From 11cecfec8e1e8b96f547a16223fb51ab26a6ad44 Mon Sep 17 00:00:00 2001 From: Maximilian Maahn Date: Sun, 28 Aug 2016 20:18:01 -0600 Subject: [PATCH 0001/1161] allow nan values in hist plot --- lib/matplotlib/axes/_axes.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 0cba4d225e36..ffdfe4fb0148 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -6150,8 +6150,8 @@ def _normalize_input(inp, ename='input'): xmax = -np.inf for xi in x: if len(xi) > 0: - xmin = min(xmin, xi.min()) - xmax = max(xmax, xi.max()) + xmin = min(xmin, np.nanmin(xi)) + xmax = max(xmax, np.nanmax(xi)) bin_range = (xmin, xmax) # hist_kwargs = dict(range=range, normed=bool(normed)) From 58625a5d347d9b7d8be8a1e1f7b1f8a5864147d7 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Mon, 16 Jan 2017 19:25:47 -0500 Subject: [PATCH 0002/1161] Use exact types for Py_BuildValue. IIRC, most ABI upcast values passed to vararg functions anyway, but there might be some other ABIs that require the exact correct type. --- src/ft2font.h | 4 +- src/ft2font_wrapper.cpp | 113 +++++++++++++++++++++------------------- 2 files changed, 60 insertions(+), 57 deletions(-) diff --git a/src/ft2font.h b/src/ft2font.h index c60d5432cff6..ee0dadcde617 100644 --- a/src/ft2font.h +++ b/src/ft2font.h @@ -18,8 +18,8 @@ extern "C" { /* By definition, FT_FIXED as 2 16bit values stored in a single long. */ -#define FIXED_MAJOR(val) (long)((val & 0xffff000) >> 16) -#define FIXED_MINOR(val) (long)(val & 0xffff) +#define FIXED_MAJOR(val) (unsigned short)((val & 0xffff000) >> 16) +#define FIXED_MINOR(val) (unsigned short)(val & 0xffff) // the FreeType string rendered into a width, height buffer class FT2Image diff --git a/src/ft2font_wrapper.cpp b/src/ft2font_wrapper.cpp index 13caffda5dc0..398bf43f11c8 100644 --- a/src/ft2font_wrapper.cpp +++ b/src/ft2font_wrapper.cpp @@ -276,7 +276,7 @@ static void PyGlyph_dealloc(PyGlyph *self) static PyObject *PyGlyph_get_bbox(PyGlyph *self, void *closure) { return Py_BuildValue( - "iiii", self->bbox.xMin, self->bbox.yMin, self->bbox.xMax, self->bbox.yMax); + "llll", self->bbox.xMin, self->bbox.yMin, self->bbox.xMax, self->bbox.yMax); } static PyTypeObject *PyGlyph_init_type(PyObject *m, PyTypeObject *type) @@ -1025,7 +1025,7 @@ static PyObject *PyFT2Font_get_sfnt(PyFT2Font *self, PyObject *args, PyObject *k } PyObject *key = Py_BuildValue( - "iiii", sfnt.platform_id, sfnt.encoding_id, sfnt.language_id, sfnt.name_id); + "HHHH", sfnt.platform_id, sfnt.encoding_id, sfnt.language_id, sfnt.name_id); if (key == NULL) { Py_DECREF(names); return NULL; @@ -1089,7 +1089,7 @@ static PyObject *PyFT2Font_get_ps_font_info(PyFT2Font *self, PyObject *args, PyO return NULL; } - return Py_BuildValue("sssssliii", + return Py_BuildValue("ssssslbhH", fontinfo.version ? fontinfo.version : "", fontinfo.notice ? fontinfo.notice : "", fontinfo.full_name ? fontinfo.full_name : "", @@ -1134,8 +1134,8 @@ static PyObject *PyFT2Font_get_sfnt_table(PyFT2Font *self, PyObject *args, PyObj switch (tag) { case 0: { char head_dict[] = - "{s:(h,h), s:(h,h), s:l, s:l, s:i, s:i," - "s:(l,l), s:(l,l), s:h, s:h, s:h, s:h, s:i, s:i, s:h, s:h, s:h}"; + "{s:(H,H), s:(H,H), s:l, s:l, s:H, s:H," + "s:(l,l), s:(l,l), s:h, s:h, s:h, s:h, s:H, s:H, s:h, s:h, s:h}"; TT_Header *t = (TT_Header *)table; return Py_BuildValue(head_dict, "version", @@ -1149,9 +1149,9 @@ static PyObject *PyFT2Font_get_sfnt_table(PyFT2Font *self, PyObject *args, PyObj "magicNumber", t->Magic_Number, "flags", - (unsigned)t->Flags, + t->Flags, "unitsPerEm", - (unsigned)t->Units_Per_EM, + t->Units_Per_EM, "created", t->Created[0], t->Created[1], @@ -1167,9 +1167,9 @@ static PyObject *PyFT2Font_get_sfnt_table(PyFT2Font *self, PyObject *args, PyObj "yMax", t->yMax, "macStyle", - (unsigned)t->Mac_Style, + t->Mac_Style, "lowestRecPPEM", - (unsigned)t->Lowest_Rec_PPEM, + t->Lowest_Rec_PPEM, "fontDirectionHint", t->Font_Direction, "indexToLocFormat", @@ -1179,64 +1179,64 @@ static PyObject *PyFT2Font_get_sfnt_table(PyFT2Font *self, PyObject *args, PyObj } case 1: { char maxp_dict[] = - "{s:(h,h), s:i, s:i, s:i, s:i, s:i, s:i," - "s:i, s:i, s:i, s:i, s:i, s:i, s:i, s:i}"; + "{s:(h,h), s:H, s:H, s:H, s:H, s:H, s:H," + "s:H, s:H, s:H, s:H, s:H, s:H, s:H, s:H}"; TT_MaxProfile *t = (TT_MaxProfile *)table; return Py_BuildValue(maxp_dict, "version", FIXED_MAJOR(t->version), FIXED_MINOR(t->version), "numGlyphs", - (unsigned)t->numGlyphs, + t->numGlyphs, "maxPoints", - (unsigned)t->maxPoints, + t->maxPoints, "maxContours", - (unsigned)t->maxContours, + t->maxContours, "maxComponentPoints", - (unsigned)t->maxCompositePoints, + t->maxCompositePoints, "maxComponentContours", - (unsigned)t->maxCompositeContours, + t->maxCompositeContours, "maxZones", - (unsigned)t->maxZones, + t->maxZones, "maxTwilightPoints", - (unsigned)t->maxTwilightPoints, + t->maxTwilightPoints, "maxStorage", - (unsigned)t->maxStorage, + t->maxStorage, "maxFunctionDefs", - (unsigned)t->maxFunctionDefs, + t->maxFunctionDefs, "maxInstructionDefs", - (unsigned)t->maxInstructionDefs, + t->maxInstructionDefs, "maxStackElements", - (unsigned)t->maxStackElements, + t->maxStackElements, "maxSizeOfInstructions", - (unsigned)t->maxSizeOfInstructions, + t->maxSizeOfInstructions, "maxComponentElements", - (unsigned)t->maxComponentElements, + t->maxComponentElements, "maxComponentDepth", - (unsigned)t->maxComponentDepth); + t->maxComponentDepth); } case 2: { #if PY3K char os_2_dict[] = - "{s:h, s:h, s:h, s:h, s:h, s:h, s:h, s:h," - "s:h, s:h, s:h, s:h, s:h, s:h, s:h, s:h, s:y#, s:(llll)," - "s:y#, s:h, s:h, s:h}"; + "{s:H, s:h, s:H, s:H, s:H, s:h, s:h, s:h," + "s:h, s:h, s:h, s:h, s:h, s:h, s:h, s:h, s:y#, s:(kkkk)," + "s:y#, s:H, s:H, s:H}"; #else char os_2_dict[] = - "{s:h, s:h, s:h, s:h, s:h, s:h, s:h, s:h," - "s:h, s:h, s:h, s:h, s:h, s:h, s:h, s:h, s:s#, s:(llll)," - "s:s#, s:h, s:h, s:h}"; + "{s:H, s:h, s:H, s:H, s:H, s:h, s:h, s:h," + "s:h, s:h, s:h, s:h, s:h, s:h, s:h, s:h, s:s#, s:(kkkk)," + "s:s#, s:H, s:H, s:H}"; #endif TT_OS2 *t = (TT_OS2 *)table; return Py_BuildValue(os_2_dict, "version", - (unsigned)t->version, + t->version, "xAvgCharWidth", t->xAvgCharWidth, "usWeightClass", - (unsigned)t->usWeightClass, + t->usWeightClass, "usWidthClass", - (unsigned)t->usWidthClass, + t->usWidthClass, "fsType", t->fsType, "ySubscriptXSize", @@ -1265,24 +1265,24 @@ static PyObject *PyFT2Font_get_sfnt_table(PyFT2Font *self, PyObject *args, PyObj t->panose, 10, "ulCharRange", - (unsigned long)t->ulUnicodeRange1, - (unsigned long)t->ulUnicodeRange2, - (unsigned long)t->ulUnicodeRange3, - (unsigned long)t->ulUnicodeRange4, + t->ulUnicodeRange1, + t->ulUnicodeRange2, + t->ulUnicodeRange3, + t->ulUnicodeRange4, "achVendID", t->achVendID, 4, "fsSelection", - (unsigned)t->fsSelection, + t->fsSelection, "fsFirstCharIndex", - (unsigned)t->usFirstCharIndex, + t->usFirstCharIndex, "fsLastCharIndex", - (unsigned)t->usLastCharIndex); + t->usLastCharIndex); } case 3: { char hhea_dict[] = - "{s:(h,h), s:h, s:h, s:h, s:i, s:h, s:h, s:h," - "s:h, s:h, s:h, s:h, s:i}"; + "{s:(H,H), s:h, s:h, s:h, s:H, s:h, s:h, s:h," + "s:h, s:h, s:h, s:h, s:H}"; TT_HoriHeader *t = (TT_HoriHeader *)table; return Py_BuildValue(hhea_dict, "version", @@ -1295,7 +1295,7 @@ static PyObject *PyFT2Font_get_sfnt_table(PyFT2Font *self, PyObject *args, PyObj "lineGap", t->Line_Gap, "advanceWidthMax", - (unsigned)t->advance_Width_Max, + t->advance_Width_Max, "minLeftBearing", t->min_Left_Side_Bearing, "minRightBearing", @@ -1311,12 +1311,12 @@ static PyObject *PyFT2Font_get_sfnt_table(PyFT2Font *self, PyObject *args, PyObj "metricDataFormat", t->metric_Data_Format, "numOfLongHorMetrics", - (unsigned)t->number_Of_HMetrics); + t->number_Of_HMetrics); } case 4: { char vhea_dict[] = - "{s:(h,h), s:h, s:h, s:h, s:i, s:h, s:h, s:h," - "s:h, s:h, s:h, s:h, s:i}"; + "{s:(H,H), s:h, s:h, s:h, s:H, s:h, s:h, s:h," + "s:h, s:h, s:h, s:h, s:H}"; TT_VertHeader *t = (TT_VertHeader *)table; return Py_BuildValue(vhea_dict, "version", @@ -1329,7 +1329,7 @@ static PyObject *PyFT2Font_get_sfnt_table(PyFT2Font *self, PyObject *args, PyObj "vertTypoLineGap", t->Line_Gap, "advanceHeightMax", - (unsigned)t->advance_Height_Max, + t->advance_Height_Max, "minTopSideBearing", t->min_Top_Side_Bearing, "minBottomSizeBearing", @@ -1345,10 +1345,10 @@ static PyObject *PyFT2Font_get_sfnt_table(PyFT2Font *self, PyObject *args, PyObj "metricDataFormat", t->metric_Data_Format, "numOfLongVerMetrics", - (unsigned)t->number_Of_VMetrics); + t->number_Of_VMetrics); } case 5: { - char post_dict[] = "{s:(h,h), s:(h,h), s:h, s:h, s:k, s:k, s:k, s:k, s:k}"; + char post_dict[] = "{s:(H,H), s:(H,H), s:h, s:h, s:k, s:k, s:k, s:k, s:k}"; TT_Postscript *t = (TT_Postscript *)table; return Py_BuildValue(post_dict, "format", @@ -1375,12 +1375,12 @@ static PyObject *PyFT2Font_get_sfnt_table(PyFT2Font *self, PyObject *args, PyObj case 6: { #if PY3K char pclt_dict[] = - "{s:(h,h), s:k, s:H, s:H, s:H, s:H, s:H, s:H, s:y, s:y, s:b, s:b, " - "s:b}"; + "{s:(H,H), s:k, s:H, s:H, s:H, s:H, s:H, s:H, s:y#, s:y#, s:b, " + "s:b, s:b}"; #else char pclt_dict[] = - "{s:(h,h), s:k, s:H, s:H, s:H, s:H, s:H, s:H, s:s, s:s, s:b, s:b, " - "s:b}"; + "{s:(H,H), s:k, s:H, s:H, s:H, s:H, s:H, s:H, s:s#, s:s#, s:b, " + "s:b, s:b}"; #endif TT_PCLT *t = (TT_PCLT *)table; return Py_BuildValue(pclt_dict, @@ -1403,8 +1403,10 @@ static PyObject *PyFT2Font_get_sfnt_table(PyFT2Font *self, PyObject *args, PyObj t->SymbolSet, "typeFace", t->TypeFace, + 16, "characterComplement", t->CharacterComplement, + 8, "strokeWeight", t->StrokeWeight, "widthType", @@ -1527,7 +1529,8 @@ static PyObject *PyFT2Font_get_bbox(PyFT2Font *self, void *closure) { FT_BBox *bbox = &(self->x->get_face()->bbox); - return Py_BuildValue("iiii", bbox->xMin, bbox->yMin, bbox->xMax, bbox->yMax); + return Py_BuildValue("llll", + bbox->xMin, bbox->yMin, bbox->xMax, bbox->yMax); } static PyObject *PyFT2Font_ascender(PyFT2Font *self, void *closure) From ea69e038d026c6272a7af0a309dde5a0606d12ae Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Fri, 27 Jan 2017 04:07:59 -0500 Subject: [PATCH 0003/1161] Fix definition of FIXED_MAJOR. It was masking the wrong bits, but fortunately, we never seem to use this value for anything. --- src/ft2font.h | 2 +- src/ft2font_wrapper.cpp | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/ft2font.h b/src/ft2font.h index ee0dadcde617..072428ceedbe 100644 --- a/src/ft2font.h +++ b/src/ft2font.h @@ -18,7 +18,7 @@ extern "C" { /* By definition, FT_FIXED as 2 16bit values stored in a single long. */ -#define FIXED_MAJOR(val) (unsigned short)((val & 0xffff000) >> 16) +#define FIXED_MAJOR(val) (signed short)((val & 0xffff0000) >> 16) #define FIXED_MINOR(val) (unsigned short)(val & 0xffff) // the FreeType string rendered into a width, height buffer diff --git a/src/ft2font_wrapper.cpp b/src/ft2font_wrapper.cpp index 398bf43f11c8..0b22fdef9c30 100644 --- a/src/ft2font_wrapper.cpp +++ b/src/ft2font_wrapper.cpp @@ -1134,7 +1134,7 @@ static PyObject *PyFT2Font_get_sfnt_table(PyFT2Font *self, PyObject *args, PyObj switch (tag) { case 0: { char head_dict[] = - "{s:(H,H), s:(H,H), s:l, s:l, s:H, s:H," + "{s:(h,H), s:(h,H), s:l, s:l, s:H, s:H," "s:(l,l), s:(l,l), s:h, s:h, s:h, s:h, s:H, s:H, s:h, s:h, s:h}"; TT_Header *t = (TT_Header *)table; return Py_BuildValue(head_dict, @@ -1179,7 +1179,7 @@ static PyObject *PyFT2Font_get_sfnt_table(PyFT2Font *self, PyObject *args, PyObj } case 1: { char maxp_dict[] = - "{s:(h,h), s:H, s:H, s:H, s:H, s:H, s:H," + "{s:(h,H), s:H, s:H, s:H, s:H, s:H, s:H," "s:H, s:H, s:H, s:H, s:H, s:H, s:H, s:H}"; TT_MaxProfile *t = (TT_MaxProfile *)table; return Py_BuildValue(maxp_dict, @@ -1281,7 +1281,7 @@ static PyObject *PyFT2Font_get_sfnt_table(PyFT2Font *self, PyObject *args, PyObj } case 3: { char hhea_dict[] = - "{s:(H,H), s:h, s:h, s:h, s:H, s:h, s:h, s:h," + "{s:(h,H), s:h, s:h, s:h, s:H, s:h, s:h, s:h," "s:h, s:h, s:h, s:h, s:H}"; TT_HoriHeader *t = (TT_HoriHeader *)table; return Py_BuildValue(hhea_dict, @@ -1315,7 +1315,7 @@ static PyObject *PyFT2Font_get_sfnt_table(PyFT2Font *self, PyObject *args, PyObj } case 4: { char vhea_dict[] = - "{s:(H,H), s:h, s:h, s:h, s:H, s:h, s:h, s:h," + "{s:(h,H), s:h, s:h, s:h, s:H, s:h, s:h, s:h," "s:h, s:h, s:h, s:h, s:H}"; TT_VertHeader *t = (TT_VertHeader *)table; return Py_BuildValue(vhea_dict, @@ -1348,7 +1348,7 @@ static PyObject *PyFT2Font_get_sfnt_table(PyFT2Font *self, PyObject *args, PyObj t->number_Of_VMetrics); } case 5: { - char post_dict[] = "{s:(H,H), s:(H,H), s:h, s:h, s:k, s:k, s:k, s:k, s:k}"; + char post_dict[] = "{s:(h,H), s:(h,H), s:h, s:h, s:k, s:k, s:k, s:k, s:k}"; TT_Postscript *t = (TT_Postscript *)table; return Py_BuildValue(post_dict, "format", @@ -1375,11 +1375,11 @@ static PyObject *PyFT2Font_get_sfnt_table(PyFT2Font *self, PyObject *args, PyObj case 6: { #if PY3K char pclt_dict[] = - "{s:(H,H), s:k, s:H, s:H, s:H, s:H, s:H, s:H, s:y#, s:y#, s:b, " + "{s:(h,H), s:k, s:H, s:H, s:H, s:H, s:H, s:H, s:y#, s:y#, s:b, " "s:b, s:b}"; #else char pclt_dict[] = - "{s:(H,H), s:k, s:H, s:H, s:H, s:H, s:H, s:H, s:s#, s:s#, s:b, " + "{s:(h,H), s:k, s:H, s:H, s:H, s:H, s:H, s:H, s:s#, s:s#, s:b, " "s:b, s:b}"; #endif TT_PCLT *t = (TT_PCLT *)table; From 28b37c15148791ac90d3a466867f8f594f065362 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Wed, 30 Aug 2017 20:54:04 -0400 Subject: [PATCH 0004/1161] FIX: prevent the canvas from jump sizes due to DPI changes closes #8736 thanks to @rayosborn --- lib/matplotlib/backends/backend_qt5.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/backends/backend_qt5.py b/lib/matplotlib/backends/backend_qt5.py index a6cc3b686554..a61de4f31e06 100644 --- a/lib/matplotlib/backends/backend_qt5.py +++ b/lib/matplotlib/backends/backend_qt5.py @@ -509,8 +509,7 @@ def __init__(self, canvas, num): # requested size: cs = canvas.sizeHint() sbs = self.window.statusBar().sizeHint() - self._status_and_tool_height = tbs_height + sbs.height() - height = cs.height() + self._status_and_tool_height + height = cs.height() + tbs_height + sbs.height() self.window.resize(cs.width(), height) self.window.setCentralWidget(self.canvas) @@ -554,8 +553,11 @@ def _get_toolbar(self, canvas, parent): return toolbar def resize(self, width, height): - 'set the canvas size in pixels' - self.window.resize(width, height + self._status_and_tool_height) + # these are Qt methods so they return sizes in 'virtual' pixels + # so we do not need to worry about dpi scaling here. + extra_width = self.window.width() - self.canvas.width() + extra_height = self.window.height() - self.canvas.height() + self.window.resize(width+extra_width, height+extra_height) def show(self): self.window.show() From 293d11cfcf37c6a4d23718c38f1fa9410ec2a834 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Wed, 25 Oct 2017 02:01:01 -0700 Subject: [PATCH 0005/1161] Remove LaTeX checking in setup.py. We already have runtime tests for LaTeX and associated dependencies; the check in setup.py is not used for anything. --- setup.py | 5 ---- setupext.py | 69 ----------------------------------------------------- 2 files changed, 74 deletions(-) diff --git a/setup.py b/setup.py index 9a60d269cf2c..0b1b3c5e8191 100644 --- a/setup.py +++ b/setup.py @@ -105,11 +105,6 @@ setupext.BackendAgg(), setupext.BackendCairo(), setupext.Windowing(), - 'Optional LaTeX dependencies', - setupext.DviPng(), - setupext.Ghostscript(), - setupext.LaTeX(), - setupext.PdfToPs(), 'Optional package data', setupext.Dlls(), ] diff --git a/setupext.py b/setupext.py index c56ee47cd30e..c962e47cd046 100644 --- a/setupext.py +++ b/setupext.py @@ -2181,75 +2181,6 @@ def check_requirements(self): return "cairocffi version %s" % cairocffi.version -class DviPng(SetupPackage): - name = "dvipng" - optional = True - - def check(self): - try: - output = check_output('dvipng -version', shell=True, - stderr=subprocess.STDOUT) - return "version %s" % output.splitlines()[1].decode().split()[-1] - except (IndexError, ValueError, subprocess.CalledProcessError): - raise CheckFailed() - - -class Ghostscript(SetupPackage): - name = "ghostscript" - optional = True - - def check(self): - if sys.platform == 'win32': - # mgs is the name in miktex - gs_execs = ['gswin32c', 'gswin64c', 'mgs', 'gs'] - else: - gs_execs = ['gs'] - for gs_exec in gs_execs: - try: - command = gs_exec + ' --version' - output = check_output(command, shell=True, - stderr=subprocess.STDOUT) - return "version %s" % output.decode()[:-1] - except (IndexError, ValueError, subprocess.CalledProcessError): - pass - - raise CheckFailed() - - -class LaTeX(SetupPackage): - name = "latex" - optional = True - - def check(self): - try: - output = check_output('latex -version', shell=True, - stderr=subprocess.STDOUT) - line = output.splitlines()[0].decode() - pattern = '(3\.1\d+)|(MiKTeX \d+.\d+)' - match = re.search(pattern, line) - return "version %s" % match.group(0) - except (IndexError, ValueError, AttributeError, subprocess.CalledProcessError): - raise CheckFailed() - - -class PdfToPs(SetupPackage): - name = "pdftops" - optional = True - - def check(self): - try: - output = check_output('pdftops -v', shell=True, - stderr=subprocess.STDOUT) - for line in output.splitlines(): - line = line.decode() - if 'version' in line: - return "version %s" % line.split()[2] - except (IndexError, ValueError, subprocess.CalledProcessError): - pass - - raise CheckFailed() - - class OptionalPackageData(OptionalPackage): config_category = "package_data" From 3a50190327942de87d2d5856759d6ebe5bbb55e0 Mon Sep 17 00:00:00 2001 From: Kjell Le Date: Tue, 26 Dec 2017 15:15:19 +0100 Subject: [PATCH 0006/1161] Reset extents in RectangleSelector when not interactive on press. --- lib/matplotlib/widgets.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/matplotlib/widgets.py b/lib/matplotlib/widgets.py index f551abad778c..d31d109fa9de 100644 --- a/lib/matplotlib/widgets.py +++ b/lib/matplotlib/widgets.py @@ -2144,6 +2144,11 @@ def _press(self, event): # Clear previous rectangle before drawing new rectangle. self.update() + if not self.interactive: + x = event.xdata + y = event.ydata + self.extents = x, x, y, y + self.set_visible(self.visible) def _release(self, event): From c825652735443eda187b783da41dd56dcb204c50 Mon Sep 17 00:00:00 2001 From: Kjell Le Date: Wed, 27 Dec 2017 02:01:03 +0100 Subject: [PATCH 0007/1161] Fix stay_span to reset onclick in SpanSelector. --- lib/matplotlib/widgets.py | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/lib/matplotlib/widgets.py b/lib/matplotlib/widgets.py index c5618b126c48..d606efe14016 100644 --- a/lib/matplotlib/widgets.py +++ b/lib/matplotlib/widgets.py @@ -1820,6 +1820,8 @@ def _press(self, event): self.pressv = xdata else: self.pressv = ydata + + self._set_span_xy(event) return False def _release(self, event): @@ -1858,6 +1860,26 @@ def _onmove(self, event): """on motion notify event""" if self.pressv is None: return + + self._set_span_xy(event) + + if self.onmove_callback is not None: + vmin = self.pressv + xdata, ydata = self._get_data(event) + if self.direction == 'horizontal': + vmax = xdata or self.prev[0] + else: + vmax = ydata or self.prev[1] + + if vmin > vmax: + vmin, vmax = vmax, vmin + self.onmove_callback(vmin, vmax) + + self.update() + return False + + def _set_span_xy(self, event): + """Setting the span coordinates""" x, y = self._get_data(event) if x is None: return @@ -1878,21 +1900,6 @@ def _onmove(self, event): self.rect.set_y(minv) self.rect.set_height(maxv - minv) - if self.onmove_callback is not None: - vmin = self.pressv - xdata, ydata = self._get_data(event) - if self.direction == 'horizontal': - vmax = xdata or self.prev[0] - else: - vmax = ydata or self.prev[1] - - if vmin > vmax: - vmin, vmax = vmax, vmin - self.onmove_callback(vmin, vmax) - - self.update() - return False - class ToolHandles(object): """Control handles for canvas tools. From 895e4d0ea73e22a11debf31bacd5ce45291ffe52 Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Sat, 25 Nov 2017 09:14:35 -0800 Subject: [PATCH 0008/1161] ENH: make get_position apply aspect --- lib/matplotlib/axes/_base.py | 1 + lib/matplotlib/colorbar.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index f7819aaf9fd8..b7eff33f1985 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -859,6 +859,7 @@ def get_position(self, original=False): if original: return self._originalPosition.frozen() else: + self.apply_aspect() return self._position.frozen() def set_position(self, pos, which='both'): diff --git a/lib/matplotlib/colorbar.py b/lib/matplotlib/colorbar.py index c0a56570a542..f1a8e2c0c610 100644 --- a/lib/matplotlib/colorbar.py +++ b/lib/matplotlib/colorbar.py @@ -1164,7 +1164,7 @@ def make_axes(parents, location=None, orientation=None, fraction=0.15, # transform each of the axes in parents using the new transform for ax in parents: - new_posn = shrinking_trans.transform(ax.get_position()) + new_posn = shrinking_trans.transform(ax.get_position(original=True)) new_posn = mtransforms.Bbox(new_posn) ax.set_position(new_posn) if parent_anchor is not False: From 0f6aa54ebff36ca450bfd65695fabf8ae992cf31 Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Sat, 25 Nov 2017 15:40:32 -0800 Subject: [PATCH 0009/1161] TST: test that get_position gives new axes position if diff aspect --- lib/matplotlib/tests/test_axes.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index 6f3d513e4fbf..3c21dc1d850b 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -24,7 +24,8 @@ import matplotlib.markers as mmarkers import matplotlib.patches as mpatches import matplotlib.colors as mcolors -from numpy.testing import assert_allclose, assert_array_equal +from numpy.testing import ( + assert_allclose, assert_array_equal, assert_array_almost_equal) from matplotlib.cbook import ( IgnoredKeywordWarning, MatplotlibDeprecationWarning) from matplotlib.cbook._backports import broadcast_to @@ -4828,6 +4829,12 @@ def test_square_plot(): xlim, ylim = ax.get_xlim(), ax.get_ylim() assert np.diff(xlim) == np.diff(ylim) assert ax.get_aspect() == 'equal' + assert_array_almost_equal( + ax.get_position(original=True).extents, + np.array((0.125, 0.1, 0.9, 0.9))) + assert_array_almost_equal( + ax.get_position(original=False).extents, + np.array((0.2125, 0.1, 0.8125, 0.9))) def test_no_None(): From d260cca00dfa192b190b4ea1d1faf714a0673ca3 Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Sat, 25 Nov 2017 15:51:35 -0800 Subject: [PATCH 0010/1161] DOC: document API change of ax.get_position --- doc/api/api_changes/2017-11-25-JMK.rst | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 doc/api/api_changes/2017-11-25-JMK.rst diff --git a/doc/api/api_changes/2017-11-25-JMK.rst b/doc/api/api_changes/2017-11-25-JMK.rst new file mode 100644 index 000000000000..333e7c29b8d6 --- /dev/null +++ b/doc/api/api_changes/2017-11-25-JMK.rst @@ -0,0 +1,8 @@ +`.Axes.get_position` now returns actual position if aspect changed +------------------------------------------------------------------ + +`.Axes.get_position` used to return the original position unless a +draw had been triggered or `.Axes.apply_aspect` had been called, even +if the kwarg *original* was set to *False*. Now `.Axes.apply_aspect` +is called so ``ax.get_position()`` will return the new modified position. +To get the old behaviour, ``ax.get_position(original=True)``. From 6d414eec14ca44ee779bf6c7d0bb86d059e980ff Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Tue, 9 Jan 2018 21:05:06 -0500 Subject: [PATCH 0011/1161] DOC: put SHA of source used to build docs in footer --- doc/_templates/layout.html | 11 +++++++---- doc/conf.py | 7 +++++++ 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/doc/_templates/layout.html b/doc/_templates/layout.html index af6d6bef38bb..4a729fa4a042 100644 --- a/doc/_templates/layout.html +++ b/doc/_templates/layout.html @@ -229,13 +229,16 @@

{{ _('Navigation') }}

endtrans %} {%- endif %} {%- endif %} +
{%- if last_updated %} - {% trans last_updated=last_updated|e %}Last updated on {{ last_updated -}}.{% endtrans %} + {% trans last_updated=last_updated|e %}Last updated on {{ last_updated }}.{% endtrans %} {%- endif %} {%- if show_sphinx %} - {% trans sphinx_version=sphinx_version|e %}Created using Sphinx {{ sphinx_version }}.{% endtrans %} + {% trans sphinx_version=sphinx_version|e %}Created using + Sphinx {{ sphinx_version }}.{% endtrans %} + {%- endif %} + {%- if sha %} + Doc version {{ sha }}. {%- endif %} {%- endblock %} diff --git a/doc/conf.py b/doc/conf.py index c89c9d2c773a..f3cf96f39576 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -151,11 +151,18 @@ def _check_deps(): master_doc = 'contents' # General substitutions. +from matplotlib.compat.subprocess import check_output +SHA = check_output(['git', 'describe', '--dirty']).decode('utf-8').strip() + +html_context = {'sha': SHA} + project = 'Matplotlib' copyright = ('2002 - 2012 John Hunter, Darren Dale, Eric Firing, ' 'Michael Droettboom and the Matplotlib development ' 'team; 2012 - 2017 The Matplotlib development team') + + # The default replacements for |version| and |release|, also used in various # other places throughout the built documents. # From ca5b2e07ec183f7c1252fd3cfb3df58befa05bc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B9=20=D0=9F=D0=B0=D1=80?= =?UTF-8?q?=D0=B0=D0=BC=D0=BE=D0=BD=D0=BE=D0=B2?= Date: Thu, 11 Jan 2018 13:08:37 +0300 Subject: [PATCH 0012/1161] PowerNorm: do not clip negative values --- lib/matplotlib/colors.py | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/lib/matplotlib/colors.py b/lib/matplotlib/colors.py index 84d4bbcf1fb0..356e523a91a5 100644 --- a/lib/matplotlib/colors.py +++ b/lib/matplotlib/colors.py @@ -53,7 +53,6 @@ from collections import Sized import itertools import re -import warnings import numpy as np import matplotlib.cbook as cbook @@ -1177,7 +1176,7 @@ def autoscale_None(self, A): class PowerNorm(Normalize): """ Normalize a given value to the ``[0, 1]`` interval with a power-law - scaling. This will clip any negative data points to 0. + scaling. """ def __init__(self, gamma, vmin=None, vmax=None, clip=False): Normalize.__init__(self, vmin, vmax, clip) @@ -1197,7 +1196,6 @@ def __call__(self, value, clip=None): elif vmin == vmax: result.fill(0) else: - res_mask = result.data < 0 if clip: mask = np.ma.getmask(result) result = np.ma.array(np.clip(result.filled(vmax), vmin, vmax), @@ -1208,7 +1206,6 @@ def __call__(self, value, clip=None): resdat /= (vmax - vmin) ** gamma result = np.ma.array(resdat, mask=result.mask, copy=False) - result[res_mask] = 0 if is_scalar: result = result[0] return result @@ -1230,10 +1227,6 @@ def autoscale(self, A): Set *vmin*, *vmax* to min, max of *A*. """ self.vmin = np.ma.min(A) - if self.vmin < 0: - self.vmin = 0 - warnings.warn("Power-law scaling on negative values is " - "ill-defined, clamping to 0.") self.vmax = np.ma.max(A) def autoscale_None(self, A): @@ -1241,10 +1234,6 @@ def autoscale_None(self, A): A = np.asanyarray(A) if self.vmin is None and A.size: self.vmin = A.min() - if self.vmin < 0: - self.vmin = 0 - warnings.warn("Power-law scaling on negative values is " - "ill-defined, clamping to 0.") if self.vmax is None and A.size: self.vmax = A.max() From 5a1ed892eadf86d606f8e5a9dbc244c107ac9a3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B9=20=D0=9F=D0=B0=D1=80?= =?UTF-8?q?=D0=B0=D0=BC=D0=BE=D0=BD=D0=BE=D0=B2?= Date: Mon, 15 Jan 2018 12:11:29 +0300 Subject: [PATCH 0013/1161] Fix PowerNorm description --- lib/matplotlib/colors.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/colors.py b/lib/matplotlib/colors.py index 356e523a91a5..c3c779b38266 100644 --- a/lib/matplotlib/colors.py +++ b/lib/matplotlib/colors.py @@ -1175,8 +1175,8 @@ def autoscale_None(self, A): class PowerNorm(Normalize): """ - Normalize a given value to the ``[0, 1]`` interval with a power-law - scaling. + Linearly map a given value to the 0-1 range and then apply + a power-law normalization over that range. """ def __init__(self, gamma, vmin=None, vmax=None, clip=False): Normalize.__init__(self, vmin, vmax, clip) From fd7c87d0b41769563a1f03c07ffb8c15db2fd730 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Mon, 22 Jan 2018 19:39:22 -0800 Subject: [PATCH 0014/1161] Invalidate texmanager cache when any text.latex.* rc changes. Previously, changes to the text.latex.unicode or text.latex.preview rcParams (which do change the autogenerated preamble) would not invalidate the tex cache. --- lib/matplotlib/texmanager.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/texmanager.py b/lib/matplotlib/texmanager.py index 343d0d000306..a40192ab5950 100644 --- a/lib/matplotlib/texmanager.py +++ b/lib/matplotlib/texmanager.py @@ -126,9 +126,9 @@ class TexManager(object): 'computer modern typewriter': ('cmtt', '')} _rc_cache = None - _rc_cache_keys = (('text.latex.preamble', ) + - tuple(['font.' + n for n in ('family', ) + - font_families])) + _rc_cache_keys = ( + ('text.latex.preamble', 'text.latex.unicode', 'text.latex.preview', + 'font.family') + tuple('font.' + n for n in font_families)) def __init__(self): From df16efc932e87449d8fa5c6d09d6a0cd18cda993 Mon Sep 17 00:00:00 2001 From: HHest Date: Thu, 25 Jan 2018 09:45:40 +0100 Subject: [PATCH 0015/1161] Fixed scaling when lower power limit = upper <> 0 --- lib/matplotlib/ticker.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/ticker.py b/lib/matplotlib/ticker.py index c91e78b6ae85..e2dd78059ce5 100644 --- a/lib/matplotlib/ticker.py +++ b/lib/matplotlib/ticker.py @@ -727,7 +727,10 @@ def _set_orderOfMagnitude(self, range): oom = 0 else: oom = math.floor(math.log10(val)) - if oom <= self._powerlimits[0]: + if self._powerlimits[0]==self._powerlimits[1] and self._powerlimits[0] != 0: + # fixed scaling when lower power limit = upper <> 0. + self.orderOfMagnitude = self._powerlimits[0] + elif oom <= self._powerlimits[0]: self.orderOfMagnitude = oom elif oom >= self._powerlimits[1]: self.orderOfMagnitude = oom From 45e1bf3a1cd8157c7c3c9f1ece8f174f1c0df147 Mon Sep 17 00:00:00 2001 From: HHest Date: Thu, 25 Jan 2018 10:03:39 +0100 Subject: [PATCH 0016/1161] Update doc with fixed scaling feature --- lib/matplotlib/axes/_base.py | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 259d70064d48..cce6f4987a25 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -2672,6 +2672,7 @@ def ticklabel_format(self, **kwargs): be used for numbers outside the range 10`m`:sup: to 10`n`:sup:. Use (0,0) to include all numbers. + Use (m,m) to fix scaling to 10`m`:sup:. *useOffset* [ bool | offset ]; if True, the offset will be calculated as needed; if False, no offset will be used; if a From d001033dafd0cf4437cb38b046255ae440c37521 Mon Sep 17 00:00:00 2001 From: HHest Date: Thu, 25 Jan 2018 15:04:27 +0100 Subject: [PATCH 0017/1161] Fix line length and PEP spacing complaints --- lib/matplotlib/ticker.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/ticker.py b/lib/matplotlib/ticker.py index e2dd78059ce5..b59117719f2c 100644 --- a/lib/matplotlib/ticker.py +++ b/lib/matplotlib/ticker.py @@ -727,7 +727,7 @@ def _set_orderOfMagnitude(self, range): oom = 0 else: oom = math.floor(math.log10(val)) - if self._powerlimits[0]==self._powerlimits[1] and self._powerlimits[0] != 0: + if self._powerlimits[0] == self._powerlimits[1] != 0: # fixed scaling when lower power limit = upper <> 0. self.orderOfMagnitude = self._powerlimits[0] elif oom <= self._powerlimits[0]: From b12202a5cbf0ce8b661f8f826ded27254cd5a1fa Mon Sep 17 00:00:00 2001 From: HHest Date: Thu, 25 Jan 2018 18:09:49 +0100 Subject: [PATCH 0018/1161] move fixed-scaling check higher up per jklymak suggestion. --- lib/matplotlib/ticker.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/matplotlib/ticker.py b/lib/matplotlib/ticker.py index b59117719f2c..da9d3c6489a8 100644 --- a/lib/matplotlib/ticker.py +++ b/lib/matplotlib/ticker.py @@ -711,10 +711,14 @@ def _compute_offset(self): def _set_orderOfMagnitude(self, range): # if scientific notation is to be used, find the appropriate exponent # if using an numerical offset, find the exponent after applying the - # offset + # offset. When lower power limit = upper <> 0, use provided exponent. if not self._scientific: self.orderOfMagnitude = 0 return + if self._powerlimits[0] == self._powerlimits[1] != 0: + # fixed scaling when lower power limit = upper <> 0. + self.orderOfMagnitude = self._powerlimits[0] + return locs = np.abs(self.locs) if self.offset: oom = math.floor(math.log10(range)) @@ -727,10 +731,7 @@ def _set_orderOfMagnitude(self, range): oom = 0 else: oom = math.floor(math.log10(val)) - if self._powerlimits[0] == self._powerlimits[1] != 0: - # fixed scaling when lower power limit = upper <> 0. - self.orderOfMagnitude = self._powerlimits[0] - elif oom <= self._powerlimits[0]: + if oom <= self._powerlimits[0]: self.orderOfMagnitude = oom elif oom >= self._powerlimits[1]: self.orderOfMagnitude = oom From 130f25777fc0e532cb4d31740560008cd1f35586 Mon Sep 17 00:00:00 2001 From: HHest Date: Thu, 25 Jan 2018 20:14:25 +0100 Subject: [PATCH 0019/1161] whats new for fixed-scaling of axis --- .../next_whats_new/2018_01_25_scale_axis_by_factor.rst | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 doc/users/next_whats_new/2018_01_25_scale_axis_by_factor.rst diff --git a/doc/users/next_whats_new/2018_01_25_scale_axis_by_factor.rst b/doc/users/next_whats_new/2018_01_25_scale_axis_by_factor.rst new file mode 100644 index 000000000000..956374e7a9e2 --- /dev/null +++ b/doc/users/next_whats_new/2018_01_25_scale_axis_by_factor.rst @@ -0,0 +1,6 @@ +Ability to scale axis by a fixed order of magnitude +--------------------------------------------------- + +To scale an axis by a fixed order of magnitude, set the *scilimits* argument +of ``Axes.ticklabel_format`` to the same lower and upper limits. Say to scale +the y axis by a million (1e6), use ``ax.ticklabel_format(style='sci', scilimits=(6, 6), axis='y')`` From 482e07a34d16e979de7808096bbbcc85e2043d4b Mon Sep 17 00:00:00 2001 From: HHest Date: Fri, 26 Jan 2018 15:15:45 +0100 Subject: [PATCH 0020/1161] Test for several ScalarFormatter methods --- lib/matplotlib/tests/test_ticker.py | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/tests/test_ticker.py b/lib/matplotlib/tests/test_ticker.py index 32206a0c6168..01fbadf74692 100644 --- a/lib/matplotlib/tests/test_ticker.py +++ b/lib/matplotlib/tests/test_ticker.py @@ -227,6 +227,17 @@ class TestScalarFormatter(object): ] use_offset_data = [True, False] + + scilimits_data = [ + (False, (0, 0), (10.0, 20.0), 0), + (True, (-2, 2), (-10, 20), 0), + (True, (-2, 2), (-20, 10), 0), + (True, (-2, 2), (-110, 120), 2), + (True, (-2, 2), (-120, 110), 2), + (True, (-2, 2), (-.001, 0.002), -3), + (True, (0, 0), (-1e5, 1e5), 5), + (True, (6, 6), (-1e5, 1e5), 6), + ] @pytest.mark.parametrize('left, right, offset', offset_data) def test_offset_value(self, left, right, offset): @@ -257,7 +268,17 @@ def test_use_offset(self, use_offset): tmp_form = mticker.ScalarFormatter() assert use_offset == tmp_form.get_useOffset() - + @pytest.mark.parametrize('sci_type, scilimits, lim, orderOfMag', scilimits_data) + def test_scilimits(self, sci_type, scilimits, lim, orderOfMag): + tmp_form = mticker.ScalarFormatter() + tmp_form.set_scientific(sci_type) + tmp_form.set_powerlimits(scilimits) + fig, ax = plt.subplots() + ax.yaxis.set_major_formatter(tmp_form) + ax.set_ylim(*lim) + tmp_form.set_locs(ax.yaxis.get_majorticklocs()) + assert orderOfMag == tmp_form.orderOfMagnitude + class FakeAxis(object): """Allow Formatter to be called without having a "full" plot set up.""" def __init__(self, vmin=1, vmax=10): From 38af9db8e47471add1f0fa88c22f5809fe4736fa Mon Sep 17 00:00:00 2001 From: HHest Date: Fri, 26 Jan 2018 16:50:25 +0100 Subject: [PATCH 0021/1161] Fix PEP8 errors --- lib/matplotlib/tests/test_ticker.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/tests/test_ticker.py b/lib/matplotlib/tests/test_ticker.py index 01fbadf74692..c374c1f3f95b 100644 --- a/lib/matplotlib/tests/test_ticker.py +++ b/lib/matplotlib/tests/test_ticker.py @@ -227,7 +227,7 @@ class TestScalarFormatter(object): ] use_offset_data = [True, False] - + scilimits_data = [ (False, (0, 0), (10.0, 20.0), 0), (True, (-2, 2), (-10, 20), 0), @@ -268,7 +268,8 @@ def test_use_offset(self, use_offset): tmp_form = mticker.ScalarFormatter() assert use_offset == tmp_form.get_useOffset() - @pytest.mark.parametrize('sci_type, scilimits, lim, orderOfMag', scilimits_data) + @pytest.mark.parametrize( + 'sci_type, scilimits, lim, orderOfMag', scilimits_data) def test_scilimits(self, sci_type, scilimits, lim, orderOfMag): tmp_form = mticker.ScalarFormatter() tmp_form.set_scientific(sci_type) @@ -278,7 +279,8 @@ def test_scilimits(self, sci_type, scilimits, lim, orderOfMag): ax.set_ylim(*lim) tmp_form.set_locs(ax.yaxis.get_majorticklocs()) assert orderOfMag == tmp_form.orderOfMagnitude - + + class FakeAxis(object): """Allow Formatter to be called without having a "full" plot set up.""" def __init__(self, vmin=1, vmax=10): From c23ef3bd08e56b59acadd8ab799e583c9d41cd60 Mon Sep 17 00:00:00 2001 From: HHest Date: Fri, 26 Jan 2018 23:05:29 +0100 Subject: [PATCH 0022/1161] Take scilimits = single integer for fixed-scaling --- lib/matplotlib/axes/_base.py | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index cce6f4987a25..79f9c9cfcb47 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -2667,12 +2667,14 @@ def ticklabel_format(self, **kwargs): ============== ========================================= *style* [ 'sci' (or 'scientific') | 'plain' ] plain turns off scientific notation - *scilimits* (m, n), pair of integers; if *style* + *scilimits* [ (m, n) | m ], a pair of integers or + a single integer; if *style* is 'sci', scientific notation will be used for numbers outside the range 10`m`:sup: to 10`n`:sup:. Use (0,0) to include all numbers. - Use (m,m) to fix scaling to 10`m`:sup:. + Use a single integer m, or equivalently + (m,m) to fix the scale to 10`m`:sup:. *useOffset* [ bool | offset ]; if True, the offset will be calculated as needed; if False, no offset will be used; if a @@ -2704,11 +2706,17 @@ def ticklabel_format(self, **kwargs): useMathText = kwargs.pop('useMathText', None) axis = kwargs.pop('axis', 'both').lower() if scilimits is not None: - try: - m, n = scilimits - m + n + 1 # check that both are numbers - except (ValueError, TypeError): - raise ValueError("scilimits must be a sequence of 2 integers") + if type(scilimits) == int: + m = n = scilimits + else: + try: + m, n = scilimits + m + n + 1 # check that both are numbers + except (ValueError, TypeError): + raise ValueError( + "scilimits must be a single integer or " + + "a sequence of 2 integers" + ) if style[:3] == 'sci': sb = True elif style == 'plain': From d2a176946869a7b3922844c927013950a053e1fc Mon Sep 17 00:00:00 2001 From: HHest Date: Fri, 26 Jan 2018 23:18:01 +0100 Subject: [PATCH 0023/1161] Update for scilimits=single int --- doc/users/next_whats_new/2018_01_25_scale_axis_by_factor.rst | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/users/next_whats_new/2018_01_25_scale_axis_by_factor.rst b/doc/users/next_whats_new/2018_01_25_scale_axis_by_factor.rst index 956374e7a9e2..250fb23d15b5 100644 --- a/doc/users/next_whats_new/2018_01_25_scale_axis_by_factor.rst +++ b/doc/users/next_whats_new/2018_01_25_scale_axis_by_factor.rst @@ -2,5 +2,6 @@ Ability to scale axis by a fixed order of magnitude --------------------------------------------------- To scale an axis by a fixed order of magnitude, set the *scilimits* argument -of ``Axes.ticklabel_format`` to the same lower and upper limits. Say to scale -the y axis by a million (1e6), use ``ax.ticklabel_format(style='sci', scilimits=(6, 6), axis='y')`` +of ``Axes.ticklabel_format`` to the desired order of magnitude. Say to scale +the y axis by a million (1e6), use ``ax.ticklabel_format(style='sci', scilimits=6, axis='y')`` +[or equivalently ``scilimits=(6, 6)``]. From 01fb668845c36420d102c2cdca02dcb2d61d58c4 Mon Sep 17 00:00:00 2001 From: HHest Date: Sat, 27 Jan 2018 16:24:14 +0100 Subject: [PATCH 0024/1161] removed trailing space for pep8 --- lib/matplotlib/axes/_base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 79f9c9cfcb47..d46731d77bc2 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -2667,7 +2667,7 @@ def ticklabel_format(self, **kwargs): ============== ========================================= *style* [ 'sci' (or 'scientific') | 'plain' ] plain turns off scientific notation - *scilimits* [ (m, n) | m ], a pair of integers or + *scilimits* [ (m, n) | m ], a pair of integers or a single integer; if *style* is 'sci', scientific notation will be used for numbers outside the range From 3260e7079b0f90c3b4e8a851ceeebf5855bdb67f Mon Sep 17 00:00:00 2001 From: HHest Date: Tue, 30 Jan 2018 08:15:04 +0100 Subject: [PATCH 0025/1161] Revert the scilimits = single int change per agreement with tacaswell. --- lib/matplotlib/axes/_base.py | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index d46731d77bc2..bb2b2b83c71e 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -2667,14 +2667,13 @@ def ticklabel_format(self, **kwargs): ============== ========================================= *style* [ 'sci' (or 'scientific') | 'plain' ] plain turns off scientific notation - *scilimits* [ (m, n) | m ], a pair of integers or - a single integer; if *style* + *scilimits* (m, n), pair of integers; if *style* is 'sci', scientific notation will be used for numbers outside the range 10`m`:sup: to 10`n`:sup:. Use (0,0) to include all numbers. - Use a single integer m, or equivalently - (m,m) to fix the scale to 10`m`:sup:. + Use (m,m) where m <> 0 to fix the order + of magnitude to 10`m`:sup:. *useOffset* [ bool | offset ]; if True, the offset will be calculated as needed; if False, no offset will be used; if a @@ -2706,17 +2705,11 @@ def ticklabel_format(self, **kwargs): useMathText = kwargs.pop('useMathText', None) axis = kwargs.pop('axis', 'both').lower() if scilimits is not None: - if type(scilimits) == int: - m = n = scilimits - else: - try: - m, n = scilimits - m + n + 1 # check that both are numbers - except (ValueError, TypeError): - raise ValueError( - "scilimits must be a single integer or " + - "a sequence of 2 integers" - ) + try: + m, n = scilimits + m + n + 1 # check that both are numbers + except (ValueError, TypeError): + raise ValueError("scilimits must be a sequence of 2 integers") if style[:3] == 'sci': sb = True elif style == 'plain': From 2188177692b4522860854005a7b5777c54698697 Mon Sep 17 00:00:00 2001 From: HHest Date: Tue, 30 Jan 2018 08:26:28 +0100 Subject: [PATCH 0026/1161] Revert scilimits = single int change --- .../next_whats_new/2018_01_25_scale_axis_by_factor.rst | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/doc/users/next_whats_new/2018_01_25_scale_axis_by_factor.rst b/doc/users/next_whats_new/2018_01_25_scale_axis_by_factor.rst index 250fb23d15b5..963716f9440d 100644 --- a/doc/users/next_whats_new/2018_01_25_scale_axis_by_factor.rst +++ b/doc/users/next_whats_new/2018_01_25_scale_axis_by_factor.rst @@ -1,7 +1,6 @@ Ability to scale axis by a fixed order of magnitude --------------------------------------------------- -To scale an axis by a fixed order of magnitude, set the *scilimits* argument -of ``Axes.ticklabel_format`` to the desired order of magnitude. Say to scale -the y axis by a million (1e6), use ``ax.ticklabel_format(style='sci', scilimits=6, axis='y')`` -[or equivalently ``scilimits=(6, 6)``]. +To scale an axis by a fixed order of magnitude, set the *scilimits* argument of +``Axes.ticklabel_format`` to the same (non-zero) lower and upper limits. Say to scale +the y axis by a million (1e6), use ``ax.ticklabel_format(style='sci', scilimits=(6, 6), axis='y')``. From 50a969564e87795e157a686f0f784d563cf21ace Mon Sep 17 00:00:00 2001 From: HHest Date: Tue, 30 Jan 2018 08:49:22 +0100 Subject: [PATCH 0027/1161] Add explanation linking to previous behavior. --- .../next_whats_new/2018_01_25_scale_axis_by_factor.rst | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/doc/users/next_whats_new/2018_01_25_scale_axis_by_factor.rst b/doc/users/next_whats_new/2018_01_25_scale_axis_by_factor.rst index 963716f9440d..c49c1d80cd83 100644 --- a/doc/users/next_whats_new/2018_01_25_scale_axis_by_factor.rst +++ b/doc/users/next_whats_new/2018_01_25_scale_axis_by_factor.rst @@ -1,6 +1,10 @@ Ability to scale axis by a fixed order of magnitude --------------------------------------------------- -To scale an axis by a fixed order of magnitude, set the *scilimits* argument of -``Axes.ticklabel_format`` to the same (non-zero) lower and upper limits. Say to scale +To scale an axis by a fixed order of magnitude, set the *scilimits* argument of +``Axes.ticklabel_format`` to the same (non-zero) lower and upper limits. Say to scale the y axis by a million (1e6), use ``ax.ticklabel_format(style='sci', scilimits=(6, 6), axis='y')``. + +The behavior of ``scilimits=(0, 0)`` is unchanged. With this setting, matplotlib will adjust +the order of magnitude depending on the y values, rather than keeping it fixed. Previously, setting +``scilimits=(m, m)`` was equivalent to setting ``scilimits=(0, 0)``. From 5465a81db23ce1be31973b7375b4704f486482c5 Mon Sep 17 00:00:00 2001 From: HHest Date: Tue, 30 Jan 2018 08:50:29 +0100 Subject: [PATCH 0028/1161] Fix reference to y axis --- doc/users/next_whats_new/2018_01_25_scale_axis_by_factor.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/users/next_whats_new/2018_01_25_scale_axis_by_factor.rst b/doc/users/next_whats_new/2018_01_25_scale_axis_by_factor.rst index c49c1d80cd83..0d28bbde7b22 100644 --- a/doc/users/next_whats_new/2018_01_25_scale_axis_by_factor.rst +++ b/doc/users/next_whats_new/2018_01_25_scale_axis_by_factor.rst @@ -6,5 +6,5 @@ To scale an axis by a fixed order of magnitude, set the *scilimits* argument of the y axis by a million (1e6), use ``ax.ticklabel_format(style='sci', scilimits=(6, 6), axis='y')``. The behavior of ``scilimits=(0, 0)`` is unchanged. With this setting, matplotlib will adjust -the order of magnitude depending on the y values, rather than keeping it fixed. Previously, setting +the order of magnitude depending on the axis values, rather than keeping it fixed. Previously, setting ``scilimits=(m, m)`` was equivalent to setting ``scilimits=(0, 0)``. From de97fb2f799f4af875ff28c505ee753283765609 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Thu, 1 Feb 2018 23:48:14 +0100 Subject: [PATCH 0029/1161] Workaround wrong indentation of property lists --- lib/matplotlib/artist.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/artist.py b/lib/matplotlib/artist.py index 6add66595ccc..49398ac261cd 100644 --- a/lib/matplotlib/artist.py +++ b/lib/matplotlib/artist.py @@ -1253,7 +1253,7 @@ def pprint_setters(self, prop=None, leadingspace=2): lines.append('%s%s: %s' % (pad, name, accepts)) return lines - def pprint_setters_rest(self, prop=None, leadingspace=2): + def pprint_setters_rest(self, prop=None, leadingspace=4): """ If *prop* is *None*, return a list of strings of all settable properties and their valid values. Format the output for ReST @@ -1470,7 +1470,7 @@ def kwdoc(a): hardcopy = matplotlib.rcParams['docstring.hardcopy'] if hardcopy: return '\n'.join(ArtistInspector(a).pprint_setters_rest( - leadingspace=2)) + leadingspace=4)) else: return '\n'.join(ArtistInspector(a).pprint_setters(leadingspace=2)) From ef7a035878ac5f93281f2efc7ec06d2c2d23e48a Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Wed, 18 Oct 2017 15:07:57 -0700 Subject: [PATCH 0030/1161] Declare all property aliases together. --- lib/matplotlib/cbook/__init__.py | 34 +++++++++++ lib/matplotlib/collections.py | 44 +++---------- lib/matplotlib/lines.py | 85 ++++---------------------- lib/matplotlib/patches.py | 28 +++------ lib/matplotlib/text.py | 102 ++++++------------------------- 5 files changed, 82 insertions(+), 211 deletions(-) diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index 96c33fb3adb2..56ad5ad7537e 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -2803,3 +2803,37 @@ def _str_lower_equal(obj, s): cannot be used in a boolean context. """ return isinstance(obj, six.string_types) and obj.lower() == s + + +def _define_aliases(local_d, alias_d): + """Define property aliases. + + Use in a class definition as :: + + cbook._define_aliases(locals(), { + "property": ["alias", ...], ... + }) + + For each property, if the corresponding ``get_property`` is defined in the + class so far, an alias named ``get_alias`` will be defined; the same will + be done for setters. If neither the getter nor the setter exists, an + exception will be raised. + """ + + def make_alias(name): # Enfore a closure over *name*. + def method(self, *args, **kwargs): + return getattr(self, name)(*args, **kwargs) + method.__doc__ = "alias for {}".format(name) + return method + + for prop, aliases in alias_d.items(): + exists = False + for prefix in ["get_", "set_"]: + if prefix + prop in local_d: + exists = True + for alias in aliases: + method = make_alias(prefix + prop) + method.__name__ = str(prefix + alias) # Py2 compat. + local_d[prefix + alias] = method + if not exists: + raise ValueError("property {} does not exist".format(prop)) diff --git a/lib/matplotlib/collections.py b/lib/matplotlib/collections.py index a22f1522957a..726923efebc0 100644 --- a/lib/matplotlib/collections.py +++ b/lib/matplotlib/collections.py @@ -505,14 +505,6 @@ def set_linewidth(self, lw): self._us_lw, self._us_linestyles) self.stale = True - def set_linewidths(self, lw): - """alias for set_linewidth""" - return self.set_linewidth(lw) - - def set_lw(self, lw): - """alias for set_linewidth""" - return self.set_linewidth(lw) - def set_linestyle(self, ls): """ Set the linestyle(s) for the collection. @@ -640,14 +632,6 @@ def _bcast_lwls(linewidths, dashes): return linewidths, dashes - def set_linestyles(self, ls): - """alias for set_linestyle""" - return self.set_linestyle(ls) - - def set_dashes(self, ls): - """alias for set_linestyle""" - return self.set_linestyle(ls) - def set_antialiased(self, aa): """ Set the antialiasing state for rendering. @@ -659,10 +643,6 @@ def set_antialiased(self, aa): self._antialiaseds = np.atleast_1d(np.asarray(aa, bool)) self.stale = True - def set_antialiaseds(self, aa): - """alias for set_antialiased""" - return self.set_antialiased(aa) - def set_color(self, c): """ Set both the edgecolor and the facecolor. @@ -704,13 +684,8 @@ def set_facecolor(self, c): self._original_facecolor = c self._set_facecolor(c) - def set_facecolors(self, c): - """alias for set_facecolor""" - return self.set_facecolor(c) - def get_facecolor(self): return self._facecolors - get_facecolors = get_facecolor def get_edgecolor(self): if (isinstance(self._edgecolors, six.string_types) @@ -718,7 +693,6 @@ def get_edgecolor(self): return self.get_facecolors() else: return self._edgecolors - get_edgecolors = get_edgecolor def _set_edgecolor(self, c): set_hatch_color = True @@ -764,10 +738,6 @@ def set_edgecolor(self, c): self._original_edgecolor = c self._set_edgecolor(c) - def set_edgecolors(self, c): - """alias for set_edgecolor""" - return self.set_edgecolor(c) - def set_alpha(self, alpha): """ Set the alpha tranparencies of the collection. *alpha* must be @@ -785,13 +755,11 @@ def set_alpha(self, alpha): self._set_facecolor(self._original_facecolor) self._set_edgecolor(self._original_edgecolor) - def get_linewidths(self): + def get_linewidth(self): return self._linewidths - get_linewidth = get_linewidths - def get_linestyles(self): + def get_linestyle(self): return self._linestyles - get_dashes = get_linestyle = get_linestyles def update_scalarmappable(self): """ @@ -836,6 +804,14 @@ def update_from(self, other): # self.update_dict = other.update_dict # do we need to copy this? -JJL self.stale = True + cbook._define_aliases(locals(), { + "antialiased": ["antialiaseds"], + "edgecolor": ["edgecolors"], + "facecolor": ["facecolors"], + "linestyle": ["linestyles", "dashes"], + "linewidth": ["linewidths", "lw"], + }) + # these are not available for the object inspector until after the # class is built so we define an initial set here for the init # function and they will be overridden after object defn diff --git a/lib/matplotlib/lines.py b/lib/matplotlib/lines.py index a9999b419f15..e19b78851a64 100644 --- a/lib/matplotlib/lines.py +++ b/lib/matplotlib/lines.py @@ -1265,79 +1265,6 @@ def _get_rgba_face(self, alt=False): def _get_rgba_ln_color(self, alt=False): return mcolors.to_rgba(self._color, self._alpha) - # some aliases.... - def set_aa(self, val): - 'alias for set_antialiased' - self.set_antialiased(val) - - def set_c(self, val): - 'alias for set_color' - self.set_color(val) - - def set_ls(self, val): - """alias for set_linestyle""" - self.set_linestyle(val) - - def set_lw(self, val): - """alias for set_linewidth""" - self.set_linewidth(val) - - def set_mec(self, val): - """alias for set_markeredgecolor""" - self.set_markeredgecolor(val) - - def set_mew(self, val): - """alias for set_markeredgewidth""" - self.set_markeredgewidth(val) - - def set_mfc(self, val): - """alias for set_markerfacecolor""" - self.set_markerfacecolor(val) - - def set_mfcalt(self, val): - """alias for set_markerfacecoloralt""" - self.set_markerfacecoloralt(val) - - def set_ms(self, val): - """alias for set_markersize""" - self.set_markersize(val) - - def get_aa(self): - """alias for get_antialiased""" - return self.get_antialiased() - - def get_c(self): - """alias for get_color""" - return self.get_color() - - def get_ls(self): - """alias for get_linestyle""" - return self.get_linestyle() - - def get_lw(self): - """alias for get_linewidth""" - return self.get_linewidth() - - def get_mec(self): - """alias for get_markeredgecolor""" - return self.get_markeredgecolor() - - def get_mew(self): - """alias for get_markeredgewidth""" - return self.get_markeredgewidth() - - def get_mfc(self): - """alias for get_markerfacecolor""" - return self.get_markerfacecolor() - - def get_mfcalt(self, alt=False): - """alias for get_markerfacecoloralt""" - return self.get_markerfacecoloralt() - - def get_ms(self): - """alias for get_markersize""" - return self.get_markersize() - def set_dash_joinstyle(self, s): """ Set the join style for dashed linestyles @@ -1421,6 +1348,18 @@ def is_dashed(self): 'return True if line is dashstyle' return self._linestyle in ('--', '-.', ':') + cbook._define_aliases(locals(), { + "antialiased": ["aa"], + "color": ["c"], + "linestyle": ["ls"], + "linewidth": ["lw"], + "markeredgecolor": ["mec"], + "markeredgewidth": ["mew"], + "markerfacecolor": ["mfc"], + "markerfacecoloralt": ["mfcalt"], + "markersize": ["ms"], + }) + class VertexSelector(object): """ diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index 1d66125561b1..a10d1371c2e1 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -266,10 +266,6 @@ def set_antialiased(self, aa): self._antialiased = aa self.stale = True - def set_aa(self, aa): - """alias for set_antialiased""" - return self.set_antialiased(aa) - def _set_edgecolor(self, color): set_hatch_color = True if color is None: @@ -294,10 +290,6 @@ def set_edgecolor(self, color): self._original_edgecolor = color self._set_edgecolor(color) - def set_ec(self, color): - """alias for set_edgecolor""" - return self.set_edgecolor(color) - def _set_facecolor(self, color): if color is None: color = mpl.rcParams['patch.facecolor'] @@ -314,10 +306,6 @@ def set_facecolor(self, color): self._original_facecolor = color self._set_facecolor(color) - def set_fc(self, color): - """alias for set_facecolor""" - return self.set_facecolor(color) - def set_color(self, c): """ Set both the edgecolor and the facecolor. @@ -366,10 +354,6 @@ def set_linewidth(self, w): offset, ls, self._linewidth) self.stale = True - def set_lw(self, lw): - """alias for set_linewidth""" - return self.set_linewidth(lw) - def set_linestyle(self, ls): """ Set the patch linestyle @@ -410,10 +394,6 @@ def set_linestyle(self, ls): offset, ls, self._linewidth) self.stale = True - def set_ls(self, ls): - """alias for set_linestyle""" - return self.set_linestyle(ls) - def set_fill(self, b): """ Set whether to fill the patch. @@ -570,6 +550,14 @@ def get_path(self): def get_window_extent(self, renderer=None): return self.get_path().get_extents(self.get_transform()) + cbook._define_aliases(locals(), { + "antialiased": ["aa"], + "edgecolor": ["ec"], + "facecolor": ["fc"], + "linewidth": ["lw"], + "linestyle": ["ls"], + }) + patchdoc = artist.kwdoc(Patch) for k in ('Rectangle', 'Circle', 'RegularPolygon', 'Polygon', 'Wedge', 'Arrow', diff --git a/lib/matplotlib/text.py b/lib/matplotlib/text.py index 7477916828fa..44529703bfb9 100644 --- a/lib/matplotlib/text.py +++ b/lib/matplotlib/text.py @@ -766,18 +766,10 @@ def get_fontproperties(self): "Return the :class:`~font_manager.FontProperties` object" return self._fontproperties - def get_font_properties(self): - 'alias for get_fontproperties' - return self.get_fontproperties() - def get_family(self): "Return the list of font families used for font lookup" return self._fontproperties.get_family() - def get_fontfamily(self): - 'alias for get_family' - return self.get_family() - def get_name(self): "Return the font name as string" return self._fontproperties.get_name() @@ -794,42 +786,14 @@ def get_variant(self): "Return the font variant as a string" return self._fontproperties.get_variant() - def get_fontvariant(self): - 'alias for get_variant' - return self.get_variant() - def get_weight(self): "Get the font weight as string or number" return self._fontproperties.get_weight() - def get_fontname(self): - 'alias for get_name' - return self.get_name() - - def get_fontstyle(self): - 'alias for get_style' - return self.get_style() - - def get_fontsize(self): - 'alias for get_size' - return self.get_size() - - def get_fontweight(self): - 'alias for get_weight' - return self.get_weight() - def get_stretch(self): 'Get the font stretch as a string or number' return self._fontproperties.get_stretch() - def get_fontstretch(self): - 'alias for get_stretch' - return self.get_stretch() - - def get_ha(self): - 'alias for get_horizontalalignment' - return self.get_horizontalalignment() - def get_horizontalalignment(self): """ Return the horizontal alignment as string. Will be one of @@ -873,10 +837,6 @@ def get_text(self): "Get the text as string" return self._text - def get_va(self): - 'alias for :meth:`getverticalalignment`' - return self.get_verticalalignment() - def get_verticalalignment(self): """ Return the vertical alignment as string. Will be one of @@ -960,10 +920,6 @@ def set_color(self, color): self._color = color self.stale = True - def set_ha(self, align): - 'alias for set_horizontalalignment' - self.set_horizontalalignment(align) - def set_horizontalalignment(self, align): """ Set the horizontal alignment to one of @@ -977,10 +933,6 @@ def set_horizontalalignment(self, align): self._horizontalalignment = align self.stale = True - def set_ma(self, align): - 'alias for set_multialignment' - self.set_multialignment(align) - def set_multialignment(self, align): """ Set the alignment for multiple lines layout. The layout of the @@ -1030,18 +982,6 @@ def set_variant(self, variant): self._fontproperties.set_variant(variant) self.stale = True - def set_fontvariant(self, variant): - 'alias for set_variant' - return self.set_variant(variant) - - def set_name(self, fontname): - """alias for set_family""" - return self.set_family(fontname) - - def set_fontname(self, fontname): - """alias for set_family""" - self.set_family(fontname) - def set_style(self, fontstyle): """ Set the font style. @@ -1051,10 +991,6 @@ def set_style(self, fontstyle): self._fontproperties.set_style(fontstyle) self.stale = True - def set_fontstyle(self, fontstyle): - 'alias for set_style' - return self.set_style(fontstyle) - def set_size(self, fontsize): """ Set the font size. May be either a size string, relative to @@ -1066,10 +1002,6 @@ def set_size(self, fontsize): self._fontproperties.set_size(fontsize) self.stale = True - def set_fontsize(self, fontsize): - 'alias for set_size' - return self.set_size(fontsize) - def set_weight(self, weight): """ Set the font weight. @@ -1082,10 +1014,6 @@ def set_weight(self, weight): self._fontproperties.set_weight(weight) self.stale = True - def set_fontweight(self, weight): - 'alias for set_weight' - return self.set_weight(weight) - def set_stretch(self, stretch): """ Set the font stretch (horizontal condensation or expansion). @@ -1098,10 +1026,6 @@ def set_stretch(self, stretch): self._fontproperties.set_stretch(stretch) self.stale = True - def set_fontstretch(self, stretch): - 'alias for set_stretch' - return self.set_stretch(stretch) - def set_position(self, xy): """ Set the (*x*, *y*) position of the text @@ -1138,10 +1062,6 @@ def set_rotation(self, s): self._rotation = s self.stale = True - def set_va(self, align): - 'alias for set_verticalalignment' - self.set_verticalalignment(align) - def set_verticalalignment(self, align): """ Set the vertical alignment @@ -1202,10 +1122,6 @@ def set_fontproperties(self, fp): self._fontproperties = fp.copy() self.stale = True - def set_font_properties(self, fp): - 'alias for set_fontproperties' - self.set_fontproperties(fp) - def set_usetex(self, usetex): """ Parameters @@ -1234,6 +1150,24 @@ def get_usetex(self): else: return self._usetex + def set_name(self, fontname): # One-way alias only: the getter differs. + """alias for set_family""" + return self.set_family(fontname) + + cbook._define_aliases(locals(), { + "family": ["fontfamily"], + "fontproperties": ["font_properties"], + "horizontalalignment": ["ha"], + "multialignment": ["ma"], + "name": ["fontname"], + "size": ["fontsize"], + "stretch": ["fontstretch"], + "style": ["fontstyle"], + "variant": ["fontvariant"], + "verticalalignment": ["va"], + "weight": ["fontweight"], + }) + docstring.interpd.update(Text=artist.kwdoc(Text)) docstring.dedent_interpd(Text.__init__) From 413144ae1735d0e72cb30e750e7fdd9cfe2b77cd Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Wed, 18 Oct 2017 15:44:05 -0700 Subject: [PATCH 0031/1161] Reuse the alias map. --- lib/matplotlib/axes/_axes.py | 41 ++++++++++++-------------------- lib/matplotlib/cbook/__init__.py | 5 ++++ lib/matplotlib/collections.py | 4 ---- lib/matplotlib/patches.py | 9 ------- 4 files changed, 20 insertions(+), 39 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 4dedcfc3872f..49e6bcb00fe9 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -48,17 +48,6 @@ rcParams = matplotlib.rcParams -_alias_map = {'color': ['c'], - 'linewidth': ['lw'], - 'linestyle': ['ls'], - 'facecolor': ['fc'], - 'edgecolor': ['ec'], - 'markerfacecolor': ['mfc'], - 'markeredgecolor': ['mec'], - 'markeredgewidth': ['mew'], - 'markersize': ['ms'], - } - def _plot_args_replacer(args, data): if len(args) == 1: @@ -1519,7 +1508,7 @@ def plot(self, *args, **kwargs): self.cla() lines = [] - kwargs = cbook.normalize_kwargs(kwargs, _alias_map) + kwargs = cbook.normalize_kwargs(kwargs, mlines.Line2D._alias_map) for line in self._get_lines(*args, **kwargs): self.add_line(line) @@ -2090,7 +2079,7 @@ def bar(self, *args, **kwargs): %(Rectangle)s """ - kwargs = cbook.normalize_kwargs(kwargs, mpatches._patch_alias_map) + kwargs = cbook.normalize_kwargs(kwargs, mpatches.Patch._alias_map) # this is using the lambdas to do the arg/kwarg unpacking rather # than trying to re-implement all of that logic our selves. matchers = [ @@ -3035,7 +3024,7 @@ def errorbar(self, x, y, yerr=None, xerr=None, .. [Notes section required for data comment. See #10189.] """ - kwargs = cbook.normalize_kwargs(kwargs, _alias_map) + kwargs = cbook.normalize_kwargs(kwargs, mlines.Line2D._alias_map) # anything that comes in as 'None', drop so the default thing # happens down stream kwargs = {k: v for k, v in kwargs.items() if v is not None} @@ -4928,7 +4917,8 @@ def fill(self, *args, **kwargs): if not self._hold: self.cla() - kwargs = cbook.normalize_kwargs(kwargs, _alias_map) + # For compatibility(!), get aliases from Line2D rather than Patch. + kwargs = cbook.normalize_kwargs(kwargs, mlines.Line2D._alias_map) patches = [] for poly in self._get_patches_for_fill(*args, **kwargs): @@ -5022,12 +5012,11 @@ def fill_between(self, x, y1, y2=0, where=None, interpolate=False, """ if not rcParams['_internal.classic_mode']: - color_aliases = mcoll._color_aliases - kwargs = cbook.normalize_kwargs(kwargs, color_aliases) - - if not any(c in kwargs for c in ('color', 'facecolors')): - fc = self._get_patches_for_fill.get_next_color() - kwargs['facecolors'] = fc + kwargs = cbook.normalize_kwargs( + kwargs, mcoll.Collection._alias_map) + if not any(c in kwargs for c in ('color', 'facecolor')): + kwargs['facecolor'] = \ + self._get_patches_for_fill.get_next_color() # Handle united data, such as dates self._process_unit_info(xdata=x, ydata=y1, kwargs=kwargs) @@ -5204,12 +5193,12 @@ def fill_betweenx(self, y, x1, x2=0, where=None, """ if not rcParams['_internal.classic_mode']: - color_aliases = mcoll._color_aliases - kwargs = cbook.normalize_kwargs(kwargs, color_aliases) + kwargs = cbook.normalize_kwargs( + kwargs, mcoll.Collection._alias_map) + if not any(c in kwargs for c in ('color', 'facecolor')): + kwargs['facecolor'] = \ + self._get_patches_for_fill.get_next_color() - if not any(c in kwargs for c in ('color', 'facecolors')): - fc = self._get_patches_for_fill.get_next_color() - kwargs['facecolors'] = fc # Handle united data, such as dates self._process_unit_info(ydata=y, xdata=x1, kwargs=kwargs) self._process_unit_info(xdata=x2) diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index 56ad5ad7537e..9a19059f92ea 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -2818,6 +2818,9 @@ def _define_aliases(local_d, alias_d): class so far, an alias named ``get_alias`` will be defined; the same will be done for setters. If neither the getter nor the setter exists, an exception will be raised. + + The alias map is stored as the ``_alias_map`` attribute on the class and + can be used by `~.normalize_kwargs`. """ def make_alias(name): # Enfore a closure over *name*. @@ -2837,3 +2840,5 @@ def method(self, *args, **kwargs): local_d[prefix + alias] = method if not exists: raise ValueError("property {} does not exist".format(prop)) + + local_d["_alias_map"] = alias_d diff --git a/lib/matplotlib/collections.py b/lib/matplotlib/collections.py index 726923efebc0..38517557901f 100644 --- a/lib/matplotlib/collections.py +++ b/lib/matplotlib/collections.py @@ -29,10 +29,6 @@ CIRCLE_AREA_FACTOR = 1.0 / np.sqrt(np.pi) -_color_aliases = {'facecolors': ['facecolor'], - 'edgecolors': ['edgecolor']} - - class Collection(artist.Artist, cm.ScalarMappable): """ Base class for Collections. Must be subclassed to be usable. diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index a10d1371c2e1..3ed72a70bbc7 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -19,15 +19,6 @@ split_bezier_intersecting_with_closedpath, split_path_inout) from .path import Path -_patch_alias_map = { - 'antialiased': ['aa'], - 'edgecolor': ['ec'], - 'facecolor': ['fc'], - 'linewidth': ['lw'], - 'linestyle': ['ls'] - } - - class Patch(artist.Artist): """ A patch is a 2D artist with a face color and an edge color. From 7c40fdf132c8a65ea6bb7f7c68f1f14a30425547 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Wed, 18 Oct 2017 16:45:26 -0700 Subject: [PATCH 0032/1161] Fix some problematic aliases. --- lib/matplotlib/collections.py | 14 ++++---------- lib/mpl_toolkits/mplot3d/art3d.py | 12 ++++-------- 2 files changed, 8 insertions(+), 18 deletions(-) diff --git a/lib/matplotlib/collections.py b/lib/matplotlib/collections.py index 38517557901f..05fa899635ea 100644 --- a/lib/matplotlib/collections.py +++ b/lib/matplotlib/collections.py @@ -1528,17 +1528,11 @@ def set_lineoffset(self, lineoffset): self._lineoffset = lineoffset def get_linewidth(self): - ''' - get the width of the lines used to mark each event - ''' - return self.get_linewidths()[0] + """Get the width of the lines used to mark each event.""" + return super(EventCollection, self).get_linewidth()[0] - def get_linestyle(self): - ''' - get the style of the lines used to mark each event - [ 'solid' | 'dashed' | 'dashdot' | 'dotted' ] - ''' - return self.get_linestyles() + def get_linewidths(self): + return super(EventCollection, self).get_linewidth() def get_color(self): ''' diff --git a/lib/mpl_toolkits/mplot3d/art3d.py b/lib/mpl_toolkits/mplot3d/art3d.py index ef55dd693e1e..274267cdcac2 100644 --- a/lib/mpl_toolkits/mplot3d/art3d.py +++ b/lib/mpl_toolkits/mplot3d/art3d.py @@ -591,8 +591,8 @@ def set_3d_properties(self): self.update_scalarmappable() self._sort_zpos = None self.set_zsort(True) - self._facecolors3d = PolyCollection.get_facecolors(self) - self._edgecolors3d = PolyCollection.get_edgecolors(self) + self._facecolors3d = PolyCollection.get_facecolor(self) + self._edgecolors3d = PolyCollection.get_edgecolor(self) self._alpha3d = PolyCollection.get_alpha(self) self.stale = True @@ -664,12 +664,10 @@ def do_3d_projection(self, renderer): def set_facecolor(self, colors): PolyCollection.set_facecolor(self, colors) self._facecolors3d = PolyCollection.get_facecolor(self) - set_facecolors = set_facecolor def set_edgecolor(self, colors): PolyCollection.set_edgecolor(self, colors) self._edgecolors3d = PolyCollection.get_edgecolor(self) - set_edgecolors = set_edgecolor def set_alpha(self, alpha): """ @@ -696,13 +694,11 @@ def set_alpha(self, alpha): pass self.stale = True - def get_facecolors(self): + def get_facecolor(self): return self._facecolors2d - get_facecolor = get_facecolors - def get_edgecolors(self): + def get_edgecolor(self): return self._edgecolors2d - get_edgecolor = get_edgecolors def draw(self, renderer): return Collection.draw(self, renderer) From a7f698ee351532e8e5f558181d6850cd93591fa7 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Fri, 15 Dec 2017 00:47:55 -0800 Subject: [PATCH 0033/1161] Minor style changes. --- lib/matplotlib/cbook/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index 9a19059f92ea..57f7fddb72f1 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -2826,7 +2826,6 @@ class so far, an alias named ``get_alias`` will be defined; the same will def make_alias(name): # Enfore a closure over *name*. def method(self, *args, **kwargs): return getattr(self, name)(*args, **kwargs) - method.__doc__ = "alias for {}".format(name) return method for prop, aliases in alias_d.items(): @@ -2837,6 +2836,7 @@ def method(self, *args, **kwargs): for alias in aliases: method = make_alias(prefix + prop) method.__name__ = str(prefix + alias) # Py2 compat. + method.__doc__ = "alias for `{}`".format(prefix + prop) local_d[prefix + alias] = method if not exists: raise ValueError("property {} does not exist".format(prop)) From b44204997dd7919630975df1482dd477c007a0f8 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Wed, 27 Dec 2017 22:38:30 -0800 Subject: [PATCH 0034/1161] Drop need for Py2 unicode hack. --- lib/matplotlib/cbook/__init__.py | 2 +- lib/matplotlib/collections.py | 3 +-- lib/matplotlib/lines.py | 3 +-- lib/matplotlib/patches.py | 7 ++----- 4 files changed, 5 insertions(+), 10 deletions(-) diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index 57f7fddb72f1..739ecfaaf717 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -2835,7 +2835,7 @@ def method(self, *args, **kwargs): exists = True for alias in aliases: method = make_alias(prefix + prop) - method.__name__ = str(prefix + alias) # Py2 compat. + method.__name__ = prefix + alias method.__doc__ = "alias for `{}`".format(prefix + prop) local_d[prefix + alias] = method if not exists: diff --git a/lib/matplotlib/collections.py b/lib/matplotlib/collections.py index 05fa899635ea..39005587acfe 100644 --- a/lib/matplotlib/collections.py +++ b/lib/matplotlib/collections.py @@ -8,8 +8,7 @@ they are meant to be fast for common use cases (e.g., a large set of solid line segemnts) """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) +from __future__ import absolute_import, division, print_function import warnings diff --git a/lib/matplotlib/lines.py b/lib/matplotlib/lines.py index e19b78851a64..cf64966adaa0 100644 --- a/lib/matplotlib/lines.py +++ b/lib/matplotlib/lines.py @@ -4,8 +4,7 @@ """ # TODO: expose cap and join style attrs -from __future__ import (absolute_import, division, print_function, - unicode_literals) +from __future__ import absolute_import, division, print_function import six diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index 3ed72a70bbc7..22f6d024d2f1 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -1,7 +1,4 @@ -# -*- coding: utf-8 -*- - -from __future__ import (absolute_import, division, print_function, - unicode_literals) +from __future__ import absolute_import, division, print_function import six from six.moves import map, zip @@ -1488,7 +1485,7 @@ def __init__(self, xy, radius=5, **kwargs): """ Create true circle at center *xy* = (*x*, *y*) with given *radius*. Unlike :class:`~matplotlib.patches.CirclePolygon` - which is a polygonal approximation, this uses Bézier splines + which is a polygonal approximation, this uses Bezier splines and is much closer to a scale-free circle. Valid kwargs are: From 2c83bdbe6aa149490da67e3f500cc08ac1bbfd26 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Sun, 31 Dec 2017 17:41:36 -0800 Subject: [PATCH 0035/1161] Make _define_aliases a class decorator. --- lib/matplotlib/cbook/__init__.py | 20 +++++++++++--------- lib/matplotlib/collections.py | 14 +++++++------- lib/matplotlib/lines.py | 26 ++++++++++++-------------- lib/matplotlib/patches.py | 16 ++++++++-------- lib/matplotlib/text.py | 26 +++++++++++++------------- 5 files changed, 51 insertions(+), 51 deletions(-) diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index 739ecfaaf717..e167d684bca8 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -2805,14 +2805,13 @@ def _str_lower_equal(obj, s): return isinstance(obj, six.string_types) and obj.lower() == s -def _define_aliases(local_d, alias_d): - """Define property aliases. +def _define_aliases(alias_d, cls=None): + """Class decorator for defining property aliases. - Use in a class definition as :: + Use as :: - cbook._define_aliases(locals(), { - "property": ["alias", ...], ... - }) + @cbook._define_aliases({"property": ["alias", ...], ...}) + class C: ... For each property, if the corresponding ``get_property`` is defined in the class so far, an alias named ``get_alias`` will be defined; the same will @@ -2822,6 +2821,8 @@ class so far, an alias named ``get_alias`` will be defined; the same will The alias map is stored as the ``_alias_map`` attribute on the class and can be used by `~.normalize_kwargs`. """ + if cls is None: + return functools.partial(_define_aliases, alias_d) def make_alias(name): # Enfore a closure over *name*. def method(self, *args, **kwargs): @@ -2831,14 +2832,15 @@ def method(self, *args, **kwargs): for prop, aliases in alias_d.items(): exists = False for prefix in ["get_", "set_"]: - if prefix + prop in local_d: + if prefix + prop in vars(cls): exists = True for alias in aliases: method = make_alias(prefix + prop) method.__name__ = prefix + alias method.__doc__ = "alias for `{}`".format(prefix + prop) - local_d[prefix + alias] = method + setattr(cls, prefix + alias, method) if not exists: raise ValueError("property {} does not exist".format(prop)) - local_d["_alias_map"] = alias_d + cls._alias_map = alias_d + return cls diff --git a/lib/matplotlib/collections.py b/lib/matplotlib/collections.py index 39005587acfe..688d09f8bc85 100644 --- a/lib/matplotlib/collections.py +++ b/lib/matplotlib/collections.py @@ -28,6 +28,13 @@ CIRCLE_AREA_FACTOR = 1.0 / np.sqrt(np.pi) +@cbook._define_aliases({ + "antialiased": ["antialiaseds"], + "edgecolor": ["edgecolors"], + "facecolor": ["facecolors"], + "linestyle": ["linestyles", "dashes"], + "linewidth": ["linewidths", "lw"], +}) class Collection(artist.Artist, cm.ScalarMappable): """ Base class for Collections. Must be subclassed to be usable. @@ -799,13 +806,6 @@ def update_from(self, other): # self.update_dict = other.update_dict # do we need to copy this? -JJL self.stale = True - cbook._define_aliases(locals(), { - "antialiased": ["antialiaseds"], - "edgecolor": ["edgecolors"], - "facecolor": ["facecolors"], - "linestyle": ["linestyles", "dashes"], - "linewidth": ["linewidths", "lw"], - }) # these are not available for the object inspector until after the # class is built so we define an initial set here for the init diff --git a/lib/matplotlib/lines.py b/lib/matplotlib/lines.py index cf64966adaa0..42fd6fa38f64 100644 --- a/lib/matplotlib/lines.py +++ b/lib/matplotlib/lines.py @@ -229,15 +229,25 @@ def _slice_or_none(in_v, slc): 'markevery=%s' % (markevery,)) +@cbook._define_aliases({ + "antialiased": ["aa"], + "color": ["c"], + "linestyle": ["ls"], + "linewidth": ["lw"], + "markeredgecolor": ["mec"], + "markeredgewidth": ["mew"], + "markerfacecolor": ["mfc"], + "markerfacecoloralt": ["mfcalt"], + "markersize": ["ms"], +}) class Line2D(Artist): """ A line - the line can have both a solid linestyle connecting all the vertices, and a marker at each vertex. Additionally, the drawing of the solid line is influenced by the drawstyle, e.g., one can create "stepped" lines in various styles. - - """ + lineStyles = _lineStyles = { # hidden names deprecated '-': '_draw_solid', '--': '_draw_dashed', @@ -1347,18 +1357,6 @@ def is_dashed(self): 'return True if line is dashstyle' return self._linestyle in ('--', '-.', ':') - cbook._define_aliases(locals(), { - "antialiased": ["aa"], - "color": ["c"], - "linestyle": ["ls"], - "linewidth": ["lw"], - "markeredgecolor": ["mec"], - "markeredgewidth": ["mew"], - "markerfacecolor": ["mfc"], - "markerfacecoloralt": ["mfcalt"], - "markersize": ["ms"], - }) - class VertexSelector(object): """ diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index 22f6d024d2f1..505518dc1921 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -16,6 +16,14 @@ split_bezier_intersecting_with_closedpath, split_path_inout) from .path import Path + +@cbook._define_aliases({ + "antialiased": ["aa"], + "edgecolor": ["ec"], + "facecolor": ["fc"], + "linewidth": ["lw"], + "linestyle": ["ls"], +}) class Patch(artist.Artist): """ A patch is a 2D artist with a face color and an edge color. @@ -538,14 +546,6 @@ def get_path(self): def get_window_extent(self, renderer=None): return self.get_path().get_extents(self.get_transform()) - cbook._define_aliases(locals(), { - "antialiased": ["aa"], - "edgecolor": ["ec"], - "facecolor": ["fc"], - "linewidth": ["lw"], - "linestyle": ["ls"], - }) - patchdoc = artist.kwdoc(Patch) for k in ('Rectangle', 'Circle', 'RegularPolygon', 'Polygon', 'Wedge', 'Arrow', diff --git a/lib/matplotlib/text.py b/lib/matplotlib/text.py index 44529703bfb9..42df365c5bd0 100644 --- a/lib/matplotlib/text.py +++ b/lib/matplotlib/text.py @@ -116,6 +116,19 @@ def _get_textbox(text, renderer): return x_box, y_box, w_box, h_box +@cbook._define_aliases({ + "family": ["fontfamily"], + "fontproperties": ["font_properties"], + "horizontalalignment": ["ha"], + "multialignment": ["ma"], + "name": ["fontname"], + "size": ["fontsize"], + "stretch": ["fontstretch"], + "style": ["fontstyle"], + "variant": ["fontvariant"], + "verticalalignment": ["va"], + "weight": ["fontweight"], +}) class Text(Artist): """ Handle storing and drawing of text in window or data coordinates. @@ -1154,19 +1167,6 @@ def set_name(self, fontname): # One-way alias only: the getter differs. """alias for set_family""" return self.set_family(fontname) - cbook._define_aliases(locals(), { - "family": ["fontfamily"], - "fontproperties": ["font_properties"], - "horizontalalignment": ["ha"], - "multialignment": ["ma"], - "name": ["fontname"], - "size": ["fontsize"], - "stretch": ["fontstretch"], - "style": ["fontstyle"], - "variant": ["fontvariant"], - "verticalalignment": ["va"], - "weight": ["fontweight"], - }) docstring.interpd.update(Text=artist.kwdoc(Text)) docstring.dedent_interpd(Text.__init__) From 473590cfb082b83781f8c7c9e1501cbd05e63a8f Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Mon, 1 Jan 2018 16:59:57 -0800 Subject: [PATCH 0036/1161] Error out in case of alias inheritance. --- lib/matplotlib/cbook/__init__.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index e167d684bca8..a5dd566e0a16 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -2819,12 +2819,13 @@ class so far, an alias named ``get_alias`` will be defined; the same will exception will be raised. The alias map is stored as the ``_alias_map`` attribute on the class and - can be used by `~.normalize_kwargs`. + can be used by `~.normalize_kwargs` (which assumes that higher priority + aliases come last). """ if cls is None: return functools.partial(_define_aliases, alias_d) - def make_alias(name): # Enfore a closure over *name*. + def make_alias(name): # Enforce a closure over *name*. def method(self, *args, **kwargs): return getattr(self, name)(*args, **kwargs) return method @@ -2840,7 +2841,11 @@ def method(self, *args, **kwargs): method.__doc__ = "alias for `{}`".format(prefix + prop) setattr(cls, prefix + alias, method) if not exists: - raise ValueError("property {} does not exist".format(prop)) + raise ValueError( + "Neither getter nor setter exists for {!r}".format(prop)) + if hasattr(cls, "_alias_map"): + # Need to decide on conflict resolution policy. + raise NotImplementedError("Parent class already defines aliases") cls._alias_map = alias_d return cls From fc52f2390c872a85b90898a5e60163441cb3f373 Mon Sep 17 00:00:00 2001 From: cclauss Date: Sun, 11 Feb 2018 23:02:55 +0100 Subject: [PATCH 0037/1161] Define RecursionError for Python versions < 3.5 __RecursionError__ is used on line 189. https://docs.python.org/3/library/exceptions.html#RecursionError --- lib/matplotlib/tests/test_pickle.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/matplotlib/tests/test_pickle.py b/lib/matplotlib/tests/test_pickle.py index 89a5a512e7c7..337ac734c84e 100644 --- a/lib/matplotlib/tests/test_pickle.py +++ b/lib/matplotlib/tests/test_pickle.py @@ -12,6 +12,11 @@ import matplotlib.pyplot as plt import matplotlib.transforms as mtransforms +try: # https://docs.python.org/3/library/exceptions.html#RecursionError + RecursionError # Python 3.5+ +except NameError: + RecursionError = RuntimeError # Python < 3.5 + def test_simple(): fig = plt.figure() From 79da80cb3a4cd41a4cfd9e0061d60d9fa6c6a10e Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Sun, 11 Feb 2018 22:37:03 -0500 Subject: [PATCH 0038/1161] BLD: bump branch away from tag From ef5248fe6305d1eb08700fdb5c8c3051bb1d5e72 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Mon, 12 Feb 2018 00:51:27 -0500 Subject: [PATCH 0039/1161] Fix print statements in docstrings and comments. --- lib/matplotlib/backends/backend_wx.py | 3 ++- lib/matplotlib/dviread.py | 2 +- tutorials/intermediate/artists.py | 22 +++++++++++----------- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/lib/matplotlib/backends/backend_wx.py b/lib/matplotlib/backends/backend_wx.py index eca26613c93f..4f0e6638334b 100644 --- a/lib/matplotlib/backends/backend_wx.py +++ b/lib/matplotlib/backends/backend_wx.py @@ -62,7 +62,8 @@ def DEBUG_MSG(string, lvl=3, o=None): # Jeremy, often times the commented line won't print but the # one below does. I think WX is redefining stderr, damned # beast - # print >>sys.stderr, "%s- %s in %s" % (_DEBUG_lvls[lvl], string, cls) + # print("%s- %s in %s" % (_DEBUG_lvls[lvl], string, cls), + # file=sys.stderr) print("%s- %s in %s" % (_DEBUG_lvls[lvl], string, cls)) diff --git a/lib/matplotlib/dviread.py b/lib/matplotlib/dviread.py index c121f9ec5b36..b12abf4148cd 100644 --- a/lib/matplotlib/dviread.py +++ b/lib/matplotlib/dviread.py @@ -191,7 +191,7 @@ class Dvi(object): >>> with matplotlib.dviread.Dvi('input.dvi', 72) as dvi: >>> for page in dvi: - >>> print ''.join(unichr(t.glyph) for t in page.text) + >>> print(''.join(unichr(t.glyph) for t in page.text)) """ # dispatch table _dtable = [None for _ in xrange(256)] diff --git a/tutorials/intermediate/artists.py b/tutorials/intermediate/artists.py index 61bc929df0ba..aa5e04418edb 100644 --- a/tutorials/intermediate/artists.py +++ b/tutorials/intermediate/artists.py @@ -304,7 +304,7 @@ class in the matplotlib API, and the one you will be working with most # In [159]: ax1 # Out[159]: # -# In [160]: print fig.axes +# In [160]: print(fig.axes) # [, ] # # Because the figure maintains the concept of the "current axes" (see @@ -404,7 +404,7 @@ class in the matplotlib API, and the one you will be working with most # # .. sourcecode:: ipython # -# In [229]: print ax.lines +# In [229]: print(ax.lines) # [] # # Similarly, methods that create patches, like @@ -419,7 +419,7 @@ class in the matplotlib API, and the one you will be working with most # In [234]: rectangles # Out[234]: # -# In [235]: print len(ax.patches) +# In [235]: print(len(ax.patches)) # # You should not add objects directly to the ``Axes.lines`` or # ``Axes.patches`` lists unless you know exactly what you are doing, @@ -445,11 +445,11 @@ class in the matplotlib API, and the one you will be working with most # In [263]: rect = matplotlib.patches.Rectangle( (1,1), width=5, height=12) # # # by default the axes instance is None -# In [264]: print rect.get_axes() +# In [264]: print(rect.get_axes()) # None # # # and the transformation instance is set to the "identity transform" -# In [265]: print rect.get_transform() +# In [265]: print(rect.get_transform()) # # # # now we add the Rectangle to the Axes @@ -457,30 +457,30 @@ class in the matplotlib API, and the one you will be working with most # # # and notice that the ax.add_patch method has set the axes # # instance -# In [267]: print rect.get_axes() +# In [267]: print(rect.get_axes()) # Axes(0.125,0.1;0.775x0.8) # # # and the transformation has been set too -# In [268]: print rect.get_transform() +# In [268]: print(rect.get_transform()) # # # # the default axes transformation is ax.transData -# In [269]: print ax.transData +# In [269]: print(ax.transData) # # # # notice that the xlimits of the Axes have not been changed -# In [270]: print ax.get_xlim() +# In [270]: print(ax.get_xlim()) # (0.0, 1.0) # # # but the data limits have been updated to encompass the rectangle -# In [271]: print ax.dataLim.bounds +# In [271]: print(ax.dataLim.bounds) # (1.0, 1.0, 5.0, 12.0) # # # we can manually invoke the auto-scaling machinery # In [272]: ax.autoscale_view() # # # and now the xlim are updated to encompass the rectangle -# In [273]: print ax.get_xlim() +# In [273]: print(ax.get_xlim()) # (1.0, 6.0) # # # we have to manually force a figure draw From c5042fae730aa01c00d25f4f99023c6ee18b7421 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Mon, 12 Feb 2018 00:53:20 -0500 Subject: [PATCH 0040/1161] Remove print statements in dead comments. --- lib/matplotlib/lines.py | 4 ---- lib/mpl_toolkits/axisartist/angle_helper.py | 2 -- 2 files changed, 6 deletions(-) diff --git a/lib/matplotlib/lines.py b/lib/matplotlib/lines.py index a9999b419f15..984f5b025f4b 100644 --- a/lib/matplotlib/lines.py +++ b/lib/matplotlib/lines.py @@ -93,25 +93,21 @@ def segment_hits(cx, cy, x, y, radius): Lnorm_sq = dx ** 2 + dy ** 2 # Possibly want to eliminate Lnorm==0 u = ((cx - xr) * dx + (cy - yr) * dy) / Lnorm_sq candidates = (u >= 0) & (u <= 1) - #if any(candidates): print "candidates",xr[candidates] # Note that there is a little area near one side of each point # which will be near neither segment, and another which will # be near both, depending on the angle of the lines. The # following radius test eliminates these ambiguities. point_hits = (cx - x) ** 2 + (cy - y) ** 2 <= radius ** 2 - #if any(point_hits): print "points",xr[candidates] candidates = candidates & ~(point_hits[:-1] | point_hits[1:]) # For those candidates which remain, determine how far they lie away # from the line. px, py = xr + u * dx, yr + u * dy line_hits = (cx - px) ** 2 + (cy - py) ** 2 <= radius ** 2 - #if any(line_hits): print "lines",xr[candidates] line_hits = line_hits & candidates points, = point_hits.ravel().nonzero() lines, = line_hits.ravel().nonzero() - #print points,lines return np.concatenate((points, lines)) diff --git a/lib/mpl_toolkits/axisartist/angle_helper.py b/lib/mpl_toolkits/axisartist/angle_helper.py index 4ca0a93fc81c..e69aacdb722b 100644 --- a/lib/mpl_toolkits/axisartist/angle_helper.py +++ b/lib/mpl_toolkits/axisartist/angle_helper.py @@ -114,11 +114,9 @@ def select_step(v1, v2, nv, hour=False, include_last=True, # for degree if dv > 1./threshold_factor: - #print "degree" step, factor = _select_step(dv) else: step, factor = select_step_sub(dv*threshold_factor) - #print "feac", step, factor factor = factor * threshold_factor From 60a5e5708623126f1c354cba93109445723357fa Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Mon, 12 Feb 2018 07:20:22 +0100 Subject: [PATCH 0041/1161] Fix wx canvas type injection. NavigationToolbar2Wx should use `type(self.canvas)` when instantiating the canvas to make it work with all of wx, wxagg, wxcairo (instantiating the corresponding canvas class in each case). Conversely, FigureFrameWx should explicitly use FigureCanvasWx; other backends (wxagg, wxcairo) override the method accordingly. I got these inverted in my previous PR and this breaks the wx backend. --- lib/matplotlib/backends/backend_wx.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/backends/backend_wx.py b/lib/matplotlib/backends/backend_wx.py index eca26613c93f..1d1cf68e0583 100644 --- a/lib/matplotlib/backends/backend_wx.py +++ b/lib/matplotlib/backends/backend_wx.py @@ -1229,7 +1229,7 @@ def _get_toolbar(self, statbar): return toolbar def get_canvas(self, fig): - return type(self.canvas)(self, -1, fig) + return FigureCanvasWx(self, -1, fig) def get_figure_manager(self): DEBUG_MSG("get_figure_manager()", 1, self) @@ -1507,7 +1507,7 @@ def __init__(self, canvas): self.retinaFix = 'wxMac' in wx.PlatformInfo def get_canvas(self, frame, fig): - return FigureCanvasWx(frame, -1, fig) + return type(self.canvas)(frame, -1, fig) def _init_toolbar(self): DEBUG_MSG("_init_toolbar", 1, self) From fff747a644d3b888eae6ad804117db24cac0cd4e Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Mon, 12 Feb 2018 08:02:25 +0100 Subject: [PATCH 0042/1161] Fix wxcairo byteorder. --- lib/matplotlib/backends/backend_wxcairo.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/backends/backend_wxcairo.py b/lib/matplotlib/backends/backend_wxcairo.py index bd61fa03780a..71a6831c7c80 100644 --- a/lib/matplotlib/backends/backend_wxcairo.py +++ b/lib/matplotlib/backends/backend_wxcairo.py @@ -3,6 +3,9 @@ import six +import sys + +import numpy as np import wx from .backend_cairo import cairo, FigureCanvasCairo, RendererCairo @@ -41,8 +44,13 @@ def draw(self, drawDC=None): self._renderer.set_ctx_from_surface(surface) self._renderer.set_width_height(width, height) self.figure.draw(self._renderer) - buf = surface.get_data() - self.bitmap = wxc.BitmapFromBuffer(width, height, buf) + buf = np.frombuffer(surface.get_data(), dtype="uint8").reshape((height, width, 4)) + if sys.byteorder == "little": + b, g, r, a = np.rollaxis(buf, -1) + else: + a, r, g, b = np.rollaxis(buf, -1) + rgba8888 = np.dstack([r, g, b, a]) + self.bitmap = wxc.BitmapFromBuffer(width, height, rgba8888) self._isDrawn = True self.gui_repaint(drawDC=drawDC, origin='WXCairo') From dfcf92829a0e875ab3177799fe17db576347b88f Mon Sep 17 00:00:00 2001 From: David Stansby Date: Mon, 12 Feb 2018 21:51:00 +0000 Subject: [PATCH 0043/1161] Add docstring to set_interpolation --- lib/matplotlib/image.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/matplotlib/image.py b/lib/matplotlib/image.py index 0f874d46f277..d7607c368231 100644 --- a/lib/matplotlib/image.py +++ b/lib/matplotlib/image.py @@ -964,6 +964,12 @@ def set_array(self, *args): raise NotImplementedError('Method not supported') def set_interpolation(self, s): + """ + Parameters + ---------- + s : str, None + Either 'nearest', 'bilinear', or ``None``. + """ if s is not None and s not in ('nearest', 'bilinear'): raise NotImplementedError('Only nearest neighbor and ' 'bilinear interpolations are supported') From 579726c859f096e64216a7bfd59b43607f927974 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Sun, 11 Feb 2018 22:10:02 -0500 Subject: [PATCH 0044/1161] API: only support python 3.5+ Matplotlib 3.0 will not support python2.7 --- .appveyor.yml | 3 --- .circleci/config.yml | 19 +++++-------------- .travis.yml | 8 +++++--- INSTALL.rst | 37 +------------------------------------ doc/faq/installing_faq.rst | 5 ----- 5 files changed, 11 insertions(+), 61 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index afd1faa72756..05efdaf63275 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -19,9 +19,6 @@ environment: # theoretically the CONDA_INSTALL_LOCN could be only two: one for 32bit, # one for 64bit because we construct envs anyway. But using one for the # right python version is hopefully making it fast due to package caching. - - PYTHON_VERSION: "2.7" - CONDA_INSTALL_LOCN: "C:\\Miniconda-x64" - TEST_ALL: "no" - PYTHON_VERSION: "3.5" CONDA_INSTALL_LOCN: "C:\\Miniconda35-x64" TEST_ALL: "no" diff --git a/.circleci/config.yml b/.circleci/config.yml index aeaecc820647..f41ced3229a2 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -82,9 +82,9 @@ doc-bundle-run: &doc-bundle # jobs: - docs-python35: + docs-python36: docker: - - image: circleci/python:3.5 + - image: circleci/python:3.6 steps: - checkout @@ -115,9 +115,9 @@ jobs: name: "Deploy new docs" command: ./.circleci/deploy-docs.sh - docs-python27: + docs-python35: docker: - - image: circleci/python:2.7 + - image: circleci/python:3.5 steps: - checkout @@ -129,9 +129,6 @@ jobs: <<: *deps-install environment: NUMPY_VERSION: "==1.7.1" - # Linkchecker only works with python 2.7 for the time being. - # Linkchecker is currently broken with requests 2.10.0 so force an earlier version. - - run: pip install --user $PRE requests==2.9.2 linkchecker - run: *mpl-install - run: *doc-build @@ -139,12 +136,6 @@ jobs: # We don't build the LaTeX docs here, so linkchecker will complain - run: touch doc/build/html/Matplotlib.pdf - # Linkchecker only works with python 2.7 for the time being - - run: - name: linkchecker - command: ~/.local/bin/linkchecker build/html/index.html - working_directory: doc - - run: *doc-bundle - store_artifacts: path: doc/build/sphinx-gallery-files.tar.gz @@ -166,4 +157,4 @@ workflows: build: jobs: - docs-python35 - - docs-python27 + - docs-python36 diff --git a/.travis.yml b/.travis.yml index 4973ace7027b..62a106db598d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -65,7 +65,7 @@ env: matrix: include: - - python: 2.7 + - python: 3.5 # pytest-cov>=2.3.1 due to https://github.com/pytest-dev/pytest-cov/issues/124. env: - CYCLER=cycler==0.10 @@ -78,7 +78,7 @@ matrix: - PYTEST=pytest==3.1.0 - PYTEST_COV=pytest-cov==2.3.1 - SPHINX=sphinx==1.3 - - python: 3.4 + - python: 3.5 env: PYTHON_ARGS=-OO - python: 3.6 env: DELETE_FONT_CACHE=1 PANDAS='pandas<0.21.0' PYTEST_PEP8=pytest-pep8 RUN_PEP8=--pep8 @@ -111,7 +111,9 @@ before_install: else brew update brew tap homebrew/gui - brew install python libpng ffmpeg imagemagick mplayer ccache + brew install python3 libpng ffmpeg imagemagick mplayer ccache + # make 'python' mean 'python3' + ln -s /usr/local/bin/python3 /usr/local/bin/python # We could install ghostscript and inkscape here to test svg and pdf # but this makes the test time really long. # brew install ghostscript inkscape diff --git a/INSTALL.rst b/INSTALL.rst index 5e3d03a71509..fcc7ede51bbd 100644 --- a/INSTALL.rst +++ b/INSTALL.rst @@ -32,43 +32,14 @@ Although not required, we suggest also installing ``IPython`` for interactive use. To easily install a complete Scientific Python stack, see :ref:`install_scipy_dists` below. -.. _installing_windows: - -Windows -------- - -In case Python 2.7 or 3.4 are not installed for all users, -the Microsoft Visual C++ 2008 -(`64 bit `__ -or -`32 bit `__ -for Python 2.7) or Microsoft Visual C++ 2010 -(`64 bit `__ -or -`32 bit `__ -for Python 3.4) redistributable packages need to be installed. macOS ----- -If you are using Python 2.7 on a Mac you may need to do:: - - xcode-select --install - -so that *subprocess32*, a dependency, may be compiled. - To use the native OSX backend you will need :ref:`a framework build ` build of Python. -Linux ------ - -On extremely old versions of Linux and Python 2.7 you may need to -install the master version of *subprocess32* (`see comments -`__). - - Test Data --------- @@ -167,7 +138,7 @@ Dependencies Matplotlib requires a large number of dependencies: - * `Python `_ (>= 2.7 or >= 3.4) + * `Python `_ (>= 3.5) * `NumPy `_ (>= |minimum_numpy_version|) * `setuptools `__ * `dateutil `_ (>= 2.1) @@ -177,10 +148,6 @@ Matplotlib requires a large number of dependencies: * FreeType (>= 2.3) * `cycler `__ (>= 0.10.0) * `six `_ - * `backports.functools_lru_cache `_ - (for Python 2.7 only) - * `subprocess32 `_ (for Python - 2.7 only, on Linux and macOS only) * `kiwisolver `__ (>= 1.0.0) Optionally, you can also install a number of packages to enable better user @@ -325,8 +292,6 @@ without fiddling with environment variables:: conda install pyqt # this package is only available in the conda-forge channel conda install -c conda-forge msinttypes - # for Python 2.7 - conda install -c conda-forge backports.functools_lru_cache # copy the libs which have "wrong" names set LIBRARY_LIB=%CONDA_DEFAULT_ENV%\Library\lib diff --git a/doc/faq/installing_faq.rst b/doc/faq/installing_faq.rst index 8dcb047da395..2e866804c991 100644 --- a/doc/faq/installing_faq.rst +++ b/doc/faq/installing_faq.rst @@ -216,11 +216,6 @@ the disk image installer only works for Python.org Python, and will not get picked up by other Pythons. If all these fail, please :ref:`let us know `. -Windows Notes -============= - -See :ref:`installing_windows`. - .. _install-from-git: Install from source From 2cac22c5779713eb8e48e0181ed521bcc28fcb38 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Mon, 12 Feb 2018 08:31:38 -0500 Subject: [PATCH 0045/1161] TST: use python -mpip instead of pip --- .travis.yml | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index 62a106db598d..53952458904f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -113,7 +113,10 @@ before_install: brew tap homebrew/gui brew install python3 libpng ffmpeg imagemagick mplayer ccache # make 'python' mean 'python3' - ln -s /usr/local/bin/python3 /usr/local/bin/python + ln -sf /usr/local/bin/python3 /usr/local/bin/python + hash -r + which python + python --version # We could install ghostscript and inkscape here to test svg and pdf # but this makes the test time really long. # brew install ghostscript inkscape @@ -128,10 +131,10 @@ install: ccache -s git describe # Upgrade pip and setuptools and wheel to get as clean an install as possible - pip install --upgrade pip setuptools wheel + python -mpip install --upgrade pip setuptools wheel - | # Install dependencies from PyPI - pip install --upgrade $PRE \ + python -mpip install --upgrade $PRE \ codecov \ coverage \ $CYCLER \ @@ -150,22 +153,22 @@ install: # install was successful by trying to import the toolkit (sometimes, the # install appears to be successful but shared libraries cannot be loaded at # runtime, so an actual import is a better check). - pip install cairocffi pgi && + python -mpip install cairocffi pgi && python -c 'import pgi as gi; gi.require_version("Gtk", "3.0"); from pgi.repository import Gtk' && echo 'pgi is available' || echo 'pgi is not available' - pip install pyqt5==5.9 && + python -mpip install pyqt5==5.9 && python -c 'import PyQt5.QtCore' && echo 'PyQt5 is available' || echo 'PyQt5 is not available' - pip install -U --pre \ + python -mpip install -U --pre \ --no-index -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-14.04 \ wxPython && python -c 'import wx' && echo 'wxPython is available' || echo 'wxPython is not available' - pip install $PRE \ + python -mpip install $PRE \ $PYTEST \ $PYTEST_COV \ pytest-faulthandler \ @@ -178,7 +181,7 @@ install: cp ci/travis/setup.cfg . - | # Install matplotlib - pip install -ve . + python -mpip install -ve . before_script: - | From e3442aeb537e1100ec25c99cfdeaea204af28af6 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Mon, 12 Feb 2018 11:46:46 -0500 Subject: [PATCH 0046/1161] API: bump minimum numpy version to minimum that supports 3.5 --- .travis.yml | 2 +- lib/matplotlib/__init__.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 53952458904f..4a0c702e7873 100644 --- a/.travis.yml +++ b/.travis.yml @@ -72,7 +72,7 @@ matrix: - DATEUTIL=python-dateutil==2.1 - MOCK=mock - NOSE=nose - - NUMPY=numpy==1.7.1 + - NUMPY=numpy==1.10.0 - PANDAS='pandas<0.21.0' - PYPARSING=pyparsing==2.0.1 - PYTEST=pytest==3.1.0 diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 86776dd3069a..871c38718fe1 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -142,7 +142,7 @@ _log = logging.getLogger(__name__) -__version__numpy__ = str('1.7.1') # minimum required numpy version +__version__numpy__ = str('1.10.0') # minimum required numpy version __bibtex__ = r"""@Article{Hunter:2007, Author = {Hunter, J. D.}, From c36902c19622aae8102e12d6ffb4b65f84211465 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Mon, 12 Feb 2018 15:56:42 -0500 Subject: [PATCH 0047/1161] Require Python 3 for installation. This change is based on the work that IPython did for their transition to Python 3-only [1]. [1] https://www.youtube.com/watch?v=2DkfPzWWC2Q --- lib/matplotlib/__init__.py | 13 +++++++++++++ setup.py | 4 ++++ setupext.py | 22 +++++++++++++--------- 3 files changed, 30 insertions(+), 9 deletions(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 871c38718fe1..d90e9a0545e3 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -99,6 +99,8 @@ to MATLAB®, a registered trademark of The MathWorks, Inc. """ +# NOTE: This file must remain Python 2 compatible for the forseeable future, +# to ensure that we error out properly for existing editable installs. from __future__ import absolute_import, division, print_function import six @@ -122,6 +124,17 @@ import tempfile import warnings +if sys.version_info < (3, 5): # noqa: E402 + raise ImportError(""" +Matplotlib 3.0+ does not support Python 2.x, 3.0, 3.1, 3.2, 3.3, or 3.4. +Beginning with Matplotlib 3.0, Python 3.5 and above is required. + +See Matplotlib `INSTALL.rst` file for more information: + + https://github.com/matplotlib/matplotlib/blob/master/INSTALL.rst + +""") + # cbook must import matplotlib only within function # definitions, so it is safe to import from it here. from . import cbook diff --git a/setup.py b/setup.py index e6e4b4dac2da..9a16373ee303 100644 --- a/setup.py +++ b/setup.py @@ -3,6 +3,9 @@ setup.cfg.template for more information. """ +# NOTE: This file must remain Python 2 compatible for the forseeable future, +# to ensure that we error out properly for people with outdated setuptools +# and/or pip. from __future__ import print_function, absolute_import from string import Template from setuptools import setup @@ -265,6 +268,7 @@ def run(self): classifiers=classifiers, download_url="http://matplotlib.org/users/installing.html", + python_requires='>=3.5', # List third-party Python packages that we require install_requires=install_requires, setup_requires=setup_requires, diff --git a/setupext.py b/setupext.py index 99c30128e5f4..4e29476a1b0e 100644 --- a/setupext.py +++ b/setupext.py @@ -1,3 +1,6 @@ +# NOTE: This file must remain Python 2 compatible for the forseeable future, +# to ensure that we error out properly for people with outdated setuptools +# and/or pip. from __future__ import print_function, absolute_import from importlib import import_module @@ -680,15 +683,16 @@ class Python(SetupPackage): def check(self): major, minor1, minor2, s, tmp = sys.version_info - if major < 2: - raise CheckFailed( - "Requires Python 2.7 or later") - elif major == 2 and minor1 < 7: - raise CheckFailed( - "Requires Python 2.7 or later (in the 2.x series)") - elif major == 3 and minor1 < 4: - raise CheckFailed( - "Requires Python 3.4 or later (in the 3.x series)") + if major < 3 or minor1 < 5: + error = """ +Matplotlib 3.0+ does not support Python 2.x, 3.0, 3.1, 3.2, 3.3, or 3.4. +Beginning with Matplotlib 3.0, Python 3.5 and above is required. + +This may be due to an out of date pip. + +Make sure you have pip >= 9.0.1. +""" + raise CheckFailed(error) return sys.version From b1ffc8198de6a9ec51bd3a6b10e5fd3c1762b0c3 Mon Sep 17 00:00:00 2001 From: David Stansby Date: Mon, 12 Feb 2018 21:12:08 +0000 Subject: [PATCH 0048/1161] Bump minimum numpy on circleci --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f41ced3229a2..6fa03850027f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -128,7 +128,7 @@ jobs: - run: <<: *deps-install environment: - NUMPY_VERSION: "==1.7.1" + NUMPY_VERSION: "==1.10.0" - run: *mpl-install - run: *doc-build From fc4ace6385f3060531293464fd615aed160fb809 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Mon, 12 Feb 2018 20:17:28 -0500 Subject: [PATCH 0049/1161] TST: use python -mpytest instead of pytest --- ci/travis/test_script.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/travis/test_script.sh b/ci/travis/test_script.sh index f0f9e1944433..f6446d21f16d 100755 --- a/ci/travis/test_script.sh +++ b/ci/travis/test_script.sh @@ -17,4 +17,4 @@ fi echo The following args are passed to pytest $PYTEST_ARGS $RUN_PEP8 -pytest $PYTEST_ARGS $RUN_PEP8 +python -mpytest $PYTEST_ARGS $RUN_PEP8 From 08b5466622ccb92b6db7b7cd732059a1703d2c43 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Mon, 12 Feb 2018 22:06:50 -0500 Subject: [PATCH 0050/1161] Add datetime64 workaround for NumPy 1.10. --- lib/matplotlib/dates.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/dates.py b/lib/matplotlib/dates.py index 09bae4ea5b37..f4ba5c06dcb3 100644 --- a/lib/matplotlib/dates.py +++ b/lib/matplotlib/dates.py @@ -283,7 +283,8 @@ def _dt64_to_ordinalf(d): # the "extra" ensures that we at least allow the dynamic range out to # seconds. That should get out to +/-2e11 years. - extra = d - d.astype('datetime64[s]') + # NOTE: First cast truncates; second cast back is for NumPy 1.10. + extra = d - d.astype('datetime64[s]').astype(d.dtype) extra = extra.astype('timedelta64[ns]') t0 = np.datetime64('0001-01-01T00:00:00').astype('datetime64[s]') dt = (d.astype('datetime64[s]') - t0).astype(np.float64) From 60cc718badcef4e33e26597b387a5f33cf598411 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Tue, 13 Feb 2018 09:00:31 -0500 Subject: [PATCH 0051/1161] CI: remove extraneous line --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 4a0c702e7873..7aea3798a6bc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -110,7 +110,6 @@ before_install: export PATH=/usr/lib/ccache:$PATH else brew update - brew tap homebrew/gui brew install python3 libpng ffmpeg imagemagick mplayer ccache # make 'python' mean 'python3' ln -sf /usr/local/bin/python3 /usr/local/bin/python From 549c3dfe3990039552f1a70d8e916f206773dd75 Mon Sep 17 00:00:00 2001 From: David Stansby Date: Tue, 13 Feb 2018 15:16:31 +0000 Subject: [PATCH 0052/1161] Add canonical link to webpages --- doc/_templates/layout.html | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/_templates/layout.html b/doc/_templates/layout.html index c2524692b55b..f0d0ec778f5d 100644 --- a/doc/_templates/layout.html +++ b/doc/_templates/layout.html @@ -153,7 +153,9 @@

{{ _('Navigation') }}

}}" /> {%- endif %} {%- endblock %} -{%- block extrahead %} {% endblock %} +{%- block extrahead %} + +{% endblock %} From 528a74671b3c6f8332930a0201bc93462f028937 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Tue, 13 Feb 2018 16:59:42 +0100 Subject: [PATCH 0053/1161] Fix doc build error. --- lib/matplotlib/image.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/image.py b/lib/matplotlib/image.py index 0f874d46f277..233897c2944d 100644 --- a/lib/matplotlib/image.py +++ b/lib/matplotlib/image.py @@ -679,10 +679,10 @@ def set_interpolation(self, s): agg, ps and pdf backends and will fall back to 'nearest' mode for other backends. - ACCEPTS: ['nearest' | 'bilinear' | 'bicubic' | 'spline16' | - 'spline36' | 'hanning' | 'hamming' | 'hermite' | 'kaiser' | - 'quadric' | 'catrom' | 'gaussian' | 'bessel' | 'mitchell' | - 'sinc' | 'lanczos' | 'none' |] + .. ACCEPTS: ['nearest' | 'bilinear' | 'bicubic' | 'spline16' | + 'spline36' | 'hanning' | 'hamming' | 'hermite' | 'kaiser' | + 'quadric' | 'catrom' | 'gaussian' | 'bessel' | 'mitchell' | + 'sinc' | 'lanczos' | 'none' ] """ if s is None: From b117b2ac407e0a3d4ba8079ec45ba0702895bbb4 Mon Sep 17 00:00:00 2001 From: akrherz Date: Tue, 13 Feb 2018 12:06:24 -0600 Subject: [PATCH 0054/1161] DOC: s/xasis/xaxis/ in whats_new.rst --- doc/users/whats_new.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/users/whats_new.rst b/doc/users/whats_new.rst index 12e228786b50..2198416bca27 100644 --- a/doc/users/whats_new.rst +++ b/doc/users/whats_new.rst @@ -272,7 +272,7 @@ The old behaviour, wrapping back in to the range, often hid outliers and made interpreting RGB images unreliable. -Properties in `matplotlibrc` to place xasis and yaxis tick labels +Properties in `matplotlibrc` to place xaxis and yaxis tick labels ----------------------------------------------------------------- Introducing four new boolean properties in `.matplotlibrc` for default From 13bf5e22bcd4681de1d33b615ff94f15dd3b768c Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Thu, 8 Feb 2018 18:58:23 +0100 Subject: [PATCH 0055/1161] numpydoc-ify art3d docstrings --- lib/mpl_toolkits/mplot3d/art3d.py | 182 +++++++++++++++++------------- setupext.py | 4 +- 2 files changed, 108 insertions(+), 78 deletions(-) diff --git a/lib/mpl_toolkits/mplot3d/art3d.py b/lib/mpl_toolkits/mplot3d/art3d.py index ef55dd693e1e..3ff3fc58192d 100644 --- a/lib/mpl_toolkits/mplot3d/art3d.py +++ b/lib/mpl_toolkits/mplot3d/art3d.py @@ -2,10 +2,10 @@ # Parts rewritten by Reinier Heeres # Minor additions by Ben Axelrod -''' +""" Module containing 3D artist code and functions to convert 2D artists into 3D versions which can be added to an Axes3D. -''' +""" from __future__ import (absolute_import, division, print_function, unicode_literals) @@ -28,7 +28,7 @@ def norm_angle(a): - """Return angle between -180 and +180""" + """Return the given angle normalized to -180 < *a* <= 180 degrees.""" a = (a + 360) % 360 if a > 180: a = a - 360 @@ -36,7 +36,7 @@ def norm_angle(a): def norm_text_angle(a): - """Return angle between -90 and +90""" + """Return the given angle normalized to -90 < *a* <= 90 degrees.""" a = (a + 180) % 180 if a > 90: a = a - 180 @@ -44,6 +44,26 @@ def norm_text_angle(a): def get_dir_vector(zdir): + """ + Return a direction vector. + + Parameters + ---------- + zdir : {'x', 'y', 'z', None, 3-tuple} + The direction. Possible values are: + - 'x': equivalent to (1, 0, 0) + - 'y': euqivalent to (0, 1, 0) + - 'z': equivalent to (0, 0, 1) + - *None*: euqivalent to (0, 0, 0) + - an iterable (x, y, z) is returned unchanged. + + Returns + ------- + x, y, z : array-like + The direction vector. This is either a numpy.array or *zdir* itself if + *zdir* is already a length-3 iterable. + + """ if zdir == 'x': return np.array((1, 0, 0)) elif zdir == 'y': @@ -59,18 +79,26 @@ def get_dir_vector(zdir): class Text3D(mtext.Text): - ''' - Text object with 3D position and (in the future) direction. - ''' + """ + Text object with 3D position and direction. + + Parameters + ---------- + x, y, z + The position of the text. + text : str + The text string to display. + zdir : {'x', 'y', 'z', None, 3-tuple} + The direction of the text. See `.get_dir_vector` for a description of + the values. + + Other Parameters + ---------------- + **kwargs + All other parameters are passed on to `~matplotlib.text.Text`. + """ def __init__(self, x=0, y=0, z=0, text='', zdir='z', **kwargs): - ''' - *x*, *y*, *z* Position of text - *text* Text string to display - *zdir* Direction of text - - Keyword arguments are passed onto :func:`~matplotlib.text.Text`. - ''' mtext.Text.__init__(self, x, y, text, **kwargs) self.set_3d_properties(z, zdir) @@ -103,14 +131,14 @@ def text_2d_to_3d(obj, z=0, zdir='z'): class Line3D(lines.Line2D): - ''' + """ 3D line object. - ''' + """ def __init__(self, xs, ys, zs, *args, **kwargs): - ''' + """ Keyword arguments are passed onto :func:`~matplotlib.lines.Line2D`. - ''' + """ lines.Line2D.__init__(self, [], [], *args, **kwargs) self._verts3d = xs, ys, zs @@ -137,15 +165,14 @@ def draw(self, renderer): def line_2d_to_3d(line, zs=0, zdir='z'): - ''' - Convert a 2D line to 3D. - ''' + """Convert a 2D line to 3D.""" + line.__class__ = Line3D line.set_3d_properties(zs, zdir) def path_to_3d_segment(path, zs=0, zdir='z'): - '''Convert a path to a 3D segment.''' + """Convert a path to a 3D segment.""" zs = _backports.broadcast_to(zs, len(path)) pathsegs = path.iter_segments(simplify=False, curves=False) @@ -155,9 +182,7 @@ def path_to_3d_segment(path, zs=0, zdir='z'): def paths_to_3d_segments(paths, zs=0, zdir='z'): - ''' - Convert paths from a collection object to 3D segments. - ''' + """Convert paths from a collection object to 3D segments.""" zs = _backports.broadcast_to(zs, len(paths)) segs = [path_to_3d_segment(path, pathz, zdir) @@ -166,7 +191,7 @@ def paths_to_3d_segments(paths, zs=0, zdir='z'): def path_to_3d_segment_with_codes(path, zs=0, zdir='z'): - '''Convert a path to a 3D segment with path codes.''' + """Convert a path to a 3D segment with path codes.""" zs = _backports.broadcast_to(zs, len(path)) seg = [] @@ -180,9 +205,9 @@ def path_to_3d_segment_with_codes(path, zs=0, zdir='z'): def paths_to_3d_segments_with_codes(paths, zs=0, zdir='z'): - ''' + """ Convert paths from a collection object to 3D segments with path codes. - ''' + """ zs = _backports.broadcast_to(zs, len(paths)) segments = [] @@ -195,32 +220,32 @@ def paths_to_3d_segments_with_codes(paths, zs=0, zdir='z'): class Line3DCollection(LineCollection): - ''' + """ A collection of 3D lines. - ''' + """ def __init__(self, segments, *args, **kwargs): - ''' + """ Keyword arguments are passed onto :func:`~matplotlib.collections.LineCollection`. - ''' + """ LineCollection.__init__(self, segments, *args, **kwargs) def set_sort_zpos(self, val): - '''Set the position to use for z-sorting.''' + """Set the position to use for z-sorting.""" self._sort_zpos = val self.stale = True def set_segments(self, segments): - ''' - Set 3D segments - ''' + """ + Set 3D segments. + """ self._segments3d = np.asanyarray(segments) LineCollection.set_segments(self, []) def do_3d_projection(self, renderer): - ''' + """ Project the points according to renderer matrix. - ''' + """ xyslist = [ proj3d.proj_trans_points(points, renderer.M) for points in self._segments3d] @@ -247,9 +272,9 @@ def line_collection_2d_to_3d(col, zs=0, zdir='z'): class Patch3D(Patch): - ''' + """ 3D patch object. - ''' + """ def __init__(self, *args, **kwargs): zs = kwargs.pop('zs', []) @@ -283,9 +308,9 @@ def draw(self, renderer): class PathPatch3D(Patch3D): - ''' + """ 3D PathPatch object. - ''' + """ def __init__(self, path, **kwargs): zs = kwargs.pop('zs', []) @@ -336,9 +361,9 @@ def pathpatch_2d_to_3d(pathpatch, z=0, zdir='z'): class Patch3DCollection(PatchCollection): - ''' + """ A collection of 3D patches. - ''' + """ def __init__(self, *args, **kwargs): """ @@ -363,7 +388,7 @@ def __init__(self, *args, **kwargs): self.set_3d_properties(zs, zdir) def set_sort_zpos(self, val): - '''Set the position to use for z-sorting.''' + """Set the position to use for z-sorting.""" self._sort_zpos = val self.stale = True @@ -404,9 +429,9 @@ def do_3d_projection(self, renderer): class Path3DCollection(PathCollection): - ''' + """ A collection of 3D paths. - ''' + """ def __init__(self, *args, **kwargs): """ @@ -431,7 +456,7 @@ def __init__(self, *args, **kwargs): self.set_3d_properties(zs, zdir) def set_sort_zpos(self, val): - '''Set the position to use for z-sorting.''' + """Set the position to use for z-sorting.""" self._sort_zpos = val self.stale = True @@ -478,15 +503,15 @@ def patch_collection_2d_to_3d(col, zs=0, zdir='z', depthshade=True): (or a :class:`~matplotlib.collections.PathCollection` into a :class:`Path3DCollection` object). - Keywords: - - *za* The location or locations to place the patches in the - collection along the *zdir* axis. Defaults to 0. - - *zdir* The axis in which to place the patches. Default is "z". - - *depthshade* Whether to shade the patches to give a sense of depth. - Defaults to *True*. + Parameters + ---------- + za + The location or locations to place the patches in the collection along + the *zdir* axis. Default: 0. + zdir + The axis in which to place the patches. Default: "z". + depthshade + Whether to shade the patches to give a sense of depth. Default: *True*. """ if isinstance(col, PathCollection): @@ -498,12 +523,12 @@ def patch_collection_2d_to_3d(col, zs=0, zdir='z', depthshade=True): class Poly3DCollection(PolyCollection): - ''' + """ A collection of 3D polygons. - ''' + """ def __init__(self, verts, *args, **kwargs): - ''' + """ Create a Poly3DCollection. *verts* should contain 3D coordinates. @@ -513,7 +538,7 @@ def __init__(self, verts, *args, **kwargs): Note that this class does a bit of magic with the _facecolors and _edgecolors properties. - ''' + """ zsort = kwargs.pop('zsort', True) PolyCollection.__init__(self, verts, *args, **kwargs) self.set_zsort(zsort) @@ -526,11 +551,16 @@ def __init__(self, verts, *args, **kwargs): } def set_zsort(self, zsort): - ''' - Set z-sorting behaviour: - boolean: if True use default 'average' - string: 'average', 'min' or 'max' - ''' + """ + Sets the calculation method for the z-order. + + Parameters + ---------- + zsort : bool or {'average', 'min', 'max'} + For 'average', 'min', 'max' the z-order is determined by applying + the function to the z-coordinates of the vertices in the viewer's + coordinate system. *True* is equivalent to 'average'. + """ if zsort is True: zsort = 'average' @@ -549,7 +579,7 @@ def set_zsort(self, zsort): self.stale = True def get_vector(self, segments3d): - """Optimize points for projection""" + """Optimize points for projection.""" si = 0 ei = 0 segis = [] @@ -571,14 +601,14 @@ def get_vector(self, segments3d): self._segis = segis def set_verts(self, verts, closed=True): - '''Set 3D vertices.''' + """Set 3D vertices.""" self.get_vector(verts) # 2D verts will be updated at draw time PolyCollection.set_verts(self, [], False) self._closed = closed def set_verts_and_codes(self, verts, codes): - '''Sets 3D vertices with path codes''' + """Sets 3D vertices with path codes.""" # set vertices with closed=False to prevent PolyCollection from # setting path codes self.set_verts(verts, closed=False) @@ -597,14 +627,14 @@ def set_3d_properties(self): self.stale = True def set_sort_zpos(self,val): - '''Set the position to use for z-sorting.''' + """Set the position to use for z-sorting.""" self._sort_zpos = val self.stale = True def do_3d_projection(self, renderer): - ''' + """ Perform the 3D projection for this object. - ''' + """ # FIXME: This may no longer be needed? if self._A is not None: self.update_scalarmappable() @@ -673,10 +703,10 @@ def set_edgecolor(self, colors): def set_alpha(self, alpha): """ - Set the alpha tranparencies of the collection. *alpha* must be + Set the alpha transparencies of the collection. *alpha* must be a float or *None*. - ACCEPTS: float or None + .. ACCEPTS: float or None """ if alpha is not None: try: @@ -754,14 +784,14 @@ def rotate_axes(xs, ys, zs, zdir): def get_colors(c, num): - """Stretch the color argument to provide the required number num""" + """Stretch the color argument to provide the required number *num*.""" return _backports.broadcast_to( mcolors.to_rgba_array(c) if len(c) else [0, 0, 0, 0], (num, 4)) def zalpha(colors, zs): - """Modify the alphas of the color list according to depth""" + """Modify the alphas of the color list according to depth.""" # FIXME: This only works well if the points for *zs* are well-spaced # in all three dimensions. Otherwise, at certain orientations, # the min and max zs are very close together. diff --git a/setupext.py b/setupext.py index 99c30128e5f4..b86ee11a9be6 100644 --- a/setupext.py +++ b/setupext.py @@ -1848,10 +1848,10 @@ def convert_qt_version(self, version): return '.'.join(temp) def check_requirements(self): - ''' + """ If PyQt4/PyQt5 is already imported, importing PyQt5/PyQt4 will fail so we need to test in a subprocess (as for Gtk3). - ''' + """ try: p = multiprocessing.Pool() From 2b7fd51cacb08181109863a257f2899f67cd79f7 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Tue, 13 Feb 2018 21:14:14 -0500 Subject: [PATCH 0056/1161] DOC: add active state to install docs --- INSTALL.rst | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/INSTALL.rst b/INSTALL.rst index 5e3d03a71509..d3cf30f63360 100644 --- a/INSTALL.rst +++ b/INSTALL.rst @@ -96,12 +96,13 @@ Third-party distributions of Matplotlib Scientific Python Distributions ------------------------------- -Both `Anaconda `_ and `Canopy -`_ are both excellent +`Anaconda `_ and `Canopy +`_ and `ActiveState +`_ are excellent choices that "just work" out of the box for Windows, macOS and common Linux platforms. `WinPython `__ is an option for windows users. All of these distributions include -Matplotlib and *lots* of other useful tools. +Matplotlib and *lots* of other useful (data) science tools. Linux : using your package manager From 11005929eccea12453ea104face63ab55b3b0ba0 Mon Sep 17 00:00:00 2001 From: cclauss Date: Wed, 14 Feb 2018 10:28:12 +0100 Subject: [PATCH 0057/1161] Set packet_ends = None before using in dviread.py __packed_ends__ is used on lines 649 and 653 but it is not defined/set until line 666. This drives linters nuts because it is safer to set variables before using them. --- lib/matplotlib/dviread.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/dviread.py b/lib/matplotlib/dviread.py index b12abf4148cd..6f4ed6398fc0 100644 --- a/lib/matplotlib/dviread.py +++ b/lib/matplotlib/dviread.py @@ -640,7 +640,7 @@ def _read(self): Read one page from the file. Return True if successful, False if there were no more pages. """ - packet_len, packet_char, packet_width = None, None, None + packet_char, packet_ends, packet_len, packet_width = None, None, None, None while True: byte = ord(self.file.read(1)[0]) # If we are in a packet, execute the dvi instructions From 9c475c687ae0f933dc8d31f3524bd0ce2fc2d8ad Mon Sep 17 00:00:00 2001 From: Paul Seyfert Date: Wed, 14 Feb 2018 18:22:44 +0100 Subject: [PATCH 0058/1161] fix broken link in lib/matplotlib/dates.py comment This closes #10453 --- lib/matplotlib/dates.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/dates.py b/lib/matplotlib/dates.py index f4ba5c06dcb3..4f94687e02e9 100644 --- a/lib/matplotlib/dates.py +++ b/lib/matplotlib/dates.py @@ -726,7 +726,7 @@ def strftime(self, dt, fmt=None): fmt = fmt.replace("%s", "s") if dt.year >= 1900: # Note: in python 3.3 this is okay for years >= 1000, - # refer to http://bugs.python.org/issue177742 + # refer to http://bugs.python.org/issue1777412 return cbook.unicode_safe(dt.strftime(fmt)) return self.strftime_pre_1900(dt, fmt) From 0ff76aca3722b3b56a9c6c5e8f115c43852093b9 Mon Sep 17 00:00:00 2001 From: ch3rn0v Date: Wed, 14 Feb 2018 21:08:08 +0300 Subject: [PATCH 0059/1161] Fix add_subplot documentation regarding args --- lib/matplotlib/figure.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index a640a38f1128..d15bda1015e4 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -1151,8 +1151,8 @@ def add_subplot(self, *args, **kwargs): *args Either a 3-digit integer or three separate integers describing the position of the subplot. If the three - integers are I, J, and K in order, the subplot is the - Kth plot on a grid with I rows and J columns. + integers are R, C, and P in order, the subplot will take + the Pth position on a grid with R rows and C columns. projection : ['aitoff' | 'hammer' | 'lambert' | \ 'mollweide' | 'polar' | 'rectilinear'], optional From 582d98a38d5c65743f2775d86da3d422391d4c4d Mon Sep 17 00:00:00 2001 From: "Adrien F. Vincent" Date: Wed, 14 Feb 2018 12:01:33 -0800 Subject: [PATCH 0060/1161] Add cividis to the tutorial about colormaps --- tutorials/colors/colormaps.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tutorials/colors/colormaps.py b/tutorials/colors/colormaps.py index 01bd2d05dc58..6d3b58b6a8c6 100644 --- a/tutorials/colors/colormaps.py +++ b/tutorials/colors/colormaps.py @@ -84,8 +84,8 @@ # amongst the colormaps: some are approximately linear in :math:`L^*` and others # are more curved. -cmaps['Perceptually Uniform Sequential'] = ['viridis', 'plasma', - 'inferno', 'magma'] +cmaps['Perceptually Uniform Sequential'] = [ + 'viridis', 'plasma', 'inferno', 'magma', 'cividis'] cmaps['Sequential'] = [ 'Greys', 'Purples', 'Blues', 'Greens', 'Oranges', 'Reds', @@ -205,7 +205,7 @@ def plot_color_gradients(cmap_category, cmap_list, nrows): mpl.rcParams.update({'font.size': 12}) # Number of colormap per subplot for particular cmap categories -_DSUBS = {'Perceptually Uniform Sequential': 4, 'Sequential': 6, +_DSUBS = {'Perceptually Uniform Sequential': 5, 'Sequential': 6, 'Sequential (2)': 6, 'Diverging': 6, 'Qualitative': 4, 'Miscellaneous': 6} From 84292c46902913273d9231414e19bd11664117a6 Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Wed, 14 Feb 2018 12:24:37 -0800 Subject: [PATCH 0061/1161] FIX: make set_text(None) keep string empty instead of "None" (#10392) * FIX: make set_text(None) keep string empty --- doc/api/next_api_changes/2018-02-07-JMK.rst | 9 +++++++++ lib/matplotlib/legend.py | 10 ++++++---- lib/matplotlib/tests/test_legend.py | 11 +++++++++++ lib/matplotlib/text.py | 13 +++++++++---- 4 files changed, 35 insertions(+), 8 deletions(-) create mode 100644 doc/api/next_api_changes/2018-02-07-JMK.rst diff --git a/doc/api/next_api_changes/2018-02-07-JMK.rst b/doc/api/next_api_changes/2018-02-07-JMK.rst new file mode 100644 index 000000000000..3a98bb67e5ad --- /dev/null +++ b/doc/api/next_api_changes/2018-02-07-JMK.rst @@ -0,0 +1,9 @@ +`Text.set_text` with string argument ``None`` sets string to empty +------------------------------------------------------------------ + +`Text.set_text` when passed a string value of ``None`` would set the +string to ``"None"``, so subsequent calls to `Text.get_text` would return +the ambiguous ``"None"`` string. + +This change sets text objects passed ``None`` to have empty strings, so that +`Text.get_text` returns and an empty string. diff --git a/lib/matplotlib/legend.py b/lib/matplotlib/legend.py index 08b5c45de1cf..0f42a34c01fb 100644 --- a/lib/matplotlib/legend.py +++ b/lib/matplotlib/legend.py @@ -1103,16 +1103,18 @@ def set_title(self, title, prop=None): with *prop* parameter. """ self._legend_title_box._text.set_text(title) + if title: + self._legend_title_box._text.set_visible(True) + self._legend_title_box.set_visible(True) + else: + self._legend_title_box._text.set_visible(False) + self._legend_title_box.set_visible(False) if prop is not None: if isinstance(prop, dict): prop = FontProperties(**prop) self._legend_title_box._text.set_fontproperties(prop) - if title: - self._legend_title_box.set_visible(True) - else: - self._legend_title_box.set_visible(False) self.stale = True def get_title(self): diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py index 55b8adc77745..b25cea273487 100644 --- a/lib/matplotlib/tests/test_legend.py +++ b/lib/matplotlib/tests/test_legend.py @@ -517,3 +517,14 @@ def test_shadow_framealpha(): ax.plot(range(100), label="test") leg = ax.legend(shadow=True, facecolor='w') assert leg.get_frame().get_alpha() == 1 + + +def test_legend_title_empty(): + # test that if we don't set the legend title, that + # it comes back as an empty string, and that it is not + # visible: + fig, ax = plt.subplots() + ax.plot(range(10)) + leg = ax.legend() + assert leg.get_title().get_text() == "" + assert leg.get_title().get_visible() is False diff --git a/lib/matplotlib/text.py b/lib/matplotlib/text.py index 7477916828fa..c15a0c08be80 100644 --- a/lib/matplotlib/text.py +++ b/lib/matplotlib/text.py @@ -158,6 +158,7 @@ def __init__(self, elif isinstance(fontproperties, six.string_types): fontproperties = FontProperties(fontproperties) + self._text = '' self.set_text(text) self.set_color(color) self.set_usetex(usetex) @@ -1158,14 +1159,18 @@ def set_verticalalignment(self, align): def set_text(self, s): """ - Set the text string *s* + Set the text string *s*. It may contain newlines (``\\n``) or math in LaTeX syntax. - ACCEPTS: string or anything printable with '%s' conversion. + ACCEPTS: string or object castable to string, except + ``None``, which is set to an empty string. """ - self._text = '%s' % (s,) - self.stale = True + if s is None: + s = '' + if s != self._text: + self._text = '%s' % (s,) + self.stale = True @staticmethod def is_math_text(s, usetex=None): From fd1c38775ed5977a34b17e7147b09ec3262781b6 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 6 Jan 2016 01:37:06 -0500 Subject: [PATCH 0062/1161] DOC: Add Attributes heading to type1font. --- lib/matplotlib/type1font.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/matplotlib/type1font.py b/lib/matplotlib/type1font.py index de6c030299bf..0eed97ec68ea 100644 --- a/lib/matplotlib/type1font.py +++ b/lib/matplotlib/type1font.py @@ -44,14 +44,15 @@ class Type1Font(object): """ A class representing a Type-1 font, for use by backends. - .. attribute:: parts + Attributes + ---------- + parts : tuple + A 3-tuple of the cleartext part, the encrypted part, and the finale of + zeros. - A 3-tuple of the cleartext part, the encrypted part, and the - finale of zeros. + prop : Dict[str, Any] + A dictionary of font properties. - .. attribute:: prop - - A dictionary of font properties. """ __slots__ = ('parts', 'prop') From 83755bf97329db0474cbe2a94145018bc1e1412c Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 6 Jan 2016 20:59:20 -0500 Subject: [PATCH 0063/1161] DOC: Add numpydoc headings in font_manager. --- lib/matplotlib/font_manager.py | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/lib/matplotlib/font_manager.py b/lib/matplotlib/font_manager.py index 5364413bfd40..6f6268c5ad5d 100644 --- a/lib/matplotlib/font_manager.py +++ b/lib/matplotlib/font_manager.py @@ -395,10 +395,18 @@ def __repr__(self): def ttfFontProperty(font): """ - A function for populating the :class:`FontKey` by extracting - information from the TrueType font file. + Extract information from a TrueType font file. + + Parameters + ---------- + font : `.FT2Font` + The TrueType font file from which information will be extracted. + + Returns + ------- + `FontEntry` + The extracted font properties. - *font* is a :class:`FT2Font` instance. """ name = font.family_name @@ -474,10 +482,18 @@ def ttfFontProperty(font): def afmFontProperty(fontpath, font): """ - A function for populating a :class:`FontKey` instance by - extracting information from the AFM font file. + Extract information from an AFM font file. + + Parameters + ---------- + font : `.AFM` + The AFM font file from which information will be extracted. + + Returns + ------- + `FontEntry` + The extracted font properties. - *font* is a class:`AFM` instance. """ name = font.get_familyname() From a060141820ca86e8351a78909d42e9395d1146a0 Mon Sep 17 00:00:00 2001 From: cclauss Date: Wed, 14 Feb 2018 22:35:52 +0100 Subject: [PATCH 0064/1161] Shorter lines to avoid PEP8 violation --- lib/matplotlib/dviread.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/dviread.py b/lib/matplotlib/dviread.py index 6f4ed6398fc0..b38af56e67ec 100644 --- a/lib/matplotlib/dviread.py +++ b/lib/matplotlib/dviread.py @@ -640,7 +640,8 @@ def _read(self): Read one page from the file. Return True if successful, False if there were no more pages. """ - packet_char, packet_ends, packet_len, packet_width = None, None, None, None + packet_char, packet_ends = None, None + packet_len, packet_width = None, None while True: byte = ord(self.file.read(1)[0]) # If we are in a packet, execute the dvi instructions From cf8bad620d1c5cff3efbe18c4478f053cd612567 Mon Sep 17 00:00:00 2001 From: Paul Hobson Date: Wed, 14 Feb 2018 08:33:00 -0800 Subject: [PATCH 0065/1161] DOC: remove sphinx markup that confused SG --- examples/recipes/create_subplots.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/recipes/create_subplots.py b/examples/recipes/create_subplots.py index 32ea893801ea..976f24821637 100644 --- a/examples/recipes/create_subplots.py +++ b/examples/recipes/create_subplots.py @@ -24,7 +24,7 @@ # Fernando Perez has provided a nice top level method to create in # :func:`~matplotlib.pyplots.subplots` (note the "s" at the end) # everything at once, and turn on x and y sharing for the whole bunch. -# You can either unpack the axes individually:: +# You can either unpack the axes individually... # new style method 1; unpack the axes fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2, sharex=True, sharey=True) From 5960b77ff3d61167bc6b194014959954c2d81332 Mon Sep 17 00:00:00 2001 From: "Adrien F. Vincent" Date: Wed, 14 Feb 2018 16:26:01 -0800 Subject: [PATCH 0066/1161] typos --- lib/matplotlib/offsetbox.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/offsetbox.py b/lib/matplotlib/offsetbox.py index 7340fb8c6d4e..96fe8dc73df8 100644 --- a/lib/matplotlib/offsetbox.py +++ b/lib/matplotlib/offsetbox.py @@ -1611,14 +1611,14 @@ class DraggableBase(object): helper code for a draggable artist (legend, offsetbox) The derived class must override following two method. - def saveoffset(self): + def save_offset(self): pass def update_offset(self, dx, dy): pass - *saveoffset* is called when the object is picked for dragging and it is - meant to save reference position of the artist. + *save_offset* is called when the object is picked for dragging and it + is meant to save reference position of the artist. *update_offset* is called during the dragging. dx and dy is the pixel offset from the point where the mouse drag started. From 8b73cb2270192cd7ed5b2a35b14e9de2aca43fd7 Mon Sep 17 00:00:00 2001 From: "Adrien F. Vincent" Date: Wed, 14 Feb 2018 17:06:02 -0800 Subject: [PATCH 0067/1161] fix draggable legend offset changes with dpi value --- lib/matplotlib/legend.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/legend.py b/lib/matplotlib/legend.py index 08b5c45de1cf..7ab78c76a1bc 100644 --- a/lib/matplotlib/legend.py +++ b/lib/matplotlib/legend.py @@ -731,6 +731,7 @@ def _set_loc(self, loc): # value of the find_offset. self._loc_real = loc self.stale = True + self._legend_box.set_offset(self._findoffset) def _get_loc(self): return self._loc_real @@ -1002,7 +1003,6 @@ def _init_legend_box(self, handles, labels, markerfirst=True): children=[self._legend_title_box, self._legend_handle_box]) self._legend_box.set_figure(self.figure) - self._legend_box.set_offset(self._findoffset) self.texts = text_list self.legendHandles = handle_list From 551d9e9aaa2b25caed84055b9d49fec11c251fdd Mon Sep 17 00:00:00 2001 From: Importance of Being Ernest Date: Thu, 15 Feb 2018 02:17:10 +0100 Subject: [PATCH 0068/1161] update example docstring of afm.py In order for the example to work in python 3, the file needs to be read in binary mode: `open(afm_fname, 'rb')` --- lib/matplotlib/afm.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/afm.py b/lib/matplotlib/afm.py index 5a2cffbfbb7b..1b5f4d5f6a0d 100644 --- a/lib/matplotlib/afm.py +++ b/lib/matplotlib/afm.py @@ -19,7 +19,7 @@ ... 'fonts', 'afm', 'ptmr8a.afm') >>> >>> from matplotlib.afm import AFM - >>> with open(afm_fname) as fh: + >>> with open(afm_fname, 'rb') as fh: ... afm = AFM(fh) >>> afm.string_width_height('What the heck?') (6220.0, 694) From 97c27dd82e1d813e9399fa9242e031f030b865a0 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Tue, 13 Feb 2018 01:47:16 +0100 Subject: [PATCH 0069/1161] mkdir is in the stdlib in Py3. --- lib/matplotlib/__init__.py | 9 +++------ lib/matplotlib/cbook/__init__.py | 1 + lib/matplotlib/sphinxext/plot_directive.py | 4 ++-- lib/matplotlib/testing/compare.py | 10 +++++----- lib/matplotlib/testing/decorators.py | 9 ++++----- lib/matplotlib/texmanager.py | 17 +++++++++-------- 6 files changed, 24 insertions(+), 26 deletions(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index d90e9a0545e3..934d848e470a 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -117,6 +117,7 @@ import locale import logging import os +from pathlib import Path import re import shutil import stat @@ -651,14 +652,10 @@ def _get_xdg_cache_dir(): def _get_config_or_cache_dir(xdg_base): - from matplotlib.cbook import mkdirs - configdir = os.environ.get('MPLCONFIGDIR') if configdir is not None: configdir = os.path.abspath(configdir) - if not os.path.exists(configdir): - mkdirs(configdir) - + Path(configdir).mkdir(parents=True, exist_ok=True) if not _is_writable_dir(configdir): return _create_tmp_config_dir() return configdir @@ -678,7 +675,7 @@ def _get_config_or_cache_dir(xdg_base): return p else: try: - mkdirs(p) + Path(p).mkdir(parents=True, exist_ok=True) except OSError: pass else: diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index c90e42e9f641..91f9c76c7002 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -850,6 +850,7 @@ def __delattr__(self, name): return self +@deprecated("3.0") def mkdirs(newdir, mode=0o777): """ make directory *newdir* recursively, and set *mode*. Equivalent to :: diff --git a/lib/matplotlib/sphinxext/plot_directive.py b/lib/matplotlib/sphinxext/plot_directive.py index d7f03b881d9f..09f049da3f72 100644 --- a/lib/matplotlib/sphinxext/plot_directive.py +++ b/lib/matplotlib/sphinxext/plot_directive.py @@ -142,6 +142,7 @@ import sys, os, shutil, io, re, textwrap from os.path import relpath +from pathlib import Path import traceback import warnings @@ -846,8 +847,7 @@ def run(arguments, content, options, state_machine, state, lineno): state_machine.insert_input(total_lines, source=source_file_name) # copy image files to builder's output directory, if necessary - if not os.path.exists(dest_dir): - cbook.mkdirs(dest_dir) + Path(dest_dir).mkdir(parents=True, exist_ok=True) for code_piece, images in results: for img in images: diff --git a/lib/matplotlib/testing/compare.py b/lib/matplotlib/testing/compare.py index dcda681d4384..218ba33297fa 100644 --- a/lib/matplotlib/testing/compare.py +++ b/lib/matplotlib/testing/compare.py @@ -11,6 +11,7 @@ import hashlib import itertools import os +from pathlib import Path import re import shutil import sys @@ -85,11 +86,10 @@ def get_cache_dir(): if cachedir is None: raise RuntimeError('Could not find a suitable configuration directory') cache_dir = os.path.join(cachedir, 'test_cache') - if not os.path.exists(cache_dir): - try: - cbook.mkdirs(cache_dir) - except IOError: - return None + try: + Path(cache_dir).mkdir(parents=True, exist_ok=True) + except IOError: + return None if not os.access(cache_dir, os.W_OK): return None return cache_dir diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py index 0ce6e6252493..24a3b94e420b 100644 --- a/lib/matplotlib/testing/decorators.py +++ b/lib/matplotlib/testing/decorators.py @@ -5,10 +5,11 @@ import functools import inspect import os -import sys +from pathlib import Path import shutil -import warnings +import sys import unittest +import warnings # Note - don't import nose up here - import it only as needed in functions. # This allows other functions here to be used by pytest-based testing suites @@ -532,9 +533,7 @@ def find_dotted_module(module_name, path=None): baseline_dir = os.path.join(basedir, 'baseline_images', subdir) result_dir = os.path.abspath(os.path.join('result_images', subdir)) - - if not os.path.exists(result_dir): - cbook.mkdirs(result_dir) + Path(result_dir).mkdir(parents=True, exist_ok=True) return baseline_dir, result_dir diff --git a/lib/matplotlib/texmanager.py b/lib/matplotlib/texmanager.py index c9001151cde9..1a8eea8953b8 100644 --- a/lib/matplotlib/texmanager.py +++ b/lib/matplotlib/texmanager.py @@ -39,20 +39,20 @@ import copy import glob +import hashlib +import logging import os +from pathlib import Path import shutil import sys import warnings -import logging - -from hashlib import md5 import distutils.version import numpy as np import matplotlib as mpl from matplotlib import rcParams from matplotlib._png import read_png -from matplotlib.cbook import mkdirs, Locked +from matplotlib.cbook import Locked from matplotlib.compat.subprocess import subprocess, Popen, PIPE, STDOUT import matplotlib.dviread as dviread import re @@ -88,7 +88,7 @@ class TexManager(object): cachedir = mpl.get_cachedir() if cachedir is not None: texcache = os.path.join(cachedir, 'tex.cache') - mkdirs(texcache) + Path(texcache).mkdir(parents=True, exist_ok=True) else: # Should only happen in a restricted environment (such as Google App # Engine). Deal with this gracefully by not creating a cache directory. @@ -136,7 +136,7 @@ def __init__(self): raise RuntimeError('Cannot create TexManager, as there is no ' 'cache directory available') - mkdirs(self.texcache) + Path(self.texcache).mkdir(parents=True, exist_ok=True) ff = rcParams['font.family'] if len(ff) == 1 and ff[0].lower() in self.font_families: self.font_family = ff[0].lower() @@ -171,7 +171,7 @@ def __init__(self): # correct png is selected for strings rendered with same font and dpi # even if the latex preamble changes within the session preamble_bytes = self.get_custom_preamble().encode('utf-8') - fontconfig.append(md5(preamble_bytes).hexdigest()) + fontconfig.append(hashlib.md5(preamble_bytes).hexdigest()) self._fontconfig = ''.join(fontconfig) # The following packages and commands need to be included in the latex @@ -188,7 +188,8 @@ def get_basefile(self, tex, fontsize, dpi=None): """ s = ''.join([tex, self.get_font_config(), '%f' % fontsize, self.get_custom_preamble(), str(dpi or '')]) - return os.path.join(self.texcache, md5(s.encode('utf-8')).hexdigest()) + return os.path.join( + self.texcache, hashlib.md5(s.encode('utf-8')).hexdigest()) def get_font_config(self): """Reinitializes self if relevant rcParams on have changed.""" From 1f923d40d67d95a0d0aa3cdaea329ce9c4296d90 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Thu, 15 Feb 2018 03:01:25 +0100 Subject: [PATCH 0070/1161] Replace is_numlike by isinstance(..., numbers.Number). Since we bumped the min numpy version to 1.10, numpy scalars are now also instances of numbers.Number. --- .../2018-02-15-AL-deprecations.rst | 4 ++++ lib/matplotlib/axes/_axes.py | 3 ++- lib/matplotlib/cbook/__init__.py | 1 + lib/matplotlib/collections.py | 4 +++- lib/matplotlib/lines.py | 7 ++++--- lib/matplotlib/markers.py | 9 +++++---- lib/matplotlib/patches.py | 3 ++- lib/matplotlib/pyplot.py | 8 ++++---- lib/matplotlib/units.py | 10 +++++++--- lib/mpl_toolkits/axes_grid1/axes_grid.py | 7 ++++--- lib/mpl_toolkits/axes_grid1/axes_size.py | 16 ++++++++++++---- 11 files changed, 48 insertions(+), 24 deletions(-) create mode 100644 doc/api/next_api_changes/2018-02-15-AL-deprecations.rst diff --git a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst new file mode 100644 index 000000000000..781a5fe85eab --- /dev/null +++ b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst @@ -0,0 +1,4 @@ +Deprecations +```````````` +``cbook.is_numlike`` is deprecated. Use ``isinstance(..., numbers.Number)`` +instead. diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index d6ad5453e645..dc3a722484e5 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -8,6 +8,7 @@ import itertools import logging import math +from numbers import Number import warnings import numpy as np @@ -6526,7 +6527,7 @@ def hist(self, x, bins=None, range=None, density=None, weights=None, m[:] = (m / db) / tops[-1].sum() if cumulative: slc = slice(None) - if cbook.is_numlike(cumulative) and cumulative < 0: + if isinstance(cumulative, Number) and cumulative < 0: slc = slice(None, None, -1) if density: diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index c90e42e9f641..02d71238094e 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -581,6 +581,7 @@ def is_scalar(obj): return not isinstance(obj, six.string_types) and not iterable(obj) +@deprecated('3.0', 'isinstance(..., numbers.Number)') def is_numlike(obj): """return true if *obj* looks like a number""" return isinstance(obj, (numbers.Number, np.number)) diff --git a/lib/matplotlib/collections.py b/lib/matplotlib/collections.py index 9e124cdf479d..21ec61905ce0 100644 --- a/lib/matplotlib/collections.py +++ b/lib/matplotlib/collections.py @@ -15,6 +15,8 @@ import six from six.moves import zip + +from numbers import Number try: from math import gcd except ImportError: @@ -370,7 +372,7 @@ def contains(self, mouseevent): pickradius = ( float(self._picker) - if cbook.is_numlike(self._picker) and + if isinstance(self._picker, Number) and self._picker is not True # the bool, not just nonzero or 1 else self._pickradius) diff --git a/lib/matplotlib/lines.py b/lib/matplotlib/lines.py index 984f5b025f4b..429fcac2cc24 100644 --- a/lib/matplotlib/lines.py +++ b/lib/matplotlib/lines.py @@ -9,6 +9,7 @@ import six +from numbers import Number import warnings import numpy as np @@ -16,7 +17,7 @@ from . import artist, cbook, colors as mcolors, docstring, rcParams from .artist import Artist, allow_rasterization from .cbook import ( - _to_unmasked_float_array, iterable, is_numlike, ls_mapper, ls_mapper_r, + _to_unmasked_float_array, iterable, ls_mapper, ls_mapper_r, STEP_LOOKUP_MAP) from .markers import MarkerStyle from .path import Path @@ -421,7 +422,7 @@ def __init__(self, xdata, ydata, self.update(kwargs) self.pickradius = pickradius self.ind_offset = 0 - if is_numlike(self._picker): + if isinstance(self._picker, Number): self.pickradius = self._picker self._xorig = np.asarray([]) @@ -456,7 +457,7 @@ def contains(self, mouseevent): if callable(self._contains): return self._contains(self, mouseevent) - if not is_numlike(self.pickradius): + if not isinstance(self.pickradius, Number): raise ValueError("pick radius should be a distance") # Make sure we have data to plot diff --git a/lib/matplotlib/markers.py b/lib/matplotlib/markers.py index ff27c4b253bf..d27cb1456b0c 100644 --- a/lib/matplotlib/markers.py +++ b/lib/matplotlib/markers.py @@ -90,11 +90,11 @@ from six.moves import xrange from collections import Sized +from numbers import Number import numpy as np -from . import rcParams -from .cbook import is_math_text, is_numlike +from . import cbook, rcParams from .path import Path from .transforms import IdentityTransform, Affine2D @@ -259,7 +259,8 @@ def set_marker(self, marker): marker in self.markers): self._marker_function = getattr( self, '_set_' + self.markers[marker]) - elif isinstance(marker, six.string_types) and is_math_text(marker): + elif (isinstance(marker, six.string_types) + and cbook.is_math_text(marker)): self._marker_function = self._set_mathtext_path elif isinstance(marker, Path): self._marker_function = self._set_path_marker @@ -309,7 +310,7 @@ def _set_vertices(self): def _set_tuple_marker(self): marker = self._marker - if is_numlike(marker[0]): + if isinstance(marker[0], Number): if len(marker) == 2: numsides, rotation = marker[0], 0.0 elif len(marker) == 3: diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index 1d66125561b1..a46d3a4d48e9 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -7,6 +7,7 @@ from six.moves import map, zip import math +from numbers import Number import warnings import numpy as np @@ -120,7 +121,7 @@ def get_verts(self): def _process_radius(self, radius): if radius is not None: return radius - if cbook.is_numlike(self._picker): + if isinstance(self._picker, Number): _radius = self._picker else: if self.get_edgecolor()[3] == 0: diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index 296a05bede20..1a86ea4c6c01 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -22,6 +22,7 @@ import six +from numbers import Number import sys import time import warnings @@ -31,9 +32,8 @@ import matplotlib.colorbar from matplotlib import style from matplotlib import _pylab_helpers, interactive -from matplotlib.cbook import dedent, silent_list, is_numlike -from matplotlib.cbook import _string_to_bool -from matplotlib.cbook import deprecated, warn_deprecated +from matplotlib.cbook import ( + dedent, deprecated, silent_list, warn_deprecated, _string_to_bool) from matplotlib import docstring from matplotlib.backend_bases import FigureCanvasBase from matplotlib.figure import Figure, figaspect @@ -2421,7 +2421,7 @@ def getname_val(identifier): 'return the name and column data for identifier' if isinstance(identifier, six.string_types): return identifier, r[identifier] - elif is_numlike(identifier): + elif isinstance(identifier, Number): name = r.dtype.names[int(identifier)] return name, r[name] else: diff --git a/lib/matplotlib/units.py b/lib/matplotlib/units.py index b1140ded00b0..0df465430b46 100644 --- a/lib/matplotlib/units.py +++ b/lib/matplotlib/units.py @@ -46,9 +46,13 @@ def default_units(x, axis): import six -from matplotlib.cbook import iterable, is_numlike, safe_first_element + +from numbers import Number + import numpy as np +from matplotlib.cbook import iterable, safe_first_element + class AxisInfo(object): """ @@ -125,9 +129,9 @@ def is_numlike(x): """ if iterable(x): for thisx in x: - return is_numlike(thisx) + return isinstance(thisx, Number) else: - return is_numlike(x) + return isinstance(x, Number) class Registry(dict): diff --git a/lib/mpl_toolkits/axes_grid1/axes_grid.py b/lib/mpl_toolkits/axes_grid1/axes_grid.py index dde0e8dd7ccb..b6031e742d5d 100644 --- a/lib/mpl_toolkits/axes_grid1/axes_grid.py +++ b/lib/mpl_toolkits/axes_grid1/axes_grid.py @@ -3,8 +3,9 @@ import six +from numbers import Number + import matplotlib.axes as maxes -import matplotlib.cbook as cbook import matplotlib.ticker as ticker from matplotlib.gridspec import SubplotSpec @@ -208,7 +209,7 @@ def __init__(self, fig, h = [] v = [] - if isinstance(rect, six.string_types) or cbook.is_numlike(rect): + if isinstance(rect, (str, Number)): self._divider = SubplotDivider(fig, rect, horizontal=h, vertical=v, aspect=False) elif isinstance(rect, SubplotSpec): @@ -529,7 +530,7 @@ def __init__(self, fig, h = [] v = [] - if isinstance(rect, six.string_types) or cbook.is_numlike(rect): + if isinstance(rect, (str, Number)): self._divider = SubplotDivider(fig, rect, horizontal=h, vertical=v, aspect=aspect) elif isinstance(rect, SubplotSpec): diff --git a/lib/mpl_toolkits/axes_grid1/axes_size.py b/lib/mpl_toolkits/axes_grid1/axes_size.py index 163a6245fef0..0c91a2a9753b 100644 --- a/lib/mpl_toolkits/axes_grid1/axes_size.py +++ b/lib/mpl_toolkits/axes_grid1/axes_size.py @@ -15,9 +15,11 @@ class (or others) to determine the size of each axes. The unit import six -import matplotlib.cbook as cbook +from numbers import Number + from matplotlib.axes import Axes + class _Base(object): "Base class" @@ -44,6 +46,7 @@ def get_size(self, renderer): b_rel_size, b_abs_size = self._b.get_size(renderer) return a_rel_size + b_rel_size, a_abs_size + b_abs_size + class AddList(_Base): def __init__(self, add_list): self._list = add_list @@ -75,7 +78,8 @@ def get_size(self, renderer): abs_size = 0. return rel_size, abs_size -Scalable=Scaled +Scalable = Scaled + def _get_axes_aspect(ax): aspect = ax.get_aspect() @@ -89,6 +93,7 @@ def _get_axes_aspect(ax): return aspect + class AxesX(_Base): """ Scaled size whose relative part corresponds to the data width @@ -113,6 +118,7 @@ def get_size(self, renderer): abs_size = 0. return rel_size, abs_size + class AxesY(_Base): """ Scaled size whose relative part corresponds to the data height @@ -194,7 +200,6 @@ def get_size(self, renderer): return rel_size, abs_size - class MaxHeight(_Base): """ Size whose absolute part is the largest height of @@ -239,6 +244,7 @@ def get_size(self, renderer): abs_size = a*self._fraction return rel_size, abs_size + class Padded(_Base): """ Return a instance where the absolute part of *size* is @@ -254,6 +260,7 @@ def get_size(self, renderer): abs_size = a + self._pad return rel_size, abs_size + def from_any(size, fraction_ref=None): """ Creates Fixed unit when the first argument is a float, or a @@ -264,7 +271,7 @@ def from_any(size, fraction_ref=None): >>> Size.from_any("50%", a) # => Size.Fraction(0.5, a) """ - if cbook.is_numlike(size): + if isinstance(size, Number): return Fixed(size) elif isinstance(size, six.string_types): if size[-1] == "%": @@ -286,6 +293,7 @@ def get_size(self, renderer): return rel_size, abs_size + class GetExtentHelper(object): def _get_left(tight_bbox, axes_bbox): return axes_bbox.xmin - tight_bbox.xmin From d00485aeb6914aca797f93f813a500335e80059e Mon Sep 17 00:00:00 2001 From: "Adrien F. Vincent" Date: Wed, 14 Feb 2018 19:40:48 -0800 Subject: [PATCH 0071/1161] detail a bit more about tableau-colorblind10 --- doc/users/whats_new.rst | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/doc/users/whats_new.rst b/doc/users/whats_new.rst index 2198416bca27..648daabc7c5b 100644 --- a/doc/users/whats_new.rst +++ b/doc/users/whats_new.rst @@ -161,7 +161,14 @@ New style colorblind-friendly color cycle A new style defining a color cycle has been added, tableau-colorblind10, to provide another option for -colorblind-friendly plots. +colorblind-friendly plots. A demonstration of this new +style can be found in the reference_ of style sheets. To +load this color cycle in place of the default one:: + + import matplotlib.pyplot as plt + plt.style.use('tableau-colorblind10') + +.. _reference: https://matplotlib.org/gallery/style_sheets/style_sheets_reference.html Support for numpy.datetime64 From 659a4176b8e28e6932e35a757c7ae2207e23dde8 Mon Sep 17 00:00:00 2001 From: Derek Tropf Date: Thu, 15 Feb 2018 11:36:27 -0500 Subject: [PATCH 0072/1161] Separate plots using #### in xkcd.py Separate plots using full line of '#' characters in xkcd.py for Sphinx-gallery rendering per issue #8922 --- examples/showcase/xkcd.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/examples/showcase/xkcd.py b/examples/showcase/xkcd.py index 8e905f0fca1c..0e18ea4d0401 100644 --- a/examples/showcase/xkcd.py +++ b/examples/showcase/xkcd.py @@ -9,6 +9,8 @@ import numpy as np with plt.xkcd(): + +############################################################################### # Based on "Stove Ownership" from XKCD by Randall Monroe # http://xkcd.com/418/ @@ -36,6 +38,7 @@ '"Stove Ownership" from xkcd by Randall Monroe', ha='center') +############################################################################### # Based on "The Data So Far" from XKCD by Randall Monroe # http://xkcd.com/373/ From 255717a582e6072f4ea681fb5495a26cc223b55e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jouni=20K=2E=20Sepp=C3=A4nen?= Date: Mon, 12 Feb 2018 18:43:03 +0200 Subject: [PATCH 0073/1161] Remove Python 2 compatibility code from backend_pdf.py --- lib/matplotlib/backends/backend_pdf.py | 46 +++++++++++--------------- 1 file changed, 19 insertions(+), 27 deletions(-) diff --git a/lib/matplotlib/backends/backend_pdf.py b/lib/matplotlib/backends/backend_pdf.py index 4f248fde9a7e..4f45fa3d97f1 100644 --- a/lib/matplotlib/backends/backend_pdf.py +++ b/lib/matplotlib/backends/backend_pdf.py @@ -4,11 +4,6 @@ A PDF matplotlib backend Author: Jouni K Seppänen """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six -from six import unichr import codecs import collections @@ -160,11 +155,11 @@ def pdfRepr(obj): return [b'false', b'true'][obj] # Integers are written as such. - elif isinstance(obj, (six.integer_types, np.integer)): + elif isinstance(obj, (int, np.integer)): return ("%d" % obj).encode('ascii') # Unicode strings are encoded in UTF-16BE with byte-order mark. - elif isinstance(obj, six.text_type): + elif isinstance(obj, str): try: # But maybe it's really ASCII? s = obj.encode('ASCII') @@ -269,7 +264,7 @@ def __repr__(self): return "" % self.name def __str__(self): - return '/' + six.text_type(self.name) + return '/' + str(self.name) def __eq__(self, other): return isinstance(other, Name) and self.name == other.name @@ -325,7 +320,7 @@ def pdfRepr(self): grestore=b'Q', textpos=b'Td', selectfont=b'Tf', textmatrix=b'Tm', show=b'Tj', showkern=b'TJ', setlinewidth=b'w', clip=b'W', shading=b'sh') -Op = Bunch(**{name: Operator(value) for name, value in six.iteritems(_pdfops)}) +Op = Bunch(**{name: Operator(value) for name, value in _pdfops.items()}) def _paint_path(fill, stroke): @@ -576,14 +571,14 @@ def finalize(self): self.writeFonts() self.writeObject( self.alphaStateObject, - {val[0]: val[1] for val in six.itervalues(self.alphaStates)}) + {val[0]: val[1] for val in self.alphaStates.values()}) self.writeHatches() self.writeGouraudTriangles() xobjects = { - name: ob for image, name, ob in six.itervalues(self._images)} - for tup in six.itervalues(self.markers): + name: ob for image, name, ob in self._images.values()} + for tup in self.markers.values(): xobjects[tup[0]] = tup[1] - for name, value in six.iteritems(self.multi_byte_charprocs): + for name, value in self.multi_byte_charprocs.items(): xobjects[name] = value for name, path, trans, ob, join, cap, padding, filled, stroked \ in self.paths: @@ -639,7 +634,7 @@ def fontName(self, fontprop): as the filename of the font. """ - if isinstance(fontprop, six.string_types): + if isinstance(fontprop, str): filename = fontprop elif rcParams['pdf.use14corefonts']: filename = findfont( @@ -1078,7 +1073,7 @@ def embedTTFType42(font, characters, descriptor): flags=LOAD_NO_SCALE | LOAD_NO_HINTING) widths.append((ccode, cvt(glyph.horiAdvance))) if ccode < 65536: - cid_to_gid_map[ccode] = unichr(gind) + cid_to_gid_map[ccode] = chr(gind) max_ccode = max(ccode, max_ccode) widths.sort() cid_to_gid_map = cid_to_gid_map[:max_ccode + 1] @@ -1232,7 +1227,7 @@ def hatchPattern(self, hatch_style): def writeHatches(self): hatchDict = dict() sidelen = 72.0 - for hatch_style, name in six.iteritems(self.hatchPatterns): + for hatch_style, name in self.hatchPatterns.items(): ob = self.reserveObject('hatch pattern') hatchDict[name] = ob res = {'Procsets': @@ -1410,7 +1405,7 @@ def _writeImg(self, data, height, width, grayscale, id, smask=None): self.endStream() def writeImages(self): - for img, name, ob in six.itervalues(self._images): + for img, name, ob in self._images.values(): height, width, data, adata = self._unpack(img) if adata is not None: smaskObject = self.reserveObject("smask") @@ -1451,7 +1446,7 @@ def markerObject(self, path, trans, fill, stroke, lw, joinstyle, def writeMarkers(self): for ((pathops, fill, stroke, joinstyle, capstyle), - (name, ob, bbox, lw)) in six.iteritems(self.markers): + (name, ob, bbox, lw)) in self.markers.items(): bbox = bbox.padded(lw * 0.5) self.beginStream( ob.id, None, @@ -1557,7 +1552,7 @@ def writeInfoDict(self): """Write out the info dictionary, checking it for good form""" def is_string_like(x): - return isinstance(x, six.string_types) + return isinstance(x, str) def is_date(x): return isinstance(x, datetime) @@ -1643,7 +1638,7 @@ def check_gc(self, gc, fillcolor=None): def track_characters(self, font, s): """Keeps track of which characters are required from each font.""" - if isinstance(font, six.string_types): + if isinstance(font, str): fname = font else: fname = font.fname @@ -1653,7 +1648,7 @@ def track_characters(self, font, s): used_characters[1].update([ord(x) for x in s]) def merge_used_characters(self, other): - for stat_key, (realpath, charset) in six.iteritems(other): + for stat_key, (realpath, charset) in other.items(): used_characters = self.file.used_characters.setdefault( stat_key, (realpath, set())) used_characters[1].update(charset) @@ -1881,7 +1876,7 @@ def draw_mathtext(self, gc, x, y, s, prop, angle): self.file.output(self.file.fontName(fontname), fontsize, Op.selectfont) prev_font = fontname, fontsize - self.file.output(self.encode_string(unichr(num), fonttype), + self.file.output(self.encode_string(chr(num), fonttype), Op.show) self.file.output(Op.end_text) @@ -1935,10 +1930,7 @@ def draw_tex(self, gc, x, y, s, prop, angle, ismath='TeX!', mtext=None): pdfname = self.file.dviFontName(dvifont) seq += [['font', pdfname, dvifont.size]] oldfont = dvifont - # We need to convert the glyph numbers to bytes, and the easiest - # way to do this on both Python 2 and 3 is .encode('latin-1') - seq += [['text', x1, y1, - [six.unichr(glyph).encode('latin-1')], x1+width]] + seq += [['text', x1, y1, [bytes([glyph])], x1+width]] # Find consecutive text strings with constant y coordinate and # combine into a sequence of strings and kerns, or just one @@ -2046,7 +2038,7 @@ def check_simple_method(s): if fonttype == 3 and not isinstance(s, bytes) and len(s) != 0: # Break the string into chunks where each chunk is either # a string of chars <= 255, or a single character > 255. - s = six.text_type(s) + s = str(s) for c in s: if ord(c) <= 255: char_type = 1 From 5c245f2c3121b2ef28908903076e1f6a899969e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jouni=20K=2E=20Sepp=C3=A4nen?= Date: Tue, 13 Feb 2018 20:35:21 +0200 Subject: [PATCH 0074/1161] Remove unneeded imports from test_backend_pdf.py --- lib/matplotlib/tests/test_backend_pdf.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/lib/matplotlib/tests/test_backend_pdf.py b/lib/matplotlib/tests/test_backend_pdf.py index 01fb0f2439a4..05a1e4b81141 100644 --- a/lib/matplotlib/tests/test_backend_pdf.py +++ b/lib/matplotlib/tests/test_backend_pdf.py @@ -1,9 +1,3 @@ -# -*- encoding: utf-8 -*- - -from __future__ import absolute_import, division, print_function - -import six - import io import os import sys From 13225b30cc1dd9b98539268f258ca9bef74feef7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jouni=20K=2E=20Sepp=C3=A4nen?= Date: Thu, 15 Feb 2018 20:37:22 +0200 Subject: [PATCH 0075/1161] Remove backports.functools_lru_cache --- build_alllocal.cmd | 2 -- lib/matplotlib/dviread.py | 7 +------ lib/matplotlib/font_manager.py | 6 +----- lib/matplotlib/fontconfig_pattern.py | 5 +---- lib/matplotlib/mathtext.py | 6 +----- lib/matplotlib/path.py | 5 +---- setupext.py | 2 -- 7 files changed, 5 insertions(+), 28 deletions(-) diff --git a/build_alllocal.cmd b/build_alllocal.cmd index 7a357302c4ae..dbda9149a3c1 100644 --- a/build_alllocal.cmd +++ b/build_alllocal.cmd @@ -6,8 +6,6 @@ :: conda install pyqt :: # this package is only available in the conda-forge channel :: conda install -c conda-forge msinttypes -:: if you build on py2.7: -:: conda install -c conda-forge backports.functools_lru_cache set TARGET=bdist_wheel IF [%1]==[] ( diff --git a/lib/matplotlib/dviread.py b/lib/matplotlib/dviread.py index b12abf4148cd..936b72a2c5bb 100644 --- a/lib/matplotlib/dviread.py +++ b/lib/matplotlib/dviread.py @@ -23,7 +23,7 @@ from six.moves import xrange from collections import namedtuple -from functools import partial, wraps +from functools import lru_cache, partial, wraps import logging import numpy as np import os @@ -35,11 +35,6 @@ from matplotlib import cbook, rcParams from matplotlib.compat import subprocess -try: - from functools import lru_cache -except ImportError: # Py2 - from backports.functools_lru_cache import lru_cache - if six.PY3: def ord(x): return x diff --git a/lib/matplotlib/font_manager.py b/lib/matplotlib/font_manager.py index 6f6268c5ad5d..b9921bd8bde9 100644 --- a/lib/matplotlib/font_manager.py +++ b/lib/matplotlib/font_manager.py @@ -45,6 +45,7 @@ """ from collections import Iterable +from functools import lru_cache import json import os import sys @@ -57,11 +58,6 @@ from matplotlib.fontconfig_pattern import ( parse_fontconfig_pattern, generate_fontconfig_pattern) -try: - from functools import lru_cache -except ImportError: - from backports.functools_lru_cache import lru_cache - _log = logging.getLogger(__name__) USE_FONTCONFIG = False diff --git a/lib/matplotlib/fontconfig_pattern.py b/lib/matplotlib/fontconfig_pattern.py index 5104c25d3623..ecb18924a6f0 100644 --- a/lib/matplotlib/fontconfig_pattern.py +++ b/lib/matplotlib/fontconfig_pattern.py @@ -22,10 +22,7 @@ from pyparsing import (Literal, ZeroOrMore, Optional, Regex, StringEnd, ParseException, Suppress) -try: - from functools import lru_cache -except ImportError: - from backports.functools_lru_cache import lru_cache +from functools import lru_cache family_punc = r'\\\-:,' family_unescape = re.compile(r'\\([%s])' % family_punc).sub diff --git a/lib/matplotlib/mathtext.py b/lib/matplotlib/mathtext.py index 2d87e8a7aec8..024ea9accc15 100644 --- a/lib/matplotlib/mathtext.py +++ b/lib/matplotlib/mathtext.py @@ -24,11 +24,7 @@ from math import ceil import unicodedata from warnings import warn - -try: - from functools import lru_cache -except ImportError: # Py2 - from backports.functools_lru_cache import lru_cache +from functools import lru_cache import numpy as np diff --git a/lib/matplotlib/path.py b/lib/matplotlib/path.py index c0153401ecb9..f21434c62dbc 100644 --- a/lib/matplotlib/path.py +++ b/lib/matplotlib/path.py @@ -16,10 +16,7 @@ from weakref import WeakValueDictionary -try: - from functools import lru_cache -except ImportError: # Py2 - from backports.functools_lru_cache import lru_cache +from functools import lru_cache import numpy as np diff --git a/setupext.py b/setupext.py index 4e29476a1b0e..b8586d682a4e 100644 --- a/setupext.py +++ b/setupext.py @@ -1441,8 +1441,6 @@ def get_install_requires(self): "six>=1.10", "kiwisolver>=1.0.1", ] - if sys.version_info < (3,): - install_requires += ["backports.functools_lru_cache"] if sys.version_info < (3,) and os.name == "posix": install_requires += ["subprocess32"] return install_requires From 87786b1ef9319881c67145de31a5178d8d5430a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jouni=20K=2E=20Sepp=C3=A4nen?= Date: Thu, 15 Feb 2018 20:27:18 +0200 Subject: [PATCH 0076/1161] Remove python 2 compatibility code from dviread --- lib/matplotlib/dviread.py | 71 ++++++++-------------------- lib/matplotlib/tests/test_dviread.py | 5 +- 2 files changed, 22 insertions(+), 54 deletions(-) diff --git a/lib/matplotlib/dviread.py b/lib/matplotlib/dviread.py index b12abf4148cd..dfda893a8a3d 100644 --- a/lib/matplotlib/dviread.py +++ b/lib/matplotlib/dviread.py @@ -17,13 +17,8 @@ ... """ -from __future__ import absolute_import, division, print_function - -import six -from six.moves import xrange - from collections import namedtuple -from functools import partial, wraps +from functools import lru_cache, partial, wraps import logging import numpy as np import os @@ -35,15 +30,6 @@ from matplotlib import cbook, rcParams from matplotlib.compat import subprocess -try: - from functools import lru_cache -except ImportError: # Py2 - from backports.functools_lru_cache import lru_cache - -if six.PY3: - def ord(x): - return x - _log = logging.getLogger(__name__) # Dvi is a bytecode format documented in @@ -172,7 +158,7 @@ def wrapper(self, byte): if max is None: table[min] = wrapper else: - for i in xrange(min, max+1): + for i in range(min, max+1): assert table[i] is None table[i] = wrapper return wrapper @@ -194,7 +180,7 @@ class Dvi(object): >>> print(''.join(unichr(t.glyph) for t in page.text)) """ # dispatch table - _dtable = [None for _ in xrange(256)] + _dtable = [None for _ in range(256)] _dispatch = partial(_dispatch, _dtable) def __init__(self, filename, dpi): @@ -311,7 +297,7 @@ def _read(self): False if there were no more pages. """ while True: - byte = ord(self.file.read(1)[0]) + byte = self.file.read(1)[0] self._dtable[byte](self, byte) if byte == 140: # end of page return True @@ -325,11 +311,11 @@ def _arg(self, nbytes, signed=False): Signedness is determined by the *signed* keyword. """ str = self.file.read(nbytes) - value = ord(str[0]) + value = str[0] if signed and value >= 0x80: value = value - 0x100 for i in range(1, nbytes): - value = 0x100*value + ord(str[i]) + value = 0x100*value + str[i] return value @_dispatch(min=0, max=127, state=_dvistate.inpage) @@ -445,14 +431,9 @@ def _fnt_num(self, new_f): @_dispatch(min=239, max=242, args=('ulen1',)) def _xxx(self, datalen): special = self.file.read(datalen) - if six.PY3: - chr_ = chr - else: - def chr_(x): - return x _log.debug( 'Dvi._xxx: encountered special: %s', - ''.join([chr_(ch) if 32 <= ord(ch) < 127 else '<%02x>' % ord(ch) + ''.join([chr(ch) if 32 <= ch < 127 else '<%02x>' % ch for ch in special])) @_dispatch(min=243, max=246, args=('olen1', 'u4', 'u4', 'u4', 'u1', 'u1')) @@ -464,11 +445,7 @@ def _fnt_def_real(self, k, c, s, d, a, l): fontname = n[-l:].decode('ascii') tfm = _tfmfile(fontname) if tfm is None: - if six.PY2: - error_class = OSError - else: - error_class = FileNotFoundError - raise error_class("missing font metrics file: %s" % fontname) + raise FileNotFoundError("missing font metrics file: %s" % fontname) if c != 0 and tfm.checksum != 0 and c != tfm.checksum: raise ValueError('tfm checksum mismatch: %s' % n) @@ -561,7 +538,7 @@ def __init__(self, scale, tfm, texname, vf): except ValueError: nchars = 0 self.widths = [(1000*tfm.width.get(char, 0)) >> 20 - for char in xrange(nchars)] + for char in range(nchars)] def __eq__(self, other): return self.__class__ == other.__class__ and \ @@ -642,7 +619,7 @@ def _read(self): """ packet_len, packet_char, packet_width = None, None, None while True: - byte = ord(self.file.read(1)[0]) + byte = self.file.read(1)[0] # If we are in a packet, execute the dvi instructions if self.state == _dvistate.inpage: byte_at = self.file.tell()-1 @@ -773,9 +750,9 @@ def __init__(self, filename): widths, heights, depths = \ [struct.unpack('!%dI' % (len(x)/4), x) for x in (widths, heights, depths)] - for idx, char in enumerate(xrange(bc, ec+1)): - byte0 = ord(char_info[4*idx]) - byte1 = ord(char_info[4*idx+1]) + for idx, char in enumerate(range(bc, ec+1)): + byte0 = char_info[4*idx] + byte1 = char_info[4*idx+1] self.width[char] = _fix2comp(widths[byte0]) self.height[char] = _fix2comp(heights[byte1 >> 4]) self.depth[char] = _fix2comp(depths[byte1 & 0xf]) @@ -835,7 +812,7 @@ class PsfontsMap(object): def __init__(self, filename): self._font = {} self._filename = filename - if six.PY3 and isinstance(filename, bytes): + if isinstance(filename, bytes): encoding = sys.getfilesystemencoding() or 'utf-8' self._filename = filename.decode(encoding, errors='replace') with open(filename, 'rb') as file: @@ -1023,25 +1000,19 @@ def find_tex_file(filename, format=None): The library that :program:`kpsewhich` is part of. """ - if six.PY3: - # we expect these to always be ascii encoded, but use utf-8 - # out of caution - if isinstance(filename, bytes): - filename = filename.decode('utf-8', errors='replace') - if isinstance(format, bytes): - format = format.decode('utf-8', errors='replace') + # we expect these to always be ascii encoded, but use utf-8 + # out of caution + if isinstance(filename, bytes): + filename = filename.decode('utf-8', errors='replace') + if isinstance(format, bytes): + format = format.decode('utf-8', errors='replace') cmd = ['kpsewhich'] if format is not None: cmd += ['--format=' + format] cmd += [filename] _log.debug('find_tex_file(%s): %s', filename, cmd) - # stderr is unused, but reading it avoids a subprocess optimization - # that breaks EINTR handling in some Python versions: - # http://bugs.python.org/issue12493 - # https://github.com/matplotlib/matplotlib/issues/633 - pipe = subprocess.Popen(cmd, stdout=subprocess.PIPE, - stderr=subprocess.PIPE) + pipe = subprocess.Popen(cmd, stdout=subprocess.PIPE) result = pipe.communicate()[0].rstrip() _log.debug('find_tex_file result: %s', result) return result.decode('ascii') diff --git a/lib/matplotlib/tests/test_dviread.py b/lib/matplotlib/tests/test_dviread.py index eb1bd10584ba..6b005fd34170 100644 --- a/lib/matplotlib/tests/test_dviread.py +++ b/lib/matplotlib/tests/test_dviread.py @@ -1,6 +1,3 @@ -from __future__ import absolute_import, division, print_function - -import six from matplotlib.testing.decorators import skip_if_command_unavailable import matplotlib.dviread as dr @@ -64,7 +61,7 @@ def test_dviread(): for [a, b, c, d, e] in entry['text']] with dr.Dvi(os.path.join(dir, 'test.dvi'), None) as dvi: data = [{'text': [[t.x, t.y, - six.unichr(t.glyph), + chr(t.glyph), t.font.texname, round(t.font.size, 2)] for t in page.text], From 8cd9a3b5bbaa0cdb3608d704c2760186f3581946 Mon Sep 17 00:00:00 2001 From: Derek Tropf Date: Thu, 15 Feb 2018 15:37:41 -0500 Subject: [PATCH 0077/1161] Fix splitting issue from ### in with statement --- examples/showcase/xkcd.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/examples/showcase/xkcd.py b/examples/showcase/xkcd.py index 0e18ea4d0401..9212d7e28022 100644 --- a/examples/showcase/xkcd.py +++ b/examples/showcase/xkcd.py @@ -8,9 +8,9 @@ import matplotlib.pyplot as plt import numpy as np -with plt.xkcd(): - -############################################################################### +############################################################################### + +with plt.xkcd(): # Based on "Stove Ownership" from XKCD by Randall Monroe # http://xkcd.com/418/ @@ -38,7 +38,9 @@ '"Stove Ownership" from xkcd by Randall Monroe', ha='center') -############################################################################### +############################################################################### + +with plt.xkcd(): # Based on "The Data So Far" from XKCD by Randall Monroe # http://xkcd.com/373/ From e04de475f292ef6a871db8a27aa7ff91b11521a7 Mon Sep 17 00:00:00 2001 From: Chris Holdgraf Date: Tue, 13 Feb 2018 18:55:50 -0800 Subject: [PATCH 0078/1161] renaming duplicated file names --- .gitignore | 5 +++++ doc/api/animation_api.rst | 2 +- doc/index.rst | 2 +- examples/animation/{histogram.py => animated_histogram.py} | 0 .../{date_index_formatter.py => custom_index_formatter.py} | 0 .../{scatter_hist.py => scatter_hist_locatable_axes.py} | 0 examples/color/{color_cycle.py => color_cycler.py} | 0 .../{errorbar_limits.py => errorbar_limits_simple.py} | 0 examples/pyplots/{boxplot_demo.py => boxplot_demo_pyplot.py} | 0 pytest.ini | 2 +- tutorials/toolkits/axes_grid.py | 4 ++-- 11 files changed, 10 insertions(+), 5 deletions(-) rename examples/animation/{histogram.py => animated_histogram.py} (100%) rename examples/api/{date_index_formatter.py => custom_index_formatter.py} (100%) rename examples/axes_grid1/{scatter_hist.py => scatter_hist_locatable_axes.py} (100%) rename examples/color/{color_cycle.py => color_cycler.py} (100%) rename examples/lines_bars_and_markers/{errorbar_limits.py => errorbar_limits_simple.py} (100%) rename examples/pyplots/{boxplot_demo.py => boxplot_demo_pyplot.py} (100%) diff --git a/.gitignore b/.gitignore index 0473729069d6..36d13934bcf0 100644 --- a/.gitignore +++ b/.gitignore @@ -91,3 +91,8 @@ cover/ __conda_version__.txt lib/png.lib lib/z.lib + +# Jupyter files # +################# + +.ipynb_checkpoints/ diff --git a/doc/api/animation_api.rst b/doc/api/animation_api.rst index d8662e4f3834..ab34e5ebee4f 100644 --- a/doc/api/animation_api.rst +++ b/doc/api/animation_api.rst @@ -132,7 +132,7 @@ Examples ../gallery/animation/animate_decay ../gallery/animation/bayes_update ../gallery/animation/double_pendulum_sgskip - ../gallery/animation/histogram + ../gallery/animation/animated_histogram ../gallery/animation/rain ../gallery/animation/random_walk ../gallery/animation/simple_anim diff --git a/doc/index.rst b/doc/index.rst index a62e47330a91..c2fad272771e 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -18,7 +18,7 @@ interface toolkits. border="0" alt="screenshots"/>
- screenshots
diff --git a/examples/animation/histogram.py b/examples/animation/animated_histogram.py similarity index 100% rename from examples/animation/histogram.py rename to examples/animation/animated_histogram.py diff --git a/examples/api/date_index_formatter.py b/examples/api/custom_index_formatter.py similarity index 100% rename from examples/api/date_index_formatter.py rename to examples/api/custom_index_formatter.py diff --git a/examples/axes_grid1/scatter_hist.py b/examples/axes_grid1/scatter_hist_locatable_axes.py similarity index 100% rename from examples/axes_grid1/scatter_hist.py rename to examples/axes_grid1/scatter_hist_locatable_axes.py diff --git a/examples/color/color_cycle.py b/examples/color/color_cycler.py similarity index 100% rename from examples/color/color_cycle.py rename to examples/color/color_cycler.py diff --git a/examples/lines_bars_and_markers/errorbar_limits.py b/examples/lines_bars_and_markers/errorbar_limits_simple.py similarity index 100% rename from examples/lines_bars_and_markers/errorbar_limits.py rename to examples/lines_bars_and_markers/errorbar_limits_simple.py diff --git a/examples/pyplots/boxplot_demo.py b/examples/pyplots/boxplot_demo_pyplot.py similarity index 100% rename from examples/pyplots/boxplot_demo.py rename to examples/pyplots/boxplot_demo_pyplot.py diff --git a/pytest.ini b/pytest.ini index dd76e1539d48..e21f8ef0d4d5 100644 --- a/pytest.ini +++ b/pytest.ini @@ -116,7 +116,7 @@ pep8ignore = *examples/pyplots/annotation_basic.py E231 *examples/pyplots/annotation_polar.py E231 *examples/pyplots/auto_subplots_adjust.py E231 E261 E302 W391 - *examples/pyplots/boxplot_demo.py E231 + *examples/pyplots/boxplot_demo_pyplot.py E231 *examples/pyplots/compound_path_demo.py E231 *examples/pyplots/fig_axes_customize_simple.py E261 *examples/pyplots/pyplot_formatstr.py E231 diff --git a/tutorials/toolkits/axes_grid.py b/tutorials/toolkits/axes_grid.py index a1af2c0cbc11..7b4ad9f3eda1 100644 --- a/tutorials/toolkits/axes_grid.py +++ b/tutorials/toolkits/axes_grid.py @@ -226,8 +226,8 @@ See the full source code below. -.. figure:: ../../gallery/axes_grid1/images/sphx_glr_scatter_hist_001.png - :target: ../../gallery/axes_grid1/scatter_hist.html +.. figure:: ../../gallery/axes_grid1/images/sphx_glr_scatter_hist_locatable_axes_001.png + :target: ../../gallery/axes_grid1/scatter_hist_locatable_axes.html :align: center :scale: 50 From dc4110321fc584d7f8bcf06f43bd18acfdaa147b Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Thu, 15 Feb 2018 17:37:14 -0500 Subject: [PATCH 0079/1161] Add libm when building Qhull. --- setupext.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/setupext.py b/setupext.py index 4e29476a1b0e..60538cd0ebfe 100644 --- a/setupext.py +++ b/setupext.py @@ -1337,6 +1337,8 @@ def add_flags(self, ext): else: ext.include_dirs.insert(0, 'extern') ext.sources.extend(sorted(glob.glob('extern/libqhull/*.c'))) + if sysconfig.get_config_var('LIBM') == '-lm': + ext.libraries.extend('m') class TTConv(SetupPackage): From ea21cc6129c51eea9015e35e28bf13e4fd97dc1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jouni=20K=2E=20Sepp=C3=A4nen?= Date: Fri, 16 Feb 2018 06:55:36 +0200 Subject: [PATCH 0080/1161] Simplify array initialization --- lib/matplotlib/dviread.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/dviread.py b/lib/matplotlib/dviread.py index dfda893a8a3d..5ca6e281194f 100644 --- a/lib/matplotlib/dviread.py +++ b/lib/matplotlib/dviread.py @@ -180,7 +180,7 @@ class Dvi(object): >>> print(''.join(unichr(t.glyph) for t in page.text)) """ # dispatch table - _dtable = [None for _ in range(256)] + _dtable = [None] * 256 _dispatch = partial(_dispatch, _dtable) def __init__(self, filename, dpi): From de9845156c95f0b1fb064a90a5a153d2605b5a12 Mon Sep 17 00:00:00 2001 From: hannah Date: Fri, 16 Feb 2018 00:14:43 -0500 Subject: [PATCH 0081/1161] DOC: added bounds and more description to margins doc --- lib/matplotlib/axes/_base.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 4f9cfbd5b1d4..48e42cb2bb87 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -2320,11 +2320,14 @@ def margins(self, *args, **kw): All three forms above set the xmargin and ymargin parameters. All keyword parameters are optional. A single argument - specifies both xmargin and ymargin. The *tight* parameter - is passed to :meth:`autoscale_view`, which is executed after - a margin is changed; the default here is *True*, on the - assumption that when margins are specified, no additional - padding to match tick marks is usually desired. Setting + specifies both xmargin and ymargin. The padding added to the end of + each interval is *margin* times the data interval. The *margin* must + be a float in the range [0, 1]. + + The *tight* parameter is passed to :meth:`autoscale_view` + , which is executed after a margin is changed; the default here is + *True*, on the assumption that when margins are specified, no + additional padding to match tick marks is usually desired. Setting *tight* to *None* will preserve the previous setting. Specifying any margin changes only the autoscaling; for example, From f0a7a81c10ef49b30c71342de1fb98aa98f1ce85 Mon Sep 17 00:00:00 2001 From: mattip Date: Fri, 16 Feb 2018 01:05:31 -0500 Subject: [PATCH 0082/1161] BUG: quirk in sscanf, changing the order fixes it --- lib/matplotlib/backends/tkagg.py | 2 +- src/_tkagg.cpp | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/matplotlib/backends/tkagg.py b/lib/matplotlib/backends/tkagg.py index e3b6be68ceb2..072fcb48fee6 100644 --- a/lib/matplotlib/backends/tkagg.py +++ b/lib/matplotlib/backends/tkagg.py @@ -19,7 +19,7 @@ def blit(photoimage, aggimage, bbox=None, colormode=1): else: bboxptr = 0 data = np.asarray(aggimage) - dataptr = (data.ctypes.data, data.shape[0], data.shape[1]) + dataptr = (data.shape[0], data.shape[1], data.ctypes.data) try: tk.call( "PyAggImagePhoto", photoimage, diff --git a/src/_tkagg.cpp b/src/_tkagg.cpp index d92d8e7ffc9d..c17ba41ca51b 100644 --- a/src/_tkagg.cpp +++ b/src/_tkagg.cpp @@ -19,9 +19,9 @@ #include "_tkmini.h" #if defined(_MSC_VER) -# define IMG_FORMAT "%Iu %d %d" +# define IMG_FORMAT "%d %d %Iu" #else -# define IMG_FORMAT "%zu %d %d" +# define IMG_FORMAT "%d %d %zu" #endif #define BBOX_FORMAT "%f %f %f %f" @@ -74,9 +74,9 @@ static int PyAggImagePhoto(ClientData clientdata, Tcl_Interp *interp, int return TCL_ERROR; } /* get buffer from str which is "ptr height width" */ - if (sscanf(argv[2], IMG_FORMAT, &pdata, &hdata, &wdata) != 3) { + if (sscanf(argv[2], IMG_FORMAT, &hdata, &wdata, &pdata) != 3) { TCL_APPEND_RESULT(interp, - "error reading data, expected ptr height width", + "error reading data, expected height width ptr", (char *)NULL); return TCL_ERROR; } From 2942a43818715c2cfce660e91fdf42da564f56ad Mon Sep 17 00:00:00 2001 From: mattip Date: Fri, 16 Feb 2018 01:14:24 -0500 Subject: [PATCH 0083/1161] ENH: make test plot some lines --- lib/matplotlib/tests/test_backends_interactive.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/matplotlib/tests/test_backends_interactive.py b/lib/matplotlib/tests/test_backends_interactive.py index ca174878ca13..bd1cc5f108b7 100644 --- a/lib/matplotlib/tests/test_backends_interactive.py +++ b/lib/matplotlib/tests/test_backends_interactive.py @@ -41,6 +41,8 @@ def _get_testable_interactive_backends(): from matplotlib import pyplot as plt fig = plt.figure() +ax = fig.add_subplot(111) +ax.plot([1,2,3], [1,3,1]) fig.canvas.mpl_connect("draw_event", lambda event: sys.exit()) plt.show() """ From 69ed188dc7bfd7ed61a85047d9516dceb07a3529 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jouni=20K=2E=20Sepp=C3=A4nen?= Date: Fri, 16 Feb 2018 08:16:59 +0200 Subject: [PATCH 0084/1161] Simplify Mac builds on Travis - don't specify a fixed build environment version, use the default instead (https://docs.travis-ci.com/user/reference/osx#OS-X-Version) - hide the `brew update` output unless there is an error (this is 1500+ lines in recent builds) - remove an error message related to installing libpng, which is already a dependency of python3 --- .travis.yml | 5 ++--- ci/travis/silence | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 3 deletions(-) create mode 100755 ci/travis/silence diff --git a/.travis.yml b/.travis.yml index 7aea3798a6bc..bb5e37167177 100644 --- a/.travis.yml +++ b/.travis.yml @@ -85,7 +85,6 @@ matrix: - python: "nightly" env: PRE=--pre - os: osx - osx_image: xcode7.3 language: generic # https://github.com/travis-ci/travis-ci/issues/2312 env: MOCK=mock only: master @@ -109,8 +108,8 @@ before_install: export PATH=$PATH:/tmp/λ export PATH=/usr/lib/ccache:$PATH else - brew update - brew install python3 libpng ffmpeg imagemagick mplayer ccache + ci/travis/silence brew update + brew install python3 ffmpeg imagemagick mplayer ccache # make 'python' mean 'python3' ln -sf /usr/local/bin/python3 /usr/local/bin/python hash -r diff --git a/ci/travis/silence b/ci/travis/silence new file mode 100755 index 000000000000..4889e5d1bd58 --- /dev/null +++ b/ci/travis/silence @@ -0,0 +1,14 @@ +#!/bin/bash + +# Run a command, hiding its standard output and error if its exit +# status is zero. + +stdout=$(mktemp -t stdout) || exit 1 +stderr=$(mktemp -t stderr) || exit 1 +"$@" >$stdout 2>$stderr +code=$? +if [[ $code != 0 ]]; then + cat $stdout + cat $stderr >&2 + exit $code +fi From db7dcbe607d271e00fbdeaba8b57db60ace7e100 Mon Sep 17 00:00:00 2001 From: Helder Date: Thu, 15 Feb 2018 11:27:26 -0200 Subject: [PATCH 0085/1161] Use HTTP Secure for matplotlib.org --- lib/matplotlib/backends/backend_svg.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/backends/backend_svg.py b/lib/matplotlib/backends/backend_svg.py index 7684c63bbc30..b9e7a86cc133 100644 --- a/lib/matplotlib/backends/backend_svg.py +++ b/lib/matplotlib/backends/backend_svg.py @@ -1247,7 +1247,7 @@ class FigureManagerSVG(FigureManagerBase): - + """ From 78198bebd568b147031cb899939b5ef41614d47b Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Fri, 16 Feb 2018 11:04:52 +0100 Subject: [PATCH 0086/1161] Avoid UnboundLocalError in drag_pan. Axes.drag_pan should probably have been private but it's public and should therefore properly handle unexpected input. --- lib/matplotlib/axes/_base.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 4f9cfbd5b1d4..95e7b8d0df91 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -4014,7 +4014,7 @@ def format_deltas(key, dx, dy): p = self._pan_start dx = x - p.x dy = y - p.y - if dx == 0 and dy == 0: + if dx == dy == 0: return if button == 1: dx, dy = format_deltas(key, dx, dy) @@ -4035,6 +4035,8 @@ def format_deltas(key, dx, dy): except OverflowError: warnings.warn('Overflow while panning') return + else: + return valid = np.isfinite(result.transformed(p.trans)) points = result.get_points().astype(object) From 816ffbab3a6209c7c36c0e367e2034fb96e7aa7c Mon Sep 17 00:00:00 2001 From: mattip Date: Fri, 16 Feb 2018 14:40:13 +0200 Subject: [PATCH 0087/1161] fix (from review) --- src/_tkagg.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_tkagg.cpp b/src/_tkagg.cpp index c17ba41ca51b..ad5289b3d6eb 100644 --- a/src/_tkagg.cpp +++ b/src/_tkagg.cpp @@ -73,7 +73,7 @@ static int PyAggImagePhoto(ClientData clientdata, Tcl_Interp *interp, int TCL_APPEND_RESULT(interp, "destination photo must exist", (char *)NULL); return TCL_ERROR; } - /* get buffer from str which is "ptr height width" */ + /* get buffer from str which is "height width ptr" */ if (sscanf(argv[2], IMG_FORMAT, &hdata, &wdata, &pdata) != 3) { TCL_APPEND_RESULT(interp, "error reading data, expected height width ptr", From 6c9825eda74184f783533ada3bb36f358ae15f83 Mon Sep 17 00:00:00 2001 From: Derek Tropf Date: Fri, 16 Feb 2018 15:05:58 -0500 Subject: [PATCH 0088/1161] Remove trailing whitespace on lines 11 and 13 --- examples/showcase/xkcd.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/showcase/xkcd.py b/examples/showcase/xkcd.py index 9212d7e28022..52c711119120 100644 --- a/examples/showcase/xkcd.py +++ b/examples/showcase/xkcd.py @@ -8,9 +8,9 @@ import matplotlib.pyplot as plt import numpy as np -############################################################################### +############################################################################### -with plt.xkcd(): +with plt.xkcd(): # Based on "Stove Ownership" from XKCD by Randall Monroe # http://xkcd.com/418/ From 4e8868d5de9620c40939a316fedc589df77297b0 Mon Sep 17 00:00:00 2001 From: David Stansby Date: Fri, 16 Feb 2018 23:12:11 +0000 Subject: [PATCH 0089/1161] Remove backport of 'which' --- lib/matplotlib/__init__.py | 2 +- lib/matplotlib/cbook/_backports.py | 69 ------------------------------ 2 files changed, 1 insertion(+), 70 deletions(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 934d848e470a..a0685dd76e24 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -567,7 +567,7 @@ def checkdep_usetex(s): dvipng_req = '1.6' flag = True - if _backports.which("tex") is None: + if shutil.which("tex") is None: flag = False warnings.warn('matplotlibrc text.usetex option can not be used unless ' 'TeX is installed on your system') diff --git a/lib/matplotlib/cbook/_backports.py b/lib/matplotlib/cbook/_backports.py index 83833258551c..4cdf629c31b0 100644 --- a/lib/matplotlib/cbook/_backports.py +++ b/lib/matplotlib/cbook/_backports.py @@ -1,75 +1,6 @@ -from __future__ import absolute_import - -import os -import sys - import numpy as np -# Copy-pasted from Python 3.4's shutil. -def which(cmd, mode=os.F_OK | os.X_OK, path=None): - """Given a command, mode, and a PATH string, return the path which - conforms to the given mode on the PATH, or None if there is no such - file. - - `mode` defaults to os.F_OK | os.X_OK. `path` defaults to the result - of os.environ.get("PATH"), or can be overridden with a custom search - path. - - """ - # Check that a given file can be accessed with the correct mode. - # Additionally check that `file` is not a directory, as on Windows - # directories pass the os.access check. - def _access_check(fn, mode): - return (os.path.exists(fn) and os.access(fn, mode) - and not os.path.isdir(fn)) - - # If we're given a path with a directory part, look it up directly rather - # than referring to PATH directories. This includes checking relative to the - # current directory, e.g. ./script - if os.path.dirname(cmd): - if _access_check(cmd, mode): - return cmd - return None - - if path is None: - path = os.environ.get("PATH", os.defpath) - if not path: - return None - path = path.split(os.pathsep) - - if sys.platform == "win32": - # The current directory takes precedence on Windows. - if not os.curdir in path: - path.insert(0, os.curdir) - - # PATHEXT is necessary to check on Windows. - pathext = os.environ.get("PATHEXT", "").split(os.pathsep) - # See if the given file matches any of the expected path extensions. - # This will allow us to short circuit when given "python.exe". - # If it does match, only test that one, otherwise we have to try - # others. - if any(cmd.lower().endswith(ext.lower()) for ext in pathext): - files = [cmd] - else: - files = [cmd + ext for ext in pathext] - else: - # On other platforms you don't have things like PATHEXT to tell you - # what file suffixes are executable, so just pass on cmd as-is. - files = [cmd] - - seen = set() - for dir in path: - normdir = os.path.normcase(dir) - if not normdir in seen: - seen.add(normdir) - for thefile in files: - name = os.path.join(dir, thefile) - if _access_check(name, mode): - return name - return None - - # Copy-pasted from numpy.lib.stride_tricks 1.11.2. def _maybe_view_as_subclass(original_array, new_array): if type(original_array) is not type(new_array): From 8946e64bf8f0e2a87e180c30ebc825381a67d77f Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 14 Feb 2018 20:58:38 -0500 Subject: [PATCH 0090/1161] Move Python 2 check into setup.py. This reduces the number of files we need to keep Python 2 compatible. --- setup.py | 11 +++++++++++ setupext.py | 3 --- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/setup.py b/setup.py index 9a16373ee303..e900f4313296 100644 --- a/setup.py +++ b/setup.py @@ -14,6 +14,17 @@ import sys +if sys.version_info < (3, 5): + error = """ +Matplotlib 3.0+ does not support Python 2.x, 3.0, 3.1, 3.2, 3.3, or 3.4. +Beginning with Matplotlib 3.0, Python 3.5 and above is required. + +This may be due to an out of date pip. + +Make sure you have pip >= 9.0.1. +""" + sys.exit(error) + # distutils is breaking our sdists for files in symlinked dirs. # distutils will copy if os.link is not available, so this is a hack # to force copying diff --git a/setupext.py b/setupext.py index b8586d682a4e..7cdea8f7adea 100644 --- a/setupext.py +++ b/setupext.py @@ -1,6 +1,3 @@ -# NOTE: This file must remain Python 2 compatible for the forseeable future, -# to ensure that we error out properly for people with outdated setuptools -# and/or pip. from __future__ import print_function, absolute_import from importlib import import_module From 5b81bf3d62cf07da83566bd0d22bd20c3f111940 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 14 Feb 2018 21:05:31 -0500 Subject: [PATCH 0091/1161] Remove Python 2 fallbacks in setup code. --- setup.py | 2 -- setupext.py | 75 +++++++++++------------------------------------------ 2 files changed, 15 insertions(+), 62 deletions(-) diff --git a/setup.py b/setup.py index e900f4313296..1745a67d099b 100644 --- a/setup.py +++ b/setup.py @@ -119,9 +119,7 @@ 'Intended Audience :: Science/Research', 'License :: OSI Approved :: Python Software Foundation License', 'Programming Language :: Python', - 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', 'Topic :: Scientific/Engineering :: Visualization', diff --git a/setupext.py b/setupext.py index 7cdea8f7adea..4c8ad1fd03af 100644 --- a/setupext.py +++ b/setupext.py @@ -11,18 +11,15 @@ import os import platform import re +import shutil import subprocess from subprocess import check_output import sys import warnings from textwrap import fill -import shutil import versioneer -PY3min = (sys.version_info[0] >= 3) - - def _get_xdg_cache_dir(): """ Return the XDG cache directory. @@ -57,16 +54,10 @@ def _get_xdg_cache_dir(): LOCAL_FREETYPE_HASH = _freetype_hashes.get(LOCAL_FREETYPE_VERSION, 'unknown') if sys.platform != 'win32': - if not PY3min: - from commands import getstatusoutput - else: - from subprocess import getstatusoutput + from subprocess import getstatusoutput -if PY3min: - import configparser -else: - import ConfigParser as configparser +import configparser # matplotlib build options, which can be altered using setup.cfg @@ -80,10 +71,7 @@ def _get_xdg_cache_dir(): setup_cfg = os.environ.get('MPLSETUPCFG', 'setup.cfg') if os.path.exists(setup_cfg): - if PY3min: - config = configparser.ConfigParser() - else: - config = configparser.SafeConfigParser() + config = configparser.ConfigParser() config.read(setup_cfg) if config.has_option('status', 'suppress'): @@ -564,11 +552,7 @@ def _try_managers(*managers): for manager in managers: pkg_name = self.pkg_names.get(manager, None) if pkg_name: - try: - # `shutil.which()` can be used when Python 2.7 support - # is dropped. It is available in Python 3.3+ - _ = check_output(["which", manager], - stderr=subprocess.STDOUT) + if shutil.which(manager) is not None: if manager == 'port': pkgconfig = 'pkgconfig' else: @@ -577,8 +561,6 @@ def _try_managers(*managers): 'and pkg-config with `{1} install {3}`' .format(self.name, manager, pkg_name, pkgconfig)) - except subprocess.CalledProcessError: - pass message = None if sys.platform == "win32": @@ -809,15 +791,6 @@ def check(self): except ImportError: msgs += [bad_pytest] - if PY3min: - msgs += ['using unittest.mock'] - else: - try: - import mock - msgs += ['using mock %s' % mock.__version__] - except ImportError: - msgs += [msg_template.format(package='mock')] - return ' / '.join(msgs) def get_packages(self): @@ -934,19 +907,12 @@ class Numpy(SetupPackage): @staticmethod def include_dirs_hook(): - if PY3min: - import builtins - if hasattr(builtins, '__NUMPY_SETUP__'): - del builtins.__NUMPY_SETUP__ - import imp - import numpy - imp.reload(numpy) - else: - import __builtin__ - if hasattr(__builtin__, '__NUMPY_SETUP__'): - del __builtin__.__NUMPY_SETUP__ - import numpy - reload(numpy) + import builtins + if hasattr(builtins, '__NUMPY_SETUP__'): + del builtins.__NUMPY_SETUP__ + import imp + import numpy + imp.reload(numpy) ext = Extension('test', []) ext.include_dirs.append(numpy.get_include()) @@ -1143,11 +1109,7 @@ def do_custom_build(self): if (tarball_cache_path is not None and os.path.isfile(tarball_cache_path)): if get_file_hash(tarball_cache_path) == LOCAL_FREETYPE_HASH: - try: - os.makedirs('build') - except OSError: - # Don't care if it exists. - pass + os.makedirs('build', exist_ok=True) try: shutil.copy(tarball_cache_path, tarball_path) print('Using cached tarball: {}' @@ -1157,10 +1119,7 @@ def do_custom_build(self): pass if not os.path.isfile(tarball_path): - if PY3min: - from urllib.request import urlretrieve - else: - from urllib import urlretrieve + from urllib.request import urlretrieve if not os.path.exists('build'): os.makedirs('build') @@ -1190,11 +1149,7 @@ def do_custom_build(self): "You can download the file by " "alternative means and copy it " " to '{0}'".format(tarball_path)) - try: - os.makedirs(tarball_cache_dir) - except OSError: - # Don't care if it exists. - pass + os.makedirs(tarball_cache_dir, exist_ok=True) try: shutil.copy(tarball_path, tarball_cache_path) print('Cached tarball at: {}'.format(tarball_cache_path)) @@ -1471,7 +1426,7 @@ def check(self): def runtime_check(self): """ Checks whether TkAgg runtime dependencies are met """ - pkg_name = 'tkinter' if PY3min else 'Tkinter' + pkg_name = 'tkinter' try: import_module(pkg_name) except ImportError: From 29030e70308220923ff848c633f0a1ab79c89512 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 14 Feb 2018 22:03:24 -0500 Subject: [PATCH 0092/1161] Move __init__ Python version check earlier. This will allow us to import anything new things from the standard library without breaking Python 2. --- lib/matplotlib/__init__.py | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 934d848e470a..8d6c0a2f9623 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -105,6 +105,18 @@ import six +import sys +if sys.version_info < (3, 5): # noqa: E402 + raise ImportError(""" +Matplotlib 3.0+ does not support Python 2.x, 3.0, 3.1, 3.2, 3.3, or 3.4. +Beginning with Matplotlib 3.0, Python 3.5 and above is required. + +See Matplotlib `INSTALL.rst` file for more information: + + https://github.com/matplotlib/matplotlib/blob/master/INSTALL.rst + +""") + import atexit from collections import MutableMapping import contextlib @@ -121,21 +133,9 @@ import re import shutil import stat -import sys import tempfile import warnings -if sys.version_info < (3, 5): # noqa: E402 - raise ImportError(""" -Matplotlib 3.0+ does not support Python 2.x, 3.0, 3.1, 3.2, 3.3, or 3.4. -Beginning with Matplotlib 3.0, Python 3.5 and above is required. - -See Matplotlib `INSTALL.rst` file for more information: - - https://github.com/matplotlib/matplotlib/blob/master/INSTALL.rst - -""") - # cbook must import matplotlib only within function # definitions, so it is safe to import from it here. from . import cbook From 36986a975fd712839882650cd277a794782ff0ff Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Mon, 12 Feb 2018 04:19:24 -0500 Subject: [PATCH 0093/1161] Use enum.Enum in a couple cases. --- lib/matplotlib/dviread.py | 12 ++++++----- lib/matplotlib/type1font.py | 43 ++++++++++++++++++------------------- 2 files changed, 28 insertions(+), 27 deletions(-) diff --git a/lib/matplotlib/dviread.py b/lib/matplotlib/dviread.py index 336c1c1e0199..e0048d8b8c3f 100644 --- a/lib/matplotlib/dviread.py +++ b/lib/matplotlib/dviread.py @@ -18,15 +18,17 @@ """ from collections import namedtuple +import enum from functools import lru_cache, partial, wraps import logging -import numpy as np import os import re import struct import sys import textwrap +import numpy as np + from matplotlib import cbook, rcParams from matplotlib.compat import subprocess @@ -48,7 +50,7 @@ # just stops reading) # finale: the finale (unimplemented in our current implementation) -_dvistate = cbook.Bunch(pre=0, outer=1, inpage=2, post_post=3, finale=4) +_dvistate = enum.Enum('DviState', 'pre outer inpage post_post finale') # The marks on a page consist of text and boxes. A page also has dimensions. Page = namedtuple('Page', 'text boxes height width descent') @@ -301,7 +303,7 @@ def _read(self): self._dtable[byte](self, byte) if byte == 140: # end of page return True - if self.state == _dvistate.post_post: # end of file + if self.state is _dvistate.post_post: # end of file self.close() return False @@ -622,7 +624,7 @@ def _read(self): while True: byte = self.file.read(1)[0] # If we are in a packet, execute the dvi instructions - if self.state == _dvistate.inpage: + if self.state is _dvistate.inpage: byte_at = self.file.tell()-1 if byte_at == packet_ends: self._finalize_packet(packet_char, packet_width) @@ -678,7 +680,7 @@ def _finalize_packet(self, packet_char, packet_width): self.state = _dvistate.outer def _pre(self, i, x, cs, ds): - if self.state != _dvistate.pre: + if self.state is not _dvistate.pre: raise ValueError("pre command in middle of vf file") if i != 202: raise ValueError("Unknown vf format %d" % i) diff --git a/lib/matplotlib/type1font.py b/lib/matplotlib/type1font.py index 0eed97ec68ea..35a6267e26e2 100644 --- a/lib/matplotlib/type1font.py +++ b/lib/matplotlib/type1font.py @@ -28,6 +28,7 @@ import six import binascii +import enum import io import itertools import re @@ -40,6 +41,11 @@ def ord(x): return x +# token types +_TokenType = enum.Enum('_TokenType', + 'whitespace name string delimiter number') + + class Type1Font(object): """ A class representing a Type-1 font, for use by backends. @@ -143,25 +149,18 @@ def _split(self, data): _comment_re = re.compile(br'%[^\r\n\v]*') _instring_re = re.compile(br'[()\\]') - # token types, compared via object identity (poor man's enum) - _whitespace = object() - _name = object() - _string = object() - _delimiter = object() - _number = object() - @classmethod def _tokens(cls, text): """ A PostScript tokenizer. Yield (token, value) pairs such as - (cls._whitespace, ' ') or (cls._name, '/Foobar'). + (_TokenType.whitespace, ' ') or (_TokenType.name, '/Foobar'). """ pos = 0 while pos < len(text): match = (cls._comment_re.match(text[pos:]) or cls._whitespace_re.match(text[pos:])) if match: - yield (cls._whitespace, match.group()) + yield (_TokenType.whitespace, match.group()) pos += match.end() elif text[pos] == b'(': start = pos @@ -178,25 +177,25 @@ def _tokens(cls, text): depth -= 1 else: # a backslash - skip the next character pos += 1 - yield (cls._string, text[start:pos]) + yield (_TokenType.string, text[start:pos]) elif text[pos:pos + 2] in (b'<<', b'>>'): - yield (cls._delimiter, text[pos:pos + 2]) + yield (_TokenType.delimiter, text[pos:pos + 2]) pos += 2 elif text[pos] == b'<': start = pos pos += text[pos:].index(b'>') - yield (cls._string, text[start:pos]) + yield (_TokenType.string, text[start:pos]) else: match = cls._token_re.match(text[pos:]) if match: try: float(match.group()) - yield (cls._number, match.group()) + yield (_TokenType.number, match.group()) except ValueError: - yield (cls._name, match.group()) + yield (_TokenType.name, match.group()) pos += match.end() else: - yield (cls._delimiter, text[pos:pos + 1]) + yield (_TokenType.delimiter, text[pos:pos + 1]) pos += 1 def _parse(self): @@ -210,23 +209,23 @@ def _parse(self): 'UnderlinePosition': -100, 'UnderlineThickness': 50} filtered = ((token, value) for token, value in self._tokens(self.parts[0]) - if token is not self._whitespace) + if token is not _TokenType.whitespace) # The spec calls this an ASCII format; in Python 2.x we could # just treat the strings and names as opaque bytes but let's # turn them into proper Unicode, and be lenient in case of high bytes. convert = lambda x: x.decode('ascii', 'replace') for token, value in filtered: - if token is self._name and value.startswith(b'/'): + if token is _TokenType.name and value.startswith(b'/'): key = convert(value[1:]) token, value = next(filtered) - if token is self._name: + if token is _TokenType.name: if value in (b'true', b'false'): value = value == b'true' else: value = convert(value.lstrip(b'/')) - elif token is self._string: + elif token is _TokenType.string: value = convert(value.lstrip(b'(').rstrip(b')')) - elif token is self._number: + elif token is _TokenType.number: if b'.' in value: value = float(value) else: @@ -284,7 +283,7 @@ def replacer(tokens): token, value = next(tokens) # name, e.g., /FontMatrix yield bytes(value) token, value = next(tokens) # possible whitespace - while token is cls._whitespace: + while token is _TokenType.whitespace: yield bytes(value) token, value = next(tokens) if value != b'[': # name/number/etc. @@ -309,7 +308,7 @@ def suppress(tokens): b'/UniqueID': suppress} for token, value in tokens: - if token is cls._name and value in table: + if token is _TokenType.name and value in table: for value in table[value](itertools.chain([(token, value)], tokens)): yield value From 6ba17634fd7619345e057564c2eee6bba2caa3db Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Mon, 12 Feb 2018 04:25:32 -0500 Subject: [PATCH 0094/1161] Replace cbook.Bunch with types.SimpleNamespace. --- doc/api/next_api_changes/2018-02-15-ES.rst | 5 +++++ lib/matplotlib/axes/_base.py | 3 ++- lib/matplotlib/backends/backend_pdf.py | 8 +++++--- lib/matplotlib/cbook/__init__.py | 13 +++---------- lib/matplotlib/mathtext.py | 17 +++++++++-------- lib/matplotlib/projections/polar.py | 3 ++- lib/matplotlib/sankey.py | 8 +++++--- 7 files changed, 31 insertions(+), 26 deletions(-) create mode 100644 doc/api/next_api_changes/2018-02-15-ES.rst diff --git a/doc/api/next_api_changes/2018-02-15-ES.rst b/doc/api/next_api_changes/2018-02-15-ES.rst new file mode 100644 index 000000000000..309e3bda5244 --- /dev/null +++ b/doc/api/next_api_changes/2018-02-15-ES.rst @@ -0,0 +1,5 @@ +matplotlib.cbook.Bunch deprecated +````````````````````````````````` +The ``matplotlib.cbook.Bunch`` class has been deprecated. Instead, use +`types.SimpleNamespace` from the standard library which provides the same +functionality. diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 825a6ef1fec8..94e073063b4c 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -10,6 +10,7 @@ import warnings import math from operator import attrgetter +import types import numpy as np @@ -3954,7 +3955,7 @@ def start_pan(self, x, y, button): Intended to be overridden by new projection types. """ - self._pan_start = cbook.Bunch( + self._pan_start = types.SimpleNamespace( lim=self.viewLim.frozen(), trans=self.transData.frozen(), trans_inverse=self.transData.inverted().frozen(), diff --git a/lib/matplotlib/backends/backend_pdf.py b/lib/matplotlib/backends/backend_pdf.py index 4f45fa3d97f1..eb87e332cf54 100644 --- a/lib/matplotlib/backends/backend_pdf.py +++ b/lib/matplotlib/backends/backend_pdf.py @@ -17,6 +17,7 @@ import struct import sys import time +import types import warnings import zlib @@ -28,7 +29,7 @@ _Backend, FigureCanvasBase, FigureManagerBase, GraphicsContextBase, RendererBase) from matplotlib.backends.backend_mixed import MixedModeRenderer -from matplotlib.cbook import (Bunch, get_realpath_and_stat, +from matplotlib.cbook import (get_realpath_and_stat, is_writable_file_like, maxdict) from matplotlib.figure import Figure from matplotlib.font_manager import findfont, is_opentype_cff_font, get_font @@ -320,7 +321,8 @@ def pdfRepr(self): grestore=b'Q', textpos=b'Td', selectfont=b'Tf', textmatrix=b'Tm', show=b'Tj', showkern=b'TJ', setlinewidth=b'w', clip=b'W', shading=b'sh') -Op = Bunch(**{name: Operator(value) for name, value in _pdfops.items()}) +Op = types.SimpleNamespace(**{name: Operator(value) + for name, value in _pdfops.items()}) def _paint_path(fill, stroke): @@ -685,7 +687,7 @@ def dviFontName(self, dvifont): pdfname = Name('F%d' % self.nextFont) self.nextFont += 1 _log.debug('Assigning font %s = %s (dvi)', pdfname, dvifont.texname) - self.dviFontInfo[dvifont.texname] = Bunch( + self.dviFontInfo[dvifont.texname] = types.SimpleNamespace( dvifont=dvifont, pdfname=pdfname, fontfile=psfont.filename, diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index 46c1afe1253f..f8195505b8be 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -488,7 +488,8 @@ def strip_math(s): return s -class Bunch(object): +@deprecated('3.0', alternative='types.SimpleNamespace') +class Bunch(types.SimpleNamespace): """ Often we want to just collect a bunch of stuff together, naming each item of the bunch; a dictionary's OK for that, but a small do- nothing @@ -497,16 +498,8 @@ class is even handier, and prettier to use. Whenever you want to >>> point = Bunch(datum=2, squared=4, coord=12) >>> point.datum - - By: Alex Martelli - From: https://code.activestate.com/recipes/121294/ """ - def __init__(self, **kwds): - self.__dict__.update(kwds) - - def __repr__(self): - return 'Bunch(%s)' % ', '.join( - '%s=%s' % kv for kv in six.iteritems(vars(self))) + pass @deprecated('2.1') diff --git a/lib/matplotlib/mathtext.py b/lib/matplotlib/mathtext.py index 024ea9accc15..e84eba75a551 100644 --- a/lib/matplotlib/mathtext.py +++ b/lib/matplotlib/mathtext.py @@ -22,6 +22,7 @@ import os from math import ceil +import types import unicodedata from warnings import warn from functools import lru_cache @@ -37,7 +38,7 @@ from matplotlib import _png, colors as mcolors, get_data_path, rcParams from matplotlib.afm import AFM -from matplotlib.cbook import Bunch, get_realpath_and_stat +from matplotlib.cbook import get_realpath_and_stat from matplotlib.ft2font import FT2Image, KERNING_DEFAULT, LOAD_NO_HINTING from matplotlib.font_manager import findfont, FontProperties, get_font from matplotlib._mathtext_data import (latex_to_bakoma, latex_to_standard, @@ -312,8 +313,8 @@ def render_rect_filled(self, x1, y1, x2, y2): def get_results(self, box, used_characters): ship(0, 0, box) - svg_elements = Bunch(svg_glyphs = self.svg_glyphs, - svg_rects = self.svg_rects) + svg_elements = types.SimpleNamespace(svg_glyphs=self.svg_glyphs, + svg_rects=self.svg_rects) return (self.width, self.height + self.depth, self.depth, @@ -587,7 +588,7 @@ def _get_info(self, fontname, font_class, sym, fontsize, dpi, math=True): xmin, ymin, xmax, ymax = [val/64.0 for val in glyph.bbox] offset = self._get_offset(font, glyph, fontsize, dpi) - metrics = Bunch( + metrics = types.SimpleNamespace( advance = glyph.linearHoriAdvance/65536.0, height = glyph.height/64.0, width = glyph.width/64.0, @@ -600,7 +601,7 @@ def _get_info(self, fontname, font_class, sym, fontsize, dpi, math=True): slanted = slanted ) - result = self.glyphd[key] = Bunch( + result = self.glyphd[key] = types.SimpleNamespace( font = font, fontsize = fontsize, postscript_name = font.postscript_name, @@ -1167,7 +1168,7 @@ def _get_info (self, fontname, font_class, sym, fontsize, dpi, math=True): xmin, ymin, xmax, ymax = [val * scale for val in font.get_bbox_char(glyph)] - metrics = Bunch( + metrics = types.SimpleNamespace( advance = font.get_width_char(glyph) * scale, width = font.get_width_char(glyph) * scale, height = font.get_height_char(glyph) * scale, @@ -1180,7 +1181,7 @@ def _get_info (self, fontname, font_class, sym, fontsize, dpi, math=True): slanted = slanted ) - self.glyphd[key] = Bunch( + self.glyphd[key] = types.SimpleNamespace( font = font, fontsize = fontsize, postscript_name = font.get_fontname(), @@ -2290,7 +2291,7 @@ class Parser(object): _right_delim = set(r") ] \} > \rfloor \rangle \rceil".split()) def __init__(self): - p = Bunch() + p = types.SimpleNamespace() # All forward declarations are here p.accent = Forward() p.ambi_delim = Forward() diff --git a/lib/matplotlib/projections/polar.py b/lib/matplotlib/projections/polar.py index 0ee03bc30785..9336af0e7bd9 100644 --- a/lib/matplotlib/projections/polar.py +++ b/lib/matplotlib/projections/polar.py @@ -4,6 +4,7 @@ import six from collections import OrderedDict +import types import numpy as np @@ -1362,7 +1363,7 @@ def start_pan(self, x, y, button): elif button == 3: mode = 'zoom' - self._pan_start = cbook.Bunch( + self._pan_start = types.SimpleNamespace( rmax=self.get_rmax(), trans=self.transData.frozen(), trans_inverse=self.transData.inverted().frozen(), diff --git a/lib/matplotlib/sankey.py b/lib/matplotlib/sankey.py index 88def21ce631..9413548d9905 100644 --- a/lib/matplotlib/sankey.py +++ b/lib/matplotlib/sankey.py @@ -6,10 +6,11 @@ import six import logging +from types import SimpleNamespace from six.moves import zip import numpy as np -from matplotlib.cbook import iterable, Bunch +from matplotlib.cbook import iterable from matplotlib.path import Path from matplotlib.patches import PathPatch from matplotlib.transforms import Affine2D @@ -780,8 +781,9 @@ def _get_angle(a, r): # where either could determine the margins (e.g., arrow shoulders). # Add this diagram as a subdiagram. - self.diagrams.append(Bunch(patch=patch, flows=flows, angles=angles, - tips=tips, text=text, texts=texts)) + self.diagrams.append( + SimpleNamespace(patch=patch, flows=flows, angles=angles, tips=tips, + text=text, texts=texts)) # Allow a daisy-chained call structure (see docstring for the class). return self From 943931caafe672d6ae265c54bb8227281c0f778c Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Fri, 16 Feb 2018 20:11:28 -0500 Subject: [PATCH 0095/1161] Bump NumPy requirements in build too. This was missing from e3442aeb537e1100ec25c99cfdeaea204af28af6. --- setupext.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setupext.py b/setupext.py index 4c8ad1fd03af..7c7cbfea68f7 100644 --- a/setupext.py +++ b/setupext.py @@ -953,10 +953,10 @@ def add_flags(self, ext): ext.define_macros.append(('__STDC_FORMAT_MACROS', 1)) def get_setup_requires(self): - return ['numpy>=1.7.1'] + return ['numpy>=1.10.0'] def get_install_requires(self): - return ['numpy>=1.7.1'] + return ['numpy>=1.10.0'] class LibAgg(SetupPackage): From 429ffcecf4af0b6712edf5a37f00bfa8d43d79e7 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Mon, 5 Feb 2018 17:07:37 -0500 Subject: [PATCH 0096/1161] Remove unused variable. --- src/ft2font.cpp | 2 -- src/ft2font.h | 1 - 2 files changed, 3 deletions(-) diff --git a/src/ft2font.cpp b/src/ft2font.cpp index 4b46ec823ec8..ef622b2e9cac 100644 --- a/src/ft2font.cpp +++ b/src/ft2font.cpp @@ -532,8 +532,6 @@ FT2Font::~FT2Font() void FT2Font::clear() { - angle = 0.0; - pen.x = 0; pen.y = 0; diff --git a/src/ft2font.h b/src/ft2font.h index c60d5432cff6..8b167d3a4415 100644 --- a/src/ft2font.h +++ b/src/ft2font.h @@ -124,7 +124,6 @@ class FT2Font std::vector pos; FT_BBox bbox; FT_Pos advance; - double angle; double ptsize; double dpi; long hinting_factor; From 881f2a64798910a91213c76ef2f4a707ca87769d Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Mon, 5 Feb 2018 17:09:50 -0500 Subject: [PATCH 0097/1161] Add explicit casts in some headers. This prevents a bunch of repeated warnings since these headers are included multiple times. --- src/_backend_agg_basic_types.h | 2 +- src/file_compat.h | 2 +- src/mplutils.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/_backend_agg_basic_types.h b/src/_backend_agg_basic_types.h index 74a318e7d24b..a19214816f14 100644 --- a/src/_backend_agg_basic_types.h +++ b/src/_backend_agg_basic_types.h @@ -115,7 +115,7 @@ class GCAgg bool has_hatchpath() { - return hatchpath.total_vertices(); + return hatchpath.total_vertices() != 0; } private: diff --git a/src/file_compat.h b/src/file_compat.h index 84340655bedc..fdb8d93e1705 100644 --- a/src/file_compat.h +++ b/src/file_compat.h @@ -82,7 +82,7 @@ static NPY_INLINE FILE *mpl_PyFile_Dup(PyObject *file, char *mode, mpl_off_t *or if (ret == NULL) { return NULL; } - fd2 = PyNumber_AsSsize_t(ret, NULL); + fd2 = (int)PyNumber_AsSsize_t(ret, NULL); Py_DECREF(ret); /* Convert to FILE* handle */ diff --git a/src/mplutils.h b/src/mplutils.h index 06a05337667e..cd652b3939f4 100644 --- a/src/mplutils.h +++ b/src/mplutils.h @@ -63,7 +63,7 @@ extern "C" int add_dict_int(PyObject *dict, const char *key, long val); #if defined(_MSC_VER) && (_MSC_VER < 1800) namespace std { - inline bool isfinite(double num) { return _finite(num); } + inline bool isfinite(double num) { return _finite(num) != 0; } } #endif From a57ba9686327e4ee57ba6203dadc9918bec89231 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Mon, 5 Feb 2018 17:11:16 -0500 Subject: [PATCH 0098/1161] Use float constants where needed. This prevents a warning casting from double to float if the variable is not double. --- src/_image.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/_image.cpp b/src/_image.cpp index 8fc386fccb82..2ba9adca2887 100644 --- a/src/_image.cpp +++ b/src/_image.cpp @@ -12,7 +12,7 @@ void _bin_indices_middle( unsigned int *rowstart = irows; const float *ys2 = ys1 + 1; const float *yl = ys1 + ny; - float yo = y_min + dy / 2.0; + float yo = y_min + dy / 2.0f; float ym = 0.5f * (*ys1 + *ys2); // y/rows j = 0; @@ -126,7 +126,7 @@ void _bin_indices_linear( int iilast = (int)ny - 1; int iy0 = (int)floor(sc * (y[ii] - offs)); int iy1 = (int)floor(sc * (y[ii + 1] - offs)); - float invgap = 1.0 / (iy1 - iy0); + float invgap = 1.0f / (iy1 - iy0); for (i = 0; i < nrows && i < iy0; i++) { irows[i] = -1; } @@ -135,7 +135,7 @@ void _bin_indices_linear( ii++; iy0 = iy1; iy1 = (int)floor(sc * (y[ii + 1] - offs)); - invgap = 1.0 / (iy1 - iy0); + invgap = 1.0f / (iy1 - iy0); } if (i >= iy0 && i <= iy1) { irows[i] = ii; @@ -151,7 +151,7 @@ void _bin_indices_linear( int ii = iilast; int iy0 = (int)floor(sc * (y[ii] - offs)); int iy1 = (int)floor(sc * (y[ii - 1] - offs)); - float invgap = 1.0 / (iy1 - iy0); + float invgap = 1.0f / (iy1 - iy0); for (i = 0; i < nrows && i < iy0; i++) { irows[i] = -1; } @@ -160,7 +160,7 @@ void _bin_indices_linear( ii--; iy0 = iy1; iy1 = (int)floor(sc * (y[ii - 1] - offs)); - invgap = 1.0 / (iy1 - iy0); + invgap = 1.0f / (iy1 - iy0); } if (i >= iy0 && i <= iy1) { irows[i] = ii - 1; From ff4ab66597ce6b7e3d69c92385fde02e1d9fc693 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Mon, 5 Feb 2018 18:05:46 -0500 Subject: [PATCH 0099/1161] Make norm argument to _image.resample a bool. It only accepts a boolean on the Python side, but this is not enforced on the C++ side. This causes many casting warnings since it's used multiple times calling various filters that only take a `bool`. --- lib/matplotlib/image.py | 6 +++--- src/_image_resample.h | 2 +- src/_image_wrapper.cpp | 12 +++++++----- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/lib/matplotlib/image.py b/lib/matplotlib/image.py index de87c2afaa44..3561da09ab85 100644 --- a/lib/matplotlib/image.py +++ b/lib/matplotlib/image.py @@ -412,7 +412,7 @@ def _make_image(self, A, in_bbox, out_bbox, clip_bbox, magnification=1.0, t, _interpd_[self.get_interpolation()], self.get_resample(), 1.0, - self.get_filternorm() or 0.0, + self.get_filternorm(), self.get_filterrad() or 0.0) # we are done with A_scaled now, remove from namespace @@ -447,7 +447,7 @@ def _make_image(self, A, in_bbox, out_bbox, clip_bbox, magnification=1.0, t, _interpd_[self.get_interpolation()], True, 1, - self.get_filternorm() or 0.0, + self.get_filternorm(), self.get_filterrad() or 0.0) # we are done with the mask, delete from namespace to be sure! del mask @@ -481,7 +481,7 @@ def _make_image(self, A, in_bbox, out_bbox, clip_bbox, magnification=1.0, _image.resample( A, output, t, _interpd_[self.get_interpolation()], self.get_resample(), alpha, - self.get_filternorm() or 0.0, self.get_filterrad() or 0.0) + self.get_filternorm(), self.get_filterrad() or 0.0) # at this point output is either a 2D array of normed data # (of int or float) diff --git a/src/_image_resample.h b/src/_image_resample.h index 86cbef03248f..f496e76cb31d 100644 --- a/src/_image_resample.h +++ b/src/_image_resample.h @@ -800,7 +800,7 @@ struct resample_params_t { agg::trans_affine affine; const double *transform_mesh; bool resample; - double norm; + bool norm; double radius; double alpha; }; diff --git a/src/_image_wrapper.cpp b/src/_image_wrapper.cpp index 5fdd3170154c..f7f57c993780 100644 --- a/src/_image_wrapper.cpp +++ b/src/_image_wrapper.cpp @@ -14,7 +14,7 @@ * */ const char* image_resample__doc__ = -"resample(input_array, output_array, matrix, interpolation=NEAREST, alpha=1.0, norm=0, radius=1)\n\n" +"resample(input_array, output_array, matrix, interpolation=NEAREST, alpha=1.0, norm=False, radius=1)\n\n" "Resample input_array, blending it in-place into output_array, using an\n" "affine transformation.\n\n" @@ -48,8 +48,8 @@ const char* image_resample__doc__ = " The level of transparency to apply. 1.0 is completely opaque.\n" " 0.0 is completely transparent.\n\n" -"norm : float, optional\n" -" The norm for the interpolation function. Default is 0.\n\n" +"norm : bool, optional\n" +" Whether to norm the interpolation function. Default is `False`.\n\n" "radius: float, optional\n" " The radius of the kernel, if method is SINC, LANCZOS or BLACKMAN.\n" @@ -120,6 +120,7 @@ image_resample(PyObject *self, PyObject* args, PyObject *kwargs) PyObject *py_transform = NULL; resample_params_t params; int resample_; + int norm_; PyArrayObject *input_array = NULL; PyArrayObject *output_array = NULL; @@ -132,9 +133,9 @@ image_resample(PyObject *self, PyObject* args, PyObject *kwargs) "resample", "alpha", "norm", "radius", NULL }; if (!PyArg_ParseTupleAndKeywords( - args, kwargs, "OOO|iiddd:resample", (char **)kwlist, + args, kwargs, "OOO|iidid:resample", (char **)kwlist, &py_input_array, &py_output_array, &py_transform, - ¶ms.interpolation, &resample_, ¶ms.alpha, ¶ms.norm, + ¶ms.interpolation, &resample_, ¶ms.alpha, &norm_, ¶ms.radius)) { return NULL; } @@ -146,6 +147,7 @@ image_resample(PyObject *self, PyObject* args, PyObject *kwargs) } params.resample = (resample_ != 0); + params.norm = (norm_ != 0); input_array = (PyArrayObject *)PyArray_FromAny( py_input_array, NULL, 2, 3, NPY_ARRAY_C_CONTIGUOUS, NULL); From bd746cd359ffb4e6e5587f638b0d4e29c1ad5aa9 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Mon, 5 Feb 2018 18:42:24 -0500 Subject: [PATCH 0100/1161] Use correct types for array sizes. --- lib/matplotlib/tri/_tri.cpp | 12 ++++++------ src/_path.h | 2 +- src/_png.cpp | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/matplotlib/tri/_tri.cpp b/lib/matplotlib/tri/_tri.cpp index a27beff7f99f..5cbdf4ea0e15 100644 --- a/lib/matplotlib/tri/_tri.cpp +++ b/lib/matplotlib/tri/_tri.cpp @@ -629,9 +629,9 @@ PyObject* TriContourGenerator::contour_to_segs_and_kinds(const Contour& contour) ContourLine::const_iterator point; // Find total number of points in all contour lines. - int n_points = 0; + npy_intp n_points = 0; for (line = contour.begin(); line != contour.end(); ++line) - n_points += line->size(); + n_points += (npy_intp)line->size(); // Create segs array for point coordinates. npy_intp segs_dims[2] = {n_points, 2}; @@ -1021,8 +1021,8 @@ TrapezoidMapTriFinder::add_edge_to_tree(const Edge& edge) // Iterate through trapezoids intersecting edge from left to right. // Replace each old trapezoid with 2+ new trapezoids, and replace its // corresponding nodes in the search tree with new nodes. - unsigned int ntraps = trapezoids.size(); - for (unsigned int i = 0; i < ntraps; ++i) { + size_t ntraps = trapezoids.size(); + for (size_t i = 0; i < ntraps; ++i) { Trapezoid* old = trapezoids[i]; // old trapezoid to replace. bool start_trap = (i == 0); bool end_trap = (i == ntraps-1); @@ -1397,8 +1397,8 @@ TrapezoidMapTriFinder::initialize() std::random_shuffle(_edges.begin()+2, _edges.end(), rng); // Add edges, one at a time, to tree. - unsigned int nedges = _edges.size(); - for (unsigned int index = 2; index < nedges; ++index) { + size_t nedges = _edges.size(); + for (size_t index = 2; index < nedges; ++index) { if (!add_edge_to_tree(_edges[index])) throw std::runtime_error("Triangulation is invalid"); _tree->assert_valid(index == nedges-1); diff --git a/src/_path.h b/src/_path.h index b8cde6a7b322..09335f6d6e8b 100644 --- a/src/_path.h +++ b/src/_path.h @@ -1229,7 +1229,7 @@ int convert_to_string(PathIterator &path, } if (sketch_params.scale != 0.0) { - *buffersize *= 10.0; + *buffersize *= 10; } *buffer = (char *)malloc(*buffersize); diff --git a/src/_png.cpp b/src/_png.cpp index 5a6a46c37332..85424e98b5cf 100644 --- a/src/_png.cpp +++ b/src/_png.cpp @@ -173,7 +173,7 @@ static PyObject *Py_write_png(PyObject *self, PyObject *args, PyObject *kwds) png_uint_32 width = (png_uint_32)buffer.dim(1); png_uint_32 height = (png_uint_32)buffer.dim(0); - int channels = buffer.dim(2); + npy_intp channels = buffer.dim(2); std::vector row_pointers(height); for (png_uint_32 row = 0; row < (png_uint_32)height; ++row) { row_pointers[row] = (png_bytep)&buffer(row, 0, 0); From 3c130cbcf49629d940dff4a1f527359465c6059a Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Mon, 5 Feb 2018 18:45:40 -0500 Subject: [PATCH 0101/1161] Fix casts that apply to whole expression. No need to cast the int before dividing, because the divisor is a double. It is necessary to cast the entire expression though, since the storage variable is only a float. --- src/_png.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/_png.cpp b/src/_png.cpp index 85424e98b5cf..9e3d33e14c8e 100644 --- a/src/_png.cpp +++ b/src/_png.cpp @@ -599,12 +599,12 @@ static PyObject *_read_png(PyObject *filein, bool float_result) if (bit_depth == 16) { png_uint_16 *ptr = &reinterpret_cast(row)[x * dimensions[2]]; for (png_uint_32 p = 0; p < (png_uint_32)dimensions[2]; p++) { - A(y, x, p) = (float)(ptr[p]) / max_value; + A(y, x, p) = (float)(ptr[p] / max_value); } } else { png_byte *ptr = &(row[x * dimensions[2]]); for (png_uint_32 p = 0; p < (png_uint_32)dimensions[2]; p++) { - A(y, x, p) = (float)(ptr[p]) / max_value; + A(y, x, p) = (float)(ptr[p] / max_value); } } } From 23a8b00748de581d4359c88f431e161d024bc606 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Mon, 5 Feb 2018 19:18:04 -0500 Subject: [PATCH 0102/1161] Make some C++ bool conversions explicit. --- src/_backend_agg.h | 16 ++++++++-------- src/_contour.cpp | 30 +++++++++++++++--------------- src/_path.h | 4 ++-- src/py_converters.cpp | 9 +++++++-- 4 files changed, 32 insertions(+), 27 deletions(-) diff --git a/src/_backend_agg.h b/src/_backend_agg.h index 53b73f179baa..7fed2632d1d7 100644 --- a/src/_backend_agg.h +++ b/src/_backend_agg.h @@ -281,8 +281,8 @@ class RendererAgg DashesVector &linestyles, AntialiasedArray &antialiaseds, e_offset_position offset_position, - int check_snap, - int has_curves); + bool check_snap, + bool has_curves); template void _draw_gouraud_triangle(PointArray &points, @@ -915,8 +915,8 @@ inline void RendererAgg::_draw_path_collection_generic(GCAgg &gc, DashesVector &linestyles, AntialiasedArray &antialiaseds, e_offset_position offset_position, - int check_snap, - int has_curves) + bool check_snap, + bool has_curves) { typedef agg::conv_transform transformed_path_t; typedef PathNanRemover nan_removed_t; @@ -1068,8 +1068,8 @@ inline void RendererAgg::draw_path_collection(GCAgg &gc, linestyles, antialiaseds, offset_position, - 1, - 1); + true, + true); } template @@ -1186,8 +1186,8 @@ inline void RendererAgg::draw_quad_mesh(GCAgg &gc, linestyles, antialiaseds, OFFSET_POSITION_FIGURE, - 0, - 0); + false, + false); } template diff --git a/src/_contour.cpp b/src/_contour.cpp index 4f2bc53fa37e..d870fb2d151a 100644 --- a/src/_contour.cpp +++ b/src/_contour.cpp @@ -60,15 +60,15 @@ #define Z_NW Z_LEVEL(POINT_NW) #define Z_SE Z_LEVEL(POINT_SE) #define Z_SW Z_LEVEL(POINT_SW) -#define VISITED(quad,li) (_cache[quad] & (li==1 ? MASK_VISITED_1 : MASK_VISITED_2)) -#define VISITED_S(quad) (_cache[quad] & MASK_VISITED_S) -#define VISITED_W(quad) (_cache[quad] & MASK_VISITED_W) -#define VISITED_CORNER(quad) (_cache[quad] & MASK_VISITED_CORNER) -#define SADDLE(quad,li) (_cache[quad] & (li==1 ? MASK_SADDLE_1 : MASK_SADDLE_2)) -#define SADDLE_LEFT(quad,li) (_cache[quad] & (li==1 ? MASK_SADDLE_LEFT_1 : MASK_SADDLE_LEFT_2)) -#define SADDLE_START_SW(quad,li) (_cache[quad] & (li==1 ? MASK_SADDLE_START_SW_1 : MASK_SADDLE_START_SW_2)) -#define BOUNDARY_S(quad) (_cache[quad] & MASK_BOUNDARY_S) -#define BOUNDARY_W(quad) (_cache[quad] & MASK_BOUNDARY_W) +#define VISITED(quad,li) ((_cache[quad] & (li==1 ? MASK_VISITED_1 : MASK_VISITED_2)) != 0) +#define VISITED_S(quad) ((_cache[quad] & MASK_VISITED_S) != 0) +#define VISITED_W(quad) ((_cache[quad] & MASK_VISITED_W) != 0) +#define VISITED_CORNER(quad) ((_cache[quad] & MASK_VISITED_CORNER) != 0) +#define SADDLE(quad,li) ((_cache[quad] & (li==1 ? MASK_SADDLE_1 : MASK_SADDLE_2)) != 0) +#define SADDLE_LEFT(quad,li) ((_cache[quad] & (li==1 ? MASK_SADDLE_LEFT_1 : MASK_SADDLE_LEFT_2)) != 0) +#define SADDLE_START_SW(quad,li) ((_cache[quad] & (li==1 ? MASK_SADDLE_START_SW_1 : MASK_SADDLE_START_SW_2)) != 0) +#define BOUNDARY_S(quad) ((_cache[quad] & MASK_BOUNDARY_S) != 0) +#define BOUNDARY_W(quad) ((_cache[quad] & MASK_BOUNDARY_W) != 0) #define BOUNDARY_N(quad) BOUNDARY_S(quad+_nx) #define BOUNDARY_E(quad) BOUNDARY_W(quad+1) #define EXISTS_QUAD(quad) ((_cache[quad] & MASK_EXISTS) == MASK_EXISTS_QUAD) @@ -1773,12 +1773,12 @@ void QuadContourGenerator::write_cache_quad(long quad, bool grid_only) const std::cout << " BNDY=" << (BOUNDARY_S(quad)>0) << (BOUNDARY_W(quad)>0); if (!grid_only) { std::cout << " Z=" << Z_LEVEL(quad) - << " SAD=" << (SADDLE(quad,1)>0) << (SADDLE(quad,2)>0) - << " LEFT=" << (SADDLE_LEFT(quad,1)>0) << (SADDLE_LEFT(quad,2)>0) - << " NW=" << (SADDLE_START_SW(quad,1)>0) << (SADDLE_START_SW(quad,2)>0) - << " VIS=" << (VISITED(quad,1)>0) << (VISITED(quad,2)>0) - << (VISITED_S(quad)>0) << (VISITED_W(quad)>0) - << (VISITED_CORNER(quad)>0); + << " SAD=" << SADDLE(quad,1) << SADDLE(quad,2) + << " LEFT=" << SADDLE_LEFT(quad,1) << SADDLE_LEFT(quad,2) + << " NW=" << SADDLE_START_SW(quad,1) << SADDLE_START_SW(quad,2) + << " VIS=" << VISITED(quad,1) << VISITED(quad,2) + << VISITED_S(quad) << VISITED_W(quad) + << VISITED_CORNER(quad); } std::cout << std::endl; } diff --git a/src/_path.h b/src/_path.h index 09335f6d6e8b..7a6bdc5a20e6 100644 --- a/src/_path.h +++ b/src/_path.h @@ -278,7 +278,7 @@ inline bool point_in_path( points_in_path(points, r, path, trans, result); - return (bool)result[0]; + return result[0] != 0; } template @@ -320,7 +320,7 @@ inline bool point_on_path( points_on_path(points, r, path, trans, result); - return (bool)result[0]; + return result[0] != 0; } struct extent_limits diff --git a/src/py_converters.cpp b/src/py_converters.cpp index b65e1c844061..745665d8ab59 100644 --- a/src/py_converters.cpp +++ b/src/py_converters.cpp @@ -109,8 +109,13 @@ int convert_double(PyObject *obj, void *p) int convert_bool(PyObject *obj, void *p) { bool *val = (bool *)p; + int ret; - *val = PyObject_IsTrue(obj); + ret = PyObject_IsTrue(obj); + if (ret == -1) { + return 0; + } + *val = ret != 0; return 1; } @@ -387,7 +392,7 @@ int convert_path(PyObject *obj, void *pathp) if (should_simplify_obj == NULL) { goto exit; } - should_simplify = PyObject_IsTrue(should_simplify_obj); + should_simplify = PyObject_IsTrue(should_simplify_obj) != 0; simplify_threshold_obj = PyObject_GetAttrString(obj, "simplify_threshold"); if (simplify_threshold_obj == NULL) { From abd594247f0077c19fd8c5737a970d413689a6b1 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Tue, 6 Feb 2018 03:31:46 -0500 Subject: [PATCH 0103/1161] Use convert_bool in more places. This helps fix up some bool warnings. --- setupext.py | 6 +++++- src/_backend_agg_wrapper.cpp | 5 +++-- src/_contour_wrapper.cpp | 7 ++++--- src/_image_wrapper.cpp | 11 +++-------- src/_path_wrapper.cpp | 30 ++++++++++++++++++------------ src/ft2font_wrapper.cpp | 17 ++++++++++------- 6 files changed, 43 insertions(+), 33 deletions(-) diff --git a/setupext.py b/setupext.py index b8586d682a4e..9063bb3c7fd0 100644 --- a/setupext.py +++ b/setupext.py @@ -1265,11 +1265,13 @@ def get_extension(self): sources = [ 'src/ft2font.cpp', 'src/ft2font_wrapper.cpp', - 'src/mplutils.cpp' + 'src/mplutils.cpp', + 'src/py_converters.cpp', ] ext = make_extension('matplotlib.ft2font', sources) FreeType().add_flags(ext) Numpy().add_flags(ext) + LibAgg().add_flags(ext, add_sources=False) return ext @@ -1394,9 +1396,11 @@ def get_extension(self): sources = [ "src/_contour.cpp", "src/_contour_wrapper.cpp", + 'src/py_converters.cpp', ] ext = make_extension('matplotlib._contour', sources) Numpy().add_flags(ext) + LibAgg().add_flags(ext, add_sources=False) return ext diff --git a/src/_backend_agg_wrapper.cpp b/src/_backend_agg_wrapper.cpp index ea6c7b1267b0..dbdea32f0b75 100644 --- a/src/_backend_agg_wrapper.cpp +++ b/src/_backend_agg_wrapper.cpp @@ -396,11 +396,11 @@ static PyObject *PyRendererAgg_draw_quad_mesh(PyRendererAgg *self, PyObject *arg numpy::array_view offsets; agg::trans_affine offset_trans; numpy::array_view facecolors; - int antialiased; + bool antialiased; numpy::array_view edgecolors; if (!PyArg_ParseTuple(args, - "O&O&IIO&O&O&O&iO&:draw_quad_mesh", + "O&O&IIO&O&O&O&O&O&:draw_quad_mesh", &convert_gcagg, &gc, &convert_trans_affine, @@ -415,6 +415,7 @@ static PyObject *PyRendererAgg_draw_quad_mesh(PyRendererAgg *self, PyObject *arg &offset_trans, &convert_colors, &facecolors, + &convert_bool, &antialiased, &convert_colors, &edgecolors)) { diff --git a/src/_contour_wrapper.cpp b/src/_contour_wrapper.cpp index eedc8a1aec2a..b620490636fa 100644 --- a/src/_contour_wrapper.cpp +++ b/src/_contour_wrapper.cpp @@ -1,5 +1,6 @@ #include "src/_contour.h" #include "src/mplutils.h" +#include "src/py_converters.h" #include "src/py_exceptions.h" /* QuadContourGenerator */ @@ -29,15 +30,15 @@ static int PyQuadContourGenerator_init(PyQuadContourGenerator* self, PyObject* a { QuadContourGenerator::CoordinateArray x, y, z; QuadContourGenerator::MaskArray mask; - int corner_mask; + bool corner_mask; long chunk_size; - if (!PyArg_ParseTuple(args, "O&O&O&O&il", + if (!PyArg_ParseTuple(args, "O&O&O&O&O&l", &x.converter_contiguous, &x, &y.converter_contiguous, &y, &z.converter_contiguous, &z, &mask.converter_contiguous, &mask, - &corner_mask, + &convert_bool, &corner_mask, &chunk_size)) { return -1; } diff --git a/src/_image_wrapper.cpp b/src/_image_wrapper.cpp index f7f57c993780..e8f4cb872c6f 100644 --- a/src/_image_wrapper.cpp +++ b/src/_image_wrapper.cpp @@ -119,8 +119,6 @@ image_resample(PyObject *self, PyObject* args, PyObject *kwargs) PyObject *py_output_array = NULL; PyObject *py_transform = NULL; resample_params_t params; - int resample_; - int norm_; PyArrayObject *input_array = NULL; PyArrayObject *output_array = NULL; @@ -133,10 +131,10 @@ image_resample(PyObject *self, PyObject* args, PyObject *kwargs) "resample", "alpha", "norm", "radius", NULL }; if (!PyArg_ParseTupleAndKeywords( - args, kwargs, "OOO|iidid:resample", (char **)kwlist, + args, kwargs, "OOO|iO&dO&d:resample", (char **)kwlist, &py_input_array, &py_output_array, &py_transform, - ¶ms.interpolation, &resample_, ¶ms.alpha, &norm_, - ¶ms.radius)) { + ¶ms.interpolation, &convert_bool, ¶ms.resample, + ¶ms.alpha, &convert_bool, ¶ms.norm, ¶ms.radius)) { return NULL; } @@ -146,9 +144,6 @@ image_resample(PyObject *self, PyObject* args, PyObject *kwargs) goto error; } - params.resample = (resample_ != 0); - params.norm = (norm_ != 0); - input_array = (PyArrayObject *)PyArray_FromAny( py_input_array, NULL, 2, 3, NPY_ARRAY_C_CONTIGUOUS, NULL); if (input_array == NULL) { diff --git a/src/_path_wrapper.cpp b/src/_path_wrapper.cpp index 1f0b61732189..a88e1c2455ef 100644 --- a/src/_path_wrapper.cpp +++ b/src/_path_wrapper.cpp @@ -310,12 +310,12 @@ static PyObject *Py_point_in_path_collection(PyObject *self, PyObject *args, PyO numpy::array_view transforms; numpy::array_view offsets; agg::trans_affine offset_trans; - int filled; + bool filled; e_offset_position offset_position; std::vector result; if (!PyArg_ParseTuple(args, - "dddO&OO&O&O&iO&:point_in_path_collection", + "dddO&OO&O&O&O&O&:point_in_path_collection", &x, &y, &radius, @@ -328,6 +328,7 @@ static PyObject *Py_point_in_path_collection(PyObject *self, PyObject *args, PyO &offsets, &convert_trans_affine, &offset_trans, + &convert_bool, &filled, &convert_offset_position, &offset_position)) { @@ -402,15 +403,16 @@ static PyObject *Py_clip_path_to_rect(PyObject *self, PyObject *args, PyObject * { py::PathIterator path; agg::rect_d rect; - int inside; + bool inside; std::vector result; if (!PyArg_ParseTuple(args, - "O&O&i:clip_path_to_rect", + "O&O&O&:clip_path_to_rect", &convert_path, &path, &convert_rect, &rect, + &convert_bool, &inside)) { return NULL; } @@ -527,13 +529,13 @@ static PyObject *Py_path_intersects_rectangle(PyObject *self, PyObject *args, Py { py::PathIterator path; double rect_x1, rect_y1, rect_x2, rect_y2; - int filled = 0; + bool filled = false; const char *names[] = { "path", "rect_x1", "rect_y1", "rect_x2", "rect_y2", "filled", NULL }; bool result; if (!PyArg_ParseTupleAndKeywords(args, kwds, - "O&dddd|i:path_intersects_rectangle", + "O&dddd|O&:path_intersects_rectangle", (char **)names, &convert_path, &path, @@ -541,6 +543,7 @@ static PyObject *Py_path_intersects_rectangle(PyObject *self, PyObject *args, Py &rect_y1, &rect_x2, &rect_y2, + &convert_bool, &filled)) { return NULL; } @@ -594,21 +597,22 @@ static PyObject *Py_cleanup_path(PyObject *self, PyObject *args, PyObject *kwds) { py::PathIterator path; agg::trans_affine trans; - int remove_nans; + bool remove_nans; agg::rect_d clip_rect; e_snap_mode snap_mode; double stroke_width; PyObject *simplifyobj; bool simplify = false; - int return_curves; + bool return_curves; SketchParams sketch; if (!PyArg_ParseTuple(args, - "O&O&iO&O&dOiO&:cleanup_path", + "O&O&O&O&O&dOO&O&:cleanup_path", &convert_path, &path, &convert_trans_affine, &trans, + &convert_bool, &remove_nans, &convert_rect, &clip_rect, @@ -616,6 +620,7 @@ static PyObject *Py_cleanup_path(PyObject *self, PyObject *args, PyObject *kwds) &snap_mode, &stroke_width, &simplifyobj, + &convert_bool, &return_curves, &convert_sketch_params, &sketch)) { @@ -675,14 +680,14 @@ static PyObject *Py_convert_to_string(PyObject *self, PyObject *args, PyObject * int precision; PyObject *codesobj; char *codes[5]; - int postfix; + bool postfix; char *buffer = NULL; size_t buffersize; PyObject *result; int status; if (!PyArg_ParseTuple(args, - "O&O&O&OO&iOi:convert_to_string", + "O&O&O&OO&iOO&:convert_to_string", &convert_path, &path, &convert_trans_affine, @@ -694,6 +699,7 @@ static PyObject *Py_convert_to_string(PyObject *self, PyObject *args, PyObject * &sketch, &precision, &codesobj, + &convert_bool, &postfix)) { return NULL; } @@ -727,7 +733,7 @@ static PyObject *Py_convert_to_string(PyObject *self, PyObject *args, PyObject * CALL_CPP("convert_to_string", (status = convert_to_string( path, trans, cliprect, simplify, sketch, - precision, codes, (bool)postfix, &buffer, + precision, codes, postfix, &buffer, &buffersize))); if (status) { diff --git a/src/ft2font_wrapper.cpp b/src/ft2font_wrapper.cpp index 49c33b794357..f41ab64e3fbe 100644 --- a/src/ft2font_wrapper.cpp +++ b/src/ft2font_wrapper.cpp @@ -1,6 +1,7 @@ #include "mplutils.h" #include "ft2font.h" #include "file_compat.h" +#include "py_converters.h" #include "py_exceptions.h" #include "numpy_cpp.h" @@ -829,11 +830,11 @@ const char *PyFT2Font_draw_glyphs_to_bitmap__doc__ = static PyObject *PyFT2Font_draw_glyphs_to_bitmap(PyFT2Font *self, PyObject *args, PyObject *kwds) { - int antialiased = 1; + bool antialiased = true; const char *names[] = { "antialiased", NULL }; - if (!PyArg_ParseTupleAndKeywords( - args, kwds, "|i:draw_glyphs_to_bitmap", (char **)names, &antialiased)) { + if (!PyArg_ParseTupleAndKeywords(args, kwds, "|O&:draw_glyphs_to_bitmap", + (char **)names, &convert_bool, &antialiased)) { return NULL; } @@ -849,11 +850,12 @@ const char *PyFT2Font_get_xys__doc__ = static PyObject *PyFT2Font_get_xys(PyFT2Font *self, PyObject *args, PyObject *kwds) { - int antialiased = 1; + bool antialiased = true; std::vector xys; const char *names[] = { "antialiased", NULL }; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "|i:get_xys", (char **)names, &antialiased)) { + if (!PyArg_ParseTupleAndKeywords(args, kwds, "|O&:get_xys", + (char **)names, &convert_bool, &antialiased)) { return NULL; } @@ -879,12 +881,12 @@ static PyObject *PyFT2Font_draw_glyph_to_bitmap(PyFT2Font *self, PyObject *args, PyFT2Image *image; double xd, yd; PyGlyph *glyph; - int antialiased = 1; + bool antialiased = true; const char *names[] = { "image", "x", "y", "glyph", "antialiased", NULL }; if (!PyArg_ParseTupleAndKeywords(args, kwds, - "O!ddO!|i:draw_glyph_to_bitmap", + "O!ddO!|O&:draw_glyph_to_bitmap", (char **)names, &PyFT2ImageType, &image, @@ -892,6 +894,7 @@ static PyObject *PyFT2Font_draw_glyph_to_bitmap(PyFT2Font *self, PyObject *args, &yd, &PyGlyphType, &glyph, + &convert_bool, &antialiased)) { return NULL; } From b4bed78dca9cc64e05b429bf4d3bbaec79f6ebe9 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Fri, 16 Feb 2018 21:19:33 -0800 Subject: [PATCH 0104/1161] Move some logging calls down to DEBUG level. The idea is that a "normal" import of matplotlib should not trigger log calls above the DEBUG level. --- lib/matplotlib/backends/__init__.py | 2 +- lib/matplotlib/font_manager.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/backends/__init__.py b/lib/matplotlib/backends/__init__.py index bc07522797ab..ac7b6301e3e7 100644 --- a/lib/matplotlib/backends/__init__.py +++ b/lib/matplotlib/backends/__init__.py @@ -87,7 +87,7 @@ def do_nothing(*args, **kwargs): draw_if_interactive = getattr(backend_mod, 'draw_if_interactive', do_nothing) - _log.info('backend %s version %s' % (name, backend_version)) + _log.debug('backend %s version %s', name, backend_version) # need to keep a global reference to the backend for compatibility # reasons. See https://github.com/matplotlib/matplotlib/issues/6092 diff --git a/lib/matplotlib/font_manager.py b/lib/matplotlib/font_manager.py index b9921bd8bde9..18ad204db897 100644 --- a/lib/matplotlib/font_manager.py +++ b/lib/matplotlib/font_manager.py @@ -1458,7 +1458,7 @@ def _rebuild(): _rebuild() else: fontManager.default_size = None - _log.info("Using fontManager instance from %s", _fmcache) + _log.debug("Using fontManager instance from %s", _fmcache) except cbook.Locked.TimeoutError: raise except: From 95f07482b77dec363ec00db91643a040ab484aea Mon Sep 17 00:00:00 2001 From: DietmarSchwertberger Date: Sat, 17 Feb 2018 16:17:27 +0100 Subject: [PATCH 0105/1161] use wx.lib.wxcairo.BitmapFromImageSurface to convert from cairo to wx --- lib/matplotlib/backends/backend_wxcairo.py | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/lib/matplotlib/backends/backend_wxcairo.py b/lib/matplotlib/backends/backend_wxcairo.py index 71a6831c7c80..7b85513d753f 100644 --- a/lib/matplotlib/backends/backend_wxcairo.py +++ b/lib/matplotlib/backends/backend_wxcairo.py @@ -11,7 +11,7 @@ from .backend_cairo import cairo, FigureCanvasCairo, RendererCairo from .backend_wx import ( _BackendWx, _FigureCanvasWxBase, FigureFrameWx, NavigationToolbar2Wx) -from . import wx_compat as wxc +import wx.lib.wxcairo as wxcairo class FigureFrameWxCairo(FigureFrameWx): @@ -44,13 +44,7 @@ def draw(self, drawDC=None): self._renderer.set_ctx_from_surface(surface) self._renderer.set_width_height(width, height) self.figure.draw(self._renderer) - buf = np.frombuffer(surface.get_data(), dtype="uint8").reshape((height, width, 4)) - if sys.byteorder == "little": - b, g, r, a = np.rollaxis(buf, -1) - else: - a, r, g, b = np.rollaxis(buf, -1) - rgba8888 = np.dstack([r, g, b, a]) - self.bitmap = wxc.BitmapFromBuffer(width, height, rgba8888) + self.bitmap = wxcairo.BitmapFromImageSurface(surface) self._isDrawn = True self.gui_repaint(drawDC=drawDC, origin='WXCairo') From 54a7b6ca1bc3e3c57e3191441915a63d7e2e63b9 Mon Sep 17 00:00:00 2001 From: DietmarSchwertberger Date: Sat, 17 Feb 2018 16:27:53 +0100 Subject: [PATCH 0106/1161] remove now unused imports again --- lib/matplotlib/backends/backend_wxcairo.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/lib/matplotlib/backends/backend_wxcairo.py b/lib/matplotlib/backends/backend_wxcairo.py index 7b85513d753f..8bd71f5b8d4e 100644 --- a/lib/matplotlib/backends/backend_wxcairo.py +++ b/lib/matplotlib/backends/backend_wxcairo.py @@ -3,9 +3,6 @@ import six -import sys - -import numpy as np import wx from .backend_cairo import cairo, FigureCanvasCairo, RendererCairo From fa3209e58009f7b969c5e129744e4fd786d436fc Mon Sep 17 00:00:00 2001 From: DietmarSchwertberger Date: Sat, 17 Feb 2018 18:51:28 +0100 Subject: [PATCH 0107/1161] make NavigationToolbar2 consistent, adjust examples to this and navigation_toolbar.html example --- examples/user_interfaces/embedding_in_wx2_sgskip.py | 4 ++-- examples/user_interfaces/embedding_in_wx3_sgskip.py | 7 ++++--- examples/user_interfaces/embedding_in_wx4_sgskip.py | 6 +++--- examples/user_interfaces/embedding_in_wx5_sgskip.py | 8 ++++---- examples/user_interfaces/fourier_demo_wx_sgskip.py | 4 ++-- lib/matplotlib/backends/backend_wxagg.py | 11 ++--------- lib/matplotlib/backends/backend_wxcairo.py | 4 ++-- 7 files changed, 19 insertions(+), 25 deletions(-) diff --git a/examples/user_interfaces/embedding_in_wx2_sgskip.py b/examples/user_interfaces/embedding_in_wx2_sgskip.py index f83f2ec6e598..895627733f43 100644 --- a/examples/user_interfaces/embedding_in_wx2_sgskip.py +++ b/examples/user_interfaces/embedding_in_wx2_sgskip.py @@ -8,7 +8,7 @@ """ from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigureCanvas -from matplotlib.backends.backend_wx import NavigationToolbar2Wx +from matplotlib.backends.backend_wx import NavigationToolbar2Wx as NavigationToolbar from matplotlib.figure import Figure import numpy as np @@ -38,7 +38,7 @@ def __init__(self): self.add_toolbar() # comment this out for no toolbar def add_toolbar(self): - self.toolbar = NavigationToolbar2Wx(self.canvas) + self.toolbar = NavigationToolbar(self.canvas) self.toolbar.Realize() # By adding toolbar in sizer, we are able to put it at the bottom # of the frame - so appearance is closer to GTK version. diff --git a/examples/user_interfaces/embedding_in_wx3_sgskip.py b/examples/user_interfaces/embedding_in_wx3_sgskip.py index f8074a488e95..e27c3bb2e633 100644 --- a/examples/user_interfaces/embedding_in_wx3_sgskip.py +++ b/examples/user_interfaces/embedding_in_wx3_sgskip.py @@ -30,7 +30,8 @@ import matplotlib import matplotlib.cm as cm import matplotlib.cbook as cbook -from matplotlib.backends.backend_wxagg import Toolbar, FigureCanvasWxAgg +from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigureCanvas +from matplotlib.backends.backend_wxagg import NavigationToolbar2WxAgg as NavigationToolbar from matplotlib.figure import Figure import numpy as np @@ -48,8 +49,8 @@ def __init__(self, parent): wx.Panel.__init__(self, parent, -1) self.fig = Figure((5, 4), 75) - self.canvas = FigureCanvasWxAgg(self, -1, self.fig) - self.toolbar = Toolbar(self.canvas) # matplotlib toolbar + self.canvas = FigureCanvas(self, -1, self.fig) + self.toolbar = NavigationToolbar(self.canvas) # matplotlib toolbar self.toolbar.Realize() # self.toolbar.set_active([0,1]) diff --git a/examples/user_interfaces/embedding_in_wx4_sgskip.py b/examples/user_interfaces/embedding_in_wx4_sgskip.py index 25b0fdbfea81..a6b81f97681d 100644 --- a/examples/user_interfaces/embedding_in_wx4_sgskip.py +++ b/examples/user_interfaces/embedding_in_wx4_sgskip.py @@ -7,7 +7,7 @@ """ from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigureCanvas -from matplotlib.backends.backend_wxagg import NavigationToolbar2WxAgg +from matplotlib.backends.backend_wxagg import NavigationToolbar2WxAgg as NavigationToolbar from matplotlib.backends.backend_wx import _load_bitmap from matplotlib.figure import Figure @@ -16,14 +16,14 @@ import wx -class MyNavigationToolbar(NavigationToolbar2WxAgg): +class MyNavigationToolbar(NavigationToolbar): """ Extend the default wx toolbar with your own event handlers """ ON_CUSTOM = wx.NewId() def __init__(self, canvas, cankill): - NavigationToolbar2WxAgg.__init__(self, canvas) + NavigationToolbar.__init__(self, canvas) # for simplicity I'm going to reuse a bitmap from wx, you'll # probably want to add your own. diff --git a/examples/user_interfaces/embedding_in_wx5_sgskip.py b/examples/user_interfaces/embedding_in_wx5_sgskip.py index 6d3fb156cbac..61261cd1297d 100644 --- a/examples/user_interfaces/embedding_in_wx5_sgskip.py +++ b/examples/user_interfaces/embedding_in_wx5_sgskip.py @@ -14,16 +14,16 @@ import wx.aui as aui import matplotlib as mpl -from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as Canvas -from matplotlib.backends.backend_wxagg import NavigationToolbar2Wx as Toolbar +from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigureCanvas +from matplotlib.backends.backend_wxagg import NavigationToolbar2WxAgg as NavigationToolbar class Plot(wx.Panel): def __init__(self, parent, id=-1, dpi=None, **kwargs): wx.Panel.__init__(self, parent, id=id, **kwargs) self.figure = mpl.figure.Figure(dpi=dpi, figsize=(2, 2)) - self.canvas = Canvas(self, -1, self.figure) - self.toolbar = Toolbar(self.canvas) + self.canvas = FigureCanvas(self, -1, self.figure) + self.toolbar = NavigationToolbar(self.canvas) self.toolbar.Realize() sizer = wx.BoxSizer(wx.VERTICAL) diff --git a/examples/user_interfaces/fourier_demo_wx_sgskip.py b/examples/user_interfaces/fourier_demo_wx_sgskip.py index 5a76d237b9e3..2a943f253a82 100644 --- a/examples/user_interfaces/fourier_demo_wx_sgskip.py +++ b/examples/user_interfaces/fourier_demo_wx_sgskip.py @@ -8,7 +8,7 @@ import numpy as np import wx -from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg +from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigureCanvas from matplotlib.figure import Figure @@ -123,7 +123,7 @@ def __init__(self, *args, **kwargs): def createCanvas(self, parent): self.lines = [] self.figure = Figure() - self.canvas = FigureCanvasWxAgg(parent, -1, self.figure) + self.canvas = FigureCanvas(parent, -1, self.figure) self.canvas.callbacks.connect('button_press_event', self.mouseDown) self.canvas.callbacks.connect('motion_notify_event', self.mouseMotion) self.canvas.callbacks.connect('button_release_event', self.mouseUp) diff --git a/lib/matplotlib/backends/backend_wxagg.py b/lib/matplotlib/backends/backend_wxagg.py index 14864b1e47c1..da4aa1ef776b 100644 --- a/lib/matplotlib/backends/backend_wxagg.py +++ b/lib/matplotlib/backends/backend_wxagg.py @@ -9,8 +9,8 @@ from .. import cbook from . import wx_compat as wxc from .backend_agg import FigureCanvasAgg -from .backend_wx import ( - _BackendWx, _FigureCanvasWxBase, FigureFrameWx, NavigationToolbar2Wx) +from .backend_wx import _BackendWx, _FigureCanvasWxBase, FigureFrameWx +from .backend_wx import NavigationToolbar2Wx as NavigationToolbar2WxAgg class FigureFrameWxAgg(FigureFrameWx): @@ -71,15 +71,8 @@ def blit(self, bbox=None): filetypes = FigureCanvasAgg.filetypes -@cbook.deprecated("2.2") -class NavigationToolbar2WxAgg(NavigationToolbar2Wx): - def get_canvas(self, frame, fig): - return FigureCanvasWxAgg(frame, -1, fig) - - # agg/wxPython image conversion functions (wxPython >= 2.8) - def _convert_agg_to_wx_image(agg, bbox): """ Convert the region of the agg buffer bounded by bbox to a wx.Image. If diff --git a/lib/matplotlib/backends/backend_wxcairo.py b/lib/matplotlib/backends/backend_wxcairo.py index bd61fa03780a..e937d0b49aae 100644 --- a/lib/matplotlib/backends/backend_wxcairo.py +++ b/lib/matplotlib/backends/backend_wxcairo.py @@ -6,8 +6,8 @@ import wx from .backend_cairo import cairo, FigureCanvasCairo, RendererCairo -from .backend_wx import ( - _BackendWx, _FigureCanvasWxBase, FigureFrameWx, NavigationToolbar2Wx) +from .backend_wx import _BackendWx, _FigureCanvasWxBase, FigureFrameWx +from .backend_wx import NavigationToolbar2Wx as NavigationToolbar2WxCairo from . import wx_compat as wxc From 015db3e826ee7116a217a98fc5d2c23c0d625ba0 Mon Sep 17 00:00:00 2001 From: DietmarSchwertberger Date: Sat, 17 Feb 2018 18:52:23 +0100 Subject: [PATCH 0108/1161] remove unused and undocumented SubplotToolWX --- lib/matplotlib/backends/backend_wx.py | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/lib/matplotlib/backends/backend_wx.py b/lib/matplotlib/backends/backend_wx.py index 4f0e6638334b..1dab33ccfa63 100644 --- a/lib/matplotlib/backends/backend_wx.py +++ b/lib/matplotlib/backends/backend_wx.py @@ -1474,25 +1474,6 @@ def updateButtonText(self, lst): } -class SubplotToolWX(wx.Frame): - def __init__(self, targetfig): - wx.Frame.__init__(self, None, -1, "Configure subplots") - - toolfig = Figure((6, 3)) - canvas = FigureCanvasWx(self, -1, toolfig) - - # Create a figure manager to manage things - figmgr = FigureManager(canvas, 1, self) - - # Now put all into a sizer - sizer = wx.BoxSizer(wx.VERTICAL) - # This way of adding to sizer allows resizing - sizer.Add(canvas, 1, wx.LEFT | wx.TOP | wx.GROW) - self.SetSizer(sizer) - self.Fit() - tool = SubplotTool(targetfig, toolfig) - - class NavigationToolbar2Wx(NavigationToolbar2, wx.ToolBar): def __init__(self, canvas): wx.ToolBar.__init__(self, canvas.GetParent(), -1) From ac1fd1968c0891d24a9ae8a569acd51afbbe5634 Mon Sep 17 00:00:00 2001 From: Franco Vaccari Date: Sat, 17 Feb 2018 23:06:23 +0100 Subject: [PATCH 0109/1161] _macosx.m fails to compile on Mac OS 10.6.8 Snow Leopard - Issue #10516 --- src/_macosx.m | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/_macosx.m b/src/_macosx.m index 50556c017b49..8f44f1eb0c54 100644 --- a/src/_macosx.m +++ b/src/_macosx.m @@ -1307,7 +1307,9 @@ -(void)save_figure:(id)sender } Py_ssize_t list_index = 0; PyObject* list = PyList_New(m); - for (size_t state_index = 0; state_index < n; state_index++) + + size_t state_index; + for (state_index = 0; state_index < n; state_index++) { if(states[state_index]==1) { From 3a50249916c13b1ea3c2e45fe1e10073fa77560a Mon Sep 17 00:00:00 2001 From: DietmarSchwertberger Date: Sat, 17 Feb 2018 23:32:42 +0100 Subject: [PATCH 0110/1161] update from review feedback: SubplotToolWX w. deprecation; combine import statements --- lib/matplotlib/backends/backend_wx.py | 22 +++++++++++++++++++++- lib/matplotlib/backends/backend_wxagg.py | 6 +++--- lib/matplotlib/backends/backend_wxcairo.py | 5 +++-- 3 files changed, 27 insertions(+), 6 deletions(-) diff --git a/lib/matplotlib/backends/backend_wx.py b/lib/matplotlib/backends/backend_wx.py index 1dab33ccfa63..9bf08beb0d20 100644 --- a/lib/matplotlib/backends/backend_wx.py +++ b/lib/matplotlib/backends/backend_wx.py @@ -34,7 +34,7 @@ from matplotlib.backend_bases import _has_pil from matplotlib._pylab_helpers import Gcf -from matplotlib.cbook import is_writable_file_like, warn_deprecated +from matplotlib.cbook import is_writable_file_like, warn_deprecated, deprecated from matplotlib.figure import Figure from matplotlib.path import Path from matplotlib.transforms import Affine2D @@ -1474,6 +1474,26 @@ def updateButtonText(self, lst): } +@deprecated("2.2") +class SubplotToolWX(wx.Frame): + def __init__(self, targetfig): + wx.Frame.__init__(self, None, -1, "Configure subplots") + + toolfig = Figure((6, 3)) + canvas = FigureCanvasWx(self, -1, toolfig) + + # Create a figure manager to manage things + figmgr = FigureManager(canvas, 1, self) + + # Now put all into a sizer + sizer = wx.BoxSizer(wx.VERTICAL) + # This way of adding to sizer allows resizing + sizer.Add(canvas, 1, wx.LEFT | wx.TOP | wx.GROW) + self.SetSizer(sizer) + self.Fit() + tool = SubplotTool(targetfig, toolfig) + + class NavigationToolbar2Wx(NavigationToolbar2, wx.ToolBar): def __init__(self, canvas): wx.ToolBar.__init__(self, canvas.GetParent(), -1) diff --git a/lib/matplotlib/backends/backend_wxagg.py b/lib/matplotlib/backends/backend_wxagg.py index da4aa1ef776b..ee628fc0dc9b 100644 --- a/lib/matplotlib/backends/backend_wxagg.py +++ b/lib/matplotlib/backends/backend_wxagg.py @@ -6,11 +6,11 @@ import wx import matplotlib -from .. import cbook from . import wx_compat as wxc from .backend_agg import FigureCanvasAgg -from .backend_wx import _BackendWx, _FigureCanvasWxBase, FigureFrameWx -from .backend_wx import NavigationToolbar2Wx as NavigationToolbar2WxAgg +from .backend_wx import ( + _BackendWx, _FigureCanvasWxBase, FigureFrameWx, + NavigationToolbar2Wx as NavigationToolbar2WxAgg) class FigureFrameWxAgg(FigureFrameWx): diff --git a/lib/matplotlib/backends/backend_wxcairo.py b/lib/matplotlib/backends/backend_wxcairo.py index e937d0b49aae..d06b08c9a431 100644 --- a/lib/matplotlib/backends/backend_wxcairo.py +++ b/lib/matplotlib/backends/backend_wxcairo.py @@ -6,8 +6,9 @@ import wx from .backend_cairo import cairo, FigureCanvasCairo, RendererCairo -from .backend_wx import _BackendWx, _FigureCanvasWxBase, FigureFrameWx -from .backend_wx import NavigationToolbar2Wx as NavigationToolbar2WxCairo +from .backend_wx import ( + _BackendWx, _FigureCanvasWxBase, FigureFrameWx, + NavigationToolbar2Wx as NavigationToolbar2WxCairo) from . import wx_compat as wxc From deeeeb6cea80534d381169fc2a6afa5b0087d4ab Mon Sep 17 00:00:00 2001 From: DietmarSchwertberger Date: Sun, 18 Feb 2018 00:12:20 +0100 Subject: [PATCH 0111/1161] ensure Toolbar alias, but with deprecation warning --- lib/matplotlib/backends/backend_wx.py | 18 +++++++----------- lib/matplotlib/backends/backend_wxagg.py | 6 ++++++ 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/lib/matplotlib/backends/backend_wx.py b/lib/matplotlib/backends/backend_wx.py index 9bf08beb0d20..44f325389f7d 100644 --- a/lib/matplotlib/backends/backend_wx.py +++ b/lib/matplotlib/backends/backend_wx.py @@ -34,7 +34,7 @@ from matplotlib.backend_bases import _has_pil from matplotlib._pylab_helpers import Gcf -from matplotlib.cbook import is_writable_file_like, warn_deprecated, deprecated +from matplotlib.cbook import is_writable_file_like, warn_deprecated from matplotlib.figure import Figure from matplotlib.path import Path from matplotlib.transforms import Affine2D @@ -1474,7 +1474,7 @@ def updateButtonText(self, lst): } -@deprecated("2.2") +@cbook.deprecated("2.2") class SubplotToolWX(wx.Frame): def __init__(self, targetfig): wx.Frame.__init__(self, None, -1, "Configure subplots") @@ -1700,6 +1700,11 @@ def set_history_buttons(self): self.EnableTool(self.wx_ids['Forward'], can_forward) +@cbook.deprecated("2.2", alternative="NavigationToolbar2Wx") +class Toolbar(NavigationToolbar2Wx): + pass + + class StatusBarWx(wx.StatusBar): """ A status bar is added to _FigureFrame to allow measurements and the @@ -1957,15 +1962,6 @@ def OnPrintPage(self, page): return True # > -######################################################################## -# -# Now just provide the standard names that backend.__init__ is expecting -# -######################################################################## - - -Toolbar = NavigationToolbar2Wx - @_Backend.export class _BackendWx(_Backend): diff --git a/lib/matplotlib/backends/backend_wxagg.py b/lib/matplotlib/backends/backend_wxagg.py index ee628fc0dc9b..041f274a78b1 100644 --- a/lib/matplotlib/backends/backend_wxagg.py +++ b/lib/matplotlib/backends/backend_wxagg.py @@ -6,6 +6,7 @@ import wx import matplotlib +from matplotlib import cbook from . import wx_compat as wxc from .backend_agg import FigureCanvasAgg from .backend_wx import ( @@ -71,6 +72,11 @@ def blit(self, bbox=None): filetypes = FigureCanvasAgg.filetypes +@cbook.deprecated("2.2", alternative="NavigationToolbar2WxAgg") +class Toolbar(NavigationToolbar2WxAgg): + pass + + # agg/wxPython image conversion functions (wxPython >= 2.8) def _convert_agg_to_wx_image(agg, bbox): From c4847546a1db7d0353465838c47c7e58572d5c63 Mon Sep 17 00:00:00 2001 From: cclauss Date: Sun, 18 Feb 2018 15:59:12 +0100 Subject: [PATCH 0112/1161] The current master branch is now python 3 only. --- README.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.rst b/README.rst index 26ccde2860ae..8efae2357eb7 100644 --- a/README.rst +++ b/README.rst @@ -33,6 +33,9 @@ platforms. Matplotlib can be used in Python scripts, the Python and IPython shell (à la MATLAB or Mathematica), web application servers, and various graphical user interface toolkits. +NOTE: The current master branch is now python 3 only. Python 2 support is +being dropped. + `Home page `_ Installation From b106e7b54bf5012ba2d0aa3eacbe771f9e8cad38 Mon Sep 17 00:00:00 2001 From: cclauss Date: Sun, 18 Feb 2018 15:59:47 +0100 Subject: [PATCH 0113/1161] Update README.rst --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index 8efae2357eb7..8d03c9b9730b 100644 --- a/README.rst +++ b/README.rst @@ -33,7 +33,7 @@ platforms. Matplotlib can be used in Python scripts, the Python and IPython shell (à la MATLAB or Mathematica), web application servers, and various graphical user interface toolkits. -NOTE: The current master branch is now python 3 only. Python 2 support is +NOTE: The current master branch is now Python 3 only. Python 2 support is being dropped. `Home page `_ From 86a1f7829c7379d4db39f5798c75cedbbf2863e8 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Sat, 17 Feb 2018 14:52:34 -0800 Subject: [PATCH 0114/1161] Py3fy mathtext.py. --- .../2018-02-15-AL-deprecations.rst | 5 +- lib/matplotlib/mathtext.py | 140 ++++++++---------- 2 files changed, 65 insertions(+), 80 deletions(-) diff --git a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst index 781a5fe85eab..789d107164ae 100644 --- a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst +++ b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst @@ -1,4 +1,5 @@ Deprecations ```````````` -``cbook.is_numlike`` is deprecated. Use ``isinstance(..., numbers.Number)`` -instead. +The following functions are deprecated: +- ``cbook.is_numlike`` (use ``isinstance(..., numbers.Number)`` instead) +- ``mathtext.unichr_safe`` (use ``chr`` instead) diff --git a/lib/matplotlib/mathtext.py b/lib/matplotlib/mathtext.py index e84eba75a551..b6bac9afea02 100644 --- a/lib/matplotlib/mathtext.py +++ b/lib/matplotlib/mathtext.py @@ -14,18 +14,13 @@ arbitrary fonts, but results may vary without proper tweaking and metrics for those fonts. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six -from six import unichr +import functools +from io import StringIO import os -from math import ceil import types import unicodedata -from warnings import warn -from functools import lru_cache +import warnings import numpy as np @@ -36,7 +31,7 @@ ParserElement.enablePackrat() -from matplotlib import _png, colors as mcolors, get_data_path, rcParams +from matplotlib import _png, cbook, colors as mcolors, get_data_path, rcParams from matplotlib.afm import AFM from matplotlib.cbook import get_realpath_and_stat from matplotlib.ft2font import FT2Image, KERNING_DEFAULT, LOAD_NO_HINTING @@ -81,14 +76,9 @@ def get_unicode_index(symbol, math=True): TeX/Type1 symbol"""%locals() raise ValueError(message) -def unichr_safe(index): - """Return the Unicode character corresponding to the index, -or the replacement character if this is a narrow build of Python -and the requested character is outside the BMP.""" - try: - return unichr(index) - except ValueError: - return unichr(0xFFFD) + +unichr_safe = cbook.deprecated("3.0")(chr) + class MathtextBackend(object): """ @@ -166,7 +156,7 @@ def _update_bbox(self, x1, y1, x2, y2): def set_canvas_size(self, w, h, d): MathtextBackend.set_canvas_size(self, w, h, d) if self.mode != 'bbox': - self.image = FT2Image(ceil(w), ceil(h + max(d, 0))) + self.image = FT2Image(np.ceil(w), np.ceil(h + max(d, 0))) def render_glyph(self, ox, oy, info): if self.mode == 'bbox': @@ -189,7 +179,7 @@ def render_rect_filled(self, x1, y1, x2, y2): y = int(center - (height + 1) / 2.0) else: y = int(y1) - self.image.draw_rect_filled(int(x1), y, ceil(x2), y + height) + self.image.draw_rect_filled(int(x1), y, np.ceil(x2), y + height) def get_results(self, box, used_characters): self.mode = 'bbox' @@ -230,7 +220,7 @@ class MathtextBackendPs(MathtextBackend): backend. """ def __init__(self): - self.pswriter = six.moves.cStringIO() + self.pswriter = StringIO() self.lastfont = None def render_glyph(self, ox, oy, info): @@ -361,7 +351,7 @@ def __init__(self): def render_glyph(self, ox, oy, info): oy = oy - info.offset - self.height - thetext = unichr_safe(info.num) + thetext = chr(info.num) self.glyphs.append( (info.font, info.fontsize, thetext, ox, oy)) @@ -464,8 +454,9 @@ def set_canvas_size(self, w, h, d): Set the size of the buffer used to render the math expression. Only really necessary for the bitmap backends. """ - self.width, self.height, self.depth = ceil(w), ceil(h), ceil(d) - self.mathtext_backend.set_canvas_size(self.width, self.height, self.depth) + self.width, self.height, self.depth = np.ceil([w, h, d]) + self.mathtext_backend.set_canvas_size( + self.width, self.height, self.depth) def render_glyph(self, ox, oy, facename, font_class, sym, fontsize, dpi): """ @@ -661,7 +652,7 @@ def __init__(self, *args, **kwargs): TruetypeFonts.__init__(self, *args, **kwargs) self.fontmap = {} - for key, val in six.iteritems(self._fontmap): + for key, val in self._fontmap.items(): fullpath = findfont(val) self.fontmap[key] = fullpath self.fontmap[val] = fullpath @@ -801,9 +792,9 @@ def _get_glyph(self, fontname, font_class, sym, fontsize, math=True): found_symbol = True except ValueError: uniindex = ord('?') - warn("No TeX to unicode mapping for '%s'" % - sym.encode('ascii', 'backslashreplace'), - MathTextWarning) + warnings.warn( + "No TeX to unicode mapping for {!a}.".format(sym), + MathTextWarning) fontname, uniindex = self._map_virtual_font( fontname, font_class, uniindex) @@ -815,7 +806,7 @@ def _get_glyph(self, fontname, font_class, sym, fontsize, math=True): if found_symbol: if fontname == 'it': if uniindex < 0x10000: - unistring = unichr(uniindex) + unistring = chr(uniindex) if (not unicodedata.category(unistring)[0] == "L" or unicodedata.name(unistring).startswith("GREEK CAPITAL")): new_fontname = 'rm' @@ -831,8 +822,9 @@ def _get_glyph(self, fontname, font_class, sym, fontsize, math=True): if not found_symbol: if self.cm_fallback: if isinstance(self.cm_fallback, BakomaFonts): - warn("Substituting with a symbol from Computer Modern.", - MathTextWarning) + warnings.warn( + "Substituting with a symbol from Computer Modern.", + MathTextWarning) if (fontname in ('it', 'regular') and isinstance(self.cm_fallback, StixFonts)): return self.cm_fallback._get_glyph( @@ -841,14 +833,14 @@ def _get_glyph(self, fontname, font_class, sym, fontsize, math=True): return self.cm_fallback._get_glyph( fontname, font_class, sym, fontsize) else: - if fontname in ('it', 'regular') and isinstance(self, StixFonts): + if (fontname in ('it', 'regular') + and isinstance(self, StixFonts)): return self._get_glyph('rm', font_class, sym, fontsize) - warn("Font '%s' does not have a glyph for '%s' [U+%x]" % - (new_fontname, - sym.encode('ascii', 'backslashreplace').decode('ascii'), - uniindex), - MathTextWarning) - warn("Substituting with a dummy symbol.", MathTextWarning) + warnings.warn( + "Font {!r} does not have a glyph for {!a} [U+{:x}], " + "substituting with a dummy symbol.".format( + new_fontname, sym, uniindex), + MathTextWarning) fontname = 'rm' new_fontname = fontname font = self._get_font(fontname) @@ -885,7 +877,7 @@ def __init__(self, *args, **kwargs): 3 : 'STIXSizeThreeSym', 4 : 'STIXSizeFourSym', 5 : 'STIXSizeFiveSym'}) - for key, name in six.iteritems(self._fontmap): + for key, name in self._fontmap.items(): fullpath = findfont(name) self.fontmap[key] = fullpath self.fontmap[name] = fullpath @@ -972,7 +964,7 @@ class StixFonts(UnicodeFonts): def __init__(self, *args, **kwargs): TruetypeFonts.__init__(self, *args, **kwargs) self.fontmap = {} - for key, name in six.iteritems(self._fontmap): + for key, name in self._fontmap.items(): fullpath = findfont(name) self.fontmap[key] = fullpath self.fontmap[name] = fullpath @@ -1048,7 +1040,7 @@ def get_sized_alternatives_for_symbol(self, fontname, sym): font = self._get_font(i) glyphindex = font.get_char_index(uniindex) if glyphindex != 0: - alternatives.append((i, unichr_safe(uniindex))) + alternatives.append((i, chr(uniindex))) # The largest size of the radical symbol in STIX has incorrect # metrics that cause it to be disconnected from the stem. @@ -1099,7 +1091,7 @@ def __init__(self, default_font_prop): self.fonts['default'] = default_font self.fonts['regular'] = default_font - self.pswriter = six.moves.cStringIO() + self.pswriter = StringIO() def _get_font(self, font): if font in self.fontmap: @@ -1117,7 +1109,7 @@ def _get_font(self, font): self.fonts[cached_font.get_fontname()] = cached_font return cached_font - def _get_info (self, fontname, font_class, sym, fontsize, dpi, math=True): + def _get_info(self, fontname, font_class, sym, fontsize, dpi, math=True): 'load the cmfont, metrics and glyph with caching' key = fontname, sym, fontsize, dpi tup = self.glyphd.get(key) @@ -1128,8 +1120,7 @@ def _get_info (self, fontname, font_class, sym, fontsize, dpi, math=True): # Only characters in the "Letter" class should really be italicized. # This class includes greek letters, so we're ok if (fontname == 'it' and - (len(sym) > 1 or - not unicodedata.category(six.text_type(sym)).startswith("L"))): + (len(sym) > 1 or not unicodedata.category(sym).startswith("L"))): fontname = 'rm' found_symbol = False @@ -1143,8 +1134,9 @@ def _get_info (self, fontname, font_class, sym, fontsize, dpi, math=True): num = ord(glyph) found_symbol = True else: - warn("No TeX to built-in Postscript mapping for {!r}".format(sym), - MathTextWarning) + warnings.warn( + "No TeX to built-in Postscript mapping for {!r}".format(sym), + MathTextWarning) slanted = (fontname == 'it') font = self._get_font(fontname) @@ -1153,8 +1145,10 @@ def _get_info (self, fontname, font_class, sym, fontsize, dpi, math=True): try: symbol_name = font.get_name_char(glyph) except KeyError: - warn("No glyph in standard Postscript font {!r} for {!r}" - .format(font.get_fontname(), sym), MathTextWarning) + warnings.warn( + "No glyph in standard Postscript font {!r} for {!r}" + .format(font.get_fontname(), sym), + MathTextWarning) found_symbol = False if not found_symbol: @@ -1581,8 +1575,9 @@ def _set_glue(self, x, sign, totals, error_type): self.glue_ratio = 0. if o == 0: if len(self.children): - warn("%s %s: %r" % (error_type, self.__class__.__name__, self), - MathTextWarning) + warnings.warn( + "%s %s: %r" % (error_type, self.__class__.__name__, self), + MathTextWarning) def shrink(self): for child in self.children: @@ -1824,19 +1819,19 @@ def __init__(self, state): class Glue(Node): """ Most of the information in this object is stored in the underlying - :class:`GlueSpec` class, which is shared between multiple glue objects. (This - is a memory optimization which probably doesn't matter anymore, but it's - easier to stick to what TeX does.) + :class:`GlueSpec` class, which is shared between multiple glue objects. + (This is a memory optimization which probably doesn't matter anymore, but + it's easier to stick to what TeX does.) """ def __init__(self, glue_type, copy=False): Node.__init__(self) self.glue_subtype = 'normal' - if isinstance(glue_type, six.string_types): + if isinstance(glue_type, str): glue_spec = GlueSpec.factory(glue_type) elif isinstance(glue_type, GlueSpec): glue_spec = glue_type else: - raise ValueError("glue_type must be a glue spec name or instance.") + raise ValueError("glue_type must be a glue spec name or instance") if copy: glue_spec = glue_spec.copy() self.glue_spec = glue_spec @@ -2515,11 +2510,10 @@ def parse(self, s, fonts_object, fontsize, dpi): try: result = self._expression.parseString(s) except ParseBaseException as err: - raise ValueError("\n".join([ - "", - err.line, - " " * (err.column - 1) + "^", - six.text_type(err)])) + raise ValueError("\n".join(["", + err.line, + " " * (err.column - 1) + "^", + str(err)])) self._state_stack = None self._em_width_cache = {} self._expression.resetCache() @@ -2641,14 +2635,11 @@ def symbol(self, s, loc, toks): if c in self._spaced_symbols: # iterate until we find previous character, needed for cases # such as ${ -2}$, $ -2$, or $ -2$. - for i in six.moves.xrange(1, loc + 1): - prev_char = s[loc-i] - if prev_char != ' ': - break + prev_char = next((c for c in s[:loc][::-1] if c != ' '), '') # Binary operators at start of string should not be spaced if (c in self._binary_operators and (len(s[:loc].split()) == 0 or prev_char == '{' or - prev_char in self._left_delim)): + prev_char in self._left_delim)): return [char] else: return [Hlist([self._make_space(0.2), @@ -2659,20 +2650,13 @@ def symbol(self, s, loc, toks): # Do not space commas between brackets if c == ',': - prev_char, next_char = '', '' - for i in six.moves.xrange(1, loc + 1): - prev_char = s[loc - i] - if prev_char != ' ': - break - for i in six.moves.xrange(1, len(s) - loc): - next_char = s[loc + i] - if next_char != ' ': - break - if (prev_char == '{' and next_char == '}'): + prev_char = next((c for c in s[:loc][::-1] if c != ' '), '') + next_char = next((c for c in s[loc + 1:] if c != ' '), '') + if prev_char == '{' and next_char == '}': return [char] # Do not space dots as decimal separators - if (c == '.' and s[loc - 1].isdigit() and s[loc + 1].isdigit()): + if c == '.' and s[loc - 1].isdigit() and s[loc + 1].isdigit(): return [char] else: return [Hlist([char, @@ -2857,7 +2841,7 @@ def subsuper(self, s, loc, toks): napostrophes = 0 new_toks = [] for tok in toks[0]: - if isinstance(tok, six.string_types) and tok not in ('^', '_'): + if isinstance(tok, str) and tok not in ('^', '_'): napostrophes += len(tok) elif isinstance(tok, Char) and tok.c == "'": napostrophes += 1 @@ -3249,7 +3233,7 @@ def __init__(self, output): """ self._output = output.lower() - @lru_cache(50) + @functools.lru_cache(50) def parse(self, s, dpi = 72, prop = None): """ Parse the given math expression *s* at the given *dpi*. If From 7590e58597c780e8f83f3c8263261ae7051298a9 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Sun, 18 Feb 2018 11:18:20 -0800 Subject: [PATCH 0115/1161] Remove unused private _StringFuncParser. --- lib/matplotlib/cbook/__init__.py | 256 ----------------------------- lib/matplotlib/tests/test_cbook.py | 61 ------- 2 files changed, 317 deletions(-) diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index f8195505b8be..9ed17c24f3a7 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -2538,262 +2538,6 @@ def __exit__(self, exc_type, exc_value, traceback): pass -class _FuncInfo(object): - """ - Class used to store a function. - - """ - - def __init__(self, function, inverse, bounded_0_1=True, check_params=None): - """ - Parameters - ---------- - - function : callable - A callable implementing the function receiving the variable as - first argument and any additional parameters in a list as second - argument. - inverse : callable - A callable implementing the inverse function receiving the variable - as first argument and any additional parameters in a list as - second argument. It must satisfy 'inverse(function(x, p), p) == x'. - bounded_0_1: bool or callable - A boolean indicating whether the function is bounded in the [0,1] - interval, or a callable taking a list of values for the additional - parameters, and returning a boolean indicating whether the function - is bounded in the [0,1] interval for that combination of - parameters. Default True. - check_params: callable or None - A callable taking a list of values for the additional parameters - and returning a boolean indicating whether that combination of - parameters is valid. It is only required if the function has - additional parameters and some of them are restricted. - Default None. - - """ - - self.function = function - self.inverse = inverse - - if callable(bounded_0_1): - self._bounded_0_1 = bounded_0_1 - else: - self._bounded_0_1 = lambda x: bounded_0_1 - - if check_params is None: - self._check_params = lambda x: True - elif callable(check_params): - self._check_params = check_params - else: - raise ValueError("Invalid 'check_params' argument.") - - def is_bounded_0_1(self, params=None): - """ - Returns a boolean indicating if the function is bounded in the [0,1] - interval for a particular set of additional parameters. - - Parameters - ---------- - - params : list - The list of additional parameters. Default None. - - Returns - ------- - - out : bool - True if the function is bounded in the [0,1] interval for - parameters 'params'. Otherwise False. - - """ - - return self._bounded_0_1(params) - - def check_params(self, params=None): - """ - Returns a boolean indicating if the set of additional parameters is - valid. - - Parameters - ---------- - - params : list - The list of additional parameters. Default None. - - Returns - ------- - - out : bool - True if 'params' is a valid set of additional parameters for the - function. Otherwise False. - - """ - - return self._check_params(params) - - -class _StringFuncParser(object): - """ - A class used to convert predefined strings into - _FuncInfo objects, or to directly obtain _FuncInfo - properties. - - """ - - _funcs = {} - _funcs['linear'] = _FuncInfo(lambda x: x, - lambda x: x, - True) - _funcs['quadratic'] = _FuncInfo(np.square, - np.sqrt, - True) - _funcs['cubic'] = _FuncInfo(lambda x: x**3, - lambda x: x**(1. / 3), - True) - _funcs['sqrt'] = _FuncInfo(np.sqrt, - np.square, - True) - _funcs['cbrt'] = _FuncInfo(lambda x: x**(1. / 3), - lambda x: x**3, - True) - _funcs['log10'] = _FuncInfo(np.log10, - lambda x: (10**(x)), - False) - _funcs['log'] = _FuncInfo(np.log, - np.exp, - False) - _funcs['log2'] = _FuncInfo(np.log2, - lambda x: (2**x), - False) - _funcs['x**{p}'] = _FuncInfo(lambda x, p: x**p[0], - lambda x, p: x**(1. / p[0]), - True) - _funcs['root{p}(x)'] = _FuncInfo(lambda x, p: x**(1. / p[0]), - lambda x, p: x**p, - True) - _funcs['log{p}(x)'] = _FuncInfo(lambda x, p: (np.log(x) / - np.log(p[0])), - lambda x, p: p[0]**(x), - False, - lambda p: p[0] > 0) - _funcs['log10(x+{p})'] = _FuncInfo(lambda x, p: np.log10(x + p[0]), - lambda x, p: 10**x - p[0], - lambda p: p[0] > 0) - _funcs['log(x+{p})'] = _FuncInfo(lambda x, p: np.log(x + p[0]), - lambda x, p: np.exp(x) - p[0], - lambda p: p[0] > 0) - _funcs['log{p}(x+{p})'] = _FuncInfo(lambda x, p: (np.log(x + p[1]) / - np.log(p[0])), - lambda x, p: p[0]**(x) - p[1], - lambda p: p[1] > 0, - lambda p: p[0] > 0) - - def __init__(self, str_func): - """ - Parameters - ---------- - str_func : string - String to be parsed. - - """ - - if not isinstance(str_func, six.string_types): - raise ValueError("'%s' must be a string." % str_func) - self._str_func = six.text_type(str_func) - self._key, self._params = self._get_key_params() - self._func = self._parse_func() - - def _parse_func(self): - """ - Parses the parameters to build a new _FuncInfo object, - replacing the relevant parameters if necessary in the lambda - functions. - - """ - - func = self._funcs[self._key] - - if not self._params: - func = _FuncInfo(func.function, func.inverse, - func.is_bounded_0_1()) - else: - m = func.function - function = (lambda x, m=m: m(x, self._params)) - - m = func.inverse - inverse = (lambda x, m=m: m(x, self._params)) - - is_bounded_0_1 = func.is_bounded_0_1(self._params) - - func = _FuncInfo(function, inverse, - is_bounded_0_1) - return func - - @property - def func_info(self): - """ - Returns the _FuncInfo object. - - """ - return self._func - - @property - def function(self): - """ - Returns the callable for the direct function. - - """ - return self._func.function - - @property - def inverse(self): - """ - Returns the callable for the inverse function. - - """ - return self._func.inverse - - @property - def is_bounded_0_1(self): - """ - Returns a boolean indicating if the function is bounded - in the [0-1 interval]. - - """ - return self._func.is_bounded_0_1() - - def _get_key_params(self): - str_func = self._str_func - # Checking if it comes with parameters - regex = r'\{(.*?)\}' - params = re.findall(regex, str_func) - - for i, param in enumerate(params): - try: - params[i] = float(param) - except ValueError: - raise ValueError("Parameter %i is '%s', which is " - "not a number." % - (i, param)) - - str_func = re.sub(regex, '{p}', str_func) - - try: - func = self._funcs[str_func] - except (ValueError, KeyError): - raise ValueError("'%s' is an invalid string. The only strings " - "recognized as functions are %s." % - (str_func, list(self._funcs))) - - # Checking that the parameters are valid - if not func.check_params(params): - raise ValueError("%s are invalid values for the parameters " - "in %s." % - (params, str_func)) - - return str_func, params - - def _topmost_artist( artists, _cached_max=functools.partial(max, key=operator.attrgetter("zorder"))): diff --git a/lib/matplotlib/tests/test_cbook.py b/lib/matplotlib/tests/test_cbook.py index d1e4c8fa044f..b7750b2bc9a9 100644 --- a/lib/matplotlib/tests/test_cbook.py +++ b/lib/matplotlib/tests/test_cbook.py @@ -503,64 +503,3 @@ def test_flatiter(): assert 0 == next(it) assert 1 == next(it) - - -class TestFuncParser(object): - x_test = np.linspace(0.01, 0.5, 3) - validstrings = ['linear', 'quadratic', 'cubic', 'sqrt', 'cbrt', - 'log', 'log10', 'log2', 'x**{1.5}', 'root{2.5}(x)', - 'log{2}(x)', - 'log(x+{0.5})', 'log10(x+{0.1})', 'log{2}(x+{0.1})', - 'log{2}(x+{0})'] - results = [(lambda x: x), - np.square, - (lambda x: x**3), - np.sqrt, - (lambda x: x**(1. / 3)), - np.log, - np.log10, - np.log2, - (lambda x: x**1.5), - (lambda x: x**(1 / 2.5)), - (lambda x: np.log2(x)), - (lambda x: np.log(x + 0.5)), - (lambda x: np.log10(x + 0.1)), - (lambda x: np.log2(x + 0.1)), - (lambda x: np.log2(x))] - - bounded_list = [True, True, True, True, True, - False, False, False, True, True, - False, - True, True, True, - False] - - @pytest.mark.parametrize("string, func", - zip(validstrings, results), - ids=validstrings) - def test_values(self, string, func): - func_parser = cbook._StringFuncParser(string) - f = func_parser.function - assert_array_almost_equal(f(self.x_test), func(self.x_test)) - - @pytest.mark.parametrize("string", validstrings, ids=validstrings) - def test_inverse(self, string): - func_parser = cbook._StringFuncParser(string) - f = func_parser.func_info - fdir = f.function - finv = f.inverse - assert_array_almost_equal(finv(fdir(self.x_test)), self.x_test) - - @pytest.mark.parametrize("string", validstrings, ids=validstrings) - def test_get_inverse(self, string): - func_parser = cbook._StringFuncParser(string) - finv1 = func_parser.inverse - finv2 = func_parser.func_info.inverse - assert_array_almost_equal(finv1(self.x_test), finv2(self.x_test)) - - @pytest.mark.parametrize("string, bounded", - zip(validstrings, bounded_list), - ids=validstrings) - def test_bounded(self, string, bounded): - func_parser = cbook._StringFuncParser(string) - b = func_parser.is_bounded_0_1 - assert_array_equal(b, bounded) From 9a9f68f78ad6f0a736b5269eac010b1de26ff1dc Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Sun, 18 Feb 2018 21:43:25 -0800 Subject: [PATCH 0116/1161] Switch to argumentless (py3) super(). --- examples/api/radar_chart.py | 6 +- examples/api/skewt.py | 2 +- examples/misc/anchored_artists.py | 39 +++----- .../user_interfaces/embedding_in_qt_sgskip.py | 2 +- .../embedding_webagg_sgskip.py | 5 +- examples/userdemo/custom_boxstyle02.py | 2 +- lib/matplotlib/animation.py | 12 +-- lib/matplotlib/axes/_base.py | 2 +- lib/matplotlib/backends/backend_agg.py | 2 +- lib/matplotlib/backends/backend_gtk.py | 4 +- lib/matplotlib/backends/backend_gtkagg.py | 2 +- lib/matplotlib/backends/backend_gtkcairo.py | 2 +- lib/matplotlib/backends/backend_nbagg.py | 2 +- lib/matplotlib/backends/backend_qt5.py | 10 +- lib/matplotlib/backends/backend_qt5agg.py | 4 +- lib/matplotlib/backends/backend_qt5cairo.py | 4 +- lib/matplotlib/backends/backend_webagg.py | 2 +- lib/matplotlib/backends/backend_wx.py | 5 +- .../backends/qt_editor/formsubplottool.py | 2 +- lib/matplotlib/colors.py | 6 +- lib/matplotlib/dates.py | 4 +- lib/matplotlib/figure.py | 8 +- lib/matplotlib/font_manager.py | 2 +- lib/matplotlib/image.py | 16 ++-- lib/matplotlib/mathtext.py | 12 +-- lib/matplotlib/offsetbox.py | 19 ++-- lib/matplotlib/patches.py | 92 ++++++++----------- lib/matplotlib/patheffects.py | 8 +- lib/matplotlib/projections/polar.py | 28 +++--- lib/matplotlib/spines.py | 6 +- lib/matplotlib/tests/test_collections.py | 3 +- lib/matplotlib/tests/test_compare_images.py | 6 +- lib/matplotlib/tests/test_dates.py | 6 +- lib/matplotlib/tests/test_skew.py | 2 +- lib/matplotlib/text.py | 10 +- lib/mpl_toolkits/axes_grid/axes_grid.py | 4 +- .../axes_grid1/anchored_artists.py | 2 +- lib/mpl_toolkits/axes_grid1/axes_grid.py | 4 +- lib/mpl_toolkits/axes_grid1/inset_locator.py | 6 +- lib/mpl_toolkits/axes_grid1/mpl_axes.py | 21 ++--- lib/mpl_toolkits/axes_grid1/parasite_axes.py | 23 ++--- lib/mpl_toolkits/axisartist/axes_grid.py | 4 +- lib/mpl_toolkits/axisartist/axis_artist.py | 22 ++--- lib/mpl_toolkits/axisartist/axisline_style.py | 4 +- lib/mpl_toolkits/axisartist/axislines.py | 40 ++++---- lib/mpl_toolkits/axisartist/floating_axes.py | 18 ++-- lib/mpl_toolkits/axisartist/grid_finder.py | 6 +- .../axisartist/grid_helper_curvelinear.py | 8 +- lib/mpl_toolkits/mplot3d/axes3d.py | 49 +++++----- setupext.py | 4 +- tools/triage_tests.py | 12 +-- 51 files changed, 246 insertions(+), 318 deletions(-) diff --git a/examples/api/radar_chart.py b/examples/api/radar_chart.py index 2f6fd8ac4e3d..814f79425405 100644 --- a/examples/api/radar_chart.py +++ b/examples/api/radar_chart.py @@ -60,18 +60,18 @@ class RadarAxes(PolarAxes): draw_patch = patch_dict[frame] def __init__(self, *args, **kwargs): - super(RadarAxes, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) # rotate plot such that the first axis is at the top self.set_theta_zero_location('N') def fill(self, *args, **kwargs): """Override fill so that line is closed by default""" closed = kwargs.pop('closed', True) - return super(RadarAxes, self).fill(closed=closed, *args, **kwargs) + return super().fill(closed=closed, *args, **kwargs) def plot(self, *args, **kwargs): """Override plot so that line is closed by default""" - lines = super(RadarAxes, self).plot(*args, **kwargs) + lines = super().plot(*args, **kwargs) for line in lines: self._close_line(line) diff --git a/examples/api/skewt.py b/examples/api/skewt.py index 93891f5a2122..ca73fbee28d2 100644 --- a/examples/api/skewt.py +++ b/examples/api/skewt.py @@ -28,7 +28,7 @@ def update_position(self, loc): # This ensures that the new value of the location is set before # any other updates take place self._loc = loc - super(SkewXTick, self).update_position(loc) + super().update_position(loc) def _has_default_loc(self): return self.get_loc() is None diff --git a/examples/misc/anchored_artists.py b/examples/misc/anchored_artists.py index 94f6be340369..8bd9dc7103b6 100644 --- a/examples/misc/anchored_artists.py +++ b/examples/misc/anchored_artists.py @@ -4,23 +4,18 @@ ================ """ -from matplotlib.patches import Rectangle, Ellipse -from matplotlib.offsetbox import AnchoredOffsetbox, AuxTransformBox, VPacker,\ - TextArea, DrawingArea +from matplotlib.patches import Rectangle, Ellipse +from matplotlib.offsetbox import ( + AnchoredOffsetbox, AuxTransformBox, DrawingArea, TextArea, VPacker) class AnchoredText(AnchoredOffsetbox): def __init__(self, s, loc, pad=0.4, borderpad=0.5, prop=None, frameon=True): - - self.txt = TextArea(s, - minimumdescent=False) - - super(AnchoredText, self).__init__(loc, pad=pad, borderpad=borderpad, - child=self.txt, - prop=prop, - frameon=frameon) + self.txt = TextArea(s, minimumdescent=False) + super().__init__(loc, pad=pad, borderpad=borderpad, + child=self.txt, prop=prop, frameon=frameon) class AnchoredSizeBar(AnchoredOffsetbox): @@ -42,10 +37,8 @@ def __init__(self, transform, size, label, loc, align="center", pad=0, sep=sep) - AnchoredOffsetbox.__init__(self, loc, pad=pad, borderpad=borderpad, - child=self._box, - prop=prop, - frameon=frameon) + super().__init__(loc, pad=pad, borderpad=borderpad, + child=self._box, prop=prop, frameon=frameon) class AnchoredEllipse(AnchoredOffsetbox): @@ -59,24 +52,16 @@ def __init__(self, transform, width, height, angle, loc, self._box = AuxTransformBox(transform) self.ellipse = Ellipse((0, 0), width, height, angle) self._box.add_artist(self.ellipse) - - AnchoredOffsetbox.__init__(self, loc, pad=pad, borderpad=borderpad, - child=self._box, - prop=prop, - frameon=frameon) + super().__init__(loc, pad=pad, borderpad=borderpad, + child=self._box, prop=prop, frameon=frameon) class AnchoredDrawingArea(AnchoredOffsetbox): def __init__(self, width, height, xdescent, ydescent, loc, pad=0.4, borderpad=0.5, prop=None, frameon=True): - self.da = DrawingArea(width, height, xdescent, ydescent) - - super(AnchoredDrawingArea, self).__init__(loc, pad=pad, - borderpad=borderpad, - child=self.da, - prop=None, - frameon=frameon) + super().__init__(loc, pad=pad, borderpad=borderpad, + child=self.da, prop=None, frameon=frameon) if __name__ == "__main__": diff --git a/examples/user_interfaces/embedding_in_qt_sgskip.py b/examples/user_interfaces/embedding_in_qt_sgskip.py index 24b906ed7277..54059c62147b 100644 --- a/examples/user_interfaces/embedding_in_qt_sgskip.py +++ b/examples/user_interfaces/embedding_in_qt_sgskip.py @@ -26,7 +26,7 @@ class ApplicationWindow(QtWidgets.QMainWindow): def __init__(self): - super(ApplicationWindow, self).__init__() + super().__init__() self._main = QtWidgets.QWidget() self.setCentralWidget(self._main) layout = QtWidgets.QVBoxLayout(self._main) diff --git a/examples/user_interfaces/embedding_webagg_sgskip.py b/examples/user_interfaces/embedding_webagg_sgskip.py index a5d296ae029b..9dd164c53147 100644 --- a/examples/user_interfaces/embedding_webagg_sgskip.py +++ b/examples/user_interfaces/embedding_webagg_sgskip.py @@ -214,10 +214,9 @@ def send_binary(self, blob): def __init__(self, figure): self.figure = figure - self.manager = new_figure_manager_given_figure( - id(figure), figure) + self.manager = new_figure_manager_given_figure(id(figure), figure) - super(MyApplication, self).__init__([ + super().__init__([ # Static files for the CSS and JS (r'/_static/(.*)', tornado.web.StaticFileHandler, diff --git a/examples/userdemo/custom_boxstyle02.py b/examples/userdemo/custom_boxstyle02.py index f80705f3dfaa..5b2ef39d7a7b 100644 --- a/examples/userdemo/custom_boxstyle02.py +++ b/examples/userdemo/custom_boxstyle02.py @@ -26,7 +26,7 @@ def __init__(self, pad=0.3): """ self.pad = pad - super(MyStyle, self).__init__() + super().__init__() def transmute(self, x0, y0, width, height, mutation_size): """ diff --git a/lib/matplotlib/animation.py b/lib/matplotlib/animation.py index f288e3892016..b78a21be4c8e 100644 --- a/lib/matplotlib/animation.py +++ b/lib/matplotlib/animation.py @@ -586,7 +586,7 @@ def isAvailable(cls): def __init__(self, *args, **kwargs): if kwargs.get("extra_args") is None: kwargs["extra_args"] = () - super(PillowWriter, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) def setup(self, fig, outfile, dpi=None): self._frames = [] @@ -782,7 +782,7 @@ def isAvailable(cls): bin_path = cls.bin_path() if bin_path == "convert": cls._init_from_registry() - return super(ImageMagickBase, cls).isAvailable() + return super().isAvailable() ImageMagickBase._init_from_registry() @@ -877,8 +877,7 @@ def __init__(self, fps=30, codec=None, bitrate=None, extra_args=None, self._saved_frames = [] self._total_bytes = 0 self._hit_limit = False - super(HTMLWriter, self).__init__(fps, codec, bitrate, - extra_args, metadata) + super().__init__(fps, codec, bitrate, extra_args, metadata) def setup(self, fig, outfile, dpi, frame_dir=None): root, ext = os.path.splitext(outfile) @@ -894,8 +893,7 @@ def setup(self, fig, outfile, dpi, frame_dir=None): else: frame_prefix = None - super(HTMLWriter, self).setup(fig, outfile, dpi, - frame_prefix, clear_temp=False) + super().setup(fig, outfile, dpi, frame_prefix, clear_temp=False) def grab_frame(self, **savefig_kwargs): if self.embed_frames: @@ -919,7 +917,7 @@ def grab_frame(self, **savefig_kwargs): else: self._saved_frames.append(imgdata64) else: - return super(HTMLWriter, self).grab_frame(**savefig_kwargs) + return super().grab_frame(**savefig_kwargs) def _run(self): # make a duck-typed subprocess stand in diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 94e073063b4c..2e4266e90e97 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -583,7 +583,7 @@ def __init__(self, fig, rect, def __getstate__(self): # The renderer should be re-created by the figure, and then cached at # that point. - state = super(_AxesBase, self).__getstate__() + state = super().__getstate__() state['_cachedRenderer'] = None state.pop('_layoutbox') state.pop('_poslayoutbox') diff --git a/lib/matplotlib/backends/backend_agg.py b/lib/matplotlib/backends/backend_agg.py index a43efda774b9..82b724cc8b53 100644 --- a/lib/matplotlib/backends/backend_agg.py +++ b/lib/matplotlib/backends/backend_agg.py @@ -431,7 +431,7 @@ def draw(self): self.figure.draw(self.renderer) # A GUI class may be need to update a window using this draw, so # don't forget to call the superclass. - super(FigureCanvasAgg, self).draw() + super().draw() finally: # if toolbar: # toolbar.set_cursor(toolbar._lastCursor) diff --git a/lib/matplotlib/backends/backend_gtk.py b/lib/matplotlib/backends/backend_gtk.py index a4ae7cc28b75..10a6ddcfcf51 100644 --- a/lib/matplotlib/backends/backend_gtk.py +++ b/lib/matplotlib/backends/backend_gtk.py @@ -771,8 +771,8 @@ def __init__ (self, filetypes = [], default_filetype = None ): - super(FileChooserDialog, self).__init__(title, parent, action, buttons) - super(FileChooserDialog, self).set_do_overwrite_confirmation(True) + super().__init__(title, parent, action, buttons) + super().set_do_overwrite_confirmation(True) self.set_default_response(gtk.RESPONSE_OK) if not path: diff --git a/lib/matplotlib/backends/backend_gtkagg.py b/lib/matplotlib/backends/backend_gtkagg.py index 14240647ccb7..2aefadfb3ec5 100644 --- a/lib/matplotlib/backends/backend_gtkagg.py +++ b/lib/matplotlib/backends/backend_gtkagg.py @@ -43,7 +43,7 @@ def __init__(self, *args, **kwargs): 'Matplotlib usage FAQ for more info on ' 'backends.'), alternative='GTK3Agg') - super(FigureCanvasGTKAgg, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) def configure_event(self, widget, event=None): diff --git a/lib/matplotlib/backends/backend_gtkcairo.py b/lib/matplotlib/backends/backend_gtkcairo.py index 87e6debae796..48da2ae7a9fa 100644 --- a/lib/matplotlib/backends/backend_gtkcairo.py +++ b/lib/matplotlib/backends/backend_gtkcairo.py @@ -41,7 +41,7 @@ def __init__(self, *args, **kwargs): 'Matplotlib usage FAQ for more info on ' 'backends.'), alternative='GTK3Cairo') - super(FigureCanvasGTKCairo, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) def _renderer_init(self): """Override to use cairo (rather than GDK) renderer""" diff --git a/lib/matplotlib/backends/backend_nbagg.py b/lib/matplotlib/backends/backend_nbagg.py index 429fb1e7ccee..bc0625075b49 100644 --- a/lib/matplotlib/backends/backend_nbagg.py +++ b/lib/matplotlib/backends/backend_nbagg.py @@ -112,7 +112,7 @@ def get_javascript(cls, stream=None): output = io.StringIO() else: output = stream - super(FigureManagerNbAgg, cls).get_javascript(stream=output) + super().get_javascript(stream=output) with io.open(os.path.join( os.path.dirname(__file__), "web_backend", 'js', diff --git a/lib/matplotlib/backends/backend_qt5.py b/lib/matplotlib/backends/backend_qt5.py index 1dc2dd82fdc7..18fa2ff04ca9 100644 --- a/lib/matplotlib/backends/backend_qt5.py +++ b/lib/matplotlib/backends/backend_qt5.py @@ -232,7 +232,7 @@ class FigureCanvasQT(QtWidgets.QWidget, FigureCanvasBase): @_allow_super_init def __init__(self, figure): _create_qApp() - super(FigureCanvasQT, self).__init__(figure=figure) + super().__init__(figure=figure) self.figure = figure # We don't want to scale up the figure DPI more than once. @@ -492,7 +492,7 @@ def draw(self): return self._is_drawing = True try: - super(FigureCanvasQT, self).draw() + super().draw() finally: self._is_drawing = False self.update() @@ -762,7 +762,7 @@ def _init_toolbar(self): # the actual sizeHint, so override it instead in order to make the # aesthetic adjustments noted above. def sizeHint(self): - size = super(NavigationToolbar2QT, self).sizeHint() + size = super().sizeHint() size.setHeight(max(48, size.height())) return size @@ -798,11 +798,11 @@ def _update_buttons_checked(self): self._actions['zoom'].setChecked(self._active == 'ZOOM') def pan(self, *args): - super(NavigationToolbar2QT, self).pan(*args) + super().pan(*args) self._update_buttons_checked() def zoom(self, *args): - super(NavigationToolbar2QT, self).zoom(*args) + super().zoom(*args) self._update_buttons_checked() def set_message(self, s): diff --git a/lib/matplotlib/backends/backend_qt5agg.py b/lib/matplotlib/backends/backend_qt5agg.py index f0268299bad4..05ede5fa7799 100644 --- a/lib/matplotlib/backends/backend_qt5agg.py +++ b/lib/matplotlib/backends/backend_qt5agg.py @@ -21,7 +21,7 @@ class FigureCanvasQTAgg(FigureCanvasAgg, FigureCanvasQT): def __init__(self, figure): - super(FigureCanvasQTAgg, self).__init__(figure=figure) + super().__init__(figure=figure) self._bbox_queue = [] @property @@ -91,7 +91,7 @@ def blit(self, bbox=None): self.repaint(l, self.renderer.height / self._dpi_ratio - t, w, h) def print_figure(self, *args, **kwargs): - super(FigureCanvasQTAgg, self).print_figure(*args, **kwargs) + super().print_figure(*args, **kwargs) self.draw() diff --git a/lib/matplotlib/backends/backend_qt5cairo.py b/lib/matplotlib/backends/backend_qt5cairo.py index 1108707c3a0d..c6a5a7a79b0b 100644 --- a/lib/matplotlib/backends/backend_qt5cairo.py +++ b/lib/matplotlib/backends/backend_qt5cairo.py @@ -8,14 +8,14 @@ class FigureCanvasQTCairo(FigureCanvasQT, FigureCanvasCairo): def __init__(self, figure): - super(FigureCanvasQTCairo, self).__init__(figure=figure) + super().__init__(figure=figure) self._renderer = RendererCairo(self.figure.dpi) self._renderer.set_width_height(-1, -1) # Invalid values. def draw(self): if hasattr(self._renderer.gc, "ctx"): self.figure.draw(self._renderer) - super(FigureCanvasQTCairo, self).draw() + super().draw() def paintEvent(self, event): self._update_dpi() diff --git a/lib/matplotlib/backends/backend_webagg.py b/lib/matplotlib/backends/backend_webagg.py index c917a162ab19..e892de3fe89e 100644 --- a/lib/matplotlib/backends/backend_webagg.py +++ b/lib/matplotlib/backends/backend_webagg.py @@ -183,7 +183,7 @@ def __init__(self, url_prefix=''): assert url_prefix[0] == '/' and url_prefix[-1] != '/', \ 'url_prefix must start with a "/" and not end with one.' - super(WebAggApplication, self).__init__( + super().__init__( [ # Static files for the CSS and JS (url_prefix + r'/_static/(.*)', diff --git a/lib/matplotlib/backends/backend_wx.py b/lib/matplotlib/backends/backend_wx.py index 4f0e6638334b..ad62b98cbde2 100644 --- a/lib/matplotlib/backends/backend_wx.py +++ b/lib/matplotlib/backends/backend_wx.py @@ -824,8 +824,7 @@ def gui_repaint(self, drawDC=None, origin='WX'): filetypes['xpm'] = 'X pixmap' def print_figure(self, filename, *args, **kwargs): - super(_FigureCanvasWxBase, self).print_figure( - filename, *args, **kwargs) + super().print_figure(filename, *args, **kwargs) # Restore the current view; this is needed because the artist contains # methods rely on particular attributes of the rendered figure for # determining things like bounding boxes. @@ -1986,7 +1985,7 @@ def new_figure_manager(cls, num, *args, **kwargs): # Retain a reference to the app object so that it does not get # garbage collected. _BackendWx._theWxApp = wxapp - return super(_BackendWx, cls).new_figure_manager(num, *args, **kwargs) + return super().new_figure_manager(num, *args, **kwargs) @classmethod def new_figure_manager_given_figure(cls, num, figure): diff --git a/lib/matplotlib/backends/qt_editor/formsubplottool.py b/lib/matplotlib/backends/qt_editor/formsubplottool.py index 4906af588a7a..a0914cab880e 100644 --- a/lib/matplotlib/backends/qt_editor/formsubplottool.py +++ b/lib/matplotlib/backends/qt_editor/formsubplottool.py @@ -4,7 +4,7 @@ class UiSubplotTool(QtWidgets.QDialog): def __init__(self, *args, **kwargs): - super(UiSubplotTool, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) self.setObjectName("SubplotTool") self._widgets = {} diff --git a/lib/matplotlib/colors.py b/lib/matplotlib/colors.py index 681b1bc32d38..a17111f036a3 100644 --- a/lib/matplotlib/colors.py +++ b/lib/matplotlib/colors.py @@ -62,15 +62,15 @@ class _ColorMapping(dict): def __init__(self, mapping): - super(_ColorMapping, self).__init__(mapping) + super().__init__(mapping) self.cache = {} def __setitem__(self, key, value): - super(_ColorMapping, self).__setitem__(key, value) + super().__setitem__(key, value) self.cache.clear() def __delitem__(self, key): - super(_ColorMapping, self).__delitem__(key) + super().__delitem__(key) self.cache.clear() diff --git a/lib/matplotlib/dates.py b/lib/matplotlib/dates.py index 4f94687e02e9..ad6561593e72 100644 --- a/lib/matplotlib/dates.py +++ b/lib/matplotlib/dates.py @@ -366,7 +366,7 @@ def __init__(self, fmt, encoding='utf-8'): fmt: any valid strptime format is supported encoding: encoding to use on byte input (default: 'utf-8') """ - super(bytespdate2num, self).__init__(fmt) + super().__init__(fmt) self.encoding = encoding def __call__(self, b): @@ -377,7 +377,7 @@ def __call__(self, b): A date2num float """ s = b.decode(self.encoding) - return super(bytespdate2num, self).__call__(s) + return super().__call__(s) # a version of dateutil.parser.parse that can operate on nump0y arrays diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index a640a38f1128..26b046aa9bf2 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -1843,9 +1843,8 @@ def _gci(self): return None def __getstate__(self): - state = super(Figure, self).__getstate__() + state = super().__getstate__() - # print('\n\n\nStarting pickle') # the axobservers cannot currently be pickled. # Additionally, the canvas cannot currently be pickled, but this has # the benefit of meaning that a figure can be detached from one canvas, @@ -1866,9 +1865,8 @@ def __getstate__(self): matplotlib._pylab_helpers.Gcf.figs)): state['_restore_to_pylab'] = True - # set all the layoutbox information to None. kiwisolver - # objects can't be pickeled, so we lose the layout options - # at this point. + # set all the layoutbox information to None. kiwisolver objects can't + # be pickled, so we lose the layout options at this point. state.pop('_layoutbox', None) # suptitle: if self._suptitle is not None: diff --git a/lib/matplotlib/font_manager.py b/lib/matplotlib/font_manager.py index b9921bd8bde9..08646d54e1e8 100644 --- a/lib/matplotlib/font_manager.py +++ b/lib/matplotlib/font_manager.py @@ -945,7 +945,7 @@ def default(self, o): elif isinstance(o, FontEntry): return dict(o.__dict__, _class='FontEntry') else: - return super(JSONEncoder, self).default(o) + return super().default(o) def _json_decode(o): diff --git a/lib/matplotlib/image.py b/lib/matplotlib/image.py index 3561da09ab85..9d6b3c04ff18 100644 --- a/lib/matplotlib/image.py +++ b/lib/matplotlib/image.py @@ -241,7 +241,7 @@ def __init__(self, ax, self.update(kwargs) def __getstate__(self): - state = super(_ImageBase, self).__getstate__() + state = super().__getstate__() # We can't pickle the C Image cached object. state['_imcache'] = None return state @@ -786,7 +786,7 @@ def __init__(self, ax, self._extent = extent - super(AxesImage, self).__init__( + super().__init__( ax, cmap=cmap, norm=norm, @@ -882,7 +882,7 @@ def __init__(self, ax, **kwargs): options. """ interp = kwargs.pop('interpolation', 'nearest') - super(NonUniformImage, self).__init__(ax, **kwargs) + super().__init__(ax, **kwargs) self.set_interpolation(interp) def _check_unsampled_image(self, renderer): @@ -989,12 +989,12 @@ def set_filterrad(self, s): def set_norm(self, norm): if self._A is not None: raise RuntimeError('Cannot change colors after loading data') - super(NonUniformImage, self).set_norm(norm) + super().set_norm(norm) def set_cmap(self, cmap): if self._A is not None: raise RuntimeError('Cannot change colors after loading data') - super(NonUniformImage, self).set_cmap(cmap) + super().set_cmap(cmap) class PcolorImage(AxesImage): @@ -1020,7 +1020,7 @@ def __init__(self, ax, Additional kwargs are matplotlib.artist properties """ - super(PcolorImage, self).__init__(ax, norm=norm, cmap=cmap) + super().__init__(ax, norm=norm, cmap=cmap) self.update(kwargs) if A is not None: self.set_data(x, y, A) @@ -1148,7 +1148,7 @@ def __init__(self, fig, kwargs are an optional list of Artist keyword args """ - super(FigureImage, self).__init__( + super().__init__( None, norm=norm, cmap=cmap, @@ -1218,7 +1218,7 @@ def __init__(self, bbox, kwargs are an optional list of Artist keyword args """ - super(BboxImage, self).__init__( + super().__init__( None, cmap=cmap, norm=norm, diff --git a/lib/matplotlib/mathtext.py b/lib/matplotlib/mathtext.py index e84eba75a551..0dd84141eb2f 100644 --- a/lib/matplotlib/mathtext.py +++ b/lib/matplotlib/mathtext.py @@ -893,8 +893,8 @@ def __init__(self, *args, **kwargs): def _get_glyph(self, fontname, font_class, sym, fontsize, math=True): """ Override prime symbol to use Bakoma """ if sym == r'\prime': - return self.bakoma._get_glyph(fontname, - font_class, sym, fontsize, math) + return self.bakoma._get_glyph( + fontname, font_class, sym, fontsize, math) else: # check whether the glyph is available in the display font uniindex = get_unicode_index(sym) @@ -902,11 +902,11 @@ def _get_glyph(self, fontname, font_class, sym, fontsize, math=True): if font is not None: glyphindex = font.get_char_index(uniindex) if glyphindex != 0: - return super(DejaVuFonts, self)._get_glyph('ex', - font_class, sym, fontsize, math) + return super()._get_glyph( + 'ex', font_class, sym, fontsize, math) # otherwise return regular glyph - return super(DejaVuFonts, self)._get_glyph(fontname, - font_class, sym, fontsize, math) + return super()._get_glyph( + fontname, font_class, sym, fontsize, math) class DejaVuSerifFonts(DejaVuFonts): diff --git a/lib/matplotlib/offsetbox.py b/lib/matplotlib/offsetbox.py index 96fe8dc73df8..e6f800ef65e8 100644 --- a/lib/matplotlib/offsetbox.py +++ b/lib/matplotlib/offsetbox.py @@ -142,7 +142,7 @@ class OffsetBox(martist.Artist): """ def __init__(self, *args, **kwargs): - super(OffsetBox, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) # Clipping has not been implemented in the OffesetBox family, so # disable the clip flag for consistency. It can always be turned back @@ -314,7 +314,7 @@ def __init__(self, pad=None, sep=None, width=None, height=None, the renderer dpi, while *width* and *height* need to be in pixels. """ - super(PackerBase, self).__init__() + super().__init__() self.height = height self.width = width @@ -362,9 +362,7 @@ def __init__(self, pad=None, sep=None, width=None, height=None, the renderer dpi, while *width* and *height* need to be in pixels. """ - super(VPacker, self).__init__(pad, sep, width, height, - align, mode, - children) + super().__init__(pad, sep, width, height, align, mode, children) def get_extent_offsets(self, renderer): """ @@ -439,8 +437,7 @@ def __init__(self, pad=None, sep=None, width=None, height=None, the renderer dpi, while *width* and *height* need to be in pixels. """ - super(HPacker, self).__init__(pad, sep, width, height, - align, mode, children) + super().__init__(pad, sep, width, height, align, mode, children) def get_extent_offsets(self, renderer): """ @@ -494,7 +491,7 @@ def __init__(self, child, pad=None, draw_frame=False, patch_attrs=None): need to be in pixels. """ - super(PaddedBox, self).__init__() + super().__init__() self.pad = pad self._children = [child] @@ -582,7 +579,7 @@ def __init__(self, width, height, xdescent=0., *clip* : Whether to clip the children """ - super(DrawingArea, self).__init__() + super().__init__() self.width = width self.height = height @@ -1029,7 +1026,7 @@ def __init__(self, loc, bbox_transform : with which the bbox_to_anchor will be transformed. """ - super(AnchoredOffsetbox, self).__init__(**kwargs) + super().__init__(**kwargs) self.set_bbox_to_anchor(bbox_to_anchor, bbox_transform) self.set_child(child) @@ -1257,7 +1254,7 @@ def __init__(self, s, loc, pad=0.4, borderpad=0.5, prop=None, **kwargs): self.txt = TextArea(s, textprops=prop, minimumdescent=False) fp = self.txt._text.get_fontproperties() - super(AnchoredText, self).__init__( + super().__init__( loc, pad=pad, borderpad=borderpad, child=self.txt, prop=fp, **kwargs) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index a46d3a4d48e9..cf8f20eb97d2 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -1995,7 +1995,7 @@ def __init__(self): """ initializtion. """ - super(BoxStyle._Base, self).__init__() + super().__init__() def transmute(self, x0, y0, width, height, mutation_size): """ @@ -2053,7 +2053,7 @@ def __init__(self, pad=0.3): """ self.pad = pad - super(BoxStyle.Square, self).__init__() + super().__init__() def transmute(self, x0, y0, width, height, mutation_size): pad = mutation_size * self.pad @@ -2081,7 +2081,7 @@ def __init__(self, pad=0.3): The amount of padding around the original box. """ self.pad = pad - super(BoxStyle.Circle, self).__init__() + super().__init__() def transmute(self, x0, y0, width, height, mutation_size): pad = mutation_size * self.pad @@ -2100,7 +2100,7 @@ class LArrow(_Base): """ def __init__(self, pad=0.3): self.pad = pad - super(BoxStyle.LArrow, self).__init__() + super().__init__() def transmute(self, x0, y0, width, height, mutation_size): # padding @@ -2138,7 +2138,7 @@ class RArrow(LArrow): """ def __init__(self, pad=0.3): - super(BoxStyle.RArrow, self).__init__(pad) + super().__init__(pad) def transmute(self, x0, y0, width, height, mutation_size): @@ -2160,7 +2160,7 @@ class DArrow(_Base): def __init__(self, pad=0.3): self.pad = pad - super(BoxStyle.DArrow, self).__init__() + super().__init__() def transmute(self, x0, y0, width, height, mutation_size): @@ -2217,7 +2217,7 @@ def __init__(self, pad=0.3, rounding_size=None): """ self.pad = pad self.rounding_size = rounding_size - super(BoxStyle.Round, self).__init__() + super().__init__() def transmute(self, x0, y0, width, height, mutation_size): @@ -2281,7 +2281,7 @@ def __init__(self, pad=0.3, rounding_size=None): self.pad = pad self.rounding_size = rounding_size - super(BoxStyle.Round4, self).__init__() + super().__init__() def transmute(self, x0, y0, width, height, mutation_size): @@ -2335,7 +2335,7 @@ def __init__(self, pad=0.3, tooth_size=None): """ self.pad = pad self.tooth_size = tooth_size - super(BoxStyle.Sawtooth, self).__init__() + super().__init__() def _get_sawtooth_vertices(self, x0, y0, width, height, mutation_size): @@ -2439,7 +2439,7 @@ def __init__(self, pad=0.3, tooth_size=None): *tooth_size* size of the sawtooth. pad* if None """ - super(BoxStyle.Roundtooth, self).__init__(pad, tooth_size) + super().__init__(pad, tooth_size) def transmute(self, x0, y0, width, height, mutation_size): saw_vertices = self._get_sawtooth_vertices(x0, y0, @@ -3305,7 +3305,7 @@ def __init__(self, beginarrow=None, endarrow=None, self.beginarrow, self.endarrow = beginarrow, endarrow self.head_length, self.head_width = head_length, head_width self.fillbegin, self.fillend = fillbegin, fillend - super(ArrowStyle._Curve, self).__init__() + super().__init__() def _get_arrow_wedge(self, x0, y0, x1, y1, head_dist, cos_t, sin_t, linewidth @@ -3425,8 +3425,7 @@ class Curve(_Curve): """ def __init__(self): - super(ArrowStyle.Curve, self).__init__( - beginarrow=False, endarrow=False) + super().__init__(beginarrow=False, endarrow=False) _style_list["-"] = Curve @@ -3446,9 +3445,8 @@ def __init__(self, head_length=.4, head_width=.2): Width of the arrow head """ - super(ArrowStyle.CurveA, self).__init__( - beginarrow=True, endarrow=False, - head_length=head_length, head_width=head_width) + super().__init__(beginarrow=True, endarrow=False, + head_length=head_length, head_width=head_width) _style_list["<-"] = CurveA @@ -3468,9 +3466,8 @@ def __init__(self, head_length=.4, head_width=.2): Width of the arrow head """ - super(ArrowStyle.CurveB, self).__init__( - beginarrow=False, endarrow=True, - head_length=head_length, head_width=head_width) + super().__init__(beginarrow=False, endarrow=True, + head_length=head_length, head_width=head_width) _style_list["->"] = CurveB @@ -3490,9 +3487,8 @@ def __init__(self, head_length=.4, head_width=.2): Width of the arrow head """ - super(ArrowStyle.CurveAB, self).__init__( - beginarrow=True, endarrow=True, - head_length=head_length, head_width=head_width) + super().__init__(beginarrow=True, endarrow=True, + head_length=head_length, head_width=head_width) _style_list["<->"] = CurveAB @@ -3512,10 +3508,9 @@ def __init__(self, head_length=.4, head_width=.2): Width of the arrow head """ - super(ArrowStyle.CurveFilledA, self).__init__( - beginarrow=True, endarrow=False, - fillbegin=True, fillend=False, - head_length=head_length, head_width=head_width) + super().__init__(beginarrow=True, endarrow=False, + fillbegin=True, fillend=False, + head_length=head_length, head_width=head_width) _style_list["<|-"] = CurveFilledA @@ -3535,10 +3530,9 @@ def __init__(self, head_length=.4, head_width=.2): Width of the arrow head """ - super(ArrowStyle.CurveFilledB, self).__init__( - beginarrow=False, endarrow=True, - fillbegin=False, fillend=True, - head_length=head_length, head_width=head_width) + super().__init__(beginarrow=False, endarrow=True, + fillbegin=False, fillend=True, + head_length=head_length, head_width=head_width) _style_list["-|>"] = CurveFilledB @@ -3558,10 +3552,9 @@ def __init__(self, head_length=.4, head_width=.2): Width of the arrow head """ - super(ArrowStyle.CurveFilledAB, self).__init__( - beginarrow=True, endarrow=True, - fillbegin=True, fillend=True, - head_length=head_length, head_width=head_width) + super().__init__(beginarrow=True, endarrow=True, + fillbegin=True, fillend=True, + head_length=head_length, head_width=head_width) _style_list["<|-|>"] = CurveFilledAB @@ -3672,10 +3665,9 @@ def __init__(self, Angle between the bracket and the line """ - super(ArrowStyle.BracketAB, self).__init__( - True, True, widthA=widthA, lengthA=lengthA, - angleA=angleA, widthB=widthB, lengthB=lengthB, - angleB=angleB) + super().__init__(True, True, + widthA=widthA, lengthA=lengthA, angleA=angleA, + widthB=widthB, lengthB=lengthB, angleB=angleB) _style_list["]-["] = BracketAB @@ -3698,10 +3690,8 @@ def __init__(self, widthA=1., lengthA=0.2, angleA=None): Angle between the bracket and the line """ - super(ArrowStyle.BracketA, self).__init__(True, None, - widthA=widthA, - lengthA=lengthA, - angleA=angleA) + super().__init__(True, None, + widthA=widthA, lengthA=lengthA, angleA=angleA) _style_list["]-"] = BracketA @@ -3724,10 +3714,8 @@ def __init__(self, widthB=1., lengthB=0.2, angleB=None): Angle between the bracket and the line """ - super(ArrowStyle.BracketB, self).__init__(None, True, - widthB=widthB, - lengthB=lengthB, - angleB=angleB) + super().__init__(None, True, + widthB=widthB, lengthB=lengthB, angleB=angleB) _style_list["-["] = BracketB @@ -3755,9 +3743,9 @@ def __init__(self, Angle between the bracket and the line """ - super(ArrowStyle.BarAB, self).__init__( - True, True, widthA=widthA, lengthA=0, angleA=angleA, - widthB=widthB, lengthB=0, angleB=angleB) + super().__init__(True, True, + widthA=widthA, lengthA=0, angleA=angleA, + widthB=widthB, lengthB=0, angleB=angleB) _style_list["|-|"] = BarAB @@ -3782,7 +3770,7 @@ def __init__(self, head_length=.5, head_width=.5, tail_width=.2): self.head_length, self.head_width, self.tail_width = \ head_length, head_width, tail_width - super(ArrowStyle.Simple, self).__init__() + super().__init__() def transmute(self, path, mutation_size, linewidth): @@ -3869,7 +3857,7 @@ def __init__(self, head_length=.4, head_width=.4, tail_width=.4): self.head_length, self.head_width, self.tail_width = \ head_length, head_width, tail_width - super(ArrowStyle.Fancy, self).__init__() + super().__init__() def transmute(self, path, mutation_size, linewidth): @@ -3971,7 +3959,7 @@ def __init__(self, tail_width=.3, shrink_factor=0.5): self.tail_width = tail_width self.shrink_factor = shrink_factor - super(ArrowStyle.Wedge, self).__init__() + super().__init__() def transmute(self, path, mutation_size, linewidth): diff --git a/lib/matplotlib/patheffects.py b/lib/matplotlib/patheffects.py index c0265ec71914..f443ad5e0828 100644 --- a/lib/matplotlib/patheffects.py +++ b/lib/matplotlib/patheffects.py @@ -183,7 +183,7 @@ def __init__(self, offset=(0, 0), **kwargs): keyword arguments, i.e., the keyword arguments should be valid gc parameter values. """ - super(Stroke, self).__init__(offset) + super().__init__(offset) self._gc = kwargs def draw_path(self, renderer, gc, tpath, affine, rgbFace): @@ -236,7 +236,7 @@ def __init__(self, offset=(2, -2), :meth:`AbstractPathEffect._update_gc`. """ - super(SimplePatchShadow, self).__init__(offset) + super().__init__(offset) if shadow_rgbFace is None: self._shadow_rgbFace = shadow_rgbFace @@ -318,7 +318,7 @@ def __init__(self, offset=(2,-2), :meth:`AbstractPathEffect._update_gc`. """ - super(SimpleLineShadow, self).__init__(offset) + super().__init__(offset) if shadow_color is None: self._shadow_color = shadow_color else: @@ -379,7 +379,7 @@ def __init__(self, offset=(0, 0), **kwargs): properties which cannot be overridden are "path", "clip_box" "transform" and "clip_path". """ - super(PathPatchEffect, self).__init__(offset=offset) + super().__init__(offset=offset) self.patch = mpatches.PathPatch([], **kwargs) def draw_path(self, renderer, gc, tpath, affine, rgbFace): diff --git a/lib/matplotlib/projections/polar.py b/lib/matplotlib/projections/polar.py index 9336af0e7bd9..1493d7b3fc02 100644 --- a/lib/matplotlib/projections/polar.py +++ b/lib/matplotlib/projections/polar.py @@ -292,22 +292,22 @@ def __init__(self, axes, *args, **kwargs): self._text2_translate = mtransforms.ScaledTranslation( 0, 0, axes.figure.dpi_scale_trans) - super(ThetaTick, self).__init__(axes, *args, **kwargs) + super().__init__(axes, *args, **kwargs) def _get_text1(self): - t = super(ThetaTick, self)._get_text1() + t = super()._get_text1() t.set_rotation_mode('anchor') t.set_transform(t.get_transform() + self._text1_translate) return t def _get_text2(self): - t = super(ThetaTick, self)._get_text2() + t = super()._get_text2() t.set_rotation_mode('anchor') t.set_transform(t.get_transform() + self._text2_translate) return t def _apply_params(self, **kw): - super(ThetaTick, self)._apply_params(**kw) + super()._apply_params(**kw) # Ensure transform is correct; sometimes this gets reset. trans = self.label1.get_transform() @@ -326,7 +326,7 @@ def _update_padding(self, pad, angle): self._text2_translate.invalidate() def update_position(self, loc): - super(ThetaTick, self).update_position(loc) + super().update_position(loc) axes = self.axes angle = loc * axes.get_theta_direction() + axes.get_theta_offset() text_angle = np.rad2deg(angle) % 360 - 90 @@ -399,19 +399,19 @@ def _wrap_locator_formatter(self): self.isDefault_majfmt = True def cla(self): - super(ThetaAxis, self).cla() + super().cla() self.set_ticks_position('none') self._wrap_locator_formatter() def _set_scale(self, value, **kwargs): - super(ThetaAxis, self)._set_scale(value, **kwargs) + super()._set_scale(value, **kwargs) self._wrap_locator_formatter() def _copy_tick_props(self, src, dest): 'Copy the props from src tick to dest tick' if src is None or dest is None: return - super(ThetaAxis, self)._copy_tick_props(src, dest) + super()._copy_tick_props(src, dest) # Ensure that tick transforms are independent so that padding works. trans = dest._get_text1_transform()[0] @@ -534,12 +534,12 @@ class RadialTick(maxis.YTick): enabled. """ def _get_text1(self): - t = super(RadialTick, self)._get_text1() + t = super()._get_text1() t.set_rotation_mode('anchor') return t def _get_text2(self): - t = super(RadialTick, self)._get_text2() + t = super()._get_text2() t.set_rotation_mode('anchor') return t @@ -598,7 +598,7 @@ def _determine_anchor(self, mode, angle, start): return 'center', 'bottom' def update_position(self, loc): - super(RadialTick, self).update_position(loc) + super().update_position(loc) axes = self.axes thetamin = axes.get_thetamin() thetamax = axes.get_thetamax() @@ -718,7 +718,7 @@ class RadialAxis(maxis.YAxis): axis_name = 'radius' def __init__(self, *args, **kwargs): - super(RadialAxis, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) self.sticky_edges.y.append(0) def _get_tick(self, major): @@ -734,12 +734,12 @@ def _wrap_locator_formatter(self): self.isDefault_majloc = True def cla(self): - super(RadialAxis, self).cla() + super().cla() self.set_ticks_position('none') self._wrap_locator_formatter() def _set_scale(self, value, **kwargs): - super(RadialAxis, self)._set_scale(value, **kwargs) + super()._set_scale(value, **kwargs) self._wrap_locator_formatter() diff --git a/lib/matplotlib/spines.py b/lib/matplotlib/spines.py index 1e75c6ed6168..0f1fcfb62c8f 100644 --- a/lib/matplotlib/spines.py +++ b/lib/matplotlib/spines.py @@ -49,7 +49,7 @@ def __init__(self, axes, spine_type, path, **kwargs): Valid kwargs are: %(Patch)s """ - super(Spine, self).__init__(**kwargs) + super().__init__(**kwargs) self.axes = axes self.set_figure(self.axes.figure) self.spine_type = spine_type @@ -150,7 +150,7 @@ def get_patch_transform(self): self._recompute_transform() return self._patch_transform else: - return super(Spine, self).get_patch_transform() + return super().get_patch_transform() def get_path(self): return self._path @@ -311,7 +311,7 @@ def _adjust_location(self): @allow_rasterization def draw(self, renderer): self._adjust_location() - ret = super(Spine, self).draw(renderer) + ret = super().draw(renderer) self.stale = False return ret diff --git a/lib/matplotlib/tests/test_collections.py b/lib/matplotlib/tests/test_collections.py index 291647d178f7..76c6a8bcab01 100644 --- a/lib/matplotlib/tests/test_collections.py +++ b/lib/matplotlib/tests/test_collections.py @@ -527,8 +527,7 @@ def test_regularpolycollection_scale(): class SquareCollection(mcollections.RegularPolyCollection): def __init__(self, **kwargs): - super(SquareCollection, self).__init__( - 4, rotation=np.pi/4., **kwargs) + super().__init__(4, rotation=np.pi/4., **kwargs) def get_transform(self): """Return transform scaling circle areas to data space.""" diff --git a/lib/matplotlib/tests/test_compare_images.py b/lib/matplotlib/tests/test_compare_images.py index 746462c62b07..526eb0336149 100644 --- a/lib/matplotlib/tests/test_compare_images.py +++ b/lib/matplotlib/tests/test_compare_images.py @@ -155,12 +155,12 @@ def test_nose_image_comparison(func, kwargs, errors, failures, dots, class TestResultVerifier(nose.result.TextTestResult): def __init__(self, *args, **kwargs): - super(TestResultVerifier, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) self.error_count = 0 self.failure_count = 0 def addError(self, test, err): - super(TestResultVerifier, self).addError(test, err) + super().addError(test, err) if self.error_count < len(errors): assert err[0] is errors[self.error_count][0] @@ -170,7 +170,7 @@ def addError(self, test, err): self.error_count += 1 def addFailure(self, test, err): - super(TestResultVerifier, self).addFailure(test, err) + super().addFailure(test, err) assert self.failure_count < len(failures), err[1] assert err[0] is failures[self.failure_count][0] diff --git a/lib/matplotlib/tests/test_dates.py b/lib/matplotlib/tests/test_dates.py index fbdf054b1882..57259cf435f7 100644 --- a/lib/matplotlib/tests/test_dates.py +++ b/lib/matplotlib/tests/test_dates.py @@ -499,7 +499,7 @@ class dt_tzaware(datetime.datetime): subtraction. """ def __sub__(self, other): - r = super(dt_tzaware, self).__sub__(other) + r = super().__sub__(other) tzinfo = getattr(r, 'tzinfo', None) if tzinfo is not None: @@ -513,10 +513,10 @@ def __sub__(self, other): return r def __add__(self, other): - return self.mk_tzaware(super(dt_tzaware, self).__add__(other)) + return self.mk_tzaware(super().__add__(other)) def astimezone(self, tzinfo): - dt = super(dt_tzaware, self).astimezone(tzinfo) + dt = super().astimezone(tzinfo) return self.mk_tzaware(dt) @classmethod diff --git a/lib/matplotlib/tests/test_skew.py b/lib/matplotlib/tests/test_skew.py index 628506f4db48..5cb656374ab4 100644 --- a/lib/matplotlib/tests/test_skew.py +++ b/lib/matplotlib/tests/test_skew.py @@ -23,7 +23,7 @@ def update_position(self, loc): # This ensures that the new value of the location is set before # any other updates take place self._loc = loc - super(SkewXTick, self).update_position(loc) + super().update_position(loc) def _has_default_loc(self): return self.get_loc() is None diff --git a/lib/matplotlib/text.py b/lib/matplotlib/text.py index c15a0c08be80..82a302c269ed 100644 --- a/lib/matplotlib/text.py +++ b/lib/matplotlib/text.py @@ -183,12 +183,12 @@ def update(self, kwargs): # Update bbox last, as it depends on font properties. sentinel = object() # bbox can be None, so use another sentinel. bbox = kwargs.pop("bbox", sentinel) - super(Text, self).update(kwargs) + super().update(kwargs) if bbox is not sentinel: self.set_bbox(bbox) def __getstate__(self): - d = super(Text, self).__getstate__() + d = super().__getstate__() # remove the cached _renderer (if it exists) d['_renderer'] = None return d @@ -536,7 +536,7 @@ def set_clip_box(self, clipbox): ACCEPTS: a :class:`matplotlib.transforms.Bbox` instance """ - super(Text, self).set_clip_box(clipbox) + super().set_clip_box(clipbox) self._update_clip_properties() def set_clip_path(self, path, transform=None): @@ -560,7 +560,7 @@ def set_clip_path(self, path, transform=None): :class:`~matplotlib.transforms.Transform`) | :class:`~matplotlib.patches.Patch` | None ] """ - super(Text, self).set_clip_path(path, transform) + super().set_clip_path(path, transform) self._update_clip_properties() def set_clip_on(self, b): @@ -575,7 +575,7 @@ def set_clip_on(self, b): b : bool .. ACCEPTS: bool """ - super(Text, self).set_clip_on(b) + super().set_clip_on(b) self._update_clip_properties() def get_wrap(self): diff --git a/lib/mpl_toolkits/axes_grid/axes_grid.py b/lib/mpl_toolkits/axes_grid/axes_grid.py index 58212ac89c4a..b9093f0d8c30 100644 --- a/lib/mpl_toolkits/axes_grid/axes_grid.py +++ b/lib/mpl_toolkits/axes_grid/axes_grid.py @@ -13,10 +13,10 @@ def __init__(self, *kl, **kwargs): self._default_label_on = False self.locator = None - super(LocatableAxes, self).__init__(*kl, **kwargs) + super().__init__(*kl, **kwargs) def cla(self): - super(LocatableAxes, self).cla() + super().cla() self._config_axes() diff --git a/lib/mpl_toolkits/axes_grid1/anchored_artists.py b/lib/mpl_toolkits/axes_grid1/anchored_artists.py index 5b492858e8da..3291e7cb7717 100644 --- a/lib/mpl_toolkits/axes_grid1/anchored_artists.py +++ b/lib/mpl_toolkits/axes_grid1/anchored_artists.py @@ -82,7 +82,7 @@ def __init__(self, width, height, xdescent, ydescent, self.da = DrawingArea(width, height, xdescent, ydescent) self.drawing_area = self.da - super(AnchoredDrawingArea, self).__init__( + super().__init__( loc, pad=pad, borderpad=borderpad, child=self.da, prop=None, frameon=frameon, **kwargs ) diff --git a/lib/mpl_toolkits/axes_grid1/axes_grid.py b/lib/mpl_toolkits/axes_grid1/axes_grid.py index b6031e742d5d..a304f1eeed11 100644 --- a/lib/mpl_toolkits/axes_grid1/axes_grid.py +++ b/lib/mpl_toolkits/axes_grid1/axes_grid.py @@ -116,10 +116,10 @@ def __init__(self, *kl, **kwargs): self._default_label_on = True self.locator = None - super(LocatableAxes, self).__init__(*kl, **kwargs) + super().__init__(*kl, **kwargs) def cla(self): - super(LocatableAxes, self).cla() + super().cla() self._config_axes() diff --git a/lib/mpl_toolkits/axes_grid1/inset_locator.py b/lib/mpl_toolkits/axes_grid1/inset_locator.py index e2d403e8aecf..81860815773f 100644 --- a/lib/mpl_toolkits/axes_grid1/inset_locator.py +++ b/lib/mpl_toolkits/axes_grid1/inset_locator.py @@ -63,7 +63,7 @@ def __call__(self, ax, renderer): class AnchoredLocatorBase(AnchoredOffsetbox): def __init__(self, bbox_to_anchor, offsetbox, loc, borderpad=0.5, bbox_transform=None): - super(AnchoredLocatorBase, self).__init__( + super().__init__( loc, pad=0., child=None, borderpad=borderpad, bbox_to_anchor=bbox_to_anchor, bbox_transform=bbox_transform ) @@ -91,7 +91,7 @@ class AnchoredSizeLocator(AnchoredLocatorBase): def __init__(self, bbox_to_anchor, x_size, y_size, loc, borderpad=0.5, bbox_transform=None): - super(AnchoredSizeLocator, self).__init__( + super().__init__( bbox_to_anchor, None, loc, borderpad=borderpad, bbox_transform=bbox_transform ) @@ -129,7 +129,7 @@ def __init__(self, parent_axes, zoom, loc, if bbox_to_anchor is None: bbox_to_anchor = parent_axes.bbox - super(AnchoredZoomLocator, self).__init__( + super().__init__( bbox_to_anchor, None, loc, borderpad=borderpad, bbox_transform=bbox_transform) diff --git a/lib/mpl_toolkits/axes_grid1/mpl_axes.py b/lib/mpl_toolkits/axes_grid1/mpl_axes.py index aaff7b7692ab..ef44bac29b3b 100644 --- a/lib/mpl_toolkits/axes_grid1/mpl_axes.py +++ b/lib/mpl_toolkits/axes_grid1/mpl_axes.py @@ -7,6 +7,7 @@ from matplotlib.artist import Artist from matplotlib.axis import XAxis, YAxis + class SimpleChainedObjects(object): def __init__(self, objects): self._objects = objects @@ -25,7 +26,7 @@ class Axes(maxes.Axes): class AxisDict(dict): def __init__(self, axes): self.axes = axes - super(Axes.AxisDict, self).__init__() + super().__init__() def __getitem__(self, k): if isinstance(k, tuple): @@ -44,20 +45,15 @@ def __getitem__(self, k): def __call__(self, *v, **kwargs): return maxes.Axes.axis(self.axes, *v, **kwargs) - def __init__(self, *kl, **kw): - super(Axes, self).__init__(*kl, **kw) - def _init_axis_artists(self, axes=None): if axes is None: axes = self - self._axislines = self.AxisDict(self) - - self._axislines["bottom"] = SimpleAxisArtist(self.xaxis, 1, self.spines["bottom"]) - self._axislines["top"] = SimpleAxisArtist(self.xaxis, 2, self.spines["top"]) - self._axislines["left"] = SimpleAxisArtist(self.yaxis, 1, self.spines["left"]) - self._axislines["right"] = SimpleAxisArtist(self.yaxis, 2, self.spines["right"]) - + self._axislines.update( + bottom=SimpleAxisArtist(self.xaxis, 1, self.spines["bottom"]), + top=SimpleAxisArtist(self.xaxis, 2, self.spines["top"]), + left=SimpleAxisArtist(self.yaxis, 1, self.spines["left"]), + right=SimpleAxisArtist(self.yaxis, 2, self.spines["right"])) def _get_axislines(self): return self._axislines @@ -65,8 +61,7 @@ def _get_axislines(self): axis = property(_get_axislines) def cla(self): - - super(Axes, self).cla() + super().cla() self._init_axis_artists() diff --git a/lib/mpl_toolkits/axes_grid1/parasite_axes.py b/lib/mpl_toolkits/axes_grid1/parasite_axes.py index 16a67b4d1ffb..01fd774e3fc8 100644 --- a/lib/mpl_toolkits/axes_grid1/parasite_axes.py +++ b/lib/mpl_toolkits/axes_grid1/parasite_axes.py @@ -234,11 +234,9 @@ def _get_handles(ax): class HostAxesBase(object): def __init__(self, *args, **kwargs): - self.parasites = [] self._get_base_axes_attr("__init__")(self, *args, **kwargs) - def get_aux_axes(self, tr, viewlim_mode="equal", axes_class=None): parasite_axes_class = parasite_axes_auxtrans_class_factory(axes_class) ax2 = parasite_axes_class(self, tr, viewlim_mode) @@ -258,7 +256,6 @@ def _get_legend_handles(self, legend_handler_map=None): return all_handles - def draw(self, renderer): orig_artists = list(self.artists) @@ -287,15 +284,10 @@ def draw(self, renderer): self.artists = orig_artists self.images = orig_images - def cla(self): - for ax in self.parasites: ax.cla() - self._get_base_axes_attr("cla")(self) - #super(HostAxes, self).cla() - def twinx(self, axes_class=None): """ @@ -355,7 +347,6 @@ def _remove_method(h): return ax2 - def twin(self, aux_trans=None, axes_class=None): """ create a twin of Axes for generating a plot with a sharex @@ -367,16 +358,15 @@ def twin(self, aux_trans=None, axes_class=None): if axes_class is None: axes_class = self._get_base_axes() - parasite_axes_auxtrans_class = parasite_axes_auxtrans_class_factory(axes_class) + parasite_axes_auxtrans_class = \ + parasite_axes_auxtrans_class_factory(axes_class) if aux_trans is None: - ax2 = parasite_axes_auxtrans_class(self, mtransforms.IdentityTransform(), - viewlim_mode="equal", - ) + ax2 = parasite_axes_auxtrans_class( + self, mtransforms.IdentityTransform(), viewlim_mode="equal") else: - ax2 = parasite_axes_auxtrans_class(self, aux_trans, - viewlim_mode="transform", - ) + ax2 = parasite_axes_auxtrans_class( + self, aux_trans, viewlim_mode="transform") self.parasites.append(ax2) ax2._remove_method = lambda h: self.parasites.remove(h) @@ -405,7 +395,6 @@ def get_tightbbox(self, renderer, call_axes_locator=True): return _bbox - _host_axes_classes = {} def host_axes_class_factory(axes_class=None): if axes_class is None: diff --git a/lib/mpl_toolkits/axisartist/axes_grid.py b/lib/mpl_toolkits/axisartist/axes_grid.py index 58212ac89c4a..b9093f0d8c30 100644 --- a/lib/mpl_toolkits/axisartist/axes_grid.py +++ b/lib/mpl_toolkits/axisartist/axes_grid.py @@ -13,10 +13,10 @@ def __init__(self, *kl, **kwargs): self._default_label_on = False self.locator = None - super(LocatableAxes, self).__init__(*kl, **kwargs) + super().__init__(*kl, **kwargs) def cla(self): - super(LocatableAxes, self).cla() + super().cla() self._config_axes() diff --git a/lib/mpl_toolkits/axisartist/axis_artist.py b/lib/mpl_toolkits/axisartist/axis_artist.py index 5e850330dd82..a3b1964f48d6 100644 --- a/lib/mpl_toolkits/axisartist/axis_artist.py +++ b/lib/mpl_toolkits/axisartist/axis_artist.py @@ -175,7 +175,7 @@ class AttributeCopier(object): def __init__(self, ref_artist, klass=Artist): self._klass = klass self._ref_artist = ref_artist - super(AttributeCopier, self).__init__() + super().__init__() def set_ref_artist(self, artist): self._ref_artist = artist @@ -349,8 +349,7 @@ def __init__(self, *kl, **kwargs): self._ref_angle = 0 self._offset_radius = 0. - super(LabelBase, self).__init__(*kl, - **kwargs) + super().__init__(*kl, **kwargs) self.set_rotation_mode("anchor") self._text_follow_ref_angle = True @@ -407,7 +406,7 @@ def draw(self, renderer): dx, dy = dd * np.cos(theta), dd * np.sin(theta) offset_tr.translate(dx, dy) self.set_rotation(text_ref_angle+angle_orig) - super(LabelBase, self).draw(renderer) + super().draw(renderer) offset_tr.clear() @@ -436,7 +435,7 @@ def get_window_extent(self, renderer): offset_tr.translate(dx, dy) self.set_rotation(text_ref_angle+angle_orig) - bbox = super(LabelBase, self).get_window_extent(renderer).frozen() + bbox = super().get_window_extent(renderer).frozen() offset_tr.clear() @@ -461,7 +460,6 @@ def __init__(self, *kl, **kwargs): axis_direction = kwargs.pop("axis_direction", "bottom") self._axis = kwargs.pop("axis", None) - #super(AxisLabel, self).__init__(*kl, **kwargs) LabelBase.__init__(self, *kl, **kwargs) AttributeCopier.__init__(self, self._axis, klass=LabelBase) @@ -504,7 +502,7 @@ def get_ref_artist(self): def get_text(self): - t = super(AxisLabel, self).get_text() + t = super().get_text() if t == "__from_axes__": return self._axis.get_label().get_text() return self._text @@ -574,7 +572,7 @@ def draw(self, renderer): r = self._get_external_pad() + pad self._set_offset_radius(r) - super(AxisLabel, self).draw(renderer) + super().draw(renderer) def get_window_extent(self, renderer): @@ -586,7 +584,7 @@ def get_window_extent(self, renderer): r = self._get_external_pad() + pad self._set_offset_radius(r) - bb = super(AxisLabel, self).get_window_extent(renderer) + bb = super().get_window_extent(renderer) return bb @@ -811,7 +809,7 @@ def __init__(self, *kl, **kwargs): """ self._which = kwargs.pop("which", "major") self._axis = kwargs.pop("axis", "both") - super(GridlinesCollection, self).__init__(*kl, **kwargs) + super().__init__(*kl, **kwargs) self.set_grid_helper(None) def set_which(self, which): @@ -831,7 +829,7 @@ def draw(self, renderer): self.set_segments([np.transpose(l) for l in gl]) else: self.set_segments([]) - super(GridlinesCollection, self).draw(renderer) + super().draw(renderer) @@ -863,7 +861,7 @@ def __init__(self, axes, """ #axes is also used to follow the axis attribute (tick color, etc). - super(AxisArtist, self).__init__(**kw) + super().__init__(**kw) self.axes = axes diff --git a/lib/mpl_toolkits/axisartist/axisline_style.py b/lib/mpl_toolkits/axisartist/axisline_style.py index 876f5fe18985..48ceb76dfe41 100644 --- a/lib/mpl_toolkits/axisartist/axisline_style.py +++ b/lib/mpl_toolkits/axisartist/axisline_style.py @@ -122,7 +122,7 @@ def __init__(self): """ initialization. """ - super(AxislineStyle._Base, self).__init__() + super().__init__() @@ -150,7 +150,7 @@ def __init__(self, size=1): """ self.size = size - super(AxislineStyle.SimpleArrow, self).__init__() + super().__init__() def new_line(self, axis_artist, transform): diff --git a/lib/mpl_toolkits/axisartist/axislines.py b/lib/mpl_toolkits/axisartist/axislines.py index 6182608cc5ba..16ea8edfad14 100644 --- a/lib/mpl_toolkits/axisartist/axislines.py +++ b/lib/mpl_toolkits/axisartist/axislines.py @@ -152,7 +152,7 @@ def __init__(self, self.nth_coord = nth_coord - super(AxisArtistHelper.Fixed, self).__init__() + super().__init__() self.passthru_pt = self._default_passthru_pt[loc] @@ -238,8 +238,7 @@ def __init__(self, axes, loc, nth_coord=None): nth_coord = along which coordinate value varies in 2d, nth_coord = 0 -> x axis, nth_coord = 1 -> y axis """ - super(AxisArtistHelperRectlinear.Fixed, self).__init__( - loc, nth_coord) + super().__init__(loc, nth_coord) self.axis = [axes.xaxis, axes.yaxis][self.nth_coord] # TICK @@ -287,8 +286,7 @@ def _f(locs, labels): class Floating(AxisArtistHelper.Floating): def __init__(self, axes, nth_coord, passingthrough_point, axis_direction="bottom"): - super(AxisArtistHelperRectlinear.Floating, self).__init__( - nth_coord, passingthrough_point) + super().__init__(nth_coord, passingthrough_point) self._axis_direction = axis_direction self.axis = [axes.xaxis, axes.yaxis][self.nth_coord] @@ -395,7 +393,7 @@ class GridHelperBase(object): def __init__(self): self._force_update = True self._old_limits = None - super(GridHelperBase, self).__init__() + super().__init__() def update_lim(self, axes): @@ -456,7 +454,7 @@ class GridHelperRectlinear(GridHelperBase): def __init__(self, axes): - super(GridHelperRectlinear, self).__init__() + super().__init__() self.axes = axes @@ -569,7 +567,7 @@ class Axes(maxes.Axes): class AxisDict(dict): def __init__(self, axes): self.axes = axes - super(Axes.AxisDict, self).__init__() + super().__init__() def __getitem__(self, k): if isinstance(k, tuple): @@ -600,7 +598,7 @@ def __init__(self, *kl, **kw): else: self._grid_helper = GridHelperRectlinear(self) - super(Axes, self).__init__(*kl, **kw) + super().__init__(*kl, **kw) self.toggle_axisline(True) @@ -623,7 +621,7 @@ def toggle_axisline(self, b=None): def _init_axis(self): - super(Axes, self)._init_axis() + super()._init_axis() def _init_axis_artists(self, axes=None): @@ -671,7 +669,7 @@ def cla(self): # gridlines need to b created before cla() since cla calls grid() self._init_gridlines() - super(Axes, self).cla() + super().cla() # the clip_path should be set after Axes.cla() since that's # when a patch is created. @@ -691,7 +689,7 @@ def grid(self, b=None, which='major', axis="both", **kwargs): # axes_grid and the original mpl's grid, because axes_grid # explicitly set the visibility of the gridlines. - super(Axes, self).grid(b, which=which, axis=axis, **kwargs) + super().grid(b, which=which, axis=axis, **kwargs) if not self._axisline_on: return @@ -715,7 +713,7 @@ def get_children(self): children = list(six.itervalues(self._axislines)) + [self.gridlines] else: children = [] - children.extend(super(Axes, self).get_children()) + children.extend(super().get_children()) return children def invalidate_grid_helper(self): @@ -747,20 +745,20 @@ def new_floating_axis(self, nth_coord, value, def draw(self, renderer, inframe=False): if not self._axisline_on: - super(Axes, self).draw(renderer, inframe) + super().draw(renderer, inframe) return orig_artists = self.artists self.artists = self.artists + list(self._axislines.values()) + [self.gridlines] - super(Axes, self).draw(renderer, inframe) + super().draw(renderer, inframe) self.artists = orig_artists def get_tightbbox(self, renderer, call_axes_locator=True): - bb0 = super(Axes, self).get_tightbbox(renderer, call_axes_locator) + bb0 = super().get_tightbbox(renderer, call_axes_locator) if not self._axisline_on: return bb0 @@ -792,18 +790,13 @@ def get_tightbbox(self, renderer, call_axes_locator=True): return _bbox - - Subplot = maxes.subplot_class_factory(Axes) -class AxesZero(Axes): - def __init__(self, *kl, **kw): - - super(AxesZero, self).__init__(*kl, **kw) +class AxesZero(Axes): def _init_axis_artists(self): - super(AxesZero, self)._init_axis_artists() + super()._init_axis_artists() new_floating_axis = self._grid_helper.new_floating_axis xaxis_zero = new_floating_axis(nth_coord=0, @@ -825,4 +818,5 @@ def _init_axis_artists(self): yaxis_zero.set_visible(False) self._axislines["yzero"] = yaxis_zero + SubplotZero = maxes.subplot_class_factory(AxesZero) diff --git a/lib/mpl_toolkits/axisartist/floating_axes.py b/lib/mpl_toolkits/axisartist/floating_axes.py index bc67c7c42969..d3fd3960a573 100644 --- a/lib/mpl_toolkits/axisartist/floating_axes.py +++ b/lib/mpl_toolkits/axisartist/floating_axes.py @@ -32,11 +32,7 @@ def __init__(self, grid_helper, side, nth_coord_ticks=None): """ value, nth_coord = grid_helper.get_data_boundary(side) # return v= 0 , nth=1, extremes of the other coordinate. - super(FixedAxisArtistHelper, self).__init__(grid_helper, - nth_coord, - value, - axis_direction=side, - ) + super().__init__(grid_helper, nth_coord, value, axis_direction=side) #self.grid_helper = grid_helper if nth_coord_ticks is None: nth_coord_ticks = nth_coord @@ -255,12 +251,12 @@ def __init__(self, aux_trans, extremes, self._extremes = extremes extreme_finder = ExtremeFinderFixed(extremes) - super(GridHelperCurveLinear, self).__init__(aux_trans, - extreme_finder, - grid_locator1=grid_locator1, - grid_locator2=grid_locator2, - tick_formatter1=tick_formatter1, - tick_formatter2=tick_formatter2) + super().__init__(aux_trans, + extreme_finder, + grid_locator1=grid_locator1, + grid_locator2=grid_locator2, + tick_formatter1=tick_formatter1, + tick_formatter2=tick_formatter2) # def update_grid_finder(self, aux_trans=None, **kw): diff --git a/lib/mpl_toolkits/axisartist/grid_finder.py b/lib/mpl_toolkits/axisartist/grid_finder.py index 62a94b147835..4c247f42d430 100644 --- a/lib/mpl_toolkits/axisartist/grid_finder.py +++ b/lib/mpl_toolkits/axisartist/grid_finder.py @@ -62,7 +62,7 @@ def __init__(self, Derived must define "transform_xy, inv_transform_xy" (may use update_transform) """ - super(GridFinderBase, self).__init__() + super().__init__() self.extreme_finder = extreme_finder self.grid_locator1 = grid_locator1 @@ -240,7 +240,7 @@ def __init__(self, tick_formatter1 = FormatterPrettyPrint() if tick_formatter2 is None: tick_formatter2 = FormatterPrettyPrint() - super(GridFinder, self).__init__( + super().__init__( extreme_finder, grid_locator1, grid_locator2, @@ -320,7 +320,7 @@ def __init__(self, format_dict, formatter=None): format_dict : dictionary for format strings to be used. formatter : fall-back formatter """ - super(DictFormatter, self).__init__() + super().__init__() self._format_dict = format_dict self._fallback_formatter = formatter diff --git a/lib/mpl_toolkits/axisartist/grid_helper_curvelinear.py b/lib/mpl_toolkits/axisartist/grid_helper_curvelinear.py index 578645148eeb..d1cb08a6c8ce 100644 --- a/lib/mpl_toolkits/axisartist/grid_helper_curvelinear.py +++ b/lib/mpl_toolkits/axisartist/grid_helper_curvelinear.py @@ -28,7 +28,7 @@ def __init__(self, grid_helper, side, nth_coord_ticks=None): nth_coord = 0 -> x axis, nth_coord = 1 -> y axis """ - super(FixedAxisArtistHelper, self).__init__(loc=side) + super().__init__(loc=side) self.grid_helper = grid_helper if nth_coord_ticks is None: @@ -92,9 +92,7 @@ def __init__(self, grid_helper, nth_coord, value, axis_direction=None): nth_coord = 0 -> x axis, nth_coord = 1 -> y axis """ - super(FloatingAxisArtistHelper, self).__init__(nth_coord, - value, - ) + super().__init__(nth_coord, value) self.value = value self.grid_helper = grid_helper self._extremes = None, None @@ -341,7 +339,7 @@ def __init__(self, aux_trans, e.g., ``x2, y2 = trans(x1, y1)`` """ - super(GridHelperCurveLinear, self).__init__() + super().__init__() self.grid_info = None self._old_values = None diff --git a/lib/mpl_toolkits/mplot3d/axes3d.py b/lib/mpl_toolkits/mplot3d/axes3d.py index 133e0320ddf9..078fe382dfaf 100644 --- a/lib/mpl_toolkits/mplot3d/axes3d.py +++ b/lib/mpl_toolkits/mplot3d/axes3d.py @@ -99,11 +99,9 @@ def __init__(self, fig, rect=None, *args, **kwargs): self._shared_z_axes.join(self, sharez) self._adjustable = 'datalim' - super(Axes3D, self).__init__(fig, rect, - frameon=True, - *args, **kwargs) + super().__init__(fig, rect, frameon=True, *args, **kwargs) # Disable drawing of axes by base class - super(Axes3D, self).set_axis_off() + super().set_axis_off() # Enable drawing of axes by Axes3D class self.set_axis_on() self.M = None @@ -163,8 +161,7 @@ def _process_unit_info(self, xdata=None, ydata=None, zdata=None, Look for unit *kwargs* and update the axis instances as necessary """ - super(Axes3D, self)._process_unit_info(xdata=xdata, ydata=ydata, - kwargs=kwargs) + super()._process_unit_info(xdata=xdata, ydata=ydata, kwargs=kwargs) if self.xaxis is None or self.yaxis is None or self.zaxis is None: return @@ -194,8 +191,8 @@ def set_top_view(self): # This is purposely using the 2D Axes's set_xlim and set_ylim, # because we are trying to place our viewing pane. - super(Axes3D, self).set_xlim(-xdwl, xdw, auto=None) - super(Axes3D, self).set_ylim(-ydwl, ydw, auto=None) + super().set_xlim(-xdwl, xdw, auto=None) + super().set_ylim(-ydwl, ydw, auto=None) def _init_axis(self): '''Init 3D axes; overrides creation of regular X/Y axes''' @@ -213,10 +210,10 @@ def _init_axis(self): ax.init3d() def get_children(self): - return [self.zaxis, ] + super(Axes3D, self).get_children() + return [self.zaxis, ] + super().get_children() def _get_axis_list(self): - return super(Axes3D, self)._get_axis_list() + (self.zaxis, ) + return super()._get_axis_list() + (self.zaxis, ) def unit_cube(self, vals=None): minx, maxx, miny, maxy, minz, maxz = vals or self.get_w_lims() @@ -298,7 +295,7 @@ def draw(self, renderer): ax.draw(renderer) # Then rest - super(Axes3D, self).draw(renderer) + super().draw(renderer) def get_axis_position(self): vals = self.get_w_lims() @@ -327,7 +324,7 @@ def get_autoscale_on(self): .. versionadded :: 1.1.0 This function was added, but not tested. Please report any bugs. """ - return super(Axes3D, self).get_autoscale_on() and self.get_autoscalez_on() + return super().get_autoscale_on() and self.get_autoscalez_on() def get_autoscalez_on(self): """ @@ -350,7 +347,7 @@ def set_autoscale_on(self, b): b : bool .. ACCEPTS: bool """ - super(Axes3D, self).set_autoscale_on(b) + super().set_autoscale_on(b) self.set_autoscalez_on(b) def set_autoscalez_on(self, b): @@ -1098,7 +1095,7 @@ def cla(self): # Disabling mouse interaction might have been needed a long # time ago, but I can't find a reason for it now - BVR (2012-03) #self.disable_mouse_rotation() - super(Axes3D, self).cla() + super().cla() self.zaxis.cla() if self._sharez is not None: @@ -1442,7 +1439,7 @@ def tick_params(self, axis='both', **kwargs): .. versionadded :: 1.1.0 This function was added, but not tested. Please report any bugs. """ - super(Axes3D, self).tick_params(axis, **kwargs) + super().tick_params(axis, **kwargs) if axis in ['z', 'both'] : zkw = dict(kwargs) zkw.pop('top', None) @@ -1522,7 +1519,7 @@ def text(self, x, y, z, s, zdir=None, **kwargs): except for the `zdir` keyword, which sets the direction to be used as the z direction. ''' - text = super(Axes3D, self).text(x, y, s, **kwargs) + text = super().text(x, y, s, **kwargs) art3d.text_2d_to_3d(text, z, zdir) return text @@ -1564,7 +1561,7 @@ def plot(self, xs, ys, *args, **kwargs): # Match length zs = _backports.broadcast_to(zs, len(xs)) - lines = super(Axes3D, self).plot(xs, ys, *args, **kwargs) + lines = super().plot(xs, ys, *args, **kwargs) for line in lines: art3d.line_2d_to_3d(line, zs=zs, zdir=zdir) @@ -2127,7 +2124,7 @@ def contour(self, X, Y, Z, *args, **kwargs): had_data = self.has_data() jX, jY, jZ = art3d.rotate_axes(X, Y, Z, zdir) - cset = super(Axes3D, self).contour(jX, jY, jZ, *args, **kwargs) + cset = super().contour(jX, jY, jZ, *args, **kwargs) self.add_contour_set(cset, extend3d, stride, zdir, offset) self.auto_scale_xyz(X, Y, Z, had_data) @@ -2184,7 +2181,7 @@ def tricontour(self, *args, **kwargs): jX, jY, jZ = art3d.rotate_axes(X, Y, Z, zdir) tri = Triangulation(jX, jY, tri.triangles, tri.mask) - cset = super(Axes3D, self).tricontour(tri, jZ, *args, **kwargs) + cset = super().tricontour(tri, jZ, *args, **kwargs) self.add_contour_set(cset, extend3d, stride, zdir, offset) self.auto_scale_xyz(X, Y, Z, had_data) @@ -2219,7 +2216,7 @@ def contourf(self, X, Y, Z, *args, **kwargs): had_data = self.has_data() jX, jY, jZ = art3d.rotate_axes(X, Y, Z, zdir) - cset = super(Axes3D, self).contourf(jX, jY, jZ, *args, **kwargs) + cset = super().contourf(jX, jY, jZ, *args, **kwargs) self.add_contourf_set(cset, zdir, offset) self.auto_scale_xyz(X, Y, Z, had_data) @@ -2271,7 +2268,7 @@ def tricontourf(self, *args, **kwargs): jX, jY, jZ = art3d.rotate_axes(X, Y, Z, zdir) tri = Triangulation(jX, jY, tri.triangles, tri.mask) - cset = super(Axes3D, self).tricontourf(tri, jZ, *args, **kwargs) + cset = super().tricontourf(tri, jZ, *args, **kwargs) self.add_contourf_set(cset, zdir, offset) self.auto_scale_xyz(X, Y, Z, had_data) @@ -2308,7 +2305,7 @@ def add_collection3d(self, col, zs=0, zdir='z'): art3d.patch_collection_2d_to_3d(col, zs=zs, zdir=zdir) col.set_sort_zpos(zsortval) - super(Axes3D, self).add_collection(col) + super().add_collection(col) def scatter(self, xs, ys, zs=0, zdir='z', s=20, c=None, depthshade=True, *args, **kwargs): @@ -2357,8 +2354,7 @@ def scatter(self, xs, ys, zs=0, zdir='z', s=20, c=None, depthshade=True, xs, ys, zs, s, c = cbook.delete_masked_points(xs, ys, zs, s, c) - patches = super(Axes3D, self).scatter( - xs, ys, s=s, c=c, *args, **kwargs) + patches = super().scatter(xs, ys, s=s, c=c, *args, **kwargs) is_2d = not cbook.iterable(zs) zs = _backports.broadcast_to(zs, len(xs)) art3d.patch_collection_2d_to_3d(patches, zs=zs, zdir=zdir, @@ -2397,7 +2393,7 @@ def bar(self, left, height, zs=0, zdir='z', *args, **kwargs): had_data = self.has_data() - patches = super(Axes3D, self).bar(left, height, *args, **kwargs) + patches = super().bar(left, height, *args, **kwargs) zs = _backports.broadcast_to(zs, len(left)) @@ -2540,8 +2536,7 @@ def bar3d(self, x, y, z, dx, dy, dz, color=None, return col def set_title(self, label, fontdict=None, loc='center', **kwargs): - ret = super(Axes3D, self).set_title(label, fontdict=fontdict, loc=loc, - **kwargs) + ret = super().set_title(label, fontdict=fontdict, loc=loc, **kwargs) (x, y) = self.title.get_position() self.title.set_y(0.92 * y) return ret diff --git a/setupext.py b/setupext.py index 9063bb3c7fd0..c4dd4d1cdf62 100644 --- a/setupext.py +++ b/setupext.py @@ -793,7 +793,7 @@ class Tests(OptionalPackage): default_config = False def check(self): - super(Tests, self).check() + super().check() msgs = [] msg_template = ('{package} is required to run the Matplotlib test ' @@ -891,7 +891,7 @@ class DelayedExtension(Extension, object): on the system. """ def __init__(self, *args, **kwargs): - super(DelayedExtension, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) self._finalized = False self._hooks = {} diff --git a/tools/triage_tests.py b/tools/triage_tests.py index d6eafa1cc825..7c25665c37b0 100644 --- a/tools/triage_tests.py +++ b/tools/triage_tests.py @@ -54,7 +54,7 @@ class Thumbnail(QtWidgets.QFrame): Represents one of the three thumbnails at the top of the window. """ def __init__(self, parent, index, name): - super(Thumbnail, self).__init__() + super().__init__() self.parent = parent self.index = index @@ -82,7 +82,7 @@ class ListWidget(QtWidgets.QListWidget): The list of files on the left-hand side """ def __init__(self, parent): - super(ListWidget, self).__init__() + super().__init__() self.parent = parent self.currentRowChanged.connect(self.change_row) @@ -95,7 +95,7 @@ class EventFilter(QtCore.QObject): # by the individual widgets def __init__(self, window): - super(EventFilter, self).__init__() + super().__init__() self.window = window def eventFilter(self, receiver, event): @@ -104,7 +104,7 @@ def eventFilter(self, receiver, event): return True else: return False - return super(EventFilter, self).eventFilter(receiver, event) + return super().eventFilter(receiver, event) class Dialog(QtWidgets.QDialog): @@ -112,7 +112,7 @@ class Dialog(QtWidgets.QDialog): The main dialog window. """ def __init__(self, entries): - super(Dialog, self).__init__() + super().__init__() self.entries = entries self.current_entry = -1 @@ -220,7 +220,7 @@ def keyPressEvent(self, e): elif e.key() == QtCore.Qt.Key_R: self.reject_test() else: - super(Dialog, self).keyPressEvent(e) + super().keyPressEvent(e) class Entry(object): From 675e6b514ff7a95f7cfa4eb8d6024b58d50970c2 Mon Sep 17 00:00:00 2001 From: Importance of Being Ernest Date: Mon, 19 Feb 2018 13:35:57 +0100 Subject: [PATCH 0117/1161] Update matplotlibrc.template Update matplotlib.template with all currently supported rcParams --- matplotlibrc.template | 1028 +++++++++++++++++++++-------------------- 1 file changed, 522 insertions(+), 506 deletions(-) diff --git a/matplotlibrc.template b/matplotlibrc.template index aec7366fdd82..45debfb37526 100644 --- a/matplotlibrc.template +++ b/matplotlibrc.template @@ -1,116 +1,116 @@ -### MATPLOTLIBRC FORMAT - -# This is a sample matplotlib configuration file - you can find a copy -# of it on your system in -# site-packages/matplotlib/mpl-data/matplotlibrc. If you edit it -# there, please note that it will be overwritten in your next install. -# If you want to keep a permanent local copy that will not be -# overwritten, place it in the following location: -# unix/linux: -# $HOME/.config/matplotlib/matplotlibrc or -# $XDG_CONFIG_HOME/matplotlib/matplotlibrc (if $XDG_CONFIG_HOME is set) -# other platforms: -# $HOME/.matplotlib/matplotlibrc -# -# See http://matplotlib.org/users/customizing.html#the-matplotlibrc-file for -# more details on the paths which are checked for the configuration file. -# -# This file is best viewed in a editor which supports python mode -# syntax highlighting. Blank lines, or lines starting with a comment -# symbol, are ignored, as are trailing comments. Other lines must -# have the format -# key : val # optional comment -# -# Colors: for the color values below, you can either use - a -# matplotlib color string, such as r, k, or b - an rgb tuple, such as -# (1.0, 0.5, 0.0) - a hex string, such as ff00ff - a scalar -# grayscale intensity such as 0.75 - a legal html color name, e.g., red, -# blue, darkslategray - -#### CONFIGURATION BEGINS HERE - -# The default backend; one of GTK GTKAgg GTKCairo GTK3Agg GTK3Cairo -# MacOSX Qt4Agg Qt5Agg TkAgg WX WXAgg Agg Cairo GDK PS PDF SVG -# Template. -# You can also deploy your own backend outside of matplotlib by -# referring to the module name (which must be in the PYTHONPATH) as -# 'module://my_backend'. -# -# If you omit this parameter, it will always default to "Agg", which is a -# non-interactive backend. +#### MATPLOTLIBRC FORMAT + +## This is a sample matplotlib configuration file - you can find a copy +## of it on your system in +## site-packages/matplotlib/mpl-data/matplotlibrc. If you edit it +## there, please note that it will be overwritten in your next install. +## If you want to keep a permanent local copy that will not be +## overwritten, place it in the following location: +## unix/linux: +## $HOME/.config/matplotlib/matplotlibrc or +## $XDG_CONFIG_HOME/matplotlib/matplotlibrc (if $XDG_CONFIG_HOME is set) +## other platforms: +## $HOME/.matplotlib/matplotlibrc +## +## See http://matplotlib.org/users/customizing.html#the-matplotlibrc-file for +## more details on the paths which are checked for the configuration file. +## +## This file is best viewed in a editor which supports python mode +## syntax highlighting. Blank lines, or lines starting with a comment +## symbol, are ignored, as are trailing comments. Other lines must +## have the format +## key : val ## optional comment +## +## Colors: for the color values below, you can either use - a +## matplotlib color string, such as r, k, or b - an rgb tuple, such as +## (1.0, 0.5, 0.0) - a hex string, such as ff00ff - a scalar +## grayscale intensity such as 0.75 - a legal html color name, e.g., red, +## blue, darkslategray + +##### CONFIGURATION BEGINS HERE + +## The default backend; one of GTK GTKAgg GTKCairo GTK3Agg GTK3Cairo +## MacOSX Qt4Agg Qt5Agg TkAgg WX WXAgg Agg Cairo GDK PS PDF SVG +## Template. +## You can also deploy your own backend outside of matplotlib by +## referring to the module name (which must be in the PYTHONPATH) as +## 'module://my_backend'. +## +## If you omit this parameter, it will always default to "Agg", which is a +## non-interactive backend. backend : $TEMPLATE_BACKEND -# Note that this can be overridden by the environment variable -# QT_API used by Enthought Tool Suite (ETS); valid values are -# "pyqt" and "pyside". The "pyqt" setting has the side effect of -# forcing the use of Version 2 API for QString and QVariant. +## Note that this can be overridden by the environment variable +## QT_API used by Enthought Tool Suite (ETS); valid values are +## "pyqt" and "pyside". The "pyqt" setting has the side effect of +## forcing the use of Version 2 API for QString and QVariant. -# The port to use for the web server in the WebAgg backend. -# webagg.port : 8888 +## The port to use for the web server in the WebAgg backend. +#webagg.port : 8888 -# The address on which the WebAgg web server should be reachable -# webagg.address : 127.0.0.1 +## The address on which the WebAgg web server should be reachable +#webagg.address : 127.0.0.1 -# If webagg.port is unavailable, a number of other random ports will -# be tried until one that is available is found. -# webagg.port_retries : 50 +## If webagg.port is unavailable, a number of other random ports will +## be tried until one that is available is found. +#webagg.port_retries : 50 -# When True, open the webbrowser to the plot that is shown -# webagg.open_in_browser : True +## When True, open the webbrowser to the plot that is shown +#webagg.open_in_browser : True -# if you are running pyplot inside a GUI and your backend choice -# conflicts, we will automatically try to find a compatible one for -# you if backend_fallback is True +## if you are running pyplot inside a GUI and your backend choice +## conflicts, we will automatically try to find a compatible one for +## you if backend_fallback is True #backend_fallback: True #interactive : False -#toolbar : toolbar2 # None | toolbar2 ("classic" is deprecated) -#timezone : UTC # a pytz timezone string, e.g., US/Central or Europe/Paris +#toolbar : toolbar2 ## None | toolbar2 ("classic" is deprecated) +#timezone : UTC ## a pytz timezone string, e.g., US/Central or Europe/Paris -# Where your matplotlib data lives if you installed to a non-default -# location. This is where the matplotlib fonts, bitmaps, etc reside +## Where your matplotlib data lives if you installed to a non-default +## location. This is where the matplotlib fonts, bitmaps, etc reside #datapath : /home/jdhunter/mpldata -### LINES -# See http://matplotlib.org/api/artist_api.html#module-matplotlib.lines for more -# information on line properties. -#lines.linewidth : 1.5 # line width in points -#lines.linestyle : - # solid line -#lines.color : C0 # has no affect on plot(); see axes.prop_cycle -#lines.marker : None # the default marker -#lines.markeredgewidth : 1.0 # the line width around the marker symbol -#lines.markersize : 6 # markersize, in points -#lines.dash_joinstyle : miter # miter|round|bevel -#lines.dash_capstyle : butt # butt|round|projecting -#lines.solid_joinstyle : miter # miter|round|bevel -#lines.solid_capstyle : projecting # butt|round|projecting -#lines.antialiased : True # render lines in antialiased (no jaggies) - -# The three standard dash patterns. These are scaled by the linewidth. +#### LINES +## See http://matplotlib.org/api/artist_api.html#module-matplotlib.lines for more +## information on line properties. +#lines.linewidth : 1.5 ## line width in points +#lines.linestyle : - ## solid line +#lines.color : C0 ## has no affect on plot(); see axes.prop_cycle +#lines.marker : None ## the default marker +#lines.markeredgewidth : 1.0 ## the line width around the marker symbol +#lines.markersize : 6 ## markersize, in points +#lines.dash_joinstyle : miter ## miter|round|bevel +#lines.dash_capstyle : butt ## butt|round|projecting +#lines.solid_joinstyle : miter ## miter|round|bevel +#lines.solid_capstyle : projecting ## butt|round|projecting +#lines.antialiased : True ## render lines in antialiased (no jaggies) + +## The three standard dash patterns. These are scaled by the linewidth. #lines.dashed_pattern : 2.8, 1.2 #lines.dashdot_pattern : 4.8, 1.2, 0.8, 1.2 #lines.dotted_pattern : 1.1, 1.1 #lines.scale_dashes : True -#markers.fillstyle: full # full|left|right|bottom|top|none +#markers.fillstyle: full ## full|left|right|bottom|top|none -### PATCHES -# Patches are graphical objects that fill 2D space, like polygons or -# circles. See -# http://matplotlib.org/api/artist_api.html#module-matplotlib.patches -# information on patch properties -#patch.linewidth : 1 # edge width in points. +#### PATCHES +## Patches are graphical objects that fill 2D space, like polygons or +## circles. See +## http://matplotlib.org/api/artist_api.html#module-matplotlib.patches +## information on patch properties +#patch.linewidth : 1 ## edge width in points. #patch.facecolor : C0 -#patch.edgecolor : black # if forced, or patch is not filled -#patch.force_edgecolor : False # True to always use edgecolor -#patch.antialiased : True # render patches in antialiased (no jaggies) +#patch.edgecolor : black ## if forced, or patch is not filled +#patch.force_edgecolor : False ## True to always use edgecolor +#patch.antialiased : True ## render patches in antialiased (no jaggies) -### HATCHES +#### HATCHES #hatch.color : k #hatch.linewidth : 1.0 -### Boxplot +#### Boxplot #boxplot.notch : False #boxplot.vertical : True #boxplot.whiskers : 1.5 @@ -154,52 +154,53 @@ backend : $TEMPLATE_BACKEND #boxplot.meanprops.linestyle : none #boxplot.meanprops.linewidth : 1.0 -### FONT -# -# font properties used by text.Text. See -# http://matplotlib.org/api/font_manager_api.html for more -# information on font properties. The 6 font properties used for font -# matching are given below with their default values. -# -# The font.family property has five values: 'serif' (e.g., Times), -# 'sans-serif' (e.g., Helvetica), 'cursive' (e.g., Zapf-Chancery), -# 'fantasy' (e.g., Western), and 'monospace' (e.g., Courier). Each of -# these font families has a default list of font names in decreasing -# order of priority associated with them. When text.usetex is False, -# font.family may also be one or more concrete font names. -# -# The font.style property has three values: normal (or roman), italic -# or oblique. The oblique style will be used for italic, if it is not -# present. -# -# The font.variant property has two values: normal or small-caps. For -# TrueType fonts, which are scalable fonts, small-caps is equivalent -# to using a font size of 'smaller', or about 83%% of the current font -# size. -# -# The font.weight property has effectively 13 values: normal, bold, -# bolder, lighter, 100, 200, 300, ..., 900. Normal is the same as -# 400, and bold is 700. bolder and lighter are relative values with -# respect to the current weight. -# -# The font.stretch property has 11 values: ultra-condensed, -# extra-condensed, condensed, semi-condensed, normal, semi-expanded, -# expanded, extra-expanded, ultra-expanded, wider, and narrower. This -# property is not currently implemented. -# -# The font.size property is the default font size for text, given in pts. -# 10 pt is the standard value. -# + +#### FONT + +## font properties used by text.Text. See +## http://matplotlib.org/api/font_manager_api.html for more +## information on font properties. The 6 font properties used for font +## matching are given below with their default values. +## +## The font.family property has five values: 'serif' (e.g., Times), +## 'sans-serif' (e.g., Helvetica), 'cursive' (e.g., Zapf-Chancery), +## 'fantasy' (e.g., Western), and 'monospace' (e.g., Courier). Each of +## these font families has a default list of font names in decreasing +## order of priority associated with them. When text.usetex is False, +## font.family may also be one or more concrete font names. +## +## The font.style property has three values: normal (or roman), italic +## or oblique. The oblique style will be used for italic, if it is not +## present. +## +## The font.variant property has two values: normal or small-caps. For +## TrueType fonts, which are scalable fonts, small-caps is equivalent +## to using a font size of 'smaller', or about 83%% of the current font +## size. +## +## The font.weight property has effectively 13 values: normal, bold, +## bolder, lighter, 100, 200, 300, ..., 900. Normal is the same as +## 400, and bold is 700. bolder and lighter are relative values with +## respect to the current weight. +## +## The font.stretch property has 11 values: ultra-condensed, +## extra-condensed, condensed, semi-condensed, normal, semi-expanded, +## expanded, extra-expanded, ultra-expanded, wider, and narrower. This +## property is not currently implemented. +## +## The font.size property is the default font size for text, given in pts. +## 10 pt is the standard value. + #font.family : sans-serif #font.style : normal #font.variant : normal #font.weight : medium #font.stretch : normal -# note that font.size controls default text sizes. To configure -# special text sizes tick labels, axes, labels, title, etc, see the rc -# settings for axes and ticks. Special text sizes can be defined -# relative to font.size, using the following values: xx-small, x-small, -# small, medium, large, x-large, xx-large, larger, or smaller +## note that font.size controls default text sizes. To configure +## special text sizes tick labels, axes, labels, title, etc, see the rc +## settings for axes and ticks. Special text sizes can be defined +## relative to font.size, using the following values: xx-small, x-small, +## small, medium, large, x-large, xx-large, larger, or smaller #font.size : 10.0 #font.serif : DejaVu Serif, Bitstream Vera Serif, New Century Schoolbook, Century Schoolbook L, Utopia, ITC Bookman, Bookman, Nimbus Roman No9 L, Times New Roman, Times, Palatino, Charter, serif #font.sans-serif : DejaVu Sans, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif @@ -207,394 +208,409 @@ backend : $TEMPLATE_BACKEND #font.fantasy : Comic Sans MS, Chicago, Charcoal, Impact, Western, Humor Sans, xkcd, fantasy #font.monospace : DejaVu Sans Mono, Bitstream Vera Sans Mono, Andale Mono, Nimbus Mono L, Courier New, Courier, Fixed, Terminal, monospace -### TEXT -# text properties used by text.Text. See -# http://matplotlib.org/api/artist_api.html#module-matplotlib.text for more -# information on text properties - +#### TEXT +## text properties used by text.Text. See +## http://matplotlib.org/api/artist_api.html#module-matplotlib.text for more +## information on text properties #text.color : black -### LaTeX customizations. See http://wiki.scipy.org/Cookbook/Matplotlib/UsingTex -#text.usetex : False # use latex for all text handling. The following fonts - # are supported through the usual rc parameter settings: - # new century schoolbook, bookman, times, palatino, - # zapf chancery, charter, serif, sans-serif, helvetica, - # avant garde, courier, monospace, computer modern roman, - # computer modern sans serif, computer modern typewriter - # If another font is desired which can loaded using the - # LaTeX \usepackage command, please inquire at the - # matplotlib mailing list -#text.latex.unicode : False # use "ucs" and "inputenc" LaTeX packages for handling - # unicode strings. -#text.latex.preamble : # IMPROPER USE OF THIS FEATURE WILL LEAD TO LATEX FAILURES - # AND IS THEREFORE UNSUPPORTED. PLEASE DO NOT ASK FOR HELP - # IF THIS FEATURE DOES NOT DO WHAT YOU EXPECT IT TO. - # preamble is a comma separated list of LaTeX statements - # that are included in the LaTeX document preamble. - # An example: - # text.latex.preamble : \usepackage{bm},\usepackage{euler} - # The following packages are always loaded with usetex, so - # beware of package collisions: color, geometry, graphicx, - # type1cm, textcomp. Adobe Postscript (PSSNFS) font packages - # may also be loaded, depending on your font settings -#text.hinting : auto # May be one of the following: - # 'none': Perform no hinting - # 'auto': Use FreeType's autohinter - # 'native': Use the hinting information in the - # font file, if available, and if your - # FreeType library supports it - # 'either': Use the native hinting information, - # or the autohinter if none is available. - # For backward compatibility, this value may also be - # True === 'auto' or False === 'none'. -#text.hinting_factor : 8 # Specifies the amount of softness for hinting in the - # horizontal direction. A value of 1 will hint to full - # pixels. A value of 2 will hint to half pixels etc. - -#text.antialiased : True # If True (default), the text will be antialiased. - # This only affects the Agg backend. - -# The following settings allow you to select the fonts in math mode. -# They map from a TeX font name to a fontconfig font pattern. -# These settings are only used if mathtext.fontset is 'custom'. -# Note that this "custom" mode is unsupported and may go away in the -# future. +#### LaTeX customizations. See http://wiki.scipy.org/Cookbook/Matplotlib/UsingTex +#text.usetex : False ## use latex for all text handling. The following fonts + ## are supported through the usual rc parameter settings: + ## new century schoolbook, bookman, times, palatino, + ## zapf chancery, charter, serif, sans-serif, helvetica, + ## avant garde, courier, monospace, computer modern roman, + ## computer modern sans serif, computer modern typewriter + ## If another font is desired which can loaded using the + ## LaTeX \usepackage command, please inquire at the + ## matplotlib mailing list +#text.latex.unicode : False ## use "ucs" and "inputenc" LaTeX packages for handling + ## unicode strings. +#text.latex.preamble : ## IMPROPER USE OF THIS FEATURE WILL LEAD TO LATEX FAILURES + ## AND IS THEREFORE UNSUPPORTED. PLEASE DO NOT ASK FOR HELP + ## IF THIS FEATURE DOES NOT DO WHAT YOU EXPECT IT TO. + ## preamble is a comma separated list of LaTeX statements + ## that are included in the LaTeX document preamble. + ## An example: + ## text.latex.preamble : \usepackage{bm},\usepackage{euler} + ## The following packages are always loaded with usetex, so + ## beware of package collisions: color, geometry, graphicx, + ## type1cm, textcomp. Adobe Postscript (PSSNFS) font packages + ## may also be loaded, depending on your font settings +#text.latex.preview : False + +#text.hinting : auto ## May be one of the following: + ## 'none': Perform no hinting + ## 'auto': Use FreeType's autohinter + ## 'native': Use the hinting information in the + # font file, if available, and if your + # FreeType library supports it + ## 'either': Use the native hinting information, + # or the autohinter if none is available. + ## For backward compatibility, this value may also be + ## True === 'auto' or False === 'none'. +#text.hinting_factor : 8 ## Specifies the amount of softness for hinting in the + ## horizontal direction. A value of 1 will hint to full + ## pixels. A value of 2 will hint to half pixels etc. +#text.antialiased : True ## If True (default), the text will be antialiased. + ## This only affects the Agg backend. + +## The following settings allow you to select the fonts in math mode. +## They map from a TeX font name to a fontconfig font pattern. +## These settings are only used if mathtext.fontset is 'custom'. +## Note that this "custom" mode is unsupported and may go away in the +## future. #mathtext.cal : cursive #mathtext.rm : serif #mathtext.tt : monospace #mathtext.it : serif:italic #mathtext.bf : serif:bold #mathtext.sf : sans -#mathtext.fontset : dejavusans # Should be 'dejavusans' (default), - # 'dejavuserif', 'cm' (Computer Modern), 'stix', - # 'stixsans' or 'custom' -#mathtext.fallback_to_cm : True # When True, use symbols from the Computer Modern - # fonts when a symbol can not be found in one of - # the custom math fonts. - -#mathtext.default : it # The default font to use for math. - # Can be any of the LaTeX font names, including - # the special name "regular" for the same font - # used in regular text. - -### AXES -# default face and edge color, default tick sizes, -# default fontsizes for ticklabels, and so on. See -# http://matplotlib.org/api/axes_api.html#module-matplotlib.axes -#axes.facecolor : white # axes background color -#axes.edgecolor : black # axes edge color -#axes.linewidth : 0.8 # edge linewidth -#axes.grid : False # display grid or not -#axes.titlesize : large # fontsize of the axes title -#axes.titlepad : 6.0 # pad between axes and title in points -#axes.labelsize : medium # fontsize of the x any y labels -#axes.labelpad : 4.0 # space between label and axis -#axes.labelweight : normal # weight of the x and y labels +#mathtext.fontset : dejavusans ## Should be 'dejavusans' (default), + ## 'dejavuserif', 'cm' (Computer Modern), 'stix', + ## 'stixsans' or 'custom' +#mathtext.fallback_to_cm : True ## When True, use symbols from the Computer Modern + ## fonts when a symbol can not be found in one of + ## the custom math fonts. +#mathtext.default : it ## The default font to use for math. + ## Can be any of the LaTeX font names, including + ## the special name "regular" for the same font + ## used in regular text. + +#### AXES +## default face and edge color, default tick sizes, +## default fontsizes for ticklabels, and so on. See +## http://matplotlib.org/api/axes_api.html#module-matplotlib.axes +#axes.facecolor : white ## axes background color +#axes.edgecolor : black ## axes edge color +#axes.linewidth : 0.8 ## edge linewidth +#axes.grid : False ## display grid or not +#axes.grid.axis : both ## which axis the grid should apply to +#axes.grid.which : major ## gridlines at major, minor or both ticks +#axes.titlesize : large ## fontsize of the axes title +#axes.titleweight : normal ## font weight of title +#axes.titlepad : 6.0 ## pad between axes and title in points +#axes.labelsize : medium ## fontsize of the x any y labels +#axes.labelpad : 4.0 ## space between label and axis +#axes.labelweight : normal ## weight of the x and y labels #axes.labelcolor : black -#axes.axisbelow : line # draw axis gridlines and ticks below - # patches (True); above patches but below - # lines ('line'); or above all (False) - -#axes.formatter.limits : -7, 7 # use scientific notation if log10 - # of the axis range is smaller than the - # first or larger than the second -#axes.formatter.use_locale : False # When True, format tick labels - # according to the user's locale. - # For example, use ',' as a decimal - # separator in the fr_FR locale. -#axes.formatter.use_mathtext : False # When True, use mathtext for scientific - # notation. -#axes.formatter.min_exponent: 0 # minimum exponent to format in scientific notation -#axes.formatter.useoffset : True # If True, the tick label formatter - # will default to labeling ticks relative - # to an offset when the data range is - # small compared to the minimum absolute - # value of the data. -#axes.formatter.offset_threshold : 4 # When useoffset is True, the offset - # will be used when it can remove - # at least this number of significant - # digits from tick labels. - -# axes.spines.left : True # display axis spines -# axes.spines.bottom : True -# axes.spines.top : True -# axes.spines.right : True - - -#axes.unicode_minus : True # use unicode for the minus symbol - # rather than hyphen. See - # http://en.wikipedia.org/wiki/Plus_and_minus_signs#Character_codes -# axes.prop_cycle : cycler('color', ['1f77b4', 'ff7f0e', '2ca02c', 'd62728', '9467bd', '8c564b', 'e377c2', '7f7f7f', 'bcbd22', '17becf']) - # color cycle for plot lines as list of string - # colorspecs: single letter, long name, or web-style hex -#axes.autolimit_mode : data # How to scale axes limits to the data. - # Use "data" to use data limits, plus some margin - # Use "round_number" move to the nearest "round" number -#axes.xmargin : .05 # x margin. See `axes.Axes.margins` -#axes.ymargin : .05 # y margin See `axes.Axes.margins` - -#polaraxes.grid : True # display grid on polar axes -#axes3d.grid : True # display grid on 3d axes - -### DATES -# These control the default format strings used in AutoDateFormatter. -# Any valid format datetime format string can be used (see the python -# `datetime` for details). For example using '%%x' will use the locale date representation -# '%%X' will use the locale time representation and '%%c' will use the full locale datetime -# representation. -# These values map to the scales: -# {'year': 365, 'month': 30, 'day': 1, 'hour': 1/24, 'minute': 1 / (24 * 60)} - -# date.autoformatter.year : %Y -# date.autoformatter.month : %Y-%m -# date.autoformatter.day : %Y-%m-%d -# date.autoformatter.hour : %m-%d %H -# date.autoformatter.minute : %d %H:%M -# date.autoformatter.second : %H:%M:%S -# date.autoformatter.microsecond : %M:%S.%f - -### TICKS -# see http://matplotlib.org/api/axis_api.html#matplotlib.axis.Tick -#xtick.top : False # draw ticks on the top side -#xtick.bottom : True # draw ticks on the bottom side -#xtick.labeltop : False # draw label on the top -#xtick.labelbottom : True # draw label on the bottom -#xtick.major.size : 3.5 # major tick size in points -#xtick.minor.size : 2 # minor tick size in points -#xtick.major.width : 0.8 # major tick width in points -#xtick.minor.width : 0.6 # minor tick width in points -#xtick.major.pad : 3.5 # distance to major tick label in points -#xtick.minor.pad : 3.4 # distance to the minor tick label in points -#xtick.color : k # color of the tick labels -#xtick.labelsize : medium # fontsize of the tick labels -#xtick.direction : out # direction: in, out, or inout -#xtick.minor.visible : False # visibility of minor ticks on x-axis -#xtick.major.top : True # draw x axis top major ticks -#xtick.major.bottom : True # draw x axis bottom major ticks -#xtick.minor.top : True # draw x axis top minor ticks -#xtick.minor.bottom : True # draw x axis bottom minor ticks - -#ytick.left : True # draw ticks on the left side -#ytick.right : False # draw ticks on the right side -#ytick.labelleft : True # draw tick labels on the left side -#ytick.labelright : False # draw tick labels on the right side -#ytick.major.size : 3.5 # major tick size in points -#ytick.minor.size : 2 # minor tick size in points -#ytick.major.width : 0.8 # major tick width in points -#ytick.minor.width : 0.6 # minor tick width in points -#ytick.major.pad : 3.5 # distance to major tick label in points -#ytick.minor.pad : 3.4 # distance to the minor tick label in points -#ytick.color : k # color of the tick labels -#ytick.labelsize : medium # fontsize of the tick labels -#ytick.direction : out # direction: in, out, or inout -#ytick.minor.visible : False # visibility of minor ticks on y-axis -#ytick.major.left : True # draw y axis left major ticks -#ytick.major.right : True # draw y axis right major ticks -#ytick.minor.left : True # draw y axis left minor ticks -#ytick.minor.right : True # draw y axis right minor ticks - - -### GRIDS -#grid.color : b0b0b0 # grid color -#grid.linestyle : - # solid -#grid.linewidth : 0.8 # in points -#grid.alpha : 1.0 # transparency, between 0.0 and 1.0 - -### Legend +#axes.axisbelow : line ## draw axis gridlines and ticks below + ## patches (True); above patches but below + ## lines ('line'); or above all (False) +#axes.formatter.limits : -7, 7 ## use scientific notation if log10 + ## of the axis range is smaller than the + ## first or larger than the second +#axes.formatter.use_locale : False ## When True, format tick labels + ## according to the user's locale. + ## For example, use ',' as a decimal + ## separator in the fr_FR locale. +#axes.formatter.use_mathtext : False ## When True, use mathtext for scientific + ## notation. +#axes.formatter.min_exponent: 0 ## minimum exponent to format in scientific notation +#axes.formatter.useoffset : True ## If True, the tick label formatter + ## will default to labeling ticks relative + ## to an offset when the data range is + ## small compared to the minimum absolute + ## value of the data. +#axes.formatter.offset_threshold : 4 ## When useoffset is True, the offset + ## will be used when it can remove + ## at least this number of significant + ## digits from tick labels. +#axes.spines.left : True ## display axis spines +#axes.spines.bottom : True +#axes.spines.top : True +#axes.spines.right : True +#axes.unicode_minus : True ## use unicode for the minus symbol + ## rather than hyphen. See + ## http://en.wikipedia.org/wiki/Plus_and_minus_signs#Character_codes +#axes.prop_cycle : cycler('color', ['1f77b4', 'ff7f0e', '2ca02c', 'd62728', '9467bd', '8c564b', 'e377c2', '7f7f7f', 'bcbd22', '17becf']) + ## color cycle for plot lines as list of string + ## colorspecs: single letter, long name, or web-style hex +#axes.autolimit_mode : data ## How to scale axes limits to the data. + ## Use "data" to use data limits, plus some margin + ## Use "round_number" move to the nearest "round" number +#axes.xmargin : .05 ## x margin. See `axes.Axes.margins` +#axes.ymargin : .05 ## y margin See `axes.Axes.margins` +#polaraxes.grid : True ## display grid on polar axes +#axes3d.grid : True ## display grid on 3d axes + +#### DATES +## These control the default format strings used in AutoDateFormatter. +## Any valid format datetime format string can be used (see the python +## `datetime` for details). For example using '%%x' will use the locale date representation +## '%%X' will use the locale time representation and '%%c' will use the full locale datetime +## representation. +## These values map to the scales: +## {'year': 365, 'month': 30, 'day': 1, 'hour': 1/24, 'minute': 1 / (24 * 60)} + +#date.autoformatter.year : %Y +#date.autoformatter.month : %Y-%m +#date.autoformatter.day : %Y-%m-%d +#date.autoformatter.hour : %m-%d %H +#date.autoformatter.minute : %d %H:%M +#date.autoformatter.second : %H:%M:%S +#date.autoformatter.microsecond : %M:%S.%f + +#### TICKS +## see http://matplotlib.org/api/axis_api.html#matplotlib.axis.Tick +#xtick.top : False ## draw ticks on the top side +#xtick.bottom : True ## draw ticks on the bottom side +#xtick.labeltop : False ## draw label on the top +#xtick.labelbottom : True ## draw label on the bottom +#xtick.major.size : 3.5 ## major tick size in points +#xtick.minor.size : 2 ## minor tick size in points +#xtick.major.width : 0.8 ## major tick width in points +#xtick.minor.width : 0.6 ## minor tick width in points +#xtick.major.pad : 3.5 ## distance to major tick label in points +#xtick.minor.pad : 3.4 ## distance to the minor tick label in points +#xtick.color : k ## color of the tick labels +#xtick.labelsize : medium ## fontsize of the tick labels +#xtick.direction : out ## direction: in, out, or inout +#xtick.minor.visible : False ## visibility of minor ticks on x-axis +#xtick.major.top : True ## draw x axis top major ticks +#xtick.major.bottom : True ## draw x axis bottom major ticks +#xtick.minor.top : True ## draw x axis top minor ticks +#xtick.minor.bottom : True ## draw x axis bottom minor ticks +#xtick.alignment : center ## alignment of xticks + +#ytick.left : True ## draw ticks on the left side +#ytick.right : False ## draw ticks on the right side +#ytick.labelleft : True ## draw tick labels on the left side +#ytick.labelright : False ## draw tick labels on the right side +#ytick.major.size : 3.5 ## major tick size in points +#ytick.minor.size : 2 ## minor tick size in points +#ytick.major.width : 0.8 ## major tick width in points +#ytick.minor.width : 0.6 ## minor tick width in points +#ytick.major.pad : 3.5 ## distance to major tick label in points +#ytick.minor.pad : 3.4 ## distance to the minor tick label in points +#ytick.color : k ## color of the tick labels +#ytick.labelsize : medium ## fontsize of the tick labels +#ytick.direction : out ## direction: in, out, or inout +#ytick.minor.visible : False ## visibility of minor ticks on y-axis +#ytick.major.left : True ## draw y axis left major ticks +#ytick.major.right : True ## draw y axis right major ticks +#ytick.minor.left : True ## draw y axis left minor ticks +#ytick.minor.right : True ## draw y axis right minor ticks +#ytick.alignment : center_baseline ## alignment of yticks + +#### GRIDS +#grid.color : b0b0b0 ## grid color +#grid.linestyle : - ## solid +#grid.linewidth : 0.8 ## in points +#grid.alpha : 1.0 ## transparency, between 0.0 and 1.0 + +#### Legend #legend.loc : best -#legend.frameon : True # if True, draw the legend on a background patch -#legend.framealpha : 0.8 # legend patch transparency -#legend.facecolor : inherit # inherit from axes.facecolor; or color spec -#legend.edgecolor : 0.8 # background patch boundary color -#legend.fancybox : True # if True, use a rounded box for the - # legend background, else a rectangle -#legend.shadow : False # if True, give background a shadow effect -#legend.numpoints : 1 # the number of marker points in the legend line -#legend.scatterpoints : 1 # number of scatter points -#legend.markerscale : 1.0 # the relative size of legend markers vs. original +#legend.frameon : True ## if True, draw the legend on a background patch +#legend.framealpha : 0.8 ## legend patch transparency +#legend.facecolor : inherit ## inherit from axes.facecolor; or color spec +#legend.edgecolor : 0.8 ## background patch boundary color +#legend.fancybox : True ## if True, use a rounded box for the + ## legend background, else a rectangle +#legend.shadow : False ## if True, give background a shadow effect +#legend.numpoints : 1 ## the number of marker points in the legend line +#legend.scatterpoints : 1 ## number of scatter points +#legend.markerscale : 1.0 ## the relative size of legend markers vs. original #legend.fontsize : medium -# Dimensions as fraction of fontsize: -#legend.borderpad : 0.4 # border whitespace -#legend.labelspacing : 0.5 # the vertical space between the legend entries -#legend.handlelength : 2.0 # the length of the legend lines -#legend.handleheight : 0.7 # the height of the legend handle -#legend.handletextpad : 0.8 # the space between the legend line and legend text -#legend.borderaxespad : 0.5 # the border between the axes and legend edge -#legend.columnspacing : 2.0 # column separation - -### FIGURE -# See http://matplotlib.org/api/figure_api.html#matplotlib.figure.Figure -#figure.titlesize : large # size of the figure title (Figure.suptitle()) -#figure.titleweight : normal # weight of the figure title -#figure.figsize : 6.4, 4.8 # figure size in inches -#figure.dpi : 100 # figure dots per inch -#figure.facecolor : white # figure facecolor; 0.75 is scalar gray -#figure.edgecolor : white # figure edgecolor -#figure.autolayout : False # When True, automatically adjust subplot - # parameters to make the plot fit the figure - # using `tight_layout` -#figure.constrained_layout.use: False # When True, automatically make plot - # elements fit on the figure. (Not compatible - # with `autolayout`, above). -#figure.max_open_warning : 20 # The maximum number of figures to open through - # the pyplot interface before emitting a warning. - # If less than one this feature is disabled. - -# The figure subplot parameters. All dimensions are a fraction of the -#figure.subplot.left : 0.125 # the left side of the subplots of the figure -#figure.subplot.right : 0.9 # the right side of the subplots of the figure -#figure.subplot.bottom : 0.11 # the bottom of the subplots of the figure -#figure.subplot.top : 0.88 # the top of the subplots of the figure -#figure.subplot.wspace : 0.2 # the amount of width reserved for space between subplots, - # expressed as a fraction of the average axis width -#figure.subplot.hspace : 0.2 # the amount of height reserved for space between subplots, - # expressed as a fraction of the average axis height - - -### IMAGES -#image.aspect : equal # equal | auto | a number -#image.interpolation : nearest # see help(imshow) for options -#image.cmap : viridis # A colormap name, gray etc... -#image.lut : 256 # the size of the colormap lookup table -#image.origin : upper # lower | upper +## Dimensions as fraction of fontsize: +#legend.borderpad : 0.4 ## border whitespace +#legend.labelspacing : 0.5 ## the vertical space between the legend entries +#legend.handlelength : 2.0 ## the length of the legend lines +#legend.handleheight : 0.7 ## the height of the legend handle +#legend.handletextpad : 0.8 ## the space between the legend line and legend text +#legend.borderaxespad : 0.5 ## the border between the axes and legend edge +#legend.columnspacing : 2.0 ## column separation + +#### FIGURE +## See http://matplotlib.org/api/figure_api.html#matplotlib.figure.Figure +#figure.titlesize : large ## size of the figure title (Figure.suptitle()) +#figure.titleweight : normal ## weight of the figure title +#figure.figsize : 6.4, 4.8 ## figure size in inches +#figure.dpi : 100 ## figure dots per inch +#figure.facecolor : white ## figure facecolor; 0.75 is scalar gray +#figure.edgecolor : white ## figure edgecolor +#figure.frameon : True ## enable figure frame +#figure.max_open_warning : 20 ## The maximum number of figures to open through + ## the pyplot interface before emitting a warning. + ## If less than one this feature is disabled. +## The figure subplot parameters. All dimensions are a fraction of the +#figure.subplot.left : 0.125 ## the left side of the subplots of the figure +#figure.subplot.right : 0.9 ## the right side of the subplots of the figure +#figure.subplot.bottom : 0.11 ## the bottom of the subplots of the figure +#figure.subplot.top : 0.88 ## the top of the subplots of the figure +#figure.subplot.wspace : 0.2 ## the amount of width reserved for space between subplots, + ## expressed as a fraction of the average axis width +#figure.subplot.hspace : 0.2 ## the amount of height reserved for space between subplots, + ## expressed as a fraction of the average axis height + +## Figure layout +#figure.autolayout : False ## When True, automatically adjust subplot + ## parameters to make the plot fit the figure + ## using `tight_layout` +#figure.constrained_layout.use: False ## When True, automatically make plot + ## elements fit on the figure. (Not compatible + ## with `autolayout`, above). +#figure.constrained_layout.h_pad : 0.04167 ## Padding around axes objects. Float representing +#figure.constrained_layout.w_pad : 0.04167 ## inches. Default is 3./72. inches (3 pts) +#figure.constrained_layout.hspace : 0.02 ## Space between subplot groups. Float representing +#figure.constrained_layout.wspace : 0.02 ## a fraction of the subplot widths being separated. + +#### IMAGES +#image.aspect : equal ## equal | auto | a number +#image.interpolation : nearest ## see help(imshow) for options +#image.cmap : viridis ## A colormap name, gray etc... +#image.lut : 256 ## the size of the colormap lookup table +#image.origin : upper ## lower | upper #image.resample : True -#image.composite_image : True # When True, all the images on a set of axes are - # combined into a single composite image before - # saving a figure as a vector graphics file, - # such as a PDF. - -### CONTOUR PLOTS -#contour.negative_linestyle : dashed # string or on-off ink sequence -#contour.corner_mask : True # True | False | legacy - -### ERRORBAR PLOTS -#errorbar.capsize : 0 # length of end cap on error bars in pixels - -### HISTOGRAM PLOTS -#hist.bins : 10 # The default number of histogram bins. - # If Numpy 1.11 or later is - # installed, may also be `auto` - -### SCATTER PLOTS -#scatter.marker : o # The default marker type for scatter plots. - -### Agg rendering -### Warning: experimental, 2008/10/10 -#agg.path.chunksize : 0 # 0 to disable; values in the range - # 10000 to 100000 can improve speed slightly - # and prevent an Agg rendering failure - # when plotting very large data sets, - # especially if they are very gappy. - # It may cause minor artifacts, though. - # A value of 20000 is probably a good - # starting point. -### SAVING FIGURES -#path.simplify : True # When True, simplify paths by removing "invisible" - # points to reduce file size and increase rendering - # speed -#path.simplify_threshold : 0.1 # The threshold of similarity below which - # vertices will be removed in the simplification - # process -#path.snap : True # When True, rectilinear axis-aligned paths will be snapped to - # the nearest pixel when certain criteria are met. When False, - # paths will never be snapped. -#path.sketch : None # May be none, or a 3-tuple of the form (scale, length, - # randomness). - # *scale* is the amplitude of the wiggle - # perpendicular to the line (in pixels). *length* - # is the length of the wiggle along the line (in - # pixels). *randomness* is the factor by which - # the length is randomly scaled. - -# the default savefig params can be different from the display params -# e.g., you may want a higher resolution, or to make the figure -# background white -#savefig.dpi : figure # figure dots per inch or 'figure' -#savefig.facecolor : white # figure facecolor when saving -#savefig.edgecolor : white # figure edgecolor when saving -#savefig.format : png # png, ps, pdf, svg -#savefig.bbox : standard # 'tight' or 'standard'. - # 'tight' is incompatible with pipe-based animation - # backends but will workd with temporary file based ones: - # e.g. setting animation.writer to ffmpeg will not work, - # use ffmpeg_file instead -#savefig.pad_inches : 0.1 # Padding to be used when bbox is set to 'tight' -#savefig.jpeg_quality: 95 # when a jpeg is saved, the default quality parameter. -#savefig.directory : ~ # default directory in savefig dialog box, - # leave empty to always use current working directory -#savefig.transparent : False # setting that controls whether figures are saved with a - # transparent background by default - -# tk backend params -#tk.window_focus : False # Maintain shell focus for TkAgg - -# ps backend params -#ps.papersize : letter # auto, letter, legal, ledger, A0-A10, B0-B10 -#ps.useafm : False # use of afm fonts, results in small files -#ps.usedistiller : False # can be: None, ghostscript or xpdf - # Experimental: may produce smaller files. - # xpdf intended for production of publication quality files, - # but requires ghostscript, xpdf and ps2eps -#ps.distiller.res : 6000 # dpi -#ps.fonttype : 3 # Output Type 3 (Type3) or Type 42 (TrueType) - -## pdf backend params -#pdf.compression : 6 # integer from 0 to 9 - # 0 disables compression (good for debugging) -#pdf.fonttype : 3 # Output Type 3 (Type3) or Type 42 (TrueType) - -## svg backend params -#svg.image_inline : True # write raster image data directly into the svg file -#svg.fonttype : path # How to handle SVG fonts: -# 'none': Assume fonts are installed on the machine where the SVG will be viewed. -# 'path': Embed characters as paths -- supported by most SVG renderers -# 'svgfont': Embed characters as SVG fonts -- supported only by Chrome, -# Opera and Safari -#svg.hashsalt : None # if not None, use this string as hash salt - # instead of uuid4 - -# docstring params -#docstring.hardcopy = False # set this when you want to generate hardcopy docstring - -# Event keys to interact with figures/plots via keyboard. -# Customize these settings according to your needs. -# Leave the field(s) empty if you don't need a key-map. (i.e., fullscreen : '') - -#keymap.fullscreen : f, ctrl+f # toggling -#keymap.home : h, r, home # home or reset mnemonic -#keymap.back : left, c, backspace # forward / backward keys to enable -#keymap.forward : right, v # left handed quick navigation -#keymap.pan : p # pan mnemonic -#keymap.zoom : o # zoom mnemonic -#keymap.save : s # saving current figure -#keymap.quit : ctrl+w, cmd+w # close the current figure -#keymap.grid : g # switching on/off major grids in current axes -#keymap.grid_minor : G # switching on/off minor grids in current axes -#keymap.yscale : l # toggle scaling of y-axes ('log'/'linear') -#keymap.xscale : L, k # toggle scaling of x-axes ('log'/'linear') -#keymap.all_axes : a # enable all axes - -# Control location of examples data files -#examples.directory : '' # directory to look in for custom installation +#image.composite_image : True ## When True, all the images on a set of axes are + ## combined into a single composite image before + ## saving a figure as a vector graphics file, + ## such as a PDF. + +#### CONTOUR PLOTS +#contour.negative_linestyle : dashed ## string or on-off ink sequence +#contour.corner_mask : True ## True | False | legacy + +#### ERRORBAR PLOTS +#errorbar.capsize : 0 ## length of end cap on error bars in pixels + +#### HISTOGRAM PLOTS +#hist.bins : 10 ## The default number of histogram bins. + ## If Numpy 1.11 or later is + ## installed, may also be `auto` + +#### SCATTER PLOTS +#scatter.marker : o ## The default marker type for scatter plots. + +#### Agg rendering +#### Warning: experimental, 2008/10/10 +#agg.path.chunksize : 0 ## 0 to disable; values in the range + ## 10000 to 100000 can improve speed slightly + ## and prevent an Agg rendering failure + ## when plotting very large data sets, + ## especially if they are very gappy. + ## It may cause minor artifacts, though. + ## A value of 20000 is probably a good + ## starting point. +#### PATHS +#path.simplify : True ## When True, simplify paths by removing "invisible" + ## points to reduce file size and increase rendering + ## speed +#path.simplify_threshold : 0.1 ## The threshold of similarity below which + ## vertices will be removed in the simplification + ## process +#path.snap : True ## When True, rectilinear axis-aligned paths will be snapped to + ## the nearest pixel when certain criteria are met. When False, + ## paths will never be snapped. +#path.sketch : None ## May be none, or a 3-tuple of the form (scale, length, + ## randomness). + ## *scale* is the amplitude of the wiggle + ## perpendicular to the line (in pixels). *length* + ## is the length of the wiggle along the line (in + ## pixels). *randomness* is the factor by which + ## the length is randomly scaled. +#path.effects : [] # + +#### SAVING FIGURES +## the default savefig params can be different from the display params +## e.g., you may want a higher resolution, or to make the figure +## background white +#savefig.dpi : figure ## figure dots per inch or 'figure' +#savefig.facecolor : white ## figure facecolor when saving +#savefig.edgecolor : white ## figure edgecolor when saving +#savefig.format : png ## png, ps, pdf, svg +#savefig.bbox : standard ## 'tight' or 'standard'. + ## 'tight' is incompatible with pipe-based animation + ## backends but will workd with temporary file based ones: + ## e.g. setting animation.writer to ffmpeg will not work, + ## use ffmpeg_file instead +#savefig.pad_inches : 0.1 ## Padding to be used when bbox is set to 'tight' +#savefig.jpeg_quality: 95 ## when a jpeg is saved, the default quality parameter. +#savefig.directory : ~ ## default directory in savefig dialog box, + ## leave empty to always use current working directory +#savefig.transparent : False ## setting that controls whether figures are saved with a + ## transparent background by default +#savefig.frameon : True ## enable frame of figure when saving +#savefig.orientation : portrait ## Orientation of saved figure + +### tk backend params +#tk.window_focus : False ## Maintain shell focus for TkAgg + +### ps backend params +#ps.papersize : letter ## auto, letter, legal, ledger, A0-A10, B0-B10 +#ps.useafm : False ## use of afm fonts, results in small files +#ps.usedistiller : False ## can be: None, ghostscript or xpdf + ## Experimental: may produce smaller files. + ## xpdf intended for production of publication quality files, + ## but requires ghostscript, xpdf and ps2eps +#ps.distiller.res : 6000 ## dpi +#ps.fonttype : 3 ## Output Type 3 (Type3) or Type 42 (TrueType) + +### pdf backend params +#pdf.compression : 6 ## integer from 0 to 9 + ## 0 disables compression (good for debugging) +#pdf.fonttype : 3 ## Output Type 3 (Type3) or Type 42 (TrueType) +#pdf.use14corefonts : False +#pdf.inheritcolor : False + +### svg backend params +#svg.image_inline : True ## write raster image data directly into the svg file +#svg.fonttype : path ## How to handle SVG fonts: + ## 'none': Assume fonts are installed on the machine where the SVG will be viewed. + ## 'path': Embed characters as paths -- supported by most SVG renderers + ## 'svgfont': Embed characters as SVG fonts -- supported only by Chrome, + ## Opera and Safari +#svg.hashsalt : None ## if not None, use this string as hash salt + ## instead of uuid4 +### pgf parameter +#pgf.rcfonts : True +#pgf.preamble : [] +#pgf.texsystem : xelatex +#pgf.debug : False + +### docstring params +##docstring.hardcopy = False ## set this when you want to generate hardcopy docstring + +## Event keys to interact with figures/plots via keyboard. +## Customize these settings according to your needs. +## Leave the field(s) empty if you don't need a key-map. (i.e., fullscreen : '') +#keymap.fullscreen : f, ctrl+f ## toggling +#keymap.home : h, r, home ## home or reset mnemonic +#keymap.back : left, c, backspace ## forward / backward keys to enable +#keymap.forward : right, v ## left handed quick navigation +#keymap.pan : p ## pan mnemonic +#keymap.zoom : o ## zoom mnemonic +#keymap.save : s ## saving current figure +#keymap.quit : ctrl+w, cmd+w ## close the current figure +#keymap.quit_all : 'W', 'cmd+W', 'Q' ## close all figures +#keymap.grid : g ## switching on/off major grids in current axes +#keymap.grid_minor : G ## switching on/off minor grids in current axes +#keymap.yscale : l ## toggle scaling of y-axes ('log'/'linear') +#keymap.xscale : L, k ## toggle scaling of x-axes ('log'/'linear') +#keymap.all_axes : a ## enable all axes + +## Control location of examples data files +#examples.directory : '' ## directory to look in for custom installation ###ANIMATION settings -#animation.html : none # How to display the animation as HTML in - # the IPython notebook. 'html5' uses - # HTML5 video tag; 'jshtml' creates a - # Javascript animation -#animation.writer : ffmpeg # MovieWriter 'backend' to use -#animation.codec : h264 # Codec to use for writing movie -#animation.bitrate: -1 # Controls size/quality tradeoff for movie. - # -1 implies let utility auto-determine -#animation.frame_format: png # Controls frame format used by temp files -#animation.html_args: '' # Additional arguments to pass to html writer -#animation.ffmpeg_path: 'ffmpeg' # Path to ffmpeg binary. Without full path - # $PATH is searched -#animation.ffmpeg_args: '' # Additional arguments to pass to ffmpeg -#animation.avconv_path: 'avconv' # Path to avconv binary. Without full path - # $PATH is searched -#animation.avconv_args: '' # Additional arguments to pass to avconv -#animation.convert_path: 'convert' # Path to ImageMagick's convert binary. - # On Windows use the full path since convert - # is also the name of a system tool. -#animation.convert_args: '' # Additional arguments to pass to convert +#animation.html : none ## How to display the animation as HTML in + ## the IPython notebook. 'html5' uses + ## HTML5 video tag; 'jshtml' creates a + ## Javascript animation +#animation.writer : ffmpeg ## MovieWriter 'backend' to use +#animation.codec : h264 ## Codec to use for writing movie +#animation.bitrate: -1 ## Controls size/quality tradeoff for movie. + ## -1 implies let utility auto-determine +#animation.frame_format: png ## Controls frame format used by temp files +#animation.html_args: '' ## Additional arguments to pass to html writer +#animation.ffmpeg_path: 'ffmpeg' ## Path to ffmpeg binary. Without full path + ## $PATH is searched +#animation.ffmpeg_args: '' ## Additional arguments to pass to ffmpeg +#animation.avconv_path: 'avconv' ## Path to avconv binary. Without full path + ## $PATH is searched +#animation.avconv_args: '' ## Additional arguments to pass to avconv +#animation.convert_path: 'convert' ## Path to ImageMagick's convert binary. + ## On Windows use the full path since convert + ## is also the name of a system tool. +#animation.convert_args: '' ## Additional arguments to pass to convert +#animation.embed_limit : 20.0 From 5d8284e81cd8d1c5c38534db7fc68d85b7540a7e Mon Sep 17 00:00:00 2001 From: Importance of Being Ernest Date: Mon, 19 Feb 2018 13:46:50 +0100 Subject: [PATCH 0118/1161] Update test_rcparams.py --- lib/matplotlib/tests/test_rcparams.py | 59 +++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/lib/matplotlib/tests/test_rcparams.py b/lib/matplotlib/tests/test_rcparams.py index 9955db348c42..81cfedd7e781 100644 --- a/lib/matplotlib/tests/test_rcparams.py +++ b/lib/matplotlib/tests/test_rcparams.py @@ -422,3 +422,62 @@ def test_rcparams_reset_after_fail(): pass assert mpl.rcParams['text.usetex'] is False + + +def test_if_rctemplate_is_up_to_date(): + # This tests if the matplotlibrc.template file + # contains all valid rcParams. + dep1 = mpl._all_deprecated + dep2 = mpl._deprecated_set + deprecated = list(dep1.union(dep2)) + #print(deprecated) + path_to_rc = "matplotlibrc.txt" # mpl.matplotlib_fname() + with open(path_to_rc, "r") as f: + rclines = f.readlines() + missing = {} + for k,v in mpl.defaultParams.items(): + if k[0] == "_": continue; + if k in deprecated: continue; + if "verbose" in k: continue; + found = False + for line in rclines: + if k in line: + found = True + if not found: + missing.update({k:v}) + if missing: + raise ValueError("The following params are missing " + \ + "in the matplotlibrc.template file: {}" \ + .format(missing.items())) + + +def test_if_rctemplate_would_be_valid(): + # This tests if the matplotlibrc.template file would result in a valid + # rc file if all lines are uncommented. + path_to_rc = "matplotlibrc.txt" #mpl.matplotlib_fname() # + with open(path_to_rc, "r") as f: + rclines = f.readlines() + newlines = [] + for line in rclines: + if line[0] == "#": + newline = line[1:] + else: + newline = line + if "$TEMPLATE_BACKEND" in newline: + newline = "backend : Agg" + if "datapath" in newline: + newline = "" + newlines.append(newline) + #print(os.path.dirname(__file__)) + fname = os.path.join(os.path.dirname(__file__), + 'testrcvalid.temp') + with open(fname, "w") as f: + f.writelines(newlines) + + dic = mpl.rc_params_from_file(fname, + fail_on_error=True, + use_default_template=False) + os.remove(fname) + #d1 = set(dic.keys()) + #d2 = set(matplotlib.defaultParams.keys()) + #print(d2-d1) From facd97af77747fc5a04e322a91dca6a84f80b032 Mon Sep 17 00:00:00 2001 From: Importance of Being Ernest Date: Mon, 19 Feb 2018 13:51:38 +0100 Subject: [PATCH 0119/1161] Update test_rcparams.py --- lib/matplotlib/tests/test_rcparams.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/tests/test_rcparams.py b/lib/matplotlib/tests/test_rcparams.py index 81cfedd7e781..8eabe3652df9 100644 --- a/lib/matplotlib/tests/test_rcparams.py +++ b/lib/matplotlib/tests/test_rcparams.py @@ -431,7 +431,7 @@ def test_if_rctemplate_is_up_to_date(): dep2 = mpl._deprecated_set deprecated = list(dep1.union(dep2)) #print(deprecated) - path_to_rc = "matplotlibrc.txt" # mpl.matplotlib_fname() + path_to_rc = mpl.matplotlib_fname() with open(path_to_rc, "r") as f: rclines = f.readlines() missing = {} @@ -454,7 +454,7 @@ def test_if_rctemplate_is_up_to_date(): def test_if_rctemplate_would_be_valid(): # This tests if the matplotlibrc.template file would result in a valid # rc file if all lines are uncommented. - path_to_rc = "matplotlibrc.txt" #mpl.matplotlib_fname() # + path_to_rc = mpl.matplotlib_fname() with open(path_to_rc, "r") as f: rclines = f.readlines() newlines = [] From dc17fe26c8c3e8ed3e1618128854e7c128ea182b Mon Sep 17 00:00:00 2001 From: Importance of Being Ernest Date: Mon, 19 Feb 2018 14:25:06 +0100 Subject: [PATCH 0120/1161] Update test_rcparams.py --- lib/matplotlib/tests/test_rcparams.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/lib/matplotlib/tests/test_rcparams.py b/lib/matplotlib/tests/test_rcparams.py index 8eabe3652df9..0d3640bb6fc1 100644 --- a/lib/matplotlib/tests/test_rcparams.py +++ b/lib/matplotlib/tests/test_rcparams.py @@ -436,9 +436,12 @@ def test_if_rctemplate_is_up_to_date(): rclines = f.readlines() missing = {} for k,v in mpl.defaultParams.items(): - if k[0] == "_": continue; - if k in deprecated: continue; - if "verbose" in k: continue; + if k[0] == "_": + continue + if k in deprecated: + continue + if "verbose" in k: + continue found = False for line in rclines: if k in line: @@ -446,8 +449,8 @@ def test_if_rctemplate_is_up_to_date(): if not found: missing.update({k:v}) if missing: - raise ValueError("The following params are missing " + \ - "in the matplotlibrc.template file: {}" \ + raise ValueError("The following params are missing " + + "in the matplotlibrc.template file: {}" .format(missing.items())) From b7b3f32c1f586bb6a7c88165b8995646eb45055c Mon Sep 17 00:00:00 2001 From: Importance of Being Ernest Date: Mon, 19 Feb 2018 16:27:18 +0100 Subject: [PATCH 0121/1161] Update test_rcparams.py --- lib/matplotlib/tests/test_rcparams.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/tests/test_rcparams.py b/lib/matplotlib/tests/test_rcparams.py index 0d3640bb6fc1..88c2b5a6c3d0 100644 --- a/lib/matplotlib/tests/test_rcparams.py +++ b/lib/matplotlib/tests/test_rcparams.py @@ -476,10 +476,11 @@ def test_if_rctemplate_would_be_valid(): 'testrcvalid.temp') with open(fname, "w") as f: f.writelines(newlines) - - dic = mpl.rc_params_from_file(fname, - fail_on_error=True, - use_default_template=False) + with pytest.warns(None) as record: + dic = mpl.rc_params_from_file(fname, + fail_on_error=True, + use_default_template=False) + assert len(record) == 0 os.remove(fname) #d1 = set(dic.keys()) #d2 = set(matplotlib.defaultParams.keys()) From a51b70835b87b8a2b8a0dcd528f2c9d8a57aff02 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Mon, 19 Feb 2018 00:27:10 -0800 Subject: [PATCH 0122/1161] py3fy examples - Remove future imports, six, encoding cookies. - The pgf_examples don't actually need to be sgskipped. --- examples/api/custom_index_formatter.py | 1 - examples/api/custom_projection_example.py | 6 +----- examples/api/custom_scale_example.py | 7 ++----- examples/api/engineering_formatter.py | 2 +- examples/api/filled_step.py | 5 ++--- examples/api/skewt.py | 2 +- examples/api/watermark_image.py | 1 - examples/color/named_colors.py | 1 - examples/event_handling/close_event.py | 1 - examples/event_handling/coords_demo.py | 1 - .../event_handling/figure_axes_enter_leave.py | 1 - examples/event_handling/ginput_demo_sgskip.py | 1 - .../ginput_manual_clabel_sgskip.py | 1 - examples/event_handling/image_slices_viewer.py | 1 - examples/event_handling/keypress_demo.py | 1 - examples/event_handling/pick_event_demo.py | 1 - examples/event_handling/pipong.py | 1 - examples/event_handling/pong_sgskip.py | 1 - .../images_contours_and_fields/image_demo.py | 1 - .../images_contours_and_fields/layer_images.py | 1 - .../lines_bars_and_markers/marker_reference.py | 6 ++---- .../lines_bars_and_markers/markevery_demo.py | 1 - examples/misc/cursor_demo_sgskip.py | 1 - examples/misc/font_indexing.py | 1 - examples/misc/ftface_props.py | 1 - examples/misc/image_thumbnail_sgskip.py | 1 - examples/misc/load_converter.py | 1 - examples/misc/multiprocess_sgskip.py | 1 - examples/misc/print_stdout_sgskip.py | 6 +----- examples/misc/set_and_get.py | 1 - examples/misc/svg_filter_line.py | 1 - examples/misc/tight_bbox_test.py | 1 - examples/mplot3d/wire3d_animation.py | 1 - examples/pyplots/text_commands.py | 1 - examples/specialty_plots/anscombe.py | 1 - examples/specialty_plots/mri_with_eeg.py | 1 - examples/tests/backend_driver_sgskip.py | 11 +---------- .../accented_text.py | 2 -- .../font_table_ttf_sgskip.py | 5 +---- .../text_labels_and_annotations/legend_demo.py | 7 ++----- .../mathtext_examples.py | 1 - .../rainbow_text.py | 1 - .../stix_fonts_demo.py | 1 - .../text_labels_and_annotations/tex_demo.py | 1 - .../ticks_and_spines/date_index_formatter.py | 1 - examples/units/basic_units.py | 3 +-- .../embedding_in_tk_canvas_sgskip.py | 18 ++++++++---------- .../user_interfaces/embedding_in_tk_sgskip.py | 15 +++++++-------- .../user_interfaces/embedding_in_wx3_sgskip.py | 1 - .../user_interfaces/mpl_with_glade_sgskip.py | 1 - .../user_interfaces/pylab_with_gtk_sgskip.py | 1 - examples/user_interfaces/toolmanager_sgskip.py | 1 - .../{pgf_fonts_sgskip.py => pgf_fonts.py} | 12 ++++-------- examples/userdemo/pgf_preamble_sgskip.py | 12 +++--------- ...gf_texsystem_sgskip.py => pgf_texsystem.py} | 12 ++++-------- examples/widgets/lasso_selector_demo_sgskip.py | 1 - examples/widgets/menu.py | 1 - examples/widgets/rectangle_selector.py | 1 - tutorials/text/pgf.py | 4 ++-- 59 files changed, 43 insertions(+), 133 deletions(-) rename examples/userdemo/{pgf_fonts_sgskip.py => pgf_fonts.py} (78%) rename examples/userdemo/{pgf_texsystem_sgskip.py => pgf_texsystem.py} (77%) diff --git a/examples/api/custom_index_formatter.py b/examples/api/custom_index_formatter.py index 9e117dd91c8d..389fd2e0353e 100644 --- a/examples/api/custom_index_formatter.py +++ b/examples/api/custom_index_formatter.py @@ -7,7 +7,6 @@ to leave out days on which there is no data, i.e. weekends. The example below shows how to use an 'index formatter' to achieve the desired plot """ -from __future__ import print_function import numpy as np import matplotlib.pyplot as plt import matplotlib.cbook as cbook diff --git a/examples/api/custom_projection_example.py b/examples/api/custom_projection_example.py index c446120bb89d..0c7fa720498a 100644 --- a/examples/api/custom_projection_example.py +++ b/examples/api/custom_projection_example.py @@ -3,13 +3,9 @@ Custom projection ================= -Showcase Hammer projection by alleviating many features of -matplotlib. +Showcase Hammer projection by alleviating many features of Matplotlib. """ - -from __future__ import unicode_literals - import matplotlib from matplotlib.axes import Axes from matplotlib.patches import Circle diff --git a/examples/api/custom_scale_example.py b/examples/api/custom_scale_example.py index 574f90ebad80..8150a5b2101c 100644 --- a/examples/api/custom_scale_example.py +++ b/examples/api/custom_scale_example.py @@ -3,13 +3,10 @@ Custom scale ============ -Create a custom scale, by implementing the -scaling use for latitude data in a Mercator Projection. +Create a custom scale, by implementing the scaling use for latitude data in a +Mercator Projection. """ - -from __future__ import unicode_literals - import numpy as np from numpy import ma from matplotlib import scale as mscale diff --git a/examples/api/engineering_formatter.py b/examples/api/engineering_formatter.py index 523cae8090a6..7be2d0fe59cf 100644 --- a/examples/api/engineering_formatter.py +++ b/examples/api/engineering_formatter.py @@ -35,7 +35,7 @@ # `sep` (separator between the number and the prefix/unit). ax1.set_title('SI-prefix only ticklabels, 1-digit precision & ' 'thin space separator') -formatter1 = EngFormatter(places=1, sep=u"\N{THIN SPACE}") # U+2009 +formatter1 = EngFormatter(places=1, sep="\N{THIN SPACE}") # U+2009 ax1.xaxis.set_major_formatter(formatter1) ax1.plot(xs, ys) ax1.set_xlabel('Frequency [Hz]') diff --git a/examples/api/filled_step.py b/examples/api/filled_step.py index 320e48f2a71f..5ab8f42e8951 100644 --- a/examples/api/filled_step.py +++ b/examples/api/filled_step.py @@ -14,7 +14,6 @@ import matplotlib.pyplot as plt import matplotlib.ticker as mticker from cycler import cycler -from six.moves import zip def filled_hist(ax, edges, values, bottoms=None, orientation='v', @@ -150,8 +149,8 @@ def stack_hist(ax, stacked_data, sty_cycle, bottoms=None, labels = itertools.repeat(None) if label_data: - loop_iter = enumerate((stacked_data[lab], lab, s) for lab, s in - zip(labels, sty_cycle)) + loop_iter = enumerate((stacked_data[lab], lab, s) + for lab, s in zip(labels, sty_cycle)) else: loop_iter = enumerate(zip(stacked_data, labels, sty_cycle)) diff --git a/examples/api/skewt.py b/examples/api/skewt.py index 93891f5a2122..aecfce503364 100644 --- a/examples/api/skewt.py +++ b/examples/api/skewt.py @@ -180,10 +180,10 @@ def upper_xlim(self): if __name__ == '__main__': # Now make a simple example using the custom projection. + from io import StringIO from matplotlib.ticker import (MultipleLocator, NullFormatter, ScalarFormatter) import matplotlib.pyplot as plt - from six import StringIO import numpy as np # Some examples data diff --git a/examples/api/watermark_image.py b/examples/api/watermark_image.py index fc057dd2c8ad..bd97f0e1e199 100644 --- a/examples/api/watermark_image.py +++ b/examples/api/watermark_image.py @@ -5,7 +5,6 @@ Use a PNG file as a watermark """ -from __future__ import print_function import numpy as np import matplotlib.cbook as cbook import matplotlib.image as image diff --git a/examples/color/named_colors.py b/examples/color/named_colors.py index 5fcf95974d1c..7bae6bd9ed59 100644 --- a/examples/color/named_colors.py +++ b/examples/color/named_colors.py @@ -5,7 +5,6 @@ Simple plot example with the named colors and its visual representation. """ -from __future__ import division import matplotlib.pyplot as plt from matplotlib import colors as mcolors diff --git a/examples/event_handling/close_event.py b/examples/event_handling/close_event.py index c7b7fbd56c7d..7613ec45bec9 100644 --- a/examples/event_handling/close_event.py +++ b/examples/event_handling/close_event.py @@ -5,7 +5,6 @@ Example to show connecting events that occur when the figure closes. """ -from __future__ import print_function import matplotlib.pyplot as plt diff --git a/examples/event_handling/coords_demo.py b/examples/event_handling/coords_demo.py index 89ee85fc4d21..249c318cb23e 100644 --- a/examples/event_handling/coords_demo.py +++ b/examples/event_handling/coords_demo.py @@ -6,7 +6,6 @@ An example of how to interact with the plotting canvas by connecting to move and click events """ -from __future__ import print_function import sys import matplotlib.pyplot as plt import numpy as np diff --git a/examples/event_handling/figure_axes_enter_leave.py b/examples/event_handling/figure_axes_enter_leave.py index 703e72058c73..b1c81b6dd5ba 100644 --- a/examples/event_handling/figure_axes_enter_leave.py +++ b/examples/event_handling/figure_axes_enter_leave.py @@ -6,7 +6,6 @@ Illustrate the figure and axes enter and leave events by changing the frame colors on enter and leave """ -from __future__ import print_function import matplotlib.pyplot as plt diff --git a/examples/event_handling/ginput_demo_sgskip.py b/examples/event_handling/ginput_demo_sgskip.py index 77227032b16a..482cdbd5356a 100644 --- a/examples/event_handling/ginput_demo_sgskip.py +++ b/examples/event_handling/ginput_demo_sgskip.py @@ -7,7 +7,6 @@ """ -from __future__ import print_function import matplotlib.pyplot as plt import numpy as np diff --git a/examples/event_handling/ginput_manual_clabel_sgskip.py b/examples/event_handling/ginput_manual_clabel_sgskip.py index 25ee40e4eb23..94642ff8aed5 100644 --- a/examples/event_handling/ginput_manual_clabel_sgskip.py +++ b/examples/event_handling/ginput_manual_clabel_sgskip.py @@ -14,7 +14,6 @@ """ -from __future__ import print_function import time import matplotlib diff --git a/examples/event_handling/image_slices_viewer.py b/examples/event_handling/image_slices_viewer.py index 3409c5ee28b8..2816a802c7f8 100644 --- a/examples/event_handling/image_slices_viewer.py +++ b/examples/event_handling/image_slices_viewer.py @@ -5,7 +5,6 @@ Scroll through 2D image slices of a 3D array. """ -from __future__ import print_function import numpy as np import matplotlib.pyplot as plt diff --git a/examples/event_handling/keypress_demo.py b/examples/event_handling/keypress_demo.py index f0380e11ff3f..149cb1ba3103 100644 --- a/examples/event_handling/keypress_demo.py +++ b/examples/event_handling/keypress_demo.py @@ -5,7 +5,6 @@ Show how to connect to keypress events """ -from __future__ import print_function import sys import numpy as np import matplotlib.pyplot as plt diff --git a/examples/event_handling/pick_event_demo.py b/examples/event_handling/pick_event_demo.py index 22770d33f253..4f2a924e1d23 100644 --- a/examples/event_handling/pick_event_demo.py +++ b/examples/event_handling/pick_event_demo.py @@ -66,7 +66,6 @@ def pick_handler(event): The examples below illustrate each of these methods. """ -from __future__ import print_function import matplotlib.pyplot as plt from matplotlib.lines import Line2D from matplotlib.patches import Rectangle diff --git a/examples/event_handling/pipong.py b/examples/event_handling/pipong.py index c68abac61a7f..c7a925a7db9f 100644 --- a/examples/event_handling/pipong.py +++ b/examples/event_handling/pipong.py @@ -8,7 +8,6 @@ pipong.py was written by Paul Ivanov """ -from __future__ import print_function import numpy as np import matplotlib.pyplot as plt diff --git a/examples/event_handling/pong_sgskip.py b/examples/event_handling/pong_sgskip.py index e07f037c2fda..c7ddb8abe5fb 100644 --- a/examples/event_handling/pong_sgskip.py +++ b/examples/event_handling/pong_sgskip.py @@ -10,7 +10,6 @@ This example requires :download:`pipong.py ` """ -from __future__ import print_function, division import time diff --git a/examples/images_contours_and_fields/image_demo.py b/examples/images_contours_and_fields/image_demo.py index b6d8eaed9ffe..820114cc2be0 100644 --- a/examples/images_contours_and_fields/image_demo.py +++ b/examples/images_contours_and_fields/image_demo.py @@ -10,7 +10,6 @@ functionality of imshow and the many images you can create. """ -from __future__ import print_function import numpy as np import matplotlib.cm as cm diff --git a/examples/images_contours_and_fields/layer_images.py b/examples/images_contours_and_fields/layer_images.py index 725876045924..8209741c02ea 100644 --- a/examples/images_contours_and_fields/layer_images.py +++ b/examples/images_contours_and_fields/layer_images.py @@ -5,7 +5,6 @@ Layer images above one another using alpha blending """ -from __future__ import division import matplotlib.pyplot as plt import numpy as np diff --git a/examples/lines_bars_and_markers/marker_reference.py b/examples/lines_bars_and_markers/marker_reference.py index ee85ce6af535..8b381d1cf051 100644 --- a/examples/lines_bars_and_markers/marker_reference.py +++ b/examples/lines_bars_and_markers/marker_reference.py @@ -5,7 +5,7 @@ Reference for filled- and unfilled-marker types included with Matplotlib. """ -from six import iteritems + import numpy as np import matplotlib.pyplot as plt from matplotlib.lines import Line2D @@ -36,9 +36,7 @@ def split_list(a_list): fig, axes = plt.subplots(ncols=2) # Filter out filled markers and marker settings that do nothing. -# We use iteritems from six to make sure that we get an iterator -# in both python 2 and 3 -unfilled_markers = [m for m, func in iteritems(Line2D.markers) +unfilled_markers = [m for m, func in Line2D.markers.items() if func != 'nothing' and m not in Line2D.filled_markers] # Reverse-sort for pretty. We use our own sort key which is essentially # a python3 compatible reimplementation of python2 sort. diff --git a/examples/lines_bars_and_markers/markevery_demo.py b/examples/lines_bars_and_markers/markevery_demo.py index 8141c8d4bb49..62eda10de3bc 100644 --- a/examples/lines_bars_and_markers/markevery_demo.py +++ b/examples/lines_bars_and_markers/markevery_demo.py @@ -20,7 +20,6 @@ """ -from __future__ import division import numpy as np import matplotlib.pyplot as plt import matplotlib.gridspec as gridspec diff --git a/examples/misc/cursor_demo_sgskip.py b/examples/misc/cursor_demo_sgskip.py index a9e3c68c4410..7354b4bb0735 100644 --- a/examples/misc/cursor_demo_sgskip.py +++ b/examples/misc/cursor_demo_sgskip.py @@ -16,7 +16,6 @@ https://github.com/joferkington/mpldatacursor https://github.com/anntzer/mplcursors """ -from __future__ import print_function import matplotlib.pyplot as plt import numpy as np diff --git a/examples/misc/font_indexing.py b/examples/misc/font_indexing.py index 6a1f29260085..7625671968bd 100644 --- a/examples/misc/font_indexing.py +++ b/examples/misc/font_indexing.py @@ -7,7 +7,6 @@ tables relate to one another. Mainly for mpl developers.... """ -from __future__ import print_function import matplotlib from matplotlib.ft2font import FT2Font, KERNING_DEFAULT, KERNING_UNFITTED, KERNING_UNSCALED diff --git a/examples/misc/ftface_props.py b/examples/misc/ftface_props.py index 575af193e7b2..b40a892715ae 100644 --- a/examples/misc/ftface_props.py +++ b/examples/misc/ftface_props.py @@ -8,7 +8,6 @@ individual character metrics, use the Glyph object, as returned by load_char """ -from __future__ import print_function import matplotlib import matplotlib.ft2font as ft diff --git a/examples/misc/image_thumbnail_sgskip.py b/examples/misc/image_thumbnail_sgskip.py index c9d02eb82303..ae82e616743b 100644 --- a/examples/misc/image_thumbnail_sgskip.py +++ b/examples/misc/image_thumbnail_sgskip.py @@ -10,7 +10,6 @@ """ -from __future__ import print_function # build thumbnails of all images in a directory import sys import os diff --git a/examples/misc/load_converter.py b/examples/misc/load_converter.py index 1534a11b5a0f..86a92ab72359 100644 --- a/examples/misc/load_converter.py +++ b/examples/misc/load_converter.py @@ -4,7 +4,6 @@ ============== """ -from __future__ import print_function import numpy as np import matplotlib.pyplot as plt import matplotlib.cbook as cbook diff --git a/examples/misc/multiprocess_sgskip.py b/examples/misc/multiprocess_sgskip.py index 1cf1ecea1593..162b7ba565df 100644 --- a/examples/misc/multiprocess_sgskip.py +++ b/examples/misc/multiprocess_sgskip.py @@ -8,7 +8,6 @@ Written by Robert Cimrman """ -from __future__ import print_function import time import numpy as np diff --git a/examples/misc/print_stdout_sgskip.py b/examples/misc/print_stdout_sgskip.py index da86a2c3cb16..69b0b33616d8 100644 --- a/examples/misc/print_stdout_sgskip.py +++ b/examples/misc/print_stdout_sgskip.py @@ -15,8 +15,4 @@ import matplotlib.pyplot as plt plt.plot([1, 2, 3]) - -if sys.version_info[0] >= 3: - plt.savefig(sys.stdout.buffer) -else: - plt.savefig(sys.stdout) +plt.savefig(sys.stdout.buffer) diff --git a/examples/misc/set_and_get.py b/examples/misc/set_and_get.py index 990fd6c5a3d0..3239d39518b0 100644 --- a/examples/misc/set_and_get.py +++ b/examples/misc/set_and_get.py @@ -67,7 +67,6 @@ these properties will be listed as 'fullname or aliasname'. """ -from __future__ import print_function import matplotlib.pyplot as plt import numpy as np diff --git a/examples/misc/svg_filter_line.py b/examples/misc/svg_filter_line.py index aaef954dd7ba..72c601b6b2f7 100644 --- a/examples/misc/svg_filter_line.py +++ b/examples/misc/svg_filter_line.py @@ -9,7 +9,6 @@ support it. """ -from __future__ import print_function import matplotlib.pyplot as plt import matplotlib.transforms as mtransforms diff --git a/examples/misc/tight_bbox_test.py b/examples/misc/tight_bbox_test.py index 3b4740d427ec..f9dbe3b00f2e 100644 --- a/examples/misc/tight_bbox_test.py +++ b/examples/misc/tight_bbox_test.py @@ -4,7 +4,6 @@ =============== """ -from __future__ import print_function import matplotlib.pyplot as plt import numpy as np diff --git a/examples/mplot3d/wire3d_animation.py b/examples/mplot3d/wire3d_animation.py index 1083f006436f..f52fa46d49b0 100644 --- a/examples/mplot3d/wire3d_animation.py +++ b/examples/mplot3d/wire3d_animation.py @@ -6,7 +6,6 @@ A very simple 'animation' of a 3D plot. See also rotate_axes3d_demo. """ -from __future__ import print_function from mpl_toolkits.mplot3d import axes3d import matplotlib.pyplot as plt diff --git a/examples/pyplots/text_commands.py b/examples/pyplots/text_commands.py index 0d4e3d559a45..a074f4ca395d 100644 --- a/examples/pyplots/text_commands.py +++ b/examples/pyplots/text_commands.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- """ ============= Text Commands diff --git a/examples/specialty_plots/anscombe.py b/examples/specialty_plots/anscombe.py index fd1ecd0bbe58..3f5d98ef914c 100644 --- a/examples/specialty_plots/anscombe.py +++ b/examples/specialty_plots/anscombe.py @@ -4,7 +4,6 @@ ================== """ -from __future__ import print_function """ Edward Tufte uses this example from Anscombe to show 4 datasets of x and y that have the same mean, standard deviation, and regression diff --git a/examples/specialty_plots/mri_with_eeg.py b/examples/specialty_plots/mri_with_eeg.py index 0fd3be3d6eda..26aa36071912 100644 --- a/examples/specialty_plots/mri_with_eeg.py +++ b/examples/specialty_plots/mri_with_eeg.py @@ -7,7 +7,6 @@ histogram and some EEG traces. """ -from __future__ import division, print_function import numpy as np import matplotlib.pyplot as plt diff --git a/examples/tests/backend_driver_sgskip.py b/examples/tests/backend_driver_sgskip.py index 2741283784ce..06c11b0c9399 100644 --- a/examples/tests/backend_driver_sgskip.py +++ b/examples/tests/backend_driver_sgskip.py @@ -21,7 +21,6 @@ switches with a --. """ -from __future__ import print_function, division import os import time import sys @@ -383,16 +382,12 @@ def drive(backend, directories, python=['python'], switches=[]): tmpfile_name = '_tmp_%s.py' % basename tmpfile = open(tmpfile_name, 'w') - future_imports = 'from __future__ import division, print_function' for line in open(fullpath): line_lstrip = line.lstrip() if line_lstrip.startswith("#"): tmpfile.write(line) - elif 'unicode_literals' in line: - future_imports = future_imports + ', unicode_literals' tmpfile.writelines(( - future_imports + '\n', 'import sys\n', 'sys.path.append("%s")\n' % fpath.replace('\\', '\\\\'), 'import matplotlib\n', @@ -402,11 +397,7 @@ def drive(backend, directories, python=['python'], switches=[]): 'numpy.seterr(invalid="ignore")\n', )) for line in open(fullpath): - line_lstrip = line.lstrip() - if (line_lstrip.startswith('from __future__ import') or - line_lstrip.startswith('matplotlib.use') or - line_lstrip.startswith('savefig') or - line_lstrip.startswith('show')): + if line.lstrip().startswith(('matplotlib.use', 'savefig', 'show')): continue tmpfile.write(line) if backend in rcsetup.interactive_bk: diff --git a/examples/text_labels_and_annotations/accented_text.py b/examples/text_labels_and_annotations/accented_text.py index ac088f4d70f9..c7f4523e600c 100644 --- a/examples/text_labels_and_annotations/accented_text.py +++ b/examples/text_labels_and_annotations/accented_text.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- r""" ================================= Using accented text in matplotlib @@ -13,7 +12,6 @@ \^y """ -from __future__ import unicode_literals import matplotlib.pyplot as plt # Mathtext demo diff --git a/examples/text_labels_and_annotations/font_table_ttf_sgskip.py b/examples/text_labels_and_annotations/font_table_ttf_sgskip.py index 880453b55089..6de73e68dea3 100644 --- a/examples/text_labels_and_annotations/font_table_ttf_sgskip.py +++ b/examples/text_labels_and_annotations/font_table_ttf_sgskip.py @@ -19,9 +19,6 @@ from matplotlib.font_manager import FontProperties import matplotlib.pyplot as plt -import six -from six import unichr - # the font table grid labelc = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', @@ -47,7 +44,7 @@ if ccode >= 256: continue r, c = divmod(ccode, 16) - s = unichr(ccode) + s = chr(ccode) chars[r][c] = s lightgrn = (0.5, 0.8, 0.5) diff --git a/examples/text_labels_and_annotations/legend_demo.py b/examples/text_labels_and_annotations/legend_demo.py index 77db192ebe85..2b4636834147 100644 --- a/examples/text_labels_and_annotations/legend_demo.py +++ b/examples/text_labels_and_annotations/legend_demo.py @@ -10,15 +10,12 @@ First we'll show off how to make a legend for specific lines. """ -from __future__ import (absolute_import, division, - print_function, unicode_literals) import matplotlib.pyplot as plt -import numpy as np -from matplotlib.legend_handler import (HandlerLineCollection, - HandlerTuple) import matplotlib.collections as mcol +from matplotlib.legend_handler import HandlerLineCollection, HandlerTuple from matplotlib.lines import Line2D +import numpy as np t1 = np.arange(0.0, 2.0, 0.1) t2 = np.arange(0.0, 2.0, 0.01) diff --git a/examples/text_labels_and_annotations/mathtext_examples.py b/examples/text_labels_and_annotations/mathtext_examples.py index 86c349f10d11..eec403d3c531 100644 --- a/examples/text_labels_and_annotations/mathtext_examples.py +++ b/examples/text_labels_and_annotations/mathtext_examples.py @@ -5,7 +5,6 @@ Selected features of Matplotlib's math rendering engine. """ -from __future__ import print_function import matplotlib.pyplot as plt import subprocess import sys diff --git a/examples/text_labels_and_annotations/rainbow_text.py b/examples/text_labels_and_annotations/rainbow_text.py index b326be24c5f0..5dce48a46431 100644 --- a/examples/text_labels_and_annotations/rainbow_text.py +++ b/examples/text_labels_and_annotations/rainbow_text.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- """ ============ Rainbow text diff --git a/examples/text_labels_and_annotations/stix_fonts_demo.py b/examples/text_labels_and_annotations/stix_fonts_demo.py index 411b0ae41728..f2e5e8455b32 100644 --- a/examples/text_labels_and_annotations/stix_fonts_demo.py +++ b/examples/text_labels_and_annotations/stix_fonts_demo.py @@ -4,7 +4,6 @@ =============== """ -from __future__ import unicode_literals import subprocess import sys diff --git a/examples/text_labels_and_annotations/tex_demo.py b/examples/text_labels_and_annotations/tex_demo.py index c341a92b4b2d..01ba41b433be 100644 --- a/examples/text_labels_and_annotations/tex_demo.py +++ b/examples/text_labels_and_annotations/tex_demo.py @@ -14,7 +14,6 @@ Notice how the label for the y axis is provided using unicode! """ -from __future__ import unicode_literals import numpy as np import matplotlib matplotlib.rcParams['text.usetex'] = True diff --git a/examples/ticks_and_spines/date_index_formatter.py b/examples/ticks_and_spines/date_index_formatter.py index 5d3688583a3b..4d9e5750bb5e 100644 --- a/examples/ticks_and_spines/date_index_formatter.py +++ b/examples/ticks_and_spines/date_index_formatter.py @@ -11,7 +11,6 @@ Formatter to get the appropriate date string for a given index. """ -from __future__ import print_function import numpy as np diff --git a/examples/units/basic_units.py b/examples/units/basic_units.py index be07f0c9fce5..fa2d2103ea80 100644 --- a/examples/units/basic_units.py +++ b/examples/units/basic_units.py @@ -4,7 +4,6 @@ =========== """ -import six import math @@ -110,7 +109,7 @@ def __call__(self, *args): return TaggedValue(ret, ret_unit) -class TaggedValue(six.with_metaclass(TaggedValueMeta)): +class TaggedValue(metaclass=TaggedValueMeta): _proxies = {'__add__': ConvertAllProxy, '__sub__': ConvertAllProxy, diff --git a/examples/user_interfaces/embedding_in_tk_canvas_sgskip.py b/examples/user_interfaces/embedding_in_tk_canvas_sgskip.py index 41380b758cd6..b82483d3ab09 100644 --- a/examples/user_interfaces/embedding_in_tk_canvas_sgskip.py +++ b/examples/user_interfaces/embedding_in_tk_canvas_sgskip.py @@ -5,13 +5,11 @@ Embedding plots in a Tk Canvas. """ -import matplotlib as mpl + +import tkinter + import numpy as np -import sys -if sys.version_info[0] < 3: - import Tkinter as tk -else: - import tkinter as tk +import matplotlib as mpl import matplotlib.backends.tkagg as tkagg from matplotlib.backends.backend_agg import FigureCanvasAgg @@ -26,7 +24,7 @@ def draw_figure(canvas, figure, loc=(0, 0)): figure_canvas_agg.draw() figure_x, figure_y, figure_w, figure_h = figure.bbox.bounds figure_w, figure_h = int(figure_w), int(figure_h) - photo = tk.PhotoImage(master=canvas, width=figure_w, height=figure_h) + photo = tkinter.PhotoImage(master=canvas, width=figure_w, height=figure_h) # Position: convert from top-left anchor to center anchor canvas.create_image(loc[0] + figure_w/2, loc[1] + figure_h/2, image=photo) @@ -40,9 +38,9 @@ def draw_figure(canvas, figure, loc=(0, 0)): # Create a canvas w, h = 300, 200 -window = tk.Tk() +window = tkinter.Tk() window.title("A figure in a canvas") -canvas = tk.Canvas(window, width=w, height=h) +canvas = tkinter.Canvas(window, width=w, height=h) canvas.pack() # Generate some example data @@ -64,4 +62,4 @@ def draw_figure(canvas, figure, loc=(0, 0)): canvas.create_text(200, 50, text="Zero-crossing", anchor="s") # Let Tk take over -tk.mainloop() +tkinter.mainloop() diff --git a/examples/user_interfaces/embedding_in_tk_sgskip.py b/examples/user_interfaces/embedding_in_tk_sgskip.py index f79390d30990..ad1877a7bf90 100644 --- a/examples/user_interfaces/embedding_in_tk_sgskip.py +++ b/examples/user_interfaces/embedding_in_tk_sgskip.py @@ -5,19 +5,18 @@ """ -from six.moves import tkinter as Tk +import tkinter from matplotlib.backends.backend_tkagg import ( FigureCanvasTkAgg, NavigationToolbar2TkAgg) # Implement the default Matplotlib key bindings. from matplotlib.backend_bases import key_press_handler from matplotlib.figure import Figure -from six.moves import tkinter as Tk import numpy as np -root = Tk.Tk() +root = tkinter.Tk() root.wm_title("Embedding in Tk") fig = Figure(figsize=(5, 4), dpi=100) @@ -26,11 +25,11 @@ canvas = FigureCanvasTkAgg(fig, master=root) # A tk.DrawingArea. canvas.draw() -canvas.get_tk_widget().pack(side=Tk.TOP, fill=Tk.BOTH, expand=1) +canvas.get_tk_widget().pack(side=tkinter.TOP, fill=tkinter.BOTH, expand=1) toolbar = NavigationToolbar2TkAgg(canvas, root) toolbar.update() -canvas._tkcanvas.pack(side=Tk.TOP, fill=Tk.BOTH, expand=1) +canvas._tkcanvas.pack(side=tkinter.TOP, fill=tkinter.BOTH, expand=1) def on_key_press(event): @@ -47,9 +46,9 @@ def _quit(): # Fatal Python Error: PyEval_RestoreThread: NULL tstate -button = Tk.Button(master=root, text="Quit", command=_quit) -button.pack(side=Tk.BOTTOM) +button = tkinter.Button(master=root, text="Quit", command=_quit) +button.pack(side=tkinter.BOTTOM) -Tk.mainloop() +tkinter.mainloop() # If you put root.destroy() here, it will cause an error if the window is # closed with the window manager. diff --git a/examples/user_interfaces/embedding_in_wx3_sgskip.py b/examples/user_interfaces/embedding_in_wx3_sgskip.py index f8074a488e95..8ecce24d81bc 100644 --- a/examples/user_interfaces/embedding_in_wx3_sgskip.py +++ b/examples/user_interfaces/embedding_in_wx3_sgskip.py @@ -21,7 +21,6 @@ Thanks to matplotlib and wx teams for creating such great software! """ -from __future__ import print_function import sys import time diff --git a/examples/user_interfaces/mpl_with_glade_sgskip.py b/examples/user_interfaces/mpl_with_glade_sgskip.py index ab2652b1365d..9000942fe210 100644 --- a/examples/user_interfaces/mpl_with_glade_sgskip.py +++ b/examples/user_interfaces/mpl_with_glade_sgskip.py @@ -4,7 +4,6 @@ ===================== """ -from __future__ import print_function import matplotlib matplotlib.use('GTK') diff --git a/examples/user_interfaces/pylab_with_gtk_sgskip.py b/examples/user_interfaces/pylab_with_gtk_sgskip.py index 75c623801745..b1abb3f8f73e 100644 --- a/examples/user_interfaces/pylab_with_gtk_sgskip.py +++ b/examples/user_interfaces/pylab_with_gtk_sgskip.py @@ -6,7 +6,6 @@ An example of how to use pylab to manage your figure windows, but modify the GUI by accessing the underlying gtk widgets """ -from __future__ import print_function import matplotlib matplotlib.use('GTKAgg') import matplotlib.pyplot as plt diff --git a/examples/user_interfaces/toolmanager_sgskip.py b/examples/user_interfaces/toolmanager_sgskip.py index 247997f6e2e2..7c2eeae5b845 100644 --- a/examples/user_interfaces/toolmanager_sgskip.py +++ b/examples/user_interfaces/toolmanager_sgskip.py @@ -14,7 +14,6 @@ """ -from __future__ import print_function import matplotlib # Change to the desired backend matplotlib.use('GTK3Cairo') diff --git a/examples/userdemo/pgf_fonts_sgskip.py b/examples/userdemo/pgf_fonts.py similarity index 78% rename from examples/userdemo/pgf_fonts_sgskip.py rename to examples/userdemo/pgf_fonts.py index 0528b8ef88d0..463d5c7e6887 100644 --- a/examples/userdemo/pgf_fonts_sgskip.py +++ b/examples/userdemo/pgf_fonts.py @@ -4,25 +4,21 @@ ========= """ -# -*- coding: utf-8 -*- -import matplotlib as mpl -mpl.use("pgf") -pgf_with_rc_fonts = { +import matplotlib.pyplot as plt +plt.rcParams.update({ "font.family": "serif", "font.serif": [], # use latex default serif font "font.sans-serif": ["DejaVu Sans"], # use a specific sans-serif font -} -mpl.rcParams.update(pgf_with_rc_fonts) +}) -import matplotlib.pyplot as plt plt.figure(figsize=(4.5, 2.5)) plt.plot(range(5)) plt.text(0.5, 3., "serif") plt.text(0.5, 2., "monospace", family="monospace") plt.text(2.5, 2., "sans-serif", family="sans-serif") plt.text(2.5, 1., "comic sans", family="Comic Sans MS") -plt.xlabel(u"µ is not $\\mu$") +plt.xlabel("µ is not $\\mu$") plt.tight_layout(.5) plt.savefig("pgf_fonts.pdf") diff --git a/examples/userdemo/pgf_preamble_sgskip.py b/examples/userdemo/pgf_preamble_sgskip.py index 46dd45bb1d40..eccdefa0d6e1 100644 --- a/examples/userdemo/pgf_preamble_sgskip.py +++ b/examples/userdemo/pgf_preamble_sgskip.py @@ -4,15 +4,11 @@ ============ """ -# -*- coding: utf-8 -*- -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six import matplotlib as mpl mpl.use("pgf") -pgf_with_custom_preamble = { +import matplotlib.pyplot as plt +plt.rcParams.update({ "font.family": "serif", # use serif/main font for text elements "text.usetex": True, # use inline math for ticks "pgf.rcfonts": False, # don't setup fonts from rc parameters @@ -23,10 +19,8 @@ r"\setmathfont{xits-math.otf}", r"\setmainfont{DejaVu Serif}", # serif font via preamble ] -} -mpl.rcParams.update(pgf_with_custom_preamble) +}) -import matplotlib.pyplot as plt plt.figure(figsize=(4.5, 2.5)) plt.plot(range(5)) plt.xlabel("unicode text: я, ψ, €, ü, \\unitfrac[10]{°}{µm}") diff --git a/examples/userdemo/pgf_texsystem_sgskip.py b/examples/userdemo/pgf_texsystem.py similarity index 77% rename from examples/userdemo/pgf_texsystem_sgskip.py rename to examples/userdemo/pgf_texsystem.py index c4914d1736cf..d3e535183539 100644 --- a/examples/userdemo/pgf_texsystem_sgskip.py +++ b/examples/userdemo/pgf_texsystem.py @@ -4,27 +4,23 @@ ============= """ -# -*- coding: utf-8 -*- -import matplotlib as mpl -mpl.use("pgf") -pgf_with_pdflatex = { +import matplotlib.pyplot as plt +plt.rcParams.update({ "pgf.texsystem": "pdflatex", "pgf.preamble": [ r"\usepackage[utf8x]{inputenc}", r"\usepackage[T1]{fontenc}", r"\usepackage{cmbright}", ] -} -mpl.rcParams.update(pgf_with_pdflatex) +}) -import matplotlib.pyplot as plt plt.figure(figsize=(4.5, 2.5)) plt.plot(range(5)) plt.text(0.5, 3., "serif", family="serif") plt.text(0.5, 2., "monospace", family="monospace") plt.text(2.5, 2., "sans-serif", family="sans-serif") -plt.xlabel(u"µ is not $\\mu$") +plt.xlabel(r"µ is not $\mu$") plt.tight_layout(.5) plt.savefig("pgf_texsystem.pdf") diff --git a/examples/widgets/lasso_selector_demo_sgskip.py b/examples/widgets/lasso_selector_demo_sgskip.py index 9bace4319c51..ac6c7325199f 100644 --- a/examples/widgets/lasso_selector_demo_sgskip.py +++ b/examples/widgets/lasso_selector_demo_sgskip.py @@ -10,7 +10,6 @@ on the graph, hold, and drag it around the points you need to select. """ -from __future__ import print_function import numpy as np diff --git a/examples/widgets/menu.py b/examples/widgets/menu.py index 6458041222ae..a099b1fc92ff 100644 --- a/examples/widgets/menu.py +++ b/examples/widgets/menu.py @@ -4,7 +4,6 @@ ==== """ -from __future__ import division, print_function import numpy as np import matplotlib import matplotlib.colors as colors diff --git a/examples/widgets/rectangle_selector.py b/examples/widgets/rectangle_selector.py index 56eb208639ce..cbdaf8026197 100644 --- a/examples/widgets/rectangle_selector.py +++ b/examples/widgets/rectangle_selector.py @@ -10,7 +10,6 @@ method 'self.ignore()' it is checked whether the button from eventpress and eventrelease are the same. """ -from __future__ import print_function from matplotlib.widgets import RectangleSelector import numpy as np import matplotlib.pyplot as plt diff --git a/tutorials/text/pgf.py b/tutorials/text/pgf.py index 27415528e160..162f74807135 100644 --- a/tutorials/text/pgf.py +++ b/tutorials/text/pgf.py @@ -71,7 +71,7 @@ When saving to ``.pgf``, the font configuration matplotlib used for the layout of the figure is included in the header of the text file. -.. literalinclude:: ../../gallery/userdemo/pgf_fonts_sgskip.py +.. literalinclude:: ../../gallery/userdemo/pgf_fonts.py :end-before: plt.savefig @@ -107,7 +107,7 @@ ``'pdflatex'``. Please note that when selecting pdflatex the fonts and unicode handling must be configured in the preamble. -.. literalinclude:: ../../gallery/userdemo/pgf_texsystem_sgskip.py +.. literalinclude:: ../../gallery/userdemo/pgf_texsystem.py :end-before: plt.savefig From e93c66a1305326d5e8ee60d0e87b937ab096e1f3 Mon Sep 17 00:00:00 2001 From: Importance of Being Ernest Date: Mon, 19 Feb 2018 19:22:11 +0100 Subject: [PATCH 0123/1161] Test to see if test is correctly testing. (WIP) --- lib/matplotlib/tests/test_rcparams.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/matplotlib/tests/test_rcparams.py b/lib/matplotlib/tests/test_rcparams.py index 88c2b5a6c3d0..781a59e1aacc 100644 --- a/lib/matplotlib/tests/test_rcparams.py +++ b/lib/matplotlib/tests/test_rcparams.py @@ -452,6 +452,7 @@ def test_if_rctemplate_is_up_to_date(): raise ValueError("The following params are missing " + "in the matplotlibrc.template file: {}" .format(missing.items())) + assert False def test_if_rctemplate_would_be_valid(): @@ -485,3 +486,4 @@ def test_if_rctemplate_would_be_valid(): #d1 = set(dic.keys()) #d2 = set(matplotlib.defaultParams.keys()) #print(d2-d1) + assert False From d7bdc0fac0039a1c8f09103bc34f1d2ba079a59e Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Mon, 19 Feb 2018 09:40:22 -0800 Subject: [PATCH 0124/1161] Modernize cbook.get_realpath_and_stat. st_ino has been implemented in Windows for a while (https://hg.python.org/cpython/rev/9cd1036455e7). --- doc/api/next_api_changes/2018-02-15-AL-deprecations.rst | 9 ++++++--- lib/matplotlib/cbook/__init__.py | 8 +++++++- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst index 789d107164ae..03320fab415c 100644 --- a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst +++ b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst @@ -1,5 +1,8 @@ Deprecations ```````````` -The following functions are deprecated: -- ``cbook.is_numlike`` (use ``isinstance(..., numbers.Number)`` instead) -- ``mathtext.unichr_safe`` (use ``chr`` instead) +The following functions and classes are deprecated: + +- ``cbook.GetRealpathAndStat`` (which is only a helper for + ``get_realpath_and_stat``), +- ``cbook.is_numlike`` (use ``isinstance(..., numbers.Number)`` instead), +- ``mathtext.unichr_safe`` (use ``chr`` instead), diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index f8195505b8be..cb8acc8ae45f 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -864,6 +864,7 @@ def mkdirs(newdir, mode=0o777): raise +@deprecated('3.0') class GetRealpathAndStat(object): def __init__(self): self._cache = {} @@ -882,7 +883,12 @@ def __call__(self, path): return result -get_realpath_and_stat = GetRealpathAndStat() +@functools.lru_cache() +def get_realpath_and_stat(path): + realpath = os.path.realpath(path) + stat = os.stat(realpath) + stat_key = (stat.st_ino, stat.st_dev) + return realpath, stat_key @deprecated('2.1') From a67b9d01095d82aadf2e18760efda81009e0d8ca Mon Sep 17 00:00:00 2001 From: Importance of Being Ernest Date: Mon, 19 Feb 2018 20:43:31 +0100 Subject: [PATCH 0125/1161] Update test_rcparams.py --- lib/matplotlib/tests/test_rcparams.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib/matplotlib/tests/test_rcparams.py b/lib/matplotlib/tests/test_rcparams.py index 781a59e1aacc..88c2b5a6c3d0 100644 --- a/lib/matplotlib/tests/test_rcparams.py +++ b/lib/matplotlib/tests/test_rcparams.py @@ -452,7 +452,6 @@ def test_if_rctemplate_is_up_to_date(): raise ValueError("The following params are missing " + "in the matplotlibrc.template file: {}" .format(missing.items())) - assert False def test_if_rctemplate_would_be_valid(): @@ -486,4 +485,3 @@ def test_if_rctemplate_would_be_valid(): #d1 = set(dic.keys()) #d2 = set(matplotlib.defaultParams.keys()) #print(d2-d1) - assert False From 9964e8e8cc4e90cf7d1bc290da87bd8f3195a2e6 Mon Sep 17 00:00:00 2001 From: Importance of Being Ernest Date: Mon, 19 Feb 2018 22:13:32 +0100 Subject: [PATCH 0126/1161] Update test_rcparams.py --- lib/matplotlib/tests/test_rcparams.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/lib/matplotlib/tests/test_rcparams.py b/lib/matplotlib/tests/test_rcparams.py index 88c2b5a6c3d0..b7445b96bf4c 100644 --- a/lib/matplotlib/tests/test_rcparams.py +++ b/lib/matplotlib/tests/test_rcparams.py @@ -454,10 +454,10 @@ def test_if_rctemplate_is_up_to_date(): .format(missing.items())) -def test_if_rctemplate_would_be_valid(): +def test_if_rctemplate_would_be_valid(tmpdir): # This tests if the matplotlibrc.template file would result in a valid # rc file if all lines are uncommented. - path_to_rc = mpl.matplotlib_fname() + path_to_rc = "matplotlibrc.txt" #mpl.matplotlib_fname() # with open(path_to_rc, "r") as f: rclines = f.readlines() newlines = [] @@ -471,9 +471,8 @@ def test_if_rctemplate_would_be_valid(): if "datapath" in newline: newline = "" newlines.append(newline) - #print(os.path.dirname(__file__)) - fname = os.path.join(os.path.dirname(__file__), - 'testrcvalid.temp') + d = tmpdir.mkdir('test1') + fname = str(d.join('testrcvalid.temp')) with open(fname, "w") as f: f.writelines(newlines) with pytest.warns(None) as record: @@ -481,7 +480,6 @@ def test_if_rctemplate_would_be_valid(): fail_on_error=True, use_default_template=False) assert len(record) == 0 - os.remove(fname) #d1 = set(dic.keys()) #d2 = set(matplotlib.defaultParams.keys()) #print(d2-d1) From b177c85c35363f56a342426df9e5b31fc9f3fa81 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Mon, 19 Feb 2018 16:20:22 -0500 Subject: [PATCH 0127/1161] FIX: TypeError when using offset box in expand mode with tightlayout Perfect minimal example from @ewels suggested fix from @afvincent closes #10476 --- lib/matplotlib/offsetbox.py | 4 ++++ lib/matplotlib/tests/test_offsetbox.py | 16 ++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/lib/matplotlib/offsetbox.py b/lib/matplotlib/offsetbox.py index 7340fb8c6d4e..f04edbd19aa7 100644 --- a/lib/matplotlib/offsetbox.py +++ b/lib/matplotlib/offsetbox.py @@ -83,6 +83,10 @@ def _get_packed_offsets(wd_list, total, sep, mode="fixed"): sep = 0 offsets_ = np.cumsum([0] + [w + sep for w in w_list]) offsets = offsets_[:-1] + # this is a bit of a hack to avoid a TypeError when used + # in conjugation with tight layout + if total is None: + total = 1 return total, offsets elif mode == "equal": diff --git a/lib/matplotlib/tests/test_offsetbox.py b/lib/matplotlib/tests/test_offsetbox.py index f54a5fbc7236..b2062a7162ac 100644 --- a/lib/matplotlib/tests/test_offsetbox.py +++ b/lib/matplotlib/tests/test_offsetbox.py @@ -98,3 +98,19 @@ def test_offsetbox_loc_codes(): anchored_box = AnchoredOffsetbox(loc=code, child=da) ax.add_artist(anchored_box) fig.canvas.draw() + + +def test_expand_with_tight_layout(): + fig = plt.figure() + axes = fig.add_subplot(111) + + d1 = [29388871, 12448, 40, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0] + d2 = [28396236, 981940, 22171, 537, 123, 88, 41, 42, 40, 26, 26, + 84, 6, 2, 0, 0, 0, 0, 0] + axes.plot(d1, label='series 1') + axes.plot(d2, label='series 2') + axes.legend(mode='expand') + + # ### THIS IS WHERE THE CRASH HAPPENS + plt.tight_layout(rect=[0, 0.08, 1, 0.92]) From 5cd5b2977bcc93878c54dd9ca2b3b24e5601b7ed Mon Sep 17 00:00:00 2001 From: Importance of Being Ernest Date: Mon, 19 Feb 2018 22:25:34 +0100 Subject: [PATCH 0128/1161] Update test_rcparams.py --- lib/matplotlib/tests/test_rcparams.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/tests/test_rcparams.py b/lib/matplotlib/tests/test_rcparams.py index b7445b96bf4c..4d93a9914c30 100644 --- a/lib/matplotlib/tests/test_rcparams.py +++ b/lib/matplotlib/tests/test_rcparams.py @@ -457,7 +457,7 @@ def test_if_rctemplate_is_up_to_date(): def test_if_rctemplate_would_be_valid(tmpdir): # This tests if the matplotlibrc.template file would result in a valid # rc file if all lines are uncommented. - path_to_rc = "matplotlibrc.txt" #mpl.matplotlib_fname() # + path_to_rc = mpl.matplotlib_fname() with open(path_to_rc, "r") as f: rclines = f.readlines() newlines = [] From e4998b1da93786cd27c25535fb11ad56f0587658 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Mon, 11 Dec 2017 15:48:24 -0500 Subject: [PATCH 0129/1161] TST: Replace assert_equal with plain asserts. No need for an external call when pytest rewrites this neatly already. --- lib/matplotlib/tests/test_backend_qt5.py | 10 ++-- lib/matplotlib/tests/test_collections.py | 65 ++++++++++++------------ 2 files changed, 36 insertions(+), 39 deletions(-) diff --git a/lib/matplotlib/tests/test_backend_qt5.py b/lib/matplotlib/tests/test_backend_qt5.py index 81a23081ddbd..d6cfeef8fcd3 100644 --- a/lib/matplotlib/tests/test_backend_qt5.py +++ b/lib/matplotlib/tests/test_backend_qt5.py @@ -6,8 +6,6 @@ from matplotlib import pyplot as plt from matplotlib._pylab_helpers import Gcf -from numpy.testing import assert_equal - import pytest try: # mock in python 3.3+ @@ -135,8 +133,8 @@ def test_dpi_ratio_change(): # The actual widget size and figure physical size don't change assert size.width() == 600 assert size.height() == 240 - assert_equal(qt_canvas.get_width_height(), (600, 240)) - assert_equal(fig.get_size_inches(), (5, 2)) + assert qt_canvas.get_width_height() == (600, 240) + assert (fig.get_size_inches() == (5, 2)).all() p.return_value = 2 @@ -158,8 +156,8 @@ def test_dpi_ratio_change(): # The actual widget size and figure physical size don't change assert size.width() == 600 assert size.height() == 240 - assert_equal(qt_canvas.get_width_height(), (600, 240)) - assert_equal(fig.get_size_inches(), (5, 2)) + assert qt_canvas.get_width_height() == (600, 240) + assert (fig.get_size_inches() == (5, 2)).all() @pytest.mark.backend('Qt5Agg') diff --git a/lib/matplotlib/tests/test_collections.py b/lib/matplotlib/tests/test_collections.py index 76c6a8bcab01..73bea37a992e 100644 --- a/lib/matplotlib/tests/test_collections.py +++ b/lib/matplotlib/tests/test_collections.py @@ -6,8 +6,7 @@ import io import numpy as np -from numpy.testing import ( - assert_array_equal, assert_array_almost_equal, assert_equal) +from numpy.testing import assert_array_equal, assert_array_almost_equal import pytest import matplotlib.pyplot as plt @@ -87,7 +86,7 @@ def test__EventCollection__get_orientation(): orientation ''' _, coll, props = generate_EventCollection_plot() - assert_equal(props['orientation'], coll.get_orientation()) + assert props['orientation'] == coll.get_orientation() def test__EventCollection__is_horizontal(): @@ -96,7 +95,7 @@ def test__EventCollection__is_horizontal(): orientation ''' _, coll, _ = generate_EventCollection_plot() - assert_equal(True, coll.is_horizontal()) + assert coll.is_horizontal() def test__EventCollection__get_linelength(): @@ -104,7 +103,7 @@ def test__EventCollection__get_linelength(): check to make sure the default linelength matches the input linelength ''' _, coll, props = generate_EventCollection_plot() - assert_equal(props['linelength'], coll.get_linelength()) + assert props['linelength'] == coll.get_linelength() def test__EventCollection__get_lineoffset(): @@ -112,7 +111,7 @@ def test__EventCollection__get_lineoffset(): check to make sure the default lineoffset matches the input lineoffset ''' _, coll, props = generate_EventCollection_plot() - assert_equal(props['lineoffset'], coll.get_lineoffset()) + assert props['lineoffset'] == coll.get_lineoffset() def test__EventCollection__get_linestyle(): @@ -120,7 +119,7 @@ def test__EventCollection__get_linestyle(): check to make sure the default linestyle matches the input linestyle ''' _, coll, _ = generate_EventCollection_plot() - assert_equal(coll.get_linestyle(), [(None, None)]) + assert coll.get_linestyle() == [(None, None)] def test__EventCollection__get_color(): @@ -214,8 +213,8 @@ def test__EventCollection__switch_orientation(): splt, coll, props = generate_EventCollection_plot() new_orientation = 'vertical' coll.switch_orientation() - assert_equal(new_orientation, coll.get_orientation()) - assert_equal(False, coll.is_horizontal()) + assert new_orientation == coll.get_orientation() + assert not coll.is_horizontal() new_positions = coll.get_positions() check_segments(coll, new_positions, @@ -237,8 +236,8 @@ def test__EventCollection__switch_orientation_2x(): coll.switch_orientation() coll.switch_orientation() new_positions = coll.get_positions() - assert_equal(props['orientation'], coll.get_orientation()) - assert_equal(True, coll.is_horizontal()) + assert props['orientation'] == coll.get_orientation() + assert coll.is_horizontal() np.testing.assert_array_equal(props['positions'], new_positions) check_segments(coll, new_positions, @@ -256,8 +255,8 @@ def test__EventCollection__set_orientation(): splt, coll, props = generate_EventCollection_plot() new_orientation = 'vertical' coll.set_orientation(new_orientation) - assert_equal(new_orientation, coll.get_orientation()) - assert_equal(False, coll.is_horizontal()) + assert new_orientation == coll.get_orientation() + assert not coll.is_horizontal() check_segments(coll, props['positions'], props['linelength'], @@ -276,7 +275,7 @@ def test__EventCollection__set_linelength(): splt, coll, props = generate_EventCollection_plot() new_linelength = 15 coll.set_linelength(new_linelength) - assert_equal(new_linelength, coll.get_linelength()) + assert new_linelength == coll.get_linelength() check_segments(coll, props['positions'], new_linelength, @@ -294,7 +293,7 @@ def test__EventCollection__set_lineoffset(): splt, coll, props = generate_EventCollection_plot() new_lineoffset = -5. coll.set_lineoffset(new_lineoffset) - assert_equal(new_lineoffset, coll.get_lineoffset()) + assert new_lineoffset == coll.get_lineoffset() check_segments(coll, props['positions'], props['linelength'], @@ -312,7 +311,7 @@ def test__EventCollection__set_linestyle(): splt, coll, _ = generate_EventCollection_plot() new_linestyle = 'dashed' coll.set_linestyle(new_linestyle) - assert_equal(coll.get_linestyle(), [(0, (6.0, 6.0))]) + assert coll.get_linestyle() == [(0, (6.0, 6.0))] splt.set_title('EventCollection: set_linestyle') @@ -325,7 +324,7 @@ def test__EventCollection__set_linestyle_single_dash(): splt, coll, _ = generate_EventCollection_plot() new_linestyle = (0, (6., 6.)) coll.set_linestyle(new_linestyle) - assert_equal(coll.get_linestyle(), [(0, (6.0, 6.0))]) + assert coll.get_linestyle() == [(0, (6.0, 6.0))] splt.set_title('EventCollection: set_linestyle') @@ -337,7 +336,7 @@ def test__EventCollection__set_linewidth(): splt, coll, _ = generate_EventCollection_plot() new_linewidth = 5 coll.set_linewidth(new_linewidth) - assert_equal(coll.get_linewidth(), new_linewidth) + assert coll.get_linewidth() == new_linewidth splt.set_title('EventCollection: set_linewidth') @@ -376,10 +375,10 @@ def check_segments(coll, positions, linelength, lineoffset, orientation): # test to make sure each segment is correct for i, segment in enumerate(segments): - assert_equal(segment[0, pos1], lineoffset + linelength / 2.) - assert_equal(segment[1, pos1], lineoffset - linelength / 2.) - assert_equal(segment[0, pos2], positions[i]) - assert_equal(segment[1, pos2], positions[i]) + assert segment[0, pos1] == lineoffset + linelength / 2 + assert segment[1, pos1] == lineoffset - linelength / 2 + assert segment[0, pos2] == positions[i] + assert segment[1, pos2] == positions[i] def check_allprop_array(values, target): @@ -408,7 +407,7 @@ def test_add_collection(): ax.add_collection(coll) bounds = ax.dataLim.bounds coll = ax.scatter([], []) - assert_equal(ax.dataLim.bounds, bounds) + assert ax.dataLim.bounds == bounds def test_quiver_limits(): @@ -416,7 +415,7 @@ def test_quiver_limits(): x, y = np.arange(8), np.arange(10) u = v = np.linspace(0, 10, 80).reshape(10, 8) q = plt.quiver(x, y, u, v) - assert_equal(q.get_datalim(ax.transData).bounds, (0., 0., 7., 9.)) + assert q.get_datalim(ax.transData).bounds == (0., 0., 7., 9.) plt.figure() ax = plt.axes() @@ -425,7 +424,7 @@ def test_quiver_limits(): y, x = np.meshgrid(y, x) trans = mtransforms.Affine2D().translate(25, 32) + ax.transData plt.quiver(x, y, np.sin(x), np.cos(y), transform=trans) - assert_equal(ax.dataLim.bounds, (20.0, 30.0, 15.0, 6.0)) + assert ax.dataLim.bounds == (20.0, 30.0, 15.0, 6.0) def test_barb_limits(): @@ -615,28 +614,28 @@ def test_lslw_bcast(): col.set_linestyles(['-', '-']) col.set_linewidths([1, 2, 3]) - assert_equal(col.get_linestyles(), [(None, None)] * 6) - assert_equal(col.get_linewidths(), [1, 2, 3] * 2) + assert col.get_linestyles() == [(None, None)] * 6 + assert col.get_linewidths() == [1, 2, 3] * 2 col.set_linestyles(['-', '-', '-']) - assert_equal(col.get_linestyles(), [(None, None)] * 3) - assert_equal(col.get_linewidths(), [1, 2, 3]) + assert col.get_linestyles() == [(None, None)] * 3 + assert (col.get_linewidths() == [1, 2, 3]).all() @pytest.mark.style('default') def test_capstyle(): col = mcollections.PathCollection([], capstyle='round') - assert_equal(col.get_capstyle(), 'round') + assert col.get_capstyle() == 'round' col.set_capstyle('butt') - assert_equal(col.get_capstyle(), 'butt') + assert col.get_capstyle() == 'butt' @pytest.mark.style('default') def test_joinstyle(): col = mcollections.PathCollection([], joinstyle='round') - assert_equal(col.get_joinstyle(), 'round') + assert col.get_joinstyle() == 'round' col.set_joinstyle('miter') - assert_equal(col.get_joinstyle(), 'miter') + assert col.get_joinstyle() == 'miter' @image_comparison(baseline_images=['cap_and_joinstyle'], From b64e2d18daeec22fbb0f98c9155ac9d1b6bbf4cb Mon Sep 17 00:00:00 2001 From: cclauss Date: Sun, 18 Feb 2018 22:46:09 +0100 Subject: [PATCH 0130/1161] Convert six.moves.xrange() to range() for Python 3 --- lib/matplotlib/animation.py | 4 +-- lib/matplotlib/axes/_axes.py | 30 +++++++++---------- lib/matplotlib/axes/_base.py | 3 +- lib/matplotlib/backend_bases.py | 5 ++-- lib/matplotlib/backends/backend_svg.py | 3 +- lib/matplotlib/backends/backend_wx.py | 4 +-- lib/matplotlib/colorbar.py | 6 ++-- lib/matplotlib/contour.py | 7 ++--- lib/matplotlib/hatch.py | 3 +- lib/matplotlib/markers.py | 3 +- lib/matplotlib/mlab.py | 4 +-- lib/matplotlib/offsetbox.py | 4 +-- lib/matplotlib/stackplot.py | 5 +--- lib/matplotlib/streamplot.py | 3 +- lib/matplotlib/table.py | 11 ++++--- .../testing/jpl_units/StrConverter.py | 3 +- lib/matplotlib/tests/test_axes.py | 17 +++++------ lib/matplotlib/tri/triinterpolate.py | 3 +- lib/mpl_toolkits/axes_grid1/colorbar.py | 4 +-- lib/mpl_toolkits/mplot3d/axes3d.py | 12 ++++---- 20 files changed, 59 insertions(+), 75 deletions(-) diff --git a/lib/matplotlib/animation.py b/lib/matplotlib/animation.py index b78a21be4c8e..62c43eb17a7c 100644 --- a/lib/matplotlib/animation.py +++ b/lib/matplotlib/animation.py @@ -21,7 +21,7 @@ unicode_literals) import six -from six.moves import xrange, zip +from six.moves import zip import abc import contextlib @@ -1680,7 +1680,7 @@ def __init__(self, fig, func, frames=None, init_func=None, fargs=None, if hasattr(frames, '__len__'): self.save_count = len(frames) else: - self._iter_gen = lambda: iter(xrange(frames)) + self._iter_gen = lambda: iter(range(frames)) self.save_count = frames if self.save_count is None: diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index dc3a722484e5..07aecb19515d 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -2,7 +2,7 @@ unicode_literals) import six -from six.moves import xrange, zip, zip_longest +from six.moves import zip, zip_longest import functools import itertools @@ -3923,7 +3923,7 @@ def dopatch(xs, ys, **kwargs): else: def doplot(*args, **kwargs): shuffled = [] - for i in xrange(0, len(args), 2): + for i in range(0, len(args), 2): shuffled.extend([args[i + 1], args[i]]) return self.plot(*shuffled, **kwargs) @@ -3937,7 +3937,7 @@ def dopatch(xs, ys, **kwargs): "values must have same the length") # check position if positions is None: - positions = list(xrange(1, N + 1)) + positions = list(range(1, N + 1)) elif len(positions) != N: raise ValueError(datashape_message.format("positions")) @@ -4558,15 +4558,15 @@ def hexbin(self, x, y, C=None, gridsize=100, bins=None, # create accumulation arrays lattice1 = np.empty((nx1, ny1), dtype=object) - for i in xrange(nx1): - for j in xrange(ny1): + for i in range(nx1): + for j in range(ny1): lattice1[i, j] = [] lattice2 = np.empty((nx2, ny2), dtype=object) - for i in xrange(nx2): - for j in xrange(ny2): + for i in range(nx2): + for j in range(ny2): lattice2[i, j] = [] - for i in xrange(len(x)): + for i in range(len(x)): if bdist[i]: if 0 <= ix1[i] < nx1 and 0 <= iy1[i] < ny1: lattice1[ix1[i], iy1[i]].append(C[i]) @@ -4574,15 +4574,15 @@ def hexbin(self, x, y, C=None, gridsize=100, bins=None, if 0 <= ix2[i] < nx2 and 0 <= iy2[i] < ny2: lattice2[ix2[i], iy2[i]].append(C[i]) - for i in xrange(nx1): - for j in xrange(ny1): + for i in range(nx1): + for j in range(ny1): vals = lattice1[i, j] if len(vals) > mincnt: lattice1[i, j] = reduce_C_function(vals) else: lattice1[i, j] = np.nan - for i in xrange(nx2): - for j in xrange(ny2): + for i in range(nx2): + for j in range(ny2): vals = lattice2[i, j] if len(vals) > mincnt: lattice2[i, j] = reduce_C_function(vals) @@ -6410,7 +6410,7 @@ def hist(self, x, bins=None, range=None, density=None, weights=None, """ # Avoid shadowing the builtin. bin_range = range - del range + from builtins import range if not self._hold: self.cla() @@ -6480,7 +6480,7 @@ def hist(self, x, bins=None, range=None, density=None, weights=None, 'weights should have the same shape as x') if color is None: - color = [self._get_lines.get_next_color() for i in xrange(nx)] + color = [self._get_lines.get_next_color() for i in range(nx)] else: color = mcolors.to_rgba_array(color) if len(color) != nx: @@ -6507,7 +6507,7 @@ def hist(self, x, bins=None, range=None, density=None, weights=None, tops = [] mlast = None # Loop through datasets - for i in xrange(nx): + for i in range(nx): # this will automatically overwrite bins, # so that each histogram uses the same bins m, bins = np.histogram(x[i], bins, weights=w[i], **hist_kwargs) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 2e4266e90e97..da89811664c9 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -4,7 +4,6 @@ from collections import OrderedDict import six -from six.moves import xrange import itertools import warnings @@ -393,7 +392,7 @@ def _plot_args(self, tup, kwargs): if ncx > 1 and ncy > 1 and ncx != ncy: cbook.warn_deprecated("2.2", "cycling among columns of inputs " "with non-matching shapes is deprecated.") - for j in xrange(max(ncx, ncy)): + for j in range(max(ncx, ncy)): seg = func(x[:, j % ncx], y[:, j % ncy], kw, kwargs) ret.append(seg) return ret diff --git a/lib/matplotlib/backend_bases.py b/lib/matplotlib/backend_bases.py index d4276a02f9c2..2fe2ad59ac42 100644 --- a/lib/matplotlib/backend_bases.py +++ b/lib/matplotlib/backend_bases.py @@ -36,7 +36,6 @@ unicode_literals) import six -from six.moves import xrange from contextlib import contextmanager from functools import partial @@ -440,7 +439,7 @@ def _iter_collection_raw_paths(self, master_transform, paths, return transform = transforms.IdentityTransform() - for i in xrange(N): + for i in range(N): path = paths[i % Npaths] if Ntransforms: transform = Affine2D(all_transforms[i % Ntransforms]) @@ -518,7 +517,7 @@ def _iter_collection(self, gc, master_transform, all_transforms, gc0.set_linewidth(0.0) xo, yo = 0, 0 - for i in xrange(N): + for i in range(N): path_id = path_ids[i % Npaths] if Noffsets: xo, yo = toffsets[i % Noffsets] diff --git a/lib/matplotlib/backends/backend_svg.py b/lib/matplotlib/backends/backend_svg.py index b9e7a86cc133..5eb964b67a13 100644 --- a/lib/matplotlib/backends/backend_svg.py +++ b/lib/matplotlib/backends/backend_svg.py @@ -5,7 +5,6 @@ import six from six import unichr -from six.moves import xrange import base64 import codecs @@ -1112,7 +1111,7 @@ def _draw_text_as_text(self, gc, x, y, s, prop, angle, ismath, mtext=None): same_y = True if len(chars) > 1: last_y = chars[0][1] - for i in xrange(1, len(chars)): + for i in range(1, len(chars)): if chars[i][1] != last_y: same_y = False break diff --git a/lib/matplotlib/backends/backend_wx.py b/lib/matplotlib/backends/backend_wx.py index ad62b98cbde2..4e0faba10a73 100644 --- a/lib/matplotlib/backends/backend_wx.py +++ b/lib/matplotlib/backends/backend_wx.py @@ -17,8 +17,6 @@ unicode_literals) import six -from six.moves import xrange -import six import sys import os @@ -1448,7 +1446,7 @@ def updateAxes(self, maxAxis): for menuId in self._axisId[maxAxis:]: self._menu.Delete(menuId) self._axisId = self._axisId[:maxAxis] - self._toolbar.set_active(list(xrange(maxAxis))) + self._toolbar.set_active(list(range(maxAxis))) def getActiveAxes(self): """Return a list of the selected axes.""" diff --git a/lib/matplotlib/colorbar.py b/lib/matplotlib/colorbar.py index 9a91cef34932..380f4493bbb3 100644 --- a/lib/matplotlib/colorbar.py +++ b/lib/matplotlib/colorbar.py @@ -498,9 +498,9 @@ def _edges(self, X, Y): # Using the non-array form of these line segments is much # simpler than making them into arrays. if self.orientation == 'vertical': - return [list(zip(X[i], Y[i])) for i in xrange(1, N - 1)] + return [list(zip(X[i], Y[i])) for i in range(1, N - 1)] else: - return [list(zip(Y[i], X[i])) for i in xrange(1, N - 1)] + return [list(zip(Y[i], X[i])) for i in range(1, N - 1)] def _add_solids(self, X, Y, C): ''' @@ -1337,7 +1337,7 @@ def _add_solids(self, X, Y, C): hatches = self.mappable.hatches * n_segments patches = [] - for i in xrange(len(X) - 1): + for i in range(len(X) - 1): val = C[i][0] hatch = hatches[i] diff --git a/lib/matplotlib/contour.py b/lib/matplotlib/contour.py index d09c3f273f5f..7841181f2983 100644 --- a/lib/matplotlib/contour.py +++ b/lib/matplotlib/contour.py @@ -5,7 +5,6 @@ unicode_literals) import six -from six.moves import xrange import warnings import matplotlib as mpl @@ -164,7 +163,7 @@ def clabel(self, *args, **kwargs): self.rightside_up = kwargs.get('rightside_up', True) if len(args) == 0: levels = self.levels - indices = list(xrange(len(self.cvalues))) + indices = list(range(len(self.cvalues))) elif len(args) == 1: levlabs = list(args[0]) indices, levels = [], [] @@ -190,7 +189,7 @@ def clabel(self, *args, **kwargs): self.labelCValueList = np.take(self.cvalues, self.labelIndiceList) else: cmap = colors.ListedColormap(_colors, N=len(self.labelLevelList)) - self.labelCValueList = list(xrange(len(self.labelLevelList))) + self.labelCValueList = list(range(len(self.labelLevelList))) self.labelMappable = cm.ScalarMappable(cmap=cmap, norm=colors.NoNorm()) @@ -1340,7 +1339,7 @@ def find_nearest_contour(self, x, y, indices=None, pixel=True): # Nonetheless, improvements could probably be made. if indices is None: - indices = list(xrange(len(self.levels))) + indices = list(range(len(self.levels))) dmin = np.inf conmin = None diff --git a/lib/matplotlib/hatch.py b/lib/matplotlib/hatch.py index 94294afdf8a8..dbe2a33cf0e9 100644 --- a/lib/matplotlib/hatch.py +++ b/lib/matplotlib/hatch.py @@ -6,7 +6,6 @@ unicode_literals) import six -from six.moves import xrange import numpy as np from matplotlib.path import Path @@ -115,7 +114,7 @@ def set_vertices_and_codes(self, vertices, codes): shape_size = len(shape_vertices) cursor = 0 - for row in xrange(self.num_rows + 1): + for row in range(self.num_rows + 1): if row % 2 == 0: cols = np.linspace(0.0, 1.0, self.num_rows + 1, True) else: diff --git a/lib/matplotlib/markers.py b/lib/matplotlib/markers.py index d27cb1456b0c..619386101ccf 100644 --- a/lib/matplotlib/markers.py +++ b/lib/matplotlib/markers.py @@ -87,7 +87,6 @@ unicode_literals) import six -from six.moves import xrange from collections import Sized from numbers import Number @@ -101,7 +100,7 @@ # special-purpose marker identifiers: (TICKLEFT, TICKRIGHT, TICKUP, TICKDOWN, CARETLEFT, CARETRIGHT, CARETUP, CARETDOWN, - CARETLEFTBASE, CARETRIGHTBASE, CARETUPBASE, CARETDOWNBASE) = xrange(12) + CARETLEFTBASE, CARETRIGHTBASE, CARETUPBASE, CARETDOWNBASE) = range(12) _empty_path = Path(np.empty((0, 2))) diff --git a/lib/matplotlib/mlab.py b/lib/matplotlib/mlab.py index 45731ee6b222..7740ab19e64d 100644 --- a/lib/matplotlib/mlab.py +++ b/lib/matplotlib/mlab.py @@ -166,7 +166,7 @@ unicode_literals) import six -from six.moves import map, xrange, zip +from six.moves import map, zip import copy import csv @@ -1453,7 +1453,7 @@ def cohere_pairs(X, ij, NFFT=256, Fs=2, detrend=detrend_none, windowVals = window else: windowVals = window(np.ones(NFFT, X.dtype)) - ind = list(xrange(0, numRows-NFFT+1, NFFT-noverlap)) + ind = list(range(0, numRows-NFFT+1, NFFT-noverlap)) numSlices = len(ind) FFTSlices = {} FFTConjSlices = {} diff --git a/lib/matplotlib/offsetbox.py b/lib/matplotlib/offsetbox.py index e6f800ef65e8..ad533de947b8 100644 --- a/lib/matplotlib/offsetbox.py +++ b/lib/matplotlib/offsetbox.py @@ -18,7 +18,7 @@ unicode_literals) import six -from six.moves import xrange, zip +from six.moves import zip import warnings import matplotlib.transforms as mtransforms @@ -1194,7 +1194,7 @@ def _get_anchored_bbox(self, loc, bbox, parentbbox, borderpad): """ assert loc in range(1, 11) # called only internally - BEST, UR, UL, LL, LR, R, CL, CR, LC, UC, C = xrange(11) + BEST, UR, UL, LL, LR, R, CL, CR, LC, UC, C = range(11) anchor_coefs = {UR: "NE", UL: "NW", diff --git a/lib/matplotlib/stackplot.py b/lib/matplotlib/stackplot.py index 281e3d5e1039..9bfe218b182d 100644 --- a/lib/matplotlib/stackplot.py +++ b/lib/matplotlib/stackplot.py @@ -9,9 +9,6 @@ from __future__ import (absolute_import, division, print_function, unicode_literals) -import six -from six.moves import xrange - from cycler import cycler import numpy as np @@ -120,7 +117,7 @@ def stackplot(axes, x, *args, **kwargs): r = [coll] # Color between array i-1 and array i - for i in xrange(len(y) - 1): + for i in range(len(y) - 1): color = axes._get_lines.get_next_color() r.append(axes.fill_between(x, stack[i, :], stack[i + 1, :], facecolor=color, label=next(labels, None), diff --git a/lib/matplotlib/streamplot.py b/lib/matplotlib/streamplot.py index 752a11eb4aaf..9f833a7669a7 100644 --- a/lib/matplotlib/streamplot.py +++ b/lib/matplotlib/streamplot.py @@ -6,7 +6,6 @@ unicode_literals) import six -from six.moves import xrange import numpy as np import matplotlib @@ -648,7 +647,7 @@ def _gen_starting_points(shape): x, y = 0, 0 i = 0 direction = 'right' - for i in xrange(nx * ny): + for i in range(nx * ny): yield x, y diff --git a/lib/matplotlib/table.py b/lib/matplotlib/table.py index ee7908ca9d7a..bc335f35aea6 100644 --- a/lib/matplotlib/table.py +++ b/lib/matplotlib/table.py @@ -23,7 +23,6 @@ unicode_literals) import six -from six.moves import xrange import warnings @@ -551,7 +550,7 @@ def _update_positions(self, renderer): else: # Position using loc (BEST, UR, UL, LL, LR, CL, CR, LC, UC, C, - TR, TL, BL, BR, R, L, T, B) = xrange(len(self.codes)) + TR, TL, BL, BR, R, L, T, B) = range(len(self.codes)) # defaults for center ox = (0.5 - w / 2) - l oy = (0.5 - h / 2) - b @@ -670,8 +669,8 @@ def table(ax, height = table._approx_text_height() # Add the cells - for row in xrange(rows): - for col in xrange(cols): + for row in range(rows): + for col in range(cols): table.add_cell(row + offset, col, width=colWidths[col], height=height, text=cellText[row][col], @@ -679,7 +678,7 @@ def table(ax, loc=cellLoc) # Do column labels if colLabels is not None: - for col in xrange(cols): + for col in range(cols): table.add_cell(0, col, width=colWidths[col], height=height, text=colLabels[col], facecolor=colColours[col], @@ -687,7 +686,7 @@ def table(ax, # Do row labels if rowLabels is not None: - for row in xrange(rows): + for row in range(rows): table.add_cell(row + offset, -1, width=rowLabelWidth or 1e-15, height=height, text=rowLabels[row], facecolor=rowColours[row], diff --git a/lib/matplotlib/testing/jpl_units/StrConverter.py b/lib/matplotlib/testing/jpl_units/StrConverter.py index b5b8814f7c78..81595e367fb1 100644 --- a/lib/matplotlib/testing/jpl_units/StrConverter.py +++ b/lib/matplotlib/testing/jpl_units/StrConverter.py @@ -14,7 +14,6 @@ unicode_literals) import six -from six.moves import xrange import matplotlib.units as units from matplotlib.cbook import iterable @@ -119,7 +118,7 @@ def convert( value, unit, axis ): # add padding (so they do not appear on the axes themselves) labels = [ '' ] + labels + [ '' ] - ticks = list(xrange( len(labels) )) + ticks = list(range( len(labels) )) ticks[0] = 0.5 ticks[-1] = ticks[-1] - 0.5 diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index 04ef89f736e3..253040e016e7 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -1,7 +1,6 @@ from __future__ import absolute_import, division, print_function import six -from six.moves import xrange from itertools import chain, product from distutils.version import LooseVersion import io @@ -283,7 +282,7 @@ def test_autoscale_tiny_range(): # github pull #904 fig, ax = plt.subplots(2, 2) ax = ax.flatten() - for i in xrange(4): + for i in range(4): y1 = 10**(-11 - i) ax[i].plot([0, 1], [1, 1 + y1]) @@ -2888,8 +2887,8 @@ def test_stem_args(): fig = plt.figure() ax = fig.add_subplot(1, 1, 1) - x = list(xrange(10)) - y = list(xrange(10)) + x = list(range(10)) + y = list(range(10)) # Test the call signatures ax.stem(y) @@ -3261,7 +3260,7 @@ def test_markers_fillstyle_rcparams(): @image_comparison(baseline_images=['vertex_markers'], extensions=['png'], remove_text=True) def test_vertex_markers(): - data = list(xrange(10)) + data = list(range(10)) marker_as_tuple = ((-1, -1), (1, -1), (1, 1), (-1, 1)) marker_as_list = [(-1, -1), (1, -1), (1, 1), (-1, 1)] fig = plt.figure() @@ -3275,7 +3274,7 @@ def test_vertex_markers(): @image_comparison(baseline_images=['vline_hline_zorder', 'errorbar_zorder']) def test_eb_line_zorder(): - x = list(xrange(10)) + x = list(range(10)) # First illustrate basic pyplot interface, using defaults where possible. fig = plt.figure() @@ -3291,9 +3290,9 @@ def test_eb_line_zorder(): # Now switch to a more OO interface to exercise more features. fig = plt.figure() ax = fig.gca() - x = list(xrange(10)) + x = list(range(10)) y = np.zeros(10) - yerr = list(xrange(10)) + yerr = list(range(10)) ax.errorbar(x, y, yerr=yerr, zorder=5, lw=5, color='r') for j in range(10): ax.axhline(j, lw=5, color='k', zorder=j) @@ -3422,7 +3421,7 @@ def test_mixed_collection(): from matplotlib import patches from matplotlib import collections - x = list(xrange(10)) + x = list(range(10)) # First illustrate basic pyplot interface, using defaults where possible. fig = plt.figure() diff --git a/lib/matplotlib/tri/triinterpolate.py b/lib/matplotlib/tri/triinterpolate.py index e0c2047489a5..49993c07a4eb 100644 --- a/lib/matplotlib/tri/triinterpolate.py +++ b/lib/matplotlib/tri/triinterpolate.py @@ -5,7 +5,6 @@ unicode_literals) import six -from six.moves import xrange from matplotlib.tri import Triangulation from matplotlib.tri.trifinder import TriFinder @@ -1533,7 +1532,7 @@ def _prod_vectorized(M1, M2): assert sh1[-1] == sh2[-2] ndim1 = len(sh1) - t1_index = list(xrange(ndim1-2)) + [ndim1-1, ndim1-2] + t1_index = list(range(ndim1-2)) + [ndim1-1, ndim1-2] return np.sum(np.transpose(M1, t1_index)[..., np.newaxis] * M2[..., np.newaxis, :], -3) diff --git a/lib/mpl_toolkits/axes_grid1/colorbar.py b/lib/mpl_toolkits/axes_grid1/colorbar.py index 9475912e1e23..a8176f0ded5f 100644 --- a/lib/mpl_toolkits/axes_grid1/colorbar.py +++ b/lib/mpl_toolkits/axes_grid1/colorbar.py @@ -583,9 +583,9 @@ def add_lines(self, levels, colors, linewidths): x = np.array([1.0, 2.0]) X, Y = np.meshgrid(x,levels) if self.orientation == 'vertical': - xy = [list(zip(X[i], Y[i])) for i in xrange(N)] + xy = [list(zip(X[i], Y[i])) for i in range(N)] else: - xy = [list(zip(Y[i], X[i])) for i in xrange(N)] + xy = [list(zip(Y[i], X[i])) for i in range(N)] col = collections.LineCollection(xy, linewidths=linewidths, ) self.lines = col diff --git a/lib/mpl_toolkits/mplot3d/axes3d.py b/lib/mpl_toolkits/mplot3d/axes3d.py index 078fe382dfaf..27da6ed63b84 100644 --- a/lib/mpl_toolkits/mplot3d/axes3d.py +++ b/lib/mpl_toolkits/mplot3d/axes3d.py @@ -13,7 +13,7 @@ unicode_literals) import six -from six.moves import map, xrange, zip, reduce +from six.moves import map, zip, reduce import math import warnings @@ -1693,8 +1693,8 @@ def plot_surface(self, X, Y, Z, *args, **kwargs): #colset contains the data for coloring: either average z or the facecolor colset = [] - for rs in xrange(0, rows-1, rstride): - for cs in xrange(0, cols-1, cstride): + for rs in range(0, rows-1, rstride): + for cs in range(0, cols-1, cstride): ps = [] for a in (X, Y, Z): ztop = a[rs,cs:min(cols, cs+cstride+1)] @@ -1709,7 +1709,7 @@ def plot_surface(self, X, Y, Z, *args, **kwargs): # are removed here. ps = list(zip(*ps)) lastp = np.array([]) - ps2 = [ps[0]] + [ps[i] for i in xrange(1, len(ps)) if ps[i] != ps[i-1]] + ps2 = [ps[0]] + [ps[i] for i in range(1, len(ps)) if ps[i] != ps[i-1]] avgzsum = sum(p[2] for p in ps2) polys.append(ps2) @@ -1878,14 +1878,14 @@ def plot_wireframe(self, X, Y, Z, *args, **kwargs): tX, tY, tZ = np.transpose(X), np.transpose(Y), np.transpose(Z) if rstride: - rii = list(xrange(0, rows, rstride)) + rii = list(range(0, rows, rstride)) # Add the last index only if needed if rows > 0 and rii[-1] != (rows - 1): rii += [rows-1] else: rii = [] if cstride: - cii = list(xrange(0, cols, cstride)) + cii = list(range(0, cols, cstride)) # Add the last index only if needed if cols > 0 and cii[-1] != (cols - 1): cii += [cols-1] From cb2930a4cafe7c30aa46f8cdfc813e32276cc848 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Tue, 20 Feb 2018 01:08:14 +0100 Subject: [PATCH 0131/1161] More argumentless (py3) super() --- lib/matplotlib/backends/backend_gtk3.py | 3 +-- lib/mpl_toolkits/axes_grid1/mpl_axes.py | 1 + lib/mpl_toolkits/axisartist/axislines.py | 10 ++-------- 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/lib/matplotlib/backends/backend_gtk3.py b/lib/matplotlib/backends/backend_gtk3.py index 359b8fd88488..f562e13b3b85 100644 --- a/lib/matplotlib/backends/backend_gtk3.py +++ b/lib/matplotlib/backends/backend_gtk3.py @@ -604,8 +604,7 @@ def __init__ (self, filetypes = [], default_filetype = None ): - super (FileChooserDialog, self).__init__ (title, parent, action, - buttons) + super().__init__(title, parent, action, buttons) self.set_default_response (Gtk.ResponseType.OK) if not path: path = os.getcwd() + os.sep diff --git a/lib/mpl_toolkits/axes_grid1/mpl_axes.py b/lib/mpl_toolkits/axes_grid1/mpl_axes.py index ef44bac29b3b..337865b4ad61 100644 --- a/lib/mpl_toolkits/axes_grid1/mpl_axes.py +++ b/lib/mpl_toolkits/axes_grid1/mpl_axes.py @@ -32,6 +32,7 @@ def __getitem__(self, k): if isinstance(k, tuple): r = SimpleChainedObjects( [super(Axes.AxisDict, self).__getitem__(k1) for k1 in k]) + # super() within a list comprehension needs explicit args return r elif isinstance(k, slice): if k.start is None and k.stop is None and k.step is None: diff --git a/lib/mpl_toolkits/axisartist/axislines.py b/lib/mpl_toolkits/axisartist/axislines.py index 16ea8edfad14..3c8c7542a155 100644 --- a/lib/mpl_toolkits/axisartist/axislines.py +++ b/lib/mpl_toolkits/axisartist/axislines.py @@ -207,18 +207,12 @@ def get_tick_transform(self, axes): return trans_tick - class Floating(_Base): - def __init__(self, nth_coord, - value): + def __init__(self, nth_coord, value): self.nth_coord = nth_coord - self._value = value - - super(AxisArtistHelper.Floating, - self).__init__() - + super().__init__() def get_nth_coord(self): return self.nth_coord From 1571c92ff809c5deb755db7b09c9f60d1dc2a771 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20N=C3=B6the?= Date: Tue, 20 Feb 2018 16:23:14 +0100 Subject: [PATCH 0132/1161] Implement PdfPages for backend pgf --- lib/matplotlib/backends/backend_pgf.py | 176 +++++++++++++++++++++++ lib/matplotlib/tests/test_backend_pgf.py | 28 ++++ 2 files changed, 204 insertions(+) diff --git a/lib/matplotlib/backends/backend_pgf.py b/lib/matplotlib/backends/backend_pgf.py index cec6358452d7..ee03ad7c7518 100644 --- a/lib/matplotlib/backends/backend_pgf.py +++ b/lib/matplotlib/backends/backend_pgf.py @@ -25,6 +25,8 @@ from matplotlib.compat import subprocess from matplotlib.compat.subprocess import check_output from matplotlib.path import Path +from matplotlib.figure import Figure +from matplotlib._pylab_helpers import Gcf ############################################################################### @@ -987,4 +989,178 @@ def _cleanup_all(): LatexManager._cleanup_remaining_instances() TmpDirCleaner.cleanup_remaining_tmpdirs() + atexit.register(_cleanup_all) + + +class PdfPages(object): + """ + A multi-page PDF file using the pgf backend + + Examples + -------- + + >>> import matplotlib.pyplot as plt + >>> # Initialize: + >>> with PdfPages('foo.pdf') as pdf: + ... # As many times as you like, create a figure fig and save it: + ... fig = plt.figure() + ... pdf.savefig(fig) + ... # When no figure is specified the current figure is saved + ... pdf.savefig() + """ + __slots__ = ( + 'outputfile', + 'keep_empty', + 'tmpdir', + 'base_name', + 'fname_tex', + 'fname_pdf', + '_n_figures', + '_file', + ) + + def __init__(self, filename, keep_empty=True, metadata=None): + """ + Create a new PdfPages object. + + Parameters + ---------- + + filename : str + Plots using :meth:`PdfPages.savefig` will be written to a file at + this location. Any older file with the same name is overwritten. + keep_empty : bool, optional + If set to False, then empty pdf files will be deleted automatically + when closed. + metadata : dictionary, optional + Information dictionary object (see PDF reference section 10.2.1 + 'Document Information Dictionary'), e.g.: + `{'Creator': 'My software', 'Author': 'Me', + 'Title': 'Awesome fig'}` + + The standard keys are `'Title'`, `'Author'`, `'Subject'`, + `'Keywords'`, `'Creator'`, `'Producer'`, `'CreationDate'`, + `'ModDate'`, and `'Trapped'`. Values have been predefined + for `'Creator'`, `'Producer'` and `'CreationDate'`. They + can be removed by setting them to `None`. + """ + self.outputfile = filename + self._n_figures = 0 + self.keep_empty = keep_empty + + # create temporary directory for compiling the figure + self.tmpdir = tempfile.mkdtemp(prefix="mpl_pgf_pdfpages_") + self.base_name = 'pdf_pages' + self.fname_tex = os.path.join(self.tmpdir, self.base_name + ".tex") + self.fname_pdf = os.path.join(self.tmpdir, self.base_name + ".pdf") + self._file = open(self.fname_tex, 'wb') + + def _write_header(self, width_inches, height_inches): + latex_preamble = get_preamble() + latex_fontspec = get_fontspec() + latex_header = r"""\documentclass[12pt]{minimal} +\usepackage[paperwidth=%fin, paperheight=%fin, margin=0in]{geometry} +%s +%s +\usepackage{pgf} +\setlength{\parindent}{0pt} + +\begin{document}%% +""" % (width_inches, height_inches, latex_preamble, latex_fontspec) + self._file.write(latex_header.encode('utf-8')) + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_val, exc_tb): + self.close() + + def close(self): + """ + Finalize this object, running LaTeX in a temporary directory + and moving the final pdf file to `filename`. + """ + self._file.write(r'\end{document}'.encode('utf-8') + b'\n') + self._file.close() + + if self._n_figures > 0: + try: + self._run_latex() + finally: + pass + # try: + # shutil.rmtree(self.tmpdir) + # except: + # TmpDirCleaner.add(self.tmpdir) + elif self.keep_empty: + open(self.outputfile, 'wb').close() + + def _run_latex(self): + texcommand = get_texcommand() + cmdargs = [ + str(texcommand), + "-interaction=nonstopmode", + "-halt-on-error", + os.path.basename(self.fname_tex), + ] + try: + check_output(cmdargs, stderr=subprocess.STDOUT, cwd=self.tmpdir) + except subprocess.CalledProcessError as e: + raise RuntimeError( + "%s was not able to process your file.\n\nFull log:\n%s" + % (texcommand, e.output.decode('utf-8'))) + + # copy file contents to target + with open(self.fname_pdf, "rb") as fh_src, open(self.outputfile, "wb") as fh: + shutil.copyfileobj(fh_src, fh) + + def savefig(self, figure=None, **kwargs): + """ + Saves a :class:`~matplotlib.figure.Figure` to this file as a new page. + + Any other keyword arguments are passed to + :meth:`~matplotlib.figure.Figure.savefig`. + + Parameters + ---------- + + figure : :class:`~matplotlib.figure.Figure` or int, optional + Specifies what figure is saved to file. If not specified, the + active figure is saved. If a :class:`~matplotlib.figure.Figure` + instance is provided, this figure is saved. If an int is specified, + the figure instance to save is looked up by number. + """ + if not isinstance(figure, Figure): + if figure is None: + manager = Gcf.get_active() + else: + manager = Gcf.get_fig_manager(figure) + if manager is None: + raise ValueError("No figure {}".format(figure)) + figure = manager.canvas.figure + + try: + orig_canvas = figure.canvas + figure.canvas = FigureCanvasPgf(figure) + + if self._n_figures == 0: + self._write_header(*figure.get_size_inches()) + else: + self._file.write( + r'\newpage\pdfpagewidth={}in\pdfpageheight={}in%'.format( + *figure.get_size_inches() + ).encode('utf-8') + b'\n' + ) + figure.savefig(self._file, format="pgf", **kwargs) + self._n_figures += 1 + except Exception as e: + print(e) + finally: + figure.canvas = orig_canvas + + def get_pagecount(self): + """ + Returns the current number of pages in the multipage pdf file. + """ + return self._n_figures diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py index 8269808af9d6..ac57d42e68fe 100644 --- a/lib/matplotlib/tests/test_backend_pgf.py +++ b/lib/matplotlib/tests/test_backend_pgf.py @@ -12,6 +12,7 @@ from matplotlib.compat import subprocess from matplotlib.testing.compare import compare_images, ImageComparisonFailure from matplotlib.testing.decorators import image_comparison, _image_directories +from matplotlib.backends.backend_pgf import PdfPages baseline_dir, result_dir = _image_directories(lambda: 'dummy func') @@ -195,3 +196,30 @@ def test_bbox_inches(): bbox = ax1.get_window_extent().transformed(fig.dpi_scale_trans.inverted()) compare_figure('pgf_bbox_inches.pdf', savefig_kwargs={'bbox_inches': bbox}, tol=0) + + +@needs_pdflatex +@pytest.mark.style('default') +@pytest.mark.backend('pgf') +def test_pdf_pages(): + rc_pdflatex = { + 'font.family': 'serif', + 'pgf.rcfonts': False, + } + mpl.rcParams.update(rc_pdflatex) + + Y, X = np.ogrid[-1:1:40j, -1:1:40j] + + fig1 = plt.figure() + ax1 = fig1.add_subplot(1, 1, 1) + ax1.plot(range(5)) + fig1.tight_layout() + + fig2 = plt.figure(figsize=(3, 2)) + ax2 = fig2.add_subplot(1, 1, 1) + ax2.plot(range(5)) + fig2.tight_layout() + + with PdfPages(os.path.join(result_dir, 'pdfpages.pdf')) as pdf: + pdf.savefig(fig1) + pdf.savefig(fig2) From 1ce415cb866ff441e54ad23912093ba3ae14e6f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20N=C3=B6the?= Date: Tue, 20 Feb 2018 16:28:49 +0100 Subject: [PATCH 0133/1161] Cleanup tmpdir --- lib/matplotlib/backends/backend_pgf.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/lib/matplotlib/backends/backend_pgf.py b/lib/matplotlib/backends/backend_pgf.py index ee03ad7c7518..6507c262531e 100644 --- a/lib/matplotlib/backends/backend_pgf.py +++ b/lib/matplotlib/backends/backend_pgf.py @@ -1088,11 +1088,10 @@ def close(self): try: self._run_latex() finally: - pass - # try: - # shutil.rmtree(self.tmpdir) - # except: - # TmpDirCleaner.add(self.tmpdir) + try: + shutil.rmtree(self.tmpdir) + except: + TmpDirCleaner.add(self.tmpdir) elif self.keep_empty: open(self.outputfile, 'wb').close() From 455fc0ca1121e820f96835e7e3434949d8be0f5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20N=C3=B6the?= Date: Tue, 20 Feb 2018 17:04:33 +0100 Subject: [PATCH 0134/1161] Make members private --- lib/matplotlib/backends/backend_pgf.py | 32 +++++++++++++------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/lib/matplotlib/backends/backend_pgf.py b/lib/matplotlib/backends/backend_pgf.py index 6507c262531e..09108fa4b2bf 100644 --- a/lib/matplotlib/backends/backend_pgf.py +++ b/lib/matplotlib/backends/backend_pgf.py @@ -1010,12 +1010,12 @@ class PdfPages(object): ... pdf.savefig() """ __slots__ = ( - 'outputfile', + '_outputfile', 'keep_empty', - 'tmpdir', - 'base_name', - 'fname_tex', - 'fname_pdf', + '_tmpdir', + '_basename', + '_fname_tex', + '_fname_pdf', '_n_figures', '_file', ) @@ -1045,16 +1045,16 @@ def __init__(self, filename, keep_empty=True, metadata=None): for `'Creator'`, `'Producer'` and `'CreationDate'`. They can be removed by setting them to `None`. """ - self.outputfile = filename + self._outputfile = filename self._n_figures = 0 self.keep_empty = keep_empty # create temporary directory for compiling the figure - self.tmpdir = tempfile.mkdtemp(prefix="mpl_pgf_pdfpages_") - self.base_name = 'pdf_pages' - self.fname_tex = os.path.join(self.tmpdir, self.base_name + ".tex") - self.fname_pdf = os.path.join(self.tmpdir, self.base_name + ".pdf") - self._file = open(self.fname_tex, 'wb') + self._tmpdir = tempfile.mkdtemp(prefix="mpl_pgf_pdfpages_") + self._basename = 'pdf_pages' + self._fname_tex = os.path.join(self._tmpdir, self._basename + ".tex") + self._fname_pdf = os.path.join(self._tmpdir, self._basename + ".pdf") + self._file = open(self._fname_tex, 'wb') def _write_header(self, width_inches, height_inches): latex_preamble = get_preamble() @@ -1089,11 +1089,11 @@ def close(self): self._run_latex() finally: try: - shutil.rmtree(self.tmpdir) + shutil.rmtree(self._tmpdir) except: - TmpDirCleaner.add(self.tmpdir) + TmpDirCleaner.add(self._tmpdir) elif self.keep_empty: - open(self.outputfile, 'wb').close() + open(self._outputfile, 'wb').close() def _run_latex(self): texcommand = get_texcommand() @@ -1104,14 +1104,14 @@ def _run_latex(self): os.path.basename(self.fname_tex), ] try: - check_output(cmdargs, stderr=subprocess.STDOUT, cwd=self.tmpdir) + check_output(cmdargs, stderr=subprocess.STDOUT, cwd=self._tmpdir) except subprocess.CalledProcessError as e: raise RuntimeError( "%s was not able to process your file.\n\nFull log:\n%s" % (texcommand, e.output.decode('utf-8'))) # copy file contents to target - with open(self.fname_pdf, "rb") as fh_src, open(self.outputfile, "wb") as fh: + with open(self.fname_pdf, "rb") as fh_src, open(self._outputfile, "wb") as fh: shutil.copyfileobj(fh_src, fh) def savefig(self, figure=None, **kwargs): From 7757bbc6fc2b7d939ba6b1013d45b2f3aec475d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20N=C3=B6the?= Date: Tue, 20 Feb 2018 17:04:47 +0100 Subject: [PATCH 0135/1161] Do not catch exception --- lib/matplotlib/backends/backend_pgf.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib/matplotlib/backends/backend_pgf.py b/lib/matplotlib/backends/backend_pgf.py index 09108fa4b2bf..e5909c1c1e78 100644 --- a/lib/matplotlib/backends/backend_pgf.py +++ b/lib/matplotlib/backends/backend_pgf.py @@ -1153,8 +1153,6 @@ def savefig(self, figure=None, **kwargs): ) figure.savefig(self._file, format="pgf", **kwargs) self._n_figures += 1 - except Exception as e: - print(e) finally: figure.canvas = orig_canvas From 7d08d3d9f7cb9dc3b9ae766e71611e2625c2cacf Mon Sep 17 00:00:00 2001 From: Importance of Being Ernest Date: Tue, 20 Feb 2018 17:07:43 +0100 Subject: [PATCH 0136/1161] Update matplotlibrc.template --- matplotlibrc.template | 100 +++++++++++++++++++++--------------------- 1 file changed, 51 insertions(+), 49 deletions(-) diff --git a/matplotlibrc.template b/matplotlibrc.template index 45debfb37526..3c9d6f4cbc7b 100644 --- a/matplotlibrc.template +++ b/matplotlibrc.template @@ -46,7 +46,7 @@ backend : $TEMPLATE_BACKEND ## forcing the use of Version 2 API for QString and QVariant. ## The port to use for the web server in the WebAgg backend. -#webagg.port : 8888 +#webagg.port : 8988 ## The address on which the WebAgg web server should be reachable #webagg.address : 127.0.0.1 @@ -81,16 +81,16 @@ backend : $TEMPLATE_BACKEND #lines.marker : None ## the default marker #lines.markeredgewidth : 1.0 ## the line width around the marker symbol #lines.markersize : 6 ## markersize, in points -#lines.dash_joinstyle : miter ## miter|round|bevel +#lines.dash_joinstyle : round ## miter|round|bevel #lines.dash_capstyle : butt ## butt|round|projecting -#lines.solid_joinstyle : miter ## miter|round|bevel +#lines.solid_joinstyle : round ## miter|round|bevel #lines.solid_capstyle : projecting ## butt|round|projecting #lines.antialiased : True ## render lines in antialiased (no jaggies) ## The three standard dash patterns. These are scaled by the linewidth. -#lines.dashed_pattern : 2.8, 1.2 -#lines.dashdot_pattern : 4.8, 1.2, 0.8, 1.2 -#lines.dotted_pattern : 1.1, 1.1 +#lines.dashed_pattern : 3.7, 1.6 +#lines.dashdot_pattern : 6.4, 1.6, 1, 1.6 +#lines.dotted_pattern : 1, 1.65 #lines.scale_dashes : True #markers.fillstyle: full ## full|left|right|bottom|top|none @@ -102,7 +102,7 @@ backend : $TEMPLATE_BACKEND ## information on patch properties #patch.linewidth : 1 ## edge width in points. #patch.facecolor : C0 -#patch.edgecolor : black ## if forced, or patch is not filled +#patch.edgecolor : k ## if forced, or patch is not filled #patch.force_edgecolor : False ## True to always use edgecolor #patch.antialiased : True ## render patches in antialiased (no jaggies) @@ -151,7 +151,7 @@ backend : $TEMPLATE_BACKEND #boxplot.meanprops.markerfacecolor : C2 #boxplot.meanprops.markeredgecolor : C2 #boxplot.meanprops.markersize : 6 -#boxplot.meanprops.linestyle : none +#boxplot.meanprops.linestyle : -- #boxplot.meanprops.linewidth : 1.0 @@ -194,7 +194,7 @@ backend : $TEMPLATE_BACKEND #font.family : sans-serif #font.style : normal #font.variant : normal -#font.weight : medium +#font.weight : normal #font.stretch : normal ## note that font.size controls default text sizes. To configure ## special text sizes tick labels, axes, labels, title, etc, see the rc @@ -202,17 +202,17 @@ backend : $TEMPLATE_BACKEND ## relative to font.size, using the following values: xx-small, x-small, ## small, medium, large, x-large, xx-large, larger, or smaller #font.size : 10.0 -#font.serif : DejaVu Serif, Bitstream Vera Serif, New Century Schoolbook, Century Schoolbook L, Utopia, ITC Bookman, Bookman, Nimbus Roman No9 L, Times New Roman, Times, Palatino, Charter, serif -#font.sans-serif : DejaVu Sans, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif +#font.serif : DejaVu Serif, Bitstream Vera Serif, Computer Modern Roman, New Century Schoolbook, Century Schoolbook L, Utopia, ITC Bookman, Bookman, Nimbus Roman No9 L, Times New Roman, Times, Palatino, Charter, serif +#font.sans-serif : DejaVu Sans, Bitstream Vera Sans, Computer Modern Sans Serif, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif #font.cursive : Apple Chancery, Textile, Zapf Chancery, Sand, Script MT, Felipa, cursive -#font.fantasy : Comic Sans MS, Chicago, Charcoal, Impact, Western, Humor Sans, xkcd, fantasy -#font.monospace : DejaVu Sans Mono, Bitstream Vera Sans Mono, Andale Mono, Nimbus Mono L, Courier New, Courier, Fixed, Terminal, monospace +#font.fantasy : Comic Sans MS, Chicago, Charcoal, ImpactWestern, Humor Sans, xkcd, fantasy +#font.monospace : DejaVu Sans Mono, Bitstream Vera Sans Mono, Computer Modern Typewriter, Andale Mono, Nimbus Mono L, Courier New, Courier, Fixed, Terminal, monospace #### TEXT ## text properties used by text.Text. See ## http://matplotlib.org/api/artist_api.html#module-matplotlib.text for more ## information on text properties -#text.color : black +#text.color : k #### LaTeX customizations. See http://wiki.scipy.org/Cookbook/Matplotlib/UsingTex #text.usetex : False ## use latex for all text handling. The following fonts @@ -226,7 +226,7 @@ backend : $TEMPLATE_BACKEND ## matplotlib mailing list #text.latex.unicode : False ## use "ucs" and "inputenc" LaTeX packages for handling ## unicode strings. -#text.latex.preamble : ## IMPROPER USE OF THIS FEATURE WILL LEAD TO LATEX FAILURES +#text.latex.preamble : ## IMPROPER USE OF THIS FEATURE WILL LEAD TO LATEX FAILURES ## AND IS THEREFORE UNSUPPORTED. PLEASE DO NOT ASK FOR HELP ## IF THIS FEATURE DOES NOT DO WHAT YOU EXPECT IT TO. ## preamble is a comma separated list of LaTeX statements @@ -240,12 +240,12 @@ backend : $TEMPLATE_BACKEND #text.latex.preview : False #text.hinting : auto ## May be one of the following: - ## 'none': Perform no hinting - ## 'auto': Use FreeType's autohinter - ## 'native': Use the hinting information in the + ## none: Perform no hinting + ## auto: Use FreeType's autohinter + ## native: Use the hinting information in the # font file, if available, and if your # FreeType library supports it - ## 'either': Use the native hinting information, + ## either: Use the native hinting information, # or the autohinter if none is available. ## For backward compatibility, this value may also be ## True === 'auto' or False === 'none'. @@ -261,10 +261,10 @@ backend : $TEMPLATE_BACKEND ## Note that this "custom" mode is unsupported and may go away in the ## future. #mathtext.cal : cursive -#mathtext.rm : serif +#mathtext.rm : sans #mathtext.tt : monospace -#mathtext.it : serif:italic -#mathtext.bf : serif:bold +#mathtext.it : sans:italic +#mathtext.bf : sans:bold #mathtext.sf : sans #mathtext.fontset : dejavusans ## Should be 'dejavusans' (default), ## 'dejavuserif', 'cm' (Computer Modern), 'stix', @@ -281,8 +281,8 @@ backend : $TEMPLATE_BACKEND ## default face and edge color, default tick sizes, ## default fontsizes for ticklabels, and so on. See ## http://matplotlib.org/api/axes_api.html#module-matplotlib.axes -#axes.facecolor : white ## axes background color -#axes.edgecolor : black ## axes edge color +#axes.facecolor : w ## axes background color +#axes.edgecolor : k ## axes edge color #axes.linewidth : 0.8 ## edge linewidth #axes.grid : False ## display grid or not #axes.grid.axis : both ## which axis the grid should apply to @@ -293,7 +293,7 @@ backend : $TEMPLATE_BACKEND #axes.labelsize : medium ## fontsize of the x any y labels #axes.labelpad : 4.0 ## space between label and axis #axes.labelweight : normal ## weight of the x and y labels -#axes.labelcolor : black +#axes.labelcolor : k #axes.axisbelow : line ## draw axis gridlines and ticks below ## patches (True); above patches but below ## lines ('line'); or above all (False) @@ -326,6 +326,8 @@ backend : $TEMPLATE_BACKEND #axes.prop_cycle : cycler('color', ['1f77b4', 'ff7f0e', '2ca02c', 'd62728', '9467bd', '8c564b', 'e377c2', '7f7f7f', 'bcbd22', '17becf']) ## color cycle for plot lines as list of string ## colorspecs: single letter, long name, or web-style hex + ## Note the use of string escapes here ('1f77b4', instead of 1f77b4) + ## as opposed to the rest of this file. #axes.autolimit_mode : data ## How to scale axes limits to the data. ## Use "data" to use data limits, plus some margin ## Use "round_number" move to the nearest "round" number @@ -427,8 +429,8 @@ backend : $TEMPLATE_BACKEND #figure.titleweight : normal ## weight of the figure title #figure.figsize : 6.4, 4.8 ## figure size in inches #figure.dpi : 100 ## figure dots per inch -#figure.facecolor : white ## figure facecolor; 0.75 is scalar gray -#figure.edgecolor : white ## figure edgecolor +#figure.facecolor : w ## figure facecolor; 0.75 is scalar gray +#figure.edgecolor : w ## figure edgecolor #figure.frameon : True ## enable figure frame #figure.max_open_warning : 20 ## The maximum number of figures to open through ## the pyplot interface before emitting a warning. @@ -496,9 +498,9 @@ backend : $TEMPLATE_BACKEND #path.simplify : True ## When True, simplify paths by removing "invisible" ## points to reduce file size and increase rendering ## speed -#path.simplify_threshold : 0.1 ## The threshold of similarity below which - ## vertices will be removed in the simplification - ## process +#path.simplify_threshold : 0.111111111111 ## The threshold of similarity below which + ## vertices will be removed in the + ## simplification process #path.snap : True ## When True, rectilinear axis-aligned paths will be snapped to ## the nearest pixel when certain criteria are met. When False, ## paths will never be snapped. @@ -509,15 +511,15 @@ backend : $TEMPLATE_BACKEND ## is the length of the wiggle along the line (in ## pixels). *randomness* is the factor by which ## the length is randomly scaled. -#path.effects : [] # +#path.effects : [] ## #### SAVING FIGURES ## the default savefig params can be different from the display params ## e.g., you may want a higher resolution, or to make the figure ## background white #savefig.dpi : figure ## figure dots per inch or 'figure' -#savefig.facecolor : white ## figure facecolor when saving -#savefig.edgecolor : white ## figure edgecolor when saving +#savefig.facecolor : w ## figure facecolor when saving +#savefig.edgecolor : w ## figure edgecolor when saving #savefig.format : png ## png, ps, pdf, svg #savefig.bbox : standard ## 'tight' or 'standard'. ## 'tight' is incompatible with pipe-based animation @@ -556,15 +558,15 @@ backend : $TEMPLATE_BACKEND ### svg backend params #svg.image_inline : True ## write raster image data directly into the svg file #svg.fonttype : path ## How to handle SVG fonts: - ## 'none': Assume fonts are installed on the machine where the SVG will be viewed. - ## 'path': Embed characters as paths -- supported by most SVG renderers - ## 'svgfont': Embed characters as SVG fonts -- supported only by Chrome, + ## none: Assume fonts are installed on the machine where the SVG will be viewed. + ## path: Embed characters as paths -- supported by most SVG renderers + ## svgfont: Embed characters as SVG fonts -- supported only by Chrome, ## Opera and Safari #svg.hashsalt : None ## if not None, use this string as hash salt ## instead of uuid4 ### pgf parameter #pgf.rcfonts : True -#pgf.preamble : [] +#pgf.preamble : #pgf.texsystem : xelatex #pgf.debug : False @@ -580,17 +582,17 @@ backend : $TEMPLATE_BACKEND #keymap.forward : right, v ## left handed quick navigation #keymap.pan : p ## pan mnemonic #keymap.zoom : o ## zoom mnemonic -#keymap.save : s ## saving current figure -#keymap.quit : ctrl+w, cmd+w ## close the current figure -#keymap.quit_all : 'W', 'cmd+W', 'Q' ## close all figures +#keymap.save : s, ctrl+s ## saving current figure +#keymap.quit : ctrl+w, cmd+w, q ## close the current figure +#keymap.quit_all : W, cmd+W, Q ## close all figures #keymap.grid : g ## switching on/off major grids in current axes #keymap.grid_minor : G ## switching on/off minor grids in current axes #keymap.yscale : l ## toggle scaling of y-axes ('log'/'linear') -#keymap.xscale : L, k ## toggle scaling of x-axes ('log'/'linear') +#keymap.xscale : k, L ## toggle scaling of x-axes ('log'/'linear') #keymap.all_axes : a ## enable all axes ## Control location of examples data files -#examples.directory : '' ## directory to look in for custom installation +#examples.directory : ## directory to look in for custom installation ###ANIMATION settings #animation.html : none ## How to display the animation as HTML in @@ -602,15 +604,15 @@ backend : $TEMPLATE_BACKEND #animation.bitrate: -1 ## Controls size/quality tradeoff for movie. ## -1 implies let utility auto-determine #animation.frame_format: png ## Controls frame format used by temp files -#animation.html_args: '' ## Additional arguments to pass to html writer -#animation.ffmpeg_path: 'ffmpeg' ## Path to ffmpeg binary. Without full path +#animation.html_args: ## Additional arguments to pass to html writer +#animation.ffmpeg_path: ffmpeg ## Path to ffmpeg binary. Without full path ## $PATH is searched -#animation.ffmpeg_args: '' ## Additional arguments to pass to ffmpeg -#animation.avconv_path: 'avconv' ## Path to avconv binary. Without full path +#animation.ffmpeg_args: ## Additional arguments to pass to ffmpeg +#animation.avconv_path: avconv ## Path to avconv binary. Without full path ## $PATH is searched -#animation.avconv_args: '' ## Additional arguments to pass to avconv -#animation.convert_path: 'convert' ## Path to ImageMagick's convert binary. +#animation.avconv_args: ## Additional arguments to pass to avconv +#animation.convert_path: convert ## Path to ImageMagick's convert binary. ## On Windows use the full path since convert ## is also the name of a system tool. -#animation.convert_args: '' ## Additional arguments to pass to convert +#animation.convert_args: ## Additional arguments to pass to convert #animation.embed_limit : 20.0 From 5e78df99710100fc3101f05c7e30ae1b63f46714 Mon Sep 17 00:00:00 2001 From: "luz.paz" Date: Tue, 20 Feb 2018 14:47:28 -0500 Subject: [PATCH 0137/1161] Source typos along with misc. source typos. Found via `codespell -q 3 -I ../matplotlib-whitelist.txt` --- doc/devel/MEP/MEP28.rst | 4 ++-- lib/matplotlib/__init__.py | 2 +- lib/matplotlib/axes/_axes.py | 4 ++-- lib/matplotlib/backends/qt_compat.py | 2 +- .../backends/web_backend/jquery/js/jquery-1.11.3.js | 2 +- lib/matplotlib/lines.py | 2 +- lib/matplotlib/pylab.py | 2 +- lib/mpl_toolkits/axes_grid1/inset_locator.py | 2 +- lib/mpl_toolkits/axisartist/angle_helper.py | 4 ++-- setup.py | 2 +- 10 files changed, 13 insertions(+), 13 deletions(-) diff --git a/doc/devel/MEP/MEP28.rst b/doc/devel/MEP/MEP28.rst index 6cd9814b805d..c5e4ce49a8a5 100644 --- a/doc/devel/MEP/MEP28.rst +++ b/doc/devel/MEP/MEP28.rst @@ -254,13 +254,13 @@ This MEP can be divided into a few loosely coupled components: With this approach, #2 depends and #1, and #4 depends on #3. There are two possible approaches to #2. The first and most direct would -be to mirror the new ``transform_in`` and ``tranform_out`` parameters of +be to mirror the new ``transform_in`` and ``transform_out`` parameters of ``cbook.boxplot_stats`` in ``Axes.boxplot`` and pass them directly. The second approach would be to add ``statfxn`` and ``statfxn_args`` parameters to ``Axes.boxplot``. Under this implementation, the default value of ``statfxn`` would be ``cbook.boxplot_stats``, but users could -pass their own function. Then ``transform_in`` and ``tranform_out`` would +pass their own function. Then ``transform_in`` and ``transform_out`` would then be passed as elements of the ``statfxn_args`` parameter. .. code:: python diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 0332573bf6cf..49ea98c0cb3d 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -99,7 +99,7 @@ to MATLAB®, a registered trademark of The MathWorks, Inc. """ -# NOTE: This file must remain Python 2 compatible for the forseeable future, +# NOTE: This file must remain Python 2 compatible for the foreseeable future, # to ensure that we error out properly for existing editable installs. from __future__ import absolute_import, division, print_function diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index dc3a722484e5..b610c0f09ede 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -1797,7 +1797,7 @@ def acorr(self, x, **kwargs): Returns ------- - lags : array (lenth ``2*maxlags+1``) + lags : array (length ``2*maxlags+1``) lag vector. c : array (length ``2*maxlags+1``) auto correlation vector. @@ -1859,7 +1859,7 @@ def xcorr(self, x, y, normed=True, detrend=mlab.detrend_none, Returns ------- - lags : array (lenth ``2*maxlags+1``) + lags : array (length ``2*maxlags+1``) lag vector. c : array (length ``2*maxlags+1``) auto correlation vector. diff --git a/lib/matplotlib/backends/qt_compat.py b/lib/matplotlib/backends/qt_compat.py index 86beaf97a093..b74680a86046 100644 --- a/lib/matplotlib/backends/qt_compat.py +++ b/lib/matplotlib/backends/qt_compat.py @@ -23,7 +23,7 @@ pyqt5=(QT_API_PYQT5, 5), pyside2=(QT_API_PYSIDE2, 5)) # ETS is a dict of env variable to (QT_API, QT_MAJOR_VERSION) # If the ETS QT_API environment variable is set, use it, but only -# if the varible if of the same major QT version. Note that +# if the variable if of the same major QT version. Note that # ETS requires the version 2 of PyQt4, which is not the platform # default for Python 2.x. diff --git a/lib/matplotlib/backends/web_backend/jquery/js/jquery-1.11.3.js b/lib/matplotlib/backends/web_backend/jquery/js/jquery-1.11.3.js index 6feb11086f45..6ad8974b0f15 100644 --- a/lib/matplotlib/backends/web_backend/jquery/js/jquery-1.11.3.js +++ b/lib/matplotlib/backends/web_backend/jquery/js/jquery-1.11.3.js @@ -6708,7 +6708,7 @@ jQuery.extend({ value += "px"; } - // Fixes #8908, it can be done more correctly by specifing setters in cssHooks, + // Fixes #8908, it can be done more correctly by specifying setters in cssHooks, // but it would mean to define eight (for every problematic property) identical functions if ( !support.clearCloneStyle && value === "" && name.indexOf("background") === 0 ) { style[ name ] = "inherit"; diff --git a/lib/matplotlib/lines.py b/lib/matplotlib/lines.py index 429fcac2cc24..b22c4b472f3f 100644 --- a/lib/matplotlib/lines.py +++ b/lib/matplotlib/lines.py @@ -317,7 +317,7 @@ def __init__(self, xdata, ydata, %(Line2D)s - See :meth:`set_linestyle` for a decription of the line styles, + See :meth:`set_linestyle` for a description of the line styles, :meth:`set_marker` for a description of the markers, and :meth:`set_drawstyle` for a description of the draw styles. diff --git a/lib/matplotlib/pylab.py b/lib/matplotlib/pylab.py index 67bb7fa1f1c6..e9e7fa8a15f3 100644 --- a/lib/matplotlib/pylab.py +++ b/lib/matplotlib/pylab.py @@ -131,7 +131,7 @@ cumsum - the cumulative sum along a dimension detrend - remove the mean or besdt fit line from an array diag - the k-th diagonal of matrix - diff - the n-th differnce of an array + diff - the n-th difference of an array eig - the eigenvalues and eigen vectors of v eye - a matrix where the k-th diagonal is ones, else zero find - return the indices where a condition is nonzero diff --git a/lib/mpl_toolkits/axes_grid1/inset_locator.py b/lib/mpl_toolkits/axes_grid1/inset_locator.py index 81860815773f..08e80ee03817 100644 --- a/lib/mpl_toolkits/axes_grid1/inset_locator.py +++ b/lib/mpl_toolkits/axes_grid1/inset_locator.py @@ -254,7 +254,7 @@ def connect_bbox(bbox1, bbox2, loc1, loc2=None): corner of *bbox2*. """ if isinstance(bbox1, Rectangle): - transform = bbox1.get_transfrom() + transform = bbox1.get_transform() bbox1 = Bbox.from_bounds(0, 0, 1, 1) bbox1 = TransformedBbox(bbox1, transform) diff --git a/lib/mpl_toolkits/axisartist/angle_helper.py b/lib/mpl_toolkits/axisartist/angle_helper.py index e69aacdb722b..66cf74c42805 100644 --- a/lib/mpl_toolkits/axisartist/angle_helper.py +++ b/lib/mpl_toolkits/axisartist/angle_helper.py @@ -348,8 +348,8 @@ def __init__(self, lon_minmax = None, lat_minmax = (-90, 90) ): - #self.transfrom_xy = transform_xy - #self.inv_transfrom_xy = inv_transform_xy + #self.transform_xy = transform_xy + #self.inv_transform_xy = inv_transform_xy self.nx, self.ny = nx, ny self.lon_cycle, self.lat_cycle = lon_cycle, lat_cycle self.lon_minmax = lon_minmax diff --git a/setup.py b/setup.py index 1745a67d099b..b8a38a3bf2a6 100644 --- a/setup.py +++ b/setup.py @@ -3,7 +3,7 @@ setup.cfg.template for more information. """ -# NOTE: This file must remain Python 2 compatible for the forseeable future, +# NOTE: This file must remain Python 2 compatible for the foreseeable future, # to ensure that we error out properly for people with outdated setuptools # and/or pip. from __future__ import print_function, absolute_import From eb07c30867b79555cb3d91512d40ca67ca45adb4 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Tue, 20 Feb 2018 03:10:09 +0100 Subject: [PATCH 0138/1161] Minor cleanup: PEP8, PEP257 --- lib/matplotlib/pyplot.py | 22 +++--- lib/mpl_toolkits/axisartist/axislines.py | 88 +++--------------------- 2 files changed, 20 insertions(+), 90 deletions(-) diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index 1a86ea4c6c01..50a50c38987f 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -72,9 +72,10 @@ ## Backend detection ## def _backend_selection(): - """ If rcParams['backend_fallback'] is true, check to see if the - current backend is compatible with the current running event - loop, and if not switches to a compatible one. + """ + If rcParams['backend_fallback'] is true, check to see if the + current backend is compatible with the current running event loop, + and if not switches to a compatible one. """ backend = rcParams['backend'] if not rcParams['backend_fallback'] or backend not in _interactive_bk: @@ -108,6 +109,7 @@ def _backend_selection(): # import Tkinter pass # what if anything do we need to do for tkinter? + _backend_selection() ## Global ## @@ -174,7 +176,7 @@ def post_execute(): def uninstall_repl_displayhook(): """ - Uninstalls the matplotlib display hook. + Uninstall the matplotlib display hook. .. warning @@ -254,20 +256,18 @@ def show(*args, **kw): def isinteractive(): - """ - Return status of interactive mode. - """ + """Return the status of interactive mode.""" return matplotlib.is_interactive() def ioff(): - """Turn interactive mode off.""" + """Turn the interactive mode off.""" matplotlib.interactive(False) uninstall_repl_displayhook() def ion(): - """Turn interactive mode on.""" + """Turn the interactive mode on.""" matplotlib.interactive(True) install_repl_displayhook() @@ -680,9 +680,7 @@ def close(*args): def clf(): - """ - Clear the current figure. - """ + """Clear the current figure.""" gcf().clf() diff --git a/lib/mpl_toolkits/axisartist/axislines.py b/lib/mpl_toolkits/axisartist/axislines.py index 16ea8edfad14..898ef1aaa050 100644 --- a/lib/mpl_toolkits/axisartist/axislines.py +++ b/lib/mpl_toolkits/axisartist/axislines.py @@ -109,36 +109,26 @@ def get_tick_iterators(self, axes): """ class _Base(object): - """ - Base class for axis helper. - """ + """Base class for axis helper.""" def __init__(self): - """ - """ self.delta1, self.delta2 = 0.00001, 0.00001 def update_lim(self, axes): pass - class Fixed(_Base): - """ - Helper class for a fixed (in the axes coordinate) axis. - """ + """Helper class for a fixed (in the axes coordinate) axis.""" _default_passthru_pt = dict(left=(0, 0), right=(1, 0), bottom=(0, 0), top=(0, 1)) - def __init__(self, - loc, nth_coord=None, - ): + def __init__(self, loc, nth_coord=None): """ nth_coord = along which coordinate value varies in 2d, nth_coord = 0 -> x axis, nth_coord = 1 -> y axis """ - self._loc = loc if loc not in ["left", "right", "bottom", "top"]: @@ -156,8 +146,6 @@ def __init__(self, self.passthru_pt = self._default_passthru_pt[loc] - - _verts = np.array([[0., 0.], [1., 1.]]) fixed_coord = 1-nth_coord @@ -166,7 +154,6 @@ def __init__(self, # axis line in transAxes self._path = Path(_verts) - def get_nth_coord(self): return self.nth_coord @@ -197,8 +184,6 @@ def get_axislabel_pos_angle(self, axes): return pos, angle_tangent - - # TICK def get_tick_transform(self, axes): @@ -227,8 +212,6 @@ def get_line(self, axes): raise RuntimeError("get_line method should be defined by the derived class") - - class AxisArtistHelperRectlinear(object): class Fixed(AxisArtistHelper.Fixed): @@ -281,8 +264,6 @@ def _f(locs, labels): return _f(majorLocs, majorLabels), _f(minorLocs, minorLabels) - - class Floating(AxisArtistHelper.Floating): def __init__(self, axes, nth_coord, passingthrough_point, axis_direction="bottom"): @@ -337,12 +318,9 @@ def get_axislabel_pos_angle(self, axes): else: return _verts, angle - - def get_tick_transform(self, axes): return axes.transData - def get_tick_iterators(self, axes): """tick_loc, tick_angle, tick_label""" @@ -358,7 +336,7 @@ def get_tick_iterators(self, axes): else: angle_normal, angle_tangent = 0, 90 - #angle = 90 - 90 * self.nth_coord + # angle = 90 - 90 * self.nth_coord major = self.axis.major majorLocs = major.locator() @@ -385,9 +363,6 @@ def _f(locs, labels): return _f(majorLocs, majorLabels), _f(minorLocs, minorLabels) - - - class GridHelperBase(object): def __init__(self): @@ -395,7 +370,6 @@ def __init__(self): self._old_limits = None super().__init__() - def update_lim(self, axes): x1, x2 = axes.get_xlim() y1, y2 = axes.get_ylim() @@ -405,18 +379,15 @@ def update_lim(self, axes): self._force_update = False self._old_limits = (x1, x2, y1, y2) - def _update(self, x1, x2, y1, y2): pass - def invalidate(self): self._force_update = True def valid(self): return not self._force_update - def get_gridlines(self, which, axis): """ Return list of grid lines as a list of paths (list of points). @@ -451,14 +422,10 @@ def new_gridlines(self, ax): class GridHelperRectlinear(GridHelperBase): - def __init__(self, axes): - super().__init__() self.axes = axes - - def new_fixed_axis(self, loc, nth_coord=None, axis_direction=None, @@ -480,7 +447,6 @@ def new_fixed_axis(self, loc, return axisline - def new_floating_axis(self, nth_coord, value, axis_direction="bottom", axes=None, @@ -503,7 +469,6 @@ def new_floating_axis(self, nth_coord, value, axisline.line.set_clip_box(axisline.axes.bbox) return axisline - def get_gridlines(self, which="major", axis="both"): """ return list of gridline coordinates in data coordinates. @@ -511,32 +476,25 @@ def get_gridlines(self, which="major", axis="both"): *which* : "major" or "minor" *axis* : "both", "x" or "y" """ - gridlines = [] - if axis in ["both", "x"]: locs = [] y1, y2 = self.axes.get_ylim() - #if self.axes.xaxis._gridOnMajor: if which in ["both", "major"]: locs.extend(self.axes.xaxis.major.locator()) - #if self.axes.xaxis._gridOnMinor: if which in ["both", "minor"]: locs.extend(self.axes.xaxis.minor.locator()) for x in locs: gridlines.append([[x, x], [y1, y2]]) - if axis in ["both", "y"]: x1, x2 = self.axes.get_xlim() locs = [] if self.axes.yaxis._gridOnMajor: - #if which in ["both", "major"]: locs.extend(self.axes.yaxis.major.locator()) if self.axes.yaxis._gridOnMinor: - #if which in ["both", "minor"]: locs.extend(self.axes.yaxis.minor.locator()) for y in locs: @@ -545,10 +503,6 @@ def get_gridlines(self, which="major", axis="both"): return gridlines - - - - class SimpleChainedObjects(object): def __init__(self, objects): self._objects = objects @@ -585,24 +539,13 @@ def __getitem__(self, k): def __call__(self, *v, **kwargs): return maxes.Axes.axis(self.axes, *v, **kwargs) - - def __init__(self, *kl, **kw): - - - helper = kw.pop("grid_helper", None) - + def __init__(self, *args, grid_helper=None, **kwargs): self._axisline_on = True - - if helper: - self._grid_helper = helper - else: - self._grid_helper = GridHelperRectlinear(self) - - super().__init__(*kl, **kw) - + self._grid_helper = (grid_helper if grid_helper + else GridHelperRectlinear(self)) + super().__init__(*args, **kwargs) self.toggle_axisline(True) - def toggle_axisline(self, b=None): if b is None: b = not self._axisline_on @@ -619,11 +562,9 @@ def toggle_axisline(self, b=None): self.xaxis.set_visible(True) self.yaxis.set_visible(True) - def _init_axis(self): super()._init_axis() - def _init_axis_artists(self, axes=None): if axes is None: axes = self @@ -655,19 +596,14 @@ def new_gridlines(self, grid_helper=None): grid_helper = self.get_grid_helper() gridlines = grid_helper.new_gridlines(self) - return gridlines - def _init_gridlines(self, grid_helper=None): # It is done inside the cla. - gridlines = self.new_gridlines(grid_helper) - - self.gridlines = gridlines + self.gridlines = self.new_gridlines(grid_helper) def cla(self): # gridlines need to b created before cla() since cla calls grid() - self._init_gridlines() super().cla() @@ -680,7 +616,6 @@ def cla(self): def get_grid_helper(self): return self._grid_helper - def grid(self, b=None, which='major', axis="both", **kwargs): """ Toggle the gridlines, and optionally set the properties of the lines. @@ -719,7 +654,6 @@ def get_children(self): def invalidate_grid_helper(self): self._grid_helper.invalidate() - def new_fixed_axis(self, loc, offset=None): gh = self.get_grid_helper() axis = gh.new_fixed_axis(loc, @@ -731,9 +665,7 @@ def new_fixed_axis(self, loc, offset=None): return axis - def new_floating_axis(self, nth_coord, value, - axis_direction="bottom", - ): + def new_floating_axis(self, nth_coord, value, axis_direction="bottom"): gh = self.get_grid_helper() axis = gh.new_floating_axis(nth_coord, value, axis_direction=axis_direction, From 0093fa653a8baa9d8c500ee1a679c789e0f71cc9 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Wed, 21 Feb 2018 00:27:12 +0100 Subject: [PATCH 0139/1161] Simplify rst cross references by omitting the shortener ~ when not needed --- lib/matplotlib/artist.py | 26 ++++---- lib/matplotlib/axes/_axes.py | 64 +++++++++---------- lib/matplotlib/axes/_base.py | 6 +- lib/matplotlib/cbook/__init__.py | 2 +- lib/matplotlib/cm.py | 4 +- lib/matplotlib/dates.py | 4 +- lib/matplotlib/figure.py | 34 +++++----- lib/matplotlib/legend.py | 18 +++--- lib/matplotlib/path.py | 4 +- lib/matplotlib/pyplot.py | 8 +-- lib/matplotlib/stackplot.py | 4 +- lib/matplotlib/tight_layout.py | 2 +- lib/mpl_toolkits/mplot3d/axes3d.py | 4 +- tutorials/advanced/transforms_tutorial.py | 4 +- .../intermediate/constrainedlayout_guide.py | 10 +-- tutorials/text/text_intro.py | 20 +++--- 16 files changed, 107 insertions(+), 107 deletions(-) diff --git a/lib/matplotlib/artist.py b/lib/matplotlib/artist.py index ff769ae6c516..4dc31f4e0daf 100644 --- a/lib/matplotlib/artist.py +++ b/lib/matplotlib/artist.py @@ -306,8 +306,8 @@ def set_transform(self, t): Parameters ---------- - t : `~.Transform` - .. ACCEPTS: `~.Transform` + t : `.Transform` + .. ACCEPTS: `.Transform` """ self._transform = t self._transformSet = True @@ -469,7 +469,7 @@ def get_picker(self): @cbook.deprecated("2.2", "artist.figure is not None") def is_figure_set(self): - """Returns whether the artist is assigned to a `~.Figure`.""" + """Returns whether the artist is assigned to a `.Figure`.""" return self.figure is not None def get_url(self): @@ -596,8 +596,8 @@ def set_path_effects(self, path_effects): Parameters ---------- - path_effects : `~.AbstractPathEffect` - .. ACCEPTS: `~.AbstractPathEffect` + path_effects : `.AbstractPathEffect` + .. ACCEPTS: `.AbstractPathEffect` """ self._path_effects = path_effects self.stale = True @@ -606,17 +606,17 @@ def get_path_effects(self): return self._path_effects def get_figure(self): - """Return the `~.Figure` instance the artist belongs to.""" + """Return the `.Figure` instance the artist belongs to.""" return self.figure def set_figure(self, fig): """ - Set the `~.Figure` instance the artist belongs to. + Set the `.Figure` instance the artist belongs to. Parameters ---------- - fig : `~.Figure` - .. ACCEPTS: a `~.Figure` instance + fig : `.Figure` + .. ACCEPTS: a `.Figure` instance """ # if this is a no-op just return if self.figure is fig: @@ -636,12 +636,12 @@ def set_figure(self, fig): def set_clip_box(self, clipbox): """ - Set the artist's clip `~.Bbox`. + Set the artist's clip `.Bbox`. Parameters ---------- - clipbox : `~.Bbox` - .. ACCEPTS: a `~.Bbox` instance + clipbox : `.Bbox` + .. ACCEPTS: a `.Bbox` instance """ self.clipbox = clipbox self.pchanged() @@ -662,7 +662,7 @@ def set_clip_path(self, path, transform=None): this method will set the clipping box to the corresponding rectangle and set the clipping path to ``None``. - ACCEPTS: [(`~matplotlib.path.Path`, `~.Transform`) | `~.Patch` | None] + ACCEPTS: [(`~matplotlib.path.Path`, `.Transform`) | `.Patch` | None] """ from matplotlib.patches import Patch, Rectangle diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index dc3a722484e5..42a313320413 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -345,7 +345,7 @@ def legend(self, *args, **kwargs): Parameters ---------- - handles : sequence of `~.Artist`, optional + handles : sequence of `.Artist`, optional A list of Artists (lines, patches) to be added to the legend. Use this together with *labels*, if you need full control on what is shown in the legend and the automatic mechanism described above @@ -387,7 +387,7 @@ def legend(self, *args, **kwargs): corner of the legend in axes coordinates (in which case ``bbox_to_anchor`` will be ignored). - bbox_to_anchor : `~.BboxBase` or pair of floats + bbox_to_anchor : `.BboxBase` or pair of floats Specify any arbitrary location for the legend in `bbox_transform` coordinates (default Axes coordinates). @@ -412,13 +412,13 @@ def legend(self, *args, **kwargs): numpoints : None or int The number of marker points in the legend when creating a legend - entry for a `~.Line2D` (line). + entry for a `.Line2D` (line). Default is ``None``, which will take the value from :rc:`legend.numpoints`. scatterpoints : None or int The number of marker points in the legend when creating - a legend entry for a `~.PathCollection` (scatter plot). + a legend entry for a `.PathCollection` (scatter plot). Default is ``None``, which will take the value from :rc:`legend.scatterpoints`. @@ -1306,7 +1306,7 @@ def plot(self, *args, **kwargs): >>> plot(y) # plot y using x as index array 0..N-1 >>> plot(y, 'r+') # ditto, but with red plusses - You can use `~.Line2D` properties as keyword arguments for more + You can use `.Line2D` properties as keyword arguments for more control on the appearance. Line properties and *fmt* can be mixed. The following two calls yield identical results: @@ -1404,7 +1404,7 @@ def plot(self, *args, **kwargs): These parameters determined if the view limits are adapted to the data limits. The values are passed on to `autoscale_view`. - **kwargs : `~.Line2D` properties, optional + **kwargs : `.Line2D` properties, optional *kwargs* are used to specify properties like a line label (for auto legends), linewidth, antialiasing, marker face color. Example:: @@ -1415,14 +1415,14 @@ def plot(self, *args, **kwargs): If you make multiple lines with one plot command, the kwargs apply to all those lines. - Here is a list of available `~.Line2D` properties: + Here is a list of available `.Line2D` properties: %(Line2D)s Returns ------- lines - A list of `~.Line2D` objects that were added. + A list of `.Line2D` objects that were added. See Also @@ -1801,12 +1801,12 @@ def acorr(self, x, **kwargs): lag vector. c : array (length ``2*maxlags+1``) auto correlation vector. - line : `~.LineCollection` or `~.Line2D` - `~.Artist` added to the axes of the correlation. + line : `.LineCollection` or `.Line2D` + `.Artist` added to the axes of the correlation. - `~.LineCollection` if *usevlines* is True - `~.Line2D` if *usevlines* is False - b : `~.Line2D` or None + `.LineCollection` if *usevlines* is True + `.Line2D` if *usevlines* is False + b : `.Line2D` or None Horizontal line at 0 if *usevlines* is True None *usevlines* is False @@ -1863,12 +1863,12 @@ def xcorr(self, x, y, normed=True, detrend=mlab.detrend_none, lag vector. c : array (length ``2*maxlags+1``) auto correlation vector. - line : `~.LineCollection` or `~.Line2D` - `~.Artist` added to the axes of the correlation + line : `.LineCollection` or `.Line2D` + `.Artist` added to the axes of the correlation - `~.LineCollection` if *usevlines* is True - `~.Line2D` if *usevlines* is False - b : `~.Line2D` or None + `.LineCollection` if *usevlines* is True + `.Line2D` if *usevlines* is False + b : `.Line2D` or None Horizontal line at 0 if *usevlines* is True None *usevlines* is False @@ -2050,7 +2050,7 @@ def bar(self, *args, **kwargs): Returns ------- - `~.BarContainer` + `.BarContainer` Container with all the bars and optionally errorbars. Other Parameters @@ -2368,7 +2368,7 @@ def barh(self, *args, **kwargs): Returns ------- - `~.BarContainer` + `.BarContainer` Container with all the bars and optionally errorbars. Other Parameters @@ -2486,7 +2486,7 @@ def broken_barh(self, xranges, yrange, **kwargs): Other Parameters ---------------- - **kwargs : :class:`~.BrokenBarHCollection` properties + **kwargs : :class:`.BrokenBarHCollection` properties Each *kwarg* can be either a single argument applying to all rectangles, e.g.:: @@ -2980,7 +2980,7 @@ def errorbar(self, x, y, yerr=None, xerr=None, - *None*: No errorbar. fmt : plot format string, optional, default: '' - The format for the data points / data lines. See `~.plot` for + The format for the data points / data lines. See `.plot` for details. Use 'none' (case insensitive) to plot errorbars without any data @@ -3050,7 +3050,7 @@ def errorbar(self, x, y, yerr=None, xerr=None, property names, *markerfacecolor*, *markeredgecolor*, *markersize* and *markeredgewidth*. - Valid kwargs for the marker properties are `~.Lines2D` properties: + Valid kwargs for the marker properties are `.Lines2D` properties: %(Line2D)s @@ -4104,7 +4104,7 @@ def scatter(self, x, y, s=None, c=None, marker=None, cmap=None, norm=None, ``image.cmap``. norm : `~matplotlib.colors.Normalize`, optional, default: None - A `~.Normalize` instance is used to scale luminance data to 0, 1. + A `.Normalize` instance is used to scale luminance data to 0, 1. *norm* is only used if *c* is an array of floats. If *None*, use the default `.colors.Normalize`. @@ -5028,15 +5028,15 @@ def fill_between(self, x, y1, y2=0, where=None, interpolate=False, Other Parameters ---------------- **kwargs - All other keyword arguments are passed on to `~.PolyCollection`. - They control the `~.Polygon` properties: + All other keyword arguments are passed on to `.PolyCollection`. + They control the `.Polygon` properties: %(PolyCollection)s Returns ------- - `~.PolyCollection` - A `~.PolyCollection` containing the plotted polygons. + `.PolyCollection` + A `.PolyCollection` containing the plotted polygons. See Also -------- @@ -5212,15 +5212,15 @@ def fill_betweenx(self, y, x1, x2=0, where=None, Other Parameters ---------------- **kwargs - All other keyword arguments are passed on to `~.PolyCollection`. - They control the `~.Polygon` properties: + All other keyword arguments are passed on to `.PolyCollection`. + They control the `.Polygon` properties: %(PolyCollection)s Returns ------- - `~.PolyCollection` - A `~.PolyCollection` containing the plotted polygons. + `.PolyCollection` + A `.PolyCollection` containing the plotted polygons. See Also -------- diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 2e4266e90e97..f48540125ab7 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -625,13 +625,13 @@ def _init_axis(self): def set_figure(self, fig): """ - Set the `~.Figure` for this `~.Axes`. + Set the `.Figure` for this `.Axes`. - .. ACCEPTS: `~.Figure` + .. ACCEPTS: `.Figure` Parameters ---------- - fig : `~.Figure` + fig : `.Figure` """ martist.Artist.set_figure(self, fig) diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index cbc0ee7ba600..6b2398aa204c 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -614,7 +614,7 @@ def to_filehandle(fname, flag='rU', return_opened=False, encoding=None): @contextlib.contextmanager def open_file_cm(path_or_file, mode="r", encoding=None): - r"""Pass through file objects and context-manage `~.PathLike`\s.""" + r"""Pass through file objects and context-manage `.PathLike`\s.""" fh, opened = to_filehandle(path_or_file, mode, True, encoding) if opened: with fh: diff --git a/lib/matplotlib/cm.py b/lib/matplotlib/cm.py index 6337b6ac3a1f..0949563ca19a 100644 --- a/lib/matplotlib/cm.py +++ b/lib/matplotlib/cm.py @@ -332,11 +332,11 @@ def set_cmap(self, cmap): def set_norm(self, norm): """Set the normalization instance. - .. ACCEPTS: `~.Normalize` + .. ACCEPTS: `.Normalize` Parameters ---------- - norm : `~.Normalize` + norm : `.Normalize` """ if norm is None: norm = colors.Normalize() diff --git a/lib/matplotlib/dates.py b/lib/matplotlib/dates.py index ad6561593e72..b3fa42477ad2 100644 --- a/lib/matplotlib/dates.py +++ b/lib/matplotlib/dates.py @@ -297,10 +297,10 @@ def _dt64_to_ordinalf(d): def _from_ordinalf(x, tz=None): """ Convert Gregorian float of the date, preserving hours, minutes, - seconds and microseconds. Return value is a `~.datetime`. + seconds and microseconds. Return value is a `.datetime`. The input date *x* is a float in ordinal days at UTC, and the output will - be the specified `~.datetime` object corresponding to that time in + be the specified `.datetime` object corresponding to that time in timezone *tz*, or if *tz* is ``None``, in the timezone specified in :rc:`timezone`. """ diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index 15271c9c4020..a80f41eb577a 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -258,14 +258,14 @@ class Figure(Artist): """ The Figure instance supports callbacks through a *callbacks* attribute - which is a `~.CallbackRegistry` instance. The events you can connect to + which is a `.CallbackRegistry` instance. The events you can connect to are 'dpi_changed', and the callback will be called with ``func(fig)`` where fig is the `Figure` instance. Attributes ---------- patch - The `~.Rectangle` instance representing the figure patch. + The `.Rectangle` instance representing the figure patch. suppressComposite For multiple figure images, the figure will make composite images @@ -321,10 +321,10 @@ def __init__(self, tight_layout : bool If ``False`` use *subplotpars*; if ``True`` adjust subplot - parameters using `~.tight_layout` with default padding. + parameters using `.tight_layout` with default padding. When providing a dict containing the keys ``pad``, ``w_pad``, ``h_pad``, and ``rect``, the default - `~.tight_layout` paddings will be overridden. + `.tight_layout` paddings will be overridden. Defaults to rc ``figure.autolayout``. constrained_layout : bool @@ -486,20 +486,20 @@ def _set_dpi(self, dpi, forward=True): def get_tight_layout(self): """ - Return whether and how `~.tight_layout` is called when drawing. + Return whether and how `.tight_layout` is called when drawing. """ return self._tight def set_tight_layout(self, tight): """ - Set whether and how `~.tight_layout` is called when drawing. + Set whether and how `.tight_layout` is called when drawing. Parameters ---------- tight : bool or dict with keys "pad", "w_pad", "h_pad", "rect" or None - If a bool, sets whether to call `~.tight_layout` upon drawing. + If a bool, sets whether to call `.tight_layout` upon drawing. If ``None``, use the ``figure.autolayout`` rcparam instead. - If a dict, pass it as kwargs to `~.tight_layout`, overriding the + If a dict, pass it as kwargs to `.tight_layout`, overriding the default paddings. .. @@ -1002,7 +1002,7 @@ def set_frameon(self, b): def delaxes(self, ax): """ - Remove the `~.Axes` *ax* from the figure and update the current axes. + Remove the `.Axes` *ax* from the figure and update the current axes. """ self._axstack.remove(ax) for func in self._axobservers: @@ -1516,7 +1516,7 @@ def legend(self, *args, **kwargs): Parameters ---------- - handles : sequence of `~.Artist`, optional + handles : sequence of `.Artist`, optional A list of Artists (lines, patches) to be added to the legend. Use this together with *labels*, if you need full control on what is shown in the legend and the automatic mechanism described above @@ -1558,7 +1558,7 @@ def legend(self, *args, **kwargs): corner of the legend in axes coordinates (in which case ``bbox_to_anchor`` will be ignored). - bbox_to_anchor : `~.BboxBase` or pair of floats + bbox_to_anchor : `.BboxBase` or pair of floats Specify any arbitrary location for the legend in `bbox_transform` coordinates (default Axes coordinates). @@ -1583,13 +1583,13 @@ def legend(self, *args, **kwargs): numpoints : None or int The number of marker points in the legend when creating a legend - entry for a `~.Line2D` (line). + entry for a `.Line2D` (line). Default is ``None``, which will take the value from :rc:`legend.numpoints`. scatterpoints : None or int The number of marker points in the legend when creating - a legend entry for a `~.PathCollection` (scatter plot). + a legend entry for a `.PathCollection` (scatter plot). Default is ``None``, which will take the value from :rc:`legend.scatterpoints`. @@ -2298,8 +2298,8 @@ def align_xlabels(self, axs=None): Notes ----- - This assumes that ``axs`` are from the same `~.GridSpec`, so that - their `~.SubplotSpec` positions correspond to figure positions. + This assumes that ``axs`` are from the same `.GridSpec`, so that + their `.SubplotSpec` positions correspond to figure positions. Examples -------- @@ -2366,8 +2366,8 @@ def align_ylabels(self, axs=None): Notes ----- - This assumes that ``axs`` are from the same `~.GridSpec`, so that - their `~.SubplotSpec` positions correspond to figure positions. + This assumes that ``axs`` are from the same `.GridSpec`, so that + their `.SubplotSpec` positions correspond to figure positions. Examples -------- diff --git a/lib/matplotlib/legend.py b/lib/matplotlib/legend.py index f49a8cbb2606..d96327a9de62 100644 --- a/lib/matplotlib/legend.py +++ b/lib/matplotlib/legend.py @@ -134,7 +134,7 @@ def _update_bbox_to_anchor(self, loc_in_canvas): corner of the legend in axes coordinates (in which case ``bbox_to_anchor`` will be ignored). -bbox_to_anchor : `~.BboxBase` or pair of floats +bbox_to_anchor : `.BboxBase` or pair of floats Specify any arbitrary location for the legend in `bbox_transform` coordinates (default Axes coordinates). @@ -159,13 +159,13 @@ def _update_bbox_to_anchor(self, loc_in_canvas): numpoints : None or int The number of marker points in the legend when creating a legend - entry for a `~.Line2D` (line). + entry for a `.Line2D` (line). Default is ``None``, which will take the value from :rc:`legend.numpoints`. scatterpoints : None or int The number of marker points in the legend when creating - a legend entry for a `~.PathCollection` (scatter plot). + a legend entry for a `.PathCollection` (scatter plot). Default is ``None``, which will take the value from :rc:`legend.scatterpoints`. @@ -389,7 +389,7 @@ def __init__(self, parent, handles, labels, corner of the legend in axes coordinates (in which case ``bbox_to_anchor`` will be ignored). - bbox_to_anchor : `~.BboxBase` or pair of floats + bbox_to_anchor : `.BboxBase` or pair of floats Specify any arbitrary location for the legend in `bbox_transform` coordinates (default Axes coordinates). @@ -414,13 +414,13 @@ def __init__(self, parent, handles, labels, numpoints : None or int The number of marker points in the legend when creating a legend - entry for a `~.Line2D` (line). + entry for a `.Line2D` (line). Default is ``None``, which will take the value from :rc:`legend.numpoints`. scatterpoints : None or int The number of marker points in the legend when creating - a legend entry for a `~.PathCollection` (scatter plot). + a legend entry for a `.PathCollection` (scatter plot). Default is ``None``, which will take the value from :rc:`legend.scatterpoints`. @@ -1118,7 +1118,7 @@ def set_title(self, title, prop=None): self.stale = True def get_title(self): - 'Return the `~.Text` instance for the legend title.' + 'Return the `.Text` instance for the legend title.' return self._legend_title_box._text def get_window_extent(self, *args, **kwargs): @@ -1154,7 +1154,7 @@ def set_bbox_to_anchor(self, bbox, transform=None): *bbox* can be - - A `~.BboxBase` instance + - A `.BboxBase` instance - A tuple of ``(left, bottom, width, height)`` in the given transform (normalized axes coordinate if None) - A tuple of ``(left, bottom)`` where the width and height will be @@ -1271,7 +1271,7 @@ def draggable(self, state=None, use_blit=False, update="loc"): * False : turn draggable off If draggable is on, you can drag the legend on the canvas with - the mouse. The `~.DraggableLegend` helper instance is returned if + the mouse. The `.DraggableLegend` helper instance is returned if draggable is on. The update parameter control which parameter of the legend changes diff --git a/lib/matplotlib/path.py b/lib/matplotlib/path.py index f21434c62dbc..cc04457f4974 100644 --- a/lib/matplotlib/path.py +++ b/lib/matplotlib/path.py @@ -4,8 +4,8 @@ The primary class for polyline handling in Matplotlib is `Path`. Almost all vector drawing makes use of `Path`\s somewhere in the drawing pipeline. -Whilst a `Path` instance itself cannot be drawn, some `~.Artist` subclasses, -such as `~.PathPatch` and `~.PathCollection`, can be used for convenient `Path` +Whilst a `Path` instance itself cannot be drawn, some `.Artist` subclasses, +such as `.PathPatch` and `.PathCollection`, can be used for convenient `Path` visualisation. """ diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index 1a86ea4c6c01..f1bd672fd4d1 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -641,7 +641,7 @@ def close(*args): ``close()`` by itself closes the current figure - ``close(fig)`` closes the `~.Figure` instance *fig* + ``close(fig)`` closes the `.Figure` instance *fig* ``close(num)`` closes the figure number *num* @@ -878,7 +878,7 @@ def axes(arg=None, **kwargs): - 4-tuple of floats *rect* = ``[left, bottom, width, height]``. A new axes is added with dimensions *rect* in normalized (0, 1) units using `~.Figure.add_axes` on the current figure. - - `~.Axes`: This is equivalent to `.pyplot.sca`. It sets the current + - `.Axes`: This is equivalent to `.pyplot.sca`. It sets the current axes to *arg*. Note: This implicitly changes the current figure to the parent of *arg*. @@ -994,7 +994,7 @@ def subplot(*args, **kwargs): subplot(nrows, ncols, index, **kwargs) - In the current figure, create and return an `~.Axes`, at position *index* + In the current figure, create and return an `.Axes`, at position *index* of a (virtual) grid of *nrows* by *ncols* axes. Indexes go from 1 to ``nrows * ncols``, incrementing in row-major order. @@ -1002,7 +1002,7 @@ def subplot(*args, **kwargs): given as a single, concatenated, three-digit number. For example, ``subplot(2, 3, 3)`` and ``subplot(233)`` both create an - `~.Axes` at the top right corner of the current figure, occupying half of + `.Axes` at the top right corner of the current figure, occupying half of the figure height and a third of the figure width. .. note:: diff --git a/lib/matplotlib/stackplot.py b/lib/matplotlib/stackplot.py index 281e3d5e1039..c2c80a6f0ba5 100644 --- a/lib/matplotlib/stackplot.py +++ b/lib/matplotlib/stackplot.py @@ -58,8 +58,8 @@ def stackplot(axes, x, *args, **kwargs): Returns ------- - list of `~.PolyCollection` - A list of `~.PolyCollection` instances, one for each element in the + list of `.PolyCollection` + A list of `.PolyCollection` instances, one for each element in the stacked area plot. """ diff --git a/lib/matplotlib/tight_layout.py b/lib/matplotlib/tight_layout.py index e8c61b1de572..21823f9aea38 100644 --- a/lib/matplotlib/tight_layout.py +++ b/lib/matplotlib/tight_layout.py @@ -253,7 +253,7 @@ def get_tight_layout_figure(fig, axes_list, subplotspec_list, renderer, ---------- fig : Figure axes_list : list of Axes - subplotspec_list : list of `~.SubplotSpec` + subplotspec_list : list of `.SubplotSpec` The subplotspecs of each axes. renderer : renderer pad : float diff --git a/lib/mpl_toolkits/mplot3d/axes3d.py b/lib/mpl_toolkits/mplot3d/axes3d.py index 078fe382dfaf..04f3de83c6c7 100644 --- a/lib/mpl_toolkits/mplot3d/axes3d.py +++ b/lib/mpl_toolkits/mplot3d/axes3d.py @@ -1623,7 +1623,7 @@ def plot_surface(self, X, Y, Z, *args, **kwargs): Whether to shade the face colors. **kwargs : - Other arguments are forwarded to `~.Poly3DCollection`. + Other arguments are forwarded to `.Poly3DCollection`. """ had_data = self.has_data() @@ -1837,7 +1837,7 @@ def plot_wireframe(self, X, Y, Z, *args, **kwargs): of the new default of ``rcount = ccount = 50``. **kwargs : - Other arguments are forwarded to `~.Line3DCollection`. + Other arguments are forwarded to `.Line3DCollection`. """ had_data = self.has_data() diff --git a/tutorials/advanced/transforms_tutorial.py b/tutorials/advanced/transforms_tutorial.py index 8a60c875551e..5091bdfabc3b 100644 --- a/tutorials/advanced/transforms_tutorial.py +++ b/tutorials/advanced/transforms_tutorial.py @@ -25,12 +25,12 @@ | | |controlled by xlim and ylim. | +-----------+-----------------------------+-----------------------------------+ |"axes" |``ax.transAxes`` |The coordinate system of the | -| | |`~.Axes`; (0, 0) is bottom left of | +| | |`.Axes`; (0, 0) is bottom left of | | | |the axes, and (1, 1) is top right | | | |of the axes. | +-----------+-----------------------------+-----------------------------------+ |"figure" |``fig.transFigure`` |The coordinate system of the | -| | |`~.Figure`; (0, 0) is bottom left | +| | |`.Figure`; (0, 0) is bottom left | | | |of the figure, and (1, 1) is top | | | |right of the figure. | +-----------+-----------------------------+-----------------------------------+ diff --git a/tutorials/intermediate/constrainedlayout_guide.py b/tutorials/intermediate/constrainedlayout_guide.py index 7e98b7b4daca..9edf271ea7ea 100644 --- a/tutorials/intermediate/constrainedlayout_guide.py +++ b/tutorials/intermediate/constrainedlayout_guide.py @@ -507,16 +507,16 @@ def docomplicated(suptitle=None): # - Axes: `axR1 = fig.add_subplot(ss)` # # Each item has a layoutbox associated with it. The nesting of gridspecs -# created with `~.GridSpecFromSubplotSpec` can be arbitrarily deep. +# created with `.GridSpecFromSubplotSpec` can be arbitrarily deep. # -# Each `~.Axes` has *two* layoutboxes. The first one ``ax._layoutbox`` +# Each `.Axes` has *two* layoutboxes. The first one ``ax._layoutbox`` # represents the outside of the Axes and all its decorations (i.e. ticklabels, # axis labels, etc.). The second layoutbox corresponds to the Axes' # `ax.position`, which sets where in the figure the spines are placed. # # Why so many stacked containers? Ideally, all that would be needed are the # Axes layout boxes. For the Gridspec case, a container is -# needed if the Gridspec is nested via `~.GridSpecFromSubplotSpec`. At the +# needed if the Gridspec is nested via `.GridSpecFromSubplotSpec`. At the # top level, it is desirable for symmetry, but it also makes room for # `~.Figure.suptitle`. # @@ -534,7 +534,7 @@ def docomplicated(suptitle=None): # the difference between the red ``pos`` box and the green ``ax`` box # is set by the size of the decorations around the Axes. # -# In the code, this is accomplished by the entries in `~.do_constrained_layout` +# In the code, this is accomplished by the entries in `.do_constrained_layout` # like:: # # ax._poslayoutbox.edit_left_margin_min(-bbox.x0 + pos.x0 + w_padt) @@ -554,7 +554,7 @@ def docomplicated(suptitle=None): # much smaller than the left-hand, so the right-hand layoutboxes are smaller. # # The Subplotspec boxes are laid out in the code in the subroutine -# `~.arange_subplotspecs`, which simply checks the subplotspecs in the code +# `.arange_subplotspecs`, which simply checks the subplotspecs in the code # against one another and stacks them appropriately. # # The two ``pos`` axes are lined up. Because they have the same diff --git a/tutorials/text/text_intro.py b/tutorials/text/text_intro.py index efd59d98f555..54896236779d 100644 --- a/tutorials/text/text_intro.py +++ b/tutorials/text/text_intro.py @@ -35,28 +35,28 @@ interface and the object-oriented API: =================== =================== ====================================== -`~.pyplot` API OO API description +`.pyplot` API OO API description =================== =================== ====================================== `~.pyplot.text` `~.Axes.text` Add text at an arbitrary location of - the `~.Axes`. + the `.Axes`. `~.pyplot.annotate` `~.Axes.annotate` Add an annotation, with an optional arrow, at an arbitrary location of the - `~.Axes`. + `.Axes`. -`~.pyplot.xlabel` `~.Axes.set_xlabel` Add a label to the `~.Axes`\\'s x-axis. +`~.pyplot.xlabel` `~.Axes.set_xlabel` Add a label to the `.Axes`\\'s x-axis. -`~.pyplot.ylabel` `~.Axes.set_ylabel` Add a label to the `~.Axes`\\'s y-axis. +`~.pyplot.ylabel` `~.Axes.set_ylabel` Add a label to the `.Axes`\\'s y-axis. -`~.pyplot.title` `~.Axes.set_title` Add a title to the `~.Axes`. +`~.pyplot.title` `~.Axes.set_title` Add a title to the `.Axes`. `~.pyplot.figtext` `~.Figure.text` Add text at an arbitrary location of - the `~.Figure`. + the `.Figure`. -`~.pyplot.suptitle` `~.Figure.suptitle` Add a title to the `~.Figure`. +`~.pyplot.suptitle` `~.Figure.suptitle` Add a title to the `.Figure`. =================== =================== ====================================== -All of these functions create and return a `~.Text` instance, which can be +All of these functions create and return a `.Text` instance, which can be configured with a variety of font and other properties. The example below shows all of these commands in action, and more detail is provided in the sections that follow. @@ -145,7 +145,7 @@ plt.show() ############################################################################### -# Or, the labels accept all the `~.Text` keyword arguments, including +# Or, the labels accept all the `.Text` keyword arguments, including # *position*, via which we can manually specify the label positions. Here we # put the xlabel to the far left of the axis. Note, that the y-coordinate of # this position has no effect - to adjust the y-position we need to use the From 755aadd4bfdc9f94bfce789039f774f8879dae65 Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Tue, 20 Feb 2018 18:20:08 -0700 Subject: [PATCH 0140/1161] Fix issue with clf not clearing constrainedlayout --- lib/matplotlib/figure.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index 15271c9c4020..ed6866479a69 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -1425,6 +1425,8 @@ def clf(self, keep_observers=False): if not keep_observers: self._axobservers = [] self._suptitle = None + if self.get_constrained_layout(): + layoutbox.nonetree(self._layoutbox) self.stale = True def clear(self, keep_observers=False): From 2a99a0afbf1ceb9b5ac81273489b296a57f8691c Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Sat, 30 Sep 2017 12:36:39 -0700 Subject: [PATCH 0141/1161] Batch ghostscript converter. --- lib/matplotlib/__init__.py | 2 +- lib/matplotlib/testing/compare.py | 147 +++++++++++++++++------------- 2 files changed, 87 insertions(+), 62 deletions(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 934d848e470a..8023146a11d9 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -444,7 +444,7 @@ def checkdep_ghostscript(): for gs_exec in gs_execs: try: s = subprocess.Popen( - [str(gs_exec), '--version'], stdout=subprocess.PIPE, + [gs_exec, '--version'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) stdout, stderr = s.communicate() if s.returncode == 0: diff --git a/lib/matplotlib/testing/compare.py b/lib/matplotlib/testing/compare.py index 218ba33297fa..ea8c4fb90e0e 100644 --- a/lib/matplotlib/testing/compare.py +++ b/lib/matplotlib/testing/compare.py @@ -2,14 +2,10 @@ Provides a collection of utilities for comparing (image) results. """ -from __future__ import absolute_import, division, print_function - -import six import atexit import functools import hashlib -import itertools import os from pathlib import Path import re @@ -141,38 +137,81 @@ def _shlex_quote_bytes(b): else b"'" + b.replace(b"'", b"'\"'\"'") + b"'") -class _SVGConverter(object): +class _ConverterError(Exception): + pass + + +class _Converter(object): def __init__(self): self._proc = None - # We cannot rely on the GC to trigger `__del__` at exit because - # other modules (e.g. `subprocess`) may already have their globals - # set to `None`, which make `proc.communicate` or `proc.terminate` - # fail. By relying on `atexit` we ensure the destructor runs before - # `None`-setting occurs. + # Explicitly register deletion from an atexit handler because if we + # wait until the object is GC'd (which occurs later), then some module + # globals (e.g. signal.SIGKILL) has already been set to None, and + # kill() doesn't work anymore... atexit.register(self.__del__) - def _read_to_prompt(self): - """Did Inkscape reach the prompt without crashing? - """ - stream = iter(functools.partial(self._proc.stdout.read, 1), b"") - prompt = (b"\n", b">") - n = len(prompt) - its = itertools.tee(stream, n) - for i, it in enumerate(its): - next(itertools.islice(it, i, i), None) # Advance `it` by `i`. + def __del__(self): + if self._proc: + self._proc.kill() + self._proc.wait() + for stream in filter(None, [self._proc.stdin, + self._proc.stdout, + self._proc.stderr]): + stream.close() + self._proc = None + + def _read_until(self, terminator): + """Read until the prompt is reached.""" + buf = bytearray() while True: - window = tuple(map(next, its)) - if len(window) != n: - # Ran out of data -- one of the `next(it)` raised - # StopIteration, so the tuple is shorter. - return False - if self._proc.poll() is not None: - # Inkscape exited. - return False - if window == prompt: - # Successfully read until prompt. - return True + c = self._proc.stdout.read(1) + if not c: + raise _ConverterError + buf.extend(c) + if buf.endswith(terminator): + return bytes(buf[:-len(terminator)]) + +class _GSConverter(_Converter): + def __call__(self, orig, dest): + if not self._proc: + self._stdout = TemporaryFile() + self._proc = subprocess.Popen( + [matplotlib.checkdep_ghostscript.executable, + "-dNOPAUSE", "-sDEVICE=png16m"], + # As far as I can see, ghostscript never outputs to stderr. + stdin=subprocess.PIPE, stdout=subprocess.PIPE) + try: + self._read_until(b"\nGS") + except _ConverterError: + raise OSError("Failed to start Ghostscript") + + def encode_and_escape(name): + return (os.fsencode(name) + .replace(b"\\", b"\\\\") + .replace(b"(", br"\(") + .replace(b")", br"\)")) + + self._proc.stdin.write( + b"<< /OutputFile (" + + encode_and_escape(dest) + + b") >> setpagedevice (" + + encode_and_escape(orig) + + b") run flush\n") + self._proc.stdin.flush() + # GS> if nothing left on the stack; GS if n items left on the stack. + err = self._read_until(b"GS") + stack = self._read_until(b">") + if stack or not os.path.exists(dest): + stack_size = int(stack[1:]) if stack else 0 + self._proc.stdin.write(b"pop\n" * stack_size) + # Using the systemencoding should at least get the filenames right. + raise ImageComparisonFailure( + (err + b"GS" + stack + b">") + .decode(sys.getfilesystemencoding(), "replace")) + + +class _SVGConverter(_Converter): def __call__(self, orig, dest): if (not self._proc # First run. or self._proc.poll() is not None): # Inkscape terminated. @@ -190,23 +229,22 @@ def __call__(self, orig, dest): # seem to sometimes deadlock when stderr is redirected to a pipe, # so we redirect it to a temporary file instead. This is not # necessary anymore as of Inkscape 0.92.1. - self._stderr = TemporaryFile() + stderr = TemporaryFile() self._proc = subprocess.Popen( [str("inkscape"), "--without-gui", "--shell"], stdin=subprocess.PIPE, stdout=subprocess.PIPE, - stderr=self._stderr, env=env) - if not self._read_to_prompt(): - raise OSError("Failed to start Inkscape") - - try: - fsencode = os.fsencode - except AttributeError: # Py2. - def fsencode(s): - return s.encode(sys.getfilesystemencoding()) + stderr=stderr, env=env) + # Slight abuse, but makes shutdown handling easier. + self._proc.stderr = stderr + try: + self._read_until(b"\n>") + except _ConverterError: + raise OSError("Failed to start Inkscape in interactive mode") # Inkscape uses glib's `g_shell_parse_argv`, which has a consistent # behavior across platforms, so we can just use `shlex.quote`. - orig_b, dest_b = map(_shlex_quote_bytes, map(fsencode, [orig, dest])) + orig_b, dest_b = map(_shlex_quote_bytes, + map(os.fsencode, [orig, dest])) if b"\n" in orig_b or b"\n" in dest_b: # Who knows whether the current folder name has a newline, or if # our encoding is even ASCII compatible... Just fall back on the @@ -216,35 +254,22 @@ def fsencode(s): str('inkscape'), '-z', old, '--export-png', new])(orig, dest) self._proc.stdin.write(orig_b + b" --export-png=" + dest_b + b"\n") self._proc.stdin.flush() - if not self._read_to_prompt(): - # Inkscape's output is not localized but gtk's is, so the - # output stream probably has a mixed encoding. Using - # `getfilesystemencoding` should at least get the filenames - # right... + try: + self._read_until(b"\n>") + except _ConverterError: + # Inkscape's output is not localized but gtk's is, so the output + # stream probably has a mixed encoding. Using the filesystem + # encoding should at least get the filenames right... self._stderr.seek(0) raise ImageComparisonFailure( self._stderr.read().decode( sys.getfilesystemencoding(), "replace")) - def __del__(self): - if self._proc: - if self._proc.poll() is None: # Not exited yet. - self._proc.communicate(b"quit\n") - self._proc.wait() - self._proc.stdin.close() - self._proc.stdout.close() - self._stderr.close() - def _update_converter(): gs, gs_v = matplotlib.checkdep_ghostscript() if gs_v is not None: - def cmd(old, new): - return [str(gs), '-q', '-sDEVICE=png16m', '-dNOPAUSE', '-dBATCH', - '-sOutputFile=' + new, old] - converter['pdf'] = make_external_conversion_command(cmd) - converter['eps'] = make_external_conversion_command(cmd) - + converter['pdf'] = converter['eps'] = _GSConverter() if matplotlib.checkdep_inkscape() is not None: converter['svg'] = _SVGConverter() From b961af4a524bfaf261e1962d25a49d02e8045082 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20N=C3=B6the?= Date: Wed, 21 Feb 2018 09:17:13 +0100 Subject: [PATCH 0142/1161] Fix refactor leftover --- lib/matplotlib/backends/backend_pgf.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/backends/backend_pgf.py b/lib/matplotlib/backends/backend_pgf.py index e5909c1c1e78..43412cfa16e0 100644 --- a/lib/matplotlib/backends/backend_pgf.py +++ b/lib/matplotlib/backends/backend_pgf.py @@ -1101,7 +1101,7 @@ def _run_latex(self): str(texcommand), "-interaction=nonstopmode", "-halt-on-error", - os.path.basename(self.fname_tex), + os.path.basename(self._fname_tex), ] try: check_output(cmdargs, stderr=subprocess.STDOUT, cwd=self._tmpdir) @@ -1111,7 +1111,7 @@ def _run_latex(self): % (texcommand, e.output.decode('utf-8'))) # copy file contents to target - with open(self.fname_pdf, "rb") as fh_src, open(self._outputfile, "wb") as fh: + with open(self._fname_pdf, "rb") as fh_src, open(self._outputfile, "wb") as fh: shutil.copyfileobj(fh_src, fh) def savefig(self, figure=None, **kwargs): From dc3136ed078d1c4e128c06fa7ddef2491d739f2a Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Tue, 20 Feb 2018 19:38:29 -0800 Subject: [PATCH 0143/1161] Make ax3d.get_xlim() return a tuple, as 2D axes do. --- doc/api/next_api_changes/2018-02-21-AL.rst | 5 +++++ lib/mpl_toolkits/mplot3d/axes3d.py | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 doc/api/next_api_changes/2018-02-21-AL.rst diff --git a/doc/api/next_api_changes/2018-02-21-AL.rst b/doc/api/next_api_changes/2018-02-21-AL.rst new file mode 100644 index 000000000000..309335a59836 --- /dev/null +++ b/doc/api/next_api_changes/2018-02-21-AL.rst @@ -0,0 +1,5 @@ +``Axes3D.get_xlim``, ``get_ylim`` and ``get_zlim`` now return a tuple +````````````````````````````````````````````````````````````````````` + +They previously returned an array. Returning a tuple is consistent with the +behavior for 2D axes. diff --git a/lib/mpl_toolkits/mplot3d/axes3d.py b/lib/mpl_toolkits/mplot3d/axes3d.py index 04f3de83c6c7..66527a5c768f 100644 --- a/lib/mpl_toolkits/mplot3d/axes3d.py +++ b/lib/mpl_toolkits/mplot3d/axes3d.py @@ -761,7 +761,7 @@ def set_zlim3d(self, bottom=None, top=None, emit=True, auto=False, **kw): set_zlim = set_zlim3d def get_xlim3d(self): - return self.xy_viewLim.intervalx + return tuple(self.xy_viewLim.intervalx) get_xlim3d.__doc__ = maxes.Axes.get_xlim.__doc__ get_xlim = get_xlim3d if get_xlim.__doc__ is not None: @@ -771,7 +771,7 @@ def get_xlim3d(self): """ def get_ylim3d(self): - return self.xy_viewLim.intervaly + return tuple(self.xy_viewLim.intervaly) get_ylim3d.__doc__ = maxes.Axes.get_ylim.__doc__ get_ylim = get_ylim3d if get_ylim.__doc__ is not None: @@ -782,7 +782,7 @@ def get_ylim3d(self): def get_zlim3d(self): '''Get 3D z limits.''' - return self.zz_viewLim.intervalx + return tuple(self.zz_viewLim.intervalx) get_zlim = get_zlim3d def get_zscale(self): From eb5a385b1238f2a14bf23d47575af8ee7bbf8d21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20N=C3=B6the?= Date: Wed, 21 Feb 2018 09:50:25 +0100 Subject: [PATCH 0144/1161] Use hyperref to set pdf metadata --- lib/matplotlib/backends/backend_pgf.py | 55 +++++++++++++++++++------- 1 file changed, 41 insertions(+), 14 deletions(-) diff --git a/lib/matplotlib/backends/backend_pgf.py b/lib/matplotlib/backends/backend_pgf.py index 43412cfa16e0..2fa7b559a393 100644 --- a/lib/matplotlib/backends/backend_pgf.py +++ b/lib/matplotlib/backends/backend_pgf.py @@ -16,7 +16,7 @@ import weakref import matplotlib as mpl -from matplotlib import _png, rcParams +from matplotlib import _png, rcParams, __version__ from matplotlib.backend_bases import ( _Backend, FigureCanvasBase, FigureManagerBase, GraphicsContextBase, RendererBase) @@ -1018,6 +1018,7 @@ class PdfPages(object): '_fname_pdf', '_n_figures', '_file', + 'metadata', ) def __init__(self, filename, keep_empty=True, metadata=None): @@ -1040,14 +1041,14 @@ def __init__(self, filename, keep_empty=True, metadata=None): 'Title': 'Awesome fig'}` The standard keys are `'Title'`, `'Author'`, `'Subject'`, - `'Keywords'`, `'Creator'`, `'Producer'`, `'CreationDate'`, - `'ModDate'`, and `'Trapped'`. Values have been predefined - for `'Creator'`, `'Producer'` and `'CreationDate'`. They - can be removed by setting them to `None`. + `'Keywords'`, `'Producer'`, `'Creator'` and `'Trapped'`. + Values have been predefined for `'Creator'` and `'Producer'`. + They can be removed by setting them to the empty string. """ self._outputfile = filename self._n_figures = 0 self.keep_empty = keep_empty + self.metadata = metadata or {} # create temporary directory for compiling the figure self._tmpdir = tempfile.mkdtemp(prefix="mpl_pgf_pdfpages_") @@ -1057,17 +1058,43 @@ def __init__(self, filename, keep_empty=True, metadata=None): self._file = open(self._fname_tex, 'wb') def _write_header(self, width_inches, height_inches): + supported_keys = { + 'title', 'author', 'subject', 'keywords', 'creator', + 'producer', 'trapped' + } + infoDict = { + 'creator': 'matplotlib %s, http://matplotlib.org' % __version__, + 'producer': 'matplotlib pgf backend %s' % __version__, + } + metadata = {k.lower(): v for k, v in self.metadata.items()} + infoDict.update(metadata) + hyperref_options = '' + for k, v in infoDict.items(): + if k not in supported_keys: + raise ValueError('Not a supported pdf metadata field: "{}"'.format(k)) + hyperref_options += 'pdf' + k + '={' + str(v) + '},' + latex_preamble = get_preamble() latex_fontspec = get_fontspec() - latex_header = r"""\documentclass[12pt]{minimal} -\usepackage[paperwidth=%fin, paperheight=%fin, margin=0in]{geometry} -%s -%s -\usepackage{pgf} -\setlength{\parindent}{0pt} - -\begin{document}%% -""" % (width_inches, height_inches, latex_preamble, latex_fontspec) + latex_header = r"""\PassOptionsToPackage{{ + {metadata} +}}{{hyperref}} +\RequirePackage{{hyperref}} +\documentclass[12pt]{{minimal}} +\usepackage[paperwidth={width}in, paperheight={height}in, margin=0in]{{geometry}} +{preamble} +{fontspec} +\usepackage{{pgf}} +\setlength{{\parindent}}{{0pt}} + +\begin{{document}}%% +""".format( + width=width_inches, + height=height_inches, + preamble=latex_preamble, + fontspec=latex_fontspec, + metadata=hyperref_options, + ) self._file.write(latex_header.encode('utf-8')) def __enter__(self): From 7c7c1359243fda28ece7eb1caa183cc8007d7aff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20N=C3=B6the?= Date: Wed, 21 Feb 2018 09:54:03 +0100 Subject: [PATCH 0145/1161] Make arguments kwargs only --- lib/matplotlib/backends/backend_pgf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/backends/backend_pgf.py b/lib/matplotlib/backends/backend_pgf.py index 2fa7b559a393..b51dcd16114a 100644 --- a/lib/matplotlib/backends/backend_pgf.py +++ b/lib/matplotlib/backends/backend_pgf.py @@ -1021,7 +1021,7 @@ class PdfPages(object): 'metadata', ) - def __init__(self, filename, keep_empty=True, metadata=None): + def __init__(self, filename, *, keep_empty=True, metadata=None): """ Create a new PdfPages object. From 8bfe11e0c1bad09346fb41d73ed31b628b702749 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20N=C3=B6the?= Date: Wed, 21 Feb 2018 09:54:15 +0100 Subject: [PATCH 0146/1161] Use single bytestring --- lib/matplotlib/backends/backend_pgf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/backends/backend_pgf.py b/lib/matplotlib/backends/backend_pgf.py index b51dcd16114a..fe26e57e74fe 100644 --- a/lib/matplotlib/backends/backend_pgf.py +++ b/lib/matplotlib/backends/backend_pgf.py @@ -1108,7 +1108,7 @@ def close(self): Finalize this object, running LaTeX in a temporary directory and moving the final pdf file to `filename`. """ - self._file.write(r'\end{document}'.encode('utf-8') + b'\n') + self._file.write(rb'\end{document}\n') self._file.close() if self._n_figures > 0: From 4e55172cbf1f2962186cab08bc153f6d9774ba17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20N=C3=B6the?= Date: Wed, 21 Feb 2018 10:39:42 +0100 Subject: [PATCH 0147/1161] Add docs for backend_pgf.PdfPages --- tutorials/text/pgf.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/tutorials/text/pgf.py b/tutorials/text/pgf.py index 162f74807135..136fb46dae8a 100644 --- a/tutorials/text/pgf.py +++ b/tutorials/text/pgf.py @@ -56,6 +56,30 @@ .. _pgf-rcfonts: + +Multi-Page PDF Files +==================== + +The pgf backend also supportes multipage pdf files using ``PdfPages`` + +.. code-block:: python + + from matplotlib.backends.backend_pgf import PdfPages + import matplotlib.pyplot as plt + + with PdfPages('multipage.pdf', metadata={'author': 'Me'}) as pdf: + + fig1 = plt.figure() + ax1 = fig1.add_subplot(1, 1, 1) + ax1.plot([1, 5, 3]) + pdf.savefig(fig1) + + fig2 = plt.figure() + ax2 = fig2.add_subplot(1, 1, 1) + ax2.plot([1, 5, 3]) + pdf.savefig(fig2) + + Font specification ================== From 3fa47014bbf7112388690189b565b2bab45c532f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20N=C3=B6the?= Date: Wed, 21 Feb 2018 10:45:22 +0100 Subject: [PATCH 0148/1161] Add whats new for backend_pgf.PdfPages --- doc/users/next_whats_new/pgf_pdfpages.rst | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 doc/users/next_whats_new/pgf_pdfpages.rst diff --git a/doc/users/next_whats_new/pgf_pdfpages.rst b/doc/users/next_whats_new/pgf_pdfpages.rst new file mode 100644 index 000000000000..7398019505e6 --- /dev/null +++ b/doc/users/next_whats_new/pgf_pdfpages.rst @@ -0,0 +1,19 @@ +Multipage PDF support for pgf backend +------------------------------------- + +The pgf backend now also supports multipage PDF files. + +.. code-block:: python + + from matplotlib.backends.backend_pgf import PdfPages + import matplotlib.pyplot as plt + + with PdfPages('multipage.pdf') as pdf: + # page 1 + plt.plot([2, 1, 3]) + pdf.savefig() + + # page 2 + plt.cla() + plt.plot([3, 1, 2]) + pdf.savefig() From e9128a2db33bdae2e21ee4f108bfde0120ec0633 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20N=C3=B6the?= Date: Wed, 21 Feb 2018 11:41:44 +0100 Subject: [PATCH 0149/1161] pep8 --- lib/matplotlib/backends/backend_pgf.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/backends/backend_pgf.py b/lib/matplotlib/backends/backend_pgf.py index fe26e57e74fe..acd9d664cbb4 100644 --- a/lib/matplotlib/backends/backend_pgf.py +++ b/lib/matplotlib/backends/backend_pgf.py @@ -1071,7 +1071,9 @@ def _write_header(self, width_inches, height_inches): hyperref_options = '' for k, v in infoDict.items(): if k not in supported_keys: - raise ValueError('Not a supported pdf metadata field: "{}"'.format(k)) + raise ValueError( + 'Not a supported pdf metadata field: "{}"'.format(k) + ) hyperref_options += 'pdf' + k + '={' + str(v) + '},' latex_preamble = get_preamble() @@ -1138,8 +1140,9 @@ def _run_latex(self): % (texcommand, e.output.decode('utf-8'))) # copy file contents to target - with open(self._fname_pdf, "rb") as fh_src, open(self._outputfile, "wb") as fh: - shutil.copyfileobj(fh_src, fh) + with open(self._fname_pdf, "rb") as fh_src: + with open(self._outputfile, "wb") as fh: + shutil.copyfileobj(fh_src, fh) def savefig(self, figure=None, **kwargs): """ From 0354d65c4a3a42dad42981bc92ff8e99189eb458 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20N=C3=B6the?= Date: Wed, 21 Feb 2018 11:44:54 +0100 Subject: [PATCH 0150/1161] Add test for metadata --- lib/matplotlib/tests/test_backend_pgf.py | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py index ac57d42e68fe..f96462c241c9 100644 --- a/lib/matplotlib/tests/test_backend_pgf.py +++ b/lib/matplotlib/tests/test_backend_pgf.py @@ -208,8 +208,6 @@ def test_pdf_pages(): } mpl.rcParams.update(rc_pdflatex) - Y, X = np.ogrid[-1:1:40j, -1:1:40j] - fig1 = plt.figure() ax1 = fig1.add_subplot(1, 1, 1) ax1.plot(range(5)) @@ -223,3 +221,24 @@ def test_pdf_pages(): with PdfPages(os.path.join(result_dir, 'pdfpages.pdf')) as pdf: pdf.savefig(fig1) pdf.savefig(fig2) + + +@needs_xelatex +@pytest.mark.style('default') +@pytest.mark.backend('pgf') +def test_pdf_pages_metadata(): + rc_pdflatex = { + 'font.family': 'serif', + 'pgf.rcfonts': False, + } + mpl.rcParams.update(rc_pdflatex) + + fig = plt.figure() + ax = fig.add_subplot(1, 1, 1) + ax.plot(range(5)) + fig.tight_layout() + + md = {'author': 'me', 'title': 'Multipage PDF with pgf'} + with PdfPages(os.path.join(result_dir, 'pdfpages.pdf'), metadata=md) as pdf: + pdf.savefig(fig) + pdf.savefig(fig) From f27d41de7a8e511b3b75177a1662b14d06e56061 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20N=C3=B6the?= Date: Wed, 21 Feb 2018 12:00:09 +0100 Subject: [PATCH 0151/1161] Support also lualatex in backend_pgf.PdfPages --- lib/matplotlib/backends/backend_pgf.py | 17 ++++++++++---- lib/matplotlib/tests/test_backend_pgf.py | 30 +++++++++++++++++++++++- 2 files changed, 41 insertions(+), 6 deletions(-) diff --git a/lib/matplotlib/backends/backend_pgf.py b/lib/matplotlib/backends/backend_pgf.py index acd9d664cbb4..2dc537bcfd4e 100644 --- a/lib/matplotlib/backends/backend_pgf.py +++ b/lib/matplotlib/backends/backend_pgf.py @@ -1176,11 +1176,18 @@ def savefig(self, figure=None, **kwargs): if self._n_figures == 0: self._write_header(*figure.get_size_inches()) else: - self._file.write( - r'\newpage\pdfpagewidth={}in\pdfpageheight={}in%'.format( - *figure.get_size_inches() - ).encode('utf-8') + b'\n' - ) + if get_texcommand() == 'lualatex': + self._file.write( + r'\newpage\pagewidth={}in\pageheight={}in%'.format( + *figure.get_size_inches() + ).encode('utf-8') + b'\n' + ) + else: + self._file.write( + r'\newpage\pdfpagewidth={}in\pdfpageheight={}in%'.format( + *figure.get_size_inches() + ).encode('utf-8') + b'\n' + ) figure.savefig(self._file, format="pgf", **kwargs) self._n_figures += 1 finally: diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py index f96462c241c9..162d66faa77a 100644 --- a/lib/matplotlib/tests/test_backend_pgf.py +++ b/lib/matplotlib/tests/test_backend_pgf.py @@ -41,6 +41,8 @@ def check_for(texsystem): reason='xelatex + pgf is required') needs_pdflatex = pytest.mark.skipif(not check_for('pdflatex'), reason='pdflatex + pgf is required') +needs_lualatex = pytest.mark.skipif(not check_for('lualatex'), + reason='lualatex + pgf is required') def compare_figure(fname, savefig_kwargs={}, tol=0): @@ -205,6 +207,7 @@ def test_pdf_pages(): rc_pdflatex = { 'font.family': 'serif', 'pgf.rcfonts': False, + 'pgf.texsystem': 'pdflatex', } mpl.rcParams.update(rc_pdflatex) @@ -230,6 +233,7 @@ def test_pdf_pages_metadata(): rc_pdflatex = { 'font.family': 'serif', 'pgf.rcfonts': False, + 'pgf.texsystem': 'xelatex', } mpl.rcParams.update(rc_pdflatex) @@ -239,6 +243,30 @@ def test_pdf_pages_metadata(): fig.tight_layout() md = {'author': 'me', 'title': 'Multipage PDF with pgf'} - with PdfPages(os.path.join(result_dir, 'pdfpages.pdf'), metadata=md) as pdf: + with PdfPages(os.path.join(result_dir, 'pdfpages_meta.pdf'), metadata=md) as pdf: pdf.savefig(fig) pdf.savefig(fig) + + +@needs_lualatex +@pytest.mark.style('default') +@pytest.mark.backend('pgf') +def test_pdf_pages_lualatex(): + rc_pdflatex = { + 'font.family': 'serif', + 'pgf.rcfonts': False, + 'pgf.texsystem': 'lualatex' + } + mpl.rcParams.update(rc_pdflatex) + + fig = plt.figure() + ax = fig.add_subplot(1, 1, 1) + ax.plot(range(5)) + fig.tight_layout() + + md = {'author': 'me', 'title': 'Multipage PDF with pgf'} + with PdfPages(os.path.join(result_dir, 'pdfpages_lua.pdf'), metadata=md) as pdf: + pdf.savefig(fig) + pdf.savefig(fig) + + raise Exception(result_dir) From 6f7fbec2dfd215aee684d428d7b19a3b18eea430 Mon Sep 17 00:00:00 2001 From: "luz.paz" Date: Wed, 21 Feb 2018 10:10:36 -0500 Subject: [PATCH 0152/1161] Revision --- lib/matplotlib/backends/qt_compat.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/backends/qt_compat.py b/lib/matplotlib/backends/qt_compat.py index b74680a86046..d2892ea21133 100644 --- a/lib/matplotlib/backends/qt_compat.py +++ b/lib/matplotlib/backends/qt_compat.py @@ -23,7 +23,7 @@ pyqt5=(QT_API_PYQT5, 5), pyside2=(QT_API_PYSIDE2, 5)) # ETS is a dict of env variable to (QT_API, QT_MAJOR_VERSION) # If the ETS QT_API environment variable is set, use it, but only -# if the variable if of the same major QT version. Note that +# if the variable is of the same major QT version. Note that # ETS requires the version 2 of PyQt4, which is not the platform # default for Python 2.x. From e449b84289948c6d07698f422abc03d3817f02e6 Mon Sep 17 00:00:00 2001 From: cclauss Date: Wed, 21 Feb 2018 19:24:33 +0100 Subject: [PATCH 0153/1161] Remove if six.PY2 code paths from boilerplate.py --- tools/boilerplate.py | 25 ++++--------------------- 1 file changed, 4 insertions(+), 21 deletions(-) diff --git a/tools/boilerplate.py b/tools/boilerplate.py index 7b4ace55bd84..1784ac243a6a 100644 --- a/tools/boilerplate.py +++ b/tools/boilerplate.py @@ -17,11 +17,6 @@ # For some later history, see # http://thread.gmane.org/gmane.comp.python.matplotlib.devel/7068 -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - import os import inspect import random @@ -154,7 +149,7 @@ def boilerplate_gen(): 'semilogx', 'semilogy', 'specgram', - #'spy', + # 'spy', 'stackplot', 'stem', 'step', @@ -233,22 +228,10 @@ def format_value(value): has_data = 'data' in inspect.signature(base_func).parameters work_func = inspect.unwrap(base_func) - if six.PY2: - args, varargs, varkw, defaults = inspect.getargspec(work_func) - else: - (args, varargs, varkw, defaults, kwonlyargs, kwonlydefs, - annotations) = inspect.getfullargspec(work_func) + (args, varargs, varkw, defaults, kwonlyargs, kwonlydefs, + annotations) = inspect.getfullargspec(work_func) args.pop(0) # remove 'self' argument - if defaults is None: - defaults = () - else: - def_edited = [] - for val in defaults: - if six.PY2: - if isinstance(val, unicode): - val = val.encode('ascii', 'ignore') - def_edited.append(val) - defaults = tuple(def_edited) + defaults = tuple(defaults or ()) # Add a data keyword argument if needed (fmt is PLOT_TEMPLATE) and # possible (if *args is used, we can't just add a data From 697f75be26a25ffdbbee6ac5df87449a78b71d4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20N=C3=B6the?= Date: Wed, 21 Feb 2018 21:34:04 +0100 Subject: [PATCH 0154/1161] Include next_whats_new --- doc/users/whats_new.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/users/whats_new.rst b/doc/users/whats_new.rst index 648daabc7c5b..3c5fdc23af73 100644 --- a/doc/users/whats_new.rst +++ b/doc/users/whats_new.rst @@ -14,12 +14,12 @@ revision, see the :ref:`github-stats`. .. For a release, add a new section after this, then comment out the include and toctree below by indenting them. Uncomment them after the release. - .. include:: next_whats_new/README.rst - .. toctree:: - :glob: - :maxdepth: 1 +.. include:: next_whats_new/README.rst +.. toctree:: + :glob: + :maxdepth: 1 - next_whats_new/* + next_whats_new/* New in Matplotlib 2.2 From e410beaa181e01552183036af930580bc727ac35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20N=C3=B6the?= Date: Wed, 21 Feb 2018 22:28:17 +0100 Subject: [PATCH 0155/1161] Test for pagecount --- lib/matplotlib/tests/test_backend_pgf.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py index 162d66faa77a..bded135a60f2 100644 --- a/lib/matplotlib/tests/test_backend_pgf.py +++ b/lib/matplotlib/tests/test_backend_pgf.py @@ -246,6 +246,9 @@ def test_pdf_pages_metadata(): with PdfPages(os.path.join(result_dir, 'pdfpages_meta.pdf'), metadata=md) as pdf: pdf.savefig(fig) pdf.savefig(fig) + pdf.savefig(fig) + + assert pdf.get_pagecount() == 3 @needs_lualatex @@ -269,4 +272,4 @@ def test_pdf_pages_lualatex(): pdf.savefig(fig) pdf.savefig(fig) - raise Exception(result_dir) + assert pdf.get_pagecount() == 2 From ecc0912be02477f98f55355105ed83d3d1ef0597 Mon Sep 17 00:00:00 2001 From: David Stansby Date: Wed, 21 Feb 2018 22:57:40 +0000 Subject: [PATCH 0156/1161] Add some mlab alternatives --- lib/matplotlib/mlab.py | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/lib/matplotlib/mlab.py b/lib/matplotlib/mlab.py index 7740ab19e64d..9d0bb81932b8 100644 --- a/lib/matplotlib/mlab.py +++ b/lib/matplotlib/mlab.py @@ -186,7 +186,7 @@ long = int -@cbook.deprecated("2.2", alternative='np.logspace, np.geomspace') +@cbook.deprecated("2.2", alternative='numpy.logspace or numpy.geomspace') def logspace(xmin, xmax, N): ''' Return N values logarithmically spaced between xmin and xmax. @@ -1346,7 +1346,7 @@ def donothing_callback(*args): pass -@cbook.deprecated('2.2') +@cbook.deprecated('2.2', 'scipy.signal.coherence') def cohere_pairs(X, ij, NFFT=256, Fs=2, detrend=detrend_none, window=window_hanning, noverlap=0, preferSpeedOverMemory=True, @@ -1504,7 +1504,7 @@ def cohere_pairs(X, ij, NFFT=256, Fs=2, detrend=detrend_none, return Cxy, Phase, freqs -@cbook.deprecated('2.2') +@cbook.deprecated('2.2', 'scipy.stats.entropy') def entropy(y, bins): r""" Return the entropy of the data in *y* in units of nat. @@ -1534,7 +1534,7 @@ def entropy(y, bins): return S -@cbook.deprecated('2.2') +@cbook.deprecated('2.2', 'scipy.stats.norm.pdf') def normpdf(x, *args): "Return the normal pdf evaluated at *x*; args provides *mu*, *sigma*" mu, sigma = args @@ -1718,7 +1718,7 @@ def _get_colinear(): return a -@cbook.deprecated('2.2') +@cbook.deprecated('2.2', 'numpy.percentile') def prctile(x, p=(0.0, 25.0, 50.0, 75.0, 100.0)): """ Return the percentiles of *x*. *p* can either be a sequence of @@ -1801,7 +1801,7 @@ def center_matrix(M, dim=0): return M -@cbook.deprecated('2.2') +@cbook.deprecated('2.2', 'scipy.integrate.ode') def rk4(derivs, y0, t): """ Integrate 1D or ND system of ODEs using 4-th order Runge-Kutta. @@ -1919,7 +1919,7 @@ def get_sparse_matrix(M, N, frac=0.1): return data -@cbook.deprecated('2.2') +@cbook.deprecated('2.2', 'numpy.hypot') def dist(x, y): """ Return the distance between two points. @@ -2061,7 +2061,7 @@ def movavg(x, n): exp_safe_MAX = 1.7976931348623157e+308 -@cbook.deprecated("2.2") +@cbook.deprecated("2.2", 'numpy.exp') def exp_safe(x): """ Compute exponentials which safely underflow to zero. @@ -2077,7 +2077,7 @@ def exp_safe(x): return math.exp(x) -@cbook.deprecated("2.2", alternative='np.array(list(map(...)))') +@cbook.deprecated("2.2", alternative='numpy.array(list(map(...)))') def amap(fn, *args): """ amap(function, sequence[, sequence, ...]) -> array. @@ -2096,7 +2096,7 @@ def rms_flat(a): return np.sqrt(np.mean(np.abs(a) ** 2)) -@cbook.deprecated("2.2", alternative='np.linalg.norm(a, ord=1)') +@cbook.deprecated("2.2", alternative='numpy.linalg.norm(a, ord=1)') def l1norm(a): """ Return the *l1* norm of *a*, flattened out. @@ -2106,7 +2106,7 @@ def l1norm(a): return np.sum(np.abs(a)) -@cbook.deprecated("2.2", alternative='np.linalg.norm(a, ord=2)') +@cbook.deprecated("2.2", alternative='numpy.linalg.norm(a, ord=2)') def l2norm(a): """ Return the *l2* norm of *a*, flattened out. @@ -2116,7 +2116,7 @@ def l2norm(a): return np.sqrt(np.sum(np.abs(a) ** 2)) -@cbook.deprecated("2.2", alternative='np.linalg.norm(a.flat, ord=p)') +@cbook.deprecated("2.2", alternative='numpy.linalg.norm(a.flat, ord=p)') def norm_flat(a, p=2): """ norm(a,p=2) -> l-p norm of a.flat @@ -2134,7 +2134,7 @@ def norm_flat(a, p=2): return np.sum(np.abs(a) ** p) ** (1 / p) -@cbook.deprecated("2.2") +@cbook.deprecated("2.2", 'numpy.arange') def frange(xini, xfin=None, delta=None, **kw): """ frange([start,] stop[, step, keywords]) -> array of floats @@ -2202,7 +2202,7 @@ def frange(xini, xfin=None, delta=None, **kw): # end frange() -@cbook.deprecated("2.2") +@cbook.deprecated("2.2", 'numpy.identity') def identity(n, rank=2, dtype='l', typecode=None): """ Returns the identity matrix of shape (*n*, *n*, ..., *n*) (rank *r*). @@ -2268,7 +2268,7 @@ def binary_repr(number, max_length=1025): return ''.join(map(repr, digits)).replace('L', '') -@cbook.deprecated("2.2") +@cbook.deprecated("2.2", 'numpy.log2') def log2(x, ln2=math.log(2.0)): """ Return the log(*x*) in base 2. @@ -2287,7 +2287,7 @@ def log2(x, ln2=math.log(2.0)): return len(bin_n) -@cbook.deprecated("2.2") +@cbook.deprecated("2.2", 'numpy.mod(n, 2)') def ispower2(n): """ Returns the log base 2 of *n* if *n* is a power of 2, zero otherwise. @@ -2319,7 +2319,7 @@ def isvector(X): # helpers for loading, saving, manipulating and viewing numpy record arrays -@cbook.deprecated("2.2") +@cbook.deprecated("2.2", 'numpy.isnan') def safe_isnan(x): ':func:`numpy.isnan` for arbitrary types' if isinstance(x, six.string_types): @@ -2334,7 +2334,7 @@ def safe_isnan(x): return b -@cbook.deprecated("2.2") +@cbook.deprecated("2.2", 'numpy.isinf') def safe_isinf(x): ':func:`numpy.isinf` for arbitrary types' if isinstance(x, six.string_types): @@ -3130,7 +3130,7 @@ def csvformat_factory(format): return format -@cbook.deprecated("2.2", alternative='np.recarray.tofile') +@cbook.deprecated("2.2", alternative='numpy.recarray.tofile') def rec2txt(r, header=None, padding=3, precision=3, fields=None): """ Returns a textual representation of a record array. @@ -3251,7 +3251,7 @@ def format(item, just_pad_prec_spacer): return text -@cbook.deprecated("2.2", alternative='np.recarray.tofile') +@cbook.deprecated("2.2", alternative='numpy.recarray.tofile') def rec2csv(r, fname, delimiter=',', formatd=None, missing='', missingd=None, withheader=True): """ @@ -3452,7 +3452,7 @@ def griddata(x, y, z, xi, yi, interp='nn'): ################################################## # Linear interpolation algorithms ################################################## -@cbook.deprecated("2.2", alternative="np.interp") +@cbook.deprecated("2.2", alternative="numpy.interp") def less_simple_linear_interpolation(x, y, xi, extrap=False): """ This function provides simple (but somewhat less so than From 08387d8e167ceb30422781fc55faa2334bdd81e7 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Wed, 21 Feb 2018 22:45:29 -0800 Subject: [PATCH 0157/1161] Nested classes and instancemethods are directly picklable on Py3.5+. https://docs.python.org/3/whatsnew/3.5.html#pickle The previous workarounds were private and can be directly removed. --- lib/matplotlib/axes/_base.py | 2 +- lib/matplotlib/cbook/__init__.py | 38 -------------------------------- lib/matplotlib/markers.py | 9 -------- lib/matplotlib/offsetbox.py | 19 ---------------- lib/matplotlib/patches.py | 24 -------------------- lib/matplotlib/transforms.py | 24 -------------------- 6 files changed, 1 insertion(+), 115 deletions(-) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 4f66837e6deb..69b47db94fe2 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -158,7 +158,7 @@ def __init__(self, axes, command='plot'): self.set_prop_cycle() def __getstate__(self): - # note: it is not possible to pickle a itertools.cycle instance + # note: it is not possible to pickle a generator (and thus a cycler). return {'axes': self.axes, 'command': self.command} def __setstate__(self, state): diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index 6b2398aa204c..cfb564e128c6 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -2160,44 +2160,6 @@ def violin_stats(X, method, points=100): return vpstats -class _NestedClassGetter(object): - # recipe from http://stackoverflow.com/a/11493777/741316 - """ - When called with the containing class as the first argument, - and the name of the nested class as the second argument, - returns an instance of the nested class. - """ - def __call__(self, containing_class, class_name): - nested_class = getattr(containing_class, class_name) - - # make an instance of a simple object (this one will do), for which we - # can change the __class__ later on. - nested_instance = _NestedClassGetter() - - # set the class of the instance, the __init__ will never be called on - # the class but the original state will be set later on by pickle. - nested_instance.__class__ = nested_class - return nested_instance - - -class _InstanceMethodPickler(object): - """ - Pickle cannot handle instancemethod saving. _InstanceMethodPickler - provides a solution to this. - """ - def __init__(self, instancemethod): - """Takes an instancemethod as its only argument.""" - if six.PY3: - self.parent_obj = instancemethod.__self__ - self.instancemethod_name = instancemethod.__func__.__name__ - else: - self.parent_obj = instancemethod.im_self - self.instancemethod_name = instancemethod.im_func.__name__ - - def get_instancemethod(self): - return getattr(self.parent_obj, self.instancemethod_name) - - def pts_to_prestep(x, *args): """ Convert continuous line to pre-steps. diff --git a/lib/matplotlib/markers.py b/lib/matplotlib/markers.py index 619386101ccf..91ac9074c44e 100644 --- a/lib/matplotlib/markers.py +++ b/lib/matplotlib/markers.py @@ -187,15 +187,6 @@ def __init__(self, marker=None, fillstyle=None): self.set_fillstyle(fillstyle) self.set_marker(marker) - def __getstate__(self): - d = self.__dict__.copy() - d.pop('_marker_function') - return d - - def __setstate__(self, statedict): - self.__dict__ = statedict - self.set_marker(self._marker) - def _recache(self): if self._marker_function is None: return diff --git a/lib/matplotlib/offsetbox.py b/lib/matplotlib/offsetbox.py index a4d97374c45f..401ae3a3683d 100644 --- a/lib/matplotlib/offsetbox.py +++ b/lib/matplotlib/offsetbox.py @@ -156,25 +156,6 @@ def __init__(self, *args, **kwargs): self._children = [] self._offset = (0, 0) - def __getstate__(self): - state = martist.Artist.__getstate__(self) - - # pickle cannot save instancemethods, so handle them here - from .cbook import _InstanceMethodPickler - import inspect - - offset = state['_offset'] - if inspect.ismethod(offset): - state['_offset'] = _InstanceMethodPickler(offset) - return state - - def __setstate__(self, state): - self.__dict__ = state - from .cbook import _InstanceMethodPickler - if isinstance(self._offset, _InstanceMethodPickler): - self._offset = self._offset.get_instancemethod() - self.stale = True - def set_figure(self, fig): """ Set the figure diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index cf8f20eb97d2..6d75cb36ea3a 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -2033,14 +2033,6 @@ def __call__(self, x0, y0, width, height, mutation_size, else: return self.transmute(x0, y0, width, height, mutation_size) - def __reduce__(self): - # because we have decided to nest these classes, we need to - # add some more information to allow instance pickling. - return (cbook._NestedClassGetter(), - (BoxStyle, self.__class__.__name__), - self.__dict__ - ) - class Square(_Base): """ A simple square box. @@ -2819,14 +2811,6 @@ def __call__(self, posA, posB, return shrunk_path - def __reduce__(self): - # because we have decided to nest these classes, we need to - # add some more information to allow instance pickling. - return (cbook._NestedClassGetter(), - (ConnectionStyle, self.__class__.__name__), - self.__dict__ - ) - class Arc3(_Base): """ Creates a simple quadratic bezier curve between two @@ -3276,14 +3260,6 @@ def __call__(self, path, mutation_size, linewidth, else: return self.transmute(path, mutation_size, linewidth) - def __reduce__(self): - # because we have decided to nest these classes, we need to - # add some more information to allow instance pickling. - return (cbook._NestedClassGetter(), - (ArrowStyle, self.__class__.__name__), - self.__dict__ - ) - class _Curve(_Base): """ A simple arrow which will work with any path instance. The diff --git a/lib/matplotlib/transforms.py b/lib/matplotlib/transforms.py index 274b66e13e26..876b7eec0358 100644 --- a/lib/matplotlib/transforms.py +++ b/lib/matplotlib/transforms.py @@ -1680,30 +1680,6 @@ def _init(self, child): def __eq__(self, other): return self._child.__eq__(other) - # NOTE: Transform.__[gs]etstate__ should be sufficient when using only - # Python 3.4+. - def __getstate__(self): - # only store the child information and parents - return { - 'child': self._child, - 'input_dims': self.input_dims, - 'output_dims': self.output_dims, - # turn the weak-values dictionary into a normal dictionary - 'parents': dict((k, v()) for (k, v) in - six.iteritems(self._parents)) - } - - def __setstate__(self, state): - # re-initialise the TransformWrapper with the state's child - self._init(state['child']) - # The child may not be unpickled yet, so restore its information. - self.input_dims = state['input_dims'] - self.output_dims = state['output_dims'] - # turn the normal dictionary back into a dictionary with weak - # values - self._parents = dict((k, weakref.ref(v)) for (k, v) in - six.iteritems(state['parents']) if v is not None) - def __str__(self): return ("{}(\n" "{})" From 0f0e18ee5b10ff238a4f73c557d3c1b49975907f Mon Sep 17 00:00:00 2001 From: David Stansby Date: Thu, 22 Feb 2018 14:32:00 +0000 Subject: [PATCH 0158/1161] Strip python 2 code from subprocess.py --- lib/matplotlib/compat/subprocess.py | 23 ++++------------------- 1 file changed, 4 insertions(+), 19 deletions(-) diff --git a/lib/matplotlib/compat/subprocess.py b/lib/matplotlib/compat/subprocess.py index 6607a011836e..85301600c19f 100644 --- a/lib/matplotlib/compat/subprocess.py +++ b/lib/matplotlib/compat/subprocess.py @@ -1,10 +1,7 @@ """ -A replacement wrapper around the subprocess module, with a number of -work-arounds: -- Provides a stub implementation of subprocess members on Google App Engine - (which are missing in subprocess). -- Use subprocess32, backport from python 3.2 on Linux/Mac work-around for - https://github.com/matplotlib/matplotlib/issues/5314 +A replacement wrapper around the subprocess module, which provides a stub +implementation of subprocess members on Google App Engine +(which are missing in subprocess). Instead of importing subprocess, other modules should use this as follows: @@ -12,19 +9,7 @@ This module is safe to import from anywhere within matplotlib. """ - -from __future__ import absolute_import # Required to import subprocess -from __future__ import print_function -import os -import sys -if os.name == 'posix' and sys.version_info[0] < 3: - # work around for https://github.com/matplotlib/matplotlib/issues/5314 - try: - import subprocess32 as subprocess - except ImportError: - import subprocess -else: - import subprocess +import subprocess __all__ = ['Popen', 'PIPE', 'STDOUT', 'check_output', 'CalledProcessError'] From 59380fabd0121f4d6279a2a3d4d4ab2d8a952ea8 Mon Sep 17 00:00:00 2001 From: Alexander Harnisch Date: Thu, 22 Feb 2018 19:30:09 +0100 Subject: [PATCH 0159/1161] Prevent ZeroDivisionError on plt.show() when devicePixelRatio() returns 0. --- lib/matplotlib/backends/backend_qt5.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/backends/backend_qt5.py b/lib/matplotlib/backends/backend_qt5.py index 18fa2ff04ca9..a9b226aa7265 100644 --- a/lib/matplotlib/backends/backend_qt5.py +++ b/lib/matplotlib/backends/backend_qt5.py @@ -269,7 +269,11 @@ def _update_figure_dpi(self): def _dpi_ratio(self): # Not available on Qt4 or some older Qt5. try: - return self.devicePixelRatio() + ratio = self.devicePixelRatio() + if ratio == 0: + return 1 + else: + return ratio except AttributeError: return 1 From 20dcf50f3166852dfcf2cfadfc283fb0c60bee1e Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Thu, 22 Feb 2018 19:25:54 -0800 Subject: [PATCH 0160/1161] Fix check_shared in test_subplots. The previous version of check_shared did not test anything because of the use of `zip` instead of `product` (so `i2 <= i1` was always true). Moreover, the `shared` variable defined outside the loop would get shadowed by the one defined in the loop. Fix both issues. --- lib/matplotlib/tests/test_subplots.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/matplotlib/tests/test_subplots.py b/lib/matplotlib/tests/test_subplots.py index edfe5a5dfe85..9a1a5e7f7a8d 100644 --- a/lib/matplotlib/tests/test_subplots.py +++ b/lib/matplotlib/tests/test_subplots.py @@ -1,5 +1,4 @@ -from __future__ import absolute_import, division, print_function - +import itertools import warnings import numpy @@ -14,14 +13,15 @@ def check_shared(axs, x_shared, y_shared): x_shared and y_shared are n x n boolean matrices; entry (i, j) indicates whether the x (or y) axes of subplots i and j should be shared. """ - shared = [axs[0]._shared_x_axes, axs[0]._shared_y_axes] - for (i1, ax1), (i2, ax2), (i3, (name, shared)) in zip( + for (i1, ax1), (i2, ax2), (i3, (name, shared)) in itertools.product( enumerate(axs), enumerate(axs), enumerate(zip("xy", [x_shared, y_shared]))): if i2 <= i1: continue - assert shared[i3].joined(ax1, ax2) == shared[i1, i2], \ + assert \ + (getattr(axs[0], "_shared_{}_axes".format(name)).joined(ax1, ax2) + == shared[i1, i2]), \ "axes %i and %i incorrectly %ssharing %s axis" % ( i1, i2, "not " if shared[i1, i2] else "", name) @@ -30,7 +30,7 @@ def check_visible(axs, x_visible, y_visible): def tostr(v): return "invisible" if v else "visible" - for (ax, vx, vy) in zip(axs, x_visible, y_visible): + for ax, vx, vy in zip(axs, x_visible, y_visible): for l in ax.get_xticklabels() + [ax.get_xaxis().offsetText]: assert l.get_visible() == vx, \ "X axis was incorrectly %s" % (tostr(vx)) From 871cd5bcc7ddf1ff99b001469bfc717b359a94e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20N=C3=B6the?= Date: Fri, 23 Feb 2018 09:58:07 +0100 Subject: [PATCH 0161/1161] PEP8 --- lib/matplotlib/backends/backend_pgf.py | 6 +++++- lib/matplotlib/tests/test_backend_pgf.py | 7 +++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/backends/backend_pgf.py b/lib/matplotlib/backends/backend_pgf.py index 2dc537bcfd4e..054583f6acc7 100644 --- a/lib/matplotlib/backends/backend_pgf.py +++ b/lib/matplotlib/backends/backend_pgf.py @@ -1083,7 +1083,11 @@ def _write_header(self, width_inches, height_inches): }}{{hyperref}} \RequirePackage{{hyperref}} \documentclass[12pt]{{minimal}} -\usepackage[paperwidth={width}in, paperheight={height}in, margin=0in]{{geometry}} +\usepackage[ + paperwidth={width}in, + paperheight={height}in, + margin=0in +]{{geometry}} {preamble} {fontspec} \usepackage{{pgf}} diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py index bded135a60f2..d7459cbd1048 100644 --- a/lib/matplotlib/tests/test_backend_pgf.py +++ b/lib/matplotlib/tests/test_backend_pgf.py @@ -243,7 +243,9 @@ def test_pdf_pages_metadata(): fig.tight_layout() md = {'author': 'me', 'title': 'Multipage PDF with pgf'} - with PdfPages(os.path.join(result_dir, 'pdfpages_meta.pdf'), metadata=md) as pdf: + path = os.path.join(result_dir, 'pdfpages_meta.pdf') + + with PdfPages(path, metadata=md) as pdf: pdf.savefig(fig) pdf.savefig(fig) pdf.savefig(fig) @@ -268,7 +270,8 @@ def test_pdf_pages_lualatex(): fig.tight_layout() md = {'author': 'me', 'title': 'Multipage PDF with pgf'} - with PdfPages(os.path.join(result_dir, 'pdfpages_lua.pdf'), metadata=md) as pdf: + path = os.path.join(result_dir, 'pdfpages_lua.pdf') + with PdfPages(path, metadata=md) as pdf: pdf.savefig(fig) pdf.savefig(fig) From 66db38e20bd0015828e4558982b47ddafa7c40dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20N=C3=B6the?= Date: Fri, 23 Feb 2018 09:58:17 +0100 Subject: [PATCH 0162/1161] Install texlive-luatex on travis --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index bb5e37167177..1aba1fe913f9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -37,6 +37,7 @@ addons: - texlive-latex-extra - texlive-latex-recommended - texlive-xetex + - texlive-luatex env: global: From 3496bd4ce9ba0aef56747fa57c5b74397fb54212 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20N=C3=B6the?= Date: Fri, 23 Feb 2018 11:30:28 +0100 Subject: [PATCH 0163/1161] Support lualatex < 0.85 --- lib/matplotlib/backends/backend_pgf.py | 37 +++++++++++++++++------- lib/matplotlib/tests/test_backend_pgf.py | 37 ++++++++++++++++++++++++ 2 files changed, 64 insertions(+), 10 deletions(-) diff --git a/lib/matplotlib/backends/backend_pgf.py b/lib/matplotlib/backends/backend_pgf.py index 054583f6acc7..7fd79ef8089f 100644 --- a/lib/matplotlib/backends/backend_pgf.py +++ b/lib/matplotlib/backends/backend_pgf.py @@ -51,6 +51,12 @@ except: warnings.warn('error getting fonts from fc-list', UserWarning) + +luatex_version_re = re.compile( + 'This is LuaTeX, Version (?:beta-)?([0-9]+)\.([0-9]+)\.([0-9]+)' +) + + def get_texcommand(): """Get chosen TeX system from rc.""" texsystem_options = ["xelatex", "lualatex", "pdflatex"] @@ -58,6 +64,18 @@ def get_texcommand(): return texsystem if texsystem in texsystem_options else "xelatex" +def get_lualatex_version(): + """Get version of luatex""" + output = check_output(['lualatex', '--version']) + return parse_lualatex_version(output.decode()) + + +def parse_lualatex_version(output): + '''parse the lualatex version from the output of `lualatex --version`''' + match = luatex_version_re.match(output) + return tuple(map(int, match.groups())) + + def get_fontspec(): """Build fontspec preamble from rc.""" latex_fontspec = [] @@ -1181,17 +1199,16 @@ def savefig(self, figure=None, **kwargs): self._write_header(*figure.get_size_inches()) else: if get_texcommand() == 'lualatex': - self._file.write( - r'\newpage\pagewidth={}in\pageheight={}in%'.format( - *figure.get_size_inches() - ).encode('utf-8') + b'\n' - ) + if get_lualatex_version() > (0, 85, 0): + np = r'\newpage\pagewidth={}in\pageheight={}in%' + else: + np = r'\newpage\pdfpagewidth={}in\pdfpageheight={}in%' else: - self._file.write( - r'\newpage\pdfpagewidth={}in\pdfpageheight={}in%'.format( - *figure.get_size_inches() - ).encode('utf-8') + b'\n' - ) + np = r'\newpage\pdfpagewidth={}in\pdfpageheight={}in%' + self._file.write(np.format( + *figure.get_size_inches() + ).encode('utf-8') + b'\n' + ) figure.savefig(self._file, format="pgf", **kwargs) self._n_figures += 1 finally: diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py index d7459cbd1048..c1360785b650 100644 --- a/lib/matplotlib/tests/test_backend_pgf.py +++ b/lib/matplotlib/tests/test_backend_pgf.py @@ -276,3 +276,40 @@ def test_pdf_pages_lualatex(): pdf.savefig(fig) assert pdf.get_pagecount() == 2 + + +@needs_lualatex +def test_luatex_version(): + from matplotlib.backends.backend_pgf import parse_lualatex_version + from matplotlib.backends.backend_pgf import get_lualatex_version + + v1 = '''This is LuaTeX, Version 1.0.4 (TeX Live 2017) + +Execute 'luatex --credits' for credits and version details. + +There is NO warranty. Redistribution of this software is covered by +the terms of the GNU General Public License, version 2 or (at your option) +any later version. For more information about these matters, see the file +named COPYING and the LuaTeX source. + +LuaTeX is Copyright 2017 Taco Hoekwater and the LuaTeX Team. +''' + + v2 = '''This is LuaTeX, Version beta-0.76.0-2015112019 (TeX Live 2013) (rev 4627) + +Execute 'luatex --credits' for credits and version details. + +There is NO warranty. Redistribution of this software is covered by +the terms of the GNU General Public License, version 2 or (at your option) +any later version. For more information about these matters, see the file +named COPYING and the LuaTeX source. + +Copyright 2013 Taco Hoekwater, the LuaTeX Team. +''' + + assert parse_lualatex_version(v1) == (1, 0, 4) + assert parse_lualatex_version(v2) == (0, 76, 0) + + # just test if it is successfull + version = get_lualatex_version() + assert len(version) == 3 From 97cb414e1bf1bd50477191c7c3b24a38d47c2c6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20N=C3=B6the?= Date: Fri, 23 Feb 2018 13:28:18 +0100 Subject: [PATCH 0164/1161] Implement review comments of @jkseppan --- lib/matplotlib/backends/backend_pgf.py | 4 ++-- lib/matplotlib/tests/test_backend_pgf.py | 2 +- tutorials/text/pgf.py | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/backends/backend_pgf.py b/lib/matplotlib/backends/backend_pgf.py index 7fd79ef8089f..f85a5a2d7eeb 100644 --- a/lib/matplotlib/backends/backend_pgf.py +++ b/lib/matplotlib/backends/backend_pgf.py @@ -1011,7 +1011,7 @@ def _cleanup_all(): atexit.register(_cleanup_all) -class PdfPages(object): +class PdfPages: """ A multi-page PDF file using the pgf backend @@ -1081,7 +1081,7 @@ def _write_header(self, width_inches, height_inches): 'producer', 'trapped' } infoDict = { - 'creator': 'matplotlib %s, http://matplotlib.org' % __version__, + 'creator': 'matplotlib %s, https://matplotlib.org' % __version__, 'producer': 'matplotlib pgf backend %s' % __version__, } metadata = {k.lower(): v for k, v in self.metadata.items()} diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py index c1360785b650..0fd51e594bde 100644 --- a/lib/matplotlib/tests/test_backend_pgf.py +++ b/lib/matplotlib/tests/test_backend_pgf.py @@ -310,6 +310,6 @@ def test_luatex_version(): assert parse_lualatex_version(v1) == (1, 0, 4) assert parse_lualatex_version(v2) == (0, 76, 0) - # just test if it is successfull + # just test if it is successful version = get_lualatex_version() assert len(version) == 3 diff --git a/tutorials/text/pgf.py b/tutorials/text/pgf.py index 136fb46dae8a..3b2682a723e8 100644 --- a/tutorials/text/pgf.py +++ b/tutorials/text/pgf.py @@ -60,7 +60,7 @@ Multi-Page PDF Files ==================== -The pgf backend also supportes multipage pdf files using ``PdfPages`` +The pgf backend also supports multipage pdf files using ``PdfPages`` .. code-block:: python From 3e66ac0348d23435d846bbd4cfca77c37a32f865 Mon Sep 17 00:00:00 2001 From: David Stansby Date: Fri, 23 Feb 2018 18:29:14 +0000 Subject: [PATCH 0165/1161] Remove deprecated texprocess dvipng_hack_alpha --- .../2018-02-15-AL-deprecations.rst | 1 + lib/matplotlib/texmanager.py | 20 ------------------- 2 files changed, 1 insertion(+), 20 deletions(-) diff --git a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst index 03320fab415c..316a5ec89548 100644 --- a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst +++ b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst @@ -6,3 +6,4 @@ The following functions and classes are deprecated: ``get_realpath_and_stat``), - ``cbook.is_numlike`` (use ``isinstance(..., numbers.Number)`` instead), - ``mathtext.unichr_safe`` (use ``chr`` instead), +- ``texmanager.dvipng_hack_alpha``, diff --git a/lib/matplotlib/texmanager.py b/lib/matplotlib/texmanager.py index 1a8eea8953b8..06c882f169bc 100644 --- a/lib/matplotlib/texmanager.py +++ b/lib/matplotlib/texmanager.py @@ -60,26 +60,6 @@ _log = logging.getLogger(__name__) -@mpl.cbook.deprecated("2.1") -def dvipng_hack_alpha(): - try: - p = Popen([str('dvipng'), '-version'], stdin=PIPE, stdout=PIPE, - stderr=STDOUT, close_fds=(sys.platform != 'win32')) - stdout, stderr = p.communicate() - except OSError: - _log.info('No dvipng was found') - return False - lines = stdout.decode(sys.getdefaultencoding()).split('\n') - for line in lines: - if line.startswith('dvipng '): - version = line.split()[-1] - _log.info('Found dvipng version %s', version) - version = distutils.version.LooseVersion(version) - return version < distutils.version.LooseVersion('1.6') - _log.info('Unexpected response from dvipng -version') - return False - - class TexManager(object): """ Convert strings to dvi files using TeX, caching the results to a directory. From 7706201f877a5db015e6f4ccc3cf0a5d8204ea37 Mon Sep 17 00:00:00 2001 From: David Stansby Date: Fri, 23 Feb 2018 18:33:45 +0000 Subject: [PATCH 0166/1161] Switch internal subprocess calls to python stdlib --- lib/matplotlib/backends/backend_pgf.py | 17 ++++++++++------- lib/matplotlib/backends/backend_ps.py | 6 +++--- lib/matplotlib/cbook/__init__.py | 2 +- lib/matplotlib/testing/decorators.py | 2 +- .../tests/test_backends_interactive.py | 10 ++-------- lib/matplotlib/texmanager.py | 2 +- 6 files changed, 18 insertions(+), 21 deletions(-) diff --git a/lib/matplotlib/backends/backend_pgf.py b/lib/matplotlib/backends/backend_pgf.py index cec6358452d7..b1cf0ad133e1 100644 --- a/lib/matplotlib/backends/backend_pgf.py +++ b/lib/matplotlib/backends/backend_pgf.py @@ -10,6 +10,7 @@ import os import re import shutil +import subprocess import sys import tempfile import warnings @@ -22,8 +23,6 @@ RendererBase) from matplotlib.backends.backend_mixed import MixedModeRenderer from matplotlib.cbook import is_writable_file_like -from matplotlib.compat import subprocess -from matplotlib.compat.subprocess import check_output from matplotlib.path import Path @@ -42,13 +41,15 @@ # assuming fontconfig is installed and the command 'fc-list' exists try: # list scalable (non-bitmap) fonts - fc_list = check_output([str('fc-list'), ':outline,scalable', 'family']) + fc_list = subprocess.check_output( + [str('fc-list'), ':outline,scalable', 'family']) fc_list = fc_list.decode('utf8') system_fonts = [f.split(',')[0] for f in fc_list.splitlines()] system_fonts = list(set(system_fonts)) except: warnings.warn('error getting fonts from fc-list', UserWarning) + def get_texcommand(): """Get chosen TeX system from rc.""" texsystem_options = ["xelatex", "lualatex", "pdflatex"] @@ -173,7 +174,8 @@ def make_pdf_to_png_converter(): tools_available = [] # check for pdftocairo try: - check_output([str("pdftocairo"), "-v"], stderr=subprocess.STDOUT) + subprocess.check_output( + [str("pdftocairo"), "-v"], stderr=subprocess.STDOUT) tools_available.append("pdftocairo") except: pass @@ -187,7 +189,7 @@ def make_pdf_to_png_converter(): def cairo_convert(pdffile, pngfile, dpi): cmd = [str("pdftocairo"), "-singlefile", "-png", "-r", "%d" % dpi, pdffile, os.path.splitext(pngfile)[0]] - check_output(cmd, stderr=subprocess.STDOUT) + subprocess.check_output(cmd, stderr=subprocess.STDOUT) return cairo_convert elif "gs" in tools_available: def gs_convert(pdffile, pngfile, dpi): @@ -197,7 +199,7 @@ def gs_convert(pdffile, pngfile, dpi): '-dGraphicsAlphaBits=4', '-dDOINTERPOLATE', '-sDEVICE=png16m', '-sOutputFile=%s' % pngfile, '-r%d' % dpi, pdffile] - check_output(cmd, stderr=subprocess.STDOUT) + subprocess.check_output(cmd, stderr=subprocess.STDOUT) return gs_convert else: raise RuntimeError("No suitable pdf to png renderer found.") @@ -900,7 +902,8 @@ def _print_pdf_to_fh(self, fh, *args, **kwargs): cmdargs = [str(texcommand), "-interaction=nonstopmode", "-halt-on-error", "figure.tex"] try: - check_output(cmdargs, stderr=subprocess.STDOUT, cwd=tmpdir) + subprocess.check_output( + cmdargs, stderr=subprocess.STDOUT, cwd=tmpdir) except subprocess.CalledProcessError as e: raise RuntimeError( "%s was not able to process your file.\n\nFull log:\n%s" diff --git a/lib/matplotlib/backends/backend_ps.py b/lib/matplotlib/backends/backend_ps.py index 1aeee39a246a..a7c11c7dc190 100644 --- a/lib/matplotlib/backends/backend_ps.py +++ b/lib/matplotlib/backends/backend_ps.py @@ -11,6 +11,7 @@ import glob, os, shutil, sys, time, datetime import io import logging +import subprocess from tempfile import mkstemp from matplotlib import cbook, __version__, rcParams, checkdep_ghostscript @@ -21,7 +22,6 @@ from matplotlib.cbook import (get_realpath_and_stat, is_writable_file_like, maxdict, file_requires_unicode) -from matplotlib.compat.subprocess import subprocess from matplotlib.font_manager import findfont, is_opentype_cff_font, get_font from matplotlib.ft2font import KERNING_DEFAULT, LOAD_NO_HINTING @@ -78,8 +78,8 @@ def gs_version(self): except KeyError: pass - from matplotlib.compat.subprocess import Popen, PIPE - s = Popen([self.gs_exe, "--version"], stdout=PIPE) + s = subprocess.Popen( + [self.gs_exe, "--version"], stdout=subprocess.PIPE) pipe, stderr = s.communicate() if six.PY3: ver = pipe.decode('ascii') diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index 6b2398aa204c..2a37036d32bd 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -1295,7 +1295,7 @@ def restrict_dict(d, keys): def report_memory(i=0): # argument may go away """return the memory consumed by process""" - from matplotlib.compat.subprocess import Popen, PIPE + from subprocess import Popen, PIPE pid = os.getpid() if sys.platform == 'sunos5': try: diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py index 24a3b94e420b..c2fc7a9a7d8f 100644 --- a/lib/matplotlib/testing/decorators.py +++ b/lib/matplotlib/testing/decorators.py @@ -568,7 +568,7 @@ def skip_if_command_unavailable(cmd): return a non zero exit code, something like ["latex", "-version"] """ - from matplotlib.compat.subprocess import check_output + from subprocess import check_output try: check_output(cmd) except: diff --git a/lib/matplotlib/tests/test_backends_interactive.py b/lib/matplotlib/tests/test_backends_interactive.py index bd1cc5f108b7..04494c7ea484 100644 --- a/lib/matplotlib/tests/test_backends_interactive.py +++ b/lib/matplotlib/tests/test_backends_interactive.py @@ -1,20 +1,14 @@ import importlib import os +import subprocess import sys -from matplotlib.compat.subprocess import Popen import pytest # Minimal smoke-testing of the backends for which the dependencies are # PyPI-installable on Travis. They are not available for all tested Python # versions so we don't fail on missing backends. -# -# We also don't test on Py2 because its subprocess module doesn't support -# timeouts, and it would require a separate code path to check for module -# existence without actually trying to import the module (which may install -# an undesirable input hook). - def _get_testable_interactive_backends(): backends = [] @@ -53,6 +47,6 @@ def _get_testable_interactive_backends(): def test_backend(backend): environ = os.environ.copy() environ["MPLBACKEND"] = backend - proc = Popen([sys.executable, "-c", _test_script], env=environ) + proc = subprocess.Popen([sys.executable, "-c", _test_script], env=environ) # Empirically, 1s is not enough on Travis. assert proc.wait(timeout=10) == 0 diff --git a/lib/matplotlib/texmanager.py b/lib/matplotlib/texmanager.py index 06c882f169bc..8f6273b367f8 100644 --- a/lib/matplotlib/texmanager.py +++ b/lib/matplotlib/texmanager.py @@ -44,6 +44,7 @@ import os from pathlib import Path import shutil +import subprocess import sys import warnings @@ -53,7 +54,6 @@ from matplotlib import rcParams from matplotlib._png import read_png from matplotlib.cbook import Locked -from matplotlib.compat.subprocess import subprocess, Popen, PIPE, STDOUT import matplotlib.dviread as dviread import re From cdb4209b0e334df1338d6a9939587724039c52af Mon Sep 17 00:00:00 2001 From: David Stansby Date: Fri, 23 Feb 2018 18:40:17 +0000 Subject: [PATCH 0167/1161] Remove alternative for ispower2 --- lib/matplotlib/mlab.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/mlab.py b/lib/matplotlib/mlab.py index 9d0bb81932b8..93c5e16a58ab 100644 --- a/lib/matplotlib/mlab.py +++ b/lib/matplotlib/mlab.py @@ -2287,7 +2287,7 @@ def log2(x, ln2=math.log(2.0)): return len(bin_n) -@cbook.deprecated("2.2", 'numpy.mod(n, 2)') +@cbook.deprecated("2.2") def ispower2(n): """ Returns the log base 2 of *n* if *n* is a power of 2, zero otherwise. From bce3d7ad25221b06c6c941eaaf0ac53f96258679 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Fri, 23 Feb 2018 15:42:50 -0800 Subject: [PATCH 0168/1161] Minor simplification to Figure.__getstate__ logic. --- lib/matplotlib/figure.py | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index bec447eb5591..150b6ab4baa8 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -1858,14 +1858,11 @@ def __getstate__(self): # add version information to the state state['__mpl_version__'] = _mpl_version - # check to see if the figure has a manager and whether it is registered - # with pyplot - if getattr(self.canvas, 'manager', None) is not None: - manager = self.canvas.manager - import matplotlib._pylab_helpers - if manager in list(six.itervalues( - matplotlib._pylab_helpers.Gcf.figs)): - state['_restore_to_pylab'] = True + # check whether the figure manager (if any) is registered with pyplot + from matplotlib import _pylab_helpers + if getattr(self.canvas, 'manager', None) \ + in _pylab_helpers.Gcf.figs.values(): + state['_restore_to_pylab'] = True # set all the layoutbox information to None. kiwisolver objects can't # be pickled, so we lose the layout options at this point. From 603a06b59d4c4aa99d95ab735867eeb0b2fdcdfb Mon Sep 17 00:00:00 2001 From: "Adrien F. Vincent" Date: Fri, 23 Feb 2018 15:31:04 -0800 Subject: [PATCH 0169/1161] use orientation value from kwargs --- lib/matplotlib/axes/_axes.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 1caa9bd7686e..7681edf57f44 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -1271,10 +1271,11 @@ def eventplot(self, positions, orientation='horizontal', lineoffsets=1, minline = (lineoffsets - linelengths).min() maxline = (lineoffsets + linelengths).max() - if colls[0].is_horizontal(): - corners = (minpos, minline), (maxpos, maxline) - else: + if (orientation is not None and + orientation.lower() == "vertical"): corners = (minline, minpos), (maxline, maxpos) + else: # "horizontal", None or "none" (see EventCollection) + corners = (minpos, minline), (maxpos, maxline) self.update_datalim(corners) self.autoscale_view() From f849d79f0c94d8afd67d00f8e0f575308c55b0c5 Mon Sep 17 00:00:00 2001 From: "Adrien F. Vincent" Date: Fri, 23 Feb 2018 15:58:19 -0800 Subject: [PATCH 0170/1161] add a test --- lib/matplotlib/tests/test_axes.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index 253040e016e7..c32de7c0e077 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -3236,6 +3236,17 @@ def test_empty_eventplot(): plt.draw() +@pytest.mark.parametrize('data, orientation', product( + ([[]], [[], [0, 1]], [[0, 1], []]), + ('_empty', 'vertical', 'horizontal', None, 'none'))) +def test_eventplot_orientation(data, orientation): + """Introduced when fixing issue #6412. """ + opts = {} if orientation == "_empty" else {'orientation': orientation} + fig, ax = plt.subplots(1, 1) + ax.eventplot(data, **opts) + plt.draw() + + @image_comparison(baseline_images=['marker_styles'], extensions=['png'], remove_text=True) def test_marker_styles(): From c6a40cee8408a53f684f5aa30b97402d133b8f4d Mon Sep 17 00:00:00 2001 From: WANG Aiyong Date: Sat, 24 Feb 2018 10:51:23 +0800 Subject: [PATCH 0171/1161] Might be `figure.constrained_layout.use` I think, untested. --- tutorials/intermediate/constrainedlayout_guide.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/intermediate/constrainedlayout_guide.py b/tutorials/intermediate/constrainedlayout_guide.py index 9edf271ea7ea..193408b8ebbd 100644 --- a/tutorials/intermediate/constrainedlayout_guide.py +++ b/tutorials/intermediate/constrainedlayout_guide.py @@ -230,7 +230,7 @@ def example_plot(ax, fontsize=12, nodec=False): # or in the `matplotlibrc` file. They all have the prefix # `figure.constrained_layout`: # -# - `do`: Whether to do constrained_layout. Default is False +# - `use`: Whether to use constrained_layout. Default is False # - `w_pad`, `h_pad` Padding around axes objects. # Float representing inches. Default is 3./72. inches (3 pts) # - `wspace`, `hspace` Space between subplot groups. From b06213ed43ea68bc6270566296e4f78acf5cb166 Mon Sep 17 00:00:00 2001 From: WANG Aiyong Date: Sat, 24 Feb 2018 11:18:48 +0800 Subject: [PATCH 0172/1161] Changed to "five" rcParams Why four? Either 3 (take wspace and hspace as a pair), or five. Maybe I'm wrong, I've just starting by reading docs. --- tutorials/intermediate/constrainedlayout_guide.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/intermediate/constrainedlayout_guide.py b/tutorials/intermediate/constrainedlayout_guide.py index 193408b8ebbd..bc9b233789ae 100644 --- a/tutorials/intermediate/constrainedlayout_guide.py +++ b/tutorials/intermediate/constrainedlayout_guide.py @@ -226,7 +226,7 @@ def example_plot(ax, fontsize=12, nodec=False): # rcParams: # ----------- # -# There are four `rcParams` that can be set, either in a script +# There are five `rcParams` that can be set, either in a script # or in the `matplotlibrc` file. They all have the prefix # `figure.constrained_layout`: # From 476ff78a0ed22c75496271a7f20db4a9082a4d8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20N=C3=B6the?= Date: Sat, 24 Feb 2018 10:10:57 +0100 Subject: [PATCH 0173/1161] Make lualatex version functions private --- lib/matplotlib/backends/backend_pgf.py | 12 ++++++------ lib/matplotlib/tests/test_backend_pgf.py | 10 +++++----- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/lib/matplotlib/backends/backend_pgf.py b/lib/matplotlib/backends/backend_pgf.py index f85a5a2d7eeb..66c76ae1d04d 100644 --- a/lib/matplotlib/backends/backend_pgf.py +++ b/lib/matplotlib/backends/backend_pgf.py @@ -52,7 +52,7 @@ warnings.warn('error getting fonts from fc-list', UserWarning) -luatex_version_re = re.compile( +_luatex_version_re = re.compile( 'This is LuaTeX, Version (?:beta-)?([0-9]+)\.([0-9]+)\.([0-9]+)' ) @@ -64,15 +64,15 @@ def get_texcommand(): return texsystem if texsystem in texsystem_options else "xelatex" -def get_lualatex_version(): +def _get_lualatex_version(): """Get version of luatex""" output = check_output(['lualatex', '--version']) - return parse_lualatex_version(output.decode()) + return _parse_lualatex_version(output.decode()) -def parse_lualatex_version(output): +def _parse_lualatex_version(output): '''parse the lualatex version from the output of `lualatex --version`''' - match = luatex_version_re.match(output) + match = _luatex_version_re.match(output) return tuple(map(int, match.groups())) @@ -1199,7 +1199,7 @@ def savefig(self, figure=None, **kwargs): self._write_header(*figure.get_size_inches()) else: if get_texcommand() == 'lualatex': - if get_lualatex_version() > (0, 85, 0): + if _get_lualatex_version() > (0, 85, 0): np = r'\newpage\pagewidth={}in\pageheight={}in%' else: np = r'\newpage\pdfpagewidth={}in\pdfpageheight={}in%' diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py index 0fd51e594bde..8885f8344b8e 100644 --- a/lib/matplotlib/tests/test_backend_pgf.py +++ b/lib/matplotlib/tests/test_backend_pgf.py @@ -280,8 +280,8 @@ def test_pdf_pages_lualatex(): @needs_lualatex def test_luatex_version(): - from matplotlib.backends.backend_pgf import parse_lualatex_version - from matplotlib.backends.backend_pgf import get_lualatex_version + from matplotlib.backends.backend_pgf import _parse_lualatex_version + from matplotlib.backends.backend_pgf import _get_lualatex_version v1 = '''This is LuaTeX, Version 1.0.4 (TeX Live 2017) @@ -307,9 +307,9 @@ def test_luatex_version(): Copyright 2013 Taco Hoekwater, the LuaTeX Team. ''' - assert parse_lualatex_version(v1) == (1, 0, 4) - assert parse_lualatex_version(v2) == (0, 76, 0) + assert _parse_lualatex_version(v1) == (1, 0, 4) + assert _parse_lualatex_version(v2) == (0, 76, 0) # just test if it is successful - version = get_lualatex_version() + version = _get_lualatex_version() assert len(version) == 3 From 4173ba418472f6782fd2b1ce4faa390bebae71f5 Mon Sep 17 00:00:00 2001 From: Boaz Mohar Date: Sat, 24 Feb 2018 13:02:38 -0500 Subject: [PATCH 0174/1161] bugfix in axes3d Instantiating an exception, but not raising it, has no effect. Found using lgtm.com: https://lgtm.com/projects/g/matplotlib/matplotlib/alerts/?mode=tree&severity=error&rule=1505923886371 --- lib/mpl_toolkits/mplot3d/axes3d.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/mpl_toolkits/mplot3d/axes3d.py b/lib/mpl_toolkits/mplot3d/axes3d.py index 0936f42fd306..b8257c2bbe6d 100644 --- a/lib/mpl_toolkits/mplot3d/axes3d.py +++ b/lib/mpl_toolkits/mplot3d/axes3d.py @@ -2632,7 +2632,7 @@ def calc_arrow(uvw, angle=15): # handle args argi = 6 if len(args) < argi: - ValueError('Wrong number of arguments. Expected %d got %d' % + raise ValueError('Wrong number of arguments. Expected %d got %d' % (argi, len(args))) # first 6 arguments are X, Y, Z, U, V, W From ee45790460958d98da84f4791ca072e899faa7fc Mon Sep 17 00:00:00 2001 From: Boaz Mohar Date: Sat, 24 Feb 2018 13:18:13 -0500 Subject: [PATCH 0175/1161] PEP8 fix for continuation of the line --- lib/mpl_toolkits/mplot3d/axes3d.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/mpl_toolkits/mplot3d/axes3d.py b/lib/mpl_toolkits/mplot3d/axes3d.py index b8257c2bbe6d..703cd751dbb2 100644 --- a/lib/mpl_toolkits/mplot3d/axes3d.py +++ b/lib/mpl_toolkits/mplot3d/axes3d.py @@ -2633,7 +2633,7 @@ def calc_arrow(uvw, angle=15): argi = 6 if len(args) < argi: raise ValueError('Wrong number of arguments. Expected %d got %d' % - (argi, len(args))) + (argi, len(args))) # first 6 arguments are X, Y, Z, U, V, W input_args = args[:argi] From d8150838b88088cd15f45d0abcda7503b89f08b4 Mon Sep 17 00:00:00 2001 From: David Stansby Date: Sat, 24 Feb 2018 21:36:33 +0000 Subject: [PATCH 0176/1161] Add subprocess deprecation message --- lib/matplotlib/compat/subprocess.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/matplotlib/compat/subprocess.py b/lib/matplotlib/compat/subprocess.py index 85301600c19f..9fb61520cc73 100644 --- a/lib/matplotlib/compat/subprocess.py +++ b/lib/matplotlib/compat/subprocess.py @@ -10,6 +10,13 @@ This module is safe to import from anywhere within matplotlib. """ import subprocess +from matplotlib.cbook import warn_deprecated +warn_deprecated(since='3.0', + name='matplotlib.compat.subprocess', + alternative='All the functionality provided by this module ' + 'is available in the python 3 standard library ' + '"subprocess" module.', + obj_type='module') __all__ = ['Popen', 'PIPE', 'STDOUT', 'check_output', 'CalledProcessError'] From eb5e31a9693707464cf543fb9cc72bf3f1462751 Mon Sep 17 00:00:00 2001 From: David Stansby Date: Sat, 24 Feb 2018 21:38:33 +0000 Subject: [PATCH 0177/1161] Remove some str() calls not needed on py3 --- lib/matplotlib/backends/backend_pgf.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/backends/backend_pgf.py b/lib/matplotlib/backends/backend_pgf.py index b1cf0ad133e1..94cd02ae92c3 100644 --- a/lib/matplotlib/backends/backend_pgf.py +++ b/lib/matplotlib/backends/backend_pgf.py @@ -42,7 +42,7 @@ try: # list scalable (non-bitmap) fonts fc_list = subprocess.check_output( - [str('fc-list'), ':outline,scalable', 'family']) + ['fc-list', ':outline,scalable', 'family']) fc_list = fc_list.decode('utf8') system_fonts = [f.split(',')[0] for f in fc_list.splitlines()] system_fonts = list(set(system_fonts)) @@ -175,7 +175,7 @@ def make_pdf_to_png_converter(): # check for pdftocairo try: subprocess.check_output( - [str("pdftocairo"), "-v"], stderr=subprocess.STDOUT) + ["pdftocairo", "-v"], stderr=subprocess.STDOUT) tools_available.append("pdftocairo") except: pass @@ -187,7 +187,7 @@ def make_pdf_to_png_converter(): # pick converter if "pdftocairo" in tools_available: def cairo_convert(pdffile, pngfile, dpi): - cmd = [str("pdftocairo"), "-singlefile", "-png", "-r", "%d" % dpi, + cmd = ["pdftocairo", "-singlefile", "-png", "-r", "%d" % dpi, pdffile, os.path.splitext(pngfile)[0]] subprocess.check_output(cmd, stderr=subprocess.STDOUT) return cairo_convert From 441a6bc2d0aa677c2db0ad0f3387eb4602ad85a0 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Thu, 22 Feb 2018 18:58:28 -0800 Subject: [PATCH 0178/1161] Various style fixes. --- .../ginput_manual_clabel_sgskip.py | 17 +++---- lib/matplotlib/afm.py | 4 +- lib/matplotlib/animation.py | 4 +- lib/matplotlib/backends/backend_gtk3.py | 14 ++---- lib/matplotlib/backends/backend_pdf.py | 4 +- lib/matplotlib/backends/backend_ps.py | 15 +++--- lib/matplotlib/backends/backend_svg.py | 9 ++-- lib/matplotlib/backends/backend_webagg.py | 6 +-- lib/matplotlib/cbook/__init__.py | 4 +- lib/matplotlib/colorbar.py | 2 +- lib/matplotlib/contour.py | 3 +- lib/matplotlib/dviread.py | 8 +--- lib/matplotlib/figure.py | 5 +- lib/matplotlib/lines.py | 11 +---- lib/matplotlib/mathtext.py | 18 +++---- lib/matplotlib/pyplot.py | 47 +++++++++---------- lib/matplotlib/sphinxext/plot_directive.py | 13 ++--- lib/matplotlib/streamplot.py | 2 +- lib/matplotlib/testing/disable_internet.py | 2 +- lib/matplotlib/tests/test_axes.py | 2 +- lib/matplotlib/ticker.py | 2 +- lib/matplotlib/tight_layout.py | 5 +- lib/matplotlib/transforms.py | 7 +-- lib/matplotlib/tri/triinterpolate.py | 2 +- lib/matplotlib/widgets.py | 26 ++-------- lib/mpl_toolkits/axisartist/axis_artist.py | 10 ++-- lib/mpl_toolkits/axisartist/grid_finder.py | 17 ++++--- 27 files changed, 100 insertions(+), 159 deletions(-) diff --git a/examples/event_handling/ginput_manual_clabel_sgskip.py b/examples/event_handling/ginput_manual_clabel_sgskip.py index 94642ff8aed5..36bd70728155 100644 --- a/examples/event_handling/ginput_manual_clabel_sgskip.py +++ b/examples/event_handling/ginput_manual_clabel_sgskip.py @@ -40,8 +40,7 @@ def tellme(s): plt.waitforbuttonpress() -happy = False -while not happy: +while True: pts = [] while len(pts) < 3: tellme('Select 3 corners with mouse') @@ -54,12 +53,12 @@ def tellme(s): tellme('Happy? Key click for yes, mouse click for no') - happy = plt.waitforbuttonpress() + if plt.waitforbuttonpress(): + break # Get rid of fill - if not happy: - for p in ph: - p.remove() + for p in ph: + p.remove() ################################################## @@ -88,13 +87,11 @@ def f(x, y, pts): tellme('Now do a nested zoom, click to begin') plt.waitforbuttonpress() -happy = False -while not happy: +while True: tellme('Select two corners of zoom, middle mouse button to finish') pts = np.asarray(plt.ginput(2, timeout=-1)) - happy = len(pts) < 2 - if happy: + if len(pts) < 2: break pts = np.sort(pts, axis=0) diff --git a/lib/matplotlib/afm.py b/lib/matplotlib/afm.py index 1b5f4d5f6a0d..103bae790fe1 100644 --- a/lib/matplotlib/afm.py +++ b/lib/matplotlib/afm.py @@ -162,8 +162,8 @@ def _parse_header(fh): try: d[key] = headerConverters[key](val) except ValueError: - print('Value error parsing header in AFM:', - key, val, file=sys.stderr) + print('Value error parsing header in AFM:', key, val, + file=sys.stderr) continue except KeyError: print('Found an unknown keyword in AFM header (was %r)' % key, diff --git a/lib/matplotlib/animation.py b/lib/matplotlib/animation.py index 62c43eb17a7c..b95522e3636d 100644 --- a/lib/matplotlib/animation.py +++ b/lib/matplotlib/animation.py @@ -761,11 +761,11 @@ def _init_from_registry(cls): for flag in (0, winreg.KEY_WOW64_32KEY, winreg.KEY_WOW64_64KEY): try: hkey = winreg.OpenKeyEx(winreg.HKEY_LOCAL_MACHINE, - 'Software\\Imagemagick\\Current', + r'Software\Imagemagick\Current', 0, winreg.KEY_QUERY_VALUE | flag) binpath = winreg.QueryValueEx(hkey, 'BinPath')[0] winreg.CloseKey(hkey) - binpath += '\\convert.exe' + binpath += r'\convert.exe' break except Exception: binpath = '' diff --git a/lib/matplotlib/backends/backend_gtk3.py b/lib/matplotlib/backends/backend_gtk3.py index f562e13b3b85..36be06501a0b 100644 --- a/lib/matplotlib/backends/backend_gtk3.py +++ b/lib/matplotlib/backends/backend_gtk3.py @@ -507,7 +507,7 @@ def _init_toolbar(self): for text, tooltip_text, image_file, callback in self.toolitems: if text is None: - self.insert( Gtk.SeparatorToolItem(), -1 ) + self.insert(Gtk.SeparatorToolItem(), -1) continue fname = os.path.join(basedir, image_file + '.png') image = Gtk.Image() @@ -654,14 +654,10 @@ def cb_cbox_changed (cbox, data=None): self.set_extra_widget(hbox) def get_filename_from_user (self): - while True: - filename = None - if self.run() != int(Gtk.ResponseType.OK): - break - filename = self.get_filename() - break - - return filename, self.ext + if self.run() == int(Gtk.ResponseType.OK): + return self.get_filename(), self.ext + else: + return None, self.ext class RubberbandGTK3(backend_tools.RubberbandBase): diff --git a/lib/matplotlib/backends/backend_pdf.py b/lib/matplotlib/backends/backend_pdf.py index eb87e332cf54..e911d1c09391 100644 --- a/lib/matplotlib/backends/backend_pdf.py +++ b/lib/matplotlib/backends/backend_pdf.py @@ -1804,8 +1804,8 @@ def draw_markers(self, gc, marker_path, marker_trans, path, trans, simplify=False): if len(vertices): x, y = vertices[-2:] - if (x < 0 or y < 0 or - x > self.file.width * 72 or y > self.file.height * 72): + if not (0 <= x <= self.file.width * 72 + and 0 <= y <= self.file.height * 72): continue dx, dy = x - lastx, y - lasty output(1, 0, 0, 1, dx, dy, Op.concat_matrix, diff --git a/lib/matplotlib/backends/backend_ps.py b/lib/matplotlib/backends/backend_ps.py index 1aeee39a246a..aacb84db1b17 100644 --- a/lib/matplotlib/backends/backend_ps.py +++ b/lib/matplotlib/backends/backend_ps.py @@ -129,17 +129,16 @@ def supports_ps2write(self): 'b10': (1.26,1.76)} def _get_papertype(w, h): - keys = list(six.iterkeys(papersize)) - keys.sort() - keys.reverse() - for key in keys: - if key.startswith('l'): continue - pw, ph = papersize[key] - if (w < pw) and (h < ph): return key + for key, (pw, ph) in sorted(papersize.items(), reverse=True): + if key.startswith('l'): + continue + if w < pw and h < ph: + return key return 'a0' def _num_to_str(val): - if isinstance(val, six.string_types): return val + if isinstance(val, six.string_types): + return val ival = int(val) if val == ival: return str(ival) diff --git a/lib/matplotlib/backends/backend_svg.py b/lib/matplotlib/backends/backend_svg.py index 5eb964b67a13..95f4981ddb92 100644 --- a/lib/matplotlib/backends/backend_svg.py +++ b/lib/matplotlib/backends/backend_svg.py @@ -231,15 +231,12 @@ def generate_transform(transform_list=[]): if len(transform_list): output = io.StringIO() for type, value in transform_list: - if type == 'scale' and (value == (1.0,) or value == (1.0, 1.0)): - continue - if type == 'translate' and value == (0.0, 0.0): - continue - if type == 'rotate' and value == (0.0,): + if (type == 'scale' and (value == (1,) or value == (1, 1)) + or type == 'translate' and value == (0, 0) + or type == 'rotate' and value == (0,)): continue if type == 'matrix' and isinstance(value, Affine2DBase): value = value.to_values() - output.write('%s(%s)' % ( type, ' '.join(short_float_fmt(x) for x in value))) return output.getvalue() diff --git a/lib/matplotlib/backends/backend_webagg.py b/lib/matplotlib/backends/backend_webagg.py index e892de3fe89e..137cda2aa009 100644 --- a/lib/matplotlib/backends/backend_webagg.py +++ b/lib/matplotlib/backends/backend_webagg.py @@ -237,8 +237,6 @@ def random_ports(port, n): for i in range(n - 5): yield port + random.randint(-2 * n, 2 * n) - success = None - if address is None: cls.address = rcParams['webagg.address'] else: @@ -252,10 +250,8 @@ def random_ports(port, n): raise else: cls.port = port - success = True break - - if not success: + else: raise SystemExit( "The webagg server could not be started because an available " "port could not be found") diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index 6b2398aa204c..87b6300e7ad1 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -1256,9 +1256,7 @@ def remove(self, o): old = self._elements[:] self.clear() for thiso in old: - if thiso == o: - continue - else: + if thiso != o: self.push(thiso) diff --git a/lib/matplotlib/colorbar.py b/lib/matplotlib/colorbar.py index 380f4493bbb3..71092ef3c33a 100644 --- a/lib/matplotlib/colorbar.py +++ b/lib/matplotlib/colorbar.py @@ -1388,7 +1388,7 @@ def colorbar_factory(cax, mappable, **kwargs): # if the given mappable is a contourset with any hatching, use # ColorbarPatch else use Colorbar if (isinstance(mappable, contour.ContourSet) - and any([hatch is not None for hatch in mappable.hatches])): + and any(hatch is not None for hatch in mappable.hatches)): cb = ColorbarPatch(cax, mappable, **kwargs) else: cb = Colorbar(cax, mappable, **kwargs) diff --git a/lib/matplotlib/contour.py b/lib/matplotlib/contour.py index 7841181f2983..d80b168ea90a 100644 --- a/lib/matplotlib/contour.py +++ b/lib/matplotlib/contour.py @@ -861,8 +861,7 @@ def __init__(self, ax, *args, **kwargs): # extend_max case we don't need to worry about passing more colors # than ncolors as ListedColormap will clip. total_levels = ncolors + int(extend_min) + int(extend_max) - if (len(self.colors) == total_levels and - any([extend_min, extend_max])): + if len(self.colors) == total_levels and (extend_min or extend_max): use_set_under_over = True if extend_min: i0 = 1 diff --git a/lib/matplotlib/dviread.py b/lib/matplotlib/dviread.py index e0048d8b8c3f..7ca578017ed2 100644 --- a/lib/matplotlib/dviread.py +++ b/lib/matplotlib/dviread.py @@ -238,12 +238,8 @@ def __iter__(self): precision is not lost and coordinate values are not clipped to integers. """ - while True: - have_page = self._read() - if have_page: - yield self._output() - else: - break + while self._read(): + yield self._output() def close(self): """ diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index bec447eb5591..d33606e21781 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -1384,9 +1384,8 @@ def _break_share_link(ax, grouper): if len(siblings) > 1: grouper.remove(ax) for last_ax in siblings: - if ax is last_ax: - continue - return last_ax + if ax is not last_ax: + return last_ax return None self.delaxes(ax) diff --git a/lib/matplotlib/lines.py b/lib/matplotlib/lines.py index b22c4b472f3f..9ed02b624770 100644 --- a/lib/matplotlib/lines.py +++ b/lib/matplotlib/lines.py @@ -1038,17 +1038,10 @@ def _split_drawstyle_linestyle(self, ls): ls : str The linestyle with the drawstyle (if any) stripped. ''' - ret_ds = None for ds in self.drawStyleKeys: # long names are first in the list if ls.startswith(ds): - ret_ds = ds - if len(ls) > len(ds): - ls = ls[len(ds):] - else: - ls = '-' - break - - return ret_ds, ls + return ds, ls[len(ds):] or '-' + return None, ls def set_linestyle(self, ls): """ diff --git a/lib/matplotlib/mathtext.py b/lib/matplotlib/mathtext.py index 08917087997a..8541f5fc3d01 100644 --- a/lib/matplotlib/mathtext.py +++ b/lib/matplotlib/mathtext.py @@ -1552,17 +1552,17 @@ def __repr__(self): self.depth, self.shift_amount, ' '.join([repr(x) for x in self.children])) - def _determine_order(self, totals): + @staticmethod + def _determine_order(totals): """ - A helper function to determine the highest order of glue - used by the members of this list. Used by vpack and hpack. + Determine the highest order of glue used by the members of this list. + + Helper function used by vpack and hpack. """ - o = 0 - for i in range(len(totals) - 1, 0, -1): - if totals[i] != 0.0: - o = i - break - return o + for i in range(len(totals))[::-1]: + if totals[i] != 0: + return i + return 0 def _set_glue(self, x, sign, totals, error_type): o = self._determine_order(totals) diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index f1bd672fd4d1..c89d41f9589c 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -22,6 +22,7 @@ import six +import inspect from numbers import Number import sys import time @@ -1055,8 +1056,8 @@ def subplot(*args, **kwargs): """ # if subplot called without arguments, create subplot(1,1,1) - if len(args)==0: - args=(1,1,1) + if len(args) == 0: + args = (1, 1, 1) # This check was added because it is very easy to type # subplot(1, 2, False) when subplots(1, 2, False) was intended @@ -1064,19 +1065,21 @@ def subplot(*args, **kwargs): # ever occur, but mysterious behavior can result because what was # intended to be the sharex argument is instead treated as a # subplot index for subplot() - if len(args) >= 3 and isinstance(args[2], bool) : - warnings.warn("The subplot index argument to subplot() appears" - " to be a boolean. Did you intend to use subplots()?") + if len(args) >= 3 and isinstance(args[2], bool): + warnings.warn("The subplot index argument to subplot() appears " + "to be a boolean. Did you intend to use subplots()?") fig = gcf() a = fig.add_subplot(*args, **kwargs) bbox = a.bbox byebye = [] for other in fig.axes: - if other==a: continue + if other == a: + continue if bbox.fully_overlaps(other.bbox): byebye.append(other) - for ax in byebye: delaxes(ax) + for ax in byebye: + delaxes(ax) return a @@ -1334,8 +1337,10 @@ def subplot_tool(targetfig=None): else: # find the manager for this figure for manager in _pylab_helpers.Gcf._activeQue: - if manager.canvas.figure==targetfig: break - else: raise RuntimeError('Could not find manager for targetfig') + if manager.canvas.figure == targetfig: + break + else: + raise RuntimeError('Could not find manager for targetfig') toolfig = figure(figsize=(6,3)) toolfig.subplots_adjust(top=0.9) @@ -1845,27 +1850,19 @@ def get_plot_commands(): """ Get a sorted list of all of the plotting commands. """ - # This works by searching for all functions in this module and - # removing a few hard-coded exclusions, as well as all of the - # colormap-setting functions, and anything marked as private with - # a preceding underscore. - - import inspect - + # This works by searching for all functions in this module and removing + # a few hard-coded exclusions, as well as all of the colormap-setting + # functions, and anything marked as private with a preceding underscore. exclude = {'colormaps', 'colors', 'connect', 'disconnect', 'get_plot_commands', 'get_current_fig_manager', 'ginput', 'plotting', 'waitforbuttonpress'} exclude |= set(colormaps()) this_module = inspect.getmodule(get_plot_commands) - - commands = set() - for name, obj in list(six.iteritems(globals())): - if name.startswith('_') or name in exclude: - continue - if inspect.isfunction(obj) and inspect.getmodule(obj) is this_module: - commands.add(name) - - return sorted(commands) + return sorted( + name for name, obj in globals().items() + if not name.startswith('_') and name not in exclude + and inspect.isfunction(obj) + and inspect.getmodule(obj) is this_module) @deprecated('2.1') diff --git a/lib/matplotlib/sphinxext/plot_directive.py b/lib/matplotlib/sphinxext/plot_directive.py index 09f049da3f72..fe5910a00230 100644 --- a/lib/matplotlib/sphinxext/plot_directive.py +++ b/lib/matplotlib/sphinxext/plot_directive.py @@ -140,6 +140,7 @@ import six from six.moves import xrange +import itertools import sys, os, shutil, io, re, textwrap from os.path import relpath from pathlib import Path @@ -583,21 +584,17 @@ def render_figures(code, code_path, output_dir, output_base, context, # Look for single-figure output files first all_exists = True img = ImageFile(output_base, output_dir) - for format, dpi in formats: - if out_of_date(code_path, img.filename(format)): - all_exists = False - break - img.formats.append(format) - - if all_exists: + if not any(out_of_date(code_path, img.filename(fmt)) + for fmt, dpi in formats): return [(code, [img])] + img.formats.extend(fmt for fmt, dpi in formats) # Then look for multi-figure output files results = [] all_exists = True for i, code_piece in enumerate(code_pieces): images = [] - for j in xrange(1000): + for j in itertools.count(): if len(code_pieces) > 1: img = ImageFile('%s_%02d_%02d' % (output_base, i, j), output_dir) diff --git a/lib/matplotlib/streamplot.py b/lib/matplotlib/streamplot.py index 9f833a7669a7..1d6c9a9d1498 100644 --- a/lib/matplotlib/streamplot.py +++ b/lib/matplotlib/streamplot.py @@ -552,7 +552,7 @@ def _integrate_rk12(x0, y0, dmap, f, maxlength): dmap.update_trajectory(xi, yi) except InvalidIndexError: break - if (stotal + ds) > maxlength: + if stotal + ds > maxlength: break stotal += ds diff --git a/lib/matplotlib/testing/disable_internet.py b/lib/matplotlib/testing/disable_internet.py index e70c6565276f..818137dcf71a 100644 --- a/lib/matplotlib/testing/disable_internet.py +++ b/lib/matplotlib/testing/disable_internet.py @@ -65,7 +65,7 @@ def new_function(*args, **kwargs): new_addr = (host, args[addr_arg][1]) args = args[:addr_arg] + (new_addr,) + args[addr_arg + 1:] - if any([h in host for h in valid_hosts]): + if any(h in host for h in valid_hosts): return original_function(*args, **kwargs) else: raise IOError("An attempt was made to connect to the internet " diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index 253040e016e7..c941051754e5 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -1545,7 +1545,7 @@ def test_hist_step_filled(): ax.set_ylim(ymin=-50) patches = axes[0].patches - assert all([p.get_facecolor() == p.get_edgecolor() for p in patches]) + assert all(p.get_facecolor() == p.get_edgecolor() for p in patches) @image_comparison(baseline_images=['hist_density'], extensions=['png']) diff --git a/lib/matplotlib/ticker.py b/lib/matplotlib/ticker.py index 50df08a12307..2aefa2a48be2 100644 --- a/lib/matplotlib/ticker.py +++ b/lib/matplotlib/ticker.py @@ -1921,7 +1921,7 @@ def _raw_ticks(self, vmin, vmax): step = steps[istep] best_vmin = (_vmin // step) * step best_vmax = best_vmin + step * nbins - if (best_vmax >= _vmax): + if best_vmax >= _vmax: break # This is an upper limit; move to smaller steps if necessary. diff --git a/lib/matplotlib/tight_layout.py b/lib/matplotlib/tight_layout.py index 21823f9aea38..1c4ea66e5c9b 100644 --- a/lib/matplotlib/tight_layout.py +++ b/lib/matplotlib/tight_layout.py @@ -108,7 +108,7 @@ def auto_adjust_subplotpars( for subplots, ax_bbox, (num1, num2) in zip(subplot_list, ax_bbox_list, num1num2_list): - if all([not ax.get_visible() for ax in subplots]): + if all(not ax.get_visible() for ax in subplots): continue tight_bbox_raw = union([ax.get_tightbbox(renderer) for ax in subplots @@ -278,8 +278,7 @@ def get_tight_layout_figure(fig, axes_list, subplotspec_list, renderer, subplotspec_list2 = [] - for ax, subplotspec in zip(axes_list, - subplotspec_list): + for ax, subplotspec in zip(axes_list, subplotspec_list): if subplotspec is None: continue diff --git a/lib/matplotlib/transforms.py b/lib/matplotlib/transforms.py index 274b66e13e26..7596bd687da9 100644 --- a/lib/matplotlib/transforms.py +++ b/lib/matplotlib/transforms.py @@ -239,11 +239,8 @@ def recurse(root): if hasattr(root, '_children'): for child in root._children: - name = '?' - for key, val in six.iteritems(root.__dict__): - if val is child: - name = key - break + name = next((key for key, val in root.__dict__.items() + if val is child), '?') fobj.write('"%s" -> "%s" [label="%s", fontsize=10];\n' % (hash(root), hash(child), diff --git a/lib/matplotlib/tri/triinterpolate.py b/lib/matplotlib/tri/triinterpolate.py index 49993c07a4eb..60ad44378e8f 100644 --- a/lib/matplotlib/tri/triinterpolate.py +++ b/lib/matplotlib/tri/triinterpolate.py @@ -1592,7 +1592,7 @@ def _to_matrix_vectorized(M): M_res[...,i,j] = M[i][j] """ assert isinstance(M, (tuple, list)) - assert all([isinstance(item, (tuple, list)) for item in M]) + assert all(isinstance(item, (tuple, list)) for item in M) c_vec = np.asarray([len(item) for item in M]) assert np.all(c_vec-c_vec[0] == 0) r = len(M) diff --git a/lib/matplotlib/widgets.py b/lib/matplotlib/widgets.py index ac6198ff8587..ae3fe0faf878 100644 --- a/lib/matplotlib/widgets.py +++ b/lib/matplotlib/widgets.py @@ -571,20 +571,13 @@ def __init__(self, ax, labels, actives): self.observers = {} def _clicked(self, event): - if self.ignore(event): - return - if event.button != 1: - return - if event.inaxes != self.ax: + if self.ignore(event) or event.button != 1 or event.inaxes != self.ax: return - for i, (p, t) in enumerate(zip(self.rectangles, self.labels)): if (t.get_window_extent().contains(event.x, event.y) or p.get_window_extent().contains(event.x, event.y)): self.set_active(i) break - else: - return def set_active(self, index): """ @@ -1020,26 +1013,15 @@ def __init__(self, ax, labels, active=0, activecolor='blue'): self.observers = {} def _clicked(self, event): - if self.ignore(event): - return - if event.button != 1: - return - if event.inaxes != self.ax: + if self.ignore(event) or event.button != 1 or event.inaxes != self.ax: return xy = self.ax.transAxes.inverted().transform_point((event.x, event.y)) pclicked = np.array([xy[0], xy[1]]) - - def inside(p): - pcirc = np.array([p.center[0], p.center[1]]) - d = pclicked - pcirc - return np.sqrt(np.dot(d, d)) < p.radius - for i, (p, t) in enumerate(zip(self.circles, self.labels)): - if t.get_window_extent().contains(event.x, event.y) or inside(p): + if (t.get_window_extent().contains(event.x, event.y) + or np.linalg.norm(pclicked - p.center) < p.radius): self.set_active(i) break - else: - return def set_active(self, index): """ diff --git a/lib/mpl_toolkits/axisartist/axis_artist.py b/lib/mpl_toolkits/axisartist/axis_artist.py index a3b1964f48d6..4d95bc5a31ed 100644 --- a/lib/mpl_toolkits/axisartist/axis_artist.py +++ b/lib/mpl_toolkits/axisartist/axis_artist.py @@ -328,8 +328,7 @@ def draw(self, renderer): for loc, angle in self.locs_angles: marker_rotation.clear().rotate_deg(angle+add_angle) locs = path_trans.transform_non_affine([loc]) - if (self.axes and - not self.axes.viewLim.contains(locs[0][0], locs[0][1])): + if self.axes and not self.axes.viewLim.contains(*locs[0]): continue renderer.draw_markers(gc, self._tickvert_path, marker_transform, Path(locs), path_trans.get_affine()) @@ -742,7 +741,8 @@ def draw(self, renderer): #self._set_offset_radius(r) for (x, y), a, l in self._locs_angles_labels: - if not l.strip(): continue + if not l.strip(): + continue self._set_ref_angle(a) #+ add_angle self.set_x(x) self.set_y(y) @@ -792,12 +792,12 @@ def get_texts_widths_heights_descents(self, renderer): """ whd_list = [] for (x, y), a, l in self._locs_angles_labels: - if not l.strip(): continue + if not l.strip(): + continue clean_line, ismath = self.is_math_text(l) whd = renderer.get_text_width_height_descent( clean_line, self._fontproperties, ismath=ismath) whd_list.append(whd) - return whd_list diff --git a/lib/mpl_toolkits/axisartist/grid_finder.py b/lib/mpl_toolkits/axisartist/grid_finder.py index 4c247f42d430..a9927945d870 100644 --- a/lib/mpl_toolkits/axisartist/grid_finder.py +++ b/lib/mpl_toolkits/axisartist/grid_finder.py @@ -153,12 +153,13 @@ def _get_raw_grid_lines(self, def _clip_grid_lines_and_find_ticks(self, lines, values, levs, bb): - gi = dict() - gi["values"] = [] - gi["levels"] = [] - gi["tick_levels"] = dict(left=[], bottom=[], right=[], top=[]) - gi["tick_locs"] = dict(left=[], bottom=[], right=[], top=[]) - gi["lines"] = [] + gi = { + "values": [], + "levels": [], + "tick_levels": dict(left=[], bottom=[], right=[], top=[]), + "tick_locs": dict(left=[], bottom=[], right=[], top=[]), + "lines": [], + } tck_levels = gi["tick_levels"] tck_locs = gi["tick_locs"] @@ -281,20 +282,18 @@ def __init__(self, locs): self._locs = locs self._factor = None - def __call__(self, v1, v2): if self._factor is None: v1, v2 = sorted([v1, v2]) else: v1, v2 = sorted([v1*self._factor, v2*self._factor]) - locs = np.array([l for l in self._locs if ((v1 <= l) and (l <= v2))]) + locs = np.array([l for l in self._locs if v1 <= l <= v2]) return locs, len(locs), self._factor def set_factor(self, f): self._factor = f - # Tick Formatter class FormatterPrettyPrint(object): From 59663bd78ea2e56ba2bf41d68c34c5fb77c2ad5f Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Sat, 24 Feb 2018 15:23:08 -0800 Subject: [PATCH 0179/1161] Use 'yield from' where appropriate. --- lib/matplotlib/__init__.py | 18 ++++-------------- lib/matplotlib/axes/_base.py | 3 +-- lib/matplotlib/axis.py | 3 +-- lib/matplotlib/cbook/__init__.py | 3 +-- lib/matplotlib/dviread.py | 3 +-- lib/matplotlib/patches.py | 2 +- lib/matplotlib/testing/decorators.py | 6 ++---- lib/matplotlib/transforms.py | 19 ++++++++++--------- lib/mpl_toolkits/axisartist/axislines.py | 8 +++++--- lib/mpl_toolkits/axisartist/floating_axes.py | 11 ++--------- .../axisartist/grid_helper_curvelinear.py | 6 ++---- 11 files changed, 30 insertions(+), 52 deletions(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 49ea98c0cb3d..ad414a71e26c 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -967,11 +967,8 @@ def __str__(self): for k, v in sorted(self.items())) def __iter__(self): - """ - Yield sorted list of keys. - """ - for k in sorted(dict.__iter__(self)): - yield k + """Yield sorted list of keys.""" + yield from sorted(dict.__iter__(self)) def find_all(self, pattern): """ @@ -1015,18 +1012,11 @@ def is_url(filename): return URL_REGEX.match(filename) is not None -def _url_lines(f): - # Compatibility for urlopen in python 3, which yields bytes. - for line in f: - yield line.decode('utf8') - - @contextlib.contextmanager def _open_file_or_url(fname): if is_url(fname): - f = urlopen(fname) - yield _url_lines(f) - f.close() + with urlopen(fname) as f: + yield (line.decode('utf-8') for line in f) else: fname = os.path.expanduser(fname) encoding = locale.getpreferredencoding(do_setlocale=False) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 4f66837e6deb..c0f034c30415 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -403,8 +403,7 @@ def _grab_next_args(self, *args, **kwargs): if args and isinstance(args[0], six.string_types): this += args[0], args = args[1:] - for seg in self._plot_args(this, kwargs): - yield seg + yield from self._plot_args(this, kwargs) class _AxesBase(martist.Artist): diff --git a/lib/matplotlib/axis.py b/lib/matplotlib/axis.py index 70ec488673cc..5163c7833f26 100644 --- a/lib/matplotlib/axis.py +++ b/lib/matplotlib/axis.py @@ -982,8 +982,7 @@ def iter_ticks(self): (minorTicks, minorLocs, minorLabels)] for group in major_minor: - for tick in zip(*group): - yield tick + yield from zip(*group) def get_ticklabel_extents(self, renderer): """ diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index 6b2398aa204c..b7cd1f24f807 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -697,8 +697,7 @@ def flatten(seq, scalarp=is_scalar_or_string): if scalarp(item) or item is None: yield item else: - for subitem in flatten(item, scalarp): - yield subitem + yield from flatten(item, scalarp) @deprecated('2.1', "sorted(..., key=itemgetter(...))") diff --git a/lib/matplotlib/dviread.py b/lib/matplotlib/dviread.py index e0048d8b8c3f..e5e413263ab9 100644 --- a/lib/matplotlib/dviread.py +++ b/lib/matplotlib/dviread.py @@ -958,8 +958,7 @@ def __init__(self, filename): _log.debug('Result: %s', self.encoding) def __iter__(self): - for name in self.encoding: - yield name + yield from self.encoding def _parse(self, file): result = [] diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index cf8f20eb97d2..d76b18de1c5b 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -1706,7 +1706,7 @@ def iter_circle_intersect_on_line_seg(x0, y0, x1, y1): x1e += epsilon y1e += epsilon for x, y in iter_circle_intersect_on_line(x0, y0, x1, y1): - if x >= x0e and x <= x1e and y >= y0e and y <= y1e: + if x0e <= x <= x1e and y0e <= y <= y1e: yield x, y # Transforms the axes box_path so that it is relative to the unit diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py index 24a3b94e420b..dd3508e78a74 100644 --- a/lib/matplotlib/testing/decorators.py +++ b/lib/matplotlib/testing/decorators.py @@ -127,8 +127,7 @@ def wrapped_callable(*args, **kwargs): original_settings = mpl.rcParams.copy() matplotlib.style.use(style) try: - for yielded in func(*args, **kwargs): - yield yielded + yield from func(*args, **kwargs) finally: _do_cleanup(original_units_registry, original_settings) @@ -352,8 +351,7 @@ def __call__(self, func): @nose.tools.with_setup(self.setup, self.teardown) def runner_wrapper(): - for case in self.nose_runner(): - yield case + yield from self.nose_runner() return _copy_metadata(func, runner_wrapper) diff --git a/lib/matplotlib/transforms.py b/lib/matplotlib/transforms.py index 274b66e13e26..9c12be6d13dc 100644 --- a/lib/matplotlib/transforms.py +++ b/lib/matplotlib/transforms.py @@ -2448,15 +2448,16 @@ def _invalidate_internal(self, value, invalidating_node): def __eq__(self, other): if isinstance(other, (CompositeGenericTransform, CompositeAffine2D)): - return self is other or (self._a == other._a and self._b == other._b) + return self is other or (self._a == other._a + and self._b == other._b) else: return False def _iter_break_from_left_to_right(self): - for lh_compliment, rh_compliment in self._a._iter_break_from_left_to_right(): - yield lh_compliment, rh_compliment + self._b - for lh_compliment, rh_compliment in self._b._iter_break_from_left_to_right(): - yield self._a + lh_compliment, rh_compliment + for left, right in self._a._iter_break_from_left_to_right(): + yield left, right + self._b + for left, right in self._b._iter_break_from_left_to_right(): + yield self._a + left, right @property def depth(self): @@ -2557,10 +2558,10 @@ def depth(self): return self._a.depth + self._b.depth def _iter_break_from_left_to_right(self): - for lh_compliment, rh_compliment in self._a._iter_break_from_left_to_right(): - yield lh_compliment, rh_compliment + self._b - for lh_compliment, rh_compliment in self._b._iter_break_from_left_to_right(): - yield self._a + lh_compliment, rh_compliment + for left, right in self._a._iter_break_from_left_to_right(): + yield left, right + self._b + for left, right in self._b._iter_break_from_left_to_right(): + yield self._a + left, right def __str__(self): return ("{}(\n" diff --git a/lib/mpl_toolkits/axisartist/axislines.py b/lib/mpl_toolkits/axisartist/axislines.py index 3c8c7542a155..43a9ad04e04a 100644 --- a/lib/mpl_toolkits/axisartist/axislines.py +++ b/lib/mpl_toolkits/axisartist/axislines.py @@ -372,9 +372,11 @@ def _f(locs, labels): c = [self._value, self._value] c[self.nth_coord] = x c1, c2 = tr2ax.transform_point(c) - if 0. <= c1 <= 1. and 0. <= c2 <= 1.: - if 0. - self.delta1 <= [c1, c2][self.nth_coord] <= 1. + self.delta2: - yield c, angle_normal, angle_tangent, l + if (0 <= c1 <= 1 and 0 <= c2 <= 1 + and 0 - self.delta1 + <= [c1, c2][self.nth_coord] + <= 1 + self.delta2): + yield c, angle_normal, angle_tangent, l return _f(majorLocs, majorLabels), _f(minorLocs, minorLabels) diff --git a/lib/mpl_toolkits/axisartist/floating_axes.py b/lib/mpl_toolkits/axisartist/floating_axes.py index d3fd3960a573..59b6ce55bf8c 100644 --- a/lib/mpl_toolkits/axisartist/floating_axes.py +++ b/lib/mpl_toolkits/axisartist/floating_axes.py @@ -181,16 +181,9 @@ def f1(): for x, y, d, d2, lab in zip(xx1, yy1, dd, dd2, labels): c2 = tr2ax.transform_point((x, y)) delta=0.00001 - if (0. -delta<= c2[0] <= 1.+delta) and \ - (0. -delta<= c2[1] <= 1.+delta): - d1 = d/3.14159*180. - d2 = d2/3.14159*180. - #_mod = (d2-d1+180)%360 - #if _mod < 180: - # d1 += 180 - ##_div, _mod = divmod(d2-d1, 360) + if 0-delta <= c2[0] <= 1+delta and 0-delta <= c2[1] <= 1+delta: + d1, d2 = np.rad2deg([d, d2]) yield [x, y], d1, d2, lab - #, d2/3.14159*180.+da) return f1(), iter([]) diff --git a/lib/mpl_toolkits/axisartist/grid_helper_curvelinear.py b/lib/mpl_toolkits/axisartist/grid_helper_curvelinear.py index d1cb08a6c8ce..3c15dd383fc1 100644 --- a/lib/mpl_toolkits/axisartist/grid_helper_curvelinear.py +++ b/lib/mpl_toolkits/axisartist/grid_helper_curvelinear.py @@ -298,10 +298,8 @@ def f1(): for x, y, d, d2, lab in zip(xx1, yy1, dd, dd2, labels): c2 = tr2ax.transform_point((x, y)) delta=0.00001 - if (0. -delta<= c2[0] <= 1.+delta) and \ - (0. -delta<= c2[1] <= 1.+delta): - d1 = d/3.14159*180. - d2 = d2/3.14159*180. + if 0-delta <= c2[0] <= 1+delta and 0-delta <= c2[1] <= 1+delta: + d1, d2 = np.rad2deg([d, d2]) yield [x, y], d1, d2, lab return f1(), iter([]) From b76aeaad3e819f1f5e5fe31ca2d89a07346f18be Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Sat, 24 Feb 2018 17:23:57 -0800 Subject: [PATCH 0180/1161] FIX: colorbar check for constrained layout --- lib/matplotlib/colorbar.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/colorbar.py b/lib/matplotlib/colorbar.py index 380f4493bbb3..4a693bb0fbe5 100644 --- a/lib/matplotlib/colorbar.py +++ b/lib/matplotlib/colorbar.py @@ -1132,8 +1132,12 @@ def make_axes(parents, location=None, orientation=None, fraction=0.15, parents = np.atleast_1d(parents).ravel() # check if using constrained_layout: - gs = parents[0].get_subplotspec().get_gridspec() - using_constrained_layout = (gs._layoutbox is not None) + try: + gs = parents[0].get_subplotspec().get_gridspec() + using_constrained_layout = (gs._layoutbox is not None) + except AttributeError: + using_constrained_layout = False + # defaults are not appropriate for constrained_layout: pad0 = loc_settings['pad'] if using_constrained_layout: From e5f073c068371680bdac360ddb25aaee85fb491e Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Sat, 24 Feb 2018 19:42:58 -0800 Subject: [PATCH 0181/1161] TST: colorbar check for constrained layout --- lib/matplotlib/tests/test_constrainedlayout.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py index ab720618fc97..9c36fb2476ee 100644 --- a/lib/matplotlib/tests/test_constrainedlayout.py +++ b/lib/matplotlib/tests/test_constrainedlayout.py @@ -377,3 +377,14 @@ def test_constrained_layout19(): ax.set_title('') fig.canvas.draw() assert all(ax.get_position().extents == ax2.get_position().extents) + + +def test_constrained_layout20(): + 'Smoke test cl does not mess up added axes' + gx = np.linspace(-5, 5, 4) + img = np.hypot(gx, gx[:, None]) + + fig = plt.figure() + ax = fig.add_axes([0, 0, 1, 1]) + mesh = ax.pcolormesh(gx, gx, img) + fig.colorbar(mesh) From b4df37d8faf0ba0d91c41f3f9c407c998d75ca9b Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sun, 25 Feb 2018 18:04:18 +0100 Subject: [PATCH 0182/1161] Axes docstring updates on axh/vlines, axh/vspan --- lib/matplotlib/axes/_axes.py | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 7681edf57f44..eecdbecce801 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -679,13 +679,8 @@ def axhline(self, y=0, xmin=0, xmax=1, **kwargs): See also -------- - hlines : add horizontal lines in data coordinates - axhspan : add a horizontal span (rectangle) across the axis - - Notes - ----- - kwargs are passed to :class:`~matplotlib.lines.Line2D` and can be used - to control the line properties. + hlines : Add horizontal lines in data coordinates. + axhspan : Add a horizontal span (rectangle) across the axis. Examples -------- @@ -769,8 +764,8 @@ def axvline(self, x=0, ymin=0, ymax=1, **kwargs): See also -------- - vlines : add vertical lines in data coordinates - axvspan : add a vertical span (rectangle) across the axis + vlines : Add vertical lines in data coordinates. + axvspan : Add a vertical span (rectangle) across the axis. """ if "transform" in kwargs: @@ -829,7 +824,7 @@ def axhspan(self, ymin, ymax, xmin=0, xmax=1, **kwargs): See Also -------- - axvspan : add a vertical span across the axes + axvspan : Add a vertical span across the axes. """ trans = self.get_yaxis_transform(which='grid') @@ -886,7 +881,7 @@ def axvspan(self, xmin, xmax, ymin=0, ymax=1, **kwargs): See Also -------- - axhspan : add a horizontal span across the axes + axhspan : Add a horizontal span across the axes. Examples -------- From 613871a6e0e2d51673fedcd53fbdcf7afa5c94fc Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sun, 25 Feb 2018 18:09:37 +0100 Subject: [PATCH 0183/1161] Add notes section to Axes.boxplot --- lib/matplotlib/axes/_axes.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index eecdbecce801..ca3e5bcf7917 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -3520,6 +3520,10 @@ def boxplot(self, x, notch=None, sym=None, vert=None, whis=None, - ``means``: points or lines representing the means. + Notes + ----- + .. [Notes section required for data comment. See #10189.] + """ # If defined in matplotlibrc, apply the value from rc file From cbc060c8fe914bb3c75f42f3af4fc40b0eadba52 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Sun, 25 Feb 2018 16:52:24 -0800 Subject: [PATCH 0184/1161] Minor style fixes. --- lib/matplotlib/artist.py | 10 +++------- lib/matplotlib/axes/_base.py | 7 ++----- lib/matplotlib/backends/backend_svg.py | 8 +++----- 3 files changed, 8 insertions(+), 17 deletions(-) diff --git a/lib/matplotlib/artist.py b/lib/matplotlib/artist.py index 4dc31f4e0daf..2af5bdc39050 100644 --- a/lib/matplotlib/artist.py +++ b/lib/matplotlib/artist.py @@ -1463,13 +1463,9 @@ def setp(obj, *args, **kwargs): raise ValueError('The set args must be string, value pairs') # put args into ordereddict to maintain order - funcvals = OrderedDict() - for i in range(0, len(args) - 1, 2): - funcvals[args[i]] = args[i + 1] - - ret = [o.update(funcvals) for o in objs] - ret.extend([o.set(**kwargs) for o in objs]) - return [x for x in cbook.flatten(ret)] + funcvals = OrderedDict((k, v) for k, v in zip(args[::2], args[1::2])) + ret = [o.update(funcvals) for o in objs] + [o.set(**kwargs) for o in objs] + return list(cbook.flatten(ret)) def kwdoc(a): diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index c0f034c30415..fc37069f3030 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -988,11 +988,8 @@ def _gen_axes_spines(self, locations=None, offset=0.0, units='inches'): Intended to be overridden by new projection types. """ - return OrderedDict([ - ('left', mspines.Spine.linear_spine(self, 'left')), - ('right', mspines.Spine.linear_spine(self, 'right')), - ('bottom', mspines.Spine.linear_spine(self, 'bottom')), - ('top', mspines.Spine.linear_spine(self, 'top'))]) + return OrderedDict((side, mspines.Spine.linear_spine(self, side)) + for side in ['left', 'right', 'bottom', 'top']) def cla(self): """Clear the current axes.""" diff --git a/lib/matplotlib/backends/backend_svg.py b/lib/matplotlib/backends/backend_svg.py index 95f4981ddb92..bb5fec9e9a5f 100644 --- a/lib/matplotlib/backends/backend_svg.py +++ b/lib/matplotlib/backends/backend_svg.py @@ -1077,15 +1077,13 @@ def _draw_text_as_text(self, gc, x, y, s, prop, angle, ismath, mtext=None): ('translate', (x, y)), ('rotate', (-angle,))]) - # Apply attributes to 'g', not 'text', because we likely - # have some rectangles as well with the same style and - # transformation + # Apply attributes to 'g', not 'text', because we likely have some + # rectangles as well with the same style and transformation. writer.start('g', attrib=attrib) writer.start('text') - # Sort the characters by font, and output one tspan for - # each + # Sort the characters by font, and output one tspan for each. spans = OrderedDict() for font, fontsize, thetext, new_x, new_y, metrics in svg_glyphs: style = generate_css({ From ef62911742c42284008da2fbde3419d0749c391a Mon Sep 17 00:00:00 2001 From: Eric Firing Date: Sun, 25 Feb 2018 18:45:35 -1000 Subject: [PATCH 0185/1161] Bump a tolerance in test_axisartist_floating_axes. This is to stop random test failures with test_curvelinear4.png. It's original tolerance was 0.01; the mismatch is sometimes 0.011. Closes #10602. --- lib/mpl_toolkits/tests/test_axisartist_floating_axes.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py b/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py index de722660958f..b152d87bd05c 100644 --- a/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py +++ b/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py @@ -80,7 +80,7 @@ def test_curvelinear3(): @image_comparison(baseline_images=['curvelinear4'], - extensions=['png'], style='default', tol=0.01) + extensions=['png'], style='default', tol=0.015) def test_curvelinear4(): fig = plt.figure(figsize=(5, 5)) fig.clf() From 3df20559dc225c3b9baf247cb88142f962c04095 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Sun, 25 Feb 2018 22:39:12 -0800 Subject: [PATCH 0186/1161] Move notify_axes_change to FigureManagerBase class. ... instead of duplicating it across backends. The additional cost on non-interactive backends is likely negligible. --- lib/matplotlib/backend_bases.py | 9 +++++++++ lib/matplotlib/backends/_backend_tk.py | 8 -------- lib/matplotlib/backends/backend_gtk3.py | 8 -------- lib/matplotlib/backends/backend_macosx.py | 7 +------ lib/matplotlib/backends/backend_qt5.py | 5 ----- lib/matplotlib/backends/backend_wx.py | 6 ------ 6 files changed, 10 insertions(+), 33 deletions(-) diff --git a/lib/matplotlib/backend_bases.py b/lib/matplotlib/backend_bases.py index 2fe2ad59ac42..41134ce4ff4d 100644 --- a/lib/matplotlib/backend_bases.py +++ b/lib/matplotlib/backend_bases.py @@ -2674,6 +2674,15 @@ def __init__(self, canvas, num): 'key_press_event', self.key_press) + self.toolmanager = None + self.toolbar = None + + @self.canvas.figure.add_axobserver + def notify_axes_change(fig): + # Called whenever the current axes is changed. + if self.toolmanager is None and self.toolbar is not None: + self.toolbar.update() + def show(self): """ For GUI backends, show the figure window and redraw. diff --git a/lib/matplotlib/backends/_backend_tk.py b/lib/matplotlib/backends/_backend_tk.py index e5ef40caf74f..5041cc6ed15e 100644 --- a/lib/matplotlib/backends/_backend_tk.py +++ b/lib/matplotlib/backends/_backend_tk.py @@ -487,14 +487,6 @@ def __init__(self, canvas, num, window): self._shown = False - def notify_axes_change(fig): - 'this will be called whenever the current axes is changed' - if self.toolmanager is not None: - pass - elif self.toolbar is not None: - self.toolbar.update() - self.canvas.figure.add_axobserver(notify_axes_change) - def _get_toolbar(self): if matplotlib.rcParams['toolbar'] == 'toolbar2': toolbar = NavigationToolbar2Tk(self.canvas, self.window) diff --git a/lib/matplotlib/backends/backend_gtk3.py b/lib/matplotlib/backends/backend_gtk3.py index 36be06501a0b..666504fb534d 100644 --- a/lib/matplotlib/backends/backend_gtk3.py +++ b/lib/matplotlib/backends/backend_gtk3.py @@ -394,14 +394,6 @@ def destroy(*args): self.window.show() self.canvas.draw_idle() - def notify_axes_change(fig): - 'this will be called whenever the current axes is changed' - if self.toolmanager is not None: - pass - elif self.toolbar is not None: - self.toolbar.update() - self.canvas.figure.add_axobserver(notify_axes_change) - self.canvas.grab_focus() def destroy(self, *args): diff --git a/lib/matplotlib/backends/backend_macosx.py b/lib/matplotlib/backends/backend_macosx.py index 4ab5d0c90772..b005cbf631dd 100644 --- a/lib/matplotlib/backends/backend_macosx.py +++ b/lib/matplotlib/backends/backend_macosx.py @@ -129,18 +129,13 @@ def __init__(self, canvas, num): FigureManagerBase.__init__(self, canvas, num) title = "Figure %d" % num _macosx.FigureManager.__init__(self, canvas, title) - if rcParams['toolbar']=='toolbar2': + if rcParams['toolbar'] == 'toolbar2': self.toolbar = NavigationToolbar2Mac(canvas) else: self.toolbar = None if self.toolbar is not None: self.toolbar.update() - def notify_axes_change(fig): - 'this will be called whenever the current axes is changed' - if self.toolbar != None: self.toolbar.update() - self.canvas.figure.add_axobserver(notify_axes_change) - if matplotlib.is_interactive(): self.show() self.canvas.draw_idle() diff --git a/lib/matplotlib/backends/backend_qt5.py b/lib/matplotlib/backends/backend_qt5.py index 18fa2ff04ca9..dd311db62716 100644 --- a/lib/matplotlib/backends/backend_qt5.py +++ b/lib/matplotlib/backends/backend_qt5.py @@ -620,11 +620,6 @@ def __init__(self, canvas, num): self.window.show() self.canvas.draw_idle() - def notify_axes_change(fig): - # This will be called whenever the current axes is changed - if self.toolbar is not None: - self.toolbar.update() - self.canvas.figure.add_axobserver(notify_axes_change) self.window.raise_() def full_screen_toggle(self): diff --git a/lib/matplotlib/backends/backend_wx.py b/lib/matplotlib/backends/backend_wx.py index 81b0729b65d8..76d16cd5eed9 100644 --- a/lib/matplotlib/backends/backend_wx.py +++ b/lib/matplotlib/backends/backend_wx.py @@ -1285,12 +1285,6 @@ def __init__(self, canvas, num, frame): self.tb = frame.GetToolBar() self.toolbar = self.tb # consistent with other backends - def notify_axes_change(fig): - 'this will be called whenever the current axes is changed' - if self.tb is not None: - self.tb.update() - self.canvas.figure.add_axobserver(notify_axes_change) - def show(self): self.frame.Show() self.canvas.draw() From 6f358b200c02bee1f02f1634030cfc0269f04eae Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Mon, 26 Feb 2018 01:06:58 -0800 Subject: [PATCH 0187/1161] More wx cleanup. 1) math.ceil() returns an int on Py3. 2) Window.SetInitialSize and Window.IsShownOnScreen are documented in the wx API; it seems overkill to try to workaround their possible absence (that code was present from the very beginning of the git history). 3) the macros attribute is unused since 7499f7c (2004). --- .../2018-02-15-AL-deprecations.rst | 1 + lib/matplotlib/backends/backend_wx.py | 34 +++++-------------- 2 files changed, 9 insertions(+), 26 deletions(-) diff --git a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst index 03320fab415c..138dc0ecdbc9 100644 --- a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst +++ b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst @@ -6,3 +6,4 @@ The following functions and classes are deprecated: ``get_realpath_and_stat``), - ``cbook.is_numlike`` (use ``isinstance(..., numbers.Number)`` instead), - ``mathtext.unichr_safe`` (use ``chr`` instead), +- ``FigureCanvasWx.macros``, diff --git a/lib/matplotlib/backends/backend_wx.py b/lib/matplotlib/backends/backend_wx.py index 81b0729b65d8..81e5c59d7be1 100644 --- a/lib/matplotlib/backends/backend_wx.py +++ b/lib/matplotlib/backends/backend_wx.py @@ -13,8 +13,6 @@ should be included with this source code. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) import six @@ -627,30 +625,11 @@ def __init__(self, parent, id, figure): # Set preferred window size hint - helps the sizer (if one is # connected) l, b, w, h = figure.bbox.bounds - w = int(math.ceil(w)) - h = int(math.ceil(h)) + w = math.ceil(w) + h = math.ceil(h) wx.Panel.__init__(self, parent, id, size=wx.Size(w, h)) - def do_nothing(*args, **kwargs): - warnings.warn( - "could not find a setinitialsize function for backend_wx; " - "please report your wxpython version=%s " - "to the matplotlib developers list" % - wxc.backend_version) - pass - - # try to find the set size func across wx versions - try: - getattr(self, 'SetInitialSize') - except AttributeError: - self.SetInitialSize = getattr(self, 'SetBestFittingSize', - do_nothing) - - if not hasattr(self, 'IsShownOnScreen'): - self.IsShownOnScreen = getattr(self, 'IsVisible', - lambda *args: True) - # Create the drawing bitmap self.bitmap = wxc.EmptyBitmap(w, h) DEBUG_MSG("__init__() - bitmap w:%d h:%d" % (w, h), 2, self) @@ -682,7 +661,10 @@ def do_nothing(*args, **kwargs): self.SetBackgroundStyle(wx.BG_STYLE_PAINT) # Reduce flicker. self.SetBackgroundColour(wx.WHITE) - self.macros = {} # dict from wx id to seq of macros + @property + @cbook.deprecated("3.0") + def macros(self): + return {} def Destroy(self, *args, **kwargs): wx.Panel.Destroy(self, *args, **kwargs) @@ -1098,8 +1080,8 @@ def _print_image(self, filename, filetype, *args, **kwargs): origBitmap = self.bitmap l, b, width, height = self.figure.bbox.bounds - width = int(math.ceil(width)) - height = int(math.ceil(height)) + width = math.ceil(width) + height = math.ceil(height) self.bitmap = wxc.EmptyBitmap(width, height) From de0674b49b73213a772d8a0a6c57f02a0dba97ae Mon Sep 17 00:00:00 2001 From: David Stansby Date: Mon, 26 Feb 2018 12:28:55 +0000 Subject: [PATCH 0188/1161] Add API note --- doc/api/next_api_changes/2018-02-15-AL-deprecations.rst | 6 ++++++ lib/matplotlib/compat/subprocess.py | 5 ++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst index 316a5ec89548..54c6516e2852 100644 --- a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst +++ b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst @@ -1,5 +1,11 @@ Deprecations ```````````` +The following modules are deprecated: + +- :mod:`matplotlib.compat.subprocess`. This was a python 2 workaround, but all the + functionality can now be found in the python 3 standard library + :mod:`subprocess`. + The following functions and classes are deprecated: - ``cbook.GetRealpathAndStat`` (which is only a helper for diff --git a/lib/matplotlib/compat/subprocess.py b/lib/matplotlib/compat/subprocess.py index 9fb61520cc73..ad48ed4f137a 100644 --- a/lib/matplotlib/compat/subprocess.py +++ b/lib/matplotlib/compat/subprocess.py @@ -13,9 +13,8 @@ from matplotlib.cbook import warn_deprecated warn_deprecated(since='3.0', name='matplotlib.compat.subprocess', - alternative='All the functionality provided by this module ' - 'is available in the python 3 standard library ' - '"subprocess" module.', + alternative='the python 3 standard library ' + '"subprocess" module', obj_type='module') __all__ = ['Popen', 'PIPE', 'STDOUT', 'check_output', 'CalledProcessError'] From af6015863a5278de81926d8626ae7a32a4f877b4 Mon Sep 17 00:00:00 2001 From: David Stansby Date: Mon, 26 Feb 2018 12:42:01 +0000 Subject: [PATCH 0189/1161] Remove more subprocess imports --- examples/tests/backend_driver_sgskip.py | 2 +- lib/matplotlib/__init__.py | 2 +- lib/matplotlib/animation.py | 2 +- lib/matplotlib/dviread.py | 2 +- lib/matplotlib/font_manager.py | 2 +- lib/matplotlib/testing/compare.py | 2 +- lib/matplotlib/tests/test_backend_pgf.py | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/examples/tests/backend_driver_sgskip.py b/examples/tests/backend_driver_sgskip.py index 06c11b0c9399..8f53d6025c76 100644 --- a/examples/tests/backend_driver_sgskip.py +++ b/examples/tests/backend_driver_sgskip.py @@ -339,7 +339,7 @@ def report_all_missing(directories): ) -from matplotlib.compat import subprocess +import subprocess def run(arglist): diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 49ea98c0cb3d..90d97a8189ea 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -133,6 +133,7 @@ import re import shutil import stat +import subprocess import tempfile import warnings @@ -141,7 +142,6 @@ from . import cbook from matplotlib.cbook import ( _backports, mplDeprecation, dedent, get_label, sanitize_sequence) -from matplotlib.compat import subprocess from matplotlib.rcsetup import defaultParams, validate_backend, cycler import numpy diff --git a/lib/matplotlib/animation.py b/lib/matplotlib/animation.py index 62c43eb17a7c..0c0284693e41 100644 --- a/lib/matplotlib/animation.py +++ b/lib/matplotlib/animation.py @@ -30,6 +30,7 @@ import logging import os import platform +import subprocess import sys import tempfile import uuid @@ -38,7 +39,6 @@ from matplotlib._animation_data import (DISPLAY_TEMPLATE, INCLUDED_FRAMES, JS_INCLUDE) -from matplotlib.compat import subprocess from matplotlib import cbook, rcParams, rcParamsDefault, rc_context if six.PY2: diff --git a/lib/matplotlib/dviread.py b/lib/matplotlib/dviread.py index e0048d8b8c3f..509a5625ecb7 100644 --- a/lib/matplotlib/dviread.py +++ b/lib/matplotlib/dviread.py @@ -24,13 +24,13 @@ import os import re import struct +import subprocess import sys import textwrap import numpy as np from matplotlib import cbook, rcParams -from matplotlib.compat import subprocess _log = logging.getLogger(__name__) diff --git a/lib/matplotlib/font_manager.py b/lib/matplotlib/font_manager.py index 16724ab97104..14381abfb9df 100644 --- a/lib/matplotlib/font_manager.py +++ b/lib/matplotlib/font_manager.py @@ -48,13 +48,13 @@ from functools import lru_cache import json import os +import subprocess import sys from threading import Timer import warnings import logging from matplotlib import afm, cbook, ft2font, rcParams, get_cachedir -from matplotlib.compat import subprocess from matplotlib.fontconfig_pattern import ( parse_fontconfig_pattern, generate_fontconfig_pattern) diff --git a/lib/matplotlib/testing/compare.py b/lib/matplotlib/testing/compare.py index 218ba33297fa..e19ecb47a577 100644 --- a/lib/matplotlib/testing/compare.py +++ b/lib/matplotlib/testing/compare.py @@ -14,13 +14,13 @@ from pathlib import Path import re import shutil +import subprocess import sys from tempfile import TemporaryFile import numpy as np import matplotlib -from matplotlib.compat import subprocess from matplotlib.testing.exceptions import ImageComparisonFailure from matplotlib import _png from matplotlib import _get_cachedir diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py index 8269808af9d6..c052e5e3b22c 100644 --- a/lib/matplotlib/tests/test_backend_pgf.py +++ b/lib/matplotlib/tests/test_backend_pgf.py @@ -3,13 +3,13 @@ import os import shutil +import subprocess import numpy as np import pytest import matplotlib as mpl import matplotlib.pyplot as plt -from matplotlib.compat import subprocess from matplotlib.testing.compare import compare_images, ImageComparisonFailure from matplotlib.testing.decorators import image_comparison, _image_directories From d7162a562cbade626955d752bfc8a9e056ce1819 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Sun, 25 Feb 2018 16:36:41 -0800 Subject: [PATCH 0190/1161] Remove workarounds for numpy<1.10. Also py3fy category.py. --- examples/mplot3d/hist3d.py | 16 +++--- lib/matplotlib/__init__.py | 5 +- lib/matplotlib/axes/_axes.py | 6 +-- lib/matplotlib/category.py | 36 ++++--------- lib/matplotlib/cbook/_backports.py | 78 ----------------------------- lib/matplotlib/colors.py | 16 +----- lib/matplotlib/tests/test_axes.py | 3 +- lib/matplotlib/tests/test_colors.py | 20 +------- lib/mpl_toolkits/mplot3d/art3d.py | 13 +++-- lib/mpl_toolkits/mplot3d/axes3d.py | 15 +++--- pytest.ini | 1 - 11 files changed, 39 insertions(+), 170 deletions(-) delete mode 100644 lib/matplotlib/cbook/_backports.py diff --git a/examples/mplot3d/hist3d.py b/examples/mplot3d/hist3d.py index 603645b651e0..9897f1606c5b 100644 --- a/examples/mplot3d/hist3d.py +++ b/examples/mplot3d/hist3d.py @@ -20,18 +20,14 @@ hist, xedges, yedges = np.histogram2d(x, y, bins=4, range=[[0, 4], [0, 4]]) # Construct arrays for the anchor positions of the 16 bars. -# Note: np.meshgrid gives arrays in (ny, nx) so we use 'F' to flatten xpos, -# ypos in column-major order. For numpy >= 1.7, we could instead call meshgrid -# with indexing='ij'. -xpos, ypos = np.meshgrid(xedges[:-1] + 0.25, yedges[:-1] + 0.25) -xpos = xpos.flatten('F') -ypos = ypos.flatten('F') -zpos = np.zeros_like(xpos) +xpos, ypos = np.meshgrid(xedges[:-1] + 0.25, yedges[:-1] + 0.25, indexing="ij") +xpos = xpos.ravel() +ypos = ypos.ravel() +zpos = 0 # Construct arrays with the dimensions for the 16 bars. -dx = 0.5 * np.ones_like(zpos) -dy = dx.copy() -dz = hist.flatten() +dx = dy = 0.5 * np.ones_like(zpos) +dz = hist.ravel() ax.bar3d(xpos, ypos, zpos, dx, dy, dz, color='b', zsort='average') diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 16cce6f04584..94e81979fda0 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -141,7 +141,8 @@ # definitions, so it is safe to import from it here. from . import cbook from matplotlib.cbook import ( - _backports, mplDeprecation, dedent, get_label, sanitize_sequence) + mplDeprecation, dedent, get_label, sanitize_sequence) +from matplotlib.compat import subprocess from matplotlib.rcsetup import defaultParams, validate_backend, cycler import numpy @@ -156,7 +157,7 @@ _log = logging.getLogger(__name__) -__version__numpy__ = str('1.10.0') # minimum required numpy version +__version__numpy__ = '1.10.0' # minimum required numpy version __bibtex__ = r"""@Article{Hunter:2007, Author = {Hunter, J. D.}, diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 7681edf57f44..79141642824d 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -40,8 +40,8 @@ import matplotlib.transforms as mtransforms import matplotlib.tri as mtri from matplotlib.cbook import ( - _backports, mplDeprecation, warn_deprecated, - STEP_LOOKUP_MAP, iterable, safe_first_element) + mplDeprecation, warn_deprecated, STEP_LOOKUP_MAP, iterable, + safe_first_element) from matplotlib.container import BarContainer, ErrorbarContainer, StemContainer from matplotlib.axes._base import _AxesBase, _process_plot_format @@ -2316,7 +2316,7 @@ def bar(self, *args, **kwargs): self.add_container(bar_container) if tick_labels is not None: - tick_labels = _backports.broadcast_to(tick_labels, len(patches)) + tick_labels = np.broadcast_to(tick_labels, len(patches)) tick_label_axis.set_ticks(tick_label_position) tick_label_axis.set_ticklabels(tick_labels) diff --git a/lib/matplotlib/category.py b/lib/matplotlib/category.py index b135bff1ccf5..2203b230f606 100644 --- a/lib/matplotlib/category.py +++ b/lib/matplotlib/category.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- """ Module that allows plotting of string "category" data. i.e. ``plot(['d', 'f', 'a'],[1, 2, 3])`` will plot three points with x-axis @@ -11,26 +10,15 @@ strings to integers, provides a tick locator and formatter, and the class:`.UnitData` that creates and stores the string-to-integer mapping. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) from collections import OrderedDict import itertools -import six - - import numpy as np import matplotlib.units as units import matplotlib.ticker as ticker -# np 1.6/1.7 support -from distutils.version import LooseVersion - -VALID_TYPES = tuple(set(six.string_types + - (bytes, six.text_type, np.str_, np.bytes_))) - class StrCategoryConverter(units.ConversionInterface): @staticmethod @@ -58,7 +46,7 @@ def convert(value, unit, axis): # pass through sequence of non binary numbers if all((units.ConversionInterface.is_numlike(v) and - not isinstance(v, VALID_TYPES)) for v in values): + not isinstance(v, (str, bytes))) for v in values): return np.asarray(values, dtype=float) # force an update so it also does type checking @@ -96,7 +84,7 @@ def axisinfo(unit, axis): @staticmethod def default_units(data, axis): - """ Sets and updates the :class:`~matplotlib.Axis.axis~ units + """Sets and updates the :class:`~matplotlib.Axis.axis` units. Parameters ---------- @@ -156,28 +144,27 @@ def __call__(self, x, pos=None): @staticmethod def _text(value): - """Converts text values into `utf-8` or `ascii` strings + """Converts text values into utf-8 or ascii strings. """ - if LooseVersion(np.__version__) < LooseVersion('1.7.0'): - if (isinstance(value, (six.text_type, np.unicode))): - value = value.encode('utf-8', 'ignore').decode('utf-8') - if isinstance(value, (np.bytes_, six.binary_type)): + if isinstance(value, bytes): value = value.decode(encoding='utf-8') - elif not isinstance(value, (np.str_, six.string_types)): + elif not isinstance(value, str): value = str(value) return value class UnitData(object): def __init__(self, data=None): - """Create mapping between unique categorical values - and integer identifiers + """ + Create mapping between unique categorical values and integer ids. + + Parameters ---------- data: iterable sequence of string values """ self._mapping = OrderedDict() - self._counter = itertools.count(start=0) + self._counter = itertools.count() if data is not None: self.update(data) @@ -197,7 +184,7 @@ def update(self, data): data = np.atleast_1d(np.array(data, dtype=object)) for val in OrderedDict.fromkeys(data): - if not isinstance(val, VALID_TYPES): + if not isinstance(val, (str, bytes)): raise TypeError("{val!r} is not a string".format(val=val)) if val not in self._mapping: self._mapping[val] = next(self._counter) @@ -206,6 +193,5 @@ def update(self, data): # Connects the convertor to matplotlib units.registry[str] = StrCategoryConverter() units.registry[np.str_] = StrCategoryConverter() -units.registry[six.text_type] = StrCategoryConverter() units.registry[bytes] = StrCategoryConverter() units.registry[np.bytes_] = StrCategoryConverter() diff --git a/lib/matplotlib/cbook/_backports.py b/lib/matplotlib/cbook/_backports.py deleted file mode 100644 index 4cdf629c31b0..000000000000 --- a/lib/matplotlib/cbook/_backports.py +++ /dev/null @@ -1,78 +0,0 @@ -import numpy as np - - -# Copy-pasted from numpy.lib.stride_tricks 1.11.2. -def _maybe_view_as_subclass(original_array, new_array): - if type(original_array) is not type(new_array): - # if input was an ndarray subclass and subclasses were OK, - # then view the result as that subclass. - new_array = new_array.view(type=type(original_array)) - # Since we have done something akin to a view from original_array, we - # should let the subclass finalize (if it has it implemented, i.e., is - # not None). - if new_array.__array_finalize__: - new_array.__array_finalize__(original_array) - return new_array - - -# Copy-pasted from numpy.lib.stride_tricks 1.11.2. -def _broadcast_to(array, shape, subok, readonly): - shape = tuple(shape) if np.iterable(shape) else (shape,) - array = np.array(array, copy=False, subok=subok) - if not shape and array.shape: - raise ValueError('cannot broadcast a non-scalar to a scalar array') - if any(size < 0 for size in shape): - raise ValueError('all elements of broadcast shape must be non-' - 'negative') - needs_writeable = not readonly and array.flags.writeable - extras = ['reduce_ok'] if needs_writeable else [] - op_flag = 'readwrite' if needs_writeable else 'readonly' - broadcast = np.nditer( - (array,), flags=['multi_index', 'refs_ok', 'zerosize_ok'] + extras, - op_flags=[op_flag], itershape=shape, order='C').itviews[0] - result = _maybe_view_as_subclass(array, broadcast) - if needs_writeable and not result.flags.writeable: - result.flags.writeable = True - return result - - -# Copy-pasted from numpy.lib.stride_tricks 1.11.2. -def broadcast_to(array, shape, subok=False): - """Broadcast an array to a new shape. - - Parameters - ---------- - array : array_like - The array to broadcast. - shape : tuple - The shape of the desired array. - subok : bool, optional - If True, then sub-classes will be passed-through, otherwise - the returned array will be forced to be a base-class array (default). - - Returns - ------- - broadcast : array - A readonly view on the original array with the given shape. It is - typically not contiguous. Furthermore, more than one element of a - broadcasted array may refer to a single memory location. - - Raises - ------ - ValueError - If the array is not compatible with the new shape according to NumPy's - broadcasting rules. - - Notes - ----- - .. versionadded:: 1.10.0 - - Examples - -------- - >>> x = np.array([1, 2, 3]) - >>> np.broadcast_to(x, (3, 3)) - array([[1, 2, 3], - [1, 2, 3], - [1, 2, 3]]) - """ - return _broadcast_to(array, shape, subok=subok, readonly=True) diff --git a/lib/matplotlib/colors.py b/lib/matplotlib/colors.py index a17111f036a3..f51df541537c 100644 --- a/lib/matplotlib/colors.py +++ b/lib/matplotlib/colors.py @@ -1485,8 +1485,7 @@ def hsv_to_rgb(hsv): g[idx] = v[idx] b[idx] = v[idx] - # `np.stack([r, g, b], axis=-1)` (numpy 1.10). - rgb = np.concatenate([r[..., None], g[..., None], b[..., None]], -1) + rgb = np.stack([r, g, b], axis=-1) if in_ndim == 1: rgb.shape = (3,) @@ -1508,17 +1507,6 @@ def _vector_magnitude(arr): return np.sqrt(sum_sq) -def _vector_dot(a, b): - # things that don't work here: - # * a.dot(b) - fails on masked arrays until 1.10 - # * np.ma.dot(a, b) - doesn't mask enough things - # * np.ma.dot(a, b, strict=True) - returns a maskedarray with no mask - dot = 0 - for i in range(a.shape[-1]): - dot += a[..., i] * b[..., i] - return dot - - class LightSource(object): """ Create a light source coming from the specified azimuth and elevation. @@ -1655,7 +1643,7 @@ def shade_normals(self, normals, fraction=1.): completely in shadow and 1 is completely illuminated. """ - intensity = _vector_dot(normals, self.direction) + intensity = normals.dot(self.direction) # Apply contrast stretch imin, imax = intensity.min(), intensity.max() diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index 3b381a294f44..303d2f183009 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -25,7 +25,6 @@ from numpy.testing import assert_allclose, assert_array_equal from matplotlib.cbook import ( IgnoredKeywordWarning, MatplotlibDeprecationWarning) -from matplotlib.cbook._backports import broadcast_to # Note: Some test cases are run twice: once normally and once with labeled data # These two must be defined in the same test function or need to have @@ -3187,7 +3186,7 @@ def test_eventplot_colors(colors): # NB: ['rgbk'] is not a valid argument for to_rgba_array, while 'rgbk' is. if len(expected) == 1: expected = expected[0] - expected = broadcast_to(mcolors.to_rgba_array(expected), (len(data), 4)) + expected = np.broadcast_to(mcolors.to_rgba_array(expected), (len(data), 4)) fig, ax = plt.subplots() if len(colors) == 1: # tuple with a single string (like '0.5' or 'rgbk') diff --git a/lib/matplotlib/tests/test_colors.py b/lib/matplotlib/tests/test_colors.py index 7de686665c86..006f03d46a63 100644 --- a/lib/matplotlib/tests/test_colors.py +++ b/lib/matplotlib/tests/test_colors.py @@ -1,10 +1,7 @@ -from __future__ import absolute_import, division, print_function - import copy import six import itertools import warnings -from distutils.version import LooseVersion as V import numpy as np import pytest @@ -458,17 +455,9 @@ def test_light_source_shading_default(): [1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00]] ]).T - if (V(np.__version__) == V('1.9.0')): - # Numpy 1.9.0 uses a 2. order algorithm on the edges by default - # This was changed back again in 1.9.1 - expect = expect[1:-1, 1:-1, :] - rgb = rgb[1:-1, 1:-1, :] - assert_array_almost_equal(rgb, expect, decimal=2) -@pytest.mark.xfail(V('1.7.0') <= V(np.__version__) <= V('1.9.0'), - reason='NumPy version is not buggy') # Numpy 1.9.1 fixed a bug in masked arrays which resulted in # additional elements being masked when calculating the gradient thus # the output is different with earlier numpy versions. @@ -538,14 +527,7 @@ def alternative_hillshade(azimuth, elev, z): dy = -dy dz = np.ones_like(dy) normals = np.dstack([dx, dy, dz]) - dividers = np.zeros_like(z)[..., None] - for i, mat in enumerate(normals): - for j, vec in enumerate(mat): - dividers[i, j, 0] = np.linalg.norm(vec) - normals /= dividers - # once we drop support for numpy 1.7.x the above can be written as - # normals /= np.linalg.norm(normals, axis=2)[..., None] - # aviding the double loop. + normals /= np.linalg.norm(normals, axis=2)[..., None] intensity = np.tensordot(normals, illum, axes=(2, 0)) intensity -= intensity.min() diff --git a/lib/mpl_toolkits/mplot3d/art3d.py b/lib/mpl_toolkits/mplot3d/art3d.py index ef55dd693e1e..39727ca60614 100644 --- a/lib/mpl_toolkits/mplot3d/art3d.py +++ b/lib/mpl_toolkits/mplot3d/art3d.py @@ -18,7 +18,6 @@ from matplotlib import ( artist, cbook, colors as mcolors, lines, text as mtext, path as mpath) -from matplotlib.cbook import _backports from matplotlib.collections import ( Collection, LineCollection, PolyCollection, PatchCollection, PathCollection) @@ -147,7 +146,7 @@ def line_2d_to_3d(line, zs=0, zdir='z'): def path_to_3d_segment(path, zs=0, zdir='z'): '''Convert a path to a 3D segment.''' - zs = _backports.broadcast_to(zs, len(path)) + zs = np.broadcast_to(zs, len(path)) pathsegs = path.iter_segments(simplify=False, curves=False) seg = [(x, y, z) for (((x, y), code), z) in zip(pathsegs, zs)] seg3d = [juggle_axes(x, y, z, zdir) for (x, y, z) in seg] @@ -159,7 +158,7 @@ def paths_to_3d_segments(paths, zs=0, zdir='z'): Convert paths from a collection object to 3D segments. ''' - zs = _backports.broadcast_to(zs, len(paths)) + zs = np.broadcast_to(zs, len(paths)) segs = [path_to_3d_segment(path, pathz, zdir) for path, pathz in zip(paths, zs)] return segs @@ -168,7 +167,7 @@ def paths_to_3d_segments(paths, zs=0, zdir='z'): def path_to_3d_segment_with_codes(path, zs=0, zdir='z'): '''Convert a path to a 3D segment with path codes.''' - zs = _backports.broadcast_to(zs, len(path)) + zs = np.broadcast_to(zs, len(path)) seg = [] codes = [] pathsegs = path.iter_segments(simplify=False, curves=False) @@ -184,7 +183,7 @@ def paths_to_3d_segments_with_codes(paths, zs=0, zdir='z'): Convert paths from a collection object to 3D segments with path codes. ''' - zs = _backports.broadcast_to(zs, len(paths)) + zs = np.broadcast_to(zs, len(paths)) segments = [] codes_list = [] for path, pathz in zip(paths, zs): @@ -258,7 +257,7 @@ def __init__(self, *args, **kwargs): self.set_3d_properties(zs, zdir) def set_3d_properties(self, verts, zs=0, zdir='z'): - zs = _backports.broadcast_to(zs, len(verts)) + zs = np.broadcast_to(zs, len(verts)) self._segment3d = [juggle_axes(x, y, z, zdir) for ((x, y), z) in zip(verts, zs)] self._facecolor3d = Patch.get_facecolor(self) @@ -755,7 +754,7 @@ def rotate_axes(xs, ys, zs, zdir): def get_colors(c, num): """Stretch the color argument to provide the required number num""" - return _backports.broadcast_to( + return np.broadcast_to( mcolors.to_rgba_array(c) if len(c) else [0, 0, 0, 0], (num, 4)) diff --git a/lib/mpl_toolkits/mplot3d/axes3d.py b/lib/mpl_toolkits/mplot3d/axes3d.py index 038616f62856..6e4a3fbb7bca 100644 --- a/lib/mpl_toolkits/mplot3d/axes3d.py +++ b/lib/mpl_toolkits/mplot3d/axes3d.py @@ -29,7 +29,6 @@ import matplotlib.scale as mscale import matplotlib.transforms as mtransforms from matplotlib.axes import Axes, rcParams -from matplotlib.cbook import _backports from matplotlib.colors import Normalize, LightSource from matplotlib.transforms import Bbox from matplotlib.tri.triangulation import Triangulation @@ -1559,7 +1558,7 @@ def plot(self, xs, ys, *args, **kwargs): zdir = kwargs.pop('zdir', 'z') # Match length - zs = _backports.broadcast_to(zs, len(xs)) + zs = np.broadcast_to(zs, len(xs)) lines = super().plot(xs, ys, *args, **kwargs) for line in lines: @@ -2356,7 +2355,7 @@ def scatter(self, xs, ys, zs=0, zdir='z', s=20, c=None, depthshade=True, patches = super().scatter(xs, ys, s=s, c=c, *args, **kwargs) is_2d = not cbook.iterable(zs) - zs = _backports.broadcast_to(zs, len(xs)) + zs = np.broadcast_to(zs, len(xs)) art3d.patch_collection_2d_to_3d(patches, zs=zs, zdir=zdir, depthshade=depthshade) @@ -2395,7 +2394,7 @@ def bar(self, left, height, zs=0, zdir='z', *args, **kwargs): patches = super().bar(left, height, *args, **kwargs) - zs = _backports.broadcast_to(zs, len(left)) + zs = np.broadcast_to(zs, len(left)) verts = [] verts_zs = [] @@ -2682,8 +2681,7 @@ def calc_arrow(uvw, angle=15): UVW = np.column_stack(input_args[3:argi]).astype(float) # Normalize rows of UVW - # Note: with numpy 1.9+, could use np.linalg.norm(UVW, axis=1) - norm = np.sqrt(np.sum(UVW**2, axis=1)) + norm = np.linalg.norm(UVW, axis=1) # If any row of UVW is all zeros, don't make a quiver for it mask = norm > 0 @@ -2808,13 +2806,12 @@ def voxels(filled, **kwargs): if xyz is None: x, y, z = np.indices(coord_shape) else: - x, y, z = (_backports.broadcast_to(c, coord_shape) for c in xyz) + x, y, z = (np.broadcast_to(c, coord_shape) for c in xyz) def _broadcast_color_arg(color, name): if np.ndim(color) in (0, 1): # single color, like "red" or [1, 0, 0] - return _backports.broadcast_to( - color, filled.shape + np.shape(color)) + return np.broadcast_to(color, filled.shape + np.shape(color)) elif np.ndim(color) in (3, 4): # 3D array of strings, or 4D array with last axis rgb if np.shape(color)[:3] != filled.shape: diff --git a/pytest.ini b/pytest.ini index c3495651769b..341532077417 100644 --- a/pytest.ini +++ b/pytest.ini @@ -18,7 +18,6 @@ pep8ignore = versioneer.py ALL # External file. tools/gh_api.py ALL # External file. tools/github_stats.py ALL # External file. - matplotlib/cbook/_backports.py ALL # Copy-pasted functions. tools/subset.py E221 E231 E251 E261 E302 E501 E701 E703 From 104e6242a1d51abbc53d498de13f237edc250583 Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Mon, 26 Feb 2018 13:22:57 -0800 Subject: [PATCH 0191/1161] FIX: fix big number color resolution issue --- lib/matplotlib/image.py | 16 ++++++++++++++++ lib/matplotlib/tests/test_image.py | 2 -- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/image.py b/lib/matplotlib/image.py index 9d6b3c04ff18..7cf61b75cb02 100644 --- a/lib/matplotlib/image.py +++ b/lib/matplotlib/image.py @@ -396,6 +396,22 @@ def _make_image(self, A, in_bbox, out_bbox, clip_bbox, magnification=1.0, # scaled data A_scaled = np.empty(A.shape, dtype=scaled_dtype) A_scaled[:] = A + # clip scaled data around norm if necessary. + # This is necessary for big numbers at the edge of + # float64's ability to represent changes. Applying + # a norm first would be good, but ruins the interpolation + # of over numbers. + if self.norm.vmin is not None and self.norm.vmax is not None: + dv = self.norm.vmax - self.norm.vmin + vmid = self.norm.vmin + dv / 2 + newmin = vmid - dv * 1.e7 + if newmin > a_min: + A_scaled[A_scaled < newmin ] = newmin + a_min = np.float64(newmin) + newmax = vmid + dv * 1.e7 + if newmax < a_max: + A_scaled[A_scaled > newmax] = newmax + a_max = np.float64(newmax) A_scaled -= a_min # a_min and a_max might be ndarray subclasses so use # asscalar to ensure they are scalars to avoid errors diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py index 16be520e325f..35b69729d074 100644 --- a/lib/matplotlib/tests/test_image.py +++ b/lib/matplotlib/tests/test_image.py @@ -855,8 +855,6 @@ def test_imshow_bignumbers(): img = np.array([[1, 2, 1e12],[3, 1, 4]], dtype=np.uint64) pc = ax.imshow(img) pc.set_clim(0, 5) - plt.show() - @pytest.mark.parametrize( "make_norm", From 4529d6f8106527817f1af87a1208e76a4ffa4ce0 Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Mon, 26 Feb 2018 13:29:13 -0800 Subject: [PATCH 0192/1161] TST: test for big floats in array being clipped properly if clim reset --- .../test_image/imshow_bignumbers_real.png | Bin 0 -> 3312 bytes lib/matplotlib/tests/test_image.py | 13 +++++++++++++ 2 files changed, 13 insertions(+) create mode 100644 lib/matplotlib/tests/baseline_images/test_image/imshow_bignumbers_real.png diff --git a/lib/matplotlib/tests/baseline_images/test_image/imshow_bignumbers_real.png b/lib/matplotlib/tests/baseline_images/test_image/imshow_bignumbers_real.png new file mode 100644 index 0000000000000000000000000000000000000000..ce3404488ebb88daece7f11dc5ba9519bccb6766 GIT binary patch literal 3312 zcmeH~ZA_C_6vt1yrYpt@lO?F-r3t$Ed$Rz@k*QajT^TRMeO+U~(G`?3$)M>bA!b8}Db z$<00a-TyiF@^Q`w#7#Rk0RS=mNZLmLSOoxPmVie+aZe0$=!7dxO+P_EO+v_TK-WRS zBfL_8;M}!=`Ig;PfI3fz4xJKxjGPx$OG*onA~J)@pwdh7 zVyHr-RK$p*Q}g-d^!EfY^jQ7@Ml2(jLcSmp2@`3wzhbFKiGb!m8LI}^%t%i=ctYGU zKXvfCGx{2hDf(rczV6PCIpf3q`N9@r{?B=|uj&UCkxN@X+4=|h_?2<`v2i@(D89y6 zbEEiC;mNyG^T*z=+K$^hzGG+RUdigRG|Dg{z2MYiZbVs+awAbgue_Zr2nLwd>;ep& z!;vAS5pdA(jshSC8v^9RfQ1Ky6i{r#5FjLaW7EG&!B5k6O!LEg-FavAHm^)aPbNRcrX7FJ7fveU{ysXLU!mRjUP z7VfTf!-3&Zr1SHew#27pgG1TWw#yd*j8{o-Quu7XTrW`1=#)6P^#vGah0I2`MY6Bcy%Q9VBv@k(ueFz= zwQombeju(Nq5E6FQJTd`OFi9*aTZx=|DTvDN)5;X3CH8!u2?_`I>(6qNvAAS`~JiT(x+{|~vl+nzid!_$}D zv{gyfXQ-ii6joBaf)w7Y>7API*2&OH83Z}|G5sSZ;Wn$=v(mxonrs0$;6|DMj{vT- zy0hheb%1?w>wv}UP`4*zjLwxQwoVC%*e93!?ys6mxr^5-l}Vq;mq>#WPl;g$t$i3U z42NY)Vpv|g3RQs+1!>iZcmDc)rg?(Pj>wjIENGbwZA+G+HN?K;El#{X=C8t0T6bzr?Vm7^lmP$$ literal 0 HcmV?d00001 diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py index 35b69729d074..4aa72a5a3ad4 100644 --- a/lib/matplotlib/tests/test_image.py +++ b/lib/matplotlib/tests/test_image.py @@ -856,6 +856,19 @@ def test_imshow_bignumbers(): pc = ax.imshow(img) pc.set_clim(0, 5) + +@image_comparison(baseline_images=['imshow_bignumbers_real'], + remove_text=True, style='mpl20', + extensions=['png']) +def test_imshow_bignumbers_real(): + # putting a big number in an array of integers shouldn't + # ruin the dynamic range of the resolved bits. + fig, ax = plt.subplots() + img = np.array([[2., 1., 1.e22],[4., 1., 3.]]) + pc = ax.imshow(img) + pc.set_clim(0, 5) + + @pytest.mark.parametrize( "make_norm", [colors.Normalize, From 2dd9d54f7424164ea1e9b0084b1a61d153dcc264 Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Mon, 26 Feb 2018 14:48:34 -0800 Subject: [PATCH 0193/1161] Make clip and force vmin and vmax to float64 --- lib/matplotlib/image.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/lib/matplotlib/image.py b/lib/matplotlib/image.py index 7cf61b75cb02..e11497b69801 100644 --- a/lib/matplotlib/image.py +++ b/lib/matplotlib/image.py @@ -402,16 +402,22 @@ def _make_image(self, A, in_bbox, out_bbox, clip_bbox, magnification=1.0, # a norm first would be good, but ruins the interpolation # of over numbers. if self.norm.vmin is not None and self.norm.vmax is not None: - dv = self.norm.vmax - self.norm.vmin + dv = (np.float64(self.norm.vmax) - + np.float64(self.norm.vmin)) vmid = self.norm.vmin + dv / 2 newmin = vmid - dv * 1.e7 - if newmin > a_min: - A_scaled[A_scaled < newmin ] = newmin + if newmin < a_min: + newmin = None + else: a_min = np.float64(newmin) newmax = vmid + dv * 1.e7 - if newmax < a_max: - A_scaled[A_scaled > newmax] = newmax + if newmax > a_max: + newmax = None + else: a_max = np.float64(newmax) + if newmax is not None or newmin is not None: + A_scaled = np.clip(A_scaled, newmin, newmax) + A_scaled -= a_min # a_min and a_max might be ndarray subclasses so use # asscalar to ensure they are scalars to avoid errors From bed1aa26ed606281f76c4fdd6dd5006e4488e63c Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Mon, 26 Feb 2018 17:35:18 -0800 Subject: [PATCH 0194/1161] Use np.stack instead of list(zip()) in colorbar.py. (Not sure it's *really* more legible, but I don't think it's worse and it's shorter...) --- lib/matplotlib/colorbar.py | 8 +++----- lib/mpl_toolkits/axes_grid1/colorbar.py | 23 +++++++++-------------- 2 files changed, 12 insertions(+), 19 deletions(-) diff --git a/lib/matplotlib/colorbar.py b/lib/matplotlib/colorbar.py index 0f76e3d698bb..e2f47481b821 100644 --- a/lib/matplotlib/colorbar.py +++ b/lib/matplotlib/colorbar.py @@ -557,13 +557,11 @@ def add_lines(self, levels, colors, linewidths, erase=True): colors = np.asarray(colors)[igood] if cbook.iterable(linewidths): linewidths = np.asarray(linewidths)[igood] - N = len(y) - x = np.array([0.0, 1.0]) - X, Y = np.meshgrid(x, y) + X, Y = np.meshgrid([0, 1], y) if self.orientation == 'vertical': - xy = [list(zip(X[i], Y[i])) for i in xrange(N)] + xy = np.stack([X, Y], axis=-1) else: - xy = [list(zip(Y[i], X[i])) for i in xrange(N)] + xy = np.stack([Y, X], axis=-1) col = collections.LineCollection(xy, linewidths=linewidths) if erase and self.lines: diff --git a/lib/mpl_toolkits/axes_grid1/colorbar.py b/lib/mpl_toolkits/axes_grid1/colorbar.py index a8176f0ded5f..c2227bf379dc 100644 --- a/lib/mpl_toolkits/axes_grid1/colorbar.py +++ b/lib/mpl_toolkits/axes_grid1/colorbar.py @@ -565,10 +565,11 @@ def _add_solids(self, X, Y, C): self.solids = col if self.drawedges: - self.dividers = collections.LineCollection(self._edges(X,Y), - colors=(mpl.rcParams['axes.edgecolor'],), - linewidths=(0.5*mpl.rcParams['axes.linewidth'],), - ) + self.dividers = collections.LineCollection( + self._edges(X,Y), + colors=(mpl.rcParams['axes.edgecolor'],), + linewidths=(0.5*mpl.rcParams['axes.linewidth'],), + ) self.ax.add_collection(self.dividers) else: self.dividers = None @@ -577,22 +578,16 @@ def add_lines(self, levels, colors, linewidths): ''' Draw lines on the colorbar. It deletes preexisting lines. ''' - del self.lines - - N = len(levels) - x = np.array([1.0, 2.0]) - X, Y = np.meshgrid(x,levels) + X, Y = np.meshgrid([1, 2], levels) if self.orientation == 'vertical': - xy = [list(zip(X[i], Y[i])) for i in range(N)] + xy = np.stack([X, Y], axis=-1) else: - xy = [list(zip(Y[i], X[i])) for i in range(N)] - col = collections.LineCollection(xy, linewidths=linewidths, - ) + xy = np.stack([Y, X], axis=-1) + col = collections.LineCollection(xy, linewidths=linewidths) self.lines = col col.set_color(colors) self.ax.add_collection(col) - def _select_locator(self, formatter): ''' select a suitable locator From aa9c05facb0d82950e6ffd109539e78ecb2486c2 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Mon, 26 Feb 2018 18:23:52 -0800 Subject: [PATCH 0195/1161] More style fixes. --- lib/matplotlib/offsetbox.py | 12 ++++---- lib/matplotlib/textpath.py | 9 +++--- lib/mpl_toolkits/axisartist/clip_path.py | 28 +++++-------------- lib/mpl_toolkits/mplot3d/axes3d.py | 16 +++++++---- lib/mpl_toolkits/mplot3d/axis3d.py | 35 ++++++++++++------------ 5 files changed, 44 insertions(+), 56 deletions(-) diff --git a/lib/matplotlib/offsetbox.py b/lib/matplotlib/offsetbox.py index a4d97374c45f..acaf2b0f388e 100644 --- a/lib/matplotlib/offsetbox.py +++ b/lib/matplotlib/offsetbox.py @@ -401,9 +401,9 @@ def get_extent_offsets(self, renderer): yoffsets = yoffsets - ydescent - return width + 2 * pad, height + 2 * pad, \ - xdescent + pad, ydescent + pad, \ - list(zip(xoffsets, yoffsets)) + return (width + 2 * pad, height + 2 * pad, + xdescent + pad, ydescent + pad, + list(zip(xoffsets, yoffsets))) class HPacker(PackerBase): @@ -479,9 +479,9 @@ def get_extent_offsets(self, renderer): xdescent = whd_list[0][2] xoffsets = xoffsets - xdescent - return width + 2 * pad, height + 2 * pad, \ - xdescent + pad, ydescent + pad, \ - list(zip(xoffsets, yoffsets)) + return (width + 2 * pad, height + 2 * pad, + xdescent + pad, ydescent + pad, + list(zip(xoffsets, yoffsets))) class PaddedBox(OffsetBox): diff --git a/lib/matplotlib/textpath.py b/lib/matplotlib/textpath.py index 63a7208bf5ff..7654a2ae1115 100644 --- a/lib/matplotlib/textpath.py +++ b/lib/matplotlib/textpath.py @@ -166,8 +166,7 @@ def get_text_path(self, prop, s, ismath=False, usetex=False): def get_glyphs_with_font(self, font, s, glyph_map=None, return_new_glyphs_only=False): """ - convert the string *s* to vertices and codes using the - provided ttf font. + Convert string *s* to vertices and codes using the provided ttf font. """ # Mostly copied from backend_svg.py. @@ -201,13 +200,13 @@ def get_glyphs_with_font(self, font, s, glyph_map=None, kern = 0 glyph = font.load_char(ccode, flags=LOAD_NO_HINTING) - horiz_advance = (glyph.linearHoriAdvance / 65536.0) + horiz_advance = glyph.linearHoriAdvance / 65536 char_id = self._get_char_id(font, ccode) if char_id not in glyph_map: glyph_map_new[char_id] = self.glyph_to_path(font) - currx += (kern / 64.0) + currx += kern / 64 xpositions.append(currx) glyph_ids.append(char_id) @@ -222,7 +221,7 @@ def get_glyphs_with_font(self, font, s, glyph_map=None, rects = [] return (list(zip(glyph_ids, xpositions, ypositions, sizes)), - glyph_map_new, rects) + glyph_map_new, rects) def get_glyphs_mathtext(self, prop, s, glyph_map=None, return_new_glyphs_only=False): diff --git a/lib/mpl_toolkits/axisartist/clip_path.py b/lib/mpl_toolkits/axisartist/clip_path.py index 8507b09b0750..807f5d15f7c7 100644 --- a/lib/mpl_toolkits/axisartist/clip_path.py +++ b/lib/mpl_toolkits/axisartist/clip_path.py @@ -26,16 +26,8 @@ def clip(xlines, ylines, x0, clip="right", xdir=True, ydir=True): _pos_angles = [] - if xdir: - xsign = 1 - else: - xsign = -1 - - if ydir: - ysign = 1 - else: - ysign = -1 - + xsign = 1 if xdir else -1 + ysign = 1 if ydir else -1 for x, y in zip(xlines, ylines): @@ -46,7 +38,6 @@ def clip(xlines, ylines, x0, clip="right", xdir=True, ydir=True): b = (x > x0).astype("i") db = b[1:] - b[:-1] - if b[0]: ns = 0 else: @@ -56,7 +47,7 @@ def clip(xlines, ylines, x0, clip="right", xdir=True, ydir=True): c = db[i] if c == -1: dx = (x0 - x[i]) - dy = (y[i+1] - y[i]) * (dx/ (x[i+1] - x[i])) + dy = (y[i+1] - y[i]) * (dx / (x[i+1] - x[i])) y0 = y[i] + dy clipped_xlines.append(np.concatenate([segx, x[ns:i+1], [x0]])) clipped_ylines.append(np.concatenate([segy, y[ns:i+1], [y0]])) @@ -88,9 +79,6 @@ def clip(xlines, ylines, x0, clip="right", xdir=True, ydir=True): clipped_xlines.append(np.concatenate([segx, x[ns:]])) clipped_ylines.append(np.concatenate([segy, y[ns:]])) - #clipped_pos_angles.append(_pos_angles) - - return clipped_xlines, clipped_ylines, _pos_angles @@ -121,15 +109,13 @@ def clip_line_to_rect(xline, yline, bbox): # ly3, lx3, c_top_ = clip(ly2, lx2, y1, clip="right") # ly4, lx4, c_bottom_ = clip(ly3, lx3, y0, clip="left") - #c_left = [((x, y), (a+90)%180-180) for (x, y, a) in c_left_ \ - # if bbox.containsy(y)] - c_left = [((x, y), (a+90)%180-90) for (x, y, a) in c_left_ + c_left = [((x, y), (a + 90) % 180 - 90) for x, y, a in c_left_ if bbox.containsy(y)] - c_bottom = [((x, y), (90 - a)%180) for (y, x, a) in c_bottom_ + c_bottom = [((x, y), (90 - a) % 180) for y, x, a in c_bottom_ if bbox.containsx(x)] - c_right = [((x, y), (a+90)%180+90) for (x, y, a) in c_right_ + c_right = [((x, y), (a + 90) % 180 + 90) for x, y, a in c_right_ if bbox.containsy(y)] - c_top = [((x, y), (90 - a)%180+180) for (y, x, a) in c_top_ + c_top = [((x, y), (90 - a) % 180 + 180) for y, x, a in c_top_ if bbox.containsx(x)] return list(zip(lx4, ly4)), [c_left, c_bottom, c_right, c_top] diff --git a/lib/mpl_toolkits/mplot3d/axes3d.py b/lib/mpl_toolkits/mplot3d/axes3d.py index 038616f62856..f6d6c399b2e3 100644 --- a/lib/mpl_toolkits/mplot3d/axes3d.py +++ b/lib/mpl_toolkits/mplot3d/axes3d.py @@ -15,9 +15,9 @@ import six from six.moves import map, zip, reduce +from collections import defaultdict import math import warnings -from collections import defaultdict import numpy as np @@ -210,17 +210,21 @@ def _init_axis(self): ax.init3d() def get_children(self): - return [self.zaxis, ] + super().get_children() + return [self.zaxis] + super().get_children() def _get_axis_list(self): return super()._get_axis_list() + (self.zaxis, ) def unit_cube(self, vals=None): minx, maxx, miny, maxy, minz, maxz = vals or self.get_w_lims() - xs, ys, zs = ([minx, maxx, maxx, minx, minx, maxx, maxx, minx], - [miny, miny, maxy, maxy, miny, miny, maxy, maxy], - [minz, minz, minz, minz, maxz, maxz, maxz, maxz]) - return list(zip(xs, ys, zs)) + return [(minx, miny, minz), + (maxx, miny, minz), + (maxx, maxy, minz), + (minx, maxy, minz), + (minx, miny, maxz), + (maxx, miny, maxz), + (maxx, maxy, maxz), + (minx, maxy, maxz)] def tunit_cube(self, vals=None, M=None): if M is None: diff --git a/lib/mpl_toolkits/mplot3d/axis3d.py b/lib/mpl_toolkits/mplot3d/axis3d.py index 50b81df9125e..4093e9bd81e0 100644 --- a/lib/mpl_toolkits/mplot3d/axis3d.py +++ b/lib/mpl_toolkits/mplot3d/axis3d.py @@ -288,7 +288,7 @@ def draw(self, renderer): ax_scale = self.axes.bbox.size / self.figure.bbox.size ax_inches = np.multiply(ax_scale, self.figure.get_size_inches()) ax_points_estimate = sum(72. * ax_inches) - deltas_per_point = 48. / ax_points_estimate + deltas_per_point = 48 / ax_points_estimate default_offset = 21. labeldeltas = ( (self.labelpad + default_offset) * deltas_per_point * deltas) @@ -305,15 +305,14 @@ def draw(self, renderer): self.label.set_ha(info['label']['ha']) self.label.draw(renderer) - # Draw Offset text # Which of the two edge points do we want to # use for locating the offset text? - if juggled[2] == 2 : + if juggled[2] == 2: outeredgep = edgep1 outerindex = 0 - else : + else: outeredgep = edgep2 outerindex = 1 @@ -321,8 +320,8 @@ def draw(self, renderer): pos = move_from_center(pos, centers, labeldeltas, axmask) olx, oly, olz = proj3d.proj_transform( pos[0], pos[1], pos[2], renderer.M) - self.offsetText.set_text( self.major.formatter.get_offset() ) - self.offsetText.set_position( (olx, oly) ) + self.offsetText.set_text(self.major.formatter.get_offset()) + self.offsetText.set_position((olx, oly)) angle = art3d.norm_text_angle(math.degrees(math.atan2(dy, dx))) self.offsetText.set_rotation(angle) # Must set rotation mode to "anchor" so that @@ -344,29 +343,29 @@ def draw(self, renderer): # Three-letters (e.g., TFT, FTT) are short-hand for the array of bools # from the variable 'highs'. # --------------------------------------------------------------------- - if centpt[info['tickdir']] > peparray[info['tickdir'], outerindex] : + if centpt[info['tickdir']] > peparray[info['tickdir'], outerindex]: # if FT and if highs has an even number of Trues if (centpt[index] <= peparray[index, outerindex] - and ((len(highs.nonzero()[0]) % 2) == 0)) : + and len(highs.nonzero()[0]) % 2 == 0): # Usually, this means align right, except for the FTT case, # in which offset for axis 1 and 2 are aligned left. - if highs.tolist() == [False, True, True] and index in (1, 2) : + if highs.tolist() == [False, True, True] and index in (1, 2): align = 'left' - else : + else: align = 'right' - else : + else: # The FF case align = 'left' - else : + else: # if TF and if highs has an even number of Trues if (centpt[index] > peparray[index, outerindex] - and ((len(highs.nonzero()[0]) % 2) == 0)) : + and len(highs.nonzero()[0]) % 2 == 0): # Usually mean align left, except if it is axis 2 - if index == 2 : + if index == 2: align = 'right' - else : + else: align = 'left' - else : + else: # The TT case align = 'right' @@ -385,7 +384,7 @@ def draw(self, renderer): # Grid points at end of the other plane xyz2 = copy.deepcopy(xyz0) - newindex = (index + 2) % 3 + newindex = (index + 2) % 3 newval = get_flip_min_max(xyz2[0], newindex, mins, maxs) for i in range(len(majorLocs)): xyz2[i][newindex] = newval @@ -461,7 +460,7 @@ def set_view_interval(self, vmin, vmax, ignore=False): # TODO: Get this to work properly when mplot3d supports # the transforms framework. - def get_tightbbox(self, renderer) : + def get_tightbbox(self, renderer): # Currently returns None so that Axis.get_tightbbox # doesn't return junk info. return None From 4d4b65320d368b877694299e9d8f48cd2abf7f5b Mon Sep 17 00:00:00 2001 From: Alexander Harnisch Date: Tue, 27 Feb 2018 14:32:55 +0100 Subject: [PATCH 0196/1161] Changed to single line with comment. --- lib/matplotlib/backends/backend_qt5.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/lib/matplotlib/backends/backend_qt5.py b/lib/matplotlib/backends/backend_qt5.py index a9b226aa7265..ec1e404ffa72 100644 --- a/lib/matplotlib/backends/backend_qt5.py +++ b/lib/matplotlib/backends/backend_qt5.py @@ -269,11 +269,7 @@ def _update_figure_dpi(self): def _dpi_ratio(self): # Not available on Qt4 or some older Qt5. try: - ratio = self.devicePixelRatio() - if ratio == 0: - return 1 - else: - return ratio + return self.devicePixelRatio() or 1 # can be 0 in rare cases except AttributeError: return 1 From 8cb4d5129baee0fd483715bd92ee9451f68050ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20N=C3=B6the?= Date: Tue, 27 Feb 2018 15:48:50 +0100 Subject: [PATCH 0197/1161] Fix merge artifact --- lib/matplotlib/backends/backend_pgf.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/backends/backend_pgf.py b/lib/matplotlib/backends/backend_pgf.py index 308d33aac481..7a7888a893b6 100644 --- a/lib/matplotlib/backends/backend_pgf.py +++ b/lib/matplotlib/backends/backend_pgf.py @@ -51,7 +51,7 @@ except: warnings.warn('error getting fonts from fc-list', UserWarning) - + _luatex_version_re = re.compile( 'This is LuaTeX, Version (?:beta-)?([0-9]+)\.([0-9]+)\.([0-9]+)' ) @@ -66,7 +66,7 @@ def get_texcommand(): def _get_lualatex_version(): """Get version of luatex""" - output = check_output(['lualatex', '--version']) + output = subprocess.check_output(['lualatex', '--version']) return _parse_lualatex_version(output.decode()) @@ -1157,7 +1157,9 @@ def _run_latex(self): os.path.basename(self._fname_tex), ] try: - check_output(cmdargs, stderr=subprocess.STDOUT, cwd=self._tmpdir) + subprocess.check_output( + cmdargs, stderr=subprocess.STDOUT, cwd=self._tmpdir + ) except subprocess.CalledProcessError as e: raise RuntimeError( "%s was not able to process your file.\n\nFull log:\n%s" From 2f186ad831e97ab55498d2f051a6d037f892c461 Mon Sep 17 00:00:00 2001 From: Alexander Harnisch Date: Tue, 27 Feb 2018 17:48:09 +0100 Subject: [PATCH 0198/1161] Corrected to be PEP8 compliant. --- lib/matplotlib/backends/backend_qt5.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/backends/backend_qt5.py b/lib/matplotlib/backends/backend_qt5.py index ec1e404ffa72..f9cd969279b6 100644 --- a/lib/matplotlib/backends/backend_qt5.py +++ b/lib/matplotlib/backends/backend_qt5.py @@ -268,8 +268,9 @@ def _update_figure_dpi(self): @property def _dpi_ratio(self): # Not available on Qt4 or some older Qt5. - try: - return self.devicePixelRatio() or 1 # can be 0 in rare cases + try: + # self.devicePixelRatio() returns 0 in rare cases + return self.devicePixelRatio() or 1 except AttributeError: return 1 From 332edf03970f7a9cc3297c6b894a66f797991d20 Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Tue, 27 Feb 2018 09:05:13 -0800 Subject: [PATCH 0199/1161] FIX convert 2-d PIL image --- lib/matplotlib/image.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/image.py b/lib/matplotlib/image.py index e11497b69801..45436619f227 100644 --- a/lib/matplotlib/image.py +++ b/lib/matplotlib/image.py @@ -636,7 +636,11 @@ def set_data(self, A): """ # check if data is PIL Image without importing Image if hasattr(A, 'getpixel'): - self._A = pil_to_array(A) + if A.mode == 'L': + # greyscale image, but our logic assumes rgba: + self._A = pil_to_array(A.convert('RGBA')) + else: + self._A = pil_to_array(A) else: self._A = cbook.safe_masked_invalid(A, copy=True) From e0fab0d22451cdd88cdb7d2a5ad9d906b744e1d6 Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Tue, 27 Feb 2018 09:29:30 -0800 Subject: [PATCH 0200/1161] TST convert 2-d PIL image --- lib/matplotlib/tests/test_image.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py index 4aa72a5a3ad4..26e3b4a7ea26 100644 --- a/lib/matplotlib/tests/test_image.py +++ b/lib/matplotlib/tests/test_image.py @@ -511,6 +511,18 @@ def test_nonuniformimage_setnorm(): im.set_norm(plt.Normalize()) +@needs_pillow +def test_jpeg_2d(): + # smoke test that mode-L pillow images work. + imd = np.ones((10, 10), dtype='uint8') + for i in range(10): + imd[i, :] = np.linspace(0.0, 1.0, 10) * 255 + im = Image.new('L', (10, 10)) + im.putdata(imd.flatten()) + fig, ax = plt.subplots() + ax.imshow(im) + + @needs_pillow def test_jpeg_alpha(): plt.figure(figsize=(1, 1), dpi=300) From d12110f11830f9a794dd3f9d92d9a24584203b37 Mon Sep 17 00:00:00 2001 From: Alexander Harnisch Date: Tue, 27 Feb 2018 18:39:05 +0100 Subject: [PATCH 0201/1161] Fixed Indentation error... --- lib/matplotlib/backends/backend_qt5.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/backends/backend_qt5.py b/lib/matplotlib/backends/backend_qt5.py index f9cd969279b6..b1a75b248dd8 100644 --- a/lib/matplotlib/backends/backend_qt5.py +++ b/lib/matplotlib/backends/backend_qt5.py @@ -268,7 +268,7 @@ def _update_figure_dpi(self): @property def _dpi_ratio(self): # Not available on Qt4 or some older Qt5. - try: + try: # self.devicePixelRatio() returns 0 in rare cases return self.devicePixelRatio() or 1 except AttributeError: From daa4d206583ccdf6bce73a7146ca03fdd859165a Mon Sep 17 00:00:00 2001 From: TD22057 Date: Tue, 27 Feb 2018 13:08:00 -0800 Subject: [PATCH 0202/1161] Fixes #10619. Reordered bar plot to correctly handle units --- lib/matplotlib/axes/_axes.py | 32 ++++++++-------- .../testing/jpl_units/EpochConverter.py | 2 +- lib/matplotlib/testing/jpl_units/__init__.py | 1 + lib/matplotlib/tests/test_units.py | 38 +++++++++++++++++++ 4 files changed, 56 insertions(+), 17 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 7681edf57f44..b7c5d1c1d528 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -2190,10 +2190,6 @@ def bar(self, *args, **kwargs): adjust_xlim = True x = 0 - x, height, width, y, linewidth = np.broadcast_arrays( - # Make args iterable too. - np.atleast_1d(x), height, width, y, linewidth) - if orientation == 'vertical': self._process_unit_info(xdata=x, ydata=height, kwargs=kwargs) if log: @@ -2211,18 +2207,6 @@ def bar(self, *args, **kwargs): else: raise ValueError('invalid orientation: %s' % orientation) - linewidth = itertools.cycle(np.atleast_1d(linewidth)) - color = itertools.chain(itertools.cycle(mcolors.to_rgba_array(color)), - # Fallback if color == "none". - itertools.repeat([0, 0, 0, 0])) - if edgecolor is None: - edgecolor = itertools.repeat(None) - else: - edgecolor = itertools.chain( - itertools.cycle(mcolors.to_rgba_array(edgecolor)), - # Fallback if edgecolor == "none". - itertools.repeat([0, 0, 0, 0])) - # lets do some conversions now since some types cannot be # subtracted uniformly if self.xaxis is not None: @@ -2237,6 +2221,22 @@ def bar(self, *args, **kwargs): if yerr is not None: yerr = self.convert_yunits(yerr) + x, height, width, y, linewidth = np.broadcast_arrays( + # Make args iterable too. + np.atleast_1d(x), height, width, y, linewidth) + + linewidth = itertools.cycle(np.atleast_1d(linewidth)) + color = itertools.chain(itertools.cycle(mcolors.to_rgba_array(color)), + # Fallback if color == "none". + itertools.repeat([0, 0, 0, 0])) + if edgecolor is None: + edgecolor = itertools.repeat(None) + else: + edgecolor = itertools.chain( + itertools.cycle(mcolors.to_rgba_array(edgecolor)), + # Fallback if edgecolor == "none". + itertools.repeat([0, 0, 0, 0])) + # We will now resolve the alignment and really have # left, bottom, width, height vectors if align == 'center': diff --git a/lib/matplotlib/testing/jpl_units/EpochConverter.py b/lib/matplotlib/testing/jpl_units/EpochConverter.py index ccf02e858717..eecf3321135b 100644 --- a/lib/matplotlib/testing/jpl_units/EpochConverter.py +++ b/lib/matplotlib/testing/jpl_units/EpochConverter.py @@ -101,7 +101,7 @@ def duration2float( value ): = RETURN VALUE - Returns the value parameter converted to floats. """ - return value.days() + return value.seconds() / 86400.0 #------------------------------------------------------------------------ @staticmethod diff --git a/lib/matplotlib/testing/jpl_units/__init__.py b/lib/matplotlib/testing/jpl_units/__init__.py index 9b6ab73bdad6..074af4e83589 100644 --- a/lib/matplotlib/testing/jpl_units/__init__.py +++ b/lib/matplotlib/testing/jpl_units/__init__.py @@ -65,6 +65,7 @@ def register(): mplU.registry[ str ] = StrConverter() mplU.registry[ Epoch ] = EpochConverter() + mplU.registry[ Duration ] = EpochConverter() mplU.registry[ UnitDbl ] = UnitDblConverter() #======================================================================= diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py index 14e8341e4b5d..d444d1aa3116 100644 --- a/lib/matplotlib/tests/test_units.py +++ b/lib/matplotlib/tests/test_units.py @@ -3,6 +3,7 @@ from matplotlib.testing.decorators import image_comparison import matplotlib.units as munits import numpy as np +import datetime try: # mock in python 3.3+ @@ -95,3 +96,40 @@ def test_plot_masked_units(): fig, ax = plt.subplots() ax.plot(data_masked_units) + +@image_comparison(baseline_images=['jpl_bar_units'], extensions=['png'], + savefig_kwarg={'dpi': 60}, style='mpl20') +def test_jpl_bar_units(): + from datetime import datetime + import matplotlib.testing.jpl_units as units + units.register() + + day = units.Duration("ET", 24.0 * 60.0 * 60.0) + x = [0*units.km, 1*units.km, 2*units.km] + w = [1*day, 2*day, 3*day] + b = units.Epoch("ET", dt=datetime(2009, 4, 25)) + + fig, ax = P.subplots() + ax.bar(x, w, bottom=b) + ax.set_ylim([b-1*day, b+w[-1]+1*day]) + +@image_comparison(baseline_images=['jpl_barh_units'], extensions=['png'], + savefig_kwarg={'dpi': 60}, style='mpl20') +def test_jpl_barh_units(): + from datetime import datetime + import matplotlib.testing.jpl_units as units + units.register() + + day = units.Duration("ET", 24.0 * 60.0 * 60.0) + x = [0*units.km, 1*units.km, 2*units.km] + w = [1*day, 2*day, 3*day] + b = units.Epoch("ET", dt=datetime(2009, 4, 25)) + + fig, ax = P.subplots() + ax.barh(x, w, left=b) + ax.set_xlim([b-1*day, b+w[-1]+1*day]) + + + + + From a1a4fd6c3fe9def67ecbe52ec9056777895c6bad Mon Sep 17 00:00:00 2001 From: TD22057 Date: Tue, 27 Feb 2018 14:01:40 -0800 Subject: [PATCH 0203/1161] Updated tests w/ correct freetype version --- .../test_units/jpl_bar_units.png | Bin 0 -> 20363 bytes .../test_units/jpl_barh_units.png | Bin 0 -> 14626 bytes lib/matplotlib/tests/test_units.py | 12 +++++++----- 3 files changed, 7 insertions(+), 5 deletions(-) create mode 100644 lib/matplotlib/tests/baseline_images/test_units/jpl_bar_units.png create mode 100644 lib/matplotlib/tests/baseline_images/test_units/jpl_barh_units.png diff --git a/lib/matplotlib/tests/baseline_images/test_units/jpl_bar_units.png b/lib/matplotlib/tests/baseline_images/test_units/jpl_bar_units.png new file mode 100644 index 0000000000000000000000000000000000000000..8c79da4c7c4e3bb528cf4806b5f0e6df34dd36ea GIT binary patch literal 20363 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

LCts{S7kE|0n!DE9q!~a42-l{#+*l6j0&Ko0 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 Date: Tue, 27 Feb 2018 12:48:51 -0800 Subject: [PATCH 0204/1161] Cleanup and py3fy backend_gtk3. _pixmapBack was never used on the GTK3 backend (it only exists in the old GTK2 backend). --- lib/matplotlib/backends/backend_gtk3.py | 213 +++++++++++------------- 1 file changed, 99 insertions(+), 114 deletions(-) diff --git a/lib/matplotlib/backends/backend_gtk3.py b/lib/matplotlib/backends/backend_gtk3.py index 36be06501a0b..573110aaac1c 100644 --- a/lib/matplotlib/backends/backend_gtk3.py +++ b/lib/matplotlib/backends/backend_gtk3.py @@ -1,14 +1,9 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - import logging import os import sys import matplotlib -from matplotlib import backend_tools, rcParams +from matplotlib import backend_tools, cbook, rcParams from matplotlib._pylab_helpers import Gcf from matplotlib.backend_bases import ( _Backend, FigureCanvasBase, FigureManagerBase, NavigationToolbar2, @@ -84,55 +79,55 @@ def _on_timer(self): class FigureCanvasGTK3(Gtk.DrawingArea, FigureCanvasBase): - keyvald = {65507 : 'control', - 65505 : 'shift', - 65513 : 'alt', - 65508 : 'control', - 65506 : 'shift', - 65514 : 'alt', - 65361 : 'left', - 65362 : 'up', - 65363 : 'right', - 65364 : 'down', - 65307 : 'escape', - 65470 : 'f1', - 65471 : 'f2', - 65472 : 'f3', - 65473 : 'f4', - 65474 : 'f5', - 65475 : 'f6', - 65476 : 'f7', - 65477 : 'f8', - 65478 : 'f9', - 65479 : 'f10', - 65480 : 'f11', - 65481 : 'f12', - 65300 : 'scroll_lock', - 65299 : 'break', - 65288 : 'backspace', - 65293 : 'enter', - 65379 : 'insert', - 65535 : 'delete', - 65360 : 'home', - 65367 : 'end', - 65365 : 'pageup', - 65366 : 'pagedown', - 65438 : '0', - 65436 : '1', - 65433 : '2', - 65435 : '3', - 65430 : '4', - 65437 : '5', - 65432 : '6', - 65429 : '7', - 65431 : '8', - 65434 : '9', - 65451 : '+', - 65453 : '-', - 65450 : '*', - 65455 : '/', - 65439 : 'dec', - 65421 : 'enter', + keyvald = {65507: 'control', + 65505: 'shift', + 65513: 'alt', + 65508: 'control', + 65506: 'shift', + 65514: 'alt', + 65361: 'left', + 65362: 'up', + 65363: 'right', + 65364: 'down', + 65307: 'escape', + 65470: 'f1', + 65471: 'f2', + 65472: 'f3', + 65473: 'f4', + 65474: 'f5', + 65475: 'f6', + 65476: 'f7', + 65477: 'f8', + 65478: 'f9', + 65479: 'f10', + 65480: 'f11', + 65481: 'f12', + 65300: 'scroll_lock', + 65299: 'break', + 65288: 'backspace', + 65293: 'enter', + 65379: 'insert', + 65535: 'delete', + 65360: 'home', + 65367: 'end', + 65365: 'pageup', + 65366: 'pagedown', + 65438: '0', + 65436: '1', + 65433: '2', + 65435: '3', + 65430: '4', + 65437: '5', + 65432: '6', + 65429: '7', + 65431: '8', + 65434: '9', + 65451: '+', + 65453: '-', + 65450: '*', + 65455: '/', + 65439: 'dec', + 65421: 'enter', } # Setting this as a static constant prevents @@ -267,7 +262,7 @@ def configure_event(self, widget, event): return # empty fig # resize the figure (in inches) dpi = self.figure.dpi - self.figure.set_size_inches(w/dpi, h/dpi, forward=False) + self.figure.set_size_inches(w / dpi, h / dpi, forward=False) return False # finish event propagation? def on_draw_event(self, widget, ctx): @@ -279,7 +274,7 @@ def draw(self): self.queue_draw() # do a synchronous draw (its less efficient than an async draw, # but is required if/when animation is used) - self.get_property("window").process_updates (False) + self.get_property("window").process_updates(False) def draw_idle(self): if self._idle_draw_id != 0: @@ -325,11 +320,11 @@ class FigureManagerGTK3(FigureManagerBase): num : int or str The Figure number toolbar : Gtk.Toolbar - The Gtk.Toolbar (gtk only) + The Gtk.Toolbar vbox : Gtk.VBox - The Gtk.VBox containing the canvas and toolbar (gtk only) + The Gtk.VBox containing the canvas and toolbar window : Gtk.Window - The Gtk.Window (gtk only) + The Gtk.Window """ def __init__(self, canvas, num): @@ -340,14 +335,10 @@ def __init__(self, canvas, num): self.set_window_title("Figure %d" % num) try: self.window.set_icon_from_file(window_icon) - except (SystemExit, KeyboardInterrupt): - # re-raise exit type Exceptions - raise - except: - # some versions of gtk throw a glib.GError but not - # all, so I am not sure how to catch it. I am unhappy - # doing a blanket catch here, but am not sure what a - # better way is - JDH + except Exception: + # Some versions of gtk throw a glib.GError but not all, so I am not + # sure how to catch it. I am unhappy doing a blanket catch here, + # but am not sure what a better way is - JDH _log.info('Could not load matplotlib icon: %s', sys.exc_info()[1]) self.vbox = Gtk.Box() @@ -359,8 +350,8 @@ def __init__(self, canvas, num): self.vbox.pack_start(self.canvas, True, True, 0) # calculate size for window - w = int (self.canvas.figure.bbox.width) - h = int (self.canvas.figure.bbox.height) + w = int(self.canvas.figure.bbox.width) + h = int(self.canvas.figure.bbox.height) self.toolmanager = self._get_toolmanager() self.toolbar = self._get_toolbar() @@ -384,7 +375,7 @@ def add_widget(child, expand, fill, padding): self.toolbar.show() h += add_widget(self.toolbar, False, False, 0) - self.window.set_default_size (w, h) + self.window.set_default_size(w, h) def destroy(*args): Gcf.destroy(num) @@ -421,7 +412,7 @@ def show(self): self.window.show() self.window.present() - def full_screen_toggle (self): + def full_screen_toggle(self): self._full_screen_flag = not self._full_screen_flag if self._full_screen_flag: self.window.fullscreen() @@ -476,10 +467,6 @@ def set_cursor(self, cursor): self.canvas.get_property("window").set_cursor(cursord[cursor]) Gtk.main_iteration() - def release(self, event): - try: del self._pixmapBack - except AttributeError: pass - def draw_rubberband(self, event, x0, y0, x1, y1): 'adapted from http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/189744' self.ctx = self.canvas.get_property("window").cairo_create() @@ -493,7 +480,7 @@ def draw_rubberband(self, event, x0, y0, x1, y1): y0 = height - y0 w = abs(x1 - x0) h = abs(y1 - y0) - rect = [int(val) for val in (min(x0,x1), min(y0, y1), w, h)] + rect = [int(val) for val in (min(x0, x1), min(y0, y1), w, h)] self.ctx.new_path() self.ctx.set_line_width(0.5) @@ -503,7 +490,7 @@ def draw_rubberband(self, event, x0, y0, x1, y1): def _init_toolbar(self): self.set_style(Gtk.ToolbarStyle.ICONS) - basedir = os.path.join(rcParams['datapath'],'images') + basedir = os.path.join(rcParams['datapath'], 'images') for text, tooltip_text, image_file, callback in self.toolitems: if text is None: @@ -549,15 +536,14 @@ def save_figure(self, *args): startpath = os.path.expanduser(rcParams['savefig.directory']) # Save dir for next time, unless empty str (i.e., use cwd). if startpath != "": - rcParams['savefig.directory'] = ( - os.path.dirname(six.text_type(fname))) + rcParams['savefig.directory'] = os.path.dirname(fname) try: self.canvas.figure.savefig(fname, format=format) except Exception as e: error_msg_gtk(str(e), parent=self) def configure_subplots(self, button): - toolfig = Figure(figsize=(6,3)) + toolfig = Figure(figsize=(6, 3)) canvas = self._get_canvas(toolfig) toolfig.subplots_adjust(top=0.9) tool = SubplotTool(self.canvas.figure, toolfig) @@ -568,10 +554,7 @@ def configure_subplots(self, button): window = Gtk.Window() try: window.set_icon_from_file(window_icon) - except (SystemExit, KeyboardInterrupt): - # re-raise exit type Exceptions - raise - except: + except Exception: # we presumably already logged a message on the # failure of the main plot, don't keep reporting pass @@ -594,30 +577,31 @@ class FileChooserDialog(Gtk.FileChooserDialog): """GTK+ file selector which remembers the last file/directory selected and presents the user with a menu of supported image formats """ - def __init__ (self, - title = 'Save file', - parent = None, - action = Gtk.FileChooserAction.SAVE, - buttons = (Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, - Gtk.STOCK_SAVE, Gtk.ResponseType.OK), - path = None, - filetypes = [], - default_filetype = None - ): + def __init__(self, + title = 'Save file', + parent = None, + action = Gtk.FileChooserAction.SAVE, + buttons = (Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, + Gtk.STOCK_SAVE, Gtk.ResponseType.OK), + path = None, + filetypes = [], + default_filetype = None + ): super().__init__(title, parent, action, buttons) - self.set_default_response (Gtk.ResponseType.OK) + self.set_default_response(Gtk.ResponseType.OK) - if not path: path = os.getcwd() + os.sep + if not path: + path = os.getcwd() # create an extra widget to list supported image formats - self.set_current_folder (path) - self.set_current_name ('image.' + default_filetype) + self.set_current_folder(path) + self.set_current_name('image.' + default_filetype) hbox = Gtk.Box(spacing=10) hbox.pack_start(Gtk.Label(label="File Format:"), False, False, 0) liststore = Gtk.ListStore(GObject.TYPE_STRING) - cbox = Gtk.ComboBox() #liststore) + cbox = Gtk.ComboBox() cbox.set_model(liststore) cell = Gtk.CellRendererText() cbox.pack_start(cell, True) @@ -625,21 +609,21 @@ def __init__ (self, hbox.pack_start(cbox, False, False, 0) self.filetypes = filetypes - self.sorted_filetypes = sorted(six.iteritems(filetypes)) + sorted_filetypes = sorted(filetypes.items()) default = 0 - for i, (ext, name) in enumerate(self.sorted_filetypes): + for i, (ext, name) in enumerate(sorted_filetypes): liststore.append(["%s (*.%s)" % (name, ext)]) if ext == default_filetype: default = i cbox.set_active(default) self.ext = default_filetype - def cb_cbox_changed (cbox, data=None): + def cb_cbox_changed(cbox, data=None): """File extension changed""" head, filename = os.path.split(self.get_filename()) root, ext = os.path.splitext(filename) ext = ext[1:] - new_ext = self.sorted_filetypes[cbox.get_active()][0] + new_ext = sorted_filetypes[cbox.get_active()][0] self.ext = new_ext if ext in self.filetypes: @@ -647,13 +631,17 @@ def cb_cbox_changed (cbox, data=None): elif ext == '': filename = filename.rstrip('.') + '.' + new_ext - self.set_current_name (filename) - cbox.connect ("changed", cb_cbox_changed) + self.set_current_name(filename) + cbox.connect("changed", cb_cbox_changed) hbox.show_all() self.set_extra_widget(hbox) - def get_filename_from_user (self): + @cbook.deprecated("3.0", alternative="sorted(self.filetypes.items())") + def sorted_filetypes(self): + return sorted(self.filetypes.items()) + + def get_filename_from_user(self): if self.run() == int(Gtk.ResponseType.OK): return self.get_filename(), self.ext else: @@ -690,6 +678,7 @@ def draw_rubberband(self, x0, y0, x1, y1): class ToolbarGTK3(ToolContainerBase, Gtk.Box): _icon_extension = '.png' + def __init__(self, toolmanager): ToolContainerBase.__init__(self, toolmanager) Gtk.Box.__init__(self) @@ -799,8 +788,7 @@ def trigger(self, *args, **kwargs): rcParams['savefig.directory'] = startpath else: # save dir for next time - rcParams['savefig.directory'] = os.path.dirname( - six.text_type(fname)) + rcParams['savefig.directory'] = os.path.dirname(fname) try: self.figure.canvas.print_figure(fname, format=format_) except Exception as e: @@ -824,10 +812,7 @@ def init_window(self): try: self.window.window.set_icon_from_file(window_icon) - except (SystemExit, KeyboardInterrupt): - # re-raise exit type Exceptions - raise - except: + except Exception: # we presumably already logged a message on the # failure of the main plot, don't keep reporting pass @@ -880,7 +865,7 @@ def error_msg_gtk(msg, parent=None): if not parent.is_toplevel(): parent = None - if not isinstance(msg, six.string_types): + if not isinstance(msg, str): msg = ','.join(map(str, msg)) dialog = Gtk.MessageDialog( From e767003d9662865cb1aa2a4efed1f84f709f2032 Mon Sep 17 00:00:00 2001 From: stonebig Date: Tue, 27 Feb 2018 23:03:15 +0100 Subject: [PATCH 0205/1161] make seaborn great again on Matplotlib-2.2 fix for https://github.com/matplotlib/matplotlib/issues/10585 --- lib/matplotlib/axes/_subplots.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/axes/_subplots.py b/lib/matplotlib/axes/_subplots.py index fd3754e7ea53..593e5b7677fa 100644 --- a/lib/matplotlib/axes/_subplots.py +++ b/lib/matplotlib/axes/_subplots.py @@ -172,8 +172,8 @@ def _make_twin_axes(self, *kl, **kwargs): Make a twinx axes of self. This is used for twinx and twiny. """ from matplotlib.projections import process_projection_requirements - if 'sharex' in kwargs and 'sharey' in kwargs: - raise ValueError("Twinned Axes may share only one axis.") + if kwargs["sharex"] is not self and kwargs["sharey"] is not self: + raise ValueError("Twinned Axes may share only one axis.") kl = (self.get_subplotspec(),) + kl projection_class, kwargs, key = process_projection_requirements( self.figure, *kl, **kwargs) From 2c37e60f69c3006168b13f417d971acae950a0f5 Mon Sep 17 00:00:00 2001 From: stonebig Date: Tue, 27 Feb 2018 23:04:17 +0100 Subject: [PATCH 0206/1161] pep8 --- lib/matplotlib/axes/_subplots.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/axes/_subplots.py b/lib/matplotlib/axes/_subplots.py index 593e5b7677fa..f09b184922b9 100644 --- a/lib/matplotlib/axes/_subplots.py +++ b/lib/matplotlib/axes/_subplots.py @@ -173,7 +173,7 @@ def _make_twin_axes(self, *kl, **kwargs): """ from matplotlib.projections import process_projection_requirements if kwargs["sharex"] is not self and kwargs["sharey"] is not self: - raise ValueError("Twinned Axes may share only one axis.") + raise ValueError("Twinned Axes may share only one axis.") kl = (self.get_subplotspec(),) + kl projection_class, kwargs, key = process_projection_requirements( self.figure, *kl, **kwargs) From a736720d58cf55b283c550880a7b981137d9b17b Mon Sep 17 00:00:00 2001 From: stonebig Date: Tue, 27 Feb 2018 23:39:49 +0100 Subject: [PATCH 0207/1161] test like before, but allowing seaborn exception --- lib/matplotlib/axes/_subplots.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/axes/_subplots.py b/lib/matplotlib/axes/_subplots.py index f09b184922b9..0c25c0531630 100644 --- a/lib/matplotlib/axes/_subplots.py +++ b/lib/matplotlib/axes/_subplots.py @@ -172,8 +172,9 @@ def _make_twin_axes(self, *kl, **kwargs): Make a twinx axes of self. This is used for twinx and twiny. """ from matplotlib.projections import process_projection_requirements - if kwargs["sharex"] is not self and kwargs["sharey"] is not self: - raise ValueError("Twinned Axes may share only one axis.") + if 'sharex' in kwargs and 'sharey' in kwargs: + if kwargs["sharex"] is not self and kwargs["sharey"] is not self: + raise ValueError("Twinned Axes may share only one axis.") kl = (self.get_subplotspec(),) + kl projection_class, kwargs, key = process_projection_requirements( self.figure, *kl, **kwargs) From 290219e3545739edb6c774c8fcd2aacce0823b6a Mon Sep 17 00:00:00 2001 From: TD22057 Date: Tue, 27 Feb 2018 16:02:40 -0800 Subject: [PATCH 0208/1161] Fixed tick locations w/ units --- lib/matplotlib/axes/_axes.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index b7c5d1c1d528..7a1b1b9ca862 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -2194,16 +2194,10 @@ def bar(self, *args, **kwargs): self._process_unit_info(xdata=x, ydata=height, kwargs=kwargs) if log: self.set_yscale('log', nonposy='clip') - - tick_label_axis = self.xaxis - tick_label_position = x elif orientation == 'horizontal': self._process_unit_info(xdata=width, ydata=y, kwargs=kwargs) if log: self.set_xscale('log', nonposx='clip') - - tick_label_axis = self.yaxis - tick_label_position = y else: raise ValueError('invalid orientation: %s' % orientation) @@ -2225,6 +2219,14 @@ def bar(self, *args, **kwargs): # Make args iterable too. np.atleast_1d(x), height, width, y, linewidth) + # Now that units have been converted, set the tick locations. + if orientation == 'vertical': + tick_label_axis = self.xaxis + tick_label_position = x + elif orientation == 'horizontal': + tick_label_axis = self.yaxis + tick_label_position = y + linewidth = itertools.cycle(np.atleast_1d(linewidth)) color = itertools.chain(itertools.cycle(mcolors.to_rgba_array(color)), # Fallback if color == "none". From 0a63038a3f2c3ccfc5d57b18ced6302bea236d1f Mon Sep 17 00:00:00 2001 From: TD22057 Date: Tue, 27 Feb 2018 16:22:08 -0800 Subject: [PATCH 0209/1161] Removed trailing whitespace --- lib/matplotlib/axes/_axes.py | 2 +- lib/matplotlib/tests/test_units.py | 13 ++++--------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 7a1b1b9ca862..612b6f77a999 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -2226,7 +2226,7 @@ def bar(self, *args, **kwargs): elif orientation == 'horizontal': tick_label_axis = self.yaxis tick_label_position = y - + linewidth = itertools.cycle(np.atleast_1d(linewidth)) color = itertools.chain(itertools.cycle(mcolors.to_rgba_array(color)), # Fallback if color == "none". diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py index aec471b03458..65c8da7ea7d4 100644 --- a/lib/matplotlib/tests/test_units.py +++ b/lib/matplotlib/tests/test_units.py @@ -97,14 +97,14 @@ def test_plot_masked_units(): fig, ax = plt.subplots() ax.plot(data_masked_units) - + @image_comparison(baseline_images=['jpl_bar_units'], extensions=['png'], savefig_kwarg={'dpi': 120}, style='mpl20') def test_jpl_bar_units(): from datetime import datetime import matplotlib.testing.jpl_units as units units.register() - + day = units.Duration("ET", 24.0 * 60.0 * 60.0) x = [0*units.km, 1*units.km, 2*units.km] w = [1*day, 2*day, 3*day] @@ -114,14 +114,14 @@ def test_jpl_bar_units(): ax.bar(x, w, bottom=b) ax.set_ylim([b-1*day, b+w[-1]+1*day]) - + @image_comparison(baseline_images=['jpl_barh_units'], extensions=['png'], savefig_kwarg={'dpi': 120}, style='mpl20') def test_jpl_barh_units(): from datetime import datetime import matplotlib.testing.jpl_units as units units.register() - + day = units.Duration("ET", 24.0 * 60.0 * 60.0) x = [0*units.km, 1*units.km, 2*units.km] w = [1*day, 2*day, 3*day] @@ -130,8 +130,3 @@ def test_jpl_barh_units(): fig, ax = plt.subplots() ax.barh(x, w, left=b) ax.set_xlim([b-1*day, b+w[-1]+1*day]) - - - - - From 8185d62d1fe3db7f141451187fd25f608ddae633 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Tue, 27 Feb 2018 16:57:12 -0800 Subject: [PATCH 0210/1161] Some trivial py3fications. --- lib/matplotlib/backends/_gtk3_compat.py | 5 ----- lib/matplotlib/backends/backend_gtk3agg.py | 7 +------ lib/matplotlib/backends/backend_gtk3cairo.py | 5 ----- lib/matplotlib/backends/backend_qt4.py | 5 ----- lib/matplotlib/backends/backend_qt4agg.py | 4 ---- lib/matplotlib/backends/backend_qt5agg.py | 6 +----- lib/matplotlib/backends/backend_qt5cairo.py | 6 ++---- lib/matplotlib/backends/backend_tkagg.py | 2 -- lib/matplotlib/backends/backend_tkcairo.py | 2 -- lib/matplotlib/backends/backend_wxcairo.py | 5 ----- lib/matplotlib/pylab.py | 8 +------- 11 files changed, 5 insertions(+), 50 deletions(-) diff --git a/lib/matplotlib/backends/_gtk3_compat.py b/lib/matplotlib/backends/_gtk3_compat.py index 825fa2341c80..e134ccdf078c 100644 --- a/lib/matplotlib/backends/_gtk3_compat.py +++ b/lib/matplotlib/backends/_gtk3_compat.py @@ -11,11 +11,6 @@ Thus, to force usage of PGI when both bindings are installed, import it first. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - import importlib import sys diff --git a/lib/matplotlib/backends/backend_gtk3agg.py b/lib/matplotlib/backends/backend_gtk3agg.py index 53c625b8a50f..77d7f49367f7 100644 --- a/lib/matplotlib/backends/backend_gtk3agg.py +++ b/lib/matplotlib/backends/backend_gtk3agg.py @@ -1,8 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - import numpy as np import warnings @@ -11,7 +6,7 @@ from .backend_gtk3 import _BackendGTK3 from matplotlib import transforms -if six.PY3 and not HAS_CAIRO_CFFI: +if not HAS_CAIRO_CFFI: warnings.warn( "The Gtk3Agg backend is known to not work on Python 3.x with pycairo. " "Try installing cairocffi.") diff --git a/lib/matplotlib/backends/backend_gtk3cairo.py b/lib/matplotlib/backends/backend_gtk3cairo.py index 2591b112d2c9..365ff6f37524 100644 --- a/lib/matplotlib/backends/backend_gtk3cairo.py +++ b/lib/matplotlib/backends/backend_gtk3cairo.py @@ -1,8 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - from . import backend_cairo, backend_gtk3 from .backend_cairo import cairo, HAS_CAIRO_CFFI from .backend_gtk3 import _BackendGTK3 diff --git a/lib/matplotlib/backends/backend_qt4.py b/lib/matplotlib/backends/backend_qt4.py index 92463a6573a9..15bbb1f76e91 100644 --- a/lib/matplotlib/backends/backend_qt4.py +++ b/lib/matplotlib/backends/backend_qt4.py @@ -1,8 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - from .backend_qt5 import ( backend_version, SPECIAL_KEYS, SUPER, ALT, CTRL, SHIFT, MODIFIER_KEYS, cursord, _create_qApp, _BackendQT5, TimerQT, MainWindow, FigureManagerQT, diff --git a/lib/matplotlib/backends/backend_qt4agg.py b/lib/matplotlib/backends/backend_qt4agg.py index 7e90a09bf35e..65785bbd32bb 100644 --- a/lib/matplotlib/backends/backend_qt4agg.py +++ b/lib/matplotlib/backends/backend_qt4agg.py @@ -1,10 +1,6 @@ """ Render to qt from agg """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six from .backend_qt5agg import ( _BackendQT5Agg, FigureCanvasQTAgg, FigureManagerQT, NavigationToolbar2QT) diff --git a/lib/matplotlib/backends/backend_qt5agg.py b/lib/matplotlib/backends/backend_qt5agg.py index 05ede5fa7799..4783143d83d6 100644 --- a/lib/matplotlib/backends/backend_qt5agg.py +++ b/lib/matplotlib/backends/backend_qt5agg.py @@ -1,10 +1,6 @@ """ Render to qt from agg """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six import ctypes @@ -63,7 +59,7 @@ def paintEvent(self, e): qimage = QtGui.QImage(buf, w, h, QtGui.QImage.Format_ARGB32) # Adjust the buf reference count to work around a memory leak bug # in QImage under PySide on Python 3. - if QT_API == 'PySide' and six.PY3: + if QT_API == 'PySide': ctypes.c_long.from_address(id(buf)).value = 1 if hasattr(qimage, 'setDevicePixelRatio'): # Not available on Qt4 or some older Qt5. diff --git a/lib/matplotlib/backends/backend_qt5cairo.py b/lib/matplotlib/backends/backend_qt5cairo.py index c6a5a7a79b0b..2544fb203e55 100644 --- a/lib/matplotlib/backends/backend_qt5cairo.py +++ b/lib/matplotlib/backends/backend_qt5cairo.py @@ -1,5 +1,4 @@ - -import six +import ctypes from .backend_cairo import cairo, FigureCanvasCairo, RendererCairo from .backend_qt5 import QtCore, QtGui, _BackendQT5, FigureCanvasQT @@ -32,8 +31,7 @@ def paintEvent(self, event): QtGui.QImage.Format_ARGB32_Premultiplied) # Adjust the buf reference count to work around a memory leak bug in # QImage under PySide on Python 3. - if QT_API == 'PySide' and six.PY3: - import ctypes + if QT_API == 'PySide': ctypes.c_long.from_address(id(buf)).value = 1 if hasattr(qimage, 'setDevicePixelRatio'): # Not available on Qt4 or some older Qt5. diff --git a/lib/matplotlib/backends/backend_tkagg.py b/lib/matplotlib/backends/backend_tkagg.py index 9511326e4a5a..68444504bf9a 100644 --- a/lib/matplotlib/backends/backend_tkagg.py +++ b/lib/matplotlib/backends/backend_tkagg.py @@ -1,5 +1,3 @@ -from __future__ import absolute_import, division, print_function - from .. import cbook from . import tkagg # Paint image to Tk photo blitter extension. from .backend_agg import FigureCanvasAgg diff --git a/lib/matplotlib/backends/backend_tkcairo.py b/lib/matplotlib/backends/backend_tkcairo.py index c4edfb97ed1a..ef3c79c93664 100644 --- a/lib/matplotlib/backends/backend_tkcairo.py +++ b/lib/matplotlib/backends/backend_tkcairo.py @@ -1,5 +1,3 @@ -from __future__ import absolute_import, division, print_function - import sys import numpy as np diff --git a/lib/matplotlib/backends/backend_wxcairo.py b/lib/matplotlib/backends/backend_wxcairo.py index fb3290f2bbc4..3da68c525e22 100644 --- a/lib/matplotlib/backends/backend_wxcairo.py +++ b/lib/matplotlib/backends/backend_wxcairo.py @@ -1,8 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - import wx from .backend_cairo import cairo, FigureCanvasCairo, RendererCairo diff --git a/lib/matplotlib/pylab.py b/lib/matplotlib/pylab.py index e9e7fa8a15f3..abfa09c674f4 100644 --- a/lib/matplotlib/pylab.py +++ b/lib/matplotlib/pylab.py @@ -212,12 +212,6 @@ """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - -import warnings from matplotlib.cbook import ( flatten, exception_to_str, silent_list, iterable, dedent) @@ -265,4 +259,4 @@ # This is needed, or bytes will be numpy.random.bytes from # "from numpy.random import *" above -bytes = six.moves.builtins.bytes +bytes = __import__("builtins").bytes From 1279b841d52da5d93124b53f41274aced086f09c Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Mon, 26 Feb 2018 00:48:05 -0800 Subject: [PATCH 0211/1161] Remove most APIs deprecated in 2.1. Only exception is axes_grid, whose removal should be accompanied by an update to the docs. --- doc/api/axes_api.rst | 2 - .../2018-02-26-AL-removals.rst | 33 ++ lib/matplotlib/__init__.py | 34 -- lib/matplotlib/axes/_base.py | 40 -- lib/matplotlib/backend_bases.py | 38 -- lib/matplotlib/backends/backend_qt5agg.py | 5 - lib/matplotlib/backends/backend_wx.py | 29 - lib/matplotlib/cbook/__init__.py | 548 ------------------ lib/matplotlib/figure.py | 5 - lib/matplotlib/font_manager.py | 35 -- lib/matplotlib/image.py | 17 - lib/matplotlib/projections/polar.py | 11 +- lib/matplotlib/pylab.py | 3 +- lib/matplotlib/pyplot.py | 50 -- lib/matplotlib/rcsetup.py | 20 - .../sphinxext/tests/test_tinypages.py | 9 - lib/matplotlib/testing/compare.py | 33 -- lib/matplotlib/testing/decorators.py | 12 - lib/matplotlib/tests/__init__.py | 19 - lib/matplotlib/tests/test_axes.py | 9 - lib/matplotlib/tests/test_cbook.py | 18 - lib/matplotlib/tests/test_compare_images.py | 19 - lib/matplotlib/tests/test_image.py | 8 - lib/matplotlib/texmanager.py | 2 - 24 files changed, 35 insertions(+), 964 deletions(-) create mode 100644 doc/api/next_api_changes/2018-02-26-AL-removals.rst diff --git a/doc/api/axes_api.rst b/doc/api/axes_api.rst index 0e321bf7d6a0..c7a363b08a1e 100644 --- a/doc/api/axes_api.rst +++ b/doc/api/axes_api.rst @@ -509,8 +509,6 @@ Interactive Axes.contains_point Axes.get_cursor_data - Axes.get_cursor_props - Axes.set_cursor_props Children ======== diff --git a/doc/api/next_api_changes/2018-02-26-AL-removals.rst b/doc/api/next_api_changes/2018-02-26-AL-removals.rst new file mode 100644 index 000000000000..5985f5d0c250 --- /dev/null +++ b/doc/api/next_api_changes/2018-02-26-AL-removals.rst @@ -0,0 +1,33 @@ +Removal of deprecated APIs +`````````````````````````` +The following deprecated API elements have been removed: + +- ``matplotlib.checkdep_tex``, ``matplotlib.checkdep_xmllint``, +- ``backend_bases.IdleEvent``, +- ``cbook.converter``, ``cbook.tostr``, ``cbook.todatetime``, ``cbook.todate``, + ``cbook.tofloat``, ``cbook.toint``, ``cbook.unique``, + ``cbook.is_string_like``, ``cbook.is_sequence_of_strings``, + ``cbook.is_scalar``, ``cbook.soundex``, ``cbook.dict_delall``, + ``cbook.get_split_ind``, ``cbook.wrap``, ``cbook.get_recursive_filelist``, + ``cbook.pieces``, ``cbook.exception_to_str``, ``cbook.allequal``, + ``cbook.alltrue``, ``cbook.onetrue``, ``cbook.allpairs``, ``cbook.finddir``, + ``cbook.reverse_dict``, ``cbook.restrict_dict``, ``cbook.issubclass_safe``, + ``cbook.recursive_remove``, ``cbook.unmasked_index_ranges``, + ``cbook.Null``, ``cbook.RingBuffer``, ``cbook.Sorter``, ``cbook.Xlator``, +- ``font_manager.weight_as_number``, ``font_manager.ttfdict_to_fnames``, +- ``pyplot.colors``, +- ``rcsetup.validate_negative_linestyle``, + ``rcsetup.validate_negative_linestyle_legacy``, +- ``testing.compare.verifiers``, ``testing.compare.verify``, +- ``testing.decorators.knownfailureif``, + ``testing.decorators.ImageComparisonTest.remove_text``, +- ``tests.assert_str_equal``, ``tests.test_tinypages.file_same``, +- ``texmanager.dvipng_hack_alpha``, +- ``_AxesBase.axesPatch``, ``_AxesBase.get_cursor_props``, + ``_AxesBase.set_cursor_props``, +- ``_ImageBase.iterpnames``, +- ``Figure.figurePatch``, +- ``FigureCanvasBase.dynamic_update``, ``FigureCanvasBase.idle_event``, + ``FigureCanvasBase.get_linestyle``, ``FigureCanvasBase.set_linestyle``, +- ``FigureCanvasQTAgg.blitbox``, +- passing ``frac`` to ``PolarAxes.set_theta_grids``, diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 16cce6f04584..1f79d9b2b448 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -458,23 +458,6 @@ def checkdep_ghostscript(): checkdep_ghostscript.version = None -# Deprecated, as it is unneeded and some distributions (e.g. MiKTeX 2.9.6350) -# do not actually report the TeX version. -@cbook.deprecated("2.1") -def checkdep_tex(): - try: - s = subprocess.Popen([str('tex'), '-version'], stdout=subprocess.PIPE, - stderr=subprocess.PIPE) - stdout, stderr = s.communicate() - line = stdout.decode('ascii').split('\n')[0] - pattern = r'3\.1\d+' - match = re.search(pattern, line) - v = match.group(0) - return v - except (IndexError, ValueError, AttributeError, OSError): - return None - - def checkdep_pdftops(): try: s = subprocess.Popen([str('pdftops'), '-v'], stdout=subprocess.PIPE, @@ -508,23 +491,6 @@ def checkdep_inkscape(): checkdep_inkscape.version = None -@cbook.deprecated("2.1") -def checkdep_xmllint(): - try: - s = subprocess.Popen([str('xmllint'), '--version'], - stdout=subprocess.PIPE, - stderr=subprocess.PIPE) - stdout, stderr = s.communicate() - lines = stderr.decode('ascii').split('\n') - for line in lines: - if 'version' in line: - v = line.split()[-1] - break - return v - except (IndexError, ValueError, UnboundLocalError, OSError): - return None - - def checkdep_ps_distiller(s): if not s: return False diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index c0f034c30415..1bdc4f94165c 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -40,9 +40,6 @@ rcParams = matplotlib.rcParams -is_string_like = cbook.is_string_like -is_sequence_of_strings = cbook.is_sequence_of_strings - _hold_msg = """axes.hold is deprecated. See the API Changes document (http://matplotlib.org/api/api_changes.html) for more details.""" @@ -1135,11 +1132,6 @@ def cla(self): self.stale = True - @property - @cbook.deprecated("2.1", alternative="Axes.patch") - def axesPatch(self): - return self.patch - def clear(self): """Clear the axes.""" self.cla() @@ -4047,38 +4039,6 @@ def format_deltas(key, dx, dy): self.set_xlim(points[:, 0]) self.set_ylim(points[:, 1]) - @cbook.deprecated("2.1") - def get_cursor_props(self): - """ - Return the cursor propertiess as a (*linewidth*, *color*) - tuple, where *linewidth* is a float and *color* is an RGBA - tuple - """ - return self._cursorProps - - @cbook.deprecated("2.1") - def set_cursor_props(self, *args): - """Set the cursor property as - - Call signature :: - - ax.set_cursor_props(linewidth, color) - - or:: - - ax.set_cursor_props((linewidth, color)) - - ACCEPTS: a (*float*, *color*) tuple - """ - if len(args) == 1: - lw, c = args[0] - elif len(args) == 2: - lw, c = args - else: - raise ValueError('args must be a (linewidth, color) tuple') - c = mcolors.to_rgba(c) - self._cursorProps = lw, c - def get_children(self): """return a list of child artists""" children = [] diff --git a/lib/matplotlib/backend_bases.py b/lib/matplotlib/backend_bases.py index 2fe2ad59ac42..59b9246698fc 100644 --- a/lib/matplotlib/backend_bases.py +++ b/lib/matplotlib/backend_bases.py @@ -954,14 +954,6 @@ def get_joinstyle(self): """ return self._joinstyle - @cbook.deprecated("2.1") - def get_linestyle(self): - """ - Return the linestyle: one of ('solid', 'dashed', 'dashdot', - 'dotted'). - """ - return self._linestyle - def get_linewidth(self): """ Return the line width in points as a scalar @@ -1105,17 +1097,6 @@ def set_linewidth(self, w): """ self._linewidth = float(w) - @cbook.deprecated("2.1") - def set_linestyle(self, style): - """ - Set the linestyle to be one of ('solid', 'dashed', 'dashdot', - 'dotted'). These are defined in the rcParams - `lines.dashed_pattern`, `lines.dashdot_pattern` and - `lines.dotted_pattern`. One may also specify customized dash - styles by providing a tuple of (offset, dash pairs). - """ - self._linestyle = style - def set_url(self, url): """ Sets the url for links in compatible backends @@ -1406,14 +1387,6 @@ def __init__(self, name, canvas, guiEvent=None): self.guiEvent = guiEvent -@cbook.deprecated("2.1") -class IdleEvent(Event): - """ - An event triggered by the GUI backend when it is idle -- useful - for passive animation - """ - - class DrawEvent(Event): """ An event triggered by a draw operation on the canvas @@ -2014,13 +1987,6 @@ def enter_notify_event(self, guiEvent=None, xy=None): event = Event('figure_enter_event', self, guiEvent) self.callbacks.process('figure_enter_event', event) - @cbook.deprecated("2.1") - def idle_event(self, guiEvent=None): - """Called when GUI is idle.""" - s = 'idle_event' - event = IdleEvent(s, self, guiEvent=guiEvent) - self.callbacks.process(s, event) - def grab_mouse(self, ax): """ Set the child axes which are currently grabbing the mouse events. @@ -2814,10 +2780,6 @@ def back(self, *args): self.set_history_buttons() self._update_view() - @cbook.deprecated("2.1", alternative="canvas.draw_idle") - def dynamic_update(self): - self.canvas.draw_idle() - def draw_rubberband(self, event, x0, y0, x1, y1): """Draw a rectangle rubberband to indicate zoom limits. diff --git a/lib/matplotlib/backends/backend_qt5agg.py b/lib/matplotlib/backends/backend_qt5agg.py index 05ede5fa7799..aa15a3a27944 100644 --- a/lib/matplotlib/backends/backend_qt5agg.py +++ b/lib/matplotlib/backends/backend_qt5agg.py @@ -24,11 +24,6 @@ def __init__(self, figure): super().__init__(figure=figure) self._bbox_queue = [] - @property - @cbook.deprecated("2.1") - def blitbox(self): - return self._bbox_queue - def paintEvent(self, e): """Copy the image from the Agg canvas to the qt.drawable. diff --git a/lib/matplotlib/backends/backend_wx.py b/lib/matplotlib/backends/backend_wx.py index 81b0729b65d8..caaeb0ee6a97 100644 --- a/lib/matplotlib/backends/backend_wx.py +++ b/lib/matplotlib/backends/backend_wx.py @@ -501,27 +501,6 @@ def set_joinstyle(self, js): self.gfx_ctx.SetPen(self._pen) self.unselect() - @cbook.deprecated("2.1") - def set_linestyle(self, ls): - """ - Set the line style to be one of - """ - DEBUG_MSG("set_linestyle()", 1, self) - self.select() - GraphicsContextBase.set_linestyle(self, ls) - try: - self._style = wxc.dashd_wx[ls] - except KeyError: - self._style = wx.LONG_DASH # Style not used elsewhere... - - # On MS Windows platform, only line width of 1 allowed for dash lines - if wx.Platform == '__WXMSW__': - self.set_linewidth(1) - - self._pen.SetStyle(self._style) - self.gfx_ctx.SetPen(self._pen) - self.unselect() - def get_wxcolour(self, color): """return a wx.Colour from RGB format""" DEBUG_MSG("get_wx_color()", 1, self) @@ -1591,14 +1570,6 @@ def set_cursor(self, cursor): self.canvas.SetCursor(cursor) self.canvas.Update() - @cbook.deprecated("2.1", alternative="canvas.draw_idle") - def dynamic_update(self): - d = self._idle - self._idle = False - if d: - self.canvas.draw() - self._idle = True - def press(self, event): if self._active == 'ZOOM': if not self.retinaFix: diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index d4d6ce6b2bc4..8241dbb8ab30 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -64,87 +64,6 @@ def unicode_safe(s): return s -@deprecated('2.1') -class converter(object): - """ - Base class for handling string -> python type with support for - missing values - """ - def __init__(self, missing='Null', missingval=None): - self.missing = missing - self.missingval = missingval - - def __call__(self, s): - if s == self.missing: - return self.missingval - return s - - def is_missing(self, s): - return not s.strip() or s == self.missing - - -@deprecated('2.1') -class tostr(converter): - """convert to string or None""" - def __init__(self, missing='Null', missingval=''): - converter.__init__(self, missing=missing, missingval=missingval) - - -@deprecated('2.1') -class todatetime(converter): - """convert to a datetime or None""" - def __init__(self, fmt='%Y-%m-%d', missing='Null', missingval=None): - 'use a :func:`time.strptime` format string for conversion' - converter.__init__(self, missing, missingval) - self.fmt = fmt - - def __call__(self, s): - if self.is_missing(s): - return self.missingval - tup = time.strptime(s, self.fmt) - return datetime.datetime(*tup[:6]) - - -@deprecated('2.1') -class todate(converter): - """convert to a date or None""" - def __init__(self, fmt='%Y-%m-%d', missing='Null', missingval=None): - """use a :func:`time.strptime` format string for conversion""" - converter.__init__(self, missing, missingval) - self.fmt = fmt - - def __call__(self, s): - if self.is_missing(s): - return self.missingval - tup = time.strptime(s, self.fmt) - return datetime.date(*tup[:3]) - - -@deprecated('2.1') -class tofloat(converter): - """convert to a float or None""" - def __init__(self, missing='Null', missingval=None): - converter.__init__(self, missing) - self.missingval = missingval - - def __call__(self, s): - if self.is_missing(s): - return self.missingval - return float(s) - - -@deprecated('2.1') -class toint(converter): - """convert to an int or None""" - def __init__(self, missing='Null', missingval=None): - converter.__init__(self, missing) - - def __call__(self, s): - if self.is_missing(s): - return self.missingval - return int(s) - - class _BoundMethodProxy(object): """ Our own proxy object which enables weak references to bound and unbound @@ -502,12 +421,6 @@ class is even handier, and prettier to use. Whenever you want to pass -@deprecated('2.1') -def unique(x): - """Return a list of unique elements of *x*""" - return list(set(x)) - - def iterable(obj): """return true if *obj* is iterable""" try: @@ -517,30 +430,6 @@ def iterable(obj): return True -@deprecated('2.1') -def is_string_like(obj): - """Return True if *obj* looks like a string""" - # (np.str_ == np.unicode_ on Py3). - return isinstance(obj, (six.string_types, np.str_, np.unicode_)) - - -@deprecated('2.1') -def is_sequence_of_strings(obj): - """Returns true if *obj* is iterable and contains strings""" - if not iterable(obj): - return False - if is_string_like(obj) and not isinstance(obj, np.ndarray): - try: - obj = obj.values - except AttributeError: - # not pandas - return False - for o in obj: - if not is_string_like(o): - return False - return True - - def is_hashable(obj): """Returns true if *obj* can be hashed""" try: @@ -568,12 +457,6 @@ def file_requires_unicode(x): return False -@deprecated('2.1') -def is_scalar(obj): - """return true if *obj* is not string like and is not iterable""" - return not isinstance(obj, six.string_types) and not iterable(obj) - - @deprecated('3.0', 'isinstance(..., numbers.Number)') def is_numlike(obj): """return true if *obj* looks like a number""" @@ -700,149 +583,6 @@ def flatten(seq, scalarp=is_scalar_or_string): yield from flatten(item, scalarp) -@deprecated('2.1', "sorted(..., key=itemgetter(...))") -class Sorter(object): - """ - Sort by attribute or item - - Example usage:: - - sort = Sorter() - - list = [(1, 2), (4, 8), (0, 3)] - dict = [{'a': 3, 'b': 4}, {'a': 5, 'b': 2}, {'a': 0, 'b': 0}, - {'a': 9, 'b': 9}] - - - sort(list) # default sort - sort(list, 1) # sort by index 1 - sort(dict, 'a') # sort a list of dicts by key 'a' - - """ - - def _helper(self, data, aux, inplace): - aux.sort() - result = [data[i] for junk, i in aux] - if inplace: - data[:] = result - return result - - def byItem(self, data, itemindex=None, inplace=1): - if itemindex is None: - if inplace: - data.sort() - result = data - else: - result = sorted(data) - return result - else: - aux = [(data[i][itemindex], i) for i in range(len(data))] - return self._helper(data, aux, inplace) - - def byAttribute(self, data, attributename, inplace=1): - aux = [(getattr(data[i], attributename), i) for i in range(len(data))] - return self._helper(data, aux, inplace) - - # a couple of handy synonyms - sort = byItem - __call__ = byItem - - -@deprecated('2.1') -class Xlator(dict): - """ - All-in-one multiple-string-substitution class - - Example usage:: - - text = "Larry Wall is the creator of Perl" - adict = { - "Larry Wall" : "Guido van Rossum", - "creator" : "Benevolent Dictator for Life", - "Perl" : "Python", - } - - print(multiple_replace(adict, text)) - - xlat = Xlator(adict) - print(xlat.xlat(text)) - """ - - def _make_regex(self): - """ Build re object based on the keys of the current dictionary """ - return re.compile("|".join(map(re.escape, self))) - - def __call__(self, match): - """ Handler invoked for each regex *match* """ - return self[match.group(0)] - - def xlat(self, text): - """ Translate *text*, returns the modified text. """ - return self._make_regex().sub(self, text) - - -@deprecated('2.1') -def soundex(name, len=4): - """ soundex module conforming to Odell-Russell algorithm """ - - # digits holds the soundex values for the alphabet - soundex_digits = '01230120022455012623010202' - sndx = '' - fc = '' - - # Translate letters in name to soundex digits - for c in name.upper(): - if c.isalpha(): - if not fc: - fc = c # Remember first letter - d = soundex_digits[ord(c) - ord('A')] - # Duplicate consecutive soundex digits are skipped - if not sndx or (d != sndx[-1]): - sndx += d - - # Replace first digit with first letter - sndx = fc + sndx[1:] - - # Remove all 0s from the soundex code - sndx = sndx.replace('0', '') - - # Return soundex code truncated or 0-padded to len characters - return (sndx + (len * '0'))[:len] - - -@deprecated('2.1') -class Null(object): - """ Null objects always and reliably "do nothing." """ - - def __init__(self, *args, **kwargs): - pass - - def __call__(self, *args, **kwargs): - return self - - def __str__(self): - return "Null()" - - def __repr__(self): - return "Null()" - - if six.PY3: - def __bool__(self): - return 0 - else: - def __nonzero__(self): - return 0 - - def __getattr__(self, name): - return self - - def __setattr__(self, name, value): - return self - - def __delattr__(self, name): - return self - - @deprecated("3.0") def mkdirs(newdir, mode=0o777): """ @@ -890,91 +630,6 @@ def get_realpath_and_stat(path): return realpath, stat_key -@deprecated('2.1') -def dict_delall(d, keys): - """delete all of the *keys* from the :class:`dict` *d*""" - for key in keys: - try: - del d[key] - except KeyError: - pass - - -@deprecated('2.1') -class RingBuffer(object): - """ class that implements a not-yet-full buffer """ - def __init__(self, size_max): - self.max = size_max - self.data = [] - - class __Full: - """ class that implements a full buffer """ - def append(self, x): - """ Append an element overwriting the oldest one. """ - self.data[self.cur] = x - self.cur = (self.cur + 1) % self.max - - def get(self): - """ return list of elements in correct order """ - return self.data[self.cur:] + self.data[:self.cur] - - def append(self, x): - """append an element at the end of the buffer""" - self.data.append(x) - if len(self.data) == self.max: - self.cur = 0 - # Permanently change self's class from non-full to full - self.__class__ = __Full - - def get(self): - """ Return a list of elements from the oldest to the newest. """ - return self.data - - def __get_item__(self, i): - return self.data[i % len(self.data)] - - -@deprecated('2.1') -def get_split_ind(seq, N): - """ - *seq* is a list of words. Return the index into seq such that:: - - len(' '.join(seq[:ind])<=N - - . - """ - - s_len = 0 - # todo: use Alex's xrange pattern from the cbook for efficiency - for (word, ind) in zip(seq, xrange(len(seq))): - s_len += len(word) + 1 # +1 to account for the len(' ') - if s_len >= N: - return ind - return len(seq) - - -@deprecated('2.1', alternative='textwrap.TextWrapper') -def wrap(prefix, text, cols): - """wrap *text* with *prefix* at length *cols*""" - pad = ' ' * len(prefix.expandtabs()) - available = cols - len(pad) - - seq = text.split(' ') - Nseq = len(seq) - ind = 0 - lines = [] - while ind < Nseq: - lastInd = ind - ind += get_split_ind(seq[ind:], available) - lines.append(seq[lastInd:ind]) - - # add the prefix to the first line, pad with spaces otherwise - ret = prefix + ' '.join(lines[0]) + '\n' - for line in lines[1:]: - ret += pad + ' '.join(line) + '\n' - return ret - - # A regular expression used to determine the amount of space to # remove. It looks for the first sequence of spaces immediately # following the first newline, or at the beginning of the string. @@ -1051,101 +706,6 @@ def listFiles(root, patterns='*', recurse=1, return_folders=0): return results -@deprecated('2.1') -def get_recursive_filelist(args): - """ - Recurse all the files and dirs in *args* ignoring symbolic links - and return the files as a list of strings - """ - files = [] - - for arg in args: - if os.path.isfile(arg): - files.append(arg) - continue - if os.path.isdir(arg): - newfiles = listFiles(arg, recurse=1, return_folders=1) - files.extend(newfiles) - - return [f for f in files if not os.path.islink(f)] - - -@deprecated('2.1') -def pieces(seq, num=2): - """Break up the *seq* into *num* tuples""" - start = 0 - while 1: - item = seq[start:start + num] - if not len(item): - break - yield item - start += num - - -@deprecated('2.1') -def exception_to_str(s=None): - if six.PY3: - sh = io.StringIO() - else: - sh = io.BytesIO() - if s is not None: - print(s, file=sh) - traceback.print_exc(file=sh) - return sh.getvalue() - - -@deprecated('2.1') -def allequal(seq): - """ - Return *True* if all elements of *seq* compare equal. If *seq* is - 0 or 1 length, return *True* - """ - if len(seq) < 2: - return True - val = seq[0] - for i in xrange(1, len(seq)): - thisval = seq[i] - if thisval != val: - return False - return True - - -@deprecated('2.1') -def alltrue(seq): - """ - Return *True* if all elements of *seq* evaluate to *True*. If - *seq* is empty, return *False*. - """ - if not len(seq): - return False - for val in seq: - if not val: - return False - return True - - -@deprecated('2.1') -def onetrue(seq): - """ - Return *True* if one element of *seq* is *True*. It *seq* is - empty, return *False*. - """ - if not len(seq): - return False - for val in seq: - if val: - return True - return False - - -@deprecated('2.1') -def allpairs(x): - """ - return all possible pairs in sequence *x* - """ - return [(s, f) for i, f in enumerate(x) for s in x[i + 1:]] - - class maxdict(dict): """ A dictionary with a maximum size; this doesn't override all the @@ -1259,37 +819,6 @@ def remove(self, o): self.push(thiso) -@deprecated('2.1') -def finddir(o, match, case=False): - """ - return all attributes of *o* which match string in match. if case - is True require an exact case match. - """ - if case: - names = [(name, name) for name in dir(o) - if isinstance(name, six.string_types)] - else: - names = [(name.lower(), name) for name in dir(o) - if isinstance(name, six.string_types)] - match = match.lower() - return [orig for name, orig in names if name.find(match) >= 0] - - -@deprecated('2.1') -def reverse_dict(d): - """reverse the dictionary -- may lose data if values are not unique!""" - return {v: k for k, v in six.iteritems(d)} - - -@deprecated('2.1') -def restrict_dict(d, keys): - """ - Return a dictionary that contains those keys that appear in both - d and keys, with values from d. - """ - return {k: v for k, v in six.iteritems(d) if k in keys} - - def report_memory(i=0): # argument may go away """return the memory consumed by process""" from subprocess import Popen, PIPE @@ -1348,16 +877,6 @@ def safezip(*args): return list(zip(*args)) -@deprecated('2.1') -def issubclass_safe(x, klass): - """return issubclass(x, klass) and return False on a TypeError""" - - try: - return issubclass(x, klass) - except TypeError: - return False - - def safe_masked_invalid(x, copy=False): x = np.array(x, subok=True, copy=copy) if not x.dtype.isnative: @@ -1592,21 +1111,6 @@ def simple_linear_interpolation(a, steps): .reshape((len(x),) + a.shape[1:])) -@deprecated('2.1', alternative='shutil.rmtree') -def recursive_remove(path): - if os.path.isdir(path): - for fname in (glob.glob(os.path.join(path, '*')) + - glob.glob(os.path.join(path, '.*'))): - if os.path.isdir(fname): - recursive_remove(fname) - os.removedirs(fname) - else: - os.remove(fname) - # os.removedirs(path) - else: - os.remove(path) - - def delete_masked_points(*args): """ Find all masked and/or non-finite points in a set of arguments, @@ -1892,58 +1396,6 @@ def _compute_conf_interval(data, med, iqr, bootstrap): return bxpstats -# FIXME I don't think this is used anywhere -@deprecated('2.1') -def unmasked_index_ranges(mask, compressed=True): - """ - Find index ranges where *mask* is *False*. - - *mask* will be flattened if it is not already 1-D. - - Returns Nx2 :class:`numpy.ndarray` with each row the start and stop - indices for slices of the compressed :class:`numpy.ndarray` - corresponding to each of *N* uninterrupted runs of unmasked - values. If optional argument *compressed* is *False*, it returns - the start and stop indices into the original :class:`numpy.ndarray`, - not the compressed :class:`numpy.ndarray`. Returns *None* if there - are no unmasked values. - - Example:: - - y = ma.array(np.arange(5), mask = [0,0,1,0,0]) - ii = unmasked_index_ranges(ma.getmaskarray(y)) - # returns array [[0,2,] [2,4,]] - - y.compressed()[ii[1,0]:ii[1,1]] - # returns array [3,4,] - - ii = unmasked_index_ranges(ma.getmaskarray(y), compressed=False) - # returns array [[0, 2], [3, 5]] - - y.filled()[ii[1,0]:ii[1,1]] - # returns array [3,4,] - - Prior to the transforms refactoring, this was used to support - masked arrays in Line2D. - """ - mask = mask.reshape(mask.size) - m = np.concatenate(((1,), mask, (1,))) - indices = np.arange(len(mask) + 1) - mdif = m[1:] - m[:-1] - i0 = np.compress(mdif == -1, indices) - i1 = np.compress(mdif == 1, indices) - assert len(i0) == len(i1) - if len(i1) == 0: - return None # Maybe this should be np.zeros((0,2), dtype=int) - if not compressed: - return np.concatenate((i0[:, np.newaxis], i1[:, np.newaxis]), axis=1) - seglengths = i1 - i0 - breakpoints = np.cumsum(seglengths) - ic0 = np.concatenate(((0,), breakpoints[:-1])) - ic1 = breakpoints - return np.concatenate((ic0[:, np.newaxis], ic1[:, np.newaxis]), axis=1) - - # The ls_mapper maps short codes for line style to their full name used by # backends; the reverse mapper is for mapping full names to short ones. ls_mapper = {'-': 'solid', '--': 'dashed', '-.': 'dashdot', ':': 'dotted'} diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index b1b803fafc60..c6a7e48f3952 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -403,11 +403,6 @@ def __init__(self, self._align_xlabel_grp = cbook.Grouper() self._align_ylabel_grp = cbook.Grouper() - @property - @cbook.deprecated("2.1", alternative="Figure.patch") - def figurePatch(self): - return self.patch - # TODO: I'd like to dynamically add the _repr_html_ method # to the figure in the right context, but then IPython doesn't # use it, for some reason. diff --git a/lib/matplotlib/font_manager.py b/lib/matplotlib/font_manager.py index 14381abfb9df..7b7881c0b93d 100644 --- a/lib/matplotlib/font_manager.py +++ b/lib/matplotlib/font_manager.py @@ -19,7 +19,6 @@ platforms, so if a font is installed, it is much more likely to be found. """ -from __future__ import absolute_import, division, print_function import six @@ -340,24 +339,6 @@ def findSystemFonts(fontpaths=None, fontext='ttf'): return [fname for fname in fontfiles if os.path.exists(fname)] -@cbook.deprecated("2.1") -def weight_as_number(weight): - """ - Return the weight property as a numeric value. String values - are converted to their corresponding numeric value. - """ - if isinstance(weight, six.string_types): - try: - weight = weight_dict[weight.lower()] - except KeyError: - weight = 400 - elif weight in range(100, 1000, 100): - pass - else: - raise ValueError('weight not a valid integer') - return weight - - class FontEntry(object): """ A class for storing Font properties. It is used when populating @@ -922,22 +903,6 @@ def copy(self): return FontProperties(_init=self) -@cbook.deprecated("2.1") -def ttfdict_to_fnames(d): - """ - flatten a ttfdict to all the filenames it contains - """ - fnames = [] - for named in six.itervalues(d): - for styled in six.itervalues(named): - for variantd in six.itervalues(styled): - for weightd in six.itervalues(variantd): - for stretchd in six.itervalues(weightd): - for fname in six.itervalues(stretchd): - fnames.append(fname) - return fnames - - class JSONEncoder(json.JSONEncoder): def default(self, o): if isinstance(o, FontManager): diff --git a/lib/matplotlib/image.py b/lib/matplotlib/image.py index 9d6b3c04ff18..eaf49ec4de69 100644 --- a/lib/matplotlib/image.py +++ b/lib/matplotlib/image.py @@ -3,8 +3,6 @@ operations. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) import six from six.moves.urllib.parse import urlparse @@ -183,21 +181,6 @@ def _rgb_to_rgba(A): class _ImageBase(martist.Artist, cm.ScalarMappable): zorder = 0 - @property - @cbook.deprecated("2.1") - def _interpd(self): - return _interpd_ - - @property - @cbook.deprecated("2.1") - def _interpdr(self): - return {v: k for k, v in six.iteritems(_interpd_)} - - @property - @cbook.deprecated("2.1", alternative="mpl.image.interpolation_names") - def iterpnames(self): - return interpolations_names - def __str__(self): return "AxesImage(%g,%g;%gx%g)" % tuple(self.axes.bbox.bounds) diff --git a/lib/matplotlib/projections/polar.py b/lib/matplotlib/projections/polar.py index 1493d7b3fc02..e32a2ace9588 100644 --- a/lib/matplotlib/projections/polar.py +++ b/lib/matplotlib/projections/polar.py @@ -1226,8 +1226,7 @@ def set_rticks(self, *args, **kwargs): return Axes.set_yticks(self, *args, **kwargs) @docstring.dedent_interpd - def set_thetagrids(self, angles, labels=None, frac=None, fmt=None, - **kwargs): + def set_thetagrids(self, angles, labels=None, fmt=None, **kwargs): """ Set the angles at which to place the theta grids (these gridlines are equal along the theta dimension). *angles* is in @@ -1238,10 +1237,6 @@ def set_thetagrids(self, angles, labels=None, frac=None, fmt=None, If *labels* is None, the labels will be ``fmt %% angle`` - *frac* is the fraction of the polar axes radius at which to - place the label (1 is the edge). e.g., 1.05 is outside the axes - and 0.95 is inside the axes. - Return value is a list of tuples (*line*, *label*), where *line* is :class:`~matplotlib.lines.Line2D` instances and the *label* is :class:`~matplotlib.text.Text` instances. @@ -1252,10 +1247,6 @@ def set_thetagrids(self, angles, labels=None, frac=None, fmt=None, ACCEPTS: sequence of floats """ - if frac is not None: - cbook.warn_deprecated('2.1', name='frac', obj_type='parameter', - alternative='tick padding via ' - 'Axes.tick_params') # Make sure we take into account unitized data angles = self.convert_yunits(angles) diff --git a/lib/matplotlib/pylab.py b/lib/matplotlib/pylab.py index e9e7fa8a15f3..63645107b2f4 100644 --- a/lib/matplotlib/pylab.py +++ b/lib/matplotlib/pylab.py @@ -219,8 +219,7 @@ import warnings -from matplotlib.cbook import ( - flatten, exception_to_str, silent_list, iterable, dedent) +from matplotlib.cbook import flatten, silent_list, iterable, dedent import matplotlib as mpl diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index c89d41f9589c..791c9bf90ad9 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -1865,56 +1865,6 @@ def get_plot_commands(): and inspect.getmodule(obj) is this_module) -@deprecated('2.1') -def colors(): - """ - This is a do-nothing function to provide you with help on how - matplotlib handles colors. - - Commands which take color arguments can use several formats to - specify the colors. For the basic built-in colors, you can use a - single letter - - ===== ======= - Alias Color - ===== ======= - 'b' blue - 'g' green - 'r' red - 'c' cyan - 'm' magenta - 'y' yellow - 'k' black - 'w' white - ===== ======= - - For a greater range of colors, you have two options. You can - specify the color using an html hex string, as in:: - - color = '#eeefff' - - or you can pass an R,G,B tuple, where each of R,G,B are in the - range [0,1]. - - You can also use any legal html name for a color, for example:: - - color = 'red' - color = 'burlywood' - color = 'chartreuse' - - The example below creates a subplot with a dark - slate gray background:: - - subplot(111, facecolor=(0.1843, 0.3098, 0.3098)) - - Here is an example that creates a pale turquoise title:: - - title('Is this the best color?', color='#afeeee') - - """ - pass - - def colormaps(): """ Matplotlib provides a number of colormaps, and others can be added using diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index a4434f1ba5d4..b0a9b16c2e6b 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -539,26 +539,6 @@ def validate_ps_distiller(s): ignorecase=True) -@deprecated('2.1', - addendum=(" See 'validate_negative_linestyle_legacy' " + - "deprecation warning for more information.")) -def validate_negative_linestyle(s): - return _validate_negative_linestyle(s) - - -@deprecated('2.1', - addendum=(" The 'contour.negative_linestyle' rcParam now " + - "follows the same validation as the other rcParams " + - "that are related to line style.")) -def validate_negative_linestyle_legacy(s): - try: - res = validate_negative_linestyle(s) - return res - except ValueError: - dashes = validate_nseq_float(2)(s) - return (0, dashes) # (offset, (solid, blank)) - - validate_legend_loc = ValidateInStrings( 'legend_loc', ['best', diff --git a/lib/matplotlib/sphinxext/tests/test_tinypages.py b/lib/matplotlib/sphinxext/tests/test_tinypages.py index 748a3f381900..9ec300894760 100644 --- a/lib/matplotlib/sphinxext/tests/test_tinypages.py +++ b/lib/matplotlib/sphinxext/tests/test_tinypages.py @@ -15,15 +15,6 @@ reason="'{} -msphinx' does not return 0".format(sys.executable)) -@cbook.deprecated("2.1", alternative="filecmp.cmp") -def file_same(file1, file2): - with open(file1, 'rb') as fobj: - contents1 = fobj.read() - with open(file2, 'rb') as fobj: - contents2 = fobj.read() - return contents1 == contents2 - - def test_tinypages(tmpdir): html_dir = pjoin(str(tmpdir), 'html') doctree_dir = pjoin(str(tmpdir), 'doctrees') diff --git a/lib/matplotlib/testing/compare.py b/lib/matplotlib/testing/compare.py index e19ecb47a577..7c24b6141698 100644 --- a/lib/matplotlib/testing/compare.py +++ b/lib/matplotlib/testing/compare.py @@ -316,39 +316,6 @@ def convert(filename, cache): return newname -#: Maps file extensions to a function which takes a filename as its -#: only argument to return a list suitable for execution with Popen. -#: The purpose of this is so that the result file (with the given -#: extension) can be verified with tools such as xmllint for svg. -verifiers = {} - -# Turning this off, because it seems to cause multiprocessing issues -if False and matplotlib.checkdep_xmllint(): - verifiers['svg'] = lambda filename: [ - 'xmllint', '--valid', '--nowarning', '--noout', filename] - - -@cbook.deprecated("2.1") -def verify(filename): - """Verify the file through some sort of verification tool.""" - if not os.path.exists(filename): - raise IOError("'%s' does not exist" % filename) - base, extension = filename.rsplit('.', 1) - verifier = verifiers.get(extension, None) - if verifier is not None: - cmd = verifier(filename) - pipe = subprocess.Popen(cmd, universal_newlines=True, - stdout=subprocess.PIPE, stderr=subprocess.PIPE) - stdout, stderr = pipe.communicate() - errcode = pipe.wait() - if errcode != 0: - msg = "File verification command failed:\n%s\n" % ' '.join(cmd) - if stdout: - msg += "Standard output:\n%s\n" % stdout - if stderr: - msg += "Standard error:\n%s\n" % stderr - raise IOError(msg) - def crop_to_same(actual_path, actual_image, expected_path, expected_image): # clip the images to the same size -- this is useful only when diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py index 403d273ccfd7..407592af834d 100644 --- a/lib/matplotlib/testing/decorators.py +++ b/lib/matplotlib/testing/decorators.py @@ -55,12 +55,6 @@ def _knownfailureif(fail_condition, msg=None, known_exception_class=None): return knownfailureif(fail_condition, msg, known_exception_class) -@cbook.deprecated('2.1', - alternative='pytest.xfail or import the plugin') -def knownfailureif(fail_condition, msg=None, known_exception_class=None): - _knownfailureif(fail_condition, msg, known_exception_class) - - def _do_cleanup(original_units_registry, original_settings): plt.close('all') @@ -330,12 +324,6 @@ def setup(self): def teardown(self): self.teardown_class() - @staticmethod - @cbook.deprecated('2.1', - alternative='remove_ticks_and_titles') - def remove_text(figure): - remove_ticks_and_titles(figure) - def nose_runner(self): func = self.compare func = _checked_on_freetype_version(self.freetype_version)(func) diff --git a/lib/matplotlib/tests/__init__.py b/lib/matplotlib/tests/__init__.py index 271e67ad6422..61261b57b6b0 100644 --- a/lib/matplotlib/tests/__init__.py +++ b/lib/matplotlib/tests/__init__.py @@ -17,22 +17,3 @@ 'This is most likely because the test data is not installed. ' 'You may need to install matplotlib from source to get the ' 'test data.') - - -@cbook.deprecated("2.1") -def assert_str_equal(reference_str, test_str, - format_str=('String {str1} and {str2} do not ' - 'match:\n{differences}')): - """ - Assert the two strings are equal. If not, fail and print their - diffs using difflib. - - """ - if reference_str != test_str: - diff = difflib.unified_diff(reference_str.splitlines(1), - test_str.splitlines(1), - 'Reference', 'Test result', - '', '', 0) - raise ValueError(format_str.format(str1=reference_str, - str2=test_str, - differences=''.join(diff))) diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index 3b381a294f44..2016dc6c4526 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -5574,15 +5574,6 @@ def test_zero_linewidth(): plt.plot([0, 1], [0, 1], ls='--', lw=0) -def test_patch_deprecations(): - fig, ax = plt.subplots() - with warnings.catch_warnings(record=True) as w: - assert ax.patch == ax.axesPatch - assert fig.patch == fig.figurePatch - - assert len(w) == 2 - - def test_polar_gridlines(): fig = plt.figure() ax = fig.add_subplot(111, polar=True) diff --git a/lib/matplotlib/tests/test_cbook.py b/lib/matplotlib/tests/test_cbook.py index b7750b2bc9a9..aa5e3f9f620c 100644 --- a/lib/matplotlib/tests/test_cbook.py +++ b/lib/matplotlib/tests/test_cbook.py @@ -26,24 +26,6 @@ def test_is_hashable(): assert not cbook.is_hashable(lst) -def test_restrict_dict(): - d = {'foo': 'bar', 1: 2} - with pytest.warns(cbook.deprecation.MatplotlibDeprecationWarning) as rec: - d1 = cbook.restrict_dict(d, ['foo', 1]) - assert d1 == d - d2 = cbook.restrict_dict(d, ['bar', 2]) - assert d2 == {} - d3 = cbook.restrict_dict(d, {'foo': 1}) - assert d3 == {'foo': 'bar'} - d4 = cbook.restrict_dict(d, {}) - assert d4 == {} - d5 = cbook.restrict_dict(d, {'foo', 2}) - assert d5 == {'foo': 'bar'} - assert len(rec) == 5 - # check that d was not modified - assert d == {'foo': 'bar', 1: 2} - - class Test_delete_masked_points(object): def setup_method(self): self.mask1 = [False, False, True, True, False, False] diff --git a/lib/matplotlib/tests/test_compare_images.py b/lib/matplotlib/tests/test_compare_images.py index 526eb0336149..83ca0d99413b 100644 --- a/lib/matplotlib/tests/test_compare_images.py +++ b/lib/matplotlib/tests/test_compare_images.py @@ -96,19 +96,6 @@ def nosetest_simple_figure(): return fig -def nosetest_manual_text_removal(): - from matplotlib.testing.decorators import ImageComparisonTest - - fig = nosetest_simple_figure() - with warnings.catch_warnings(record=True) as w: - warnings.simplefilter('always') - # Make sure this removes text like it should. - ImageComparisonTest.remove_text(fig) - - assert len(w) == 1 - assert 'remove_text function was deprecated in version 2.1.' in str(w[0]) - - @pytest.mark.parametrize( 'func, kwargs, errors, failures, dots', [ @@ -134,11 +121,6 @@ def nosetest_manual_text_removal(): [], [], '...'), - (nosetest_manual_text_removal, - {'baseline_images': ['simple']}, - [], - [], - '...'), ], ids=[ 'empty', @@ -146,7 +128,6 @@ def nosetest_manual_text_removal(): 'incorrect shape', 'failing figure', 'passing figure', - 'manual text removal', ]) def test_nose_image_comparison(func, kwargs, errors, failures, dots, monkeypatch): diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py index 16be520e325f..e202d94714f8 100644 --- a/lib/matplotlib/tests/test_image.py +++ b/lib/matplotlib/tests/test_image.py @@ -887,14 +887,6 @@ def test_imshow_bool(): ax.imshow(np.array([[True, False], [False, True]], dtype=bool)) -def test_imshow_deprecated_interd_warn(): - im = plt.imshow([[1, 2], [3, np.nan]]) - for k in ('_interpd', '_interpdr', 'iterpnames'): - with warnings.catch_warnings(record=True) as warns: - getattr(im, k) - assert len(warns) == 1 - - def test_full_invalid(): x = np.ones((10, 10)) x[:] = np.nan diff --git a/lib/matplotlib/texmanager.py b/lib/matplotlib/texmanager.py index 8f6273b367f8..1bd992939923 100644 --- a/lib/matplotlib/texmanager.py +++ b/lib/matplotlib/texmanager.py @@ -33,8 +33,6 @@ """ -from __future__ import absolute_import, division, print_function - import six import copy From 606d3982231a86db17608f3534b46fccbf0279d6 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Tue, 27 Feb 2018 20:46:04 -0800 Subject: [PATCH 0212/1161] Fixes to constrainedlayout tutorial markup. --- .../intermediate/constrainedlayout_guide.py | 44 +++++++++---------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/tutorials/intermediate/constrainedlayout_guide.py b/tutorials/intermediate/constrainedlayout_guide.py index bc9b233789ae..1318f3ada1f3 100644 --- a/tutorials/intermediate/constrainedlayout_guide.py +++ b/tutorials/intermediate/constrainedlayout_guide.py @@ -223,19 +223,19 @@ def example_plot(ax, fontsize=12, nodec=False): hspace=0.2, wspace=0.2) ########################################## -# rcParams: -# ----------- +# rcParams +# -------- # # There are five `rcParams` that can be set, either in a script # or in the `matplotlibrc` file. They all have the prefix # `figure.constrained_layout`: # -# - `use`: Whether to use constrained_layout. Default is False -# - `w_pad`, `h_pad` Padding around axes objects. -# Float representing inches. Default is 3./72. inches (3 pts) -# - `wspace`, `hspace` Space between subplot groups. -# Float representing a fraction of the subplot widths being separated. -# Default is 0.02. +# - `use`: Whether to use constrained_layout. Default is False +# - `w_pad`, `h_pad` Padding around axes objects. +# Float representing inches. Default is 3./72. inches (3 pts) +# - `wspace`, `hspace` Space between subplot groups. +# Float representing a fraction of the subplot widths being separated. +# Default is 0.02. plt.rcParams['figure.constrained_layout.use'] = True fig, axs = plt.subplots(2, 2, figsize=(3, 3)) @@ -446,16 +446,15 @@ def docomplicated(suptitle=None): # Other Caveats # ------------- # -# * ``constrained_layout`` only considers ticklabels, -# axis labels, titles, and legends. Thus, other artists may be clipped -# and also may overlap. +# * ``constrained_layout`` only considers ticklabels, axis labels, titles, and +# legends. Thus, other artists may be clipped and also may overlap. # -# * It assumes that the extra space needed for ticklabels, axis labels, -# and titles is independent of original location of axes. This is -# often true, but there are rare cases where it is not. +# * It assumes that the extra space needed for ticklabels, axis labels, +# and titles is independent of original location of axes. This is +# often true, but there are rare cases where it is not. # -# * There are small differences in how the backends handle rendering fonts, -# so the results will not be pixel-identical. +# * There are small differences in how the backends handle rendering fonts, +# so the results will not be pixel-identical. ########################################################### # Debugging @@ -467,9 +466,9 @@ def docomplicated(suptitle=None): # mode is for all sizes to collapse to their smallest allowable value. If # this happens, it is for one of two reasons: # -# 1. There was not enough room for the elements you were requesting to draw -# 2. There is a bug - in which case open an issue at -# https://github.com/matplotlib/matplotlib/issues. +# 1. There was not enough room for the elements you were requesting to draw. +# 2. There is a bug - in which case open an issue at +# https://github.com/matplotlib/matplotlib/issues. # # If there is a bug, please report with a self-contained example that does # not require outside data or dependencies (other than numpy). @@ -632,11 +631,10 @@ def docomplicated(suptitle=None): # height of the 1-row Axes to be less than half the height of the # 2-row Axes. # -# ..note:: +# .. note:: # -# This algorithm can be wrong if the decorations attached -# to the smaller axes are very large, so there is an unaccounted-for -# edge case. +# This algorithm can be wrong if the decorations attached to the smaller +# axes are very large, so there is an unaccounted-for edge case. fig = plt.figure(constrained_layout=True) From 3d64d655862486a3d1a932a04cd4e5f624208ed9 Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Tue, 27 Feb 2018 22:13:44 -0800 Subject: [PATCH 0213/1161] FIX/ENH Constrained Layout: Make whether single parent colorbar w/ gridspec or subplotspec --- lib/matplotlib/colorbar.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/colorbar.py b/lib/matplotlib/colorbar.py index e2f47481b821..325d0120eb2e 100644 --- a/lib/matplotlib/colorbar.py +++ b/lib/matplotlib/colorbar.py @@ -1124,6 +1124,7 @@ def make_axes(parents, location=None, orientation=None, fraction=0.15, anchor = kw.pop('anchor', loc_settings['anchor']) parent_anchor = kw.pop('panchor', loc_settings['panchor']) + parents_iterable = cbook.iterable(parents) # turn parents into a list if it is not already. We do this w/ np # because `plt.subplots` can return an ndarray and is natural to # pass to `colorbar`. @@ -1191,7 +1192,7 @@ def make_axes(parents, location=None, orientation=None, fraction=0.15, # and we need to set the aspect ratio by hand... cax.set_aspect(aspect, anchor=anchor, adjustable='box') else: - if len(parents) == 1: + if not parents_iterable: # this is a single axis... ax = parents[0] lb, lbpos = constrained_layout.layoutcolorbarsingle( From afc26d8ee0b0c34e652defd4df5ad69444def30d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20N=C3=B6the?= Date: Wed, 28 Feb 2018 09:07:17 +0100 Subject: [PATCH 0214/1161] Implement review comments of @anntzer --- lib/matplotlib/backends/backend_pgf.py | 34 +++++++++++++----------- lib/matplotlib/tests/test_backend_pgf.py | 2 +- 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/lib/matplotlib/backends/backend_pgf.py b/lib/matplotlib/backends/backend_pgf.py index 7a7888a893b6..f8d98c409a4b 100644 --- a/lib/matplotlib/backends/backend_pgf.py +++ b/lib/matplotlib/backends/backend_pgf.py @@ -1166,9 +1166,7 @@ def _run_latex(self): % (texcommand, e.output.decode('utf-8'))) # copy file contents to target - with open(self._fname_pdf, "rb") as fh_src: - with open(self._outputfile, "wb") as fh: - shutil.copyfileobj(fh_src, fh) + shutil.copyfile(self._fname_pdf, self._outputfile) def savefig(self, figure=None, **kwargs): """ @@ -1199,25 +1197,31 @@ def savefig(self, figure=None, **kwargs): orig_canvas = figure.canvas figure.canvas = FigureCanvasPgf(figure) + width, height = figure.get_size_inches() if self._n_figures == 0: - self._write_header(*figure.get_size_inches()) + self._write_header(width, height) else: - if get_texcommand() == 'lualatex': - if _get_lualatex_version() > (0, 85, 0): - np = r'\newpage\pagewidth={}in\pageheight={}in%' - else: - np = r'\newpage\pdfpagewidth={}in\pdfpageheight={}in%' - else: - np = r'\newpage\pdfpagewidth={}in\pdfpageheight={}in%' - self._file.write(np.format( - *figure.get_size_inches() - ).encode('utf-8') + b'\n' - ) + self._file.write(self._build_newpage_command(width, height)) + figure.savefig(self._file, format="pgf", **kwargs) self._n_figures += 1 finally: figure.canvas = orig_canvas + def _build_newpage_command(self, width, height): + '''LuaLaTeX from version 0.85 removed the `\pdf*` primitives, + so we need to check the lualatex version and use `\pagewidth` if + the version is 0.85 or newer + ''' + texcommand = get_texcommand() + if texcommand == 'lualatex' and _get_lualatex_version() >= (0, 85, 0): + cmd = r'\page' + else: + cmd = r'\pdfpage' + + newpage = r'\newpage{cmd}width={w}in,{cmd}height={h}in%' + '\n' + return newpage.format(cmd=cmd, w=width, h=height).encode('utf-8') + def get_pagecount(self): """ Returns the current number of pages in the multipage pdf file. diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py index f83f79bc21fd..b42d99e23a61 100644 --- a/lib/matplotlib/tests/test_backend_pgf.py +++ b/lib/matplotlib/tests/test_backend_pgf.py @@ -42,7 +42,7 @@ def check_for(texsystem): needs_pdflatex = pytest.mark.skipif(not check_for('pdflatex'), reason='pdflatex + pgf is required') needs_lualatex = pytest.mark.skipif(not check_for('lualatex'), - reason='lualatex + pgf is required') + reason='lualatex + pgf is required') def compare_figure(fname, savefig_kwargs={}, tol=0): From 0f835a8bdbae8c91c520b268388d49ccda604c90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20N=C3=B6the?= Date: Wed, 28 Feb 2018 09:07:41 +0100 Subject: [PATCH 0215/1161] Add .pytest_cache to gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 36d13934bcf0..faa897b4f1c9 100644 --- a/.gitignore +++ b/.gitignore @@ -80,6 +80,7 @@ result_images # Nose/Pytest generated files # ############################### +.pytest_cache/ .cache/ .coverage .coverage.* From bc164835db4631b437845c609e9349c4082d903e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20N=C3=B6the?= Date: Wed, 28 Feb 2018 09:12:23 +0100 Subject: [PATCH 0216/1161] More docs --- examples/misc/multipage_pdf.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/examples/misc/multipage_pdf.py b/examples/misc/multipage_pdf.py index 532d771849cb..9b49f1d8644f 100644 --- a/examples/misc/multipage_pdf.py +++ b/examples/misc/multipage_pdf.py @@ -5,6 +5,10 @@ This is a demo of creating a pdf file with several pages, as well as adding metadata and annotations to pdf files. + +If you want to use a multipage pdf file using LaTeX, you need +to use `from matplotlib.backends.backend_pgf import PdfPages`. +This version however does not support `attach_note`. """ import datetime From 05e7f77deb44670995c5906a39c55ba13f51b905 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20N=C3=B6the?= Date: Wed, 28 Feb 2018 09:17:02 +0100 Subject: [PATCH 0217/1161] Add comment in faq --- doc/faq/howto_faq.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/faq/howto_faq.rst b/doc/faq/howto_faq.rst index ab42bd303d10..cbfe0842433f 100644 --- a/doc/faq/howto_faq.rst +++ b/doc/faq/howto_faq.rst @@ -136,6 +136,10 @@ Finally, the multipage pdf object has to be closed:: pp.close() +The same can be done using the pgf backend:: + + from matplotlib.backends.backend_pgf import PdfPages + .. _howto-subplots-adjust: From 82f8672f2a5e20c65162b9fbba247e33e445f0bf Mon Sep 17 00:00:00 2001 From: Leo Singer Date: Wed, 28 Feb 2018 11:05:48 -0500 Subject: [PATCH 0218/1161] Support markers from Paths that consist of one line segment The `elif` clauses in `Marker.set_marker` needed to be reordered because any Python object that has a `__len__` method is an instance of `collections.Sized`. --- lib/matplotlib/markers.py | 10 +++++----- lib/matplotlib/tests/test_marker.py | 8 ++++++++ 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/lib/matplotlib/markers.py b/lib/matplotlib/markers.py index 619386101ccf..f0b0991029f3 100644 --- a/lib/matplotlib/markers.py +++ b/lib/matplotlib/markers.py @@ -251,6 +251,11 @@ def set_marker(self, marker): if (isinstance(marker, np.ndarray) and marker.ndim == 2 and marker.shape[1] == 2): self._marker_function = self._set_vertices + elif (isinstance(marker, six.string_types) + and cbook.is_math_text(marker)): + self._marker_function = self._set_mathtext_path + elif isinstance(marker, Path): + self._marker_function = self._set_path_marker elif (isinstance(marker, Sized) and len(marker) in (2, 3) and marker[1] in (0, 1, 2, 3)): self._marker_function = self._set_tuple_marker @@ -258,11 +263,6 @@ def set_marker(self, marker): marker in self.markers): self._marker_function = getattr( self, '_set_' + self.markers[marker]) - elif (isinstance(marker, six.string_types) - and cbook.is_math_text(marker)): - self._marker_function = self._set_mathtext_path - elif isinstance(marker, Path): - self._marker_function = self._set_path_marker else: try: Path(marker) diff --git a/lib/matplotlib/tests/test_marker.py b/lib/matplotlib/tests/test_marker.py index c268e4252e9a..1ef9c18c47fb 100644 --- a/lib/matplotlib/tests/test_marker.py +++ b/lib/matplotlib/tests/test_marker.py @@ -1,5 +1,6 @@ import numpy as np from matplotlib import markers +from matplotlib.path import Path import pytest @@ -18,3 +19,10 @@ def test_markers_invalid(): # Checking this does fail. with pytest.raises(ValueError): marker_style.set_marker(mrk_array) + + +def test_marker_path(): + marker_style = markers.MarkerStyle() + path = Path([[0, 0], [1, 0]], [Path.MOVETO, Path.LINETO]) + # Checking this doesn't fail. + marker_style.set_marker(path) From 36dc4e74b449cf8fb1d60071fc35d4023036624f Mon Sep 17 00:00:00 2001 From: Eric Firing Date: Wed, 28 Feb 2018 07:47:55 -1000 Subject: [PATCH 0219/1161] Convert NaT to nan in date2num --- lib/matplotlib/dates.py | 7 +++++++ lib/matplotlib/tests/test_dates.py | 21 ++++++++++++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/dates.py b/lib/matplotlib/dates.py index b3fa42477ad2..db49970483cb 100644 --- a/lib/matplotlib/dates.py +++ b/lib/matplotlib/dates.py @@ -291,6 +291,13 @@ def _dt64_to_ordinalf(d): dt += extra.astype(np.float64) / 1.0e9 dt = dt / SEC_PER_DAY + 1.0 + NaT_int = np.datetime64('NaT').astype(np.int64) + d_int = d.astype(np.int64) + try: + dt[d_int == NaT_int] = np.nan + except TypeError: + if d_int == NaT_int: + dt = np.nan return dt diff --git a/lib/matplotlib/tests/test_dates.py b/lib/matplotlib/tests/test_dates.py index 57259cf435f7..2a05ee6dffcb 100644 --- a/lib/matplotlib/tests/test_dates.py +++ b/lib/matplotlib/tests/test_dates.py @@ -51,7 +51,8 @@ def test_date_numpyx(): datetime.datetime(2017, 1, 1, 3, 1, 1)]]]) @pytest.mark.parametrize('dtype', ['datetime64[s]', 'datetime64[us]', - 'datetime64[ms]']) + 'datetime64[ms]', + 'datetime64[ns]']) def test_date_date2num_numpy(t0, dtype): time = mdates.date2num(t0) tnp = np.array(t0, dtype=dtype) @@ -59,6 +60,24 @@ def test_date_date2num_numpy(t0, dtype): assert np.array_equal(time, nptime) +@pytest.mark.parametrize('dtype', ['datetime64[s]', + 'datetime64[us]', + 'datetime64[ms]', + 'datetime64[ns]']) +def test_date2num_NaT(dtype): + t0 = datetime.datetime(2017, 1, 1, 0, 1, 1) + tmpl = [mdates.date2num(t0), np.nan] + tnp = np.array([t0, 'NaT'], dtype=dtype) + nptime = mdates.date2num(tnp) + np.testing.assert_array_equal(tmpl, nptime) + + +@pytest.mark.parametrize('units', ['s', 'ms', 'us', 'ns']) +def test_date2num_NaT_scalar(units): + tmpl = mdates.date2num(np.datetime64('NaT', units)) + assert np.isnan(tmpl) + + @image_comparison(baseline_images=['date_empty'], extensions=['png']) def test_date_empty(): # make sure mpl does the right thing when told to plot dates even From acc4e178600d451d31d8735022ca24b6843f2354 Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Wed, 28 Feb 2018 10:49:30 -0800 Subject: [PATCH 0220/1161] DOC: Update tutorial to explain colorbar API --- .../intermediate/constrainedlayout_guide.py | 30 +++++++++++++++++-- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/tutorials/intermediate/constrainedlayout_guide.py b/tutorials/intermediate/constrainedlayout_guide.py index bc9b233789ae..fe885672fa7c 100644 --- a/tutorials/intermediate/constrainedlayout_guide.py +++ b/tutorials/intermediate/constrainedlayout_guide.py @@ -105,15 +105,39 @@ def example_plot(ax, fontsize=12, nodec=False): fig.colorbar(im, ax=ax, shrink=0.6) ############################################################################ -# If you specify multiple axes to the ``ax`` argument of ``colorbar``, -# constrained_layout will take space from all axes that share the same -# gridspec. +# If you specify a list of axes (or other iterable container) to the +# ``ax`` argument of ``colorbar``, constrained_layout will take space from all # axes that share the same gridspec. fig, axs = plt.subplots(2, 2, figsize=(4, 4), constrained_layout=True) for ax in axs.flatten(): im = ax.pcolormesh(arr, rasterized=True) fig.colorbar(im, ax=axs, shrink=0.6) +############################################################################ +# Note that there is a bit of a subtlety when specifying a single axes +# as the parent. In the following, it might be desirable and expected +# for the colorbars to line up, but they don't because the colorbar paired +# with the bottom axes is tied to the subplotspec of the axes, and hence +# shrinks when the gridspec-level colorbar is added. + +fig, axs = plt.subplots(3, 1, figsize=(4, 4), constrained_layout=True) +for ax in axs[:2]: + im = ax.pcolormesh(arr, rasterized=True) +fig.colorbar(im, ax=axs[:2], shrink=0.6) +im = axs[2].pcolormesh(arr, rasterized=True) +fig.colorbar(im, ax=axs[2], shrink=0.6) + +############################################################################ +# The API to make a single-axes behave like a list of axes is to specify +# it as a list (or other iterable container), as below: + +fig, axs = plt.subplots(3, 1, figsize=(4, 4), constrained_layout=True) +for ax in axs[:2]: + im = ax.pcolormesh(arr, rasterized=True) +fig.colorbar(im, ax=axs[:2], shrink=0.6) +im = axs[2].pcolormesh(arr, rasterized=True) +fig.colorbar(im, ax=[axs[2]], shrink=0.6) + #################################################### # Suptitle # ========= From 466330b89c955647577ce71697f4b05ec2d38004 Mon Sep 17 00:00:00 2001 From: stonebig Date: Wed, 28 Feb 2018 22:45:54 +0100 Subject: [PATCH 0221/1161] document the reason for the change --- lib/matplotlib/axes/_subplots.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/matplotlib/axes/_subplots.py b/lib/matplotlib/axes/_subplots.py index 0c25c0531630..1bcbdd98c0cb 100644 --- a/lib/matplotlib/axes/_subplots.py +++ b/lib/matplotlib/axes/_subplots.py @@ -173,6 +173,8 @@ def _make_twin_axes(self, *kl, **kwargs): """ from matplotlib.projections import process_projection_requirements if 'sharex' in kwargs and 'sharey' in kwargs: + # The following line is added in v2.2 to avoid breaking Seaborn, + # which currently uses this internal API. if kwargs["sharex"] is not self and kwargs["sharey"] is not self: raise ValueError("Twinned Axes may share only one axis.") kl = (self.get_subplotspec(),) + kl From 09a17f4b9257410b0740722db78445dbcbad8abd Mon Sep 17 00:00:00 2001 From: stonebig Date: Wed, 28 Feb 2018 23:41:35 +0100 Subject: [PATCH 0222/1161] pep8 remove trailing spaces on a comment line --- lib/matplotlib/axes/_subplots.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/axes/_subplots.py b/lib/matplotlib/axes/_subplots.py index 1bcbdd98c0cb..4c93ed996a16 100644 --- a/lib/matplotlib/axes/_subplots.py +++ b/lib/matplotlib/axes/_subplots.py @@ -174,7 +174,7 @@ def _make_twin_axes(self, *kl, **kwargs): from matplotlib.projections import process_projection_requirements if 'sharex' in kwargs and 'sharey' in kwargs: # The following line is added in v2.2 to avoid breaking Seaborn, - # which currently uses this internal API. + # which currently uses this internal API. if kwargs["sharex"] is not self and kwargs["sharey"] is not self: raise ValueError("Twinned Axes may share only one axis.") kl = (self.get_subplotspec(),) + kl From 9093eddb812ba1d8a38f1ff0d63f14980f5d87b3 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Wed, 28 Feb 2018 17:30:58 -0800 Subject: [PATCH 0223/1161] Simplify setupext by using globs. --- setup.py | 4 +-- setupext.py | 83 ++++++++++++++++++----------------------------------- 2 files changed, 30 insertions(+), 57 deletions(-) diff --git a/setup.py b/setup.py index b8a38a3bf2a6..84a75b062e68 100644 --- a/setup.py +++ b/setup.py @@ -260,11 +260,11 @@ def run(self): author_email="matplotlib-users@python.org", url="http://matplotlib.org", long_description=""" - matplotlib strives to produce publication quality 2D graphics + Matplotlib strives to produce publication quality 2D graphics for interactive graphing, scientific publishing, user interface development and web application servers targeting multiple user interfaces and hardcopy output formats. There is a 'pylab' mode - which emulates matlab graphics. + which emulates MATLAB graphics. """, license="BSD", packages=packages, diff --git a/setupext.py b/setupext.py index 646794812fff..da81c3635e2b 100644 --- a/setupext.py +++ b/setupext.py @@ -1,14 +1,10 @@ -from __future__ import print_function, absolute_import - -from importlib import import_module - -from distutils import sysconfig -from distutils import version +from distutils import sysconfig, version from distutils.core import Extension import distutils.command.build_ext import glob import multiprocessing import os +import pathlib import platform import re import shutil @@ -17,6 +13,8 @@ import sys import warnings from textwrap import fill + +import setuptools import versioneer @@ -660,9 +658,7 @@ class Python(SetupPackage): name = "python" def check(self): - major, minor1, minor2, s, tmp = sys.version_info - - if major < 3 or minor1 < 5: + if sys.version_info < (3, 5): error = """ Matplotlib 3.0+ does not support Python 2.x, 3.0, 3.1, 3.2, 3.3, or 3.4. Beginning with Matplotlib 3.0, Python 3.5 and above is required. @@ -672,7 +668,6 @@ def check(self): Make sure you have pip >= 9.0.1. """ raise CheckFailed(error) - return sys.version @@ -683,55 +678,29 @@ def check(self): return versioneer.get_version() def get_packages(self): - return [ - 'matplotlib', - 'matplotlib.backends', - 'matplotlib.backends.qt_editor', - 'matplotlib.compat', - 'matplotlib.projections', - 'matplotlib.axes', - 'matplotlib.sphinxext', - 'matplotlib.style', - 'matplotlib.testing', - 'matplotlib.testing._nose', - 'matplotlib.testing._nose.plugins', - 'matplotlib.testing.jpl_units', - 'matplotlib.tri', - 'matplotlib.cbook' - ] + return setuptools.find_packages( + "lib", + include=["matplotlib", "matplotlib.*"], + exclude=["matplotlib.tests", "matplotlib.*.tests"]) def get_py_modules(self): return ['pylab'] def get_package_data(self): + + def iter_dir(base): + return [ + str(path.relative_to('lib/matplotlib')) + for path in pathlib.Path('lib/matplotlib', base).rglob('*')] + return { 'matplotlib': [ - 'mpl-data/fonts/afm/*.afm', - 'mpl-data/fonts/pdfcorefonts/*.afm', - 'mpl-data/fonts/pdfcorefonts/*.txt', - 'mpl-data/fonts/ttf/*.ttf', - 'mpl-data/fonts/ttf/LICENSE_STIX', - 'mpl-data/fonts/ttf/COPYRIGHT.TXT', - 'mpl-data/fonts/ttf/README.TXT', - 'mpl-data/fonts/ttf/RELEASENOTES.TXT', - 'mpl-data/images/*.xpm', - 'mpl-data/images/*.svg', - 'mpl-data/images/*.gif', - 'mpl-data/images/*.pdf', - 'mpl-data/images/*.png', - 'mpl-data/images/*.ppm', - 'mpl-data/example/*.npy', - 'mpl-data/matplotlibrc', - 'backends/web_backend/*.*', - 'backends/web_backend/js/*.*', - 'backends/web_backend/jquery/js/*.min.js', - 'backends/web_backend/jquery/css/themes/base/*.min.css', - 'backends/web_backend/jquery/css/themes/base/images/*', - 'backends/web_backend/css/*.*', - 'backends/Matplotlib.nib/*', - 'mpl-data/stylelib/*.mplstyle', - ]} + *iter_dir('mpl-data/fonts'), + *iter_dir('mpl-data/images'), + *iter_dir('mpl-data/stylelib'), + *iter_dir('backends/web_backend'), + ]} class SampleData(OptionalPackage): @@ -742,11 +711,16 @@ class SampleData(OptionalPackage): name = "sample_data" def get_package_data(self): + + def iter_dir(base): + return [ + str(path.relative_to('lib/matplotlib')) + for path in pathlib.Path('lib/matplotlib', base).rglob('*')] + return { 'matplotlib': [ - 'mpl-data/sample_data/*.*', - 'mpl-data/sample_data/axes_grid/*.*', + *iter_dir('mpl-data/sample_data'), ]} @@ -1432,9 +1406,8 @@ def check(self): def runtime_check(self): """ Checks whether TkAgg runtime dependencies are met """ - pkg_name = 'tkinter' try: - import_module(pkg_name) + import tkinter except ImportError: return False return True From 51c782e177b8162a5ae2e4ec68c497e13a3a505a Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Thu, 1 Mar 2018 13:45:32 -0800 Subject: [PATCH 0224/1161] Fix extra and missing spaces in constrainedlayout warning. (Too many spaces between "layout." and "You", missing betwen "subplots" and "with".) --- lib/matplotlib/figure.py | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index b1b803fafc60..7d72a291d949 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -2195,7 +2195,7 @@ def get_tightbbox(self, renderer): def init_layoutbox(self): """ - initilaize the layoutbox for use in constrained_layout. + Initialize the layoutbox for use in constrained_layout. """ if self._layoutbox is None: self._layoutbox = layoutbox.LayoutBox(parent=None, @@ -2207,23 +2207,21 @@ def execute_constrained_layout(self, renderer=None): """ Use ``layoutbox`` to determine pos positions within axes. - See also set_constrained_layout_pads + See also set_constrained_layout_pads. """ - from matplotlib._constrained_layout import (do_constrained_layout) + from matplotlib._constrained_layout import do_constrained_layout _log.debug('Executing constrainedlayout') if self._layoutbox is None: - warnings.warn("Calling figure.constrained_layout, but figure " - "not setup to do constrained layout. " - " You either called GridSpec without the " - "fig keyword, you are using plt.subplot, " - "or you need to call figure or subplots" - "with the constrained_layout=True kwarg.") + warnings.warn("Calling figure.constrained_layout, but figure not " + "setup to do constrained layout. You either called " + "GridSpec without the fig keyword, you are using " + "plt.subplot, or you need to call figure or " + "subplots with the constrained_layout=True kwarg.") return w_pad, h_pad, wspace, hspace = self.get_constrained_layout_pads() # convert to unit-relative lengths - fig = self width, height = fig.get_size_inches() w_pad = w_pad / width From 59bbccb5cfc78ec1388f6d8729e72825b1c7860a Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Thu, 1 Mar 2018 09:28:17 -0800 Subject: [PATCH 0225/1161] ENH: autodecode pandas timestamps --- lib/matplotlib/dates.py | 4 ++++ lib/matplotlib/units.py | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/lib/matplotlib/dates.py b/lib/matplotlib/dates.py index b3fa42477ad2..0a3d8b3d477b 100644 --- a/lib/matplotlib/dates.py +++ b/lib/matplotlib/dates.py @@ -430,6 +430,10 @@ def date2num(d): For details see the module docstring. """ + if hasattr(d, "values"): + # this unpacks pandas series or dataframes... + d = d.values + if ((isinstance(d, np.ndarray) and np.issubdtype(d.dtype, np.datetime64)) or isinstance(d, np.datetime64)): return _dt64_to_ordinalf(d) diff --git a/lib/matplotlib/units.py b/lib/matplotlib/units.py index 0df465430b46..cab3967189f7 100644 --- a/lib/matplotlib/units.py +++ b/lib/matplotlib/units.py @@ -160,6 +160,10 @@ def get_converter(self, x): if classx is not None: converter = self.get(classx) + if converter is None and hasattr(x, "values"): + # this unpacks pandas series or dataframes... + x = x.values + # If x is an array, look inside the array for data with units if isinstance(x, np.ndarray) and x.size: xravel = x.ravel() From 300fcb96ee20917af55f74fb7194a1c2825b37ab Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Thu, 1 Mar 2018 17:33:30 -0800 Subject: [PATCH 0226/1161] Add mplcairo to 3rdparty docs. Also reorder other mentioned 3rdparty packages to alphabetical order. --- doc/thirdpartypackages/index.rst | 44 ++++++++++++++++++-------------- 1 file changed, 25 insertions(+), 19 deletions(-) diff --git a/doc/thirdpartypackages/index.rst b/doc/thirdpartypackages/index.rst index 19a146d1c339..ad92d91a9b2f 100644 --- a/doc/thirdpartypackages/index.rst +++ b/doc/thirdpartypackages/index.rst @@ -38,16 +38,6 @@ data processing tools. An example plot from the `Cartopy gallery Declarative libraries ********************* -plotnine -======== - -`plotnine `_ implements a grammar -of graphics, similar to R's `ggplot2 `_. The grammar allows -users to compose plots by explicitly mapping data to the visual objects that -make up the plot. - -.. image:: /_static/plotnine.png - ggplot ====== `ggplot `_ is a port of the R ggplot2 package @@ -68,6 +58,16 @@ widgets for parameter exploration. .. image:: /_static/holoviews.png :height: 354px +plotnine +======== + +`plotnine `_ implements a grammar +of graphics, similar to R's `ggplot2 `_. The grammar allows +users to compose plots by explicitly mapping data to the visual objects that +make up the plot. + +.. image:: /_static/plotnine.png + Specialty plots *************** @@ -170,15 +170,6 @@ annotation boxes) for Matplotlib. Miscellaneous ************* -mpl-template -============ -`mpl-template `_ provides -a customizable way to add engineering figure elements such as a title block, -border, and logo. - -.. image:: /_static/mpl_template_example.png - :height: 330px - adjustText ========== `adjustText `_ is a small library for @@ -194,3 +185,18 @@ external Matplotlib backend using the iTerm2 nightly build inline image display feature. .. image:: /_static/matplotlib_iterm2_demo.png + +mplcairo +======== +`mplcairo `_ is a cairo backend for +Matplotlib, with faster and more accurate marker drawing, support for a wider +selection of font formats and complex text layout, and various other features. + +mpl-template +============ +`mpl-template `_ provides +a customizable way to add engineering figure elements such as a title block, +border, and logo. + +.. image:: /_static/mpl_template_example.png + :height: 330px From 83b11ddc0021d6da74605a890951f49d3207feb9 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sun, 25 Feb 2018 02:32:14 +0100 Subject: [PATCH 0227/1161] Improve Figure docstrings --- lib/matplotlib/colorbar.py | 2 +- lib/matplotlib/figure.py | 328 +++++++++++++++++++------------------ 2 files changed, 174 insertions(+), 156 deletions(-) diff --git a/lib/matplotlib/colorbar.py b/lib/matplotlib/colorbar.py index 0f76e3d698bb..1e7d5ec2420d 100644 --- a/lib/matplotlib/colorbar.py +++ b/lib/matplotlib/colorbar.py @@ -152,7 +152,7 @@ default to the current image. cax : :class:`~matplotlib.axes.Axes` object, optional - Axis into which the colorbar will be drawn + Axes into which the colorbar will be drawn. ax : :class:`~matplotlib.axes.Axes`, list of Axes, optional Parent axes from which space for a new colorbar axes will be stolen. diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index b1b803fafc60..5b9a18fd9a88 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -7,7 +7,7 @@ control the default spacing of the subplots :class:`Figure` - top level container for all plot elements + Top level container for all plot elements. """ @@ -154,7 +154,6 @@ def current_key_axes(self): Return a tuple of ``(key, axes)`` for the active axes. If no axes exists on the stack, then returns ``(None, None)``. - """ if not len(self._elements): return self._default, self._default @@ -171,48 +170,44 @@ def __contains__(self, a): class SubplotParams(object): """ - A class to hold the parameters for a subplot + A class to hold the parameters for a subplot. """ def __init__(self, left=None, bottom=None, right=None, top=None, wspace=None, hspace=None): """ - All dimensions are fraction of the figure width or height. - All values default to their rc params - - The following attributes are available + All dimensions are fractions of the figure width or height. + Defaults are given by :rc:`figure.subplot.[name]`. - left : 0.125 - The left side of the subplots of the figure + Parameters + ---------- + left : float + The left side of the subplots of the figure. - right : 0.9 - The right side of the subplots of the figure + right : float + The right side of the subplots of the figure. - bottom : 0.1 - The bottom of the subplots of the figure + bottom : float + The bottom of the subplots of the figure. - top : 0.9 - The top of the subplots of the figure + top : float + The top of the subplots of the figure. - wspace : 0.2 + wspace : float The amount of width reserved for space between subplots, - expressed as a fraction of the average axis width + expressed as a fraction of the average axis width. - hspace : 0.2 + hspace : float The amount of height reserved for space between subplots, - expressed as a fraction of the average axis height + expressed as a fraction of the average axis height. """ - self.validate = True self.update(left, bottom, right, top, wspace, hspace) def update(self, left=None, bottom=None, right=None, top=None, wspace=None, hspace=None): """ - Update the current values. If any kwarg is None, default to - the current value, if set, otherwise to rc - + Update the dimensions of the passed parameters. *None* means unchanged. """ - thisleft = getattr(self, 'left', None) thisright = getattr(self, 'right', None) thistop = getattr(self, 'top', None) @@ -255,8 +250,9 @@ def _update_this(self, s, val): class Figure(Artist): - """ + The top level container for all the plot elements. + The Figure instance supports callbacks through a *callbacks* attribute which is a `.CallbackRegistry` instance. The events you can connect to are 'dpi_changed', and the callback will be called with ``func(fig)`` where @@ -284,12 +280,12 @@ def __repr__(self): ) def __init__(self, - figsize=None, # defaults to rc figure.figsize - dpi=None, # defaults to rc figure.dpi - facecolor=None, # defaults to rc figure.facecolor - edgecolor=None, # defaults to rc figure.edgecolor - linewidth=0.0, # the default linewidth of the frame - frameon=None, # whether or not to draw the figure frame + figsize=None, + dpi=None, + facecolor=None, + edgecolor=None, + linewidth=0.0, + frameon=None, subplotpars=None, # default to rc tight_layout=None, # default to rc figure.autolayout constrained_layout=None, # default to rc @@ -298,34 +294,35 @@ def __init__(self, """ Parameters ---------- - figsize : 2-tuple of floats - ``(width, height)`` tuple in inches + figsize : 2-tuple of floats, default: :rc:`figure.figsize` + Figure dimension ``(width, height)`` in inches. - dpi : float - Dots per inch + dpi : float, default: :rc:`figure.dpi` + Dots per inch. - facecolor - The figure patch facecolor; defaults to rc ``figure.facecolor`` + facecolor : default: :rc:`figure.facecolor` + The figure patch facecolor. - edgecolor - The figure patch edge color; defaults to rc ``figure.edgecolor`` + edgecolor : default: :rc:`figure.edgecolor` + The figure patch edge color. linewidth : float - The figure patch edge linewidth; the default linewidth of the frame + The linewidth of the frame (i.e. the edge linewidth of the figure + patch). - frameon : bool - If ``False``, suppress drawing the figure frame + frameon : bool, default: :rc:`figure.frameon` + If ``False``, suppress drawing the figure frame. subplotpars : :class:`SubplotParams` - Subplot parameters, defaults to rc + Subplot parameters. If not given, the default subplot + parameters :rc:`figure.subplot.*` are used. - tight_layout : bool - If ``False`` use *subplotpars*; if ``True`` adjust subplot + tight_layout : bool or dict, default: :rc:`figure.autolayout` + If ``False`` use *subplotpars*. If ``True`` adjust subplot parameters using `.tight_layout` with default padding. - When providing a dict containing the keys - ``pad``, ``w_pad``, ``h_pad``, and ``rect``, the default - `.tight_layout` paddings will be overridden. - Defaults to rc ``figure.autolayout``. + When providing a dict containing the keys ``pad``, ``w_pad``, + ``h_pad``, and ``rect``, the default `.tight_layout` paddings + will be overridden. constrained_layout : bool If ``True`` use constrained layout to adjust positioning of plot @@ -334,7 +331,7 @@ def __init__(self, :doc:`/tutorials/intermediate/constrainedlayout_guide` for examples. (Note: does not work with :meth:`.subplot` or :meth:`.subplot2grid`.) - Defaults to rc ``figure.constrained_layout.use``. + Defaults to :rc:`figure.constrained_layout.use`. """ Artist.__init__(self) # remove the non-figure artist _axes property @@ -404,7 +401,7 @@ def __init__(self, self._align_ylabel_grp = cbook.Grouper() @property - @cbook.deprecated("2.1", alternative="Figure.patch") + @cbook.deprecated("2.1", alternative="`.Figure.patch`") def figurePatch(self): return self.patch @@ -462,7 +459,12 @@ def show(self, warn=True): def _get_axes(self): return self._axstack.as_list() - axes = property(fget=_get_axes, doc="Read-only: list of axes in Figure") + axes = property(fget=_get_axes, + doc="List of axes in the Figure. You can access the " + "axes in the Figure through this list. " + "Do not modify the list itself. Instead, use " + "`~Figure.add_axes`, `~.Figure.subplot` or " + "`~.Figure.delaxes` to add or remove an axes.") def _get_dpi(self): return self._dpi @@ -482,12 +484,10 @@ def _set_dpi(self, dpi, forward=True): self.set_size_inches(w, h, forward=forward) self.callbacks.process('dpi_changed', self) - dpi = property(_get_dpi, _set_dpi) + dpi = property(_get_dpi, _set_dpi, doc="The resolution in dots per inch.") def get_tight_layout(self): - """ - Return whether and how `.tight_layout` is called when drawing. - """ + """Return whether `.tight_layout` is called when drawing.""" return self._tight def set_tight_layout(self, tight): @@ -517,7 +517,7 @@ def get_constrained_layout(self): """ Return a boolean: True means constrained layout is being used. - See :doc:`/tutorials/intermediate/constrainedlayout_guide` + See :doc:`/tutorials/intermediate/constrainedlayout_guide`. """ return self._constrained @@ -533,7 +533,7 @@ def set_constrained_layout(self, constrained): ACCEPTS: [True | False | dict | None ] - See :doc:`/tutorials/intermediate/constrainedlayout_guide` + See :doc:`/tutorials/intermediate/constrainedlayout_guide`. """ self._constrained_layout_pads = dict() self._constrained_layout_pads['w_pad'] = None @@ -555,7 +555,7 @@ def set_constrained_layout_pads(self, **kwargs): Set padding for ``constrained_layout``. Note the kwargs can be passed as a dictionary ``fig.set_constrained_layout(**paddict)``. - See :doc:`/tutorials/intermediate/constrainedlayout_guide` + See :doc:`/tutorials/intermediate/constrainedlayout_guide`. Parameters ---------- @@ -593,7 +593,7 @@ def get_constrained_layout_pads(self, relative=False): Returns a list of `w_pad, h_pad` in inches and `wspace` and `hspace` as fractions of the subplot. - See :doc:`/tutorials/intermediate/constrainedlayout_guide` + See :doc:`/tutorials/intermediate/constrainedlayout_guide`. Parameters ---------- @@ -626,17 +626,17 @@ def autofmt_xdate(self, bottom=0.2, rotation=30, ha='right', which=None): Parameters ---------- bottom : scalar - The bottom of the subplots for :meth:`subplots_adjust` + The bottom of the subplots for :meth:`subplots_adjust`. rotation : angle in degrees - The rotation of the xtick labels + The rotation of the xtick labels. ha : string - The horizontal alignment of the xticklabels + The horizontal alignment of the xticklabels. which : {None, 'major', 'minor', 'both'} - Selects which ticklabels to rotate (default is None which works - same as major) + Selects which ticklabels to rotate. Default is None which works + the same as major. """ allsubplots = all(hasattr(ax, 'is_last_row') for ax in self.axes) if len(self.axes) == 1: @@ -675,7 +675,9 @@ def contains(self, mouseevent): """ Test whether the mouse event occurred on the figure. - Returns True, {}. + Returns + ------- + bool, {} """ if callable(self._contains): return self._contains(self, mouseevent) @@ -684,7 +686,7 @@ def contains(self, mouseevent): def get_window_extent(self, *args, **kwargs): """ - Return figure bounding box in display space; arguments are ignored. + Return the figure bounding box in display space. Arguments are ignored. """ return self.bbox @@ -783,71 +785,74 @@ def hold(self, b=None): else: self._hold = b - def figimage(self, X, - xo=0, - yo=0, - alpha=None, - norm=None, - cmap=None, - vmin=None, - vmax=None, - origin=None, - resize=False, - **kwargs): + def figimage(self, X, xo=0, yo=0, alpha=None, norm=None, cmap=None, + vmin=None, vmax=None, origin=None, resize=False, **kwargs): """ - Adds a non-resampled image to the figure. + Add a non-resampled image to the figure. - call signatures:: + The image is attached to the lower or upper left corner depending on + *origin*. - figimage(X, **kwargs) + Parameters + ---------- + X + The image data. This is an array of one of the following shapes: - adds a non-resampled array *X* to the figure. + - MxN: luminance (grayscale) values + - MxNx3: RGB values + - MxNx4: RGBA values - :: + xo, yo : int + The *x*/*y* image offset in pixels. + + alpha : None or float + The alpha blending value. + + norm : :class:`matplotlib.colors.Normalize` + A :class:`.Normalize` instance to map the luminance to the + interval [0, 1]. + + cmap : str or :class:`matplotlib.colors.Colormap` + The colormap to use. Default: :rc:`image.cmap`. + + vmin, vmax : scalar + If *norm* is not given, these values set the data limits for the + colormap. + + origin : {'upper', 'lower'} + Indicates where the [0, 0] index of the array is in the upper left + or lower left corner of the axes. Defaults to :rc:`image.origin`. - figimage(X, xo, yo) - - with pixel offsets *xo*, *yo*, - - *X* must be a float array: - - * If *X* is MxN, assume luminance (grayscale) - * If *X* is MxNx3, assume RGB - * If *X* is MxNx4, assume RGBA - - Optional keyword arguments: - - ========= ========================================================= - Keyword Description - ========= ========================================================= - resize a boolean, True or False. If "True", then re-size the - Figure to match the given image size. - xo or yo An integer, the *x* and *y* image offset in pixels - cmap a :class:`matplotlib.colors.Colormap` instance, e.g., - cm.jet. If *None*, default to the rc ``image.cmap`` - value - norm a :class:`matplotlib.colors.Normalize` instance. The - default is normalization(). This scales luminance -> 0-1 - vmin|vmax are used to scale a luminance image to 0-1. If either - is *None*, the min and max of the luminance values will - be used. Note if you pass a norm instance, the settings - for *vmin* and *vmax* will be ignored. - alpha the alpha blending value, default is *None* - origin [ 'upper' | 'lower' ] Indicates where the [0,0] index of - the array is in the upper left or lower left corner of - the axes. Defaults to the rc image.origin value - ========= ========================================================= + resize : bool + If *True*, resize the figure to match the given image size. + Returns + ------- + :class:`matplotlib.image.FigureImage` + + Other Parameters + ---------------- + **kwargs + Additional kwargs are `.Artist` kwargs passed on to `.FigureImage`. + + Notes + ----- figimage complements the axes image (:meth:`~matplotlib.axes.Axes.imshow`) which will be resampled to fit the current axes. If you want a resampled image to fill the entire figure, you can define an :class:`~matplotlib.axes.Axes` with extent [0,0,1,1]. - An :class:`matplotlib.image.FigureImage` instance is returned. - Additional kwargs are Artist kwargs passed on to - :class:`~matplotlib.image.FigureImage` + Examples:: + + f = plt.figure() + nx = int(f.get_figwidth() * f.dpi) + ny = int(f.get_figheight() * f.dpi) + data = np.random.random((ny, nx)) + f.figimage(data) + plt.show() + """ if not self._hold: @@ -912,13 +917,12 @@ def set_size_inches(self, w, h=None, forward=True): def get_size_inches(self): """ - Returns the current size of the figure in inches (1in == 2.54cm) - as an numpy array. + Returns the current size of the figure in inches. Returns ------- size : ndarray - The size of the figure in inches + The size (width, height) of the figure in inches. See Also -------- @@ -935,24 +939,24 @@ def get_facecolor(self): return self.patch.get_facecolor() def get_figwidth(self): - """Return the figwidth as a float.""" + """Return the figure width as a float.""" return self.bbox_inches.width def get_figheight(self): - """Return the figheight as a float.""" + """Return the figure height as a float.""" return self.bbox_inches.height def get_dpi(self): - """Return the dpi as a float.""" + """Return the resolution in dots per inch as a float.""" return self.dpi def get_frameon(self): - """Get the boolean indicating frameon.""" + """Return whether the figure frame will be drawn.""" return self.frameon def set_edgecolor(self, color): """ - Set the edge color of the Figure rectangle + Set the edge color of the Figure rectangle. ACCEPTS: any matplotlib color - see help(colors) """ @@ -960,7 +964,7 @@ def set_edgecolor(self, color): def set_facecolor(self, color): """ - Set the face color of the Figure rectangle + Set the face color of the Figure rectangle. ACCEPTS: any matplotlib color - see help(colors) """ @@ -968,7 +972,7 @@ def set_facecolor(self, color): def set_dpi(self, val): """ - Set the dots-per-inch of the figure + Set the dots-per-inch of the figure. ACCEPTS: float """ @@ -977,7 +981,7 @@ def set_dpi(self, val): def set_figwidth(self, val, forward=True): """ - Set the width of the figure in inches + Set the width of the figure in inches. ACCEPTS: float """ @@ -985,7 +989,7 @@ def set_figwidth(self, val, forward=True): def set_figheight(self, val, forward=True): """ - Set the height of the figure in inches + Set the height of the figure in inches. ACCEPTS: float """ @@ -1041,18 +1045,20 @@ def fixlist(args): def add_axes(self, *args, **kwargs): """ - Add an axes at position *rect* [*left*, *bottom*, *width*, - *height*] where all quantities are in fractions of figure - width and height. + Add an axes to the figure. + + Call signature:: + + add_axes(rect, projection=None, polar=False, **kwargs) Parameters ---------- rect : sequence of float - A 4-length sequence of [left, bottom, width, height] quantities. + The dimensions [left, bottom, width, height] of the new axes. All + quantities are in fractions of figure width and height. - projection : - ['aitoff' | 'hammer' | 'lambert' | 'mollweide' | \ -'polar' | 'rectilinear'], optional + projection : {None, 'aitoff', 'hammer', 'lambert', 'mollweide', \ +'polar', rectilinear'}, optional The projection type of the axes. polar : boolean, optional @@ -1069,9 +1075,9 @@ def add_axes(self, *args, **kwargs): Examples -------- - A simple example:: + Some simple examples:: - rect = l,b,w,h + rect = l, b, w, h fig.add_axes(rect) fig.add_axes(rect, frameon=False, facecolor='g') fig.add_axes(rect, polar=True) @@ -1146,6 +1152,11 @@ def add_subplot(self, *args, **kwargs): """ Add a subplot. + Call signatures:: + + add_subplot(nrows, ncols, index, **kwargs) + add_subplot(pos, **kwargs) + Parameters ---------- *args @@ -1154,8 +1165,8 @@ def add_subplot(self, *args, **kwargs): integers are R, C, and P in order, the subplot will take the Pth position on a grid with R rows and C columns. - projection : ['aitoff' | 'hammer' | 'lambert' | \ -'mollweide' | 'polar' | 'rectilinear'], optional + projection : {None, 'aitoff', 'hammer', 'lambert', 'mollweide', \ +'polar', rectilinear'}, optional The projection type of the axes. polar : boolean, optional @@ -1491,6 +1502,15 @@ def draw_artist(self, a): a.draw(self._cachedRenderer) def get_axes(self): + """ + Return a list of axes in the Figure. You can access and modify the + axes in the Figure through this list. + + Do not modify the list itself. Instead, use `~Figure.add_axes`, + `~.Figure.subplot` or `~.Figure.delaxes` to add or remove an axes. + + Note: This is equivalent to the property `~.Figure.axes`. + """ return self.axes @docstring.dedent_interpd @@ -1770,7 +1790,7 @@ def _set_artist_props(self, a): @docstring.dedent_interpd def gca(self, **kwargs): """ - Get the current axes, creating one if necessary + Get the current axes, creating one if necessary. The following kwargs are supported for ensuring the returned axes adheres to the given projection etc., and for axes creation if @@ -2194,9 +2214,7 @@ def get_tightbbox(self, renderer): return bbox_inches def init_layoutbox(self): - """ - initilaize the layoutbox for use in constrained_layout. - """ + """Initialize the layoutbox for use in constrained_layout.""" if self._layoutbox is None: self._layoutbox = layoutbox.LayoutBox(parent=None, name='figlb', @@ -2207,7 +2225,7 @@ def execute_constrained_layout(self, renderer=None): """ Use ``layoutbox`` to determine pos positions within axes. - See also set_constrained_layout_pads + See also `.set_constrained_layout_pads`. """ from matplotlib._constrained_layout import (do_constrained_layout) @@ -2284,9 +2302,9 @@ def align_xlabels(self, axs=None): Parameters ---------- - axs : list of `~matplotlib.axes.Axes` (None) - Optional list of (or ndarray) `~matplotlib.axes.Axes` to align - the xlabels. Default is to align all axes on the figure. + axs : list of `~matplotlib.axes.Axes` + Optional list of (or ndarray) `.Axes` to align the xlabels. + Default is to align all axes on the figure. See Also -------- @@ -2352,9 +2370,9 @@ def align_ylabels(self, axs=None): Parameters ---------- - axs : list of `~matplotlib.axes.Axes` (None) - Optional list (or ndarray) of `~matplotlib.axes.Axes` to align - the ylabels. Default is to align all axes on the figure. + axs : list of `~matplotlib.axes.Axes` + Optional list (or ndarray) of `.Axes` to align the ylabels. + Default is to align all axes on the figure. See Also -------- @@ -2415,9 +2433,9 @@ def align_labels(self, axs=None): Parameters ---------- - axs : list of `~matplotlib.axes.Axes` (None) - Optional list (or ndarray) of `~matplotlib.axes.Axes` to - align the labels. Default is to align all axes on the figure. + axs : list of `~matplotlib.axes.Axes` + Optional list (or ndarray) of `.Axes` to align the labels. + Default is to align all axes on the figure. See Also -------- From 7657f82b429c07a2ca705040f0da7339972967c6 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Fri, 2 Mar 2018 16:40:05 -0800 Subject: [PATCH 0228/1161] Mock is in stdlib in Py3. so don't rely on the 3rd party version. Also replace py.test by pytest in the docs (recommended since pytest 3.0, https://docs.pytest.org/en/latest/changelog.html#id281; we require pytest>=3.1 anyways). Also delete tox.ini which is clearly outdated. --- .appveyor.yml | 2 +- .travis.yml | 12 +++--------- INSTALL.rst | 6 +++--- README.rst | 8 ++++---- doc-requirements.txt | 1 - doc/conf.py | 2 -- doc/devel/contributing.rst | 5 ++--- doc/devel/documenting_mpl.rst | 1 - doc/devel/testing.rst | 12 +++++------- doc/sphinxext/mock_gui_toolkits.py | 6 +----- lib/matplotlib/__init__.py | 6 +----- lib/matplotlib/tests/test_backend_qt4.py | 11 +++-------- lib/matplotlib/tests/test_backend_qt5.py | 8 +------- lib/matplotlib/tests/test_dates.py | 16 +++------------- lib/matplotlib/tests/test_legend.py | 12 +++--------- lib/matplotlib/tests/test_rcparams.py | 9 ++------- lib/matplotlib/tests/test_units.py | 10 +++------- lib/matplotlib/tests/test_widgets.py | 10 ++-------- tests.py | 2 +- tox.ini | 3 +-- 20 files changed, 39 insertions(+), 103 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 05efdaf63275..4a093ea0049d 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -59,7 +59,7 @@ install: # - conda create -q -n test-environment python=%PYTHON_VERSION% msinttypes freetype=2.6 "libpng>=1.6.21,<1.7" zlib=1.2 tk=8.5 - pip setuptools numpy mock pandas sphinx tornado + pip setuptools numpy pandas sphinx tornado - activate test-environment - echo %PYTHON_VERSION% %TARGET_ARCH% # pytest-cov>=2.3.1 due to https://github.com/pytest-dev/pytest-cov/issues/124 diff --git a/.travis.yml b/.travis.yml index 1aba1fe913f9..231aff41f789 100644 --- a/.travis.yml +++ b/.travis.yml @@ -48,7 +48,6 @@ env: - secure: "dfjNqGKzQG5bu3FnDNwLG8H/C4QoieFo4PfFmZPdM2RY7WIzukwKFNT6kiDfOrpwt+2bR7FhzjOGlDECGtlGOtYPN8XuXGjhcP4a4IfakdbDfF+D3NPIpf5VlE6776k0VpvcZBTMYJKNFIMc7QPkOwjvNJ2aXyfe3hBuGlKJzQU=" - CYCLER=cycler - DATEUTIL=python-dateutil - - MOCK= - NOSE= - NUMPY=numpy - PANDAS= @@ -71,7 +70,6 @@ matrix: env: - CYCLER=cycler==0.10 - DATEUTIL=python-dateutil==2.1 - - MOCK=mock - NOSE=nose - NUMPY=numpy==1.10.0 - PANDAS='pandas<0.21.0' @@ -87,7 +85,6 @@ matrix: env: PRE=--pre - os: osx language: generic # https://github.com/travis-ci/travis-ci/issues/2312 - env: MOCK=mock only: master cache: # As for now travis caches only "$HOME/.cache/pip" @@ -123,21 +120,18 @@ before_install: fi install: - # Upgrade pip and setuptools. Mock has issues with the default version of - # setuptools - | - # Setup environment + # Setup environment. ccache -s git describe - # Upgrade pip and setuptools and wheel to get as clean an install as possible + # Upgrade pip and setuptools and wheel to get as clean an install as possible. python -mpip install --upgrade pip setuptools wheel - | - # Install dependencies from PyPI + # Install dependencies from PyPI. python -mpip install --upgrade $PRE \ codecov \ coverage \ $CYCLER \ - $MOCK \ $NOSE \ $NUMPY \ $PANDAS \ diff --git a/INSTALL.rst b/INSTALL.rst index 5bd7bec62c30..fcbe2d03a292 100644 --- a/INSTALL.rst +++ b/INSTALL.rst @@ -54,9 +54,9 @@ To run the test suite: * extract the :file:`lib\\matplotlib\\tests` or :file:`lib\\mpl_toolkits\\tests` directories from the source distribution; * install test dependencies: `pytest `_, - `mock `_, Pillow, MiKTeX, GhostScript, - ffmpeg, avconv, ImageMagick, and `Inkscape `_; - * run ``py.test path\to\tests\directory``. + Pillow, MiKTeX, GhostScript, ffmpeg, avconv, ImageMagick, and `Inkscape + `_; + * run ``pytest path\to\tests\directory``. Third-party distributions of Matplotlib diff --git a/README.rst b/README.rst index 8d03c9b9730b..49d5aa78622e 100644 --- a/README.rst +++ b/README.rst @@ -52,16 +52,16 @@ Testing After installation, you can launch the test suite:: - py.test + pytest Or from the Python interpreter:: import matplotlib matplotlib.test() -Consider reading http://matplotlib.org/devel/coding_guide.html#testing for -more information. Note that the test suite requires pytest and, on Python 2.7, -mock. Please install with pip or your package manager of choice. +Consider reading http://matplotlib.org/devel/coding_guide.html#testing for more +information. Note that the test suite requires pytest. Please install with pip +or your package manager of choice. Contact ======= diff --git a/doc-requirements.txt b/doc-requirements.txt index 8f5c6ef41845..27a4ffe76dd8 100644 --- a/doc-requirements.txt +++ b/doc-requirements.txt @@ -10,7 +10,6 @@ sphinx>=1.3,!=1.5.0,!=1.6.4 colorspacious ipython ipywidgets -mock numpydoc>=0.4 pillow sphinx-gallery>=0.1.12 diff --git a/doc/conf.py b/doc/conf.py index 9342fa58c646..5b8112788501 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -58,8 +58,6 @@ def _check_deps(): "numpydoc": 'numpydoc', "PIL.Image": 'pillow', "sphinx_gallery": 'sphinx_gallery'} - if sys.version_info < (3, 3): - names["mock"] = 'mock' missing = [] for name in names: try: diff --git a/doc/devel/contributing.rst b/doc/devel/contributing.rst index 3cecacb9330b..607827584ab9 100644 --- a/doc/devel/contributing.rst +++ b/doc/devel/contributing.rst @@ -142,18 +142,17 @@ Additionally you will need to copy :file:`setup.cfg.template` to In either case you can then run the tests to check your work environment is set up properly:: - python tests.py + pytest .. _pytest: http://doc.pytest.org/en/latest/ .. _pep8: https://pep8.readthedocs.io/en/latest/ -.. _mock: https://docs.python.org/dev/library/unittest.mock.html .. _Ghostscript: https://www.ghostscript.com/ .. _Inkscape: https://inkscape.org> .. note:: **Additional dependencies for testing**: pytest_ (version 3.1 or later), - mock_ (if Python 2), Ghostscript_, Inkscape_ + Ghostscript_, Inkscape_ .. seealso:: diff --git a/doc/devel/documenting_mpl.rst b/doc/devel/documenting_mpl.rst index 2760ed7816c4..794e62239bc7 100644 --- a/doc/devel/documenting_mpl.rst +++ b/doc/devel/documenting_mpl.rst @@ -45,7 +45,6 @@ requirements that are needed to build the documentation. They are listed in * Sphinx>=1.3, !=1.5.0, !=1.6.4 * colorspacious * IPython -* mock * numpydoc>=0.4 * Pillow * sphinx-gallery>=0.1.12 diff --git a/doc/devel/testing.rst b/doc/devel/testing.rst index aafa5bd0b859..cab546ad1e87 100644 --- a/doc/devel/testing.rst +++ b/doc/devel/testing.rst @@ -9,7 +9,6 @@ Matplotlib's testing infrastructure depends on pytest_. The tests are in infrastructure are in :mod:`matplotlib.testing`. .. _pytest: http://doc.pytest.org/en/latest/ -.. _mock: https://docs.python.org/3/library/unittest.mock.html .. _Ghostscript: https://www.ghostscript.com/ .. _Inkscape: https://inkscape.org .. _pytest-cov: https://pytest-cov.readthedocs.io/en/latest/ @@ -27,7 +26,6 @@ local FreeType build The following software is required to run the tests: - pytest_ (>=3.1) - - mock_, when running Python 2 - Ghostscript_ (to render PDF files) - Inkscape_ (to render SVG files) @@ -44,7 +42,7 @@ Running the tests Running the tests is simple. Make sure you have pytest installed and run:: - py.test + pytest or:: @@ -74,22 +72,22 @@ To run a single test from the command line, you can provide a file path, optionally followed by the function separated by two colons, e.g., (tests do not need to be installed, but Matplotlib should be):: - py.test lib/matplotlib/tests/test_simplification.py::test_clipping + pytest lib/matplotlib/tests/test_simplification.py::test_clipping or, if tests are installed, a dot-separated path to the module, optionally followed by the function separated by two colons, such as:: - py.test --pyargs matplotlib.tests.test_simplification::test_clipping + pytest --pyargs matplotlib.tests.test_simplification::test_clipping If you want to run the full test suite, but want to save wall time try running the tests in parallel:: - py.test --verbose -n 5 + pytest --verbose -n 5 Depending on your version of Python and pytest-xdist, you may need to set ``PYTHONHASHSEED`` to a fixed value when running in parallel:: - PYTHONHASHSEED=0 py.test --verbose -n 5 + PYTHONHASHSEED=0 pytest --verbose -n 5 An alternative implementation that does not look at command line arguments and works from within Python is to run the tests from the Matplotlib library diff --git a/doc/sphinxext/mock_gui_toolkits.py b/doc/sphinxext/mock_gui_toolkits.py index dea4a91b80cb..9e786f318782 100644 --- a/doc/sphinxext/mock_gui_toolkits.py +++ b/doc/sphinxext/mock_gui_toolkits.py @@ -1,9 +1,5 @@ import sys - -try: - from unittest.mock import MagicMock -except ImportError: - from mock import MagicMock +from unittest.mock import MagicMock class MyCairoCffi(MagicMock): diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 16cce6f04584..873577d56dd1 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -1478,12 +1478,8 @@ def _init_tests(): try: import pytest - try: - from unittest import mock - except ImportError: - import mock except ImportError: - print("matplotlib.test requires pytest and mock to run.") + print("matplotlib.test requires pytest to run.") raise diff --git a/lib/matplotlib/tests/test_backend_qt4.py b/lib/matplotlib/tests/test_backend_qt4.py index a621329772ed..18c94dc2033b 100644 --- a/lib/matplotlib/tests/test_backend_qt4.py +++ b/lib/matplotlib/tests/test_backend_qt4.py @@ -1,16 +1,11 @@ -from __future__ import absolute_import, division, print_function +import copy +from unittest.mock import Mock from matplotlib import pyplot as plt from matplotlib._pylab_helpers import Gcf import matplotlib -import copy import pytest -try: - # mock in python 3.3+ - from unittest import mock -except ImportError: - import mock with matplotlib.rc_context(rc={'backend': 'Qt4Agg'}): qt_compat = pytest.importorskip('matplotlib.backends.qt_compat') @@ -91,7 +86,7 @@ def test_correct_key(qt_key, qt_mods, answer): """ qt_canvas = plt.figure().canvas - event = mock.Mock() + event = Mock() event.isAutoRepeat.return_value = False event.key.return_value = qt_key event.modifiers.return_value = qt_mods diff --git a/lib/matplotlib/tests/test_backend_qt5.py b/lib/matplotlib/tests/test_backend_qt5.py index d6cfeef8fcd3..df56b69a8791 100644 --- a/lib/matplotlib/tests/test_backend_qt5.py +++ b/lib/matplotlib/tests/test_backend_qt5.py @@ -1,17 +1,11 @@ -from __future__ import absolute_import, division, print_function - import copy +from unittest import mock import matplotlib from matplotlib import pyplot as plt from matplotlib._pylab_helpers import Gcf import pytest -try: - # mock in python 3.3+ - from unittest import mock -except ImportError: - import mock with matplotlib.rc_context(rc={'backend': 'Qt5Agg'}): qt_compat = pytest.importorskip('matplotlib.backends.qt_compat', diff --git a/lib/matplotlib/tests/test_dates.py b/lib/matplotlib/tests/test_dates.py index 2a05ee6dffcb..e4af37827593 100644 --- a/lib/matplotlib/tests/test_dates.py +++ b/lib/matplotlib/tests/test_dates.py @@ -1,22 +1,12 @@ -from __future__ import absolute_import, division, print_function - -from six.moves import map - - import datetime -import dateutil import tempfile +from unittest.mock import Mock +import dateutil import numpy as np import pytest import pytz -try: - # mock in python 3.3+ - from unittest import mock -except ImportError: - import mock - from matplotlib.testing.decorators import image_comparison import matplotlib.pyplot as plt import matplotlib.dates as mdates @@ -270,7 +260,7 @@ def test_strftime_fields(dt): def test_date_formatter_callable(): scale = -11 - locator = mock.Mock(_get_unit=mock.Mock(return_value=scale)) + locator = Mock(_get_unit=Mock(return_value=scale)) callable_formatting_function = (lambda dates, _: [dt.strftime('%d-%m//%Y') for dt in dates]) diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py index b25cea273487..db6d596f57e7 100644 --- a/lib/matplotlib/tests/test_legend.py +++ b/lib/matplotlib/tests/test_legend.py @@ -1,15 +1,10 @@ -from __future__ import absolute_import, division, print_function - -try: - # mock in python 3.3+ - from unittest import mock -except ImportError: - import mock import collections +import inspect +from unittest import mock + import numpy as np import pytest - from matplotlib.testing.decorators import image_comparison import matplotlib.pyplot as plt import matplotlib as mpl @@ -17,7 +12,6 @@ import matplotlib.collections as mcollections from matplotlib.legend_handler import HandlerTuple import matplotlib.legend as mlegend -import inspect # test that docstrigs are the same diff --git a/lib/matplotlib/tests/test_rcparams.py b/lib/matplotlib/tests/test_rcparams.py index 4d93a9914c30..a4fd6fd0e96a 100644 --- a/lib/matplotlib/tests/test_rcparams.py +++ b/lib/matplotlib/tests/test_rcparams.py @@ -1,18 +1,13 @@ -from __future__ import absolute_import, division, print_function - import six +from collections import OrderedDict import os +from unittest import mock import warnings -from collections import OrderedDict from cycler import cycler, Cycler import pytest -try: - from unittest import mock -except ImportError: - import mock import matplotlib as mpl import matplotlib.pyplot as plt import matplotlib.colors as mcolors diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py index 65c8da7ea7d4..7cc78dc21840 100644 --- a/lib/matplotlib/tests/test_units.py +++ b/lib/matplotlib/tests/test_units.py @@ -1,15 +1,11 @@ +import datetime +from unittest.mock import MagicMock + from matplotlib.cbook import iterable import matplotlib.pyplot as plt from matplotlib.testing.decorators import image_comparison import matplotlib.units as munits import numpy as np -import datetime - -try: - # mock in python 3.3+ - from unittest.mock import MagicMock -except ImportError: - from mock import MagicMock # Basic class that wraps numpy array and has units diff --git a/lib/matplotlib/tests/test_widgets.py b/lib/matplotlib/tests/test_widgets.py index b8a3efc2956d..afd50ef24e3c 100644 --- a/lib/matplotlib/tests/test_widgets.py +++ b/lib/matplotlib/tests/test_widgets.py @@ -1,10 +1,4 @@ -from __future__ import absolute_import, division, print_function - -try: - # mock in python 3.3+ - from unittest import mock -except ImportError: - import mock +from unittest.mock import Mock import matplotlib.widgets as widgets import matplotlib.pyplot as plt @@ -60,7 +54,7 @@ def do_event(tool, etype, button=1, xdata=0, ydata=0, key=None, step=1): *step* number of scroll steps (positive for 'up', negative for 'down') """ - event = mock.Mock() + event = Mock() event.button = button ax = tool.ax event.x, event.y = ax.transData.transform([(xdata, ydata), diff --git a/tests.py b/tests.py index 88d3e2195343..5817b6c0a9ee 100755 --- a/tests.py +++ b/tests.py @@ -4,7 +4,7 @@ # # $ python tests.py -v -d # -# The arguments are identical to the arguments accepted by py.test. +# The arguments are identical to the arguments accepted by pytest. # # See http://doc.pytest.org/ for a detailed description of these options. diff --git a/tox.ini b/tox.ini index 8e02e989dcb2..9407b70d6517 100644 --- a/tox.ini +++ b/tox.ini @@ -4,7 +4,7 @@ # and then run "tox" from this directory. [tox] -envlist = py27, py34, py35, py36 +envlist = py35, py36 [testenv] changedir = /tmp @@ -12,6 +12,5 @@ commands = sh -c 'rm -f $HOME/.matplotlib/fontList*' {envpython} {toxinidir}/tests.py --processes=-1 --process-timeout=300 deps = - mock numpy pytest From c3c10fab80f3b82ae4a1753f860a67280fac0528 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Fri, 2 Mar 2018 18:14:47 -0800 Subject: [PATCH 0229/1161] Minor fixes to event handling docs. Add a link from the examples to the user's guide. Clarify that the weakref behavior only affects *methods* used as callbacks, not free functions. --- doc/users/event_handling.rst | 14 ++++++++------ examples/event_handling/README.txt | 17 ++++++++--------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/doc/users/event_handling.rst b/doc/users/event_handling.rst index 0b4fdddb7e97..58154411a04c 100644 --- a/doc/users/event_handling.rst +++ b/doc/users/event_handling.rst @@ -4,7 +4,7 @@ Event handling and picking ************************** -matplotlib works with a number of user interface toolkits (wxpython, +Matplotlib works with a number of user interface toolkits (wxpython, tkinter, qt4, gtk, and macosx) and in order to support features like interactive panning and zooming of figures, it is helpful to the developers to have an API for interacting with the figure via key @@ -47,14 +47,16 @@ disconnect the callback, just call:: fig.canvas.mpl_disconnect(cid) .. note:: - The canvas retains only weak references to the callbacks. Therefore - if a callback is a method of a class instance, you need to retain - a reference to that instance. Otherwise the instance will be - garbage-collected and the callback will vanish. + The canvas retains only weak references to instance methods used as + callbacks. Therefore, you need to retain a reference to instances owning + such methods. Otherwise the instance will be garbage-collected and the + callback will vanish. + + This does not affect free functions used as callbacks. Here are the events that you can connect to, the class instances that -are sent back to you when the event occurs, and the event descriptions +are sent back to you when the event occurs, and the event descriptions: ======================= ============================================================================================= diff --git a/examples/event_handling/README.txt b/examples/event_handling/README.txt index 0f99de02dace..165cb66cb15a 100644 --- a/examples/event_handling/README.txt +++ b/examples/event_handling/README.txt @@ -1,13 +1,12 @@ .. _event_handling_examples: -Event Handling +Event handling ============== -Matplotlib supports event handling with a GUI neutral event model, so -you can connect to Matplotlib events without knowledge of what user -interface Matplotlib will ultimately be plugged in to. This has two -advantages: the code you write will be more portable, and Matplotlib -events are aware of things like data coordinate space and which axes -the event occurs in so you don't have to mess with low level -transformation details to go from canvas space to data space. Object -picking examples are also included. +Matplotlib supports :doc:`event handling` with a GUI +neutral event model, so you can connect to Matplotlib events without knowledge +of what user interface Matplotlib will ultimately be plugged in to. This has +two advantages: the code you write will be more portable, and Matplotlib events +are aware of things like data coordinate space and which axes the event occurs +in so you don't have to mess with low level transformation details to go from +canvas space to data space. Object picking examples are also included. From e0283a94739b254f98136d2f24ecd75dc0495e54 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Sat, 24 Feb 2018 20:45:03 -0800 Subject: [PATCH 0230/1161] Switch to per-file locking. Replace the Locked contextmanager (which locks a directory, preventing other (cooperative) processes to access it) by a private _lock_path contextmanager, which locks a single file (or directory). - The finer grained lock avoids locking out the entire tex cache when handling usetex, which is useful when running multiple processes at once. - Python3 implements the `"x"` ("exclusive") mode to open, which we can use instead of relying on `makedirs` to achieve a race-free operation on the filesystem. - The previous implementation allowed multiple threads of a single process to acquire the same lock, but (for the use cases here, e.g. running a tex subprocess) this is actually undesirable. Removing this behavior also simplifies the implementation. - As far as I can tell, the previous implementation was actually racy: in retries = 50 sleeptime = 0.1 while retries: files = glob.glob(self.pattern) if files and not files[0].endswith(self.end): time.sleep(sleeptime) retries -= 1 else: break else: err_str = _lockstr.format(self.pattern) raise self.TimeoutError(err_str) # <----- HERE if not files: try: os.makedirs(self.lock_path) except OSError: pass else: # PID lock already here --- someone else will remove it. self.remove = False multiple processes can reach "HERE" at the same time and each successfully create their own lock. --- .../2018-02-15-AL-deprecations.rst | 1 + lib/matplotlib/cbook/__init__.py | 36 +++++++++++++++++++ lib/matplotlib/font_manager.py | 6 ++-- lib/matplotlib/texmanager.py | 16 ++++----- 4 files changed, 46 insertions(+), 13 deletions(-) diff --git a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst index 54c6516e2852..07f1ea235504 100644 --- a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst +++ b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst @@ -10,6 +10,7 @@ The following functions and classes are deprecated: - ``cbook.GetRealpathAndStat`` (which is only a helper for ``get_realpath_and_stat``), +- ``cbook.Locked``, - ``cbook.is_numlike`` (use ``isinstance(..., numbers.Number)`` instead), - ``mathtext.unichr_safe`` (use ``chr`` instead), - ``texmanager.dvipng_hack_alpha``, diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index d4d6ce6b2bc4..aac8d6c3f84f 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -24,6 +24,7 @@ import numbers import operator import os +from pathlib import Path import re import sys import time @@ -2486,6 +2487,7 @@ def get_label(y, default_name): """ +@deprecated("3.0") class Locked(object): """ Context manager to handle locks. @@ -2541,6 +2543,40 @@ def __exit__(self, exc_type, exc_value, traceback): pass +@contextlib.contextmanager +def _lock_path(path): + """ + Context manager for locking a path. + + Usage:: + + with _lock_path(path): + ... + + Another thread or process that attempts to lock the same path will wait + until this context manager is exited. + + The lock is implemented by creating a temporary file in the parent + directory, so that directory must exist and be writable. + """ + path = Path(path) + lock_path = path.with_name(path.name + ".matplotlib-lock") + retries = 50 + sleeptime = 0.1 + for _ in range(retries): + try: + with lock_path.open("xb"): + break + except FileExistsError: + time.sleep(sleeptime) + else: + raise TimeoutError(_lockstr.format(lock_path)) + try: + yield + finally: + lock_path.unlink() + + def _topmost_artist( artists, _cached_max=functools.partial(max, key=operator.attrgetter("zorder"))): diff --git a/lib/matplotlib/font_manager.py b/lib/matplotlib/font_manager.py index 14381abfb9df..f8ee04ef74d7 100644 --- a/lib/matplotlib/font_manager.py +++ b/lib/matplotlib/font_manager.py @@ -1446,7 +1446,7 @@ def _rebuild(): fontManager = FontManager() if _fmcache: - with cbook.Locked(cachedir): + with cbook._lock_path(_fmcache): json_dump(fontManager, _fmcache) _log.info("generated new fontManager") @@ -1459,9 +1459,9 @@ def _rebuild(): else: fontManager.default_size = None _log.debug("Using fontManager instance from %s", _fmcache) - except cbook.Locked.TimeoutError: + except TimeoutError: raise - except: + except Exception: _rebuild() else: _rebuild() diff --git a/lib/matplotlib/texmanager.py b/lib/matplotlib/texmanager.py index 8f6273b367f8..4a1c0df8cec7 100644 --- a/lib/matplotlib/texmanager.py +++ b/lib/matplotlib/texmanager.py @@ -33,29 +33,25 @@ """ -from __future__ import absolute_import, division, print_function - import six import copy +import distutils.version import glob import hashlib import logging import os from pathlib import Path +import re import shutil import subprocess import sys import warnings -import distutils.version import numpy as np + import matplotlib as mpl -from matplotlib import rcParams -from matplotlib._png import read_png -from matplotlib.cbook import Locked -import matplotlib.dviread as dviread -import re +from matplotlib import _png, cbook, dviread, rcParams _log = logging.getLogger(__name__) @@ -340,7 +336,7 @@ def make_dvi(self, tex, fontsize): dvifile = '%s.dvi' % basefile if not os.path.exists(dvifile): texfile = self.make_tex(tex, fontsize) - with Locked(self.texcache): + with cbook._lock_path(texfile): self._run_checked_subprocess( ["latex", "-interaction=nonstopmode", "--halt-on-error", texfile], tex) @@ -436,7 +432,7 @@ def get_grey(self, tex, fontsize=None, dpi=None): alpha = self.grey_arrayd.get(key) if alpha is None: pngfile = self.make_png(tex, fontsize, dpi) - X = read_png(os.path.join(self.texcache, pngfile)) + X = _png.read_png(os.path.join(self.texcache, pngfile)) self.grey_arrayd[key] = alpha = X[:, :, -1] return alpha From e9163a8ad5513388d61c16f0aea52b45ba8bfd07 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sun, 21 Jan 2018 23:09:11 +0100 Subject: [PATCH 0231/1161] improve docstrings of pyplot.xticks and pyplot.yticks --- lib/matplotlib/pyplot.py | 126 +++++++++++++++++++++++++++++++-------- 1 file changed, 102 insertions(+), 24 deletions(-) diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index c89d41f9589c..f7fc544f0094 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -1637,24 +1637,63 @@ def yscale(*args, **kwargs): def xticks(*args, **kwargs): """ - Get or set the *x*-limits of the current tick locations and labels. + Get or set the current tick locations and labels of the x-axis. - :: + Call signatures:: + + locs, labels = xticks() # Get locations and labels + + xticks(locs, [labels], **kwargs) # Set locations and labels + + Parameters + ---------- + locs : array_like + A list of positions at which ticks should be placed. You can pass an + empty list to disable xticks. + + labels : array_like, optional + A list of explicit labels to place at the given *locs*. + + **kwargs + :class:`.Text` properties can be used to control the appearance of + the labels. + + Returns + ------- + locs + An array of label locations. + labels + A list of `.Text` objects. + + Notes + ----- + Calling this function with no arguments (e.g. ``xticks()``) is the pyplot + equivalent of calling `~.Axes.get_xticks` and `~.Axes.get_xticklabels` on + the current axes. + Calling this function with arguments is the pyplot equivalent of calling + `~.Axes.set_xticks` and `~.Axes.set_xticklabels` on the current axes. + + Examples + -------- + Get the current locations and labels: + + >>> locs, labels = xticks() + + Set label locations: + + >>> xticks(np.arange(0, 1, step=0.2)) + + Set text labels: - # return locs, labels where locs is an array of tick locations and - # labels is an array of tick labels. - locs, labels = xticks() + >>> xticks(np.arange(5), ('Tom', 'Dick', 'Harry', 'Sally', 'Sue')) - # set the locations of the xticks - xticks( arange(6) ) + Set text labels and properties: - # set the locations and labels of the xticks - xticks( arange(5), ('Tom', 'Dick', 'Harry', 'Sally', 'Sue') ) + >>> xticks(np.arange(12), calendar.month_name[1:13], rotation=20) - The keyword args, if any, are :class:`~matplotlib.text.Text` - properties. For example, to rotate long labels:: + Disable xticks: - xticks( arange(12), calendar.month_name[1:13], rotation=17 ) + >>> xticks([]) """ ax = gca() @@ -1677,24 +1716,63 @@ def xticks(*args, **kwargs): def yticks(*args, **kwargs): """ - Get or set the *y*-limits of the current tick locations and labels. + Get or set the current tick locations and labels of the y-axis. - :: + Call signatures:: + + locs, labels = yticks() # Get locations and labels + + yticks(locs, [labels], **kwargs) # Set locations and labels + + Parameters + ---------- + locs : array_like + A list of positions at which ticks should be placed. You can pass an + empty list to disable yticks. + + labels : array_like, optional + A list of explicit labels to place at the given *locs*. + + **kwargs + :class:`.Text` properties can be used to control the appearance of + the labels. + + Returns + ------- + locs + An array of label locations. + labels + A list of `.Text` objects. + + Notes + ----- + Calling this function with no arguments (e.g. ``yticks()``) is the pyplot + equivalent of calling `~.Axes.get_yticks` and `~.Axes.get_yticklabels` on + the current axes. + Calling this function with arguments is the pyplot equivalent of calling + `~.Axes.set_yticks` and `~.Axes.set_yticklabels` on the current axes. + + Examples + -------- + Get the current locations and labels: + + >>> locs, labels = yticks() + + Set label locations: + + >>> yticks(np.arange(0, 1, step=0.2)) + + Set text labels: - # return locs, labels where locs is an array of tick locations and - # labels is an array of tick labels. - locs, labels = yticks() + >>> yticks(np.arange(5), ('Tom', 'Dick', 'Harry', 'Sally', 'Sue')) - # set the locations of the yticks - yticks( arange(6) ) + Set text labels and properties: - # set the locations and labels of the yticks - yticks( arange(5), ('Tom', 'Dick', 'Harry', 'Sally', 'Sue') ) + >>> yticks(np.arange(12), calendar.month_name[1:13], rotation=45) - The keyword args, if any, are :class:`~matplotlib.text.Text` - properties. For example, to rotate long labels:: + Disable yticks: - yticks( arange(12), calendar.month_name[1:13], rotation=45 ) + >>> yticks([]) """ ax = gca() From fd33d87f0d866adc215a195212f738b825fae6e0 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Mon, 22 Jan 2018 00:38:21 +0100 Subject: [PATCH 0232/1161] improve docstrings of pyplot.xlim and pyplot.ylim --- lib/matplotlib/pyplot.py | 58 ++++++++++++++++++++++++++-------------- 1 file changed, 38 insertions(+), 20 deletions(-) diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index f7fc544f0094..eae7fc8bcb96 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -1546,24 +1546,32 @@ def ylabel(s, *args, **kwargs): def xlim(*args, **kwargs): """ - Get or set the *x* limits of the current axes. + Get or set the x limits of the current axes. - :: + Call signatures:: - xmin, xmax = xlim() # return the current xlim - xlim( (xmin, xmax) ) # set the xlim to xmin, xmax - xlim( xmin, xmax ) # set the xlim to xmin, xmax + xmin, xmax = xlim() # return the current xlim + xlim((xmin, xmax)) # set the xlim to xmin, xmax + xlim(xmin, xmax) # set the xlim to xmin, xmax - If you do not specify args, you can pass the xmin and xmax as - kwargs, e.g.:: + If you do not specify args, you can pass *xmin* or *xmax* as kwargs, i.e.:: - xlim(xmax=3) # adjust the max leaving min unchanged - xlim(xmin=1) # adjust the min leaving max unchanged + xlim(xmax=3) # adjust the max leaving min unchanged + xlim(xmin=1) # adjust the min leaving max unchanged Setting limits turns autoscaling off for the x-axis. - The new axis limits are returned as a length 2 tuple. + Returns + ------- + xmin, xmax + A tuple of the new x-axis limits. + Notes + ----- + Calling this function with no arguments (e.g. ``xlim()``) is the pyplot + equivalent of calling `~.Axes.get_xlim` on the current axes. + Calling this function with arguments is the pyplot equivalent of calling + `~.Axes.set_xlim` on the current axes. All arguments are passed though. """ ax = gca() if not args and not kwargs: @@ -1574,23 +1582,33 @@ def xlim(*args, **kwargs): def ylim(*args, **kwargs): """ - Get or set the *y*-limits of the current axes. + Get or set the y-limits of the current axes. - :: + Call signatures:: - ymin, ymax = ylim() # return the current ylim - ylim( (ymin, ymax) ) # set the ylim to ymin, ymax - ylim( ymin, ymax ) # set the ylim to ymin, ymax + ymin, ymax = ylim() # return the current ylim + ylim((ymin, ymax)) # set the ylim to ymin, ymax + ylim(ymin, ymax) # set the ylim to ymin, ymax - If you do not specify args, you can pass the *ymin* and *ymax* as - kwargs, e.g.:: + If you do not specify args, you can alternatively pass *ymin* or *ymax* as + kwargs, i.e.:: - ylim(ymax=3) # adjust the max leaving min unchanged - ylim(ymin=1) # adjust the min leaving max unchanged + ylim(ymax=3) # adjust the max leaving min unchanged + ylim(ymin=1) # adjust the min leaving max unchanged Setting limits turns autoscaling off for the y-axis. - The new axis limits are returned as a length 2 tuple. + Returns + ------- + ymin, ymax + A tuple of the new y-axis limits. + + Notes + ----- + Calling this function with no arguments (e.g. ``ylim()``) is the pyplot + equivalent of calling `~.Axes.get_ylim` on the current axes. + Calling this function with arguments is the pyplot equivalent of calling + `~.Axes.set_ylim` on the current axes. All arguments are passed though. """ ax = gca() if not args and not kwargs: From 7ad7c6246d16921b72cb87fb56bbbaf183f01614 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Tue, 23 Jan 2018 01:04:00 +0100 Subject: [PATCH 0233/1161] improve docstrings of pyplot.xlabel and pyplot.ylabel --- lib/matplotlib/axes/_axes.py | 22 ++++++++++++---------- lib/matplotlib/pyplot.py | 33 ++++++++++----------------------- 2 files changed, 22 insertions(+), 33 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 612b6f77a999..ed0031221d91 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -211,19 +211,20 @@ def get_xlabel(self): def set_xlabel(self, xlabel, fontdict=None, labelpad=None, **kwargs): """ - Set the label for the xaxis. + Set the label for the x-axis. Parameters ---------- - xlabel : string - x label + xlabel : str + The label text. labelpad : scalar, optional, default: None - spacing in points between the label and the x-axis + Spacing in points between the label and the x-axis. Other Parameters ---------------- - **kwargs : `~matplotlib.text.Text` properties + **kwargs : `.Text` properties + `.Text` properties control the appearance of the label. See also -------- @@ -242,19 +243,20 @@ def get_ylabel(self): def set_ylabel(self, ylabel, fontdict=None, labelpad=None, **kwargs): """ - Set the label for the yaxis + Set the label for the y-axis. Parameters ---------- - ylabel : string - y label + ylabel : str + The label text. labelpad : scalar, optional, default: None - spacing in points between the label and the y-axis + Spacing in points between the label and the y-axis. Other Parameters ---------------- - **kwargs : `~matplotlib.text.Text` properties + **kwargs : `.Text` properties + `.Text` properties control the appearance of the label. See also -------- diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index eae7fc8bcb96..8a5323f25403 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -1505,41 +1505,28 @@ def axis(*v, **kwargs): def xlabel(s, *args, **kwargs): """ - Set the *x* axis label of the current axis. + Set the x-axis label of the current axes. - Default override is:: - - override = { - 'fontsize' : 'small', - 'verticalalignment' : 'top', - 'horizontalalignment' : 'center' - } + Call signature:: - .. seealso:: + xlabel(label, fontdict=None, labelpad=None, **kwargs) - :func:`~matplotlib.pyplot.text` - For information on how override and the optional args work + This is the pyplot equivalent of calling `.set_xlabel` on the current axes. + See there for a full parameter description. """ return gca().set_xlabel(s, *args, **kwargs) def ylabel(s, *args, **kwargs): """ - Set the *y* axis label of the current axis. + Set the y-axis label of the current axes. - Defaults override is:: - - override = { - 'fontsize' : 'small', - 'verticalalignment' : 'center', - 'horizontalalignment' : 'right', - 'rotation'='vertical' : } + Call signature:: - .. seealso:: + ylabel(label, fontdict=None, labelpad=None, **kwargs) - :func:`~matplotlib.pyplot.text` - For information on how override and the optional args - work. + This is the pyplot equivalent of calling `.set_ylabel` on the current axes. + See there for a full parameter description. """ return gca().set_ylabel(s, *args, **kwargs) From 6f28a57bb14418c5e383ad120fa23669a99e58ec Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Tue, 23 Jan 2018 01:52:50 +0100 Subject: [PATCH 0234/1161] improve docstrings of pyplot.xscale and pyplot.yscale --- lib/matplotlib/pyplot.py | 36 ++++++++++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index 8a5323f25403..2277b3056569 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -1607,13 +1607,23 @@ def ylim(*args, **kwargs): @docstring.dedent_interpd def xscale(*args, **kwargs): """ - Set the scaling of the *x*-axis. + Set the scaling of the x-axis. - call signature:: + Call signature:: - xscale(scale, **kwargs) + xscale(scale, **kwargs) + + Parameters + ---------- + scale : [%(scale)s] + The scaling type. + **kwargs + Additional parameters depend on *scale*. See Notes. - The available scales are: %(scale)s + Notes + ----- + This is the pyplot equivalent of calling `~.Axes.set_xscale` on the + current axes. Different keywords may be accepted, depending on the scale: @@ -1625,13 +1635,23 @@ def xscale(*args, **kwargs): @docstring.dedent_interpd def yscale(*args, **kwargs): """ - Set the scaling of the *y*-axis. + Set the scaling of the y-axis. - call signature:: + Call signature:: - yscale(scale, **kwargs) + yscale(scale, **kwargs) + + Parameters + ---------- + scale : [%(scale)s] + The scaling type. + **kwargs + Additional parameters depend on *scale*. See Notes. - The available scales are: %(scale)s + Notes + ----- + This is the pyplot equivalent of calling `~.Axes.set_yscale` on the + current axes. Different keywords may be accepted, depending on the scale: From 39bd5c2da9739d75d759923ce18adf2742a308f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jouni=20K=2E=20Sepp=C3=A4nen?= Date: Sat, 3 Mar 2018 16:59:08 +0200 Subject: [PATCH 0235/1161] Homebrew python is now python 3 --- .travis.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 1aba1fe913f9..d1740a0aeeb1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -110,9 +110,8 @@ before_install: export PATH=/usr/lib/ccache:$PATH else ci/travis/silence brew update - brew install python3 ffmpeg imagemagick mplayer ccache - # make 'python' mean 'python3' - ln -sf /usr/local/bin/python3 /usr/local/bin/python + brew upgrade python + brew install ffmpeg imagemagick mplayer ccache hash -r which python python --version From 8c7fab7cf13506caee8ffeb3e2dacbac9f44b64e Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Sun, 25 Feb 2018 21:09:42 -0800 Subject: [PATCH 0236/1161] Use np.stack / np.column_stack where possible. --- examples/api/custom_projection_example.py | 13 +++--- examples/misc/demo_ribbon_box.py | 2 +- examples/mplot3d/trisurf3d.py | 5 +-- examples/pyplots/boxplot_demo_pyplot.py | 4 +- .../ellipse_collection.py | 2 +- .../shapes_and_collections/line_collection.py | 2 +- examples/specialty_plots/mri_with_eeg.py | 15 +++---- examples/statistics/boxplot_demo.py | 4 +- lib/matplotlib/axes/_axes.py | 20 +++------ lib/matplotlib/axes/_base.py | 3 +- lib/matplotlib/collections.py | 22 ++++----- lib/matplotlib/lines.py | 45 +++++++------------ lib/matplotlib/path.py | 28 +++++------- lib/matplotlib/quiver.py | 13 +++--- lib/matplotlib/tri/triinterpolate.py | 11 ++--- lib/matplotlib/tri/tripcolor.py | 3 +- lib/mpl_toolkits/axisartist/grid_finder.py | 6 +-- lib/mpl_toolkits/mplot3d/axes3d.py | 6 +-- ...test_axisartist_grid_helper_curvelinear.py | 12 ++--- 19 files changed, 83 insertions(+), 133 deletions(-) diff --git a/examples/api/custom_projection_example.py b/examples/api/custom_projection_example.py index 0c7fa720498a..39fb58a1e768 100644 --- a/examples/api/custom_projection_example.py +++ b/examples/api/custom_projection_example.py @@ -395,18 +395,17 @@ def __init__(self, resolution): self._resolution = resolution def transform_non_affine(self, ll): - longitude = ll[:, 0:1] - latitude = ll[:, 1:2] + longitude, latitude = ll.T # Pre-compute some values - half_long = longitude / 2.0 + half_long = longitude / 2 cos_latitude = np.cos(latitude) - sqrt2 = np.sqrt(2.0) + sqrt2 = np.sqrt(2) - alpha = np.sqrt(1.0 + cos_latitude * np.cos(half_long)) - x = (2.0 * sqrt2) * (cos_latitude * np.sin(half_long)) / alpha + alpha = np.sqrt(1 + cos_latitude * np.cos(half_long)) + x = (2 * sqrt2) * (cos_latitude * np.sin(half_long)) / alpha y = (sqrt2 * np.sin(latitude)) / alpha - return np.concatenate((x, y), 1) + return np.column_stack([x, y]) transform_non_affine.__doc__ = Transform.transform_non_affine.__doc__ def transform_path_non_affine(self, path): diff --git a/examples/misc/demo_ribbon_box.py b/examples/misc/demo_ribbon_box.py index 54d6a2e6b52e..cf291be705fc 100644 --- a/examples/misc/demo_ribbon_box.py +++ b/examples/misc/demo_ribbon_box.py @@ -30,7 +30,7 @@ def __init__(self, color): self.original_image.dtype) im[:, :, :3] = self.b_and_h[:, :, np.newaxis] - im[:, :, :3] -= self.color[:, :, np.newaxis]*(1. - np.array(rgb)) + im[:, :, :3] -= self.color[:, :, np.newaxis] * (1 - np.array(rgb)) im[:, :, 3] = self.alpha self.im = im diff --git a/examples/mplot3d/trisurf3d.py b/examples/mplot3d/trisurf3d.py index 192d4eb8aa06..4d6283cad211 100644 --- a/examples/mplot3d/trisurf3d.py +++ b/examples/mplot3d/trisurf3d.py @@ -16,10 +16,7 @@ # Make radii and angles spaces (radius r=0 omitted to eliminate duplication). radii = np.linspace(0.125, 1.0, n_radii) -angles = np.linspace(0, 2*np.pi, n_angles, endpoint=False) - -# Repeat all angles for each radius. -angles = np.repeat(angles[..., np.newaxis], n_radii, axis=1) +angles = np.linspace(0, 2*np.pi, n_angles, endpoint=False)[..., np.newaxis] # Convert polar (radii, angles) coords to cartesian (x, y) coords. # (0, 0) is manually added at this stage, so there will be no duplicate diff --git a/examples/pyplots/boxplot_demo_pyplot.py b/examples/pyplots/boxplot_demo_pyplot.py index 04e349a8dae3..90eabd9e567c 100644 --- a/examples/pyplots/boxplot_demo_pyplot.py +++ b/examples/pyplots/boxplot_demo_pyplot.py @@ -17,7 +17,7 @@ center = np.ones(25) * 50 flier_high = np.random.rand(10) * 100 + 100 flier_low = np.random.rand(10) * -100 -data = np.concatenate((spread, center, flier_high, flier_low), 0) +data = np.concatenate((spread, center, flier_high, flier_low)) ############################################################################### @@ -64,7 +64,7 @@ center = np.ones(25) * 40 flier_high = np.random.rand(10) * 100 + 100 flier_low = np.random.rand(10) * -100 -d2 = np.concatenate((spread, center, flier_high, flier_low), 0) +d2 = np.concatenate((spread, center, flier_high, flier_low)) data.shape = (-1, 1) d2.shape = (-1, 1) diff --git a/examples/shapes_and_collections/ellipse_collection.py b/examples/shapes_and_collections/ellipse_collection.py index 0ca477255b2e..952c988aaf48 100644 --- a/examples/shapes_and_collections/ellipse_collection.py +++ b/examples/shapes_and_collections/ellipse_collection.py @@ -12,7 +12,7 @@ y = np.arange(15) X, Y = np.meshgrid(x, y) -XY = np.hstack((X.ravel()[:, np.newaxis], Y.ravel()[:, np.newaxis])) +XY = np.column_stack((X.ravel(), Y.ravel())) ww = X / 10.0 hh = Y / 15.0 diff --git a/examples/shapes_and_collections/line_collection.py b/examples/shapes_and_collections/line_collection.py index b57ce525c389..f9a06eb7d33c 100644 --- a/examples/shapes_and_collections/line_collection.py +++ b/examples/shapes_and_collections/line_collection.py @@ -22,7 +22,7 @@ # Here are many sets of y to plot vs x ys = x[:50, np.newaxis] + x[np.newaxis, :] -segs = np.zeros((50, 100, 2), float) +segs = np.zeros((50, 100, 2)) segs[:, :, 1] = ys segs[:, :, 0] = x diff --git a/examples/specialty_plots/mri_with_eeg.py b/examples/specialty_plots/mri_with_eeg.py index 26aa36071912..98ffd9fcabea 100644 --- a/examples/specialty_plots/mri_with_eeg.py +++ b/examples/specialty_plots/mri_with_eeg.py @@ -40,11 +40,10 @@ ax1.set_ylabel('MRI density') # Load the EEG data -numSamples, numRows = 800, 4 +n_samples, n_rows = 800, 4 with cbook.get_sample_data('eeg.dat') as eegfile: - data = np.fromfile(eegfile, dtype=float) -data.shape = (numSamples, numRows) -t = 10.0 * np.arange(numSamples) / numSamples + data = np.fromfile(eegfile, dtype=float).reshape((n_samples, n_rows)) +t = 10 * np.arange(n_samples) / n_samples # Plot the EEG ticklocs = [] @@ -55,15 +54,15 @@ dmax = data.max() dr = (dmax - dmin) * 0.7 # Crowd them a bit. y0 = dmin -y1 = (numRows - 1) * dr + dmax +y1 = (n_rows - 1) * dr + dmax ax2.set_ylim(y0, y1) segs = [] -for i in range(numRows): - segs.append(np.hstack((t[:, np.newaxis], data[:, i, np.newaxis]))) +for i in range(n_rows): + segs.append(np.column_stack((t, data[:, i]))) ticklocs.append(i * dr) -offsets = np.zeros((numRows, 2), dtype=float) +offsets = np.zeros((n_rows, 2), dtype=float) offsets[:, 1] = ticklocs lines = LineCollection(segs, offsets=offsets, transOffset=None) diff --git a/examples/statistics/boxplot_demo.py b/examples/statistics/boxplot_demo.py index 0c1be8dc6147..83a566e0a2fa 100644 --- a/examples/statistics/boxplot_demo.py +++ b/examples/statistics/boxplot_demo.py @@ -23,7 +23,7 @@ center = np.ones(25) * 50 flier_high = np.random.rand(10) * 100 + 100 flier_low = np.random.rand(10) * -100 -data = np.concatenate((spread, center, flier_high, flier_low), 0) +data = np.concatenate((spread, center, flier_high, flier_low)) fig, axs = plt.subplots(2, 3) @@ -59,7 +59,7 @@ center = np.ones(25) * 40 flier_high = np.random.rand(10) * 100 + 100 flier_low = np.random.rand(10) * -100 -d2 = np.concatenate((spread, center, flier_high, flier_low), 0) +d2 = np.concatenate((spread, center, flier_high, flier_low)) data.shape = (-1, 1) d2.shape = (-1, 1) # Making a 2-D array only works if all the columns are the diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 79141642824d..c7e904d8a81c 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -5732,26 +5732,20 @@ def pcolor(self, *args, **kwargs): # don't plot if C or any of the surrounding vertices are masked. mask = ma.getmaskarray(C) + xymask - newaxis = np.newaxis compress = np.compress ravelmask = (mask == 0).ravel() - X1 = compress(ravelmask, ma.filled(X[0:-1, 0:-1]).ravel()) - Y1 = compress(ravelmask, ma.filled(Y[0:-1, 0:-1]).ravel()) - X2 = compress(ravelmask, ma.filled(X[1:, 0:-1]).ravel()) - Y2 = compress(ravelmask, ma.filled(Y[1:, 0:-1]).ravel()) + X1 = compress(ravelmask, ma.filled(X[:-1, :-1]).ravel()) + Y1 = compress(ravelmask, ma.filled(Y[:-1, :-1]).ravel()) + X2 = compress(ravelmask, ma.filled(X[1:, :-1]).ravel()) + Y2 = compress(ravelmask, ma.filled(Y[1:, :-1]).ravel()) X3 = compress(ravelmask, ma.filled(X[1:, 1:]).ravel()) Y3 = compress(ravelmask, ma.filled(Y[1:, 1:]).ravel()) - X4 = compress(ravelmask, ma.filled(X[0:-1, 1:]).ravel()) - Y4 = compress(ravelmask, ma.filled(Y[0:-1, 1:]).ravel()) + X4 = compress(ravelmask, ma.filled(X[:-1, 1:]).ravel()) + Y4 = compress(ravelmask, ma.filled(Y[:-1, 1:]).ravel()) npoly = len(X1) - xy = np.concatenate((X1[:, newaxis], Y1[:, newaxis], - X2[:, newaxis], Y2[:, newaxis], - X3[:, newaxis], Y3[:, newaxis], - X4[:, newaxis], Y4[:, newaxis], - X1[:, newaxis], Y1[:, newaxis]), - axis=1) + xy = np.stack([X1, Y1, X2, Y2, X3, Y3, X4, Y4, X1, Y1], axis=-1) verts = xy.reshape((npoly, 5, 2)) C = compress(ravelmask, ma.filled(C[0:Ny - 1, 0:Nx - 1]).ravel()) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index c0f034c30415..364a57de3b87 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -341,8 +341,7 @@ def _makefill(self, x, y, kw, kwargs): # modify the kwargs dictionary. self._setdefaults(default_dict, kwargs) - seg = mpatches.Polygon(np.hstack((x[:, np.newaxis], - y[:, np.newaxis])), + seg = mpatches.Polygon(np.column_stack((x, y)), facecolor=facecolor, fill=kwargs.get('fill', True), closed=kw['closed']) diff --git a/lib/matplotlib/collections.py b/lib/matplotlib/collections.py index 21ec61905ce0..b66470b097a6 100644 --- a/lib/matplotlib/collections.py +++ b/lib/matplotlib/collections.py @@ -1781,11 +1781,9 @@ def convert_mesh_to_paths(tri): This function is primarily of use to backend implementers. """ - Path = mpath.Path triangles = tri.get_masked_triangles() - verts = np.concatenate((tri.x[triangles][..., np.newaxis], - tri.y[triangles][..., np.newaxis]), axis=2) - return [Path(x) for x in verts] + verts = np.stack((tri.x[triangles], tri.y[triangles]), axis=-1) + return [mpath.Path(x) for x in verts] @artist.allow_rasterization def draw(self, renderer): @@ -1798,8 +1796,7 @@ def draw(self, renderer): tri = self._triangulation triangles = tri.get_masked_triangles() - verts = np.concatenate((tri.x[triangles][..., np.newaxis], - tri.y[triangles][..., np.newaxis]), axis=2) + verts = np.stack((tri.x[triangles], tri.y[triangles]), axis=-1) self.update_scalarmappable() colors = self._facecolors[triangles] @@ -1880,22 +1877,19 @@ def convert_mesh_to_paths(meshWidth, meshHeight, coordinates): This function is primarily of use to backend implementers. """ - Path = mpath.Path - if isinstance(coordinates, np.ma.MaskedArray): c = coordinates.data else: c = coordinates - points = np.concatenate(( - c[0:-1, 0:-1], - c[0:-1, 1:], + c[:-1, :-1], + c[:-1, 1:], c[1:, 1:], - c[1:, 0:-1], - c[0:-1, 0:-1] + c[1:, :-1], + c[:-1, :-1] ), axis=2) points = points.reshape((meshWidth * meshHeight, 5, 2)) - return [Path(x) for x in points] + return [mpath.Path(x) for x in points] def convert_mesh_to_triangles(self, meshWidth, meshHeight, coordinates): """ diff --git a/lib/matplotlib/lines.py b/lib/matplotlib/lines.py index 9ed02b624770..709061e4bc63 100644 --- a/lib/matplotlib/lines.py +++ b/lib/matplotlib/lines.py @@ -162,49 +162,38 @@ def _slice_or_none(in_v, slc): _slice_or_none(codes, slice(start, None, step))) elif isinstance(step, float): - if not (isinstance(start, int) or - isinstance(start, float)): - raise ValueError('`markevery` is a tuple with ' - 'len 2 and second element is a float, but ' - 'the first element is not a float or an ' - 'int; ' + if not isinstance(start, (int, float)): + raise ValueError( + '`markevery` is a tuple with len 2 and second element is ' + 'a float, but the first element is not a float or an int; ' 'markevery=%s' % (markevery,)) - #calc cumulative distance along path (in display - # coords): + # calc cumulative distance along path (in display coords): disp_coords = affine.transform(tpath.vertices) - delta = np.empty((len(disp_coords), 2), - dtype=float) - delta[0, :] = 0.0 - delta[1:, :] = (disp_coords[1:, :] - - disp_coords[:-1, :]) + delta = np.empty((len(disp_coords), 2)) + delta[0, :] = 0 + delta[1:, :] = disp_coords[1:, :] - disp_coords[:-1, :] delta = np.sum(delta**2, axis=1) delta = np.sqrt(delta) delta = np.cumsum(delta) - #calc distance between markers along path based on - # the axes bounding box diagonal being a distance - # of unity: - scale = ax_transform.transform( - np.array([[0, 0], [1, 1]])) + # calc distance between markers along path based on the axes + # bounding box diagonal being a distance of unity: + scale = ax_transform.transform(np.array([[0, 0], [1, 1]])) scale = np.diff(scale, axis=0) scale = np.sum(scale**2) scale = np.sqrt(scale) - marker_delta = np.arange(start * scale, - delta[-1], - step * scale) - #find closest actual data point that is closest to + marker_delta = np.arange(start * scale, delta[-1], step * scale) + # find closest actual data point that is closest to # the theoretical distance along the path: - inds = np.abs(delta[np.newaxis, :] - - marker_delta[:, np.newaxis]) + inds = np.abs(delta[np.newaxis, :] - marker_delta[:, np.newaxis]) inds = inds.argmin(axis=1) inds = np.unique(inds) # return, we are done here return Path(verts[inds], _slice_or_none(codes, inds)) else: - raise ValueError('`markevery` is a tuple with ' - 'len 2, but its second element is not an int ' - 'or a float; ' - 'markevery=%s' % (markevery,)) + raise ValueError( + '`markevery` is a tuple with len 2, but its second element is ' + 'not an int or a float; markevery=%s' % (markevery,)) elif isinstance(markevery, slice): # mazol tov, it's already a slice, just return diff --git a/lib/matplotlib/path.py b/lib/matplotlib/path.py index cc04457f4974..7ecdb2d51679 100644 --- a/lib/matplotlib/path.py +++ b/lib/matplotlib/path.py @@ -644,22 +644,20 @@ def unit_rectangle(cls): @classmethod def unit_regular_polygon(cls, numVertices): """ - Return a :class:`Path` instance for a unit regular - polygon with the given *numVertices* and radius of 1.0, - centered at (0, 0). + Return a :class:`Path` instance for a unit regular polygon with the + given *numVertices* and radius of 1.0, centered at (0, 0). """ if numVertices <= 16: path = cls._unit_regular_polygons.get(numVertices) else: path = None if path is None: - theta = (2*np.pi/numVertices * - np.arange(numVertices + 1).reshape((numVertices + 1, 1))) - # This initial rotation is to make sure the polygon always - # "points-up" - theta += np.pi / 2.0 - verts = np.concatenate((np.cos(theta), np.sin(theta)), 1) - codes = np.empty((numVertices + 1,)) + theta = ((2 * np.pi / numVertices) * np.arange(numVertices + 1) + # This initial rotation is to make sure the polygon always + # "points-up". + + np.pi / 2) + verts = np.column_stack((np.cos(theta), np.sin(theta))) + codes = np.empty(numVertices + 1) codes[0] = cls.MOVETO codes[1:-1] = cls.LINETO codes[-1] = cls.CLOSEPOLY @@ -673,9 +671,8 @@ def unit_regular_polygon(cls, numVertices): @classmethod def unit_regular_star(cls, numVertices, innerCircle=0.5): """ - Return a :class:`Path` for a unit regular star - with the given numVertices and radius of 1.0, centered at (0, - 0). + Return a :class:`Path` for a unit regular star with the given + numVertices and radius of 1.0, centered at (0, 0). """ if numVertices <= 16: path = cls._unit_regular_stars.get((numVertices, innerCircle)) @@ -702,9 +699,8 @@ def unit_regular_star(cls, numVertices, innerCircle=0.5): @classmethod def unit_regular_asterisk(cls, numVertices): """ - Return a :class:`Path` for a unit regular - asterisk with the given numVertices and radius of 1.0, - centered at (0, 0). + Return a :class:`Path` for a unit regular asterisk with the given + numVertices and radius of 1.0, centered at (0, 0). """ return cls.unit_regular_star(numVertices, 0.0) diff --git a/lib/matplotlib/quiver.py b/lib/matplotlib/quiver.py index 92de37ecb89a..97b0dcbff1d8 100644 --- a/lib/matplotlib/quiver.py +++ b/lib/matplotlib/quiver.py @@ -444,7 +444,7 @@ def __init__(self, ax, *args, **kw): X, Y, U, V, C = _parse_args(*args) self.X = X self.Y = Y - self.XY = np.hstack((X[:, np.newaxis], Y[:, np.newaxis])) + self.XY = np.column_stack((X, Y)) self.N = len(X) self.scale = kw.pop('scale', None) self.headwidth = kw.pop('headwidth', 3) @@ -617,7 +617,7 @@ def _set_transform(self): def _angles_lengths(self, U, V, eps=1): xy = self.ax.transData.transform(self.XY) - uv = np.hstack((U[:, np.newaxis], V[:, np.newaxis])) + uv = np.column_stack((U, V)) xyp = self.ax.transData.transform(self.XY + eps * uv) dxy = xyp - xy angles = np.arctan2(dxy[:, 1], dxy[:, 0]) @@ -673,8 +673,7 @@ def _make_verts(self, U, V, angles): theta = ma.masked_invalid(np.deg2rad(angles)).filled(0) theta = theta.reshape((-1, 1)) # for broadcasting xy = (X + Y * 1j) * np.exp(1j * theta) * self.width - xy = xy[:, :, np.newaxis] - XY = np.concatenate((xy.real, xy.imag), axis=2) + XY = np.stack((xy.real, xy.imag), axis=2) if self.Umask is not ma.nomask: XY = ma.array(XY) XY[self.Umask] = ma.masked @@ -952,7 +951,7 @@ def __init__(self, ax, *args, **kw): x, y, u, v, c = _parse_args(*args) self.x = x self.y = y - xy = np.hstack((x[:, np.newaxis], y[:, np.newaxis])) + xy = np.column_stack((x, y)) # Make a collection barb_size = self._length ** 2 / 4 # Empirically determined @@ -1171,7 +1170,7 @@ def set_UVC(self, U, V, C=None): self.set_array(c) # Update the offsets in case the masked data changed - xy = np.hstack((x[:, np.newaxis], y[:, np.newaxis])) + xy = np.column_stack((x, y)) self._offsets = xy self.stale = True @@ -1188,7 +1187,7 @@ def set_offsets(self, xy): x, y, u, v = delete_masked_points(self.x.ravel(), self.y.ravel(), self.u, self.v) _check_consistent_shapes(x, y, u, v) - xy = np.hstack((x[:, np.newaxis], y[:, np.newaxis])) + xy = np.column_stack((x, y)) mcollections.PolyCollection.set_offsets(self, xy) self.stale = True diff --git a/lib/matplotlib/tri/triinterpolate.py b/lib/matplotlib/tri/triinterpolate.py index 60ad44378e8f..043bfedb6423 100644 --- a/lib/matplotlib/tri/triinterpolate.py +++ b/lib/matplotlib/tri/triinterpolate.py @@ -516,12 +516,9 @@ def _get_alpha_vec(x, y, tris_pts): a = tris_pts[:, 1, :] - tris_pts[:, 0, :] b = tris_pts[:, 2, :] - tris_pts[:, 0, :] - abT = np.concatenate([np.expand_dims(a, ndim+1), - np.expand_dims(b, ndim+1)], ndim+1) + abT = np.stack([a, b], axis=-1) ab = _transpose_vectorized(abT) - x = np.expand_dims(x, ndim) - y = np.expand_dims(y, ndim) - OM = np.concatenate([x, y], ndim) - tris_pts[:, 0, :] + OM = np.stack([x, y], axis=1) - tris_pts[:, 0, :] metric = _prod_vectorized(ab, abT) # Here we try to deal with the colinear cases. @@ -1548,9 +1545,7 @@ def _transpose_vectorized(M): """ Transposition of an array of matrices *M*. """ - ndim = M.ndim - assert ndim == 3 - return np.transpose(M, [0, ndim-1, ndim-2]) + return np.transpose(M, [0, 2, 1]) def _roll_vectorized(M, roll_indices, axis): diff --git a/lib/matplotlib/tri/tripcolor.py b/lib/matplotlib/tri/tripcolor.py index 1da789a0774e..3a6a06a5749e 100644 --- a/lib/matplotlib/tri/tripcolor.py +++ b/lib/matplotlib/tri/tripcolor.py @@ -118,8 +118,7 @@ def tripcolor(ax, *args, **kwargs): else: # Vertices of triangles. maskedTris = tri.get_masked_triangles() - verts = np.concatenate((tri.x[maskedTris][..., np.newaxis], - tri.y[maskedTris][..., np.newaxis]), axis=2) + verts = np.stack((tri.x[maskedTris], tri.y[maskedTris]), axis=-1) # Color values. if facecolors is None: diff --git a/lib/mpl_toolkits/axisartist/grid_finder.py b/lib/mpl_toolkits/axisartist/grid_finder.py index a9927945d870..ea76ca22f6ec 100644 --- a/lib/mpl_toolkits/axisartist/grid_finder.py +++ b/lib/mpl_toolkits/axisartist/grid_finder.py @@ -182,15 +182,13 @@ def _clip_grid_lines_and_find_ticks(self, lines, values, levs, bb): def update_transform(self, aux_trans): if isinstance(aux_trans, Transform): def transform_xy(x, y): - x, y = np.asarray(x), np.asarray(y) - ll1 = np.concatenate((x[:,np.newaxis], y[:,np.newaxis]), 1) + ll1 = np.column_stack([x, y]) ll2 = aux_trans.transform(ll1) lon, lat = ll2[:,0], ll2[:,1] return lon, lat def inv_transform_xy(x, y): - x, y = np.asarray(x), np.asarray(y) - ll1 = np.concatenate((x[:,np.newaxis], y[:,np.newaxis]), 1) + ll1 = np.column_stack([x, y]) ll2 = aux_trans.inverted().transform(ll1) lon, lat = ll2[:,0], ll2[:,1] return lon, lat diff --git a/lib/mpl_toolkits/mplot3d/axes3d.py b/lib/mpl_toolkits/mplot3d/axes3d.py index 6e4a3fbb7bca..86da56df9cf9 100644 --- a/lib/mpl_toolkits/mplot3d/axes3d.py +++ b/lib/mpl_toolkits/mplot3d/axes3d.py @@ -1996,11 +1996,7 @@ def plot_trisurf(self, *args, **kwargs): xt = tri.x[triangles] yt = tri.y[triangles] zt = z[triangles] - - # verts = np.stack((xt, yt, zt), axis=-1) - verts = np.concatenate(( - xt[..., np.newaxis], yt[..., np.newaxis], zt[..., np.newaxis] - ), axis=-1) + verts = np.stack((xt, yt, zt), axis=-1) polyc = art3d.Poly3DCollection(verts, *args, **kwargs) diff --git a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py index a7c637428a5f..eb25f10c0a6d 100644 --- a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py +++ b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py @@ -35,10 +35,8 @@ def __init__(self, resolution): self._resolution = resolution def transform(self, ll): - x = ll[:, 0:1] - y = ll[:, 1:2] - - return np.concatenate((x, y - x), 1) + x, y = ll.T + return np.column_stack([x, y - x]) transform_non_affine = transform @@ -62,10 +60,8 @@ def __init__(self, resolution): self._resolution = resolution def transform(self, ll): - x = ll[:, 0:1] - y = ll[:, 1:2] - - return np.concatenate((x, y+x), 1) + x, y = ll.T + return np.column_stack([x, y + x]) def inverted(self): return MyTransform(self._resolution) From 6385ccf4944aea5546da53ca1ec717200fdbeae4 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Mon, 26 Feb 2018 02:14:41 -0800 Subject: [PATCH 0237/1161] And some more broadcasting. --- lib/matplotlib/axes/_axes.py | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index c7e904d8a81c..6a7331604c29 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -3175,16 +3175,10 @@ def errorbar(self, x, y, yerr=None, xerr=None, caplines = [] # arrays fine here, they are booleans and hence not units - def _bool_asarray_helper(d, expected): - if not iterable(d): - return np.asarray([d] * expected, bool) - else: - return np.asarray(d, bool) - - lolims = _bool_asarray_helper(lolims, len(x)) - uplims = _bool_asarray_helper(uplims, len(x)) - xlolims = _bool_asarray_helper(xlolims, len(x)) - xuplims = _bool_asarray_helper(xuplims, len(x)) + lolims = np.broadcast_to(lolims, len(x)).astype(bool) + uplims = np.broadcast_to(uplims, len(x)).astype(bool) + xlolims = np.broadcast_to(xlolims, len(x)).astype(bool) + xuplims = np.broadcast_to(xuplims, len(x)).astype(bool) everymask = np.arange(len(x)) % errorevery == 0 @@ -3216,9 +3210,9 @@ def extract_err(err, data): else: if iterable(a) and iterable(b): # using list comps rather than arrays to preserve units - low = [thisx - thiserr for (thisx, thiserr) + low = [thisx - thiserr for thisx, thiserr in cbook.safezip(data, a)] - high = [thisx + thiserr for (thisx, thiserr) + high = [thisx + thiserr for thisx, thiserr in cbook.safezip(data, b)] return low, high # Check if xerr is scalar or symmetric. Asymmetric is handled @@ -3227,13 +3221,13 @@ def extract_err(err, data): # special case for empty lists if len(err) > 1: fe = safe_first_element(err) - if (len(err) != len(data) or np.size(fe) > 1): + if len(err) != len(data) or np.size(fe) > 1: raise ValueError("err must be [ scalar | N, Nx1 " "or 2xN array-like ]") # using list comps rather than arrays to preserve units - low = [thisx - thiserr for (thisx, thiserr) + low = [thisx - thiserr for thisx, thiserr in cbook.safezip(data, err)] - high = [thisx + thiserr for (thisx, thiserr) + high = [thisx + thiserr for thisx, thiserr in cbook.safezip(data, err)] return low, high From 30ee515dc684cd131a86086a00a3d21c5eeb7217 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Sat, 3 Mar 2018 01:42:55 -0800 Subject: [PATCH 0238/1161] Work towards removing reuse-of-axes-on-collision. Currently, Matplotlib reuses axes when add_axes() is called a second time with the same arguments. This behavior is deprecated since 2.1. However we forgot to deprecate the same behavior in gca(), so we can't remove that behavior yet. Also cleanup docstrings of Stack class. Also, process_projection_requirements cannot modify the outer kwargs (because `**kwargs` is always a copy), so remove the incorrect note regarding the need for copies. --- lib/matplotlib/cbook/__init__.py | 45 ++++++++++++++------------ lib/matplotlib/figure.py | 14 +++++--- lib/matplotlib/projections/__init__.py | 10 ++---- 3 files changed, 37 insertions(+), 32 deletions(-) diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index d4d6ce6b2bc4..1e43f4b6f3e2 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -1168,9 +1168,9 @@ def __setitem__(self, k, v): class Stack(object): """ - Implement a stack where elements can be pushed on and you can move - back and forth. But no pop. Should mimic home / back / forward - in a browser + Stack of elements with a movable cursor. + + Mimics home/back/forward in a web browser. """ def __init__(self, default=None): @@ -1178,62 +1178,65 @@ def __init__(self, default=None): self._default = default def __call__(self): - """return the current element, or None""" + """Return the current element, or None.""" if not len(self._elements): return self._default else: return self._elements[self._pos] def __len__(self): - return self._elements.__len__() + return len(self._elements) def __getitem__(self, ind): - return self._elements.__getitem__(ind) + return self._elements[ind] def forward(self): - """move the position forward and return the current element""" - n = len(self._elements) - if self._pos < n - 1: - self._pos += 1 + """Move the position forward and return the current element.""" + self._pos = min(self._pos + 1, len(self._elements) - 1) return self() def back(self): - """move the position back and return the current element""" + """Move the position back and return the current element.""" if self._pos > 0: self._pos -= 1 return self() def push(self, o): """ - push object onto stack at current position - all elements - occurring later than the current position are discarded + Push *o* to the stack at current position. Discard all later elements. + + *o* is returned. """ - self._elements = self._elements[:self._pos + 1] - self._elements.append(o) + self._elements = self._elements[:self._pos + 1] + [o] self._pos = len(self._elements) - 1 return self() def home(self): - """push the first element onto the top of the stack""" + """ + Push the first element onto the top of the stack. + + The first element is returned. + """ if not len(self._elements): return self.push(self._elements[0]) return self() def empty(self): + """Return whether the stack is empty.""" return len(self._elements) == 0 def clear(self): - """empty the stack""" + """Empty the stack.""" self._pos = -1 self._elements = [] def bubble(self, o): """ - raise *o* to the top of the stack and return *o*. *o* must be - in the stack - """ + Raise *o* to the top of the stack. *o* must be present in the stack. + *o* is returned. + """ if o not in self._elements: raise ValueError('Unknown element o') old = self._elements[:] @@ -1249,7 +1252,7 @@ def bubble(self, o): return o def remove(self, o): - 'remove element *o* from the stack' + """Remove *o* from the stack.""" if o not in self._elements: raise ValueError('Unknown element o') old = self._elements[:] diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index 7d72a291d949..e8ad7f56bd0f 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -1792,11 +1792,8 @@ def gca(self, **kwargs): # if the user has specified particular projection detail # then build up a key which can represent this else: - # we don't want to modify the original kwargs - # so take a copy so that we can do what we like to it - kwargs_copy = kwargs.copy() projection_class, _, key = process_projection_requirements( - self, **kwargs_copy) + self, **kwargs) # let the returned axes have any gridspec by removing it from # the key @@ -1806,6 +1803,15 @@ def gca(self, **kwargs): # if the cax matches this key then return the axes, otherwise # continue and a new axes will be created if key == ckey and isinstance(cax, projection_class): + cbook.warn_deprecated( + "3.0", + "Calling `gca()` using the same arguments as a " + "previous axes currently reuses the earlier " + "instance. In a future version, a new instance will " + "always be created and returned. Meanwhile, this " + "warning can be suppressed, and the future behavior " + "ensured, by passing a unique label to each axes " + "instance.") return cax else: warnings.warn('Requested projection is different from ' diff --git a/lib/matplotlib/projections/__init__.py b/lib/matplotlib/projections/__init__.py index 1e423420b0b6..9e01b4bb4295 100644 --- a/lib/matplotlib/projections/__init__.py +++ b/lib/matplotlib/projections/__init__.py @@ -67,15 +67,11 @@ def get_projection_class(projection=None): def process_projection_requirements(figure, *args, **kwargs): """ - Handle the args/kwargs to for add_axes/add_subplot/gca, - returning:: + Handle the args/kwargs to add_axes/add_subplot/gca, returning:: (axes_proj_class, proj_class_kwargs, proj_stack_key) - Which can be used for new axes initialization/identification. - - .. note:: **kwargs** is modified in place. - + which can be used for new axes initialization/identification. """ ispolar = kwargs.pop('polar', False) projection = kwargs.pop('projection', None) @@ -94,7 +90,7 @@ def process_projection_requirements(figure, *args, **kwargs): kwargs.update(**extra_kwargs) else: raise TypeError('projection must be a string, None or implement a ' - '_as_mpl_axes method. Got %r' % projection) + '_as_mpl_axes method. Got %r' % projection) # Make the key without projection kwargs, this is used as a unique # lookup for axes instances From a472daba7d6571fd3f8eed80ac2377bab4dc4561 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sat, 3 Mar 2018 22:45:27 +0100 Subject: [PATCH 0239/1161] Use deprecated decorator for Axes.set_color_style --- lib/matplotlib/axes/_base.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index fc37069f3030..01ec85b2acbc 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -1219,16 +1219,16 @@ def set_prop_cycle(self, *args, **kwargs): self._get_lines.set_prop_cycle(prop_cycle) self._get_patches_for_fill.set_prop_cycle(prop_cycle) + @cbook.deprecated('1.5', alternative='`.set_prop_cycle`') def set_color_cycle(self, clist): """ Set the color cycle for any future plot commands on this Axes. - *clist* is a list of mpl color specifiers. - - .. deprecated:: 1.5 + Parameters + ---------- + clist + A list of mpl color specifiers. """ - cbook.warn_deprecated( - '1.5', name='set_color_cycle', alternative='set_prop_cycle') if clist is None: # Calling set_color_cycle() or set_prop_cycle() with None # effectively resets the cycle, but you can't do From 2c3809fcbefacad536403b3cf9d8852efad1b9ad Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sat, 3 Mar 2018 22:47:04 +0100 Subject: [PATCH 0240/1161] Use css to highlight deprecations in the docs. --- doc/_static/mpl.css | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/doc/_static/mpl.css b/doc/_static/mpl.css index 4c0d53766947..b1a8633d9731 100644 --- a/doc/_static/mpl.css +++ b/doc/_static/mpl.css @@ -373,14 +373,24 @@ div.warning { border: 1px solid #eed3d7; } +div.deprecated { + color: #606060; + background-color: #f0f0f0; + border: 1px solid #404040; +} + +div.deprecated span.versionmodified { + color: #606060; + font-weight: bold; +} + div.green { color: #468847; background-color: #dff0d8; border: 1px solid #d6e9c6; } - -div.admonition p, div.warning p { +div.admonition p, div.warning p, div.deprecated p { margin: 0.5em 1em 0.5em 1em; padding: 0; } @@ -401,7 +411,7 @@ div.warning p.admonition-title { font-size: 14px; } -div.admonition { +div.admonition, div.deprecated { margin-bottom: 10px; margin-top: 10px; padding: 7px; @@ -409,7 +419,6 @@ div.admonition { -moz-border-radius: 4px; } - div.note { background-color: #eee; border: 1px solid #ccc; From 3f4b4a38cb3fafaac2191a5ecea8a4b0eaf6fe93 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sun, 21 Jan 2018 20:53:28 +0100 Subject: [PATCH 0241/1161] improve docstring of Axes.loglog, Axes.semilogx, Axes.semilogy --- lib/matplotlib/axes/_axes.py | 142 +++++++++++++++++++---------------- 1 file changed, 77 insertions(+), 65 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 7681edf57f44..556bec73a364 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -1423,7 +1423,7 @@ def plot(self, *args, **kwargs): Returns ------- lines - A list of `.Line2D` objects that were added. + A list of `.Line2D` objects representing the plotted data. See Also @@ -1566,7 +1566,7 @@ def plot_date(self, x, y, fmt='o', tz=None, xdate=True, ydate=False, Returns ------- lines - A list of `.Line2D` objects that were added to the axes. + A list of `~.Line2D` objects representing the plotted data. Other Parameters @@ -1615,36 +1615,45 @@ def plot_date(self, x, y, fmt='o', tz=None, xdate=True, ydate=False, @docstring.dedent_interpd def loglog(self, *args, **kwargs): """ - Make a plot with log scaling on both the *x* and *y* axis. + Make a plot with log scaling on both the x and y axis. + + Call signatures:: - :func:`~matplotlib.pyplot.loglog` supports all the keyword - arguments of :func:`~matplotlib.pyplot.plot` and - :meth:`matplotlib.axes.Axes.set_xscale` / - :meth:`matplotlib.axes.Axes.set_yscale`. + loglog([x], y, [fmt], data=None, **kwargs) + loglog([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs) + + This is just a thin wrapper around `.plot` which additionally changes + both the x-axis and the y-axis to log scaling. All of the concepts and + parameters of plot can be used here as well. + + The additional parameters *basex/y*, *subsx/y* and *nonposx/y* control + the x/y-axis properties. They are just forwarded to `.Axes.set_xscale` + and `.Axes.set_yscale`. Parameters ---------- - basex, basey : scalar + basex, basey : scalar, optional, default 10 Base of the x/y logarithm. Must be > 1. - subsx, subsy : sequence - The location of the minor x/y ticks; ``None`` defaults to autosubs, - which depend on the number of decades in the plot; - see :meth:`matplotlib.axes.Axes.set_xscale` / - :meth:`matplotlib.axes.Axes.set_yscale` for details. + subsx, subsy : sequence, optional + The location of the minor x/y ticks. If *None*, reasonable + locations are automatically chosen depending on the number of + decades in the plot. + See `.Axes.set_xscale` / `.Axes.set_yscale` for details. - nonposx, nonposy : ['mask' | 'clip' ] + nonposx, nonposy : {'mask', 'clip'}, optional, default 'mask' Non-positive values in x or y can be masked as invalid, or clipped to a very small positive number. + Returns + ------- + lines + A list of `~.Line2D` objects representing the plotted data. + Other Parameters ---------------- - **kwargs : - The remaining valid kwargs are :class:`~matplotlib.lines.Line2D` - properties: - - %(Line2D)s - + **kwargs + All parameters supported by `.plot`. """ if not self._hold: self.cla() @@ -1670,39 +1679,41 @@ def semilogx(self, *args, **kwargs): """ Make a plot with log scaling on the x axis. + Call signatures:: + + semilogx([x], y, [fmt], data=None, **kwargs) + semilogx([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs) + + This is just a thin wrapper around `.plot` which additionally changes + the x-axis to log scaling. All of the concepts and parameters of plot + can be used here as well. + + The additional parameters *basex*, *subsx* and *nonposx* control the + x-axis properties. They are just forwarded to `.Axes.set_xscale`. + Parameters ---------- - basex : float, optional - Base of the x logarithm. The scalar should be larger than 1. + basex : scalar, optional, default 10 + Base of the x logarithm. The value should be larger than 1. subsx : array_like, optional - The location of the minor xticks; ``None`` defaults to - autosubs, which depend on the number of decades in the - plot; see :meth:`~matplotlib.axes.Axes.set_xscale` for - details. + The location of the minor xticks. If *None*, reasonable locations + are automatically chosen depending on the number of decades in the + plot. See `.Axes.set_xscale` for details. - nonposx : string, optional, {'mask', 'clip'} - Non-positive values in x can be masked as - invalid, or clipped to a very small positive number. + nonposx : {'mask', 'clip'}, optional, default 'mask' + Non-positive values in x can be masked as invalid, or clipped to a + very small positive number. Returns ------- - `~matplotlib.pyplot.plot` - Log-scaled plot on the x axis. + lines + A list of `~.Line2D` objects representing the plotted data. Other Parameters ---------------- - **kwargs : - Keyword arguments control the :class:`~matplotlib.lines.Line2D` - properties: - - %(Line2D)s - - Notes - ----- - This function supports all the keyword arguments of - :func:`~matplotlib.pyplot.plot` and - :meth:`matplotlib.axes.Axes.set_xscale`. + **kwargs + All parameters supported by `.plot`. """ if not self._hold: self.cla() @@ -1722,41 +1733,42 @@ def semilogy(self, *args, **kwargs): """ Make a plot with log scaling on the y axis. + Call signatures:: + + semilogy([x], y, [fmt], data=None, **kwargs) + semilogy([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs) + + This is just a thin wrapper around `.plot` which additionally changes + the y-axis to log scaling. All of the concepts and parameters of plot + can be used here as well. + + The additional parameters *basey*, *subsy* and *nonposy* control the + y-axis properties. They are just forwarded to `.Axes.set_yscale`. + Parameters ---------- - basey : float, optional - Base of the y logarithm. The scalar should be larger than 1. + basey : scalar, optional, default 10 + Base of the y logarithm. The value should be larger than 1. subsy : array_like, optional - The location of the minor yticks; ``None`` defaults to - autosubs, which depend on the number of decades in the - plot; see :meth:`~matplotlib.axes.Axes.set_yscale` for - details. + The location of the minor yticks. If *None*, reasonable locations + are automatically chosen depending on the number of decades in the + plot. See `.Axes.set_yscale` for details. - nonposy : string, optional, {'mask', 'clip'} - Non-positive values in *y* can be masked as - invalid, or clipped to a very small positive number. + nonposy : {'mask', 'clip'}, optional, default 'mask' + Non-positive values in y can be masked as invalid, or clipped to a + very small positive number. Returns ------- - `~matplotlib.pyplot.plot` - Log-scaled plot on the *y* axis. + lines + A list of `~.Line2D` objects representing the plotted data. Other Parameters ---------------- - **kwargs : - Keyword arguments control the :class:`~matplotlib.lines.Line2D` - properties: - - %(Line2D)s - - Notes - ----- - This function supports all the keyword arguments of - :func:`~matplotlib.pyplot.plot` and - :meth:`matplotlib.axes.Axes.set_yscale`. + **kwargs + All parameters supported by `.plot`. """ - if not self._hold: self.cla() d = {k: kwargs.pop(k) for k in ['basey', 'subsy', 'nonposy'] From bc48e2ff0b11d5fb43cfd75a5a24c96283121065 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Mon, 22 Jan 2018 02:15:28 +0100 Subject: [PATCH 0242/1161] Remove range notes on log docstrings --- lib/matplotlib/axes/_axes.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 556bec73a364..c93e0386f7a1 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -1633,7 +1633,7 @@ def loglog(self, *args, **kwargs): Parameters ---------- basex, basey : scalar, optional, default 10 - Base of the x/y logarithm. Must be > 1. + Base of the x/y logarithm. subsx, subsy : sequence, optional The location of the minor x/y ticks. If *None*, reasonable @@ -1694,7 +1694,7 @@ def semilogx(self, *args, **kwargs): Parameters ---------- basex : scalar, optional, default 10 - Base of the x logarithm. The value should be larger than 1. + Base of the x logarithm. subsx : array_like, optional The location of the minor xticks. If *None*, reasonable locations @@ -1748,7 +1748,7 @@ def semilogy(self, *args, **kwargs): Parameters ---------- basey : scalar, optional, default 10 - Base of the y logarithm. The value should be larger than 1. + Base of the y logarithm. subsy : array_like, optional The location of the minor yticks. If *None*, reasonable locations From 4d5df415d40bbc873f4bbf7328eab910bdd90db4 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Mon, 22 Jan 2018 02:29:02 +0100 Subject: [PATCH 0243/1161] Raise a ValueError when trying to init a LogScale with an invalid base --- lib/matplotlib/scale.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/matplotlib/scale.py b/lib/matplotlib/scale.py index 9d1054fd9a86..964952a7fcae 100644 --- a/lib/matplotlib/scale.py +++ b/lib/matplotlib/scale.py @@ -253,6 +253,8 @@ def __init__(self, axis, **kwargs): if nonpos not in ['mask', 'clip']: raise ValueError("nonposx, nonposy kwarg must be 'mask' or 'clip'") + if base <= 0 or base == 1: + raise ValueError('The log base cannot be <= 0 or == 1') if base == 10.0: self._transform = self.Log10Transform(nonpos) From 0fbc50c6a4f8c87916b2d382b81f6e50823249b7 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sun, 25 Feb 2018 18:39:02 +0100 Subject: [PATCH 0244/1161] Improve Axes text/annotate related docstrings. --- lib/matplotlib/axes/_axes.py | 58 +++++++++++++++++++----------------- 1 file changed, 30 insertions(+), 28 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index ca3e5bcf7917..97c10e47488c 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -561,16 +561,17 @@ def text(self, x, y, s, fontdict=None, withdash=False, **kwargs): """ Add text to the axes. - Add text in string `s` to axis at location `x`, `y`, data - coordinates. + Add the text *s* to the axes at location *x*, *y* in data coordinates. Parameters ---------- x, y : scalars - data coordinates + The position to place the text. By default, this is in data + coordinates. The coordinate system can be changed using the + *transform* parameter. - s : string - text + s : str + The text. fontdict : dictionary, optional, default: None A dictionary to override the default text properties. If fontdict @@ -580,6 +581,11 @@ def text(self, x, y, s, fontdict=None, withdash=False, **kwargs): Creates a `~matplotlib.text.TextWithDash` instance instead of a `~matplotlib.text.Text` instance. + Returns + ------- + text : `.Text` + The created `.Text` instance. + Other Parameters ---------------- **kwargs : `~matplotlib.text.Text` properties. @@ -597,9 +603,8 @@ def text(self, x, y, s, fontdict=None, withdash=False, **kwargs): lower-left and 1,1 is upper-right). The example below places text in the center of the axes:: - >>> text(0.5, 0.5,'matplotlib', horizontalalignment='center', - ... verticalalignment='center', - ... transform=ax.transAxes) + >>> text(0.5, 0.5, 'matplotlib', horizontalalignment='center', + ... verticalalignment='center', transform=ax.transAxes) You can put a rectangular box around the text instance (e.g., to set a background color) by using the keyword `bbox`. `bbox` is @@ -4781,29 +4786,25 @@ def arrow(self, x, y, dx, dy, **kwargs): """ Add an arrow to the axes. - Draws arrow on specified axis from (`x`, `y`) to (`x` + `dx`, - `y` + `dy`). Uses FancyArrow patch to construct the arrow. + This draws an arrow from ``(x, y)`` to ``(x+dx, y+dy)``. Parameters ---------- - x : float - X-coordinate of the arrow base - y : float - Y-coordinate of the arrow base - dx : float - Length of arrow along x-coordinate - dy : float - Length of arrow along y-coordinate + x, y : float + The x/y-coordinate of the arrow base. + dx, dy : float + The length of the arrow along x/y-direction. Returns ------- - a : FancyArrow - patches.FancyArrow object + arrow : `.FancyArrow` + The created `.FancyArrow` object. Other Parameters - ----------------- - Optional kwargs (inherited from FancyArrow patch) control the arrow - construction and properties: + ---------------- + **kwargs + Optional kwargs (inherited from `.FancyArrow` patch) control the + arrow construction and properties: %(FancyArrow)s @@ -4811,11 +4812,12 @@ def arrow(self, x, y, dx, dy, **kwargs): ----- The resulting arrow is affected by the axes aspect ratio and limits. This may produce an arrow whose head is not square with its stem. To - create an arrow whose head is square with its stem, use - :meth:`annotate` for example:: + create an arrow whose head is square with its stem, + use :meth:`annotate` for example: + + >>> ax.annotate("", xy=(0.5, 0.5), xytext=(0, 0), + ... arrowprops=dict(arrowstyle="->")) - ax.annotate("", xy=(0.5, 0.5), xytext=(0, 0), - arrowprops=dict(arrowstyle="->")) """ # Strip away units for the underlying patch since units # do not make sense to most patch-like code @@ -6181,7 +6183,7 @@ def table(self, **kwargs): cellLoc='right', colWidths=None, rowLabels=None, rowColours=None, rowLoc='left', colLabels=None, colColours=None, colLoc='center', - loc='bottom', bbox=None): + loc='bottom', bbox=None) Returns a :class:`matplotlib.table.Table` instance. Either `cellText` or `cellColours` must be provided. For finer grained control over From 5e00f696f2e6a5a102e370176cc586d622344522 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sun, 4 Mar 2018 01:17:55 +0100 Subject: [PATCH 0245/1161] More figure-related doc updates --- lib/matplotlib/figure.py | 156 +++++++++++++++++++++++++-------------- 1 file changed, 100 insertions(+), 56 deletions(-) diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index 683100657508..761bb04cab33 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -62,8 +62,8 @@ def _stale_figure_callback(self, val): class AxesStack(Stack): """ - Specialization of the Stack to handle all tracking of Axes in a Figure. - This stack stores ``key, (ind, axes)`` pairs, where: + Specialization of the `.Stack` to handle all tracking of `.Axes` in a + `.Figure`. This stack stores ``key, (ind, axes)`` pairs, where: * **key** should be a hash of the args and kwargs used in generating the Axes. @@ -81,7 +81,7 @@ def __init__(self): def as_list(self): """ - Return a list of the Axes instances that have been added to the figure + Return a list of the Axes instances that have been added to the figure. """ ia_list = [a for k, a in self._elements] ia_list.sort() @@ -90,7 +90,7 @@ def as_list(self): def get(self, key): """ Return the Axes instance that was added with *key*. - If it is not present, return None. + If it is not present, return *None*. """ item = dict(self._elements).get(key) if item is None: @@ -694,31 +694,55 @@ def suptitle(self, t, **kwargs): """ Add a centered title to the figure. - kwargs are :class:`matplotlib.text.Text` properties. Using figure - coordinates, the defaults are: + Parameters + ---------- + t : str + The title text. + + x : float, default 0.5 + The x location of the text in figure coordinates. + + y : float, default 0.98 + The y location of the text in figure coordinates. + + horizontalalignment, ha : {'center', 'left', right'}, default: 'center' + The horizontal alignment of the text. - x : 0.5 - The x location of the text in figure coords + verticalalignment, va : {'top', 'center', 'bottom', 'baseline'}, \ +default: 'top' + The vertical alignment of the text. - y : 0.98 - The y location of the text in figure coords + fontsize, size : default: :rc:`figure.titlesize` + The font size of the text. See `.Text.set_size` for possible + values. - horizontalalignment : 'center' - The horizontal alignment of the text + fontweight, weight : default: :rc:`figuretitleweight` + The font weight of the text. See `.Text.set_weight` for possible + values. - verticalalignment : 'top' - The vertical alignment of the text - If the `fontproperties` keyword argument is given then the - rcParams defaults for `fontsize` (`figure.titlesize`) and - `fontweight` (`figure.titleweight`) will be ignored in favour - of the `FontProperties` defaults. + Returns + ------- + text + The `.Text` instance of the title. - A :class:`matplotlib.text.Text` instance is returned. - Example:: + Other Parameters + ---------------- + fontproperties : None or dict, optional + A dict of font properties. If *fontproperties* is given the + default values for font size and weight are taken from the + `FontProperties` defaults. :rc:`figure.titlesize` and + :rc:`figure.titleweight` are ignored in this case. - fig.suptitle('this is the figure title', fontsize=12) + **kwargs + Additional kwargs are :class:`matplotlib.text.Text` properties. + + + Examples + -------- + + >>> fig.suptitle('This is the figure title', fontsize=12) """ x = kwargs.pop('x', 0.5) y = kwargs.pop('y', 0.98) @@ -876,9 +900,9 @@ def figimage(self, X, xo=0, yo=0, alpha=None, norm=None, cmap=None, return im def set_size_inches(self, w, h=None, forward=True): - """Set the figure size in inches (1in == 2.54cm) + """Set the figure size in inches. - Usage :: + Call signatures:: fig.set_size_inches(w, h) # OR fig.set_size_inches((w, h)) @@ -887,7 +911,7 @@ def set_size_inches(self, w, h=None, forward=True): automatically updated; e.g., you can resize the figure window from the shell - ACCEPTS: a w, h tuple with w, h in inches + ACCEPTS: a (w, h) tuple with w, h in inches See Also -------- @@ -972,9 +996,9 @@ def set_facecolor(self, color): def set_dpi(self, val): """ - Set the dots-per-inch of the figure. + Set the resolution of the figure in dots-per-inch. - ACCEPTS: float + .. ACCEPTS: float """ self.dpi = val self.stale = True @@ -983,7 +1007,7 @@ def set_figwidth(self, val, forward=True): """ Set the width of the figure in inches. - ACCEPTS: float + .. ACCEPTS: float """ self.set_size_inches(val, self.get_figheight(), forward=forward) @@ -991,13 +1015,13 @@ def set_figheight(self, val, forward=True): """ Set the height of the figure in inches. - ACCEPTS: float + .. ACCEPTS: float """ self.set_size_inches(self.get_figwidth(), val, forward=forward) def set_frameon(self, b): """ - Set whether the figure frame (background) is displayed or invisible + Set whether the figure frame (background) is displayed or invisible. ACCEPTS: boolean """ @@ -2093,7 +2117,7 @@ def subplots_adjust(self, *args, **kwargs): Call signature:: subplots_adjust(left=None, bottom=None, right=None, top=None, - wspace=None, hspace=None) + wspace=None, hspace=None) Update the :class:`SubplotParams` with *kwargs* (defaulting to rc when *None*) and update the subplot locations. @@ -2194,8 +2218,8 @@ def get_tightbbox(self, renderer): """ Return a (tight) bounding box of the figure in inches. - It only accounts axes title, axis labels, and axis - ticklabels. Needs improvement. + Currently, this takes only axes title, axis labels, and axis + ticklabels into account. Needs improvement. """ bb = [] @@ -2447,30 +2471,50 @@ def align_labels(self, axs=None): def figaspect(arg): """ - Create a figure with specified aspect ratio. If *arg* is a number, - use that aspect ratio. If *arg* is an array, figaspect will - determine the width and height for a figure that would fit array - preserving aspect ratio. The figure width, height in inches are - returned. Be sure to create an axes with equal with and height, - e.g., - - Example usage:: - - # make a figure twice as tall as it is wide - w, h = figaspect(2.) - fig = Figure(figsize=(w,h)) - ax = fig.add_axes([0.1, 0.1, 0.8, 0.8]) - ax.imshow(A, **kwargs) - - - # make a figure with the proper aspect for an array - A = rand(5,3) - w, h = figaspect(A) - fig = Figure(figsize=(w,h)) - ax = fig.add_axes([0.1, 0.1, 0.8, 0.8]) - ax.imshow(A, **kwargs) - - Thanks to Fernando Perez for this function + Calculate the width and height for a figure with a specified aspect ratio. + + While the height is taken from :rc:`figure.figsize`, the width is + adjusted to match the desired aspect ratio. Additionally, it is ensured + that the width is in the range [4., 16.] and the height is in the range + [2., 16.]. If necessary, the default height is adjusted to ensure this. + + Parameters + ---------- + arg : scalar or 2d array + If a scalar, this defines the aspect ratio (i.e. the ratio height / + width). + In case of an array the aspect ratio is number of rows / number of + columns, so that the array could be fitted in the figure undistorted. + + Returns + ------- + width, height + The figure size in inches. + + Notes + ----- + If you want to create an axes within the figure, that still presevers the + aspect ratio, be sure to create it with equal width and height. See + examples below. + + Thanks to Fernando Perez for this function. + + Examples + -------- + Make a figure twice as tall as it is wide:: + + w, h = figaspect(2.) + fig = Figure(figsize=(w, h)) + ax = fig.add_axes([0.1, 0.1, 0.8, 0.8]) + ax.imshow(A, **kwargs) + + Make a figure with the proper aspect for an array:: + + A = rand(5,3) + w, h = figaspect(A) + fig = Figure(figsize=(w, h)) + ax = fig.add_axes([0.1, 0.1, 0.8, 0.8]) + ax.imshow(A, **kwargs) """ isarray = hasattr(arg, 'shape') and not np.isscalar(arg) From 4f69414fdb8cc28dc189f738c4795e083122d982 Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Sat, 3 Mar 2018 09:47:12 -0800 Subject: [PATCH 0246/1161] FIX Speed up constrained layout --- lib/matplotlib/_constrained_layout.py | 128 +++++++++++++------------- 1 file changed, 64 insertions(+), 64 deletions(-) diff --git a/lib/matplotlib/_constrained_layout.py b/lib/matplotlib/_constrained_layout.py index c90bacd590ba..6fe3d7d03b95 100644 --- a/lib/matplotlib/_constrained_layout.py +++ b/lib/matplotlib/_constrained_layout.py @@ -76,17 +76,7 @@ def get_axall_tightbbox(ax, renderer): return bbox -def in_same_column(ss0, ssc): - nrows, ncols = ss0.get_gridspec().get_geometry() - - if ss0.num2 is None: - ss0.num2 = ss0.num1 - rownum0min, colnum0min = divmod(ss0.num1, ncols) - rownum0max, colnum0max = divmod(ss0.num2, ncols) - if ssc.num2 is None: - ssc.num2 = ssc.num1 - rownumCmin, colnumCmin = divmod(ssc.num1, ncols) - rownumCmax, colnumCmax = divmod(ssc.num2, ncols) +def in_same_column(colnum0min, colnum0max, colnumCmin, colnumCmax): if colnum0min >= colnumCmin and colnum0min <= colnumCmax: return True if colnum0max >= colnumCmin and colnum0max <= colnumCmax: @@ -94,17 +84,7 @@ def in_same_column(ss0, ssc): return False -def in_same_row(ss0, ssc): - nrows, ncols = ss0.get_gridspec().get_geometry() - - if ss0.num2 is None: - ss0.num2 = ss0.num1 - rownum0min, colnum0min = divmod(ss0.num1, ncols) - rownum0max, colnum0max = divmod(ss0.num2, ncols) - if ssc.num2 is None: - ssc.num2 = ssc.num1 - rownumCmin, colnumCmin = divmod(ssc.num1, ncols) - rownumCmax, colnumCmax = divmod(ssc.num2, ncols) +def in_same_row(rownum0min, rownum0max, rownumCmin, rownumCmax): if rownum0min >= rownumCmin and rownum0min <= rownumCmax: return True if rownum0max >= rownumCmin and rownum0max <= rownumCmax: @@ -177,6 +157,7 @@ def do_constrained_layout(fig, renderer, h_pad, w_pad, margins) is very large. There must be a math way to check for this case. ''' + invTransFig = fig.transFigure.inverted().transform_bbox # list of unique gridspecs that contain child axes: @@ -314,52 +295,77 @@ def do_constrained_layout(fig, renderer, h_pad, w_pad, and ax._layoutbox is not None): if ax.get_subplotspec().get_gridspec() == gs: axs += [ax] - for ax in axs: - axs = axs[1:] + rownummin = np.zeros(len(axs), dtype=np.int8) + rownummax = np.zeros(len(axs), dtype=np.int8) + colnummin = np.zeros(len(axs), dtype=np.int8) + colnummax = np.zeros(len(axs), dtype=np.int8) + width = np.zeros(len(axs)) + height = np.zeros(len(axs)) + + for n, ax in enumerate(axs): + ss0 = ax.get_subplotspec() + if ss0.num2 is None: + ss0.num2 = ss0.num1 + rownummin[n], colnummin[n] = divmod(ss0.num1, ncols) + rownummax[n], colnummax[n] = divmod(ss0.num2, ncols) + width[n] = np.sum( + width_ratios[colnummin[n]:(colnummax[n] + 1)]) + height[n] = np.sum( + height_ratios[rownummin[n]:(rownummax[n] + 1)]) + + for nn, ax in enumerate(axs[:-1]): + ss0 = ax.get_subplotspec() + # now compare ax to all the axs: # # If the subplotspecs have the same colnumXmax, then line # up their right sides. If they have the same min, then # line up their left sides (and vertical equivalents). - ss0 = ax.get_subplotspec() - if ss0.num2 is None: - ss0.num2 = ss0.num1 - rownum0min, colnum0min = divmod(ss0.num1, ncols) - rownum0max, colnum0max = divmod(ss0.num2, ncols) - for axc in axs: - ssc = axc.get_subplotspec() - # get the rownums and colnums - rownumCmin, colnumCmin = divmod(ssc.num1, ncols) - if ssc.num2 is None: - ssc.num2 = ssc.num1 - rownumCmax, colnumCmax = divmod(ssc.num2, ncols) - + rownum0min, colnum0min = rownummin[nn], colnummin[nn] + rownum0max, colnum0max = rownummax[nn], colnummax[nn] + width0, height0 = width[nn], height[nn] + alignleft = False + alignright = False + alignbot = False + aligntop = False + alignheight = False + alignwidth = False + for mm in range(nn+1, len(axs)): + axc = axs[mm] + rownumCmin, colnumCmin = rownummin[mm], colnummin[mm] + rownumCmax, colnumCmax = rownummax[mm], colnummax[mm] + widthC, heightC = width[mm], height[mm] # Horizontally align axes spines if they have the # same min or max: - if colnum0min == colnumCmin: + if not alignleft and colnum0min == colnumCmin: # we want the _poslayoutboxes to line up on left # side of the axes spines... layoutbox.align([ax._poslayoutbox, axc._poslayoutbox], 'left') - if colnum0max == colnumCmax: + alignleft = True + + if not alignright and colnum0max == colnumCmax: # line up right sides of _poslayoutbox layoutbox.align([ax._poslayoutbox, axc._poslayoutbox], 'right') + alignright = True # Vertically align axes spines if they have the # same min or max: - if rownum0min == rownumCmin: + if not aligntop and rownum0min == rownumCmin: # line up top of _poslayoutbox _log.debug('rownum0min == rownumCmin') layoutbox.align([ax._poslayoutbox, axc._poslayoutbox], 'top') - if rownum0max == rownumCmax: + aligntop = True + + if not alignbot and rownum0max == rownumCmax: # line up bottom of _poslayoutbox _log.debug('rownum0max == rownumCmax') layoutbox.align([ax._poslayoutbox, axc._poslayoutbox], 'bottom') - + alignbot = True ########### # Now we make the widths and heights of position boxes # similar. (i.e the spine locations) @@ -377,22 +383,19 @@ def do_constrained_layout(fig, renderer, h_pad, w_pad, # For height, this only needs to be done if the # subplots share a column. For width if they # share a row. - widthC = np.sum( - width_ratios[colnumCmin:(colnumCmax + 1)]) - width0 = np.sum( - width_ratios[colnum0min:(colnum0max + 1)]) - heightC = np.sum( - height_ratios[rownumCmin:(rownumCmax + 1)]) - height0 = np.sum( - height_ratios[rownum0min:(rownum0max + 1)]) drowsC = (rownumCmax - rownumCmin + 1) drows0 = (rownum0max - rownum0min + 1) dcolsC = (colnumCmax - colnumCmin + 1) dcols0 = (colnum0max - colnum0min + 1) - if height0 > heightC: - if in_same_column(ss0, ssc): + if not alignheight and drows0 == drowsC: + ax._poslayoutbox.constrain_height( + axc._poslayoutbox.height * height0 / heightC) + alignheight = True + elif in_same_column(colnum0min, colnum0max, + colnumCmin, colnumCmax): + if height0 > heightC: ax._poslayoutbox.constrain_height_min( axc._poslayoutbox.height * height0 / heightC) # these constraints stop the smaller axes from @@ -400,34 +403,31 @@ def do_constrained_layout(fig, renderer, h_pad, w_pad, axc._poslayoutbox.constrain_height_min( ax._poslayoutbox.height * heightC / (height0*1.8)) - else: - if in_same_column(ss0, ssc): + elif height0 < heightC: axc._poslayoutbox.constrain_height_min( ax._poslayoutbox.height * heightC / height0) ax._poslayoutbox.constrain_height_min( ax._poslayoutbox.height * height0 / (heightC*1.8)) - if drows0 == drowsC: - ax._poslayoutbox.constrain_height( - axc._poslayoutbox.height * height0 / heightC) # widths... - if width0 > widthC: - if in_same_row(ss0, ssc): + if not alignwidth and dcols0 == dcolsC: + ax._poslayoutbox.constrain_width( + axc._poslayoutbox.width * width0 / widthC) + alignwidth = True + elif in_same_row(rownum0min, rownum0max, + rownumCmin, rownumCmax): + if width0 > widthC: ax._poslayoutbox.constrain_width_min( axc._poslayoutbox.width * width0 / widthC) axc._poslayoutbox.constrain_width_min( ax._poslayoutbox.width * widthC / (width0*1.8)) - else: - if in_same_row(ss0, ssc): + elif width0 < widthC: axc._poslayoutbox.constrain_width_min( ax._poslayoutbox.width * widthC / width0) ax._poslayoutbox.constrain_width_min( axc._poslayoutbox.width * width0 / (widthC*1.8)) - if dcols0 == dcolsC: - ax._poslayoutbox.constrain_width( - axc._poslayoutbox.width * width0 / widthC) fig._layoutbox.constrained_layout_called += 1 fig._layoutbox.update_variables() From 1d45632cfdcd50346698ff7b4fb3febe79ea6108 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sun, 11 Feb 2018 22:46:52 -0500 Subject: [PATCH 0247/1161] Delete GTK2 embedding examples. --- .../embedding_in_gtk2_sgskip.py | 55 ---- .../embedding_in_gtk_sgskip.py | 36 --- examples/user_interfaces/mpl_with_glade.glade | 276 ------------------ ..._glade_316.glade => mpl_with_glade3.glade} | 0 ...16_sgskip.py => mpl_with_glade3_sgskip.py} | 12 +- .../user_interfaces/mpl_with_glade_sgskip.py | 105 ------- tutorials/introductory/sample_plots.py | 4 +- 7 files changed, 10 insertions(+), 478 deletions(-) delete mode 100644 examples/user_interfaces/embedding_in_gtk2_sgskip.py delete mode 100644 examples/user_interfaces/embedding_in_gtk_sgskip.py delete mode 100644 examples/user_interfaces/mpl_with_glade.glade rename examples/user_interfaces/{mpl_with_glade_316.glade => mpl_with_glade3.glade} (100%) rename examples/user_interfaces/{mpl_with_glade_316_sgskip.py => mpl_with_glade3_sgskip.py} (78%) delete mode 100644 examples/user_interfaces/mpl_with_glade_sgskip.py diff --git a/examples/user_interfaces/embedding_in_gtk2_sgskip.py b/examples/user_interfaces/embedding_in_gtk2_sgskip.py deleted file mode 100644 index 176809367f0c..000000000000 --- a/examples/user_interfaces/embedding_in_gtk2_sgskip.py +++ /dev/null @@ -1,55 +0,0 @@ -""" -================= -Embedding In GTK2 -================= - -show how to add a matplotlib FigureCanvasGTK or FigureCanvasGTKAgg widget and -a toolbar to a gtk.Window -""" -import gtk - -from matplotlib.figure import Figure -import numpy as np - -# uncomment to select /GTK/GTKAgg/GTKCairo -#from matplotlib.backends.backend_gtk import FigureCanvasGTK as FigureCanvas -from matplotlib.backends.backend_gtkagg import FigureCanvasGTKAgg as FigureCanvas -#from matplotlib.backends.backend_gtkcairo import FigureCanvasGTKCairo as FigureCanvas - -# or NavigationToolbar for classic -#from matplotlib.backends.backend_gtk import NavigationToolbar2GTK as NavigationToolbar -from matplotlib.backends.backend_gtkagg import NavigationToolbar2GTKAgg as NavigationToolbar - -# implement the default mpl key bindings -from matplotlib.backend_bases import key_press_handler - -win = gtk.Window() -win.connect("destroy", lambda x: gtk.main_quit()) -win.set_default_size(400, 300) -win.set_title("Embedding in GTK") - -vbox = gtk.VBox() -win.add(vbox) - -fig = Figure(figsize=(5, 4), dpi=100) -ax = fig.add_subplot(111) -t = np.arange(0.0, 3.0, 0.01) -s = np.sin(2*np.pi*t) - -ax.plot(t, s) - - -canvas = FigureCanvas(fig) # a gtk.DrawingArea -vbox.pack_start(canvas) -toolbar = NavigationToolbar(canvas, win) -vbox.pack_start(toolbar, False, False) - - -def on_key_event(event): - print('you pressed %s' % event.key) - key_press_handler(event, canvas, toolbar) - -canvas.mpl_connect('key_press_event', on_key_event) - -win.show_all() -gtk.main() diff --git a/examples/user_interfaces/embedding_in_gtk_sgskip.py b/examples/user_interfaces/embedding_in_gtk_sgskip.py deleted file mode 100644 index 7da96306a982..000000000000 --- a/examples/user_interfaces/embedding_in_gtk_sgskip.py +++ /dev/null @@ -1,36 +0,0 @@ -""" -================ -Embedding In GTK -================ - -Show how to add a matplotlib FigureCanvasGTK or FigureCanvasGTKAgg widget to a -gtk.Window -""" - -import gtk - -from matplotlib.figure import Figure -import numpy as np - -# uncomment to select /GTK/GTKAgg/GTKCairo -#from matplotlib.backends.backend_gtk import FigureCanvasGTK as FigureCanvas -from matplotlib.backends.backend_gtkagg import FigureCanvasGTKAgg as FigureCanvas -#from matplotlib.backends.backend_gtkcairo import FigureCanvasGTKCairo as FigureCanvas - - -win = gtk.Window() -win.connect("destroy", lambda x: gtk.main_quit()) -win.set_default_size(400, 300) -win.set_title("Embedding in GTK") - -f = Figure(figsize=(5, 4), dpi=100) -a = f.add_subplot(111) -t = np.arange(0.0, 3.0, 0.01) -s = np.sin(2*np.pi*t) -a.plot(t, s) - -canvas = FigureCanvas(f) # a gtk.DrawingArea -win.add(canvas) - -win.show_all() -gtk.main() diff --git a/examples/user_interfaces/mpl_with_glade.glade b/examples/user_interfaces/mpl_with_glade.glade deleted file mode 100644 index 96e3278b490e..000000000000 --- a/examples/user_interfaces/mpl_with_glade.glade +++ /dev/null @@ -1,276 +0,0 @@ - - - - - - - True - window1 - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_NONE - False - True - False - True - False - False - GDK_WINDOW_TYPE_HINT_NORMAL - GDK_GRAVITY_NORTH_WEST - True - - - - - - - 4 - True - False - 2 - - - - True - - - - True - _File - True - - - - - - - True - gtk-new - True - - - - - - - True - gtk-open - True - - - - - - - True - gtk-save - True - - - - - - - True - gtk-save-as - True - - - - - - - True - - - - - - True - gtk-quit - True - - - - - - - - - - - True - _Edit - True - - - - - - - True - gtk-cut - True - - - - - - - True - gtk-copy - True - - - - - - - True - gtk-paste - True - - - - - - - True - gtk-delete - True - - - - - - - - - - - True - _View - True - - - - - - - - - - - True - _Help - True - - - - - - - True - _About - True - - - - - - - - - - 0 - False - False - - - - - - - - - - True - True - GTK_RELIEF_NORMAL - True - - - - - True - 0.5 - 0.5 - 0 - 0 - 0 - 0 - 0 - 0 - - - - True - False - 2 - - - - True - gtk-dialog-info - 4 - 0.5 - 0.5 - 0 - 0 - - - 0 - False - False - - - - - - True - Click Me! - True - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - - - - 0 - False - False - - - - - - - diff --git a/examples/user_interfaces/mpl_with_glade_316.glade b/examples/user_interfaces/mpl_with_glade3.glade similarity index 100% rename from examples/user_interfaces/mpl_with_glade_316.glade rename to examples/user_interfaces/mpl_with_glade3.glade diff --git a/examples/user_interfaces/mpl_with_glade_316_sgskip.py b/examples/user_interfaces/mpl_with_glade3_sgskip.py similarity index 78% rename from examples/user_interfaces/mpl_with_glade_316_sgskip.py rename to examples/user_interfaces/mpl_with_glade3_sgskip.py index b5cb5a6637fb..ee0c752cd0bb 100644 --- a/examples/user_interfaces/mpl_with_glade_316_sgskip.py +++ b/examples/user_interfaces/mpl_with_glade3_sgskip.py @@ -1,10 +1,12 @@ """ -========================= -Matplotlib With Glade 316 -========================= +======================= +Matplotlib With Glade 3 +======================= """ +import os + from gi.repository import Gtk from matplotlib.figure import Figure @@ -21,7 +23,9 @@ def on_window1_destroy(self, widget): def main(): builder = Gtk.Builder() - builder.add_objects_from_file("mpl_with_glade_316.glade", ("window1", "")) + builder.add_objects_from_file(os.path.join(os.path.dirname(__file__), + "mpl_with_glade3.glade"), + ("window1", "")) builder.connect_signals(Window1Signals()) window = builder.get_object("window1") sw = builder.get_object("scrolledwindow1") diff --git a/examples/user_interfaces/mpl_with_glade_sgskip.py b/examples/user_interfaces/mpl_with_glade_sgskip.py deleted file mode 100644 index 9000942fe210..000000000000 --- a/examples/user_interfaces/mpl_with_glade_sgskip.py +++ /dev/null @@ -1,105 +0,0 @@ -""" -===================== -Matplotlib With Glade -===================== - -""" -import matplotlib -matplotlib.use('GTK') - -from matplotlib.figure import Figure -from matplotlib.axes import Subplot -from matplotlib.backends.backend_gtkagg import FigureCanvasGTKAgg as FigureCanvas -from matplotlib.backends.backend_gtkagg import NavigationToolbar2GTKAgg as NavigationToolbar -from matplotlib.widgets import SpanSelector - -import numpy as np -import gtk -import gtk.glade - - -def simple_msg(msg, parent=None, title=None): - dialog = gtk.MessageDialog( - parent=None, - type=gtk.MESSAGE_INFO, - buttons=gtk.BUTTONS_OK, - message_format=msg) - if parent is not None: - dialog.set_transient_for(parent) - if title is not None: - dialog.set_title(title) - dialog.show() - dialog.run() - dialog.destroy() - return None - - -class GladeHandlers(object): - def on_buttonClickMe_clicked(event): - simple_msg('Nothing to say, really', - parent=widgets['windowMain'], - title='Thanks!') - - -class WidgetsWrapper(object): - def __init__(self): - self.widgets = gtk.glade.XML('mpl_with_glade.glade') - self.widgets.signal_autoconnect(GladeHandlers.__dict__) - - self['windowMain'].connect('destroy', lambda x: gtk.main_quit()) - self['windowMain'].move(10, 10) - self.figure = Figure(figsize=(8, 6), dpi=72) - self.axis = self.figure.add_subplot(111) - - t = np.arange(0.0, 3.0, 0.01) - s = np.sin(2*np.pi*t) - self.axis.plot(t, s) - self.axis.set_xlabel('time (s)') - self.axis.set_ylabel('voltage') - - self.canvas = FigureCanvas(self.figure) # a gtk.DrawingArea - self.canvas.show() - self.canvas.set_size_request(600, 400) - self.canvas.set_events( - gtk.gdk.BUTTON_PRESS_MASK | - gtk.gdk.KEY_PRESS_MASK | - gtk.gdk.KEY_RELEASE_MASK - ) - self.canvas.set_flags(gtk.HAS_FOCUS | gtk.CAN_FOCUS) - self.canvas.grab_focus() - - def keypress(widget, event): - print('key press') - - def buttonpress(widget, event): - print('button press') - - self.canvas.connect('key_press_event', keypress) - self.canvas.connect('button_press_event', buttonpress) - - def onselect(xmin, xmax): - print(xmin, xmax) - - span = SpanSelector(self.axis, onselect, 'horizontal', useblit=False, - rectprops=dict(alpha=0.5, facecolor='red')) - - self['vboxMain'].pack_start(self.canvas, True, True) - self['vboxMain'].show() - - # below is optional if you want the navigation toolbar - self.navToolbar = NavigationToolbar(self.canvas, self['windowMain']) - self.navToolbar.lastDir = '/var/tmp/' - self['vboxMain'].pack_start(self.navToolbar) - self.navToolbar.show() - - sep = gtk.HSeparator() - sep.show() - self['vboxMain'].pack_start(sep, True, True) - - self['vboxMain'].reorder_child(self['buttonClickMe'], -1) - - def __getitem__(self, key): - return self.widgets.get_widget(key) - -widgets = WidgetsWrapper() -gtk.main() diff --git a/tutorials/introductory/sample_plots.py b/tutorials/introductory/sample_plots.py index edd2beb4bab3..0757e5b1f2f8 100644 --- a/tutorials/introductory/sample_plots.py +++ b/tutorials/introductory/sample_plots.py @@ -397,9 +397,9 @@ For examples of how to embed Matplotlib in different toolkits, see: - * :doc:`/gallery/user_interfaces/embedding_in_gtk2_sgskip` + * :doc:`/gallery/user_interfaces/embedding_in_gtk3_sgskip` * :doc:`/gallery/user_interfaces/embedding_in_wx2_sgskip` - * :doc:`/gallery/user_interfaces/mpl_with_glade_sgskip` + * :doc:`/gallery/user_interfaces/mpl_with_glade3_sgskip` * :doc:`/gallery/user_interfaces/embedding_in_qt_sgskip` * :doc:`/gallery/user_interfaces/embedding_in_tk_sgskip` From c0324d871d8ea2a1c0686023b8a1de24eb77c44b Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sun, 11 Feb 2018 22:49:41 -0500 Subject: [PATCH 0248/1161] Explicitly require GTK 3.0 in GTK3 examples. This silences a warning from PyGI. --- examples/user_interfaces/embedding_in_gtk3_panzoom_sgskip.py | 2 ++ examples/user_interfaces/embedding_in_gtk3_sgskip.py | 2 ++ examples/user_interfaces/mpl_with_glade3_sgskip.py | 2 ++ 3 files changed, 6 insertions(+) diff --git a/examples/user_interfaces/embedding_in_gtk3_panzoom_sgskip.py b/examples/user_interfaces/embedding_in_gtk3_panzoom_sgskip.py index ebead87f6ed6..7dfd1a5c56d5 100644 --- a/examples/user_interfaces/embedding_in_gtk3_panzoom_sgskip.py +++ b/examples/user_interfaces/embedding_in_gtk3_panzoom_sgskip.py @@ -6,6 +6,8 @@ Demonstrate NavigationToolbar with GTK3 accessed via pygobject. """ +import gi +gi.require_version('Gtk', '3.0') from gi.repository import Gtk from matplotlib.backends.backend_gtk3 import ( diff --git a/examples/user_interfaces/embedding_in_gtk3_sgskip.py b/examples/user_interfaces/embedding_in_gtk3_sgskip.py index a5e6271488ba..af76a0d724f2 100644 --- a/examples/user_interfaces/embedding_in_gtk3_sgskip.py +++ b/examples/user_interfaces/embedding_in_gtk3_sgskip.py @@ -7,6 +7,8 @@ GTK3 accessed via pygobject. """ +import gi +gi.require_version('Gtk', '3.0') from gi.repository import Gtk from matplotlib.backends.backend_gtk3agg import ( diff --git a/examples/user_interfaces/mpl_with_glade3_sgskip.py b/examples/user_interfaces/mpl_with_glade3_sgskip.py index ee0c752cd0bb..ffdf22e32ce0 100644 --- a/examples/user_interfaces/mpl_with_glade3_sgskip.py +++ b/examples/user_interfaces/mpl_with_glade3_sgskip.py @@ -7,6 +7,8 @@ import os +import gi +gi.require_version('Gtk', '3.0') from gi.repository import Gtk from matplotlib.figure import Figure From 34f60995bef54fd8fac150c2387027e5aacb3750 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sun, 11 Feb 2018 22:52:24 -0500 Subject: [PATCH 0249/1161] Remove deprecated backend methods. --- lib/matplotlib/backends/_backend_tk.py | 88 +---------------------- lib/matplotlib/backends/backend_agg.py | 5 -- lib/matplotlib/backends/backend_qt5agg.py | 11 --- lib/matplotlib/backends/backend_tkagg.py | 11 --- lib/matplotlib/backends/backend_wxagg.py | 6 -- 5 files changed, 3 insertions(+), 118 deletions(-) diff --git a/lib/matplotlib/backends/_backend_tk.py b/lib/matplotlib/backends/_backend_tk.py index e5ef40caf74f..3b48cfa4a14d 100644 --- a/lib/matplotlib/backends/_backend_tk.py +++ b/lib/matplotlib/backends/_backend_tk.py @@ -15,7 +15,7 @@ import matplotlib.backends.windowing as windowing import matplotlib -from matplotlib import backend_tools, cbook, rcParams +from matplotlib import backend_tools, rcParams from matplotlib.backend_bases import ( _Backend, FigureCanvasBase, FigureManagerBase, NavigationToolbar2, StatusbarBase, TimerBase, ToolContainerBase, cursors) @@ -294,10 +294,6 @@ def _update_pointer_position(self, guiEvent=None): else: self.leave_notify_event(guiEvent) - show = cbook.deprecated("2.2", name="FigureCanvasTk.show", - alternative="FigureCanvasTk.draw")( - lambda self: self.draw()) - def draw_idle(self): 'update drawing area only if idle' if self._idle is False: @@ -511,22 +507,8 @@ def _get_toolmanager(self): toolmanager = None return toolmanager - def resize(self, width, height=None): - # before 09-12-22, the resize method takes a single *event* - # parameter. On the other hand, the resize method of other - # FigureManager class takes *width* and *height* parameter, - # which is used to change the size of the window. For the - # Figure.set_size_inches with forward=True work with Tk - # backend, I changed the function signature but tried to keep - # it backward compatible. -JJL - - # when a single parameter is given, consider it as a event - if height is None: - cbook.warn_deprecated("2.2", "FigureManagerTkAgg.resize now takes " - "width and height as separate arguments") - width = width.width - else: - self.canvas._tkcanvas.master.geometry("%dx%d" % (width, height)) + def resize(self, width, height): + self.canvas._tkcanvas.master.geometry("%dx%d" % (width, height)) if self.toolbar is not None: self.toolbar.configure(width=width) @@ -572,70 +554,6 @@ def full_screen_toggle(self): self.window.attributes('-fullscreen', not is_fullscreen) -@cbook.deprecated("2.2") -class AxisMenu(object): - def __init__(self, master, naxes): - self._master = master - self._naxes = naxes - self._mbar = Tk.Frame(master=master, relief=Tk.RAISED, borderwidth=2) - self._mbar.pack(side=Tk.LEFT) - self._mbutton = Tk.Menubutton( - master=self._mbar, text="Axes", underline=0) - self._mbutton.pack(side=Tk.LEFT, padx="2m") - self._mbutton.menu = Tk.Menu(self._mbutton) - self._mbutton.menu.add_command( - label="Select All", command=self.select_all) - self._mbutton.menu.add_command( - label="Invert All", command=self.invert_all) - self._axis_var = [] - self._checkbutton = [] - for i in range(naxes): - self._axis_var.append(Tk.IntVar()) - self._axis_var[i].set(1) - self._checkbutton.append(self._mbutton.menu.add_checkbutton( - label = "Axis %d" % (i+1), - variable=self._axis_var[i], - command=self.set_active)) - self._mbutton.menu.invoke(self._mbutton.menu.index("Select All")) - self._mbutton['menu'] = self._mbutton.menu - self._mbar.tk_menuBar(self._mbutton) - self.set_active() - - def adjust(self, naxes): - if self._naxes < naxes: - for i in range(self._naxes, naxes): - self._axis_var.append(Tk.IntVar()) - self._axis_var[i].set(1) - self._checkbutton.append( self._mbutton.menu.add_checkbutton( - label = "Axis %d" % (i+1), - variable=self._axis_var[i], - command=self.set_active)) - elif self._naxes > naxes: - for i in range(self._naxes-1, naxes-1, -1): - del self._axis_var[i] - self._mbutton.menu.forget(self._checkbutton[i]) - del self._checkbutton[i] - self._naxes = naxes - self.set_active() - - def get_indices(self): - a = [i for i in range(len(self._axis_var)) if self._axis_var[i].get()] - return a - - def set_active(self): - self._master.set_active(self.get_indices()) - - def invert_all(self): - for a in self._axis_var: - a.set(not a.get()) - self.set_active() - - def select_all(self): - for a in self._axis_var: - a.set(1) - self.set_active() - - class NavigationToolbar2Tk(NavigationToolbar2, Tk.Frame): """ Attributes diff --git a/lib/matplotlib/backends/backend_agg.py b/lib/matplotlib/backends/backend_agg.py index 82b724cc8b53..bb5daa14f4d2 100644 --- a/lib/matplotlib/backends/backend_agg.py +++ b/lib/matplotlib/backends/backend_agg.py @@ -68,11 +68,6 @@ class RendererAgg(RendererBase): context instance that controls the colors/styles """ - @property - @cbook.deprecated("2.2") - def debug(self): - return 1 - # we want to cache the fonts at the class level so that when # multiple figures are created we can reuse them. This helps with # a bug on windows where the creation of too many figures leads to diff --git a/lib/matplotlib/backends/backend_qt5agg.py b/lib/matplotlib/backends/backend_qt5agg.py index 4783143d83d6..ab8cbe4994b3 100644 --- a/lib/matplotlib/backends/backend_qt5agg.py +++ b/lib/matplotlib/backends/backend_qt5agg.py @@ -4,7 +4,6 @@ import ctypes -from matplotlib import cbook from matplotlib.transforms import Bbox from .backend_agg import FigureCanvasAgg @@ -20,11 +19,6 @@ def __init__(self, figure): super().__init__(figure=figure) self._bbox_queue = [] - @property - @cbook.deprecated("2.1") - def blitbox(self): - return self._bbox_queue - def paintEvent(self, e): """Copy the image from the Agg canvas to the qt.drawable. @@ -91,11 +85,6 @@ def print_figure(self, *args, **kwargs): self.draw() -@cbook.deprecated("2.2") -class FigureCanvasQTAggBase(FigureCanvasQTAgg): - pass - - @_BackendQT5.export class _BackendQT5Agg(_BackendQT5): FigureCanvas = FigureCanvasQTAgg diff --git a/lib/matplotlib/backends/backend_tkagg.py b/lib/matplotlib/backends/backend_tkagg.py index 68444504bf9a..b4690a6d461f 100644 --- a/lib/matplotlib/backends/backend_tkagg.py +++ b/lib/matplotlib/backends/backend_tkagg.py @@ -1,4 +1,3 @@ -from .. import cbook from . import tkagg # Paint image to Tk photo blitter extension. from .backend_agg import FigureCanvasAgg from ._backend_tk import ( @@ -17,16 +16,6 @@ def blit(self, bbox=None): self._master.update_idletasks() -@cbook.deprecated("2.2") -class FigureManagerTkAgg(FigureManagerTk): - pass - - -@cbook.deprecated("2.2") -class NavigationToolbar2TkAgg(NavigationToolbar2Tk): - pass - - @_BackendTk.export class _BackendTkAgg(_BackendTk): FigureCanvas = FigureCanvasTkAgg diff --git a/lib/matplotlib/backends/backend_wxagg.py b/lib/matplotlib/backends/backend_wxagg.py index 041f274a78b1..ee628fc0dc9b 100644 --- a/lib/matplotlib/backends/backend_wxagg.py +++ b/lib/matplotlib/backends/backend_wxagg.py @@ -6,7 +6,6 @@ import wx import matplotlib -from matplotlib import cbook from . import wx_compat as wxc from .backend_agg import FigureCanvasAgg from .backend_wx import ( @@ -72,11 +71,6 @@ def blit(self, bbox=None): filetypes = FigureCanvasAgg.filetypes -@cbook.deprecated("2.2", alternative="NavigationToolbar2WxAgg") -class Toolbar(NavigationToolbar2WxAgg): - pass - - # agg/wxPython image conversion functions (wxPython >= 2.8) def _convert_agg_to_wx_image(agg, bbox): From 40e3879765aa2b4575a88c90d9039917e66243ac Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sun, 11 Feb 2018 22:53:04 -0500 Subject: [PATCH 0250/1161] Remove deprecated backends. --- INSTALL.rst | 1 - doc/api/backend_gtkagg_api.rst | 11 - doc/api/backend_gtkcairo_api.rst | 11 - doc/api/index_backend_api.rst | 2 - doc/glossary/index.rst | 11 +- doc/users/shell.rst | 2 +- .../ginput_manual_clabel_sgskip.py | 2 +- examples/widgets/cursor.py | 2 +- examples/widgets/span_selector.py | 2 +- lib/matplotlib/animation.py | 2 - lib/matplotlib/backends/backend_gdk.py | 438 ------- lib/matplotlib/backends/backend_gtk.py | 1037 ----------------- lib/matplotlib/backends/backend_gtkagg.py | 96 -- lib/matplotlib/backends/backend_gtkcairo.py | 74 -- lib/matplotlib/pyplot.py | 13 +- lib/matplotlib/rcsetup.py | 7 +- matplotlibrc.template | 5 +- pytest.ini | 4 - setup.cfg.template | 17 +- setup.py | 2 - setupext.py | 122 -- src/_backend_gdk.c | 72 -- src/_gtkagg.cpp | 155 --- tutorials/introductory/usage.py | 18 +- 24 files changed, 26 insertions(+), 2080 deletions(-) delete mode 100644 doc/api/backend_gtkagg_api.rst delete mode 100644 doc/api/backend_gtkcairo_api.rst delete mode 100644 lib/matplotlib/backends/backend_gdk.py delete mode 100644 lib/matplotlib/backends/backend_gtk.py delete mode 100644 lib/matplotlib/backends/backend_gtkagg.py delete mode 100644 lib/matplotlib/backends/backend_gtkcairo.py delete mode 100644 src/_backend_gdk.c delete mode 100644 src/_gtkagg.cpp diff --git a/INSTALL.rst b/INSTALL.rst index fcbe2d03a292..ac21f225a245 100644 --- a/INSTALL.rst +++ b/INSTALL.rst @@ -159,7 +159,6 @@ optional Matplotlib backends and the capabilities they provide. * `PyQt4 `_ (>= 4.4) or `PySide `_: for the Qt4Agg backend; * `PyQt5 `_: for the Qt5Agg backend; - * :term:`pygtk` (>= 2.4): for the GTK and the GTKAgg backend; * :term:`wxpython` (>= 2.9 or later): for the WX or WXAgg backend; * `cairocffi `__ (>= v0.8): for cairo based backends; diff --git a/doc/api/backend_gtkagg_api.rst b/doc/api/backend_gtkagg_api.rst deleted file mode 100644 index f5a37bf4d345..000000000000 --- a/doc/api/backend_gtkagg_api.rst +++ /dev/null @@ -1,11 +0,0 @@ - -:mod:`matplotlib.backends.backend_gtkagg` -========================================= - -**TODO** We'll add this later, importing the gtk backends requires an active -X-session, which is not compatible with cron jobs. - -.. .. automodule:: matplotlib.backends.backend_gtkagg -.. :members: -.. :undoc-members: -.. :show-inheritance: diff --git a/doc/api/backend_gtkcairo_api.rst b/doc/api/backend_gtkcairo_api.rst deleted file mode 100644 index 562f8ea6e7ce..000000000000 --- a/doc/api/backend_gtkcairo_api.rst +++ /dev/null @@ -1,11 +0,0 @@ - -:mod:`matplotlib.backends.backend_gtkcairo` -=========================================== - -**TODO** We'll add this later, importing the gtk backends requires an active -X-session, which is not compatible with cron jobs. - -.. .. automodule:: matplotlib.backends.backend_gtkcairo -.. :members: -.. :undoc-members: -.. :show-inheritance: diff --git a/doc/api/index_backend_api.rst b/doc/api/index_backend_api.rst index 813c3770214e..5141e275a4f9 100644 --- a/doc/api/index_backend_api.rst +++ b/doc/api/index_backend_api.rst @@ -10,8 +10,6 @@ backends backend_tools_api.rst backend_agg_api.rst backend_cairo_api.rst - backend_gtkagg_api.rst - backend_gtkcairo_api.rst backend_gtk3agg_api.rst backend_gtk3cairo_api.rst backend_nbagg_api.rst diff --git a/doc/glossary/index.rst b/doc/glossary/index.rst index 487caed10f4a..544e78b95acd 100644 --- a/doc/glossary/index.rst +++ b/doc/glossary/index.rst @@ -74,16 +74,9 @@ Glossary features of PyGObject. However Matplotlib does not use any of these missing features. - pygtk - `pygtk `_ provides python wrappers for - the :term:`GTK` widgets library for use with the GTK or GTKAgg - backend. Widely used on linux, and is often packages as - 'python-gtk2' - PyGObject - Like :term:`pygtk`, `PyGObject ` provides - python wrappers for the :term:`GTK` widgets library; unlike pygtk, - PyGObject wraps GTK3 instead of the now obsolete GTK2. + `PyGObject `_ provides Python wrappers for the + :term:`GTK` widgets library pyqt `pyqt `_ provides python diff --git a/doc/users/shell.rst b/doc/users/shell.rst index 99625f1957c7..63e214c6ae67 100644 --- a/doc/users/shell.rst +++ b/doc/users/shell.rst @@ -100,7 +100,7 @@ up python. Then:: >>> xlabel('hi mom') should work out of the box. This is also likely to work with recent -versions of the qt4agg and gtkagg backends, and with the macosx backend +versions of the qt4agg and gtk3agg backends, and with the macosx backend on the Macintosh. Note, in batch mode, i.e. when making figures from scripts, interactive mode can be slow since it redraws diff --git a/examples/event_handling/ginput_manual_clabel_sgskip.py b/examples/event_handling/ginput_manual_clabel_sgskip.py index 36bd70728155..abe1e345d86b 100644 --- a/examples/event_handling/ginput_manual_clabel_sgskip.py +++ b/examples/event_handling/ginput_manual_clabel_sgskip.py @@ -7,7 +7,7 @@ waitforbuttonpress and manual clabel placement. This script must be run interactively using a backend that has a -graphical user interface (for example, using GTKAgg backend, but not +graphical user interface (for example, using GTK3Agg backend, but not PS backend). See also ginput_demo.py diff --git a/examples/widgets/cursor.py b/examples/widgets/cursor.py index 5648563d6e35..0e049b6ff80c 100644 --- a/examples/widgets/cursor.py +++ b/examples/widgets/cursor.py @@ -20,7 +20,7 @@ ax.set_xlim(-2, 2) ax.set_ylim(-2, 2) -# set useblit = True on gtkagg for enhanced performance +# Set useblit=True on some backends for enhanced performance. cursor = Cursor(ax, useblit=True, color='red', linewidth=2) plt.show() diff --git a/examples/widgets/span_selector.py b/examples/widgets/span_selector.py index 854defc87a0f..0ea8904e3471 100644 --- a/examples/widgets/span_selector.py +++ b/examples/widgets/span_selector.py @@ -38,7 +38,7 @@ def onselect(xmin, xmax): ax2.set_ylim(thisy.min(), thisy.max()) fig.canvas.draw() -# set useblit True on gtkagg for enhanced performance +# Set useblit=True on some backends for enhanced performance. span = SpanSelector(ax1, onselect, 'horizontal', useblit=True, rectprops=dict(alpha=0.5, facecolor='red')) diff --git a/lib/matplotlib/animation.py b/lib/matplotlib/animation.py index a1aef1d3e5d2..3bc1070cc789 100644 --- a/lib/matplotlib/animation.py +++ b/lib/matplotlib/animation.py @@ -1,6 +1,4 @@ # TODO: -# * Loop Delay is broken on GTKAgg. This is because source_remove() is not -# working as we want. PyGTK bug? # * Documentation -- this will need a new section of the User's Guide. # Both for Animations and just timers. # - Also need to update http://www.scipy.org/Cookbook/Matplotlib/Animations diff --git a/lib/matplotlib/backends/backend_gdk.py b/lib/matplotlib/backends/backend_gdk.py deleted file mode 100644 index 7d18922fc370..000000000000 --- a/lib/matplotlib/backends/backend_gdk.py +++ /dev/null @@ -1,438 +0,0 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - -import warnings - -import gobject -import gtk; gdk = gtk.gdk -import pango -pygtk_version_required = (2,2,0) -if gtk.pygtk_version < pygtk_version_required: - raise ImportError ("PyGTK %d.%d.%d is installed\n" - "PyGTK %d.%d.%d or later is required" - % (gtk.pygtk_version + pygtk_version_required)) -del pygtk_version_required - -import numpy as np - -import matplotlib -from matplotlib import rcParams -from matplotlib._pylab_helpers import Gcf -from matplotlib.backend_bases import ( - _Backend, FigureCanvasBase, FigureManagerBase, GraphicsContextBase, - RendererBase) -from matplotlib.cbook import warn_deprecated -from matplotlib.mathtext import MathTextParser -from matplotlib.transforms import Affine2D -from matplotlib.backends._backend_gdk import pixbuf_get_pixels_array - -backend_version = "%d.%d.%d" % gtk.pygtk_version - -# Image formats that this backend supports - for FileChooser and print_figure() -IMAGE_FORMAT = sorted(['bmp', 'eps', 'jpg', 'png', 'ps', 'svg']) # 'raw', 'rgb' -IMAGE_FORMAT_DEFAULT = 'png' - - -class RendererGDK(RendererBase): - fontweights = { - 100 : pango.WEIGHT_ULTRALIGHT, - 200 : pango.WEIGHT_LIGHT, - 300 : pango.WEIGHT_LIGHT, - 400 : pango.WEIGHT_NORMAL, - 500 : pango.WEIGHT_NORMAL, - 600 : pango.WEIGHT_BOLD, - 700 : pango.WEIGHT_BOLD, - 800 : pango.WEIGHT_HEAVY, - 900 : pango.WEIGHT_ULTRABOLD, - 'ultralight' : pango.WEIGHT_ULTRALIGHT, - 'light' : pango.WEIGHT_LIGHT, - 'normal' : pango.WEIGHT_NORMAL, - 'medium' : pango.WEIGHT_NORMAL, - 'semibold' : pango.WEIGHT_BOLD, - 'bold' : pango.WEIGHT_BOLD, - 'heavy' : pango.WEIGHT_HEAVY, - 'ultrabold' : pango.WEIGHT_ULTRABOLD, - 'black' : pango.WEIGHT_ULTRABOLD, - } - - # cache for efficiency, these must be at class, not instance level - layoutd = {} # a map from text prop tups to pango layouts - rotated = {} # a map from text prop tups to rotated text pixbufs - - def __init__(self, gtkDA, dpi): - # widget gtkDA is used for: - # '.create_pango_layout(s)' - # cmap line below) - self.gtkDA = gtkDA - self.dpi = dpi - self._cmap = gtkDA.get_colormap() - self.mathtext_parser = MathTextParser("Agg") - - def set_pixmap (self, pixmap): - self.gdkDrawable = pixmap - - def set_width_height (self, width, height): - """w,h is the figure w,h not the pixmap w,h - """ - self.width, self.height = width, height - - def draw_path(self, gc, path, transform, rgbFace=None): - transform = transform + Affine2D(). \ - scale(1.0, -1.0).translate(0, self.height) - polygons = path.to_polygons(transform, self.width, self.height) - for polygon in polygons: - # draw_polygon won't take an arbitrary sequence -- it must be a list - # of tuples - polygon = [(int(np.round(x)), int(np.round(y))) for x, y in polygon] - if rgbFace is not None: - saveColor = gc.gdkGC.foreground - gc.gdkGC.foreground = gc.rgb_to_gdk_color(rgbFace) - self.gdkDrawable.draw_polygon(gc.gdkGC, True, polygon) - gc.gdkGC.foreground = saveColor - if gc.gdkGC.line_width > 0: - self.gdkDrawable.draw_lines(gc.gdkGC, polygon) - - def draw_image(self, gc, x, y, im): - bbox = gc.get_clip_rectangle() - - if bbox != None: - l,b,w,h = bbox.bounds - #rectangle = (int(l), self.height-int(b+h), - # int(w), int(h)) - # set clip rect? - - rows, cols = im.shape[:2] - - pixbuf = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, - has_alpha=True, bits_per_sample=8, - width=cols, height=rows) - - array = pixbuf_get_pixels_array(pixbuf) - array[:, :, :] = im[::-1] - - gc = self.new_gc() - - - y = self.height-y-rows - - try: # new in 2.2 - # can use None instead of gc.gdkGC, if don't need clipping - self.gdkDrawable.draw_pixbuf (gc.gdkGC, pixbuf, 0, 0, - int(x), int(y), cols, rows, - gdk.RGB_DITHER_NONE, 0, 0) - except AttributeError: - # deprecated in 2.2 - pixbuf.render_to_drawable(self.gdkDrawable, gc.gdkGC, 0, 0, - int(x), int(y), cols, rows, - gdk.RGB_DITHER_NONE, 0, 0) - - def draw_text(self, gc, x, y, s, prop, angle, ismath=False, mtext=None): - x, y = int(x), int(y) - - if x < 0 or y < 0: # window has shrunk and text is off the edge - return - - if angle not in (0,90): - warnings.warn('backend_gdk: unable to draw text at angles ' + - 'other than 0 or 90') - elif ismath: - self._draw_mathtext(gc, x, y, s, prop, angle) - - elif angle==90: - self._draw_rotated_text(gc, x, y, s, prop, angle) - - else: - layout, inkRect, logicalRect = self._get_pango_layout(s, prop) - l, b, w, h = inkRect - if (x + w > self.width or y + h > self.height): - return - - self.gdkDrawable.draw_layout(gc.gdkGC, x, y-h-b, layout) - - def _draw_mathtext(self, gc, x, y, s, prop, angle): - ox, oy, width, height, descent, font_image, used_characters = \ - self.mathtext_parser.parse(s, self.dpi, prop) - - if angle == 90: - width, height = height, width - x -= width - y -= height - - imw = font_image.get_width() - imh = font_image.get_height() - - pixbuf = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, has_alpha=True, - bits_per_sample=8, width=imw, height=imh) - - array = pixbuf_get_pixels_array(pixbuf) - - rgb = gc.get_rgb() - array[:,:,0] = int(rgb[0]*255) - array[:,:,1] = int(rgb[1]*255) - array[:,:,2] = int(rgb[2]*255) - array[:,:,3] = ( - np.fromstring(font_image.as_str(), np.uint8).reshape((imh, imw))) - - # can use None instead of gc.gdkGC, if don't need clipping - self.gdkDrawable.draw_pixbuf(gc.gdkGC, pixbuf, 0, 0, - int(x), int(y), imw, imh, - gdk.RGB_DITHER_NONE, 0, 0) - - def _draw_rotated_text(self, gc, x, y, s, prop, angle): - """ - Draw the text rotated 90 degrees, other angles are not supported - """ - # this function (and its called functions) is a bottleneck - # Pango 1.6 supports rotated text, but pygtk 2.4.0 does not yet have - # wrapper functions - # GTK+ 2.6 pixbufs support rotation - - gdrawable = self.gdkDrawable - ggc = gc.gdkGC - - layout, inkRect, logicalRect = self._get_pango_layout(s, prop) - l, b, w, h = inkRect - x = int(x-h) - y = int(y-w) - - if (x < 0 or y < 0 or # window has shrunk and text is off the edge - x + w > self.width or y + h > self.height): - return - - key = (x,y,s,angle,hash(prop)) - imageVert = self.rotated.get(key) - if imageVert != None: - gdrawable.draw_image(ggc, imageVert, 0, 0, x, y, h, w) - return - - imageBack = gdrawable.get_image(x, y, w, h) - imageVert = gdrawable.get_image(x, y, h, w) - imageFlip = gtk.gdk.Image(type=gdk.IMAGE_FASTEST, - visual=gdrawable.get_visual(), - width=w, height=h) - if imageFlip == None or imageBack == None or imageVert == None: - warnings.warn("Could not renderer vertical text") - return - imageFlip.set_colormap(self._cmap) - for i in range(w): - for j in range(h): - imageFlip.put_pixel(i, j, imageVert.get_pixel(j,w-i-1) ) - - gdrawable.draw_image(ggc, imageFlip, 0, 0, x, y, w, h) - gdrawable.draw_layout(ggc, x, y-b, layout) - - imageIn = gdrawable.get_image(x, y, w, h) - for i in range(w): - for j in range(h): - imageVert.put_pixel(j, i, imageIn.get_pixel(w-i-1,j) ) - - gdrawable.draw_image(ggc, imageBack, 0, 0, x, y, w, h) - gdrawable.draw_image(ggc, imageVert, 0, 0, x, y, h, w) - self.rotated[key] = imageVert - - def _get_pango_layout(self, s, prop): - """ - Create a pango layout instance for Text 's' with properties 'prop'. - Return - pango layout (from cache if already exists) - - Note that pango assumes a logical DPI of 96 - Ref: pango/fonts.c/pango_font_description_set_size() manual page - """ - # problem? - cache gets bigger and bigger, is never cleared out - # two (not one) layouts are created for every text item s (then they - # are cached) - why? - - key = self.dpi, s, hash(prop) - value = self.layoutd.get(key) - if value != None: - return value - - size = prop.get_size_in_points() * self.dpi / 96.0 - size = np.round(size) - - font_str = '%s, %s %i' % (prop.get_name(), prop.get_style(), size,) - font = pango.FontDescription(font_str) - - # later - add fontweight to font_str - font.set_weight(self.fontweights[prop.get_weight()]) - - layout = self.gtkDA.create_pango_layout(s) - layout.set_font_description(font) - inkRect, logicalRect = layout.get_pixel_extents() - - self.layoutd[key] = layout, inkRect, logicalRect - return layout, inkRect, logicalRect - - def flipy(self): - return True - - def get_canvas_width_height(self): - return self.width, self.height - - def get_text_width_height_descent(self, s, prop, ismath): - if ismath: - ox, oy, width, height, descent, font_image, used_characters = \ - self.mathtext_parser.parse(s, self.dpi, prop) - return width, height, descent - - layout, inkRect, logicalRect = self._get_pango_layout(s, prop) - l, b, w, h = inkRect - ll, lb, lw, lh = logicalRect - - return w, h + 1, h - lh - - def new_gc(self): - return GraphicsContextGDK(renderer=self) - - def points_to_pixels(self, points): - return points/72.0 * self.dpi - - -class GraphicsContextGDK(GraphicsContextBase): - # a cache shared by all class instances - _cached = {} # map: rgb color -> gdk.Color - - _joind = { - 'bevel' : gdk.JOIN_BEVEL, - 'miter' : gdk.JOIN_MITER, - 'round' : gdk.JOIN_ROUND, - } - - _capd = { - 'butt' : gdk.CAP_BUTT, - 'projecting' : gdk.CAP_PROJECTING, - 'round' : gdk.CAP_ROUND, - } - - - def __init__(self, renderer): - GraphicsContextBase.__init__(self) - self.renderer = renderer - self.gdkGC = gtk.gdk.GC(renderer.gdkDrawable) - self._cmap = renderer._cmap - - - def rgb_to_gdk_color(self, rgb): - """ - rgb - an RGB tuple (three 0.0-1.0 values) - return an allocated gtk.gdk.Color - """ - try: - return self._cached[tuple(rgb)] - except KeyError: - color = self._cached[tuple(rgb)] = \ - self._cmap.alloc_color( - int(rgb[0]*65535),int(rgb[1]*65535),int(rgb[2]*65535)) - return color - - - #def set_antialiased(self, b): - # anti-aliasing is not supported by GDK - - def set_capstyle(self, cs): - GraphicsContextBase.set_capstyle(self, cs) - self.gdkGC.cap_style = self._capd[self._capstyle] - - - def set_clip_rectangle(self, rectangle): - GraphicsContextBase.set_clip_rectangle(self, rectangle) - if rectangle is None: - return - l,b,w,h = rectangle.bounds - rectangle = (int(l), self.renderer.height-int(b+h)+1, - int(w), int(h)) - #rectangle = (int(l), self.renderer.height-int(b+h), - # int(w+1), int(h+2)) - self.gdkGC.set_clip_rectangle(rectangle) - - def set_dashes(self, dash_offset, dash_list): - GraphicsContextBase.set_dashes(self, dash_offset, dash_list) - - if dash_list == None: - self.gdkGC.line_style = gdk.LINE_SOLID - else: - pixels = self.renderer.points_to_pixels(np.asarray(dash_list)) - dl = [max(1, int(np.round(val))) for val in pixels] - self.gdkGC.set_dashes(dash_offset, dl) - self.gdkGC.line_style = gdk.LINE_ON_OFF_DASH - - - def set_foreground(self, fg, isRGBA=False): - GraphicsContextBase.set_foreground(self, fg, isRGBA) - self.gdkGC.foreground = self.rgb_to_gdk_color(self.get_rgb()) - - - def set_joinstyle(self, js): - GraphicsContextBase.set_joinstyle(self, js) - self.gdkGC.join_style = self._joind[self._joinstyle] - - - def set_linewidth(self, w): - GraphicsContextBase.set_linewidth(self, w) - if w == 0: - self.gdkGC.line_width = 0 - else: - pixels = self.renderer.points_to_pixels(w) - self.gdkGC.line_width = max(1, int(np.round(pixels))) - - -class FigureCanvasGDK (FigureCanvasBase): - def __init__(self, figure): - FigureCanvasBase.__init__(self, figure) - if self.__class__ == matplotlib.backends.backend_gdk.FigureCanvasGDK: - warn_deprecated('2.0', message="The GDK backend is " - "deprecated. It is untested, known to be " - "broken and will be removed in Matplotlib 3.0. " - "Use the Agg backend instead. " - "See Matplotlib usage FAQ for" - " more info on backends.", - alternative="Agg") - self._renderer_init() - - def _renderer_init(self): - self._renderer = RendererGDK (gtk.DrawingArea(), self.figure.dpi) - - def _render_figure(self, pixmap, width, height): - self._renderer.set_pixmap (pixmap) - self._renderer.set_width_height (width, height) - self.figure.draw (self._renderer) - - filetypes = FigureCanvasBase.filetypes.copy() - filetypes['jpg'] = 'JPEG' - filetypes['jpeg'] = 'JPEG' - - def print_jpeg(self, filename, *args, **kwargs): - return self._print_image(filename, 'jpeg') - print_jpg = print_jpeg - - def print_png(self, filename, *args, **kwargs): - return self._print_image(filename, 'png') - - def _print_image(self, filename, format, *args, **kwargs): - width, height = self.get_width_height() - pixmap = gtk.gdk.Pixmap (None, width, height, depth=24) - self._render_figure(pixmap, width, height) - - # jpg colors don't match the display very well, png colors match - # better - pixbuf = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, 0, 8, - width, height) - pixbuf.get_from_drawable(pixmap, pixmap.get_colormap(), - 0, 0, 0, 0, width, height) - - # set the default quality, if we are writing a JPEG. - # http://www.pygtk.org/docs/pygtk/class-gdkpixbuf.html#method-gdkpixbuf--save - options = {k: kwargs[k] for k in ['quality'] if k in kwargs} - if format in ['jpg', 'jpeg']: - options.setdefault('quality', rcParams['savefig.jpeg_quality']) - options['quality'] = str(options['quality']) - - pixbuf.save(filename, format, options=options) - - -@_Backend.export -class _BackendGDK(_Backend): - FigureCanvas = FigureCanvasGDK - FigureManager = FigureManagerBase diff --git a/lib/matplotlib/backends/backend_gtk.py b/lib/matplotlib/backends/backend_gtk.py deleted file mode 100644 index 10a6ddcfcf51..000000000000 --- a/lib/matplotlib/backends/backend_gtk.py +++ /dev/null @@ -1,1037 +0,0 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - -import logging -import os -import sys -import warnings - -if six.PY3: - warnings.warn( - "The gtk* backends have not been tested with Python 3.x", - ImportWarning) - -try: - import gobject - import gtk; gdk = gtk.gdk - import pango -except ImportError: - raise ImportError("Gtk* backend requires pygtk to be installed.") - -pygtk_version_required = (2,4,0) -if gtk.pygtk_version < pygtk_version_required: - raise ImportError ("PyGTK %d.%d.%d is installed\n" - "PyGTK %d.%d.%d or later is required" - % (gtk.pygtk_version + pygtk_version_required)) -del pygtk_version_required - -_new_tooltip_api = (gtk.pygtk_version[1] >= 12) - -import matplotlib -from matplotlib._pylab_helpers import Gcf -from matplotlib.backend_bases import ( - _Backend, FigureCanvasBase, FigureManagerBase, NavigationToolbar2, - TimerBase, cursors) - -from matplotlib.backends.backend_gdk import RendererGDK, FigureCanvasGDK -from matplotlib.cbook import is_writable_file_like, warn_deprecated -from matplotlib.figure import Figure -from matplotlib.widgets import SubplotTool - -from matplotlib import ( - cbook, colors as mcolors, lines, markers, rcParams) - -_log = logging.getLogger(__name__) - -backend_version = "%d.%d.%d" % gtk.pygtk_version - -# the true dots per inch on the screen; should be display dependent -# see http://groups.google.com/groups?q=screen+dpi+x11&hl=en&lr=&ie=UTF-8&oe=UTF-8&safe=off&selm=7077.26e81ad5%40swift.cs.tcd.ie&rnum=5 for some info about screen dpi -PIXELS_PER_INCH = 96 - -# Hide the benign warning that it can't stat a file that doesn't -warnings.filterwarnings('ignore', '.*Unable to retrieve the file info for.*', gtk.Warning) - -cursord = { - cursors.MOVE : gdk.Cursor(gdk.FLEUR), - cursors.HAND : gdk.Cursor(gdk.HAND2), - cursors.POINTER : gdk.Cursor(gdk.LEFT_PTR), - cursors.SELECT_REGION : gdk.Cursor(gdk.TCROSS), - cursors.WAIT : gdk.Cursor(gdk.WATCH), - } - -# ref gtk+/gtk/gtkwidget.h -def GTK_WIDGET_DRAWABLE(w): - flags = w.flags(); - return flags & gtk.VISIBLE != 0 and flags & gtk.MAPPED != 0 - - -class TimerGTK(TimerBase): - ''' - Subclass of :class:`backend_bases.TimerBase` using GTK for timer events. - - Attributes - ---------- - interval : int - The time between timer events in milliseconds. Default is 1000 ms. - single_shot : bool - Boolean flag indicating whether this timer should operate as single - shot (run once and then stop). Defaults to False. - callbacks : list - Stores list of (func, args) tuples that will be called upon timer - events. This list can be manipulated directly, or the functions - `add_callback` and `remove_callback` can be used. - - ''' - def _timer_start(self): - # Need to stop it, otherwise we potentially leak a timer id that will - # never be stopped. - self._timer_stop() - self._timer = gobject.timeout_add(self._interval, self._on_timer) - - def _timer_stop(self): - if self._timer is not None: - gobject.source_remove(self._timer) - self._timer = None - - def _timer_set_interval(self): - # Only stop and restart it if the timer has already been started - if self._timer is not None: - self._timer_stop() - self._timer_start() - - def _on_timer(self): - TimerBase._on_timer(self) - - # Gtk timeout_add() requires that the callback returns True if it - # is to be called again. - if len(self.callbacks) > 0 and not self._single: - return True - else: - self._timer = None - return False - - -class FigureCanvasGTK (gtk.DrawingArea, FigureCanvasBase): - keyvald = {65507 : 'control', - 65505 : 'shift', - 65513 : 'alt', - 65508 : 'control', - 65506 : 'shift', - 65514 : 'alt', - 65361 : 'left', - 65362 : 'up', - 65363 : 'right', - 65364 : 'down', - 65307 : 'escape', - 65470 : 'f1', - 65471 : 'f2', - 65472 : 'f3', - 65473 : 'f4', - 65474 : 'f5', - 65475 : 'f6', - 65476 : 'f7', - 65477 : 'f8', - 65478 : 'f9', - 65479 : 'f10', - 65480 : 'f11', - 65481 : 'f12', - 65300 : 'scroll_lock', - 65299 : 'break', - 65288 : 'backspace', - 65293 : 'enter', - 65379 : 'insert', - 65535 : 'delete', - 65360 : 'home', - 65367 : 'end', - 65365 : 'pageup', - 65366 : 'pagedown', - 65438 : '0', - 65436 : '1', - 65433 : '2', - 65435 : '3', - 65430 : '4', - 65437 : '5', - 65432 : '6', - 65429 : '7', - 65431 : '8', - 65434 : '9', - 65451 : '+', - 65453 : '-', - 65450 : '*', - 65455 : '/', - 65439 : 'dec', - 65421 : 'enter', - 65511 : 'super', - 65512 : 'super', - 65406 : 'alt', - 65289 : 'tab', - } - - # Setting this as a static constant prevents - # this resulting expression from leaking - event_mask = (gdk.BUTTON_PRESS_MASK | - gdk.BUTTON_RELEASE_MASK | - gdk.EXPOSURE_MASK | - gdk.KEY_PRESS_MASK | - gdk.KEY_RELEASE_MASK | - gdk.ENTER_NOTIFY_MASK | - gdk.LEAVE_NOTIFY_MASK | - gdk.POINTER_MOTION_MASK | - gdk.POINTER_MOTION_HINT_MASK) - - def __init__(self, figure): - if self.__class__ == matplotlib.backends.backend_gtk.FigureCanvasGTK: - warn_deprecated('2.0', message="The GTK backend is " - "deprecated. It is untested, known to be " - "broken and will be removed in Matplotlib 3.0. " - "Use the GTKAgg backend instead. " - "See Matplotlib usage FAQ for" - " more info on backends.", - alternative="GTKAgg") - FigureCanvasBase.__init__(self, figure) - gtk.DrawingArea.__init__(self) - - self._idle_draw_id = 0 - self._need_redraw = True - self._pixmap_width = -1 - self._pixmap_height = -1 - self._lastCursor = None - - self.connect('scroll_event', self.scroll_event) - self.connect('button_press_event', self.button_press_event) - self.connect('button_release_event', self.button_release_event) - self.connect('configure_event', self.configure_event) - self.connect('expose_event', self.expose_event) - self.connect('key_press_event', self.key_press_event) - self.connect('key_release_event', self.key_release_event) - self.connect('motion_notify_event', self.motion_notify_event) - self.connect('leave_notify_event', self.leave_notify_event) - self.connect('enter_notify_event', self.enter_notify_event) - - self.set_events(self.__class__.event_mask) - - self.set_double_buffered(False) - self.set_flags(gtk.CAN_FOCUS) - self._renderer_init() - - self.last_downclick = {} - - def destroy(self): - #gtk.DrawingArea.destroy(self) - self.close_event() - if self._idle_draw_id != 0: - gobject.source_remove(self._idle_draw_id) - - def scroll_event(self, widget, event): - x = event.x - # flipy so y=0 is bottom of canvas - y = self.allocation.height - event.y - if event.direction==gdk.SCROLL_UP: - step = 1 - else: - step = -1 - FigureCanvasBase.scroll_event(self, x, y, step, guiEvent=event) - return False # finish event propagation? - - def button_press_event(self, widget, event): - x = event.x - # flipy so y=0 is bottom of canvas - y = self.allocation.height - event.y - dblclick = (event.type == gdk._2BUTTON_PRESS) - if not dblclick: - # GTK is the only backend that generates a DOWN-UP-DOWN-DBLCLICK-UP event - # sequence for a double click. All other backends have a DOWN-UP-DBLCLICK-UP - # sequence. In order to provide consistency to matplotlib users, we will - # eat the extra DOWN event in the case that we detect it is part of a double - # click. - # first, get the double click time in milliseconds. - current_time = event.get_time() - last_time = self.last_downclick.get(event.button,0) - dblclick_time = gtk.settings_get_for_screen(gdk.screen_get_default()).get_property('gtk-double-click-time') - delta_time = current_time-last_time - if delta_time < dblclick_time: - del self.last_downclick[event.button] # we do not want to eat more than one event. - return False # eat. - self.last_downclick[event.button] = current_time - FigureCanvasBase.button_press_event(self, x, y, event.button, dblclick=dblclick, guiEvent=event) - return False # finish event propagation? - - def button_release_event(self, widget, event): - x = event.x - # flipy so y=0 is bottom of canvas - y = self.allocation.height - event.y - FigureCanvasBase.button_release_event(self, x, y, event.button, guiEvent=event) - return False # finish event propagation? - - def key_press_event(self, widget, event): - key = self._get_key(event) - FigureCanvasBase.key_press_event(self, key, guiEvent=event) - return True # stop event propagation - - def key_release_event(self, widget, event): - key = self._get_key(event) - FigureCanvasBase.key_release_event(self, key, guiEvent=event) - return True # stop event propagation - - def motion_notify_event(self, widget, event): - if event.is_hint: - x, y, state = event.window.get_pointer() - else: - x, y, state = event.x, event.y, event.state - - # flipy so y=0 is bottom of canvas - y = self.allocation.height - y - FigureCanvasBase.motion_notify_event(self, x, y, guiEvent=event) - return False # finish event propagation? - - def leave_notify_event(self, widget, event): - FigureCanvasBase.leave_notify_event(self, event) - - def enter_notify_event(self, widget, event): - x, y, state = event.window.get_pointer() - FigureCanvasBase.enter_notify_event(self, event, xy=(x, y)) - - def _get_key(self, event): - if event.keyval in self.keyvald: - key = self.keyvald[event.keyval] - elif event.keyval < 256: - key = chr(event.keyval) - else: - key = None - - for key_mask, prefix in ( - [gdk.MOD4_MASK, 'super'], - [gdk.MOD1_MASK, 'alt'], - [gdk.CONTROL_MASK, 'ctrl'], ): - if event.state & key_mask: - key = '{0}+{1}'.format(prefix, key) - - return key - - def configure_event(self, widget, event): - if widget.window is None: - return - w, h = event.width, event.height - if w < 3 or h < 3: - return # empty fig - - # resize the figure (in inches) - dpi = self.figure.dpi - self.figure.set_size_inches(w/dpi, h/dpi, forward=False) - self._need_redraw = True - - return False # finish event propagation? - - def draw(self): - # Note: FigureCanvasBase.draw() is inconveniently named as it clashes - # with the deprecated gtk.Widget.draw() - - self._need_redraw = True - if GTK_WIDGET_DRAWABLE(self): - self.queue_draw() - # do a synchronous draw (its less efficient than an async draw, - # but is required if/when animation is used) - self.window.process_updates (False) - - def draw_idle(self): - if self._idle_draw_id != 0: - return - def idle_draw(*args): - try: - self.draw() - finally: - self._idle_draw_id = 0 - return False - self._idle_draw_id = gobject.idle_add(idle_draw) - - - def _renderer_init(self): - """Override by GTK backends to select a different renderer - Renderer should provide the methods: - set_pixmap () - set_width_height () - that are used by - _render_figure() / _pixmap_prepare() - """ - self._renderer = RendererGDK (self, self.figure.dpi) - - - def _pixmap_prepare(self, width, height): - """ - Make sure _._pixmap is at least width, height, - create new pixmap if necessary - """ - create_pixmap = False - if width > self._pixmap_width: - # increase the pixmap in 10%+ (rather than 1 pixel) steps - self._pixmap_width = max (int (self._pixmap_width * 1.1), - width) - create_pixmap = True - - if height > self._pixmap_height: - self._pixmap_height = max (int (self._pixmap_height * 1.1), - height) - create_pixmap = True - - if create_pixmap: - self._pixmap = gdk.Pixmap (self.window, self._pixmap_width, - self._pixmap_height) - self._renderer.set_pixmap (self._pixmap) - - - def _render_figure(self, pixmap, width, height): - """used by GTK and GTKcairo. GTKAgg overrides - """ - self._renderer.set_width_height (width, height) - self.figure.draw (self._renderer) - - - def expose_event(self, widget, event): - """Expose_event for all GTK backends. Should not be overridden. - """ - toolbar = self.toolbar - # if toolbar: - # toolbar.set_cursor(cursors.WAIT) - if GTK_WIDGET_DRAWABLE(self): - if self._need_redraw: - x, y, w, h = self.allocation - self._pixmap_prepare (w, h) - self._render_figure(self._pixmap, w, h) - self._need_redraw = False - x, y, w, h = event.area - self.window.draw_drawable (self.style.fg_gc[self.state], - self._pixmap, x, y, x, y, w, h) - # if toolbar: - # toolbar.set_cursor(toolbar._lastCursor) - return False # finish event propagation? - - filetypes = FigureCanvasBase.filetypes.copy() - filetypes['jpg'] = 'JPEG' - filetypes['jpeg'] = 'JPEG' - filetypes['png'] = 'Portable Network Graphics' - - def print_jpeg(self, filename, *args, **kwargs): - return self._print_image(filename, 'jpeg') - print_jpg = print_jpeg - - def print_png(self, filename, *args, **kwargs): - return self._print_image(filename, 'png') - - def _print_image(self, filename, format, *args, **kwargs): - if self.flags() & gtk.REALIZED == 0: - # for self.window(for pixmap) and has a side effect of altering - # figure width,height (via configure-event?) - gtk.DrawingArea.realize(self) - - width, height = self.get_width_height() - pixmap = gdk.Pixmap (self.window, width, height) - self._renderer.set_pixmap (pixmap) - self._render_figure(pixmap, width, height) - - # jpg colors don't match the display very well, png colors match - # better - pixbuf = gdk.Pixbuf(gdk.COLORSPACE_RGB, 0, 8, width, height) - pixbuf.get_from_drawable(pixmap, pixmap.get_colormap(), - 0, 0, 0, 0, width, height) - - # set the default quality, if we are writing a JPEG. - # http://www.pygtk.org/docs/pygtk/class-gdkpixbuf.html#method-gdkpixbuf--save - options = {k: kwargs[k] for k in ['quality'] if k in kwargs} - if format in ['jpg', 'jpeg']: - options.setdefault('quality', rcParams['savefig.jpeg_quality']) - options['quality'] = str(options['quality']) - - if isinstance(filename, six.string_types): - try: - pixbuf.save(filename, format, options=options) - except gobject.GError as exc: - error_msg_gtk('Save figure failure:\n%s' % (exc,), parent=self) - elif is_writable_file_like(filename): - if hasattr(pixbuf, 'save_to_callback'): - def save_callback(buf, data=None): - data.write(buf) - try: - pixbuf.save_to_callback(save_callback, format, user_data=filename, options=options) - except gobject.GError as exc: - error_msg_gtk('Save figure failure:\n%s' % (exc,), parent=self) - else: - raise ValueError("Saving to a Python file-like object is only supported by PyGTK >= 2.8") - else: - raise ValueError("filename must be a path or a file-like object") - - def new_timer(self, *args, **kwargs): - """ - Creates a new backend-specific subclass of :class:`backend_bases.Timer`. - This is useful for getting periodic events through the backend's native - event loop. Implemented only for backends with GUIs. - - Other Parameters - ---------------- - interval : scalar - Timer interval in milliseconds - callbacks : list - Sequence of (func, args, kwargs) where ``func(*args, **kwargs)`` - will be executed by the timer every *interval*. - """ - return TimerGTK(*args, **kwargs) - - def flush_events(self): - gtk.gdk.threads_enter() - while gtk.events_pending(): - gtk.main_iteration(True) - gtk.gdk.flush() - gtk.gdk.threads_leave() - - -class FigureManagerGTK(FigureManagerBase): - """ - Attributes - ---------- - canvas : `FigureCanvas` - The FigureCanvas instance - num : int or str - The Figure number - toolbar : gtk.Toolbar - The gtk.Toolbar (gtk only) - vbox : gtk.VBox - The gtk.VBox containing the canvas and toolbar (gtk only) - window : gtk.Window - The gtk.Window (gtk only) - - """ - def __init__(self, canvas, num): - FigureManagerBase.__init__(self, canvas, num) - - self.window = gtk.Window() - self.window.set_wmclass("matplotlib", "Matplotlib") - self.set_window_title("Figure %d" % num) - if window_icon: - try: - self.window.set_icon_from_file(window_icon) - except: - # some versions of gtk throw a glib.GError but not - # all, so I am not sure how to catch it. I am unhappy - # diong a blanket catch here, but an not sure what a - # better way is - JDH - _log.info('Could not load matplotlib ' - 'icon: %s', sys.exc_info()[1]) - - self.vbox = gtk.VBox() - self.window.add(self.vbox) - self.vbox.show() - - self.canvas.show() - - self.vbox.pack_start(self.canvas, True, True) - - self.toolbar = self._get_toolbar(canvas) - - # calculate size for window - w = int (self.canvas.figure.bbox.width) - h = int (self.canvas.figure.bbox.height) - - if self.toolbar is not None: - self.toolbar.show() - self.vbox.pack_end(self.toolbar, False, False) - - tb_w, tb_h = self.toolbar.size_request() - h += tb_h - self.window.set_default_size (w, h) - - def destroy(*args): - Gcf.destroy(num) - self.window.connect("destroy", destroy) - self.window.connect("delete_event", destroy) - if matplotlib.is_interactive(): - self.window.show() - self.canvas.draw_idle() - - def notify_axes_change(fig): - 'this will be called whenever the current axes is changed' - if self.toolbar is not None: self.toolbar.update() - self.canvas.figure.add_axobserver(notify_axes_change) - - self.canvas.grab_focus() - - def destroy(self, *args): - if hasattr(self, 'toolbar') and self.toolbar is not None: - self.toolbar.destroy() - if hasattr(self, 'vbox'): - self.vbox.destroy() - if hasattr(self, 'window'): - self.window.destroy() - if hasattr(self, 'canvas'): - self.canvas.destroy() - self.__dict__.clear() #Is this needed? Other backends don't have it. - - if Gcf.get_num_fig_managers()==0 and \ - not matplotlib.is_interactive() and \ - gtk.main_level() >= 1: - gtk.main_quit() - - def show(self): - # show the figure window - self.window.show() - # raise the window above others and release the "above lock" - self.window.set_keep_above(True) - self.window.set_keep_above(False) - - def full_screen_toggle(self): - self._full_screen_flag = not self._full_screen_flag - if self._full_screen_flag: - self.window.fullscreen() - else: - self.window.unfullscreen() - _full_screen_flag = False - - - def _get_toolbar(self, canvas): - # must be inited after the window, drawingArea and figure - # attrs are set - if rcParams['toolbar'] == 'toolbar2': - toolbar = NavigationToolbar2GTK (canvas, self.window) - else: - toolbar = None - return toolbar - - def get_window_title(self): - return self.window.get_title() - - def set_window_title(self, title): - self.window.set_title(title) - - def resize(self, width, height): - 'set the canvas size in pixels' - #_, _, cw, ch = self.canvas.allocation - #_, _, ww, wh = self.window.allocation - #self.window.resize (width-cw+ww, height-ch+wh) - self.window.resize(width, height) - - -class NavigationToolbar2GTK(NavigationToolbar2, gtk.Toolbar): - def __init__(self, canvas, window): - self.win = window - gtk.Toolbar.__init__(self) - NavigationToolbar2.__init__(self, canvas) - - def set_message(self, s): - self.message.set_label(s) - - def set_cursor(self, cursor): - self.canvas.window.set_cursor(cursord[cursor]) - gtk.main_iteration() - - def release(self, event): - try: del self._pixmapBack - except AttributeError: pass - - def draw_rubberband(self, event, x0, y0, x1, y1): - 'adapted from http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/189744' - drawable = self.canvas.window - if drawable is None: - return - - gc = drawable.new_gc() - - height = self.canvas.figure.bbox.height - y1 = height - y1 - y0 = height - y0 - - w = abs(x1 - x0) - h = abs(y1 - y0) - - rect = [int(val)for val in (min(x0,x1), min(y0, y1), w, h)] - try: - lastrect, pixmapBack = self._pixmapBack - except AttributeError: - #snap image back - if event.inaxes is None: - return - - ax = event.inaxes - l,b,w,h = [int(val) for val in ax.bbox.bounds] - b = int(height)-(b+h) - axrect = l,b,w,h - self._pixmapBack = axrect, gtk.gdk.Pixmap(drawable, w, h) - self._pixmapBack[1].draw_drawable(gc, drawable, l, b, 0, 0, w, h) - else: - drawable.draw_drawable(gc, pixmapBack, 0, 0, *lastrect) - drawable.draw_rectangle(gc, False, *rect) - - - def _init_toolbar(self): - self.set_style(gtk.TOOLBAR_ICONS) - self._init_toolbar2_4() - - - def _init_toolbar2_4(self): - basedir = os.path.join(rcParams['datapath'],'images') - if not _new_tooltip_api: - self.tooltips = gtk.Tooltips() - - for text, tooltip_text, image_file, callback in self.toolitems: - if text is None: - self.insert( gtk.SeparatorToolItem(), -1 ) - continue - fname = os.path.join(basedir, image_file + '.png') - image = gtk.Image() - image.set_from_file(fname) - tbutton = gtk.ToolButton(image, text) - self.insert(tbutton, -1) - tbutton.connect('clicked', getattr(self, callback)) - if _new_tooltip_api: - tbutton.set_tooltip_text(tooltip_text) - else: - tbutton.set_tooltip(self.tooltips, tooltip_text, 'Private') - - toolitem = gtk.SeparatorToolItem() - self.insert(toolitem, -1) - # set_draw() not making separator invisible, - # bug #143692 fixed Jun 06 2004, will be in GTK+ 2.6 - toolitem.set_draw(False) - toolitem.set_expand(True) - - toolitem = gtk.ToolItem() - self.insert(toolitem, -1) - self.message = gtk.Label() - toolitem.add(self.message) - - self.show_all() - - def get_filechooser(self): - fc = FileChooserDialog( - title='Save the figure', - parent=self.win, - path=os.path.expanduser(rcParams['savefig.directory']), - filetypes=self.canvas.get_supported_filetypes(), - default_filetype=self.canvas.get_default_filetype()) - fc.set_current_name(self.canvas.get_default_filename()) - return fc - - def save_figure(self, *args): - chooser = self.get_filechooser() - fname, format = chooser.get_filename_from_user() - chooser.destroy() - if fname: - startpath = os.path.expanduser(rcParams['savefig.directory']) - # Save dir for next time, unless empty str (i.e., use cwd). - if startpath != "": - rcParams['savefig.directory'] = ( - os.path.dirname(six.text_type(fname))) - try: - self.canvas.figure.savefig(fname, format=format) - except Exception as e: - error_msg_gtk(str(e), parent=self) - - def configure_subplots(self, button): - toolfig = Figure(figsize=(6,3)) - canvas = self._get_canvas(toolfig) - toolfig.subplots_adjust(top=0.9) - tool = SubplotTool(self.canvas.figure, toolfig) - - w = int(toolfig.bbox.width) - h = int(toolfig.bbox.height) - - window = gtk.Window() - if window_icon: - try: - window.set_icon_from_file(window_icon) - except: - # we presumably already logged a message on the - # failure of the main plot, don't keep reporting - pass - window.set_title("Subplot Configuration Tool") - window.set_default_size(w, h) - vbox = gtk.VBox() - window.add(vbox) - vbox.show() - - canvas.show() - vbox.pack_start(canvas, True, True) - window.show() - - def _get_canvas(self, fig): - return FigureCanvasGTK(fig) - - -class FileChooserDialog(gtk.FileChooserDialog): - """GTK+ 2.4 file selector which presents the user with a menu - of supported image formats - """ - def __init__ (self, - title = 'Save file', - parent = None, - action = gtk.FILE_CHOOSER_ACTION_SAVE, - buttons = (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, - gtk.STOCK_SAVE, gtk.RESPONSE_OK), - path = None, - filetypes = [], - default_filetype = None - ): - super().__init__(title, parent, action, buttons) - super().set_do_overwrite_confirmation(True) - self.set_default_response(gtk.RESPONSE_OK) - - if not path: - path = os.getcwd() + os.sep - - # create an extra widget to list supported image formats - self.set_current_folder (path) - self.set_current_name ('image.' + default_filetype) - - hbox = gtk.HBox(spacing=10) - hbox.pack_start(gtk.Label ("File Format:"), expand=False) - - liststore = gtk.ListStore(gobject.TYPE_STRING) - cbox = gtk.ComboBox(liststore) - cell = gtk.CellRendererText() - cbox.pack_start(cell, True) - cbox.add_attribute(cell, 'text', 0) - hbox.pack_start(cbox) - - self.filetypes = filetypes - self.sorted_filetypes = sorted(six.iteritems(filetypes)) - default = 0 - for i, (ext, name) in enumerate(self.sorted_filetypes): - cbox.append_text("%s (*.%s)" % (name, ext)) - if ext == default_filetype: - default = i - cbox.set_active(default) - self.ext = default_filetype - - def cb_cbox_changed (cbox, data=None): - """File extension changed""" - head, filename = os.path.split(self.get_filename()) - root, ext = os.path.splitext(filename) - ext = ext[1:] - new_ext = self.sorted_filetypes[cbox.get_active()][0] - self.ext = new_ext - - if ext in self.filetypes: - filename = root + '.' + new_ext - elif ext == '': - filename = filename.rstrip('.') + '.' + new_ext - - self.set_current_name(filename) - cbox.connect("changed", cb_cbox_changed) - - hbox.show_all() - self.set_extra_widget(hbox) - - def get_filename_from_user (self): - while True: - filename = None - if self.run() != int(gtk.RESPONSE_OK): - break - filename = self.get_filename() - break - - return filename, self.ext - - -class DialogLineprops(object): - """ - A GUI dialog for controlling lineprops - """ - signals = ( - 'on_combobox_lineprops_changed', - 'on_combobox_linestyle_changed', - 'on_combobox_marker_changed', - 'on_colorbutton_linestyle_color_set', - 'on_colorbutton_markerface_color_set', - 'on_dialog_lineprops_okbutton_clicked', - 'on_dialog_lineprops_cancelbutton_clicked', - ) - - linestyles = [ls for ls in lines.Line2D.lineStyles if ls.strip()] - linestyled = {s: i for i, s in enumerate(linestyles)} - - markers = [m for m in markers.MarkerStyle.markers - if isinstance(m, six.string_types)] - markerd = {s: i for i, s in enumerate(markers)} - - def __init__(self, lines): - import gtk.glade - - datadir = matplotlib.get_data_path() - gladefile = os.path.join(datadir, 'lineprops.glade') - if not os.path.exists(gladefile): - raise IOError( - 'Could not find gladefile lineprops.glade in %s' % datadir) - - self._inited = False - self._updateson = True # suppress updates when setting widgets manually - self.wtree = gtk.glade.XML(gladefile, 'dialog_lineprops') - self.wtree.signal_autoconnect( - {s: getattr(self, s) for s in self.signals}) - - self.dlg = self.wtree.get_widget('dialog_lineprops') - - self.lines = lines - - cbox = self.wtree.get_widget('combobox_lineprops') - cbox.set_active(0) - self.cbox_lineprops = cbox - - cbox = self.wtree.get_widget('combobox_linestyles') - for ls in self.linestyles: - cbox.append_text(ls) - cbox.set_active(0) - self.cbox_linestyles = cbox - - cbox = self.wtree.get_widget('combobox_markers') - for m in self.markers: - cbox.append_text(m) - cbox.set_active(0) - self.cbox_markers = cbox - self._lastcnt = 0 - self._inited = True - - def show(self): - 'populate the combo box' - self._updateson = False - # flush the old - cbox = self.cbox_lineprops - for i in range(self._lastcnt-1,-1,-1): - cbox.remove_text(i) - - # add the new - for line in self.lines: - cbox.append_text(line.get_label()) - cbox.set_active(0) - - self._updateson = True - self._lastcnt = len(self.lines) - self.dlg.show() - - def get_active_line(self): - 'get the active line' - ind = self.cbox_lineprops.get_active() - line = self.lines[ind] - return line - - def get_active_linestyle(self): - 'get the active lineinestyle' - ind = self.cbox_linestyles.get_active() - ls = self.linestyles[ind] - return ls - - def get_active_marker(self): - 'get the active lineinestyle' - ind = self.cbox_markers.get_active() - m = self.markers[ind] - return m - - def _update(self): - 'update the active line props from the widgets' - if not self._inited or not self._updateson: return - line = self.get_active_line() - ls = self.get_active_linestyle() - marker = self.get_active_marker() - line.set_linestyle(ls) - line.set_marker(marker) - - button = self.wtree.get_widget('colorbutton_linestyle') - color = button.get_color() - r, g, b = [val/65535. for val in (color.red, color.green, color.blue)] - line.set_color((r,g,b)) - - button = self.wtree.get_widget('colorbutton_markerface') - color = button.get_color() - r, g, b = [val/65535. for val in (color.red, color.green, color.blue)] - line.set_markerfacecolor((r,g,b)) - - line.figure.canvas.draw() - - def on_combobox_lineprops_changed(self, item): - 'update the widgets from the active line' - if not self._inited: return - self._updateson = False - line = self.get_active_line() - - ls = line.get_linestyle() - if ls is None: ls = 'None' - self.cbox_linestyles.set_active(self.linestyled[ls]) - - marker = line.get_marker() - if marker is None: marker = 'None' - self.cbox_markers.set_active(self.markerd[marker]) - - rgba = mcolors.to_rgba(line.get_color()) - color = gtk.gdk.Color(*[int(val*65535) for val in rgba[:3]]) - button = self.wtree.get_widget('colorbutton_linestyle') - button.set_color(color) - - rgba = mcolors.to_rgba(line.get_markerfacecolor()) - color = gtk.gdk.Color(*[int(val*65535) for val in rgba[:3]]) - button = self.wtree.get_widget('colorbutton_markerface') - button.set_color(color) - self._updateson = True - - def on_combobox_linestyle_changed(self, item): - self._update() - - def on_combobox_marker_changed(self, item): - self._update() - - def on_colorbutton_linestyle_color_set(self, button): - self._update() - - def on_colorbutton_markerface_color_set(self, button): - 'called colorbutton marker clicked' - self._update() - - def on_dialog_lineprops_okbutton_clicked(self, button): - self._update() - self.dlg.hide() - - def on_dialog_lineprops_cancelbutton_clicked(self, button): - self.dlg.hide() - -# set icon used when windows are minimized -# Unfortunately, the SVG renderer (rsvg) leaks memory under earlier -# versions of pygtk, so we have to use a PNG file instead. -try: - if gtk.pygtk_version < (2, 8, 0) or sys.platform == 'win32': - icon_filename = 'matplotlib.png' - else: - icon_filename = 'matplotlib.svg' - window_icon = os.path.join(rcParams['datapath'], 'images', icon_filename) -except: - window_icon = None - _log.info('Could not load matplotlib icon: %s', sys.exc_info()[1]) - -def error_msg_gtk(msg, parent=None): - if parent is not None: # find the toplevel gtk.Window - parent = parent.get_toplevel() - if parent.flags() & gtk.TOPLEVEL == 0: - parent = None - - if not isinstance(msg, six.string_types): - msg = ','.join(map(str, msg)) - - dialog = gtk.MessageDialog( - parent = parent, - type = gtk.MESSAGE_ERROR, - buttons = gtk.BUTTONS_OK, - message_format = msg) - dialog.run() - dialog.destroy() - - -@_Backend.export -class _BackendGTK(_Backend): - FigureCanvas = FigureCanvasGTK - FigureManager = FigureManagerGTK - - @staticmethod - def trigger_manager_draw(manager): - manager.canvas.draw_idle() - - @staticmethod - def mainloop(): - if gtk.main_level() == 0: - gtk.main() diff --git a/lib/matplotlib/backends/backend_gtkagg.py b/lib/matplotlib/backends/backend_gtkagg.py deleted file mode 100644 index 2aefadfb3ec5..000000000000 --- a/lib/matplotlib/backends/backend_gtkagg.py +++ /dev/null @@ -1,96 +0,0 @@ -""" -Render to gtk from agg -""" -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - -import matplotlib -from matplotlib.cbook import warn_deprecated -from matplotlib.backends.backend_agg import FigureCanvasAgg -from matplotlib.backends.backend_gtk import ( - gtk, _BackendGTK, FigureCanvasGTK, FigureManagerGTK, NavigationToolbar2GTK, - backend_version, error_msg_gtk, PIXELS_PER_INCH) -from matplotlib.backends._gtkagg import agg_to_gtk_drawable - - -class NavigationToolbar2GTKAgg(NavigationToolbar2GTK): - def _get_canvas(self, fig): - return FigureCanvasGTKAgg(fig) - - -class FigureManagerGTKAgg(FigureManagerGTK): - def _get_toolbar(self, canvas): - # must be inited after the window, drawingArea and figure - # attrs are set - if matplotlib.rcParams['toolbar']=='toolbar2': - toolbar = NavigationToolbar2GTKAgg (canvas, self.window) - else: - toolbar = None - return toolbar - - -class FigureCanvasGTKAgg(FigureCanvasGTK, FigureCanvasAgg): - filetypes = FigureCanvasGTK.filetypes.copy() - filetypes.update(FigureCanvasAgg.filetypes) - - def __init__(self, *args, **kwargs): - warn_deprecated('2.2', - message=('The GTKAgg backend is deprecated. It is ' - 'untested and will be removed in Matplotlib ' - '3.0. Use the GTK3Agg backend instead. See ' - 'Matplotlib usage FAQ for more info on ' - 'backends.'), - alternative='GTK3Agg') - super().__init__(*args, **kwargs) - - def configure_event(self, widget, event=None): - - if widget.window is None: - return - try: - del self.renderer - except AttributeError: - pass - w,h = widget.window.get_size() - if w==1 or h==1: return # empty fig - - # compute desired figure size in inches - dpival = self.figure.dpi - winch = w/dpival - hinch = h/dpival - self.figure.set_size_inches(winch, hinch, forward=False) - self._need_redraw = True - self.resize_event() - return True - - def _render_figure(self, pixmap, width, height): - FigureCanvasAgg.draw(self) - - buf = self.buffer_rgba() - ren = self.get_renderer() - w = int(ren.width) - h = int(ren.height) - - pixbuf = gtk.gdk.pixbuf_new_from_data( - buf, gtk.gdk.COLORSPACE_RGB, True, 8, w, h, w*4) - pixmap.draw_pixbuf(pixmap.new_gc(), pixbuf, 0, 0, 0, 0, w, h, - gtk.gdk.RGB_DITHER_NONE, 0, 0) - - def blit(self, bbox=None): - agg_to_gtk_drawable(self._pixmap, self.renderer._renderer, bbox) - x, y, w, h = self.allocation - self.window.draw_drawable(self.style.fg_gc[self.state], self._pixmap, - 0, 0, 0, 0, w, h) - - def print_png(self, filename, *args, **kwargs): - # Do this so we can save the resolution of figure in the PNG file - agg = self.switch_backends(FigureCanvasAgg) - return agg.print_png(filename, *args, **kwargs) - - -@_BackendGTK.export -class _BackendGTKAgg(_BackendGTK): - FigureCanvas = FigureCanvasGTKAgg - FigureManager = FigureManagerGTKAgg diff --git a/lib/matplotlib/backends/backend_gtkcairo.py b/lib/matplotlib/backends/backend_gtkcairo.py deleted file mode 100644 index 48da2ae7a9fa..000000000000 --- a/lib/matplotlib/backends/backend_gtkcairo.py +++ /dev/null @@ -1,74 +0,0 @@ -""" -GTK+ Matplotlib interface using cairo (not GDK) drawing operations. -Author: Steve Chaplin -""" -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - -import gtk -if gtk.pygtk_version < (2, 7, 0): - import cairo.gtk - -from matplotlib import cbook -from matplotlib.backends import backend_cairo -from matplotlib.backends.backend_gtk import * -from matplotlib.backends.backend_gtk import _BackendGTK - -backend_version = ('PyGTK(%d.%d.%d) ' % gtk.pygtk_version - + 'Pycairo(%s)' % backend_cairo.backend_version) - - -class RendererGTKCairo (backend_cairo.RendererCairo): - if gtk.pygtk_version >= (2,7,0): - def set_pixmap (self, pixmap): - self.gc.ctx = pixmap.cairo_create() - else: - def set_pixmap (self, pixmap): - self.gc.ctx = cairo.gtk.gdk_cairo_create (pixmap) - - -class FigureCanvasGTKCairo(backend_cairo.FigureCanvasCairo, FigureCanvasGTK): - filetypes = FigureCanvasGTK.filetypes.copy() - filetypes.update(backend_cairo.FigureCanvasCairo.filetypes) - - def __init__(self, *args, **kwargs): - warn_deprecated('2.2', - message=('The GTKCairo backend is deprecated. It is ' - 'untested and will be removed in Matplotlib ' - '3.0. Use the GTK3Cairo backend instead. See ' - 'Matplotlib usage FAQ for more info on ' - 'backends.'), - alternative='GTK3Cairo') - super().__init__(*args, **kwargs) - - def _renderer_init(self): - """Override to use cairo (rather than GDK) renderer""" - self._renderer = RendererGTKCairo(self.figure.dpi) - - -# This class has been unused for a while at least. -@cbook.deprecated("2.1") -class FigureManagerGTKCairo(FigureManagerGTK): - def _get_toolbar(self, canvas): - # must be inited after the window, drawingArea and figure - # attrs are set - if matplotlib.rcParams['toolbar']=='toolbar2': - toolbar = NavigationToolbar2GTKCairo (canvas, self.window) - else: - toolbar = None - return toolbar - - -# This class has been unused for a while at least. -@cbook.deprecated("2.1") -class NavigationToolbar2Cairo(NavigationToolbar2GTK): - def _get_canvas(self, fig): - return FigureCanvasGTKCairo(fig) - - -@_BackendGTK.export -class _BackendGTKCairo(_BackendGTK): - FigureCanvas = FigureCanvasGTKCairo - FigureManager = FigureManagerGTK diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index c89d41f9589c..a4ebe6c36c0a 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -95,16 +95,11 @@ def _backend_selection(): if not PyQt5.QtWidgets.qApp.startingUp(): # The mainloop is running. rcParams['backend'] = 'qt5Agg' - elif ('gtk' in sys.modules and - backend not in ('GTK', 'GTKAgg', 'GTKCairo')): - if 'gi' in sys.modules: - from gi.repository import GObject - ml = GObject.MainLoop - else: - import gobject - ml = gobject.MainLoop + elif 'gtk' in sys.modules and 'gi' in sys.modules: + from gi.repository import GObject + ml = GObject.MainLoop if ml().is_running(): - rcParams['backend'] = 'gtk' + 'Agg' * is_agg_backend + rcParams['backend'] = 'GTK3Agg' elif 'Tkinter' in sys.modules and not backend == 'TkAgg': # import Tkinter pass # what if anything do we need to do for tkinter? diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index a4434f1ba5d4..f929b2db2709 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -35,17 +35,14 @@ # The capitalized forms are needed for ipython at present; this may # change for later versions. -interactive_bk = ['GTK', 'GTKAgg', 'GTKCairo', 'MacOSX', - 'Qt4Agg', 'Qt5Agg', 'TkAgg', 'WX', 'WXAgg', - 'GTK3Cairo', 'GTK3Agg', 'WebAgg', 'nbAgg'] -interactive_bk = ['GTK', 'GTKAgg', 'GTKCairo', 'GTK3Agg', 'GTK3Cairo', +interactive_bk = ['GTK3Agg', 'GTK3Cairo', 'MacOSX', 'nbAgg', 'Qt4Agg', 'Qt4Cairo', 'Qt5Agg', 'Qt5Cairo', 'TkAgg', 'TkCairo', 'WebAgg', 'WX', 'WXAgg', 'WXCairo'] -non_interactive_bk = ['agg', 'cairo', 'gdk', +non_interactive_bk = ['agg', 'cairo', 'pdf', 'pgf', 'ps', 'svg', 'template'] all_backends = interactive_bk + non_interactive_bk diff --git a/matplotlibrc.template b/matplotlibrc.template index 3c9d6f4cbc7b..689bfdf0282c 100644 --- a/matplotlibrc.template +++ b/matplotlibrc.template @@ -29,9 +29,8 @@ ##### CONFIGURATION BEGINS HERE -## The default backend; one of GTK GTKAgg GTKCairo GTK3Agg GTK3Cairo -## MacOSX Qt4Agg Qt5Agg TkAgg WX WXAgg Agg Cairo GDK PS PDF SVG -## Template. +## The default backend; one of GTK3Agg GTK3Cairo MacOSX Qt4Agg Qt5Agg TkAgg +## WX WXAgg Agg Cairo PS PDF SVG Template. ## You can also deploy your own backend outside of matplotlib by ## referring to the module name (which must be in the PYTHONPATH) as ## 'module://my_backend'. diff --git a/pytest.ini b/pytest.ini index 341532077417..18f30b251b4b 100644 --- a/pytest.ini +++ b/pytest.ini @@ -24,11 +24,7 @@ pep8ignore = matplotlib/backends/qt_editor/formlayout.py E301 E402 E501 matplotlib/backends/backend_agg.py E225 E228 E231 E261 E301 E302 E303 E701 matplotlib/backends/backend_cairo.py E203 E211 E221 E231 E261 E272 E302 E303 E401 E402 E701 E711 - matplotlib/backends/backend_gdk.py E202 E203 E211 E221 E225 E231 E261 E302 E303 E402 E501 E702 E711 - matplotlib/backends/backend_gtk.py E201 E202 E203 E211 E221 E222 E225 E231 E251 E261 E262 E301 E302 E303 E401 E402 E501 E701 E702 E703 matplotlib/backends/backend_gtk3.py E201 E202 E203 E211 E221 E222 E225 E231 E251 E261 E262 E301 E302 E401 E402 E501 E701 - matplotlib/backends/backend_gtkagg.py E211 E225 E231 E261 E302 E501 E701 - matplotlib/backends/backend_gtkcairo.py E211 E225 E231 E402 E701 matplotlib/backends/backend_macosx.py E222 E225 E231 E261 E701 E711 matplotlib/backends/backend_pgf.py E261 E302 E303 E731 matplotlib/backends/backend_ps.py E202 E203 E225 E228 E231 E261 E262 E271 E301 E302 E303 E401 E402 E501 E701 diff --git a/setup.cfg.template b/setup.cfg.template index f53084083ea6..8d4669492afb 100644 --- a/setup.cfg.template +++ b/setup.cfg.template @@ -34,7 +34,7 @@ [gui_support] # Matplotlib supports multiple GUI toolkits, including -# GTK, MacOSX, Qt4, Qt5, Tk, and WX. Support for many of +# GTK3, MacOSX, Qt4, Qt5, Tk, and WX. Support for many of # these toolkits requires AGG, the Anti-Grain Geometry library, # which is provided by Matplotlib and built by default. # @@ -43,8 +43,6 @@ # these GUI toolkits during installation and, if present, compiles the # required extensions to support the toolkit. # -# - GTK 2.x support of any kind requires the GTK runtime environment -# headers and PyGTK. # - Tk support requires Tk development headers and Tkinter. # - Mac OSX backend requires the Cocoa headers included with XCode. # - Windowing is MS-Windows specific, and requires the "windows.h" @@ -66,10 +64,8 @@ # #agg = auto #cairo = auto -#gtk = auto #gtk3agg = auto #gtk3cairo = auto -#gtkagg = auto #macosx = auto #pyside = auto #qt4agg = auto @@ -80,13 +76,12 @@ [rc_options] # User-configurable options # -# Default backend, one of: Agg, Cairo, GTK, GTKAgg, GTKCairo, -# GTK3Agg, GTK3Cairo, MacOSX, Pdf, Ps, Qt4Agg, Qt5Agg, SVG, TkAgg, WX, WXAgg. +# Default backend, one of: Agg, Cairo, GTK3Agg, GTK3Cairo, MacOSX, Pdf, Ps, +# Qt4Agg, Qt5Agg, SVG, TkAgg, WX, WXAgg. # -# The Agg, Ps, Pdf and SVG backends do not require external -# dependencies. Do not choose GTK, GTKAgg, GTKCairo, MacOSX, or TkAgg -# if you have disabled the relevant extension modules. Agg will be used -# by default. +# The Agg, Ps, Pdf and SVG backends do not require external dependencies. Do +# not choose MacOSX, or TkAgg if you have disabled the relevant extension +# modules. Agg will be used by default. # #backend = Agg # diff --git a/setup.py b/setup.py index 84a75b062e68..668bc5b0cf2f 100644 --- a/setup.py +++ b/setup.py @@ -97,10 +97,8 @@ setupext.BackendQt4(), setupext.BackendGtk3Agg(), setupext.BackendGtk3Cairo(), - setupext.BackendGtkAgg(), setupext.BackendTkAgg(), setupext.BackendWxAgg(), - setupext.BackendGtk(), setupext.BackendAgg(), setupext.BackendCairo(), setupext.Windowing(), diff --git a/setupext.py b/setupext.py index da81c3635e2b..58e95459ce5c 100644 --- a/setupext.py +++ b/setupext.py @@ -1431,128 +1431,6 @@ def add_flags(self, ext): ext.libraries.extend(['dl']) -class BackendGtk(OptionalBackendPackage): - name = "gtk" - - def check_requirements(self): - try: - import gtk - except ImportError: - raise CheckFailed("Requires pygtk") - except RuntimeError: - raise CheckFailed('pygtk present, but import failed.') - else: - version = (2, 2, 0) - if gtk.pygtk_version < version: - raise CheckFailed( - "Requires pygtk %d.%d.%d or later. " - "Found %d.%d.%d" % (version + gtk.pygtk_version)) - - ext = self.get_extension() - self.add_flags(ext) - check_include_file(ext.include_dirs, - os.path.join("gtk", "gtk.h"), - 'gtk') - check_include_file(ext.include_dirs, - os.path.join("pygtk", "pygtk.h"), - 'pygtk') - - return 'Gtk: %s pygtk: %s' % ( - ".".join(str(x) for x in gtk.gtk_version), - ".".join(str(x) for x in gtk.pygtk_version)) - - def get_package_data(self): - return {'matplotlib': ['mpl-data/*.glade']} - - def get_extension(self): - sources = [ - 'src/_backend_gdk.c' - ] - ext = make_extension('matplotlib.backends._backend_gdk', sources) - self.add_flags(ext) - Numpy().add_flags(ext) - return ext - - def add_flags(self, ext): - if sys.platform == 'win32': - def getoutput(s): - ret = os.popen(s).read().strip() - return ret - - if 'PKG_CONFIG_PATH' not in os.environ: - # If Gtk+ is installed, pkg-config is required to be installed - os.environ['PKG_CONFIG_PATH'] = 'C:\\GTK\\lib\\pkgconfig' - - # popen broken on my win32 platform so I can't use pkgconfig - ext.library_dirs.extend( - ['C:/GTK/bin', 'C:/GTK/lib']) - - ext.include_dirs.extend( - ['win32_static/include/pygtk-2.0', - 'C:/GTK/include', - 'C:/GTK/include/gobject', - 'C:/GTK/include/gext', - 'C:/GTK/include/glib', - 'C:/GTK/include/pango', - 'C:/GTK/include/atk', - 'C:/GTK/include/X11', - 'C:/GTK/include/cairo', - 'C:/GTK/include/gdk', - 'C:/GTK/include/gdk-pixbuf', - 'C:/GTK/include/gtk', - ]) - - pygtkIncludes = getoutput( - 'pkg-config --cflags-only-I pygtk-2.0').split() - gtkIncludes = getoutput( - 'pkg-config --cflags-only-I gtk+-2.0').split() - includes = pygtkIncludes + gtkIncludes - ext.include_dirs.extend([include[2:] for include in includes]) - - pygtkLinker = getoutput('pkg-config --libs pygtk-2.0').split() - gtkLinker = getoutput('pkg-config --libs gtk+-2.0').split() - linkerFlags = pygtkLinker + gtkLinker - - ext.libraries.extend( - [flag[2:] for flag in linkerFlags if flag.startswith('-l')]) - - ext.library_dirs.extend( - [flag[2:] for flag in linkerFlags if flag.startswith('-L')]) - - ext.extra_link_args.extend( - [flag for flag in linkerFlags if not - (flag.startswith('-l') or flag.startswith('-L'))]) - - # visual studio doesn't need the math library - if (sys.platform == 'win32' and - win32_compiler == 'msvc' and - 'm' in ext.libraries): - ext.libraries.remove('m') - - elif sys.platform != 'win32': - pkg_config.setup_extension(ext, 'pygtk-2.0') - pkg_config.setup_extension(ext, 'gtk+-2.0') - - -class BackendGtkAgg(BackendGtk): - name = "gtkagg" - - def get_package_data(self): - return {'matplotlib': ['mpl-data/*.glade']} - - def get_extension(self): - sources = [ - 'src/py_converters.cpp', - 'src/_gtkagg.cpp', - 'src/mplutils.cpp' - ] - ext = make_extension('matplotlib.backends._gtkagg', sources) - self.add_flags(ext) - LibAgg().add_flags(ext) - Numpy().add_flags(ext) - return ext - - def backend_gtk3agg_internal_check(x): try: import gi diff --git a/src/_backend_gdk.c b/src/_backend_gdk.c deleted file mode 100644 index 8314219cca22..000000000000 --- a/src/_backend_gdk.c +++ /dev/null @@ -1,72 +0,0 @@ -/* -*- mode: C; c-basic-offset: 4 -*- - * C extensions for backend_gdk - */ - -#include "Python.h" -#include "numpy/arrayobject.h" - -#include - -static PyTypeObject *_PyGdkPixbuf_Type; -#define PyGdkPixbuf_Type (*_PyGdkPixbuf_Type) - -static PyObject *pixbuf_get_pixels_array(PyObject *self, PyObject *args) -{ - /* 1) read in Python pixbuf, get the underlying gdk_pixbuf */ - PyGObject *py_pixbuf; - GdkPixbuf *gdk_pixbuf; - PyArrayObject *array; - npy_intp dims[3] = { 0, 0, 3 }; - npy_intp strides[3]; - - if (!PyArg_ParseTuple(args, "O!:pixbuf_get_pixels_array", &PyGdkPixbuf_Type, &py_pixbuf)) - return NULL; - - gdk_pixbuf = GDK_PIXBUF(py_pixbuf->obj); - - /* 2) same as pygtk/gtk/gdk.c _wrap_gdk_pixbuf_get_pixels_array() - * with 'self' changed to py_pixbuf - */ - - dims[0] = gdk_pixbuf_get_height(gdk_pixbuf); - dims[1] = gdk_pixbuf_get_width(gdk_pixbuf); - if (gdk_pixbuf_get_has_alpha(gdk_pixbuf)) - dims[2] = 4; - - strides[0] = gdk_pixbuf_get_rowstride(gdk_pixbuf); - strides[1] = dims[2]; - strides[2] = 1; - - array = (PyArrayObject*) - PyArray_New(&PyArray_Type, 3, dims, NPY_UBYTE, strides, - (void*)gdk_pixbuf_get_pixels(gdk_pixbuf), 1, - NPY_ARRAY_WRITEABLE, NULL); - - if (array == NULL) - return NULL; - - /* the array holds a ref to the pixbuf pixels through this wrapper*/ - Py_INCREF(py_pixbuf); - if (PyArray_SetBaseObject(array, (PyObject *)py_pixbuf) == -1) { - Py_DECREF(py_pixbuf); - Py_DECREF(array); - return NULL; - } - return PyArray_Return(array); -} - -static PyMethodDef _backend_gdk_functions[] = { - { "pixbuf_get_pixels_array", (PyCFunction)pixbuf_get_pixels_array, METH_VARARGS }, - { NULL, NULL, 0 } -}; - -PyMODINIT_FUNC init_backend_gdk(void) -{ - PyObject *mod; - mod = Py_InitModule("matplotlib.backends._backend_gdk", _backend_gdk_functions); - import_array(); - init_pygtk(); - - mod = PyImport_ImportModule("gtk.gdk"); - _PyGdkPixbuf_Type = (PyTypeObject *)PyObject_GetAttrString(mod, "Pixbuf"); -} diff --git a/src/_gtkagg.cpp b/src/_gtkagg.cpp deleted file mode 100644 index 2d6a1cec13c1..000000000000 --- a/src/_gtkagg.cpp +++ /dev/null @@ -1,155 +0,0 @@ -/* -*- mode: c++; c-basic-offset: 4 -*- */ - -#include -#include - -#include - -#include "agg_basics.h" -#include "agg_pixfmt_rgba.h" -#include "agg_renderer_base.h" -#include "agg_rendering_buffer.h" - -#include "numpy_cpp.h" -#include "py_converters.h" - -static PyObject *Py_agg_to_gtk_drawable(PyObject *self, PyObject *args, PyObject *kwds) -{ - typedef agg::pixfmt_rgba32_plain pixfmt; - typedef agg::renderer_base renderer_base; - - PyGObject *py_drawable; - numpy::array_view buffer; - agg::rect_d rect; - - // args are gc, renderer, bbox where bbox is a transforms BBox - // (possibly None). If bbox is None, blit the entire agg buffer - // to gtk. If bbox is not None, blit only the region defined by - // the bbox - - if (!PyArg_ParseTuple(args, - "OO&O&:agg_to_gtk_drawable", - &py_drawable, - &buffer.converter, - &buffer, - &convert_rect, - &rect)) { - return NULL; - } - - if (buffer.dim(2) != 4) { - PyErr_SetString(PyExc_ValueError, "Invalid image buffer. Must be NxMx4."); - return NULL; - } - - GdkDrawable *drawable = GDK_DRAWABLE(py_drawable->obj); - GdkGC *gc = gdk_gc_new(drawable); - - int srcstride = buffer.dim(1) * 4; - int srcwidth = buffer.dim(1); - int srcheight = buffer.dim(0); - - // these three will be overridden below - int destx = 0; - int desty = 0; - int destwidth = 1; - int destheight = 1; - int deststride = 1; - - std::vector destbuffer; - agg::int8u *destbufferptr; - - if (rect.x1 == 0.0 && rect.x2 == 0.0 && rect.y1 == 0.0 && rect.y2 == 0.0) { - // bbox is None; copy the entire image - destbufferptr = (agg::int8u *)buffer.data(); - destwidth = srcwidth; - destheight = srcheight; - deststride = srcstride; - } else { - destx = (int)rect.x1; - desty = srcheight - (int)rect.y2; - destwidth = (int)(rect.x2 - rect.x1); - destheight = (int)(rect.y2 - rect.y1); - deststride = destwidth * 4; - destbuffer.resize(destheight * deststride, 0); - destbufferptr = &destbuffer.front(); - - agg::rendering_buffer destrbuf; - destrbuf.attach(destbufferptr, destwidth, destheight, deststride); - pixfmt destpf(destrbuf); - renderer_base destrb(destpf); - - agg::rendering_buffer srcrbuf; - srcrbuf.attach((agg::int8u *)buffer.data(), buffer.dim(1), buffer.dim(0), buffer.dim(1) * 4); - - agg::rect_base region(destx, desty, (int)rect.x2, srcheight - (int)rect.y1); - destrb.copy_from(srcrbuf, ®ion, -destx, -desty); - } - - gdk_draw_rgb_32_image(drawable, - gc, - destx, - desty, - destwidth, - destheight, - GDK_RGB_DITHER_NORMAL, - destbufferptr, - deststride); - - gdk_gc_destroy(gc); - - Py_RETURN_NONE; -} - -static PyMethodDef module_methods[] = { - {"agg_to_gtk_drawable", (PyCFunction)Py_agg_to_gtk_drawable, METH_VARARGS, NULL}, - NULL -}; - -extern "C" { - -#if PY3K - static struct PyModuleDef moduledef = { - PyModuleDef_HEAD_INIT, - "_gtkagg", - NULL, - 0, - module_methods, - NULL, - NULL, - NULL, - NULL - }; - -#define INITERROR return NULL - - PyMODINIT_FUNC PyInit__gtkagg(void) - -#else -#define INITERROR return - - PyMODINIT_FUNC init_gtkagg(void) -#endif - - { - PyObject *m; - -#if PY3K - m = PyModule_Create(&moduledef); -#else - m = Py_InitModule3("_gtkagg", module_methods, NULL); -#endif - - if (m == NULL) { - INITERROR; - } - - init_pygobject(); - init_pygtk(); - import_array(); - -#if PY3K - return m; -#endif - } -} diff --git a/tutorials/introductory/usage.py b/tutorials/introductory/usage.py index 185f38d29b65..5d56b9f4a3b6 100644 --- a/tutorials/introductory/usage.py +++ b/tutorials/introductory/usage.py @@ -354,8 +354,8 @@ def my_plotter(ax, data1, data2, param_dict): # :func:`~matplotlib.use` unless absolutely necessary. # # .. note:: -# Backend name specifications are not case-sensitive; e.g., 'GTKAgg' -# and 'gtkagg' are equivalent. +# Backend name specifications are not case-sensitive; e.g., 'GTK3Agg' +# and 'gtk3agg' are equivalent. # # With a typical installation of matplotlib, such as from a # binary installer or a linux distribution package, a good default @@ -373,11 +373,10 @@ def my_plotter(ax, data1, data2, param_dict): # renderer for user interfaces is ``Agg`` which uses the `Anti-Grain # Geometry`_ C++ library to make a raster (pixel) image of the figure. # All of the user interfaces except ``macosx`` can be used with -# agg rendering, e.g., -# ``WXAgg``, ``GTKAgg``, ``QT4Agg``, ``QT5Agg``, ``TkAgg``. In -# addition, some of the user interfaces support other rendering engines. -# For example, with GTK, you can also select GDK rendering (backend -# ``GTK`` deprecated in 2.0) or Cairo rendering (backend ``GTKCairo``). +# agg rendering, e.g., ``WXAgg``, ``GTK3Agg``, ``QT4Agg``, ``QT5Agg``, +# ``TkAgg``. In addition, some of the user interfaces support other rendering +# engines. For example, with GTK+ 3, you can also select Cairo rendering +# (backend ``GTK3Cairo``). # # For the rendering engines, one can also distinguish between `vector # `_ or `raster @@ -438,11 +437,6 @@ def my_plotter(ax, data1, data2, param_dict): # Qt4Agg Agg rendering to a :term:`Qt4` canvas (requires PyQt4_ or # ``pyside``). This backend can be activated in IPython with # ``%matplotlib qt4``. -# GTKAgg Agg rendering to a :term:`GTK` 2.x canvas (requires PyGTK_, and -# pycairo_ or cairocffi_; Python2 only). This backend can be -# activated in IPython with ``%matplotlib gtk``. -# GTKCairo Cairo rendering to a :term:`GTK` 2.x canvas (requires PyGTK_, -# and pycairo_ or cairocffi_; Python2 only). # WXAgg Agg rendering to a :term:`wxWidgets` canvas (requires wxPython_; # v4.0 (in beta) is required for Python3). This backend can be # activated in IPython with ``%matplotlib wx``.# From 56947bdc9638aac2b17492c9ee94c7f103dfd553 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sun, 11 Feb 2018 23:58:20 -0500 Subject: [PATCH 0251/1161] DOC: Convert remaining GTK2 examples to GTK3. --- .../user_interfaces/gtk_spreadsheet_sgskip.py | 55 +++++++++---------- .../user_interfaces/pylab_with_gtk_sgskip.py | 18 +++--- 2 files changed, 36 insertions(+), 37 deletions(-) diff --git a/examples/user_interfaces/gtk_spreadsheet_sgskip.py b/examples/user_interfaces/gtk_spreadsheet_sgskip.py index 41d4aca37418..476022db1c44 100644 --- a/examples/user_interfaces/gtk_spreadsheet_sgskip.py +++ b/examples/user_interfaces/gtk_spreadsheet_sgskip.py @@ -8,55 +8,54 @@ data """ -import pygtk -pygtk.require('2.0') -import gtk -from gtk import gdk +import gi +gi.require_version('Gtk', '3.0') +gi.require_version('Gdk', '3.0') +from gi.repository import Gtk, Gdk -import matplotlib -matplotlib.use('GTKAgg') # or 'GTK' -from matplotlib.backends.backend_gtk import FigureCanvasGTK as FigureCanvas +from matplotlib.backends.backend_gtk3agg import FigureCanvas +# from matplotlib.backends.backend_gtk3cairo import FigureCanvas from numpy.random import random from matplotlib.figure import Figure -class DataManager(gtk.Window): +class DataManager(Gtk.Window): numRows, numCols = 20, 10 data = random((numRows, numCols)) def __init__(self): - gtk.Window.__init__(self) + Gtk.Window.__init__(self) self.set_default_size(600, 600) - self.connect('destroy', lambda win: gtk.main_quit()) + self.connect('destroy', lambda win: Gtk.main_quit()) self.set_title('GtkListStore demo') self.set_border_width(8) - vbox = gtk.VBox(False, 8) + vbox = Gtk.VBox(False, 8) self.add(vbox) - label = gtk.Label('Double click a row to plot the data') + label = Gtk.Label('Double click a row to plot the data') - vbox.pack_start(label, False, False) + vbox.pack_start(label, False, False, 0) - sw = gtk.ScrolledWindow() - sw.set_shadow_type(gtk.SHADOW_ETCHED_IN) - sw.set_policy(gtk.POLICY_NEVER, - gtk.POLICY_AUTOMATIC) - vbox.pack_start(sw, True, True) + sw = Gtk.ScrolledWindow() + sw.set_shadow_type(Gtk.ShadowType.ETCHED_IN) + sw.set_policy(Gtk.PolicyType.NEVER, + Gtk.PolicyType.AUTOMATIC) + vbox.pack_start(sw, True, True, 0) model = self.create_model() - self.treeview = gtk.TreeView(model) + self.treeview = Gtk.TreeView(model) self.treeview.set_rules_hint(True) # matplotlib stuff fig = Figure(figsize=(6, 4)) - self.canvas = FigureCanvas(fig) # a gtk.DrawingArea - vbox.pack_start(self.canvas, True, True) + self.canvas = FigureCanvas(fig) # a Gtk.DrawingArea + vbox.pack_start(self.canvas, True, True, 0) ax = fig.add_subplot(111) self.line, = ax.plot(self.data[0, :], 'go') # plot the first row @@ -65,9 +64,9 @@ def __init__(self): self.add_columns() - self.add_events(gdk.BUTTON_PRESS_MASK | - gdk.KEY_PRESS_MASK | - gdk.KEY_RELEASE_MASK) + self.add_events(Gdk.EventMask.BUTTON_PRESS_MASK | + Gdk.EventMask.KEY_PRESS_MASK | + Gdk.EventMask.KEY_RELEASE_MASK) def plot_row(self, treeview, path, view_column): ind, = path # get the index into data @@ -77,18 +76,18 @@ def plot_row(self, treeview, path, view_column): def add_columns(self): for i in range(self.numCols): - column = gtk.TreeViewColumn('%d' % i, gtk.CellRendererText(), text=i) + column = Gtk.TreeViewColumn(str(i), Gtk.CellRendererText(), text=i) self.treeview.append_column(column) def create_model(self): types = [float]*self.numCols - store = gtk.ListStore(*types) + store = Gtk.ListStore(*types) for row in self.data: - store.append(row) + store.append(tuple(row)) return store manager = DataManager() manager.show_all() -gtk.main() +Gtk.main() diff --git a/examples/user_interfaces/pylab_with_gtk_sgskip.py b/examples/user_interfaces/pylab_with_gtk_sgskip.py index b1abb3f8f73e..c7ea65dda64e 100644 --- a/examples/user_interfaces/pylab_with_gtk_sgskip.py +++ b/examples/user_interfaces/pylab_with_gtk_sgskip.py @@ -7,7 +7,7 @@ modify the GUI by accessing the underlying gtk widgets """ import matplotlib -matplotlib.use('GTKAgg') +matplotlib.use('GTK3Agg') # or 'GTK3Cairo' import matplotlib.pyplot as plt @@ -22,9 +22,11 @@ toolbar = manager.toolbar # now let's add a button to the toolbar -import gtk +import gi +gi.require_version('Gtk', '3.0') +from gi.repository import Gtk next = 8 # where to insert this in the mpl toolbar -button = gtk.Button('Click me') +button = Gtk.Button('Click me') button.show() @@ -32,22 +34,20 @@ def clicked(button): print('hi mom') button.connect('clicked', clicked) -toolitem = gtk.ToolItem() +toolitem = Gtk.ToolItem() toolitem.show() -toolitem.set_tooltip( - toolbar.tooltips, - 'Click me for fun and profit') +toolitem.set_tooltip_text('Click me for fun and profit') toolitem.add(button) toolbar.insert(toolitem, next) next += 1 # now let's add a widget to the vbox -label = gtk.Label() +label = Gtk.Label() label.set_markup('Drag mouse over axes for position') label.show() vbox = manager.vbox -vbox.pack_start(label, False, False) +vbox.pack_start(label, False, False, 0) vbox.reorder_child(manager.toolbar, -1) From 962388fa58188bbfe6179b19df9def4082792732 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 14 Feb 2018 23:44:13 -0500 Subject: [PATCH 0252/1161] Remove unused lineprops glade file. It was part of the GTK2 backends, but not implemented for GTK3. This file doesn't load in current Glade either. --- MANIFEST.in | 1 - .../lineprops_dialog_gtk_sgskip.py | 30 -- lib/matplotlib/mpl-data/lineprops.glade | 285 ------------------ 3 files changed, 316 deletions(-) delete mode 100644 examples/user_interfaces/lineprops_dialog_gtk_sgskip.py delete mode 100644 lib/matplotlib/mpl-data/lineprops.glade diff --git a/MANIFEST.in b/MANIFEST.in index e5aaa106f7ef..fcdff13813cb 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -4,7 +4,6 @@ include pytest.ini include Makefile MANIFEST.in include matplotlibrc.template setup.cfg.template include setupext.py setup.py distribute_setup.py -include lib/matplotlib/mpl-data/lineprops.glade include lib/matplotlib/mpl-data/matplotlibrc include lib/matplotlib/mpl-data/images/* include lib/matplotlib/mpl-data/fonts/ttf/* diff --git a/examples/user_interfaces/lineprops_dialog_gtk_sgskip.py b/examples/user_interfaces/lineprops_dialog_gtk_sgskip.py deleted file mode 100644 index 584fa6d49e80..000000000000 --- a/examples/user_interfaces/lineprops_dialog_gtk_sgskip.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -==================== -Lineprops Dialog GTK -==================== - -""" -import matplotlib -matplotlib.use('GTKAgg') -from matplotlib.backends.backend_gtk import DialogLineprops - -import numpy as np -import matplotlib.pyplot as plt - - -def f(t): - s1 = np.cos(2*np.pi*t) - e1 = np.exp(-t) - return np.multiply(s1, e1) - -t1 = np.arange(0.0, 5.0, 0.1) -t2 = np.arange(0.0, 5.0, 0.02) -t3 = np.arange(0.0, 2.0, 0.01) - -fig, ax = plt.subplots() -l1, = ax.plot(t1, f(t1), 'bo', label='line 1') -l2, = ax.plot(t2, f(t2), 'k--', label='line 2') - -dlg = DialogLineprops([l1, l2]) -dlg.show() -plt.show() diff --git a/lib/matplotlib/mpl-data/lineprops.glade b/lib/matplotlib/mpl-data/lineprops.glade deleted file mode 100644 index d731f3370bb7..000000000000 --- a/lib/matplotlib/mpl-data/lineprops.glade +++ /dev/null @@ -1,285 +0,0 @@ - - - - - - - True - Line Properties - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_NONE - False - True - False - True - False - False - GDK_WINDOW_TYPE_HINT_DIALOG - GDK_GRAVITY_NORTH_WEST - True - - - - True - False - 0 - - - - True - GTK_BUTTONBOX_END - - - - True - True - True - gtk-cancel - True - GTK_RELIEF_NORMAL - True - -6 - - - - - - - True - True - True - gtk-ok - True - GTK_RELIEF_NORMAL - True - -5 - - - - - - 0 - False - True - GTK_PACK_END - - - - - - True - False - 0 - - - - True - - - - - 0 - True - True - - - - - - True - 0 - 0.5 - GTK_SHADOW_NONE - - - - True - 0.5 - 0.5 - 1 - 1 - 0 - 0 - 12 - 0 - - - - True - False - 0 - - - - True - 2 - 3 - False - 0 - 0 - - - - True - Marker - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - - - 0 - 1 - 1 - 2 - fill - - - - - - - True - - - - - 1 - 2 - 0 - 1 - fill - - - - - - True - - - - - 1 - 2 - 1 - 2 - fill - fill - - - - - - True - True - True - Line color - True - - - - 2 - 3 - 0 - 1 - fill - - - - - - - True - True - False - Marker color - True - - - - 2 - 3 - 1 - 2 - fill - - - - - - - True - Line style - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - - - 0 - 1 - 0 - 1 - fill - - - - - - 0 - True - True - - - - - - - - - - True - <b>Line properties</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - - - label_item - - - - - 0 - True - True - - - - - 0 - True - True - - - - - - - From 5d57a874d897b39b337506286931717a9dd92550 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Fri, 16 Feb 2018 22:58:22 -0500 Subject: [PATCH 0253/1161] Update GTK example in the docs to GTK3. --- doc/users/navigation_toolbar.rst | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/doc/users/navigation_toolbar.rst b/doc/users/navigation_toolbar.rst index 22e6e5bb1a14..162dc6b6e98a 100644 --- a/doc/users/navigation_toolbar.rst +++ b/doc/users/navigation_toolbar.rst @@ -109,31 +109,34 @@ automatically for every figure. If you are writing your own user interface code, you can add the toolbar as a widget. The exact syntax depends on your UI, but we have examples for every supported UI in the ``matplotlib/examples/user_interfaces`` directory. Here is some -example code for GTK:: +example code for GTK+ 3:: - import gtk + import gi + gi.require_version('Gtk', '3.0') + from gi.repository import Gtk from matplotlib.figure import Figure - from matplotlib.backends.backend_gtkagg import FigureCanvasGTKAgg as FigureCanvas - from matplotlib.backends.backend_gtkagg import NavigationToolbar2GTKAgg as NavigationToolbar + from matplotlib.backends.backend_gtk3agg import FigureCanvas + from matplotlib.backends.backend_gtk3 import ( + NavigationToolbar2GTK3 as NavigationToolbar) - win = gtk.Window() - win.connect("destroy", lambda x: gtk.main_quit()) + win = Gtk.Window() + win.connect("destroy", lambda x: Gtk.main_quit()) win.set_default_size(400,300) win.set_title("Embedding in GTK") - vbox = gtk.VBox() + vbox = Gtk.VBox() win.add(vbox) fig = Figure(figsize=(5,4), dpi=100) ax = fig.add_subplot(111) ax.plot([1,2,3]) - canvas = FigureCanvas(fig) # a gtk.DrawingArea - vbox.pack_start(canvas) + canvas = FigureCanvas(fig) # a Gtk.DrawingArea + vbox.pack_start(canvas, True, True, 0) toolbar = NavigationToolbar(canvas, win) - vbox.pack_start(toolbar, False, False) + vbox.pack_start(toolbar, False, False, 0) win.show_all() - gtk.main() + Gtk.main() From c4c40d0799baddc6d8601fd0db0fe27fb40b1d9d Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Fri, 16 Feb 2018 23:36:43 -0500 Subject: [PATCH 0254/1161] Remove reference to delete gtktools toolkit. --- lib/matplotlib/mlab.py | 8 -------- 1 file changed, 8 deletions(-) diff --git a/lib/matplotlib/mlab.py b/lib/matplotlib/mlab.py index 93c5e16a58ab..90124479f9ec 100644 --- a/lib/matplotlib/mlab.py +++ b/lib/matplotlib/mlab.py @@ -151,14 +151,6 @@ rec2excel(r, 'test.xls', formatd=formatd) rec2csv(r, 'test.csv', formatd=formatd) - scroll = rec2gtk(r, formatd=formatd) - - win = gtk.Window() - win.set_size_request(600,800) - win.add(scroll) - win.show_all() - gtk.main() - """ From 4987e3cf3fa12183470fd2da7e0251146d364087 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Fri, 16 Feb 2018 23:57:27 -0500 Subject: [PATCH 0255/1161] DOC: Add note that deprecated backends were removed. --- doc/api/next_api_changes/2018-02-16-ES-removals.rst | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 doc/api/next_api_changes/2018-02-16-ES-removals.rst diff --git a/doc/api/next_api_changes/2018-02-16-ES-removals.rst b/doc/api/next_api_changes/2018-02-16-ES-removals.rst new file mode 100644 index 000000000000..a9558b0f3090 --- /dev/null +++ b/doc/api/next_api_changes/2018-02-16-ES-removals.rst @@ -0,0 +1,9 @@ +Removal of deprecated backends +------------------------------ + +Deprecated backends have been removed: + + * GTKAgg + * GTKCairo + * GTK + * GDK From d6e93a393e4ed4863e42d513d4fc06349411bbab Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sat, 17 Feb 2018 02:53:33 -0500 Subject: [PATCH 0256/1161] Fix review items. --- examples/user_interfaces/pylab_with_gtk_sgskip.py | 6 +++--- examples/widgets/cursor.py | 2 +- examples/widgets/span_selector.py | 2 +- lib/matplotlib/pyplot.py | 3 +-- 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/examples/user_interfaces/pylab_with_gtk_sgskip.py b/examples/user_interfaces/pylab_with_gtk_sgskip.py index c7ea65dda64e..4308107afc76 100644 --- a/examples/user_interfaces/pylab_with_gtk_sgskip.py +++ b/examples/user_interfaces/pylab_with_gtk_sgskip.py @@ -25,7 +25,7 @@ import gi gi.require_version('Gtk', '3.0') from gi.repository import Gtk -next = 8 # where to insert this in the mpl toolbar +pos = 8 # where to insert this in the mpl toolbar button = Gtk.Button('Click me') button.show() @@ -39,8 +39,8 @@ def clicked(button): toolitem.set_tooltip_text('Click me for fun and profit') toolitem.add(button) -toolbar.insert(toolitem, next) -next += 1 +toolbar.insert(toolitem, pos) +pos += 1 # now let's add a widget to the vbox label = Gtk.Label() diff --git a/examples/widgets/cursor.py b/examples/widgets/cursor.py index 0e049b6ff80c..6fa20ca21177 100644 --- a/examples/widgets/cursor.py +++ b/examples/widgets/cursor.py @@ -20,7 +20,7 @@ ax.set_xlim(-2, 2) ax.set_ylim(-2, 2) -# Set useblit=True on some backends for enhanced performance. +# Set useblit=True on most backends for enhanced performance. cursor = Cursor(ax, useblit=True, color='red', linewidth=2) plt.show() diff --git a/examples/widgets/span_selector.py b/examples/widgets/span_selector.py index 0ea8904e3471..e3516b0ef7de 100644 --- a/examples/widgets/span_selector.py +++ b/examples/widgets/span_selector.py @@ -38,7 +38,7 @@ def onselect(xmin, xmax): ax2.set_ylim(thisy.min(), thisy.max()) fig.canvas.draw() -# Set useblit=True on some backends for enhanced performance. +# Set useblit=True on most backends for enhanced performance. span = SpanSelector(ax1, onselect, 'horizontal', useblit=True, rectprops=dict(alpha=0.5, facecolor='red')) diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index a4ebe6c36c0a..e8429bc78016 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -97,8 +97,7 @@ def _backend_selection(): rcParams['backend'] = 'qt5Agg' elif 'gtk' in sys.modules and 'gi' in sys.modules: from gi.repository import GObject - ml = GObject.MainLoop - if ml().is_running(): + if GObject.MainLoop().is_running(): rcParams['backend'] = 'GTK3Agg' elif 'Tkinter' in sys.modules and not backend == 'TkAgg': # import Tkinter From 5780fe7d7525dfb9caa40db4b8e31319ed110619 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Sun, 4 Mar 2018 01:31:03 -0800 Subject: [PATCH 0257/1161] Deprecation fixes. 1) don't import matplotlib.compat.subprocess in `__init__` (as that triggers a deprecation warning). 2) using stacklevel=2 for warn_deprecated as default is not necessarily always sufficient, but will definitely be better than stacklevel=1 as default... (see https://docs.python.org/3/library/warnings.html#warnings.warn). --- lib/matplotlib/__init__.py | 1 - lib/matplotlib/backends/backend_agg.py | 3 +-- lib/matplotlib/cbook/deprecation.py | 3 +-- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 99a6dcc4b15a..22d5d6e078e1 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -142,7 +142,6 @@ from . import cbook from matplotlib.cbook import ( mplDeprecation, dedent, get_label, sanitize_sequence) -from matplotlib.compat import subprocess from matplotlib.rcsetup import defaultParams, validate_backend, cycler import numpy diff --git a/lib/matplotlib/backends/backend_agg.py b/lib/matplotlib/backends/backend_agg.py index 82b724cc8b53..5988abbf74e5 100644 --- a/lib/matplotlib/backends/backend_agg.py +++ b/lib/matplotlib/backends/backend_agg.py @@ -589,8 +589,7 @@ def print_tif(self, filename_or_obj, *args, **kwargs): return image = Image.frombuffer('RGBA', size, buf, 'raw', 'RGBA', 0, 1) dpi = (self.figure.dpi, self.figure.dpi) - return image.save(filename_or_obj, format='tiff', - dpi=dpi) + return image.save(filename_or_obj, format='tiff', dpi=dpi) print_tiff = print_tif diff --git a/lib/matplotlib/cbook/deprecation.py b/lib/matplotlib/cbook/deprecation.py index ca7ae333f272..35c7de50d0f9 100644 --- a/lib/matplotlib/cbook/deprecation.py +++ b/lib/matplotlib/cbook/deprecation.py @@ -103,8 +103,7 @@ def warn_deprecated( """ message = _generate_deprecation_message( since, message, name, alternative, pending, obj_type) - - warnings.warn(message, mplDeprecation, stacklevel=1) + warnings.warn(message, mplDeprecation, stacklevel=2) def deprecated(since, message='', name='', alternative='', pending=False, From 6f246603a03b4786e1b021c63c17fb3d21a135f2 Mon Sep 17 00:00:00 2001 From: David Stansby Date: Thu, 15 Feb 2018 18:31:13 +0000 Subject: [PATCH 0258/1161] Filter out invalid value warnings in log scaling Wrap all logscaling in ignore invalid values --- lib/matplotlib/scale.py | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/lib/matplotlib/scale.py b/lib/matplotlib/scale.py index 9d1054fd9a86..2a1c3b16abe3 100644 --- a/lib/matplotlib/scale.py +++ b/lib/matplotlib/scale.py @@ -98,25 +98,26 @@ def __init__(self, nonpos='clip'): self._clip = {"clip": True, "mask": False}[nonpos] def transform_non_affine(self, a): + # Ignore invalid values due to nans being passed to the transform with np.errstate(divide="ignore", invalid="ignore"): out = np.log(a) - out /= np.log(self.base) - if self._clip: - # SVG spec says that conforming viewers must support values up - # to 3.4e38 (C float); however experiments suggest that Inkscape - # (which uses cairo for rendering) runs into cairo's 24-bit limit - # (which is apparently shared by Agg). - # Ghostscript (used for pdf rendering appears to overflow even - # earlier, with the max value around 2 ** 15 for the tests to pass. - # On the other hand, in practice, we want to clip beyond - # np.log10(np.nextafter(0, 1)) ~ -323 - # so 1000 seems safe. - out[a <= 0] = -1000 + out /= np.log(self.base) + if self._clip: + # SVG spec says that conforming viewers must support values up + # to 3.4e38 (C float); however experiments suggest that + # Inkscape (which uses cairo for rendering) runs into cairo's + # 24-bit limit (which is apparently shared by Agg). + # Ghostscript (used for pdf rendering appears to overflow even + # earlier, with the max value around 2 ** 15 for the tests to + # pass. On the other hand, in practice, we want to clip beyond + # np.log10(np.nextafter(0, 1)) ~ -323 + # so 1000 seems safe. + out[a <= 0] = -1000 return out def __str__(self): - return "{}({!r})".format(type(self).__name__, - "clip" if self._clip else "mask") + return "{}({!r})".format( + type(self).__name__, "clip" if self._clip else "mask") class InvertedLogTransformBase(Transform): From 501571bd1bf1e93bea08e12106e6fca0ac8c1b97 Mon Sep 17 00:00:00 2001 From: David Stansby Date: Wed, 14 Feb 2018 17:23:52 +0000 Subject: [PATCH 0259/1161] Move some examples out of examples/api Fix some doc links Put back AGG OO example Remove old example --- examples/{api => color}/colorbar_basics.py | 0 examples/{api => images_contours_and_fields}/affine_image.py | 0 examples/{api => lines_bars_and_markers}/barchart.py | 0 examples/{api => misc}/bbox_intersect.py | 0 .../custom_projection.py} | 0 .../{api/custom_scale_example.py => scales/custom_scale.py} | 0 examples/{api => shapes_and_collections}/collections.py | 0 examples/{api => shapes_and_collections}/compound_path.py | 0 examples/{api => shapes_and_collections}/donut.py | 0 examples/{api => subplots_axes_and_figures}/axes_margins.py | 0 examples/{api => text_labels_and_annotations}/date.py | 0 .../date_index_formatter.py} | 1 + .../engineering_formatter.py | 0 examples/units/bar_unit_demo.py | 4 ++-- tutorials/advanced/transforms_tutorial.py | 2 +- tutorials/introductory/sample_plots.py | 4 ++-- 16 files changed, 6 insertions(+), 5 deletions(-) rename examples/{api => color}/colorbar_basics.py (100%) rename examples/{api => images_contours_and_fields}/affine_image.py (100%) rename examples/{api => lines_bars_and_markers}/barchart.py (100%) rename examples/{api => misc}/bbox_intersect.py (100%) rename examples/{api/custom_projection_example.py => misc/custom_projection.py} (100%) rename examples/{api/custom_scale_example.py => scales/custom_scale.py} (100%) rename examples/{api => shapes_and_collections}/collections.py (100%) rename examples/{api => shapes_and_collections}/compound_path.py (100%) rename examples/{api => shapes_and_collections}/donut.py (100%) rename examples/{api => subplots_axes_and_figures}/axes_margins.py (100%) rename examples/{api => text_labels_and_annotations}/date.py (100%) rename examples/{api/custom_index_formatter.py => text_labels_and_annotations/date_index_formatter.py} (97%) rename examples/{api => text_labels_and_annotations}/engineering_formatter.py (100%) diff --git a/examples/api/colorbar_basics.py b/examples/color/colorbar_basics.py similarity index 100% rename from examples/api/colorbar_basics.py rename to examples/color/colorbar_basics.py diff --git a/examples/api/affine_image.py b/examples/images_contours_and_fields/affine_image.py similarity index 100% rename from examples/api/affine_image.py rename to examples/images_contours_and_fields/affine_image.py diff --git a/examples/api/barchart.py b/examples/lines_bars_and_markers/barchart.py similarity index 100% rename from examples/api/barchart.py rename to examples/lines_bars_and_markers/barchart.py diff --git a/examples/api/bbox_intersect.py b/examples/misc/bbox_intersect.py similarity index 100% rename from examples/api/bbox_intersect.py rename to examples/misc/bbox_intersect.py diff --git a/examples/api/custom_projection_example.py b/examples/misc/custom_projection.py similarity index 100% rename from examples/api/custom_projection_example.py rename to examples/misc/custom_projection.py diff --git a/examples/api/custom_scale_example.py b/examples/scales/custom_scale.py similarity index 100% rename from examples/api/custom_scale_example.py rename to examples/scales/custom_scale.py diff --git a/examples/api/collections.py b/examples/shapes_and_collections/collections.py similarity index 100% rename from examples/api/collections.py rename to examples/shapes_and_collections/collections.py diff --git a/examples/api/compound_path.py b/examples/shapes_and_collections/compound_path.py similarity index 100% rename from examples/api/compound_path.py rename to examples/shapes_and_collections/compound_path.py diff --git a/examples/api/donut.py b/examples/shapes_and_collections/donut.py similarity index 100% rename from examples/api/donut.py rename to examples/shapes_and_collections/donut.py diff --git a/examples/api/axes_margins.py b/examples/subplots_axes_and_figures/axes_margins.py similarity index 100% rename from examples/api/axes_margins.py rename to examples/subplots_axes_and_figures/axes_margins.py diff --git a/examples/api/date.py b/examples/text_labels_and_annotations/date.py similarity index 100% rename from examples/api/date.py rename to examples/text_labels_and_annotations/date.py diff --git a/examples/api/custom_index_formatter.py b/examples/text_labels_and_annotations/date_index_formatter.py similarity index 97% rename from examples/api/custom_index_formatter.py rename to examples/text_labels_and_annotations/date_index_formatter.py index 389fd2e0353e..9e117dd91c8d 100644 --- a/examples/api/custom_index_formatter.py +++ b/examples/text_labels_and_annotations/date_index_formatter.py @@ -7,6 +7,7 @@ to leave out days on which there is no data, i.e. weekends. The example below shows how to use an 'index formatter' to achieve the desired plot """ +from __future__ import print_function import numpy as np import matplotlib.pyplot as plt import matplotlib.cbook as cbook diff --git a/examples/api/engineering_formatter.py b/examples/text_labels_and_annotations/engineering_formatter.py similarity index 100% rename from examples/api/engineering_formatter.py rename to examples/text_labels_and_annotations/engineering_formatter.py diff --git a/examples/units/bar_unit_demo.py b/examples/units/bar_unit_demo.py index a4f0bdf17612..d8f77e4ee3d0 100644 --- a/examples/units/bar_unit_demo.py +++ b/examples/units/bar_unit_demo.py @@ -3,8 +3,8 @@ Group barchart with units ========================= -This is the same example as :doc:`the barchart demo<../api/barchart>` -in centimeters. +This is the same example as +:doc:`the barchart demo<../lines_bars_and_markers/barchart>` in centimeters. .. only:: builder_html diff --git a/tutorials/advanced/transforms_tutorial.py b/tutorials/advanced/transforms_tutorial.py index 5091bdfabc3b..8d090ae3e62a 100644 --- a/tutorials/advanced/transforms_tutorial.py +++ b/tutorials/advanced/transforms_tutorial.py @@ -467,4 +467,4 @@ # see how to make your own, since Matplotlib supports extensible axes # and projections. Michael Droettboom has provided a nice tutorial # example of creating a Hammer projection axes; see -# :ref:`sphx_glr_gallery_api_custom_projection_example.py`. +# :ref:`sphx_glr_gallery_misc_custom_projection.py`. diff --git a/tutorials/introductory/sample_plots.py b/tutorials/introductory/sample_plots.py index edd2beb4bab3..22738f2291c8 100644 --- a/tutorials/introductory/sample_plots.py +++ b/tutorials/introductory/sample_plots.py @@ -279,8 +279,8 @@ You can plot timeseries data with major and minor ticks and custom tick formatters for both. -.. figure:: ../../gallery/api/images/sphx_glr_date_001.png - :target: ../../gallery/api/date.html +.. figure:: ../../gallery/text_labels_and_annotations/images/sphx_glr_date_001.png + :target: ../../gallery/text_labels_and_annotations/date.html :align: center :scale: 50 From 7e9d3053352dfc43e4807021570bfd07425e7aa7 Mon Sep 17 00:00:00 2001 From: David Stansby Date: Sat, 10 Feb 2018 16:13:29 +0000 Subject: [PATCH 0260/1161] Factor out common code in _process_unit_info --- lib/matplotlib/axes/_base.py | 58 ++++++++++++++++-------------------- 1 file changed, 25 insertions(+), 33 deletions(-) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 9071e30f7f85..0b9db47e4ccf 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -2117,40 +2117,32 @@ def update_datalim_bounds(self, bounds): def _process_unit_info(self, xdata=None, ydata=None, kwargs=None): """Look for unit *kwargs* and update the axis instances as necessary""" - if self.xaxis is None or self.yaxis is None: - return - - if xdata is not None: - # we only need to update if there is nothing set yet. - if not self.xaxis.have_units(): - self.xaxis.update_units(xdata) - - if ydata is not None: - # we only need to update if there is nothing set yet. - if not self.yaxis.have_units(): - self.yaxis.update_units(ydata) + def _process_single_axis(data, axis, unit_name, kwargs): + if axis is None: + return - # process kwargs 2nd since these will override default units - if kwargs is not None: - xunits = kwargs.pop('xunits', self.xaxis.units) - if self.name == 'polar': - xunits = kwargs.pop('thetaunits', xunits) - if xunits != self.xaxis.units: - self.xaxis.set_units(xunits) - # If the units being set imply a different converter, - # we need to update. - if xdata is not None: - self.xaxis.update_units(xdata) - - yunits = kwargs.pop('yunits', self.yaxis.units) - if self.name == 'polar': - yunits = kwargs.pop('runits', yunits) - if yunits != self.yaxis.units: - self.yaxis.set_units(yunits) - # If the units being set imply a different converter, - # we need to update. - if ydata is not None: - self.yaxis.update_units(ydata) + if data is not None: + # We only need to update if there is nothing set yet. + if not axis.have_units(): + axis.update_units(data) + + # Process kwargs 2nd since these will override default units + if kwargs is not None: + units = kwargs.pop(unit_name, axis.units) + if self.name == 'polar': + polar_units = {'xunits': 'thetaunits', 'yunits': 'runits'} + units = kwargs.pop(polar_units[unit_name], units) + + if units != axis.units: + axis.set_units(units) + # If the units being set imply a different converter, + # we need to update. + if data is not None: + axis.update_units(data) + return kwargs + + kwargs = _process_single_axis(xdata, self.xaxis, 'xunits', kwargs) + kwargs = _process_single_axis(ydata, self.yaxis, 'yunits', kwargs) return kwargs def in_axes(self, mouseevent): From a6c551c73b03ab148d74fd3dd9cfbe7f67e95cfc Mon Sep 17 00:00:00 2001 From: David Stansby Date: Sat, 10 Feb 2018 16:16:49 +0000 Subject: [PATCH 0261/1161] Add some comments --- lib/matplotlib/axes/_base.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 0b9db47e4ccf..3a3ef14c3a1d 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -2118,15 +2118,16 @@ def _process_unit_info(self, xdata=None, ydata=None, kwargs=None): """Look for unit *kwargs* and update the axis instances as necessary""" def _process_single_axis(data, axis, unit_name, kwargs): + # Return if there's no axis set if axis is None: - return + return kwargs if data is not None: # We only need to update if there is nothing set yet. if not axis.have_units(): axis.update_units(data) - # Process kwargs 2nd since these will override default units + # Check for units in the kwargs, and if present update axis if kwargs is not None: units = kwargs.pop(unit_name, axis.units) if self.name == 'polar': From 6a58143587210b2c94b71cc1ec35b568f931b2ee Mon Sep 17 00:00:00 2001 From: David Stansby Date: Sun, 3 Dec 2017 12:46:43 +0000 Subject: [PATCH 0262/1161] Remove old nose testing code --- lib/matplotlib/testing/_nose/__init__.py | 78 -------------- lib/matplotlib/testing/_nose/decorators.py | 33 ------ lib/matplotlib/testing/_nose/exceptions.py | 10 -- .../testing/_nose/plugins/__init__.py | 0 .../testing/_nose/plugins/knownfailure.py | 49 --------- .../testing/_nose/plugins/performgc.py | 26 ----- lib/matplotlib/testing/decorators.py | 16 ++- lib/matplotlib/testing/noseclasses.py | 26 ----- lib/matplotlib/tests/test_compare_images.py | 102 ------------------ 9 files changed, 6 insertions(+), 334 deletions(-) delete mode 100644 lib/matplotlib/testing/_nose/__init__.py delete mode 100644 lib/matplotlib/testing/_nose/decorators.py delete mode 100644 lib/matplotlib/testing/_nose/exceptions.py delete mode 100644 lib/matplotlib/testing/_nose/plugins/__init__.py delete mode 100644 lib/matplotlib/testing/_nose/plugins/knownfailure.py delete mode 100644 lib/matplotlib/testing/_nose/plugins/performgc.py delete mode 100644 lib/matplotlib/testing/noseclasses.py diff --git a/lib/matplotlib/testing/_nose/__init__.py b/lib/matplotlib/testing/_nose/__init__.py deleted file mode 100644 index d513c7b14f4b..000000000000 --- a/lib/matplotlib/testing/_nose/__init__.py +++ /dev/null @@ -1,78 +0,0 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import sys - - -def get_extra_test_plugins(): - from .plugins.performgc import PerformGC - from .plugins.knownfailure import KnownFailure - from nose.plugins import attrib - - return [PerformGC, KnownFailure, attrib.Plugin] - - -def get_env(): - env = {'NOSE_COVER_PACKAGE': ['matplotlib', 'mpl_toolkits'], - 'NOSE_COVER_HTML': 1, - 'NOSE_COVER_NO_PRINT': 1} - return env - - -def check_deps(): - try: - import nose - try: - from unittest import mock - except ImportError: - import mock - except ImportError: - print("matplotlib.test requires nose and mock to run.") - raise - - -def test(verbosity=None, coverage=False, switch_backend_warn=True, - recursionlimit=0, **kwargs): - from ... import default_test_modules, get_backend, use - - old_backend = get_backend() - old_recursionlimit = sys.getrecursionlimit() - try: - use('agg') - if recursionlimit: - sys.setrecursionlimit(recursionlimit) - import nose - from nose.plugins import multiprocess - - # Nose doesn't automatically instantiate all of the plugins in the - # child processes, so we have to provide the multiprocess plugin with - # a list. - extra_plugins = get_extra_test_plugins() - multiprocess._instantiate_plugins = extra_plugins - - env = get_env() - if coverage: - env['NOSE_WITH_COVERAGE'] = 1 - - if verbosity is not None: - env['NOSE_VERBOSE'] = verbosity - - success = nose.run( - addplugins=[plugin() for plugin in extra_plugins], - env=env, - defaultTest=default_test_modules, - **kwargs - ) - finally: - if old_backend.lower() != 'agg': - use(old_backend, warn=switch_backend_warn) - if recursionlimit: - sys.setrecursionlimit(old_recursionlimit) - - return success - - -def knownfail(msg): - from .exceptions import KnownFailureTest - # Keep the next ultra-long comment so it shows in console. - raise KnownFailureTest(msg) # An error here when running nose means that you don't have the matplotlib.testing.nose.plugins:KnownFailure plugin in use. # noqa diff --git a/lib/matplotlib/testing/_nose/decorators.py b/lib/matplotlib/testing/_nose/decorators.py deleted file mode 100644 index 1f0807df2004..000000000000 --- a/lib/matplotlib/testing/_nose/decorators.py +++ /dev/null @@ -1,33 +0,0 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six -from .. import _copy_metadata -from . import knownfail -from .exceptions import KnownFailureDidNotFailTest - - -def knownfailureif(fail_condition, msg=None, known_exception_class=None): - # based on numpy.testing.dec.knownfailureif - if msg is None: - msg = 'Test known to fail' - - def known_fail_decorator(f): - def failer(*args, **kwargs): - try: - # Always run the test (to generate images). - result = f(*args, **kwargs) - except Exception as err: - if fail_condition: - if known_exception_class is not None: - if not isinstance(err, known_exception_class): - # This is not the expected exception - raise - knownfail(msg) - else: - raise - if fail_condition and fail_condition != 'indeterminate': - raise KnownFailureDidNotFailTest(msg) - return result - return _copy_metadata(f, failer) - return known_fail_decorator diff --git a/lib/matplotlib/testing/_nose/exceptions.py b/lib/matplotlib/testing/_nose/exceptions.py deleted file mode 100644 index 51fc6f782d78..000000000000 --- a/lib/matplotlib/testing/_nose/exceptions.py +++ /dev/null @@ -1,10 +0,0 @@ -class KnownFailureTest(Exception): - """ - Raise this exception to mark a test as a known failing test. - """ - - -class KnownFailureDidNotFailTest(Exception): - """ - Raise this exception to mark a test should have failed but did not. - """ diff --git a/lib/matplotlib/testing/_nose/plugins/__init__.py b/lib/matplotlib/testing/_nose/plugins/__init__.py deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/lib/matplotlib/testing/_nose/plugins/knownfailure.py b/lib/matplotlib/testing/_nose/plugins/knownfailure.py deleted file mode 100644 index 3a5c86c35048..000000000000 --- a/lib/matplotlib/testing/_nose/plugins/knownfailure.py +++ /dev/null @@ -1,49 +0,0 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import os -from nose.plugins.errorclass import ErrorClass, ErrorClassPlugin -from ..exceptions import KnownFailureTest - - -class KnownFailure(ErrorClassPlugin): - '''Plugin that installs a KNOWNFAIL error class for the - KnownFailureClass exception. When KnownFailureTest is raised, - the exception will be logged in the knownfail attribute of the - result, 'K' or 'KNOWNFAIL' (verbose) will be output, and the - exception will not be counted as an error or failure. - - This is based on numpy.testing.noseclasses.KnownFailure. - ''' - enabled = True - knownfail = ErrorClass(KnownFailureTest, - label='KNOWNFAIL', - isfailure=False) - - def options(self, parser, env=os.environ): - env_opt = 'NOSE_WITHOUT_KNOWNFAIL' - parser.add_option('--no-knownfail', action='store_true', - dest='noKnownFail', default=env.get(env_opt, False), - help='Disable special handling of KnownFailureTest ' - 'exceptions') - - def configure(self, options, conf): - if not self.can_configure: - return - self.conf = conf - disable = getattr(options, 'noKnownFail', False) - if disable: - self.enabled = False - - def addError(self, test, err, *zero_nine_capt_args): - # Fixme (Really weird): if I don't leave empty method here, - # nose gets confused and KnownFails become testing errors when - # using the MplNosePlugin and MplTestCase. - - # The *zero_nine_capt_args captures an extra argument. There - # seems to be a bug in - # nose.testing.manager.ZeroNinePlugin.addError() in which a - # 3rd positional argument ("capt") is passed to the plugin's - # addError() method, even if one is not explicitly using the - # ZeroNinePlugin. - pass diff --git a/lib/matplotlib/testing/_nose/plugins/performgc.py b/lib/matplotlib/testing/_nose/plugins/performgc.py deleted file mode 100644 index 818fbd96f44f..000000000000 --- a/lib/matplotlib/testing/_nose/plugins/performgc.py +++ /dev/null @@ -1,26 +0,0 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import gc -import os -from nose.plugins import Plugin - - -class PerformGC(Plugin): - """This plugin adds option to call ``gc.collect`` after each test""" - enabled = False - - def options(self, parser, env=os.environ): - env_opt = 'PERFORM_GC' - parser.add_option('--perform-gc', action='store_true', - dest='performGC', default=env.get(env_opt, False), - help='Call gc.collect() after each test') - - def configure(self, options, conf): - if not self.can_configure: - return - - self.enabled = getattr(options, 'performGC', False) - - def afterTest(self, test): - gc.collect() diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py index 407592af834d..301f7b54d4c2 100644 --- a/lib/matplotlib/testing/decorators.py +++ b/lib/matplotlib/testing/decorators.py @@ -42,17 +42,13 @@ def _knownfailureif(fail_condition, msg=None, known_exception_class=None): if the exception is an instance of this class. (Default = None) """ - if is_called_from_pytest(): - import pytest - if fail_condition == 'indeterminate': - fail_condition, strict = True, False - else: - fail_condition, strict = bool(fail_condition), True - return pytest.mark.xfail(condition=fail_condition, reason=msg, - raises=known_exception_class, strict=strict) + import pytest + if fail_condition == 'indeterminate': + fail_condition, strict = True, False else: - from ._nose.decorators import knownfailureif - return knownfailureif(fail_condition, msg, known_exception_class) + fail_condition, strict = bool(fail_condition), True + return pytest.mark.xfail(condition=fail_condition, reason=msg, + raises=known_exception_class, strict=strict) def _do_cleanup(original_units_registry, original_settings): diff --git a/lib/matplotlib/testing/noseclasses.py b/lib/matplotlib/testing/noseclasses.py deleted file mode 100644 index 2983b93d7fa6..000000000000 --- a/lib/matplotlib/testing/noseclasses.py +++ /dev/null @@ -1,26 +0,0 @@ -""" -The module testing.noseclasses is deprecated as of 2.1 -""" - -from __future__ import (absolute_import, division, print_function, - unicode_literals) -try: - from ._nose.plugins.knownfailure import KnownFailure as _KnownFailure - has_nose = True -except ImportError: - has_nose = False - _KnownFailure = object - -from .. import cbook - -cbook.warn_deprecated( - since="2.1", - message="The noseclass module has been deprecated in 2.1 and will " - "be removed in matplotlib 2.3.") - - -@cbook.deprecated("2.1") -class KnownFailure(_KnownFailure): - def __init__(self): - if not has_nose: - raise ImportError("Need nose for this plugin.") diff --git a/lib/matplotlib/tests/test_compare_images.py b/lib/matplotlib/tests/test_compare_images.py index 83ca0d99413b..4114f14b9815 100644 --- a/lib/matplotlib/tests/test_compare_images.py +++ b/lib/matplotlib/tests/test_compare_images.py @@ -78,105 +78,3 @@ def test_image_comparison_expect_rms(im1, im2, tol, expect_rms): else: assert results is not None assert results['rms'] == approx(expect_rms, abs=1e-4) - - -# The following tests are used by test_nose_image_comparison to ensure that the -# image_comparison decorator continues to work with nose. They should not be -# prefixed by test_ so they don't run with pytest. - - -def nosetest_empty(): - pass - - -def nosetest_simple_figure(): - import matplotlib.pyplot as plt - fig, ax = plt.subplots(figsize=(6.4, 4), dpi=100) - ax.plot([1, 2, 3], [3, 4, 5]) - return fig - - -@pytest.mark.parametrize( - 'func, kwargs, errors, failures, dots', - [ - (nosetest_empty, {'baseline_images': []}, [], [], ''), - (nosetest_empty, {'baseline_images': ['foo']}, - [(AssertionError, - 'Test generated 0 images but there are 1 baseline images')], - [], - 'E'), - (nosetest_simple_figure, - {'baseline_images': ['basn3p02'], 'extensions': ['png'], - 'remove_text': True}, - [], - [(ImageComparisonFailure, 'Image sizes do not match expected size:')], - 'F'), - (nosetest_simple_figure, - {'baseline_images': ['simple']}, - [], - [(ImageComparisonFailure, 'images not close')] * 3, - 'FFF'), - (nosetest_simple_figure, - {'baseline_images': ['simple'], 'remove_text': True}, - [], - [], - '...'), - ], - ids=[ - 'empty', - 'extra baselines', - 'incorrect shape', - 'failing figure', - 'passing figure', - ]) -def test_nose_image_comparison(func, kwargs, errors, failures, dots, - monkeypatch): - nose = pytest.importorskip('nose') - monkeypatch.setattr('matplotlib._called_from_pytest', False) - - class TestResultVerifier(nose.result.TextTestResult): - def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) - self.error_count = 0 - self.failure_count = 0 - - def addError(self, test, err): - super().addError(test, err) - - if self.error_count < len(errors): - assert err[0] is errors[self.error_count][0] - assert errors[self.error_count][1] in str(err[1]) - else: - raise err[1] - self.error_count += 1 - - def addFailure(self, test, err): - super().addFailure(test, err) - - assert self.failure_count < len(failures), err[1] - assert err[0] is failures[self.failure_count][0] - assert failures[self.failure_count][1] in str(err[1]) - self.failure_count += 1 - - # Make sure that multiple extensions work, but don't require LaTeX or - # Inkscape to do so. - kwargs.setdefault('extensions', ['png', 'png', 'png']) - - func = image_comparison(**kwargs)(func) - loader = nose.loader.TestLoader() - suite = loader.loadTestsFromGenerator( - func, - 'matplotlib.tests.test_compare_images') - if six.PY2: - output = io.BytesIO() - else: - output = io.StringIO() - result = TestResultVerifier(stream=output, descriptions=True, verbosity=1) - with warnings.catch_warnings(): - # Nose uses deprecated stuff; we don't care about it. - warnings.simplefilter('ignore', DeprecationWarning) - suite.run(result=result) - - assert output.getvalue() == dots - assert result.error_count == len(errors) - assert result.failure_count == len(failures) From 241b2f29d9371efea4aa6ebad315043e3544eb07 Mon Sep 17 00:00:00 2001 From: David Stansby Date: Thu, 15 Feb 2018 21:09:03 +0000 Subject: [PATCH 0263/1161] Add API changes --- doc/api/3_0_api_changes/2018-02-15-DS.rst | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 doc/api/3_0_api_changes/2018-02-15-DS.rst diff --git a/doc/api/3_0_api_changes/2018-02-15-DS.rst b/doc/api/3_0_api_changes/2018-02-15-DS.rst new file mode 100644 index 000000000000..a8634d3dfc79 --- /dev/null +++ b/doc/api/3_0_api_changes/2018-02-15-DS.rst @@ -0,0 +1,7 @@ +Deprecated methods removed from `matplotlib.testing` +---------------------------------------------------- + +The deprecated methods `knownfailureif` and `remove_text` have been removed +from :mod:`matplotlib.testing.decorators`. + +The entire contents of `testing.noseclasses` have also been removed. From b36367e7de14a9a59cdbac546bbe26fa326d2bb4 Mon Sep 17 00:00:00 2001 From: David Stansby Date: Mon, 19 Feb 2018 18:19:40 +0000 Subject: [PATCH 0264/1161] Move API change --- doc/api/{3_0_api_changes => next_api_changes}/2018-02-15-DS.rst | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename doc/api/{3_0_api_changes => next_api_changes}/2018-02-15-DS.rst (100%) diff --git a/doc/api/3_0_api_changes/2018-02-15-DS.rst b/doc/api/next_api_changes/2018-02-15-DS.rst similarity index 100% rename from doc/api/3_0_api_changes/2018-02-15-DS.rst rename to doc/api/next_api_changes/2018-02-15-DS.rst From cfaa9810fb0319875f1fc396fa5523d0198171c8 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Fri, 2 Mar 2018 15:50:55 -0800 Subject: [PATCH 0265/1161] Some py3fication for matplotlib/__init__, setupext. Matplotlib.nib was used by the old cocoaagg backend (ef8e81e) which has been deleted a while ago. --- lib/matplotlib/__init__.py | 100 +++++++++++-------------------------- setupext.py | 14 ++---- 2 files changed, 34 insertions(+), 80 deletions(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 22d5d6e078e1..5996b4f8b6b7 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -125,6 +125,7 @@ import functools import io import inspect +from inspect import Parameter import itertools import locale import logging @@ -174,23 +175,17 @@ }""" -_python27 = (sys.version_info.major == 2 and sys.version_info.minor >= 7) -_python34 = (sys.version_info.major == 3 and sys.version_info.minor >= 4) -if not (_python27 or _python34): - raise ImportError("Matplotlib requires Python 2.7 or 3.4 or later") - -if _python27: - _log.addHandler(logging.NullHandler()) - - def compare_versions(a, b): "return True if a is greater than or equal to b" + if isinstance(a, bytes): + cbook.warn_deprecated( + "3.0", "compare_version arguments should be strs.") + a = a.decode('ascii') + if isinstance(b, bytes): + cbook.warn_deprecated( + "3.0", "compare_version arguments should be strs.") + b = b.decode('ascii') if a: - if six.PY3: - if isinstance(a, bytes): - a = a.decode('ascii') - if isinstance(b, bytes): - b = b.decode('ascii') a = distutils.version.LooseVersion(a) b = distutils.version.LooseVersion(b) return a >= b @@ -750,10 +745,6 @@ def get_py2exe_datafiles(): _, tail = os.path.split(datapath) d = {} for root, _, files in os.walk(datapath): - # Need to explicitly remove cocoa_agg files or py2exe complains - # NOTE I don't know why, but do as previous version - if 'Matplotlib.nib' in files: - files.remove('Matplotlib.nib') files = [os.path.join(root, filename) for filename in files] root = root.replace(tail, 'mpl-data') root = root[root.index('mpl-data'):] @@ -1602,52 +1593,24 @@ def foo(ax, *args, **kwargs) replace_names = set(replace_names) def param(func): - new_sig = None - # signature is since 3.3 and wrapped since 3.2, but we support 3.4+. - python_has_signature = python_has_wrapped = six.PY3 - - # if in a legacy version of python and IPython is already imported - # try to use their back-ported signature - if not python_has_signature and 'IPython' in sys.modules: - try: - import IPython.utils.signatures - signature = IPython.utils.signatures.signature - Parameter = IPython.utils.signatures.Parameter - except ImportError: - pass + sig = inspect.signature(func) + _has_varargs = False + _has_varkwargs = False + _arg_names = [] + params = list(sig.parameters.values()) + for p in params: + if p.kind is Parameter.VAR_POSITIONAL: + _has_varargs = True + elif p.kind is Parameter.VAR_KEYWORD: + _has_varkwargs = True else: - python_has_signature = True - else: - if python_has_signature: - signature = inspect.signature - Parameter = inspect.Parameter - - if not python_has_signature: - arg_spec = inspect.getargspec(func) - _arg_names = arg_spec.args - _has_varargs = arg_spec.varargs is not None - _has_varkwargs = arg_spec.keywords is not None + _arg_names.append(p.name) + data_param = Parameter('data', Parameter.KEYWORD_ONLY, default=None) + if _has_varkwargs: + params.insert(-1, data_param) else: - sig = signature(func) - _has_varargs = False - _has_varkwargs = False - _arg_names = [] - params = list(sig.parameters.values()) - for p in params: - if p.kind is Parameter.VAR_POSITIONAL: - _has_varargs = True - elif p.kind is Parameter.VAR_KEYWORD: - _has_varkwargs = True - else: - _arg_names.append(p.name) - data_param = Parameter('data', - Parameter.KEYWORD_ONLY, - default=None) - if _has_varkwargs: - params.insert(-1, data_param) - else: - params.append(data_param) - new_sig = sig.replace(parameters=params) + params.append(data_param) + new_sig = sig.replace(parameters=params) # Import-time check: do we have enough information to replace *args? arg_names_at_runtime = False # there can't be any positional arguments behind *args and no @@ -1701,7 +1664,7 @@ def param(func): label_namer_pos = 9999 # bigger than all "possible" argument lists if (label_namer and # we actually want a label here ... arg_names and # and we can determine a label in *args ... - (label_namer in arg_names)): # and it is in *args + label_namer in arg_names): # and it is in *args label_namer_pos = arg_names.index(label_namer) if "label" in arg_names: label_pos = arg_names.index("label") @@ -1789,10 +1752,10 @@ def inner(ax, *args, **kwargs): # didn't set one. Note: if the user puts in "label=None", it does # *NOT* get replaced! user_supplied_label = ( - (len(args) >= _label_pos) or # label is included in args - ('label' in kwargs) # ... or in kwargs + len(args) >= _label_pos or # label is included in args + 'label' in kwargs # ... or in kwargs ) - if (label_namer and not user_supplied_label): + if label_namer and not user_supplied_label: if _label_namer_pos < len(args): kwargs['label'] = get_label(args[_label_namer_pos], label) elif label_namer in kwargs: @@ -1808,10 +1771,7 @@ def inner(ax, *args, **kwargs): inner.__doc__ = _add_data_doc(inner.__doc__, replace_names, replace_all_args) - if not python_has_wrapped: - inner.__wrapped__ = func - if new_sig is not None: - inner.__signature__ = new_sig + inner.__signature__ = new_sig return inner return param diff --git a/setupext.py b/setupext.py index da81c3635e2b..9ff845bb1dff 100644 --- a/setupext.py +++ b/setupext.py @@ -188,12 +188,9 @@ def get_include_dirs(): def is_min_version(found, minversion): """ - Returns `True` if `found` is at least as high a version as - `minversion`. + Returns whether *found* is a version at least as high as *minversion*. """ - expected_version = version.LooseVersion(minversion) - found_version = version.LooseVersion(found) - return found_version >= expected_version + return version.LooseVersion(found) >= version.LooseVersion(minversion) # Define the display functions only if display_status is True. @@ -1365,17 +1362,14 @@ def check(self): return "handled by setuptools" def get_install_requires(self): - install_requires = [ + return [ "cycler>=0.10", + "kiwisolver>=1.0.1", "pyparsing>=2.0.1,!=2.0.4,!=2.1.2,!=2.1.6", "python-dateutil>=2.1", "pytz", "six>=1.10", - "kiwisolver>=1.0.1", ] - if sys.version_info < (3,) and os.name == "posix": - install_requires += ["subprocess32"] - return install_requires class BackendAgg(OptionalBackendPackage): From 8cff8940556974dfbc9355d77d0bd6559a96f6a0 Mon Sep 17 00:00:00 2001 From: Kjell Le Date: Sun, 19 Nov 2017 03:47:35 +0100 Subject: [PATCH 0266/1161] figure_enter_event uses now LocationEvent instead of Event. This is now consistent with the documentation: https://matplotlib.org/users/event_handling.html --- lib/matplotlib/backend_bases.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/backend_bases.py b/lib/matplotlib/backend_bases.py index 2fe2ad59ac42..22effd5e721f 100644 --- a/lib/matplotlib/backend_bases.py +++ b/lib/matplotlib/backend_bases.py @@ -2010,8 +2010,12 @@ def enter_notify_event(self, guiEvent=None, xy=None): if xy is not None: x, y = xy self._lastx, self._lasty = x, y + else: + x = None + y = None + warn_deprecated('2.2', 'enter_notify_event expects a location but your backend did not pass one.') - event = Event('figure_enter_event', self, guiEvent) + event = LocationEvent('figure_enter_event', self, x, y, guiEvent) self.callbacks.process('figure_enter_event', event) @cbook.deprecated("2.1") From ce76875749359148299b797b80acaf8bcc71bd03 Mon Sep 17 00:00:00 2001 From: Kjell Le Date: Sun, 19 Nov 2017 05:51:09 +0100 Subject: [PATCH 0267/1161] backend gtk3, qt5/qt4 and wx pass in coordinates when entering figure. --- lib/matplotlib/backends/backend_gtk3.py | 5 ++++- lib/matplotlib/backends/backend_qt5.py | 3 ++- lib/matplotlib/backends/backend_wx.py | 5 ++++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/backends/backend_gtk3.py b/lib/matplotlib/backends/backend_gtk3.py index 573110aaac1c..0bbab45c0a8b 100644 --- a/lib/matplotlib/backends/backend_gtk3.py +++ b/lib/matplotlib/backends/backend_gtk3.py @@ -225,7 +225,10 @@ def leave_notify_event(self, widget, event): FigureCanvasBase.leave_notify_event(self, event) def enter_notify_event(self, widget, event): - FigureCanvasBase.enter_notify_event(self, event) + x = event.x + # flipy so y=0 is bottom of canvas + y = self.get_allocation().height - event.y + FigureCanvasBase.enter_notify_event(self, guiEvent=event, xy=(x, y)) def size_allocate(self, widget, allocation): dpival = self.figure.dpi diff --git a/lib/matplotlib/backends/backend_qt5.py b/lib/matplotlib/backends/backend_qt5.py index b1a75b248dd8..a3757d6000bf 100644 --- a/lib/matplotlib/backends/backend_qt5.py +++ b/lib/matplotlib/backends/backend_qt5.py @@ -299,7 +299,8 @@ def get_width_height(self): return int(w / self._dpi_ratio), int(h / self._dpi_ratio) def enterEvent(self, event): - FigureCanvasBase.enter_notify_event(self, guiEvent=event) + x, y = self.mouseEventCoords(event.pos()) + FigureCanvasBase.enter_notify_event(self, guiEvent=event, xy=(x, y)) def leaveEvent(self, event): QtWidgets.QApplication.restoreOverrideCursor() diff --git a/lib/matplotlib/backends/backend_wx.py b/lib/matplotlib/backends/backend_wx.py index 81b0729b65d8..ada580d0077c 100644 --- a/lib/matplotlib/backends/backend_wx.py +++ b/lib/matplotlib/backends/backend_wx.py @@ -1053,7 +1053,10 @@ def _onLeave(self, evt): def _onEnter(self, evt): """Mouse has entered the window.""" - FigureCanvasBase.enter_notify_event(self, guiEvent=evt) + x = evt.GetX() + y = self.figure.bbox.height - evt.GetY() + evt.Skip() + FigureCanvasBase.enter_notify_event(self, guiEvent=evt, xy=(x, y)) class FigureCanvasWx(_FigureCanvasWxBase): From 3fdd52728771da94bdc65517e2754a1209518938 Mon Sep 17 00:00:00 2001 From: Kjell Le Date: Fri, 2 Mar 2018 13:51:38 +0100 Subject: [PATCH 0268/1161] bump warnings --- lib/matplotlib/backend_bases.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/backend_bases.py b/lib/matplotlib/backend_bases.py index 22effd5e721f..e11144ff8f8a 100644 --- a/lib/matplotlib/backend_bases.py +++ b/lib/matplotlib/backend_bases.py @@ -2013,7 +2013,9 @@ def enter_notify_event(self, guiEvent=None, xy=None): else: x = None y = None - warn_deprecated('2.2', 'enter_notify_event expects a location but your backend did not pass one.') + cbook.warn_deprecated('3.0', 'enter_notify_event expects a ' + 'location but ' + 'your backend did not pass one.') event = LocationEvent('figure_enter_event', self, x, y, guiEvent) self.callbacks.process('figure_enter_event', event) From 64e37bc574fd9ca0603e1a31c19e8ea55f7ff043 Mon Sep 17 00:00:00 2001 From: Kjell Le Date: Sun, 4 Mar 2018 23:21:58 +0100 Subject: [PATCH 0269/1161] Enable enter/leave notify for tk --- lib/matplotlib/backends/_backend_tk.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/matplotlib/backends/_backend_tk.py b/lib/matplotlib/backends/_backend_tk.py index e5ef40caf74f..6230511f7361 100644 --- a/lib/matplotlib/backends/_backend_tk.py +++ b/lib/matplotlib/backends/_backend_tk.py @@ -178,6 +178,8 @@ def __init__(self, figure, master=None, resize_callback=None): self._tkcanvas.bind("", self.resize) self._tkcanvas.bind("", self.key_press) self._tkcanvas.bind("", self.motion_notify_event) + self._tkcanvas.bind("", self.enter_notify_event) + self._tkcanvas.bind("", self.leave_notify_event) self._tkcanvas.bind("", self.key_release) for name in "", "", "": self._tkcanvas.bind(name, self.button_press_event) @@ -326,6 +328,11 @@ def motion_notify_event(self, event): y = self.figure.bbox.height - event.y FigureCanvasBase.motion_notify_event(self, x, y, guiEvent=event) + def enter_notify_event(self, event): + x = event.x + # flipy so y=0 is bottom of canvas + y = self.figure.bbox.height - event.y + FigureCanvasBase.enter_notify_event(self, guiEvent=event, xy=(x, y)) def button_press_event(self, event, dblclick=False): x = event.x From 03052fa3ed90f2f9858beb7054e635612aa61559 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Sun, 18 Feb 2018 01:05:50 -0800 Subject: [PATCH 0270/1161] Py3fy font_manager. --- .../2018-02-18-AL-removals.rst | 5 + lib/matplotlib/font_manager.py | 133 +++++++----------- 2 files changed, 55 insertions(+), 83 deletions(-) create mode 100644 doc/api/next_api_changes/2018-02-18-AL-removals.rst diff --git a/doc/api/next_api_changes/2018-02-18-AL-removals.rst b/doc/api/next_api_changes/2018-02-18-AL-removals.rst new file mode 100644 index 000000000000..6b094027a927 --- /dev/null +++ b/doc/api/next_api_changes/2018-02-18-AL-removals.rst @@ -0,0 +1,5 @@ +Removal of deprecated functions +``````````````````````````````` +The following previously deprecated functions have been removed: +- ``matplotlib.font_manager.ttfdict_to_fnames`` +- ``matplotlib.font_manager.weight_as_number`` diff --git a/lib/matplotlib/font_manager.py b/lib/matplotlib/font_manager.py index 7b7881c0b93d..c8b56ba279c1 100644 --- a/lib/matplotlib/font_manager.py +++ b/lib/matplotlib/font_manager.py @@ -20,28 +20,16 @@ found. """ -import six - -""" -KNOWN ISSUES - - - documentation - - font variant is untested - - font stretch is incomplete - - font size is incomplete - - default font algorithm needs improvement and testing - - setWeights function needs improvement - - 'light' is an invalid weight value, remove it. - - update_fonts not implemented - -Authors : John Hunter - Paul Barrett - Michael Droettboom -Copyright : John Hunter (2004,2005), Paul Barrett (2004,2005) -License : matplotlib license (PSF compatible) - The font directory code is from ttfquery, - see license/LICENSE_TTFQUERY. -""" +# KNOWN ISSUES +# +# - documentation +# - font variant is untested +# - font stretch is incomplete +# - font size is incomplete +# - default font algorithm needs improvement and testing +# - setWeights function needs improvement +# - 'light' is an invalid weight value, remove it. +# - update_fonts not implemented from collections import Iterable from functools import lru_cache @@ -179,22 +167,17 @@ def win32FontDirectory(): If the key is not found, $WINDIR/Fonts will be returned. """ + import winreg try: - from six.moves import winreg - except ImportError: - pass # Fall through to default - else: + user = winreg.OpenKey(winreg.HKEY_CURRENT_USER, MSFolders) try: - user = winreg.OpenKey(winreg.HKEY_CURRENT_USER, MSFolders) - try: - try: - return winreg.QueryValueEx(user, 'Fonts')[0] - except OSError: - pass # Fall through to default - finally: - winreg.CloseKey(user) + return winreg.QueryValueEx(user, 'Fonts')[0] except OSError: pass # Fall through to default + finally: + winreg.CloseKey(user) + except OSError: + pass # Fall through to default return os.path.join(os.environ['WINDIR'], 'Fonts') @@ -206,7 +189,8 @@ def win32InstalledFonts(directory=None, fontext='ttf'): 'afm'. """ - from six.moves import winreg + import winreg + if directory is None: directory = win32FontDirectory() @@ -224,7 +208,7 @@ def win32InstalledFonts(directory=None, fontext='ttf'): for j in range(winreg.QueryInfoKey(local)[1]): try: key, direc, tp = winreg.EnumValue(local, j) - if not isinstance(direc, six.string_types): + if not isinstance(direc, str): continue # Work around for https://bugs.python.org/issue25778, which # is fixed in Py>=3.6.1. @@ -274,19 +258,12 @@ def _call_fc_list(): 'This may take a moment.')) timer.start() try: - out = subprocess.check_output([str('fc-list'), '--format=%{file}\\n']) + out = subprocess.check_output(['fc-list', '--format=%{file}\\n']) except (OSError, subprocess.CalledProcessError): return [] finally: timer.cancel() - fnames = [] - for fname in out.split(b'\n'): - try: - fname = six.text_type(fname, sys.getfilesystemencoding()) - except UnicodeDecodeError: - continue - fnames.append(fname) - return fnames + return [os.fsdecode(fname) for fname in out.split(b'\n')] def get_fontconfig_fonts(fontext='ttf'): @@ -328,7 +305,7 @@ def findSystemFonts(fontpaths=None, fontext='ttf'): for f in get_fontconfig_fonts(fontext): fontfiles.add(f) - elif isinstance(fontpaths, six.string_types): + elif isinstance(fontpaths, str): fontpaths = [fontpaths] for path in fontpaths: @@ -478,9 +455,9 @@ def afmFontProperty(fontpath, font): # Styles are: italic, oblique, and normal (default) - if font.get_angle() != 0 or name.lower().find('italic') >= 0: + if font.get_angle() != 0 or 'italic' in name.lower(): style = 'italic' - elif name.lower().find('oblique') >= 0: + elif 'oblique' in name.lower(): style = 'oblique' else: style = 'normal' @@ -501,12 +478,11 @@ def afmFontProperty(fontpath, font): # and ultra-expanded. # Relative stretches are: wider, narrower # Child value is: inherit - if fontname.find('narrow') >= 0 or fontname.find('condensed') >= 0 or \ - fontname.find('cond') >= 0: - stretch = 'condensed' - elif fontname.find('demi cond') >= 0: + if 'demi cond' in fontname: stretch = 'semi-condensed' - elif fontname.find('wide') >= 0 or fontname.find('expanded') >= 0: + elif 'narrow' in fontname or 'cond' in fontname: + stretch = 'condensed' + elif 'wide' in fontname or 'expanded' in fontname: stretch = 'expanded' else: stretch = 'normal' @@ -568,7 +544,7 @@ def createFontList(fontfiles, fontext='ttf'): except UnicodeError: _log.info("Cannot handle unicode filenames") continue - except IOError: + except OSError: _log.info("IO error - cannot open font file %s", fpath) continue try: @@ -646,7 +622,7 @@ def __init__(self, weight = None, stretch= None, size = None, - fname = None, # if this is set, it's a hardcoded filename to use + fname = None, # if set, it's a hardcoded filename to use _init = None # used only by copy() ): self._family = _normalize_font_family(rcParams['font.family']) @@ -662,7 +638,7 @@ def __init__(self, self.__dict__.update(_init.__dict__) return - if isinstance(family, six.string_types): + if isinstance(family, str): # Treat family as a fontconfig pattern if it is the only # parameter provided. if (style is None and @@ -712,23 +688,20 @@ def get_family(self): def get_name(self): """ - Return the name of the font that best matches the font - properties. + Return the name of the font that best matches the font properties. """ return get_font(findfont(self)).family_name def get_style(self): """ - Return the font style. Values are: 'normal', 'italic' or - 'oblique'. + Return the font style. Values are: 'normal', 'italic' or 'oblique'. """ return self._slant get_slant = get_style def get_variant(self): """ - Return the font variant. Values are: 'normal' or - 'small-caps'. + Return the font variant. Values are: 'normal' or 'small-caps'. """ return self._variant @@ -793,8 +766,7 @@ def set_family(self, family): def set_style(self, style): """ - Set the font style. Values are: 'normal', 'italic' or - 'oblique'. + Set the font style. Values are: 'normal', 'italic' or 'oblique'. """ if style is None: style = rcParams['font.style'] @@ -892,7 +864,7 @@ def set_fontconfig_pattern(self, pattern): support for it to be enabled. We are merely borrowing its pattern syntax for use here. """ - for key, val in six.iteritems(self._parse_fontconfig_pattern(pattern)): + for key, val in self._parse_fontconfig_pattern(pattern).items(): if type(val) == list: getattr(self, "set_" + key)(val[0]) else: @@ -936,9 +908,10 @@ def json_dump(data, filename): with open(filename, 'w') as fh: try: json.dump(data, fh, cls=JSONEncoder, indent=2) - except IOError as e: + except OSError as e: warnings.warn('Could not save font_manager cache ', e) + def json_load(filename): """Loads a data structure as JSON from the named file. Handles FontManager and its fields.""" @@ -948,10 +921,8 @@ def json_load(filename): def _normalize_font_family(family): - if isinstance(family, six.string_types): - family = [six.text_type(family)] - elif isinstance(family, Iterable): - family = [six.text_type(f) for f in family] + if isinstance(family, str): + family = [family] return family @@ -1170,14 +1141,14 @@ def score_weight(self, weight1, weight2): The result is 0.0 if both weight1 and weight 2 are given as strings and have the same value. - Otherwise, the result is the absolute value of the difference between the - CSS numeric values of *weight1* and *weight2*, normalized - between 0.05 and 1.0. + Otherwise, the result is the absolute value of the difference between + the CSS numeric values of *weight1* and *weight2*, normalized between + 0.05 and 1.0. """ - # exact match of the weight names (e.g. weight1 == weight2 == "regular") - if (isinstance(weight1, six.string_types) and - isinstance(weight2, six.string_types) and + # exact match of the weight names, e.g. weight1 == weight2 == "regular" + if (isinstance(weight1, str) and + isinstance(weight2, str) and weight1 == weight2): return 0.0 try: @@ -1364,18 +1335,14 @@ def fc_match(pattern, fontext): stdout=subprocess.PIPE, stderr=subprocess.PIPE) output = pipe.communicate()[0] - except (OSError, IOError): + except OSError: return None # The bulk of the output from fc-list is ascii, so we keep the # result in bytes and parse it as bytes, until we extract the # filename, which is in sys.filesystemencoding(). if pipe.returncode == 0: - for fname in output.split(b'\n'): - try: - fname = six.text_type(fname, sys.getfilesystemencoding()) - except UnicodeDecodeError: - continue + for fname in map(os.fsdecode, output.split(b'\n')): if os.path.splitext(fname)[1][1:] in fontexts: return fname return None @@ -1383,7 +1350,7 @@ def fc_match(pattern, fontext): _fc_match_cache = {} def findfont(prop, fontext='ttf'): - if not isinstance(prop, six.string_types): + if not isinstance(prop, str): prop = prop.get_fontconfig_pattern() cached = _fc_match_cache.get(prop) if cached is not None: From 273e6113bbec9beb1f362e49b7822f38d7f922db Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Fri, 16 Feb 2018 19:46:08 -0500 Subject: [PATCH 0271/1161] Rename #include guards without using reserved names. Anything (approximately) starting with two underscores, or an underscore and a capital letter is reserved in the C++ standard. --- lib/matplotlib/tri/_tri.h | 4 ++-- src/_backend_agg.h | 4 ++-- src/_backend_agg_basic_types.h | 4 ++-- src/_contour.h | 4 ++-- src/_image.h | 4 ++-- src/_image_resample.h | 6 +++--- src/_path.h | 4 ++-- src/agg_workaround.h | 4 ++-- src/array.h | 4 ++-- src/file_compat.h | 6 +++--- src/ft2font.h | 4 ++-- src/mplutils.h | 4 ++-- src/numpy_cpp.h | 4 ++-- src/path_cleanup.h | 6 +++--- src/path_converters.h | 6 +++--- src/py_adaptors.h | 4 ++-- src/py_converters.h | 4 ++-- src/py_exceptions.h | 4 ++-- 18 files changed, 40 insertions(+), 40 deletions(-) diff --git a/lib/matplotlib/tri/_tri.h b/lib/matplotlib/tri/_tri.h index fc24af50f007..7243e195f9a8 100644 --- a/lib/matplotlib/tri/_tri.h +++ b/lib/matplotlib/tri/_tri.h @@ -60,8 +60,8 @@ * points below or above (including the same as) the contour level) and 6 that * do. See the function get_exit_edge for details. */ -#ifndef _TRI_H -#define _TRI_H +#ifndef MPL_TRI_H +#define MPL_TRI_H #include "src/numpy_cpp.h" diff --git a/src/_backend_agg.h b/src/_backend_agg.h index 7fed2632d1d7..549787677281 100644 --- a/src/_backend_agg.h +++ b/src/_backend_agg.h @@ -3,8 +3,8 @@ /* _backend_agg.h */ -#ifndef __BACKEND_AGG_H__ -#define __BACKEND_AGG_H__ +#ifndef MPL_BACKEND_AGG_H +#define MPL_BACKEND_AGG_H #include #include diff --git a/src/_backend_agg_basic_types.h b/src/_backend_agg_basic_types.h index a19214816f14..9f65253d9f50 100644 --- a/src/_backend_agg_basic_types.h +++ b/src/_backend_agg_basic_types.h @@ -1,5 +1,5 @@ -#ifndef __BACKEND_AGG_BASIC_TYPES_H__ -#define __BACKEND_AGG_BASIC_TYPES_H__ +#ifndef MPL_BACKEND_AGG_BASIC_TYPES_H +#define MPL_BACKEND_AGG_BASIC_TYPES_H /* Contains some simple types from the Agg backend that are also used by other modules */ diff --git a/src/_contour.h b/src/_contour.h index e01c3bc732b9..fc7b2f106df4 100644 --- a/src/_contour.h +++ b/src/_contour.h @@ -139,8 +139,8 @@ * different polygons. The S-most polygon must be started first, then the next * S-most and so on until the N-most polygon is started in that quad. */ -#ifndef _CONTOUR_H -#define _CONTOUR_H +#ifndef MPL_CONTOUR_H +#define MPL_CONTOUR_H #include "src/numpy_cpp.h" #include diff --git a/src/_image.h b/src/_image.h index 629714d2ec32..08b697b9b10a 100644 --- a/src/_image.h +++ b/src/_image.h @@ -4,8 +4,8 @@ * */ -#ifndef _IMAGE_H -#define _IMAGE_H +#ifndef MPL_IMAGE_H +#define MPL_IMAGE_H #include diff --git a/src/_image_resample.h b/src/_image_resample.h index f496e76cb31d..a508afa33ee4 100644 --- a/src/_image_resample.h +++ b/src/_image_resample.h @@ -1,7 +1,7 @@ /* -*- mode: c++; c-basic-offset: 4 -*- */ -#ifndef RESAMPLE_H -#define RESAMPLE_H +#ifndef MPL_RESAMPLE_H +#define MPL_RESAMPLE_H #include "agg_image_accessors.h" #include "agg_path_storage.h" @@ -1010,4 +1010,4 @@ void resample( } } -#endif /* RESAMPLE_H */ +#endif /* MPL_RESAMPLE_H */ diff --git a/src/_path.h b/src/_path.h index 7a6bdc5a20e6..fa60de1a6ca9 100644 --- a/src/_path.h +++ b/src/_path.h @@ -1,7 +1,7 @@ /* -*- mode: c++; c-basic-offset: 4 -*- */ -#ifndef __PATH_H__ -#define __PATH_H__ +#ifndef MPL_PATH_H +#define MPL_PATH_H #include #include diff --git a/src/agg_workaround.h b/src/agg_workaround.h index bfadf39284d4..476219519280 100644 --- a/src/agg_workaround.h +++ b/src/agg_workaround.h @@ -1,5 +1,5 @@ -#ifndef __AGG_WORKAROUND_H__ -#define __AGG_WORKAROUND_H__ +#ifndef MPL_AGG_WORKAROUND_H +#define MPL_AGG_WORKAROUND_H #include "agg_pixfmt_rgba.h" diff --git a/src/array.h b/src/array.h index 8056366a1c97..47d82995541b 100644 --- a/src/array.h +++ b/src/array.h @@ -3,8 +3,8 @@ /* Utilities to create scalars and empty arrays that behave like the Numpy array wrappers in numpy_cpp.h */ -#ifndef _SCALAR_H_ -#define _SCALAR_H_ +#ifndef MPL_SCALAR_H +#define MPL_SCALAR_H namespace array { diff --git a/src/file_compat.h b/src/file_compat.h index fdb8d93e1705..0ed5748a7bed 100644 --- a/src/file_compat.h +++ b/src/file_compat.h @@ -1,5 +1,5 @@ -#ifndef __FILE_COMPAT_H__ -#define __FILE_COMPAT_H__ +#ifndef MPL_FILE_COMPAT_H +#define MPL_FILE_COMPAT_H #include #include @@ -234,4 +234,4 @@ static NPY_INLINE int mpl_PyFile_CloseFile(PyObject *file) } #endif -#endif /* ifndef __FILE_COMPAT_H__ */ +#endif /* ifndef MPL_FILE_COMPAT_H */ diff --git a/src/ft2font.h b/src/ft2font.h index bb429ab4ba26..2e52dec06394 100644 --- a/src/ft2font.h +++ b/src/ft2font.h @@ -1,8 +1,8 @@ /* -*- mode: c++; c-basic-offset: 4 -*- */ /* A python interface to FreeType */ -#ifndef _FT2FONT_H -#define _FT2FONT_H +#ifndef MPL_FT2FONT_H +#define MPL_FT2FONT_H #include #include diff --git a/src/mplutils.h b/src/mplutils.h index cd652b3939f4..11d926bc467f 100644 --- a/src/mplutils.h +++ b/src/mplutils.h @@ -2,8 +2,8 @@ /* Small utilities that are shared by most extension modules. */ -#ifndef _MPLUTILS_H -#define _MPLUTILS_H +#ifndef MPLUTILS_H +#define MPLUTILS_H #if defined(_MSC_VER) && _MSC_VER <= 1600 typedef unsigned __int8 uint8_t; diff --git a/src/numpy_cpp.h b/src/numpy_cpp.h index 26cba4fbf2fd..2218078aee59 100644 --- a/src/numpy_cpp.h +++ b/src/numpy_cpp.h @@ -1,7 +1,7 @@ /* -*- mode: c++; c-basic-offset: 4 -*- */ -#ifndef _NUMPY_CPP_H_ -#define _NUMPY_CPP_H_ +#ifndef MPL_NUMPY_CPP_H +#define MPL_NUMPY_CPP_H /*************************************************************************** * This file is based on original work by Mark Wiebe, available at: diff --git a/src/path_cleanup.h b/src/path_cleanup.h index b481395aa54e..bf69afd35dba 100644 --- a/src/path_cleanup.h +++ b/src/path_cleanup.h @@ -1,7 +1,7 @@ /* -*- mode: c++; c-basic-offset: 4 -*- */ -#ifndef PATH_CLEANUP_H -#define PATH_CLEANUP_H +#ifndef MPL_PATH_CLEANUP_H +#define MPL_PATH_CLEANUP_H #include @@ -24,4 +24,4 @@ unsigned get_vertex(void *pipeline, double *x, double *y); void free_path_iterator(void *pipeline); -#endif /* PATH_CLEANUP_H */ +#endif /* MPL_PATH_CLEANUP_H */ diff --git a/src/path_converters.h b/src/path_converters.h index db40c18d5ab5..eeaa67915f80 100644 --- a/src/path_converters.h +++ b/src/path_converters.h @@ -1,7 +1,7 @@ /* -*- mode: c++; c-basic-offset: 4 -*- */ -#ifndef __PATH_CONVERTERS_H__ -#define __PATH_CONVERTERS_H__ +#ifndef MPL_PATH_CONVERTERS_H +#define MPL_PATH_CONVERTERS_H #include #include @@ -1008,4 +1008,4 @@ class Sketch RandomNumberGenerator m_rand; }; -#endif // __PATH_CONVERTERS_H__ +#endif // MPL_PATH_CONVERTERS_H diff --git a/src/py_adaptors.h b/src/py_adaptors.h index 8eaa7ad6c71d..d5714db2d8bf 100644 --- a/src/py_adaptors.h +++ b/src/py_adaptors.h @@ -1,7 +1,7 @@ /* -*- mode: c++; c-basic-offset: 4 -*- */ -#ifndef __PY_ADAPTORS_H__ -#define __PY_ADAPTORS_H__ +#ifndef MPL_PY_ADAPTORS_H +#define MPL_PY_ADAPTORS_H /*************************************************************************** * This module contains a number of C++ classes that adapt Python data diff --git a/src/py_converters.h b/src/py_converters.h index 02d84affe857..64bdcb3f369f 100644 --- a/src/py_converters.h +++ b/src/py_converters.h @@ -1,7 +1,7 @@ /* -*- mode: c++; c-basic-offset: 4 -*- */ -#ifndef __PY_CONVERTERS_H__ -#define __PY_CONVERTERS_H__ +#ifndef MPL_PY_CONVERTERS_H +#define MPL_PY_CONVERTERS_H /*************************************************************************** * This module contains a number of conversion functions from Python types diff --git a/src/py_exceptions.h b/src/py_exceptions.h index 1d54eb744901..94c210b8eddf 100644 --- a/src/py_exceptions.h +++ b/src/py_exceptions.h @@ -1,7 +1,7 @@ /* -*- mode: c++; c-basic-offset: 4 -*- */ -#ifndef __PY_EXCEPTIONS_H__ -#define __PY_EXCEPTIONS_H__ +#ifndef MPL_PY_EXCEPTIONS_H +#define MPL_PY_EXCEPTIONS_H #include #include From 919bc865bd7ced6ce2de58cc40ac1f58b60fc6c2 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Fri, 16 Feb 2018 20:15:57 -0500 Subject: [PATCH 0272/1161] Remove back-compat defined for old NumPy. --- src/_image_wrapper.cpp | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/_image_wrapper.cpp b/src/_image_wrapper.cpp index e8f4cb872c6f..d3c550965346 100644 --- a/src/_image_wrapper.cpp +++ b/src/_image_wrapper.cpp @@ -4,11 +4,6 @@ #include "py_converters.h" -#ifndef NPY_1_7_API_VERSION -#define NPY_ARRAY_C_CONTIGUOUS NPY_C_CONTIGUOUS -#endif - - /********************************************************************** * Free functions * */ From 14124a504c1bb134e491784de1acf574de77bcc4 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Fri, 16 Feb 2018 20:25:12 -0500 Subject: [PATCH 0273/1161] Remove C checks for PY3K macro. --- lib/matplotlib/tri/_tri_wrapper.cpp | 24 ++--------- src/_backend_agg_wrapper.cpp | 27 ++---------- src/_contour_wrapper.cpp | 20 +-------- src/_image_wrapper.cpp | 20 +-------- src/_macosx.m | 64 +---------------------------- src/_path_wrapper.cpp | 14 +------ src/_png.cpp | 37 +---------------- src/_ttconv.cpp | 12 ------ src/file_compat.h | 21 ---------- src/ft2font_wrapper.cpp | 45 ++++---------------- src/mplutils.h | 3 -- src/qhull_wrap.c | 28 ++----------- 12 files changed, 26 insertions(+), 289 deletions(-) diff --git a/lib/matplotlib/tri/_tri_wrapper.cpp b/lib/matplotlib/tri/_tri_wrapper.cpp index 8ad269b3538d..38ce2e55d36d 100644 --- a/lib/matplotlib/tri/_tri_wrapper.cpp +++ b/lib/matplotlib/tri/_tri_wrapper.cpp @@ -494,7 +494,6 @@ static PyTypeObject* PyTrapezoidMapTriFinder_init_type(PyObject* m, PyTypeObject extern "C" { -#if PY3K static struct PyModuleDef moduledef = { PyModuleDef_HEAD_INIT, "_tri", @@ -507,44 +506,29 @@ static struct PyModuleDef moduledef = { NULL }; -#define INITERROR return NULL - PyMODINIT_FUNC PyInit__tri(void) - -#else -#define INITERROR return - -PyMODINIT_FUNC init_tri(void) -#endif - { PyObject *m; -#if PY3K m = PyModule_Create(&moduledef); -#else - m = Py_InitModule3("_tri", NULL, NULL); -#endif if (m == NULL) { - INITERROR; + return NULL; } if (!PyTriangulation_init_type(m, &PyTriangulationType)) { - INITERROR; + return NULL; } if (!PyTriContourGenerator_init_type(m, &PyTriContourGeneratorType)) { - INITERROR; + return NULL; } if (!PyTrapezoidMapTriFinder_init_type(m, &PyTrapezoidMapTriFinderType)) { - INITERROR; + return NULL; } import_array(); -#if PY3K return m; -#endif } } // extern "C" diff --git a/src/_backend_agg_wrapper.cpp b/src/_backend_agg_wrapper.cpp index dbdea32f0b75..87234ddcfe7c 100644 --- a/src/_backend_agg_wrapper.cpp +++ b/src/_backend_agg_wrapper.cpp @@ -586,13 +586,8 @@ PyRendererAgg_get_content_extents(PyRendererAgg *self, PyObject *args, PyObject static PyObject *PyRendererAgg_buffer_rgba(PyRendererAgg *self, PyObject *args, PyObject *kwds) { -#if PY3K return PyBytes_FromStringAndSize((const char *)self->x->pixBuffer, self->x->get_width() * self->x->get_height() * 4); -#else - return PyBuffer_FromReadWriteMemory(self->x->pixBuffer, - self->x->get_width() * self->x->get_height() * 4); -#endif } int PyRendererAgg_get_buffer(PyRendererAgg *self, Py_buffer *buf, int flags) @@ -724,7 +719,6 @@ static PyTypeObject *PyRendererAgg_init_type(PyObject *m, PyTypeObject *type) extern "C" { -#if PY3K static struct PyModuleDef moduledef = { PyModuleDef_HEAD_INIT, "_backend_agg", @@ -737,42 +731,27 @@ static struct PyModuleDef moduledef = { NULL }; -#define INITERROR return NULL - PyMODINIT_FUNC PyInit__backend_agg(void) - -#else -#define INITERROR return - -PyMODINIT_FUNC init_backend_agg(void) -#endif - { PyObject *m; -#if PY3K m = PyModule_Create(&moduledef); -#else - m = Py_InitModule3("_backend_agg", NULL, NULL); -#endif if (m == NULL) { - INITERROR; + return NULL; } import_array(); if (!PyRendererAgg_init_type(m, &PyRendererAggType)) { - INITERROR; + return NULL; } if (!PyBufferRegion_init_type(m, &PyBufferRegionType)) { - INITERROR; + return NULL; } -#if PY3K return m; -#endif } } // extern "C" diff --git a/src/_contour_wrapper.cpp b/src/_contour_wrapper.cpp index b620490636fa..8aa64fcdf068 100644 --- a/src/_contour_wrapper.cpp +++ b/src/_contour_wrapper.cpp @@ -154,7 +154,6 @@ static PyTypeObject* PyQuadContourGenerator_init_type(PyObject* m, PyTypeObject* extern "C" { -#if PY3K static struct PyModuleDef moduledef = { PyModuleDef_HEAD_INIT, "_contour", @@ -167,38 +166,23 @@ static struct PyModuleDef moduledef = { NULL }; -#define INITERROR return NULL - PyMODINIT_FUNC PyInit__contour(void) - -#else -#define INITERROR return - -PyMODINIT_FUNC init_contour(void) -#endif - { PyObject *m; -#if PY3K m = PyModule_Create(&moduledef); -#else - m = Py_InitModule3("_contour", NULL, NULL); -#endif if (m == NULL) { - INITERROR; + return NULL; } if (!PyQuadContourGenerator_init_type(m, &PyQuadContourGeneratorType)) { - INITERROR; + return NULL; } import_array(); -#if PY3K return m; -#endif } } // extern "C" diff --git a/src/_image_wrapper.cpp b/src/_image_wrapper.cpp index d3c550965346..4879eee3f0fb 100644 --- a/src/_image_wrapper.cpp +++ b/src/_image_wrapper.cpp @@ -437,7 +437,6 @@ static PyMethodDef module_functions[] = { extern "C" { -#if PY3K static struct PyModuleDef moduledef = { PyModuleDef_HEAD_INIT, "_image", @@ -450,27 +449,14 @@ static struct PyModuleDef moduledef = { NULL }; -#define INITERROR return NULL - PyMODINIT_FUNC PyInit__image(void) - -#else -#define INITERROR return - -PyMODINIT_FUNC init_image(void) -#endif - { PyObject *m; -#if PY3K m = PyModule_Create(&moduledef); -#else - m = Py_InitModule3("_image", module_functions, NULL); -#endif if (m == NULL) { - INITERROR; + return NULL; } if (PyModule_AddIntConstant(m, "NEAREST", NEAREST) || @@ -491,14 +477,12 @@ PyMODINIT_FUNC init_image(void) PyModule_AddIntConstant(m, "LANCZOS", LANCZOS) || PyModule_AddIntConstant(m, "BLACKMAN", BLACKMAN) || PyModule_AddIntConstant(m, "_n_interpolation", _n_interpolation)) { - INITERROR; + return NULL; } import_array(); -#if PY3K return m; -#endif } } // extern "C" diff --git a/src/_macosx.m b/src/_macosx.m index 8f44f1eb0c54..f35fb8084cf2 100644 --- a/src/_macosx.m +++ b/src/_macosx.m @@ -5,12 +5,6 @@ #define PYOSINPUTHOOK_REPETITIVE 1 /* Remove this once Python is fixed */ -#if PY_MAJOR_VERSION >= 3 -#define PY3K 1 -#else -#define PY3K 0 -#endif - /* Proper way to check for the OS X version we are compiling for, from http://developer.apple.com/documentation/DeveloperTools/Conceptual/cross_development */ #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1060 @@ -325,13 +319,8 @@ static CGFloat _get_device_scale(CGContextRef cr) static PyObject* FigureCanvas_repr(FigureCanvas* self) { -#if PY3K return PyUnicode_FromFormat("FigureCanvas object %p wrapping NSView %p", (void*)self, (void*)(self->view)); -#else - return PyString_FromFormat("FigureCanvas object %p wrapping NSView %p", - (void*)self, (void*)(self->view)); -#endif } static PyObject* @@ -730,13 +719,8 @@ static CGFloat _get_device_scale(CGContextRef cr) static PyObject* FigureManager_repr(FigureManager* self) { -#if PY3K return PyUnicode_FromFormat("FigureManager object %p wrapping NSWindow %p", (void*) self, (void*)(self->window)); -#else - return PyString_FromFormat("FigureManager object %p wrapping NSWindow %p", - (void*) self, (void*)(self->window)); -#endif } static void @@ -1197,11 +1181,7 @@ -(void)save_figure:(id)sender static PyObject* NavigationToolbar_repr(NavigationToolbar* self) { -#if PY3K return PyUnicode_FromFormat("NavigationToolbar object %p", (void*)self); -#else - return PyString_FromFormat("NavigationToolbar object %p", (void*)self); -#endif } static char NavigationToolbar_doc[] = @@ -1743,11 +1723,7 @@ -(void)save_figure:(id)sender static PyObject* NavigationToolbar2_repr(NavigationToolbar2* self) { -#if PY3K return PyUnicode_FromFormat("NavigationToolbar2 object %p", (void*)self); -#else - return PyString_FromFormat("NavigationToolbar2 object %p", (void*)self); -#endif } static char NavigationToolbar2_doc[] = @@ -1758,11 +1734,7 @@ -(void)save_figure:(id)sender { const char* message; -#if PY3K if(!PyArg_ParseTuple(args, "y", &message)) return NULL; -#else - if(!PyArg_ParseTuple(args, "s", &message)) return NULL; -#endif NSText* messagebox = self->messagebox; @@ -1869,11 +1841,7 @@ -(void)save_figure:(id)sender unsigned int n = [filename length]; unichar* buffer = malloc(n*sizeof(unichar)); [filename getCharacters: buffer]; -#if PY3K - PyObject* string = PyUnicode_FromKindAndData(PyUnicode_2BYTE_KIND, buffer, n); -#else - PyObject* string = PyUnicode_FromUnicode(buffer, n); -#endif + PyObject* string = PyUnicode_FromKindAndData(PyUnicode_2BYTE_KIND, buffer, n); free(buffer); return string; } @@ -2855,13 +2823,8 @@ - (int)index static PyObject* Timer_repr(Timer* self) { -#if PY3K return PyUnicode_FromFormat("Timer object %p wrapping CFRunLoopTimerRef %p", (void*) self, (void*)(self->timer)); -#else - return PyString_FromFormat("Timer object %p wrapping CFRunLoopTimerRef %p", - (void*) self, (void*)(self->timer)); -#endif } static char Timer_doc[] = @@ -3092,8 +3055,6 @@ static bool verify_framework(void) {NULL, NULL, 0, NULL}/* sentinel */ }; -#if PY3K - static struct PyModuleDef moduledef = { PyModuleDef_HEAD_INIT, "_macosx", @@ -3107,11 +3068,6 @@ static bool verify_framework(void) }; PyObject* PyInit__macosx(void) - -#else - -void init_macosx(void) -#endif { PyObject *module; @@ -3120,31 +3076,15 @@ void init_macosx(void) || PyType_Ready(&NavigationToolbarType) < 0 || PyType_Ready(&NavigationToolbar2Type) < 0 || PyType_Ready(&TimerType) < 0) -#if PY3K return NULL; -#else - return; -#endif NSApp = [NSApplication sharedApplication]; if (!verify_framework()) -#if PY3K return NULL; -#else - return; -#endif -#if PY3K module = PyModule_Create(&moduledef); if (module==NULL) return NULL; -#else - module = Py_InitModule4("_macosx", - methods, - "Mac OS X native backend", - NULL, - PYTHON_API_VERSION); -#endif Py_INCREF(&FigureCanvasType); Py_INCREF(&FigureManagerType); @@ -3168,7 +3108,5 @@ void init_macosx(void) name: NSWorkspaceDidLaunchApplicationNotification object: nil]; [pool release]; -#if PY3K return module; -#endif } diff --git a/src/_path_wrapper.cpp b/src/_path_wrapper.cpp index a88e1c2455ef..f4e6fc593c60 100644 --- a/src/_path_wrapper.cpp +++ b/src/_path_wrapper.cpp @@ -866,7 +866,6 @@ extern "C" { {NULL} }; -#if PY3K static struct PyModuleDef moduledef = { PyModuleDef_HEAD_INIT, "_path", @@ -879,28 +878,17 @@ extern "C" { NULL }; -#define INITERROR return NULL PyMODINIT_FUNC PyInit__path(void) -#else -#define INITERROR return - PyMODINIT_FUNC init_path(void) -#endif { PyObject *m; -#if PY3K m = PyModule_Create(&moduledef); -#else - m = Py_InitModule3("_path", module_functions, NULL); -#endif if (m == NULL) { - INITERROR; + return NULL; } import_array(); -#if PY3K return m; -#endif } } diff --git a/src/_png.cpp b/src/_png.cpp index 9e3d33e14c8e..2dc2e776b009 100644 --- a/src/_png.cpp +++ b/src/_png.cpp @@ -61,11 +61,7 @@ static void write_png_data(png_structp png_ptr, png_bytep data, png_size_t lengt PyObject *write_method = PyObject_GetAttrString(py_file_obj, "write"); PyObject *result = NULL; if (write_method) { -#if PY3K result = PyObject_CallFunction(write_method, (char *)"y#", data, length); -#else - result = PyObject_CallFunction(write_method, (char *)"s#", data, length); -#endif } Py_XDECREF(write_method); Py_XDECREF(result); @@ -232,11 +228,7 @@ static PyObject *Py_write_png(PyObject *self, PyObject *args, PyObject *kwds) } buff.cursor = 0; } else { - #if PY3K if (close_file) { - #else - if (close_file || PyFile_Check(py_file)) { - #endif fp = mpl_PyFile_Dup(py_file, (char *)"wb", &offset); } @@ -309,7 +301,6 @@ static PyObject *Py_write_png(PyObject *self, PyObject *args, PyObject *kwds) while (PyDict_Next(metadata, &pos, &meta_key, &meta_val)) { text[meta_pos].compression = PNG_TEXT_COMPRESSION_NONE; -#if PY3K if (PyUnicode_Check(meta_key)) { PyObject *temp_key = PyUnicode_AsEncodedString(meta_key, "latin_1", "strict"); if (temp_key != NULL) { @@ -332,10 +323,6 @@ static PyObject *Py_write_png(PyObject *self, PyObject *args, PyObject *kwds) } else { text[meta_pos].text = (char *)"Invalid value in metadata"; } -#else - text[meta_pos].key = PyString_AsString(meta_key); - text[meta_pos].text = PyString_AsString(meta_val); -#endif #ifdef PNG_iTXt_SUPPORTED text[meta_pos].lang = NULL; #endif @@ -466,11 +453,7 @@ static PyObject *_read_png(PyObject *filein, bool float_result) py_file = filein; } - #if PY3K if (close_file) { - #else - if (close_file || PyFile_Check(py_file)) { - #endif fp = mpl_PyFile_Dup(py_file, (char *)"rb", &offset); } @@ -738,7 +721,6 @@ static PyMethodDef module_methods[] = { extern "C" { -#if PY3K static struct PyModuleDef moduledef = { PyModuleDef_HEAD_INIT, "_png", @@ -751,27 +733,14 @@ extern "C" { NULL }; -#define INITERROR return NULL - PyMODINIT_FUNC PyInit__png(void) - -#else -#define INITERROR return - - PyMODINIT_FUNC init_png(void) -#endif - { PyObject *m; -#if PY3K m = PyModule_Create(&moduledef); -#else - m = Py_InitModule3("_png", module_methods, NULL); -#endif if (m == NULL) { - INITERROR; + return NULL; } import_array(); @@ -781,12 +750,10 @@ extern "C" { PyModule_AddIntConstant(m, "PNG_FILTER_UP", PNG_FILTER_UP) || PyModule_AddIntConstant(m, "PNG_FILTER_AVG", PNG_FILTER_AVG) || PyModule_AddIntConstant(m, "PNG_FILTER_PAETH", PNG_FILTER_PAETH)) { - INITERROR; + return NULL; } -#if PY3K return m; -#endif } } diff --git a/src/_ttconv.cpp b/src/_ttconv.cpp index e0aa4611d28d..0db3b9e94201 100644 --- a/src/_ttconv.cpp +++ b/src/_ttconv.cpp @@ -86,11 +86,7 @@ int pyiterable_to_vector_int(PyObject *object, void *address) PyObject *item; while ((item = PyIter_Next(iterator))) { -#if PY3K long value = PyLong_AsLong(item); -#else - long value = PyInt_AsLong(item); -#endif Py_DECREF(item); if (value == -1 && PyErr_Occurred()) { return 0; @@ -279,7 +275,6 @@ static const char *module_docstring = "fonts to Postscript Type 3, Postscript Type 42 and " "Pdf Type 3 fonts."; -#if PY3K static PyModuleDef ttconv_module = { PyModuleDef_HEAD_INIT, "ttconv", @@ -298,10 +293,3 @@ PyInit_ttconv(void) return m; } -#else -PyMODINIT_FUNC -initttconv(void) -{ - Py_InitModule3("ttconv", ttconv_methods, module_docstring); -} -#endif diff --git a/src/file_compat.h b/src/file_compat.h index 0ed5748a7bed..a1d93f3f318f 100644 --- a/src/file_compat.h +++ b/src/file_compat.h @@ -48,7 +48,6 @@ extern "C" { /* * PyFile_* compatibility */ -#if defined(PY3K) | defined(PYPY_VERSION) /* * Get a FILE* handle to the file represented by the Python object @@ -179,26 +178,6 @@ static NPY_INLINE int mpl_PyFile_Check(PyObject *file) return 1; } -#else - -static NPY_INLINE FILE *mpl_PyFile_Dup(PyObject *file, const char *mode, mpl_off_t *orig_pos) -{ - return PyFile_AsFile(file); -} - -static NPY_INLINE int mpl_PyFile_DupClose(PyObject *file, FILE *handle, mpl_off_t orig_pos) -{ - // deliberately nothing - return 0; -} - -static NPY_INLINE int mpl_PyFile_Check(PyObject *file) -{ - return PyFile_Check(file); -} - -#endif - static NPY_INLINE PyObject *mpl_PyFile_OpenFile(PyObject *filename, const char *mode) { PyObject *open; diff --git a/src/ft2font_wrapper.cpp b/src/ft2font_wrapper.cpp index ebfeb7125c05..73912f29b0f7 100644 --- a/src/ft2font_wrapper.cpp +++ b/src/ft2font_wrapper.cpp @@ -1220,17 +1220,10 @@ static PyObject *PyFT2Font_get_sfnt_table(PyFT2Font *self, PyObject *args, PyObj t->maxComponentDepth); } case 2: { -#if PY3K char os_2_dict[] = "{s:H, s:h, s:H, s:H, s:H, s:h, s:h, s:h," "s:h, s:h, s:h, s:h, s:h, s:h, s:h, s:h, s:y#, s:(kkkk)," "s:y#, s:H, s:H, s:H}"; -#else - char os_2_dict[] = - "{s:H, s:h, s:H, s:H, s:H, s:h, s:h, s:h," - "s:h, s:h, s:h, s:h, s:h, s:h, s:h, s:h, s:s#, s:(kkkk)," - "s:s#, s:H, s:H, s:H}"; -#endif TT_OS2 *t = (TT_OS2 *)table; return Py_BuildValue(os_2_dict, "version", @@ -1377,15 +1370,9 @@ static PyObject *PyFT2Font_get_sfnt_table(PyFT2Font *self, PyObject *args, PyObj t->maxMemType1); } case 6: { - #if PY3K char pclt_dict[] = "{s:(h,H), s:k, s:H, s:H, s:H, s:H, s:H, s:H, s:y#, s:y#, s:b, " "s:b, s:b}"; - #else - char pclt_dict[] = - "{s:(h,H), s:k, s:H, s:H, s:H, s:H, s:H, s:H, s:s#, s:s#, s:b, " - "s:b, s:b}"; - #endif TT_PCLT *t = (TT_PCLT *)table; return Py_BuildValue(pclt_dict, "version", @@ -1689,7 +1676,6 @@ static PyTypeObject *PyFT2Font_init_type(PyObject *m, PyTypeObject *type) extern "C" { -#if PY3K static struct PyModuleDef moduledef = { PyModuleDef_HEAD_INIT, "ft2font", @@ -1702,39 +1688,26 @@ static struct PyModuleDef moduledef = { NULL }; -#define INITERROR return NULL - PyMODINIT_FUNC PyInit_ft2font(void) - -#else -#define INITERROR return - -PyMODINIT_FUNC initft2font(void) -#endif - { PyObject *m; -#if PY3K m = PyModule_Create(&moduledef); -#else - m = Py_InitModule3("ft2font", NULL, NULL); -#endif if (m == NULL) { - INITERROR; + return NULL; } if (!PyFT2Image_init_type(m, &PyFT2ImageType)) { - INITERROR; + return NULL; } if (!PyGlyph_init_type(m, &PyGlyphType)) { - INITERROR; + return NULL; } if (!PyFT2Font_init_type(m, &PyFT2FontType)) { - INITERROR; + return NULL; } PyObject *d = PyModule_GetDict(m); @@ -1775,7 +1748,7 @@ PyMODINIT_FUNC initft2font(void) add_dict_int(d, "LOAD_TARGET_MONO", (unsigned long)FT_LOAD_TARGET_MONO) || add_dict_int(d, "LOAD_TARGET_LCD", (unsigned long)FT_LOAD_TARGET_LCD) || add_dict_int(d, "LOAD_TARGET_LCD_V", (unsigned long)FT_LOAD_TARGET_LCD_V)) { - INITERROR; + return NULL; } // initialize library @@ -1783,7 +1756,7 @@ PyMODINIT_FUNC initft2font(void) if (error) { PyErr_SetString(PyExc_RuntimeError, "Could not initialize the freetype2 library"); - INITERROR; + return NULL; } { @@ -1793,19 +1766,17 @@ PyMODINIT_FUNC initft2font(void) FT_Library_Version(_ft2Library, &major, &minor, &patch); sprintf(version_string, "%d.%d.%d", major, minor, patch); if (PyModule_AddStringConstant(m, "__freetype_version__", version_string)) { - INITERROR; + return NULL; } } if (PyModule_AddStringConstant(m, "__freetype_build_type__", STRINGIFY(FREETYPE_BUILD_TYPE))) { - INITERROR; + return NULL; } import_array(); -#if PY3K return m; -#endif } } // extern "C" diff --git a/src/mplutils.h b/src/mplutils.h index 11d926bc467f..662e2d3fb708 100644 --- a/src/mplutils.h +++ b/src/mplutils.h @@ -31,10 +31,7 @@ typedef unsigned __int8 uint8_t; #include #if PY_MAJOR_VERSION >= 3 -#define PY3K 1 #define Py_TPFLAGS_HAVE_NEWBUFFER 0 -#else -#define PY3K 0 #endif #undef CLAMP diff --git a/src/qhull_wrap.c b/src/qhull_wrap.c index e71afc7e3700..b953b9443feb 100644 --- a/src/qhull_wrap.c +++ b/src/qhull_wrap.c @@ -11,12 +11,6 @@ #include -#if PY_MAJOR_VERSION >= 3 -#define PY3K 1 -#else -#define PY3K 0 -#endif - #ifndef MPL_DEVNULL #error "MPL_DEVNULL must be defined as the OS-equivalent of /dev/null" #endif @@ -333,7 +327,6 @@ static PyMethodDef qhull_methods[] = { {NULL, NULL, 0, NULL} }; -#if PY3K static struct PyModuleDef qhull_module = { PyModuleDef_HEAD_INIT, "qhull", @@ -343,33 +336,18 @@ static struct PyModuleDef qhull_module = { NULL, NULL, NULL, NULL }; -#define ERROR_RETURN return NULL - PyMODINIT_FUNC PyInit__qhull(void) -#else -#define ERROR_RETURN return - -PyMODINIT_FUNC -init_qhull(void) -#endif { PyObject* m; - #if PY3K - m = PyModule_Create(&qhull_module); - #else - m = Py_InitModule3("_qhull", qhull_methods, - "Computing Delaunay triangulations.\n"); - #endif + m = PyModule_Create(&qhull_module); if (m == NULL) { - ERROR_RETURN; + return NULL; } import_array(); - #if PY3K - return m; - #endif + return m; } From 60adbd163b260e6aff0ad91f0584292b7671a08d Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Fri, 16 Feb 2018 20:26:39 -0500 Subject: [PATCH 0274/1161] Remove C checks for old PY_*VERSION*. --- src/_path.h | 16 ---------------- src/_tkagg.cpp | 24 +++--------------------- src/_ttconv.cpp | 8 -------- src/_windowing.cpp | 9 --------- src/mplutils.h | 2 -- 5 files changed, 3 insertions(+), 56 deletions(-) diff --git a/src/_path.h b/src/_path.h index fa60de1a6ca9..1663cf473901 100644 --- a/src/_path.h +++ b/src/_path.h @@ -1076,13 +1076,8 @@ char *__add_number(double val, const char *format, int precision, { char *result; -#if PY_VERSION_HEX >= 0x02070000 char *str; str = PyOS_double_to_string(val, format[0], precision, 0, NULL); -#else - char str[64]; - PyOS_ascii_formatd(str, 64, format, val); -#endif // Delete trailing zeros and decimal point char *q = str; @@ -1104,17 +1099,11 @@ char *__add_number(double val, const char *format, int precision, ++q; *q = 0; -#if PY_VERSION_HEX >= 0x02070000 if ((result = __append_to_string(p, buffer, buffersize, str)) == NULL) { PyMem_Free(str); return NULL; } PyMem_Free(str); -#else - if ((result = __append_to_string(p, buffer, buffersize, str)) == NULL) { - return NULL; - } -#endif return result; } @@ -1128,12 +1117,7 @@ int __convert_to_string(PathIterator &path, char **buffer, size_t *buffersize) { -#if PY_VERSION_HEX >= 0x02070000 const char *format = "f"; -#else - char format[64]; - snprintf(format, 64, "%s.%df", "%", precision); -#endif char *p = *buffer; double x[3]; diff --git a/src/_tkagg.cpp b/src/_tkagg.cpp index ad5289b3d6eb..6d130c0ceace 100644 --- a/src/_tkagg.cpp +++ b/src/_tkagg.cpp @@ -322,13 +322,10 @@ int load_tkinter_funcs(void) #else // not Windows /* - * On Unix, we can get the TCL and Tk synbols from the tkinter module, because + * On Unix, we can get the TCL and Tk symbols from the tkinter module, because * tkinter uses these symbols, and the symbols are therefore visible in the * tkinter dynamic library (module). */ -#if PY_MAJOR_VERSION >= 3 -#define TKINTER_PKG "tkinter" -#define TKINTER_MOD "_tkinter" // From module __file__ attribute to char *string for dlopen. char *fname2char(PyObject *fname) { @@ -339,12 +336,6 @@ char *fname2char(PyObject *fname) } return PyBytes_AsString(bytes); } -#else -#define TKINTER_PKG "Tkinter" -#define TKINTER_MOD "tkinter" -// From module __file__ attribute to char *string for dlopen -#define fname2char(s) (PyString_AsString(s)) -#endif #include @@ -402,11 +393,11 @@ int load_tkinter_funcs(void) PyErr_Clear(); // Now try finding the tkinter compiled module - pModule = PyImport_ImportModule(TKINTER_PKG); + pModule = PyImport_ImportModule("tkinter"); if (pModule == NULL) { goto exit; } - pSubmodule = PyObject_GetAttrString(pModule, TKINTER_MOD); + pSubmodule = PyObject_GetAttrString(pModule, "_tkinter"); if (pSubmodule == NULL) { goto exit; } @@ -453,7 +444,6 @@ int load_tkinter_funcs(void) } #endif // end not Windows -#if PY_MAJOR_VERSION >= 3 static PyModuleDef _tkagg_module = { PyModuleDef_HEAD_INIT, "_tkagg", "", -1, functions, NULL, NULL, NULL, NULL }; @@ -465,11 +455,3 @@ PyMODINIT_FUNC PyInit__tkagg(void) return (load_tkinter_funcs() == 0) ? m : NULL; } -#else -PyMODINIT_FUNC init_tkagg(void) -{ - Py_InitModule("_tkagg", functions); - - load_tkinter_funcs(); -} -#endif diff --git a/src/_ttconv.cpp b/src/_ttconv.cpp index 0db3b9e94201..8639eecfbfee 100644 --- a/src/_ttconv.cpp +++ b/src/_ttconv.cpp @@ -109,11 +109,7 @@ static PyObject *convert_ttf_to_ps(PyObject *self, PyObject *args, PyObject *kwd static const char *kwlist[] = { "filename", "output", "fonttype", "glyph_ids", NULL }; if (!PyArg_ParseTupleAndKeywords(args, kwds, -#if PY_MAJOR_VERSION == 3 "yO&i|O&:convert_ttf_to_ps", -#else - "sO&i|O&:convert_ttf_to_ps", -#endif (char **)kwlist, &filename, fileobject_to_PythonFileWriter, @@ -189,11 +185,7 @@ static PyObject *py_get_pdf_charprocs(PyObject *self, PyObject *args, PyObject * static const char *kwlist[] = { "filename", "glyph_ids", NULL }; if (!PyArg_ParseTupleAndKeywords(args, kwds, -#if PY_MAJOR_VERSION == 3 "y|O&:get_pdf_charprocs", -#else - "s|O&:get_pdf_charprocs", -#endif (char **)kwlist, &filename, pyiterable_to_vector_int, diff --git a/src/_windowing.cpp b/src/_windowing.cpp index 7a20baa0a39a..3f5fc86eb62f 100644 --- a/src/_windowing.cpp +++ b/src/_windowing.cpp @@ -36,8 +36,6 @@ static PyMethodDef _windowing_methods[] = {NULL, NULL} }; -#if PY_MAJOR_VERSION >= 3 - static struct PyModuleDef moduledef = { PyModuleDef_HEAD_INIT, "_windowing", @@ -55,10 +53,3 @@ PyMODINIT_FUNC PyInit__windowing(void) PyObject *module = PyModule_Create(&moduledef); return module; } - -#else -PyMODINIT_FUNC init_windowing() -{ - Py_InitModule("_windowing", _windowing_methods); -} -#endif diff --git a/src/mplutils.h b/src/mplutils.h index 662e2d3fb708..75d5ddee4b84 100644 --- a/src/mplutils.h +++ b/src/mplutils.h @@ -30,9 +30,7 @@ typedef unsigned __int8 uint8_t; #include -#if PY_MAJOR_VERSION >= 3 #define Py_TPFLAGS_HAVE_NEWBUFFER 0 -#endif #undef CLAMP #define CLAMP(x, low, high) (((x) > (high)) ? (high) : (((x) < (low)) ? (low) : (x))) From a186d7dd364b3398aaf07ae6415b41b999a1c052 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Fri, 16 Feb 2018 20:28:55 -0500 Subject: [PATCH 0275/1161] Remove outdated Py_TPFLAGS_HAVE_NEWBUFFER flag. Python 3 always uses the new buffer protocol. --- src/_backend_agg_wrapper.cpp | 4 ++-- src/ft2font_wrapper.cpp | 4 ++-- src/mplutils.h | 2 -- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/_backend_agg_wrapper.cpp b/src/_backend_agg_wrapper.cpp index 87234ddcfe7c..8bd3cea9a037 100644 --- a/src/_backend_agg_wrapper.cpp +++ b/src/_backend_agg_wrapper.cpp @@ -134,7 +134,7 @@ static PyTypeObject *PyBufferRegion_init_type(PyObject *m, PyTypeObject *type) type->tp_name = "matplotlib.backends._backend_agg.BufferRegion"; type->tp_basicsize = sizeof(PyBufferRegion); type->tp_dealloc = (destructor)PyBufferRegion_dealloc; - type->tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_NEWBUFFER; + type->tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE; type->tp_methods = methods; type->tp_new = PyBufferRegion_new; type->tp_as_buffer = &buffer_procs; @@ -700,7 +700,7 @@ static PyTypeObject *PyRendererAgg_init_type(PyObject *m, PyTypeObject *type) type->tp_name = "matplotlib.backends._backend_agg.RendererAgg"; type->tp_basicsize = sizeof(PyRendererAgg); type->tp_dealloc = (destructor)PyRendererAgg_dealloc; - type->tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_NEWBUFFER; + type->tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE; type->tp_methods = methods; type->tp_init = (initproc)PyRendererAgg_init; type->tp_new = PyRendererAgg_new; diff --git a/src/ft2font_wrapper.cpp b/src/ft2font_wrapper.cpp index 73912f29b0f7..a90c7b115e0e 100644 --- a/src/ft2font_wrapper.cpp +++ b/src/ft2font_wrapper.cpp @@ -207,7 +207,7 @@ static PyTypeObject *PyFT2Image_init_type(PyObject *m, PyTypeObject *type) type->tp_name = "matplotlib.ft2font.FT2Image"; type->tp_basicsize = sizeof(PyFT2Image); type->tp_dealloc = (destructor)PyFT2Image_dealloc; - type->tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_NEWBUFFER; + type->tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE; type->tp_methods = methods; type->tp_new = PyFT2Image_new; type->tp_init = (initproc)PyFT2Image_init; @@ -1656,7 +1656,7 @@ static PyTypeObject *PyFT2Font_init_type(PyObject *m, PyTypeObject *type) type->tp_doc = PyFT2Font_init__doc__; type->tp_basicsize = sizeof(PyFT2Font); type->tp_dealloc = (destructor)PyFT2Font_dealloc; - type->tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_NEWBUFFER; + type->tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE; type->tp_methods = methods; type->tp_getset = getset; type->tp_new = PyFT2Font_new; diff --git a/src/mplutils.h b/src/mplutils.h index 75d5ddee4b84..015daccea494 100644 --- a/src/mplutils.h +++ b/src/mplutils.h @@ -30,8 +30,6 @@ typedef unsigned __int8 uint8_t; #include -#define Py_TPFLAGS_HAVE_NEWBUFFER 0 - #undef CLAMP #define CLAMP(x, low, high) (((x) > (high)) ? (high) : (((x) < (low)) ? (low) : (x))) From d32e079207fb697257e47f8615cb22485427a4e0 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Fri, 16 Feb 2018 20:42:35 -0500 Subject: [PATCH 0276/1161] Add upstream link for PYOSINPUTHOOK_REPETITIVE. It's still not closed, but at least we can reference it later. --- src/_macosx.m | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/_macosx.m b/src/_macosx.m index f35fb8084cf2..09c80e616cce 100644 --- a/src/_macosx.m +++ b/src/_macosx.m @@ -3,7 +3,8 @@ #include #include -#define PYOSINPUTHOOK_REPETITIVE 1 /* Remove this once Python is fixed */ +/* Remove this once Python is fixed: https://bugs.python.org/issue23237 */ +#define PYOSINPUTHOOK_REPETITIVE 1 /* Proper way to check for the OS X version we are compiling for, from http://developer.apple.com/documentation/DeveloperTools/Conceptual/cross_development */ From 6355088797f9b5f88bab8db7cdb964933950cc66 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Sun, 4 Mar 2018 20:50:30 -0800 Subject: [PATCH 0277/1161] Fix tk icon loading. --- lib/matplotlib/backends/_backend_tk.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/backends/_backend_tk.py b/lib/matplotlib/backends/_backend_tk.py index bc406ea647d2..96a82d94a7a6 100644 --- a/lib/matplotlib/backends/_backend_tk.py +++ b/lib/matplotlib/backends/_backend_tk.py @@ -977,7 +977,7 @@ def new_figure_manager_given_figure(cls, num, figure): rcParams['datapath'], 'images', 'matplotlib.ppm') icon_img = Tk.PhotoImage(file=icon_fname) try: - window.tk.call('wm', 'foobar', window._w, icon_img) + window.tk.call('wm', 'iconphoto', window._w, icon_img) except Exception as exc: # log the failure (due e.g. to Tk version), but carry on _log.info('Could not load matplotlib icon: %s', exc) From d520128e9440274835e92efabfce2c87996b0d45 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Sat, 24 Feb 2018 15:05:14 -0800 Subject: [PATCH 0278/1161] Rely on generalized * and ** unpackings where possible. --- examples/api/filled_step.py | 2 +- .../images_contours_and_fields/custom_cmap.py | 9 +- examples/mplot3d/polys3d.py | 2 +- examples/showcase/integral.py | 2 +- .../axes_zoom_effect.py | 38 +++---- examples/tests/backend_driver_sgskip.py | 2 +- lib/matplotlib/_constrained_layout.py | 2 +- lib/matplotlib/animation.py | 2 +- lib/matplotlib/axes/_axes.py | 21 ++-- lib/matplotlib/axes/_base.py | 6 +- lib/matplotlib/backends/backend_nbagg.py | 8 +- lib/matplotlib/backends/backend_pdf.py | 6 +- lib/matplotlib/backends/backend_ps.py | 2 +- lib/matplotlib/backends/backend_svg.py | 14 +-- .../backends/backend_webagg_core.py | 3 +- lib/matplotlib/backends/backend_wx.py | 20 ++-- .../backends/qt_editor/formlayout.py | 2 +- lib/matplotlib/gridspec.py | 3 +- lib/matplotlib/image.py | 2 +- lib/matplotlib/lines.py | 6 +- lib/matplotlib/mathtext.py | 4 +- lib/matplotlib/patches.py | 107 ++++++++---------- lib/matplotlib/path.py | 2 +- lib/matplotlib/quiver.py | 4 +- lib/matplotlib/rcsetup.py | 9 +- lib/matplotlib/style/core.py | 3 +- lib/matplotlib/testing/compare.py | 2 +- .../tests/test_backends_interactive.py | 11 +- lib/matplotlib/ticker.py | 4 +- lib/matplotlib/transforms.py | 4 +- lib/matplotlib/tri/triinterpolate.py | 2 +- lib/matplotlib/tri/triplot.py | 18 +-- lib/mpl_toolkits/axes_grid1/inset_locator.py | 4 +- lib/mpl_toolkits/axes_grid1/parasite_axes.py | 9 +- lib/mpl_toolkits/axisartist/axislines.py | 45 ++------ lib/mpl_toolkits/mplot3d/axes3d.py | 2 +- tools/boilerplate.py | 2 +- tools/gh_api.py | 10 +- 38 files changed, 171 insertions(+), 223 deletions(-) diff --git a/examples/api/filled_step.py b/examples/api/filled_step.py index 5ab8f42e8951..ea12ae343dd5 100644 --- a/examples/api/filled_step.py +++ b/examples/api/filled_step.py @@ -48,7 +48,7 @@ def filled_hist(ax, edges, values, bottoms=None, orientation='v', Artist added to the Axes """ print(orientation) - if orientation not in set('hv'): + if orientation not in 'hv': raise ValueError("orientation must be in {{'h', 'v'}} " "not {o}".format(o=orientation)) diff --git a/examples/images_contours_and_fields/custom_cmap.py b/examples/images_contours_and_fields/custom_cmap.py index 0430eaa354b1..6c9e903cf690 100644 --- a/examples/images_contours_and_fields/custom_cmap.py +++ b/examples/images_contours_and_fields/custom_cmap.py @@ -143,12 +143,13 @@ # Make a modified version of cdict3 with some transparency # in the middle of the range. -cdict4 = cdict3.copy() -cdict4['alpha'] = ((0.0, 1.0, 1.0), +cdict4 = {**cdict3, + 'alpha': ((0.0, 1.0, 1.0), # (0.25,1.0, 1.0), - (0.5, 0.3, 0.3), + (0.5, 0.3, 0.3), # (0.75,1.0, 1.0), - (1.0, 1.0, 1.0)) + (1.0, 1.0, 1.0)), + } ############################################################################### diff --git a/examples/mplot3d/polys3d.py b/examples/mplot3d/polys3d.py index a7c115785200..09adab3db8ba 100644 --- a/examples/mplot3d/polys3d.py +++ b/examples/mplot3d/polys3d.py @@ -30,7 +30,7 @@ def polygon_under_graph(xlist, ylist): Construct the vertex list which defines the polygon filling the space under the (xlist, ylist) line graph. Assumes the xs are in ascending order. ''' - return [(xlist[0], 0.)] + list(zip(xlist, ylist)) + [(xlist[-1], 0.)] + return [(xlist[0], 0.), *zip(xlist, ylist), (xlist[-1], 0.)] fig = plt.figure() diff --git a/examples/showcase/integral.py b/examples/showcase/integral.py index a4c0d8947df7..f39174d03f64 100644 --- a/examples/showcase/integral.py +++ b/examples/showcase/integral.py @@ -32,7 +32,7 @@ def func(x): # Make the shaded region ix = np.linspace(a, b) iy = func(ix) -verts = [(a, 0)] + list(zip(ix, iy)) + [(b, 0)] +verts = [(a, 0), *zip(ix, iy), (b, 0)] poly = Polygon(verts, facecolor='0.9', edgecolor='0.5') ax.add_patch(poly) diff --git a/examples/subplots_axes_and_figures/axes_zoom_effect.py b/examples/subplots_axes_and_figures/axes_zoom_effect.py index 0cae0a04a5d3..70b03b8076f6 100644 --- a/examples/subplots_axes_and_figures/axes_zoom_effect.py +++ b/examples/subplots_axes_and_figures/axes_zoom_effect.py @@ -4,19 +4,21 @@ ================ """ -from matplotlib.transforms import Bbox, TransformedBbox, \ - blended_transform_factory +from matplotlib.transforms import ( + Bbox, TransformedBbox, blended_transform_factory) -from mpl_toolkits.axes_grid1.inset_locator import BboxPatch, BboxConnector,\ - BboxConnectorPatch +from mpl_toolkits.axes_grid1.inset_locator import ( + BboxPatch, BboxConnector, BboxConnectorPatch) def connect_bbox(bbox1, bbox2, loc1a, loc2a, loc1b, loc2b, prop_lines, prop_patches=None): if prop_patches is None: - prop_patches = prop_lines.copy() - prop_patches["alpha"] = prop_patches.get("alpha", 1) * 0.2 + prop_patches = { + **prop_lines, + "alpha": prop_lines.get("alpha", 1) * 0.2, + } c1 = BboxConnector(bbox1, bbox2, loc1=loc1a, loc2=loc2a, **prop_lines) c1.set_clip_on(False) @@ -55,14 +57,12 @@ def zoom_effect01(ax1, ax2, xmin, xmax, **kwargs): mybbox1 = TransformedBbox(bbox, trans1) mybbox2 = TransformedBbox(bbox, trans2) - prop_patches = kwargs.copy() - prop_patches["ec"] = "none" - prop_patches["alpha"] = 0.2 + prop_patches = {**kwargs, "ec": "none", "alpha": 0.2} - c1, c2, bbox_patch1, bbox_patch2, p = \ - connect_bbox(mybbox1, mybbox2, - loc1a=3, loc2a=2, loc1b=4, loc2b=1, - prop_lines=kwargs, prop_patches=prop_patches) + c1, c2, bbox_patch1, bbox_patch2, p = connect_bbox( + mybbox1, mybbox2, + loc1a=3, loc2a=2, loc1b=4, loc2b=1, + prop_lines=kwargs, prop_patches=prop_patches) ax1.add_patch(bbox_patch1) ax2.add_patch(bbox_patch2) @@ -88,14 +88,12 @@ def zoom_effect02(ax1, ax2, **kwargs): mybbox1 = ax1.bbox mybbox2 = TransformedBbox(ax1.viewLim, trans) - prop_patches = kwargs.copy() - prop_patches["ec"] = "none" - prop_patches["alpha"] = 0.2 + prop_patches = {**kwargs, "ec": "none", "alpha": 0.2} - c1, c2, bbox_patch1, bbox_patch2, p = \ - connect_bbox(mybbox1, mybbox2, - loc1a=3, loc2a=2, loc1b=4, loc2b=1, - prop_lines=kwargs, prop_patches=prop_patches) + c1, c2, bbox_patch1, bbox_patch2, p = connect_bbox( + mybbox1, mybbox2, + loc1a=3, loc2a=2, loc1b=4, loc2b=1, + prop_lines=kwargs, prop_patches=prop_patches) ax1.add_patch(bbox_patch1) ax2.add_patch(bbox_patch2) diff --git a/examples/tests/backend_driver_sgskip.py b/examples/tests/backend_driver_sgskip.py index 8f53d6025c76..acbd99ab6ed2 100644 --- a/examples/tests/backend_driver_sgskip.py +++ b/examples/tests/backend_driver_sgskip.py @@ -315,7 +315,7 @@ def report_missing(dir, flist): globstr = os.path.join(dir, '*.py') fnames = glob.glob(globstr) - pyfiles = {os.path.split(fullpath)[-1] for fullpath in set(fnames)} + pyfiles = {os.path.split(fullpath)[-1] for fullpath in fnames} exclude = set(excluded.get(dir, [])) flist = set(flist) diff --git a/lib/matplotlib/_constrained_layout.py b/lib/matplotlib/_constrained_layout.py index 6fe3d7d03b95..cb2eca62057c 100644 --- a/lib/matplotlib/_constrained_layout.py +++ b/lib/matplotlib/_constrained_layout.py @@ -161,7 +161,7 @@ def do_constrained_layout(fig, renderer, h_pad, w_pad, invTransFig = fig.transFigure.inverted().transform_bbox # list of unique gridspecs that contain child axes: - gss = set([]) + gss = set() for ax in fig.axes: if hasattr(ax, 'get_subplotspec'): gs = ax.get_subplotspec().get_gridspec() diff --git a/lib/matplotlib/animation.py b/lib/matplotlib/animation.py index a1aef1d3e5d2..828e88576259 100644 --- a/lib/matplotlib/animation.py +++ b/lib/matplotlib/animation.py @@ -1280,7 +1280,7 @@ def _blit_clear(self, artists, bg_cache): # Get a list of the axes that need clearing from the artists that # have been drawn. Grab the appropriate saved background from the # cache and restore. - axes = set(a.axes for a in artists) + axes = {a.axes for a in artists} for a in axes: if a in bg_cache: a.figure.canvas.restore_region(bg_cache[a]) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 0fce6a374e26..f8e727ffeb23 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -3085,8 +3085,9 @@ def errorbar(self, x, y, yerr=None, xerr=None, fmt_style_kwargs = {} else: fmt_style_kwargs = {k: v for k, v in - zip(('linestyle', 'marker', 'color'), - _process_plot_format(fmt)) if v is not None} + zip(('linestyle', 'marker', 'color'), + _process_plot_format(fmt)) + if v is not None} if fmt == 'none': # Remove alpha=0 color that _process_plot_format returns fmt_style_kwargs.pop('color') @@ -3122,12 +3123,12 @@ def errorbar(self, x, y, yerr=None, xerr=None, yerr = [yerr] * len(y) # make the style dict for the 'normal' plot line - plot_line_style = dict(base_style) - plot_line_style.update(**kwargs) - if barsabove: - plot_line_style['zorder'] = kwargs['zorder'] - .1 - else: - plot_line_style['zorder'] = kwargs['zorder'] + .1 + plot_line_style = { + **base_style, + **kwargs, + 'zorder': (kwargs['zorder'] - .1 if barsabove else + kwargs['zorder'] + .1), + } # make the style dict for the line collections (the bars) eb_lines_style = dict(base_style) @@ -7697,8 +7698,8 @@ def matshow(self, Z, **kwargs): nr, nc = Z.shape kw = {'origin': 'upper', 'interpolation': 'nearest', - 'aspect': 'equal'} # (already the imshow default) - kw.update(kwargs) + 'aspect': 'equal', # (already the imshow default) + **kwargs} im = self.imshow(Z, **kw) self.title.set_y(1.05) self.xaxis.tick_top() diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 9071e30f7f85..2f6c9d144450 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -290,8 +290,7 @@ def _setdefaults(self, defaults, *kwargs): kw[k] = defaults[k] def _makeline(self, x, y, kw, kwargs): - kw = kw.copy() # Don't modify the original kw. - kw.update(kwargs) + kw = {**kw, **kwargs} # Don't modify the original kw. default_dict = self._getdefaults(None, kw) self._setdefaults(default_dict, kw) seg = mlines.Line2D(x, y, **kw) @@ -530,8 +529,7 @@ def __init__(self, fig, rect, if yscale: self.set_yscale(yscale) - if len(kwargs): - self.update(kwargs) + self.update(kwargs) if self.xaxis is not None: self._xcid = self.xaxis.callbacks.connect( diff --git a/lib/matplotlib/backends/backend_nbagg.py b/lib/matplotlib/backends/backend_nbagg.py index bc0625075b49..c2e18955cc1b 100644 --- a/lib/matplotlib/backends/backend_nbagg.py +++ b/lib/matplotlib/backends/backend_nbagg.py @@ -135,15 +135,15 @@ def destroy(self): def clearup_closed(self): """Clear up any closed Comms.""" - self.web_sockets = set([socket for socket in self.web_sockets - if socket.is_open()]) + self.web_sockets = {socket for socket in self.web_sockets + if socket.is_open()} if len(self.web_sockets) == 0: self.canvas.close_event() def remove_comm(self, comm_id): - self.web_sockets = set([socket for socket in self.web_sockets - if not socket.comm.comm_id == comm_id]) + self.web_sockets = {socket for socket in self.web_sockets + if not socket.comm.comm_id == comm_id} class FigureCanvasNbAgg(FigureCanvasWebAggCore): diff --git a/lib/matplotlib/backends/backend_pdf.py b/lib/matplotlib/backends/backend_pdf.py index e911d1c09391..16eb46567217 100644 --- a/lib/matplotlib/backends/backend_pdf.py +++ b/lib/matplotlib/backends/backend_pdf.py @@ -1647,7 +1647,7 @@ def track_characters(self, font, s): realpath, stat_key = get_realpath_and_stat(fname) used_characters = self.file.used_characters.setdefault( stat_key, (realpath, set())) - used_characters[1].update([ord(x) for x in s]) + used_characters[1].update(map(ord, s)) def merge_used_characters(self, other): for stat_key, (realpath, charset) in other.items(): @@ -2288,7 +2288,7 @@ def rgb_cmd(self, rgb): if rgb[0] == rgb[1] == rgb[2]: return [rgb[0], Op.setgray_stroke] else: - return list(rgb[:3]) + [Op.setrgb_stroke] + return [*rgb[:3], Op.setrgb_stroke] def fillcolor_cmd(self, rgb): if rgb is None or rcParams['pdf.inheritcolor']: @@ -2296,7 +2296,7 @@ def fillcolor_cmd(self, rgb): elif rgb[0] == rgb[1] == rgb[2]: return [rgb[0], Op.setgray_nonstroke] else: - return list(rgb[:3]) + [Op.setrgb_nonstroke] + return [*rgb[:3], Op.setrgb_nonstroke] def push(self): parent = GraphicsContextPdf(self.file) diff --git a/lib/matplotlib/backends/backend_ps.py b/lib/matplotlib/backends/backend_ps.py index f4c9fa768fba..a43ab350c922 100644 --- a/lib/matplotlib/backends/backend_ps.py +++ b/lib/matplotlib/backends/backend_ps.py @@ -230,7 +230,7 @@ def track_characters(self, font, s): realpath, stat_key = get_realpath_and_stat(font.fname) used_characters = self.used_characters.setdefault( stat_key, (realpath, set())) - used_characters[1].update([ord(x) for x in s]) + used_characters[1].update(map(ord, s)) def merge_used_characters(self, other): for stat_key, (realpath, charset) in six.iteritems(other): diff --git a/lib/matplotlib/backends/backend_svg.py b/lib/matplotlib/backends/backend_svg.py index bb5fec9e9a5f..fb1f870856d2 100644 --- a/lib/matplotlib/backends/backend_svg.py +++ b/lib/matplotlib/backends/backend_svg.py @@ -143,15 +143,11 @@ def start(self, tag, attrib={}, **extra): self.__tags.append(tag) self.__write(self.__indentation[:len(self.__tags) - 1]) self.__write("<%s" % tag) - if attrib or extra: - attrib = attrib.copy() - attrib.update(extra) - attrib = sorted(six.iteritems(attrib)) - for k, v in attrib: - if not v == '': - k = escape_cdata(k) - v = escape_attrib(v) - self.__write(" %s=\"%s\"" % (k, v)) + for k, v in sorted({**attrib, **extra}.items()): + if not v == '': + k = escape_cdata(k) + v = escape_attrib(v) + self.__write(" %s=\"%s\"" % (k, v)) self.__open = 1 return len(self.__tags)-1 diff --git a/lib/matplotlib/backends/backend_webagg_core.py b/lib/matplotlib/backends/backend_webagg_core.py index e75014b1e632..ab9f2c3813c4 100644 --- a/lib/matplotlib/backends/backend_webagg_core.py +++ b/lib/matplotlib/backends/backend_webagg_core.py @@ -499,8 +499,7 @@ def get_static_file_path(cls): return os.path.join(os.path.dirname(__file__), 'web_backend') def _send_event(self, event_type, **kwargs): - payload = {'type': event_type} - payload.update(kwargs) + payload = {'type': event_type, **kwargs} for s in self.web_sockets: s.send_json(payload) diff --git a/lib/matplotlib/backends/backend_wx.py b/lib/matplotlib/backends/backend_wx.py index caaeb0ee6a97..3c29761b03a9 100644 --- a/lib/matplotlib/backends/backend_wx.py +++ b/lib/matplotlib/backends/backend_wx.py @@ -790,15 +790,17 @@ def gui_repaint(self, drawDC=None, origin='WX'): else: drawDC.DrawBitmap(self.bitmap, 0, 0) - filetypes = FigureCanvasBase.filetypes.copy() - filetypes['bmp'] = 'Windows bitmap' - filetypes['jpeg'] = 'JPEG' - filetypes['jpg'] = 'JPEG' - filetypes['pcx'] = 'PCX' - filetypes['png'] = 'Portable Network Graphics' - filetypes['tif'] = 'Tagged Image Format File' - filetypes['tiff'] = 'Tagged Image Format File' - filetypes['xpm'] = 'X pixmap' + filetypes = { + **FigureCanvasBase.filetypes, + 'bmp': 'Windows bitmap', + 'jpeg': 'JPEG', + 'jpg': 'JPEG', + 'pcx': 'PCX', + 'png': 'Portable Network Graphics', + 'tif': 'Tagged Image Format File', + 'tiff': 'Tagged Image Format File', + 'xpm': 'X pixmap', + } def print_figure(self, filename, *args, **kwargs): super().print_figure(filename, *args, **kwargs) diff --git a/lib/matplotlib/backends/qt_editor/formlayout.py b/lib/matplotlib/backends/qt_editor/formlayout.py index d5fcdfc901d6..bea8cf8a0f62 100644 --- a/lib/matplotlib/backends/qt_editor/formlayout.py +++ b/lib/matplotlib/backends/qt_editor/formlayout.py @@ -176,7 +176,7 @@ def __init__(self, value, parent=None): # Font size self.size = QtWidgets.QComboBox(parent) self.size.setEditable(True) - sizelist = list(range(6, 12)) + list(range(12, 30, 2)) + [36, 48, 72] + sizelist = [*range(6, 12), *range(12, 30, 2), 36, 48, 72] size = font.pointSize() if size not in sizelist: sizelist.append(size) diff --git a/lib/matplotlib/gridspec.py b/lib/matplotlib/gridspec.py index 281d605dda7f..c61dad7e6d50 100644 --- a/lib/matplotlib/gridspec.py +++ b/lib/matplotlib/gridspec.py @@ -280,8 +280,7 @@ def get_subplot_params(self, figure=None, fig=None): else: subplotpars = copy.copy(figure.subplotpars) - update_kw = {k: getattr(self, k) for k in self._AllowedKeys} - subplotpars.update(**update_kw) + subplotpars.update(**{k: getattr(self, k) for k in self._AllowedKeys}) return subplotpars diff --git a/lib/matplotlib/image.py b/lib/matplotlib/image.py index b7032a03e10f..82853be1567c 100644 --- a/lib/matplotlib/image.py +++ b/lib/matplotlib/image.py @@ -920,7 +920,7 @@ def make_image(self, renderer, magnification=1.0, unsampled=False): if A.dtype != np.uint8: A = (255*A).astype(np.uint8) if A.shape[2] == 3: - B = np.zeros(tuple(list(A.shape[0:2]) + [4]), np.uint8) + B = np.zeros(tuple([*A.shape[0:2], 4]), np.uint8) B[:, :, 0:3] = A B[:, :, 3] = 255 A = B diff --git a/lib/matplotlib/lines.py b/lib/matplotlib/lines.py index 709061e4bc63..fc52f9fc5598 100644 --- a/lib/matplotlib/lines.py +++ b/lib/matplotlib/lines.py @@ -247,11 +247,9 @@ class Line2D(Artist): } # drawStyles should now be deprecated. - drawStyles = {} - drawStyles.update(_drawStyles_l) - drawStyles.update(_drawStyles_s) + drawStyles = {**_drawStyles_l, **_drawStyles_s} # Need a list ordered with long names first: - drawStyleKeys = list(_drawStyles_l) + list(_drawStyles_s) + drawStyleKeys = [*_drawStyles_l, *_drawStyles_s] # Referenced here to maintain API. These are defined in # MarkerStyle diff --git a/lib/matplotlib/mathtext.py b/lib/matplotlib/mathtext.py index 8541f5fc3d01..8b4aa04f5842 100644 --- a/lib/matplotlib/mathtext.py +++ b/lib/matplotlib/mathtext.py @@ -2369,7 +2369,7 @@ def __init__(self): p.accent <<= Group( Suppress(p.bslash) - + oneOf(list(self._accent_map) + list(self._wide_accents)) + + oneOf([*self._accent_map, *self._wide_accents]) - p.placeable ) @@ -2407,7 +2407,7 @@ def __init__(self): p.ambi_delim <<= oneOf(list(self._ambi_delim)) p.left_delim <<= oneOf(list(self._left_delim)) p.right_delim <<= oneOf(list(self._right_delim)) - p.right_delim_safe <<= oneOf(list(self._right_delim - {'}'}) + [r'\}']) + p.right_delim_safe <<= oneOf([*(self._right_delim - {'}'}), r'\}']) p.genfrac <<= Group( Suppress(Literal(r"\genfrac")) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index d76b18de1c5b..0e21558293a2 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -2362,66 +2362,56 @@ def _get_sawtooth_vertices(self, x0, y0, width, height, mutation_size): x0, y0 = x0 - pad + tooth_size2, y0 - pad + tooth_size2 x1, y1 = x0 + width, y0 + height - bottom_saw_x = [x0] + \ - [x0 + tooth_size2 + dsx * .5 * i - for i - in range(dsx_n * 2)] + \ - [x1 - tooth_size2] - - bottom_saw_y = [y0] + \ - [y0 - tooth_size2, y0, - y0 + tooth_size2, y0] * dsx_n + \ - [y0 - tooth_size2] - - right_saw_x = [x1] + \ - [x1 + tooth_size2, - x1, - x1 - tooth_size2, - x1] * dsx_n + \ - [x1 + tooth_size2] - - right_saw_y = [y0] + \ - [y0 + tooth_size2 + dsy * .5 * i - for i - in range(dsy_n * 2)] + \ - [y1 - tooth_size2] - - top_saw_x = [x1] + \ - [x1 - tooth_size2 - dsx * .5 * i - for i - in range(dsx_n * 2)] + \ - [x0 + tooth_size2] - - top_saw_y = [y1] + \ - [y1 + tooth_size2, - y1, - y1 - tooth_size2, - y1] * dsx_n + \ - [y1 + tooth_size2] - - left_saw_x = [x0] + \ - [x0 - tooth_size2, - x0, - x0 + tooth_size2, - x0] * dsy_n + \ - [x0 - tooth_size2] - - left_saw_y = [y1] + \ - [y1 - tooth_size2 - dsy * .5 * i - for i - in range(dsy_n * 2)] + \ - [y0 + tooth_size2] - - saw_vertices = (list(zip(bottom_saw_x, bottom_saw_y)) + - list(zip(right_saw_x, right_saw_y)) + - list(zip(top_saw_x, top_saw_y)) + - list(zip(left_saw_x, left_saw_y)) + - [(bottom_saw_x[0], bottom_saw_y[0])]) + bottom_saw_x = [ + x0, + *(x0 + tooth_size2 + dsx * .5 * np.arange(dsx_n * 2)), + x1 - tooth_size2, + ] + bottom_saw_y = [ + y0, + *([y0 - tooth_size2, y0, y0 + tooth_size2, y0] * dsx_n), + y0 - tooth_size2, + ] + right_saw_x = [ + x1, + *([x1 + tooth_size2, x1, x1 - tooth_size2, x1] * dsx_n), + x1 + tooth_size2, + ] + right_saw_y = [ + y0, + *(y0 + tooth_size2 + dsy * .5 * np.arange(dsy_n * 2)), + y1 - tooth_size2, + ] + top_saw_x = [ + x1, + *(x1 - tooth_size2 - dsx * .5 * np.arange(dsx_n * 2)), + x0 + tooth_size2, + ] + top_saw_y = [ + y1, + *([y1 + tooth_size2, y1, y1 - tooth_size2, y1] * dsx_n), + y1 + tooth_size2, + ] + left_saw_x = [ + x0, + *([x0 - tooth_size2, x0, x0 + tooth_size2, x0] * dsy_n), + x0 - tooth_size2, + ] + left_saw_y = [ + y1, + *(y1 - tooth_size2 - dsy * .5 * np.arange(dsy_n * 2)), + y0 + tooth_size2, + ] + + saw_vertices = [*zip(bottom_saw_x, bottom_saw_y), + *zip(right_saw_x, right_saw_y), + *zip(top_saw_x, top_saw_y), + *zip(left_saw_x, left_saw_y), + (bottom_saw_x[0], bottom_saw_y[0])] return saw_vertices def transmute(self, x0, y0, width, height, mutation_size): - saw_vertices = self._get_sawtooth_vertices(x0, y0, width, height, mutation_size) path = Path(saw_vertices, closed=True) @@ -3223,9 +3213,8 @@ def ensure_quadratic_bezier(path): if (len(segments) != 2 or segments[0][1] != Path.MOVETO or segments[1][1] != Path.CURVE3): raise ValueError( - "'path' it's not a valid quadratic Bezier curve") - - return list(segments[0][0]) + list(segments[1][0]) + "'path' is not a valid quadratic Bezier curve") + return [*segments[0][0], *segments[1][0]] def transmute(self, path, mutation_size, linewidth): """ diff --git a/lib/matplotlib/path.py b/lib/matplotlib/path.py index 7ecdb2d51679..337cfbe6a76d 100644 --- a/lib/matplotlib/path.py +++ b/lib/matplotlib/path.py @@ -610,7 +610,7 @@ def to_polygons(self, transform=None, width=0, height=0, closed_only=True): if len(vertices) < 3: return [] elif np.any(vertices[0] != vertices[-1]): - vertices = list(vertices) + [vertices[0]] + vertices = [*vertices, vertices[0]] if transform is None: return [vertices] diff --git a/lib/matplotlib/quiver.py b/lib/matplotlib/quiver.py index 97b0dcbff1d8..33e45f3ab08b 100644 --- a/lib/matplotlib/quiver.py +++ b/lib/matplotlib/quiver.py @@ -407,9 +407,9 @@ def _parse_args(*args): def _check_consistent_shapes(*arrays): - all_shapes = set(a.shape for a in arrays) + all_shapes = {a.shape for a in arrays} if len(all_shapes) != 1: - raise ValueError('The shapes of the passed in arrays do not match.') + raise ValueError('The shapes of the passed in arrays do not match') class Quiver(mcollections.PolyCollection): diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index b0a9b16c2e6b..28727ea3fe96 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -874,11 +874,10 @@ def validate_webagg_address(s): # A validator dedicated to the named line styles, based on the items in # ls_mapper, and a list of possible strings read from Line2D.set_linestyle -_validate_named_linestyle = ValidateInStrings('linestyle', - list(six.iterkeys(ls_mapper)) + - list(six.itervalues(ls_mapper)) + - ['None', 'none', ' ', ''], - ignorecase=True) +_validate_named_linestyle = ValidateInStrings( + 'linestyle', + [*ls_mapper.keys(), *ls_mapper.values(), 'None', 'none', ' ', ''], + ignorecase=True) def _validate_linestyle(ls): diff --git a/lib/matplotlib/style/core.py b/lib/matplotlib/style/core.py index 593dd9dcb1cd..84d3fec559fc 100644 --- a/lib/matplotlib/style/core.py +++ b/lib/matplotlib/style/core.py @@ -158,8 +158,7 @@ def context(style, after_reset=False): def load_base_library(): """Load style library defined in this package.""" - library = dict() - library.update(read_style_directory(BASE_LIBRARY_PATH)) + library = read_style_directory(BASE_LIBRARY_PATH) return library diff --git a/lib/matplotlib/testing/compare.py b/lib/matplotlib/testing/compare.py index 7c24b6141698..f2e0f33c9e46 100644 --- a/lib/matplotlib/testing/compare.py +++ b/lib/matplotlib/testing/compare.py @@ -263,7 +263,7 @@ def comparable_formats(): on this system. """ - return ['png'] + list(converter) + return ['png', *converter] def convert(filename, cache): diff --git a/lib/matplotlib/tests/test_backends_interactive.py b/lib/matplotlib/tests/test_backends_interactive.py index 04494c7ea484..1880a27af343 100644 --- a/lib/matplotlib/tests/test_backends_interactive.py +++ b/lib/matplotlib/tests/test_backends_interactive.py @@ -1,6 +1,6 @@ import importlib import os -import subprocess +from subprocess import Popen import sys import pytest @@ -19,9 +19,7 @@ def _get_testable_interactive_backends(): (["tkinter"], "tkagg"), (["wx"], "wxagg")]: reason = None - if sys.version_info < (3,): - reason = "Py3-only test" - elif not os.environ.get("DISPLAY"): + if not os.environ.get("DISPLAY"): reason = "No $DISPLAY" elif any(importlib.util.find_spec(dep) is None for dep in deps): reason = "Missing dependency" @@ -45,8 +43,7 @@ def _get_testable_interactive_backends(): @pytest.mark.parametrize("backend", _get_testable_interactive_backends()) @pytest.mark.flaky(reruns=3) def test_backend(backend): - environ = os.environ.copy() - environ["MPLBACKEND"] = backend - proc = subprocess.Popen([sys.executable, "-c", _test_script], env=environ) + proc = Popen([sys.executable, "-c", _test_script], + env={**os.environ, "MPLBACKEND": backend}) # Empirically, 1s is not enough on Travis. assert proc.wait(timeout=10) == 0 diff --git a/lib/matplotlib/ticker.py b/lib/matplotlib/ticker.py index 2aefa2a48be2..c3978c9ec31d 100644 --- a/lib/matplotlib/ticker.py +++ b/lib/matplotlib/ticker.py @@ -737,7 +737,7 @@ def _set_format(self, vmin, vmax): # set the format string to format all the ticklabels if len(self.locs) < 2: # Temporarily augment the locations with the axis end points. - _locs = list(self.locs) + [vmin, vmax] + _locs = [*self.locs, vmin, vmax] else: _locs = self.locs locs = (np.asarray(_locs) - self.offset) / 10. ** self.orderOfMagnitude @@ -929,7 +929,7 @@ def set_locs(self, locs=None): # It's probably a colorbar with # a format kwarg setting a LogFormatter in the manner # that worked with 1.5.x, but that doesn't work now. - self._sublabels = set((1,)) # label powers of base + self._sublabels = {1} # label powers of base return b = self._base diff --git a/lib/matplotlib/transforms.py b/lib/matplotlib/transforms.py index 234c141bc610..31c2de552205 100644 --- a/lib/matplotlib/transforms.py +++ b/lib/matplotlib/transforms.py @@ -637,7 +637,7 @@ def splitx(self, *args): splitting the original one with vertical lines at fractional positions *f1*, *f2*, ... """ - xf = [0] + list(args) + [1] + xf = [0, *args, 1] x0, y0, x1, y1 = self.extents w = x1 - x0 return [Bbox([[x0 + xf0 * w, y0], [x0 + xf1 * w, y1]]) @@ -651,7 +651,7 @@ def splity(self, *args): splitting the original one with horizontal lines at fractional positions *f1*, *f2*, ... """ - yf = [0] + list(args) + [1] + yf = [0, *args, 1] x0, y0, x1, y1 = self.extents h = y1 - y0 return [Bbox([[x0, y0 + yf0 * h], [x1, y0 + yf1 * h]]) diff --git a/lib/matplotlib/tri/triinterpolate.py b/lib/matplotlib/tri/triinterpolate.py index 043bfedb6423..d99e9a288d28 100644 --- a/lib/matplotlib/tri/triinterpolate.py +++ b/lib/matplotlib/tri/triinterpolate.py @@ -1529,7 +1529,7 @@ def _prod_vectorized(M1, M2): assert sh1[-1] == sh2[-2] ndim1 = len(sh1) - t1_index = list(range(ndim1-2)) + [ndim1-1, ndim1-2] + t1_index = [*range(ndim1-2), ndim1-1, ndim1-2] return np.sum(np.transpose(M1, t1_index)[..., np.newaxis] * M2[..., np.newaxis, :], -3) diff --git a/lib/matplotlib/tri/triplot.py b/lib/matplotlib/tri/triplot.py index b22d77b71e6c..6ab810a3a2c1 100644 --- a/lib/matplotlib/tri/triplot.py +++ b/lib/matplotlib/tri/triplot.py @@ -65,10 +65,12 @@ def triplot(ax, *args, **kwargs): # plotting directly (triang.x[edges].T, triang.y[edges].T) # as it considerably speeds-up code execution. linestyle = kw['linestyle'] - kw_lines = kw.copy() - kw_lines['marker'] = 'None' # No marker to draw. - kw_lines['zorder'] = kw.get('zorder', 1) # Path default zorder is used. - if (linestyle is not None) and (linestyle not in ['None', '', ' ']): + kw_lines = { + **kw, + 'marker': 'None', # No marker to draw. + 'zorder': kw.get('zorder', 1), # Path default zorder is used. + } + if linestyle not in [None, 'None', '', ' ']: tri_lines_x = np.insert(x[edges], 2, np.nan, axis=1) tri_lines_y = np.insert(y[edges], 2, np.nan, axis=1) tri_lines = ax.plot(tri_lines_x.ravel(), tri_lines_y.ravel(), @@ -78,9 +80,11 @@ def triplot(ax, *args, **kwargs): # Draw markers separately. marker = kw['marker'] - kw_markers = kw.copy() - kw_markers['linestyle'] = 'None' # No line to draw. - if (marker is not None) and (marker not in ['None', '', ' ']): + kw_markers = { + **kw, + 'linestyle': 'None', # No line to draw. + } + if marker not in [None, 'None', '', ' ']: tri_markers = ax.plot(x, y, **kw_markers) else: tri_markers = ax.plot([], [], **kw_markers) diff --git a/lib/mpl_toolkits/axes_grid1/inset_locator.py b/lib/mpl_toolkits/axes_grid1/inset_locator.py index 08e80ee03817..08305bc9e378 100644 --- a/lib/mpl_toolkits/axes_grid1/inset_locator.py +++ b/lib/mpl_toolkits/axes_grid1/inset_locator.py @@ -369,9 +369,7 @@ def get_path(self): path1 = self.connect_bbox(self.bbox1, self.bbox2, self.loc1, self.loc2) path2 = self.connect_bbox(self.bbox2, self.bbox1, self.loc2b, self.loc1b) - path_merged = (list(path1.vertices) + - list(path2.vertices) + - [path1.vertices[0]]) + path_merged = [*path1.vertices, *path2.vertices, path1.vertices[0]] return Path(path_merged) get_path.__doc__ = BboxConnector.get_path.__doc__ diff --git a/lib/mpl_toolkits/axes_grid1/parasite_axes.py b/lib/mpl_toolkits/axes_grid1/parasite_axes.py index 01fd774e3fc8..aaeead323dfe 100644 --- a/lib/mpl_toolkits/axes_grid1/parasite_axes.py +++ b/lib/mpl_toolkits/axes_grid1/parasite_axes.py @@ -21,12 +21,11 @@ def get_images_artists(self): return list(images), list(artists - images) - def __init__(self, parent_axes, **kargs): - + def __init__(self, parent_axes, **kwargs): self._parent_axes = parent_axes - kargs.update(dict(frameon=False)) - self._get_base_axes_attr("__init__")(self, parent_axes.figure, - parent_axes._position, **kargs) + kwargs["frameon"] = False + self._get_base_axes_attr("__init__")( + self, parent_axes.figure, parent_axes._position, **kwargs) def cla(self): self._get_base_axes_attr("cla")(self) diff --git a/lib/mpl_toolkits/axisartist/axislines.py b/lib/mpl_toolkits/axisartist/axislines.py index 43a9ad04e04a..b8c8c7f5ce17 100644 --- a/lib/mpl_toolkits/axisartist/axislines.py +++ b/lib/mpl_toolkits/axisartist/axislines.py @@ -706,7 +706,7 @@ def grid(self, b=None, which='major', axis="both", **kwargs): def get_children(self): if self._axisline_on: - children = list(six.itervalues(self._axislines)) + [self.gridlines] + children = [*self._axislines.values(), self.gridlines] else: children = [] children.extend(super().get_children()) @@ -736,54 +736,25 @@ def new_floating_axis(self, nth_coord, value, axes=self) return axis - - def draw(self, renderer, inframe=False): - if not self._axisline_on: super().draw(renderer, inframe) return - orig_artists = self.artists - self.artists = self.artists + list(self._axislines.values()) + [self.gridlines] - + self.artists = [ + *self.artists, *self._axislines.values(), self.gridlines] super().draw(renderer, inframe) - self.artists = orig_artists - def get_tightbbox(self, renderer, call_axes_locator=True): - bb0 = super().get_tightbbox(renderer, call_axes_locator) - if not self._axisline_on: return bb0 - - bb = [bb0] - - for axisline in list(six.itervalues(self._axislines)): - if not axisline.get_visible(): - continue - - bb.append(axisline.get_tightbbox(renderer)) - # if axisline.label.get_visible(): - # bb.append(axisline.label.get_window_extent(renderer)) - - - # if axisline.major_ticklabels.get_visible(): - # bb.extend(axisline.major_ticklabels.get_window_extents(renderer)) - # if axisline.minor_ticklabels.get_visible(): - # bb.extend(axisline.minor_ticklabels.get_window_extents(renderer)) - # if axisline.major_ticklabels.get_visible() or \ - # axisline.minor_ticklabels.get_visible(): - # bb.append(axisline.offsetText.get_window_extent(renderer)) - - #bb.extend([c.get_window_extent(renderer) for c in artists \ - # if c.get_visible()]) - - _bbox = Bbox.union([b for b in bb if b and (b.width!=0 or b.height!=0)]) - - return _bbox + bb = [bb0] + [axisline.get_tightbbox(renderer) + for axisline in self._axislines.values() + if axisline.get_visible()] + bbox = Bbox.union([b for b in bb if b and (b.width!=0 or b.height!=0)]) + return bbox Subplot = maxes.subplot_class_factory(Axes) diff --git a/lib/mpl_toolkits/mplot3d/axes3d.py b/lib/mpl_toolkits/mplot3d/axes3d.py index 3f73f5e804a1..0ef6d5e0daa6 100644 --- a/lib/mpl_toolkits/mplot3d/axes3d.py +++ b/lib/mpl_toolkits/mplot3d/axes3d.py @@ -2703,7 +2703,7 @@ def calc_arrow(uvw, angle=15): # transpose to get a list of lines heads = heads.swapaxes(0, 1) - lines = list(shafts) + list(heads) + lines = [*shafts, *heads] else: lines = [] diff --git a/tools/boilerplate.py b/tools/boilerplate.py index 1784ac243a6a..a2222dc7b4ca 100644 --- a/tools/boilerplate.py +++ b/tools/boilerplate.py @@ -294,7 +294,7 @@ def format_value(value): # A gensym-like facility in case some function takes an # argument named washold, ax, or ret washold, ret, ax = 'washold', 'ret', 'ax' - bad = set(args) | {varargs, varkw} + bad = {*args, varargs, varkw} while washold in bad or ret in bad or ax in bad: washold = 'washold' + str(random.randrange(10 ** 12)) ret = 'ret' + str(random.randrange(10 ** 12)) diff --git a/tools/gh_api.py b/tools/gh_api.py index e21ea5b4827a..72b59d544c44 100644 --- a/tools/gh_api.py +++ b/tools/gh_api.py @@ -206,11 +206,11 @@ def get_authors(pr): def iter_fields(fields): fields = fields.copy() - for key in ('key', 'acl', 'Filename', 'success_action_status', 'AWSAccessKeyId', - 'Policy', 'Signature', 'Content-Type', 'file'): - yield (key, fields.pop(key)) - for (k,v) in fields.items(): - yield k,v + for key in [ + 'key', 'acl', 'Filename', 'success_action_status', + 'AWSAccessKeyId', 'Policy', 'Signature', 'Content-Type', 'file']: + yield key, fields.pop(key) + yield from fields.items() def encode_multipart_formdata(fields, boundary=None): """ From 879b2e92cd6493406c38ee3b2280e18cb4d69638 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Mon, 19 Feb 2018 09:04:03 -0800 Subject: [PATCH 0279/1161] Py3fy backend_pgf. --- .../2018-02-15-AL-deprecations.rst | 3 + lib/matplotlib/__init__.py | 2 +- lib/matplotlib/backends/backend_pgf.py | 70 ++++++++----------- .../mpl-data/stylelib/_classic_test.mplstyle | 1 - .../mpl-data/stylelib/classic.mplstyle | 1 - matplotlibrc.template | 3 +- 6 files changed, 35 insertions(+), 45 deletions(-) diff --git a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst index 54c6516e2852..fd0b3f9fb12b 100644 --- a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst +++ b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst @@ -13,3 +13,6 @@ The following functions and classes are deprecated: - ``cbook.is_numlike`` (use ``isinstance(..., numbers.Number)`` instead), - ``mathtext.unichr_safe`` (use ``chr`` instead), - ``texmanager.dvipng_hack_alpha``, + +The following rcParams are deprecated: +- ``pgf.debug`` (the pgf backend relies on logging), diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 22d5d6e078e1..5b739d34f662 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -821,7 +821,7 @@ def gen_candidates(): _deprecated_ignore_map = {'nbagg.transparent': 'figure.facecolor'} -_obsolete_set = {'plugins.directory', 'text.dvipnghack'} +_obsolete_set = {'pgf.debug', 'plugins.directory', 'text.dvipnghack'} # The following may use a value of None to suppress the warning. # do NOT include in _all_deprecated diff --git a/lib/matplotlib/backends/backend_pgf.py b/lib/matplotlib/backends/backend_pgf.py index f8d98c409a4b..9ad51010124d 100644 --- a/lib/matplotlib/backends/backend_pgf.py +++ b/lib/matplotlib/backends/backend_pgf.py @@ -1,11 +1,7 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - import atexit import codecs import errno +import logging import math import os import re @@ -27,6 +23,8 @@ from matplotlib.figure import Figure from matplotlib._pylab_helpers import Gcf +_log = logging.getLogger(__name__) + ############################################################################### @@ -193,10 +191,9 @@ def make_pdf_to_png_converter(): tools_available = [] # check for pdftocairo try: - subprocess.check_output( - ["pdftocairo", "-v"], stderr=subprocess.STDOUT) + subprocess.check_output(["pdftocairo", "-v"], stderr=subprocess.STDOUT) tools_available.append("pdftocairo") - except: + except OSError: pass # check for ghostscript gs, ver = mpl.checkdep_ghostscript() @@ -212,7 +209,7 @@ def cairo_convert(pdffile, pngfile, dpi): return cairo_convert elif "gs" in tools_available: def gs_convert(pdffile, pngfile, dpi): - cmd = [str(gs), + cmd = [gs, '-dQUIET', '-dSAFER', '-dBATCH', '-dNOPAUSE', '-dNOPROMPT', '-dUseCIEColor', '-dTextAlphaBits=4', '-dGraphicsAlphaBits=4', '-dDOINTERPOLATE', @@ -226,11 +223,11 @@ def gs_convert(pdffile, pngfile, dpi): class LatexError(Exception): def __init__(self, message, latex_output=""): - Exception.__init__(self, message) + super().__init__(message) self.latex_output = latex_output -class LatexManagerFactory(object): +class LatexManagerFactory: previous_instance = None @staticmethod @@ -242,18 +239,16 @@ def get_latex_manager(): # Check if the previous instance of LatexManager can be reused. if (prev and prev.latex_header == latex_header and prev.texcommand == texcommand): - if rcParams["pgf.debug"]: - print("reusing LatexManager") + _log.debug("reusing LatexManager") return prev else: - if rcParams["pgf.debug"]: - print("creating LatexManager") + _log.debug("creating LatexManager") new_inst = LatexManager() LatexManagerFactory.previous_instance = new_inst return new_inst -class LatexManager(object): +class LatexManager: """ The LatexManager opens an instance of the LaTeX application for determining the metrics of text elements. The LaTeX environment can be @@ -306,7 +301,6 @@ def __init__(self): # store references for __del__ self._os_path = os.path self._shutil = shutil - self._debug = rcParams["pgf.debug"] # create a tmp directory for running latex, remember to cleanup self.tmpdir = tempfile.mkdtemp(prefix="mpl_pgf_lm_") @@ -317,18 +311,16 @@ def __init__(self): self.latex_header = LatexManager._build_latex_header() latex_end = "\n\\makeatletter\n\\@@end\n" try: - latex = subprocess.Popen([str(self.texcommand), "-halt-on-error"], + latex = subprocess.Popen([self.texcommand, "-halt-on-error"], stdin=subprocess.PIPE, stdout=subprocess.PIPE, cwd=self.tmpdir) - except OSError as e: - if e.errno == errno.ENOENT: - raise RuntimeError( - "Latex command not found. Install %r or change " - "pgf.texsystem to the desired command." % self.texcommand) - else: - raise RuntimeError( - "Error starting process %r" % self.texcommand) + except FileNotFoundError: + raise RuntimeError( + "Latex command not found. Install %r or change " + "pgf.texsystem to the desired command." % self.texcommand) + except OSError: + raise RuntimeError("Error starting process %r" % self.texcommand) test_input = self.latex_header + latex_end stdout, stderr = latex.communicate(test_input.encode("utf-8")) if latex.returncode != 0: @@ -336,7 +328,7 @@ def __init__(self): "or error in preamble:\n%s" % stdout) # open LaTeX process for real work - latex = subprocess.Popen([str(self.texcommand), "-halt-on-error"], + latex = subprocess.Popen([self.texcommand, "-halt-on-error"], stdin=subprocess.PIPE, stdout=subprocess.PIPE, cwd=self.tmpdir) self.latex = latex @@ -366,8 +358,7 @@ def _cleanup(self): sys.stderr.write("error deleting tmp directory %s\n" % self.tmpdir) def __del__(self): - if self._debug: - print("deleting LatexManager") + _log.debug("deleting LatexManager") self._cleanup() def get_width_height_descent(self, text, prop): @@ -787,7 +778,7 @@ class GraphicsContextPgf(GraphicsContextBase): ######################################################################## -class TmpDirCleaner(object): +class TmpDirCleaner: remaining_tmpdirs = set() @staticmethod @@ -797,10 +788,10 @@ def add(tmpdir): @staticmethod def cleanup_remaining_tmpdirs(): for tmpdir in TmpDirCleaner.remaining_tmpdirs: - try: - shutil.rmtree(tmpdir) - except: - sys.stderr.write("error deleting tmp directory %s\n" % tmpdir) + shutil.rmtree( + tmpdir, + onerror=lambda *args: print("error deleting tmp directory %s" + % tmpdir, file=sys.stderr)) class FigureCanvasPgf(FigureCanvasBase): @@ -879,7 +870,7 @@ def print_pgf(self, fname_or_fh, *args, **kwargs): return # figure out where the pgf is to be written to - if isinstance(fname_or_fh, six.string_types): + if isinstance(fname_or_fh, str): with codecs.open(fname_or_fh, "w", encoding="utf-8") as fh: self._print_pgf_to_fh(fh, *args, **kwargs) elif is_writable_file_like(fname_or_fh): @@ -918,7 +909,7 @@ def _print_pdf_to_fh(self, fh, *args, **kwargs): fh_tex.write(latexcode) texcommand = get_texcommand() - cmdargs = [str(texcommand), "-interaction=nonstopmode", + cmdargs = [texcommand, "-interaction=nonstopmode", "-halt-on-error", "figure.tex"] try: subprocess.check_output( @@ -946,7 +937,7 @@ def print_pdf(self, fname_or_fh, *args, **kwargs): return # figure out where the pdf is to be written to - if isinstance(fname_or_fh, six.string_types): + if isinstance(fname_or_fh, str): with open(fname_or_fh, "wb") as fh: self._print_pdf_to_fh(fh, *args, **kwargs) elif is_writable_file_like(fname_or_fh): @@ -982,7 +973,7 @@ def print_png(self, fname_or_fh, *args, **kwargs): self._print_pgf_to_fh(None, *args, **kwargs) return - if isinstance(fname_or_fh, six.string_types): + if isinstance(fname_or_fh, str): with open(fname_or_fh, "wb") as fh: self._print_png_to_fh(fh, *args, **kwargs) elif is_writable_file_like(fname_or_fh): @@ -995,8 +986,7 @@ def get_renderer(self): class FigureManagerPgf(FigureManagerBase): - def __init__(self, *args): - FigureManagerBase.__init__(self, *args) + pass @_Backend.export diff --git a/lib/matplotlib/mpl-data/stylelib/_classic_test.mplstyle b/lib/matplotlib/mpl-data/stylelib/_classic_test.mplstyle index 70071b47b41e..c42222ad8f19 100644 --- a/lib/matplotlib/mpl-data/stylelib/_classic_test.mplstyle +++ b/lib/matplotlib/mpl-data/stylelib/_classic_test.mplstyle @@ -441,7 +441,6 @@ pdf.inheritcolor : False pdf.use14corefonts : False # pgf backend params -pgf.debug : False pgf.texsystem : xelatex pgf.rcfonts : True pgf.preamble : diff --git a/lib/matplotlib/mpl-data/stylelib/classic.mplstyle b/lib/matplotlib/mpl-data/stylelib/classic.mplstyle index 493cc15d7f28..a8c5674aefcb 100644 --- a/lib/matplotlib/mpl-data/stylelib/classic.mplstyle +++ b/lib/matplotlib/mpl-data/stylelib/classic.mplstyle @@ -443,7 +443,6 @@ pdf.inheritcolor : False pdf.use14corefonts : False # pgf backend params -pgf.debug : False pgf.texsystem : xelatex pgf.rcfonts : True pgf.preamble : diff --git a/matplotlibrc.template b/matplotlibrc.template index 3c9d6f4cbc7b..716a545c756f 100644 --- a/matplotlibrc.template +++ b/matplotlibrc.template @@ -566,9 +566,8 @@ backend : $TEMPLATE_BACKEND ## instead of uuid4 ### pgf parameter #pgf.rcfonts : True -#pgf.preamble : +#pgf.preamble : #pgf.texsystem : xelatex -#pgf.debug : False ### docstring params ##docstring.hardcopy = False ## set this when you want to generate hardcopy docstring From 28bc28f647a2690d4a91736d82cf344ad02f93de Mon Sep 17 00:00:00 2001 From: David Stansby Date: Mon, 5 Mar 2018 14:23:10 +0000 Subject: [PATCH 0280/1161] Convert Tick attributes to numpydoc --- lib/matplotlib/axis.py | 40 +++++++++++++++++----------------------- 1 file changed, 17 insertions(+), 23 deletions(-) diff --git a/lib/matplotlib/axis.py b/lib/matplotlib/axis.py index 5163c7833f26..b79d5d07f1ec 100644 --- a/lib/matplotlib/axis.py +++ b/lib/matplotlib/axis.py @@ -44,38 +44,32 @@ class Tick(artist.Artist): 1 refers to the bottom of the plot for xticks and the left for yticks 2 refers to the top of the plot for xticks and the right for yticks - Publicly accessible attributes: + Attributes + ---------- + tick1line : Line2D - :attr:`tick1line` - a Line2D instance + tick2line : Line2D - :attr:`tick2line` - a Line2D instance + gridline : Line2D - :attr:`gridline` - a Line2D instance + label1 : Text - :attr:`label1` - a Text instance + label2 : Text - :attr:`label2` - a Text instance + gridOn : bool + Determines whether to draw the tickline. - :attr:`gridOn` - a boolean which determines whether to draw the tickline + tick1On : bool + Determines whether to draw the 1st tickline. - :attr:`tick1On` - a boolean which determines whether to draw the 1st tickline + tick2On : bool + Determines whether to draw the 2nd tickline. - :attr:`tick2On` - a boolean which determines whether to draw the 2nd tickline - - :attr:`label1On` - a boolean which determines whether to draw tick label - - :attr:`label2On` - a boolean which determines whether to draw tick label + label1On : bool + Determines whether to draw tick label. + label2On : bool + Determines whether to draw tick label. """ def __init__(self, axes, loc, label, size=None, # points From 04f78be5397435c8b4de01314dab3acd7d7346e6 Mon Sep 17 00:00:00 2001 From: TD22057 Date: Mon, 5 Mar 2018 10:32:10 -0800 Subject: [PATCH 0281/1161] Re-add of changes for flake8 and __cmp__ updates --- lib/matplotlib/testing/jpl_units/Duration.py | 398 ++++++------ lib/matplotlib/testing/jpl_units/Epoch.py | 420 +++++++------ .../testing/jpl_units/EpochConverter.py | 291 +++++---- .../testing/jpl_units/StrConverter.py | 292 +++++---- lib/matplotlib/testing/jpl_units/UnitDbl.py | 578 +++++++++--------- .../testing/jpl_units/UnitDblConverter.py | 268 ++++---- .../testing/jpl_units/UnitDblFormatter.py | 63 +- lib/matplotlib/testing/jpl_units/__init__.py | 46 +- 8 files changed, 1206 insertions(+), 1150 deletions(-) diff --git a/lib/matplotlib/testing/jpl_units/Duration.py b/lib/matplotlib/testing/jpl_units/Duration.py index 99b2f9872985..8c6d5b250176 100644 --- a/lib/matplotlib/testing/jpl_units/Duration.py +++ b/lib/matplotlib/testing/jpl_units/Duration.py @@ -1,211 +1,229 @@ -#=========================================================================== +# ========================================================================== # # Duration # -#=========================================================================== +# ========================================================================== """Duration module.""" -#=========================================================================== +# ========================================================================== # Place all imports after here. # from __future__ import (absolute_import, division, print_function, unicode_literals) import six +import operator # # Place all imports before here. -#=========================================================================== +# ========================================================================== -#=========================================================================== + +# ========================================================================== class Duration(object): - """Class Duration in development. - """ - allowed = [ "ET", "UTC" ] - - #----------------------------------------------------------------------- - def __init__( self, frame, seconds ): - """Create a new Duration object. - - = ERROR CONDITIONS - - If the input frame is not in the allowed list, an error is thrown. - - = INPUT VARIABLES - - frame The frame of the duration. Must be 'ET' or 'UTC' - - seconds The number of seconds in the Duration. - """ - if frame not in self.allowed: - msg = "Input frame '%s' is not one of the supported frames of %s" \ - % ( frame, str( self.allowed ) ) - raise ValueError( msg ) - - self._frame = frame - self._seconds = seconds - - #----------------------------------------------------------------------- - def frame( self ): - """Return the frame the duration is in.""" - return self._frame - - #----------------------------------------------------------------------- - def __abs__( self ): - """Return the absolute value of the duration.""" - return Duration( self._frame, abs( self._seconds ) ) - - #----------------------------------------------------------------------- - def __neg__( self ): - """Return the negative value of this Duration.""" - return Duration( self._frame, -self._seconds ) - - #----------------------------------------------------------------------- - def seconds( self ): - """Return the number of seconds in the Duration.""" - return self._seconds + """Class Duration in development. + """ + allowed = ["ET", "UTC"] + + # ---------------------------------------------------------------------- + def __init__(self, frame, seconds): + """Create a new Duration object. + + = ERROR CONDITIONS + - If the input frame is not in the allowed list, an error is thrown. + + = INPUT VARIABLES + - frame The frame of the duration. Must be 'ET' or 'UTC' + - seconds The number of seconds in the Duration. + """ + if frame not in self.allowed: + msg = "Input frame '%s' is not one of the supported frames of %s" \ + % (frame, str(self.allowed)) + raise ValueError(msg) + + self._frame = frame + self._seconds = seconds + + # ---------------------------------------------------------------------- + def frame(self): + """Return the frame the duration is in.""" + return self._frame + + # ---------------------------------------------------------------------- + def __abs__(self): + """Return the absolute value of the duration.""" + return Duration(self._frame, abs(self._seconds)) + + # ---------------------------------------------------------------------- + def __neg__(self): + """Return the negative value of this Duration.""" + return Duration(self._frame, -self._seconds) + + # ---------------------------------------------------------------------- + def seconds(self): + """Return the number of seconds in the Duration.""" + return self._seconds + + # ---------------------------------------------------------------------- + def __nonzero__(self): + """Compare two Durations. + + = INPUT VARIABLES + - rhs The Duration to compare against. + + = RETURN VALUE + - Returns -1 if self < rhs, 0 if self == rhs, +1 if self > rhs. + """ + return self._seconds != 0 + + if six.PY3: + __bool__ = __nonzero__ + + # ---------------------------------------------------------------------- + def __eq__(self, rhs): + return self._cmp(rhs, operator.eq) + + def __ne__(self, rhs): + return self._cmp(rhs, operator.ne) + + def __lt__(self, rhs): + return self._cmp(rhs, operator.lt) + + def __le__(self, rhs): + return self._cmp(rhs, operator.le) + + def __gt__(self, rhs): + return self._cmp(rhs, operator.gt) + + def __ge__(self, rhs): + return self._cmp(rhs, operator.ge) + + def _cmp(self, rhs, op): + """Compare two Durations. + + = INPUT VARIABLES + - rhs The Duration to compare against. + - op The function to do the comparison + + = RETURN VALUE + - Returns op(self, rhs) + """ + self.checkSameFrame(rhs, "compare") + return op(self._seconds, rhs._seconds) + + # ---------------------------------------------------------------------- + def __add__(self, rhs): + """Add two Durations. + + = ERROR CONDITIONS + - If the input rhs is not in the same frame, an error is thrown. + + = INPUT VARIABLES + - rhs The Duration to add. + + = RETURN VALUE + - Returns the sum of ourselves and the input Duration. + """ + # Delay-load due to circular dependencies. + import matplotlib.testing.jpl_units as U + + if isinstance(rhs, U.Epoch): + return rhs + self + + self.checkSameFrame(rhs, "add") + return Duration(self._frame, self._seconds + rhs._seconds) + + # ---------------------------------------------------------------------- + def __sub__(self, rhs): + """Subtract two Durations. + + = ERROR CONDITIONS + - If the input rhs is not in the same frame, an error is thrown. + + = INPUT VARIABLES + - rhs The Duration to subtract. + + = RETURN VALUE + - Returns the difference of ourselves and the input Duration. + """ + self.checkSameFrame(rhs, "sub") + return Duration(self._frame, self._seconds - rhs._seconds) + + # ---------------------------------------------------------------------- + def __mul__(self, rhs): + """Scale a UnitDbl by a value. + + = INPUT VARIABLES + - rhs The scalar to multiply by. + + = RETURN VALUE + - Returns the scaled Duration. + """ + return Duration(self._frame, self._seconds * float(rhs)) + + # ---------------------------------------------------------------------- + def __rmul__(self, lhs): + """Scale a Duration by a value. + + = INPUT VARIABLES + - lhs The scalar to multiply by. + + = RETURN VALUE + - Returns the scaled Duration. + """ + return Duration(self._frame, self._seconds * float(lhs)) + + # ---------------------------------------------------------------------- + def __div__(self, rhs): + """Divide a Duration by a value. + + = INPUT VARIABLES + - rhs The scalar to divide by. - #----------------------------------------------------------------------- - def __nonzero__( self ): - """Compare two Durations. - - = INPUT VARIABLES - - rhs The Duration to compare against. - - = RETURN VALUE - - Returns -1 if self < rhs, 0 if self == rhs, +1 if self > rhs. - """ - return self._seconds != 0 + = RETURN VALUE + - Returns the scaled Duration. + """ + return Duration(self._frame, self._seconds / rhs) - if six.PY3: - __bool__ = __nonzero__ - - #----------------------------------------------------------------------- - def __cmp__( self, rhs ): - """Compare two Durations. - - = ERROR CONDITIONS - - If the input rhs is not in the same frame, an error is thrown. - - = INPUT VARIABLES - - rhs The Duration to compare against. - - = RETURN VALUE - - Returns -1 if self < rhs, 0 if self == rhs, +1 if self > rhs. - """ - self.checkSameFrame( rhs, "compare" ) - return cmp( self._seconds, rhs._seconds ) - - #----------------------------------------------------------------------- - def __add__( self, rhs ): - """Add two Durations. - - = ERROR CONDITIONS - - If the input rhs is not in the same frame, an error is thrown. - - = INPUT VARIABLES - - rhs The Duration to add. - - = RETURN VALUE - - Returns the sum of ourselves and the input Duration. - """ - # Delay-load due to circular dependencies. - import matplotlib.testing.jpl_units as U - - if isinstance( rhs, U.Epoch ): - return rhs + self - - self.checkSameFrame( rhs, "add" ) - return Duration( self._frame, self._seconds + rhs._seconds ) - - #----------------------------------------------------------------------- - def __sub__( self, rhs ): - """Subtract two Durations. - - = ERROR CONDITIONS - - If the input rhs is not in the same frame, an error is thrown. - - = INPUT VARIABLES - - rhs The Duration to subtract. - - = RETURN VALUE - - Returns the difference of ourselves and the input Duration. - """ - self.checkSameFrame( rhs, "sub" ) - return Duration( self._frame, self._seconds - rhs._seconds ) - - #----------------------------------------------------------------------- - def __mul__( self, rhs ): - """Scale a UnitDbl by a value. - - = INPUT VARIABLES - - rhs The scalar to multiply by. - - = RETURN VALUE - - Returns the scaled Duration. - """ - return Duration( self._frame, self._seconds * float( rhs ) ) - - #----------------------------------------------------------------------- - def __rmul__( self, lhs ): - """Scale a Duration by a value. - - = INPUT VARIABLES - - lhs The scalar to multiply by. - - = RETURN VALUE - - Returns the scaled Duration. - """ - return Duration( self._frame, self._seconds * float( lhs ) ) - - #----------------------------------------------------------------------- - def __div__( self, rhs ): - """Divide a Duration by a value. - - = INPUT VARIABLES - - rhs The scalar to divide by. + # ---------------------------------------------------------------------- + def __rdiv__(self, rhs): + """Divide a Duration by a value. - = RETURN VALUE - - Returns the scaled Duration. - """ - return Duration( self._frame, self._seconds / rhs ) - - #----------------------------------------------------------------------- - def __rdiv__( self, rhs ): - """Divide a Duration by a value. - - = INPUT VARIABLES - - rhs The scalar to divide by. + = INPUT VARIABLES + - rhs The scalar to divide by. - = RETURN VALUE - - Returns the scaled Duration. - """ - return Duration( self._frame, rhs / self._seconds ) - - #----------------------------------------------------------------------- - def __str__( self ): - """Print the Duration.""" - return "%g %s" % ( self._seconds, self._frame ) - - #----------------------------------------------------------------------- - def __repr__( self ): - """Print the Duration.""" - return "Duration( '%s', %g )" % ( self._frame, self._seconds ) - - #----------------------------------------------------------------------- - def checkSameFrame( self, rhs, func ): - """Check to see if frames are the same. - - = ERROR CONDITIONS - - If the frame of the rhs Duration is not the same as our frame, - an error is thrown. - - = INPUT VARIABLES - - rhs The Duration to check for the same frame - - func The name of the function doing the check. - """ - if self._frame != rhs._frame: - msg = "Cannot %s Duration's with different frames.\n" \ - "LHS: %s\n" \ - "RHS: %s" % ( func, self._frame, rhs._frame ) - raise ValueError( msg ) - -#=========================================================================== + = RETURN VALUE + - Returns the scaled Duration. + """ + return Duration(self._frame, rhs / self._seconds) + + # ---------------------------------------------------------------------- + def __str__(self): + """Print the Duration.""" + return "%g %s" % (self._seconds, self._frame) + + # ---------------------------------------------------------------------- + def __repr__(self): + """Print the Duration.""" + return "Duration('%s', %g)" % (self._frame, self._seconds) + + # ---------------------------------------------------------------------- + def checkSameFrame(self, rhs, func): + """Check to see if frames are the same. + + = ERROR CONDITIONS + - If the frame of the rhs Duration is not the same as our frame, + an error is thrown. + + = INPUT VARIABLES + - rhs The Duration to check for the same frame + - func The name of the function doing the check. + """ + if self._frame != rhs._frame: + msg = "Cannot %s Duration's with different frames.\n" \ + "LHS: %s\n" \ + "RHS: %s" % (func, self._frame, rhs._frame) + raise ValueError(msg) + +# ========================================================================== diff --git a/lib/matplotlib/testing/jpl_units/Epoch.py b/lib/matplotlib/testing/jpl_units/Epoch.py index 91b4c127eb5c..72ccbec5abac 100644 --- a/lib/matplotlib/testing/jpl_units/Epoch.py +++ b/lib/matplotlib/testing/jpl_units/Epoch.py @@ -1,238 +1,260 @@ -#=========================================================================== +# =========================================================================== # # Epoch # -#=========================================================================== +# =========================================================================== """Epoch module.""" -#=========================================================================== +# =========================================================================== # Place all imports after here. # from __future__ import (absolute_import, division, print_function, unicode_literals) import six - +import operator import math import datetime as DT from matplotlib.dates import date2num # # Place all imports before here. -#=========================================================================== +# =========================================================================== + -#=========================================================================== +# =========================================================================== class Epoch(object): - # Frame conversion offsets in seconds - # t(TO) = t(FROM) + allowed[ FROM ][ TO ] - allowed = { - "ET" : { - "UTC" : +64.1839, - }, - "UTC" : { - "ET" : -64.1839, - }, - } - - #----------------------------------------------------------------------- - def __init__( self, frame, sec=None, jd=None, daynum=None, dt=None ): - """Create a new Epoch object. - - Build an epoch 1 of 2 ways: - - Using seconds past a Julian date: - # Epoch( 'ET', sec=1e8, jd=2451545 ) - - or using a matplotlib day number - # Epoch( 'ET', daynum=730119.5 ) - - - = ERROR CONDITIONS - - If the input units are not in the allowed list, an error is thrown. - - = INPUT VARIABLES - - frame The frame of the epoch. Must be 'ET' or 'UTC' - - sec The number of seconds past the input JD. - - jd The Julian date of the epoch. - - daynum The matplotlib day number of the epoch. - - dt A python datetime instance. - """ - if ( ( sec is None and jd is not None ) or - ( sec is not None and jd is None ) or - ( daynum is not None and ( sec is not None or jd is not None ) ) or - ( daynum is None and dt is None and ( sec is None or jd is None ) ) or - ( daynum is not None and dt is not None ) or - ( dt is not None and ( sec is not None or jd is not None ) ) or - ( (dt is not None) and not isinstance(dt, DT.datetime) ) ): - msg = "Invalid inputs. Must enter sec and jd together, " \ - "daynum by itself, or dt (must be a python datetime).\n" \ - "Sec = %s\nJD = %s\ndnum= %s\ndt = %s" \ - % ( str( sec ), str( jd ), str( daynum ), str( dt ) ) - raise ValueError( msg ) - - if frame not in self.allowed: - msg = "Input frame '%s' is not one of the supported frames of %s" \ - % ( frame, str( list(six.iterkeys(self.allowed) ) ) ) - raise ValueError(msg) - - self._frame = frame - - if dt is not None: - daynum = date2num( dt ) - - if daynum is not None: - # 1-JAN-0001 in JD = 1721425.5 - jd = float( daynum ) + 1721425.5 - self._jd = math.floor( jd ) - self._seconds = ( jd - self._jd ) * 86400.0 - - else: - self._seconds = float( sec ) - self._jd = float( jd ) - - # Resolve seconds down to [ 0, 86400 ) - deltaDays = int( math.floor( self._seconds / 86400.0 ) ) - self._jd += deltaDays - self._seconds -= deltaDays * 86400.0 - - #----------------------------------------------------------------------- - def convert( self, frame ): - if self._frame == frame: - return self - - offset = self.allowed[ self._frame ][ frame ] - - return Epoch( frame, self._seconds + offset, self._jd ) - - #----------------------------------------------------------------------- - def frame( self ): - return self._frame - - #----------------------------------------------------------------------- - def julianDate( self, frame ): - t = self - if frame != self._frame: - t = self.convert( frame ) - - return t._jd + t._seconds / 86400.0 - - #----------------------------------------------------------------------- - def secondsPast( self, frame, jd ): - t = self - if frame != self._frame: - t = self.convert( frame ) - - delta = t._jd - jd - return t._seconds + delta * 86400 - - #----------------------------------------------------------------------- - def __cmp__( self, rhs ): - """Compare two Epoch's. - - = INPUT VARIABLES - - rhs The Epoch to compare against. - - = RETURN VALUE - - Returns -1 if self < rhs, 0 if self == rhs, +1 if self > rhs. - """ - t = self - if self._frame != rhs._frame: - t = self.convert( rhs._frame ) - - if t._jd != rhs._jd: - return cmp( t._jd, rhs._jd ) - - return cmp( t._seconds, rhs._seconds ) - - #----------------------------------------------------------------------- - def __add__( self, rhs ): - """Add a duration to an Epoch. - - = INPUT VARIABLES - - rhs The Epoch to subtract. - - = RETURN VALUE - - Returns the difference of ourselves and the input Epoch. - """ - t = self - if self._frame != rhs.frame(): - t = self.convert( rhs._frame ) - - sec = t._seconds + rhs.seconds() - - return Epoch( t._frame, sec, t._jd ) + # Frame conversion offsets in seconds + # t(TO) = t(FROM) + allowed[ FROM ][ TO ] + allowed = { + "ET": { + "UTC": +64.1839, + }, + "UTC": { + "ET": -64.1839, + }, + } + + # ----------------------------------------------------------------------- + def __init__(self, frame, sec=None, jd=None, daynum=None, dt=None): + """Create a new Epoch object. + + Build an epoch 1 of 2 ways: + + Using seconds past a Julian date: + # Epoch('ET', sec=1e8, jd=2451545) + + or using a matplotlib day number + # Epoch('ET', daynum=730119.5) + + + = ERROR CONDITIONS + - If the input units are not in the allowed list, an error is thrown. + + = INPUT VARIABLES + - frame The frame of the epoch. Must be 'ET' or 'UTC' + - sec The number of seconds past the input JD. + - jd The Julian date of the epoch. + - daynum The matplotlib day number of the epoch. + - dt A python datetime instance. + """ + if ((sec is None and jd is not None) or + (sec is not None and jd is None) or + (daynum is not None and + (sec is not None or jd is not None)) or + (daynum is None and dt is None and + (sec is None or jd is None)) or + (daynum is not None and dt is not None) or + (dt is not None and (sec is not None or jd is not None)) or + ((dt is not None) and not isinstance(dt, DT.datetime))): + msg = "Invalid inputs. Must enter sec and jd together, " \ + "daynum by itself, or dt (must be a python datetime).\n" \ + "Sec = %s\nJD = %s\ndnum= %s\ndt = %s" \ + % (str(sec), str(jd), str(daynum), str(dt)) + raise ValueError(msg) + + if frame not in self.allowed: + msg = "Input frame '%s' is not one of the supported frames of %s" \ + % (frame, str(list(six.iterkeys(self.allowed)))) + raise ValueError(msg) + + self._frame = frame + + if dt is not None: + daynum = date2num(dt) + + if daynum is not None: + # 1-JAN-0001 in JD = 1721425.5 + jd = float(daynum) + 1721425.5 + self._jd = math.floor(jd) + self._seconds = (jd - self._jd) * 86400.0 + + else: + self._seconds = float(sec) + self._jd = float(jd) + + # Resolve seconds down to [ 0, 86400) + deltaDays = int(math.floor(self._seconds / 86400.0)) + self._jd += deltaDays + self._seconds -= deltaDays * 86400.0 + + # ----------------------------------------------------------------------- + def convert(self, frame): + if self._frame == frame: + return self + + offset = self.allowed[self._frame][frame] + + return Epoch(frame, self._seconds + offset, self._jd) + + # ----------------------------------------------------------------------- + def frame(self): + return self._frame + + # ----------------------------------------------------------------------- + def julianDate(self, frame): + t = self + if frame != self._frame: + t = self.convert(frame) + + return t._jd + t._seconds / 86400.0 + + # ----------------------------------------------------------------------- + def secondsPast(self, frame, jd): + t = self + if frame != self._frame: + t = self.convert(frame) + + delta = t._jd - jd + return t._seconds + delta * 86400 + + # ----------------------------------------------------------------------- + def __eq__(self, rhs): + return self._cmp(rhs, operator.eq) + + def __ne__(self, rhs): + return self._cmp(rhs, operator.ne) + + def __lt__(self, rhs): + return self._cmp(rhs, operator.lt) + + def __le__(self, rhs): + return self._cmp(rhs, operator.le) + + def __gt__(self, rhs): + return self._cmp(rhs, operator.gt) + + def __ge__(self, rhs): + return self._cmp(rhs, operator.ge) + + def _cmp(self, rhs, op): + """Compare two Epoch's. + + = INPUT VARIABLES + - rhs The Epoch to compare against. + - op The function to do the comparison + + = RETURN VALUE + - Returns op(self, rhs) + """ + t = self + if self._frame != rhs._frame: + t = self.convert(rhs._frame) + + if t._jd != rhs._jd: + return op(t._jd, rhs._jd) + + return op(t._seconds, rhs._seconds) + + # ----------------------------------------------------------------------- + def __add__(self, rhs): + """Add a duration to an Epoch. + + = INPUT VARIABLES + - rhs The Epoch to subtract. + + = RETURN VALUE + - Returns the difference of ourselves and the input Epoch. + """ + t = self + if self._frame != rhs.frame(): + t = self.convert(rhs._frame) + + sec = t._seconds + rhs.seconds() + + return Epoch(t._frame, sec, t._jd) - #----------------------------------------------------------------------- - def __sub__( self, rhs ): - """Subtract two Epoch's or a Duration from an Epoch. + # ----------------------------------------------------------------------- + def __sub__(self, rhs): + """Subtract two Epoch's or a Duration from an Epoch. - Valid: - Duration = Epoch - Epoch - Epoch = Epoch - Duration + Valid: + Duration = Epoch - Epoch + Epoch = Epoch - Duration - = INPUT VARIABLES - - rhs The Epoch to subtract. + = INPUT VARIABLES + - rhs The Epoch to subtract. - = RETURN VALUE - - Returns either the duration between to Epoch's or the a new - Epoch that is the result of subtracting a duration from an epoch. - """ - # Delay-load due to circular dependencies. - import matplotlib.testing.jpl_units as U + = RETURN VALUE + - Returns either the duration between to Epoch's or the a new + Epoch that is the result of subtracting a duration from an epoch. + """ + # Delay-load due to circular dependencies. + import matplotlib.testing.jpl_units as U - # Handle Epoch - Duration - if isinstance( rhs, U.Duration ): - return self + -rhs + # Handle Epoch - Duration + if isinstance(rhs, U.Duration): + return self + -rhs - t = self - if self._frame != rhs._frame: - t = self.convert( rhs._frame ) + t = self + if self._frame != rhs._frame: + t = self.convert(rhs._frame) - days = t._jd - rhs._jd - sec = t._seconds - rhs._seconds + days = t._jd - rhs._jd + sec = t._seconds - rhs._seconds - return U.Duration( rhs._frame, days*86400 + sec ) + return U.Duration(rhs._frame, days*86400 + sec) - #----------------------------------------------------------------------- - def __str__( self ): - """Print the Epoch.""" - return "%22.15e %s" % ( self.julianDate( self._frame ), self._frame ) + # ----------------------------------------------------------------------- + def __str__(self): + """Print the Epoch.""" + return "%22.15e %s" % (self.julianDate(self._frame), self._frame) - #----------------------------------------------------------------------- - def __repr__( self ): - """Print the Epoch.""" - return str( self ) + # ----------------------------------------------------------------------- + def __repr__(self): + """Print the Epoch.""" + return str(self) - #----------------------------------------------------------------------- - def range( start, stop, step ): - """Generate a range of Epoch objects. + # ----------------------------------------------------------------------- + def range(start, stop, step): + """Generate a range of Epoch objects. - Similar to the Python range() method. Returns the range [ - start, stop ) at the requested step. Each element will be a - Epoch object. + Similar to the Python range() method. Returns the range [ + start, stop) at the requested step. Each element will be a + Epoch object. - = INPUT VARIABLES - - start The starting value of the range. - - stop The stop value of the range. - - step Step to use. + = INPUT VARIABLES + - start The starting value of the range. + - stop The stop value of the range. + - step Step to use. - = RETURN VALUE - - Returns a list contianing the requested Epoch values. - """ - elems = [] + = RETURN VALUE + - Returns a list contianing the requested Epoch values. + """ + elems = [] - i = 0 - while True: - d = start + i * step - if d >= stop: - break + i = 0 + while True: + d = start + i * step + if d >= stop: + break - elems.append( d ) - i += 1 + elems.append(d) + i += 1 - return elems + return elems - range = staticmethod( range ) + range = staticmethod(range) -#=========================================================================== +# =========================================================================== diff --git a/lib/matplotlib/testing/jpl_units/EpochConverter.py b/lib/matplotlib/testing/jpl_units/EpochConverter.py index eecf3321135b..4892483b5f0e 100644 --- a/lib/matplotlib/testing/jpl_units/EpochConverter.py +++ b/lib/matplotlib/testing/jpl_units/EpochConverter.py @@ -1,13 +1,13 @@ -#=========================================================================== +# ========================================================================== # # EpochConverter # -#=========================================================================== +# ========================================================================== """EpochConverter module containing class EpochConverter.""" -#=========================================================================== +# ========================================================================== # Place all imports after here. # from __future__ import (absolute_import, division, print_function, @@ -20,146 +20,145 @@ from matplotlib.cbook import iterable # # Place all imports before here. -#=========================================================================== - -__all__ = [ 'EpochConverter' ] - -#=========================================================================== -class EpochConverter( units.ConversionInterface ): - """: A matplotlib converter class. Provides matplotlib conversion - functionality for Monte Epoch and Duration classes. - """ - - # julian date reference for "Jan 1, 0001" minus 1 day because - # matplotlib really wants "Jan 0, 0001" - jdRef = 1721425.5 - 1 - - #------------------------------------------------------------------------ - @staticmethod - def axisinfo( unit, axis ): - """: Returns information on how to handle an axis that has Epoch data. - - = INPUT VARIABLES - - unit The units to use for a axis with Epoch data. - - = RETURN VALUE - - Returns a matplotlib AxisInfo data structure that contains - minor/major formatters, major/minor locators, and default - label information. - """ - - majloc = date_ticker.AutoDateLocator() - majfmt = date_ticker.AutoDateFormatter( majloc ) - - return units.AxisInfo( majloc = majloc, - majfmt = majfmt, - label = unit ) - - #------------------------------------------------------------------------ - @staticmethod - def float2epoch( value, unit ): - """: Convert a matplotlib floating-point date into an Epoch of the - specified units. - - = INPUT VARIABLES - - value The matplotlib floating-point date. - - unit The unit system to use for the Epoch. - - = RETURN VALUE - - Returns the value converted to an Epoch in the specified time system. - """ - # Delay-load due to circular dependencies. - import matplotlib.testing.jpl_units as U - - secPastRef = value * 86400.0 * U.UnitDbl( 1.0, 'sec' ) - return U.Epoch( unit, secPastRef, EpochConverter.jdRef ) - - #------------------------------------------------------------------------ - @staticmethod - def epoch2float( value, unit ): - """: Convert an Epoch value to a float suitible for plotting as a - python datetime object. - - = INPUT VARIABLES - - value An Epoch or list of Epochs that need to be converted. - - unit The units to use for an axis with Epoch data. - - = RETURN VALUE - - Returns the value parameter converted to floats. - """ - return value.julianDate( unit ) - EpochConverter.jdRef - - #------------------------------------------------------------------------ - @staticmethod - def duration2float( value ): - """: Convert a Duration value to a float suitible for plotting as a - python datetime object. - - = INPUT VARIABLES - - value A Duration or list of Durations that need to be converted. - - = RETURN VALUE - - Returns the value parameter converted to floats. - """ - return value.seconds() / 86400.0 - - #------------------------------------------------------------------------ - @staticmethod - def convert( value, unit, axis ): - """: Convert value using unit to a float. If value is a sequence, return - the converted sequence. - - = INPUT VARIABLES - - value The value or list of values that need to be converted. - - unit The units to use for an axis with Epoch data. - - = RETURN VALUE - - Returns the value parameter converted to floats. - """ - # Delay-load due to circular dependencies. - import matplotlib.testing.jpl_units as U - - isNotEpoch = True - isDuration = False - - if ( iterable(value) and not isinstance(value, six.string_types) ): - if ( len(value) == 0 ): - return [] - else: - return [ EpochConverter.convert( x, unit, axis ) for x in value ] - - if ( isinstance(value, U.Epoch) ): - isNotEpoch = False - elif ( isinstance(value, U.Duration) ): - isDuration = True - - if ( isNotEpoch and not isDuration and - units.ConversionInterface.is_numlike( value ) ): - return value - - if ( unit == None ): - unit = EpochConverter.default_units( value, axis ) - - if ( isDuration ): - return EpochConverter.duration2float( value ) - else: - return EpochConverter.epoch2float( value, unit ) - - #------------------------------------------------------------------------ - @staticmethod - def default_units( value, axis ): - """: Return the default unit for value, or None. - - = INPUT VARIABLES - - value The value or list of values that need units. - - = RETURN VALUE - - Returns the default units to use for value. - """ - frame = None - if ( iterable(value) and not isinstance(value, six.string_types) ): - return EpochConverter.default_units( value[0], axis ) - else: - frame = value.frame() - - return frame +# ========================================================================== + +__all__ = ['EpochConverter'] + + +# ========================================================================== +class EpochConverter(units.ConversionInterface): + """: A matplotlib converter class. Provides matplotlib conversion + functionality for Monte Epoch and Duration classes. + """ + + # julian date reference for "Jan 1, 0001" minus 1 day because + # matplotlib really wants "Jan 0, 0001" + jdRef = 1721425.5 - 1 + + # ----------------------------------------------------------------------- + @staticmethod + def axisinfo(unit, axis): + """: Returns information on how to handle an axis that has Epoch data. + + = INPUT VARIABLES + - unit The units to use for a axis with Epoch data. + + = RETURN VALUE + - Returns a matplotlib AxisInfo data structure that contains + minor/major formatters, major/minor locators, and default + label information. + """ + + majloc = date_ticker.AutoDateLocator() + majfmt = date_ticker.AutoDateFormatter(majloc) + + return units.AxisInfo(majloc=majloc, majfmt=majfmt, label=unit) + + # ----------------------------------------------------------------------- + @staticmethod + def float2epoch(value, unit): + """: Convert a matplotlib floating-point date into an Epoch of the + specified units. + + = INPUT VARIABLES + - value The matplotlib floating-point date. + - unit The unit system to use for the Epoch. + + = RETURN VALUE + - Returns the value converted to an Epoch in the specified time system. + """ + # Delay-load due to circular dependencies. + import matplotlib.testing.jpl_units as U + + secPastRef = value * 86400.0 * U.UnitDbl(1.0, 'sec') + return U.Epoch(unit, secPastRef, EpochConverter.jdRef) + + # ----------------------------------------------------------------------- + @staticmethod + def epoch2float(value, unit): + """: Convert an Epoch value to a float suitible for plotting as a + python datetime object. + + = INPUT VARIABLES + - value An Epoch or list of Epochs that need to be converted. + - unit The units to use for an axis with Epoch data. + + = RETURN VALUE + - Returns the value parameter converted to floats. + """ + return value.julianDate(unit) - EpochConverter.jdRef + + # ----------------------------------------------------------------------- + @staticmethod + def duration2float(value): + """: Convert a Duration value to a float suitible for plotting as a + python datetime object. + + = INPUT VARIABLES + - value A Duration or list of Durations that need to be converted. + + = RETURN VALUE + - Returns the value parameter converted to floats. + """ + return value.seconds() / 86400.0 + + # ----------------------------------------------------------------------- + @staticmethod + def convert(value, unit, axis): + """: Convert value using unit to a float. If value is a sequence, return + the converted sequence. + + = INPUT VARIABLES + - value The value or list of values that need to be converted. + - unit The units to use for an axis with Epoch data. + + = RETURN VALUE + - Returns the value parameter converted to floats. + """ + # Delay-load due to circular dependencies. + import matplotlib.testing.jpl_units as U + + isNotEpoch = True + isDuration = False + + if iterable(value) and not isinstance(value, six.string_types): + if (len(value) == 0): + return [] + else: + return [EpochConverter.convert(x, unit, axis) for x in value] + + if isinstance(value, U.Epoch): + isNotEpoch = False + elif isinstance(value, U.Duration): + isDuration = True + + if (isNotEpoch and not isDuration and + units.ConversionInterface.is_numlike(value)): + return value + + if unit is None: + unit = EpochConverter.default_units(value, axis) + + if isDuration: + return EpochConverter.duration2float(value) + else: + return EpochConverter.epoch2float(value, unit) + + # ----------------------------------------------------------------------- + @staticmethod + def default_units(value, axis): + """: Return the default unit for value, or None. + + = INPUT VARIABLES + - value The value or list of values that need units. + + = RETURN VALUE + - Returns the default units to use for value. + """ + frame = None + if iterable(value) and not isinstance(value, six.string_types): + return EpochConverter.default_units(value[0], axis) + else: + frame = value.frame() + + return frame diff --git a/lib/matplotlib/testing/jpl_units/StrConverter.py b/lib/matplotlib/testing/jpl_units/StrConverter.py index 81595e367fb1..924e39a8884a 100644 --- a/lib/matplotlib/testing/jpl_units/StrConverter.py +++ b/lib/matplotlib/testing/jpl_units/StrConverter.py @@ -1,163 +1,161 @@ -#=========================================================================== +# ========================================================================== # # StrConverter # -#=========================================================================== +# ========================================================================== """StrConverter module containing class StrConverter.""" -#=========================================================================== +# ========================================================================== # Place all imports after here. # from __future__ import (absolute_import, division, print_function, unicode_literals) -import six - import matplotlib.units as units from matplotlib.cbook import iterable # Place all imports before here. -#=========================================================================== - -__all__ = [ 'StrConverter' ] - -#=========================================================================== -class StrConverter( units.ConversionInterface ): - """: A matplotlib converter class. Provides matplotlib conversion - functionality for string data values. - - Valid units for string are: - - 'indexed' : Values are indexed as they are specified for plotting. - - 'sorted' : Values are sorted alphanumerically. - - 'inverted' : Values are inverted so that the first value is on top. - - 'sorted-inverted' : A combination of 'sorted' and 'inverted' - """ - - #------------------------------------------------------------------------ - @staticmethod - def axisinfo( unit, axis ): - """: Returns information on how to handle an axis that has string data. - - = INPUT VARIABLES - - axis The axis using this converter. - - unit The units to use for a axis with string data. - - = RETURN VALUE - - Returns a matplotlib AxisInfo data structure that contains - minor/major formatters, major/minor locators, and default - label information. - """ - - return None - - #------------------------------------------------------------------------ - @staticmethod - def convert( value, unit, axis ): - """: Convert value using unit to a float. If value is a sequence, return - the converted sequence. - - = INPUT VARIABLES - - axis The axis using this converter. - - value The value or list of values that need to be converted. - - unit The units to use for a axis with Epoch data. - - = RETURN VALUE - - Returns the value parameter converted to floats. - """ - - if ( units.ConversionInterface.is_numlike( value ) ): - return value - - if ( value == [] ): - return [] - - # we delay loading to make matplotlib happy - ax = axis.axes - if axis is ax.get_xaxis(): - isXAxis = True - else: - isXAxis = False - - axis.get_major_ticks() - ticks = axis.get_ticklocs() - labels = axis.get_ticklabels() - - labels = [ l.get_text() for l in labels if l.get_text() ] - - if ( not labels ): - ticks = [] - labels = [] - - - if ( not iterable( value ) ): - value = [ value ] - - newValues = [] - for v in value: - if ( (v not in labels) and (v not in newValues) ): - newValues.append( v ) - - for v in newValues: - if ( labels ): - labels.append( v ) - else: - labels = [ v ] - - #DISABLED: This is disabled because matplotlib bar plots do not - #DISABLED: recalculate the unit conversion of the data values - #DISABLED: this is due to design and is not really a bug. - #DISABLED: If this gets changed, then we can activate the following - #DISABLED: block of code. Note that this works for line plots. - #DISABLED if ( unit ): - #DISABLED if ( unit.find( "sorted" ) > -1 ): - #DISABLED labels.sort() - #DISABLED if ( unit.find( "inverted" ) > -1 ): - #DISABLED labels = labels[ ::-1 ] - - # add padding (so they do not appear on the axes themselves) - labels = [ '' ] + labels + [ '' ] - ticks = list(range( len(labels) )) - ticks[0] = 0.5 - ticks[-1] = ticks[-1] - 0.5 - - axis.set_ticks( ticks ) - axis.set_ticklabels( labels ) - # we have to do the following lines to make ax.autoscale_view work - loc = axis.get_major_locator() - loc.set_bounds( ticks[0], ticks[-1] ) - - if ( isXAxis ): - ax.set_xlim( ticks[0], ticks[-1] ) - else: - ax.set_ylim( ticks[0], ticks[-1] ) - - result = [] - for v in value: - # If v is not in labels then something went wrong with adding new - # labels to the list of old labels. - errmsg = "This is due to a logic error in the StrConverter class. " - errmsg += "Please report this error and its message in bugzilla." - assert ( v in labels ), errmsg - result.append( ticks[ labels.index(v) ] ) - - ax.viewLim.ignore(-1) - return result - - #------------------------------------------------------------------------ - @staticmethod - def default_units( value, axis ): - """: Return the default unit for value, or None. - - = INPUT VARIABLES - - axis The axis using this converter. - - value The value or list of values that need units. - - = RETURN VALUE - - Returns the default units to use for value. - Return the default unit for value, or None. - """ - - # The default behavior for string indexing. - return "indexed" +# ========================================================================== + +__all__ = ['StrConverter'] + + +# ========================================================================== +class StrConverter(units.ConversionInterface): + """: A matplotlib converter class. Provides matplotlib conversion + functionality for string data values. + + Valid units for string are: + - 'indexed' : Values are indexed as they are specified for plotting. + - 'sorted' : Values are sorted alphanumerically. + - 'inverted' : Values are inverted so that the first value is on top. + - 'sorted-inverted' : A combination of 'sorted' and 'inverted' + """ + + # ----------------------------------------------------------------------- + @staticmethod + def axisinfo(unit, axis): + """: Returns information on how to handle an axis that has string data. + + = INPUT VARIABLES + - axis The axis using this converter. + - unit The units to use for a axis with string data. + + = RETURN VALUE + - Returns a matplotlib AxisInfo data structure that contains + minor/major formatters, major/minor locators, and default + label information. + """ + + return None + + # ----------------------------------------------------------------------- + @staticmethod + def convert(value, unit, axis): + """: Convert value using unit to a float. If value is a sequence, return + the converted sequence. + + = INPUT VARIABLES + - axis The axis using this converter. + - value The value or list of values that need to be converted. + - unit The units to use for a axis with Epoch data. + + = RETURN VALUE + - Returns the value parameter converted to floats. + """ + + if units.ConversionInterface.is_numlike(value): + return value + + if value == []: + return [] + + # we delay loading to make matplotlib happy + ax = axis.axes + if axis is ax.get_xaxis(): + isXAxis = True + else: + isXAxis = False + + axis.get_major_ticks() + ticks = axis.get_ticklocs() + labels = axis.get_ticklabels() + + labels = [l.get_text() for l in labels if l.get_text()] + + if not labels: + ticks = [] + labels = [] + + if not iterable(value): + value = [value] + + newValues = [] + for v in value: + if v not in labels and v not in newValues: + newValues.append(v) + + for v in newValues: + if labels: + labels.append(v) + else: + labels = [v] + + # DISABLED: This is disabled because matplotlib bar plots do not + # DISABLED: recalculate the unit conversion of the data values + # DISABLED: this is due to design and is not really a bug. + # DISABLED: If this gets changed, then we can activate the following + # DISABLED: block of code. Note that this works for line plots. + # DISABLED if (unit): + # DISABLED if (unit.find("sorted") > -1): + # DISABLED labels.sort() + # DISABLED if (unit.find("inverted") > -1): + # DISABLED labels = labels[::-1] + + # add padding (so they do not appear on the axes themselves) + labels = [''] + labels + [''] + ticks = list(range(len(labels))) + ticks[0] = 0.5 + ticks[-1] = ticks[-1] - 0.5 + + axis.set_ticks(ticks) + axis.set_ticklabels(labels) + # we have to do the following lines to make ax.autoscale_view work + loc = axis.get_major_locator() + loc.set_bounds(ticks[0], ticks[-1]) + + if isXAxis: + ax.set_xlim(ticks[0], ticks[-1]) + else: + ax.set_ylim(ticks[0], ticks[-1]) + + result = [] + for v in value: + # If v is not in labels then something went wrong with adding new + # labels to the list of old labels. + errmsg = "This is due to a logic error in the StrConverter class." + errmsg += " Please report this error and its message in bugzilla." + assert v in labels, errmsg + result.append(ticks[labels.index(v)]) + + ax.viewLim.ignore(-1) + return result + + # ----------------------------------------------------------------------- + @staticmethod + def default_units(value, axis): + """: Return the default unit for value, or None. + + = INPUT VARIABLES + - axis The axis using this converter. + - value The value or list of values that need units. + + = RETURN VALUE + - Returns the default units to use for value. + Return the default unit for value, or None. + """ + + # The default behavior for string indexing. + return "indexed" diff --git a/lib/matplotlib/testing/jpl_units/UnitDbl.py b/lib/matplotlib/testing/jpl_units/UnitDbl.py index 20c89308dfd1..480ef6144cbc 100644 --- a/lib/matplotlib/testing/jpl_units/UnitDbl.py +++ b/lib/matplotlib/testing/jpl_units/UnitDbl.py @@ -1,297 +1,317 @@ -#=========================================================================== +# ========================================================================== # # UnitDbl # -#=========================================================================== +# ========================================================================== """UnitDbl module.""" -#=========================================================================== +# ========================================================================== # Place all imports after here. # from __future__ import (absolute_import, division, print_function, unicode_literals) import six +import operator # # Place all imports before here. -#=========================================================================== +# ========================================================================== -#=========================================================================== +# ========================================================================== class UnitDbl(object): - """Class UnitDbl in development. - """ - #----------------------------------------------------------------------- - # Unit conversion table. Small subset of the full one but enough - # to test the required functions. First field is a scale factor to - # convert the input units to the units of the second field. Only - # units in this table are allowed. - allowed = { - "m" : ( 0.001, "km" ), - "km" : ( 1, "km" ), - "mile" : ( 1.609344, "km" ), - - "rad" : ( 1, "rad" ), - "deg" : ( 1.745329251994330e-02, "rad" ), - - "sec" : ( 1, "sec" ), - "min" : ( 60.0, "sec" ), - "hour" : ( 3600, "sec" ), - } - - _types = { - "km" : "distance", - "rad" : "angle", - "sec" : "time", - } - - #----------------------------------------------------------------------- - def __init__( self, value, units ): - """Create a new UnitDbl object. - - Units are internally converted to km, rad, and sec. The only - valid inputs for units are [ m, km, mile, rad, deg, sec, min, hour ]. - - The field UnitDbl.value will contain the converted value. Use - the convert() method to get a specific type of units back. - - = ERROR CONDITIONS - - If the input units are not in the allowed list, an error is thrown. - - = INPUT VARIABLES - - value The numeric value of the UnitDbl. - - units The string name of the units the value is in. - """ - self.checkUnits( units ) - - data = self.allowed[ units ] - self._value = float( value * data[0] ) - self._units = data[1] - - #----------------------------------------------------------------------- - def convert( self, units ): - """Convert the UnitDbl to a specific set of units. - - = ERROR CONDITIONS - - If the input units are not in the allowed list, an error is thrown. - - = INPUT VARIABLES - - units The string name of the units to convert to. - - = RETURN VALUE - - Returns the value of the UnitDbl in the requested units as a floating - point number. - """ - if self._units == units: - return self._value - - self.checkUnits( units ) - - data = self.allowed[ units ] - if self._units != data[1]: - msg = "Error trying to convert to different units.\n" \ - " Invalid conversion requested.\n" \ - " UnitDbl: %s\n" \ - " Units: %s\n" % ( str( self ), units ) - raise ValueError( msg ) - - return self._value / data[0] - - #----------------------------------------------------------------------- - def __abs__( self ): - """Return the absolute value of this UnitDbl.""" - return UnitDbl( abs( self._value ), self._units ) - - #----------------------------------------------------------------------- - def __neg__( self ): - """Return the negative value of this UnitDbl.""" - return UnitDbl( -self._value, self._units ) - - #----------------------------------------------------------------------- - def __nonzero__( self ): - """Test a UnitDbl for a non-zero value. - - = RETURN VALUE - - Returns true if the value is non-zero. - """ - if six.PY3: - return self._value.__bool__() - else: - return self._value.__nonzero__() - - if six.PY3: - __bool__ = __nonzero__ - - #----------------------------------------------------------------------- - def __cmp__( self, rhs ): - """Compare two UnitDbl's. - - = ERROR CONDITIONS - - If the input rhs units are not the same as our units, - an error is thrown. - - = INPUT VARIABLES - - rhs The UnitDbl to compare against. - - = RETURN VALUE - - Returns -1 if self < rhs, 0 if self == rhs, +1 if self > rhs. - """ - self.checkSameUnits( rhs, "compare" ) - return cmp( self._value, rhs._value ) - - #----------------------------------------------------------------------- - def __add__( self, rhs ): - """Add two UnitDbl's. - - = ERROR CONDITIONS - - If the input rhs units are not the same as our units, - an error is thrown. - - = INPUT VARIABLES - - rhs The UnitDbl to add. - - = RETURN VALUE - - Returns the sum of ourselves and the input UnitDbl. - """ - self.checkSameUnits( rhs, "add" ) - return UnitDbl( self._value + rhs._value, self._units ) - - #----------------------------------------------------------------------- - def __sub__( self, rhs ): - """Subtract two UnitDbl's. - - = ERROR CONDITIONS - - If the input rhs units are not the same as our units, - an error is thrown. - - = INPUT VARIABLES - - rhs The UnitDbl to subtract. - - = RETURN VALUE - - Returns the difference of ourselves and the input UnitDbl. - """ - self.checkSameUnits( rhs, "subtract" ) - return UnitDbl( self._value - rhs._value, self._units ) - - #----------------------------------------------------------------------- - def __mul__( self, rhs ): - """Scale a UnitDbl by a value. - - = INPUT VARIABLES - - rhs The scalar to multiply by. - - = RETURN VALUE - - Returns the scaled UnitDbl. - """ - return UnitDbl( self._value * rhs, self._units ) - - #----------------------------------------------------------------------- - def __rmul__( self, lhs ): - """Scale a UnitDbl by a value. - - = INPUT VARIABLES - - lhs The scalar to multiply by. - - = RETURN VALUE - - Returns the scaled UnitDbl. - """ - return UnitDbl( self._value * lhs, self._units ) - - #----------------------------------------------------------------------- - def __div__( self, rhs ): - """Divide a UnitDbl by a value. - - = INPUT VARIABLES - - rhs The scalar to divide by. - - = RETURN VALUE - - Returns the scaled UnitDbl. - """ - return UnitDbl( self._value / rhs, self._units ) - - #----------------------------------------------------------------------- - def __str__( self ): - """Print the UnitDbl.""" - return "%g *%s" % ( self._value, self._units ) - - #----------------------------------------------------------------------- - def __repr__( self ): - """Print the UnitDbl.""" - return "UnitDbl( %g, '%s' )" % ( self._value, self._units ) - - #----------------------------------------------------------------------- - def type( self ): - """Return the type of UnitDbl data.""" - return self._types[ self._units ] - - #----------------------------------------------------------------------- - def range( start, stop, step=None ): - """Generate a range of UnitDbl objects. - - Similar to the Python range() method. Returns the range [ - start, stop ) at the requested step. Each element will be a - UnitDbl object. - - = INPUT VARIABLES - - start The starting value of the range. - - stop The stop value of the range. - - step Optional step to use. If set to None, then a UnitDbl of - value 1 w/ the units of the start is used. - - = RETURN VALUE - - Returns a list contianing the requested UnitDbl values. - """ - if step is None: - step = UnitDbl( 1, start._units ) - - elems = [] - - i = 0 - while True: - d = start + i * step - if d >= stop: - break - - elems.append( d ) - i += 1 - - return elems - - range = staticmethod( range ) - - #----------------------------------------------------------------------- - def checkUnits( self, units ): - """Check to see if some units are valid. - - = ERROR CONDITIONS - - If the input units are not in the allowed list, an error is thrown. - - = INPUT VARIABLES - - units The string name of the units to check. - """ - if units not in self.allowed: - msg = "Input units '%s' are not one of the supported types of %s" \ - % ( units, str( list(six.iterkeys(self.allowed)) ) ) - raise ValueError( msg ) - - #----------------------------------------------------------------------- - def checkSameUnits( self, rhs, func ): - """Check to see if units are the same. - - = ERROR CONDITIONS - - If the units of the rhs UnitDbl are not the same as our units, - an error is thrown. - - = INPUT VARIABLES - - rhs The UnitDbl to check for the same units - - func The name of the function doing the check. - """ - if self._units != rhs._units: - msg = "Cannot %s units of different types.\n" \ - "LHS: %s\n" \ - "RHS: %s" % ( func, self._units, rhs._units ) - raise ValueError( msg ) - -#=========================================================================== + """Class UnitDbl in development. + """ + # ---------------------------------------------------------------------- + # Unit conversion table. Small subset of the full one but enough + # to test the required functions. First field is a scale factor to + # convert the input units to the units of the second field. Only + # units in this table are allowed. + allowed = { + "m": (0.001, "km"), + "km": (1, "km"), + "mile": (1.609344, "km"), + + "rad": (1, "rad"), + "deg": (1.745329251994330e-02, "rad"), + + "sec": (1, "sec"), + "min": (60.0, "sec"), + "hour": (3600, "sec"), + } + + _types = { + "km": "distance", + "rad": "angle", + "sec": "time", + } + + # ---------------------------------------------------------------------- + def __init__(self, value, units): + """Create a new UnitDbl object. + + Units are internally converted to km, rad, and sec. The only + valid inputs for units are [m, km, mile, rad, deg, sec, min, hour]. + + The field UnitDbl.value will contain the converted value. Use + the convert() method to get a specific type of units back. + + = ERROR CONDITIONS + - If the input units are not in the allowed list, an error is thrown. + + = INPUT VARIABLES + - value The numeric value of the UnitDbl. + - units The string name of the units the value is in. + """ + self.checkUnits(units) + + data = self.allowed[units] + self._value = float(value * data[0]) + self._units = data[1] + + # ---------------------------------------------------------------------- + def convert(self, units): + """Convert the UnitDbl to a specific set of units. + + = ERROR CONDITIONS + - If the input units are not in the allowed list, an error is thrown. + + = INPUT VARIABLES + - units The string name of the units to convert to. + + = RETURN VALUE + - Returns the value of the UnitDbl in the requested units as a floating + point number. + """ + if self._units == units: + return self._value + + self.checkUnits(units) + + data = self.allowed[units] + if self._units != data[1]: + msg = "Error trying to convert to different units.\n" \ + " Invalid conversion requested.\n" \ + " UnitDbl: %s\n" \ + " Units: %s\n" % (str(self), units) + raise ValueError(msg) + + return self._value / data[0] + + # ---------------------------------------------------------------------- + def __abs__(self): + """Return the absolute value of this UnitDbl.""" + return UnitDbl(abs(self._value), self._units) + + # ---------------------------------------------------------------------- + def __neg__(self): + """Return the negative value of this UnitDbl.""" + return UnitDbl(-self._value, self._units) + + # ---------------------------------------------------------------------- + def __nonzero__(self): + """Test a UnitDbl for a non-zero value. + + = RETURN VALUE + - Returns true if the value is non-zero. + """ + if six.PY3: + return self._value.__bool__() + else: + return self._value.__nonzero__() + + if six.PY3: + __bool__ = __nonzero__ + + # ---------------------------------------------------------------------- + def __eq__(self, rhs): + return self._cmp(rhs, operator.eq) + + def __ne__(self, rhs): + return self._cmp(rhs, operator.ne) + + def __lt__(self, rhs): + return self._cmp(rhs, operator.lt) + + def __le__(self, rhs): + return self._cmp(rhs, operator.le) + + def __gt__(self, rhs): + return self._cmp(rhs, operator.gt) + + def __ge__(self, rhs): + return self._cmp(rhs, operator.ge) + + def _cmp(self, rhs, op): + """Compare two UnitDbl's. + + = ERROR CONDITIONS + - If the input rhs units are not the same as our units, + an error is thrown. + + = INPUT VARIABLES + - rhs The UnitDbl to compare against. + - op The function to do the comparison + + = RETURN VALUE + - Returns op(self, rhs) + """ + self.checkSameUnits(rhs, "compare") + return op(self._value, rhs._value) + + # ---------------------------------------------------------------------- + def __add__(self, rhs): + """Add two UnitDbl's. + + = ERROR CONDITIONS + - If the input rhs units are not the same as our units, + an error is thrown. + + = INPUT VARIABLES + - rhs The UnitDbl to add. + + = RETURN VALUE + - Returns the sum of ourselves and the input UnitDbl. + """ + self.checkSameUnits(rhs, "add") + return UnitDbl(self._value + rhs._value, self._units) + + # ---------------------------------------------------------------------- + def __sub__(self, rhs): + """Subtract two UnitDbl's. + + = ERROR CONDITIONS + - If the input rhs units are not the same as our units, + an error is thrown. + + = INPUT VARIABLES + - rhs The UnitDbl to subtract. + + = RETURN VALUE + - Returns the difference of ourselves and the input UnitDbl. + """ + self.checkSameUnits(rhs, "subtract") + return UnitDbl(self._value - rhs._value, self._units) + + # ---------------------------------------------------------------------- + def __mul__(self, rhs): + """Scale a UnitDbl by a value. + + = INPUT VARIABLES + - rhs The scalar to multiply by. + + = RETURN VALUE + - Returns the scaled UnitDbl. + """ + return UnitDbl(self._value * rhs, self._units) + + # ---------------------------------------------------------------------- + def __rmul__(self, lhs): + """Scale a UnitDbl by a value. + + = INPUT VARIABLES + - lhs The scalar to multiply by. + + = RETURN VALUE + - Returns the scaled UnitDbl. + """ + return UnitDbl(self._value * lhs, self._units) + + # ---------------------------------------------------------------------- + def __div__(self, rhs): + """Divide a UnitDbl by a value. + + = INPUT VARIABLES + - rhs The scalar to divide by. + + = RETURN VALUE + - Returns the scaled UnitDbl. + """ + return UnitDbl(self._value / rhs, self._units) + + # ---------------------------------------------------------------------- + def __str__(self): + """Print the UnitDbl.""" + return "%g *%s" % (self._value, self._units) + + # ---------------------------------------------------------------------- + def __repr__(self): + """Print the UnitDbl.""" + return "UnitDbl(%g, '%s')" % (self._value, self._units) + + # ---------------------------------------------------------------------- + def type(self): + """Return the type of UnitDbl data.""" + return self._types[self._units] + + # ---------------------------------------------------------------------- + def range(start, stop, step=None): + """Generate a range of UnitDbl objects. + + Similar to the Python range() method. Returns the range [ + start, stop) at the requested step. Each element will be a + UnitDbl object. + + = INPUT VARIABLES + - start The starting value of the range. + - stop The stop value of the range. + - step Optional step to use. If set to None, then a UnitDbl of + value 1 w/ the units of the start is used. + + = RETURN VALUE + - Returns a list contianing the requested UnitDbl values. + """ + if step is None: + step = UnitDbl(1, start._units) + + elems = [] + + i = 0 + while True: + d = start + i * step + if d >= stop: + break + + elems.append(d) + i += 1 + + return elems + + range = staticmethod(range) + + # ---------------------------------------------------------------------- + def checkUnits(self, units): + """Check to see if some units are valid. + + = ERROR CONDITIONS + - If the input units are not in the allowed list, an error is thrown. + + = INPUT VARIABLES + - units The string name of the units to check. + """ + if units not in self.allowed: + msg = "Input units '%s' are not one of the supported types of %s" \ + % (units, str(list(six.iterkeys(self.allowed)))) + raise ValueError(msg) + + # ---------------------------------------------------------------------- + def checkSameUnits(self, rhs, func): + """Check to see if units are the same. + + = ERROR CONDITIONS + - If the units of the rhs UnitDbl are not the same as our units, + an error is thrown. + + = INPUT VARIABLES + - rhs The UnitDbl to check for the same units + - func The name of the function doing the check. + """ + if self._units != rhs._units: + msg = "Cannot %s units of different types.\n" \ + "LHS: %s\n" \ + "RHS: %s" % (func, self._units, rhs._units) + raise ValueError(msg) + +# ========================================================================== diff --git a/lib/matplotlib/testing/jpl_units/UnitDblConverter.py b/lib/matplotlib/testing/jpl_units/UnitDblConverter.py index 41fe8e19a9b2..f43fd581d649 100644 --- a/lib/matplotlib/testing/jpl_units/UnitDblConverter.py +++ b/lib/matplotlib/testing/jpl_units/UnitDblConverter.py @@ -1,13 +1,12 @@ -#=========================================================================== +# ========================================================================== # # UnitDblConverter # -#=========================================================================== - +# ========================================================================== """UnitDblConverter module containing class UnitDblConverter.""" -#=========================================================================== +# ========================================================================== # Place all imports after here. # from __future__ import (absolute_import, division, print_function, @@ -21,139 +20,140 @@ from matplotlib.cbook import iterable # # Place all imports before here. -#=========================================================================== +# ========================================================================== -__all__ = [ 'UnitDblConverter' ] +__all__ = ['UnitDblConverter'] -#=========================================================================== +# ========================================================================== # A special function for use with the matplotlib FuncFormatter class # for formatting axes with radian units. # This was copied from matplotlib example code. -def rad_fn(x, pos = None ): - """Radian function formatter.""" - n = int((x / np.pi) * 2.0 + 0.25) - if n == 0: - return str(x) - elif n == 1: - return r'$\pi/2$' - elif n == 2: - return r'$\pi$' - elif n % 2 == 0: - return r'$%s\pi$' % (n/2,) - else: - return r'$%s\pi/2$' % (n,) - -#=========================================================================== -class UnitDblConverter( units.ConversionInterface ): - """: A matplotlib converter class. Provides matplotlib conversion - functionality for the Monte UnitDbl class. - """ - - # default for plotting - defaults = { - "distance" : 'km', - "angle" : 'deg', - "time" : 'sec', - } - - #------------------------------------------------------------------------ - @staticmethod - def axisinfo( unit, axis ): - """: Returns information on how to handle an axis that has Epoch data. - - = INPUT VARIABLES - - unit The units to use for a axis with Epoch data. - - = RETURN VALUE - - Returns a matplotlib AxisInfo data structure that contains - minor/major formatters, major/minor locators, and default - label information. - """ - # Delay-load due to circular dependencies. - import matplotlib.testing.jpl_units as U - - # Check to see if the value used for units is a string unit value - # or an actual instance of a UnitDbl so that we can use the unit - # value for the default axis label value. - if ( unit ): - if ( isinstance( unit, six.string_types ) ): - label = unit - else: - label = unit.label() - else: - label = None - - if ( label == "deg" ) and isinstance( axis.axes, polar.PolarAxes ): - # If we want degrees for a polar plot, use the PolarPlotFormatter - majfmt = polar.PolarAxes.ThetaFormatter() - else: - majfmt = U.UnitDblFormatter( useOffset = False ) - - return units.AxisInfo( majfmt = majfmt, label = label ) - - #------------------------------------------------------------------------ - @staticmethod - def convert( value, unit, axis ): - """: Convert value using unit to a float. If value is a sequence, return - the converted sequence. - - = INPUT VARIABLES - - value The value or list of values that need to be converted. - - unit The units to use for a axis with Epoch data. - - = RETURN VALUE - - Returns the value parameter converted to floats. - """ - # Delay-load due to circular dependencies. - import matplotlib.testing.jpl_units as U - - isNotUnitDbl = True - - if ( iterable(value) and not isinstance(value, six.string_types) ): - if ( len(value) == 0 ): - return [] - else: - return [ UnitDblConverter.convert( x, unit, axis ) for x in value ] - - # We need to check to see if the incoming value is actually a UnitDbl and - # set a flag. If we get an empty list, then just return an empty list. - if ( isinstance(value, U.UnitDbl) ): - isNotUnitDbl = False - - # If the incoming value behaves like a number, but is not a UnitDbl, - # then just return it because we don't know how to convert it - # (or it is already converted) - if ( isNotUnitDbl and units.ConversionInterface.is_numlike( value ) ): - return value - - # If no units were specified, then get the default units to use. - if ( unit == None ): - unit = UnitDblConverter.default_units( value, axis ) - - # Convert the incoming UnitDbl value/values to float/floats - if isinstance( axis.axes, polar.PolarAxes ) and value.type() == "angle": - # Guarantee that units are radians for polar plots. - return value.convert( "rad" ) - - return value.convert( unit ) - - #------------------------------------------------------------------------ - @staticmethod - def default_units( value, axis ): - """: Return the default unit for value, or None. - - = INPUT VARIABLES - - value The value or list of values that need units. - - = RETURN VALUE - - Returns the default units to use for value. - Return the default unit for value, or None. - """ - - # Determine the default units based on the user preferences set for - # default units when printing a UnitDbl. - if ( iterable(value) and not isinstance(value, six.string_types) ): - return UnitDblConverter.default_units( value[0], axis ) - else: - return UnitDblConverter.defaults[ value.type() ] +def rad_fn(x, pos=None): + """Radian function formatter.""" + n = int((x / np.pi) * 2.0 + 0.25) + if n == 0: + return str(x) + elif n == 1: + return r'$\pi/2$' + elif n == 2: + return r'$\pi$' + elif n % 2 == 0: + return r'$%s\pi$' % (n/2,) + else: + return r'$%s\pi/2$' % (n,) + + +# ========================================================================== +class UnitDblConverter(units.ConversionInterface): + """: A matplotlib converter class. Provides matplotlib conversion + functionality for the Monte UnitDbl class. + """ + # default for plotting + defaults = { + "distance": 'km', + "angle": 'deg', + "time": 'sec', + } + + # ----------------------------------------------------------------------- + @staticmethod + def axisinfo(unit, axis): + """: Returns information on how to handle an axis that has Epoch data. + + = INPUT VARIABLES + - unit The units to use for a axis with Epoch data. + + = RETURN VALUE + - Returns a matplotlib AxisInfo data structure that contains + minor/major formatters, major/minor locators, and default + label information. + """ + # Delay-load due to circular dependencies. + import matplotlib.testing.jpl_units as U + + # Check to see if the value used for units is a string unit value + # or an actual instance of a UnitDbl so that we can use the unit + # value for the default axis label value. + if (unit): + if (isinstance(unit, six.string_types)): + label = unit + else: + label = unit.label() + else: + label = None + + if (label == "deg") and isinstance(axis.axes, polar.PolarAxes): + # If we want degrees for a polar plot, use the PolarPlotFormatter + majfmt = polar.PolarAxes.ThetaFormatter() + else: + majfmt = U.UnitDblFormatter(useOffset=False) + + return units.AxisInfo(majfmt=majfmt, label=label) + + # ----------------------------------------------------------------------- + @staticmethod + def convert(value, unit, axis): + """: Convert value using unit to a float. If value is a sequence, return + the converted sequence. + + = INPUT VARIABLES + - value The value or list of values that need to be converted. + - unit The units to use for a axis with Epoch data. + + = RETURN VALUE + - Returns the value parameter converted to floats. + """ + # Delay-load due to circular dependencies. + import matplotlib.testing.jpl_units as U + + isNotUnitDbl = True + + if (iterable(value) and not isinstance(value, six.string_types)): + if (len(value) == 0): + return [] + else: + return [UnitDblConverter.convert(x, unit, axis) for x in value] + + # We need to check to see if the incoming value is actually a + # UnitDbl and set a flag. If we get an empty list, then just + # return an empty list. + if (isinstance(value, U.UnitDbl)): + isNotUnitDbl = False + + # If the incoming value behaves like a number, but is not a UnitDbl, + # then just return it because we don't know how to convert it + # (or it is already converted) + if (isNotUnitDbl and units.ConversionInterface.is_numlike(value)): + return value + + # If no units were specified, then get the default units to use. + if unit is None: + unit = UnitDblConverter.default_units(value, axis) + + # Convert the incoming UnitDbl value/values to float/floats + if isinstance(axis.axes, polar.PolarAxes) and value.type() == "angle": + # Guarantee that units are radians for polar plots. + return value.convert("rad") + + return value.convert(unit) + + # ----------------------------------------------------------------------- + @staticmethod + def default_units(value, axis): + """: Return the default unit for value, or None. + + = INPUT VARIABLES + - value The value or list of values that need units. + + = RETURN VALUE + - Returns the default units to use for value. + Return the default unit for value, or None. + """ + + # Determine the default units based on the user preferences set for + # default units when printing a UnitDbl. + if (iterable(value) and not isinstance(value, six.string_types)): + return UnitDblConverter.default_units(value[0], axis) + else: + return UnitDblConverter.defaults[value.type()] diff --git a/lib/matplotlib/testing/jpl_units/UnitDblFormatter.py b/lib/matplotlib/testing/jpl_units/UnitDblFormatter.py index 269044748c58..de2fb3fafacb 100644 --- a/lib/matplotlib/testing/jpl_units/UnitDblFormatter.py +++ b/lib/matplotlib/testing/jpl_units/UnitDblFormatter.py @@ -1,47 +1,46 @@ -#=========================================================================== +# ========================================================================== # # UnitDblFormatter # -#=========================================================================== +# ========================================================================== """UnitDblFormatter module containing class UnitDblFormatter.""" -#=========================================================================== +# ========================================================================== # Place all imports after here. # from __future__ import (absolute_import, division, print_function, unicode_literals) -import six - import matplotlib.ticker as ticker # # Place all imports before here. -#=========================================================================== - -__all__ = [ 'UnitDblFormatter' ] - -#=========================================================================== -class UnitDblFormatter( ticker.ScalarFormatter ): - """The formatter for UnitDbl data types. This allows for formatting - with the unit string. - """ - def __init__( self, *args, **kwargs ): - 'The arguments are identical to matplotlib.ticker.ScalarFormatter.' - ticker.ScalarFormatter.__init__( self, *args, **kwargs ) - - def __call__( self, x, pos = None ): - 'Return the format for tick val x at position pos' - if len(self.locs) == 0: - return '' - else: - return '{:.12}'.format(x) - - def format_data_short( self, value ): - "Return the value formatted in 'short' format." - return '{:.12}'.format(value) - - def format_data( self, value ): - "Return the value formatted into a string." - return '{:.12}'.format(value) +# ========================================================================== + +__all__ = ['UnitDblFormatter'] + + +# ========================================================================== +class UnitDblFormatter(ticker.ScalarFormatter): + """The formatter for UnitDbl data types. This allows for formatting + with the unit string. + """ + def __init__(self, *args, **kwargs): + 'The arguments are identical to matplotlib.ticker.ScalarFormatter.' + ticker.ScalarFormatter.__init__(self, *args, **kwargs) + + def __call__(self, x, pos=None): + 'Return the format for tick val x at position pos' + if len(self.locs) == 0: + return '' + else: + return '{:.12}'.format(x) + + def format_data_short(self, value): + "Return the value formatted in 'short' format." + return '{:.12}'.format(value) + + def format_data(self, value): + "Return the value formatted into a string." + return '{:.12}'.format(value) diff --git a/lib/matplotlib/testing/jpl_units/__init__.py b/lib/matplotlib/testing/jpl_units/__init__.py index 074af4e83589..54c96d70e020 100644 --- a/lib/matplotlib/testing/jpl_units/__init__.py +++ b/lib/matplotlib/testing/jpl_units/__init__.py @@ -1,4 +1,4 @@ -#======================================================================= +# ====================================================================== """ This is a sample set of units for use with testing unit conversion @@ -30,12 +30,10 @@ in one frame may not be the same in another. """ -#======================================================================= +# ====================================================================== from __future__ import (absolute_import, division, print_function, unicode_literals) -import six - from .Duration import Duration from .Epoch import Epoch from .UnitDbl import UnitDbl @@ -46,7 +44,7 @@ from .UnitDblFormatter import UnitDblFormatter -#======================================================================= +# ====================================================================== __version__ = "1.0" @@ -58,31 +56,33 @@ 'UnitDblFormatter', ] -#======================================================================= + +# ====================================================================== def register(): - """Register the unit conversion classes with matplotlib.""" - import matplotlib.units as mplU + """Register the unit conversion classes with matplotlib.""" + import matplotlib.units as mplU - mplU.registry[ str ] = StrConverter() - mplU.registry[ Epoch ] = EpochConverter() - mplU.registry[ Duration ] = EpochConverter() - mplU.registry[ UnitDbl ] = UnitDblConverter() + mplU.registry[str] = StrConverter() + mplU.registry[Epoch] = EpochConverter() + mplU.registry[Duration] = EpochConverter() + mplU.registry[UnitDbl] = UnitDblConverter() -#======================================================================= +# ====================================================================== # Some default unit instances + # Distances -m = UnitDbl( 1.0, "m" ) -km = UnitDbl( 1.0, "km" ) -mile = UnitDbl( 1.0, "mile" ) +m = UnitDbl(1.0, "m") +km = UnitDbl(1.0, "km") +mile = UnitDbl(1.0, "mile") # Angles -deg = UnitDbl( 1.0, "deg" ) -rad = UnitDbl( 1.0, "rad" ) +deg = UnitDbl(1.0, "deg") +rad = UnitDbl(1.0, "rad") # Time -sec = UnitDbl( 1.0, "sec" ) -min = UnitDbl( 1.0, "min" ) -hr = UnitDbl( 1.0, "hour" ) -day = UnitDbl( 24.0, "hour" ) -sec = UnitDbl( 1.0, "sec" ) +sec = UnitDbl(1.0, "sec") +min = UnitDbl(1.0, "min") +hr = UnitDbl(1.0, "hour") +day = UnitDbl(24.0, "hour") +sec = UnitDbl(1.0, "sec") From c32b6db8c0055d161ccc592779a0440158b22d33 Mon Sep 17 00:00:00 2001 From: David Stansby Date: Mon, 5 Mar 2018 19:08:21 +0000 Subject: [PATCH 0282/1161] Small fixes --- lib/matplotlib/axis.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/axis.py b/lib/matplotlib/axis.py index b79d5d07f1ec..d1322c37fc78 100644 --- a/lib/matplotlib/axis.py +++ b/lib/matplotlib/axis.py @@ -60,16 +60,16 @@ class Tick(artist.Artist): Determines whether to draw the tickline. tick1On : bool - Determines whether to draw the 1st tickline. + Determines whether to draw the first tickline. tick2On : bool - Determines whether to draw the 2nd tickline. + Determines whether to draw the second tickline. label1On : bool - Determines whether to draw tick label. + Determines whether to draw the first tick label. label2On : bool - Determines whether to draw tick label. + Determines whether to draw the second tick label. """ def __init__(self, axes, loc, label, size=None, # points From 90c30a0a677d0d924159b23407e9693df575996c Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Mon, 5 Mar 2018 13:00:55 -0800 Subject: [PATCH 0283/1161] Improve lazy-ticks realization. --- lib/matplotlib/axis.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/axis.py b/lib/matplotlib/axis.py index 5163c7833f26..ddc373d50dae 100644 --- a/lib/matplotlib/axis.py +++ b/lib/matplotlib/axis.py @@ -677,11 +677,20 @@ def __get__(self, instance, cls): if instance is None: return self else: + # instance._get_tick() can itself try to access the majorTicks + # attribute (e.g. in certain projection classes which override + # e.g. get_xaxis_text1_transform). In order to avoid infinite + # recursion, first set the majorTicks on the instance to an empty + # list, then create the tick and append it. if self._major: - instance.majorTicks = [instance._get_tick(major=True)] + instance.majorTicks = [] + tick = instance._get_tick(major=True) + instance.majorTicks.append(tick) return instance.majorTicks else: - instance.minorTicks = [instance._get_tick(major=False)] + instance.minorTicks = [] + tick = instance._get_tick(major=False) + instance.minorTicks.append(tick) return instance.minorTicks From 47729ee7a94b081f45489a13398d892ce6e624ea Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Wed, 28 Feb 2018 17:36:44 -0800 Subject: [PATCH 0284/1161] Stop checking wx version. mpl3 wx supports any wxpython that does support Py3 (i.e., wwpython>=4), so we can drop the version checks. --- .travis.yml | 2 +- doc/sphinxext/mock_gui_toolkits.py | 17 +++++------ lib/matplotlib/backends/wx_compat.py | 44 ++++++---------------------- setupext.py | 21 ------------- tutorials/introductory/usage.py | 5 ++-- 5 files changed, 19 insertions(+), 70 deletions(-) diff --git a/.travis.yml b/.travis.yml index 852837464d6c..d6cc99d531d9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -153,7 +153,7 @@ install: python -c 'import PyQt5.QtCore' && echo 'PyQt5 is available' || echo 'PyQt5 is not available' - python -mpip install -U --pre \ + python -mpip install -U \ --no-index -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-14.04 \ wxPython && python -c 'import wx' && diff --git a/doc/sphinxext/mock_gui_toolkits.py b/doc/sphinxext/mock_gui_toolkits.py index 9e786f318782..bb378e77382c 100644 --- a/doc/sphinxext/mock_gui_toolkits.py +++ b/doc/sphinxext/mock_gui_toolkits.py @@ -118,15 +118,12 @@ class ToolBar(object): class Frame(object): pass - VERSION_STRING = '2.9' - def setup(app): - sys.modules['cairocffi'] = MyCairoCffi() - sys.modules['PyQt4'] = MyPyQt4() - sys.modules['sip'] = MySip() - sys.modules['wx'] = MyWX() - sys.modules['wxversion'] = MagicMock() - - metadata = {'parallel_read_safe': True, 'parallel_write_safe': True} - return metadata + sys.modules.update( + cairocffi=MyCairoCffi(), + PyQt4=MyPyQt4(), + sip=MySip(), + wx=MyWX(), + ) + return {'parallel_read_safe': True, 'parallel_write_safe': True} diff --git a/lib/matplotlib/backends/wx_compat.py b/lib/matplotlib/backends/wx_compat.py index 9dc4a87fffe1..87f6312299f4 100644 --- a/lib/matplotlib/backends/wx_compat.py +++ b/lib/matplotlib/backends/wx_compat.py @@ -11,27 +11,12 @@ unicode_literals) import six -from distutils.version import StrictVersion, LooseVersion -missingwx = "Matplotlib backend_wx and backend_wxagg require wxPython>=2.9" +import wx +backend_version = wx.VERSION_STRING +is_phoenix = 'phoenix' in wx.PlatformInfo -try: - import wx - backend_version = wx.VERSION_STRING - is_phoenix = 'phoenix' in wx.PlatformInfo -except ImportError: - raise ImportError(missingwx) - -try: - wx_version = StrictVersion(wx.VERSION_STRING) -except ValueError: - wx_version = LooseVersion(wx.VERSION_STRING) - -# Ensure we have the correct version imported -if wx_version < str("2.9"): - raise ImportError(missingwx) - if is_phoenix: # define all the wxPython phoenix stuff @@ -157,22 +142,11 @@ def _AddTool(parent, wx_ids, text, bmp, tooltip_text): else: add_tool = parent.DoAddTool - if not is_phoenix or wx_version >= str("4.0.0b2"): - # NOTE: when support for Phoenix prior to 4.0.0b2 is dropped then - # all that is needed is this clause, and the if and else clause can - # be removed. - kwargs = dict(label=text, - bitmap=bmp, - bmpDisabled=wx.NullBitmap, - shortHelp=text, - longHelp=tooltip_text, - kind=kind) - else: - kwargs = dict(label=text, - bitmap=bmp, - bmpDisabled=wx.NullBitmap, - shortHelpString=text, - longHelpString=tooltip_text, - kind=kind) + kwargs = dict(label=text, + bitmap=bmp, + bmpDisabled=wx.NullBitmap, + shortHelp=text, + longHelp=tooltip_text, + kind=kind) return add_tool(wx_ids[text], **kwargs) diff --git a/setupext.py b/setupext.py index 37679d9f3bb3..7221a8dc658f 100644 --- a/setupext.py +++ b/setupext.py @@ -1567,33 +1567,12 @@ class BackendWxAgg(OptionalBackendPackage): name = "wxagg" def check_requirements(self): - wxversioninstalled = True - try: - import wxversion - except ImportError: - wxversioninstalled = False - - if wxversioninstalled: - try: - _wx_ensure_failed = wxversion.AlreadyImportedError - except AttributeError: - _wx_ensure_failed = wxversion.VersionError - - try: - wxversion.ensureMinimal('2.9') - except _wx_ensure_failed: - pass - try: import wx backend_version = wx.VERSION_STRING except ImportError: raise CheckFailed("requires wxPython") - if not is_min_version(backend_version, "2.9"): - raise CheckFailed( - "Requires wxPython 2.9, found %s" % backend_version) - return "version %s" % backend_version diff --git a/tutorials/introductory/usage.py b/tutorials/introductory/usage.py index 5d56b9f4a3b6..fde76daf7532 100644 --- a/tutorials/introductory/usage.py +++ b/tutorials/introductory/usage.py @@ -437,9 +437,8 @@ def my_plotter(ax, data1, data2, param_dict): # Qt4Agg Agg rendering to a :term:`Qt4` canvas (requires PyQt4_ or # ``pyside``). This backend can be activated in IPython with # ``%matplotlib qt4``. -# WXAgg Agg rendering to a :term:`wxWidgets` canvas (requires wxPython_; -# v4.0 (in beta) is required for Python3). This backend can be -# activated in IPython with ``%matplotlib wx``.# +# WXAgg Agg rendering to a :term:`wxWidgets` canvas (requires wxPython_ 4). +# This backend can be activated in IPython with ``%matplotlib wx``. # ========= ================================================================ # # .. _`Anti-Grain Geometry`: http://antigrain.com/ From e2c151423c520d7009221c7fce8d179dc95c9275 Mon Sep 17 00:00:00 2001 From: stone Date: Mon, 5 Mar 2018 20:08:29 -0500 Subject: [PATCH 0285/1161] push fix code --- lib/mpl_toolkits/mplot3d/axes3d.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/mpl_toolkits/mplot3d/axes3d.py b/lib/mpl_toolkits/mplot3d/axes3d.py index 3f73f5e804a1..b6255d862fb3 100644 --- a/lib/mpl_toolkits/mplot3d/axes3d.py +++ b/lib/mpl_toolkits/mplot3d/axes3d.py @@ -1568,6 +1568,10 @@ def plot(self, xs, ys, *args, **kwargs): for line in lines: art3d.line_2d_to_3d(line, zs=zs, zdir=zdir) + # when transform from 2d to 3d, dataset changes, update the dataset + # for setting axes bounds + (xs, ys, zs) = art3d.juggle_axes(xs, ys, zs, zdir) + self.auto_scale_xyz(xs, ys, zs, had_data) return lines From 3586eb3bedda91687e2f505fc8dc4633f1a28c32 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Mon, 5 Mar 2018 04:13:31 -0800 Subject: [PATCH 0286/1161] Simplify venv docs. Now that venv is in stdlib, we can just recommend it instead of suggesting a bunch of workarounds for virtualenv on OSX. In the general venv docs, rework the first paragraph, which was phrased a bit awkwardly; move vext above virtualenv because the former also works in venvs (which again should be preferred). --- doc/faq/osx_framework.rst | 138 +++++++------------------------------ doc/faq/virtualenv_faq.rst | 43 ++++++------ 2 files changed, 44 insertions(+), 137 deletions(-) diff --git a/doc/faq/osx_framework.rst b/doc/faq/osx_framework.rst index 7639eb5429b2..999ec680cccc 100644 --- a/doc/faq/osx_framework.rst +++ b/doc/faq/osx_framework.rst @@ -7,8 +7,6 @@ Working with Matplotlib on OSX .. contents:: :backlinks: none -.. highlight:: bash - .. _osxframework_introduction: Introduction @@ -16,126 +14,38 @@ Introduction On OSX, two different types of Python builds exist: a regular build and a framework build. In order to interact correctly with OSX through the native -GUI frameworks you need a framework build of Python. At the time of writing +GUI frameworks, you need a framework build of Python. At the time of writing the ``macosx`` and ``WXAgg`` backends require a framework build to function -correctly. This can result in issues for a Python installation not build as a -framework and may also happen in virtual envs and when using (Ana)Conda. From +correctly. This can result in issues for a Python installation not build as a +framework and may also happen in virtual envs and when using (Ana)conda. From Matplotlib 1.5 onwards, both backends check that a framework build is available -and fail if a non framework build is found. - -Without this check a partially functional figure is created. -Among the issues with it is that it is produced in the background and -cannot be put in front of any other window. Several solutions and work -arounds exist see below. +and fail if a non framework build is found. (Without this check a partially +functional figure is created. In particular, it is produced in the background +and cannot be put in front of any other window.) -Short version -============= - -VirtualEnv +virtualenv ---------- -If you are on Python 3, use -`venv `_ -instead of `virtualenv `_:: - - python -m venv my-virtualenv - source my-virtualenv/bin/activate +In a virtualenv_, a non-framework build is used even when the environment is +created from a framework build (`virtualenv bug #54`_, `virtualenv bug #609`_). -Otherwise you will need one of the workarounds below. +The solution is to not use virtualenv, but instead the stdlib's venv_, which +provides similar functionality but without exhibiting this issue. -Pyenv ------ - -If you are using pyenv and virtualenv you can enable your python version to be installed as a framework:: +If you absolutely need to use virtualenv rather than venv, then from within +the environment you can set the ``PYTHONHOME`` environment variable to +``$VIRTUAL_ENV``, then invoke Python using the full path to the framework build +(typically ``/usr/local/bin/python``). - PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install x.x.x +.. _virtualenv: https://virtualenv.pypa.io/ +.. _virtualenv bug #54: https://github.com/pypa/virtualenv/issues/54 +.. _virtualenv bug #609: https://github.com/pypa/virtualenv/issues/609 +.. _venv: https://docs.python.org/3/library/venv.html -Conda +conda ----- -The default python provided in (Ana)Conda is not a framework -build. However, the Conda developers have made it easy to install -a framework build in both the main environment and in Conda envs. -To use this install python.app ``conda install python.app`` and -use ``pythonw`` rather than ``python`` - - -Long version -============ - -Unfortunately virtualenv creates a non -framework build even if created from a framework build of Python. -As documented above you can use venv as an alternative on Python 3. - -The issue has been reported on the virtualenv bug tracker `here -`__ and `here -`__ - -Until this is fixed, one of the following workarounds can be used: - -``PYTHONHOME`` Function ------------------------ - -The best known work around is to use the non -virtualenv python along with the PYTHONHOME environment variable. -This can be done by defining a function in your ``.bashrc`` using :: - - function frameworkpython { - if [[ ! -z "$VIRTUAL_ENV" ]]; then - PYTHONHOME=$VIRTUAL_ENV /usr/local/bin/python "$@" - else - /usr/local/bin/python "$@" - fi - } - -This function can then be used in all of your virtualenvs without having to -fix every single one of them. - -With this in place you can run ``frameworkpython`` to get an interactive -framework build within the virtualenv. To run a script you can do -``frameworkpython test.py`` where ``test.py`` is a script that requires a -framework build. To run an interactive ``IPython`` session with the framework -build within the virtual environment you can do ``frameworkpython -m IPython`` - -``PYTHONHOME`` and Jupyter -^^^^^^^^^^^^^^^^^^^^^^^^^^ - -This approach can be followed even if using `Jupyter `_ -notebooks: you just need to setup a kernel with the suitable ``PYTHONHOME`` -definition. The `jupyter-virtualenv-osx `_ -script automates the creation of such a kernel. - - -``PYTHONHOME`` Script -^^^^^^^^^^^^^^^^^^^^^ - -An alternative work around borrowed from the `WX wiki -`_, is to use the non -virtualenv python along with the PYTHONHOME environment variable. This can be -implemented in a script as below. To use this modify ``PYVER`` and -``PATHTOPYTHON`` and put the script in the virtualenv bin directory i.e. -``PATHTOVENV/bin/frameworkpython`` :: - - #!/bin/bash - - # what real Python executable to use - PYVER=2.7 - PATHTOPYTHON=/usr/local/bin/ - PYTHON=${PATHTOPYTHON}python${PYVER} - - # find the root of the virtualenv, it should be the parent of the dir this script is in - ENV=`$PYTHON -c "import os; print(os.path.abspath(os.path.join(os.path.dirname(\"$0\"), '..')))"` - - # now run Python with the virtualenv set as Python's HOME - export PYTHONHOME=$ENV - exec $PYTHON "$@" - -With this in place you can run ``frameworkpython`` as above but will need to add this script -to every virtualenv - -PythonW Compiler ----------------- - -In addition -`virtualenv-pythonw-osx `_ -provides an alternative workaround which may be used to solve the issue. +The default python provided in (Ana)conda is not a framework build. However, +a framework build can easily be installed, both in the main environment and +in conda envs: install python.app (``conda install python.app``) and use +``pythonw`` rather than ``python`` diff --git a/doc/faq/virtualenv_faq.rst b/doc/faq/virtualenv_faq.rst index ad21c1e22baa..70a45fda5a8c 100644 --- a/doc/faq/virtualenv_faq.rst +++ b/doc/faq/virtualenv_faq.rst @@ -4,13 +4,11 @@ Working with Matplotlib in Virtual environments *********************************************** -When running Matplotlib in a `virtual environment -`_ you may discover a few issues. -Matplotlib itself has no issue with virtual environments. However, some of -the external GUI frameworks that Matplotlib uses for interactive figures may -be tricky to install in a virtual environment. Everything below assumes some -familiarity with the Matplotlib backends as found in :ref:`What is a backend? -`. +While Matplotlib itself runs fine in a `virtual environment +`_ (venv), some of the GUI +frameworks that Matplotlib uses for interactive figures are tricky to install +in a venv. Everything below assumes some familiarity with the Matplotlib +backends as found in :ref:`What is a backend? `. If you only use the IPython and Jupyter Notebook's ``inline`` and ``notebook`` backends, or non-interactive backends, you should not have any issues and can @@ -26,33 +24,23 @@ Otherwise, the situation (at the time of writing) is as follows: ============= ========================== ================================= GUI framework pip-installable? conda or conda-forge-installable? ============= ========================== ================================= -PyQt5 on Python>=3.5 yes +PyQt5 yes yes ------------- -------------------------- --------------------------------- PyQt4 PySide: on Windows and OSX yes ------------- -------------------------- --------------------------------- PyGObject no on Linux ------------- -------------------------- --------------------------------- -PyGTK no no -------------- -------------------------- --------------------------------- wxPython yes [#]_ yes ============= ========================== ================================= .. [#] OSX and Windows wheels available on PyPI. Linux wheels available but not on PyPI, see https://wxpython.org/pages/downloads/. -In other cases, you need to install the package in the global (system) -site-packages, and somehow make it available from within the virtual -environment. This can be achieved by any of the following methods (in all -cases, the system-wide Python and the virtualenv Python must be of the same -version): - -- Using ``virtualenv``\'s ``--system-site-packages`` option when creating - an environment adds all system-wide packages to the virtual environment. - However, this breaks the isolation between the virtual environment and the - system install. Among other issues it results in hard to debug problems - with system packages shadowing the environment packages. If you use - `virtualenvwrapper `_, this can be - toggled with the ``toggleglobalsitepackages`` command. +For cases where the framework is not installable in a venv, it needs to be +install the package in the global (system) site-packages, and then made +available from within the venv. This can be achieved by either of the +following methods (in all cases, the system-wide Python and the venv Python +must be of the same version): - `vext `_ allows controlled access from within the virtualenv to specific system-wide packages without the @@ -61,5 +49,14 @@ version): It is recommended to use ``vext>=0.7.0`` as earlier versions misconfigure the logging system. +- When using `virtualenv ` (rather than the + stdlib's ``venv``), using the ``--system-site-packages`` option when creating + an environment adds all system-wide packages to the virtual environment. + However, this breaks the isolation between the virtual environment and the + system install. Among other issues it results in hard to debug problems + with system packages shadowing the environment packages. If you use + `virtualenvwrapper `_, this can be + toggled with the ``toggleglobalsitepackages`` command. + If you are using Matplotlib on OSX, you may also want to consider the :ref:`OSX framework FAQ `. From bde55a03eba68226b387b931fd2601f22b807ffe Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Mon, 5 Mar 2018 21:38:47 -0800 Subject: [PATCH 0287/1161] Remove special-casing of _remove_method when pickling. Now (in Py3) that instance methods are directly picklable, there's no need to special-case _remove_method in pickling support. The few cases where _remove_method was not a bound method were handled by transforming them, well, into bound methods. _remove_method is clearly intended to be for private use (cf. comment next to its definition in the Artist class), so deprecate Container.set_remove_method (in any case, such a method, if we really wanted it, should also live on the Artist class). --- .../2018-02-15-AL-deprecations.rst | 7 +++-- lib/matplotlib/artist.py | 1 - lib/matplotlib/axes/_axes.py | 5 +++- lib/matplotlib/axes/_base.py | 22 ++++++--------- lib/matplotlib/container.py | 11 +------- lib/matplotlib/figure.py | 12 ++++---- lib/mpl_toolkits/axes_grid1/parasite_axes.py | 28 +++++++++---------- 7 files changed, 37 insertions(+), 49 deletions(-) diff --git a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst index 2928b32694b6..2fce8789ed43 100644 --- a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst +++ b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst @@ -2,16 +2,17 @@ Deprecations ```````````` The following modules are deprecated: -- :mod:`matplotlib.compat.subprocess`. This was a python 2 workaround, but all the - functionality can now be found in the python 3 standard library +- :mod:`matplotlib.compat.subprocess`. This was a python 2 workaround, but all + the functionality can now be found in the python 3 standard library :mod:`subprocess`. -The following functions and classes are deprecated: +The following classes, methods, and functions are deprecated: - ``cbook.GetRealpathAndStat`` (which is only a helper for ``get_realpath_and_stat``), - ``cbook.Locked``, - ``cbook.is_numlike`` (use ``isinstance(..., numbers.Number)`` instead), +- ``container.Container.set_remove_method``, - ``mathtext.unichr_safe`` (use ``chr`` instead), - ``texmanager.dvipng_hack_alpha``, diff --git a/lib/matplotlib/artist.py b/lib/matplotlib/artist.py index 31ea56c9c90c..d64e2dd5e3f9 100644 --- a/lib/matplotlib/artist.py +++ b/lib/matplotlib/artist.py @@ -124,7 +124,6 @@ def __getstate__(self): d = self.__dict__.copy() # remove the unpicklable remove method, this will get re-added on load # (by the axes) if the artist lives on an axes. - d['_remove_method'] = None d['stale_callback'] = None return d diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 0fce6a374e26..b40294173701 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -554,9 +554,12 @@ def legend(self, *args, **kwargs): if len(extra_args): raise TypeError('legend only accepts two non-keyword arguments') self.legend_ = mlegend.Legend(self, handles, labels, **kwargs) - self.legend_._remove_method = lambda h: setattr(self, 'legend_', None) + self.legend_._remove_method = self._remove_legend return self.legend_ + def _remove_legend(self, legend): + self.legend_ = None + def text(self, x, y, s, fontdict=None, withdash=False, **kwargs): """ Add text to the axes. diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 9071e30f7f85..cf3bd8f7ea08 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -586,12 +586,6 @@ def __getstate__(self): def __setstate__(self, state): self.__dict__ = state - # put the _remove_method back on all artists contained within the axes - for container_name in ['lines', 'collections', 'tables', 'patches', - 'texts', 'images']: - container = getattr(self, container_name) - for artist in container: - artist._remove_method = container.remove self._stale = True self._layoutbox = None self._poslayoutbox = None @@ -1858,9 +1852,9 @@ def add_artist(self, a): """ a.axes = self self.artists.append(a) + a._remove_method = self.artists.remove self._set_artist_props(a) a.set_clip_path(self.patch) - a._remove_method = lambda h: self.artists.remove(h) self.stale = True return a @@ -1875,6 +1869,7 @@ def add_collection(self, collection, autolim=True): if not label: collection.set_label('_collection%d' % len(self.collections)) self.collections.append(collection) + collection._remove_method = self.collections.remove self._set_artist_props(collection) if collection.get_clip_path() is None: @@ -1883,7 +1878,6 @@ def add_collection(self, collection, autolim=True): if autolim: self.update_datalim(collection.get_datalim(self.transData)) - collection._remove_method = lambda h: self.collections.remove(h) self.stale = True return collection @@ -1897,7 +1891,7 @@ def add_image(self, image): if not image.get_label(): image.set_label('_image%d' % len(self.images)) self.images.append(image) - image._remove_method = lambda h: self.images.remove(h) + image._remove_method = self.images.remove self.stale = True return image @@ -1920,7 +1914,7 @@ def add_line(self, line): if not line.get_label(): line.set_label('_line%d' % len(self.lines)) self.lines.append(line) - line._remove_method = lambda h: self.lines.remove(h) + line._remove_method = self.lines.remove self.stale = True return line @@ -1930,7 +1924,7 @@ def _add_text(self, txt): """ self._set_artist_props(txt) self.texts.append(txt) - txt._remove_method = lambda h: self.texts.remove(h) + txt._remove_method = self.texts.remove self.stale = True return txt @@ -1993,7 +1987,7 @@ def add_patch(self, p): p.set_clip_path(self.patch) self._update_patch_limits(p) self.patches.append(p) - p._remove_method = lambda h: self.patches.remove(h) + p._remove_method = self.patches.remove return p def _update_patch_limits(self, patch): @@ -2039,7 +2033,7 @@ def add_table(self, tab): self._set_artist_props(tab) self.tables.append(tab) tab.set_clip_path(self.patch) - tab._remove_method = lambda h: self.tables.remove(h) + tab._remove_method = self.tables.remove return tab def add_container(self, container): @@ -2053,7 +2047,7 @@ def add_container(self, container): if not label: container.set_label('_container%d' % len(self.containers)) self.containers.append(container) - container.set_remove_method(lambda h: self.containers.remove(h)) + container._remove_method = self.containers.remove return container def _on_units_changed(self, scalex=False, scaley=False): diff --git a/lib/matplotlib/container.py b/lib/matplotlib/container.py index f96bf9f03f7f..4bd2bcc6ca4d 100644 --- a/lib/matplotlib/container.py +++ b/lib/matplotlib/container.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import six import matplotlib.cbook as cbook @@ -32,6 +29,7 @@ def __init__(self, kl, label=None): self.set_label(label) + @cbook.deprecated("3.0") def set_remove_method(self, f): self._remove_method = f @@ -44,13 +42,6 @@ def remove(self): if self._remove_method: self._remove_method(self) - def __getstate__(self): - d = self.__dict__.copy() - # remove the unpicklable remove method, this will get re-added on load - # (by the axes) if the artist lives on an axes. - d['_remove_method'] = None - return d - def get_label(self): """ Get the label used for this artist in the legend. diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index fcbad439e289..98205847fca6 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -890,7 +890,7 @@ def figimage(self, X, xo=0, yo=0, alpha=None, norm=None, cmap=None, if norm is None: im.set_clim(vmin, vmax) self.images.append(im) - im._remove_method = lambda h: self.images.remove(h) + im._remove_method = self.images.remove self.stale = True return im @@ -1162,7 +1162,7 @@ def add_axes(self, *args, **kwargs): self._axstack.add(key, a) self.sca(a) - a._remove_method = self.__remove_ax + a._remove_method = self._remove_ax self.stale = True a.stale_callback = _stale_figure_callback return a @@ -1269,7 +1269,7 @@ def add_subplot(self, *args, **kwargs): a = subplot_class_factory(projection_class)(self, *args, **kwargs) self._axstack.add(key, a) self.sca(a) - a._remove_method = self.__remove_ax + a._remove_method = self._remove_ax self.stale = True a.stale_callback = _stale_figure_callback return a @@ -1402,7 +1402,7 @@ def subplots(self, nrows=1, ncols=1, sharex=False, sharey=False, # Returned axis array will be always 2-d, even if nrows=ncols=1. return axarr - def __remove_ax(self, ax): + def _remove_ax(self, ax): def _reset_loc_form(axis): axis.set_major_formatter(axis.get_major_formatter()) axis.set_major_locator(axis.get_major_locator()) @@ -1768,7 +1768,7 @@ def legend(self, *args, **kwargs): pass l = mlegend.Legend(self, handles, labels, *extra_args, **kwargs) self.legends.append(l) - l._remove_method = lambda h: self.legends.remove(h) + l._remove_method = self.legends.remove self.stale = True return l @@ -1796,7 +1796,7 @@ def text(self, x, y, s, *args, **kwargs): t.update(override) self._set_artist_props(t) self.texts.append(t) - t._remove_method = lambda h: self.texts.remove(h) + t._remove_method = self.texts.remove self.stale = True return t diff --git a/lib/mpl_toolkits/axes_grid1/parasite_axes.py b/lib/mpl_toolkits/axes_grid1/parasite_axes.py index 01fd774e3fc8..22bfe7238fa4 100644 --- a/lib/mpl_toolkits/axes_grid1/parasite_axes.py +++ b/lib/mpl_toolkits/axes_grid1/parasite_axes.py @@ -243,7 +243,7 @@ def get_aux_axes(self, tr, viewlim_mode="equal", axes_class=None): # note that ax2.transData == tr + ax1.transData # Anthing you draw in ax2 will match the ticks and grids of ax1. self.parasites.append(ax2) - ax2._remove_method = lambda h: self.parasites.remove(h) + ax2._remove_method = self.parasites.remove return ax2 def _get_legend_handles(self, legend_handler_map=None): @@ -304,20 +304,20 @@ def twinx(self, axes_class=None): ax2 = parasite_axes_class(self, sharex=self, frameon=False) self.parasites.append(ax2) + ax2._remove_method = self._remove_twinx self.axis["right"].set_visible(False) ax2.axis["right"].set_visible(True) ax2.axis["left", "top", "bottom"].set_visible(False) - def _remove_method(h): - self.parasites.remove(h) - self.axis["right"].set_visible(True) - self.axis["right"].toggle(ticklabels=False, label=False) - ax2._remove_method = _remove_method - return ax2 + def _remove_twinx(self, ax): + self.parasites.remove(ax) + self.axis["right"].set_visible(True) + self.axis["right"].toggle(ticklabels=False, label=False) + def twiny(self, axes_class=None): """ create a twin of Axes for generating a plot with a shared @@ -333,20 +333,20 @@ def twiny(self, axes_class=None): ax2 = parasite_axes_class(self, sharey=self, frameon=False) self.parasites.append(ax2) + ax2._remove_method = self._remove_twiny self.axis["top"].set_visible(False) ax2.axis["top"].set_visible(True) ax2.axis["left", "right", "bottom"].set_visible(False) - def _remove_method(h): - self.parasites.remove(h) - self.axis["top"].set_visible(True) - self.axis["top"].toggle(ticklabels=False, label=False) - ax2._remove_method = _remove_method - return ax2 + def _remove_twiny(self, ax): + self.parasites.remove(ax) + self.axis["top"].set_visible(True) + self.axis["top"].toggle(ticklabels=False, label=False) + def twin(self, aux_trans=None, axes_class=None): """ create a twin of Axes for generating a plot with a sharex @@ -368,7 +368,7 @@ def twin(self, aux_trans=None, axes_class=None): ax2 = parasite_axes_auxtrans_class( self, aux_trans, viewlim_mode="transform") self.parasites.append(ax2) - ax2._remove_method = lambda h: self.parasites.remove(h) + ax2._remove_method = self.parasites.remove self.axis["top", "right"].set_visible(False) From fb081ddd6f8ce96d87a364607536da2e70c459ca Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Tue, 6 Mar 2018 02:12:12 -0800 Subject: [PATCH 0288/1161] Remove incorrect warning in gca(). --- lib/matplotlib/figure.py | 9 --------- 1 file changed, 9 deletions(-) diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index fcbad439e289..fba1b898f197 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -1842,15 +1842,6 @@ def gca(self, **kwargs): # if the cax matches this key then return the axes, otherwise # continue and a new axes will be created if key == ckey and isinstance(cax, projection_class): - cbook.warn_deprecated( - "3.0", - "Calling `gca()` using the same arguments as a " - "previous axes currently reuses the earlier " - "instance. In a future version, a new instance will " - "always be created and returned. Meanwhile, this " - "warning can be suppressed, and the future behavior " - "ensured, by passing a unique label to each axes " - "instance.") return cax else: warnings.warn('Requested projection is different from ' From 6342cfc156ee3954b37452f8c69703f9d9250a4f Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Tue, 6 Mar 2018 12:26:47 -0800 Subject: [PATCH 0289/1161] Autoadd removal version to deprecation message. --- lib/matplotlib/cbook/deprecation.py | 70 +++++++++++++++-------------- 1 file changed, 36 insertions(+), 34 deletions(-) diff --git a/lib/matplotlib/cbook/deprecation.py b/lib/matplotlib/cbook/deprecation.py index 35c7de50d0f9..9c8c83225ba7 100644 --- a/lib/matplotlib/cbook/deprecation.py +++ b/lib/matplotlib/cbook/deprecation.py @@ -20,43 +20,35 @@ class MatplotlibDeprecationWarning(UserWarning): mplDeprecation = MatplotlibDeprecationWarning -def _generate_deprecation_message(since, message='', name='', - alternative='', pending=False, - obj_type='attribute', - addendum=''): - - if not message: - - if pending: - message = ( - 'The %(name)s %(obj_type)s will be deprecated in a ' - 'future version.') - else: - message = ( - 'The %(name)s %(obj_type)s was deprecated in version ' - '%(since)s.') - - altmessage = '' - if alternative: - altmessage = ' Use %s instead.' % alternative +def _generate_deprecation_message( + since, message='', name='', alternative='', pending=False, + obj_type='attribute', addendum='', *, removal=''): - message = ((message % { - 'func': name, - 'name': name, - 'alternative': alternative, - 'obj_type': obj_type, - 'since': since}) + - altmessage) + if removal == "": + removal = {"2.2": "in 3.1", "3.0": "in 3.2"}.get( + since, "two minor releases later") + elif removal: + removal = "in {}".format(removal) - if addendum: - message += addendum + if not message: + message = ( + "The {name} {obj_type}" + + (" will be deprecated in a future version" + if pending else + (" was deprecated in Matplotlib {since}" + + (" and will be removed {removal}" + if removal else + ""))) + + "." + + (" Use {alternative} instead." if alternative else "")) - return message + return message.format(func=name, name=name, obj_type=obj_type, since=since, + removal=removal, alternative=alternative) def warn_deprecated( since, message='', name='', alternative='', pending=False, - obj_type='attribute', addendum=''): + obj_type='attribute', addendum='', *, removal=''): """ Used to display deprecation warning in a standard way. @@ -85,6 +77,11 @@ def warn_deprecated( If True, uses a PendingDeprecationWarning instead of a DeprecationWarning. + removal : str, optional + The expected removal version. With the default (an empty string), a + removal version is automatically computed from *since*. Set to other + Falsy values to not schedule a removal date. + obj_type : str, optional The object type being deprecated. @@ -102,12 +99,12 @@ def warn_deprecated( """ message = _generate_deprecation_message( - since, message, name, alternative, pending, obj_type) + since, message, name, alternative, pending, obj_type, removal=removal) warnings.warn(message, mplDeprecation, stacklevel=2) def deprecated(since, message='', name='', alternative='', pending=False, - obj_type=None, addendum=''): + obj_type=None, addendum='', *, removal=''): """ Decorator to mark a function or a class as deprecated. @@ -145,6 +142,11 @@ def new_function(): If True, uses a PendingDeprecationWarning instead of a DeprecationWarning. + removal : str, optional + The expected removal version. With the default (an empty string), a + removal version is automatically computed from *since*. Set to other + Falsy values to not schedule a removal date. + addendum : str, optional Additional text appended directly to the final message. @@ -199,8 +201,8 @@ def finalize(wrapper, new_doc): return wrapper message = _generate_deprecation_message( - since, message, name, alternative, pending, - obj_type, addendum) + since, message, name, alternative, pending, obj_type, addendum, + removal=removal) def wrapper(*args, **kwargs): warnings.warn(message, mplDeprecation, stacklevel=2) From a16182fbfcc0fb90bcaa07188d04d09c9d82e3ca Mon Sep 17 00:00:00 2001 From: Osarumwense Date: Tue, 6 Mar 2018 16:15:15 -0500 Subject: [PATCH 0290/1161] adding test case for creating a 3d graph from 2d [5724] --- .../test_mplot3d/plot_3d_from_2d.png | Bin 0 -> 65747 bytes lib/mpl_toolkits/tests/test_mplot3d.py | 8 ++++++++ 2 files changed, 8 insertions(+) create mode 100644 lib/mpl_toolkits/tests/baseline_images/test_mplot3d/plot_3d_from_2d.png diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/plot_3d_from_2d.png b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/plot_3d_from_2d.png new file mode 100644 index 0000000000000000000000000000000000000000..b61db0044cf41c0c3c24702f781fc61a4b5efa6f GIT binary patch literal 65747 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

)lSBifhgu?nvD*IUg{c>nvVyg0L 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 Date: Tue, 6 Mar 2018 17:00:38 -0800 Subject: [PATCH 0291/1161] Fix signature docstring in _png extension. --- src/_png.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_png.cpp b/src/_png.cpp index 2dc2e776b009..043c42f77923 100644 --- a/src/_png.cpp +++ b/src/_png.cpp @@ -80,7 +80,7 @@ static void flush_png_data(png_structp png_ptr) } const char *Py_write_png__doc__ = - "write_png(buffer, file, dpi=0, compression=6, filter=auto)\n" + "write_png(buffer, file, dpi=0, compression=6, filter=auto, metadata=None)\n" "\n" "Parameters\n" "----------\n" From 48a17983d3545e73961ca99475dec71b463408c0 Mon Sep 17 00:00:00 2001 From: Salinder Sidhu Date: Wed, 7 Mar 2018 01:18:32 -0500 Subject: [PATCH 0292/1161] Added markevery validator to rcparams with basic rcparams test --- lib/matplotlib/rcsetup.py | 30 +++++++++++++++++++++++++++ lib/matplotlib/tests/test_rcparams.py | 12 +++++++++++ 2 files changed, 42 insertions(+) diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index a4c86779ba4e..be5813db8682 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -534,7 +534,36 @@ def validate_ps_distiller(s): _validate_negative_linestyle = ValidateInStrings('negative_linestyle', ['solid', 'dashed'], ignorecase=True) +def validate_markevery(s): + """ + Validate the markevery property of a Line2D object. + + Parameters + ---------- + s : None, int, float, slice, length-2 tuple of ints, + length-2 tuple of floats, list + + Returns + ------- + s : None, int, float, slice, length-2 tuple of ints, + length-2 tuple of floats, list, ValueError + + """ + + if isinstance(s, tuple): + # Ensure correct length of 2 + if len(s) != 2: + raise ValueError("'markevery' tuple must be a length of 2") + # Ensure that all elements in the tuple are of type int + if not all(isinstance(x, int) for x in s): + raise ValueError("'markevery' tuple ") + # Ensure that all elements in the tuple are of type float + elif not all(isinstance(x, float) for x in s): + raise ValueError("'markevery' tuple ") + + return s; +validate_markeverylist = _listify_validator(validate_markevery) validate_legend_loc = ValidateInStrings( 'legend_loc', @@ -676,6 +705,7 @@ def validate_hatch(s): 'markersize': validate_floatlist, 'markeredgewidth': validate_floatlist, 'markeredgecolor': validate_colorlist, + 'markevery': validate_markeverylist, 'alpha': validate_floatlist, 'marker': validate_stringlist, 'hatch': validate_hatchlist, diff --git a/lib/matplotlib/tests/test_rcparams.py b/lib/matplotlib/tests/test_rcparams.py index a4fd6fd0e96a..242bda76a5ac 100644 --- a/lib/matplotlib/tests/test_rcparams.py +++ b/lib/matplotlib/tests/test_rcparams.py @@ -23,6 +23,7 @@ validate_cycler, validate_hatch, validate_hist_bins, + validate_markevery, _validate_linestyle) @@ -326,6 +327,17 @@ def generate_validator_testcases(valid): ), 'fail': (('aardvark', ValueError), ) + }, + {'validator': validate_markevery, + 'success': ((None,None), + (1,1), + (0.1,0.1) + ), + 'fail': (((1,2,3), ValueError), + ((0.1,0.2,0.3), ValueError), + ((1,0.1), ValueError), + (('abc'), ValueError) + ) } ) From 514e50656c50eca1e212098fd62920c4059f821b Mon Sep 17 00:00:00 2001 From: JelsB Date: Wed, 7 Mar 2018 12:10:59 +0000 Subject: [PATCH 0293/1161] FIX: enable extend kwargs with log scale colorbar --- lib/matplotlib/contour.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/contour.py b/lib/matplotlib/contour.py index d80b168ea90a..d56787c97f24 100644 --- a/lib/matplotlib/contour.py +++ b/lib/matplotlib/contour.py @@ -823,9 +823,6 @@ def __init__(self, ax, *args, **kwargs): self.logscale = True if norm is None: norm = colors.LogNorm() - if self.extend is not 'neither': - raise ValueError('extend kwarg does not work yet with log ' - ' scale') else: self.logscale = False @@ -1206,7 +1203,10 @@ def _process_levels(self): # ...except that extended layers must be outside the # normed range: if self.extend in ('both', 'min'): - self.layers[0] = -1e150 + if self.logscale: + self.layers[0] = 1e-150 + else: + self.layers[0] = -1e150 if self.extend in ('both', 'max'): self.layers[-1] = 1e150 From e21dd0faf38a7acd61e214eb8b758fc74ed16f1f Mon Sep 17 00:00:00 2001 From: Salinder Sidhu Date: Wed, 7 Mar 2018 01:18:32 -0500 Subject: [PATCH 0294/1161] Added markevery validator to rcparams with basic rcparams test --- lib/matplotlib/rcsetup.py | 30 +++++++++++++++++++++++++++ lib/matplotlib/tests/test_rcparams.py | 12 +++++++++++ 2 files changed, 42 insertions(+) diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index a4c86779ba4e..be5813db8682 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -534,7 +534,36 @@ def validate_ps_distiller(s): _validate_negative_linestyle = ValidateInStrings('negative_linestyle', ['solid', 'dashed'], ignorecase=True) +def validate_markevery(s): + """ + Validate the markevery property of a Line2D object. + + Parameters + ---------- + s : None, int, float, slice, length-2 tuple of ints, + length-2 tuple of floats, list + + Returns + ------- + s : None, int, float, slice, length-2 tuple of ints, + length-2 tuple of floats, list, ValueError + + """ + + if isinstance(s, tuple): + # Ensure correct length of 2 + if len(s) != 2: + raise ValueError("'markevery' tuple must be a length of 2") + # Ensure that all elements in the tuple are of type int + if not all(isinstance(x, int) for x in s): + raise ValueError("'markevery' tuple ") + # Ensure that all elements in the tuple are of type float + elif not all(isinstance(x, float) for x in s): + raise ValueError("'markevery' tuple ") + + return s; +validate_markeverylist = _listify_validator(validate_markevery) validate_legend_loc = ValidateInStrings( 'legend_loc', @@ -676,6 +705,7 @@ def validate_hatch(s): 'markersize': validate_floatlist, 'markeredgewidth': validate_floatlist, 'markeredgecolor': validate_colorlist, + 'markevery': validate_markeverylist, 'alpha': validate_floatlist, 'marker': validate_stringlist, 'hatch': validate_hatchlist, diff --git a/lib/matplotlib/tests/test_rcparams.py b/lib/matplotlib/tests/test_rcparams.py index a4fd6fd0e96a..242bda76a5ac 100644 --- a/lib/matplotlib/tests/test_rcparams.py +++ b/lib/matplotlib/tests/test_rcparams.py @@ -23,6 +23,7 @@ validate_cycler, validate_hatch, validate_hist_bins, + validate_markevery, _validate_linestyle) @@ -326,6 +327,17 @@ def generate_validator_testcases(valid): ), 'fail': (('aardvark', ValueError), ) + }, + {'validator': validate_markevery, + 'success': ((None,None), + (1,1), + (0.1,0.1) + ), + 'fail': (((1,2,3), ValueError), + ((0.1,0.2,0.3), ValueError), + ((1,0.1), ValueError), + (('abc'), ValueError) + ) } ) From ca9502eac8ca3bfacec66b74365d96481262dc1e Mon Sep 17 00:00:00 2001 From: Ryan May Date: Wed, 7 Mar 2018 13:27:35 -0700 Subject: [PATCH 0295/1161] BUG: Fix UnboundLocalError in contour labelling The code was trying to protect the access of xy1 and xy2 to valid cases, but unfortunately, for a list, l != -1 doesn't do element-by-element or return an error--it just always returns True. Therefore it wasn't actually guarding. --- lib/matplotlib/contour.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/contour.py b/lib/matplotlib/contour.py index d80b168ea90a..30fc59684df0 100644 --- a/lib/matplotlib/contour.py +++ b/lib/matplotlib/contour.py @@ -440,7 +440,7 @@ def calc_label_rot_and_inline(self, slc, ind, lw, lc=None, spacing=5): # Actually break contours if closed: # This will remove contour if shorter than label - if np.all(I != -1): + if all(i != -1 for i in I): nlc.append(np.row_stack([xy2, lc[I[1]:I[0]+1], xy1])) else: # These will remove pieces of contour if they have length zero From 8afad9158310f4500e8478d7fcfea362e594fc2a Mon Sep 17 00:00:00 2001 From: Salinder Sidhu Date: Wed, 7 Mar 2018 21:32:07 -0500 Subject: [PATCH 0296/1161] Finished markevery validator and test cases. Added what's new and example code for markevery --- .../next_whats_new/markevery_prop_cycle.rst | 7 ++ .../markevery_prop_cycle.py | 69 +++++++++++++++++++ lib/matplotlib/rcsetup.py | 44 ++++++++---- lib/matplotlib/tests/test_rcparams.py | 19 +++-- 4 files changed, 121 insertions(+), 18 deletions(-) create mode 100644 doc/users/next_whats_new/markevery_prop_cycle.rst create mode 100644 examples/lines_bars_and_markers/markevery_prop_cycle.py diff --git a/doc/users/next_whats_new/markevery_prop_cycle.rst b/doc/users/next_whats_new/markevery_prop_cycle.rst new file mode 100644 index 000000000000..05e647cbfa80 --- /dev/null +++ b/doc/users/next_whats_new/markevery_prop_cycle.rst @@ -0,0 +1,7 @@ +Implemented support for axes.prop_cycle property markevery in rcParams +---------------------------------------------------------------------- + +The Matplotlib ``rcParams`` settings object now supports configuration +of the attribute `axes.prop_cycle` with cyclers using the `markevery` +Line2D object property. An example of this feature is provided at +`~matplotlib/examples/lines_bars_and_markers/markevery_prop_cycle.py` \ No newline at end of file diff --git a/examples/lines_bars_and_markers/markevery_prop_cycle.py b/examples/lines_bars_and_markers/markevery_prop_cycle.py new file mode 100644 index 000000000000..76a8843fa784 --- /dev/null +++ b/examples/lines_bars_and_markers/markevery_prop_cycle.py @@ -0,0 +1,69 @@ +""" +================================================================= +Implemented support for prop_cycle property markevery in rcParams +================================================================= + +This example demonstrates a working solution to issue #8576, providing full +support of the markevery property for axes.prop_cycle assignments through +rcParams. Makes use of the same list of markevery cases from +https://matplotlib.org/examples/pylab_examples/markevery_demo.html + +Renders a plot with shifted-sine curves along each column with +a unique markevery value for each sine curve. +""" +from __future__ import division +from cycler import cycler +import numpy as np +import matplotlib as mpl +import matplotlib.pyplot as plt +import matplotlib.patches as mpatches + +# Define a list of markevery cases and color cases to plot +cases = [None, + 8, + (30, 8), + [16, 24, 30], + [0, -1], + slice(100, 200, 3), + 0.1, + 0.3, + 1.5, + (0.0, 0.1), + (0.45, 0.1)] + +colors = ['#1f77b4', + '#ff7f0e', + '#2ca02c', + '#d62728', + '#9467bd', + '#8c564b', + '#e377c2', + '#7f7f7f', + '#bcbd22', + '#17becf', + '#1a55FF'] + +# Create two different cyclers to use with axes.prop_cycle +markevery_cycler = cycler(markevery=cases) +color_cycler = cycler('color', colors) + +# Configure rcParams axes.prop_cycle with custom cycler +custom_cycler = color_cycler + markevery_cycler +mpl.rcParams['axes.prop_cycle'] = custom_cycler + +# Create data points and offsets +x = np.linspace(0, 2 * np.pi) +offsets = np.linspace(0, 2 * np.pi, 11, endpoint=False) +yy = np.transpose([np.sin(x + phi) for phi in offsets]) + +# Set the plot curve with markers and a title +fig = plt.figure() +ax = fig.add_axes([0.1, 0.1, 0.6, 0.75]) + +for i in range(len(cases)): + ax.plot(yy[:, i], marker='o', label=str(cases[i])) + ax.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.) + +plt.title('Support for axes.prop_cycle cycler with markevery') + +plt.show() diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index be5813db8682..06e6d90845cc 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -541,27 +541,43 @@ def validate_markevery(s): Parameters ---------- s : None, int, float, slice, length-2 tuple of ints, - length-2 tuple of floats, list + length-2 tuple of floats, list of ints Returns ------- s : None, int, float, slice, length-2 tuple of ints, - length-2 tuple of floats, list, ValueError + length-2 tuple of floats, list of ints """ + # Validate s against type slice + if isinstance(s, slice): + return s + # Validate s against type tuple and list + if isinstance(s, Iterable): + if isinstance(s, tuple): + tupMaxLength = 2 + tupType = type(s[0]) + if len(s) != tupMaxLength: + raise ValueError("'markevery' tuple must have a length " + "of %d" % (tupMaxLength)) + if tupType is int and not all(isinstance(e, int) for e in s): + raise ValueError("'markevery' tuple with first element of " + "type int must have all elements of type " + "int") + if tupType is float and not all(isinstance(e, float) for e in s): + raise ValueError("'markevery' tuple with first element of " + "type float must have all elements of type " + "float") + if isinstance(s, list): + if not all(isinstance(e, int) for e in s): + raise ValueError("'markevery' list must have all elements " + "of type int") + # Validate s against type float int and None + elif not isinstance(s, (float, int)): + if s is not None: + raise TypeError("'markevery' is of an invalid type") - if isinstance(s, tuple): - # Ensure correct length of 2 - if len(s) != 2: - raise ValueError("'markevery' tuple must be a length of 2") - # Ensure that all elements in the tuple are of type int - if not all(isinstance(x, int) for x in s): - raise ValueError("'markevery' tuple ") - # Ensure that all elements in the tuple are of type float - elif not all(isinstance(x, float) for x in s): - raise ValueError("'markevery' tuple ") - - return s; + return s validate_markeverylist = _listify_validator(validate_markevery) diff --git a/lib/matplotlib/tests/test_rcparams.py b/lib/matplotlib/tests/test_rcparams.py index 242bda76a5ac..68bba4d030a9 100644 --- a/lib/matplotlib/tests/test_rcparams.py +++ b/lib/matplotlib/tests/test_rcparams.py @@ -329,14 +329,25 @@ def generate_validator_testcases(valid): ) }, {'validator': validate_markevery, - 'success': ((None,None), - (1,1), - (0.1,0.1) + 'success': ((None, None), + (1, 1), + (0.1, 0.1), + ((1,1), (1,1)), + ((0.1,0.1), (0.1,0.1)), + ([1,2,3], [1,2,3]), + (slice(2), slice(None,2,None)), + (slice(1,2,3), slice(1,2,3)) ), 'fail': (((1,2,3), ValueError), ((0.1,0.2,0.3), ValueError), + ((0.1,2,3), ValueError), + ((1,0.2,0.3), ValueError), ((1,0.1), ValueError), - (('abc'), ValueError) + ((0.1,1), ValueError), + (('abc'), ValueError), + (('a'), ValueError), + ('abc', ValueError), + ('a', ValueError) ) } ) From 3bee9363d002f9d9bdca93746d5048219e7e4f1d Mon Sep 17 00:00:00 2001 From: Salinder Sidhu Date: Wed, 7 Mar 2018 01:18:32 -0500 Subject: [PATCH 0297/1161] Added markevery validator to rcparams with basic rcparams test --- lib/matplotlib/rcsetup.py | 30 +++++++++++++++++++++++++++ lib/matplotlib/tests/test_rcparams.py | 12 +++++++++++ 2 files changed, 42 insertions(+) diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index a4c86779ba4e..be5813db8682 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -534,7 +534,36 @@ def validate_ps_distiller(s): _validate_negative_linestyle = ValidateInStrings('negative_linestyle', ['solid', 'dashed'], ignorecase=True) +def validate_markevery(s): + """ + Validate the markevery property of a Line2D object. + + Parameters + ---------- + s : None, int, float, slice, length-2 tuple of ints, + length-2 tuple of floats, list + + Returns + ------- + s : None, int, float, slice, length-2 tuple of ints, + length-2 tuple of floats, list, ValueError + + """ + + if isinstance(s, tuple): + # Ensure correct length of 2 + if len(s) != 2: + raise ValueError("'markevery' tuple must be a length of 2") + # Ensure that all elements in the tuple are of type int + if not all(isinstance(x, int) for x in s): + raise ValueError("'markevery' tuple ") + # Ensure that all elements in the tuple are of type float + elif not all(isinstance(x, float) for x in s): + raise ValueError("'markevery' tuple ") + + return s; +validate_markeverylist = _listify_validator(validate_markevery) validate_legend_loc = ValidateInStrings( 'legend_loc', @@ -676,6 +705,7 @@ def validate_hatch(s): 'markersize': validate_floatlist, 'markeredgewidth': validate_floatlist, 'markeredgecolor': validate_colorlist, + 'markevery': validate_markeverylist, 'alpha': validate_floatlist, 'marker': validate_stringlist, 'hatch': validate_hatchlist, diff --git a/lib/matplotlib/tests/test_rcparams.py b/lib/matplotlib/tests/test_rcparams.py index a4fd6fd0e96a..242bda76a5ac 100644 --- a/lib/matplotlib/tests/test_rcparams.py +++ b/lib/matplotlib/tests/test_rcparams.py @@ -23,6 +23,7 @@ validate_cycler, validate_hatch, validate_hist_bins, + validate_markevery, _validate_linestyle) @@ -326,6 +327,17 @@ def generate_validator_testcases(valid): ), 'fail': (('aardvark', ValueError), ) + }, + {'validator': validate_markevery, + 'success': ((None,None), + (1,1), + (0.1,0.1) + ), + 'fail': (((1,2,3), ValueError), + ((0.1,0.2,0.3), ValueError), + ((1,0.1), ValueError), + (('abc'), ValueError) + ) } ) From b73fe0f49943ad79c807a389a4d42bcd95a12386 Mon Sep 17 00:00:00 2001 From: Salinder Sidhu Date: Wed, 7 Mar 2018 21:32:07 -0500 Subject: [PATCH 0298/1161] Finished markevery validator and test cases. Added what's new and example code for markevery --- .../next_whats_new/markevery_prop_cycle.rst | 7 ++ .../markevery_prop_cycle.py | 69 +++++++++++++++++++ lib/matplotlib/rcsetup.py | 44 ++++++++---- lib/matplotlib/tests/test_rcparams.py | 19 +++-- 4 files changed, 121 insertions(+), 18 deletions(-) create mode 100644 doc/users/next_whats_new/markevery_prop_cycle.rst create mode 100644 examples/lines_bars_and_markers/markevery_prop_cycle.py diff --git a/doc/users/next_whats_new/markevery_prop_cycle.rst b/doc/users/next_whats_new/markevery_prop_cycle.rst new file mode 100644 index 000000000000..05e647cbfa80 --- /dev/null +++ b/doc/users/next_whats_new/markevery_prop_cycle.rst @@ -0,0 +1,7 @@ +Implemented support for axes.prop_cycle property markevery in rcParams +---------------------------------------------------------------------- + +The Matplotlib ``rcParams`` settings object now supports configuration +of the attribute `axes.prop_cycle` with cyclers using the `markevery` +Line2D object property. An example of this feature is provided at +`~matplotlib/examples/lines_bars_and_markers/markevery_prop_cycle.py` \ No newline at end of file diff --git a/examples/lines_bars_and_markers/markevery_prop_cycle.py b/examples/lines_bars_and_markers/markevery_prop_cycle.py new file mode 100644 index 000000000000..76a8843fa784 --- /dev/null +++ b/examples/lines_bars_and_markers/markevery_prop_cycle.py @@ -0,0 +1,69 @@ +""" +================================================================= +Implemented support for prop_cycle property markevery in rcParams +================================================================= + +This example demonstrates a working solution to issue #8576, providing full +support of the markevery property for axes.prop_cycle assignments through +rcParams. Makes use of the same list of markevery cases from +https://matplotlib.org/examples/pylab_examples/markevery_demo.html + +Renders a plot with shifted-sine curves along each column with +a unique markevery value for each sine curve. +""" +from __future__ import division +from cycler import cycler +import numpy as np +import matplotlib as mpl +import matplotlib.pyplot as plt +import matplotlib.patches as mpatches + +# Define a list of markevery cases and color cases to plot +cases = [None, + 8, + (30, 8), + [16, 24, 30], + [0, -1], + slice(100, 200, 3), + 0.1, + 0.3, + 1.5, + (0.0, 0.1), + (0.45, 0.1)] + +colors = ['#1f77b4', + '#ff7f0e', + '#2ca02c', + '#d62728', + '#9467bd', + '#8c564b', + '#e377c2', + '#7f7f7f', + '#bcbd22', + '#17becf', + '#1a55FF'] + +# Create two different cyclers to use with axes.prop_cycle +markevery_cycler = cycler(markevery=cases) +color_cycler = cycler('color', colors) + +# Configure rcParams axes.prop_cycle with custom cycler +custom_cycler = color_cycler + markevery_cycler +mpl.rcParams['axes.prop_cycle'] = custom_cycler + +# Create data points and offsets +x = np.linspace(0, 2 * np.pi) +offsets = np.linspace(0, 2 * np.pi, 11, endpoint=False) +yy = np.transpose([np.sin(x + phi) for phi in offsets]) + +# Set the plot curve with markers and a title +fig = plt.figure() +ax = fig.add_axes([0.1, 0.1, 0.6, 0.75]) + +for i in range(len(cases)): + ax.plot(yy[:, i], marker='o', label=str(cases[i])) + ax.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.) + +plt.title('Support for axes.prop_cycle cycler with markevery') + +plt.show() diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index be5813db8682..06e6d90845cc 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -541,27 +541,43 @@ def validate_markevery(s): Parameters ---------- s : None, int, float, slice, length-2 tuple of ints, - length-2 tuple of floats, list + length-2 tuple of floats, list of ints Returns ------- s : None, int, float, slice, length-2 tuple of ints, - length-2 tuple of floats, list, ValueError + length-2 tuple of floats, list of ints """ + # Validate s against type slice + if isinstance(s, slice): + return s + # Validate s against type tuple and list + if isinstance(s, Iterable): + if isinstance(s, tuple): + tupMaxLength = 2 + tupType = type(s[0]) + if len(s) != tupMaxLength: + raise ValueError("'markevery' tuple must have a length " + "of %d" % (tupMaxLength)) + if tupType is int and not all(isinstance(e, int) for e in s): + raise ValueError("'markevery' tuple with first element of " + "type int must have all elements of type " + "int") + if tupType is float and not all(isinstance(e, float) for e in s): + raise ValueError("'markevery' tuple with first element of " + "type float must have all elements of type " + "float") + if isinstance(s, list): + if not all(isinstance(e, int) for e in s): + raise ValueError("'markevery' list must have all elements " + "of type int") + # Validate s against type float int and None + elif not isinstance(s, (float, int)): + if s is not None: + raise TypeError("'markevery' is of an invalid type") - if isinstance(s, tuple): - # Ensure correct length of 2 - if len(s) != 2: - raise ValueError("'markevery' tuple must be a length of 2") - # Ensure that all elements in the tuple are of type int - if not all(isinstance(x, int) for x in s): - raise ValueError("'markevery' tuple ") - # Ensure that all elements in the tuple are of type float - elif not all(isinstance(x, float) for x in s): - raise ValueError("'markevery' tuple ") - - return s; + return s validate_markeverylist = _listify_validator(validate_markevery) diff --git a/lib/matplotlib/tests/test_rcparams.py b/lib/matplotlib/tests/test_rcparams.py index 242bda76a5ac..68bba4d030a9 100644 --- a/lib/matplotlib/tests/test_rcparams.py +++ b/lib/matplotlib/tests/test_rcparams.py @@ -329,14 +329,25 @@ def generate_validator_testcases(valid): ) }, {'validator': validate_markevery, - 'success': ((None,None), - (1,1), - (0.1,0.1) + 'success': ((None, None), + (1, 1), + (0.1, 0.1), + ((1,1), (1,1)), + ((0.1,0.1), (0.1,0.1)), + ([1,2,3], [1,2,3]), + (slice(2), slice(None,2,None)), + (slice(1,2,3), slice(1,2,3)) ), 'fail': (((1,2,3), ValueError), ((0.1,0.2,0.3), ValueError), + ((0.1,2,3), ValueError), + ((1,0.2,0.3), ValueError), ((1,0.1), ValueError), - (('abc'), ValueError) + ((0.1,1), ValueError), + (('abc'), ValueError), + (('a'), ValueError), + ('abc', ValueError), + ('a', ValueError) ) } ) From 3cae753b824cbc4f9dfef637fc43d8fbabb7fe10 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Wed, 7 Mar 2018 19:40:54 -0800 Subject: [PATCH 0299/1161] sys.platform is normalized to "linux" on Py3. ... so we can just do an equality check. (Likewise, for Windows, sys.platform is *always* "win32".) (https://docs.python.org/3/library/sys.html#sys.platform) --- lib/matplotlib/backends/_backend_tk.py | 22 ++++++++++------------ lib/matplotlib/backends/backend_pgf.py | 2 +- lib/matplotlib/cbook/__init__.py | 14 +++++++------- setupext.py | 4 ++-- 4 files changed, 20 insertions(+), 22 deletions(-) diff --git a/lib/matplotlib/backends/_backend_tk.py b/lib/matplotlib/backends/_backend_tk.py index 96a82d94a7a6..968fe48a6efd 100644 --- a/lib/matplotlib/backends/_backend_tk.py +++ b/lib/matplotlib/backends/_backend_tk.py @@ -336,11 +336,10 @@ def button_press_event(self, event, dblclick=False): y = self.figure.bbox.height - event.y num = getattr(event, 'num', None) - if sys.platform=='darwin': - # 2 and 3 were reversed on the OSX platform I - # tested under tkagg - if num==2: num=3 - elif num==3: num=2 + if sys.platform == 'darwin': + # 2 and 3 were reversed on the OSX platform I tested under tkagg. + if num == 2: num = 3 + elif num == 3: num = 2 FigureCanvasBase.button_press_event(self, x, y, num, dblclick=dblclick, guiEvent=event) @@ -354,11 +353,10 @@ def button_release_event(self, event): num = getattr(event, 'num', None) - if sys.platform=='darwin': - # 2 and 3 were reversed on the OSX platform I - # tested under tkagg - if num==2: num=3 - elif num==3: num=2 + if sys.platform == 'darwin': + # 2 and 3 were reversed on the OSX platform I tested under tkagg. + if num == 2: num = 3 + elif num == 3: num = 2 FigureCanvasBase.button_release_event(self, x, y, num, guiEvent=event) @@ -387,8 +385,8 @@ def _get_key(self, event): val = event.keysym_num if val in self.keyvald: key = self.keyvald[val] - elif val == 0 and sys.platform == 'darwin' and \ - event.keycode in self._keycode_lookup: + elif (val == 0 and sys.platform == 'darwin' + and event.keycode in self._keycode_lookup): key = self._keycode_lookup[event.keycode] elif val < 256: key = chr(val) diff --git a/lib/matplotlib/backends/backend_pgf.py b/lib/matplotlib/backends/backend_pgf.py index 9ad51010124d..36cfee0ee801 100644 --- a/lib/matplotlib/backends/backend_pgf.py +++ b/lib/matplotlib/backends/backend_pgf.py @@ -30,7 +30,7 @@ # create a list of system fonts, all of these should work with xe/lua-latex system_fonts = [] -if sys.platform.startswith('win'): +if sys.platform == 'win32': from matplotlib import font_manager for f in font_manager.win32InstalledFonts(): try: diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index acf1ffa3c2b1..629b66b46078 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -829,34 +829,34 @@ def report_memory(i=0): # argument may go away pid = os.getpid() if sys.platform == 'sunos5': try: - a2 = Popen(str('ps -p %d -o osz') % pid, shell=True, + a2 = Popen('ps -p %d -o osz' % pid, shell=True, stdout=PIPE).stdout.readlines() except OSError: raise NotImplementedError( "report_memory works on Sun OS only if " "the 'ps' program is found") mem = int(a2[-1].strip()) - elif sys.platform.startswith('linux'): + elif sys.platform == 'linux': try: - a2 = Popen(str('ps -p %d -o rss,sz') % pid, shell=True, + a2 = Popen('ps -p %d -o rss,sz' % pid, shell=True, stdout=PIPE).stdout.readlines() except OSError: raise NotImplementedError( "report_memory works on Linux only if " "the 'ps' program is found") mem = int(a2[1].split()[1]) - elif sys.platform.startswith('darwin'): + elif sys.platform == 'darwin': try: - a2 = Popen(str('ps -p %d -o rss,vsz') % pid, shell=True, + a2 = Popen('ps -p %d -o rss,vsz' % pid, shell=True, stdout=PIPE).stdout.readlines() except OSError: raise NotImplementedError( "report_memory works on Mac OS only if " "the 'ps' program is found") mem = int(a2[1].split()[0]) - elif sys.platform.startswith('win'): + elif sys.platform == 'win32': try: - a2 = Popen([str("tasklist"), "/nh", "/fi", "pid eq %d" % pid], + a2 = Popen(["tasklist", "/nh", "/fi", "pid eq %d" % pid], stdout=PIPE).stdout.read() except OSError: raise NotImplementedError( diff --git a/setupext.py b/setupext.py index 37679d9f3bb3..3e03363bab7c 100644 --- a/setupext.py +++ b/setupext.py @@ -565,7 +565,7 @@ def _try_managers(*managers): .format(url, self.name)) elif sys.platform == "darwin": message = _try_managers("brew", "port") - elif sys.platform.startswith("linux"): + elif sys.platform == "linux": release = platform.linux_distribution()[0].lower() if release in ('debian', 'ubuntu'): message = _try_managers('apt-get') @@ -1421,7 +1421,7 @@ def add_flags(self, ext): if sys.platform == 'win32': # PSAPI library needed for finding Tcl / Tk at run time ext.libraries.extend(['psapi']) - elif sys.platform.startswith('linux'): + elif sys.platform == 'linux': ext.libraries.extend(['dl']) From c4d4f11e2152ecc5147ba159533b458f13164f94 Mon Sep 17 00:00:00 2001 From: Salinder Sidhu Date: Thu, 8 Mar 2018 14:29:35 -0500 Subject: [PATCH 0300/1161] Increased test coverage of markevery validator --- lib/matplotlib/rcsetup.py | 2 ++ lib/matplotlib/tests/test_rcparams.py | 34 ++++++++++++++++----------- 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index 06e6d90845cc..2d2ca8ad46c0 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -568,6 +568,8 @@ def validate_markevery(s): raise ValueError("'markevery' tuple with first element of " "type float must have all elements of type " "float") + if not instance(tupType, (float, int)): + raise TypeError("'markevery' tuple is of an invalid type") if isinstance(s, list): if not all(isinstance(e, int) for e in s): raise ValueError("'markevery' list must have all elements " diff --git a/lib/matplotlib/tests/test_rcparams.py b/lib/matplotlib/tests/test_rcparams.py index 68bba4d030a9..c85c354d2b6a 100644 --- a/lib/matplotlib/tests/test_rcparams.py +++ b/lib/matplotlib/tests/test_rcparams.py @@ -332,22 +332,28 @@ def generate_validator_testcases(valid): 'success': ((None, None), (1, 1), (0.1, 0.1), - ((1,1), (1,1)), - ((0.1,0.1), (0.1,0.1)), - ([1,2,3], [1,2,3]), - (slice(2), slice(None,2,None)), - (slice(1,2,3), slice(1,2,3)) + ((1, 1), (1, 1)), + ((0.1, 0.1), (0.1, 0.1)), + ([1, 2, 3], [1, 2, 3]), + (slice(2), slice(None, 2, None)), + (slice(1, 2, 3), slice(1, 2, 3)) ), - 'fail': (((1,2,3), ValueError), - ((0.1,0.2,0.3), ValueError), - ((0.1,2,3), ValueError), - ((1,0.2,0.3), ValueError), - ((1,0.1), ValueError), - ((0.1,1), ValueError), + 'fail': (((1, 2, 3), ValueError), + ([1, 2, 0.3], ValueError), + (['a', 2, 3], ValueError), + ([1, 2, 'a'], ValueError), + ((0.1, 0.2, 0.3), ValueError), + ((0.1, 2, 3), ValueError), + ((1, 0.2, 0.3), ValueError), + ((1, 0.1), ValueError), + ((0.1, 1), ValueError), (('abc'), ValueError), - (('a'), ValueError), - ('abc', ValueError), - ('a', ValueError) + ((1, 'a'), ValueError), + ((0.1, 'b'), ValueError), + (('a', 1), ValueError), + (('a', 0.1), ValueError), + ('abc', TypeError), + ('a', TypeError) ) } ) From 9a2def6be444e460154ec1f25950629dbb769b03 Mon Sep 17 00:00:00 2001 From: Salinder Sidhu Date: Thu, 8 Mar 2018 14:37:56 -0500 Subject: [PATCH 0301/1161] Fixed typo --- lib/matplotlib/rcsetup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index 2d2ca8ad46c0..a21c7e0bcf76 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -568,7 +568,7 @@ def validate_markevery(s): raise ValueError("'markevery' tuple with first element of " "type float must have all elements of type " "float") - if not instance(tupType, (float, int)): + if not isinstance(tupType, (float, int)): raise TypeError("'markevery' tuple is of an invalid type") if isinstance(s, list): if not all(isinstance(e, int) for e in s): From c7c88ae4b18fbc3fb16c5a166ee8f2bc19fb022f Mon Sep 17 00:00:00 2001 From: Osarumwense Date: Thu, 8 Mar 2018 14:47:51 -0500 Subject: [PATCH 0302/1161] pushing right image for test [5742] --- .../test_mplot3d/plot_3d_from_2d.png | Bin 65747 -> 50323 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/plot_3d_from_2d.png b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/plot_3d_from_2d.png index b61db0044cf41c0c3c24702f781fc61a4b5efa6f..747c88e9b475d00a73b254e8b1c0bad6db648cb3 100644 GIT binary patch literal 50323 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 literal 65747 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

)lSBifhgu?nvD*IUg{c>nvVyg0L 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 Date: Thu, 8 Mar 2018 14:54:16 -0500 Subject: [PATCH 0303/1161] Fixed validate_markevery --- lib/matplotlib/rcsetup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index a21c7e0bcf76..65f65253b9c9 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -568,7 +568,7 @@ def validate_markevery(s): raise ValueError("'markevery' tuple with first element of " "type float must have all elements of type " "float") - if not isinstance(tupType, (float, int)): + if tupType is not float and tupType is not int: raise TypeError("'markevery' tuple is of an invalid type") if isinstance(s, list): if not all(isinstance(e, int) for e in s): From 3d6f2ae489176838ba22d7ce0dd136962f115b48 Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Thu, 8 Mar 2018 12:49:05 -0800 Subject: [PATCH 0304/1161] FIX/TST constrained_layout remove test8 duplication --- .../tests/test_constrainedlayout.py | 68 ++++--------------- 1 file changed, 14 insertions(+), 54 deletions(-) diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py index 9c36fb2476ee..538268d56188 100644 --- a/lib/matplotlib/tests/test_constrainedlayout.py +++ b/lib/matplotlib/tests/test_constrainedlayout.py @@ -123,40 +123,6 @@ def test_constrained_layout6(): ticks=ticker.MaxNLocator(nbins=5)) -@image_comparison(baseline_images=['constrained_layout8'], - extensions=['png']) -def test_constrained_layout8(): - 'Test for gridspecs that are not completely full' - fig = plt.figure(figsize=(7, 4), constrained_layout=True) - gs = gridspec.GridSpec(3, 5, figure=fig) - axs = [] - j = 1 - for i in [0, 1]: - ax = fig.add_subplot(gs[j, i]) - axs += [ax] - pcm = example_pcolor(ax, fontsize=10) - if i > 0: - ax.set_ylabel('') - if j < 1: - ax.set_xlabel('') - ax.set_title('') - j = 0 - for i in [2, 4]: - ax = fig.add_subplot(gs[j, i]) - axs += [ax] - pcm = example_pcolor(ax, fontsize=10) - if i > 0: - ax.set_ylabel('') - if j < 1: - ax.set_xlabel('') - ax.set_title('') - ax = fig.add_subplot(gs[2, :]) - axs += [ax] - pcm = example_pcolor(ax, fontsize=10) - - fig.colorbar(pcm, ax=axs, pad=0.01, shrink=0.6) - - def test_constrained_layout7(): 'Test for proper warning if fig not set in GridSpec' with pytest.warns(UserWarning, match='Calling figure.constrained_layout, ' @@ -179,26 +145,20 @@ def test_constrained_layout8(): fig = plt.figure(figsize=(10, 5), constrained_layout=True) gs = gridspec.GridSpec(3, 5, figure=fig) axs = [] - j = 1 - for i in [0, 4]: - ax = fig.add_subplot(gs[j, i]) - axs += [ax] - pcm = example_pcolor(ax, fontsize=9) - if i > 0: - ax.set_ylabel('') - if j < 1: - ax.set_xlabel('') - ax.set_title('') - j = 0 - for i in [1]: - ax = fig.add_subplot(gs[j, i]) - axs += [ax] - pcm = example_pcolor(ax, fontsize=9) - if i > 0: - ax.set_ylabel('') - if j < 1: - ax.set_xlabel('') - ax.set_title('') + for j in [0, 1]: + if j == 0: + ilist = [1] + else: + ilist = [0, 4] + for i in ilist: + ax = fig.add_subplot(gs[j, i]) + axs += [ax] + pcm = example_pcolor(ax, fontsize=9) + if i > 0: + ax.set_ylabel('') + if j < 1: + ax.set_xlabel('') + ax.set_title('') ax = fig.add_subplot(gs[2, :]) axs += [ax] pcm = example_pcolor(ax, fontsize=9) From fd40f1b1e26d09f5dd90b01818bd2de9cc0b2f84 Mon Sep 17 00:00:00 2001 From: Nathan Goldbaum Date: Thu, 8 Mar 2018 12:17:23 -0600 Subject: [PATCH 0305/1161] BUG: sanitize norm extrema to be floats --- lib/matplotlib/cm.py | 4 ++-- lib/matplotlib/colors.py | 14 ++++++++++++-- lib/matplotlib/tests/test_colors.py | 9 ++++++++- 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/lib/matplotlib/cm.py b/lib/matplotlib/cm.py index 0949563ca19a..e914acf71888 100644 --- a/lib/matplotlib/cm.py +++ b/lib/matplotlib/cm.py @@ -314,9 +314,9 @@ def set_clim(self, vmin=None, vmax=None): except (TypeError, ValueError): pass if vmin is not None: - self.norm.vmin = vmin + self.norm.vmin = colors._sanitize_extrema(vmin) if vmax is not None: - self.norm.vmax = vmax + self.norm.vmax = colors._sanitize_extrema(vmax) self.changed() def set_cmap(self, cmap): diff --git a/lib/matplotlib/colors.py b/lib/matplotlib/colors.py index f51df541537c..7d884e19c64c 100644 --- a/lib/matplotlib/colors.py +++ b/lib/matplotlib/colors.py @@ -94,6 +94,16 @@ def get_named_colors_mapping(): return _colors_full_map +def _sanitize_extrema(ex): + if ex is None: + return ex + try: + ret = np.asscalar(ex) + except AttributeError: + ret = float(ex) + return ret + + def _is_nth_color(c): """Return whether *c* can be interpreted as an item in the color cycle.""" return isinstance(c, six.string_types) and re.match(r"\AC[0-9]\Z", c) @@ -878,8 +888,8 @@ def __init__(self, vmin=None, vmax=None, clip=False): likely to lead to surprises; therefore the default is *clip* = *False*. """ - self.vmin = vmin - self.vmax = vmax + self.vmin = _sanitize_extrema(vmin) + self.vmax = _sanitize_extrema(vmax) self.clip = clip @staticmethod diff --git a/lib/matplotlib/tests/test_colors.py b/lib/matplotlib/tests/test_colors.py index 006f03d46a63..599eee62c988 100644 --- a/lib/matplotlib/tests/test_colors.py +++ b/lib/matplotlib/tests/test_colors.py @@ -687,11 +687,18 @@ def __add__(self, other): raise RuntimeError data = np.arange(-10, 10, 1, dtype=float) + data.shape = (10, 2) + mydata = data.view(MyArray) for norm in [mcolors.Normalize(), mcolors.LogNorm(), mcolors.SymLogNorm(3, vmax=5, linscale=1), + mcolors.Normalize(vmin=mydata.min(), vmax=mydata.max()), + mcolors.SymLogNorm(3, vmin=mydata.min(), vmax=mydata.max()), mcolors.PowerNorm(1)]: - assert_array_equal(norm(data.view(MyArray)), norm(data)) + assert_array_equal(norm(mydata), norm(data)) + fig, ax = plt.subplots() + ax.imshow(mydata, norm=norm) + fig.canvas.draw() if isinstance(norm, mcolors.PowerNorm): assert len(recwarn) == 1 warn = recwarn.pop(UserWarning) From 3154b9019b49f3f9c3f3186dc3a1e8ee8cd286a4 Mon Sep 17 00:00:00 2001 From: Salinder Sidhu Date: Thu, 8 Mar 2018 16:47:06 -0500 Subject: [PATCH 0306/1161] Resolved build errors --- .../markevery_prop_cycle.py | 2 - lib/matplotlib/rcsetup.py | 44 +++++++++---------- lib/matplotlib/tests/test_rcparams.py | 31 ++++++------- 3 files changed, 38 insertions(+), 39 deletions(-) diff --git a/examples/lines_bars_and_markers/markevery_prop_cycle.py b/examples/lines_bars_and_markers/markevery_prop_cycle.py index 76a8843fa784..e680ab2a0d98 100644 --- a/examples/lines_bars_and_markers/markevery_prop_cycle.py +++ b/examples/lines_bars_and_markers/markevery_prop_cycle.py @@ -11,12 +11,10 @@ Renders a plot with shifted-sine curves along each column with a unique markevery value for each sine curve. """ -from __future__ import division from cycler import cycler import numpy as np import matplotlib as mpl import matplotlib.pyplot as plt -import matplotlib.patches as mpatches # Define a list of markevery cases and color cases to plot cases = [None, diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index 65f65253b9c9..99e445863877 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -552,28 +552,28 @@ def validate_markevery(s): # Validate s against type slice if isinstance(s, slice): return s - # Validate s against type tuple and list - if isinstance(s, Iterable): - if isinstance(s, tuple): - tupMaxLength = 2 - tupType = type(s[0]) - if len(s) != tupMaxLength: - raise ValueError("'markevery' tuple must have a length " - "of %d" % (tupMaxLength)) - if tupType is int and not all(isinstance(e, int) for e in s): - raise ValueError("'markevery' tuple with first element of " - "type int must have all elements of type " - "int") - if tupType is float and not all(isinstance(e, float) for e in s): - raise ValueError("'markevery' tuple with first element of " - "type float must have all elements of type " - "float") - if tupType is not float and tupType is not int: - raise TypeError("'markevery' tuple is of an invalid type") - if isinstance(s, list): - if not all(isinstance(e, int) for e in s): - raise ValueError("'markevery' list must have all elements " - "of type int") + # Validate s against type tuple + if isinstance(s, tuple): + tupMaxLength = 2 + tupType = type(s[0]) + if len(s) != tupMaxLength: + raise TypeError("'markevery' tuple must have a length of " + "%d" % (tupMaxLength)) + if tupType is int and not all(isinstance(e, int) for e in s): + raise TypeError("'markevery' tuple with first element of " + "type int must have all elements of type " + "int") + if tupType is float and not all(isinstance(e, float) for e in s): + raise TypeError("'markevery' tuple with first element of " + "type float must have all elements of type " + "float") + if tupType is not float and tupType is not int: + raise TypeError("'markevery' tuple contains an invalid type") + # Validate s against type list + elif isinstance(s, list): + if not all(isinstance(e, int) for e in s): + raise TypeError("'markevery' list must have all elements of " + "type int") # Validate s against type float int and None elif not isinstance(s, (float, int)): if s is not None: diff --git a/lib/matplotlib/tests/test_rcparams.py b/lib/matplotlib/tests/test_rcparams.py index c85c354d2b6a..51ea501474e2 100644 --- a/lib/matplotlib/tests/test_rcparams.py +++ b/lib/matplotlib/tests/test_rcparams.py @@ -338,22 +338,23 @@ def generate_validator_testcases(valid): (slice(2), slice(None, 2, None)), (slice(1, 2, 3), slice(1, 2, 3)) ), - 'fail': (((1, 2, 3), ValueError), - ([1, 2, 0.3], ValueError), - (['a', 2, 3], ValueError), - ([1, 2, 'a'], ValueError), - ((0.1, 0.2, 0.3), ValueError), - ((0.1, 2, 3), ValueError), - ((1, 0.2, 0.3), ValueError), - ((1, 0.1), ValueError), - ((0.1, 1), ValueError), - (('abc'), ValueError), - ((1, 'a'), ValueError), - ((0.1, 'b'), ValueError), - (('a', 1), ValueError), - (('a', 0.1), ValueError), + 'fail': (((1, 2, 3), TypeError), + ([1, 2, 0.3], TypeError), + (['a', 2, 3], TypeError), + ([1, 2, 'a'], TypeError), + ((0.1, 0.2, 0.3), TypeError), + ((0.1, 2, 3), TypeError), + ((1, 0.2, 0.3), TypeError), + ((1, 0.1), TypeError), + ((0.1, 1), TypeError), + (('abc'), TypeError), + ((1, 'a'), TypeError), + ((0.1, 'b'), TypeError), + (('a', 1), TypeError), + (('a', 0.1), TypeError), ('abc', TypeError), - ('a', TypeError) + ('a', TypeError), + (object(), TypeError) ) } ) From 39fb7b5b96ea46aca94099d166106365eaf0647e Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Thu, 8 Mar 2018 12:38:51 -0800 Subject: [PATCH 0307/1161] Py3fication of unicode. --- examples/misc/multipage_pdf.py | 2 +- examples/pyplots/text_commands.py | 3 +- .../sphinxext/tests/tinypages/conf.py | 18 +++--- lib/matplotlib/testing/determinism.py | 56 +++++++--------- lib/matplotlib/tests/test_afm.py | 7 +- lib/matplotlib/tests/test_animation.py | 8 +-- lib/matplotlib/tests/test_backend_pgf.py | 5 +- lib/matplotlib/tests/test_backend_ps.py | 64 ++++++++----------- lib/matplotlib/tests/test_legend.py | 2 +- lib/matplotlib/tests/test_ticker.py | 8 +-- lib/matplotlib/widgets.py | 19 ++---- tutorials/text/text_intro.py | 2 +- 12 files changed, 76 insertions(+), 118 deletions(-) diff --git a/examples/misc/multipage_pdf.py b/examples/misc/multipage_pdf.py index 9b49f1d8644f..9986237c7f29 100644 --- a/examples/misc/multipage_pdf.py +++ b/examples/misc/multipage_pdf.py @@ -47,7 +47,7 @@ # We can also set the file's metadata via the PdfPages object: d = pdf.infodict() d['Title'] = 'Multipage PDF Example' - d['Author'] = u'Jouni K. Sepp\xe4nen' + d['Author'] = 'Jouni K. Sepp\xe4nen' d['Subject'] = 'How to create a multipage pdf file and set its metadata' d['Keywords'] = 'PdfPages multipage keywords author title subject' d['CreationDate'] = datetime.datetime(2009, 11, 13) diff --git a/examples/pyplots/text_commands.py b/examples/pyplots/text_commands.py index a074f4ca395d..4885a0051925 100644 --- a/examples/pyplots/text_commands.py +++ b/examples/pyplots/text_commands.py @@ -5,6 +5,7 @@ Plotting text of many different kinds. """ + import matplotlib.pyplot as plt fig = plt.figure() @@ -22,7 +23,7 @@ ax.text(2, 6, r'an equation: $E=mc^2$', fontsize=15) -ax.text(3, 2, u'unicode: Institut f\374r Festk\366rperphysik') +ax.text(3, 2, 'unicode: Institut f\374r Festk\366rperphysik') ax.text(0.95, 0.01, 'colored text in axes coords', verticalalignment='bottom', horizontalalignment='right', diff --git a/lib/matplotlib/sphinxext/tests/tinypages/conf.py b/lib/matplotlib/sphinxext/tests/tinypages/conf.py index d2d26c18eceb..970a3c5a4d45 100644 --- a/lib/matplotlib/sphinxext/tests/tinypages/conf.py +++ b/lib/matplotlib/sphinxext/tests/tinypages/conf.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- -# # tinypages documentation build configuration file, created by # sphinx-quickstart on Tue Mar 18 11:58:34 2014. # @@ -46,8 +44,8 @@ master_doc = 'index' # General information about the project. -project = u'tinypages' -copyright = u'2014, Matplotlib developers' +project = 'tinypages' +copyright = '2014, Matplotlib developers' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the @@ -202,8 +200,8 @@ # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ - ('index', 'tinypages.tex', u'tinypages Documentation', - u'Matplotlib developers', 'manual'), + ('index', 'tinypages.tex', 'tinypages Documentation', + 'Matplotlib developers', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of @@ -232,8 +230,8 @@ # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ - ('index', 'tinypages', u'tinypages Documentation', - [u'Matplotlib developers'], 1) + ('index', 'tinypages', 'tinypages Documentation', + ['Matplotlib developers'], 1) ] # If true, show URL addresses after external links. @@ -246,8 +244,8 @@ # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ - ('index', 'tinypages', u'tinypages Documentation', - u'Matplotlib developers', 'tinypages', 'One line description of project.', + ('index', 'tinypages', 'tinypages Documentation', + 'Matplotlib developers', 'tinypages', 'One line description of project.', 'Miscellaneous'), ] diff --git a/lib/matplotlib/testing/determinism.py b/lib/matplotlib/testing/determinism.py index 614544ce28ec..f43706ea5beb 100644 --- a/lib/matplotlib/testing/determinism.py +++ b/lib/matplotlib/testing/determinism.py @@ -2,16 +2,11 @@ Provides utilities to test output reproducibility. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - import io import os import re +import subprocess import sys -from subprocess import check_output import pytest @@ -34,11 +29,11 @@ def _determinism_save(objects='mhi', format="pdf", usetex=False): # use different markers... ax1 = fig.add_subplot(1, 6, 1) x = range(10) - ax1.plot(x, [1] * 10, marker=u'D') - ax1.plot(x, [2] * 10, marker=u'x') - ax1.plot(x, [3] * 10, marker=u'^') - ax1.plot(x, [4] * 10, marker=u'H') - ax1.plot(x, [5] * 10, marker=u'v') + ax1.plot(x, [1] * 10, marker='D') + ax1.plot(x, [2] * 10, marker='x') + ax1.plot(x, [3] * 10, marker='^') + ax1.plot(x, [4] * 10, marker='H') + ax1.plot(x, [5] * 10, marker='v') if 'h' in objects: # also use different hatch patterns @@ -63,13 +58,8 @@ def _determinism_save(objects='mhi', format="pdf", usetex=False): x = range(5) fig.add_subplot(1, 6, 6).plot(x, x) - if six.PY2 and format == 'ps': - stdout = io.StringIO() - else: - stdout = getattr(sys.stdout, 'buffer', sys.stdout) + stdout = getattr(sys.stdout, 'buffer', sys.stdout) fig.savefig(stdout, format=format) - if six.PY2 and format == 'ps': - sys.stdout.write(stdout.getvalue()) # Restores SOURCE_DATE_EPOCH if sde is None: @@ -94,14 +84,14 @@ def _determinism_check(objects='mhi', format="pdf", usetex=False): """ plots = [] for i in range(3): - result = check_output([sys.executable, '-R', '-c', - 'import matplotlib; ' - 'matplotlib._called_from_pytest = True; ' - 'matplotlib.use(%r); ' - 'from matplotlib.testing.determinism ' - 'import _determinism_save;' - '_determinism_save(%r,%r,%r)' - % (format, objects, format, usetex)]) + result = subprocess.check_output([ + sys.executable, '-R', '-c', + 'import matplotlib; ' + 'matplotlib._called_from_pytest = True; ' + 'matplotlib.use(%r); ' + 'from matplotlib.testing.determinism import _determinism_save;' + '_determinism_save(%r, %r, %r)' + % (format, objects, format, usetex)]) plots.append(result) for p in plots[1:]: if usetex: @@ -128,14 +118,14 @@ def _determinism_source_date_epoch(format, string, keyword=b"CreationDate"): a string to look at when searching for the timestamp in the document (used in case the test fails). """ - buff = check_output([sys.executable, '-R', '-c', - 'import matplotlib; ' - 'matplotlib._called_from_pytest = True; ' - 'matplotlib.use(%r); ' - 'from matplotlib.testing.determinism ' - 'import _determinism_save;' - '_determinism_save(%r,%r)' - % (format, "", format)]) + buff = subprocess.check_output([ + sys.executable, '-R', '-c', + 'import matplotlib; ' + 'matplotlib._called_from_pytest = True; ' + 'matplotlib.use(%r); ' + 'from matplotlib.testing.determinism import _determinism_save;' + '_determinism_save(%r, %r)' + % (format, "", format)]) find_keyword = re.compile(b".*" + keyword + b".*") key = find_keyword.search(buff) if key: diff --git a/lib/matplotlib/tests/test_afm.py b/lib/matplotlib/tests/test_afm.py index d4cfce2c61e6..eef807b1d3df 100644 --- a/lib/matplotlib/tests/test_afm.py +++ b/lib/matplotlib/tests/test_afm.py @@ -1,7 +1,4 @@ -# -*- coding: utf-8 -*- - -from __future__ import absolute_import, division, print_function -from six import BytesIO +from io import BytesIO import matplotlib.afm as afm @@ -33,7 +30,7 @@ def test_nonascii_str(): # This tests that we also decode bytes as utf-8 properly. # Else, font files with non ascii characters fail to load. - inp_str = u"привет" + inp_str = "привет" byte_str = inp_str.encode("utf8") ret = afm._to_str(byte_str) diff --git a/lib/matplotlib/tests/test_animation.py b/lib/matplotlib/tests/test_animation.py index 31543da9d32f..ed3f5919f02c 100644 --- a/lib/matplotlib/tests/test_animation.py +++ b/lib/matplotlib/tests/test_animation.py @@ -1,7 +1,3 @@ -from __future__ import absolute_import, division, print_function - -import six - import sys import tempfile @@ -205,14 +201,14 @@ def test_movie_writer_registry(): assert len(animation.writers._registered) > 0 animation.writers.list() # resets dirty state assert not animation.writers._dirty - mpl.rcParams['animation.ffmpeg_path'] = u"not_available_ever_xxxx" + mpl.rcParams['animation.ffmpeg_path'] = "not_available_ever_xxxx" assert animation.writers._dirty animation.writers.list() # resets assert not animation.writers._dirty assert not animation.writers.is_available("ffmpeg") # something which is guaranteed to be available in path # and exits immediately - bin = u"true" if sys.platform != 'win32' else u"where" + bin = "true" if sys.platform != 'win32' else "where" mpl.rcParams['animation.ffmpeg_path'] = bin assert animation.writers._dirty animation.writers.list() # resets diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py index b42d99e23a61..1a3d943cf3da 100644 --- a/lib/matplotlib/tests/test_backend_pgf.py +++ b/lib/matplotlib/tests/test_backend_pgf.py @@ -1,6 +1,3 @@ -# -*- encoding: utf-8 -*- -from __future__ import absolute_import, division, print_function - import os import shutil import subprocess @@ -73,7 +70,7 @@ def create_figure(): # text and typesetting plt.plot([0.9], [0.5], "ro", markersize=3) - plt.text(0.9, 0.5, u'unicode (ü, °, µ) and math ($\\mu_i = x_i^2$)', + plt.text(0.9, 0.5, 'unicode (ü, °, µ) and math ($\\mu_i = x_i^2$)', ha='right', fontsize=20) plt.ylabel('sans-serif, blue, $\\frac{\\sqrt{x}}{y^2}$..', family='sans-serif', color='blue') diff --git a/lib/matplotlib/tests/test_backend_ps.py b/lib/matplotlib/tests/test_backend_ps.py index 8bf6e7dde38e..8768b2669ceb 100644 --- a/lib/matplotlib/tests/test_backend_ps.py +++ b/lib/matplotlib/tests/test_backend_ps.py @@ -1,13 +1,8 @@ -# -*- coding: utf-8 -*- - -from __future__ import absolute_import, division, print_function - import io import re import numpy as np import pytest -import six import matplotlib import matplotlib.pyplot as plt @@ -31,13 +26,14 @@ @pytest.mark.flaky(reruns=3) @pytest.mark.parametrize('format, use_log, rcParams', [ ('ps', False, {}), - needs_ghostscript(('ps', False, {'ps.usedistiller': 'ghostscript'})), - needs_usetex(needs_ghostscript(('ps', False, {'text.latex.unicode': True, - 'text.usetex': True}))), + needs_ghostscript( + ('ps', False, {'ps.usedistiller': 'ghostscript'})), + needs_usetex(needs_ghostscript( + ('ps', False, {'text.latex.unicode': True, 'text.usetex': True}))), ('eps', False, {}), ('eps', True, {'ps.useafm': True}), - needs_usetex(needs_ghostscript(('eps', False, {'text.latex.unicode': True, - 'text.usetex': True}))), + needs_usetex(needs_ghostscript( + ('eps', False, {'text.latex.unicode': True, 'text.usetex': True}))), ], ids=[ 'ps', 'ps with distiller', @@ -50,35 +46,25 @@ def test_savefig_to_stringio(format, use_log, rcParams): matplotlib.rcParams.update(rcParams) fig, ax = plt.subplots() - buffers = [ - six.moves.StringIO(), - io.StringIO(), - io.BytesIO()] - - if use_log: - ax.set_yscale('log') - - ax.plot([1, 2], [1, 2]) - ax.set_title(u"Déjà vu") - for buffer in buffers: - fig.savefig(buffer, format=format) - - values = [x.getvalue() for x in buffers] - - if six.PY3: - values = [ - values[0].encode('ascii'), - values[1].encode('ascii'), - values[2]] - - # Remove comments from the output. This includes things that - # could change from run to run, such as the time. - values = [re.sub(b'%%.*?\n', b'', x) for x in values] - - assert values[0] == values[1] - assert values[1] == values[2].replace(b'\r\n', b'\n') - for buffer in buffers: - buffer.close() + + with io.StringIO() as s_buf, io.BytesIO() as b_buf: + + if use_log: + ax.set_yscale('log') + + ax.plot([1, 2], [1, 2]) + ax.set_title("Déjà vu") + fig.savefig(s_buf, format=format) + fig.savefig(b_buf, format=format) + + s_val = s_buf.getvalue().encode('ascii') + b_val = b_buf.getvalue() + + # Remove comments from the output. This includes things that could + # change from run to run, such as the time. + s_val, b_val = [re.sub(b'%%.*?\n', b'', x) for x in [s_val, b_val]] + + assert s_val == b_val.replace(b'\r\n', b'\n') def test_patheffects(): diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py index db6d596f57e7..9484d10a663e 100644 --- a/lib/matplotlib/tests/test_legend.py +++ b/lib/matplotlib/tests/test_legend.py @@ -106,7 +106,7 @@ def test_various_labels(): fig = plt.figure() ax = fig.add_subplot(121) ax.plot(np.arange(4), 'o', label=1) - ax.plot(np.linspace(4, 4.1), 'o', label=u'D\xe9velopp\xe9s') + ax.plot(np.linspace(4, 4.1), 'o', label='Développés') ax.plot(np.arange(4, 1, -1), 'o', label='__nolegend__') ax.legend(numpoints=1, loc=0) diff --git a/lib/matplotlib/tests/test_ticker.py b/lib/matplotlib/tests/test_ticker.py index 32206a0c6168..1738adb93034 100644 --- a/lib/matplotlib/tests/test_ticker.py +++ b/lib/matplotlib/tests/test_ticker.py @@ -1,15 +1,13 @@ -from __future__ import absolute_import, division, print_function +import warnings -from numpy.testing import assert_almost_equal import numpy as np +from numpy.testing import assert_almost_equal import pytest import matplotlib import matplotlib.pyplot as plt import matplotlib.ticker as mticker -import warnings - class TestMaxNLocator(object): basic_data = [ @@ -578,7 +576,7 @@ class TestEngFormatter(object): (-0.0, ('0', '0', '0.00')), (-0, ('0', '0', '0.00')), (0, ('0', '0', '0.00')), - (1.23456789e-6, (u'1.23457 \u03bc', u'1 \u03bc', u'1.23 \u03bc')), + (1.23456789e-6, ('1.23457 \u03bc', '1 \u03bc', '1.23 \u03bc')), (0.123456789, ('123.457 m', '123 m', '123.46 m')), (0.1, ('100 m', '100 m', '100.00 m')), (1, ('1', '1', '1.00')), diff --git a/lib/matplotlib/widgets.py b/lib/matplotlib/widgets.py index ca6f544ada4d..4a5b01406da6 100644 --- a/lib/matplotlib/widgets.py +++ b/lib/matplotlib/widgets.py @@ -9,12 +9,7 @@ wide and tall you want your Axes to be to accommodate your widget. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import copy -import six -from six.moves import zip import numpy as np from matplotlib import rcParams @@ -221,7 +216,7 @@ def _release(self, event): return if event.inaxes != self.ax: return - for cid, func in six.iteritems(self.observers): + for cid, func in self.observers.items(): func(event) def _motion(self, event): @@ -438,7 +433,7 @@ def set_val(self, val): self.val = val if not self.eventson: return - for cid, func in six.iteritems(self.observers): + for cid, func in self.observers.items(): func(val) def on_changed(self, func): @@ -602,7 +597,7 @@ def set_active(self, index): if not self.eventson: return - for cid, func in six.iteritems(self.observers): + for cid, func in self.observers.items(): func(self.labels[index].get_text()) def get_status(self): @@ -684,7 +679,7 @@ def __init__(self, ax, label, initial='', self.DIST_FROM_LEFT = .05 - self.params_to_disable = [key for key in rcParams if u'keymap' in key] + self.params_to_disable = [key for key in rcParams if 'keymap' in key] self.text = initial self.label = ax.text(-label_pad, 0.5, label, @@ -759,7 +754,7 @@ def _rendercursor(self): self.ax.figure.canvas.draw() def _notify_submit_observers(self): - for cid, func in six.iteritems(self.submit_observers): + for cid, func in self.submit_observers.items(): func(self.text) def _release(self, event): @@ -818,7 +813,7 @@ def set_val(self, val): self._notify_submit_observers() def _notify_change_observers(self): - for cid, func in six.iteritems(self.change_observers): + for cid, func in self.change_observers.items(): func(self.text) def begin_typing(self, x): @@ -1051,7 +1046,7 @@ def set_active(self, index): if not self.eventson: return - for cid, func in six.iteritems(self.observers): + for cid, func in self.observers.items(): func(self.labels[index].get_text()) def on_clicked(self, func): diff --git a/tutorials/text/text_intro.py b/tutorials/text/text_intro.py index 54896236779d..ccf3911e65d0 100644 --- a/tutorials/text/text_intro.py +++ b/tutorials/text/text_intro.py @@ -80,7 +80,7 @@ ax.text(2, 6, r'an equation: $E=mc^2$', fontsize=15) -ax.text(3, 2, u'unicode: Institut für Festkörperphysik') +ax.text(3, 2, 'unicode: Institut für Festkörperphysik') ax.text(0.95, 0.01, 'colored text in axes coords', verticalalignment='bottom', horizontalalignment='right', From bfe56366f6c8e856f1dc3136400924bf74c14def Mon Sep 17 00:00:00 2001 From: Osarumwense Date: Thu, 8 Mar 2018 17:54:34 -0500 Subject: [PATCH 0308/1161] cleaning up code --- lib/mpl_toolkits/mplot3d/axes3d.py | 5 +---- lib/mpl_toolkits/tests/test_mplot3d.py | 2 ++ 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/mpl_toolkits/mplot3d/axes3d.py b/lib/mpl_toolkits/mplot3d/axes3d.py index b6255d862fb3..0bcde482dc40 100644 --- a/lib/mpl_toolkits/mplot3d/axes3d.py +++ b/lib/mpl_toolkits/mplot3d/axes3d.py @@ -1568,10 +1568,7 @@ def plot(self, xs, ys, *args, **kwargs): for line in lines: art3d.line_2d_to_3d(line, zs=zs, zdir=zdir) - # when transform from 2d to 3d, dataset changes, update the dataset - # for setting axes bounds - (xs, ys, zs) = art3d.juggle_axes(xs, ys, zs, zdir) - + xs, ys, zs = art3d.juggle_axes(xs, ys, zs, zdir) self.auto_scale_xyz(xs, ys, zs, had_data) return lines diff --git a/lib/mpl_toolkits/tests/test_mplot3d.py b/lib/mpl_toolkits/tests/test_mplot3d.py index 8cbe366cdd51..1d4402d06ee4 100644 --- a/lib/mpl_toolkits/tests/test_mplot3d.py +++ b/lib/mpl_toolkits/tests/test_mplot3d.py @@ -174,6 +174,7 @@ def test_scatter3d_color(): ax.scatter(np.arange(10, 20), np.arange(10, 20), np.arange(10, 20), color='b', marker='s') + @image_comparison(baseline_images=['plot_3d_from_2d'], remove_text=True, extensions=['png']) def test_plot_3d_from_2d(): @@ -183,6 +184,7 @@ def test_plot_3d_from_2d(): ys = np.arange(5, 10) ax.plot(xs, ys, zs=0, zdir='x') + @image_comparison(baseline_images=['surface3d'], remove_text=True) def test_surface3d(): fig = plt.figure() From d37407ccab12d5761ff68ad59b151a9d558d46a5 Mon Sep 17 00:00:00 2001 From: Osarumwense Date: Thu, 8 Mar 2018 18:19:03 -0500 Subject: [PATCH 0309/1161] adds case for zdir=y --- .../test_mplot3d/plot_3d_from_2d.png | Bin 50323 -> 56593 bytes lib/mpl_toolkits/tests/test_mplot3d.py | 1 + 2 files changed, 1 insertion(+) diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/plot_3d_from_2d.png b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/plot_3d_from_2d.png index 747c88e9b475d00a73b254e8b1c0bad6db648cb3..4475f566651108a82c476e94b158d452c141825d 100644 GIT binary patch literal 56593 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 diff --git a/lib/mpl_toolkits/tests/test_mplot3d.py b/lib/mpl_toolkits/tests/test_mplot3d.py index 1d4402d06ee4..0a506db92adf 100644 --- a/lib/mpl_toolkits/tests/test_mplot3d.py +++ b/lib/mpl_toolkits/tests/test_mplot3d.py @@ -183,6 +183,7 @@ def test_plot_3d_from_2d(): xs = np.arange(0, 5) ys = np.arange(5, 10) ax.plot(xs, ys, zs=0, zdir='x') + ax.plot(xs, ys, zs=0, zdir='y') @image_comparison(baseline_images=['surface3d'], remove_text=True) From b51c6509abb583bd4f1201c0e4b2dfcffc66d73d Mon Sep 17 00:00:00 2001 From: Hajoon Choi Date: Thu, 8 Mar 2018 20:47:04 -0500 Subject: [PATCH 0310/1161] Doc typo --- tutorials/text/annotations.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tutorials/text/annotations.py b/tutorials/text/annotations.py index 709aaab7c373..2cba4659bf19 100644 --- a/tutorials/text/annotations.py +++ b/tutorials/text/annotations.py @@ -516,11 +516,11 @@ You may take a look at this example :ref:`sphx_glr_gallery_text_labels_and_annotations_annotation_demo.py`. -Using ConnectorPatch +Using ConnectionPatch -------------------- -The ConnectorPatch is like an annotation without text. While the annotate -function is recommended in most situations, the ConnectorPatch is useful when +The ConnectionPatch is like an annotation without text. While the annotate +function is recommended in most situations, the ConnectionPatch is useful when you want to connect points in different axes. :: from matplotlib.patches import ConnectionPatch @@ -540,7 +540,7 @@ Connect Simple01 -While the ConnectorPatch instance can be added to any axes, you may want to add +While the ConnectionPatch instance can be added to any axes, you may want to add it to the axes that is latest in drawing order to prevent overlap by other axes. From af1cab63a08b298a65fb3658ea6d6ea37cbdd5a4 Mon Sep 17 00:00:00 2001 From: roonjoot Date: Thu, 8 Mar 2018 21:38:59 -0500 Subject: [PATCH 0311/1161] Doc Mistitle --- tutorials/text/annotations.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/text/annotations.py b/tutorials/text/annotations.py index 2cba4659bf19..5706e08cdc75 100644 --- a/tutorials/text/annotations.py +++ b/tutorials/text/annotations.py @@ -517,7 +517,7 @@ :ref:`sphx_glr_gallery_text_labels_and_annotations_annotation_demo.py`. Using ConnectionPatch --------------------- +--------------------- The ConnectionPatch is like an annotation without text. While the annotate function is recommended in most situations, the ConnectionPatch is useful when From df2aacf917eff22629973f60270828019eb09d7a Mon Sep 17 00:00:00 2001 From: gregorybchris Date: Fri, 9 Mar 2018 00:16:34 -0500 Subject: [PATCH 0312/1161] Fix logging level type --- lib/matplotlib/__init__.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index cb78d8d1eb06..b02bb7548944 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -391,7 +391,7 @@ def ge(self, level): return self.vald[self.level] >= self.vald[level] -def _wrap(fmt, func, level='DEBUG', always=True): +def _wrap(fmt, func, level=logging.DEBUG, always=True): """ return a callable function that wraps func and reports its output through logger @@ -405,8 +405,7 @@ def wrapper(*args, **kwargs): ret = func(*args, **kwargs) if (always or not wrapper._spoke): - lvl = logging.getLevelName(level.upper()) - _log.log(lvl, fmt % ret) + _log.log(level, fmt % ret) spoke = True if not wrapper._spoke: wrapper._spoke = spoke From 7111817cf9945177566765800dd77aee3eb197a2 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Fri, 9 Mar 2018 00:06:45 -0800 Subject: [PATCH 0313/1161] Avoid narrowing conversion in image_wrapper on 32-bit. --- src/_image_wrapper.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/_image_wrapper.cpp b/src/_image_wrapper.cpp index 4879eee3f0fb..a4c0e81db9ad 100644 --- a/src/_image_wrapper.cpp +++ b/src/_image_wrapper.cpp @@ -352,13 +352,12 @@ static PyObject *image_pcolor(PyObject *self, PyObject *args, PyObject *kwds) numpy::array_view x; numpy::array_view y; numpy::array_view d; - unsigned int rows; - unsigned int cols; + npy_intp rows, cols; float bounds[4]; int interpolation; if (!PyArg_ParseTuple(args, - "O&O&O&II(ffff)i:pcolor", + "O&O&O&nn(ffff)i:pcolor", &x.converter, &x, &y.converter, @@ -396,13 +395,12 @@ static PyObject *image_pcolor2(PyObject *self, PyObject *args, PyObject *kwds) numpy::array_view x; numpy::array_view y; numpy::array_view d; - unsigned int rows; - unsigned int cols; + npy_intp rows, cols; float bounds[4]; numpy::array_view bg; if (!PyArg_ParseTuple(args, - "O&O&O&II(ffff)O&:pcolor2", + "O&O&O&nn(ffff)O&:pcolor2", &x.converter_contiguous, &x, &y.converter_contiguous, From 8e87ec4d32916c6f3b954c50137ecdfa92e928f3 Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Fri, 9 Mar 2018 07:49:50 -0800 Subject: [PATCH 0314/1161] FIX: reorder linewidth setting before linestyle --- lib/matplotlib/lines.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/lines.py b/lib/matplotlib/lines.py index 709061e4bc63..ec5a522d328a 100644 --- a/lib/matplotlib/lines.py +++ b/lib/matplotlib/lines.py @@ -378,9 +378,9 @@ def __init__(self, xdata, ydata, self._us_dashSeq = None self._us_dashOffset = 0 + self.set_linewidth(linewidth) self.set_linestyle(linestyle) self.set_drawstyle(drawstyle) - self.set_linewidth(linewidth) self._color = None self.set_color(color) From f31d35d73805bdc8f3043f66a0a262dc78672e71 Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Fri, 9 Mar 2018 07:05:06 -0800 Subject: [PATCH 0315/1161] FIX: ffmpeg logging level --- lib/matplotlib/animation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/animation.py b/lib/matplotlib/animation.py index 3bc1070cc789..1c935fe41394 100644 --- a/lib/matplotlib/animation.py +++ b/lib/matplotlib/animation.py @@ -668,7 +668,7 @@ def _args(self): '-r', str(self.fps)] # Logging is quieted because subprocess.PIPE has limited buffer size. - if (_log.getEffectiveLevel() < logging.DEBUG): + if (_log.getEffectiveLevel() > logging.DEBUG): args += ['-loglevel', 'quiet'] args += ['-i', 'pipe:'] + self.output_args return args From a65b9c17a5bdc7b39afc42644704cf13a6121c85 Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Fri, 9 Mar 2018 09:20:25 -0800 Subject: [PATCH 0316/1161] DOC: add comment about buffer overrun at DEBUG --- lib/matplotlib/animation.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/animation.py b/lib/matplotlib/animation.py index 1c935fe41394..35c3b9b034ef 100644 --- a/lib/matplotlib/animation.py +++ b/lib/matplotlib/animation.py @@ -667,7 +667,8 @@ def _args(self): '-s', '%dx%d' % self.frame_size, '-pix_fmt', self.frame_format, '-r', str(self.fps)] # Logging is quieted because subprocess.PIPE has limited buffer size. - + # If you have a lot of frames in your animation and set logging to + # DEBUG, you will have a buffer overrun. if (_log.getEffectiveLevel() > logging.DEBUG): args += ['-loglevel', 'quiet'] args += ['-i', 'pipe:'] + self.output_args From a408affdb7d0a3b11e42ba44d9a43f21886c501e Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Fri, 9 Mar 2018 13:25:05 -0800 Subject: [PATCH 0317/1161] PEP8: omg trailing white space --- lib/matplotlib/animation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/animation.py b/lib/matplotlib/animation.py index 35c3b9b034ef..586acad10542 100644 --- a/lib/matplotlib/animation.py +++ b/lib/matplotlib/animation.py @@ -668,7 +668,7 @@ def _args(self): '-r', str(self.fps)] # Logging is quieted because subprocess.PIPE has limited buffer size. # If you have a lot of frames in your animation and set logging to - # DEBUG, you will have a buffer overrun. + # DEBUG, you will have a buffer overrun. if (_log.getEffectiveLevel() > logging.DEBUG): args += ['-loglevel', 'quiet'] args += ['-i', 'pipe:'] + self.output_args From a79ff866e702ba603de01259c0d1a50838cb8b90 Mon Sep 17 00:00:00 2001 From: Johnny Gill Date: Sun, 11 Mar 2018 13:29:34 -0400 Subject: [PATCH 0318/1161] make centre_baseline legal for Text.set_verticalalignment --- lib/matplotlib/text.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/text.py b/lib/matplotlib/text.py index 82a302c269ed..0ecdf08466e4 100644 --- a/lib/matplotlib/text.py +++ b/lib/matplotlib/text.py @@ -1147,9 +1147,10 @@ def set_verticalalignment(self, align): """ Set the vertical alignment - ACCEPTS: [ 'center' | 'top' | 'bottom' | 'baseline' ] + ACCEPTS: [ 'center' | 'top' | 'bottom' | 'baseline' | + 'center_baseline' ] """ - legal = ('top', 'bottom', 'center', 'baseline') + legal = ('top', 'bottom', 'center', 'baseline', 'centre_baseline') if align not in legal: raise ValueError('Vertical alignment must be one of %s' % str(legal)) From eecdc3c1cbdcb59f3632b61167ecf2760b29e08b Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Thu, 8 Mar 2018 13:54:22 -0800 Subject: [PATCH 0319/1161] FIX: re-instate verbose alias --- lib/matplotlib/__init__.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index b02bb7548944..9fff55f8b4d1 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -233,6 +233,7 @@ def _is_writable_dir(p): return os.access(p, os.W_OK) and os.path.isdir(p) _verbose_msg = """\ +matplotlib.verbose is deprecated; Command line argument --verbose-LEVEL is deprecated. This functionality is now provided by the standard python logging library. To get more (or less) logging output: @@ -297,7 +298,6 @@ def _parse_commandline(): _parse_commandline() -@cbook.deprecated("2.2", message=_verbose_msg) class Verbose(object): """ A class to handle reporting. Set the fileo attribute to any file @@ -320,10 +320,12 @@ class Verbose(object): if level_str in levels: _commandLineVerbose = level_str + @cbook.deprecated("2.2", message=_verbose_msg) def __init__(self): self.set_level('silent') self.fileo = sys.stdout + @cbook.deprecated("2.2", message=_verbose_msg) def set_level(self, level): 'set the verbosity to one of the Verbose.levels strings' @@ -335,6 +337,7 @@ def set_level(self, level): else: self.level = level + @cbook.deprecated("2.2", message=_verbose_msg) def set_fileo(self, fname): std = { 'sys.stdout': sys.stdout, @@ -352,6 +355,7 @@ def set_fileo(self, fname): else: self.fileo = fileo + @cbook.deprecated("2.2", message=_verbose_msg) def report(self, s, level='helpful'): """ print message s to self.fileo if self.level>=level. Return @@ -363,6 +367,7 @@ def report(self, s, level='helpful'): return True return False + @cbook.deprecated("2.2", message=_verbose_msg) def wrap(self, fmt, func, level='helpful', always=True): """ return a callable function that wraps func and reports it @@ -386,6 +391,7 @@ def wrapper(*args, **kwargs): wrapper.__doc__ = func.__doc__ return wrapper + @cbook.deprecated("2.2", message=_verbose_msg) def ge(self, level): 'return true if self.level is >= level' return self.vald[self.level] >= self.vald[level] From f06c2733c99182927f4a61642aea352c290c48f4 Mon Sep 17 00:00:00 2001 From: JelsB Date: Sun, 11 Mar 2018 17:43:23 +0000 Subject: [PATCH 0320/1161] TEST: add test for extend kwarg in log scale contour --- .../test_contour/contour_log_extension.png | Bin 0 -> 26317 bytes lib/matplotlib/tests/test_contour.py | 34 ++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 lib/matplotlib/tests/baseline_images/test_contour/contour_log_extension.png diff --git a/lib/matplotlib/tests/baseline_images/test_contour/contour_log_extension.png b/lib/matplotlib/tests/baseline_images/test_contour/contour_log_extension.png new file mode 100644 index 0000000000000000000000000000000000000000..af754d5ba35eefffa3e5a977546ea2b9129243da GIT binary patch literal 26317 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%0DWa-)qIY>4L9Yx|*9O@r=C-kZvM+EuPu?U~s;0 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 lS}2 Date: Sun, 11 Mar 2018 17:46:37 +0000 Subject: [PATCH 0321/1161] Warning comment about log scale extend not needed anymore --- examples/images_contours_and_fields/contourf_log.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/examples/images_contours_and_fields/contourf_log.py b/examples/images_contours_and_fields/contourf_log.py index 96ee55c51215..706ecd3d2a1f 100644 --- a/examples/images_contours_and_fields/contourf_log.py +++ b/examples/images_contours_and_fields/contourf_log.py @@ -42,9 +42,7 @@ # lev_exp = np.arange(np.floor(np.log10(z.min())-1), # np.ceil(np.log10(z.max())+1)) # levs = np.power(10, lev_exp) -# cs = P.contourf(X, Y, z, levs, norm=colors.LogNorm()) - -# The 'extend' kwarg does not work yet with a log scale. +# cs = ax.contourf(X, Y, z, levs, norm=colors.LogNorm()) cbar = fig.colorbar(cs) From 81bd65db18f06bd4182ee2e2cce9edb92953563b Mon Sep 17 00:00:00 2001 From: Johnny Gill Date: Sun, 11 Mar 2018 14:31:45 -0400 Subject: [PATCH 0322/1161] fix Text.__init__() to use set_*alignment methods --- lib/matplotlib/text.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/text.py b/lib/matplotlib/text.py index 0ecdf08466e4..ec46e40d751a 100644 --- a/lib/matplotlib/text.py +++ b/lib/matplotlib/text.py @@ -163,8 +163,8 @@ def __init__(self, self.set_color(color) self.set_usetex(usetex) self.set_wrap(wrap) - self._verticalalignment = verticalalignment - self._horizontalalignment = horizontalalignment + self.set_verticalalignment(verticalalignment) + self.set_horizontalalignment(horizontalalignment) self._multialignment = multialignment self._rotation = rotation self._fontproperties = fontproperties From 4165addfda6f1f66250e92ad0e2ee8d64706d0b2 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sun, 11 Mar 2018 19:54:19 +0100 Subject: [PATCH 0323/1161] Update copyright date to 2018 --- doc/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/conf.py b/doc/conf.py index 5b8112788501..dcbb45ac8e28 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -153,7 +153,7 @@ def _check_deps(): project = 'Matplotlib' copyright = ('2002 - 2012 John Hunter, Darren Dale, Eric Firing, ' 'Michael Droettboom and the Matplotlib development ' - 'team; 2012 - 2017 The Matplotlib development team') + 'team; 2012 - 2018 The Matplotlib development team') # The default replacements for |version| and |release|, also used in various # other places throughout the built documents. From d7329dff3923a2222f4c058b46fcff01dcc30149 Mon Sep 17 00:00:00 2001 From: Johnny Gill Date: Sun, 11 Mar 2018 15:21:55 -0400 Subject: [PATCH 0324/1161] US/UK english typo confusion --- lib/matplotlib/text.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/text.py b/lib/matplotlib/text.py index ec46e40d751a..2a3c02a17af2 100644 --- a/lib/matplotlib/text.py +++ b/lib/matplotlib/text.py @@ -1150,7 +1150,7 @@ def set_verticalalignment(self, align): ACCEPTS: [ 'center' | 'top' | 'bottom' | 'baseline' | 'center_baseline' ] """ - legal = ('top', 'bottom', 'center', 'baseline', 'centre_baseline') + legal = ('top', 'bottom', 'center', 'baseline', 'center_baseline') if align not in legal: raise ValueError('Vertical alignment must be one of %s' % str(legal)) From 543bb402c4a90f192330d7f81f9cccba2cac703f Mon Sep 17 00:00:00 2001 From: AlexCav Date: Sun, 11 Mar 2018 12:48:06 -0700 Subject: [PATCH 0325/1161] Bugfix for issue #8120 - inconsistent inset_axes position --- lib/mpl_toolkits/axes_grid1/inset_locator.py | 16 ++-- .../test_axes_grid1/inset_axes.png | Bin 0 -> 9928 bytes lib/mpl_toolkits/tests/test_axes_grid1.py | 69 +++++++++++++++++- 3 files changed, 78 insertions(+), 7 deletions(-) create mode 100644 lib/mpl_toolkits/tests/baseline_images/test_axes_grid1/inset_axes.png diff --git a/lib/mpl_toolkits/axes_grid1/inset_locator.py b/lib/mpl_toolkits/axes_grid1/inset_locator.py index 08e80ee03817..d1f96432d46b 100644 --- a/lib/mpl_toolkits/axes_grid1/inset_locator.py +++ b/lib/mpl_toolkits/axes_grid1/inset_locator.py @@ -90,7 +90,6 @@ def __call__(self, ax, renderer): class AnchoredSizeLocator(AnchoredLocatorBase): def __init__(self, bbox_to_anchor, x_size, y_size, loc, borderpad=0.5, bbox_transform=None): - super().__init__( bbox_to_anchor, None, loc, borderpad=borderpad, bbox_transform=bbox_transform @@ -105,16 +104,16 @@ def get_extent(self, renderer): dpi = renderer.points_to_pixels(72.) r, a = self.x_size.get_size(renderer) - width = w*r + a*dpi + width = w * r + a * dpi r, a = self.y_size.get_size(renderer) - height = h*r + a*dpi + height = h * r + a * dpi xd, yd = 0, 0 fontsize = renderer.points_to_pixels(self.prop.get_size_in_points()) pad = self.pad * fontsize - return width+2*pad, height+2*pad, xd+pad, yd+pad + return width + 2 * pad, height + 2 * pad, xd + pad, yd + pad class AnchoredZoomLocator(AnchoredLocatorBase): @@ -122,7 +121,6 @@ def __init__(self, parent_axes, zoom, loc, borderpad=0.5, bbox_to_anchor=None, bbox_transform=None): - self.parent_axes = parent_axes self.zoom = zoom @@ -141,7 +139,7 @@ def get_extent(self, renderer): fontsize = renderer.points_to_pixels(self.prop.get_size_in_points()) pad = self.pad * fontsize - return abs(w*self.zoom)+2*pad, abs(h*self.zoom)+2*pad, pad, pad + return abs(w * self.zoom) + 2 * pad, abs(h * self.zoom) + 2 * pad, pad, pad class BboxPatch(Patch): @@ -184,6 +182,7 @@ def get_path(self): Path.CLOSEPOLY] return Path(verts, codes) + get_path.__doc__ = Patch.get_path.__doc__ @@ -318,6 +317,7 @@ def __init__(self, bbox1, bbox2, loc1, loc2=None, **kwargs): def get_path(self): return self.connect_bbox(self.bbox1, self.bbox2, self.loc1, self.loc2) + get_path.__doc__ = Patch.get_path.__doc__ @@ -373,6 +373,7 @@ def get_path(self): list(path2.vertices) + [path1.vertices[0]]) return Path(path_merged) + get_path.__doc__ = BboxConnector.get_path.__doc__ @@ -453,6 +454,9 @@ def inset_axes(parent_axes, width, height, loc=1, if bbox_to_anchor is None: bbox_to_anchor = parent_axes.bbox + if bbox_transform is None: + bbox_transform = parent_axes.transAxes + axes_locator = AnchoredSizeLocator(bbox_to_anchor, width, height, loc=loc, diff --git a/lib/mpl_toolkits/tests/baseline_images/test_axes_grid1/inset_axes.png b/lib/mpl_toolkits/tests/baseline_images/test_axes_grid1/inset_axes.png new file mode 100644 index 0000000000000000000000000000000000000000..90498f5d441beff8e0d04b4f0f650801bf5f756f GIT binary patch literal 9928 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 fTu%D?m;%X<%Uh+fSq8VSAR4!|Z Date: Sun, 11 Mar 2018 17:12:30 -0700 Subject: [PATCH 0326/1161] Fix image fmt detection for Path input. --- lib/matplotlib/backend_bases.py | 2 ++ lib/matplotlib/tests/test_figure.py | 10 +++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/backend_bases.py b/lib/matplotlib/backend_bases.py index 7fec6081f405..4aa6f667a93c 100644 --- a/lib/matplotlib/backend_bases.py +++ b/lib/matplotlib/backend_bases.py @@ -2130,6 +2130,8 @@ def print_figure(self, filename, dpi=None, facecolor=None, edgecolor=None, if format is None: # get format from filename, or from backend's default filetype + if isinstance(filename, getattr(os, "PathLike", ())): + filename = os.fspath(filename) if isinstance(filename, six.string_types): format = os.path.splitext(filename)[1][1:] if format is None or format == '': diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py index 93d2639056ac..229ce192cc75 100644 --- a/lib/matplotlib/tests/test_figure.py +++ b/lib/matplotlib/tests/test_figure.py @@ -1,6 +1,5 @@ from __future__ import absolute_import, division, print_function -import os import sys import warnings @@ -379,6 +378,11 @@ def test_figure_repr(): @pytest.mark.skipif(sys.version_info < (3, 6), reason="requires Python 3.6+") @pytest.mark.parametrize("fmt", ["png", "pdf", "ps", "eps", "svg"]) -def test_fspath(fmt): +def test_fspath(fmt, tmpdir): from pathlib import Path - plt.savefig(Path(os.devnull), format=fmt) + out = Path(tmpdir, "test.{}".format(fmt)) + plt.savefig(out) + with out.open("rb") as file: + # All the supported formats include the format name (case-insensitive) + # in the first 100 bytes. + assert fmt.encode("ascii") in file.read(100).lower() From 1d9880cfc6931f065bc4ffad193b65db5fdd4a08 Mon Sep 17 00:00:00 2001 From: Gauravjeet Date: Mon, 12 Mar 2018 03:52:45 -0400 Subject: [PATCH 0327/1161] Add markerfacecolor and markeredgecolor to the rcParams for lines --- lib/matplotlib/lines.py | 4 ++++ lib/matplotlib/mpl-data/stylelib/classic.mplstyle | 2 ++ lib/matplotlib/rcsetup.py | 2 ++ lib/matplotlib/tests/test_rcparams.py | 12 ++++++++++++ matplotlibrc.template | 2 ++ 5 files changed, 22 insertions(+) diff --git a/lib/matplotlib/lines.py b/lib/matplotlib/lines.py index ec5a522d328a..97cdf7f7633f 100644 --- a/lib/matplotlib/lines.py +++ b/lib/matplotlib/lines.py @@ -326,6 +326,10 @@ def __init__(self, xdata, ydata, linestyle = rcParams['lines.linestyle'] if marker is None: marker = rcParams['lines.marker'] + if markerfacecolor is None: + markerfacecolor = rcParams['lines.markerfacecolor'] + if markeredgecolor is None: + markeredgecolor = rcParams['lines.markeredgecolor'] if color is None: color = rcParams['lines.color'] diff --git a/lib/matplotlib/mpl-data/stylelib/classic.mplstyle b/lib/matplotlib/mpl-data/stylelib/classic.mplstyle index a8c5674aefcb..94ae5bf7a4f3 100644 --- a/lib/matplotlib/mpl-data/stylelib/classic.mplstyle +++ b/lib/matplotlib/mpl-data/stylelib/classic.mplstyle @@ -8,6 +8,8 @@ lines.linewidth : 1.0 # line width in points lines.linestyle : - # solid line lines.color : b # has no affect on plot(); see axes.prop_cycle lines.marker : None # the default marker +lines.markerfacecolor : auto # the default markerfacecolor +lines.markeredgecolor : auto # the default markeredgecolor lines.markeredgewidth : 0.5 # the line width around the marker symbol lines.markersize : 6 # markersize, in points lines.dash_joinstyle : round # miter|round|bevel diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index a4c86779ba4e..34853be448b2 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -946,6 +946,8 @@ def _validate_linestyle(ls): 'lines.linestyle': ['-', _validate_linestyle], # solid line 'lines.color': ['C0', validate_color], # first color in color cycle 'lines.marker': ['None', validate_string], # marker name + 'lines.markerfacecolor': ['auto', validate_color_or_auto], # default color + 'lines.markeredgecolor': ['auto', validate_color_or_auto], # default color 'lines.markeredgewidth': [1.0, validate_float], 'lines.markersize': [6, validate_float], # markersize, in points 'lines.antialiased': [True, validate_bool], # antialiased (no jaggies) diff --git a/lib/matplotlib/tests/test_rcparams.py b/lib/matplotlib/tests/test_rcparams.py index a4fd6fd0e96a..56290fe89d08 100644 --- a/lib/matplotlib/tests/test_rcparams.py +++ b/lib/matplotlib/tests/test_rcparams.py @@ -180,6 +180,18 @@ def test_legend_colors(color_type, param_dict, target): assert getattr(leg.legendPatch, get_func)() == target +def test_mfc_rcparams(): + mpl.rcParams['lines.markerfacecolor'] = 'r' + ln = mpl.lines.Line2D([1, 2], [1, 2]) + assert ln.get_markerfacecolor() == 'r' + + +def test_mec_rcparams(): + mpl.rcParams['lines.markeredgecolor'] = 'r' + ln = mpl.lines.Line2D([1, 2], [1, 2]) + assert ln.get_markeredgecolor() == 'r' + + def test_Issue_1713(): utf32_be = os.path.join(os.path.dirname(__file__), 'test_utf32_be_rcparams.rc') diff --git a/matplotlibrc.template b/matplotlibrc.template index d301ece5200b..5bc4f47a346f 100644 --- a/matplotlibrc.template +++ b/matplotlibrc.template @@ -78,6 +78,8 @@ backend : $TEMPLATE_BACKEND #lines.linestyle : - ## solid line #lines.color : C0 ## has no affect on plot(); see axes.prop_cycle #lines.marker : None ## the default marker +#lines.markerfacecolor : auto ## the default markerfacecolor +#lines.markeredgecolor : auto ## the default markeredgecolor #lines.markeredgewidth : 1.0 ## the line width around the marker symbol #lines.markersize : 6 ## markersize, in points #lines.dash_joinstyle : round ## miter|round|bevel From 6b5537fb9010020690b49e55f02f3c122c942c1a Mon Sep 17 00:00:00 2001 From: AlexCav Date: Mon, 12 Mar 2018 15:32:37 -0700 Subject: [PATCH 0328/1161] Fixed pep8 failures in test_axes_grid1.py --- lib/mpl_toolkits/tests/test_axes_grid1.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py index 412b210501d1..740eb37889bd 100644 --- a/lib/mpl_toolkits/tests/test_axes_grid1.py +++ b/lib/mpl_toolkits/tests/test_axes_grid1.py @@ -9,7 +9,11 @@ from mpl_toolkits.axes_grid1 import host_subplot from mpl_toolkits.axes_grid1 import make_axes_locatable from mpl_toolkits.axes_grid1 import AxesGrid -from mpl_toolkits.axes_grid1.inset_locator import zoomed_inset_axes, mark_inset, inset_axes +from mpl_toolkits.axes_grid1.inset_locator import ( + zoomed_inset_axes, + mark_inset, + inset_axes +) from mpl_toolkits.axes_grid1.anchored_artists import AnchoredSizeBar from matplotlib.colors import LogNorm @@ -180,7 +184,7 @@ def get_demo_image(): origin="lower") # creating our inset axes without a bbox_transform parameter - axins = inset_axes(ax, width=1., height=1., bbox_to_anchor=(1,1)) + axins = inset_axes(ax, width=1., height=1., bbox_to_anchor=(1, 1)) axins.imshow(Z2, extent=extent, interpolation="nearest", origin="lower") @@ -209,7 +213,7 @@ def get_demo_image(): def test_inset_axes_without_transform_should_use_parent_axes(): # creating our figure - fig = plt.figure(dpi=150); + fig = plt.figure(dpi=150) # gca method gets current axes of the figure ax = plt.gca() From 5c09b0168ffe8e3b270b9b0233ec962e349098f4 Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Tue, 13 Mar 2018 09:39:45 -0700 Subject: [PATCH 0329/1161] FIX/TST OS X builds --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 852837464d6c..7a3ee941a356 100644 --- a/.travis.yml +++ b/.travis.yml @@ -115,7 +115,8 @@ before_install: # We could install ghostscript and inkscape here to test svg and pdf # but this makes the test time really long. # brew install ghostscript inkscape - export PATH=/usr/local/opt/ccache/libexec:$PATH + export PATH= \ + /usr/local/opt/python/libexec/bin:/usr/local/opt/ccache/libexec:$PATH fi install: From 5034698e8128fb57bd903692635d93cfbd7f0877 Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Tue, 13 Mar 2018 09:41:03 -0700 Subject: [PATCH 0330/1161] FIX/TST OS X builds --- .travis.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 7a3ee941a356..a2f69c526ad9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -115,8 +115,7 @@ before_install: # We could install ghostscript and inkscape here to test svg and pdf # but this makes the test time really long. # brew install ghostscript inkscape - export PATH= \ - /usr/local/opt/python/libexec/bin:/usr/local/opt/ccache/libexec:$PATH + export PATH=/usr/local/opt/python/libexec/bin:/usr/local/opt/ccache/libexec:$PATH fi install: From 9e551aa7563039145eb6cd9b9298e5505661dfb0 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Tue, 13 Mar 2018 11:56:59 -0700 Subject: [PATCH 0331/1161] Remove dead wx testing code. The transforms.Point class appears to have been removed in 3bddca5 (2008) so test_wxagg.py probably has not worked since then... --- unit/test_wxagg.py | 176 --------------------------------------------- 1 file changed, 176 deletions(-) delete mode 100755 unit/test_wxagg.py diff --git a/unit/test_wxagg.py b/unit/test_wxagg.py deleted file mode 100755 index 209dc150de39..000000000000 --- a/unit/test_wxagg.py +++ /dev/null @@ -1,176 +0,0 @@ -#!/usr/bin/env pythonw -# Name: test_wxagg.py -# Purpose: exercises the agg to wx.Image and wx.Bitmap conversion functions -# Author: Ken McIvor -# -# Copyright 2005 Illinois Institute of Technology -# -# Permission is hereby granted, free of charge, to any person obtaining -# a copy of this software and associated documentation files (the -# "Software"), to deal in the Software without restriction, including -# without limitation the rights to use, copy, modify, merge, publish, -# distribute, sublicense, and/or sell copies of the Software, and to -# permit persons to whom the Software is furnished to do so, subject to -# the following conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -# IN NO EVENT SHALL ILLINOIS INSTITUTE OF TECHNOLOGY BE LIABLE FOR ANY -# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# -# Except as contained in this notice, the name of Illinois Institute -# of Technology shall not be used in advertising or otherwise to promote -# the sale, use or other dealings in this Software without prior written -# authorization from Illinois Institute of Technology. - -from __future__ import print_function - - -import wx -import time -import matplotlib -matplotlib.use('Agg') -from matplotlib.figure import Figure -from matplotlib.transforms import Bbox, Point, Value -from matplotlib.backends.backend_agg import FigureCanvasAgg -from matplotlib.backends.backend_wxagg import _py_convert_agg_to_wx_image, \ - _py_convert_agg_to_wx_bitmap -import matplotlib.backends._wxagg as wxagg - - -#################### -# Test Configuration -#################### - -# Simple tests -- write PNG images of the plots -TEST_PY = 0 -TEST_EXT = 0 - -# Timing tests -- print time per plot -TIME_PY = 1 -TIME_EXT = 1 - - -################# -# Test Parameters -################# - -# Bounding box to use in testing -ll_x = 320 -ll_y = 240 -ur_x = 640 -ur_y = 480 -BBOX = Bbox(Point(Value(ll_x), Value(ll_y)), - Point(Value(ur_x), Value(ur_y))) - -# Number of iterations for timing -NITERS = 25 - - -############################################################################### - - -# -# Testing framework -# - -def time_loop(function, args): - i = 0 - start = time.time() - while i < NITERS: - function(*args) - i += 1 - return (time.time() - start) / NITERS - - -def make_figure(): - figure = Figure((6.4, 4.8), 100, frameon=False) - canvas = FigureCanvasAgg(figure) - return figure, canvas - - -def plot_sin(figure): - from pylab import arange, sin, pi - t = arange(0.0, 2.0, 0.01) - s = sin(2 * pi * t) - - axes = figure.gca() - axes.plot(t, s, linewidth=1.0) - axes.set_title('title') - - -def main(): - app = wx.PySimpleApp() - figure, canvas = make_figure() - bbox = None - plot_sin(figure) - canvas.draw() - agg = canvas.get_renderer() - - if 0: - print('ll.x =', BBOX.ll().x().get()) - print('ll.y =', BBOX.ll().y().get()) - print('ur.x =', BBOX.ur().x().get()) - print('ur.y =', BBOX.ur().y().get()) - - # test the pure python implementation - if TEST_PY: - i_py = _py_convert_agg_to_wx_image(agg, None) - b_py = _py_convert_agg_to_wx_bitmap(agg, None) - i_py_b = _py_convert_agg_to_wx_image(agg, BBOX) - b_py_b = _py_convert_agg_to_wx_bitmap(agg, BBOX) - - i_py.SaveFile('a_py_img.png', wx.BITMAP_TYPE_PNG) - b_py.SaveFile('a_py_bmp.png', wx.BITMAP_TYPE_PNG) - i_py_b.SaveFile('b_py_img.png', wx.BITMAP_TYPE_PNG) - b_py_b.SaveFile('b_py_bmp.png', wx.BITMAP_TYPE_PNG) - - # test the C++ implementation - if TEST_EXT: - i_ext = wxagg.convert_agg_to_wx_image(agg, None) - b_ext = wxagg.convert_agg_to_wx_bitmap(agg, None) - i_ext_b = wxagg.convert_agg_to_wx_image(agg, BBOX) - b_ext_b = wxagg.convert_agg_to_wx_bitmap(agg, BBOX) - - i_ext.SaveFile('a_ext_img.png', wx.BITMAP_TYPE_PNG) - b_ext.SaveFile('a_ext_bmp.png', wx.BITMAP_TYPE_PNG) - i_ext_b.SaveFile('b_ext_img.png', wx.BITMAP_TYPE_PNG) - b_ext_b.SaveFile('b_ext_bmp.png', wx.BITMAP_TYPE_PNG) - - # time the pure python implementation - if TIME_PY: - t = time_loop(_py_convert_agg_to_wx_image, (agg, None)) - print('Python agg2img: %.4f seconds (%.1f HZ)' % (t, 1 / t)) - - t = time_loop(_py_convert_agg_to_wx_bitmap, (agg, None)) - print('Python agg2bmp: %.4f seconds (%.1f HZ)' % (t, 1 / t)) - - t = time_loop(_py_convert_agg_to_wx_image, (agg, BBOX)) - print('Python agg2img w/bbox: %.4f seconds (%.1f HZ)' % (t, 1 / t)) - - t = time_loop(_py_convert_agg_to_wx_bitmap, (agg, BBOX)) - print('Python agg2bmp w/bbox: %.4f seconds (%.1f HZ)' % (t, 1 / t)) - - # time the C++ implementation - if TIME_EXT: - t = time_loop(wxagg.convert_agg_to_wx_image, (agg, None)) - print('_wxagg agg2img: %.4f seconds (%.1f HZ)' % (t, 1 / t)) - - t = time_loop(wxagg.convert_agg_to_wx_bitmap, (agg, None)) - print('_wxagg agg2bmp: %.4f seconds (%.1f HZ)' % (t, 1 / t)) - - t = time_loop(wxagg.convert_agg_to_wx_image, (agg, BBOX)) - print('_wxagg agg2img w/bbox: %.4f seconds (%.1f HZ)' % (t, 1 / t)) - - t = time_loop(wxagg.convert_agg_to_wx_bitmap, (agg, BBOX)) - print('_wxagg agg2bmp w/bbox: %.4f seconds (%.1f HZ)' % (t, 1 / t)) - - -if __name__ == '__main__': - main() From cd9d84f4b122390a56b8cd6e7179cb6afd740f3f Mon Sep 17 00:00:00 2001 From: thuvejan Date: Tue, 13 Mar 2018 15:54:07 -0400 Subject: [PATCH 0332/1161] Changed SVG text drawing logic to consider alpha of RGBA color --- lib/matplotlib/backends/backend_svg.py | 12 +- .../test_text/text_as_path_opacity.svg | 114 ++++++++++++++++++ .../test_text/text_as_text_opacity.svg | 32 +++++ lib/matplotlib/tests/test_text.py | 22 ++++ 4 files changed, 176 insertions(+), 4 deletions(-) create mode 100644 lib/matplotlib/tests/baseline_images/test_text/text_as_path_opacity.svg create mode 100644 lib/matplotlib/tests/baseline_images/test_text/text_as_text_opacity.svg diff --git a/lib/matplotlib/backends/backend_svg.py b/lib/matplotlib/backends/backend_svg.py index bb5fec9e9a5f..ec3be8b380e3 100644 --- a/lib/matplotlib/backends/backend_svg.py +++ b/lib/matplotlib/backends/backend_svg.py @@ -901,8 +901,10 @@ def _draw_text_as_path(self, gc, x, y, s, prop, angle, ismath, mtext=None): style = {} if color != '#000000': style['fill'] = color - if gc.get_alpha() != 1.0: - style['opacity'] = short_float_fmt(gc.get_alpha()) + + alpha = gc.get_alpha() if gc.get_forced_alpha() else gc.get_rgb()[3] + if alpha != 1: + style['opacity'] = short_float_fmt(alpha) if not ismath: font = text2path._get_font(prop) @@ -1002,8 +1004,10 @@ def _draw_text_as_text(self, gc, x, y, s, prop, angle, ismath, mtext=None): style = {} if color != '#000000': style['fill'] = color - if gc.get_alpha() != 1.0: - style['opacity'] = short_float_fmt(gc.get_alpha()) + + alpha = gc.get_alpha() if gc.get_forced_alpha() else gc.get_rgb()[3] + if alpha != 1: + style['opacity'] = short_float_fmt(alpha) if not ismath: font = self._get_font(prop) diff --git a/lib/matplotlib/tests/baseline_images/test_text/text_as_path_opacity.svg b/lib/matplotlib/tests/baseline_images/test_text/text_as_path_opacity.svg new file mode 100644 index 000000000000..a7fdb7707994 --- /dev/null +++ b/lib/matplotlib/tests/baseline_images/test_text/text_as_path_opacity.svg @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/matplotlib/tests/baseline_images/test_text/text_as_text_opacity.svg b/lib/matplotlib/tests/baseline_images/test_text/text_as_text_opacity.svg new file mode 100644 index 000000000000..69d287e3536c --- /dev/null +++ b/lib/matplotlib/tests/baseline_images/test_text/text_as_text_opacity.svg @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + 50% using `color` + + + 50% using `alpha` + + + 50% using `alpha` and 100% `color` + + + + diff --git a/lib/matplotlib/tests/test_text.py b/lib/matplotlib/tests/test_text.py index 7bc878accc95..4d22075b7dd5 100644 --- a/lib/matplotlib/tests/test_text.py +++ b/lib/matplotlib/tests/test_text.py @@ -474,3 +474,25 @@ def test_single_artist_usetex(): fig, ax = plt.subplots() ax.text(.5, .5, r"$\frac12$", usetex=True) fig.canvas.draw() + + +@image_comparison(baseline_images=['text_as_path_opacity'], + extensions=['svg']) +def test_text_as_path_opacity(): + plt.figure() + plt.gca().set_axis_off() + plt.text(0.25, 0.25, 'c', color=(0, 0, 0, 0.5)) + plt.text(0.25, 0.5, 'a', alpha=0.5) + plt.text(0.25, 0.75, 'x', alpha=0.5, color=(0, 0, 0, 1)) + + +@image_comparison(baseline_images=['text_as_text_opacity'], + extensions=['svg']) +def test_text_as_text_opacity(): + matplotlib.rcParams['svg.fonttype'] = 'none' + plt.figure() + plt.gca().set_axis_off() + plt.text(0.25, 0.25, '50% using `color`', color=(0, 0, 0, 0.5)) + plt.text(0.25, 0.5, '50% using `alpha`', alpha=0.5) + plt.text(0.25, 0.75, '50% using `alpha` and 100% `color`', alpha=0.5, + color=(0, 0, 0, 1)) From d1c9ce605b3f6fbedf4b4145450f4c565de7d806 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Thu, 8 Mar 2018 12:27:32 -0800 Subject: [PATCH 0333/1161] repr style fixes. The `nice_repr` functions were there to handle Py2's `u"foo"`. --- .../line_styles_reference.py | 6 +----- .../marker_fillstyle_reference.py | 6 +----- .../lines_bars_and_markers/marker_reference.py | 8 ++------ examples/units/basic_units.py | 2 +- lib/matplotlib/cbook/__init__.py | 9 ++++----- lib/matplotlib/font_manager.py | 14 ++++++-------- lib/matplotlib/transforms.py | 5 +---- 7 files changed, 16 insertions(+), 34 deletions(-) diff --git a/examples/lines_bars_and_markers/line_styles_reference.py b/examples/lines_bars_and_markers/line_styles_reference.py index dee949489471..4db1d40f7059 100644 --- a/examples/lines_bars_and_markers/line_styles_reference.py +++ b/examples/lines_bars_and_markers/line_styles_reference.py @@ -20,16 +20,12 @@ def format_axes(ax): ax.set_axis_off() -def nice_repr(text): - return repr(text).lstrip('u') - - # Plot all line styles. fig, ax = plt.subplots() linestyles = ['-', '--', '-.', ':'] for y, linestyle in enumerate(linestyles): - ax.text(-0.1, y, nice_repr(linestyle), **text_style) + ax.text(-0.1, y, repr(linestyle), **text_style) ax.plot(y * points, linestyle=linestyle, color=color, linewidth=3) format_axes(ax) ax.set_title('line styles') diff --git a/examples/lines_bars_and_markers/marker_fillstyle_reference.py b/examples/lines_bars_and_markers/marker_fillstyle_reference.py index 4960b8cd9122..50ac70354d5e 100644 --- a/examples/lines_bars_and_markers/marker_fillstyle_reference.py +++ b/examples/lines_bars_and_markers/marker_fillstyle_reference.py @@ -22,15 +22,11 @@ def format_axes(ax): ax.set_axis_off() -def nice_repr(text): - return repr(text).lstrip('u') - - fig, ax = plt.subplots() # Plot all fill styles. for y, fill_style in enumerate(Line2D.fillStyles): - ax.text(-0.5, y, nice_repr(fill_style), **text_style) + ax.text(-0.5, y, repr(fill_style), **text_style) ax.plot(y * points, fillstyle=fill_style, **marker_style) format_axes(ax) ax.set_title('fill style') diff --git a/examples/lines_bars_and_markers/marker_reference.py b/examples/lines_bars_and_markers/marker_reference.py index 8b381d1cf051..fd4371e2aa33 100644 --- a/examples/lines_bars_and_markers/marker_reference.py +++ b/examples/lines_bars_and_markers/marker_reference.py @@ -22,10 +22,6 @@ def format_axes(ax): ax.set_axis_off() -def nice_repr(text): - return repr(text).lstrip('u') - - def split_list(a_list): i_half = len(a_list) // 2 return (a_list[:i_half], a_list[i_half:]) @@ -44,7 +40,7 @@ def split_list(a_list): key=lambda x: (str(type(x)), str(x)))[::-1] for ax, markers in zip(axes, split_list(unfilled_markers)): for y, marker in enumerate(markers): - ax.text(-0.5, y, nice_repr(marker), **text_style) + ax.text(-0.5, y, repr(marker), **text_style) ax.plot(y * points, marker=marker, **marker_style) format_axes(ax) fig.suptitle('un-filled markers', fontsize=14) @@ -56,7 +52,7 @@ def split_list(a_list): fig, axes = plt.subplots(ncols=2) for ax, markers in zip(axes, split_list(Line2D.filled_markers)): for y, marker in enumerate(markers): - ax.text(-0.5, y, nice_repr(marker), **text_style) + ax.text(-0.5, y, repr(marker), **text_style) ax.plot(y * points, marker=marker, **marker_style) format_axes(ax) fig.suptitle('filled markers', fontsize=14) diff --git a/examples/units/basic_units.py b/examples/units/basic_units.py index fa2d2103ea80..13ecf6efdd31 100644 --- a/examples/units/basic_units.py +++ b/examples/units/basic_units.py @@ -155,7 +155,7 @@ def __array_wrap__(self, array, context): return TaggedValue(array, self.unit) def __repr__(self): - return 'TaggedValue(' + repr(self.value) + ', ' + repr(self.unit) + ')' + return 'TaggedValue({!r}, {!r})'.format(self.value, self.unit) def __str__(self): return str(self.value) + ' in ' + str(self.unit) diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index acf1ffa3c2b1..dc3a4cb81e14 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -331,8 +331,7 @@ def __init__(self, type, seq=None): def __repr__(self): return '' % (len(self), self.type) - def __str__(self): - return repr(self) + __str__ = __repr__ def __getstate__(self): # store a dictionary of this SilentList's state @@ -919,14 +918,14 @@ def print_path(path): # next "wraps around" next = path[(i + 1) % len(path)] - outstream.write(" %s -- " % str(type(step))) + outstream.write(" %s -- " % type(step)) if isinstance(step, dict): for key, val in six.iteritems(step): if val is next: - outstream.write("[%s]" % repr(key)) + outstream.write("[{!r}]".format(key)) break if key is next: - outstream.write("[key] = %s" % repr(val)) + outstream.write("[key] = {!r}".format(val)) break elif isinstance(step, list): outstream.write("[%d]" % step.index(next)) diff --git a/lib/matplotlib/font_manager.py b/lib/matplotlib/font_manager.py index e7a3ce071195..c1afe3f12b49 100644 --- a/lib/matplotlib/font_manager.py +++ b/lib/matplotlib/font_manager.py @@ -1267,7 +1267,7 @@ def _findfont_cached(self, prop, fontext, directory, fallback_to_default, if best_font is None or best_score >= 10.0: if fallback_to_default: warnings.warn( - 'findfont: Font family %s not found. Falling back to %s' % + 'findfont: Font family %s not found. Falling back to %s.' % (prop.get_family(), self.defaultFamily[fontext])) default_prop = prop.copy() default_prop.set_family(self.defaultFamily[fontext]) @@ -1275,15 +1275,13 @@ def _findfont_cached(self, prop, fontext, directory, fallback_to_default, else: # This is a hard fail -- we can't find anything reasonable, # so just return the DejuVuSans.ttf - warnings.warn( - 'findfont: Could not match %s. Returning %s' % - (prop, self.defaultFont[fontext]), - UserWarning) + warnings.warn('findfont: Could not match %s. Returning %s.' % + (prop, self.defaultFont[fontext]), + UserWarning) result = self.defaultFont[fontext] else: - _log.debug( - 'findfont: Matching %s to %s (%s) with score of %f' % - (prop, best_font.name, repr(best_font.fname), best_score)) + _log.debug('findfont: Matching %s to %s (%r) with score of %f.', + prop, best_font.name, best_font.fname, best_score) result = best_font.fname if not os.path.isfile(result): diff --git a/lib/matplotlib/transforms.py b/lib/matplotlib/transforms.py index 21cb903fb1aa..20899980c5f0 100644 --- a/lib/matplotlib/transforms.py +++ b/lib/matplotlib/transforms.py @@ -33,9 +33,6 @@ # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import six import numpy as np @@ -105,7 +102,7 @@ def __init__(self, shorthand_name=None): if DEBUG: def __str__(self): - # either just return the name of this TransformNode, or it's repr + # either just return the name of this TransformNode, or its repr return self._shorthand_name or repr(self) def __getstate__(self): From 769cfb81a222c842c40085723c05a8b5c853427f Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Tue, 13 Mar 2018 10:21:11 -0700 Subject: [PATCH 0334/1161] API: check locator and formatter args when passed --- lib/matplotlib/axis.py | 12 ++++++++++++ lib/matplotlib/tests/test_ticker.py | 24 ++++++++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/lib/matplotlib/axis.py b/lib/matplotlib/axis.py index b15e5af483dc..220af0f6529a 100644 --- a/lib/matplotlib/axis.py +++ b/lib/matplotlib/axis.py @@ -1568,6 +1568,9 @@ def set_major_formatter(self, formatter): ACCEPTS: A :class:`~matplotlib.ticker.Formatter` instance """ + if not hasattr(formatter, 'format_data'): + raise TypeError("formatter argument should be instance of " + "matplotlib.ticker.Formatter") self.isDefault_majfmt = False self.major.formatter = formatter formatter.set_axis(self) @@ -1579,6 +1582,9 @@ def set_minor_formatter(self, formatter): ACCEPTS: A :class:`~matplotlib.ticker.Formatter` instance """ + if not hasattr(formatter, 'format_data'): + raise TypeError("formatter argument should be instance of " + "matplotlib.ticker.Formatter") self.isDefault_minfmt = False self.minor.formatter = formatter formatter.set_axis(self) @@ -1590,6 +1596,9 @@ def set_major_locator(self, locator): ACCEPTS: a :class:`~matplotlib.ticker.Locator` instance """ + if not hasattr(locator, 'tick_values'): + raise TypeError("formatter argument should be instance of " + "matplotlib.ticker.Locator") self.isDefault_majloc = False self.major.locator = locator locator.set_axis(self) @@ -1601,6 +1610,9 @@ def set_minor_locator(self, locator): ACCEPTS: a :class:`~matplotlib.ticker.Locator` instance """ + if not hasattr(locator, 'tick_values'): + raise TypeError("formatter argument should be instance of " + "matplotlib.ticker.Locator") self.isDefault_minloc = False self.minor.locator = locator locator.set_axis(self) diff --git a/lib/matplotlib/tests/test_ticker.py b/lib/matplotlib/tests/test_ticker.py index 32206a0c6168..da2227e6805f 100644 --- a/lib/matplotlib/tests/test_ticker.py +++ b/lib/matplotlib/tests/test_ticker.py @@ -728,3 +728,27 @@ def test_latex(self, is_latex, usetex, expected): fmt = mticker.PercentFormatter(symbol='\\{t}%', is_latex=is_latex) with matplotlib.rc_context(rc={'text.usetex': usetex}): assert fmt.format_pct(50, 100) == expected + + +def test_majformatter_type(): + fig, ax = plt.subplots() + with pytest.raises(TypeError): + ax.xaxis.set_major_formatter(matplotlib.ticker.LogLocator()) + + +def test_minformatter_type(): + fig, ax = plt.subplots() + with pytest.raises(TypeError): + ax.xaxis.set_minor_formatter(matplotlib.ticker.LogLocator()) + + +def test_majlocator_type(): + fig, ax = plt.subplots() + with pytest.raises(TypeError): + ax.xaxis.set_major_locator(matplotlib.ticker.LogFormatter()) + + +def test_minlocator_type(): + fig, ax = plt.subplots() + with pytest.raises(TypeError): + ax.xaxis.set_minor_locator(matplotlib.ticker.LogFormatter()) From 78b11f53e016ef51a858fa679b0da42c759dba03 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sat, 3 Feb 2018 14:47:00 +0100 Subject: [PATCH 0335/1161] Update layout of sidebar in documentation --- doc/_static/mpl.css | 17 ++++++++++++++--- doc/_templates/donate_sidebar.html | 2 +- doc/conf.py | 5 ++--- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/doc/_static/mpl.css b/doc/_static/mpl.css index b1a8633d9731..720bc81d7a89 100644 --- a/doc/_static/mpl.css +++ b/doc/_static/mpl.css @@ -232,9 +232,6 @@ div.sphinxsidebar { text-align: left; /* margin-left: -100%; */ } -div.sphinxsidebarwrapper { - padding-top: 28px -} div.sphinxsidebar h4, div.sphinxsidebar h3 { margin: 1em 0 0.5em 0; @@ -245,6 +242,11 @@ div.sphinxsidebar h4, div.sphinxsidebar h3 { background-color: #AFC1C4; } +div.sphinxsidebar h3 a { + /* workaround for table of contents heading, which is a link */ + color: white !important; +} + div.sphinxsidebar ul { padding-left: 1.5em; margin-top: 7px; @@ -258,6 +260,11 @@ div.sphinxsidebar ul ul { margin-left: 20px; } +#searchbox input[type=text] { + width: 100%; + box-sizing: border-box; +} + p { margin: 0.8em 0 0.8em 0; } @@ -813,6 +820,10 @@ figcaption { } } +#sidebar-donations { + margin-top: 28px; +} + .donate_button { background:#11557C; font-weight:normal; diff --git a/doc/_templates/donate_sidebar.html b/doc/_templates/donate_sidebar.html index 8fa765115d7b..1f0f1012f155 100644 --- a/doc/_templates/donate_sidebar.html +++ b/doc/_templates/donate_sidebar.html @@ -1,5 +1,5 @@ -

+ diff --git a/doc/conf.py b/doc/conf.py index dcbb45ac8e28..ad2ff00c4dcd 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -240,9 +240,8 @@ def _check_deps(): # Custom sidebar templates, maps page names to templates. html_sidebars = { - 'index': ['donate_sidebar.html', 'searchbox.html'], - '**': ['localtoc.html', 'relations.html', - 'sourcelink.html', 'searchbox.html'] + 'index': ['searchbox.html', 'donate_sidebar.html'], + '**': ['searchbox.html', 'localtoc.html', 'relations.html'] } # If false, no module index is generated. From 29f3d23da1d5bb180c10763d27ae089d56195f42 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sun, 4 Mar 2018 22:00:57 +0100 Subject: [PATCH 0336/1161] Style the search box to a single line --- doc/_static/mpl.css | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/doc/_static/mpl.css b/doc/_static/mpl.css index 720bc81d7a89..4e24cf579bfa 100644 --- a/doc/_static/mpl.css +++ b/doc/_static/mpl.css @@ -260,11 +260,36 @@ div.sphinxsidebar ul ul { margin-left: 20px; } -#searchbox input[type=text] { - width: 100%; +div.sphinxsidebar #searchbox input { + border: 1px solid #aaa; + padding: 0.25em; box-sizing: border-box; } +div.sphinxsidebar #searchbox form { + display: inline-block; + width: 100% +} + +div.sphinxsidebar #searchbox input[type="text"] { + float: left; + width: 80%; +} + +div.sphinxsidebar #searchbox input[type="submit"] { + float: left; + width: 20%; + border-left: none; +} + +div.sphinxsidebar #searchbox input[type="submit"]:hover { + background: #ddd; +} + +div.sphinxsidebar .searchformwrapper { + display: block; +} + p { margin: 0.8em 0 0.8em 0; } From a6651fee85f8819c56b76cb8b52d1ae234702871 Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Tue, 13 Mar 2018 19:19:20 -0700 Subject: [PATCH 0337/1161] FIX: back to isinstance --- lib/matplotlib/axis.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/axis.py b/lib/matplotlib/axis.py index 220af0f6529a..406ae8675200 100644 --- a/lib/matplotlib/axis.py +++ b/lib/matplotlib/axis.py @@ -1568,7 +1568,7 @@ def set_major_formatter(self, formatter): ACCEPTS: A :class:`~matplotlib.ticker.Formatter` instance """ - if not hasattr(formatter, 'format_data'): + if not isinstance(formatter, mticker.Formatter): raise TypeError("formatter argument should be instance of " "matplotlib.ticker.Formatter") self.isDefault_majfmt = False @@ -1582,7 +1582,7 @@ def set_minor_formatter(self, formatter): ACCEPTS: A :class:`~matplotlib.ticker.Formatter` instance """ - if not hasattr(formatter, 'format_data'): + if not isinstance(formatter, mticker.Formatter): raise TypeError("formatter argument should be instance of " "matplotlib.ticker.Formatter") self.isDefault_minfmt = False @@ -1596,7 +1596,7 @@ def set_major_locator(self, locator): ACCEPTS: a :class:`~matplotlib.ticker.Locator` instance """ - if not hasattr(locator, 'tick_values'): + if not isinstance(locator, mticker.Locator): raise TypeError("formatter argument should be instance of " "matplotlib.ticker.Locator") self.isDefault_majloc = False @@ -1610,7 +1610,7 @@ def set_minor_locator(self, locator): ACCEPTS: a :class:`~matplotlib.ticker.Locator` instance """ - if not hasattr(locator, 'tick_values'): + if not isinstance(locator, mticker.Locator): raise TypeError("formatter argument should be instance of " "matplotlib.ticker.Locator") self.isDefault_minloc = False From 31a88a7719d9cc3baeca99edea213420b15cd2e9 Mon Sep 17 00:00:00 2001 From: ob Date: Wed, 14 Mar 2018 06:36:08 -0400 Subject: [PATCH 0338/1161] fixed bug 4429 and created corrosponding testcase. As well as updated a radio button testcase --- .../check_bunch_of_radio_buttons.png | Bin 0 -> 20961 bytes .../test_widgets/check_radio_buttons.png | Bin 21123 -> 21025 bytes lib/matplotlib/tests/test_widgets.py | 7 +++++-- lib/matplotlib/widgets.py | 9 ++++++++- 4 files changed, 13 insertions(+), 3 deletions(-) create mode 100644 lib/matplotlib/tests/baseline_images/test_widgets/check_bunch_of_radio_buttons.png diff --git a/lib/matplotlib/tests/baseline_images/test_widgets/check_bunch_of_radio_buttons.png b/lib/matplotlib/tests/baseline_images/test_widgets/check_bunch_of_radio_buttons.png new file mode 100644 index 0000000000000000000000000000000000000000..a328f6f9806078003246a16d6a6b05c011c43525 GIT binary patch literal 20961 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 IM-8w356h($ literal 21123 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 E2ToAF4gdfE diff --git a/lib/matplotlib/tests/test_widgets.py b/lib/matplotlib/tests/test_widgets.py index afd50ef24e3c..0a010495e70a 100644 --- a/lib/matplotlib/tests/test_widgets.py +++ b/lib/matplotlib/tests/test_widgets.py @@ -260,8 +260,7 @@ def test_CheckButtons(): check.disconnect(cid) -@image_comparison(baseline_images=['check_radio_buttons'], extensions=['png'], - style='default') +@image_comparison(baseline_images=['check_radio_buttons'], extensions=['png'], style='default') def test_check_radio_buttons_image(): get_ax() plt.subplots_adjust(left=0.3) @@ -271,6 +270,10 @@ def test_check_radio_buttons_image(): widgets.CheckButtons(rax2, ('Check 1', 'Check 2', 'Check 3'), (False, True, True)) +@image_comparison(baseline_images=['check_bunch_of_radio_buttons'], extensions=['png']) +def test_check_bunch_of_radio_buttons(): + rax = plt.axes([0.05, 0.1, 0.15, 0.7]) + widgets.RadioButtons(rax, ('B1', 'B2', 'B3', 'B4', 'B5','B6', 'B7', 'B8', 'B9', 'B10', 'B11', 'B12', 'B13', 'B14', 'B15')) def test_slider_slidermin_slidermax_invalid(): fig, ax = plt.subplots() diff --git a/lib/matplotlib/widgets.py b/lib/matplotlib/widgets.py index ca6f544ada4d..c785a61eb4b5 100644 --- a/lib/matplotlib/widgets.py +++ b/lib/matplotlib/widgets.py @@ -986,6 +986,13 @@ def __init__(self, ax, labels, active=0, activecolor='blue'): cnt = 0 axcolor = ax.get_facecolor() + # scale the radius of the circle with the spacing between each one + circle_radius = (dy / 2) - 0.01 + + # defaul to hard-coded value if the radius becomes too large + if(circle_radius > 0.05): + circle_radius = 0.05 + self.labels = [] self.circles = [] for y, label in zip(ys, labels): @@ -999,7 +1006,7 @@ def __init__(self, ax, labels, active=0, activecolor='blue'): else: facecolor = axcolor - p = Circle(xy=(0.15, y), radius=0.05, edgecolor='black', + p = Circle(xy=(0.15, y), radius=circle_radius, edgecolor='black', facecolor=facecolor, transform=ax.transAxes) self.labels.append(t) From e5be0f7ee6bcaa4b0683cf0cc32a26fd1388af88 Mon Sep 17 00:00:00 2001 From: Pastafarianist Date: Wed, 14 Mar 2018 14:12:44 +0300 Subject: [PATCH 0339/1161] Mention Jupyter in matplotlib usage --- tutorials/introductory/usage.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/tutorials/introductory/usage.py b/tutorials/introductory/usage.py index fde76daf7532..3d933de9a416 100644 --- a/tutorials/introductory/usage.py +++ b/tutorials/introductory/usage.py @@ -296,11 +296,13 @@ def my_plotter(ax, data1, data2, param_dict): # to the "backend" and many new users are confused by this term. # matplotlib targets many different use cases and output formats. Some # people use matplotlib interactively from the python shell and have -# plotting windows pop up when they type commands. Some people embed -# matplotlib into graphical user interfaces like wxpython or pygtk to -# build rich applications. Others use matplotlib in batch scripts to -# generate postscript images from some numerical simulations, and still -# others in web application servers to dynamically serve up graphs. +# plotting windows pop up when they type commands. Some people run +# Jupyter notebooks and draw inline plots for quick data analysis. +# Others embed matplotlib into graphical user interfaces like wxpython +# or pygtk to build rich applications. Some people use matplotlib in +# batch scripts to generate postscript images from numerical +# simulations, and still others run web application servers to +# dynamically serve up graphs. # # To support all of these use cases, matplotlib can target different # outputs, and each of these capabilities is called a backend; the From c5d2c7f48a2f2a02a40d0dfca72e080087aa5d12 Mon Sep 17 00:00:00 2001 From: cclauss Date: Mon, 5 Mar 2018 21:23:47 +0100 Subject: [PATCH 0340/1161] Declare global variables that are created elsewhere --- lib/matplotlib/backends/backend_webagg.py | 2 ++ lib/matplotlib/backends/backend_wx.py | 2 ++ 2 files changed, 4 insertions(+) diff --git a/lib/matplotlib/backends/backend_webagg.py b/lib/matplotlib/backends/backend_webagg.py index 137cda2aa009..fad6de97012d 100644 --- a/lib/matplotlib/backends/backend_webagg.py +++ b/lib/matplotlib/backends/backend_webagg.py @@ -45,12 +45,14 @@ class ServerThread(threading.Thread): def run(self): tornado.ioloop.IOLoop.instance().start() + webagg_server_thread = ServerThread() class FigureCanvasWebAgg(core.FigureCanvasWebAggCore): def show(self): # show the figure window + global show # placates pyflakes: created by @_Backend.export below show() def new_timer(self, *args, **kwargs): diff --git a/lib/matplotlib/backends/backend_wx.py b/lib/matplotlib/backends/backend_wx.py index 6fbc6b716f6c..ed61e14af9c7 100644 --- a/lib/matplotlib/backends/backend_wx.py +++ b/lib/matplotlib/backends/backend_wx.py @@ -1456,6 +1456,7 @@ def updateButtonText(self, lst): @cbook.deprecated("2.2") class SubplotToolWX(wx.Frame): def __init__(self, targetfig): + global FigureManager # placates pyflakes: created by @_Backend.export wx.Frame.__init__(self, None, -1, "Configure subplots") toolfig = Figure((6, 3)) @@ -1519,6 +1520,7 @@ def pan(self, *args): NavigationToolbar2.pan(self, *args) def configure_subplots(self, evt): + global FigureManager # placates pyflakes: created by @_Backend.export frame = wx.Frame(None, -1, "Configure subplots") toolfig = Figure((6, 3)) From 1671be1ec728d406318bc99323e2396f1671a3b7 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Tue, 13 Mar 2018 23:53:20 -0700 Subject: [PATCH 0341/1161] wx_compat is no more. --- .../2018-02-15-AL-deprecations.rst | 2 + .../user_interfaces/mathtext_wx_sgskip.py | 7 +- .../user_interfaces/wxcursor_demo_sgskip.py | 18 +- lib/matplotlib/backends/backend_wx.py | 159 ++++++++--------- lib/matplotlib/backends/backend_wxagg.py | 16 +- lib/matplotlib/backends/wx_compat.py | 160 +++--------------- 6 files changed, 112 insertions(+), 250 deletions(-) diff --git a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst index 2fce8789ed43..9d46bf332a3d 100644 --- a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst +++ b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst @@ -5,6 +5,8 @@ The following modules are deprecated: - :mod:`matplotlib.compat.subprocess`. This was a python 2 workaround, but all the functionality can now be found in the python 3 standard library :mod:`subprocess`. +- :mod:`matplotlib.backends.wx_compat`. Python 3 is only compatible with + wxPython 4, so support for wxPython 3 or earlier can be dropped. The following classes, methods, and functions are deprecated: diff --git a/examples/user_interfaces/mathtext_wx_sgskip.py b/examples/user_interfaces/mathtext_wx_sgskip.py index b06162b2f0f3..b8a4f5963e55 100644 --- a/examples/user_interfaces/mathtext_wx_sgskip.py +++ b/examples/user_interfaces/mathtext_wx_sgskip.py @@ -10,7 +10,7 @@ import matplotlib matplotlib.use("WxAgg") from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigureCanvas -from matplotlib.backends.backend_wx import NavigationToolbar2Wx, wxc +from matplotlib.backends.backend_wx import NavigationToolbar2Wx from matplotlib.figure import Figure import numpy as np @@ -27,7 +27,7 @@ def mathtext_to_wxbitmap(s): ftimage, depth = mathtext_parser.parse(s, 150) - return wxc.BitmapFromBuffer( + return wx.Bitmap.FromBufferRGBA( ftimage.get_width(), ftimage.get_height(), ftimage.as_rgba_str()) ############################################################ @@ -43,7 +43,6 @@ def mathtext_to_wxbitmap(s): class CanvasFrame(wx.Frame): def __init__(self, parent, title): wx.Frame.__init__(self, parent, -1, title, size=(550, 350)) - self.SetBackgroundColour(wxc.NamedColour("WHITE")) self.figure = Figure() self.axes = self.figure.add_subplot(111) @@ -71,7 +70,7 @@ def __init__(self, parent, title): bm = mathtext_to_wxbitmap(mt) item = wx.MenuItem(menu, 1000 + i, " ") item.SetBitmap(bm) - menu.AppendItem(item) + menu.Append(item) self.Bind(wx.EVT_MENU, self.OnChangePlot, item) menuBar.Append(menu, "&Functions") diff --git a/examples/user_interfaces/wxcursor_demo_sgskip.py b/examples/user_interfaces/wxcursor_demo_sgskip.py index d1b7650cc2f6..e74cf3e11f6e 100644 --- a/examples/user_interfaces/wxcursor_demo_sgskip.py +++ b/examples/user_interfaces/wxcursor_demo_sgskip.py @@ -8,7 +8,7 @@ from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigureCanvas -from matplotlib.backends.backend_wx import NavigationToolbar2Wx, wxc +from matplotlib.backends.backend_wx import NavigationToolbar2Wx from matplotlib.figure import Figure import numpy as np @@ -17,10 +17,7 @@ class CanvasFrame(wx.Frame): def __init__(self, ): - wx.Frame.__init__(self, None, -1, - 'CanvasFrame', size=(550, 350)) - - self.SetBackgroundColour(wxc.NamedColour("WHITE")) + wx.Frame.__init__(self, None, -1, 'CanvasFrame', size=(550, 350)) self.figure = Figure() self.axes = self.figure.add_subplot(111) @@ -33,7 +30,8 @@ def __init__(self, ): self.figure_canvas = FigureCanvas(self, -1, self.figure) # Note that event is a MplEvent - self.figure_canvas.mpl_connect('motion_notify_event', self.UpdateStatusBar) + self.figure_canvas.mpl_connect( + 'motion_notify_event', self.UpdateStatusBar) self.figure_canvas.Bind(wx.EVT_ENTER_WINDOW, self.ChangeCursor) self.sizer = wx.BoxSizer(wx.VERTICAL) @@ -49,14 +47,12 @@ def __init__(self, ): self.toolbar.Show() def ChangeCursor(self, event): - self.figure_canvas.SetCursor(wxc.StockCursor(wx.CURSOR_BULLSEYE)) + self.figure_canvas.SetCursor(wx.Cursor(wx.CURSOR_BULLSEYE)) def UpdateStatusBar(self, event): if event.inaxes: - x, y = event.xdata, event.ydata - self.statusBar.SetStatusText(("x= " + str(x) + - " y=" + str(y)), - 0) + self.statusBar.SetStatusText( + "x={} y={}".format(event.xdata, event.ydata)) class App(wx.App): diff --git a/lib/matplotlib/backends/backend_wx.py b/lib/matplotlib/backends/backend_wx.py index 6fbc6b716f6c..a3c59f259ea5 100644 --- a/lib/matplotlib/backends/backend_wx.py +++ b/lib/matplotlib/backends/backend_wx.py @@ -1,29 +1,19 @@ """ - A wxPython backend for matplotlib, based (very heavily) on - backend_template.py and backend_gtk.py +A wxPython backend for matplotlib. - Author: Jeremy O'Donoghue (jeremy@o-donoghue.com) - - Derived from original copyright work by John Hunter - (jdhunter@ace.bsd.uchicago.edu) - - Copyright (C) Jeremy O'Donoghue & John Hunter, 2003-4 - - License: This work is licensed under a PSF compatible license. A copy - should be included with this source code. +Originally contributed by Jeremy O'Donoghue (jeremy@o-donoghue.com) and John +Hunter (jdhunter@ace.bsd.uchicago.edu). +Copyright (C) Jeremy O'Donoghue & John Hunter, 2003-4. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) import six -import sys -import os import os.path import math -import weakref +import sys import warnings +import weakref import matplotlib from matplotlib.backend_bases import ( @@ -39,7 +29,6 @@ from matplotlib.widgets import SubplotTool from matplotlib import cbook, rcParams, backend_tools -from . import wx_compat as wxc import wx # Debugging settings here... @@ -173,14 +162,45 @@ class RendererWx(RendererBase): # describes the colour and weight of any lines drawn, and a wxBrush # which describes the fill colour of any closed polygon. - fontweights = wxc.fontweights - fontangles = wxc.fontangles + # Font styles, families and weight. + fontweights = { + 100: wx.FONTWEIGHT_LIGHT, + 200: wx.FONTWEIGHT_LIGHT, + 300: wx.FONTWEIGHT_LIGHT, + 400: wx.FONTWEIGHT_NORMAL, + 500: wx.FONTWEIGHT_NORMAL, + 600: wx.FONTWEIGHT_NORMAL, + 700: wx.FONTWEIGHT_BOLD, + 800: wx.FONTWEIGHT_BOLD, + 900: wx.FONTWEIGHT_BOLD, + 'ultralight': wx.FONTWEIGHT_LIGHT, + 'light': wx.FONTWEIGHT_LIGHT, + 'normal': wx.FONTWEIGHT_NORMAL, + 'medium': wx.FONTWEIGHT_NORMAL, + 'semibold': wx.FONTWEIGHT_NORMAL, + 'bold': wx.FONTWEIGHT_BOLD, + 'heavy': wx.FONTWEIGHT_BOLD, + 'ultrabold': wx.FONTWEIGHT_BOLD, + 'black': wx.FONTWEIGHT_BOLD, + } + fontangles = { + 'italic': wx.FONTSTYLE_ITALIC, + 'normal': wx.FONTSTYLE_NORMAL, + 'oblique': wx.FONTSTYLE_SLANT, + } - # wxPython allows for portable font styles, choosing them appropriately - # for the target platform. Map some standard font names to the portable - # styles + # wxPython allows for portable font styles, choosing them appropriately for + # the target platform. Map some standard font names to the portable styles. # QUESTION: Is it be wise to agree standard fontnames across all backends? - fontnames = wxc.fontnames + fontnames = { + 'Sans': wx.FONTFAMILY_SWISS, + 'Roman': wx.FONTFAMILY_ROMAN, + 'Script': wx.FONTFAMILY_SCRIPT, + 'Decorative': wx.FONTFAMILY_DECORATIVE, + 'Modern': wx.FONTFAMILY_MODERN, + 'Courier': wx.FONTFAMILY_MODERN, + 'courier': wx.FONTFAMILY_MODERN, + } def __init__(self, bitmap, dpi): """ @@ -285,7 +305,7 @@ def draw_image(self, gc, x, y, im): w = self.width h = self.height rows, cols = im.shape[:2] - bitmap = wxc.BitmapFromBuffer(cols, rows, im.tostring()) + bitmap = wx.Bitmap.FromBufferRGBA(cols, rows, im.tostring()) gc = self.get_gc() gc.select() gc.gfx_ctx.DrawBitmap(bitmap, int(l), int(self.height - b), @@ -611,27 +631,8 @@ def __init__(self, parent, id, figure): wx.Panel.__init__(self, parent, id, size=wx.Size(w, h)) - def do_nothing(*args, **kwargs): - warnings.warn( - "could not find a setinitialsize function for backend_wx; " - "please report your wxpython version=%s " - "to the matplotlib developers list" % - wxc.backend_version) - pass - - # try to find the set size func across wx versions - try: - getattr(self, 'SetInitialSize') - except AttributeError: - self.SetInitialSize = getattr(self, 'SetBestFittingSize', - do_nothing) - - if not hasattr(self, 'IsShownOnScreen'): - self.IsShownOnScreen = getattr(self, 'IsVisible', - lambda *args: True) - # Create the drawing bitmap - self.bitmap = wxc.EmptyBitmap(w, h) + self.bitmap = wx.Bitmap(w, h) DEBUG_MSG("__init__() - bitmap w:%d h:%d" % (w, h), 2, self) # TODO: Add support for 'point' inspection and plot navigation. self._isDrawn = False @@ -733,7 +734,7 @@ def start_event_loop(self, timeout=0): self.Bind(wx.EVT_TIMER, self.stop_event_loop, id=id) # Event loop handler for start/stop event loop - self._event_loop = wxc.EventLoop() + self._event_loop = wx.GUIEventLoop() self._event_loop.Run() timer.Stop() @@ -845,7 +846,7 @@ def _onSize(self, evt): return self._width, self._height = size # Create a new, correctly sized bitmap - self.bitmap = wxc.EmptyBitmap(self._width, self._height) + self.bitmap = wx.Bitmap(self._width, self._height) self._isDrawn = False @@ -1083,7 +1084,7 @@ def _print_image(self, filename, filetype, *args, **kwargs): width = int(math.ceil(width)) height = int(math.ceil(height)) - self.bitmap = wxc.EmptyBitmap(width, height) + self.bitmap = wx.Bitmap(width, height) renderer = RendererWx(self.bitmap, self.figure.dpi) @@ -1172,12 +1173,8 @@ def __init__(self, num, fig): self.toolbar.Realize() # On Windows platform, default window size is incorrect, so set # toolbar width to figure width. - if wxc.is_phoenix: - tw, th = self.toolbar.GetSize() - fw, fh = self.canvas.GetSize() - else: - tw, th = self.toolbar.GetSizeTuple() - fw, fh = self.canvas.GetSizeTuple() + tw, th = self.toolbar.GetSize() + fw, fh = self.canvas.GetSize() # By adding toolbar in sizer, we are able to put it at the bottom # of the frame - so appearance is closer to GTK version. self.toolbar.SetSize(wx.Size(fw, th)) @@ -1368,12 +1365,8 @@ def Destroy(self): def _onMenuButton(self, evt): """Handle menu button pressed.""" - if wxc.is_phoenix: - x, y = self.GetPosition() - w, h = self.GetSize() - else: - x, y = self.GetPositionTuple() - w, h = self.GetSizeTuple() + x, y = self.GetPosition() + w, h = self.GetSize() self.PopupMenuXY(self._menu, x, y + h - 4) # When menu returned, indicate selection in button evt.Skip() @@ -1500,11 +1493,15 @@ def _init_toolbar(self): if text is None: self.AddSeparator() continue - self.wx_ids[text] = wx.NewId() - wxc._AddTool(self, self.wx_ids, text, - _load_bitmap(image_file + '.png'), - tooltip_text) - + self.wx_ids[text] = ( + self.AddTool( + -1, + bitmap=_load_bitmap(image_file + ".png"), + bmpDisabled=wx.NullBitmap, + label=text, shortHelp=text, longHelp=tooltip_text, + kind=(wx.ITEM_CHECK if text in ["Pan", "Zoom"] + else wx.ITEM_NORMAL)) + .Id) self.Bind(wx.EVT_TOOL, getattr(self, callback), id=self.wx_ids[text]) @@ -1569,7 +1566,7 @@ def save_figure(self, *args): error_msg_wx(str(e)) def set_cursor(self, cursor): - cursor = wxc.Cursor(cursord[cursor]) + cursor = wx.Cursor(cursord[cursor]) self.canvas.SetCursor(cursor) self.canvas.Update() @@ -1645,17 +1642,14 @@ def draw_rubberband(self, event, x0, y0, x1, y1): rubberBandColor = '#C0C0FF' # or load from config? # Set a pen for the border - color = wxc.NamedColour(rubberBandColor) + color = wx.Colour(rubberBandColor) dc.SetPen(wx.Pen(color, 1)) # use the same color, plus alpha for the brush r, g, b, a = color.Get(True) color.Set(r, g, b, 0x60) dc.SetBrush(wx.Brush(color)) - if wxc.is_phoenix: - dc.DrawRectangle(rect) - else: - dc.DrawRectangleRect(rect) + dc.DrawRectangle(rect) def set_status_bar(self, statbar): self.statbar = statbar @@ -1742,7 +1736,7 @@ def trigger(self, *args): class SetCursorWx(backend_tools.SetCursorBase): def set_cursor(self, cursor): - cursor = wxc.Cursor(cursord[cursor]) + cursor = wx.Cursor(cursord[cursor]) self.canvas.SetCursor(cursor) self.canvas.Update() @@ -1780,17 +1774,14 @@ def draw_rubberband(self, x0, y0, x1, y1): rubberBandColor = '#C0C0FF' # or load from config? # Set a pen for the border - color = wxc.NamedColour(rubberBandColor) + color = wx.Colour(rubberBandColor) dc.SetPen(wx.Pen(color, 1)) # use the same color, plus alpha for the brush r, g, b, a = color.Get(True) color.Set(r, g, b, 0x60) dc.SetBrush(wx.Brush(color)) - if wxc.is_phoenix: - dc.DrawRectangle(rect) - else: - dc.DrawRectangleRect(rect) + dc.DrawRectangle(rect) def remove_rubberband(self): if self.wxoverlay is None: @@ -1821,10 +1812,7 @@ def draw_rubberband(self, x0, y0, x1, y1): dc.SetPen(wx.Pen(wx.BLACK, 1, wx.SOLID)) dc.SetBrush(wx.TRANSPARENT_BRUSH) self._rect = (x0, self.canvas._height-y0, x1-x0, -y1+y0) - if wxc.is_phoenix: - dc.DrawRectangle(self._rect) - else: - dc.DrawRectangleRect(self._rect) + dc.DrawRectangle(self._rect) def remove_rubberband(self, dc=None): if not self._rect: @@ -1872,13 +1860,10 @@ def OnPrintPage(self, page): self.canvas.draw() dc = self.GetDC() - (ppw, pph) = self.GetPPIPrinter() # printer's pixels per in - (pgw, pgh) = self.GetPageSizePixels() # page size in pixels - (dcw, dch) = dc.GetSize() - if wxc.is_phoenix: - (grw, grh) = self.canvas.GetSize() - else: - (grw, grh) = self.canvas.GetSizeTuple() + ppw, pph = self.GetPPIPrinter() # printer's pixels per in + pgw, pgh = self.GetPageSizePixels() # page size in pixels + dcw, dch = dc.GetSize() + grw, grh = self.canvas.GetSize() # save current figure dpi resolution and bg color, # so that we can temporarily set them to the dpi of diff --git a/lib/matplotlib/backends/backend_wxagg.py b/lib/matplotlib/backends/backend_wxagg.py index ee628fc0dc9b..927d68d7198a 100644 --- a/lib/matplotlib/backends/backend_wxagg.py +++ b/lib/matplotlib/backends/backend_wxagg.py @@ -1,12 +1,8 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import six import wx import matplotlib -from . import wx_compat as wxc from .backend_agg import FigureCanvasAgg from .backend_wx import ( _BackendWx, _FigureCanvasWxBase, FigureFrameWx, @@ -82,7 +78,7 @@ def _convert_agg_to_wx_image(agg, bbox): """ if bbox is None: # agg => rgb -> image - image = wxc.EmptyImage(int(agg.width), int(agg.height)) + image = wx.Image(int(agg.width), int(agg.height)) image.SetData(agg.tostring_rgb()) return image else: @@ -99,8 +95,8 @@ def _convert_agg_to_wx_bitmap(agg, bbox): """ if bbox is None: # agg => rgba buffer -> bitmap - return wxc.BitmapFromBuffer(int(agg.width), int(agg.height), - agg.buffer_rgba()) + return wx.Bitmap.FromBufferRGBA(int(agg.width), int(agg.height), + agg.buffer_rgba()) else: # agg => rgba buffer -> bitmap => clipped bitmap return _WX28_clipped_agg_as_bitmap(agg, bbox) @@ -116,12 +112,12 @@ def _WX28_clipped_agg_as_bitmap(agg, bbox): r = l + width t = b + height - srcBmp = wxc.BitmapFromBuffer(int(agg.width), int(agg.height), - agg.buffer_rgba()) + srcBmp = wx.Bitmap.FromBufferRGBA(int(agg.width), int(agg.height), + agg.buffer_rgba()) srcDC = wx.MemoryDC() srcDC.SelectObject(srcBmp) - destBmp = wxc.EmptyBitmap(int(width), int(height)) + destBmp = wx.Bitmap(int(width), int(height)) destDC = wx.MemoryDC() destDC.SelectObject(destBmp) diff --git a/lib/matplotlib/backends/wx_compat.py b/lib/matplotlib/backends/wx_compat.py index 87f6312299f4..78bc34511e3a 100644 --- a/lib/matplotlib/backends/wx_compat.py +++ b/lib/matplotlib/backends/wx_compat.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python """ A wx API adapter to hide differences between wxPython classic and phoenix. @@ -7,146 +6,31 @@ For an example see embedding_in_wx2.py """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - import wx -backend_version = wx.VERSION_STRING -is_phoenix = 'phoenix' in wx.PlatformInfo - - -if is_phoenix: - # define all the wxPython phoenix stuff - - # font styles, families and weight - fontweights = { - 100: wx.FONTWEIGHT_LIGHT, - 200: wx.FONTWEIGHT_LIGHT, - 300: wx.FONTWEIGHT_LIGHT, - 400: wx.FONTWEIGHT_NORMAL, - 500: wx.FONTWEIGHT_NORMAL, - 600: wx.FONTWEIGHT_NORMAL, - 700: wx.FONTWEIGHT_BOLD, - 800: wx.FONTWEIGHT_BOLD, - 900: wx.FONTWEIGHT_BOLD, - 'ultralight': wx.FONTWEIGHT_LIGHT, - 'light': wx.FONTWEIGHT_LIGHT, - 'normal': wx.FONTWEIGHT_NORMAL, - 'medium': wx.FONTWEIGHT_NORMAL, - 'semibold': wx.FONTWEIGHT_NORMAL, - 'bold': wx.FONTWEIGHT_BOLD, - 'heavy': wx.FONTWEIGHT_BOLD, - 'ultrabold': wx.FONTWEIGHT_BOLD, - 'black': wx.FONTWEIGHT_BOLD - } - fontangles = { - 'italic': wx.FONTSTYLE_ITALIC, - 'normal': wx.FONTSTYLE_NORMAL, - 'oblique': wx.FONTSTYLE_SLANT} - - # wxPython allows for portable font styles, choosing them appropriately - # for the target platform. Map some standard font names to the portable - # styles - # QUESTION: Is it be wise to agree standard fontnames across all backends? - fontnames = {'Sans': wx.FONTFAMILY_SWISS, - 'Roman': wx.FONTFAMILY_ROMAN, - 'Script': wx.FONTFAMILY_SCRIPT, - 'Decorative': wx.FONTFAMILY_DECORATIVE, - 'Modern': wx.FONTFAMILY_MODERN, - 'Courier': wx.FONTFAMILY_MODERN, - 'courier': wx.FONTFAMILY_MODERN} - dashd_wx = {'solid': wx.PENSTYLE_SOLID, - 'dashed': wx.PENSTYLE_SHORT_DASH, - 'dashdot': wx.PENSTYLE_DOT_DASH, - 'dotted': wx.PENSTYLE_DOT} +from .. import cbook +from .backend_wx import RendererWx - # functions changes - BitmapFromBuffer = wx.Bitmap.FromBufferRGBA - EmptyBitmap = wx.Bitmap - EmptyImage = wx.Image - Cursor = wx.Cursor - EventLoop = wx.GUIEventLoop - NamedColour = wx.Colour - StockCursor = wx.Cursor -else: - # define all the wxPython classic stuff +cbook.warn_deprecated("3.0", "{} is deprecated.".format(__name__)) - # font styles, families and weight - fontweights = { - 100: wx.LIGHT, - 200: wx.LIGHT, - 300: wx.LIGHT, - 400: wx.NORMAL, - 500: wx.NORMAL, - 600: wx.NORMAL, - 700: wx.BOLD, - 800: wx.BOLD, - 900: wx.BOLD, - 'ultralight': wx.LIGHT, - 'light': wx.LIGHT, - 'normal': wx.NORMAL, - 'medium': wx.NORMAL, - 'semibold': wx.NORMAL, - 'bold': wx.BOLD, - 'heavy': wx.BOLD, - 'ultrabold': wx.BOLD, - 'black': wx.BOLD - } - fontangles = { - 'italic': wx.ITALIC, - 'normal': wx.NORMAL, - 'oblique': wx.SLANT} - - # wxPython allows for portable font styles, choosing them appropriately - # for the target platform. Map some standard font names to the portable - # styles - # QUESTION: Is it be wise to agree standard fontnames across all backends? - fontnames = {'Sans': wx.SWISS, - 'Roman': wx.ROMAN, - 'Script': wx.SCRIPT, - 'Decorative': wx.DECORATIVE, - 'Modern': wx.MODERN, - 'Courier': wx.MODERN, - 'courier': wx.MODERN} - - dashd_wx = {'solid': wx.SOLID, - 'dashed': wx.SHORT_DASH, - 'dashdot': wx.DOT_DASH, - 'dotted': wx.DOT} - - # functions changes - BitmapFromBuffer = wx.BitmapFromBufferRGBA - EmptyBitmap = wx.EmptyBitmap - EmptyImage = wx.EmptyImage - Cursor = wx.StockCursor - EventLoop = wx.EventLoop - NamedColour = wx.NamedColour - StockCursor = wx.StockCursor - - -# wxPython Classic's DoAddTool has become AddTool in Phoenix. Otherwise -# they are the same, except for early betas and prerelease builds of -# Phoenix. This function provides a shim that does the RightThing based on -# which wxPython is in use. -def _AddTool(parent, wx_ids, text, bmp, tooltip_text): - if text in ['Pan', 'Zoom']: - kind = wx.ITEM_CHECK - else: - kind = wx.ITEM_NORMAL - if is_phoenix: - add_tool = parent.AddTool - else: - add_tool = parent.DoAddTool - - kwargs = dict(label=text, - bitmap=bmp, - bmpDisabled=wx.NullBitmap, - shortHelp=text, - longHelp=tooltip_text, - kind=kind) +backend_version = wx.VERSION_STRING +is_phoenix = 'phoenix' in wx.PlatformInfo - return add_tool(wx_ids[text], **kwargs) +fontweights = RendererWx.fontweights +fontangles = RendererWx.fontangles +fontnames = RendererWx.fontnames + +dashd_wx = {'solid': wx.PENSTYLE_SOLID, + 'dashed': wx.PENSTYLE_SHORT_DASH, + 'dashdot': wx.PENSTYLE_DOT_DASH, + 'dotted': wx.PENSTYLE_DOT} + +# functions changes +BitmapFromBuffer = wx.Bitmap.FromBufferRGBA +EmptyBitmap = wx.Bitmap +EmptyImage = wx.Image +Cursor = wx.Cursor +EventLoop = wx.GUIEventLoop +NamedColour = wx.Colour +StockCursor = wx.Cursor From bdd1cfeb692db8e06bb01c035083a5bb81dfdfb6 Mon Sep 17 00:00:00 2001 From: "Adrien F. Vincent" Date: Wed, 14 Mar 2018 11:55:39 -0700 Subject: [PATCH 0342/1161] hacky_fix_for_legend_typeerror_issue_10784 --- lib/matplotlib/offsetbox.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/matplotlib/offsetbox.py b/lib/matplotlib/offsetbox.py index 4a2848c0532e..94feba8d7cee 100644 --- a/lib/matplotlib/offsetbox.py +++ b/lib/matplotlib/offsetbox.py @@ -77,16 +77,16 @@ def _get_packed_offsets(wd_list, total, sep, mode="fixed"): return total, offsets elif mode == "expand": + # This is a bit of a hack to avoid a TypeError when *total* + # is None and used in conjugation with tight layout. + if total is None: + total = 1 if len(w_list) > 1: - sep = (total - sum(w_list)) / (len(w_list) - 1.) + sep = (total - sum(w_list)) / (len(w_list) - 1) else: sep = 0 offsets_ = np.cumsum([0] + [w + sep for w in w_list]) offsets = offsets_[:-1] - # this is a bit of a hack to avoid a TypeError when used - # in conjugation with tight layout - if total is None: - total = 1 return total, offsets elif mode == "equal": From c9e90b924f59c968746b244486fd112c4b39c9b9 Mon Sep 17 00:00:00 2001 From: "Adrien F. Vincent" Date: Wed, 14 Mar 2018 12:13:43 -0700 Subject: [PATCH 0343/1161] update tests --- lib/matplotlib/tests/test_offsetbox.py | 40 +++++++++++++++++--------- 1 file changed, 26 insertions(+), 14 deletions(-) diff --git a/lib/matplotlib/tests/test_offsetbox.py b/lib/matplotlib/tests/test_offsetbox.py index b2062a7162ac..66b21a7860dd 100644 --- a/lib/matplotlib/tests/test_offsetbox.py +++ b/lib/matplotlib/tests/test_offsetbox.py @@ -1,10 +1,12 @@ from __future__ import absolute_import, division, print_function +import pytest from matplotlib.testing.decorators import image_comparison import matplotlib.pyplot as plt import matplotlib.patches as mpatches import matplotlib.lines as mlines -from matplotlib.offsetbox import AnchoredOffsetbox, DrawingArea +from matplotlib.offsetbox import ( + AnchoredOffsetbox, DrawingArea, _get_packed_offsets) @image_comparison(baseline_images=['offsetbox_clipping'], remove_text=True) @@ -101,16 +103,26 @@ def test_offsetbox_loc_codes(): def test_expand_with_tight_layout(): - fig = plt.figure() - axes = fig.add_subplot(111) - - d1 = [29388871, 12448, 40, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0] - d2 = [28396236, 981940, 22171, 537, 123, 88, 41, 42, 40, 26, 26, - 84, 6, 2, 0, 0, 0, 0, 0] - axes.plot(d1, label='series 1') - axes.plot(d2, label='series 2') - axes.legend(mode='expand') - - # ### THIS IS WHERE THE CRASH HAPPENS - plt.tight_layout(rect=[0, 0.08, 1, 0.92]) + # Check issue reported in #10476, and updated due to #10784 + fig, ax = plt.subplots() + + d1 = [1, 2] + d2 = [2, 1] + ax.plot(d1, label='series 1') + ax.plot(d2, label='series 2') + ax.legend(ncol=2, mode='expand') + + fig.tight_layout() # where the crash used to happen + + +@pytest.mark.parametrize('wd_list', + ([(150, 1)], [(150, 1)]*3, [(0.1, 1)], [(0.1, 1)]*2)) +@pytest.mark.parametrize('total', (250, 100, 0, -1, None)) +@pytest.mark.parametrize('sep', (250, 1, 0, -1)) +@pytest.mark.parametrize('mode', ("expand", "fixed", "equal")) +def test_get_packed_offsets(wd_list, total, sep, mode): + # Check a (rather arbitrary) set of parameters due to successive similar + # issue tickets (at least #10476 and #10784) related to corner cases + # triggered inside this function when calling higher-level functions + # (e.g. `Axes.legend`). + _get_packed_offsets(wd_list, total, sep, mode=mode) From 0433eb181d7f862ebed50ce311d49be461c05da7 Mon Sep 17 00:00:00 2001 From: ob Date: Wed, 14 Mar 2018 16:44:06 -0400 Subject: [PATCH 0344/1161] Updated expected images of radio button tests --- .../check_bunch_of_radio_buttons.png | Bin 20961 -> 21141 bytes .../test_widgets/check_radio_buttons.png | Bin 21025 -> 21117 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/matplotlib/tests/baseline_images/test_widgets/check_bunch_of_radio_buttons.png b/lib/matplotlib/tests/baseline_images/test_widgets/check_bunch_of_radio_buttons.png index a328f6f9806078003246a16d6a6b05c011c43525..a5a68155821fa25bc0958adfc27031e0433dbaec 100644 GIT binary patch literal 21141 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 IM-8w356h($ From 575b15d7d2e002f7cec67247b0332782206393c2 Mon Sep 17 00:00:00 2001 From: Lionel Miller Date: Thu, 15 Mar 2018 00:30:06 +0300 Subject: [PATCH 0345/1161] Add link to jupyter.org --- tutorials/introductory/usage.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tutorials/introductory/usage.py b/tutorials/introductory/usage.py index 3d933de9a416..2f200fb5d21b 100644 --- a/tutorials/introductory/usage.py +++ b/tutorials/introductory/usage.py @@ -297,12 +297,12 @@ def my_plotter(ax, data1, data2, param_dict): # matplotlib targets many different use cases and output formats. Some # people use matplotlib interactively from the python shell and have # plotting windows pop up when they type commands. Some people run -# Jupyter notebooks and draw inline plots for quick data analysis. -# Others embed matplotlib into graphical user interfaces like wxpython -# or pygtk to build rich applications. Some people use matplotlib in -# batch scripts to generate postscript images from numerical -# simulations, and still others run web application servers to -# dynamically serve up graphs. +# `Jupyter `_ notebooks and draw inline plots for +# quick data analysis. Others embed matplotlib into graphical user +# interfaces like wxpython or pygtk to build rich applications. Some +# people use matplotlib in batch scripts to generate postscript images +# from numerical simulations, and still others run web application +# servers to dynamically serve up graphs. # # To support all of these use cases, matplotlib can target different # outputs, and each of these capabilities is called a backend; the From dee832e2e22f3463a465038d24ff456f9132c9f6 Mon Sep 17 00:00:00 2001 From: ob Date: Wed, 14 Mar 2018 17:35:25 -0400 Subject: [PATCH 0346/1161] made testcase pep8 compliant --- lib/matplotlib/tests/test_widgets.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/tests/test_widgets.py b/lib/matplotlib/tests/test_widgets.py index 0a010495e70a..7a2ffe0061c6 100644 --- a/lib/matplotlib/tests/test_widgets.py +++ b/lib/matplotlib/tests/test_widgets.py @@ -119,6 +119,7 @@ def onselect(epress, erelease): # drag the rectangle do_event(tool, 'press', xdata=10, ydata=10, button=1, key=' ') + do_event(tool, 'onmove', xdata=30, ydata=30, button=1) do_event(tool, 'release', xdata=30, ydata=30, button=1) assert tool.extents == (120, 170, 120, 170) @@ -260,7 +261,8 @@ def test_CheckButtons(): check.disconnect(cid) -@image_comparison(baseline_images=['check_radio_buttons'], extensions=['png'], style='default') +@image_comparison(baseline_images=['check_radio_buttons'], extensions=['png'], + style='default') def test_check_radio_buttons_image(): get_ax() plt.subplots_adjust(left=0.3) @@ -270,10 +272,15 @@ def test_check_radio_buttons_image(): widgets.CheckButtons(rax2, ('Check 1', 'Check 2', 'Check 3'), (False, True, True)) -@image_comparison(baseline_images=['check_bunch_of_radio_buttons'], extensions=['png']) + +@image_comparison(baseline_images=['check_bunch_of_radio_buttons'], + extensions=['png']) def test_check_bunch_of_radio_buttons(): rax = plt.axes([0.05, 0.1, 0.15, 0.7]) - widgets.RadioButtons(rax, ('B1', 'B2', 'B3', 'B4', 'B5','B6', 'B7', 'B8', 'B9', 'B10', 'B11', 'B12', 'B13', 'B14', 'B15')) + widgets.RadioButtons(rax, ('B1', 'B2', 'B3', 'B4', 'B5', 'B6', + 'B7', 'B8', 'B9', 'B10', 'B11', 'B12', + 'B13', 'B14', 'B15')) + def test_slider_slidermin_slidermax_invalid(): fig, ax = plt.subplots() From 24e6bc3d01dc50cffb6be051e1eb9a645abdf11a Mon Sep 17 00:00:00 2001 From: ob Date: Wed, 14 Mar 2018 19:06:22 -0400 Subject: [PATCH 0347/1161] Missed a few pep8 errors from earlier commit, this should be all of them --- lib/matplotlib/tests/test_widgets.py | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/lib/matplotlib/tests/test_widgets.py b/lib/matplotlib/tests/test_widgets.py index 7a2ffe0061c6..81ad899f3ca7 100644 --- a/lib/matplotlib/tests/test_widgets.py +++ b/lib/matplotlib/tests/test_widgets.py @@ -90,8 +90,9 @@ def onselect(epress, erelease): if kwargs.get('drawtype', None) not in ['line', 'none']: assert_allclose(tool.geometry, - [[100., 100, 199, 199, 100], [100, 199, 199, 100, 100]], - err_msg=tool.geometry) + [[100., 100, 199, 199, 100], + [100, 199, 199, 100, 100]], + err_msg=tool.geometry) assert ax._got_onselect @@ -118,7 +119,7 @@ def onselect(epress, erelease): # drag the rectangle do_event(tool, 'press', xdata=10, ydata=10, button=1, - key=' ') + key=' ') do_event(tool, 'onmove', xdata=30, ydata=30, button=1) do_event(tool, 'release', xdata=30, ydata=30, button=1) @@ -126,33 +127,33 @@ def onselect(epress, erelease): # create from center do_event(tool, 'on_key_press', xdata=100, ydata=100, button=1, - key='control') + key='control') do_event(tool, 'press', xdata=100, ydata=100, button=1) do_event(tool, 'onmove', xdata=125, ydata=125, button=1) do_event(tool, 'release', xdata=125, ydata=125, button=1) do_event(tool, 'on_key_release', xdata=100, ydata=100, button=1, - key='control') + key='control') assert tool.extents == (75, 125, 75, 125) # create a square do_event(tool, 'on_key_press', xdata=10, ydata=10, button=1, - key='shift') + key='shift') do_event(tool, 'press', xdata=10, ydata=10, button=1) do_event(tool, 'onmove', xdata=35, ydata=30, button=1) do_event(tool, 'release', xdata=35, ydata=30, button=1) do_event(tool, 'on_key_release', xdata=10, ydata=10, button=1, - key='shift') + key='shift') extents = [int(e) for e in tool.extents] assert extents == [10, 35, 10, 34] # create a square from center do_event(tool, 'on_key_press', xdata=100, ydata=100, button=1, - key='ctrl+shift') + key='ctrl+shift') do_event(tool, 'press', xdata=100, ydata=100, button=1) do_event(tool, 'onmove', xdata=125, ydata=130, button=1) do_event(tool, 'release', xdata=125, ydata=130, button=1) do_event(tool, 'on_key_release', xdata=100, ydata=100, button=1, - key='ctrl+shift') + key='ctrl+shift') extents = [int(e) for e in tool.extents] assert extents == [70, 129, 70, 130] @@ -273,7 +274,7 @@ def test_check_radio_buttons_image(): (False, True, True)) -@image_comparison(baseline_images=['check_bunch_of_radio_buttons'], +@image_comparison(baseline_images=['check_bunch_of_radio_buttons'], extensions=['png']) def test_check_bunch_of_radio_buttons(): rax = plt.axes([0.05, 0.1, 0.15, 0.7]) @@ -452,3 +453,4 @@ def test_polygon_selector(): + polygon_place_vertex(50, 150) + polygon_place_vertex(50, 50)) check_polygon_selector(event_sequence, expected_result, 1) + \ No newline at end of file From 9c49c6aab3826df1e97375e75e6c14b232b5c270 Mon Sep 17 00:00:00 2001 From: ob Date: Wed, 14 Mar 2018 21:16:46 -0400 Subject: [PATCH 0348/1161] built the images using the correct freetype font as well as added some headers to the radio button tests --- .../check_bunch_of_radio_buttons.png | Bin 21141 -> 15744 bytes .../test_widgets/check_radio_buttons.png | Bin 21117 -> 14567 bytes lib/matplotlib/tests/test_widgets.py | 4 ++-- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/tests/baseline_images/test_widgets/check_bunch_of_radio_buttons.png b/lib/matplotlib/tests/baseline_images/test_widgets/check_bunch_of_radio_buttons.png index a5a68155821fa25bc0958adfc27031e0433dbaec..e071860dfde671fb01bc51d6e27fcd4f5e17c96c 100644 GIT binary patch literal 15744 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 Z#a4+k7PnR>xFPVPdPL)J#=$dJ{vSIb(5V0b literal 21141 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 MR@oK3pZV@RZC+ZAFnVk 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 literal 21117 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 Date: Mon, 12 Mar 2018 22:07:52 -0400 Subject: [PATCH 0349/1161] Fix crash when imshow encounters longdouble. --- lib/matplotlib/colors.py | 5 ----- lib/matplotlib/image.py | 14 +++++++++++--- lib/matplotlib/tests/test_image.py | 2 ++ 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/lib/matplotlib/colors.py b/lib/matplotlib/colors.py index 7d884e19c64c..6e040b4f6485 100644 --- a/lib/matplotlib/colors.py +++ b/lib/matplotlib/colors.py @@ -954,11 +954,6 @@ def __call__(self, value, clip=None): resdat -= vmin resdat /= (vmax - vmin) result = np.ma.array(resdat, mask=result.mask, copy=False) - # Agg cannot handle float128. We actually only need 32-bit of - # precision, but on Windows, `np.dtype(np.longdouble) == np.float64`, - # so casting to float32 would lose precision on float64s as well. - if result.dtype == np.longdouble: - result = result.astype(np.float64) if is_scalar: result = result[0] return result diff --git a/lib/matplotlib/image.py b/lib/matplotlib/image.py index b7032a03e10f..9c157a78b0df 100644 --- a/lib/matplotlib/image.py +++ b/lib/matplotlib/image.py @@ -12,6 +12,7 @@ from math import ceil import os import logging +import warnings import numpy as np @@ -264,8 +265,8 @@ def _make_image(self, A, in_bbox, out_bbox, clip_bbox, magnification=1.0, and magnified by the magnification factor. `A` may be a greyscale image (MxN) with a dtype of `float32`, - `float64`, `uint16` or `uint8`, or an RGBA image (MxNx4) with - a dtype of `float32`, `float64`, or `uint8`. + `float64`, `float128`, `uint16` or `uint8`, or an RGBA image (MxNx4) + with a dtype of `float32`, `float64`, `float128`, or `uint8`. If `unsampled` is True, the image will not be scaled, but an appropriate affine transformation will be returned instead. @@ -361,6 +362,13 @@ def _make_image(self, A, in_bbox, out_bbox, clip_bbox, magnification=1.0, a_min, a_max = np.int32(0), np.int32(1) if inp_dtype.kind == 'f': scaled_dtype = A.dtype + # Cast to float64 + if A.dtype not in (np.float32, np.float16): + if A.dtype != np.float64: + warnings.warn( + "Casting input data from '{0}' to 'float64'" + "for imshow".format(A.dtype)) + scaled_dtype = np.float64 else: # probably an integer of some type. da = a_max.astype(np.float64) - a_min.astype(np.float64) @@ -386,7 +394,7 @@ def _make_image(self, A, in_bbox, out_bbox, clip_bbox, magnification=1.0, # of over numbers. if self.norm.vmin is not None and self.norm.vmax is not None: dv = (np.float64(self.norm.vmax) - - np.float64(self.norm.vmin)) + np.float64(self.norm.vmin)) vmid = self.norm.vmin + dv / 2 newmin = vmid - dv * 1.e7 if newmin < a_min: diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py index d332ca0f3ef3..8364af57b994 100644 --- a/lib/matplotlib/tests/test_image.py +++ b/lib/matplotlib/tests/test_image.py @@ -903,6 +903,8 @@ def test_empty_imshow(make_norm): def test_imshow_float128(): fig, ax = plt.subplots() ax.imshow(np.zeros((3, 3), dtype=np.longdouble)) + # Ensure that drawing doesn't cause crash + fig.canvas.draw() def test_imshow_bool(): From 144ba49dafa5782917076cf18f7d7f51b440f6ab Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Thu, 15 Mar 2018 03:05:50 -0700 Subject: [PATCH 0350/1161] A hodgepodge of Py3 & style fixes. --- .../user_interfaces/fourier_demo_wx_sgskip.py | 3 +- lib/matplotlib/animation.py | 94 ++++++++----------- lib/matplotlib/axes/_base.py | 14 +-- lib/matplotlib/backend_bases.py | 6 +- lib/matplotlib/backends/backend_webagg.py | 25 ++--- lib/matplotlib/cbook/__init__.py | 7 +- lib/matplotlib/tests/test_artist.py | 9 +- lib/matplotlib/tests/test_simplification.py | 13 +-- tools/triage_tests.py | 9 +- 9 files changed, 59 insertions(+), 121 deletions(-) diff --git a/examples/user_interfaces/fourier_demo_wx_sgskip.py b/examples/user_interfaces/fourier_demo_wx_sgskip.py index 2a943f253a82..b00cd01d6982 100644 --- a/examples/user_interfaces/fourier_demo_wx_sgskip.py +++ b/examples/user_interfaces/fourier_demo_wx_sgskip.py @@ -180,8 +180,7 @@ def createPlots(self): # This method creates the subplots, waveforms and labels. # Later, when the waveforms or sliders are dragged, only the # waveform data will be updated (not here, but below in setKnob). - if not hasattr(self, 'subplot1'): - self.subplot1, self.subplot2 = self.figure.subplots(2) + self.subplot1, self.subplot2 = self.figure.subplots(2) x1, y1, x2, y2 = self.compute(self.f0.value, self.A.value) color = (1., 0., 0.) self.lines += self.subplot1.plot(x1, y1, color=color, linewidth=2) diff --git a/lib/matplotlib/animation.py b/lib/matplotlib/animation.py index 586acad10542..8de7cf5596e5 100644 --- a/lib/matplotlib/animation.py +++ b/lib/matplotlib/animation.py @@ -15,22 +15,21 @@ # * Movies # * Can blit be enabled for movies? # * Need to consider event sources to allow clicking through multiple figures -from __future__ import (absolute_import, division, print_function, - unicode_literals) import six -from six.moves import zip import abc +import base64 import contextlib from io import BytesIO import itertools import logging import os +from pathlib import Path import platform import subprocess import sys -import tempfile +from tempfile import TemporaryDirectory import uuid import numpy as np @@ -39,11 +38,6 @@ JS_INCLUDE) from matplotlib import cbook, rcParams, rcParamsDefault, rc_context -if six.PY2: - from base64 import encodestring as encodebytes -else: - from base64 import encodebytes - _log = logging.getLogger(__name__) @@ -383,8 +377,7 @@ def grab_frame(self, **savefig_kwargs): dpi=self.dpi, **savefig_kwargs) except (RuntimeError, IOError) as e: out, err = self._proc.communicate() - _log.info('MovieWriter -- Error ' - 'running proc:\n%s\n%s' % (out, err)) + _log.info('MovieWriter -- Error running proc:\n%s\n%s', out, err) raise IOError('Error saving animation to file (cause: {0}) ' 'Stdout: {1} StdError: {2}. It may help to re-run ' 'with logging level set to ' @@ -537,8 +530,7 @@ def grab_frame(self, **savefig_kwargs): except RuntimeError: out, err = self._proc.communicate() - _log.info('MovieWriter -- Error ' - 'running proc:\n%s\n%s' % (out, err)) + _log.info('MovieWriter -- Error running proc:\n%s\n%s', out, err) raise def finish(self): @@ -669,7 +661,7 @@ def _args(self): # Logging is quieted because subprocess.PIPE has limited buffer size. # If you have a lot of frames in your animation and set logging to # DEBUG, you will have a buffer overrun. - if (_log.getEffectiveLevel() > logging.DEBUG): + if _log.getEffectiveLevel() > logging.DEBUG: args += ['-loglevel', 'quiet'] args += ['-i', 'pipe:'] + self.output_args return args @@ -903,7 +895,7 @@ def grab_frame(self, **savefig_kwargs): f = BytesIO() self.fig.savefig(f, format=self.frame_format, dpi=self.dpi, **savefig_kwargs) - imgdata64 = encodebytes(f.getvalue()).decode('ascii') + imgdata64 = base64.encodebytes(f.getvalue()).decode('ascii') self._total_bytes += len(imgdata64) if self._total_bytes >= self._bytes_limit: _log.warning( @@ -1336,35 +1328,30 @@ def to_html5_video(self, embed_limit=None): # Convert from MB to bytes embed_limit *= 1024 * 1024 - # First write the video to a tempfile. Set delete to False - # so we can re-open to read binary data. - with tempfile.NamedTemporaryFile(suffix='.m4v', - delete=False) as f: + # Can't open a NamedTemporaryFile twice on Windows, so use a + # TemporaryDirectory instead. + with TemporaryDirectory() as tmpdir: + path = Path(tmpdir, "temp.m4v") # We create a writer manually so that we can get the # appropriate size for the tag Writer = writers[rcParams['animation.writer']] writer = Writer(codec='h264', bitrate=rcParams['animation.bitrate'], fps=1000. / self._interval) - self.save(f.name, writer=writer) - - # Now open and base64 encode - with open(f.name, 'rb') as video: - vid64 = encodebytes(video.read()) - vid_len = len(vid64) - if vid_len >= embed_limit: - _log.warning( - "Animation movie is %s bytes, exceeding the limit of " - "%s. If you're sure you want a large animation " - "embedded, set the animation.embed_limit rc parameter " - "to a larger value (in MB).", vid_len, embed_limit) - else: - self._base64_video = vid64.decode('ascii') - self._video_size = 'width="{}" height="{}"'.format( - *writer.frame_size) - - # Now we can remove - os.remove(f.name) + self.save(str(path), writer=writer) + # Now open and base64 encode. + vid64 = base64.encodebytes(path.read_bytes()) + + if len(vid64) >= embed_limit: + _log.warning( + "Animation movie is %s bytes, exceeding the limit of %s. " + "If you're sure you want a large animation embedded, set " + "the animation.embed_limit rc parameter to a larger value " + "(in MB).", vid_len, embed_limit) + else: + self._base64_video = vid64.decode('ascii') + self._video_size = 'width="{}" height="{}"'.format( + *writer.frame_size) # If we exceeded the size, this attribute won't exist if hasattr(self, '_base64_video'): @@ -1392,25 +1379,18 @@ def to_jshtml(self, fps=None, embed_frames=True, default_mode=None): if default_mode is None: default_mode = 'loop' if self.repeat else 'once' - if hasattr(self, "_html_representation"): - return self._html_representation - else: - # Can't open a second time while opened on windows. So we avoid - # deleting when closed, and delete manually later. - with tempfile.NamedTemporaryFile(suffix='.html', - delete=False) as f: - self.save(f.name, writer=HTMLWriter(fps=fps, - embed_frames=embed_frames, - default_mode=default_mode)) - # Re-open and get content - with open(f.name) as fobj: - html = fobj.read() - - # Now we can delete - os.remove(f.name) - - self._html_representation = html - return html + if not hasattr(self, "_html_representation"): + # Can't open a NamedTemporaryFile twice on Windows, so use a + # TemporaryDirectory instead. + with TemporaryDirectory() as tmpdir: + path = Path(tmpdir, "temp.html") + writer = HTMLWriter(fps=fps, + embed_frames=embed_frames, + default_mode=default_mode) + self.save(str(path), writer=writer) + self._html_representation = path.read_text() + + return self._html_representation def _repr_html_(self): '''IPython display hook for rendering.''' diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index ba289a391ff6..4a286f28d5fc 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - from collections import OrderedDict import six @@ -836,12 +833,11 @@ def _update_transScale(self): self.transScale.set( mtransforms.blended_transform_factory( self.xaxis.get_transform(), self.yaxis.get_transform())) - if hasattr(self, "lines"): - for line in self.lines: - try: - line._transformed_path.invalidate() - except AttributeError: - pass + for line in getattr(self, "lines", []): # Not set during init. + try: + line._transformed_path.invalidate() + except AttributeError: + pass def get_position(self, original=False): """ diff --git a/lib/matplotlib/backend_bases.py b/lib/matplotlib/backend_bases.py index 4aa6f667a93c..fc92f6dd1869 100644 --- a/lib/matplotlib/backend_bases.py +++ b/lib/matplotlib/backend_bases.py @@ -32,9 +32,6 @@ The base class for the messaging area. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import six from contextlib import contextmanager @@ -2062,9 +2059,8 @@ def _get_output_canvas(self, fmt): If necessary, this function will switch to a registered backend that supports the format. """ - method_name = 'print_%s' % fmt # Return the current canvas if it supports the requested format. - if hasattr(self, method_name): + if hasattr(self, 'print_{}'.format(fmt)): return self # Return a default canvas for the requested format, if it exists. canvas_class = get_registered_canvas_class(fmt) diff --git a/lib/matplotlib/backends/backend_webagg.py b/lib/matplotlib/backends/backend_webagg.py index 137cda2aa009..ac893df3adfa 100644 --- a/lib/matplotlib/backends/backend_webagg.py +++ b/lib/matplotlib/backends/backend_webagg.py @@ -1,8 +1,6 @@ """ Displays Agg images in the browser, with interactivity """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) # The WebAgg backend is divided into two modules: # @@ -13,12 +11,12 @@ # - `backend_webagg.py` contains a concrete implementation of a basic # application, implemented with tornado. -import six - from contextlib import contextmanager import errno +from io import BytesIO import json import os +from pathlib import Path import random import sys import signal @@ -63,14 +61,9 @@ class WebAggApplication(tornado.web.Application): class FavIcon(tornado.web.RequestHandler): def get(self): - image_path = os.path.join( - os.path.dirname(os.path.dirname(__file__)), - 'mpl-data', 'images') - self.set_header('Content-Type', 'image/png') - with open(os.path.join(image_path, - 'matplotlib.png'), 'rb') as fd: - self.write(fd.read()) + image_path = Path(rcParams["datapath"], "images", "matplotlib.png") + self.write(image_path.read_bytes()) class SingleFigurePage(tornado.web.RequestHandler): def __init__(self, application, request, **kwargs): @@ -135,7 +128,7 @@ def get(self, fignum, fmt): self.set_header('Content-Type', mimetypes.get(fmt, 'binary')) - buff = six.BytesIO() + buff = BytesIO() manager.canvas.figure.savefig(buff, format=fmt) self.write(buff.getvalue()) @@ -304,13 +297,9 @@ def ipython_inline_display(figure): if not webagg_server_thread.is_alive(): webagg_server_thread.start() - with open(os.path.join( - core.FigureManagerWebAgg.get_static_file_path(), - 'ipython_inline_figure.html')) as fd: - tpl = fd.read() - fignum = figure.number - + tpl = Path(core.FigureManagerWebAgg.get_static_file_path(), + "ipython_inline_figure.html").read_text() t = tornado.template.Template(tpl) return t.generate( prefix=WebAggApplication.url_prefix, diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index 629b66b46078..e75080329c7a 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -6,8 +6,6 @@ it imports matplotlib only at runtime. """ -from __future__ import absolute_import, division, print_function - import six from six.moves import xrange, zip import bz2 @@ -470,7 +468,7 @@ def to_filehandle(fname, flag='rU', return_opened=False, encoding=None): files is automatic, if the filename ends in .gz. *flag* is a read/write flag for :func:`file` """ - if hasattr(os, "PathLike") and isinstance(fname, os.PathLike): + if isinstance(fname, getattr(os, "PathLike", ())): return to_filehandle( os.fspath(fname), flag=flag, return_opened=return_opened, encoding=encoding) @@ -547,8 +545,7 @@ def get_sample_data(fname, asfileobj=True): path = os.path.join(root, fname) if asfileobj: - if (os.path.splitext(fname)[-1].lower() in - ('.csv', '.xrc', '.txt')): + if os.path.splitext(fname)[-1].lower() in ['.csv', '.xrc', '.txt']: mode = 'r' else: mode = 'rb' diff --git a/lib/matplotlib/tests/test_artist.py b/lib/matplotlib/tests/test_artist.py index 8d1a0129451b..0e137f1e0b9d 100644 --- a/lib/matplotlib/tests/test_artist.py +++ b/lib/matplotlib/tests/test_artist.py @@ -1,8 +1,6 @@ -from __future__ import absolute_import, division, print_function - import io -import warnings from itertools import chain +import warnings import numpy as np @@ -270,10 +268,7 @@ class TestArtist(martist.Artist): def set_f(self): pass - func = TestArtist.set_f - if hasattr(func, '__func__'): - func = func.__func__ # python 2 must write via __func__.__doc__ - func.__doc__ = """ + TestArtist.set_f.__doc__ = """ Some text. %s diff --git a/lib/matplotlib/tests/test_simplification.py b/lib/matplotlib/tests/test_simplification.py index fca140877bdc..5f8bb4800b83 100644 --- a/lib/matplotlib/tests/test_simplification.py +++ b/lib/matplotlib/tests/test_simplification.py @@ -1,5 +1,4 @@ -from __future__ import absolute_import, division, print_function - +import base64 import io import numpy as np @@ -265,15 +264,7 @@ def test_start_with_moveto(): AABHqP//ej8AAD6z//+FPwAANb7//48/AAAsyf//lz8AACPU//+ePwAAGt///6M/AAAR6v//pj8A AAj1//+nPwAA/////w==""" - import base64 - if hasattr(base64, 'encodebytes'): - # Python 3 case - decodebytes = base64.decodebytes - else: - # Python 2 case - decodebytes = base64.decodestring - - verts = np.fromstring(decodebytes(data), dtype=' Date: Thu, 15 Mar 2018 11:03:58 -0400 Subject: [PATCH 0351/1161] fixed comment typo --- lib/matplotlib/tests/test_legend.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py index db6d596f57e7..d5da3608b40e 100644 --- a/lib/matplotlib/tests/test_legend.py +++ b/lib/matplotlib/tests/test_legend.py @@ -14,7 +14,7 @@ import matplotlib.legend as mlegend -# test that docstrigs are the same +# test that docstrings are the same def get_docstring_section(func, section): """ extract a section from the docstring of a function """ ll = inspect.getdoc(func) From a7ca1a42aa9c5906ff8e90188ccede9ed9778f6c Mon Sep 17 00:00:00 2001 From: JelsB Date: Thu, 15 Mar 2018 16:23:46 +0000 Subject: [PATCH 0352/1161] TEST: use compatible image test --- .../test_contour/contour_log_extension.png | Bin 26317 -> 8697 bytes lib/matplotlib/tests/test_contour.py | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/tests/baseline_images/test_contour/contour_log_extension.png b/lib/matplotlib/tests/baseline_images/test_contour/contour_log_extension.png index af754d5ba35eefffa3e5a977546ea2b9129243da..5dba34209251bbd2d7e940efc57c094ce26343d0 100644 GIT binary patch literal 8697 zcmeHtdpMMByZ3ERLZu?Rq*92f6v8kSp|VLfkzF>CY>HtRo1va39+C=W6Q)!c`%TGS z8%hl`lCmen3>h?2!;CTOy7fH0@4JroU2A>Ex7PaS`y7YOIrn{C_jRAw`TL!}^Su0F zWnm(=MrI8JL1Jd6M%EC-M}Z(7hOi*`q;$8CI{3vOe8kK~7<@$vd&UD>E0vf)pV$qr)~~ z_hyGI{dQ2pdq3Zm3rbMy*og5kb1CU@*}_vSCZ~8gRSqqJZr^4=JbZWe8?SX!(!!=e znO6r(B(FO0>PQKh?yWs`nBPa^P;U&+)?%n)qwL$O{jEW&hnj6pf3mwrmEiOrdwF+59Oic|n^i^_YN~iew(}Lxfiz{Jr6) z!SnwO#s5hk=$Rw%YpVM83`a4Co<*@k{rvq8Hp=-t0Xvht)$qnAmk9NzHTKQdFlh9~ z*RNlvm3$tX3%cWV%gbSB@`%8sf{n*ehSWKl|LqK+9u-YyDLo~3dB=_9b+=h%M3jMRmw<>-f3 zqDL<2T<`L+X&=YL)(Z8g?x!mm}EsGiq!UIXBy_xx3JA+xTO;5Rmijmrx9+H~aGaJ$M0TIwpYh6V@9qPutC%y) zY~`}HmbJ~^4xU>WcUbOdW|9Z%+r~ynmbm%WH?!aIsqHBa4J(*oRej)(?77HY20Hgz z-z|kM$KlvT3#2(D;cEr^v1Dvh7@>Ri?7*XOXt7t-@OYKjIT7NeT_`-t_nLpX2z906PV#!o9TFp8f0sxh!(LoSDyw0O6fPG9uq zj=fP~Wq#NLFm%!3UJkb#cklJ5=o!0)O74P+?#z0?NYKX66^8!1rydazYE4UJD~`)E zIObtFdHI8l4R#y;x*_tp3ic2TznCK$IXMU&V}uEw4}z@Tc;!!tT6BHd1*7#$pY1zb;to zC&wuUSPE-;)v|YF{=LN-W;RL9HR0+$QkP!9Z~4{h?84Aow6=0e`+I-gY`bUup_1?m zIZ-K;-7ewbdXMY7(}_8yArTu)7Wzp3tu@V@+1`;6*E)GQxdWW-${zVtz>pAG0z(`8 zgUy^n4Bho|I9gkc!D0dZwCtY35s`hasLZOXeMAv)LG8w zZcYI{G=&}oJOGEqVeFpcUth#*biqb4EH)G~pAe?6@%;U?HS#Z8Uk4BJiN z{SE2xPRjE(x*NOlAt+$6@#`o_XQ#|(jgY{%Oku`mM`rf)@32wFk4;Wp64t#e0RkTp z+j*R@7#V&G7?%#lcDC89UlMiS3PBW^SPM1VEo{*T!0@?^igPX4&O!vO2l4SN0Tn0K z|H?S#-Lt*Gq)JlAe8w7U<&cN|h{sHyT?=L^oP8_>E99A`27KaH4wX|z~$ zi-LD@-=DE3D%;D!)8Ql87xDpveJUhI*s}W~tZD65h-R%)pMzvWoc_}HXNLyVze~Ti zv``u&0Uq8nWGE-@aX=;w>j(84%W#4v(?~@4|6*`-K03m z3!&psLioFO$abl3sA;=KNO59Y6o``2Qxhsn?h2+EH{%#0Xs94QU8oNA=4dcL(E&Uq z>x&3h@u0EGS;XYIgWzsQw;@ck)DP5}kKuXxr!2RE5tO~>B&yR2@{_@c`FoYQ_K5jd z#IT%W3-|A6HJM?m(oec9x2qTfq8Eh6OP~x&+~=smR%H$66WY(XsoNbaZSo6S@pcjZ?!@;mUup^KL}b4 z>$MtDdg&3U9&k&0VNiEOj@aIts=*QfFA&4jS#~thFFw}B&mBx-B@aBZY2d@}F^PV+ zW0emaq$?4Tb%6L$CSmp$@qr(+BhD)ng51(_Jj+Se5wB(^77?6m4!F7HxSvmK(>`YJ z0WgCN;mv6af8SV*z086H5d1Qy8Q=4?o}vaaBAnnXQc}?=d!%oW*I${!22l%ThYn5t z$jc`wjSY3E3*yfs)?kAX{sZO+*xg{25OkB@^0E+grdwiV%-(%!x7v5Rs{O$`U^K+g2b51IYl?vjcCl$!M&MT1Z0f)g<#o=(O2Hf_-`|@NzGsa*a z%sF28k$Mb5Ttb2rFuw4N3UkgNAL|v7k3|5yMXKCW`E^O#bE(r3rx_4A&C>Q=GHL$7 zsk8!U0=E-H}clmx@9D{1zMmbm0&~MgzlqrnPIjv0F&Tl|A@ES9CabC(tN>k$fPI94B zUyJKH7V2#3&{vIK2Cu(W4>55sb5tqTqLQ$NLpL(KS*fbsxL&IX#UdilD3hsax({%N zm-z|{vEvc9lJ?$|2~K`0NwK=6JI>v&Aq<%pMQo3}m9&psZQhC0EX(EBt+sKN;?IdX zkQ8rN@TG$1ZGneJe>Gvnl)rcSVHdoF_D zfUFE-#dll)JQ;;t<;jCp>A!JC5z#wCZ_)1P%|?{9Tklq!64WYbul1fh ztPRLb_gq?1rIbjB-bL^bhEoP9h{jfCa!lA2ocAt;uhWspg!uU9Zc8ICe=73nir9A<5f6_8 z=v`E+YIiR0>`$(mRHZbSESSMeOtd#sE#O4^w zlB;?&sds4Tdr;0rKkY^s=RYOb2Ji;|p&o0Q!t+)4vXg&!upc$1ahIoDIpu9V(1#)l z9I-K>Kzky;4Zpm5!th#$23Z+!fHJRq%n?HG*JHi&yt4qCS-|@~Mz*rUbie4>)QpIh zM3AO+^KNv^g=@V)`4W+o&49zy2q1#DWO?AtCKdedfIa%Hr}ofO5kYHDT9-FiKh`(R zyu4!%dFP};A zR=X&_IkJIv8}hB{bRiA$)#1}(UG6IFnsry8{2AYhUc6D}z)X2yx%EkfK!53*K}~uL zL6{-7n+@2exi<%w)Qljy3A{$kq<4d@j)cmdIDCMAma3 z!Vsi>*ihjG&o(w%C-2kKO^6SpZ4bHj^4#@fdDhA1HO1`G4y{_73sYSky~Aou@v*8r z2jimq?}+-DPrv&WF?K2Y$p_k2XVNxMkoG^eQ}_)+w*0IWKUt6pk7soJo}@w6^1AwV z@M^~fN~(3MH!(3%BV}sI8h>;RfmQ4!>w;G&q=PhAY=Q57rmDo%e=hN`lt4}{Ul4e2 z{{;?0idL+}l#Tqd=!>nUr+Q>Z1Z3S5Z6_6+mC5IfLw@HPYw$xV1sC}uZ;9=@xh6Py zqcGZ(_*jGAsjZdAty}BKwx;Xm`^o&l$uq*}QR29^>mhc!W=!coIQMa~4j;C4@WjYJ zQzHKvaQ?2uDJf@ODx&U$KKR0AQh8Hj+}X?9i!d))3_9I$>sEaH-Qgm`_Z>*Q3V_Z< ze|OEuEwY|?6>}n}*J0JLgYZ_YG6`{0_ovBdQI&OFRRc*;!4mI5)u;%>z{)IRLDKpsuxsx$TvHDtznuD6L0c1 zGBw3qgM4gK!5`LtX*LUoI<)FhS*frPF$P$2^B}}83un3DnB}Y0haM0gnouW zmR(J_U_nalCy9R)5?~2HV$I9IvO#NXVqyo(qEUac=x!K{5P0Y8fVAkmy4mq~Aqj<7 zL-m-uw5{TC`(%=iBSY<1RlU|&XSUvD?h5A-`(6(22%yp(EvF4)4FIVn>65Ztj#Yw} zY03Pd5YU=bJb2nbD%VV3dhHz=Gu1L?1ul?9Kyo>ef82t^!vdP9x;KAohr2f>^ot?x z8^N;sx2JFDgWU$MEkr(8BBFas;_L%GU0)rO^2yq-i2x!Z6FBIZOX6fl8^G1!0?JQhJLEQ%R-b8rxk0;&1rk1zzi~B$DIx9{TW}$>`r^1lpn^gwN zW*;3$7$NAkHKXI9UqGyuCS3<;SE%G^XZ_KEQC@$q$q+CC!g^OcMEAX#8lS4Jj8z)iG1 zQSPAXt(DKRbk#fjRzY0$cQx19w*q23y-Eo&KYYCK_JwcE>Oqava&1+&`6Lbt zVb>S6HQW@c!@ub^`I#+Z9*Zz!Hb!yk@k0Hjl#7S`{bHX=(oypKSl*A}NA*rgRA&If z^vu?-)@0&y`LQQT*c#toDEQ=sjFj{VO8EeuXPM!dCo__BC7Gy!)Fo-Z1XbX^Nu%0Adc{kWyl6Spzt)bT3oUA25gu*iRdHKi7RDuLXp&X#*XVyD=)e zu~z645DVmWfd7E@dzJ%q#ho)#^7sAWuxC_Rth@t_6jsK}uuuuRwuV`vqN^k9Dr|Eqbx$?$F zpyzp}4yPm6=5s*xdoPM@vx&7T;|cd*x|9_`E1Hcj=zP;RWcO1KS$%vYJK|8Am;iw; za6cf6pYoOmG>86EX+G)*lONQd(d&6hxVr7D7 zUT5oJ##T7&6U;+M?r$g|N<8;R=UgeLaZJG{s~a<-_MOAKHM63=J|gs43mxp)qp|42 z6MX*GTJzhD4B)N@Y9~k+0u>U~hd147R{Rkw3_iL-xXz*fW_XjJ>VZ4VILZd}j?F8b zHzXN@Zc~U6$k)86CtxxgA4w@5jqw){`8RVX{%6-k`Os-#|HS8y;ZV6YA?Hw(6dAC8 zMz4HtA;xC@tVD?3d`CO%M55M{l;LdUWo$9cUPrHKGpRToq#c6AZd||q>T@^h%I8bc zd0hpASNR^5U>y+?g>VDOx5Agm+%{pq56CnUy{arb=V<-L@czd1DOC^`J~mySNSK2Z zy1wfgG`>Ee>6#0f2^uw!qcIs&j1=}!z@gcp&SXpFl-?08Q`Sig#VHkKbuYCG+8;Uf z&ywQLQXBf2A$`8oKeNp5PPfSSb_G)i0*n~`(vUg$t#Wd&R#sN}{P#*58NEVq$n%1A zR6?x~*?5&2*D@lQwARm`Kll0TE97#jNXt~uN3y6aCv7HF*YX;FVXk@?LhGa0j!YQ&4et3fb;0)T%rnhd?QF54aT?#qJ`x17J_?DMrk8S?g3 z(vTx)2!l!f7dqPjC;$FAZa;hRH%q~xj!uSrYt_<)!Cptiwkdk}$=s-o+5v;{?Vgnk z&}#wxYr+}d82}V;(8@?Fi`*H|8Q3;3x5AY6<9vUjFwR-hTiA1BJkD_WTqI}4)s^M_ z^7Gzfd8Y)_{0-p-5j1*yU|?V&cjX=Kdd*lzdPnZ2l@)LZW_W`u>3SW}s@=TQp`)+w zR0kAY*)`jml-1@@>GvmPQR<;%HRIk3c55H>s<84F9qzT6EmOPa!gblAtC?lgaVFTB3pPi!2bhF@Nl zm1)J;1R5g}R>e?ET1n8~8I2Th+Y)QleZMKbFPE;rx^#FxLb=*rHy zyLv9O`|FrWT{j)1SKzIShj3s>gFX!17RS!q2YN_EAn<#!hi-NoS{KP?&Cl;uQnJW3 zFJoR+r4mljnhL3szFM0K3o>bl^z4qrJ zhB+eN+L_Z=Hy_+FMGsqEyxj1k|6)aBBdf^m#*G``pzvAcL2xXpKJ;lS<)LtJ*=!vv z*tnYOeHJrmoE{M}{f?OE!<{4BE;~_GHJJsjYPn<4J-G58Oy*g3VoP(s5aQ7tGoxje0 zFM(ElQl^X1rhvg`>s>k1_8#8(X{7#UYj_UYik~y5*3{CT+dMhto2$X~dzkl*YdAAa znw+{a=D4JM8O%gJ_-Bjw7Xy5i)B6JcI{^XzF95jVzseK8#{a)KCZ?J9T<#Ph?3{=u Qczwvs*utpvh})Ha1O9J+@Bjb+ literal 26317 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%0DWa-)qIY>4L9Yx|*9O@r=C-kZvM+EuPu?U~s;0 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 lS}2 Date: Thu, 15 Mar 2018 17:10:33 +0000 Subject: [PATCH 0353/1161] TEST: convert all to PEP8 style --- lib/matplotlib/tests/test_contour.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py index d2b5cff31e97..afea321c8b1a 100644 --- a/lib/matplotlib/tests/test_contour.py +++ b/lib/matplotlib/tests/test_contour.py @@ -374,17 +374,17 @@ def test_circular_contour_warning(): extensions=['png'], remove_text=True, style='mpl20') def test_contourf_log_extension(): # Test that contourf with lognorm is extended correctly - fig = plt.figure(figsize=(10,5)) + fig = plt.figure(figsize=(10, 5)) fig.subplots_adjust(left=0.05, right=0.95) ax1 = fig.add_subplot(131) ax2 = fig.add_subplot(132) ax3 = fig.add_subplot(133) # make data set with large range e.g. between 1e-8 and 1e10 - data_exp = np.linspace(-8,10,1200) - data = np.power(10, data_exp).reshape(30,40) + data_exp = np.linspace(-8, 10, 1200) + data = np.power(10, data_exp).reshape(30, 40) # make manual levels e.g. between 1e-4 and 1e-6 - levels_exp = np.arange(-4.,7.) + levels_exp = np.arange(-4., 7.) levels = np.power(10., levels_exp) # original data From f5fa2ae52e54c8a62f35d90ffca2307f4e01dc17 Mon Sep 17 00:00:00 2001 From: pdubcali Date: Thu, 15 Mar 2018 13:20:07 -0400 Subject: [PATCH 0354/1161] Added examples to lbm --- examples/lines_bars_and_markers/scatter_custom_symbol.py | 2 ++ examples/lines_bars_and_markers/scatter_hist.py | 2 ++ examples/lines_bars_and_markers/scatter_masked.py | 2 ++ examples/lines_bars_and_markers/scatter_star_poly.py | 2 ++ examples/lines_bars_and_markers/scatter_symbol.py | 4 +++- 5 files changed, 11 insertions(+), 1 deletion(-) diff --git a/examples/lines_bars_and_markers/scatter_custom_symbol.py b/examples/lines_bars_and_markers/scatter_custom_symbol.py index 9d4b71ee7ede..82f46723e230 100644 --- a/examples/lines_bars_and_markers/scatter_custom_symbol.py +++ b/examples/lines_bars_and_markers/scatter_custom_symbol.py @@ -3,6 +3,8 @@ Scatter Custom Symbol ===================== +Custom symbol in scatter plot. + """ import matplotlib.pyplot as plt import numpy as np diff --git a/examples/lines_bars_and_markers/scatter_hist.py b/examples/lines_bars_and_markers/scatter_hist.py index b4320d686725..ff58de8cb842 100644 --- a/examples/lines_bars_and_markers/scatter_hist.py +++ b/examples/lines_bars_and_markers/scatter_hist.py @@ -3,6 +3,8 @@ Scatter Hist ============ +Creates histogram from scatter plot. + """ import numpy as np import matplotlib.pyplot as plt diff --git a/examples/lines_bars_and_markers/scatter_masked.py b/examples/lines_bars_and_markers/scatter_masked.py index 56acfa2b6347..826070401101 100644 --- a/examples/lines_bars_and_markers/scatter_masked.py +++ b/examples/lines_bars_and_markers/scatter_masked.py @@ -3,6 +3,8 @@ Scatter Masked ============== +Add mask line in plot. + """ import matplotlib.pyplot as plt import numpy as np diff --git a/examples/lines_bars_and_markers/scatter_star_poly.py b/examples/lines_bars_and_markers/scatter_star_poly.py index 1cf83cebcb30..218b68d03489 100644 --- a/examples/lines_bars_and_markers/scatter_star_poly.py +++ b/examples/lines_bars_and_markers/scatter_star_poly.py @@ -3,6 +3,8 @@ Scatter Star Poly ================= +Create multiple scatter plots. + """ import numpy as np import matplotlib.pyplot as plt diff --git a/examples/lines_bars_and_markers/scatter_symbol.py b/examples/lines_bars_and_markers/scatter_symbol.py index bee25f03ddc7..3d2e32f294a7 100644 --- a/examples/lines_bars_and_markers/scatter_symbol.py +++ b/examples/lines_bars_and_markers/scatter_symbol.py @@ -3,8 +3,10 @@ Scatter Symbol ============== +Scatter plot with symbols. + """ -import matplotlib.pyplot as plt +from matplotlib import pyplot as plt import numpy as np import matplotlib From d6ae63e39a093186613b30633dcaf464ae5e1f93 Mon Sep 17 00:00:00 2001 From: pdubcali Date: Thu, 15 Mar 2018 13:33:52 -0400 Subject: [PATCH 0355/1161] Added more examples to lbm --- examples/lines_bars_and_markers/scatter_custom_symbol.py | 1 + examples/lines_bars_and_markers/scatter_hist.py | 1 + examples/lines_bars_and_markers/scatter_star_poly.py | 3 ++- examples/lines_bars_and_markers/scatter_symbol.py | 1 + 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/examples/lines_bars_and_markers/scatter_custom_symbol.py b/examples/lines_bars_and_markers/scatter_custom_symbol.py index 82f46723e230..25e71cc80c5d 100644 --- a/examples/lines_bars_and_markers/scatter_custom_symbol.py +++ b/examples/lines_bars_and_markers/scatter_custom_symbol.py @@ -4,6 +4,7 @@ ===================== Custom symbol in scatter plot. +This example is creating an ellipse """ import matplotlib.pyplot as plt diff --git a/examples/lines_bars_and_markers/scatter_hist.py b/examples/lines_bars_and_markers/scatter_hist.py index ff58de8cb842..5b6ec6065d4b 100644 --- a/examples/lines_bars_and_markers/scatter_hist.py +++ b/examples/lines_bars_and_markers/scatter_hist.py @@ -4,6 +4,7 @@ ============ Creates histogram from scatter plot. +And adds them to the sides of the plot. """ import numpy as np diff --git a/examples/lines_bars_and_markers/scatter_star_poly.py b/examples/lines_bars_and_markers/scatter_star_poly.py index 218b68d03489..517a6a067c15 100644 --- a/examples/lines_bars_and_markers/scatter_star_poly.py +++ b/examples/lines_bars_and_markers/scatter_star_poly.py @@ -3,7 +3,8 @@ Scatter Star Poly ================= -Create multiple scatter plots. +Create multiple scatter plots with different +star symbols. """ import numpy as np diff --git a/examples/lines_bars_and_markers/scatter_symbol.py b/examples/lines_bars_and_markers/scatter_symbol.py index 3d2e32f294a7..62e8581d198e 100644 --- a/examples/lines_bars_and_markers/scatter_symbol.py +++ b/examples/lines_bars_and_markers/scatter_symbol.py @@ -4,6 +4,7 @@ ============== Scatter plot with symbols. +In this example clovers are used. """ from matplotlib import pyplot as plt From d8bb79f72a50f62b0e048dc37895d46ea41c05fa Mon Sep 17 00:00:00 2001 From: pdubcali Date: Thu, 15 Mar 2018 14:03:35 -0400 Subject: [PATCH 0356/1161] Made corrections for pr --- examples/lines_bars_and_markers/scatter_custom_symbol.py | 3 +-- examples/lines_bars_and_markers/scatter_hist.py | 4 ++-- examples/lines_bars_and_markers/scatter_masked.py | 3 ++- examples/lines_bars_and_markers/scatter_symbol.py | 5 ++--- 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/examples/lines_bars_and_markers/scatter_custom_symbol.py b/examples/lines_bars_and_markers/scatter_custom_symbol.py index 25e71cc80c5d..57ed832724e7 100644 --- a/examples/lines_bars_and_markers/scatter_custom_symbol.py +++ b/examples/lines_bars_and_markers/scatter_custom_symbol.py @@ -3,8 +3,7 @@ Scatter Custom Symbol ===================== -Custom symbol in scatter plot. -This example is creating an ellipse +Creating a custom ellipse symbol in scatter plot. """ import matplotlib.pyplot as plt diff --git a/examples/lines_bars_and_markers/scatter_hist.py b/examples/lines_bars_and_markers/scatter_hist.py index 5b6ec6065d4b..f4737a321c16 100644 --- a/examples/lines_bars_and_markers/scatter_hist.py +++ b/examples/lines_bars_and_markers/scatter_hist.py @@ -3,8 +3,8 @@ Scatter Hist ============ -Creates histogram from scatter plot. -And adds them to the sides of the plot. +Creates histogram from scatter plot +and adds them to the sides of the plot. """ import numpy as np diff --git a/examples/lines_bars_and_markers/scatter_masked.py b/examples/lines_bars_and_markers/scatter_masked.py index 826070401101..fd6d5d36783e 100644 --- a/examples/lines_bars_and_markers/scatter_masked.py +++ b/examples/lines_bars_and_markers/scatter_masked.py @@ -3,7 +3,8 @@ Scatter Masked ============== -Add mask line in plot. +Mask some data points and add a line demarking +masked regions. """ import matplotlib.pyplot as plt diff --git a/examples/lines_bars_and_markers/scatter_symbol.py b/examples/lines_bars_and_markers/scatter_symbol.py index 62e8581d198e..4b91fabb3aad 100644 --- a/examples/lines_bars_and_markers/scatter_symbol.py +++ b/examples/lines_bars_and_markers/scatter_symbol.py @@ -3,11 +3,10 @@ Scatter Symbol ============== -Scatter plot with symbols. -In this example clovers are used. +Scatter plot with clover symbols. """ -from matplotlib import pyplot as plt +import matplotlib.pyplot as plt import numpy as np import matplotlib From 3fd17270c4519bd0a9d2513863a6dbdd2ce667ea Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Thu, 15 Mar 2018 15:19:32 -0400 Subject: [PATCH 0357/1161] Fix for issue #10062 --- lib/matplotlib/axes/_base.py | 12 ++++++++---- lib/matplotlib/tests/test_axes.py | 17 +++++++++++++++++ 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 9071e30f7f85..0826dc006391 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -1015,7 +1015,8 @@ def cla(self): self.xaxis.major = self._sharex.xaxis.major self.xaxis.minor = self._sharex.xaxis.minor x0, x1 = self._sharex.get_xlim() - self.set_xlim(x0, x1, emit=False, auto=None) + self.set_xlim(x0, x1, emit=False, + auto=self._sharex.get_autoscalex_on()) self.xaxis._scale = mscale.scale_factory( self._sharex.xaxis.get_scale(), self.xaxis) else: @@ -1029,7 +1030,8 @@ def cla(self): self.yaxis.major = self._sharey.yaxis.major self.yaxis.minor = self._sharey.yaxis.minor y0, y1 = self._sharey.get_ylim() - self.set_ylim(y0, y1, emit=False, auto=None) + self.set_ylim(y0, y1, emit=False, + auto=self._sharey.get_autoscaley_on()) self.yaxis._scale = mscale.scale_factory( self._sharey.yaxis.get_scale(), self.yaxis) else: @@ -1045,8 +1047,10 @@ def cla(self): if (rcParams['ytick.minor.visible']): self.yaxis.set_minor_locator(mticker.AutoMinorLocator()) - self._autoscaleXon = True - self._autoscaleYon = True + if self._sharex is None: + self._autoscaleXon = True + if self._sharey is None: + self._autoscaleYon = True self._xmargin = rcParams['axes.xmargin'] self._ymargin = rcParams['axes.ymargin'] self._tight = None diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index abd2b6675b48..cfc53563c5f6 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -5127,6 +5127,23 @@ def test_remove_shared_axes_relim(): assert_array_equal(ax_lst[0][1].get_xlim(), orig_xlim) +def test_shared_axes_autoscale(): + l = np.arange(-80,90,40) + t = np.random.random_sample((l.size,l.size)) + + ax1 = plt.subplot(211) + ax1.set_xlim(-1000,1000) + ax1.set_ylim(-1000,1000) + ax1.contour(l,l,t) + + ax2 = plt.subplot(212,sharex=ax1,sharey=ax1) + ax2.contour(l,l,t) + assert not ax1.get_autoscalex_on() and not ax2.get_autoscalex_on() + assert not ax1.get_autoscaley_on() and not ax2.get_autoscaley_on() + assert ax1.get_xlim() == ax2.get_xlim() == (-1000, 1000) + assert ax1.get_ylim() == ax2.get_ylim() == (-1000, 1000) + + def test_adjust_numtick_aspect(): fig, ax = plt.subplots() ax.yaxis.get_major_locator().set_params(nbins='auto') From 1b3a1802a6a8ebb8ad7b76b134c4d0e3b672bee2 Mon Sep 17 00:00:00 2001 From: ob Date: Thu, 15 Mar 2018 15:25:20 -0400 Subject: [PATCH 0358/1161] Fixed pep8 warnings that caused Travis-CI to fail --- lib/matplotlib/tests/test_widgets.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/tests/test_widgets.py b/lib/matplotlib/tests/test_widgets.py index 1d87c1799794..6eecb4b0c540 100644 --- a/lib/matplotlib/tests/test_widgets.py +++ b/lib/matplotlib/tests/test_widgets.py @@ -90,7 +90,7 @@ def onselect(epress, erelease): if kwargs.get('drawtype', None) not in ['line', 'none']: assert_allclose(tool.geometry, - [[100., 100, 199, 199, 100], + [[100., 100, 199, 199, 100], [100, 199, 199, 100, 100]], err_msg=tool.geometry) @@ -120,7 +120,7 @@ def onselect(epress, erelease): # drag the rectangle do_event(tool, 'press', xdata=10, ydata=10, button=1, key=' ') - + do_event(tool, 'onmove', xdata=30, ydata=30, button=1) do_event(tool, 'release', xdata=30, ydata=30, button=1) assert tool.extents == (120, 170, 120, 170) @@ -453,4 +453,3 @@ def test_polygon_selector(): + polygon_place_vertex(50, 150) + polygon_place_vertex(50, 50)) check_polygon_selector(event_sequence, expected_result, 1) - \ No newline at end of file From 7ad9801a5caac8f2c3ddbe51510cea29771804f3 Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Thu, 15 Mar 2018 19:02:13 -0400 Subject: [PATCH 0359/1161] Tests must follow PEP8 as well --- lib/matplotlib/tests/test_axes.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index cfc53563c5f6..ebfceca2a97f 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -5128,16 +5128,16 @@ def test_remove_shared_axes_relim(): def test_shared_axes_autoscale(): - l = np.arange(-80,90,40) - t = np.random.random_sample((l.size,l.size)) + l = np.arange(-80, 90, 40) + t = np.random.random_sample((l.size, l.size)) ax1 = plt.subplot(211) - ax1.set_xlim(-1000,1000) - ax1.set_ylim(-1000,1000) - ax1.contour(l,l,t) + ax1.set_xlim(-1000, 1000) + ax1.set_ylim(-1000, 1000) + ax1.contour(l, l, t) - ax2 = plt.subplot(212,sharex=ax1,sharey=ax1) - ax2.contour(l,l,t) + ax2 = plt.subplot(212, sharex=ax1, sharey=ax1) + ax2.contour(l, l, t) assert not ax1.get_autoscalex_on() and not ax2.get_autoscalex_on() assert not ax1.get_autoscaley_on() and not ax2.get_autoscaley_on() assert ax1.get_xlim() == ax2.get_xlim() == (-1000, 1000) From 1d22714fb770cda7c914254c75c3aeecbfa6e280 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Thu, 15 Mar 2018 21:09:18 -0400 Subject: [PATCH 0360/1161] FIX: properties and setp on Table instances closes #10732 --- lib/matplotlib/artist.py | 12 ++++++------ lib/matplotlib/tests/test_table.py | 5 +++++ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/lib/matplotlib/artist.py b/lib/matplotlib/artist.py index d64e2dd5e3f9..d99323d0608e 100644 --- a/lib/matplotlib/artist.py +++ b/lib/matplotlib/artist.py @@ -1075,11 +1075,11 @@ def __init__(self, o): :class:`Artists` are of the same type) and it is your responsibility to make sure this is so. """ - if cbook.iterable(o): - # Wrapped in list instead of doing try-except around next(iter(o)) - o = list(o) - if len(o): - o = o[0] + if not isinstance(o, Artist): + if cbook.iterable(o): + o = list(o) + if len(o): + o = o[0] self.oorig = o if not inspect.isclass(o): @@ -1436,7 +1436,7 @@ def setp(obj, *args, **kwargs): >>> setp(lines, linewidth=2, color='r') # python style """ - if not cbook.iterable(obj): + if isinstance(obj, Artist): objs = [obj] else: objs = list(cbook.flatten(obj)) diff --git a/lib/matplotlib/tests/test_table.py b/lib/matplotlib/tests/test_table.py index 4ce0577c0e76..d458d071b419 100644 --- a/lib/matplotlib/tests/test_table.py +++ b/lib/matplotlib/tests/test_table.py @@ -194,3 +194,8 @@ def test_table_cells(): cell2 = CustomCell((0, 0), 1, 2, visible_edges=None) table[2, 1] = cell2 assert table[2, 1] is cell2 + + # make sure gettitem support has not broken + # properties and setp + table.properties() + plt.setp(table) From 0e8a39fa60aa9e9f63cb15e4168d29b8ab76d437 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Thu, 15 Mar 2018 21:14:30 -0400 Subject: [PATCH 0361/1161] MNT: catch more illegal '\' --- lib/matplotlib/backends/backend_pgf.py | 4 ++-- lib/mpl_toolkits/axisartist/angle_helper.py | 24 ++++++++++----------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/lib/matplotlib/backends/backend_pgf.py b/lib/matplotlib/backends/backend_pgf.py index 36cfee0ee801..eaa243203ad3 100644 --- a/lib/matplotlib/backends/backend_pgf.py +++ b/lib/matplotlib/backends/backend_pgf.py @@ -51,7 +51,7 @@ _luatex_version_re = re.compile( - 'This is LuaTeX, Version (?:beta-)?([0-9]+)\.([0-9]+)\.([0-9]+)' + r'This is LuaTeX, Version (?:beta-)?([0-9]+)\.([0-9]+)\.([0-9]+)' ) @@ -1199,7 +1199,7 @@ def savefig(self, figure=None, **kwargs): figure.canvas = orig_canvas def _build_newpage_command(self, width, height): - '''LuaLaTeX from version 0.85 removed the `\pdf*` primitives, + r'''LuaLaTeX from version 0.85 removed the `\pdf*` primitives, so we need to check the lualatex version and use `\pagewidth` if the version is 0.85 or newer ''' diff --git a/lib/mpl_toolkits/axisartist/angle_helper.py b/lib/mpl_toolkits/axisartist/angle_helper.py index 66cf74c42805..34ac6cfe4021 100644 --- a/lib/mpl_toolkits/axisartist/angle_helper.py +++ b/lib/mpl_toolkits/axisartist/angle_helper.py @@ -209,18 +209,18 @@ def __call__(self, v1, v2): class FormatterDMS(object): - deg_mark = "^{\circ}" - min_mark = "^{\prime}" - sec_mark = "^{\prime\prime}" + deg_mark = r"^{\circ}" + min_mark = r"^{\prime}" + sec_mark = r"^{\prime\prime}" fmt_d = "$%d" + deg_mark + "$" fmt_ds = r"$%d.%s" + deg_mark + "$" # %s for sign - fmt_d_m = r"$%s%d" + deg_mark + "\,%02d" + min_mark + "$" - fmt_d_ms = r"$%s%d" + deg_mark + "\,%02d.%s" + min_mark + "$" + fmt_d_m = r"$%s%d" + deg_mark + r"\,%02d" + min_mark + "$" + fmt_d_ms = r"$%s%d" + deg_mark + r"\,%02d.%s" + min_mark + "$" - fmt_d_m_partial = "$%s%d" + deg_mark + "\,%02d" + min_mark + "\," + fmt_d_m_partial = "$%s%d" + deg_mark + r"\,%02d" + min_mark + r"\," fmt_s_partial = "%02d" + sec_mark + "$" fmt_ss_partial = "%02d.%s" + sec_mark + "$" @@ -315,18 +315,18 @@ def __call__(self, direction, factor, values): class FormatterHMS(FormatterDMS): - deg_mark = "^\mathrm{h}" - min_mark = "^\mathrm{m}" - sec_mark = "^\mathrm{s}" + deg_mark = r"^\mathrm{h}" + min_mark = r"^\mathrm{m}" + sec_mark = r"^\mathrm{s}" fmt_d = "$%d" + deg_mark + "$" fmt_ds = r"$%d.%s" + deg_mark + "$" # %s for sign - fmt_d_m = r"$%s%d" + deg_mark + "\,%02d" + min_mark+"$" - fmt_d_ms = r"$%s%d" + deg_mark + "\,%02d.%s" + min_mark+"$" + fmt_d_m = r"$%s%d" + deg_mark + r"\,%02d" + min_mark+"$" + fmt_d_ms = r"$%s%d" + deg_mark + r"\,%02d.%s" + min_mark+"$" - fmt_d_m_partial = "$%s%d" + deg_mark + "\,%02d" + min_mark + "\," + fmt_d_m_partial = "$%s%d" + deg_mark + r"\,%02d" + min_mark + r"\," fmt_s_partial = "%02d" + sec_mark + "$" fmt_ss_partial = "%02d.%s" + sec_mark + "$" From da1763c1b63d8b694e7c5d7a0f2a1151f63eec42 Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Thu, 15 Mar 2018 12:16:39 -0700 Subject: [PATCH 0362/1161] DOC: make legend docstring interpolated --- lib/matplotlib/axes/_axes.py | 167 +-------------------------- lib/matplotlib/figure.py | 167 +-------------------------- lib/matplotlib/legend.py | 169 +--------------------------- lib/matplotlib/tests/test_legend.py | 34 ------ 4 files changed, 4 insertions(+), 533 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index b40294173701..0e7dad239d23 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -363,172 +363,7 @@ def legend(self, *args, **kwargs): Other Parameters ---------------- - loc : int or string or pair of floats, default: 'upper right' - The location of the legend. Possible codes are: - - =============== ============= - Location String Location Code - =============== ============= - 'best' 0 - 'upper right' 1 - 'upper left' 2 - 'lower left' 3 - 'lower right' 4 - 'right' 5 - 'center left' 6 - 'center right' 7 - 'lower center' 8 - 'upper center' 9 - 'center' 10 - =============== ============= - - - Alternatively can be a 2-tuple giving ``x, y`` of the lower-left - corner of the legend in axes coordinates (in which case - ``bbox_to_anchor`` will be ignored). - - bbox_to_anchor : `.BboxBase` or pair of floats - Specify any arbitrary location for the legend in `bbox_transform` - coordinates (default Axes coordinates). - - For example, to put the legend's upper right hand corner in the - center of the axes the following keywords can be used:: - - loc='upper right', bbox_to_anchor=(0.5, 0.5) - - ncol : integer - The number of columns that the legend has. Default is 1. - - prop : None or :class:`matplotlib.font_manager.FontProperties` or dict - The font properties of the legend. If None (default), the current - :data:`matplotlib.rcParams` will be used. - - fontsize : int or float or {'xx-small', 'x-small', 'small', 'medium', \ -'large', 'x-large', 'xx-large'} - Controls the font size of the legend. If the value is numeric the - size will be the absolute font size in points. String values are - relative to the current default font size. This argument is only - used if `prop` is not specified. - - numpoints : None or int - The number of marker points in the legend when creating a legend - entry for a `.Line2D` (line). - Default is ``None``, which will take the value from - :rc:`legend.numpoints`. - - scatterpoints : None or int - The number of marker points in the legend when creating - a legend entry for a `.PathCollection` (scatter plot). - Default is ``None``, which will take the value from - :rc:`legend.scatterpoints`. - - scatteryoffsets : iterable of floats - The vertical offset (relative to the font size) for the markers - created for a scatter plot legend entry. 0.0 is at the base the - legend text, and 1.0 is at the top. To draw all markers at the - same height, set to ``[0.5]``. Default is ``[0.375, 0.5, 0.3125]``. - - markerscale : None or int or float - The relative size of legend markers compared with the originally - drawn ones. - Default is ``None``, which will take the value from - :rc:`legend.markerscale`. - - markerfirst : bool - If *True*, legend marker is placed to the left of the legend label. - If *False*, legend marker is placed to the right of the legend - label. - Default is *True*. - - frameon : None or bool - Control whether the legend should be drawn on a patch - (frame). - Default is ``None``, which will take the value from - :rc:`legend.frameon`. - - fancybox : None or bool - Control whether round edges should be enabled around the - :class:`~matplotlib.patches.FancyBboxPatch` which makes up the - legend's background. - Default is ``None``, which will take the value from - :rc:`legend.fancybox`. - - shadow : None or bool - Control whether to draw a shadow behind the legend. - Default is ``None``, which will take the value from - :rc:`legend.shadow`. - - framealpha : None or float - Control the alpha transparency of the legend's background. - Default is ``None``, which will take the value from - :rc:`legend.framealpha`. If shadow is activated and - *framealpha* is ``None``, the default value is ignored. - - facecolor : None or "inherit" or a color spec - Control the legend's background color. - Default is ``None``, which will take the value from - :rc:`legend.facecolor`. If ``"inherit"``, it will take - :rc:`axes.facecolor`. - - edgecolor : None or "inherit" or a color spec - Control the legend's background patch edge color. - Default is ``None``, which will take the value from - :rc:`legend.edgecolor` If ``"inherit"``, it will take - :rc:`axes.edgecolor`. - - mode : {"expand", None} - If `mode` is set to ``"expand"`` the legend will be horizontally - expanded to fill the axes area (or `bbox_to_anchor` if defines - the legend's size). - - bbox_transform : None or :class:`matplotlib.transforms.Transform` - The transform for the bounding box (`bbox_to_anchor`). For a value - of ``None`` (default) the Axes' - :data:`~matplotlib.axes.Axes.transAxes` transform will be used. - - title : str or None - The legend's title. Default is no title (``None``). - - borderpad : float or None - The fractional whitespace inside the legend border. - Measured in font-size units. - Default is ``None``, which will take the value from - :rc:`legend.borderpad`. - - labelspacing : float or None - The vertical space between the legend entries. - Measured in font-size units. - Default is ``None``, which will take the value from - :rc:`legend.labelspacing`. - - handlelength : float or None - The length of the legend handles. - Measured in font-size units. - Default is ``None``, which will take the value from - :rc:`legend.handlelength`. - - handletextpad : float or None - The pad between the legend handle and text. - Measured in font-size units. - Default is ``None``, which will take the value from - :rc:`legend.handletextpad`. - - borderaxespad : float or None - The pad between the axes and legend border. - Measured in font-size units. - Default is ``None``, which will take the value from - :rc:`legend.borderaxespad`. - - columnspacing : float or None - The spacing between columns. - Measured in font-size units. - Default is ``None``, which will take the value from - :rc:`legend.columnspacing`. - - handler_map : dict or None - The custom dictionary mapping instances or types to a legend - handler. This `handler_map` updates the default handler map - found at :func:`matplotlib.legend.Legend.get_legend_handler_map`. + %(_legend_kw_doc)s Returns ------- diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index 4f8a8f642377..a9d405f80d19 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -1574,172 +1574,7 @@ def legend(self, *args, **kwargs): Other Parameters ---------------- - loc : int or string or pair of floats, default: 'upper right' - The location of the legend. Possible codes are: - - =============== ============= - Location String Location Code - =============== ============= - 'best' 0 - 'upper right' 1 - 'upper left' 2 - 'lower left' 3 - 'lower right' 4 - 'right' 5 - 'center left' 6 - 'center right' 7 - 'lower center' 8 - 'upper center' 9 - 'center' 10 - =============== ============= - - - Alternatively can be a 2-tuple giving ``x, y`` of the lower-left - corner of the legend in axes coordinates (in which case - ``bbox_to_anchor`` will be ignored). - - bbox_to_anchor : `.BboxBase` or pair of floats - Specify any arbitrary location for the legend in `bbox_transform` - coordinates (default Axes coordinates). - - For example, to put the legend's upper right hand corner in the - center of the axes the following keywords can be used:: - - loc='upper right', bbox_to_anchor=(0.5, 0.5) - - ncol : integer - The number of columns that the legend has. Default is 1. - - prop : None or :class:`matplotlib.font_manager.FontProperties` or dict - The font properties of the legend. If None (default), the current - :data:`matplotlib.rcParams` will be used. - - fontsize : int or float or {'xx-small', 'x-small', 'small', 'medium', \ -'large', 'x-large', 'xx-large'} - Controls the font size of the legend. If the value is numeric the - size will be the absolute font size in points. String values are - relative to the current default font size. This argument is only - used if `prop` is not specified. - - numpoints : None or int - The number of marker points in the legend when creating a legend - entry for a `.Line2D` (line). - Default is ``None``, which will take the value from - :rc:`legend.numpoints`. - - scatterpoints : None or int - The number of marker points in the legend when creating - a legend entry for a `.PathCollection` (scatter plot). - Default is ``None``, which will take the value from - :rc:`legend.scatterpoints`. - - scatteryoffsets : iterable of floats - The vertical offset (relative to the font size) for the markers - created for a scatter plot legend entry. 0.0 is at the base the - legend text, and 1.0 is at the top. To draw all markers at the - same height, set to ``[0.5]``. Default is ``[0.375, 0.5, 0.3125]``. - - markerscale : None or int or float - The relative size of legend markers compared with the originally - drawn ones. - Default is ``None``, which will take the value from - :rc:`legend.markerscale`. - - markerfirst : bool - If *True*, legend marker is placed to the left of the legend label. - If *False*, legend marker is placed to the right of the legend - label. - Default is *True*. - - frameon : None or bool - Control whether the legend should be drawn on a patch - (frame). - Default is ``None``, which will take the value from - :rc:`legend.frameon`. - - fancybox : None or bool - Control whether round edges should be enabled around the - :class:`~matplotlib.patches.FancyBboxPatch` which makes up the - legend's background. - Default is ``None``, which will take the value from - :rc:`legend.fancybox`. - - shadow : None or bool - Control whether to draw a shadow behind the legend. - Default is ``None``, which will take the value from - :rc:`legend.shadow`. - - framealpha : None or float - Control the alpha transparency of the legend's background. - Default is ``None``, which will take the value from - :rc:`legend.framealpha`. If shadow is activated and - *framealpha* is ``None``, the default value is ignored. - - facecolor : None or "inherit" or a color spec - Control the legend's background color. - Default is ``None``, which will take the value from - :rc:`legend.facecolor`. If ``"inherit"``, it will take - :rc:`axes.facecolor`. - - edgecolor : None or "inherit" or a color spec - Control the legend's background patch edge color. - Default is ``None``, which will take the value from - :rc:`legend.edgecolor` If ``"inherit"``, it will take - :rc:`axes.edgecolor`. - - mode : {"expand", None} - If `mode` is set to ``"expand"`` the legend will be horizontally - expanded to fill the axes area (or `bbox_to_anchor` if defines - the legend's size). - - bbox_transform : None or :class:`matplotlib.transforms.Transform` - The transform for the bounding box (`bbox_to_anchor`). For a value - of ``None`` (default) the Axes' - :data:`~matplotlib.axes.Axes.transAxes` transform will be used. - - title : str or None - The legend's title. Default is no title (``None``). - - borderpad : float or None - The fractional whitespace inside the legend border. - Measured in font-size units. - Default is ``None``, which will take the value from - :rc:`legend.borderpad`. - - labelspacing : float or None - The vertical space between the legend entries. - Measured in font-size units. - Default is ``None``, which will take the value from - :rc:`legend.labelspacing`. - - handlelength : float or None - The length of the legend handles. - Measured in font-size units. - Default is ``None``, which will take the value from - :rc:`legend.handlelength`. - - handletextpad : float or None - The pad between the legend handle and text. - Measured in font-size units. - Default is ``None``, which will take the value from - :rc:`legend.handletextpad`. - - borderaxespad : float or None - The pad between the axes and legend border. - Measured in font-size units. - Default is ``None``, which will take the value from - :rc:`legend.borderaxespad`. - - columnspacing : float or None - The spacing between columns. - Measured in font-size units. - Default is ``None``, which will take the value from - :rc:`legend.columnspacing`. - - handler_map : dict or None - The custom dictionary mapping instances or types to a legend - handler. This `handler_map` updates the default handler map - found at :func:`matplotlib.legend.Legend.get_legend_handler_map`. + %(_legend_kw_doc)s Returns ------- diff --git a/lib/matplotlib/legend.py b/lib/matplotlib/legend.py index d96327a9de62..ea828728e209 100644 --- a/lib/matplotlib/legend.py +++ b/lib/matplotlib/legend.py @@ -141,7 +141,7 @@ def _update_bbox_to_anchor(self, loc_in_canvas): For example, to put the legend's upper right hand corner in the center of the axes the following keywords can be used:: - loc='upper right', bbox_to_anchor=(0.5, 0.5) + loc='upper right', bbox_to_anchor=(0.5, 0.5) ncol : integer The number of columns that the legend has. Default is 1. @@ -365,172 +365,7 @@ def __init__(self, parent, handles, labels, Other Parameters ---------------- - loc : int or string or pair of floats, default: 'upper right' - The location of the legend. Possible codes are: - - =============== ============= - Location String Location Code - =============== ============= - 'best' 0 - 'upper right' 1 - 'upper left' 2 - 'lower left' 3 - 'lower right' 4 - 'right' 5 - 'center left' 6 - 'center right' 7 - 'lower center' 8 - 'upper center' 9 - 'center' 10 - =============== ============= - - - Alternatively can be a 2-tuple giving ``x, y`` of the lower-left - corner of the legend in axes coordinates (in which case - ``bbox_to_anchor`` will be ignored). - - bbox_to_anchor : `.BboxBase` or pair of floats - Specify any arbitrary location for the legend in `bbox_transform` - coordinates (default Axes coordinates). - - For example, to put the legend's upper right hand corner in the - center of the axes the following keywords can be used:: - - loc='upper right', bbox_to_anchor=(0.5, 0.5) - - ncol : integer - The number of columns that the legend has. Default is 1. - - prop : None or :class:`matplotlib.font_manager.FontProperties` or dict - The font properties of the legend. If None (default), the current - :data:`matplotlib.rcParams` will be used. - - fontsize : int or float or {'xx-small', 'x-small', 'small', 'medium', \ -'large', 'x-large', 'xx-large'} - Controls the font size of the legend. If the value is numeric the - size will be the absolute font size in points. String values are - relative to the current default font size. This argument is only - used if `prop` is not specified. - - numpoints : None or int - The number of marker points in the legend when creating a legend - entry for a `.Line2D` (line). - Default is ``None``, which will take the value from - :rc:`legend.numpoints`. - - scatterpoints : None or int - The number of marker points in the legend when creating - a legend entry for a `.PathCollection` (scatter plot). - Default is ``None``, which will take the value from - :rc:`legend.scatterpoints`. - - scatteryoffsets : iterable of floats - The vertical offset (relative to the font size) for the markers - created for a scatter plot legend entry. 0.0 is at the base the - legend text, and 1.0 is at the top. To draw all markers at the - same height, set to ``[0.5]``. Default is ``[0.375, 0.5, 0.3125]``. - - markerscale : None or int or float - The relative size of legend markers compared with the originally - drawn ones. - Default is ``None``, which will take the value from - :rc:`legend.markerscale`. - - markerfirst : bool - If *True*, legend marker is placed to the left of the legend label. - If *False*, legend marker is placed to the right of the legend - label. - Default is *True*. - - frameon : None or bool - Control whether the legend should be drawn on a patch - (frame). - Default is ``None``, which will take the value from - :rc:`legend.frameon`. - - fancybox : None or bool - Control whether round edges should be enabled around the - :class:`~matplotlib.patches.FancyBboxPatch` which makes up the - legend's background. - Default is ``None``, which will take the value from - :rc:`legend.fancybox`. - - shadow : None or bool - Control whether to draw a shadow behind the legend. - Default is ``None``, which will take the value from - :rc:`legend.shadow`. - - framealpha : None or float - Control the alpha transparency of the legend's background. - Default is ``None``, which will take the value from - :rc:`legend.framealpha`. If shadow is activated and - *framealpha* is ``None``, the default value is ignored. - - facecolor : None or "inherit" or a color spec - Control the legend's background color. - Default is ``None``, which will take the value from - :rc:`legend.facecolor`. If ``"inherit"``, it will take - :rc:`axes.facecolor`. - - edgecolor : None or "inherit" or a color spec - Control the legend's background patch edge color. - Default is ``None``, which will take the value from - :rc:`legend.edgecolor` If ``"inherit"``, it will take - :rc:`axes.edgecolor`. - - mode : {"expand", None} - If `mode` is set to ``"expand"`` the legend will be horizontally - expanded to fill the axes area (or `bbox_to_anchor` if defines - the legend's size). - - bbox_transform : None or :class:`matplotlib.transforms.Transform` - The transform for the bounding box (`bbox_to_anchor`). For a value - of ``None`` (default) the Axes' - :data:`~matplotlib.axes.Axes.transAxes` transform will be used. - - title : str or None - The legend's title. Default is no title (``None``). - - borderpad : float or None - The fractional whitespace inside the legend border. - Measured in font-size units. - Default is ``None``, which will take the value from - :rc:`legend.borderpad`. - - labelspacing : float or None - The vertical space between the legend entries. - Measured in font-size units. - Default is ``None``, which will take the value from - :rc:`legend.labelspacing`. - - handlelength : float or None - The length of the legend handles. - Measured in font-size units. - Default is ``None``, which will take the value from - :rc:`legend.handlelength`. - - handletextpad : float or None - The pad between the legend handle and text. - Measured in font-size units. - Default is ``None``, which will take the value from - :rc:`legend.handletextpad`. - - borderaxespad : float or None - The pad between the axes and legend border. - Measured in font-size units. - Default is ``None``, which will take the value from - :rc:`legend.borderaxespad`. - - columnspacing : float or None - The spacing between columns. - Measured in font-size units. - Default is ``None``, which will take the value from - :rc:`legend.columnspacing`. - - handler_map : dict or None - The custom dictionary mapping instances or types to a legend - handler. This `handler_map` updates the default handler map - found at :func:`matplotlib.legend.Legend.get_legend_handler_map`. + %(_legend_kw_doc)s Notes ----- diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py index d5da3608b40e..b11dab6ce836 100644 --- a/lib/matplotlib/tests/test_legend.py +++ b/lib/matplotlib/tests/test_legend.py @@ -14,40 +14,6 @@ import matplotlib.legend as mlegend -# test that docstrings are the same -def get_docstring_section(func, section): - """ extract a section from the docstring of a function """ - ll = inspect.getdoc(func) - lines = ll.splitlines() - insec = False - st = '' - for ind in range(len(lines)): - if lines[ind][:len(section)] == section and lines[ind+1][:3] == '---': - insec = True - ind = ind+1 - if insec: - if len(lines[ind + 1]) > 3 and lines[ind + 1][0:3] == '---': - insec = False - break - else: - st += lines[ind] + '\n' - return st - - -def test_legend_kwdocstrings(): - stax = get_docstring_section(mpl.axes.Axes.legend, 'Parameters') - stfig = get_docstring_section(mpl.figure.Figure.legend, 'Parameters') - assert stfig == stax - - stleg = get_docstring_section(mpl.legend.Legend.__init__, - 'Other Parameters') - stax = get_docstring_section(mpl.axes.Axes.legend, 'Other Parameters') - stfig = get_docstring_section(mpl.figure.Figure.legend, 'Other Parameters') - assert stleg == stax - assert stfig == stax - assert stleg == stfig - - def test_legend_ordereddict(): # smoketest that ordereddict inputs work... From 73101a2552aac9b2527089782edf940bdbe1f688 Mon Sep 17 00:00:00 2001 From: zhangeugenia Date: Fri, 16 Mar 2018 03:14:12 -0400 Subject: [PATCH 0363/1161] bugfix for #8818 --- lib/matplotlib/axes/_axes.py | 20 +++++++++++--------- lib/matplotlib/tests/test_axes.py | 9 +++++++++ 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 74c28306c3a7..dda01721bf05 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -55,22 +55,24 @@ def _plot_args_replacer(args, data): return ["y"] elif len(args) == 2: # this can be two cases: x,y or y,c - if not args[1] in data: - # this is not in data, so just assume that it is something which - # will not get replaced (color spec or array like). - return ["y", "c"] # it's data, but could be a color code like 'ro' or 'b--' # -> warn the user in that case... + try: _process_plot_format(args[1]) except ValueError: pass else: - warnings.warn( - "Second argument {!r} is ambiguous: could be a color spec but " - "is in data; using as data. Either rename the entry in data " - "or use three arguments to plot.".format(args[1]), - RuntimeWarning, stacklevel=3) + # arg can be parsed into colour; verify arg is not data + if not args[1] in data: + return ["y", "c"] + else: + warnings.warn( + "Second argument {!r} is ambiguous: could be a color spec " + "but is in data; using as data. Either rename the entry " + "in data or use three arguments to plot.".format(args[1]), + RuntimeWarning, stacklevel=3) + return ["x", "y"] elif len(args) == 3: return ["x", "y", "c"] diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index abd2b6675b48..30ff3dc867b3 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -584,6 +584,15 @@ def test_shaped_data(): plt.plot(xdata[:, 1], xdata[1, :], 'o') +def test_structured_data(): + # support for stuctured data + pts = np.array([(1, 1), (2, 2)], dtype=[("ones", float), ("twos", float)]) + + fig, ax = plt.subplots(2) + ax[0].plot("ones", "twos", data=pts) + ax[1].plot("ones", "twos", "r", data=pts) + + @image_comparison(baseline_images=['const_xy']) def test_const_xy(): fig = plt.figure() From 58154f30dbd4d23454a5d1bda183ff50f8e2ea0e Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Fri, 16 Mar 2018 15:32:02 -0400 Subject: [PATCH 0364/1161] API: shift deprecation of TempCache class to 3.0 The changes to not use this were reverted on the 2.2.x branch. --- doc/api/next_api_changes/2018-02-15-AL-deprecations.rst | 1 + lib/matplotlib/font_manager.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst index 2fce8789ed43..5fc9822d5ff7 100644 --- a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst +++ b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst @@ -15,6 +15,7 @@ The following classes, methods, and functions are deprecated: - ``container.Container.set_remove_method``, - ``mathtext.unichr_safe`` (use ``chr`` instead), - ``texmanager.dvipng_hack_alpha``, +- ``font_manager.TempCache``, The following rcParams are deprecated: - ``pgf.debug`` (the pgf backend relies on logging), diff --git a/lib/matplotlib/font_manager.py b/lib/matplotlib/font_manager.py index c1afe3f12b49..02cbd9633fcd 100644 --- a/lib/matplotlib/font_manager.py +++ b/lib/matplotlib/font_manager.py @@ -926,7 +926,7 @@ def _normalize_font_family(family): return family -@cbook.deprecated("2.2") +@cbook.deprecated("3.0") class TempCache(object): """ A class to store temporary caches that are (a) not saved to disk From cbf782d9022b2f6431fa7b42c28bb55e0fdbbd6e Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Sat, 17 Mar 2018 01:48:49 -0700 Subject: [PATCH 0365/1161] Add test to imread from url. --- lib/matplotlib/tests/test_image.py | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py index 8364af57b994..a1feed5e4dca 100644 --- a/lib/matplotlib/tests/test_image.py +++ b/lib/matplotlib/tests/test_image.py @@ -1,11 +1,8 @@ -from __future__ import absolute_import, division, print_function - -import six - from copy import copy import io import os import sys +import urllib.request import warnings import numpy as np @@ -630,9 +627,9 @@ def test_minimized_rasterized(): @pytest.mark.network def test_load_from_url(): - req = six.moves.urllib.request.urlopen( - "http://matplotlib.org/_static/logo_sidebar_horiz.png") - plt.imread(req) + url = "http://matplotlib.org/_static/logo_sidebar_horiz.png" + plt.imread(url) + plt.imread(urllib.request.urlopen(url)) @image_comparison(baseline_images=['log_scale_image'], From d607ea5bca33574b6b8b52f14ba54dc3f11b1ab7 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Sat, 17 Mar 2018 01:56:32 -0700 Subject: [PATCH 0366/1161] Deprecate vestigial Annotation.arrow. --- .../2018-02-15-AL-deprecations.rst | 5 +++-- lib/matplotlib/text.py | 21 +++++++------------ 2 files changed, 10 insertions(+), 16 deletions(-) diff --git a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst index 5fc9822d5ff7..c19422772dec 100644 --- a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst +++ b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst @@ -6,16 +6,17 @@ The following modules are deprecated: the functionality can now be found in the python 3 standard library :mod:`subprocess`. -The following classes, methods, and functions are deprecated: +The following classes, methods, functions, and attributes are deprecated: +- ``Annotation.arrow``, - ``cbook.GetRealpathAndStat`` (which is only a helper for ``get_realpath_and_stat``), - ``cbook.Locked``, - ``cbook.is_numlike`` (use ``isinstance(..., numbers.Number)`` instead), - ``container.Container.set_remove_method``, +- ``font_manager.TempCache``, - ``mathtext.unichr_safe`` (use ``chr`` instead), - ``texmanager.dvipng_hack_alpha``, -- ``font_manager.TempCache``, The following rcParams are deprecated: - ``pgf.debug`` (the pgf backend relies on logging), diff --git a/lib/matplotlib/text.py b/lib/matplotlib/text.py index 1740d765f1c3..6001b8d2f522 100644 --- a/lib/matplotlib/text.py +++ b/lib/matplotlib/text.py @@ -2051,8 +2051,6 @@ def __init__(self, s, xy, self.arrowprops = arrowprops - self.arrow = None - if arrowprops is not None: if "arrowstyle" in arrowprops: arrowprops = self.arrowprops.copy() @@ -2072,9 +2070,6 @@ def __init__(self, s, xy, def contains(self, event): contains, tinfo = Text.contains(self, event) - if self.arrow is not None: - in_arrow, _ = self.arrow.contains(event) - contains = contains or in_arrow if self.arrow_patch is not None: in_patch, _ = self.arrow_patch.contains(event) contains = contains or in_patch @@ -2098,9 +2093,6 @@ def anncoords(self, coords): self._textcoords = coords def set_figure(self, fig): - - if self.arrow is not None: - self.arrow.set_figure(fig) if self.arrow_patch is not None: self.arrow_patch.set_figure(fig) Artist.set_figure(self, fig) @@ -2257,18 +2249,19 @@ def get_window_extent(self, renderer=None): ''' if not self.get_visible(): return Bbox.unit() - arrow = self.arrow - arrow_patch = self.arrow_patch text_bbox = Text.get_window_extent(self, renderer=renderer) bboxes = [text_bbox] - if self.arrow is not None: - bboxes.append(arrow.get_window_extent(renderer=renderer)) - elif self.arrow_patch is not None: - bboxes.append(arrow_patch.get_window_extent(renderer=renderer)) + if self.arrow_patch is not None: + bboxes.append( + self.arrow_patch.get_window_extent(renderer=renderer)) return Bbox.union(bboxes) + arrow = property( + fget=cbook.deprecated("3.0")(lambda self: None), + fset=cbook.deprecated("3.0")(lambda self, value: None)) + docstring.interpd.update(Annotation=Annotation.__init__.__doc__) From 6888d5dc027c8d7175b6decc01f3363585035d37 Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Sat, 17 Mar 2018 09:38:01 -0700 Subject: [PATCH 0367/1161] DOC: fix --- lib/matplotlib/legend.py | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/matplotlib/legend.py b/lib/matplotlib/legend.py index ea828728e209..92a121d0adb1 100644 --- a/lib/matplotlib/legend.py +++ b/lib/matplotlib/legend.py @@ -348,7 +348,6 @@ def __init__(self, parent, handles, labels, handler_map=None, ): """ - Parameters ---------- parent : `.Axes` or `.Figure` From ded882227e3737ddcf8bdff3a8a34c272a280695 Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Sat, 17 Mar 2018 09:59:49 -0700 Subject: [PATCH 0368/1161] DOC: fix --- lib/matplotlib/legend.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/legend.py b/lib/matplotlib/legend.py index 92a121d0adb1..a95080ddea1a 100644 --- a/lib/matplotlib/legend.py +++ b/lib/matplotlib/legend.py @@ -141,7 +141,7 @@ def _update_bbox_to_anchor(self, loc_in_canvas): For example, to put the legend's upper right hand corner in the center of the axes the following keywords can be used:: - loc='upper right', bbox_to_anchor=(0.5, 0.5) + loc='upper right', bbox_to_anchor=(0.5, 0.5) ncol : integer The number of columns that the legend has. Default is 1. From bd8a1e629e0c63bdd9cce6381c6849ae10e4dcfd Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sat, 3 Mar 2018 18:42:23 +0100 Subject: [PATCH 0369/1161] Update docs on Axes.set_prop_cycle --- lib/matplotlib/axes/_base.py | 44 +++++++++++++++++++++++++----------- 1 file changed, 31 insertions(+), 13 deletions(-) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index fc37069f3030..3635f63643d4 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -1173,40 +1173,58 @@ def _set_title_offset_trans(self, title_offset_points): def set_prop_cycle(self, *args, **kwargs): """ - Set the property cycle for any future plot commands on this Axes. + Set the property cycle of the Axes. - set_prop_cycle(arg) - set_prop_cycle(label, itr) - set_prop_cycle(label1=itr1[, label2=itr2[, ...]]) + The property cycle controls the style properties such as color, + marker and linestyle of future plot commands. The style properties + of data already added to the Axes are not modified. + + Call signatures:: + + set_prop_cycle(cycler) + set_prop_cycle(label, values) + set_prop_cycle(label=values[, label2=values2[, ...]]) Form 1 simply sets given `Cycler` object. - Form 2 creates and sets a `Cycler` from a label and an iterable. + Form 2 creates and sets a `Cycler` from a label and an iterable. - Form 3 composes and sets a `Cycler` as an inner product of the + Form 3 composes and sets a `Cycler` as an inner product of the pairs of keyword arguments. In other words, all of the iterables are cycled simultaneously, as if through zip(). Parameters ---------- - arg : Cycler - Set the given Cycler. - Can also be `None` to reset to the cycle defined by the + cycler : Cycler + Set the given Cycler. *None* resets to the cycle defined by the current style. label : str - The property key. Must be a valid `Artist` property. + The property key. Must be a valid `.Artist` property. For example, 'color' or 'linestyle'. Aliases are allowed, such as 'c' for 'color' and 'lw' for 'linewidth'. - itr : iterable + values : iterable Finite-length iterable of the property values. These values are validated and will raise a ValueError if invalid. + Examples + -------- + Setting the property cycle for a single property: + + >>> ax.set_prop_cycle(color=['red', 'green', 'blue']) # or + >>> ax.set_prop_cycle('color', ['red', 'green', 'blue']) + + Setting the property cycle for simultaneously cycling over multiple + properties (e.g. red circle, green plus, blue cross): + + >>> ax.set_prop_cycle(color=['red', 'green', 'blue'], + ... marker=['o', '+', 'x']) + See Also -------- - :func:`cycler` Convenience function for creating your - own cyclers. + matplotlib.rcsetup.cycler + Convenience function for creating your own cyclers. """ if args and kwargs: From 962a2d761846d1994a642259fe14178e1564e758 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sat, 17 Mar 2018 20:43:44 +0100 Subject: [PATCH 0370/1161] Update docs on cycler function --- lib/matplotlib/rcsetup.py | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index a4434f1ba5d4..1c1717278e86 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -722,9 +722,11 @@ def cycler(*args, **kwargs): Creates a :class:`cycler.Cycler` object much like :func:`cycler.cycler`, but includes input validation. - cycler(arg) - cycler(label, itr) - cycler(label1=itr1[, label2=itr2[, ...]]) + Call signatures:: + + cycler(cycler) + cycler(label, values) + cycler(label=values[, label2=values2[, ...]]) Form 1 simply copies a given `Cycler` object. @@ -736,15 +738,15 @@ def cycler(*args, **kwargs): Parameters ---------- - arg : Cycler + cycler : Cycler Copy constructor for Cycler. - label : name - The property key. Must be a valid `Artist` property. + label : str + The property key. Must be a valid `.Artist` property. For example, 'color' or 'linestyle'. Aliases are allowed, such as 'c' for 'color' and 'lw' for 'linewidth'. - itr : iterable + values : iterable Finite-length iterable of the property values. These values are validated and will raise a ValueError if invalid. @@ -753,6 +755,19 @@ def cycler(*args, **kwargs): cycler : Cycler New :class:`cycler.Cycler` for the given properties + Examples + -------- + Creating a cycler for a single property: + + >>> c = cycler(color=['red', 'green', 'blue']) # or + >>> c = cycler('color', ['red', 'green', 'blue']) + + Creating a cycler for simultaneously cycling over multiple properties + (e.g. red circle, green plus, blue cross): + + >>> c = cycler(color=['red', 'green', 'blue'], + ... marker=['o', '+', 'x']) + """ if args and kwargs: raise TypeError("cycler() can only accept positional OR keyword " From b46682cf20bd3f75c5aa6c06fa1aef7d46d20838 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Sat, 17 Mar 2018 16:13:27 -0700 Subject: [PATCH 0371/1161] Add some basic smoketesting for webagg (and wx). --- .travis.yml | 5 +- .../tests/test_backends_interactive.py | 49 ++++++++++++++++--- 2 files changed, 44 insertions(+), 10 deletions(-) diff --git a/.travis.yml b/.travis.yml index 594565b46f0b..dca90b733a68 100644 --- a/.travis.yml +++ b/.travis.yml @@ -131,6 +131,7 @@ install: codecov \ coverage \ $CYCLER \ + $DATEUTIL \ $NOSE \ $NUMPY \ $PANDAS \ @@ -138,8 +139,8 @@ install: coverage \ pillow \ $PYPARSING \ - $DATEUTIL \ - $SPHINX + $SPHINX \ + tornado # GUI toolkits are pip-installable only for some versions of Python so # don't fail if we can't install them. Make it easier to check whether the # install was successful by trying to import the toolkit (sometimes, the diff --git a/lib/matplotlib/tests/test_backends_interactive.py b/lib/matplotlib/tests/test_backends_interactive.py index 1880a27af343..b66fe64e99b0 100644 --- a/lib/matplotlib/tests/test_backends_interactive.py +++ b/lib/matplotlib/tests/test_backends_interactive.py @@ -1,10 +1,15 @@ import importlib import os -from subprocess import Popen +import signal +import subprocess import sys +import time +import urllib.request import pytest +import matplotlib as mpl + # Minimal smoke-testing of the backends for which the dependencies are # PyPI-installable on Travis. They are not available for all tested Python @@ -17,6 +22,7 @@ def _get_testable_interactive_backends(): (["PyQt5"], "qt5agg"), (["cairocffi", "PyQt5"], "qt5cairo"), (["tkinter"], "tkagg"), + (["wx"], "wx"), (["wx"], "wxagg")]: reason = None if not os.environ.get("DISPLAY"): @@ -30,20 +36,47 @@ def _get_testable_interactive_backends(): _test_script = """\ import sys -from matplotlib import pyplot as plt +from matplotlib import pyplot as plt, rcParams +rcParams.update({ + "webagg.open_in_browser": False, + "webagg.port_retries": 1, +}) fig = plt.figure() ax = fig.add_subplot(111) -ax.plot([1,2,3], [1,3,1]) +ax.plot([1, 2], [2, 3]) fig.canvas.mpl_connect("draw_event", lambda event: sys.exit()) plt.show() """ +_test_timeout = 10 # Empirically, 1s is not enough on Travis. @pytest.mark.parametrize("backend", _get_testable_interactive_backends()) @pytest.mark.flaky(reruns=3) -def test_backend(backend): - proc = Popen([sys.executable, "-c", _test_script], - env={**os.environ, "MPLBACKEND": backend}) - # Empirically, 1s is not enough on Travis. - assert proc.wait(timeout=10) == 0 +def test_interactive_backend(backend): + subprocess.run([sys.executable, "-c", _test_script], + env={**os.environ, "MPLBACKEND": backend}, + check=True, # Throw on failure. + timeout=_test_timeout) + + +@pytest.mark.skipif(os.name == "nt", reason="Cannot send SIGINT on Windows.") +def test_webagg(): + pytest.importorskip("tornado") + proc = subprocess.Popen([sys.executable, "-c", _test_script], + env={**os.environ, "MPLBACKEND": "webagg"}) + url = "http://{}:{}".format( + mpl.rcParams["webagg.address"], mpl.rcParams["webagg.port"]) + timeout = time.perf_counter() + _test_timeout + while True: + try: + conn = urllib.request.urlopen(url) + break + except urllib.error.URLError: + if time.perf_counter() > timeout: + pytest.fail("Failed to connect to the webagg server.") + else: + continue + conn.close() + proc.send_signal(signal.SIGINT) + assert proc.wait(timeout=_test_timeout) == 0 From 864c9a89fb196c9c180029d6d31c30ba6a039914 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Sat, 17 Mar 2018 21:04:14 -0700 Subject: [PATCH 0372/1161] Add print_rgba to backend_cairo. This ensures that when a cairo-based backend is active, animations also get saved using backend_cairo, rather than falling back on backend_agg. --- lib/matplotlib/backends/backend_cairo.py | 33 ++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/backends/backend_cairo.py b/lib/matplotlib/backends/backend_cairo.py index c870ba60a55b..8308aecbf1c4 100644 --- a/lib/matplotlib/backends/backend_cairo.py +++ b/lib/matplotlib/backends/backend_cairo.py @@ -47,6 +47,26 @@ from matplotlib.font_manager import ttfFontProperty +def _premultiplied_argb32_to_unmultiplied_rgba8888(buf): + """ + Convert a premultiplied ARGB32 buffer to an unmultiplied RGBA8888 buffer. + + Cairo uses the former format, Matplotlib the latter. + """ + rgba = np.take( # .take() ensures C-contiguity of the result. + buf, + [2, 1, 0, 3] if sys.byteorder == "little" else [1, 2, 3, 0], axis=2) + rgb = rgba[..., :-1] + alpha = rgba[..., -1] + # Un-premultiply alpha. The formula is the same as in cairo-png.c. + mask = alpha != 0 + for channel in np.rollaxis(rgb, -1): + channel[mask] = ( + (channel[mask].astype(int) * 255 + alpha[mask] // 2) + // alpha[mask]) + return rgba + + class ArrayWrapper: """Thin wrapper around numpy ndarray to expose the interface expected by cairocffi. Basically replicates the @@ -436,15 +456,24 @@ class FigureCanvasCairo(FigureCanvasBase): supports_blit = False def print_png(self, fobj, *args, **kwargs): + self._get_printed_image_surface().write_to_png(fobj) + + def print_rgba(self, fobj, *args, **kwargs): width, height = self.get_width_height() + buf = self._get_printed_image_surface().get_data() + fobj.write(_premultiplied_argb32_to_unmultiplied_rgba8888( + np.asarray(buf).reshape((width, height, 4)))) + + print_raw = print_rgba + def _get_printed_image_surface(self): + width, height = self.get_width_height() renderer = RendererCairo(self.figure.dpi) renderer.set_width_height(width, height) surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, width, height) renderer.set_ctx_from_surface(surface) - self.figure.draw(renderer) - surface.write_to_png(fobj) + return surface def print_pdf(self, fobj, *args, **kwargs): return self._save(fobj, 'pdf', *args, **kwargs) From 140b69ac676ac76e040490b9f8a37fe4a22c971b Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sun, 18 Mar 2018 15:40:20 +0100 Subject: [PATCH 0373/1161] Use long color names for default rcParams --- lib/matplotlib/rcsetup.py | 34 +++++++++++++++++----------------- matplotlibrc.template | 36 ++++++++++++++++++------------------ 2 files changed, 35 insertions(+), 35 deletions(-) diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index 3213f97c35b1..c32a9ee6b356 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -1011,13 +1011,13 @@ def _validate_linestyle(ls): ## patch props 'patch.linewidth': [1.0, validate_float], # line width in points - 'patch.edgecolor': ['k', validate_color], + 'patch.edgecolor': ['black', validate_color], 'patch.force_edgecolor' : [False, validate_bool], 'patch.facecolor': ['C0', validate_color], # first color in cycle 'patch.antialiased': [True, validate_bool], # antialiased (no jaggies) ## hatch props - 'hatch.color': ['k', validate_color], + 'hatch.color': ['black', validate_color], 'hatch.linewidth': [1.0, validate_float], ## Histogram properties @@ -1035,23 +1035,23 @@ def _validate_linestyle(ls): 'boxplot.showfliers': [True, validate_bool], 'boxplot.meanline': [False, validate_bool], - 'boxplot.flierprops.color': ['k', validate_color], + 'boxplot.flierprops.color': ['black', validate_color], 'boxplot.flierprops.marker': ['o', validate_string], 'boxplot.flierprops.markerfacecolor': ['none', validate_color_or_auto], - 'boxplot.flierprops.markeredgecolor': ['k', validate_color], + 'boxplot.flierprops.markeredgecolor': ['black', validate_color], 'boxplot.flierprops.markersize': [6, validate_float], 'boxplot.flierprops.linestyle': ['none', _validate_linestyle], 'boxplot.flierprops.linewidth': [1.0, validate_float], - 'boxplot.boxprops.color': ['k', validate_color], + 'boxplot.boxprops.color': ['black', validate_color], 'boxplot.boxprops.linewidth': [1.0, validate_float], 'boxplot.boxprops.linestyle': ['-', _validate_linestyle], - 'boxplot.whiskerprops.color': ['k', validate_color], + 'boxplot.whiskerprops.color': ['black', validate_color], 'boxplot.whiskerprops.linewidth': [1.0, validate_float], 'boxplot.whiskerprops.linestyle': ['-', _validate_linestyle], - 'boxplot.capprops.color': ['k', validate_color], + 'boxplot.capprops.color': ['black', validate_color], 'boxplot.capprops.linewidth': [1.0, validate_float], 'boxplot.capprops.linestyle': ['-', _validate_linestyle], @@ -1099,7 +1099,7 @@ def _validate_linestyle(ls): validate_stringlist], # text props - 'text.color': ['k', validate_color], # black + 'text.color': ['black', validate_color], 'text.usetex': [False, validate_bool], 'text.latex.unicode': [False, validate_bool], 'text.latex.preamble': [[''], validate_stringlist], @@ -1139,8 +1139,8 @@ def _validate_linestyle(ls): # axes props 'axes.axisbelow': ['line', validate_axisbelow], 'axes.hold': [None, deprecate_axes_hold], - 'axes.facecolor': ['w', validate_color], # background color; white - 'axes.edgecolor': ['k', validate_color], # edge color; black + 'axes.facecolor': ['white', validate_color], # background color + 'axes.edgecolor': ['black', validate_color], # edge color 'axes.linewidth': [0.8, validate_float], # edge linewidth 'axes.spines.left': [True, validate_bool], # Set visibility of axes @@ -1163,7 +1163,7 @@ def _validate_linestyle(ls): # x any y labels 'axes.labelpad': [4.0, validate_float], # space between label and axis 'axes.labelweight': ['normal', validate_string], # fontsize of the x any y labels - 'axes.labelcolor': ['k', validate_color], # color of axis label + 'axes.labelcolor': ['black', validate_color], # color of axis label 'axes.formatter.limits': [[-7, 7], validate_nseq_int(2)], # use scientific notation if log10 # of the axis range is smaller than the @@ -1256,7 +1256,7 @@ def _validate_linestyle(ls): 'xtick.minor.width': [0.6, validate_float], # minor xtick width in points 'xtick.major.pad': [3.5, validate_float], # distance to label in points 'xtick.minor.pad': [3.4, validate_float], # distance to label in points - 'xtick.color': ['k', validate_color], # color of the xtick labels + 'xtick.color': ['black', validate_color], # color of the xtick labels 'xtick.minor.visible': [False, validate_bool], # visibility of the x axis minor ticks 'xtick.minor.top': [True, validate_bool], # draw x axis top minor ticks 'xtick.minor.bottom': [True, validate_bool], # draw x axis bottom minor ticks @@ -1278,7 +1278,7 @@ def _validate_linestyle(ls): 'ytick.minor.width': [0.6, validate_float], # minor ytick width in points 'ytick.major.pad': [3.5, validate_float], # distance to label in points 'ytick.minor.pad': [3.4, validate_float], # distance to label in points - 'ytick.color': ['k', validate_color], # color of the ytick labels + 'ytick.color': ['black', validate_color], # color of the ytick labels 'ytick.minor.visible': [False, validate_bool], # visibility of the y axis minor ticks 'ytick.minor.left': [True, validate_bool], # draw y axis left minor ticks 'ytick.minor.right': [True, validate_bool], # draw y axis right minor ticks @@ -1305,8 +1305,8 @@ def _validate_linestyle(ls): # figure size in inches: width by height 'figure.figsize': [[6.4, 4.8], validate_nseq_float(2)], 'figure.dpi': [100, validate_float], # DPI - 'figure.facecolor': ['w', validate_color], # facecolor; white - 'figure.edgecolor': ['w', validate_color], # edgecolor; white + 'figure.facecolor': ['white', validate_color], + 'figure.edgecolor': ['white', validate_color], 'figure.frameon': [True, validate_bool], 'figure.autolayout': [False, validate_bool], 'figure.max_open_warning': [20, validate_int], @@ -1339,8 +1339,8 @@ def _validate_linestyle(ls): ## Saving figure's properties 'savefig.dpi': ['figure', validate_dpi], # DPI - 'savefig.facecolor': ['w', validate_color], # facecolor; white - 'savefig.edgecolor': ['w', validate_color], # edgecolor; white + 'savefig.facecolor': ['white', validate_color], + 'savefig.edgecolor': ['white', validate_color], 'savefig.frameon': [True, validate_bool], 'savefig.orientation': ['portrait', validate_orientation], # edgecolor; #white diff --git a/matplotlibrc.template b/matplotlibrc.template index 5839b2eee286..0b99a98ade91 100644 --- a/matplotlibrc.template +++ b/matplotlibrc.template @@ -101,12 +101,12 @@ backend : $TEMPLATE_BACKEND ## information on patch properties #patch.linewidth : 1 ## edge width in points. #patch.facecolor : C0 -#patch.edgecolor : k ## if forced, or patch is not filled +#patch.edgecolor : black ## if forced, or patch is not filled #patch.force_edgecolor : False ## True to always use edgecolor #patch.antialiased : True ## render patches in antialiased (no jaggies) #### HATCHES -#hatch.color : k +#hatch.color : black #hatch.linewidth : 1.0 #### Boxplot @@ -121,23 +121,23 @@ backend : $TEMPLATE_BACKEND #boxplot.showfliers : True #boxplot.meanline : False -#boxplot.flierprops.color : k +#boxplot.flierprops.color : black #boxplot.flierprops.marker : o #boxplot.flierprops.markerfacecolor : none -#boxplot.flierprops.markeredgecolor : k +#boxplot.flierprops.markeredgecolor : black #boxplot.flierprops.markersize : 6 #boxplot.flierprops.linestyle : none #boxplot.flierprops.linewidth : 1.0 -#boxplot.boxprops.color : k +#boxplot.boxprops.color : black #boxplot.boxprops.linewidth : 1.0 #boxplot.boxprops.linestyle : - -#boxplot.whiskerprops.color : k +#boxplot.whiskerprops.color : black #boxplot.whiskerprops.linewidth : 1.0 #boxplot.whiskerprops.linestyle : - -#boxplot.capprops.color : k +#boxplot.capprops.color : black #boxplot.capprops.linewidth : 1.0 #boxplot.capprops.linestyle : - @@ -211,7 +211,7 @@ backend : $TEMPLATE_BACKEND ## text properties used by text.Text. See ## http://matplotlib.org/api/artist_api.html#module-matplotlib.text for more ## information on text properties -#text.color : k +#text.color : black #### LaTeX customizations. See http://wiki.scipy.org/Cookbook/Matplotlib/UsingTex #text.usetex : False ## use latex for all text handling. The following fonts @@ -280,8 +280,8 @@ backend : $TEMPLATE_BACKEND ## default face and edge color, default tick sizes, ## default fontsizes for ticklabels, and so on. See ## http://matplotlib.org/api/axes_api.html#module-matplotlib.axes -#axes.facecolor : w ## axes background color -#axes.edgecolor : k ## axes edge color +#axes.facecolor : white ## axes background color +#axes.edgecolor : black ## axes edge color #axes.linewidth : 0.8 ## edge linewidth #axes.grid : False ## display grid or not #axes.grid.axis : both ## which axis the grid should apply to @@ -292,7 +292,7 @@ backend : $TEMPLATE_BACKEND #axes.labelsize : medium ## fontsize of the x any y labels #axes.labelpad : 4.0 ## space between label and axis #axes.labelweight : normal ## weight of the x and y labels -#axes.labelcolor : k +#axes.labelcolor : black #axes.axisbelow : line ## draw axis gridlines and ticks below ## patches (True); above patches but below ## lines ('line'); or above all (False) @@ -364,7 +364,7 @@ backend : $TEMPLATE_BACKEND #xtick.minor.width : 0.6 ## minor tick width in points #xtick.major.pad : 3.5 ## distance to major tick label in points #xtick.minor.pad : 3.4 ## distance to the minor tick label in points -#xtick.color : k ## color of the tick labels +#xtick.color : black ## color of the tick labels #xtick.labelsize : medium ## fontsize of the tick labels #xtick.direction : out ## direction: in, out, or inout #xtick.minor.visible : False ## visibility of minor ticks on x-axis @@ -384,7 +384,7 @@ backend : $TEMPLATE_BACKEND #ytick.minor.width : 0.6 ## minor tick width in points #ytick.major.pad : 3.5 ## distance to major tick label in points #ytick.minor.pad : 3.4 ## distance to the minor tick label in points -#ytick.color : k ## color of the tick labels +#ytick.color : black ## color of the tick labels #ytick.labelsize : medium ## fontsize of the tick labels #ytick.direction : out ## direction: in, out, or inout #ytick.minor.visible : False ## visibility of minor ticks on y-axis @@ -428,9 +428,9 @@ backend : $TEMPLATE_BACKEND #figure.titleweight : normal ## weight of the figure title #figure.figsize : 6.4, 4.8 ## figure size in inches #figure.dpi : 100 ## figure dots per inch -#figure.facecolor : w ## figure facecolor; 0.75 is scalar gray -#figure.edgecolor : w ## figure edgecolor -#figure.frameon : True ## enable figure frame +#figure.facecolor : white ## figure facecolor +#figure.edgecolor : white ## figure edgecolor +#figure.frameon : True ## enable figure frame #figure.max_open_warning : 20 ## The maximum number of figures to open through ## the pyplot interface before emitting a warning. ## If less than one this feature is disabled. @@ -517,8 +517,8 @@ backend : $TEMPLATE_BACKEND ## e.g., you may want a higher resolution, or to make the figure ## background white #savefig.dpi : figure ## figure dots per inch or 'figure' -#savefig.facecolor : w ## figure facecolor when saving -#savefig.edgecolor : w ## figure edgecolor when saving +#savefig.facecolor : white ## figure facecolor when saving +#savefig.edgecolor : white ## figure edgecolor when saving #savefig.format : png ## png, ps, pdf, svg #savefig.bbox : standard ## 'tight' or 'standard'. ## 'tight' is incompatible with pipe-based animation From 52e5d8149337897920dc6f2929e5f1f208b9daa2 Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Sun, 18 Mar 2018 08:23:03 -0700 Subject: [PATCH 0374/1161] ENH: colorbar ticks adjustable to colorbar size --- doc/api/api_changes/2017-12-01-JMK.rst | 8 + doc/users/next_whats_new/colorbarticks.rst | 7 + lib/matplotlib/colorbar.py | 216 +- .../test_image/mask_image_over_under.png | Bin 27351 -> 27311 bytes .../test_streamplot/streamplot_colormap.pdf | Bin 21387 -> 16585 bytes .../test_streamplot/streamplot_colormap.png | Bin 94413 -> 87187 bytes .../test_streamplot/streamplot_colormap.svg | 1928 +++++++---------- lib/matplotlib/tests/test_colorbar.py | 43 + lib/matplotlib/tests/test_streamplot.py | 2 +- lib/matplotlib/ticker.py | 8 +- 10 files changed, 1039 insertions(+), 1173 deletions(-) create mode 100644 doc/api/api_changes/2017-12-01-JMK.rst create mode 100644 doc/users/next_whats_new/colorbarticks.rst diff --git a/doc/api/api_changes/2017-12-01-JMK.rst b/doc/api/api_changes/2017-12-01-JMK.rst new file mode 100644 index 000000000000..7880c3d13cfd --- /dev/null +++ b/doc/api/api_changes/2017-12-01-JMK.rst @@ -0,0 +1,8 @@ +The ticks for colorbar now adjust for the size of the colorbar +-------------------------------------------------------------- + +Colorbar ticks now adjust for the size of the colorbar if the +colorbar is made from a mappable that is not a contour or +doesn't have a BoundaryNorm, or boundaries are not specified. +If boundaries, etc are specified, the colorbar maintains the +original behaviour. diff --git a/doc/users/next_whats_new/colorbarticks.rst b/doc/users/next_whats_new/colorbarticks.rst new file mode 100644 index 000000000000..7b70e0f6ce6d --- /dev/null +++ b/doc/users/next_whats_new/colorbarticks.rst @@ -0,0 +1,7 @@ +Colorbar ticks can now be automatic +----------------------------------- + +The number of ticks on colorbars was appropriate for a large colorbar, but +looked bad if the colorbar was made smaller (i.e. via the ``shrink`` kwarg). +This has been changed so that the number of ticks is now responsive to how +large the colorbar is. diff --git a/lib/matplotlib/colorbar.py b/lib/matplotlib/colorbar.py index 142e525c3c89..5a5ebad4acb2 100644 --- a/lib/matplotlib/colorbar.py +++ b/lib/matplotlib/colorbar.py @@ -24,6 +24,7 @@ import six from six.moves import xrange, zip +import logging import warnings import numpy as np @@ -44,6 +45,8 @@ import matplotlib._constrained_layout as constrained_layout from matplotlib import docstring +_log = logging.getLogger(__name__) + make_axes_kw_doc = ''' ============= ==================================================== @@ -217,6 +220,65 @@ def _set_ticks_on_axis_warn(*args, **kw): warnings.warn("Use the colorbar set_ticks() method instead.") +class _ColorbarAutoLocator(ticker.MaxNLocator): + """ + AutoLocator for Colorbar + + This locator is just a `.MaxNLocator` except the min and max are + clipped by the norm's min and max (i.e. vmin/vmax from the + image/pcolor/contour object). This is necessary so ticks don't + extrude into the "extend regions". + """ + + def __init__(self, colorbar): + """ + _ColorbarAutoLocator(colorbar) + + This ticker needs to know the *colorbar* so that it can access + its *vmin* and *vmax*. Otherwise it is the same as + `~.ticker.AutoLocator`. + """ + + self._colorbar = colorbar + nbins = 'auto' + steps = [1, 2, 2.5, 5, 10] + ticker.MaxNLocator.__init__(self, nbins=nbins, steps=steps) + + def tick_values(self, vmin, vmax): + vmin = max(vmin, self._colorbar.norm.vmin) + vmax = min(vmax, self._colorbar.norm.vmax) + return ticker.MaxNLocator.tick_values(self, vmin, vmax) + + +class _ColorbarLogLocator(ticker.LogLocator): + """ + LogLocator for Colorbarbar + + This locator is just a `.LogLocator` except the min and max are + clipped by the norm's min and max (i.e. vmin/vmax from the + image/pcolor/contour object). This is necessary so ticks don't + extrude into the "extend regions". + + """ + def __init__(self, colorbar, *args, **kwargs): + """ + _ColorbarLogLocator(colorbar, *args, **kwargs) + + This ticker needs to know the *colorbar* so that it can access + its *vmin* and *vmax*. Otherwise it is the same as + `~.ticker.LogLocator`. The ``*args`` and ``**kwargs`` are the + same as `~.ticker.LogLocator`. + """ + self._colorbar = colorbar + ticker.LogLocator.__init__(self, *args, **kwargs) + + def tick_values(self, vmin, vmax): + vmin = self._colorbar.norm.vmin + vmax = self._colorbar.norm.vmax + ticks = ticker.LogLocator.tick_values(self, vmin, vmax) + return ticks[(ticks >= vmin) & (ticks <= vmax)] + + class ColorbarBase(cm.ScalarMappable): ''' Draw a colorbar in an existing axes. @@ -346,8 +408,15 @@ def draw_all(self): and do all the drawing. ''' + # sets self._boundaries and self._values in real data units. + # takes into account extend values: self._process_values() + # sets self.vmin and vmax in data units, but just for + # the part of the colorbar that is not part of the extend + # patch: self._find_range() + # returns the X and Y mesh, *but* this was/is in normalized + # units: X, Y = self._mesh() C = self._values[:, np.newaxis] self._config_axes(X, Y) @@ -356,35 +425,103 @@ def draw_all(self): def config_axis(self): ax = self.ax + if (isinstance(self.norm, colors.LogNorm) + and self._use_auto_colorbar_locator()): + # *both* axes are made log so that determining the + # mid point is easier. + ax.set_xscale('log') + ax.set_yscale('log') + if self.orientation == 'vertical': - ax.xaxis.set_ticks([]) - # location is either one of 'bottom' or 'top' - ax.yaxis.set_label_position(self.ticklocation) - ax.yaxis.set_ticks_position(self.ticklocation) + long_axis, short_axis = ax.yaxis, ax.xaxis else: - ax.yaxis.set_ticks([]) - # location is either one of 'left' or 'right' - ax.xaxis.set_label_position(self.ticklocation) - ax.xaxis.set_ticks_position(self.ticklocation) + long_axis, short_axis = ax.xaxis, ax.yaxis + + long_axis.set_label_position(self.ticklocation) + long_axis.set_ticks_position(self.ticklocation) + short_axis.set_ticks([]) + short_axis.set_ticks([], minor=True) self._set_label() + def _get_ticker_locator_formatter(self): + """ + This code looks at the norm being used by the colorbar + and decides what locator and formatter to use. If ``locator`` has + already been set by hand, it just returns + ``self.locator, self.formatter``. + """ + locator = self.locator + formatter = self.formatter + if locator is None: + if self.boundaries is None: + if isinstance(self.norm, colors.NoNorm): + nv = len(self._values) + base = 1 + int(nv / 10) + locator = ticker.IndexLocator(base=base, offset=0) + elif isinstance(self.norm, colors.BoundaryNorm): + b = self.norm.boundaries + locator = ticker.FixedLocator(b, nbins=10) + elif isinstance(self.norm, colors.LogNorm): + locator = _ColorbarLogLocator(self) + elif isinstance(self.norm, colors.SymLogNorm): + # The subs setting here should be replaced + # by logic in the locator. + locator = ticker.SymmetricalLogLocator( + subs=np.arange(1, 10), + linthresh=self.norm.linthresh, + base=10) + else: + if mpl.rcParams['_internal.classic_mode']: + locator = ticker.MaxNLocator() + else: + locator = _ColorbarAutoLocator(self) + else: + b = self._boundaries[self._inside] + locator = ticker.FixedLocator(b, nbins=10) + _log.debug('locator: %r', locator) + return locator, formatter + + def _use_auto_colorbar_locator(self): + """ + Return if we should use an adjustable tick locator or a fixed + one. (check is used twice so factored out here...) + """ + return (self.boundaries is None + and self.values is None + and ((type(self.norm) == colors.Normalize) + or (type(self.norm) == colors.LogNorm))) + def update_ticks(self): """ Force the update of the ticks and ticklabels. This must be called whenever the tick locator and/or tick formatter changes. """ ax = self.ax - ticks, ticklabels, offset_string = self._ticker() - if self.orientation == 'vertical': - ax.yaxis.set_ticks(ticks) - ax.set_yticklabels(ticklabels) - ax.yaxis.get_major_formatter().set_offset_string(offset_string) + # get the locator and formatter. Defaults to + # self.locator if not None.. + locator, formatter = self._get_ticker_locator_formatter() + if self.orientation == 'vertical': + long_axis, short_axis = ax.yaxis, ax.xaxis else: - ax.xaxis.set_ticks(ticks) - ax.set_xticklabels(ticklabels) - ax.xaxis.get_major_formatter().set_offset_string(offset_string) + long_axis, short_axis = ax.xaxis, ax.yaxis + + if self._use_auto_colorbar_locator(): + _log.debug('Using auto colorbar locator on colorbar') + _log.debug('locator: %r', locator) + long_axis.set_major_locator(locator) + long_axis.set_major_formatter(formatter) + if type(self.norm) == colors.LogNorm: + long_axis.set_minor_locator(_ColorbarLogLocator(self, + base=10., subs='auto')) + long_axis.set_minor_formatter(ticker.NullFormatter()) + else: + _log.debug('Using fixed locator on colorbar') + ticks, ticklabels, offset_string = self._ticker(locator, formatter) + long_axis.set_ticks(ticks) + long_axis.set_ticklabels(ticklabels) + long_axis.get_major_formatter().set_offset_string(offset_string) def set_ticks(self, ticks, update_ticks=True): """ @@ -520,6 +657,7 @@ def _add_solids(self, X, Y, C): # since the axes object should already have hold set. _hold = self.ax._hold self.ax._hold = True + _log.debug('Setting pcolormesh') col = self.ax.pcolormesh(*args, **kw) self.ax._hold = _hold #self.add_observer(col) # We should observe, not be observed... @@ -573,39 +711,11 @@ def add_lines(self, levels, colors, linewidths, erase=True): self.ax.add_collection(col) self.stale = True - def _ticker(self): + def _ticker(self, locator, formatter): ''' Return the sequence of ticks (colorbar data locations), ticklabels (strings), and the corresponding offset string. ''' - locator = self.locator - formatter = self.formatter - if locator is None: - if self.boundaries is None: - if isinstance(self.norm, colors.NoNorm): - nv = len(self._values) - base = 1 + int(nv / 10) - locator = ticker.IndexLocator(base=base, offset=0) - elif isinstance(self.norm, colors.BoundaryNorm): - b = self.norm.boundaries - locator = ticker.FixedLocator(b, nbins=10) - elif isinstance(self.norm, colors.LogNorm): - locator = ticker.LogLocator(subs='all') - elif isinstance(self.norm, colors.SymLogNorm): - # The subs setting here should be replaced - # by logic in the locator. - locator = ticker.SymmetricalLogLocator( - subs=np.arange(1, 10), - linthresh=self.norm.linthresh, - base=10) - else: - if mpl.rcParams['_internal.classic_mode']: - locator = ticker.MaxNLocator() - else: - locator = ticker.AutoLocator() - else: - b = self._boundaries[self._inside] - locator = ticker.FixedLocator(b, nbins=10) if isinstance(self.norm, colors.NoNorm) and self.boundaries is None: intv = self._values[0], self._values[-1] else: @@ -845,17 +955,29 @@ def _mesh(self): transposition for a horizontal colorbar are done outside this function. ''' + # if boundaries and values are None, then we can go ahead and + # scale this up for Auto tick location. Otherwise we + # want to keep normalized between 0 and 1 and use manual tick + # locations. + x = np.array([0.0, 1.0]) if self.spacing == 'uniform': y = self._uniform_y(self._central_N()) else: y = self._proportional_y() + if self._use_auto_colorbar_locator(): + y = self.norm.inverse(y) + x = self.norm.inverse(x) self._y = y X, Y = np.meshgrid(x, y) + if self._use_auto_colorbar_locator(): + xmid = self.norm.inverse(0.5) + else: + xmid = 0.5 if self._extend_lower() and not self.extendrect: - X[0, :] = 0.5 + X[0, :] = xmid if self._extend_upper() and not self.extendrect: - X[-1, :] = 0.5 + X[-1, :] = xmid return X, Y def _locate(self, x): diff --git a/lib/matplotlib/tests/baseline_images/test_image/mask_image_over_under.png b/lib/matplotlib/tests/baseline_images/test_image/mask_image_over_under.png index a94b635b1c64e13a3a0a7836bafc0553920708f7..904e0c3d44a070ba5429cfbbd17b3348629d5829 100644 GIT binary patch delta 24780 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 MOBLBtX`_Ju0owz$ivR!s diff --git a/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_colormap.svg b/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_colormap.svg index 816041b724d4..fdad1814fd99 100644 --- a/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_colormap.svg +++ b/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_colormap.svg @@ -27,1962 +27,1962 @@ z " style="fill:#ffffff;"/> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +" id="m368fc901b1" style="stroke:#000000;stroke-width:0.5;"/> - + +" id="mc63e59a608" style="stroke:#000000;stroke-width:0.5;"/> - - - - - - - - - - - - + - + - - - - - - - - - - - + - + - - - - - - - - - - - + - + - - - - - - - - - - + - + - - - - - - - + - + - - - - - - - + - + - - - - - - - + @@ -2828,137 +2683,92 @@ Q 19.53125 74.21875 31.78125 74.21875 +" id="m556f96d829" style="stroke:#000000;stroke-width:0.5;"/> - + +" id="m27e32ca04a" style="stroke:#000000;stroke-width:0.5;"/> - - - - - - - - + - + - - - - - - - - + - + - - - - - - - - + - + - - - - - - - + - + - - - - - - - + - + - - - - - - - + - + - - - - - - - + @@ -2966,7 +2776,7 @@ L -4 0 - - - - - - - - - - - + - - - - - - - - - + - - - - - - - - - - - + - - - - - - - - - - - + - - - - - - - - - - - + - - - - - - - - + - + - - - - + + + + + @@ -3183,10 +2863,10 @@ z - + - + diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py index 539ee8c83416..299ed1eb5b19 100644 --- a/lib/matplotlib/tests/test_colorbar.py +++ b/lib/matplotlib/tests/test_colorbar.py @@ -273,6 +273,49 @@ def test_colorbar_ticks(): assert len(cbar.ax.xaxis.get_ticklocs()) == len(clevs) +def test_colorbar_autoticks(): + # Test new autotick modes. Needs to be classic because + # non-classic doesn't go this route. + with rc_context({'_internal.classic_mode': False}): + fig, ax = plt.subplots(2, 1) + x = np.arange(-3.0, 4.001) + y = np.arange(-4.0, 3.001) + X, Y = np.meshgrid(x, y) + Z = X * Y + pcm = ax[0].pcolormesh(X, Y, Z) + cbar = fig.colorbar(pcm, ax=ax[0], extend='both', + orientation='vertical') + + pcm = ax[1].pcolormesh(X, Y, Z) + cbar2 = fig.colorbar(pcm, ax=ax[1], extend='both', + orientation='vertical', shrink=0.4) + np.testing.assert_almost_equal(cbar.ax.yaxis.get_ticklocs(), + np.arange(-15, 16., 5.)) + np.testing.assert_almost_equal(cbar2.ax.yaxis.get_ticklocs(), + np.arange(-20, 21., 10.)) + + +def test_colorbar_autotickslog(): + # Test new autotick modes... + with rc_context({'_internal.classic_mode': False}): + fig, ax = plt.subplots(2, 1) + x = np.arange(-3.0, 4.001) + y = np.arange(-4.0, 3.001) + X, Y = np.meshgrid(x, y) + Z = X * Y + pcm = ax[0].pcolormesh(X, Y, 10**Z, norm=LogNorm()) + cbar = fig.colorbar(pcm, ax=ax[0], extend='both', + orientation='vertical') + + pcm = ax[1].pcolormesh(X, Y, 10**Z, norm=LogNorm()) + cbar2 = fig.colorbar(pcm, ax=ax[1], extend='both', + orientation='vertical', shrink=0.4) + np.testing.assert_almost_equal(cbar.ax.yaxis.get_ticklocs(), + 10**np.arange(-12, 12.2, 4.)) + np.testing.assert_almost_equal(cbar2.ax.yaxis.get_ticklocs(), + 10**np.arange(-12, 13., 12.)) + + def test_colorbar_get_ticks(): # test feature for #5792 plt.figure() diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py index 81a51e711ea0..e526f8b80ae7 100644 --- a/lib/matplotlib/tests/test_streamplot.py +++ b/lib/matplotlib/tests/test_streamplot.py @@ -40,7 +40,7 @@ def test_startpoints(): @image_comparison(baseline_images=['streamplot_colormap'], - tol=.02) + tol=.04, remove_text=True) def test_colormap(): X, Y, U, V = velocity_field() plt.streamplot(X, Y, U, V, color=U, density=0.6, linewidth=2, diff --git a/lib/matplotlib/ticker.py b/lib/matplotlib/ticker.py index c3978c9ec31d..c151a6aca6e0 100644 --- a/lib/matplotlib/ticker.py +++ b/lib/matplotlib/ticker.py @@ -170,6 +170,7 @@ import six import itertools +import logging import locale import math import numpy as np @@ -180,6 +181,7 @@ import warnings +_log = logging.getLogger(__name__) __all__ = ('TickHelper', 'Formatter', 'FixedFormatter', 'NullFormatter', 'FuncFormatter', 'FormatStrFormatter', @@ -2115,6 +2117,7 @@ def tick_values(self, vmin, vmax): "Data has no positive values, and therefore can not be " "log-scaled.") + _log.debug('vmin %s vmax %s', vmin, vmax) vmin = math.log(vmin) / math.log(b) vmax = math.log(vmax) / math.log(b) @@ -2135,8 +2138,8 @@ def tick_values(self, vmin, vmax): else: subs = self._subs + # get decades between major ticks. stride = 1 - if rcParams['_internal.classic_mode']: # Leave the bug left over from the PY2-PY3 transition. while numdec / stride + 1 > numticks: @@ -2157,6 +2160,8 @@ def tick_values(self, vmin, vmax): if stride == 1: ticklocs = np.ravel(np.outer(subs, ticklocs)) else: + # no ticklocs if we have more than one decade + # between major ticks. ticklocs = [] else: if have_subs: @@ -2167,6 +2172,7 @@ def tick_values(self, vmin, vmax): else: ticklocs = b ** decades + _log.debug('ticklocs %r', ticklocs) return self.raise_if_exceeds(np.asarray(ticklocs)) def view_limits(self, vmin, vmax): From 450f743ff41ae8c13b6150cb66d5d0f2ce3e9db3 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sun, 18 Mar 2018 19:46:17 +0100 Subject: [PATCH 0375/1161] add page source link --- doc/_templates/pagesource.html | 7 +++++++ doc/conf.py | 3 ++- 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 doc/_templates/pagesource.html diff --git a/doc/_templates/pagesource.html b/doc/_templates/pagesource.html new file mode 100644 index 000000000000..54428f9d6910 --- /dev/null +++ b/doc/_templates/pagesource.html @@ -0,0 +1,7 @@ +{%- if show_source and has_source and sourcename %} + +{%- endif %} diff --git a/doc/conf.py b/doc/conf.py index ad2ff00c4dcd..0e0dd7aa3a46 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -241,7 +241,8 @@ def _check_deps(): # Custom sidebar templates, maps page names to templates. html_sidebars = { 'index': ['searchbox.html', 'donate_sidebar.html'], - '**': ['searchbox.html', 'localtoc.html', 'relations.html'] + '**': ['searchbox.html', 'localtoc.html', 'relations.html', + 'pagesource.html'] } # If false, no module index is generated. From 7433f66a0566bd45f018cd8d98a9738f2b38cd61 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sun, 18 Mar 2018 18:34:08 +0100 Subject: [PATCH 0376/1161] Make function signatures more explicit --- lib/matplotlib/__init__.py | 2 +- lib/matplotlib/axes/_axes.py | 8 +++--- lib/matplotlib/figure.py | 10 +++----- lib/matplotlib/pyplot.py | 50 ++++++++++++++---------------------- 4 files changed, 27 insertions(+), 43 deletions(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 9fff55f8b4d1..24a09af4cf31 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -1147,7 +1147,7 @@ def rc_params_from_file(fname, fail_on_error=False, use_default_template=True): def rc(group, **kwargs): """ - Set the current rc params. Group is the grouping for the rc, e.g., + Set the current rc params. *group* is the grouping for the rc, e.g., for ``lines.linewidth`` the group is ``lines``, for ``axes.facecolor``, the group is ``axes``, and so on. Group may also be a list or tuple of group names, e.g., (*xtick*, *ytick*). diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 876bab3f7287..1998c0171cc0 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -471,8 +471,8 @@ def text(self, x, y, s, fontdict=None, withdash=False, **kwargs): return t @docstring.dedent_interpd - def annotate(self, *args, **kwargs): - a = mtext.Annotation(*args, **kwargs) + def annotate(self, text, xy, *args, **kwargs): + a = mtext.Annotation(text, xy, *args, **kwargs) a.set_transform(mtransforms.IdentityTransform()) if 'clip_on' in kwargs: a.set_clip_path(self.patch) @@ -4668,8 +4668,8 @@ def arrow(self, x, y, dx, dy, **kwargs): self.add_artist(a) return a - def quiverkey(self, *args, **kw): - qk = mquiver.QuiverKey(*args, **kw) + def quiverkey(self, Q, X, Y, U, label, **kw): + qk = mquiver.QuiverKey(Q, X, Y, U, label, **kw) self.add_artist(qk) return qk quiverkey.__doc__ = mquiver.QuiverKey.quiverkey_doc diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index a9d405f80d19..e18403c3f950 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -1939,18 +1939,14 @@ def colorbar(self, mappable, cax=None, ax=None, use_gridspec=True, **kw): self.stale = True return cb - def subplots_adjust(self, *args, **kwargs): + def subplots_adjust(self, left=None, bottom=None, right=None, top=None, + wspace=None, hspace=None): """ - Call signature:: - - subplots_adjust(left=None, bottom=None, right=None, top=None, - wspace=None, hspace=None) - Update the :class:`SubplotParams` with *kwargs* (defaulting to rc when *None*) and update the subplot locations. """ - self.subplotpars.update(*args, **kwargs) + self.subplotpars.update(left, bottom, right, top, wspace, hspace) for ax in self.axes: if not isinstance(ax, SubplotBase): # Check if sharing a subplots axis diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index cf0f72049250..12670fd63296 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -294,8 +294,8 @@ def pause(interval): @docstring.copy_dedent(matplotlib.rc) -def rc(*args, **kwargs): - matplotlib.rc(*args, **kwargs) +def rc(group, **kwargs): + matplotlib.rc(group, **kwargs) @docstring.copy_dedent(matplotlib.rc_context) @@ -344,8 +344,8 @@ def sci(im): ## Any Artist ## # (getp is simply imported) @docstring.copy(_setp) -def setp(*args, **kwargs): - return _setp(*args, **kwargs) +def setp(obj, *args, **kwargs): + return _setp(obj, *args, **kwargs) def xkcd(scale=1, length=100, randomness=2): @@ -735,13 +735,13 @@ def waitforbuttonpress(*args, **kwargs): # Putting things in figures @docstring.copy_dedent(Figure.text) -def figtext(*args, **kwargs): - return gcf().text(*args, **kwargs) +def figtext(x, y, s, *args, **kwargs): + return gcf().text(x, y, s, *args, **kwargs) @docstring.copy_dedent(Figure.suptitle) -def suptitle(*args, **kwargs): - return gcf().suptitle(*args, **kwargs) +def suptitle(t, **kwargs): + return gcf().suptitle(t, **kwargs) @docstring.copy_dedent(Figure.figimage) @@ -1289,15 +1289,11 @@ def twiny(ax=None): return ax1 -def subplots_adjust(*args, **kwargs): +def subplots_adjust(left=None, bottom=None, right=None, top=None, + wspace=None, hspace=None): """ Tune the subplot layout. - call signature:: - - subplots_adjust(left=None, bottom=None, right=None, top=None, - wspace=None, hspace=None) - The parameter meanings (and suggested defaults) are:: left = 0.125 # the left side of the subplots of the figure @@ -1312,7 +1308,7 @@ def subplots_adjust(*args, **kwargs): The actual defaults are controlled by the rc file """ fig = gcf() - fig.subplots_adjust(*args, **kwargs) + fig.subplots_adjust(left, bottom, right, top, wspace, hspace) def subplot_tool(targetfig=None): @@ -1597,14 +1593,10 @@ def ylim(*args, **kwargs): @docstring.dedent_interpd -def xscale(*args, **kwargs): +def xscale(scale, **kwargs): """ Set the scaling of the x-axis. - Call signature:: - - xscale(scale, **kwargs) - Parameters ---------- scale : [%(scale)s] @@ -1621,18 +1613,14 @@ def xscale(*args, **kwargs): %(scale_docs)s """ - gca().set_xscale(*args, **kwargs) + gca().set_xscale(scale, **kwargs) @docstring.dedent_interpd -def yscale(*args, **kwargs): +def yscale(scale, **kwargs): """ Set the scaling of the y-axis. - Call signature:: - - yscale(scale, **kwargs) - Parameters ---------- scale : [%(scale)s] @@ -1649,7 +1637,7 @@ def yscale(*args, **kwargs): %(scale_docs)s """ - gca().set_yscale(*args, **kwargs) + gca().set_yscale(scale, **kwargs) def xticks(*args, **kwargs): @@ -2316,13 +2304,13 @@ def set_cmap(cmap): @docstring.copy_dedent(_imread) -def imread(*args, **kwargs): - return _imread(*args, **kwargs) +def imread(fname, format=None): + return _imread(fname, format) @docstring.copy_dedent(_imsave) -def imsave(*args, **kwargs): - return _imsave(*args, **kwargs) +def imsave(fname, arr, **kwargs): + return _imsave(fname, arr, **kwargs) def matshow(A, fignum=None, **kw): From 3251c3ae8fb34c406bf793198f9bc27da2f32fa7 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Sun, 18 Mar 2018 13:16:33 -0700 Subject: [PATCH 0377/1161] Propagate marker antialias setting to GraphicsContext. The Agg backend still doesn't know how to make use of that information in draw_markers, but third-party backends (e.g. mplcairo) do honor the setting. --- lib/matplotlib/lines.py | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/matplotlib/lines.py b/lib/matplotlib/lines.py index e1656a78e3fb..8671efc77836 100644 --- a/lib/matplotlib/lines.py +++ b/lib/matplotlib/lines.py @@ -797,6 +797,7 @@ def draw(self, renderer): gc.set_alpha(rgbaFace[3]) else: gc.set_alpha(self.get_alpha()) + gc.set_antialiased(self._antialiased) marker = self._marker tpath, affine = transf_path.get_transformed_points_and_affine() From 8e15b7060b4a2a9c11bca06f5e594f3ded2d5e67 Mon Sep 17 00:00:00 2001 From: zhoubecky Date: Mon, 5 Mar 2018 13:34:00 -0500 Subject: [PATCH 0378/1161] fix BboxConnectorPatch does not show facecolor #8059 and add test --- lib/mpl_toolkits/axes_grid1/inset_locator.py | 13 ++- .../test_axes_grid1/fill_facecolor.png | Bin 0 -> 14845 bytes lib/mpl_toolkits/tests/test_axes_grid1.py | 90 +++++++++++++++++- 3 files changed, 99 insertions(+), 4 deletions(-) create mode 100644 lib/mpl_toolkits/tests/baseline_images/test_axes_grid1/fill_facecolor.png diff --git a/lib/mpl_toolkits/axes_grid1/inset_locator.py b/lib/mpl_toolkits/axes_grid1/inset_locator.py index 30483fba06ff..c7bbdd6b185e 100644 --- a/lib/mpl_toolkits/axes_grid1/inset_locator.py +++ b/lib/mpl_toolkits/axes_grid1/inset_locator.py @@ -308,7 +308,11 @@ def __init__(self, bbox1, bbox2, loc1, loc2=None, **kwargs): raise ValueError("transform should not be set") kwargs["transform"] = IdentityTransform() - Patch.__init__(self, fill=False, **kwargs) + if 'fill' in kwargs: + Patch.__init__(self, **kwargs) + else: + fill = ('fc' in kwargs) or ('facecolor' in kwargs) or ('color' in kwargs) + Patch.__init__(self, fill=fill, **kwargs) self.bbox1 = bbox1 self.bbox2 = bbox2 self.loc1 = loc1 @@ -581,8 +585,11 @@ def mark_inset(parent_axes, inset_axes, loc1, loc2, **kwargs): """ rect = TransformedBbox(inset_axes.viewLim, parent_axes.transData) - fill = kwargs.pop("fill", False) - pp = BboxPatch(rect, fill=fill, **kwargs) + if 'fill' in kwargs: + pp = BboxPatch(rect, **kwargs) + else: + fill = ('fc' in kwargs) or ('facecolor' in kwargs) or ('color' in kwargs) + pp = BboxPatch(rect, fill=fill, **kwargs) parent_axes.add_patch(pp) p1 = BboxConnector(inset_axes.bbox, rect, loc1=loc1, **kwargs) diff --git a/lib/mpl_toolkits/tests/baseline_images/test_axes_grid1/fill_facecolor.png b/lib/mpl_toolkits/tests/baseline_images/test_axes_grid1/fill_facecolor.png new file mode 100644 index 0000000000000000000000000000000000000000..4391e179be9f61a149a9190e72e2a0f7b7047f02 GIT binary patch literal 14845 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 K#un(=NBkdPSZT)q literal 0 HcmV?d00001 diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py index 740eb37889bd..7049902974a6 100644 --- a/lib/mpl_toolkits/tests/test_axes_grid1.py +++ b/lib/mpl_toolkits/tests/test_axes_grid1.py @@ -12,11 +12,14 @@ from mpl_toolkits.axes_grid1.inset_locator import ( zoomed_inset_axes, mark_inset, - inset_axes + inset_axes, + BboxConnectorPatch ) from mpl_toolkits.axes_grid1.anchored_artists import AnchoredSizeBar from matplotlib.colors import LogNorm +from matplotlib.transforms import Bbox, TransformedBbox, \ + blended_transform_factory from itertools import product import numpy as np @@ -226,6 +229,91 @@ def test_inset_axes_without_transform_should_use_parent_axes(): assert ax.transAxes == ax_ins.transAxes +@image_comparison( + baseline_images=['fill_facecolor'], extensions=['png'], + remove_text=True, style='mpl20') +def test_fill_facecolor(): + fig, ax = plt.subplots(1, 5) + fig.set_size_inches(5, 5) + trans1 = blended_transform_factory(ax[0].transData, ax[0].transData) + trans2 = blended_transform_factory(ax[1].transData, ax[1].transData) + trans3 = blended_transform_factory(ax[2].transData, ax[2].transData) + trans4 = blended_transform_factory(ax[3].transData, ax[3].transData) + trans5 = blended_transform_factory(ax[4].transData, ax[4].transData) + for i in range(1, 4): + ax[i].yaxis.set_visible(False) + ax[4].yaxis.tick_right() + bbox = Bbox.from_extents(0, 0.4, 1, 0.6) + + # fill with blue by setting 'fc' field + bbox1 = TransformedBbox(bbox, trans1) + bbox2 = TransformedBbox(bbox, trans2) + # set color to BboxConnectorPatch + p = BboxConnectorPatch( + bbox1, bbox2, loc1a=1, loc2a=2, loc1b=4, loc2b=3, + ec="r", fc="b") + p.set_clip_on(False) + ax[0].add_patch(p) + # set color to marked area + axins = zoomed_inset_axes(ax[0], 1, loc=1) + axins.set_xlim(0, 0.2) + axins.set_ylim(0, 0.2) + plt.gca().axes.get_xaxis().set_ticks([]) + plt.gca().axes.get_yaxis().set_ticks([]) + mark_inset(ax[0], axins, loc1=2, loc2=4, fc="b", ec="0.5") + + # fill with yellow by setting 'facecolor' field + bbox3 = TransformedBbox(bbox, trans2) + bbox4 = TransformedBbox(bbox, trans3) + # set color to BboxConnectorPatch + p = BboxConnectorPatch( + bbox3, bbox4, loc1a=1, loc2a=2, loc1b=4, loc2b=3, + ec="r", facecolor="y") + p.set_clip_on(False) + ax[1].add_patch(p) + # set color to marked area + axins = zoomed_inset_axes(ax[1], 1, loc=1) + axins.set_xlim(0, 0.2) + axins.set_ylim(0, 0.2) + plt.gca().axes.get_xaxis().set_ticks([]) + plt.gca().axes.get_yaxis().set_ticks([]) + mark_inset(ax[1], axins, loc1=2, loc2=4, facecolor="y", ec="0.5") + + # fill with green by setting 'color' field + bbox5 = TransformedBbox(bbox, trans3) + bbox6 = TransformedBbox(bbox, trans4) + # set color to BboxConnectorPatch + p = BboxConnectorPatch( + bbox5, bbox6, loc1a=1, loc2a=2, loc1b=4, loc2b=3, + ec="r", color="g") + p.set_clip_on(False) + ax[2].add_patch(p) + # set color to marked area + axins = zoomed_inset_axes(ax[2], 1, loc=1) + axins.set_xlim(0, 0.2) + axins.set_ylim(0, 0.2) + plt.gca().axes.get_xaxis().set_ticks([]) + plt.gca().axes.get_yaxis().set_ticks([]) + mark_inset(ax[2], axins, loc1=2, loc2=4, color="g", ec="0.5") + + # fill with green but color won't show if set fill to False + bbox7 = TransformedBbox(bbox, trans4) + bbox8 = TransformedBbox(bbox, trans5) + # BboxConnectorPatch won't show green + p = BboxConnectorPatch( + bbox7, bbox8, loc1a=1, loc2a=2, loc1b=4, loc2b=3, + ec="r", fc="g", fill=False) + p.set_clip_on(False) + ax[3].add_patch(p) + # marked area won't show green + axins = zoomed_inset_axes(ax[3], 1, loc=1) + axins.set_xlim(0, 0.2) + axins.set_ylim(0, 0.2) + plt.gca().axes.get_xaxis().set_ticks([]) + plt.gca().axes.get_yaxis().set_ticks([]) + mark_inset(ax[3], axins, loc1=2, loc2=4, fc="g", ec="0.5", fill=False) + + @image_comparison(baseline_images=['zoomed_axes', 'inverted_zoomed_axes'], extensions=['png']) From f98ffad21f57d7ea86be6ddf45e448ec2d2cfabf Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Sat, 17 Mar 2018 16:49:42 -0700 Subject: [PATCH 0379/1161] Py3fy dates.py. The workaround for strftime with dates < 1900 is not needed anymore since Py 3.3, see note (2) in https://docs.python.org/3/library/datetime.html#strftime-strptime-behavior --- .../2018-02-15-AL-deprecations.rst | 6 ++-- lib/matplotlib/cbook/__init__.py | 1 + lib/matplotlib/dates.py | 32 +++++++------------ 3 files changed, 16 insertions(+), 23 deletions(-) diff --git a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst index c19422772dec..4f69eb24b788 100644 --- a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst +++ b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst @@ -9,11 +9,11 @@ The following modules are deprecated: The following classes, methods, functions, and attributes are deprecated: - ``Annotation.arrow``, -- ``cbook.GetRealpathAndStat`` (which is only a helper for - ``get_realpath_and_stat``), -- ``cbook.Locked``, +- ``cbook.GetRealpathAndStat``, ``cbook.Locked``, - ``cbook.is_numlike`` (use ``isinstance(..., numbers.Number)`` instead), + ``cbook.unicode_safe`` - ``container.Container.set_remove_method``, +- ``dates.DateFormatter.strftime_pre_1900``, ``dates.DateFormatter.strftime``, - ``font_manager.TempCache``, - ``mathtext.unichr_safe`` (use ``chr`` instead), - ``texmanager.dvipng_hack_alpha``, diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index a849a4946e70..87cfe7fd4d84 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -38,6 +38,7 @@ from .deprecation import mplDeprecation, MatplotlibDeprecationWarning +@deprecated("3.0") def unicode_safe(s): if isinstance(s, bytes): diff --git a/lib/matplotlib/dates.py b/lib/matplotlib/dates.py index e0d487b197cf..5d87e04f231f 100644 --- a/lib/matplotlib/dates.py +++ b/lib/matplotlib/dates.py @@ -135,29 +135,22 @@ * :class:`IndexDateFormatter`: date plots with implicit *x* indexing. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) -import six -from six.moves import zip -import re -import time -import math import datetime import functools - -import warnings import logging +import math +import re +import time +import warnings from dateutil.rrule import (rrule, MO, TU, WE, TH, FR, SA, SU, YEARLY, MONTHLY, WEEKLY, DAILY, HOURLY, MINUTELY, SECONDLY) from dateutil.relativedelta import relativedelta import dateutil.parser -import logging import numpy as np - import matplotlib from matplotlib import rcParams import matplotlib.units as units @@ -404,7 +397,7 @@ def datestr2num(d, default=None): default : datetime instance, optional The default date to use when fields are missing in *d*. """ - if isinstance(d, six.string_types): + if isinstance(d, str): dt = dateutil.parser.parse(d, default=default) return date2num(dt) else: @@ -629,15 +622,15 @@ def __init__(self, fmt, tz=None): def __call__(self, x, pos=0): if x == 0: raise ValueError('DateFormatter found a value of x=0, which is ' - 'an illegal date. This usually occurs because ' + 'an illegal date; this usually occurs because ' 'you have not informed the axis that it is ' 'plotting dates, e.g., with ax.xaxis_date()') - dt = num2date(x, self.tz) - return self.strftime(dt, self.fmt) + return num2date(x, self.tz).strftime(self.fmt) def set_tzinfo(self, tz): self.tz = tz + @cbook.deprecated("3.0") def _replace_common_substr(self, s1, s2, sub1, sub2, replacement): """Helper function for replacing substrings sub1 and sub2 located at the same indexes in strings s1 and s2 respectively, @@ -663,6 +656,7 @@ def _replace_common_substr(self, s1, s2, sub1, sub2, replacement): return s1, s2 + @cbook.deprecated("3.0") def strftime_pre_1900(self, dt, fmt=None): """Call time.strftime for years before 1900 by rolling forward a multiple of 28 years. @@ -720,6 +714,7 @@ def strftime_pre_1900(self, dt, fmt=None): "{0:02d}".format(dt.year % 100)) return cbook.unicode_safe(s1) + @cbook.deprecated("3.0") def strftime(self, dt, fmt=None): """ Refer to documentation for :meth:`datetime.datetime.strftime` @@ -764,10 +759,7 @@ def __call__(self, x, pos=0): ind = int(np.round(x)) if ind >= len(self.t) or ind <= 0: return '' - - dt = num2date(self.t[ind], self.tz) - - return cbook.unicode_safe(dt.strftime(self.fmt)) + return num2date(self.t[ind], self.tz).strftime(self.fmt) class AutoDateFormatter(ticker.Formatter): @@ -858,7 +850,7 @@ def __call__(self, x, pos=None): if scale >= locator_unit_scale), self.defaultfmt) - if isinstance(fmt, six.string_types): + if isinstance(fmt, str): self._formatter = DateFormatter(fmt, self._tz) result = self._formatter(x, pos) elif callable(fmt): From c7aba6bb17e9ffc8c89be2660a40446f6ebce4d0 Mon Sep 17 00:00:00 2001 From: zhoubecky Date: Sun, 18 Mar 2018 20:19:57 -0400 Subject: [PATCH 0380/1161] update test --- lib/mpl_toolkits/tests/test_axes_grid1.py | 25 +++++++++-------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py index 7049902974a6..e5eef506461c 100644 --- a/lib/mpl_toolkits/tests/test_axes_grid1.py +++ b/lib/mpl_toolkits/tests/test_axes_grid1.py @@ -235,19 +235,14 @@ def test_inset_axes_without_transform_should_use_parent_axes(): def test_fill_facecolor(): fig, ax = plt.subplots(1, 5) fig.set_size_inches(5, 5) - trans1 = blended_transform_factory(ax[0].transData, ax[0].transData) - trans2 = blended_transform_factory(ax[1].transData, ax[1].transData) - trans3 = blended_transform_factory(ax[2].transData, ax[2].transData) - trans4 = blended_transform_factory(ax[3].transData, ax[3].transData) - trans5 = blended_transform_factory(ax[4].transData, ax[4].transData) for i in range(1, 4): ax[i].yaxis.set_visible(False) ax[4].yaxis.tick_right() bbox = Bbox.from_extents(0, 0.4, 1, 0.6) # fill with blue by setting 'fc' field - bbox1 = TransformedBbox(bbox, trans1) - bbox2 = TransformedBbox(bbox, trans2) + bbox1 = TransformedBbox(bbox, ax[0].transData) + bbox2 = TransformedBbox(bbox, ax[1].transData) # set color to BboxConnectorPatch p = BboxConnectorPatch( bbox1, bbox2, loc1a=1, loc2a=2, loc1b=4, loc2b=3, @@ -263,8 +258,8 @@ def test_fill_facecolor(): mark_inset(ax[0], axins, loc1=2, loc2=4, fc="b", ec="0.5") # fill with yellow by setting 'facecolor' field - bbox3 = TransformedBbox(bbox, trans2) - bbox4 = TransformedBbox(bbox, trans3) + bbox3 = TransformedBbox(bbox, ax[1].transData) + bbox4 = TransformedBbox(bbox, ax[2].transData) # set color to BboxConnectorPatch p = BboxConnectorPatch( bbox3, bbox4, loc1a=1, loc2a=2, loc1b=4, loc2b=3, @@ -280,8 +275,8 @@ def test_fill_facecolor(): mark_inset(ax[1], axins, loc1=2, loc2=4, facecolor="y", ec="0.5") # fill with green by setting 'color' field - bbox5 = TransformedBbox(bbox, trans3) - bbox6 = TransformedBbox(bbox, trans4) + bbox5 = TransformedBbox(bbox, ax[2].transData) + bbox6 = TransformedBbox(bbox, ax[3].transData) # set color to BboxConnectorPatch p = BboxConnectorPatch( bbox5, bbox6, loc1a=1, loc2a=2, loc1b=4, loc2b=3, @@ -297,8 +292,8 @@ def test_fill_facecolor(): mark_inset(ax[2], axins, loc1=2, loc2=4, color="g", ec="0.5") # fill with green but color won't show if set fill to False - bbox7 = TransformedBbox(bbox, trans4) - bbox8 = TransformedBbox(bbox, trans5) + bbox7 = TransformedBbox(bbox, ax[3].transData) + bbox8 = TransformedBbox(bbox, ax[4].transData) # BboxConnectorPatch won't show green p = BboxConnectorPatch( bbox7, bbox8, loc1a=1, loc2a=2, loc1b=4, loc2b=3, @@ -309,8 +304,8 @@ def test_fill_facecolor(): axins = zoomed_inset_axes(ax[3], 1, loc=1) axins.set_xlim(0, 0.2) axins.set_ylim(0, 0.2) - plt.gca().axes.get_xaxis().set_ticks([]) - plt.gca().axes.get_yaxis().set_ticks([]) + axins.get_xaxis().set_ticks([]) + axins.get_yaxis().set_ticks([]) mark_inset(ax[3], axins, loc1=2, loc2=4, fc="g", ec="0.5", fill=False) From f073df7055ea448ed6fc779783600b98b273adf3 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Mon, 19 Mar 2018 01:21:09 +0100 Subject: [PATCH 0381/1161] Minor docstring updates on spectral plot functions --- lib/matplotlib/axes/_axes.py | 83 +++++++++++++++++++----------------- lib/matplotlib/mlab.py | 10 ++--- 2 files changed, 48 insertions(+), 45 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 1998c0171cc0..49363dc7d611 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -1633,7 +1633,7 @@ def acorr(self, x, **kwargs): If ``True``, `Axes.vlines` is used to plot the vertical lines from the origin to the acorr. Otherwise, `Axes.plot` is used. - maxlags : integer, optional, default: 10 + maxlags : int, optional, default: 10 Number of lags to show. If ``None``, will return all ``2 * len(x) - 1`` lags. @@ -1654,10 +1654,10 @@ def acorr(self, x, **kwargs): Other Parameters ---------------- - linestyle : `~matplotlib.lines.Line2D` prop, optional, default: None + linestyle : `.Line2D` property, optional, default: None Only used if usevlines is ``False``. - marker : string, optional, default: 'o' + marker : str, optional, default: 'o' Notes ----- @@ -1674,7 +1674,9 @@ def xcorr(self, x, y, normed=True, detrend=mlab.detrend_none, """ Plot the cross correlation between *x* and *y*. - The correlation with lag k is defined as sum_n x[n+k] * conj(y[n]). + The correlation with lag k is defined as + :math:`\sum_n x[n+k] \cdot y^*[n]`, where :math:`y^*` is the complex + conjugate of :math:`y`. Parameters ---------- @@ -1716,7 +1718,7 @@ def xcorr(self, x, y, normed=True, detrend=mlab.detrend_none, Other Parameters ---------------- - linestyle : `~matplotlib.lines.Line2D` property, optional + linestyle : `.Line2D` property, optional Only used if usevlines is ``False``. marker : string, optional @@ -6685,11 +6687,11 @@ def psd(self, x, NFFT=None, Fs=None, Fc=None, detrend=None, %(PSD)s - noverlap : integer + noverlap : int The number of points of overlap between segments. The default value is 0 (no overlap). - Fc : integer + Fc : int The center frequency of *x* (defaults to 0), which offsets the x extents of the plot to reflect the frequency range used when a signal is acquired and then filtered and downsampled to @@ -6703,10 +6705,10 @@ def psd(self, x, NFFT=None, Fs=None, Fc=None, detrend=None, ------- Pxx : 1-D array The values for the power spectrum `P_{xx}` before scaling - (real valued) + (real valued). freqs : 1-D array - The frequencies corresponding to the elements in *Pxx* + The frequencies corresponding to the elements in *Pxx*. line : a :class:`~matplotlib.lines.Line2D` instance The line created by this function. @@ -6807,17 +6809,17 @@ def csd(self, x, y, NFFT=None, Fs=None, Fc=None, detrend=None, Parameters ---------- x, y : 1-D arrays or sequences - Arrays or sequences containing the data + Arrays or sequences containing the data. %(Spectral)s %(PSD)s - noverlap : integer + noverlap : int The number of points of overlap between segments. The default value is 0 (no overlap). - Fc : integer + Fc : int The center frequency of *x* (defaults to 0), which offsets the x extents of the plot to reflect the frequency range used when a signal is acquired and then filtered and downsampled to @@ -6831,10 +6833,10 @@ def csd(self, x, y, NFFT=None, Fs=None, Fc=None, detrend=None, ------- Pxy : 1-D array The values for the cross spectrum `P_{xy}` before scaling - (complex valued) + (complex valued). freqs : 1-D array - The frequencies corresponding to the elements in *Pxy* + The frequencies corresponding to the elements in *Pxy*. line : a :class:`~matplotlib.lines.Line2D` instance The line created by this function. @@ -6913,18 +6915,18 @@ def magnitude_spectrum(self, x, Fs=None, Fc=None, window=None, Parameters ---------- x : 1-D array or sequence - Array or sequence containing the data + Array or sequence containing the data. %(Spectral)s %(Single_Spectrum)s - scale : [ 'default' | 'linear' | 'dB' ] + scale : {'default', 'linear', 'dB'} The scaling of the values in the *spec*. 'linear' is no scaling. 'dB' returns the values in dB scale, i.e., the dB amplitude (20 * log10). 'default' is 'linear'. - Fc : integer + Fc : int The center frequency of *x* (defaults to 0), which offsets the x extents of the plot to reflect the frequency range used when a signal is acquired and then filtered and downsampled to @@ -6933,13 +6935,13 @@ def magnitude_spectrum(self, x, Fs=None, Fc=None, window=None, Returns ------- spectrum : 1-D array - The values for the magnitude spectrum before scaling (real valued) + The values for the magnitude spectrum before scaling (real valued). freqs : 1-D array - The frequencies corresponding to the elements in *spectrum* + The frequencies corresponding to the elements in *spectrum*. line : a :class:`~matplotlib.lines.Line2D` instance - The line created by this function + The line created by this function. Other Parameters ---------------- @@ -7018,13 +7020,13 @@ def angle_spectrum(self, x, Fs=None, Fc=None, window=None, Parameters ---------- x : 1-D array or sequence - Array or sequence containing the data + Array or sequence containing the data. %(Spectral)s %(Single_Spectrum)s - Fc : integer + Fc : int The center frequency of *x* (defaults to 0), which offsets the x extents of the plot to reflect the frequency range used when a signal is acquired and then filtered and downsampled to @@ -7033,13 +7035,13 @@ def angle_spectrum(self, x, Fs=None, Fc=None, window=None, Returns ------- spectrum : 1-D array - The values for the angle spectrum in radians (real valued) + The values for the angle spectrum in radians (real valued). freqs : 1-D array - The frequencies corresponding to the elements in *spectrum* + The frequencies corresponding to the elements in *spectrum*. line : a :class:`~matplotlib.lines.Line2D` instance - The line created by this function + The line created by this function. Other Parameters ---------------- @@ -7109,7 +7111,7 @@ def phase_spectrum(self, x, Fs=None, Fc=None, window=None, %(Single_Spectrum)s - Fc : integer + Fc : int The center frequency of *x* (defaults to 0), which offsets the x extents of the plot to reflect the frequency range used when a signal is acquired and then filtered and downsampled to @@ -7118,13 +7120,13 @@ def phase_spectrum(self, x, Fs=None, Fc=None, window=None, Returns ------- spectrum : 1-D array - The values for the phase spectrum in radians (real valued) + The values for the phase spectrum in radians (real valued). freqs : 1-D array - The frequencies corresponding to the elements in *spectrum* + The frequencies corresponding to the elements in *spectrum*. line : a :class:`~matplotlib.lines.Line2D` instance - The line created by this function + The line created by this function. Other Parameters ---------------- @@ -7189,11 +7191,11 @@ def cohere(self, x, y, NFFT=256, Fs=2, Fc=0, detrend=mlab.detrend_none, %(PSD)s - noverlap : integer + noverlap : int The number of points of overlap between blocks. The default value is 0 (no overlap). - Fc : integer + Fc : int The center frequency of *x* (defaults to 0), which offsets the x extents of the plot to reflect the frequency range used when a signal is acquired and then filtered and downsampled to @@ -7202,10 +7204,11 @@ def cohere(self, x, y, NFFT=256, Fs=2, Fc=0, detrend=mlab.detrend_none, Returns ------- - The return value is a tuple (*Cxy*, *f*), where *f* are the - frequencies of the coherence vector. + Cxy : 1-D array + The coherence vector. - kwargs are applied to the lines. + freqs : 1-D array + The frequencies for the elements in *Cxy*. Other Parameters ---------------- @@ -7268,18 +7271,18 @@ def specgram(self, x, NFFT=None, Fs=None, Fc=None, detrend=None, %(PSD)s - mode : [ 'default' | 'psd' | 'magnitude' | 'angle' | 'phase' ] + mode : {'default', 'psd', 'magnitude', 'angle', 'phase'} What sort of spectrum to use. Default is 'psd', which takes the power spectral density. 'complex' returns the complex-valued frequency spectrum. 'magnitude' returns the magnitude spectrum. 'angle' returns the phase spectrum without unwrapping. 'phase' returns the phase spectrum with unwrapping. - noverlap : integer + noverlap : int The number of points of overlap between blocks. The default value is 128. - scale : [ 'default' | 'linear' | 'dB' ] + scale : {'default', 'linear', 'dB'} The scaling of the values in the *spec*. 'linear' is no scaling. 'dB' returns the values in dB scale. When *mode* is 'psd', this is dB power (10 * log10). Otherwise this is dB amplitude @@ -7287,7 +7290,7 @@ def specgram(self, x, NFFT=None, Fs=None, Fc=None, detrend=None, 'magnitude' and 'linear' otherwise. This must be 'linear' if *mode* is 'angle' or 'phase'. - Fc : integer + Fc : int The center frequency of *x* (defaults to 0), which offsets the x extents of the plot to reflect the frequency range used when a signal is acquired and then filtered and downsampled to @@ -7297,7 +7300,7 @@ def specgram(self, x, NFFT=None, Fs=None, Fc=None, detrend=None, A :class:`matplotlib.colors.Colormap` instance; if *None*, use default determined by rc - xextent : [None | (xmin, xmax)] + xextent : *None* or (xmin, xmax) The image extent along the x-axis. The default sets *xmin* to the left border of the first bin (*spectrum* column) and *xmax* to the right border of the last bin. Note that for *noverlap>0* the width @@ -7305,7 +7308,7 @@ def specgram(self, x, NFFT=None, Fs=None, Fc=None, detrend=None, **kwargs : Additional kwargs are passed on to imshow which makes the - specgram image + specgram image. Returns ------- diff --git a/lib/matplotlib/mlab.py b/lib/matplotlib/mlab.py index 90124479f9ec..2e8da380a699 100644 --- a/lib/matplotlib/mlab.py +++ b/lib/matplotlib/mlab.py @@ -810,7 +810,7 @@ def _single_spectrum_helper(x, mode, Fs=None, window=None, pad_to=None, argument, it must take a data segment as an argument and return the windowed version of the segment. - sides : [ 'default' | 'onesided' | 'twosided' ] + sides : {'default', 'onesided', 'twosided'} Specifies which sides of the spectrum to return. Default gives the default behavior, which returns one-sided for real data and both for complex data. 'onesided' forces the return of a one-sided @@ -819,7 +819,7 @@ def _single_spectrum_helper(x, mode, Fs=None, window=None, pad_to=None, docstring.interpd.update(Single_Spectrum=cbook.dedent(""" - pad_to : integer + pad_to : int The number of points to which the data segment is padded when performing the FFT. While not increasing the actual resolution of the spectrum (the minimum distance between resolvable peaks), @@ -831,7 +831,7 @@ def _single_spectrum_helper(x, mode, Fs=None, window=None, pad_to=None, docstring.interpd.update(PSD=cbook.dedent(""" - pad_to : integer + pad_to : int The number of points to which the data segment is padded when performing the FFT. This can be different from *NFFT*, which specifies the number of data points used. While not increasing @@ -841,7 +841,7 @@ def _single_spectrum_helper(x, mode, Fs=None, window=None, pad_to=None, in the call to fft(). The default is None, which sets *pad_to* equal to *NFFT* - NFFT : integer + NFFT : int The number of data points used in each block for the FFT. A power 2 is most efficient. The default value is 256. This should *NOT* be used to get zero padding, or the scaling of the @@ -861,7 +861,7 @@ def _single_spectrum_helper(x, mode, Fs=None, window=None, pad_to=None, :func:`~matplotlib.pylab.detrend_linear`. 'none' calls :func:`~matplotlib.pylab.detrend_none`. - scale_by_freq : boolean, optional + scale_by_freq : bool, optional Specifies whether the resulting density values should be scaled by the scaling frequency, which gives density in units of Hz^-1. This allows for integration over the returned frequency values. From b2eba0c8b79b5973021fa8d3d5cc7bcd62f39742 Mon Sep 17 00:00:00 2001 From: Eric Firing Date: Sun, 18 Mar 2018 17:35:00 -1000 Subject: [PATCH 0382/1161] DOC: Make colorbar tutorial examples look like colorbars. - Give the colorbars a reasonable aspect ratio. - Fix a link. - Other minor edits. --- tutorials/colors/colorbar_only.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/tutorials/colors/colorbar_only.py b/tutorials/colors/colorbar_only.py index 08616d1cd202..fec31ae34ad9 100644 --- a/tutorials/colors/colorbar_only.py +++ b/tutorials/colors/colorbar_only.py @@ -10,8 +10,8 @@ :class:`~matplotlib.colorbar.ColorbarBase` derives from :mod:`~matplotlib.cm.ScalarMappable` and puts a colorbar in a specified axes, -so it has everything needed for a standalone colorbar. It can be used as is to -make a colorbar for a given colormap and does not need a mappable object like +so it has everything needed for a standalone colorbar. It can be used as-is to +make a colorbar for a given colormap; it does not need a mappable object like an image. In this tutorial we will explore what can be done with standalone colorbar. @@ -22,14 +22,15 @@ will be used. Then create the colorbar by calling :class:`~matplotlib.colorbar.ColorbarBase` and specify axis, colormap, norm and orientation as parameters. Here we create a basic continuous colorbar -with ticks and labels. More information on colorbar api can be found -`here `. +with ticks and labels. More information on the colorbar API can be found +`here `_. """ import matplotlib.pyplot as plt import matplotlib as mpl -fig, ax = plt.subplots() +fig, ax = plt.subplots(figsize=(6, 1)) +fig.subplots_adjust(bottom=0.5) cmap = mpl.cm.cool norm = mpl.colors.Normalize(vmin=5, vmax=10) @@ -62,7 +63,8 @@ # *extend*, you must specify two extra boundaries. Finally spacing argument # ensures that intervals are shown on colorbar proportionally. -fig, ax = plt.subplots() +fig, ax = plt.subplots(figsize=(6, 1)) +fig.subplots_adjust(bottom=0.5) cmap = mpl.colors.ListedColormap(['red', 'green', 'blue', 'cyan']) cmap.set_over('0.25') @@ -88,7 +90,8 @@ # colorbar with discrete intervals. To make the length of each extension same # as the length of the interior colors, use ``extendfrac='auto'``. -fig, ax = plt.subplots() +fig, ax = plt.subplots(figsize=(6, 1)) +fig.subplots_adjust(bottom=0.5) cmap = mpl.colors.ListedColormap(['royalblue', 'cyan', 'yellow', 'orange']) From 72f829581dd263f39359dcfab2bed810b0785221 Mon Sep 17 00:00:00 2001 From: Eric Firing Date: Sun, 18 Mar 2018 19:59:56 -1000 Subject: [PATCH 0383/1161] fix a typo in the text --- tutorials/colors/colorbar_only.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tutorials/colors/colorbar_only.py b/tutorials/colors/colorbar_only.py index fec31ae34ad9..3f211e42dbc0 100644 --- a/tutorials/colors/colorbar_only.py +++ b/tutorials/colors/colorbar_only.py @@ -87,8 +87,8 @@ # -------------------------------------- # # Here we illustrate the use of custom length colorbar extensions, used on a -# colorbar with discrete intervals. To make the length of each extension same -# as the length of the interior colors, use ``extendfrac='auto'``. +# colorbar with discrete intervals. To make the length of each extension the +# same as the length of the interior colors, use ``extendfrac='auto'``. fig, ax = plt.subplots(figsize=(6, 1)) fig.subplots_adjust(bottom=0.5) From 3b555d5a94a52c6dd6201803c36ec1bd8b1670f0 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Mon, 4 Dec 2017 23:32:25 -0800 Subject: [PATCH 0384/1161] Test timers and (a bit) key_press_event for interactive backends. --- .travis.yml | 10 +++++++--- lib/matplotlib/backends/backend_wx.py | 3 --- .../tests/test_backends_interactive.py | 19 +++++++++++++++++-- 3 files changed, 24 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index dca90b733a68..744821ae9dc8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -46,6 +46,7 @@ env: - secure: RgJI7BBL8aX5FTOQe7xiXqWHMxWokd6GNUWp1NUV2mRLXPb9dI0RXqZt3UJwKTAzf1z/OtlHDmEkBoTVK81E9iUxK5npwyyjhJ8yTJmwfQtQF2n51Q1Ww9p+XSLORrOzZc7kAo6Kw6FIXN1pfctgYq2bQkrwJPRx/oPR8f6hcbY= - secure: E7OCdqhZ+PlwJcn+Hd6ns9TDJgEUXiUNEI0wu7xjxB2vBRRIKtZMbuaZjd+iKDqCKuVOJKu0ClBUYxmgmpLicTwi34CfTUYt6D4uhrU+8hBBOn1iiK51cl/aBvlUUrqaRLVhukNEBGZcyqAjXSA/Qsnp2iELEmAfOUa92ZYo1sk= - secure: "dfjNqGKzQG5bu3FnDNwLG8H/C4QoieFo4PfFmZPdM2RY7WIzukwKFNT6kiDfOrpwt+2bR7FhzjOGlDECGtlGOtYPN8XuXGjhcP4a4IfakdbDfF+D3NPIpf5VlE6776k0VpvcZBTMYJKNFIMc7QPkOwjvNJ2aXyfe3hBuGlKJzQU=" + # Variables controlling Python dependencies. - CYCLER=cycler - DATEUTIL=python-dateutil - NOSE= @@ -56,12 +57,15 @@ env: - PYTEST_COV=pytest-cov - PYTEST_PEP8= - SPHINX=sphinx - - OPENBLAS_NUM_THREADS=1 + # Variables controlling the test run. + - DELETE_FONT_CACHE= + - NO_AT_BRIDGE=1 # Necessary for GTK3 interactive test. - NPROC=2 - - RUN_PEP8= + - OPENBLAS_NUM_THREADS=1 + - PYTHONFAULTHANDLER=1 - PYTEST_ARGS="-rawR --maxfail=50 --timeout=300 --durations=25 --cov-report= --cov=lib -n $NPROC" - PYTHON_ARGS= - - DELETE_FONT_CACHE= + - RUN_PEP8= matrix: include: diff --git a/lib/matplotlib/backends/backend_wx.py b/lib/matplotlib/backends/backend_wx.py index cff5048adedb..d189eb9b8cc9 100644 --- a/lib/matplotlib/backends/backend_wx.py +++ b/lib/matplotlib/backends/backend_wx.py @@ -663,9 +663,6 @@ def do_nothing(*args, **kwargs): self.macros = {} # dict from wx id to seq of macros - def Destroy(self, *args, **kwargs): - wx.Panel.Destroy(self, *args, **kwargs) - def Copy_to_Clipboard(self, event=None): "copy bitmap of canvas to system clipboard" bmp_obj = wx.BitmapDataObject() diff --git a/lib/matplotlib/tests/test_backends_interactive.py b/lib/matplotlib/tests/test_backends_interactive.py index b66fe64e99b0..0d4d41420839 100644 --- a/lib/matplotlib/tests/test_backends_interactive.py +++ b/lib/matplotlib/tests/test_backends_interactive.py @@ -34,6 +34,13 @@ def _get_testable_interactive_backends(): return backends +# 1. Using a timer not only allows testing of timers (on other backends), but +# is also necessary on gtk3 and wx, where a direct call to +# key_press_event("q") from draw_event causes breakage due to the canvas +# widget being deleted too early. +# 2. On gtk3, we cannot even test the timer setup (on Travis, which uses pgi) +# due to https://github.com/pygobject/pgi/issues/45. So we just cleanly +# exit from the draw_event. _test_script = """\ import sys from matplotlib import pyplot as plt, rcParams @@ -44,8 +51,16 @@ def _get_testable_interactive_backends(): fig = plt.figure() ax = fig.add_subplot(111) -ax.plot([1, 2], [2, 3]) -fig.canvas.mpl_connect("draw_event", lambda event: sys.exit()) +ax.plot([0, 1], [2, 3]) + +if rcParams["backend"].startswith("GTK3"): + fig.canvas.mpl_connect("draw_event", lambda event: sys.exit(0)) +else: + timer = fig.canvas.new_timer(1) + timer.add_callback(fig.canvas.key_press_event, "q") + # Trigger quitting upon draw. + fig.canvas.mpl_connect("draw_event", lambda event: timer.start()) + plt.show() """ _test_timeout = 10 # Empirically, 1s is not enough on Travis. From d0f09cdc71d7fb9d624cd8b0ab7cce4b17b32b9a Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Mon, 19 Mar 2018 01:56:33 -0700 Subject: [PATCH 0385/1161] Correctly display error when running setup.py test. We display an error if someone tries to run setup.py test (saying that one should run tests.py instead), but that doesn't get displayed if test.local_freetype is set in setup.cfg -- because the test command considers that equivalent to passing a (non-existent) local_freetype option to it, and fails first during argument parsing. As a solution, display the error in the constructor of the command instead. --- setup.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index 668bc5b0cf2f..b5ebb4a160b7 100644 --- a/setup.py +++ b/setup.py @@ -125,9 +125,9 @@ class NoopTestCommand(TestCommand): - def run(self): + def __init__(self, dist): print("Matplotlib does not support running tests with " - "'python setup.py test'. Please run 'python tests.py'") + "'python setup.py test'. Please run 'python tests.py'.") class BuildExtraLibraries(BuildExtCommand): From c081f5a9de9081dfb892e20ece2072c427059a2a Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Mon, 19 Mar 2018 02:25:51 -0700 Subject: [PATCH 0386/1161] Don't use private attribute in tk example. Fix Toolbar class rename. --- examples/user_interfaces/embedding_in_tk_sgskip.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/user_interfaces/embedding_in_tk_sgskip.py b/examples/user_interfaces/embedding_in_tk_sgskip.py index ad1877a7bf90..7d32c6a7cffb 100644 --- a/examples/user_interfaces/embedding_in_tk_sgskip.py +++ b/examples/user_interfaces/embedding_in_tk_sgskip.py @@ -8,7 +8,7 @@ import tkinter from matplotlib.backends.backend_tkagg import ( - FigureCanvasTkAgg, NavigationToolbar2TkAgg) + FigureCanvasTkAgg, NavigationToolbar2Tk) # Implement the default Matplotlib key bindings. from matplotlib.backend_bases import key_press_handler from matplotlib.figure import Figure @@ -27,9 +27,9 @@ canvas.draw() canvas.get_tk_widget().pack(side=tkinter.TOP, fill=tkinter.BOTH, expand=1) -toolbar = NavigationToolbar2TkAgg(canvas, root) +toolbar = NavigationToolbar2Tk(canvas, root) toolbar.update() -canvas._tkcanvas.pack(side=tkinter.TOP, fill=tkinter.BOTH, expand=1) +canvas.get_tk_widget().pack(side=tkinter.TOP, fill=tkinter.BOTH, expand=1) def on_key_press(event): From 0e024ff72a233ecf04a0d0527f8ef20dcba59a2a Mon Sep 17 00:00:00 2001 From: zhoubecky Date: Mon, 5 Mar 2018 12:13:48 -0500 Subject: [PATCH 0387/1161] fix #7908 --- lib/matplotlib/backend_bases.py | 13 ++++++++++--- lib/matplotlib/figure.py | 9 +++++---- lib/matplotlib/tests/test_backend_bases.py | 19 +++++++++++++++++++ 3 files changed, 34 insertions(+), 7 deletions(-) diff --git a/lib/matplotlib/backend_bases.py b/lib/matplotlib/backend_bases.py index 2fe2ad59ac42..417e313163c6 100644 --- a/lib/matplotlib/backend_bases.py +++ b/lib/matplotlib/backend_bases.py @@ -182,13 +182,20 @@ def show(cls, block=None): is ``None`` and we are neither in IPython's ``%pylab`` mode, nor in `interactive` mode. """ - if cls.mainloop is None: - return managers = Gcf.get_all_fig_managers() if not managers: return for manager in managers: - manager.show() + try: + manager.show() + except NonGuiException: + warnings.warn( + ('matplotlib is currently using %s, which is a ' + + 'non-GUI backend, so cannot show the figure.') + % get_backend()) + return + if cls.mainloop is None: + return if block is None: # Hack: Are we in IPython's pylab mode? from matplotlib import pyplot diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index b1b803fafc60..b91b98a1ceca 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -24,6 +24,7 @@ from matplotlib import rcParams from matplotlib import docstring from matplotlib import __version__ as _mpl_version +from matplotlib import get_backend import matplotlib.artist as martist from matplotlib.artist import Artist, allow_rasterization @@ -431,7 +432,7 @@ def show(self, warn=True): Parameters ---------- - warm : bool + warn : bool If ``True``, issue warning when called on a non-GUI backend Notes @@ -454,10 +455,10 @@ def show(self, warn=True): except NonGuiException: pass if warn: - import warnings warnings.warn( - "matplotlib is currently using a non-GUI backend, " - "so cannot show the figure") + ('matplotlib is currently using %s, which is a ' + + 'non-GUI backend, so cannot show the figure.') + % get_backend()) def _get_axes(self): return self._axstack.as_list() diff --git a/lib/matplotlib/tests/test_backend_bases.py b/lib/matplotlib/tests/test_backend_bases.py index 0ab7e67a7666..e50515952c44 100644 --- a/lib/matplotlib/tests/test_backend_bases.py +++ b/lib/matplotlib/tests/test_backend_bases.py @@ -9,6 +9,7 @@ import os import shutil import tempfile +import pytest def test_uses_per_path(): @@ -77,3 +78,21 @@ def test_get_default_filename_already_exists(): assert filename == 'image-1.png' finally: shutil.rmtree(test_dir) + + +@pytest.mark.backend('pdf') +def test_non_gui_warning(): + plt.subplots() + with pytest.warns(UserWarning) as rec: + plt.show() + assert len(rec) == 1 + assert 'matplotlib is currently using pdf, ' \ + 'which is a non-GUI backend' \ + in str(rec[0].message) + + with pytest.warns(UserWarning) as rec: + plt.gcf().show() + assert len(rec) == 1 + assert 'matplotlib is currently using pdf, ' \ + 'which is a non-GUI backend' \ + in str(rec[0].message) From b74c0fd5306b8bc59f38fd20148610694eddd9e1 Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Mon, 19 Mar 2018 13:29:39 -0700 Subject: [PATCH 0388/1161] FIX: add loglocator for minor colorbar --- doc/api/api_changes/2017-12-01-JMK.rst | 2 +- lib/matplotlib/colorbar.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/api/api_changes/2017-12-01-JMK.rst b/doc/api/api_changes/2017-12-01-JMK.rst index 7880c3d13cfd..a6c8c72a2fae 100644 --- a/doc/api/api_changes/2017-12-01-JMK.rst +++ b/doc/api/api_changes/2017-12-01-JMK.rst @@ -3,6 +3,6 @@ The ticks for colorbar now adjust for the size of the colorbar Colorbar ticks now adjust for the size of the colorbar if the colorbar is made from a mappable that is not a contour or -doesn't have a BoundaryNorm, or boundaries are not specified. +doesn't have a BoundaryNorm, or boundaries are not specified. If boundaries, etc are specified, the colorbar maintains the original behaviour. diff --git a/lib/matplotlib/colorbar.py b/lib/matplotlib/colorbar.py index 5a5ebad4acb2..d3c7da7c7ba7 100644 --- a/lib/matplotlib/colorbar.py +++ b/lib/matplotlib/colorbar.py @@ -232,8 +232,6 @@ class _ColorbarAutoLocator(ticker.MaxNLocator): def __init__(self, colorbar): """ - _ColorbarAutoLocator(colorbar) - This ticker needs to know the *colorbar* so that it can access its *vmin* and *vmax*. Otherwise it is the same as `~.ticker.AutoLocator`. @@ -515,7 +513,9 @@ def update_ticks(self): if type(self.norm) == colors.LogNorm: long_axis.set_minor_locator(_ColorbarLogLocator(self, base=10., subs='auto')) - long_axis.set_minor_formatter(ticker.NullFormatter()) + long_axis.set_minor_formatter( + ticker.LogFormatter() + ) else: _log.debug('Using fixed locator on colorbar') ticks, ticklabels, offset_string = self._ticker(locator, formatter) From 42ee3ac541b6699d233873f84bf5f96d7846cb01 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Mon, 19 Mar 2018 23:57:52 -0700 Subject: [PATCH 0389/1161] Py3fy axis.py. --- lib/matplotlib/axis.py | 104 ++++++++++++++++++----------------------- 1 file changed, 46 insertions(+), 58 deletions(-) diff --git a/lib/matplotlib/axis.py b/lib/matplotlib/axis.py index 406ae8675200..b3a7ffcc3ca3 100644 --- a/lib/matplotlib/axis.py +++ b/lib/matplotlib/axis.py @@ -1,12 +1,12 @@ """ Classes for the ticks and x and y axis """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six +import datetime import logging +import warnings + +import numpy as np from matplotlib import rcParams import matplotlib.artist as artist @@ -21,8 +21,6 @@ import matplotlib.ticker as mticker import matplotlib.transforms as mtransforms import matplotlib.units as munits -import numpy as np -import warnings _log = logging.getLogger(__name__) @@ -190,7 +188,7 @@ def __init__(self, axes, loc, label, self.update_position(loc) def _set_labelrotation(self, labelrotation): - if isinstance(labelrotation, six.string_types): + if isinstance(labelrotation, str): mode = labelrotation angle = 0 elif isinstance(labelrotation, (tuple, list)): @@ -236,7 +234,7 @@ def set_clip_path(self, clippath, transform=None): set_clip_path.__doc__ = artist.Artist.set_clip_path.__doc__ def get_pad_pixels(self): - return self.figure.dpi * self._base_pad / 72.0 + return self.figure.dpi * self._base_pad / 72 def contains(self, mouseevent): """ @@ -360,39 +358,33 @@ def _apply_params(self, **kw): self.label1.set_transform(trans) trans = self._get_text2_transform()[0] self.label2.set_transform(trans) - tick_kw = {k: v for k, v in six.iteritems(kw) - if k in ['color', 'zorder']} - if tick_kw: - self.tick1line.set(**tick_kw) - self.tick2line.set(**tick_kw) - for k, v in six.iteritems(tick_kw): - setattr(self, '_' + k, v) + tick_kw = {k: v for k, v in kw.items() if k in ['color', 'zorder']} + self.tick1line.set(**tick_kw) + self.tick2line.set(**tick_kw) + for k, v in tick_kw.items(): + setattr(self, '_' + k, v) if 'labelrotation' in kw: self._set_labelrotation(kw.pop('labelrotation')) self.label1.set(rotation=self._labelrotation[1]) self.label2.set(rotation=self._labelrotation[1]) - label_list = [k for k in six.iteritems(kw) - if k[0] in ['labelsize', 'labelcolor']] - if label_list: - label_kw = {k[5:]: v for k, v in label_list} - self.label1.set(**label_kw) - self.label2.set(**label_kw) - for k, v in six.iteritems(label_kw): - # for labelsize the text objects covert str ('small') - # -> points. grab the integer from the `Text` object - # instead of saving the string representation - v = getattr(self.label1, 'get_' + k)() - setattr(self, '_label' + k, v) - - grid_list = [k for k in six.iteritems(kw) - if k[0] in _gridline_param_names] - if grid_list: - grid_kw = {k[5:]: v for k, v in grid_list} - self.gridline.set(**grid_kw) - for k, v in six.iteritems(grid_kw): - setattr(self, '_grid_' + k, v) + label_kw = {k[5:]: v for k, v in kw.items() + if k in ['labelsize', 'labelcolor']} + self.label1.set(**label_kw) + self.label2.set(**label_kw) + for k, v in label_kw.items(): + # for labelsize the text objects covert str ('small') + # -> points. grab the integer from the `Text` object + # instead of saving the string representation + v = getattr(self.label1, 'get_' + k)() + setattr(self, '_label' + k, v) + + grid_kw = {k[5:]: v for k, v in kw.items() + if k in _gridline_param_names} + self.gridline.set(**grid_kw) + for k, v in grid_kw.items(): + setattr(self, '_grid_' + k, v) def update_position(self, loc): 'Set the location of tick in data coords with scalar *loc*' @@ -1174,9 +1166,7 @@ def get_tick_padding(self): values.append(self.majorTicks[0].get_tick_padding()) if len(self.minorTicks): values.append(self.minorTicks[0].get_tick_padding()) - if len(values): - return max(values) - return 0.0 + return max(values, default=0) @allow_rasterization def draw(self, renderer, *args, **kwargs): @@ -1737,12 +1727,10 @@ def axis_date(self, tz=None): *tz* is a :class:`tzinfo` instance or a timezone string. This timezone is used to create date labels. """ - # By providing a sample datetime instance with the desired - # timezone, the registered converter can be selected, - # and the "units" attribute, which is the timezone, can - # be set. - import datetime - if isinstance(tz, six.string_types): + # By providing a sample datetime instance with the desired timezone, + # the registered converter can be selected, and the "units" attribute, + # which is the timezone, can be set. + if isinstance(tz, str): import pytz tz = pytz.timezone(tz) self.update_units(datetime.datetime(2009, 1, 1, 0, 0, 0, 0, tz)) @@ -1790,9 +1778,9 @@ def contains(self, mouseevent): return False, {} l, b = self.axes.transAxes.transform_point((0, 0)) r, t = self.axes.transAxes.transform_point((1, 1)) - inaxis = xaxes >= 0 and xaxes <= 1 and ( - (y < b and y > b - self.pickradius) or - (y > t and y < t + self.pickradius)) + inaxis = 0 <= xaxes <= 1 and ( + b - self.pickradius < y < b or + t < y < t + self.pickradius) return inaxis, {} def _get_tick(self, major): @@ -1929,7 +1917,7 @@ def _update_label_position(self, renderer): bottom = bbox.y0 self.label.set_position( - (x, bottom - self.labelpad * self.figure.dpi / 72.0) + (x, bottom - self.labelpad * self.figure.dpi / 72) ) else: @@ -1944,7 +1932,7 @@ def _update_label_position(self, renderer): top = bbox.y1 self.label.set_position( - (x, top + self.labelpad * self.figure.dpi / 72.0) + (x, top + self.labelpad * self.figure.dpi / 72) ) def _update_offset_text_position(self, bboxes, bboxes2): @@ -1959,7 +1947,7 @@ def _update_offset_text_position(self, bboxes, bboxes2): bbox = mtransforms.Bbox.union(bboxes) bottom = bbox.y0 self.offsetText.set_position( - (x, bottom - self.OFFSETTEXTPAD * self.figure.dpi / 72.0) + (x, bottom - self.OFFSETTEXTPAD * self.figure.dpi / 72) ) def get_text_heights(self, renderer): @@ -2131,7 +2119,7 @@ def set_default_intervals(self): def get_tick_space(self): ends = self.axes.transAxes.transform([[0, 0], [1, 0]]) - length = ((ends[1][0] - ends[0][0]) / self.axes.figure.dpi) * 72.0 + length = ((ends[1][0] - ends[0][0]) / self.axes.figure.dpi) * 72 tick = self._get_tick(True) # There is a heuristic here that the aspect ratio of tick text # is no more than 3:1 @@ -2162,9 +2150,9 @@ def contains(self, mouseevent): return False, {} l, b = self.axes.transAxes.transform_point((0, 0)) r, t = self.axes.transAxes.transform_point((1, 1)) - inaxis = yaxes >= 0 and yaxes <= 1 and ( - (x < l and x > l - self.pickradius) or - (x > r and x < r + self.pickradius)) + inaxis = 0 <= yaxes <= 1 and ( + l - self.pickradius < x < l or + r < x < r + self.pickradius) return inaxis, {} def _get_tick(self, major): @@ -2297,7 +2285,7 @@ def _update_label_position(self, renderer): bbox = mtransforms.Bbox.union(bboxes + [spinebbox]) left = bbox.x0 self.label.set_position( - (left - self.labelpad * self.figure.dpi / 72.0, y) + (left - self.labelpad * self.figure.dpi / 72, y) ) else: @@ -2312,7 +2300,7 @@ def _update_label_position(self, renderer): right = bbox.x1 self.label.set_position( - (right + self.labelpad * self.figure.dpi / 72.0, y) + (right + self.labelpad * self.figure.dpi / 72, y) ) def _update_offset_text_position(self, bboxes, bboxes2): @@ -2323,7 +2311,7 @@ def _update_offset_text_position(self, bboxes, bboxes2): x, y = self.offsetText.get_position() top = self.axes.bbox.ymax self.offsetText.set_position( - (x, top + self.OFFSETTEXTPAD * self.figure.dpi / 72.0) + (x, top + self.OFFSETTEXTPAD * self.figure.dpi / 72) ) def set_offset_position(self, position): @@ -2510,7 +2498,7 @@ def set_default_intervals(self): def get_tick_space(self): ends = self.axes.transAxes.transform([[0, 0], [0, 1]]) - length = ((ends[1][1] - ends[0][1]) / self.axes.figure.dpi) * 72.0 + length = ((ends[1][1] - ends[0][1]) / self.axes.figure.dpi) * 72 tick = self._get_tick(True) # Having a spacing of at least 2 just looks good. size = tick.label1.get_size() * 2.0 From 9091c8dfcf312944c3219a0e3e114f5fd21add3c Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Mon, 19 Mar 2018 23:58:15 -0700 Subject: [PATCH 0390/1161] Unsixify trivial modules. --- doc/conf.py | 17 ++----- lib/matplotlib/__init__.py | 48 +++++++++---------- lib/matplotlib/_color_data.py | 3 -- lib/matplotlib/_layoutbox.py | 1 - lib/matplotlib/_mathtext_data.py | 6 +-- lib/matplotlib/_pylab_helpers.py | 6 +-- lib/matplotlib/afm.py | 11 ++--- lib/matplotlib/animation.py | 14 +++--- lib/matplotlib/axes/_base.py | 32 ++++++------- lib/matplotlib/axes/_subplots.py | 13 ++--- lib/matplotlib/backend_managers.py | 7 +-- lib/matplotlib/backend_tools.py | 12 ++--- lib/matplotlib/backends/__init__.py | 10 ++-- lib/matplotlib/backends/backend_mixed.py | 5 -- lib/matplotlib/backends/backend_pdf.py | 2 - lib/matplotlib/backends/backend_template.py | 5 -- .../backends/qt_editor/figureoptions.py | 15 ++---- .../backends/qt_editor/formlayout.py | 17 ++----- lib/matplotlib/backends/tkagg.py | 6 +-- lib/matplotlib/backends/windowing.py | 4 -- lib/matplotlib/bezier.py | 10 +--- lib/matplotlib/cm.py | 11 ++--- lib/matplotlib/collections.py | 25 ++++------ lib/matplotlib/colorbar.py | 9 +--- lib/matplotlib/colors.py | 28 ++++------- lib/matplotlib/container.py | 4 +- lib/matplotlib/contour.py | 14 +++--- lib/matplotlib/docstring.py | 10 +--- lib/matplotlib/figure.py | 7 +-- lib/matplotlib/fontconfig_pattern.py | 9 +--- lib/matplotlib/gridspec.py | 12 +---- lib/matplotlib/hatch.py | 5 -- lib/matplotlib/image.py | 18 ++++--- lib/matplotlib/legend.py | 9 +--- lib/matplotlib/legend_handler.py | 4 -- lib/matplotlib/markers.py | 16 ++----- lib/matplotlib/offsetbox.py | 10 ++-- lib/matplotlib/path.py | 8 +--- lib/matplotlib/patheffects.py | 7 +-- lib/matplotlib/projections/__init__.py | 7 +-- lib/matplotlib/projections/geo.py | 5 -- lib/matplotlib/projections/polar.py | 5 -- lib/matplotlib/quiver.py | 8 +--- lib/matplotlib/sankey.py | 5 +- lib/matplotlib/scale.py | 5 -- lib/matplotlib/sphinxext/mathmpl.py | 5 -- lib/matplotlib/sphinxext/only_directives.py | 5 -- lib/matplotlib/spines.py | 16 ++----- lib/matplotlib/streamplot.py | 5 +- lib/matplotlib/style/core.py | 22 +++------ lib/matplotlib/testing/__init__.py | 9 +--- lib/matplotlib/testing/compare.py | 3 -- lib/matplotlib/testing/decorators.py | 18 +++---- lib/matplotlib/testing/disable_internet.py | 6 +-- lib/matplotlib/tests/test_category.py | 1 - lib/matplotlib/texmanager.py | 5 +- lib/matplotlib/textpath.py | 15 ++---- lib/matplotlib/tight_bbox.py | 5 -- lib/matplotlib/transforms.py | 40 ++++++---------- lib/matplotlib/tri/__init__.py | 4 -- lib/matplotlib/tri/triangulation.py | 6 +-- lib/matplotlib/tri/tricontour.py | 6 +-- lib/matplotlib/tri/trifinder.py | 6 +-- lib/matplotlib/tri/triinterpolate.py | 8 ++-- lib/matplotlib/tri/tripcolor.py | 6 +-- lib/matplotlib/tri/triplot.py | 5 -- lib/matplotlib/tri/trirefine.py | 4 -- lib/matplotlib/tri/tritools.py | 5 +- lib/matplotlib/units.py | 5 -- 69 files changed, 186 insertions(+), 509 deletions(-) diff --git a/doc/conf.py b/doc/conf.py index 0e0dd7aa3a46..d011a25fc6ea 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- -# # Matplotlib documentation build configuration file, created by # sphinx-quickstart on Fri May 2 12:33:25 2008. # @@ -11,12 +9,13 @@ # All configuration values have a default value; values that are commented out # serve to show the default value. -import matplotlib +from glob import glob import os +import shutil import sys + +import matplotlib import sphinx -import six -from glob import glob # If your extensions are in another directory, add it here. If the directory # is relative to the documentation root, use os.path.abspath to make it @@ -74,13 +73,7 @@ def _check_deps(): # Import only after checking for dependencies. from sphinx_gallery.sorting import ExplicitOrder -if six.PY2: - from distutils.spawn import find_executable - has_dot = find_executable('dot') is not None -else: - from shutil import which # Python >= 3.3 - has_dot = which('dot') is not None -if not has_dot: +if shutil.which('dot') is None: raise OSError( "No binary named dot - you need to install the Graph Visualization " "software (usually packaged as 'graphviz') to build the documentation") diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 24a09af4cf31..256a42fffeb3 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -124,6 +124,7 @@ import distutils.sysconfig import functools import io +import importlib import inspect from inspect import Parameter import itertools @@ -136,6 +137,7 @@ import stat import subprocess import tempfile +import urllib.request import warnings # cbook must import matplotlib only within function @@ -146,8 +148,6 @@ from matplotlib.rcsetup import defaultParams, validate_backend, cycler import numpy -from six.moves.urllib.request import urlopen -from six.moves import reload_module as reload # Get the version from the _version.py versioneer file. For a git checkout, # this is computed based on the number of commits since the last tag. @@ -562,10 +562,7 @@ def _get_home(): :see: http://mail.python.org/pipermail/python-list/2005-February/325395.html """ - if six.PY2 and sys.platform == 'win32': - path = os.path.expanduser(b"~").decode(sys.getfilesystemencoding()) - else: - path = os.path.expanduser("~") + path = os.path.expanduser("~") if os.path.isdir(path): return path for evar in ('HOME', 'USERPROFILE', 'TMP'): @@ -789,7 +786,7 @@ def matplotlib_fname(): """ def gen_candidates(): - yield os.path.join(six.moves.getcwd(), 'matplotlibrc') + yield os.path.join(os.getcwd(), 'matplotlibrc') try: matplotlibrc = os.environ['MATPLOTLIBRC'] except KeyError: @@ -838,9 +835,9 @@ class RcParams(MutableMapping, dict): :mod:`matplotlib.rcsetup` """ - validate = dict((key, converter) for key, (default, converter) in - six.iteritems(defaultParams) - if key not in _all_deprecated) + validate = {key: converter + for key, (default, converter) in defaultParams.items() + if key not in _all_deprecated} msg_depr = "%s is deprecated and replaced with %s; please use the latter." msg_depr_set = ("%s is deprecated. Please remove it from your " "matplotlibrc and/or style files.") @@ -958,7 +955,7 @@ def rc_params(fail_on_error=False): # this should never happen, default in mpl-data should always be found message = 'could not find rc file; returning defaults' ret = RcParams([(key, default) for key, (default, _) in - six.iteritems(defaultParams) + defaultParams.items() if key not in _all_deprecated]) warnings.warn(message) return ret @@ -977,7 +974,7 @@ def is_url(filename): @contextlib.contextmanager def _open_file_or_url(fname): if is_url(fname): - with urlopen(fname) as f: + with urllib.request.urlopen(fname) as f: yield (line.decode('utf-8') for line in f) else: fname = os.path.expanduser(fname) @@ -1041,7 +1038,7 @@ def _rc_params_in_file(fname, fail_on_error=False): warnings.warn('Bad val "%s" on %s\n\t%s' % (val, error_details, msg)) - for key, (val, line, cnt) in six.iteritems(rc_temp): + for key, (val, line, cnt) in rc_temp.items(): if key in defaultParams: if fail_on_error: config[key] = val # try to convert to proper type or raise @@ -1088,7 +1085,7 @@ def rc_params_from_file(fname, fail_on_error=False, use_default_template=True): if not use_default_template: return config_from_file - iter_params = six.iteritems(defaultParams) + iter_params = defaultParams.items() with warnings.catch_warnings(): warnings.simplefilter("ignore", mplDeprecation) config = RcParams([(key, default) for key, (default, _) in iter_params @@ -1133,7 +1130,7 @@ def rc_params_from_file(fname, fail_on_error=False, use_default_template=True): with warnings.catch_warnings(): warnings.simplefilter("ignore", mplDeprecation) rcParamsDefault = RcParams([(key, default) for key, (default, converter) in - six.iteritems(defaultParams) + defaultParams.items() if key not in _all_deprecated]) rcParams['ps.usedistiller'] = checkdep_ps_distiller( @@ -1205,10 +1202,10 @@ def rc(group, **kwargs): 'aa': 'antialiased', } - if isinstance(group, six.string_types): + if isinstance(group, str): group = (group,) for g in group: - for k, v in six.iteritems(kwargs): + for k, v in kwargs.items(): name = aliases.get(k) or k key = '%s.%s' % (g, name) try: @@ -1359,7 +1356,7 @@ def use(arg, warn=True, force=False): # If needed we reload here because a lot of setup code is triggered on # module import. See backends/__init__.py for more detail. if need_reload: - reload(sys.modules['matplotlib.backends']) + importlib.reload(sys.modules['matplotlib.backends']) try: @@ -1501,8 +1498,8 @@ def _replacer(data, key): converts input data to a sequence as needed. """ # if key isn't a string don't bother - if not isinstance(key, six.string_types): - return (key) + if not isinstance(key, str): + return key # try to use __getitem__ try: return sanitize_sequence(data[key]) @@ -1726,7 +1723,7 @@ def inner(ax, *args, **kwargs): else: label = kwargs.get(label_namer, None) # ensure a string, as label can't be anything else - if not isinstance(label, six.string_types): + if not isinstance(label, str): label = None if (replace_names is None) or (replace_all_args is True): @@ -1745,13 +1742,12 @@ def inner(ax, *args, **kwargs): if replace_names is None: # replace all kwargs ... - kwargs = dict((k, _replacer(data, v)) - for k, v in six.iteritems(kwargs)) + kwargs = {k: _replacer(data, v) for k, v in kwargs.items()} else: # ... or only if a kwarg of that name is in replace_names - kwargs = dict((k, _replacer(data, v) - if k in replace_names else v) - for k, v in six.iteritems(kwargs)) + kwargs = { + k: _replacer(data, v) if k in replace_names else v + for k, v in kwargs.items()} # replace the label if this func "wants" a label arg and the user # didn't set one. Note: if the user puts in "label=None", it does diff --git a/lib/matplotlib/_color_data.py b/lib/matplotlib/_color_data.py index 774e251d72bd..973f4a2f2435 100644 --- a/lib/matplotlib/_color_data.py +++ b/lib/matplotlib/_color_data.py @@ -1,7 +1,4 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) from collections import OrderedDict -import six BASE_COLORS = { diff --git a/lib/matplotlib/_layoutbox.py b/lib/matplotlib/_layoutbox.py index ad7c199de092..d6d529f3db0c 100644 --- a/lib/matplotlib/_layoutbox.py +++ b/lib/matplotlib/_layoutbox.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- """ Conventions: diff --git a/lib/matplotlib/_mathtext_data.py b/lib/matplotlib/_mathtext_data.py index d042d25892d6..269cc68e8388 100644 --- a/lib/matplotlib/_mathtext_data.py +++ b/lib/matplotlib/_mathtext_data.py @@ -1,10 +1,6 @@ """ font data tables for truetype and afm computer modern fonts """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six latex_to_bakoma = { '\\__sqrt__' : ('cmex10', 0x70), @@ -1752,7 +1748,7 @@ 'uni044B' : 1099 } -uni2type1 = dict(((v,k) for k,v in six.iteritems(type12uni))) +uni2type1 = {v: k for k, v in type12uni.items()} tex2uni = { 'widehat' : 0x0302, diff --git a/lib/matplotlib/_pylab_helpers.py b/lib/matplotlib/_pylab_helpers.py index a1d37f21e202..ee1854ccef5c 100644 --- a/lib/matplotlib/_pylab_helpers.py +++ b/lib/matplotlib/_pylab_helpers.py @@ -1,10 +1,6 @@ """ Manage figures for pyplot interface. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six import atexit import gc @@ -63,7 +59,7 @@ def destroy(cls, num): @classmethod def destroy_fig(cls, fig): "*fig* is a Figure instance" - num = next((manager.num for manager in six.itervalues(cls.figs) + num = next((manager.num for manager in cls.figs.values() if manager.canvas.figure == fig), None) if num is not None: cls.destroy(num) diff --git a/lib/matplotlib/afm.py b/lib/matplotlib/afm.py index 103bae790fe1..cfdcd55273e3 100644 --- a/lib/matplotlib/afm.py +++ b/lib/matplotlib/afm.py @@ -34,14 +34,9 @@ """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six -from six.moves import map - -import sys import re +import sys + from ._mathtext_data import uni2type1 # Convert string the a python type @@ -394,7 +389,7 @@ def get_str_bbox_and_descent(self, s): miny = 1e9 maxy = 0 left = 0 - if not isinstance(s, six.text_type): + if not isinstance(s, str): s = _to_str(s) for c in s: if c == '\n': diff --git a/lib/matplotlib/animation.py b/lib/matplotlib/animation.py index 6083816851ea..55b7ce51a6a6 100644 --- a/lib/matplotlib/animation.py +++ b/lib/matplotlib/animation.py @@ -16,8 +16,6 @@ # * Can blit be enabled for movies? # * Need to consider event sources to allow clicking through multiple figures -import six - import abc import base64 import contextlib @@ -168,7 +166,7 @@ def __getitem__(self, name): writers = MovieWriterRegistry() -class AbstractMovieWriter(six.with_metaclass(abc.ABCMeta)): +class AbstractMovieWriter(abc.ABC): ''' Abstract base class for writing movies. Fundamentally, what a MovieWriter does is provide is a way to grab frames by calling grab_frame(). @@ -629,7 +627,7 @@ def output_args(self): args.extend(['-b', '%dk' % self.bitrate]) if self.extra_args: args.extend(self.extra_args) - for k, v in six.iteritems(self.metadata): + for k, v in self.metadata.items(): args.extend(['-metadata', '%s=%s' % (k, v)]) return args + ['-y', self.outfile] @@ -1096,9 +1094,9 @@ class to use, such as 'ffmpeg'. If ``None``, defaults to # to use if writer is None: writer = rcParams['animation.writer'] - elif (not isinstance(writer, six.string_types) and - any(arg is not None - for arg in (fps, codec, bitrate, extra_args, metadata))): + elif (not isinstance(writer, str) and + any(arg is not None + for arg in (fps, codec, bitrate, extra_args, metadata))): raise RuntimeError('Passing in values for arguments ' 'fps, codec, bitrate, extra_args, or metadata ' 'is not supported when writer is an existing ' @@ -1141,7 +1139,7 @@ class to use, such as 'ffmpeg'. If ``None``, defaults to # If we have the name of a writer, instantiate an instance of the # registered class. - if isinstance(writer, six.string_types): + if isinstance(writer, str): if writer in writers.avail: writer = writers[writer](fps, codec, bitrate, extra_args=extra_args, diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index cfaa7e226b1d..902a082388c3 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -1,12 +1,9 @@ from collections import OrderedDict - -import six - import itertools -import warnings import math from operator import attrgetter import types +import warnings import numpy as np @@ -308,7 +305,7 @@ def _makefill(self, x, y, kw, kwargs): ignores = {'marker', 'markersize', 'markeredgecolor', 'markerfacecolor', 'markeredgewidth'} # Also ignore anything provided by *kwargs*. - for k, v in six.iteritems(kwargs): + for k, v in kwargs.items(): if v is not None: ignores.add(k) @@ -343,7 +340,7 @@ def _makefill(self, x, y, kw, kwargs): def _plot_args(self, tup, kwargs): ret = [] - if len(tup) > 1 and isinstance(tup[-1], six.string_types): + if len(tup) > 1 and isinstance(tup[-1], str): linestyle, marker, color = _process_plot_format(tup[-1]) tup = tup[:-1] elif len(tup) == 3: @@ -392,7 +389,7 @@ def _plot_args(self, tup, kwargs): def _grab_next_args(self, *args, **kwargs): while args: this, args = args[:2], args[2:] - if args and isinstance(args[0], six.string_types): + if args and isinstance(args[0], str): this += args[0], args = args[1:] yield from self._plot_args(this, kwargs) @@ -716,7 +713,7 @@ def get_xaxis_text1_transform(self, pad_points): labels_align = matplotlib.rcParams["xtick.alignment"] return (self.get_xaxis_transform(which='tick1') + - mtransforms.ScaledTranslation(0, -1 * pad_points / 72.0, + mtransforms.ScaledTranslation(0, -1 * pad_points / 72, self.figure.dpi_scale_trans), "top", labels_align) @@ -743,7 +740,7 @@ def get_xaxis_text2_transform(self, pad_points): """ labels_align = matplotlib.rcParams["xtick.alignment"] return (self.get_xaxis_transform(which='tick2') + - mtransforms.ScaledTranslation(0, pad_points / 72.0, + mtransforms.ScaledTranslation(0, pad_points / 72, self.figure.dpi_scale_trans), "bottom", labels_align) @@ -795,7 +792,7 @@ def get_yaxis_text1_transform(self, pad_points): """ labels_align = matplotlib.rcParams["ytick.alignment"] return (self.get_yaxis_transform(which='tick1') + - mtransforms.ScaledTranslation(-1 * pad_points / 72.0, 0, + mtransforms.ScaledTranslation(-1 * pad_points / 72, 0, self.figure.dpi_scale_trans), labels_align, "right") @@ -823,7 +820,7 @@ def get_yaxis_text2_transform(self, pad_points): labels_align = matplotlib.rcParams["ytick.alignment"] return (self.get_yaxis_transform(which='tick2') + - mtransforms.ScaledTranslation(pad_points / 72.0, 0, + mtransforms.ScaledTranslation(pad_points / 72, 0, self.figure.dpi_scale_trans), labels_align, "left") @@ -991,7 +988,7 @@ def cla(self): self.xaxis.cla() self.yaxis.cla() - for name, spine in six.iteritems(self.spines): + for name, spine in self.spines.items(): spine.cla() self.ignore_existing_data_limits = True @@ -1144,7 +1141,7 @@ def _set_title_offset_trans(self, title_offset_points): or from set_title kwarg ``pad``. """ self.titleOffsetTrans = mtransforms.ScaledTranslation( - 0.0, title_offset_points / 72.0, + 0.0, title_offset_points / 72, self.figure.dpi_scale_trans) for _title in (self.title, self._left_title, self._right_title): _title.set_transform(self.transAxes + self.titleOffsetTrans) @@ -1315,8 +1312,7 @@ def set_aspect(self, aspect, adjustable=None, anchor=None, share=False): matplotlib.axes.Axes.set_anchor defining the position in case of extra space. """ - if not (isinstance(aspect, six.string_types) - and aspect in ('equal', 'auto')): + if not (isinstance(aspect, str) and aspect in ('equal', 'auto')): aspect = float(aspect) # raise ValueError if necessary if share: axes = set(self._shared_x_axes.get_siblings(self) @@ -1688,7 +1684,7 @@ def axis(self, *v, **kwargs): emit = kwargs.get('emit', True) - if len(v) == 1 and isinstance(v[0], six.string_types): + if len(v) == 1 and isinstance(v[0], str): s = v[0].lower() if s == 'on': self.set_axis_on() @@ -2528,7 +2524,7 @@ def draw(self, renderer=None, inframe=False): # frame in the foreground. Do this before drawing the axis # objects so that the spine has the opportunity to update them. if not (self.axison and self._frameon): - for spine in six.itervalues(self.spines): + for spine in self.spines.values(): artists.remove(spine) if self.axison and not inframe: @@ -4031,7 +4027,7 @@ def get_children(self): children.extend(self.lines) children.extend(self.texts) children.extend(self.artists) - children.extend(six.itervalues(self.spines)) + children.extend(self.spines.values()) children.append(self.xaxis) children.append(self.yaxis) children.append(self.title) diff --git a/lib/matplotlib/axes/_subplots.py b/lib/matplotlib/axes/_subplots.py index 4c93ed996a16..c8e62cc8a79a 100644 --- a/lib/matplotlib/axes/_subplots.py +++ b/lib/matplotlib/axes/_subplots.py @@ -1,18 +1,11 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six -from six.moves import map +import warnings -from matplotlib.gridspec import GridSpec, SubplotSpec from matplotlib import docstring import matplotlib.artist as martist from matplotlib.axes._axes import Axes - -import matplotlib._layoutbox as layoutbox - -import warnings from matplotlib.cbook import mplDeprecation +from matplotlib.gridspec import GridSpec, SubplotSpec +import matplotlib._layoutbox as layoutbox class SubplotBase(object): diff --git a/lib/matplotlib/backend_managers.py b/lib/matplotlib/backend_managers.py index ab9a503fab88..57c3e7710cbe 100644 --- a/lib/matplotlib/backend_managers.py +++ b/lib/matplotlib/backend_managers.py @@ -4,9 +4,6 @@ toolbar clicks, ..) and the actions in response to the user inputs. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) -import six import warnings import matplotlib.cbook as cbook @@ -179,7 +176,7 @@ def get_tool_keymap(self, name): list : list of keys associated with the Tool """ - keys = [k for k, i in six.iteritems(self._keys) if i == name] + keys = [k for k, i in self._keys.items() if i == name] return keys def _remove_keys(self, name): @@ -342,7 +339,7 @@ def _handle_toggle(self, tool, sender, canvasevent, data): def _get_cls_to_instantiate(self, callback_class): # Find the class that corresponds to the tool - if isinstance(callback_class, six.string_types): + if isinstance(callback_class, str): # FIXME: make more complete searching structure if callback_class in globals(): callback_class = globals()[callback_class] diff --git a/lib/matplotlib/backend_tools.py b/lib/matplotlib/backend_tools.py index 6639763e417d..3fcb3cb5c6a1 100644 --- a/lib/matplotlib/backend_tools.py +++ b/lib/matplotlib/backend_tools.py @@ -11,15 +11,15 @@ `matplotlib.backend_managers.ToolManager` """ +import time +import warnings +from weakref import WeakKeyDictionary + +import numpy as np from matplotlib import rcParams from matplotlib._pylab_helpers import Gcf import matplotlib.cbook as cbook -from weakref import WeakKeyDictionary -import six -import time -import warnings -import numpy as np class Cursors(object): @@ -1057,7 +1057,7 @@ def add_tools_to_manager(toolmanager, tools=default_tools): info. """ - for name, tool in six.iteritems(tools): + for name, tool in tools.items(): toolmanager.add_tool(name, tool) diff --git a/lib/matplotlib/backends/__init__.py b/lib/matplotlib/backends/__init__.py index ac7b6301e3e7..d896bc2cd50e 100644 --- a/lib/matplotlib/backends/__init__.py +++ b/lib/matplotlib/backends/__init__.py @@ -1,13 +1,9 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - -import matplotlib import inspect +import logging import traceback import warnings -import logging + +import matplotlib _log = logging.getLogger(__name__) diff --git a/lib/matplotlib/backends/backend_mixed.py b/lib/matplotlib/backends/backend_mixed.py index 8e475bd13c95..7bfc51bceb2e 100644 --- a/lib/matplotlib/backends/backend_mixed.py +++ b/lib/matplotlib/backends/backend_mixed.py @@ -1,10 +1,5 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import numpy as np -import six - from matplotlib.backends.backend_agg import RendererAgg from matplotlib.tight_bbox import process_figure_for_rasterizing diff --git a/lib/matplotlib/backends/backend_pdf.py b/lib/matplotlib/backends/backend_pdf.py index 16eb46567217..ca0e797411f7 100644 --- a/lib/matplotlib/backends/backend_pdf.py +++ b/lib/matplotlib/backends/backend_pdf.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """ A PDF matplotlib backend Author: Jouni K Seppänen diff --git a/lib/matplotlib/backends/backend_template.py b/lib/matplotlib/backends/backend_template.py index 524ca73285c6..af5637efc37f 100644 --- a/lib/matplotlib/backends/backend_template.py +++ b/lib/matplotlib/backends/backend_template.py @@ -62,11 +62,6 @@ """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - from matplotlib._pylab_helpers import Gcf from matplotlib.backend_bases import ( FigureCanvasBase, FigureManagerBase, GraphicsContextBase, RendererBase) diff --git a/lib/matplotlib/backends/qt_editor/figureoptions.py b/lib/matplotlib/backends/qt_editor/figureoptions.py index 40572c8bd827..219d270b45cb 100644 --- a/lib/matplotlib/backends/qt_editor/figureoptions.py +++ b/lib/matplotlib/backends/qt_editor/figureoptions.py @@ -1,18 +1,11 @@ -# -*- coding: utf-8 -*- -# # Copyright © 2009 Pierre Raybaut # Licensed under the terms of the MIT License # see the mpl licenses directory for a copy of the license -"""Module that provides a GUI-based editor for matplotlib's figure options""" +"""Module that provides a GUI-based editor for matplotlib's figure options.""" -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - -import os.path as osp +import os.path import re import matplotlib @@ -22,8 +15,8 @@ def get_icon(name): - basedir = osp.join(matplotlib.rcParams['datapath'], 'images') - return QtGui.QIcon(osp.join(basedir, name)) + basedir = os.path.join(matplotlib.rcParams['datapath'], 'images') + return QtGui.QIcon(os.path.join(basedir, name)) LINESTYLES = {'-': 'Solid', diff --git a/lib/matplotlib/backends/qt_editor/formlayout.py b/lib/matplotlib/backends/qt_editor/formlayout.py index bea8cf8a0f62..7accb0f372d8 100644 --- a/lib/matplotlib/backends/qt_editor/formlayout.py +++ b/lib/matplotlib/backends/qt_editor/formlayout.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- """ formlayout ========== @@ -38,9 +37,6 @@ # 1.0.7: added support for "Apply" button # 1.0.6: code cleaning -from __future__ import (absolute_import, division, print_function, - unicode_literals) - __version__ = '1.0.10' __license__ = __doc__ @@ -48,8 +44,6 @@ import datetime import warnings -import six - from matplotlib import colors as mcolors from matplotlib.backends.qt_compat import QtGui, QtWidgets, QtCore @@ -133,7 +127,7 @@ def text(self): def font_is_installed(font): """Check if font is installed""" return [fam for fam in QtGui.QFontDatabase().families() - if six.text_type(fam) == font] + if str(fam) == font] def tuple_to_qfont(tup): @@ -157,7 +151,7 @@ def tuple_to_qfont(tup): def qfont_to_tuple(font): - return (six.text_type(font.family()), int(font.pointSize()), + return (str(font.family()), int(font.pointSize()), font.italic(), font.bold()) @@ -245,7 +239,7 @@ def setup(self): elif (label.lower() not in BLACKLIST and mcolors.is_color_like(value)): field = ColorLayout(to_qcolor(value), self) - elif isinstance(value, six.string_types): + elif isinstance(value, str): field = QtWidgets.QLineEdit(value, self) elif isinstance(value, (list, tuple)): if isinstance(value, tuple): @@ -306,9 +300,8 @@ def get(self): continue elif tuple_to_qfont(value) is not None: value = field.get_font() - elif (isinstance(value, six.string_types) - or mcolors.is_color_like(value)): - value = six.text_type(field.text()) + elif isinstance(value, str) or mcolors.is_color_like(value): + value = str(field.text()) elif isinstance(value, (list, tuple)): index = int(field.currentIndex()) if isinstance(value[0], (list, tuple)): diff --git a/lib/matplotlib/backends/tkagg.py b/lib/matplotlib/backends/tkagg.py index 072fcb48fee6..274fe23e40f6 100644 --- a/lib/matplotlib/backends/tkagg.py +++ b/lib/matplotlib/backends/tkagg.py @@ -1,8 +1,4 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six -from six.moves import tkinter as Tk +import tkinter as Tk import numpy as np diff --git a/lib/matplotlib/backends/windowing.py b/lib/matplotlib/backends/windowing.py index 6c2e495906cb..633084a477cf 100644 --- a/lib/matplotlib/backends/windowing.py +++ b/lib/matplotlib/backends/windowing.py @@ -6,10 +6,6 @@ It uses a tiny C++ extension module to access MS Win functions. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six from matplotlib import rcParams diff --git a/lib/matplotlib/bezier.py b/lib/matplotlib/bezier.py index 80fbd6137efe..714a57933bb5 100644 --- a/lib/matplotlib/bezier.py +++ b/lib/matplotlib/bezier.py @@ -2,17 +2,11 @@ A module providing some utility functions regarding bezier path manipulation. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six +import warnings import numpy as np from matplotlib.path import Path -from operator import xor -import warnings - class NonIntersectingPathException(ValueError): pass @@ -139,7 +133,7 @@ def find_bezier_t_intersecting_with_closedpath(bezier_point_at_t, middle = bezier_point_at_t(middle_t) middle_inside = inside_closedpath(middle) - if xor(start_inside, middle_inside): + if start_inside ^ middle_inside: t1 = middle_t end = middle end_inside = middle_inside diff --git a/lib/matplotlib/cm.py b/lib/matplotlib/cm.py index e914acf71888..c415005190b0 100644 --- a/lib/matplotlib/cm.py +++ b/lib/matplotlib/cm.py @@ -4,13 +4,10 @@ See :doc:`/gallery/color/colormap_reference` for a list of builtin colormaps. See :doc:`/tutorials/colors/colormaps` for an in-depth discussion of colormaps. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six import numpy as np from numpy import ma + import matplotlib as mpl import matplotlib.colors as colors import matplotlib.cbook as cbook @@ -34,7 +31,7 @@ def freversed(x): def revcmap(data): """Can only handle specification *data* in dictionary format.""" data_r = {} - for key, val in six.iteritems(data): + for key, val in data.items(): if callable(val): valnew = _reverser(val) # This doesn't work: lambda x: val(1-x) @@ -83,7 +80,7 @@ def _generate_cmap(name, lutsize): # Generate the reversed specifications (all at once, to avoid # modify-when-iterating). datad.update({cmapname + '_r': _reverse_cmap_spec(spec) - for cmapname, spec in six.iteritems(datad)}) + for cmapname, spec in datad.items()}) # Precache the cmaps with ``lutsize = LUTSIZE``. # Also add the reversed ones added in the section above: @@ -123,7 +120,7 @@ def register_cmap(name=None, cmap=None, data=None, lut=None): except AttributeError: raise ValueError("Arguments must include a name or a Colormap") - if not isinstance(name, six.string_types): + if not isinstance(name, str): raise ValueError("Colormap name must be a string") if isinstance(cmap, colors.Colormap): diff --git a/lib/matplotlib/collections.py b/lib/matplotlib/collections.py index ed97c388d659..aee38d4e1f42 100644 --- a/lib/matplotlib/collections.py +++ b/lib/matplotlib/collections.py @@ -8,21 +8,13 @@ they are meant to be fast for common use cases (e.g., a large set of solid line segemnts) """ -from __future__ import absolute_import, division, print_function - -import warnings - -import six -from six.moves import zip +import math from numbers import Number -try: - from math import gcd -except ImportError: - # LPy workaround - from fractions import gcd +import warnings import numpy as np + import matplotlib as mpl from . import (_path, artist, cbook, cm, colors as mcolors, docstring, lines as mlines, path as mpath, transforms) @@ -540,7 +532,7 @@ def set_linestyle(self, ls): The line style. """ try: - if isinstance(ls, six.string_types): + if isinstance(ls, str): ls = cbook.ls_mapper.get(ls, ls) dashes = [mlines._get_dash_pattern(ls)] else: @@ -626,9 +618,9 @@ def _bcast_lwls(linewidths, dashes): if len(dashes) != len(linewidths): l_dashes = len(dashes) l_lw = len(linewidths) - GCD = gcd(l_dashes, l_lw) - dashes = list(dashes) * (l_lw // GCD) - linewidths = list(linewidths) * (l_dashes // GCD) + gcd = math.gcd(l_dashes, l_lw) + dashes = list(dashes) * (l_lw // gcd) + linewidths = list(linewidths) * (l_dashes // gcd) # scale the dash patters dashes = [mlines._scale_dashes(o, d, lw) @@ -692,8 +684,7 @@ def get_facecolor(self): return self._facecolors def get_edgecolor(self): - if (isinstance(self._edgecolors, six.string_types) - and self._edgecolors == str('face')): + if cbook._str_equal(self._edgecolors, 'face'): return self.get_facecolors() else: return self._edgecolors diff --git a/lib/matplotlib/colorbar.py b/lib/matplotlib/colorbar.py index 142e525c3c89..1be14c9f0332 100644 --- a/lib/matplotlib/colorbar.py +++ b/lib/matplotlib/colorbar.py @@ -18,11 +18,6 @@ is a thin wrapper over :meth:`~matplotlib.figure.Figure.colorbar`. ''' -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six -from six.moves import xrange, zip import warnings @@ -318,7 +313,7 @@ def __init__(self, ax, cmap=None, linthresh=self.norm.linthresh) else: self.formatter = ticker.ScalarFormatter() - elif isinstance(format, six.string_types): + elif isinstance(format, str): self.formatter = ticker.FormatStrFormatter(format) else: self.formatter = format # Assume it is a Formatter @@ -753,7 +748,7 @@ def _get_extension_lengths(self, frac, automin, automax, default=0.05): ''' # Set the default value. extendlength = np.array([default, default]) - if isinstance(frac, six.string_types): + if isinstance(frac, str): if frac.lower() == 'auto': # Use the provided values when 'auto' is required. extendlength[0] = automin diff --git a/lib/matplotlib/colors.py b/lib/matplotlib/colors.py index 6e040b4f6485..e270de1ea826 100644 --- a/lib/matplotlib/colors.py +++ b/lib/matplotlib/colors.py @@ -44,12 +44,6 @@ All string specifications of color, other than "CN", are case-insensitive. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six -from six.moves import zip - from collections import Sized import itertools import re @@ -106,7 +100,7 @@ def _sanitize_extrema(ex): def _is_nth_color(c): """Return whether *c* can be interpreted as an item in the color cycle.""" - return isinstance(c, six.string_types) and re.match(r"\AC[0-9]\Z", c) + return isinstance(c, str) and re.match(r"\AC[0-9]\Z", c) def is_color_like(c): @@ -179,7 +173,7 @@ def _to_rgba_no_colorcycle(c, alpha=None): ``"none"`` (case-insensitive), which always maps to ``(0, 0, 0, 0)``. """ orig_c = c - if isinstance(c, six.string_types): + if isinstance(c, str): if c.lower() == "none": return (0., 0., 0., 0.) # Named color. @@ -188,7 +182,7 @@ def _to_rgba_no_colorcycle(c, alpha=None): c = _colors_full_map[c.lower()] except KeyError: pass - if isinstance(c, six.string_types): + if isinstance(c, str): # hex color with no alpha. match = re.match(r"\A#[a-fA-F0-9]{6}\Z", c) if match: @@ -254,7 +248,7 @@ def to_rgba_array(c, alpha=None): # Note that this occurs *after* handling inputs that are already arrays, as # `to_rgba(c, alpha)` (below) is expensive for such inputs, due to the need # to format the array in the ValueError message(!). - if isinstance(c, six.string_types) and c.lower() == "none": + if isinstance(c, str) and c.lower() == "none": return np.zeros((0, 4), float) try: return np.array([to_rgba(c, alpha)], float) @@ -717,7 +711,7 @@ def from_list(name, colors, N=256, gamma=1.0): raise ValueError('colors must be iterable') if (isinstance(colors[0], Sized) and len(colors[0]) == 2 - and not isinstance(colors[0], six.string_types)): + and not isinstance(colors[0], str)): # List of value, color pairs vals, colors = zip(*colors) else: @@ -763,13 +757,9 @@ def func_r(x): return dat(1.0 - x) return func_r - data_r = dict() - for key, data in six.iteritems(self._segmentdata): - if callable(data): - data_r[key] = factory(data) - else: - new_data = [(1.0 - x, y1, y0) for x, y0, y1 in reversed(data)] - data_r[key] = new_data + data_r = {key: (factory(data) if callable(data) else + [(1.0 - x, y1, y0) for x, y0, y1 in reversed(data)]) + for key, data in self._segmentdata.items()} return LinearSegmentedColormap(name, data_r, self.N, self._gamma) @@ -810,7 +800,7 @@ def __init__(self, colors, name='from_list', N=None): self.colors = colors N = len(colors) else: - if isinstance(colors, six.string_types): + if isinstance(colors, str): self.colors = [colors] * N self.monochrome = True elif cbook.iterable(colors): diff --git a/lib/matplotlib/container.py b/lib/matplotlib/container.py index 4bd2bcc6ca4d..73ce21355fa8 100644 --- a/lib/matplotlib/container.py +++ b/lib/matplotlib/container.py @@ -1,5 +1,3 @@ -import six - import matplotlib.cbook as cbook import matplotlib.artist as martist @@ -93,7 +91,7 @@ def pchanged(self): Fire an event when property changed, calling all of the registered callbacks. """ - for oid, func in list(six.iteritems(self._propobservers)): + for oid, func in list(self._propobservers.items()): func(self) def get_children(self): diff --git a/lib/matplotlib/contour.py b/lib/matplotlib/contour.py index c0bae214a54d..409786159836 100644 --- a/lib/matplotlib/contour.py +++ b/lib/matplotlib/contour.py @@ -1,15 +1,13 @@ """ These are classes to support contour plotting and labelling for the Axes class. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six import warnings -import matplotlib as mpl + import numpy as np from numpy import ma + +import matplotlib as mpl import matplotlib._contour as _contour import matplotlib.path as mpath import matplotlib.ticker as ticker @@ -262,7 +260,7 @@ def get_label_width(self, lev, fmt, fsize): """ Return the width of the label in points. """ - if not isinstance(lev, six.string_types): + if not isinstance(lev, str): lev = self.get_text(lev, fmt) lev, ismath = text.Text.is_math_text(lev) @@ -319,7 +317,7 @@ def set_label_props(self, label, text, color): def get_text(self, lev, fmt): "get the text of the label" - if isinstance(lev, six.string_types): + if isinstance(lev, str): return lev else: if isinstance(fmt, dict): @@ -1285,7 +1283,7 @@ def _process_linestyles(self): if lev < eps: tlinestyles[i] = neg_ls else: - if isinstance(linestyles, six.string_types): + if isinstance(linestyles, str): tlinestyles = [linestyles] * Nlev elif cbook.iterable(linestyles): tlinestyles = list(linestyles) diff --git a/lib/matplotlib/docstring.py b/lib/matplotlib/docstring.py index cf9537f0c6fe..9a67c1af86bd 100644 --- a/lib/matplotlib/docstring.py +++ b/lib/matplotlib/docstring.py @@ -1,12 +1,8 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - -from matplotlib import cbook import sys import types +from matplotlib import cbook + class Substitution(object): """ @@ -113,8 +109,6 @@ def do_copy(target): def dedent_interpd(func): """A special case of the interpd that first performs a dedent on the incoming docstring""" - if isinstance(func, types.MethodType) and not six.PY3: - func = func.im_func return interpd(dedent(func)) diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index e18403c3f950..e82858a835b5 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -11,11 +11,6 @@ """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - import logging import warnings @@ -1059,7 +1054,7 @@ def fixlist(args): ret.append(a) return tuple(ret) - key = fixlist(args), fixitems(six.iteritems(kwargs)) + key = fixlist(args), fixitems(kwargs.items()) return key def add_axes(self, *args, **kwargs): diff --git a/lib/matplotlib/fontconfig_pattern.py b/lib/matplotlib/fontconfig_pattern.py index ecb18924a6f0..252d709bd6e5 100644 --- a/lib/matplotlib/fontconfig_pattern.py +++ b/lib/matplotlib/fontconfig_pattern.py @@ -13,17 +13,12 @@ # It probably logically belongs in :file:`font_manager.py`, but placing it # there would have created cyclical dependency problems. -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - +from functools import lru_cache import re + from pyparsing import (Literal, ZeroOrMore, Optional, Regex, StringEnd, ParseException, Suppress) -from functools import lru_cache - family_punc = r'\\\-:,' family_unescape = re.compile(r'\\([%s])' % family_punc).sub family_escape = re.compile(r'([%s])' % family_punc).sub diff --git a/lib/matplotlib/gridspec.py b/lib/matplotlib/gridspec.py index c61dad7e6d50..c4f2bf7f703b 100644 --- a/lib/matplotlib/gridspec.py +++ b/lib/matplotlib/gridspec.py @@ -13,10 +13,6 @@ """ -from __future__ import absolute_import, division, print_function - -import six - import copy import logging import warnings @@ -238,13 +234,13 @@ def update(self, **kwargs): the current value, if set, otherwise to rc. """ - for k, v in six.iteritems(kwargs): + for k, v in kwargs.items(): if k in self._AllowedKeys: setattr(self, k, v) else: raise AttributeError("%s is unknown keyword" % (k,)) - for figmanager in six.itervalues(_pylab_helpers.Gcf.figs): + for figmanager in _pylab_helpers.Gcf.figs.values(): for ax in figmanager.canvas.figure.axes: # copied from Figure.subplots_adjust if not isinstance(ax, mpl.axes.SubplotBase): @@ -489,9 +485,5 @@ def __eq__(self, other): getattr(other, "num1", object()), getattr(other, "num2", object()))) - if six.PY2: - def __ne__(self, other): - return not self == other - def __hash__(self): return hash((self._gridspec, self.num1, self.num2)) diff --git a/lib/matplotlib/hatch.py b/lib/matplotlib/hatch.py index dbe2a33cf0e9..cb1e2960faf3 100644 --- a/lib/matplotlib/hatch.py +++ b/lib/matplotlib/hatch.py @@ -2,11 +2,6 @@ Contains a classes for generating hatch patterns. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - import numpy as np from matplotlib.path import Path diff --git a/lib/matplotlib/image.py b/lib/matplotlib/image.py index f6c72edcb19a..bb47d804699f 100644 --- a/lib/matplotlib/image.py +++ b/lib/matplotlib/image.py @@ -4,14 +4,12 @@ """ -import six -from six.moves.urllib.parse import urlparse -from six.moves.urllib.request import urlopen from io import BytesIO - from math import ceil import os import logging +import urllib.parse +import urllib.request import warnings import numpy as np @@ -1327,8 +1325,8 @@ def pilread(fname): handlers = {'png': _png.read_png, } if format is None: - if isinstance(fname, six.string_types): - parsed = urlparse(fname) + if isinstance(fname, str): + parsed = urllib.parse.urlparse(fname) # If the string is a URL, assume png if len(parsed.scheme) > 1: ext = 'png' @@ -1356,11 +1354,11 @@ def pilread(fname): # To handle Unicode filenames, we pass a file object to the PNG # reader extension, since Python handles them quite well, but it's # tricky in C. - if isinstance(fname, six.string_types): - parsed = urlparse(fname) + if isinstance(fname, str): + parsed = urllib.parse.urlparse(fname) # If fname is a URL, download the data if len(parsed.scheme) > 1: - fd = BytesIO(urlopen(fname).read()) + fd = BytesIO(urllib.request.urlopen(fname).read()) return handler(fd) else: with open(fname, 'rb') as fd: @@ -1409,7 +1407,7 @@ def imsave(fname, arr, vmin=None, vmax=None, cmap=None, format=None, fname = os.fspath(fname) if (format == 'png' or (format is None - and isinstance(fname, six.string_types) + and isinstance(fname, str) and fname.lower().endswith('.png'))): image = AxesImage(None, cmap=cmap, origin=origin) image.set_data(arr) diff --git a/lib/matplotlib/legend.py b/lib/matplotlib/legend.py index a95080ddea1a..9094dc5a1bf2 100644 --- a/lib/matplotlib/legend.py +++ b/lib/matplotlib/legend.py @@ -22,10 +22,6 @@ ` for more information. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six import logging import warnings @@ -420,8 +416,7 @@ def __init__(self, parent, handles, labels, # trim handles and labels if illegal label... _lab, _hand = [], [] for label, handle in zip(labels, handles): - if (isinstance(label, six.string_types) and - label.startswith('_')): + if isinstance(label, str) and label.startswith('_'): warnings.warn('The handle {!r} has a label of {!r} which ' 'cannot be automatically added to the ' 'legend.'.format(handle, label)) @@ -467,7 +462,7 @@ def __init__(self, parent, handles, labels, loc = rcParams["legend.loc"] if not self.isaxes and loc in [0, 'best']: loc = 'upper right' - if isinstance(loc, six.string_types): + if isinstance(loc, str): if loc not in self.codes: if self.isaxes: warnings.warn('Unrecognized location "%s". Falling back ' diff --git a/lib/matplotlib/legend_handler.py b/lib/matplotlib/legend_handler.py index 0968a5c4b99b..84405f2cbbc4 100644 --- a/lib/matplotlib/legend_handler.py +++ b/lib/matplotlib/legend_handler.py @@ -23,11 +23,7 @@ def legend_artist(self, legend, orig_handle, fontsize, handlebox): """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) -import six -from six.moves import zip from itertools import cycle import numpy as np diff --git a/lib/matplotlib/markers.py b/lib/matplotlib/markers.py index c30ce707b69e..5472473b03ab 100644 --- a/lib/matplotlib/markers.py +++ b/lib/matplotlib/markers.py @@ -83,11 +83,6 @@ those cases `None` still means 'default'. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - from collections import Sized from numbers import Number @@ -200,12 +195,8 @@ def _recache(self): self._filled = True self._marker_function() - if six.PY3: - def __bool__(self): - return bool(len(self._path.vertices)) - else: - def __nonzero__(self): - return bool(len(self._path.vertices)) + def __bool__(self): + return bool(len(self._path.vertices)) def is_filled(self): return self._filled @@ -242,8 +233,7 @@ def set_marker(self, marker): if (isinstance(marker, np.ndarray) and marker.ndim == 2 and marker.shape[1] == 2): self._marker_function = self._set_vertices - elif (isinstance(marker, six.string_types) - and cbook.is_math_text(marker)): + elif isinstance(marker, str) and cbook.is_math_text(marker): self._marker_function = self._set_mathtext_path elif isinstance(marker, Path): self._marker_function = self._set_path_marker diff --git a/lib/matplotlib/offsetbox.py b/lib/matplotlib/offsetbox.py index 94feba8d7cee..613b3e449178 100644 --- a/lib/matplotlib/offsetbox.py +++ b/lib/matplotlib/offsetbox.py @@ -14,18 +14,14 @@ width and height of the its child text. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) +import warnings -import six -from six.moves import zip +import numpy as np -import warnings import matplotlib.transforms as mtransforms import matplotlib.artist as martist import matplotlib.text as mtext import matplotlib.path as mpath -import numpy as np from matplotlib.transforms import Bbox, BboxBase, TransformedBbox from matplotlib.font_manager import FontProperties @@ -1016,7 +1012,7 @@ def __init__(self, loc, self.set_bbox_to_anchor(bbox_to_anchor, bbox_transform) self.set_child(child) - if isinstance(loc, six.string_types): + if isinstance(loc, str): try: loc = self.codes[loc] except KeyError: diff --git a/lib/matplotlib/path.py b/lib/matplotlib/path.py index 337cfbe6a76d..1d248c401b77 100644 --- a/lib/matplotlib/path.py +++ b/lib/matplotlib/path.py @@ -9,14 +9,8 @@ visualisation. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - -from weakref import WeakValueDictionary - from functools import lru_cache +from weakref import WeakValueDictionary import numpy as np diff --git a/lib/matplotlib/patheffects.py b/lib/matplotlib/patheffects.py index f443ad5e0828..5d63c24b21bb 100644 --- a/lib/matplotlib/patheffects.py +++ b/lib/matplotlib/patheffects.py @@ -4,11 +4,6 @@ and :class:`~matplotlib.patches.Patch`. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - from matplotlib.backend_bases import RendererBase from matplotlib import colors as mcolors from matplotlib import patches as mpatches @@ -53,7 +48,7 @@ def _update_gc(self, gc, new_gc_dict): if dashes: gc.set_dashes(**dashes) - for k, v in six.iteritems(new_gc_dict): + for k, v in new_gc_dict.items(): set_method = getattr(gc, 'set_' + k, None) if not callable(set_method): raise AttributeError('Unknown property {0}'.format(k)) diff --git a/lib/matplotlib/projections/__init__.py b/lib/matplotlib/projections/__init__.py index 9e01b4bb4295..3da609b8051d 100644 --- a/lib/matplotlib/projections/__init__.py +++ b/lib/matplotlib/projections/__init__.py @@ -1,8 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - from .geo import AitoffAxes, HammerAxes, LambertAxes, MollweideAxes from .polar import PolarAxes from matplotlib import axes @@ -83,7 +78,7 @@ def process_projection_requirements(figure, *args, **kwargs): projection) projection = 'polar' - if isinstance(projection, six.string_types) or projection is None: + if isinstance(projection, str) or projection is None: projection_class = get_projection_class(projection) elif hasattr(projection, '_as_mpl_axes'): projection_class, extra_kwargs = projection._as_mpl_axes() diff --git a/lib/matplotlib/projections/geo.py b/lib/matplotlib/projections/geo.py index 3ed5dc745643..842c047459a8 100644 --- a/lib/matplotlib/projections/geo.py +++ b/lib/matplotlib/projections/geo.py @@ -1,8 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - import numpy as np import matplotlib diff --git a/lib/matplotlib/projections/polar.py b/lib/matplotlib/projections/polar.py index e32a2ace9588..fb139ff01cb3 100644 --- a/lib/matplotlib/projections/polar.py +++ b/lib/matplotlib/projections/polar.py @@ -1,8 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - from collections import OrderedDict import types diff --git a/lib/matplotlib/quiver.py b/lib/matplotlib/quiver.py index 33e45f3ab08b..dec116363771 100644 --- a/lib/matplotlib/quiver.py +++ b/lib/matplotlib/quiver.py @@ -14,15 +14,11 @@ the Quiver code. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - import math import weakref import numpy as np + from numpy import ma import matplotlib.collections as mcollections import matplotlib.transforms as transforms @@ -626,7 +622,7 @@ def _angles_lengths(self, U, V, eps=1): def _make_verts(self, U, V, angles): uv = (U + V * 1j) - str_angles = angles if isinstance(angles, six.string_types) else '' + str_angles = angles if isinstance(angles, str) else '' if str_angles == 'xy' and self.scale_units == 'xy': # Here eps is 1 so that if we get U, V by diffing # the X, Y arrays, the vectors will connect the diff --git a/lib/matplotlib/sankey.py b/lib/matplotlib/sankey.py index 9413548d9905..8e3d3c28c7ef 100644 --- a/lib/matplotlib/sankey.py +++ b/lib/matplotlib/sankey.py @@ -1,13 +1,10 @@ """ Module for creating Sankey diagrams using matplotlib """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) -import six import logging from types import SimpleNamespace -from six.moves import zip + import numpy as np from matplotlib.cbook import iterable diff --git a/lib/matplotlib/scale.py b/lib/matplotlib/scale.py index 357aff9fc210..a63ef7c485d8 100644 --- a/lib/matplotlib/scale.py +++ b/lib/matplotlib/scale.py @@ -1,8 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - import numpy as np from numpy import ma diff --git a/lib/matplotlib/sphinxext/mathmpl.py b/lib/matplotlib/sphinxext/mathmpl.py index 26968cb03e54..ed54e8d3d8c1 100644 --- a/lib/matplotlib/sphinxext/mathmpl.py +++ b/lib/matplotlib/sphinxext/mathmpl.py @@ -1,8 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - import os import sys from hashlib import md5 diff --git a/lib/matplotlib/sphinxext/only_directives.py b/lib/matplotlib/sphinxext/only_directives.py index 0a5ed70f800e..2b7bbc887112 100644 --- a/lib/matplotlib/sphinxext/only_directives.py +++ b/lib/matplotlib/sphinxext/only_directives.py @@ -3,11 +3,6 @@ # either html or latex. # -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - from docutils.nodes import Body, Element diff --git a/lib/matplotlib/spines.py b/lib/matplotlib/spines.py index 0f1fcfb62c8f..a47c14a90073 100644 --- a/lib/matplotlib/spines.py +++ b/lib/matplotlib/spines.py @@ -1,19 +1,13 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) +import warnings -import six +import numpy as np import matplotlib - +from matplotlib import docstring, rcParams from matplotlib.artist import allow_rasterization -from matplotlib import docstring import matplotlib.transforms as mtransforms import matplotlib.patches as mpatches import matplotlib.path as mpath -import numpy as np -import warnings - -rcParams = matplotlib.rcParams class Spine(mpatches.Patch): @@ -187,7 +181,7 @@ def is_frame_like(self): """ self._ensure_position_is_set() position = self._position - if isinstance(position, six.string_types): + if isinstance(position, str): if position == 'center': position = ('axes', 0.5) elif position == 'zero': @@ -319,7 +313,7 @@ def _calc_offset_transform(self): """calculate the offset transform performed by the spine""" self._ensure_position_is_set() position = self._position - if isinstance(position, six.string_types): + if isinstance(position, str): if position == 'center': position = ('axes', 0.5) elif position == 'zero': diff --git a/lib/matplotlib/streamplot.py b/lib/matplotlib/streamplot.py index 1d6c9a9d1498..fb569d0500e0 100644 --- a/lib/matplotlib/streamplot.py +++ b/lib/matplotlib/streamplot.py @@ -2,12 +2,9 @@ Streamline plotting for 2D vector fields. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six import numpy as np + import matplotlib import matplotlib.cm as cm import matplotlib.colors as mcolors diff --git a/lib/matplotlib/style/core.py b/lib/matplotlib/style/core.py index 84d3fec559fc..d8a6c2efa4f1 100644 --- a/lib/matplotlib/style/core.py +++ b/lib/matplotlib/style/core.py @@ -1,7 +1,3 @@ -from __future__ import absolute_import, division, print_function - -import six - """ Core functions and attributes for the matplotlib style library: @@ -14,9 +10,10 @@ ``library`` A dictionary of style names and matplotlib settings. """ + +import contextlib import os import re -import contextlib import warnings import matplotlib as mpl @@ -89,18 +86,16 @@ def use(style): """ style_alias = {'mpl20': 'default', 'mpl15': 'classic'} - if isinstance(style, six.string_types) or hasattr(style, 'keys'): + if isinstance(style, str) or hasattr(style, 'keys'): # If name is a single str or dict, make it a single element list. styles = [style] else: styles = style - styles = (style_alias.get(s, s) - if isinstance(s, six.string_types) - else s + styles = (style_alias.get(s, s) if isinstance(s, str) else s for s in styles) for style in styles: - if not isinstance(style, six.string_types): + if not isinstance(style, str): _apply_style(style) elif style == 'default': _apply_style(rcParamsDefault, warn=False) @@ -210,11 +205,8 @@ def update_nested_dict(main_dict, new_dict): already exists. Instead you should update the sub-dict. """ # update named styles specified by user - for name, rc_dict in six.iteritems(new_dict): - if name in main_dict: - main_dict[name].update(rc_dict) - else: - main_dict[name] = rc_dict + for name, rc_dict in new_dict.items(): + main_dict.setdefault(name, {}).update(rc_dict) return main_dict diff --git a/lib/matplotlib/testing/__init__.py b/lib/matplotlib/testing/__init__.py index 2184be03ef88..863848af0c28 100644 --- a/lib/matplotlib/testing/__init__.py +++ b/lib/matplotlib/testing/__init__.py @@ -1,8 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - import functools import warnings @@ -39,10 +34,10 @@ def setup(): from matplotlib.backends import backend_agg, backend_pdf, backend_svg try: - locale.setlocale(locale.LC_ALL, str('en_US.UTF-8')) + locale.setlocale(locale.LC_ALL, 'en_US.UTF-8') except locale.Error: try: - locale.setlocale(locale.LC_ALL, str('English_United States.1252')) + locale.setlocale(locale.LC_ALL, 'English_United States.1252') except locale.Error: warnings.warn( "Could not set locale to English/United States. " diff --git a/lib/matplotlib/testing/compare.py b/lib/matplotlib/testing/compare.py index f2e0f33c9e46..6745802c4da4 100644 --- a/lib/matplotlib/testing/compare.py +++ b/lib/matplotlib/testing/compare.py @@ -2,9 +2,6 @@ Provides a collection of utilities for comparing (image) results. """ -from __future__ import absolute_import, division, print_function - -import six import atexit import functools diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py index 301f7b54d4c2..4d985f8c4895 100644 --- a/lib/matplotlib/testing/decorators.py +++ b/lib/matplotlib/testing/decorators.py @@ -1,7 +1,4 @@ -from __future__ import absolute_import, division, print_function - -import six - +from distutils.version import StrictVersion import functools import inspect import os @@ -135,7 +132,7 @@ def wrapped_callable(*args, **kwargs): return wrapped_callable - if isinstance(style, six.string_types): + if isinstance(style, str): return make_cleanup else: result = make_cleanup(style) @@ -148,13 +145,12 @@ def check_freetype_version(ver): if ver is None: return True - from distutils import version - if isinstance(ver, six.string_types): + if isinstance(ver, str): ver = (ver, ver) - ver = [version.StrictVersion(x) for x in ver] - found = version.StrictVersion(ft2font.__freetype_version__) + ver = [StrictVersion(x) for x in ver] + found = StrictVersion(ft2font.__freetype_version__) - return found >= ver[0] and found <= ver[1] + return ver[0] <= found <= ver[1] def _checked_on_freetype_version(required_freetype_version): @@ -212,7 +208,7 @@ def _xfail_if_format_is_uncomparable(extension): def _mark_xfail_if_format_is_uncomparable(extension): - if isinstance(extension, six.string_types): + if isinstance(extension, str): will_fail = extension not in comparable_formats() else: # Extension might be a pytest marker instead of a plain string. diff --git a/lib/matplotlib/testing/disable_internet.py b/lib/matplotlib/testing/disable_internet.py index 818137dcf71a..e0bece410596 100644 --- a/lib/matplotlib/testing/disable_internet.py +++ b/lib/matplotlib/testing/disable_internet.py @@ -1,13 +1,9 @@ # Originally from astropy project (http://astropy.org), under BSD # 3-clause license. -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import contextlib import socket - -from six.moves import urllib +import urllib.request # save original socket method for restoration # These are global so that re-calling the turn_off_internet function doesn't diff --git a/lib/matplotlib/tests/test_category.py b/lib/matplotlib/tests/test_category.py index 40f9d078ec5e..d93d39a13e2e 100644 --- a/lib/matplotlib/tests/test_category.py +++ b/lib/matplotlib/tests/test_category.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- """Catch all for categorical functions""" from __future__ import absolute_import, division, print_function diff --git a/lib/matplotlib/texmanager.py b/lib/matplotlib/texmanager.py index 4a1c0df8cec7..4dc828151753 100644 --- a/lib/matplotlib/texmanager.py +++ b/lib/matplotlib/texmanager.py @@ -33,8 +33,6 @@ """ -import six - import copy import distutils.version import glob @@ -116,8 +114,7 @@ def __init__(self): ff = rcParams['font.family'] if len(ff) == 1 and ff[0].lower() in self.font_families: self.font_family = ff[0].lower() - elif (isinstance(ff, six.string_types) - and ff.lower() in self.font_families): + elif isinstance(ff, str) and ff.lower() in self.font_families: self.font_family = ff.lower() else: _log.info('font.family must be one of (%s) when text.usetex is ' diff --git a/lib/matplotlib/textpath.py b/lib/matplotlib/textpath.py index 7654a2ae1115..9cc8c6b5e9d2 100644 --- a/lib/matplotlib/textpath.py +++ b/lib/matplotlib/textpath.py @@ -1,13 +1,5 @@ -# -*- coding: utf-8 -*- - -from __future__ import (absolute_import, division, print_function, - unicode_literals) - from collections import OrderedDict - -import six -from six.moves import zip - +import urllib.parse import warnings import numpy as np @@ -21,7 +13,6 @@ import matplotlib.dviread as dviread from matplotlib.font_manager import FontProperties, get_font from matplotlib.transforms import Affine2D -from six.moves.urllib.parse import quote as urllib_quote class TextToPath(object): @@ -70,7 +61,7 @@ def _get_char_id(self, font, ccode): ps_name = sfnt[1, 0, 0, 6].decode('mac_roman') except KeyError: ps_name = sfnt[3, 1, 0x0409, 6].decode('utf-16be') - char_id = urllib_quote('%s-%x' % (ps_name, ccode)) + char_id = urllib.parse.quote('%s-%x' % (ps_name, ccode)) return char_id def _get_char_id_ps(self, font, ccode): @@ -78,7 +69,7 @@ def _get_char_id_ps(self, font, ccode): Return a unique id for the given font and character-code set (for tex). """ ps_name = font.get_ps_font_info()[2] - char_id = urllib_quote('%s-%d' % (ps_name, ccode)) + char_id = urllib.parse.quote('%s-%d' % (ps_name, ccode)) return char_id def glyph_to_path(self, font, currx=0.): diff --git a/lib/matplotlib/tight_bbox.py b/lib/matplotlib/tight_bbox.py index 7bffb3531297..87c8358fd534 100644 --- a/lib/matplotlib/tight_bbox.py +++ b/lib/matplotlib/tight_bbox.py @@ -2,11 +2,6 @@ This module is to support *bbox_inches* option in savefig command. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - from matplotlib.transforms import Bbox, TransformedBbox, Affine2D diff --git a/lib/matplotlib/transforms.py b/lib/matplotlib/transforms.py index 9e670174b6ad..93c1e5a00c89 100644 --- a/lib/matplotlib/transforms.py +++ b/lib/matplotlib/transforms.py @@ -33,17 +33,15 @@ # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is # done so that `nan`s are propagated, instead of being silently dropped. -import six +import re +import warnings +import weakref import numpy as np -from matplotlib._path import (affine_transform, count_bboxes_overlapping_bbox, - update_path_extents) from numpy.linalg import inv -import re -import weakref -import warnings - +from matplotlib._path import ( + affine_transform, count_bboxes_overlapping_bbox, update_path_extents) from . import cbook from .path import Path @@ -106,18 +104,15 @@ def __str__(self): return self._shorthand_name or repr(self) def __getstate__(self): - d = self.__dict__.copy() # turn the dictionary with weak values into a normal dictionary - d['_parents'] = dict((k, v()) for (k, v) in - six.iteritems(self._parents)) - return d + return {**self.__dict__, + '_parents': {k: v() for k, v in self._parents.items()}} def __setstate__(self, data_dict): self.__dict__ = data_dict - # turn the normal dictionary back into a dictionary with weak - # values - self._parents = dict((k, weakref.ref(v)) for (k, v) in - six.iteritems(self._parents) if v is not None) + # turn the normal dictionary back into a dictionary with weak values + self._parents = {k: weakref.ref(v) + for k, v in self._parents.items() if v is not None} def __copy__(self, *args): raise NotImplementedError( @@ -156,7 +151,7 @@ def _invalidate_internal(self, value, invalidating_node): if self.pass_through or status_changed: self._invalid = value - for parent in list(six.itervalues(self._parents)): + for parent in list(self._parents.values()): # Dereference the weak reference parent = parent() if parent is not None: @@ -227,12 +222,9 @@ def recurse(root): props['style'] = 'bold' props['shape'] = 'box' props['label'] = '"%s"' % label - props = ' '.join(['%s=%s' % (key, val) - for key, val - in six.iteritems(props)]) + props = ' '.join(map('{0[0]}={0[1]}'.format, props.items())) - fobj.write('%s [%s];\n' % - (hash(root), props)) + fobj.write('%s [%s];\n' % (hash(root), props)) if hasattr(root, '_children'): for child in root._children: @@ -582,7 +574,7 @@ def anchored(self, c, container=None): if container is None: container = self l, b, w, h = container.bounds - if isinstance(c, six.string_types): + if isinstance(c, str): cx, cy = self.coefs[c] else: cx, cy = c @@ -1300,10 +1292,6 @@ def __radd__(self, other): # override `__eq__`), but some subclasses, such as TransformWrapper & # AffineBase, override this behavior. - if six.PY2: - def __ne__(self, other): - return not (self == other) - def _iter_break_from_left_to_right(self): """ Returns an iterator breaking down this transform stack from left to diff --git a/lib/matplotlib/tri/__init__.py b/lib/matplotlib/tri/__init__.py index 7ea09f8b3f10..7ff2b326920b 100644 --- a/lib/matplotlib/tri/__init__.py +++ b/lib/matplotlib/tri/__init__.py @@ -1,10 +1,6 @@ """ Unstructured triangular grid functions. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six from .triangulation import * from .tricontour import * diff --git a/lib/matplotlib/tri/triangulation.py b/lib/matplotlib/tri/triangulation.py index b80aaf87b98f..c4dbf048a235 100644 --- a/lib/matplotlib/tri/triangulation.py +++ b/lib/matplotlib/tri/triangulation.py @@ -1,11 +1,7 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six +import numpy as np import matplotlib._tri as _tri import matplotlib._qhull as _qhull -import numpy as np class Triangulation(object): diff --git a/lib/matplotlib/tri/tricontour.py b/lib/matplotlib/tri/tricontour.py index 3087409b729d..9cbb88fab327 100644 --- a/lib/matplotlib/tri/tricontour.py +++ b/lib/matplotlib/tri/tricontour.py @@ -1,12 +1,8 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six +import numpy as np from matplotlib.contour import ContourSet from matplotlib.tri.triangulation import Triangulation import matplotlib._tri as _tri -import numpy as np class TriContourSet(ContourSet): diff --git a/lib/matplotlib/tri/trifinder.py b/lib/matplotlib/tri/trifinder.py index 08a07f854f7a..6ea0a5604a49 100644 --- a/lib/matplotlib/tri/trifinder.py +++ b/lib/matplotlib/tri/trifinder.py @@ -1,11 +1,7 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six +import numpy as np from matplotlib.tri import Triangulation import matplotlib._tri as _tri -import numpy as np class TriFinder(object): diff --git a/lib/matplotlib/tri/triinterpolate.py b/lib/matplotlib/tri/triinterpolate.py index d99e9a288d28..cc19edbefa4e 100644 --- a/lib/matplotlib/tri/triinterpolate.py +++ b/lib/matplotlib/tri/triinterpolate.py @@ -1,16 +1,14 @@ """ Interpolation inside triangular grids. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) -import six +import warnings + +import numpy as np from matplotlib.tri import Triangulation from matplotlib.tri.trifinder import TriFinder from matplotlib.tri.tritools import TriAnalyzer -import numpy as np -import warnings __all__ = ('TriInterpolator', 'LinearTriInterpolator', 'CubicTriInterpolator') diff --git a/lib/matplotlib/tri/tripcolor.py b/lib/matplotlib/tri/tripcolor.py index 3a6a06a5749e..0fb36ae83e0f 100644 --- a/lib/matplotlib/tri/tripcolor.py +++ b/lib/matplotlib/tri/tripcolor.py @@ -1,12 +1,8 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six +import numpy as np from matplotlib.collections import PolyCollection, TriMesh from matplotlib.colors import Normalize from matplotlib.tri.triangulation import Triangulation -import numpy as np def tripcolor(ax, *args, **kwargs): diff --git a/lib/matplotlib/tri/triplot.py b/lib/matplotlib/tri/triplot.py index 6ab810a3a2c1..3f8026a82ec8 100644 --- a/lib/matplotlib/tri/triplot.py +++ b/lib/matplotlib/tri/triplot.py @@ -1,8 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - import numpy as np from matplotlib.tri.triangulation import Triangulation diff --git a/lib/matplotlib/tri/trirefine.py b/lib/matplotlib/tri/trirefine.py index bbf33988096a..e198e1366da8 100644 --- a/lib/matplotlib/tri/trirefine.py +++ b/lib/matplotlib/tri/trirefine.py @@ -1,10 +1,6 @@ """ Mesh refinement for triangular grids. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six import numpy as np from matplotlib.tri.triangulation import Triangulation diff --git a/lib/matplotlib/tri/tritools.py b/lib/matplotlib/tri/tritools.py index c7491f9ea551..2e5bc1f3d7f7 100644 --- a/lib/matplotlib/tri/tritools.py +++ b/lib/matplotlib/tri/tritools.py @@ -1,13 +1,10 @@ """ Tools for triangular grids. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) -import six +import numpy as np from matplotlib.tri import Triangulation -import numpy as np class TriAnalyzer(object): diff --git a/lib/matplotlib/units.py b/lib/matplotlib/units.py index cab3967189f7..c23d791b092a 100644 --- a/lib/matplotlib/units.py +++ b/lib/matplotlib/units.py @@ -41,11 +41,6 @@ def default_units(x, axis): units.registry[datetime.date] = DateConverter() """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - - -import six from numbers import Number From 5967c6f3525de5d3e04b5cb241a3e52d828bbcc6 Mon Sep 17 00:00:00 2001 From: DietmarSchwertberger Date: Tue, 20 Mar 2018 19:23:55 +0100 Subject: [PATCH 0391/1161] Add menu handler --- examples/user_interfaces/mathtext_wx_sgskip.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/examples/user_interfaces/mathtext_wx_sgskip.py b/examples/user_interfaces/mathtext_wx_sgskip.py index b8a4f5963e55..53a861986c23 100644 --- a/examples/user_interfaces/mathtext_wx_sgskip.py +++ b/examples/user_interfaces/mathtext_wx_sgskip.py @@ -60,8 +60,9 @@ def __init__(self, parent, title): # File Menu menu = wx.Menu() - menu.Append(wx.ID_EXIT, "E&xit\tAlt-X", "Exit this simple sample") + m_exit = menu.Append(wx.ID_EXIT, "E&xit\tAlt-X", "Exit this simple sample") menuBar.Append(menu, "&File") + self.Bind(wx.EVT_MENU, self.OnClose, m_exit) if IS_GTK or IS_WIN: # Equation Menu @@ -112,6 +113,9 @@ def change_plot(self, plot_number): self.axes.plot(t, s) self.canvas.draw() + def OnClose(self, event): + self.Destroy() + class MyApp(wx.App): def OnInit(self): From b4963f708eafe783991ed97ea391cbfad1c6f3d7 Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Tue, 20 Mar 2018 13:39:50 -0700 Subject: [PATCH 0392/1161] DOC: CL make pcolormesh calls consistent --- .../intermediate/constrainedlayout_guide.py | 55 +++++++++++-------- 1 file changed, 33 insertions(+), 22 deletions(-) diff --git a/tutorials/intermediate/constrainedlayout_guide.py b/tutorials/intermediate/constrainedlayout_guide.py index a6e44799fc6b..42bb09a148b6 100644 --- a/tutorials/intermediate/constrainedlayout_guide.py +++ b/tutorials/intermediate/constrainedlayout_guide.py @@ -40,6 +40,7 @@ import matplotlib.pyplot as plt import numpy as np +import matplotlib.colors as mcolors import matplotlib.gridspec as gridspec import matplotlib._layoutbox as layoutbox @@ -98,10 +99,20 @@ def example_plot(ax, fontsize=12, nodec=False): # automatically. Note that if you specify ``use_gridspec=True`` it will be # ignored because this option is made for improving the layout via # ``tight_layout``. +# +# .. note:: +# +# For the `pcolormesh` kwargs (``pc_kwargs``) we use a dictionary. +# Below we will assign one colorbar to a number of axes each containing +# a `SclaraMappable`; specifying the norm and colormap ensures +# the colorbar is accurate for all the axes. arr = np.arange(100).reshape((10, 10)) +norm = mcolors.Normalize(vmin=0., vmax=100.) +# see note above: this makes all pcolormesh calls consistent: +pc_kwargs = {'rasterized':True, 'cmap':'viridis', 'norm':norm} fig, ax = plt.subplots(figsize=(4, 4), constrained_layout=True) -im = ax.pcolormesh(arr, rasterized=True) +im = ax.pcolormesh(arr, **pc_kwargs) fig.colorbar(im, ax=ax, shrink=0.6) ############################################################################ @@ -110,7 +121,7 @@ def example_plot(ax, fontsize=12, nodec=False): fig, axs = plt.subplots(2, 2, figsize=(4, 4), constrained_layout=True) for ax in axs.flatten(): - im = ax.pcolormesh(arr, rasterized=True) + im = ax.pcolormesh(arr, **pc_kwargs) fig.colorbar(im, ax=axs, shrink=0.6) ############################################################################ @@ -122,9 +133,9 @@ def example_plot(ax, fontsize=12, nodec=False): fig, axs = plt.subplots(3, 1, figsize=(4, 4), constrained_layout=True) for ax in axs[:2]: - im = ax.pcolormesh(arr, rasterized=True) + im = ax.pcolormesh(arr, **pc_kwargs) fig.colorbar(im, ax=axs[:2], shrink=0.6) -im = axs[2].pcolormesh(arr, rasterized=True) +im = axs[2].pcolormesh(arr, **pc_kwargs) fig.colorbar(im, ax=axs[2], shrink=0.6) ############################################################################ @@ -133,9 +144,9 @@ def example_plot(ax, fontsize=12, nodec=False): fig, axs = plt.subplots(3, 1, figsize=(4, 4), constrained_layout=True) for ax in axs[:2]: - im = ax.pcolormesh(arr, rasterized=True) + im = ax.pcolormesh(arr, **pc_kwargs) fig.colorbar(im, ax=axs[:2], shrink=0.6) -im = axs[2].pcolormesh(arr, rasterized=True) +im = axs[2].pcolormesh(arr, **pc_kwargs) fig.colorbar(im, ax=[axs[2]], shrink=0.6) #################################################### @@ -146,7 +157,7 @@ def example_plot(ax, fontsize=12, nodec=False): fig, axs = plt.subplots(2, 2, figsize=(4, 4), constrained_layout=True) for ax in axs.flatten(): - im = ax.pcolormesh(arr, rasterized=True) + im = ax.pcolormesh(arr, **pc_kwargs) fig.colorbar(im, ax=axs, shrink=0.6) fig.suptitle('Big Suptitle') @@ -225,7 +236,7 @@ def example_plot(ax, fontsize=12, nodec=False): fig, axs = plt.subplots(2, 2, constrained_layout=True) for ax in axs.flatten(): - pc = ax.pcolormesh(arr, rasterized=True) + pc = ax.pcolormesh(arr, **pc_kwargs) fig.colorbar(im, ax=ax, shrink=0.6, pad=0) ax.set_xticklabels('') ax.set_yticklabels('') @@ -239,7 +250,7 @@ def example_plot(ax, fontsize=12, nodec=False): fig, axs = plt.subplots(2, 2, constrained_layout=True) for ax in axs.flatten(): - pc = ax.pcolormesh(arr, rasterized=True) + pc = ax.pcolormesh(arr, **pc_kwargs) fig.colorbar(im, ax=ax, shrink=0.6, pad=0.05) ax.set_xticklabels('') ax.set_yticklabels('') @@ -349,7 +360,7 @@ def docomplicated(suptitle=None): axs = [] for gs in gsr: ax = fig.add_subplot(gs) - pcm = ax.pcolormesh(arr, rasterized=True) + pcm = ax.pcolormesh(arr, **pc_kwargs) ax.set_xlabel('x-label') ax.set_ylabel('y-label') ax.set_title('title') @@ -620,9 +631,9 @@ def docomplicated(suptitle=None): # colorbar is associated wiht a gridspec. fig, ax = plt.subplots(1, 2, constrained_layout=True) -im = ax[0].pcolormesh(arr, rasterized=True) +im = ax[0].pcolormesh(arr, **pc_kwargs) fig.colorbar(im, ax=ax[0], shrink=0.6) -im = ax[1].pcolormesh(arr, rasterized=True) +im = ax[1].pcolormesh(arr, **pc_kwargs) plot_children(fig, fig._layoutbox, printit=False) ####################################################################### @@ -637,7 +648,7 @@ def docomplicated(suptitle=None): fig, ax = plt.subplots(2, 2, constrained_layout=True) for a in ax.flatten(): - im = a.pcolormesh(arr, rasterized=True) + im = a.pcolormesh(arr, **pc_kwargs) fig.colorbar(im, ax=ax, shrink=0.6) plot_children(fig, fig._layoutbox, printit=False) @@ -664,11 +675,11 @@ def docomplicated(suptitle=None): fig = plt.figure(constrained_layout=True) gs = gridspec.GridSpec(2, 2, figure=fig) ax = fig.add_subplot(gs[:, 0]) -im = ax.pcolormesh(arr, rasterized=True) +im = ax.pcolormesh(arr, **pc_kwargs) ax = fig.add_subplot(gs[0, 1]) -im = ax.pcolormesh(arr, rasterized=True) +im = ax.pcolormesh(arr, **pc_kwargs) ax = fig.add_subplot(gs[1, 1]) -im = ax.pcolormesh(arr, rasterized=True) +im = ax.pcolormesh(arr, **pc_kwargs) plot_children(fig, fig._layoutbox, printit=False) ####################################################################### @@ -681,13 +692,13 @@ def docomplicated(suptitle=None): height_ratios=[1., 0.5, 1.5], width_ratios=[1.2, 0.8]) ax = fig.add_subplot(gs[:2, 0]) -im = ax.pcolormesh(arr, rasterized=True) +im = ax.pcolormesh(arr, **pc_kwargs) ax = fig.add_subplot(gs[2, 0]) -im = ax.pcolormesh(arr, rasterized=True) +im = ax.pcolormesh(arr, **pc_kwargs) ax = fig.add_subplot(gs[0, 1]) -im = ax.pcolormesh(arr, rasterized=True) +im = ax.pcolormesh(arr, **pc_kwargs) ax = fig.add_subplot(gs[1:, 1]) -im = ax.pcolormesh(arr, rasterized=True) +im = ax.pcolormesh(arr, **pc_kwargs) plot_children(fig, fig._layoutbox, printit=False) ######################################################################## @@ -705,9 +716,9 @@ def docomplicated(suptitle=None): fig = plt.figure(constrained_layout=True) gs = gridspec.GridSpec(1, 3, figure=fig) ax = fig.add_subplot(gs[0]) -im = ax.pcolormesh(arr, rasterized=True) +im = ax.pcolormesh(arr, **pc_kwargs) ax = fig.add_subplot(gs[-1]) -im = ax.pcolormesh(arr, rasterized=True) +im = ax.pcolormesh(arr, **pc_kwargs) plot_children(fig, fig._layoutbox, printit=False) plt.show() From bd0447327514044abc908ae2a2da26a666394aa4 Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Tue, 20 Mar 2018 14:57:02 -0700 Subject: [PATCH 0393/1161] typo! --- tutorials/intermediate/constrainedlayout_guide.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/intermediate/constrainedlayout_guide.py b/tutorials/intermediate/constrainedlayout_guide.py index 42bb09a148b6..b6f927b6f118 100644 --- a/tutorials/intermediate/constrainedlayout_guide.py +++ b/tutorials/intermediate/constrainedlayout_guide.py @@ -104,7 +104,7 @@ def example_plot(ax, fontsize=12, nodec=False): # # For the `pcolormesh` kwargs (``pc_kwargs``) we use a dictionary. # Below we will assign one colorbar to a number of axes each containing -# a `SclaraMappable`; specifying the norm and colormap ensures +# a `ScalarMappable`; specifying the norm and colormap ensures # the colorbar is accurate for all the axes. arr = np.arange(100).reshape((10, 10)) From 6a44c515ed2a4a728f49ae7c33e812f84a9b1c20 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Tue, 20 Mar 2018 23:39:18 -0700 Subject: [PATCH 0394/1161] Update docs re: pygobject in venv. PyGObject can now be built in a venv, added link to their instructions. Reworded an awkward sentence. --- doc/faq/virtualenv_faq.rst | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/doc/faq/virtualenv_faq.rst b/doc/faq/virtualenv_faq.rst index 70a45fda5a8c..8cb328bb7c39 100644 --- a/doc/faq/virtualenv_faq.rst +++ b/doc/faq/virtualenv_faq.rst @@ -28,19 +28,23 @@ PyQt5 yes yes ------------- -------------------------- --------------------------------- PyQt4 PySide: on Windows and OSX yes ------------- -------------------------- --------------------------------- -PyGObject no on Linux +PyGObject yes [#]_ on Linux ------------- -------------------------- --------------------------------- wxPython yes [#]_ yes ============= ========================== ================================= +.. [#] No wheels available, see + https://pygobject.readthedocs.io/en/latest/devguide/dev_environ.html + for build instructions. + .. [#] OSX and Windows wheels available on PyPI. Linux wheels available but not on PyPI, see https://wxpython.org/pages/downloads/. For cases where the framework is not installable in a venv, it needs to be -install the package in the global (system) site-packages, and then made -available from within the venv. This can be achieved by either of the -following methods (in all cases, the system-wide Python and the venv Python -must be of the same version): +installed in the global (system) site-packages, and then made available from +within the venv. This can be achieved by either of the following methods (in +all cases, the system-wide Python and the venv Python must be of the same +version): - `vext `_ allows controlled access from within the virtualenv to specific system-wide packages without the From f0a93c40e30343a2e0d5948fccc382ed6823e135 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Thu, 15 Mar 2018 15:03:59 -0700 Subject: [PATCH 0395/1161] Fix undefined name. --- lib/matplotlib/animation.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/animation.py b/lib/matplotlib/animation.py index 55b7ce51a6a6..d4eaa04f14db 100644 --- a/lib/matplotlib/animation.py +++ b/lib/matplotlib/animation.py @@ -1340,7 +1340,8 @@ def to_html5_video(self, embed_limit=None): # Now open and base64 encode. vid64 = base64.encodebytes(path.read_bytes()) - if len(vid64) >= embed_limit: + vid_len = len(vid64) + if vid_len >= embed_limit: _log.warning( "Animation movie is %s bytes, exceeding the limit of %s. " "If you're sure you want a large animation embedded, set " From b11413193579c9f9d3ac3c1a875f084f9d8e015f Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Thu, 15 Mar 2018 16:37:57 -0700 Subject: [PATCH 0396/1161] Add some animation tests. --- .appveyor.yml | 2 +- .travis.yml | 8 ++- doc/devel/contributing.rst | 2 +- doc/devel/testing.rst | 2 +- lib/matplotlib/animation.py | 3 +- lib/matplotlib/tests/test_animation.py | 97 +++++++++++++++++++------- setupext.py | 2 +- 7 files changed, 81 insertions(+), 35 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 4a093ea0049d..981b6ed2c866 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -63,7 +63,7 @@ install: - activate test-environment - echo %PYTHON_VERSION% %TARGET_ARCH% # pytest-cov>=2.3.1 due to https://github.com/pytest-dev/pytest-cov/issues/124 - - pip install -q "pytest!=3.3.0,>=3.2.0" "pytest-cov>=2.3.1" pytest-rerunfailures pytest-timeout pytest-xdist + - pip install -q "pytest>=3.4" "pytest-cov>=2.3.1" pytest-rerunfailures pytest-timeout pytest-xdist # Apply patch to `subprocess` on Python versions > 2 and < 3.6.3 # https://github.com/matplotlib/matplotlib/issues/9176 diff --git a/.travis.yml b/.travis.yml index dca90b733a68..a27255639b28 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,14 +18,16 @@ addons: paths: - result_images.tar.bz2 apt: + sources: + - sourceline: ppa:jonathonf/ffmpeg-3 packages: - cm-super - dvipng + - ffmpeg - gdb - gir1.2-gtk-3.0 - graphviz - inkscape - - libav-tools - libcairo2 - libgeos-dev - libgirepository-1.0.1 @@ -52,7 +54,7 @@ env: - NUMPY=numpy - PANDAS= - PYPARSING=pyparsing - - PYTEST='pytest!=3.3.0,>=3.2.0' + - PYTEST='pytest>=3.4' - PYTEST_COV=pytest-cov - PYTEST_PEP8= - SPHINX=sphinx @@ -74,7 +76,7 @@ matrix: - NUMPY=numpy==1.10.0 - PANDAS='pandas<0.21.0' - PYPARSING=pyparsing==2.0.1 - - PYTEST=pytest==3.1.0 + - PYTEST=pytest==3.4 - PYTEST_COV=pytest-cov==2.3.1 - SPHINX=sphinx==1.3 - python: 3.5 diff --git a/doc/devel/contributing.rst b/doc/devel/contributing.rst index 607827584ab9..9d5f7f15c303 100644 --- a/doc/devel/contributing.rst +++ b/doc/devel/contributing.rst @@ -151,7 +151,7 @@ environment is set up properly:: .. note:: - **Additional dependencies for testing**: pytest_ (version 3.1 or later), + **Additional dependencies for testing**: pytest_ (version 3.4 or later), Ghostscript_, Inkscape_ .. seealso:: diff --git a/doc/devel/testing.rst b/doc/devel/testing.rst index cab546ad1e87..7797c7ce580e 100644 --- a/doc/devel/testing.rst +++ b/doc/devel/testing.rst @@ -25,7 +25,7 @@ local FreeType build The following software is required to run the tests: - - pytest_ (>=3.1) + - pytest_ (>=3.4) - Ghostscript_ (to render PDF files) - Inkscape_ (to render SVG files) diff --git a/lib/matplotlib/animation.py b/lib/matplotlib/animation.py index d4eaa04f14db..d3a1886eaf80 100644 --- a/lib/matplotlib/animation.py +++ b/lib/matplotlib/animation.py @@ -685,8 +685,7 @@ def _args(self): '-vframes', str(self._frame_counter)] + self.output_args -# Base class of avconv information. AVConv has identical arguments to -# FFMpeg +# Base class of avconv information. AVConv has identical arguments to FFMpeg. class AVConvBase(FFMpegBase): '''Mixin class for avconv output. diff --git a/lib/matplotlib/tests/test_animation.py b/lib/matplotlib/tests/test_animation.py index ed3f5919f02c..cfb1f266f75c 100644 --- a/lib/matplotlib/tests/test_animation.py +++ b/lib/matplotlib/tests/test_animation.py @@ -1,3 +1,5 @@ +import os +from pathlib import Path import sys import tempfile @@ -38,29 +40,35 @@ def finish(self): pass -def test_null_movie_writer(): - # Test running an animation with NullMovieWriter. - - fig = plt.figure() +def make_animation(**kwargs): + fig, ax = plt.subplots() + line, = ax.plot([]) def init(): pass def animate(i): - pass + line.set_data([0, 1], [0, i]) + return line, + + return animation.FuncAnimation(fig, animate, **kwargs) + + +def test_null_movie_writer(): + # Test running an animation with NullMovieWriter. num_frames = 5 + anim = make_animation(frames=num_frames) + filename = "unused.null" dpi = 50 savefig_kwargs = dict(foo=0) - - anim = animation.FuncAnimation(fig, animate, init_func=init, - frames=num_frames) writer = NullMovieWriter() + anim.save(filename, dpi=dpi, writer=writer, savefig_kwargs=savefig_kwargs) - assert writer.fig == fig + assert writer.fig == plt.figure(1) # The figure used by make_animation. assert writer.outfile == filename assert writer.dpi == dpi assert writer.args == () @@ -174,23 +182,8 @@ def animate(i): def test_no_length_frames(): - fig, ax = plt.subplots() - line, = ax.plot([], []) - - def init(): - line.set_data([], []) - return line, - - def animate(i): - x = np.linspace(0, 10, 100) - y = np.sin(x + i) - line.set_data(x, y) - return line, - - anim = animation.FuncAnimation(fig, animate, init_func=init, - frames=iter(range(5))) - writer = NullMovieWriter() - anim.save('unused.null', writer=writer) + (make_animation(frames=iter(range(5))) + .save('unused.null', writer=NullMovieWriter())) def test_movie_writer_registry(): @@ -215,3 +208,55 @@ def test_movie_writer_registry(): assert not animation.writers._dirty assert animation.writers.is_available("ffmpeg") mpl.rcParams['animation.ffmpeg_path'] = ffmpeg_path + + +@pytest.mark.skipif( + not animation.writers.is_available(mpl.rcParams["animation.writer"]), + reason="animation writer not installed") +@pytest.mark.parametrize("method_name", ["to_html5_video", "to_jshtml"]) +def test_embed_limit(method_name, caplog): + with mpl.rc_context({"animation.embed_limit": 1e-6}): # ~1 byte. + getattr(make_animation(frames=1), method_name)() + assert len(caplog.records) == 1 + record, = caplog.records + assert (record.name == "matplotlib.animation" + and record.levelname == "WARNING") + + +@pytest.mark.skipif( + not animation.writers.is_available(mpl.rcParams["animation.writer"]), + reason="animation writer not installed") +@pytest.mark.parametrize( + "method_name", + ["to_html5_video", + pytest.mark.xfail("to_jshtml")]) # Needs to be fixed. +def test_cleanup_temporaries(method_name, tmpdir): + with tmpdir.as_cwd(): + getattr(make_animation(frames=1), method_name)() + assert list(Path(str(tmpdir)).iterdir()) == [] + + +# Currently, this fails with a ValueError after we try to communicate() twice +# with the Popen. +@pytest.mark.xfail +@pytest.mark.skipif(os.name != "posix", reason="requires a POSIX OS") +def test_failing_ffmpeg(tmpdir, monkeypatch): + """ + Test that we correctly raise an OSError when ffmpeg fails. + + To do so, mock ffmpeg using a simple executable shell script that + succeeds when called with no arguments (so that it gets registered by + `isAvailable`), but fails otherwise, and add it to the $PATH. + """ + try: + with tmpdir.as_cwd(): + monkeypatch.setenv("PATH", ".:" + os.environ["PATH"]) + exe_path = Path(tmpdir, "ffmpeg") + exe_path.write_text("#!/bin/sh\n" + "[[ $@ -eq 0 ]]\n") + os.chmod(str(exe_path), 0o755) + animation.writers.reset_available_writers() + with pytest.raises(OSError): + make_animation().save("test.mpeg") + finally: + animation.writers.reset_available_writers() diff --git a/setupext.py b/setupext.py index a6126d16c18f..0b3c19b7315e 100644 --- a/setupext.py +++ b/setupext.py @@ -739,7 +739,7 @@ def get_namespace_packages(self): class Tests(OptionalPackage): name = "tests" - pytest_min_version = '3.1' + pytest_min_version = '3.4' default_config = False def check(self): From 60604fe447ec5d6556a5d65cc0a88de5a507e49a Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Wed, 21 Mar 2018 08:47:00 -0700 Subject: [PATCH 0397/1161] Fix xkcd style garbage collection. --- lib/matplotlib/__init__.py | 37 ++++++++++++++++++++---------- lib/matplotlib/pyplot.py | 17 +------------- lib/matplotlib/tests/test_style.py | 7 ++++-- 3 files changed, 31 insertions(+), 30 deletions(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 24a09af4cf31..12368a76a963 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -1246,8 +1246,7 @@ def rc_file(fname): rcParams.update(rc_params_from_file(fname)) -@contextlib.contextmanager -def rc_context(rc=None, fname=None): +class rc_context: """ Return a context manager for managing rc settings. @@ -1277,19 +1276,33 @@ def rc_context(rc=None, fname=None): ax.plot(range(3), range(3)) fig.savefig('A.png', format='png') plt.close(fig) - """ + # While it may seem natural to implement rc_context using + # contextlib.contextmanager, that would entail always calling the finally: + # clause of the contextmanager (which restores the original rcs) including + # during garbage collection; as a result, something like `plt.xkcd(); + # gc.collect()` would result in the style being lost (as `xkcd()` is + # implemented on top of rc_context, and nothing is holding onto context + # manager except possibly circular references. + + def __init__(self, rc=None, fname=None): + self._orig = rcParams.copy() + try: + if fname: + rc_file(fname) + if rc: + rcParams.update(rc) + except Exception: + # If anything goes wrong, revert to the original rcs. + dict.update(rcParams, self._orig) + raise - orig = rcParams.copy() - try: - if fname: - rc_file(fname) - if rc: - rcParams.update(rc) - yield - finally: + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_value, exc_tb): # No need to revalidate the original values. - dict.update(rcParams, orig) + dict.update(rcParams, self._orig) _use_error_msg = """ diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index 12670fd63296..437791dfa9f9 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -387,7 +387,7 @@ def xkcd(scale=1, length=100, randomness=2): "xkcd mode is not compatible with text.usetex = True") from matplotlib import patheffects - xkcd_ctx = rc_context({ + return rc_context({ 'font.family': ['xkcd', 'Humor Sans', 'Comic Sans MS'], 'font.size': 14.0, 'path.sketch': (scale, length, randomness), @@ -404,21 +404,6 @@ def xkcd(scale=1, length=100, randomness=2): 'ytick.major.size': 8, 'ytick.major.width': 3, }) - xkcd_ctx.__enter__() - - # In order to make the call to `xkcd` that does not use a context manager - # (cm) work, we need to enter into the cm ourselves, and return a dummy - # cm that does nothing on entry and cleans up the xkcd context on exit. - # Additionally, we need to keep a reference to the dummy cm because it - # would otherwise be exited when GC'd. - - class dummy_ctx(object): - def __enter__(self): - pass - - __exit__ = xkcd_ctx.__exit__ - - return dummy_ctx() ## Figures ## diff --git a/lib/matplotlib/tests/test_style.py b/lib/matplotlib/tests/test_style.py index 9e3c7d733155..82a659aa1b35 100644 --- a/lib/matplotlib/tests/test_style.py +++ b/lib/matplotlib/tests/test_style.py @@ -1,11 +1,12 @@ from __future__ import absolute_import, division, print_function +from collections import OrderedDict +from contextlib import contextmanager +import gc import os import shutil import tempfile import warnings -from collections import OrderedDict -from contextlib import contextmanager import pytest @@ -163,6 +164,8 @@ def test_xkcd_no_cm(): assert mpl.rcParams["path.sketch"] is None plt.xkcd() assert mpl.rcParams["path.sketch"] == (1, 100, 2) + gc.collect() + assert mpl.rcParams["path.sketch"] == (1, 100, 2) def test_xkcd_cm(): From 5766c9f150c6229a5dad9eff740e6bf547fad61d Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Wed, 21 Mar 2018 10:00:25 -0700 Subject: [PATCH 0398/1161] FIX: ioerror font cache, second try --- lib/matplotlib/font_manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/font_manager.py b/lib/matplotlib/font_manager.py index 02cbd9633fcd..af32e8484535 100644 --- a/lib/matplotlib/font_manager.py +++ b/lib/matplotlib/font_manager.py @@ -909,7 +909,7 @@ def json_dump(data, filename): try: json.dump(data, fh, cls=JSONEncoder, indent=2) except OSError as e: - warnings.warn('Could not save font_manager cache ', e) + warnings.warn('Could not save font_manager cache {}'.format(e)) def json_load(filename): From 0405eba2590ba735ed061f9245bb54aff31cfd06 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Wed, 7 Mar 2018 04:04:10 -0800 Subject: [PATCH 0399/1161] Py3fy webagg/nbagg. (The locking of RendererAgg is already done by the super class, and thus redundant here.) --- lib/matplotlib/backends/backend_nbagg.py | 6 +----- lib/matplotlib/backends/backend_webagg_core.py | 18 +++--------------- 2 files changed, 4 insertions(+), 20 deletions(-) diff --git a/lib/matplotlib/backends/backend_nbagg.py b/lib/matplotlib/backends/backend_nbagg.py index c2e18955cc1b..16d3d51e0a74 100644 --- a/lib/matplotlib/backends/backend_nbagg.py +++ b/lib/matplotlib/backends/backend_nbagg.py @@ -3,8 +3,6 @@ # lib/matplotlib/backends/web_backend/nbagg_uat.ipynb to help verify # that changes made maintain expected behaviour. -import six - from base64 import b64encode import io import json @@ -204,9 +202,7 @@ def send_json(self, content): def send_binary(self, blob): # The comm is ascii, so we always send the image in base64 # encoded data URL form. - data = b64encode(blob) - if six.PY3: - data = data.decode('ascii') + data = b64encode(blob).decode('ascii') data_uri = "data:image/png;base64,{0}".format(data) self.comm.send({'data': data_uri}) diff --git a/lib/matplotlib/backends/backend_webagg_core.py b/lib/matplotlib/backends/backend_webagg_core.py index ab9f2c3813c4..ab8fda933b98 100644 --- a/lib/matplotlib/backends/backend_webagg_core.py +++ b/lib/matplotlib/backends/backend_webagg_core.py @@ -10,11 +10,6 @@ # - `backend_webagg.py` contains a concrete implementation of a basic # application, implemented with tornado. -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - import datetime import io import json @@ -26,8 +21,7 @@ from matplotlib.backends import backend_agg from matplotlib.backend_bases import _Backend -from matplotlib import backend_bases -from matplotlib import _png +from matplotlib import backend_bases, _png # http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes @@ -150,17 +144,11 @@ def show(self): show() def draw(self): - renderer = self.get_renderer(cleared=True) - self._png_is_old = True - - backend_agg.RendererAgg.lock.acquire() try: - self.figure.draw(renderer) + super().draw() finally: - backend_agg.RendererAgg.lock.release() - # Swap the frames - self.manager.refresh_all() + self.manager.refresh_all() # Swap the frames. def draw_idle(self): self.send_event("draw") From b56e784da4a08a3d6a47c4732564a15da50410d7 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sun, 18 Mar 2018 19:17:50 +0100 Subject: [PATCH 0400/1161] Minor docstring updates on binning related plot functions --- lib/matplotlib/axes/_axes.py | 50 ++++++++++++++++++------------------ 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 876bab3f7287..f22c74fba13e 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -4191,11 +4191,10 @@ def hexbin(self, x, y, C=None, gridsize=100, bins=None, of the observations at (x[i],y[i]). If *C* is specified, it specifies values at the coordinate - (x[i],y[i]). These values are accumulated for each hexagonal + (x[i], y[i]). These values are accumulated for each hexagonal bin and then reduced according to *reduce_C_function*, which - defaults to numpy's mean function (np.mean). (If *C* is - specified, it must also be a 1-D sequence of the same length - as *x* and *y*.) + defaults to `numpy.mean`. (If *C* is specified, it must also + be a 1-D sequence of the same length as *x* and *y*.) Parameters ---------- @@ -4211,7 +4210,7 @@ def hexbin(self, x, y, C=None, gridsize=100, bins=None, tuple with two elements specifying the number of hexagons in the *x*-direction and the *y*-direction. - bins : {'log'} or int or sequence, optional, default is *None* + bins : 'log' or int or sequence, optional, default is *None* If *None*, no binning is applied; the color of each hexagon directly corresponds to its count value. @@ -4287,11 +4286,9 @@ def hexbin(self, x, y, C=None, gridsize=100, bins=None, Returns ------- - object - a :class:`~matplotlib.collections.PolyCollection` instance; use - :meth:`~matplotlib.collections.PolyCollection.get_array` on - this :class:`~matplotlib.collections.PolyCollection` to get - the counts in each hexagon. + polycollection + A `.PolyCollection` instance; use `.PolyCollection.get_array` on + this to get the counts in each hexagon. If *marginals* is *True*, horizontal bar and vertical bar (both PolyCollections) will be attached @@ -6058,11 +6055,11 @@ def hist(self, x, bins=None, range=None, density=None, weights=None, ---------- x : (n,) array or sequence of (n,) arrays Input values, this takes either a single array or a sequence of - arrays which are not required to be of the same length + arrays which are not required to be of the same length. - bins : integer or sequence or 'auto', optional + bins : int or sequence or str, optional If an integer is given, ``bins + 1`` bin edges are calculated and - returned, consistent with :func:`numpy.histogram`. + returned, consistent with `numpy.histogram`. If `bins` is a sequence, gives bin edges, including left edge of first bin and right edge of last bin. In this case, `bins` is @@ -6079,9 +6076,12 @@ def hist(self, x, bins=None, range=None, density=None, weights=None, Unequally spaced bins are supported if *bins* is a sequence. - If Numpy 1.11 is installed, may also be ``'auto'``. + With Numpy 1.11 or newer, you can alternatively provide a string + describing a binning strategy, such as 'auto', 'sturges', 'fd', + 'doane', 'scott', 'rice', 'sturges' or 'sqrt', see + `numpy.histogram`. - Default is taken from the rcParam ``hist.bins``. + The default is taken from :rc:`hist.bins`. range : tuple or None, optional The lower and upper range of the bins. Lower and upper outliers @@ -6094,7 +6094,7 @@ def hist(self, x, bins=None, range=None, density=None, weights=None, Default is ``None`` - density : boolean, optional + density : bool, optional If ``True``, the first element of the return tuple will be the counts normalized to form a probability density, i.e., the area (or integral) under the histogram will sum to 1. @@ -6118,7 +6118,7 @@ def hist(self, x, bins=None, range=None, density=None, weights=None, Default is ``None`` - cumulative : boolean, optional + cumulative : bool, optional If ``True``, then a histogram is computed where each bin gives the counts in that bin plus all bins for smaller values. The last bin gives the total number of datapoints. If *normed* or *density* @@ -6178,7 +6178,7 @@ def hist(self, x, bins=None, range=None, density=None, weights=None, Default is ``None`` - log : boolean, optional + log : bool, optional If ``True``, the histogram axis will be set to a log scale. If *log* is ``True`` and *x* is a 1D array, empty bins will be filtered out and only the non-empty ``(n, bins, patches)`` @@ -6192,14 +6192,14 @@ def hist(self, x, bins=None, range=None, density=None, weights=None, Default is ``None`` - label : string or None, optional + label : str or None, optional String, or sequence of strings to match multiple datasets. Bar charts yield multiple patches per dataset, but only the first gets the label, so that the legend command will work as expected. default is ``None`` - stacked : boolean, optional + stacked : bool, optional If ``True``, multiple data are stacked on top of each other If ``False`` multiple data are arranged side by side if histtype is 'bar' or on top of each other if histtype is 'step' @@ -6553,10 +6553,10 @@ def hist2d(self, x, y, bins=10, range=None, normed=False, weights=None, Parameters ---------- - x, y: array_like, shape (n, ) + x, y : array_like, shape (n, ) Input values - bins: [None | int | [int, int] | array_like | [array, array]] + bins : None or int or [int, int] or array_like or [array, array] The bin specification: @@ -6580,7 +6580,7 @@ def hist2d(self, x, y, bins=10, range=None, normed=False, weights=None, xmax], [ymin, ymax]]. All values outside of this range will be considered outliers and not tallied in the histogram. - normed : boolean, optional, default: False + normed : bool, optional, default: False Normalize histogram. weights : array_like, shape (n, ), optional, default: None @@ -6610,7 +6610,7 @@ def hist2d(self, x, y, bins=10, range=None, normed=False, weights=None, Other Parameters ---------------- - cmap : {Colormap, string}, optional + cmap : Colormap or str, optional A :class:`matplotlib.colors.Colormap` instance. If not set, use rc settings. @@ -6619,7 +6619,7 @@ def hist2d(self, x, y, bins=10, range=None, normed=False, weights=None, scale luminance data to ``[0, 1]``. If not set, defaults to ``Normalize()``. - vmin/vmax : {None, scalar}, optional + vmin/vmax : None or scalar, optional Arguments passed to the `Normalize` instance. alpha : ``0 <= scalar <= 1`` or ``None``, optional From 7e7a8f1ee65141f467ed744ba1b54081d46aebd0 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sun, 4 Mar 2018 23:50:27 +0100 Subject: [PATCH 0401/1161] Update afm docs --- lib/matplotlib/afm.py | 272 ++++++++++++++++--------------- lib/matplotlib/tests/test_afm.py | 6 +- 2 files changed, 147 insertions(+), 131 deletions(-) diff --git a/lib/matplotlib/afm.py b/lib/matplotlib/afm.py index cfdcd55273e3..eece3a396792 100644 --- a/lib/matplotlib/afm.py +++ b/lib/matplotlib/afm.py @@ -32,8 +32,12 @@ >>> afm.get_bbox_char('!') [130, -9, 238, 676] +As in the Adobe Font Metrics File Format Specification, all dimensions +are given in units of 1/1000 of the scale factor (point size) of the font +being used. """ +from collections import namedtuple import re import sys @@ -169,16 +173,42 @@ def _parse_header(fh): raise RuntimeError('Bad parse') +CharMetrics = namedtuple('CharMetrics', 'width, name, bbox') +CharMetrics.__doc__ = """ + Represents the character metrics of a single character. + + Notes + ----- + The fields do currently only describe a subset of character metrics + information defined in the AFM standard. + """ +CharMetrics.width.__doc__ = """The character width (WX).""" +CharMetrics.name.__doc__ = """The character name (N).""" +CharMetrics.bbox.__doc__ = """ + The bbox of the character (B) as a tuple (*llx*, *lly*, *urx*, *ury*).""" + + def _parse_char_metrics(fh): """ - Return a character metric dictionary. Keys are the ASCII num of - the character, values are a (*wx*, *name*, *bbox*) tuple, where - *wx* is the character width, *name* is the postscript language - name, and *bbox* is a (*llx*, *lly*, *urx*, *ury*) tuple. + Parse the given filehandle for character metrics information and return + the information as dicts. + + It is assumed that the file cursor is on the line behind + 'StartCharMetrics'. + Returns + ------- + ascii_d : dict + A mapping "ASCII num of the character" to `.CharMetrics`. + name_d : dict + A mapping "character name" to `.CharMetrics`. + + Notes + ----- This function is incomplete per the standard, but thus far parses all the sample afm files tried. """ + required_keys = {'C', 'WX', 'N', 'B'} ascii_d = {} name_d = {} @@ -191,21 +221,22 @@ def _parse_char_metrics(fh): # Split the metric line into a dictionary, keyed by metric identifiers vals = dict(s.strip().split(' ', 1) for s in line.split(';') if s) # There may be other metrics present, but only these are needed - if not {'C', 'WX', 'N', 'B'}.issubset(vals): + if not required_keys.issubset(vals): raise RuntimeError('Bad char metrics line: %s' % line) num = _to_int(vals['C']) wx = _to_float(vals['WX']) name = vals['N'] bbox = _to_list_of_floats(vals['B']) bbox = list(map(int, bbox)) + metrics = CharMetrics(wx, name, bbox) # Workaround: If the character name is 'Euro', give it the # corresponding character code, according to WinAnsiEncoding (see PDF # Reference). if name == 'Euro': num = 128 if num != -1: - ascii_d[num] = (wx, name, bbox) - name_d[name] = (wx, bbox) + ascii_d[num] = metrics + name_d[name] = metrics raise RuntimeError('Bad parse') @@ -241,55 +272,80 @@ def _parse_kern_pairs(fh): raise RuntimeError('Bad kern pairs parse') +CompositePart = namedtuple('CompositePart', 'name, dx, dy') +CompositePart.__doc__ = """ + Represents the information on a composite element of a composite char.""" +CompositePart.name.__doc__ = """Name of the part, e.g. 'acute'.""" +CompositePart.dx.__doc__ = """x-displacement of the part from the origin.""" +CompositePart.dy.__doc__ = """y-displacement of the part from the origin.""" + + def _parse_composites(fh): """ - Return a composites dictionary. Keys are the names of the - composites. Values are a num parts list of composite information, - with each element being a (*name*, *dx*, *dy*) tuple. Thus a - composites line reading: + Parse the given filehandle for composites information return them as a + dict. + + It is assumed that the file cursor is on the line behind 'StartComposites'. + + Returns + ------- + composites : dict + A dict mapping composite character names to a parts list. The parts + list is a list of `.CompositePart` entries describing the parts of + the composite. + + Example + ------- + A composite definition line:: CC Aacute 2 ; PCC A 0 0 ; PCC acute 160 170 ; will be represented as:: - d['Aacute'] = [ ('A', 0, 0), ('acute', 160, 170) ] + composites['Aacute'] = [CompositePart(name='A', dx=0, dy=0), + CompositePart(name='acute', dx=160, dy=170)] """ - d = {} + composites = {} for line in fh: line = line.rstrip() if not line: continue if line.startswith(b'EndComposites'): - return d + return composites vals = line.split(b';') cc = vals[0].split() name, numParts = cc[1], _to_int(cc[2]) pccParts = [] for s in vals[1:-1]: pcc = s.split() - name, dx, dy = pcc[1], _to_float(pcc[2]), _to_float(pcc[3]) - pccParts.append((name, dx, dy)) - d[name] = pccParts + part = CompositePart(pcc[1], _to_float(pcc[2]), _to_float(pcc[3])) + pccParts.append(part) + composites[name] = pccParts raise RuntimeError('Bad composites parse') def _parse_optional(fh): """ - Parse the optional fields for kern pair data and composites - - return value is a (*kernDict*, *compositeDict*) which are the - return values from :func:`_parse_kern_pairs`, and - :func:`_parse_composites` if the data exists, or empty dicts - otherwise + Parse the optional fields for kern pair data and composites. + + Returns + ------- + kern_data : dict + A dict containing kerning information. May be empty. + See `._parse_kern_pairs`. + composites : dict + A dict containing composite information. May be empty. + See `._parse_composites`. """ optional = { b'StartKernData': _parse_kern_pairs, b'StartComposites': _parse_composites, } - d = {b'StartKernData': {}, b'StartComposites': {}} + d = {b'StartKernData': {}, + b'StartComposites': {}} for line in fh: line = line.rstrip() if not line: @@ -299,47 +355,48 @@ def _parse_optional(fh): if key in optional: d[key] = optional[key](fh) - l = (d[b'StartKernData'], d[b'StartComposites']) - return l + return d[b'StartKernData'], d[b'StartComposites'] def parse_afm(fh): """ - Parse the Adobe Font Metics file in file handle *fh*. Return value - is a (*dhead*, *dcmetrics_ascii*, *dmetrics_name*, *dkernpairs*, - *dcomposite*) tuple where - *dhead* is a :func:`_parse_header` dict, - *dcmetrics_ascii* and *dcmetrics_name* are the two resulting dicts - from :func:`_parse_char_metrics`, - *dkernpairs* is a :func:`_parse_kern_pairs` dict (possibly {}) and - *dcomposite* is a :func:`_parse_composites` dict (possibly {}) + Parse the Adobe Font Metrics file in file handle *fh*. + + Returns + ------- + header : dict + A header dict. See :func:`_parse_header`. + cmetrics_by_ascii : dict + From :func:`_parse_char_metrics`. + cmetrics_by_name : dict + From :func:`_parse_char_metrics`. + kernpairs : dict + From :func:`_parse_kern_pairs`. + composites : dict + From :func:`_parse_composites` + """ _sanity_check(fh) - dhead = _parse_header(fh) - dcmetrics_ascii, dcmetrics_name = _parse_char_metrics(fh) - doptional = _parse_optional(fh) - return dhead, dcmetrics_ascii, dcmetrics_name, doptional[0], doptional[1] + header = _parse_header(fh) + cmetrics_by_ascii, cmetrics_by_name = _parse_char_metrics(fh) + kernpairs, composites = _parse_optional(fh) + return header, cmetrics_by_ascii, cmetrics_by_name, kernpairs, composites class AFM(object): def __init__(self, fh): - """ - Parse the AFM file in file object *fh* - """ - (dhead, dcmetrics_ascii, dcmetrics_name, dkernpairs, dcomposite) = \ - parse_afm(fh) - self._header = dhead - self._kern = dkernpairs - self._metrics = dcmetrics_ascii - self._metrics_by_name = dcmetrics_name - self._composite = dcomposite + """Parse the AFM file in file object *fh*.""" + (self._header, + self._metrics, + self._metrics_by_name, + self._kern, + self._composite) = parse_afm(fh) def get_bbox_char(self, c, isord=False): if not isord: c = ord(c) - wx, name, bbox = self._metrics[c] - return bbox + return self._metrics[c].bbox def string_width_height(self, s): """ @@ -348,7 +405,7 @@ def string_width_height(self, s): """ if not len(s): return 0, 0 - totalw = 0 + total_width = 0 namelast = None miny = 1e9 maxy = 0 @@ -356,35 +413,21 @@ def string_width_height(self, s): if c == '\n': continue wx, name, bbox = self._metrics[ord(c)] + + total_width += wx + self._kern.get((namelast, name), 0) l, b, w, h = bbox + miny = min(miny, b) + maxy = max(maxy, b + h) - # find the width with kerning - try: - kp = self._kern[(namelast, name)] - except KeyError: - kp = 0 - totalw += wx + kp - - # find the max y - thismax = b + h - if thismax > maxy: - maxy = thismax - - # find the min y - thismin = b - if thismin < miny: - miny = thismin namelast = name - return totalw, maxy - miny + return total_width, maxy - miny def get_str_bbox_and_descent(self, s): - """ - Return the string bounding box - """ + """Return the string bounding box and the maximal descent.""" if not len(s): - return 0, 0, 0, 0 - totalw = 0 + return 0, 0, 0, 0, 0 + total_width = 0 namelast = None miny = 1e9 maxy = 0 @@ -396,79 +439,51 @@ def get_str_bbox_and_descent(self, s): continue name = uni2type1.get(ord(c), 'question') try: - wx, bbox = self._metrics_by_name[name] + wx, _, bbox = self._metrics_by_name[name] except KeyError: name = 'question' - wx, bbox = self._metrics_by_name[name] + wx, _, bbox = self._metrics_by_name[name] + total_width += wx + self._kern.get((namelast, name), 0) l, b, w, h = bbox - if l < left: - left = l - # find the width with kerning - try: - kp = self._kern[(namelast, name)] - except KeyError: - kp = 0 - totalw += wx + kp - - # find the max y - thismax = b + h - if thismax > maxy: - maxy = thismax - - # find the min y - thismin = b - if thismin < miny: - miny = thismin + left = min(left, l) + miny = min(miny, b) + maxy = max(maxy, b + h) + namelast = name - return left, miny, totalw, maxy - miny, -miny + return left, miny, total_width, maxy - miny, -miny def get_str_bbox(self, s): - """ - Return the string bounding box - """ + """Return the string bounding box.""" return self.get_str_bbox_and_descent(s)[:4] def get_name_char(self, c, isord=False): - """ - Get the name of the character, i.e., ';' is 'semicolon' - """ + """Get the name of the character, i.e., ';' is 'semicolon'.""" if not isord: c = ord(c) - wx, name, bbox = self._metrics[c] - return name + return self._metrics[c].name def get_width_char(self, c, isord=False): """ - Get the width of the character from the character metric WX - field + Get the width of the character from the character metric WX field. """ if not isord: c = ord(c) - wx, name, bbox = self._metrics[c] - return wx + return self._metrics[c].width def get_width_from_char_name(self, name): - """ - Get the width of the character from a type1 character name - """ - wx, bbox = self._metrics_by_name[name] - return wx + """Get the width of the character from a type1 character name.""" + return self._metrics_by_name[name].width def get_height_char(self, c, isord=False): - """ - Get the height of character *c* from the bounding box. This - is the ink height (space is 0) - """ + """Get the bounding box (ink) height of character *c* (space is 0).""" if not isord: c = ord(c) - wx, name, bbox = self._metrics[c] - return bbox[-1] + return self._metrics[c].bbox[-1] def get_kern_dist(self, c1, c2): """ - Return the kerning pair distance (possibly 0) for chars *c1* - and *c2* + Return the kerning pair distance (possibly 0) for chars *c1* and *c2*. """ name1, name2 = self.get_name_char(c1), self.get_name_char(c2) return self.get_kern_dist_from_name(name1, name2) @@ -476,23 +491,23 @@ def get_kern_dist(self, c1, c2): def get_kern_dist_from_name(self, name1, name2): """ Return the kerning pair distance (possibly 0) for chars - *name1* and *name2* + *name1* and *name2*. """ return self._kern.get((name1, name2), 0) def get_fontname(self): - "Return the font name, e.g., 'Times-Roman'" + """Return the font name, e.g., 'Times-Roman'.""" return self._header[b'FontName'] def get_fullname(self): - "Return the font full name, e.g., 'Times-Roman'" + """Return the font full name, e.g., 'Times-Roman'.""" name = self._header.get(b'FullName') if name is None: # use FontName as a substitute name = self._header[b'FontName'] return name def get_familyname(self): - "Return the font family name, e.g., 'Times'" + """Return the font family name, e.g., 'Times'.""" name = self._header.get(b'FamilyName') if name is not None: return name @@ -505,26 +520,27 @@ def get_familyname(self): @property def family_name(self): + """The font family name, e.g., 'Times'.""" return self.get_familyname() def get_weight(self): - "Return the font weight, e.g., 'Bold' or 'Roman'" + """Return the font weight, e.g., 'Bold' or 'Roman'.""" return self._header[b'Weight'] def get_angle(self): - "Return the fontangle as float" + """Return the fontangle as float.""" return self._header[b'ItalicAngle'] def get_capheight(self): - "Return the cap height as float" + """Return the cap height as float.""" return self._header[b'CapHeight'] def get_xheight(self): - "Return the xheight as float" + """Return the xheight as float.""" return self._header[b'XHeight'] def get_underline_thickness(self): - "Return the underline thickness as float" + """Return the underline thickness as float.""" return self._header[b'UnderlineThickness'] def get_horizontal_stem_width(self): diff --git a/lib/matplotlib/tests/test_afm.py b/lib/matplotlib/tests/test_afm.py index eef807b1d3df..25c7a2ad0f92 100644 --- a/lib/matplotlib/tests/test_afm.py +++ b/lib/matplotlib/tests/test_afm.py @@ -67,9 +67,9 @@ def test_parse_char_metrics(): 42: (1141.0, 'foo', [40, 60, 800, 360]), 99: (583.0, 'bar', [40, -10, 543, 210]), }, - {'space': (250.0, [0, 0, 0, 0]), - 'foo': (1141.0, [40, 60, 800, 360]), - 'bar': (583.0, [40, -10, 543, 210]), + {'space': (250.0, 'space', [0, 0, 0, 0]), + 'foo': (1141.0, 'foo', [40, 60, 800, 360]), + 'bar': (583.0, 'bar', [40, -10, 543, 210]), }) From cba3ffd1abf8de2698cdffe867671d87ce8f744a Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Thu, 22 Mar 2018 01:27:21 +0100 Subject: [PATCH 0402/1161] py3ify table.py and correct some docstrings --- lib/matplotlib/table.py | 65 ++++++++++++++++++----------------------- 1 file changed, 29 insertions(+), 36 deletions(-) diff --git a/lib/matplotlib/table.py b/lib/matplotlib/table.py index bc335f35aea6..86a874a2d6cf 100644 --- a/lib/matplotlib/table.py +++ b/lib/matplotlib/table.py @@ -19,11 +19,6 @@ License : matplotlib license """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - import warnings from . import artist @@ -37,8 +32,7 @@ class Cell(Rectangle): """ - A cell is a Rectangle with some associated text. - + A cell is a `.Rectangle` with some associated text. """ PAD = 0.1 # padding between text and rectangle @@ -73,7 +67,7 @@ def set_figure(self, fig): self._text.set_figure(fig) def get_text(self): - 'Return the cell Text intance' + """Return the cell `.Text` instance.""" return self._text def set_fontsize(self, size): @@ -81,7 +75,7 @@ def set_fontsize(self, size): self.stale = True def get_fontsize(self): - 'Return the cell fontsize' + """Return the cell fontsize.""" return self._text.get_fontsize() def auto_set_font_size(self, renderer): @@ -189,8 +183,9 @@ def visible_edges(self, value): self.stale = True def get_path(self): - 'Return a path where the edges specified by _visible_edges are drawn' - + """ + Return a path where the edges specified by _visible_edges are drawn. + """ codes = [Path.MOVETO] for edge in self._edges: @@ -249,12 +244,12 @@ def __init__(self, ax, loc=None, bbox=None, **kwargs): Artist.__init__(self) - if isinstance(loc, six.string_types) and loc not in self.codes: + if isinstance(loc, str) and loc not in self.codes: warnings.warn('Unrecognized location %s. Falling back on ' 'bottom; valid locations are\n%s\t' % (loc, '\n\t'.join(self.codes))) loc = 'bottom' - if isinstance(loc, six.string_types): + if isinstance(loc, str): loc = self.codes.get(loc, 1) self.set_figure(ax.figure) self._axes = ax @@ -281,9 +276,9 @@ def add_cell(self, row, col, *args, **kwargs): Parameters ---------- row : int - Row index + Row index. col : int - Column index + Column index. Returns ------- @@ -297,7 +292,7 @@ def add_cell(self, row, col, *args, **kwargs): def __setitem__(self, position, cell): """ - Set a customcell in a given position + Set a custom cell in a given position. """ if not isinstance(cell, CustomCell): raise TypeError('Table only accepts CustomCell') @@ -313,7 +308,7 @@ def __setitem__(self, position, cell): def __getitem__(self, position): """ - Retreive a custom cell from a given position + Retrieve a custom cell from a given position. """ try: row, col = position[0], position[1] @@ -359,7 +354,7 @@ def _get_grid_bbox(self, renderer): Only include those in the range (0,0) to (maxRow, maxCol)""" boxes = [cell.get_window_extent(renderer) - for (row, col), cell in six.iteritems(self._cells) + for (row, col), cell in self._cells.items() if row >= 0 and col >= 0] bbox = Bbox.union(boxes) return bbox.inverse_transformed(self.get_transform()) @@ -377,7 +372,7 @@ def contains(self, mouseevent): renderer = self.figure._cachedRenderer if renderer is not None: boxes = [cell.get_window_extent(renderer) - for (row, col), cell in six.iteritems(self._cells) + for (row, col), cell in self._cells.items() if row >= 0 and col >= 0] bbox = Bbox.union(boxes) return bbox.contains(mouseevent.x, mouseevent.y), {} @@ -385,14 +380,14 @@ def contains(self, mouseevent): return False, {} def get_children(self): - 'Return the Artists contained by the table' - return list(six.itervalues(self._cells)) + """Return the Artists contained by the table.""" + return list(self._cells.values()) get_child_artists = get_children # backward compatibility def get_window_extent(self, renderer): - 'Return the bounding box of the table in window coords' + """Return the bounding box of the table in window coords.""" boxes = [cell.get_window_extent(renderer) - for cell in six.itervalues(self._cells)] + for cell in self._cells.values()] return Bbox.union(boxes) def _do_cell_alignment(self): @@ -403,7 +398,7 @@ def _do_cell_alignment(self): # Calculate row/column widths widths = {} heights = {} - for (row, col), cell in six.iteritems(self._cells): + for (row, col), cell in self._cells.items(): height = heights.setdefault(row, 0.0) heights[row] = max(height, cell.get_height()) width = widths.setdefault(col, 0.0) @@ -423,7 +418,7 @@ def _do_cell_alignment(self): ypos += heights[row] # set cell positions - for (row, col), cell in six.iteritems(self._cells): + for (row, col), cell in self._cells.items(): cell.set_x(lefts[col]) cell.set_y(bottoms[row]) @@ -461,8 +456,7 @@ def auto_set_column_width(self, col): self.stale = True def _auto_set_column_width(self, col, renderer): - """ Automagically set width for column. - """ + """Automatically set width for column.""" cells = [key for key in self._cells if key[1] == col] # find max width @@ -484,9 +478,9 @@ def _auto_set_font_size(self, renderer): if len(self._cells) == 0: return - fontsize = list(six.itervalues(self._cells))[0].get_fontsize() + fontsize = next(iter(self._cells.values())).get_fontsize() cells = [] - for key, cell in six.iteritems(self._cells): + for key, cell in self._cells.items(): # ignore auto-sized columns if key[1] in self._autoColumns: continue @@ -495,12 +489,12 @@ def _auto_set_font_size(self, renderer): cells.append(cell) # now set all fontsizes equal - for cell in six.itervalues(self._cells): + for cell in self._cells.values(): cell.set_fontsize(fontsize) def scale(self, xscale, yscale): """ Scale column widths by xscale and row heights by yscale. """ - for c in six.itervalues(self._cells): + for c in self._cells.values(): c.set_width(c.get_width() * xscale) c.set_height(c.get_height() * yscale) @@ -511,14 +505,13 @@ def set_fontsize(self, size): ACCEPTS: a float in points """ - for cell in six.itervalues(self._cells): + for cell in self._cells.values(): cell.set_fontsize(size) self.stale = True def _offset(self, ox, oy): - 'Move all the artists by ox,oy (axes coords)' - - for c in six.itervalues(self._cells): + """Move all the artists by ox, oy (axes coords).""" + for c in self._cells.values(): x, y = c.get_x(), c.get_y() c.set_x(x + ox) c.set_y(y + oy) @@ -579,7 +572,7 @@ def _update_positions(self, renderer): self._offset(ox, oy) def get_celld(self): - 'return a dict of cells in the table' + """Return a dict of cells in the table.""" return self._cells From 557ddea297be803aecdbe3efba96bf6a6f5d56a7 Mon Sep 17 00:00:00 2001 From: zhangeugenia Date: Thu, 22 Mar 2018 01:15:54 -0400 Subject: [PATCH 0403/1161] updated fix for #8818 --- lib/matplotlib/axes/_axes.py | 24 +++++++++++++----------- lib/matplotlib/tests/test_axes.py | 1 + 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index dda01721bf05..7308835fda2d 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -55,24 +55,26 @@ def _plot_args_replacer(args, data): return ["y"] elif len(args) == 2: # this can be two cases: x,y or y,c + if (not args[1] in data and + not (hasattr(data, 'dtype') and + hasattr(data.dtype, 'names') and + data.dtype.names is not None and + args[1] in data.dtype.names)): + # this is not in data, so just assume that it is something which + # will not get replaced (color spec or array like). + return ["y", "c"] # it's data, but could be a color code like 'ro' or 'b--' # -> warn the user in that case... - try: _process_plot_format(args[1]) except ValueError: pass else: - # arg can be parsed into colour; verify arg is not data - if not args[1] in data: - return ["y", "c"] - else: - warnings.warn( - "Second argument {!r} is ambiguous: could be a color spec " - "but is in data; using as data. Either rename the entry " - "in data or use three arguments to plot.".format(args[1]), - RuntimeWarning, stacklevel=3) - + warnings.warn( + "Second argument {!r} is ambiguous: could be a color spec but " + "is in data; using as data. Either rename the entry in data " + "or use three arguments to plot.".format(args[1]), + RuntimeWarning, stacklevel=3) return ["x", "y"] elif len(args) == 3: return ["x", "y", "c"] diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index 30ff3dc867b3..e8cb3a243fde 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -588,6 +588,7 @@ def test_structured_data(): # support for stuctured data pts = np.array([(1, 1), (2, 2)], dtype=[("ones", float), ("twos", float)]) + # this should not read second name as a format and raise ValueError fig, ax = plt.subplots(2) ax[0].plot("ones", "twos", data=pts) ax[1].plot("ones", "twos", "r", data=pts) From 20a46a30a2fb8b4df50792607c43e502bee82ad6 Mon Sep 17 00:00:00 2001 From: Martin Spacek Date: Thu, 22 Mar 2018 18:15:51 +0100 Subject: [PATCH 0404/1161] ENH: Stop mangling default figure file name if file exists If the file exists, the user is still prompted by the usual dialog box to decide whether or not to overwrite. The appended `-1`, `-2` are very annoying and not at all typical behaviour of a save dialog box. --- lib/matplotlib/backend_bases.py | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/lib/matplotlib/backend_bases.py b/lib/matplotlib/backend_bases.py index fc92f6dd1869..0000f3416a01 100644 --- a/lib/matplotlib/backend_bases.py +++ b/lib/matplotlib/backend_bases.py @@ -2275,17 +2275,6 @@ def get_default_filename(self): default_basename = default_basename.replace(' ', '_') default_filetype = self.get_default_filetype() default_filename = default_basename + '.' + default_filetype - - save_dir = os.path.expanduser(rcParams['savefig.directory']) - - # ensure non-existing filename in save dir - i = 1 - while os.path.isfile(os.path.join(save_dir, default_filename)): - # attach numerical count to basename - default_filename = ( - '{}-{}.{}'.format(default_basename, i, default_filetype)) - i += 1 - return default_filename def switch_backends(self, FigureCanvasClass): From 3a8b143d9a35ecd5c31edc0b65e9be9f385c3f1b Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Thu, 22 Mar 2018 00:52:28 +0100 Subject: [PATCH 0405/1161] More python3 cleanup --- lib/matplotlib/axes/_axes.py | 17 ++++------- lib/matplotlib/backends/qt_compat.py | 4 --- lib/matplotlib/pyplot.py | 12 +++----- lib/matplotlib/testing/jpl_units/Duration.py | 17 +---------- lib/matplotlib/testing/jpl_units/Epoch.py | 22 +++++++------- .../testing/jpl_units/EpochConverter.py | 11 ++----- .../testing/jpl_units/StrConverter.py | 5 +--- lib/matplotlib/testing/jpl_units/UnitDbl.py | 26 ++++------------ .../testing/jpl_units/UnitDblConverter.py | 18 ++++------- .../testing/jpl_units/UnitDblFormatter.py | 3 -- lib/matplotlib/testing/jpl_units/__init__.py | 2 -- lib/matplotlib/text.py | 30 +++++++------------ 12 files changed, 46 insertions(+), 121 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 49363dc7d611..0dbdaf397971 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -1,9 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six -from six.moves import zip, zip_longest - import functools import itertools import logging @@ -2764,7 +2758,7 @@ def get_next_color(): if autopct is not None: xt = x + pctdistance * radius * math.cos(thetam) yt = y + pctdistance * radius * math.sin(thetam) - if isinstance(autopct, six.string_types): + if isinstance(autopct, str): s = autopct % (100. * frac) elif callable(autopct): s = autopct(100. * frac) @@ -5606,8 +5600,7 @@ def pcolor(self, *args, **kwargs): # makes artifacts that are often disturbing. if 'antialiased' in kwargs: kwargs['antialiaseds'] = kwargs.pop('antialiased') - if 'antialiaseds' not in kwargs and ( - isinstance(ec, six.string_types) and ec.lower() == "none"): + if 'antialiaseds' not in kwargs and cbook._str_lower_equal(ec, "none"): kwargs['antialiaseds'] = False kwargs.setdefault('snap', False) @@ -6526,12 +6519,12 @@ def hist(self, x, bins=None, range=None, density=None, weights=None, if label is None: labels = [None] - elif isinstance(label, six.string_types): + elif isinstance(label, str): labels = [label] else: - labels = [six.text_type(lab) for lab in label] + labels = [str(lab) for lab in label] - for patch, lbl in zip_longest(patches, labels, fillvalue=None): + for patch, lbl in itertools.zip_longest(patches, labels): if patch: p = patch[0] p.update(kwargs) diff --git a/lib/matplotlib/backends/qt_compat.py b/lib/matplotlib/backends/qt_compat.py index d2892ea21133..e02e881a3969 100644 --- a/lib/matplotlib/backends/qt_compat.py +++ b/lib/matplotlib/backends/qt_compat.py @@ -1,9 +1,5 @@ """ A Qt API selector that can be used to switch between PyQt and PySide. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six import os import logging diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index 12670fd63296..4c45124a9658 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -17,10 +17,6 @@ The object-oriented API is recommended for more complex plots. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six import inspect from numbers import Number @@ -504,7 +500,7 @@ def figure(num=None, # autoincrement if None, else integer from 1-N figLabel = '' if num is None: num = next_num - elif isinstance(num, six.string_types): + elif isinstance(num, str): figLabel = num allLabels = get_figlabels() if figLabel not in allLabels: @@ -655,13 +651,13 @@ def close(*args): arg = args[0] if arg == 'all': _pylab_helpers.Gcf.destroy_all() - elif isinstance(arg, six.integer_types): + elif isinstance(arg, int): _pylab_helpers.Gcf.destroy(arg) elif hasattr(arg, 'int'): # if we are dealing with a type UUID, we # can use its integer representation _pylab_helpers.Gcf.destroy(arg.int) - elif isinstance(arg, six.string_types): + elif isinstance(arg, str): allLabels = get_figlabels() if arg in allLabels: num = get_fignums()[allLabels.index(arg)] @@ -2449,7 +2445,7 @@ def plotfile(fname, cols=(0,), plotfuncs=None, def getname_val(identifier): 'return the name and column data for identifier' - if isinstance(identifier, six.string_types): + if isinstance(identifier, str): return identifier, r[identifier] elif isinstance(identifier, Number): name = r.dtype.names[int(identifier)] diff --git a/lib/matplotlib/testing/jpl_units/Duration.py b/lib/matplotlib/testing/jpl_units/Duration.py index 8c6d5b250176..bdfb4cfb5f9d 100644 --- a/lib/matplotlib/testing/jpl_units/Duration.py +++ b/lib/matplotlib/testing/jpl_units/Duration.py @@ -10,10 +10,6 @@ # ========================================================================== # Place all imports after here. # -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six import operator # # Place all imports before here. @@ -66,20 +62,9 @@ def seconds(self): return self._seconds # ---------------------------------------------------------------------- - def __nonzero__(self): - """Compare two Durations. - - = INPUT VARIABLES - - rhs The Duration to compare against. - - = RETURN VALUE - - Returns -1 if self < rhs, 0 if self == rhs, +1 if self > rhs. - """ + def __bool__(self): return self._seconds != 0 - if six.PY3: - __bool__ = __nonzero__ - # ---------------------------------------------------------------------- def __eq__(self, rhs): return self._cmp(rhs, operator.eq) diff --git a/lib/matplotlib/testing/jpl_units/Epoch.py b/lib/matplotlib/testing/jpl_units/Epoch.py index 72ccbec5abac..8cf956366d53 100644 --- a/lib/matplotlib/testing/jpl_units/Epoch.py +++ b/lib/matplotlib/testing/jpl_units/Epoch.py @@ -10,10 +10,6 @@ # =========================================================================== # Place all imports after here. # -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six import operator import math import datetime as DT @@ -68,16 +64,18 @@ def __init__(self, frame, sec=None, jd=None, daynum=None, dt=None): (daynum is not None and dt is not None) or (dt is not None and (sec is not None or jd is not None)) or ((dt is not None) and not isinstance(dt, DT.datetime))): - msg = "Invalid inputs. Must enter sec and jd together, " \ - "daynum by itself, or dt (must be a python datetime).\n" \ - "Sec = %s\nJD = %s\ndnum= %s\ndt = %s" \ - % (str(sec), str(jd), str(daynum), str(dt)) - raise ValueError(msg) + raise ValueError( + "Invalid inputs. Must enter sec and jd together, " + "daynum by itself, or dt (must be a python datetime).\n" + "Sec = %s\n" + "JD = %s\n" + "dnum= %s\n" + "dt = %s" % (sec, jd, daynum, dt)) if frame not in self.allowed: - msg = "Input frame '%s' is not one of the supported frames of %s" \ - % (frame, str(list(six.iterkeys(self.allowed)))) - raise ValueError(msg) + raise ValueError( + "Input frame '%s' is not one of the supported frames of %s" % + (frame, list(self.allowed.keys()))) self._frame = frame diff --git a/lib/matplotlib/testing/jpl_units/EpochConverter.py b/lib/matplotlib/testing/jpl_units/EpochConverter.py index 4892483b5f0e..cc85d104409a 100644 --- a/lib/matplotlib/testing/jpl_units/EpochConverter.py +++ b/lib/matplotlib/testing/jpl_units/EpochConverter.py @@ -10,11 +10,6 @@ # ========================================================================== # Place all imports after here. # -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - import matplotlib.units as units import matplotlib.dates as date_ticker from matplotlib.cbook import iterable @@ -121,8 +116,8 @@ def convert(value, unit, axis): isNotEpoch = True isDuration = False - if iterable(value) and not isinstance(value, six.string_types): - if (len(value) == 0): + if iterable(value) and not isinstance(value, str): + if len(value) == 0: return [] else: return [EpochConverter.convert(x, unit, axis) for x in value] @@ -156,7 +151,7 @@ def default_units(value, axis): - Returns the default units to use for value. """ frame = None - if iterable(value) and not isinstance(value, six.string_types): + if iterable(value) and not isinstance(value, str): return EpochConverter.default_units(value[0], axis) else: frame = value.frame() diff --git a/lib/matplotlib/testing/jpl_units/StrConverter.py b/lib/matplotlib/testing/jpl_units/StrConverter.py index 924e39a8884a..7b6d8b3847fa 100644 --- a/lib/matplotlib/testing/jpl_units/StrConverter.py +++ b/lib/matplotlib/testing/jpl_units/StrConverter.py @@ -10,12 +10,9 @@ # ========================================================================== # Place all imports after here. # -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import matplotlib.units as units from matplotlib.cbook import iterable - +# # Place all imports before here. # ========================================================================== diff --git a/lib/matplotlib/testing/jpl_units/UnitDbl.py b/lib/matplotlib/testing/jpl_units/UnitDbl.py index 480ef6144cbc..b65b6a357bd6 100644 --- a/lib/matplotlib/testing/jpl_units/UnitDbl.py +++ b/lib/matplotlib/testing/jpl_units/UnitDbl.py @@ -10,10 +10,6 @@ # ========================================================================== # Place all imports after here. # -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six import operator # # Place all imports before here. @@ -111,19 +107,9 @@ def __neg__(self): return UnitDbl(-self._value, self._units) # ---------------------------------------------------------------------- - def __nonzero__(self): - """Test a UnitDbl for a non-zero value. - - = RETURN VALUE - - Returns true if the value is non-zero. - """ - if six.PY3: - return self._value.__bool__() - else: - return self._value.__nonzero__() - - if six.PY3: - __bool__ = __nonzero__ + def __bool__(self): + """Return the truth value of a UnitDbl.""" + return bool(self._value) # ---------------------------------------------------------------------- def __eq__(self, rhs): @@ -292,9 +278,9 @@ def checkUnits(self, units): - units The string name of the units to check. """ if units not in self.allowed: - msg = "Input units '%s' are not one of the supported types of %s" \ - % (units, str(list(six.iterkeys(self.allowed)))) - raise ValueError(msg) + raise ValueError("Input units '%s' are not one of the supported " + "types of %s" % ( + units, list(self.allowed.keys()))) # ---------------------------------------------------------------------- def checkSameUnits(self, rhs, func): diff --git a/lib/matplotlib/testing/jpl_units/UnitDblConverter.py b/lib/matplotlib/testing/jpl_units/UnitDblConverter.py index f43fd581d649..cf2b4a2c4784 100644 --- a/lib/matplotlib/testing/jpl_units/UnitDblConverter.py +++ b/lib/matplotlib/testing/jpl_units/UnitDblConverter.py @@ -9,11 +9,6 @@ # ========================================================================== # Place all imports after here. # -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six - import numpy as np import matplotlib.units as units import matplotlib.projections.polar as polar @@ -75,11 +70,8 @@ def axisinfo(unit, axis): # Check to see if the value used for units is a string unit value # or an actual instance of a UnitDbl so that we can use the unit # value for the default axis label value. - if (unit): - if (isinstance(unit, six.string_types)): - label = unit - else: - label = unit.label() + if unit: + label = unit if isinstance(unit, str) else unit.label() else: label = None @@ -109,8 +101,8 @@ def convert(value, unit, axis): isNotUnitDbl = True - if (iterable(value) and not isinstance(value, six.string_types)): - if (len(value) == 0): + if iterable(value) and not isinstance(value, str): + if len(value) == 0: return [] else: return [UnitDblConverter.convert(x, unit, axis) for x in value] @@ -153,7 +145,7 @@ def default_units(value, axis): # Determine the default units based on the user preferences set for # default units when printing a UnitDbl. - if (iterable(value) and not isinstance(value, six.string_types)): + if iterable(value) and not isinstance(value, str): return UnitDblConverter.default_units(value[0], axis) else: return UnitDblConverter.defaults[value.type()] diff --git a/lib/matplotlib/testing/jpl_units/UnitDblFormatter.py b/lib/matplotlib/testing/jpl_units/UnitDblFormatter.py index de2fb3fafacb..25ebf6042c78 100644 --- a/lib/matplotlib/testing/jpl_units/UnitDblFormatter.py +++ b/lib/matplotlib/testing/jpl_units/UnitDblFormatter.py @@ -10,9 +10,6 @@ # ========================================================================== # Place all imports after here. # -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import matplotlib.ticker as ticker # # Place all imports before here. diff --git a/lib/matplotlib/testing/jpl_units/__init__.py b/lib/matplotlib/testing/jpl_units/__init__.py index 54c96d70e020..47e6c3dee554 100644 --- a/lib/matplotlib/testing/jpl_units/__init__.py +++ b/lib/matplotlib/testing/jpl_units/__init__.py @@ -31,8 +31,6 @@ """ # ====================================================================== -from __future__ import (absolute_import, division, print_function, - unicode_literals) from .Duration import Duration from .Epoch import Epoch diff --git a/lib/matplotlib/text.py b/lib/matplotlib/text.py index 6001b8d2f522..77cf2313427b 100644 --- a/lib/matplotlib/text.py +++ b/lib/matplotlib/text.py @@ -1,10 +1,6 @@ """ Classes for including text in a figure. """ -from __future__ import absolute_import, division, print_function - -import six -from six.moves import zip import contextlib import logging @@ -63,10 +59,9 @@ def get_rotation(rotation): try: angle = float(rotation) except (ValueError, TypeError): - isString = isinstance(rotation, six.string_types) - if ((isString and rotation == 'horizontal') or rotation is None): + if cbook._str_equal(rotation, 'horizontal') or rotation is None: angle = 0. - elif (isString and rotation == 'vertical'): + elif cbook._str_equal(rotation, 'vertical'): angle = 90. else: raise ValueError("rotation is {0} expected either 'horizontal'" @@ -168,7 +163,7 @@ def __init__(self, color = rcParams['text.color'] if fontproperties is None: fontproperties = FontProperties() - elif isinstance(fontproperties, six.string_types): + elif isinstance(fontproperties, str): fontproperties = FontProperties(fontproperties) self._text = '' @@ -467,8 +462,7 @@ def set_bbox(self, rectprops): pad = 0.3 # boxstyle could be a callable or a string - if (isinstance(boxstyle, six.string_types) - and "pad" not in boxstyle): + if isinstance(boxstyle, str) and "pad" not in boxstyle: boxstyle += ",pad=%0.2f" % pad bbox_transmuter = props.pop("bbox_transmuter", None) @@ -1136,7 +1130,7 @@ def set_fontproperties(self, fp): ACCEPTS: a :class:`matplotlib.font_manager.FontProperties` instance """ - if isinstance(fp, six.string_types): + if isinstance(fp, str): fp = FontProperties(fp) self._fontproperties = fp.copy() self.stale = True @@ -1697,8 +1691,8 @@ def _get_xy_transform(self, renderer, s): return BboxTransformTo(s) elif isinstance(s, Transform): return s - elif not isinstance(s, six.string_types): - raise RuntimeError("unknown coordinate type : %s" % (s,)) + elif not isinstance(s, str): + raise RuntimeError("unknown coordinate type : %s" % s) if s == 'data': return self.axes.transData @@ -1761,20 +1755,18 @@ def _get_ref_xy(self, renderer): return x, y (in display coordinate) that is to be used for a reference of any offset coordinate """ + def is_offset(s): + return isinstance(s, str) and s.split()[0] == "offset" if isinstance(self.xycoords, tuple): s1, s2 = self.xycoords - if ((isinstance(s1, six.string_types) - and s1.split()[0] == "offset") - or (isinstance(s2, six.string_types) - and s2.split()[0] == "offset")): + if is_offset(s1) or is_offset(s2): raise ValueError("xycoords should not be an offset coordinate") x, y = self.xy x1, y1 = self._get_xy(renderer, x, y, s1) x2, y2 = self._get_xy(renderer, x, y, s2) return x1, y2 - elif (isinstance(self.xycoords, six.string_types) and - self.xycoords.split()[0] == "offset"): + elif is_offset(self.xycoords): raise ValueError("xycoords should not be an offset coordinate") else: x, y = self.xy From ffe92034dc56578a47b621f20122b2a4be4cae5a Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Thu, 22 Mar 2018 21:04:42 -0400 Subject: [PATCH 0406/1161] MNT: move bz2 back to function level closes #10866 --- lib/matplotlib/cbook/__init__.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index 87cfe7fd4d84..73c48fa728f6 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -8,7 +8,6 @@ import six from six.moves import xrange, zip -import bz2 import collections import contextlib import datetime @@ -478,6 +477,9 @@ def to_filehandle(fname, flag='rU', return_opened=False, encoding=None): flag = flag.replace('U', '') fh = gzip.open(fname, flag) elif fname.endswith('.bz2'): + # python may not be complied with bz2 support, + # bury import until we need it + import bz2 # get rid of 'U' in flag for bz2 files flag = flag.replace('U', '') fh = bz2.BZ2File(fname, flag) From a12fff5dcfd7557c45cd249347975c1f8ace1e01 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Thu, 22 Mar 2018 22:20:19 -0700 Subject: [PATCH 0407/1161] Restore main doc page . --- doc/index.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/index.rst b/doc/index.rst index c2fad272771e..b5eb92d8534f 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -1,5 +1,7 @@ :orphan: +.. title:: Matplotlib: Python plotting + Matplotlib is a Python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms. Matplotlib can be used in Python scripts, the Python and IPython_ From 66348a9259bc034d0f6b21cfb554f8b2f0af94b0 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Fri, 23 Mar 2018 00:27:08 -0700 Subject: [PATCH 0408/1161] Rely on rglob support rather than os.walk. In OSXInstalledFonts, the `fontext is None` path could never be taken, because `get_fontext_synonyms` never returns None. --- .../2018-02-15-AL-deprecations.rst | 2 +- doc/api/next_api_changes/2018-03-23-AL.rst | 4 +++ lib/matplotlib/__init__.py | 11 +++---- lib/matplotlib/cbook/__init__.py | 1 + lib/matplotlib/font_manager.py | 30 ++++++++----------- tools/triage_tests.py | 14 +++------ 6 files changed, 26 insertions(+), 36 deletions(-) create mode 100644 doc/api/next_api_changes/2018-03-23-AL.rst diff --git a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst index 4d48437e0988..15ab3de234da 100644 --- a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst +++ b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst @@ -13,7 +13,7 @@ The following classes, methods, functions, and attributes are deprecated: - ``Annotation.arrow``, - ``cbook.GetRealpathAndStat``, ``cbook.Locked``, - ``cbook.is_numlike`` (use ``isinstance(..., numbers.Number)`` instead), - ``cbook.unicode_safe`` + ``cbook.listFiles``, ``cbook.unicode_safe`` - ``container.Container.set_remove_method``, - ``dates.DateFormatter.strftime_pre_1900``, ``dates.DateFormatter.strftime``, - ``font_manager.TempCache``, diff --git a/doc/api/next_api_changes/2018-03-23-AL.rst b/doc/api/next_api_changes/2018-03-23-AL.rst new file mode 100644 index 000000000000..7a5f87f590d7 --- /dev/null +++ b/doc/api/next_api_changes/2018-03-23-AL.rst @@ -0,0 +1,4 @@ +``font_manager.list_fonts`` now follows the platform's casefolding semantics +```````````````````````````````````````````````````````````````````````````` + +i.e., it behaves case-insensitively on Windows only. diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index b2186d1ef762..b94df1ec6ca9 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -743,14 +743,11 @@ def _get_data_path_cached(): def get_py2exe_datafiles(): - datapath = get_data_path() - _, tail = os.path.split(datapath) + data_path = Path(get_data_path()) d = {} - for root, _, files in os.walk(datapath): - files = [os.path.join(root, filename) for filename in files] - root = root.replace(tail, 'mpl-data') - root = root[root.index('mpl-data'):] - d[root] = files + for path in filter(Path.is_file, data_path.glob("**/*")): + (d.setdefault(str(path.parent.relative_to(data_path.parent)), []) + .append(str(path))) return list(d.items()) diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index 87cfe7fd4d84..85b5baf9a464 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -676,6 +676,7 @@ def dedent(s): return result +@deprecated("3.0") def listFiles(root, patterns='*', recurse=1, return_folders=0): """ Recursively list files diff --git a/lib/matplotlib/font_manager.py b/lib/matplotlib/font_manager.py index 02cbd9633fcd..c6c8e3be587f 100644 --- a/lib/matplotlib/font_manager.py +++ b/lib/matplotlib/font_manager.py @@ -35,6 +35,7 @@ from functools import lru_cache import json import os +from pathlib import Path import subprocess import sys from threading import Timer @@ -150,12 +151,13 @@ def get_fontext_synonyms(fontext): def list_fonts(directory, extensions): """ - Return a list of all fonts matching any of the extensions, - possibly upper-cased, found recursively under the directory. + Return a list of all fonts matching any of the extensions, found + recursively under the directory. """ - pattern = ';'.join(['*.%s;*.%s' % (ext, ext.upper()) - for ext in extensions]) - return cbook.listFiles(directory, pattern) + extensions = ["." + ext for ext in extensions] + return [str(path) + for path in filter(Path.is_file, Path(directory).glob("**/*.*")) + if path.suffix in extensions] def win32FontDirectory(): @@ -231,21 +233,13 @@ def win32InstalledFonts(directory=None, fontext='ttf'): def OSXInstalledFonts(directories=None, fontext='ttf'): - """ - Get list of font files on OS X - ignores font suffix by default. - """ + """Get list of font files on OS X.""" if directories is None: directories = OSXFontDirectories - - fontext = get_fontext_synonyms(fontext) - - files = [] - for path in directories: - if fontext is None: - files.extend(cbook.listFiles(path, '*')) - else: - files.extend(list_fonts(path, fontext)) - return files + return [path + for directory in directories + for ext in get_fontext_synonyms(fontext) + for path in list_fonts(directory, ext)] @lru_cache() diff --git a/tools/triage_tests.py b/tools/triage_tests.py index 0c0f4528a893..c8c60f8142b2 100644 --- a/tools/triage_tests.py +++ b/tools/triage_tests.py @@ -329,16 +329,10 @@ def find_failing_tests(result_images, source): Find all of the failing tests by looking for files with `-failed-diff` at the end of the basename. """ - entries = [] - for root, dirs, files in os.walk(result_images): - for fname in files: - basename, ext = os.path.splitext(fname) - if basename.endswith('-failed-diff'): - path = os.path.join(root, fname) - entry = Entry(path, result_images, source) - entries.append(entry) - entries.sort(key=lambda x: x.name) - return entries + return sorted( + (Entry(path, result_images, source) + for path in Path(result_images).glob("**/*-failed-diff.*")), + key=lambda x: x.name) def launch(result_images, source): From fff7bccc8c7a4f0b19134c8dc65502e043771ce4 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sat, 24 Mar 2018 20:56:46 -0700 Subject: [PATCH 0409/1161] Fix invalid escape sequence in docstring. --- lib/matplotlib/axes/_axes.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index a223c4e563bf..d476deb356fd 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -1669,7 +1669,7 @@ def acorr(self, x, **kwargs): @_preprocess_data(replace_names=["x", "y"], label_namer="y") def xcorr(self, x, y, normed=True, detrend=mlab.detrend_none, usevlines=True, maxlags=10, **kwargs): - """ + r""" Plot the cross correlation between *x* and *y*. The correlation with lag k is defined as From 75e30bbfa0c814fe602f978a7bfbd15e150319c9 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sun, 25 Mar 2018 13:45:51 +0200 Subject: [PATCH 0410/1161] deprecate parse_afm() --- .../next_api_changes/2018-02-15-AL-deprecations.rst | 1 + lib/matplotlib/afm.py | 10 +++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst index 4d48437e0988..2bcd5d91d7a6 100644 --- a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst +++ b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst @@ -10,6 +10,7 @@ The following modules are deprecated: The following classes, methods, functions, and attributes are deprecated: +- ``afm.parse_afm``, - ``Annotation.arrow``, - ``cbook.GetRealpathAndStat``, ``cbook.Locked``, - ``cbook.is_numlike`` (use ``isinstance(..., numbers.Number)`` instead), diff --git a/lib/matplotlib/afm.py b/lib/matplotlib/afm.py index eece3a396792..df8fe8010867 100644 --- a/lib/matplotlib/afm.py +++ b/lib/matplotlib/afm.py @@ -42,8 +42,8 @@ import sys from ._mathtext_data import uni2type1 +from matplotlib.cbook import deprecated -# Convert string the a python type # some afm files have floats where we are expecting ints -- there is # probably a better way to handle this (support floats, round rather @@ -51,7 +51,6 @@ # this change to _to_int should at least prevent mpl from crashing on # these JDH (2009-11-06) - def _to_int(x): return int(float(x)) @@ -358,7 +357,12 @@ def _parse_optional(fh): return d[b'StartKernData'], d[b'StartComposites'] +@deprecated("3.0", "Use the class AFM instead.") def parse_afm(fh): + return _parse_afm(fh) + + +def _parse_afm(fh): """ Parse the Adobe Font Metrics file in file handle *fh*. @@ -391,7 +395,7 @@ def __init__(self, fh): self._metrics, self._metrics_by_name, self._kern, - self._composite) = parse_afm(fh) + self._composite) = _parse_afm(fh) def get_bbox_char(self, c, isord=False): if not isord: From c5c1a0cba5f3f03bac7b88655c01da7c42d4d3fe Mon Sep 17 00:00:00 2001 From: castany <castany@clevo> Date: Sun, 25 Mar 2018 17:50:40 +0200 Subject: [PATCH 0411/1161] Change hardcoded brackets for Toolbar message Remove the brackets that were harcoded in methods NavigationToolbar2.mouse_move() and ToolCursorPosition.send_message(). Move them rather to the method Artist.format_cursor_data(), because that method that can easily be overwritten. --- lib/matplotlib/artist.py | 5 +++-- lib/matplotlib/backend_bases.py | 4 +++- lib/matplotlib/backend_tools.py | 4 +++- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/artist.py b/lib/matplotlib/artist.py index 6296d0b29cc6..55a57cbbe4b0 100644 --- a/lib/matplotlib/artist.py +++ b/lib/matplotlib/artist.py @@ -1059,8 +1059,9 @@ def format_cursor_data(self, data): data[0] except (TypeError, IndexError): data = [data] - return ', '.join('{:0.3g}'.format(item) for item in data if - isinstance(item, (np.floating, np.integer, int, float))) + data_str = ', '.join('{:0.3g}'.format(item) for item in data if + isinstance(item, (np.floating, np.integer, int, float))) + return "[" + data_str + "]" @property def mouseover(self): diff --git a/lib/matplotlib/backend_bases.py b/lib/matplotlib/backend_bases.py index 97af9477e74e..e47e04eff8cc 100644 --- a/lib/matplotlib/backend_bases.py +++ b/lib/matplotlib/backend_bases.py @@ -2898,7 +2898,9 @@ def mouse_move(self, event): if a is not event.inaxes.patch: data = a.get_cursor_data(event) if data is not None: - s += ' [%s]' % a.format_cursor_data(data) + data_str = a.format_cursor_data(data) + if data_str is not None: + s = s + ' ' + data_str if len(self.mode): self.set_message('%s, %s' % (self.mode, s)) diff --git a/lib/matplotlib/backend_tools.py b/lib/matplotlib/backend_tools.py index 415fe8442b47..3f7c3d2f8ec7 100644 --- a/lib/matplotlib/backend_tools.py +++ b/lib/matplotlib/backend_tools.py @@ -344,7 +344,9 @@ def send_message(self, event): if a is not event.inaxes.patch: data = a.get_cursor_data(event) if data is not None: - s += ' [%s]' % a.format_cursor_data(data) + data_str = a.format_cursor_data(data) + if data_str is not None: + s = s + ' ' + data_str message = s self.toolmanager.message_event(message, self) From 83d3cf546a9be70b6b71527eb02e3a442fe9bb41 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Thu, 4 Jan 2018 01:33:40 -0800 Subject: [PATCH 0412/1161] Allow mplot3d rasterization; adjacent cleanups. --- lib/mpl_toolkits/mplot3d/art3d.py | 9 +++------ lib/mpl_toolkits/mplot3d/axes3d.py | 2 ++ lib/mpl_toolkits/mplot3d/axis3d.py | 13 ++++++------- 3 files changed, 11 insertions(+), 13 deletions(-) diff --git a/lib/mpl_toolkits/mplot3d/art3d.py b/lib/mpl_toolkits/mplot3d/art3d.py index 86642b0475f9..5fc62ad89beb 100644 --- a/lib/mpl_toolkits/mplot3d/art3d.py +++ b/lib/mpl_toolkits/mplot3d/art3d.py @@ -107,6 +107,7 @@ def set_3d_properties(self, z=0, zdir='z'): self._dir_vec = get_dir_vector(zdir) self.stale = True + @artist.allow_rasterization def draw(self, renderer): proj = proj3d.proj_trans_points( [self._position3d, self._position3d + self._dir_vec], renderer.M) @@ -155,6 +156,7 @@ def set_3d_properties(self, zs=0, zdir='z'): self._verts3d = juggle_axes(xs, ys, zs, zdir) self.stale = True + @artist.allow_rasterization def draw(self, renderer): xs3d, ys3d, zs3d = self._verts3d xs, ys, zs = proj3d.proj_transform(xs3d, ys3d, zs3d, renderer.M) @@ -257,6 +259,7 @@ def do_3d_projection(self, renderer): minz = min(minz, min(zs)) return minz + @artist.allow_rasterization def draw(self, renderer, project=False): if project: self.do_3d_projection(renderer) @@ -302,9 +305,6 @@ def do_3d_projection(self, renderer): self._facecolor2d = self._facecolor3d return min(vzs) - def draw(self, renderer): - Patch.draw(self, renderer) - class PathPatch3D(Patch3D): """ @@ -729,9 +729,6 @@ def get_facecolor(self): def get_edgecolor(self): return self._edgecolors2d - def draw(self, renderer): - return Collection.draw(self, renderer) - def poly_collection_2d_to_3d(col, zs=0, zdir='z'): """Convert a PolyCollection to a Poly3DCollection object.""" diff --git a/lib/mpl_toolkits/mplot3d/axes3d.py b/lib/mpl_toolkits/mplot3d/axes3d.py index ba4c8cf1e743..1bd3cf7c0a25 100644 --- a/lib/mpl_toolkits/mplot3d/axes3d.py +++ b/lib/mpl_toolkits/mplot3d/axes3d.py @@ -21,6 +21,7 @@ import numpy as np +from matplotlib import artist import matplotlib.axes as maxes import matplotlib.cbook as cbook import matplotlib.collections as mcoll @@ -250,6 +251,7 @@ def tunit_edges(self, vals=None, M=None): (tc[7], tc[4])] return edges + @artist.allow_rasterization def draw(self, renderer): # draw the background patch self.patch.draw(renderer) diff --git a/lib/mpl_toolkits/mplot3d/axis3d.py b/lib/mpl_toolkits/mplot3d/axis3d.py index 4093e9bd81e0..4bfe8facbe46 100644 --- a/lib/mpl_toolkits/mplot3d/axis3d.py +++ b/lib/mpl_toolkits/mplot3d/axis3d.py @@ -7,13 +7,11 @@ import six -import math import copy -from matplotlib import lines as mlines, axis as maxis, patches as mpatches -from matplotlib import rcParams -from . import art3d -from . import proj3d +from matplotlib import ( + artist, lines as mlines, axis as maxis, patches as mpatches, rcParams) +from . import art3d, proj3d import numpy as np @@ -222,6 +220,7 @@ def draw_pane(self, renderer): renderer.close_group('pane3d') + @artist.allow_rasterization def draw(self, renderer): self.label._transform = self.axes.transData renderer.open_group('axis3d') @@ -299,7 +298,7 @@ def draw(self, renderer): renderer.M) self.label.set_position((tlx, tly)) if self.get_rotate_label(self.label.get_text()): - angle = art3d.norm_text_angle(math.degrees(math.atan2(dy, dx))) + angle = art3d.norm_text_angle(np.rad2deg(np.arctan2(dy, dx))) self.label.set_rotation(angle) self.label.set_va(info['label']['va']) self.label.set_ha(info['label']['ha']) @@ -322,7 +321,7 @@ def draw(self, renderer): pos[0], pos[1], pos[2], renderer.M) self.offsetText.set_text(self.major.formatter.get_offset()) self.offsetText.set_position((olx, oly)) - angle = art3d.norm_text_angle(math.degrees(math.atan2(dy, dx))) + angle = art3d.norm_text_angle(np.rad2deg(np.arctan2(dy, dx))) self.offsetText.set_rotation(angle) # Must set rotation mode to "anchor" so that # the alignment point is used as the "fulcrum" for rotation. From 690b21345b1a61158b8800d1f7380d063a6f970e Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Wed, 24 Jan 2018 13:43:25 -0800 Subject: [PATCH 0413/1161] setattr context manager. --- lib/matplotlib/artist.py | 9 +- lib/matplotlib/backend_bases.py | 192 ++++++++++++------------ lib/matplotlib/backends/backend_agg.py | 44 ++---- lib/matplotlib/backends/backend_qt5.py | 14 +- lib/matplotlib/cbook/__init__.py | 18 +++ lib/matplotlib/font_manager.py | 13 +- lib/matplotlib/style/core.py | 5 - lib/matplotlib/testing/conftest.py | 10 +- lib/matplotlib/testing/decorators.py | 6 +- lib/matplotlib/tests/test_axes.py | 5 +- lib/matplotlib/tests/test_backend_ps.py | 37 ++--- 11 files changed, 149 insertions(+), 204 deletions(-) diff --git a/lib/matplotlib/artist.py b/lib/matplotlib/artist.py index bbc489502262..c5e54f97a2f2 100644 --- a/lib/matplotlib/artist.py +++ b/lib/matplotlib/artist.py @@ -880,13 +880,8 @@ def _update_property(self, k, v): raise AttributeError('Unknown property %s' % k) return func(v) - store = self.eventson - self.eventson = False - try: - ret = [_update_property(self, k, v) - for k, v in props.items()] - finally: - self.eventson = store + with cbook._setattr_cm(self, eventson=False): + ret = [_update_property(self, k, v) for k, v in props.items()] if len(ret): self.pchanged() diff --git a/lib/matplotlib/backend_bases.py b/lib/matplotlib/backend_bases.py index ddd4e6d3b0ba..4415b6cf8cdc 100644 --- a/lib/matplotlib/backend_bases.py +++ b/lib/matplotlib/backend_bases.py @@ -2113,17 +2113,6 @@ def print_figure(self, filename, dpi=None, facecolor=None, edgecolor=None, tight bbox is calculated. """ - self._is_saving = True - # Remove the figure manager, if any, to avoid resizing the GUI widget. - # Having *no* manager and a *None* manager are currently different (see - # Figure.show); should probably be normalized to None at some point. - _no_manager = object() - if hasattr(self, 'manager'): - manager = self.manager - del self.manager - else: - manager = _no_manager - if format is None: # get format from filename, or from backend's default filetype if isinstance(filename, getattr(os, "PathLike", ())): @@ -2142,104 +2131,107 @@ def print_figure(self, filename, dpi=None, facecolor=None, edgecolor=None, if dpi is None: dpi = rcParams['savefig.dpi'] - if dpi == 'figure': dpi = getattr(self.figure, '_original_dpi', self.figure.dpi) - if facecolor is None: - facecolor = rcParams['savefig.facecolor'] - if edgecolor is None: - edgecolor = rcParams['savefig.edgecolor'] - - origDPI = self.figure.dpi - origfacecolor = self.figure.get_facecolor() - origedgecolor = self.figure.get_edgecolor() - - self.figure.dpi = dpi - self.figure.set_facecolor(facecolor) - self.figure.set_edgecolor(edgecolor) - - bbox_inches = kwargs.pop("bbox_inches", None) - if bbox_inches is None: - bbox_inches = rcParams['savefig.bbox'] - - if bbox_inches: - # call adjust_bbox to save only the given area - if bbox_inches == "tight": - # When bbox_inches == "tight", it saves the figure twice. The - # first save command (to a BytesIO) is just to estimate the - # bounding box of the figure. + # Remove the figure manager, if any, to avoid resizing the GUI widget. + # Some code (e.g. Figure.show) differentiates between having *no* + # manager and a *None* manager, which should be fixed at some point, + # but this should be fine. + with cbook._setattr_cm(self, _is_saving=True, manager=None), \ + cbook._setattr_cm(self.figure, dpi=dpi): + + if facecolor is None: + facecolor = rcParams['savefig.facecolor'] + if edgecolor is None: + edgecolor = rcParams['savefig.edgecolor'] + + origfacecolor = self.figure.get_facecolor() + origedgecolor = self.figure.get_edgecolor() + + self.figure.dpi = dpi + self.figure.set_facecolor(facecolor) + self.figure.set_edgecolor(edgecolor) + + bbox_inches = kwargs.pop("bbox_inches", None) + if bbox_inches is None: + bbox_inches = rcParams['savefig.bbox'] + + if bbox_inches: + # call adjust_bbox to save only the given area + if bbox_inches == "tight": + # When bbox_inches == "tight", it saves the figure twice. + # The first save command (to a BytesIO) is just to estimate + # the bounding box of the figure. + result = print_method( + io.BytesIO(), + dpi=dpi, + facecolor=facecolor, + edgecolor=edgecolor, + orientation=orientation, + dryrun=True, + **kwargs) + renderer = self.figure._cachedRenderer + bbox_inches = self.figure.get_tightbbox(renderer) + + bbox_artists = kwargs.pop("bbox_extra_artists", None) + if bbox_artists is None: + bbox_artists = \ + self.figure.get_default_bbox_extra_artists() + + bbox_filtered = [] + for a in bbox_artists: + bbox = a.get_window_extent(renderer) + if a.get_clip_on(): + clip_box = a.get_clip_box() + if clip_box is not None: + bbox = Bbox.intersection(bbox, clip_box) + clip_path = a.get_clip_path() + if clip_path is not None and bbox is not None: + clip_path = \ + clip_path.get_fully_transformed_path() + bbox = Bbox.intersection( + bbox, clip_path.get_extents()) + if bbox is not None and ( + bbox.width != 0 or bbox.height != 0): + bbox_filtered.append(bbox) + + if bbox_filtered: + _bbox = Bbox.union(bbox_filtered) + trans = Affine2D().scale(1.0 / self.figure.dpi) + bbox_extra = TransformedBbox(_bbox, trans) + bbox_inches = Bbox.union([bbox_inches, bbox_extra]) + + pad = kwargs.pop("pad_inches", None) + if pad is None: + pad = rcParams['savefig.pad_inches'] + + bbox_inches = bbox_inches.padded(pad) + + restore_bbox = tight_bbox.adjust_bbox(self.figure, bbox_inches, + canvas.fixed_dpi) + + _bbox_inches_restore = (bbox_inches, restore_bbox) + else: + _bbox_inches_restore = None + + try: result = print_method( - io.BytesIO(), + filename, dpi=dpi, facecolor=facecolor, edgecolor=edgecolor, orientation=orientation, - dryrun=True, + bbox_inches_restore=_bbox_inches_restore, **kwargs) - renderer = self.figure._cachedRenderer - bbox_inches = self.figure.get_tightbbox(renderer) - - bbox_artists = kwargs.pop("bbox_extra_artists", None) - if bbox_artists is None: - bbox_artists = self.figure.get_default_bbox_extra_artists() - - bbox_filtered = [] - for a in bbox_artists: - bbox = a.get_window_extent(renderer) - if a.get_clip_on(): - clip_box = a.get_clip_box() - if clip_box is not None: - bbox = Bbox.intersection(bbox, clip_box) - clip_path = a.get_clip_path() - if clip_path is not None and bbox is not None: - clip_path = clip_path.get_fully_transformed_path() - bbox = Bbox.intersection(bbox, - clip_path.get_extents()) - if bbox is not None and (bbox.width != 0 or - bbox.height != 0): - bbox_filtered.append(bbox) - - if bbox_filtered: - _bbox = Bbox.union(bbox_filtered) - trans = Affine2D().scale(1.0 / self.figure.dpi) - bbox_extra = TransformedBbox(_bbox, trans) - bbox_inches = Bbox.union([bbox_inches, bbox_extra]) - - pad = kwargs.pop("pad_inches", None) - if pad is None: - pad = rcParams['savefig.pad_inches'] - - bbox_inches = bbox_inches.padded(pad) - - restore_bbox = tight_bbox.adjust_bbox(self.figure, bbox_inches, - canvas.fixed_dpi) - - _bbox_inches_restore = (bbox_inches, restore_bbox) - else: - _bbox_inches_restore = None - - try: - result = print_method( - filename, - dpi=dpi, - facecolor=facecolor, - edgecolor=edgecolor, - orientation=orientation, - bbox_inches_restore=_bbox_inches_restore, - **kwargs) - finally: - if bbox_inches and restore_bbox: - restore_bbox() - - self.figure.dpi = origDPI - self.figure.set_facecolor(origfacecolor) - self.figure.set_edgecolor(origedgecolor) - self.figure.set_canvas(self) - if manager is not _no_manager: - self.manager = manager - self._is_saving = False - return result + finally: + if bbox_inches and restore_bbox: + restore_bbox() + + self.figure.set_facecolor(origfacecolor) + self.figure.set_edgecolor(origedgecolor) + self.figure.set_canvas(self) + return result @classmethod def get_default_filetype(cls): diff --git a/lib/matplotlib/backends/backend_agg.py b/lib/matplotlib/backends/backend_agg.py index c102044cc974..9c854fb09474 100644 --- a/lib/matplotlib/backends/backend_agg.py +++ b/lib/matplotlib/backends/backend_agg.py @@ -486,53 +486,33 @@ def buffer_rgba(self): def print_raw(self, filename_or_obj, *args, **kwargs): FigureCanvasAgg.draw(self) renderer = self.get_renderer() - original_dpi = renderer.dpi - renderer.dpi = self.figure.dpi - if isinstance(filename_or_obj, six.string_types): - fileobj = open(filename_or_obj, 'wb') - close = True - else: - fileobj = filename_or_obj - close = False - try: - fileobj.write(renderer._renderer.buffer_rgba()) - finally: - if close: - fileobj.close() - renderer.dpi = original_dpi + with cbook._setattr_cm(renderer, dpi=self.figure.dpi), \ + cbook.open_file_cm(filename_or_obj, "wb") as fh: + fh.write(renderer._renderer.buffer_rgba()) print_rgba = print_raw def print_png(self, filename_or_obj, *args, **kwargs): FigureCanvasAgg.draw(self) renderer = self.get_renderer() - original_dpi = renderer.dpi - renderer.dpi = self.figure.dpi - version_str = 'matplotlib version ' + __version__ + \ - ', http://matplotlib.org/' + version_str = ( + 'matplotlib version ' + __version__ + ', http://matplotlib.org/') metadata = OrderedDict({'Software': version_str}) user_metadata = kwargs.pop("metadata", None) if user_metadata is not None: metadata.update(user_metadata) - try: - with cbook.open_file_cm(filename_or_obj, "wb") as fh: - _png.write_png(renderer._renderer, fh, - self.figure.dpi, metadata=metadata) - finally: - renderer.dpi = original_dpi + with cbook._setattr_cm(renderer, dpi=self.figure.dpi), \ + cbook.open_file_cm(filename_or_obj, "wb") as fh: + _png.write_png(renderer._renderer, fh, + self.figure.dpi, metadata=metadata) def print_to_buffer(self): FigureCanvasAgg.draw(self) renderer = self.get_renderer() - original_dpi = renderer.dpi - renderer.dpi = self.figure.dpi - try: - result = (renderer._renderer.buffer_rgba(), - (int(renderer.width), int(renderer.height))) - finally: - renderer.dpi = original_dpi - return result + with cbook._setattr_cm(renderer, dpi=self.figure.dpi): + return (renderer._renderer.buffer_rgba(), + (int(renderer.width), int(renderer.height))) if _has_pil: # add JPEG support diff --git a/lib/matplotlib/backends/backend_qt5.py b/lib/matplotlib/backends/backend_qt5.py index a3757d6000bf..9158677c3f29 100644 --- a/lib/matplotlib/backends/backend_qt5.py +++ b/lib/matplotlib/backends/backend_qt5.py @@ -12,6 +12,7 @@ import matplotlib +from matplotlib import backend_tools, cbook from matplotlib._pylab_helpers import Gcf from matplotlib.backend_bases import ( _Backend, FigureCanvasBase, FigureManagerBase, NavigationToolbar2, @@ -20,7 +21,6 @@ from matplotlib.backends.qt_editor.formsubplottool import UiSubplotTool from matplotlib.figure import Figure from matplotlib.backend_managers import ToolManager -from matplotlib import backend_tools from .qt_compat import ( QtCore, QtGui, QtWidgets, _getSaveFileName, is_pyqt5, __version__, QT_API) @@ -169,12 +169,9 @@ def cooperative_qwidget_init(self, *args, **kwargs): @functools.wraps(__init__) def wrapper(self, **kwargs): - try: - QtWidgets.QWidget.__init__ = cooperative_qwidget_init + with cbook._setattr_cm(QtWidgets.QWidget, + __init__=cooperative_qwidget_init): __init__(self, **kwargs) - finally: - # Restore __init__ - QtWidgets.QWidget.__init__ = qwidget_init return wrapper @@ -492,11 +489,8 @@ def draw(self): # that uses the result of the draw() to update plot elements. if self._is_drawing: return - self._is_drawing = True - try: + with cbook._setattr_cm(self, _is_drawing=True): super().draw() - finally: - self._is_drawing = False self.update() def draw_idle(self): diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index 73c48fa728f6..4489d0dbb322 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -2070,3 +2070,21 @@ def method(self, *args, **kwargs): raise NotImplementedError("Parent class already defines aliases") cls._alias_map = alias_d return cls + + +@contextlib.contextmanager +def _setattr_cm(obj, **kwargs): + """Temporarily set some attributes; restore original state at context exit. + """ + sentinel = object() + origs = [(attr, getattr(obj, attr, sentinel)) for attr in kwargs] + try: + for attr, val in kwargs.items(): + setattr(obj, attr, val) + yield + finally: + for attr, orig in origs: + if orig is sentinel: + delattr(obj, attr) + else: + setattr(obj, attr, orig) diff --git a/lib/matplotlib/font_manager.py b/lib/matplotlib/font_manager.py index 02cbd9633fcd..f497de51eb23 100644 --- a/lib/matplotlib/font_manager.py +++ b/lib/matplotlib/font_manager.py @@ -218,11 +218,7 @@ def win32InstalledFonts(directory=None, fontext='ttf'): direc = os.path.abspath(direc).lower() if os.path.splitext(direc)[1][1:] in fontext: items.add(direc) - except EnvironmentError: - continue - except WindowsError: - continue - except MemoryError: + except (EnvironmentError, MemoryError, WindowsError): continue return list(items) finally: @@ -520,17 +516,14 @@ def createFontList(fontfiles, fontext='ttf'): seen.add(fname) if fontext == 'afm': try: - fh = open(fpath, 'rb') + with open(fpath, 'rb') as fh: + font = afm.AFM(fh) except EnvironmentError: _log.info("Could not open font file %s", fpath) continue - try: - font = afm.AFM(fh) except RuntimeError: _log.info("Could not parse font file %s", fpath) continue - finally: - fh.close() try: prop = afmFontProperty(fpath, font) except KeyError: diff --git a/lib/matplotlib/style/core.py b/lib/matplotlib/style/core.py index d8a6c2efa4f1..2a836721882b 100644 --- a/lib/matplotlib/style/core.py +++ b/lib/matplotlib/style/core.py @@ -141,11 +141,6 @@ def context(style, after_reset=False): mpl.rcdefaults() try: use(style) - except: - # Restore original settings before raising errors during the update. - mpl.rcParams.update(initial_settings) - raise - else: yield finally: mpl.rcParams.update(initial_settings) diff --git a/lib/matplotlib/testing/conftest.py b/lib/matplotlib/testing/conftest.py index 9dc180c96000..5f7cac230297 100644 --- a/lib/matplotlib/testing/conftest.py +++ b/lib/matplotlib/testing/conftest.py @@ -4,6 +4,7 @@ import pytest import matplotlib +from matplotlib import cbook def pytest_configure(config): @@ -50,8 +51,7 @@ def mpl_test_settings(request): finally: if backend is not None: plt.switch_backend(prev_backend) - _do_cleanup(original_units_registry, - original_settings) + _do_cleanup(original_units_registry, original_settings) @pytest.fixture @@ -71,11 +71,9 @@ def mpl_image_comparison_parameters(request, extension): baseline_images = request.getfixturevalue('baseline_images') func = request.function - func.__wrapped__.parameters = (baseline_images, extension) - try: + with cbook._setattr_cm(func.__wrapped__, + parameters=(baseline_images, extension)): yield - finally: - delattr(func.__wrapped__, 'parameters') @pytest.fixture diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py index 4d985f8c4895..d579a4713535 100644 --- a/lib/matplotlib/testing/decorators.py +++ b/lib/matplotlib/testing/decorators.py @@ -116,8 +116,7 @@ def wrapped_callable(*args, **kwargs): try: yield from func(*args, **kwargs) finally: - _do_cleanup(original_units_registry, - original_settings) + _do_cleanup(original_units_registry, original_settings) else: @functools.wraps(func) def wrapped_callable(*args, **kwargs): @@ -127,8 +126,7 @@ def wrapped_callable(*args, **kwargs): try: func(*args, **kwargs) finally: - _do_cleanup(original_units_registry, - original_settings) + _do_cleanup(original_units_registry, original_settings) return wrapped_callable diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index e8cb3a243fde..479e55b37251 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -875,11 +875,8 @@ def test_inverted_limits(): def test_nonfinite_limits(): x = np.arange(0., np.e, 0.01) # silence divide by zero warning from log(0) - olderr = np.seterr(divide='ignore') - try: + with np.errstate(divide='ignore'): y = np.log(x) - finally: - np.seterr(**olderr) x[len(x)//2] = np.nan fig = plt.figure() ax = fig.add_subplot(111) diff --git a/lib/matplotlib/tests/test_backend_ps.py b/lib/matplotlib/tests/test_backend_ps.py index 8768b2669ceb..fd0d192c3e38 100644 --- a/lib/matplotlib/tests/test_backend_ps.py +++ b/lib/matplotlib/tests/test_backend_ps.py @@ -1,12 +1,15 @@ import io +import os +from pathlib import Path import re +import tempfile import numpy as np import pytest import matplotlib import matplotlib.pyplot as plt -from matplotlib import patheffects +from matplotlib import cbook, patheffects from matplotlib.testing.decorators import image_comparison from matplotlib.testing.determinism import (_determinism_source_date_epoch, _determinism_check) @@ -79,40 +82,22 @@ def test_patheffects(): @needs_usetex @needs_ghostscript -def test_tilde_in_tempfilename(): +def test_tilde_in_tempfilename(tmpdir): # Tilde ~ in the tempdir path (e.g. TMPDIR, TMP or TEMP on windows # when the username is very long and windows uses a short name) breaks # latex before https://github.com/matplotlib/matplotlib/pull/5928 - import tempfile - import shutil - import os - import os.path - - tempdir = None - old_tempdir = tempfile.tempdir - try: - # change the path for new tempdirs, which is used - # internally by the ps backend to write a file - tempdir = tempfile.mkdtemp() - base_tempdir = os.path.join(tempdir, "short~1") - os.makedirs(base_tempdir) - tempfile.tempdir = base_tempdir - + base_tempdir = Path(str(tmpdir), "short-1") + base_tempdir.mkdir() + # Change the path for new tempdirs, which is used internally by the ps + # backend to write a file. + with cbook._setattr_cm(tempfile, tempdir=str(base_tempdir)): # usetex results in the latex call, which does not like the ~ plt.rc('text', usetex=True) plt.plot([1, 2, 3, 4]) plt.xlabel(r'\textbf{time} (s)') - output_eps = os.path.join(base_tempdir, 'tex_demo.eps') + output_eps = os.path.join(str(base_tempdir), 'tex_demo.eps') # use the PS backend to write the file... plt.savefig(output_eps, format="ps") - finally: - tempfile.tempdir = old_tempdir - if tempdir: - try: - shutil.rmtree(tempdir) - except Exception as e: - # do not break if this is not removable... - print(e) def test_source_date_epoch(): From ec5e8863a6352da673b55cb971529f38278cf64e Mon Sep 17 00:00:00 2001 From: Paul Hobson <pmhobson@gmail.com> Date: Thu, 22 Mar 2018 12:10:01 -0700 Subject: [PATCH 0414/1161] DOC: use OO-ish interface in img/contour examples --- .../images_contours_and_fields/barb_demo.py | 24 +++---- .../barcode_demo.py | 8 +-- .../contour_corner_mask.py | 14 ++-- .../contour_demo.py | 68 +++++++++---------- .../contour_image.py | 58 ++++++---------- .../contour_label_demo.py | 32 +++++---- .../contourf_demo.py | 33 ++++----- .../contourf_hatching.py | 23 +++---- .../demo_bboximage.py | 12 ++-- .../figimage_demo.py | 2 +- .../images_contours_and_fields/image_demo.py | 9 +-- .../image_masked.py | 2 +- .../interpolation_methods.py | 8 +-- .../quadmesh_demo.py | 3 +- .../images_contours_and_fields/quiver_demo.py | 30 ++++---- .../shading_example.py | 20 +++--- .../specgram_demo.py | 20 +++--- .../tricontour_demo.py | 26 +++---- .../tricontour_smooth_delaunay.py | 16 ++--- .../tricontour_smooth_user.py | 12 ++-- .../triinterp_demo.py | 39 ++++++----- .../tripcolor_demo.py | 34 +++++----- .../triplot_demo.py | 20 +++--- lib/matplotlib/axes/_base.py | 2 +- 24 files changed, 242 insertions(+), 273 deletions(-) diff --git a/examples/images_contours_and_fields/barb_demo.py b/examples/images_contours_and_fields/barb_demo.py index 12ad4d727ab2..36aa86410696 100644 --- a/examples/images_contours_and_fields/barb_demo.py +++ b/examples/images_contours_and_fields/barb_demo.py @@ -22,26 +22,23 @@ data = np.array(data, dtype=[('x', np.float32), ('y', np.float32), ('u', np.float32), ('v', np.float32)]) +fig1, axs1 = plt.subplots(nrows=2, ncols=2) # Default parameters, uniform grid -ax = plt.subplot(2, 2, 1) -ax.barbs(X, Y, U, V) +axs1[0, 0].barbs(X, Y, U, V) # Arbitrary set of vectors, make them longer and change the pivot point # (point around which they're rotated) to be the middle -ax = plt.subplot(2, 2, 2) -ax.barbs(data['x'], data['y'], data['u'], data['v'], length=8, pivot='middle') +axs1[0, 1].barbs(data['x'], data['y'], data['u'], data['v'], length=8, pivot='middle') # Showing colormapping with uniform grid. Fill the circle for an empty barb, # don't round the values, and change some of the size parameters -ax = plt.subplot(2, 2, 3) -ax.barbs(X, Y, U, V, np.sqrt(U * U + V * V), fill_empty=True, rounding=False, - sizes=dict(emptybarb=0.25, spacing=0.2, height=0.3)) +axs1[1, 0].barbs(X, Y, U, V, np.sqrt(U * U + V * V), fill_empty=True, rounding=False, + sizes=dict(emptybarb=0.25, spacing=0.2, height=0.3)) # Change colors as well as the increments for parts of the barbs -ax = plt.subplot(2, 2, 4) -ax.barbs(data['x'], data['y'], data['u'], data['v'], flagcolor='r', - barbcolor=['b', 'g'], - barb_increments=dict(half=10, full=20, flag=100), flip_barb=True) +axs1[1, 1].barbs(data['x'], data['y'], data['u'], data['v'], flagcolor='r', + barbcolor=['b', 'g'], flip_barb=True, + barb_increments=dict(half=10, full=20, flag=100)) # Masked arrays are also supported masked_u = np.ma.masked_array(data['u']) @@ -50,8 +47,7 @@ # Identical plot to panel 2 in the first figure, but with the point at # (0.5, 0.25) missing (masked) -fig2 = plt.figure() -ax = fig2.add_subplot(1, 1, 1) -ax.barbs(data['x'], data['y'], masked_u, data['v'], length=8, pivot='middle') +fig2, ax2 = plt.subplots() +ax2.barbs(data['x'], data['y'], masked_u, data['v'], length=8, pivot='middle') plt.show() diff --git a/examples/images_contours_and_fields/barcode_demo.py b/examples/images_contours_and_fields/barcode_demo.py index afe3700b2bb5..75227d01f42e 100644 --- a/examples/images_contours_and_fields/barcode_demo.py +++ b/examples/images_contours_and_fields/barcode_demo.py @@ -20,12 +20,12 @@ fig = plt.figure() # a vertical barcode -- this is broken at present -ax = fig.add_axes([0.1, 0.3, 0.1, 0.6], **axprops) -ax.imshow(x.reshape((-1, 1)), **barprops) +ax1 = fig.add_axes([0.1, 0.3, 0.1, 0.6], **axprops) +ax1.imshow(x.reshape((-1, 1)), **barprops) # a horizontal barcode -ax = fig.add_axes([0.3, 0.1, 0.6, 0.1], **axprops) -ax.imshow(x.reshape((1, -1)), **barprops) +ax2 = fig.add_axes([0.3, 0.1, 0.6, 0.1], **axprops) +ax2.imshow(x.reshape((1, -1)), **barprops) plt.show() diff --git a/examples/images_contours_and_fields/contour_corner_mask.py b/examples/images_contours_and_fields/contour_corner_mask.py index 1a2466bf899b..03d821959299 100644 --- a/examples/images_contours_and_fields/contour_corner_mask.py +++ b/examples/images_contours_and_fields/contour_corner_mask.py @@ -23,16 +23,16 @@ z = np.ma.array(z, mask=mask) corner_masks = [False, True] -for i, corner_mask in enumerate(corner_masks): - plt.subplot(1, 2, i + 1) - cs = plt.contourf(x, y, z, corner_mask=corner_mask) - plt.contour(cs, colors='k') - plt.title('corner_mask = {0}'.format(corner_mask)) +fig, axs = plt.subplots(ncols=2) +for ax, corner_mask in zip(axs, corner_masks): + cs = ax.contourf(x, y, z, corner_mask=corner_mask) + ax.contour(cs, colors='k') + ax.set_title('corner_mask = {0}'.format(corner_mask)) # Plot grid. - plt.grid(c='k', ls='-', alpha=0.3) + ax.grid(c='k', ls='-', alpha=0.3) # Indicate masked points with red circles. - plt.plot(np.ma.array(x, mask=~mask), y, 'ro') + ax.plot(np.ma.array(x, mask=~mask), y, 'ro') plt.show() diff --git a/examples/images_contours_and_fields/contour_demo.py b/examples/images_contours_and_fields/contour_demo.py index 4689d3507f64..a3366c88979a 100644 --- a/examples/images_contours_and_fields/contour_demo.py +++ b/examples/images_contours_and_fields/contour_demo.py @@ -30,10 +30,10 @@ # over the line segments of the contour, removing the lines beneath # the label -plt.figure() -CS = plt.contour(X, Y, Z) -plt.clabel(CS, inline=1, fontsize=10) -plt.title('Simplest default with labels') +fig, ax = plt.subplots() +CS = ax.contour(X, Y, Z) +ax.clabel(CS, inline=1, fontsize=10) +ax.set_title('Simplest default with labels') ############################################################################### @@ -41,85 +41,79 @@ # (in data coordinate). See ginput_manual_clabel.py for interactive # placement. -plt.figure() -CS = plt.contour(X, Y, Z) +fig, ax = plt.subplots() +CS = ax.contour(X, Y, Z) manual_locations = [(-1, -1.4), (-0.62, -0.7), (-2, 0.5), (1.7, 1.2), (2.0, 1.4), (2.4, 1.7)] -plt.clabel(CS, inline=1, fontsize=10, manual=manual_locations) -plt.title('labels at selected locations') +ax.clabel(CS, inline=1, fontsize=10, manual=manual_locations) +ax.set_title('labels at selected locations') ############################################################################### # You can force all the contours to be the same color. -plt.figure() -CS = plt.contour(X, Y, Z, 6, +fig, ax = plt.subplots() +CS = ax.contour(X, Y, Z, 6, colors='k', # negative contours will be dashed by default ) -plt.clabel(CS, fontsize=9, inline=1) -plt.title('Single color - negative contours dashed') +ax.clabel(CS, fontsize=9, inline=1) +ax.set_title('Single color - negative contours dashed') ############################################################################### # You can set negative contours to be solid instead of dashed: matplotlib.rcParams['contour.negative_linestyle'] = 'solid' -plt.figure() -CS = plt.contour(X, Y, Z, 6, +fig, ax = plt.subplots() +CS = ax.contour(X, Y, Z, 6, colors='k', # negative contours will be dashed by default ) -plt.clabel(CS, fontsize=9, inline=1) -plt.title('Single color - negative contours solid') +ax.clabel(CS, fontsize=9, inline=1) +ax.set_title('Single color - negative contours solid') ############################################################################### # And you can manually specify the colors of the contour -plt.figure() -CS = plt.contour(X, Y, Z, 6, +fig, ax = plt.subplots() +CS = ax.contour(X, Y, Z, 6, linewidths=np.arange(.5, 4, .5), colors=('r', 'green', 'blue', (1, 1, 0), '#afeeee', '0.5') ) -plt.clabel(CS, fontsize=9, inline=1) -plt.title('Crazy lines') +ax.clabel(CS, fontsize=9, inline=1) +ax.set_title('Crazy lines') ############################################################################### # Or you can use a colormap to specify the colors; the default # colormap will be used for the contour lines -plt.figure() -im = plt.imshow(Z, interpolation='bilinear', origin='lower', +fig, ax = plt.subplots() +im = ax.imshow(Z, interpolation='bilinear', origin='lower', cmap=cm.gray, extent=(-3, 3, -2, 2)) levels = np.arange(-1.2, 1.6, 0.2) -CS = plt.contour(Z, levels, - origin='lower', - linewidths=2, - extent=(-3, 3, -2, 2)) +CS = ax.contour(Z, levels, origin='lower', cmap='flag', + linewidths=2, extent=(-3, 3, -2, 2)) # Thicken the zero contour. zc = CS.collections[6] plt.setp(zc, linewidth=4) -plt.clabel(CS, levels[1::2], # label every second level - inline=1, - fmt='%1.1f', - fontsize=14) +ax.clabel(CS, levels[1::2], # label every second level + inline=1, fmt='%1.1f', + cmap='flag', fontsize=14) # make a colorbar for the contour lines -CB = plt.colorbar(CS, shrink=0.8, extend='both') +CB = fig.colorbar(CS, shrink=0.8, extend='both') -plt.title('Lines with colorbar') -#plt.hot() # Now change the colormap for the contour lines and colorbar -plt.flag() +ax.set_title('Lines with colorbar') # We can still add a colorbar for the image, too. -CBI = plt.colorbar(im, orientation='horizontal', shrink=0.8) +CBI = fig.colorbar(im, orientation='horizontal', shrink=0.8) # This makes the original colorbar look a bit out of place, # so let's improve its position. -l, b, w, h = plt.gca().get_position().bounds +l, b, w, h = ax.get_position().bounds ll, bb, ww, hh = CB.ax.get_position().bounds CB.ax.set_position([ll, b + 0.1*h, ww, h*0.8]) - plt.show() diff --git a/examples/images_contours_and_fields/contour_image.py b/examples/images_contours_and_fields/contour_image.py index 3f0f007dcca4..94000053e159 100644 --- a/examples/images_contours_and_fields/contour_image.py +++ b/examples/images_contours_and_fields/contour_image.py @@ -34,14 +34,12 @@ norm = cm.colors.Normalize(vmax=abs(Z).max(), vmin=-abs(Z).max()) cmap = cm.PRGn -fig = plt.figure() +fig, _axs = plt.subplots(nrows=2, ncols=2) fig.subplots_adjust(hspace=0.3) +axs = _axs.flatten() - -plt.subplot(2, 2, 1) - -cset1 = plt.contourf(X, Y, Z, levels, - cmap=cm.get_cmap(cmap, len(levels) - 1), norm=norm) +cset1 = axs[0].contourf(X, Y, Z, levels, norm=norm, + cmap=cm.get_cmap(cmap, len(levels) - 1)) # It is not necessary, but for the colormap, we need only the # number of levels minus 1. To avoid discretization error, use # either this number or a large number such as the default (256). @@ -51,7 +49,7 @@ # of the polygons in the collections returned by contourf. # Use levels output from previous call to guarantee they are the same. -cset2 = plt.contour(X, Y, Z, cset1.levels, colors='k') +cset2 = axs[0].contour(X, Y, Z, cset1.levels, colors='k') # We don't really need dashed contour lines to indicate negative # regions, so let's turn them off. @@ -64,28 +62,18 @@ # We are making a thick green line as a zero contour. # Specify the zero level as a tuple with only 0 in it. -cset3 = plt.contour(X, Y, Z, (0,), colors='g', linewidths=2) -plt.title('Filled contours') -plt.colorbar(cset1) - +cset3 = axs[0].contour(X, Y, Z, (0,), colors='g', linewidths=2) +axs[0].set_title('Filled contours') +fig.colorbar(cset1, ax=axs[0]) -plt.subplot(2, 2, 2) -plt.imshow(Z, extent=extent, cmap=cmap, norm=norm) -v = plt.axis() -plt.contour(Z, levels, colors='k', origin='upper', extent=extent) -plt.axis(v) -plt.title("Image, origin 'upper'") +axs[1].imshow(Z, extent=extent, cmap=cmap, norm=norm) +axs[1].contour(Z, levels, colors='k', origin='upper', extent=extent) +axs[1].set_title("Image, origin 'upper'") -plt.subplot(2, 2, 3) - -plt.imshow(Z, origin='lower', extent=extent, cmap=cmap, norm=norm) -v = plt.axis() -plt.contour(Z, levels, colors='k', origin='lower', extent=extent) -plt.axis(v) -plt.title("Image, origin 'lower'") - -plt.subplot(2, 2, 4) +axs[2].imshow(Z, origin='lower', extent=extent, cmap=cmap, norm=norm) +axs[2].contour(Z, levels, colors='k', origin='lower', extent=extent) +axs[2].set_title("Image, origin 'lower'") # We will use the interpolation "nearest" here to show the actual # image pixels. @@ -93,15 +81,13 @@ # This is intentional. The Z values are defined at the center of each # image pixel (each color block on the following subplot), so the # domain that is contoured does not extend beyond these pixel centers. -im = plt.imshow(Z, interpolation='nearest', extent=extent, +im = axs[3].imshow(Z, interpolation='nearest', extent=extent, cmap=cmap, norm=norm) -v = plt.axis() -plt.contour(Z, levels, colors='k', origin='image', extent=extent) -plt.axis(v) -ylim = plt.get(plt.gca(), 'ylim') -plt.setp(plt.gca(), ylim=ylim[::-1]) -plt.title("Origin from rc, reversed y-axis") -plt.colorbar(im) - -plt.tight_layout() +axs[3].contour(Z, levels, colors='k', origin='image', extent=extent) +ylim = axs[3].get_ylim() +axs[3].set_ylim(ylim[::-1]) +axs[3].set_title("Origin from rc, reversed y-axis") +fig.colorbar(im, ax=axs[3]) + +fig.tight_layout() plt.show() diff --git a/examples/images_contours_and_fields/contour_label_demo.py b/examples/images_contours_and_fields/contour_label_demo.py index 7140b9b13a44..ba5e2301b20f 100644 --- a/examples/images_contours_and_fields/contour_label_demo.py +++ b/examples/images_contours_and_fields/contour_label_demo.py @@ -8,6 +8,7 @@ See also contour_demo.py. """ + import matplotlib import numpy as np import matplotlib.cm as cm @@ -32,14 +33,10 @@ # Make contour labels using creative float classes # Follows suggestion of Manuel Metz -plt.figure() - -# Basic contour plot -CS = plt.contour(X, Y, Z) - - # Define a class that forces representation of float to look a certain way # This remove trailing zero so '1.0' becomes '1' + + class nf(float): def __repr__(self): str = '%.1f' % (self.__float__(),) @@ -49,6 +46,10 @@ def __repr__(self): return '%.1f' % self.__float__() +# Basic contour plot +fig, ax = plt.subplots() +CS = ax.contour(X, Y, Z) + # Recast levels to new class CS.levels = [nf(val) for val in CS.levels] @@ -57,33 +58,34 @@ def __repr__(self): fmt = r'%r \%%' else: fmt = '%r %%' -plt.clabel(CS, CS.levels, inline=True, fmt=fmt, fontsize=10) + +ax.clabel(CS, CS.levels, inline=True, fmt=fmt, fontsize=10) ############################################################################### # Label contours with arbitrary strings using a dictionary -plt.figure() +fig1, ax1 = plt.subplots() # Basic contour plot -CS = plt.contour(X, Y, Z) +CS1 = ax1.contour(X, Y, Z) fmt = {} strs = ['first', 'second', 'third', 'fourth', 'fifth', 'sixth', 'seventh'] -for l, s in zip(CS.levels, strs): +for l, s in zip(CS1.levels, strs): fmt[l] = s # Label every other level using strings -plt.clabel(CS, CS.levels[::2], inline=True, fmt=fmt, fontsize=10) +ax1.clabel(CS1, CS1.levels[::2], inline=True, fmt=fmt, fontsize=10) ############################################################################### # Use a Formatter -plt.figure() +fig2, ax2 = plt.subplots() -CS = plt.contour(X, Y, 100**Z, locator=plt.LogLocator()) +CS2 = ax2.contour(X, Y, 100**Z, locator=plt.LogLocator()) fmt = ticker.LogFormatterMathtext() fmt.create_dummy_axis() -plt.clabel(CS, CS.levels, fmt=fmt) -plt.title("$100^Z$") +ax2.clabel(CS2, CS2.levels, fmt=fmt) +ax2.set_title("$100^Z$") plt.show() diff --git a/examples/images_contours_and_fields/contourf_demo.py b/examples/images_contours_and_fields/contourf_demo.py index 41523cfdf7c2..d4becd6d8ef1 100644 --- a/examples/images_contours_and_fields/contourf_demo.py +++ b/examples/images_contours_and_fields/contourf_demo.py @@ -37,32 +37,33 @@ # this is usually not such a good idea, because they don't # occur on nice boundaries, but we do it here for purposes # of illustration. -CS = plt.contourf(X, Y, Z, 10, cmap=plt.cm.bone, origin=origin) + +fig1, ax2 = plt.subplots() +CS = ax2.contourf(X, Y, Z, 10, cmap=plt.cm.bone, origin=origin) # Note that in the following, we explicitly pass in a subset of # the contour levels used for the filled contours. Alternatively, # We could pass in additional levels to provide extra resolution, # or leave out the levels kwarg to use all of the original levels. -CS2 = plt.contour(CS, levels=CS.levels[::2], colors='r', origin=origin) +CS2 = ax2.contour(CS, levels=CS.levels[::2], colors='r', origin=origin) -plt.title('Nonsense (3 masked regions)') -plt.xlabel('word length anomaly') -plt.ylabel('sentence length anomaly') +ax2.set_title('Nonsense (3 masked regions)') +ax2.set_xlabel('word length anomaly') +ax2.set_ylabel('sentence length anomaly') # Make a colorbar for the ContourSet returned by the contourf call. -cbar = plt.colorbar(CS) +cbar = fig1.colorbar(CS) cbar.ax.set_ylabel('verbosity coefficient') # Add the contour line levels to the colorbar cbar.add_lines(CS2) -plt.figure() - +fig2, ax2 = plt.subplots() # Now make a contour plot with the levels specified, # and with the colormap generated automatically from a list # of colors. levels = [-1.5, -1, -0.5, 0, 0.5, 1] -CS3 = plt.contourf(X, Y, Z, levels, +CS3 = ax2.contourf(X, Y, Z, levels, colors=('r', 'g', 'b'), origin=origin, extend='both') @@ -72,16 +73,16 @@ CS3.cmap.set_under('yellow') CS3.cmap.set_over('cyan') -CS4 = plt.contour(X, Y, Z, levels, +CS4 = ax2.contour(X, Y, Z, levels, colors=('k',), linewidths=(3,), origin=origin) -plt.title('Listed colors (3 masked regions)') -plt.clabel(CS4, fmt='%2.1f', colors='w', fontsize=14) +ax2.set_title('Listed colors (3 masked regions)') +ax2.clabel(CS4, fmt='%2.1f', colors='w', fontsize=14) # Notice that the colorbar command gets all the information it # needs from the ContourSet object, CS3. -plt.colorbar(CS3) +fig2.colorbar(CS3) # Illustrate all 4 possible "extend" settings: extends = ["neither", "both", "min", "max"] @@ -94,12 +95,12 @@ # no effect: # cmap.set_bad("red") -fig, axs = plt.subplots(2, 2) -fig.subplots_adjust(hspace=0.3) +fig3, axs = plt.subplots(2, 2) +fig3.subplots_adjust(hspace=0.3) for ax, extend in zip(axs.ravel(), extends): cs = ax.contourf(X, Y, Z, levels, cmap=cmap, extend=extend, origin=origin) - fig.colorbar(cs, ax=ax, shrink=0.9) + fig3.colorbar(cs, ax=ax, shrink=0.9) ax.set_title("extend = %s" % extend) ax.locator_params(nbins=4) diff --git a/examples/images_contours_and_fields/contourf_hatching.py b/examples/images_contours_and_fields/contourf_hatching.py index f13c477a9613..698f69b4ce24 100644 --- a/examples/images_contours_and_fields/contourf_hatching.py +++ b/examples/images_contours_and_fields/contourf_hatching.py @@ -20,27 +20,22 @@ ############################################################################### # Plot 1: the simplest hatched plot with a colorbar -fig = plt.figure() -cs = plt.contourf(x, y, z, hatches=['-', '/', '\\', '//'], - cmap=plt.get_cmap('gray'), - extend='both', alpha=0.5 - ) -plt.colorbar() +fig1, ax1 = plt.subplots() +cs = ax1.contourf(x, y, z, hatches=['-', '/', '\\', '//'], + cmap='gray', extend='both', alpha=0.5) +fig1.colorbar(cs) ############################################################################### # Plot 2: a plot of hatches without color with a legend -plt.figure() +fig2, ax2 = plt.subplots() n_levels = 6 -plt.contour(x, y, z, n_levels, colors='black', linestyles='-') -cs = plt.contourf(x, y, z, n_levels, colors='none', +ax2.contour(x, y, z, n_levels, colors='black', linestyles='-') +cs = ax2.contourf(x, y, z, n_levels, colors='none', hatches=['.', '/', '\\', None, '\\\\', '*'], - extend='lower' - ) + extend='lower') # create a legend for the contour set artists, labels = cs.legend_elements() -plt.legend(artists, labels, handleheight=2) - - +ax2.legend(artists, labels, handleheight=2) plt.show() diff --git a/examples/images_contours_and_fields/demo_bboximage.py b/examples/images_contours_and_fields/demo_bboximage.py index d714a6a06b43..2e774337163d 100644 --- a/examples/images_contours_and_fields/demo_bboximage.py +++ b/examples/images_contours_and_fields/demo_bboximage.py @@ -11,10 +11,9 @@ if __name__ == "__main__": - fig = plt.figure(1) - ax = plt.subplot(121) + fig, (ax1, ax2) = plt.subplots(ncols=2) - txt = ax.text(0.5, 0.5, "test", size=30, ha="center", color="w") + txt = ax1.text(0.5, 0.5, "test", size=30, ha="center", color="w") kwargs = dict() bbox_image = BboxImage(txt.get_window_extent, @@ -25,9 +24,8 @@ ) a = np.arange(256).reshape(1, 256)/256. bbox_image.set_data(a) - ax.add_artist(bbox_image) + ax1.add_artist(bbox_image) - ax = plt.subplot(122) a = np.linspace(0, 1, 256).reshape(1, -1) a = np.vstack((a, a)) @@ -51,7 +49,7 @@ bbox0 = Bbox.from_bounds(ix*dx*(1 + xpad_fraction), 1. - iy*dy*(1 + ypad_fraction) - dy, dx, dy) - bbox = TransformedBbox(bbox0, ax.transAxes) + bbox = TransformedBbox(bbox0, ax2.transAxes) bbox_image = BboxImage(bbox, cmap=plt.get_cmap(m), @@ -61,7 +59,7 @@ ) bbox_image.set_data(a) - ax.add_artist(bbox_image) + ax2.add_artist(bbox_image) plt.draw() plt.show() diff --git a/examples/images_contours_and_fields/figimage_demo.py b/examples/images_contours_and_fields/figimage_demo.py index 126c3de56e34..1c4ef70a2939 100644 --- a/examples/images_contours_and_fields/figimage_demo.py +++ b/examples/images_contours_and_fields/figimage_demo.py @@ -3,7 +3,7 @@ Figimage Demo ============= -This illustrates placing images directly in the figure, with no axes. +This illustrates placing images directly in the figure, with no Axes objects. """ import numpy as np diff --git a/examples/images_contours_and_fields/image_demo.py b/examples/images_contours_and_fields/image_demo.py index 820114cc2be0..a527446d5958 100644 --- a/examples/images_contours_and_fields/image_demo.py +++ b/examples/images_contours_and_fields/image_demo.py @@ -28,9 +28,10 @@ Z2 = np.exp(-(X - 1)**2 - (Y - 1)**2) Z = (Z1 - Z2) * 2 -im = plt.imshow(Z, interpolation='bilinear', cmap=cm.RdYlGn, - origin='lower', extent=[-3, 3, -3, 3], - vmax=abs(Z).max(), vmin=-abs(Z).max()) +fig, ax = plt.subplots() +im = ax.imshow(Z, interpolation='bilinear', cmap=cm.RdYlGn, + origin='lower', extent=[-3, 3, -3, 3], + vmax=abs(Z).max(), vmin=-abs(Z).max()) plt.show() @@ -44,7 +45,7 @@ fig, ax = plt.subplots() ax.imshow(image) -ax.axis('off') # clear x- and y-axes +ax.axis('off') # clear x-axis and y-axis # And another image diff --git a/examples/images_contours_and_fields/image_masked.py b/examples/images_contours_and_fields/image_masked.py index 029201ef1a1b..cadba0fe9e49 100644 --- a/examples/images_contours_and_fields/image_masked.py +++ b/examples/images_contours_and_fields/image_masked.py @@ -42,7 +42,7 @@ # range to which the regular palette color scale is applied. # Anything above that range is colored based on palette.set_over, etc. -# set up the axes +# set up the Axes objets fig, (ax1, ax2) = plt.subplots(nrows=2, figsize=(6, 5.4)) # plot using 'continuous' color map diff --git a/examples/images_contours_and_fields/interpolation_methods.py b/examples/images_contours_and_fields/interpolation_methods.py index 0e613572089b..2108b79dbdba 100644 --- a/examples/images_contours_and_fields/interpolation_methods.py +++ b/examples/images_contours_and_fields/interpolation_methods.py @@ -27,13 +27,13 @@ grid = np.random.rand(4, 4) -fig, axes = plt.subplots(3, 6, figsize=(12, 6), - subplot_kw={'xticks': [], 'yticks': []}) +fig, axs = plt.subplots(nrows=3, ncols=6, figsize=(12, 6), + subplot_kw={'xticks': [], 'yticks': []}) fig.subplots_adjust(hspace=0.3, wspace=0.05) -for ax, interp_method in zip(axes.flat, methods): +for ax, interp_method in zip(axs.flat, methods): ax.imshow(grid, interpolation=interp_method, cmap='viridis') - ax.set_title(interp_method) + ax.set_title(str(interp_method)) plt.show() diff --git a/examples/images_contours_and_fields/quadmesh_demo.py b/examples/images_contours_and_fields/quadmesh_demo.py index 33f2b78ca4c3..0c133e34200d 100644 --- a/examples/images_contours_and_fields/quadmesh_demo.py +++ b/examples/images_contours_and_fields/quadmesh_demo.py @@ -26,7 +26,7 @@ # The color array can include masked values. Zm = np.ma.masked_where(np.abs(Qz) < 0.5 * np.max(Qz), Z) -fig, axs = plt.subplots(1, 3) +fig, axs = plt.subplots(nrows=1, ncols=3) axs[0].pcolormesh(Qx, Qz, Z, shading='gouraud') axs[0].set_title('Without masked values') @@ -42,5 +42,4 @@ axs[2].set_title('With masked values') fig.tight_layout() - plt.show() diff --git a/examples/images_contours_and_fields/quiver_demo.py b/examples/images_contours_and_fields/quiver_demo.py index bb92e10b5bc1..636a046ee0d5 100644 --- a/examples/images_contours_and_fields/quiver_demo.py +++ b/examples/images_contours_and_fields/quiver_demo.py @@ -6,7 +6,7 @@ Known problem: the plot autoscaling does not take into account the arrows, so those on the boundaries are often out of the picture. This is *not* an easy problem to solve in a perfectly general way. -The workaround is to manually expand the axes. +The workaround is to manually expand the Axes objects. """ import matplotlib.pyplot as plt import numpy as np @@ -18,31 +18,31 @@ ############################################################################### -plt.figure() -plt.title('Arrows scale with plot width, not view') -Q = plt.quiver(X, Y, U, V, units='width') -qk = plt.quiverkey(Q, 0.9, 0.9, 2, r'$2 \frac{m}{s}$', labelpos='E', +fig1, ax1 = plt.subplots() +ax1.set_title('Arrows scale with plot width, not view') +Q = ax1.quiver(X, Y, U, V, units='width') +qk = ax1.quiverkey(Q, 0.9, 0.9, 2, r'$2 \frac{m}{s}$', labelpos='E', coordinates='figure') ############################################################################### -plt.figure() -plt.title("pivot='mid'; every third arrow; units='inches'") -Q = plt.quiver(X[::3, ::3], Y[::3, ::3], U[::3, ::3], V[::3, ::3], +fig2, ax2 = plt.subplots() +ax2.set_title("pivot='mid'; every third arrow; units='inches'") +Q = ax2.quiver(X[::3, ::3], Y[::3, ::3], U[::3, ::3], V[::3, ::3], pivot='mid', units='inches') -qk = plt.quiverkey(Q, 0.9, 0.9, 1, r'$1 \frac{m}{s}$', labelpos='E', +qk = ax2.quiverkey(Q, 0.9, 0.9, 1, r'$1 \frac{m}{s}$', labelpos='E', coordinates='figure') -plt.scatter(X[::3, ::3], Y[::3, ::3], color='r', s=5) +ax2.scatter(X[::3, ::3], Y[::3, ::3], color='r', s=5) ############################################################################### -plt.figure() -plt.title("pivot='tip'; scales with x view") +fig3, ax3 = plt.subplots() +ax3.set_title("pivot='tip'; scales with x view") M = np.hypot(U, V) -Q = plt.quiver(X, Y, U, V, M, units='x', pivot='tip', width=0.022, +Q = ax3.quiver(X, Y, U, V, M, units='x', pivot='tip', width=0.022, scale=1 / 0.15) -qk = plt.quiverkey(Q, 0.9, 0.9, 1, r'$1 \frac{m}{s}$', labelpos='E', +qk = ax3.quiverkey(Q, 0.9, 0.9, 1, r'$1 \frac{m}{s}$', labelpos='E', coordinates='figure') -plt.scatter(X, Y, color='k', s=5) +ax3.scatter(X, Y, color='k', s=5) plt.show() diff --git a/examples/images_contours_and_fields/shading_example.py b/examples/images_contours_and_fields/shading_example.py index 795d5e3a6776..ef8d171a300e 100644 --- a/examples/images_contours_and_fields/shading_example.py +++ b/examples/images_contours_and_fields/shading_example.py @@ -35,26 +35,26 @@ def main(): def compare(z, cmap, ve=1): # Create subplots and hide ticks - fig, axes = plt.subplots(ncols=2, nrows=2) - for ax in axes.flat: + fig, axs = plt.subplots(ncols=2, nrows=2) + for ax in axs.flat: ax.set(xticks=[], yticks=[]) # Illuminate the scene from the northwest ls = LightSource(azdeg=315, altdeg=45) - axes[0, 0].imshow(z, cmap=cmap) - axes[0, 0].set(xlabel='Colormapped Data') + axs[0, 0].imshow(z, cmap=cmap) + axs[0, 0].set(xlabel='Colormapped Data') - axes[0, 1].imshow(ls.hillshade(z, vert_exag=ve), cmap='gray') - axes[0, 1].set(xlabel='Illumination Intensity') + axs[0, 1].imshow(ls.hillshade(z, vert_exag=ve), cmap='gray') + axs[0, 1].set(xlabel='Illumination Intensity') rgb = ls.shade(z, cmap=cmap, vert_exag=ve, blend_mode='hsv') - axes[1, 0].imshow(rgb) - axes[1, 0].set(xlabel='Blend Mode: "hsv" (default)') + axs[1, 0].imshow(rgb) + axs[1, 0].set(xlabel='Blend Mode: "hsv" (default)') rgb = ls.shade(z, cmap=cmap, vert_exag=ve, blend_mode='overlay') - axes[1, 1].imshow(rgb) - axes[1, 1].set(xlabel='Blend Mode: "overlay"') + axs[1, 1].imshow(rgb) + axs[1, 1].set(xlabel='Blend Mode: "overlay"') return fig diff --git a/examples/images_contours_and_fields/specgram_demo.py b/examples/images_contours_and_fields/specgram_demo.py index 15d1479826f2..681ac2ba36e6 100644 --- a/examples/images_contours_and_fields/specgram_demo.py +++ b/examples/images_contours_and_fields/specgram_demo.py @@ -11,7 +11,6 @@ # Fixing random state for reproducibility np.random.seed(19680801) - dt = 0.0005 t = np.arange(0.0, 20.0, dt) s1 = np.sin(2 * np.pi * 100 * t) @@ -25,16 +24,15 @@ nse = 0.01 * np.random.random(size=len(t)) x = s1 + s2 + nse # the signal -NFFT = 1024 # the length of the windowing segments +NFFT = 1024 # the length of the windowing segments Fs = int(1.0 / dt) # the sampling frequency -# Pxx is the segments x freqs array of instantaneous power, freqs is -# the frequency vector, bins are the centers of the time bins in which -# the power is computed, and im is the matplotlib.image.AxesImage -# instance - -ax1 = plt.subplot(211) -plt.plot(t, x) -plt.subplot(212, sharex=ax1) -Pxx, freqs, bins, im = plt.specgram(x, NFFT=NFFT, Fs=Fs, noverlap=900) +fig, (ax1, ax2) = plt.subplots(nrows=2) +ax1.plot(t, x) +Pxx, freqs, bins, im = ax2.specgram(x, NFFT=NFFT, Fs=Fs, noverlap=900) +# The `specgram` method returns 4 objects. They are: +# - Pxx: the periodogram +# - freqs: the frequency vector +# - bins: the centers of the time bins +# - im: the matplotlib.image.AxesImage instance representing the data in the plot plt.show() diff --git a/examples/images_contours_and_fields/tricontour_demo.py b/examples/images_contours_and_fields/tricontour_demo.py index 47f8f74411ed..130ddfb02bcb 100644 --- a/examples/images_contours_and_fields/tricontour_demo.py +++ b/examples/images_contours_and_fields/tricontour_demo.py @@ -38,12 +38,12 @@ ############################################################################### # pcolor plot. -plt.figure() -plt.gca().set_aspect('equal') -plt.tricontourf(triang, z) -plt.colorbar() -plt.tricontour(triang, z, colors='k') -plt.title('Contour plot of Delaunay triangulation') +fig1, ax1 = plt.subplots() +ax1.set_aspect('equal') +tcf = ax1.tricontourf(triang, z) +fig1.colorbar(tcf) +ax1.tricontour(triang, z, colors='k') +ax1.set_title('Contour plot of Delaunay triangulation') ############################################################################### # You can specify your own triangulation rather than perform a Delaunay @@ -101,12 +101,12 @@ # object if the same triangulation was to be used more than once to save # duplicated calculations. -plt.figure() -plt.gca().set_aspect('equal') -plt.tricontourf(x, y, triangles, z) -plt.colorbar() -plt.title('Contour plot of user-specified triangulation') -plt.xlabel('Longitude (degrees)') -plt.ylabel('Latitude (degrees)') +fig2, ax2 = plt.subplots() +ax2.set_aspect('equal') +tcf = ax2.tricontourf(x, y, triangles, z) +fig2.colorbar(tcf) +ax2.set_title('Contour plot of user-specified triangulation') +ax2.set_xlabel('Longitude (degrees)') +ax2.set_ylabel('Latitude (degrees)') plt.show() diff --git a/examples/images_contours_and_fields/tricontour_smooth_delaunay.py b/examples/images_contours_and_fields/tricontour_smooth_delaunay.py index 5aa3560b9548..0af199b2fc68 100644 --- a/examples/images_contours_and_fields/tricontour_smooth_delaunay.py +++ b/examples/images_contours_and_fields/tricontour_smooth_delaunay.py @@ -114,26 +114,26 @@ def experiment_res(x, y): levels = np.arange(0., 1., 0.025) cmap = cm.get_cmap(name='Blues', lut=None) -plt.figure() -plt.gca().set_aspect('equal') -plt.title("Filtering a Delaunay mesh\n" + +fig, ax = plt.subplots() +ax.set_aspect('equal') +ax.set_title("Filtering a Delaunay mesh\n" + "(application to high-resolution tricontouring)") # 1) plot of the refined (computed) data contours: -plt.tricontour(tri_refi, z_test_refi, levels=levels, cmap=cmap, +ax.tricontour(tri_refi, z_test_refi, levels=levels, cmap=cmap, linewidths=[2.0, 0.5, 1.0, 0.5]) # 2) plot of the expected (analytical) data contours (dashed): if plot_expected: - plt.tricontour(tri_refi, z_expected, levels=levels, cmap=cmap, + ax.tricontour(tri_refi, z_expected, levels=levels, cmap=cmap, linestyles='--') # 3) plot of the fine mesh on which interpolation was done: if plot_refi_tri: - plt.triplot(tri_refi, color='0.97') + ax.triplot(tri_refi, color='0.97') # 4) plot of the initial 'coarse' mesh: if plot_tri: - plt.triplot(tri, color='0.7') + ax.triplot(tri, color='0.7') # 4) plot of the unvalidated triangles from naive Delaunay Triangulation: if plot_masked_tri: - plt.triplot(flat_tri, color='red') + ax.triplot(flat_tri, color='red') plt.show() diff --git a/examples/images_contours_and_fields/tricontour_smooth_user.py b/examples/images_contours_and_fields/tricontour_smooth_user.py index b51bcb0596cd..42b235d5543a 100644 --- a/examples/images_contours_and_fields/tricontour_smooth_user.py +++ b/examples/images_contours_and_fields/tricontour_smooth_user.py @@ -62,17 +62,17 @@ def function_z(x, y): #----------------------------------------------------------------------------- # Plot the triangulation and the high-res iso-contours #----------------------------------------------------------------------------- -plt.figure() -plt.gca().set_aspect('equal') -plt.triplot(triang, lw=0.5, color='white') +fig, ax = plt.subplots() +ax.set_aspect('equal') +ax.triplot(triang, lw=0.5, color='white') levels = np.arange(0., 1., 0.025) cmap = cm.get_cmap(name='terrain', lut=None) -plt.tricontourf(tri_refi, z_test_refi, levels=levels, cmap=cmap) -plt.tricontour(tri_refi, z_test_refi, levels=levels, +ax.tricontourf(tri_refi, z_test_refi, levels=levels, cmap=cmap) +ax.tricontour(tri_refi, z_test_refi, levels=levels, colors=['0.25', '0.5', '0.5', '0.5', '0.5'], linewidths=[1.0, 0.5, 0.5, 0.5, 0.5]) -plt.title("High-resolution tricontouring") +ax.set_title("High-resolution tricontouring") plt.show() diff --git a/examples/images_contours_and_fields/triinterp_demo.py b/examples/images_contours_and_fields/triinterp_demo.py index 9f8dacf0520f..650a4b621fe1 100644 --- a/examples/images_contours_and_fields/triinterp_demo.py +++ b/examples/images_contours_and_fields/triinterp_demo.py @@ -29,33 +29,32 @@ interp_cubic_min_E = mtri.CubicTriInterpolator(triang, z, kind='min_E') zi_cubic_min_E = interp_cubic_min_E(xi, yi) +# Set up the figure +fig, axs = plt.subplots(nrows=2, ncols=2) +axs = axs.flatten() # Plot the triangulation. -plt.subplot(221) -plt.tricontourf(triang, z) -plt.triplot(triang, 'ko-') -plt.title('Triangular grid') +axs[0].tricontourf(triang, z) +axs[0].triplot(triang, 'ko-') +axs[0].set_title('Triangular grid') # Plot linear interpolation to quad grid. -plt.subplot(222) -plt.contourf(xi, yi, zi_lin) -plt.plot(xi, yi, 'k-', lw=0.5, alpha=0.5) -plt.plot(xi.T, yi.T, 'k-', lw=0.5, alpha=0.5) -plt.title("Linear interpolation") +axs[1].contourf(xi, yi, zi_lin) +axs[1].plot(xi, yi, 'k-', lw=0.5, alpha=0.5) +axs[1].plot(xi.T, yi.T, 'k-', lw=0.5, alpha=0.5) +axs[1].set_title("Linear interpolation") # Plot cubic interpolation to quad grid, kind=geom -plt.subplot(223) -plt.contourf(xi, yi, zi_cubic_geom) -plt.plot(xi, yi, 'k-', lw=0.5, alpha=0.5) -plt.plot(xi.T, yi.T, 'k-', lw=0.5, alpha=0.5) -plt.title("Cubic interpolation,\nkind='geom'") +axs[2].contourf(xi, yi, zi_cubic_geom) +axs[2].plot(xi, yi, 'k-', lw=0.5, alpha=0.5) +axs[2].plot(xi.T, yi.T, 'k-', lw=0.5, alpha=0.5) +axs[2].set_title("Cubic interpolation,\nkind='geom'") # Plot cubic interpolation to quad grid, kind=min_E -plt.subplot(224) -plt.contourf(xi, yi, zi_cubic_min_E) -plt.plot(xi, yi, 'k-', lw=0.5, alpha=0.5) -plt.plot(xi.T, yi.T, 'k-', lw=0.5, alpha=0.5) -plt.title("Cubic interpolation,\nkind='min_E'") +axs[3].contourf(xi, yi, zi_cubic_min_E) +axs[3].plot(xi, yi, 'k-', lw=0.5, alpha=0.5) +axs[3].plot(xi.T, yi.T, 'k-', lw=0.5, alpha=0.5) +axs[3].set_title("Cubic interpolation,\nkind='min_E'") -plt.tight_layout() +fig.tight_layout() plt.show() diff --git a/examples/images_contours_and_fields/tripcolor_demo.py b/examples/images_contours_and_fields/tripcolor_demo.py index 8c885744895d..877d434ae1e1 100644 --- a/examples/images_contours_and_fields/tripcolor_demo.py +++ b/examples/images_contours_and_fields/tripcolor_demo.py @@ -38,20 +38,20 @@ ############################################################################### # tripcolor plot. -plt.figure() -plt.gca().set_aspect('equal') -plt.tripcolor(triang, z, shading='flat') -plt.colorbar() -plt.title('tripcolor of Delaunay triangulation, flat shading') +fig1, ax1 = plt.subplots() +ax1.set_aspect('equal') +tpc = ax1.tripcolor(triang, z, shading='flat') +fig1.colorbar(tpc) +ax1.set_title('tripcolor of Delaunay triangulation, flat shading') ############################################################################### # Illustrate Gouraud shading. -plt.figure() -plt.gca().set_aspect('equal') -plt.tripcolor(triang, z, shading='gouraud') -plt.colorbar() -plt.title('tripcolor of Delaunay triangulation, gouraud shading') +fig2, ax2 = plt.subplots() +ax2.set_aspect('equal') +tpc = ax2.tripcolor(triang, z, shading='gouraud') +fig2.colorbar(tpc) +ax2.set_title('tripcolor of Delaunay triangulation, gouraud shading') ############################################################################### @@ -115,12 +115,12 @@ # Can specify one color value per face rather than one per point by using the # facecolors kwarg. -plt.figure() -plt.gca().set_aspect('equal') -plt.tripcolor(x, y, triangles, facecolors=zfaces, edgecolors='k') -plt.colorbar() -plt.title('tripcolor of user-specified triangulation') -plt.xlabel('Longitude (degrees)') -plt.ylabel('Latitude (degrees)') +fig3, ax3 = plt.subplots() +ax3.set_aspect('equal') +tpc = ax3.tripcolor(x, y, triangles, facecolors=zfaces, edgecolors='k') +fig3.colorbar(tpc) +ax3.set_title('tripcolor of user-specified triangulation') +ax3.set_xlabel('Longitude (degrees)') +ax3.set_ylabel('Latitude (degrees)') plt.show() diff --git a/examples/images_contours_and_fields/triplot_demo.py b/examples/images_contours_and_fields/triplot_demo.py index d3a65762d021..0efc7011b4a8 100644 --- a/examples/images_contours_and_fields/triplot_demo.py +++ b/examples/images_contours_and_fields/triplot_demo.py @@ -37,10 +37,10 @@ ############################################################################### # Plot the triangulation. -plt.figure() -plt.gca().set_aspect('equal') -plt.triplot(triang, 'bo-', lw=1) -plt.title('triplot of Delaunay triangulation') +fig1, ax1 = plt.subplots() +ax1.set_aspect('equal') +ax1.triplot(triang, 'bo-', lw=1) +ax1.set_title('triplot of Delaunay triangulation') ############################################################################### @@ -96,11 +96,11 @@ # if the same triangulation was to be used more than once to save duplicated # calculations. -plt.figure() -plt.gca().set_aspect('equal') -plt.triplot(x, y, triangles, 'go-', lw=1.0) -plt.title('triplot of user-specified triangulation') -plt.xlabel('Longitude (degrees)') -plt.ylabel('Latitude (degrees)') +fig2, ax2 = plt.subplots() +ax2.set_aspect('equal') +ax2.triplot(x, y, triangles, 'go-', lw=1.0) +ax2.set_title('triplot of user-specified triangulation') +ax2.set_xlabel('Longitude (degrees)') +ax2.set_ylabel('Latitude (degrees)') plt.show() diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 9979bc543036..7a27b77f7b15 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -53,7 +53,7 @@ def _process_plot_format(fmt): .. seealso:: :func:`~matplotlib.Line2D.lineStyles` and - :func:`~matplotlib.pyplot.colors` + :attr:`~matplotlib.colors.cnames` for all possible styles and color format string. """ From 8b79b6f5bd6cbf34cb2499f3fc2ec930933d1b04 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Mon, 26 Mar 2018 16:44:41 -0700 Subject: [PATCH 0415/1161] Style fixes to setupext.py. --- setupext.py | 56 +++++++++++++++++++++++------------------------------ 1 file changed, 24 insertions(+), 32 deletions(-) diff --git a/setupext.py b/setupext.py index d077fe6b774c..e57f1d9b0333 100644 --- a/setupext.py +++ b/setupext.py @@ -1,7 +1,11 @@ +import builtins +import configparser from distutils import sysconfig, version from distutils.core import Extension import distutils.command.build_ext import glob +import hashlib +import importlib import multiprocessing import os import pathlib @@ -9,10 +13,10 @@ import re import shutil import subprocess -from subprocess import check_output import sys +import textwrap +import urllib.request import warnings -from textwrap import fill import setuptools import versioneer @@ -51,12 +55,6 @@ def _get_xdg_cache_dir(): LOCAL_FREETYPE_VERSION = '2.6.1' LOCAL_FREETYPE_HASH = _freetype_hashes.get(LOCAL_FREETYPE_VERSION, 'unknown') -if sys.platform != 'win32': - from subprocess import getstatusoutput - - -import configparser - # matplotlib build options, which can be altered using setup.cfg options = { @@ -201,15 +199,15 @@ def print_line(char='='): def print_status(package, status): initial_indent = "%22s: " % package indent = ' ' * 24 - print(fill(str(status), width=76, - initial_indent=initial_indent, - subsequent_indent=indent)) + print(textwrap.fill(str(status), width=76, + initial_indent=initial_indent, + subsequent_indent=indent)) def print_message(message): indent = ' ' * 24 + "* " - print(fill(str(message), width=76, - initial_indent=indent, - subsequent_indent=indent)) + print(textwrap.fill(str(message), width=76, + initial_indent=indent, + subsequent_indent=indent)) def print_raw(section): print(section) @@ -265,7 +263,6 @@ def get_file_hash(filename): """ Get the SHA256 hash of a given filename. """ - import hashlib BLOCKSIZE = 1 << 16 hasher = hashlib.sha256() with open(filename, 'rb') as fd: @@ -293,13 +290,11 @@ def __init__(self): self.pkg_config = 'pkg-config' self.set_pkgconfig_path() - status, output = getstatusoutput(self.pkg_config + " --help") - self.has_pkgconfig = (status == 0) + self.has_pkgconfig = shutil.which(self.pkg_config) is not None if not self.has_pkgconfig: - print("IMPORTANT WARNING:") - print( - " pkg-config is not installed.\n" - " matplotlib may not be able to find some of its dependencies") + print("IMPORTANT WARNING:\n" + " pkg-config is not installed.\n" + " matplotlib may not be able to find some of its dependencies") def set_pkgconfig_path(self): pkgconfig_path = sysconfig.get_config_var('LIBDIR') @@ -334,8 +329,8 @@ def setup_extension(self, ext, package, default_include_dirs=[], command = "{0} --libs --cflags ".format(executable) try: - output = check_output(command, shell=True, - stderr=subprocess.STDOUT) + output = subprocess.check_output( + command, shell=True, stderr=subprocess.STDOUT) except subprocess.CalledProcessError: pass else: @@ -369,7 +364,7 @@ def get_version(self, package): if not self.has_pkgconfig: return None - status, output = getstatusoutput( + status, output = subprocess.getstatusoutput( self.pkg_config + " %s --modversion" % (package)) if status == 0: return output @@ -878,12 +873,10 @@ class Numpy(SetupPackage): @staticmethod def include_dirs_hook(): - import builtins if hasattr(builtins, '__NUMPY_SETUP__'): del builtins.__NUMPY_SETUP__ - import imp import numpy - imp.reload(numpy) + importlib.reload(numpy) ext = Extension('test', []) ext.include_dirs.append(numpy.get_include()) @@ -984,7 +977,8 @@ def check(self): check_include_file(get_include_dirs(), 'freetype2\\ft2build.h', 'freetype') return 'Using unknown version found on system.' - status, output = getstatusoutput("freetype-config --ftversion") + status, output = subprocess.getstatusoutput( + "freetype-config --ftversion") if status == 0: version = output else: @@ -1090,8 +1084,6 @@ def do_custom_build(self): pass if not os.path.isfile(tarball_path): - from urllib.request import urlretrieve - if not os.path.exists('build'): os.makedirs('build') @@ -1107,7 +1099,7 @@ def do_custom_build(self): print("Downloading {0}".format(tarball_url)) try: - urlretrieve(tarball_url, tarball_path) + urllib.request.urlretrieve(tarball_url, tarball_path) except IOError: # URLError (a subclass) on Py3. print("Failed to download {0}".format(tarball_url)) else: @@ -1214,7 +1206,7 @@ def check(self): check_include_file(get_include_dirs(), 'png.h', 'png') return 'Using unknown version found on system.' - status, output = getstatusoutput("libpng-config --version") + status, output = subprocess.getstatusoutput("libpng-config --version") if status == 0: version = output else: From c0132cc655bce8dc9bbc198b801f03fbf71b4e2d Mon Sep 17 00:00:00 2001 From: Martin Spacek <git@mspacek.mm.st> Date: Tue, 27 Mar 2018 14:26:25 +0200 Subject: [PATCH 0416/1161] Remove test_get_default_filename_already_exists() --- lib/matplotlib/tests/test_backend_bases.py | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/lib/matplotlib/tests/test_backend_bases.py b/lib/matplotlib/tests/test_backend_bases.py index 0ab7e67a7666..3d0142f8996e 100644 --- a/lib/matplotlib/tests/test_backend_bases.py +++ b/lib/matplotlib/tests/test_backend_bases.py @@ -60,20 +60,3 @@ def test_get_default_filename(): assert filename == 'image.png' finally: shutil.rmtree(test_dir) - - -def test_get_default_filename_already_exists(): - # From #3068: Suggest non-existing default filename - try: - test_dir = tempfile.mkdtemp() - plt.rcParams['savefig.directory'] = test_dir - fig = plt.figure() - canvas = FigureCanvasBase(fig) - - # create 'image.png' in figure's save dir - open(os.path.join(test_dir, 'image.png'), 'w').close() - - filename = canvas.get_default_filename() - assert filename == 'image-1.png' - finally: - shutil.rmtree(test_dir) From 09af685f17ff0923966ceabb8ee9d72ac1609711 Mon Sep 17 00:00:00 2001 From: Martin Spacek <git@mspacek.mm.st> Date: Tue, 27 Mar 2018 14:26:55 +0200 Subject: [PATCH 0417/1161] Enable overwrite confirmation in Gtk3 --- lib/matplotlib/backends/backend_gtk3.py | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/matplotlib/backends/backend_gtk3.py b/lib/matplotlib/backends/backend_gtk3.py index 0bbab45c0a8b..e5dcb4cbb3aa 100644 --- a/lib/matplotlib/backends/backend_gtk3.py +++ b/lib/matplotlib/backends/backend_gtk3.py @@ -592,6 +592,7 @@ def __init__(self, ): super().__init__(title, parent, action, buttons) self.set_default_response(Gtk.ResponseType.OK) + self.set_do_overwrite_confirmation(True) if not path: path = os.getcwd() From 3a8ac36a8322397c430a9337f31059baeb45c694 Mon Sep 17 00:00:00 2001 From: Derek Tropf <derek.tropf@gmail.com> Date: Tue, 27 Mar 2018 12:09:18 -0400 Subject: [PATCH 0418/1161] Replace suggested labels with good first issue label The suggested labels for new contributors to use in contributing.rst are not used and have been replaced with the actively used first issue label. --- doc/devel/contributing.rst | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/doc/devel/contributing.rst b/doc/devel/contributing.rst index 9d5f7f15c303..e6c1163dc4ff 100644 --- a/doc/devel/contributing.rst +++ b/doc/devel/contributing.rst @@ -294,12 +294,11 @@ Issues for New Contributors --------------------------- New contributors should look for the following tags when looking for issues. -We strongly recommend that new contributors tackle -`new-contributor-friendly <https://github.com/matplotlib/matplotlib/labels/new-contributor-friendly>`_ -issues (easy, well documented issues, that do not require an understanding of -the different submodules of Matplotlib) and -`Easy-fix <https://github.com/matplotlib/matplotlib/labels/Difficulty%3A%20Easy>`_ -issues. This helps the contributor become familiar with the contribution +We strongly recommend that new contributors tackle issues labeled +`good first issue <https://github.com/matplotlib/matplotlib/labels/good%20first%20issue>`_ +as they are easy, well documented issues, that do not require an understanding of +the different submodules of Matplotlib. +This helps the contributor become familiar with the contribution workflow, and for the core devs to become acquainted with the contributor; besides which, we frequently underestimate how easy an issue is to solve! From fd4540e1b32230b882922f52750a1317926db132 Mon Sep 17 00:00:00 2001 From: ImportanceOfBeingErnest <elch.rz@ruetz-online.de> Date: Tue, 27 Mar 2018 19:31:50 +0200 Subject: [PATCH 0419/1161] Update install instructions for win --- INSTALL.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/INSTALL.rst b/INSTALL.rst index ac21f225a245..2c65af70c100 100644 --- a/INSTALL.rst +++ b/INSTALL.rst @@ -294,14 +294,14 @@ without fiddling with environment variables:: conda install -c conda-forge msinttypes # copy the libs which have "wrong" names - set LIBRARY_LIB=%CONDA_DEFAULT_ENV%\Library\lib + set LIBRARY_LIB=%CONDA_PREFIX%\Library\lib mkdir lib || cmd /c "exit /b 0" copy %LIBRARY_LIB%\zlibstatic.lib lib\z.lib copy %LIBRARY_LIB%\libpng_static.lib lib\png.lib # Make the header files and the rest of the static libs available during the build # CONDA_DEFAULT_ENV is a env variable which is set to the currently active environment path - set MPLBASEDIRLIST=%CONDA_DEFAULT_ENV%\Library\;. + set MPLBASEDIRLIST=%CONDA_PREFIX%\Library\;. # build the wheel python setup.py bdist_wheel From 84b9ca24fbef2cae1f08a562683c883c9135c936 Mon Sep 17 00:00:00 2001 From: Martin Spacek <git@mspacek.mm.st> Date: Tue, 27 Mar 2018 20:13:05 +0200 Subject: [PATCH 0420/1161] Add entry to /next_whats_new --- .../next_whats_new/default_filename_suffix.rst | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 doc/users/next_whats_new/default_filename_suffix.rst diff --git a/doc/users/next_whats_new/default_filename_suffix.rst b/doc/users/next_whats_new/default_filename_suffix.rst new file mode 100644 index 000000000000..0f8730b421e0 --- /dev/null +++ b/doc/users/next_whats_new/default_filename_suffix.rst @@ -0,0 +1,13 @@ +Stop adding a suffix to suggest unique file name +------------------------------------------------ + +Previously, when saving a figure to a file using the GUI's +save dialog box, if the default filename (based on the +figure window title) already existed on disk, Matplotlib +would append a suffix (e.g. `Figure_1-1.png`), preventing +the dialog from prompting to overwrite the file. This +behaviour has been removed. Now if the file name exists on +disk, the user is prompted whether or not to overwrite it. +This eliminates guesswork, and allows intentional +overwriting, especially when the figure name has been +manually set using `fig.canvas.set_window_title()`. From b55bd681cb1d09aa8e2e2fc6aff0fbe6c7ee2bac Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Tue, 27 Mar 2018 12:17:18 -0700 Subject: [PATCH 0421/1161] Update INSTALL.rst. Mostly: update the docs re: Windows (on 3.5 setting up the build environment is much easier, coming down to just "install MSVC" -- we may as well just link to an official doc page rather than a blog). The conda recipe is not hosted in the repo anymore, update that line in the docs. Minor rewordings here and there. --- INSTALL.rst | 67 ++++++++++++++-------------------------------- build_alllocal.cmd | 2 +- 2 files changed, 21 insertions(+), 48 deletions(-) diff --git a/INSTALL.rst b/INSTALL.rst index 2c65af70c100..e798e1fedf39 100644 --- a/INSTALL.rst +++ b/INSTALL.rst @@ -14,8 +14,8 @@ Installing Installing an official release ============================== -Matplotlib and most of its dependencies are all available as wheel -packages for macOS, Windows and Linux distributions:: +Matplotlib and its dependencies are available as wheel packages for macOS, +Windows and Linux distributions:: python -mpip install -U pip python -mpip install -U matplotlib @@ -32,14 +32,12 @@ Although not required, we suggest also installing ``IPython`` for interactive use. To easily install a complete Scientific Python stack, see :ref:`install_scipy_dists` below. - macOS ----- To use the native OSX backend you will need :ref:`a framework build <osxframework-faq>` build of Python. - Test Data --------- @@ -51,14 +49,13 @@ distribution, download the :file:`*.tar.gz` file and look in the :file:`examples` subdirectory. To run the test suite: - * extract the :file:`lib\\matplotlib\\tests` or - :file:`lib\\mpl_toolkits\\tests` directories from the source distribution; + * extract the :file:`lib/matplotlib/tests` or + :file:`lib/mpl_toolkits/tests` directories from the source distribution; * install test dependencies: `pytest <https://pypi.python.org/pypi/pytest>`_, Pillow, MiKTeX, GhostScript, ffmpeg, avconv, ImageMagick, and `Inkscape <https://inkscape.org/>`_; * run ``pytest path\to\tests\directory``. - Third-party distributions of Matplotlib ======================================= @@ -75,7 +72,6 @@ Linux platforms. `WinPython <https://winpython.github.io/>`__ is an option for windows users. All of these distributions include Matplotlib and *lots* of other useful (data) science tools. - Linux : using your package manager ---------------------------------- @@ -87,8 +83,6 @@ is packaged for almost every major Linux distribution. * Red Hat: ``sudo yum install python3-matplotlib`` * Arch: ``sudo pacman -S python-matplotlib`` - - .. _install_from_source: Installing from source @@ -137,7 +131,7 @@ e.g., if the header of some required library is in Dependencies ------------ -Matplotlib requires a large number of dependencies: +Matplotlib requires the following dependencies: * `Python <https://www.python.org/downloads/>`_ (>= 3.5) * `NumPy <http://www.numpy.org>`_ (>= |minimum_numpy_version|) @@ -179,11 +173,10 @@ etc., you can install the following: .. note:: - Matplotlib depends on a large number of non-Python libraries. - `pkg-config <https://www.freedesktop.org/wiki/Software/pkg-config/>`__ - can be used to find required non-Python libraries and thus make the install - go more smoothly if the libraries and headers are not in the expected - locations. + Matplotlib depends on non-Python libraries. `pkg-config + <https://www.freedesktop.org/wiki/Software/pkg-config/>`__ can be used + to find required non-Python libraries and thus make the install go more + smoothly if the libraries and headers are not in the expected locations. .. note:: @@ -218,7 +211,6 @@ Matplotlib by first installing ``yum-builddep`` and then running:: These commands do not build Matplotlib, but instead get and install the build dependencies, which will make building from source easier. - .. _build_osx: Building on macOS @@ -250,22 +242,21 @@ found that, to run the tests, their PYTHONPATH must include /path/to/anaconda/.../site-packages and their DYLD_FALLBACK_LIBRARY_PATH must include /path/to/anaconda/lib. - .. _build_windows: Building on Windows ------------------- The Python shipped from https://www.python.org is compiled with Visual Studio -2008 for versions before 3.3, Visual Studio 2010 for 3.3 and 3.4, and -Visual Studio 2015 for 3.5 and 3.6. Python extensions are recommended to be compiled -with the same compiler. +2015 for 3.5 and 3.6. Python extensions should be compiled with the same +compiler, see e.g. +https://packaging.python.org/guides/packaging-binary-extensions/#setting-up-a-build-environment-on-windows +for how to set up a build environment. Since there is no canonical Windows package manager, the methods for building FreeType, zlib, and libpng from source code are documented as a build script at `matplotlib-winbuild <https://github.com/jbmohler/matplotlib-winbuild>`_. - There are a few possibilities to build Matplotlib on Windows: * Wheels via `matplotlib-winbuild <https://github.com/jbmohler/matplotlib-winbuild>`_ @@ -275,17 +266,14 @@ There are a few possibilities to build Matplotlib on Windows: Wheel builds using conda packages ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -This is a wheel build, but we use conda packages to get all the requirements. The binary -requirements (png, FreeType,...) are statically linked and therefore not needed during the wheel -install. +This is a wheel build, but we use conda packages to get all the requirements. +The binary requirements (png, FreeType,...) are statically linked and therefore +not needed during the wheel install. -The commands below assume that you can compile a native Python lib for the Python version of your -choice. See `this howto <https://blog.ionelmc.ro/2014/12/21/compiling-python-extensions-on-windows/>`_ -for how to install and setup such environments. If in doubt: use Python >= 3.5 as it mostly works -without fiddling with environment variables:: +:: # create a new environment with the required packages - conda create -n "matplotlib_build" python=3.5 numpy python-dateutil pyparsing pytz tornado "cycler>=0.10" tk libpng zlib freetype + conda create -n "matplotlib_build" python=3.5 numpy python-dateutil pyparsing pytz tornado cycler tk libpng zlib freetype activate matplotlib_build # if you want a qt backend, you also have to install pyqt (be aware that pyqt doesn't mix well if # you have created the environment with conda-forge already activated...) @@ -309,23 +297,8 @@ without fiddling with environment variables:: The `build_alllocal.cmd` script in the root folder automates these steps if you have already created and activated the conda environment. - Conda packages ^^^^^^^^^^^^^^ -This needs a `working installed C compiler -<https://blog.ionelmc.ro/2014/12/21/compiling-python-extensions-on-windows/>`_ -for the version of Python you are compiling the package for but you don't need -to setup the environment variables:: - - # only the first time... - conda install conda-build - - # the Python version you want a package for... - set CONDA_PY=3.5 - - # builds the package, using a clean build environment - conda build ci\conda_recipe - - # install the new package - conda install --use-local matplotlib +The conda packaging scripts for Matplotlib are available at +https://github.com/conda-forge/python-feedstock. diff --git a/build_alllocal.cmd b/build_alllocal.cmd index dbda9149a3c1..56e2968a195f 100644 --- a/build_alllocal.cmd +++ b/build_alllocal.cmd @@ -1,6 +1,6 @@ :: This assumes you have installed all the dependencies via conda packages: :: # create a new environment with the required packages -:: conda create -n "matplotlib_build" python=3.4 numpy python-dateutil pyparsing pytz tornado "cycler>=0.10" tk libpng zlib freetype +:: conda create -n "matplotlib_build" python=3.5 numpy python-dateutil pyparsing pytz tornado cycler tk libpng zlib freetype :: activate matplotlib_build :: if you want qt backend, you also have to install pyqt :: conda install pyqt From ad70feb4be145ecd631e0c6773c1198d910ee1e9 Mon Sep 17 00:00:00 2001 From: Charles Ruan <yesilikechee@live.com> Date: Wed, 14 Mar 2018 21:18:57 -0400 Subject: [PATCH 0422/1161] Change to how update_position is decided to allow full circle polar graphs to have the correct alignments set. --- lib/matplotlib/projections/polar.py | 4 +-- .../test_axes/polar_alignment.png | Bin 0 -> 55357 bytes lib/matplotlib/tests/test_axes.py | 32 ++++++++++++++++++ 3 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 lib/matplotlib/tests/baseline_images/test_axes/polar_alignment.png diff --git a/lib/matplotlib/projections/polar.py b/lib/matplotlib/projections/polar.py index fb139ff01cb3..73b78d24dba1 100644 --- a/lib/matplotlib/projections/polar.py +++ b/lib/matplotlib/projections/polar.py @@ -631,8 +631,8 @@ def update_position(self, loc): text_angle = user_angle if self.label1On: if full: - ha = 'left' - va = 'bottom' + ha = self.label1.get_ha() + va = self.label1.get_va() else: ha, va = self._determine_anchor(mode, angle, direction > 0) self.label1.set_ha(ha) diff --git a/lib/matplotlib/tests/baseline_images/test_axes/polar_alignment.png b/lib/matplotlib/tests/baseline_images/test_axes/polar_alignment.png new file mode 100644 index 0000000000000000000000000000000000000000..c6f745275e85ac031b9ade4c972e79dd6dda8810 GIT binary patch literal 55357 zcmd>m`9Ia|`|T!0Qf5)cO$Zqq3?Xc@5}6Vii&QdZOcL4VDM?A0G9@Y+jUj1JL~}9~ zsZ6Pq>8!iwe9!p<&X1?p=XpM_N85Y9-}n2vuWMavt?Q24xx;WJ>l#)Hg|gDvh-OKl zED@zp80}b=;V0*gM)~0XnEZ8(tyu6UoW-4v|6cB6wA-ITVRs?_FqCK)AHWaI1N7|z zb{*Lt5ai;wk8;>0z~|7BfI|mdMUU?D^FMIJTU1$ISzgi4O-bJ8h=0Jw&0AzW)RYz7 zHt$o~=OQQS84%#3uAuOLe@*^~pNB#(f3p*XB1$o)=~xBleESgMVD)oh*+eV@=YefZ zG+N7s79Rg1Wu+|TOzHPs9IH2~Y+ufEW9sgwuFId#1Uq`id!E*~QxxKu`rLuV-`HyN zQg<QeZTt`Vb3TeJ3~gqRR9EqE&i(zhRU};PvC6vU@QxrAZhZ?TPVy&>;bGybZ8Y-d z^2wzv|9&RGwt|C7{wVYFiT?X5cSX5vbn@q+vt1;|zu#-BqKN(b&`B2t-G3ii*320F z??Y^-{{OuY%bKKRd3kvw@9(JO9$yGCJGXK9x^?R^lXsO`o!xkVi~KBLyjQ5)rlM>r z)TD?@?-ZL(mb~M{(=8uIG_*K5d#L;KrQ<DQMXA&;JUl#?tjlerrKKY?GkKpped;^j ztNHr%Yti-VmnSDDQ-pbVy}iAq<>aE1l2$%?^yrdJ`Q#(n%D(Q>UA(WjnHZARZaF2& zGBG_(J9J1+Yo>3>mEAWC%Cd}TG=peOyjV%^hpA$?dgDZYvxU8V{J?-~`25dT(lRpl zFX^1DPL`FEYx(x(MxK?7g^kUrWFZZzy84>_{(j!J?;jgPVq#*9%+1@ryeL*Wz7T$> zw{~}YmH{qJ|99z*M~_&s6kauJl;14onyP7Nh-+x9ZEbC>x_R@|ojYnnerl{MR>&qB z@7Q7R^<@RFdgAM=$|aPe-`_4he*F09GiUDKzt8wMOQG%k9shE{E`7vjo9-xuMw8f3 zW4}^EL!)9~3B|$DF)cGQMl<YJ<I|@rqeL(5D&Aq=R_)cp`fTeDw)Bh)*|*Esg%kh& z{8|w5<MT*Y(TZeY&G<BN!!<)S9Gq#BgB)^HDz}HX_uhTuG;eQtO5Z?h!p!$uA1Rc> zZ>viKa_Z_dyS)NifAjJ2-S!<^rXDa7IW*)RKHX{fy8hU`+%9fTi^I*r*e%?@zukB? zfG@JE4_DLG(_^40DJdCk-@cSGG(6ml#h^HQc-VdkKX~vUg<Z1r-P^Z}6bA<fpKq^~ z^jf5-`Sz#&Et@=*%BY;prsB~-JHPqx^ZH|9wNsB|OPm_CBANYZqdn!!eNBFK$E8?w zTYa(V7NfD#(&E1M)@jH)-epoyP#F63NlZnByE&G<?W~d;9^>83nDTO2im0q?dDkC( zeSHeW)YP;&MiO6{Q0~mhX_5K1=3s1eG!xdD`O~LQo^P(NBabO-d(~6OwsNoLM$hLI zlOoIfLK@BLyw5762x~4Op(Ol9wfBd+`M;YVJXrRs(#g=*R|zkb;ynB7`*Y8Y!C#89 z3KLCfv>KLJd`tH2vuF8hr@KsN1`-sij?Er5JFCbr|M%xfGs)(T3mUS?vonJ!7JK(5 zuM$%4LpZ*!a#_-Q?6>3D>};10cLTZV8L8B=?W#-(^oK1MwuW%wSDT#{1vh$ivuFg3 zwUk%Zmj!-%ea#K2$zt+YUFgp$-$8@KwOcxzL*nQqN8Lz@!d<Bbj`DPMbv-XKUA=X2 z?njSs`A%t{p@*E<RE=$I#a+uzVNp}=|DQaTQt|(m^;VQFL74S>Zd@ZFB_%E^yJGk5 z-4CBWjnU1E)Xm$bqr<?;%6bXg%fTTLoA31L)7vU+^mz1Hq9_(Tvh|e4Cr_>nm`Y|e zJ$b@*=FAzgbsXel@xO|S4d1?fLqsu$g@wI-_pZ6KlXLsIjXD{U+n<+N%i7sZJVR<P z?L$Vf5V~Yp>htLlufx5gE0-@{Ze(n%6B??1{rdIPix*S!^Qk3PGAvOODX)}OR8C@J z(k!C!?<*A*vhfL1Q-1hcyFGgfs;hbY?g-{f=NA?-VOwK6NGmABO2=bOQvw@e<>cgc zB2-?#dDHaagV5EhS3N)6-Sqy$hfV}=aA@fLM~_AiEU4g?IQw>tASR+MOIzAAq<lX= z5pcL0uskj<?%|UsGz$yPvM||O*RMyB=llM>e`qNB)XKH@amkL3j;dR?3<n=1b>8-M zQ`OKYFwT&~dPIENN<#gr<Gs|gXIV)64-ebUVN){}7^YmEsmJY-CC9~g>{#XJ=XYtR zbn5x@33{=s`X6P=DsI`rOgWvEWgBLmZMN)=!zvFCkLm+2mR(Q})J+lAd|qrW^7`#t zt)oY&)bv%PCW=#880GiY(%ssU#pLBzZSj7;4Qq)+me=W7om_MCrUCA7@`=i`OOE%B zj=a7mPS)U>n_>0ASF7*>m$m1dI~V^<dr|Piy&%Kgy9J`6qGWhQd(?u)1owtd>W5D> zG27icx`EPHd@&;G;zg0q&n~9q>BSCAeR_O5<cA~@T3UK~RCl*kVNsE_j1@{kXO)ZI z?YnpLvCl`|*2wM+`@SjQ>&unO0>xXoI0aUa`pw13#4!BqVq5*OSq^UQli0XJpFey3 z+}~a4B=YOmFVEguwcM~VHBy$2{hijq{!N<F`+3c+?RmrT#WwkEWFKN%AcL$(TC=Il zbG)Z~wdJl|zWAWmGhQZ!S63aI$;<4&zcfetxbUqbA0N!m{zl2T9C+pA$tC34!C_%; z6Man+Q&Y;179)_#BmIFV*tT&n<*4~Dv#_w3`T5EzEj5*bov|tV9iq9nw|C;#uLoZ% z8<Mk}BHlRH@mnHFbcQ=F)Wow>f`9hdPQLNDD7J3h(hYlVUYT;h`!hE;N37ZW&9<*F zK*5Vx_~Rj{>O=YR<qJJ2N#D$jt$uFGl)@g*#m>$?{p}5RL`1|$X905p7nQoi84040 z8Ig^L(sOs0=*Uq!`Q*uycvn5_KHLs6O4O}eTTZbFL?PB*-eqryT_qHilJabqqd2ND zs(5MlLe+?oiAmW_N(c{9?DUrx%vjD+X;mhjZ4M5Czs5c!AXE__YgNO3$+^0@T?_bP zNr}91LuGHopM5j4vt)%FE+o*6*k?LSXoX9TZ&1aj(z3I6Pu?Kg;N82mxQ+W&F3rzt z4%#ly810B&&RxCNV|%HU3^L5aPg5q^H?Cb{pz!eWYEJ%K+##8f7xsH>1jXTu+-}Rx zg(~SkpR$}dR<Djl!E}C>tEq@BkM9qi9%+h-rW?i1>@cBCGi_Y6GCx0`LqH(T>G(V^ zwhynS;O5Pn38Z<DC~&f|aT_v@X^xFH9%<HUSbI*<si(}A{T<uniH3u(u97h1+hET` z*(uHQ`fi}?ukY_-XJ&#cq6!bZxXimW4q?55i<&Rh7_@_$-*y_ikyqBn`S;idMEL$z z;nmnD!Jjg16@w?76NNNxcJK)ve}&Clto{*z;O5PnxNK&`nXD{S!mTUyZXhcd8L{Z< z>Qc5!8{ItgCaR=Fn&gywLE{g`KHPKJzyH+D!|w)A(+zxl6a|HZR_12XOE#A|E=i7~ zv&m^`31c(IWMpu!+2Wl@wq|>K`^d|RwP!Z$IaOP`^>k)t|4@4d%kt$)*#mmEq%xM< zR@!(qg#MIqR~A6+l+uwojBSK!yKKh=^_ZwAM%3W`1cmx-kI!sKJA0Piny}jTTaoh7 zZ+0zhZKgum^oJ$afSv!Y(BY^$_)5O^*V}{0WClQiK-LU3_DQeyhON|IoKpd$^BH@u z7Jcf}^}do5b93R?^#?Ynd>b4*2@ulK+G<^0+T%sj*U$5KmRoh>Mh10M{LQ;}gBj*p zI+m7PV;>t*NTN&H(!0&rcsam2se2DU`H^pYjSxyYdQyt2y!1VDG~Fy$lx1e@-uML8 zX#km#_Xm5<g$qh}2T#r_Eg2gd<0{^$b#mFt`~A(a43zU*ju;?&U3F?m20nF}o0$ym zk6BHja7*ooj)_@nkRqJ){oO5bZS98qD!i_ViHS%o@MiD#EX>Tz;lJK^%=E{KO#FDJ zJ&0|e_3fu-9Ioj4XX=w`@PsJpGiB@9xn87Arlm{C#cRB4RH#%(Qp6>{K1>sznfvi< z5}6^twpI{eNk~1QvBaW45r|F3)+2xM%ZGbg@Ftd0uq1jeE-smEyu7?R@>#aKBPoqB zD^@FdbxXgm4dHG)X*`El)LdwsF}+BgHY&Ap{r<LwWyOkeX#*6r=Qlje=e{~E>MkzK zuiIfnlURvl>TY?};ZD?_AH##VkJ~}x!jwj2ha3B!>iYQjT=+Qi%q}jU4j`*nWSNH& z;Q9R0iSD!jlL{NRo-*s#C|&w_`wkyYI<bU#;Knnpaz7P)YX04LfViHJ?Ck6rV8|-} z;g0y8OsszY_;`w%|7RazW`WbXd5yql1l?SF7FSRp-WxG{SkA7BvSY^%E-49Wmjdq1 zN@{sjWX-`>1Lu#_>zJ6ZQZ7Zz|K(Tp5j`XC_()C2oyWVkHjdnS<B27_twsra8#vai zi7(w%>{pNPH%5n7vV*{JPfzJpf~t|TzsC#q)`gB>H9vP;NU+@-qCXlOXrimjxOMB+ z!ek2%nxWxfGrM+6Pq{71pYwqO%blE@<o4WTtFW(0R~P0?>p+W`uP(NAt6;)vg$EUT zZlU*HySb%J<alC=)?fNP>#uRhKENGC$ri)NU{~y}F=BIFJzLv*H}K$-^IJ%^%up5L z?0iAqea#u52DC8PB`4C;x$NxhE;%(s*xe0SPr9no!Jd$Jw~iQY+ZNfaG+M2_FtY^V z*n-U`#=@8z@>w8JKxLWJv7fw$4j(Q`Hl$6{(8*d<_@in?M@Nfp-pmJdg9SUg`S2R8 z#X0}0uKI!L_7xBE^%JUqbK_%pYU}E*xwf*RPC5<*&}f@TyX%#N9flr?#n{-G5;=VF zxUf^ipLNStu95InrZ%hj^id?ua}%eh11ODn-wD_)O>J$41MWbXv3TnOby$^w7v|df z1_sM0myRzkyuQ9~1^NPs9R?B?s;f7eT~Oy`UL_bQ%HsL9dOay%$cZ+ip7{NipY!yG z(s<>c9%nT-H8EhV^Z;^DUt;gy*A>(ZJ>441$->5VT0P3xKQK_=%8F;|#}6f>A@}|J zUEkmKMZ`7&SctJib#uni%UbX_iSY&nO~4+kYuB!QlB33rtgMIZ8lRAGZQo<Q9krXN zs}=U1R%c|Ws;SWr4pz02;YH@%iQX|=#pC|VmwY!oo}Dr%NK>bBrtz(6qEZWXT3SY> zrg9wmaF=)AzI|2Kt~H@Bl7`Xyfq~VMDA7J-fwt@W9`CfXqlf++6;o8?K<5!%Q&ZDD zNvGo#rB$OI?SFFiL{*g{pjvZ#`|=g5<y&UQ8x#UJ=G%|IJJQfP_vc66PHBQb&9ar3 zqG=rNRi#O+$DWW_uER0WW9#J7nXfOsVS_$WSk-|Sl8I|JnP3qEJJ8f}@bE-``*z4~ z_imTo+K?IaA#d&((bD@g*f|9p@QeVWN@2eaA>5pwp4%k7e!a`2PN9^zLE<(W8@`uU zcAo@Fev+%X79BYYJA0P;8qRD{k|`8p*+mSH894a)=?GWyk)=zQBD~IZcaAIvgf$g9 z;f1$)U?->n&9KcTCMNhOi><A#pqd{IcjvB49>3S|whzNI&EJCI;o+(1bt5AwJgZl` zwWqHWWVB3J%FK+*<VK>6N?&J+R$>xKd;oQi?0eGK-M+0_I>?!}yibsW+I2oLk&SKb zW;T?InCxtU-tZsWqhn*6J34mY>!ugcj7+@TbEF?{h!QER8R`sV_x@lkefm_2aGcRF zlTKr-NCdgT9L+F3BzQw486X9_a9{;A<j4o&n>O(RTeKh=`bJ0N`}&-{_Z!hdo6sS5 zm0pbayPO0m+MaWp565572+GHeShfKL@Bo(r=TfDlm`R3sS+QplH)1T5Kp*A!g+<um z?(W|B`0)xrHj;D!FQV}%d?JCb5v($SOkGQk9693d;o%0{Mm{h%H`n*+Qw%;+T7V9S ze1E7+l&GkL1QQTS3`miwsrx{<&Ib?525#(9*|KHJ`}$*hM)?a3@s5ILzu)pjV@{e+ zydS$ee(P4Jh~^iQzA)Dg`-pML61Dg7CCRfWUz4BDAE9b%Uu?ckA1R&WT*ldBcl7Ay z+S*zIU{>9tDl=d~qLIHnE*?9To}M1>vir@OH<pIt`Sye<u@e6nF}vZi`NdU91}Bkc z`e!Bw1-<p%br;m-9>0Gth|MsxKOY}MdLFq3;GT~pK~G7E1?6*e?0p==l4V9%CJDcp z3745afBF~ZXa6_N!D?t|Sn9@Uv7u4Sjy9bFI;HR1w?rVZ+Mh4?pb6bKspAtAl%>vS zj4GugEiZqnvQi;paX#qw?c2`ixyg&Mk3^EPmff;tHHuj)cqOrncAtqp9bk^8t}e?_ zPj{wes|2M3nbOY|6|MU<{*eHVJY><CzLV_FEB0)`4Vwrh(G&SW0$60?y~ZLY-ZvZ< zsjshpT^F`x1v|CujD5u^fI@=T$tL?b+H+QUUwrp9`a>3ilQyu&+JZMi0S8bM;@{|* zioYs3ql(<x8!{~P{$3C}?zXwJz|iH$5rsfGsxnnDN}tAi^xNwb`=6d8eVS(I^tQcw zg%j{)oTyRKJghS_Glc5#>?&N2&x!r}Evzt0l&Euei3Pu!p9H`id7js=?N;5%H$;n< zq0T6<9>893YcL0DBQqsYP>rj=ASp_eg-c4D>PD7XatvrU7$`d}H+L2KksPgKYmOd0 zYT1@=-}vT@07|@No2a<$&Yfg?^?@z&2@GtlY*=7L0ODPxMZaF6>wf=!b8{yOU}15w zI080H!D;`bPRe(nGE2it_Kh7KtBx=Hks>J(1%kAzAkXl!sLQch$~t%g^byGW(claT zAO*Tcgd`HSfrmB5W>0wdR#Hb$Z!3O*A*3oRTb6IYz6DYO7x+BPrp)n-f>Sbz=OvVX zT&Sh5>7<%O!b93_BcVt-+t<%e&yT#hA%$+5yx|<MF@AR(M(qlvu)$D93F{aeYp6dP zwRA;Q;8z=ob?XiYEq0kIxU|qY?QZ+H=<l(&UnB2ud*_#CSD;AbJqiWj_kN1@0v)iI zn{?F|wT@MXzQ6)8uUN4HwX8aS1CaWz%VsAKq^C{RnV6dPkBzMYQ#e-QX!sMo7B&?L zeB`6Pfq|$O#peFIOsU+>YN9kr2{}2o7nir6l#V~EeO!xA&Q3H?qATy|`7MLU9`}3e z!erl~M?<nxa(lo=dX9X@QY&y4CQ>U_9(r?qDS@@%(CllxVh|35T?Dt6A}4`%yz|x( zr^3sZ^G&nlQy+i2?bFYQYW4Q!;qpx_<(Do|wCAU}dqcl&SjBxs9Lp99G=hfG1$E@T zO7z2M9~Qo}<-w{$UZdTmXaOGF@gKGe?{-BSisbm<mDBNxp0UrLm*FWZHfNiiB3%?n zPXL&UcW02nbO9PJn`K8K2lQcUsrn8ub>wO$oIcHimO*Q3F7WG1F}zrUiqL@O7Zmt{ z1_J&+d;a`Eq4QvW#_MNSp`dqrv9DM$$W>X>eLrT!BnoPOwnuIgvq*TO*lwC6p^8)1 zD=Bf}li+P=AM1~GUf#a8;^IeOXhL!t8IjlmXqgx-uOunmzU{!qHCVW!M`6>WJ*EfG zvQZrB!v*%-^44!YwNh!{BOX;%)o$rqxY#Z44?bUCZU_zu5d*huV`H=F?lNN!uzQ3C zS(q7QulPlX!-@MV(&aO^hR^sAaswd408y+SIBGR{V{))<5MaO%?CqgLhsw4tqTOi( zsNLz{aHU7fwT0!|hkL7kkAGZjV*}6J47^np{%0!wCRRmUMuyexL88kM;|<`*o}=M- ze>ZRinjP{UvC4rF7g0e3)dN^?WBi(-0s3J90UN#F-?sP?j7Ek{K$%uvapelRt{zGu ziq3O{!-Zi9<>gdP%`SXZi$T(wIEqX?dM_EFSJ*8Uk{NM$``j7<BchK!`Ef>$jE^gz znY9(PwX!M<tZ0ZhjLUyLH#s@!inVG5yPm+nz~BnKfL3Jr=k*%}$GZ|*Kc1*iDZW!f z?dA(2C)iv8LIyw$*Stk<Lfw1s==OZt;uFBkLr7&szvy%p&d8a^3Jq3a-abB6(i!b7 z@83IA{6Yqzqu&V|Fhk^XGqdrF?!6meT&}69IUiSP{C7*plsjjnbk<|p`GyxUXjtMY zG(2?0FW<oj)_)@2m+q3P7-Z5RsZaq)&o)QJBYEW8H#t<0-|Ekd-B|%%=1(FPeY*;c z2f$ynY&!VTYEL9kLPAJL2=B+N)2FTGT;5^T^=F$Ihd|+Sjel&Y{JD-L>g6UW^ISQ3 z`|6T`FcA?ErL9}%uK5|#XmsUlGbT~**Hw9!70yq8Lq~)Jl5O)2BvK24!sPTwJD9c| z-@1xSi+&*mBv4v@etl&dHiqrgf`&dGtkQtF_Pm6!c7#I?ij3!h1M7uVeYOqn22rx1 ze*V`x^#=Jb9YG(DNj-8`?!-F1zj^q4$JMo*oMLa^y-Pr$DZfrR05Dnf+bzkUAn<*r ztSt?Q$fCj~0lE!HA+EaG+JG}@4^M+C@6`6}%wPJl(kbP4Zx}lkyZqN}<kY6#-ui)A zGzop^)EOq6V=gshw7XYTRXzWUX6S|b<=R?@gY@m#1z^M%QnIz@CiF=6vU1JFMr4r5 z-mvlcK{a<(jicYT;ZM=_IRc1QJB3^1TbW-jDJgkm-7UQ8o{Wr4*)Ip&+@X*4LLkqA zzgFCOUg@NL=>2U@Fgu%ig9le$@X*A2F8V`7hh_kBO?HElSr@-{#MX$}?_0XdZP~%R zfH#@g<phkh8cW)SwH3J|egEUfltnG}Qrv0zyzj@9xDsXgX467LkSCN#@GUlfcZY<i zVXH78e^(!R!==3Y(=fw{6DKAnC!6ZReiITFB8M~ZU{9}kLFc8Q@m}6?4q#oKa%pPw z>_|Zhp+0id1IzLcqi*mkxkg8q1`IyW)5AKIOzFLD-n=4VbnywP#=sn{_zRM~!Br2U zT%A?(m-PNvU$LoD&uRa&+$2z+UY~fF7&<#UM_v@C^p2Zn27>McHR$=VUel&>ZxWt= z06b61+^uQprluzH;|D1siw~EsxPIeC+WGS<Y;9l33||7lm=ETeU)h}{^w+mIbla}K zzP&L&9rtj^_`^~?tMhYHj}>}WHF4=%Se5q-ptiIk_Tq7Mz6&`yEy&bX0dEop7Ed_? z3s@&^x_Rr?>V}zt6%}`=?5z(T#EXPaoKQXZQf?BWNY8##bMw{sH5z3AdR$p8-xphi z``OIQq8`4rYh^*go18XkIJfZt6{=ayqd#j5Q-qHVjmJyJyCM*2K|#Mw^c*kmxFCaA zR@$`5dN^CeaPQvS*Lix(llR8!GlmwXw}ph<QT2Q-ibVA7+Z@e5c$M&0X?yf@fEdNn z@%gIGjgd03&htO#?U1?9J#l3~RC6>hwTcIS!1Xa~Toa;Xo%!@#Ivtd**U&}QR1j4a z#wepluWZb|URX$DV`1UAb@-iRuBxwYBAw2G4T2{^>HSN)1Awv)`@@MzwBy{SuW?s( z%!?6H5EJhZM%YxS)fp6ME8Z*}w4m#O1EnvY*<7&`W8@ed7%0>Hhz%;J>~2)_Yy0`l z^Mg!B*E20!7LV<6vRlcl16`p$CBLYsC>Z6nO{=n`#3;bupBquWr_;uo;rgLB%D!K^ ziU#_dV_TOnucG6%yMkb)0gEYVYdd*Vo}@3JNw-)zw~K+w5_R_CMTPzQ_s6%Th^!8q z9ueE@`Fz{fpt1MjmE|_&t$1GvxW!Eo_6y)dNTRB)s^UQ1aVqft(vHS8;T=#x_dAz( zs<^m5WdLBOq^GyQkiE0DwaC?FX^gH|?;U@`gL!M;#V!3GFF?%Y?dRi#g@rRizd|X% zqKO=z%UfK%a|u{#?pIfKiwCl0R0oak?R@gYY@>=w`Sg(rbpRdi4<A10XPQ`(r?kvO z-^>|#JK#%~REHU@2Ske1l0~b?xeK~^94KBbF3qRr2d^O?)Ua&Z3c}iLIArGZo40T6 zYyCbwa=U0~F12~H&9~mVd%=SbR+bhRjiJME#rNw&E13l0!N<+b-HLuMp3;Jy89&I# z$Vj8uo1X^s*~J;D3c6wP_s8R_xw*Jn_B}omhoE&uy^*b8^++U=v@gJ_Wt-x1+p7+o z6%`d&8Q@%zkVBT1>7-JT`iIn9F*Dj#l;G*+CXUwDw$`U#w`O?t>eUHYW;Dx%SDlt| z#sR*26<%ISNA#m0x1yJtAN2hg{v(N{?^-PX*16PImvokl9l2x(5p)39zbM(I8~s?z z>b=2vt|KnUwyj{>JcV{yGvwoizPaI%fQ0*e&0W=ik>`dTLCTUKFb0rG3X@%wyI#D| zhxCTR+G!|a9rk{_VR7&G2vhb3JbsyG1EPN8mMz2ApVC6_?+cEb25Ydqw6xT-r>sXj zMOHzf4X>ZY-`^kUWMMFHet!NMg0b4OlMyJ^$Je*h+Wqf&f=`ib9WK|fV&5@R2<~i{ z|Fsqm7V~5H8Br6l1-sObBCt60Ee?82fj@BpF8~z34J_Tj;2@OyYhk~=p%1N@uGvbO z7qo~6Y7W1yVn9C^V_AAy+WNyMz-1^(x9{9>!EWH+<YkrF1}&9SO-(Jco*-~M=g`nl z-^ay;pqk%ruDLNkdi=Qaj=#sTIv#4q13aE^Gq5eO2>es<lSQ<XA!bq<TjIFWPM?mx zbV(F+3+pqjSvmAnkg209>;JN1C)po-qp<rr6MO`OV?-K@0#9~jZ`~U5l!$lXJBO}{ zvW&dDr2yzkz7XotLR{A6!bja+n*ceAYiQm(cXHs95@!2q(MD9)A9->4DYs)=SJ(AN zMP&!ek*S;Byt(tJ$l=SE_D_Bil9FhxmZYVnJ$(4E5x}wLj50QRrQfp@EFDDFD+3-V zV1xlAoh50l0L2&Q$Bz@KMpaGCmwg@eSlZncr%E<^LZPntFoRffH842!nxLT~K?Ztm zZteg?ge!p+00!~si@vIYO7lgH7=R{L{&c5}jbvzWFrCr@MCF(5sCjm4h;pn$>fRP4 ze=RMo0SJRd$(9}@VJun3#=$@b^^;>~WAiIzc<vZiDEY3tfnQC=zhbL$Ryy9h{A`9M z`P7U@zw^01yM<#B^z7jdp^_f2jR#*|d7Ec}2f!nNghzYg`R?Wh;6&T+fh$;9iMQZ= zUD#@%%w|Yh(?7Y)OmuWkyi66P9<wO#v8(pv#LD&!4M_y%sPDTUz5I1;hzj9tK%i)L zjt7AJQdU;p3CSM7O3SY;fEpT#Etu$l=5DK|rUm#sv@@>#_hT##%eYUmizI_&1Nbu) ziZQc-SAa-N92}y7r|pl7y}x5u8>|Gx?ThB$UL}_P(2Df3u4K!g5Tn_<=KVpvc5z`A z*HS@;HT-OA5p>Mp;9w)6f|qxX&2A=K))mKld_Z`XZKXf!|9oDHCTM^(GAPo0pFc|m zN>Iy|LBti$%*jcF&EOI=ZET&vU0uahexFRxWb&YDrmLG=7ywU#j9Ti(Vg35%;k6Hv zg;v0}ffnYEh^?pu^?;ASUaEM&kIzrz2gIq=sMfY!egOgDL+R(I-O)MA2S%$)iHR|Q znx`iuWT=}|Yz&?Dq!}0x?VPY?uCDprY4j4-Zwz9}%24Equm-6I#QzSEb7rGPH5~{Z z;e*<|RJYU6k3eEHp&1>Ou6c<UHSz1+kpeI*$mm?LtXu*D;Ku~gpr7Q!`vNMFs5o}v zTN%(ag2CN2%1<-Dg6e4BYPf&Dq-}k99?G2?lAW}ytR70?8*W{9cfvaS>t+!X5d2Yo z1%UfLOB|qr-DN~yLp%~lPr9S3HK2E!0PqxD?lXZh?MFQ2;1Uw#5=>Bq`@eiyo@o*z z5-~&2o}8Aj9-351v$LWoRlNNCpo%j3{`30Wm?;qhI7G#E1+RlUA9<d)1Xn0Z)~7*^ zmAHcr&DKnH5mJ$&-_S#oHprUBsZVC+Cz{y_tY*?lRgX8m8$6lc&1v=$4TfUGTrgOT z(gOa>vR+xRugMP|8o@}Ee{A-bk*R5hr~v0YF9KjWFAq=Six=GRWx?H1a&u<l#}B=T zh<c{wN$&u&6+uovbPt!!xDR5zDB1ZsdH>kN3-1;a0Bw*#t#?Ng?q~7Ov*Vz*8Nu_w zsb!R!N*5jg%NmExM^ZTeo?SzPrsVc>R^PAv`SS;A)Jgn|fqP9Bp3Du_D|&qVfP5Rx zDo#3{<ZN(BWt#i(YDi8%JDr-7!-kZ-L{cI@c4j2ni19yv6EQOYk&7p=Q#`v%(u`M& zP{=Ms&yv;3Y_W-CE~p09qx|VgDk@>_lMECTC#}y<vQMI!4H)f?Yu*wkaUYE6aw1U| z@3?RuSTF%0(lg?q!;zYm6$=UB>v|#19s`+7R%r9qt3F*R2iw!v*SB*p&l8Zn8Eiu* z%n><2bmm{^CF&%U6%ld3>#TrMSA6lUX!0h0|270>6YdgV*5T;;`ZWPmm;I>pGz;t; z;IbO3u3uL!9U$hCg@uKOj~|y$-T{|Ibbt5>lpxb-7K-N^!e8jV4W2q88a_v&1>~QI zyGnc@-(W){HQHBw5X9uf+k=(9dOG5(1qI~-nL^Q<PQ3Sj){oA>(y%iD-IFtvJoEQ! z!$-T<2aLTJKpmJtpAnFgOc##PtD>{He|nU8R_mBLL}K6HV~%4#bZDWgMMP4-bWV?S z>WxYp7#DQ*!FHhU<s}0cdIG{msW@jg6X^bB6N4$*0~dmNPrx#UC>G0l9C-9Fb^<hH zq+&CVR~xIv4U_wz%{9S)R+y|yGmz8N6k4@v6;`3^&8CEegwE;%yTI)aLLfuSBOY+{ zFtuzAh|@2-K|6p+So&WU+FjhrJmI|KA#_WxpQqfn9O-TO2WNDwhT#HPNx~?zTpJV& z%!gm%K8J6OcaS&4K9<|CVX{MGTvT1%zW9|?{v&MJLPG%o0iY6IlyqR>bwD~g3cou& zH^OkY?Dv=Ai*Rezr>ZaOi8LtCfqagKwvheZ_<T6*1L_E=$>5TR0YYA0KJ*SdC$e_e zS`gWUcZJ;#$gLIKSW&Y3Mm~85decef!9T+nv(#BNm;N8dou=;J*T_)&=ks}=qema0 zS(<T<H8O|O%gFri^p}$;8qhf#FSW+PFy-Y{)--0ji#3K3yZhAn^XI!QM%G`ODOsyE z`%MLjtJKYEJqRz>nETGZfBgJObRpO$;(*!Ke5<EjhAlNsn2DKr5X@RkN(wvNHAkL@ zt>)!*0fVCWvST}t4)LQ9#@0}by7jE#<|DmZaZzeK6;Bicv((Anpr)v$h)@IgNwUsK zc5y@H>biz?cY#n&Rub^cdQd1dP=`k!`hmb)eUGu388Pz}ChO2@60OGfVH;z&!G}fi zC~Bbd1RE_-0EtQHFJeeWQt9*1(8PM}NOtWx4zOvhD5E4?Qu1!!<_8faslBL^x0CoC zu|0i#eRFOY6zYNTE)<8IlxPk3R?@u}tk>e==3aM!dkUtH>oX+<@FEo@Zwn>*7b%>6 z;~-}MiA?;)8{nd7!<K_mO1vo2nI;J99s!i|09bSg<pu)&b@c)6yGOsv1QxP>{``3c zeeSw@4bbV_e@o7<QT4gh&1uAra^W*K<7+%N56w-$`k5&N#A`>t+Y^%B@oqqA=4>&C zfH+yQ69@*vzhy|7KLDU9OcpN%wNX%8`@Sz@JdQrS59}66pC~?6M?Pwm4s!H_BFluD zfTl*?)V+7~yIK7VMOg0Xqf9sYC;=CV!kTXjFD@+3eq1!b_j2;`w*C&G3OTd0bnb$; zM3NYhP_o28WMCOB4gVU#6%`9(f_=58SRfCz3?+qFVXrwiF<vll*#V;*^i(K00ilk^ zP@jlc043CS{%>H%32G>*-=VruqK)w7K*t2yt;wIEP^6@!4!y3@@p$$4>C;VLqzW#> zN?<n1;!c56A?(+;&c`x4*KYBSMjPExS<a3dL5p<uWtcXnrU252xhJaN!;X#zwIM&e zT3_6Y#l4+aXL@F2$R2MOtspU{2KZ?z3uEJ|qEZ$8IzIo^iJqLij3Vc7n}fn3B;@$1 zp%nfQWRkC2q>XiLMe4I)|0xf3L*uOoj)drBK(Cf<Vr4ZT=`>HE(;%;cNIc-|@hSxN z?AZf*NgntFOT)Z2A}b;%dDiT6cfSM^4<aGMW;UKzcA{PCqSajk{L!}{+%kpzXqOhu zO@wk;zw5Fncy|O2k<*ld#vCesz$Ti4n9sj-=~DjoB1;#zFIZNsdH|qZ75dYwu&{7s zU|ojr*7t?uU<cCG<0Xg?feqyX&iS9Vy2_%W1&sctfZ1P%;XYl1F5=;{XK+Mjsdw#C z^BZD;HR1X7eWs-asmUahYA^m_|NHBE`KCkrA$UJ*Z*PLiC<C@X(!L_1Oe}iO%|lIi zasALLZ7S@=pkBbcpo^`I5>NwgOAoJqF`5<-{YpN4+i-~`a6uy1!Pwgh@0b$O0}MjG zSL!%TjEowA@Bx2z7yPiav`kG+jRe~>vOe1dH_{C82i>EQnOQW+T4{7IUck1V#^#l! z$h?zit!}+U9Vf^L4S@Eq$+epg!Lt)5%x$q<LPEl7v<~s7iswW7Tik;%xN03vVSn&j zd;27+*a@sPcp8S=fnWJ{<fxti6-tFM4ka@)`Brr`4X{=;qaE(>ew1LeX2hk3#)S~~ zV9m9_F6L+itwOu;d~`!duzC6!$TvxV7ZB)fxt|vtO?QxQL%VXR({lp5-d~HwVtX8I z`t{uWJlb_2rov=u9J+!y7;rd&=!%kE)A3ZTga^8bmYNRz<g|2}Gz7k3Dn&_4Yj3%x zqT<eKl>JPTeKo`0Z>x=&MB!FyF!&7*Zvj6K&onK>SQ}thGLXp_lD<BZXfjdkrD-*+ zsE3-DK`uEDJxqhOz2zTB(~~sdU?LqX<XY>Fr>Rj{S*vq$a(v(~h1gedk<>*n{Y?rD zb5U?tRXqCf5#%R%YS`O|U<}g{k&S>NU#dO^E+X>pg11Q_%s7NLmEn_AT!-H7He6ps zbp?ht6^bpf>En>gZ-b{4S)2la2K=b0kYOblp0so4WPo^&;s$DAd4}9t;R%ixFjVE- zz>?sqe0#)5=8st6n?Rw~VG%^mIQorluJwlrJ_6G85ZeLN3m!hcm(q{1*L)!GR@{WU z3=S)u3Y%9W_E!GL{$M)y7yUveM}uLK`q0PK)zx|5KDY!TO=46zt&^6rbh-t@)DMRa zF`L1mYm7UD<L|^^TZ(PCcEsF_iQ9zntp%-!_b_rJX5h2UlI|RQQ*&^2e0+Ra&We3* zZc8W_3Ml)9WE@TkB=Bn+ARs54giBZO5ho##UZt-vxaNxSOp|qFiSW|9XY8$1koI8O z%Y18&z=V@?cNFcEn}<g%3cYTH%|HK_I(Bs<WAuo~l|8qJ92Jey45KAAP_XVG%;=zD z+54K5%YmH(>qpYl8yd9t2KO(m*bLmA$gc#u{A7dv9+-iUsV!$g3$IA<dY0MljvYfv zmO-*$97qReG?`~reW|NNv=T`NYrPo=1o$<-E8Y~4dvK~W^d^`z3cIj#_vK?+xu>Bs zf)t1WbL)z~N3v87eX#f{$w>FkojXWcFk)BEob)n5t1G+mV4jo|3nPf)nzuj<iSVZw zogVq3rmAYC_Dw=Tp>klj$2TB=6lU-##XY?Z$B$DQi%hcu&Q2e%M|c>1&M&^@)gzPf zPW%f@>;QziJ9nnOoG_-ACE^8&*Dn11di(gIR>a(-p`E?GiI5=|p5apthY&t4jw`IF zxLLfL(bfw)T^IkPo<7Z#X;Sp_2HaGP6nGYQe*c5$C3a7&qRl-RyeZq94i=KoocQ^( z#|!C(UvfuIN!Dz3I%0`5(x5rpP=pGT-FAZ4Bw9UosMFWqYGPemP^fxl(1%V!cq;&N z4^lr(J-G=U)`Pr)Q1;<Z$WpZUF2SOkDe}k`e60ob!+Av)Mp#&og=D|S*SWQ=g3aI( zwiiYC$!~0n7cw&8$BqGjfa|I0IHt-B32#Se#L`7>xV>(DjCkk#yS$vtI6%LD=ziT^ zDSGECT&@pZNLXC3Cya$+AA0%<?9G>f=iq*8>ryB`gzavhjvxgOHp15p#~X|zf}isO zpn|Y+11ZD8%9^g8+)HA5@7}#5-KE?-tV>}cWef@mBGHHfrDtcy50RCT0s(O2%_AR^ zu?gbU^ntzLI|O~MhNe6LMQwn{4x0}0{rx?ja*~<d<j<5MTtoP3+qWZWUPw>apj1)O zZKKl5@@&dGODx1uImoC6_PeDaRaw2~*(wQT7u1k8`~&c^Pq~$u0@BHNA+J&%)M_KP zjIbKRJ$YhUru4zY7d(6+ND+03vJDZc<k686KTx1f5CsYacu1L3G`wvW01AW2yyJkl z@E;by8y8JfX!)$>XV1(>r9(Xq9Ebz0%z32#kL2Ft^MR=Q#zJuqN2-{kM~*-d+XEA3 z)2mmjq4Q;_CwJ}!F9a9xu1~$}m*JSq$Ak#W%9X8%+9E)>mKGWrclq$4?!o!xk{Ee_ zp$GnKf_8GbwCa#@2z3GXKykN4qAoO32&0PN&<%y9Sfbj0mi_(vm#m}Rjr}V@eM<%k zQVU?Z8BxI2>K_<j1Y-&kAe%Pcc5c%_7>xeDHf1X=EbIgMKGIX3m7CGC3LXR*nMV?5 zJTEhIkAvSx09AVaJ@aT8v0?z|3@?e3L4ytf`Vy2|fGELu{pr;}x(oN=FIp|{&<KQ} z2t}lHkUtuZZv=^3xA}!6fOs~HT=aeUvObWf9Ze_w@y1<Aa9+<X%#QQw&5T}0cjt_^ zLhRNZ7qu10y*IUOp)D!^T9NA>tgPFQS31$RWK%*)+b;OxmUBy5-5HNrFSCAqntGH4 zv7U88BQAC8UIS$c8<Q}!>hZlR`4uV9%pSnIDpSE@=uSGfXy#^5K|w(uOoWkmfBDh| zywL+xE>12kSFU?P+}2Vsz5vo?s-NmDDlBw{|J1xLC*a?d&YfgSfm<jgScOI;eb$&L zz2EdkPy&=~aQndqrg)^cR^2Ha11Tc`$Ns{yL%`&>&<DC4Oo<}e!dR!%>a0DC#}%{) z%WPA=&ZI#5Kd<1!T~2LQaOi{WXh!=*Xh3lID3%YU5m9D)!3JSy3*GT{SEELZRP~LF z&{4vn^o(o(euXCZ&--UlawZ#_X-DqXIOGUp{O$To6FA(}KdO*AedUTA#9wA0F(l@6 zo)sL*A?#AQZ7nTlTe{Bu-Mebnzvk=9_rLC2xwyChtHc7?x>SxW?r4Az3j*cJkH_TG zmk_=1QMkI8NLG4ldyD>MCaOhii~lZZEy_sU49qVy^qjq8c?uBb7?wdJ4@|T#LdLT+ zEV15v_$^bCfp}oz8sqKT^_`tXr~h2>!%igc@#oQFZvEfCCuQvoT~1~%0G|qz^(5B+ zicD=+E{YpIaNq!}Kbs!bfhusp4n(xC8H%{;hvo^h66afb74BZgloS&a6CpT3%JUF= zI_#syLZ7aE0B!44b1uPb#0bU<KvgWKn%D)iHCTt;P_gXlLN^gb7}(25$nXeKTJEu5 zyJ0?We)@F#s452k4uh5@UKsRixuKhs^54ROoGr2Id~gI%eEa5(7r%2b&@nYcWIR52 zG+a}djSWhz2A*WA7;Kp~fAsMU9F5asAJ!u2oB)9@A;8w(A3Y8J{-3Wg_F-S**If*0 zC)h-^Ff?@TiF}78p9qm@k;5eJ91q0yJq1?o+Ki|%U~zxl@7`uGqaeQfv6cDN1EfLj z4K2KU`I4~zur04|pI^BTEFtfB3hgp%bMAfv0|Uf;MCLf)K>_9a0|ovhNRsUCyNj2p zu#p1Wr>QUdvJ(*x-)m=Wh<|B8cL=aE8RWwdk0;l8JFa=&ux$^Au*?{>V*7Y}v98-< z`ZMA-cra;8VKM^+!!dV;T1g?Sa&PA{R_WINXMokcP_R>4qOQR~-eb~5v|(;)1;rT@ z5to#h@>V`kcT0jYAco)~y(KTWuNM>)OoF^J5h^gT{I=>CxFs-jJ$=6`zREk*%Mrd< zRFs0@kS!ycNg-{&KwJJJGe%<0pI?irNMyDF_{|9jkw){J(RF3F3gPZSg#2@tDXC%3 zk|c1*8)}p3C2NrPm(9*2&|C1ZRmT@23UauA;tq(x5)A|4!(ty#A%MF_K0o68!i`06 zhZ9s>Tzm<)q?z-i7$=BFVh!!=w5a?Y7ayN~h-*XV3uSlTG3?ig37-NvEedh!fj~_~ zf&r{_0dz+lC)8k3vYxvly5kH{7Dhy;1vt_o%LCQN4_$l!)`&25;N^^k^exH4^&Ve5 zHiz~y{h6j%s6BX{2getFh~Q$)BWG?%e%M*w1A8I^w1G6}uSlvV`|b&3|C5lwsiO2$ zWS~qEQ!7-(40VGfc>TXjhmtZ1|BYQZKP9&F%SW_g7?vx35yEkI;X*;N8+IHV=q&Jh z5*~xxFUL2AJarfmNIpbY2|MJ~8|IuK<qm#`9Ru+L+Sdg*SCG$k#j(lO)icvC%!`tB zHjx=RD5zq{@feXo7^WR*nCBy`4In{ba=t&v9{fESma{Cq^5VQA7XucCo3!D0#d3RV zZ+GyCP`n($m*V#c%38De&`irK;%+2ZvDs?+wq3Z9_=XMN<DS(Zr{-#g{rfa{lT)aw z-AdECk{SIlQG;k*udAnrXDJLK&r$)k0bbf@(2<z+L-GlQja{AW7wA*9-4^ue9hgzT zRO}22SSJu^>0oLyAnPT_)}R`&_YiJf=kLy{o@F6b0jdiigm@rN9skx~MQp#q<UAEr zTPdkxgJJY&F|EwmY_hVlb71(eYscL#;`W-Y`@Q0jwem2jp|bx;syb`h-fNURb<=`Q zQH%vZA|b|(Zr^|%986#m3xH}7o7vz@fhEBUPp7qktml{J)I{HBjA)#^Hq1h1gFk*0 z0lyr&W1k(~A$XA5ZlwTk>_E@=x0MKfBY9bnS_kSl@Fgk*N)%yrN()9};FLxaU6h=+ z3r58U5VJest?)__fTIJx8qFn_^GD&AaU5k~>cfc1)tj*eIwzL_I%*>UAL_IEn~4Fu zEg!=ntb~$F0>ly9IQYV@wH;V?V-6+^lWyaPJ|2E<M~&(KOiSpvZv+9&1Tz!h6w28p zKY#z9^`)g&3wNnDj(fMpn5|y4-gTiG^93lneNKyiv$`z;q^|j7{*M=6N8U~&p(bZ5 z8S5h6<FH&G&<LNYvYAXfbLR4kV|t0!jvKTnq8m5zpbR%dLN7|zEnH3FpdF(D@IVB5 ze`NoUm?h&(lGg@9pwp2DCQ~E|^)vb1zVyUggMt%q;=+)@j#jR8@HsaZ69dpc-2R(N zV|Tc#k9J6@<S*WWs}pTC(c=Qkz`;G4g(g{U%mV@gL<%^4c>nZCvmRw8c@j}z{N3{S z!d%Fc3mUeg{Oap6+7;p415SL^p0qj+SSBzzAz=lA6mtZu$UFGnU1docwdYxZ!ZE0W zrJmjbF=^ygr3kbb*+8C?=<NXbY%lELHO0Uzuxxw#m(tA_C6o;UzfLM<*P_()<1Itj zahtR-oU56ExS)qh9(`b>@;}2eW9qqcWi?O6AYPhX#xs0NvV28gOLcXN#(3>XR5JMf zj8H7qTZK8wc7Z!3S~mJ$41}Wp@>l@Nm=8mP=Znip-4<*Es2M;KW!<?L@PxR}k1UIJ z3z}1!FQ+~y<c%4aBcJE%uOQnDSOyt05B^M0HfON%0hs=_BKo#4ifvS7<&g_A$gk*G zByZ&SU>*k>yL@gp<bJ&Pd1BoM#ZbOM3zZ$b^u9i;LRs|Kgq3!6rNUV&irBy4!p_no z06z<%vtU;Menv-q!Lrl}?Pa?9DIKu91W?_I+;+IgO2&73#G)4FCHn?jNHDj<e#>k9 z8On&?jF>^8wpKq=C=PNs^vgP8CWA%NvaRzToFxDiZcvcPriHo$p@WTlV?aPPd8nx4 z{iQp0%4E_pxCy28>kzZZuJssXH=h%}H3Ke;W?~W_v82Z$O4RDD<}C4Tk~!|4Gr76R zFfCi13oGdK<XF3Q&*VIM<q6aXaSYl34(j_(E?x^7_O-BHTx@hwNpvoWjAWrR=27zp zPF>D-^<vdl(W%&(VdnpMQ<j$9?$5gW-{iYyA2@fr=ycp3&pVfH=kty+ipS@Rin1gQ z`aBzFZ%|QVV7=ipCe-_^t+}m0K4|Qiqt5=`-?{$1>;X=sbH$(BY}g}A3AQ5ax}JRL z13Vgtz>4mAkb*EQUg1O~BIbIi?X_-aPv5(zVSmdz2|W?y!HHx&`T<2<xkmW=1t>Q` z#q?Ux84#l$&%fgByupvR=RBAaQuB-6<oP^O2&Tj%VPtqM`2{9?AMm>&HSR-i_vFQk z3=Dm!KnnW&_3L9aMuD?he?BHE*;rcMhiLd3SfPX8?Hd@XD+o_E%GdXIZir=By8*Z7 z78Mu&NY*Lq1hd9Z*$f4@*Mdc9`I;zwIbAp#E$$sX45P<Hva52j`9%^+K&1~f;&(gN zh4L!YPB7v=H+YXF^Ro$W<p;u0jhMULo^l~0V+jsqKxQLs0{TE^L?y8yqgn5(d9}A0 z?7mFk6|yIQ$aH}J-IcR@xp`dGrFP_O!=yDCSnstk;_bmWGGGjd$=U)A*NwO<i6gix zavBBZT!RgjN=HUK!SPKdyBvke5BBoXK(i724Ja&)Kpj7C9(i-URgN^x8X9i+O(Y4p z7}C5)Od%GKp)s_71yxlO*=={=@6`g*4+k^t<L|GBHveaR#N>cJG@O&_y5~u&t?2%c zqgSac#-N~IsHqUZG6przWcANzx&W^zZ3-@ON{p_H?*$*sJ12uvObTMVu}hi<)Lor% zav;=;H5yVh`7C@P2Y|@Sciv-@6EI=oD2Iq_HDR=Kr!ZUwmMr&gs1AoB90CNxK)zv$ zRQ8XAsve7T4Mu+6Eis1M9c|Eobhnj)svPUrua{Ii^O~3!iFZM$*_}KGJl!DwQ-gSP z6AhqoRU><mX@9f=-NC7i;6i|GHOKk)2Vryr($C0twyejW>}tGt!DW<fGDRf-clPMe zD{o}qu+guWI7mjg5ib$%*dRD*;E0j!g?vm5n7@H2Q>SyMXb99#EZ|Xlvd4jpYT4`X zFJU|+Hi#|b8fIBx351oy+Uuc-L<%bh^#IyBCQ3MPQ%*)|8Nx(i0z%~3x!WLJHVuq9 zWBq+co{Nno4P&wfEn~^6ioNA9%2Fn}#q7|d2g6g0Uv_G2Z!a|&KJ)k!2&PI-e*uV! zcHU_otPmOYt6k*}fNM!iObmOk8@pf?h4+^Ul_pa{5ldgkLhMlFkP%?siDWk}0GF*> zbMVR@KYDZ@=svhDH5%UjjYoPNj<h?#T804;AG4oli;JZY&M=@n4&Q$7`+=Z$Z5XeE zY0(Aj^Rf#cac0Dmi8?K`$jDsEBf*=J{u|W8Ct5XFOAGOBjX1pkhNeB)`>L0xamj3> zyH{Y$(W~ZdzD=Bov2iKq5gF4nawl%wxbf!M4KR@H?A9Pt$*?}{%~@Z(WFJ32nIOO0 zN9zsr%{P<5OvDZu0wM;<z~i83iDXYEwJ}3c=64xlf9`CCm>X&gobRu`4W~W+gtJOC z)@<@}|K&fq-?+SNdyXn6jyE8MVO%<zKk-cey7W(IR^fR8D7A=C6`yl#h!7$yFRTHN zHB5@!_w93;9B3tAImEEE8UnT}-We##`n}Chh@A_}x1pb(GA7P!KL_Hbo1wa24E;tx zHpr!GodONBV;W%TvIB%;)HXQY<pD)@CR}VCA6#bSanb#47^u^Q5g1lh%nO%XOYr9S zlCjW0vlK^%r~{@6Vlv<4DNAlRrEJ13@`3$r2jZxLy4b$qGA3DBYwR5_hy6h&z+^}= z;5Q>>YHG^o$LH;y;~`}4z+1O(0o`>0&;gOyaJ0?#^hp@W(nBr(!Zl+#>7ol`0trvK z&tI-XZ-(McW}GofK85tHGqRi|tq@z*6+Qu&0y)UsyvC}KQ;<|P9)8OMk|z@99gM5C z(2kDx{%ieV-3RsGisVOJJTCY>GP}&l&0X;InF`o_JPTDpVZ2m(2^8TN5(A-GsqsjG z{m7gzc#~+g@Z-|46I=#b;_R-uE*)2mwi5WDE}1?J$X@_yjBi)CoKw9Zh~Cda&4-AE z3J*Ni+6E7YzKXjGdS(KNVVE12UKR!=gNPNdG{BWYrcH?(8^f14c0z=HSIrY<5SVMU zCz2WZCUa7NkEfDP5bhj>uhuQq1hlsS%6k<?K}q3Y(PR)y&j1|8lEVk3%X8%IWe#EC zWTfetzkjEaT|1Gw$o&H@X9V$JoC!$HG_+(pX4CHme950(gzXTs@_D;&?1$(ueD>QL zvf3b*=&so>2`7mJwttUT)*Kn7L8FU}O=gjZ>;RG)9m0=fJ)_K>@Cq5un*Ijp4NYoi z;Z#X7SaQc<hyNLt{t|G=m?dL1NaSzQi0?$Rod{lp%t!I{OkU__o8Dn0;elKQ%Vpkx z-Vml)?Qb4Bpv0}6MEoDO@7){3*VPuJvU)ZUXM1e{9m8Jf!oqfG=xKI8$=DAvdLz_c z`!k0mTe?Z2Nr&u*I^iMz(Rc>#?Ka5C`p4RiW3;_TSqjwZQp04yCU`15fBADZlR-N; zX?v8}OfY+n&+OMuQ6fivpyNQ5^Mh(dXr*y}NkW373566mk*sT!`5ea<t;gb!AOwV9 z#-v}bZ{p@duNAM@*RTRseiAA&u$0N1K?gH|6QL%Osm4f*uWxv;kMpPB0QnBagC5!u zi=ls*JTSi5uE81-4>vXVW-(P&ellQ2LTwF7oifx?3>#wlnMl0&p39w{{|3KQeWQYS zTwO1QPc6q7?fywUabk(b=EA*iCJ6yGm`wTt=m>yvZU6aUeF`wqSa02m8v6~SQXSD- z<035M+=<$NGLFW1^SHDm26^SK&j43_5;~!Q^~L0HCi3)+Axu7z5h|E*dX?w`;Wz;V zlJKxlvjl_-I(`biJ{c8ICMh?Pqn%hCAvcPknX+qflr;_bGqn$$7onHZYq@_zw-&|R zTbJn|*QA9^CNUad#{IEIybc_}pd>w&GH#t{GuMWihGPXb_F5!f#@Sk6EeK{;#c3^M zapI@7#8TIw;lq~JM$Wo4pw~iH33e7^H1$~3I4J#Ae*&*vyEcPz`81VIk25LKg=~@O z6ohSR{H*A<-zQdhBRe!s8SjSZPMc)dTF(a~6}0f@WhZIMg@4wc=vIZ!$HBya@yAa> ztr8F;?rTKtCa3ZsY1F#$0}^uU=;&C7CYco7hk(Dcc!!Wm5mzPVpnoLqtblWiIO81Z zLTgMaS3vNX-c<vJ$zIof2<$tV-Nwjz3|YCDQ_h^mn2%s5RR%NU?Unq2ST{oA0T6x` zis2}Lm6$3kn-G-fg)trXixZrWt#|IEz&8WtIrhxZy7X-g`f(D1+7W^v+R_!YBHOr6 zZ>X3d3yh98q)qV-`~%je7dcA*BFzRHmK@DouXWm_sFiK}S^&}yId&(wP4V1?3qk|~ z;gKg1@I~0;v~l$D1Pp@92{sh_gp-Ge+~W1>>QjyQcB};PsD!?QL8J5L;XN4SO4ubc zSydgvU|j^=8smqVvnsBoON}tTiwJzIajG58!+h*xl2ve~3g*Skest0$$X6Xf!lOhI zN1Z>HrErYy3B1R~moLu*@nrnK*d2k3H$M#x5efsXP>v<%H9&rZ+~Mp`bb#FTqmm~d z;3s^)hh!xsPX#e$ki$VD&;4;vH)4OvAeR3MkRJW-AV7L;0snVQRX0M^3275u=9;J@ znK22c5Itfuou8cSgrRyMOe}tCalVu&tsAe?2g!+?rA2-heWzWOGs8H4%eF)%NKE7i zGUTZT@R_x1L`gfKj-wU5G#e6q3z>qL#!+zru&1o7aQwk63OWM?r$!Crv;?C`B`4D$ z-DF@iOI&@N55|SIHf8`Y!WI9_3%L)Uf3P73@u5Ars4c=SqD4c2$+IjCHl$hy{GC3K zVE1_*9ykUHIY%xhgJUXye9Jq)4;(1fiP@uG3$y!8O((D<=q}B@XyYr;V3M-~5W`R? z0mcV~j5m^<+sjF7g2xFzEOETI84WP;r}d^ixe6B)I!*$8A@-ld2yCxXA|DqQBVH2{ zCc@?6u1?r6?U7PIVtKy0D)iyNx_p|Zn3w$D-X+LM&A?W2t|0-YT$s#<Q3hj$9FRbQ z1a%)--#8w|Wr3MAW_~w9Lyt=v+=FvyoTa6ONoN}l1HeR66M)@*GNX$BWYXyqiYbRz z)^buz7v@HFIEav9LJY+Ub*Gu4=`T~o^vG#v#Qy}HuXd2%3=ju|An?c4$sn^LGP_6k zO*m%eyXVQgl%ZkU8YP~jx$=?{7D&yg-jln21B!_dP8kZ2%`RnKVTIl<3^QN=k%^oW zgJg6%L2D&vCp_>`b#--x3G9877p5?8XJ<C4glVFLi|!D}?Mh?VL1H-+BoKC|m-9Bt zV}}a)Y&?05<&)+ng%U6>!==<O)GSSo+`@4Un5+KxIA<o~=yrm5Teuf-QPIdCo&sd7 z!A#q|_^<>yAp&J3;aliJArkq^OAq1!aoG;E9K`HRt+>@%y}uk7Dk0wZ>a*wBd9z`0 zMLB+gya#DXTwVQK5L>|?sDFTC*x3kBOZmqO6-E+Y;niE}#)eK9byy1I3z-k8b)%D` zIgkl(B0{T%Nevk40iis5z|?-2-LCpB-M<g?pbIS8WOvI})<ywuP9?ikBk@sEhAp|M z1{-neP1pZM6W|*Y?C+kTze4s@^ym;Q7_;%%w=WN6m^f5jl<)5Wxr$ahN!afu<|$w- zKPSyA#tVlRIXDO>44RovaaoY<c^Z}Q)NpRtj;U61EKyQ(W+Zrhae4WUkvwIbi)IyW zhjX-KGoA$DmhYEYmz$;1Q;Yp!4ggP!+Jnqi=zu-b2@mFN|KU}bacu!|fn?T+vwINf zk}OgBl|wHuID`}B&d=Qj{VAz^`K;X(hn#=-IIf_${|SGFNY>e2sJtPDisxXL08G^X zv5hWmfz)QGvFL_zf25AXm>J_!VhDstN_b}g153=M<C(>9nn4iHjku(wPeM&{<jfGr zp&6^iKr!)6&R(Jt*8ZmVhevpKBm!|fNgu-Ht=j30?9p^ilHc@xXt%U;X=tCHJ%?Y% zSU!8U+5VgU9537w$pHn^v&HeaQx0g{oEf*xaa0ey80bsEJSd)H)@?~d%cxFHwuC7f zXTpt3w?ut^bAuUgvl&Ahh{jFNfvbo+1}C=w5Xqed>_(j7#4a-c(@wYDw^ZVWa5Bo3 zD_2Z5{o%SnP8Wha1PogYQefuq*UIwm;qdGsBlaBCvfKnguj1vY6BsXVLKK&M4=>#B zg#+v`LAd>?V%!KR3HtY3+tAafNhx(;gJZA;wd|ZI3mQ>C5IG#K@EkTxFAXO+24N!F zKj}DBWCVvBe0Ff1mEQD+B}M>Jbmh$-Y3EAet8-55hw%(?o*#>+m3iClXL)3sDkzyN zP7S%(3-b^drp4N6pmc!Ok61Vko!@lufku>Z_f^NWm<|SH?H6jLl4Avxl+y4Ej<vy@ zVCp`RSMj?G{a~g)m+mxq<)2Vn$n*zHMdQ*;M29~0ui~?1s2}^g@s|G{OQ;VJOooM; z+=C;I$Q{1(8Tu;B!*T!Z$$Z2FV21weUX%F}`s?Qs0aO_<_qZgo7z&f!C5&i?qecH$ zJ*2V1#8HKQvjv@FYg=0ZtaadSFM996S$Qylc@T~aX5Y_euX<tL6{q}3#OEu5+5>bX zXH0|`;;5|wSM2qvWSxnbFS2fly|!^B&$&6MYtXmDzKPgC0I!497cyuNn`JVmxPdb~ zg0(pC67Mt?Bg%Qz)u)3_D+9?;0H<(#$jIT3zy;Y-MwrQKLl_Z<7vxN4=v~{;2&0#q zd~(MD*T<wg#zcu%2n;AU#>-lUUj1+ah0edlTM$?G_~ma+&X<F&rV(4fVp2?agMD=) zx^hpdIwx-^qb_X_ua=yMg$R$)PvDzOc2fjDMg-Vr&r*;$p9`7&klnB$1}8MUVj~WG z44aXIc|P1Eq9IT&PBJhp`dc^$C7EAkKO0<)edy1DhMHhD1<ugJJb1t?*%ZK*cJ<+E zumX_7y$J9kNBW`VBf~k^&zSy3L<z$ZE%%CzJ~*D6I!ZDe25|<-v1V*+Lqf3}6jH0` zN7Efp(uO4-?1oc!C?N&y0NUEqL2L<9r`Q|ujk@06S9^)=3Xb6K*{z0HHl&sq*ciw` zOt+7IU$Zdx!<^g$1SF6eo$s`vYl1xLUKz%Ub0o0!F-e<%=7JfXk0zYiMZCy3(dj|; z>c1kcGxu%<pyEM#Lo4fv-99MPB>gsS<jm%aDMoA2Z02{?g#`&}9AyJYynZ|RouxmH z4j|+CI2Wt7;A{&v9{NxDQ7Ls`96-gW;^N{r9mIbO$;cJlo}^kX&T+s*Y&@j#KHy25 z_5A$UVT{Sc8Y2#5^}m>U54fKD{r~@yktCNgt4nAIDHIu@Xi;(zB0ELMCQ4S6w4;Qq zD7ma;l)Y(@QY5n?BO_#msQ>-hb-usb|J=^)cFwsD_4&Ntukn07){_XKi>gsDjZuQ} zVAMwpVLfe{E{|96KzNOGgMKsyOF3=ye=SG2(Zz2>#J=~aokdWNc8SI72u?4TeqDp= zu0B{@1bHl+G7hZ^W$N|(X;3uIuKamoeshawxA1DZhc?3~K)Kn5g5^Tu02dBDp=P#y z*?kA7*6Ek7QOAxA{{s&%O<}YChaRr>tW|2%s1eW4{`8}f2v<9xs`&NCJzV&78)xTD z*^#sVq6#AY<k+^LSQfQ}0)5o9KfmzVy6NaU<xrsZpu@k>Usc!Q)!%NzhPF~!=Z}^e zC~XtX-89PUrf|3Se>T{U^d*EcoBA~F{kGa&nJ4Ex?j57^w}PZHNGN4wZe~;O)**<m z7U3N8uDuA~h#!X{c88H6pl^2V{M#tkOF={Yi7=zrdsbFfpN+w_=GnMUI!w20N|kkP z8bvnyqE@ShbQWQj;?Ci5-E$qn?~=z>tTD9TjR9ZZI_&@L-&S4SpRB(aofJJ32nR@) zh^u%sZ5;nS*780vXQoSDIZ4aM>1SxN?Z%Xqv(oUTe@!>rv>QtzUz5_0+d^p&5jP<m zfAtj<nVj!C?Gw9H1#G)Vu3SsV{uerl8Q{m-Koj#ny~D=(3EXW*59gmPRqf6WYdq() z%lGTvpxQ_&?jY)-$A1Q}gh4#`>RIp)-k;~Eca4`vcTkbK#zWKT@%bUuQ--N5kjnT@ zaqOE%X<c6%1OXir$=8Orv*J^!5|2Xe7y3EMdH$O#Z}$_%6BobQ+SPp*BWYN=&kU@T zvvZ7RD-*@Jc7Jms=MBgON6SC&vj9LCtYGuwRlhh-UCymIk9gr8)kZ;e*ll<-ll}1< zJE|o^GISVwbW(QzpsT4LljRI(NWb5b6p4EHo$^PtJla^~PZ}P9R`@F*es=k&1uXaT zb59R#75k_PY_ROa+!H{gD1l`OAUUi`<C3d?rDvy)o-=1Aj)=FEj!j5bbO?*9Zsp}= z0!d7H<LT9P?2#VtLfv2W<}Iy+|EEq1Oi4+3v9)X$4jg!s+k7gT2H*e*udRDgw>~xB z1R841!>FtKRFA7eub(;dKrbkL;4m(iw?!$<8a3MBWmUx)%Av3p?O7>%vvA%=vKNl- z-Rop%Gi6FUFjIL|PgjOh_>oZ3M92)F6u_VH6+hG8f@cw`of`b_Cfl}8o;*SKym8mA z+iVeD*&-^!YxMh3AZ|ch$Ji0$a|+UIS0cPtqO8t;T39rz7w3vdt3|IVoERZaH$bE# zxhEy}SkdGEL4PC0b^Zn=FR}-y6Ns7q7t6qLMivc9He>aOriF52$A{-C$2-84$VE|E zp0Cg2*sJRrco_{B3z@U3l8>@;XItSfxU~6aa6hz>MtA5m<!V;6E756ltIBcj$PVP_ zNK`OhD7Ie!f9_d8Gs`=z+PBL8>n;&DtuX8DshSDeJ7U#5<V7$83pr*LSLnyl$$M=N z)4Nd*>BV3gnLT@G1FXTle(Mm!ppYBr(%^7>V*a#5l-rx}XoBu+;Uf+7{WPfR>iuYv zUZ&xoQTTI5hqzz5$GNDafX<Qd8um&Mh@F5mG@O@;FCj}+csMQC=1Nti>G86rA8O^% zdGnADBRejC)z!rH*dXr_8=MBKHwfDneu)DqdxZZK;=1S}GG$eVDUIyot*6X;`#`~| zP=J}O4A2z&42Ke*>g&6rJiX#=l5dC-0^Dk>q)D?@eKW62TyQa|suoW!IlhSwJ5(%h z<H<6vIhe_TQi*2b3+=?deFjfk3^;g`bq!v5Ret5FL$m-H{Tk~^gE0v1mMs(jJQe1; zD&$iv>@X$0>+eQ)p?a?5<)u97_M)(3mo6cXV}>P-3PEiQ$QO9)=V4jSyw{{YSEq&| zy)bv(q;d4{|7ihUIH`;IQny#HdwN^KI~CZ+e^>FrEK7#a{^tSP5Ku>@w`$MP&zbM{ z7?Ov~*UT>Y9s@QE&qz<ditw|lma^Z5JGSFf<D&z3{({xq?6c3{mHyUS)8@<x1DcgZ z)~Q3F713_;%er@`bP2#r`xo+-mpTEi2Slwd!A)Sz%ZF&Bv6QAE!9XnV5~#=-@ZEa# zYD*dbso2{-jqdOSZ4Oz9!JHzqdu^ZDdtwWk>sQa%tI_Qf=N+s=;P7(q9uVi#;IrDg z4nu#<_F)Bb2bqN0bx;$>ABEhf$iXU2uj;Ktd#SSS%F?#ykHgTgXDG&;IfzUN3F1Oo z%$mi8xz0yzJ_!<dcD{KHoVhgjGMugXuf}(Vb-%c8;$qiB{5^jZsl55kxHa7B8b-|= zBopDLP$AHgO@}m8c_!Dd!r=0{&G(v;`BQLsqf*p)FAg`(!x+Mq;jjH_xl^7--!Du8 z)P0n@6rznHDY>9JZ<}eN<C-<@MR?`1yLW$z&_+$Ohd*miLgedea!utqpp}YJ!k3`O zwnx75S3fG5G4!h9B>L=A+SoLSI*ty>4NC4p;?M%vrcge%JZ@SDJ#9A1mA@BUSSt~G zBomhEY`Evf`dhdZ5>7FQ55m0$B=)Wc4`;&5_1nf!=iL1IutTg!If^w@G<H#=D=9en zuk~wu@Xaih*3XPgOqwbT1}<B}`i<T_CJtbm)0Br_<AFHKzEv9VV#@b^y8HJLGO+UJ z;$l;k<DK~v4L*Hb(Ovh#(5lfbj;nC6Qe;F=c5a{`nNR;sy%$Kiufyhp@!f=WTloA& z<6=|W8JJfDtIqL@<frbac(A7SPakojoz$5cDx3hQtGptp^cy#BeB!^=Q3?$LW|z$A z*|TTAPP*ng^qrG9mY#887Fxu`y2>RlsgnS7^a^(B4S-a|cXuIiOejSlaueT7-~Ajp zdZwn%1$|T%rBZhz-i76+h<m_(UP}w@A#FvXrdX(l{`1e4_s1S{MhaumOJmnUJJ!a{ z!opVJrqq%fI10~9JhM<2#p$6{=3Q;bb8&R93?{q;NwO*j2|s6eV*b$Y0o^q=P^(&Z z+gip!1+Jk@$9pZ7&~s|3gQm@OeOGRn*lp{Mmkzl+BXHy{k9N~aHRnBEAJTr66l<-M z=_}3vO|=`~dj&x1>b^e%wh!Iym<0X<)2mF!+fGc8#inXw3#YWWae)>hr+2uqnOSrE zqP=b%A1>Q2I6VA?PJnvYYb3P@I*U#JTkiJBV*^YL-*oiVp{qb@$Pf9>^(6*#3K$G4 z4YebJeAMy<3nhTzqh>24!_6!1Y8~J7Yk2*^>IQ!nj8$*okT;RIm6+dE{zKch>Ja#M zMf1HdO0Ra_Sjf+@LsiemB$qTD_ZO?dk;FHH+O@`XcSf<HKH)|&kGux4l<$0N7i|Qi zL)XEsHX~C}phZ50G4kgB`dv3t$?GW`x_b`V2ibfrV%hVv#LB)lFyDIl^5qxjpB<f$ z=2&p6Z+*d7k1u?7&1>Lmsv=tW2#XA$N43?-<jV3-A}rRpq>=f6CBM+`pV3rgqPwLc zi(_zySWb8jtqBX|=3+7S;Ida-!L22$Ps=1}@R|J99l-cNJ-hrZb+(HA-~9D;0Re}< z?Su{K<Ja~FV4cUOIl~+sd#w89otQh-1*g{0`(NU2b&6jJrtj=m_2D-E0or4__{C6u z-Tqa1N%aCh*|N@1(>GFp+|<u?P$NyJH_%I<kDA`10im6XznE~wpV=M1al2#n?j6)B zY~pO$#D+Xh|I{WMeTtWF@M)0fdQ)eb`-Qizn|6&|)hW=b;@HfJ6+LtZfNz}1ulam8 za!9P+!Kh9pgm&}kwMc>DCgvV}VVc1rJUCJFT3gwSoJ-Cvb*HYZY{;KFyZX<$eOqgl zM^;?_=#+f!b@#aF?*q5;8d~tqcc7P2M4dn3=z{;%cSw)W<1rhTpI=lKw6BdR)vyE~ zeAL{SJzd~s32*y)?$DC~0y=_fBNIKOo%e#|a=kaPcQN5{B<69%i}<EkBm9IYXf)&j z6<%u8;#z&S|C3p3eu6PB{>OTs<IVQ<{4*Plp>X%jR44+rEK9yQ+0As|n=wYQ8*e48 zs7)ps1P89*oZOoi^fg~XUGpDDXlNA_G%K^WY3|+-qkWLZ_Q#*95<63a0QH0s>J1XD z_U(AC8K{0Y=GIG@ad8aFUakqdk7|KC8Z~Pd?A|wM??3UD5j-W1MALqQ)zw?K4uU|? zT**9&`FJ9o3T$?%93O*ds9C!Kr8)uk+^A1P0xRBggk9pb+<bn7mzR;m&6D>kW_5`^ zoRHkjr-U<5gx8$3wzFo<T5r=32t{eYhv_EiA8r81-y3*yOM*a-|J}1(l9Mj2jH8D) z*m_Hj=|sP;eJw16Y^2^-*BC{Zy3rueyiiU;QB?|v&DnVK{TJ$HiLfRQJ8|0NeV;WC z9tTXh!i%WCr@AMFm|69zFSq-g`-3au!IHdznTlgP!jqJ`<rUR{ux1J;!<gfo#_wuY zfG+!0&wF@cy^`DFvpYd%P1jpr<#XTmyJ%a&ZSVkNm~<hLZTnsOuk?2&lS{TjP1WVv z%1E~!vi&u}3vmB$*|sf<KZ-Z}x?o9c5`vgIe8(0`!P$eKi?;mxy;Wq8-&XVhYJF8& zdPUI##$p-#!Bb0ioTph_I2TF;Ab}~h&3EeQC7GRC`_CU<=!OUv-$goiY2`gnzeiIv zgb9@(bpR=u<%8`<4y6i-@D$ntwJ`LEaQyr)OqM<1U@v;)5?#$t!UJLRUsn=E&-=i* z$l>N|9GEa*oFB(vqKEqRE93{SB-!AC$CyXFwp(+<A|h73vULB3T<~+G+h&lhU@!MI zE*Hscmk4MMO)Qo+(8jcd+tSjOu20ldbm-Sli`1+7+P!A^vj#hK@7|217RVfgS+fqz zzYNJWjprqbJ5pO92|kfH?ULD1JtVQ-K4or|zh$NcekuJPJ&s-b0}W2squ#ddk;h1B z%@n_Gok3Hm{yzkai$tNI&CH~P3WSrsxVy!=4ucG1-UQ7=6H33|Vv5djZ^#3Y?(=C6 z!``4@%I<HUBt#1i%*Aof+VIfM)iNXK8o7kVaeB6ISM?$&TdfWZQ0onZojUI^Z9_mr z+kT%9e%#?c)5GJ-y`SSrqfkiRbs{Peg<xBvyTD6<jIy<V=Es+hQf|FmO!GUy?`u}h zn~;us>IDvnLA=TvOgTOLe4snw2;Pqc6jW%EPgZ=1CQ;!ZzousVY0RsV#4JKlp2#9X zbe?t}a4_rUO|v;=z1<(aSbX;A$Tt1yiv>=@|8rnryhKV+Sh{@ZXsvQ^_2RR?4|W}i zKD)J9+>xA^Yp8-03hGNmX=Th2LI+#Iz>9^PAvt&wXJ0D4;m*Oky9>1ef)9xfAg4W4 zO#eLH4M2mJkjy+?{iwel#GGGBQSS+;v+mC0#kR#8%9gJ$ZV}qcoF`k|M-g<@w61^- zx=N?xZKtoB_x$Z!Ri^%^UY<W=M#ne0g9Gmwn8m$6*f0yQW9f+AyYG=PtGI$RtZ8Yb z`VkPZL8xpf$VrwNbv8x+#pMGUy36;Aa1WSEBt%5cDwUSFEZ)7c0axbD$zzKk=oBLf zt~~t|niBAeE-p~(?v6a5J%gT4_6>lz#-BX|i3KH97IH#Z)^Hf5FOj445q2vS93Fi; znUamY0)74l4qqDCjdYD@sP}-9Q!xd8{_>3-D(J<vlsUb&FK*J9<T1sazgvm602;F7 zt8R#0A}@M0$Bayr`TDV>Jx;SBG#}E~A=r7&J$5d;td+^>gS*PVmz@7M+|;2;Y15+? zJ8DBCBe!@*DJPBU@}}NGs%!iPqBcY2bb{tueiXtF<giB#!Zw1MH^lQ0Ggqm3n>LL& zQnFVow)oZXx`v%ooLy79I&N>_h(qO#Lzb=1yc^oa+9)8%ZPUN(H{nf7N%N=YD}^u{ z%z%-jQ!a*5Nj_sI7FK{=P41C#^T?6CySk6My!ww>W_MBpPSz`;I~H#`ZRW)amX8?c zice7@UoR|7%kdh3<zxQ`=gJrg1`QpZ<kKdsC3^cVCl`=A-h*Jri}NtYU^KG(=by;p z?@aE<p1gs7edu<oWr|q-F;GSSS<Qv;_SKl7m9LFBN04Ab4AtLL(jCUTHPmpyV=D`b zb5C?9AY-%#td^WqiN*qrPUpnu^G(>FHw<qC&a;HmCWL{&bHON`F8;1-6SO(bU?&Pu ziX|%dE5*fAs`}4H94Q+?B5A;mI~W?mpbZ$ruezBte8p!t)In%Z!BU^$HDRMa!}@Y= zm4}DN?PWSFC^4+gtEO9kj%ftA`0n$Zf$uC*K`{eSX~r%$@``*XQYrDZKdma`LM!<5 z2b^?k|Erf0-jUm-D@`BvQg?z$e~{iS!8G&}cjp#8d-*b{+Gi7=mlOxEfe{~H&*a0t zEI#1(*+NpNm{3B?RUi0QWK)D#9)3&*b>H)B<mY|+_e<`a=!3oR+I?u+Zr+jts{FU} ztbmq0b9aVNa!ATt>H)Roy^n?|TI3UYwdm}sL8*^{f2O=Lr;K$UQKRy$;_+6c&Ue3f z)cpRbrr6PIc69MF_%Tls&aWNr5IANlPRx^(<GW4Ao?Wff>P>#)hWWKvl}!~n#l^d6 zFiVd7BpWcXdU6`bx95x*>3EdKBV{{z>XawuT;u-zs}E)hJ>k84VwzVvTToNcT0>*n z_bDoC{(Redv{}sFpYdNmJ+rw_l7h1T(hpA_PC9;ThEok(`+aOw%KihHoppqhA}1pw zD5BlKbK22Xp0jFzjqh`$D9a3rNEE8O239>;LNC1*qioiZI25I~xmPqj!l^2T7o8qf z{V&9ln&Q^2TX$DH#e|`$IK|Mer>7v&%oI5=C2~m<+jbwabN{G=IetxTA5ofx9}jJ^ zks~{fhxDm}!zAa?qwV~$r>D^O_Ea3f)8|*+d(QoErOscb-FW(R*TV-7w*7ECl!w%x z=?b@eGdlzxMvz)=c?@+>j||Pn*kV7_e|8rjJxIw7aIs+Cj-E6Bs()n)BbiRVx_>h# zXF6ZW6L0*v1l@l9;`o8bkU&~~OT&fZ$?KTO-573~!A^g`$)~CK{?w-=&b*2$;wp>W zV@yq_RW$oYXxWa?JQPmw*NmAuvDex2=TFiKy*bsUb?XzCYku82ayBhI+X}v3*`MC= z?Wv^w`%h3nokT^t&HOZym^t?jXn2I1CXLF*2XTv*J)Q5Ap(vl<`JWxVhksnk1DiqS zTvg9C^wrA#=scZI=K)9YiBLRk`=%Y7>Z~;CItwk7d3wjtNSZ15)}GAEA~D_e7(L+F z2@?*zTWLv2C3bjuA+IVbZYz$ly~=g+3JYVE+{7V<jBOfnS~W!z6_w6QKCtmjF#^3k zHzp=5BxD+=&vTvYZeYBfzr51x$kRF3?81%T@Ts?ZX%CO9=zj5Q^ZHl#S~n!5^>Hz| zN6P*)JUz$yI#t{bVVPa5K<<}AD4O@Pcz4ov)fC`zJBz<d+mGttB>aMrP73fN@BKTK z(snaXEytwjr<YbeHu#wrZ<R+k@qmPxxTvTRX)QZI$hgxH_cp2p#6*2h(%O>D<c+33 zZES4D1FPPg+a9q84WD7&FBsKMubw?~_FRE?r~Z}IKb|%6^zgXOtvwN)O*PQ(c<vc3 z#dlcbci-0_sT6SDRj4tcJzR;$y8YiuJ@{<*$``*%tR6LMfjeM2K*Wqo#VjPV_6jl* z2ye)LoR^uop;hbFTl)F%*WwZrJ<=w1>M{pt?mhY)niDsU?<43m>35Ip+ZXr;*pWgp z)G^7O*0->0k5no?Dap^1fcNh4>6G~o(*N@p_*OnwjhYB&x7f-bfH_7<-k9lAyD?aV zHlwt^obw&5C`8GPX4l1H3gdzJ_H#*{+8_F3OvbD3CMGjP@h=^$N4U#GrO%gZ|3q;C z<R19VHpqGSFfMk>7P%ppF+XKXeEfpk2NvjSkC0(};5Un!Ww;ZCRQbG*WU|l6PgtMb z)9N6I)yvi@kLtZ3-9-{=-8o0|S6DSuRV{dYnd8Km@-t_V<*#ymWq+&+JKi-9zL9U_ zYTkCmO^ebAIDo{^$cK<oZ%EE0mxvW_axw)9LXdL0>@qq>vGLOn-yC?94&<wm)2Kdf zR}|7cAY%KscSei;v}Cli@8b16#d8NRcXqgP+MjydqTjy%TyWX{Gv(ufoati~QgD+L z7)X{yht8d|Y{%_gz|l_SXe@alFJHR6diQAFi0|DGNk0J~KIZY|?jB#dqsPUJXtQ$V z1+4-Xr}Ga6<A=HWGjCV_4KNF3Yig_8U#j^v2T3HAs(2~HcY3sFb3X!%w9(g^z5Td` zV?(SIRG5K4{v!1Kfv--g8wjSjE<ZiOkE@P5dhab!03bmAGVKOjhg`UYaSglh;pjQX zzDgT0WzF(6R)Lh6Mz`_gJB_;+DjIpxQ&zsUq+ClKrEH4V{<guzmM1`;NH@r(OphJ6 zve)ba+mxwSVyZV6buV=QR%5o!?iELKic$}c2J*-|b7zDYTHQecVM>foZ%iJS(#}7# z>o=GG$GkOa<U#U);jLf2GG62nw}}8U3Re#j{_MG0@fq8G(*`mwO+xmLum0nQ^1dyy zhHc<he4&vCW8>A#35o~vlnF6?`d;3!p%Fl?DJ-lST5bh8=1)A4vf4kFYiI5*t^F6= zwV=;Jj_mZsrw_|OwC#%**lU0OxZ$30s#^DF85A=hS3<xg=9gRAYPbh;q<xAUxtD@^ z^XzuNrqX?-9GmLDOzT1DuZFY2w(t}oG>f+ZsvjNo>d+6aT*ZKzE90gpSM*+=u(;|C z47+;s=Ic27rg8D-T{u7Y$elYQku&`ryXMK6MY0T~&_A^^&)sP?!v*1Z;oizncH4kU ze3It}Un8Pi+AFtH7<#K1!I9$p)2HImdNkiM)vNFF&juvL93$~o(j1Gv7EOW;K;|7` z5%m3$Qzc(-0O-N|)Kxb7-oh`pD%Ogw$1ma)1J&9NRc}Do>X6cY@N(*@Y4heyo_|>; zdnyL4_ZgqoFe~PdQ7YZOV!$PvxzvK)B);n3#VMn!zb2WDQ08!sAi)~dw!W_J-U&g< zmNamvfRtZbVNaETb})MqrdIfeF2)*WZS|jT;~2h{J@@D6(W8l+3IA2?vus(AlVR5{ zE6yw^xuj@UWpCQY<FnZCCA>!%duHCC(2(&sk}NoG>M9xAa`NSt?CCEp&mK@+Z>>a= zo>=>5<Mt3i_wF^>$i-304U5#pjcWDdg)e^zNN2Is=%Y$&2S8QOgu(o*__Hbary1WG z_wU+AhO^;*T3rI^IQMe3Z@)D)1N_%m4c#7tJc<`h{Qu3{ROq$$ifAtWf4pVaZ$6%? zD4Y~-zBQ1AiYsut8m(LJua0394-ZlzuH<H!SVIeAois}8TU7~urmX2^{QF`BhAo9r zpUiyMj2D;5>!jdMx^=h^mQQ8fp03Yt!&@abQ7^6hHaq2;gM^V0)W=;FZrSL#le|?* zGlR+geX%ofGP87Za&!N}1|b@s!hwtK-=nSBfEl~k^rp*0UE4>;-@;$qeSC>dgp)<4 zyea�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 Dsy&GN literal 0 HcmV?d00001 diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index 479e55b37251..0d85e85447b7 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -454,6 +454,38 @@ def test_polar_coord_annotations(): ax.set_ylim(-20, 20) +@image_comparison(baseline_images=['polar_alignment'], extensions=['png']) +def test_polar_alignment(): + ''' + Test that changing the vertical/horizontal alignment of a polar graph + works as expected ''' + ranges = [(0, 5), (0, 5)] + + angles = np.arange(0, 360, 90) + + levels = 5 + + fig = plt.figure() + + figureSize = [0.1, 0.1, 0.8, 0.8] + + horizontal = fig.add_axes(figureSize, polar=True, label='horizontal') + vertical = fig.add_axes(figureSize, polar=True, label='vertical') + + axes = [horizontal, vertical] + + horizontal.set_thetagrids(angles) + + vertical.patch.set_visible(False) + + for i in range(2): + grid = np.linspace(*ranges[i], num=levels) + gridValues = [0, 0.2, 0.4, 0.6, 0.8, 1] + axes[i].set_rgrids(gridValues, angle=angles[i], + horizontalalignment='left', + verticalalignment='top') + + @image_comparison(baseline_images=['fill_units'], extensions=['png'], savefig_kwarg={'dpi': 60}) def test_fill_units(): From d42472aa89f09f90b9761a54d1549ce57f2b08a8 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Tue, 27 Mar 2018 16:16:47 -0700 Subject: [PATCH 0423/1161] Remove some APIs deprecated in mpl2.1. --- .../2018-02-26-AL-removals.rst | 4 +++ lib/matplotlib/backend_bases.py | 11 ------ lib/matplotlib/ticker.py | 34 ++++++------------- 3 files changed, 15 insertions(+), 34 deletions(-) diff --git a/doc/api/next_api_changes/2018-02-26-AL-removals.rst b/doc/api/next_api_changes/2018-02-26-AL-removals.rst index 5985f5d0c250..7eb15dcd381e 100644 --- a/doc/api/next_api_changes/2018-02-26-AL-removals.rst +++ b/doc/api/next_api_changes/2018-02-26-AL-removals.rst @@ -26,8 +26,12 @@ The following deprecated API elements have been removed: - ``_AxesBase.axesPatch``, ``_AxesBase.get_cursor_props``, ``_AxesBase.set_cursor_props``, - ``_ImageBase.iterpnames``, +- ``FigureCanvasBase.start_event_loop_default``; +- ``FigureCanvasBase.stop_event_loop_default``; - ``Figure.figurePatch``, - ``FigureCanvasBase.dynamic_update``, ``FigureCanvasBase.idle_event``, ``FigureCanvasBase.get_linestyle``, ``FigureCanvasBase.set_linestyle``, - ``FigureCanvasQTAgg.blitbox``, +- passing non-numbers to ``EngFormatter.format_eng``, - passing ``frac`` to ``PolarAxes.set_theta_grids``, +- any mention of idle events, diff --git a/lib/matplotlib/backend_bases.py b/lib/matplotlib/backend_bases.py index 4415b6cf8cdc..b80790578f32 100644 --- a/lib/matplotlib/backend_bases.py +++ b/lib/matplotlib/backend_bases.py @@ -2337,13 +2337,7 @@ def on_press(event): print('you pressed', event.button, event.xdata, event.ydata) cid = canvas.mpl_connect('button_press_event', on_press) - """ - if s == 'idle_event': - cbook.warn_deprecated(1.5, - "idle_event is only implemented for the wx backend, and will " - "be removed in matplotlib 2.1. Use the animations module " - "instead.") return self.callbacks.connect(s, func) @@ -2428,11 +2422,6 @@ def stop_event_loop(self): """ self._looping = False - start_event_loop_default = cbook.deprecated( - "2.1", name="start_event_loop_default")(start_event_loop) - stop_event_loop_default = cbook.deprecated( - "2.1", name="stop_event_loop_default")(stop_event_loop) - def key_press_handler(event, canvas, toolbar=None): """ diff --git a/lib/matplotlib/ticker.py b/lib/matplotlib/ticker.py index c151a6aca6e0..47de3e105ebe 100644 --- a/lib/matplotlib/ticker.py +++ b/lib/matplotlib/ticker.py @@ -1253,43 +1253,31 @@ def format_eng(self, num): '1.0 M' >>> format_eng("-1e-6") # for self.places = 2 - u'-1.00 \N{GREEK SMALL LETTER MU}' - - `num` may be a numeric value or a string that can be converted - to a numeric value with ``float(num)``. + '-1.00 \N{GREEK SMALL LETTER MU}' """ - if isinstance(num, six.string_types): - warnings.warn( - "Passing a string as *num* argument is deprecated since" - "Matplotlib 2.1, and is expected to be removed in 2.3.", - mplDeprecation) - - dnum = float(num) sign = 1 fmt = "g" if self.places is None else ".{:d}f".format(self.places) - if dnum < 0: + if num < 0: sign = -1 - dnum = -dnum + num = -num - if dnum != 0: - pow10 = int(math.floor(math.log10(dnum) / 3) * 3) + if num != 0: + pow10 = int(math.floor(math.log10(num) / 3) * 3) else: pow10 = 0 - # Force dnum to zero, to avoid inconsistencies like + # Force num to zero, to avoid inconsistencies like # format_eng(-0) = "0" and format_eng(0.0) = "0" # but format_eng(-0.0) = "-0.0" - dnum = 0.0 + num = 0.0 pow10 = np.clip(pow10, min(self.ENG_PREFIXES), max(self.ENG_PREFIXES)) - mant = sign * dnum / (10.0 ** pow10) - # Taking care of the cases like 999.9..., which - # may be rounded to 1000 instead of 1 k. Beware - # of the corner case of values that are beyond + mant = sign * num / (10.0 ** pow10) + # Taking care of the cases like 999.9..., which may be rounded to 1000 + # instead of 1 k. Beware of the corner case of values that are beyond # the range of SI prefixes (i.e. > 'Y'). - _fmant = float("{mant:{fmt}}".format(mant=mant, fmt=fmt)) - if _fmant >= 1000 and pow10 != max(self.ENG_PREFIXES): + if float(format(mant, fmt)) >= 1000 and pow10 < max(self.ENG_PREFIXES): mant /= 1000 pow10 += 3 From ce5a733de04e2a75a1c4ce6762f1cb9db38cbeca Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Tue, 27 Mar 2018 16:20:09 -0700 Subject: [PATCH 0424/1161] Remove Py2/3 portable code guide. --- doc/devel/index.rst | 1 - doc/devel/portable_code.rst | 124 ------------------------------------ 2 files changed, 125 deletions(-) delete mode 100644 doc/devel/portable_code.rst diff --git a/doc/devel/index.rst b/doc/devel/index.rst index 798127a698c3..2cbb2ac926b2 100644 --- a/doc/devel/index.rst +++ b/doc/devel/index.rst @@ -17,7 +17,6 @@ The Matplotlib Developers' Guide documenting_mpl.rst plot_directive.rst add_new_projection.rst - portable_code.rst gitwash/index.rst coding_guide.rst release_guide.rst diff --git a/doc/devel/portable_code.rst b/doc/devel/portable_code.rst deleted file mode 100644 index 9274c181ac2b..000000000000 --- a/doc/devel/portable_code.rst +++ /dev/null @@ -1,124 +0,0 @@ - -.. _portable_code: - -===================================================== -Developer's tips for writing code for Python 2 and 3 -===================================================== - -As of matplotlib 1.4, the `six <http://pythonhosted.org/six/>`_ -library is used to support Python 2 and 3 from a single code base. -The `2to3` tool is no longer used. - -This document describes some of the issues with that approach and some -recommended solutions. It is not a complete guide to Python 2 and 3 -compatibility. - -Welcome to the ``__future__`` -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The top of every `.py` file should include the following:: - - from __future__ import (absolute_import, division, - print_function, unicode_literals) - import six - -This will make the Python 2 interpreter behave as close to Python 3 as -possible. - -All matplotlib files should also import `six`, whether they are using -it or not, just to make moving code between modules easier, as `six` -gets used *a lot*. - - -Finding places to use six -^^^^^^^^^^^^^^^^^^^^^^^^^ - -The only way to make sure code works on both Python 2 and 3 is to make sure it -is covered by unit tests. - -However, the `2to3` commandline tool can also be used to locate places -that require special handling with `six`. - -(The `modernize <https://pypi.python.org/pypi/modernize>`_ tool may -also be handy, though I've never used it personally). - -The `six <http://pythonhosted.org/six/>`_ documentation serves as a -good reference for the sorts of things that need to be updated. - -The dreaded ``\u`` escapes -^^^^^^^^^^^^^^^^^^^^^^^^^^ - -When `from __future__ import unicode_literals` is used, all string -literals (not preceded with a `b`) will become unicode literals. - -Normally, one would use "raw" string literals to encode strings that -contain a lot of slashes that we don't want Python to interpret as -special characters. A common example in matplotlib is when it deals -with TeX and has to represent things like ``r"\usepackage{foo}"``. -Unfortunately, on Python 2there is no way to represent `\u` in a raw -unicode string literal, since it will always be interpreted as the -start of a unicode character escape, such as `\u20af`. The only -solution is to use a regular (non-raw) string literal and repeat all -slashes, e.g. ``"\\usepackage{foo}"``. - -The following shows the problem on Python 2:: - - >>> ur'\u' - File "<stdin>", line 1 - SyntaxError: (unicode error) 'rawunicodeescape' codec can't decode bytes in - position 0-1: truncated \uXXXX - >>> ur'\\u' - u'\\\\u' - >>> u'\u' - File "<stdin>", line 1 - SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in - position 0-1: truncated \uXXXX escape - >>> u'\\u' - u'\\u' - -This bug has been fixed in Python 3, however, we can't take advantage -of that and still support Python 2:: - - >>> r'\u' - '\\u' - >>> r'\\u' - '\\\\u' - >>> '\u' - File "<stdin>", line 1 - SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in - position 0-1: truncated \uXXXX escape - >>> '\\u' - '\\u' - -Iteration -^^^^^^^^^ - -The behavior of the methods for iterating over the items, values and -keys of a dictionary has changed in Python 3. Additionally, other -built-in functions such as `zip`, `range` and `map` have changed to -return iterators rather than temporary lists. - -In many cases, the performance implications of iterating vs. creating -a temporary list won't matter, so it's tempting to use the form that -is simplest to read. However, that results in code that behaves -differently on Python 2 and 3, leading to subtle bugs that may not be -detected by the regression tests. Therefore, unless the loop in -question is provably simple and doesn't call into other code, the -`six` versions that ensure the same behavior on both Python 2 and 3 -should be used. The following table shows the mapping of equivalent -semantics between Python 2, 3 and six for `dict.items()`: - -============================== ============================== ============================== -Python 2 Python 3 six -============================== ============================== ============================== -``d.items()`` ``list(d.items())`` ``list(six.iteritems(d))`` -``d.iteritems()`` ``d.items()`` ``six.iteritems(d)`` -============================== ============================== ============================== - -Numpy-specific things -^^^^^^^^^^^^^^^^^^^^^ - -When specifying dtypes, all strings must be byte strings on Python 2 -and unicode strings on Python 3. The best way to handle this is to -force cast them using `str()`. The same is true of structure -specifiers in the `struct` built-in module. From dafe4175e8b5a7689e47e5014b408e115febab1a Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Tue, 27 Mar 2018 16:41:27 -0700 Subject: [PATCH 0425/1161] Kill some Py2 docs. --- doc/faq/installing_faq.rst | 91 +++++++++----------------------------- 1 file changed, 22 insertions(+), 69 deletions(-) diff --git a/doc/faq/installing_faq.rst b/doc/faq/installing_faq.rst index 2e866804c991..ddff518df5aa 100644 --- a/doc/faq/installing_faq.rst +++ b/doc/faq/installing_faq.rst @@ -74,7 +74,7 @@ of NumPy, Scipy and Matplotlib means that these packages are difficult to upgrade (see `system python packages`_). For that reason we strongly suggest that you install a fresh version of Python and use that as the basis for installing libraries such as NumPy and Matplotlib. One convenient way to -install matplotlib with other useful Python software is to use one of the +install Matplotlib with other useful Python software is to use one of the excellent Python scientific software collections that are now available: .. _system python packages: @@ -108,62 +108,24 @@ or Python.org Python. Installing OSX binary wheels ---------------------------- -If you are using recent Python from https://www.python.org, Macports or -Homebrew, then you can use the standard pip installer to install Matplotlib -binaries in the form of wheels. +If you are using Python from https://www.python.org, Homebrew, or Macports, +then you can use the standard pip installer to install Matplotlib binaries in +the form of wheels. -Python.org Python -^^^^^^^^^^^^^^^^^ - -Install pip following the `standard pip install instructions -<https://pip.readthedocs.io/en/latest/installing/>`_. For the impatient, -open a new Terminal.app window and:: - - curl -O https://bootstrap.pypa.io/get-pip.py - -Then (Python 2):: - - python get-pip.py - -or (Python 3):: - - python3 get-pip.py - -You can now install matplotlib and all its dependencies with :: - - python -mpip install matplotlib - -or :: - - python3 -mpip install matplotlib - -Macports Python -^^^^^^^^^^^^^^^ - -For Python 2:: - - sudo port install py27-pip - sudo python2 -mpip install matplotlib - -For Python 3:: +pip is installed by default with python.org and Homebrew Python, but needs to +be manually installed on Macports with :: sudo port install py36-pip - sudo python3.6 -mpip install matplotlib - -Homebrew Python -^^^^^^^^^^^^^^^ - -For Python 2:: - - python2 -mpip install matplotlib -For Python 3:: +Once pip is installed, you can install Matplotlib and all its dependencies with +from the Terminal.app command line:: python3 -mpip install matplotlib -You might also want to install IPython or the Jupyter notebook (``pythonX -mpip -install ipython``, ``pythonX -mpip install notebook``, where ``pythonX`` is set -as above). +(``sudo python3.6 ...`` on Macports). + +You might also want to install IPython or the Jupyter notebook (``python3 -mpip +install ipython notebook``). pip problems ^^^^^^^^^^^^ @@ -178,39 +140,30 @@ Checking your installation -------------------------- The new version of Matplotlib should now be on your Python "path". Check this -with one of these commands at the Terminal.app command line:: - - python2 -c 'import matplotlib; print matplotlib.__version__, matplotlib.__file__' - -(Python 2) or:: +at the Terminal.app command line:: python3 -c 'import matplotlib; print(matplotlib.__version__, matplotlib.__file__)' -(Python 3). You should see something like this:: +You should see something like :: - 2.1.0 /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/matplotlib/__init__.pyc + 3.0.0 /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/matplotlib/__init__.py -where ``2.1.0`` is the Matplotlib version you just installed, and the path +where ``3.0.0`` is the Matplotlib version you just installed, and the path following depends on whether you are using Python.org Python, Homebrew or -Macports. If you see another version, or you get an error like this:: +Macports. If you see another version, or you get an error like :: Traceback (most recent call last): File "<string>", line 1, in <module> ImportError: No module named matplotlib -then check that the Python binary is the one you expected by doing one of -these commands in Terminal.app:: - - which python2 - -or:: +then check that the Python binary is the one you expected by running :: which python3 -If you get the result ``/usr/bin/python2.7``, then you are getting the Python -installed with OSX, which is probably not what you want. Try closing and -restarting Terminal.app before running the check again. If that doesn't fix the -problem, depending on which Python you wanted to use, consider reinstalling +If you get a result like ``/usr/bin/python...``, then you are getting the +Python installed with OSX, which is probably not what you want. Try closing +and restarting Terminal.app before running the check again. If that doesn't fix +the problem, depending on which Python you wanted to use, consider reinstalling Python.org Python, or check your homebrew or macports setup. Remember that the disk image installer only works for Python.org Python, and will not get picked up by other Pythons. If all these fail, please :ref:`let us know From aa71657da63f38225bc2da134c675cb2e697e6df Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Tue, 27 Mar 2018 15:54:39 -0700 Subject: [PATCH 0426/1161] Replace "matplotlibrc" by "rcParams" in the docs where applicable. In preparation for the possible switch to the new rcsystem. This doesn't touch any place actually documenting the rcsystem, just places where "the foo param in the matplotlibrc" can reasonably be replaced by "the foo rcParam". The `examples.download` and `examples.directory` rcParams removed from doc/matplotlibrc have been removed in 6c5e961 (2012). The verbose.level rcParam is deprecated, update the docs accordingly. --- doc/matplotlibrc | 20 ++++---------------- examples/api/sankey_basics.py | 7 +++---- examples/api/unicode_minus.py | 10 ++++++---- examples/ticks_and_spines/tick_xlabel_top.py | 3 ++- lib/matplotlib/axes/_axes.py | 3 +-- lib/matplotlib/backend_bases.py | 2 +- lib/matplotlib/backends/backend_agg.py | 11 +++++------ lib/matplotlib/contour.py | 10 ++++------ lib/matplotlib/figure.py | 18 +++++++++--------- lib/matplotlib/font_manager.py | 8 ++++---- lib/matplotlib/pyplot.py | 3 +-- lib/matplotlib/texmanager.py | 7 +------ lib/matplotlib/text.py | 9 ++++----- lib/matplotlib/tri/tricontour.py | 6 ++---- 14 files changed, 47 insertions(+), 70 deletions(-) diff --git a/doc/matplotlibrc b/doc/matplotlibrc index 5c9685987e24..5c623fc6862f 100644 --- a/doc/matplotlibrc +++ b/doc/matplotlibrc @@ -1,16 +1,4 @@ -backend : Agg - -figure.figsize : 5.5, 4.5 # figure size in inches -savefig.dpi : 80 # figure dots per inch -docstring.hardcopy : True # set this when you want to generate hardcopy docstring - -# these parameters are useful for packagers who want to build the docs -# w/o invoking file downloads for the sampledata (see -# matplotlib.cbook.get_sample_data. Unpack -# mpl_sampledata-VERSION.tar.gz and point examples.directory to it. -# You can use a relative path for examples.directory and it must be -# relative to this matplotlibrc file - -#examples.download : False # False to bypass downloading mechanism -#examples.directory : /your/path/to/sample_data/ # directory to look in if download is false - +backend : Agg +figure.figsize : 5.5, 4.5 # figure size in inches +savefig.dpi : 80 # figure dots per inch +docstring.hardcopy : True # set this when you want to generate hardcopy docstring diff --git a/examples/api/sankey_basics.py b/examples/api/sankey_basics.py index 3c69a97a99f8..891ed4e9356f 100644 --- a/examples/api/sankey_basics.py +++ b/examples/api/sankey_basics.py @@ -67,10 +67,9 @@ # Notice: # # 1. Since the sum of the flows is nonzero, the width of the trunk isn't -# uniform. If verbose.level is helpful (in matplotlibrc), a message is -# given in the terminal window. -# 2. The second flow doesn't appear because its value is zero. Again, if -# verbose.level is helpful, a message is given in the terminal window. +# uniform. The matplotlib logging system logs this at the DEBUG level. +# 2. The second flow doesn't appear because its value is zero. Again, this is +# logged at the DEBUG level. ############################################################################### diff --git a/examples/api/unicode_minus.py b/examples/api/unicode_minus.py index d607b535bdc7..4acfc07a58fb 100644 --- a/examples/api/unicode_minus.py +++ b/examples/api/unicode_minus.py @@ -3,13 +3,15 @@ Unicode minus ============= -You can use the proper typesetting Unicode minus (see -https://en.wikipedia.org/wiki/Plus_sign#Plus_sign) or the ASCII hyphen -for minus, which some people prefer. The matplotlibrc param -axes.unicode_minus controls the default behavior. +You can use the proper typesetting `Unicode minus`__ or the ASCII hyphen for +minus, which some people prefer. :rc:`axes.unicode_minus` controls the default +behavior. + +__ https://en.wikipedia.org/wiki/Plus_and_minus_signs#Character_codes The default is to use the Unicode minus. """ + import numpy as np import matplotlib import matplotlib.pyplot as plt diff --git a/examples/ticks_and_spines/tick_xlabel_top.py b/examples/ticks_and_spines/tick_xlabel_top.py index 5180f1acd2df..db992e529b92 100644 --- a/examples/ticks_and_spines/tick_xlabel_top.py +++ b/examples/ticks_and_spines/tick_xlabel_top.py @@ -7,9 +7,10 @@ (default False) and :rc:`xtick.labelbottom` (default True) and :rc:`xtick.bottom` (default True) to control where on the axes ticks and their labels appear. -These properties can also be set in the ``.matplotlib/matplotlibrc``. +These properties can also be set in ``.matplotlib/matplotlibrc``. """ + import matplotlib.pyplot as plt import numpy as np diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index d476deb356fd..6cc60c5b56da 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -3369,8 +3369,7 @@ def boxplot(self, x, notch=None, sym=None, vert=None, whis=None, """ - # If defined in matplotlibrc, apply the value from rc file - # Overridden if argument is passed + # Missing arguments default to rcParams. if whis is None: whis = rcParams['boxplot.whiskers'] if bootstrap is None: diff --git a/lib/matplotlib/backend_bases.py b/lib/matplotlib/backend_bases.py index 4415b6cf8cdc..19df26230303 100644 --- a/lib/matplotlib/backend_bases.py +++ b/lib/matplotlib/backend_bases.py @@ -2454,7 +2454,7 @@ def key_press_handler(event, canvas, toolbar=None): if event.key is None: return - # Load key-mappings from your matplotlibrc file. + # Load key-mappings from rcParams. fullscreen_keys = rcParams['keymap.fullscreen'] home_keys = rcParams['keymap.home'] back_keys = rcParams['keymap.back'] diff --git a/lib/matplotlib/backends/backend_agg.py b/lib/matplotlib/backends/backend_agg.py index 9c854fb09474..b17ab46ca27d 100644 --- a/lib/matplotlib/backends/backend_agg.py +++ b/lib/matplotlib/backends/backend_agg.py @@ -521,11 +521,10 @@ def print_jpg(self, filename_or_obj, *args, **kwargs): Other Parameters ---------------- quality : int - The image quality, on a scale from 1 (worst) to - 95 (best). The default is 95, if not given in the - matplotlibrc file in the savefig.jpeg_quality parameter. - Values above 95 should be avoided; 100 completely - disables the JPEG quantization stage. + The image quality, on a scale from 1 (worst) to 100 (best). + The default is :rc:`savefig.jpeg_quality`. Values above + 95 should be avoided; 100 completely disables the JPEG + quantization stage. optimize : bool If present, indicates that the encoder should @@ -543,7 +542,7 @@ def print_jpg(self, filename_or_obj, *args, **kwargs): # handle any transparency image = Image.frombuffer('RGBA', size, buf, 'raw', 'RGBA', 0, 1) rgba = mcolors.to_rgba(rcParams['savefig.facecolor']) - color = tuple([int(x * 255.0) for x in rgba[:3]]) + color = tuple([int(x * 255) for x in rgba[:3]]) background = Image.new('RGB', size, color) background.paste(image, image) options = {k: kwargs[k] diff --git a/lib/matplotlib/contour.py b/lib/matplotlib/contour.py index 409786159836..bb50affd5820 100644 --- a/lib/matplotlib/contour.py +++ b/lib/matplotlib/contour.py @@ -1743,8 +1743,7 @@ def _initialize_x_y(self, z): contour-only keyword arguments: *linewidths*: [ *None* | number | tuple of numbers ] - If *linewidths* is *None*, the default width in - ``lines.linewidth`` in ``matplotlibrc`` is used. + If *None*, defaults to :rc:`lines.linewidth`. If a number, all levels will be plotted with this linewidth. @@ -1752,10 +1751,9 @@ def _initialize_x_y(self, z): linewidths in the order specified. *linestyles*: [ *None* | 'solid' | 'dashed' | 'dashdot' | 'dotted' ] - If *linestyles* is *None*, the default is 'solid' unless - the lines are monochrome. In that case, negative - contours will take their linestyle from the ``matplotlibrc`` - ``contour.negative_linestyle`` setting. + If *linestyles* is *None*, the default is 'solid' unless the lines + are monochrome. In that case, negative contours will take their + linestyle from :rc:`contour.negative_linestyle` setting. *linestyles* can also be an iterable of the above strings specifying a set of linestyles to be used. If this diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index e82858a835b5..3574e0aea2b6 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -1809,8 +1809,7 @@ def savefig(self, fname, **kwargs): If *format* is *None* and *fname* is a string, the output format is deduced from the extension of the filename. If - the filename has no extension, the value of the rc parameter - ``savefig.format`` is used. + the filename has no extension, :rc:`savefig.format` is used. If *fname* is not a string, remember to specify *format* to ensure that the correct backend is used. @@ -1818,19 +1817,20 @@ def savefig(self, fname, **kwargs): Other Parameters ---------------- - dpi : [ *None* | scalar > 0 | 'figure'] - The resolution in dots per inch. If *None* it will default to - the value ``savefig.dpi`` in the matplotlibrc file. If 'figure' - it will set the dpi to be the value of the figure. + dpi : [ *None* | scalar > 0 | 'figure' ] + The resolution in dots per inch. If *None*, defaults to + :rc:`savefig.dpi`. If 'figure', uses the figure's dpi value. facecolor : color spec or None, optional - the facecolor of the figure; if None, defaults to savefig.facecolor + The facecolor of the figure; if *None*, defaults to + :rc:`savefig.facecolor`. edgecolor : color spec or None, optional - the edgecolor of the figure; if None, defaults to savefig.edgecolor + The edgecolor of the figure; if *None*, defaults to + :rc:`savefig.edgecolor` orientation : {'landscape', 'portrait'} - not supported on all backends; currently only on postscript output + Currently only supported by the postscript backend. papertype : str One of 'letter', 'legal', 'executive', 'ledger', 'a0' through diff --git a/lib/matplotlib/font_manager.py b/lib/matplotlib/font_manager.py index e193167d86d7..b8675ac5e691 100644 --- a/lib/matplotlib/font_manager.py +++ b/lib/matplotlib/font_manager.py @@ -556,7 +556,7 @@ class FontProperties(object): The items may include a generic font family name, either 'serif', 'sans-serif', 'cursive', 'fantasy', or 'monospace'. In that case, the actual font to be used will be looked up - from the associated rcParam in :file:`matplotlibrc`. + from the associated rcParam. - style: Either 'normal', 'italic' or 'oblique'. @@ -577,7 +577,7 @@ class FontProperties(object): absolute font size, e.g., 12 The default font property for TrueType fonts (as specified in the - default :file:`matplotlibrc` file) is:: + default rcParams) is:: sans-serif, normal, normal, normal, normal, scalable. @@ -596,9 +596,9 @@ class FontProperties(object): This support does not require fontconfig to be installed. We are merely borrowing its pattern syntax for use here. - Note that matplotlib's internal font manager and fontconfig use a + Note that Matplotlib's internal font manager and fontconfig use a different algorithm to lookup fonts, so the results of the same pattern - may be different in matplotlib than in other applications that use + may be different in Matplotlib than in other applications that use fontconfig. """ diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index 4bf4fc72ac03..725aa32b2e1f 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -467,8 +467,7 @@ def figure(num=None, # autoincrement if None, else integer from 1-N to properly clean up the memory. rcParams defines the default values, which can be modified in the - matplotlibrc file - + matplotlibrc file. """ if figsize is None: diff --git a/lib/matplotlib/texmanager.py b/lib/matplotlib/texmanager.py index 4dc828151753..e4f50b7a3311 100644 --- a/lib/matplotlib/texmanager.py +++ b/lib/matplotlib/texmanager.py @@ -25,12 +25,7 @@ Z = texmanager.get_rgba(s, fontsize=12, dpi=80, rgb=(1,0,0)) To enable tex rendering of all text in your matplotlib figure, set -text.usetex in your matplotlibrc file or include these two lines in -your script:: - - from matplotlib import rc - rc('text', usetex=True) - +:rc:`text.usetex` to True. """ import copy diff --git a/lib/matplotlib/text.py b/lib/matplotlib/text.py index 77cf2313427b..d2df6c6e392e 100644 --- a/lib/matplotlib/text.py +++ b/lib/matplotlib/text.py @@ -969,11 +969,10 @@ def set_linespacing(self, spacing): def set_family(self, fontname): """ - Set the font family. May be either a single string, or a list - of strings in decreasing priority. Each string may be either - a real font name or a generic font class name. If the latter, - the specific font names will be looked up in the - :file:`matplotlibrc` file. + Set the font family. May be either a single string, or a list of + strings in decreasing priority. Each string may be either a real font + name or a generic font class name. If the latter, the specific font + names will be looked up in the corresponding rcParams. ACCEPTS: [FONTNAME | 'serif' | 'sans-serif' | 'cursive' | 'fantasy' | 'monospace' ] diff --git a/lib/matplotlib/tri/tricontour.py b/lib/matplotlib/tri/tricontour.py index 9cbb88fab327..e54e9c555fc2 100644 --- a/lib/matplotlib/tri/tricontour.py +++ b/lib/matplotlib/tri/tricontour.py @@ -230,8 +230,7 @@ def tricontour(ax, *args, **kwargs): tricontour-only keyword arguments: *linewidths*: [ *None* | number | tuple of numbers ] - If *linewidths* is *None*, the default width in - ``lines.linewidth`` in ``matplotlibrc`` is used. + If *linewidths* is *None*, defaults to rc:`lines.linewidth`. If a number, all levels will be plotted with this linewidth. @@ -248,8 +247,7 @@ def tricontour(ax, *args, **kwargs): If contour is using a monochrome colormap and the contour level is less than 0, then the linestyle specified - in ``contour.negative_linestyle`` in ``matplotlibrc`` - will be used. + in :rc:`contour.negative_linestyle` will be used. tricontourf-only keyword arguments: From 49e2b0e948e03762424c699dc6f69dff99e222a6 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Tue, 27 Mar 2018 18:26:18 -0700 Subject: [PATCH 0427/1161] Inline knownfailureif. Now that nose support has been dropped, knownfailureif is just a thin wrapper around pytest.mark.xfail that's more obfuscating the purpose of the code than anything else. --- lib/matplotlib/testing/decorators.py | 43 ++++++---------------------- 1 file changed, 9 insertions(+), 34 deletions(-) diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py index d579a4713535..3ae35920c31b 100644 --- a/lib/matplotlib/testing/decorators.py +++ b/lib/matplotlib/testing/decorators.py @@ -27,27 +27,6 @@ from .exceptions import ImageComparisonFailure -def _knownfailureif(fail_condition, msg=None, known_exception_class=None): - """ - - Assume a will fail if *fail_condition* is True. *fail_condition* - may also be False or the string 'indeterminate'. - - *msg* is the error message displayed for the test. - - If *known_exception_class* is not None, the failure is only known - if the exception is an instance of this class. (Default = None) - - """ - import pytest - if fail_condition == 'indeterminate': - fail_condition, strict = True, False - else: - fail_condition, strict = bool(fail_condition), True - return pytest.mark.xfail(condition=fail_condition, reason=msg, - raises=known_exception_class, strict=strict) - - def _do_cleanup(original_units_registry, original_settings): plt.close('all') @@ -152,14 +131,13 @@ def check_freetype_version(ver): def _checked_on_freetype_version(required_freetype_version): - if check_freetype_version(required_freetype_version): - return lambda f: f - + import pytest reason = ("Mismatched version of freetype. " "Test requires '%s', you have '%s'" % (required_freetype_version, ft2font.__freetype_version__)) - return _knownfailureif('indeterminate', msg=reason, - known_exception_class=ImageComparisonFailure) + return pytest.mark.xfail( + not check_freetype_version(required_freetype_version), + reason=reason, raises=ImageComparisonFailure, strict=False) def remove_ticks_and_titles(figure): @@ -195,14 +173,11 @@ def _raise_on_image_difference(expected, actual, tol): def _xfail_if_format_is_uncomparable(extension): - will_fail = extension not in comparable_formats() - if will_fail: - fail_msg = 'Cannot compare %s files on this system' % extension - else: - fail_msg = 'No failure expected' - - return _knownfailureif(will_fail, fail_msg, - known_exception_class=ImageComparisonFailure) + import pytest + return pytest.mark.xfail( + extension not in comparable_formats(), + reason='Cannot compare {} files on this system'.format(extension), + raises=ImageComparisonFailure, strict=True) def _mark_xfail_if_format_is_uncomparable(extension): From 130cba01667f7391e4c4fc50fd249988d5ce2420 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Tue, 27 Mar 2018 21:16:01 -0700 Subject: [PATCH 0428/1161] No need to mark (unicode) strings as u"foo" anymore. --- lib/matplotlib/_mathtext_data.py | 10 +++++----- lib/matplotlib/tests/test_arrow_patches.py | 2 +- lib/matplotlib/tests/test_backend_pdf.py | 2 +- lib/matplotlib/tests/test_mathtext.py | 2 +- lib/matplotlib/type1font.py | 2 +- tools/github_stats.py | 12 ++++-------- 6 files changed, 13 insertions(+), 17 deletions(-) diff --git a/lib/matplotlib/_mathtext_data.py b/lib/matplotlib/_mathtext_data.py index 269cc68e8388..baefe1b7eb72 100644 --- a/lib/matplotlib/_mathtext_data.py +++ b/lib/matplotlib/_mathtext_data.py @@ -281,7 +281,7 @@ r'\rho' : ('psyr', 114), r'\sigma' : ('psyr', 115), r'\tau' : ('psyr', 116), - '\\upsilon' : ('psyr', 117), + r'\upsilon' : ('psyr', 117), r'\varpi' : ('psyr', 118), r'\omega' : ('psyr', 119), r'\xi' : ('psyr', 120), @@ -296,7 +296,7 @@ r'\spadesuit' : ('psyr', 170), r'\leftrightarrow' : ('psyr', 171), r'\leftarrow' : ('psyr', 172), - '\\uparrow' : ('psyr', 173), + r'\uparrow' : ('psyr', 173), r'\rightarrow' : ('psyr', 174), r'\downarrow' : ('psyr', 175), r'\pm' : ('psyr', 176), @@ -335,12 +335,12 @@ r'\surd' : ('psyr', 214), r'\__sqrt__' : ('psyr', 214), r'\cdot' : ('psyr', 215), - '\\urcorner' : ('psyr', 216), + r'\urcorner' : ('psyr', 216), r'\vee' : ('psyr', 217), r'\wedge' : ('psyr', 218), r'\Leftrightarrow' : ('psyr', 219), r'\Leftarrow' : ('psyr', 220), - '\\Uparrow' : ('psyr', 221), + r'\Uparrow' : ('psyr', 221), r'\Rightarrow' : ('psyr', 222), r'\Downarrow' : ('psyr', 223), r'\Diamond' : ('psyr', 224), @@ -362,7 +362,7 @@ r'\slash' : ('psyr', 0o57), r'\Lamda' : ('psyr', 0o114), r'\neg' : ('psyr', 0o330), - '\\Upsilon' : ('psyr', 0o241), + r'\Upsilon' : ('psyr', 0o241), r'\rightbrace' : ('psyr', 0o175), r'\rfloor' : ('psyr', 0o373), r'\lambda' : ('psyr', 0o154), diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py index 44f87c5fe59a..73fadd6cf2c1 100644 --- a/lib/matplotlib/tests/test_arrow_patches.py +++ b/lib/matplotlib/tests/test_arrow_patches.py @@ -62,7 +62,7 @@ def __prepare_fancyarrow_dpi_cor_test(): ax.set_xlim([0, 1]) ax.set_ylim([0, 1]) ax.add_patch(mpatches.FancyArrowPatch(posA=(0.3, 0.4), posB=(0.8, 0.6), - lw=3, arrowstyle=u'->', + lw=3, arrowstyle='->', mutation_scale=100)) return fig2 diff --git a/lib/matplotlib/tests/test_backend_pdf.py b/lib/matplotlib/tests/test_backend_pdf.py index 05a1e4b81141..b1407243e525 100644 --- a/lib/matplotlib/tests/test_backend_pdf.py +++ b/lib/matplotlib/tests/test_backend_pdf.py @@ -28,7 +28,7 @@ def test_use14corefonts(): rcParams['font.sans-serif'] = ['Helvetica'] rcParams['pdf.compression'] = 0 - text = u'''A three-line text positioned just above a blue line + text = '''A three-line text positioned just above a blue line and containing some French characters and the euro symbol: "Merci pépé pour les 10 €"''' diff --git a/lib/matplotlib/tests/test_mathtext.py b/lib/matplotlib/tests/test_mathtext.py index cdc1093e1417..58a0af8c72ef 100644 --- a/lib/matplotlib/tests/test_mathtext.py +++ b/lib/matplotlib/tests/test_mathtext.py @@ -86,7 +86,7 @@ # mathtex doesn't support array # 'mmltt23' : r'$\left(\begin{array}{cc}\hfill \left(\begin{array}{cc}\hfill a\hfill & \hfill b\hfill \\ \hfill c\hfill & \hfill d\hfill \end{array}\right)\hfill & \hfill \left(\begin{array}{cc}\hfill e\hfill & \hfill f\hfill \\ \hfill g\hfill & \hfill h\hfill \end{array}\right)\hfill \\ \hfill 0\hfill & \hfill \left(\begin{array}{cc}\hfill i\hfill & \hfill j\hfill \\ \hfill k\hfill & \hfill l\hfill \end{array}\right)\hfill \end{array}\right)$', # mathtex doesn't support array - # 'mmltt24' : u'$det|\\begin{array}{ccccc}\\hfill {c}_{0}\\hfill & \\hfill {c}_{1}\\hfill & \\hfill {c}_{2}\\hfill & \\hfill \\dots \\hfill & \\hfill {c}_{n}\\hfill \\\\ \\hfill {c}_{1}\\hfill & \\hfill {c}_{2}\\hfill & \\hfill {c}_{3}\\hfill & \\hfill \\dots \\hfill & \\hfill {c}_{n+1}\\hfill \\\\ \\hfill {c}_{2}\\hfill & \\hfill {c}_{3}\\hfill & \\hfill {c}_{4}\\hfill & \\hfill \\dots \\hfill & \\hfill {c}_{n+2}\\hfill \\\\ \\hfill \\u22ee\\hfill & \\hfill \\u22ee\\hfill & \\hfill \\u22ee\\hfill & \\hfill \\hfill & \\hfill \\u22ee\\hfill \\\\ \\hfill {c}_{n}\\hfill & \\hfill {c}_{n+1}\\hfill & \\hfill {c}_{n+2}\\hfill & \\hfill \\dots \\hfill & \\hfill {c}_{2n}\\hfill \\end{array}|>0$', + # 'mmltt24' : r'$det|\begin{array}{ccccc}\hfill {c}_{0}\hfill & \hfill {c}_{1}\hfill & \hfill {c}_{2}\hfill & \hfill \dots \hfill & \hfill {c}_{n}\hfill \\ \hfill {c}_{1}\hfill & \hfill {c}_{2}\hfill & \hfill {c}_{3}\hfill & \hfill \dots \hfill & \hfill {c}_{n+1}\hfill \\ \hfill {c}_{2}\hfill & \hfill {c}_{3}\hfill & \hfill {c}_{4}\hfill & \hfill \dots \hfill & \hfill {c}_{n+2}\hfill \\ \hfill \u22ee\hfill & \hfill \u22ee\hfill & \hfill \u22ee\hfill & \hfill \hfill & \hfill \u22ee\hfill \\ \hfill {c}_{n}\hfill & \hfill {c}_{n+1}\hfill & \hfill {c}_{n+2}\hfill & \hfill \dots \hfill & \hfill {c}_{2n}\hfill \end{array}|>0$', r'${y}_{{x}_{2}}$', r'${x}_{92}^{31415}+\pi $', r'${x}_{{y}_{b}^{a}}^{{z}_{c}^{d}}$', diff --git a/lib/matplotlib/type1font.py b/lib/matplotlib/type1font.py index 35a6267e26e2..62d316390d9c 100644 --- a/lib/matplotlib/type1font.py +++ b/lib/matplotlib/type1font.py @@ -275,7 +275,7 @@ def fontmatrix(array): newmatrix = np.dot(modifier, oldmatrix) array[::2] = newmatrix[0:3, 0] array[1::2] = newmatrix[0:3, 1] - as_string = u'[' + u' '.join(str(x) for x in array) + u']' + as_string = '[' + ' '.join(str(x) for x in array) + ']' return as_string.encode('latin-1') def replace(fun): diff --git a/tools/github_stats.py b/tools/github_stats.py index bab4d7649dcb..df49808a9b99 100755 --- a/tools/github_stats.py +++ b/tools/github_stats.py @@ -99,21 +99,17 @@ def report(issues, show_urls=False): if show_urls: for i in issues: role = 'ghpull' if 'merged_at' in i else 'ghissue' - print(u'* :%s:`%d`: %s' % (role, i['number'], - i['title'].replace(u'`', u'``'))) + print('* :%s:`%d`: %s' % (role, i['number'], + i['title'].replace('`', '``'))) else: for i in issues: - print(u'* %d: %s' % (i['number'], i['title'].replace(u'`', u'``'))) + print('* %d: %s' % (i['number'], i['title'].replace('`', '``'))) #----------------------------------------------------------------------------- # Main script #----------------------------------------------------------------------------- if __name__ == "__main__": - # deal with unicode - if sys.version_info < (3,): - sys.stdout = codecs.getwriter('utf8')(sys.stdout) - # Whether to add reST urls for all issues in printout. show_urls = True @@ -211,7 +207,7 @@ def report(issues, show_urls=False): ncommits = len(pr_authors) + ncommits - len(pulls) author_cmd = ['git', 'check-mailmap'] + pr_authors with_email = check_output(author_cmd).decode('utf-8', 'replace').splitlines() - all_authors.extend([ u'* ' + a.split(' <')[0] for a in with_email ]) + all_authors.extend(['* ' + a.split(' <')[0] for a in with_email]) unique_authors = sorted(set(all_authors), key=lambda s: s.lower()) print("We closed %d issues and merged %d pull requests." % (n_issues, n_pulls)) From bec3ca0217b3337ea141dd974b5eecebc7865c28 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Tue, 27 Mar 2018 17:08:29 -0700 Subject: [PATCH 0429/1161] Py3fy testing machinery. --- lib/matplotlib/testing/__init__.py | 7 ---- lib/matplotlib/testing/compare.py | 19 ++++----- lib/matplotlib/testing/decorators.py | 63 ++++++++++------------------ 3 files changed, 30 insertions(+), 59 deletions(-) diff --git a/lib/matplotlib/testing/__init__.py b/lib/matplotlib/testing/__init__.py index 863848af0c28..e9af802daa70 100644 --- a/lib/matplotlib/testing/__init__.py +++ b/lib/matplotlib/testing/__init__.py @@ -10,13 +10,6 @@ def is_called_from_pytest(): return getattr(mpl, '_called_from_pytest', False) -def _copy_metadata(src_func, tgt_func): - """Replicates metadata of the function. Returns target function.""" - functools.update_wrapper(tgt_func, src_func) - tgt_func.__wrapped__ = src_func # Python2 compatibility. - return tgt_func - - def set_font_settings_for_testing(): mpl.rcParams['font.family'] = 'DejaVu Sans' mpl.rcParams['text.hinting'] = False diff --git a/lib/matplotlib/testing/compare.py b/lib/matplotlib/testing/compare.py index 6745802c4da4..f80de10184d5 100644 --- a/lib/matplotlib/testing/compare.py +++ b/lib/matplotlib/testing/compare.py @@ -181,15 +181,14 @@ def __call__(self, orig, dest): # reported as a regular exception below). env.pop("DISPLAY", None) # May already be unset. # Do not load any user options. - # `os.environ` needs native strings on Py2+Windows. - env[str("INKSCAPE_PROFILE_DIR")] = os.devnull + env["INKSCAPE_PROFILE_DIR"] = os.devnull # Old versions of Inkscape (0.48.3.1, used on Travis as of now) # seem to sometimes deadlock when stderr is redirected to a pipe, # so we redirect it to a temporary file instead. This is not # necessary anymore as of Inkscape 0.92.1. self._stderr = TemporaryFile() self._proc = subprocess.Popen( - [str("inkscape"), "--without-gui", "--shell"], + ["inkscape", "--without-gui", "--shell"], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=self._stderr, env=env) if not self._read_to_prompt(): @@ -210,7 +209,7 @@ def fsencode(s): # slow solution (Inkscape uses `fgets` so it will always stop at a # newline). return make_external_conversion_command(lambda old, new: [ - str('inkscape'), '-z', old, '--export-png', new])(orig, dest) + 'inkscape', '-z', old, '--export-png', new])(orig, dest) self._proc.stdin.write(orig_b + b" --export-png=" + dest_b + b"\n") self._proc.stdin.flush() if not self._read_to_prompt(): @@ -329,8 +328,8 @@ def calculate_rms(expectedImage, actualImage): "Calculate the per-pixel errors, then compute the root mean square error." if expectedImage.shape != actualImage.shape: raise ImageComparisonFailure( - "Image sizes do not match expected size: {0} " - "actual size {1}".format(expectedImage.shape, actualImage.shape)) + "Image sizes do not match expected size: {} " + "actual size {}".format(expectedImage.shape, actualImage.shape)) # Convert to float to avoid overflowing finite integer types. return np.sqrt(((expectedImage - actualImage).astype(float) ** 2).mean()) @@ -361,7 +360,7 @@ def compare_images(expected, actual, tol, in_decorator=False): -------- img1 = "./baseline/plot.png" img2 = "./output/plot.png" - compare_images( img1, img2, 0.001 ): + compare_images(img1, img2, 0.001): """ if not os.path.exists(actual): @@ -391,7 +390,7 @@ def compare_images(expected, actual, tol, in_decorator=False): diff_image = make_test_filename(actual, 'failed-diff') - if tol <= 0.0: + if tol <= 0: if np.array_equal(expectedImage, actualImage): return None @@ -431,8 +430,8 @@ def save_diff_image(expected, actual, output): actualImage = np.array(actualImage).astype(float) if expectedImage.shape != actualImage.shape: raise ImageComparisonFailure( - "Image sizes do not match expected size: {0} " - "actual size {1}".format(expectedImage.shape, actualImage.shape)) + "Image sizes do not match expected size: {} " + "actual size {}".format(expectedImage.shape, actualImage.shape)) absDiffImage = np.abs(expectedImage - actualImage) # expand differences in luminance domain diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py index d579a4713535..6e5be64b1d91 100644 --- a/lib/matplotlib/testing/decorators.py +++ b/lib/matplotlib/testing/decorators.py @@ -1,6 +1,5 @@ from distutils.version import StrictVersion import functools -import inspect import os from pathlib import Path import shutil @@ -23,7 +22,7 @@ from matplotlib import ft2font from matplotlib.testing.compare import ( comparable_formats, compare_images, make_test_filename) -from . import _copy_metadata, is_called_from_pytest +from . import is_called_from_pytest from .exceptions import ImageComparisonFailure @@ -250,9 +249,9 @@ def copy_baseline(self, baseline, extension): if os.path.exists(orig_expected_fname): shutil.copyfile(orig_expected_fname, expected_fname) else: - reason = ("Do not have baseline image {0} because this " - "file does not exist: {1}".format(expected_fname, - orig_expected_fname)) + reason = ("Do not have baseline image {} because this " + "file does not exist: {}".format(expected_fname, + orig_expected_fname)) raise ImageComparisonFailure(reason) return expected_fname @@ -327,11 +326,12 @@ def __call__(self, func): self.delayed_init(func) import nose.tools + @functools.wraps(func) @nose.tools.with_setup(self.setup, self.teardown) def runner_wrapper(): yield from self.nose_runner() - return _copy_metadata(func, runner_wrapper) + return runner_wrapper def _pytest_image_comparison(baseline_images, extensions, tol, @@ -350,6 +350,7 @@ def _pytest_image_comparison(baseline_images, extensions, tol, extensions = map(_mark_xfail_if_format_is_uncomparable, extensions) def decorator(func): + @functools.wraps(func) # Parameter indirection; see docstring above and comment below. @pytest.mark.usefixtures('mpl_image_comparison_parameters') @pytest.mark.parametrize('extension', extensions) @@ -379,8 +380,7 @@ def wrapper(*args, **kwargs): for idx, baseline in enumerate(baseline_images): img.compare(idx, baseline, extension) - wrapper.__wrapped__ = func # For Python 2.7. - return _copy_metadata(func, wrapper) + return wrapper return decorator @@ -408,7 +408,7 @@ def image_comparison(baseline_images, extensions=None, tol=0, extensions : [ None | list ] If None, defaults to all supported extensions. - Otherwise, a list of extensions to test. For example ['png','pdf']. + Otherwise, a list of extensions to test, e.g. ``['png', 'pdf']``. tol : float, optional, default: 0 The RMS threshold above which the test is considered failed. @@ -464,10 +464,10 @@ def _image_directories(func): # FIXME: this won't work for nested packages in matplotlib.tests warnings.warn( 'Test module run as script. Guessing baseline image locations.') - script_name = sys.argv[0] - basedir = os.path.abspath(os.path.dirname(script_name)) - subdir = os.path.splitext(os.path.split(script_name)[1])[0] + module_path = Path(sys.argv[0]).resolve() + subdir = module_path.stem else: + module_path = Path(sys.modules[func.__module__].__file__) mods = module_name.split('.') if len(mods) >= 3: mods.pop(0) @@ -486,50 +486,29 @@ def _image_directories(func): "file (can be empty).".format(module_name)) subdir = os.path.join(*mods) - import imp - def find_dotted_module(module_name, path=None): - """A version of imp which can handle dots in the module name. - As for imp.find_module(), the return value is a 3-element - tuple (file, pathname, description).""" - res = None - for sub_mod in module_name.split('.'): - try: - res = file, path, _ = imp.find_module(sub_mod, path) - path = [path] - if file is not None: - file.close() - except ImportError: - # assume namespace package - path = list(sys.modules[sub_mod].__path__) - res = None, path, None - return res - - mod_file = find_dotted_module(func.__module__)[1] - basedir = os.path.dirname(mod_file) + baseline_dir = module_path.parent / 'baseline_images' / subdir + result_dir = Path().resolve() / 'result_images' / subdir + result_dir.mkdir(parents=True, exist_ok=True) - baseline_dir = os.path.join(basedir, 'baseline_images', subdir) - result_dir = os.path.abspath(os.path.join('result_images', subdir)) - Path(result_dir).mkdir(parents=True, exist_ok=True) - - return baseline_dir, result_dir + return str(baseline_dir), str(result_dir) def switch_backend(backend): - # Local import to avoid a hard nose dependency and only incur the - # import time overhead at actual test-time. + def switch_backend_decorator(func): + @functools.wraps(func) def backend_switcher(*args, **kwargs): try: prev_backend = mpl.get_backend() matplotlib.testing.setup() plt.switch_backend(backend) - result = func(*args, **kwargs) + return func(*args, **kwargs) finally: plt.switch_backend(prev_backend) - return result - return _copy_metadata(func, backend_switcher) + return backend_switcher + return switch_backend_decorator From 791a20c65d3644ce77bb1ac050360a7b995a06cc Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Wed, 28 Mar 2018 08:34:58 +0100 Subject: [PATCH 0430/1161] Remove future print --- examples/text_labels_and_annotations/date_index_formatter.py | 1 - 1 file changed, 1 deletion(-) diff --git a/examples/text_labels_and_annotations/date_index_formatter.py b/examples/text_labels_and_annotations/date_index_formatter.py index 9e117dd91c8d..389fd2e0353e 100644 --- a/examples/text_labels_and_annotations/date_index_formatter.py +++ b/examples/text_labels_and_annotations/date_index_formatter.py @@ -7,7 +7,6 @@ to leave out days on which there is no data, i.e. weekends. The example below shows how to use an 'index formatter' to achieve the desired plot """ -from __future__ import print_function import numpy as np import matplotlib.pyplot as plt import matplotlib.cbook as cbook From f81082ab5f403eed216d05ad17b41214a7012611 Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Thu, 15 Feb 2018 23:34:02 +0000 Subject: [PATCH 0431/1161] Remove the 'hold' kwarg from codebase Fix data kwarg Fix contour boilerplating Remove last bits of _hold --- lib/matplotlib/axes/_axes.py | 124 +--- lib/matplotlib/axes/_base.py | 52 -- lib/matplotlib/colorbar.py | 16 +- lib/matplotlib/figure.py | 28 - lib/matplotlib/pyplot.py | 898 +++-------------------- lib/matplotlib/rcsetup.py | 10 - lib/matplotlib/tri/tricontour.py | 6 +- lib/mpl_toolkits/axes_grid1/axes_grid.py | 2 - lib/mpl_toolkits/axes_grid1/colorbar.py | 1 - tools/boilerplate.py | 28 +- 10 files changed, 97 insertions(+), 1068 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index d476deb356fd..375b5b9a63b5 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -1343,9 +1343,6 @@ def plot(self, *args, **kwargs): """ scalex = kwargs.pop('scalex', True) scaley = kwargs.pop('scaley', True) - - if not self._hold: - self.cla() lines = [] kwargs = cbook.normalize_kwargs(kwargs, mlines.Line2D._alias_map) @@ -1423,10 +1420,6 @@ def plot_date(self, x, y, fmt='o', tz=None, xdate=True, ydate=False, `.AutoDateFormatter` (if the tick formatter is not already set to a `.DateFormatter` instance). """ - - if not self._hold: - self.cla() - if xdate: self.xaxis_date(tz) if ydate: @@ -1482,9 +1475,6 @@ def loglog(self, *args, **kwargs): **kwargs All parameters supported by `.plot`. """ - if not self._hold: - self.cla() - dx = {k: kwargs.pop(k) for k in ['basex', 'subsx', 'nonposx'] if k in kwargs} dy = {k: kwargs.pop(k) for k in ['basey', 'subsy', 'nonposy'] @@ -1493,11 +1483,7 @@ def loglog(self, *args, **kwargs): self.set_xscale('log', **dx) self.set_yscale('log', **dy) - b = self._hold - self._hold = True # we've already processed the hold l = self.plot(*args, **kwargs) - self._hold = b # restore the hold - return l # @_preprocess_data() # let 'plot' do the unpacking.. @@ -1542,16 +1528,11 @@ def semilogx(self, *args, **kwargs): **kwargs All parameters supported by `.plot`. """ - if not self._hold: - self.cla() d = {k: kwargs.pop(k) for k in ['basex', 'subsx', 'nonposx'] if k in kwargs} self.set_xscale('log', **d) - b = self._hold - self._hold = True # we've already processed the hold l = self.plot(*args, **kwargs) - self._hold = b # restore the hold return l # @_preprocess_data() # let 'plot' do the unpacking.. @@ -1596,15 +1577,10 @@ def semilogy(self, *args, **kwargs): **kwargs All parameters supported by `.plot`. """ - if not self._hold: - self.cla() d = {k: kwargs.pop(k) for k in ['basey', 'subsy', 'nonposy'] - if k in kwargs} + if k in kwargs} self.set_yscale('log', **d) - b = self._hold - self._hold = True # we've already processed the hold l = self.plot(*args, **kwargs) - self._hold = b # restore the hold return l @@ -1618,8 +1594,6 @@ def acorr(self, x, **kwargs): x : sequence of scalar - hold : bool, optional, *deprecated*, default: True - detrend : callable, optional, default: `mlab.detrend_none` *x* is detrended by the *detrend* callable. Default is no normalization. @@ -1662,8 +1636,6 @@ def acorr(self, x, **kwargs): The cross correlation is performed with :func:`numpy.correlate` with ``mode = 2``. """ - if "hold" in kwargs: - warnings.warn("the 'hold' kwarg is deprecated", mplDeprecation) return self.xcorr(x, x, **kwargs) @_preprocess_data(replace_names=["x", "y"], label_namer="y") @@ -1682,8 +1654,6 @@ def xcorr(self, x, y, normed=True, detrend=mlab.detrend_none, y : sequence of scalars of length n - hold : bool, optional, *deprecated*, default: True - detrend : callable, optional, default: `mlab.detrend_none` *x* is detrended by the *detrend* callable. Default is no normalization. @@ -1727,9 +1697,6 @@ def xcorr(self, x, y, normed=True, detrend=mlab.detrend_none, The cross correlation is performed with :func:`numpy.correlate` with ``mode = 2``. """ - if "hold" in kwargs: - warnings.warn("the 'hold' kwarg is deprecated", mplDeprecation) - Nx = len(x) if Nx != len(y): raise ValueError('x and y must be equal length') @@ -1987,8 +1954,6 @@ def bar(self, *args, **kwargs): "The *left* kwarg to `bar` is deprecated use *x* instead. " "Support for *left* will be removed in Matplotlib 3.0", mplDeprecation, stacklevel=2) - if not self._hold: - self.cla() color = kwargs.pop('color', None) if color is None: color = self._get_patches_for_fill.get_next_color() @@ -2114,9 +2079,6 @@ def bar(self, *args, **kwargs): self.add_patch(r) patches.append(r) - holdstate = self._hold - self._hold = True # ensure hold is on before plotting errorbars - if xerr is not None or yerr is not None: if orientation == 'vertical': # using list comps rather than arrays to preserve unit info @@ -2136,8 +2098,6 @@ def bar(self, *args, **kwargs): else: errorbar = None - self._hold = holdstate # restore previous hold state - if adjust_xlim: xmin, xmax = self.dataLim.intervalx xmin = min(w for w in width if w > 0) @@ -2485,11 +2445,6 @@ def stem(self, *args, **kwargs): next(k for k in kwargs), ) ) - remember_hold = self._hold - if not self._hold: - self.cla() - self._hold = True - # Assume there's at least one data array y = np.asarray(args[0]) args = args[1:] @@ -2565,8 +2520,6 @@ def stem(self, *args, **kwargs): color=basecolor, linestyle=basestyle, marker=basemarker, label="_nolegend_") - self._hold = remember_hold - stem_container = StemContainer((markerline, stemlines, baseline), label=label) self.add_container(stem_container) @@ -2914,10 +2867,6 @@ def errorbar(self, x, y, yerr=None, xerr=None, 'errorevery has to be a strictly positive integer') self._process_unit_info(xdata=x, ydata=y, kwargs=kwargs) - if not self._hold: - self.cla() - holdstate = self._hold - self._hold = True plot_line = (fmt.lower() != 'none') label = kwargs.pop("label", None) @@ -3176,8 +3125,6 @@ def extract_err(err, data): self.add_line(l) self.autoscale_view() - self._hold = holdstate - errorbar_container = ErrorbarContainer((data_line, tuple(caplines), tuple(barcols)), has_xerr=(xerr is not None), @@ -3792,10 +3739,6 @@ def dopatch(xs, ys, **kwargs): elif len(widths) != N: raise ValueError(datashape_message.format("widths")) - # check and save the `hold` state of the current axes - if not self._hold: - self.cla() - holdStatus = self._hold for pos, width, stats in zip(positions, widths, bxpstats): # try to find a new label datalabels.append(stats.get('label', pos)) @@ -3896,9 +3839,6 @@ def dopatch(xs, ys, **kwargs): setticks(positions) setlabels(datalabels) - # reset hold status - self._hold = holdStatus - return dict(whiskers=whiskers, caps=caps, boxes=boxes, medians=medians, fliers=fliers, means=means) @@ -4009,12 +3949,7 @@ def scatter(self, x, y, s=None, c=None, marker=None, cmap=None, norm=None, size matches the size of *x* and *y*. """ - - if not self._hold: - self.cla() - # Process **kwargs to handle aliases, conflicts with explicit kwargs: - facecolors = None edgecolors = kwargs.pop('edgecolor', edgecolors) fc = kwargs.pop('facecolors', None) @@ -4302,10 +4237,6 @@ def hexbin(self, x, y, C=None, gridsize=100, bins=None, %(Collection)s """ - - if not self._hold: - self.cla() - self._process_unit_info(xdata=x, ydata=y, kwargs=kwargs) x, y, C = cbook.delete_masked_points(x, y, C) @@ -4684,9 +4615,6 @@ def _quiver_units(self, args, kw): # args can by a combination if X, Y, U, V, C and all should be replaced @_preprocess_data(replace_all_args=True, label_namer=None) def quiver(self, *args, **kw): - if not self._hold: - self.cla() - # Make sure units are handled for x and y values args = self._quiver_units(args, kw) @@ -4710,8 +4638,6 @@ def streamplot(self, x, y, u, v, density=1, linewidth=None, color=None, minlength=0.1, transform=None, zorder=None, start_points=None, maxlength=4.0, integration_direction='both'): - if not self._hold: - self.cla() stream_container = mstream.streamplot( self, x, y, u, v, density=density, @@ -4737,9 +4663,6 @@ def barbs(self, *args, **kw): """ %(barbs_doc)s """ - if not self._hold: - self.cla() - # Make sure units are handled for x and y values args = self._quiver_units(args, kw) @@ -4786,9 +4709,6 @@ def fill(self, *args, **kwargs): Use :meth:`fill_between` if you would like to fill the region between two curves. """ - if not self._hold: - self.cla() - # For compatibility(!), get aliases from Line2D rather than Patch. kwargs = cbook.normalize_kwargs(kwargs, mlines.Line2D._alias_map) @@ -5290,10 +5210,6 @@ def imshow(self, X, cmap=None, norm=None, aspect=None, `~matplotlib.pyplot.imshow` expects RGB images adopting the straight (unassociated) alpha representation. """ - - if not self._hold: - self.cla() - if norm is not None and not isinstance(norm, mcolors.Normalize): raise ValueError( "'norm' must be an instance of 'mcolors.Normalize'") @@ -5539,10 +5455,6 @@ def pcolor(self, *args, **kwargs): not specified, or if ``X`` and ``Y`` have one more row and column than ``C``. """ - - if not self._hold: - self.cla() - alpha = kwargs.pop('alpha', None) norm = kwargs.pop('norm', None) cmap = kwargs.pop('cmap', None) @@ -5726,9 +5638,6 @@ def pcolormesh(self, *args, **kwargs): %(QuadMesh)s """ - if not self._hold: - self.cla() - alpha = kwargs.pop('alpha', None) norm = kwargs.pop('norm', None) cmap = kwargs.pop('cmap', None) @@ -5872,10 +5781,6 @@ def pcolorfast(self, *args, **kwargs): collection in the general quadrilateral case. """ - - if not self._hold: - self.cla() - alpha = kwargs.pop('alpha', None) norm = kwargs.pop('norm', None) cmap = kwargs.pop('cmap', None) @@ -5978,8 +5883,6 @@ def pcolorfast(self, *args, **kwargs): @_preprocess_data() def contour(self, *args, **kwargs): - if not self._hold: - self.cla() kwargs['filled'] = False contours = mcontour.QuadContourSet(self, *args, **kwargs) self.autoscale_view() @@ -5988,8 +5891,6 @@ def contour(self, *args, **kwargs): @_preprocess_data() def contourf(self, *args, **kwargs): - if not self._hold: - self.cla() kwargs['filled'] = True contours = mcontour.QuadContourSet(self, *args, **kwargs) self.autoscale_view() @@ -6245,9 +6146,6 @@ def hist(self, x, bins=None, range=None, density=None, weights=None, bin_range = range from builtins import range - if not self._hold: - self.cla() - if np.isscalar(x): x = [x] @@ -6743,9 +6641,6 @@ def psd(self, x, NFFT=None, Fs=None, Fc=None, detrend=None, Bendat & Piersol -- Random Data: Analysis and Measurement Procedures, John Wiley & Sons (1986) """ - if not self._hold: - self.cla() - if Fc is None: Fc = 0 @@ -6863,9 +6758,6 @@ def csd(self, x, y, NFFT=None, Fs=None, Fc=None, detrend=None, Bendat & Piersol -- Random Data: Analysis and Measurement Procedures, John Wiley & Sons (1986) """ - if not self._hold: - self.cla() - if Fc is None: Fc = 0 @@ -6970,9 +6862,6 @@ def magnitude_spectrum(self, x, Fs=None, Fc=None, window=None, .. [Notes section required for data comment. See #10189.] """ - if not self._hold: - self.cla() - if Fc is None: Fc = 0 @@ -7067,9 +6956,6 @@ def angle_spectrum(self, x, Fs=None, Fc=None, window=None, .. [Notes section required for data comment. See #10189.] """ - if not self._hold: - self.cla() - if Fc is None: Fc = 0 @@ -7151,9 +7037,6 @@ def phase_spectrum(self, x, Fs=None, Fc=None, window=None, .. [Notes section required for data comment. See #10189.] """ - if not self._hold: - self.cla() - if Fc is None: Fc = 0 @@ -7220,8 +7103,6 @@ def cohere(self, x, y, NFFT=256, Fs=2, Fc=0, detrend=mlab.detrend_none, Bendat & Piersol -- Random Data: Analysis and Measurement Procedures, John Wiley & Sons (1986) """ - if not self._hold: - self.cla() cxy, freqs = mlab.cohere(x=x, y=y, NFFT=NFFT, Fs=Fs, detrend=detrend, window=window, noverlap=noverlap, scale_by_freq=scale_by_freq) @@ -7346,9 +7227,6 @@ def specgram(self, x, NFFT=None, Fs=None, Fc=None, detrend=None, The parameters *detrend* and *scale_by_freq* do only apply when *mode* is set to 'psd'. """ - if not self._hold: - self.cla() - if NFFT is None: NFFT = 256 # same default as in mlab.specgram() if Fc is None: diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 7a27b77f7b15..754f343a52b2 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -34,10 +34,6 @@ rcParams = matplotlib.rcParams -_hold_msg = """axes.hold is deprecated. - See the API Changes document (http://matplotlib.org/api/api_changes.html) - for more details.""" - def _process_plot_format(fmt): """ @@ -502,11 +498,6 @@ def __init__(self, fig, rect, self._axisbelow = rcParams['axes.axisbelow'] self._rasterization_zorder = None - - self._hold = rcParams['axes.hold'] - if self._hold is None: - self._hold = True - self._connected = {} # a dict from events to (id, func) self.cla() @@ -1231,49 +1222,6 @@ def set_color_cycle(self, clist): else: self.set_prop_cycle('color', clist) - @cbook.deprecated("2.0") - def ishold(self): - """return the HOLD status of the axes - - The `hold` mechanism is deprecated and will be removed in - v3.0. - """ - - return self._hold - - @cbook.deprecated("2.0", message=_hold_msg) - def hold(self, b=None): - """ - Set the hold state. - - The ``hold`` mechanism is deprecated and will be removed in - v3.0. The behavior will remain consistent with the - long-time default value of True. - - If *hold* is *None* (default), toggle the *hold* state. Else - set the *hold* state to boolean value *b*. - - Examples:: - - # toggle hold - hold() - - # turn hold on - hold(True) - - # turn hold off - hold(False) - - When hold is *True*, subsequent plot commands will be added to - the current axes. When hold is *False*, the current axes and - figure will be cleared on the next plot command - - """ - if b is None: - self._hold = not self._hold - else: - self._hold = b - def get_aspect(self): return self._aspect diff --git a/lib/matplotlib/colorbar.py b/lib/matplotlib/colorbar.py index c2ae408221bf..f3c354319d40 100644 --- a/lib/matplotlib/colorbar.py +++ b/lib/matplotlib/colorbar.py @@ -647,15 +647,9 @@ def _add_solids(self, X, Y, C): norm=self.norm, alpha=self.alpha, edgecolors='None') - # Save, set, and restore hold state to keep pcolor from - # clearing the axes. Ordinarily this will not be needed, - # since the axes object should already have hold set. - _hold = self.ax._hold - self.ax._hold = True _log.debug('Setting pcolormesh') col = self.ax.pcolormesh(*args, **kw) - self.ax._hold = _hold - #self.add_observer(col) # We should observe, not be observed... + # self.add_observer(col) # We should observe, not be observed... if self.solids is not None: self.solids.remove() @@ -1443,12 +1437,6 @@ def _add_solids(self, X, Y, C): Draw the colors using :class:`~matplotlib.patches.Patch`; optionally add separators. """ - # Save, set, and restore hold state to keep pcolor from - # clearing the axes. Ordinarily this will not be needed, - # since the axes object should already have hold set. - _hold = self.ax._hold - self.ax._hold = True - kw = {'alpha': self.alpha, } n_segments = len(C) @@ -1494,8 +1482,6 @@ def _add_solids(self, X, Y, C): linewidths=(0.5 * mpl.rcParams['axes.linewidth'],)) self.ax.add_collection(self.dividers) - self.ax._hold = _hold - def colorbar_factory(cax, mappable, **kwargs): """ diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index e82858a835b5..59608cc48159 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -367,10 +367,6 @@ def __init__(self, self._set_artist_props(self.patch) self.patch.set_aa(False) - self._hold = rcParams['axes.hold'] - if self._hold is None: - self._hold = True - self.canvas = None self._suptitle = None @@ -780,25 +776,6 @@ def set_canvas(self, canvas): """ self.canvas = canvas - @cbook.deprecated("2.0") - def hold(self, b=None): - """ - Set the hold state. If hold is None (default), toggle the - hold state. Else set the hold state to boolean value b. - - e.g.:: - - hold() # toggle hold - hold(True) # hold is on - hold(False) # hold is off - - All "hold" machinery is deprecated. - """ - if b is None: - self._hold = not self._hold - else: - self._hold = b - def figimage(self, X, xo=0, yo=0, alpha=None, norm=None, cmap=None, vmin=None, vmax=None, origin=None, resize=False, **kwargs): """ @@ -868,10 +845,6 @@ def figimage(self, X, xo=0, yo=0, alpha=None, norm=None, cmap=None, plt.show() """ - - if not self._hold: - self.clf() - if resize: dpi = self.get_dpi() figsize = [x / dpi for x in (X.shape[1], X.shape[0])] @@ -1922,7 +1895,6 @@ def colorbar(self, mappable, cax=None, ax=None, use_gridspec=True, **kw): cax, kw = cbar.make_axes_gridspec(ax, **kw) else: cax, kw = cbar.make_axes(ax, **kw) - cax._hold = True # need to remove kws that cannot be passed to Colorbar NON_COLORBAR_KEYS = ['fraction', 'pad', 'shrink', 'aspect', 'anchor', diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index 4bf4fc72ac03..cc49d7190a2c 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -768,76 +768,7 @@ def figlegend(*args, **kwargs): return gcf().legend(*args, **kwargs) -## Figure and Axes hybrid ## - -_hold_msg = """pyplot.hold is deprecated. - Future behavior will be consistent with the long-time default: - plot commands add elements without first clearing the - Axes and/or Figure.""" - -@deprecated("2.0", message=_hold_msg) -def hold(b=None): - """ - Set the hold state. If *b* is None (default), toggle the - hold state, else set the hold state to boolean value *b*:: - - hold() # toggle hold - hold(True) # hold is on - hold(False) # hold is off - - When *hold* is *True*, subsequent plot commands will add elements to - the current axes. When *hold* is *False*, the current axes and - figure will be cleared on the next plot command. - - """ - - fig = gcf() - ax = fig.gca() - - if b is not None: - b = bool(b) - fig._hold = b - ax._hold = b - - # b=None toggles the hold state, so let's get get the current hold - # state; but should pyplot hold toggle the rc setting - me thinks - # not - b = ax._hold - - # The comment above looks ancient; and probably the line below, - # contrary to the comment, is equally ancient. It will trigger - # a second warning, but "Oh, well...". - rc('axes', hold=b) - -@deprecated("2.0", message=_hold_msg) -def ishold(): - """ - Return the hold status of the current axes. - """ - return gca()._hold - - -@deprecated("2.0", message=_hold_msg) -def over(func, *args, **kwargs): - """ - Call a function with hold(True). - - Calls:: - - func(*args, **kwargs) - - with ``hold(True)`` and then restores the hold state. - - """ - ax = gca() - h = ax._hold - ax._hold = True - func(*args, **kwargs) - ax._hold = h - ## Axes ## - - def axes(arg=None, **kwargs): """ Add an axes to the current figure and make it the current axes. @@ -2482,7 +2413,6 @@ def getname_val(identifier): def _autogen_docstring(base): """Autogenerated wrappers will get their docstring from a base function with an addendum.""" - #msg = "\n\nAdditional kwargs: hold = [True|False] overrides default hold state" msg = '' addendum = docstring.Appender(msg, '\n\n') return lambda func: addendum(docstring.copy_dedent(base)(func)) @@ -2492,19 +2422,7 @@ def _autogen_docstring(base): @_autogen_docstring(Axes.spy) def spy(Z, precision=0, marker=None, markersize=None, aspect='equal', **kwargs): ax = gca() - hold = kwargs.pop('hold', None) - # allow callers to override the hold state by passing hold=True|False - washold = ax._hold - - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.spy(Z, precision, marker, markersize, aspect, **kwargs) - finally: - ax._hold = washold + ret = ax.spy(Z, precision, marker, markersize, aspect, **kwargs) if isinstance(ret, cm.ScalarMappable): sci(ret) return ret @@ -2521,143 +2439,59 @@ def spy(Z, precision=0, marker=None, markersize=None, aspect='equal', **kwargs): # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.acorr) -def acorr(x, hold=None, data=None, **kwargs): +def acorr(x, data=None, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.acorr(x, data=data, **kwargs) - finally: - ax._hold = washold + ret = ax.acorr(x, data=data, **kwargs) return ret # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.angle_spectrum) def angle_spectrum(x, Fs=None, Fc=None, window=None, pad_to=None, sides=None, - hold=None, data=None, **kwargs): + data=None, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.angle_spectrum(x, Fs=Fs, Fc=Fc, window=window, pad_to=pad_to, + ret = ax.angle_spectrum(x, Fs=Fs, Fc=Fc, window=window, pad_to=pad_to, sides=sides, data=data, **kwargs) - finally: - ax._hold = washold return ret # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.arrow) -def arrow(x, y, dx, dy, hold=None, **kwargs): +def arrow(x, y, dx, dy, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.arrow(x, y, dx, dy, **kwargs) - finally: - ax._hold = washold + ret = ax.arrow(x, y, dx, dy, **kwargs) return ret # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.axhline) -def axhline(y=0, xmin=0, xmax=1, hold=None, **kwargs): +def axhline(y=0, xmin=0, xmax=1, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.axhline(y=y, xmin=xmin, xmax=xmax, **kwargs) - finally: - ax._hold = washold + ret = ax.axhline(y=y, xmin=xmin, xmax=xmax, **kwargs) return ret # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.axhspan) -def axhspan(ymin, ymax, xmin=0, xmax=1, hold=None, **kwargs): +def axhspan(ymin, ymax, xmin=0, xmax=1, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.axhspan(ymin, ymax, xmin=xmin, xmax=xmax, **kwargs) - finally: - ax._hold = washold + ret = ax.axhspan(ymin, ymax, xmin=xmin, xmax=xmax, **kwargs) return ret # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.axvline) -def axvline(x=0, ymin=0, ymax=1, hold=None, **kwargs): +def axvline(x=0, ymin=0, ymax=1, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.axvline(x=x, ymin=ymin, ymax=ymax, **kwargs) - finally: - ax._hold = washold + ret = ax.axvline(x=x, ymin=ymin, ymax=ymax, **kwargs) return ret # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.axvspan) -def axvspan(xmin, xmax, ymin=0, ymax=1, hold=None, **kwargs): +def axvspan(xmin, xmax, ymin=0, ymax=1, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.axvspan(xmin, xmax, ymin=ymin, ymax=ymax, **kwargs) - finally: - ax._hold = washold + ret = ax.axvspan(xmin, xmax, ymin=ymin, ymax=ymax, **kwargs) return ret @@ -2665,19 +2499,7 @@ def axvspan(xmin, xmax, ymin=0, ymax=1, hold=None, **kwargs): @_autogen_docstring(Axes.bar) def bar(*args, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - hold = kwargs.pop('hold', None) - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.bar(*args, **kwargs) - finally: - ax._hold = washold + ret = ax.bar(*args, **kwargs) return ret @@ -2685,39 +2507,15 @@ def bar(*args, **kwargs): @_autogen_docstring(Axes.barh) def barh(*args, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - hold = kwargs.pop('hold', None) - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.barh(*args, **kwargs) - finally: - ax._hold = washold + ret = ax.barh(*args, **kwargs) return ret # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.broken_barh) -def broken_barh(xranges, yrange, hold=None, data=None, **kwargs): +def broken_barh(xranges, yrange, data=None, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.broken_barh(xranges, yrange, data=data, **kwargs) - finally: - ax._hold = washold + ret = ax.broken_barh(xranges, yrange, data=data, **kwargs) return ret @@ -2729,19 +2527,9 @@ def boxplot(x, notch=None, sym=None, vert=None, whis=None, positions=None, showbox=None, showfliers=None, boxprops=None, labels=None, flierprops=None, medianprops=None, meanprops=None, capprops=None, whiskerprops=None, manage_xticks=True, autorange=False, zorder=None, - hold=None, data=None): + data=None): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.boxplot(x, notch=notch, sym=sym, vert=vert, whis=whis, + ret = ax.boxplot(x, notch=notch, sym=sym, vert=vert, whis=whis, positions=positions, widths=widths, patch_artist=patch_artist, bootstrap=bootstrap, usermedians=usermedians, @@ -2754,8 +2542,6 @@ def boxplot(x, notch=None, sym=None, vert=None, whis=None, positions=None, whiskerprops=whiskerprops, manage_xticks=manage_xticks, autorange=autorange, zorder=zorder, data=data) - finally: - ax._hold = washold return ret @@ -2763,24 +2549,12 @@ def boxplot(x, notch=None, sym=None, vert=None, whis=None, positions=None, @_autogen_docstring(Axes.cohere) def cohere(x, y, NFFT=256, Fs=2, Fc=0, detrend=mlab.detrend_none, window=mlab.window_hanning, noverlap=0, pad_to=None, sides='default', - scale_by_freq=None, hold=None, data=None, **kwargs): + scale_by_freq=None, data=None, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.cohere(x, y, NFFT=NFFT, Fs=Fs, Fc=Fc, detrend=detrend, + ret = ax.cohere(x, y, NFFT=NFFT, Fs=Fs, Fc=Fc, detrend=detrend, window=window, noverlap=noverlap, pad_to=pad_to, sides=sides, scale_by_freq=scale_by_freq, data=data, **kwargs) - finally: - ax._hold = washold return ret @@ -2788,19 +2562,7 @@ def cohere(x, y, NFFT=256, Fs=2, Fc=0, detrend=mlab.detrend_none, @_autogen_docstring(Axes.clabel) def clabel(CS, *args, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - hold = kwargs.pop('hold', None) - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.clabel(CS, *args, **kwargs) - finally: - ax._hold = washold + ret = ax.clabel(CS, *args, **kwargs) return ret @@ -2808,19 +2570,7 @@ def clabel(CS, *args, **kwargs): @_autogen_docstring(Axes.contour) def contour(*args, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - hold = kwargs.pop('hold', None) - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.contour(*args, **kwargs) - finally: - ax._hold = washold + ret = ax.contour(*args, **kwargs) if ret._A is not None: sci(ret) return ret @@ -2828,19 +2578,7 @@ def contour(*args, **kwargs): @_autogen_docstring(Axes.contourf) def contourf(*args, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - hold = kwargs.pop('hold', None) - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.contourf(*args, **kwargs) - finally: - ax._hold = washold + ret = ax.contourf(*args, **kwargs) if ret._A is not None: sci(ret) return ret @@ -2848,24 +2586,12 @@ def contourf(*args, **kwargs): @_autogen_docstring(Axes.csd) def csd(x, y, NFFT=None, Fs=None, Fc=None, detrend=None, window=None, noverlap=None, pad_to=None, sides=None, scale_by_freq=None, - return_line=None, hold=None, data=None, **kwargs): + return_line=None, data=None, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.csd(x, y, NFFT=NFFT, Fs=Fs, Fc=Fc, detrend=detrend, + ret = ax.csd(x, y, NFFT=NFFT, Fs=Fs, Fc=Fc, detrend=detrend, window=window, noverlap=noverlap, pad_to=pad_to, sides=sides, scale_by_freq=scale_by_freq, return_line=return_line, data=data, **kwargs) - finally: - ax._hold = washold return ret @@ -2874,51 +2600,27 @@ def csd(x, y, NFFT=None, Fs=None, Fc=None, detrend=None, window=None, def errorbar(x, y, yerr=None, xerr=None, fmt='', ecolor=None, elinewidth=None, capsize=None, barsabove=False, lolims=False, uplims=False, xlolims=False, xuplims=False, errorevery=1, capthick=None, - hold=None, data=None, **kwargs): + data=None, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.errorbar(x, y, yerr=yerr, xerr=xerr, fmt=fmt, ecolor=ecolor, + ret = ax.errorbar(x, y, yerr=yerr, xerr=xerr, fmt=fmt, ecolor=ecolor, elinewidth=elinewidth, capsize=capsize, barsabove=barsabove, lolims=lolims, uplims=uplims, xlolims=xlolims, xuplims=xuplims, errorevery=errorevery, capthick=capthick, data=data, **kwargs) - finally: - ax._hold = washold return ret # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.eventplot) def eventplot(positions, orientation='horizontal', lineoffsets=1, linelengths=1, - linewidths=None, colors=None, linestyles='solid', hold=None, - data=None, **kwargs): + linewidths=None, colors=None, linestyles='solid', data=None, + **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.eventplot(positions, orientation=orientation, + ret = ax.eventplot(positions, orientation=orientation, lineoffsets=lineoffsets, linelengths=linelengths, linewidths=linewidths, colors=colors, linestyles=linestyles, data=data, **kwargs) - finally: - ax._hold = washold return ret @@ -2926,64 +2628,28 @@ def eventplot(positions, orientation='horizontal', lineoffsets=1, linelengths=1, @_autogen_docstring(Axes.fill) def fill(*args, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - hold = kwargs.pop('hold', None) - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.fill(*args, **kwargs) - finally: - ax._hold = washold + ret = ax.fill(*args, **kwargs) return ret # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.fill_between) def fill_between(x, y1, y2=0, where=None, interpolate=False, step=None, - hold=None, data=None, **kwargs): + data=None, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.fill_between(x, y1, y2=y2, where=where, + ret = ax.fill_between(x, y1, y2=y2, where=where, interpolate=interpolate, step=step, data=data, **kwargs) - finally: - ax._hold = washold return ret # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.fill_betweenx) def fill_betweenx(y, x1, x2=0, where=None, step=None, interpolate=False, - hold=None, data=None, **kwargs): + data=None, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.fill_betweenx(y, x1, x2=x2, where=where, step=step, + ret = ax.fill_betweenx(y, x1, x2=x2, where=where, step=step, interpolate=interpolate, data=data, **kwargs) - finally: - ax._hold = washold return ret @@ -2992,27 +2658,15 @@ def fill_betweenx(y, x1, x2=0, where=None, step=None, interpolate=False, def hexbin(x, y, C=None, gridsize=100, bins=None, xscale='linear', yscale='linear', extent=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, edgecolors='face', - reduce_C_function=np.mean, mincnt=None, marginals=False, hold=None, - data=None, **kwargs): + reduce_C_function=np.mean, mincnt=None, marginals=False, data=None, + **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.hexbin(x, y, C=C, gridsize=gridsize, bins=bins, xscale=xscale, + ret = ax.hexbin(x, y, C=C, gridsize=gridsize, bins=bins, xscale=xscale, yscale=yscale, extent=extent, cmap=cmap, norm=norm, vmin=vmin, vmax=vmax, alpha=alpha, linewidths=linewidths, edgecolors=edgecolors, reduce_C_function=reduce_C_function, mincnt=mincnt, marginals=marginals, data=data, **kwargs) - finally: - ax._hold = washold sci(ret) return ret @@ -3021,70 +2675,34 @@ def hexbin(x, y, C=None, gridsize=100, bins=None, xscale='linear', def hist(x, bins=None, range=None, density=None, weights=None, cumulative=False, bottom=None, histtype='bar', align='mid', orientation='vertical', rwidth=None, log=False, color=None, label=None, stacked=False, - normed=None, hold=None, data=None, **kwargs): + normed=None, data=None, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.hist(x, bins=bins, range=range, density=density, + ret = ax.hist(x, bins=bins, range=range, density=density, weights=weights, cumulative=cumulative, bottom=bottom, histtype=histtype, align=align, orientation=orientation, rwidth=rwidth, log=log, color=color, label=label, stacked=stacked, normed=normed, data=data, **kwargs) - finally: - ax._hold = washold return ret # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.hist2d) def hist2d(x, y, bins=10, range=None, normed=False, weights=None, cmin=None, - cmax=None, hold=None, data=None, **kwargs): + cmax=None, data=None, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.hist2d(x, y, bins=bins, range=range, normed=normed, + ret = ax.hist2d(x, y, bins=bins, range=range, normed=normed, weights=weights, cmin=cmin, cmax=cmax, data=data, **kwargs) - finally: - ax._hold = washold sci(ret[-1]) return ret # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.hlines) -def hlines(y, xmin, xmax, colors='k', linestyles='solid', label='', hold=None, - data=None, **kwargs): +def hlines(y, xmin, xmax, colors='k', linestyles='solid', label='', data=None, + **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.hlines(y, xmin, xmax, colors=colors, linestyles=linestyles, + ret = ax.hlines(y, xmin, xmax, colors=colors, linestyles=linestyles, label=label, data=data, **kwargs) - finally: - ax._hold = washold return ret @@ -3093,26 +2711,14 @@ def hlines(y, xmin, xmax, colors='k', linestyles='solid', label='', hold=None, def imshow(X, cmap=None, norm=None, aspect=None, interpolation=None, alpha=None, vmin=None, vmax=None, origin=None, extent=None, shape=None, filternorm=1, filterrad=4.0, imlim=None, resample=None, url=None, - hold=None, data=None, **kwargs): + data=None, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.imshow(X, cmap=cmap, norm=norm, aspect=aspect, + ret = ax.imshow(X, cmap=cmap, norm=norm, aspect=aspect, interpolation=interpolation, alpha=alpha, vmin=vmin, vmax=vmax, origin=origin, extent=extent, shape=shape, filternorm=filternorm, filterrad=filterrad, imlim=imlim, resample=resample, url=url, data=data, **kwargs) - finally: - ax._hold = washold sci(ret) return ret @@ -3120,42 +2726,18 @@ def imshow(X, cmap=None, norm=None, aspect=None, interpolation=None, alpha=None, @_autogen_docstring(Axes.loglog) def loglog(*args, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - hold = kwargs.pop('hold', None) - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.loglog(*args, **kwargs) - finally: - ax._hold = washold + ret = ax.loglog(*args, **kwargs) return ret # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.magnitude_spectrum) def magnitude_spectrum(x, Fs=None, Fc=None, window=None, pad_to=None, - sides=None, scale=None, hold=None, data=None, **kwargs): + sides=None, scale=None, data=None, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.magnitude_spectrum(x, Fs=Fs, Fc=Fc, window=window, + ret = ax.magnitude_spectrum(x, Fs=Fs, Fc=Fc, window=window, pad_to=pad_to, sides=sides, scale=scale, data=data, **kwargs) - finally: - ax._hold = washold return ret @@ -3163,19 +2745,7 @@ def magnitude_spectrum(x, Fs=None, Fc=None, window=None, pad_to=None, @_autogen_docstring(Axes.pcolor) def pcolor(*args, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - hold = kwargs.pop('hold', None) - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.pcolor(*args, **kwargs) - finally: - ax._hold = washold + ret = ax.pcolor(*args, **kwargs) sci(ret) return ret @@ -3183,41 +2753,17 @@ def pcolor(*args, **kwargs): @_autogen_docstring(Axes.pcolormesh) def pcolormesh(*args, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - hold = kwargs.pop('hold', None) - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.pcolormesh(*args, **kwargs) - finally: - ax._hold = washold + ret = ax.pcolormesh(*args, **kwargs) sci(ret) return ret # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.phase_spectrum) def phase_spectrum(x, Fs=None, Fc=None, window=None, pad_to=None, sides=None, - hold=None, data=None, **kwargs): + data=None, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.phase_spectrum(x, Fs=Fs, Fc=Fc, window=window, pad_to=pad_to, + ret = ax.phase_spectrum(x, Fs=Fs, Fc=Fc, window=window, pad_to=pad_to, sides=sides, data=data, **kwargs) - finally: - ax._hold = washold return ret @@ -3226,26 +2772,14 @@ def phase_spectrum(x, Fs=None, Fc=None, window=None, pad_to=None, sides=None, def pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=None, radius=None, counterclock=True, wedgeprops=None, textprops=None, - center=(0, 0), frame=False, rotatelabels=False, hold=None, data=None): + center=(0, 0), frame=False, rotatelabels=False, data=None): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.pie(x, explode=explode, labels=labels, colors=colors, + ret = ax.pie(x, explode=explode, labels=labels, colors=colors, autopct=autopct, pctdistance=pctdistance, shadow=shadow, labeldistance=labeldistance, startangle=startangle, radius=radius, counterclock=counterclock, wedgeprops=wedgeprops, textprops=textprops, center=center, frame=frame, rotatelabels=rotatelabels, data=data) - finally: - ax._hold = washold return ret @@ -3253,41 +2787,17 @@ def pie(x, explode=None, labels=None, colors=None, autopct=None, @_autogen_docstring(Axes.plot) def plot(*args, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - hold = kwargs.pop('hold', None) - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.plot(*args, **kwargs) - finally: - ax._hold = washold + ret = ax.plot(*args, **kwargs) return ret # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.plot_date) -def plot_date(x, y, fmt='o', tz=None, xdate=True, ydate=False, hold=None, - data=None, **kwargs): +def plot_date(x, y, fmt='o', tz=None, xdate=True, ydate=False, data=None, + **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.plot_date(x, y, fmt=fmt, tz=tz, xdate=xdate, ydate=ydate, + ret = ax.plot_date(x, y, fmt=fmt, tz=tz, xdate=xdate, ydate=ydate, data=data, **kwargs) - finally: - ax._hold = washold return ret @@ -3295,24 +2805,12 @@ def plot_date(x, y, fmt='o', tz=None, xdate=True, ydate=False, hold=None, @_autogen_docstring(Axes.psd) def psd(x, NFFT=None, Fs=None, Fc=None, detrend=None, window=None, noverlap=None, pad_to=None, sides=None, scale_by_freq=None, - return_line=None, hold=None, data=None, **kwargs): + return_line=None, data=None, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.psd(x, NFFT=NFFT, Fs=Fs, Fc=Fc, detrend=detrend, + ret = ax.psd(x, NFFT=NFFT, Fs=Fs, Fc=Fc, detrend=detrend, window=window, noverlap=noverlap, pad_to=pad_to, sides=sides, scale_by_freq=scale_by_freq, return_line=return_line, data=data, **kwargs) - finally: - ax._hold = washold return ret @@ -3320,19 +2818,7 @@ def psd(x, NFFT=None, Fs=None, Fc=None, detrend=None, window=None, @_autogen_docstring(Axes.quiver) def quiver(*args, **kw): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - hold = kw.pop('hold', None) - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.quiver(*args, **kw) - finally: - ax._hold = washold + ret = ax.quiver(*args, **kw) sci(ret) return ret @@ -3340,19 +2826,7 @@ def quiver(*args, **kw): @_autogen_docstring(Axes.quiverkey) def quiverkey(*args, **kw): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - hold = kw.pop('hold', None) - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.quiverkey(*args, **kw) - finally: - ax._hold = washold + ret = ax.quiverkey(*args, **kw) return ret @@ -3360,24 +2834,12 @@ def quiverkey(*args, **kw): @_autogen_docstring(Axes.scatter) def scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=None, edgecolors=None, - hold=None, data=None, **kwargs): + data=None, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.scatter(x, y, s=s, c=c, marker=marker, cmap=cmap, norm=norm, + ret = ax.scatter(x, y, s=s, c=c, marker=marker, cmap=cmap, norm=norm, vmin=vmin, vmax=vmax, alpha=alpha, linewidths=linewidths, verts=verts, edgecolors=edgecolors, data=data, **kwargs) - finally: - ax._hold = washold sci(ret) return ret @@ -3385,19 +2847,7 @@ def scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, @_autogen_docstring(Axes.semilogx) def semilogx(*args, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - hold = kwargs.pop('hold', None) - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.semilogx(*args, **kwargs) - finally: - ax._hold = washold + ret = ax.semilogx(*args, **kwargs) return ret @@ -3405,19 +2855,7 @@ def semilogx(*args, **kwargs): @_autogen_docstring(Axes.semilogy) def semilogy(*args, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - hold = kwargs.pop('hold', None) - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.semilogy(*args, **kwargs) - finally: - ax._hold = washold + ret = ax.semilogy(*args, **kwargs) return ret @@ -3426,25 +2864,13 @@ def semilogy(*args, **kwargs): def specgram(x, NFFT=None, Fs=None, Fc=None, detrend=None, window=None, noverlap=None, cmap=None, xextent=None, pad_to=None, sides=None, scale_by_freq=None, mode=None, scale=None, vmin=None, vmax=None, - hold=None, data=None, **kwargs): + data=None, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.specgram(x, NFFT=NFFT, Fs=Fs, Fc=Fc, detrend=detrend, + ret = ax.specgram(x, NFFT=NFFT, Fs=Fs, Fc=Fc, detrend=detrend, window=window, noverlap=noverlap, cmap=cmap, xextent=xextent, pad_to=pad_to, sides=sides, scale_by_freq=scale_by_freq, mode=mode, scale=scale, vmin=vmin, vmax=vmax, data=data, **kwargs) - finally: - ax._hold = washold sci(ret[-1]) return ret @@ -3452,19 +2878,7 @@ def specgram(x, NFFT=None, Fs=None, Fc=None, detrend=None, window=None, @_autogen_docstring(Axes.stackplot) def stackplot(x, *args, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - hold = kwargs.pop('hold', None) - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.stackplot(x, *args, **kwargs) - finally: - ax._hold = washold + ret = ax.stackplot(x, *args, **kwargs) return ret @@ -3472,19 +2886,7 @@ def stackplot(x, *args, **kwargs): @_autogen_docstring(Axes.stem) def stem(*args, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - hold = kwargs.pop('hold', None) - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.stem(*args, **kwargs) - finally: - ax._hold = washold + ret = ax.stem(*args, **kwargs) return ret @@ -3492,19 +2894,7 @@ def stem(*args, **kwargs): @_autogen_docstring(Axes.step) def step(x, y, *args, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - hold = kwargs.pop('hold', None) - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.step(x, y, *args, **kwargs) - finally: - ax._hold = washold + ret = ax.step(x, y, *args, **kwargs) return ret @@ -3513,19 +2903,9 @@ def step(x, y, *args, **kwargs): def streamplot(x, y, u, v, density=1, linewidth=None, color=None, cmap=None, norm=None, arrowsize=1, arrowstyle='-|>', minlength=0.1, transform=None, zorder=None, start_points=None, maxlength=4.0, - integration_direction='both', hold=None, data=None): + integration_direction='both', data=None): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.streamplot(x, y, u, v, density=density, linewidth=linewidth, + ret = ax.streamplot(x, y, u, v, density=density, linewidth=linewidth, color=color, cmap=cmap, norm=norm, arrowsize=arrowsize, arrowstyle=arrowstyle, minlength=minlength, transform=transform, @@ -3533,8 +2913,6 @@ def streamplot(x, y, u, v, density=1, linewidth=None, color=None, cmap=None, maxlength=maxlength, integration_direction=integration_direction, data=data) - finally: - ax._hold = washold sci(ret.lines) return ret @@ -3542,19 +2920,7 @@ def streamplot(x, y, u, v, density=1, linewidth=None, color=None, cmap=None, @_autogen_docstring(Axes.tricontour) def tricontour(*args, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - hold = kwargs.pop('hold', None) - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.tricontour(*args, **kwargs) - finally: - ax._hold = washold + ret = ax.tricontour(*args, **kwargs) if ret._A is not None: sci(ret) return ret @@ -3562,19 +2928,7 @@ def tricontour(*args, **kwargs): @_autogen_docstring(Axes.tricontourf) def tricontourf(*args, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - hold = kwargs.pop('hold', None) - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.tricontourf(*args, **kwargs) - finally: - ax._hold = washold + ret = ax.tricontourf(*args, **kwargs) if ret._A is not None: sci(ret) return ret @@ -3582,19 +2936,7 @@ def tricontourf(*args, **kwargs): @_autogen_docstring(Axes.tripcolor) def tripcolor(*args, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - hold = kwargs.pop('hold', None) - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.tripcolor(*args, **kwargs) - finally: - ax._hold = washold + ret = ax.tripcolor(*args, **kwargs) sci(ret) return ret @@ -3602,19 +2944,7 @@ def tripcolor(*args, **kwargs): @_autogen_docstring(Axes.triplot) def triplot(*args, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - hold = kwargs.pop('hold', None) - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.triplot(*args, **kwargs) - finally: - ax._hold = washold + ret = ax.triplot(*args, **kwargs) return ret @@ -3622,69 +2952,33 @@ def triplot(*args, **kwargs): @_autogen_docstring(Axes.violinplot) def violinplot(dataset, positions=None, vert=True, widths=0.5, showmeans=False, showextrema=True, showmedians=False, points=100, bw_method=None, - hold=None, data=None): + data=None): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.violinplot(dataset, positions=positions, vert=vert, + ret = ax.violinplot(dataset, positions=positions, vert=vert, widths=widths, showmeans=showmeans, showextrema=showextrema, showmedians=showmedians, points=points, bw_method=bw_method, data=data) - finally: - ax._hold = washold return ret # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.vlines) -def vlines(x, ymin, ymax, colors='k', linestyles='solid', label='', hold=None, - data=None, **kwargs): +def vlines(x, ymin, ymax, colors='k', linestyles='solid', label='', data=None, + **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.vlines(x, ymin, ymax, colors=colors, linestyles=linestyles, + ret = ax.vlines(x, ymin, ymax, colors=colors, linestyles=linestyles, label=label, data=data, **kwargs) - finally: - ax._hold = washold return ret # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.xcorr) def xcorr(x, y, normed=True, detrend=mlab.detrend_none, usevlines=True, - maxlags=10, hold=None, data=None, **kwargs): + maxlags=10, data=None, **kwargs): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.xcorr(x, y, normed=normed, detrend=detrend, + ret = ax.xcorr(x, y, normed=normed, detrend=detrend, usevlines=usevlines, maxlags=maxlags, data=data, **kwargs) - finally: - ax._hold = washold return ret @@ -3692,19 +2986,7 @@ def xcorr(x, y, normed=True, detrend=mlab.detrend_none, usevlines=True, @_autogen_docstring(Axes.barbs) def barbs(*args, **kw): ax = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - washold = ax._hold - hold = kw.pop('hold', None) - if hold is not None: - ax._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - ret = ax.barbs(*args, **kw) - finally: - ax._hold = washold + ret = ax.barbs(*args, **kw) return ret diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index 6b650febdd7c..64b52453823a 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -145,15 +145,6 @@ def validate_bool_maybe_none(b): raise ValueError('Could not convert "%s" to boolean' % b) -def deprecate_axes_hold(value): - if value is None: - return None # converted to True where accessed in figure.py, - # axes/_base.py - warnings.warn("axes.hold is deprecated, will be removed in 3.0", - mplDeprecation) - return validate_bool(value) - - def validate_float(s): """convert s to float or raise""" try: @@ -1155,7 +1146,6 @@ def _validate_linestyle(ls): # axes props 'axes.axisbelow': ['line', validate_axisbelow], - 'axes.hold': [None, deprecate_axes_hold], 'axes.facecolor': ['white', validate_color], # background color 'axes.edgecolor': ['black', validate_color], # edge color 'axes.linewidth': [0.8, validate_float], # edge linewidth diff --git a/lib/matplotlib/tri/tricontour.py b/lib/matplotlib/tri/tricontour.py index 9cbb88fab327..2d651123ccea 100644 --- a/lib/matplotlib/tri/tricontour.py +++ b/lib/matplotlib/tri/tricontour.py @@ -265,15 +265,13 @@ def tricontour(ax, *args, **kwargs): the minimum value of the *z* array, then that minimum value will be included in the lowest interval. """ - if not ax._hold: - ax.cla() kwargs['filled'] = False return TriContourSet(ax, *args, **kwargs) def tricontourf(ax, *args, **kwargs): - if not ax._hold: - ax.cla() kwargs['filled'] = True return TriContourSet(ax, *args, **kwargs) + + tricontourf.__doc__ = tricontour.__doc__ diff --git a/lib/mpl_toolkits/axes_grid1/axes_grid.py b/lib/mpl_toolkits/axes_grid1/axes_grid.py index a304f1eeed11..c19e9cedd0cc 100644 --- a/lib/mpl_toolkits/axes_grid1/axes_grid.py +++ b/lib/mpl_toolkits/axes_grid1/axes_grid.py @@ -47,7 +47,6 @@ def colorbar(self, mappable, **kwargs): else: kwargs["ticks"] = locator - self._hold = True if self.orientation in ["top", "bottom"]: orientation = "horizontal" else: @@ -769,4 +768,3 @@ def _update_locators(self): AxesGrid = ImageGrid - diff --git a/lib/mpl_toolkits/axes_grid1/colorbar.py b/lib/mpl_toolkits/axes_grid1/colorbar.py index c2227bf379dc..a9e0361f6780 100644 --- a/lib/mpl_toolkits/axes_grid1/colorbar.py +++ b/lib/mpl_toolkits/axes_grid1/colorbar.py @@ -814,7 +814,6 @@ def colorbar(mappable, cax=None, ax=None, **kw): ax = plt.gca() if cax is None: cax, kw = make_axes(ax, **kw) - cax._hold = True cb = Colorbar(cax, mappable, **kw) def on_changed(m): diff --git a/tools/boilerplate.py b/tools/boilerplate.py index a2222dc7b4ca..21e66d4802e7 100644 --- a/tools/boilerplate.py +++ b/tools/boilerplate.py @@ -44,19 +44,7 @@ @_autogen_docstring(Axes.%(func)s) def %(func)s(%(argspec)s): %(ax)s = gca() - # Deprecated: allow callers to override the hold state - # by passing hold=True|False - %(washold)s = %(ax)s._hold -%(sethold)s - if hold is not None: - %(ax)s._hold = hold - from matplotlib.cbook import mplDeprecation - warnings.warn("The 'hold' keyword argument is deprecated since 2.0.", - mplDeprecation) - try: - %(ret)s = %(ax)s.%(func)s(%(call)s) - finally: - %(ax)s._hold = %(washold)s + %(ret)s = %(ax)s.%(func)s(%(call)s) %(mappable)s return %(ret)s """ @@ -268,19 +256,9 @@ def format_value(value): join_with = '\n' + ' ' * (18 + len(func)) call = join_with.join(text_wrapper.wrap(call)) - # Add a hold keyword argument if needed (fmt is PLOT_TEMPLATE) and - # possible (if *args is used, we can't just add a hold - # argument in front of it since it would gobble one of the - # arguments the user means to pass via *args) - if varargs: - sethold = " hold = %(varkw)s.pop('hold', None)" % locals() - elif fmt is PLOT_TEMPLATE: - args.append('hold') + if not varargs and fmt is PLOT_TEMPLATE and has_data: + args.append('data') defaults = defaults + (None,) - if has_data: - args.append('data') - defaults = defaults + (None,) - sethold = '' # Now we can build the argspec for defining the wrapper argspec = inspect.formatargspec(args, varargs, varkw, defaults, From 929e87c97ab892ae42e5f90041702e42e045743c Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Fri, 16 Feb 2018 23:00:24 +0000 Subject: [PATCH 0432/1161] Remove hold refs from axes doc --- doc/api/axes_api.rst | 2 -- 1 file changed, 2 deletions(-) diff --git a/doc/api/axes_api.rst b/doc/api/axes_api.rst index c7a363b08a1e..30deeec7e62b 100644 --- a/doc/api/axes_api.rst +++ b/doc/api/axes_api.rst @@ -652,8 +652,6 @@ Other Axes.get_default_bbox_extra_artists Axes.get_transformed_clip_path_and_affine Axes.has_data - Axes.hold - Axes.ishold Inheritance From cd743b4e6c7e15660870c7b73108e9969a5e7f29 Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Sun, 18 Feb 2018 11:08:22 +0000 Subject: [PATCH 0433/1161] Remove last (hopefully) _hold --- lib/matplotlib/tri/tripcolor.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/lib/matplotlib/tri/tripcolor.py b/lib/matplotlib/tri/tripcolor.py index 0fb36ae83e0f..d384a9d4808f 100644 --- a/lib/matplotlib/tri/tripcolor.py +++ b/lib/matplotlib/tri/tripcolor.py @@ -45,9 +45,6 @@ def tripcolor(ax, *args, **kwargs): The remaining kwargs are the same as for :meth:`~matplotlib.axes.Axes.pcolor`. """ - if not ax._hold: - ax.cla() - alpha = kwargs.pop('alpha', 1.0) norm = kwargs.pop('norm', None) cmap = kwargs.pop('cmap', None) From 34cb25147832ba83f3badb1f9b0a18c913e71f5f Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Tue, 20 Feb 2018 09:04:24 +0000 Subject: [PATCH 0434/1161] Add API notes --- doc/api/next_api_changes/2018-02-20-DS-hold.rst | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 doc/api/next_api_changes/2018-02-20-DS-hold.rst diff --git a/doc/api/next_api_changes/2018-02-20-DS-hold.rst b/doc/api/next_api_changes/2018-02-20-DS-hold.rst new file mode 100644 index 000000000000..6e75643adf7b --- /dev/null +++ b/doc/api/next_api_changes/2018-02-20-DS-hold.rst @@ -0,0 +1,7 @@ +Hold machinery removed +---------------------- + +Setting or unsetting ``hold`` (deprecated in version 2.1) has now +been completely removed. Matplotlib now always behaves as if ``hold=True``. +To clear an axes you can manually use :meth:`~.axes.Axes.cla()`, +or to clear an entire figure use :meth:`~.figure.Figure.clf()`. From d5a39f44254470e1cbd8ad37c202899d20f8532a Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Wed, 28 Mar 2018 00:36:24 -0700 Subject: [PATCH 0435/1161] Make draggable callbacks check that artist has not been removed. --- lib/matplotlib/offsetbox.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/lib/matplotlib/offsetbox.py b/lib/matplotlib/offsetbox.py index 613b3e449178..edc10750d361 100644 --- a/lib/matplotlib/offsetbox.py +++ b/lib/matplotlib/offsetbox.py @@ -1615,8 +1615,8 @@ def finalize_offset(self): *update_offset* places the artists simply in display coordinates. And *finalize_offset* recalculate their position in the normalized axes coordinate and set a relavant attribute. - """ + def __init__(self, ref_artist, use_blit=False): self.ref_artist = ref_artist self.got_artist = False @@ -1631,14 +1631,14 @@ def __init__(self, ref_artist, use_blit=False): self.cids = [c2, c3] def on_motion(self, evt): - if self.got_artist: + if self._check_still_parented() and self.got_artist: dx = evt.x - self.mouse_x dy = evt.y - self.mouse_y self.update_offset(dx, dy) self.canvas.draw() def on_motion_blit(self, evt): - if self.got_artist: + if self._check_still_parented() and self.got_artist: dx = evt.x - self.mouse_x dy = evt.y - self.mouse_y self.update_offset(dx, dy) @@ -1647,7 +1647,7 @@ def on_motion_blit(self, evt): self.canvas.blit(self.ref_artist.figure.bbox) def on_pick(self, evt): - if evt.artist == self.ref_artist: + if self._check_still_parented() and evt.artist == self.ref_artist: self.mouse_x = evt.mouseevent.x self.mouse_y = evt.mouseevent.y @@ -1668,7 +1668,7 @@ def on_pick(self, evt): self.save_offset() def on_release(self, event): - if self.got_artist: + if self._check_still_parented() and self.got_artist: self.finalize_offset() self.got_artist = False self.canvas.mpl_disconnect(self._c1) @@ -1676,6 +1676,13 @@ def on_release(self, event): if self._use_blit: self.ref_artist.set_animated(False) + def _check_still_parented(self): + if self.ref_artist.figure is None: + self.disconnect() + return False + else: + return True + def disconnect(self): """disconnect the callbacks""" for cid in self.cids: From 3a5a5a45adc3523f3b454075d9d06755c1e8b60d Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Wed, 28 Mar 2018 01:09:23 +0200 Subject: [PATCH 0436/1161] Update cycler docstrings and favor kwarg over two-args form --- doc/conf.py | 3 ++- examples/api/filled_step.py | 4 +-- examples/color/color_cycler.py | 12 ++++++--- .../markevery_prop_cycle.py | 9 ++----- lib/matplotlib/axes/_base.py | 25 ++++++++++++------- lib/matplotlib/rcsetup.py | 21 ++++++++-------- lib/matplotlib/stackplot.py | 3 +-- tutorials/intermediate/color_cycle.py | 10 ++++---- 8 files changed, 47 insertions(+), 40 deletions(-) diff --git a/doc/conf.py b/doc/conf.py index d011a25fc6ea..59a0a0080760 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -87,7 +87,8 @@ def _check_deps(): 'python': ('https://docs.python.org/3', None), 'numpy': ('https://docs.scipy.org/doc/numpy/', None), 'scipy': ('https://docs.scipy.org/doc/scipy/reference/', None), - 'pandas': ('https://pandas.pydata.org/pandas-docs/stable', None) + 'pandas': ('https://pandas.pydata.org/pandas-docs/stable', None), + 'cycler': ('https://matplotlib.org/cycler', None), } explicit_order_folders = [ diff --git a/examples/api/filled_step.py b/examples/api/filled_step.py index ea12ae343dd5..48eee0c3cf4e 100644 --- a/examples/api/filled_step.py +++ b/examples/api/filled_step.py @@ -180,8 +180,8 @@ def stack_hist(ax, stacked_data, sty_cycle, bottoms=None, # set up style cycles color_cycle = cycler(facecolor=plt.rcParams['axes.prop_cycle'][:4]) -label_cycle = cycler('label', ['set {n}'.format(n=n) for n in range(4)]) -hatch_cycle = cycler('hatch', ['/', '*', '+', '|']) +label_cycle = cycler(label=['set {n}'.format(n=n) for n in range(4)]) +hatch_cycle = cycler(hatch=['/', '*', '+', '|']) # Fixing random state for reproducibility np.random.seed(19680801) diff --git a/examples/color/color_cycler.py b/examples/color/color_cycler.py index cec1b278c886..b1f64c794b95 100644 --- a/examples/color/color_cycler.py +++ b/examples/color/color_cycler.py @@ -24,15 +24,19 @@ # 1. Setting prop cycle on default rc parameter plt.rc('lines', linewidth=4) -plt.rc('axes', prop_cycle=(cycler('color', ['r', 'g', 'b', 'y']) + - cycler('linestyle', ['-', '--', ':', '-.']))) +plt.rc('axes', prop_cycle=(cycler(color=['r', 'g', 'b', 'y']) + + cycler(linestyle=['-', '--', ':', '-.']))) fig, (ax0, ax1) = plt.subplots(nrows=2) ax0.plot(yy) ax0.set_title('Set default color cycle to rgby') # 2. Define prop cycle for single set of axes -ax1.set_prop_cycle(cycler('color', ['c', 'm', 'y', 'k']) + - cycler('lw', [1, 2, 3, 4])) +# For the most general use-case, you can provide a cycler to +# `.set_prop_cycle`. +# Here, we use the convenient shortcut that we can alternatively pass +# one or more properties as keyword arguements. This creates and sets +# a cycler iterating simultaneously over all properties. +ax1.set_prop_cycle(color=['c', 'm', 'y', 'k'], lw=[1, 2, 3, 4]) ax1.plot(yy) ax1.set_title('Set axes color cycle to cmyk') diff --git a/examples/lines_bars_and_markers/markevery_prop_cycle.py b/examples/lines_bars_and_markers/markevery_prop_cycle.py index e680ab2a0d98..70a7c8f52641 100644 --- a/examples/lines_bars_and_markers/markevery_prop_cycle.py +++ b/examples/lines_bars_and_markers/markevery_prop_cycle.py @@ -41,13 +41,8 @@ '#17becf', '#1a55FF'] -# Create two different cyclers to use with axes.prop_cycle -markevery_cycler = cycler(markevery=cases) -color_cycler = cycler('color', colors) - -# Configure rcParams axes.prop_cycle with custom cycler -custom_cycler = color_cycler + markevery_cycler -mpl.rcParams['axes.prop_cycle'] = custom_cycler +# Configure rcParams axes.prop_cycle to simultaneously cycle cases and colors. +mpl.rcParams['axes.prop_cycle'] = cycler(markevery=cases, color=colors) # Create data points and offsets x = np.linspace(0, 2 * np.pi) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 7a27b77f7b15..bdd93900c382 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -1158,16 +1158,22 @@ def set_prop_cycle(self, *args, **kwargs): Call signatures:: set_prop_cycle(cycler) - set_prop_cycle(label, values) set_prop_cycle(label=values[, label2=values2[, ...]]) + set_prop_cycle(label, values) - Form 1 simply sets given `Cycler` object. + Form 1 sets given `~cycler.Cycler` object. - Form 2 creates and sets a `Cycler` from a label and an iterable. + Form 2 creates a `~cycler.Cycler` which cycles over one or more + properties simultaneously and set it as the property cycle of the + axes. If multiple properties are given, their value lists must have + the same length. This is just a shortcut for explicitly creating a + cycler and passing it to the function, i.e. it's short for + ``set_prop_cycle(cycler(label=values label2=values2, ...))``. - Form 3 composes and sets a `Cycler` as an inner product of the - pairs of keyword arguments. In other words, all of the - iterables are cycled simultaneously, as if through zip(). + Form 3 creates a `~cycler.Cycler` for a single property and set it + as the property cycle of the axes. This form exists for compatibility + with the original `cycler.cycler` interface. Its use is discouraged + in favor of the kwarg form, i.e. ``set_prop_cycle(label=values)``. Parameters ---------- @@ -1188,8 +1194,7 @@ def set_prop_cycle(self, *args, **kwargs): -------- Setting the property cycle for a single property: - >>> ax.set_prop_cycle(color=['red', 'green', 'blue']) # or - >>> ax.set_prop_cycle('color', ['red', 'green', 'blue']) + >>> ax.set_prop_cycle(color=['red', 'green', 'blue']) Setting the property cycle for simultaneously cycling over multiple properties (e.g. red circle, green plus, blue cross): @@ -1200,7 +1205,9 @@ def set_prop_cycle(self, *args, **kwargs): See Also -------- matplotlib.rcsetup.cycler - Convenience function for creating your own cyclers. + Convenience function for creating validated cyclers for properties. + cycler.cycler + The original function for creating unvalidated cyclers. """ if args and kwargs: diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index 6b650febdd7c..3ea6ad210db1 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -744,22 +744,24 @@ def validate_hatch(s): def cycler(*args, **kwargs): """ - Creates a :class:`cycler.Cycler` object much like :func:`cycler.cycler`, + Creates a `~cycler.Cycler` object much like :func:`cycler.cycler`, but includes input validation. Call signatures:: cycler(cycler) - cycler(label, values) cycler(label=values[, label2=values2[, ...]]) + cycler(label, values) - Form 1 simply copies a given `Cycler` object. + Form 1 copies a given `~cycler.Cycler` object. - Form 2 creates a `Cycler` from a label and an iterable. + Form 2 creates a `~cycler.Cycler` which cycles over one or more + properties simultaneously. If multiple properties are given, their + value lists must have the same length. - Form 3 composes a `Cycler` as an inner product of the - pairs of keyword arguments. In other words, all of the - iterables are cycled simultaneously, as if through zip(). + Form 3 creates a `~cycler.Cycler` for a single property. This form + exists for compatibility with the original cycler. Its use is + discouraged in favor of the kwarg form, i.e. ``cycler(label=values)``. Parameters ---------- @@ -778,14 +780,13 @@ def cycler(*args, **kwargs): Returns ------- cycler : Cycler - New :class:`cycler.Cycler` for the given properties + A new :class:`~cycler.Cycler` for the given properties. Examples -------- Creating a cycler for a single property: - >>> c = cycler(color=['red', 'green', 'blue']) # or - >>> c = cycler('color', ['red', 'green', 'blue']) + >>> c = cycler(color=['red', 'green', 'blue']) Creating a cycler for simultaneously cycling over multiple properties (e.g. red circle, green plus, blue cross): diff --git a/lib/matplotlib/stackplot.py b/lib/matplotlib/stackplot.py index 6fbd2af7493d..982200aab82a 100644 --- a/lib/matplotlib/stackplot.py +++ b/lib/matplotlib/stackplot.py @@ -9,7 +9,6 @@ from __future__ import (absolute_import, division, print_function, unicode_literals) -from cycler import cycler import numpy as np __all__ = ['stackplot'] @@ -66,7 +65,7 @@ def stackplot(axes, x, *args, **kwargs): colors = kwargs.pop('colors', None) if colors is not None: - axes.set_prop_cycle(cycler('color', colors)) + axes.set_prop_cycle(color=colors) baseline = kwargs.pop('baseline', 'zero') # Assume data passed has not been 'stacked', so stack it here. diff --git a/tutorials/intermediate/color_cycle.py b/tutorials/intermediate/color_cycle.py index ba463ade6bf9..7a2e55ffd389 100644 --- a/tutorials/intermediate/color_cycle.py +++ b/tutorials/intermediate/color_cycle.py @@ -39,8 +39,8 @@ # cycler and a linestyle cycler by adding (``+``) two ``cycler``'s together. # See the bottom of this tutorial for more information about combining # different cyclers. -default_cycler = cycler('color', ['r', 'g', 'b', 'y']) \ - + cycler('linestyle', ['-', '--', ':', '-.']) +default_cycler = (cycler(color=['r', 'g', 'b', 'y']) + + cycler(linestyle=['-', '--', ':', '-.'])) plt.rc('lines', linewidth=4) plt.rc('axes', prop_cycle=default_cycler) @@ -52,8 +52,8 @@ # which will only set the ``prop_cycle`` for this :mod:`matplotlib.axes.Axes` # instance. We'll use a second ``cycler`` that combines a color cycler and a # linewidth cycler. -custom_cycler = cycler('color', ['c', 'm', 'y', 'k']) \ - + cycler('lw', [1, 2, 3, 4]) +custom_cycler = (cycler(color=['c', 'm', 'y', 'k']) + + cycler(lw=[1, 2, 3, 4])) fig, (ax0, ax1) = plt.subplots(nrows=2) ax0.plot(yy) @@ -76,7 +76,7 @@ # # ..code-block:: python # -# axes.prop_cycle : cycler('color', 'bgrcmyk') +# axes.prop_cycle : cycler(color='bgrcmyk') # # Cycling through multiple properties # ----------------------------------- From bc32dc4909decefcbac3e13da12367bdb0f26e95 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Wed, 28 Mar 2018 10:41:30 -0700 Subject: [PATCH 0437/1161] FIX: return proper legend window extent --- lib/matplotlib/legend.py | 2 +- lib/matplotlib/tests/test_legend.py | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/legend.py b/lib/matplotlib/legend.py index 9094dc5a1bf2..39ffbcc737ba 100644 --- a/lib/matplotlib/legend.py +++ b/lib/matplotlib/legend.py @@ -952,7 +952,7 @@ def get_title(self): def get_window_extent(self, *args, **kwargs): 'Return extent of the legend.' - return self.legendPatch.get_window_extent(*args, **kwargs) + return self._legend_box.get_window_extent(*args, **kwargs) def get_frame_on(self): """Get whether the legend box patch is drawn.""" diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py index 830fe798c44c..1ec2eb55d21f 100644 --- a/lib/matplotlib/tests/test_legend.py +++ b/lib/matplotlib/tests/test_legend.py @@ -488,3 +488,18 @@ def test_legend_title_empty(): leg = ax.legend() assert leg.get_title().get_text() == "" assert leg.get_title().get_visible() is False + + +def test_legend_proper_window_extent(): + # test that legend returns the expected extent under various dpi... + fig, ax = plt.subplots(dpi=100) + ax.plot(range(10), label='Aardvark') + leg = ax.legend() + x0 = leg.get_window_extent(fig.canvas.get_renderer()).x0 + assert pytest.approx(x0, 0.01) == 1094.375 + + fig, ax = plt.subplots(dpi=200) + ax.plot(range(10), label='Aardvark') + leg = ax.legend() + x0 = leg.get_window_extent(fig.canvas.get_renderer()).x0 + assert pytest.approx(x0, 0.01) == 2189.015625 From 56905032ce21dff3502f4ef43c86bdbea5a0f7ff Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Mon, 26 Mar 2018 17:14:48 -0700 Subject: [PATCH 0438/1161] Move GTK3 setupext checks to within the process. Now that we don't support GTK2, there is no need to run the checks in a separate process anymore (gtk3, pyqt5, tk, and wx can all be imported into the same process). A cairo binding is also a dependency for gtk3agg, so the checks for gtk3agg and gtk3cairo should be literally identical. --- setupext.py | 153 +++++++++------------------------------------------- 1 file changed, 24 insertions(+), 129 deletions(-) diff --git a/setupext.py b/setupext.py index e57f1d9b0333..d3d0e13cbcce 100644 --- a/setupext.py +++ b/setupext.py @@ -1390,13 +1390,8 @@ def check(self): return "installing; run-time loading from Python Tcl / Tk" def runtime_check(self): - """ Checks whether TkAgg runtime dependencies are met - """ - try: - import tkinter - except ImportError: - return False - return True + """Checks whether TkAgg runtime dependencies are met.""" + return importlib.util.find_spec("tkinter") is not None def get_extension(self): sources = [ @@ -1417,144 +1412,44 @@ def add_flags(self, ext): ext.libraries.extend(['dl']) -def backend_gtk3agg_internal_check(x): - try: - import gi - except ImportError: - return (False, "Requires pygobject to be installed.") - - try: - gi.require_version("Gtk", "3.0") - except ValueError: - return (False, "Requires gtk3 development files to be installed.") - except AttributeError: - return (False, "pygobject version too old.") - - try: - from gi.repository import Gtk, Gdk, GObject - except (ImportError, RuntimeError): - return (False, "Requires pygobject to be installed.") - - return (True, "version %s.%s.%s" % ( - Gtk.get_major_version(), - Gtk.get_micro_version(), - Gtk.get_minor_version())) - - class BackendGtk3Agg(OptionalBackendPackage): name = "gtk3agg" def check_requirements(self): - if 'TRAVIS' in os.environ: - raise CheckFailed("Can't build with Travis") + if not any(map(importlib.util.find_spec, ["cairocffi", "cairo"])): + raise CheckFailed("Requires cairocffi or pycairo to be installed.") - # This check needs to be performed out-of-process, because - # importing gi and then importing regular old pygtk afterward - # segfaults the interpreter. try: - p = multiprocessing.Pool() - except: - return "unknown (can not use multiprocessing to determine)" - try: - res = p.map_async(backend_gtk3agg_internal_check, [0]) - success, msg = res.get(timeout=10)[0] - except multiprocessing.TimeoutError: - p.terminate() - # No result returned. Probably hanging, terminate the process. - success = False - raise CheckFailed("Check timed out") - except: - p.close() - # Some other error. - success = False - msg = "Could not determine" - raise - else: - p.close() - finally: - p.join() - - if success: - return msg - else: - raise CheckFailed(msg) - - def get_package_data(self): - return {'matplotlib': ['mpl-data/*.glade']} - - -def backend_gtk3cairo_internal_check(x): - try: - import cairocffi - except ImportError: - try: - import cairo + import gi except ImportError: - return (False, "Requires cairocffi or pycairo to be installed.") - - try: - import gi - except ImportError: - return (False, "Requires pygobject to be installed.") - - try: - gi.require_version("Gtk", "3.0") - except ValueError: - return (False, "Requires gtk3 development files to be installed.") - except AttributeError: - return (False, "pygobject version too old.") - - try: - from gi.repository import Gtk, Gdk, GObject - except (RuntimeError, ImportError): - return (False, "Requires pygobject to be installed.") - - return (True, "version %s.%s.%s" % ( - Gtk.get_major_version(), - Gtk.get_micro_version(), - Gtk.get_minor_version())) - - -class BackendGtk3Cairo(OptionalBackendPackage): - name = "gtk3cairo" + raise CheckFailed("Requires pygobject to be installed.") - def check_requirements(self): - if 'TRAVIS' in os.environ: - raise CheckFailed("Can't build with Travis") - - # This check needs to be performed out-of-process, because - # importing gi and then importing regular old pygtk afterward - # segfaults the interpreter. try: - p = multiprocessing.Pool() - except: - return "unknown (can not use multiprocessing to determine)" + gi.require_version("Gtk", "3.0") + except ValueError: + raise CheckFailed( + "Requires gtk3 development files to be installed.") + except AttributeError: + raise CheckFailed("pygobject version too old.") + try: - res = p.map_async(backend_gtk3cairo_internal_check, [0]) - success, msg = res.get(timeout=10)[0] - except multiprocessing.TimeoutError: - p.terminate() - # No result returned. Probably hanging, terminate the process. - success = False - raise CheckFailed("Check timed out") - except: - p.close() - success = False - raise - else: - p.close() - finally: - p.join() + from gi.repository import Gtk, Gdk, GObject + except (ImportError, RuntimeError): + raise CheckFailed("Requires pygobject to be installed.") - if success: - return msg - else: - raise CheckFailed(msg) + return "version {}.{}.{}".format( + Gtk.get_major_version(), + Gtk.get_minor_version(), + Gtk.get_micro_version()) def get_package_data(self): return {'matplotlib': ['mpl-data/*.glade']} +class BackendGtk3Cairo(BackendGtk3Agg): + name = "gtk3cairo" + + class BackendWxAgg(OptionalBackendPackage): name = "wxagg" From f74582a91c18fba2c042e3a1f60e18c1a981e8e1 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Wed, 28 Mar 2018 02:25:05 +0200 Subject: [PATCH 0439/1161] Improve docstring of clabel() --- lib/matplotlib/contour.py | 42 ++++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/lib/matplotlib/contour.py b/lib/matplotlib/contour.py index 409786159836..6bf956e73dbe 100644 --- a/lib/matplotlib/contour.py +++ b/lib/matplotlib/contour.py @@ -57,36 +57,37 @@ def clabel(self, *args, **kwargs): Call signature:: - clabel(cs, **kwargs) + clabel(cs, [levels,] **kwargs) Adds labels to line contours in *cs*, where *cs* is a :class:`~matplotlib.contour.ContourSet` object returned by - contour. - - :: - - clabel(cs, v, **kwargs) - - only labels contours listed in *v*. + ``contour()``. Parameters ---------- + cs : `.ContourSet` + The ContourSet to label. + + levels : array-like, optional + A list of level values, that should be labeled. The list must be + a subset of ``cs.levels``. If not given, all levels are labeled. + fontsize : string or float, optional Size in points or relative size e.g., 'smaller', 'x-large'. - See `Text.set_size` for accepted string values. + See `.Text.set_size` for accepted string values. - colors : - Color of each label + colors : color-spec, optional + The label colors: - - if *None*, the color of each label matches the color of - the corresponding contour + - If *None*, the color of each label matches the color of + the corresponding contour. - - if one string color, e.g., *colors* = 'r' or *colors* = - 'red', all labels will be plotted in this color + - If one string color, e.g., *colors* = 'r' or *colors* = + 'red', all labels will be plotted in this color. - - if a tuple of matplotlib color args (string, float, rgb, etc), + - If a tuple of matplotlib color args (string, float, rgb, etc), different labels will be plotted in different colors in the order - specified + specified. inline : bool, optional If ``True`` the underlying contour is removed where the label is @@ -128,10 +129,15 @@ def clabel(self, *args, **kwargs): or minus 90 degrees from level. Default is ``True``. use_clabeltext : bool, optional - If ``True``, `ClabelText` class (instead of `Text`) is used to + If ``True``, `.ClabelText` class (instead of `.Text`) is used to create labels. `ClabelText` recalculates rotation angles of texts during the drawing time, therefore this can be used if aspect of the axes changes. Default is ``False``. + + Returns + ------- + labels + A list of `.Text` instances for the labels. """ """ From f77735b1b4cfbab04261f3b0b86d354ec6abcd7c Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Tue, 27 Mar 2018 18:47:14 -0700 Subject: [PATCH 0440/1161] Deprecate ImageComparisonTest. It's a weird leftover at that point that tries to set up a nose test class but uses pytest markers (via e.g. _checked_on_freetype_version, which uses _knownfailureif, which itself unconditionally relies on pytest) -- basically, it can't actually be used for nose-based testing unless nose somehow learns to interpret pytest markers. A (fairly trivial...) PR has been opened on pytest-mpl to fix their use. --- doc/api/next_api_changes/2018-02-15-AL-deprecations.rst | 5 +++-- lib/matplotlib/testing/decorators.py | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst index 3597544560b7..e41e8957a48b 100644 --- a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst +++ b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst @@ -11,7 +11,7 @@ The following modules are deprecated: The following classes, methods, functions, and attributes are deprecated: - ``afm.parse_afm``, -- ``Annotation.arrow``, +- ``backend_wx.FigureCanvasWx.macros``, - ``cbook.GetRealpathAndStat``, ``cbook.Locked``, - ``cbook.is_numlike`` (use ``isinstance(..., numbers.Number)`` instead), ``cbook.listFiles``, ``cbook.unicode_safe`` @@ -19,8 +19,9 @@ The following classes, methods, functions, and attributes are deprecated: - ``dates.DateFormatter.strftime_pre_1900``, ``dates.DateFormatter.strftime``, - ``font_manager.TempCache``, - ``mathtext.unichr_safe`` (use ``chr`` instead), -- ``FigureCanvasWx.macros``, +- ``testing.ImageComparisonTest``, - ``texmanager.dvipng_hack_alpha``, +- ``text.Annotation.arrow``, The following rcParams are deprecated: - ``pgf.debug`` (the pgf backend relies on logging), diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py index 02adda55d508..df80c150d353 100644 --- a/lib/matplotlib/testing/decorators.py +++ b/lib/matplotlib/testing/decorators.py @@ -251,6 +251,7 @@ def compare(self, idx, baseline, extension): _raise_on_image_difference(expected_fname, actual_fname, self.tol) +@cbook.deprecated("3.0") class ImageComparisonTest(CleanupTest, _ImageComparisonBase): """ Nose-based image comparison class From 9a03a2d4ae8aec10015c9517b8c7b1f014b6edb4 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Wed, 28 Mar 2018 11:21:16 -0700 Subject: [PATCH 0441/1161] TST: check that size changes --- lib/matplotlib/tests/test_legend.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py index 1ec2eb55d21f..9aaf5dc27970 100644 --- a/lib/matplotlib/tests/test_legend.py +++ b/lib/matplotlib/tests/test_legend.py @@ -495,11 +495,10 @@ def test_legend_proper_window_extent(): fig, ax = plt.subplots(dpi=100) ax.plot(range(10), label='Aardvark') leg = ax.legend() - x0 = leg.get_window_extent(fig.canvas.get_renderer()).x0 - assert pytest.approx(x0, 0.01) == 1094.375 + x01 = leg.get_window_extent(fig.canvas.get_renderer()).x0 fig, ax = plt.subplots(dpi=200) ax.plot(range(10), label='Aardvark') leg = ax.legend() - x0 = leg.get_window_extent(fig.canvas.get_renderer()).x0 - assert pytest.approx(x0, 0.01) == 2189.015625 + x02 = leg.get_window_extent(fig.canvas.get_renderer()).x0 + assert pytest.approx(x01*2, 0.1) == x02 From b14376dc4fa021079c4ec17cf87e46053e1bde47 Mon Sep 17 00:00:00 2001 From: Cody Scot <cody.j.b.scott@gmail.com> Date: Wed, 28 Mar 2018 17:16:06 -0400 Subject: [PATCH 0442/1161] remove unused matplotlib.testing import --- lib/matplotlib/rcsetup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index 6b650febdd7c..12d55f6a8841 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -24,7 +24,7 @@ import warnings import re -from matplotlib import cbook, testing +from matplotlib import cbook from matplotlib.cbook import mplDeprecation, deprecated, ls_mapper from matplotlib.fontconfig_pattern import parse_fontconfig_pattern from matplotlib.colors import is_color_like From 5be3c6df52e412b6b0c937c997ab770a3a9cd27c Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Wed, 28 Mar 2018 14:40:37 -0700 Subject: [PATCH 0443/1161] Rely a bit more on rc_context. --- lib/matplotlib/style/core.py | 9 ++--- lib/matplotlib/tests/test_backend_pgf.py | 42 +++++++++++------------- 2 files changed, 22 insertions(+), 29 deletions(-) diff --git a/lib/matplotlib/style/core.py b/lib/matplotlib/style/core.py index 2a836721882b..650f80e6cb47 100644 --- a/lib/matplotlib/style/core.py +++ b/lib/matplotlib/style/core.py @@ -136,14 +136,11 @@ def context(style, after_reset=False): If True, apply style after resetting settings to their defaults; otherwise, apply style on top of the current settings. """ - initial_settings = mpl.rcParams.copy() - if after_reset: - mpl.rcdefaults() - try: + with mpl.rc_context(): + if after_reset: + mpl.rcdefaults() use(style) yield - finally: - mpl.rcParams.update(initial_settings) def load_base_library(): diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py index 1a3d943cf3da..1bc49b056eed 100644 --- a/lib/matplotlib/tests/test_backend_pgf.py +++ b/lib/matplotlib/tests/test_backend_pgf.py @@ -117,30 +117,26 @@ def test_pdflatex(): @pytest.mark.style('default') @pytest.mark.backend('pgf') def test_rcupdate(): - rc_sets = [] - rc_sets.append({'font.family': 'sans-serif', - 'font.size': 30, - 'figure.subplot.left': .2, - 'lines.markersize': 10, - 'pgf.rcfonts': False, - 'pgf.texsystem': 'xelatex'}) - rc_sets.append({'font.family': 'monospace', - 'font.size': 10, - 'figure.subplot.left': .1, - 'lines.markersize': 20, - 'pgf.rcfonts': False, - 'pgf.texsystem': 'pdflatex', - 'pgf.preamble': ['\\usepackage[utf8x]{inputenc}', - '\\usepackage[T1]{fontenc}', - '\\usepackage{sfmath}']}) - tol = (6, 0) - original_params = mpl.rcParams.copy() + rc_sets = [{'font.family': 'sans-serif', + 'font.size': 30, + 'figure.subplot.left': .2, + 'lines.markersize': 10, + 'pgf.rcfonts': False, + 'pgf.texsystem': 'xelatex'}, + {'font.family': 'monospace', + 'font.size': 10, + 'figure.subplot.left': .1, + 'lines.markersize': 20, + 'pgf.rcfonts': False, + 'pgf.texsystem': 'pdflatex', + 'pgf.preamble': ['\\usepackage[utf8x]{inputenc}', + '\\usepackage[T1]{fontenc}', + '\\usepackage{sfmath}']}] + tol = [6, 0] for i, rc_set in enumerate(rc_sets): - mpl.rcParams.clear() - mpl.rcParams.update(original_params) - mpl.rcParams.update(rc_set) - create_figure() - compare_figure('pgf_rcupdate%d.pdf' % (i + 1), tol=tol[i]) + with mpl.rc_context(rc_set): + create_figure() + compare_figure('pgf_rcupdate%d.pdf' % (i + 1), tol=tol[i]) # test backend-side clipping, since large numbers are not supported by TeX From 491c388010f0281b7fab8751bd5d72f8e38e2d74 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Wed, 28 Mar 2018 20:55:48 -0700 Subject: [PATCH 0444/1161] FIX: tight_layout having negative width axes --- lib/matplotlib/tight_layout.py | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/tight_layout.py b/lib/matplotlib/tight_layout.py index 1c4ea66e5c9b..f82ec5187df7 100644 --- a/lib/matplotlib/tight_layout.py +++ b/lib/matplotlib/tight_layout.py @@ -171,25 +171,40 @@ def auto_adjust_subplotpars( margin_bottom = max([sum(s) for s in vspaces[-cols:]] + [0]) margin_bottom += pad_inches / fig_height_inch + if margin_left + margin_right >= 1: + margin_left = 0.4999 + margin_right = 0.4999 + warnings.warn('The left and right margins cannot be made large ' + 'enough to accomodate all axes decorations. ') kwargs = dict(left=margin_left, right=1 - margin_right, bottom=margin_bottom, top=1 - margin_top) - if cols > 1: hspace = ( max(sum(s) for i in range(rows) for s in hspaces[i * (cols + 1) + 1:(i + 1) * (cols + 1) - 1]) + hpad_inches / fig_width_inch) + # axes widths: h_axes = (1 - margin_right - margin_left - hspace * (cols - 1)) / cols - kwargs["wspace"] = hspace / h_axes + if h_axes < 0.: + warnings.warn('tight_layout cannot make axes width small enough ' + 'to accomodate all axes decorations') + kwargs["wspace"] = 0.5 + else: + kwargs["wspace"] = hspace / h_axes if rows > 1: vspace = (max(sum(s) for s in vspaces[cols:-cols]) + vpad_inches / fig_height_inch) v_axes = (1 - margin_top - margin_bottom - vspace * (rows - 1)) / rows - kwargs["hspace"] = vspace / v_axes + if v_axes < 0: + warnings.warn('tight_layout cannot make axes height small enough ' + 'to accomodate all axes decorations') + kwargs["hspace"] = 0.5 + else: + kwargs["hspace"] = vspace / v_axes return kwargs From 898998c7f24a7b7aa930bc5e387061e05aa60b62 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Mon, 12 Feb 2018 12:45:40 +0100 Subject: [PATCH 0445/1161] Pathlibify font_manager (only internally, doesn't change the API). --- lib/matplotlib/font_manager.py | 81 +++++++---------------- lib/matplotlib/tests/test_font_manager.py | 13 +--- 2 files changed, 25 insertions(+), 69 deletions(-) diff --git a/lib/matplotlib/font_manager.py b/lib/matplotlib/font_manager.py index e193167d86d7..d8ca42434399 100644 --- a/lib/matplotlib/font_manager.py +++ b/lib/matplotlib/font_manager.py @@ -34,13 +34,13 @@ from collections import Iterable from functools import lru_cache import json +import logging import os from pathlib import Path import subprocess import sys from threading import Timer import warnings -import logging from matplotlib import afm, cbook, ft2font, rcParams, get_cachedir from matplotlib.fontconfig_pattern import ( @@ -130,13 +130,8 @@ ] if not USE_FONTCONFIG and sys.platform != 'win32': - home = os.environ.get('HOME') - if home is not None: - # user fonts on OSX - path = os.path.join(home, 'Library', 'Fonts') - OSXFontDirectories.append(path) - path = os.path.join(home, '.fonts') - X11FontDirectories.append(path) + OSXFontDirectories.append(str(Path.home() / "Library/Fonts")) + X11FontDirectories.append(str(Path.home() / ".fonts")) def get_fontext_synonyms(fontext): @@ -161,26 +156,20 @@ def list_fonts(directory, extensions): def win32FontDirectory(): - """ + r""" Return the user-specified font directory for Win32. This is looked up from the registry key:: - \\\\HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders\\Fonts + \\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Fonts If the key is not found, $WINDIR/Fonts will be returned. """ import winreg try: - user = winreg.OpenKey(winreg.HKEY_CURRENT_USER, MSFolders) - try: + with winreg.OpenKey(winreg.HKEY_CURRENT_USER, MSFolders) as user: return winreg.QueryValueEx(user, 'Fonts')[0] - except OSError: - pass # Fall through to default - finally: - winreg.CloseKey(user) except OSError: - pass # Fall through to default - return os.path.join(os.environ['WINDIR'], 'Fonts') + return os.path.join(os.environ['WINDIR'], 'Fonts') def win32InstalledFonts(directory=None, fontext='ttf'): @@ -198,33 +187,23 @@ def win32InstalledFonts(directory=None, fontext='ttf'): fontext = get_fontext_synonyms(fontext) - key, items = None, set() + items = set() for fontdir in MSFontDirectories: try: - local = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, fontdir) - except OSError: - continue - if not local: - return list_fonts(directory, fontext) - try: - for j in range(winreg.QueryInfoKey(local)[1]): - try: + with winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, fontdir) as local: + for j in range(winreg.QueryInfoKey(local)[1]): key, direc, tp = winreg.EnumValue(local, j) if not isinstance(direc, str): continue # Work around for https://bugs.python.org/issue25778, which # is fixed in Py>=3.6.1. direc = direc.split("\0", 1)[0] - if not os.path.dirname(direc): - direc = os.path.join(directory, direc) - direc = os.path.abspath(direc).lower() - if os.path.splitext(direc)[1][1:] in fontext: - items.add(direc) - except (EnvironmentError, MemoryError, WindowsError): - continue - return list(items) - finally: - winreg.CloseKey(local) + path = Path(directory, direc).resolve() + if path.suffix.lower() in fontext: + items.add(str(path)) + return list(items) + except (OSError, MemoryError): + continue return None @@ -261,7 +240,7 @@ def get_fontconfig_fonts(fontext='ttf'): """ fontext = get_fontext_synonyms(fontext) return [fname for fname in _call_fc_list() - if os.path.splitext(fname)[1][1:] in fontext] + if Path(fname).suffix[1:] in fontext] def findSystemFonts(fontpaths=None, fontext='ttf'): @@ -277,31 +256,21 @@ def findSystemFonts(fontpaths=None, fontext='ttf'): if fontpaths is None: if sys.platform == 'win32': - fontdir = win32FontDirectory() - - fontpaths = [fontdir] + fontpaths = [win32FontDirectory()] # now get all installed fonts directly... - for f in win32InstalledFonts(fontdir): - base, ext = os.path.splitext(f) - if len(ext)>1 and ext[1:].lower() in fontexts: - fontfiles.add(f) + fontfiles.update(win32InstalledFonts(fontext=fontext)) else: fontpaths = X11FontDirectories + fontfiles.update(get_fontconfig_fonts(fontext)) # check for OS X & load its fonts if present if sys.platform == 'darwin': - for f in OSXInstalledFonts(fontext=fontext): - fontfiles.add(f) - - for f in get_fontconfig_fonts(fontext): - fontfiles.add(f) + fontfiles.update(OSXInstalledFonts(fontext=fontext)) elif isinstance(fontpaths, str): fontpaths = [fontpaths] for path in fontpaths: - files = list_fonts(path, fontexts) - for fname in files: - fontfiles.add(os.path.abspath(fname)) + fontfiles.update(map(os.path.abspath, list_fonts(path, fontexts))) return [fname for fname in fontfiles if os.path.exists(fname)] @@ -1225,16 +1194,12 @@ def _findfont_cached(self, prop, fontext, directory, fallback_to_default, else: fontlist = self.ttflist - if directory is not None: - directory = os.path.normcase(directory) - best_score = 1e64 best_font = None for font in fontlist: if (directory is not None and - os.path.commonprefix([os.path.normcase(font.fname), - directory]) != directory): + Path(directory) not in Path(font.fname).parents): continue # Matching family should have highest priority, so it is multiplied # by 10.0 diff --git a/lib/matplotlib/tests/test_font_manager.py b/lib/matplotlib/tests/test_font_manager.py index 56436cc392f4..84186c0f176a 100644 --- a/lib/matplotlib/tests/test_font_manager.py +++ b/lib/matplotlib/tests/test_font_manager.py @@ -1,8 +1,5 @@ -from __future__ import absolute_import, division, print_function - -import six - import os +import shutil import tempfile import warnings @@ -14,13 +11,7 @@ get_fontconfig_fonts, is_opentype_cff_font, fontManager as fm) from matplotlib import rc_context -if six.PY2: - from distutils.spawn import find_executable - has_fclist = find_executable('fc-list') is not None -else: - # py >= 3.3 - from shutil import which - has_fclist = which('fc-list') is not None +has_fclist = shutil.which('fc-list') is not None def test_font_priority(): From 63de4ed9ededac4970ed349289fd8d851e7b57a3 Mon Sep 17 00:00:00 2001 From: 816-8055 <816_8055@online.de> Date: Thu, 29 Mar 2018 16:59:38 +0200 Subject: [PATCH 0446/1161] FIX: Toolbar disappears in TkAgg if window if resized Should solve #6781 When toolbar is "packed" before canvas, it doesn't disappear when the window is resized. --- lib/matplotlib/backends/_backend_tk.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/backends/_backend_tk.py b/lib/matplotlib/backends/_backend_tk.py index 968fe48a6efd..b54c7ef302c9 100644 --- a/lib/matplotlib/backends/_backend_tk.py +++ b/lib/matplotlib/backends/_backend_tk.py @@ -473,11 +473,11 @@ def __init__(self, canvas, num, window): self.window.withdraw() self.set_window_title("Figure %d" % num) self.canvas = canvas + self.toolbar = self._get_toolbar() self.canvas._tkcanvas.pack(side=Tk.TOP, fill=Tk.BOTH, expand=1) self._num = num self.toolmanager = self._get_toolmanager() - self.toolbar = self._get_toolbar() self.statusbar = None if self.toolmanager: From 40862c644cf1a8cd78e3c93aa78021a3caca7aff Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade <quantum.analyst@gmail.com> Date: Thu, 29 Mar 2018 23:59:08 -0400 Subject: [PATCH 0447/1161] Fix overflow when resizing path-to-string buffer. The int version of the buffer size was not updated when the buffer was resized. It's there to prevent a signed/unsigned comparison warning, but it's simpler just to cast the other side of the comparison. There's no problem with the signed-to-unsigned cast since we already know that the result is positive due to the previous check. Fixes #10889. --- src/_path.h | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/_path.h b/src/_path.h index 1663cf473901..81ba393043d8 100644 --- a/src/_path.h +++ b/src/_path.h @@ -1047,15 +1047,13 @@ void quad2cubic(double x0, double y0, char *__append_to_string(char *p, char **buffer, size_t *buffersize, const char *content) { - int buffersize_int = (int)*buffersize; - for (const char *i = content; *i; ++i) { if (p < *buffer) { /* This is just an internal error */ return NULL; } - if (p - *buffer >= buffersize_int) { - int diff = p - *buffer; + if ((size_t)(p - *buffer) >= *buffersize) { + ptrdiff_t diff = p - *buffer; *buffersize *= 2; *buffer = (char *)realloc(*buffer, *buffersize); if (*buffer == NULL) { From 4943487c4358deb68a1d01c12c226c0c68f9f0d2 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Fri, 30 Mar 2018 14:55:59 -0700 Subject: [PATCH 0448/1161] Some more removals of deprecated APIs. Note that plt.spectral already raises an exception as of 2.2 anyways (the underlying colormap has already been removed). --- doc/api/axes_api.rst | 1 - .../2018-02-18-AL-removals.rst | 5 ---- .../2018-02-26-AL-removals.rst | 6 ++--- lib/matplotlib/axes/_base.py | 18 -------------- lib/matplotlib/pyplot.py | 24 ------------------- lib/matplotlib/tests/test_cycles.py | 11 --------- tools/boilerplate.py | 21 ---------------- 7 files changed, 3 insertions(+), 83 deletions(-) delete mode 100644 doc/api/next_api_changes/2018-02-18-AL-removals.rst diff --git a/doc/api/axes_api.rst b/doc/api/axes_api.rst index 30deeec7e62b..cfa3231b3593 100644 --- a/doc/api/axes_api.rst +++ b/doc/api/axes_api.rst @@ -229,7 +229,6 @@ Property cycle :nosignatures: Axes.set_prop_cycle - Axes.set_color_cycle Axis / limits diff --git a/doc/api/next_api_changes/2018-02-18-AL-removals.rst b/doc/api/next_api_changes/2018-02-18-AL-removals.rst deleted file mode 100644 index 6b094027a927..000000000000 --- a/doc/api/next_api_changes/2018-02-18-AL-removals.rst +++ /dev/null @@ -1,5 +0,0 @@ -Removal of deprecated functions -``````````````````````````````` -The following previously deprecated functions have been removed: -- ``matplotlib.font_manager.ttfdict_to_fnames`` -- ``matplotlib.font_manager.weight_as_number`` diff --git a/doc/api/next_api_changes/2018-02-26-AL-removals.rst b/doc/api/next_api_changes/2018-02-26-AL-removals.rst index 7eb15dcd381e..eb2cd5defb6f 100644 --- a/doc/api/next_api_changes/2018-02-26-AL-removals.rst +++ b/doc/api/next_api_changes/2018-02-26-AL-removals.rst @@ -15,7 +15,7 @@ The following deprecated API elements have been removed: ``cbook.recursive_remove``, ``cbook.unmasked_index_ranges``, ``cbook.Null``, ``cbook.RingBuffer``, ``cbook.Sorter``, ``cbook.Xlator``, - ``font_manager.weight_as_number``, ``font_manager.ttfdict_to_fnames``, -- ``pyplot.colors``, +- ``pyplot.colors``, ``pyplot.spectral``, - ``rcsetup.validate_negative_linestyle``, ``rcsetup.validate_negative_linestyle_legacy``, - ``testing.compare.verifiers``, ``testing.compare.verify``, @@ -23,8 +23,8 @@ The following deprecated API elements have been removed: ``testing.decorators.ImageComparisonTest.remove_text``, - ``tests.assert_str_equal``, ``tests.test_tinypages.file_same``, - ``texmanager.dvipng_hack_alpha``, -- ``_AxesBase.axesPatch``, ``_AxesBase.get_cursor_props``, - ``_AxesBase.set_cursor_props``, +- ``_AxesBase.axesPatch``, ``_AxesBase.set_color_cycle``, + ``_AxesBase.get_cursor_props``, ``_AxesBase.set_cursor_props``, - ``_ImageBase.iterpnames``, - ``FigureCanvasBase.start_event_loop_default``; - ``FigureCanvasBase.stop_event_loop_default``; diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 7046f871841d..b771474c585b 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -1208,24 +1208,6 @@ def set_prop_cycle(self, *args, **kwargs): self._get_lines.set_prop_cycle(prop_cycle) self._get_patches_for_fill.set_prop_cycle(prop_cycle) - @cbook.deprecated('1.5', alternative='`.set_prop_cycle`') - def set_color_cycle(self, clist): - """ - Set the color cycle for any future plot commands on this Axes. - - Parameters - ---------- - clist - A list of mpl color specifiers. - """ - if clist is None: - # Calling set_color_cycle() or set_prop_cycle() with None - # effectively resets the cycle, but you can't do - # set_prop_cycle('color', None). So we are special-casing this. - self.set_prop_cycle(None) - else: - self.set_prop_cycle('color', clist) - def get_aspect(self): return self._aspect diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index cc49d7190a2c..4be01511e978 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -2069,7 +2069,6 @@ def colormaps(): gist_gray identical to *gray* gist_yarg identical to *gray_r* binary identical to *gray_r* - spectral identical to *nipy_spectral* [#]_ ========= ======================================================= .. rubric:: Footnotes @@ -2090,12 +2089,6 @@ def colormaps(): Color-Scale Images <https://www.mathworks.com/matlabcentral/fileexchange/2662-cmrmap-m>`_ by Carey Rappaport - - .. [#] Changed to distinguish from ColorBrewer's *Spectral* map. - :func:`spectral` still works, but - ``set_cmap('nipy_spectral')`` is recommended for clarity. - - """ return sorted(cm.cmap_d) @@ -3264,21 +3257,4 @@ def nipy_spectral(): """ set_cmap("nipy_spectral") - -# Autogenerated by boilerplate.py. Do not edit as changes will be lost. -def spectral(): - """ - Set the colormap to "spectral". - - This changes the default colormap as well as the colormap of the current - image if there is one. See ``help(colormaps)`` for more information. - """ - from matplotlib.cbook import warn_deprecated - warn_deprecated( - "2.0", - name="spectral", - obj_type="colormap" - ) - set_cmap("spectral") - _setup_pyplot_info_docstrings() diff --git a/lib/matplotlib/tests/test_cycles.py b/lib/matplotlib/tests/test_cycles.py index 95611f36c0e7..ac876ee7fa3c 100644 --- a/lib/matplotlib/tests/test_cycles.py +++ b/lib/matplotlib/tests/test_cycles.py @@ -181,17 +181,6 @@ def test_cycle_reset(): got = next(ax._get_lines.prop_cycler) assert prop == got - fig, ax = plt.subplots() - # Need to double-check the old set/get_color_cycle(), too - with warnings.catch_warnings(): - warnings.simplefilter("ignore", MatplotlibDeprecationWarning) - prop = next(ax._get_lines.prop_cycler) - ax.set_color_cycle(['c', 'm', 'y', 'k']) - assert prop != next(ax._get_lines.prop_cycler) - ax.set_color_cycle(None) - got = next(ax._get_lines.prop_cycler) - assert prop == got - def test_invalid_input_forms(): fig, ax = plt.subplots() diff --git a/tools/boilerplate.py b/tools/boilerplate.py index 21e66d4802e7..920fb9a95e52 100644 --- a/tools/boilerplate.py +++ b/tools/boilerplate.py @@ -71,24 +71,6 @@ def {name}(): ''' -CMAP_TEMPLATE_DEPRECATED = AUTOGEN_MSG + ''' -def {name}(): - """ - Set the colormap to "{name}". - - This changes the default colormap as well as the colormap of the current - image if there is one. See ``help(colormaps)`` for more information. - """ - from matplotlib.cbook import warn_deprecated - warn_deprecated( - "2.0", - name="{name}", - obj_type="colormap" - ) - set_cmap("{name}") - -''' - def boilerplate_gen(): """Generator of lines for the automated part of pyplot.""" @@ -308,12 +290,9 @@ def format_value(value): 'viridis', "nipy_spectral" ) - deprecated_cmaps = ("spectral", ) # add all the colormaps (autumn, hsv, ....) for name in cmaps: yield CMAP_TEMPLATE.format(name=name) - for name in deprecated_cmaps: - yield CMAP_TEMPLATE_DEPRECATED.format(name=name) yield '' yield '_setup_pyplot_info_docstrings()' From c0bdacb088a309e3e497ec7880773f7a46f1ae3d Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Wed, 21 Feb 2018 22:40:49 +0000 Subject: [PATCH 0449/1161] Remove deprecated code in image.py --- doc/api/next_api_changes/2018-02-15-AL-deprecations.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst index e41e8957a48b..3c0fedba810d 100644 --- a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst +++ b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst @@ -20,6 +20,10 @@ The following classes, methods, functions, and attributes are deprecated: - ``font_manager.TempCache``, - ``mathtext.unichr_safe`` (use ``chr`` instead), - ``testing.ImageComparisonTest``, +- ``FigureCanvasWx.macros``, +- ``_ImageBase.iterpnames``, use the ``interpolation_names`` property instead. + (this affects classes that inherit from ``_ImageBase`` including + :class:`FigureImage`, :class:`BboxImage`, and :class:`AxesImage`), - ``texmanager.dvipng_hack_alpha``, - ``text.Annotation.arrow``, From 31dbef650fbe76b079057eb6f3916d270b48e56d Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Fri, 23 Mar 2018 08:28:05 +0100 Subject: [PATCH 0450/1161] cleanup _plot_args_replacer logic --- lib/matplotlib/__init__.py | 5 ++++- lib/matplotlib/axes/_axes.py | 20 +++++++++++++------- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index b2186d1ef762..884350a3ef36 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -1529,6 +1529,9 @@ def _replacer(data, key): following arguments are replaced by **data[<arg>]**: {replaced} + + Objects passed as **data** must support item access (``data[<arg>]``) and + membership test (``<arg> in data``). """ @@ -1554,7 +1557,7 @@ def _add_data_doc(docstring, replace_names, replace_all_args): if docstring is None: docstring = '' else: - docstring = dedent(docstring) + docstring = dedent(docstring)git _repl = "" if replace_names is None: _repl = "* All positional and all keyword arguments." diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index a223c4e563bf..311dad725159 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -44,18 +44,24 @@ rcParams = matplotlib.rcParams +def _has_item(data, name): + """Return whether *data* can be item-accessed with *name*. + + This supports data with a dict-like interface (`in` checks item + availability) and with numpy.arrays. + """ + try: + return name in data or name in data.dtype.names + except (AttributeError, TypeError): + return False + + def _plot_args_replacer(args, data): if len(args) == 1: return ["y"] elif len(args) == 2: # this can be two cases: x,y or y,c - if (not args[1] in data and - not (hasattr(data, 'dtype') and - hasattr(data.dtype, 'names') and - data.dtype.names is not None and - args[1] in data.dtype.names)): - # this is not in data, so just assume that it is something which - # will not get replaced (color spec or array like). + if not _has_item(data, args[1]): return ["y", "c"] # it's data, but could be a color code like 'ro' or 'b--' # -> warn the user in that case... From 86fe16bfe7ed27985457637356f42b0ff98bdaca Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Thu, 29 Mar 2018 17:31:29 -0700 Subject: [PATCH 0451/1161] Use function signatures in boilerplate.py. --- lib/matplotlib/pyplot.py | 1044 +++++++++++++++++++------------------- tools/boilerplate.py | 249 ++++----- 2 files changed, 611 insertions(+), 682 deletions(-) diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index cc49d7190a2c..98aaa6d2f06b 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -2214,7 +2214,6 @@ def set_cmap(cmap): im.set_cmap(cmap) - @docstring.copy_dedent(_imread) def imread(fname, format=None): return _imread(fname, format) @@ -2417,15 +2416,6 @@ def _autogen_docstring(base): addendum = docstring.Appender(msg, '\n\n') return lambda func: addendum(docstring.copy_dedent(base)(func)) -# This function cannot be generated by boilerplate.py because it may -# return an image or a line. -@_autogen_docstring(Axes.spy) -def spy(Z, precision=0, marker=None, markersize=None, aspect='equal', **kwargs): - ax = gca() - ret = ax.spy(Z, precision, marker, markersize, aspect, **kwargs) - if isinstance(ret, cm.ScalarMappable): - sci(ret) - return ret # just to be safe. Interactive mode can be turned on without # calling `plt.ion()` so register it again here. @@ -2434,627 +2424,613 @@ def spy(Z, precision=0, marker=None, markersize=None, aspect='equal', **kwargs): # to determine if they should trigger a draw. install_repl_displayhook() -################# REMAINING CONTENT GENERATED BY boilerplate.py ############## - - -# Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.acorr) -def acorr(x, data=None, **kwargs): - ax = gca() - ret = ax.acorr(x, data=data, **kwargs) - - return ret - -# Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.angle_spectrum) -def angle_spectrum(x, Fs=None, Fc=None, window=None, pad_to=None, sides=None, - data=None, **kwargs): - ax = gca() - ret = ax.angle_spectrum(x, Fs=Fs, Fc=Fc, window=window, pad_to=pad_to, - sides=sides, data=data, **kwargs) - - return ret - -# Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.arrow) -def arrow(x, y, dx, dy, **kwargs): - ax = gca() - ret = ax.arrow(x, y, dx, dy, **kwargs) - return ret - -# Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.axhline) -def axhline(y=0, xmin=0, xmax=1, **kwargs): - ax = gca() - ret = ax.axhline(y=y, xmin=xmin, xmax=xmax, **kwargs) - - return ret - -# Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.axhspan) -def axhspan(ymin, ymax, xmin=0, xmax=1, **kwargs): - ax = gca() - ret = ax.axhspan(ymin, ymax, xmin=xmin, xmax=xmax, **kwargs) +################# REMAINING CONTENT GENERATED BY boilerplate.py ############## - return ret # Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.axvline) -def axvline(x=0, ymin=0, ymax=1, **kwargs): - ax = gca() - ret = ax.axvline(x=x, ymin=ymin, ymax=ymax, **kwargs) - - return ret +@docstring.copy_dedent(Axes.acorr) +def acorr( + x, *, data=None, **kwargs): + return gca().acorr( + x=x, data=data, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.axvspan) -def axvspan(xmin, xmax, ymin=0, ymax=1, **kwargs): - ax = gca() - ret = ax.axvspan(xmin, xmax, ymin=ymin, ymax=ymax, **kwargs) - - return ret +@docstring.copy_dedent(Axes.angle_spectrum) +def angle_spectrum( + x, Fs=None, Fc=None, window=None, pad_to=None, sides=None, *, + data=None, **kwargs): + return gca().angle_spectrum( + x=x, Fs=Fs, Fc=Fc, window=window, pad_to=pad_to, sides=sides, + data=data, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.bar) -def bar(*args, **kwargs): - ax = gca() - ret = ax.bar(*args, **kwargs) - - return ret +@docstring.copy_dedent(Axes.annotate) +def annotate( + text, xy, *args, **kwargs): + return gca().annotate( + text=text, xy=xy, *args, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.barh) -def barh(*args, **kwargs): - ax = gca() - ret = ax.barh(*args, **kwargs) - - return ret +@docstring.copy_dedent(Axes.arrow) +def arrow( + x, y, dx, dy, **kwargs): + return gca().arrow( + x=x, y=y, dx=dx, dy=dy, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.broken_barh) -def broken_barh(xranges, yrange, data=None, **kwargs): - ax = gca() - ret = ax.broken_barh(xranges, yrange, data=data, **kwargs) - - return ret +@docstring.copy_dedent(Axes.autoscale) +def autoscale( + enable=True, axis='both', tight=None): + return gca().autoscale( + enable=enable, axis=axis, tight=tight) + +# Autogenerated by boilerplate.py. Do not edit as changes will be lost. +@docstring.copy_dedent(Axes.axhline) +def axhline( + y=0, xmin=0, xmax=1, **kwargs): + return gca().axhline( + y=y, xmin=xmin, xmax=xmax, **kwargs) + +# Autogenerated by boilerplate.py. Do not edit as changes will be lost. +@docstring.copy_dedent(Axes.axhspan) +def axhspan( + ymin, ymax, xmin=0, xmax=1, **kwargs): + return gca().axhspan( + ymin=ymin, ymax=ymax, xmin=xmin, xmax=xmax, **kwargs) + +# Autogenerated by boilerplate.py. Do not edit as changes will be lost. +@docstring.copy_dedent(Axes.axvline) +def axvline( + x=0, ymin=0, ymax=1, **kwargs): + return gca().axvline( + x=x, ymin=ymin, ymax=ymax, **kwargs) + +# Autogenerated by boilerplate.py. Do not edit as changes will be lost. +@docstring.copy_dedent(Axes.axvspan) +def axvspan( + xmin, xmax, ymin=0, ymax=1, **kwargs): + return gca().axvspan( + xmin=xmin, xmax=xmax, ymin=ymin, ymax=ymax, **kwargs) + +# Autogenerated by boilerplate.py. Do not edit as changes will be lost. +@docstring.copy_dedent(Axes.bar) +def bar( + *args, data=None, **kwargs): + return gca().bar( + *args, data=data, **kwargs) + +# Autogenerated by boilerplate.py. Do not edit as changes will be lost. +@docstring.copy_dedent(Axes.barbs) +def barbs( + *args, data=None, **kw): + return gca().barbs( + *args, data=data, **kw) + +# Autogenerated by boilerplate.py. Do not edit as changes will be lost. +@docstring.copy_dedent(Axes.barh) +def barh( + *args, **kwargs): + return gca().barh( + *args, **kwargs) + +# Autogenerated by boilerplate.py. Do not edit as changes will be lost. +@docstring.copy_dedent(Axes.boxplot) +def boxplot( + x, notch=None, sym=None, vert=None, whis=None, + positions=None, widths=None, patch_artist=None, + bootstrap=None, usermedians=None, conf_intervals=None, + meanline=None, showmeans=None, showcaps=None, showbox=None, + showfliers=None, boxprops=None, labels=None, flierprops=None, + medianprops=None, meanprops=None, capprops=None, + whiskerprops=None, manage_xticks=True, autorange=False, + zorder=None, *, data=None): + return gca().boxplot( + x=x, notch=notch, sym=sym, vert=vert, whis=whis, + positions=positions, widths=widths, patch_artist=patch_artist, + bootstrap=bootstrap, usermedians=usermedians, + conf_intervals=conf_intervals, meanline=meanline, + showmeans=showmeans, showcaps=showcaps, showbox=showbox, + showfliers=showfliers, boxprops=boxprops, labels=labels, + flierprops=flierprops, medianprops=medianprops, + meanprops=meanprops, capprops=capprops, + whiskerprops=whiskerprops, manage_xticks=manage_xticks, + autorange=autorange, zorder=zorder, data=data) + +# Autogenerated by boilerplate.py. Do not edit as changes will be lost. +@docstring.copy_dedent(Axes.broken_barh) +def broken_barh( + xranges, yrange, *, data=None, **kwargs): + return gca().broken_barh( + xranges=xranges, yrange=yrange, data=data, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.boxplot) -def boxplot(x, notch=None, sym=None, vert=None, whis=None, positions=None, - widths=None, patch_artist=None, bootstrap=None, usermedians=None, - conf_intervals=None, meanline=None, showmeans=None, showcaps=None, - showbox=None, showfliers=None, boxprops=None, labels=None, - flierprops=None, medianprops=None, meanprops=None, capprops=None, - whiskerprops=None, manage_xticks=True, autorange=False, zorder=None, - data=None): - ax = gca() - ret = ax.boxplot(x, notch=notch, sym=sym, vert=vert, whis=whis, - positions=positions, widths=widths, - patch_artist=patch_artist, bootstrap=bootstrap, - usermedians=usermedians, - conf_intervals=conf_intervals, meanline=meanline, - showmeans=showmeans, showcaps=showcaps, - showbox=showbox, showfliers=showfliers, - boxprops=boxprops, labels=labels, - flierprops=flierprops, medianprops=medianprops, - meanprops=meanprops, capprops=capprops, - whiskerprops=whiskerprops, - manage_xticks=manage_xticks, autorange=autorange, - zorder=zorder, data=data) - - return ret +@docstring.copy_dedent(Axes.cla) +def cla( + ): + return gca().cla( + ) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.cohere) -def cohere(x, y, NFFT=256, Fs=2, Fc=0, detrend=mlab.detrend_none, - window=mlab.window_hanning, noverlap=0, pad_to=None, sides='default', - scale_by_freq=None, data=None, **kwargs): - ax = gca() - ret = ax.cohere(x, y, NFFT=NFFT, Fs=Fs, Fc=Fc, detrend=detrend, - window=window, noverlap=noverlap, pad_to=pad_to, - sides=sides, scale_by_freq=scale_by_freq, data=data, - **kwargs) - - return ret +@docstring.copy_dedent(Axes.clabel) +def clabel( + CS, *args, **kwargs): + return gca().clabel( + CS=CS, *args, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.clabel) -def clabel(CS, *args, **kwargs): - ax = gca() - ret = ax.clabel(CS, *args, **kwargs) - - return ret +@docstring.copy_dedent(Axes.cohere) +def cohere( + x, y, NFFT=256, Fs=2, Fc=0, detrend=mlab.detrend_none, + window=mlab.window_hanning, noverlap=0, pad_to=None, + sides='default', scale_by_freq=None, *, data=None, **kwargs): + return gca().cohere( + x=x, y=y, NFFT=NFFT, Fs=Fs, Fc=Fc, detrend=detrend, + window=window, noverlap=noverlap, pad_to=pad_to, sides=sides, + scale_by_freq=scale_by_freq, data=data, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.contour) -def contour(*args, **kwargs): - ax = gca() - ret = ax.contour(*args, **kwargs) - if ret._A is not None: sci(ret) - return ret +def contour( + *args, data=None, **kwargs): + __ret = gca().contour( + *args, data=data, **kwargs) + if __ret._A is not None: sci(__ret) + return __ret # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.contourf) -def contourf(*args, **kwargs): - ax = gca() - ret = ax.contourf(*args, **kwargs) - if ret._A is not None: sci(ret) - return ret +def contourf( + *args, data=None, **kwargs): + __ret = gca().contourf( + *args, data=data, **kwargs) + if __ret._A is not None: sci(__ret) + return __ret # Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.csd) -def csd(x, y, NFFT=None, Fs=None, Fc=None, detrend=None, window=None, +@docstring.copy_dedent(Axes.csd) +def csd( + x, y, NFFT=None, Fs=None, Fc=None, detrend=None, window=None, noverlap=None, pad_to=None, sides=None, scale_by_freq=None, - return_line=None, data=None, **kwargs): - ax = gca() - ret = ax.csd(x, y, NFFT=NFFT, Fs=Fs, Fc=Fc, detrend=detrend, - window=window, noverlap=noverlap, pad_to=pad_to, - sides=sides, scale_by_freq=scale_by_freq, - return_line=return_line, data=data, **kwargs) - - return ret - -# Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.errorbar) -def errorbar(x, y, yerr=None, xerr=None, fmt='', ecolor=None, elinewidth=None, - capsize=None, barsabove=False, lolims=False, uplims=False, - xlolims=False, xuplims=False, errorevery=1, capthick=None, - data=None, **kwargs): - ax = gca() - ret = ax.errorbar(x, y, yerr=yerr, xerr=xerr, fmt=fmt, ecolor=ecolor, - elinewidth=elinewidth, capsize=capsize, - barsabove=barsabove, lolims=lolims, uplims=uplims, - xlolims=xlolims, xuplims=xuplims, - errorevery=errorevery, capthick=capthick, data=data, - **kwargs) - - return ret - -# Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.eventplot) -def eventplot(positions, orientation='horizontal', lineoffsets=1, linelengths=1, - linewidths=None, colors=None, linestyles='solid', data=None, - **kwargs): - ax = gca() - ret = ax.eventplot(positions, orientation=orientation, - lineoffsets=lineoffsets, linelengths=linelengths, - linewidths=linewidths, colors=colors, - linestyles=linestyles, data=data, **kwargs) - - return ret - -# Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.fill) -def fill(*args, **kwargs): - ax = gca() - ret = ax.fill(*args, **kwargs) - - return ret + return_line=None, *, data=None, **kwargs): + return gca().csd( + x=x, y=y, NFFT=NFFT, Fs=Fs, Fc=Fc, detrend=detrend, + window=window, noverlap=noverlap, pad_to=pad_to, sides=sides, + scale_by_freq=scale_by_freq, return_line=return_line, + data=data, **kwargs) + +# Autogenerated by boilerplate.py. Do not edit as changes will be lost. +@docstring.copy_dedent(Axes.errorbar) +def errorbar( + x, y, yerr=None, xerr=None, fmt='', ecolor=None, + elinewidth=None, capsize=None, barsabove=False, lolims=False, + uplims=False, xlolims=False, xuplims=False, errorevery=1, + capthick=None, *, data=None, **kwargs): + return gca().errorbar( + x=x, y=y, yerr=yerr, xerr=xerr, fmt=fmt, ecolor=ecolor, + elinewidth=elinewidth, capsize=capsize, barsabove=barsabove, + lolims=lolims, uplims=uplims, xlolims=xlolims, + xuplims=xuplims, errorevery=errorevery, capthick=capthick, + data=data, **kwargs) + +# Autogenerated by boilerplate.py. Do not edit as changes will be lost. +@docstring.copy_dedent(Axes.eventplot) +def eventplot( + positions, orientation='horizontal', lineoffsets=1, + linelengths=1, linewidths=None, colors=None, + linestyles='solid', *, data=None, **kwargs): + return gca().eventplot( + positions=positions, orientation=orientation, + lineoffsets=lineoffsets, linelengths=linelengths, + linewidths=linewidths, colors=colors, linestyles=linestyles, + data=data, **kwargs) + +# Autogenerated by boilerplate.py. Do not edit as changes will be lost. +@docstring.copy_dedent(Axes.fill) +def fill( + *args, data=None, **kwargs): + return gca().fill( + *args, data=data, **kwargs) + +# Autogenerated by boilerplate.py. Do not edit as changes will be lost. +@docstring.copy_dedent(Axes.fill_between) +def fill_between( + x, y1, y2=0, where=None, interpolate=False, step=None, *, + data=None, **kwargs): + return gca().fill_between( + x=x, y1=y1, y2=y2, where=where, interpolate=interpolate, + step=step, data=data, **kwargs) + +# Autogenerated by boilerplate.py. Do not edit as changes will be lost. +@docstring.copy_dedent(Axes.fill_betweenx) +def fill_betweenx( + y, x1, x2=0, where=None, step=None, interpolate=False, *, + data=None, **kwargs): + return gca().fill_betweenx( + y=y, x1=x1, x2=x2, where=where, step=step, + interpolate=interpolate, data=data, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.fill_between) -def fill_between(x, y1, y2=0, where=None, interpolate=False, step=None, - data=None, **kwargs): - ax = gca() - ret = ax.fill_between(x, y1, y2=y2, where=where, - interpolate=interpolate, step=step, data=data, - **kwargs) - - return ret - -# Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.fill_betweenx) -def fill_betweenx(y, x1, x2=0, where=None, step=None, interpolate=False, - data=None, **kwargs): - ax = gca() - ret = ax.fill_betweenx(y, x1, x2=x2, where=where, step=step, - interpolate=interpolate, data=data, **kwargs) - - return ret +@docstring.copy_dedent(Axes.grid) +def grid( + b=None, which='major', axis='both', **kwargs): + return gca().grid( + b=b, which=which, axis=axis, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.hexbin) -def hexbin(x, y, C=None, gridsize=100, bins=None, xscale='linear', - yscale='linear', extent=None, cmap=None, norm=None, vmin=None, - vmax=None, alpha=None, linewidths=None, edgecolors='face', - reduce_C_function=np.mean, mincnt=None, marginals=False, data=None, - **kwargs): - ax = gca() - ret = ax.hexbin(x, y, C=C, gridsize=gridsize, bins=bins, xscale=xscale, - yscale=yscale, extent=extent, cmap=cmap, norm=norm, - vmin=vmin, vmax=vmax, alpha=alpha, - linewidths=linewidths, edgecolors=edgecolors, - reduce_C_function=reduce_C_function, mincnt=mincnt, - marginals=marginals, data=data, **kwargs) - sci(ret) - return ret - -# Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.hist) -def hist(x, bins=None, range=None, density=None, weights=None, cumulative=False, - bottom=None, histtype='bar', align='mid', orientation='vertical', - rwidth=None, log=False, color=None, label=None, stacked=False, - normed=None, data=None, **kwargs): - ax = gca() - ret = ax.hist(x, bins=bins, range=range, density=density, - weights=weights, cumulative=cumulative, bottom=bottom, - histtype=histtype, align=align, orientation=orientation, - rwidth=rwidth, log=log, color=color, label=label, - stacked=stacked, normed=normed, data=data, **kwargs) - - return ret +def hexbin( + x, y, C=None, gridsize=100, bins=None, xscale='linear', + yscale='linear', extent=None, cmap=None, norm=None, vmin=None, + vmax=None, alpha=None, linewidths=None, edgecolors='face', + reduce_C_function=np.mean, mincnt=None, marginals=False, *, + data=None, **kwargs): + __ret = gca().hexbin( + x=x, y=y, C=C, gridsize=gridsize, bins=bins, xscale=xscale, + yscale=yscale, extent=extent, cmap=cmap, norm=norm, vmin=vmin, + vmax=vmax, alpha=alpha, linewidths=linewidths, + edgecolors=edgecolors, reduce_C_function=reduce_C_function, + mincnt=mincnt, marginals=marginals, data=data, **kwargs) + sci(__ret) + return __ret + +# Autogenerated by boilerplate.py. Do not edit as changes will be lost. +@docstring.copy_dedent(Axes.hist) +def hist( + x, bins=None, range=None, density=None, weights=None, + cumulative=False, bottom=None, histtype='bar', align='mid', + orientation='vertical', rwidth=None, log=False, color=None, + label=None, stacked=False, normed=None, *, data=None, + **kwargs): + return gca().hist( + x=x, bins=bins, range=range, density=density, weights=weights, + cumulative=cumulative, bottom=bottom, histtype=histtype, + align=align, orientation=orientation, rwidth=rwidth, log=log, + color=color, label=label, stacked=stacked, normed=normed, + data=data, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.hist2d) -def hist2d(x, y, bins=10, range=None, normed=False, weights=None, cmin=None, - cmax=None, data=None, **kwargs): - ax = gca() - ret = ax.hist2d(x, y, bins=bins, range=range, normed=normed, - weights=weights, cmin=cmin, cmax=cmax, data=data, - **kwargs) - sci(ret[-1]) - return ret +def hist2d( + x, y, bins=10, range=None, normed=False, weights=None, + cmin=None, cmax=None, *, data=None, **kwargs): + __ret = gca().hist2d( + x=x, y=y, bins=bins, range=range, normed=normed, + weights=weights, cmin=cmin, cmax=cmax, data=data, **kwargs) + sci(__ret[-1]) + return __ret # Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.hlines) -def hlines(y, xmin, xmax, colors='k', linestyles='solid', label='', data=None, - **kwargs): - ax = gca() - ret = ax.hlines(y, xmin, xmax, colors=colors, linestyles=linestyles, - label=label, data=data, **kwargs) - - return ret +@docstring.copy_dedent(Axes.hlines) +def hlines( + y, xmin, xmax, colors='k', linestyles='solid', label='', *, + data=None, **kwargs): + return gca().hlines( + y=y, xmin=xmin, xmax=xmax, colors=colors, + linestyles=linestyles, label=label, data=data, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.imshow) -def imshow(X, cmap=None, norm=None, aspect=None, interpolation=None, alpha=None, - vmin=None, vmax=None, origin=None, extent=None, shape=None, - filternorm=1, filterrad=4.0, imlim=None, resample=None, url=None, - data=None, **kwargs): - ax = gca() - ret = ax.imshow(X, cmap=cmap, norm=norm, aspect=aspect, - interpolation=interpolation, alpha=alpha, vmin=vmin, - vmax=vmax, origin=origin, extent=extent, shape=shape, - filternorm=filternorm, filterrad=filterrad, - imlim=imlim, resample=resample, url=url, data=data, - **kwargs) - sci(ret) - return ret +def imshow( + X, cmap=None, norm=None, aspect=None, interpolation=None, + alpha=None, vmin=None, vmax=None, origin=None, extent=None, + shape=None, filternorm=1, filterrad=4.0, imlim=None, + resample=None, url=None, *, data=None, **kwargs): + __ret = gca().imshow( + X=X, cmap=cmap, norm=norm, aspect=aspect, + interpolation=interpolation, alpha=alpha, vmin=vmin, + vmax=vmax, origin=origin, extent=extent, shape=shape, + filternorm=filternorm, filterrad=filterrad, imlim=imlim, + resample=resample, url=url, data=data, **kwargs) + sci(__ret) + return __ret # Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.loglog) -def loglog(*args, **kwargs): - ax = gca() - ret = ax.loglog(*args, **kwargs) - - return ret - -# Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.magnitude_spectrum) -def magnitude_spectrum(x, Fs=None, Fc=None, window=None, pad_to=None, - sides=None, scale=None, data=None, **kwargs): - ax = gca() - ret = ax.magnitude_spectrum(x, Fs=Fs, Fc=Fc, window=window, - pad_to=pad_to, sides=sides, scale=scale, - data=data, **kwargs) - - return ret - -# Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.pcolor) -def pcolor(*args, **kwargs): - ax = gca() - ret = ax.pcolor(*args, **kwargs) - sci(ret) - return ret +@docstring.copy_dedent(Axes.legend) +def legend( + *args, **kwargs): + return gca().legend( + *args, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.pcolormesh) -def pcolormesh(*args, **kwargs): - ax = gca() - ret = ax.pcolormesh(*args, **kwargs) - sci(ret) - return ret +@docstring.copy_dedent(Axes.locator_params) +def locator_params( + axis='both', tight=None, **kwargs): + return gca().locator_params( + axis=axis, tight=tight, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.phase_spectrum) -def phase_spectrum(x, Fs=None, Fc=None, window=None, pad_to=None, sides=None, - data=None, **kwargs): - ax = gca() - ret = ax.phase_spectrum(x, Fs=Fs, Fc=Fc, window=window, pad_to=pad_to, - sides=sides, data=data, **kwargs) - - return ret +@docstring.copy_dedent(Axes.loglog) +def loglog( + *args, **kwargs): + return gca().loglog( + *args, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.pie) -def pie(x, explode=None, labels=None, colors=None, autopct=None, - pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=None, - radius=None, counterclock=True, wedgeprops=None, textprops=None, - center=(0, 0), frame=False, rotatelabels=False, data=None): - ax = gca() - ret = ax.pie(x, explode=explode, labels=labels, colors=colors, - autopct=autopct, pctdistance=pctdistance, shadow=shadow, - labeldistance=labeldistance, startangle=startangle, - radius=radius, counterclock=counterclock, - wedgeprops=wedgeprops, textprops=textprops, center=center, - frame=frame, rotatelabels=rotatelabels, data=data) - - return ret +@docstring.copy_dedent(Axes.magnitude_spectrum) +def magnitude_spectrum( + x, Fs=None, Fc=None, window=None, pad_to=None, sides=None, + scale=None, *, data=None, **kwargs): + return gca().magnitude_spectrum( + x=x, Fs=Fs, Fc=Fc, window=window, pad_to=pad_to, sides=sides, + scale=scale, data=data, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.plot) -def plot(*args, **kwargs): - ax = gca() - ret = ax.plot(*args, **kwargs) - - return ret +@docstring.copy_dedent(Axes.margins) +def margins( + *args, **kw): + return gca().margins( + *args, **kw) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.plot_date) -def plot_date(x, y, fmt='o', tz=None, xdate=True, ydate=False, data=None, - **kwargs): - ax = gca() - ret = ax.plot_date(x, y, fmt=fmt, tz=tz, xdate=xdate, ydate=ydate, - data=data, **kwargs) - - return ret +@_autogen_docstring(Axes.pcolor) +def pcolor( + *args, data=None, **kwargs): + __ret = gca().pcolor( + *args, data=data, **kwargs) + sci(__ret) + return __ret # Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.psd) -def psd(x, NFFT=None, Fs=None, Fc=None, detrend=None, window=None, +@_autogen_docstring(Axes.pcolormesh) +def pcolormesh( + *args, data=None, **kwargs): + __ret = gca().pcolormesh( + *args, data=data, **kwargs) + sci(__ret) + return __ret + +# Autogenerated by boilerplate.py. Do not edit as changes will be lost. +@docstring.copy_dedent(Axes.phase_spectrum) +def phase_spectrum( + x, Fs=None, Fc=None, window=None, pad_to=None, sides=None, *, + data=None, **kwargs): + return gca().phase_spectrum( + x=x, Fs=Fs, Fc=Fc, window=window, pad_to=pad_to, sides=sides, + data=data, **kwargs) + +# Autogenerated by boilerplate.py. Do not edit as changes will be lost. +@docstring.copy_dedent(Axes.pie) +def pie( + x, explode=None, labels=None, colors=None, autopct=None, + pctdistance=0.6, shadow=False, labeldistance=1.1, + startangle=None, radius=None, counterclock=True, + wedgeprops=None, textprops=None, center=(0, 0), frame=False, + rotatelabels=False, *, data=None): + return gca().pie( + x=x, explode=explode, labels=labels, colors=colors, + autopct=autopct, pctdistance=pctdistance, shadow=shadow, + labeldistance=labeldistance, startangle=startangle, + radius=radius, counterclock=counterclock, + wedgeprops=wedgeprops, textprops=textprops, center=center, + frame=frame, rotatelabels=rotatelabels, data=data) + +# Autogenerated by boilerplate.py. Do not edit as changes will be lost. +@docstring.copy_dedent(Axes.plot) +def plot( + *args, data=None, **kwargs): + return gca().plot( + *args, data=data, **kwargs) + +# Autogenerated by boilerplate.py. Do not edit as changes will be lost. +@docstring.copy_dedent(Axes.plot_date) +def plot_date( + x, y, fmt='o', tz=None, xdate=True, ydate=False, *, + data=None, **kwargs): + return gca().plot_date( + x=x, y=y, fmt=fmt, tz=tz, xdate=xdate, ydate=ydate, data=data, + **kwargs) + +# Autogenerated by boilerplate.py. Do not edit as changes will be lost. +@docstring.copy_dedent(Axes.psd) +def psd( + x, NFFT=None, Fs=None, Fc=None, detrend=None, window=None, noverlap=None, pad_to=None, sides=None, scale_by_freq=None, - return_line=None, data=None, **kwargs): - ax = gca() - ret = ax.psd(x, NFFT=NFFT, Fs=Fs, Fc=Fc, detrend=detrend, - window=window, noverlap=noverlap, pad_to=pad_to, - sides=sides, scale_by_freq=scale_by_freq, - return_line=return_line, data=data, **kwargs) - - return ret + return_line=None, *, data=None, **kwargs): + return gca().psd( + x=x, NFFT=NFFT, Fs=Fs, Fc=Fc, detrend=detrend, window=window, + noverlap=noverlap, pad_to=pad_to, sides=sides, + scale_by_freq=scale_by_freq, return_line=return_line, + data=data, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.quiver) -def quiver(*args, **kw): - ax = gca() - ret = ax.quiver(*args, **kw) - sci(ret) - return ret +def quiver( + *args, data=None, **kw): + __ret = gca().quiver( + *args, data=data, **kw) + sci(__ret) + return __ret # Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.quiverkey) -def quiverkey(*args, **kw): - ax = gca() - ret = ax.quiverkey(*args, **kw) - - return ret +@docstring.copy_dedent(Axes.quiverkey) +def quiverkey( + Q, X, Y, U, label, **kw): + return gca().quiverkey( + Q=Q, X=X, Y=Y, U=U, label=label, **kw) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.scatter) -def scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, - vmax=None, alpha=None, linewidths=None, verts=None, edgecolors=None, - data=None, **kwargs): - ax = gca() - ret = ax.scatter(x, y, s=s, c=c, marker=marker, cmap=cmap, norm=norm, - vmin=vmin, vmax=vmax, alpha=alpha, - linewidths=linewidths, verts=verts, - edgecolors=edgecolors, data=data, **kwargs) - sci(ret) - return ret +def scatter( + x, y, s=None, c=None, marker=None, cmap=None, norm=None, + vmin=None, vmax=None, alpha=None, linewidths=None, verts=None, + edgecolors=None, *, data=None, **kwargs): + __ret = gca().scatter( + x=x, y=y, s=s, c=c, marker=marker, cmap=cmap, norm=norm, + vmin=vmin, vmax=vmax, alpha=alpha, linewidths=linewidths, + verts=verts, edgecolors=edgecolors, data=data, **kwargs) + sci(__ret) + return __ret # Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.semilogx) -def semilogx(*args, **kwargs): - ax = gca() - ret = ax.semilogx(*args, **kwargs) - - return ret +@docstring.copy_dedent(Axes.semilogx) +def semilogx( + *args, **kwargs): + return gca().semilogx( + *args, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.semilogy) -def semilogy(*args, **kwargs): - ax = gca() - ret = ax.semilogy(*args, **kwargs) - - return ret +@docstring.copy_dedent(Axes.semilogy) +def semilogy( + *args, **kwargs): + return gca().semilogy( + *args, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.specgram) -def specgram(x, NFFT=None, Fs=None, Fc=None, detrend=None, window=None, - noverlap=None, cmap=None, xextent=None, pad_to=None, sides=None, - scale_by_freq=None, mode=None, scale=None, vmin=None, vmax=None, - data=None, **kwargs): - ax = gca() - ret = ax.specgram(x, NFFT=NFFT, Fs=Fs, Fc=Fc, detrend=detrend, - window=window, noverlap=noverlap, cmap=cmap, - xextent=xextent, pad_to=pad_to, sides=sides, - scale_by_freq=scale_by_freq, mode=mode, scale=scale, - vmin=vmin, vmax=vmax, data=data, **kwargs) - sci(ret[-1]) - return ret - -# Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.stackplot) -def stackplot(x, *args, **kwargs): - ax = gca() - ret = ax.stackplot(x, *args, **kwargs) - - return ret - -# Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.stem) -def stem(*args, **kwargs): - ax = gca() - ret = ax.stem(*args, **kwargs) - - return ret - -# Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.step) -def step(x, y, *args, **kwargs): - ax = gca() - ret = ax.step(x, y, *args, **kwargs) - - return ret - -# Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.streamplot) -def streamplot(x, y, u, v, density=1, linewidth=None, color=None, cmap=None, - norm=None, arrowsize=1, arrowstyle='-|>', minlength=0.1, - transform=None, zorder=None, start_points=None, maxlength=4.0, - integration_direction='both', data=None): - ax = gca() - ret = ax.streamplot(x, y, u, v, density=density, linewidth=linewidth, - color=color, cmap=cmap, norm=norm, - arrowsize=arrowsize, arrowstyle=arrowstyle, - minlength=minlength, transform=transform, - zorder=zorder, start_points=start_points, - maxlength=maxlength, - integration_direction=integration_direction, - data=data) - sci(ret.lines) - return ret - -# Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.tricontour) -def tricontour(*args, **kwargs): - ax = gca() - ret = ax.tricontour(*args, **kwargs) - if ret._A is not None: sci(ret) - return ret - -# Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.tricontourf) -def tricontourf(*args, **kwargs): - ax = gca() - ret = ax.tricontourf(*args, **kwargs) - if ret._A is not None: sci(ret) - return ret - -# Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.tripcolor) -def tripcolor(*args, **kwargs): - ax = gca() - ret = ax.tripcolor(*args, **kwargs) - sci(ret) - return ret - -# Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.triplot) -def triplot(*args, **kwargs): - ax = gca() - ret = ax.triplot(*args, **kwargs) - - return ret +def specgram( + x, NFFT=None, Fs=None, Fc=None, detrend=None, window=None, + noverlap=None, cmap=None, xextent=None, pad_to=None, + sides=None, scale_by_freq=None, mode=None, scale=None, + vmin=None, vmax=None, *, data=None, **kwargs): + __ret = gca().specgram( + x=x, NFFT=NFFT, Fs=Fs, Fc=Fc, detrend=detrend, window=window, + noverlap=noverlap, cmap=cmap, xextent=xextent, pad_to=pad_to, + sides=sides, scale_by_freq=scale_by_freq, mode=mode, + scale=scale, vmin=vmin, vmax=vmax, data=data, **kwargs) + sci(__ret[-1]) + return __ret # Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.violinplot) -def violinplot(dataset, positions=None, vert=True, widths=0.5, showmeans=False, - showextrema=True, showmedians=False, points=100, bw_method=None, - data=None): - ax = gca() - ret = ax.violinplot(dataset, positions=positions, vert=vert, - widths=widths, showmeans=showmeans, - showextrema=showextrema, showmedians=showmedians, - points=points, bw_method=bw_method, data=data) - - return ret +@_autogen_docstring(Axes.spy) +def spy( + Z, precision=0, marker=None, markersize=None, aspect='equal', + origin='upper', **kwargs): + __ret = gca().spy( + Z=Z, precision=precision, marker=marker, + markersize=markersize, aspect=aspect, origin=origin, **kwargs) + if isinstance(ret, cm.ScalarMappable): sci(__ret) + return __ret # Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.vlines) -def vlines(x, ymin, ymax, colors='k', linestyles='solid', label='', data=None, - **kwargs): - ax = gca() - ret = ax.vlines(x, ymin, ymax, colors=colors, linestyles=linestyles, - label=label, data=data, **kwargs) - - return ret +@docstring.copy_dedent(Axes.stackplot) +def stackplot( + x, *args, data=None, **kwargs): + return gca().stackplot( + x=x, *args, data=data, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.xcorr) -def xcorr(x, y, normed=True, detrend=mlab.detrend_none, usevlines=True, - maxlags=10, data=None, **kwargs): - ax = gca() - ret = ax.xcorr(x, y, normed=normed, detrend=detrend, - usevlines=usevlines, maxlags=maxlags, data=data, - **kwargs) - - return ret +@docstring.copy_dedent(Axes.stem) +def stem( + *args, data=None, **kwargs): + return gca().stem( + *args, data=data, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@_autogen_docstring(Axes.barbs) -def barbs(*args, **kw): - ax = gca() - ret = ax.barbs(*args, **kw) - - return ret +@docstring.copy_dedent(Axes.step) +def step( + x, y, *args, data=None, **kwargs): + return gca().step( + x=x, y=y, *args, data=data, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@docstring.copy_dedent(Axes.cla) -def cla(): - ret = gca().cla() - return ret - -# Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@docstring.copy_dedent(Axes.grid) -def grid(b=None, which='major', axis='both', **kwargs): - ret = gca().grid(b=b, which=which, axis=axis, **kwargs) - return ret - -# Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@docstring.copy_dedent(Axes.legend) -def legend(*args, **kwargs): - ret = gca().legend(*args, **kwargs) - return ret +@_autogen_docstring(Axes.streamplot) +def streamplot( + x, y, u, v, density=1, linewidth=None, color=None, cmap=None, + norm=None, arrowsize=1, arrowstyle='-|>', minlength=0.1, + transform=None, zorder=None, start_points=None, maxlength=4.0, + integration_direction='both', *, data=None): + __ret = gca().streamplot( + x=x, y=y, u=u, v=v, density=density, linewidth=linewidth, + color=color, cmap=cmap, norm=norm, arrowsize=arrowsize, + arrowstyle=arrowstyle, minlength=minlength, + transform=transform, zorder=zorder, start_points=start_points, + maxlength=maxlength, + integration_direction=integration_direction, data=data) + sci(__ret.lines) + return __ret # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.table) -def table(**kwargs): - ret = gca().table(**kwargs) - return ret +def table( + **kwargs): + return gca().table( + **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.text) -def text(x, y, s, fontdict=None, withdash=False, **kwargs): - ret = gca().text(x, y, s, fontdict=fontdict, withdash=withdash, **kwargs) - return ret +def text( + x, y, s, fontdict=None, withdash=False, **kwargs): + return gca().text( + x=x, y=y, s=s, fontdict=fontdict, withdash=withdash, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@docstring.copy_dedent(Axes.annotate) -def annotate(*args, **kwargs): - ret = gca().annotate(*args, **kwargs) - return ret +@docstring.copy_dedent(Axes.tick_params) +def tick_params( + axis='both', **kwargs): + return gca().tick_params( + axis=axis, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.ticklabel_format) -def ticklabel_format(**kwargs): - ret = gca().ticklabel_format(**kwargs) - return ret +def ticklabel_format( + **kwargs): + return gca().ticklabel_format( + **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@docstring.copy_dedent(Axes.locator_params) -def locator_params(axis='both', tight=None, **kwargs): - ret = gca().locator_params(axis=axis, tight=tight, **kwargs) - return ret - -# Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@docstring.copy_dedent(Axes.tick_params) -def tick_params(axis='both', **kwargs): - ret = gca().tick_params(axis=axis, **kwargs) - return ret +@_autogen_docstring(Axes.tricontour) +def tricontour( + *args, **kwargs): + __ret = gca().tricontour( + *args, **kwargs) + if __ret._A is not None: sci(__ret) + return __ret # Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@docstring.copy_dedent(Axes.margins) -def margins(*args, **kw): - ret = gca().margins(*args, **kw) - return ret +@_autogen_docstring(Axes.tricontourf) +def tricontourf( + *args, **kwargs): + __ret = gca().tricontourf( + *args, **kwargs) + if __ret._A is not None: sci(__ret) + return __ret # Autogenerated by boilerplate.py. Do not edit as changes will be lost. -@docstring.copy_dedent(Axes.autoscale) -def autoscale(enable=True, axis='both', tight=None): - ret = gca().autoscale(enable=enable, axis=axis, tight=tight) - return ret +@_autogen_docstring(Axes.tripcolor) +def tripcolor( + *args, **kwargs): + __ret = gca().tripcolor( + *args, **kwargs) + sci(__ret) + return __ret + +# Autogenerated by boilerplate.py. Do not edit as changes will be lost. +@docstring.copy_dedent(Axes.triplot) +def triplot( + *args, **kwargs): + return gca().triplot( + *args, **kwargs) + +# Autogenerated by boilerplate.py. Do not edit as changes will be lost. +@docstring.copy_dedent(Axes.violinplot) +def violinplot( + dataset, positions=None, vert=True, widths=0.5, + showmeans=False, showextrema=True, showmedians=False, + points=100, bw_method=None, *, data=None): + return gca().violinplot( + dataset=dataset, positions=positions, vert=vert, + widths=widths, showmeans=showmeans, showextrema=showextrema, + showmedians=showmedians, points=points, bw_method=bw_method, + data=data) + +# Autogenerated by boilerplate.py. Do not edit as changes will be lost. +@docstring.copy_dedent(Axes.vlines) +def vlines( + x, ymin, ymax, colors='k', linestyles='solid', label='', *, + data=None, **kwargs): + return gca().vlines( + x=x, ymin=ymin, ymax=ymax, colors=colors, + linestyles=linestyles, label=label, data=data, **kwargs) + +# Autogenerated by boilerplate.py. Do not edit as changes will be lost. +@docstring.copy_dedent(Axes.xcorr) +def xcorr( + x, y, normed=True, detrend=mlab.detrend_none, usevlines=True, + maxlags=10, *, data=None, **kwargs): + return gca().xcorr( + x=x, y=y, normed=normed, detrend=detrend, usevlines=usevlines, + maxlags=maxlags, data=data, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. def autumn(): diff --git a/tools/boilerplate.py b/tools/boilerplate.py index 21e66d4802e7..5299a898c396 100644 --- a/tools/boilerplate.py +++ b/tools/boilerplate.py @@ -7,8 +7,6 @@ Hence, the non-generatable content should be edited in the pyplot.py file itself, whereas the generatable content must be edited via templates in this file. - -This file is python 3 only due to the use of `inspect` """ # We did try to do the wrapping the smart way, # with callable functions and new.function, but could never get the @@ -17,14 +15,15 @@ # For some later history, see # http://thread.gmane.org/gmane.comp.python.matplotlib.devel/7068 -import os import inspect +from inspect import Signature, Parameter +import os import random -import types - import textwrap # this line imports the installed copy of matplotlib, and not the local copy +import numpy as np +from matplotlib import mlab from matplotlib.axes import Axes @@ -40,22 +39,19 @@ # Autogenerated by boilerplate.py. Do not edit as changes will be lost.""" -PLOT_TEMPLATE = AUTOGEN_MSG + """ +CMAPPABLE_TEMPLATE = AUTOGEN_MSG + """ @_autogen_docstring(Axes.%(func)s) -def %(func)s(%(argspec)s): - %(ax)s = gca() - %(ret)s = %(ax)s.%(func)s(%(call)s) +def %(func)s%(sig)s: + __ret = gca().%(func)s%(call)s %(mappable)s - return %(ret)s + return __ret """ -# Used for misc functions such as cla/legend etc. -MISC_FN_TEMPLATE = AUTOGEN_MSG + """ +NON_CMAPPABLE_TEMPLATE = AUTOGEN_MSG + """ @docstring.copy_dedent(Axes.%(func)s) -def %(func)s(%(argspec)s): - %(ret)s = gca().%(func)s(%(call)s) - return %(ret)s +def %(func)s%(sig)s: + return gca().%(func)s%(call)s """ # Used for colormap functions @@ -93,22 +89,25 @@ def {name}(): def boilerplate_gen(): """Generator of lines for the automated part of pyplot.""" - # these methods are all simple wrappers of Axes methods by the same - # name. - _plotcommands = ( + # These methods are all simple wrappers of Axes methods by the same name. + _commands = ( 'acorr', 'angle_spectrum', + 'annotate', 'arrow', + 'autoscale', 'axhline', 'axhspan', 'axvline', 'axvspan', 'bar', + 'barbs', 'barh', - 'broken_barh', 'boxplot', - 'cohere', + 'broken_barh', + 'cla', 'clabel', + 'cohere', 'contour', 'contourf', 'csd', @@ -117,13 +116,17 @@ def boilerplate_gen(): 'fill', 'fill_between', 'fill_betweenx', + 'grid', 'hexbin', 'hist', 'hist2d', 'hlines', 'imshow', + 'legend', + 'locator_params', 'loglog', 'magnitude_spectrum', + 'margins', 'pcolor', 'pcolormesh', 'phase_spectrum', @@ -137,11 +140,15 @@ def boilerplate_gen(): 'semilogx', 'semilogy', 'specgram', - # 'spy', + 'spy', 'stackplot', 'stem', 'step', 'streamplot', + 'table', + 'text', + 'tick_params', + 'ticklabel_format', 'tricontour', 'tricontourf', 'tripcolor', @@ -149,143 +156,88 @@ def boilerplate_gen(): 'violinplot', 'vlines', 'xcorr', - 'barbs', - ) - - _misccommands = ( - 'cla', - 'grid', - 'legend', - 'table', - 'text', - 'annotate', - 'ticklabel_format', - 'locator_params', - 'tick_params', - 'margins', - 'autoscale', ) cmappable = { - 'contour': 'if %(ret)s._A is not None: sci(%(ret)s)', - 'contourf': 'if %(ret)s._A is not None: sci(%(ret)s)', - 'hexbin': 'sci(%(ret)s)', - 'scatter': 'sci(%(ret)s)', - 'pcolor': 'sci(%(ret)s)', - 'pcolormesh': 'sci(%(ret)s)', - 'hist2d': 'sci(%(ret)s[-1])', - 'imshow': 'sci(%(ret)s)', - #'spy' : 'sci(%(ret)s)', ### may return image or Line2D - 'quiver': 'sci(%(ret)s)', - 'specgram': 'sci(%(ret)s[-1])', - 'streamplot': 'sci(%(ret)s.lines)', - 'tricontour': 'if %(ret)s._A is not None: sci(%(ret)s)', - 'tricontourf': 'if %(ret)s._A is not None: sci(%(ret)s)', - 'tripcolor': 'sci(%(ret)s)', + 'contour': 'if __ret._A is not None: sci(__ret)', + 'contourf': 'if __ret._A is not None: sci(__ret)', + 'hexbin': 'sci(__ret)', + 'scatter': 'sci(__ret)', + 'pcolor': 'sci(__ret)', + 'pcolormesh': 'sci(__ret)', + 'hist2d': 'sci(__ret[-1])', + 'imshow': 'sci(__ret)', + 'spy': 'if isinstance(ret, cm.ScalarMappable): sci(__ret)', + 'quiver': 'sci(__ret)', + 'specgram': 'sci(__ret[-1])', + 'streamplot': 'sci(__ret.lines)', + 'tricontour': 'if __ret._A is not None: sci(__ret)', + 'tricontourf': 'if __ret._A is not None: sci(__ret)', + 'tripcolor': 'sci(__ret)', } - def format_value(value): + class value_formatter: """ Format function default values as needed for inspect.formatargspec. The interesting part is a hard-coded list of functions used as defaults in pyplot methods. """ - if isinstance(value, types.FunctionType): - if value.__name__ in ('detrend_none', 'window_hanning'): - return '=mlab.' + value.__name__ - if value.__name__ == 'mean': - return '=np.' + value.__name__ - raise ValueError(('default value %s unknown to boilerplate.' + - 'formatvalue') % value) - return '=' + repr(value) - - text_wrapper = textwrap.TextWrapper(break_long_words=False) - - for fmt, cmdlist in [(PLOT_TEMPLATE, _plotcommands), - (MISC_FN_TEMPLATE, _misccommands)]: - for func in cmdlist: - # For some commands, an additional line is needed to set the - # color map - if func in cmappable: - mappable = ' ' + cmappable[func] % locals() + + def __init__(self, value): + if value is mlab.detrend_none: + self._repr = "mlab.detrend_none" + elif value is mlab.window_hanning: + self._repr = "mlab.window_hanning" + elif value is np.mean: + self._repr = "np.mean" else: - mappable = '' - - # Get argspec of wrapped function - base_func = getattr(Axes, func) - has_data = 'data' in inspect.signature(base_func).parameters - work_func = inspect.unwrap(base_func) - - (args, varargs, varkw, defaults, kwonlyargs, kwonlydefs, - annotations) = inspect.getfullargspec(work_func) - args.pop(0) # remove 'self' argument - defaults = tuple(defaults or ()) - - # Add a data keyword argument if needed (fmt is PLOT_TEMPLATE) and - # possible (if *args is used, we can't just add a data - # argument in front of it since it would gobble one of the - # arguments the user means to pass via *args) - # This needs to be done here so that it goes into call - if not varargs and fmt is PLOT_TEMPLATE and has_data: - args.append('data') - defaults = defaults + (None,) - - # How to call the wrapped function - call = [] - for i, arg in enumerate(args): - if len(defaults) < len(args) - i: - call.append('%s' % arg) - else: - call.append('%s=%s' % (arg, arg)) - - # remove the data keyword as it was needed above to go into the - # call but should go after `hold` in the signature. - # This is janky as all get out, but hopefully boilerplate will - # be retired soon. - if not varargs and fmt is PLOT_TEMPLATE and has_data: - args.pop() - defaults = defaults[:-1] - - if varargs is not None: - call.append('*' + varargs) - if varkw is not None: - call.append('**' + varkw) - call = ', '.join(call) - - text_wrapper.width = 80 - 19 - len(func) - join_with = '\n' + ' ' * (18 + len(func)) - call = join_with.join(text_wrapper.wrap(call)) - - if not varargs and fmt is PLOT_TEMPLATE and has_data: - args.append('data') - defaults = defaults + (None,) - - # Now we can build the argspec for defining the wrapper - argspec = inspect.formatargspec(args, varargs, varkw, defaults, - formatvalue=format_value) - argspec = argspec[1:-1] # remove parens - - text_wrapper.width = 80 - 5 - len(func) - join_with = '\n' + ' ' * (5 + len(func)) - argspec = join_with.join(text_wrapper.wrap(argspec)) - - # A gensym-like facility in case some function takes an - # argument named washold, ax, or ret - washold, ret, ax = 'washold', 'ret', 'ax' - bad = {*args, varargs, varkw} - while washold in bad or ret in bad or ax in bad: - washold = 'washold' + str(random.randrange(10 ** 12)) - ret = 'ret' + str(random.randrange(10 ** 12)) - ax = 'ax' + str(random.randrange(10 ** 12)) - - # Since we can't avoid using some function names, - # bail out if they are used as argument names - for reserved in ('gca', 'gci'): - if reserved in bad: - msg = 'Axes method %s has kwarg named %s' % (func, reserved) - raise ValueError(msg) - - yield fmt % locals() + self._repr = repr(value) + + def __repr__(self): + return self._repr + + text_wrapper = textwrap.TextWrapper( + break_long_words=False, width=70, + initial_indent=' ' * 8, subsequent_indent=' ' * 8) + + for func in _commands: + # For some commands, an additional line is needed to set the color map. + if func in cmappable: + fmt = CMAPPABLE_TEMPLATE + mappable = ' ' + cmappable[func] + else: + fmt = NON_CMAPPABLE_TEMPLATE + + # Get signature of wrapped function. + sig = inspect.signature(getattr(Axes, func)) + + # Replace self argument. + params = list(sig.parameters.values())[1:] + + sig = str(sig.replace(parameters=[ + param.replace(default=value_formatter(param.default)) + if param.default is not param.empty else param + for param in params])) + # Move opening parenthesis before newline. + sig = '(\n' + text_wrapper.fill(sig).replace('(', '', 1) + + # How to call the wrapped function. + call = '(\n' + text_wrapper.fill(', '.join( + ('{0}={0}' if param.kind in [Parameter.POSITIONAL_OR_KEYWORD, + Parameter.KEYWORD_ONLY] else + '*{0}' if param.kind is Parameter.VAR_POSITIONAL else + '**{0}' if param.kind is Parameter.VAR_KEYWORD else + # Intentionally crash for Parameter.POSITIONAL_ONLY. + None).format(param.name) + for param in params) + ')') + + # Bail out in case of name collision. + for reserved in ('gca', 'gci', '__ret'): + if reserved in params: + raise ValueError( + 'Axes method {} has kwarg named {}'.format(func, reserved)) + + yield fmt % locals() cmaps = ( 'autumn', @@ -328,7 +280,8 @@ def build_pyplot(): try: pyplot_orig = pyplot_orig[:pyplot_orig.index(PYPLOT_MAGIC_HEADER) + 1] except IndexError: - raise ValueError('The pyplot.py file *must* have the exact line: %s' % PYPLOT_MAGIC_HEADER) + raise ValueError('The pyplot.py file *must* have the exact line: %s' + % PYPLOT_MAGIC_HEADER) pyplot = open(pyplot_path, 'w') pyplot.writelines(pyplot_orig) From 0293e8ab145b95c90d619d11cc42352342e1e0fd Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sat, 31 Mar 2018 17:33:27 +0200 Subject: [PATCH 0452/1161] Improve boilerplate signature format for short signatures --- lib/matplotlib/pyplot.py | 234 +++++++++++++-------------------------- tools/boilerplate.py | 12 +- 2 files changed, 86 insertions(+), 160 deletions(-) diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index 98aaa6d2f06b..9770a7dfe8e7 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -2430,10 +2430,8 @@ def _autogen_docstring(base): # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.acorr) -def acorr( - x, *, data=None, **kwargs): - return gca().acorr( - x=x, data=data, **kwargs) +def acorr(x, *, data=None, **kwargs): + return gca().acorr(x=x, data=data, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.angle_spectrum) @@ -2446,73 +2444,53 @@ def angle_spectrum( # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.annotate) -def annotate( - text, xy, *args, **kwargs): - return gca().annotate( - text=text, xy=xy, *args, **kwargs) +def annotate(text, xy, *args, **kwargs): + return gca().annotate(text=text, xy=xy, *args, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.arrow) -def arrow( - x, y, dx, dy, **kwargs): - return gca().arrow( - x=x, y=y, dx=dx, dy=dy, **kwargs) +def arrow(x, y, dx, dy, **kwargs): + return gca().arrow(x=x, y=y, dx=dx, dy=dy, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.autoscale) -def autoscale( - enable=True, axis='both', tight=None): - return gca().autoscale( - enable=enable, axis=axis, tight=tight) +def autoscale(enable=True, axis='both', tight=None): + return gca().autoscale(enable=enable, axis=axis, tight=tight) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.axhline) -def axhline( - y=0, xmin=0, xmax=1, **kwargs): - return gca().axhline( - y=y, xmin=xmin, xmax=xmax, **kwargs) +def axhline(y=0, xmin=0, xmax=1, **kwargs): + return gca().axhline(y=y, xmin=xmin, xmax=xmax, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.axhspan) -def axhspan( - ymin, ymax, xmin=0, xmax=1, **kwargs): - return gca().axhspan( - ymin=ymin, ymax=ymax, xmin=xmin, xmax=xmax, **kwargs) +def axhspan(ymin, ymax, xmin=0, xmax=1, **kwargs): + return gca().axhspan(ymin=ymin, ymax=ymax, xmin=xmin, xmax=xmax, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.axvline) -def axvline( - x=0, ymin=0, ymax=1, **kwargs): - return gca().axvline( - x=x, ymin=ymin, ymax=ymax, **kwargs) +def axvline(x=0, ymin=0, ymax=1, **kwargs): + return gca().axvline(x=x, ymin=ymin, ymax=ymax, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.axvspan) -def axvspan( - xmin, xmax, ymin=0, ymax=1, **kwargs): - return gca().axvspan( - xmin=xmin, xmax=xmax, ymin=ymin, ymax=ymax, **kwargs) +def axvspan(xmin, xmax, ymin=0, ymax=1, **kwargs): + return gca().axvspan(xmin=xmin, xmax=xmax, ymin=ymin, ymax=ymax, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.bar) -def bar( - *args, data=None, **kwargs): - return gca().bar( - *args, data=data, **kwargs) +def bar(*args, data=None, **kwargs): + return gca().bar(*args, data=data, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.barbs) -def barbs( - *args, data=None, **kw): - return gca().barbs( - *args, data=data, **kw) +def barbs(*args, data=None, **kw): + return gca().barbs(*args, data=data, **kw) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.barh) -def barh( - *args, **kwargs): - return gca().barh( - *args, **kwargs) +def barh(*args, **kwargs): + return gca().barh(*args, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.boxplot) @@ -2539,24 +2517,19 @@ def boxplot( # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.broken_barh) -def broken_barh( - xranges, yrange, *, data=None, **kwargs): +def broken_barh(xranges, yrange, *, data=None, **kwargs): return gca().broken_barh( xranges=xranges, yrange=yrange, data=data, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.cla) -def cla( - ): - return gca().cla( - ) +def cla(): + return gca().cla() # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.clabel) -def clabel( - CS, *args, **kwargs): - return gca().clabel( - CS=CS, *args, **kwargs) +def clabel(CS, *args, **kwargs): + return gca().clabel(CS=CS, *args, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.cohere) @@ -2571,19 +2544,15 @@ def cohere( # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.contour) -def contour( - *args, data=None, **kwargs): - __ret = gca().contour( - *args, data=data, **kwargs) +def contour(*args, data=None, **kwargs): + __ret = gca().contour(*args, data=data, **kwargs) if __ret._A is not None: sci(__ret) return __ret # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.contourf) -def contourf( - *args, data=None, **kwargs): - __ret = gca().contourf( - *args, data=data, **kwargs) +def contourf(*args, data=None, **kwargs): + __ret = gca().contourf(*args, data=data, **kwargs) if __ret._A is not None: sci(__ret) return __ret @@ -2627,10 +2596,8 @@ def eventplot( # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.fill) -def fill( - *args, data=None, **kwargs): - return gca().fill( - *args, data=data, **kwargs) +def fill(*args, data=None, **kwargs): + return gca().fill(*args, data=data, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.fill_between) @@ -2652,10 +2619,8 @@ def fill_betweenx( # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.grid) -def grid( - b=None, which='major', axis='both', **kwargs): - return gca().grid( - b=b, which=which, axis=axis, **kwargs) +def grid(b=None, which='major', axis='both', **kwargs): + return gca().grid(b=b, which=which, axis=axis, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.hexbin) @@ -2727,24 +2692,18 @@ def imshow( # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.legend) -def legend( - *args, **kwargs): - return gca().legend( - *args, **kwargs) +def legend(*args, **kwargs): + return gca().legend(*args, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.locator_params) -def locator_params( - axis='both', tight=None, **kwargs): - return gca().locator_params( - axis=axis, tight=tight, **kwargs) +def locator_params(axis='both', tight=None, **kwargs): + return gca().locator_params(axis=axis, tight=tight, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.loglog) -def loglog( - *args, **kwargs): - return gca().loglog( - *args, **kwargs) +def loglog(*args, **kwargs): + return gca().loglog(*args, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.magnitude_spectrum) @@ -2757,26 +2716,20 @@ def magnitude_spectrum( # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.margins) -def margins( - *args, **kw): - return gca().margins( - *args, **kw) +def margins(*args, **kw): + return gca().margins(*args, **kw) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.pcolor) -def pcolor( - *args, data=None, **kwargs): - __ret = gca().pcolor( - *args, data=data, **kwargs) +def pcolor(*args, data=None, **kwargs): + __ret = gca().pcolor(*args, data=data, **kwargs) sci(__ret) return __ret # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.pcolormesh) -def pcolormesh( - *args, data=None, **kwargs): - __ret = gca().pcolormesh( - *args, data=data, **kwargs) +def pcolormesh(*args, data=None, **kwargs): + __ret = gca().pcolormesh(*args, data=data, **kwargs) sci(__ret) return __ret @@ -2807,10 +2760,8 @@ def pie( # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.plot) -def plot( - *args, data=None, **kwargs): - return gca().plot( - *args, data=data, **kwargs) +def plot(*args, data=None, **kwargs): + return gca().plot(*args, data=data, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.plot_date) @@ -2835,19 +2786,15 @@ def psd( # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.quiver) -def quiver( - *args, data=None, **kw): - __ret = gca().quiver( - *args, data=data, **kw) +def quiver(*args, data=None, **kw): + __ret = gca().quiver(*args, data=data, **kw) sci(__ret) return __ret # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.quiverkey) -def quiverkey( - Q, X, Y, U, label, **kw): - return gca().quiverkey( - Q=Q, X=X, Y=Y, U=U, label=label, **kw) +def quiverkey(Q, X, Y, U, label, **kw): + return gca().quiverkey(Q=Q, X=X, Y=Y, U=U, label=label, **kw) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.scatter) @@ -2864,17 +2811,13 @@ def scatter( # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.semilogx) -def semilogx( - *args, **kwargs): - return gca().semilogx( - *args, **kwargs) +def semilogx(*args, **kwargs): + return gca().semilogx(*args, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.semilogy) -def semilogy( - *args, **kwargs): - return gca().semilogy( - *args, **kwargs) +def semilogy(*args, **kwargs): + return gca().semilogy(*args, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.specgram) @@ -2904,24 +2847,18 @@ def spy( # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.stackplot) -def stackplot( - x, *args, data=None, **kwargs): - return gca().stackplot( - x=x, *args, data=data, **kwargs) +def stackplot(x, *args, data=None, **kwargs): + return gca().stackplot(x=x, *args, data=data, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.stem) -def stem( - *args, data=None, **kwargs): - return gca().stem( - *args, data=data, **kwargs) +def stem(*args, data=None, **kwargs): + return gca().stem(*args, data=data, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.step) -def step( - x, y, *args, data=None, **kwargs): - return gca().step( - x=x, y=y, *args, data=data, **kwargs) +def step(x, y, *args, data=None, **kwargs): + return gca().step(x=x, y=y, *args, data=data, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.streamplot) @@ -2942,65 +2879,50 @@ def streamplot( # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.table) -def table( - **kwargs): - return gca().table( - **kwargs) +def table(**kwargs): + return gca().table(**kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.text) -def text( - x, y, s, fontdict=None, withdash=False, **kwargs): +def text(x, y, s, fontdict=None, withdash=False, **kwargs): return gca().text( x=x, y=y, s=s, fontdict=fontdict, withdash=withdash, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.tick_params) -def tick_params( - axis='both', **kwargs): - return gca().tick_params( - axis=axis, **kwargs) +def tick_params(axis='both', **kwargs): + return gca().tick_params(axis=axis, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.ticklabel_format) -def ticklabel_format( - **kwargs): - return gca().ticklabel_format( - **kwargs) +def ticklabel_format(**kwargs): + return gca().ticklabel_format(**kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.tricontour) -def tricontour( - *args, **kwargs): - __ret = gca().tricontour( - *args, **kwargs) +def tricontour(*args, **kwargs): + __ret = gca().tricontour(*args, **kwargs) if __ret._A is not None: sci(__ret) return __ret # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.tricontourf) -def tricontourf( - *args, **kwargs): - __ret = gca().tricontourf( - *args, **kwargs) +def tricontourf(*args, **kwargs): + __ret = gca().tricontourf(*args, **kwargs) if __ret._A is not None: sci(__ret) return __ret # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.tripcolor) -def tripcolor( - *args, **kwargs): - __ret = gca().tripcolor( - *args, **kwargs) +def tripcolor(*args, **kwargs): + __ret = gca().tripcolor(*args, **kwargs) sci(__ret) return __ret # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.triplot) -def triplot( - *args, **kwargs): - return gca().triplot( - *args, **kwargs) +def triplot(*args, **kwargs): + return gca().triplot(*args, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.violinplot) diff --git a/tools/boilerplate.py b/tools/boilerplate.py index 5299a898c396..1c546031a8b3 100644 --- a/tools/boilerplate.py +++ b/tools/boilerplate.py @@ -218,18 +218,22 @@ def __repr__(self): param.replace(default=value_formatter(param.default)) if param.default is not param.empty else param for param in params])) - # Move opening parenthesis before newline. - sig = '(\n' + text_wrapper.fill(sig).replace('(', '', 1) + if len('def ' + func + sig) >= 80: + # Move opening parenthesis before newline. + sig = '(\n' + text_wrapper.fill(sig).replace('(', '', 1) # How to call the wrapped function. - call = '(\n' + text_wrapper.fill(', '.join( + call = '(' + ', '.join( ('{0}={0}' if param.kind in [Parameter.POSITIONAL_OR_KEYWORD, Parameter.KEYWORD_ONLY] else '*{0}' if param.kind is Parameter.VAR_POSITIONAL else '**{0}' if param.kind is Parameter.VAR_KEYWORD else # Intentionally crash for Parameter.POSITIONAL_ONLY. None).format(param.name) - for param in params) + ')') + for param in params) + ')' + MAX_CALL_PREFIX = 18 # len(' __ret = gca().') + if MAX_CALL_PREFIX + len(func) + len(call) >= 80: + call = '(\n' + text_wrapper.fill(call[1:]) # Bail out in case of name collision. for reserved in ('gca', 'gci', '__ret'): From ee1c0663fd5cbecabe24f7d9de0fc6b895aef518 Mon Sep 17 00:00:00 2001 From: Kieran Ramos <ramos.kieran@gmail.com> Date: Sat, 31 Mar 2018 14:16:27 -0400 Subject: [PATCH 0453/1161] Update definition of area in scatter examples --- examples/lines_bars_and_markers/scatter_masked.py | 2 +- examples/shapes_and_collections/scatter.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/lines_bars_and_markers/scatter_masked.py b/examples/lines_bars_and_markers/scatter_masked.py index fd6d5d36783e..e5dc3d58491f 100644 --- a/examples/lines_bars_and_markers/scatter_masked.py +++ b/examples/lines_bars_and_markers/scatter_masked.py @@ -18,7 +18,7 @@ r0 = 0.6 x = 0.9 * np.random.rand(N) y = 0.9 * np.random.rand(N) -area = np.pi * (10 * np.random.rand(N))**2 # 0 to 10 point radii +area = (20 * np.random.rand(N))**2 # 0 to 10 point radii c = np.sqrt(area) r = np.sqrt(x * x + y * y) area1 = np.ma.masked_where(r < r0, area) diff --git a/examples/shapes_and_collections/scatter.py b/examples/shapes_and_collections/scatter.py index 1f302b450012..41678ee7f3ec 100644 --- a/examples/shapes_and_collections/scatter.py +++ b/examples/shapes_and_collections/scatter.py @@ -16,7 +16,7 @@ x = np.random.rand(N) y = np.random.rand(N) colors = np.random.rand(N) -area = np.pi * (15 * np.random.rand(N))**2 # 0 to 15 point radii +area = (30 * np.random.rand(N))**2 # 0 to 15 point radii plt.scatter(x, y, s=area, c=colors, alpha=0.5) plt.show() From a10b90c1ef346d6d77f545cea2c0a2d6a8a8ddff Mon Sep 17 00:00:00 2001 From: jerrylui803 <jerrylui803@gmail.com> Date: Sat, 31 Mar 2018 16:04:27 -0400 Subject: [PATCH 0454/1161] Changed pie charts default shape to circle and added tests (#10914) API: set aspect in Axes.pie to be 'equal' * Changed pie charts default shape to circle (instead of oval), and added tests * Updated comments for default circular pie chart * fix pep8 * removed unneccessary test case and updated docstring * added what's new entry and edited docstring for pie * fix pep8 * fixed typo --- doc/users/next_whats_new/pie_chart_default.rst | 8 ++++++++ lib/matplotlib/axes/_axes.py | 3 +++ .../baseline_images/test_axes/pie_default.png | Bin 0 -> 51529 bytes lib/matplotlib/tests/test_axes.py | 12 ++++++++++++ 4 files changed, 23 insertions(+) create mode 100644 doc/users/next_whats_new/pie_chart_default.rst create mode 100644 lib/matplotlib/tests/baseline_images/test_axes/pie_default.png diff --git a/doc/users/next_whats_new/pie_chart_default.rst b/doc/users/next_whats_new/pie_chart_default.rst new file mode 100644 index 000000000000..2b7c7b9c59cd --- /dev/null +++ b/doc/users/next_whats_new/pie_chart_default.rst @@ -0,0 +1,8 @@ +Pie charts are now circular by default +-------------------------------------- +We acknowledge that the majority of people do not like egg-shaped pies. +Therefore, an axes to which a pie chart is plotted will be set to have +equal aspect ratio by default. This ensures that the pie appears circular +independent on the axes size or units. To revert to the previous behaviour +you may set the axes' aspect to automatic, ax.set_aspect("auto") or +plt.axis("auto"). \ No newline at end of file diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 375b5b9a63b5..4383a00a9b97 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -2624,7 +2624,10 @@ def pie(self, x, explode=None, labels=None, colors=None, ----- The pie chart will probably look best if the figure and axes are square, or the Axes aspect is equal. + This method sets the aspect ratio of the axis to "equal". + The axes aspect ratio can be controlled with `Axes.set_aspect`. """ + self.set_aspect('equal') x = np.array(x, np.float32) sx = x.sum() diff --git a/lib/matplotlib/tests/baseline_images/test_axes/pie_default.png b/lib/matplotlib/tests/baseline_images/test_axes/pie_default.png new file mode 100644 index 0000000000000000000000000000000000000000..1c0c6c2c0577281d569af441f2d2048e8956554e GIT binary patch literal 51529 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 YpRtB<<=hjU;LspRiOY!<i+u9^AMRNHegFUf literal 0 HcmV?d00001 diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index 5b808e820c76..e5d0ddf529ab 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -4540,6 +4540,18 @@ def test_text_labelsize(): ax.tick_params(direction='out') +@image_comparison(baseline_images=['pie_default'], extensions=['png']) +def test_pie_default(): + # The slices will be ordered and plotted counter-clockwise. + labels = 'Frogs', 'Hogs', 'Dogs', 'Logs' + sizes = [15, 30, 45, 10] + colors = ['yellowgreen', 'gold', 'lightskyblue', 'lightcoral'] + explode = (0, 0.1, 0, 0) # only "explode" the 2nd slice (i.e. 'Hogs') + fig1, ax1 = plt.subplots(figsize=(8, 6)) + pie1 = ax1.pie(sizes, explode=explode, labels=labels, colors=colors, + autopct='%1.1f%%', shadow=True, startangle=90) + + @image_comparison(baseline_images=['pie_linewidth_0', 'pie_linewidth_0', 'pie_linewidth_0'], extensions=['png']) From ba9b7caace36d81c0ed1b0475f2e3378ac1cfdc8 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Sat, 31 Mar 2018 21:44:38 -0700 Subject: [PATCH 0455/1161] FIX: Postscript allow empty markers --- lib/matplotlib/backends/backend_ps.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/matplotlib/backends/backend_ps.py b/lib/matplotlib/backends/backend_ps.py index a43ab350c922..d3bc8814545e 100644 --- a/lib/matplotlib/backends/backend_ps.py +++ b/lib/matplotlib/backends/backend_ps.py @@ -525,11 +525,12 @@ def draw_markers( if rgbFace: if len(rgbFace) == 4 and rgbFace[3] == 0: - return - if rgbFace[0] == rgbFace[1] == rgbFace[2]: - ps_color = '%1.3f setgray' % rgbFace[0] + ps_color = None else: - ps_color = '%1.3f %1.3f %1.3f setrgbcolor' % rgbFace[:3] + if rgbFace[0] == rgbFace[1] == rgbFace[2]: + ps_color = '%1.3f setgray' % rgbFace[0] + else: + ps_color = '%1.3f %1.3f %1.3f setrgbcolor' % rgbFace[:3] # construct the generic marker command: ps_cmd = ['/o {', 'gsave', 'newpath', 'translate'] # don't want the translate to be global @@ -549,7 +550,8 @@ def draw_markers( if rgbFace: if stroke: ps_cmd.append('gsave') - ps_cmd.extend([ps_color, 'fill']) + if ps_color: + ps_cmd.extend([ps_color, 'fill']) if stroke: ps_cmd.append('grestore') From abf260f930b9f20578175bace0aeeb1a77b4dd68 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Thu, 29 Mar 2018 07:05:09 -0700 Subject: [PATCH 0456/1161] TST: tight_layout having negative width axes --- lib/matplotlib/tests/test_tightlayout.py | 38 ++++++++++++++++++++++++ lib/matplotlib/tight_layout.py | 14 ++++++--- 2 files changed, 48 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/tests/test_tightlayout.py b/lib/matplotlib/tests/test_tightlayout.py index f7e571958610..0516971d2d9c 100644 --- a/lib/matplotlib/tests/test_tightlayout.py +++ b/lib/matplotlib/tests/test_tightlayout.py @@ -272,3 +272,41 @@ def test_empty_layout(): fig = plt.gcf() fig.tight_layout() + + +def test_verybig_decorators_horizontal(): + "Test that warning emitted when xlabel too big" + fig, ax = plt.subplots(figsize=(3, 2)) + ax.set_xlabel('a' * 100) + with warnings.catch_warnings(record=True) as w: + fig.tight_layout() + assert len(w) == 1 + + +def test_verybig_decorators_vertical(): + "Test that warning emitted when xlabel too big" + fig, ax = plt.subplots(figsize=(3, 2)) + ax.set_ylabel('a' * 100) + with warnings.catch_warnings(record=True) as w: + fig.tight_layout() + assert len(w) == 1 + + +def test_big_decorators_horizontal(): + "Test that warning emitted when xlabel too big" + fig, axs = plt.subplots(1, 2, figsize=(3, 2)) + axs[0].set_xlabel('a' * 30) + axs[1].set_xlabel('b' * 30) + with warnings.catch_warnings(record=True) as w: + fig.tight_layout() + assert len(w) == 1 + + +def test_big_decorators_vertical(): + "Test that warning emitted when xlabel too big" + fig, axs = plt.subplots(2, 1, figsize=(3, 2)) + axs[0].set_ylabel('a' * 20) + axs[1].set_ylabel('b' * 20) + with warnings.catch_warnings(record=True) as w: + fig.tight_layout() + assert len(w) == 1 diff --git a/lib/matplotlib/tight_layout.py b/lib/matplotlib/tight_layout.py index f82ec5187df7..f5a05ce02b7e 100644 --- a/lib/matplotlib/tight_layout.py +++ b/lib/matplotlib/tight_layout.py @@ -175,7 +175,13 @@ def auto_adjust_subplotpars( margin_left = 0.4999 margin_right = 0.4999 warnings.warn('The left and right margins cannot be made large ' - 'enough to accomodate all axes decorations. ') + 'enough to accommodate all axes decorations. ') + if margin_bottom + margin_top >= 1: + margin_bottom = 0.4999 + margin_top = 0.4999 + warnings.warn('The bottom and top margins cannot be made large ' + 'enough to accommodate all axes decorations. ') + kwargs = dict(left=margin_left, right=1 - margin_right, bottom=margin_bottom, @@ -188,9 +194,9 @@ def auto_adjust_subplotpars( + hpad_inches / fig_width_inch) # axes widths: h_axes = (1 - margin_right - margin_left - hspace * (cols - 1)) / cols - if h_axes < 0.: + if h_axes < 0: warnings.warn('tight_layout cannot make axes width small enough ' - 'to accomodate all axes decorations') + 'to accommodate all axes decorations') kwargs["wspace"] = 0.5 else: kwargs["wspace"] = hspace / h_axes @@ -201,7 +207,7 @@ def auto_adjust_subplotpars( v_axes = (1 - margin_top - margin_bottom - vspace * (rows - 1)) / rows if v_axes < 0: warnings.warn('tight_layout cannot make axes height small enough ' - 'to accomodate all axes decorations') + 'to accommodate all axes decorations') kwargs["hspace"] = 0.5 else: kwargs["hspace"] = vspace / v_axes From 001839e1dc1fb735df60f1b51468795ccbef0253 Mon Sep 17 00:00:00 2001 From: cclauss <cclauss@bluewin.ch> Date: Sun, 1 Apr 2018 20:00:47 +0200 Subject: [PATCH 0457/1161] Fix two undefined names --- lib/matplotlib/pyplot.py | 2 +- lib/matplotlib/testing/decorators.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index e9c30eb13deb..18af2cbf430c 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -2834,7 +2834,7 @@ def spy( __ret = gca().spy( Z=Z, precision=precision, marker=marker, markersize=markersize, aspect=aspect, origin=origin, **kwargs) - if isinstance(ret, cm.ScalarMappable): sci(__ret) + if isinstance(__ret, cm.ScalarMappable): sci(__ret) return __ret # Autogenerated by boilerplate.py. Do not edit as changes will be lost. diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py index df80c150d353..faba2e24718f 100644 --- a/lib/matplotlib/testing/decorators.py +++ b/lib/matplotlib/testing/decorators.py @@ -1,5 +1,6 @@ from distutils.version import StrictVersion import functools +import inspect import os from pathlib import Path import shutil From e7c0ab1398419f47c5473fa21e530cdef856df99 Mon Sep 17 00:00:00 2001 From: cclauss <cclauss@bluewin.ch> Date: Sun, 1 Apr 2018 22:48:27 +0200 Subject: [PATCH 0458/1161] =?UTF-8?q?Change=20ret=20=E2=80=94>=20=5F=5Fret?= =?UTF-8?q?=20in=20boilerplate.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A more permanent fix to the undefined name issue. --- tools/boilerplate.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/boilerplate.py b/tools/boilerplate.py index 0c8b92df15e5..25bae7c7814b 100644 --- a/tools/boilerplate.py +++ b/tools/boilerplate.py @@ -149,7 +149,7 @@ def boilerplate_gen(): 'pcolormesh': 'sci(__ret)', 'hist2d': 'sci(__ret[-1])', 'imshow': 'sci(__ret)', - 'spy': 'if isinstance(ret, cm.ScalarMappable): sci(__ret)', + 'spy': 'if isinstance(__ret, cm.ScalarMappable): sci(__ret)', 'quiver': 'sci(__ret)', 'specgram': 'sci(__ret[-1])', 'streamplot': 'sci(__ret.lines)', From b9e15d2256b883c4d5622e677ef7eaa16a563b25 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Mon, 2 Apr 2018 12:31:10 +0200 Subject: [PATCH 0459/1161] Make active param in CheckBottons optional, default false --- lib/matplotlib/widgets.py | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/lib/matplotlib/widgets.py b/lib/matplotlib/widgets.py index f9e8321d8bff..f8d1c47ce0e6 100644 --- a/lib/matplotlib/widgets.py +++ b/lib/matplotlib/widgets.py @@ -503,16 +503,21 @@ class CheckButtons(AxesWidget): Connect to the CheckButtons with the :meth:`on_clicked` method """ - def __init__(self, ax, labels, actives): + def __init__(self, ax, labels, actives=None): """ Add check buttons to :class:`matplotlib.axes.Axes` instance *ax* - *labels* - A len(buttons) list of labels as strings + Parameters + ---------- + ax : `~matplotlib.axes.Axes` + The parent axes for the widget. + + labels : List[str] + The labels of the check buttons. - *actives* - A len(buttons) list of booleans indicating whether - the button is active + actives : List[bool], optional + The initial check states of the buttons. The list must have the + same length as *labels*. If not given, all buttons are unchecked. """ AxesWidget.__init__(self, ax) @@ -520,6 +525,9 @@ def __init__(self, ax, labels, actives): ax.set_yticks([]) ax.set_navigate(False) + if actives is None: + actives = [False] * len(labels) + if len(labels) > 1: dy = 1. / (len(labels) + 1) ys = np.linspace(1 - dy, dy, len(labels)) @@ -527,7 +535,6 @@ def __init__(self, ax, labels, actives): dy = 0.25 ys = [0.5] - cnt = 0 axcolor = ax.get_facecolor() self.labels = [] @@ -536,13 +543,13 @@ def __init__(self, ax, labels, actives): lineparams = {'color': 'k', 'linewidth': 1.25, 'transform': ax.transAxes, 'solid_capstyle': 'butt'} - for y, label in zip(ys, labels): + for y, label, active in zip(ys, labels, actives): t = ax.text(0.25, y, label, transform=ax.transAxes, horizontalalignment='left', verticalalignment='center') - w, h = dy / 2., dy / 2. - x, y = 0.05, y - h / 2. + w, h = dy / 2, dy / 2 + x, y = 0.05, y - h / 2 p = Rectangle(xy=(x, y), width=w, height=h, edgecolor='black', facecolor=axcolor, transform=ax.transAxes) @@ -550,15 +557,14 @@ def __init__(self, ax, labels, actives): l1 = Line2D([x, x + w], [y + h, y], **lineparams) l2 = Line2D([x, x + w], [y, y + h], **lineparams) - l1.set_visible(actives[cnt]) - l2.set_visible(actives[cnt]) + l1.set_visible(active) + l2.set_visible(active) self.labels.append(t) self.rectangles.append(p) self.lines.append((l1, l2)) ax.add_patch(p) ax.add_line(l1) ax.add_line(l2) - cnt += 1 self.connect_event('button_press_event', self._clicked) From 8328e2c57ca451d1968358683ef397af7ba1459f Mon Sep 17 00:00:00 2001 From: ImportanceOfBeingErnest <elch.rz@ruetz-online.de> Date: Mon, 2 Apr 2018 14:37:52 +0200 Subject: [PATCH 0460/1161] update-pie-textprops --- lib/matplotlib/axes/_axes.py | 12 ++++++------ lib/matplotlib/tests/test_axes.py | 22 ++++++++++++++++++++++ 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index d476deb356fd..799fe5dc0403 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -2749,13 +2749,13 @@ def get_next_color(): if rotatelabels: label_alignment_v = yt > 0 and 'bottom' or 'top' label_rotation = np.rad2deg(thetam) + (0 if xt > 0 else 180) + props = dict(horizontalalignment = label_alignment_h, + verticalalignment = label_alignment_v, + rotation = label_rotation, + size = rcParams['xtick.labelsize']) + props.update(textprops) - t = self.text(xt, yt, label, - size=rcParams['xtick.labelsize'], - horizontalalignment=label_alignment_h, - verticalalignment=label_alignment_v, - rotation=label_rotation, - **textprops) + t = self.text(xt, yt, label, **props) texts.append(t) diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index 479e55b37251..a4a7896c8a50 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -4666,6 +4666,28 @@ def test_pie_rotatelabels_true(): plt.axis('equal') +def test_pie_textprops(): + data = [23,34,45] + labels=["Long name 1", "Long name 2", "Long name 3"] + + textprops = dict(horizontalalignment="center", + verticalalignment="top", + rotation=90, + rotation_mode="anchor", + size=12, color="red") + + _, texts, autopct = plt.gca().pie(data, labels=labels, autopct='%.2f', + textprops=textprops) + for labels in [texts,autopct]: + for tx in labels: + assert tx.get_ha() == textprops["horizontalalignment"] + assert tx.get_va() == textprops["verticalalignment"] + assert tx.get_rotation() == textprops["rotation"] + assert tx.get_rotation_mode() == textprops["rotation_mode"] + assert tx.get_size() == textprops["size"] + assert tx.get_color() == textprops["color"] + + @image_comparison(baseline_images=['set_get_ticklabels'], extensions=['png']) def test_set_get_ticklabels(): # test issue 2246 From 1bbf59969cf1a0bb007c5d9191c8e76dae029890 Mon Sep 17 00:00:00 2001 From: ImportanceOfBeingErnest <elch.rz@ruetz-online.de> Date: Mon, 2 Apr 2018 14:41:28 +0200 Subject: [PATCH 0461/1161] update-pie-textprops --- lib/matplotlib/axes/_axes.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 799fe5dc0403..3d9ed6e2e10a 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -2770,10 +2770,10 @@ def get_next_color(): raise TypeError( 'autopct must be callable or a format string') - t = self.text(xt, yt, s, - horizontalalignment='center', - verticalalignment='center', - **textprops) + props = dict(horizontalalignment='center', + verticalalignment='center') + props.update(textprops) + t = self.text(xt, yt, s, **props) autotexts.append(t) From 03880837d7f0a4bfa2d02b671b697c80dfecc36a Mon Sep 17 00:00:00 2001 From: ImportanceOfBeingErnest <elch.rz@ruetz-online.de> Date: Mon, 2 Apr 2018 15:12:54 +0200 Subject: [PATCH 0462/1161] update-pie-textprops (with PEPper) --- lib/matplotlib/axes/_axes.py | 8 ++++---- lib/matplotlib/tests/test_axes.py | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 3d9ed6e2e10a..8067e49571cb 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -2749,10 +2749,10 @@ def get_next_color(): if rotatelabels: label_alignment_v = yt > 0 and 'bottom' or 'top' label_rotation = np.rad2deg(thetam) + (0 if xt > 0 else 180) - props = dict(horizontalalignment = label_alignment_h, - verticalalignment = label_alignment_v, - rotation = label_rotation, - size = rcParams['xtick.labelsize']) + props = dict(horizontalalignment=label_alignment_h, + verticalalignment=label_alignment_v, + rotation=label_rotation, + size=rcParams['xtick.labelsize']) props.update(textprops) t = self.text(xt, yt, label, **props) diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index a4a7896c8a50..2e256bcbdcc0 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -4667,8 +4667,8 @@ def test_pie_rotatelabels_true(): def test_pie_textprops(): - data = [23,34,45] - labels=["Long name 1", "Long name 2", "Long name 3"] + data = [23, 34, 45] + labels = ["Long name 1", "Long name 2", "Long name 3"] textprops = dict(horizontalalignment="center", verticalalignment="top", @@ -4678,7 +4678,7 @@ def test_pie_textprops(): _, texts, autopct = plt.gca().pie(data, labels=labels, autopct='%.2f', textprops=textprops) - for labels in [texts,autopct]: + for labels in [texts, autopct]: for tx in labels: assert tx.get_ha() == textprops["horizontalalignment"] assert tx.get_va() == textprops["verticalalignment"] From 691c7e6a37c7294f8ae1a6c24662f6e13f61bb4b Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sun, 4 Mar 2018 20:35:39 -0800 Subject: [PATCH 0463/1161] Rewrite the tk C blitting code ... to use the standard Python C-API rather than the tk API. We do not need to support colormodes other than 2 (i.e. RGBA) (previously there was 0 = grayscale, 1 = RGB) so it was simpler to just deprecate the previous function and move everything to a new private one (matplotlib.backends._backend_tk.blit). --- lib/matplotlib/backends/_backend_tk.py | 34 +++++++++++++--- lib/matplotlib/backends/backend_tkagg.py | 8 ++-- lib/matplotlib/backends/backend_tkcairo.py | 12 ++---- lib/matplotlib/backends/tkagg.py | 6 +++ src/_tkagg.cpp | 46 +++++++++++++++++++++- 5 files changed, 87 insertions(+), 19 deletions(-) diff --git a/lib/matplotlib/backends/_backend_tk.py b/lib/matplotlib/backends/_backend_tk.py index 968fe48a6efd..7ba878f20ade 100644 --- a/lib/matplotlib/backends/_backend_tk.py +++ b/lib/matplotlib/backends/_backend_tk.py @@ -1,16 +1,14 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import six from six.moves import tkinter as Tk +import math import logging import os.path import sys -# Paint image to Tk photo blitter extension -import matplotlib.backends.tkagg as tkagg +import numpy as np +from . import _tkagg from matplotlib.backends.backend_agg import FigureCanvasAgg import matplotlib.backends.windowing as windowing @@ -48,11 +46,37 @@ def raise_msg_to_str(msg): msg = '\n'.join(map(str, msg)) return msg + def error_msg_tkpaint(msg, parent=None): from six.moves import tkinter_messagebox as tkMessageBox tkMessageBox.showerror("matplotlib", msg) +def blit(photoimage, aggimage, offsets, bbox=None): + """ + Blit *aggimage* to *photoimage*. + + *offsets* is a tuple describing how to fill the ``offset`` field of the + ``Tk_PhotoImageBlock`` struct: it should be (0, 1, 2, 3) for RGBA8888 data, + (2, 1, 0, 3) for little-endian ARBG32 (i.e. GBRA8888) data and (1, 2, 3, 0) + for big-endian ARGB32 (i.e. ARGB8888) data. + + If *bbox* is passed, it defines the region that gets blitted. + """ + data = np.asarray(aggimage) + height, width = data.shape[:2] + dataptr = (height, width, data.ctypes.data) + if bbox is not None: + (x1, y1), (x2, y2) = bbox.__array__() + bboxptr = (math.floor(x1), math.ceil(x2), + math.floor(y1), math.ceil(y2)) + else: + photoimage.blank() + bboxptr = (0, width, 0, height) + _tkagg.blit( + photoimage.tk.interpaddr(), str(photoimage), dataptr, offsets, bboxptr) + + class TimerTk(TimerBase): ''' Subclass of :class:`backend_bases.TimerBase` that uses Tk's timer events. diff --git a/lib/matplotlib/backends/backend_tkagg.py b/lib/matplotlib/backends/backend_tkagg.py index b4690a6d461f..74d4e4178dd6 100644 --- a/lib/matplotlib/backends/backend_tkagg.py +++ b/lib/matplotlib/backends/backend_tkagg.py @@ -1,4 +1,4 @@ -from . import tkagg # Paint image to Tk photo blitter extension. +from . import _backend_tk from .backend_agg import FigureCanvasAgg from ._backend_tk import ( _BackendTk, FigureCanvasTk, FigureManagerTk, NavigationToolbar2Tk) @@ -7,12 +7,12 @@ class FigureCanvasTkAgg(FigureCanvasAgg, FigureCanvasTk): def draw(self): super(FigureCanvasTkAgg, self).draw() - tkagg.blit(self._tkphoto, self.renderer._renderer, colormode=2) + _backend_tk.blit(self._tkphoto, self.renderer._renderer, (0, 1, 2, 3)) self._master.update_idletasks() def blit(self, bbox=None): - tkagg.blit( - self._tkphoto, self.renderer._renderer, bbox=bbox, colormode=2) + _backend_tk.blit( + self._tkphoto, self.renderer._renderer, (0, 1, 2, 3), bbox=bbox) self._master.update_idletasks() diff --git a/lib/matplotlib/backends/backend_tkcairo.py b/lib/matplotlib/backends/backend_tkcairo.py index ef3c79c93664..56505193014d 100644 --- a/lib/matplotlib/backends/backend_tkcairo.py +++ b/lib/matplotlib/backends/backend_tkcairo.py @@ -2,7 +2,7 @@ import numpy as np -from . import tkagg # Paint image to Tk photo blitter extension. +from . import _backend_tk from .backend_cairo import cairo, FigureCanvasCairo, RendererCairo from ._backend_tk import _BackendTk, FigureCanvasTk @@ -20,13 +20,9 @@ def draw(self): self._renderer.set_width_height(width, height) self.figure.draw(self._renderer) buf = np.reshape(surface.get_data(), (height, width, 4)) - # Convert from ARGB32 to RGBA8888. Using .take() instead of directly - # indexing ensures C-contiguity of the result, which is needed by - # tkagg. - buf = buf.take( - [2, 1, 0, 3] if sys.byteorder == "little" else [1, 2, 3, 0], - axis=2) - tkagg.blit(self._tkphoto, buf, colormode=2) + _backend_tk.blit( + self._tkphoto, buf, + (2, 1, 0, 3) if sys.byteorder == "little" else (1, 2, 3, 0)) self._master.update_idletasks() diff --git a/lib/matplotlib/backends/tkagg.py b/lib/matplotlib/backends/tkagg.py index 274fe23e40f6..0d2b7801c9bd 100644 --- a/lib/matplotlib/backends/tkagg.py +++ b/lib/matplotlib/backends/tkagg.py @@ -2,8 +2,14 @@ import numpy as np +from matplotlib import cbook from matplotlib.backends import _tkagg + +cbook.warn_deprecated( + "3.0", "The matplotlib.backends.tkagg module is deprecated.") + + def blit(photoimage, aggimage, bbox=None, colormode=1): tk = photoimage.tk diff --git a/src/_tkagg.cpp b/src/_tkagg.cpp index 6d130c0ceace..3ba57f8d5a40 100644 --- a/src/_tkagg.cpp +++ b/src/_tkagg.cpp @@ -203,9 +203,50 @@ static PyObject *_tkinit(PyObject *self, PyObject *args) return Py_None; } +static PyObject *mpl_tk_blit(PyObject *self, PyObject *args) +{ + Tcl_Interp *interp; + char const *photo_name; + int height, width; + unsigned char *data_ptr; + int o0, o1, o2, o3; + int x1, x2, y1, y2; + Tk_PhotoHandle photo; + Tk_PhotoImageBlock block; + if (!PyArg_ParseTuple(args, "ns(iin)(iiii)(iiii):blit", + &interp, &photo_name, + &height, &width, &data_ptr, + &o0, &o1, &o2, &o3, + &x1, &x2, &y1, &y2)) { + goto exit; + } + if (!(photo = TK_FIND_PHOTO(interp, photo_name))) { + PyErr_SetString(PyExc_ValueError, "Failed to extract Tk_PhotoHandle"); + goto exit; + } + block.pixelPtr = data_ptr + 4 * ((height - y2) * width + x1); + block.width = x2 - x1; + block.height = y2 - y1; + block.pitch = 4 * width; + block.pixelSize = 4; + block.offset[0] = o0; + block.offset[1] = o1; + block.offset[2] = o2; + block.offset[3] = o3; + TK_PHOTO_PUT_BLOCK_NO_COMPOSITE( + photo, &block, x1, height - y2, x2 - x1, y2 - y1); +exit: + if (PyErr_Occurred()) { + return NULL; + } else { + Py_RETURN_NONE; + } +} + static PyMethodDef functions[] = { /* Tkinter interface stuff */ { "tkinit", (PyCFunction)_tkinit, 1 }, + { "blit", (PyCFunction)mpl_tk_blit, 1 }, { NULL, NULL } /* sentinel */ }; @@ -444,8 +485,9 @@ int load_tkinter_funcs(void) } #endif // end not Windows -static PyModuleDef _tkagg_module = { PyModuleDef_HEAD_INIT, "_tkagg", "", -1, functions, - NULL, NULL, NULL, NULL }; +static PyModuleDef _tkagg_module = { + PyModuleDef_HEAD_INIT, "_tkagg", "", -1, functions, NULL, NULL, NULL, NULL +}; PyMODINIT_FUNC PyInit__tkagg(void) { From a0f10b986bbd9ff9133b023a8d7173b0865fa81a Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Fri, 20 Oct 2017 21:11:59 -0700 Subject: [PATCH 0464/1161] ENH: Move title if x-axis is on the top of the figure --- .../title_will_not_overlap_xaxis.rst | 8 +++ examples/ticks_and_spines/tick_xlabel_top.py | 2 +- lib/matplotlib/axes/_base.py | 63 ++++++++++++++++-- .../baseline_images/test_axes/titletwiny.png | Bin 0 -> 13904 bytes lib/matplotlib/tests/test_axes.py | 36 ++++++++++ 5 files changed, 104 insertions(+), 5 deletions(-) create mode 100644 doc/users/next_whats_new/title_will_not_overlap_xaxis.rst create mode 100644 lib/matplotlib/tests/baseline_images/test_axes/titletwiny.png diff --git a/doc/users/next_whats_new/title_will_not_overlap_xaxis.rst b/doc/users/next_whats_new/title_will_not_overlap_xaxis.rst new file mode 100644 index 000000000000..cb7b971a7444 --- /dev/null +++ b/doc/users/next_whats_new/title_will_not_overlap_xaxis.rst @@ -0,0 +1,8 @@ +Axes title will no longer overlap xaxis +--------------------------------------- + +Previously the axes title had to be moved manually if an xaxis overlapped +(usually when the xaxis was put on the top of the axes). The title can +still be placed manually. However, titles that need to be moved are +at ``y=1.0``, so manualy placing at 1.0 will be moved, so if the title +is to be placed at 1.0, it should be set to something near 1.0, like 1.001. diff --git a/examples/ticks_and_spines/tick_xlabel_top.py b/examples/ticks_and_spines/tick_xlabel_top.py index db992e529b92..a437810b06a3 100644 --- a/examples/ticks_and_spines/tick_xlabel_top.py +++ b/examples/ticks_and_spines/tick_xlabel_top.py @@ -23,6 +23,6 @@ fig, ax = plt.subplots() ax.plot(x) -ax.set_title('xlabel top', pad=24) # increase padding to make room for labels +ax.set_title('xlabel top') # Note title moves to make room for ticks plt.show() diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index b771474c585b..ec20f2bc0582 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -1,5 +1,6 @@ from collections import OrderedDict import itertools +import logging import math from operator import attrgetter import types @@ -32,6 +33,8 @@ from matplotlib.rcsetup import cycler from matplotlib.rcsetup import validate_axisbelow +_log = logging.getLogger(__name__) + rcParams = matplotlib.rcParams @@ -1077,6 +1080,8 @@ def cla(self): # refactor this out so it can be called in ax.set_title if # pad argument used... self._set_title_offset_trans(title_offset_points) + # determine if the title position has been set manually: + self._autotitlepos = None for _title in (self.title, self._left_title, self._right_title): self._set_artist_props(_title) @@ -2446,6 +2451,50 @@ def handle_single_axis(scale, autoscaleon, shared_axes, interval, def _get_axis_list(self): return (self.xaxis, self.yaxis) + def _update_title_position(self, renderer): + """ + Update the title position based on the bounding box enclosing + all the ticklabels and x-axis spine and xlabel... + """ + _log.debug('update_title_pos') + + if self._autotitlepos is not None and not self._autotitlepos: + _log.debug('title position was updated manually, not adjusting') + return + + titles = (self.title, self._left_title, self._right_title) + + if self._autotitlepos is None: + for title in titles: + x, y = title.get_position() + if not np.isclose(y, 1.0): + self._autotitlepos = False + _log.debug('not adjusting title pos because title was' + ' already placed manually: %f', y) + return + self._autotitlepos = True + + for title in titles: + x, y0 = title.get_position() + y = 1.0 + # need to check all our twins too... + axs = self._twinned_axes.get_siblings(self) + + for ax in axs: + try: + if (ax.xaxis.get_label_position() == 'top' + or ax.xaxis.get_ticks_position() == 'top'): + bb = ax.xaxis.get_tightbbox(renderer) + top = bb.y1 + # we don't need to pad because the padding is already + # in __init__: titleOffsetTrans + yn = self.transAxes.inverted().transform((0., top))[1] + y = max(y, yn) + except AttributeError: + pass + + title.set_position((x, y)) + # Drawing @allow_rasterization @@ -2459,6 +2508,7 @@ def draw(self, renderer=None, inframe=False): if not self.get_visible(): return renderer.open_group('axes') + # prevent triggering call backs during the draw process self._stale = True locator = self.get_axes_locator() @@ -2479,6 +2529,8 @@ def draw(self, renderer=None, inframe=False): for spine in self.spines.values(): artists.remove(spine) + self._update_title_position(renderer) + if self.axison and not inframe: if self._axisbelow is True: self.xaxis.set_zorder(0.5) @@ -2507,6 +2559,7 @@ def draw(self, renderer=None, inframe=False): # rasterize artists with negative zorder # if the minimum zorder is negative, start rasterization rasterization_zorder = self._rasterization_zorder + if (rasterization_zorder is not None and artists and artists[0].zorder < rasterization_zorder): renderer.start_rasterizing() @@ -4051,6 +4104,12 @@ def get_tightbbox(self, renderer, call_axes_locator=True): else: self.apply_aspect() + bb_xaxis = self.xaxis.get_tightbbox(renderer) + if bb_xaxis: + bb.append(bb_xaxis) + + self._update_title_position(renderer) + bb.append(self.get_window_extent(renderer)) if self.title.get_visible(): @@ -4060,10 +4119,6 @@ def get_tightbbox(self, renderer, call_axes_locator=True): if self._right_title.get_visible(): bb.append(self._right_title.get_window_extent(renderer)) - bb_xaxis = self.xaxis.get_tightbbox(renderer) - if bb_xaxis: - bb.append(bb_xaxis) - bb_yaxis = self.yaxis.get_tightbbox(renderer) if bb_yaxis: bb.append(bb_yaxis) diff --git a/lib/matplotlib/tests/baseline_images/test_axes/titletwiny.png b/lib/matplotlib/tests/baseline_images/test_axes/titletwiny.png new file mode 100644 index 0000000000000000000000000000000000000000..670a4bebbd654cfe81af364b963ce21a2218b0d0 GIT binary patch literal 13904 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 literal 0 HcmV?d00001 diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index 5a3a3e5d4253..6eae5a7227d5 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -5411,6 +5411,42 @@ def test_axisbelow(): ax.set_axisbelow(setting) +@image_comparison(baseline_images=['titletwiny'], style='mpl20', + extensions=['png']) +def test_titletwiny(): + # Test that title is put above xlabel if xlabel at top + fig, ax = plt.subplots() + fig.subplots_adjust(top=0.8) + ax2 = ax.twiny() + ax.set_xlabel('Xlabel') + ax2.set_xlabel('Xlabel2') + ax.set_title('Title') + + +def test_titlesetpos(): + # Test that title stays put if we set it manually + fig, ax = plt.subplots() + fig.subplots_adjust(top=0.8) + ax2 = ax.twiny() + ax.set_xlabel('Xlabel') + ax2.set_xlabel('Xlabel2') + ax.set_title('Title') + pos = (0.5, 1.11) + ax.title.set_position(pos) + renderer = fig.canvas.get_renderer() + ax._update_title_position(renderer) + assert ax.title.get_position() == pos + + +def test_title_xticks_top(): + # Test that title moves if xticks on top of axes. + fig, ax = plt.subplots() + ax.xaxis.set_ticks_position('top') + ax.set_title('xlabel top') + fig.canvas.draw() + assert ax.title.get_position()[1] > 1.04 + + def test_offset_label_color(): # Tests issue 6440 fig = plt.figure() From 209b759d556950b5af7a880e9e226b956dd9f095 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Thu, 22 Jun 2017 23:45:01 -0700 Subject: [PATCH 0465/1161] Warn on freetype missing glyphs. There is an additional call site to FT_Get_Char_Index in PyFT2Font_get_char_index but that value is directly returned to Python so it would be easier to check for the value there and handle it accordingly (plus, in practice, the same warning will be triggered at the other two call sites at some point anyways). But I can replace that by a warning too. --- src/ft2font.cpp | 17 ++++++++++++++--- src/ft2font_wrapper.cpp | 4 ++-- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/ft2font.cpp b/src/ft2font.cpp index ef622b2e9cac..4e30da77ef46 100644 --- a/src/ft2font.cpp +++ b/src/ft2font.cpp @@ -162,9 +162,19 @@ FT2Image::draw_rect_filled(unsigned long x0, unsigned long y0, unsigned long x1, inline double conv(long v) { - return double(v) / 64.0; + return v / 64.; } +FT_UInt ft_get_char_index_or_warn(FT_Face face, FT_ULong charcode) +{ + FT_UInt glyph_index = FT_Get_Char_Index(face, charcode); + if (!glyph_index) { + PyErr_WarnEx(NULL, "Required glyph missing from current font.", 1); + } + return glyph_index; +} + + int FT2Font::get_path_count() { // get the glyph as a path, a list of (COMMAND, *args) as described in matplotlib.path @@ -611,7 +621,7 @@ void FT2Font::set_text( FT_BBox glyph_bbox; FT_Pos last_advance; - glyph_index = FT_Get_Char_Index(face, codepoints[n]); + glyph_index = ft_get_char_index_or_warn(face, codepoints[n]); // retrieve kerning distance and move pen position if (use_kerning && previous && glyph_index) { @@ -664,7 +674,8 @@ void FT2Font::set_text( void FT2Font::load_char(long charcode, FT_Int32 flags) { - int error = FT_Load_Char(face, (unsigned long)charcode, flags); + FT_UInt glyph_index = ft_get_char_index_or_warn(face, (FT_ULong)charcode); + int error = FT_Load_Glyph(face, glyph_index, flags); if (error) { throw std::runtime_error("Could not load charcode"); diff --git a/src/ft2font_wrapper.cpp b/src/ft2font_wrapper.cpp index a90c7b115e0e..3ebaffffb9d2 100644 --- a/src/ft2font_wrapper.cpp +++ b/src/ft2font_wrapper.cpp @@ -998,8 +998,8 @@ static PyObject *PyFT2Font_get_char_index(PyFT2Font *self, PyObject *args, PyObj const char *PyFT2Font_get_sfnt__doc__ = "get_sfnt(name)\n" "\n" - "Get all values from the SFNT names table. Result is a dictionary whose" - "key is the platform-ID, ISO-encoding-scheme, language-code, and" + "Get all values from the SFNT names table. Result is a dictionary whose " + "key is the platform-ID, ISO-encoding-scheme, language-code, and " "description.\n"; static PyObject *PyFT2Font_get_sfnt(PyFT2Font *self, PyObject *args, PyObject *kwds) From 1124ec966371a789e398df667d01bdfce95d9eca Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Tue, 3 Apr 2018 00:13:47 -0400 Subject: [PATCH 0466/1161] DOC: add tutorial explaining imshow *origin* and *extent* --- tutorials/intermediate/imshow_extent.py | 179 ++++++++++++++++++++++++ 1 file changed, 179 insertions(+) create mode 100644 tutorials/intermediate/imshow_extent.py diff --git a/tutorials/intermediate/imshow_extent.py b/tutorials/intermediate/imshow_extent.py new file mode 100644 index 000000000000..f0f72bc29ee1 --- /dev/null +++ b/tutorials/intermediate/imshow_extent.py @@ -0,0 +1,179 @@ +""" +*origin* and *extent* in `~.Axes.imshow` +======================================== + +:meth:`~.Axes.imshow` allows you to render an image (either a 2D array +which will be color-mapped (based on *norm* and *cmap*) or and 3D RGB(A) +array which will be used as-is) to a rectangular region in dataspace. +The orientation of the image in the final rendering is controlled by +the *origin* and *extent* kwargs (and attributes on the resulting +`~.AxesImage` instance) and the data limits of the axes. + +The *extent* kwarg controls the bounding box in data coordinates that +the image will fill specified as ``(left, right, bottom, top)`` in +**data coordinates**, the *origin* kwarg controls how the image fills +that bounding box, and the orientation in the final rendered image is +also affected by the axes limits. +""" +import numpy as np +import matplotlib.pyplot as plt +from matplotlib.gridspec import GridSpec + + +def generate_imshow_demo_grid(auto_limits, extents): + N = len(extents) + fig = plt.figure(tight_layout=True) + fig.set_size_inches(6, N * (11.25) / 5) + gs = GridSpec(N, 5, figure=fig) + + columns = {'label': [fig.add_subplot(gs[j, 0]) for j in range(N)], + 'upper': [fig.add_subplot(gs[j, 1:3]) for j in range(N)], + 'lower': [fig.add_subplot(gs[j, 3:5]) for j in range(N)]} + + d = np.arange(42).reshape(6, 7) + + for origin in ['upper', 'lower']: + for ax, extent in zip(columns[origin], extents): + + im = ax.imshow(d, origin=origin, extent=extent) + left, right, bottom, top = im.get_extent() + arrow_style = {'arrowprops': {'arrowstyle': '-|>', + 'shrinkA': 0, + 'color': '0.5', + 'linewidth': 3}} + ax.annotate('', + (left, bottom + 2*np.sign(top - bottom)), + (left, bottom), + **arrow_style) + ax.annotate('', + (left + 2*np.sign(right - left), bottom), + (left, bottom), + **arrow_style) + + if auto_limits or top > bottom: + upper_string, lower_string = 'top', 'bottom' + else: + upper_string, lower_string = 'bottom', 'top' + + if auto_limits or left < right: + port_string, starboard_string = 'left', 'right' + else: + port_string, starboard_string = 'right', 'left' + + bbox_kwargs = {'fc': 'w', 'alpha': .75, 'boxstyle': "round4"} + ann_kwargs = {'xycoords': 'axes fraction', + 'textcoords': 'offset points', + 'bbox': bbox_kwargs} + + ax.annotate(upper_string, xy=(.5, 1), xytext=(0, -1), + ha='center', va='top', **ann_kwargs) + ax.annotate(lower_string, xy=(.5, 0), xytext=(0, 1), + ha='center', va='bottom', **ann_kwargs) + + ax.annotate(port_string, xy=(0, .5), xytext=(1, 0), + ha='left', va='center', rotation=90, + **ann_kwargs) + ax.annotate(starboard_string, xy=(1, .5), xytext=(-1, 0), + ha='right', va='center', rotation=-90, + **ann_kwargs) + + ax.set_title('origin: {origin}'.format(origin=origin)) + + if not auto_limits: + ax.set_xlim(-1, 7) + ax.set_ylim(-1, 6) + + for ax, extent in zip(columns['label'], extents): + text_kwargs = {'ha': 'right', + 'va': 'center', + 'xycoords': 'axes fraction', + 'xy': (1, .5)} + if extent is None: + ax.annotate('None', **text_kwargs) + ax.set_title('`extent=`') + else: + left, right, bottom, top = extent + text = ('left: {left:0.1f}\nright: {right:0.1f}\n' + + 'bottom: {bottom:0.1f}\ntop: {top:0.1f}\n').format( + left=left, right=right, bottom=bottom, top=top) + + ax.annotate(text, **text_kwargs) + ax.axis('off') + + +extents = (None, + (-0.5, 6.5, -0.5, 5.5), + (-0.5, 6.5, 5.5, -0.5), + (6.5, -0.5, -0.5, 5.5), + (6.5, -0.5, 5.5, -0.5)) + +############################################################################### +# +# +# First, using *extent* we pick a bounding box in dataspace that the +# image will fill and then interpolate/resample the underlying data to +# fill that box. +# +# - If ``origin='lower'`` than the ``[0, 0]`` entry is closest to the +# ``(left, bottom)`` corner of the bounding box and moving closer to +# ``(left, top)`` moves along the ``[:, 0]`` axis of the array to +# higher indexed rows and moving towards ``(right, bottom)`` moves you +# along the ``[0, :]`` axis of the array to higher indexed columns +# +# - If ``origin='upper'`` then the ``[-1, 0]`` entry is closest to the +# ``(left, bottom)`` corner of the bounding box and moving towards +# ``(left, top)`` moves along the ``[:, 0]`` axis of the array to +# lower index rows and moving towards ``(right, bottom)`` moves you +# along the ``[-1, :]`` axis of the array to higher indexed columns +# +# To demonstrate this we will plot a linear ramp +# ``np.arange(42).reshape(6, 7)`` with varying parameters. +# + +generate_imshow_demo_grid(True, extents[:1]) + +############################################################################### +# +# If we only specify *origin* we can see why it is so named. For +# ``origin='upper'`` the ``[0, 0]`` pixel is on the upper left and for +# ``origin='lower'`` the ``[0, 0]`` pixel is in the lower left [#]_. +# The gray arrows are attached to the ``(left, bottom)`` corner of the +# image. There are two tricky things going on here: first the default +# value of *extent* depends on the value of *origin* and second the x +# and y limits are adjusted to match the extent. The default *extent* +# is ``(-0.5, numcols-0.5, numrows-0.5, -0.5)`` when ``origin == +# 'upper'`` and ``(-0.5, numcols-0.5, -0.5, numrows-0.5)`` when ``origin +# == 'lower'`` which puts the pixel centers on integer positions and the +# ``[0, 0]`` pixel at ``(0, 0)`` in dataspace. +# +# +# .. [#] The default value of *origin* is set by :rc:`image.origin` +# which defaults to ``'upper'`` to match the matrix indexing +# conventions in math and computer graphics image indexing +# conventions. + +generate_imshow_demo_grid(True, extents[1:]) + +############################################################################### +# +# If the axes is set to autoscale, then view limits of the axes are set +# to match the *extent* which ensures that the coordinate set by +# ``(left, bottom)`` is at the bottom left of the axes! However, this +# may invert the axis so they do not increase in the 'natural' direction. +# + +generate_imshow_demo_grid(False, extents) + +############################################################################### +# +# If we fix the axes limits so ``(0, 0)`` is at the bottom left and +# increases to up and to the right (from the viewer point of view) then +# we can see that: +# +# - The ``(left, bottom)`` anchors the image which then fills the +# box going towards the ``(right, top)`` point in data space. +# - The first column is always closest to the 'left'. +# - *origin* controls if the first row is closest to 'top' or 'bottom'. +# - The image may be inverted along either direction. +# - The 'left-right' and 'top-bottom' sense of the image is uncoupled from +# the orientation on the screen. From 677e97d112fa0c380486430bceb3524eb87d55b8 Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Tue, 3 Apr 2018 16:53:18 +0100 Subject: [PATCH 0467/1161] Actually ignore invalid log-axis limit setting --- lib/matplotlib/axes/_base.py | 35 +++++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index b771474c585b..ddd27adac269 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -3047,10 +3047,20 @@ def set_xlim(self, left=None, right=None, emit=True, auto=False, **kw): 'left=%s, right=%s') % (left, right)) left, right = mtransforms.nonsingular(left, right, increasing=False) - if self.get_xscale() == 'log' and (left <= 0.0 or right <= 0.0): - warnings.warn( - 'Attempted to set non-positive xlimits for log-scale axis; ' - 'invalid limits will be ignored.') + if self.get_xscale() == 'log': + if left <= 0.0: + warnings.warn( + 'Attempted to set non-positive left xlim on a ' + 'log-scaled axis.\n' + 'Invalid limit will be ignored.') + left = old_left + if right <= 0.0: + warnings.warn( + 'Attempted to set non-positive right xlim on a ' + 'log-scaled axis.\n' + 'Invalid limit will be ignored.') + right = old_right + left, right = self.xaxis.limit_range_for_scale(left, right) self.viewLim.intervalx = (left, right) @@ -3367,10 +3377,19 @@ def set_ylim(self, bottom=None, top=None, emit=True, auto=False, **kw): bottom, top = mtransforms.nonsingular(bottom, top, increasing=False) - if self.get_yscale() == 'log' and (bottom <= 0.0 or top <= 0.0): - warnings.warn( - 'Attempted to set non-positive ylimits for log-scale axis; ' - 'invalid limits will be ignored.') + if self.get_yscale() == 'log': + if bottom <= 0.0: + warnings.warn( + 'Attempted to set non-positive bottom ylim on a ' + 'log-scaled axis.\n' + 'Invalid limit will be ignored.') + bottom = old_bottom + if top <= 0.0: + warnings.warn( + 'Attempted to set non-positive top ylim on a ' + 'log-scaled axis.\n' + 'Invalid limit will be ignored.') + top = old_top bottom, top = self.yaxis.limit_range_for_scale(bottom, top) self.viewLim.intervaly = (bottom, top) From c2db893dc6d36b3a55f53258fdc1fdbc6103b27e Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Mon, 2 Apr 2018 22:00:51 -0700 Subject: [PATCH 0468/1161] DOC: Whats new entry for title moving above xaxis --- .../title_will_not_overlap_xaxis.rst | 17 ++++++++++++----- lib/matplotlib/axes/_base.py | 2 +- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/doc/users/next_whats_new/title_will_not_overlap_xaxis.rst b/doc/users/next_whats_new/title_will_not_overlap_xaxis.rst index cb7b971a7444..74db251a4a5f 100644 --- a/doc/users/next_whats_new/title_will_not_overlap_xaxis.rst +++ b/doc/users/next_whats_new/title_will_not_overlap_xaxis.rst @@ -1,8 +1,15 @@ Axes title will no longer overlap xaxis --------------------------------------- -Previously the axes title had to be moved manually if an xaxis overlapped -(usually when the xaxis was put on the top of the axes). The title can -still be placed manually. However, titles that need to be moved are -at ``y=1.0``, so manualy placing at 1.0 will be moved, so if the title -is to be placed at 1.0, it should be set to something near 1.0, like 1.001. +Previously an axes title had to be moved manually if an xaxis overlapped +(usually when the xaxis was put on the top of the axes). Now, the title +will be automatically moved above the xaxis and its decorators (including +the xlabel) if they are at the top. + +If desired, the title can still be placed manually. There is a slight kludge; +the algorithm checks if the y-position of the title is 1.0 (the default), +and moves if it is. If the user places the title in the default location +(i.e. ``ax.title.set_position(0.5, 1.0)``), the title will still be moved +above the xaxis. If the user wants to avoid this, they can +specify a number that is close (i.e. ``ax.title.set_position(0.5, 1.01)``) +and the title will not be moved via this algorithm. diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index ec20f2bc0582..e49c33fe0c3e 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -2485,7 +2485,7 @@ def _update_title_position(self, renderer): if (ax.xaxis.get_label_position() == 'top' or ax.xaxis.get_ticks_position() == 'top'): bb = ax.xaxis.get_tightbbox(renderer) - top = bb.y1 + top = bb.ymax # we don't need to pad because the padding is already # in __init__: titleOffsetTrans yn = self.transAxes.inverted().transform((0., top))[1] From 92537a176d085a773fe6367a365b16de6dc854db Mon Sep 17 00:00:00 2001 From: DietmarSchwertberger <github@schwertberger.de> Date: Tue, 3 Apr 2018 20:42:21 +0200 Subject: [PATCH 0469/1161] fix rubberband: correctly ensure x0<x1 --- lib/matplotlib/backends/backend_wx.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/backends/backend_wx.py b/lib/matplotlib/backends/backend_wx.py index 66d68a6e31e3..9522a932179a 100644 --- a/lib/matplotlib/backends/backend_wx.py +++ b/lib/matplotlib/backends/backend_wx.py @@ -1639,7 +1639,7 @@ def draw_rubberband(self, event, x0, y0, x1, y1): if y1 < y0: y0, y1 = y1, y0 - if x1 < y0: + if x1 < x0: x0, x1 = x1, x0 w = x1 - x0 @@ -1771,7 +1771,7 @@ def draw_rubberband(self, x0, y0, x1, y1): if y1 < y0: y0, y1 = y1, y0 - if x1 < y0: + if x1 < x0: x0, x1 = x1, x0 w = x1 - x0 From acae06d6a7873a6a300161406abd191376ee95c0 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Tue, 3 Apr 2018 23:10:21 -0700 Subject: [PATCH 0470/1161] Py3fy cbook, compare_backend_driver_results ... and a few other style fixes. --- lib/matplotlib/backend_bases.py | 6 +- lib/matplotlib/cbook/__init__.py | 90 +++++++++----------------- lib/matplotlib/font_manager.py | 3 - lib/matplotlib/pyplot.py | 2 +- unit/compare_backend_driver_results.py | 37 ++++++----- 5 files changed, 51 insertions(+), 87 deletions(-) diff --git a/lib/matplotlib/backend_bases.py b/lib/matplotlib/backend_bases.py index b304e9e27a29..b827f4215316 100644 --- a/lib/matplotlib/backend_bases.py +++ b/lib/matplotlib/backend_bases.py @@ -2574,13 +2574,13 @@ def _get_uniform_gridstate(ticks): # keys in list 'all' enables all axes (default key 'a'), # otherwise if key is a number only enable this particular axes # if it was the axes, where the event was raised - if not (event.key in all_keys): + if event.key not in all_keys: n = int(event.key) - 1 for i, a in enumerate(canvas.figure.get_axes()): # consider axes, in which the event was raised # FIXME: Why only this axes? - if event.x is not None and event.y is not None \ - and a.in_axes(event): + if (event.x is not None and event.y is not None + and a.in_axes(event)): if event.key in all_keys: a.set_navigate(True) else: diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index 65afa329751a..5bdfc5277d6d 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -6,8 +6,6 @@ it imports matplotlib only at runtime. """ -import six -from six.moves import xrange, zip import collections import contextlib import datetime @@ -57,9 +55,9 @@ def unicode_safe(s): preferredencoding = None if preferredencoding is None: - return six.text_type(s) + return str(s) else: - return six.text_type(s, preferredencoding) + return str(s, preferredencoding) return s @@ -81,18 +79,11 @@ def __init__(self, cb): self._destroy_callbacks = [] try: try: - if six.PY3: - self.inst = ref(cb.__self__, self._destroy) - else: - self.inst = ref(cb.im_self, self._destroy) + self.inst = ref(cb.__self__, self._destroy) except TypeError: self.inst = None - if six.PY3: - self.func = cb.__func__ - self.klass = cb.__self__.__class__ - else: - self.func = cb.im_func - self.klass = cb.im_class + self.func = cb.__func__ + self.klass = cb.__self__.__class__ except AttributeError: self.inst = None self.func = cb @@ -158,12 +149,6 @@ def __eq__(self, other): except Exception: return False - def __ne__(self, other): - """ - Inverse of __eq__. - """ - return not self.__eq__(other) - def __hash__(self): return self._hash @@ -267,7 +252,7 @@ def connect(self, s, func): return cid def _remove_proxy(self, proxy): - for signal, proxies in list(six.iteritems(self._func_cid_map)): + for signal, proxies in list(self._func_cid_map.items()): try: del self.callbacks[signal][proxies[proxy]] except KeyError: @@ -280,15 +265,14 @@ def _remove_proxy(self, proxy): def disconnect(self, cid): """Disconnect the callback registered with callback id *cid*. """ - for eventname, callbackd in list(six.iteritems(self.callbacks)): + for eventname, callbackd in list(self.callbacks.items()): try: del callbackd[cid] except KeyError: continue else: - for signal, functions in list( - six.iteritems(self._func_cid_map)): - for function, value in list(six.iteritems(functions)): + for signal, functions in list(self._func_cid_map.items()): + for function, value in list(functions.items()): if value == cid: del functions[function] return @@ -301,7 +285,7 @@ def process(self, s, *args, **kwargs): called with ``*args`` and ``**kwargs``. """ if s in self.callbacks: - for cid, proxy in list(six.iteritems(self.callbacks[s])): + for cid, proxy in list(self.callbacks[s].items()): try: proxy(*args, **kwargs) except ReferenceError: @@ -471,7 +455,7 @@ def to_filehandle(fname, flag='rU', return_opened=False, encoding=None): return to_filehandle( os.fspath(fname), flag=flag, return_opened=return_opened, encoding=encoding) - if isinstance(fname, six.string_types): + if isinstance(fname, str): if fname.endswith('.gz'): # get rid of 'U' in flag for gzipped files. flag = flag.replace('U', '') @@ -509,12 +493,12 @@ def open_file_cm(path_or_file, mode="r", encoding=None): def is_scalar_or_string(val): """Return whether the given object is a scalar or string like.""" - return isinstance(val, six.string_types) or not iterable(val) + return isinstance(val, str) or not iterable(val) def _string_to_bool(s): """Parses the string argument as a boolean""" - if not isinstance(s, six.string_types): + if not isinstance(s, str): return bool(s) warn_deprecated("2.2", "Passing one of 'on', 'true', 'off', 'false' as a " "boolean is deprecated; use an actual boolean " @@ -593,14 +577,7 @@ def mkdirs(newdir, mode=0o777): """ # this functionality is now in core python as of 3.2 # LPY DROP - if six.PY3: - os.makedirs(newdir, mode=mode, exist_ok=True) - else: - try: - os.makedirs(newdir, mode=mode) - except OSError as exception: - if exception.errno != errno.EEXIST: - raise + os.makedirs(newdir, mode=mode, exist_ok=True) @deprecated('3.0') @@ -921,7 +898,7 @@ def print_path(path): outstream.write(" %s -- " % type(step)) if isinstance(step, dict): - for key, val in six.iteritems(step): + for key, val in step.items(): if val is next: outstream.write("[{!r}]".format(key)) break @@ -1072,13 +1049,13 @@ def __iter__(self): # Mark each group as we come across if by appending a token, # and don't yield it twice - for group in six.itervalues(self._mapping): + for group in self._mapping.values(): if group[-1] is not token: yield [x() for x in group] group.append(token) # Cleanup the tokens - for group in six.itervalues(self._mapping): + for group in self._mapping.values(): if group[-1] is token: del group[-1] @@ -1149,14 +1126,13 @@ def delete_masked_points(*args): """ if not len(args): return () - if (isinstance(args[0], six.string_types) or not iterable(args[0])): + if isinstance(args[0], str) or not iterable(args[0]): raise ValueError("First argument must be a sequence") nrecs = len(args[0]) margs = [] seqlist = [False] * len(args) for i, x in enumerate(args): - if (not isinstance(x, six.string_types) and iterable(x) - and len(x) == nrecs): + if not isinstance(x, str) and iterable(x) and len(x) == nrecs: seqlist[i] = True if isinstance(x, np.ma.MaskedArray): if x.ndim > 1: @@ -1313,7 +1289,7 @@ def _compute_conf_interval(data, med, iqr, bootstrap): raise ValueError("Dimensions of labels and X must be compatible") input_whis = whis - for ii, (x, label) in enumerate(zip(X, labels), start=0): + for ii, (x, label) in enumerate(zip(X, labels)): # empty dict stats = {} @@ -1403,7 +1379,7 @@ def _compute_conf_interval(data, med, iqr, bootstrap): # The ls_mapper maps short codes for line style to their full name used by # backends; the reverse mapper is for mapping full names to short ones. ls_mapper = {'-': 'solid', '--': 'dashed', '-.': 'dashdot', ':': 'dotted'} -ls_mapper_r = {v: k for k, v in six.iteritems(ls_mapper)} +ls_mapper_r = {v: k for k, v in ls_mapper.items()} @deprecated('2.2') @@ -1480,16 +1456,9 @@ def contiguous_regions(mask): def is_math_text(s): # Did we find an even number of non-escaped dollar signs? # If so, treat is as math text. - try: - s = six.text_type(s) - except UnicodeDecodeError: - raise ValueError( - "matplotlib display text must have all code points < 128 or use " - "Unicode strings") - + s = str(s) dollar_count = s.count(r'$') - s.count(r'\$') even_dollars = (dollar_count > 0 and dollar_count % 2 == 0) - return even_dollars @@ -1833,7 +1802,7 @@ def normalize_kwargs(kw, alias_mapping=None, required=(), forbidden=(), ret = dict() # hit all alias mappings - for canonical, alias_list in six.iteritems(alias_mapping): + for canonical, alias_list in alias_mapping.items(): # the alias lists are ordered from lowest to highest priority # so we know to use the last value in this list @@ -1879,11 +1848,10 @@ def normalize_kwargs(kw, alias_mapping=None, required=(), forbidden=(), allowed_set = set(required) | set(allowed) fail_keys = [k for k in ret if k not in allowed_set] if fail_keys: - raise TypeError("kwargs contains {keys!r} which are not in " - "the required {req!r} or " - "allowed {allow!r} keys".format( - keys=fail_keys, req=required, - allow=allowed)) + raise TypeError( + "kwargs contains {keys!r} which are not in the required " + "{req!r} or allowed {allow!r} keys".format( + keys=fail_keys, req=required, allow=allowed)) return ret @@ -2014,7 +1982,7 @@ def _str_equal(obj, s): because in such cases, a naive ``obj == s`` would yield an array, which cannot be used in a boolean context. """ - return isinstance(obj, six.string_types) and obj == s + return isinstance(obj, str) and obj == s def _str_lower_equal(obj, s): @@ -2024,7 +1992,7 @@ def _str_lower_equal(obj, s): because in such cases, a naive ``obj == s`` would yield an array, which cannot be used in a boolean context. """ - return isinstance(obj, six.string_types) and obj.lower() == s + return isinstance(obj, str) and obj.lower() == s def _define_aliases(alias_d, cls=None): diff --git a/lib/matplotlib/font_manager.py b/lib/matplotlib/font_manager.py index c64e1faf3f12..9e338f745e14 100644 --- a/lib/matplotlib/font_manager.py +++ b/lib/matplotlib/font_manager.py @@ -661,9 +661,6 @@ def __hash__(self): def __eq__(self, other): return hash(self) == hash(other) - def __ne__(self, other): - return hash(self) != hash(other) - def __str__(self): return self.get_fontconfig_pattern() diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index 18af2cbf430c..3afaff8a03eb 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -78,7 +78,7 @@ def _backend_selection(): if not rcParams['backend_fallback'] or backend not in _interactive_bk: return is_agg_backend = rcParams['backend'].endswith('Agg') - if 'wx' in sys.modules and not backend in ('WX', 'WXAgg'): + if 'wx' in sys.modules and backend not in ('WX', 'WXAgg'): import wx if wx.App.IsMainLoopRunning(): rcParams['backend'] = 'wx' + 'Agg' * is_agg_backend diff --git a/unit/compare_backend_driver_results.py b/unit/compare_backend_driver_results.py index 06a01157f78c..fbc595d9e425 100644 --- a/unit/compare_backend_driver_results.py +++ b/unit/compare_backend_driver_results.py @@ -1,32 +1,31 @@ -from __future__ import print_function import sys def parse_results(filename): results = {} - fd = open(filename, 'r') section = "???" - for line in fd.readlines(): - line = line.strip() - if line.startswith("testing"): - section = line.split(" ", 1)[1] - results.setdefault(section, {}) - elif line.startswith("driving"): - driving, test, time = [x.strip() for x in line.split()] - time = float(time) - results[section][test] = time - fd.close() + with open(filename, 'r') as file: + for line in file: + line = line.strip() + if line.startswith("testing"): + section = line.split(" ", 1)[1] + results.setdefault(section, {}) + elif line.startswith("driving"): + driving, test, time = [x.strip() for x in line.split()] + time = float(time) + results[section][test] = time return results def check_results_are_compatible(results_a, results_b): - for section in results_a.keys(): - if not section in results_b: - raise RuntimeError("Backend '%s' in first set, but not in second" % section) - - for section in results_b.keys(): - if not section in results_a: - raise RuntimeError("Backend '%s' in second set, but not in first" % section) + a_minus_b = {*results_a} - {*results_b} + if a_minus_b: + raise RuntimeError( + "Backends {} in first set, but not in second".format(a_minus_b)) + b_minus_a = {*results_b} - {*results_a} + if b_minus_a: + raise RuntimeError( + "Backends {} in second set, but not in first".format(b_minus_a)) def compare_results(results_a, results_b): From 625283f7e0d253a8ac1fb0d68b0962594e2a6ec6 Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Wed, 4 Apr 2018 12:39:24 +0100 Subject: [PATCH 0471/1161] Add test to check invalid limits ignored on log scale --- lib/matplotlib/tests/test_scale.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/lib/matplotlib/tests/test_scale.py b/lib/matplotlib/tests/test_scale.py index c50a0a89609c..46a1e1e92458 100644 --- a/lib/matplotlib/tests/test_scale.py +++ b/lib/matplotlib/tests/test_scale.py @@ -121,3 +121,21 @@ def test_logscale_nonpos_values(): ax4.set_yscale('log') ax4.set_xscale('log') + + +def test_invalid_log_lims(): + # Check that invalid log scale limits are ignored + fig, ax = plt.subplots() + ax.scatter(range(0, 4), range(0, 4)) + + ax.set_xscale('log') + original_xlim = ax.get_xlim() + with pytest.warns(UserWarning): + ax.set_xlim(left=0) + assert ax.get_xlim() == original_xlim + + ax.set_yscale('log') + original_ylim = ax.get_ylim() + with pytest.warns(UserWarning): + ax.set_ylim(bottom=0) + assert ax.get_ylim() == original_ylim From c0a0873a441312a515e434ae0f598f39b501dba2 Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Wed, 4 Apr 2018 12:40:52 +0100 Subject: [PATCH 0472/1161] Test right and top too --- lib/matplotlib/tests/test_scale.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/matplotlib/tests/test_scale.py b/lib/matplotlib/tests/test_scale.py index 46a1e1e92458..8f3e80e04df6 100644 --- a/lib/matplotlib/tests/test_scale.py +++ b/lib/matplotlib/tests/test_scale.py @@ -133,9 +133,15 @@ def test_invalid_log_lims(): with pytest.warns(UserWarning): ax.set_xlim(left=0) assert ax.get_xlim() == original_xlim + with pytest.warns(UserWarning): + ax.set_xlim(right=-1) + assert ax.get_xlim() == original_xlim ax.set_yscale('log') original_ylim = ax.get_ylim() with pytest.warns(UserWarning): ax.set_ylim(bottom=0) assert ax.get_ylim() == original_ylim + with pytest.warns(UserWarning): + ax.set_ylim(top=-1) + assert ax.get_ylim() == original_ylim From e57b2353ce81dd9a8d3d9a22045a3671a4341096 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Fri, 16 Feb 2018 20:31:04 -0800 Subject: [PATCH 0473/1161] Deprecate FigureCanvasQT.keyAutoRepeat. No other backend allows ignoring autorepeated keypresses. Moreover, such keypresses can easily be ignored in the key press handler by directly checking on `event.isAutoRepeat()`. --- doc/api/next_api_changes/2018-02-16-AL-deprecations.rst | 5 +++++ lib/matplotlib/backends/backend_qt5.py | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 doc/api/next_api_changes/2018-02-16-AL-deprecations.rst diff --git a/doc/api/next_api_changes/2018-02-16-AL-deprecations.rst b/doc/api/next_api_changes/2018-02-16-AL-deprecations.rst new file mode 100644 index 000000000000..b605be7bdd24 --- /dev/null +++ b/doc/api/next_api_changes/2018-02-16-AL-deprecations.rst @@ -0,0 +1,5 @@ +Deprecations +```````````` +The `~.FigureCanvasQT.keyAutoRepeat` property is deprecated. Directly check +``event.guiEvent.isAutoRepeat()`` in the event handler to decide whether to +handle autorepeated key presses. diff --git a/lib/matplotlib/backends/backend_qt5.py b/lib/matplotlib/backends/backend_qt5.py index 9158677c3f29..c0394619246f 100644 --- a/lib/matplotlib/backends/backend_qt5.py +++ b/lib/matplotlib/backends/backend_qt5.py @@ -1,5 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) import six import functools @@ -378,6 +376,8 @@ def keyReleaseEvent(self, event): FigureCanvasBase.key_release_event(self, key, guiEvent=event) @property + @cbook.deprecated("3.0", "Manually check `event.guiEvent.isAutoRepeat()` " + "in the event handler.") def keyAutoRepeat(self): """ If True, enable auto-repeat for key events. @@ -385,6 +385,8 @@ def keyAutoRepeat(self): return self._keyautorepeat @keyAutoRepeat.setter + @cbook.deprecated("3.0", "Manually check `event.guiEvent.isAutoRepeat()` " + "in the event handler.") def keyAutoRepeat(self, val): self._keyautorepeat = bool(val) From 10e4c50953133d8af56a57e1bf31b2f033fedd82 Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Thu, 5 Apr 2018 13:42:14 +0100 Subject: [PATCH 0474/1161] Clean up zorder example --- examples/misc/zorder_demo.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/examples/misc/zorder_demo.py b/examples/misc/zorder_demo.py index ae96571ae864..89072bbe28ee 100644 --- a/examples/misc/zorder_demo.py +++ b/examples/misc/zorder_demo.py @@ -41,28 +41,29 @@ plt.figure() plt.subplot(211) -plt.plot(x, y, 'r', lw=3) +plt.plot(x, y, 'C3', lw=3) plt.scatter(x, y, s=120) plt.title('Lines on top of dots') # Scatter plot on top of lines plt.subplot(212) -plt.plot(x, y, 'r', zorder=1, lw=3) +plt.plot(x, y, 'C3', zorder=1, lw=3) plt.scatter(x, y, s=120, zorder=2) plt.title('Dots on top of lines') +plt.tight_layout() ############################################################################### # A new figure, with individually ordered items x = np.linspace(0, 2*np.pi, 100) plt.figure() -plt.plot(x, np.sin(x), linewidth=10, color='black', label='zorder=10', +plt.plot(x, np.sin(x), linewidth=10, label='zorder=10', zorder=10) # on top -plt.plot(x, np.cos(1.3*x), linewidth=10, color='red', label='zorder=1', +plt.plot(x, np.cos(1.3*x), linewidth=10, label='zorder=1', zorder=1) # bottom -plt.plot(x, np.sin(2.1*x), linewidth=10, color='green', label='zorder=3', +plt.plot(x, np.sin(2.1*x), linewidth=10, label='zorder=3', zorder=3) -plt.axhline(0, linewidth=10, color='blue', label='zorder=2', +plt.axhline(0, linewidth=10, label='zorder=2', zorder=2) plt.title('Custom order of elements') l = plt.legend() From 66fa07f43ff8ec6186d4fc2f559c8dae308b4560 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Wed, 4 Apr 2018 02:39:04 -0700 Subject: [PATCH 0475/1161] Simplify the grouper implementation. Mostly stylistic, except for the implementation of `__iter__` which is made much shorter: to get list of unique lists that appear in self._mapping.values(), it is simpler to construct a dict keying these lists based on their id()s rather than appending a marker on the lists and then popping the markers at the end. --- lib/matplotlib/cbook/__init__.py | 58 ++++++++------------------------ 1 file changed, 14 insertions(+), 44 deletions(-) diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index 5bdfc5277d6d..2f405b5cc7f4 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -979,17 +979,13 @@ class Grouper(object): """ def __init__(self, init=()): - mapping = self._mapping = {} - for x in init: - mapping[ref(x)] = [ref(x)] + self._mapping = {ref(x): [ref(x)] for x in init} def __contains__(self, item): return ref(item) in self._mapping def clean(self): - """ - Clean dead weak references from the dictionary - """ + """Clean dead weak references from the dictionary.""" mapping = self._mapping to_drop = [key for key in mapping if key() is None] for key in to_drop: @@ -998,18 +994,14 @@ def clean(self): def join(self, a, *args): """ - Join given arguments into the same set. Accepts one or more - arguments. + Join given arguments into the same set. Accepts one or more arguments. """ mapping = self._mapping set_a = mapping.setdefault(ref(a), [ref(a)]) for arg in args: - set_b = mapping.get(ref(arg)) - if set_b is None: - set_a.append(ref(arg)) - mapping[ref(arg)] = set_a - elif set_b is not set_a: + set_b = mapping.get(ref(arg), [ref(arg)]) + if set_b is not set_a: if len(set_b) > len(set_a): set_a, set_b = set_b, set_a set_a.extend(set_b) @@ -1019,24 +1011,15 @@ def join(self, a, *args): self.clean() def joined(self, a, b): - """ - Returns True if *a* and *b* are members of the same set. - """ + """Returns True if *a* and *b* are members of the same set.""" self.clean() - - mapping = self._mapping - try: - return mapping[ref(a)] is mapping[ref(b)] - except KeyError: - return False + return self._mapping.get(ref(a), object()) is self._mapping.get(ref(b)) def remove(self, a): self.clean() - - mapping = self._mapping - seta = mapping.pop(ref(a), None) - if seta is not None: - seta.remove(ref(a)) + set_a = self._mapping.pop(ref(a), None) + if set_a: + set_a.remove(ref(a)) def __iter__(self): """ @@ -1045,26 +1028,13 @@ def __iter__(self): The iterator is invalid if interleaved with calls to join(). """ self.clean() - token = object() - - # Mark each group as we come across if by appending a token, - # and don't yield it twice - for group in self._mapping.values(): - if group[-1] is not token: - yield [x() for x in group] - group.append(token) - - # Cleanup the tokens - for group in self._mapping.values(): - if group[-1] is token: - del group[-1] + unique_groups = {id(group): group for group in self._mapping.values()} + for group in unique_groups.values(): + yield [x() for x in group] def get_siblings(self, a): - """ - Returns all of the items joined with *a*, including itself. - """ + """Returns all of the items joined with *a*, including itself.""" self.clean() - siblings = self._mapping.get(ref(a), [ref(a)]) return [x() for x in siblings] From 314420aef02bf80db2e001c3762afc29793af02b Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sat, 31 Mar 2018 23:08:34 -0700 Subject: [PATCH 0476/1161] Simplify tkagg C extension. --- src/_tkagg.cpp | 116 ++++++++++++++++--------------------------------- 1 file changed, 38 insertions(+), 78 deletions(-) diff --git a/src/_tkagg.cpp b/src/_tkagg.cpp index 3ba57f8d5a40..5e51f6733357 100644 --- a/src/_tkagg.cpp +++ b/src/_tkagg.cpp @@ -75,7 +75,7 @@ static int PyAggImagePhoto(ClientData clientdata, Tcl_Interp *interp, int } /* get buffer from str which is "height width ptr" */ if (sscanf(argv[2], IMG_FORMAT, &hdata, &wdata, &pdata) != 3) { - TCL_APPEND_RESULT(interp, + TCL_APPEND_RESULT(interp, "error reading data, expected height width ptr", (char *)NULL); return TCL_ERROR; @@ -291,8 +291,7 @@ int get_tcl(HMODULE hMod) if (TCL_CREATE_COMMAND == NULL) { // Maybe not TCL module return 0; } - TCL_APPEND_RESULT = (Tcl_AppendResult_t) _dfunc(hMod, - "Tcl_AppendResult"); + TCL_APPEND_RESULT = (Tcl_AppendResult_t) _dfunc(hMod, "Tcl_AppendResult"); return (TCL_APPEND_RESULT == NULL) ? -1 : 1; } @@ -306,20 +305,20 @@ int get_tk(HMODULE hMod) if (TK_MAIN_WINDOW == NULL) { // Maybe not Tk module return 0; } - return ( // -1 if any remaining symbols are NULL + return // -1 if any remaining symbols are NULL ((TK_FIND_PHOTO = (Tk_FindPhoto_t) _dfunc(hMod, "Tk_FindPhoto")) == NULL) || ((TK_PHOTO_PUT_BLOCK_NO_COMPOSITE = (Tk_PhotoPutBlock_NoComposite_t) _dfunc(hMod, "Tk_PhotoPutBlock_NoComposite")) == NULL) || ((TK_PHOTO_BLANK = (Tk_PhotoBlank_t) - _dfunc(hMod, "Tk_PhotoBlank")) == NULL)) + _dfunc(hMod, "Tk_PhotoBlank")) == NULL) ? -1 : 1; } -int load_tkinter_funcs(void) +void load_tkinter_funcs(void) { // Load TCL and Tk functions by searching all modules in current process. - // Return 0 for success, non-zero for failure. + // Sets an error on failure. HMODULE hMods[1024]; HANDLE hProcess; @@ -337,17 +336,17 @@ int load_tkinter_funcs(void) if (!found_tcl) { found_tcl = get_tcl(hMods[i]); if (found_tcl == -1) { - return 1; + return; } } if (!found_tk) { found_tk = get_tk(hMods[i]); if (found_tk == -1) { - return 1; + return; } } if (found_tcl && found_tk) { - return 0; + return; } } } @@ -357,7 +356,7 @@ int load_tkinter_funcs(void) } else { PyErr_SetString(PyExc_RuntimeError, "Could not find Tk routines"); } - return 1; + return; } #else // not Windows @@ -367,16 +366,6 @@ int load_tkinter_funcs(void) * tkinter uses these symbols, and the symbols are therefore visible in the * tkinter dynamic library (module). */ -// From module __file__ attribute to char *string for dlopen. -char *fname2char(PyObject *fname) -{ - PyObject* bytes; - bytes = PyUnicode_EncodeFSDefault(fname); - if (bytes == NULL) { - return NULL; - } - return PyBytes_AsString(bytes); -} #include <dlfcn.h> @@ -391,8 +380,7 @@ void *_dfunc(void *lib_handle, const char *func_name) dlerror(); func = dlsym(lib_handle, func_name); if (func == NULL) { - const char *error = dlerror(); - PyErr_SetString(PyExc_RuntimeError, error); + PyErr_SetString(PyExc_RuntimeError, dlerror()); } return func; } @@ -401,7 +389,7 @@ int _func_loader(void *lib) { // Fill global function pointers from dynamic lib. // Return 1 if any pointer is NULL, 0 otherwise. - return ( + return ((TCL_CREATE_COMMAND = (Tcl_CreateCommand_t) _dfunc(lib, "Tcl_CreateCommand")) == NULL) || ((TCL_APPEND_RESULT = (Tcl_AppendResult_t) @@ -413,75 +401,50 @@ int _func_loader(void *lib) ((TK_PHOTO_PUT_BLOCK_NO_COMPOSITE = (Tk_PhotoPutBlock_NoComposite_t) _dfunc(lib, "Tk_PhotoPutBlock_NoComposite")) == NULL) || ((TK_PHOTO_BLANK = (Tk_PhotoBlank_t) - _dfunc(lib, "Tk_PhotoBlank")) == NULL)); + _dfunc(lib, "Tk_PhotoBlank")) == NULL); } -int load_tkinter_funcs(void) +void load_tkinter_funcs(void) { // Load tkinter global funcs from tkinter compiled module. - // Return 0 for success, non-zero for failure. - int ret = -1; + // Sets an error on failure. void *main_program, *tkinter_lib; - char *tkinter_libname; - PyObject *pModule = NULL, *pSubmodule = NULL, *pString = NULL; + PyObject *module = NULL, *py_path = NULL, *py_path_b = NULL; + char *path; - // Try loading from the main program namespace first + // Try loading from the main program namespace first. main_program = dlopen(NULL, RTLD_LAZY); if (_func_loader(main_program) == 0) { - return 0; + goto exit; } // Clear exception triggered when we didn't find symbols above. PyErr_Clear(); - // Now try finding the tkinter compiled module - pModule = PyImport_ImportModule("tkinter"); - if (pModule == NULL) { - goto exit; - } - pSubmodule = PyObject_GetAttrString(pModule, "_tkinter"); - if (pSubmodule == NULL) { - goto exit; + // Handle PyPy first, as that import will correctly fail on CPython. + module = PyImport_ImportModule("_tkinter.tklib_cffi"); // PyPy + if (!module) { + PyErr_Clear(); + module = PyImport_ImportModule("_tkinter"); // CPython } - pString = PyObject_GetAttrString(pSubmodule, "__file__"); - if (pString == NULL) { + if (!(module && + (py_path = PyObject_GetAttrString(module, "__file__")) && + (py_path_b = PyUnicode_EncodeFSDefault(py_path)) && + (path = PyBytes_AsString(py_path_b)))) { goto exit; } - tkinter_libname = fname2char(pString); - if (tkinter_libname == NULL) { + tkinter_lib = dlopen(path, RTLD_LAZY); + if (!tkinter_lib) { + PyErr_SetString(PyExc_RuntimeError, dlerror()); goto exit; } - tkinter_lib = dlopen(tkinter_libname, RTLD_LAZY); - if (tkinter_lib == NULL) { - /* Perhaps it is a cffi module, like in PyPy? */ - pString = PyObject_GetAttrString(pSubmodule, "tklib_cffi"); - if (pString == NULL) { - goto fail; - } - pString = PyObject_GetAttrString(pString, "__file__"); - if (pString == NULL) { - goto fail; - } - tkinter_libname = fname2char(pString); - if (tkinter_libname == NULL) { - goto fail; - } - tkinter_lib = dlopen(tkinter_libname, RTLD_LAZY); - } - if (tkinter_lib == NULL) { - goto fail; - } - ret = _func_loader(tkinter_lib); - // dlclose probably safe because tkinter has been imported. + _func_loader(tkinter_lib); + // dlclose is safe because tkinter has been imported. dlclose(tkinter_lib); goto exit; -fail: - PyErr_SetString(PyExc_RuntimeError, - "Cannot dlopen tkinter module file"); exit: - Py_XDECREF(pModule); - Py_XDECREF(pSubmodule); - Py_XDECREF(pString); - return ret; + Py_XDECREF(module); + Py_XDECREF(py_path); + Py_XDECREF(py_path_b); } #endif // end not Windows @@ -491,9 +454,6 @@ static PyModuleDef _tkagg_module = { PyMODINIT_FUNC PyInit__tkagg(void) { - PyObject *m; - - m = PyModule_Create(&_tkagg_module); - - return (load_tkinter_funcs() == 0) ? m : NULL; + load_tkinter_funcs(); + return PyErr_Occurred() ? NULL : PyModule_Create(&_tkagg_module); } From 3c8006f83f4bb20c330c037e17af794b41487e85 Mon Sep 17 00:00:00 2001 From: Importance of Being Ernest <elch.rz@ruetz-online.de> Date: Thu, 5 Apr 2018 23:25:48 +0200 Subject: [PATCH 0477/1161] update nested-pie example with donut (#10953) * add donut examples to doc --- examples/pie_and_polar_charts/nested_pie.py | 62 +++++---- .../pie_and_donut_labels.py | 125 ++++++++++++++++++ 2 files changed, 163 insertions(+), 24 deletions(-) create mode 100644 examples/pie_and_polar_charts/pie_and_donut_labels.py diff --git a/examples/pie_and_polar_charts/nested_pie.py b/examples/pie_and_polar_charts/nested_pie.py index 8f593d36397a..d1a3855b9601 100644 --- a/examples/pie_and_polar_charts/nested_pie.py +++ b/examples/pie_and_polar_charts/nested_pie.py @@ -4,7 +4,7 @@ ================= The following examples show two ways to build a nested pie chart -in Matplotlib. +in Matplotlib. Such charts are often referred to as donut charts. """ @@ -17,17 +17,30 @@ # # In this case, pie takes values corresponding to counts in a group. # We'll first generate some fake data, corresponding to three groups. -# In the outer circle, we'll treat each number as belonging to its -# own group. In the inner circle, we'll plot them as members of their +# In the inner circle, we'll treat each number as belonging to its +# own group. In the outer circle, we'll plot them as members of their # original 3 groups. +# +# The effect of the donut shape is achieved by setting a `width` to +# the pie's wedges through the `wedgeprops` argument. + -vals = np.array([[1, 2, 3, 4], [2, 3, 4, 5], [3, 4, 5, 6]]) fig, ax = plt.subplots() -ax.pie(vals.flatten(), radius=1.2, - colors=plt.rcParams["axes.prop_cycle"].by_key()["color"][:vals.shape[1]]) -ax.pie(vals.sum(axis=1), radius=1) -ax.set(aspect="equal", title='Pie plot with `ax.pie`') +size = 0.3 +vals = np.array([[60., 32.], [37., 40.], [29., 10.]]) + +cmap = plt.get_cmap("tab20c") +outer_colors = cmap(np.arange(3)*4) +inner_colors = cmap(np.array([1, 2, 5, 6, 9, 10])) + +ax.pie(vals.sum(axis=1), radius=1, colors=outer_colors, + wedgeprops=dict(width=size, edgecolor='w')) + +ax.pie(vals.flatten(), radius=1-size, colors=inner_colors, + wedgeprops=dict(width=size, edgecolor='w')) + +ax.set(aspect="equal", title='Pie plot with `ax.pie`') plt.show() ############################################################################### @@ -36,28 +49,29 @@ # the exact design of the plot. # # In this case, we need to map x-values of the bar chart onto radians of -# a circle. +# a circle. The cumulative sum of the values are used as the edges +# of the bars. fig, ax = plt.subplots(subplot_kw=dict(polar=True)) -left_inner = np.arange(0.0, 2 * np.pi, 2 * np.pi / 6) -left_middle = np.arange(0.0, 2 * np.pi, 2 * np.pi / 12) -left_outer = np.arange(0.0, 2 * np.pi, 2 * np.pi / 9) +size = 0.3 +vals = np.array([[60., 32.], [37., 40.], [29., 10.]]) +#normalize vals to 2 pi +valsnorm = vals/np.sum(vals)*2*np.pi +#obtain the ordinates of the bar edges +valsleft = np.cumsum(np.append(0, valsnorm.flatten()[:-1])).reshape(vals.shape) -ax.bar(x=left_inner, - width=2 * np.pi / 6, bottom=0, color='C0', - linewidth=2, edgecolor='w', - height=np.zeros_like(left_inner) + 5) +cmap = plt.get_cmap("tab20c") +outer_colors = cmap(np.arange(3)*4) +inner_colors = cmap(np.array([1, 2, 5, 6, 9, 10])) -ax.bar(x=left_middle, - width=2 * np.pi / 12, bottom=5, color='C1', - linewidth=2, edgecolor='w', - height=np.zeros_like(left_middle) + 2) +ax.bar(x=valsleft[:, 0], + width=valsnorm.sum(axis=1), bottom=1-size, height=size, + color=outer_colors, edgecolor='w', linewidth=1, align="edge") -ax.bar(x=left_outer, - width=2 * np.pi / 9, bottom=7, color='C2', - linewidth=2, edgecolor='w', - height=np.zeros_like(left_outer) + 3) +ax.bar(x=valsleft.flatten(), + width=valsnorm.flatten(), bottom=1-2*size, height=size, + color=inner_colors, edgecolor='w', linewidth=1, align="edge") ax.set(title="Pie plot with `ax.bar` and polar coordinates") ax.set_axis_off() diff --git a/examples/pie_and_polar_charts/pie_and_donut_labels.py b/examples/pie_and_polar_charts/pie_and_donut_labels.py new file mode 100644 index 000000000000..7e6e606e8cb2 --- /dev/null +++ b/examples/pie_and_polar_charts/pie_and_donut_labels.py @@ -0,0 +1,125 @@ +""" +========================== +Labeling a pie and a donut +========================== + +Welcome to the matplotlib bakery. We will create a pie and a donut +chart through the :meth:`pie method <matplotlib.axes.Axes.pie>` and +show how to label them with a :meth:`legend <matplotlib.axes.Axes.legend>` +as well as with :meth:`annotations <matplotlib.axes.Axes.annotate>`. +""" + +############################################################################### +# As usual we would start by defining the imports and create a figure with +# subplots. +# Now it's time for the pie. Starting with a pie recipe, we create the data +# and a list of labels from it. +# +# We can provide a function to the ``autopct`` argument, which will expand +# automatic percentage labeling by showing absolute values; we calculate +# the latter back from realtive data and the known sum of all values. +# +# We then create the pie and store the returned objects for later. +# The first returned element of the returned tuple is a list of the wedges. +# Those are +# :class:`matplotlib.patches.Wedge <matplotlib.patches.Wedge>` patches, which +# can directly be used as the handles for a legend. We can use the +# legend's ``bbox_to_anchor`` argument to position the legend outside of +# the pie. Here we use the axes coordinates ``(1, 0, 0.5, 1)`` together +# with the location ``"center left"``; i.e. +# the left central point of the legend will be at the left central point of the +# bounding box, spanning from ``(1,0)`` to ``(1.5,1)`` in axes coordinates. + +import numpy as np +import matplotlib.pyplot as plt + +fig, ax = plt.subplots(figsize=(6, 3), subplot_kw=dict(aspect="equal")) + +recipe = ["375 g flour", + "75 g sugar", + "250 g butter", + "300 g berries"] + +data = [float(x.split()[0]) for x in recipe] +ingredients = [x.split()[-1] for x in recipe] + + +def func(pct, allvals): + absolute = int(pct/100.*np.sum(allvals)) + return "{:.1f}%\n({:d} g)".format(pct, absolute) + + +wedges, texts, autotexts = ax.pie(data, autopct=lambda pct: func(pct, data), + textprops=dict(color="w")) + +ax.legend(wedges, ingredients, + title="Ingredients", + loc="center left", + bbox_to_anchor=(1, 0, 0.5, 1)) + +plt.setp(autotexts, size=8, weight="bold") + +ax.set_title("Matplotlib bakery: A pie") + +plt.show() + + +############################################################################### +# Now it's time for the donut. Starting with a donut recipe, we transcribe +# the data to numbers (converting 1 egg to 50 g), and directly plot the pie. +# The pie? Wait... it's going to be donut, is it not? +# Well, as we see here, the donut is a pie, having a certain ``width`` set to +# the wedges, which is different from its radius. It's as easy as it gets. +# This is done via the ``wedgeprops`` argument. +# +# We then want to label the wedges via +# :meth:`annotations <matplotlib.axes.Axes.annotate>`. We first create some +# dictionaries of common properties, which we can later pass as keyword +# argument. We then iterate over all wedges and for each +# +# * calculate the angle of the wedge's center, +# * from that obtain the coordinates of the point at that angle on the +# circumference, +# * determine the horizontal alignment of the text, depending on which side +# of the circle the point lies, +# * update the connection style with the obtained angle to have the annotation +# arrow point outwards from the donut, +# * finally, create the annotation with all the previously +# determined parameters. + + +fig, ax = plt.subplots(figsize=(6, 3), subplot_kw=dict(aspect="equal")) + +recipe = ["225 g flour", + "90 g sugar", + "1 egg", + "60 g butter", + "100 ml milk", + "1/2 package of yeast"] + +data = [225, 90, 50, 60, 100, 5] + +wedges, texts = ax.pie(data, wedgeprops=dict(width=0.5), startangle=-40) + +bbox_props = dict(boxstyle="square,pad=0.3", fc="w", ec="k", lw=0.72) +kw = dict(xycoords='data', textcoords='data', arrowprops=dict(arrowstyle="-"), + bbox=bbox_props, zorder=0, va="center") + +for i, p in enumerate(wedges): + ang = (p.theta2 - p.theta1)/2. + p.theta1 + y = np.sin(np.deg2rad(ang)) + x = np.cos(np.deg2rad(ang)) + horizontalalignment = {-1: "right", 1: "left"}[int(np.sign(x))] + connectionstyle = "angle,angleA=0,angleB={}".format(ang) + kw["arrowprops"].update({"connectionstyle": connectionstyle}) + ax.annotate(recipe[i], xy=(x, y), xytext=(1.35*np.sign(x), 1.4*y), + horizontalalignment=horizontalalignment, **kw) + +ax.set_title("Matplotlib bakery: A donut") + +plt.show() + +############################################################################### +# And here it is, the donut. Note however, that if we were to use this recipe, +# the ingredients would suffice for around 6 donuts - producing one huge +# donut is untested and might result in kitchen errors. From f5459d17f4c819e7a2af179d3da0b4327f1e7480 Mon Sep 17 00:00:00 2001 From: Matthew Bell <bellmj@g.cofc.edu> Date: Thu, 5 Apr 2018 20:41:57 -0400 Subject: [PATCH 0478/1161] updated the pyplot fill_between example to elucidate the premise;making the chart more readable and removing unnecessary confusing code --- examples/pyplots/whats_new_98_4_fill_between.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/examples/pyplots/whats_new_98_4_fill_between.py b/examples/pyplots/whats_new_98_4_fill_between.py index ed4b7f4ac7d5..16c55ae43b3e 100644 --- a/examples/pyplots/whats_new_98_4_fill_between.py +++ b/examples/pyplots/whats_new_98_4_fill_between.py @@ -2,19 +2,19 @@ ============================= Whats New 0.98.4 Fill Between ============================= - + generates an example of using the fill_between() method with opposing two quadratics """ import matplotlib.pyplot as plt import numpy as np -x = np.arange(0.0, 2, 0.01) -y1 = np.sin(2*np.pi*x) -y2 = 1.2*np.sin(4*np.pi*x) +x = np.arange(-5, 5, 0.01) +y1 = -5*x*x + x + 10 +y2 = 5*x*x + x fig, ax = plt.subplots() ax.plot(x, y1, x, y2, color='black') -ax.fill_between(x, y1, y2, where=y2>y1, facecolor='green') -ax.fill_between(x, y1, y2, where=y2<=y1, facecolor='red') -ax.set_title('fill between where') +ax.fill_between(x, y1, y2, where=y2>y1, facecolor='yellow',alpha=0.5) +ax.fill_between(x, y1, y2, where=y2<=y1, facecolor='red',alpha=0.5) +ax.set_title('Highlight Between and Intercept') plt.show() From 8b0b534906d77089a77bb52a66e27f0cc4d26ee1 Mon Sep 17 00:00:00 2001 From: Matthew Bell <bellmj@g.cofc.edu> Date: Thu, 5 Apr 2018 21:15:24 -0400 Subject: [PATCH 0479/1161] updated line lenght and added a single space after the comma in the fill_between method --- examples/pyplots/whats_new_98_4_fill_between.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/examples/pyplots/whats_new_98_4_fill_between.py b/examples/pyplots/whats_new_98_4_fill_between.py index 16c55ae43b3e..fb831383f291 100644 --- a/examples/pyplots/whats_new_98_4_fill_between.py +++ b/examples/pyplots/whats_new_98_4_fill_between.py @@ -2,7 +2,8 @@ ============================= Whats New 0.98.4 Fill Between ============================= - generates an example of using the fill_between() method with opposing two quadratics +generates an example of using the fill_between() method with opposing +two quadratics """ import matplotlib.pyplot as plt import numpy as np @@ -13,8 +14,8 @@ fig, ax = plt.subplots() ax.plot(x, y1, x, y2, color='black') -ax.fill_between(x, y1, y2, where=y2>y1, facecolor='yellow',alpha=0.5) -ax.fill_between(x, y1, y2, where=y2<=y1, facecolor='red',alpha=0.5) +ax.fill_between(x, y1, y2, where=y2>y1, facecolor='yellow', alpha=0.5) +ax.fill_between(x, y1, y2, where=y2<=y1, facecolor='red', alpha=0.5) ax.set_title('Highlight Between and Intercept') plt.show() From 0d3f639b69cf99760a7345c961659b123dbc5f9e Mon Sep 17 00:00:00 2001 From: Matthew Bell <bellmj@g.cofc.edu> Date: Thu, 5 Apr 2018 21:18:03 -0400 Subject: [PATCH 0480/1161] updated fill between example title --- examples/pyplots/whats_new_98_4_fill_between.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/pyplots/whats_new_98_4_fill_between.py b/examples/pyplots/whats_new_98_4_fill_between.py index fb831383f291..ffa055a44345 100644 --- a/examples/pyplots/whats_new_98_4_fill_between.py +++ b/examples/pyplots/whats_new_98_4_fill_between.py @@ -16,6 +16,6 @@ ax.plot(x, y1, x, y2, color='black') ax.fill_between(x, y1, y2, where=y2>y1, facecolor='yellow', alpha=0.5) ax.fill_between(x, y1, y2, where=y2<=y1, facecolor='red', alpha=0.5) -ax.set_title('Highlight Between and Intercept') +ax.set_title('Fill Between') plt.show() From 5a88ed22f6ad735567bc406c107650a4820e46ef Mon Sep 17 00:00:00 2001 From: Matthew Bell <bellmj@g.cofc.edu> Date: Thu, 5 Apr 2018 22:26:57 -0400 Subject: [PATCH 0481/1161] removing documentation since adding it made build tests fail --- examples/pyplots/whats_new_98_4_fill_between.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/examples/pyplots/whats_new_98_4_fill_between.py b/examples/pyplots/whats_new_98_4_fill_between.py index ffa055a44345..a35391f03882 100644 --- a/examples/pyplots/whats_new_98_4_fill_between.py +++ b/examples/pyplots/whats_new_98_4_fill_between.py @@ -1,9 +1,8 @@ """ -============================= +====================== Whats New 0.98.4 Fill Between -============================= -generates an example of using the fill_between() method with opposing -two quadratics +====================== + """ import matplotlib.pyplot as plt import numpy as np From f65ab080309b661a4916ae5a3cdd9e250469d370 Mon Sep 17 00:00:00 2001 From: Matthew Bell <bellmj@g.cofc.edu> Date: Thu, 5 Apr 2018 22:42:54 -0400 Subject: [PATCH 0482/1161] added suffient title overline --- examples/pyplots/whats_new_98_4_fill_between.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/pyplots/whats_new_98_4_fill_between.py b/examples/pyplots/whats_new_98_4_fill_between.py index a35391f03882..448a1d207646 100644 --- a/examples/pyplots/whats_new_98_4_fill_between.py +++ b/examples/pyplots/whats_new_98_4_fill_between.py @@ -1,7 +1,7 @@ """ -====================== +============================= Whats New 0.98.4 Fill Between -====================== +============================= """ import matplotlib.pyplot as plt From 5e8cf998f604a8535c1b379dd4315faa7f6519e1 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Thu, 5 Apr 2018 22:42:30 -0700 Subject: [PATCH 0483/1161] Simplify/fix some manual manipulation of len(args). The note removed in contributing.rst is simply not true anymore in Py3. The changes in patches.py fix what appears to have been a bug (well, I'd rather we decide once and for all whether we want to accept `(x, y)` or `((x, y))` but until then we may as well make sure both work -- end of rant). --- doc/devel/contributing.rst | 20 -------------------- lib/matplotlib/axes/_base.py | 2 ++ lib/matplotlib/patches.py | 4 ++-- lib/matplotlib/tri/triplot.py | 4 +--- 4 files changed, 5 insertions(+), 25 deletions(-) diff --git a/doc/devel/contributing.rst b/doc/devel/contributing.rst index e6c1163dc4ff..16bf170b5be1 100644 --- a/doc/devel/contributing.rst +++ b/doc/devel/contributing.rst @@ -410,26 +410,6 @@ local arguments and the rest are passed on as self.add_line(line) lines.append(line) -Note: there is a use case when ``kwargs`` are meant to be used locally -in the function (not passed on), but you still need the ``**kwargs`` -idiom. That is when you want to use ``*args`` to allow variable -numbers of non-keyword args. In this case, python will not allow you -to use named keyword args after the ``*args`` usage, so you will be -forced to use ``**kwargs``. An example is -:meth:`matplotlib.contour.ContourLabeler.clabel`:: - - # in contour.py - def clabel(self, *args, **kwargs): - fontsize = kwargs.get('fontsize', None) - inline = kwargs.get('inline', 1) - self.fmt = kwargs.get('fmt', '%1.3f') - colors = kwargs.get('colors', None) - if len(args) == 0: - levels = self.levels - indices = range(len(self.levels)) - elif len(args) == 1: - ...etc... - .. _using_logging: Using logging for debug messages diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index e49c33fe0c3e..6dd046876d9a 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -156,6 +156,7 @@ def __setstate__(self, state): self.set_prop_cycle() def set_prop_cycle(self, *args, **kwargs): + # Can't do `args == (None,)` as that crashes cycler. if not (args or kwargs) or (len(args) == 1 and args[0] is None): prop_cycler = rcParams['axes.prop_cycle'] else: @@ -1206,6 +1207,7 @@ def set_prop_cycle(self, *args, **kwargs): if args and kwargs: raise TypeError("Cannot supply both positional and keyword " "arguments to this method.") + # Can't do `args == (None,)` as that crashes cycler. if len(args) == 1 and args[0] is None: prop_cycle = None else: diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index 3cd8a8dabb07..0b2340da8ad9 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -775,7 +775,7 @@ def set_bounds(self, *args): ACCEPTS: (left, bottom, width, height) """ - if len(args) == 0: + if len(args) == 1: l, b, w, h = args[0] else: l, b, w, h = args @@ -2628,7 +2628,7 @@ def set_bounds(self, *args): ACCEPTS: (left, bottom, width, height) """ - if len(args) == 0: + if len(args) == 1: l, b, w, h = args[0] else: l, b, w, h = args diff --git a/lib/matplotlib/tri/triplot.py b/lib/matplotlib/tri/triplot.py index 3f8026a82ec8..d28cd94aa19f 100644 --- a/lib/matplotlib/tri/triplot.py +++ b/lib/matplotlib/tri/triplot.py @@ -41,9 +41,7 @@ def triplot(ax, *args, **kwargs): x, y, edges = (tri.x, tri.y, tri.edges) # Decode plot format string, e.g., 'ro-' - fmt = "" - if len(args) > 0: - fmt = args[0] + fmt = args[0] if args else "" linestyle, marker, color = matplotlib.axes._base._process_plot_format(fmt) # Insert plot format string into a copy of kwargs (kwargs values prevail). From 05acc6f8e1ac16a178600ac4cafb0422e1bae1dd Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Fri, 6 Apr 2018 14:10:57 +0100 Subject: [PATCH 0484/1161] Skip pillow animation test if pillow not importable --- lib/matplotlib/tests/test_animation.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/matplotlib/tests/test_animation.py b/lib/matplotlib/tests/test_animation.py index cfb1f266f75c..bc3832a6ed57 100644 --- a/lib/matplotlib/tests/test_animation.py +++ b/lib/matplotlib/tests/test_animation.py @@ -136,6 +136,8 @@ def isAvailable(self): # matplotlib.testing.image_comparison @pytest.mark.parametrize('writer, output', WRITER_OUTPUT) def test_save_animation_smoketest(tmpdir, writer, output): + if writer == 'pillow': + pytest.importorskip("PIL") try: # for ImageMagick the rcparams must be patched to account for # 'convert' being a built in MS tool, not the imagemagick From e79e628a330fffb9b71984fd6140619a57309998 Mon Sep 17 00:00:00 2001 From: Matthew Bell <bellmj@g.cofc.edu> Date: Fri, 6 Apr 2018 14:33:21 -0400 Subject: [PATCH 0485/1161] renamed fill_between example in pyplots: corrected error in the conversion to sphinx gallery --- examples/pyplots/fill_between.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 examples/pyplots/fill_between.py diff --git a/examples/pyplots/fill_between.py b/examples/pyplots/fill_between.py new file mode 100644 index 000000000000..448a1d207646 --- /dev/null +++ b/examples/pyplots/fill_between.py @@ -0,0 +1,20 @@ +""" +============================= +Whats New 0.98.4 Fill Between +============================= + +""" +import matplotlib.pyplot as plt +import numpy as np + +x = np.arange(-5, 5, 0.01) +y1 = -5*x*x + x + 10 +y2 = 5*x*x + x + +fig, ax = plt.subplots() +ax.plot(x, y1, x, y2, color='black') +ax.fill_between(x, y1, y2, where=y2>y1, facecolor='yellow', alpha=0.5) +ax.fill_between(x, y1, y2, where=y2<=y1, facecolor='red', alpha=0.5) +ax.set_title('Fill Between') + +plt.show() From 2b18763a125cd168df6fa5c6b4d62f0a4d974241 Mon Sep 17 00:00:00 2001 From: Matthew Bell <bellmj@g.cofc.edu> Date: Fri, 6 Apr 2018 14:34:04 -0400 Subject: [PATCH 0486/1161] added file delete for the previous commit --- .../pyplots/whats_new_98_4_fill_between.py | 20 ------------------- 1 file changed, 20 deletions(-) delete mode 100644 examples/pyplots/whats_new_98_4_fill_between.py diff --git a/examples/pyplots/whats_new_98_4_fill_between.py b/examples/pyplots/whats_new_98_4_fill_between.py deleted file mode 100644 index 448a1d207646..000000000000 --- a/examples/pyplots/whats_new_98_4_fill_between.py +++ /dev/null @@ -1,20 +0,0 @@ -""" -============================= -Whats New 0.98.4 Fill Between -============================= - -""" -import matplotlib.pyplot as plt -import numpy as np - -x = np.arange(-5, 5, 0.01) -y1 = -5*x*x + x + 10 -y2 = 5*x*x + x - -fig, ax = plt.subplots() -ax.plot(x, y1, x, y2, color='black') -ax.fill_between(x, y1, y2, where=y2>y1, facecolor='yellow', alpha=0.5) -ax.fill_between(x, y1, y2, where=y2<=y1, facecolor='red', alpha=0.5) -ax.set_title('Fill Between') - -plt.show() From db32fecbceca2a90624579b3844952f59105d001 Mon Sep 17 00:00:00 2001 From: Matthew Bell <bellmj@g.cofc.edu> Date: Fri, 6 Apr 2018 14:55:43 -0400 Subject: [PATCH 0487/1161] added white space to pass PEP8-check --- examples/pyplots/fill_between.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/examples/pyplots/fill_between.py b/examples/pyplots/fill_between.py index 448a1d207646..8f73fac9bd51 100644 --- a/examples/pyplots/fill_between.py +++ b/examples/pyplots/fill_between.py @@ -8,13 +8,13 @@ import numpy as np x = np.arange(-5, 5, 0.01) -y1 = -5*x*x + x + 10 -y2 = 5*x*x + x +y1 = -5 * x * x + x + 10 +y2 = 5 * x * x + x fig, ax = plt.subplots() -ax.plot(x, y1, x, y2, color='black') -ax.fill_between(x, y1, y2, where=y2>y1, facecolor='yellow', alpha=0.5) -ax.fill_between(x, y1, y2, where=y2<=y1, facecolor='red', alpha=0.5) +ax.plot(x, y1, x, y2, color = 'black') +ax.fill_between(x, y1, y2, where = y2 > y1, facecolor = 'yellow', alpha = 0.5) +ax.fill_between(x, y1, y2, where = y2 < = y1, facecolor = 'red', alpha = 0.5) ax.set_title('Fill Between') plt.show() From f961ae9517165de534e1c73c3c0c73e8de970701 Mon Sep 17 00:00:00 2001 From: Matthew Bell <bellmj@g.cofc.edu> Date: Fri, 6 Apr 2018 16:49:23 -0400 Subject: [PATCH 0488/1161] hopefully fixing whitespace --- examples/pyplots/fill_between.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/examples/pyplots/fill_between.py b/examples/pyplots/fill_between.py index 8f73fac9bd51..31e85f32da04 100644 --- a/examples/pyplots/fill_between.py +++ b/examples/pyplots/fill_between.py @@ -8,13 +8,13 @@ import numpy as np x = np.arange(-5, 5, 0.01) -y1 = -5 * x * x + x + 10 -y2 = 5 * x * x + x +y1 = -5*x*x + x + 10 +y2 = 5*x*x + x fig, ax = plt.subplots() -ax.plot(x, y1, x, y2, color = 'black') -ax.fill_between(x, y1, y2, where = y2 > y1, facecolor = 'yellow', alpha = 0.5) -ax.fill_between(x, y1, y2, where = y2 < = y1, facecolor = 'red', alpha = 0.5) +ax.plot(x, y1, x, y2, color='black') +ax.fill_between(x, y1, y2, where=y2 >y1, facecolor='yellow', alpha=0.5) +ax.fill_between(x, y1, y2, where=y2 <=y1, facecolor='red', alpha=0.5) ax.set_title('Fill Between') plt.show() From 72c097f08c516f400de0fd7c7e6e9ed5ae2cc9a0 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade <quantum.analyst@gmail.com> Date: Fri, 6 Apr 2018 19:44:49 -0400 Subject: [PATCH 0489/1161] Remove to-be-deprecated NumPy imports. These will be deprecated once NumPy fully converts to pytest. --- lib/matplotlib/tests/test_cbook.py | 4 ++-- lib/matplotlib/tests/test_colors.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/tests/test_cbook.py b/lib/matplotlib/tests/test_cbook.py index aa5e3f9f620c..6f022edec698 100644 --- a/lib/matplotlib/tests/test_cbook.py +++ b/lib/matplotlib/tests/test_cbook.py @@ -9,8 +9,8 @@ from datetime import datetime import numpy as np -from numpy.testing.utils import (assert_array_equal, assert_approx_equal, - assert_array_almost_equal) +from numpy.testing import (assert_array_equal, assert_approx_equal, + assert_array_almost_equal) import pytest import matplotlib.cbook as cbook diff --git a/lib/matplotlib/tests/test_colors.py b/lib/matplotlib/tests/test_colors.py index 599eee62c988..6ca863a7f1db 100644 --- a/lib/matplotlib/tests/test_colors.py +++ b/lib/matplotlib/tests/test_colors.py @@ -6,7 +6,7 @@ import numpy as np import pytest -from numpy.testing.utils import assert_array_equal, assert_array_almost_equal +from numpy.testing import assert_array_equal, assert_array_almost_equal from matplotlib import cycler import matplotlib From 72d20b065890911a5de677e4df33dcaa2e465677 Mon Sep 17 00:00:00 2001 From: ImportanceOfBeingErnest <elch.rz@ruetz-online.de> Date: Sun, 8 Apr 2018 00:27:27 +0200 Subject: [PATCH 0490/1161] document labelvisibility on shared axes change --- doc/api/api_changes.rst | 10 +++++++++ doc/users/prev_whats_new/whats_new_2.1.0.rst | 10 +++++++++ lib/matplotlib/figure.py | 22 ++++++++++---------- lib/matplotlib/pyplot.py | 11 +++++----- 4 files changed, 37 insertions(+), 16 deletions(-) diff --git a/doc/api/api_changes.rst b/doc/api/api_changes.rst index 730906262c23..c8c229fd32d7 100644 --- a/doc/api/api_changes.rst +++ b/doc/api/api_changes.rst @@ -407,6 +407,16 @@ Both bindings are disabled if only a subset of the grid lines (in either direction) is visible, to avoid making irreversible changes to the figure. +Ticklabels are turned off instead of being invisible +---------------------------------------------------- + +Internally, :func:`~matplotlib.axis.Axis.set_tick_params` is now used to +hide tick labels instead of setting the visibility on the tick label objects. +This improves overall performance and fixes some issues. +As a consequence, in case those labels ought to be shown, `set_tick_params` +needs to be used, e.g. `ax.xaxis.set_tick_params(labelbottom=True)`. + + Removal of warning on empty legends ----------------------------------- diff --git a/doc/users/prev_whats_new/whats_new_2.1.0.rst b/doc/users/prev_whats_new/whats_new_2.1.0.rst index ff7260d07c91..bbb8cddc0ec3 100644 --- a/doc/users/prev_whats_new/whats_new_2.1.0.rst +++ b/doc/users/prev_whats_new/whats_new_2.1.0.rst @@ -403,6 +403,16 @@ keyword. ax.xaxis.set_tick_params(which='both', rotation=90) +Ticklabels are turned off instead of being invisible +---------------------------------------------------- + +Internally, :func:`~matplotlib.axis.Axis.set_tick_params` is now used to +hide tick labels instead of setting the visibility on the tick label objects. +This improves overall performance and fixes some issues. +As a consequence, in case those labels ought to be shown, `set_tick_params` +needs to be used, e.g. `ax.xaxis.set_tick_params(labelbottom=True)`. + + Shading in 3D bar plots ----------------------- diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index 9e6980b007e6..f767c2dce87d 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -1265,21 +1265,21 @@ def subplots(self, nrows=1, ncols=1, sharex=False, sharey=False, - 'col': each subplot column will share an x- or y-axis. When subplots have a shared x-axis along a column, only the x tick - labels of the bottom subplot are visible. Similarly, when - subplots have a shared y-axis along a row, only the y tick labels - of the first column subplot are visible. + labels of the bottom subplot are created. Similarly, when subplots + have a shared y-axis along a row, only the y tick labels of the + first column subplot are created. To later turn other subplots' + ticklabels on, use :meth:`~matplotlib.axis.Axis.set_tick_params`. - squeeze : bool, default: True - - If True, extra dimensions are squeezed out from the returned - axis object: + squeeze : bool, optional, default: True + - If True, extra dimensions are squeezed out from the returned Axes + object: - if only one subplot is constructed (nrows=ncols=1), the resulting single Axes object is returned as a scalar. - - for Nx1 or 1xN subplots, the returned object is a 1D numpy - object array of Axes objects are returned as numpy 1D - arrays. - - for NxM, subplots with N>1 and M>1 are returned as a 2D - arrays. + - for Nx1 or 1xM subplots, the returned object is a 1D numpy + object array of Axes objects. + - for NxM, subplots with N>1 and M>1 are returned + as a 2D array. - If False, no squeezing at all is done: the returned Axes object is always a 2D array containing Axes instances, even if it ends diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index 3afaff8a03eb..93a9979b6e96 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -1012,9 +1012,10 @@ def subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, - 'col': each subplot column will share an x- or y-axis. When subplots have a shared x-axis along a column, only the x tick - labels of the bottom subplot are visible. Similarly, when subplots + labels of the bottom subplot are created. Similarly, when subplots have a shared y-axis along a row, only the y tick labels of the first - column subplot are visible. + column subplot are created. To later turn other subplots' ticklabels + on, use :meth:`~matplotlib.axis.Axis.set_tick_params`. squeeze : bool, optional, default: True - If True, extra dimensions are squeezed out from the returned Axes @@ -1022,9 +1023,9 @@ def subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, - if only one subplot is constructed (nrows=ncols=1), the resulting single Axes object is returned as a scalar. - - for Nx1 or 1xN subplots, the returned object is a 1D numpy - object array of Axes objects are returned as numpy 1D arrays. - - for NxM, subplots with N>1 and M>1 are returned as a 2D arrays. + - for Nx1 or 1xM subplots, the returned object is a 1D numpy + object array of Axes objects. + - for NxM, subplots with N>1 and M>1 are returned as a 2D array. - If False, no squeezing at all is done: the returned Axes object is always a 2D array containing Axes instances, even if it ends up From 8e681524a0857db45c9b4c10827a0dbd2c8c376f Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Tue, 13 Feb 2018 17:10:33 +0100 Subject: [PATCH 0491/1161] Make the filternorm prop of Images a boolean rather than a {0,1} scalar. This seems a bit more pythonic and the C-API handles bools just as well. Also filternorm and filterrad are always defined (as bool and float, respectively, so no need to add `... or 0.0` when passing them to the C-API. --- lib/matplotlib/axes/_axes.py | 6 +++--- lib/matplotlib/image.py | 23 ++++++++++------------- 2 files changed, 13 insertions(+), 16 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 0292ccb64218..65f66e35c90e 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -5170,9 +5170,9 @@ def imshow(self, X, cmap=None, norm=None, aspect=None, shape : scalars (columns, rows), optional, default: None For raw buffer images - filternorm : scalar, optional, default: 1 - A parameter for the antigrain image resize filter. From the - antigrain documentation, if `filternorm` = 1, the filter + filternorm : bool, optional, default: True + A parameter for the antigrain image resize filter (see the + antigrain documentation). If *filternorm* is set, the filter normalizes integer values and corrects the rounding errors. It doesn't do anything with the source floating point values, it corrects only integers according to the rule of 1.0 which means diff --git a/lib/matplotlib/image.py b/lib/matplotlib/image.py index bb47d804699f..81357ecb2cc4 100644 --- a/lib/matplotlib/image.py +++ b/lib/matplotlib/image.py @@ -188,7 +188,7 @@ def __init__(self, ax, norm=None, interpolation=None, origin=None, - filternorm=1, + filternorm=True, filterrad=4.0, resample=False, **kwargs @@ -424,7 +424,7 @@ def _make_image(self, A, in_bbox, out_bbox, clip_bbox, magnification=1.0, _interpd_[self.get_interpolation()], self.get_resample(), 1.0, self.get_filternorm(), - self.get_filterrad() or 0.0) + self.get_filterrad()) # we are done with A_scaled now, remove from namespace # to be sure! @@ -459,7 +459,7 @@ def _make_image(self, A, in_bbox, out_bbox, clip_bbox, magnification=1.0, _interpd_[self.get_interpolation()], True, 1, self.get_filternorm(), - self.get_filterrad() or 0.0) + self.get_filterrad()) # we are done with the mask, delete from namespace to be sure! del mask # Agg updates the out_mask in place. If the pixel has @@ -492,7 +492,7 @@ def _make_image(self, A, in_bbox, out_bbox, clip_bbox, magnification=1.0, _image.resample( A, output, t, _interpd_[self.get_interpolation()], self.get_resample(), alpha, - self.get_filternorm(), self.get_filterrad() or 0.0) + self.get_filternorm(), self.get_filterrad()) # at this point output is either a 2D array of normed data # (of int or float) @@ -735,20 +735,17 @@ def get_resample(self): def set_filternorm(self, filternorm): """ - Set whether the resize filter norms the weights -- see - help for imshow + Set whether the resize filter normalizes the weights. - ACCEPTS: 0 or 1 - """ - if filternorm: - self._filternorm = 1 - else: - self._filternorm = 0 + See help for `~.Axes.imshow`. + .. ACCEPTS: bool + """ + self._filternorm = bool(filternorm) self.stale = True def get_filternorm(self): - """Return the filternorm setting.""" + """Return whether the resize filter normalizes the weights.""" return self._filternorm def set_filterrad(self, filterrad): From a4f0ad5653a0034094ab3a6aac07f45aaa8ca71c Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sun, 8 Apr 2018 03:04:05 +0200 Subject: [PATCH 0492/1161] Simplfy zorder_demo example for individual order --- examples/misc/zorder_demo.py | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/examples/misc/zorder_demo.py b/examples/misc/zorder_demo.py index 89072bbe28ee..e13df7158319 100644 --- a/examples/misc/zorder_demo.py +++ b/examples/misc/zorder_demo.py @@ -56,16 +56,13 @@ # A new figure, with individually ordered items x = np.linspace(0, 2*np.pi, 100) +plt.rcParams['lines.linewidth'] = 10 plt.figure() -plt.plot(x, np.sin(x), linewidth=10, label='zorder=10', - zorder=10) # on top -plt.plot(x, np.cos(1.3*x), linewidth=10, label='zorder=1', - zorder=1) # bottom -plt.plot(x, np.sin(2.1*x), linewidth=10, label='zorder=3', - zorder=3) -plt.axhline(0, linewidth=10, label='zorder=2', - zorder=2) +plt.plot(x, np.sin(x), label='zorder=10', zorder=10) # on top +plt.plot(x, np.sin(1.1*x), label='zorder=1', zorder=1) # bottom +plt.plot(x, np.sin(1.2*x), label='zorder=3', zorder=3) +plt.axhline(0, label='zorder=2', color='grey', zorder=2) plt.title('Custom order of elements') -l = plt.legend() +l = plt.legend(loc='upper right') l.set_zorder(20) # put the legend on top plt.show() From 821a386c147b87e1a0eaaf94fa6de4849293f762 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Sun, 8 Apr 2018 00:18:10 -0400 Subject: [PATCH 0493/1161] DOC: better document the MEP process --- doc/devel/MEP/README.rst | 18 ++++++++++++++++++ doc/devel/MEP/index.rst | 27 ++++++--------------------- doc/devel/MEP/template.rst | 7 +++++-- 3 files changed, 29 insertions(+), 23 deletions(-) create mode 100644 doc/devel/MEP/README.rst diff --git a/doc/devel/MEP/README.rst b/doc/devel/MEP/README.rst new file mode 100644 index 000000000000..fe58ee685d91 --- /dev/null +++ b/doc/devel/MEP/README.rst @@ -0,0 +1,18 @@ +:orphan: + + +################################ +Matplotlib Enhancement Proposals +################################ + +Matplotlib Enhancement Proposals (MEP), inspired by cpython's `PEP's +<https://www.python.org/dev/peps/>`__ but less formal, are design +documents for large or controversial changes to Matplotilb. These +documents should provide a discussion of both why and how the changes +should be made. + +To create a new MEP open a pull request (PR) adding a file based on +:ref:`the template <MEP-template>` to this the MEP directory. For the +initial PR only a rough description is required and it should be +merged quickly. Further detailed discussion can happen in follow on +PRs. diff --git a/doc/devel/MEP/index.rst b/doc/devel/MEP/index.rst index 9a8d55c7b72a..06c454ad240f 100644 --- a/doc/devel/MEP/index.rst +++ b/doc/devel/MEP/index.rst @@ -1,8 +1,6 @@ .. _MEP-index: -################################ -Matplotlib Enhancement Proposals -################################ +.. include:: README.rst .. htmlonly:: @@ -13,22 +11,9 @@ Matplotlib Enhancement Proposals :maxdepth: 1 template - MEP08 - MEP09 - MEP10 - MEP11 - MEP12 - MEP13 - MEP14 - MEP15 - MEP19 - MEP21 - MEP22 - MEP23 - MEP24 - MEP25 - MEP26 - MEP27 - MEP28 - MEP29 +.. toctree:: + :glob: + :maxdepth: 1 + + MEP* diff --git a/doc/devel/MEP/template.rst b/doc/devel/MEP/template.rst index fae4a5132275..81191fc44eeb 100644 --- a/doc/devel/MEP/template.rst +++ b/doc/devel/MEP/template.rst @@ -1,3 +1,5 @@ +.. _MEP-template: + ============== MEP Template ============== @@ -20,14 +22,15 @@ MEPs go through a number of phases in their lifetime: discussion of the MEP should include the MEP number (MEPxxx) in the subject line so they can be easily related to the MEP. -- **Progress**: Consensus was reached on the mailing list and - implementation work has begun. +- **Progress**: Consensus was reached and implementation work has begun. - **Completed**: The implementation has been merged into master. - **Superseded**: This MEP has been abandoned in favor of another approach. +- **Rejected**: There are currently no plans to implement the proposal. + Branches and Pull requests ========================== From 5e642c9a63e9676a83d3ad698c7bf17767134387 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Sun, 8 Apr 2018 00:19:03 -0400 Subject: [PATCH 0494/1161] DOC: update state of several MEPs --- doc/devel/MEP/MEP08.rst | 4 +++- doc/devel/MEP/MEP09.rst | 1 + doc/devel/MEP/MEP10.rst | 5 +---- doc/devel/MEP/MEP19.rst | 2 +- doc/devel/MEP/MEP26.rst | 2 +- doc/devel/MEP/MEP27.rst | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/doc/devel/MEP/MEP08.rst b/doc/devel/MEP/MEP08.rst index 072a279eacf9..67ce5d3d76ef 100644 --- a/doc/devel/MEP/MEP08.rst +++ b/doc/devel/MEP/MEP08.rst @@ -9,7 +9,9 @@ Status ====== -**Discussion** +**Completed** + +We are currently enforcing a sub-set of pep8 on new code contributions. Branches and Pull requests ========================== diff --git a/doc/devel/MEP/MEP09.rst b/doc/devel/MEP/MEP09.rst index b7e0ca7a39b7..51ac47ca2c79 100644 --- a/doc/devel/MEP/MEP09.rst +++ b/doc/devel/MEP/MEP09.rst @@ -11,6 +11,7 @@ by the user. Status ====== + **Discussion** Branches and Pull requests diff --git a/doc/devel/MEP/MEP10.rst b/doc/devel/MEP/MEP10.rst index dc00e0fb9c0b..634fb44d7235 100644 --- a/doc/devel/MEP/MEP10.rst +++ b/doc/devel/MEP/MEP10.rst @@ -9,14 +9,11 @@ Status **Progress** -Targeted for 1.3 +This is still an on-going effort Branches and Pull requests ========================== -#1665 -#1757 -#1795 Abstract ======== diff --git a/doc/devel/MEP/MEP19.rst b/doc/devel/MEP/MEP19.rst index 9dc995953c80..a39911102052 100644 --- a/doc/devel/MEP/MEP19.rst +++ b/doc/devel/MEP/MEP19.rst @@ -5,7 +5,7 @@ Status ====== -**Discussion** +**Completed** Branches and Pull requests ========================== diff --git a/doc/devel/MEP/MEP26.rst b/doc/devel/MEP/MEP26.rst index 705b65de3014..d49c6f39aa6b 100644 --- a/doc/devel/MEP/MEP26.rst +++ b/doc/devel/MEP/MEP26.rst @@ -9,7 +9,7 @@ Status ====== -**Proposed** +**Rejected** Branches and Pull requests ========================== diff --git a/doc/devel/MEP/MEP27.rst b/doc/devel/MEP/MEP27.rst index 63592cf475a3..13ed37cb73cb 100644 --- a/doc/devel/MEP/MEP27.rst +++ b/doc/devel/MEP/MEP27.rst @@ -8,7 +8,7 @@ Status ====== -**Discussion** +**Progress** Branches and Pull requests ========================== From f3d1929df20f4314b1ed8a96ef9efdc530dcbcd9 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sun, 8 Apr 2018 13:19:14 +0200 Subject: [PATCH 0495/1161] Rewrite dashes example --- .../line_demo_dash_control.py | 38 ++++++++++++------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/examples/lines_bars_and_markers/line_demo_dash_control.py b/examples/lines_bars_and_markers/line_demo_dash_control.py index d359a0590f38..af4411daf0c9 100644 --- a/examples/lines_bars_and_markers/line_demo_dash_control.py +++ b/examples/lines_bars_and_markers/line_demo_dash_control.py @@ -1,25 +1,37 @@ """ -======================================= -A simple plot with a custom dashed line -======================================= +============================== +Customizing dashed line styles +============================== -A Line object's ``set_dashes`` method allows you to specify dashes with -a series of on/off lengths (in points). +The dashing of a line is controlled via a dash sequence. It can be modified +using `.Line2D.set_dashes`. + +The dash sequence is a series of on/off lengths in points, e.g. +``[3, 1]`` would be 3pt long lines separated by 1pt spaces. + +Some functions like `.Axes.plot` support passing Line properties as keyword +arguments. In such a case, you can already set the dashing when creating the +line. + +*Note*: The dash style can also be configured via a +:ref:`property_cycle <sphx_glr_tutorials_intermediate_color_cycle.py>` +by passing a list of dash sequences using the keyword *dashes* to the +cycler. This is not shown within this example. """ import numpy as np import matplotlib.pyplot as plt - x = np.linspace(0, 10, 500) -dashes = [10, 5, 100, 5] # 10 points on, 5 off, 100 on, 5 off +y = np.sin(x) fig, ax = plt.subplots() -line1, = ax.plot(x, np.sin(x), '--', linewidth=2, - label='Dashes set retroactively') -line1.set_dashes(dashes) -line2, = ax.plot(x, -1 * np.sin(x), dashes=[30, 5, 10, 5], - label='Dashes set proactively') +# Using set_dashes() to modify dashing of an existing line +line1, = ax.plot(x, y, label='Using set_dashes()') +line1.set_dashes([2, 2, 10, 2]) # 2pt line, 2pt break, 10pt line, 2pt break + +# Using plot(..., dashes=...) to set the dashing when creating a line +line2, = ax.plot(x, y - 0.2, dashes=[6, 2], label='Using the dashes parameter') -ax.legend(loc='lower right') +ax.legend() plt.show() From 873441228b2385a9ce99108c81d1a75e6013b60b Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sun, 8 Apr 2018 12:04:14 +0200 Subject: [PATCH 0496/1161] Improve docstring of Axes.matshow --- lib/matplotlib/axes/_axes.py | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 0292ccb64218..bf996de94db8 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -7390,14 +7390,14 @@ def spy(self, Z, precision=0, marker=None, markersize=None, def matshow(self, Z, **kwargs): """ - Plot a matrix or array as an image. + Plot the values of a 2D matrix or array as color-coded image. The matrix will be shown the way it would be printed, with the first row at the top. Row and column numbering is zero-based. Parameters ---------- - Z : array_like shape (n, m) + Z : array-like(N, M) The matrix to be displayed. Returns @@ -7407,12 +7407,21 @@ def matshow(self, Z, **kwargs): Other Parameters ---------------- **kwargs : `~matplotlib.axes.Axes.imshow` arguments - Sets `origin` to 'upper', 'interpolation' to 'nearest' and - 'aspect' to equal. - See also + See Also -------- - imshow : plot an image + imshow : More general function to plot data on a 2D regular raster. + + Notes + ----- + This is just a convenience function wrapping `.imshow` to set useful + defaults for a displaying a matrix. In particular: + + - Set ``origin='upper'``. + - Set ``interpolation='nearest'``. + - Set ``aspect='equal'``. + - Ticks are placed to the left and above. + - Ticks are formatted to show integer indices. """ Z = np.asanyarray(Z) From 0af925bbdd93271f1638c55607b2eed007201530 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sun, 8 Apr 2018 18:24:24 +0200 Subject: [PATCH 0497/1161] fix layout of Other Parameters in docs --- doc/_static/mpl.css | 2 +- doc/docutils.conf | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 doc/docutils.conf diff --git a/doc/_static/mpl.css b/doc/_static/mpl.css index 4e24cf579bfa..20c2b26b9660 100644 --- a/doc/_static/mpl.css +++ b/doc/_static/mpl.css @@ -702,7 +702,7 @@ table.docutils.field-list { padding: 10px; text-align: left; vertical-align: top; - width: 120px; + width: 125px; } .docutils.field-list td { padding: 10px 10px 10px 20px; diff --git a/doc/docutils.conf b/doc/docutils.conf new file mode 100644 index 000000000000..b54717ea6dc3 --- /dev/null +++ b/doc/docutils.conf @@ -0,0 +1,4 @@ +# These entries affect HTML output: +[html4css1 writer] +# Required for docutils-update, the website build system: +field-name-limit: 20 From 89779532dad71132613a760ecc4e536800d259fa Mon Sep 17 00:00:00 2001 From: ImportanceOfBeingErnest <elch.rz@ruetz-online.de> Date: Sun, 8 Apr 2018 03:01:07 +0200 Subject: [PATCH 0498/1161] document labelvisibility on shared axes change (rev1) --- doc/api/api_changes.rst | 14 ++++++++++---- doc/users/prev_whats_new/whats_new_2.1.0.rst | 18 ++++++++++++------ lib/matplotlib/figure.py | 6 +++--- lib/matplotlib/pyplot.py | 6 +++--- 4 files changed, 28 insertions(+), 16 deletions(-) diff --git a/doc/api/api_changes.rst b/doc/api/api_changes.rst index c8c229fd32d7..4b83c9660788 100644 --- a/doc/api/api_changes.rst +++ b/doc/api/api_changes.rst @@ -410,11 +410,17 @@ direction) is visible, to avoid making irreversible changes to the figure. Ticklabels are turned off instead of being invisible ---------------------------------------------------- -Internally, :func:`~matplotlib.axis.Axis.set_tick_params` is now used to -hide tick labels instead of setting the visibility on the tick label objects. +Internally, the `Tick`'s :func:`~matplotlib.axis.Tick.label1On` attribute +is now used to hide tick labels instead of setting the visibility on the tick +label objects. This improves overall performance and fixes some issues. -As a consequence, in case those labels ought to be shown, `set_tick_params` -needs to be used, e.g. `ax.xaxis.set_tick_params(labelbottom=True)`. +As a consequence, in case those labels ought to be shown, +:func:`~matplotlib.axes.Axes.tick_params` +needs to be used, e.g. + +:: + + ax.tick_params(labelbottom=True) Removal of warning on empty legends diff --git a/doc/users/prev_whats_new/whats_new_2.1.0.rst b/doc/users/prev_whats_new/whats_new_2.1.0.rst index bbb8cddc0ec3..171dc7291a9f 100644 --- a/doc/users/prev_whats_new/whats_new_2.1.0.rst +++ b/doc/users/prev_whats_new/whats_new_2.1.0.rst @@ -395,22 +395,28 @@ cases. --------------------------------------------------- Bulk setting of tick label rotation is now possible via -:func:`~matplotlib.axis.Axis.set_tick_params` using the ``rotation`` +:func:`~matplotlib.axes.Axes.tick_params` using the ``rotation`` keyword. :: - ax.xaxis.set_tick_params(which='both', rotation=90) + ax.tick_params(which='both', rotation=90) Ticklabels are turned off instead of being invisible ---------------------------------------------------- -Internally, :func:`~matplotlib.axis.Axis.set_tick_params` is now used to -hide tick labels instead of setting the visibility on the tick label objects. +Internally, the `Tick`'s :func:`~matplotlib.axis.Tick.label1On` attribute +is now used to hide tick labels instead of setting the visibility on the tick +label objects. This improves overall performance and fixes some issues. -As a consequence, in case those labels ought to be shown, `set_tick_params` -needs to be used, e.g. `ax.xaxis.set_tick_params(labelbottom=True)`. +As a consequence, in case those labels ought to be shown, +:func:`~matplotlib.axes.Axes.tick_params` +needs to be used, e.g. + +:: + + ax.tick_params(labelbottom=True) Shading in 3D bar plots diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index f767c2dce87d..dbc831ee7c00 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -1268,11 +1268,11 @@ def subplots(self, nrows=1, ncols=1, sharex=False, sharey=False, labels of the bottom subplot are created. Similarly, when subplots have a shared y-axis along a row, only the y tick labels of the first column subplot are created. To later turn other subplots' - ticklabels on, use :meth:`~matplotlib.axis.Axis.set_tick_params`. + ticklabels on, use :meth:`~matplotlib.axes.Axes.tick_params`. squeeze : bool, optional, default: True - - If True, extra dimensions are squeezed out from the returned Axes - object: + - If True, extra dimensions are squeezed out from the returned + array of Axes: - if only one subplot is constructed (nrows=ncols=1), the resulting single Axes object is returned as a scalar. diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index 93a9979b6e96..01dea0733b9d 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -1015,11 +1015,11 @@ def subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, labels of the bottom subplot are created. Similarly, when subplots have a shared y-axis along a row, only the y tick labels of the first column subplot are created. To later turn other subplots' ticklabels - on, use :meth:`~matplotlib.axis.Axis.set_tick_params`. + on, use :meth:`~matplotlib.axes.Axes.tick_params`. squeeze : bool, optional, default: True - - If True, extra dimensions are squeezed out from the returned Axes - object: + - If True, extra dimensions are squeezed out from the returned + array of Axes: - if only one subplot is constructed (nrows=ncols=1), the resulting single Axes object is returned as a scalar. From 88b68a67ce2557f9cada50d7acdd6a2b4d117132 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Sun, 8 Apr 2018 13:25:43 -0700 Subject: [PATCH 0499/1161] FIX: improve Text repr to not error if non-float x and y. --- lib/matplotlib/text.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/text.py b/lib/matplotlib/text.py index d2df6c6e392e..148cf25035bd 100644 --- a/lib/matplotlib/text.py +++ b/lib/matplotlib/text.py @@ -132,7 +132,7 @@ class Text(Artist): _cached = cbook.maxdict(50) def __repr__(self): - return "Text(%g,%g,%s)" % (self._x, self._y, repr(self._text)) + return "Text(%s, %s, %s)" % (self._x, self._y, repr(self._text)) def __init__(self, x=0, y=0, text='', From 0089509b61ea14333e5bac0aa94c06d288f633c2 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Sun, 8 Apr 2018 13:32:50 -0700 Subject: [PATCH 0500/1161] TST: test repr for category x --- lib/matplotlib/tests/test_text.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/matplotlib/tests/test_text.py b/lib/matplotlib/tests/test_text.py index 4d22075b7dd5..04013d3550f2 100644 --- a/lib/matplotlib/tests/test_text.py +++ b/lib/matplotlib/tests/test_text.py @@ -496,3 +496,10 @@ def test_text_as_text_opacity(): plt.text(0.25, 0.5, '50% using `alpha`', alpha=0.5) plt.text(0.25, 0.75, '50% using `alpha` and 100% `color`', alpha=0.5, color=(0, 0, 0, 1)) + + +def test_text_repr(): + # smoketest to make sure text repr doesn't error for category + plt.plot(['A', 'B'], [1, 2]) + txt = plt.text(['A'], 0.5, 'Boo') + print(txt) From 0b6fff102b85e37babe7e5186b534374850316a1 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Mon, 9 Apr 2018 00:22:39 +0200 Subject: [PATCH 0501/1161] fix logic error in ScalarMappable.to_rgba --- lib/matplotlib/cm.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/cm.py b/lib/matplotlib/cm.py index c415005190b0..4e8abedf1e9e 100644 --- a/lib/matplotlib/cm.py +++ b/lib/matplotlib/cm.py @@ -249,7 +249,7 @@ def to_rgba(self, x, alpha=None, bytes=False, norm=True): else: raise ValueError("third dimension must be 3 or 4") if xx.dtype.kind == 'f': - if norm and xx.max() > 1 or xx.min() < 0: + if norm and (xx.max() > 1 or xx.min() < 0): raise ValueError("Floating point image RGB values " "must be in the 0..1 range.") if bytes: From e461640dc4862260c68123a32bd39a0e1ba5bcda Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Mon, 9 Apr 2018 13:35:35 -0400 Subject: [PATCH 0502/1161] DOC: tweak helper method kwargs and example data --- tutorials/intermediate/imshow_extent.py | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/tutorials/intermediate/imshow_extent.py b/tutorials/intermediate/imshow_extent.py index f0f72bc29ee1..d0f56705c014 100644 --- a/tutorials/intermediate/imshow_extent.py +++ b/tutorials/intermediate/imshow_extent.py @@ -20,7 +20,7 @@ from matplotlib.gridspec import GridSpec -def generate_imshow_demo_grid(auto_limits, extents): +def generate_imshow_demo_grid(extents, auto_limits): N = len(extents) fig = plt.figure(tight_layout=True) fig.set_size_inches(6, N * (11.25) / 5) @@ -29,8 +29,8 @@ def generate_imshow_demo_grid(auto_limits, extents): columns = {'label': [fig.add_subplot(gs[j, 0]) for j in range(N)], 'upper': [fig.add_subplot(gs[j, 1:3]) for j in range(N)], 'lower': [fig.add_subplot(gs[j, 3:5]) for j in range(N)]} - - d = np.arange(42).reshape(6, 7) + x, y = np.ogrid[0:6, 0:7] + d = x + y for origin in ['upper', 'lower']: for ax, extent in zip(columns[origin], extents): @@ -69,7 +69,6 @@ def generate_imshow_demo_grid(auto_limits, extents): ha='center', va='top', **ann_kwargs) ax.annotate(lower_string, xy=(.5, 0), xytext=(0, 1), ha='center', va='bottom', **ann_kwargs) - ax.annotate(port_string, xy=(0, .5), xytext=(1, 0), ha='left', va='center', rotation=90, **ann_kwargs) @@ -125,12 +124,8 @@ def generate_imshow_demo_grid(auto_limits, extents): # ``(left, top)`` moves along the ``[:, 0]`` axis of the array to # lower index rows and moving towards ``(right, bottom)`` moves you # along the ``[-1, :]`` axis of the array to higher indexed columns -# -# To demonstrate this we will plot a linear ramp -# ``np.arange(42).reshape(6, 7)`` with varying parameters. -# -generate_imshow_demo_grid(True, extents[:1]) +generate_imshow_demo_grid(extents[:1], auto_limits=True) ############################################################################### # @@ -151,10 +146,6 @@ def generate_imshow_demo_grid(auto_limits, extents): # which defaults to ``'upper'`` to match the matrix indexing # conventions in math and computer graphics image indexing # conventions. - -generate_imshow_demo_grid(True, extents[1:]) - -############################################################################### # # If the axes is set to autoscale, then view limits of the axes are set # to match the *extent* which ensures that the coordinate set by @@ -162,7 +153,8 @@ def generate_imshow_demo_grid(auto_limits, extents): # may invert the axis so they do not increase in the 'natural' direction. # -generate_imshow_demo_grid(False, extents) +generate_imshow_demo_grid(extents[1:], auto_limits=True) + ############################################################################### # @@ -177,3 +169,5 @@ def generate_imshow_demo_grid(auto_limits, extents): # - The image may be inverted along either direction. # - The 'left-right' and 'top-bottom' sense of the image is uncoupled from # the orientation on the screen. + +generate_imshow_demo_grid(extents, auto_limits=False) From 258f2fb5686dfbe17d797e44a68a681952f23fd1 Mon Sep 17 00:00:00 2001 From: Sam Vaughan <sam.vaughan@physics.ox.ac.uk> Date: Mon, 9 Apr 2018 21:26:52 +0100 Subject: [PATCH 0503/1161] Changed fill.py example to be less misleading, after issue #5827 --- examples/lines_bars_and_markers/fill.py | 28 ++++++++++++++++++------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/examples/lines_bars_and_markers/fill.py b/examples/lines_bars_and_markers/fill.py index a8a987d365a1..a21dcd424a54 100644 --- a/examples/lines_bars_and_markers/fill.py +++ b/examples/lines_bars_and_markers/fill.py @@ -5,23 +5,21 @@ Demo fill plot. """ + +############################################################################### +# First, the most basic fill plot a user can make with matplotlib: import numpy as np import matplotlib.pyplot as plt -x = np.linspace(0, 1, 500) -y = np.sin(4 * np.pi * x) * np.exp(-5 * x) -############################################################################### -# First, the most basic fill plot a user can make with matplotlib: +x = [0, 0, 1, 2, 2] +y = [0, 1, 2, 1, 0] fig, ax = plt.subplots() - ax.fill(x, y, zorder=10) ax.grid(True, zorder=5) -x = np.linspace(0, 2 * np.pi, 500) -y1 = np.sin(x) -y2 = np.sin(3 * x) + ############################################################################### # Next, a few more optional features: @@ -30,6 +28,20 @@ # * Setting the fill color. # * Setting the opacity (alpha value). + +x = np.linspace(0, 1.5 * np.pi, 500) +y1 = np.sin(x) +y2 = np.sin(3 * x) + fig, ax = plt.subplots() + ax.fill(x, y1, 'b', x, y2, 'r', alpha=0.3) + +# Also outline the region we've filled in +ax.plot(x, y1, c='b', alpha=0.8) +ax.plot(x, y2, c='r', alpha=0.8) +ax.plot([x[0], x[-1]], [y1[0], y1[-1]], c='b', alpha=0.8) +ax.plot([x[0], x[-1]], [y2[0], y2[-1]], c='r', alpha=0.8) + + plt.show() From 6f9251c8659521a1110382c84e269067fc98832a Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Mon, 9 Apr 2018 15:20:11 -0700 Subject: [PATCH 0504/1161] MNT: Make hist2d use pcolormesh instead of pcolorfast --- doc/api/next_api_changes/2017-12-12-JMK.rst | 7 + lib/matplotlib/axes/_axes.py | 4 +- .../baseline_images/test_axes/hist2d.pdf | Bin 8618 -> 3422 bytes .../baseline_images/test_axes/hist2d.png | Bin 8183 -> 3586 bytes .../baseline_images/test_axes/hist2d.svg | 421 +++------------- .../test_axes/hist2d_transpose.pdf | Bin 8946 -> 3176 bytes .../test_axes/hist2d_transpose.png | Bin 8674 -> 3243 bytes .../test_axes/hist2d_transpose.svg | 459 +++--------------- lib/matplotlib/tests/test_axes.py | 12 +- lib/matplotlib/tests/test_image.py | 6 - 10 files changed, 124 insertions(+), 785 deletions(-) create mode 100644 doc/api/next_api_changes/2017-12-12-JMK.rst diff --git a/doc/api/next_api_changes/2017-12-12-JMK.rst b/doc/api/next_api_changes/2017-12-12-JMK.rst new file mode 100644 index 000000000000..ff7af6595872 --- /dev/null +++ b/doc/api/next_api_changes/2017-12-12-JMK.rst @@ -0,0 +1,7 @@ +`.Axes.hist2d` now uses `~.Axes.pcolormesh` instead of `~.Axes.pcolorfast` +-------------------------------------------------------------------------- + +`.Axes.hist2d` now uses `~.Axes.pcolormesh` instead of `~.Axes.pcolorfast`, +which will improve the handling of log-axes. Note that the +returned *image* now is of type `~.matplotlib.collections.QuadMesh` +instead of `~.matplotlib.image.AxesImage`. diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 0292ccb64218..bb0402a88f8a 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -6505,7 +6505,7 @@ def hist2d(self, x, y, bins=10, range=None, normed=False, weights=None, The bin edges along the x axis. yedges : 1D array The bin edges along the y axis. - image : AxesImage + image : `~.matplotlib.collections.QuadMesh` Other Parameters ---------------- @@ -6545,7 +6545,7 @@ def hist2d(self, x, y, bins=10, range=None, normed=False, weights=None, if cmax is not None: h[h > cmax] = None - pc = self.pcolorfast(xedges, yedges, h.T, **kwargs) + pc = self.pcolormesh(xedges, yedges, h.T, **kwargs) self.set_xlim(xedges[0], xedges[-1]) self.set_ylim(yedges[0], yedges[-1]) diff --git a/lib/matplotlib/tests/baseline_images/test_axes/hist2d.pdf b/lib/matplotlib/tests/baseline_images/test_axes/hist2d.pdf index 2960fe060b1968374792254b3667abb9b5afb49e..8343cc2efd97079badb86aef86bcfa9118fd42c8 100644 GIT binary patch literal 3422 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 QY7UdjVR(Bll}Z@@0YhCj?*IS* literal 8618 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 S0UBCV8jXfAG<5QI#{3sF#)HlP diff --git a/lib/matplotlib/tests/baseline_images/test_axes/hist2d.png b/lib/matplotlib/tests/baseline_images/test_axes/hist2d.png index 19cf02780009a10b22cdc1121db823b388d7f25a..07fd623e91372257541bdc02040e36e0eb85d7a0 100644 GIT binary patch literal 3586 zcmd^BYfMvT82(y1X`Kj&q394v@RsOWKm`#f3SwcI;0;Bfl`^hU+5!c!+!|zI^Tsxu zI6(*_!W3Iju7afnhGqeV3~DW<wjdXwKvC8f1nRzaasC+D;-3w-lbmyM-kk5t_rA~j zKF{;zK_8;g^0mtW07l+k`wjzuWCMVZqnE+R&aS>e_(H|Idmlx^D+L|;1^mV^yiUXe zU`)~7h#%ZaqhRn5)6<`MgdWa3O^FKwF%%|)N@r4|LaY<R;^L#|G;4dDJ<b-#pvN;E zci7=V!xC+`M%YuFwmXE_+u3ikj$|?!yYcw93vu+g2>iyn9o6t;MDKljk0#|$Nbj7_ z)2w^=LN<DtFu^F@%Ct9M?Xn>fV`a4NZk5OD4>~`m-taJt@xgXTmtU_8ZTsa$^v$BS zuZJSDu4FXtEjqgqpBh3OGa>%;$UULcga0y>j8C%dB@Ex|<}D=q%ux9<<wpS6Z4w#) zF!Op98vqK*8tkz^pn=JLfCQPQ|GQ9lfU7*FMl#VmF%i>HR~H!(5h08R?AJ|cd^-MQ zBh}c-B{Ii*_{3FUDOam&I!30))&Rk}+aiT}s=sAy%|?_QV6j+E_2aajwBC}5>jOLc z40ANHvI5(49Sylcv!rJOIc|Qw?40R(-l_CRzVp1L?*?Ev^XiVWiq~Bdf&8j}(+EkG zc_=@9qyhfkl593_I9IOq(yBP^hB5$}{vC*}Myc4f-ZBkGIoG0?NDQo72IRDSU`448 zs1{Qb>xQS#s5St0F-BmsEw`;kOkF8r@wf#jz}S(^&VH0YQq*%<%YeYz2OvN*dJkaR zB29qx1%LwRXCBrJ_e7DS&}@IK&>TKrgxJA?JyDP5jA4rF>cvNW<rn8(62AQz^ZvAF ziO_&erxp@!Lgd@B3y=F+wE6`e^|csp4LRmYS>2$>8^bWlcOhW@Hh(V35({;YA?P`c z%0QVWOC*`7VHg2{6fLm1eXLB~MO^RKDYufi?1qqCD)qgEy)dxeP5V8oIasM>9f7Ih zC!0h)#%XE|1aoGDp6>5TslfARjz<@!1h^JoCJKoDxZIdZu_af<BDrFKJkkgJO~)*~ z@@Sd{7c{+t_sa@mBk<;xZ~E4Psx5On2C*M}0W0G5RI9v*J+IXDvxq;F2FE;z>{bq2 zU9nI$h8fC#e@ItHl!Pa#>X91f<Wkmy>!fN=n9Y6v_FJ1*43qP(bQHrHobAxo!|cwL z<sDFEHt8o^E?8uSQ_zFxR9S7K(zv`<64SpHup45LNtwb^!thFQ|FzB$VGaP7Hi7Jl zAe<z;(kV!xs%NbNf-V;%!CjQVQPe{g24|PVFtt~)fJ&e0gF8uwdBGL@`T1lWr_~nD zm#~_*6wJSDfs-G%DH|&^Tb7q1u2qXmh1)-IdOw&zN80)n_2=Ion@|Y}?uqb#DkIiq zb|DKY)@RetZ^JwtvbnGo9Qa%^kTH<&<|tmAY+6^OoO`TU=vO5+d>mu|7><w=DgrpY zR0rpv>Dl{w^igutD{WyCszX*Zk9^!033gqBWb(Y8n?O45Y5;;wHvdEZ1&SlEXq$Wm z@eR&-cwRUB^D}2us7Cd#-l~j4K~gF#MNOF%kPV>Th~5&Tus_83?YSW7_ee-Gs9C?W zSFmP?%-D@{OC#&_YYbu8m!-KW)%vM2;}#M1xBD!z^<RaybF8KuM&}w;sp&~PDeXfM z0DTwD^kU<X*RfKRLMYeU3Pe)oP@EWs`UA>EdV&}>oieTGMw3K-od8(;xCqg_qj&n< z4a$^((HtJFJV1iYE;`USUIww0@NX3WhLT4+$rGh5#JhBf3A1#!M<a#lPjyac1(2_N ztVl?nnWCsJtU@x_QksZHr%PH}J)NDMqdC<zQko=%K!-d=B9qPWgOa|y?xCmoIL$Eg zp5y6SnNrf0i<g`=H0}-kW>&(mLKxeA_o-IFx5VM`sU8Je^#7H%@tjDL9n$u2$h9}@ zE3v@(s?JZvYsbZv5ki~Eyy@v_b(7)xs?i=Z^^s?9_J`~GxhZHAv|mKQf7SF~O*b&X V9Hj6$<97kPyghyPaovM6eglbZ3(Noj literal 8183 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 diff --git a/lib/matplotlib/tests/baseline_images/test_axes/hist2d.svg b/lib/matplotlib/tests/baseline_images/test_axes/hist2d.svg index de5552ab36bb..025441b800db 100644 --- a/lib/matplotlib/tests/baseline_images/test_axes/hist2d.svg +++ b/lib/matplotlib/tests/baseline_images/test_axes/hist2d.svg @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="utf-8" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<!-- Created with matplotlib (http://matplotlib.org/) --> -<svg height="432pt" version="1.1" viewBox="0 0 576 432" width="576pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<!-- Created with matplotlib (https://matplotlib.org/) --> +<svg height="345.6pt" version="1.1" viewBox="0 0 460.8 345.6" width="460.8pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <defs> <style type="text/css"> *{stroke-linecap:butt;stroke-linejoin:round;} @@ -10,441 +10,128 @@ </defs> <g id="figure_1"> <g id="patch_1"> - <path d="M 0 432 -L 576 432 -L 576 0 + <path d="M 0 345.6 +L 460.8 345.6 +L 460.8 0 L 0 0 z " style="fill:#ffffff;"/> </g> <g id="axes_1"> <g id="patch_2"> - <path d="M 72 388.8 -L 518.4 388.8 -L 518.4 43.2 -L 72 43.2 + <path d="M 57.6 307.584 +L 414.72 307.584 +L 414.72 41.472 +L 57.6 41.472 z " style="fill:#ffffff;"/> </g> - <image height="345.6" id="image5b3b509e61" transform="scale(1 -1)translate(0 -345.6)" width="446.4" x="72" xlink:href="data:image/png;base64, -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" y="-43.2"/> - <g id="patch_3"> - <path d="M 72 388.8 -L 72 43.2 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> - <g id="patch_4"> - <path d="M 518.4 388.8 -L 518.4 43.2 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> - <g id="patch_5"> - <path d="M 72 388.8 -L 518.4 388.8 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> - <g id="patch_6"> - <path d="M 72 43.2 -L 518.4 43.2 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> + <image height="265.68" id="image0a3a2cb072" transform="scale(1 -1)translate(0 -265.68)" width="357.12" x="57.6" xlink:href="data:image/png;base64, +iVBORw0KGgoAAAANSUhEUgAAAfAAAAFxCAYAAACMQPqbAAAABHNCSVQICAgIfAhkiAAAB4lJREFUeJzt17GKnGUYhuHMsHVmC1tBSBGYbsu1TjyCdKmFnICt55BOsM5ReACW2023IlhIwGI3TSDFrIULainzwZt7vK4jeGDm+2/ezYvNq4cnfBa2V/vpCSc73hymJwD8L2ynBwAA/52AA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0DQxfSAFbZX++kJSxxvDtMTTua3YLUPr6+nJyxxebifnnCyc3kX5/KdcoEDQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANA0MX0AP62vdpPT+DRh9fX0xN4dP9sMz1hiftnl9MTTvblzfQC/skFDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEEX0wNWON4cpics8eH19fSEk71/+Wl6whK/fPPD9IQlrr97Mz3hZLvbh+kJS1we7qcnnOw4PYB/cYEDQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANA0MX0gBW2V/vpCTx6/vbj9IQlrn96Mz1hiftnm+kJJ9vdPkxP4Mwcbw7TE5ZwgQNAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0DQxfZqP73hZHf73fSEJS4P99MTTna8OUxPWOLySf9d/OU83sY5OIfv1Lm8i3P5TrnAASBIwAEgSMABIEjAASBIwAEgSMABIEjAASBIwAEgSMABIEjAASBIwAEgSMABIEjAASBIwAEgSMABIEjAASBIwAEgSMABIEjAASBIwAEgSMABIEjAASBIwAEgSMABIEjAASBIwAEgSMABIEjAASBIwAEgSMABIEjAASBIwAEgSMABIEjAASBIwAEgSMABIGjzYvPqYXoE5+O377+enrDE7vY8nsX7l5+mJ5zs+duP0xOWuNvvpiec7Itvf52esMQfP341PWEJFzgABAk4AAQJOAAECTgABAk4AAQJOAAECTgABAk4AAQJOAAECTgABAk4AAQJOAAECTgABAk4AAQJOAAECTgABAk4AAQJOAAECTgABAk4AAQJOAAECTgABAk4AAQJOAAECTgABAk4AAQJOAAECTgABAk4AAQJOAAECTgABAk4AAQJOAAECTgABAk4AAQJOAAEXUwP4Lzsbh+mJyzx9N3P0xOWuDzspyec7G6/m56wxDn8pz69m16wxtMnv09PWMIFDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEGbF5tXD9Mj4HOzvdpPT1jibr+bnsCjy8P99AQeHW8O0xOWcIEDQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANA0MX0AM7L9mo/PWGJu/1uegKPnr77eXrCEsfpAZwdFzgABAk4AAQJOAAECTgABAk4AAQJOAAECTgABAk4AAQJOAAECTgABAk4AAQJOAAECTgABAk4AAQJOAAECTgABAk4AAQJOAAECTgABAk4AAQJOAAECTgABAk4AAQJOAAECTgABAk4AAQJOAAECTgABAk4AAQJOAAECTgABAk4AAQJOAAECTgABAk4AAQJOAAE/QkXQFyIXekPIQAAAABJRU5ErkJggg==" y="-41.76"/> <g id="matplotlib.axis_1"> <g id="xtick_1"> <g id="line2d_1"> <defs> <path d="M 0 0 -L 0 -4 -" id="m433619e28f" style="stroke:#000000;stroke-width:0.5;"/> - </defs> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="76.904812" xlink:href="#m433619e28f" y="388.8"/> - </g> - </g> - <g id="line2d_2"> - <defs> - <path d="M 0 0 -L 0 4 -" id="m44ffa406aa" style="stroke:#000000;stroke-width:0.5;"/> +L 0 3.5 +" id="m0b727597d4" style="stroke:#000000;stroke-width:0.8;"/> </defs> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="76.904812" xlink:href="#m44ffa406aa" y="43.2"/> - </g> - </g> - <g id="text_1"> - <!-- 0 --> - <defs> - <path d="M 31.78125 66.40625 -Q 24.171875 66.40625 20.328125 58.90625 -Q 16.5 51.421875 16.5 36.375 -Q 16.5 21.390625 20.328125 13.890625 -Q 24.171875 6.390625 31.78125 6.390625 -Q 39.453125 6.390625 43.28125 13.890625 -Q 47.125 21.390625 47.125 36.375 -Q 47.125 51.421875 43.28125 58.90625 -Q 39.453125 66.40625 31.78125 66.40625 -M 31.78125 74.21875 -Q 44.046875 74.21875 50.515625 64.515625 -Q 56.984375 54.828125 56.984375 36.375 -Q 56.984375 17.96875 50.515625 8.265625 -Q 44.046875 -1.421875 31.78125 -1.421875 -Q 19.53125 -1.421875 13.0625 8.265625 -Q 6.59375 17.96875 6.59375 36.375 -Q 6.59375 54.828125 13.0625 64.515625 -Q 19.53125 74.21875 31.78125 74.21875 -" id="DejaVuSans-30"/> - </defs> - <g transform="translate(73.087312 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-30"/> + <use style="stroke:#000000;stroke-width:0.8;" x="61.523849" xlink:href="#m0b727597d4" y="307.584"/> </g> </g> </g> <g id="xtick_2"> - <g id="line2d_3"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="169.466217" xlink:href="#m433619e28f" y="388.8"/> - </g> - </g> - <g id="line2d_4"> + <g id="line2d_2"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="169.466217" xlink:href="#m44ffa406aa" y="43.2"/> - </g> - </g> - <g id="text_2"> - <!-- 2 --> - <defs> - <path d="M 19.1875 8.296875 -L 53.609375 8.296875 -L 53.609375 0 -L 7.328125 0 -L 7.328125 8.296875 -Q 12.9375 14.109375 22.625 23.890625 -Q 32.328125 33.6875 34.8125 36.53125 -Q 39.546875 41.84375 41.421875 45.53125 -Q 43.3125 49.21875 43.3125 52.78125 -Q 43.3125 58.59375 39.234375 62.25 -Q 35.15625 65.921875 28.609375 65.921875 -Q 23.96875 65.921875 18.8125 64.3125 -Q 13.671875 62.703125 7.8125 59.421875 -L 7.8125 69.390625 -Q 13.765625 71.78125 18.9375 73 -Q 24.125 74.21875 28.421875 74.21875 -Q 39.75 74.21875 46.484375 68.546875 -Q 53.21875 62.890625 53.21875 53.421875 -Q 53.21875 48.921875 51.53125 44.890625 -Q 49.859375 40.875 45.40625 35.40625 -Q 44.1875 33.984375 37.640625 27.21875 -Q 31.109375 20.453125 19.1875 8.296875 -" id="DejaVuSans-32"/> - </defs> - <g transform="translate(165.648717 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-32"/> + <use style="stroke:#000000;stroke-width:0.8;" x="135.572973" xlink:href="#m0b727597d4" y="307.584"/> </g> </g> </g> <g id="xtick_3"> - <g id="line2d_5"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="262.027621" xlink:href="#m433619e28f" y="388.8"/> - </g> - </g> - <g id="line2d_6"> + <g id="line2d_3"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="262.027621" xlink:href="#m44ffa406aa" y="43.2"/> - </g> - </g> - <g id="text_3"> - <!-- 4 --> - <defs> - <path d="M 37.796875 64.3125 -L 12.890625 25.390625 -L 37.796875 25.390625 -z -M 35.203125 72.90625 -L 47.609375 72.90625 -L 47.609375 25.390625 -L 58.015625 25.390625 -L 58.015625 17.1875 -L 47.609375 17.1875 -L 47.609375 0 -L 37.796875 0 -L 37.796875 17.1875 -L 4.890625 17.1875 -L 4.890625 26.703125 -z -" id="DejaVuSans-34"/> - </defs> - <g transform="translate(258.210121 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-34"/> + <use style="stroke:#000000;stroke-width:0.8;" x="209.622097" xlink:href="#m0b727597d4" y="307.584"/> </g> </g> </g> <g id="xtick_4"> - <g id="line2d_7"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="354.589026" xlink:href="#m433619e28f" y="388.8"/> - </g> - </g> - <g id="line2d_8"> + <g id="line2d_4"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="354.589026" xlink:href="#m44ffa406aa" y="43.2"/> - </g> - </g> - <g id="text_4"> - <!-- 6 --> - <defs> - <path d="M 33.015625 40.375 -Q 26.375 40.375 22.484375 35.828125 -Q 18.609375 31.296875 18.609375 23.390625 -Q 18.609375 15.53125 22.484375 10.953125 -Q 26.375 6.390625 33.015625 6.390625 -Q 39.65625 6.390625 43.53125 10.953125 -Q 47.40625 15.53125 47.40625 23.390625 -Q 47.40625 31.296875 43.53125 35.828125 -Q 39.65625 40.375 33.015625 40.375 -M 52.59375 71.296875 -L 52.59375 62.3125 -Q 48.875 64.0625 45.09375 64.984375 -Q 41.3125 65.921875 37.59375 65.921875 -Q 27.828125 65.921875 22.671875 59.328125 -Q 17.53125 52.734375 16.796875 39.40625 -Q 19.671875 43.65625 24.015625 45.921875 -Q 28.375 48.1875 33.59375 48.1875 -Q 44.578125 48.1875 50.953125 41.515625 -Q 57.328125 34.859375 57.328125 23.390625 -Q 57.328125 12.15625 50.6875 5.359375 -Q 44.046875 -1.421875 33.015625 -1.421875 -Q 20.359375 -1.421875 13.671875 8.265625 -Q 6.984375 17.96875 6.984375 36.375 -Q 6.984375 53.65625 15.1875 63.9375 -Q 23.390625 74.21875 37.203125 74.21875 -Q 40.921875 74.21875 44.703125 73.484375 -Q 48.484375 72.75 52.59375 71.296875 -" id="DejaVuSans-36"/> - </defs> - <g transform="translate(350.771526 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-36"/> + <use style="stroke:#000000;stroke-width:0.8;" x="283.671221" xlink:href="#m0b727597d4" y="307.584"/> </g> </g> </g> <g id="xtick_5"> - <g id="line2d_9"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="447.150431" xlink:href="#m433619e28f" y="388.8"/> - </g> - </g> - <g id="line2d_10"> + <g id="line2d_5"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="447.150431" xlink:href="#m44ffa406aa" y="43.2"/> - </g> - </g> - <g id="text_5"> - <!-- 8 --> - <defs> - <path d="M 31.78125 34.625 -Q 24.75 34.625 20.71875 30.859375 -Q 16.703125 27.09375 16.703125 20.515625 -Q 16.703125 13.921875 20.71875 10.15625 -Q 24.75 6.390625 31.78125 6.390625 -Q 38.8125 6.390625 42.859375 10.171875 -Q 46.921875 13.96875 46.921875 20.515625 -Q 46.921875 27.09375 42.890625 30.859375 -Q 38.875 34.625 31.78125 34.625 -M 21.921875 38.8125 -Q 15.578125 40.375 12.03125 44.71875 -Q 8.5 49.078125 8.5 55.328125 -Q 8.5 64.0625 14.71875 69.140625 -Q 20.953125 74.21875 31.78125 74.21875 -Q 42.671875 74.21875 48.875 69.140625 -Q 55.078125 64.0625 55.078125 55.328125 -Q 55.078125 49.078125 51.53125 44.71875 -Q 48 40.375 41.703125 38.8125 -Q 48.828125 37.15625 52.796875 32.3125 -Q 56.78125 27.484375 56.78125 20.515625 -Q 56.78125 9.90625 50.3125 4.234375 -Q 43.84375 -1.421875 31.78125 -1.421875 -Q 19.734375 -1.421875 13.25 4.234375 -Q 6.78125 9.90625 6.78125 20.515625 -Q 6.78125 27.484375 10.78125 32.3125 -Q 14.796875 37.15625 21.921875 38.8125 -M 18.3125 54.390625 -Q 18.3125 48.734375 21.84375 45.5625 -Q 25.390625 42.390625 31.78125 42.390625 -Q 38.140625 42.390625 41.71875 45.5625 -Q 45.3125 48.734375 45.3125 54.390625 -Q 45.3125 60.0625 41.71875 63.234375 -Q 38.140625 66.40625 31.78125 66.40625 -Q 25.390625 66.40625 21.84375 63.234375 -Q 18.3125 60.0625 18.3125 54.390625 -" id="DejaVuSans-38"/> - </defs> - <g transform="translate(443.332931 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-38"/> + <use style="stroke:#000000;stroke-width:0.8;" x="357.720345" xlink:href="#m0b727597d4" y="307.584"/> </g> </g> </g> </g> <g id="matplotlib.axis_2"> <g id="ytick_1"> - <g id="line2d_11"> - <defs> - <path d="M 0 0 -L 4 0 -" id="mc801ca9b19" style="stroke:#000000;stroke-width:0.5;"/> - </defs> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#mc801ca9b19" y="372.039482"/> - </g> - </g> - <g id="line2d_12"> + <g id="line2d_6"> <defs> <path d="M 0 0 -L -4 0 -" id="m6e4affb14d" style="stroke:#000000;stroke-width:0.5;"/> +L -3.5 0 +" id="m4baa07b7ca" style="stroke:#000000;stroke-width:0.8;"/> </defs> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m6e4affb14d" y="372.039482"/> - </g> - </g> - <g id="text_6"> - <!-- −4 --> - <defs> - <path d="M 10.59375 35.5 -L 73.1875 35.5 -L 73.1875 27.203125 -L 10.59375 27.203125 -z -" id="DejaVuSans-2212"/> - </defs> - <g transform="translate(50.309375 376.598545)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-34"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m4baa07b7ca" y="294.678401"/> </g> </g> </g> <g id="ytick_2"> - <g id="line2d_13"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#mc801ca9b19" y="297.015841"/> - </g> - </g> - <g id="line2d_14"> + <g id="line2d_7"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m6e4affb14d" y="297.015841"/> - </g> - </g> - <g id="text_7"> - <!-- −3 --> - <defs> - <path d="M 40.578125 39.3125 -Q 47.65625 37.796875 51.625 33 -Q 55.609375 28.21875 55.609375 21.1875 -Q 55.609375 10.40625 48.1875 4.484375 -Q 40.765625 -1.421875 27.09375 -1.421875 -Q 22.515625 -1.421875 17.65625 -0.515625 -Q 12.796875 0.390625 7.625 2.203125 -L 7.625 11.71875 -Q 11.71875 9.328125 16.59375 8.109375 -Q 21.484375 6.890625 26.8125 6.890625 -Q 36.078125 6.890625 40.9375 10.546875 -Q 45.796875 14.203125 45.796875 21.1875 -Q 45.796875 27.640625 41.28125 31.265625 -Q 36.765625 34.90625 28.71875 34.90625 -L 20.21875 34.90625 -L 20.21875 43.015625 -L 29.109375 43.015625 -Q 36.375 43.015625 40.234375 45.921875 -Q 44.09375 48.828125 44.09375 54.296875 -Q 44.09375 59.90625 40.109375 62.90625 -Q 36.140625 65.921875 28.71875 65.921875 -Q 24.65625 65.921875 20.015625 65.03125 -Q 15.375 64.15625 9.8125 62.3125 -L 9.8125 71.09375 -Q 15.4375 72.65625 20.34375 73.4375 -Q 25.25 74.21875 29.59375 74.21875 -Q 40.828125 74.21875 47.359375 69.109375 -Q 53.90625 64.015625 53.90625 55.328125 -Q 53.90625 49.265625 50.4375 45.09375 -Q 46.96875 40.921875 40.578125 39.3125 -" id="DejaVuSans-33"/> - </defs> - <g transform="translate(50.309375 301.574903)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-33"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m4baa07b7ca" y="236.910197"/> </g> </g> </g> <g id="ytick_3"> - <g id="line2d_15"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#mc801ca9b19" y="221.992199"/> - </g> - </g> - <g id="line2d_16"> + <g id="line2d_8"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m6e4affb14d" y="221.992199"/> - </g> - </g> - <g id="text_8"> - <!-- −2 --> - <g transform="translate(50.309375 226.551262)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-32"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m4baa07b7ca" y="179.141993"/> </g> </g> </g> <g id="ytick_4"> - <g id="line2d_17"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#mc801ca9b19" y="146.968558"/> - </g> - </g> - <g id="line2d_18"> + <g id="line2d_9"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m6e4affb14d" y="146.968558"/> - </g> - </g> - <g id="text_9"> - <!-- −1 --> - <defs> - <path d="M 12.40625 8.296875 -L 28.515625 8.296875 -L 28.515625 63.921875 -L 10.984375 60.40625 -L 10.984375 69.390625 -L 28.421875 72.90625 -L 38.28125 72.90625 -L 38.28125 8.296875 -L 54.390625 8.296875 -L 54.390625 0 -L 12.40625 0 -z -" id="DejaVuSans-31"/> - </defs> - <g transform="translate(50.309375 151.52762)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-31"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m4baa07b7ca" y="121.373789"/> </g> </g> </g> <g id="ytick_5"> - <g id="line2d_19"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#mc801ca9b19" y="71.944916"/> - </g> - </g> - <g id="line2d_20"> + <g id="line2d_10"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m6e4affb14d" y="71.944916"/> - </g> - </g> - <g id="text_10"> - <!-- 0 --> - <g transform="translate(60.365 76.503979)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-30"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m4baa07b7ca" y="63.605585"/> </g> </g> </g> </g> + <g id="patch_3"> + <path d="M 57.6 307.584 +L 57.6 41.472 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> + <g id="patch_4"> + <path d="M 414.72 307.584 +L 414.72 41.472 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> + <g id="patch_5"> + <path d="M 57.6 307.584 +L 414.72 307.584 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> + <g id="patch_6"> + <path d="M 57.6 41.472 +L 414.72 41.472 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> </g> </g> </svg> diff --git a/lib/matplotlib/tests/baseline_images/test_axes/hist2d_transpose.pdf b/lib/matplotlib/tests/baseline_images/test_axes/hist2d_transpose.pdf index 919ae14014e623d908dce1df4b5ad1c8834416a1..d7a58f772a40bf899b67a7dd6681806e2f2bada0 100644 GIT binary patch literal 3176 zcmd5<Yfuwc6pmoUZWU6+cCZS!I25&NvUzPn0S$p5iV_p8)Q+ReW(mP$H*PjHL|W1o zE7s9k$D*w%wLc0|A01i;pChJ-gD-rHQ*jhwiqls6l4%LhVMcpzk_80%JKaBb_slu> zoco>c+;cX?kgcDOFHm49huguSQy31UfGsM;($j&&Kw4-gkU@zNNLH3PXduy%JZWPs zATtxA88cE;4>QPd^SLIT<Y}M?8R=Pu2lCLnf#i9bV}KHUViE(#QYM-QZ$dxWdbmIB z=7A*74t-{YS6z6`18afAR6?4qj0LDd=7j}Cr8LC@BDncbIJguFgac?9hUJ~m1+>?} zP-q5zX+j(1a;(b%&@pu;AjziRvQo4$7rKUDD>;&JI!KOYs50T?A${mbvWzxc$t>0l z_eIVWD(M0>kSml6RLGA3nehT@M%u}`I10jua2kXWAv+916p|3L-fDv|0g2uQam=PE z)(m0Krx^=h0&tWaBQkXI98KCWx9{!Ur<X@-C*^Fe*mBmNaQE*!yJs86&om?-6i2N{ zu1x;8v*q;f=~Kk#OIlX9^age&^!ZQdwr+mSQr=`4Xax7~T#fbR<aXa!aqKSH_;p<T zd@j&Cp&Q%&(o#*r@eg+8-^$;4f8Vv5-Fx~C)Gymo_IJPE=J@6nN~yB6YmWYUqR@V} zgSfjjFoj6%&u%DxVMgl`g)U)f#fIaWuCD5hfp`0gZ|fVzUDf}&-e9aQKH6N<WS&~> zzu_w-mP|`qtk}6@uBj__#opQG&V6%x4AU>1Y}e*IIAHy5-<%8nZIiLywzMy`^Ojuv z$~>!eWgTC5X^(Ty_4-;x{*}t@nUmMlFMn8{zRSHTFm1!7%GO77-GqH@S=(jeO#2sy z0^XKGJJKF^%%&c9eve(5Q_<#SXFO9g3Gp_JUYNl_R1y4gDIu^LaW<ThA#Nd33u)5g zA?|3QEL<By?3Yj^z)_kcTA84R|F_yOCZOUN<rh(Yln@bL2qq5)c&JQ=f(;4;g)A%Y zG|-%mwL4e_(Nm2I!p3qY2T4JG4bmTjuZVJx#dc>Xbfo5lMT`twcE$-58Wp5D2djYM zSq{L8Lnj@Rw~J}3r3BspD$Njw!`FeyRm2CclwiqYVGM<`maMj#A>olLxcMO4|G0&h zt|H_0H(ors%pYG}^y#HF;+Xa1eAU%+WzBC?9chSmh$q<Q83zuEn;+Lc*Z8Eeb<M2) z56}JVJCiZs@Sa+j)R|v!`*i<blqX7AP#Yuau9%p%sPaH`b_AAYRfgzwb)%a<d-;5i z$dh>Qljv^gd$Hn|ABdih!1C>~IPWxOT~b}D|KdN_$0d)S39=%y6zxwGy;}ZGz~yP` z_~FN&dd8QQM+TB`CW6RxeBQYnQs=Y8MIXgQ3>lP=V-LsGHwEr(^hEi5|AR>C);+3A zZQmr%@J>&PSSg_jw%v?gzvVY}@6D;bHAzfus^Pvarb^6vCu$?IRM|bE!`(f7oe!UN zaG4Pc1D*bMZHyng*7(F%Q@@GG@FqqsPt6ODXr^x*qXi577FVdHLJvkAO=w^`)&;v3 z?4e7oW;D<R$2=pNw?cDiXjC26{f71GA*q|Ai!mv{m6&w!0V<_Zt^~zkP=>>PiypuT zG8uux#{9HQN@(CTHbSOGU3Y{`gXW8oGWi&KN(jOTJ*jH6U%48NizD=8QaE0YkP*Zf ze$}J)lc_WitEX*c1TjpH=SZuK=7PTjc}y`2@bGkRWLcDx;9P66dT0o2s9Td9AB0*) NXb3DNC8t1-{R^28vg-f< literal 8946 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 W2t{mx2y;OOi9yGkn!5VB;r|1ZcHLnB diff --git a/lib/matplotlib/tests/baseline_images/test_axes/hist2d_transpose.png b/lib/matplotlib/tests/baseline_images/test_axes/hist2d_transpose.png index 9ec9980c498fcc2b4b21146b92c86e796f5d4c63..1979567f6b24928ad65c4a13962dc432bceb5e9a 100644 GIT binary patch literal 3243 zcmds(eN0nV7{=dQ7#8Kbi=YxmqOQwiMW|vCO4Yywv$b;?J{-ad+WLXz_9LZQgw9Q? zB4yKTlC;)kf6OHe7-^6yDorXh3u5COX}Z$VQeYw=Ehw!iv^!|BW&bQXU8bJo<mR4x zPIAwCp5JqxlOHj+gfCpW5CFn+bFw}LAjkkPJ23=}th?PmgdV}d&AB^>s8tbnpFr=S zcut`ZAd)@bu^$*0_o2aUqU-|E_6m-uk}cQ+2iYRLyh2pIuQWltM<Co+!AnS?q)^sS z@Cu=5{n}*8?mgl)tGOxcG-_&TN^(kK!d{UG-;k8_*Fs8#fSa^RyS5Erkt;WA(+-Jh z!kS$FNg;OJK_#_>#gJ;xMCI@JmH6(d_o7$D1is*05mC-{es=erOW*Y?I(1uf7O!Z^ zDl?|q>bl?DyDK`>uuMUooX*L=J&`%OpJP*veZW%~oP2;U`RP)$gFp!(3KHH20^A^O z1X&zLgs2sOL1}OTY&;FYa3Wd;ko?+CD!jSerJ~d6b#l3!Us<`H$K!E~82A^UB4uP| zD)L*3>nxU$!Unji)9dvGEhY^YV3OToRhU{zjOyfL=!4a2jVn7{Qa_;R^6s8mYWK}} zeI>WlcxwkEaBwDAyP?9+?yPk`8vR}J6`EezawOJywpAM~bF~&$O?_@AQAVVs*;qqh zcAMXuH{G=!Ha5JF(l6F5$RNx0?Dz=zow@4H3)&E{&(W|9Jx8;ovG1O!$uwp@3vlag zFyb{e3~`5b^fz9+hKzx#ceS0Gc&?|lh{81jXit!yR~@zHAZYG0F^>3awp>@zLA%u$ z=vW58efb5J$cY4P-oWg=F*6A=iRAy92u%aso|YCL;lydG`ySuijde(JhEV&GRAp~L zQ{Ke`*NTnmV8Bx`$#I|0*J_zyn#3LF>7igRFUBsgFBd6>1!>X{&}FNhoor`-5F(K? z{DUkFxoBMDo;H(YtA~PL37bHb1N+Xo5&6JPgr5<eTl1OcR_?Qz9}<g%86nrx;v+8l z=BgR|aM1bq1j+GU4mGc_Z*(WJka@s91hvEOuO1h7+-bA&xGVzDl=(Vt0p(oT<)T|^ z4Djfu5}LdATg>L@X-8%Ru1z%Tm9Xq5MAdi=lN^?JdDS{8;K%-jRA0zV)zCGL8Gm-* zadN#w)HyIoZpJ{uV1n@{b9wjvwhg<+9v+@q2{KKnj@mykP;cc`Ub$qM7|%uCHNDUq z)-x<XMro!3PzL{rl9HexS44?_m^+UZ+1dE&VRiQcvIMA#V!jjsfs-uN2?ezHZU;`Y zPI`PN4*=NeNjhqIs<L%w6Vr6~n)<ON5?o;(kEg8Na=v*&oGy(4o%t#uQ!lt2kB)98 z3}m%`r>2_=h$utNoNqidR*GU0{`LQ*&8Ny^j|FUYOXAB;yTw)M-TbLIyU+8Wcl?c5 zsdQHSB!JXhr(E}?6|aOOm)A?{j+@UTL#uQP+%4uHS>&kO&Hpj4(M<hboA%ALXETe% zaylIBeyg=ksZ^SUHcNHqTZn`5c8hyzxW_E~C8KuCQCJjd96Vf=XdIMeC=3RJ`(9ro zUuv0Mt0L(Z_1kPuB9i;sp+{508vjv$gJiKuuhA}7cRlpRsk0vrO{Sxt1R`nvLQS$= zJv7akA&yAhgI(SScUXo}$97C}=+7mt#LNhPG!ezpeBEmpN&Vp#df<NQ#HoBhEjOE) K)x7!BqkjO9q-=Bm literal 8674 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 diff --git a/lib/matplotlib/tests/baseline_images/test_axes/hist2d_transpose.svg b/lib/matplotlib/tests/baseline_images/test_axes/hist2d_transpose.svg index 240f7789944a..8111cb56486a 100644 --- a/lib/matplotlib/tests/baseline_images/test_axes/hist2d_transpose.svg +++ b/lib/matplotlib/tests/baseline_images/test_axes/hist2d_transpose.svg @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="utf-8" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<!-- Created with matplotlib (http://matplotlib.org/) --> -<svg height="432pt" version="1.1" viewBox="0 0 576 432" width="576pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<!-- Created with matplotlib (https://matplotlib.org/) --> +<svg height="345.6pt" version="1.1" viewBox="0 0 460.8 345.6" width="460.8pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <defs> <style type="text/css"> *{stroke-linecap:butt;stroke-linejoin:round;} @@ -10,479 +10,128 @@ </defs> <g id="figure_1"> <g id="patch_1"> - <path d="M 0 432 -L 576 432 -L 576 0 + <path d="M 0 345.6 +L 460.8 345.6 +L 460.8 0 L 0 0 z " style="fill:#ffffff;"/> </g> <g id="axes_1"> <g id="patch_2"> - <path d="M 72 388.8 -L 518.4 388.8 -L 518.4 43.2 -L 72 43.2 + <path d="M 57.6 307.584 +L 414.72 307.584 +L 414.72 41.472 +L 57.6 41.472 z " style="fill:#ffffff;"/> </g> - <image height="345.6" id="image288a62585f" transform="scale(1 -1)translate(0 -345.6)" width="446.4" x="72" xlink:href="data:image/png;base64, -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" y="-43.2"/> - <g id="patch_3"> - <path d="M 72 388.8 -L 72 43.2 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> - <g id="patch_4"> - <path d="M 518.4 388.8 -L 518.4 43.2 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> - <g id="patch_5"> - <path d="M 72 388.8 -L 518.4 388.8 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> - <g id="patch_6"> - <path d="M 72 43.2 -L 518.4 43.2 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> + <image height="265.68" id="image4b20fd5bc9" transform="scale(1 -1)translate(0 -265.68)" width="357.12" x="57.6" xlink:href="data:image/png;base64, +iVBORw0KGgoAAAANSUhEUgAAAfAAAAFxCAYAAACMQPqbAAAABHNCSVQICAgIfAhkiAAABoJJREFUeJzt1yFuVVEUhtFXclP16kAhICmzwFajSJgDioF0Hjg0YyDB4JEomtQQMAQYA7k52feDtUbwm5Pv7Iubi5e/T8A/aXv0cHrCbj+/3k1PgEN6MD0AAPh7Ag4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQdv0AGCd+5tn0xN2u3p7Nz0BDskFDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEHb9ABgnW+P+3/0q+kBcFD91w0A/yEBB4AgAQeAIAEHgCABB4AgAQeAIAEHgCABB4AgAQeAIAEHgCABB4AgAQeAIAEHgCABB4AgAQeAIAEHgCABB4AgAQeAIAEHgCABB4AgAQeAIAEHgCABB4AgAQeAIAEHgCABB4AgAQeAIAEHgCABB4AgAQeAIAEHgCABB4AgAQeAIAEHgCABB4AgAQeAoG16ALDO9YvP0xN2+347vQCOyQUOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQdv0AGCd26fvpifs9vr0fHoCHJILHACCBBwAggQcAIIEHACCBBwAggQcAIIEHACCBBwAggQcAIIEHACCBBwAggQcAIIEHACCBBwAggQcAIIEHACCBBwAggQcAIIEHACCBBwAggQcAIIEHACCBBwAggQcAIIEHACCBBwAggQcAIIEHACCBBwAggQcAIIEHACCBBwAggQcAIIEHACCBBwAggQcAIK26QHAOtfbeXoCsIgLHACCBBwAggQcAIIEHACCBBwAggQcAIIEHACCBBwAggQcAIIEHACCBBwAggQcAIIEHACCBBwAggQcAIIEHACCBBwAggQcAIIEHACCBBwAggQcAIIEHACCBBwAggQcAIIEHACCBBwAggQcAIIEHACCBBwAggQcAIIEHACCBBwAggQcAIIEHACCBBwAggQcAIK26QHAOu9/XE5PABZxgQNAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0CQgANAkIADQJCAA0DQNj0AWOfNx1fTE3Z7cvo0PQEOyQUOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQQIOAEECDgBBAg4AQdv0AGCdyw/n6QnAIi5wAAgScAAIEnAACBJwAAgScAAIEnAACBJwAAgScAAIEnAACBJwAAgScAAIEnAACBJwAAgScAAIEnAACBJwAAgScAAIEnAACBJwAAgScAAIEnAACBJwAAgScAAIEnAACBJwAAgScAAIEnAACBJwAAgScAAIEnAACBJwAAgScAAIEnAACBJwAAgScAAIEnAACNqmBwDrnL/8mp4ALOICB4AgAQeAIAEHgCABB4AgAQeAIAEHgCABB4AgAQeAIAEHgCABB4AgAQeAIAEHgCABB4AgAQeAIAEHgCABB4AgAQeAIAEHgCABB4AgAQeAIAEHgCABB4AgAQeAIAEHgCABB4AgAQeAIAEHgCABB4AgAQeAIAEHgCABB4AgAQeAIAEHgCABB4AgAQeAIAEHgKA/MyEXqMwV1CoAAAAASUVORK5CYII=" y="-41.76"/> <g id="matplotlib.axis_1"> <g id="xtick_1"> <g id="line2d_1"> <defs> <path d="M 0 0 -L 0 -4 -" id="mbfb5ef27c5" style="stroke:#000000;stroke-width:0.5;"/> - </defs> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="116.64" xlink:href="#mbfb5ef27c5" y="388.8"/> - </g> - </g> - <g id="line2d_2"> - <defs> - <path d="M 0 0 -L 0 4 -" id="meea3dd2a86" style="stroke:#000000;stroke-width:0.5;"/> +L 0 3.5 +" id="m430282c97a" style="stroke:#000000;stroke-width:0.8;"/> </defs> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="116.64" xlink:href="#meea3dd2a86" y="43.2"/> - </g> - </g> - <g id="text_1"> - <!-- 4.6 --> - <defs> - <path d="M 37.796875 64.3125 -L 12.890625 25.390625 -L 37.796875 25.390625 -z -M 35.203125 72.90625 -L 47.609375 72.90625 -L 47.609375 25.390625 -L 58.015625 25.390625 -L 58.015625 17.1875 -L 47.609375 17.1875 -L 47.609375 0 -L 37.796875 0 -L 37.796875 17.1875 -L 4.890625 17.1875 -L 4.890625 26.703125 -z -" id="DejaVuSans-34"/> - <path d="M 10.6875 12.40625 -L 21 12.40625 -L 21 0 -L 10.6875 0 -z -" id="DejaVuSans-2e"/> - <path d="M 33.015625 40.375 -Q 26.375 40.375 22.484375 35.828125 -Q 18.609375 31.296875 18.609375 23.390625 -Q 18.609375 15.53125 22.484375 10.953125 -Q 26.375 6.390625 33.015625 6.390625 -Q 39.65625 6.390625 43.53125 10.953125 -Q 47.40625 15.53125 47.40625 23.390625 -Q 47.40625 31.296875 43.53125 35.828125 -Q 39.65625 40.375 33.015625 40.375 -M 52.59375 71.296875 -L 52.59375 62.3125 -Q 48.875 64.0625 45.09375 64.984375 -Q 41.3125 65.921875 37.59375 65.921875 -Q 27.828125 65.921875 22.671875 59.328125 -Q 17.53125 52.734375 16.796875 39.40625 -Q 19.671875 43.65625 24.015625 45.921875 -Q 28.375 48.1875 33.59375 48.1875 -Q 44.578125 48.1875 50.953125 41.515625 -Q 57.328125 34.859375 57.328125 23.390625 -Q 57.328125 12.15625 50.6875 5.359375 -Q 44.046875 -1.421875 33.015625 -1.421875 -Q 20.359375 -1.421875 13.671875 8.265625 -Q 6.984375 17.96875 6.984375 36.375 -Q 6.984375 53.65625 15.1875 63.9375 -Q 23.390625 74.21875 37.203125 74.21875 -Q 40.921875 74.21875 44.703125 73.484375 -Q 48.484375 72.75 52.59375 71.296875 -" id="DejaVuSans-36"/> - </defs> - <g transform="translate(107.098125 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-34"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-36"/> + <use style="stroke:#000000;stroke-width:0.8;" x="93.312" xlink:href="#m430282c97a" y="307.584"/> </g> </g> </g> <g id="xtick_2"> - <g id="line2d_3"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="205.92" xlink:href="#mbfb5ef27c5" y="388.8"/> - </g> - </g> - <g id="line2d_4"> + <g id="line2d_2"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="205.92" xlink:href="#meea3dd2a86" y="43.2"/> - </g> - </g> - <g id="text_2"> - <!-- 4.8 --> - <defs> - <path d="M 31.78125 34.625 -Q 24.75 34.625 20.71875 30.859375 -Q 16.703125 27.09375 16.703125 20.515625 -Q 16.703125 13.921875 20.71875 10.15625 -Q 24.75 6.390625 31.78125 6.390625 -Q 38.8125 6.390625 42.859375 10.171875 -Q 46.921875 13.96875 46.921875 20.515625 -Q 46.921875 27.09375 42.890625 30.859375 -Q 38.875 34.625 31.78125 34.625 -M 21.921875 38.8125 -Q 15.578125 40.375 12.03125 44.71875 -Q 8.5 49.078125 8.5 55.328125 -Q 8.5 64.0625 14.71875 69.140625 -Q 20.953125 74.21875 31.78125 74.21875 -Q 42.671875 74.21875 48.875 69.140625 -Q 55.078125 64.0625 55.078125 55.328125 -Q 55.078125 49.078125 51.53125 44.71875 -Q 48 40.375 41.703125 38.8125 -Q 48.828125 37.15625 52.796875 32.3125 -Q 56.78125 27.484375 56.78125 20.515625 -Q 56.78125 9.90625 50.3125 4.234375 -Q 43.84375 -1.421875 31.78125 -1.421875 -Q 19.734375 -1.421875 13.25 4.234375 -Q 6.78125 9.90625 6.78125 20.515625 -Q 6.78125 27.484375 10.78125 32.3125 -Q 14.796875 37.15625 21.921875 38.8125 -M 18.3125 54.390625 -Q 18.3125 48.734375 21.84375 45.5625 -Q 25.390625 42.390625 31.78125 42.390625 -Q 38.140625 42.390625 41.71875 45.5625 -Q 45.3125 48.734375 45.3125 54.390625 -Q 45.3125 60.0625 41.71875 63.234375 -Q 38.140625 66.40625 31.78125 66.40625 -Q 25.390625 66.40625 21.84375 63.234375 -Q 18.3125 60.0625 18.3125 54.390625 -" id="DejaVuSans-38"/> - </defs> - <g transform="translate(196.378125 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-34"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-38"/> + <use style="stroke:#000000;stroke-width:0.8;" x="164.736" xlink:href="#m430282c97a" y="307.584"/> </g> </g> </g> <g id="xtick_3"> - <g id="line2d_5"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="295.2" xlink:href="#mbfb5ef27c5" y="388.8"/> - </g> - </g> - <g id="line2d_6"> + <g id="line2d_3"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="295.2" xlink:href="#meea3dd2a86" y="43.2"/> - </g> - </g> - <g id="text_3"> - <!-- 5.0 --> - <defs> - <path d="M 10.796875 72.90625 -L 49.515625 72.90625 -L 49.515625 64.59375 -L 19.828125 64.59375 -L 19.828125 46.734375 -Q 21.96875 47.46875 24.109375 47.828125 -Q 26.265625 48.1875 28.421875 48.1875 -Q 40.625 48.1875 47.75 41.5 -Q 54.890625 34.8125 54.890625 23.390625 -Q 54.890625 11.625 47.5625 5.09375 -Q 40.234375 -1.421875 26.90625 -1.421875 -Q 22.3125 -1.421875 17.546875 -0.640625 -Q 12.796875 0.140625 7.71875 1.703125 -L 7.71875 11.625 -Q 12.109375 9.234375 16.796875 8.0625 -Q 21.484375 6.890625 26.703125 6.890625 -Q 35.15625 6.890625 40.078125 11.328125 -Q 45.015625 15.765625 45.015625 23.390625 -Q 45.015625 31 40.078125 35.4375 -Q 35.15625 39.890625 26.703125 39.890625 -Q 22.75 39.890625 18.8125 39.015625 -Q 14.890625 38.140625 10.796875 36.28125 -z -" id="DejaVuSans-35"/> - <path d="M 31.78125 66.40625 -Q 24.171875 66.40625 20.328125 58.90625 -Q 16.5 51.421875 16.5 36.375 -Q 16.5 21.390625 20.328125 13.890625 -Q 24.171875 6.390625 31.78125 6.390625 -Q 39.453125 6.390625 43.28125 13.890625 -Q 47.125 21.390625 47.125 36.375 -Q 47.125 51.421875 43.28125 58.90625 -Q 39.453125 66.40625 31.78125 66.40625 -M 31.78125 74.21875 -Q 44.046875 74.21875 50.515625 64.515625 -Q 56.984375 54.828125 56.984375 36.375 -Q 56.984375 17.96875 50.515625 8.265625 -Q 44.046875 -1.421875 31.78125 -1.421875 -Q 19.53125 -1.421875 13.0625 8.265625 -Q 6.59375 17.96875 6.59375 36.375 -Q 6.59375 54.828125 13.0625 64.515625 -Q 19.53125 74.21875 31.78125 74.21875 -" id="DejaVuSans-30"/> - </defs> - <g transform="translate(285.658125 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-35"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-30"/> + <use style="stroke:#000000;stroke-width:0.8;" x="236.16" xlink:href="#m430282c97a" y="307.584"/> </g> </g> </g> <g id="xtick_4"> - <g id="line2d_7"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="384.48" xlink:href="#mbfb5ef27c5" y="388.8"/> - </g> - </g> - <g id="line2d_8"> + <g id="line2d_4"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="384.48" xlink:href="#meea3dd2a86" y="43.2"/> - </g> - </g> - <g id="text_4"> - <!-- 5.2 --> - <defs> - <path d="M 19.1875 8.296875 -L 53.609375 8.296875 -L 53.609375 0 -L 7.328125 0 -L 7.328125 8.296875 -Q 12.9375 14.109375 22.625 23.890625 -Q 32.328125 33.6875 34.8125 36.53125 -Q 39.546875 41.84375 41.421875 45.53125 -Q 43.3125 49.21875 43.3125 52.78125 -Q 43.3125 58.59375 39.234375 62.25 -Q 35.15625 65.921875 28.609375 65.921875 -Q 23.96875 65.921875 18.8125 64.3125 -Q 13.671875 62.703125 7.8125 59.421875 -L 7.8125 69.390625 -Q 13.765625 71.78125 18.9375 73 -Q 24.125 74.21875 28.421875 74.21875 -Q 39.75 74.21875 46.484375 68.546875 -Q 53.21875 62.890625 53.21875 53.421875 -Q 53.21875 48.921875 51.53125 44.890625 -Q 49.859375 40.875 45.40625 35.40625 -Q 44.1875 33.984375 37.640625 27.21875 -Q 31.109375 20.453125 19.1875 8.296875 -" id="DejaVuSans-32"/> - </defs> - <g transform="translate(374.938125 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-35"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-32"/> + <use style="stroke:#000000;stroke-width:0.8;" x="307.584" xlink:href="#m430282c97a" y="307.584"/> </g> </g> </g> <g id="xtick_5"> - <g id="line2d_9"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="473.76" xlink:href="#mbfb5ef27c5" y="388.8"/> - </g> - </g> - <g id="line2d_10"> + <g id="line2d_5"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="473.76" xlink:href="#meea3dd2a86" y="43.2"/> - </g> - </g> - <g id="text_5"> - <!-- 5.4 --> - <g transform="translate(464.218125 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-35"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-34"/> + <use style="stroke:#000000;stroke-width:0.8;" x="379.008" xlink:href="#m430282c97a" y="307.584"/> </g> </g> </g> </g> <g id="matplotlib.axis_2"> <g id="ytick_1"> - <g id="line2d_11"> - <defs> - <path d="M 0 0 -L 4 0 -" id="m3d80f73659" style="stroke:#000000;stroke-width:0.5;"/> - </defs> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m3d80f73659" y="349.172505"/> - </g> - </g> - <g id="line2d_12"> + <g id="line2d_6"> <defs> <path d="M 0 0 -L -4 0 -" id="m8f1eb87680" style="stroke:#000000;stroke-width:0.5;"/> +L -3.5 0 +" id="md176de54a1" style="stroke:#000000;stroke-width:0.8;"/> </defs> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m8f1eb87680" y="349.172505"/> - </g> - </g> - <g id="text_6"> - <!-- −4 --> - <defs> - <path d="M 10.59375 35.5 -L 73.1875 35.5 -L 73.1875 27.203125 -L 10.59375 27.203125 -z -" id="DejaVuSans-2212"/> - </defs> - <g transform="translate(50.309375 353.731568)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-34"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#md176de54a1" y="277.070829"/> </g> </g> </g> <g id="ytick_2"> - <g id="line2d_13"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m3d80f73659" y="277.512063"/> - </g> - </g> - <g id="line2d_14"> + <g id="line2d_7"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m8f1eb87680" y="277.512063"/> - </g> - </g> - <g id="text_7"> - <!-- −3 --> - <defs> - <path d="M 40.578125 39.3125 -Q 47.65625 37.796875 51.625 33 -Q 55.609375 28.21875 55.609375 21.1875 -Q 55.609375 10.40625 48.1875 4.484375 -Q 40.765625 -1.421875 27.09375 -1.421875 -Q 22.515625 -1.421875 17.65625 -0.515625 -Q 12.796875 0.390625 7.625 2.203125 -L 7.625 11.71875 -Q 11.71875 9.328125 16.59375 8.109375 -Q 21.484375 6.890625 26.8125 6.890625 -Q 36.078125 6.890625 40.9375 10.546875 -Q 45.796875 14.203125 45.796875 21.1875 -Q 45.796875 27.640625 41.28125 31.265625 -Q 36.765625 34.90625 28.71875 34.90625 -L 20.21875 34.90625 -L 20.21875 43.015625 -L 29.109375 43.015625 -Q 36.375 43.015625 40.234375 45.921875 -Q 44.09375 48.828125 44.09375 54.296875 -Q 44.09375 59.90625 40.109375 62.90625 -Q 36.140625 65.921875 28.71875 65.921875 -Q 24.65625 65.921875 20.015625 65.03125 -Q 15.375 64.15625 9.8125 62.3125 -L 9.8125 71.09375 -Q 15.4375 72.65625 20.34375 73.4375 -Q 25.25 74.21875 29.59375 74.21875 -Q 40.828125 74.21875 47.359375 69.109375 -Q 53.90625 64.015625 53.90625 55.328125 -Q 53.90625 49.265625 50.4375 45.09375 -Q 46.96875 40.921875 40.578125 39.3125 -" id="DejaVuSans-33"/> - </defs> - <g transform="translate(50.309375 282.071125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-33"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#md176de54a1" y="221.892288"/> </g> </g> </g> <g id="ytick_3"> - <g id="line2d_15"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m3d80f73659" y="205.85162"/> - </g> - </g> - <g id="line2d_16"> + <g id="line2d_8"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m8f1eb87680" y="205.85162"/> - </g> - </g> - <g id="text_8"> - <!-- −2 --> - <g transform="translate(50.309375 210.410683)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-32"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#md176de54a1" y="166.713748"/> </g> </g> </g> <g id="ytick_4"> - <g id="line2d_17"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m3d80f73659" y="134.191178"/> - </g> - </g> - <g id="line2d_18"> + <g id="line2d_9"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m8f1eb87680" y="134.191178"/> - </g> - </g> - <g id="text_9"> - <!-- −1 --> - <defs> - <path d="M 12.40625 8.296875 -L 28.515625 8.296875 -L 28.515625 63.921875 -L 10.984375 60.40625 -L 10.984375 69.390625 -L 28.421875 72.90625 -L 38.28125 72.90625 -L 38.28125 8.296875 -L 54.390625 8.296875 -L 54.390625 0 -L 12.40625 0 -z -" id="DejaVuSans-31"/> - </defs> - <g transform="translate(50.309375 138.750241)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-31"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#md176de54a1" y="111.535207"/> </g> </g> </g> <g id="ytick_5"> - <g id="line2d_19"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m3d80f73659" y="62.530736"/> - </g> - </g> - <g id="line2d_20"> + <g id="line2d_10"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m8f1eb87680" y="62.530736"/> - </g> - </g> - <g id="text_10"> - <!-- 0 --> - <g transform="translate(60.365 67.089798)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-30"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#md176de54a1" y="56.356666"/> </g> </g> </g> </g> + <g id="patch_3"> + <path d="M 57.6 307.584 +L 57.6 41.472 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> + <g id="patch_4"> + <path d="M 414.72 307.584 +L 414.72 41.472 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> + <g id="patch_5"> + <path d="M 57.6 307.584 +L 414.72 307.584 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> + <g id="patch_6"> + <path d="M 57.6 41.472 +L 414.72 41.472 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> </g> </g> </svg> diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index 6eae5a7227d5..7ef9445e6af0 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -1646,7 +1646,8 @@ def test_contour_colorbar(): cbar.add_lines(cs2, erase=False) -@image_comparison(baseline_images=['hist2d', 'hist2d']) +@image_comparison(baseline_images=['hist2d', 'hist2d'], + remove_text=True, style='mpl20') def test_hist2d(): np.random.seed(0) # make it not symmetric in case we switch x and y axis @@ -1654,16 +1655,17 @@ def test_hist2d(): y = np.random.randn(100)-2 fig = plt.figure() ax = fig.add_subplot(111) - ax.hist2d(x, y, bins=10) + ax.hist2d(x, y, bins=10, rasterized=True) # Reuse testcase from above for a labeled data test data = {"x": x, "y": y} fig = plt.figure() ax = fig.add_subplot(111) - ax.hist2d("x", "y", bins=10, data=data) + ax.hist2d("x", "y", bins=10, data=data, rasterized=True) -@image_comparison(baseline_images=['hist2d_transpose']) +@image_comparison(baseline_images=['hist2d_transpose'], + remove_text=True, style='mpl20') def test_hist2d_transpose(): np.random.seed(0) # make sure the output from np.histogram is transposed before @@ -1672,7 +1674,7 @@ def test_hist2d_transpose(): y = np.random.randn(100)-2 fig = plt.figure() ax = fig.add_subplot(111) - ax.hist2d(x, y, bins=10) + ax.hist2d(x, y, bins=10, rasterized=True) @image_comparison(baseline_images=['scatter', 'scatter']) diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py index a1feed5e4dca..82c44ffad0ca 100644 --- a/lib/matplotlib/tests/test_image.py +++ b/lib/matplotlib/tests/test_image.py @@ -586,12 +586,6 @@ def test_pcolorimage_setdata(): assert im._A[0, 0] == im._Ax[0] == im._Ay[0] == 0, 'value changed' -def test_pcolorimage_extent(): - im = plt.hist2d([1, 2, 3], [3, 5, 6], - bins=[[0, 3, 7], [1, 2, 3]])[-1] - assert im.get_extent() == (0, 7, 1, 3) - - def test_minimized_rasterized(): # This ensures that the rasterized content in the colorbars is # only as thick as the colorbar, and doesn't extend to other parts From 8ed5e6357a15a7ab3d688e120dde66759128766a Mon Sep 17 00:00:00 2001 From: Sam Vaughan <sam.vaughan@physics.ox.ac.uk> Date: Tue, 10 Apr 2018 11:22:59 +0100 Subject: [PATCH 0505/1161] Changed polygon, removed grid and added outline --- examples/lines_bars_and_markers/fill.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/examples/lines_bars_and_markers/fill.py b/examples/lines_bars_and_markers/fill.py index a21dcd424a54..be50631a9f83 100644 --- a/examples/lines_bars_and_markers/fill.py +++ b/examples/lines_bars_and_markers/fill.py @@ -11,15 +11,16 @@ import numpy as np import matplotlib.pyplot as plt - -x = [0, 0, 1, 2, 2] -y = [0, 1, 2, 1, 0] +x = [0, 1, 2, 1] +y = [1, 2, 1, 0] fig, ax = plt.subplots() -ax.fill(x, y, zorder=10) -ax.grid(True, zorder=5) - - +ax.fill(x, y) +# Outline of the region we've filled in +ax.plot([x[0], x[1]], [y[0], y[1]], c='k', linewidth=2.0) +ax.plot([x[1], x[2]], [y[1], y[2]], c='k', linewidth=2.0) +ax.plot([x[2], x[3]], [y[2], y[3]], c='k', linewidth=2.0) +ax.plot([x[3], x[0]], [y[3], y[0]], c='k', linewidth=2.0) ############################################################################### # Next, a few more optional features: @@ -37,11 +38,10 @@ ax.fill(x, y1, 'b', x, y2, 'r', alpha=0.3) -# Also outline the region we've filled in +# Outline of the region we've filled in ax.plot(x, y1, c='b', alpha=0.8) ax.plot(x, y2, c='r', alpha=0.8) ax.plot([x[0], x[-1]], [y1[0], y1[-1]], c='b', alpha=0.8) ax.plot([x[0], x[-1]], [y2[0], y2[-1]], c='r', alpha=0.8) - plt.show() From bd86363b24b4b0e341aac9a952a4c0f6f619fcf6 Mon Sep 17 00:00:00 2001 From: Sam Vaughan <sam.vaughan@physics.ox.ac.uk> Date: Tue, 10 Apr 2018 12:30:07 +0100 Subject: [PATCH 0506/1161] removed linesin example 1 and added plt.show --- examples/lines_bars_and_markers/fill.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/examples/lines_bars_and_markers/fill.py b/examples/lines_bars_and_markers/fill.py index be50631a9f83..21f92d87c2ca 100644 --- a/examples/lines_bars_and_markers/fill.py +++ b/examples/lines_bars_and_markers/fill.py @@ -16,11 +16,7 @@ fig, ax = plt.subplots() ax.fill(x, y) -# Outline of the region we've filled in -ax.plot([x[0], x[1]], [y[0], y[1]], c='k', linewidth=2.0) -ax.plot([x[1], x[2]], [y[1], y[2]], c='k', linewidth=2.0) -ax.plot([x[2], x[3]], [y[2], y[3]], c='k', linewidth=2.0) -ax.plot([x[3], x[0]], [y[3], y[0]], c='k', linewidth=2.0) +plt.show() ############################################################################### # Next, a few more optional features: From 79634689aff959db66f18bc1c5c98b137256a67e Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Tue, 10 Apr 2018 09:23:47 -0700 Subject: [PATCH 0507/1161] Add link to developer discussions... --- README.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.rst b/README.rst index 49d5aa78622e..9b8be5a3c794 100644 --- a/README.rst +++ b/README.rst @@ -84,3 +84,5 @@ You've worked out a way to fix it – even better! You want to tell us about it – best of all! Start at the `contributing guide <http://matplotlib.org/devdocs/devel/contributing.html>`_! + +Developer notes are now at `_Developer Discussions <https://github.com/orgs/matplotlib/teams/developers/discussions>`_ From ce25253a90675de76141f3c8a15fbe42a9b27a0d Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Tue, 10 Apr 2018 12:46:04 -0700 Subject: [PATCH 0508/1161] DOC: add links to examples for a few examples --- .../pcolormesh_levels.py | 14 ++++++++++++++ examples/lines_bars_and_markers/simple_plot.py | 15 +++++++++++++++ examples/shapes_and_collections/scatter.py | 13 +++++++++++++ examples/statistics/histogram_features.py | 15 +++++++++++++++ 4 files changed, 57 insertions(+) diff --git a/examples/images_contours_and_fields/pcolormesh_levels.py b/examples/images_contours_and_fields/pcolormesh_levels.py index 071ef3932e84..1a75b129aa28 100644 --- a/examples/images_contours_and_fields/pcolormesh_levels.py +++ b/examples/images_contours_and_fields/pcolormesh_levels.py @@ -9,6 +9,7 @@ """ +import matplotlib import matplotlib.pyplot as plt from matplotlib.colors import BoundaryNorm from matplotlib.ticker import MaxNLocator @@ -55,3 +56,16 @@ fig.tight_layout() plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions and methods is shown in this example: + +matplotlib.axes.Axes.pcolormesh +matplotlib.axes.Axes.contourf +matplotlib.figure.Figure.colorbar diff --git a/examples/lines_bars_and_markers/simple_plot.py b/examples/lines_bars_and_markers/simple_plot.py index ab40ac15ae31..20f2875d6a9d 100644 --- a/examples/lines_bars_and_markers/simple_plot.py +++ b/examples/lines_bars_and_markers/simple_plot.py @@ -6,6 +6,7 @@ Create a simple plot. """ +import matplotlib import matplotlib.pyplot as plt import numpy as np @@ -24,3 +25,17 @@ fig.savefig("test.png") plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions and methods is shown in this example: + +matplotlib.axes.Axes.plot +matplotlib.pyplot.plot +matplotlib.pyplot.subplots +matplotlib.figure.Figure.savefig diff --git a/examples/shapes_and_collections/scatter.py b/examples/shapes_and_collections/scatter.py index 41678ee7f3ec..673766a6ea4f 100644 --- a/examples/shapes_and_collections/scatter.py +++ b/examples/shapes_and_collections/scatter.py @@ -20,3 +20,16 @@ plt.scatter(x, y, s=area, c=colors, alpha=0.5) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions and methods is shown in this example: +import matplotlib + +matplotlib.axes.Axes.scatter +matplotlib.pyplot.scatter diff --git a/examples/statistics/histogram_features.py b/examples/statistics/histogram_features.py index 1199bdb6f74d..0e28a0a22637 100644 --- a/examples/statistics/histogram_features.py +++ b/examples/statistics/histogram_features.py @@ -19,6 +19,7 @@ http://docs.astropy.org/en/stable/visualization/histogram.html """ +import matplotlib import numpy as np import matplotlib.pyplot as plt @@ -47,3 +48,17 @@ # Tweak spacing to prevent clipping of ylabel fig.tight_layout() plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions and methods is shown in this example: + +matplotlib.axes.Axes.hist +matplotlib.axes.Axes.set_title +matplotlib.axes.Axes.set_xlabel +matplotlib.axes.Axes.set_ylabel From 0a571534c8893361ace5f781c6c725bf0623728b Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Tue, 10 Apr 2018 12:56:19 -0700 Subject: [PATCH 0509/1161] Fix small typo in README --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index 9b8be5a3c794..7dfbce56ce65 100644 --- a/README.rst +++ b/README.rst @@ -85,4 +85,4 @@ You want to tell us about it – best of all! Start at the `contributing guide <http://matplotlib.org/devdocs/devel/contributing.html>`_! -Developer notes are now at `_Developer Discussions <https://github.com/orgs/matplotlib/teams/developers/discussions>`_ +Developer notes are now at `Developer Discussions <https://github.com/orgs/matplotlib/teams/developers/discussions>`_ From a6dddbd1cc0ad504b41ecc592e89bf661eff1318 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Tue, 10 Apr 2018 21:27:40 -0400 Subject: [PATCH 0510/1161] MNT: remove distutils.sysconfig import from toplevel module This makes packaging on debian easier as it is now an explicit dependency and we do not actually use it. closes #11021 --- lib/matplotlib/__init__.py | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 145cdd3d3aa4..0a3b20a15269 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -121,7 +121,6 @@ from collections import MutableMapping import contextlib import distutils.version -import distutils.sysconfig import functools import io import importlib From c8b6231c1b4fb0c366e3d26307cd391df00017f0 Mon Sep 17 00:00:00 2001 From: ImportanceOfBeingErnest <elch.rz@ruetz-online.de> Date: Tue, 10 Apr 2018 13:59:36 +0200 Subject: [PATCH 0511/1161] add example: annotated heatmap --- .../image_annotated_heatmap.py | 312 ++++++++++++++++++ 1 file changed, 312 insertions(+) create mode 100644 examples/images_contours_and_fields/image_annotated_heatmap.py diff --git a/examples/images_contours_and_fields/image_annotated_heatmap.py b/examples/images_contours_and_fields/image_annotated_heatmap.py new file mode 100644 index 000000000000..f38fc1e73654 --- /dev/null +++ b/examples/images_contours_and_fields/image_annotated_heatmap.py @@ -0,0 +1,312 @@ +""" +=========================== +Creating annotated heatmaps +=========================== + +It is often desirable to show data which depends on two independent +variables as a color coded image plot. This is often referred to as a +heatmap. If the data is categorical, this would be called a categorical +heatmap. +Matplotlib's :meth:`imshow <matplotlib.axes.Axes.imshow>` function makes +production of such plots particularly easy. + +The following examples show how to create a heatmap with annotations. +We will start with an easy example and expand it to be usable as a +universal function. +""" + + +############################################################################## +# +# A simple categorical heatmap +# ---------------------------- +# +# We may start by defining some data. What we need is a 2D list or array +# which defines the data to color code. We then also need two lists or arrays +# of categories; of course the number of elements in those lists +# need to match the data along the respective axes. +# The heatmap itself is an :meth:`imshow <matplotlib.axes.Axes.imshow>` plot +# with the labels set to the categories we have. +# Note that it is important to set both, the tick locations +# (:meth:`set_xticks<matplotlib.axes.Axes.set_xticks>`) as well as the +# tick labels (:meth:`set_xticklabels<matplotlib.axes.Axes.set_xticklabels>`), +# otherwise they would become out of sync. The locations are just +# the ascending integer numbers, while the ticklabels are the labels to show. +# Finally we can label the data itself by creating a +# :class:`~matplotlib.text.Text` within each cell showing the value of +# that cell. + + +import numpy as np +import matplotlib +import matplotlib.pyplot as plt +# sphinx_gallery_thumbnail_number = 2 + +vegetables = ["cucumber", "tomato", "lettuce", "asparagus", + "potato", "wheat", "barley"] +farmers = ["Farmer Joe", "Upland Bros.", "Smith Gardening", + "Agrifun", "Organiculture", "BioGoods Ltd.", "Cornylee Corp."] + +harvest = np.array([[0.8, 2.4, 2.5, 3.9, 0.0, 4.0, 0.0], + [2.4, 0.0, 4.0, 1.0, 2.7, 0.0, 0.0], + [1.1, 2.4, 0.8, 4.3, 1.9, 4.4, 0.0], + [0.6, 0.0, 0.3, 0.0, 3.1, 0.0, 0.0], + [0.7, 1.7, 0.6, 2.6, 2.2, 6.2, 0.0], + [1.3, 1.2, 0.0, 0.0, 0.0, 3.2, 5.1], + [0.1, 2.0, 0.0, 1.4, 0.0, 1.9, 6.3]]) + + +fig, ax = plt.subplots() +im = ax.imshow(harvest) + +# We want to show all ticks... +ax.set_xticks(np.arange(len(farmers))) +ax.set_yticks(np.arange(len(vegetables))) +# ... and label them with the respective list entries +ax.set_xticklabels(farmers) +ax.set_yticklabels(vegetables) + +# Rotate the tick labels and set their alignment. +plt.setp(ax.get_xticklabels(), rotation=45, ha="right", + rotation_mode="anchor") + +# Loop over data dimensions and create text annotations. +for i in range(len(vegetables)): + for j in range(len(farmers)): + text = ax.text(j, i, harvest[i, j], + ha="center", va="center", color="w") + +ax.set_title("Harvest of local farmers (in tons/year)") +fig.tight_layout() +plt.show() + + +############################################################################# +# Using the helper function code style +# ------------------------------------ +# +# As discussed in the :ref:`Coding styles <coding_styles>` +# one might want to reuse such code to create some kind of heatmap +# for different input data and/or on different axes. +# We create a function that takes the data and the row and column labels as +# input, and allows arguments that are used to customize the plot +# +# Here, in addition to the above we also want to create a colorbar and +# position the labels above of the heatmap instead of below it. +# The annotations shall get different colors depending on a threshold +# for better contrast against the pixel color. +# Finally, we turn the surrounding axes spines off and create +# a grid of white lines to separate the cells. + + +def heatmap(data, row_labels, col_labels, ax=None, + cbar_kw={}, cbarlabel="", **kwargs): + """ + Create a heatmap from a numpy array and two lists of labels. + + Arguments: + data : A 2D numpy array of shape (N,M) + row_labels : A list or array of length N with the labels + for the rows + col_labels : A list or array of length M with the labels + for the columns + Optional arguments: + ax : A matplotlib.axes.Axes instance to which the heatmap + is plotted. If not provided, use current axes or + create a new one. + cbar_kw : A dictionary with arguments to + :meth:`matplotlib.Figure.colorbar`. + cbarlabel : The label for the colorbar + All other arguments are directly passed on to the imshow call. + """ + + if not ax: + ax = plt.gca() + + # Plot the heatmap + im = ax.imshow(data, **kwargs) + + # Create colorbar + cbar = ax.figure.colorbar(im, ax=ax, **cbar_kw) + cbar.ax.set_ylabel(cbarlabel, rotation=-90, va="bottom") + + # We want to show all ticks... + ax.set_xticks(np.arange(data.shape[1])) + ax.set_yticks(np.arange(data.shape[0])) + # ... and label them with the respective list entries. + ax.set_xticklabels(col_labels) + ax.set_yticklabels(row_labels) + + # Let the horizontal axes labeling appear on top. + ax.tick_params(top=True, bottom=False, + labeltop=True, labelbottom=False) + + # Rotate the tick labels and set their alignment. + plt.setp(ax.get_xticklabels(), rotation=-30, ha="right", + rotation_mode="anchor") + + # Turn spines off and create white grid. + for edge, spine in ax.spines.items(): + spine.set_visible(False) + + ax.set_xticks(np.arange(data.shape[1]+1)-.5, minor=True) + ax.set_yticks(np.arange(data.shape[0]+1)-.5, minor=True) + ax.grid(which="minor", color="w", linestyle='-', linewidth=3) + ax.tick_params(which="minor", bottom=False, left=False) + + return im, cbar + + +def annotate_heatmap(im, data=None, valfmt="{x:.2f}", + textcolors=["black", "white"], + threshold=None, **textkw): + """ + A function to annotate a heatmap. + + Arguments: + im : The AxesImage to be labeled. + Optional arguments: + data : Data used to annotate. If None, the image's data is used. + valfmt : The format of the annotations inside the heatmap. + This should either use the string format method, e.g. + "$ {x:.2f}", or be a :class:`matplotlib.ticker.Formatter`. + textcolors : A list or array of two color specifications. The first is + used for values below a threshold, the second for those + above. + threshold : Value in data units according to which the colors from + textcolors are applied. If None (the default) uses the + middle of the colormap as separation. + + Further arguments are passed on to the created text labels. + """ + + if not isinstance(data, (list, np.ndarray)): + data = im.get_array() + + # Normalize the threshold to the images color range. + if threshold is not None: + threshold = im.norm(threshold) + else: + threshold = im.norm(data.max())/2. + + # Set default alignment to center, but allow it to be + # overwritten by textkw. + kw = dict(horizontalalignment="center", + verticalalignment="center") + kw.update(textkw) + + # Get the formatter in case a string is supplied + if isinstance(valfmt, str): + valfmt = matplotlib.ticker.StrMethodFormatter(valfmt) + + # Loop over the data and create a `Text` for each "pixel". + # Change the text's color depending on the data. + texts = [] + for i in range(data.shape[0]): + for j in range(data.shape[1]): + kw.update(color=textcolors[im.norm(data[i, j]) > threshold]) + text = im.axes.text(j, i, valfmt(data[i, j], None), **kw) + texts.append(text) + + return texts + + +########################################################################## +# The above now allows us to keep the actual plot creation pretty compact. +# + +fig, ax = plt.subplots() + +im, cbar = heatmap(harvest, vegetables, farmers, ax=ax, + cmap="YlGn", cbarlabel="harvest [t/year]") +texts = annotate_heatmap(im, valfmt="{x:.1f} t") + +fig.tight_layout() +plt.show() + + +############################################################################# +# Some more complex heatmap examples +# ---------------------------------- +# +# In the following we show the versitality of the previously created +# functions by applying it in different cases and using different arguments. +# + +np.random.seed(19680801) + +fig, ((ax, ax2), (ax3, ax4)) = plt.subplots(2, 2, figsize=(8, 6)) + +# Replicate the above example with a different font size and colormap. + +im, _ = heatmap(harvest, vegetables, farmers, ax=ax, + cmap="Wistia", cbarlabel="harvest [t/year]") +annotate_heatmap(im, valfmt="{x:.1f}", size=7) + +# Create some new data, give further arguments to imshow (vmin), +# use an integer format on the annotations and provide some colors. + +data = np.random.randint(2, 100, size=(7, 7)) +y = ["Book {}".format(i) for i in range(1, 8)] +x = ["Store {}".format(i) for i in list("ABCDEFG")] +im, _ = heatmap(data, y, x, ax=ax2, vmin=0, + cmap="magma_r", cbarlabel="weekly sold copies") +annotate_heatmap(im, valfmt="{x:d}", size=7, threshold=20, + textcolors=["red", "white"]) + +# Sometimes even the data itself is categorical. Here we use a +# :class:`matplotlib.colors.BoundaryNorm` to get the data into classes +# and use this to colorize the plot, but also to obtain the class +# labels from an array of classes. + +data = np.random.randn(6, 6) +y = ["Prod. {}".format(i) for i in range(10, 70, 10)] +x = ["Cycle {}".format(i) for i in range(1, 7)] + +qrates = np.array(list("ABCDEFG")) +norm = matplotlib.colors.BoundaryNorm(np.linspace(-3.5, 3.5, 8), 7) +fmt = matplotlib.ticker.FuncFormatter(lambda x, pos: qrates[::-1][norm(x)]) + +im, _ = heatmap(data, y, x, ax=ax3, + cmap=plt.get_cmap("PiYG", 7), norm=norm, + cbar_kw=dict(ticks=np.arange(-3, 4), format=fmt), + cbarlabel="Quality Rating") + +annotate_heatmap(im, valfmt=fmt, size=9, fontweight="bold", threshold=-1, + textcolors=["red", "black"]) + +# We can nicely plot a correlation matrix. Since this is bound by -1 and 1, +# we use those as vmin and vmax. We may also remove leading zeros and hide +# the diagonal elements (which are all 1) by using a +# :class:`matplotlib.ticker.FuncFormatter`. + +corr_matrix = np.corrcoef(np.random.rand(6, 5)) +im, _ = heatmap(corr_matrix, vegetables, vegetables, ax=ax4, + cmap="PuOr", vmin=-1, vmax=1, + cbarlabel="correlation coeff.") + + +def func(x, pos): + return "{:.2f}".format(x).replace("0.", ".").replace("1.00", "") + +annotate_heatmap(im, valfmt=matplotlib.ticker.FuncFormatter(func), size=7) + + +plt.tight_layout() +plt.show() + + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The usage of the following functions and methods is shown in this example: + + +matplotlib.axes.Axes.imshow +matplotlib.pyplot.imshow +matplotlib.figure.Figure.colorbar +matplotlib.pyplot.colorbar From 2598954bd052dacad1acc3ac4494994ec1f1a952 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Wed, 11 Apr 2018 22:46:57 +0200 Subject: [PATCH 0512/1161] Add note concerning python2 support on doc start page --- doc/_static/mpl.css | 17 +++++++++++++---- doc/_templates/sidebar_announcement.html | 5 +++++ doc/conf.py | 3 ++- 3 files changed, 20 insertions(+), 5 deletions(-) create mode 100644 doc/_templates/sidebar_announcement.html diff --git a/doc/_static/mpl.css b/doc/_static/mpl.css index 20c2b26b9660..e460fd569823 100644 --- a/doc/_static/mpl.css +++ b/doc/_static/mpl.css @@ -309,11 +309,11 @@ h2 { margin: 0.5em 0 0.2em 0; padding-top: 0.5em; font-size: 1.7em; - padding: 0; } h3 { margin: 0.2em 0 0.1em 0; + padding-top: 0.5em; font-size: 1.2em; } @@ -846,14 +846,12 @@ figcaption { } #sidebar-donations { - margin-top: 28px; + margin-top: 40px; } .donate_button { background:#11557C; font-weight:normal; - border:solid 1px #fff; - outline: solid 1px #11557C; clear: both; display: block; width:200px; @@ -864,6 +862,7 @@ figcaption { color:#fff; text-decoration: none; margin: 30px auto 0; + border-radius: 6px; z-index:1; transition: background .25s ease; } @@ -972,3 +971,13 @@ p.sphx-glr-signature a.reference.external { font-weight: 400; } +.sidebar-announcement { + border: 1px solid #11557C; + background: #eff9ff; + padding: 2px; + margin-top: 40px; +} + +.sidebar-announcement p { + margin: 0.4em 0.4em 0.6em 0.4em; +} diff --git a/doc/_templates/sidebar_announcement.html b/doc/_templates/sidebar_announcement.html new file mode 100644 index 000000000000..66de835a7a9e --- /dev/null +++ b/doc/_templates/sidebar_announcement.html @@ -0,0 +1,5 @@ +<div class="sidebar-announcement"> + <p>The upcoming version Matplotlib 3.0 will be Python 3 only.</p> + <p>For Python 2 support, Matplotlib 2.2.x will be continued as a LTS release + and updated with bugfixes until January 1, 2020.</p> +</div> diff --git a/doc/conf.py b/doc/conf.py index d011a25fc6ea..24b4579d7c24 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -233,7 +233,8 @@ def _check_deps(): # Custom sidebar templates, maps page names to templates. html_sidebars = { - 'index': ['searchbox.html', 'donate_sidebar.html'], + 'index': ['searchbox.html', 'sidebar_announcement.html', + 'donate_sidebar.html'], '**': ['searchbox.html', 'localtoc.html', 'relations.html', 'pagesource.html'] } From 954cb56d0301afca54f7b7278d1378bd9517a995 Mon Sep 17 00:00:00 2001 From: Nick Garvey <garvey.nick@gmail.com> Date: Wed, 11 Apr 2018 22:13:41 -0700 Subject: [PATCH 0513/1161] Update doc string for get_yticklabels The doc string has a typo in that it says it returns x ticks instead of y. Correct it --- lib/matplotlib/axes/_base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index cbc28421a94f..2bedc1e724e7 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -3525,7 +3525,7 @@ def get_yminorticklabels(self): def get_yticklabels(self, minor=False, which=None): """ - Get the x tick labels as a list of :class:`~matplotlib.text.Text` + Get the y tick labels as a list of :class:`~matplotlib.text.Text` instances. Parameters From c4abdcfdc250f8c6e9667f8797c34f8afab52840 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Tue, 21 Nov 2017 21:57:59 -0800 Subject: [PATCH 0514/1161] Minor cleanup to Text class. 1. Remove some unneeded newlines in the class docstring. 2. Add a space after commas in the repr. 3. Make the constructor docstring's first sentence fit in one line. --- lib/matplotlib/text.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/lib/matplotlib/text.py b/lib/matplotlib/text.py index 148cf25035bd..d82b7b3920dc 100644 --- a/lib/matplotlib/text.py +++ b/lib/matplotlib/text.py @@ -125,9 +125,8 @@ def _get_textbox(text, renderer): "weight": ["fontweight"], }) class Text(Artist): - """ - Handle storing and drawing of text in window or data coordinates. - """ + """Handle storing and drawing of text in window or data coordinates.""" + zorder = 3 _cached = cbook.maxdict(50) @@ -149,8 +148,7 @@ def __init__(self, **kwargs ): """ - Create a :class:`~matplotlib.text.Text` instance at *x*, *y* - with string *text*. + Create a `Text` instance at *x*, *y* with string *text*. Valid kwargs are %(Text)s From 3f9d67f846147a090dab1152c13cb76fc33e9c0a Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Tue, 21 Nov 2017 22:50:42 -0800 Subject: [PATCH 0515/1161] Various style fixes. --- lib/matplotlib/text.py | 87 ++++++++++++++++++------------------------ 1 file changed, 37 insertions(+), 50 deletions(-) diff --git a/lib/matplotlib/text.py b/lib/matplotlib/text.py index d82b7b3920dc..bc78acc40cb4 100644 --- a/lib/matplotlib/text.py +++ b/lib/matplotlib/text.py @@ -24,7 +24,7 @@ def _process_text_args(override, fontdict=None, **kwargs): - "Return an override dict. See :func:`~pyplot.text' docstring for info" + """Return an override dict. See `~pyplot.text' docstring for info.""" if fontdict is not None: override.update(fontdict) @@ -51,24 +51,21 @@ def _wrap_text(textobj): # Extracted from Text's method to serve as a function def get_rotation(rotation): """ - Return the text angle as float. The returned - angle is between 0 and 360 deg. + Return the text angle as float between 0 and 360 degrees. *rotation* may be 'horizontal', 'vertical', or a numeric value in degrees. """ try: - angle = float(rotation) + return float(rotation) % 360 except (ValueError, TypeError): if cbook._str_equal(rotation, 'horizontal') or rotation is None: - angle = 0. + return 0. elif cbook._str_equal(rotation, 'vertical'): - angle = 90. + return 90. else: - raise ValueError("rotation is {0} expected either 'horizontal'" - " 'vertical', numeric value or" - "None".format(rotation)) - - return angle % 360 + raise ValueError("rotation is {!r}; expected either 'horizontal', " + "'vertical', numeric value, or None" + .format(rotation)) def _get_textbox(text, renderer): @@ -104,9 +101,7 @@ def _get_textbox(text, renderer): xt_box, yt_box = min(projected_xs), min(projected_ys) w_box, h_box = max(projected_xs) - xt_box, max(projected_ys) - yt_box - tr = Affine2D().rotate(theta) - - x_box, y_box = tr.transform_point((xt_box, yt_box)) + x_box, y_box = Affine2D().rotate(theta).transform_point((xt_box, yt_box)) return x_box, y_box, w_box, h_box @@ -230,7 +225,9 @@ def contains(self, mouseevent): return inside, cattr def _get_xy_display(self): - 'get the (possibly unit converted) transformed x, y in display coords' + """ + Get the (possibly unit converted) transformed x, y in display coords. + """ x, y = self.get_unitless_position() return self.get_transform().transform_point((x, y)) @@ -241,7 +238,7 @@ def _get_multialignment(self): return self._horizontalalignment def get_rotation(self): - 'return the text angle as float in degrees' + """Return the text angle as float in degrees.""" return get_rotation(self._rotation) # string_or_number -> number def set_rotation_mode(self, m): @@ -264,11 +261,11 @@ def set_rotation_mode(self, m): self.stale = True def get_rotation_mode(self): - "get text rotation mode" + """Get the text rotation mode.""" return self._rotation_mode def update_from(self, other): - 'Copy properties from other to self' + """Copy properties from other to self.""" Artist.update_from(self, other) self._color = other._color self._multialignment = other._multialignment @@ -479,16 +476,16 @@ def set_bbox(self, rectprops): def get_bbox_patch(self): """ - Return the bbox Patch object. Returns None if the - FancyBboxPatch is not made. + Return the bbox Patch, or None if the FancyBboxPatch is not made. """ return self._bbox_patch def update_bbox_position_size(self, renderer): """ - Update the location and the size of the bbox. This method - should be used when the position and size of the bbox needs to - be updated before actually drawing the bbox. + Update the location and the size of the bbox. + + This method should be used when the position and size of the bbox needs + to be updated before actually drawing the bbox. """ if self._bbox_patch: @@ -512,9 +509,8 @@ def update_bbox_position_size(self, renderer): self._bbox_patch.set_mutation_scale(fontsize_in_pixel) def _draw_bbox(self, renderer, posx, posy): - - """ Update the location and the size of the bbox - (FancyBboxPatch), and draw + """ + Update the location and size of the bbox (FancyBboxPatch), and draw. """ x_box, y_box, w_box, h_box = _get_textbox(self, renderer) @@ -531,7 +527,6 @@ def _update_clip_properties(self): clipprops = dict(clip_box=self.clipbox, clip_path=self._clippath, clip_on=self._clipon) - if self._bbox_patch: bbox = self._bbox_patch.update(clipprops) @@ -584,11 +579,11 @@ def set_clip_on(self, b): self._update_clip_properties() def get_wrap(self): - """Returns the wrapping state for the text.""" + """Return the wrapping state for the text.""" return self._wrap def set_wrap(self, wrap): - """Sets the wrapping state for the text. + """Set the wrapping state for the text. Parameters ---------- @@ -599,8 +594,8 @@ def set_wrap(self, wrap): def _get_wrap_line_width(self): """ - Returns the maximum line width for wrapping text based on the - current orientation. + Return the maximum line width for wrapping text based on the current + orientation. """ x0, y0 = self.get_transform().transform(self.get_position()) figure_box = self.get_figure().get_window_extent() @@ -612,10 +607,7 @@ def _get_wrap_line_width(self): left = self._get_dist_to_box(rotation, x0, y0, figure_box) right = self._get_dist_to_box( - (180 + rotation) % 360, - x0, - y0, - figure_box) + (180 + rotation) % 360, x0, y0, figure_box) if alignment == 'left': line_width = left @@ -628,8 +620,8 @@ def _get_wrap_line_width(self): def _get_dist_to_box(self, rotation, x0, y0, figure_box): """ - Returns the distance from the given points, to the boundaries - of a rotated box in pixels. + Return the distance from the given points to the boundaries of a + rotated box, in pixels. """ if rotation > 270: quad = rotation - 270 @@ -651,7 +643,7 @@ def _get_dist_to_box(self, rotation, x0, y0, figure_box): def _get_rendered_text_width(self, text): """ - Returns the width of a given text string, in pixels. + Return the width of a given text string, in pixels. """ w, h, d = self._renderer.get_text_width_height_descent( text, @@ -1226,7 +1218,7 @@ class TextWithDash(Text): __name__ = 'textwithdash' def __str__(self): - return "TextWithDash(%g,%g,%s)" % (self._x, self._y, repr(self._text)) + return "TextWithDash(%g, %g, %r)" % (self._x, self._y, self._text) def __init__(self, x=0, y=0, text='', @@ -1853,9 +1845,7 @@ def draggable(self, state=None, use_blit=False): class Annotation(Text, _AnnotationBase): def __str__(self): - return "Annotation(%g,%g,%s)" % (self.xy[0], - self.xy[1], - repr(self._text)) + return "Annotation(%g, %g, %r)" % (self.xy[0], self.xy[1], self._text) @docstring.dedent_interpd def __init__(self, s, xy, @@ -1874,10 +1864,10 @@ def __init__(self, s, xy, ---------- s : str - The text of the annotation + The text of the annotation. xy : iterable - Length 2 sequence specifying the *(x,y)* point to annotate + Length 2 sequence specifying the *(x,y)* point to annotate. xytext : iterable, optional Length 2 sequence specifying the *(x,y)* to place the text @@ -2087,15 +2077,13 @@ def set_figure(self, fig): Artist.set_figure(self, fig) def update_positions(self, renderer): - """"Update the pixel positions of the annotated point and the - text. - """ + """Update the pixel positions of the annotated point and the text.""" xy_pixel = self._get_position_xy(renderer) self._update_position_xytext(renderer, xy_pixel) def _update_position_xytext(self, renderer, xy_pixel): - """Update the pixel positions of the annotation text and the arrow - patch. + """ + Update the pixel positions of the annotation text and the arrow patch. """ # generate transformation, self.set_transform(self._get_xy_transform(renderer, self.anncoords)) @@ -2234,7 +2222,6 @@ def get_window_extent(self, renderer=None): simpler to call the method after saving the figure. The *dpi* used defaults to self.figure.dpi; the renderer dpi is irrelevant. - ''' if not self.get_visible(): return Bbox.unit() From a68784fdd5f97d90e80c86a17551b19c0a466dbc Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Tue, 20 Feb 2018 01:29:47 -0800 Subject: [PATCH 0516/1161] Change manual kwargs popping to kwonly arguments. Only simple cases (no mutable defaults, no defaults depending on other args) are handled so far. --- examples/api/radar_chart.py | 3 +- .../contour_demo.py | 3 +- examples/scales/custom_scale.py | 5 +- .../custom_figure_class.py | 5 +- .../usetex_baseline_test.py | 21 ++---- .../user_interfaces/toolmanager_sgskip.py | 6 +- lib/matplotlib/__init__.py | 4 +- lib/matplotlib/axes/_axes.py | 24 +++---- lib/matplotlib/axes/_base.py | 13 ++-- lib/matplotlib/axis.py | 3 +- lib/matplotlib/backends/backend_agg.py | 8 +-- lib/matplotlib/backends/backend_pdf.py | 15 +++-- lib/matplotlib/backends/backend_pgf.py | 8 +-- lib/matplotlib/backends/backend_ps.py | 25 +++---- lib/matplotlib/backends/backend_svg.py | 11 ++- lib/matplotlib/backends/backend_template.py | 3 +- lib/matplotlib/backends/backend_webagg.py | 14 ++-- lib/matplotlib/contour.py | 37 +++++----- lib/matplotlib/figure.py | 5 +- lib/matplotlib/image.py | 5 +- lib/matplotlib/legend.py | 14 ++-- lib/matplotlib/projections/__init__.py | 25 ++++--- lib/matplotlib/projections/geo.py | 8 +-- lib/matplotlib/projections/polar.py | 13 ++-- lib/matplotlib/table.py | 6 +- lib/matplotlib/tests/test_figure.py | 5 +- lib/mpl_toolkits/axes_grid/axes_grid.py | 14 ++-- lib/mpl_toolkits/axes_grid1/axes_divider.py | 12 +--- lib/mpl_toolkits/axes_grid1/axes_grid.py | 11 +-- lib/mpl_toolkits/axes_grid1/axes_rgb.py | 6 +- lib/mpl_toolkits/axes_grid1/parasite_axes.py | 24 +++---- lib/mpl_toolkits/axisartist/axes_grid.py | 14 ++-- lib/mpl_toolkits/axisartist/axis_artist.py | 24 +++---- lib/mpl_toolkits/axisartist/axislines.py | 16 ++--- lib/mpl_toolkits/mplot3d/art3d.py | 21 +++--- lib/mpl_toolkits/mplot3d/axes3d.py | 67 ++++++------------- lib/mpl_toolkits/mplot3d/axis3d.py | 5 +- 37 files changed, 199 insertions(+), 304 deletions(-) diff --git a/examples/api/radar_chart.py b/examples/api/radar_chart.py index 814f79425405..c9b4c31340ef 100644 --- a/examples/api/radar_chart.py +++ b/examples/api/radar_chart.py @@ -64,9 +64,8 @@ def __init__(self, *args, **kwargs): # rotate plot such that the first axis is at the top self.set_theta_zero_location('N') - def fill(self, *args, **kwargs): + def fill(self, *args, closed=True, **kwargs): """Override fill so that line is closed by default""" - closed = kwargs.pop('closed', True) return super().fill(closed=closed, *args, **kwargs) def plot(self, *args, **kwargs): diff --git a/examples/images_contours_and_fields/contour_demo.py b/examples/images_contours_and_fields/contour_demo.py index a3366c88979a..510767501628 100644 --- a/examples/images_contours_and_fields/contour_demo.py +++ b/examples/images_contours_and_fields/contour_demo.py @@ -98,8 +98,7 @@ plt.setp(zc, linewidth=4) ax.clabel(CS, levels[1::2], # label every second level - inline=1, fmt='%1.1f', - cmap='flag', fontsize=14) + inline=1, fmt='%1.1f', fontsize=14) # make a colorbar for the contour lines CB = fig.colorbar(CS, shrink=0.8, extend='both') diff --git a/examples/scales/custom_scale.py b/examples/scales/custom_scale.py index 8150a5b2101c..b19025e4c0d4 100644 --- a/examples/scales/custom_scale.py +++ b/examples/scales/custom_scale.py @@ -44,7 +44,7 @@ class MercatorLatitudeScale(mscale.ScaleBase): # scale. name = 'mercator' - def __init__(self, axis, **kwargs): + def __init__(self, axis, *, thresh=np.deg2rad(85), **kwargs): """ Any keyword arguments passed to ``set_xscale`` and ``set_yscale`` will be passed along to the scale's @@ -53,8 +53,7 @@ def __init__(self, axis, **kwargs): thresh: The degree above which to crop the data. """ mscale.ScaleBase.__init__(self) - thresh = kwargs.pop("thresh", np.radians(85)) - if thresh >= np.pi / 2.0: + if thresh >= np.pi / 2: raise ValueError("thresh must be less than pi/2") self.thresh = thresh diff --git a/examples/subplots_axes_and_figures/custom_figure_class.py b/examples/subplots_axes_and_figures/custom_figure_class.py index 7e7b92721739..db1315f1f590 100644 --- a/examples/subplots_axes_and_figures/custom_figure_class.py +++ b/examples/subplots_axes_and_figures/custom_figure_class.py @@ -12,12 +12,11 @@ class MyFigure(Figure): - def __init__(self, *args, **kwargs): + def __init__(self, *args, figtitle='hi mom', **kwargs): """ custom kwarg figtitle is a figure title """ - figtitle = kwargs.pop('figtitle', 'hi mom') - Figure.__init__(self, *args, **kwargs) + super().__init__(*args, **kwargs) self.text(0.5, 0.95, figtitle, ha='center') diff --git a/examples/text_labels_and_annotations/usetex_baseline_test.py b/examples/text_labels_and_annotations/usetex_baseline_test.py index 1a222b61a912..6d8b79177d17 100644 --- a/examples/text_labels_and_annotations/usetex_baseline_test.py +++ b/examples/text_labels_and_annotations/usetex_baseline_test.py @@ -20,22 +20,15 @@ class Axes(maxes.Axes): usetex=False in the same figure. It does not work in the ps backend. """ - def __init__(self, *kl, **kw): - self.usetex = kw.pop("usetex", "False") - self.preview = kw.pop("preview", "False") - - maxes.Axes.__init__(self, *kl, **kw) + def __init__(self, *args, usetex=False, preview=False, **kwargs): + self.usetex = usetex + self.preview = preview + super().__init__(*args, **kwargs) def draw(self, renderer): - usetex = plt.rcParams["text.usetex"] - preview = plt.rcParams["text.latex.preview"] - plt.rcParams["text.usetex"] = self.usetex - plt.rcParams["text.latex.preview"] = self.preview - - maxes.Axes.draw(self, renderer) - - plt.rcParams["text.usetex"] = usetex - plt.rcParams["text.latex.preview"] = preview + with plt.rc_context({"text.usetex": self.usetex, + "text.latex.preview": self.preview}): + super().draw(renderer) subplot = maxes.subplot_class_factory(Axes) diff --git a/examples/user_interfaces/toolmanager_sgskip.py b/examples/user_interfaces/toolmanager_sgskip.py index 7c2eeae5b845..6ae0fc3d88e9 100644 --- a/examples/user_interfaces/toolmanager_sgskip.py +++ b/examples/user_interfaces/toolmanager_sgskip.py @@ -56,9 +56,9 @@ class GroupHideTool(ToolToggleBase): description = 'Show by gid' default_toggled = True - def __init__(self, *args, **kwargs): - self.gid = kwargs.pop('gid') - ToolToggleBase.__init__(self, *args, **kwargs) + def __init__(self, *args, gid, **kwargs): + self.gid = gid + super().__init__(*args, **kwargs) def enable(self, *args): self.set_lines_visibility(True) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 0a3b20a15269..869ce0354272 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -1703,7 +1703,7 @@ def param(func): pass @functools.wraps(func) - def inner(ax, *args, **kwargs): + def inner(ax, *args, data=None, **kwargs): # this is needed because we want to change these values if # arg_names_at_runtime==True, but python does not allow assigning # to a variable in a outer scope. So use some new local ones and @@ -1714,8 +1714,6 @@ def inner(ax, *args, **kwargs): label = None - data = kwargs.pop('data', None) - if data is None: # data validation args = tuple(sanitize_sequence(a) for a in args) else: diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 1e1b4347bb22..33a749e34871 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -5243,20 +5243,14 @@ def imshow(self, X, cmap=None, norm=None, aspect=None, return im @staticmethod - def _pcolorargs(funcname, *args, **kw): - # This takes one kwarg, allmatch. - # If allmatch is True, then the incoming X, Y, C must - # have matching dimensions, taking into account that - # X and Y can be 1-D rather than 2-D. This perfect - # match is required for Gouroud shading. For flat - # shading, X and Y specify boundaries, so we need - # one more boundary than color in each direction. - # For convenience, and consistent with Matlab, we - # discard the last row and/or column of C if necessary - # to meet this condition. This is done if allmatch - # is False. - - allmatch = kw.pop("allmatch", False) + def _pcolorargs(funcname, *args, allmatch=False): + # If allmatch is True, then the incoming X, Y, C must have matching + # dimensions, taking into account that X and Y can be 1-D rather than + # 2-D. This perfect match is required for Gouroud shading. For flat + # shading, X and Y specify boundaries, so we need one more boundary + # than color in each direction. For convenience, and consistent with + # Matlab, we discard the last row and/or column of C if necessary to + # meet this condition. This is done if allmatch is False. if len(args) == 1: C = np.asanyarray(args[0]) @@ -5303,7 +5297,7 @@ def _pcolorargs(funcname, *args, **kw): 'Incompatible X, Y inputs to %s; see help(%s)' % ( funcname, funcname)) if allmatch: - if not (Nx == numCols and Ny == numRows): + if (Nx, Ny) != (numCols, numRows): raise TypeError('Dimensions of C %s are incompatible with' ' X (%d) and/or Y (%d); see help(%s)' % ( C.shape, Nx, Ny, funcname)) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 2bedc1e724e7..ecce9837a9aa 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -2683,7 +2683,8 @@ def grid(self, b=None, which='major', axis='both', **kwargs): if axis == 'y' or axis == 'both': self.yaxis.grid(b, which=which, **kwargs) - def ticklabel_format(self, **kwargs): + def ticklabel_format(self, *, axis='both', style='', scilimits=None, + useOffset=None, useLocale=None, useMathText=None): """ Change the `~matplotlib.ticker.ScalarFormatter` used by default for linear axes. @@ -2693,6 +2694,7 @@ def ticklabel_format(self, **kwargs): ============== ========================================= Keyword Description ============== ========================================= + *axis* [ 'x' | 'y' | 'both' ] *style* [ 'sci' (or 'scientific') | 'plain' ] plain turns off scientific notation *scilimits* (m, n), pair of integers; if *style* @@ -2705,7 +2707,6 @@ def ticklabel_format(self, **kwargs): if False, no offset will be used; if a numeric offset is specified, it will be used. - *axis* [ 'x' | 'y' | 'both' ] *useLocale* If True, format the number according to the current locale. This affects things such as the character used for the @@ -2724,12 +2725,8 @@ def ticklabel_format(self, **kwargs): :exc:`AttributeError` will be raised. """ - style = kwargs.pop('style', '').lower() - scilimits = kwargs.pop('scilimits', None) - useOffset = kwargs.pop('useOffset', None) - useLocale = kwargs.pop('useLocale', None) - useMathText = kwargs.pop('useMathText', None) - axis = kwargs.pop('axis', 'both').lower() + style = style.lower() + axis = axis.lower() if scilimits is not None: try: m, n = scilimits diff --git a/lib/matplotlib/axis.py b/lib/matplotlib/axis.py index b3a7ffcc3ca3..ba591fe15912 100644 --- a/lib/matplotlib/axis.py +++ b/lib/matplotlib/axis.py @@ -1616,7 +1616,7 @@ def set_pickradius(self, pickradius): """ self.pickradius = pickradius - def set_ticklabels(self, ticklabels, *args, **kwargs): + def set_ticklabels(self, ticklabels, *args, minor=False, **kwargs): """ Set the text values of the tick labels. Return a list of Text instances. Use *kwarg* *minor=True* to select minor ticks. @@ -1645,7 +1645,6 @@ def set_ticklabels(self, ticklabels, *args, **kwargs): # replace the ticklabels list with the processed one ticklabels = get_labels - minor = kwargs.pop('minor', False) if minor: self.set_minor_formatter(mticker.FixedFormatter(ticklabels)) ticks = self.get_minor_ticks() diff --git a/lib/matplotlib/backends/backend_agg.py b/lib/matplotlib/backends/backend_agg.py index b17ab46ca27d..bf4b85032a80 100644 --- a/lib/matplotlib/backends/backend_agg.py +++ b/lib/matplotlib/backends/backend_agg.py @@ -516,7 +516,7 @@ def print_to_buffer(self): if _has_pil: # add JPEG support - def print_jpg(self, filename_or_obj, *args, **kwargs): + def print_jpg(self, filename_or_obj, *args, dryrun=False, **kwargs): """ Other Parameters ---------------- @@ -536,7 +536,7 @@ def print_jpg(self, filename_or_obj, *args, **kwargs): should be stored as a progressive JPEG file. """ buf, size = self.print_to_buffer() - if kwargs.pop("dryrun", False): + if dryrun: return # The image is "pasted" onto a white background image to safely # handle any transparency @@ -557,9 +557,9 @@ def print_jpg(self, filename_or_obj, *args, **kwargs): print_jpeg = print_jpg # add TIFF support - def print_tif(self, filename_or_obj, *args, **kwargs): + def print_tif(self, filename_or_obj, *args, dryrun=False, **kwargs): buf, size = self.print_to_buffer() - if kwargs.pop("dryrun", False): + if dryrun: return image = Image.frombuffer('RGBA', size, buf, 'raw', 'RGBA', 0, 1) dpi = (self.figure.dpi, self.figure.dpi) diff --git a/lib/matplotlib/backends/backend_pdf.py b/lib/matplotlib/backends/backend_pdf.py index ca0e797411f7..32a825f171bf 100644 --- a/lib/matplotlib/backends/backend_pdf.py +++ b/lib/matplotlib/backends/backend_pdf.py @@ -2560,21 +2560,22 @@ def draw(self): def get_default_filetype(self): return 'pdf' - def print_pdf(self, filename, **kwargs): - image_dpi = kwargs.get('dpi', 72) # dpi to use for images + def print_pdf(self, filename, *, + dpi=72, # dpi to use for images + bbox_inches_restore=None, metadata=None, + **kwargs): self.figure.set_dpi(72) # there are 72 pdf points to an inch width, height = self.figure.get_size_inches() if isinstance(filename, PdfPages): file = filename._file else: - file = PdfFile(filename, metadata=kwargs.pop("metadata", None)) + file = PdfFile(filename, metadata=metadata) try: file.newPage(width, height) - _bbox_inches_restore = kwargs.pop("bbox_inches_restore", None) renderer = MixedModeRenderer( - self.figure, width, height, image_dpi, - RendererPdf(file, image_dpi, height, width), - bbox_inches_restore=_bbox_inches_restore) + self.figure, width, height, dpi, + RendererPdf(file, dpi, height, width), + bbox_inches_restore=bbox_inches_restore) self.figure.draw(renderer) renderer.finalize() if not isinstance(filename, PdfPages): diff --git a/lib/matplotlib/backends/backend_pgf.py b/lib/matplotlib/backends/backend_pgf.py index eaa243203ad3..817cc0e93e79 100644 --- a/lib/matplotlib/backends/backend_pgf.py +++ b/lib/matplotlib/backends/backend_pgf.py @@ -802,8 +802,9 @@ class FigureCanvasPgf(FigureCanvasBase): def get_default_filetype(self): return 'pdf' - def _print_pgf_to_fh(self, fh, *args, **kwargs): - if kwargs.get("dryrun", False): + def _print_pgf_to_fh(self, fh, *args, + dryrun=False, bbox_inches_restore=None, **kwargs): + if dryrun: renderer = RendererPgf(self.figure, None, dummy=True) self.figure.draw(renderer) return @@ -849,10 +850,9 @@ def _print_pgf_to_fh(self, fh, *args, **kwargs): r"\pgfpathrectangle{\pgfpointorigin}{\pgfqpoint{%fin}{%fin}}" % (w, h)) writeln(fh, r"\pgfusepath{use as bounding box, clip}") - _bbox_inches_restore = kwargs.pop("bbox_inches_restore", None) renderer = MixedModeRenderer(self.figure, w, h, dpi, RendererPgf(self.figure, fh), - bbox_inches_restore=_bbox_inches_restore) + bbox_inches_restore=bbox_inches_restore) self.figure.draw(renderer) # end the pgfpicture environment diff --git a/lib/matplotlib/backends/backend_ps.py b/lib/matplotlib/backends/backend_ps.py index d3bc8814545e..4025cb90a14d 100644 --- a/lib/matplotlib/backends/backend_ps.py +++ b/lib/matplotlib/backends/backend_ps.py @@ -959,9 +959,11 @@ def _print_ps(self, outfile, format, *args, **kwargs): orientation, isLandscape, papertype, **kwargs) - def _print_figure(self, outfile, format, dpi=72, facecolor='w', edgecolor='w', - orientation='portrait', isLandscape=False, papertype=None, - metadata=None, **kwargs): + def _print_figure( + self, outfile, format, dpi=72, facecolor='w', edgecolor='w', + orientation='portrait', isLandscape=False, papertype=None, + metadata=None, *, + dryrun=False, bbox_inches_restore=None, **kwargs): """ Render the figure to hardcopy. Set the figure patch face and edge colors. This is useful because some of the GUIs have a @@ -1031,8 +1033,6 @@ def _print_figure(self, outfile, format, dpi=72, facecolor='w', edgecolor='w', self.figure.set_facecolor(facecolor) self.figure.set_edgecolor(edgecolor) - - dryrun = kwargs.get("dryrun", False) if dryrun: class NullWriter(object): def write(self, *kl, **kwargs): @@ -1042,14 +1042,12 @@ def write(self, *kl, **kwargs): else: self._pswriter = io.StringIO() - # mixed mode rendering - _bbox_inches_restore = kwargs.pop("bbox_inches_restore", None) ps_renderer = self._renderer_class(width, height, self._pswriter, imagedpi=dpi) renderer = MixedModeRenderer(self.figure, width, height, dpi, ps_renderer, - bbox_inches_restore=_bbox_inches_restore) + bbox_inches_restore=bbox_inches_restore) self.figure.draw(renderer) @@ -1199,9 +1197,10 @@ def do_nothing(): with io.open(outfile, 'w', encoding='latin-1') as fh: print_figure_impl(fh) - def _print_figure_tex(self, outfile, format, dpi, facecolor, edgecolor, - orientation, isLandscape, papertype, metadata=None, - **kwargs): + def _print_figure_tex( + self, outfile, format, dpi, facecolor, edgecolor, + orientation, isLandscape, papertype, metadata=None, *, + dryrun=False, bbox_inches_restore=None, **kwargs): """ If text.usetex is True in rc, a temporary pair of tex/eps files are created to allow tex to manage the text layout via the PSFrags @@ -1236,7 +1235,6 @@ def _print_figure_tex(self, outfile, format, dpi, facecolor, edgecolor, self.figure.set_facecolor(facecolor) self.figure.set_edgecolor(edgecolor) - dryrun = kwargs.get("dryrun", False) if dryrun: class NullWriter(object): def write(self, *kl, **kwargs): @@ -1247,12 +1245,11 @@ def write(self, *kl, **kwargs): self._pswriter = io.StringIO() # mixed mode rendering - _bbox_inches_restore = kwargs.pop("bbox_inches_restore", None) ps_renderer = self._renderer_class(width, height, self._pswriter, imagedpi=dpi) renderer = MixedModeRenderer(self.figure, width, height, dpi, ps_renderer, - bbox_inches_restore=_bbox_inches_restore) + bbox_inches_restore=bbox_inches_restore) self.figure.draw(renderer) diff --git a/lib/matplotlib/backends/backend_svg.py b/lib/matplotlib/backends/backend_svg.py index 7aa0b39e309b..3c8326905486 100644 --- a/lib/matplotlib/backends/backend_svg.py +++ b/lib/matplotlib/backends/backend_svg.py @@ -1215,17 +1215,16 @@ def print_svgz(self, filename, *args, **kwargs): gzip.GzipFile(mode='w', fileobj=fh) as gzipwriter: return self.print_svg(gzipwriter) - def _print_svg(self, filename, fh, **kwargs): - image_dpi = kwargs.pop("dpi", 72) + def _print_svg( + self, filename, fh, *, dpi=72, bbox_inches_restore=None, **kwargs): self.figure.set_dpi(72.0) width, height = self.figure.get_size_inches() w, h = width * 72, height * 72 - _bbox_inches_restore = kwargs.pop("bbox_inches_restore", None) renderer = MixedModeRenderer( - self.figure, width, height, image_dpi, - RendererSVG(w, h, fh, filename, image_dpi), - bbox_inches_restore=_bbox_inches_restore) + self.figure, width, height, dpi, + RendererSVG(w, h, fh, filename, dpi), + bbox_inches_restore=bbox_inches_restore) self.figure.draw(renderer) renderer.finalize() diff --git a/lib/matplotlib/backends/backend_template.py b/lib/matplotlib/backends/backend_template.py index af5637efc37f..384a69850230 100644 --- a/lib/matplotlib/backends/backend_template.py +++ b/lib/matplotlib/backends/backend_template.py @@ -185,7 +185,7 @@ def show(block=None): pass -def new_figure_manager(num, *args, **kwargs): +def new_figure_manager(num, *args, FigureClass=Figure, **kwargs): """ Create a new figure manager instance """ @@ -195,7 +195,6 @@ def new_figure_manager(num, *args, **kwargs): # backend_wx, backend_wxagg and backend_tkagg for examples. Not all GUIs # require explicit instantiation of a main-level app (egg backend_gtk, # backend_gtkagg) for pylab. - FigureClass = kwargs.pop('FigureClass', Figure) thisFig = FigureClass(*args, **kwargs) return new_figure_manager_given_figure(num, thisFig) diff --git a/lib/matplotlib/backends/backend_webagg.py b/lib/matplotlib/backends/backend_webagg.py index 4891047a35c1..18a995b97619 100644 --- a/lib/matplotlib/backends/backend_webagg.py +++ b/lib/matplotlib/backends/backend_webagg.py @@ -68,10 +68,9 @@ def get(self): self.write(image_path.read_bytes()) class SingleFigurePage(tornado.web.RequestHandler): - def __init__(self, application, request, **kwargs): - self.url_prefix = kwargs.pop('url_prefix', '') - tornado.web.RequestHandler.__init__(self, application, - request, **kwargs) + def __init__(self, application, request, *, url_prefix='', **kwargs): + self.url_prefix = url_prefix + super().__init__(application, request, **kwargs) def get(self, fignum): fignum = int(fignum) @@ -88,10 +87,9 @@ def get(self, fignum): canvas=manager.canvas) class AllFiguresPage(tornado.web.RequestHandler): - def __init__(self, application, request, **kwargs): - self.url_prefix = kwargs.pop('url_prefix', '') - tornado.web.RequestHandler.__init__(self, application, - request, **kwargs) + def __init__(self, application, request, *, url_prefix='', **kwargs): + self.url_prefix = url_prefix + super().__init__(application, request, **kwargs) def get(self): ws_uri = 'ws://{req.host}{prefix}/'.format(req=self.request, diff --git a/lib/matplotlib/contour.py b/lib/matplotlib/contour.py index 6e473671419e..39b5775ee2f9 100644 --- a/lib/matplotlib/contour.py +++ b/lib/matplotlib/contour.py @@ -12,7 +12,7 @@ import matplotlib.path as mpath import matplotlib.ticker as ticker import matplotlib.cm as cm -import matplotlib.colors as colors +import matplotlib.colors as mcolors import matplotlib.collections as mcoll import matplotlib.font_manager as font_manager import matplotlib.text as text @@ -51,7 +51,10 @@ def get_rotation(self): class ContourLabeler(object): """Mixin to provide labelling capability to ContourSet""" - def clabel(self, *args, **kwargs): + def clabel(self, *args, + fontsize=None, inline=True, inline_spacing=5, fmt='%1.3f', + colors=None, use_clabeltext=False, manual=False, + rightside_up=True): """ Label a contour plot. @@ -153,18 +156,12 @@ def clabel(self, *args, **kwargs): `BlockingContourLabeler` (case of manual label placement). """ - fontsize = kwargs.get('fontsize', None) - inline = kwargs.get('inline', 1) - inline_spacing = kwargs.get('inline_spacing', 5) - self.labelFmt = kwargs.get('fmt', '%1.3f') - _colors = kwargs.get('colors', None) + self.labelFmt = fmt + self._use_clabeltext = use_clabeltext + # Detect if manual selection is desired and remove from argument list. + self.labelManual = manual + self.rightside_up = rightside_up - self._use_clabeltext = kwargs.get('use_clabeltext', False) - - # Detect if manual selection is desired and remove from argument list - self.labelManual = kwargs.get('manual', False) - - self.rightside_up = kwargs.get('rightside_up', True) if len(args) == 0: levels = self.levels indices = list(range(len(self.cvalues))) @@ -188,14 +185,14 @@ def clabel(self, *args, **kwargs): font_size_pts = self.labelFontProps.get_size_in_points() self.labelFontSizeList = [font_size_pts] * len(levels) - if _colors is None: + if colors is None: self.labelMappable = self self.labelCValueList = np.take(self.cvalues, self.labelIndiceList) else: - cmap = colors.ListedColormap(_colors, N=len(self.labelLevelList)) + cmap = mcolors.ListedColormap(colors, N=len(self.labelLevelList)) self.labelCValueList = list(range(len(self.labelLevelList))) self.labelMappable = cm.ScalarMappable(cmap=cmap, - norm=colors.NoNorm()) + norm=mcolors.NoNorm()) self.labelXYs = [] @@ -822,11 +819,11 @@ def __init__(self, ax, *args, **kwargs): self.nchunk = kwargs.pop('nchunk', 0) self.locator = kwargs.pop('locator', None) - if (isinstance(norm, colors.LogNorm) + if (isinstance(norm, mcolors.LogNorm) or isinstance(self.locator, ticker.LogLocator)): self.logscale = True if norm is None: - norm = colors.LogNorm() + norm = mcolors.LogNorm() else: self.logscale = False @@ -867,7 +864,7 @@ def __init__(self, ax, *args, **kwargs): if extend_min: i0 = 1 - cmap = colors.ListedColormap(self.colors[i0:None], N=ncolors) + cmap = mcolors.ListedColormap(self.colors[i0:None], N=ncolors) if use_set_under_over: if extend_min: @@ -1249,7 +1246,7 @@ def _process_colors(self): if self.extend in ('both', 'max'): i1 += 1 self.cvalues = list(range(i0, i1)) - self.set_norm(colors.NoNorm()) + self.set_norm(mcolors.NoNorm()) else: self.cvalues = self.layers self.set_array(self.levels) diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index 9e6980b007e6..fd209d0c5ad0 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -677,7 +677,7 @@ def get_window_extent(self, *args, **kwargs): """ return self.bbox - def suptitle(self, t, **kwargs): + def suptitle(self, t, *, x=.5, y=.98, **kwargs): """ Add a centered title to the figure. @@ -731,9 +731,6 @@ def suptitle(self, t, **kwargs): >>> fig.suptitle('This is the figure title', fontsize=12) """ - x = kwargs.pop('x', 0.5) - y = kwargs.pop('y', 0.98) - if ('horizontalalignment' not in kwargs) and ('ha' not in kwargs): kwargs['horizontalalignment'] = 'center' if ('verticalalignment' not in kwargs) and ('va' not in kwargs): diff --git a/lib/matplotlib/image.py b/lib/matplotlib/image.py index 81357ecb2cc4..eb20bc2b6361 100644 --- a/lib/matplotlib/image.py +++ b/lib/matplotlib/image.py @@ -887,15 +887,14 @@ def get_cursor_data(self, event): class NonUniformImage(AxesImage): - def __init__(self, ax, **kwargs): + def __init__(self, ax, *, interpolation='nearest', **kwargs): """ kwargs are identical to those for AxesImage, except that 'nearest' and 'bilinear' are the only supported 'interpolation' options. """ - interp = kwargs.pop('interpolation', 'nearest') super().__init__(ax, **kwargs) - self.set_interpolation(interp) + self.set_interpolation(interpolation) def _check_unsampled_image(self, renderer): """ diff --git a/lib/matplotlib/legend.py b/lib/matplotlib/legend.py index 39ffbcc737ba..c345a31f1940 100644 --- a/lib/matplotlib/legend.py +++ b/lib/matplotlib/legend.py @@ -1174,7 +1174,7 @@ def _get_legend_handles_labels(axs, legend_handler_map=None): return handles, labels -def _parse_legend_args(axs, *args, **kwargs): +def _parse_legend_args(axs, *args, handles=None, labels=None, **kwargs): """ Get the handles and labels from the calls to either ``figure.legend`` or ``axes.legend``. @@ -1184,17 +1184,11 @@ def _parse_legend_args(axs, *args, **kwargs): log = logging.getLogger(__name__) handlers = kwargs.get('handler_map', {}) or {} - - # Support handles and labels being passed as keywords. - handles = kwargs.pop('handles', None) - labels = kwargs.pop('labels', None) - extra_args = () - if (handles is not None or labels is not None) and len(args): - warnings.warn("You have mixed positional and keyword " - "arguments, some input may be " - "discarded.") + if (handles is not None or labels is not None) and args: + warnings.warn("You have mixed positional and keyword arguments, some " + "input may be discarded.") # if got both handles and labels as kwargs, make same length if handles and labels: diff --git a/lib/matplotlib/projections/__init__.py b/lib/matplotlib/projections/__init__.py index 3da609b8051d..2b63bca083ca 100644 --- a/lib/matplotlib/projections/__init__.py +++ b/lib/matplotlib/projections/__init__.py @@ -1,8 +1,9 @@ +from .. import axes from .geo import AitoffAxes, HammerAxes, LambertAxes, MollweideAxes from .polar import PolarAxes -from matplotlib import axes -class ProjectionRegistry(object): + +class ProjectionRegistry: """ Manages the set of projections available to the system. """ @@ -11,7 +12,7 @@ def __init__(self): def register(self, *projections): """ - Register a new set of projection(s). + Register a new set of projections. """ for projection in projections: name = projection.name @@ -25,12 +26,12 @@ def get_projection_class(self, name): def get_projection_names(self): """ - Get a list of the names of all projections currently - registered. + Get a list of the names of all projections currently registered. """ return sorted(self._all_projection_types) -projection_registry = ProjectionRegistry() + +projection_registry = ProjectionRegistry() projection_registry.register( axes.Axes, PolarAxes, @@ -48,8 +49,7 @@ def get_projection_class(projection=None): """ Get a projection class from its name. - If *projection* is None, a standard rectilinear projection is - returned. + If *projection* is None, a standard rectilinear projection is returned. """ if projection is None: projection = 'rectilinear' @@ -57,10 +57,11 @@ def get_projection_class(projection=None): try: return projection_registry.get_projection_class(projection) except KeyError: - raise ValueError("Unknown projection '%s'" % projection) + raise ValueError("Unknown projection %r" % projection) -def process_projection_requirements(figure, *args, **kwargs): +def process_projection_requirements( + figure, *args, polar=False, projection=None, **kwargs): """ Handle the args/kwargs to add_axes/add_subplot/gca, returning:: @@ -68,9 +69,7 @@ def process_projection_requirements(figure, *args, **kwargs): which can be used for new axes initialization/identification. """ - ispolar = kwargs.pop('polar', False) - projection = kwargs.pop('projection', None) - if ispolar: + if polar: if projection is not None and projection != 'polar': raise ValueError( "polar=True, yet projection=%r. " diff --git a/lib/matplotlib/projections/geo.py b/lib/matplotlib/projections/geo.py index 842c047459a8..f82bed8b2244 100644 --- a/lib/matplotlib/projections/geo.py +++ b/lib/matplotlib/projections/geo.py @@ -518,10 +518,10 @@ def inverted(self): self._resolution) inverted.__doc__ = Transform.inverted.__doc__ - def __init__(self, *args, **kwargs): - self._longitude_cap = np.pi / 2.0 - self._center_longitude = kwargs.pop("center_longitude", 0.0) - self._center_latitude = kwargs.pop("center_latitude", 0.0) + def __init__(self, *args, center_longitude=0, center_latitude=0, **kwargs): + self._longitude_cap = np.pi / 2 + self._center_longitude = center_longitude + self._center_latitude = center_latitude GeoAxes.__init__(self, *args, **kwargs) self.set_aspect('equal', adjustable='box', anchor='C') self.cla() diff --git a/lib/matplotlib/projections/polar.py b/lib/matplotlib/projections/polar.py index fb139ff01cb3..015d4ea382ae 100644 --- a/lib/matplotlib/projections/polar.py +++ b/lib/matplotlib/projections/polar.py @@ -838,16 +838,17 @@ class PolarAxes(Axes): """ name = 'polar' - def __init__(self, *args, **kwargs): + def __init__(self, *args, + theta_offset=0, theta_direction=1, rlabel_position=22.5, + **kwargs): """ Create a new Polar Axes for a polar plot. """ - self._default_theta_offset = kwargs.pop('theta_offset', 0) - self._default_theta_direction = kwargs.pop('theta_direction', 1) - self._default_rlabel_position = np.deg2rad( - kwargs.pop('rlabel_position', 22.5)) + self._default_theta_offset = theta_offset + self._default_theta_direction = theta_direction + self._default_rlabel_position = np.deg2rad(rlabel_position) - Axes.__init__(self, *args, **kwargs) + super().__init__(*args, **kwargs) self.use_sticky_edges = True self.set_aspect('equal', adjustable='box', anchor='C') self.cla() diff --git a/lib/matplotlib/table.py b/lib/matplotlib/table.py index 86a874a2d6cf..abd398357ea8 100644 --- a/lib/matplotlib/table.py +++ b/lib/matplotlib/table.py @@ -146,7 +146,6 @@ def set_text_props(self, **kwargs): class CustomCell(Cell): """ A subclass of Cell where the sides may be visibly toggled. - """ _edges = 'BRTL' @@ -156,9 +155,8 @@ class CustomCell(Cell): 'vertical': 'RL' } - def __init__(self, *args, **kwargs): - visible_edges = kwargs.pop('visible_edges') - Cell.__init__(self, *args, **kwargs) + def __init__(self, *args, visible_edges, **kwargs): + super().__init__(*args, **kwargs) self.visible_edges = visible_edges @property diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py index 229ce192cc75..be055ae43f78 100644 --- a/lib/matplotlib/tests/test_figure.py +++ b/lib/matplotlib/tests/test_figure.py @@ -215,7 +215,7 @@ def test_iterability_axes_argument(): # This is a regression test for matplotlib/matplotlib#3196. If one of the # arguments returned by _as_mpl_axes defines __getitem__ but is not - # iterable, this would raise an execption. This is because we check + # iterable, this would raise an exception. This is because we check # whether the arguments are iterable, and if so we try and convert them # to a tuple. However, the ``iterable`` function returns True if # __getitem__ is present, but some classes can define __getitem__ without @@ -223,8 +223,7 @@ def test_iterability_axes_argument(): # case it fails. class MyAxes(Axes): - def __init__(self, *args, **kwargs): - kwargs.pop('myclass', None) + def __init__(self, *args, myclass=None, **kwargs): return Axes.__init__(self, *args, **kwargs) class MyClass(object): diff --git a/lib/mpl_toolkits/axes_grid/axes_grid.py b/lib/mpl_toolkits/axes_grid/axes_grid.py index b9093f0d8c30..49a77a1fb2e9 100644 --- a/lib/mpl_toolkits/axes_grid/axes_grid.py +++ b/lib/mpl_toolkits/axes_grid/axes_grid.py @@ -1,19 +1,13 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import mpl_toolkits.axes_grid1.axes_grid as axes_grid_orig from .axes_divider import LocatableAxes + class CbarAxes(axes_grid_orig.CbarAxesBase, LocatableAxes): - def __init__(self, *kl, **kwargs): - orientation=kwargs.pop("orientation", None) - if orientation is None: - raise ValueError("orientation must be specified") + def __init__(self, *args, orientation, **kwargs): self.orientation = orientation self._default_label_on = False self.locator = None - - super().__init__(*kl, **kwargs) + super().__init__(*args, **kwargs) def cla(self): super().cla() @@ -23,8 +17,10 @@ def cla(self): class Grid(axes_grid_orig.Grid): _defaultLocatableAxesClass = LocatableAxes + class ImageGrid(axes_grid_orig.ImageGrid): _defaultLocatableAxesClass = LocatableAxes _defaultCbarAxesClass = CbarAxes + AxesGrid = ImageGrid diff --git a/lib/mpl_toolkits/axes_grid1/axes_divider.py b/lib/mpl_toolkits/axes_grid1/axes_divider.py index b238e73cc5ec..62050e5b4b5f 100644 --- a/lib/mpl_toolkits/axes_grid1/axes_divider.py +++ b/lib/mpl_toolkits/axes_grid1/axes_divider.py @@ -521,21 +521,15 @@ def __init__(self, axes, xref=None, yref=None): horizontal=[self._xref], vertical=[self._yref], aspect=None, anchor="C") - def _get_new_axes(self, **kwargs): + def _get_new_axes(self, *, axes_class=None, **kwargs): axes = self._axes - - axes_class = kwargs.pop("axes_class", None) - if axes_class is None: if isinstance(axes, SubplotBase): axes_class = axes._axes_class else: axes_class = type(axes) - - ax = axes_class(axes.get_figure(), - axes.get_position(original=True), **kwargs) - - return ax + return axes_class(axes.get_figure(), axes.get_position(original=True), + **kwargs) def new_horizontal(self, size, pad=None, pack_start=False, **kwargs): """ diff --git a/lib/mpl_toolkits/axes_grid1/axes_grid.py b/lib/mpl_toolkits/axes_grid1/axes_grid.py index c19e9cedd0cc..c31a9471dc49 100644 --- a/lib/mpl_toolkits/axes_grid1/axes_grid.py +++ b/lib/mpl_toolkits/axes_grid1/axes_grid.py @@ -34,8 +34,7 @@ def _tick_only(ax, bottom_on, left_on): class CbarAxesBase(object): - def colorbar(self, mappable, **kwargs): - locator = kwargs.pop("locator", None) + def colorbar(self, mappable, *, locator=None, **kwargs): if locator is None: if "ticks" not in kwargs: @@ -107,15 +106,11 @@ def toggle_label(self, b): class CbarAxes(CbarAxesBase, LocatableAxes): - def __init__(self, *kl, **kwargs): - orientation = kwargs.pop("orientation", None) - if orientation is None: - raise ValueError("orientation must be specified") + def __init__(self, *args, orientation, **kwargs): self.orientation = orientation self._default_label_on = True self.locator = None - - super().__init__(*kl, **kwargs) + super().__init__(*args, **kwargs) def cla(self): super().cla() diff --git a/lib/mpl_toolkits/axes_grid1/axes_rgb.py b/lib/mpl_toolkits/axes_grid1/axes_rgb.py index e62d4f061544..6eb96bb79ee4 100644 --- a/lib/mpl_toolkits/axes_grid1/axes_rgb.py +++ b/lib/mpl_toolkits/axes_grid1/axes_rgb.py @@ -99,7 +99,7 @@ class RGBAxesBase(object): B : _defaultAxesClass The axes object for the blue channel imshow """ - def __init__(self, *kl, **kwargs): + def __init__(self, *args, pad=0, add_all=True, **kwargs): """ Parameters ---------- @@ -116,8 +116,6 @@ def __init__(self, *kl, **kwargs): kwargs : Unpacked into axes_class() init for RGB, R, G, B axes """ - pad = kwargs.pop("pad", 0.0) - add_all = kwargs.pop("add_all", True) try: axes_class = kwargs.pop("axes_class", self._defaultAxesClass) except AttributeError: @@ -128,7 +126,7 @@ def __init__(self, *kl, **kwargs): six.reraise(AttributeError, AttributeError(new_msg), sys.exc_info()[2]) - ax = axes_class(*kl, **kwargs) + ax = axes_class(*args, **kwargs) divider = make_axes_locatable(ax) diff --git a/lib/mpl_toolkits/axes_grid1/parasite_axes.py b/lib/mpl_toolkits/axes_grid1/parasite_axes.py index a543a012c915..c6fe7e57e18d 100644 --- a/lib/mpl_toolkits/axes_grid1/parasite_axes.py +++ b/lib/mpl_toolkits/axes_grid1/parasite_axes.py @@ -425,7 +425,7 @@ def host_subplot_class_factory(axes_class): SubplotHost = subplot_class_factory(HostAxes) -def host_axes(*args, **kwargs): +def host_axes(*args, axes_class=None, figure=None, **kwargs): """ Create axes that can act as a hosts to parasitic axes. @@ -439,17 +439,15 @@ def host_axes(*args, **kwargs): Will be passed on to the underlying ``Axes`` object creation. """ import matplotlib.pyplot as plt - axes_class = kwargs.pop("axes_class", None) host_axes_class = host_axes_class_factory(axes_class) - fig = kwargs.get("figure", None) - if fig is None: - fig = plt.gcf() - ax = host_axes_class(fig, *args, **kwargs) - fig.add_axes(ax) + if figure is None: + figure = plt.gcf() + ax = host_axes_class(figure, *args, **kwargs) + figure.add_axes(ax) plt.draw_if_interactive() return ax -def host_subplot(*args, **kwargs): +def host_subplot(*args, axes_class=None, figure=None, **kwargs): """ Create a subplot that can act as a host to parasitic axes. @@ -463,12 +461,10 @@ def host_subplot(*args, **kwargs): Will be passed on to the underlying ``Axes`` object creation. """ import matplotlib.pyplot as plt - axes_class = kwargs.pop("axes_class", None) host_subplot_class = host_subplot_class_factory(axes_class) - fig = kwargs.get("figure", None) - if fig is None: - fig = plt.gcf() - ax = host_subplot_class(fig, *args, **kwargs) - fig.add_subplot(ax) + if figure is None: + figure = plt.gcf() + ax = host_subplot_class(figure, *args, **kwargs) + figure.add_subplot(ax) plt.draw_if_interactive() return ax diff --git a/lib/mpl_toolkits/axisartist/axes_grid.py b/lib/mpl_toolkits/axisartist/axes_grid.py index b9093f0d8c30..49a77a1fb2e9 100644 --- a/lib/mpl_toolkits/axisartist/axes_grid.py +++ b/lib/mpl_toolkits/axisartist/axes_grid.py @@ -1,19 +1,13 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import mpl_toolkits.axes_grid1.axes_grid as axes_grid_orig from .axes_divider import LocatableAxes + class CbarAxes(axes_grid_orig.CbarAxesBase, LocatableAxes): - def __init__(self, *kl, **kwargs): - orientation=kwargs.pop("orientation", None) - if orientation is None: - raise ValueError("orientation must be specified") + def __init__(self, *args, orientation, **kwargs): self.orientation = orientation self._default_label_on = False self.locator = None - - super().__init__(*kl, **kwargs) + super().__init__(*args, **kwargs) def cla(self): super().cla() @@ -23,8 +17,10 @@ def cla(self): class Grid(axes_grid_orig.Grid): _defaultLocatableAxesClass = LocatableAxes + class ImageGrid(axes_grid_orig.ImageGrid): _defaultLocatableAxesClass = LocatableAxes _defaultCbarAxesClass = CbarAxes + AxesGrid = ImageGrid diff --git a/lib/mpl_toolkits/axisartist/axis_artist.py b/lib/mpl_toolkits/axisartist/axis_artist.py index 4d95bc5a31ed..a7a0d7889f50 100644 --- a/lib/mpl_toolkits/axisartist/axis_artist.py +++ b/lib/mpl_toolkits/axisartist/axis_artist.py @@ -212,13 +212,13 @@ class Ticks(Line2D, AttributeCopier): set_tick_out(False). """ - def __init__(self, ticksize, tick_out=False, **kwargs): + def __init__(self, ticksize, tick_out=False, *, axis=None, **kwargs): self._ticksize = ticksize self.locs_angles_labels = [] self.set_tick_out(tick_out) - self._axis = kwargs.pop("axis", None) + self._axis = axis if self._axis is not None: if "color" not in kwargs: kwargs["color"] = "auto" @@ -455,11 +455,10 @@ class AxisLabel(LabelBase, AttributeCopier): To change the pad between ticklabels and axis label, use set_pad. """ - def __init__(self, *kl, **kwargs): + def __init__(self, *args, axis_direction="bottom", axis=None, **kwargs): - axis_direction = kwargs.pop("axis_direction", "bottom") - self._axis = kwargs.pop("axis", None) - LabelBase.__init__(self, *kl, **kwargs) + self._axis = axis + LabelBase.__init__(self, *args, **kwargs) AttributeCopier.__init__(self, self._axis, klass=LabelBase) self.set_axis_direction(axis_direction) @@ -600,16 +599,13 @@ class TickLabels(AxisLabel, AttributeCopier): # mtext.Text To change the pad between ticks and ticklabels, use set_pad. """ - def __init__(self, **kwargs): - - axis_direction = kwargs.pop("axis_direction", "bottom") + def __init__(self, *, axis_direction="bottom", **kwargs): AxisLabel.__init__(self, **kwargs) self.set_axis_direction(axis_direction) #self._axis_direction = axis_direction self._axislabel_pad = 0 #self._extra_pad = 0 - # attribute copier def get_ref_artist(self): return self._axis.get_ticklabels()[0] @@ -802,14 +798,14 @@ def get_texts_widths_heights_descents(self, renderer): class GridlinesCollection(LineCollection): - def __init__(self, *kl, **kwargs): + def __init__(self, *args, which="major", axis="both", **kwargs): """ *which* : "major" or "minor" *axis* : "both", "x" or "y" """ - self._which = kwargs.pop("which", "major") - self._axis = kwargs.pop("axis", "both") - super().__init__(*kl, **kwargs) + self._which = which + self._axis = axis + super().__init__(*args, **kwargs) self.set_grid_helper(None) def set_which(self, which): diff --git a/lib/mpl_toolkits/axisartist/axislines.py b/lib/mpl_toolkits/axisartist/axislines.py index c97119399a01..f1a6e0ea36f0 100644 --- a/lib/mpl_toolkits/axisartist/axislines.py +++ b/lib/mpl_toolkits/axisartist/axislines.py @@ -521,19 +521,18 @@ def __init__(self, axes): def __getitem__(self, k): if isinstance(k, tuple): - r = SimpleChainedObjects([dict.__getitem__(self, k1) for k1 in k]) - return r + return SimpleChainedObjects( + [dict.__getitem__(self, k1) for k1 in k]) elif isinstance(k, slice): - if k.start == None and k.stop == None and k.step == None: - r = SimpleChainedObjects(list(six.itervalues(self))) - return r + if k == slice(None): + return SimpleChainedObjects(list(six.itervalues(self))) else: raise ValueError("Unsupported slice") else: return dict.__getitem__(self, k) - def __call__(self, *v, **kwargs): - return maxes.Axes.axis(self.axes, *v, **kwargs) + def __call__(self, *args, **kwargs): + return maxes.Axes.axis(self.axes, *args, **kwargs) def __init__(self, *args, grid_helper=None, **kwargs): self._axisline_on = True @@ -558,9 +557,6 @@ def toggle_axisline(self, b=None): self.xaxis.set_visible(True) self.yaxis.set_visible(True) - def _init_axis(self): - super()._init_axis() - def _init_axis_artists(self, axes=None): if axes is None: axes = self diff --git a/lib/mpl_toolkits/mplot3d/art3d.py b/lib/mpl_toolkits/mplot3d/art3d.py index 5fc62ad89beb..0d0ff2e9aecc 100644 --- a/lib/mpl_toolkits/mplot3d/art3d.py +++ b/lib/mpl_toolkits/mplot3d/art3d.py @@ -364,7 +364,7 @@ class Patch3DCollection(PatchCollection): A collection of 3D patches. """ - def __init__(self, *args, **kwargs): + def __init__(self, *args, zs=0, zdir='z', depthshade=True, **kwargs): """ Create a collection of flat 3D patches with its normal vector pointed in *zdir* direction, and located at *zs* on the *zdir* @@ -380,10 +380,8 @@ def __init__(self, *args, **kwargs): give the appearance of depth (default is *True*). This is typically desired in scatter plots. """ - zs = kwargs.pop('zs', 0) - zdir = kwargs.pop('zdir', 'z') - self._depthshade = kwargs.pop('depthshade', True) - PatchCollection.__init__(self, *args, **kwargs) + self._depthshade = depthshade + super().__init__(*args, **kwargs) self.set_3d_properties(zs, zdir) def set_sort_zpos(self, val): @@ -432,7 +430,7 @@ class Path3DCollection(PathCollection): A collection of 3D paths. """ - def __init__(self, *args, **kwargs): + def __init__(self, *args, zs=0, zdir='z', depthshade=True, **kwargs): """ Create a collection of flat 3D paths with its normal vector pointed in *zdir* direction, and located at *zs* on the *zdir* @@ -448,10 +446,8 @@ def __init__(self, *args, **kwargs): give the appearance of depth (default is *True*). This is typically desired in scatter plots. """ - zs = kwargs.pop('zs', 0) - zdir = kwargs.pop('zdir', 'z') - self._depthshade = kwargs.pop('depthshade', True) - PathCollection.__init__(self, *args, **kwargs) + self._depthshade = depthshade + super().__init__(*args, **kwargs) self.set_3d_properties(zs, zdir) def set_sort_zpos(self, val): @@ -526,7 +522,7 @@ class Poly3DCollection(PolyCollection): A collection of 3D polygons. """ - def __init__(self, verts, *args, **kwargs): + def __init__(self, verts, *args, zsort=True, **kwargs): """ Create a Poly3DCollection. @@ -538,8 +534,7 @@ def __init__(self, verts, *args, **kwargs): Note that this class does a bit of magic with the _facecolors and _edgecolors properties. """ - zsort = kwargs.pop('zsort', True) - PolyCollection.__init__(self, verts, *args, **kwargs) + super().__init__(verts, *args, **kwargs) self.set_zsort(zsort) self._codes3d = None diff --git a/lib/mpl_toolkits/mplot3d/axes3d.py b/lib/mpl_toolkits/mplot3d/axes3d.py index 1bd3cf7c0a25..df62cb6464e7 100644 --- a/lib/mpl_toolkits/mplot3d/axes3d.py +++ b/lib/mpl_toolkits/mplot3d/axes3d.py @@ -51,7 +51,10 @@ class Axes3D(Axes): name = '3d' _shared_z_axes = cbook.Grouper() - def __init__(self, fig, rect=None, *args, **kwargs): + def __init__( + self, fig, rect=None, *args, + azim=-60, elev=30, zscale=None, sharez=None, proj_type='persp', + **kwargs): ''' Build an :class:`Axes3D` instance in :class:`~matplotlib.figure.Figure` *fig* with @@ -79,11 +82,9 @@ def __init__(self, fig, rect=None, *args, **kwargs): rect = [0.0, 0.0, 1.0, 1.0] self._cids = [] - self.initial_azim = kwargs.pop('azim', -60) - self.initial_elev = kwargs.pop('elev', 30) - zscale = kwargs.pop('zscale', None) - sharez = kwargs.pop('sharez', None) - self.set_proj_type(kwargs.pop('proj_type', 'persp')) + self.initial_azim = azim + self.initial_elev = elev + self.set_proj_type(proj_type) self.xy_viewLim = unit_bbox() self.zz_viewLim = unit_bbox() @@ -1329,7 +1330,8 @@ def grid(self, b=True, **kwargs): self._draw_grid = cbook._string_to_bool(b) self.stale = True - def ticklabel_format(self, **kwargs): + def ticklabel_format( + self, *, style='', scilimits=None, useOffset=None, axis='both'): """ Convenience method for manipulating the ScalarFormatter used by default for linear axes in Axed3D objects. @@ -1343,10 +1345,8 @@ def ticklabel_format(self, **kwargs): .. versionadded :: 1.1.0 This function was added, but not tested. Please report any bugs. """ - style = kwargs.pop('style', '').lower() - scilimits = kwargs.pop('scilimits', None) - useOffset = kwargs.pop('useOffset', None) - axis = kwargs.pop('axis', 'both').lower() + style = style.lower() + axis = axis.lower() if scilimits is not None: try: m, n = scilimits @@ -2096,7 +2096,8 @@ def add_contourf_set(self, cset, zdir='z', offset=None): art3d.poly_collection_2d_to_3d(linec, z, zdir=zdir) linec.set_sort_zpos(z) - def contour(self, X, Y, Z, *args, **kwargs): + def contour(self, X, Y, Z, *args, + extend3d=False, stride=5, zdir='z', offset=None, **kwargs): ''' Create a 3D contour plot. @@ -2118,11 +2119,6 @@ def contour(self, X, Y, Z, *args, **kwargs): Returns a :class:`~matplotlib.axes.Axes.contour` ''' - extend3d = kwargs.pop('extend3d', False) - stride = kwargs.pop('stride', 5) - zdir = kwargs.pop('zdir', 'z') - offset = kwargs.pop('offset', None) - had_data = self.has_data() jX, jY, jZ = art3d.rotate_axes(X, Y, Z, zdir) @@ -2134,7 +2130,8 @@ def contour(self, X, Y, Z, *args, **kwargs): contour3D = contour - def tricontour(self, *args, **kwargs): + def tricontour(self, *args, + extend3d=False, stride=5, zdir='z', offset=None, **kwargs): """ Create a 3D contour plot. @@ -2162,11 +2159,6 @@ def tricontour(self, *args, **kwargs): longstanding bug in 3D PolyCollection rendering. """ - extend3d = kwargs.pop('extend3d', False) - stride = kwargs.pop('stride', 5) - zdir = kwargs.pop('zdir', 'z') - offset = kwargs.pop('offset', None) - had_data = self.has_data() tri, args, kwargs = Triangulation.get_from_args_and_kwargs( @@ -2189,7 +2181,7 @@ def tricontour(self, *args, **kwargs): self.auto_scale_xyz(X, Y, Z, had_data) return cset - def contourf(self, X, Y, Z, *args, **kwargs): + def contourf(self, X, Y, Z, *args, zdir='z', offset=None, **kwargs): ''' Create a 3D contourf plot. @@ -2212,9 +2204,6 @@ def contourf(self, X, Y, Z, *args, **kwargs): The *zdir* and *offset* kwargs were added. ''' - zdir = kwargs.pop('zdir', 'z') - offset = kwargs.pop('offset', None) - had_data = self.has_data() jX, jY, jZ = art3d.rotate_axes(X, Y, Z, zdir) @@ -2226,7 +2215,7 @@ def contourf(self, X, Y, Z, *args, **kwargs): contourf3D = contourf - def tricontourf(self, *args, **kwargs): + def tricontourf(self, *args, zdir='z', offset=None, **kwargs): """ Create a 3D contourf plot. @@ -2251,8 +2240,6 @@ def tricontourf(self, *args, **kwargs): EXPERIMENTAL: This method currently produces incorrect output due to a longstanding bug in 3D PolyCollection rendering. """ - zdir = kwargs.pop('zdir', 'z') - offset = kwargs.pop('offset', None) had_data = self.has_data() @@ -2544,7 +2531,9 @@ def set_title(self, label, fontdict=None, loc='center', **kwargs): return ret set_title.__doc__ = maxes.Axes.set_title.__doc__ - def quiver(self, *args, **kwargs): + def quiver(self, *args, + length=1, arrow_length_ratio=.3, pivot='tail', normalize=False, + **kwargs): """ Plot a 3D field of arrows. @@ -2621,16 +2610,6 @@ def calc_arrow(uvw, angle=15): had_data = self.has_data() - # handle kwargs - # shaft length - length = kwargs.pop('length', 1) - # arrow length ratio to the shaft length - arrow_length_ratio = kwargs.pop('arrow_length_ratio', 0.3) - # pivot point - pivot = kwargs.pop('pivot', 'tail') - # normalize - normalize = kwargs.pop('normalize', False) - # handle args argi = 6 if len(args) < argi: @@ -2719,7 +2698,7 @@ def calc_arrow(uvw, angle=15): quiver3D = quiver - def voxels(self, *args, **kwargs): + def voxels(self, *args, facecolors=None, edgecolors=None, **kwargs): """ ax.voxels([x, y, z,] /, filled, **kwargs) @@ -2825,14 +2804,12 @@ def _broadcast_color_arg(color, name): else: raise ValueError("Invalid {} argument".format(name)) - # intercept the facecolors, handling defaults and broacasting - facecolors = kwargs.pop('facecolors', None) + # broadcast and default on facecolors if facecolors is None: facecolors = self._get_patches_for_fill.get_next_color() facecolors = _broadcast_color_arg(facecolors, 'facecolors') # broadcast but no default on edgecolors - edgecolors = kwargs.pop('edgecolors', None) edgecolors = _broadcast_color_arg(edgecolors, 'edgecolors') # always scale to the full array, even if the data is only in the center diff --git a/lib/mpl_toolkits/mplot3d/axis3d.py b/lib/mpl_toolkits/mplot3d/axis3d.py index 4bfe8facbe46..f01d0a13e62d 100644 --- a/lib/mpl_toolkits/mplot3d/axis3d.py +++ b/lib/mpl_toolkits/mplot3d/axis3d.py @@ -66,7 +66,8 @@ class Axis(maxis.XAxis): 'color': (0.925, 0.925, 0.925, 0.5)}, } - def __init__(self, adir, v_intervalx, d_intervalx, axes, *args, **kwargs): + def __init__(self, adir, v_intervalx, d_intervalx, axes, *args, + rotate_label=None, **kwargs): # adir identifies which axes this is self.adir = adir # data and viewing intervals for this direction @@ -110,7 +111,7 @@ def __init__(self, adir, v_intervalx, d_intervalx, axes, *args, **kwargs): }) maxis.XAxis.__init__(self, axes, *args, **kwargs) - self.set_rotate_label(kwargs.get('rotate_label', None)) + self.set_rotate_label(rotate_label) def init3d(self): self.line = mlines.Line2D( From e16b493352bd3d8ec11dfb4ca6d8d3dc0cd88890 Mon Sep 17 00:00:00 2001 From: Jason Neal <jason.neal@astro.up.pt> Date: Fri, 13 Apr 2018 10:21:00 +0100 Subject: [PATCH 0517/1161] Doc: unreference specific axis in get_ticklabels get_ticklabels is not just for x ticks. --- lib/matplotlib/axis.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/axis.py b/lib/matplotlib/axis.py index b3a7ffcc3ca3..493a33e963c3 100644 --- a/lib/matplotlib/axis.py +++ b/lib/matplotlib/axis.py @@ -1245,7 +1245,7 @@ def get_minorticklabels(self): def get_ticklabels(self, minor=False, which=None): """ - Get the x tick labels as a list of :class:`~matplotlib.text.Text` + Get the tick labels as a list of :class:`~matplotlib.text.Text` instances. Parameters From ea8f80ab9d047d74dcffec88beea78075fb7c58f Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Fri, 13 Apr 2018 09:46:08 -0700 Subject: [PATCH 0518/1161] FIX: image respect norm limits w/ None --- lib/matplotlib/image.py | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/lib/matplotlib/image.py b/lib/matplotlib/image.py index 81357ecb2cc4..b8331fbea9dd 100644 --- a/lib/matplotlib/image.py +++ b/lib/matplotlib/image.py @@ -390,22 +390,24 @@ def _make_image(self, A, in_bbox, out_bbox, clip_bbox, magnification=1.0, # float64's ability to represent changes. Applying # a norm first would be good, but ruins the interpolation # of over numbers. - if self.norm.vmin is not None and self.norm.vmax is not None: - dv = (np.float64(self.norm.vmax) - - np.float64(self.norm.vmin)) - vmid = self.norm.vmin + dv / 2 - newmin = vmid - dv * 1.e7 - if newmin < a_min: - newmin = None - else: - a_min = np.float64(newmin) - newmax = vmid + dv * 1.e7 - if newmax > a_max: - newmax = None - else: - a_max = np.float64(newmax) - if newmax is not None or newmin is not None: - A_scaled = np.clip(A_scaled, newmin, newmax) + vmin = self.norm.vmin if self.norm.vmin is not None else a_min + vmax = self.norm.vmax if self.norm.vmax is not None else a_max + + dv = (np.float64(vmax) - + np.float64(vmin)) + vmid = vmin + dv / 2 + newmin = vmid - dv * 1.e7 + if newmin < a_min: + newmin = None + else: + a_min = np.float64(newmin) + newmax = vmid + dv * 1.e7 + if newmax > a_max: + newmax = None + else: + a_max = np.float64(newmax) + if newmax is not None or newmin is not None: + A_scaled = np.clip(A_scaled, newmin, newmax) A_scaled -= a_min # a_min and a_max might be ndarray subclasses so use From 89c3345f83074e821e5742dcf313f085317cd394 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Fri, 13 Apr 2018 10:35:14 -0700 Subject: [PATCH 0519/1161] FIX: image respect norm limits w/ None --- lib/matplotlib/image.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/lib/matplotlib/image.py b/lib/matplotlib/image.py index b8331fbea9dd..f5869c693243 100644 --- a/lib/matplotlib/image.py +++ b/lib/matplotlib/image.py @@ -390,12 +390,10 @@ def _make_image(self, A, in_bbox, out_bbox, clip_bbox, magnification=1.0, # float64's ability to represent changes. Applying # a norm first would be good, but ruins the interpolation # of over numbers. - vmin = self.norm.vmin if self.norm.vmin is not None else a_min - vmax = self.norm.vmax if self.norm.vmax is not None else a_max - - dv = (np.float64(vmax) - - np.float64(vmin)) - vmid = vmin + dv / 2 + self.norm.autoscale_None(A) + dv = (np.float64(self.norm.vmax) - + np.float64(self.norm.vmin)) + vmid = self.norm.vmin + dv / 2 newmin = vmid - dv * 1.e7 if newmin < a_min: newmin = None From 24f9320d4ddfd9d4ab658ffc982199c6c3ce66e7 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sat, 14 Apr 2018 23:20:08 -0700 Subject: [PATCH 0520/1161] Fix CircleCI build. Looks like release of pip 10 broke the circleci build. Using `python -mpip` instead of `pip` is generally a good thing (tm), and also what we already do for travis. --- .circleci/config.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 6fa03850027f..007878e37c07 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -52,19 +52,19 @@ pip-run: &pip-install # Upgrade pip and setuptools and wheel to get as clean an install as possible name: Upgrade pip, setuptools, wheel command: | - pip install --upgrade --user pip - pip install --upgrade --user wheel - pip install --upgrade --user setuptools + python -mpip install --upgrade --user pip + python -mpip install --upgrade --user wheel + python -mpip install --upgrade --user setuptools deps-run: &deps-install name: Install Python dependencies command: | - pip install --user numpy${NUMPY_VERSION} codecov coverage - pip install --user -r doc-requirements.txt + python -mpip install --user numpy${NUMPY_VERSION} codecov coverage + python -mpip install --user -r doc-requirements.txt mpl-run: &mpl-install name: Install Matplotlib - command: pip install --user -ve . + command: python -mpip install --user -ve . doc-run: &doc-build name: Build documentation From 5c82032bf192d6221af11807d410bfb0982c1305 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sun, 15 Apr 2018 21:46:02 -0700 Subject: [PATCH 0521/1161] Remove setup_tests_only.py. That file was added in 42fa2b6 without comment as to why (and renamed in ab99e65 to avoid confusing pytest); calling `python setup_test_only.py sdist` (which I guess is the only reasonable thing to do with it -- it's distutils so you can't even build a wheel out of it) doesn't create a correct "tests-only" sdist either. --- setup_tests_only.py | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 setup_tests_only.py diff --git a/setup_tests_only.py b/setup_tests_only.py deleted file mode 100644 index 192881f5c629..000000000000 --- a/setup_tests_only.py +++ /dev/null @@ -1,18 +0,0 @@ -from distutils.core import setup - -import os - -baseline_images = [ - 'baseline_images/%s/*' % x - for x in os.listdir('lib/matplotlib/tests/baseline_images')] - -baseline_images += [ - 'mpltest.ttf', - 'test_rcparams.rc' - ] - -setup(name='matplotlib.tests', - packages=['matplotlib.tests'], - package_dir={'matplotlib.tests': 'lib/matplotlib/tests'}, - package_data={'matplotlib.tests': baseline_images} -) From 82e09cee1368d510bdc291537df84c5369726f11 Mon Sep 17 00:00:00 2001 From: Elijah Schutz <elijah@jschutz.net> Date: Mon, 16 Apr 2018 19:46:50 +0930 Subject: [PATCH 0522/1161] Added get/set_center to Ellipse --- lib/matplotlib/patches.py | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index 0b2340da8ad9..020797c27985 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -1414,7 +1414,7 @@ class Ellipse(Patch): A scale-free ellipse. """ def __str__(self): - pars = (self.center[0], self.center[1], + pars = (self.xy[0], self.xy[1], self.width, self.height, self.angle) fmt = "Ellipse(xy=(%s, %s), width=%s, height=%s, angle=%s)" return fmt % pars @@ -1439,7 +1439,7 @@ def __init__(self, xy, width, height, angle=0.0, **kwargs): """ Patch.__init__(self, **kwargs) - self.center = xy + self.xy = xy self.width, self.height = width, height self.angle = angle self._path = Path.unit_circle() @@ -1452,8 +1452,8 @@ def _recompute_transform(self): makes it very important to call the accessor method and not directly access the transformation member variable. """ - center = (self.convert_xunits(self.center[0]), - self.convert_yunits(self.center[1])) + center = (self.convert_xunits(self.xy[0]), + self.convert_yunits(self.xy[1])) width = self.convert_xunits(self.width) height = self.convert_yunits(self.height) self._patch_transform = transforms.Affine2D() \ @@ -1471,6 +1471,23 @@ def get_patch_transform(self): self._recompute_transform() return self._patch_transform + def set_center(self, xy): + """ + Set the center of the ellipse + + ACCEPTS: (x, y) + """ + self.xy = xy + self.stale = True + + def get_center(self): + """ + Return the center of the ellipse + """ + return self.xy + + center = property(get_center, set_center) + class Circle(Ellipse): """ @@ -1506,7 +1523,9 @@ def set_radius(self, radius): self.stale = True def get_radius(self): - 'return the radius of the circle' + """ + Return the radius of the circle + """ return self.width / 2. radius = property(get_radius, set_radius) From 134a0b65d273fcd5750908c257b494e048a00405 Mon Sep 17 00:00:00 2001 From: Elijah Schutz <elijah@jschutz.net> Date: Mon, 16 Apr 2018 23:04:54 +0930 Subject: [PATCH 0523/1161] Changed Ellipse.xy to _center --- lib/matplotlib/patches.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index 020797c27985..2e351faca95b 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -1414,7 +1414,7 @@ class Ellipse(Patch): A scale-free ellipse. """ def __str__(self): - pars = (self.xy[0], self.xy[1], + pars = (self._center[0], self._center[1], self.width, self.height, self.angle) fmt = "Ellipse(xy=(%s, %s), width=%s, height=%s, angle=%s)" return fmt % pars @@ -1439,7 +1439,7 @@ def __init__(self, xy, width, height, angle=0.0, **kwargs): """ Patch.__init__(self, **kwargs) - self.xy = xy + self._center = xy self.width, self.height = width, height self.angle = angle self._path = Path.unit_circle() @@ -1452,8 +1452,8 @@ def _recompute_transform(self): makes it very important to call the accessor method and not directly access the transformation member variable. """ - center = (self.convert_xunits(self.xy[0]), - self.convert_yunits(self.xy[1])) + center = (self.convert_xunits(self._center[0]), + self.convert_yunits(self._center[1])) width = self.convert_xunits(self.width) height = self.convert_yunits(self.height) self._patch_transform = transforms.Affine2D() \ @@ -1477,14 +1477,14 @@ def set_center(self, xy): ACCEPTS: (x, y) """ - self.xy = xy + self._center = xy self.stale = True def get_center(self): """ Return the center of the ellipse """ - return self.xy + return self._center center = property(get_center, set_center) From b83a9eba554530293f02e2b0d01dfbb14a3b2749 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Tue, 17 Apr 2018 03:48:26 +0200 Subject: [PATCH 0524/1161] Minor docstring format cleanup --- lib/matplotlib/artist.py | 14 +++++++------- lib/matplotlib/backend_bases.py | 14 +++++++------- lib/matplotlib/backend_managers.py | 10 +++++----- 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/lib/matplotlib/artist.py b/lib/matplotlib/artist.py index c5e54f97a2f2..2d48bbb6ca9e 100644 --- a/lib/matplotlib/artist.py +++ b/lib/matplotlib/artist.py @@ -548,17 +548,17 @@ def get_sketch_params(self): ------- sketch_params : tuple or `None` - A 3-tuple with the following elements: + A 3-tuple with the following elements: - * `scale`: The amplitude of the wiggle perpendicular to the - source line. + * `scale`: The amplitude of the wiggle perpendicular to the + source line. - * `length`: The length of the wiggle along the line. + * `length`: The length of the wiggle along the line. - * `randomness`: The scale factor by which the length is - shrunken or expanded. + * `randomness`: The scale factor by which the length is + shrunken or expanded. - May return `None` if no sketch parameters were set. + May return `None` if no sketch parameters were set. """ return self._sketch diff --git a/lib/matplotlib/backend_bases.py b/lib/matplotlib/backend_bases.py index 6081aeb75e68..2e7499a7758a 100644 --- a/lib/matplotlib/backend_bases.py +++ b/lib/matplotlib/backend_bases.py @@ -1173,17 +1173,17 @@ def get_sketch_params(self): ------- sketch_params : tuple or `None` - A 3-tuple with the following elements: + A 3-tuple with the following elements: - * `scale`: The amplitude of the wiggle perpendicular to the - source line. + * `scale`: The amplitude of the wiggle perpendicular to the + source line. - * `length`: The length of the wiggle along the line. + * `length`: The length of the wiggle along the line. - * `randomness`: The scale factor by which the length is - shrunken or expanded. + * `randomness`: The scale factor by which the length is + shrunken or expanded. - May return `None` if no sketch parameters were set. + May return `None` if no sketch parameters were set. """ return self._sketch diff --git a/lib/matplotlib/backend_managers.py b/lib/matplotlib/backend_managers.py index 57c3e7710cbe..53e1ee38dd7b 100644 --- a/lib/matplotlib/backend_managers.py +++ b/lib/matplotlib/backend_managers.py @@ -42,7 +42,7 @@ def __init__(self, name, sender, message): class ToolManager(object): """ - Helper class that groups all the user interactions for a Figure + Helper class that groups all the user interactions for a Figure. Attributes ---------- @@ -90,12 +90,12 @@ def figure(self, figure): def set_figure(self, figure, update_tools=True): """ - Sets the figure to interact with the tools + Bind the given figure to the tools. Parameters - ========== - figure: `Figure` - update_tools: bool + ---------- + figure : `.Figure` + update_tools : bool Force tools to update figure """ if self._key_press_handler_id: From 2545117c198fce1f1a31c037a29dda62539cabe3 Mon Sep 17 00:00:00 2001 From: fredrik-1 <sandquist.fredrik@gmail.com> Date: Mon, 16 Apr 2018 20:12:24 +0200 Subject: [PATCH 0525/1161] changed tight_layout doc strings --- lib/matplotlib/figure.py | 14 ++++++-------- lib/matplotlib/pyplot.py | 16 ++++++++-------- 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index 9e6980b007e6..bb191ad330c0 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -2066,20 +2066,18 @@ def execute_constrained_layout(self, renderer=None): def tight_layout(self, renderer=None, pad=1.08, h_pad=None, w_pad=None, rect=None): """ - Adjust subplot parameters to give specified padding. + Automatically adjust subplot parameters to give specified padding. Parameters ---------- pad : float - padding between the figure edge and the edges of subplots, - as a fraction of the font-size. - + Padding between the figure edge and the edges of subplots, + as a fraction of the font size. h_pad, w_pad : float, optional - padding (height/width) between edges of adjacent subplots. - Defaults to `pad_inches`. - + Padding (height/width) between edges of adjacent subplots, + as a fraction of the font size. Defaults to *pad*. rect : tuple (left, bottom, right, top), optional - a rectangle (left, bottom, right, top) in the normalized + A rectangle (left, bottom, right, top) in the normalized figure coordinate that the whole subplots area (including labels) will fit into. Default is (0, 0, 1, 1). """ diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index 3afaff8a03eb..81ebd5a5f193 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -1256,15 +1256,15 @@ def tight_layout(pad=1.08, h_pad=None, w_pad=None, rect=None): Parameters ---------- pad : float - padding between the figure edge and the edges of subplots, as a fraction of the font-size. - h_pad, w_pad : float - padding (height/width) between edges of adjacent subplots. - Defaults to `pad_inches`. - rect : if rect is given, it is interpreted as a rectangle - (left, bottom, right, top) in the normalized figure - coordinate that the whole subplots area (including + Padding between the figure edge and the edges of subplots, + as a fraction of the font size. + h_pad, w_pad : float, optional + Padding (height/width) between edges of adjacent subplots, + as a fraction of the font size. Defaults to *pad*. + rect : tuple (left, bottom, right, top), optional + A rectangle (left, bottom, right, top) in the normalized + figure coordinate that the whole subplots area (including labels) will fit into. Default is (0, 0, 1, 1). - """ fig = gcf() fig.tight_layout(pad=pad, h_pad=h_pad, w_pad=w_pad, rect=rect) From cbd649184caae147a67529b2d1013744e6a62ff2 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Mon, 16 Apr 2018 20:28:12 -0700 Subject: [PATCH 0526/1161] Use chained comparisons where reasonable. --- lib/matplotlib/_constrained_layout.py | 14 ++++---------- lib/matplotlib/backends/backend_webagg_core.py | 8 ++++---- lib/matplotlib/backends/backend_wx.py | 2 +- lib/matplotlib/collections.py | 3 +-- lib/matplotlib/mathtext.py | 2 +- lib/matplotlib/projections/polar.py | 2 +- lib/matplotlib/pyplot.py | 2 +- lib/matplotlib/ticker.py | 12 ++++++------ 8 files changed, 19 insertions(+), 26 deletions(-) diff --git a/lib/matplotlib/_constrained_layout.py b/lib/matplotlib/_constrained_layout.py index cb2eca62057c..1e943c8e5cd3 100644 --- a/lib/matplotlib/_constrained_layout.py +++ b/lib/matplotlib/_constrained_layout.py @@ -77,19 +77,13 @@ def get_axall_tightbbox(ax, renderer): def in_same_column(colnum0min, colnum0max, colnumCmin, colnumCmax): - if colnum0min >= colnumCmin and colnum0min <= colnumCmax: - return True - if colnum0max >= colnumCmin and colnum0max <= colnumCmax: - return True - return False + return (colnumCmin <= colnum0min <= colnumCmax + or colnumCmin <= colnum0max <= colnumCmax) def in_same_row(rownum0min, rownum0max, rownumCmin, rownumCmax): - if rownum0min >= rownumCmin and rownum0min <= rownumCmax: - return True - if rownum0max >= rownumCmin and rownum0max <= rownumCmax: - return True - return False + return (rownumCmin <= rownum0min <= rownumCmax + or rownumCmin <= rownum0max <= rownumCmax) ###################################################### diff --git a/lib/matplotlib/backends/backend_webagg_core.py b/lib/matplotlib/backends/backend_webagg_core.py index ab8fda933b98..aa954f95a0a0 100644 --- a/lib/matplotlib/backends/backend_webagg_core.py +++ b/lib/matplotlib/backends/backend_webagg_core.py @@ -88,21 +88,21 @@ def _handle_key(key): code = int(key[key.index('k') + 1:]) value = chr(code) # letter keys - if code >= 65 and code <= 90: + if 65 <= code <= 90: if 'shift+' in key: key = key.replace('shift+', '') else: value = value.lower() # number keys - elif code >= 48 and code <= 57: + elif 48 <= code <= 57: if 'shift+' in key: value = ')!@#$%^&*('[int(value)] key = key.replace('shift+', '') # function keys - elif code >= 112 and code <= 123: + elif 112 <= code <= 123: value = 'f%s' % (code - 111) # number pad keys - elif code >= 96 and code <= 105: + elif 96 <= code <= 105: value = '%s' % (code - 96) # keys with shift alternatives elif code in _SHIFT_LUT and 'shift+' in key: diff --git a/lib/matplotlib/backends/backend_wx.py b/lib/matplotlib/backends/backend_wx.py index d307edc1fc21..dfbf23340492 100644 --- a/lib/matplotlib/backends/backend_wx.py +++ b/lib/matplotlib/backends/backend_wx.py @@ -489,7 +489,7 @@ def set_linewidth(self, w): w = float(w) DEBUG_MSG("set_linewidth()", 1, self) self.select() - if w > 0 and w < 1: + if 0 < w < 1: w = 1 GraphicsContextBase.set_linewidth(self, w) lw = int(self.renderer.points_to_pixels(self._linewidth)) diff --git a/lib/matplotlib/collections.py b/lib/matplotlib/collections.py index aee38d4e1f42..59f6bfca5986 100644 --- a/lib/matplotlib/collections.py +++ b/lib/matplotlib/collections.py @@ -304,8 +304,7 @@ def draw(self, renderer): combined_transform = transform extents = paths[0].get_extents(combined_transform) width, height = renderer.get_canvas_width_height() - if (extents.width < width and - extents.height < height): + if extents.width < width and extents.height < height: do_single_path_optimization = True if self._joinstyle: diff --git a/lib/matplotlib/mathtext.py b/lib/matplotlib/mathtext.py index 8b4aa04f5842..dcb13a0ee494 100644 --- a/lib/matplotlib/mathtext.py +++ b/lib/matplotlib/mathtext.py @@ -1000,7 +1000,7 @@ def _map_virtual_font(self, fontname, font_class, uniindex): else: lo = mid + 1 - if uniindex >= range[0] and uniindex <= range[1]: + if range[0] <= uniindex <= range[1]: uniindex = uniindex - range[0] + range[3] fontname = range[2] elif not doing_sans_conversion: diff --git a/lib/matplotlib/projections/polar.py b/lib/matplotlib/projections/polar.py index fb139ff01cb3..f5537005dc30 100644 --- a/lib/matplotlib/projections/polar.py +++ b/lib/matplotlib/projections/polar.py @@ -1344,7 +1344,7 @@ def start_pan(self, x, y, button): if button == 1: epsilon = np.pi / 45.0 t, r = self.transData.inverted().transform_point((x, y)) - if t >= angle - epsilon and t <= angle + epsilon: + if angle - epsilon <= t <= angle + epsilon: mode = 'drag_r_labels' elif button == 3: mode = 'zoom' diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index 3afaff8a03eb..9463dbdfa2de 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -501,7 +501,7 @@ def figure(num=None, # autoincrement if None, else integer from 1-N if figManager is None: max_open_warning = rcParams['figure.max_open_warning'] - if (max_open_warning >= 1 and len(allnums) >= max_open_warning): + if len(allnums) >= max_open_warning >= 1: warnings.warn( "More than %d figures have been opened. Figures " "created through the pyplot interface " diff --git a/lib/matplotlib/ticker.py b/lib/matplotlib/ticker.py index 47de3e105ebe..41b1c88d9bec 100644 --- a/lib/matplotlib/ticker.py +++ b/lib/matplotlib/ticker.py @@ -2413,25 +2413,25 @@ def tick_values(self, vmin, vmax): # major ticks if not self.minor: ticklocs = [] - if (decade_min <= -1): + if decade_min <= -1: expo = np.arange(decade_min, min(0, decade_max + 1)) ticklocs.extend(list(10**expo)) - if (decade_min <= 0) and (decade_max >= 0): + if decade_min <= 0 <= decade_max: ticklocs.append(0.5) - if (decade_max >= 1): + if decade_max >= 1: expo = -np.arange(max(1, decade_min), decade_max + 1) ticklocs.extend(list(1 - 10**expo)) # minor ticks else: ticklocs = [] - if (decade_min <= -2): + if decade_min <= -2: expo = np.arange(decade_min, min(-1, decade_max)) newticks = np.outer(np.arange(2, 10), 10**expo).ravel() ticklocs.extend(list(newticks)) - if (decade_min <= 0) and (decade_max >= 0): + if decade_min <= 0 <= decade_max: ticklocs.extend([0.2, 0.3, 0.4, 0.6, 0.7, 0.8]) - if (decade_max >= 2): + if decade_max >= 2: expo = -np.arange(max(2, decade_min), decade_max + 1) newticks = 1 - np.outer(np.arange(2, 10), 10**expo).ravel() ticklocs.extend(list(newticks)) From 12d30e52e31467cfeb3cb88afc40034543b6cc9f Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Tue, 17 Apr 2018 12:39:05 +0100 Subject: [PATCH 0527/1161] Add note about hist2d resetting axis limits --- lib/matplotlib/axes/_axes.py | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 1e1b4347bb22..3f41f4ea8f3a 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -6462,21 +6462,21 @@ def hist2d(self, x, y, bins=10, range=None, normed=False, weights=None, - If int, the number of bins for the two dimensions (nx=ny=bins). - - If [int, int], the number of bins in each dimension + - If ``[int, int]``, the number of bins in each dimension (nx, ny = bins). - If array_like, the bin edges for the two dimensions (x_edges=y_edges=bins). - - If [array, array], the bin edges in each dimension + - If ``[array, array]``, the bin edges in each dimension (x_edges, y_edges = bins). The default value is 10. range : array_like shape(2, 2), optional, default: None The leftmost and rightmost edges of the bins along each dimension - (if not specified explicitly in the bins parameters): [[xmin, - xmax], [ymin, ymax]]. All values outside of this range will be + (if not specified explicitly in the bins parameters): ``[[xmin, + xmax], [ymin, ymax]]``. All values outside of this range will be considered outliers and not tallied in the histogram. normed : bool, optional, default: False @@ -6510,31 +6510,33 @@ def hist2d(self, x, y, bins=10, range=None, normed=False, weights=None, Other Parameters ---------------- cmap : Colormap or str, optional - A :class:`matplotlib.colors.Colormap` instance. If not set, use rc + A :class:`.colors.Colormap` instance. If not set, use rc settings. norm : Normalize, optional - A :class:`matplotlib.colors.Normalize` instance is used to + A :class:`.colors.Normalize` instance is used to scale luminance data to ``[0, 1]``. If not set, defaults to - ``Normalize()``. + :class:`.colors.Normalize()`. vmin/vmax : None or scalar, optional - Arguments passed to the `Normalize` instance. + Arguments passed to the :class:`~.colors.Normalize` instance. alpha : ``0 <= scalar <= 1`` or ``None``, optional The alpha blending value. See also -------- - hist : 1D histogram + hist : 1D histogram plotting Notes ----- - Rendering the histogram with a logarithmic color scale is - accomplished by passing a :class:`colors.LogNorm` instance to - the *norm* keyword argument. Likewise, power-law normalization - (similar in effect to gamma correction) can be accomplished with - :class:`colors.PowerNorm`. + - Currently ``hist2d`` calculates it's own axis limits, and any limits + previously set are ignored. + - Rendering the histogram with a logarithmic color scale is + accomplished by passing a :class:`.colors.LogNorm` instance to + the *norm* keyword argument. Likewise, power-law normalization + (similar in effect to gamma correction) can be accomplished with + :class:`.colors.PowerNorm`. """ h, xedges, yedges = np.histogram2d(x, y, bins=bins, range=range, From 28e65420826761893cff1caf80d0f6a38bbd7d3a Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Tue, 17 Apr 2018 03:02:18 +0200 Subject: [PATCH 0528/1161] enable sphinx.ext.viewcode --- doc/_static/mpl.css | 18 ++++++++++++++++++ doc/conf.py | 1 + 2 files changed, 19 insertions(+) diff --git a/doc/_static/mpl.css b/doc/_static/mpl.css index e460fd569823..55c6695ae30d 100644 --- a/doc/_static/mpl.css +++ b/doc/_static/mpl.css @@ -971,6 +971,24 @@ p.sphx-glr-signature a.reference.external { font-weight: 400; } +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: "Helvetica Neue", Helvetica, 'Lucida Grande', 'Lucida Sans Unicode', 'Geneva', 'Verdana', sans-serif; +} + +div.viewcode-block:target { + margin: -1px -13px; + padding: 0 10px; + border-top: 1px solid #ccc; + border-bottom: 1px solid #ccc; + background-color: #f4debf; + +} + .sidebar-announcement { border: 1px solid #11557C; background: #eff9ff; diff --git a/doc/conf.py b/doc/conf.py index 24b4579d7c24..af152601b368 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -33,6 +33,7 @@ 'sphinx.ext.doctest', 'sphinx.ext.inheritance_diagram', 'sphinx.ext.intersphinx', + 'sphinx.ext.viewcode', 'IPython.sphinxext.ipython_console_highlighting', 'IPython.sphinxext.ipython_directive', 'numpydoc', # Needs to be loaded *after* autodoc. From 4e1035e16abcbae312d9007f1414d6f379e1dc3c Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Tue, 17 Apr 2018 14:30:19 +0100 Subject: [PATCH 0529/1161] Remove :class: from docstring --- lib/matplotlib/axes/_axes.py | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 3f41f4ea8f3a..e502d3b8ec6a 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -6510,16 +6510,15 @@ def hist2d(self, x, y, bins=10, range=None, normed=False, weights=None, Other Parameters ---------------- cmap : Colormap or str, optional - A :class:`.colors.Colormap` instance. If not set, use rc - settings. + A `.colors.Colormap` instance. If not set, use rc settings. norm : Normalize, optional - A :class:`.colors.Normalize` instance is used to + A `.colors.Normalize` instance is used to scale luminance data to ``[0, 1]``. If not set, defaults to - :class:`.colors.Normalize()`. + `.colors.Normalize()`. vmin/vmax : None or scalar, optional - Arguments passed to the :class:`~.colors.Normalize` instance. + Arguments passed to the `~.colors.Normalize` instance. alpha : ``0 <= scalar <= 1`` or ``None``, optional The alpha blending value. @@ -6533,10 +6532,10 @@ def hist2d(self, x, y, bins=10, range=None, normed=False, weights=None, - Currently ``hist2d`` calculates it's own axis limits, and any limits previously set are ignored. - Rendering the histogram with a logarithmic color scale is - accomplished by passing a :class:`.colors.LogNorm` instance to - the *norm* keyword argument. Likewise, power-law normalization - (similar in effect to gamma correction) can be accomplished with - :class:`.colors.PowerNorm`. + accomplished by passing a `.colors.LogNorm` instance to the *norm* + keyword argument. Likewise, power-law normalization (similar + in effect to gamma correction) can be accomplished with + `.colors.PowerNorm`. """ h, xedges, yedges = np.histogram2d(x, y, bins=bins, range=range, From 4907c7166d23cbd718c46a5090adfbbdbd26a9bd Mon Sep 17 00:00:00 2001 From: Matthew Bell <bellmj@g.cofc.edu> Date: Tue, 17 Apr 2018 13:04:36 -0400 Subject: [PATCH 0530/1161] Revert "added suffient title overline" This reverts commit f65ab080309b661a4916ae5a3cdd9e250469d370. reverting to the commit before the filename change since this broke the build --- examples/pyplots/fill_between.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/pyplots/fill_between.py b/examples/pyplots/fill_between.py index 31e85f32da04..9ac2f8c81e7f 100644 --- a/examples/pyplots/fill_between.py +++ b/examples/pyplots/fill_between.py @@ -1,7 +1,7 @@ """ -============================= +====================== Whats New 0.98.4 Fill Between -============================= +====================== """ import matplotlib.pyplot as plt From 32585c06283abadcd0d6df18ac2747b03c4416ae Mon Sep 17 00:00:00 2001 From: Matthew Bell <bellmj@g.cofc.edu> Date: Tue, 17 Apr 2018 13:10:30 -0400 Subject: [PATCH 0531/1161] fixed file naming --- .../pyplots/{fill_between.py => whats_new_98_4_fill_between.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename examples/pyplots/{fill_between.py => whats_new_98_4_fill_between.py} (100%) diff --git a/examples/pyplots/fill_between.py b/examples/pyplots/whats_new_98_4_fill_between.py similarity index 100% rename from examples/pyplots/fill_between.py rename to examples/pyplots/whats_new_98_4_fill_between.py From 09f6dfdc783032347ee9294c96c1996210f79f44 Mon Sep 17 00:00:00 2001 From: Matthew Bell <bellmj@g.cofc.edu> Date: Tue, 17 Apr 2018 13:12:00 -0400 Subject: [PATCH 0532/1161] corrected example title --- examples/pyplots/whats_new_98_4_fill_between.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/pyplots/whats_new_98_4_fill_between.py b/examples/pyplots/whats_new_98_4_fill_between.py index 9ac2f8c81e7f..0fbd6bd271d9 100644 --- a/examples/pyplots/whats_new_98_4_fill_between.py +++ b/examples/pyplots/whats_new_98_4_fill_between.py @@ -1,7 +1,7 @@ """ -====================== -Whats New 0.98.4 Fill Between -====================== +============ +Fill Between +============ """ import matplotlib.pyplot as plt From 37d29df493354585404755eea85f42c266c0d8f1 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Fri, 13 Apr 2018 02:21:11 -0700 Subject: [PATCH 0533/1161] Help tool. --- lib/matplotlib/backend_tools.py | 54 +++++++++++++++--- lib/matplotlib/backends/_backend_tk.py | 11 +++- lib/matplotlib/backends/backend_gtk3.py | 11 ++++ lib/matplotlib/backends/backend_qt5.py | 6 ++ lib/matplotlib/mpl-data/images/help.pdf | Bin 0 -> 1813 bytes lib/matplotlib/mpl-data/images/help.png | Bin 0 -> 472 bytes lib/matplotlib/mpl-data/images/help.ppm | Bin 0 -> 1741 bytes lib/matplotlib/mpl-data/images/help.svg | 52 +++++++++++++++++ lib/matplotlib/mpl-data/images/help_large.png | Bin 0 -> 747 bytes lib/matplotlib/mpl-data/images/help_large.ppm | Bin 0 -> 6925 bytes lib/matplotlib/rcsetup.py | 1 + matplotlibrc.template | 1 + tools/make_icons.py | 3 +- 13 files changed, 129 insertions(+), 10 deletions(-) create mode 100644 lib/matplotlib/mpl-data/images/help.pdf create mode 100644 lib/matplotlib/mpl-data/images/help.png create mode 100644 lib/matplotlib/mpl-data/images/help.ppm create mode 100644 lib/matplotlib/mpl-data/images/help.svg create mode 100644 lib/matplotlib/mpl-data/images/help_large.png create mode 100644 lib/matplotlib/mpl-data/images/help_large.ppm diff --git a/lib/matplotlib/backend_tools.py b/lib/matplotlib/backend_tools.py index 9c9249da8fb8..0dfdfac8e261 100644 --- a/lib/matplotlib/backend_tools.py +++ b/lib/matplotlib/backend_tools.py @@ -11,6 +11,7 @@ `matplotlib.backend_managers.ToolManager` """ +import re import time import warnings from weakref import WeakKeyDictionary @@ -403,7 +404,7 @@ def trigger(self, sender, event, data=None): class ToolEnableAllNavigation(ToolBase): """Tool to enable all axes for toolmanager interaction""" - description = 'Enables all axes toolmanager' + description = 'Enable all axes toolmanager' default_keymap = rcParams['keymap.all_axes'] def trigger(self, sender, event, data=None): @@ -419,7 +420,7 @@ def trigger(self, sender, event, data=None): class ToolEnableNavigation(ToolBase): """Tool to enable a specific axes for toolmanager interaction""" - description = 'Enables one axes toolmanager' + description = 'Enable one axes toolmanager' default_keymap = (1, 2, 3, 4, 5, 6, 7, 8, 9) def trigger(self, sender, event, data=None): @@ -470,7 +471,7 @@ def _get_uniform_grid_state(ticks): class ToolGrid(_ToolGridBase): """Tool to toggle the major grids of the figure""" - description = 'Toogle major grids' + description = 'Toggle major grids' default_keymap = rcParams['keymap.grid'] def _get_next_grid_states(self, ax): @@ -491,7 +492,7 @@ def _get_next_grid_states(self, ax): class ToolMinorGrid(_ToolGridBase): """Tool to toggle the major and minor grids of the figure""" - description = 'Toogle major and minor grids' + description = 'Toggle major and minor grids' default_keymap = rcParams['keymap.grid_minor'] def _get_next_grid_states(self, ax): @@ -511,7 +512,7 @@ def _get_next_grid_states(self, ax): class ToolFullScreen(ToolToggleBase): """Tool to toggle full screen""" - description = 'Toogle Fullscreen mode' + description = 'Toggle fullscreen mode' default_keymap = rcParams['keymap.fullscreen'] def enable(self, event): @@ -541,7 +542,7 @@ def disable(self, event): class ToolYScale(AxisScaleBase): """Tool to toggle between linear and logarithmic scales on the Y axis""" - description = 'Toogle Scale Y axis' + description = 'Toggle scale Y axis' default_keymap = rcParams['keymap.yscale'] def set_scale(self, ax, scale): @@ -551,7 +552,7 @@ def set_scale(self, ax, scale): class ToolXScale(AxisScaleBase): """Tool to toggle between linear and logarithmic scales on the X axis""" - description = 'Toogle Scale X axis' + description = 'Toggle scale X axis' default_keymap = rcParams['keymap.xscale'] def set_scale(self, ax, scale): @@ -1020,6 +1021,42 @@ def _mouse_move(self, event): self.toolmanager.canvas.draw_idle() +class ToolHelpBase(ToolBase): + description = 'Print tool list, shortcuts and description' + default_keymap = rcParams['keymap.help'] + image = 'help.png' + + def _format_tool_keymap(self, name): + keymaps = self.toolmanager.get_tool_keymap(name) + # Capitalize "ctrl+a" -> "Ctrl+A" but leave "a" as is. + return ", ".join(re.sub(r"\w{2,}|(?<=\+)\w", + lambda m: m.group(0).capitalize(), + keymap) + for keymap in keymaps) + + def _get_help_text(self): + entries = [] + for name, tool in sorted(self.toolmanager.tools.items()): + if not tool.description: + continue + entries.append( + "{}: {}\n\t{}".format( + name, self._format_tool_keymap(name), tool.description)) + return "\n".join(entries) + + def _get_help_html(self): + fmt = "<tr><td>{}</td><td>{}</td><td>{}</td></tr>" + rows = [fmt.format( + "<b>Action</b>", "<b>Shortcuts</b>", "<b>Description</b>")] + for name, tool in sorted(self.toolmanager.tools.items()): + if not tool.description: + continue + rows.append(fmt.format( + name, self._format_tool_keymap(name), tool.description)) + return ("<table><thead>" + rows[0] + "</thead>" + "<tbody>".join(rows[1:]) + "</tbody></table>") + + default_tools = {'home': ToolHome, 'back': ToolBack, 'forward': ToolForward, 'zoom': ToolZoom, 'pan': ToolPan, 'subplots': 'ToolConfigureSubplots', @@ -1037,12 +1074,13 @@ def _mouse_move(self, event): _views_positions: ToolViewsPositions, 'cursor': 'ToolSetCursor', 'rubberband': 'ToolRubberband', + 'help': 'ToolHelp', } """Default tools""" default_toolbar_tools = [['navigation', ['home', 'back', 'forward']], ['zoompan', ['pan', 'zoom', 'subplots']], - ['io', ['save']]] + ['io', ['save', 'help']]] """Default tools in the toolbar""" diff --git a/lib/matplotlib/backends/_backend_tk.py b/lib/matplotlib/backends/_backend_tk.py index fe0d393aa82b..164077cdc713 100644 --- a/lib/matplotlib/backends/_backend_tk.py +++ b/lib/matplotlib/backends/_backend_tk.py @@ -1,10 +1,11 @@ import six -from six.moves import tkinter as Tk import math import logging import os.path import sys +import tkinter as Tk +from tkinter.simpledialog import SimpleDialog import numpy as np @@ -963,10 +964,18 @@ def destroy(self, *args, **kwargs): self.window = None +class HelpTk(backend_tools.ToolHelpBase): + def trigger(self, *args): + dialog = SimpleDialog( + self.figure.canvas._tkcanvas, self._get_help_text(), ["OK"]) + dialog.done = lambda num: dialog.frame.master.withdraw() + + backend_tools.ToolSaveFigure = SaveFigureTk backend_tools.ToolConfigureSubplots = ConfigureSubplotsTk backend_tools.ToolSetCursor = SetCursorTk backend_tools.ToolRubberband = RubberbandTk +backend_tools.ToolHelp = HelpTk Toolbar = ToolbarTk diff --git a/lib/matplotlib/backends/backend_gtk3.py b/lib/matplotlib/backends/backend_gtk3.py index a73cca9ff1b9..5ed0a8db2d3d 100644 --- a/lib/matplotlib/backends/backend_gtk3.py +++ b/lib/matplotlib/backends/backend_gtk3.py @@ -846,6 +846,16 @@ def trigger(self, sender, event, data=None): self.window.present() +class HelpGTK3(backend_tools.ToolHelpBase): + def trigger(self, *args): + dialog = Gtk.MessageDialog( + self._figure.canvas.get_toplevel(), + 0, Gtk.MessageType.INFO, Gtk.ButtonsType.OK, self._get_help_text(), + title="Help") + dialog.run() + dialog.destroy() + + # Define the file to use as the GTk icon if sys.platform == 'win32': icon_filename = 'matplotlib.png' @@ -877,6 +887,7 @@ def error_msg_gtk(msg, parent=None): backend_tools.ToolConfigureSubplots = ConfigureSubplotsGTK3 backend_tools.ToolSetCursor = SetCursorGTK3 backend_tools.ToolRubberband = RubberbandGTK3 +backend_tools.ToolHelp = HelpGTK3 Toolbar = ToolbarGTK3 diff --git a/lib/matplotlib/backends/backend_qt5.py b/lib/matplotlib/backends/backend_qt5.py index 0a0bf22e0291..5b94fd19d84b 100644 --- a/lib/matplotlib/backends/backend_qt5.py +++ b/lib/matplotlib/backends/backend_qt5.py @@ -1064,10 +1064,16 @@ def remove_rubberband(self): self.canvas.drawRectangle(None) +class HelpQt(backend_tools.ToolHelpBase): + def trigger(self, *args): + QtWidgets.QMessageBox.information(None, "Help", self._get_help_html()) + + backend_tools.ToolSaveFigure = SaveFigureQt backend_tools.ToolConfigureSubplots = ConfigureSubplotsQt backend_tools.ToolSetCursor = SetCursorQt backend_tools.ToolRubberband = RubberbandQt +backend_tools.ToolHelp = HelpQt def error_msg_qt(msg, parent=None): diff --git a/lib/matplotlib/mpl-data/images/help.pdf b/lib/matplotlib/mpl-data/images/help.pdf new file mode 100644 index 0000000000000000000000000000000000000000..38178d05b2725addadec9f4c005a1a764f1096d1 GIT binary patch literal 1813 zcmah~3rtg27|x;&*NlgQIp+fpOyr?(AARsrCbX0x7+6799kAWo9%@~CZ+Ckk1!Wly zK^)V_f=*u9WH=GnA_7s7IY!X94HAtEG0rGNCr)t!2`YP?(^5e&*-ew%^W}e>^PT_u zu3xfB9ZZGDBz_IoK>cY61xUcN+azn&03w+&Kr5gTq5(u|js*fj$%u@JH-M-p3FP!R zFl<^vtWAtd5g8EznIlQfb0UyB{wFh{2n7zv@lrx03%o7`ir`(;N2Nyfp-lutyczY3 znS3iJ-|-+F5Gh+3y^%8jg(F>?#BPH+5ro={Pi==H5#T&PG{^Cx6}3S5O0*Top;fq} zK%Bs5SpYt!G6fJSm~GTSO&n^CR;dERSuKnJIbDwP<c@gMh}Z!2Mka>0p}M$PD2;!p zLo!YfoqTDamCq7%h(OHHQvxxk)7ZnCaqd=aG$Dcjp*A4~RZz$45#foDGl*LOh3`d! z6Rn~E8MDN8)%<z)-W2NPUE?`>CgxUO>DhN;u1|M$FuSoZ|JW~?D{OgttH!Qp6kHDK z?F);FYRzdo@{RkM_V4+ewt)%5L{nbZWAotsob6A>Mkap0b!&9={QZ$?`q6in=bi6% z-@$$S;a_hJxe^z4483}>@9)}@gFk43*0X69+_iv%hua4_Jmpqx!Il?GKa0G%JT9^Q zrHW;DO1;LnMgG?22kD`6x$D5M-W}s!{>{y4m!g-rwoGh~{8`s<qwKKeW^s04<ms=K zV{ZIV09RBrZ~LA&Sy|fqLgR|H%|{oE6y>|D4hVarb;0=V#`T@$sb{M{UDz_`tE-9S z_vh9o_wG+mJEEx6?+iaTP-;>E?Ezai968gqtStLMRbl74m7CXkWcLf&hyq#Pk*bra zNx9ZzwYDv>r{u#sTNdBW@AuVJ&c7~=NvqmFy0Fsd<Mz7Xo;AqL_sH#TDo<~+y_T@D zPSJLB>D@06Epbs6pYH4M)&}&EMq<+{`Gq@`H66X4b?Tqyk*@ut!TXkWtQp=I-UQt? zyNtS3Y^ZZ@e!K3tTTPGe#k}emms^KkDK$SH{L$ihx4m^!&xr@ajW<5=(O&td-(>-t z8BP?Cg{i(LTNbVG9?$nIVN1IAvdb6$F_dvndHmA77jjPpd6)PsZg1FiQkqfoX5MCx z1Gg>pkLDM>qj{LXE`O5d(NXf}h}WENm!)6+Vv#xHVdqCw@2TQ{`@`Ss8e3a?_95$1 zk2N|uFOzDu&k-Itxh&kNV64x{8JyA)7O-<LqbY|@q7gRf15-*TbPR&AE~05?81?)x z3WZIZeQX4?`eJ#{0<p+vf!LRvJ5=&nNO`Djf>Dq4Zg&9<7Nx_s98NZMI_jBZBq-6y zb1H0H0jda^q(aFsil$^TQYH^3W&R}TA1EP|IF1)UfSD03CSEidSwM%7A#{j^w~8_a zEe+AbY;u)B$4VK<ka~7C*eZ&a2!fc(2;l_-s)gK7pQS@;pI*$O&jc)^`vBe5{}c|K zMx#xDnGzCEQVIF=0SdWXDhHY1DMle;@dG#~h7O4AYX(Nri0he{3^~{gjFQccqZH4H z3qua~Y%WPE(9O@lq+w_ZXJ9lryB<l-?n{SGJBKJRMiUh5->-NslLz*zM)s@Wc|0L@ dD^4-yLPQuQ(JC^6Xr~Yz34I0qVw2R8{{W}EW2OKA literal 0 HcmV?d00001 diff --git a/lib/matplotlib/mpl-data/images/help.png b/lib/matplotlib/mpl-data/images/help.png new file mode 100644 index 0000000000000000000000000000000000000000..a52fbbe819e2fcbb1c1d5f8f143fc8d069688b3a GIT binary patch literal 472 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf<Z~8yL>4nJ zFmC{1M)f27Yk`76C9V-A!TD(=<%vb947rIV1v&X8IhjccWvNBQnfZANMtTN%MtTML z#U&<YM#g$6sbvP*>B&jPiK&SODM>mC86_nJR{Ht~oqG92>H6!I&RfjDz$oMC;uzx5 z`F6@iFJ?y(*Ymt}PEDaloIF?8a{Q9ydQ{(WW636gEnW(~S@jMA{|{;XY-~sp7Sx?) z(_PD*cq7Fqn~5u~VnhD4>hlKq<tb@7L0fy5{b&Bi=WuD_l4?(3&zVciJ)J$@uDE$d zY+8N-!;ML=n4)F~GJa8h=o+ia+|WE}f#C;+J#4SvA1KpuIKVog@`P-_=W^Z$mJM^% z<R`YvGH-YNapzYsgT;Cl4MwwuH~~B6vU(l{s{>n7%&t$}w@9Jpe7mLmAJ!PXuc{1r zO&`P;h<;ugBl>m0`&l<N(k8vv)AIa%VBvP-2N%yQGrWJz>*Y?r2IG3O2hD$$M@uho zwR_=Yy?RF7@zS@alxkN7wZ*W{x+i5|wE6s2##OJR_vU^TTHB|58yE`=p00i_>zopr E02Lj!oB#j- literal 0 HcmV?d00001 diff --git a/lib/matplotlib/mpl-data/images/help.ppm b/lib/matplotlib/mpl-data/images/help.ppm new file mode 100644 index 0000000000000000000000000000000000000000..aed6f506df4d1a3394aafff9b7b25899d49f500c GIT binary patch literal 1741 zcmWGA<1#W)Ff!pXGBxG;KMICR2rys+BzX>-0VrZbnuekW8;2Nku<64hM$jlsJwPp3 z1qm93tP!pl%_z7y@eDK*AY9_LLsSkPLxAqVbPTE9!RjgU48e5Is5xjMfEHh9vcz+# JWe)K+0sz+CNh|;W literal 0 HcmV?d00001 diff --git a/lib/matplotlib/mpl-data/images/help.svg b/lib/matplotlib/mpl-data/images/help.svg new file mode 100644 index 000000000000..484bdbcbf659 --- /dev/null +++ b/lib/matplotlib/mpl-data/images/help.svg @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="utf-8" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" + "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<!-- Created with matplotlib (http://matplotlib.org/) --> +<svg height="72pt" version="1.1" viewBox="0 0 72 72" width="72pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <defs> + <style type="text/css"> +*{stroke-linecap:butt;stroke-linejoin:round;} + </style> + </defs> + <g id="figure_1"> + <g id="patch_1"> + <path d="M 0 72 +L 72 72 +L 72 0 +L 0 0 +z +" style="fill:none;opacity:0;"/> + </g> + <g id="text_1"> + <path d="M 43.283438 55.959375 +C 43.283438 55.12 42.603437 54.44 41.764063 54.44 +L 32.658437 54.44 +C 31.829687 54.44 31.139063 55.12 31.139063 55.959375 +L 31.139063 65.065 +C 31.139063 65.904375 31.829687 66.584375 32.658437 66.584375 +L 41.764063 66.584375 +C 42.603437 66.584375 43.283438 65.904375 43.283438 65.065 +z +M 55.279063 33.19 +C 55.279063 24.49875 46.173438 18.0175 38.045313 18.0175 +C 30.310312 18.0175 24.540937 21.31125 20.439687 28.11125 +C 20.025312 28.79125 20.174062 29.62 20.822187 30.119375 +L 27.048437 34.858125 +C 27.345937 35.049375 27.654062 35.16625 27.994062 35.16625 +C 28.408437 35.16625 28.865313 34.9325 29.173437 34.560625 +C 31.404688 31.745 32.318438 30.841875 33.232187 30.19375 +C 34.060937 29.62 35.622812 29.08875 37.333438 29.08875 +C 40.404062 29.08875 43.177188 30.990625 43.177188 33.115625 +C 43.177188 35.54875 41.955313 36.791875 39.033438 38.12 +C 35.697187 39.639375 31.139063 43.591875 31.139063 48.181875 +L 31.139063 49.8925 +C 31.139063 50.72125 31.670313 52.0175 32.509687 52.0175 +L 41.615313 52.0175 +C 42.486563 52.0175 43.134687 51.029375 43.134687 50.19 +C 43.134687 49.095625 44.537188 46.47125 46.779063 45.185625 +C 50.380938 43.166875 55.279063 40.404375 55.279063 33.19 +z +"/> + </g> + </g> +</svg> diff --git a/lib/matplotlib/mpl-data/images/help_large.png b/lib/matplotlib/mpl-data/images/help_large.png new file mode 100644 index 0000000000000000000000000000000000000000..3f3d4dfed7e99421bd024c14046bf4616b4ca2ff GIT binary patch literal 747 zcmV<H0u=p;P)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm00004b3#c}2nYxW zd<bNS00009a7bBm000MJ000MJ0hPnJwg3PCQglUFbW?9;ba!ELWdLnqbZ~5MbZlv2 zAa-SPb7^mGATlm6E;24~Z*z1sHZn6VWMy_RD`#V3Ght<6Fl1sZAZT=Sa5^t9ZDDk9 zY;SaIX<{yKa%V5DrJkbz00J*bL_t(&f$f+vXcR#dhQF5>qZlEAow3ozPGS*Kh@=uh zt29YU!QR5c(o#^cu@D3i!6G7pMU;S|f`x@3Xc1C~VANnE8bvE}zs2r?guR>H+qXM8 z*dHDo`)=m{|CxC+vulzVWDLa?P!+9#*k}#JMr$B8S_84s8i<V@-W{6RBrpS<0H%TQ zlxG820~Ue1lGa@aCAkDJ3A_MQApQc&z^Tf-4#G!)o4{s4@mu2xFdW4IuoGD7Q~3Y! z9N62a0bm4p=pa6eNBzu16$95C#b<G`5d*+fg*D$Rz61NpXz6zwog#dOd?i_8Z%Jxp z1~{Gm?uKz-9=K6hNuM(?3|s~}<d5VcuqUV8QQ%XTHd#Dqqy|z!XMk^81Uv?YdbF7f z7+5Kzq0&`C(h_hCc%4341r{WAdNlhI=+??;sC<=>^wG?Y0}H@YNgIJCvw{4NvH}_j zl94@6cqh8lSPhgAKTEP3g~V?H2e*v@l5O#R0pVHPDa}!%`28eBT~z!tV02p;0Coef zN{GKl)0eq`feQtNuLE<HxM~nT0(>qY{x&dHmCyZ^5;y`J2>j=Xq_ZAmb-dJ%1@eD@ zb6#Y182BB?zmc@&MdrSQB)v1UtH7b0bO*TZ$!BTd4J_*TF0_kelqYi1*?s?(8=v<K znAtSRA=V8aBpvqRtD}fReY$cE{I}88Ky0)Ia_}pV|LI9q%Ry#lC+U6;yp;6bjcd?P d;<g52;~!CowO}ORTRZ>&002ovPDHLkV1l@aH3$Fz literal 0 HcmV?d00001 diff --git a/lib/matplotlib/mpl-data/images/help_large.ppm b/lib/matplotlib/mpl-data/images/help_large.ppm new file mode 100644 index 0000000000000000000000000000000000000000..4cf30807b0a14c3aabf7267488cc16e61c4d357e GIT binary patch literal 6925 zcmeHFTN1)R2=jYS;TfFP=`p<jWz?@NC1Lwms5-J=5Fkl2eca11U5BaM#<4u}WdfN% zCXfka0)LjkrTNYbqiJL@jCQpU+uQ`X+N@6&-7OJ~osh4ko#JHO(GOui1bJCHBu<Xb z@gr4;2?5E?{#p>vCDP6_sBpOxQ3{kz?Z}qycY>AQ;;9Q*SSLX^8c;}(E~Qn{w55mc zAeBbYU6&G~u7%KZU(k|9+*j9PLtR9yTX!6#5pfr75Td$78izq6sg8A!XoD6#RHShg zI;sX#5i0sC<SG-{e&iFR0ad4;cLFLC*=9bO&+0!Qe;8G--Uclw8?_CROWJQs;01bg B{$l_D literal 0 HcmV?d00001 diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index 838af4d974ac..dcd2e6853b86 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -1420,6 +1420,7 @@ def _validate_linestyle(ls): 'keymap.yscale': [['l'], validate_stringlist], 'keymap.xscale': [['k', 'L'], validate_stringlist], 'keymap.all_axes': [['a'], validate_stringlist], + 'keymap.help': [['f1'], validate_stringlist], # sample data 'examples.directory': ['', validate_string], diff --git a/matplotlibrc.template b/matplotlibrc.template index cf4e0803106b..a3416144f0f0 100644 --- a/matplotlibrc.template +++ b/matplotlibrc.template @@ -583,6 +583,7 @@ backend : $TEMPLATE_BACKEND #keymap.pan : p ## pan mnemonic #keymap.zoom : o ## zoom mnemonic #keymap.save : s, ctrl+s ## saving current figure +#keymap.help : f1 ## display help about active tools #keymap.quit : ctrl+w, cmd+w, q ## close the current figure #keymap.quit_all : W, cmd+W, Q ## close all figures #keymap.grid : g ## switching on/off major grids in current axes diff --git a/tools/make_icons.py b/tools/make_icons.py index 3c9712fa4038..53bb1f023bb3 100755 --- a/tools/make_icons.py +++ b/tools/make_icons.py @@ -97,7 +97,8 @@ def make_matplotlib_icon(): ('move', 0xf047), ('filesave', 0xf0c7), ('subplots', 0xf1de), - ('qt4_editor_options', 0xf201)] + ('qt4_editor_options', 0xf201), + ('help', 0xf128)] def make_icons(): From 136ce0781b01e0529d146f8076fc42534099f781 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Tue, 17 Apr 2018 21:25:42 -0700 Subject: [PATCH 0534/1161] py3fication of some tests. --- .../2018-02-15-AL-deprecations.rst | 6 ++- .../2018-02-16-AL-deprecations.rst | 5 --- lib/matplotlib/testing/compare.py | 1 + lib/matplotlib/testing/decorators.py | 40 +++++-------------- lib/matplotlib/tests/test_compare_images.py | 10 +---- lib/matplotlib/tests/test_dviread.py | 34 +++++++--------- 6 files changed, 31 insertions(+), 65 deletions(-) delete mode 100644 doc/api/next_api_changes/2018-02-16-AL-deprecations.rst diff --git a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst index 3c0fedba810d..da7b25099835 100644 --- a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst +++ b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst @@ -19,7 +19,11 @@ The following classes, methods, functions, and attributes are deprecated: - ``dates.DateFormatter.strftime_pre_1900``, ``dates.DateFormatter.strftime``, - ``font_manager.TempCache``, - ``mathtext.unichr_safe`` (use ``chr`` instead), -- ``testing.ImageComparisonTest``, +- ``testing.compare.ImageComparisonTest``, ``testing.compare.compare_float``, +- ``testing.decorators.skip_if_command_unavailable``. +- ``FigureCanvasQT.keyAutoRepeat`` (directly check + ``event.guiEvent.isAutoRepeat()`` in the event handler to decide whether to + handle autorepeated key presses). - ``FigureCanvasWx.macros``, - ``_ImageBase.iterpnames``, use the ``interpolation_names`` property instead. (this affects classes that inherit from ``_ImageBase`` including diff --git a/doc/api/next_api_changes/2018-02-16-AL-deprecations.rst b/doc/api/next_api_changes/2018-02-16-AL-deprecations.rst deleted file mode 100644 index b605be7bdd24..000000000000 --- a/doc/api/next_api_changes/2018-02-16-AL-deprecations.rst +++ /dev/null @@ -1,5 +0,0 @@ -Deprecations -```````````` -The `~.FigureCanvasQT.keyAutoRepeat` property is deprecated. Directly check -``event.guiEvent.isAutoRepeat()`` in the event handler to decide whether to -handle autorepeated key presses. diff --git a/lib/matplotlib/testing/compare.py b/lib/matplotlib/testing/compare.py index f80de10184d5..6154fdc4e888 100644 --- a/lib/matplotlib/testing/compare.py +++ b/lib/matplotlib/testing/compare.py @@ -35,6 +35,7 @@ def make_test_filename(fname, purpose): return '%s-%s%s' % (base, purpose, ext) +@cbook.deprecated("3.0") def compare_float(expected, actual, relTol=None, absTol=None): """ Fail if the floating point values are not close enough, with diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py index faba2e24718f..4bf5d081d9cd 100644 --- a/lib/matplotlib/testing/decorators.py +++ b/lib/matplotlib/testing/decorators.py @@ -434,39 +434,16 @@ def image_comparison(baseline_images, extensions=None, tol=0, def _image_directories(func): """ Compute the baseline and result image directories for testing *func*. - Create the result directory if it doesn't exist. + + For test module ``foo.bar.test_baz``, the baseline directory is at + ``foo/bar/baseline_images/test_baz`` and the result directory at + ``$(pwd)/result_images/test_baz``. The result directory is created if it + doesn't exist. """ - module_name = func.__module__ - if module_name == '__main__': - # FIXME: this won't work for nested packages in matplotlib.tests - warnings.warn( - 'Test module run as script. Guessing baseline image locations.') - module_path = Path(sys.argv[0]).resolve() - subdir = module_path.stem - else: - module_path = Path(sys.modules[func.__module__].__file__) - mods = module_name.split('.') - if len(mods) >= 3: - mods.pop(0) - # mods[0] will be the name of the package being tested (in - # most cases "matplotlib") However if this is a - # namespace package pip installed and run via the nose - # multiprocess plugin or as a specific test this may be - # missing. See https://github.com/matplotlib/matplotlib/issues/3314 - if mods.pop(0) != 'tests': - warnings.warn( - "Module {!r} does not live in a parent module named 'tests'. " - "This is probably ok, but we may not be able to guess the " - "correct subdirectory containing the baseline images. If " - "things go wrong please make sure that there is a parent " - "directory named 'tests' and that it contains a __init__.py " - "file (can be empty).".format(module_name)) - subdir = os.path.join(*mods) - - baseline_dir = module_path.parent / 'baseline_images' / subdir - result_dir = Path().resolve() / 'result_images' / subdir + module_path = Path(sys.modules[func.__module__].__file__) + baseline_dir = module_path.parent / "baseline_images" / module_path.stem + result_dir = Path().resolve() / "result_images" / module_path.stem result_dir.mkdir(parents=True, exist_ok=True) - return str(baseline_dir), str(result_dir) @@ -489,6 +466,7 @@ def backend_switcher(*args, **kwargs): return switch_backend_decorator +@cbook.deprecated("3.0") def skip_if_command_unavailable(cmd): """ skips a test if a command is unavailable. diff --git a/lib/matplotlib/tests/test_compare_images.py b/lib/matplotlib/tests/test_compare_images.py index 4114f14b9815..162c5a1932aa 100644 --- a/lib/matplotlib/tests/test_compare_images.py +++ b/lib/matplotlib/tests/test_compare_images.py @@ -1,19 +1,11 @@ -from __future__ import absolute_import, division, print_function - -import six - -import io import os import shutil -import warnings -from numpy.testing import assert_almost_equal import pytest from pytest import approx from matplotlib.testing.compare import compare_images -from matplotlib.testing.decorators import _image_directories, image_comparison -from matplotlib.testing.exceptions import ImageComparisonFailure +from matplotlib.testing.decorators import _image_directories baseline_dir, result_dir = _image_directories(lambda: 'dummy func') diff --git a/lib/matplotlib/tests/test_dviread.py b/lib/matplotlib/tests/test_dviread.py index 6b005fd34170..9514c0f50e86 100644 --- a/lib/matplotlib/tests/test_dviread.py +++ b/lib/matplotlib/tests/test_dviread.py @@ -1,34 +1,32 @@ -from matplotlib.testing.decorators import skip_if_command_unavailable +import json +from pathlib import Path +import shutil import matplotlib.dviread as dr -import os.path -import json import pytest def test_PsfontsMap(monkeypatch): monkeypatch.setattr(dr, 'find_tex_file', lambda x: x) - filename = os.path.join( - os.path.dirname(__file__), - 'baseline_images', 'dviread', 'test.map') + filename = str(Path(__file__).parent / 'baseline_images/dviread/test.map') fontmap = dr.PsfontsMap(filename) # Check all properties of a few fonts for n in [1, 2, 3, 4, 5]: - key = ('TeXfont%d' % n).encode('ascii') + key = b'TeXfont%d' % n entry = fontmap[key] assert entry.texname == key - assert entry.psname == ('PSfont%d' % n).encode('ascii') + assert entry.psname == b'PSfont%d' % n if n not in [3, 5]: - assert entry.encoding == ('font%d.enc' % n).encode('ascii') + assert entry.encoding == b'font%d.enc' % n elif n == 3: assert entry.encoding == b'enc3.foo' # We don't care about the encoding of TeXfont5, which specifies # multiple encodings. if n not in [1, 5]: - assert entry.filename == ('font%d.pfa' % n).encode('ascii') + assert entry.filename == b'font%d.pfa' % n else: - assert entry.filename == ('font%d.pfb' % n).encode('ascii') + assert entry.filename == b'font%d.pfb' % n if n == 4: assert entry.effects == {'slant': -0.1, 'extend': 2.2} else: @@ -51,18 +49,16 @@ def test_PsfontsMap(monkeypatch): assert 'no-such-font' in str(exc.value) -@skip_if_command_unavailable(["kpsewhich", "-version"]) +@pytest.mark.skipif(shutil.which("kpsewhich") is None, + reason="kpsewhich is not available") def test_dviread(): - dir = os.path.join(os.path.dirname(__file__), 'baseline_images', 'dviread') - with open(os.path.join(dir, 'test.json')) as f: + dirpath = Path(__file__).parent / 'baseline_images/dviread' + with (dirpath / 'test.json').open() as f: correct = json.load(f) - for entry in correct: - entry['text'] = [[a, b, c, d.encode('ascii'), e] - for [a, b, c, d, e] in entry['text']] - with dr.Dvi(os.path.join(dir, 'test.dvi'), None) as dvi: + with dr.Dvi(str(dirpath / 'test.dvi'), None) as dvi: data = [{'text': [[t.x, t.y, chr(t.glyph), - t.font.texname, + t.font.texname.decode('ascii'), round(t.font.size, 2)] for t in page.text], 'boxes': [[b.x, b.y, b.height, b.width] for b in page.boxes]} From 445adb5d4809ca6c8490f5d96b7b882cb5a23e0c Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Tue, 17 Apr 2018 21:41:36 -0700 Subject: [PATCH 0535/1161] bytes % args is back since py3.5 so no need to format as strings and encode back to ascii. --- lib/matplotlib/backends/backend_pdf.py | 35 +++++++++++--------------- 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/lib/matplotlib/backends/backend_pdf.py b/lib/matplotlib/backends/backend_pdf.py index ca0e797411f7..e81d070dff07 100644 --- a/lib/matplotlib/backends/backend_pdf.py +++ b/lib/matplotlib/backends/backend_pdf.py @@ -145,7 +145,7 @@ def pdfRepr(obj): elif isinstance(obj, (float, np.floating)): if not np.isfinite(obj): raise ValueError("Can only output finite numbers in PDF") - r = ("%.10f" % obj).encode('ascii') + r = b"%.10f" % obj return r.rstrip(b'0').rstrip(b'.') # Booleans. Needs to be tested before integers since @@ -155,7 +155,7 @@ def pdfRepr(obj): # Integers are written as such. elif isinstance(obj, (int, np.integer)): - return ("%d" % obj).encode('ascii') + return b"%d" % obj # Unicode strings are encoded in UTF-16BE with byte-order mark. elif isinstance(obj, str): @@ -236,11 +236,11 @@ def __repr__(self): return "<Reference %d>" % self.id def pdfRepr(self): - return ("%d 0 R" % self.id).encode('ascii') + return b"%d 0 R" % self.id def write(self, contents, file): write = file.write - write(("%d 0 obj\n" % self.id).encode('ascii')) + write(b"%d 0 obj\n" % self.id) write(pdfRepr(contents)) write(b"\nendobj\n") @@ -378,7 +378,7 @@ def __init__(self, id, len, file, extra=None, png=None): def _writeHeader(self): write = self.file.write - write(("%d 0 obj\n" % self.id).encode('ascii')) + write(b"%d 0 obj\n" % self.id) dict = self.extra dict['Length'] = self.len if rcParams['pdf.compression']: @@ -858,7 +858,7 @@ def _get_xobject_symbol_name(self, filename, symbol_name): os.path.splitext(os.path.basename(filename))[0], symbol_name) - _identityToUnicodeCMap = """/CIDInit /ProcSet findresource begin + _identityToUnicodeCMap = b"""/CIDInit /ProcSet findresource begin 12 dict begin begincmap /CIDSystemInfo @@ -1096,18 +1096,17 @@ def embedTTFType42(font, characters, descriptor): unicode_bfrange = [] for start, end in unicode_groups: unicode_bfrange.append( - "<%04x> <%04x> [%s]" % + b"<%04x> <%04x> [%s]" % (start, end, - " ".join(["<%04x>" % x for x in range(start, end+1)]))) + b" ".join(b"<%04x>" % x for x in range(start, end+1)))) unicode_cmap = (self._identityToUnicodeCMap % - (len(unicode_groups), - "\n".join(unicode_bfrange))).encode('ascii') + (len(unicode_groups), b"\n".join(unicode_bfrange))) # CIDToGIDMap stream cid_to_gid_map = "".join(cid_to_gid_map).encode("utf-16be") self.beginStream(cidToGidMapObject.id, None, - {'Length': len(cid_to_gid_map)}) + {'Length': len(cid_to_gid_map)}) self.currentstream.write(cid_to_gid_map) self.endStream() @@ -1529,7 +1528,7 @@ def writeXref(self): """Write out the xref table.""" self.startxref = self.fh.tell() - self.tell_base - self.write(("xref\n0 %d\n" % self.nextObject).encode('ascii')) + self.write(b"xref\n0 %d\n" % self.nextObject) i = 0 borken = False for offset, generation, name in self.xrefTable: @@ -1538,12 +1537,9 @@ def writeXref(self): file=sys.stderr) borken = True else: - if name == 'the zero object': - key = "f" - else: - key = "n" - text = "%010d %05d %s \n" % (offset, generation, key) - self.write(text.encode('ascii')) + key = b"f" if name == 'the zero object' else b"n" + text = b"%010d %05d %b \n" % (offset, generation, key) + self.write(text) i += 1 if borken: raise AssertionError('Indirect object does not exist') @@ -1588,8 +1584,7 @@ def writeTrailer(self): 'Root': self.rootObject, 'Info': self.infoObject})) # Could add 'ID' - self.write(("\nstartxref\n%d\n%%%%EOF\n" % - self.startxref).encode('ascii')) + self.write(b"\nstartxref\n%d\n%%%%EOF\n" % self.startxref) class RendererPdf(RendererBase): From faeb7af99797e67e469b5f61b4970437417cd859 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Wed, 18 Apr 2018 01:14:28 -0700 Subject: [PATCH 0536/1161] Don't create texput.{aux,log} in rootdir everytime tests are run. These files are created by test_backend_pgf running its pretest checks in the root directory. Instead of gitignoring them, move that check to a temporary directory. --- .gitignore | 2 -- lib/matplotlib/tests/test_backend_pgf.py | 37 ++++++++++++------------ 2 files changed, 19 insertions(+), 20 deletions(-) diff --git a/.gitignore b/.gitignore index faa897b4f1c9..e77bc182dab0 100644 --- a/.gitignore +++ b/.gitignore @@ -74,8 +74,6 @@ examples/*/*.eps examples/*/*.svgz examples/tests/* !examples/tests/backend_driver.py -texput.log -texput.aux result_images # Nose/Pytest generated files # diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py index 1bc49b056eed..76949ad369e9 100644 --- a/lib/matplotlib/tests/test_backend_pgf.py +++ b/lib/matplotlib/tests/test_backend_pgf.py @@ -1,6 +1,8 @@ import os +from pathlib import Path import shutil import subprocess +from tempfile import TemporaryDirectory import numpy as np import pytest @@ -15,23 +17,23 @@ def check_for(texsystem): - header = """ - \\documentclass{minimal} - \\usepackage{pgf} - \\begin{document} - \\typeout{pgfversion=\\pgfversion} - \\makeatletter - \\@@end - """ - try: - latex = subprocess.Popen([str(texsystem), "-halt-on-error"], - stdin=subprocess.PIPE, - stdout=subprocess.PIPE) - stdout, stderr = latex.communicate(header.encode("utf8")) - except OSError: - return False - - return latex.returncode == 0 + with TemporaryDirectory() as tmpdir: + tex_path = Path(tmpdir, "test.tex") + tex_path.write_text(r""" + \documentclass{minimal} + \usepackage{pgf} + \begin{document} + \typeout{pgfversion=\pgfversion} + \makeatletter + \@@end + """) + try: + subprocess.check_call( + [texsystem, "-halt-on-error", str(tex_path)], cwd=tmpdir, + stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) + except (OSError, subprocess.CalledProcessError): + return False + return True needs_xelatex = pytest.mark.skipif(not check_for('xelatex'), @@ -97,7 +99,6 @@ def test_xelatex(): @image_comparison(baseline_images=['pgf_pdflatex'], extensions=['pdf'], style='default') def test_pdflatex(): - import os if os.environ.get('APPVEYOR', False): pytest.xfail("pdflatex test does not work on appveyor due to missing " "LaTeX fonts") From 377dba445e24cf58fbd9e6d01f87f85a4696e7db Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Wed, 18 Apr 2018 00:23:05 -0700 Subject: [PATCH 0537/1161] Drop alpha channel when saving comparison failure diff image. We drop (for the better or the worse) the alpha channel when *comparing* the images (in `compare_images`), but not when saving; thus, a comparison failure where additionally the reference has no alpha but the generated image has an alpha channel would so far raise a spurious "image sizes do not match" when trying to save the diff image, rather than actually saving the diff image as expected. Noted while running the Matplotlib test suite with mplcairo. --- lib/matplotlib/testing/compare.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/testing/compare.py b/lib/matplotlib/testing/compare.py index f80de10184d5..2804a3247d0e 100644 --- a/lib/matplotlib/testing/compare.py +++ b/lib/matplotlib/testing/compare.py @@ -422,8 +422,9 @@ def compare_images(expected, actual, tol, in_decorator=False): def save_diff_image(expected, actual, output): - expectedImage = _png.read_png(expected) - actualImage = _png.read_png(actual) + # Drop alpha channels, similarly to compare_images. + expectedImage = _png.read_png(expected)[..., :3] + actualImage = _png.read_png(actual)[..., :3] actualImage, expectedImage = crop_to_same( actual, actualImage, expected, expectedImage) expectedImage = np.array(expectedImage).astype(float) From afbbdd645d899e565400570a7b2ecd597ce307e0 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Wed, 18 Apr 2018 16:00:54 +0200 Subject: [PATCH 0538/1161] Fix short formatting for display --- lib/matplotlib/backend_tools.py | 24 ++++++++++++++++------ lib/matplotlib/tests/test_backend_tools.py | 20 ++++++++++++++++++ 2 files changed, 38 insertions(+), 6 deletions(-) create mode 100644 lib/matplotlib/tests/test_backend_tools.py diff --git a/lib/matplotlib/backend_tools.py b/lib/matplotlib/backend_tools.py index 0dfdfac8e261..7e33af8ca5e6 100644 --- a/lib/matplotlib/backend_tools.py +++ b/lib/matplotlib/backend_tools.py @@ -1026,13 +1026,24 @@ class ToolHelpBase(ToolBase): default_keymap = rcParams['keymap.help'] image = 'help.png' + + @staticmethod + def format_shortcut(keysequence): + """ + Converts a shortcut string from the notation used in rc config to the + standard notation for displaying shortcuts, e.g. 'ctrl+a' -> 'Ctrl+A'. + """ + def repl(match): + s = match.group(0) + return 'Shift+' + s if len( + s) == 1 and s.isupper() else s.capitalize() + if len(keysequence) == 1: + return keysequence # do not modify single characters + return re.sub(r"\w{2,}|(?<=\+)\w", repl, keysequence) + def _format_tool_keymap(self, name): keymaps = self.toolmanager.get_tool_keymap(name) - # Capitalize "ctrl+a" -> "Ctrl+A" but leave "a" as is. - return ", ".join(re.sub(r"\w{2,}|(?<=\+)\w", - lambda m: m.group(0).capitalize(), - keymap) - for keymap in keymaps) + return ", ".join(self.format_shortcut(keymap) for keymap in keymaps) def _get_help_text(self): entries = [] @@ -1053,7 +1064,8 @@ def _get_help_html(self): continue rows.append(fmt.format( name, self._format_tool_keymap(name), tool.description)) - return ("<table><thead>" + rows[0] + "</thead>" + return ("<style>td {padding: 0px 4px}</style>" + "<table><thead>" + rows[0] + "</thead>" "<tbody>".join(rows[1:]) + "</tbody></table>") diff --git a/lib/matplotlib/tests/test_backend_tools.py b/lib/matplotlib/tests/test_backend_tools.py new file mode 100644 index 000000000000..5c61ca004798 --- /dev/null +++ b/lib/matplotlib/tests/test_backend_tools.py @@ -0,0 +1,20 @@ +import pytest + +from matplotlib.backend_tools import ToolHelpBase + + +@pytest.mark.parametrize('rc_shortcut,expected', [ + ('home', 'Home'), + ('backspace', 'Backspace'), + ('f1', 'F1'), + ('ctrl+a', 'Ctrl+A'), + ('ctrl+A', 'Ctrl+Shift+A'), + ('a', 'a'), + ('A', 'A'), + ('ctrl+shift+f1', 'Ctrl+Shift+F1'), + ('1', '1'), + ('cmd+p', 'Cmd+P'), + ('cmd+1', 'Cmd+1'), +]) +def test_format_shortcut(rc_shortcut, expected): + assert ToolHelpBase.format_shortcut(rc_shortcut) == expected \ No newline at end of file From 59cb786bc30a73fbe3c114ea4b8cdff338e9bb5c Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Wed, 18 Apr 2018 09:37:45 -0700 Subject: [PATCH 0539/1161] Simpler format_shortcut. --- lib/matplotlib/backend_tools.py | 12 +++--------- lib/matplotlib/tests/test_backend_tools.py | 2 +- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/lib/matplotlib/backend_tools.py b/lib/matplotlib/backend_tools.py index 7e33af8ca5e6..a884cc838860 100644 --- a/lib/matplotlib/backend_tools.py +++ b/lib/matplotlib/backend_tools.py @@ -1026,20 +1026,14 @@ class ToolHelpBase(ToolBase): default_keymap = rcParams['keymap.help'] image = 'help.png' - @staticmethod - def format_shortcut(keysequence): + def format_shortcut(key_sequence): """ Converts a shortcut string from the notation used in rc config to the standard notation for displaying shortcuts, e.g. 'ctrl+a' -> 'Ctrl+A'. """ - def repl(match): - s = match.group(0) - return 'Shift+' + s if len( - s) == 1 and s.isupper() else s.capitalize() - if len(keysequence) == 1: - return keysequence # do not modify single characters - return re.sub(r"\w{2,}|(?<=\+)\w", repl, keysequence) + return (key_sequence if len(key_sequence) == 1 else + re.sub(r"\+[A-Z]", r"+Shift\g<0>", key_sequence).title()) def _format_tool_keymap(self, name): keymaps = self.toolmanager.get_tool_keymap(name) diff --git a/lib/matplotlib/tests/test_backend_tools.py b/lib/matplotlib/tests/test_backend_tools.py index 5c61ca004798..cc05a1a98f78 100644 --- a/lib/matplotlib/tests/test_backend_tools.py +++ b/lib/matplotlib/tests/test_backend_tools.py @@ -17,4 +17,4 @@ ('cmd+1', 'Cmd+1'), ]) def test_format_shortcut(rc_shortcut, expected): - assert ToolHelpBase.format_shortcut(rc_shortcut) == expected \ No newline at end of file + assert ToolHelpBase.format_shortcut(rc_shortcut) == expected From 50c78e7833a48b1cb504ba6a6e0779b9fc2f9fa5 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Wed, 18 Apr 2018 11:01:54 -0700 Subject: [PATCH 0540/1161] Py3fy backend_qt5 + other cleanups to the backend. Remove unused ToolbarQt._last. Deprecate error_msg_qt and exception_handler, which were added in 3e315fb (2005) and actually never used. --- .../2018-02-15-AL-deprecations.rst | 1 + lib/matplotlib/backends/backend_qt5.py | 33 +++++++++---------- 2 files changed, 16 insertions(+), 18 deletions(-) diff --git a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst index 3c0fedba810d..ce4a890988b9 100644 --- a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst +++ b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst @@ -11,6 +11,7 @@ The following modules are deprecated: The following classes, methods, functions, and attributes are deprecated: - ``afm.parse_afm``, +- ``backend_qt5.error_msg_qt``, ``backend_qt5.exception_handler``, - ``backend_wx.FigureCanvasWx.macros``, - ``cbook.GetRealpathAndStat``, ``cbook.Locked``, - ``cbook.is_numlike`` (use ``isinstance(..., numbers.Number)`` instead), diff --git a/lib/matplotlib/backends/backend_qt5.py b/lib/matplotlib/backends/backend_qt5.py index 0a0bf22e0291..5052dec31dfc 100644 --- a/lib/matplotlib/backends/backend_qt5.py +++ b/lib/matplotlib/backends/backend_qt5.py @@ -1,11 +1,8 @@ -import six - import functools import os import re import signal import sys -from six import unichr import traceback import matplotlib @@ -439,7 +436,7 @@ def _get_key(self, event): if event_key > MAX_UNICODE: return None - key = unichr(event_key) + key = chr(event_key) # qt delivers capitalized letters. fix capitalization # note that capslock is ignored if 'shift' in mods: @@ -678,7 +675,7 @@ def destroy(self, *args): self.window.close() def get_window_title(self): - return six.text_type(self.window.windowTitle()) + return self.window.windowTitle() def set_window_title(self, title): self.window.setWindowTitle(title) @@ -779,7 +776,7 @@ def edit_parameters(self): item, ok = QtWidgets.QInputDialog.getItem( self.parent, 'Customize', 'Select axes:', titles, 0, False) if ok: - axes = allaxes[titles.index(six.text_type(item))] + axes = allaxes[titles.index(item)] else: return @@ -825,7 +822,7 @@ def configure_subplots(self): def save_figure(self, *args): filetypes = self.canvas.get_supported_filetypes_grouped() - sorted_filetypes = sorted(six.iteritems(filetypes)) + sorted_filetypes = sorted(filetypes.items()) default_filetype = self.canvas.get_default_filetype() startpath = os.path.expanduser( @@ -848,12 +845,12 @@ def save_figure(self, *args): # Save dir for next time, unless empty str (i.e., use cwd). if startpath != "": matplotlib.rcParams['savefig.directory'] = ( - os.path.dirname(six.text_type(fname))) + os.path.dirname(fname)) try: - self.canvas.figure.savefig(six.text_type(fname)) + self.canvas.figure.savefig(fname) except Exception as e: QtWidgets.QMessageBox.critical( - self, "Error saving file", six.text_type(e), + self, "Error saving file", str(e), QtWidgets.QMessageBox.Ok, QtWidgets.QMessageBox.NoButton) @@ -931,7 +928,6 @@ def __init__(self, toolmanager, parent): QtWidgets.QToolBar.__init__(self, parent) self._toolitems = {} self._groups = {} - self._last = None @property def _icon_extension(self): @@ -956,7 +952,6 @@ def handler(): else: button.clicked.connect(handler) - self._last = button self._toolitems.setdefault(name, []) self._add_to_group(group, name, button, position) self._toolitems[name].append((button, handler)) @@ -1014,7 +1009,7 @@ def trigger(self, *args): class SaveFigureQt(backend_tools.SaveFigureBase): def trigger(self, *args): filetypes = self.canvas.get_supported_filetypes_grouped() - sorted_filetypes = sorted(six.iteritems(filetypes)) + sorted_filetypes = sorted(filetypes.items()) default_filetype = self.canvas.get_default_filetype() startpath = os.path.expanduser( @@ -1038,12 +1033,12 @@ def trigger(self, *args): # Save dir for next time, unless empty str (i.e., use cwd). if startpath != "": matplotlib.rcParams['savefig.directory'] = ( - os.path.dirname(six.text_type(fname))) + os.path.dirname(fname)) try: - self.canvas.figure.savefig(six.text_type(fname)) + self.canvas.figure.savefig(fname) except Exception as e: QtWidgets.QMessageBox.critical( - self, "Error saving file", six.text_type(e), + self, "Error saving file", str(e), QtWidgets.QMessageBox.Ok, QtWidgets.QMessageBox.NoButton) @@ -1070,14 +1065,16 @@ def remove_rubberband(self): backend_tools.ToolRubberband = RubberbandQt +@cbook.deprecated("3.0") def error_msg_qt(msg, parent=None): - if not isinstance(msg, six.string_types): + if not isinstance(msg, str): msg = ','.join(map(str, msg)) QtWidgets.QMessageBox.warning(None, "Matplotlib", msg, QtGui.QMessageBox.Ok) +@cbook.deprecated("3.0") def exception_handler(type, value, tb): """Handle uncaught exceptions It does not catch SystemExit @@ -1089,7 +1086,7 @@ def exception_handler(type, value, tb): if hasattr(value, 'strerror') and value.strerror is not None: msg += value.strerror else: - msg += six.text_type(value) + msg += str(value) if len(msg): error_msg_qt(msg) From f0923774e411ca2022e4fdc6fe8678c636f06908 Mon Sep 17 00:00:00 2001 From: Federico Ariza <ariza.federico@gmail.com> Date: Tue, 13 Feb 2018 13:28:08 -0500 Subject: [PATCH 0541/1161] GTK3 implementation of the copy canvas tool --- lib/matplotlib/backend_tools.py | 8 ++++++++ lib/matplotlib/backends/backend_gtk3.py | 10 ++++++++++ lib/matplotlib/rcsetup.py | 1 + 3 files changed, 19 insertions(+) diff --git a/lib/matplotlib/backend_tools.py b/lib/matplotlib/backend_tools.py index a884cc838860..866ccf6526f5 100644 --- a/lib/matplotlib/backend_tools.py +++ b/lib/matplotlib/backend_tools.py @@ -1063,6 +1063,13 @@ def _get_help_html(self): "<tbody>".join(rows[1:]) + "</tbody></table>") +class ToolCopyToClipboardBase(ToolBase): + """Tool to copy the figure to the clipboard""" + + description = 'Copy the canvas figure to clipboard' + default_keymap = rcParams['keymap.copy'] + + default_tools = {'home': ToolHome, 'back': ToolBack, 'forward': ToolForward, 'zoom': ToolZoom, 'pan': ToolPan, 'subplots': 'ToolConfigureSubplots', @@ -1081,6 +1088,7 @@ def _get_help_html(self): 'cursor': 'ToolSetCursor', 'rubberband': 'ToolRubberband', 'help': 'ToolHelp', + 'copy': 'ToolCopyToClipboard', } """Default tools""" diff --git a/lib/matplotlib/backends/backend_gtk3.py b/lib/matplotlib/backends/backend_gtk3.py index 5ed0a8db2d3d..2134bf75903d 100644 --- a/lib/matplotlib/backends/backend_gtk3.py +++ b/lib/matplotlib/backends/backend_gtk3.py @@ -856,6 +856,15 @@ def trigger(self, *args): dialog.destroy() +class ToolCopyToClipboardGTK3(backend_tools.ToolCopyToClipboardBase): + def trigger(self, *args, **kwargs): + clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) + window = self.canvas.get_window() + x, y, width, height = window.get_geometry() + pb = Gdk.pixbuf_get_from_window(window, x, y, width, height) + clipboard.set_image(pb) + + # Define the file to use as the GTk icon if sys.platform == 'win32': icon_filename = 'matplotlib.png' @@ -888,6 +897,7 @@ def error_msg_gtk(msg, parent=None): backend_tools.ToolSetCursor = SetCursorGTK3 backend_tools.ToolRubberband = RubberbandGTK3 backend_tools.ToolHelp = HelpGTK3 +backend_tools.ToolCopyToClipboard = ToolCopyToClipboardGTK3 Toolbar = ToolbarGTK3 diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index dcd2e6853b86..da9f8e1968c9 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -1421,6 +1421,7 @@ def _validate_linestyle(ls): 'keymap.xscale': [['k', 'L'], validate_stringlist], 'keymap.all_axes': [['a'], validate_stringlist], 'keymap.help': [['f1'], validate_stringlist], + 'keymap.copy': [('ctrl+c', 'cmd+c', 'shift+ctrl+c'), validate_stringlist], # sample data 'examples.directory': ['', validate_string], From 18df9222b9bc20aa2335c7b40efe13a06f00c8e6 Mon Sep 17 00:00:00 2001 From: Federico Ariza <ariza.federico@gmail.com> Date: Wed, 14 Feb 2018 12:57:25 -0500 Subject: [PATCH 0542/1161] QT copy to clipboard tool implementation --- lib/matplotlib/backends/backend_qt5.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/matplotlib/backends/backend_qt5.py b/lib/matplotlib/backends/backend_qt5.py index 5b94fd19d84b..a584f4e8de84 100644 --- a/lib/matplotlib/backends/backend_qt5.py +++ b/lib/matplotlib/backends/backend_qt5.py @@ -1069,11 +1069,18 @@ def trigger(self, *args): QtWidgets.QMessageBox.information(None, "Help", self._get_help_html()) +class ToolCopyToClipboardQT(backend_tools.ToolCopyToClipboardBase): + def trigger(self, *args, **kwargs): + pixmap = self.canvas.grab() + qApp.clipboard().setPixmap(pixmap) + + backend_tools.ToolSaveFigure = SaveFigureQt backend_tools.ToolConfigureSubplots = ConfigureSubplotsQt backend_tools.ToolSetCursor = SetCursorQt backend_tools.ToolRubberband = RubberbandQt backend_tools.ToolHelp = HelpQt +backend_tools.ToolCopyToClipboard = ToolCopyToClipboardQT def error_msg_qt(msg, parent=None): From 86d29682f79c94ec0bc6cadd9c9d414fc6fe4bf6 Mon Sep 17 00:00:00 2001 From: DietmarSchwertberger <github@schwertberger.de> Date: Tue, 20 Mar 2018 22:55:07 +0100 Subject: [PATCH 0543/1161] Add first implementation of ToolCopyToClipboardWx --- lib/matplotlib/backends/backend_wx.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/lib/matplotlib/backends/backend_wx.py b/lib/matplotlib/backends/backend_wx.py index dfbf23340492..709b9a7bf618 100644 --- a/lib/matplotlib/backends/backend_wx.py +++ b/lib/matplotlib/backends/backend_wx.py @@ -1826,9 +1826,22 @@ def remove_rubberband(self, dc=None): self._rect = None +class ToolCopyToClipboardWx(backend_tools.ToolCopyToClipboardBase): + def trigger(self, *args, **kwargs): + if not self.canvas._isDrawn: + self.canvas.draw() + if not self.canvas.bitmap.IsOk() or not wx.TheClipboard.Open(): + return + try: + wx.TheClipboard.SetData(wx.BitmapDataObject(self.canvas.bitmap)) + finally: + wx.TheClipboard.Close() + + backend_tools.ToolSaveFigure = SaveFigureWx backend_tools.ToolSetCursor = SetCursorWx backend_tools.ToolRubberband = RubberbandWx +backend_tools.ToolCopyToClipboard = ToolCopyToClipboardWx # < Additions for printing support: Matt Newville From 9923703e48e4bc94539877768a19aad5f83824d2 Mon Sep 17 00:00:00 2001 From: Federico Ariza <ariza.federico@gmail.com> Date: Thu, 12 Apr 2018 15:47:49 -0400 Subject: [PATCH 0544/1161] update rc template --- matplotlibrc.template | 1 + 1 file changed, 1 insertion(+) diff --git a/matplotlibrc.template b/matplotlibrc.template index a3416144f0f0..fcff5a5f27a1 100644 --- a/matplotlibrc.template +++ b/matplotlibrc.template @@ -591,6 +591,7 @@ backend : $TEMPLATE_BACKEND #keymap.yscale : l ## toggle scaling of y-axes ('log'/'linear') #keymap.xscale : k, L ## toggle scaling of x-axes ('log'/'linear') #keymap.all_axes : a ## enable all axes +#keymap.copy : ctrl+c, cmd+c, shift+ctrl+c ## Copy figure to clipboard ## Control location of examples data files #examples.directory : ## directory to look in for custom installation From 25aceeaea04e02962348ddb7a70600f57b4dd935 Mon Sep 17 00:00:00 2001 From: Federico Ariza <ariza.federico@gmail.com> Date: Wed, 18 Apr 2018 14:33:54 -0400 Subject: [PATCH 0545/1161] No copy tool for TK backend --- lib/matplotlib/backends/_backend_tk.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/matplotlib/backends/_backend_tk.py b/lib/matplotlib/backends/_backend_tk.py index 164077cdc713..c74d95593f46 100644 --- a/lib/matplotlib/backends/_backend_tk.py +++ b/lib/matplotlib/backends/_backend_tk.py @@ -971,11 +971,18 @@ def trigger(self, *args): dialog.done = lambda num: dialog.frame.master.withdraw() +class ToolCopyToClipboardTk(backend_tools.ToolCopyToClipboardBase): + def trigger(self, *args, **kwargs): + message = "Copy tool is not available for Tk backend" + self.toolmanager.message_event(message, self) + + backend_tools.ToolSaveFigure = SaveFigureTk backend_tools.ToolConfigureSubplots = ConfigureSubplotsTk backend_tools.ToolSetCursor = SetCursorTk backend_tools.ToolRubberband = RubberbandTk backend_tools.ToolHelp = HelpTk +backend_tools.ToolCopyToClipboard = ToolCopyToClipboardTk Toolbar = ToolbarTk From cff56e57b04730c2f17fa42c289e2cafaffea2c0 Mon Sep 17 00:00:00 2001 From: Federico Ariza <ariza.federico@gmail.com> Date: Wed, 18 Apr 2018 14:43:03 -0400 Subject: [PATCH 0546/1161] Base tool triggers message of not implemented --- lib/matplotlib/backend_tools.py | 4 ++++ lib/matplotlib/backends/_backend_tk.py | 4 +--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/backend_tools.py b/lib/matplotlib/backend_tools.py index 866ccf6526f5..803ce1c02c26 100644 --- a/lib/matplotlib/backend_tools.py +++ b/lib/matplotlib/backend_tools.py @@ -1069,6 +1069,10 @@ class ToolCopyToClipboardBase(ToolBase): description = 'Copy the canvas figure to clipboard' default_keymap = rcParams['keymap.copy'] + def trigger(self, *args, **kwargs): + message = "Copy tool is not available" + self.toolmanager.message_event(message, self) + default_tools = {'home': ToolHome, 'back': ToolBack, 'forward': ToolForward, 'zoom': ToolZoom, 'pan': ToolPan, diff --git a/lib/matplotlib/backends/_backend_tk.py b/lib/matplotlib/backends/_backend_tk.py index c74d95593f46..3c540b1b9aef 100644 --- a/lib/matplotlib/backends/_backend_tk.py +++ b/lib/matplotlib/backends/_backend_tk.py @@ -972,9 +972,7 @@ def trigger(self, *args): class ToolCopyToClipboardTk(backend_tools.ToolCopyToClipboardBase): - def trigger(self, *args, **kwargs): - message = "Copy tool is not available for Tk backend" - self.toolmanager.message_event(message, self) + pass backend_tools.ToolSaveFigure = SaveFigureTk From 2f131e1efc1e6893278838aa031b3d8dec13d059 Mon Sep 17 00:00:00 2001 From: Federico Ariza <ariza.federico@gmail.com> Date: Wed, 18 Apr 2018 14:49:59 -0400 Subject: [PATCH 0547/1161] removing unncesary class --- lib/matplotlib/backends/_backend_tk.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/lib/matplotlib/backends/_backend_tk.py b/lib/matplotlib/backends/_backend_tk.py index 3c540b1b9aef..85d42eb437dc 100644 --- a/lib/matplotlib/backends/_backend_tk.py +++ b/lib/matplotlib/backends/_backend_tk.py @@ -971,16 +971,12 @@ def trigger(self, *args): dialog.done = lambda num: dialog.frame.master.withdraw() -class ToolCopyToClipboardTk(backend_tools.ToolCopyToClipboardBase): - pass - - backend_tools.ToolSaveFigure = SaveFigureTk backend_tools.ToolConfigureSubplots = ConfigureSubplotsTk backend_tools.ToolSetCursor = SetCursorTk backend_tools.ToolRubberband = RubberbandTk backend_tools.ToolHelp = HelpTk -backend_tools.ToolCopyToClipboard = ToolCopyToClipboardTk +backend_tools.ToolCopyToClipboard = backend_tools.ToolCopyToClipboardBase Toolbar = ToolbarTk From 584bf3e3cc838f6b16242da8826ef6b89d278cdb Mon Sep 17 00:00:00 2001 From: Federico Ariza <ariza.federico@gmail.com> Date: Wed, 18 Apr 2018 16:16:17 -0400 Subject: [PATCH 0548/1161] removing ctrl+shift+c from copy tool --- lib/matplotlib/rcsetup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index da9f8e1968c9..988dbfb45ba1 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -1421,7 +1421,7 @@ def _validate_linestyle(ls): 'keymap.xscale': [['k', 'L'], validate_stringlist], 'keymap.all_axes': [['a'], validate_stringlist], 'keymap.help': [['f1'], validate_stringlist], - 'keymap.copy': [('ctrl+c', 'cmd+c', 'shift+ctrl+c'), validate_stringlist], + 'keymap.copy': [('ctrl+c', 'cmd+c'), validate_stringlist], # sample data 'examples.directory': ['', validate_string], From e87cb47b4a1d68ba8f879a18ddea4fd0929e2dc0 Mon Sep 17 00:00:00 2001 From: Federico Ariza <ariza.federico@gmail.com> Date: Wed, 18 Apr 2018 16:21:21 -0400 Subject: [PATCH 0549/1161] copy tool keymap as list --- lib/matplotlib/rcsetup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index 988dbfb45ba1..af812ebb08c7 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -1421,7 +1421,7 @@ def _validate_linestyle(ls): 'keymap.xscale': [['k', 'L'], validate_stringlist], 'keymap.all_axes': [['a'], validate_stringlist], 'keymap.help': [['f1'], validate_stringlist], - 'keymap.copy': [('ctrl+c', 'cmd+c'), validate_stringlist], + 'keymap.copy': [['ctrl+c', 'cmd+c'], validate_stringlist], # sample data 'examples.directory': ['', validate_string], From 3866f298f7b71e0796ad0826ea79b9e177b142e6 Mon Sep 17 00:00:00 2001 From: Federico Ariza <ariza.federico@gmail.com> Date: Wed, 18 Apr 2018 16:23:16 -0400 Subject: [PATCH 0550/1161] update rc.template --- matplotlibrc.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/matplotlibrc.template b/matplotlibrc.template index fcff5a5f27a1..f4549755ed01 100644 --- a/matplotlibrc.template +++ b/matplotlibrc.template @@ -591,7 +591,7 @@ backend : $TEMPLATE_BACKEND #keymap.yscale : l ## toggle scaling of y-axes ('log'/'linear') #keymap.xscale : k, L ## toggle scaling of x-axes ('log'/'linear') #keymap.all_axes : a ## enable all axes -#keymap.copy : ctrl+c, cmd+c, shift+ctrl+c ## Copy figure to clipboard +#keymap.copy : ctrl+c, cmd+c ## Copy figure to clipboard ## Control location of examples data files #examples.directory : ## directory to look in for custom installation From eb6a881ae1d5224ff5db1cd72e7bb503ffb503dc Mon Sep 17 00:00:00 2001 From: DietmarSchwertberger <github@schwertberger.de> Date: Wed, 18 Apr 2018 23:44:02 +0200 Subject: [PATCH 0551/1161] Help tool for Wx backends --- lib/matplotlib/backend_tools.py | 19 ++++++------ lib/matplotlib/backends/backend_wx.py | 44 +++++++++++++++++++++++++++ 2 files changed, 54 insertions(+), 9 deletions(-) diff --git a/lib/matplotlib/backend_tools.py b/lib/matplotlib/backend_tools.py index a884cc838860..a0faddd1ad9e 100644 --- a/lib/matplotlib/backend_tools.py +++ b/lib/matplotlib/backend_tools.py @@ -1039,30 +1039,31 @@ def _format_tool_keymap(self, name): keymaps = self.toolmanager.get_tool_keymap(name) return ", ".join(self.format_shortcut(keymap) for keymap in keymaps) - def _get_help_text(self): + def _get_help_entries(self): entries = [] for name, tool in sorted(self.toolmanager.tools.items()): if not tool.description: continue - entries.append( - "{}: {}\n\t{}".format( - name, self._format_tool_keymap(name), tool.description)) + entries.append((name, self._format_tool_keymap(name), + tool.description)) + return entries + + def _get_help_text(self): + entries = self._get_help_entries() + entries = ["{}: {}\n\t{}".format(*entry) for entry in entries] return "\n".join(entries) def _get_help_html(self): fmt = "<tr><td>{}</td><td>{}</td><td>{}</td></tr>" rows = [fmt.format( "<b>Action</b>", "<b>Shortcuts</b>", "<b>Description</b>")] - for name, tool in sorted(self.toolmanager.tools.items()): - if not tool.description: - continue - rows.append(fmt.format( - name, self._format_tool_keymap(name), tool.description)) + rows += [fmt.format(*row) for row in self._get_help_entries()] return ("<style>td {padding: 0px 4px}</style>" "<table><thead>" + rows[0] + "</thead>" "<tbody>".join(rows[1:]) + "</tbody></table>") + default_tools = {'home': ToolHome, 'back': ToolBack, 'forward': ToolForward, 'zoom': ToolZoom, 'pan': ToolPan, 'subplots': 'ToolConfigureSubplots', diff --git a/lib/matplotlib/backends/backend_wx.py b/lib/matplotlib/backends/backend_wx.py index dfbf23340492..0474dca1704e 100644 --- a/lib/matplotlib/backends/backend_wx.py +++ b/lib/matplotlib/backends/backend_wx.py @@ -1826,9 +1826,53 @@ def remove_rubberband(self, dc=None): self._rect = None +class _TableDialog(wx.Dialog): + def __init__(self, parent, help, title="Help"): + wx.Dialog.__init__(self, parent, title=title, + style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER) + + sizer = wx.BoxSizer(wx.VERTICAL) + grid_sizer = wx.FlexGridSizer(0, 3, 8, 6) + # create and add the entries + widths = [100,140, 300] + bold = self.GetFont().MakeBold() + for r,row in enumerate(help): + for (col,width) in zip(row, widths): + label = wx.StaticText(self, label=col) + if r==0: + label.SetFont(bold) + label.Wrap(width) + grid_sizer.Add(label, 0, 0, 0) + # finalize layout, create button + sizer.Add(grid_sizer, 0, wx.ALL, 6) + OK = wx.Button(self, wx.ID_OK) + sizer.Add(OK, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALL, 8) + self.SetSizer(sizer) + sizer.Fit(self) + self.Layout() + self.Bind(wx.EVT_CLOSE, self.OnClose) + + def OnClose(self, evt): + self.DestroyLater() + evt.Skip() + + +class HelpWx(backend_tools.ToolHelpBase): + def trigger(self, *args): + wx.MessageBox(self._get_help_text().replace("\t", " "), + "Help", style=wx.OK|wx.CENTRE, + parent=self.figure.canvas.GetTopLevelParent()) + def trigger(self, *args): + help = [("Action","Shortcuts", "Description")] + help += self._get_help_entries() + dlg = _TableDialog(self.figure.canvas.GetTopLevelParent(), help) + dlg.Show() + + backend_tools.ToolSaveFigure = SaveFigureWx backend_tools.ToolSetCursor = SetCursorWx backend_tools.ToolRubberband = RubberbandWx +backend_tools.ToolHelp = HelpWx # < Additions for printing support: Matt Newville From eb1b77614982745402cace64b0999b339ed3e320 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Thu, 19 Apr 2018 00:00:16 +0200 Subject: [PATCH 0552/1161] Update Pie Demo2 --- examples/pie_and_polar_charts/pie_demo2.py | 78 +++++++++------------- 1 file changed, 31 insertions(+), 47 deletions(-) diff --git a/examples/pie_and_polar_charts/pie_demo2.py b/examples/pie_and_polar_charts/pie_demo2.py index f5c4dae4cf74..6487e20b3d6d 100644 --- a/examples/pie_and_polar_charts/pie_demo2.py +++ b/examples/pie_and_polar_charts/pie_demo2.py @@ -3,60 +3,44 @@ Pie Demo2 ========= -Make a pie charts of varying size - see -https://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.pie for the -docstring. - -This example shows a basic pie charts with labels optional features, -like autolabeling the percentage, offsetting a slice with "explode" -and adding a shadow, in different sizes. +Make a pie charts using :meth:`.Axes.pie`. +This example demonstrates some pie chart features like labels, varying size, +autolabeling the percentage, offsetting a slice and adding a shadow. """ + import matplotlib.pyplot as plt -from matplotlib.gridspec import GridSpec # Some data - labels = 'Frogs', 'Hogs', 'Dogs', 'Logs' fracs = [15, 30, 45, 10] -explode = (0, 0.05, 0, 0) - -# Make square figures and axes - -the_grid = GridSpec(2, 2) - -plt.subplot(the_grid[0, 0], aspect=1) - -plt.pie(fracs, labels=labels, autopct='%1.1f%%', shadow=True) - -plt.subplot(the_grid[0, 1], aspect=1) - -plt.pie(fracs, explode=explode, labels=labels, autopct='%.0f%%', shadow=True) - -plt.subplot(the_grid[1, 0], aspect=1) - -patches, texts, autotexts = plt.pie(fracs, labels=labels, - autopct='%.0f%%', - shadow=True, radius=0.5) - -# Make the labels on the small plot easier to read. -for t in texts: - t.set_size('smaller') -for t in autotexts: - t.set_size('x-small') -autotexts[0].set_color('y') - -plt.subplot(the_grid[1, 1], aspect=1) - -# Turn off shadow for tiny plot with exploded slice. -patches, texts, autotexts = plt.pie(fracs, explode=explode, - labels=labels, autopct='%.0f%%', - shadow=False, radius=0.5) -for t in texts: - t.set_size('smaller') -for t in autotexts: - t.set_size('x-small') -autotexts[0].set_color('y') +# Make figure and axes +fig, axs = plt.subplots(2, 2) + +# A standard pie plot +axs[0, 0].pie(fracs, labels=labels, autopct='%1.1f%%', shadow=True) + +# Shift the second slice using explode +axs[0, 1].pie(fracs, labels=labels, autopct='%.0f%%', shadow=True, + explode=(0, 0.1, 0, 0)) + +# Adapt radius and text size for a smaller pie +patches, texts, autotexts = axs[1, 0].pie(fracs, labels=labels, + autopct='%.0f%%', + textprops={'size': 'smaller'}, + shadow=True, radius=0.5) +# Make percent texts even smaller +plt.setp(autotexts, size='x-small') +autotexts[0].set_color('white') + +# Use a smaller explode and turn of the shadow for better visibility +patches, texts, autotexts = axs[1, 1].pie(fracs, labels=labels, + autopct='%.0f%%', + textprops={'size': 'smaller'}, + shadow=False, radius=0.5, + explode=(0, 0.05, 0, 0)) +plt.setp(autotexts, size='x-small') +autotexts[0].set_color('white') plt.show() From 31e32ddf8d7ffbce50b56bdf9c3023b2620cbcbd Mon Sep 17 00:00:00 2001 From: DietmarSchwertberger <github@schwertberger.de> Date: Thu, 19 Apr 2018 00:15:34 +0200 Subject: [PATCH 0553/1161] fix PEP8 and remove first, pure-text implementation --- lib/matplotlib/backends/backend_wx.py | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/lib/matplotlib/backends/backend_wx.py b/lib/matplotlib/backends/backend_wx.py index 0474dca1704e..46a22ed44115 100644 --- a/lib/matplotlib/backends/backend_wx.py +++ b/lib/matplotlib/backends/backend_wx.py @@ -1834,12 +1834,12 @@ def __init__(self, parent, help, title="Help"): sizer = wx.BoxSizer(wx.VERTICAL) grid_sizer = wx.FlexGridSizer(0, 3, 8, 6) # create and add the entries - widths = [100,140, 300] + widths = [100, 140, 300] bold = self.GetFont().MakeBold() - for r,row in enumerate(help): - for (col,width) in zip(row, widths): + for r, row in enumerate(help): + for (col, width) in zip(row, widths): label = wx.StaticText(self, label=col) - if r==0: + if r == 0: label.SetFont(bold) label.Wrap(width) grid_sizer.Add(label, 0, 0, 0) @@ -1858,10 +1858,6 @@ def OnClose(self, evt): class HelpWx(backend_tools.ToolHelpBase): - def trigger(self, *args): - wx.MessageBox(self._get_help_text().replace("\t", " "), - "Help", style=wx.OK|wx.CENTRE, - parent=self.figure.canvas.GetTopLevelParent()) def trigger(self, *args): help = [("Action","Shortcuts", "Description")] help += self._get_help_entries() From 931973c71af548b80d117efce068bd4ab63c8860 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade <quantum.analyst@gmail.com> Date: Wed, 18 Apr 2018 22:09:47 -0400 Subject: [PATCH 0554/1161] Use GtkShortcutsWindow for Help tool. --- lib/matplotlib/backends/backend_gtk3.py | 69 ++++++++++++++++++++++++- 1 file changed, 68 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/backends/backend_gtk3.py b/lib/matplotlib/backends/backend_gtk3.py index 5ed0a8db2d3d..985dbe06c57e 100644 --- a/lib/matplotlib/backends/backend_gtk3.py +++ b/lib/matplotlib/backends/backend_gtk3.py @@ -847,7 +847,68 @@ def trigger(self, sender, event, data=None): class HelpGTK3(backend_tools.ToolHelpBase): - def trigger(self, *args): + def _normalize_shortcut(self, key): + """ + Convert Matplotlib key presses to GTK+ accelerator identifiers. + + Related to `FigureCanvasGTK3._get_key`. + """ + special = { + 'backspace': 'BackSpace', + 'pagedown': 'Page_Down', + 'pageup': 'Page_Up', + 'scroll_lock': 'Scroll_Lock', + } + + parts = key.split('+') + mods = ['<' + mod + '>' for mod in parts[:-1]] + key = parts[-1] + + if key in special: + key = special[key] + elif len(key) > 1: + key = key.capitalize() + elif key.isupper(): + mods += ['<shift>'] + + return ''.join(mods) + key + + def _show_shortcuts_window(self): + section = Gtk.ShortcutsSection() + + for name, tool in sorted(self.toolmanager.tools.items()): + if not tool.description: + continue + + # Putting everything in a separate group allows GTK to + # automatically split them into separate columns/pages, which is + # useful because we have lots of shortcuts, some with many keys + # that are very wide. + group = Gtk.ShortcutsGroup() + section.add(group) + # A hack to remove the title since we have no group naming. + group.forall(lambda widget, data: widget.set_visible(False), None) + + shortcut = Gtk.ShortcutsShortcut( + accelerator=' '.join( + self._normalize_shortcut(key) + for key in self.toolmanager.get_tool_keymap(name) + # Will never be sent: + if 'cmd+' not in key), + title=tool.name, + subtitle=tool.description) + group.add(shortcut) + + window = Gtk.ShortcutsWindow( + title='Help', + modal=True, + transient_for=self._figure.canvas.get_toplevel()) + section.show() # Must be done explicitly before add! + window.add(section) + + window.show_all() + + def _show_shortcuts_dialog(self): dialog = Gtk.MessageDialog( self._figure.canvas.get_toplevel(), 0, Gtk.MessageType.INFO, Gtk.ButtonsType.OK, self._get_help_text(), @@ -855,6 +916,12 @@ def trigger(self, *args): dialog.run() dialog.destroy() + def trigger(self, *args): + if Gtk.check_version(3, 20, 0) is None: + self._show_shortcuts_window() + else: + self._show_shortcuts_dialog() + # Define the file to use as the GTk icon if sys.platform == 'win32': From 48da3f1674c6fd859e206043a9ccdd773133fee0 Mon Sep 17 00:00:00 2001 From: DietmarSchwertberger <github@schwertberger.de> Date: Thu, 19 Apr 2018 19:34:56 +0200 Subject: [PATCH 0555/1161] fix PEP78, rename help->help_entries; if a help dialog is already open, just raise it --- lib/matplotlib/backend_tools.py | 1 - lib/matplotlib/backends/backend_wx.py | 21 ++++++++++++++------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/lib/matplotlib/backend_tools.py b/lib/matplotlib/backend_tools.py index a0faddd1ad9e..3568acc0619d 100644 --- a/lib/matplotlib/backend_tools.py +++ b/lib/matplotlib/backend_tools.py @@ -1063,7 +1063,6 @@ def _get_help_html(self): "<tbody>".join(rows[1:]) + "</tbody></table>") - default_tools = {'home': ToolHome, 'back': ToolBack, 'forward': ToolForward, 'zoom': ToolZoom, 'pan': ToolPan, 'subplots': 'ToolConfigureSubplots', diff --git a/lib/matplotlib/backends/backend_wx.py b/lib/matplotlib/backends/backend_wx.py index 46a22ed44115..91fceb02d9db 100644 --- a/lib/matplotlib/backends/backend_wx.py +++ b/lib/matplotlib/backends/backend_wx.py @@ -1826,8 +1826,8 @@ def remove_rubberband(self, dc=None): self._rect = None -class _TableDialog(wx.Dialog): - def __init__(self, parent, help, title="Help"): +class _HelpDialog(wx.Dialog): + def __init__(self, parent, help_entries, title="Help"): wx.Dialog.__init__(self, parent, title=title, style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER) @@ -1836,7 +1836,7 @@ def __init__(self, parent, help, title="Help"): # create and add the entries widths = [100, 140, 300] bold = self.GetFont().MakeBold() - for r, row in enumerate(help): + for r, row in enumerate(help_entries): for (col, width) in zip(row, widths): label = wx.StaticText(self, label=col) if r == 0: @@ -1851,18 +1851,25 @@ def __init__(self, parent, help, title="Help"): sizer.Fit(self) self.Layout() self.Bind(wx.EVT_CLOSE, self.OnClose) + OK.Bind(wx.EVT_BUTTON, self.OnClose) def OnClose(self, evt): + HelpWx.dlg = None self.DestroyLater() evt.Skip() class HelpWx(backend_tools.ToolHelpBase): + dlg = None def trigger(self, *args): - help = [("Action","Shortcuts", "Description")] - help += self._get_help_entries() - dlg = _TableDialog(self.figure.canvas.GetTopLevelParent(), help) - dlg.Show() + if self.dlg: + self.dlg.Raise() + return + help_entries = [("Action", "Shortcuts", "Description")] + help_entries += self._get_help_entries() + self.dlg = _HelpDialog(self.figure.canvas.GetTopLevelParent(), + help_entries) + self.dlg.Show() backend_tools.ToolSaveFigure = SaveFigureWx From 8818ee322e96c774801ec49a58fdf5d01045e322 Mon Sep 17 00:00:00 2001 From: DietmarSchwertberger <github@schwertberger.de> Date: Thu, 19 Apr 2018 20:09:55 +0200 Subject: [PATCH 0556/1161] fix handling of the global reference to the open dialog; add comments to make clear --- lib/matplotlib/backends/backend_wx.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/lib/matplotlib/backends/backend_wx.py b/lib/matplotlib/backends/backend_wx.py index 91fceb02d9db..b20df61ac7ad 100644 --- a/lib/matplotlib/backends/backend_wx.py +++ b/lib/matplotlib/backends/backend_wx.py @@ -1854,22 +1854,24 @@ def __init__(self, parent, help_entries, title="Help"): OK.Bind(wx.EVT_BUTTON, self.OnClose) def OnClose(self, evt): - HelpWx.dlg = None + HelpWx.dlg = None # remove global reference self.DestroyLater() evt.Skip() class HelpWx(backend_tools.ToolHelpBase): - dlg = None + dlg = None # a reference to the opened dialog, to avoid more than one def trigger(self, *args): - if self.dlg: - self.dlg.Raise() + if HelpWx.dlg: + # previous dialog is still open + HelpWx.dlg.Raise() return + # create new dialog and keep a reference help_entries = [("Action", "Shortcuts", "Description")] help_entries += self._get_help_entries() - self.dlg = _HelpDialog(self.figure.canvas.GetTopLevelParent(), - help_entries) - self.dlg.Show() + HelpWx.dlg = _HelpDialog(self.figure.canvas.GetTopLevelParent(), + help_entries) + HelpWx.dlg.Show() backend_tools.ToolSaveFigure = SaveFigureWx From 78ffba8120fa9ab4b33703fbada93f8f55282987 Mon Sep 17 00:00:00 2001 From: DietmarSchwertberger <github@schwertberger.de> Date: Thu, 19 Apr 2018 21:25:03 +0200 Subject: [PATCH 0557/1161] move singleton reference to _HelpDialog and implement class method show() --- lib/matplotlib/backends/backend_wx.py | 36 ++++++++++++++------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/lib/matplotlib/backends/backend_wx.py b/lib/matplotlib/backends/backend_wx.py index b20df61ac7ad..5e2e56dfecf0 100644 --- a/lib/matplotlib/backends/backend_wx.py +++ b/lib/matplotlib/backends/backend_wx.py @@ -1827,17 +1827,19 @@ def remove_rubberband(self, dc=None): class _HelpDialog(wx.Dialog): - def __init__(self, parent, help_entries, title="Help"): - wx.Dialog.__init__(self, parent, title=title, + _instance = None # a reference to an open dialog singleton + headers = [("Action", "Shortcuts", "Description")] + widths = [100, 140, 300] + def __init__(self, parent, help_entries): + wx.Dialog.__init__(self, parent, title="Help", style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER) sizer = wx.BoxSizer(wx.VERTICAL) grid_sizer = wx.FlexGridSizer(0, 3, 8, 6) # create and add the entries - widths = [100, 140, 300] bold = self.GetFont().MakeBold() - for r, row in enumerate(help_entries): - for (col, width) in zip(row, widths): + for r, row in enumerate(self.headers + help_entries): + for (col, width) in zip(row, self.widths): label = wx.StaticText(self, label=col) if r == 0: label.SetFont(bold) @@ -1854,24 +1856,24 @@ def __init__(self, parent, help_entries, title="Help"): OK.Bind(wx.EVT_BUTTON, self.OnClose) def OnClose(self, evt): - HelpWx.dlg = None # remove global reference + _HelpDialog.instance = None # remove global reference self.DestroyLater() evt.Skip() + @classmethod + def show(cls, parent, help_entries): + # if no dialog is shown, create one; otherwise just re-raise it + if cls._instance: + cls._instance.Raise() + return + cls._instance = cls(parent, help_entries) + cls._instance.Show() + class HelpWx(backend_tools.ToolHelpBase): - dlg = None # a reference to the opened dialog, to avoid more than one def trigger(self, *args): - if HelpWx.dlg: - # previous dialog is still open - HelpWx.dlg.Raise() - return - # create new dialog and keep a reference - help_entries = [("Action", "Shortcuts", "Description")] - help_entries += self._get_help_entries() - HelpWx.dlg = _HelpDialog(self.figure.canvas.GetTopLevelParent(), - help_entries) - HelpWx.dlg.Show() + _HelpDialog.show(self.figure.canvas.GetTopLevelParent(), + self._get_help_entries()) backend_tools.ToolSaveFigure = SaveFigureWx From 1f51923cd562f79adb42103e9784f401afb9cae8 Mon Sep 17 00:00:00 2001 From: DietmarSchwertberger <github@schwertberger.de> Date: Thu, 19 Apr 2018 22:23:59 +0200 Subject: [PATCH 0558/1161] add line for PEP8 --- lib/matplotlib/backends/backend_wx.py | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/matplotlib/backends/backend_wx.py b/lib/matplotlib/backends/backend_wx.py index 5e2e56dfecf0..6db13591143e 100644 --- a/lib/matplotlib/backends/backend_wx.py +++ b/lib/matplotlib/backends/backend_wx.py @@ -1830,6 +1830,7 @@ class _HelpDialog(wx.Dialog): _instance = None # a reference to an open dialog singleton headers = [("Action", "Shortcuts", "Description")] widths = [100, 140, 300] + def __init__(self, parent, help_entries): wx.Dialog.__init__(self, parent, title="Help", style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER) From a5b071bbcd46c1dbffe9ac671350257a3a065114 Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Fri, 20 Apr 2018 11:42:23 +0100 Subject: [PATCH 0559/1161] 0.0 --> 0 --- lib/matplotlib/axes/_base.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index ddd27adac269..0911d6295818 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -3048,13 +3048,13 @@ def set_xlim(self, left=None, right=None, emit=True, auto=False, **kw): left, right = mtransforms.nonsingular(left, right, increasing=False) if self.get_xscale() == 'log': - if left <= 0.0: + if left <= 0: warnings.warn( 'Attempted to set non-positive left xlim on a ' 'log-scaled axis.\n' 'Invalid limit will be ignored.') left = old_left - if right <= 0.0: + if right <= 0: warnings.warn( 'Attempted to set non-positive right xlim on a ' 'log-scaled axis.\n' @@ -3378,13 +3378,13 @@ def set_ylim(self, bottom=None, top=None, emit=True, auto=False, **kw): bottom, top = mtransforms.nonsingular(bottom, top, increasing=False) if self.get_yscale() == 'log': - if bottom <= 0.0: + if bottom <= 0: warnings.warn( 'Attempted to set non-positive bottom ylim on a ' 'log-scaled axis.\n' 'Invalid limit will be ignored.') bottom = old_bottom - if top <= 0.0: + if top <= 0: warnings.warn( 'Attempted to set non-positive top ylim on a ' 'log-scaled axis.\n' From 24cfd6b68330173352fbe01f7b62c8d521d0aab0 Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Fri, 20 Apr 2018 12:35:52 +0100 Subject: [PATCH 0560/1161] Clean docstring of CountourSet --- lib/matplotlib/contour.py | 73 +++++++++++++++++++-------------------- 1 file changed, 35 insertions(+), 38 deletions(-) diff --git a/lib/matplotlib/contour.py b/lib/matplotlib/contour.py index 6e473671419e..193ec1ece87c 100644 --- a/lib/matplotlib/contour.py +++ b/lib/matplotlib/contour.py @@ -740,6 +740,41 @@ class ContourSet(cm.ScalarMappable, ContourLabeler): User-callable method: clabel + Parameters + ---------- + ax : `~.axes.Axes` + + levels : [level0, level1, ..., leveln] + A list of floating point numbers indicating the contour + levels. + + allsegs : [level0segs, level1segs, ...] + List of all the polygon segments for all the *levels*. + For contour lines ``len(allsegs) == len(levels)``, and for + filled contour regions ``len(allsegs) = len(levels)-1``. The lists + should look like:: + + level0segs = [polygon0, polygon1, ...] + polygon0 = array_like [[x0,y0], [x1,y1], ...] + + allkinds : ``None`` or [level0kinds, level1kinds, ...] + Optional list of all the polygon vertex kinds (code types), as + described and used in Path. This is used to allow multiply- + connected paths such as holes within filled polygons. + If not ``None``, ``len(allkinds) == len(allsegs)``. The lists + should look like:: + + level0kinds = [polygon0kinds, ...] + polygon0kinds = [vertexcode0, vertexcode1, ...] + + If *allkinds* is not ``None``, usually all polygons for a + particular contour level are grouped together so that + ``level0segs = [polygon0]`` and ``level0kinds = [polygon0kinds]``. + + kwargs : + Keyword arguments are as described in the docstring of + `~.Axes.contour`. + Attributes ---------- ax: @@ -757,44 +792,6 @@ class ContourSet(cm.ScalarMappable, ContourLabeler): """ def __init__(self, ax, *args, **kwargs): - """ - Draw contour lines or filled regions, depending on - whether keyword arg *filled* is ``False`` (default) or ``True``. - - The first three arguments must be: - - *ax*: axes object. - - *levels*: [level0, level1, ..., leveln] - A list of floating point numbers indicating the contour - levels. - - *allsegs*: [level0segs, level1segs, ...] - List of all the polygon segments for all the *levels*. - For contour lines ``len(allsegs) == len(levels)``, and for - filled contour regions ``len(allsegs) = len(levels)-1``. The lists - should look like:: - - level0segs = [polygon0, polygon1, ...] - polygon0 = array_like [[x0,y0], [x1,y1], ...] - - *allkinds*: *None* or [level0kinds, level1kinds, ...] - Optional list of all the polygon vertex kinds (code types), as - described and used in Path. This is used to allow multiply- - connected paths such as holes within filled polygons. - If not ``None``, ``len(allkinds) == len(allsegs)``. The lists - should look like:: - - level0kinds = [polygon0kinds, ...] - polygon0kinds = [vertexcode0, vertexcode1, ...] - - If *allkinds* is not ``None``, usually all polygons for a - particular contour level are grouped together so that - ``level0segs = [polygon0]`` and ``level0kinds = [polygon0kinds]``. - - Keyword arguments are as described in the docstring of - `~.Axes.contour`. - """ self.ax = ax self.levels = kwargs.pop('levels', None) self.filled = kwargs.pop('filled', False) From bc44e3ed093573e8d08b307feb834fb1f838a384 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Fri, 20 Apr 2018 23:55:06 -0700 Subject: [PATCH 0561/1161] Schedule a removal date for passing normed (instead of density) to hist. I'll give it one more minor release as there was no scheduled removal date... --- lib/matplotlib/axes/_axes.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index e502d3b8ec6a..0e7b7f383163 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -6175,8 +6175,8 @@ def hist(self, x, bins=None, range=None, density=None, weights=None, "Please only use 'density', since 'normed'" "is deprecated.") if normed is not None: - warnings.warn("The 'normed' kwarg is deprecated, and has been " - "replaced by the 'density' kwarg.") + cbook.warn_deprecated("2.1", name="'normed'", obj_type="kwarg", + alternative="'density'", removal="3.1") # basic input validation input_empty = np.size(x) == 0 From 6f430173057deba08d3b22c48f007f995af3b910 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Fri, 20 Apr 2018 21:03:25 -0700 Subject: [PATCH 0562/1161] Remove support for bar(left=...) (as opposed to bar(x=...)). This was scheduled for 3.0. Some tests implicitly relied on the old default of 'align="edge"' (via the _classic_test style), they were manually updated. test_bar{,h}_signature was removed as it doesn't really serve any purpose anymore. --- doc/api/next_api_changes/2018-04-20-AL.rst | 5 ++ lib/matplotlib/axes/_axes.py | 96 +++------------------- lib/matplotlib/tests/test_axes.py | 38 +-------- lib/matplotlib/tests/test_bbox_tight.py | 2 +- lib/matplotlib/tests/test_legend.py | 4 +- lib/mpl_toolkits/tests/test_mplot3d.py | 2 +- 6 files changed, 25 insertions(+), 122 deletions(-) create mode 100644 doc/api/next_api_changes/2018-04-20-AL.rst diff --git a/doc/api/next_api_changes/2018-04-20-AL.rst b/doc/api/next_api_changes/2018-04-20-AL.rst new file mode 100644 index 000000000000..f38a95df11b1 --- /dev/null +++ b/doc/api/next_api_changes/2018-04-20-AL.rst @@ -0,0 +1,5 @@ +``bar``/``barh`` no longer accepts ``left``/``bottom`` as first named argument +`````````````````````````````````````````````````````````````````````````````` + +These arguments were renamed in 2.0 to ``x``/``y`` following the change of the +default alignment from ``edge`` to ``center``. diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index e502d3b8ec6a..28245fd087e5 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -1814,17 +1814,12 @@ def step(self, x, y, *args, **kwargs): replace_all_args=True ) @docstring.dedent_interpd - def bar(self, *args, **kwargs): + def bar(self, x, height, width=0.8, bottom=None, *, align="center", + **kwargs): r""" Make a bar plot. - Call signatures:: - - bar(x, height, *, align='center', **kwargs) - bar(x, height, width, *, align='center', **kwargs) - bar(x, height, width, bottom, *, align='center', **kwargs) - - The bars are positioned at *x* with the given *align* ment. Their + The bars are positioned at *x* with the given *align*\ment. Their dimensions are given by *width* and *height*. The vertical baseline is *bottom* (default 0). @@ -1832,7 +1827,6 @@ def bar(self, *args, **kwargs): applying to all bars, or it may be a sequence of length N providing a separate value for each bar. - Parameters ---------- x : sequence of scalars @@ -1927,55 +1921,22 @@ def bar(self, *args, **kwargs): """ kwargs = cbook.normalize_kwargs(kwargs, mpatches.Patch._alias_map) - # this is using the lambdas to do the arg/kwarg unpacking rather - # than trying to re-implement all of that logic our selves. - matchers = [ - (lambda x, height, width=0.8, bottom=None, **kwargs: - (False, x, height, width, bottom, kwargs)), - (lambda left, height, width=0.8, bottom=None, **kwargs: - (True, left, height, width, bottom, kwargs)), - ] - exps = [] - for matcher in matchers: - try: - dp, x, height, width, y, kwargs = matcher(*args, **kwargs) - except TypeError as e: - # This can only come from a no-match as there is - # no other logic in the matchers. - exps.append(e) - else: - break - else: - raise exps[0] - # if we matched the second-case, then the user passed in - # left=val as a kwarg which we want to deprecate - if dp: - warnings.warn( - "The *left* kwarg to `bar` is deprecated use *x* instead. " - "Support for *left* will be removed in Matplotlib 3.0", - mplDeprecation, stacklevel=2) color = kwargs.pop('color', None) if color is None: color = self._get_patches_for_fill.get_next_color() edgecolor = kwargs.pop('edgecolor', None) linewidth = kwargs.pop('linewidth', None) - # Because xerr and yerr will be passed to errorbar, - # most dimension checking and processing will be left - # to the errorbar method. + # Because xerr and yerr will be passed to errorbar, most dimension + # checking and processing will be left to the errorbar method. xerr = kwargs.pop('xerr', None) yerr = kwargs.pop('yerr', None) - error_kw = kwargs.pop('error_kw', dict()) + error_kw = kwargs.pop('error_kw', {}) ecolor = kwargs.pop('ecolor', 'k') capsize = kwargs.pop('capsize', rcParams["errorbar.capsize"]) error_kw.setdefault('ecolor', ecolor) error_kw.setdefault('capsize', capsize) - if rcParams['_internal.classic_mode']: - align = kwargs.pop('align', 'edge') - else: - align = kwargs.pop('align', 'center') - orientation = kwargs.pop('orientation', 'vertical') log = kwargs.pop('log', False) label = kwargs.pop('label', '') @@ -1984,8 +1945,9 @@ def bar(self, *args, **kwargs): adjust_ylim = False adjust_xlim = False + y = bottom # Matches barh call signature. if orientation == 'vertical': - if y is None: + if bottom is None: if self.get_yscale() == 'log': adjust_ylim = True y = 0 @@ -2126,17 +2088,12 @@ def bar(self, *args, **kwargs): return bar_container @docstring.dedent_interpd - def barh(self, *args, **kwargs): + def barh(self, y, width, height=0.8, left=None, *, align="center", + **kwargs): r""" Make a horizontal bar plot. - Call signatures:: - - bar(y, width, *, align='center', **kwargs) - bar(y, width, height, *, align='center', **kwargs) - bar(y, width, height, left, *, align='center', **kwargs) - - The bars are positioned at *y* with the given *align*. Their + The bars are positioned at *y* with the given *align*\ment. Their dimensions are given by *width* and *height*. The horizontal baseline is *left* (default 0). @@ -2144,7 +2101,6 @@ def barh(self, *args, **kwargs): applying to all bars, or it may be a sequence of length N providing a separate value for each bar. - Parameters ---------- y : scalar or array-like @@ -2235,35 +2191,9 @@ def barh(self, *args, **kwargs): %(Rectangle)s """ - # this is using the lambdas to do the arg/kwarg unpacking rather - # than trying to re-implement all of that logic our selves. - matchers = [ - (lambda y, width, height=0.8, left=None, **kwargs: - (False, y, width, height, left, kwargs)), - (lambda bottom, width, height=0.8, left=None, **kwargs: - (True, bottom, width, height, left, kwargs)), - ] - excs = [] - for matcher in matchers: - try: - dp, y, width, height, left, kwargs = matcher(*args, **kwargs) - except TypeError as e: - # This can only come from a no-match as there is - # no other logic in the matchers. - excs.append(e) - else: - break - else: - raise excs[0] - - if dp: - warnings.warn( - "The *bottom* kwarg to `barh` is deprecated use *y* instead. " - "Support for *bottom* will be removed in Matplotlib 3.0", - mplDeprecation, stacklevel=2) kwargs.setdefault('orientation', 'horizontal') - patches = self.bar(x=left, height=height, width=width, - bottom=y, **kwargs) + patches = self.bar(x=left, height=height, width=width, bottom=y, + align=align, **kwargs) return patches @_preprocess_data(label_namer=None) diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index aff0fede59a7..89fc5dc0882c 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -1441,14 +1441,14 @@ def test_marker_edges(): def test_bar_tick_label_single(): # From 2516: plot bar with array of string labels for x axis ax = plt.gca() - ax.bar(0, 1, tick_label='0') + ax.bar(0, 1, align='edge', tick_label='0') # Reuse testcase from above for a labeled data test data = {"a": 0, "b": 1} fig = plt.figure() ax = fig.add_subplot(111) ax = plt.gca() - ax.bar("a", "b", tick_label='0', data=data) + ax.bar("a", "b", align='edge', tick_label='0', data=data) def test_bar_ticklabel_fail(): @@ -5343,7 +5343,7 @@ def test_ls_ds_conflict(): def test_bar_uint8(): xs = [0, 1, 2, 3] - b = plt.bar(np.array(xs, dtype=np.uint8), [2, 3, 4, 5]) + b = plt.bar(np.array(xs, dtype=np.uint8), [2, 3, 4, 5], align="edge") for (patch, x) in zip(b.patches, xs): assert patch.xy[0] == x @@ -5639,38 +5639,6 @@ def test_twinx_knows_limits(): assert_array_equal(xtwin.viewLim.intervalx, ax2.viewLim.intervalx) -@pytest.mark.style('mpl20') -@pytest.mark.parametrize('args, kwargs, warning_count', - [((1, 1), {'width': 1, 'bottom': 1}, 0), - ((1, ), {'height': 1, 'bottom': 1}, 0), - ((), {'x': 1, 'height': 1}, 0), - ((), {'left': 1, 'height': 1}, 1)]) -def test_bar_signature(args, kwargs, warning_count): - fig, ax = plt.subplots() - with warnings.catch_warnings(record=True) as w: - r, = ax.bar(*args, **kwargs) - - assert r.get_width() == kwargs.get('width', 0.8) - assert r.get_y() == kwargs.get('bottom', 0) - assert len(w) == warning_count - - -@pytest.mark.style('mpl20') -@pytest.mark.parametrize('args, kwargs, warning_count', - [((1, 1), {'height': 1, 'left': 1}, 0), - ((1, ), {'width': 1, 'left': 1}, 0), - ((), {'y': 1, 'width': 1}, 0), - ((), {'bottom': 1, 'width': 1}, 1)]) -def test_barh_signature(args, kwargs, warning_count): - fig, ax = plt.subplots() - with warnings.catch_warnings(record=True) as w: - r, = ax.barh(*args, **kwargs) - - assert r.get_height() == kwargs.get('height', 0.8) - assert r.get_x() == kwargs.get('left', 0) - assert len(w) == warning_count - - def test_zero_linewidth(): # Check that setting a zero linewidth doesn't error plt.plot([0, 1], [0, 1], ls='--', lw=0) diff --git a/lib/matplotlib/tests/test_bbox_tight.py b/lib/matplotlib/tests/test_bbox_tight.py index 5eb4b6b3ba2c..4f5942e90df2 100644 --- a/lib/matplotlib/tests/test_bbox_tight.py +++ b/lib/matplotlib/tests/test_bbox_tight.py @@ -29,7 +29,7 @@ def test_bbox_inches_tight(): # the bottom values for stacked bar chart fig, ax = plt.subplots(1, 1) for row in range(rows): - ax.bar(ind, data[row], width, bottom=yoff, color='b') + ax.bar(ind, data[row], width, bottom=yoff, align='edge', color='b') yoff = yoff + data[row] cellText.append(['']) plt.xticks([]) diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py index 9aaf5dc27970..b1d176ec8a0f 100644 --- a/lib/matplotlib/tests/test_legend.py +++ b/lib/matplotlib/tests/test_legend.py @@ -48,8 +48,8 @@ def test_legend_auto2(): fig = plt.figure() ax = fig.add_subplot(111) x = np.arange(100) - b1 = ax.bar(x, x, color='m') - b2 = ax.bar(x, x[::-1], color='g') + b1 = ax.bar(x, x, align='edge', color='m') + b2 = ax.bar(x, x[::-1], align='edge', color='g') ax.legend([b1[0], b2[0]], ['up', 'down'], loc=0) diff --git a/lib/mpl_toolkits/tests/test_mplot3d.py b/lib/mpl_toolkits/tests/test_mplot3d.py index 0a506db92adf..18a6a896fd83 100644 --- a/lib/mpl_toolkits/tests/test_mplot3d.py +++ b/lib/mpl_toolkits/tests/test_mplot3d.py @@ -18,7 +18,7 @@ def test_bar3d(): ys = np.arange(20) cs = [c] * len(xs) cs[0] = 'c' - ax.bar(xs, ys, zs=z, zdir='y', color=cs, alpha=0.8) + ax.bar(xs, ys, zs=z, zdir='y', align='edge', color=cs, alpha=0.8) @image_comparison( From a601509b30881c39f74411c75e817845f6200650 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Sat, 21 Apr 2018 14:19:54 -0700 Subject: [PATCH 0563/1161] Small edits to make clabel a link --- lib/matplotlib/contour.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/contour.py b/lib/matplotlib/contour.py index 193ec1ece87c..c27d582764cd 100644 --- a/lib/matplotlib/contour.py +++ b/lib/matplotlib/contour.py @@ -738,7 +738,7 @@ class ContourSet(cm.ScalarMappable, ContourLabeler): """ Store a set of contour lines or filled regions. - User-callable method: clabel + User-callable method: `~.Axes.clabel` Parameters ---------- @@ -1376,7 +1376,7 @@ class QuadContourSet(ContourSet): """ Create and store a set of contour lines or filled regions. - User-callable method: :meth:`clabel` + User-callable method: `~.Axes.clabel` Attributes ---------- From 6cfa0b9a63cb60f76a25e126d26fd04f45f29c6d Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sat, 21 Apr 2018 14:07:59 -0700 Subject: [PATCH 0564/1161] Deprecate certain marker styles that have simpler synonyms. --- doc/api/next_api_changes/2018-04-22-AL.rst | 8 ++++++++ examples/api/scatter_piecharts.py | 6 +++--- lib/matplotlib/markers.py | 16 ++++++++++++---- 3 files changed, 23 insertions(+), 7 deletions(-) create mode 100644 doc/api/next_api_changes/2018-04-22-AL.rst diff --git a/doc/api/next_api_changes/2018-04-22-AL.rst b/doc/api/next_api_changes/2018-04-22-AL.rst new file mode 100644 index 000000000000..a0f52a35329b --- /dev/null +++ b/doc/api/next_api_changes/2018-04-22-AL.rst @@ -0,0 +1,8 @@ +Deprecation of certain marker styles +```````````````````````````````````` + +Using ``(n, 3)`` as marker style to specify a circle marker is deprecated. Use +``"o"`` instead. + +Using ``([(x0, y0), (x1, y1), ...], 0)`` as marker style to specify a custom +marker path is deprecated. Use ``[(x0, y0), (x1, y1), ...]`` instead. diff --git a/examples/api/scatter_piecharts.py b/examples/api/scatter_piecharts.py index 5826f0ddc25b..990cbe223d5a 100644 --- a/examples/api/scatter_piecharts.py +++ b/examples/api/scatter_piecharts.py @@ -38,11 +38,11 @@ s3 = np.abs(xy3).max() fig, ax = plt.subplots() -ax.scatter(range(3), range(3), marker=(xy1, 0), +ax.scatter(range(3), range(3), marker=xy1, s=s1 ** 2 * sizes, facecolor='blue') -ax.scatter(range(3), range(3), marker=(xy2, 0), +ax.scatter(range(3), range(3), marker=xy2, s=s2 ** 2 * sizes, facecolor='green') -ax.scatter(range(3), range(3), marker=(xy3, 0), +ax.scatter(range(3), range(3), marker=xy3, s=s3 ** 2 * sizes, facecolor='red') plt.show() diff --git a/lib/matplotlib/markers.py b/lib/matplotlib/markers.py index 5472473b03ab..6ecda3cfd419 100644 --- a/lib/matplotlib/markers.py +++ b/lib/matplotlib/markers.py @@ -68,15 +68,15 @@ an asterisk 3 a circle (`numsides` and `angle` is - ignored) + ignored); deprecated. `angle`: the angle of rotation of the symbol ============================== =============================================== -For backward compatibility, the form (`verts`, 0) is also accepted, -but it is equivalent to just `verts` for giving a raw set of vertices -that define the shape. +For backward compatibility, the form (`verts`, 0) is also accepted, but it is +deprecated and equivalent to just `verts` for giving a raw set of vertices that +define the shape. `None` is the default which means 'nothing', however this table is referred to from other docs for the valid inputs from marker inputs and in @@ -307,9 +307,17 @@ def _set_tuple_marker(self): self._filled = False self._joinstyle = 'bevel' elif symstyle == 3: + cbook.warn_deprecated( + "3.0", "Setting a circle marker using `(..., 3)` is " + "deprecated since Matplotlib 3.0, and support for it will " + "be removed in 3.2. Directly pass 'o' instead.") self._path = Path.unit_circle() self._transform = Affine2D().scale(0.5).rotate_deg(rotation) else: + cbook.warn_deprecated( + "3.0", "Passing vertices as `(verts, 0)` is deprecated since " + "Matplotlib 3.0, and support for it will be removed in 3.2. " + "Directly pass `verts` instead.") verts = np.asarray(marker[0]) path = Path(verts) self._set_custom_marker(path) From a7d1e01c513167a90ad2fdb1f1f64b81e9fb1088 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sat, 21 Apr 2018 14:43:16 -0700 Subject: [PATCH 0565/1161] Some more deprecations of old, old stuff. (I think 2018 qualifies as beyond "the near future" of "sometime after 2008-08-01", but YMMV...) --- .../2018-02-15-AL-deprecations.rst | 4 +++- lib/matplotlib/contour.py | 14 +++++++------- lib/matplotlib/figure.py | 1 - lib/matplotlib/table.py | 7 +++---- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst index 16906cad9aa6..d8a60750c1d1 100644 --- a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst +++ b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst @@ -15,11 +15,13 @@ The following classes, methods, functions, and attributes are deprecated: - ``backend_wx.FigureCanvasWx.macros``, - ``cbook.GetRealpathAndStat``, ``cbook.Locked``, - ``cbook.is_numlike`` (use ``isinstance(..., numbers.Number)`` instead), - ``cbook.listFiles``, ``cbook.unicode_safe`` + ``cbook.listFiles``, ``cbook.unicode_safe``, - ``container.Container.set_remove_method``, +- ``contour.ContourLabeler.cl``, ``.cl_xy``, and ``.cl_cvalues``, - ``dates.DateFormatter.strftime_pre_1900``, ``dates.DateFormatter.strftime``, - ``font_manager.TempCache``, - ``mathtext.unichr_safe`` (use ``chr`` instead), +- ``table.Table.get_child_artists`` (use ``get_children`` instead), - ``testing.compare.ImageComparisonTest``, ``testing.compare.compare_float``, - ``testing.decorators.skip_if_command_unavailable``. - ``FigureCanvasQT.keyAutoRepeat`` (directly check diff --git a/lib/matplotlib/contour.py b/lib/matplotlib/contour.py index 6e473671419e..e5d33022c3b4 100644 --- a/lib/matplotlib/contour.py +++ b/lib/matplotlib/contour.py @@ -215,16 +215,16 @@ def clabel(self, *args, **kwargs): else: self.labels(inline, inline_spacing) - # Hold on to some old attribute names. These are deprecated and will - # be removed in the near future (sometime after 2008-08-01), but - # keeping for now for backwards compatibility - self.cl = self.labelTexts - self.cl_xy = self.labelXYs - self.cl_cvalues = self.labelCValues - self.labelTextsList = cbook.silent_list('text.Text', self.labelTexts) return self.labelTextsList + cl = property(cbook.deprecated("3.0", alternative="labelTexts")( + lambda self: self.labelTexts)) + cl_xy = property(cbook.deprecated("3.0", alternative="labelXYs")( + lambda self: self.labelXYs)) + cl_cvalues = property(cbook.deprecated("3.0", alternative="labelCValues")( + lambda self: self.labelCValues)) + def print_label(self, linecontour, labelwidth): "Return *False* if contours are too short for a label." return (len(linecontour) > 10 * labelwidth diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index bb191ad330c0..94d05c9a7f85 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -1306,7 +1306,6 @@ def subplots(self, nrows=1, ncols=1, sharex=False, sharey=False, pyplot.subplots : pyplot API; docstring includes examples. """ - # for backwards compatibility if isinstance(sharex, bool): sharex = "all" if sharex else "none" if isinstance(sharey, bool): diff --git a/lib/matplotlib/table.py b/lib/matplotlib/table.py index 86a874a2d6cf..3c9f6215e0d9 100644 --- a/lib/matplotlib/table.py +++ b/lib/matplotlib/table.py @@ -21,13 +21,12 @@ """ import warnings -from . import artist +from . import artist, cbook, docstring from .artist import Artist, allow_rasterization from .patches import Rectangle -from matplotlib import docstring from .text import Text from .transforms import Bbox -from matplotlib.path import Path +from .path import Path class Cell(Rectangle): @@ -382,7 +381,7 @@ def contains(self, mouseevent): def get_children(self): """Return the Artists contained by the table.""" return list(self._cells.values()) - get_child_artists = get_children # backward compatibility + get_child_artists = cbook.deprecated("3.0")(get_children) def get_window_extent(self, renderer): """Return the bounding box of the table in window coords.""" From 40bdb416882400e2665d347b92467c5cc84cdb4f Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sun, 22 Apr 2018 19:35:56 -0700 Subject: [PATCH 0566/1161] Pin sphinx to 1.7.2 to unbreak the doc build. --- .travis.yml | 4 ++-- doc-requirements.txt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 0be20c9132d7..77029736b75d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -47,7 +47,7 @@ env: - ARTIFACTS_BUCKET=matplotlib-test-results - secure: RgJI7BBL8aX5FTOQe7xiXqWHMxWokd6GNUWp1NUV2mRLXPb9dI0RXqZt3UJwKTAzf1z/OtlHDmEkBoTVK81E9iUxK5npwyyjhJ8yTJmwfQtQF2n51Q1Ww9p+XSLORrOzZc7kAo6Kw6FIXN1pfctgYq2bQkrwJPRx/oPR8f6hcbY= - secure: E7OCdqhZ+PlwJcn+Hd6ns9TDJgEUXiUNEI0wu7xjxB2vBRRIKtZMbuaZjd+iKDqCKuVOJKu0ClBUYxmgmpLicTwi34CfTUYt6D4uhrU+8hBBOn1iiK51cl/aBvlUUrqaRLVhukNEBGZcyqAjXSA/Qsnp2iELEmAfOUa92ZYo1sk= - - secure: "dfjNqGKzQG5bu3FnDNwLG8H/C4QoieFo4PfFmZPdM2RY7WIzukwKFNT6kiDfOrpwt+2bR7FhzjOGlDECGtlGOtYPN8XuXGjhcP4a4IfakdbDfF+D3NPIpf5VlE6776k0VpvcZBTMYJKNFIMc7QPkOwjvNJ2aXyfe3hBuGlKJzQU=" + - secure: dfjNqGKzQG5bu3FnDNwLG8H/C4QoieFo4PfFmZPdM2RY7WIzukwKFNT6kiDfOrpwt+2bR7FhzjOGlDECGtlGOtYPN8XuXGjhcP4a4IfakdbDfF+D3NPIpf5VlE6776k0VpvcZBTMYJKNFIMc7QPkOwjvNJ2aXyfe3hBuGlKJzQU= # Variables controlling Python dependencies. - CYCLER=cycler - DATEUTIL=python-dateutil @@ -156,7 +156,7 @@ install: python -c 'import pgi as gi; gi.require_version("Gtk", "3.0"); from pgi.repository import Gtk' && echo 'pgi is available' || echo 'pgi is not available' - python -mpip install pyqt5==5.9 && + python -mpip install pyqt5 && python -c 'import PyQt5.QtCore' && echo 'PyQt5 is available' || echo 'PyQt5 is not available' diff --git a/doc-requirements.txt b/doc-requirements.txt index 27a4ffe76dd8..8276bb1b95e1 100644 --- a/doc-requirements.txt +++ b/doc-requirements.txt @@ -6,7 +6,7 @@ # Install the documentation requirements with: # pip install -r doc-requirements.txt # -sphinx>=1.3,!=1.5.0,!=1.6.4 +sphinx>=1.3,!=1.5.0,!=1.6.4,!=1.7.3 colorspacious ipython ipywidgets From 64520caccf7558e734471c2f2ed5b396feef23a2 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sun, 22 Apr 2018 18:01:14 -0700 Subject: [PATCH 0567/1161] py3fy art3d. --- lib/mpl_toolkits/mplot3d/art3d.py | 11 ----------- pytest.ini | 2 +- 2 files changed, 1 insertion(+), 12 deletions(-) diff --git a/lib/mpl_toolkits/mplot3d/art3d.py b/lib/mpl_toolkits/mplot3d/art3d.py index 5fc62ad89beb..d3ed4ec173f6 100644 --- a/lib/mpl_toolkits/mplot3d/art3d.py +++ b/lib/mpl_toolkits/mplot3d/art3d.py @@ -6,11 +6,6 @@ Module containing 3D artist code and functions to convert 2D artists into 3D versions which can be added to an Axes3D. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - -import six -from six.moves import zip import math @@ -225,12 +220,6 @@ class Line3DCollection(LineCollection): A collection of 3D lines. """ - def __init__(self, segments, *args, **kwargs): - """ - Keyword arguments are passed onto :func:`~matplotlib.collections.LineCollection`. - """ - LineCollection.__init__(self, segments, *args, **kwargs) - def set_sort_zpos(self, val): """Set the position to use for z-sorting.""" self._sort_zpos = val diff --git a/pytest.ini b/pytest.ini index 2c6656899f86..c3b723fe29c8 100644 --- a/pytest.ini +++ b/pytest.ini @@ -87,7 +87,7 @@ pep8ignore = mpl_toolkits/axisartist/floating_axes.py E201 E225 E231 E261 E262 E271 E302 E303 E402 E501 mpl_toolkits/axisartist/grid_finder.py E231 E261 E302 E303 E402 mpl_toolkits/axisartist/grid_helper_curvelinear.py E221 E225 E231 E251 E261 E262 E271 E302 E303 E501 - mpl_toolkits/mplot3d/art3d.py E203 E222 E225 E231 E501 + mpl_toolkits/mplot3d/art3d.py E203 E222 E225 E231 mpl_toolkits/mplot3d/axes3d.py E203 E225 E231 E271 E303 E402 E501 E502 E701 mpl_toolkits/mplot3d/axis3d.py E201 E202 E203 E222 E231 E302 E303 E502 mpl_toolkits/mplot3d/proj3d.py E231 E302 E303 From 6f7388c3b624a757b6eea945fe8911e91bd13ec5 Mon Sep 17 00:00:00 2001 From: Joseph Fox-Rabinovitz <joseph.r.fox-rabinovitz@nasa.gov> Date: Fri, 20 Apr 2018 11:44:23 -0400 Subject: [PATCH 0568/1161] DOC: Addressed issue #11092 No files were delete, instead, a clarifying comment was added to indicate why there are nearly duplicate files sitting around. [ci skip] [skip ci] --- .../axes_grid1/simple_anchored_artists.py | 41 +++++-- examples/misc/anchored_artists.py | 115 +++++++++++------- tutorials/text/annotations.py | 2 +- 3 files changed, 100 insertions(+), 58 deletions(-) diff --git a/examples/axes_grid1/simple_anchored_artists.py b/examples/axes_grid1/simple_anchored_artists.py index 3d0527298a4c..4db864d0ee07 100644 --- a/examples/axes_grid1/simple_anchored_artists.py +++ b/examples/axes_grid1/simple_anchored_artists.py @@ -3,18 +3,29 @@ Simple Anchored Artists ======================= +This example illustrates the use of the anchored helper classes found in +:py:mod:`~matplotlib.offsetbox` and in the :ref:`toolkit_axesgrid1-index`. +An implementation of a similar figure, but without use of the toolkit, +can be found in :ref:`sphx_glr_gallery_misc_anchored_artists.py`. """ + import matplotlib.pyplot as plt def draw_text(ax): + """ + Draw two text-boxes, anchored by different corners to the upper-left + corner of the figure. + """ from matplotlib.offsetbox import AnchoredText + # loc=2 is equivalent to loc='upper left' at = AnchoredText("Figure 1a", loc=2, prop=dict(size=8), frameon=True, ) at.patch.set_boxstyle("round,pad=0.,rounding_size=0.2") ax.add_artist(at) + # loc=3 is eqivalent to loc='lower left' at2 = AnchoredText("Figure 1(b)", loc=3, prop=dict(size=8), frameon=True, bbox_to_anchor=(0., 1.), @@ -24,7 +35,10 @@ def draw_text(ax): ax.add_artist(at2) -def draw_circle(ax): # circle in the canvas coordinate +def draw_circle(ax): + """ + Draw a circle in axis coordinates + """ from mpl_toolkits.axes_grid1.anchored_artists import AnchoredDrawingArea from matplotlib.patches import Circle ada = AnchoredDrawingArea(20, 20, 0, 0, @@ -35,8 +49,10 @@ def draw_circle(ax): # circle in the canvas coordinate def draw_ellipse(ax): + """ + Draw an ellipse of width=0.1, height=0.15 in data coordinates + """ from mpl_toolkits.axes_grid1.anchored_artists import AnchoredEllipse - # draw an ellipse of width=0.1, height=0.15 in the data coordinate ae = AnchoredEllipse(ax.transData, width=0.1, height=0.15, angle=0., loc=3, pad=0.5, borderpad=0.4, frameon=True) @@ -44,9 +60,11 @@ def draw_ellipse(ax): def draw_sizebar(ax): + """ + Draw a horizontal bar with length of 0.1 in data coordinates, + with a fixed label underneath. + """ from mpl_toolkits.axes_grid1.anchored_artists import AnchoredSizeBar - # draw a horizontal bar with length of 0.1 in Data coordinate - # (ax.transData) with a label underneath. asb = AnchoredSizeBar(ax.transData, 0.1, r"1$^{\prime}$", @@ -56,13 +74,12 @@ def draw_sizebar(ax): ax.add_artist(asb) -if 1: - ax = plt.gca() - ax.set_aspect(1.) +ax = plt.gca() +ax.set_aspect(1.) - draw_text(ax) - draw_circle(ax) - draw_ellipse(ax) - draw_sizebar(ax) +draw_text(ax) +draw_circle(ax) +draw_ellipse(ax) +draw_sizebar(ax) - plt.show() +plt.show() diff --git a/examples/misc/anchored_artists.py b/examples/misc/anchored_artists.py index 8bd9dc7103b6..22f35d312465 100644 --- a/examples/misc/anchored_artists.py +++ b/examples/misc/anchored_artists.py @@ -3,8 +3,15 @@ Anchored Artists ================ +This example illustrates the use of the anchored objects without the +helper classes found in the :ref:`toolkit_axesgrid1-index`. This version +of the figure is similar to the one found in +:ref:`sphx_glr_gallery_axes_grid1_simple_anchored_artists.py`, but it is +implemented using only the matplotlib namespace, without the help +of additional toolkits. """ +from matplotlib import pyplot as plt from matplotlib.patches import Rectangle, Ellipse from matplotlib.offsetbox import ( AnchoredOffsetbox, AuxTransformBox, DrawingArea, TextArea, VPacker) @@ -18,27 +25,34 @@ def __init__(self, s, loc, pad=0.4, borderpad=0.5, child=self.txt, prop=prop, frameon=frameon) -class AnchoredSizeBar(AnchoredOffsetbox): - def __init__(self, transform, size, label, loc, - pad=0.1, borderpad=0.1, sep=2, prop=None, frameon=True): - """ - Draw a horizontal bar with the size in data coordinate of the given - axes. A label will be drawn underneath (center-aligned). +def draw_text(ax): + """ + Draw a text-box anchored to the upper-left corner of the figure. + """ + # loc=2 is equivalent to loc='upper left' + at = AnchoredText("Figure 1a", loc=2, frameon=True) + at.patch.set_boxstyle("round,pad=0.,rounding_size=0.2") + ax.add_artist(at) - pad, borderpad in fraction of the legend font size (or prop) - sep in points. - """ - self.size_bar = AuxTransformBox(transform) - self.size_bar.add_artist(Rectangle((0, 0), size, 0, ec="black", lw=1.0)) - self.txt_label = TextArea(label, minimumdescent=False) +class AnchoredDrawingArea(AnchoredOffsetbox): + def __init__(self, width, height, xdescent, ydescent, + loc, pad=0.4, borderpad=0.5, prop=None, frameon=True): + self.da = DrawingArea(width, height, xdescent, ydescent) + super().__init__(loc, pad=pad, borderpad=borderpad, + child=self.da, prop=None, frameon=frameon) - self._box = VPacker(children=[self.size_bar, self.txt_label], - align="center", - pad=0, sep=sep) - super().__init__(loc, pad=pad, borderpad=borderpad, - child=self._box, prop=prop, frameon=frameon) +def draw_circle(ax): + """ + Draw a circle in axis coordinates + """ + from matplotlib.patches import Circle + ada = AnchoredDrawingArea(20, 20, 0, 0, + loc=1, pad=0., frameon=False) + p = Circle((10, 10), 10) + ada.da.add_artist(p) + ax.add_artist(ada) class AnchoredEllipse(AnchoredOffsetbox): @@ -56,41 +70,44 @@ def __init__(self, transform, width, height, angle, loc, child=self._box, prop=prop, frameon=frameon) -class AnchoredDrawingArea(AnchoredOffsetbox): - def __init__(self, width, height, xdescent, ydescent, - loc, pad=0.4, borderpad=0.5, prop=None, frameon=True): - self.da = DrawingArea(width, height, xdescent, ydescent) - super().__init__(loc, pad=pad, borderpad=borderpad, - child=self.da, prop=None, frameon=frameon) +def draw_ellipse(ax): + """ + Draw an ellipse of width=0.1, height=0.15 in data coordinates + """ + ae = AnchoredEllipse(ax.transData, width=0.1, height=0.15, angle=0., + loc=3, pad=0.5, borderpad=0.4, frameon=True) + ax.add_artist(ae) -if __name__ == "__main__": - import matplotlib.pyplot as plt +class AnchoredSizeBar(AnchoredOffsetbox): + def __init__(self, transform, size, label, loc, + pad=0.1, borderpad=0.1, sep=2, prop=None, frameon=True): + """ + Draw a horizontal bar with the size in data coordinate of the given + axes. A label will be drawn underneath (center-aligned). - ax = plt.gca() - ax.set_aspect(1.) + pad, borderpad in fraction of the legend font size (or prop) + sep in points. + """ + self.size_bar = AuxTransformBox(transform) + self.size_bar.add_artist(Rectangle((0, 0), size, 0, ec="black", lw=1.0)) - at = AnchoredText("Figure 1a", - loc=2, frameon=True) - at.patch.set_boxstyle("round,pad=0.,rounding_size=0.2") - ax.add_artist(at) + self.txt_label = TextArea(label, minimumdescent=False) - from matplotlib.patches import Circle - ada = AnchoredDrawingArea(20, 20, 0, 0, - loc=1, pad=0., frameon=False) - p = Circle((10, 10), 10) - ada.da.add_artist(p) - ax.add_artist(ada) + self._box = VPacker(children=[self.size_bar, self.txt_label], + align="center", + pad=0, sep=sep) - # draw an ellipse of width=0.1, height=0.15 in the data coordinate - ae = AnchoredEllipse(ax.transData, width=0.1, height=0.15, angle=0., - loc=3, pad=0.5, borderpad=0.4, frameon=True) + super().__init__(loc, pad=pad, borderpad=borderpad, + child=self._box, prop=prop, frameon=frameon) - ax.add_artist(ae) - # draw a horizontal bar with length of 0.1 in Data coordinate - # (ax.transData) with a label underneath. +def draw_sizebar(ax): + """ + Draw a horizontal bar with length of 0.1 in data coordinates, + with a fixed label underneath. + """ asb = AnchoredSizeBar(ax.transData, 0.1, r"1$^{\prime}$", @@ -99,5 +116,13 @@ def __init__(self, width, height, xdescent, ydescent, frameon=False) ax.add_artist(asb) - plt.draw() - plt.show() + +ax = plt.gca() +ax.set_aspect(1.) + +draw_text(ax) +draw_circle(ax) +draw_ellipse(ax) +draw_sizebar(ax) + +plt.show() diff --git a/tutorials/text/annotations.py b/tutorials/text/annotations.py index 5706e08cdc75..3f549671649f 100644 --- a/tutorials/text/annotations.py +++ b/tutorials/text/annotations.py @@ -340,7 +340,7 @@ from matplotlib.offsetbox import AnchoredText at = AnchoredText("Figure 1a", - prop=dict(size=8), frameon=True, + prop=dict(size=15), frameon=True, loc=2, ) at.patch.set_boxstyle("round,pad=0.,rounding_size=0.2") From 1359636f184404400238fcfaa907eed63ad83e2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20W=C3=BCrtz?= <pwuertz@gmail.com> Date: Tue, 24 Apr 2018 21:55:22 +0200 Subject: [PATCH 0569/1161] PGF: Get unitless positions from Text elements (fix #11116) --- lib/matplotlib/backends/backend_pgf.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/backends/backend_pgf.py b/lib/matplotlib/backends/backend_pgf.py index 817cc0e93e79..4ddeb6884516 100644 --- a/lib/matplotlib/backends/backend_pgf.py +++ b/lib/matplotlib/backends/backend_pgf.py @@ -725,7 +725,8 @@ def draw_text(self, gc, x, y, s, prop, angle, ismath=False, mtext=None): mtext.get_va() != "center_baseline"): # if text anchoring can be supported, get the original coordinates # and add alignment information - x, y = mtext.get_transform().transform_point(mtext.get_position()) + pos = mtext.get_unitless_position() + x, y = mtext.get_transform().transform_point(pos) text_args.append("x=%fin" % (x * f)) text_args.append("y=%fin" % (y * f)) From 4ff121b3efd3b3928a859091868327503f7d5bcb Mon Sep 17 00:00:00 2001 From: DietmarSchwertberger <github@schwertberger.de> Date: Thu, 26 Apr 2018 19:25:36 +0200 Subject: [PATCH 0570/1161] fix attribute name --- lib/matplotlib/backends/backend_wx.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/backends/backend_wx.py b/lib/matplotlib/backends/backend_wx.py index 6db13591143e..99950c12b286 100644 --- a/lib/matplotlib/backends/backend_wx.py +++ b/lib/matplotlib/backends/backend_wx.py @@ -1857,7 +1857,7 @@ def __init__(self, parent, help_entries): OK.Bind(wx.EVT_BUTTON, self.OnClose) def OnClose(self, evt): - _HelpDialog.instance = None # remove global reference + _HelpDialog._instance = None # remove global reference self.DestroyLater() evt.Skip() From 30f8b77993b544f2f4433cb2fa8cbd9a4a6772aa Mon Sep 17 00:00:00 2001 From: DietmarSchwertberger <github@schwertberger.de> Date: Wed, 21 Mar 2018 03:54:38 +0100 Subject: [PATCH 0571/1161] first implementation of Toolmanager for the Wx backends --- .../user_interfaces/toolmanager_sgskip.py | 1 + lib/matplotlib/backends/backend_wx.py | 156 ++++++++++++++++-- 2 files changed, 147 insertions(+), 10 deletions(-) diff --git a/examples/user_interfaces/toolmanager_sgskip.py b/examples/user_interfaces/toolmanager_sgskip.py index 6ae0fc3d88e9..9820e12744c5 100644 --- a/examples/user_interfaces/toolmanager_sgskip.py +++ b/examples/user_interfaces/toolmanager_sgskip.py @@ -19,6 +19,7 @@ matplotlib.use('GTK3Cairo') # matplotlib.use('TkAgg') # matplotlib.use('QT5Agg') +# matplotlib.use('WxAgg') matplotlib.rcParams['toolbar'] = 'toolmanager' import matplotlib.pyplot as plt from matplotlib.backend_tools import ToolBase, ToolToggleBase diff --git a/lib/matplotlib/backends/backend_wx.py b/lib/matplotlib/backends/backend_wx.py index dfbf23340492..2ee7eb9d1deb 100644 --- a/lib/matplotlib/backends/backend_wx.py +++ b/lib/matplotlib/backends/backend_wx.py @@ -18,7 +18,8 @@ import matplotlib from matplotlib.backend_bases import ( _Backend, FigureCanvasBase, FigureManagerBase, GraphicsContextBase, - NavigationToolbar2, RendererBase, TimerBase, cursors) + NavigationToolbar2, RendererBase, TimerBase, cursors, ToolContainerBase, + StatusbarBase) from matplotlib.backend_bases import _has_pil from matplotlib._pylab_helpers import Gcf @@ -27,6 +28,7 @@ from matplotlib.path import Path from matplotlib.transforms import Affine2D from matplotlib.widgets import SubplotTool +from matplotlib.backend_managers import ToolManager from matplotlib import cbook, rcParams, backend_tools import wx @@ -1158,9 +1160,8 @@ def __init__(self, num, fig): # Frame will be sized later by the Fit method DEBUG_MSG("__init__()", 1, self) self.num = num + _set_frame_icon(self) - statbar = StatusBarWx(self) - self.SetStatusBar(statbar) self.canvas = self.get_canvas(fig) self.canvas.SetInitialSize(wx.Size(fig.bbox.width, fig.bbox.height)) self.canvas.SetFocus() @@ -1169,7 +1170,18 @@ def __init__(self, num, fig): # By adding toolbar in sizer, we are able to put it at the bottom # of the frame - so appearance is closer to GTK version - self.toolbar = self._get_toolbar(statbar) + self.toolmanager = self._get_toolmanager() + if self.toolmanager: + self.statusbar = StatusbarWx(self, self.toolmanager) + else: + self.statusbar = StatusBarWx(self) + self.SetStatusBar(self.statusbar) + self.toolbar = self._get_toolbar(self.statusbar) + + if self.toolmanager: + backend_tools.add_tools_to_manager(self.toolmanager) + if self.toolbar: + backend_tools.add_tools_to_container(self.toolbar) if self.toolbar is not None: self.toolbar.Realize() @@ -1203,10 +1215,19 @@ def _get_toolbar(self, statbar): if rcParams['toolbar'] == 'toolbar2': toolbar = NavigationToolbar2Wx(self.canvas) toolbar.set_status_bar(statbar) + elif matplotlib.rcParams['toolbar'] == 'toolmanager': + toolbar = ToolbarWx(self.toolmanager, self) else: toolbar = None return toolbar + def _get_toolmanager(self): + if matplotlib.rcParams['toolbar'] == 'toolmanager': + toolmanager = ToolManager(self.canvas.figure) + else: + toolmanager = None + return toolmanager + def get_canvas(self, fig): return FigureCanvasWx(self, -1, fig) @@ -1263,8 +1284,8 @@ def __init__(self, canvas, num, frame): self.frame = frame self.window = frame - self.tb = frame.GetToolBar() - self.toolbar = self.tb # consistent with other backends + self.toolmanager = frame.toolmanager + self.toolbar = frame.GetToolBar() def show(self): self.frame.Show() @@ -1328,6 +1349,22 @@ def _load_bitmap(filename): return bmp +_FRAME_ICON = None +def _set_frame_icon(frame): + # set frame icon + global _FRAME_ICON + if not _FRAME_ICON: + _FRAME_ICON = bundle = wx.IconBundle() + for image in ('matplotlib.png', 'matplotlib_large.png'): + image = os.path.join(matplotlib.rcParams['datapath'], 'images', + image) + if not os.path.exists(image): continue + icon = wx.Icon(_load_bitmap(image)) + if not icon.IsOk(): return + bundle.AddIcon(icon) + frame.SetIcons(_FRAME_ICON) + + class MenuButtonWx(wx.Button): """ wxPython does not permit a menu to be incorporated directly into a toolbar. @@ -1675,7 +1712,7 @@ class StatusBarWx(wx.StatusBar): convenience. """ - def __init__(self, parent): + def __init__(self, parent, *args, **kwargs): wx.StatusBar.__init__(self, parent, -1) self.SetFieldsCount(2) self.SetStatusText("None", 1) @@ -1690,9 +1727,107 @@ def set_function(self, string): # tools for matplotlib.backend_managers.ToolManager: -# for now only SaveFigure, SetCursor and Rubberband are implemented -# once a ToolbarWx is implemented, also FigureManagerWx needs to be -# modified, similar to pull request #9934 + +class ToolbarWx(ToolContainerBase, wx.ToolBar): + def __init__(self, toolmanager, parent, style=wx.TB_HORIZONTAL): + ToolContainerBase.__init__(self, toolmanager) + wx.ToolBar.__init__(self, parent, -1, style=style) + self._toolitems = {} + self._groups = {} + self._last = None + + def add_toolitem( + self, name, group, position, image_file, description, toggle): + + before, group = self._add_to_group(group, name, position) + idx = self.GetToolPos(before.Id) + if image_file: + bmp = _load_bitmap(image_file) + kind = wx.ITEM_NORMAL if not toggle else wx.ITEM_CHECK + tool = self.InsertTool(idx, -1, name, bmp, wx.NullBitmap, kind, + description or "") + else: + size = (self.GetTextExtent(name)[0]+10,-1) + if toggle: + control = wx.ToggleButton(self, -1, name, size=size) + else: + control = wx.Button(self, -1, name, size=size) + tool = self.InsertControl(idx, control, label=name) + self.Realize() + + def handler(event): + self.trigger_tool(name) + + if image_file: + self.Bind(wx.EVT_TOOL, handler, tool) + else: + control.Bind(wx.EVT_LEFT_DOWN, handler) + + self._last = tool + self._toolitems.setdefault(name, []) + group.insert(position, tool) + self._toolitems[name].append((tool, handler)) + + def _add_to_group(self, group, name, position): + gr = self._groups.get(group, []) + if not gr: + sep = self.AddSeparator() + gr.append(sep) + before = gr[position] + self._groups[group] = gr + return before, gr + + def toggle_toolitem(self, name, toggled): + if name not in self._toolitems: + return + for tool, handler in self._toolitems[name]: + if not tool.IsControl(): + self.ToggleTool(tool.Id, toggled) + else: + tool.GetControl().SetValue(toggled) + self.Refresh() + def remove_toolitem(self, name): + for tool, handler in self._toolitems[name]: + self.DeleteTool(tool.Id) + del self._toolitems[name] + + +class StatusbarWx(StatusbarBase, wx.StatusBar): + """for use with ToolManager""" + def __init__(self, parent, *args, **kwargs): + StatusbarBase.__init__(self, *args, **kwargs) + wx.StatusBar.__init__(self, parent, -1) + self.SetFieldsCount(1) + self.SetStatusText("") + + def set_message(self, s): + self.SetStatusText(s) + + +class ConfigureSubplotsWx(backend_tools.ConfigureSubplotsBase): + def trigger(self, *args): + self.configure_subplots() + + def configure_subplots(self): + frame = wx.Frame(None, -1, "Configure subplots") + _set_frame_icon(frame) + frame.toolmanager = None + + toolfig = Figure((6, 3)) + canvas = self.get_canvas(frame, toolfig) + + # Now put all into a sizer + sizer = wx.BoxSizer(wx.VERTICAL) + # This way of adding to sizer allows resizing + sizer.Add(canvas, 1, wx.LEFT | wx.TOP | wx.GROW) + frame.SetSizer(sizer) + frame.Fit() + tool = SubplotTool(self.canvas.figure, toolfig) + frame.Show() + + def get_canvas(self, frame, fig): + return type(self.canvas)(frame, -1, fig) + class SaveFigureWx(backend_tools.SaveFigureBase): def trigger(self, *args): @@ -1827,6 +1962,7 @@ def remove_rubberband(self, dc=None): backend_tools.ToolSaveFigure = SaveFigureWx +backend_tools.ToolConfigureSubplots = ConfigureSubplotsWx backend_tools.ToolSetCursor = SetCursorWx backend_tools.ToolRubberband = RubberbandWx From 5bd1d761d08908e28d6dca33f5f7ee9e2c367cbd Mon Sep 17 00:00:00 2001 From: DietmarSchwertberger <github@schwertberger.de> Date: Wed, 21 Mar 2018 04:08:00 +0100 Subject: [PATCH 0572/1161] fix for non-toolmanager use of Wx backends; set frame icon for subplot tool --- lib/matplotlib/backends/backend_wx.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/backends/backend_wx.py b/lib/matplotlib/backends/backend_wx.py index 2ee7eb9d1deb..e6e022092317 100644 --- a/lib/matplotlib/backends/backend_wx.py +++ b/lib/matplotlib/backends/backend_wx.py @@ -1284,7 +1284,7 @@ def __init__(self, canvas, num, frame): self.frame = frame self.window = frame - self.toolmanager = frame.toolmanager + self.toolmanager = getattr(frame, "toolmanager", None) self.toolbar = frame.GetToolBar() def show(self): @@ -1552,6 +1552,7 @@ def pan(self, *args): def configure_subplots(self, evt): global FigureManager # placates pyflakes: created by @_Backend.export frame = wx.Frame(None, -1, "Configure subplots") + _set_frame_icon(frame) toolfig = Figure((6, 3)) canvas = self.get_canvas(frame, toolfig) @@ -1811,7 +1812,6 @@ def trigger(self, *args): def configure_subplots(self): frame = wx.Frame(None, -1, "Configure subplots") _set_frame_icon(frame) - frame.toolmanager = None toolfig = Figure((6, 3)) canvas = self.get_canvas(frame, toolfig) From 9844acc11e8a5dd6fe3f5f362aae55971128a3a3 Mon Sep 17 00:00:00 2001 From: DietmarSchwertberger <github@schwertberger.de> Date: Wed, 21 Mar 2018 10:54:36 +0100 Subject: [PATCH 0573/1161] fix PEP8 warnings --- lib/matplotlib/backends/backend_wx.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/backends/backend_wx.py b/lib/matplotlib/backends/backend_wx.py index e6e022092317..68b4f66e8802 100644 --- a/lib/matplotlib/backends/backend_wx.py +++ b/lib/matplotlib/backends/backend_wx.py @@ -1350,6 +1350,8 @@ def _load_bitmap(filename): _FRAME_ICON = None + + def _set_frame_icon(frame): # set frame icon global _FRAME_ICON @@ -1358,9 +1360,11 @@ def _set_frame_icon(frame): for image in ('matplotlib.png', 'matplotlib_large.png'): image = os.path.join(matplotlib.rcParams['datapath'], 'images', image) - if not os.path.exists(image): continue + if not os.path.exists(image): + continue icon = wx.Icon(_load_bitmap(image)) - if not icon.IsOk(): return + if not icon.IsOk(): + return bundle.AddIcon(icon) frame.SetIcons(_FRAME_ICON) @@ -1748,7 +1752,7 @@ def add_toolitem( tool = self.InsertTool(idx, -1, name, bmp, wx.NullBitmap, kind, description or "") else: - size = (self.GetTextExtent(name)[0]+10,-1) + size = (self.GetTextExtent(name)[0]+10, -1) if toggle: control = wx.ToggleButton(self, -1, name, size=size) else: @@ -1787,6 +1791,7 @@ def toggle_toolitem(self, name, toggled): else: tool.GetControl().SetValue(toggled) self.Refresh() + def remove_toolitem(self, name): for tool, handler in self._toolitems[name]: self.DeleteTool(tool.Id) From 01a83de610b5326474a3fa412efd3f4d8a04d9db Mon Sep 17 00:00:00 2001 From: DietmarSchwertberger <github@schwertberger.de> Date: Mon, 26 Mar 2018 19:16:38 +0200 Subject: [PATCH 0574/1161] don't store icon as global; re-load instead --- lib/matplotlib/backends/backend_wx.py | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/lib/matplotlib/backends/backend_wx.py b/lib/matplotlib/backends/backend_wx.py index 68b4f66e8802..1cf6d05f33c9 100644 --- a/lib/matplotlib/backends/backend_wx.py +++ b/lib/matplotlib/backends/backend_wx.py @@ -1349,24 +1349,18 @@ def _load_bitmap(filename): return bmp -_FRAME_ICON = None - - def _set_frame_icon(frame): # set frame icon - global _FRAME_ICON - if not _FRAME_ICON: - _FRAME_ICON = bundle = wx.IconBundle() - for image in ('matplotlib.png', 'matplotlib_large.png'): - image = os.path.join(matplotlib.rcParams['datapath'], 'images', - image) - if not os.path.exists(image): - continue - icon = wx.Icon(_load_bitmap(image)) - if not icon.IsOk(): - return - bundle.AddIcon(icon) - frame.SetIcons(_FRAME_ICON) + bundle = wx.IconBundle() + for image in ('matplotlib.png', 'matplotlib_large.png'): + image = os.path.join(matplotlib.rcParams['datapath'], 'images', image) + if not os.path.exists(image): + continue + icon = wx.Icon(_load_bitmap(image)) + if not icon.IsOk(): + return + bundle.AddIcon(icon) + frame.SetIcons(bundle) class MenuButtonWx(wx.Button): From 71043a6e8720e20ea11785e6fbc5b3ee195667f7 Mon Sep 17 00:00:00 2001 From: DietmarSchwertberger <github@schwertberger.de> Date: Mon, 23 Apr 2018 20:22:38 +0200 Subject: [PATCH 0575/1161] add StatusBar to MyWx to avoid metaclass error message --- doc/sphinxext/mock_gui_toolkits.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/sphinxext/mock_gui_toolkits.py b/doc/sphinxext/mock_gui_toolkits.py index bb378e77382c..0cb9f93635b4 100644 --- a/doc/sphinxext/mock_gui_toolkits.py +++ b/doc/sphinxext/mock_gui_toolkits.py @@ -118,6 +118,9 @@ class ToolBar(object): class Frame(object): pass + class StatusBar(object): + pass + def setup(app): sys.modules.update( From 33406f792ace6c501b0a70d06c0f361466f11a06 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Fri, 6 Apr 2018 03:17:19 +0200 Subject: [PATCH 0576/1161] Improve contour docstring --- lib/matplotlib/contour.py | 309 ++++++++++++++++++++++---------------- 1 file changed, 182 insertions(+), 127 deletions(-) diff --git a/lib/matplotlib/contour.py b/lib/matplotlib/contour.py index 03e013697f9a..d5fd7c22f321 100644 --- a/lib/matplotlib/contour.py +++ b/lib/matplotlib/contour.py @@ -49,7 +49,7 @@ def get_rotation(self): class ContourLabeler(object): - """Mixin to provide labelling capability to ContourSet""" + """Mixin to provide labelling capability to `.ContourSet`.""" def clabel(self, *args, fontsize=None, inline=True, inline_spacing=5, fmt='%1.3f', @@ -312,14 +312,14 @@ def get_real_label_width(self, lev, fmt, fsize): return lw def set_label_props(self, label, text, color): - "set the label properties - color, fontsize, text" + """Set the label properties - color, fontsize, text.""" label.set_text(text) label.set_color(color) label.set_fontproperties(self.labelFontProps) label.set_clip_box(self.ax.bbox) def get_text(self, lev, fmt): - "get the text of the label" + """Get the text of the label.""" if isinstance(lev, str): return lev else: @@ -520,15 +520,18 @@ def add_label_near(self, x, y, inline=True, inline_spacing=5, specified transform will be used to translate (x, y) into display coordinates. - *inline*: - controls whether the underlying contour is removed or - not. Default is *True*. + Parameters + ---------- + x, y : float + The approximate location of the label. + + inline : bool, optional, default: True + If *True* remove the segment of the contour beneath the label. - *inline_spacing*: - space in pixels to leave on each side of label when - placing inline. Defaults to 5. This spacing will be - exact for labels at locations where the contour is - straight, less so for labels on curved contours. + inline_spacing : int, optional, default: 5 + Space in pixels to leave on each side of label when placing + inline. This spacing will be exact for labels at locations where + the contour is straight, less so for labels on curved contours. """ if transform is None: @@ -665,7 +668,7 @@ def labels(self, inline, inline_spacing): def _find_closest_point_on_leg(p1, p2, p0): - """find closest point to p0 on line segment connecting p1 and p2""" + """Find the closest point to p0 on line segment connecting p1 and p2.""" # handle degenerate case if np.all(p2 == p1): @@ -691,7 +694,7 @@ def _find_closest_point_on_leg(p1, p2, p0): def _is_closed_polygon(X): """ - Tests whether first and last object in a sequence are the same. These are + Return whether first and last object in a sequence are the same. These are presumably coordinates on a polygonal curve, in which case this function tests if that curve is closed. """ @@ -789,6 +792,50 @@ class ContourSet(cm.ScalarMappable, ContourLabeler): """ def __init__(self, ax, *args, **kwargs): + """ + Draw contour lines or filled regions, depending on + whether keyword arg *filled* is ``False`` (default) or ``True``. + + Call signature:: + + ContourSet(ax, levels, allsegs, [allkinds], **kwargs) + + Parameters + ---------- + ax : + The `.Axes` object to draw on. + + levels : [level0, level1, ..., leveln] + A list of floating point numbers indicating the contour + levels. + + allsegs : [level0segs, level1segs, ...] + List of all the polygon segments for all the *levels*. + For contour lines ``len(allsegs) == len(levels)``, and for + filled contour regions ``len(allsegs) = len(levels)-1``. The lists + should look like:: + + level0segs = [polygon0, polygon1, ...] + polygon0 = array_like [[x0,y0], [x1,y1], ...] + + allkinds : [level0kinds, level1kinds, ...], optional + Optional list of all the polygon vertex kinds (code types), as + described and used in Path. This is used to allow multiply- + connected paths such as holes within filled polygons. + If not ``None``, ``len(allkinds) == len(allsegs)``. The lists + should look like:: + + level0kinds = [polygon0kinds, ...] + polygon0kinds = [vertexcode0, vertexcode1, ...] + + If *allkinds* is not ``None``, usually all polygons for a + particular contour level are grouped together so that + ``level0segs = [polygon0]`` and ``level0kinds = [polygon0kinds]``. + + **kwargs + Keyword arguments are as described in the docstring of + `~.Axes.contour`. + """ self.ax = ax self.levels = kwargs.pop('levels', None) self.filled = kwargs.pop('filled', False) @@ -974,15 +1021,28 @@ def __getstate__(self): def legend_elements(self, variable_name='x', str_format=str): """ - Return a list of artist and labels suitable for passing through + Return a list of artists and labels suitable for passing through to :func:`plt.legend` which represent this ContourSet. - Args: + The labels have the form "0 < x <= 1" stating the data ranges which + the artists represent. + + Parameters + ---------- + variable_name : str + The string used inside the inequality used on the labels. + + str_format : function: float -> str + Function used to format the numbers in the labels. + + Returns + ------- + artists : List[`.Artist`] + A list of the artists. - *variable_name*: the string used inside the inequality used - on the labels + labels : List[str] + A list of the labels. - *str_format*: function used to format the numbers in the labels """ artists = [] labels = [] @@ -1301,7 +1361,10 @@ def get_alpha(self): return self.alpha def set_alpha(self, alpha): - """sets alpha for all ContourSet artists""" + """ + Set the alpha blending value for all ContourSet artists. + *alpha* must be between 0 (transparent) and 1 (opaque). + """ self.alpha = alpha self.changed() @@ -1580,70 +1643,48 @@ def _initialize_x_y(self, z): _contour_doc = """ Plot contours. + Call signature:: + + contour([X, Y,] Z, [levels], **kwargs) + :func:`~matplotlib.pyplot.contour` and :func:`~matplotlib.pyplot.contourf` draw contour lines and filled contours, respectively. Except as noted, function signatures and return values are the same for both versions. - :func:`~matplotlib.pyplot.contourf` differs from the MATLAB - version in that it does not draw the polygon edges. - To draw edges, add line contours with - calls to :func:`~matplotlib.pyplot.contour`. - - Call signatures:: - - contour(Z) - - make a contour plot of an array *Z*. The level values are chosen - automatically. - - :: - - contour(X,Y,Z) - - *X*, *Y* specify the (x, y) coordinates of the surface - - :: - - contour(Z,N) - contour(X,Y,Z,N) - - contour up to *N+1* automatically chosen contour levels - (*N* intervals). - - :: - - contour(Z,V) - contour(X,Y,Z,V) - - draw contour lines at the values specified in sequence *V*, - which must be in increasing order. - - :: - - contourf(..., V) + Parameters + ---------- + X, Y : array-like, optional + The coordinates of the values in *Z*. - fill the ``len(V)-1`` regions between the values in *V*, - which must be in increasing order. + *X* and *Y* must both be 2-D with the same shape as *Z* (e.g. + created via :func:`numpy.meshgrid`), or they must both be 1-D such + that ``len(X) == M`` is the number of columns in *Z* and + ``len(Y) == N`` is the number of rows in *Z*. - :: + If not given, they are assumed to be integer indices, i.e. + ``X = range(M)``, ``Y = range(N)``. - contour(Z, **kwargs) + Z : array-like(N, M) + The height values over which the contour is drawn. - Use keyword args to control colors, linewidth, origin, cmap ... see - below for more details. + levels : int or array-like, optional + Determines the number and positions of the contour lines / regions. - *X* and *Y* must both be 2-D with the same shape as *Z*, or they - must both be 1-D such that ``len(X)`` is the number of columns in - *Z* and ``len(Y)`` is the number of rows in *Z*. + If an int *n*, use *n* data intervals; i.e. draw *n+1* contour + lines. The level heights are automatically chosen. - ``C = contour(...)`` returns a - :class:`~matplotlib.contour.QuadContourSet` object. + If array-like, draw contour lines at the specified levels. + The values must be in increasing order. - Optional keyword arguments: + Returns + ------- + :class:`~matplotlib.contour.QuadContourSet` - *corner_mask*: bool, optional + Other Parameters + ---------------- + corner_mask : bool, optional Enable/disable corner masking, which only has an effect if *Z* is a masked array. If ``False``, any quad touching a masked point is masked out. If ``True``, only the triangular corners of quads @@ -1653,50 +1694,54 @@ def _initialize_x_y(self, z): Defaults to ``rcParams['contour.corner_mask']``, which defaults to ``True``. - *colors*: [ *None* | string | (mpl_colors) ] - If *None*, the colormap specified by cmap will be used. + colors : color string or sequence of colors, optional + The colors of the levels, i.e. the lines for `.contour` and the + areas for `.contourf`. - If a string, like 'r' or 'red', all levels will be plotted in this - color. + The sequence is cycled for the levels in ascending order. If the + sequence is shorter than the number of levels, it's repeated. - If a tuple of matplotlib color args (string, float, rgb, etc), - different levels will be plotted in different colors in the order - specified. + As a shortcut, single color strings may be used in place of + one-element lists, i.e. ``'red'`` instead of ``['red']`` to color + all levels with the same color. This shortcut does only work for + color strings, not for other ways of specifying colors. - *alpha*: float - The alpha blending value + By default (value *None*), the colormap specified by *cmap* + will be used. - *cmap*: [ *None* | Colormap ] - A cm :class:`~matplotlib.colors.Colormap` instance or - *None*. If *cmap* is *None* and *colors* is *None*, a - default Colormap is used. + alpha : float, optional + The alpha blending value, between 0 (transparent) and 1 (opaque). - *norm*: [ *None* | Normalize ] - A :class:`matplotlib.colors.Normalize` instance for - scaling data values to colors. If *norm* is *None* and - *colors* is *None*, the default linear scaling is used. + cmap : str or `.Colormap`, optional + A `.Colormap` instance or registered colormap name. The colormap + maps the level values to colors. + Defaults to :rc:`image.cmap`. - *vmin*, *vmax*: [ *None* | scalar ] - If not *None*, either or both of these values will be - supplied to the :class:`matplotlib.colors.Normalize` - instance, overriding the default color scaling based on - *levels*. + If given, *colors* take precedence over *cmap*. - *levels*: [level0, level1, ..., leveln] - A list of floating point numbers indicating the level - curves to draw, in increasing order; e.g., to draw just - the zero contour pass ``levels=[0]`` + norm : `~matplotlib.colors.Normalize`, optional + If a colormap is used, the `.Normalize` instance scales the level + values to the canonical colormap range [0, 1] for mapping to + colors. If not given, the default linear scaling is used. - *origin*: [ *None* | 'upper' | 'lower' | 'image' ] - If *None*, the first value of *Z* will correspond to the - lower left corner, location (0,0). If 'image', the rc - value for ``image.origin`` will be used. + vmin, vmax : float, optional + If not *None*, either or both of these values will be supplied to + the `.Normalize` instance, overriding the default color scaling + based on *levels*. - This keyword is not active if *X* and *Y* are specified in - the call to contour. + origin : {*None*, 'upper', 'lower', 'image'}, optional + Determines the orientation and exact position of *Z* by specifying + the position of ``Z[0, 0]``. This is only relevant, if *X*, *Y* + are not given. - *extent*: [ *None* | (x0,x1,y0,y1) ] + - *None*: ``Z[0, 0]`` is at X=0, Y=0 in the lower left corner. + - 'lower': ``Z[0, 0]`` is at X=0.5, Y=0.5 in the lower left corner. + - 'upper': ``Z[0, 0]`` is at X=N+0.5, Y=0.5 in the upper left + corner. + - 'image': Use the value from :rc:`image.origin`. Note: The value + *None* in the rcParam is currently handled as 'lower'. + extent : (x0, x1, y0, y1), optional If *origin* is not *None*, then *extent* is interpreted as in :func:`matplotlib.pyplot.imshow`: it gives the outer pixel boundaries. In this case, the position of Z[0,0] @@ -1707,13 +1752,12 @@ def _initialize_x_y(self, z): This keyword is not active if *X* and *Y* are specified in the call to contour. - *locator*: [ *None* | ticker.Locator subclass ] - If *locator* is *None*, the default - :class:`~matplotlib.ticker.MaxNLocator` is used. The - locator is used to determine the contour levels if they - are not given explicitly via the *V* argument. + locator : ticker.Locator subclass, optional + The locator is used to determine the contour levels if they + are not given explicitly via *levels*. + Defaults to `.MaxNLocator`. - *extend*: [ 'neither' | 'both' | 'min' | 'max' ] + extend : {'neither', 'both', 'min', 'max'}, optional Unless this is 'neither', contour levels are automatically added to one or both ends of the range so that all data are included. These added ranges are then mapped to the @@ -1722,16 +1766,16 @@ def _initialize_x_y(self, z): :meth:`matplotlib.colors.Colormap.set_under` and :meth:`matplotlib.colors.Colormap.set_over` methods. - *xunits*, *yunits*: [ *None* | registered units ] + xunits, yunits : registered units, optional Override axis units by specifying an instance of a :class:`matplotlib.units.ConversionInterface`. - *antialiased*: bool - enable antialiasing, overriding the defaults. For + antialiased : bool, optinal + Enable antialiasing, overriding the defaults. For filled contours, the default is *True*. For line contours, - it is taken from rcParams['lines.antialiased']. + it is taken from :rc:`lines.antialiased`. - *nchunk*: [ 0 | integer ] + Nchunk : int >= 0, optional If 0, no subdivision of the domain. Specify a positive integer to divide the domain into subdomains of *nchunk* by *nchunk* quads. Chunking reduces the maximum length of polygons generated by the @@ -1740,17 +1784,21 @@ def _initialize_x_y(self, z): however introduce rendering artifacts at chunk boundaries depending on the backend, the *antialiased* flag and value of *alpha*. - contour-only keyword arguments: + linewidths : float or sequence of float, optional + *Only applies to* `.contour`. - *linewidths*: [ *None* | number | tuple of numbers ] - If *None*, defaults to :rc:`lines.linewidth`. + The line width of the contour lines. If a number, all levels will be plotted with this linewidth. - If a tuple, different levels will be plotted with different - linewidths in the order specified. + If a sequence, the levels in ascending order will be plotted with + the linewidths in the order specified. + + Defaults to :rc:`lines.linewidth`. + + linestyles : {*None*, 'solid', 'dashed', 'dashdot', 'dotted'}, optional + *Only applies to* `.contour`. - *linestyles*: [ *None* | 'solid' | 'dashed' | 'dashdot' | 'dotted' ] If *linestyles* is *None*, the default is 'solid' unless the lines are monochrome. In that case, negative contours will take their linestyle from :rc:`contour.negative_linestyle` setting. @@ -1760,21 +1808,28 @@ def _initialize_x_y(self, z): iterable is shorter than the number of contour levels it will be repeated as necessary. - contourf-only keyword arguments: + hatches : List[str], optional + *Only applies to* `.contourf`. - *hatches*: A list of cross hatch patterns to use on the filled areas. If None, no hatching will be added to the contour. Hatching is supported in the PostScript, PDF, SVG and Agg backends only. - Note: contourf fills intervals that are closed at the top; that - is, for boundaries *z1* and *z2*, the filled region is:: + Notes + ----- + 1. :func:`~matplotlib.pyplot.contourf` differs from the MATLAB + version in that it does not draw the polygon edges. + To draw edges, add line contours with + calls to :func:`~matplotlib.pyplot.contour`. + + 2. contourf fills intervals that are closed at the top; that + is, for boundaries *z1* and *z2*, the filled region is:: - z1 < z <= z2 + z1 < Z <= z2 - There is one exception: if the lowest boundary coincides with - the minimum value of the *z* array, then that minimum value - will be included in the lowest interval. + There is one exception: if the lowest boundary coincides with + the minimum value of the *Z* array, then that minimum value + will be included in the lowest interval. """ From 285c8d2190054b4929f5f2d343ff584293ff3f6d Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Fri, 27 Apr 2018 01:21:32 +0200 Subject: [PATCH 0577/1161] DOC: add index labels --- tutorials/intermediate/imshow_extent.py | 94 +++++++++++++++++++++---- 1 file changed, 79 insertions(+), 15 deletions(-) diff --git a/tutorials/intermediate/imshow_extent.py b/tutorials/intermediate/imshow_extent.py index d0f56705c014..d709efeb2056 100644 --- a/tutorials/intermediate/imshow_extent.py +++ b/tutorials/intermediate/imshow_extent.py @@ -20,6 +20,66 @@ from matplotlib.gridspec import GridSpec +def index_to_coordinate(index, extent, origin): + """Return the pixel center of an index.""" + left, right, bottom, top = extent + + hshift = 0.5 * np.sign(right - left) + left, right = left + hshift, right - hshift + vshift = 0.5 * np.sign(top - bottom) + bottom, top = bottom + vshift, top - vshift + + if origin == 'upper': + bottom, top = top, bottom + + return { + "[0, 0]": (left, bottom), + "[N', 0]": (left, top), + "[0, M']": (right, bottom), + "[N', M']": (right, top), + }[index] + + +def get_index_label_pos(index, extent, origin, inverted_xindex): + """ + Return the desired position and horizontal alignment of an index label. + """ + if extent is None: + extent = lookup_extent(origin) + left, right, bottom, top = extent + x, y = index_to_coordinate(index, extent, origin) + + is_x0 = index[-2:] == "0]" + halign = 'left' if is_x0 ^ inverted_xindex else 'right' + hshift = 0.5 * np.sign(left - right) + x += hshift * (1 if is_x0 else -1) + return x, y, halign + + +def get_color(index, data, cmap): + """Return the data color of an index.""" + val = { + "[0, 0]": data[0, 0], + "[0, M']": data[0, -1], + "[N', 0]": data[-1, 0], + "[N', M']": data[-1, -1], + }[index] + return cmap(val / data.max()) + + +def lookup_extent(origin): + """Return extent for label positioning when not given explicitly.""" + if origin == 'lower': + return (-0.5, 6.5, -0.5, 5.5) + else: + return (-0.5, 6.5, 5.5, -0.5) + + +def set_extent_None_text(ax): + ax.text(3, 2.5, 'equals\nextent=None', size='large', + ha='center', va='center', color='w') + + def generate_imshow_demo_grid(extents, auto_limits): N = len(extents) fig = plt.figure(tight_layout=True) @@ -37,18 +97,6 @@ def generate_imshow_demo_grid(extents, auto_limits): im = ax.imshow(d, origin=origin, extent=extent) left, right, bottom, top = im.get_extent() - arrow_style = {'arrowprops': {'arrowstyle': '-|>', - 'shrinkA': 0, - 'color': '0.5', - 'linewidth': 3}} - ax.annotate('', - (left, bottom + 2*np.sign(top - bottom)), - (left, bottom), - **arrow_style) - ax.annotate('', - (left + 2*np.sign(right - left), bottom), - (left, bottom), - **arrow_style) if auto_limits or top > bottom: upper_string, lower_string = 'top', 'bottom' @@ -57,8 +105,10 @@ def generate_imshow_demo_grid(extents, auto_limits): if auto_limits or left < right: port_string, starboard_string = 'left', 'right' + inverted_xindex = False else: port_string, starboard_string = 'right', 'left' + inverted_xindex = True bbox_kwargs = {'fc': 'w', 'alpha': .75, 'boxstyle': "round4"} ann_kwargs = {'xycoords': 'axes fraction', @@ -78,6 +128,13 @@ def generate_imshow_demo_grid(extents, auto_limits): ax.set_title('origin: {origin}'.format(origin=origin)) + for index in ["[0, 0]", "[0, M']", "[N', 0]", "[N', M']"]: + tx, ty, halign = get_index_label_pos(index, extent, origin, + inverted_xindex) + facecolor = get_color(index, d, im.get_cmap()) + ax.text(tx, ty, index, color='white', ha=halign, va='center', + bbox={'boxstyle': 'square', 'facecolor': facecolor}) + if not auto_limits: ax.set_xlim(-1, 7) ax.set_ylim(-1, 6) @@ -89,7 +146,7 @@ def generate_imshow_demo_grid(extents, auto_limits): 'xy': (1, .5)} if extent is None: ax.annotate('None', **text_kwargs) - ax.set_title('`extent=`') + ax.set_title('extent=') else: left, right, bottom, top = extent text = ('left: {left:0.1f}\nright: {right:0.1f}\n' + @@ -98,6 +155,7 @@ def generate_imshow_demo_grid(extents, auto_limits): ax.annotate(text, **text_kwargs) ax.axis('off') + return columns extents = (None, @@ -106,6 +164,8 @@ def generate_imshow_demo_grid(extents, auto_limits): (6.5, -0.5, -0.5, 5.5), (6.5, -0.5, 5.5, -0.5)) + + ############################################################################### # # @@ -153,7 +213,9 @@ def generate_imshow_demo_grid(extents, auto_limits): # may invert the axis so they do not increase in the 'natural' direction. # -generate_imshow_demo_grid(extents[1:], auto_limits=True) +columns = generate_imshow_demo_grid(extents[1:], auto_limits=True) +set_extent_None_text(columns['upper'][1]) +set_extent_None_text(columns['lower'][0]) ############################################################################### @@ -170,4 +232,6 @@ def generate_imshow_demo_grid(extents, auto_limits): # - The 'left-right' and 'top-bottom' sense of the image is uncoupled from # the orientation on the screen. -generate_imshow_demo_grid(extents, auto_limits=False) +columns = generate_imshow_demo_grid(extents, auto_limits=False) +set_extent_None_text(columns['upper'][2]) +set_extent_None_text(columns['lower'][1]) From 5e858a6ec3097bae6527a2c5e85a5228ef81630d Mon Sep 17 00:00:00 2001 From: ImportanceOfBeingErnest <elch.rz@ruetz-online.de> Date: Thu, 26 Apr 2018 17:15:04 +0200 Subject: [PATCH 0578/1161] pillow-dependency update --- INSTALL.rst | 4 ++-- lib/matplotlib/backend_bases.py | 7 ++++++- lib/matplotlib/backends/backend_agg.py | 7 +++---- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/INSTALL.rst b/INSTALL.rst index e798e1fedf39..bb2402ede7da 100644 --- a/INSTALL.rst +++ b/INSTALL.rst @@ -142,7 +142,7 @@ Matplotlib requires the following dependencies: * `pytz <http://pytz.sourceforge.net/>`__ * FreeType (>= 2.3) * `cycler <http://matplotlib.org/cycler/>`__ (>= 0.10.0) - * `six <https://pypi.python.org/pypi/six>`_ + * `six <https://pypi.python.org/pypi/six>`_ (>= 1.10) * `kiwisolver <https://github.com/nucleic/kiwi>`__ (>= 1.0.0) Optionally, you can also install a number of packages to enable better user @@ -166,7 +166,7 @@ etc., you can install the following: <https://libav.org/avconv.html>`_: for saving movies; * `ImageMagick <https://www.imagemagick.org/script/index.php>`_: for saving animated gifs; - * `Pillow <https://pillow.readthedocs.io/en/latest/>`_ (>=2.0): for a larger selection of + * `Pillow <https://pillow.readthedocs.io/en/latest/>`_ (>=3.4): for a larger selection of image file formats: JPEG, BMP, and TIFF image files; * `LaTeX <https://miktex.org/>`_ and `GhostScript <https://ghostscript.com/download/>`_ (for rendering text with LaTeX). diff --git a/lib/matplotlib/backend_bases.py b/lib/matplotlib/backend_bases.py index 2e7499a7758a..5e9aed3cf332 100644 --- a/lib/matplotlib/backend_bases.py +++ b/lib/matplotlib/backend_bases.py @@ -55,7 +55,12 @@ try: from PIL import Image - _has_pil = True + from PIL import PILLOW_VERSION + from distutils.version import LooseVersion + if LooseVersion(PILLOW_VERSION) >= LooseVersion("3.4"): + _has_pil = True + else: + _has_pil = False del Image except ImportError: _has_pil = False diff --git a/lib/matplotlib/backends/backend_agg.py b/lib/matplotlib/backends/backend_agg.py index bf4b85032a80..1cfa726b7851 100644 --- a/lib/matplotlib/backends/backend_agg.py +++ b/lib/matplotlib/backends/backend_agg.py @@ -42,11 +42,10 @@ from matplotlib.backends._backend_agg import RendererAgg as _RendererAgg from matplotlib import _png -try: +from matplotlib.backend_bases import _has_pil + +if _has_pil: from PIL import Image - _has_pil = True -except ImportError: - _has_pil = False backend_version = 'v2.2' From 7fbd4c2ed21a966bd6b6bd656ccf07155378baac Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sun, 22 Apr 2018 17:27:53 -0700 Subject: [PATCH 0579/1161] When drawing markers, don't set the GraphicsContext alpha. Setting the alpha value on the GraphicsContext forcefully applies it to both the edgecolor and the facecolor, *except* that a facecolor of `None` ignores the alpha. Instead of requiring this behavior (which needlessly complicates the implementation of new rendering backends), the alpha value (if any) can directly be preapplied to the edgecolor and facecolor, the edgecolor can be applied using gc.set_foreground, and the alpha value never set on the GraphicsContext. --- lib/matplotlib/backends/backend_ps.py | 5 +- lib/matplotlib/lines.py | 53 +- .../test_axes/errorbar_mixed.svg | 700 +++++++++--------- .../test_axes/rgba_markers.svg | 204 ++--- .../baseline_images/test_axes/test_alpha.svg | 332 ++++----- lib/matplotlib/tests/test_axes.py | 14 + 6 files changed, 667 insertions(+), 641 deletions(-) diff --git a/lib/matplotlib/backends/backend_ps.py b/lib/matplotlib/backends/backend_ps.py index d3bc8814545e..a4ce7f4e4ef4 100644 --- a/lib/matplotlib/backends/backend_ps.py +++ b/lib/matplotlib/backends/backend_ps.py @@ -536,7 +536,10 @@ def draw_markers( ps_cmd = ['/o {', 'gsave', 'newpath', 'translate'] # don't want the translate to be global lw = gc.get_linewidth() - stroke = lw != 0.0 + alpha = (gc.get_alpha() + if gc.get_forced_alpha() or len(gc.get_rgb()) == 3 + else gc.get_rgb()[3]) + stroke = lw > 0 and alpha > 0 if stroke: ps_cmd.append('%.1f setlinewidth' % lw) jint = gc.get_joinstyle() diff --git a/lib/matplotlib/lines.py b/lib/matplotlib/lines.py index cc8c617542ae..b948561ea119 100644 --- a/lib/matplotlib/lines.py +++ b/lib/matplotlib/lines.py @@ -759,9 +759,8 @@ def draw(self, renderer): gc = renderer.new_gc() self._set_gc_clip(gc) - ln_color_rgba = self._get_rgba_ln_color() - gc.set_foreground(ln_color_rgba, isRGBA=True) - gc.set_alpha(ln_color_rgba[3]) + lc_rgba = mcolors.to_rgba(self._color, self._alpha) + gc.set_foreground(lc_rgba, isRGBA=True) gc.set_antialiased(self._antialiased) gc.set_linewidth(self._linewidth) @@ -785,24 +784,23 @@ def draw(self, renderer): if self._marker and self._markersize > 0: gc = renderer.new_gc() self._set_gc_clip(gc) - rgbaFace = self._get_rgba_face() - rgbaFaceAlt = self._get_rgba_face(alt=True) - edgecolor = self.get_markeredgecolor() - if cbook._str_lower_equal(edgecolor, "none"): - gc.set_linewidth(0) - gc.set_foreground(rgbaFace, isRGBA=True) - else: - gc.set_foreground(edgecolor) - gc.set_linewidth(self._markeredgewidth) - mec = self._markeredgecolor - if (cbook._str_equal(mec, "auto") - and not cbook._str_lower_equal( - self.get_markerfacecolor(), "none")): - gc.set_alpha(rgbaFace[3]) - else: - gc.set_alpha(self.get_alpha()) + gc.set_linewidth(self._markeredgewidth) gc.set_antialiased(self._antialiased) + ec_rgba = mcolors.to_rgba( + self.get_markeredgecolor(), self._alpha) + fc_rgba = mcolors.to_rgba( + self._get_markerfacecolor(), self._alpha) + fcalt_rgba = mcolors.to_rgba( + self._get_markerfacecolor(alt=True), self._alpha) + # If the edgecolor is "auto", it is set according to the *line* + # color but inherits the alpha value of the *face* color, if any. + if (cbook._str_equal(self._markeredgecolor, "auto") + and not cbook._str_lower_equal( + self.get_markerfacecolor(), "none")): + ec_rgba = ec_rgba[:3] + (fc_rgba[3],) + gc.set_foreground(ec_rgba, isRGBA=True) + marker = self._marker tpath, affine = transf_path.get_transformed_points_and_affine() if len(tpath.vertices): @@ -832,22 +830,15 @@ def draw(self, renderer): renderer.draw_markers(gc, marker_path, marker_trans, subsampled, affine.frozen(), - rgbaFace) + fc_rgba) alt_marker_path = marker.get_alt_path() if alt_marker_path: alt_marker_trans = marker.get_alt_transform() alt_marker_trans = alt_marker_trans.scale(w) - if (cbook._str_equal(mec, "auto") - and not cbook._str_lower_equal( - self.get_markerfacecoloralt(), "none")): - gc.set_alpha(rgbaFaceAlt[3]) - else: - gc.set_alpha(self.get_alpha()) - renderer.draw_markers( gc, alt_marker_path, alt_marker_trans, subsampled, - affine.frozen(), rgbaFaceAlt) + affine.frozen(), fcalt_rgba) gc.restore() @@ -892,8 +883,7 @@ def _get_markerfacecolor(self, alt=False): fc = self._markerfacecoloralt else: fc = self._markerfacecolor - - if (isinstance(fc, six.string_types) and fc.lower() == 'auto'): + if cbook._str_lower_equal(fc, 'auto'): if self.get_fillstyle() == 'none': return 'none' else: @@ -1253,9 +1243,6 @@ def update_from(self, other): def _get_rgba_face(self, alt=False): return mcolors.to_rgba(self._get_markerfacecolor(alt=alt), self._alpha) - def _get_rgba_ln_color(self, alt=False): - return mcolors.to_rgba(self._color, self._alpha) - def set_dash_joinstyle(self, s): """ Set the join style for dashed linestyles diff --git a/lib/matplotlib/tests/baseline_images/test_axes/errorbar_mixed.svg b/lib/matplotlib/tests/baseline_images/test_axes/errorbar_mixed.svg index 61da0aca346e..7302d4e74273 100644 --- a/lib/matplotlib/tests/baseline_images/test_axes/errorbar_mixed.svg +++ b/lib/matplotlib/tests/baseline_images/test_axes/errorbar_mixed.svg @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<!-- Created with matplotlib (http://matplotlib.org/) --> +<!-- Created with matplotlib (https://matplotlib.org/) --> <svg height="432pt" version="1.1" viewBox="0 0 576 432" width="576pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <defs> <style type="text/css"> @@ -27,28 +27,28 @@ z " style="fill:#ffffff;"/> </g> <g id="LineCollection_1"> - <path clip-path="url(#p31f5ece469)" d="M 125.263636 102.769512 + <path clip-path="url(#pc7a66a3dce)" d="M 125.263636 102.769512 L 125.263636 77.125119 " style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#p31f5ece469)" d="M 137.945455 137.934277 + <path clip-path="url(#pc7a66a3dce)" d="M 137.945455 137.934277 L 137.945455 97.888767 " style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#p31f5ece469)" d="M 150.627273 159.20305 + <path clip-path="url(#pc7a66a3dce)" d="M 150.627273 159.20305 L 150.627273 110.542292 " style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#p31f5ece469)" d="M 163.309091 172.885276 + <path clip-path="url(#pc7a66a3dce)" d="M 163.309091 172.885276 L 163.309091 117.43498 " style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#p31f5ece469)" d="M 175.990909 182.018967 + <path clip-path="url(#pc7a66a3dce)" d="M 175.990909 182.018967 L 175.990909 120.780605 " style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#p31f5ece469)" d="M 188.672727 188.369023 + <path clip-path="url(#pc7a66a3dce)" d="M 188.672727 188.369023 L 188.672727 121.999636 " style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#p31f5ece469)" d="M 201.354545 192.993026 + <path clip-path="url(#pc7a66a3dce)" d="M 201.354545 192.993026 L 201.354545 121.966518 " style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#p31f5ece469)" d="M 214.036364 196.532477 + <path clip-path="url(#pc7a66a3dce)" d="M 214.036364 196.532477 L 214.036364 121.211578 " style="fill:none;stroke:#0000ff;"/> </g> @@ -56,29 +56,29 @@ L 214.036364 121.211578 <defs> <path d="M 3 0 L -3 -0 -" id="m456b64e96a" style="stroke:#0000ff;stroke-width:0.5;"/> +" id="me44e253235" style="stroke:#0000ff;stroke-width:0.5;"/> </defs> - <g clip-path="url(#p31f5ece469)"> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="125.263636" xlink:href="#m456b64e96a" y="102.769512"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="137.945455" xlink:href="#m456b64e96a" y="137.934277"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="150.627273" xlink:href="#m456b64e96a" y="159.20305"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="163.309091" xlink:href="#m456b64e96a" y="172.885276"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="175.990909" xlink:href="#m456b64e96a" y="182.018967"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="188.672727" xlink:href="#m456b64e96a" y="188.369023"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="201.354545" xlink:href="#m456b64e96a" y="192.993026"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="214.036364" xlink:href="#m456b64e96a" y="196.532477"/> + <g clip-path="url(#pc7a66a3dce)"> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="125.263636" xlink:href="#me44e253235" y="102.769512"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="137.945455" xlink:href="#me44e253235" y="137.934277"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="150.627273" xlink:href="#me44e253235" y="159.20305"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="163.309091" xlink:href="#me44e253235" y="172.885276"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="175.990909" xlink:href="#me44e253235" y="182.018967"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="188.672727" xlink:href="#me44e253235" y="188.369023"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="201.354545" xlink:href="#me44e253235" y="192.993026"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="214.036364" xlink:href="#me44e253235" y="196.532477"/> </g> </g> <g id="line2d_2"> - <g clip-path="url(#p31f5ece469)"> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="125.263636" xlink:href="#m456b64e96a" y="77.125119"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="137.945455" xlink:href="#m456b64e96a" y="97.888767"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="150.627273" xlink:href="#m456b64e96a" y="110.542292"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="163.309091" xlink:href="#m456b64e96a" y="117.43498"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="175.990909" xlink:href="#m456b64e96a" y="120.780605"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="188.672727" xlink:href="#m456b64e96a" y="121.999636"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="201.354545" xlink:href="#m456b64e96a" y="121.966518"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="214.036364" xlink:href="#m456b64e96a" y="121.211578"/> + <g clip-path="url(#pc7a66a3dce)"> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="125.263636" xlink:href="#me44e253235" y="77.125119"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="137.945455" xlink:href="#me44e253235" y="97.888767"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="150.627273" xlink:href="#me44e253235" y="110.542292"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="163.309091" xlink:href="#me44e253235" y="117.43498"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="175.990909" xlink:href="#me44e253235" y="120.780605"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="188.672727" xlink:href="#me44e253235" y="121.999636"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="201.354545" xlink:href="#me44e253235" y="121.966518"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="214.036364" xlink:href="#me44e253235" y="121.211578"/> </g> </g> <g id="line2d_3"> @@ -93,17 +93,17 @@ C -2.683901 -1.55874 -3 -0.795609 -3 0 C -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 C -1.55874 2.683901 -0.795609 3 0 3 z -" id="m9e896d7499" style="stroke:#000000;stroke-width:0.5;"/> +" id="mbb289507d7" style="stroke:#000000;stroke-width:0.5;"/> </defs> - <g clip-path="url(#p31f5ece469)"> - <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="125.263636" xlink:href="#m9e896d7499" y="89.947316"/> - <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="137.945455" xlink:href="#m9e896d7499" y="117.911522"/> - <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="150.627273" xlink:href="#m9e896d7499" y="134.872671"/> - <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="163.309091" xlink:href="#m9e896d7499" y="145.160128"/> - <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="175.990909" xlink:href="#m9e896d7499" y="151.399786"/> - <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="188.672727" xlink:href="#m9e896d7499" y="155.18433"/> - <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="201.354545" xlink:href="#m9e896d7499" y="157.479772"/> - <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="214.036364" xlink:href="#m9e896d7499" y="158.872028"/> + <g clip-path="url(#pc7a66a3dce)"> + <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="125.263636" xlink:href="#mbb289507d7" y="89.947316"/> + <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="137.945455" xlink:href="#mbb289507d7" y="117.911522"/> + <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="150.627273" xlink:href="#mbb289507d7" y="134.872671"/> + <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="163.309091" xlink:href="#mbb289507d7" y="145.160128"/> + <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="175.990909" xlink:href="#mbb289507d7" y="151.399786"/> + <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="188.672727" xlink:href="#mbb289507d7" y="155.18433"/> + <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="201.354545" xlink:href="#mbb289507d7" y="157.479772"/> + <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="214.036364" xlink:href="#mbb289507d7" y="158.872028"/> </g> </g> <g id="patch_3"> @@ -132,68 +132,68 @@ L 274.909091 43.2 <defs> <path d="M 0 0 L 0 -4 -" id="m04d4af9c28" style="stroke:#000000;stroke-width:0.5;"/> +" id="m368fc901b1" style="stroke:#000000;stroke-width:0.5;"/> </defs> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m04d4af9c28" y="200.290909"/> + <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m368fc901b1" y="200.290909"/> </g> </g> <g id="line2d_5"> <defs> <path d="M 0 0 L 0 4 -" id="m4f067b6ef0" style="stroke:#000000;stroke-width:0.5;"/> +" id="mc63e59a608" style="stroke:#000000;stroke-width:0.5;"/> </defs> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m4f067b6ef0" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#mc63e59a608" y="43.2"/> </g> </g> </g> <g id="xtick_2"> <g id="line2d_6"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="122.727273" xlink:href="#m04d4af9c28" y="200.290909"/> + <use style="stroke:#000000;stroke-width:0.5;" x="122.727273" xlink:href="#m368fc901b1" y="200.290909"/> </g> </g> <g id="line2d_7"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="122.727273" xlink:href="#m4f067b6ef0" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.5;" x="122.727273" xlink:href="#mc63e59a608" y="43.2"/> </g> </g> </g> <g id="xtick_3"> <g id="line2d_8"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="173.454545" xlink:href="#m04d4af9c28" y="200.290909"/> + <use style="stroke:#000000;stroke-width:0.5;" x="173.454545" xlink:href="#m368fc901b1" y="200.290909"/> </g> </g> <g id="line2d_9"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="173.454545" xlink:href="#m4f067b6ef0" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.5;" x="173.454545" xlink:href="#mc63e59a608" y="43.2"/> </g> </g> </g> <g id="xtick_4"> <g id="line2d_10"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="224.181818" xlink:href="#m04d4af9c28" y="200.290909"/> + <use style="stroke:#000000;stroke-width:0.5;" x="224.181818" xlink:href="#m368fc901b1" y="200.290909"/> </g> </g> <g id="line2d_11"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="224.181818" xlink:href="#m4f067b6ef0" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.5;" x="224.181818" xlink:href="#mc63e59a608" y="43.2"/> </g> </g> </g> <g id="xtick_5"> <g id="line2d_12"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="274.909091" xlink:href="#m04d4af9c28" y="200.290909"/> + <use style="stroke:#000000;stroke-width:0.5;" x="274.909091" xlink:href="#m368fc901b1" y="200.290909"/> </g> </g> <g id="line2d_13"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="274.909091" xlink:href="#m4f067b6ef0" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.5;" x="274.909091" xlink:href="#mc63e59a608" y="43.2"/> </g> </g> </g> @@ -204,20 +204,20 @@ L 0 4 <defs> <path d="M 0 0 L 4 0 -" id="m997ef6ac20" style="stroke:#000000;stroke-width:0.5;"/> +" id="m556f96d829" style="stroke:#000000;stroke-width:0.5;"/> </defs> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m997ef6ac20" y="200.290909"/> + <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m556f96d829" y="200.290909"/> </g> </g> <g id="line2d_15"> <defs> <path d="M 0 0 L -4 0 -" id="m676b97144f" style="stroke:#000000;stroke-width:0.5;"/> +" id="m27e32ca04a" style="stroke:#000000;stroke-width:0.5;"/> </defs> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="274.909091" xlink:href="#m676b97144f" y="200.290909"/> + <use style="stroke:#000000;stroke-width:0.5;" x="274.909091" xlink:href="#m27e32ca04a" y="200.290909"/> </g> </g> <g id="text_1"> @@ -238,6 +238,7 @@ Q 39.453125 6.390625 43.28125 13.890625 Q 47.125 21.390625 47.125 36.375 Q 47.125 51.421875 43.28125 58.90625 Q 39.453125 66.40625 31.78125 66.40625 +z M 31.78125 74.21875 Q 44.046875 74.21875 50.515625 64.515625 Q 56.984375 54.828125 56.984375 36.375 @@ -247,6 +248,7 @@ Q 19.53125 -1.421875 13.0625 8.265625 Q 6.59375 17.96875 6.59375 36.375 Q 6.59375 54.828125 13.0625 64.515625 Q 19.53125 74.21875 31.78125 74.21875 +z " id="DejaVuSans-30"/> <path d="M 10.6875 12.40625 L 21 12.40625 @@ -290,12 +292,12 @@ z <g id="ytick_2"> <g id="line2d_16"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m997ef6ac20" y="161.018182"/> + <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m556f96d829" y="161.018182"/> </g> </g> <g id="line2d_17"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="274.909091" xlink:href="#m676b97144f" y="161.018182"/> + <use style="stroke:#000000;stroke-width:0.5;" x="274.909091" xlink:href="#m27e32ca04a" y="161.018182"/> </g> </g> <g id="text_2"> @@ -310,12 +312,12 @@ z <g id="ytick_3"> <g id="line2d_18"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m997ef6ac20" y="121.745455"/> + <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m556f96d829" y="121.745455"/> </g> </g> <g id="line2d_19"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="274.909091" xlink:href="#m676b97144f" y="121.745455"/> + <use style="stroke:#000000;stroke-width:0.5;" x="274.909091" xlink:href="#m27e32ca04a" y="121.745455"/> </g> </g> <g id="text_3"> @@ -330,12 +332,12 @@ z <g id="ytick_4"> <g id="line2d_20"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m997ef6ac20" y="82.472727"/> + <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m556f96d829" y="82.472727"/> </g> </g> <g id="line2d_21"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="274.909091" xlink:href="#m676b97144f" y="82.472727"/> + <use style="stroke:#000000;stroke-width:0.5;" x="274.909091" xlink:href="#m27e32ca04a" y="82.472727"/> </g> </g> <g id="text_4"> @@ -365,12 +367,12 @@ z <g id="ytick_5"> <g id="line2d_22"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m997ef6ac20" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m556f96d829" y="43.2"/> </g> </g> <g id="line2d_23"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="274.909091" xlink:href="#m676b97144f" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.5;" x="274.909091" xlink:href="#m27e32ca04a" y="43.2"/> </g> </g> <g id="text_5"> @@ -411,6 +413,7 @@ Q 5.515625 40.234375 12.765625 48.109375 Q 20.015625 56 32.328125 56 Q 43.359375 56 49.78125 48.890625 Q 56.203125 41.796875 56.203125 29.59375 +z M 47.21875 32.234375 Q 47.125 39.59375 43.09375 43.984375 Q 39.0625 48.390625 32.421875 48.390625 @@ -484,6 +487,7 @@ Q 5.8125 47.609375 11.28125 51.796875 Q 16.75 56 26.8125 56 Q 31.78125 56 36.171875 55.265625 Q 40.578125 54.546875 44.28125 53.078125 +z " id="DejaVuSans-73"/> <path d="M 32.171875 -5.078125 Q 28.375 -14.84375 24.75 -17.8125 @@ -529,6 +533,7 @@ Q 21.1875 51.21875 25.484375 53.609375 Q 29.78125 56 35.6875 56 Q 41.65625 56 45.828125 52.96875 Q 50 49.953125 52 44.1875 +z " id="DejaVuSans-6d"/> <path d="M 9.421875 54.6875 L 18.40625 54.6875 @@ -560,6 +565,7 @@ Q 5.515625 40.671875 12.859375 48.328125 Q 20.21875 56 33.015625 56 Q 37.15625 56 41.109375 55.140625 Q 45.0625 54.296875 48.78125 52.59375 +z " id="DejaVuSans-63"/> </defs> <g transform="translate(115.537295 38.2)scale(0.144 -0.144)"> @@ -591,28 +597,28 @@ z " style="fill:#ffffff;"/> </g> <g id="LineCollection_2"> - <path clip-path="url(#pcce14bfac0)" d="M 362.077681 58.149177 + <path clip-path="url(#p58107b0fbb)" d="M 362.077681 58.149177 L 375.43141 58.149177 " style="fill:none;stroke:#0000ff;stroke-opacity:0.4;"/> - <path clip-path="url(#pcce14bfac0)" d="M 372.434319 114.07759 + <path clip-path="url(#p58107b0fbb)" d="M 372.434319 114.07759 L 390.438409 114.07759 " style="fill:none;stroke:#0000ff;stroke-opacity:0.4;"/> - <path clip-path="url(#pcce14bfac0)" d="M 383.725133 147.999888 + <path clip-path="url(#p58107b0fbb)" d="M 383.725133 147.999888 L 404.51123 147.999888 " style="fill:none;stroke:#0000ff;stroke-opacity:0.4;"/> - <path clip-path="url(#pcce14bfac0)" d="M 395.310724 168.574802 + <path clip-path="url(#p58107b0fbb)" d="M 395.310724 168.574802 L 418.289276 168.574802 " style="fill:none;stroke:#0000ff;stroke-opacity:0.4;"/> - <path clip-path="url(#pcce14bfac0)" d="M 407.058011 181.054117 + <path clip-path="url(#p58107b0fbb)" d="M 407.058011 181.054117 L 431.905626 181.054117 " style="fill:none;stroke:#0000ff;stroke-opacity:0.4;"/> - <path clip-path="url(#pcce14bfac0)" d="M 418.911382 188.623205 + <path clip-path="url(#p58107b0fbb)" d="M 418.911382 188.623205 L 445.415891 188.623205 " style="fill:none;stroke:#0000ff;stroke-opacity:0.4;"/> - <path clip-path="url(#pcce14bfac0)" d="M 430.841269 193.214089 + <path clip-path="url(#p58107b0fbb)" d="M 430.841269 193.214089 L 458.84964 193.214089 " style="fill:none;stroke:#0000ff;stroke-opacity:0.4;"/> - <path clip-path="url(#pcce14bfac0)" d="M 442.829722 195.998601 + <path clip-path="url(#p58107b0fbb)" d="M 442.829722 195.998601 L 472.224823 195.998601 " style="fill:none;stroke:#0000ff;stroke-opacity:0.4;"/> </g> @@ -620,29 +626,29 @@ L 472.224823 195.998601 <defs> <path d="M 0 3 L 0 -3 -" id="m459e981c23" style="stroke:#0000ff;stroke-width:0.5;"/> +" id="m454add2b76" style="stroke:#0000ff;stroke-opacity:0.4;stroke-width:0.5;"/> </defs> - <g clip-path="url(#pcce14bfac0)"> - <use style="fill:#0000ff;opacity:0.4;stroke:#0000ff;stroke-width:0.5;" x="362.077681" xlink:href="#m459e981c23" y="58.149177"/> - <use style="fill:#0000ff;opacity:0.4;stroke:#0000ff;stroke-width:0.5;" x="372.434319" xlink:href="#m459e981c23" y="114.07759"/> - <use style="fill:#0000ff;opacity:0.4;stroke:#0000ff;stroke-width:0.5;" x="383.725133" xlink:href="#m459e981c23" y="147.999888"/> - <use style="fill:#0000ff;opacity:0.4;stroke:#0000ff;stroke-width:0.5;" x="395.310724" xlink:href="#m459e981c23" y="168.574802"/> - <use style="fill:#0000ff;opacity:0.4;stroke:#0000ff;stroke-width:0.5;" x="407.058011" xlink:href="#m459e981c23" y="181.054117"/> - <use style="fill:#0000ff;opacity:0.4;stroke:#0000ff;stroke-width:0.5;" x="418.911382" xlink:href="#m459e981c23" y="188.623205"/> - <use style="fill:#0000ff;opacity:0.4;stroke:#0000ff;stroke-width:0.5;" x="430.841269" xlink:href="#m459e981c23" y="193.214089"/> - <use style="fill:#0000ff;opacity:0.4;stroke:#0000ff;stroke-width:0.5;" x="442.829722" xlink:href="#m459e981c23" y="195.998601"/> + <g clip-path="url(#p58107b0fbb)"> + <use style="fill:#0000ff;fill-opacity:0.4;stroke:#0000ff;stroke-opacity:0.4;stroke-width:0.5;" x="362.077681" xlink:href="#m454add2b76" y="58.149177"/> + <use style="fill:#0000ff;fill-opacity:0.4;stroke:#0000ff;stroke-opacity:0.4;stroke-width:0.5;" x="372.434319" xlink:href="#m454add2b76" y="114.07759"/> + <use style="fill:#0000ff;fill-opacity:0.4;stroke:#0000ff;stroke-opacity:0.4;stroke-width:0.5;" x="383.725133" xlink:href="#m454add2b76" y="147.999888"/> + <use style="fill:#0000ff;fill-opacity:0.4;stroke:#0000ff;stroke-opacity:0.4;stroke-width:0.5;" x="395.310724" xlink:href="#m454add2b76" y="168.574802"/> + <use style="fill:#0000ff;fill-opacity:0.4;stroke:#0000ff;stroke-opacity:0.4;stroke-width:0.5;" x="407.058011" xlink:href="#m454add2b76" y="181.054117"/> + <use style="fill:#0000ff;fill-opacity:0.4;stroke:#0000ff;stroke-opacity:0.4;stroke-width:0.5;" x="418.911382" xlink:href="#m454add2b76" y="188.623205"/> + <use style="fill:#0000ff;fill-opacity:0.4;stroke:#0000ff;stroke-opacity:0.4;stroke-width:0.5;" x="430.841269" xlink:href="#m454add2b76" y="193.214089"/> + <use style="fill:#0000ff;fill-opacity:0.4;stroke:#0000ff;stroke-opacity:0.4;stroke-width:0.5;" x="442.829722" xlink:href="#m454add2b76" y="195.998601"/> </g> </g> <g id="line2d_25"> - <g clip-path="url(#pcce14bfac0)"> - <use style="fill:#0000ff;opacity:0.4;stroke:#0000ff;stroke-width:0.5;" x="375.43141" xlink:href="#m459e981c23" y="58.149177"/> - <use style="fill:#0000ff;opacity:0.4;stroke:#0000ff;stroke-width:0.5;" x="390.438409" xlink:href="#m459e981c23" y="114.07759"/> - <use style="fill:#0000ff;opacity:0.4;stroke:#0000ff;stroke-width:0.5;" x="404.51123" xlink:href="#m459e981c23" y="147.999888"/> - <use style="fill:#0000ff;opacity:0.4;stroke:#0000ff;stroke-width:0.5;" x="418.289276" xlink:href="#m459e981c23" y="168.574802"/> - <use style="fill:#0000ff;opacity:0.4;stroke:#0000ff;stroke-width:0.5;" x="431.905626" xlink:href="#m459e981c23" y="181.054117"/> - <use style="fill:#0000ff;opacity:0.4;stroke:#0000ff;stroke-width:0.5;" x="445.415891" xlink:href="#m459e981c23" y="188.623205"/> - <use style="fill:#0000ff;opacity:0.4;stroke:#0000ff;stroke-width:0.5;" x="458.84964" xlink:href="#m459e981c23" y="193.214089"/> - <use style="fill:#0000ff;opacity:0.4;stroke:#0000ff;stroke-width:0.5;" x="472.224823" xlink:href="#m459e981c23" y="195.998601"/> + <g clip-path="url(#p58107b0fbb)"> + <use style="fill:#0000ff;fill-opacity:0.4;stroke:#0000ff;stroke-opacity:0.4;stroke-width:0.5;" x="375.43141" xlink:href="#m454add2b76" y="58.149177"/> + <use style="fill:#0000ff;fill-opacity:0.4;stroke:#0000ff;stroke-opacity:0.4;stroke-width:0.5;" x="390.438409" xlink:href="#m454add2b76" y="114.07759"/> + <use style="fill:#0000ff;fill-opacity:0.4;stroke:#0000ff;stroke-opacity:0.4;stroke-width:0.5;" x="404.51123" xlink:href="#m454add2b76" y="147.999888"/> + <use style="fill:#0000ff;fill-opacity:0.4;stroke:#0000ff;stroke-opacity:0.4;stroke-width:0.5;" x="418.289276" xlink:href="#m454add2b76" y="168.574802"/> + <use style="fill:#0000ff;fill-opacity:0.4;stroke:#0000ff;stroke-opacity:0.4;stroke-width:0.5;" x="431.905626" xlink:href="#m454add2b76" y="181.054117"/> + <use style="fill:#0000ff;fill-opacity:0.4;stroke:#0000ff;stroke-opacity:0.4;stroke-width:0.5;" x="445.415891" xlink:href="#m454add2b76" y="188.623205"/> + <use style="fill:#0000ff;fill-opacity:0.4;stroke:#0000ff;stroke-opacity:0.4;stroke-width:0.5;" x="458.84964" xlink:href="#m454add2b76" y="193.214089"/> + <use style="fill:#0000ff;fill-opacity:0.4;stroke:#0000ff;stroke-opacity:0.4;stroke-width:0.5;" x="472.224823" xlink:href="#m454add2b76" y="195.998601"/> </g> </g> <g id="line2d_26"> @@ -657,17 +663,17 @@ C -2.683901 -1.55874 -3 -0.795609 -3 0 C -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 C -1.55874 2.683901 -0.795609 3 0 3 z -" id="mb7d77fda26" style="stroke:#000000;stroke-width:0.5;"/> +" id="m1bffda5d1f" style="stroke:#000000;stroke-opacity:0.4;stroke-width:0.5;"/> </defs> - <g clip-path="url(#pcce14bfac0)"> - <use style="fill:#0000ff;opacity:0.4;stroke:#000000;stroke-width:0.5;" x="368.754545" xlink:href="#mb7d77fda26" y="58.149177"/> - <use style="fill:#0000ff;opacity:0.4;stroke:#000000;stroke-width:0.5;" x="381.436364" xlink:href="#mb7d77fda26" y="114.07759"/> - <use style="fill:#0000ff;opacity:0.4;stroke:#000000;stroke-width:0.5;" x="394.118182" xlink:href="#mb7d77fda26" y="147.999888"/> - <use style="fill:#0000ff;opacity:0.4;stroke:#000000;stroke-width:0.5;" x="406.8" xlink:href="#mb7d77fda26" y="168.574802"/> - <use style="fill:#0000ff;opacity:0.4;stroke:#000000;stroke-width:0.5;" x="419.481818" xlink:href="#mb7d77fda26" y="181.054117"/> - <use style="fill:#0000ff;opacity:0.4;stroke:#000000;stroke-width:0.5;" x="432.163636" xlink:href="#mb7d77fda26" y="188.623205"/> - <use style="fill:#0000ff;opacity:0.4;stroke:#000000;stroke-width:0.5;" x="444.845455" xlink:href="#mb7d77fda26" y="193.214089"/> - <use style="fill:#0000ff;opacity:0.4;stroke:#000000;stroke-width:0.5;" x="457.527273" xlink:href="#mb7d77fda26" y="195.998601"/> + <g clip-path="url(#p58107b0fbb)"> + <use style="fill:#0000ff;fill-opacity:0.4;stroke:#000000;stroke-opacity:0.4;stroke-width:0.5;" x="368.754545" xlink:href="#m1bffda5d1f" y="58.149177"/> + <use style="fill:#0000ff;fill-opacity:0.4;stroke:#000000;stroke-opacity:0.4;stroke-width:0.5;" x="381.436364" xlink:href="#m1bffda5d1f" y="114.07759"/> + <use style="fill:#0000ff;fill-opacity:0.4;stroke:#000000;stroke-opacity:0.4;stroke-width:0.5;" x="394.118182" xlink:href="#m1bffda5d1f" y="147.999888"/> + <use style="fill:#0000ff;fill-opacity:0.4;stroke:#000000;stroke-opacity:0.4;stroke-width:0.5;" x="406.8" xlink:href="#m1bffda5d1f" y="168.574802"/> + <use style="fill:#0000ff;fill-opacity:0.4;stroke:#000000;stroke-opacity:0.4;stroke-width:0.5;" x="419.481818" xlink:href="#m1bffda5d1f" y="181.054117"/> + <use style="fill:#0000ff;fill-opacity:0.4;stroke:#000000;stroke-opacity:0.4;stroke-width:0.5;" x="432.163636" xlink:href="#m1bffda5d1f" y="188.623205"/> + <use style="fill:#0000ff;fill-opacity:0.4;stroke:#000000;stroke-opacity:0.4;stroke-width:0.5;" x="444.845455" xlink:href="#m1bffda5d1f" y="193.214089"/> + <use style="fill:#0000ff;fill-opacity:0.4;stroke:#000000;stroke-opacity:0.4;stroke-width:0.5;" x="457.527273" xlink:href="#m1bffda5d1f" y="195.998601"/> </g> </g> <g id="patch_8"> @@ -694,60 +700,60 @@ L 518.4 43.2 <g id="xtick_6"> <g id="line2d_27"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#m04d4af9c28" y="200.290909"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#m368fc901b1" y="200.290909"/> </g> </g> <g id="line2d_28"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#m4f067b6ef0" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#mc63e59a608" y="43.2"/> </g> </g> </g> <g id="xtick_7"> <g id="line2d_29"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="366.218182" xlink:href="#m04d4af9c28" y="200.290909"/> + <use style="stroke:#000000;stroke-width:0.5;" x="366.218182" xlink:href="#m368fc901b1" y="200.290909"/> </g> </g> <g id="line2d_30"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="366.218182" xlink:href="#m4f067b6ef0" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.5;" x="366.218182" xlink:href="#mc63e59a608" y="43.2"/> </g> </g> </g> <g id="xtick_8"> <g id="line2d_31"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="416.945455" xlink:href="#m04d4af9c28" y="200.290909"/> + <use style="stroke:#000000;stroke-width:0.5;" x="416.945455" xlink:href="#m368fc901b1" y="200.290909"/> </g> </g> <g id="line2d_32"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="416.945455" xlink:href="#m4f067b6ef0" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.5;" x="416.945455" xlink:href="#mc63e59a608" y="43.2"/> </g> </g> </g> <g id="xtick_9"> <g id="line2d_33"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="467.672727" xlink:href="#m04d4af9c28" y="200.290909"/> + <use style="stroke:#000000;stroke-width:0.5;" x="467.672727" xlink:href="#m368fc901b1" y="200.290909"/> </g> </g> <g id="line2d_34"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="467.672727" xlink:href="#m4f067b6ef0" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.5;" x="467.672727" xlink:href="#mc63e59a608" y="43.2"/> </g> </g> </g> <g id="xtick_10"> <g id="line2d_35"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m04d4af9c28" y="200.290909"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m368fc901b1" y="200.290909"/> </g> </g> <g id="line2d_36"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m4f067b6ef0" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#mc63e59a608" y="43.2"/> </g> </g> </g> @@ -756,12 +762,12 @@ L 518.4 43.2 <g id="ytick_6"> <g id="line2d_37"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#m997ef6ac20" y="200.290909"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#m556f96d829" y="200.290909"/> </g> </g> <g id="line2d_38"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m676b97144f" y="200.290909"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m27e32ca04a" y="200.290909"/> </g> </g> <g id="text_7"> @@ -776,12 +782,12 @@ L 518.4 43.2 <g id="ytick_7"> <g id="line2d_39"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#m997ef6ac20" y="168.872727"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#m556f96d829" y="168.872727"/> </g> </g> <g id="line2d_40"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m676b97144f" y="168.872727"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m27e32ca04a" y="168.872727"/> </g> </g> <g id="text_8"> @@ -809,6 +815,7 @@ Q 53.21875 48.921875 51.53125 44.890625 Q 49.859375 40.875 45.40625 35.40625 Q 44.1875 33.984375 37.640625 27.21875 Q 31.109375 20.453125 19.1875 8.296875 +z " id="DejaVuSans-32"/> </defs> <g transform="translate(292.407159 173.43179)scale(0.12 -0.12)"> @@ -821,12 +828,12 @@ Q 31.109375 20.453125 19.1875 8.296875 <g id="ytick_8"> <g id="line2d_41"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#m997ef6ac20" y="137.454545"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#m556f96d829" y="137.454545"/> </g> </g> <g id="line2d_42"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m676b97144f" y="137.454545"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m27e32ca04a" y="137.454545"/> </g> </g> <g id="text_9"> @@ -860,12 +867,12 @@ z <g id="ytick_9"> <g id="line2d_43"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#m997ef6ac20" y="106.036364"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#m556f96d829" y="106.036364"/> </g> </g> <g id="line2d_44"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m676b97144f" y="106.036364"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m27e32ca04a" y="106.036364"/> </g> </g> <g id="text_10"> @@ -880,6 +887,7 @@ Q 39.65625 6.390625 43.53125 10.953125 Q 47.40625 15.53125 47.40625 23.390625 Q 47.40625 31.296875 43.53125 35.828125 Q 39.65625 40.375 33.015625 40.375 +z M 52.59375 71.296875 L 52.59375 62.3125 Q 48.875 64.0625 45.09375 64.984375 @@ -898,6 +906,7 @@ Q 6.984375 53.65625 15.1875 63.9375 Q 23.390625 74.21875 37.203125 74.21875 Q 40.921875 74.21875 44.703125 73.484375 Q 48.484375 72.75 52.59375 71.296875 +z " id="DejaVuSans-36"/> </defs> <g transform="translate(292.407159 110.595426)scale(0.12 -0.12)"> @@ -910,12 +919,12 @@ Q 48.484375 72.75 52.59375 71.296875 <g id="ytick_10"> <g id="line2d_45"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#m997ef6ac20" y="74.618182"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#m556f96d829" y="74.618182"/> </g> </g> <g id="line2d_46"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m676b97144f" y="74.618182"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m27e32ca04a" y="74.618182"/> </g> </g> <g id="text_11"> @@ -930,6 +939,7 @@ Q 38.8125 6.390625 42.859375 10.171875 Q 46.921875 13.96875 46.921875 20.515625 Q 46.921875 27.09375 42.890625 30.859375 Q 38.875 34.625 31.78125 34.625 +z M 21.921875 38.8125 Q 15.578125 40.375 12.03125 44.71875 Q 8.5 49.078125 8.5 55.328125 @@ -947,6 +957,7 @@ Q 19.734375 -1.421875 13.25 4.234375 Q 6.78125 9.90625 6.78125 20.515625 Q 6.78125 27.484375 10.78125 32.3125 Q 14.796875 37.15625 21.921875 38.8125 +z M 18.3125 54.390625 Q 18.3125 48.734375 21.84375 45.5625 Q 25.390625 42.390625 31.78125 42.390625 @@ -956,6 +967,7 @@ Q 45.3125 60.0625 41.71875 63.234375 Q 38.140625 66.40625 31.78125 66.40625 Q 25.390625 66.40625 21.84375 63.234375 Q 18.3125 60.0625 18.3125 54.390625 +z " id="DejaVuSans-38"/> </defs> <g transform="translate(292.407159 79.177244)scale(0.12 -0.12)"> @@ -968,12 +980,12 @@ Q 18.3125 60.0625 18.3125 54.390625 <g id="ytick_11"> <g id="line2d_47"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#m997ef6ac20" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#m556f96d829" y="43.2"/> </g> </g> <g id="line2d_48"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m676b97144f" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m27e32ca04a" y="43.2"/> </g> </g> <g id="text_12"> @@ -1012,6 +1024,7 @@ Q 37.796875 6.203125 41.984375 11.859375 Q 46.1875 17.53125 46.1875 27.296875 Q 46.1875 37.015625 41.984375 42.703125 Q 37.796875 48.390625 30.609375 48.390625 +z M 30.609375 56 Q 42.328125 56 49.015625 48.375 Q 55.71875 40.765625 55.71875 27.296875 @@ -1021,6 +1034,7 @@ Q 18.84375 -1.421875 12.171875 6.21875 Q 5.515625 13.875 5.515625 27.296875 Q 5.515625 40.765625 12.171875 48.375 Q 18.84375 56 30.609375 56 +z " id="DejaVuSans-6f"/> <path d="M 4.203125 54.6875 L 13.1875 54.6875 @@ -1073,6 +1087,7 @@ Q 14.9375 54.109375 19.578125 55.046875 Q 24.21875 56 28.609375 56 Q 40.484375 56 46.34375 49.84375 Q 52.203125 43.703125 52.203125 31.203125 +z " id="DejaVuSans-61"/> <path d="M 9.421875 75.984375 L 18.40625 75.984375 @@ -1094,6 +1109,7 @@ Q 58.015625 14.40625 51.78125 6.484375 Q 45.5625 -1.421875 35.59375 -1.421875 Q 29.59375 -1.421875 25.265625 0.953125 Q 20.953125 3.328125 18.109375 8.203125 +z M 48.6875 27.296875 Q 48.6875 37.203125 44.609375 42.84375 Q 40.53125 48.484375 33.40625 48.484375 @@ -1103,6 +1119,7 @@ Q 18.109375 17.390625 22.1875 11.75 Q 26.265625 6.109375 33.40625 6.109375 Q 40.53125 6.109375 44.609375 11.75 Q 48.6875 17.390625 48.6875 27.296875 +z " id="DejaVuSans-70"/> <path d="M 54.890625 33.015625 L 54.890625 0 @@ -1121,6 +1138,7 @@ Q 21.34375 51.125 25.703125 53.5625 Q 30.078125 56 35.796875 56 Q 45.21875 56 50.046875 50.171875 Q 54.890625 44.34375 54.890625 33.015625 +z " id="DejaVuSans-68"/> </defs> <g transform="translate(328.53958 38.2)scale(0.144 -0.144)"> @@ -1160,54 +1178,54 @@ z " style="fill:#ffffff;"/> </g> <g id="LineCollection_3"> - <path clip-path="url(#p4f636b2210)" d="M 118.586772 278.456406 + <path clip-path="url(#pb43d30e4a6)" d="M 118.586772 278.456406 L 138.617365 278.456406 " style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#p4f636b2210)" d="M 128.94341 306.420613 + <path clip-path="url(#pb43d30e4a6)" d="M 128.94341 306.420613 L 155.949544 306.420613 " style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#p4f636b2210)" d="M 140.234224 323.381762 + <path clip-path="url(#pb43d30e4a6)" d="M 140.234224 323.381762 L 171.41337 323.381762 " style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#p4f636b2210)" d="M 151.819815 333.669219 + <path clip-path="url(#pb43d30e4a6)" d="M 151.819815 333.669219 L 186.287643 333.669219 " style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#p4f636b2210)" d="M 163.567102 339.908877 + <path clip-path="url(#pb43d30e4a6)" d="M 163.567102 339.908877 L 200.838524 339.908877 " style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#p4f636b2210)" d="M 175.420473 343.693421 + <path clip-path="url(#pb43d30e4a6)" d="M 175.420473 343.693421 L 215.177236 343.693421 " style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#p4f636b2210)" d="M 187.35036 345.988863 + <path clip-path="url(#pb43d30e4a6)" d="M 187.35036 345.988863 L 229.362916 345.988863 " style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#p4f636b2210)" d="M 199.338813 347.381119 + <path clip-path="url(#pb43d30e4a6)" d="M 199.338813 347.381119 L 243.431465 347.381119 " style="fill:none;stroke:#0000ff;"/> </g> <g id="LineCollection_4"> - <path clip-path="url(#p4f636b2210)" d="M 125.263636 291.278603 + <path clip-path="url(#pb43d30e4a6)" d="M 125.263636 291.278603 L 125.263636 252.812014 " style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#p4f636b2210)" d="M 137.945455 326.443368 + <path clip-path="url(#pb43d30e4a6)" d="M 137.945455 326.443368 L 137.945455 266.375103 " style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#p4f636b2210)" d="M 150.627273 347.712141 + <path clip-path="url(#pb43d30e4a6)" d="M 150.627273 347.712141 L 150.627273 274.721004 " style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#p4f636b2210)" d="M 163.309091 361.394367 + <path clip-path="url(#pb43d30e4a6)" d="M 163.309091 361.394367 L 163.309091 278.218922 " style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#p4f636b2210)" d="M 175.990909 370.528058 + <path clip-path="url(#pb43d30e4a6)" d="M 175.990909 370.528058 L 175.990909 278.670515 " style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#p4f636b2210)" d="M 188.672727 376.878114 + <path clip-path="url(#pb43d30e4a6)" d="M 188.672727 376.878114 L 188.672727 277.324034 " style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#p4f636b2210)" d="M 201.354545 381.502117 + <path clip-path="url(#pb43d30e4a6)" d="M 201.354545 381.502117 L 201.354545 274.962354 " style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#p4f636b2210)" d="M 214.036364 385.041568 + <path clip-path="url(#pb43d30e4a6)" d="M 214.036364 385.041568 L 214.036364 272.060219 " style="fill:none;stroke:#0000ff;"/> </g> @@ -1215,57 +1233,57 @@ L 214.036364 272.060219 <defs> <path d="M 0 3 L 0 -3 -" id="m3c5c29cbdc" style="stroke:#0000ff;stroke-width:0.5;"/> +" id="m1981e1242d" style="stroke:#0000ff;stroke-width:0.5;"/> </defs> - <g clip-path="url(#p4f636b2210)"> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="118.586772" xlink:href="#m3c5c29cbdc" y="278.456406"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="128.94341" xlink:href="#m3c5c29cbdc" y="306.420613"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="140.234224" xlink:href="#m3c5c29cbdc" y="323.381762"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="151.819815" xlink:href="#m3c5c29cbdc" y="333.669219"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="163.567102" xlink:href="#m3c5c29cbdc" y="339.908877"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="175.420473" xlink:href="#m3c5c29cbdc" y="343.693421"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="187.35036" xlink:href="#m3c5c29cbdc" y="345.988863"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="199.338813" xlink:href="#m3c5c29cbdc" y="347.381119"/> + <g clip-path="url(#pb43d30e4a6)"> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="118.586772" xlink:href="#m1981e1242d" y="278.456406"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="128.94341" xlink:href="#m1981e1242d" y="306.420613"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="140.234224" xlink:href="#m1981e1242d" y="323.381762"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="151.819815" xlink:href="#m1981e1242d" y="333.669219"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="163.567102" xlink:href="#m1981e1242d" y="339.908877"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="175.420473" xlink:href="#m1981e1242d" y="343.693421"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="187.35036" xlink:href="#m1981e1242d" y="345.988863"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="199.338813" xlink:href="#m1981e1242d" y="347.381119"/> </g> </g> <g id="line2d_50"> - <g clip-path="url(#p4f636b2210)"> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="138.617365" xlink:href="#m3c5c29cbdc" y="278.456406"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="155.949544" xlink:href="#m3c5c29cbdc" y="306.420613"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="171.41337" xlink:href="#m3c5c29cbdc" y="323.381762"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="186.287643" xlink:href="#m3c5c29cbdc" y="333.669219"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="200.838524" xlink:href="#m3c5c29cbdc" y="339.908877"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="215.177236" xlink:href="#m3c5c29cbdc" y="343.693421"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="229.362916" xlink:href="#m3c5c29cbdc" y="345.988863"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="243.431465" xlink:href="#m3c5c29cbdc" y="347.381119"/> + <g clip-path="url(#pb43d30e4a6)"> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="138.617365" xlink:href="#m1981e1242d" y="278.456406"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="155.949544" xlink:href="#m1981e1242d" y="306.420613"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="171.41337" xlink:href="#m1981e1242d" y="323.381762"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="186.287643" xlink:href="#m1981e1242d" y="333.669219"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="200.838524" xlink:href="#m1981e1242d" y="339.908877"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="215.177236" xlink:href="#m1981e1242d" y="343.693421"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="229.362916" xlink:href="#m1981e1242d" y="345.988863"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="243.431465" xlink:href="#m1981e1242d" y="347.381119"/> </g> </g> <g id="line2d_51"> - <g clip-path="url(#p4f636b2210)"> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="125.263636" xlink:href="#m456b64e96a" y="291.278603"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="137.945455" xlink:href="#m456b64e96a" y="326.443368"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="150.627273" xlink:href="#m456b64e96a" y="347.712141"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="163.309091" xlink:href="#m456b64e96a" y="361.394367"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="175.990909" xlink:href="#m456b64e96a" y="370.528058"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="188.672727" xlink:href="#m456b64e96a" y="376.878114"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="201.354545" xlink:href="#m456b64e96a" y="381.502117"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="214.036364" xlink:href="#m456b64e96a" y="385.041568"/> + <g clip-path="url(#pb43d30e4a6)"> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="125.263636" xlink:href="#me44e253235" y="291.278603"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="137.945455" xlink:href="#me44e253235" y="326.443368"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="150.627273" xlink:href="#me44e253235" y="347.712141"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="163.309091" xlink:href="#me44e253235" y="361.394367"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="175.990909" xlink:href="#me44e253235" y="370.528058"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="188.672727" xlink:href="#me44e253235" y="376.878114"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="201.354545" xlink:href="#me44e253235" y="381.502117"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="214.036364" xlink:href="#me44e253235" y="385.041568"/> </g> </g> <g id="line2d_52"> - <g clip-path="url(#p4f636b2210)"> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="125.263636" xlink:href="#m456b64e96a" y="252.812014"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="137.945455" xlink:href="#m456b64e96a" y="266.375103"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="150.627273" xlink:href="#m456b64e96a" y="274.721004"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="163.309091" xlink:href="#m456b64e96a" y="278.218922"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="175.990909" xlink:href="#m456b64e96a" y="278.670515"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="188.672727" xlink:href="#m456b64e96a" y="277.324034"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="201.354545" xlink:href="#m456b64e96a" y="274.962354"/> - <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="214.036364" xlink:href="#m456b64e96a" y="272.060219"/> + <g clip-path="url(#pb43d30e4a6)"> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="125.263636" xlink:href="#me44e253235" y="252.812014"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="137.945455" xlink:href="#me44e253235" y="266.375103"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="150.627273" xlink:href="#me44e253235" y="274.721004"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="163.309091" xlink:href="#me44e253235" y="278.218922"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="175.990909" xlink:href="#me44e253235" y="278.670515"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="188.672727" xlink:href="#me44e253235" y="277.324034"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="201.354545" xlink:href="#me44e253235" y="274.962354"/> + <use style="fill:#0000ff;stroke:#0000ff;stroke-width:0.5;" x="214.036364" xlink:href="#me44e253235" y="272.060219"/> </g> </g> <g id="line2d_53"> - <path clip-path="url(#p4f636b2210)" d="M 125.263636 278.456406 + <path clip-path="url(#pb43d30e4a6)" d="M 125.263636 278.456406 L 137.945455 306.420613 L 150.627273 323.381762 L 163.309091 333.669219 @@ -1274,15 +1292,15 @@ L 188.672727 343.693421 L 201.354545 345.988863 L 214.036364 347.381119 " style="fill:none;stroke:#0000ff;stroke-dasharray:6,6;stroke-dashoffset:0;"/> - <g clip-path="url(#p4f636b2210)"> - <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="125.263636" xlink:href="#m9e896d7499" y="278.456406"/> - <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="137.945455" xlink:href="#m9e896d7499" y="306.420613"/> - <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="150.627273" xlink:href="#m9e896d7499" y="323.381762"/> - <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="163.309091" xlink:href="#m9e896d7499" y="333.669219"/> - <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="175.990909" xlink:href="#m9e896d7499" y="339.908877"/> - <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="188.672727" xlink:href="#m9e896d7499" y="343.693421"/> - <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="201.354545" xlink:href="#m9e896d7499" y="345.988863"/> - <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="214.036364" xlink:href="#m9e896d7499" y="347.381119"/> + <g clip-path="url(#pb43d30e4a6)"> + <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="125.263636" xlink:href="#mbb289507d7" y="278.456406"/> + <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="137.945455" xlink:href="#mbb289507d7" y="306.420613"/> + <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="150.627273" xlink:href="#mbb289507d7" y="323.381762"/> + <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="163.309091" xlink:href="#mbb289507d7" y="333.669219"/> + <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="175.990909" xlink:href="#mbb289507d7" y="339.908877"/> + <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="188.672727" xlink:href="#mbb289507d7" y="343.693421"/> + <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="201.354545" xlink:href="#mbb289507d7" y="345.988863"/> + <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="214.036364" xlink:href="#mbb289507d7" y="347.381119"/> </g> </g> <g id="patch_13"> @@ -1309,12 +1327,12 @@ L 274.909091 231.709091 <g id="xtick_11"> <g id="line2d_54"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m04d4af9c28" y="388.8"/> + <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m368fc901b1" y="388.8"/> </g> </g> <g id="line2d_55"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m4f067b6ef0" y="231.709091"/> + <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#mc63e59a608" y="231.709091"/> </g> </g> <g id="text_14"> @@ -1328,12 +1346,12 @@ L 274.909091 231.709091 <g id="xtick_12"> <g id="line2d_56"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="122.727273" xlink:href="#m04d4af9c28" y="388.8"/> + <use style="stroke:#000000;stroke-width:0.5;" x="122.727273" xlink:href="#m368fc901b1" y="388.8"/> </g> </g> <g id="line2d_57"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="122.727273" xlink:href="#m4f067b6ef0" y="231.709091"/> + <use style="stroke:#000000;stroke-width:0.5;" x="122.727273" xlink:href="#mc63e59a608" y="231.709091"/> </g> </g> <g id="text_15"> @@ -1346,12 +1364,12 @@ L 274.909091 231.709091 <g id="xtick_13"> <g id="line2d_58"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="173.454545" xlink:href="#m04d4af9c28" y="388.8"/> + <use style="stroke:#000000;stroke-width:0.5;" x="173.454545" xlink:href="#m368fc901b1" y="388.8"/> </g> </g> <g id="line2d_59"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="173.454545" xlink:href="#m4f067b6ef0" y="231.709091"/> + <use style="stroke:#000000;stroke-width:0.5;" x="173.454545" xlink:href="#mc63e59a608" y="231.709091"/> </g> </g> <g id="text_16"> @@ -1364,12 +1382,12 @@ L 274.909091 231.709091 <g id="xtick_14"> <g id="line2d_60"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="224.181818" xlink:href="#m04d4af9c28" y="388.8"/> + <use style="stroke:#000000;stroke-width:0.5;" x="224.181818" xlink:href="#m368fc901b1" y="388.8"/> </g> </g> <g id="line2d_61"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="224.181818" xlink:href="#m4f067b6ef0" y="231.709091"/> + <use style="stroke:#000000;stroke-width:0.5;" x="224.181818" xlink:href="#mc63e59a608" y="231.709091"/> </g> </g> <g id="text_17"> @@ -1382,12 +1400,12 @@ L 274.909091 231.709091 <g id="xtick_15"> <g id="line2d_62"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="274.909091" xlink:href="#m04d4af9c28" y="388.8"/> + <use style="stroke:#000000;stroke-width:0.5;" x="274.909091" xlink:href="#m368fc901b1" y="388.8"/> </g> </g> <g id="line2d_63"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="274.909091" xlink:href="#m4f067b6ef0" y="231.709091"/> + <use style="stroke:#000000;stroke-width:0.5;" x="274.909091" xlink:href="#mc63e59a608" y="231.709091"/> </g> </g> <g id="text_18"> @@ -1402,12 +1420,12 @@ L 274.909091 231.709091 <g id="ytick_12"> <g id="line2d_64"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m997ef6ac20" y="388.8"/> + <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m556f96d829" y="388.8"/> </g> </g> <g id="line2d_65"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="274.909091" xlink:href="#m676b97144f" y="388.8"/> + <use style="stroke:#000000;stroke-width:0.5;" x="274.909091" xlink:href="#m27e32ca04a" y="388.8"/> </g> </g> <g id="text_19"> @@ -1423,12 +1441,12 @@ L 274.909091 231.709091 <g id="ytick_13"> <g id="line2d_66"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m997ef6ac20" y="349.527273"/> + <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m556f96d829" y="349.527273"/> </g> </g> <g id="line2d_67"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="274.909091" xlink:href="#m676b97144f" y="349.527273"/> + <use style="stroke:#000000;stroke-width:0.5;" x="274.909091" xlink:href="#m27e32ca04a" y="349.527273"/> </g> </g> <g id="text_20"> @@ -1443,12 +1461,12 @@ L 274.909091 231.709091 <g id="ytick_14"> <g id="line2d_68"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m997ef6ac20" y="310.254545"/> + <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m556f96d829" y="310.254545"/> </g> </g> <g id="line2d_69"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="274.909091" xlink:href="#m676b97144f" y="310.254545"/> + <use style="stroke:#000000;stroke-width:0.5;" x="274.909091" xlink:href="#m27e32ca04a" y="310.254545"/> </g> </g> <g id="text_21"> @@ -1463,12 +1481,12 @@ L 274.909091 231.709091 <g id="ytick_15"> <g id="line2d_70"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m997ef6ac20" y="270.981818"/> + <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m556f96d829" y="270.981818"/> </g> </g> <g id="line2d_71"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="274.909091" xlink:href="#m676b97144f" y="270.981818"/> + <use style="stroke:#000000;stroke-width:0.5;" x="274.909091" xlink:href="#m27e32ca04a" y="270.981818"/> </g> </g> <g id="text_22"> @@ -1483,12 +1501,12 @@ L 274.909091 231.709091 <g id="ytick_16"> <g id="line2d_72"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m997ef6ac20" y="231.709091"/> + <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m556f96d829" y="231.709091"/> </g> </g> <g id="line2d_73"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="274.909091" xlink:href="#m676b97144f" y="231.709091"/> + <use style="stroke:#000000;stroke-width:0.5;" x="274.909091" xlink:href="#m27e32ca04a" y="231.709091"/> </g> </g> <g id="text_23"> @@ -1542,54 +1560,54 @@ z " style="fill:#ffffff;"/> </g> <g id="LineCollection_5"> - <path clip-path="url(#p21d9a10afc)" d="M 362.077681 286.346851 + <path clip-path="url(#p42cc34013b)" d="M 362.077681 286.346851 L 375.43141 286.346851 " style="fill:none;stroke:#008000;"/> - <path clip-path="url(#p21d9a10afc)" d="M 372.434319 297.71747 + <path clip-path="url(#p42cc34013b)" d="M 372.434319 297.71747 L 390.438409 297.71747 " style="fill:none;stroke:#008000;"/> - <path clip-path="url(#p21d9a10afc)" d="M 383.725133 309.088089 + <path clip-path="url(#p42cc34013b)" d="M 383.725133 309.088089 L 404.51123 309.088089 " style="fill:none;stroke:#008000;"/> - <path clip-path="url(#p21d9a10afc)" d="M 395.310724 320.458709 + <path clip-path="url(#p42cc34013b)" d="M 395.310724 320.458709 L 418.289276 320.458709 " style="fill:none;stroke:#008000;"/> - <path clip-path="url(#p21d9a10afc)" d="M 407.058011 331.829328 + <path clip-path="url(#p42cc34013b)" d="M 407.058011 331.829328 L 431.905626 331.829328 " style="fill:none;stroke:#008000;"/> - <path clip-path="url(#p21d9a10afc)" d="M 418.911382 343.199947 + <path clip-path="url(#p42cc34013b)" d="M 418.911382 343.199947 L 445.415891 343.199947 " style="fill:none;stroke:#008000;"/> - <path clip-path="url(#p21d9a10afc)" d="M 430.841269 354.570566 + <path clip-path="url(#p42cc34013b)" d="M 430.841269 354.570566 L 458.84964 354.570566 " style="fill:none;stroke:#008000;"/> - <path clip-path="url(#p21d9a10afc)" d="M 442.829722 365.941185 + <path clip-path="url(#p42cc34013b)" d="M 442.829722 365.941185 L 472.224823 365.941185 " style="fill:none;stroke:#008000;"/> </g> <g id="LineCollection_6"> - <path clip-path="url(#p21d9a10afc)" d="M 368.754545 290.871362 + <path clip-path="url(#p42cc34013b)" d="M 368.754545 290.871362 L 368.754545 279.340419 " style="fill:none;stroke:#008000;"/> - <path clip-path="url(#p21d9a10afc)" d="M 381.436364 311.920326 + <path clip-path="url(#p42cc34013b)" d="M 381.436364 311.920326 L 381.436364 282.776595 " style="fill:none;stroke:#008000;"/> - <path clip-path="url(#p21d9a10afc)" d="M 394.118182 369.750787 + <path clip-path="url(#p42cc34013b)" d="M 394.118182 369.750787 L 394.118182 285.18195 " style="fill:none;stroke:#008000;"/> - <path clip-path="url(#p21d9a10afc)" d="M 406.8 388.8 + <path clip-path="url(#p42cc34013b)" d="M 406.8 388.8 L 406.8 286.270988 " style="fill:none;stroke:#008000;"/> - <path clip-path="url(#p21d9a10afc)" d="M 419.481818 388.8 + <path clip-path="url(#p42cc34013b)" d="M 419.481818 388.8 L 419.481818 286.415465 " style="fill:none;stroke:#008000;"/> - <path clip-path="url(#p21d9a10afc)" d="M 432.163636 388.8 + <path clip-path="url(#p42cc34013b)" d="M 432.163636 388.8 L 432.163636 285.987371 " style="fill:none;stroke:#008000;"/> - <path clip-path="url(#p21d9a10afc)" d="M 444.845455 388.8 + <path clip-path="url(#p42cc34013b)" d="M 444.845455 388.8 L 444.845455 285.255439 " style="fill:none;stroke:#008000;"/> - <path clip-path="url(#p21d9a10afc)" d="M 457.527273 388.8 + <path clip-path="url(#p42cc34013b)" d="M 457.527273 388.8 L 457.527273 284.387119 " style="fill:none;stroke:#008000;"/> </g> @@ -1597,70 +1615,70 @@ L 457.527273 284.387119 <defs> <path d="M 0 3 L 0 -3 -" id="m740c54001c" style="stroke:#008000;stroke-width:2;"/> +" id="mef9c074d9e" style="stroke:#008000;stroke-width:2;"/> </defs> - <g clip-path="url(#p21d9a10afc)"> - <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="362.077681" xlink:href="#m740c54001c" y="286.346851"/> - <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="372.434319" xlink:href="#m740c54001c" y="297.71747"/> - <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="383.725133" xlink:href="#m740c54001c" y="309.088089"/> - <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="395.310724" xlink:href="#m740c54001c" y="320.458709"/> - <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="407.058011" xlink:href="#m740c54001c" y="331.829328"/> - <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="418.911382" xlink:href="#m740c54001c" y="343.199947"/> - <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="430.841269" xlink:href="#m740c54001c" y="354.570566"/> - <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="442.829722" xlink:href="#m740c54001c" y="365.941185"/> + <g clip-path="url(#p42cc34013b)"> + <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="362.077681" xlink:href="#mef9c074d9e" y="286.346851"/> + <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="372.434319" xlink:href="#mef9c074d9e" y="297.71747"/> + <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="383.725133" xlink:href="#mef9c074d9e" y="309.088089"/> + <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="395.310724" xlink:href="#mef9c074d9e" y="320.458709"/> + <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="407.058011" xlink:href="#mef9c074d9e" y="331.829328"/> + <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="418.911382" xlink:href="#mef9c074d9e" y="343.199947"/> + <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="430.841269" xlink:href="#mef9c074d9e" y="354.570566"/> + <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="442.829722" xlink:href="#mef9c074d9e" y="365.941185"/> </g> </g> <g id="line2d_75"> - <g clip-path="url(#p21d9a10afc)"> - <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="375.43141" xlink:href="#m740c54001c" y="286.346851"/> - <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="390.438409" xlink:href="#m740c54001c" y="297.71747"/> - <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="404.51123" xlink:href="#m740c54001c" y="309.088089"/> - <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="418.289276" xlink:href="#m740c54001c" y="320.458709"/> - <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="431.905626" xlink:href="#m740c54001c" y="331.829328"/> - <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="445.415891" xlink:href="#m740c54001c" y="343.199947"/> - <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="458.84964" xlink:href="#m740c54001c" y="354.570566"/> - <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="472.224823" xlink:href="#m740c54001c" y="365.941185"/> + <g clip-path="url(#p42cc34013b)"> + <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="375.43141" xlink:href="#mef9c074d9e" y="286.346851"/> + <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="390.438409" xlink:href="#mef9c074d9e" y="297.71747"/> + <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="404.51123" xlink:href="#mef9c074d9e" y="309.088089"/> + <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="418.289276" xlink:href="#mef9c074d9e" y="320.458709"/> + <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="431.905626" xlink:href="#mef9c074d9e" y="331.829328"/> + <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="445.415891" xlink:href="#mef9c074d9e" y="343.199947"/> + <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="458.84964" xlink:href="#mef9c074d9e" y="354.570566"/> + <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="472.224823" xlink:href="#mef9c074d9e" y="365.941185"/> </g> </g> <g id="line2d_76"> <defs> <path d="M 3 0 L -3 -0 -" id="mdbe3ce7bbb" style="stroke:#008000;stroke-width:2;"/> +" id="maff64b0a79" style="stroke:#008000;stroke-width:2;"/> </defs> - <g clip-path="url(#p21d9a10afc)"> - <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="368.754545" xlink:href="#mdbe3ce7bbb" y="290.871362"/> - <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="381.436364" xlink:href="#mdbe3ce7bbb" y="311.920326"/> - <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="394.118182" xlink:href="#mdbe3ce7bbb" y="369.750787"/> - <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="406.8" xlink:href="#mdbe3ce7bbb" y="388.8"/> - <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="419.481818" xlink:href="#mdbe3ce7bbb" y="388.8"/> - <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="432.163636" xlink:href="#mdbe3ce7bbb" y="388.8"/> - <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="444.845455" xlink:href="#mdbe3ce7bbb" y="388.8"/> - <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="457.527273" xlink:href="#mdbe3ce7bbb" y="388.8"/> + <g clip-path="url(#p42cc34013b)"> + <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="368.754545" xlink:href="#maff64b0a79" y="290.871362"/> + <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="381.436364" xlink:href="#maff64b0a79" y="311.920326"/> + <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="394.118182" xlink:href="#maff64b0a79" y="369.750787"/> + <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="406.8" xlink:href="#maff64b0a79" y="388.8"/> + <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="419.481818" xlink:href="#maff64b0a79" y="388.8"/> + <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="432.163636" xlink:href="#maff64b0a79" y="388.8"/> + <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="444.845455" xlink:href="#maff64b0a79" y="388.8"/> + <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="457.527273" xlink:href="#maff64b0a79" y="388.8"/> </g> </g> <g id="line2d_77"> - <g clip-path="url(#p21d9a10afc)"> - <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="368.754545" xlink:href="#mdbe3ce7bbb" y="279.340419"/> - <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="381.436364" xlink:href="#mdbe3ce7bbb" y="282.776595"/> - <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="394.118182" xlink:href="#mdbe3ce7bbb" y="285.18195"/> - <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="406.8" xlink:href="#mdbe3ce7bbb" y="286.270988"/> - <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="419.481818" xlink:href="#mdbe3ce7bbb" y="286.415465"/> - <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="432.163636" xlink:href="#mdbe3ce7bbb" y="285.987371"/> - <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="444.845455" xlink:href="#mdbe3ce7bbb" y="285.255439"/> - <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="457.527273" xlink:href="#mdbe3ce7bbb" y="284.387119"/> + <g clip-path="url(#p42cc34013b)"> + <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="368.754545" xlink:href="#maff64b0a79" y="279.340419"/> + <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="381.436364" xlink:href="#maff64b0a79" y="282.776595"/> + <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="394.118182" xlink:href="#maff64b0a79" y="285.18195"/> + <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="406.8" xlink:href="#maff64b0a79" y="286.270988"/> + <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="419.481818" xlink:href="#maff64b0a79" y="286.415465"/> + <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="432.163636" xlink:href="#maff64b0a79" y="285.987371"/> + <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="444.845455" xlink:href="#maff64b0a79" y="285.255439"/> + <use style="fill:#008000;stroke:#008000;stroke-width:2;" x="457.527273" xlink:href="#maff64b0a79" y="284.387119"/> </g> </g> <g id="line2d_78"> - <g clip-path="url(#p21d9a10afc)"> - <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="368.754545" xlink:href="#m9e896d7499" y="286.346851"/> - <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="381.436364" xlink:href="#m9e896d7499" y="297.71747"/> - <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="394.118182" xlink:href="#m9e896d7499" y="309.088089"/> - <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="406.8" xlink:href="#m9e896d7499" y="320.458709"/> - <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="419.481818" xlink:href="#m9e896d7499" y="331.829328"/> - <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="432.163636" xlink:href="#m9e896d7499" y="343.199947"/> - <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="444.845455" xlink:href="#m9e896d7499" y="354.570566"/> - <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="457.527273" xlink:href="#m9e896d7499" y="365.941185"/> + <g clip-path="url(#p42cc34013b)"> + <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="368.754545" xlink:href="#mbb289507d7" y="286.346851"/> + <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="381.436364" xlink:href="#mbb289507d7" y="297.71747"/> + <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="394.118182" xlink:href="#mbb289507d7" y="309.088089"/> + <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="406.8" xlink:href="#mbb289507d7" y="320.458709"/> + <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="419.481818" xlink:href="#mbb289507d7" y="331.829328"/> + <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="432.163636" xlink:href="#mbb289507d7" y="343.199947"/> + <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="444.845455" xlink:href="#mbb289507d7" y="354.570566"/> + <use style="fill:#0000ff;stroke:#000000;stroke-width:0.5;" x="457.527273" xlink:href="#mbb289507d7" y="365.941185"/> </g> </g> <g id="patch_18"> @@ -1687,12 +1705,12 @@ L 518.4 231.709091 <g id="xtick_16"> <g id="line2d_79"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#m04d4af9c28" y="388.8"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#m368fc901b1" y="388.8"/> </g> </g> <g id="line2d_80"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#m4f067b6ef0" y="231.709091"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#mc63e59a608" y="231.709091"/> </g> </g> <g id="text_25"> @@ -1706,12 +1724,12 @@ L 518.4 231.709091 <g id="xtick_17"> <g id="line2d_81"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="366.218182" xlink:href="#m04d4af9c28" y="388.8"/> + <use style="stroke:#000000;stroke-width:0.5;" x="366.218182" xlink:href="#m368fc901b1" y="388.8"/> </g> </g> <g id="line2d_82"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="366.218182" xlink:href="#m4f067b6ef0" y="231.709091"/> + <use style="stroke:#000000;stroke-width:0.5;" x="366.218182" xlink:href="#mc63e59a608" y="231.709091"/> </g> </g> <g id="text_26"> @@ -1724,12 +1742,12 @@ L 518.4 231.709091 <g id="xtick_18"> <g id="line2d_83"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="416.945455" xlink:href="#m04d4af9c28" y="388.8"/> + <use style="stroke:#000000;stroke-width:0.5;" x="416.945455" xlink:href="#m368fc901b1" y="388.8"/> </g> </g> <g id="line2d_84"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="416.945455" xlink:href="#m4f067b6ef0" y="231.709091"/> + <use style="stroke:#000000;stroke-width:0.5;" x="416.945455" xlink:href="#mc63e59a608" y="231.709091"/> </g> </g> <g id="text_27"> @@ -1742,12 +1760,12 @@ L 518.4 231.709091 <g id="xtick_19"> <g id="line2d_85"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="467.672727" xlink:href="#m04d4af9c28" y="388.8"/> + <use style="stroke:#000000;stroke-width:0.5;" x="467.672727" xlink:href="#m368fc901b1" y="388.8"/> </g> </g> <g id="line2d_86"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="467.672727" xlink:href="#m4f067b6ef0" y="231.709091"/> + <use style="stroke:#000000;stroke-width:0.5;" x="467.672727" xlink:href="#mc63e59a608" y="231.709091"/> </g> </g> <g id="text_28"> @@ -1760,12 +1778,12 @@ L 518.4 231.709091 <g id="xtick_20"> <g id="line2d_87"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m04d4af9c28" y="388.8"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m368fc901b1" y="388.8"/> </g> </g> <g id="line2d_88"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m4f067b6ef0" y="231.709091"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#mc63e59a608" y="231.709091"/> </g> </g> <g id="text_29"> @@ -1780,12 +1798,12 @@ L 518.4 231.709091 <g id="ytick_17"> <g id="line2d_89"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#m997ef6ac20" y="388.8"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#m556f96d829" y="388.8"/> </g> </g> <g id="line2d_90"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m676b97144f" y="388.8"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m27e32ca04a" y="388.8"/> </g> </g> <g id="text_30"> @@ -1809,12 +1827,12 @@ z <g id="ytick_18"> <g id="line2d_91"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#m997ef6ac20" y="336.436364"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#m556f96d829" y="336.436364"/> </g> </g> <g id="line2d_92"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m676b97144f" y="336.436364"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m27e32ca04a" y="336.436364"/> </g> </g> <g id="text_31"> @@ -1830,12 +1848,12 @@ z <g id="ytick_19"> <g id="line2d_93"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#m997ef6ac20" y="284.072727"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#m556f96d829" y="284.072727"/> </g> </g> <g id="line2d_94"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m676b97144f" y="284.072727"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m27e32ca04a" y="284.072727"/> </g> </g> <g id="text_32"> @@ -1850,12 +1868,12 @@ z <g id="ytick_20"> <g id="line2d_95"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#m997ef6ac20" y="231.709091"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#m556f96d829" y="231.709091"/> </g> </g> <g id="line2d_96"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m676b97144f" y="231.709091"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m27e32ca04a" y="231.709091"/> </g> </g> <g id="text_33"> @@ -1872,296 +1890,296 @@ z <defs> <path d="M 0 0 L 2 0 -" id="me68325397a" style="stroke:#000000;stroke-width:0.5;"/> +" id="mb12535d6a8" style="stroke:#000000;stroke-width:0.5;"/> </defs> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#me68325397a" y="373.036975"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#mb12535d6a8" y="373.036975"/> </g> </g> <g id="line2d_98"> <defs> <path d="M 0 0 L -2 0 -" id="m1307a6a02b" style="stroke:#000000;stroke-width:0.5;"/> +" id="m8a2e629618" style="stroke:#000000;stroke-width:0.5;"/> </defs> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m1307a6a02b" y="373.036975"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m8a2e629618" y="373.036975"/> </g> </g> </g> <g id="ytick_22"> <g id="line2d_99"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#me68325397a" y="363.816196"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#mb12535d6a8" y="363.816196"/> </g> </g> <g id="line2d_100"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m1307a6a02b" y="363.816196"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m8a2e629618" y="363.816196"/> </g> </g> </g> <g id="ytick_23"> <g id="line2d_101"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#me68325397a" y="357.27395"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#mb12535d6a8" y="357.27395"/> </g> </g> <g id="line2d_102"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m1307a6a02b" y="357.27395"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m8a2e629618" y="357.27395"/> </g> </g> </g> <g id="ytick_24"> <g id="line2d_103"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#me68325397a" y="352.199389"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#mb12535d6a8" y="352.199389"/> </g> </g> <g id="line2d_104"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m1307a6a02b" y="352.199389"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m8a2e629618" y="352.199389"/> </g> </g> </g> <g id="ytick_25"> <g id="line2d_105"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#me68325397a" y="348.053171"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#mb12535d6a8" y="348.053171"/> </g> </g> <g id="line2d_106"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m1307a6a02b" y="348.053171"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m8a2e629618" y="348.053171"/> </g> </g> </g> <g id="ytick_26"> <g id="line2d_107"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#me68325397a" y="344.547594"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#mb12535d6a8" y="344.547594"/> </g> </g> <g id="line2d_108"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m1307a6a02b" y="344.547594"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m8a2e629618" y="344.547594"/> </g> </g> </g> <g id="ytick_27"> <g id="line2d_109"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#me68325397a" y="341.510924"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#mb12535d6a8" y="341.510924"/> </g> </g> <g id="line2d_110"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m1307a6a02b" y="341.510924"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m8a2e629618" y="341.510924"/> </g> </g> </g> <g id="ytick_28"> <g id="line2d_111"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#me68325397a" y="338.832392"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#mb12535d6a8" y="338.832392"/> </g> </g> <g id="line2d_112"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m1307a6a02b" y="338.832392"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m8a2e629618" y="338.832392"/> </g> </g> </g> <g id="ytick_29"> <g id="line2d_113"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#me68325397a" y="320.673338"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#mb12535d6a8" y="320.673338"/> </g> </g> <g id="line2d_114"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m1307a6a02b" y="320.673338"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m8a2e629618" y="320.673338"/> </g> </g> </g> <g id="ytick_30"> <g id="line2d_115"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#me68325397a" y="311.45256"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#mb12535d6a8" y="311.45256"/> </g> </g> <g id="line2d_116"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m1307a6a02b" y="311.45256"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m8a2e629618" y="311.45256"/> </g> </g> </g> <g id="ytick_31"> <g id="line2d_117"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#me68325397a" y="304.910313"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#mb12535d6a8" y="304.910313"/> </g> </g> <g id="line2d_118"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m1307a6a02b" y="304.910313"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m8a2e629618" y="304.910313"/> </g> </g> </g> <g id="ytick_32"> <g id="line2d_119"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#me68325397a" y="299.835753"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#mb12535d6a8" y="299.835753"/> </g> </g> <g id="line2d_120"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m1307a6a02b" y="299.835753"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m8a2e629618" y="299.835753"/> </g> </g> </g> <g id="ytick_33"> <g id="line2d_121"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#me68325397a" y="295.689535"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#mb12535d6a8" y="295.689535"/> </g> </g> <g id="line2d_122"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m1307a6a02b" y="295.689535"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m8a2e629618" y="295.689535"/> </g> </g> </g> <g id="ytick_34"> <g id="line2d_123"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#me68325397a" y="292.183957"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#mb12535d6a8" y="292.183957"/> </g> </g> <g id="line2d_124"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m1307a6a02b" y="292.183957"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m8a2e629618" y="292.183957"/> </g> </g> </g> <g id="ytick_35"> <g id="line2d_125"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#me68325397a" y="289.147288"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#mb12535d6a8" y="289.147288"/> </g> </g> <g id="line2d_126"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m1307a6a02b" y="289.147288"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m8a2e629618" y="289.147288"/> </g> </g> </g> <g id="ytick_36"> <g id="line2d_127"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#me68325397a" y="286.468756"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#mb12535d6a8" y="286.468756"/> </g> </g> <g id="line2d_128"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m1307a6a02b" y="286.468756"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m8a2e629618" y="286.468756"/> </g> </g> </g> <g id="ytick_37"> <g id="line2d_129"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#me68325397a" y="268.309702"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#mb12535d6a8" y="268.309702"/> </g> </g> <g id="line2d_130"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m1307a6a02b" y="268.309702"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m8a2e629618" y="268.309702"/> </g> </g> </g> <g id="ytick_38"> <g id="line2d_131"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#me68325397a" y="259.088923"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#mb12535d6a8" y="259.088923"/> </g> </g> <g id="line2d_132"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m1307a6a02b" y="259.088923"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m8a2e629618" y="259.088923"/> </g> </g> </g> <g id="ytick_39"> <g id="line2d_133"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#me68325397a" y="252.546677"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#mb12535d6a8" y="252.546677"/> </g> </g> <g id="line2d_134"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m1307a6a02b" y="252.546677"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m8a2e629618" y="252.546677"/> </g> </g> </g> <g id="ytick_40"> <g id="line2d_135"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#me68325397a" y="247.472116"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#mb12535d6a8" y="247.472116"/> </g> </g> <g id="line2d_136"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m1307a6a02b" y="247.472116"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m8a2e629618" y="247.472116"/> </g> </g> </g> <g id="ytick_41"> <g id="line2d_137"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#me68325397a" y="243.325898"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#mb12535d6a8" y="243.325898"/> </g> </g> <g id="line2d_138"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m1307a6a02b" y="243.325898"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m8a2e629618" y="243.325898"/> </g> </g> </g> <g id="ytick_42"> <g id="line2d_139"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#me68325397a" y="239.820321"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#mb12535d6a8" y="239.820321"/> </g> </g> <g id="line2d_140"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m1307a6a02b" y="239.820321"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m8a2e629618" y="239.820321"/> </g> </g> </g> <g id="ytick_43"> <g id="line2d_141"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#me68325397a" y="236.783652"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#mb12535d6a8" y="236.783652"/> </g> </g> <g id="line2d_142"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m1307a6a02b" y="236.783652"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m8a2e629618" y="236.783652"/> </g> </g> </g> <g id="ytick_44"> <g id="line2d_143"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#me68325397a" y="234.10512"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#mb12535d6a8" y="234.10512"/> </g> </g> <g id="line2d_144"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m1307a6a02b" y="234.10512"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m8a2e629618" y="234.10512"/> </g> </g> </g> @@ -2212,6 +2230,7 @@ Q 5.515625 40.1875 11.734375 48.09375 Q 17.96875 56 27.875 56 Q 33.9375 56 38.25 53.625 Q 42.578125 51.265625 45.40625 46.390625 +z M 14.796875 27.296875 Q 14.796875 17.390625 18.875 11.75 Q 22.953125 6.109375 30.078125 6.109375 @@ -2221,6 +2240,7 @@ Q 45.40625 37.203125 41.296875 42.84375 Q 37.203125 48.484375 30.078125 48.484375 Q 22.953125 48.484375 18.875 42.84375 Q 14.796875 37.203125 14.796875 27.296875 +z " id="DejaVuSans-64"/> <path d="M 45.40625 27.984375 Q 45.40625 37.75 41.375 43.109375 @@ -2231,6 +2251,7 @@ Q 14.796875 18.265625 18.828125 12.890625 Q 22.859375 7.515625 30.078125 7.515625 Q 37.359375 7.515625 41.375 12.890625 Q 45.40625 18.265625 45.40625 27.984375 +z M 54.390625 6.78125 Q 54.390625 -7.171875 48.1875 -13.984375 Q 42 -20.796875 29.203125 -20.796875 @@ -2288,6 +2309,7 @@ Q 18.109375 17.390625 22.1875 11.75 Q 26.265625 6.109375 33.40625 6.109375 Q 40.53125 6.109375 44.609375 11.75 Q 48.6875 17.390625 48.6875 27.296875 +z M 18.109375 46.390625 Q 20.953125 51.265625 25.265625 53.625 Q 29.59375 56 35.59375 56 @@ -2327,16 +2349,16 @@ z </g> </g> <defs> - <clipPath id="p31f5ece469"> + <clipPath id="pc7a66a3dce"> <rect height="157.090909" width="202.909091" x="72" y="43.2"/> </clipPath> - <clipPath id="pcce14bfac0"> + <clipPath id="p58107b0fbb"> <rect height="157.090909" width="202.909091" x="315.490909" y="43.2"/> </clipPath> - <clipPath id="p4f636b2210"> + <clipPath id="pb43d30e4a6"> <rect height="157.090909" width="202.909091" x="72" y="231.709091"/> </clipPath> - <clipPath id="p21d9a10afc"> + <clipPath id="p42cc34013b"> <rect height="157.090909" width="202.909091" x="315.490909" y="231.709091"/> </clipPath> </defs> diff --git a/lib/matplotlib/tests/baseline_images/test_axes/rgba_markers.svg b/lib/matplotlib/tests/baseline_images/test_axes/rgba_markers.svg index a1ff94a96f94..f0b1b2f3fdc1 100644 --- a/lib/matplotlib/tests/baseline_images/test_axes/rgba_markers.svg +++ b/lib/matplotlib/tests/baseline_images/test_axes/rgba_markers.svg @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<!-- Created with matplotlib (http://matplotlib.org/) --> +<!-- Created with matplotlib (https://matplotlib.org/) --> <svg height="432pt" version="1.1" viewBox="0 0 576 432" width="576pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <defs> <style type="text/css"> @@ -38,10 +38,10 @@ C -44.731685 -25.978994 -50 -13.260155 -50 0 C -50 13.260155 -44.731685 25.978994 -35.355339 35.355339 C -25.978994 44.731685 -13.260155 50 0 50 z -" id="mb0fa3631e8" style="stroke:#ff0000;stroke-width:20.000000;"/> +" id="m7cbc11aa1d" style="stroke:#ff0000;stroke-width:20;"/> </defs> - <g clip-path="url(#p35d9bb63fe)"> - <use style="fill:#0000ff;stroke:#ff0000;stroke-width:20.000000;" x="153.163636364" xlink:href="#mb0fa3631e8" y="319.68"/> + <g clip-path="url(#p0b51b03837)"> + <use style="fill:#0000ff;stroke:#ff0000;stroke-width:20;" x="153.163636" xlink:href="#m7cbc11aa1d" y="319.68"/> </g> </g> <g id="line2d_2"> @@ -50,10 +50,10 @@ z L 50 -50 M -50 -50 L 50 50 -" id="m5255e8aef7" style="stroke:#ff0000;stroke-width:20.000000;"/> +" id="m2bb53bbd7a" style="stroke:#ff0000;stroke-width:20;"/> </defs> - <g clip-path="url(#p35d9bb63fe)"> - <use style="fill:#008000;stroke:#ff0000;stroke-width:20.000000;" x="153.163636364" xlink:href="#m5255e8aef7" y="181.44"/> + <g clip-path="url(#p0b51b03837)"> + <use style="fill:#008000;stroke:#ff0000;stroke-width:20;" x="153.163636" xlink:href="#m2bb53bbd7a" y="181.44"/> </g> </g> <g id="line2d_3"> @@ -68,10 +68,10 @@ C -44.731685 -25.978994 -50 -13.260155 -50 0 C -50 13.260155 -44.731685 25.978994 -35.355339 35.355339 C -25.978994 44.731685 -13.260155 50 0 50 z -" id="me1f47d7cf6" style="stroke:#ff0000;stroke-width:20.000000;"/> +" id="m774356cf9a" style="stroke:#ff0000;stroke-width:20;"/> </defs> - <g clip-path="url(#p35d9bb63fe)"> - <use style="fill:#0000ff;fill-opacity:0.500000;stroke:#ff0000;stroke-width:20.000000;" x="153.163636364" xlink:href="#me1f47d7cf6" y="250.56"/> + <g clip-path="url(#p0b51b03837)"> + <use style="fill:#0000ff;fill-opacity:0.5;stroke:#ff0000;stroke-width:20;" x="153.163636" xlink:href="#m774356cf9a" y="250.56"/> </g> </g> <g id="line2d_4"> @@ -80,10 +80,10 @@ z L 50 -50 M -50 -50 L 50 50 -" id="m15e5501d3a" style="stroke:#ff0000;stroke-width:20.000000;"/> +" id="m081d77a145" style="stroke:#ff0000;stroke-width:20;"/> </defs> - <g clip-path="url(#p35d9bb63fe)"> - <use style="fill:#00bfbf;stroke:#ff0000;stroke-width:20.000000;" x="153.163636364" xlink:href="#m15e5501d3a" y="112.32"/> + <g clip-path="url(#p0b51b03837)"> + <use style="fill:#00bfbf;stroke:#ff0000;stroke-width:20;" x="153.163636" xlink:href="#m081d77a145" y="112.32"/> </g> </g> <g id="line2d_5"> @@ -98,10 +98,10 @@ C -44.731685 -25.978994 -50 -13.260155 -50 0 C -50 13.260155 -44.731685 25.978994 -35.355339 35.355339 C -25.978994 44.731685 -13.260155 50 0 50 z -" id="md637c91b3e" style="stroke:#ff0000;stroke-opacity:0.500000;stroke-width:20.000000;"/> +" id="mf98d41f430" style="stroke:#ff0000;stroke-opacity:0.5;stroke-width:20;"/> </defs> - <g clip-path="url(#p35d9bb63fe)"> - <use style="fill:#0000ff;stroke:#ff0000;stroke-opacity:0.500000;stroke-width:20.000000;" x="193.745454545" xlink:href="#md637c91b3e" y="319.68"/> + <g clip-path="url(#p0b51b03837)"> + <use style="fill:#0000ff;stroke:#ff0000;stroke-opacity:0.5;stroke-width:20;" x="193.745455" xlink:href="#mf98d41f430" y="319.68"/> </g> </g> <g id="line2d_6"> @@ -110,10 +110,10 @@ z L 50 -50 M -50 -50 L 50 50 -" id="m4da6bdd7bd" style="stroke:#ff0000;stroke-opacity:0.500000;stroke-width:20.000000;"/> +" id="m1d398718ef" style="stroke:#ff0000;stroke-opacity:0.5;stroke-width:20;"/> </defs> - <g clip-path="url(#p35d9bb63fe)"> - <use style="fill:#bfbf00;stroke:#ff0000;stroke-opacity:0.500000;stroke-width:20.000000;" x="193.745454545" xlink:href="#m4da6bdd7bd" y="181.44"/> + <g clip-path="url(#p0b51b03837)"> + <use style="fill:#bfbf00;stroke:#ff0000;stroke-opacity:0.5;stroke-width:20;" x="193.745455" xlink:href="#m1d398718ef" y="181.44"/> </g> </g> <g id="line2d_7"> @@ -128,10 +128,10 @@ C -44.731685 -25.978994 -50 -13.260155 -50 0 C -50 13.260155 -44.731685 25.978994 -35.355339 35.355339 C -25.978994 44.731685 -13.260155 50 0 50 z -" id="mc360218c81" style="stroke:#ff0000;stroke-opacity:0.500000;stroke-width:20.000000;"/> +" id="m1b96511c70" style="stroke:#ff0000;stroke-opacity:0.5;stroke-width:20;"/> </defs> - <g clip-path="url(#p35d9bb63fe)"> - <use style="fill:#0000ff;fill-opacity:0.500000;stroke:#ff0000;stroke-opacity:0.500000;stroke-width:20.000000;" x="193.745454545" xlink:href="#mc360218c81" y="250.56"/> + <g clip-path="url(#p0b51b03837)"> + <use style="fill:#0000ff;fill-opacity:0.5;stroke:#ff0000;stroke-opacity:0.5;stroke-width:20;" x="193.745455" xlink:href="#m1b96511c70" y="250.56"/> </g> </g> <g id="line2d_8"> @@ -140,10 +140,10 @@ z L 50 -50 M -50 -50 L 50 50 -" id="m06dcee4ca2" style="stroke:#ff0000;stroke-opacity:0.500000;stroke-width:20.000000;"/> +" id="m4fe50dc6c8" style="stroke:#ff0000;stroke-opacity:0.5;stroke-width:20;"/> </defs> - <g clip-path="url(#p35d9bb63fe)"> - <use style="fill:#0000ff;stroke:#ff0000;stroke-opacity:0.500000;stroke-width:20.000000;" x="193.745454545" xlink:href="#m06dcee4ca2" y="112.32"/> + <g clip-path="url(#p0b51b03837)"> + <use style="fill:#0000ff;stroke:#ff0000;stroke-opacity:0.5;stroke-width:20;" x="193.745455" xlink:href="#m4fe50dc6c8" y="112.32"/> </g> </g> <g id="patch_3"> @@ -172,80 +172,80 @@ L 274.909091 43.2 <defs> <path d="M 0 0 L 0 -4 -" id="me9c59b2c28" style="stroke:#000000;stroke-width:0.500000;"/> +" id="m368fc901b1" style="stroke:#000000;stroke-width:0.5;"/> </defs> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="72.0" xlink:href="#me9c59b2c28" y="388.8"/> + <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m368fc901b1" y="388.8"/> </g> </g> <g id="line2d_10"> <defs> <path d="M 0 0 L 0 4 -" id="m707813f5a6" style="stroke:#000000;stroke-width:0.500000;"/> +" id="mc63e59a608" style="stroke:#000000;stroke-width:0.5;"/> </defs> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="72.0" xlink:href="#m707813f5a6" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#mc63e59a608" y="43.2"/> </g> </g> </g> <g id="xtick_2"> <g id="line2d_11"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="112.581818182" xlink:href="#me9c59b2c28" y="388.8"/> + <use style="stroke:#000000;stroke-width:0.5;" x="112.581818" xlink:href="#m368fc901b1" y="388.8"/> </g> </g> <g id="line2d_12"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="112.581818182" xlink:href="#m707813f5a6" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.5;" x="112.581818" xlink:href="#mc63e59a608" y="43.2"/> </g> </g> </g> <g id="xtick_3"> <g id="line2d_13"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="153.163636364" xlink:href="#me9c59b2c28" y="388.8"/> + <use style="stroke:#000000;stroke-width:0.5;" x="153.163636" xlink:href="#m368fc901b1" y="388.8"/> </g> </g> <g id="line2d_14"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="153.163636364" xlink:href="#m707813f5a6" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.5;" x="153.163636" xlink:href="#mc63e59a608" y="43.2"/> </g> </g> </g> <g id="xtick_4"> <g id="line2d_15"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="193.745454545" xlink:href="#me9c59b2c28" y="388.8"/> + <use style="stroke:#000000;stroke-width:0.5;" x="193.745455" xlink:href="#m368fc901b1" y="388.8"/> </g> </g> <g id="line2d_16"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="193.745454545" xlink:href="#m707813f5a6" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.5;" x="193.745455" xlink:href="#mc63e59a608" y="43.2"/> </g> </g> </g> <g id="xtick_5"> <g id="line2d_17"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="234.327272727" xlink:href="#me9c59b2c28" y="388.8"/> + <use style="stroke:#000000;stroke-width:0.5;" x="234.327273" xlink:href="#m368fc901b1" y="388.8"/> </g> </g> <g id="line2d_18"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="234.327272727" xlink:href="#m707813f5a6" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.5;" x="234.327273" xlink:href="#mc63e59a608" y="43.2"/> </g> </g> </g> <g id="xtick_6"> <g id="line2d_19"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="274.909090909" xlink:href="#me9c59b2c28" y="388.8"/> + <use style="stroke:#000000;stroke-width:0.5;" x="274.909091" xlink:href="#m368fc901b1" y="388.8"/> </g> </g> <g id="line2d_20"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="274.909090909" xlink:href="#m707813f5a6" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.5;" x="274.909091" xlink:href="#mc63e59a608" y="43.2"/> </g> </g> </g> @@ -256,80 +256,80 @@ L 0 4 <defs> <path d="M 0 0 L 4 0 -" id="me692734fbf" style="stroke:#000000;stroke-width:0.500000;"/> +" id="m556f96d829" style="stroke:#000000;stroke-width:0.5;"/> </defs> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="72.0" xlink:href="#me692734fbf" y="388.8"/> + <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m556f96d829" y="388.8"/> </g> </g> <g id="line2d_22"> <defs> <path d="M 0 0 L -4 0 -" id="m37f7d4f755" style="stroke:#000000;stroke-width:0.500000;"/> +" id="m27e32ca04a" style="stroke:#000000;stroke-width:0.5;"/> </defs> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="274.909090909" xlink:href="#m37f7d4f755" y="388.8"/> + <use style="stroke:#000000;stroke-width:0.5;" x="274.909091" xlink:href="#m27e32ca04a" y="388.8"/> </g> </g> </g> <g id="ytick_2"> <g id="line2d_23"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="72.0" xlink:href="#me692734fbf" y="319.68"/> + <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m556f96d829" y="319.68"/> </g> </g> <g id="line2d_24"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="274.909090909" xlink:href="#m37f7d4f755" y="319.68"/> + <use style="stroke:#000000;stroke-width:0.5;" x="274.909091" xlink:href="#m27e32ca04a" y="319.68"/> </g> </g> </g> <g id="ytick_3"> <g id="line2d_25"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="72.0" xlink:href="#me692734fbf" y="250.56"/> + <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m556f96d829" y="250.56"/> </g> </g> <g id="line2d_26"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="274.909090909" xlink:href="#m37f7d4f755" y="250.56"/> + <use style="stroke:#000000;stroke-width:0.5;" x="274.909091" xlink:href="#m27e32ca04a" y="250.56"/> </g> </g> </g> <g id="ytick_4"> <g id="line2d_27"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="72.0" xlink:href="#me692734fbf" y="181.44"/> + <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m556f96d829" y="181.44"/> </g> </g> <g id="line2d_28"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="274.909090909" xlink:href="#m37f7d4f755" y="181.44"/> + <use style="stroke:#000000;stroke-width:0.5;" x="274.909091" xlink:href="#m27e32ca04a" y="181.44"/> </g> </g> </g> <g id="ytick_5"> <g id="line2d_29"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="72.0" xlink:href="#me692734fbf" y="112.32"/> + <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m556f96d829" y="112.32"/> </g> </g> <g id="line2d_30"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="274.909090909" xlink:href="#m37f7d4f755" y="112.32"/> + <use style="stroke:#000000;stroke-width:0.5;" x="274.909091" xlink:href="#m27e32ca04a" y="112.32"/> </g> </g> </g> <g id="ytick_6"> <g id="line2d_31"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="72.0" xlink:href="#me692734fbf" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m556f96d829" y="43.2"/> </g> </g> <g id="line2d_32"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="274.909090909" xlink:href="#m37f7d4f755" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.5;" x="274.909091" xlink:href="#m27e32ca04a" y="43.2"/> </g> </g> </g> @@ -356,10 +356,10 @@ C -44.731685 -25.978994 -50 -13.260155 -50 0 C -50 13.260155 -44.731685 25.978994 -35.355339 35.355339 C -25.978994 44.731685 -13.260155 50 0 50 z -" id="m258ee76e10" style="stroke:#ff0000;stroke-width:20.000000;"/> +" id="maf4b7325aa" style="stroke:#ff0000;stroke-opacity:0.2;stroke-width:20;"/> </defs> - <g clip-path="url(#pf6814bf019)"> - <use style="fill:#0000ff;opacity:0.200000;stroke:#ff0000;stroke-width:20.000000;" x="396.654545455" xlink:href="#m258ee76e10" y="319.68"/> + <g clip-path="url(#p593ddd15da)"> + <use style="fill:#0000ff;fill-opacity:0.2;stroke:#ff0000;stroke-opacity:0.2;stroke-width:20;" x="396.654545" xlink:href="#maf4b7325aa" y="319.68"/> </g> </g> <g id="line2d_34"> @@ -368,15 +368,15 @@ z L 50 -50 M -50 -50 L 50 50 -" id="m4cae70e294" style="stroke:#ff0000;stroke-width:20.000000;"/> +" id="m7002b850de" style="stroke:#ff0000;stroke-opacity:0.2;stroke-width:20;"/> </defs> - <g clip-path="url(#pf6814bf019)"> - <use style="fill:#008000;opacity:0.200000;stroke:#ff0000;stroke-width:20.000000;" x="396.654545455" xlink:href="#m4cae70e294" y="181.44"/> + <g clip-path="url(#p593ddd15da)"> + <use style="fill:#008000;fill-opacity:0.2;stroke:#ff0000;stroke-opacity:0.2;stroke-width:20;" x="396.654545" xlink:href="#m7002b850de" y="181.44"/> </g> </g> <g id="line2d_35"> - <g clip-path="url(#pf6814bf019)"> - <use style="fill:#0000ff;opacity:0.200000;stroke:#ff0000;stroke-width:20.000000;" x="396.654545455" xlink:href="#m258ee76e10" y="250.56"/> + <g clip-path="url(#p593ddd15da)"> + <use style="fill:#0000ff;fill-opacity:0.2;stroke:#ff0000;stroke-opacity:0.2;stroke-width:20;" x="396.654545" xlink:href="#maf4b7325aa" y="250.56"/> </g> </g> <g id="line2d_36"> @@ -385,15 +385,15 @@ L 50 50 L 50 -50 M -50 -50 L 50 50 -" id="m105f2a95b9" style="stroke:#ff0000;stroke-width:20.000000;"/> +" id="maf7b03c9e5" style="stroke:#ff0000;stroke-opacity:0.2;stroke-width:20;"/> </defs> - <g clip-path="url(#pf6814bf019)"> - <use style="fill:#00bfbf;opacity:0.200000;stroke:#ff0000;stroke-width:20.000000;" x="396.654545455" xlink:href="#m105f2a95b9" y="112.32"/> + <g clip-path="url(#p593ddd15da)"> + <use style="fill:#00bfbf;fill-opacity:0.2;stroke:#ff0000;stroke-opacity:0.2;stroke-width:20;" x="396.654545" xlink:href="#maf7b03c9e5" y="112.32"/> </g> </g> <g id="line2d_37"> - <g clip-path="url(#pf6814bf019)"> - <use style="fill:#0000ff;opacity:0.200000;stroke:#ff0000;stroke-width:20.000000;" x="437.236363636" xlink:href="#m258ee76e10" y="319.68"/> + <g clip-path="url(#p593ddd15da)"> + <use style="fill:#0000ff;fill-opacity:0.2;stroke:#ff0000;stroke-opacity:0.2;stroke-width:20;" x="437.236364" xlink:href="#maf4b7325aa" y="319.68"/> </g> </g> <g id="line2d_38"> @@ -402,15 +402,15 @@ L 50 50 L 50 -50 M -50 -50 L 50 50 -" id="mfa5c6e318e" style="stroke:#ff0000;stroke-width:20.000000;"/> +" id="m454cbe1679" style="stroke:#ff0000;stroke-opacity:0.2;stroke-width:20;"/> </defs> - <g clip-path="url(#pf6814bf019)"> - <use style="fill:#bfbf00;opacity:0.200000;stroke:#ff0000;stroke-width:20.000000;" x="437.236363636" xlink:href="#mfa5c6e318e" y="181.44"/> + <g clip-path="url(#p593ddd15da)"> + <use style="fill:#bfbf00;fill-opacity:0.2;stroke:#ff0000;stroke-opacity:0.2;stroke-width:20;" x="437.236364" xlink:href="#m454cbe1679" y="181.44"/> </g> </g> <g id="line2d_39"> - <g clip-path="url(#pf6814bf019)"> - <use style="fill:#0000ff;opacity:0.200000;stroke:#ff0000;stroke-width:20.000000;" x="437.236363636" xlink:href="#m258ee76e10" y="250.56"/> + <g clip-path="url(#p593ddd15da)"> + <use style="fill:#0000ff;fill-opacity:0.2;stroke:#ff0000;stroke-opacity:0.2;stroke-width:20;" x="437.236364" xlink:href="#maf4b7325aa" y="250.56"/> </g> </g> <g id="line2d_40"> @@ -419,10 +419,10 @@ L 50 50 L 50 -50 M -50 -50 L 50 50 -" id="mfed096623b" style="stroke:#ff0000;stroke-width:20.000000;"/> +" id="m7f6b33c891" style="stroke:#ff0000;stroke-opacity:0.2;stroke-width:20;"/> </defs> - <g clip-path="url(#pf6814bf019)"> - <use style="fill:#0000ff;opacity:0.200000;stroke:#ff0000;stroke-width:20.000000;" x="437.236363636" xlink:href="#mfed096623b" y="112.32"/> + <g clip-path="url(#p593ddd15da)"> + <use style="fill:#0000ff;fill-opacity:0.2;stroke:#ff0000;stroke-opacity:0.2;stroke-width:20;" x="437.236364" xlink:href="#m7f6b33c891" y="112.32"/> </g> </g> <g id="patch_8"> @@ -449,72 +449,72 @@ L 518.4 43.2 <g id="xtick_7"> <g id="line2d_41"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="315.490909091" xlink:href="#me9c59b2c28" y="388.8"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#m368fc901b1" y="388.8"/> </g> </g> <g id="line2d_42"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="315.490909091" xlink:href="#m707813f5a6" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#mc63e59a608" y="43.2"/> </g> </g> </g> <g id="xtick_8"> <g id="line2d_43"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="356.072727273" xlink:href="#me9c59b2c28" y="388.8"/> + <use style="stroke:#000000;stroke-width:0.5;" x="356.072727" xlink:href="#m368fc901b1" y="388.8"/> </g> </g> <g id="line2d_44"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="356.072727273" xlink:href="#m707813f5a6" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.5;" x="356.072727" xlink:href="#mc63e59a608" y="43.2"/> </g> </g> </g> <g id="xtick_9"> <g id="line2d_45"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="396.654545455" xlink:href="#me9c59b2c28" y="388.8"/> + <use style="stroke:#000000;stroke-width:0.5;" x="396.654545" xlink:href="#m368fc901b1" y="388.8"/> </g> </g> <g id="line2d_46"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="396.654545455" xlink:href="#m707813f5a6" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.5;" x="396.654545" xlink:href="#mc63e59a608" y="43.2"/> </g> </g> </g> <g id="xtick_10"> <g id="line2d_47"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="437.236363636" xlink:href="#me9c59b2c28" y="388.8"/> + <use style="stroke:#000000;stroke-width:0.5;" x="437.236364" xlink:href="#m368fc901b1" y="388.8"/> </g> </g> <g id="line2d_48"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="437.236363636" xlink:href="#m707813f5a6" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.5;" x="437.236364" xlink:href="#mc63e59a608" y="43.2"/> </g> </g> </g> <g id="xtick_11"> <g id="line2d_49"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="477.818181818" xlink:href="#me9c59b2c28" y="388.8"/> + <use style="stroke:#000000;stroke-width:0.5;" x="477.818182" xlink:href="#m368fc901b1" y="388.8"/> </g> </g> <g id="line2d_50"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="477.818181818" xlink:href="#m707813f5a6" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.5;" x="477.818182" xlink:href="#mc63e59a608" y="43.2"/> </g> </g> </g> <g id="xtick_12"> <g id="line2d_51"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="518.4" xlink:href="#me9c59b2c28" y="388.8"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m368fc901b1" y="388.8"/> </g> </g> <g id="line2d_52"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="518.4" xlink:href="#m707813f5a6" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#mc63e59a608" y="43.2"/> </g> </g> </g> @@ -523,72 +523,72 @@ L 518.4 43.2 <g id="ytick_7"> <g id="line2d_53"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="315.490909091" xlink:href="#me692734fbf" y="388.8"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#m556f96d829" y="388.8"/> </g> </g> <g id="line2d_54"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="518.4" xlink:href="#m37f7d4f755" y="388.8"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m27e32ca04a" y="388.8"/> </g> </g> </g> <g id="ytick_8"> <g id="line2d_55"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="315.490909091" xlink:href="#me692734fbf" y="319.68"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#m556f96d829" y="319.68"/> </g> </g> <g id="line2d_56"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="518.4" xlink:href="#m37f7d4f755" y="319.68"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m27e32ca04a" y="319.68"/> </g> </g> </g> <g id="ytick_9"> <g id="line2d_57"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="315.490909091" xlink:href="#me692734fbf" y="250.56"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#m556f96d829" y="250.56"/> </g> </g> <g id="line2d_58"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="518.4" xlink:href="#m37f7d4f755" y="250.56"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m27e32ca04a" y="250.56"/> </g> </g> </g> <g id="ytick_10"> <g id="line2d_59"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="315.490909091" xlink:href="#me692734fbf" y="181.44"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#m556f96d829" y="181.44"/> </g> </g> <g id="line2d_60"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="518.4" xlink:href="#m37f7d4f755" y="181.44"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m27e32ca04a" y="181.44"/> </g> </g> </g> <g id="ytick_11"> <g id="line2d_61"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="315.490909091" xlink:href="#me692734fbf" y="112.32"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#m556f96d829" y="112.32"/> </g> </g> <g id="line2d_62"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="518.4" xlink:href="#m37f7d4f755" y="112.32"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m27e32ca04a" y="112.32"/> </g> </g> </g> <g id="ytick_12"> <g id="line2d_63"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="315.490909091" xlink:href="#me692734fbf" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.5;" x="315.490909" xlink:href="#m556f96d829" y="43.2"/> </g> </g> <g id="line2d_64"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="518.4" xlink:href="#m37f7d4f755" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m27e32ca04a" y="43.2"/> </g> </g> </g> @@ -596,11 +596,11 @@ L 518.4 43.2 </g> </g> <defs> - <clipPath id="p35d9bb63fe"> - <rect height="345.6" width="202.909090909" x="72.0" y="43.2"/> + <clipPath id="p0b51b03837"> + <rect height="345.6" width="202.909091" x="72" y="43.2"/> </clipPath> - <clipPath id="pf6814bf019"> - <rect height="345.6" width="202.909090909" x="315.490909091" y="43.2"/> + <clipPath id="p593ddd15da"> + <rect height="345.6" width="202.909091" x="315.490909" y="43.2"/> </clipPath> </defs> </svg> diff --git a/lib/matplotlib/tests/baseline_images/test_axes/test_alpha.svg b/lib/matplotlib/tests/baseline_images/test_axes/test_alpha.svg index 640dd9d7536a..5f7dd673897e 100644 --- a/lib/matplotlib/tests/baseline_images/test_axes/test_alpha.svg +++ b/lib/matplotlib/tests/baseline_images/test_axes/test_alpha.svg @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<!-- Created with matplotlib (http://matplotlib.org/) --> +<!-- Created with matplotlib (https://matplotlib.org/) --> <svg height="432pt" version="1.1" viewBox="0 0 576 432" width="576pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <defs> <style type="text/css"> @@ -27,7 +27,7 @@ z " style="fill:#ffffff;"/> </g> <g id="line2d_1"> - <path clip-path="url(#p826a730be7)" d="M 72 367.725561 + <path clip-path="url(#p4c8e7e0101)" d="M 72 367.725561 L 80.928 361.336728 L 89.856 365.653886 L 98.784 367.876486 @@ -84,63 +84,63 @@ L 14.142136 0 L 0 -14.142136 L -14.142136 -0 z -" id="m8c9a08259f" style="stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;"/> +" id="mcdcf90c5d1" style="stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;"/> </defs> - <g clip-path="url(#p826a730be7)"> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="72" xlink:href="#m8c9a08259f" y="367.725561"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="80.928" xlink:href="#m8c9a08259f" y="361.336728"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="89.856" xlink:href="#m8c9a08259f" y="365.653886"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="98.784" xlink:href="#m8c9a08259f" y="367.876486"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="107.712" xlink:href="#m8c9a08259f" y="372.531656"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="116.64" xlink:href="#m8c9a08259f" y="363.997666"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="125.568" xlink:href="#m8c9a08259f" y="371.996651"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="134.496" xlink:href="#m8c9a08259f" y="354.555917"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="143.424" xlink:href="#m8c9a08259f" y="351.79535"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="152.352" xlink:href="#m8c9a08259f" y="374.075846"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="161.28" xlink:href="#m8c9a08259f" y="358.397759"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="170.208" xlink:href="#m8c9a08259f" y="368.490435"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="179.136" xlink:href="#m8c9a08259f" y="366.987089"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="188.064" xlink:href="#m8c9a08259f" y="353.257089"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="196.992" xlink:href="#m8c9a08259f" y="386.072215"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="205.92" xlink:href="#m8c9a08259f" y="385.454235"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="214.848" xlink:href="#m8c9a08259f" y="388.023614"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="223.776" xlink:href="#m8c9a08259f" y="356.827398"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="232.704" xlink:href="#m8c9a08259f" y="358.918781"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="241.632" xlink:href="#m8c9a08259f" y="355.391534"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="250.56" xlink:href="#m8c9a08259f" y="351.221056"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="259.488" xlink:href="#m8c9a08259f" y="358.112311"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="268.416" xlink:href="#m8c9a08259f" y="371.079192"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="277.344" xlink:href="#m8c9a08259f" y="358.82768"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="286.272" xlink:href="#m8c9a08259f" y="384.258262"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="295.2" xlink:href="#m8c9a08259f" y="364.227033"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="304.128" xlink:href="#m8c9a08259f" y="383.295234"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="313.056" xlink:href="#m8c9a08259f" y="352.524714"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="321.984" xlink:href="#m8c9a08259f" y="368.761024"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="330.912" xlink:href="#m8c9a08259f" y="372.876982"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="339.84" xlink:href="#m8c9a08259f" y="378.641064"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="348.768" xlink:href="#m8c9a08259f" y="359.069426"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="357.696" xlink:href="#m8c9a08259f" y="371.283827"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="366.624" xlink:href="#m8c9a08259f" y="366.972136"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="375.552" xlink:href="#m8c9a08259f" y="388.078472"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="384.48" xlink:href="#m8c9a08259f" y="365.082797"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="393.408" xlink:href="#m8c9a08259f" y="365.295524"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="402.336" xlink:href="#m8c9a08259f" y="365.109735"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="411.264" xlink:href="#m8c9a08259f" y="352.560074"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="420.192" xlink:href="#m8c9a08259f" y="362.618101"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="429.12" xlink:href="#m8c9a08259f" y="374.994897"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="438.048" xlink:href="#m8c9a08259f" y="372.017973"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="446.976" xlink:href="#m8c9a08259f" y="362.010962"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="455.904" xlink:href="#m8c9a08259f" y="386.487342"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="464.832" xlink:href="#m8c9a08259f" y="363.196158"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="473.76" xlink:href="#m8c9a08259f" y="363.047506"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="482.688" xlink:href="#m8c9a08259f" y="380.72131"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="491.616" xlink:href="#m8c9a08259f" y="383.84923"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="500.544" xlink:href="#m8c9a08259f" y="376.687551"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="509.472" xlink:href="#m8c9a08259f" y="374.833506"/> + <g clip-path="url(#p4c8e7e0101)"> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="72" xlink:href="#mcdcf90c5d1" y="367.725561"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="80.928" xlink:href="#mcdcf90c5d1" y="361.336728"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="89.856" xlink:href="#mcdcf90c5d1" y="365.653886"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="98.784" xlink:href="#mcdcf90c5d1" y="367.876486"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="107.712" xlink:href="#mcdcf90c5d1" y="372.531656"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="116.64" xlink:href="#mcdcf90c5d1" y="363.997666"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="125.568" xlink:href="#mcdcf90c5d1" y="371.996651"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="134.496" xlink:href="#mcdcf90c5d1" y="354.555917"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="143.424" xlink:href="#mcdcf90c5d1" y="351.79535"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="152.352" xlink:href="#mcdcf90c5d1" y="374.075846"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="161.28" xlink:href="#mcdcf90c5d1" y="358.397759"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="170.208" xlink:href="#mcdcf90c5d1" y="368.490435"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="179.136" xlink:href="#mcdcf90c5d1" y="366.987089"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="188.064" xlink:href="#mcdcf90c5d1" y="353.257089"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="196.992" xlink:href="#mcdcf90c5d1" y="386.072215"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="205.92" xlink:href="#mcdcf90c5d1" y="385.454235"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="214.848" xlink:href="#mcdcf90c5d1" y="388.023614"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="223.776" xlink:href="#mcdcf90c5d1" y="356.827398"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="232.704" xlink:href="#mcdcf90c5d1" y="358.918781"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="241.632" xlink:href="#mcdcf90c5d1" y="355.391534"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="250.56" xlink:href="#mcdcf90c5d1" y="351.221056"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="259.488" xlink:href="#mcdcf90c5d1" y="358.112311"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="268.416" xlink:href="#mcdcf90c5d1" y="371.079192"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="277.344" xlink:href="#mcdcf90c5d1" y="358.82768"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="286.272" xlink:href="#mcdcf90c5d1" y="384.258262"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="295.2" xlink:href="#mcdcf90c5d1" y="364.227033"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="304.128" xlink:href="#mcdcf90c5d1" y="383.295234"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="313.056" xlink:href="#mcdcf90c5d1" y="352.524714"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="321.984" xlink:href="#mcdcf90c5d1" y="368.761024"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="330.912" xlink:href="#mcdcf90c5d1" y="372.876982"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="339.84" xlink:href="#mcdcf90c5d1" y="378.641064"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="348.768" xlink:href="#mcdcf90c5d1" y="359.069426"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="357.696" xlink:href="#mcdcf90c5d1" y="371.283827"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="366.624" xlink:href="#mcdcf90c5d1" y="366.972136"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="375.552" xlink:href="#mcdcf90c5d1" y="388.078472"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="384.48" xlink:href="#mcdcf90c5d1" y="365.082797"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="393.408" xlink:href="#mcdcf90c5d1" y="365.295524"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="402.336" xlink:href="#mcdcf90c5d1" y="365.109735"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="411.264" xlink:href="#mcdcf90c5d1" y="352.560074"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="420.192" xlink:href="#mcdcf90c5d1" y="362.618101"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="429.12" xlink:href="#mcdcf90c5d1" y="374.994897"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="438.048" xlink:href="#mcdcf90c5d1" y="372.017973"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="446.976" xlink:href="#mcdcf90c5d1" y="362.010962"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="455.904" xlink:href="#mcdcf90c5d1" y="386.487342"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="464.832" xlink:href="#mcdcf90c5d1" y="363.196158"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="473.76" xlink:href="#mcdcf90c5d1" y="363.047506"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="482.688" xlink:href="#mcdcf90c5d1" y="380.72131"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="491.616" xlink:href="#mcdcf90c5d1" y="383.84923"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="500.544" xlink:href="#mcdcf90c5d1" y="376.687551"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="509.472" xlink:href="#mcdcf90c5d1" y="374.833506"/> </g> </g> <g id="line2d_2"> - <path clip-path="url(#p826a730be7)" d="M 72 290.925561 + <path clip-path="url(#p4c8e7e0101)" d="M 72 290.925561 L 80.928 284.536728 L 89.856 288.853886 L 98.784 291.076486 @@ -199,7 +199,7 @@ L -14.142136 -0 z " id="m77c6c2eedd" style="stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;"/> </defs> - <g clip-path="url(#p826a730be7)"> + <g clip-path="url(#p4c8e7e0101)"> <use style="fill:#ff0000;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="72" xlink:href="#m77c6c2eedd" y="290.925561"/> <use style="fill:#ff0000;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="80.928" xlink:href="#m77c6c2eedd" y="284.536728"/> <use style="fill:#ff0000;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="89.856" xlink:href="#m77c6c2eedd" y="288.853886"/> @@ -253,7 +253,7 @@ z </g> </g> <g id="line2d_3"> - <path clip-path="url(#p826a730be7)" d="M 72 214.125561 + <path clip-path="url(#p4c8e7e0101)" d="M 72 214.125561 L 80.928 207.736728 L 89.856 212.053886 L 98.784 214.276486 @@ -303,62 +303,62 @@ L 482.688 227.12131 L 491.616 230.24923 L 500.544 223.087551 L 509.472 221.233506 -" style="fill:none;opacity:0.5;stroke:#ff0000;stroke-linecap:square;stroke-width:10;"/> - <g clip-path="url(#p826a730be7)"> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="72" xlink:href="#m8c9a08259f" y="214.125561"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="80.928" xlink:href="#m8c9a08259f" y="207.736728"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="89.856" xlink:href="#m8c9a08259f" y="212.053886"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="98.784" xlink:href="#m8c9a08259f" y="214.276486"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="107.712" xlink:href="#m8c9a08259f" y="218.931656"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="116.64" xlink:href="#m8c9a08259f" y="210.397666"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="125.568" xlink:href="#m8c9a08259f" y="218.396651"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="134.496" xlink:href="#m8c9a08259f" y="200.955917"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="143.424" xlink:href="#m8c9a08259f" y="198.19535"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="152.352" xlink:href="#m8c9a08259f" y="220.475846"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="161.28" xlink:href="#m8c9a08259f" y="204.797759"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="170.208" xlink:href="#m8c9a08259f" y="214.890435"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="179.136" xlink:href="#m8c9a08259f" y="213.387089"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="188.064" xlink:href="#m8c9a08259f" y="199.657089"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="196.992" xlink:href="#m8c9a08259f" y="232.472215"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="205.92" xlink:href="#m8c9a08259f" y="231.854235"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="214.848" xlink:href="#m8c9a08259f" y="234.423614"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="223.776" xlink:href="#m8c9a08259f" y="203.227398"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="232.704" xlink:href="#m8c9a08259f" y="205.318781"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="241.632" xlink:href="#m8c9a08259f" y="201.791534"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="250.56" xlink:href="#m8c9a08259f" y="197.621056"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="259.488" xlink:href="#m8c9a08259f" y="204.512311"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="268.416" xlink:href="#m8c9a08259f" y="217.479192"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="277.344" xlink:href="#m8c9a08259f" y="205.22768"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="286.272" xlink:href="#m8c9a08259f" y="230.658262"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="295.2" xlink:href="#m8c9a08259f" y="210.627033"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="304.128" xlink:href="#m8c9a08259f" y="229.695234"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="313.056" xlink:href="#m8c9a08259f" y="198.924714"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="321.984" xlink:href="#m8c9a08259f" y="215.161024"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="330.912" xlink:href="#m8c9a08259f" y="219.276982"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="339.84" xlink:href="#m8c9a08259f" y="225.041064"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="348.768" xlink:href="#m8c9a08259f" y="205.469426"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="357.696" xlink:href="#m8c9a08259f" y="217.683827"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="366.624" xlink:href="#m8c9a08259f" y="213.372136"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="375.552" xlink:href="#m8c9a08259f" y="234.478472"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="384.48" xlink:href="#m8c9a08259f" y="211.482797"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="393.408" xlink:href="#m8c9a08259f" y="211.695524"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="402.336" xlink:href="#m8c9a08259f" y="211.509735"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="411.264" xlink:href="#m8c9a08259f" y="198.960074"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="420.192" xlink:href="#m8c9a08259f" y="209.018101"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="429.12" xlink:href="#m8c9a08259f" y="221.394897"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="438.048" xlink:href="#m8c9a08259f" y="218.417973"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="446.976" xlink:href="#m8c9a08259f" y="208.410962"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="455.904" xlink:href="#m8c9a08259f" y="232.887342"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="464.832" xlink:href="#m8c9a08259f" y="209.596158"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="473.76" xlink:href="#m8c9a08259f" y="209.447506"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="482.688" xlink:href="#m8c9a08259f" y="227.12131"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="491.616" xlink:href="#m8c9a08259f" y="230.24923"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="500.544" xlink:href="#m8c9a08259f" y="223.087551"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="509.472" xlink:href="#m8c9a08259f" y="221.233506"/> +" style="fill:none;stroke:#ff0000;stroke-linecap:square;stroke-opacity:0.5;stroke-width:10;"/> + <g clip-path="url(#p4c8e7e0101)"> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="72" xlink:href="#mcdcf90c5d1" y="214.125561"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="80.928" xlink:href="#mcdcf90c5d1" y="207.736728"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="89.856" xlink:href="#mcdcf90c5d1" y="212.053886"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="98.784" xlink:href="#mcdcf90c5d1" y="214.276486"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="107.712" xlink:href="#mcdcf90c5d1" y="218.931656"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="116.64" xlink:href="#mcdcf90c5d1" y="210.397666"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="125.568" xlink:href="#mcdcf90c5d1" y="218.396651"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="134.496" xlink:href="#mcdcf90c5d1" y="200.955917"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="143.424" xlink:href="#mcdcf90c5d1" y="198.19535"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="152.352" xlink:href="#mcdcf90c5d1" y="220.475846"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="161.28" xlink:href="#mcdcf90c5d1" y="204.797759"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="170.208" xlink:href="#mcdcf90c5d1" y="214.890435"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="179.136" xlink:href="#mcdcf90c5d1" y="213.387089"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="188.064" xlink:href="#mcdcf90c5d1" y="199.657089"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="196.992" xlink:href="#mcdcf90c5d1" y="232.472215"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="205.92" xlink:href="#mcdcf90c5d1" y="231.854235"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="214.848" xlink:href="#mcdcf90c5d1" y="234.423614"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="223.776" xlink:href="#mcdcf90c5d1" y="203.227398"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="232.704" xlink:href="#mcdcf90c5d1" y="205.318781"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="241.632" xlink:href="#mcdcf90c5d1" y="201.791534"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="250.56" xlink:href="#mcdcf90c5d1" y="197.621056"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="259.488" xlink:href="#mcdcf90c5d1" y="204.512311"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="268.416" xlink:href="#mcdcf90c5d1" y="217.479192"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="277.344" xlink:href="#mcdcf90c5d1" y="205.22768"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="286.272" xlink:href="#mcdcf90c5d1" y="230.658262"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="295.2" xlink:href="#mcdcf90c5d1" y="210.627033"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="304.128" xlink:href="#mcdcf90c5d1" y="229.695234"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="313.056" xlink:href="#mcdcf90c5d1" y="198.924714"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="321.984" xlink:href="#mcdcf90c5d1" y="215.161024"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="330.912" xlink:href="#mcdcf90c5d1" y="219.276982"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="339.84" xlink:href="#mcdcf90c5d1" y="225.041064"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="348.768" xlink:href="#mcdcf90c5d1" y="205.469426"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="357.696" xlink:href="#mcdcf90c5d1" y="217.683827"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="366.624" xlink:href="#mcdcf90c5d1" y="213.372136"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="375.552" xlink:href="#mcdcf90c5d1" y="234.478472"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="384.48" xlink:href="#mcdcf90c5d1" y="211.482797"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="393.408" xlink:href="#mcdcf90c5d1" y="211.695524"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="402.336" xlink:href="#mcdcf90c5d1" y="211.509735"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="411.264" xlink:href="#mcdcf90c5d1" y="198.960074"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="420.192" xlink:href="#mcdcf90c5d1" y="209.018101"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="429.12" xlink:href="#mcdcf90c5d1" y="221.394897"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="438.048" xlink:href="#mcdcf90c5d1" y="218.417973"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="446.976" xlink:href="#mcdcf90c5d1" y="208.410962"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="455.904" xlink:href="#mcdcf90c5d1" y="232.887342"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="464.832" xlink:href="#mcdcf90c5d1" y="209.596158"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="473.76" xlink:href="#mcdcf90c5d1" y="209.447506"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="482.688" xlink:href="#mcdcf90c5d1" y="227.12131"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="491.616" xlink:href="#mcdcf90c5d1" y="230.24923"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="500.544" xlink:href="#mcdcf90c5d1" y="223.087551"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="509.472" xlink:href="#mcdcf90c5d1" y="221.233506"/> </g> </g> <g id="line2d_4"> - <path clip-path="url(#p826a730be7)" d="M 72 137.325561 + <path clip-path="url(#p4c8e7e0101)" d="M 72 137.325561 L 80.928 130.936728 L 89.856 135.253886 L 98.784 137.476486 @@ -408,62 +408,62 @@ L 482.688 150.32131 L 491.616 153.44923 L 500.544 146.287551 L 509.472 144.433506 -" style="fill:none;opacity:0.5;stroke:#ff0000;stroke-linecap:square;stroke-width:10;"/> - <g clip-path="url(#p826a730be7)"> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="72" xlink:href="#m8c9a08259f" y="137.325561"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="80.928" xlink:href="#m8c9a08259f" y="130.936728"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="89.856" xlink:href="#m8c9a08259f" y="135.253886"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="98.784" xlink:href="#m8c9a08259f" y="137.476486"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="107.712" xlink:href="#m8c9a08259f" y="142.131656"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="116.64" xlink:href="#m8c9a08259f" y="133.597666"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="125.568" xlink:href="#m8c9a08259f" y="141.596651"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="134.496" xlink:href="#m8c9a08259f" y="124.155917"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="143.424" xlink:href="#m8c9a08259f" y="121.39535"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="152.352" xlink:href="#m8c9a08259f" y="143.675846"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="161.28" xlink:href="#m8c9a08259f" y="127.997759"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="170.208" xlink:href="#m8c9a08259f" y="138.090435"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="179.136" xlink:href="#m8c9a08259f" y="136.587089"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="188.064" xlink:href="#m8c9a08259f" y="122.857089"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="196.992" xlink:href="#m8c9a08259f" y="155.672215"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="205.92" xlink:href="#m8c9a08259f" y="155.054235"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="214.848" xlink:href="#m8c9a08259f" y="157.623614"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="223.776" xlink:href="#m8c9a08259f" y="126.427398"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="232.704" xlink:href="#m8c9a08259f" y="128.518781"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="241.632" xlink:href="#m8c9a08259f" y="124.991534"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="250.56" xlink:href="#m8c9a08259f" y="120.821056"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="259.488" xlink:href="#m8c9a08259f" y="127.712311"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="268.416" xlink:href="#m8c9a08259f" y="140.679192"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="277.344" xlink:href="#m8c9a08259f" y="128.42768"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="286.272" xlink:href="#m8c9a08259f" y="153.858262"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="295.2" xlink:href="#m8c9a08259f" y="133.827033"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="304.128" xlink:href="#m8c9a08259f" y="152.895234"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="313.056" xlink:href="#m8c9a08259f" y="122.124714"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="321.984" xlink:href="#m8c9a08259f" y="138.361024"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="330.912" xlink:href="#m8c9a08259f" y="142.476982"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="339.84" xlink:href="#m8c9a08259f" y="148.241064"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="348.768" xlink:href="#m8c9a08259f" y="128.669426"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="357.696" xlink:href="#m8c9a08259f" y="140.883827"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="366.624" xlink:href="#m8c9a08259f" y="136.572136"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="375.552" xlink:href="#m8c9a08259f" y="157.678472"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="384.48" xlink:href="#m8c9a08259f" y="134.682797"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="393.408" xlink:href="#m8c9a08259f" y="134.895524"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="402.336" xlink:href="#m8c9a08259f" y="134.709735"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="411.264" xlink:href="#m8c9a08259f" y="122.160074"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="420.192" xlink:href="#m8c9a08259f" y="132.218101"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="429.12" xlink:href="#m8c9a08259f" y="144.594897"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="438.048" xlink:href="#m8c9a08259f" y="141.617973"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="446.976" xlink:href="#m8c9a08259f" y="131.610962"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="455.904" xlink:href="#m8c9a08259f" y="156.087342"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="464.832" xlink:href="#m8c9a08259f" y="132.796158"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="473.76" xlink:href="#m8c9a08259f" y="132.647506"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="482.688" xlink:href="#m8c9a08259f" y="150.32131"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="491.616" xlink:href="#m8c9a08259f" y="153.44923"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="500.544" xlink:href="#m8c9a08259f" y="146.287551"/> - <use style="fill:#ff0000;opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="509.472" xlink:href="#m8c9a08259f" y="144.433506"/> +" style="fill:none;stroke:#ff0000;stroke-linecap:square;stroke-opacity:0.5;stroke-width:10;"/> + <g clip-path="url(#p4c8e7e0101)"> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="72" xlink:href="#mcdcf90c5d1" y="137.325561"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="80.928" xlink:href="#mcdcf90c5d1" y="130.936728"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="89.856" xlink:href="#mcdcf90c5d1" y="135.253886"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="98.784" xlink:href="#mcdcf90c5d1" y="137.476486"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="107.712" xlink:href="#mcdcf90c5d1" y="142.131656"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="116.64" xlink:href="#mcdcf90c5d1" y="133.597666"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="125.568" xlink:href="#mcdcf90c5d1" y="141.596651"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="134.496" xlink:href="#mcdcf90c5d1" y="124.155917"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="143.424" xlink:href="#mcdcf90c5d1" y="121.39535"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="152.352" xlink:href="#mcdcf90c5d1" y="143.675846"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="161.28" xlink:href="#mcdcf90c5d1" y="127.997759"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="170.208" xlink:href="#mcdcf90c5d1" y="138.090435"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="179.136" xlink:href="#mcdcf90c5d1" y="136.587089"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="188.064" xlink:href="#mcdcf90c5d1" y="122.857089"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="196.992" xlink:href="#mcdcf90c5d1" y="155.672215"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="205.92" xlink:href="#mcdcf90c5d1" y="155.054235"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="214.848" xlink:href="#mcdcf90c5d1" y="157.623614"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="223.776" xlink:href="#mcdcf90c5d1" y="126.427398"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="232.704" xlink:href="#mcdcf90c5d1" y="128.518781"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="241.632" xlink:href="#mcdcf90c5d1" y="124.991534"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="250.56" xlink:href="#mcdcf90c5d1" y="120.821056"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="259.488" xlink:href="#mcdcf90c5d1" y="127.712311"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="268.416" xlink:href="#mcdcf90c5d1" y="140.679192"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="277.344" xlink:href="#mcdcf90c5d1" y="128.42768"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="286.272" xlink:href="#mcdcf90c5d1" y="153.858262"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="295.2" xlink:href="#mcdcf90c5d1" y="133.827033"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="304.128" xlink:href="#mcdcf90c5d1" y="152.895234"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="313.056" xlink:href="#mcdcf90c5d1" y="122.124714"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="321.984" xlink:href="#mcdcf90c5d1" y="138.361024"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="330.912" xlink:href="#mcdcf90c5d1" y="142.476982"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="339.84" xlink:href="#mcdcf90c5d1" y="148.241064"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="348.768" xlink:href="#mcdcf90c5d1" y="128.669426"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="357.696" xlink:href="#mcdcf90c5d1" y="140.883827"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="366.624" xlink:href="#mcdcf90c5d1" y="136.572136"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="375.552" xlink:href="#mcdcf90c5d1" y="157.678472"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="384.48" xlink:href="#mcdcf90c5d1" y="134.682797"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="393.408" xlink:href="#mcdcf90c5d1" y="134.895524"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="402.336" xlink:href="#mcdcf90c5d1" y="134.709735"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="411.264" xlink:href="#mcdcf90c5d1" y="122.160074"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="420.192" xlink:href="#mcdcf90c5d1" y="132.218101"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="429.12" xlink:href="#mcdcf90c5d1" y="144.594897"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="438.048" xlink:href="#mcdcf90c5d1" y="141.617973"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="446.976" xlink:href="#mcdcf90c5d1" y="131.610962"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="455.904" xlink:href="#mcdcf90c5d1" y="156.087342"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="464.832" xlink:href="#mcdcf90c5d1" y="132.796158"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="473.76" xlink:href="#mcdcf90c5d1" y="132.647506"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="482.688" xlink:href="#mcdcf90c5d1" y="150.32131"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="491.616" xlink:href="#mcdcf90c5d1" y="153.44923"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="500.544" xlink:href="#mcdcf90c5d1" y="146.287551"/> + <use style="fill:#ff0000;fill-opacity:0.5;stroke:#000000;stroke-linejoin:miter;stroke-opacity:0.5;stroke-width:0.5;" x="509.472" xlink:href="#mcdcf90c5d1" y="144.433506"/> </g> </g> <g id="line2d_5"> - <path clip-path="url(#p826a730be7)" d="M 72 60.525561 + <path clip-path="url(#p4c8e7e0101)" d="M 72 60.525561 L 80.928 54.136728 L 89.856 58.453886 L 98.784 60.676486 @@ -513,8 +513,8 @@ L 482.688 73.52131 L 491.616 76.64923 L 500.544 69.487551 L 509.472 67.633506 -" style="fill:none;opacity:0.5;stroke:#ff0000;stroke-linecap:square;stroke-width:10;"/> - <g clip-path="url(#p826a730be7)"> +" style="fill:none;stroke:#ff0000;stroke-linecap:square;stroke-opacity:0.5;stroke-width:10;"/> + <g clip-path="url(#p4c8e7e0101)"> <use style="fill:#ff0000;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="72" xlink:href="#m77c6c2eedd" y="60.525561"/> <use style="fill:#ff0000;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="80.928" xlink:href="#m77c6c2eedd" y="54.136728"/> <use style="fill:#ff0000;stroke:#000000;stroke-linejoin:miter;stroke-width:0.5;" x="89.856" xlink:href="#m77c6c2eedd" y="58.453886"/> @@ -806,7 +806,7 @@ L -4 0 </g> </g> <defs> - <clipPath id="p826a730be7"> + <clipPath id="p4c8e7e0101"> <rect height="345.6" width="446.4" x="72" y="43.2"/> </clipPath> </defs> diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index aff0fede59a7..1a5eb4592e5b 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -5702,3 +5702,17 @@ def test_empty_errorbar_legend(): def test_plot_columns_cycle_deprecation(): with pytest.warns(MatplotlibDeprecationWarning): plt.plot(np.zeros((2, 2)), np.zeros((2, 3))) + + +def test_markerfacecolor_none_alpha(): + fig1, ax1 = plt.subplots() + ax1.plot(0, "o", mfc="none", alpha=.5) + buf1 = io.BytesIO() + fig1.savefig(buf1) + + fig2, ax2 = plt.subplots() + ax2.plot(0, "o", mfc="w", alpha=.5) + buf2 = io.BytesIO() + fig2.savefig(buf2) + + assert buf1.getvalue() == buf2.getvalue() From 9e311d9dccab1406b6627d99bdbf04cc275b88ff Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Wed, 25 Apr 2018 16:26:48 -0700 Subject: [PATCH 0580/1161] Don't include the postscript title if it is not latin-1 encodable. --- lib/matplotlib/backends/backend_ps.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/backends/backend_ps.py b/lib/matplotlib/backends/backend_ps.py index 4025cb90a14d..61c8153e3916 100644 --- a/lib/matplotlib/backends/backend_ps.py +++ b/lib/matplotlib/backends/backend_ps.py @@ -984,6 +984,7 @@ def _print_figure( if isinstance(outfile, (six.string_types, getattr(os, "PathLike", ()),)): outfile = title = getattr(os, "fspath", lambda obj: obj)(outfile) + title = title.encode("latin-1", "replace").decode() passed_in_file_object = False elif is_writable_file_like(outfile): title = None @@ -1071,7 +1072,7 @@ def print_figure_impl(fh): else: print("%!PS-Adobe-3.0", file=fh) if title: - print("%%Title: "+title, file=fh) + print("%%Title: " + title, file=fh) print("%%Creator: " + creator_str, file=fh) # get source date from SOURCE_DATE_EPOCH, if set # See https://reproducible-builds.org/specs/source-date-epoch/ @@ -1081,7 +1082,7 @@ def print_figure_impl(fh): int(source_date_epoch)).strftime("%a %b %d %H:%M:%S %Y") else: source_date = time.ctime() - print("%%CreationDate: "+source_date, file=fh) + print("%%CreationDate: " + source_date, file=fh) print("%%Orientation: " + orientation, file=fh) if not isEPSF: print("%%DocumentPaperSizes: "+papertype, file=fh) From 72fc2943850695decc10d7df29df7b2783c7774f Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sat, 28 Apr 2018 21:39:52 -0700 Subject: [PATCH 0581/1161] Remove mpl_examples symlink. AFAICT we're not using it for anything, we don't have a similar symlink to the tutorials, and it annoys my tab-completion when I try to get into mpl_toolkits... --- lib/mpl_examples | 1 - 1 file changed, 1 deletion(-) delete mode 120000 lib/mpl_examples diff --git a/lib/mpl_examples b/lib/mpl_examples deleted file mode 120000 index a6573af9c9da..000000000000 --- a/lib/mpl_examples +++ /dev/null @@ -1 +0,0 @@ -../examples \ No newline at end of file From 81e8154dbba54ac1607b21b22984cabf7a6598fa Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sat, 28 Apr 2018 22:16:46 -0700 Subject: [PATCH 0582/1161] Finish removing future imports. --- doc/sphinxext/math_symbol_table.py | 1 - lib/matplotlib/__init__.py | 1 - lib/matplotlib/_cm.py | 3 --- lib/matplotlib/_constrained_layout.py | 3 --- lib/matplotlib/_layoutbox.py | 3 --- lib/matplotlib/artist.py | 3 --- lib/matplotlib/axes/__init__.py | 3 --- lib/matplotlib/backends/backend_agg.py | 3 --- lib/matplotlib/backends/backend_cairo.py | 3 --- lib/matplotlib/backends/backend_macosx.py | 3 --- lib/matplotlib/backends/backend_ps.py | 4 ---- lib/matplotlib/backends/backend_svg.py | 3 --- lib/matplotlib/backends/qt_editor/__init__.py | 2 -- lib/matplotlib/backends/web_backend/nbagg_uat.ipynb | 1 - lib/matplotlib/blocking_input.py | 3 --- lib/matplotlib/lines.py | 2 -- lib/matplotlib/mlab.py | 3 --- lib/matplotlib/patches.py | 2 -- lib/matplotlib/rcsetup.py | 2 -- lib/matplotlib/sphinxext/__init__.py | 2 -- lib/matplotlib/sphinxext/plot_directive.py | 3 --- lib/matplotlib/sphinxext/tests/conftest.py | 3 --- lib/matplotlib/stackplot.py | 3 --- lib/matplotlib/style/__init__.py | 2 -- lib/matplotlib/testing/conftest.py | 3 --- lib/matplotlib/tests/__init__.py | 2 -- lib/matplotlib/tests/conftest.py | 2 -- lib/matplotlib/tests/test_agg.py | 2 -- lib/matplotlib/tests/test_arrow_patches.py | 2 -- lib/matplotlib/tests/test_axes.py | 2 -- lib/matplotlib/tests/test_backend_svg.py | 2 -- lib/matplotlib/tests/test_basic.py | 2 -- lib/matplotlib/tests/test_bbox_tight.py | 2 -- lib/matplotlib/tests/test_category.py | 2 -- lib/matplotlib/tests/test_cbook.py | 1 - lib/matplotlib/tests/test_collections.py | 2 -- lib/matplotlib/tests/test_colorbar.py | 2 -- lib/matplotlib/tests/test_constrainedlayout.py | 4 ---- lib/matplotlib/tests/test_container.py | 2 -- lib/matplotlib/tests/test_contour.py | 2 -- lib/matplotlib/tests/test_figure.py | 2 -- lib/matplotlib/tests/test_lines.py | 2 -- lib/matplotlib/tests/test_mathtext.py | 2 -- lib/matplotlib/tests/test_mlab.py | 2 -- lib/matplotlib/tests/test_offsetbox.py | 2 -- lib/matplotlib/tests/test_patches.py | 2 -- lib/matplotlib/tests/test_path.py | 1 - lib/matplotlib/tests/test_patheffects.py | 2 -- lib/matplotlib/tests/test_pickle.py | 2 -- lib/matplotlib/tests/test_png.py | 2 -- lib/matplotlib/tests/test_preprocess_data.py | 2 -- lib/matplotlib/tests/test_quiver.py | 1 - lib/matplotlib/tests/test_sankey.py | 2 -- lib/matplotlib/tests/test_scale.py | 2 -- lib/matplotlib/tests/test_skew.py | 2 -- lib/matplotlib/tests/test_spines.py | 2 -- lib/matplotlib/tests/test_streamplot.py | 2 -- lib/matplotlib/tests/test_style.py | 2 -- lib/matplotlib/tests/test_table.py | 2 -- lib/matplotlib/tests/test_texmanager.py | 2 -- lib/matplotlib/tests/test_text.py | 2 -- lib/matplotlib/tests/test_tightlayout.py | 2 -- lib/matplotlib/tests/test_transforms.py | 2 -- lib/matplotlib/tests/test_triangulation.py | 2 -- lib/matplotlib/tests/test_ttconv.py | 2 -- lib/matplotlib/tests/test_type1font.py | 2 -- lib/matplotlib/tests/test_usetex.py | 2 -- lib/matplotlib/ticker.py | 3 --- lib/matplotlib/type1font.py | 3 --- lib/mpl_toolkits/axes_grid/__init__.py | 3 --- lib/mpl_toolkits/axes_grid/anchored_artists.py | 3 --- lib/mpl_toolkits/axes_grid/angle_helper.py | 3 --- lib/mpl_toolkits/axes_grid/axes_divider.py | 3 --- lib/mpl_toolkits/axes_grid/axes_rgb.py | 3 --- lib/mpl_toolkits/axes_grid/axes_size.py | 3 --- lib/mpl_toolkits/axes_grid/axis_artist.py | 3 --- lib/mpl_toolkits/axes_grid/axisline_style.py | 3 --- lib/mpl_toolkits/axes_grid/axislines.py | 3 --- lib/mpl_toolkits/axes_grid/clip_path.py | 3 --- lib/mpl_toolkits/axes_grid/floating_axes.py | 3 --- lib/mpl_toolkits/axes_grid/grid_finder.py | 3 --- lib/mpl_toolkits/axes_grid/grid_helper_curvelinear.py | 3 --- lib/mpl_toolkits/axes_grid/inset_locator.py | 3 --- lib/mpl_toolkits/axes_grid/parasite_axes.py | 3 --- lib/mpl_toolkits/axes_grid1/__init__.py | 3 --- lib/mpl_toolkits/axes_grid1/anchored_artists.py | 2 -- lib/mpl_toolkits/axes_grid1/axes_divider.py | 3 --- lib/mpl_toolkits/axes_grid1/axes_grid.py | 3 --- lib/mpl_toolkits/axes_grid1/axes_rgb.py | 3 --- lib/mpl_toolkits/axes_grid1/axes_size.py | 3 --- lib/mpl_toolkits/axes_grid1/colorbar.py | 3 --- lib/mpl_toolkits/axes_grid1/inset_locator.py | 3 --- lib/mpl_toolkits/axes_grid1/mpl_axes.py | 3 --- lib/mpl_toolkits/axes_grid1/parasite_axes.py | 3 --- lib/mpl_toolkits/axisartist/__init__.py | 3 --- lib/mpl_toolkits/axisartist/angle_helper.py | 3 --- lib/mpl_toolkits/axisartist/axes_divider.py | 3 --- lib/mpl_toolkits/axisartist/axes_rgb.py | 3 --- lib/mpl_toolkits/axisartist/axis_artist.py | 3 --- lib/mpl_toolkits/axisartist/axisline_style.py | 3 --- lib/mpl_toolkits/axisartist/axislines.py | 3 --- lib/mpl_toolkits/axisartist/clip_path.py | 3 --- lib/mpl_toolkits/axisartist/floating_axes.py | 3 --- lib/mpl_toolkits/axisartist/grid_finder.py | 3 --- lib/mpl_toolkits/axisartist/grid_helper_curvelinear.py | 3 --- lib/mpl_toolkits/axisartist/parasite_axes.py | 3 --- lib/mpl_toolkits/mplot3d/__init__.py | 3 --- lib/mpl_toolkits/mplot3d/axes3d.py | 3 --- lib/mpl_toolkits/mplot3d/axis3d.py | 3 --- lib/mpl_toolkits/mplot3d/proj3d.py | 3 --- lib/mpl_toolkits/tests/__init__.py | 3 --- lib/mpl_toolkits/tests/conftest.py | 3 --- lib/mpl_toolkits/tests/test_axes_grid1.py | 2 -- lib/mpl_toolkits/tests/test_axisartist_angle_helper.py | 3 --- lib/mpl_toolkits/tests/test_axisartist_axis_artist.py | 3 --- lib/mpl_toolkits/tests/test_axisartist_axislines.py | 3 --- lib/mpl_toolkits/tests/test_axisartist_clip_path.py | 3 --- lib/mpl_toolkits/tests/test_axisartist_floating_axes.py | 3 --- lib/mpl_toolkits/tests/test_axisartist_grid_finder.py | 3 --- .../tests/test_axisartist_grid_helper_curvelinear.py | 3 --- setup.py | 1 - setup_external_compile.py | 1 - tools/gh_api.py | 1 - tools/github_stats.py | 2 -- tools/subset.py | 1 - unit/ellipse_large.py | 1 - unit/legend_unit.py | 1 - unit/longs_test.py | 2 -- unit/memleak.py | 2 -- unit/mlab_unit.py | 1 - unit/threading_test.py | 1 - 131 files changed, 318 deletions(-) diff --git a/doc/sphinxext/math_symbol_table.py b/doc/sphinxext/math_symbol_table.py index 26645b3e5665..5e1969228e3f 100644 --- a/doc/sphinxext/math_symbol_table.py +++ b/doc/sphinxext/math_symbol_table.py @@ -1,4 +1,3 @@ -from __future__ import print_function symbols = [ ["Lower-case Greek", 6, diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 0aba16a447c3..09856d9e1cfc 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -101,7 +101,6 @@ """ # NOTE: This file must remain Python 2 compatible for the foreseeable future, # to ensure that we error out properly for existing editable installs. -from __future__ import absolute_import, division, print_function import six diff --git a/lib/matplotlib/_cm.py b/lib/matplotlib/_cm.py index a32229cb63b9..6ee8914dc085 100644 --- a/lib/matplotlib/_cm.py +++ b/lib/matplotlib/_cm.py @@ -6,9 +6,6 @@ with the purpose and type of your colormap if you add data for one here. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import numpy as np _binary_data = { diff --git a/lib/matplotlib/_constrained_layout.py b/lib/matplotlib/_constrained_layout.py index 1e943c8e5cd3..2faf40c3b6bc 100644 --- a/lib/matplotlib/_constrained_layout.py +++ b/lib/matplotlib/_constrained_layout.py @@ -45,9 +45,6 @@ # Todo: AnchoredOffsetbox connected to gridspecs or axes. This would # be more general way to add extra-axes annotations. -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import numpy as np import logging import warnings diff --git a/lib/matplotlib/_layoutbox.py b/lib/matplotlib/_layoutbox.py index d6d529f3db0c..a94d20243a60 100644 --- a/lib/matplotlib/_layoutbox.py +++ b/lib/matplotlib/_layoutbox.py @@ -15,9 +15,6 @@ """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import itertools import kiwisolver as kiwi import logging diff --git a/lib/matplotlib/artist.py b/lib/matplotlib/artist.py index 2d48bbb6ca9e..f26b8dcbb901 100644 --- a/lib/matplotlib/artist.py +++ b/lib/matplotlib/artist.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import six from collections import OrderedDict, namedtuple diff --git a/lib/matplotlib/axes/__init__.py b/lib/matplotlib/axes/__init__.py index 82c543891941..4dd998c0d43d 100644 --- a/lib/matplotlib/axes/__init__.py +++ b/lib/matplotlib/axes/__init__.py @@ -1,5 +1,2 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - from ._subplots import * from ._axes import * diff --git a/lib/matplotlib/backends/backend_agg.py b/lib/matplotlib/backends/backend_agg.py index bf4b85032a80..8010e18cf6be 100644 --- a/lib/matplotlib/backends/backend_agg.py +++ b/lib/matplotlib/backends/backend_agg.py @@ -19,9 +19,6 @@ * integrate screen dpi w/ ppi and text """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import six import threading diff --git a/lib/matplotlib/backends/backend_cairo.py b/lib/matplotlib/backends/backend_cairo.py index 8308aecbf1c4..3836281ad1c8 100644 --- a/lib/matplotlib/backends/backend_cairo.py +++ b/lib/matplotlib/backends/backend_cairo.py @@ -7,9 +7,6 @@ cairocffi, or (Python 2 only) on pycairo. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import six import gzip diff --git a/lib/matplotlib/backends/backend_macosx.py b/lib/matplotlib/backends/backend_macosx.py index b005cbf631dd..2ccc17cd3fca 100644 --- a/lib/matplotlib/backends/backend_macosx.py +++ b/lib/matplotlib/backends/backend_macosx.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import os from matplotlib._pylab_helpers import Gcf diff --git a/lib/matplotlib/backends/backend_ps.py b/lib/matplotlib/backends/backend_ps.py index 4025cb90a14d..255010836e11 100644 --- a/lib/matplotlib/backends/backend_ps.py +++ b/lib/matplotlib/backends/backend_ps.py @@ -1,10 +1,6 @@ """ A PostScript backend, which can produce both PostScript .ps and .eps """ - -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import six from six.moves import StringIO diff --git a/lib/matplotlib/backends/backend_svg.py b/lib/matplotlib/backends/backend_svg.py index 3c8326905486..12a6c0733e73 100644 --- a/lib/matplotlib/backends/backend_svg.py +++ b/lib/matplotlib/backends/backend_svg.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - from collections import OrderedDict import six diff --git a/lib/matplotlib/backends/qt_editor/__init__.py b/lib/matplotlib/backends/qt_editor/__init__.py index 800d82e7ee00..e69de29bb2d1 100644 --- a/lib/matplotlib/backends/qt_editor/__init__.py +++ b/lib/matplotlib/backends/qt_editor/__init__.py @@ -1,2 +0,0 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) diff --git a/lib/matplotlib/backends/web_backend/nbagg_uat.ipynb b/lib/matplotlib/backends/web_backend/nbagg_uat.ipynb index dfb264c37591..8ac7434e53e1 100644 --- a/lib/matplotlib/backends/web_backend/nbagg_uat.ipynb +++ b/lib/matplotlib/backends/web_backend/nbagg_uat.ipynb @@ -8,7 +8,6 @@ }, "outputs": [], "source": [ - "from __future__ import print_function\n", "from imp import reload" ] }, diff --git a/lib/matplotlib/blocking_input.py b/lib/matplotlib/blocking_input.py index 090ffdb8647a..708ab7b1efa7 100644 --- a/lib/matplotlib/blocking_input.py +++ b/lib/matplotlib/blocking_input.py @@ -22,9 +22,6 @@ Note: Subclass of BlockingMouseInput. Used by clabel """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import six import matplotlib.lines as mlines diff --git a/lib/matplotlib/lines.py b/lib/matplotlib/lines.py index cc8c617542ae..cbf3120196b4 100644 --- a/lib/matplotlib/lines.py +++ b/lib/matplotlib/lines.py @@ -4,8 +4,6 @@ """ # TODO: expose cap and join style attrs -from __future__ import absolute_import, division, print_function - import six from numbers import Number diff --git a/lib/matplotlib/mlab.py b/lib/matplotlib/mlab.py index 2e8da380a699..36d05aa204a7 100644 --- a/lib/matplotlib/mlab.py +++ b/lib/matplotlib/mlab.py @@ -154,9 +154,6 @@ """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import six from six.moves import map, zip diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index 2e351faca95b..0b0b2708b394 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -1,5 +1,3 @@ -from __future__ import absolute_import, division, print_function - import six from six.moves import map, zip diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index 9bc3a69f3d18..801a46df98b8 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -13,8 +13,6 @@ parameter set listed here should also be visited to the :file:`matplotlibrc.template` in matplotlib's root source directory. """ -from __future__ import absolute_import, division, print_function - import six from collections import Iterable, Mapping diff --git a/lib/matplotlib/sphinxext/__init__.py b/lib/matplotlib/sphinxext/__init__.py index 800d82e7ee00..e69de29bb2d1 100644 --- a/lib/matplotlib/sphinxext/__init__.py +++ b/lib/matplotlib/sphinxext/__init__.py @@ -1,2 +0,0 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) diff --git a/lib/matplotlib/sphinxext/plot_directive.py b/lib/matplotlib/sphinxext/plot_directive.py index fe5910a00230..c3536f02efe0 100644 --- a/lib/matplotlib/sphinxext/plot_directive.py +++ b/lib/matplotlib/sphinxext/plot_directive.py @@ -134,9 +134,6 @@ plot_template Provide a customized template for preparing restructured text. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import six from six.moves import xrange diff --git a/lib/matplotlib/sphinxext/tests/conftest.py b/lib/matplotlib/sphinxext/tests/conftest.py index 2971a4314146..81829c903c58 100644 --- a/lib/matplotlib/sphinxext/tests/conftest.py +++ b/lib/matplotlib/sphinxext/tests/conftest.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - from matplotlib.testing.conftest import (mpl_test_settings, mpl_image_comparison_parameters, pytest_configure, pytest_unconfigure) diff --git a/lib/matplotlib/stackplot.py b/lib/matplotlib/stackplot.py index 982200aab82a..eec654843aa4 100644 --- a/lib/matplotlib/stackplot.py +++ b/lib/matplotlib/stackplot.py @@ -6,9 +6,6 @@ (http://stackoverflow.com/users/66549/doug) """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import numpy as np __all__ = ['stackplot'] diff --git a/lib/matplotlib/style/__init__.py b/lib/matplotlib/style/__init__.py index cb0592f41e78..42d050d22cd0 100644 --- a/lib/matplotlib/style/__init__.py +++ b/lib/matplotlib/style/__init__.py @@ -1,3 +1 @@ -from __future__ import absolute_import - from .core import use, context, available, library, reload_library diff --git a/lib/matplotlib/testing/conftest.py b/lib/matplotlib/testing/conftest.py index 5f7cac230297..3d609f15d432 100644 --- a/lib/matplotlib/testing/conftest.py +++ b/lib/matplotlib/testing/conftest.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import pytest import matplotlib diff --git a/lib/matplotlib/tests/__init__.py b/lib/matplotlib/tests/__init__.py index 61261b57b6b0..9a4ca1e89fcf 100644 --- a/lib/matplotlib/tests/__init__.py +++ b/lib/matplotlib/tests/__init__.py @@ -1,5 +1,3 @@ -from __future__ import absolute_import, division, print_function - import six import difflib diff --git a/lib/matplotlib/tests/conftest.py b/lib/matplotlib/tests/conftest.py index c20d626ae2e1..722a7ff91484 100644 --- a/lib/matplotlib/tests/conftest.py +++ b/lib/matplotlib/tests/conftest.py @@ -1,5 +1,3 @@ -from __future__ import absolute_import, division, print_function - from matplotlib.testing.conftest import (mpl_test_settings, mpl_image_comparison_parameters, pytest_configure, pytest_unconfigure, diff --git a/lib/matplotlib/tests/test_agg.py b/lib/matplotlib/tests/test_agg.py index 6dca4468d32b..028291d18f86 100644 --- a/lib/matplotlib/tests/test_agg.py +++ b/lib/matplotlib/tests/test_agg.py @@ -1,5 +1,3 @@ -from __future__ import absolute_import, division, print_function - import io import numpy as np diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py index 73fadd6cf2c1..a6416954ca33 100644 --- a/lib/matplotlib/tests/test_arrow_patches.py +++ b/lib/matplotlib/tests/test_arrow_patches.py @@ -1,5 +1,3 @@ -from __future__ import absolute_import, division, print_function - import matplotlib.pyplot as plt from matplotlib.testing.decorators import image_comparison import matplotlib.patches as mpatches diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index af1ac50ebfd6..c30be22665e3 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -1,5 +1,3 @@ -from __future__ import absolute_import, division, print_function - import six from itertools import chain, product from distutils.version import LooseVersion diff --git a/lib/matplotlib/tests/test_backend_svg.py b/lib/matplotlib/tests/test_backend_svg.py index 0facf2abd18f..8d98759b5915 100644 --- a/lib/matplotlib/tests/test_backend_svg.py +++ b/lib/matplotlib/tests/test_backend_svg.py @@ -1,5 +1,3 @@ -from __future__ import absolute_import, division, print_function - import six import numpy as np diff --git a/lib/matplotlib/tests/test_basic.py b/lib/matplotlib/tests/test_basic.py index e514269a9847..2a5f7247dfa5 100644 --- a/lib/matplotlib/tests/test_basic.py +++ b/lib/matplotlib/tests/test_basic.py @@ -1,5 +1,3 @@ -from __future__ import absolute_import, division, print_function - import six import sys diff --git a/lib/matplotlib/tests/test_bbox_tight.py b/lib/matplotlib/tests/test_bbox_tight.py index 4f5942e90df2..14954271c054 100644 --- a/lib/matplotlib/tests/test_bbox_tight.py +++ b/lib/matplotlib/tests/test_bbox_tight.py @@ -1,5 +1,3 @@ -from __future__ import absolute_import, division, print_function - import numpy as np from matplotlib.testing.decorators import image_comparison diff --git a/lib/matplotlib/tests/test_category.py b/lib/matplotlib/tests/test_category.py index d93d39a13e2e..ee5d3ec7888d 100644 --- a/lib/matplotlib/tests/test_category.py +++ b/lib/matplotlib/tests/test_category.py @@ -1,6 +1,4 @@ """Catch all for categorical functions""" -from __future__ import absolute_import, division, print_function - import pytest import numpy as np diff --git a/lib/matplotlib/tests/test_cbook.py b/lib/matplotlib/tests/test_cbook.py index 6f022edec698..8f414ea63998 100644 --- a/lib/matplotlib/tests/test_cbook.py +++ b/lib/matplotlib/tests/test_cbook.py @@ -1,4 +1,3 @@ -from __future__ import absolute_import, division, print_function import itertools import pickle from weakref import ref diff --git a/lib/matplotlib/tests/test_collections.py b/lib/matplotlib/tests/test_collections.py index 73bea37a992e..659158f7c4cf 100644 --- a/lib/matplotlib/tests/test_collections.py +++ b/lib/matplotlib/tests/test_collections.py @@ -1,8 +1,6 @@ """ Tests specific to the collections module. """ -from __future__ import absolute_import, division, print_function - import io import numpy as np diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py index 299ed1eb5b19..fd5e379cd2d4 100644 --- a/lib/matplotlib/tests/test_colorbar.py +++ b/lib/matplotlib/tests/test_colorbar.py @@ -1,5 +1,3 @@ -from __future__ import absolute_import, division, print_function - import numpy as np import pytest diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py index 538268d56188..24160a8e664e 100644 --- a/lib/matplotlib/tests/test_constrainedlayout.py +++ b/lib/matplotlib/tests/test_constrainedlayout.py @@ -1,10 +1,6 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import six import warnings - import numpy as np import pytest diff --git a/lib/matplotlib/tests/test_container.py b/lib/matplotlib/tests/test_container.py index 2e1b24d4e424..b035589f6ae0 100644 --- a/lib/matplotlib/tests/test_container.py +++ b/lib/matplotlib/tests/test_container.py @@ -1,5 +1,3 @@ -from __future__ import absolute_import, division, print_function - import six import matplotlib.pyplot as plt diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py index afea321c8b1a..7c451ca16c77 100644 --- a/lib/matplotlib/tests/test_contour.py +++ b/lib/matplotlib/tests/test_contour.py @@ -1,5 +1,3 @@ -from __future__ import absolute_import, division, print_function - import datetime import numpy as np diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py index be055ae43f78..d0079012a5e6 100644 --- a/lib/matplotlib/tests/test_figure.py +++ b/lib/matplotlib/tests/test_figure.py @@ -1,5 +1,3 @@ -from __future__ import absolute_import, division, print_function - import sys import warnings diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py index ca9c8187c519..c0f4665fc1e8 100644 --- a/lib/matplotlib/tests/test_lines.py +++ b/lib/matplotlib/tests/test_lines.py @@ -1,8 +1,6 @@ """ Tests specific to the lines module. """ -from __future__ import absolute_import, division, print_function - import itertools import matplotlib.lines as mlines import pytest diff --git a/lib/matplotlib/tests/test_mathtext.py b/lib/matplotlib/tests/test_mathtext.py index 58a0af8c72ef..5c1343b28718 100644 --- a/lib/matplotlib/tests/test_mathtext.py +++ b/lib/matplotlib/tests/test_mathtext.py @@ -1,5 +1,3 @@ -from __future__ import absolute_import, division, print_function - import six import io diff --git a/lib/matplotlib/tests/test_mlab.py b/lib/matplotlib/tests/test_mlab.py index cd432f713b6c..69a2c39bdfeb 100644 --- a/lib/matplotlib/tests/test_mlab.py +++ b/lib/matplotlib/tests/test_mlab.py @@ -1,5 +1,3 @@ -from __future__ import absolute_import, division, print_function - import six import tempfile diff --git a/lib/matplotlib/tests/test_offsetbox.py b/lib/matplotlib/tests/test_offsetbox.py index 66b21a7860dd..8315701bf9b9 100644 --- a/lib/matplotlib/tests/test_offsetbox.py +++ b/lib/matplotlib/tests/test_offsetbox.py @@ -1,5 +1,3 @@ -from __future__ import absolute_import, division, print_function - import pytest from matplotlib.testing.decorators import image_comparison import matplotlib.pyplot as plt diff --git a/lib/matplotlib/tests/test_patches.py b/lib/matplotlib/tests/test_patches.py index ff1abb9c64f4..713fd144d898 100644 --- a/lib/matplotlib/tests/test_patches.py +++ b/lib/matplotlib/tests/test_patches.py @@ -1,8 +1,6 @@ """ Tests specific to the patches module. """ -from __future__ import absolute_import, division, print_function - import six import numpy as np diff --git a/lib/matplotlib/tests/test_path.py b/lib/matplotlib/tests/test_path.py index 5bc499713ecc..bb4c3eb38bbf 100644 --- a/lib/matplotlib/tests/test_path.py +++ b/lib/matplotlib/tests/test_path.py @@ -1,4 +1,3 @@ -from __future__ import absolute_import, division, print_function import copy import numpy as np diff --git a/lib/matplotlib/tests/test_patheffects.py b/lib/matplotlib/tests/test_patheffects.py index fe7265957d26..9e547b03e05b 100644 --- a/lib/matplotlib/tests/test_patheffects.py +++ b/lib/matplotlib/tests/test_patheffects.py @@ -1,5 +1,3 @@ -from __future__ import absolute_import, division, print_function - import numpy as np import pytest diff --git a/lib/matplotlib/tests/test_pickle.py b/lib/matplotlib/tests/test_pickle.py index 337ac734c84e..e9240a118f9f 100644 --- a/lib/matplotlib/tests/test_pickle.py +++ b/lib/matplotlib/tests/test_pickle.py @@ -1,5 +1,3 @@ -from __future__ import absolute_import, division, print_function - from six.moves import cPickle as pickle from six.moves import range diff --git a/lib/matplotlib/tests/test_png.py b/lib/matplotlib/tests/test_png.py index b439dbe85aae..46bfae9891d5 100644 --- a/lib/matplotlib/tests/test_png.py +++ b/lib/matplotlib/tests/test_png.py @@ -1,5 +1,3 @@ -from __future__ import absolute_import, division, print_function - import six from six import BytesIO import glob diff --git a/lib/matplotlib/tests/test_preprocess_data.py b/lib/matplotlib/tests/test_preprocess_data.py index 2f14d85a4c42..7f36447340ba 100644 --- a/lib/matplotlib/tests/test_preprocess_data.py +++ b/lib/matplotlib/tests/test_preprocess_data.py @@ -1,5 +1,3 @@ -from __future__ import (absolute_import, division, print_function) - import re import numpy as np diff --git a/lib/matplotlib/tests/test_quiver.py b/lib/matplotlib/tests/test_quiver.py index a0e1e674f4ca..4470e02fac8c 100644 --- a/lib/matplotlib/tests/test_quiver.py +++ b/lib/matplotlib/tests/test_quiver.py @@ -1,4 +1,3 @@ -from __future__ import print_function import warnings import numpy as np import pytest diff --git a/lib/matplotlib/tests/test_sankey.py b/lib/matplotlib/tests/test_sankey.py index 7c8822c70df4..725c066fd85e 100644 --- a/lib/matplotlib/tests/test_sankey.py +++ b/lib/matplotlib/tests/test_sankey.py @@ -1,5 +1,3 @@ -from __future__ import absolute_import, division, print_function - from matplotlib.sankey import Sankey diff --git a/lib/matplotlib/tests/test_scale.py b/lib/matplotlib/tests/test_scale.py index 8f3e80e04df6..1f24f02f4611 100644 --- a/lib/matplotlib/tests/test_scale.py +++ b/lib/matplotlib/tests/test_scale.py @@ -1,5 +1,3 @@ -from __future__ import print_function, unicode_literals - from matplotlib.testing.decorators import image_comparison import matplotlib.pyplot as plt from matplotlib.scale import Log10Transform, InvertedLog10Transform diff --git a/lib/matplotlib/tests/test_skew.py b/lib/matplotlib/tests/test_skew.py index 5cb656374ab4..7a4b62fa4c96 100644 --- a/lib/matplotlib/tests/test_skew.py +++ b/lib/matplotlib/tests/test_skew.py @@ -1,8 +1,6 @@ """ Testing that skewed axes properly work """ -from __future__ import absolute_import, division, print_function - import itertools import matplotlib.pyplot as plt diff --git a/lib/matplotlib/tests/test_spines.py b/lib/matplotlib/tests/test_spines.py index f1b486b9b723..2552013987ce 100644 --- a/lib/matplotlib/tests/test_spines.py +++ b/lib/matplotlib/tests/test_spines.py @@ -1,5 +1,3 @@ -from __future__ import absolute_import, division, print_function - import numpy as np import matplotlib.pyplot as plt diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py index e526f8b80ae7..47c5d15682a4 100644 --- a/lib/matplotlib/tests/test_streamplot.py +++ b/lib/matplotlib/tests/test_streamplot.py @@ -1,5 +1,3 @@ -from __future__ import absolute_import, division, print_function - import sys import numpy as np diff --git a/lib/matplotlib/tests/test_style.py b/lib/matplotlib/tests/test_style.py index 82a659aa1b35..290f51f91c54 100644 --- a/lib/matplotlib/tests/test_style.py +++ b/lib/matplotlib/tests/test_style.py @@ -1,5 +1,3 @@ -from __future__ import absolute_import, division, print_function - from collections import OrderedDict from contextlib import contextmanager import gc diff --git a/lib/matplotlib/tests/test_table.py b/lib/matplotlib/tests/test_table.py index d458d071b419..3b452216eca2 100644 --- a/lib/matplotlib/tests/test_table.py +++ b/lib/matplotlib/tests/test_table.py @@ -1,5 +1,3 @@ -from __future__ import absolute_import, division, print_function - import six import matplotlib.pyplot as plt diff --git a/lib/matplotlib/tests/test_texmanager.py b/lib/matplotlib/tests/test_texmanager.py index 63dae2c4bd88..4ddbeaf2547c 100644 --- a/lib/matplotlib/tests/test_texmanager.py +++ b/lib/matplotlib/tests/test_texmanager.py @@ -1,5 +1,3 @@ -from __future__ import absolute_import, division, print_function - import matplotlib.pyplot as plt from matplotlib.texmanager import TexManager diff --git a/lib/matplotlib/tests/test_text.py b/lib/matplotlib/tests/test_text.py index 04013d3550f2..b756fb708041 100644 --- a/lib/matplotlib/tests/test_text.py +++ b/lib/matplotlib/tests/test_text.py @@ -1,5 +1,3 @@ -from __future__ import absolute_import, division, print_function - import six import io diff --git a/lib/matplotlib/tests/test_tightlayout.py b/lib/matplotlib/tests/test_tightlayout.py index 0516971d2d9c..887f7a4c9418 100644 --- a/lib/matplotlib/tests/test_tightlayout.py +++ b/lib/matplotlib/tests/test_tightlayout.py @@ -1,5 +1,3 @@ -from __future__ import absolute_import, division, print_function - import six import warnings diff --git a/lib/matplotlib/tests/test_transforms.py b/lib/matplotlib/tests/test_transforms.py index 06985db84b89..83fd0b51780e 100644 --- a/lib/matplotlib/tests/test_transforms.py +++ b/lib/matplotlib/tests/test_transforms.py @@ -1,5 +1,3 @@ -from __future__ import absolute_import, division, print_function - from six.moves import zip import unittest diff --git a/lib/matplotlib/tests/test_triangulation.py b/lib/matplotlib/tests/test_triangulation.py index 68ddd9927a26..115df141608c 100644 --- a/lib/matplotlib/tests/test_triangulation.py +++ b/lib/matplotlib/tests/test_triangulation.py @@ -1,5 +1,3 @@ -from __future__ import absolute_import, division, print_function - import numpy as np import matplotlib.pyplot as plt import matplotlib.tri as mtri diff --git a/lib/matplotlib/tests/test_ttconv.py b/lib/matplotlib/tests/test_ttconv.py index de4c579d9033..083de831b430 100644 --- a/lib/matplotlib/tests/test_ttconv.py +++ b/lib/matplotlib/tests/test_ttconv.py @@ -1,5 +1,3 @@ -from __future__ import absolute_import, division, print_function - import six import matplotlib diff --git a/lib/matplotlib/tests/test_type1font.py b/lib/matplotlib/tests/test_type1font.py index 2f1f45240bba..2457c44b9e0f 100644 --- a/lib/matplotlib/tests/test_type1font.py +++ b/lib/matplotlib/tests/test_type1font.py @@ -1,5 +1,3 @@ -from __future__ import absolute_import, division, print_function - import six import matplotlib.type1font as t1f diff --git a/lib/matplotlib/tests/test_usetex.py b/lib/matplotlib/tests/test_usetex.py index 5d6a939e8a1a..ebdb6a726de4 100644 --- a/lib/matplotlib/tests/test_usetex.py +++ b/lib/matplotlib/tests/test_usetex.py @@ -1,5 +1,3 @@ -from __future__ import absolute_import, division, print_function - import pytest import matplotlib diff --git a/lib/matplotlib/ticker.py b/lib/matplotlib/ticker.py index 41b1c88d9bec..29102097d7b1 100644 --- a/lib/matplotlib/ticker.py +++ b/lib/matplotlib/ticker.py @@ -164,9 +164,6 @@ module for more information and examples of using date locators and formatters. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import six import itertools diff --git a/lib/matplotlib/type1font.py b/lib/matplotlib/type1font.py index 62d316390d9c..f3c614e2d120 100644 --- a/lib/matplotlib/type1font.py +++ b/lib/matplotlib/type1font.py @@ -22,9 +22,6 @@ v1.1, 1993. ISBN 0-201-57044-0. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import six import binascii diff --git a/lib/mpl_toolkits/axes_grid/__init__.py b/lib/mpl_toolkits/axes_grid/__init__.py index c10e89bd62b7..ec0d07d30beb 100644 --- a/lib/mpl_toolkits/axes_grid/__init__.py +++ b/lib/mpl_toolkits/axes_grid/__init__.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - from . import axes_size as Size from .axes_divider import Divider, SubplotDivider, LocatableAxes, \ make_axes_locatable diff --git a/lib/mpl_toolkits/axes_grid/anchored_artists.py b/lib/mpl_toolkits/axes_grid/anchored_artists.py index 14b661497d8a..f486805d98c6 100644 --- a/lib/mpl_toolkits/axes_grid/anchored_artists.py +++ b/lib/mpl_toolkits/axes_grid/anchored_artists.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - from matplotlib.offsetbox import AnchoredOffsetbox, AuxTransformBox, VPacker,\ TextArea, AnchoredText, DrawingArea, AnnotationBbox diff --git a/lib/mpl_toolkits/axes_grid/angle_helper.py b/lib/mpl_toolkits/axes_grid/angle_helper.py index f0f877d91364..fa14e7f5897b 100644 --- a/lib/mpl_toolkits/axes_grid/angle_helper.py +++ b/lib/mpl_toolkits/axes_grid/angle_helper.py @@ -1,4 +1 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - from mpl_toolkits.axisartist.angle_helper import * diff --git a/lib/mpl_toolkits/axes_grid/axes_divider.py b/lib/mpl_toolkits/axes_grid/axes_divider.py index 25694ecf5ec4..134902bdcb9e 100644 --- a/lib/mpl_toolkits/axes_grid/axes_divider.py +++ b/lib/mpl_toolkits/axes_grid/axes_divider.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - from mpl_toolkits.axes_grid1.axes_divider import Divider, AxesLocator, SubplotDivider, \ AxesDivider, locatable_axes_factory, make_axes_locatable diff --git a/lib/mpl_toolkits/axes_grid/axes_rgb.py b/lib/mpl_toolkits/axes_grid/axes_rgb.py index bfd4bb98ad78..4112b0c82bae 100644 --- a/lib/mpl_toolkits/axes_grid/axes_rgb.py +++ b/lib/mpl_toolkits/axes_grid/axes_rgb.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - #from mpl_toolkits.axes_grid1.axes_rgb import * from mpl_toolkits.axes_grid1.axes_rgb import make_rgb_axes, imshow_rgb, RGBAxesBase diff --git a/lib/mpl_toolkits/axes_grid/axes_size.py b/lib/mpl_toolkits/axes_grid/axes_size.py index 998b5e3c8711..742f7fe6347c 100644 --- a/lib/mpl_toolkits/axes_grid/axes_size.py +++ b/lib/mpl_toolkits/axes_grid/axes_size.py @@ -1,4 +1 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - from mpl_toolkits.axes_grid1.axes_size import * diff --git a/lib/mpl_toolkits/axes_grid/axis_artist.py b/lib/mpl_toolkits/axes_grid/axis_artist.py index 92f0538cebaa..11180b10bfef 100644 --- a/lib/mpl_toolkits/axes_grid/axis_artist.py +++ b/lib/mpl_toolkits/axes_grid/axis_artist.py @@ -1,4 +1 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - from mpl_toolkits.axisartist.axis_artist import * diff --git a/lib/mpl_toolkits/axes_grid/axisline_style.py b/lib/mpl_toolkits/axes_grid/axisline_style.py index 2eef3b8b344d..0c846e22afa0 100644 --- a/lib/mpl_toolkits/axes_grid/axisline_style.py +++ b/lib/mpl_toolkits/axes_grid/axisline_style.py @@ -1,4 +1 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - from mpl_toolkits.axisartist.axisline_style import * diff --git a/lib/mpl_toolkits/axes_grid/axislines.py b/lib/mpl_toolkits/axes_grid/axislines.py index 9653aa17020e..a8ceb9cc28ad 100644 --- a/lib/mpl_toolkits/axes_grid/axislines.py +++ b/lib/mpl_toolkits/axes_grid/axislines.py @@ -1,4 +1 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - from mpl_toolkits.axisartist.axislines import * diff --git a/lib/mpl_toolkits/axes_grid/clip_path.py b/lib/mpl_toolkits/axes_grid/clip_path.py index bafe568fb1a8..5b92d9ae57f6 100644 --- a/lib/mpl_toolkits/axes_grid/clip_path.py +++ b/lib/mpl_toolkits/axes_grid/clip_path.py @@ -1,4 +1 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - from mpl_toolkits.axisartist.clip_path import * diff --git a/lib/mpl_toolkits/axes_grid/floating_axes.py b/lib/mpl_toolkits/axes_grid/floating_axes.py index 3f30d57c3a85..de8ebb7367be 100644 --- a/lib/mpl_toolkits/axes_grid/floating_axes.py +++ b/lib/mpl_toolkits/axes_grid/floating_axes.py @@ -1,4 +1 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - from mpl_toolkits.axisartist.floating_axes import * diff --git a/lib/mpl_toolkits/axes_grid/grid_finder.py b/lib/mpl_toolkits/axes_grid/grid_finder.py index ffa3db76cf88..6cdec87a7f40 100644 --- a/lib/mpl_toolkits/axes_grid/grid_finder.py +++ b/lib/mpl_toolkits/axes_grid/grid_finder.py @@ -1,4 +1 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - from mpl_toolkits.axisartist.grid_finder import * diff --git a/lib/mpl_toolkits/axes_grid/grid_helper_curvelinear.py b/lib/mpl_toolkits/axes_grid/grid_helper_curvelinear.py index 325ddd6af22b..ebb3edf139f5 100644 --- a/lib/mpl_toolkits/axes_grid/grid_helper_curvelinear.py +++ b/lib/mpl_toolkits/axes_grid/grid_helper_curvelinear.py @@ -1,4 +1 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - from mpl_toolkits.axisartist.grid_helper_curvelinear import * diff --git a/lib/mpl_toolkits/axes_grid/inset_locator.py b/lib/mpl_toolkits/axes_grid/inset_locator.py index a9ed77beda32..9d656e6edaf7 100644 --- a/lib/mpl_toolkits/axes_grid/inset_locator.py +++ b/lib/mpl_toolkits/axes_grid/inset_locator.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - from mpl_toolkits.axes_grid1.inset_locator import InsetPosition, \ AnchoredSizeLocator, \ AnchoredZoomLocator, BboxPatch, BboxConnector, BboxConnectorPatch, \ diff --git a/lib/mpl_toolkits/axes_grid/parasite_axes.py b/lib/mpl_toolkits/axes_grid/parasite_axes.py index cad56e43a229..91fcd1f21de1 100644 --- a/lib/mpl_toolkits/axes_grid/parasite_axes.py +++ b/lib/mpl_toolkits/axes_grid/parasite_axes.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - from mpl_toolkits.axes_grid1.parasite_axes import ( host_axes_class_factory, parasite_axes_class_factory, parasite_axes_auxtrans_class_factory, subplot_class_factory) diff --git a/lib/mpl_toolkits/axes_grid1/__init__.py b/lib/mpl_toolkits/axes_grid1/__init__.py index 3e225ba9f0cd..6750e13c174d 100644 --- a/lib/mpl_toolkits/axes_grid1/__init__.py +++ b/lib/mpl_toolkits/axes_grid1/__init__.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import six from . import axes_size as Size diff --git a/lib/mpl_toolkits/axes_grid1/anchored_artists.py b/lib/mpl_toolkits/axes_grid1/anchored_artists.py index 3291e7cb7717..c5e3da769704 100644 --- a/lib/mpl_toolkits/axes_grid1/anchored_artists.py +++ b/lib/mpl_toolkits/axes_grid1/anchored_artists.py @@ -1,5 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) import six from matplotlib import docstring diff --git a/lib/mpl_toolkits/axes_grid1/axes_divider.py b/lib/mpl_toolkits/axes_grid1/axes_divider.py index 62050e5b4b5f..fa6f07a74332 100644 --- a/lib/mpl_toolkits/axes_grid1/axes_divider.py +++ b/lib/mpl_toolkits/axes_grid1/axes_divider.py @@ -10,9 +10,6 @@ object that can be used to set the axes_locator of the axes. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import six from six.moves import map diff --git a/lib/mpl_toolkits/axes_grid1/axes_grid.py b/lib/mpl_toolkits/axes_grid1/axes_grid.py index c31a9471dc49..454fc9601068 100644 --- a/lib/mpl_toolkits/axes_grid1/axes_grid.py +++ b/lib/mpl_toolkits/axes_grid1/axes_grid.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import six from numbers import Number diff --git a/lib/mpl_toolkits/axes_grid1/axes_rgb.py b/lib/mpl_toolkits/axes_grid1/axes_rgb.py index 6eb96bb79ee4..fff6170d388e 100644 --- a/lib/mpl_toolkits/axes_grid1/axes_rgb.py +++ b/lib/mpl_toolkits/axes_grid1/axes_rgb.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import six import numpy as np diff --git a/lib/mpl_toolkits/axes_grid1/axes_size.py b/lib/mpl_toolkits/axes_grid1/axes_size.py index 0c91a2a9753b..07e30c82dae1 100644 --- a/lib/mpl_toolkits/axes_grid1/axes_size.py +++ b/lib/mpl_toolkits/axes_grid1/axes_size.py @@ -10,9 +10,6 @@ class (or others) to determine the size of each axes. The unit values are used. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import six from numbers import Number diff --git a/lib/mpl_toolkits/axes_grid1/colorbar.py b/lib/mpl_toolkits/axes_grid1/colorbar.py index a9e0361f6780..65dc20c78d1b 100644 --- a/lib/mpl_toolkits/axes_grid1/colorbar.py +++ b/lib/mpl_toolkits/axes_grid1/colorbar.py @@ -18,9 +18,6 @@ is a thin wrapper over :meth:`~matplotlib.figure.Figure.colorbar`. ''' -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import six from six.moves import xrange, zip diff --git a/lib/mpl_toolkits/axes_grid1/inset_locator.py b/lib/mpl_toolkits/axes_grid1/inset_locator.py index c7bbdd6b185e..b1b8bc57cc21 100644 --- a/lib/mpl_toolkits/axes_grid1/inset_locator.py +++ b/lib/mpl_toolkits/axes_grid1/inset_locator.py @@ -1,9 +1,6 @@ """ A collection of functions and objects for creating or placing inset axes. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - from matplotlib import docstring import six from matplotlib.offsetbox import AnchoredOffsetbox diff --git a/lib/mpl_toolkits/axes_grid1/mpl_axes.py b/lib/mpl_toolkits/axes_grid1/mpl_axes.py index 337865b4ad61..ab473b035c0e 100644 --- a/lib/mpl_toolkits/axes_grid1/mpl_axes.py +++ b/lib/mpl_toolkits/axes_grid1/mpl_axes.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import six import matplotlib.axes as maxes diff --git a/lib/mpl_toolkits/axes_grid1/parasite_axes.py b/lib/mpl_toolkits/axes_grid1/parasite_axes.py index c6fe7e57e18d..fcc3fd2a93b2 100644 --- a/lib/mpl_toolkits/axes_grid1/parasite_axes.py +++ b/lib/mpl_toolkits/axes_grid1/parasite_axes.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import six from matplotlib import ( diff --git a/lib/mpl_toolkits/axisartist/__init__.py b/lib/mpl_toolkits/axisartist/__init__.py index 8431c0cd3ee5..12c4ec6f95bd 100644 --- a/lib/mpl_toolkits/axisartist/__init__.py +++ b/lib/mpl_toolkits/axisartist/__init__.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import six from .axislines import ( diff --git a/lib/mpl_toolkits/axisartist/angle_helper.py b/lib/mpl_toolkits/axisartist/angle_helper.py index 34ac6cfe4021..135785271b09 100644 --- a/lib/mpl_toolkits/axisartist/angle_helper.py +++ b/lib/mpl_toolkits/axisartist/angle_helper.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import six import numpy as np diff --git a/lib/mpl_toolkits/axisartist/axes_divider.py b/lib/mpl_toolkits/axisartist/axes_divider.py index 52949405302b..abc6556336fc 100644 --- a/lib/mpl_toolkits/axisartist/axes_divider.py +++ b/lib/mpl_toolkits/axisartist/axes_divider.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - from mpl_toolkits.axes_grid1.axes_divider import ( Divider, AxesLocator, SubplotDivider, AxesDivider, locatable_axes_factory, make_axes_locatable) diff --git a/lib/mpl_toolkits/axisartist/axes_rgb.py b/lib/mpl_toolkits/axisartist/axes_rgb.py index 695a362b57de..566ce931dadc 100644 --- a/lib/mpl_toolkits/axisartist/axes_rgb.py +++ b/lib/mpl_toolkits/axisartist/axes_rgb.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - from mpl_toolkits.axes_grid1.axes_rgb import ( make_rgb_axes, imshow_rgb, RGBAxesBase) diff --git a/lib/mpl_toolkits/axisartist/axis_artist.py b/lib/mpl_toolkits/axisartist/axis_artist.py index a7a0d7889f50..e67036bc2a5c 100644 --- a/lib/mpl_toolkits/axisartist/axis_artist.py +++ b/lib/mpl_toolkits/axisartist/axis_artist.py @@ -83,9 +83,6 @@ * AxisLabel : pad """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import six # FIXME : diff --git a/lib/mpl_toolkits/axisartist/axisline_style.py b/lib/mpl_toolkits/axisartist/axisline_style.py index 48ceb76dfe41..38a00be95f7e 100644 --- a/lib/mpl_toolkits/axisartist/axisline_style.py +++ b/lib/mpl_toolkits/axisartist/axisline_style.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import six from matplotlib.patches import _Style, FancyArrowPatch diff --git a/lib/mpl_toolkits/axisartist/axislines.py b/lib/mpl_toolkits/axisartist/axislines.py index f1a6e0ea36f0..abd47d42bb06 100644 --- a/lib/mpl_toolkits/axisartist/axislines.py +++ b/lib/mpl_toolkits/axisartist/axislines.py @@ -41,9 +41,6 @@ from the axis as some gridlines can never pass any axis. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import six import warnings diff --git a/lib/mpl_toolkits/axisartist/clip_path.py b/lib/mpl_toolkits/axisartist/clip_path.py index 807f5d15f7c7..57e961d7b2df 100644 --- a/lib/mpl_toolkits/axisartist/clip_path.py +++ b/lib/mpl_toolkits/axisartist/clip_path.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import six from six.moves import zip diff --git a/lib/mpl_toolkits/axisartist/floating_axes.py b/lib/mpl_toolkits/axisartist/floating_axes.py index 59b6ce55bf8c..dbe1d700e924 100644 --- a/lib/mpl_toolkits/axisartist/floating_axes.py +++ b/lib/mpl_toolkits/axisartist/floating_axes.py @@ -1,9 +1,6 @@ """ An experimental support for curvilinear grid. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import six from six.moves import zip diff --git a/lib/mpl_toolkits/axisartist/grid_finder.py b/lib/mpl_toolkits/axisartist/grid_finder.py index ea76ca22f6ec..cd74a2e61004 100644 --- a/lib/mpl_toolkits/axisartist/grid_finder.py +++ b/lib/mpl_toolkits/axisartist/grid_finder.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import six import numpy as np diff --git a/lib/mpl_toolkits/axisartist/grid_helper_curvelinear.py b/lib/mpl_toolkits/axisartist/grid_helper_curvelinear.py index 3c15dd383fc1..c0bd303e9a69 100644 --- a/lib/mpl_toolkits/axisartist/grid_helper_curvelinear.py +++ b/lib/mpl_toolkits/axisartist/grid_helper_curvelinear.py @@ -1,9 +1,6 @@ """ An experimental support for curvilinear grid. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import six from six.moves import zip diff --git a/lib/mpl_toolkits/axisartist/parasite_axes.py b/lib/mpl_toolkits/axisartist/parasite_axes.py index cad56e43a229..91fcd1f21de1 100644 --- a/lib/mpl_toolkits/axisartist/parasite_axes.py +++ b/lib/mpl_toolkits/axisartist/parasite_axes.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - from mpl_toolkits.axes_grid1.parasite_axes import ( host_axes_class_factory, parasite_axes_class_factory, parasite_axes_auxtrans_class_factory, subplot_class_factory) diff --git a/lib/mpl_toolkits/mplot3d/__init__.py b/lib/mpl_toolkits/mplot3d/__init__.py index cd9c2139d277..86ea3faffb3e 100644 --- a/lib/mpl_toolkits/mplot3d/__init__.py +++ b/lib/mpl_toolkits/mplot3d/__init__.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import six from .axes3d import Axes3D diff --git a/lib/mpl_toolkits/mplot3d/axes3d.py b/lib/mpl_toolkits/mplot3d/axes3d.py index df62cb6464e7..ab754ce7bf79 100644 --- a/lib/mpl_toolkits/mplot3d/axes3d.py +++ b/lib/mpl_toolkits/mplot3d/axes3d.py @@ -9,9 +9,6 @@ Module containing Axes3D, an object which can plot 3D objects on a 2D matplotlib figure. """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import six from six.moves import map, zip, reduce diff --git a/lib/mpl_toolkits/mplot3d/axis3d.py b/lib/mpl_toolkits/mplot3d/axis3d.py index f01d0a13e62d..8a431c1a0854 100644 --- a/lib/mpl_toolkits/mplot3d/axis3d.py +++ b/lib/mpl_toolkits/mplot3d/axis3d.py @@ -2,9 +2,6 @@ # Created: 23 Sep 2005 # Parts rewritten by Reinier Heeres <reinier@heeres.eu> -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import six import copy diff --git a/lib/mpl_toolkits/mplot3d/proj3d.py b/lib/mpl_toolkits/mplot3d/proj3d.py index a084e7f36a42..404b52095cea 100644 --- a/lib/mpl_toolkits/mplot3d/proj3d.py +++ b/lib/mpl_toolkits/mplot3d/proj3d.py @@ -3,9 +3,6 @@ """ Various transforms used for by the 3D code """ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import six from six.moves import zip diff --git a/lib/mpl_toolkits/tests/__init__.py b/lib/mpl_toolkits/tests/__init__.py index 57fe8bcdcdbf..51167288ca81 100644 --- a/lib/mpl_toolkits/tests/__init__.py +++ b/lib/mpl_toolkits/tests/__init__.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import os diff --git a/lib/mpl_toolkits/tests/conftest.py b/lib/mpl_toolkits/tests/conftest.py index 2971a4314146..81829c903c58 100644 --- a/lib/mpl_toolkits/tests/conftest.py +++ b/lib/mpl_toolkits/tests/conftest.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - from matplotlib.testing.conftest import (mpl_test_settings, mpl_image_comparison_parameters, pytest_configure, pytest_unconfigure) diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py index e5eef506461c..8838a7328e96 100644 --- a/lib/mpl_toolkits/tests/test_axes_grid1.py +++ b/lib/mpl_toolkits/tests/test_axes_grid1.py @@ -1,5 +1,3 @@ -from __future__ import absolute_import, division, print_function - import six import matplotlib diff --git a/lib/mpl_toolkits/tests/test_axisartist_angle_helper.py b/lib/mpl_toolkits/tests/test_axisartist_angle_helper.py index e0373bb6f926..f8e279b3fc7e 100644 --- a/lib/mpl_toolkits/tests/test_axisartist_angle_helper.py +++ b/lib/mpl_toolkits/tests/test_axisartist_angle_helper.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import re import numpy as np diff --git a/lib/mpl_toolkits/tests/test_axisartist_axis_artist.py b/lib/mpl_toolkits/tests/test_axisartist_axis_artist.py index 95b701a10c07..344683b356d3 100644 --- a/lib/mpl_toolkits/tests/test_axisartist_axis_artist.py +++ b/lib/mpl_toolkits/tests/test_axisartist_axis_artist.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import matplotlib.pyplot as plt from matplotlib.testing.decorators import image_comparison diff --git a/lib/mpl_toolkits/tests/test_axisartist_axislines.py b/lib/mpl_toolkits/tests/test_axisartist_axislines.py index de60672822cc..4a4b82cd2796 100644 --- a/lib/mpl_toolkits/tests/test_axisartist_axislines.py +++ b/lib/mpl_toolkits/tests/test_axisartist_axislines.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import numpy as np import matplotlib.pyplot as plt from matplotlib.testing.decorators import image_comparison diff --git a/lib/mpl_toolkits/tests/test_axisartist_clip_path.py b/lib/mpl_toolkits/tests/test_axisartist_clip_path.py index 7646806b2483..51b090daba4b 100644 --- a/lib/mpl_toolkits/tests/test_axisartist_clip_path.py +++ b/lib/mpl_toolkits/tests/test_axisartist_clip_path.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import six import numpy as np diff --git a/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py b/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py index b152d87bd05c..929c0368a04a 100644 --- a/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py +++ b/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import numpy as np import matplotlib.pyplot as plt diff --git a/lib/mpl_toolkits/tests/test_axisartist_grid_finder.py b/lib/mpl_toolkits/tests/test_axisartist_grid_finder.py index 5305060366a5..3a0913c003f2 100644 --- a/lib/mpl_toolkits/tests/test_axisartist_grid_finder.py +++ b/lib/mpl_toolkits/tests/test_axisartist_grid_finder.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - from mpl_toolkits.axisartist.grid_finder import ( FormatterPrettyPrint, MaxNLocator) diff --git a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py index eb25f10c0a6d..e3339c2185d2 100644 --- a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py +++ b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, print_function, - unicode_literals) - import numpy as np import matplotlib.pyplot as plt diff --git a/setup.py b/setup.py index ee65057a85af..0f21795ff23b 100644 --- a/setup.py +++ b/setup.py @@ -6,7 +6,6 @@ # NOTE: This file must remain Python 2 compatible for the foreseeable future, # to ensure that we error out properly for people with outdated setuptools # and/or pip. -from __future__ import print_function, absolute_import from string import Template from setuptools import setup from setuptools.command.test import test as TestCommand diff --git a/setup_external_compile.py b/setup_external_compile.py index 526326d85078..c7a59515c9f0 100644 --- a/setup_external_compile.py +++ b/setup_external_compile.py @@ -19,7 +19,6 @@ - VS 2010, 64 bit -- Windows SDK v7.1 """ -from __future__ import print_function, absolute_import import sys import platform import os diff --git a/tools/gh_api.py b/tools/gh_api.py index 72b59d544c44..f5b7f9128765 100644 --- a/tools/gh_api.py +++ b/tools/gh_api.py @@ -1,5 +1,4 @@ """Functions for Github API requests.""" -from __future__ import print_function try: input = raw_input diff --git a/tools/github_stats.py b/tools/github_stats.py index df49808a9b99..a31c45cfb889 100755 --- a/tools/github_stats.py +++ b/tools/github_stats.py @@ -9,8 +9,6 @@ # Imports #----------------------------------------------------------------------------- -from __future__ import print_function - import codecs import sys diff --git a/tools/subset.py b/tools/subset.py index 53287132a2ed..04452a7bde01 100644 --- a/tools/subset.py +++ b/tools/subset.py @@ -23,7 +23,6 @@ # TODO 2013-04-08 ensure the menu files are as compact as possible by default, similar to subset.pl # TODO 2013-05-22 in Arimo, the latin subset doesn't include ; but the greek does. why on earth is this happening? -from __future__ import print_function import getopt import os diff --git a/unit/ellipse_large.py b/unit/ellipse_large.py index ed03310ca85b..b597e636fa37 100644 --- a/unit/ellipse_large.py +++ b/unit/ellipse_large.py @@ -4,7 +4,6 @@ # bound ellipses, it demonstrates how significant this error # is to our plots. -from __future__ import print_function import math from pylab import * from matplotlib.patches import Ellipse, Arc diff --git a/unit/legend_unit.py b/unit/legend_unit.py index 4cbfbe565b77..25280ddfb04a 100644 --- a/unit/legend_unit.py +++ b/unit/legend_unit.py @@ -1,4 +1,3 @@ -from __future__ import print_function from pylab import figure, show, np Ntests = 3 diff --git a/unit/longs_test.py b/unit/longs_test.py index ae8921e0cb18..b3d40214cdf5 100644 --- a/unit/longs_test.py +++ b/unit/longs_test.py @@ -1,8 +1,6 @@ #!/usr/bin/env python # try plotting very large numbers -from __future__ import print_function - from pylab import * x = arange(1000) + 2 ** 32 diff --git a/unit/memleak.py b/unit/memleak.py index 11db092e4006..ad712d41a334 100755 --- a/unit/memleak.py +++ b/unit/memleak.py @@ -1,7 +1,5 @@ #!/usr/bin/env python -from __future__ import print_function - import gc from io import BytesIO diff --git a/unit/mlab_unit.py b/unit/mlab_unit.py index ee5e6efa8e57..824969b49d97 100644 --- a/unit/mlab_unit.py +++ b/unit/mlab_unit.py @@ -1,4 +1,3 @@ -from __future__ import print_function import datetime import StringIO import unittest diff --git a/unit/threading_test.py b/unit/threading_test.py index cfa0d5f736d2..eba5380ad591 100755 --- a/unit/threading_test.py +++ b/unit/threading_test.py @@ -6,7 +6,6 @@ and solved by JDH in git commit 175e3ec5bed9144. """ -from __future__ import print_function import os import threading import traceback From 6fd7be096938356462e92478633d7b56c4b0de66 Mon Sep 17 00:00:00 2001 From: Mitar <mitar.github@tnode.com> Date: Sat, 28 Apr 2018 23:58:55 -0700 Subject: [PATCH 0583/1161] Use debug level for debugging messages. --- lib/matplotlib/font_manager.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/font_manager.py b/lib/matplotlib/font_manager.py index e29525d90e2c..d1e144683be8 100644 --- a/lib/matplotlib/font_manager.py +++ b/lib/matplotlib/font_manager.py @@ -951,7 +951,7 @@ def __init__(self, size=None, weight='normal'): paths.extend(ttfpath.split(':')) else: paths.append(ttfpath) - _log.info('font search path %s', str(paths)) + _log.debug('font search path %s', str(paths)) # Load TrueType fonts and create font dictionary. self.ttffiles = findSystemFonts(paths) + findSystemFonts() @@ -1327,7 +1327,7 @@ def _rebuild(): if _fmcache: with cbook._lock_path(_fmcache): json_dump(fontManager, _fmcache) - _log.info("generated new fontManager") + _log.debug("generated new fontManager") if _fmcache: try: From 916584b70af9985b700e7d026fcca93be69f591b Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sun, 29 Apr 2018 16:23:17 -0700 Subject: [PATCH 0584/1161] Remove toplevel unit/ directory. - Move `memleak.py` and `compare_backend_driver_result.py` to tools/. Removed some Py2 workarounds there. - `ellipse_large.py` currently fails with RuntimeError: adjustable='datalim' is not allowed when both axes are shared. IOW we're not even bothering keeping it up to date, so remove it. - `legend_unit.py` is basically covered by `test_legend.py`. - `longs_test.py` should be covered by `test_simplification.py::test_overflow`. - `mlab_unit.py` has never been ported to Py3 (`import StringIO`), and most of mlab is on its way out anyways, so remove it. - `threading_test.py` could be converted into a proper unit test but it would be a rather slow one (checking that there is no race condition by running a bunch of iterations) so I'd rather not do it unless it turns out we're reintroducing race conditions. --- .../compare_backend_driver_results.py | 0 {unit => tools}/memleak.py | 6 +- unit/ellipse_large.py | 139 ------------------ unit/legend_unit.py | 27 ---- unit/longs_test.py | 13 -- unit/mlab_unit.py | 82 ----------- unit/threading_test.py | 72 --------- 7 files changed, 1 insertion(+), 338 deletions(-) rename {unit => tools}/compare_backend_driver_results.py (100%) rename {unit => tools}/memleak.py (97%) delete mode 100644 unit/ellipse_large.py delete mode 100644 unit/legend_unit.py delete mode 100644 unit/longs_test.py delete mode 100644 unit/mlab_unit.py delete mode 100755 unit/threading_test.py diff --git a/unit/compare_backend_driver_results.py b/tools/compare_backend_driver_results.py similarity index 100% rename from unit/compare_backend_driver_results.py rename to tools/compare_backend_driver_results.py diff --git a/unit/memleak.py b/tools/memleak.py similarity index 97% rename from unit/memleak.py rename to tools/memleak.py index ad712d41a334..32af8d0d8176 100755 --- a/unit/memleak.py +++ b/tools/memleak.py @@ -2,11 +2,7 @@ import gc from io import BytesIO - -try: - import tracemalloc -except ImportError: - raise ImportError("This script requires Python 3.4 or later") +import tracemalloc try: import psutil diff --git a/unit/ellipse_large.py b/unit/ellipse_large.py deleted file mode 100644 index b597e636fa37..000000000000 --- a/unit/ellipse_large.py +++ /dev/null @@ -1,139 +0,0 @@ - -# This example can be boiled down to a more simplistic example -# to show the problem, but including the upper and lower -# bound ellipses, it demonstrates how significant this error -# is to our plots. - -import math -from pylab import * -from matplotlib.patches import Ellipse, Arc - -# given a point x, y -x = 2692.440 -y = 6720.850 - -# get is the radius of a circle through this point -r = math.sqrt(x * x + y * y) - -# show some comparative circles -delta = 6 - - -################################################## -def custom_ellipse(ax, x, y, major, minor, theta, numpoints=750, **kwargs): - xs = [] - ys = [] - incr = 2.0 * math.pi / numpoints - incrTheta = 0.0 - while incrTheta <= (2.0 * math.pi): - a = major * math.cos(incrTheta) - b = minor * math.sin(incrTheta) - l = math.sqrt((a ** 2) + (b ** 2)) - phi = math.atan2(b, a) - incrTheta += incr - - xs.append(x + (l * math.cos(theta + phi))) - ys.append(y + (l * math.sin(theta + phi))) - # end while - - incrTheta = 2.0 * math.pi - a = major * math.cos(incrTheta) - b = minor * math.sin(incrTheta) - l = sqrt((a ** 2) + (b ** 2)) - phi = math.atan2(b, a) - xs.append(x + (l * math.cos(theta + phi))) - ys.append(y + (l * math.sin(theta + phi))) - - ellipseLine = ax.plot(xs, ys, **kwargs) - - -################################################## -# make the axes -ax1 = subplot(311, aspect='equal') -ax1.set_aspect('equal', 'datalim') - -# make the lower-bound ellipse -diam = (r - delta) * 2.0 -lower_ellipse = Ellipse((0.0, 0.0), diam, diam, 0.0, fill=False, edgecolor="darkgreen") -ax1.add_patch(lower_ellipse) - -# make the target ellipse -diam = r * 2.0 -target_ellipse = Ellipse((0.0, 0.0), diam, diam, 0.0, fill=False, edgecolor="darkred") -ax1.add_patch(target_ellipse) - -# make the upper-bound ellipse -diam = (r + delta) * 2.0 -upper_ellipse = Ellipse((0.0, 0.0), diam, diam, 0.0, fill=False, edgecolor="darkblue") -ax1.add_patch(upper_ellipse) - -# make the target -diam = delta * 2.0 -target = Ellipse((x, y), diam, diam, 0.0, fill=False, edgecolor="#DD1208") -ax1.add_patch(target) - -# give it a big marker -ax1.plot([x], [y], marker='x', linestyle='None', mfc='red', mec='red', markersize=10) - -################################################## -# make the axes -ax = subplot(312, aspect='equal', sharex=ax1, sharey=ax1) -ax.set_aspect('equal', 'datalim') - -# make the lower-bound arc -diam = (r - delta) * 2.0 -lower_arc = Arc((0.0, 0.0), diam, diam, 0.0, fill=False, edgecolor="darkgreen") -ax.add_patch(lower_arc) - -# make the target arc -diam = r * 2.0 -target_arc = Arc((0.0, 0.0), diam, diam, 0.0, fill=False, edgecolor="darkred") -ax.add_patch(target_arc) - -# make the upper-bound arc -diam = (r + delta) * 2.0 -upper_arc = Arc((0.0, 0.0), diam, diam, 0.0, fill=False, edgecolor="darkblue") -ax.add_patch(upper_arc) - -# make the target -diam = delta * 2.0 -target = Arc((x, y), diam, diam, 0.0, fill=False, edgecolor="#DD1208") -ax.add_patch(target) - -# give it a big marker -ax.plot([x], [y], marker='x', linestyle='None', mfc='red', mec='red', markersize=10) - -################################################## -# now lets do the same thing again using a custom ellipse function - -# make the axes -ax = subplot(313, aspect='equal', sharex=ax1, sharey=ax1) -ax.set_aspect('equal', 'datalim') - -# make the lower-bound ellipse -custom_ellipse(ax, 0.0, 0.0, r - delta, r - delta, 0.0, color="darkgreen") - -# make the target ellipse -custom_ellipse(ax, 0.0, 0.0, r, r, 0.0, color="darkred") - -# make the upper-bound ellipse -custom_ellipse(ax, 0.0, 0.0, r + delta, r + delta, 0.0, color="darkblue") - -# make the target -custom_ellipse(ax, x, y, delta, delta, 0.0, color="#BB1208") - -# give it a big marker -ax.plot([x], [y], marker='x', linestyle='None', mfc='red', mec='red', markersize=10) - - -# give it a big marker -ax.plot([x], [y], marker='x', linestyle='None', mfc='red', mec='red', markersize=10) - -################################################## -# lets zoom in to see the area of interest - -ax1.set_xlim(2650, 2735) -ax1.set_ylim(6705, 6735) - -savefig("ellipse") -show() diff --git a/unit/legend_unit.py b/unit/legend_unit.py deleted file mode 100644 index 25280ddfb04a..000000000000 --- a/unit/legend_unit.py +++ /dev/null @@ -1,27 +0,0 @@ -from pylab import figure, show, np - -Ntests = 3 -t = np.arange(0.0, 1.0, 0.05) -s = np.sin(2 * np.pi * t) - -# scatter creates a RegPolyCollection -fig = figure() -ax = fig.add_subplot(Ntests, 1, 1) -N = 100 -x, y = 0.9 * np.random.rand(2, N) -area = np.pi * (10 * np.random.rand(N)) ** 2 # 0 to 10 point radiuses -ax.scatter(x, y, s=area, marker='^', c='r', label='scatter') -ax.legend() - -# vlines creates a LineCollection -ax = fig.add_subplot(Ntests, 1, 2) -ax.vlines(t, [0], np.sin(2 * np.pi * t), label='vlines') -ax.legend() - -# vlines creates a LineCollection -ax = fig.add_subplot(Ntests, 1, 3) -ax.plot(t, s, 'b-', lw=2, label='a line') -ax.legend() - -fig.savefig('legend_unit') -show() diff --git a/unit/longs_test.py b/unit/longs_test.py deleted file mode 100644 index b3d40214cdf5..000000000000 --- a/unit/longs_test.py +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/env python -# try plotting very large numbers - -from pylab import * -x = arange(1000) + 2 ** 32 - -subplot(211) -plot(x, x) - -subplot(212) -loglog(x, x) - -show() diff --git a/unit/mlab_unit.py b/unit/mlab_unit.py deleted file mode 100644 index 824969b49d97..000000000000 --- a/unit/mlab_unit.py +++ /dev/null @@ -1,82 +0,0 @@ -import datetime -import StringIO -import unittest -import matplotlib.mlab as mlab -import numpy - - -class TestMlab(unittest.TestCase): - def test_csv2rec_closefile(self): - # If passed a file-like object, rec2csv should not close it. - ra = numpy.rec.array([(123, 1197346475.0137341), (456, 123.456)], - dtype=[('a', '<i8'), ('b', '<f8')]) - fh = StringIO.StringIO() - mlab.rec2csv(ra, fh) - self.failIf(fh.closed) - - def test_csv2rec_roundtrip(self): - - # Make sure double-precision floats and strings pass through a - # roundtrip unaltered. - - # A bug in numpy (fixed in r4602) meant that numpy scalars - # lost precision when passing through repr(). csv2rec was - # affected by this. This test will only pass on numpy >= - # 1.0.5. - delta = datetime.timedelta(days=1) - date0 = datetime.date(2007, 12, 16) - date1 = date0 + delta - date2 = date1 + delta - - delta = datetime.timedelta(days=1) - datetime0 = datetime.datetime(2007, 12, 16, 22, 29, 34, 924122) - datetime1 = datetime0 + delta - datetime2 = datetime1 + delta - ra = numpy.rec.fromrecords([(123, date0, datetime0, 1197346475.0137341, 'a,bc'), - (456, date1, datetime1, 123.456, 'd\'ef'), - (789, date2, datetime2, 0.000000001, 'ghi'), - ], - names='intdata,datedata,datetimedata,floatdata,stringdata') - - fh = StringIO.StringIO() - mlab.rec2csv(ra, fh) - fh.seek(0) - if 0: - print('CSV contents:', '-' * 40) - print(fh.read()) - print('-' * 40) - fh.seek(0) - ra2 = mlab.csv2rec(fh) - fh.close() - for name in ra.dtype.names: - if 0: - print(name, repr(ra[name]), repr(ra2[name])) - dt = ra.dtype[name] - print('repr(dt.type)', repr(dt.type)) - self.failUnless(numpy.all(ra[name] == ra2[name])) # should not fail with numpy 1.0.5 - - def test_csv2rec_masks(self): - # Make sure masked entries survive roundtrip - - csv = """date,age,weight,name -2007-01-01,12,32.2,"jdh1" -0000-00-00,0,23,"jdh2" -2007-01-03,,32.5,"jdh3" -2007-01-04,12,NaN,"jdh4" -2007-01-05,-1,NULL,""" - missingd = dict(date='0000-00-00', age='-1', weight='NULL') - fh = StringIO.StringIO(csv) - r1 = mlab.csv2rec(fh, missingd=missingd) - fh = StringIO.StringIO() - mlab.rec2csv(r1, fh, missingd=missingd) - fh.seek(0) - r2 = mlab.csv2rec(fh, missingd=missingd) - - self.failUnless(numpy.all(r2['date'].mask == [0, 1, 0, 0, 0])) - self.failUnless(numpy.all(r2['age'].mask == [0, 0, 1, 0, 1])) - self.failUnless(numpy.all(r2['weight'].mask == [0, 0, 0, 0, 1])) - self.failUnless(numpy.all(r2['name'].mask == [0, 0, 0, 0, 1])) - self.failUnless(numpy.all(r2['name'].mask == [0, 0, 0, 0, 1])) - -if __name__ == '__main__': - unittest.main() diff --git a/unit/threading_test.py b/unit/threading_test.py deleted file mode 100755 index eba5380ad591..000000000000 --- a/unit/threading_test.py +++ /dev/null @@ -1,72 +0,0 @@ -#! /usr/bin/python - -""" -Test by Karen Tracey for threading problem reported in -http://www.mail-archive.com/matplotlib-devel@lists.sourceforge.net/msg04819.html -and solved by JDH in git commit 175e3ec5bed9144. -""" - -import os -import threading -import traceback - -import numpy as np -from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas -from matplotlib.figure import Figure - -thread_count = 8 -max_iterations = 50 -exception_raised = False - - -def png_thread(tn): - png_fname = 'out%d.png' % tn - vals = 100 + 15 * np.random.randn(10000) - - i = 0 - excp = None - global exception_raised - while not exception_raised and i < max_iterations: - i += 1 - png_f = open(png_fname, 'wb') - - try: - fig = Figure() - ax = fig.add_subplot(111) - ax.hist(vals, 50) - FigureCanvas(fig).print_png(png_f) - - except Exception as excp: - pass - - png_f.close() - if excp: - print('png_thread %d failed on iteration %d:' % (tn, i)) - print(traceback.format_exc(excp)) - exception_raised = True - else: - print('png_thread %d completed iteration %d.' % (tn, i)) - - os.unlink(png_fname) - - -def main(tc): - threads = [] - for i in range(tc): - threads.append(threading.Thread(target=png_thread, args=(i + 1,))) - - for t in threads: - t.start() - - for t in threads: - t.join() - - if not exception_raised: - msg = 'Success! %d threads completed %d iterations with no exceptions raised.' - else: - msg = 'Failed! Exception raised before %d threads completed %d iterations.' - - print(msg % (tc, max_iterations)) - -if __name__ == "__main__": - main(thread_count) From 1a9729e8d213b4fe6b65b733e600b635f20eafed Mon Sep 17 00:00:00 2001 From: ImportanceOfBeingErnest <elch.rz@ruetz-online.de> Date: Wed, 18 Apr 2018 17:59:40 +0200 Subject: [PATCH 0585/1161] resurrect axes_grid1 doc --- doc/_templates/automodule.rst | 8 ++++ doc/_templates/autosummary.rst | 8 +++- doc/api/api_changes.rst | 8 ++-- doc/api/index.rst | 5 ++- doc/api/toolkits/axes_grid.rst | 34 +++++++-------- doc/api/toolkits/axes_grid1.rst | 39 +++++++++++++++++ doc/api/toolkits/axisartist.rst | 40 +++++++++++++++++ doc/{mpl_toolkits => api/toolkits}/index.rst | 43 ++++++------------- .../toolkits}/mplot3d/faq.rst | 0 .../toolkits}/mplot3d/index.rst | 2 +- doc/contents.rst | 2 +- doc/index.rst | 2 +- doc/mpl_toolkits/axes_grid1/index.rst | 24 ----------- doc/mpl_toolkits/axisartist/index.rst | 13 ------ ..._formatter.py => date_index_formatter2.py} | 0 lib/matplotlib/contour.py | 12 +++--- lib/matplotlib/figure.py | 17 +++++--- lib/matplotlib/legend.py | 2 +- lib/matplotlib/pyplot.py | 16 +++---- lib/mpl_toolkits/axes_grid1/colorbar.py | 19 ++++---- lib/mpl_toolkits/axisartist/axis_artist.py | 3 +- lib/mpl_toolkits/axisartist/floating_axes.py | 2 +- tutorials/advanced/transforms_tutorial.py | 6 +-- .../intermediate/constrainedlayout_guide.py | 18 ++++---- tutorials/text/text_intro.py | 13 +++--- 25 files changed, 195 insertions(+), 141 deletions(-) create mode 100644 doc/api/toolkits/axes_grid1.rst create mode 100644 doc/api/toolkits/axisartist.rst rename doc/{mpl_toolkits => api/toolkits}/index.rst (51%) rename doc/{mpl_toolkits => api/toolkits}/mplot3d/faq.rst (100%) rename doc/{mpl_toolkits => api/toolkits}/mplot3d/index.rst (95%) delete mode 100644 doc/mpl_toolkits/axes_grid1/index.rst delete mode 100644 doc/mpl_toolkits/axisartist/index.rst rename examples/ticks_and_spines/{date_index_formatter.py => date_index_formatter2.py} (100%) diff --git a/doc/_templates/automodule.rst b/doc/_templates/automodule.rst index 7fa0780eb266..e9f2a755d413 100644 --- a/doc/_templates/automodule.rst +++ b/doc/_templates/automodule.rst @@ -1,5 +1,12 @@ {{ fullname | escape | underline}} +{% if fullname in ['mpl_toolkits.axes_grid1.colorbar'] %} +.. To prevent problems with the autosummary for the colorbar doc + treat this separately (sphinx-doc/sphinx/issues/4874) +.. automodule:: {{ fullname }} + :members: + +{% else %} .. automodule:: {{ fullname }} :no-members: @@ -33,3 +40,4 @@ Functions {{ item }}{% endif %}{% endfor %} {% endif %} {% endblock %} +{% endif %} diff --git a/doc/_templates/autosummary.rst b/doc/_templates/autosummary.rst index cf000cc16de0..8991f3c9ebc4 100644 --- a/doc/_templates/autosummary.rst +++ b/doc/_templates/autosummary.rst @@ -6,11 +6,17 @@ .. auto{{ objtype }}:: {{ objname }} {% if objtype in ['class', 'method', 'function'] %} - +{% if objname in ['AxesGrid', 'Scalable', 'HostAxes', 'FloatingAxes', + 'ParasiteAxesAuxTrans', 'ParasiteAxes'] %} +.. Filter out the above aliases to other classes, as sphinx gallery + creates no example file for those (sphinx-gallery/sphinx-gallery#365) + +{% else %} .. include:: {{module}}.{{objname}}.examples .. raw:: html <div class="clearer"></div> +{% endif %} {% endif %} \ No newline at end of file diff --git a/doc/api/api_changes.rst b/doc/api/api_changes.rst index 4b83c9660788..6a66a0bc3367 100644 --- a/doc/api/api_changes.rst +++ b/doc/api/api_changes.rst @@ -62,7 +62,7 @@ Changed function signatures kwarg ``fig`` to `.GridSpec.get_subplot_params` is deprecated, use ``figure`` instead. -Using `.pyplot.axes` with an `.Axes` as argument is deprecated. This sets +Using `.pyplot.axes` with an `~matplotlib.axes.Axes` as argument is deprecated. This sets the current axes, i.e. it has the same effect as `.pyplot.sca`. For clarity ``plt.sca(ax)`` should be preferred over ``plt.axes(ax)``. @@ -864,7 +864,7 @@ Deprecation and removal Color of Axes ~~~~~~~~~~~~~ -The ``axisbg`` and ``axis_bgcolor`` properties on ``Axes`` have been +The ``axisbg`` and ``axis_bgcolor`` properties on *Axes* have been deprecated in favor of ``facecolor``. GTK and GDK backends deprecated @@ -1297,8 +1297,8 @@ algorithm that was not necessarily applicable to custom Axes. Three new private methods, :meth:`~matplotlib.axes._base._AxesBase._get_view`, :meth:`~matplotlib.axes._base._AxesBase._set_view`, and :meth:`~matplotlib.axes._base._AxesBase._set_view_from_bbox`, allow for custom -``Axes`` classes to override the pan and zoom algorithms. Implementors of -custom ``Axes`` who override these methods may provide suitable behaviour for +*Axes* classes to override the pan and zoom algorithms. Implementors of +custom *Axes* who override these methods may provide suitable behaviour for both pan and zoom as well as the view navigation buttons on the interactive toolbars. diff --git a/doc/api/index.rst b/doc/api/index.rst index 3cc26c8beb06..78669f992177 100644 --- a/doc/api/index.rst +++ b/doc/api/index.rst @@ -74,5 +74,8 @@ Toolkits .. toctree:: :maxdepth: 1 - toolkits/axes_grid.rst + toolkits/mplot3d.rst + toolkits/axes_grid1.rst + toolkits/axisartist.rst + toolkits/axes_grid.rst diff --git a/doc/api/toolkits/axes_grid.rst b/doc/api/toolkits/axes_grid.rst index ed8692fcc016..991b0ff6813a 100644 --- a/doc/api/toolkits/axes_grid.rst +++ b/doc/api/toolkits/axes_grid.rst @@ -1,28 +1,26 @@ .. _axes_grid-api-index: -#################################### -The Matplotlib axes_grid Toolkit API -#################################### - -:Release: |version| -:Date: |today| +Matplotlib axes_grid Toolkit +============================ .. currentmodule:: mpl_toolkits -Axes Grid ---------- + .. note:: - - There is an older version of the AxesGrid toolkit, ``axes_grid`` (instead of - ``axes_grid1``). The old version had a single namespace for all axes_grid - objects, and in the new version this toolkit was broken - into the two modules below. For the documentation on ``axes_grid``, + AxesGrid toolkit has been a part of matplotlib since v + 0.99. Originally, the toolkit had a single namespace of + *axes_grid*. In more recent version, the toolkit + has divided into two separate namespace (*axes_grid1* and *axisartist*). + While *axes_grid* namespace is maintained for the backward compatibility, + use of *axes_grid1* and *axisartist* is recommended. + For the documentation on ``axes_grid``, see the `previous version of the docs <https://matplotlib.org/2.0.1/mpl_toolkits/axes_grid/index.html#toolkit-axesgrid-index>`_. -.. autosummary:: - :toctree: ../_as_gen - :template: automodule.rst +.. toctree:: + :maxdepth: 1 + + axes_grid1 + axisartist + - axes_grid1 - axisartist diff --git a/doc/api/toolkits/axes_grid1.rst b/doc/api/toolkits/axes_grid1.rst new file mode 100644 index 000000000000..52363877e285 --- /dev/null +++ b/doc/api/toolkits/axes_grid1.rst @@ -0,0 +1,39 @@ +.. _toolkit_axesgrid1-index: + +Matplotlib axes_grid1 Toolkit +============================= + +The matplotlib :class:`mpl_toolkits.axes_grid1` toolkit is a collection of +helper classes to ease displaying multiple images in matplotlib. While the +aspect parameter in matplotlib adjust the position of the single axes, +axes_grid1 toolkit provides a framework to adjust the position of +multiple axes according to their aspects. + +See :ref:`axes_grid1_users-guide-index` for a guide on the usage of axes_grid1. + +.. figure:: ../../gallery/axes_grid1/images/sphx_glr_demo_axes_grid_001.png + :target: ../../gallery/axes_grid1/demo_axes_grid.html + :align: center + :scale: 50 + + + +.. currentmodule:: mpl_toolkits + +**The submodules of the axes_grid1 API are:** + +.. autosummary:: + :toctree: ../_as_gen + :template: automodule.rst + + axes_grid1.anchored_artists + axes_grid1.axes_divider + axes_grid1.axes_grid + axes_grid1.axes_rgb + axes_grid1.axes_size + axes_grid1.colorbar + axes_grid1.inset_locator + axes_grid1.mpl_axes + axes_grid1.parasite_axes + + diff --git a/doc/api/toolkits/axisartist.rst b/doc/api/toolkits/axisartist.rst new file mode 100644 index 000000000000..a08113f71396 --- /dev/null +++ b/doc/api/toolkits/axisartist.rst @@ -0,0 +1,40 @@ +.. _toolkit_axisartist-index: + +Matplotlib axisartist Toolkit +============================= + +The *axisartist* namespace includes a derived Axes implementation ( +:class:`mpl_toolkits.axisartist.Axes`). The +biggest difference is that the artists that are responsible for drawing +axis lines, ticks, ticklabels, and axis labels are separated out from the +mpl's Axis class. This change was strongly motivated to support curvilinear grid. + +You can find a tutorial describing usage of axisartist at the +:ref:`axisartist_users-guide-index` user guide. + +.. figure:: ../../gallery/axisartist/images/sphx_glr_demo_curvelinear_grid_001.png + :target: ../../gallery/axisartist/demo_curvelinear_grid.html + :align: center + :scale: 50 + +.. currentmodule:: mpl_toolkits + +**The submodules of the axisartist API are:** + +.. autosummary:: + :toctree: ../_as_gen + :template: automodule.rst + + axisartist.angle_helper + axisartist.axes_divider + axisartist.axes_grid + axisartist.axes_rgb + axisartist.axis_artist + axisartist.axisline_style + axisartist.axislines + axisartist.clip_path + axisartist.floating_axes + axisartist.grid_finder + axisartist.grid_helper_curvelinear + axisartist.parasite_axes + diff --git a/doc/mpl_toolkits/index.rst b/doc/api/toolkits/index.rst similarity index 51% rename from doc/mpl_toolkits/index.rst rename to doc/api/toolkits/index.rst index 285f9d49295a..f995dfb3b54d 100644 --- a/doc/mpl_toolkits/index.rst +++ b/doc/api/toolkits/index.rst @@ -24,8 +24,8 @@ lighter weight solution for some use cases. Check out the :ref:`mplot3d tutorial <sphx_glr_tutorials_toolkits_mplot3d.py>` for more information. -.. figure:: ../gallery/mplot3d/images/sphx_glr_contourf3d_2_001.png - :target: ../gallery/mplot3d/contourf3d_2.html +.. figure:: ../../gallery/mplot3d/images/sphx_glr_contourf3d_2_001.png + :target: ../../gallery/mplot3d/contourf3d_2.html :align: center :scale: 50 @@ -41,37 +41,20 @@ Links ----- * mpl3d API: :ref:`toolkit_mplot3d-api` -.. _toolkit_axes_grid1: +.. _toolkit_axes_grid1_incl: -axes_grid1 -========== +.. include:: axes_grid1.rst + :start-line: 1 -The :mod:`mpl_toolkits.axes_grid1` toolkit is a -collection of helper classes for displaying multiple axes in Matplotlib. +.. _toolkit_axisartist_incl: + +.. include:: axisartist.rst + :start-line: 1 -.. image:: /_static/demo_axes_grid.png - -.. toctree:: - :maxdepth: 2 - - axes_grid1/index.rst - - -.. _toolkit_axisartist: - -axisartist -========== - -The :mod:`mpl_toolkits.axisartist` toolkit contains -a custom Axes class that is meant to support curvilinear grids. - -.. toctree:: - :maxdepth: 2 - - axisartist/index.rst +.. _toolkit_axes_grid_incl: + +.. include:: axes_grid.rst + :start-line: 1 -API ---- -* Axes Grid and Axis Artist API: :ref:`axes_grid-api-index` diff --git a/doc/mpl_toolkits/mplot3d/faq.rst b/doc/api/toolkits/mplot3d/faq.rst similarity index 100% rename from doc/mpl_toolkits/mplot3d/faq.rst rename to doc/api/toolkits/mplot3d/faq.rst diff --git a/doc/mpl_toolkits/mplot3d/index.rst b/doc/api/toolkits/mplot3d/index.rst similarity index 95% rename from doc/mpl_toolkits/mplot3d/index.rst rename to doc/api/toolkits/mplot3d/index.rst index 22d2368912e9..b5ec1418deec 100644 --- a/doc/mpl_toolkits/mplot3d/index.rst +++ b/doc/api/toolkits/mplot3d/index.rst @@ -14,7 +14,7 @@ The resulting graph will have the same look and feel as regular 2D plots. See the :ref:`mplot3d tutorial <sphx_glr_tutorials_toolkits_mplot3d.py>` for more information on how to use this toolkit. -.. image:: ../../_static/demo_mplot3d.png +.. image:: /_static/demo_mplot3d.png The interactive backends also provide the ability to rotate and zoom the 3D scene. One can rotate the 3D scene by simply clicking-and-dragging diff --git a/doc/contents.rst b/doc/contents.rst index 72612f7b7694..104e143a07c2 100644 --- a/doc/contents.rst +++ b/doc/contents.rst @@ -16,7 +16,7 @@ Overview users/index.rst faq/index.rst - mpl_toolkits/index.rst + api/toolkits/index.rst resources/index.rst thirdpartypackages/index.rst api/index.rst diff --git a/doc/index.rst b/doc/index.rst index b5eb92d8534f..fa9c101ab2c2 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -142,7 +142,7 @@ require changes to your existing code is logged in the :doc:`API changes Toolkits ======== -Matplotlib ships with several add-on :doc:`toolkits <mpl_toolkits/index>`, +Matplotlib ships with several add-on :doc:`toolkits <api/toolkits/index>`, including 3d plotting with `mplot3d`, axes helpers in `axes_grid1` and axis helpers in `axisartist`. diff --git a/doc/mpl_toolkits/axes_grid1/index.rst b/doc/mpl_toolkits/axes_grid1/index.rst deleted file mode 100644 index aacb1cc5b872..000000000000 --- a/doc/mpl_toolkits/axes_grid1/index.rst +++ /dev/null @@ -1,24 +0,0 @@ - -.. _toolkit_axesgrid1-index: - -Matplotlib axes_grid1 Toolkit -============================= - -The matplotlib :class:`mpl_toolkits.axes_grid1` toolkit is a collection of -helper classes to ease displaying multiple images in matplotlib. While the -aspect parameter in matplotlib adjust the position of the single axes, -axesgrid1 toolkit provides a framework to adjust the position of -multiple axes according to their aspects. - -See :ref:`axes_grid1_users-guide-index` for a guide on the usage of axes_grid1. - - -.. image:: ../../_static/demo_axes_grid.png - -.. note:: - AxesGrid toolkit has been a part of matplotlib since v - 0.99. Originally, the toolkit had a single namespace of - *axes_grid*. In more recent version, the toolkit - has divided into two separate namespace (*axes_grid1* and *axisartist*). - While *axes_grid* namespace is maintained for the backward compatibility, - use of *axes_grid1* and *axisartist* is recommended. diff --git a/doc/mpl_toolkits/axisartist/index.rst b/doc/mpl_toolkits/axisartist/index.rst deleted file mode 100644 index 2a46936f1381..000000000000 --- a/doc/mpl_toolkits/axisartist/index.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. _toolkit_axisartist-index: - -Matplotlib axisartist Toolkit -============================= - -The *axisartist* namespace includes a derived Axes implementation ( -:class:`mpl_toolkits.axisartist.Axes`). The -biggest difference is that the artists that are responsible for drawing -axis lines, ticks, ticklabels, and axis labels are separated out from the -mpl's Axis class. This change was strongly motivated to support curvilinear grid. - -You can find a tutorial describing usage of axisartist at -:ref:`axisartist_users-guide-index`. diff --git a/examples/ticks_and_spines/date_index_formatter.py b/examples/ticks_and_spines/date_index_formatter2.py similarity index 100% rename from examples/ticks_and_spines/date_index_formatter.py rename to examples/ticks_and_spines/date_index_formatter2.py diff --git a/lib/matplotlib/contour.py b/lib/matplotlib/contour.py index d5fd7c22f321..820fb7724f0e 100644 --- a/lib/matplotlib/contour.py +++ b/lib/matplotlib/contour.py @@ -738,7 +738,7 @@ class ContourSet(cm.ScalarMappable, ContourLabeler): """ Store a set of contour lines or filled regions. - User-callable method: `~.Axes.clabel` + User-callable method: `~.axes.Axes.clabel` Parameters ---------- @@ -773,7 +773,7 @@ class ContourSet(cm.ScalarMappable, ContourLabeler): kwargs : Keyword arguments are as described in the docstring of - `~.Axes.contour`. + `~.axes.Axes.contour`. Attributes ---------- @@ -803,7 +803,7 @@ def __init__(self, ax, *args, **kwargs): Parameters ---------- ax : - The `.Axes` object to draw on. + The `~.axes.Axes` object to draw on. levels : [level0, level1, ..., leveln] A list of floating point numbers indicating the contour @@ -834,7 +834,7 @@ def __init__(self, ax, *args, **kwargs): **kwargs Keyword arguments are as described in the docstring of - `~.Axes.contour`. + `~axes.Axes.contour`. """ self.ax = ax self.levels = kwargs.pop('levels', None) @@ -1436,7 +1436,7 @@ class QuadContourSet(ContourSet): """ Create and store a set of contour lines or filled regions. - User-callable method: `~.Axes.clabel` + User-callable method: `~axes.Axes.clabel` Attributes ---------- @@ -1755,7 +1755,7 @@ def _initialize_x_y(self, z): locator : ticker.Locator subclass, optional The locator is used to determine the contour levels if they are not given explicitly via *levels*. - Defaults to `.MaxNLocator`. + Defaults to `~.ticker.MaxNLocator`. extend : {'neither', 'both', 'min', 'max'}, optional Unless this is 'neither', contour levels are automatically diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index 8fdea9c13b04..da1d07d91c36 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -58,8 +58,9 @@ def _stale_figure_callback(self, val): class AxesStack(Stack): """ - Specialization of the `.Stack` to handle all tracking of `.Axes` in a - `.Figure`. This stack stores ``key, (ind, axes)`` pairs, where: + Specialization of the `.Stack` to handle all tracking of + `~matplotlib.axes.Axes` in a `.Figure`. + This stack stores ``key, (ind, axes)`` pairs, where: * **key** should be a hash of the args and kwargs used in generating the Axes. @@ -991,7 +992,8 @@ def set_frameon(self, b): def delaxes(self, ax): """ - Remove the `.Axes` *ax* from the figure and update the current axes. + Remove the `~matplotlib.axes.Axes` *ax* from the figure and update the + current axes. """ self._axstack.remove(ax) for func in self._axobservers: @@ -2110,7 +2112,8 @@ def align_xlabels(self, axs=None): Parameters ---------- axs : list of `~matplotlib.axes.Axes` - Optional list of (or ndarray) `.Axes` to align the xlabels. + Optional list of (or ndarray) `~matplotlib.axes.Axes` + to align the xlabels. Default is to align all axes on the figure. See Also @@ -2178,7 +2181,8 @@ def align_ylabels(self, axs=None): Parameters ---------- axs : list of `~matplotlib.axes.Axes` - Optional list (or ndarray) of `.Axes` to align the ylabels. + Optional list (or ndarray) of `~matplotlib.axes.Axes` + to align the ylabels. Default is to align all axes on the figure. See Also @@ -2241,7 +2245,8 @@ def align_labels(self, axs=None): Parameters ---------- axs : list of `~matplotlib.axes.Axes` - Optional list (or ndarray) of `.Axes` to align the labels. + Optional list (or ndarray) of `~matplotlib.axes.Axes` + to align the labels. Default is to align all axes on the figure. See Also diff --git a/lib/matplotlib/legend.py b/lib/matplotlib/legend.py index c345a31f1940..585915e0c554 100644 --- a/lib/matplotlib/legend.py +++ b/lib/matplotlib/legend.py @@ -346,7 +346,7 @@ def __init__(self, parent, handles, labels, """ Parameters ---------- - parent : `.Axes` or `.Figure` + parent : `~matplotlib.axes.Axes` or `.Figure` The artist that contains the legend. handles : sequence of `.Artist` diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index cbb4ebe59e6f..fc99fb6085db 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -782,9 +782,9 @@ def axes(arg=None, **kwargs): - 4-tuple of floats *rect* = ``[left, bottom, width, height]``. A new axes is added with dimensions *rect* in normalized (0, 1) units using `~.Figure.add_axes` on the current figure. - - `.Axes`: This is equivalent to `.pyplot.sca`. It sets the current - axes to *arg*. Note: This implicitly changes the current figure to - the parent of *arg*. + - `~matplotlib.axes.Axes`: This is equivalent to `.pyplot.sca`. + It sets the current axes to *arg*. Note: This implicitly + changes the current figure to the parent of *arg*. .. note:: The use of an Axes as an argument is deprecated and will be removed in v3.0. Please use `.pyplot.sca` instead. @@ -898,16 +898,16 @@ def subplot(*args, **kwargs): subplot(nrows, ncols, index, **kwargs) - In the current figure, create and return an `.Axes`, at position *index* - of a (virtual) grid of *nrows* by *ncols* axes. Indexes go from 1 to - ``nrows * ncols``, incrementing in row-major order. + In the current figure, create and return an `~matplotlib.axes.Axes`, + at position *index* of a (virtual) grid of *nrows* by *ncols* axes. + Indexes go from 1 to ``nrows * ncols``, incrementing in row-major order. If *nrows*, *ncols* and *index* are all less than 10, they can also be given as a single, concatenated, three-digit number. For example, ``subplot(2, 3, 3)`` and ``subplot(233)`` both create an - `.Axes` at the top right corner of the current figure, occupying half of - the figure height and a third of the figure width. + `matplotlib.axes.Axes` at the top right corner of the current figure, + occupying half of the figure height and a third of the figure width. .. note:: diff --git a/lib/mpl_toolkits/axes_grid1/colorbar.py b/lib/mpl_toolkits/axes_grid1/colorbar.py index 65dc20c78d1b..3a76914a6fb3 100644 --- a/lib/mpl_toolkits/axes_grid1/colorbar.py +++ b/lib/mpl_toolkits/axes_grid1/colorbar.py @@ -1,4 +1,4 @@ -''' +""" Colorbar toolkit with two classes and a function: :class:`ColorbarBase` @@ -16,8 +16,8 @@ The :meth:`~matplotlib.figure.Figure.colorbar` method uses :func:`make_axes` and :class:`Colorbar`; the :func:`~matplotlib.pyplot.colorbar` function is a thin wrapper over :meth:`~matplotlib.figure.Figure.colorbar`. +""" -''' import six from six.moves import xrange, zip @@ -129,9 +129,9 @@ Additional keyword arguments are of two kinds: axes properties: -%s + %s colorbar properties: -%s + %s If *mappable* is a :class:`~matplotlib.contours.ContourSet`, its *extend* kwarg is included automatically. @@ -172,7 +172,7 @@ unconventional value is to prevent underflow when log scale is used. ''' % (make_axes_kw_doc, colormap_kw_doc) -docstring.interpd.update(colorbar_doc=colorbar_doc) +#docstring.interpd.update(colorbar_doc=colorbar_doc) class CbarAxesLocator(object): @@ -756,7 +756,9 @@ def update_bruteforce(self, mappable): def make_axes(parent, **kw): ''' Resize and reposition a parent axes, and return a child - axes suitable for a colorbar:: + axes suitable for a colorbar + + :: cax, kw = make_axes(parent, **kw) @@ -798,13 +800,14 @@ def make_axes(parent, **kw): cax.set_aspect(aspect, anchor=anchor, adjustable='box') return cax, kw - +@docstring.Substitution(colorbar_doc) def colorbar(mappable, cax=None, ax=None, **kw): """ Create a colorbar for a ScalarMappable instance. Documentation for the pylab thin wrapper: - %(colorbar_doc)s + + %s """ import matplotlib.pyplot as plt if ax is None: diff --git a/lib/mpl_toolkits/axisartist/axis_artist.py b/lib/mpl_toolkits/axisartist/axis_artist.py index e67036bc2a5c..0cf14608d8ec 100644 --- a/lib/mpl_toolkits/axisartist/axis_artist.py +++ b/lib/mpl_toolkits/axisartist/axis_artist.py @@ -59,7 +59,7 @@ The text angles are actually relative to (90 + angle of the direction to the ticklabel), which gives 0 for bottom axis. - left bottom right top + Parameter left bottom right top ticklabels location left right right left axislabel location left right right left ticklabels angle 90 0 -90 180 @@ -83,6 +83,7 @@ * AxisLabel : pad """ + import six # FIXME : diff --git a/lib/mpl_toolkits/axisartist/floating_axes.py b/lib/mpl_toolkits/axisartist/floating_axes.py index dbe1d700e924..2f3a6aeec405 100644 --- a/lib/mpl_toolkits/axisartist/floating_axes.py +++ b/lib/mpl_toolkits/axisartist/floating_axes.py @@ -233,7 +233,7 @@ def __init__(self, aux_trans, extremes, objects which defines the transform and its inverse. The callables need take two arguments of array of source coordinates and should return two target coordinates: - e.g., x2, y2 = trans(x1, y1) + e.g., *x2, y2 = trans(x1, y1)* """ self._old_values = None diff --git a/tutorials/advanced/transforms_tutorial.py b/tutorials/advanced/transforms_tutorial.py index 8d090ae3e62a..409991faf6d2 100644 --- a/tutorials/advanced/transforms_tutorial.py +++ b/tutorials/advanced/transforms_tutorial.py @@ -25,9 +25,9 @@ | | |controlled by xlim and ylim. | +-----------+-----------------------------+-----------------------------------+ |"axes" |``ax.transAxes`` |The coordinate system of the | -| | |`.Axes`; (0, 0) is bottom left of | -| | |the axes, and (1, 1) is top right | -| | |of the axes. | +| | |`~matplotlib.axes.Axes`; (0, 0) | +| | |is bottom left of the axes, and | +| | |(1, 1) is top right of the axes. | +-----------+-----------------------------+-----------------------------------+ |"figure" |``fig.transFigure`` |The coordinate system of the | | | |`.Figure`; (0, 0) is bottom left | diff --git a/tutorials/intermediate/constrainedlayout_guide.py b/tutorials/intermediate/constrainedlayout_guide.py index b6f927b6f118..3f32968105c5 100644 --- a/tutorials/intermediate/constrainedlayout_guide.py +++ b/tutorials/intermediate/constrainedlayout_guide.py @@ -543,10 +543,11 @@ def docomplicated(suptitle=None): # Each item has a layoutbox associated with it. The nesting of gridspecs # created with `.GridSpecFromSubplotSpec` can be arbitrarily deep. # -# Each `.Axes` has *two* layoutboxes. The first one ``ax._layoutbox`` -# represents the outside of the Axes and all its decorations (i.e. ticklabels, -# axis labels, etc.). The second layoutbox corresponds to the Axes' -# `ax.position`, which sets where in the figure the spines are placed. +# Each ``~matplotlib.axes.Axes` has *two* layoutboxes. The first one, +# ``ax._layoutbox`` represents the outside of the Axes and all its +# decorations (i.e. ticklabels,axis labels, etc.). +# The second layoutbox corresponds to the Axes' `ax.position`, which sets +# where in the figure the spines are placed. # # Why so many stacked containers? Ideally, all that would be needed are the # Axes layout boxes. For the Gridspec case, a container is @@ -625,10 +626,11 @@ def docomplicated(suptitle=None): # constraint on their widths because their subplotspecs occupy the same # number of columns (one in this example). # -# The colorbar layout logic is contained in `~.colorbar.make_axes` which -# call `._constrained_layout.layoutcolorbarsingle` for cbars attached to -# a single axes, and `._constrained_layout.layoutcolorbargridspec` if the -# colorbar is associated wiht a gridspec. +# The colorbar layout logic is contained in `~matplotlib.colorbar.make_axes` +# which calls `._constrained_layout.layoutcolorbarsingle` +# for cbars attached to a single axes, and +# `._constrained_layout.layoutcolorbargridspec` if the colorbar is associated +# with a gridspec. fig, ax = plt.subplots(1, 2, constrained_layout=True) im = ax[0].pcolormesh(arr, **pc_kwargs) diff --git a/tutorials/text/text_intro.py b/tutorials/text/text_intro.py index ccf3911e65d0..f29e8880e850 100644 --- a/tutorials/text/text_intro.py +++ b/tutorials/text/text_intro.py @@ -38,17 +38,20 @@ `.pyplot` API OO API description =================== =================== ====================================== `~.pyplot.text` `~.Axes.text` Add text at an arbitrary location of - the `.Axes`. + the `~matplotlib.axes.Axes`. `~.pyplot.annotate` `~.Axes.annotate` Add an annotation, with an optional arrow, at an arbitrary location of the - `.Axes`. + `~matplotlib.axes.Axes`. -`~.pyplot.xlabel` `~.Axes.set_xlabel` Add a label to the `.Axes`\\'s x-axis. +`~.pyplot.xlabel` `~.Axes.set_xlabel` Add a label to the + `~matplotlib.axes.Axes`\\'s x-axis. -`~.pyplot.ylabel` `~.Axes.set_ylabel` Add a label to the `.Axes`\\'s y-axis. +`~.pyplot.ylabel` `~.Axes.set_ylabel` Add a label to the + `~matplotlib.axes.Axes`\\'s y-axis. -`~.pyplot.title` `~.Axes.set_title` Add a title to the `.Axes`. +`~.pyplot.title` `~.Axes.set_title` Add a title to the + `~matplotlib.axes.Axes`. `~.pyplot.figtext` `~.Figure.text` Add text at an arbitrary location of the `.Figure`. From 2761e5316237280e814290a5acf176d56e5c752e Mon Sep 17 00:00:00 2001 From: Paul Hobson <pmhobson@gmail.com> Date: Mon, 30 Apr 2018 14:27:53 -0700 Subject: [PATCH 0586/1161] remove use of subprocess compatibility shim --- doc/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/conf.py b/doc/conf.py index 480863e0766f..94e4debea50f 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -145,7 +145,7 @@ def _check_deps(): master_doc = 'contents' # General substitutions. -from matplotlib.compat.subprocess import check_output +from subprocess import check_output SHA = check_output(['git', 'describe', '--dirty']).decode('utf-8').strip() html_context = {'sha': SHA} From 2ce89736eed3a1b7f4775623a6ed1b77d777589f Mon Sep 17 00:00:00 2001 From: Ben <buckwalterbd@g.cofc.edu> Date: Mon, 30 Apr 2018 20:30:18 -0400 Subject: [PATCH 0587/1161] Modified the plot width of the matshow example in order to fit margins of documentation webpage. --- examples/images_contours_and_fields/matshow.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/images_contours_and_fields/matshow.py b/examples/images_contours_and_fields/matshow.py index 376ba514dc00..ce940670a7c2 100644 --- a/examples/images_contours_and_fields/matshow.py +++ b/examples/images_contours_and_fields/matshow.py @@ -18,6 +18,6 @@ def samplemat(dims): # Display matrix -plt.matshow(samplemat((15, 35))) +plt.matshow(samplemat((15, 15))) plt.show() From f78be6af373952b8531c9435cfb2a48c220a824a Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Mon, 30 Apr 2018 21:12:14 -0400 Subject: [PATCH 0588/1161] DOC: add deprecation note --- doc/api/next_api_changes/2018-04-30-AL.rst | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 doc/api/next_api_changes/2018-04-30-AL.rst diff --git a/doc/api/next_api_changes/2018-04-30-AL.rst b/doc/api/next_api_changes/2018-04-30-AL.rst new file mode 100644 index 000000000000..05eb7c8b55cd --- /dev/null +++ b/doc/api/next_api_changes/2018-04-30-AL.rst @@ -0,0 +1,7 @@ +Remove lib/mpl_examples +``````````````````````` + +The symlink from lib/mpl_examples to ../examples has been removed. +This is not installed as an importable package and should not affect +end users, however this may require down-stream packagers to adjust. +The content is still available top-level examples directory. From 4ba7f548a24667ed00d8f96b1b9ec29bc2816e9b Mon Sep 17 00:00:00 2001 From: Ida Hjorth <idahjorth@gmail.com> Date: Tue, 1 May 2018 10:34:58 +0200 Subject: [PATCH 0589/1161] Squashed commit of the following: commit a05a48687ac955529bc1a089b71e34450bc110f6 Merge: 6ec4f8fc6 e751286a5 Author: Ida Hjorth <idahjorth@gmail.com> Date: Sun Apr 29 19:07:32 2018 +0200 Merge pull request #3 from magnunor/idahj_anchored_directionarrows Idahj anchored directionarrows commit e751286a5f0bf60507a658b2338384ba9e287881 Merge: 3ba79fb07 6ec4f8fc6 Author: Magnus Nord <magnunor@gmail.com> Date: Sun Apr 29 09:00:34 2018 +0200 Merge branch 'NEW_AnchoredDirectionArrows' of github.com:idahj/matplotlib into idahj_anchored_directionarrows commit 6ec4f8fc64b65fbf9c446f28265487530393db8c Author: Ida <idahjorth@gmail.com> Date: Fri Aug 25 13:14:26 2017 +0100 AnchoredDirectionArrows: Docstring, what's new commit 19f4a38185539850ad3841b791c46c1902614be8 Author: Ida <idahjorth@gmail.com> Date: Thu Aug 24 14:27:23 2017 +0100 AnchoredDirectionArrows: Demo docstring commit d024684d14a12c7713f36896511001d436cc84dc Author: Ida <idahjorth@gmail.com> Date: Thu Aug 24 14:09:52 2017 +0100 AnchoredDirectionArrows: Fix error commit 27b6bc5dc39f39ea818dafcda266c4a975415054 Author: Ida <idahjorth@gmail.com> Date: Thu Aug 24 13:58:58 2017 +0100 AnchoredDirectionArrows: make variable not private commit c0762d2e82c1978f13f262f15ae2afc875ba1035 Author: Ida <idahjorth@gmail.com> Date: Thu Aug 24 13:02:38 2017 +0100 AnchoredDirectionArrows: Add docstring in demo commit 88d04d07d024d7a6d424f20f16ed299bad411409 Author: Ida <idahjorth@gmail.com> Date: Wed Aug 23 14:19:06 2017 +0100 AnchoredDirectionArrows: docstring, what's new commit efcca59388b9cecceec46beec2f27317b3779a1e Author: Magnus Nord <Magnus.Nord@glasgow.ac.uk> Date: Wed Aug 23 13:31:32 2017 +0100 AnchoredDirectionArrows: add test which uses many of the arguments commit e200c4474af9c8184cc64490becfeb4db37fd307 Author: Magnus Nord <Magnus.Nord@glasgow.ac.uk> Date: Wed Aug 23 12:06:05 2017 +0100 AnchoredDirectionArrows: minor docstring changes commit b6b0ea24f6c6e7c7a834ddaa6594c89e076dabf5 Author: Ida <idahjorth@gmail.com> Date: Tue Aug 22 13:28:56 2017 +0100 AnchoredDirectionArrows: PEP8 commit 5fde65aa9969e9e7ed74b67f87516b4d390e3f88 Author: Ida <idahjorth@gmail.com> Date: Tue Aug 22 13:23:25 2017 +0100 AnchoredDirectionArrows: Add demo commit 23f7d5b57636d6cb8fa9986793e2da52ccf27197 Author: Ida <idahjorth@gmail.com> Date: Tue Aug 22 11:16:41 2017 +0100 AnchoredDirectionArrows: Add working unit test commit 459ae07438790971cc8532bce146992b2482a574 Author: Ida <idahjorth@gmail.com> Date: Tue Aug 22 10:37:44 2017 +0100 AnchoredDirectionArrow: first attempt unit test Currently not working commit f4ec0e2ba37c39d16beab2e12c63d63745a4dd36 Author: Ida <idahjorth@gmail.com> Date: Wed Aug 16 19:31:05 2017 +0100 Cleanup, bug fix, begin merge overlapping arrows commit 75e52b0148cc7d743f3c97ab76ea54391f769270 Author: Magnus Nord <magnunor@gmail.com> Date: Mon Aug 14 23:05:30 2017 +0100 AnchoredDirectionArrows: PEP8 fixes, and improve docstring commit 4fff77587b095a4b62e1316a0a1a5e0a68054f98 Author: Ida <idahjorth@gmail.com> Date: Mon Aug 14 22:04:22 2017 +0100 Add AnchoredDirectionArrows class in axes_grid1 --- .../anchored_direction_arrows.rst | 15 ++ .../demo_anchored_direction_arrows.py | 78 ++++++ .../axes_grid1/anchored_artists.py | 228 +++++++++++++++++- .../anchored_direction_arrows.png | Bin 0 -> 10784 bytes .../anchored_direction_arrows_many_args.png | Bin 0 -> 11039 bytes lib/mpl_toolkits/tests/test_axes_grid1.py | 28 ++- 6 files changed, 344 insertions(+), 5 deletions(-) create mode 100644 doc/users/next_whats_new/anchored_direction_arrows.rst create mode 100644 examples/axes_grid1/demo_anchored_direction_arrows.py create mode 100644 lib/mpl_toolkits/tests/baseline_images/test_axes_grid1/anchored_direction_arrows.png create mode 100644 lib/mpl_toolkits/tests/baseline_images/test_axes_grid1/anchored_direction_arrows_many_args.png diff --git a/doc/users/next_whats_new/anchored_direction_arrows.rst b/doc/users/next_whats_new/anchored_direction_arrows.rst new file mode 100644 index 000000000000..8e241a4732b3 --- /dev/null +++ b/doc/users/next_whats_new/anchored_direction_arrows.rst @@ -0,0 +1,15 @@ +Add ``AnchoredDirectionArrows`` feature to mpl_toolkits +-------------------------------------------------------- + +A new mpl_toolkits class +:class:`~mpl_toolkits.axes_grid1.anchored_artists.AnchoredDirectionArrows` +draws a pair of orthogonal arrows to inidcate directions on a 2D plot. A +minimal working example takes in the transformation object for the coordinate +system (typically ax.transAxes), and arrow labels. There are several optional +parameters that can be used to alter layout. For example, the arrow pairs can +be rotated and the color can be changed. By default the labels and arrows have +the same color, but the class may also pass arguments for costumizing arrow +and text layout, these are passed to :class:`matplotlib.text.TextPath` and +`matplotlib.patches.FancyArrowPatch`. Location, length and width for both +arrow tail and head can be adjusted, the the direction arrows and labels can +have a frame. Padding and separation parameters can be adjusted. diff --git a/examples/axes_grid1/demo_anchored_direction_arrows.py b/examples/axes_grid1/demo_anchored_direction_arrows.py new file mode 100644 index 000000000000..e0572cb214ae --- /dev/null +++ b/examples/axes_grid1/demo_anchored_direction_arrows.py @@ -0,0 +1,78 @@ +""" +============================= +Demo Anchored Direction Arrow +============================= + +""" +import matplotlib.pyplot as plt +import numpy as np +from mpl_toolkits.axes_grid1.anchored_artists import AnchoredDirectionArrows +import matplotlib.font_manager as fm + +fig, ax = plt.subplots() +ax.imshow(np.random.random((10, 10))) + +# Simple example +simple_arrow = AnchoredDirectionArrows(ax.transAxes, 'X', 'Y') +ax.add_artist(simple_arrow) + +# High contrast arrow +high_contrast_part_1 = AnchoredDirectionArrows( + ax.transAxes, + '111', r'11$\overline{2}$', + loc=1, + arrow_props={'ec': 'w', 'fc': 'none', 'alpha': 1, + 'lw': 2} + ) +ax.add_artist(high_contrast_part_1) + +high_contrast_part_2 = AnchoredDirectionArrows( + ax.transAxes, + '111', r'11$\overline{2}$', + loc=1, + arrow_props={'ec': 'none', 'fc': 'k'}, + text_props={'ec': 'w', 'fc': 'k', 'lw': 0.4} + ) +ax.add_artist(high_contrast_part_2) + +# Rotated arrow +fontprops = fm.FontProperties(family='serif') + +roatated_arrow = AnchoredDirectionArrows( + ax.transAxes, + '30', '120', + loc='center', + color='w', + angle=30, + fontproperties=fontprops + ) +ax.add_artist(roatated_arrow) + +# Altering arrow directions +a1 = AnchoredDirectionArrows( + ax.transAxes, 'A', 'B', loc='lower center', + length=-0.15, + sep_x=0.03, sep_y=0.03, + color='r' + ) +ax.add_artist(a1) + +a2 = AnchoredDirectionArrows( + ax.transAxes, 'A', ' B', loc='lower left', + aspect_ratio=-1, + sep_x=0.01, sep_y=-0.02, + color='orange' + ) +ax.add_artist(a2) + + +a3 = AnchoredDirectionArrows( + ax.transAxes, ' A', 'B', loc='lower right', + length=-0.15, + aspect_ratio=-1, + sep_y=-0.1, sep_x=0.04, + color='cyan' + ) +ax.add_artist(a3) + +plt.show() diff --git a/lib/mpl_toolkits/axes_grid1/anchored_artists.py b/lib/mpl_toolkits/axes_grid1/anchored_artists.py index c5e3da769704..ddbba90c59cf 100644 --- a/lib/mpl_toolkits/axes_grid1/anchored_artists.py +++ b/lib/mpl_toolkits/axes_grid1/anchored_artists.py @@ -1,13 +1,14 @@ import six -from matplotlib import docstring +from matplotlib import docstring, transforms from matplotlib.offsetbox import (AnchoredOffsetbox, AuxTransformBox, DrawingArea, TextArea, VPacker) -from matplotlib.patches import Rectangle, Ellipse - +from matplotlib.patches import (Rectangle, Ellipse, ArrowStyle, + FancyArrowPatch, PathPatch) +from matplotlib.text import TextPath __all__ = ['AnchoredDrawingArea', 'AnchoredAuxTransformBox', - 'AnchoredEllipse', 'AnchoredSizeBar'] + 'AnchoredEllipse', 'AnchoredSizeBar', 'AnchoredDirectionArrows'] class AnchoredDrawingArea(AnchoredOffsetbox): @@ -372,3 +373,222 @@ def __init__(self, transform, size, label, loc, child=self._box, prop=fontproperties, frameon=frameon, **kwargs) + + +class AnchoredDirectionArrows(AnchoredOffsetbox): + @docstring.dedent + def __init__(self, transform, label_x, label_y, length=0.15, + fontsize=0.08, loc=2, angle=0, aspect_ratio=1, pad=0.4, + borderpad=0.4, frameon=False, color='w', alpha=1, + sep_x=0.01, sep_y=0, fontproperties=None, back_length=0.15, + head_width=10, head_length=15, tail_width=2, + text_props=None, arrow_props=None, + **kwargs): + """ + Draw two perpendicular arrows to indicate directions. + + Parameters + ---------- + transform : `matplotlib.transforms.Transform` + The transformation object for the coordinate system in use, i.e., + :attr:`matplotlib.axes.Axes.transAxes`. + + label_x, label_y : string + Label text for the x and y arrows + + length : int or float, optional + Length of the arrow, given in coordinates of + *transform*. + Defaults to 0.15. + + fontsize : int, optional + Size of label strings, given in coordinates of *transform*. + Defaults to 0.08. + + loc : int, optional + Location of the direction arrows. Valid location codes are:: + + 'upper right' : 1, + 'upper left' : 2, + 'lower left' : 3, + 'lower right' : 4, + 'right' : 5, + 'center left' : 6, + 'center right' : 7, + 'lower center' : 8, + 'upper center' : 9, + 'center' : 10 + + Defaults to 2. + + angle : int or float, optional + The angle of the arrows in degrees. + Defaults to 0. + + aspect_ratio : int or float, optional + The ratio of the length of arrow_x and arrow_y. + Negative numbers can be used to change the direction. + Defaults to 1. + + pad : int or float, optional + Padding around the labels and arrows, in fraction of the font + size. Defaults to 0.4. + + borderpad : int or float, optional + Border padding, in fraction of the font size. + Defaults to 0.4. + + frameon : bool, optional + If True, draw a box around the arrows and labels. + Defaults to False. + + color : str, optional + Color for the arrows and labels. + Defaults to white. + + alpha : int or float, optional + Alpha values of the arrows and labels + Defaults to 1. + + sep_x, sep_y : int or float, optional + Separation between the arrows and labels in coordinates of + *transform*. Defaults to 0.01 and 0. + + fontproperties : `matplotlib.font_manager.FontProperties`, optional + Font properties for the label text. + + back_length : float, optional + Fraction of the arrow behind the arrow crossing. + Defaults to 0.15. + + head_width : int or float, optional + Width of arrow head, sent to ArrowStyle. + Defaults to 10. + + head_length : int or float, optional + Length of arrow head, sent to ArrowStyle. + Defaults to 15. + + tail_width : int or float, optional + Width of arrow tail, sent to ArrowStyle. + Defaults to 2. + + text_props, arrow_props : dict + Properties of the text and arrows, passed to + :class:`matplotlib.text.TextPath` and + `matplotlib.patches.FancyArrowPatch` + + **kwargs : + Keyworded arguments to pass to + :class:`matplotlib.offsetbox.AnchoredOffsetbox`. + + Attributes + ---------- + arrow_x, arrow_y : `matplotlib.patches.FancyArrowPatch` + Arrow x and y + + text_path_x, text_path_y : `matplotlib.text.TextPath` + Path for arrow labels + + p_x, p_y : `matplotlib.patches.PathPatch` + Patch for arrow labels + + box : `matplotlib.offsetbox.AuxTransformBox` + Container for the arrows and labels. + + Notes + ----- + If *prop* is passed as a keyword argument, but *fontproperties* is + not, then *prop* is be assumed to be the intended *fontproperties*. + Using both *prop* and *fontproperties* is not supported. + + Examples + -------- + >>> import matplotlib.pyplot as plt + >>> import numpy as np + >>> from mpl_toolkits.axes_grid1.anchored_artists import \ + ... AnchoredDirectionArrows + >>> fig, ax = plt.subplots() + >>> ax.imshow(np.random.random((10,10))) + >>> arrows = AnchoredDirectionArrows(ax.transAxes, '111', '110') + >>> ax.add_artist(arrows) + >>> fig.show() + + Using several of the optional parameters, creating downward pointing + arrow and high contrast text labels. + + >>> import matplotlib.font_manager as fm + >>> fontprops = fm.FontProperties(family='monospace') + >>> arrows = AnchoredDirectionArrows(ax.transAxes, 'East', 'South', + ... loc='lower left', color='k', aspect_ratio=-1, sep_x=0.02, + ... sep_y=-0.01, text_props={'ec':'w', 'fc':'k'}, + ... fontproperties=fontprops) + """ + if arrow_props is None: + arrow_props = {} + + if text_props is None: + text_props = {} + + arrowstyle = ArrowStyle("Simple", + head_width=head_width, + head_length=head_length, + tail_width=tail_width) + + if fontproperties is None and 'prop' in kwargs: + fontproperties = kwargs.pop('prop') + + if 'color' not in arrow_props: + arrow_props['color'] = color + + if 'alpha' not in arrow_props: + arrow_props['alpha'] = alpha + + if 'color' not in text_props: + text_props['color'] = color + + if 'alpha' not in text_props: + text_props['alpha'] = alpha + + t_start = transform + t_end = t_start + transforms.Affine2D().rotate_deg(angle) + + self.box = AuxTransformBox(t_end) + + length_x = length + length_y = length*aspect_ratio + + self.arrow_x = FancyArrowPatch( + (0, back_length*length_y), + (length_x, back_length*length_y), + arrowstyle=arrowstyle, + shrinkA=0.0, + shrinkB=0.0, + **arrow_props) + + self.arrow_y = FancyArrowPatch( + (back_length*length_x, 0), + (back_length*length_x, length_y), + arrowstyle=arrowstyle, + shrinkA=0.0, + shrinkB=0.0, + **arrow_props) + + self.box.add_artist(self.arrow_x) + self.box.add_artist(self.arrow_y) + + text_path_x = TextPath(( + length_x+sep_x, back_length*length_y+sep_y), label_x, + size=fontsize, prop=fontproperties) + self.p_x = PathPatch(text_path_x, transform=t_start, **text_props) + self.box.add_artist(self.p_x) + + text_path_y = TextPath(( + length_x*back_length+sep_x, length_y*(1-back_length)+sep_y), + label_y, size=fontsize, prop=fontproperties) + self.p_y = PathPatch(text_path_y, **text_props) + self.box.add_artist(self.p_y) + + AnchoredOffsetbox.__init__(self, loc, pad=pad, borderpad=borderpad, + child=self.box, + frameon=frameon, **kwargs) diff --git a/lib/mpl_toolkits/tests/baseline_images/test_axes_grid1/anchored_direction_arrows.png b/lib/mpl_toolkits/tests/baseline_images/test_axes_grid1/anchored_direction_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..cb3a57b30e24962d9b028924f1f1f3eb94193a45 GIT binary patch literal 10784 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 literal 0 HcmV?d00001 diff --git a/lib/mpl_toolkits/tests/baseline_images/test_axes_grid1/anchored_direction_arrows_many_args.png b/lib/mpl_toolkits/tests/baseline_images/test_axes_grid1/anchored_direction_arrows_many_args.png new file mode 100644 index 0000000000000000000000000000000000000000..a0fbc804f1409837e83ed483211b88d90ecea7bc GIT binary patch literal 11039 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 literal 0 HcmV?d00001 diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py index 8838a7328e96..2d4556bf57af 100644 --- a/lib/mpl_toolkits/tests/test_axes_grid1.py +++ b/lib/mpl_toolkits/tests/test_axes_grid1.py @@ -13,7 +13,9 @@ inset_axes, BboxConnectorPatch ) -from mpl_toolkits.axes_grid1.anchored_artists import AnchoredSizeBar +from mpl_toolkits.axes_grid1.anchored_artists import ( + AnchoredSizeBar, + AnchoredDirectionArrows) from matplotlib.colors import LogNorm from matplotlib.transforms import Bbox, TransformedBbox, \ @@ -322,3 +324,27 @@ def test_zooming_with_inverted_axes(): ax.axis([3, 1, 3, 1]) inset_ax = zoomed_inset_axes(ax, zoom=2.5, loc=4) inset_ax.axis([1.4, 1.1, 1.4, 1.1]) + + +@image_comparison(baseline_images=['anchored_direction_arrows'], + extensions=['png']) +def test_anchored_direction_arrows(): + fig, ax = plt.subplots() + ax.imshow(np.zeros((10, 10))) + + simple_arrow = AnchoredDirectionArrows(ax.transAxes, 'X', 'Y') + ax.add_artist(simple_arrow) + + +@image_comparison(baseline_images=['anchored_direction_arrows_many_args'], + extensions=['png']) +def test_anchored_direction_arrows_many_args(): + fig, ax = plt.subplots() + ax.imshow(np.ones((10, 10))) + + direction_arrows = AnchoredDirectionArrows( + ax.transAxes, 'A', 'B', loc='upper right', color='red', + aspect_ratio=-0.5, pad=0.6, borderpad=2, frameon=True, alpha=0.7, + sep_x=-0.06, sep_y=-0.08, back_length=0.1, head_width=9, + head_length=10, tail_width=5) + ax.add_artist(direction_arrows) From 206c3cab70d9de0f56a79610fdb4a414f09e62b1 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Fri, 27 Apr 2018 02:55:29 +0200 Subject: [PATCH 0590/1161] DOC: Rewrite parts of imshow origin/extent handling --- doc/_static/mpl.css | 2 +- tutorials/intermediate/imshow_extent.py | 234 +++++++++++++----------- 2 files changed, 132 insertions(+), 104 deletions(-) diff --git a/doc/_static/mpl.css b/doc/_static/mpl.css index 4e24cf579bfa..427d3c533f2b 100644 --- a/doc/_static/mpl.css +++ b/doc/_static/mpl.css @@ -416,7 +416,7 @@ div.deprecated span.versionmodified { font-weight: bold; } -div.green { +div.green, div.hint { color: #468847; background-color: #dff0d8; border: 1px solid #d6e9c6; diff --git a/tutorials/intermediate/imshow_extent.py b/tutorials/intermediate/imshow_extent.py index d709efeb2056..2e640045096a 100644 --- a/tutorials/intermediate/imshow_extent.py +++ b/tutorials/intermediate/imshow_extent.py @@ -14,6 +14,13 @@ **data coordinates**, the *origin* kwarg controls how the image fills that bounding box, and the orientation in the final rendered image is also affected by the axes limits. + +.. hint:: Most of the code below is used for adding labels and informative + text to the plots. The described effects of *origin* and *extent* can be + seen in the plots without the need to follow all code details. + + For a quick understanding, you may want to skip the code details below and + directly continue with the discussion of the results. """ import numpy as np import matplotlib.pyplot as plt @@ -34,9 +41,9 @@ def index_to_coordinate(index, extent, origin): return { "[0, 0]": (left, bottom), - "[N', 0]": (left, top), - "[0, M']": (right, bottom), - "[N', M']": (right, top), + "[M', 0]": (left, top), + "[0, N']": (right, bottom), + "[M', N']": (right, top), }[index] @@ -60,9 +67,9 @@ def get_color(index, data, cmap): """Return the data color of an index.""" val = { "[0, 0]": data[0, 0], - "[0, M']": data[0, -1], - "[N', 0]": data[-1, 0], - "[N', M']": data[-1, -1], + "[0, N']": data[0, -1], + "[M', 0]": data[-1, 0], + "[M', N']": data[-1, -1], }[index] return cmap(val / data.max()) @@ -80,7 +87,52 @@ def set_extent_None_text(ax): ha='center', va='center', color='w') -def generate_imshow_demo_grid(extents, auto_limits): +def plot_imshow_with_labels(ax, data, extent, origin, xlim, ylim): + """Actually run ``imshow()`` and add extent and index labels.""" + im = ax.imshow(data, origin=origin, extent=extent) + + # extent labels (left, right, bottom, top) + left, right, bottom, top = im.get_extent() + if xlim is None or top > bottom: + upper_string, lower_string = 'top', 'bottom' + else: + upper_string, lower_string = 'bottom', 'top' + if ylim is None or left < right: + port_string, starboard_string = 'left', 'right' + inverted_xindex = False + else: + port_string, starboard_string = 'right', 'left' + inverted_xindex = True + bbox_kwargs = {'fc': 'w', 'alpha': .75, 'boxstyle': "round4"} + ann_kwargs = {'xycoords': 'axes fraction', + 'textcoords': 'offset points', + 'bbox': bbox_kwargs} + ax.annotate(upper_string, xy=(.5, 1), xytext=(0, -1), + ha='center', va='top', **ann_kwargs) + ax.annotate(lower_string, xy=(.5, 0), xytext=(0, 1), + ha='center', va='bottom', **ann_kwargs) + ax.annotate(port_string, xy=(0, .5), xytext=(1, 0), + ha='left', va='center', rotation=90, + **ann_kwargs) + ax.annotate(starboard_string, xy=(1, .5), xytext=(-1, 0), + ha='right', va='center', rotation=-90, + **ann_kwargs) + ax.set_title('origin: {origin}'.format(origin=origin)) + + # index labels + for index in ["[0, 0]", "[0, N']", "[M', 0]", "[M', N']"]: + tx, ty, halign = get_index_label_pos(index, extent, origin, + inverted_xindex) + facecolor = get_color(index, data, im.get_cmap()) + ax.text(tx, ty, index, color='white', ha=halign, va='center', + bbox={'boxstyle': 'square', 'facecolor': facecolor}) + if xlim: + ax.set_xlim(*xlim) + if ylim: + ax.set_ylim(*ylim) + + +def generate_imshow_demo_grid(extents, xlim=None, ylim=None): N = len(extents) fig = plt.figure(tight_layout=True) fig.set_size_inches(6, N * (11.25) / 5) @@ -90,54 +142,11 @@ def generate_imshow_demo_grid(extents, auto_limits): 'upper': [fig.add_subplot(gs[j, 1:3]) for j in range(N)], 'lower': [fig.add_subplot(gs[j, 3:5]) for j in range(N)]} x, y = np.ogrid[0:6, 0:7] - d = x + y + data = x + y for origin in ['upper', 'lower']: for ax, extent in zip(columns[origin], extents): - - im = ax.imshow(d, origin=origin, extent=extent) - left, right, bottom, top = im.get_extent() - - if auto_limits or top > bottom: - upper_string, lower_string = 'top', 'bottom' - else: - upper_string, lower_string = 'bottom', 'top' - - if auto_limits or left < right: - port_string, starboard_string = 'left', 'right' - inverted_xindex = False - else: - port_string, starboard_string = 'right', 'left' - inverted_xindex = True - - bbox_kwargs = {'fc': 'w', 'alpha': .75, 'boxstyle': "round4"} - ann_kwargs = {'xycoords': 'axes fraction', - 'textcoords': 'offset points', - 'bbox': bbox_kwargs} - - ax.annotate(upper_string, xy=(.5, 1), xytext=(0, -1), - ha='center', va='top', **ann_kwargs) - ax.annotate(lower_string, xy=(.5, 0), xytext=(0, 1), - ha='center', va='bottom', **ann_kwargs) - ax.annotate(port_string, xy=(0, .5), xytext=(1, 0), - ha='left', va='center', rotation=90, - **ann_kwargs) - ax.annotate(starboard_string, xy=(1, .5), xytext=(-1, 0), - ha='right', va='center', rotation=-90, - **ann_kwargs) - - ax.set_title('origin: {origin}'.format(origin=origin)) - - for index in ["[0, 0]", "[0, M']", "[N', 0]", "[N', M']"]: - tx, ty, halign = get_index_label_pos(index, extent, origin, - inverted_xindex) - facecolor = get_color(index, d, im.get_cmap()) - ax.text(tx, ty, index, color='white', ha=halign, va='center', - bbox={'boxstyle': 'square', 'facecolor': facecolor}) - - if not auto_limits: - ax.set_xlim(-1, 7) - ax.set_ylim(-1, 6) + plot_imshow_with_labels(ax, data, extent, origin, xlim, ylim) for ax, extent in zip(columns['label'], extents): text_kwargs = {'ha': 'right', @@ -158,80 +167,99 @@ def generate_imshow_demo_grid(extents, auto_limits): return columns -extents = (None, - (-0.5, 6.5, -0.5, 5.5), - (-0.5, 6.5, 5.5, -0.5), - (6.5, -0.5, -0.5, 5.5), - (6.5, -0.5, 5.5, -0.5)) - +############################################################################### +# +# Default extent +# -------------- +# +# First, let's have a look at the default `extent=None` +generate_imshow_demo_grid(extents=[None]) ############################################################################### # +# Generally, for an array of shape (M, N), the first index runs along the +# vertical, the second index runs along the horizontal. +# The pixel centers are at integer positions ranging from 0 to ``N' = N - 1`` +# horizontally and from 0 to ``M' = M - 1`` vertically. +# *origin* determines how to the data is filled in the bounding box. # -# First, using *extent* we pick a bounding box in dataspace that the -# image will fill and then interpolate/resample the underlying data to -# fill that box. +# For ``origin='lower'``: # -# - If ``origin='lower'`` than the ``[0, 0]`` entry is closest to the -# ``(left, bottom)`` corner of the bounding box and moving closer to -# ``(left, top)`` moves along the ``[:, 0]`` axis of the array to -# higher indexed rows and moving towards ``(right, bottom)`` moves you -# along the ``[0, :]`` axis of the array to higher indexed columns +# - [0, 0] is at (left, bottom) +# - [M', 0] is at (left, top) +# - [0, N'] is at (right, bottom) +# - [M', N'] is at (right, top) # -# - If ``origin='upper'`` then the ``[-1, 0]`` entry is closest to the -# ``(left, bottom)`` corner of the bounding box and moving towards -# ``(left, top)`` moves along the ``[:, 0]`` axis of the array to -# lower index rows and moving towards ``(right, bottom)`` moves you -# along the ``[-1, :]`` axis of the array to higher indexed columns - -generate_imshow_demo_grid(extents[:1], auto_limits=True) - -############################################################################### +# ``origin='upper'`` reverses the vertical axes direction and filling: +# +# - [0, 0] is at (left, top) +# - [M', 0] is at (left, bottom) +# - [0, N'] is at (right, top) +# - [M', N'] is at (right, bottom) +# +# In summary, the position of the [0, 0] index as well as the extent are +# influenced by *origin*: +# +# ====== =============== ========================================== +# origin [0, 0] position extent +# ====== =============== ========================================== +# upper top left ``(-0.5, numcols-0.5, numrows-0.5, -0.5)`` +# lower bottom left ``(-0.5, numcols-0.5, -0.5, numrows-0.5)`` +# ====== =============== ========================================== +# +# The default value of *origin* is set by :rc:`image.origin` which defaults +# to ``'upper'`` to match the matrix indexing conventions in math and +# computer graphics image indexing conventions. +# +# +# Explicit extent +# --------------- # -# If we only specify *origin* we can see why it is so named. For -# ``origin='upper'`` the ``[0, 0]`` pixel is on the upper left and for -# ``origin='lower'`` the ``[0, 0]`` pixel is in the lower left [#]_. -# The gray arrows are attached to the ``(left, bottom)`` corner of the -# image. There are two tricky things going on here: first the default -# value of *extent* depends on the value of *origin* and second the x -# and y limits are adjusted to match the extent. The default *extent* -# is ``(-0.5, numcols-0.5, numrows-0.5, -0.5)`` when ``origin == -# 'upper'`` and ``(-0.5, numcols-0.5, -0.5, numrows-0.5)`` when ``origin -# == 'lower'`` which puts the pixel centers on integer positions and the -# ``[0, 0]`` pixel at ``(0, 0)`` in dataspace. -# -# -# .. [#] The default value of *origin* is set by :rc:`image.origin` -# which defaults to ``'upper'`` to match the matrix indexing -# conventions in math and computer graphics image indexing -# conventions. -# -# If the axes is set to autoscale, then view limits of the axes are set +# By setting *extent* we define the coordinates of the image area. The +# underlying image data is interpolated/resampled to fill that area. +# +# If the axes is set to autoscale, then the view limits of the axes are set # to match the *extent* which ensures that the coordinate set by # ``(left, bottom)`` is at the bottom left of the axes! However, this # may invert the axis so they do not increase in the 'natural' direction. # -columns = generate_imshow_demo_grid(extents[1:], auto_limits=True) +extents = [(-0.5, 6.5, -0.5, 5.5), + (-0.5, 6.5, 5.5, -0.5), + (6.5, -0.5, -0.5, 5.5), + (6.5, -0.5, 5.5, -0.5)] + +columns = generate_imshow_demo_grid(extents) set_extent_None_text(columns['upper'][1]) set_extent_None_text(columns['lower'][0]) ############################################################################### # -# If we fix the axes limits so ``(0, 0)`` is at the bottom left and -# increases to up and to the right (from the viewer point of view) then -# we can see that: +# Explicit extent and axes limits +# ------------------------------- +# +# If we fix the axes limits by explicity setting `set_xlim` / `set_ylim`, we +# force a certain size and orientation of the axes. +# This can decouple the 'left-right' and 'top-bottom' sense of the image from +# the orientation on the screen. +# +# In the example below we have chosen the limits slightly larger than the +# extent (note the white areas within the Axes). +# +# While we keep the extents as in the examples before, the coordinate (0, 0) +# is now explicitly put at the bottom left and values increase to up and to +# the right (from the viewer point of view). +# We can see that: # -# - The ``(left, bottom)`` anchors the image which then fills the +# - The coordinate ``(left, bottom)`` anchors the image which then fills the # box going towards the ``(right, top)`` point in data space. # - The first column is always closest to the 'left'. # - *origin* controls if the first row is closest to 'top' or 'bottom'. # - The image may be inverted along either direction. -# - The 'left-right' and 'top-bottom' sense of the image is uncoupled from +# - The 'left-right' and 'top-bottom' sense of the image may be uncoupled from # the orientation on the screen. -columns = generate_imshow_demo_grid(extents, auto_limits=False) -set_extent_None_text(columns['upper'][2]) -set_extent_None_text(columns['lower'][1]) +generate_imshow_demo_grid(extents=[None] + extents, + xlim=(-2, 8), ylim=(-1, 6)) From d1104e37eb2f30e7c6869e1f9aec6f9e08d2e0b5 Mon Sep 17 00:00:00 2001 From: Zac-HD <zac.hatfield.dodds@gmail.com> Date: Sun, 29 Apr 2018 18:05:56 +1000 Subject: [PATCH 0591/1161] Use kwonlyargs instead of popping from kwargs --- doc/api/next_api_changes/2018-04-30-ZHD.rst | 13 ++++ doc/devel/contributing.rst | 11 ++- lib/matplotlib/axes/_axes.py | 81 ++++---------------- lib/matplotlib/backend_bases.py | 4 +- lib/matplotlib/backends/backend_ps.py | 17 +++-- lib/matplotlib/colorbar.py | 6 +- lib/matplotlib/contour.py | 33 ++++---- lib/matplotlib/figure.py | 9 ++- lib/matplotlib/quiver.py | 84 +++++++++++---------- lib/matplotlib/stackplot.py | 9 +-- lib/matplotlib/tri/tripcolor.py | 11 +-- lib/mpl_toolkits/axes_grid1/axes_divider.py | 13 +--- lib/mpl_toolkits/axes_grid1/colorbar.py | 5 +- lib/mpl_toolkits/mplot3d/art3d.py | 8 +- lib/mpl_toolkits/mplot3d/axes3d.py | 20 ++--- 15 files changed, 129 insertions(+), 195 deletions(-) create mode 100644 doc/api/next_api_changes/2018-04-30-ZHD.rst diff --git a/doc/api/next_api_changes/2018-04-30-ZHD.rst b/doc/api/next_api_changes/2018-04-30-ZHD.rst new file mode 100644 index 000000000000..ac4c1e71bbf3 --- /dev/null +++ b/doc/api/next_api_changes/2018-04-30-ZHD.rst @@ -0,0 +1,13 @@ +Explicit arguments instead of \*args, \*\*kwargs +------------------------------------------------ + +:PEP:`3102` describes keyword-only arguments, which allow Matplotlib +to provide explicit call signatures - where we previously used +``*args, **kwargs`` and ``kwargs.pop``, we can now expose named +arguments. In some places, unknown kwargs were previously ignored but +now raise ``TypeError`` because ``**kwargs`` has been removed. + +- :meth:`matplotlib.axes.Axes.stem` no longer accepts unknown keywords, + and raises ``TypeError`` instead of emitting a deprecation. +- :meth:`mpl_toolkits.axes_grid1.axes_divider.SubPlotDivider` raises + ``TypeError`` instead of ``Exception`` when passed unknown kwargs. diff --git a/doc/devel/contributing.rst b/doc/devel/contributing.rst index 16bf170b5be1..3821297366f1 100644 --- a/doc/devel/contributing.rst +++ b/doc/devel/contributing.rst @@ -394,17 +394,16 @@ on, use the key/value keyword args in the function definition rather than the ``**kwargs`` idiom. In some cases, you may want to consume some keys in the local -function, and let others pass through. You can ``pop`` the ones to be -used locally and pass on the rest. For example, in +function, and let others pass through. Instead of poping arguments to +use off ``**kwargs``, specify them as keyword-only arguments to the local +function. This makes it obvious at a glance which arguments will be +consumed in the function. For example, in :meth:`~matplotlib.axes.Axes.plot`, ``scalex`` and ``scaley`` are local arguments and the rest are passed on as :meth:`~matplotlib.lines.Line2D` keyword arguments:: # in axes/_axes.py - def plot(self, *args, **kwargs): - scalex = kwargs.pop('scalex', True) - scaley = kwargs.pop('scaley', True) - if not self._hold: self.cla() + def plot(self, *args, scalex=True, scaley=True, **kwargs): lines = [] for line in self._get_lines(*args, **kwargs): self.add_line(line) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 94e054847fc5..cbf97d1f68e7 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -1114,7 +1114,7 @@ def eventplot(self, positions, orientation='horizontal', lineoffsets=1, positional_parameter_names=_plot_args_replacer, label_namer=None) @docstring.dedent_interpd - def plot(self, *args, **kwargs): + def plot(self, *args, scalex=True, scaley=True, **kwargs): """ Plot y versus x as lines and/or markers. @@ -1341,8 +1341,6 @@ def plot(self, *args, **kwargs): 'k^:' # black triangle_up markers connected by a dotted line """ - scalex = kwargs.pop('scalex', True) - scaley = kwargs.pop('scaley', True) lines = [] kwargs = cbook.normalize_kwargs(kwargs, mlines.Line2D._alias_map) @@ -1734,7 +1732,7 @@ def xcorr(self, x, y, normed=True, detrend=mlab.detrend_none, #### Specialized plotting @_preprocess_data(replace_names=["x", "y"], label_namer="y") - def step(self, x, y, *args, **kwargs): + def step(self, x, y, *args, where='pre', linestyle='', **kwargs): """ Make a step plot. @@ -1795,12 +1793,10 @@ def step(self, x, y, *args, **kwargs): ----- .. [notes section required to get data note injection right] """ - where = kwargs.pop('where', 'pre') if where not in ('pre', 'post', 'mid'): raise ValueError("'where' argument to step must be " "'pre', 'post' or 'mid'") - usr_linestyle = kwargs.pop('linestyle', '') - kwargs['linestyle'] = 'steps-' + where + usr_linestyle + kwargs['linestyle'] = 'steps-' + where + linestyle return self.plot(x, y, *args, **kwargs) @@ -2268,7 +2264,8 @@ def broken_barh(self, xranges, yrange, **kwargs): return col @_preprocess_data(replace_all_args=True, label_namer=None) - def stem(self, *args, **kwargs): + def stem(self, *args, linefmt=None, markerfmt=None, basefmt=None, + bottom=0, label=None): """ Create a stem plot. @@ -2328,15 +2325,6 @@ def stem(self, *args, **kwargs): The label to use for the stems in legends. - Other Parameters - ---------------- - **kwargs - No other parameters are supported. They are currently ignored - silently for backward compatibility. This behavior is deprecated. - Future versions will not accept any other parameters and will - raise a TypeError instead. - - Returns ------- :class:`~matplotlib.container.StemContainer` @@ -2353,41 +2341,18 @@ def stem(self, *args, **kwargs): which inspired this method. """ - - # kwargs handling - # We would like to have a signature with explicit kewords: - # stem(*args, linefmt=None, markerfmt=None, basefmt=None, - # bottom=0, label=None) - # Unfortunately, this is not supported in Python 2.x. There, *args - # can only exist after keyword arguments. - linefmt = kwargs.pop('linefmt', None) - markerfmt = kwargs.pop('markerfmt', None) - basefmt = kwargs.pop('basefmt', None) - bottom = kwargs.pop('bottom', None) - if bottom is None: - bottom = 0 - label = kwargs.pop('label', None) - if kwargs: - warn_deprecated(since='2.2', - message="stem() got an unexpected keyword " - "argument '%s'. This will raise a " - "TypeError in future versions." % ( - next(k for k in kwargs), ) - ) - # Assume there's at least one data array y = np.asarray(args[0]) args = args[1:] # Try a second one try: - second = np.asarray(args[0], dtype=float) - x, y = y, second - args = args[1:] + x, y = y, np.asarray(args[0], dtype=float) except (IndexError, ValueError): # The second array doesn't make sense, or it doesn't exist - second = np.arange(len(y)) - x = second + x = np.arange(len(y)) + else: + args = args[1:] # defaults for formats if linefmt is None: @@ -5242,7 +5207,8 @@ def _pcolorargs(funcname, *args, allmatch=False): @_preprocess_data(label_namer=None) @docstring.dedent_interpd - def pcolor(self, *args, **kwargs): + def pcolor(self, *args, alpha=None, norm=None, cmap=None, vmin=None, + vmax=None, **kwargs): """ Create a pseudocolor plot of a 2-D array. @@ -5381,12 +5347,6 @@ def pcolor(self, *args, **kwargs): not specified, or if ``X`` and ``Y`` have one more row and column than ``C``. """ - alpha = kwargs.pop('alpha', None) - norm = kwargs.pop('norm', None) - cmap = kwargs.pop('cmap', None) - vmin = kwargs.pop('vmin', None) - vmax = kwargs.pop('vmax', None) - X, Y, C = self._pcolorargs('pcolor', *args, allmatch=False) Ny, Nx = X.shape @@ -5488,7 +5448,8 @@ def pcolor(self, *args, **kwargs): @_preprocess_data(label_namer=None) @docstring.dedent_interpd - def pcolormesh(self, *args, **kwargs): + def pcolormesh(self, *args, alpha=None, norm=None, cmap=None, vmin=None, + vmax=None, shading='flat', antialiased=False, **kwargs): """ Plot a quadrilateral mesh. @@ -5564,13 +5525,7 @@ def pcolormesh(self, *args, **kwargs): %(QuadMesh)s """ - alpha = kwargs.pop('alpha', None) - norm = kwargs.pop('norm', None) - cmap = kwargs.pop('cmap', None) - vmin = kwargs.pop('vmin', None) - vmax = kwargs.pop('vmax', None) - shading = kwargs.pop('shading', 'flat').lower() - antialiased = kwargs.pop('antialiased', False) + shading = shading.lower() kwargs.setdefault('edgecolors', 'None') allmatch = (shading == 'gouraud') @@ -5625,7 +5580,8 @@ def pcolormesh(self, *args, **kwargs): @_preprocess_data(label_namer=None) @docstring.dedent_interpd - def pcolorfast(self, *args, **kwargs): + def pcolorfast(self, *args, alpha=None, norm=None, cmap=None, vmin=None, + vmax=None, **kwargs): """ pseudocolor plot of a 2-D array @@ -5707,11 +5663,6 @@ def pcolorfast(self, *args, **kwargs): collection in the general quadrilateral case. """ - alpha = kwargs.pop('alpha', None) - norm = kwargs.pop('norm', None) - cmap = kwargs.pop('cmap', None) - vmin = kwargs.pop('vmin', None) - vmax = kwargs.pop('vmax', None) if norm is not None and not isinstance(norm, mcolors.Normalize): raise ValueError( "'norm' must be an instance of 'mcolors.Normalize'") diff --git a/lib/matplotlib/backend_bases.py b/lib/matplotlib/backend_bases.py index 5e9aed3cf332..030e21f7687f 100644 --- a/lib/matplotlib/backend_bases.py +++ b/lib/matplotlib/backend_bases.py @@ -2084,7 +2084,8 @@ def _get_output_canvas(self, fmt): .format(fmt, ", ".join(sorted(self.get_supported_filetypes())))) def print_figure(self, filename, dpi=None, facecolor=None, edgecolor=None, - orientation='portrait', format=None, **kwargs): + orientation='portrait', format=None, + *, bbox_inches=None, **kwargs): """ Render the figure to hardcopy. Set the figure patch face and edge colors. This is useful because some of the GUIs have a gray figure @@ -2165,7 +2166,6 @@ def print_figure(self, filename, dpi=None, facecolor=None, edgecolor=None, self.figure.set_facecolor(facecolor) self.figure.set_edgecolor(edgecolor) - bbox_inches = kwargs.pop("bbox_inches", None) if bbox_inches is None: bbox_inches = rcParams['savefig.bbox'] diff --git a/lib/matplotlib/backends/backend_ps.py b/lib/matplotlib/backends/backend_ps.py index 58ffbd400e69..e02b37df7c5c 100644 --- a/lib/matplotlib/backends/backend_ps.py +++ b/lib/matplotlib/backends/backend_ps.py @@ -930,8 +930,12 @@ def print_ps(self, outfile, *args, **kwargs): def print_eps(self, outfile, *args, **kwargs): return self._print_ps(outfile, 'eps', *args, **kwargs) - def _print_ps(self, outfile, format, *args, **kwargs): - papertype = kwargs.pop("papertype", rcParams['ps.papersize']) + def _print_ps(self, outfile, format, *args, + papertype=None, dpi=72, facecolor='w', edgecolor='w', + orientation='portrait', + **kwargs): + if papertype is None: + papertype = rcParams['ps.papersize'] papertype = papertype.lower() if papertype == 'auto': pass @@ -939,22 +943,19 @@ def _print_ps(self, outfile, format, *args, **kwargs): raise RuntimeError('%s is not a valid papertype. Use one of %s' % (papertype, ', '.join(papersize))) - orientation = kwargs.pop("orientation", "portrait").lower() + orientation = orientation.lower() if orientation == 'landscape': isLandscape = True elif orientation == 'portrait': isLandscape = False else: raise RuntimeError('Orientation must be "portrait" or "landscape"') self.figure.set_dpi(72) # Override the dpi kwarg - imagedpi = kwargs.pop("dpi", 72) - facecolor = kwargs.pop("facecolor", "w") - edgecolor = kwargs.pop("edgecolor", "w") if rcParams['text.usetex']: - self._print_figure_tex(outfile, format, imagedpi, facecolor, edgecolor, + self._print_figure_tex(outfile, format, dpi, facecolor, edgecolor, orientation, isLandscape, papertype, **kwargs) else: - self._print_figure(outfile, format, imagedpi, facecolor, edgecolor, + self._print_figure(outfile, format, dpi, facecolor, edgecolor, orientation, isLandscape, papertype, **kwargs) diff --git a/lib/matplotlib/colorbar.py b/lib/matplotlib/colorbar.py index 1757abbb18b9..eb2b7172fb80 100644 --- a/lib/matplotlib/colorbar.py +++ b/lib/matplotlib/colorbar.py @@ -1323,7 +1323,7 @@ def make_axes(parents, location=None, orientation=None, fraction=0.15, @docstring.Substitution(make_axes_kw_doc) -def make_axes_gridspec(parent, **kw): +def make_axes_gridspec(parent, *, fraction=0.15, shrink=1.0, aspect=20, **kw): ''' Resize and reposition a parent axes, and return a child axes suitable for a colorbar. This function is similar to @@ -1360,10 +1360,6 @@ def make_axes_gridspec(parent, **kw): orientation = kw.setdefault('orientation', 'vertical') kw['ticklocation'] = 'auto' - fraction = kw.pop('fraction', 0.15) - shrink = kw.pop('shrink', 1.0) - aspect = kw.pop('aspect', 20) - x1 = 1 - fraction # for shrinking diff --git a/lib/matplotlib/contour.py b/lib/matplotlib/contour.py index 820fb7724f0e..e3c741bed91d 100644 --- a/lib/matplotlib/contour.py +++ b/lib/matplotlib/contour.py @@ -791,7 +791,12 @@ class ContourSet(cm.ScalarMappable, ContourLabeler): levels for filled contours. See :meth:`_process_colors`. """ - def __init__(self, ax, *args, **kwargs): + def __init__(self, ax, *args, + levels=None, filled=False, linewidths=None, linestyles=None, + alpha=None, origin=None, extent=None, + cmap=None, colors=None, norm=None, vmin=None, vmax=None, + extend='neither', antialiased=None, + **kwargs): """ Draw contour lines or filled regions, depending on whether keyword arg *filled* is ``False`` (default) or ``True``. @@ -837,23 +842,17 @@ def __init__(self, ax, *args, **kwargs): `~axes.Axes.contour`. """ self.ax = ax - self.levels = kwargs.pop('levels', None) - self.filled = kwargs.pop('filled', False) - self.linewidths = kwargs.pop('linewidths', None) - self.linestyles = kwargs.pop('linestyles', None) - + self.levels = levels + self.filled = filled + self.linewidths = linewidths + self.linestyles = linestyles self.hatches = kwargs.pop('hatches', [None]) - - self.alpha = kwargs.pop('alpha', None) - self.origin = kwargs.pop('origin', None) - self.extent = kwargs.pop('extent', None) - cmap = kwargs.pop('cmap', None) - self.colors = kwargs.pop('colors', None) - norm = kwargs.pop('norm', None) - vmin = kwargs.pop('vmin', None) - vmax = kwargs.pop('vmax', None) - self.extend = kwargs.pop('extend', 'neither') - self.antialiased = kwargs.pop('antialiased', None) + self.alpha = alpha + self.origin = origin + self.extent = extent + self.colors = colors + self.extend = extend + self.antialiased = antialiased if self.antialiased is None and self.filled: self.antialiased = False # eliminate artifacts; we are not # stroking the boundaries. diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index da1d07d91c36..e2fca38313a2 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -1758,7 +1758,7 @@ def add_axobserver(self, func): """Whenever the axes state change, ``func(self)`` will be called.""" self._axobservers.append(func) - def savefig(self, fname, **kwargs): + def savefig(self, fname, *, frameon=None, transparent=None, **kwargs): """ Save the current figure. @@ -1842,9 +1842,10 @@ def savefig(self, fname, **kwargs): """ kwargs.setdefault('dpi', rcParams['savefig.dpi']) - frameon = kwargs.pop('frameon', rcParams['savefig.frameon']) - transparent = kwargs.pop('transparent', - rcParams['savefig.transparent']) + if frameon is None: + frameon = rcParams['savefig.frameon'] + if transparent is None: + transparent = rcParams['savefig.transparent'] if transparent: kwargs.setdefault('facecolor', 'none') diff --git a/lib/matplotlib/quiver.py b/lib/matplotlib/quiver.py index dec116363771..65a34c0874cb 100644 --- a/lib/matplotlib/quiver.py +++ b/lib/matplotlib/quiver.py @@ -238,17 +238,20 @@ class QuiverKey(martist.Artist): valign = {'N': 'bottom', 'S': 'top', 'E': 'center', 'W': 'center'} pivot = {'N': 'middle', 'S': 'middle', 'E': 'tip', 'W': 'tail'} - def __init__(self, Q, X, Y, U, label, **kw): + def __init__(self, Q, X, Y, U, label, + *, angle=0, coordinates='axes', color=None, labelsep=0.1, + labelpos='N', labelcolor=None, fontproperties=None, + **kw): martist.Artist.__init__(self) self.Q = Q self.X = X self.Y = Y self.U = U - self.angle = kw.pop('angle', 0) - self.coord = kw.pop('coordinates', 'axes') - self.color = kw.pop('color', None) + self.angle = angle + self.coord = coordinates + self.color = color self.label = label - self._labelsep_inches = kw.pop('labelsep', 0.1) + self._labelsep_inches = labelsep self.labelsep = (self._labelsep_inches * Q.ax.figure.dpi) # try to prevent closure over the real self @@ -266,9 +269,9 @@ def on_dpi_change(fig): self._cid = Q.ax.figure.callbacks.connect('dpi_changed', on_dpi_change) - self.labelpos = kw.pop('labelpos', 'N') - self.labelcolor = kw.pop('labelcolor', None) - self.fontproperties = kw.pop('fontproperties', dict()) + self.labelpos = labelpos + self.labelcolor = labelcolor + self.fontproperties = fontproperties or dict() self.kw = kw _fp = self.fontproperties # boxprops = dict(facecolor='red') @@ -426,10 +429,13 @@ class Quiver(mcollections.PolyCollection): in the draw() method. """ - _PIVOT_VALS = ('tail', 'mid', 'middle', 'tip') + _PIVOT_VALS = ('tail', 'middle', 'tip') @docstring.Substitution(_quiver_doc) - def __init__(self, ax, *args, **kw): + def __init__(self, ax, *args, + scale=None, headwidth=3, headlength=5, headaxislength=4.5, + minshaft=1, minlength=1, units='width', scale_units=None, + angles='uv', width=None, color='k', pivot='tail', **kw): """ The constructor takes one required argument, an Axes instance, followed by the args and kwargs described @@ -442,28 +448,25 @@ def __init__(self, ax, *args, **kw): self.Y = Y self.XY = np.column_stack((X, Y)) self.N = len(X) - self.scale = kw.pop('scale', None) - self.headwidth = kw.pop('headwidth', 3) - self.headlength = float(kw.pop('headlength', 5)) - self.headaxislength = kw.pop('headaxislength', 4.5) - self.minshaft = kw.pop('minshaft', 1) - self.minlength = kw.pop('minlength', 1) - self.units = kw.pop('units', 'width') - self.scale_units = kw.pop('scale_units', None) - self.angles = kw.pop('angles', 'uv') - self.width = kw.pop('width', None) - self.color = kw.pop('color', 'k') - - pivot = kw.pop('pivot', 'tail').lower() - # validate pivot - if pivot not in self._PIVOT_VALS: + self.scale = scale + self.headwidth = headwidth + self.headlength = float(headlength) + self.headaxislength = headaxislength + self.minshaft = minshaft + self.minlength = minlength + self.units = units + self.scale_units = scale_units + self.angles = angles + self.width = width + self.color = color + + if pivot.lower() == 'mid': + pivot = 'middle' + self.pivot = pivot.lower() + if self.pivot not in self._PIVOT_VALS: raise ValueError( 'pivot must be one of {keys}, you passed {inp}'.format( keys=self._PIVOT_VALS, inp=pivot)) - # normalize to 'middle' - if pivot == 'mid': - pivot = 'middle' - self.pivot = pivot self.transform = kw.pop('transform', ax.transData) kw.setdefault('facecolors', self.color) @@ -902,23 +905,26 @@ class Barbs(mcollections.PolyCollection): # 1 triangle and a series of lines. It works fine as far as I can tell # however. @docstring.interpd - def __init__(self, ax, *args, **kw): + def __init__(self, ax, *args, + pivot='tip', length=7, barbcolor=None, flagcolor=None, + sizes=None, fill_empty=False, barb_increments=None, + rounding=True, flip_barb=False, **kw): """ The constructor takes one required argument, an Axes instance, followed by the args and kwargs described by the following pylab interface documentation: %(barbs_doc)s """ - self._pivot = kw.pop('pivot', 'tip') - self._length = kw.pop('length', 7) - barbcolor = kw.pop('barbcolor', None) - flagcolor = kw.pop('flagcolor', None) - self.sizes = kw.pop('sizes', dict()) - self.fill_empty = kw.pop('fill_empty', False) - self.barb_increments = kw.pop('barb_increments', dict()) - self.rounding = kw.pop('rounding', True) - self.flip = kw.pop('flip_barb', False) + self.sizes = sizes or dict() + self.fill_empty = fill_empty + self.barb_increments = barb_increments or dict() + self.rounding = rounding + self.flip = flip_barb transform = kw.pop('transform', ax.transData) + self._pivot = pivot + self._length = length + barbcolor = barbcolor + flagcolor = flagcolor # Flagcolor and barbcolor provide convenience parameters for # setting the facecolor and edgecolor, respectively, of the barb diff --git a/lib/matplotlib/stackplot.py b/lib/matplotlib/stackplot.py index eec654843aa4..0f8b72b1203a 100644 --- a/lib/matplotlib/stackplot.py +++ b/lib/matplotlib/stackplot.py @@ -11,7 +11,9 @@ __all__ = ['stackplot'] -def stackplot(axes, x, *args, **kwargs): +def stackplot(axes, x, *args, + labels=(), colors=None, baseline='zero', + **kwargs): """ Draws a stacked area plot. @@ -58,13 +60,10 @@ def stackplot(axes, x, *args, **kwargs): y = np.row_stack(args) - labels = iter(kwargs.pop('labels', [])) - - colors = kwargs.pop('colors', None) + labels = iter(labels) if colors is not None: axes.set_prop_cycle(color=colors) - baseline = kwargs.pop('baseline', 'zero') # Assume data passed has not been 'stacked', so stack it here. # We'll need a float buffer for the upcoming calculations. stack = np.cumsum(y, axis=0, dtype=np.promote_types(y.dtype, np.float32)) diff --git a/lib/matplotlib/tri/tripcolor.py b/lib/matplotlib/tri/tripcolor.py index d384a9d4808f..f72ba8c520fc 100644 --- a/lib/matplotlib/tri/tripcolor.py +++ b/lib/matplotlib/tri/tripcolor.py @@ -5,7 +5,8 @@ from matplotlib.tri.triangulation import Triangulation -def tripcolor(ax, *args, **kwargs): +def tripcolor(ax, *args, alpha=1.0, norm=None, cmap=None, vmin=None, + vmax=None, shading='flat', facecolors=None, **kwargs): """ Create a pseudocolor plot of an unstructured triangular grid. @@ -45,14 +46,6 @@ def tripcolor(ax, *args, **kwargs): The remaining kwargs are the same as for :meth:`~matplotlib.axes.Axes.pcolor`. """ - alpha = kwargs.pop('alpha', 1.0) - norm = kwargs.pop('norm', None) - cmap = kwargs.pop('cmap', None) - vmin = kwargs.pop('vmin', None) - vmax = kwargs.pop('vmax', None) - shading = kwargs.pop('shading', 'flat') - facecolors = kwargs.pop('facecolors', None) - if shading not in ['flat', 'gouraud']: raise ValueError("shading must be one of ['flat', 'gouraud'] " "not {0}".format(shading)) diff --git a/lib/mpl_toolkits/axes_grid1/axes_divider.py b/lib/mpl_toolkits/axes_grid1/axes_divider.py index fa6f07a74332..fa96eebc9a18 100644 --- a/lib/mpl_toolkits/axes_grid1/axes_divider.py +++ b/lib/mpl_toolkits/axes_grid1/axes_divider.py @@ -359,7 +359,8 @@ class SubplotDivider(Divider): The Divider class whose rectangle area is specified as a subplot geometry. """ - def __init__(self, fig, *args, **kwargs): + def __init__(self, fig, *args, horizontal=None, vertical=None, + aspect=None, anchor='C'): """ Parameters ---------- @@ -417,15 +418,7 @@ def __init__(self, fig, *args, **kwargs): pos = self.figbox.bounds - horizontal = kwargs.pop("horizontal", []) - vertical = kwargs.pop("vertical", []) - aspect = kwargs.pop("aspect", None) - anchor = kwargs.pop("anchor", "C") - - if kwargs: - raise Exception("") - - Divider.__init__(self, fig, pos, horizontal, vertical, + Divider.__init__(self, fig, pos, horizontal or [], vertical or [], aspect=aspect, anchor=anchor) def get_position(self): diff --git a/lib/mpl_toolkits/axes_grid1/colorbar.py b/lib/mpl_toolkits/axes_grid1/colorbar.py index 3a76914a6fb3..b5e28d9fa0aa 100644 --- a/lib/mpl_toolkits/axes_grid1/colorbar.py +++ b/lib/mpl_toolkits/axes_grid1/colorbar.py @@ -753,7 +753,7 @@ def update_bruteforce(self, mappable): self.add_lines(mappable) @docstring.Substitution(make_axes_kw_doc) -def make_axes(parent, **kw): +def make_axes(parent, *, fraction=0.15, shrink=1.0, aspect=20, **kw): ''' Resize and reposition a parent axes, and return a child axes suitable for a colorbar @@ -774,9 +774,6 @@ def make_axes(parent, **kw): Returns (cax, kw), the child axes and the reduced kw dictionary. ''' orientation = kw.setdefault('orientation', 'vertical') - fraction = kw.pop('fraction', 0.15) - shrink = kw.pop('shrink', 1.0) - aspect = kw.pop('aspect', 20) #pb = transforms.PBox(parent.get_position()) pb = parent.get_position(original=True).frozen() if orientation == 'vertical': diff --git a/lib/mpl_toolkits/mplot3d/art3d.py b/lib/mpl_toolkits/mplot3d/art3d.py index 4c58be8cdb52..543e1b4c7a7d 100644 --- a/lib/mpl_toolkits/mplot3d/art3d.py +++ b/lib/mpl_toolkits/mplot3d/art3d.py @@ -267,9 +267,7 @@ class Patch3D(Patch): 3D patch object. """ - def __init__(self, *args, **kwargs): - zs = kwargs.pop('zs', []) - zdir = kwargs.pop('zdir', 'z') + def __init__(self, *args, zs=(), zdir='z', **kwargs): Patch.__init__(self, *args, **kwargs) self.set_3d_properties(zs, zdir) @@ -300,9 +298,7 @@ class PathPatch3D(Patch3D): 3D PathPatch object. """ - def __init__(self, path, **kwargs): - zs = kwargs.pop('zs', []) - zdir = kwargs.pop('zdir', 'z') + def __init__(self, path, *, zs=(), zdir='z', **kwargs): Patch.__init__(self, **kwargs) self.set_3d_properties(path, zs, zdir) diff --git a/lib/mpl_toolkits/mplot3d/axes3d.py b/lib/mpl_toolkits/mplot3d/axes3d.py index ab754ce7bf79..f0e4d7984956 100644 --- a/lib/mpl_toolkits/mplot3d/axes3d.py +++ b/lib/mpl_toolkits/mplot3d/axes3d.py @@ -1528,7 +1528,7 @@ def text(self, x, y, z, s, zdir=None, **kwargs): text3D = text text2D = Axes.text - def plot(self, xs, ys, *args, **kwargs): + def plot(self, xs, ys, *args, zdir='z', **kwargs): ''' Plot 2D or 3D data. @@ -1558,7 +1558,6 @@ def plot(self, xs, ys, *args, **kwargs): raise TypeError("plot() for multiple values for argument 'z'") else: zs = kwargs.pop('zs', 0) - zdir = kwargs.pop('zdir', 'z') # Match length zs = np.broadcast_to(zs, len(xs)) @@ -1573,7 +1572,8 @@ def plot(self, xs, ys, *args, **kwargs): plot3D = plot - def plot_surface(self, X, Y, Z, *args, **kwargs): + def plot_surface(self, X, Y, Z, *args, norm=None, vmin=None, + vmax=None, lightsource=None, **kwargs): """ Create a surface plot. @@ -1672,12 +1672,7 @@ def plot_surface(self, X, Y, Z, *args, **kwargs): fcolors = None cmap = kwargs.get('cmap', None) - norm = kwargs.pop('norm', None) - vmin = kwargs.pop('vmin', None) - vmax = kwargs.pop('vmax', None) - linewidth = kwargs.get('linewidth', None) shade = kwargs.pop('shade', cmap is None) - lightsource = kwargs.pop('lightsource', None) # Shade the data if shade and cmap is not None and fcolors is not None: @@ -1923,7 +1918,8 @@ def plot_wireframe(self, X, Y, Z, *args, **kwargs): return linec - def plot_trisurf(self, *args, **kwargs): + def plot_trisurf(self, *args, color=None, norm=None, vmin=None, vmax=None, + lightsource=None, **kwargs): """ ============= ================================================ Argument Description @@ -1975,18 +1971,12 @@ def plot_trisurf(self, *args, **kwargs): had_data = self.has_data() # TODO: Support custom face colours - color = kwargs.pop('color', None) if color is None: color = self._get_lines.get_next_color() color = np.array(mcolors.to_rgba(color)) cmap = kwargs.get('cmap', None) - norm = kwargs.pop('norm', None) - vmin = kwargs.pop('vmin', None) - vmax = kwargs.pop('vmax', None) - linewidth = kwargs.get('linewidth', None) shade = kwargs.pop('shade', cmap is None) - lightsource = kwargs.pop('lightsource', None) tri, args, kwargs = Triangulation.get_from_args_and_kwargs(*args, **kwargs) if 'Z' in kwargs: From 98c627d6633b9a36342c6537bb71582d865f9989 Mon Sep 17 00:00:00 2001 From: Eric Wieser <wieser.eric@gmail.com> Date: Sat, 17 Mar 2018 18:14:31 -0700 Subject: [PATCH 0592/1161] MAINT: Reduce duplication of stride / count calculations --- lib/mpl_toolkits/mplot3d/axes3d.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/mpl_toolkits/mplot3d/axes3d.py b/lib/mpl_toolkits/mplot3d/axes3d.py index ab754ce7bf79..bb7f5983dd9c 100644 --- a/lib/mpl_toolkits/mplot3d/axes3d.py +++ b/lib/mpl_toolkits/mplot3d/axes3d.py @@ -1652,15 +1652,15 @@ def plot_surface(self, X, Y, Z, *args, **kwargs): # Strides have priority over counts in classic mode. # So, only compute strides from counts # if counts were explicitly given - if has_count: - rstride = int(max(np.ceil(rows / rcount), 1)) - cstride = int(max(np.ceil(cols / ccount), 1)) + compute_strides = has_count else: # If the strides are provided then it has priority. # Otherwise, compute the strides from the counts. - if not has_stride: - rstride = int(max(np.ceil(rows / rcount), 1)) - cstride = int(max(np.ceil(cols / ccount), 1)) + compute_strides = not has_stride + + if compute_strides: + rstride = int(max(np.ceil(rows / rcount), 1)) + cstride = int(max(np.ceil(cols / ccount), 1)) if 'facecolors' in kwargs: fcolors = kwargs.pop('facecolors') From b84c83ddb095ee51adae90e95e05714c696f6e5e Mon Sep 17 00:00:00 2001 From: Eric Wieser <wieser.eric@gmail.com> Date: Wed, 13 Dec 2017 00:00:17 -0800 Subject: [PATCH 0593/1161] MAINT/BUG: Simplify logic in plot_surface Previously: * "cell" perimeters were clumsily calculated with duplicates, which were then (badly) removed at runtime. As a result, every quadrilateral was drawn with 5 vertices! * code to calculate normals was spread into multiple places * average z was calculated even if not used * normals were sometimes not calculated even when needed * repeated conversion between stride and count was done This will affect shading of plots very slightly, hence the image tests changing in this commit. Adds a `cbook._array_perimeter` function for use here. --- lib/matplotlib/cbook/__init__.py | 39 + lib/mpl_toolkits/mplot3d/axes3d.py | 84 +- .../test_mplot3d/mixedsubplot.pdf | Bin 63263 -> 53962 bytes .../test_mplot3d/mixedsubplot.png | Bin 39568 -> 39763 bytes .../test_mplot3d/mixedsubplot.svg | 13899 +++++++--------- .../test_mplot3d/surface3d.pdf | Bin 60213 -> 48096 bytes .../test_mplot3d/surface3d.png | Bin 55437 -> 54712 bytes .../test_mplot3d/surface3d.svg | 13280 +++++++-------- .../test_mplot3d/surface3d_shaded.png | Bin 0 -> 43405 bytes lib/mpl_toolkits/tests/test_mplot3d.py | 15 + 10 files changed, 12158 insertions(+), 15159 deletions(-) create mode 100644 lib/mpl_toolkits/tests/baseline_images/test_mplot3d/surface3d_shaded.png diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index 2f405b5cc7f4..58da636e73a3 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -2011,6 +2011,45 @@ def method(self, *args, **kwargs): return cls +def _array_perimeter(arr): + """ + Get the elements on the perimeter of ``arr``, + + Parameters + ---------- + arr : ndarray, shape (M, N) + The input array + + Returns + ------- + perimeter : ndarray, shape (2*(M - 1) + 2*(N - 1),) + The elements on the perimeter of the array:: + + [arr[0,0] ... arr[0,-1] ... arr[-1, -1] ... arr[-1,0] ...] + + Examples + -------- + >>> i, j = np.ogrid[:3,:4] + >>> a = i*10 + j + >>> a + array([[ 0, 1, 2, 3], + [10, 11, 12, 13], + [20, 21, 22, 23]]) + >>> _array_perimeter(arr) + array([ 0, 1, 2, 3, 13, 23, 22, 21, 20, 10]) + """ + # note we use Python's half-open ranges to avoid repeating + # the corners + forward = np.s_[0:-1] # [0 ... -1) + backward = np.s_[-1:0:-1] # [-1 ... 0) + return np.concatenate(( + arr[0, forward], + arr[forward, -1], + arr[-1, backward], + arr[backward, 0], + )) + + @contextlib.contextmanager def _setattr_cm(obj, **kwargs): """Temporarily set some attributes; restore original state at context exit. diff --git a/lib/mpl_toolkits/mplot3d/axes3d.py b/lib/mpl_toolkits/mplot3d/axes3d.py index bb7f5983dd9c..ae957c3ce59a 100644 --- a/lib/mpl_toolkits/mplot3d/axes3d.py +++ b/lib/mpl_toolkits/mplot3d/axes3d.py @@ -1683,72 +1683,60 @@ def plot_surface(self, X, Y, Z, *args, **kwargs): if shade and cmap is not None and fcolors is not None: fcolors = self._shade_colors_lightsource(Z, cmap, lightsource) + # evenly spaced, and including both endpoints + row_inds = list(range(0, rows-1, rstride)) + [rows-1] + col_inds = list(range(0, cols-1, cstride)) + [cols-1] + + colset = [] # the sampled facecolor polys = [] - # Only need these vectors to shade if there is no cmap - if cmap is None and shade : - totpts = int(np.ceil((rows - 1) / rstride) * - np.ceil((cols - 1) / cstride)) - v1 = np.empty((totpts, 3)) - v2 = np.empty((totpts, 3)) - # This indexes the vertex points - which_pt = 0 - - - #colset contains the data for coloring: either average z or the facecolor - colset = [] - for rs in range(0, rows-1, rstride): - for cs in range(0, cols-1, cstride): - ps = [] - for a in (X, Y, Z): - ztop = a[rs,cs:min(cols, cs+cstride+1)] - zleft = a[rs+1:min(rows, rs+rstride+1), - min(cols-1, cs+cstride)] - zbase = a[min(rows-1, rs+rstride), cs:min(cols, cs+cstride+1):][::-1] - zright = a[rs:min(rows-1, rs+rstride):, cs][::-1] - z = np.concatenate((ztop, zleft, zbase, zright)) - ps.append(z) - - # The construction leaves the array with duplicate points, which - # are removed here. - ps = list(zip(*ps)) - lastp = np.array([]) - ps2 = [ps[0]] + [ps[i] for i in range(1, len(ps)) if ps[i] != ps[i-1]] - avgzsum = sum(p[2] for p in ps2) - polys.append(ps2) + for rs, rs_next in zip(row_inds[:-1], row_inds[1:]): + for cs, cs_next in zip(col_inds[:-1], col_inds[1:]): + ps = [ + # +1 ensures we share edges between polygons + cbook._array_perimeter(a[rs:rs_next+1, cs:cs_next+1]) + for a in (X, Y, Z) + ] + # ps = np.stack(ps, axis=-1) + ps = np.array(ps).T + polys.append(ps) if fcolors is not None: colset.append(fcolors[rs][cs]) - else: - colset.append(avgzsum / len(ps2)) - - # Only need vectors to shade if no cmap - if cmap is None and shade: - i1, i2, i3 = 0, int(len(ps2)/3), int(2*len(ps2)/3) - v1[which_pt] = np.array(ps2[i1]) - np.array(ps2[i2]) - v2[which_pt] = np.array(ps2[i2]) - np.array(ps2[i3]) - which_pt += 1 - if cmap is None and shade: - normals = np.cross(v1, v2) - else : - normals = [] + def get_normals(polygons): + """ + Takes a list of polygons and return an array of their normals + """ + v1 = np.empty((len(polygons), 3)) + v2 = np.empty((len(polygons), 3)) + for poly_i, ps in enumerate(polygons): + # pick three points around the polygon at which to find the normal + # doesn't vectorize because polygons is jagged + i1, i2, i3 = 0, len(ps)//3, 2*len(ps)//3 + v1[poly_i, :] = ps[i1, :] - ps[i2, :] + v2[poly_i, :] = ps[i2, :] - ps[i3, :] + return np.cross(v1, v2) + + # note that the striding causes some polygons to have more coordinates + # than others polyc = art3d.Poly3DCollection(polys, *args, **kwargs) if fcolors is not None: if shade: - colset = self._shade_colors(colset, normals) + colset = self._shade_colors(colset, get_normals(polys)) polyc.set_facecolors(colset) polyc.set_edgecolors(colset) elif cmap: - colset = np.array(colset) - polyc.set_array(colset) + # doesn't vectorize because polys is jagged + avg_z = np.array([ps[:,2].mean() for ps in polys]) + polyc.set_array(avg_z) if vmin is not None or vmax is not None: polyc.set_clim(vmin, vmax) if norm is not None: polyc.set_norm(norm) else: if shade: - colset = self._shade_colors(color, normals) + colset = self._shade_colors(color, get_normals(polys)) else: colset = color polyc.set_facecolors(colset) diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/mixedsubplot.pdf b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/mixedsubplot.pdf index ce52010107396eeaae991f1810794ff0ec79d8e3..e1c698f576882f7550704f7441ded2c0cfc92162 100644 GIT binary patch literal 53962 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%0AH6Rn#U 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 literal 63263 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 diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/mixedsubplot.png b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/mixedsubplot.png index 49c573b664d5f96d13bdd7583c03716016e06696..aacdcd70eba8fec17914db43404fcceae272eefd 100644 GIT binary patch literal 39763 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 literal 39568 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 diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/mixedsubplot.svg b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/mixedsubplot.svg index 313cc85abe5d..5b5f321ea45e 100644 --- a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/mixedsubplot.svg +++ b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/mixedsubplot.svg @@ -38,63 +38,63 @@ C -2.683901 -1.55874 -3 -0.795609 -3 0 C -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 C -1.55874 2.683901 -0.795609 3 0 3 z -" id="ma3acfec232" style="stroke:#000000;stroke-width:0.5;"/> +" id="m54e3ad5445" style="stroke:#000000;stroke-width:0.5;"/> </defs> - <g clip-path="url(#p53fe524ae6)"> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="36" xlink:href="#ma3acfec232" y="57.6"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="40.464" xlink:href="#ma3acfec232" y="88.782098"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="44.928" xlink:href="#ma3acfec232" y="144.523437"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="49.392" xlink:href="#ma3acfec232" y="200.602231"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="53.856" xlink:href="#ma3acfec232" y="237.067672"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="58.32" xlink:href="#ma3acfec232" y="244.541749"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="62.784" xlink:href="#ma3acfec232" y="225.628851"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="67.248" xlink:href="#ma3acfec232" y="191.82002"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="71.712" xlink:href="#ma3acfec232" y="157.806512"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="76.176" xlink:href="#ma3acfec232" y="135.689104"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="80.64" xlink:href="#ma3acfec232" y="131.155847"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="85.104" xlink:href="#ma3acfec232" y="142.6271"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="89.568" xlink:href="#ma3acfec232" y="163.133192"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="94.032" xlink:href="#ma3acfec232" y="183.763428"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="98.496" xlink:href="#ma3acfec232" y="197.178314"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="102.96" xlink:href="#ma3acfec232" y="199.927873"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="107.424" xlink:href="#ma3acfec232" y="192.970207"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="111.888" xlink:href="#ma3acfec232" y="180.532633"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="116.352" xlink:href="#ma3acfec232" y="168.019763"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="120.816" xlink:href="#ma3acfec232" y="159.883223"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="125.28" xlink:href="#ma3acfec232" y="158.215531"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="129.744" xlink:href="#ma3acfec232" y="162.435569"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="134.208" xlink:href="#ma3acfec232" y="169.979339"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="138.672" xlink:href="#ma3acfec232" y="177.568778"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="143.136" xlink:href="#ma3acfec232" y="182.503839"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="147.6" xlink:href="#ma3acfec232" y="183.515345"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="152.064" xlink:href="#ma3acfec232" y="180.955763"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="156.528" xlink:href="#ma3acfec232" y="176.380235"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="160.992" xlink:href="#ma3acfec232" y="171.777007"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="165.456" xlink:href="#ma3acfec232" y="168.783742"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="169.92" xlink:href="#ma3acfec232" y="168.170232"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="174.384" xlink:href="#ma3acfec232" y="169.722697"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="178.848" xlink:href="#ma3acfec232" y="172.497895"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="183.312" xlink:href="#ma3acfec232" y="175.289894"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="187.776" xlink:href="#ma3acfec232" y="177.105401"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="192.24" xlink:href="#ma3acfec232" y="177.477514"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="196.704" xlink:href="#ma3acfec232" y="176.535896"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="201.168" xlink:href="#ma3acfec232" y="174.852653"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="205.632" xlink:href="#ma3acfec232" y="173.159221"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="210.096" xlink:href="#ma3acfec232" y="172.05806"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="214.56" xlink:href="#ma3acfec232" y="171.832362"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="219.024" xlink:href="#ma3acfec232" y="172.403482"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="223.488" xlink:href="#ma3acfec232" y="173.42442"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="227.952" xlink:href="#ma3acfec232" y="174.451539"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="232.416" xlink:href="#ma3acfec232" y="175.119427"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="236.88" xlink:href="#ma3acfec232" y="175.25632"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="241.344" xlink:href="#ma3acfec232" y="174.909918"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="245.808" xlink:href="#ma3acfec232" y="174.290687"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="250.272" xlink:href="#ma3acfec232" y="173.667708"/> - <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="254.736" xlink:href="#ma3acfec232" y="173.262614"/> + <g clip-path="url(#p676789452b)"> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="36" xlink:href="#m54e3ad5445" y="57.6"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="40.464" xlink:href="#m54e3ad5445" y="88.782098"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="44.928" xlink:href="#m54e3ad5445" y="144.523437"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="49.392" xlink:href="#m54e3ad5445" y="200.602231"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="53.856" xlink:href="#m54e3ad5445" y="237.067672"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="58.32" xlink:href="#m54e3ad5445" y="244.541749"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="62.784" xlink:href="#m54e3ad5445" y="225.628851"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="67.248" xlink:href="#m54e3ad5445" y="191.82002"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="71.712" xlink:href="#m54e3ad5445" y="157.806512"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="76.176" xlink:href="#m54e3ad5445" y="135.689104"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="80.64" xlink:href="#m54e3ad5445" y="131.155847"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="85.104" xlink:href="#m54e3ad5445" y="142.6271"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="89.568" xlink:href="#m54e3ad5445" y="163.133192"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="94.032" xlink:href="#m54e3ad5445" y="183.763428"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="98.496" xlink:href="#m54e3ad5445" y="197.178314"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="102.96" xlink:href="#m54e3ad5445" y="199.927873"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="107.424" xlink:href="#m54e3ad5445" y="192.970207"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="111.888" xlink:href="#m54e3ad5445" y="180.532633"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="116.352" xlink:href="#m54e3ad5445" y="168.019763"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="120.816" xlink:href="#m54e3ad5445" y="159.883223"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="125.28" xlink:href="#m54e3ad5445" y="158.215531"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="129.744" xlink:href="#m54e3ad5445" y="162.435569"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="134.208" xlink:href="#m54e3ad5445" y="169.979339"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="138.672" xlink:href="#m54e3ad5445" y="177.568778"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="143.136" xlink:href="#m54e3ad5445" y="182.503839"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="147.6" xlink:href="#m54e3ad5445" y="183.515345"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="152.064" xlink:href="#m54e3ad5445" y="180.955763"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="156.528" xlink:href="#m54e3ad5445" y="176.380235"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="160.992" xlink:href="#m54e3ad5445" y="171.777007"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="165.456" xlink:href="#m54e3ad5445" y="168.783742"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="169.92" xlink:href="#m54e3ad5445" y="168.170232"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="174.384" xlink:href="#m54e3ad5445" y="169.722697"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="178.848" xlink:href="#m54e3ad5445" y="172.497895"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="183.312" xlink:href="#m54e3ad5445" y="175.289894"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="187.776" xlink:href="#m54e3ad5445" y="177.105401"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="192.24" xlink:href="#m54e3ad5445" y="177.477514"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="196.704" xlink:href="#m54e3ad5445" y="176.535896"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="201.168" xlink:href="#m54e3ad5445" y="174.852653"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="205.632" xlink:href="#m54e3ad5445" y="173.159221"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="210.096" xlink:href="#m54e3ad5445" y="172.05806"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="214.56" xlink:href="#m54e3ad5445" y="171.832362"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="219.024" xlink:href="#m54e3ad5445" y="172.403482"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="223.488" xlink:href="#m54e3ad5445" y="173.42442"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="227.952" xlink:href="#m54e3ad5445" y="174.451539"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="232.416" xlink:href="#m54e3ad5445" y="175.119427"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="236.88" xlink:href="#m54e3ad5445" y="175.25632"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="241.344" xlink:href="#m54e3ad5445" y="174.909918"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="245.808" xlink:href="#m54e3ad5445" y="174.290687"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="250.272" xlink:href="#m54e3ad5445" y="173.667708"/> + <use style="fill:#008000;stroke:#000000;stroke-width:0.5;" x="254.736" xlink:href="#m54e3ad5445" y="173.262614"/> </g> </g> <g id="line2d_2"> - <path clip-path="url(#p53fe524ae6)" d="M 36 57.6 + <path clip-path="url(#p676789452b)" d="M 36 57.6 L 36.8928 60.803547 L 37.7856 65.675116 L 38.6784 72.072085 @@ -239,7 +239,7 @@ L 259.2 57.6 <g id="matplotlib.axis_1"> <g id="xtick_1"> <g id="line2d_3"> - <path clip-path="url(#p53fe524ae6)" d="M 36 267.054545 + <path clip-path="url(#p676789452b)" d="M 36 267.054545 L 36 57.6 " style="fill:none;stroke:#000000;stroke-dasharray:1,3;stroke-dashoffset:0;stroke-width:0.5;"/> </g> @@ -247,105 +247,105 @@ L 36 57.6 <defs> <path d="M 0 0 L 0 -4 -" id="m6ed1f16812" style="stroke:#000000;stroke-width:0.5;"/> +" id="m368fc901b1" style="stroke:#000000;stroke-width:0.5;"/> </defs> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="36" xlink:href="#m6ed1f16812" y="267.054545"/> + <use style="stroke:#000000;stroke-width:0.5;" x="36" xlink:href="#m368fc901b1" y="267.054545"/> </g> </g> <g id="line2d_5"> <defs> <path d="M 0 0 L 0 4 -" id="m9b8c948482" style="stroke:#000000;stroke-width:0.5;"/> +" id="mc63e59a608" style="stroke:#000000;stroke-width:0.5;"/> </defs> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="36" xlink:href="#m9b8c948482" y="57.6"/> + <use style="stroke:#000000;stroke-width:0.5;" x="36" xlink:href="#mc63e59a608" y="57.6"/> </g> </g> </g> <g id="xtick_2"> <g id="line2d_6"> - <path clip-path="url(#p53fe524ae6)" d="M 80.64 267.054545 + <path clip-path="url(#p676789452b)" d="M 80.64 267.054545 L 80.64 57.6 " style="fill:none;stroke:#000000;stroke-dasharray:1,3;stroke-dashoffset:0;stroke-width:0.5;"/> </g> <g id="line2d_7"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="80.64" xlink:href="#m6ed1f16812" y="267.054545"/> + <use style="stroke:#000000;stroke-width:0.5;" x="80.64" xlink:href="#m368fc901b1" y="267.054545"/> </g> </g> <g id="line2d_8"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="80.64" xlink:href="#m9b8c948482" y="57.6"/> + <use style="stroke:#000000;stroke-width:0.5;" x="80.64" xlink:href="#mc63e59a608" y="57.6"/> </g> </g> </g> <g id="xtick_3"> <g id="line2d_9"> - <path clip-path="url(#p53fe524ae6)" d="M 125.28 267.054545 + <path clip-path="url(#p676789452b)" d="M 125.28 267.054545 L 125.28 57.6 " style="fill:none;stroke:#000000;stroke-dasharray:1,3;stroke-dashoffset:0;stroke-width:0.5;"/> </g> <g id="line2d_10"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="125.28" xlink:href="#m6ed1f16812" y="267.054545"/> + <use style="stroke:#000000;stroke-width:0.5;" x="125.28" xlink:href="#m368fc901b1" y="267.054545"/> </g> </g> <g id="line2d_11"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="125.28" xlink:href="#m9b8c948482" y="57.6"/> + <use style="stroke:#000000;stroke-width:0.5;" x="125.28" xlink:href="#mc63e59a608" y="57.6"/> </g> </g> </g> <g id="xtick_4"> <g id="line2d_12"> - <path clip-path="url(#p53fe524ae6)" d="M 169.92 267.054545 + <path clip-path="url(#p676789452b)" d="M 169.92 267.054545 L 169.92 57.6 " style="fill:none;stroke:#000000;stroke-dasharray:1,3;stroke-dashoffset:0;stroke-width:0.5;"/> </g> <g id="line2d_13"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="169.92" xlink:href="#m6ed1f16812" y="267.054545"/> + <use style="stroke:#000000;stroke-width:0.5;" x="169.92" xlink:href="#m368fc901b1" y="267.054545"/> </g> </g> <g id="line2d_14"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="169.92" xlink:href="#m9b8c948482" y="57.6"/> + <use style="stroke:#000000;stroke-width:0.5;" x="169.92" xlink:href="#mc63e59a608" y="57.6"/> </g> </g> </g> <g id="xtick_5"> <g id="line2d_15"> - <path clip-path="url(#p53fe524ae6)" d="M 214.56 267.054545 + <path clip-path="url(#p676789452b)" d="M 214.56 267.054545 L 214.56 57.6 " style="fill:none;stroke:#000000;stroke-dasharray:1,3;stroke-dashoffset:0;stroke-width:0.5;"/> </g> <g id="line2d_16"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="214.56" xlink:href="#m6ed1f16812" y="267.054545"/> + <use style="stroke:#000000;stroke-width:0.5;" x="214.56" xlink:href="#m368fc901b1" y="267.054545"/> </g> </g> <g id="line2d_17"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="214.56" xlink:href="#m9b8c948482" y="57.6"/> + <use style="stroke:#000000;stroke-width:0.5;" x="214.56" xlink:href="#mc63e59a608" y="57.6"/> </g> </g> </g> <g id="xtick_6"> <g id="line2d_18"> - <path clip-path="url(#p53fe524ae6)" d="M 259.2 267.054545 + <path clip-path="url(#p676789452b)" d="M 259.2 267.054545 L 259.2 57.6 " style="fill:none;stroke:#000000;stroke-dasharray:1,3;stroke-dashoffset:0;stroke-width:0.5;"/> </g> <g id="line2d_19"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="259.2" xlink:href="#m6ed1f16812" y="267.054545"/> + <use style="stroke:#000000;stroke-width:0.5;" x="259.2" xlink:href="#m368fc901b1" y="267.054545"/> </g> </g> <g id="line2d_20"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="259.2" xlink:href="#m9b8c948482" y="57.6"/> + <use style="stroke:#000000;stroke-width:0.5;" x="259.2" xlink:href="#mc63e59a608" y="57.6"/> </g> </g> </g> @@ -353,7 +353,7 @@ L 259.2 57.6 <g id="matplotlib.axis_2"> <g id="ytick_1"> <g id="line2d_21"> - <path clip-path="url(#p53fe524ae6)" d="M 36 267.054545 + <path clip-path="url(#p676789452b)" d="M 36 267.054545 L 259.2 267.054545 " style="fill:none;stroke:#000000;stroke-dasharray:1,3;stroke-dashoffset:0;stroke-width:0.5;"/> </g> @@ -361,173 +361,173 @@ L 259.2 267.054545 <defs> <path d="M 0 0 L 4 0 -" id="m86aaed61ae" style="stroke:#000000;stroke-width:0.5;"/> +" id="m556f96d829" style="stroke:#000000;stroke-width:0.5;"/> </defs> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="36" xlink:href="#m86aaed61ae" y="267.054545"/> + <use style="stroke:#000000;stroke-width:0.5;" x="36" xlink:href="#m556f96d829" y="267.054545"/> </g> </g> <g id="line2d_23"> <defs> <path d="M 0 0 L -4 0 -" id="m3a8761dff6" style="stroke:#000000;stroke-width:0.5;"/> +" id="m27e32ca04a" style="stroke:#000000;stroke-width:0.5;"/> </defs> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="259.2" xlink:href="#m3a8761dff6" y="267.054545"/> + <use style="stroke:#000000;stroke-width:0.5;" x="259.2" xlink:href="#m27e32ca04a" y="267.054545"/> </g> </g> </g> <g id="ytick_2"> <g id="line2d_24"> - <path clip-path="url(#p53fe524ae6)" d="M 36 243.781818 + <path clip-path="url(#p676789452b)" d="M 36 243.781818 L 259.2 243.781818 " style="fill:none;stroke:#000000;stroke-dasharray:1,3;stroke-dashoffset:0;stroke-width:0.5;"/> </g> <g id="line2d_25"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="36" xlink:href="#m86aaed61ae" y="243.781818"/> + <use style="stroke:#000000;stroke-width:0.5;" x="36" xlink:href="#m556f96d829" y="243.781818"/> </g> </g> <g id="line2d_26"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="259.2" xlink:href="#m3a8761dff6" y="243.781818"/> + <use style="stroke:#000000;stroke-width:0.5;" x="259.2" xlink:href="#m27e32ca04a" y="243.781818"/> </g> </g> </g> <g id="ytick_3"> <g id="line2d_27"> - <path clip-path="url(#p53fe524ae6)" d="M 36 220.509091 + <path clip-path="url(#p676789452b)" d="M 36 220.509091 L 259.2 220.509091 " style="fill:none;stroke:#000000;stroke-dasharray:1,3;stroke-dashoffset:0;stroke-width:0.5;"/> </g> <g id="line2d_28"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="36" xlink:href="#m86aaed61ae" y="220.509091"/> + <use style="stroke:#000000;stroke-width:0.5;" x="36" xlink:href="#m556f96d829" y="220.509091"/> </g> </g> <g id="line2d_29"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="259.2" xlink:href="#m3a8761dff6" y="220.509091"/> + <use style="stroke:#000000;stroke-width:0.5;" x="259.2" xlink:href="#m27e32ca04a" y="220.509091"/> </g> </g> </g> <g id="ytick_4"> <g id="line2d_30"> - <path clip-path="url(#p53fe524ae6)" d="M 36 197.236364 + <path clip-path="url(#p676789452b)" d="M 36 197.236364 L 259.2 197.236364 " style="fill:none;stroke:#000000;stroke-dasharray:1,3;stroke-dashoffset:0;stroke-width:0.5;"/> </g> <g id="line2d_31"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="36" xlink:href="#m86aaed61ae" y="197.236364"/> + <use style="stroke:#000000;stroke-width:0.5;" x="36" xlink:href="#m556f96d829" y="197.236364"/> </g> </g> <g id="line2d_32"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="259.2" xlink:href="#m3a8761dff6" y="197.236364"/> + <use style="stroke:#000000;stroke-width:0.5;" x="259.2" xlink:href="#m27e32ca04a" y="197.236364"/> </g> </g> </g> <g id="ytick_5"> <g id="line2d_33"> - <path clip-path="url(#p53fe524ae6)" d="M 36 173.963636 + <path clip-path="url(#p676789452b)" d="M 36 173.963636 L 259.2 173.963636 " style="fill:none;stroke:#000000;stroke-dasharray:1,3;stroke-dashoffset:0;stroke-width:0.5;"/> </g> <g id="line2d_34"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="36" xlink:href="#m86aaed61ae" y="173.963636"/> + <use style="stroke:#000000;stroke-width:0.5;" x="36" xlink:href="#m556f96d829" y="173.963636"/> </g> </g> <g id="line2d_35"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="259.2" xlink:href="#m3a8761dff6" y="173.963636"/> + <use style="stroke:#000000;stroke-width:0.5;" x="259.2" xlink:href="#m27e32ca04a" y="173.963636"/> </g> </g> </g> <g id="ytick_6"> <g id="line2d_36"> - <path clip-path="url(#p53fe524ae6)" d="M 36 150.690909 + <path clip-path="url(#p676789452b)" d="M 36 150.690909 L 259.2 150.690909 " style="fill:none;stroke:#000000;stroke-dasharray:1,3;stroke-dashoffset:0;stroke-width:0.5;"/> </g> <g id="line2d_37"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="36" xlink:href="#m86aaed61ae" y="150.690909"/> + <use style="stroke:#000000;stroke-width:0.5;" x="36" xlink:href="#m556f96d829" y="150.690909"/> </g> </g> <g id="line2d_38"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="259.2" xlink:href="#m3a8761dff6" y="150.690909"/> + <use style="stroke:#000000;stroke-width:0.5;" x="259.2" xlink:href="#m27e32ca04a" y="150.690909"/> </g> </g> </g> <g id="ytick_7"> <g id="line2d_39"> - <path clip-path="url(#p53fe524ae6)" d="M 36 127.418182 + <path clip-path="url(#p676789452b)" d="M 36 127.418182 L 259.2 127.418182 " style="fill:none;stroke:#000000;stroke-dasharray:1,3;stroke-dashoffset:0;stroke-width:0.5;"/> </g> <g id="line2d_40"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="36" xlink:href="#m86aaed61ae" y="127.418182"/> + <use style="stroke:#000000;stroke-width:0.5;" x="36" xlink:href="#m556f96d829" y="127.418182"/> </g> </g> <g id="line2d_41"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="259.2" xlink:href="#m3a8761dff6" y="127.418182"/> + <use style="stroke:#000000;stroke-width:0.5;" x="259.2" xlink:href="#m27e32ca04a" y="127.418182"/> </g> </g> </g> <g id="ytick_8"> <g id="line2d_42"> - <path clip-path="url(#p53fe524ae6)" d="M 36 104.145455 + <path clip-path="url(#p676789452b)" d="M 36 104.145455 L 259.2 104.145455 " style="fill:none;stroke:#000000;stroke-dasharray:1,3;stroke-dashoffset:0;stroke-width:0.5;"/> </g> <g id="line2d_43"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="36" xlink:href="#m86aaed61ae" y="104.145455"/> + <use style="stroke:#000000;stroke-width:0.5;" x="36" xlink:href="#m556f96d829" y="104.145455"/> </g> </g> <g id="line2d_44"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="259.2" xlink:href="#m3a8761dff6" y="104.145455"/> + <use style="stroke:#000000;stroke-width:0.5;" x="259.2" xlink:href="#m27e32ca04a" y="104.145455"/> </g> </g> </g> <g id="ytick_9"> <g id="line2d_45"> - <path clip-path="url(#p53fe524ae6)" d="M 36 80.872727 + <path clip-path="url(#p676789452b)" d="M 36 80.872727 L 259.2 80.872727 " style="fill:none;stroke:#000000;stroke-dasharray:1,3;stroke-dashoffset:0;stroke-width:0.5;"/> </g> <g id="line2d_46"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="36" xlink:href="#m86aaed61ae" y="80.872727"/> + <use style="stroke:#000000;stroke-width:0.5;" x="36" xlink:href="#m556f96d829" y="80.872727"/> </g> </g> <g id="line2d_47"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="259.2" xlink:href="#m3a8761dff6" y="80.872727"/> + <use style="stroke:#000000;stroke-width:0.5;" x="259.2" xlink:href="#m27e32ca04a" y="80.872727"/> </g> </g> </g> <g id="ytick_10"> <g id="line2d_48"> - <path clip-path="url(#p53fe524ae6)" d="M 36 57.6 + <path clip-path="url(#p676789452b)" d="M 36 57.6 L 259.2 57.6 " style="fill:none;stroke:#000000;stroke-dasharray:1,3;stroke-dashoffset:0;stroke-width:0.5;"/> </g> <g id="line2d_49"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="36" xlink:href="#m86aaed61ae" y="57.6"/> + <use style="stroke:#000000;stroke-width:0.5;" x="36" xlink:href="#m556f96d829" y="57.6"/> </g> </g> <g id="line2d_50"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="259.2" xlink:href="#m3a8761dff6" y="57.6"/> + <use style="stroke:#000000;stroke-width:0.5;" x="259.2" xlink:href="#m27e32ca04a" y="57.6"/> </g> </g> </g> @@ -806,10661 +806,9140 @@ L 239.00999 350.94521 </g> <g id="axes_2"> <g id="Poly3DCollection_1"> - <path clip-path="url(#p9cf0068b0c)" d="M 150.236212 434.050854 + <path clip-path="url(#p8946a7ce10)" d="M 150.236212 434.050854 L 152.290456 435.50053 L 153.47543 432.412257 L 151.421977 429.87333 -L 150.236212 434.050854 z -" style="fill:#0000d0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 148.182599 431.793684 +" style="fill:#0000cf;"/> + <path clip-path="url(#p8946a7ce10)" d="M 148.182599 431.793684 L 150.236212 434.050854 L 151.421977 429.87333 L 149.367353 426.542853 -L 148.182599 431.793684 z -" style="fill:#0000d0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 144.94241 433.104519 +" style="fill:#0000cf;"/> + <path clip-path="url(#p8946a7ce10)" d="M 144.94241 433.104519 L 146.995924 435.100074 L 148.182599 431.793684 L 146.126774 428.608535 -L 144.94241 433.104519 -z -" style="fill:#0000cf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 153.47543 432.412257 -L 155.529953 434.267148 -L 156.717398 429.908777 -L 154.66405 427.12466 -L 153.47543 432.412257 z -" style="fill:#0000d3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 146.995924 435.100074 +" style="fill:#0000cd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 146.995924 435.100074 L 149.049148 436.135522 L 150.236212 434.050854 L 148.182599 431.793684 -L 146.995924 435.100074 z -" style="fill:#0000cf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 155.529953 434.267148 -L 157.587283 435.561086 -L 158.772047 432.101509 -L 156.717398 429.908777 +" style="fill:#0000cc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 153.47543 432.412257 L 155.529953 434.267148 +L 156.717398 429.908777 +L 154.66405 427.12466 z " style="fill:#0000d2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 152.290456 435.50053 + <path clip-path="url(#p8946a7ce10)" d="M 152.290456 435.50053 L 154.347629 436.285653 L 155.529953 434.267148 L 153.47543 432.412257 -L 152.290456 435.50053 z -" style="fill:#0000cf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 151.421977 429.87333 -L 153.47543 432.412257 -L 154.66405 427.12466 -L 152.610221 423.658692 -L 151.421977 429.87333 +" style="fill:#0000cd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 155.529953 434.267148 +L 157.587283 435.561086 +L 158.772047 432.101509 +L 156.717398 429.908777 z -" style="fill:#0000d2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 141.699167 433.983193 +" style="fill:#0000d1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 141.699167 433.983193 L 143.752442 435.796324 L 144.94241 433.104519 L 142.885051 430.021151 -L 141.699167 433.983193 z -" style="fill:#0000ce;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 142.885051 430.021151 +" style="fill:#0000cb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 151.421977 429.87333 +L 153.47543 432.412257 +L 154.66405 427.12466 +L 152.610221 423.658692 +z +" style="fill:#0000d2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 142.885051 430.021151 L 144.94241 433.104519 L 146.126774 428.608535 L 144.06551 424.407349 -L 142.885051 430.021151 -z -" style="fill:#0000cd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 146.126774 428.608535 -L 148.182599 431.793684 -L 149.367353 426.542853 -L 147.308915 422.337823 -L 146.126774 428.608535 z -" style="fill:#0000cf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 143.752442 435.796324 +" style="fill:#0000cc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 143.752442 435.796324 L 145.803762 436.471481 L 146.995924 435.100074 L 144.94241 433.104519 -L 143.752442 435.796324 z -" style="fill:#0000ce;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 157.587283 435.561086 -L 159.648612 436.42409 -L 160.829355 433.80336 -L 158.772047 432.101509 -L 157.587283 435.561086 +" style="fill:#0000ca;"/> + <path clip-path="url(#p8946a7ce10)" d="M 146.126774 428.608535 +L 148.182599 431.793684 +L 149.367353 426.542853 +L 147.308915 422.337823 z -" style="fill:#0000d1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 149.049148 436.135522 +" style="fill:#0000ce;"/> + <path clip-path="url(#p8946a7ce10)" d="M 149.049148 436.135522 L 151.105104 436.369384 L 152.290456 435.50053 L 150.236212 434.050854 -L 149.049148 436.135522 z -" style="fill:#0000cd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 139.639609 430.904695 +" style="fill:#0000ca;"/> + <path clip-path="url(#p8946a7ce10)" d="M 157.587283 435.561086 +L 159.648612 436.42409 +L 160.829355 433.80336 +L 158.772047 432.101509 +z +" style="fill:#0000d0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 139.639609 430.904695 L 141.699167 433.983193 L 142.885051 430.021151 L 140.819978 425.763949 -L 139.639609 430.904695 z -" style="fill:#0000cc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 138.451413 434.544539 +" style="fill:#0000c9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 138.451413 434.544539 L 140.504879 436.311375 L 141.699167 433.983193 L 139.639609 430.904695 -L 138.451413 434.544539 z -" style="fill:#0000cc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 154.347629 436.285653 +" style="fill:#0000c9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 154.347629 436.285653 L 156.409398 436.56174 L 157.587283 435.561086 L 155.529953 434.267148 -L 154.347629 436.285653 z -" style="fill:#0000cd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 149.367353 426.542853 +" style="fill:#0000ca;"/> + <path clip-path="url(#p8946a7ce10)" d="M 149.367353 426.542853 L 151.421977 429.87333 L 152.610221 423.658692 L 150.553751 419.438322 -L 149.367353 426.542853 z " style="fill:#0000d1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 140.504879 436.311375 + <path clip-path="url(#p8946a7ce10)" d="M 140.504879 436.311375 L 142.553758 436.743239 L 143.752442 435.796324 L 141.699167 433.983193 -L 140.504879 436.311375 z -" style="fill:#0000cd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 159.648612 436.42409 +" style="fill:#0000c9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 159.648612 436.42409 L 161.714589 436.985136 L 162.890239 435.117437 L 160.829355 433.80336 -L 159.648612 436.42409 z -" style="fill:#0000ce;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 145.803762 436.471481 +" style="fill:#0000cd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 145.803762 436.471481 L 147.856992 436.176826 L 149.049148 436.135522 L 146.995924 435.100074 -L 145.803762 436.471481 z -" style="fill:#0000cc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 136.388268 431.325125 +" style="fill:#0000c8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 136.388268 431.325125 L 138.451413 434.544539 L 139.639609 430.904695 L 137.569269 426.485686 -L 136.388268 431.325125 z -" style="fill:#0000ca;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 135.197856 434.828051 +" style="fill:#0000c7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 135.197856 434.828051 L 137.252937 436.735327 L 138.451413 434.544539 L 136.388268 431.325125 -L 135.197856 434.828051 z -" style="fill:#0000cb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 144.06551 424.407349 -L 146.126774 428.608535 -L 147.308915 422.337823 -L 145.243774 417.208606 -L 144.06551 424.407349 +" style="fill:#0000c7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 151.105104 436.369384 +L 153.166125 435.979876 +L 154.347629 436.285653 +L 152.290456 435.50053 z -" style="fill:#0000cd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 140.819978 425.763949 +" style="fill:#0000c6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 140.819978 425.763949 L 142.885051 430.021151 L 144.06551 424.407349 L 141.995405 419.144055 -L 140.819978 425.763949 -z -" style="fill:#0000cb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 151.105104 436.369384 -L 153.166125 435.979876 -L 154.347629 436.285653 -L 152.290456 435.50053 -L 151.105104 436.369384 z " style="fill:#0000ca;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 137.252937 436.735327 + <path clip-path="url(#p8946a7ce10)" d="M 144.06551 424.407349 +L 146.126774 428.608535 +L 147.308915 422.337823 +L 145.243774 417.208606 +z +" style="fill:#0000cd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 137.252937 436.735327 L 139.299676 437.100007 L 140.504879 436.311375 L 138.451413 434.544539 -L 137.252937 436.735327 z -" style="fill:#0000cd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 156.409398 436.56174 +" style="fill:#0000c9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 156.409398 436.56174 L 158.476759 436.487543 L 159.648612 436.42409 L 157.587283 435.561086 -L 156.409398 436.56174 z -" style="fill:#0000c9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 137.569269 426.485686 +" style="fill:#0000c7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 137.569269 426.485686 L 139.639609 430.904695 L 140.819978 425.763949 L 138.74329 420.298601 -L 137.569269 426.485686 z -" style="fill:#0000c8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 147.308915 422.337823 -L 149.367353 426.542853 -L 150.553751 419.438322 -L 148.492217 414.416913 -L 147.308915 422.337823 +" style="fill:#0000c7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 142.553758 436.743239 +L 144.602827 436.010047 +L 145.803762 436.471481 +L 143.752442 435.796324 z -" style="fill:#0000cf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 161.714589 436.985136 +" style="fill:#0000c7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 161.714589 436.985136 L 163.785372 437.365101 L 164.955217 436.142721 L 162.890239 435.117437 -L 161.714589 436.985136 z " style="fill:#0000cb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 142.553758 436.743239 -L 144.602827 436.010047 -L 145.803762 436.471481 -L 143.752442 435.796324 -L 142.553758 436.743239 + <path clip-path="url(#p8946a7ce10)" d="M 147.308915 422.337823 +L 149.367353 426.542853 +L 150.553751 419.438322 +L 148.492217 414.416913 z -" style="fill:#0000cc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 133.128684 431.281875 +" style="fill:#0000cf;"/> + <path clip-path="url(#p8946a7ce10)" d="M 133.128684 431.281875 L 135.197856 434.828051 L 136.388268 431.325125 L 134.310414 426.599465 -L 133.128684 431.281875 z -" style="fill:#0000c7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 131.936695 434.793494 +" style="fill:#0000c4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 131.936695 434.793494 L 133.996144 437.068072 L 135.197856 434.828051 L 133.128684 431.281875 -L 131.936695 434.793494 z -" style="fill:#0000c9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 133.996144 437.068072 +" style="fill:#0000c5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 133.996144 437.068072 L 136.042318 437.593003 L 137.252937 436.735327 L 135.197856 434.828051 -L 133.996144 437.068072 z -" style="fill:#0000cd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 147.856992 436.176826 +" style="fill:#0000c8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 147.856992 436.176826 L 149.915311 435.109038 L 151.105104 436.369384 L 149.049148 436.135522 -L 147.856992 436.176826 z -" style="fill:#0000c9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 134.310414 426.599465 +" style="fill:#0000c4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 134.310414 426.599465 L 136.388268 431.325125 L 137.569269 426.485686 L 135.483835 420.713373 -L 134.310414 426.599465 z -" style="fill:#0000c5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 139.299676 437.100007 +" style="fill:#0000c4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 139.299676 437.100007 L 141.343749 436.083612 L 142.553758 436.743239 L 140.504879 436.311375 -L 139.299676 437.100007 z -" style="fill:#0000cd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 153.166125 435.979876 +" style="fill:#0000c8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 153.166125 435.979876 L 155.233776 435.154065 L 156.409398 436.56174 L 154.347629 436.285653 -L 153.166125 435.979876 z -" style="fill:#0000c6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 158.476759 436.487543 +" style="fill:#0000c2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 158.476759 436.487543 L 160.550063 436.216614 L 161.714589 436.985136 L 159.648612 436.42409 -L 158.476759 436.487543 z -" style="fill:#0000c5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 163.785372 437.365101 +" style="fill:#0000c3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 163.785372 437.365101 L 165.860715 437.670787 L 167.024469 436.968243 L 164.955217 436.142721 -L 163.785372 437.365101 z -" style="fill:#0000c9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 141.995405 419.144055 -L 144.06551 424.407349 -L 145.243774 417.208606 -L 143.169004 411.147213 -L 141.995405 419.144055 +" style="fill:#0000c8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 129.857786 430.707717 +L 131.936695 434.793494 +L 133.128684 431.281875 +L 131.040059 426.076841 z -" style="fill:#0000ca;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 130.733098 437.219102 +" style="fill:#0000c1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 130.733098 437.219102 L 132.781895 438.171259 L 133.996144 437.068072 L 131.936695 434.793494 -L 130.733098 437.219102 z -" style="fill:#0000cb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 129.857786 430.707717 -L 131.936695 434.793494 -L 133.128684 431.281875 -L 131.040059 426.076841 -L 129.857786 430.707717 +" style="fill:#0000c7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 141.995405 419.144055 +L 144.06551 424.407349 +L 145.243774 417.208606 +L 143.169004 411.147213 z -" style="fill:#0000c4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 138.74329 420.298601 +" style="fill:#0000ca;"/> + <path clip-path="url(#p8946a7ce10)" d="M 138.74329 420.298601 L 140.819978 425.763949 L 141.995405 419.144055 L 139.913157 412.823184 -L 138.74329 420.298601 z " style="fill:#0000c7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 128.664998 434.324979 + <path clip-path="url(#p8946a7ce10)" d="M 128.664998 434.324979 L 130.733098 437.219102 L 131.936695 434.793494 L 129.857786 430.707717 -L 128.664998 434.324979 z -" style="fill:#0000c6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 136.042318 437.593003 +" style="fill:#0000c3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 136.042318 437.593003 L 138.081681 436.508811 L 139.299676 437.100007 L 137.252937 436.735327 -L 136.042318 437.593003 -z -" style="fill:#0000ce;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 145.243774 417.208606 -L 147.308915 422.337823 -L 148.492217 414.416913 -L 146.423079 408.581458 -L 145.243774 417.208606 z -" style="fill:#0000cc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 144.602827 436.010047 +" style="fill:#0000c8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 144.602827 436.010047 L 146.656239 434.320988 L 147.856992 436.176826 L 145.803762 436.471481 -L 144.602827 436.010047 z -" style="fill:#0000c9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 131.040059 426.076841 +" style="fill:#0000c4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 131.040059 426.076841 L 133.128684 431.281875 L 134.310414 426.599465 L 132.21331 420.387457 -L 131.040059 426.076841 z -" style="fill:#0000c2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 135.483835 420.713373 +" style="fill:#0000c0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 145.243774 417.208606 +L 147.308915 422.337823 +L 148.492217 414.416913 +L 146.423079 408.581458 +z +" style="fill:#0000cd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 135.483835 420.713373 L 137.569269 426.485686 L 138.74329 420.298601 L 136.651391 413.651099 -L 135.483835 420.713373 z " style="fill:#0000c4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 165.860715 437.670787 + <path clip-path="url(#p8946a7ce10)" d="M 165.860715 437.670787 L 167.940084 437.990117 L 169.097939 437.668252 L 167.024469 436.968243 -L 165.860715 437.670787 z " style="fill:#0000c6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 132.781895 438.171259 + <path clip-path="url(#p8946a7ce10)" d="M 132.781895 438.171259 L 134.818396 437.286072 L 136.042318 437.593003 L 133.996144 437.068072 -L 132.781895 438.171259 -z -" style="fill:#0000ce;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 127.460801 437.015718 -L 129.517199 438.685407 -L 130.733098 437.219102 -L 128.664998 434.324979 -L 127.460801 437.015718 z " style="fill:#0000c9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 160.550063 436.216614 + <path clip-path="url(#p8946a7ce10)" d="M 160.550063 436.216614 L 162.629085 435.890047 L 163.785372 437.365101 L 161.714589 436.985136 -L 160.550063 436.216614 z -" style="fill:#0000c1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 149.915311 435.109038 +" style="fill:#0000bf;"/> + <path clip-path="url(#p8946a7ce10)" d="M 127.460801 437.015718 +L 129.517199 438.685407 +L 130.733098 437.219102 +L 128.664998 434.324979 +z +" style="fill:#0000c5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 149.915311 435.109038 L 151.981059 433.48092 L 153.166125 435.979876 L 151.105104 436.369384 -L 149.915311 435.109038 z -" style="fill:#0000c5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 155.233776 435.154065 +" style="fill:#0000c0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 155.233776 435.154065 L 157.308833 434.077825 L 158.476759 436.487543 L 156.409398 436.56174 -L 155.233776 435.154065 z -" style="fill:#0000c1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 141.343749 436.083612 +" style="fill:#0000be;"/> + <path clip-path="url(#p8946a7ce10)" d="M 141.343749 436.083612 L 143.390365 433.899647 L 144.602827 436.010047 L 142.553758 436.743239 -L 141.343749 436.083612 -z -" style="fill:#0000ca;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 129.517199 438.685407 -L 131.554578 438.304738 -L 132.781895 438.171259 -L 130.733098 437.219102 -L 129.517199 438.685407 z -" style="fill:#0000cd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 126.571322 429.476994 +" style="fill:#0000c5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 126.571322 429.476994 L 128.664998 434.324979 L 129.857786 430.707717 L 127.754041 424.837985 -L 126.571322 429.476994 z -" style="fill:#0000c0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 132.21331 420.387457 -L 134.310414 426.599465 -L 135.483835 420.713373 -L 133.379582 413.645408 -L 132.21331 420.387457 +" style="fill:#0000bd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 129.517199 438.685407 +L 131.554578 438.304738 +L 132.781895 438.171259 +L 130.733098 437.219102 z -" style="fill:#0000c1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 125.37822 433.243506 +" style="fill:#0000c9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 132.21331 420.387457 +L 134.310414 426.599465 +L 135.483835 420.713373 +L 133.379582 413.645408 +z +" style="fill:#0000c0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 125.37822 433.243506 L 127.460801 437.015718 L 128.664998 434.324979 L 126.571322 429.476994 -L 125.37822 433.243506 z -" style="fill:#0000c2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 167.940084 437.990117 +" style="fill:#0000bf;"/> + <path clip-path="url(#p8946a7ce10)" d="M 167.940084 437.990117 L 170.022793 438.388489 L 171.17545 438.298466 L 169.097939 437.668252 -L 167.940084 437.990117 z -" style="fill:#0000c3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 127.754041 424.837985 +" style="fill:#0000c4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 127.754041 424.837985 L 129.857786 430.707717 L 131.040059 426.076841 L 128.9275 419.277794 -L 127.754041 424.837985 z -" style="fill:#0000be;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 138.081681 436.508811 +" style="fill:#0000bc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 138.081681 436.508811 L 140.120485 434.022355 L 141.343749 436.083612 L 139.299676 437.100007 -L 138.081681 436.508811 -z -" style="fill:#0000cc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 126.244922 438.899698 -L 128.288969 439.350222 -L 129.517199 438.685407 -L 127.460801 437.015718 -L 126.244922 438.899698 z -" style="fill:#0000cb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 124.174185 436.219781 +" style="fill:#0000c6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 124.174185 436.219781 L 126.244922 438.899698 L 127.460801 437.015718 L 125.37822 433.243506 -L 124.174185 436.219781 z -" style="fill:#0000c4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 139.913157 412.823184 +" style="fill:#0000c1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 162.629085 435.890047 +L 164.71313 435.630561 +L 165.860715 437.670787 +L 163.785372 437.365101 +z +" style="fill:#0000bc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 126.244922 438.899698 +L 128.288969 439.350222 +L 129.517199 438.685407 +L 127.460801 437.015718 +z +" style="fill:#0000c7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 139.913157 412.823184 L 141.995405 419.144055 L 143.169004 411.147213 L 141.081895 404.194475 -L 139.913157 412.823184 z " style="fill:#0000c7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 162.629085 435.890047 -L 164.71313 435.630561 -L 165.860715 437.670787 -L 163.785372 437.365101 -L 162.629085 435.890047 + <path clip-path="url(#p8946a7ce10)" d="M 146.656239 434.320988 +L 148.717301 431.910711 +L 149.915311 435.109038 +L 147.856992 436.176826 z -" style="fill:#0000bd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 143.169004 411.147213 +" style="fill:#0000c0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 136.651391 413.651099 +L 138.74329 420.298601 +L 139.913157 412.823184 +L 137.815874 405.506928 +z +" style="fill:#0000c4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 143.169004 411.147213 L 145.243774 417.208606 L 146.423079 408.581458 L 144.343885 401.959543 -L 143.169004 411.147213 z -" style="fill:#0000c9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 136.651391 413.651099 -L 138.74329 420.298601 -L 139.913157 412.823184 -L 137.815874 405.506928 -L 136.651391 413.651099 +" style="fill:#0000cb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 170.022793 438.388489 +L 172.108152 438.90624 +L 173.256836 438.893385 +L 171.17545 438.298466 z " style="fill:#0000c3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 146.656239 434.320988 -L 148.717301 431.910711 -L 149.915311 435.109038 -L 147.856992 436.176826 -L 146.656239 434.320988 -z -" style="fill:#0000c5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 134.818396 437.286072 + <path clip-path="url(#p8946a7ce10)" d="M 134.818396 437.286072 L 136.849771 434.74978 L 138.081681 436.508811 L 136.042318 437.593003 -L 134.818396 437.286072 z -" style="fill:#0000ce;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 170.022793 438.388489 -L 172.108152 438.90624 -L 173.256836 438.893385 -L 171.17545 438.298466 -L 170.022793 438.388489 +" style="fill:#0000c8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 157.308833 434.077825 +L 159.39133 432.927017 +L 160.550063 436.216614 +L 158.476759 436.487543 z -" style="fill:#0000c1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 128.9275 419.277794 +" style="fill:#0000b9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 128.9275 419.277794 L 131.040059 426.076841 L 132.21331 420.387457 L 130.093365 412.789548 -L 128.9275 419.277794 -z -" style="fill:#0000bd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 157.308833 434.077825 -L 159.39133 432.927017 -L 160.550063 436.216614 -L 158.476759 436.487543 -L 157.308833 434.077825 z " style="fill:#0000bc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 151.981059 433.48092 + <path clip-path="url(#p8946a7ce10)" d="M 151.981059 433.48092 L 154.055671 431.509499 L 155.233776 435.154065 L 153.166125 435.979876 -L 151.981059 433.48092 z -" style="fill:#0000bf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 131.554578 438.304738 +" style="fill:#0000bb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 131.554578 438.304738 L 133.580762 436.022639 L 134.818396 437.286072 L 132.781895 438.171259 -L 131.554578 438.304738 z -" style="fill:#0000cf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 122.959218 438.512828 +" style="fill:#0000ca;"/> + <path clip-path="url(#p8946a7ce10)" d="M 122.959218 438.512828 L 125.017684 440.119413 L 126.244922 438.899698 L 124.174185 436.219781 -L 122.959218 438.512828 z -" style="fill:#0000c7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 133.379582 413.645408 +" style="fill:#0000c4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 133.379582 413.645408 L 135.483835 420.713373 L 136.651391 413.651099 L 134.541355 405.914251 -L 133.379582 413.645408 z " style="fill:#0000c0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 128.288969 439.350222 -L 130.314372 437.664486 -L 131.554578 438.304738 -L 129.517199 438.685407 -L 128.288969 439.350222 -z -" style="fill:#0000cf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 123.263588 427.422052 + <path clip-path="url(#p8946a7ce10)" d="M 123.263588 427.422052 L 125.37822 433.243506 L 126.571322 429.476994 L 124.447125 422.763673 -L 123.263588 427.422052 z -" style="fill:#0000bb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 122.069978 431.327863 +" style="fill:#0000b9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 122.069978 431.327863 L 124.174185 436.219781 L 125.37822 433.243506 L 123.263588 427.422052 -L 122.069978 431.327863 z -" style="fill:#0000bc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 164.71313 435.630561 +" style="fill:#0000ba;"/> + <path clip-path="url(#p8946a7ce10)" d="M 164.71313 435.630561 L 166.801166 435.537942 L 167.940084 437.990117 L 165.860715 437.670787 -L 164.71313 435.630561 z -" style="fill:#0000b9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 172.108152 438.90624 +" style="fill:#0000b8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 128.288969 439.350222 +L 130.314372 437.664486 +L 131.554578 438.304738 +L 129.517199 438.685407 +z +" style="fill:#0000cb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 172.108152 438.90624 L 174.195617 439.557134 L 175.342075 439.464668 L 173.256836 438.893385 -L 172.108152 438.90624 -z -" style="fill:#0000c0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 143.390365 433.899647 -L 145.443941 430.798809 -L 146.656239 434.320988 -L 144.602827 436.010047 -L 143.390365 433.899647 -z -" style="fill:#0000c6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 125.017684 440.119413 -L 127.049016 439.391369 -L 128.288969 439.350222 -L 126.244922 438.899698 -L 125.017684 440.119413 z -" style="fill:#0000ce;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 124.447125 422.763673 +" style="fill:#0000c3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 124.447125 422.763673 L 126.571322 429.476994 L 127.754041 424.837985 L 125.621444 417.306861 -L 124.447125 422.763673 z -" style="fill:#0000ba;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 120.865948 434.553087 +" style="fill:#0000b8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 143.390365 433.899647 +L 145.443941 430.798809 +L 146.656239 434.320988 +L 144.602827 436.010047 +z +" style="fill:#0000c1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 120.865948 434.553087 L 122.959218 438.512828 L 124.174185 436.219781 L 122.069978 431.327863 -L 120.865948 434.553087 z -" style="fill:#0000be;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 130.093365 412.789548 +" style="fill:#0000bc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 125.017684 440.119413 +L 127.049016 439.391369 +L 128.288969 439.350222 +L 126.244922 438.899698 +z +" style="fill:#0000ca;"/> + <path clip-path="url(#p8946a7ce10)" d="M 130.093365 412.789548 L 132.21331 420.387457 L 133.379582 413.645408 L 131.253791 405.415298 -L 130.093365 412.789548 z " style="fill:#0000bc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 121.733823 440.245465 -L 123.779944 440.830211 -L 125.017684 440.119413 -L 122.959218 438.512828 -L 121.733823 440.245465 + <path clip-path="url(#p8946a7ce10)" d="M 159.39133 432.927017 +L 161.480643 431.860219 +L 162.629085 435.890047 +L 160.550063 436.216614 z -" style="fill:#0000ca;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 174.195617 439.557134 +" style="fill:#0000b4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 174.195617 439.557134 L 176.284946 440.327822 L 177.431418 440.000554 L 175.342075 439.464668 -L 174.195617 439.557134 z -" style="fill:#0000c0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 119.651616 437.187824 +" style="fill:#0000c4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 121.733823 440.245465 +L 123.779944 440.830211 +L 125.017684 440.119413 +L 122.959218 438.512828 +z +" style="fill:#0000c7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 119.651616 437.187824 L 121.733823 440.245465 L 122.959218 438.512828 L 120.865948 434.553087 -L 119.651616 437.187824 -z -" style="fill:#0000c1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 159.39133 432.927017 -L 161.480643 431.860219 -L 162.629085 435.890047 -L 160.550063 436.216614 -L 159.39133 432.927017 z -" style="fill:#0000b7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 140.120485 434.022355 -L 142.164348 430.391839 -L 143.390365 433.899647 -L 141.343749 436.083612 -L 140.120485 434.022355 +" style="fill:#0000be;"/> + <path clip-path="url(#p8946a7ce10)" d="M 166.801166 435.537942 +L 168.891976 435.685756 +L 170.022793 438.388489 +L 167.940084 437.990117 z -" style="fill:#0000c9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 125.621444 417.306861 +" style="fill:#0000b6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 125.621444 417.306861 L 127.754041 424.837985 L 128.9275 419.277794 L 126.787915 411.039548 -L 125.621444 417.306861 z -" style="fill:#0000b9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 166.801166 435.537942 -L 168.891976 435.685756 -L 170.022793 438.388489 -L 167.940084 437.990117 -L 166.801166 435.537942 +" style="fill:#0000b8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 140.120485 434.022355 +L 142.164348 430.391839 +L 143.390365 433.899647 +L 141.343749 436.083612 z -" style="fill:#0000b5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 148.717301 431.910711 +" style="fill:#0000c3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 148.717301 431.910711 L 150.788329 429.025453 L 151.981059 433.48092 L 149.915311 435.109038 -L 148.717301 431.910711 z -" style="fill:#0000bf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 137.815874 405.506928 +" style="fill:#0000bb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 137.815874 405.506928 L 139.913157 412.823184 L 141.081895 404.194475 L 138.980241 396.445523 -L 137.815874 405.506928 z -" style="fill:#0000c3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 141.081895 404.194475 +" style="fill:#0000c4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 141.081895 404.194475 L 143.169004 411.147213 L 144.343885 401.959543 L 142.252507 394.625037 -L 141.081895 404.194475 z -" style="fill:#0000c6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 154.055671 431.509499 +" style="fill:#0000c8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 154.055671 431.509499 L 156.139682 429.40524 L 157.308833 434.077825 L 155.233776 435.154065 -L 154.055671 431.509499 z -" style="fill:#0000ba;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 136.849771 434.74978 +" style="fill:#0000b6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 176.284946 440.327822 +L 178.376335 441.178232 +L 179.525515 440.46631 +L 177.431418 440.000554 +z +" style="fill:#0000c5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 136.849771 434.74978 L 138.882838 430.816052 L 140.120485 434.022355 L 138.081681 436.508811 -L 136.849771 434.74978 z -" style="fill:#0000cb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 134.541355 405.914251 +" style="fill:#0000c6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 134.541355 405.914251 L 136.651391 413.651099 L 137.815874 405.506928 L 135.70141 397.319995 -L 134.541355 405.914251 -z -" style="fill:#0000c0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 176.284946 440.327822 -L 178.376335 441.178232 -L 179.525515 440.46631 -L 177.431418 440.000554 -L 176.284946 440.327822 z " style="fill:#0000c1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 133.580762 436.022639 -L 135.603627 432.072476 -L 136.849771 434.74978 -L 134.818396 437.286072 -L 133.580762 436.022639 + <path clip-path="url(#p8946a7ce10)" d="M 118.732157 428.343383 +L 120.865948 434.553087 +L 122.069978 431.327863 +L 119.927456 424.357358 z -" style="fill:#0000ce;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 118.427494 439.332408 +" style="fill:#0000b4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 168.891976 435.685756 +L 170.984322 436.119177 +L 172.108152 438.90624 +L 170.022793 438.388489 +z +" style="fill:#0000b4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 119.927456 424.357358 +L 122.069978 431.327863 +L 123.263588 427.422052 +L 121.112956 419.714842 +z +" style="fill:#0000b3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 118.427494 439.332408 L 120.498922 441.547674 L 121.733823 440.245465 L 119.651616 437.187824 -L 118.427494 439.332408 z -" style="fill:#0000c3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 127.049016 439.391369 +" style="fill:#0000c1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 133.580762 436.022639 +L 135.603627 432.072476 +L 136.849771 434.74978 +L 134.818396 437.286072 +z +" style="fill:#0000c9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 127.049016 439.391369 L 129.062127 436.462956 L 130.314372 437.664486 L 128.288969 439.350222 -L 127.049016 439.391369 z -" style="fill:#0000d1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 123.779944 440.830211 +" style="fill:#0000cd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 123.779944 440.830211 L 125.79851 438.995836 L 127.049016 439.391369 L 125.017684 440.119413 -L 123.779944 440.830211 z -" style="fill:#0000d0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 130.314372 437.664486 +" style="fill:#0000cd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 130.314372 437.664486 L 132.329766 434.036646 L 133.580762 436.022639 L 131.554578 438.304738 -L 130.314372 437.664486 z -" style="fill:#0000d0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 118.732157 428.343383 +" style="fill:#0000cc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 117.526774 431.730839 +L 119.651616 437.187824 L 120.865948 434.553087 -L 122.069978 431.327863 -L 119.927456 424.357358 L 118.732157 428.343383 z -" style="fill:#0000b6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 119.927456 424.357358 -L 122.069978 431.327863 -L 123.263588 427.422052 -L 121.112956 419.714842 -L 119.927456 424.357358 -z " style="fill:#0000b5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 168.891976 435.685756 -L 170.984322 436.119177 -L 172.108152 438.90624 -L 170.022793 438.388489 -L 168.891976 435.685756 -z -" style="fill:#0000b3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 126.787915 411.039548 + <path clip-path="url(#p8946a7ce10)" d="M 126.787915 411.039548 L 128.9275 419.277794 L 130.093365 412.789548 L 127.948396 403.990388 -L 126.787915 411.039548 z " style="fill:#0000b8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 117.526774 431.730839 -L 119.651616 437.187824 -L 120.865948 434.553087 -L 118.732157 428.343383 -L 117.526774 431.730839 -z -" style="fill:#0000b7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 120.498922 441.547674 -L 122.533001 441.190938 -L 123.779944 440.830211 -L 121.733823 440.245465 -L 120.498922 441.547674 -z -" style="fill:#0000cc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 121.112956 419.714842 + <path clip-path="url(#p8946a7ce10)" d="M 121.112956 419.714842 L 123.263588 427.422052 L 124.447125 422.763673 L 122.28937 414.377746 -L 121.112956 419.714842 z -" style="fill:#0000b4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 161.480643 431.860219 +" style="fill:#0000b3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 161.480643 431.860219 L 163.57562 431.013112 L 164.71313 435.630561 L 162.629085 435.890047 -L 161.480643 431.860219 z -" style="fill:#0000b2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 178.376335 441.178232 +" style="fill:#0000b0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 120.498922 441.547674 +L 122.533001 441.190938 +L 123.779944 440.830211 +L 121.733823 440.245465 +z +" style="fill:#0000ca;"/> + <path clip-path="url(#p8946a7ce10)" d="M 178.376335 441.178232 L 180.470547 442.042942 L 181.625509 440.805743 L 179.525515 440.46631 -L 178.376335 441.178232 z -" style="fill:#0000c3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 131.253791 405.415298 +" style="fill:#0000c8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 131.253791 405.415298 L 133.379582 413.645408 L 134.541355 405.914251 L 132.411313 397.251402 -L 131.253791 405.415298 z -" style="fill:#0000bc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 145.443941 430.798809 +" style="fill:#0000bd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 145.443941 430.798809 L 147.50788 427.053348 L 148.717301 431.910711 L 146.656239 434.320988 -L 145.443941 430.798809 -z -" style="fill:#0000c1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 116.311386 434.59041 -L 118.427494 439.332408 -L 119.651616 437.187824 -L 117.526774 431.730839 -L 116.311386 434.59041 z -" style="fill:#0000b9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 170.984322 436.119177 +" style="fill:#0000bc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 170.984322 436.119177 L 173.077109 436.853741 L 174.195617 439.557134 L 172.108152 438.90624 -L 170.984322 436.119177 z -" style="fill:#0000b1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 117.194397 441.089952 -L 119.255756 442.548597 -L 120.498922 441.547674 +" style="fill:#0000b3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 116.311386 434.59041 L 118.427494 439.332408 -L 117.194397 441.089952 +L 119.651616 437.187824 +L 117.526774 431.730839 z -" style="fill:#0000c5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 122.28937 414.377746 +" style="fill:#0000b7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 122.28937 414.377746 L 124.447125 422.763673 L 125.621444 417.306861 L 123.45787 408.334794 -L 122.28937 414.377746 z -" style="fill:#0000b4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 180.470547 442.042942 -L 182.569008 442.833589 -L 183.733116 440.943768 -L 181.625509 440.805743 -L 180.470547 442.042942 +" style="fill:#0000b3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 117.194397 441.089952 +L 119.255756 442.548597 +L 120.498922 441.547674 +L 118.427494 439.332408 z -" style="fill:#0000c6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 156.139682 429.40524 +" style="fill:#0000c4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 156.139682 429.40524 L 158.232787 427.362929 L 159.39133 432.927017 L 157.308833 434.077825 -L 156.139682 429.40524 z -" style="fill:#0000b4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 150.788329 429.025453 -L 152.870599 425.909904 -L 154.055671 431.509499 -L 151.981059 433.48092 -L 150.788329 429.025453 +" style="fill:#0000b1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 180.470547 442.042942 +L 182.569008 442.833589 +L 183.733116 440.943768 +L 181.625509 440.805743 z -" style="fill:#0000ba;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 173.077109 436.853741 +" style="fill:#0000cc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 173.077109 436.853741 L 175.169553 437.874888 L 176.284946 440.327822 L 174.195617 439.557134 -L 173.077109 436.853741 z -" style="fill:#0000b0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 115.086359 436.998722 +" style="fill:#0000b2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 150.788329 429.025453 +L 152.870599 425.909904 +L 154.055671 431.509499 +L 151.981059 433.48092 +z +" style="fill:#0000b6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 115.086359 436.998722 L 117.194397 441.089952 L 118.427494 439.332408 L 116.311386 434.59041 -L 115.086359 436.998722 z -" style="fill:#0000ba;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 163.57562 431.013112 +" style="fill:#0000b8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 163.57562 431.013112 L 165.674731 430.494515 L 166.801166 435.537942 L 164.71313 435.630561 -L 163.57562 431.013112 z " style="fill:#0000ad;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 119.255756 442.548597 + <path clip-path="url(#p8946a7ce10)" d="M 127.948396 403.990388 +L 130.093365 412.789548 +L 131.253791 405.415298 +L 129.105165 396.234375 +z +" style="fill:#0000b9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 142.164348 430.391839 +L 144.217926 425.910015 +L 145.443941 430.798809 +L 143.390365 433.899647 +z +" style="fill:#0000bf;"/> + <path clip-path="url(#p8946a7ce10)" d="M 119.255756 442.548597 L 121.278485 441.355471 L 122.533001 441.190938 L 120.498922 441.547674 -L 119.255756 442.548597 z -" style="fill:#0000cf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 138.980241 396.445523 +" style="fill:#0000cd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 138.980241 396.445523 L 141.081895 404.194475 L 142.252507 394.625037 L 140.147398 386.701917 -L 138.980241 396.445523 -z -" style="fill:#0000c3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 142.164348 430.391839 -L 144.217926 425.910015 -L 145.443941 430.798809 -L 143.390365 433.899647 -L 142.164348 430.391839 z -" style="fill:#0000c4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 127.948396 403.990388 -L 130.093365 412.789548 -L 131.253791 405.415298 -L 129.105165 396.234375 -L 127.948396 403.990388 -z -" style="fill:#0000b8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 122.533001 441.190938 +" style="fill:#0000c5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 122.533001 441.190938 L 124.539082 438.349716 L 125.79851 438.995836 L 123.779944 440.830211 -L 122.533001 441.190938 z -" style="fill:#0000d3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 135.70141 397.319995 -L 137.815874 405.506928 -L 138.980241 396.445523 -L 136.862643 388.0529 -L 135.70141 397.319995 +" style="fill:#0000d0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 175.169553 437.874888 +L 177.261338 439.138253 +L 178.376335 441.178232 +L 176.284946 440.327822 z -" style="fill:#0000c0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 123.45787 408.334794 +" style="fill:#0000b3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 123.45787 408.334794 L 125.621444 417.306861 L 126.787915 411.039548 L 124.620083 401.60802 -L 123.45787 408.334794 z " style="fill:#0000b4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 182.569008 442.833589 + <path clip-path="url(#p8946a7ce10)" d="M 135.70141 397.319995 +L 137.815874 405.506928 +L 138.980241 396.445523 +L 136.862643 388.0529 +z +" style="fill:#0000c2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 182.569008 442.833589 L 184.673876 443.442412 L 185.85066 440.790092 L 183.733116 440.943768 -L 182.569008 442.833589 -z -" style="fill:#0000ca;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 125.79851 438.995836 -L 127.799284 434.917181 -L 129.062127 436.462956 -L 127.049016 439.391369 -L 125.79851 438.995836 -z -" style="fill:#0000d3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 175.169553 437.874888 -L 177.261338 439.138253 -L 178.376335 441.178232 -L 176.284946 440.327822 -L 175.169553 437.874888 z -" style="fill:#0000b0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 115.953329 442.559583 +" style="fill:#0000d1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 115.953329 442.559583 L 118.005761 443.369439 L 119.255756 442.548597 L 117.194397 441.089952 -L 115.953329 442.559583 z -" style="fill:#0000c7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 113.852246 439.032033 +" style="fill:#0000c6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 125.79851 438.995836 +L 127.799284 434.917181 +L 129.062127 436.462956 +L 127.049016 439.391369 +z +" style="fill:#0000d0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 113.852246 439.032033 L 115.953329 442.559583 L 117.194397 441.089952 L 115.086359 436.998722 -L 113.852246 439.032033 z -" style="fill:#0000bb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 138.882838 430.816052 +" style="fill:#0000ba;"/> + <path clip-path="url(#p8946a7ce10)" d="M 177.261338 439.138253 +L 179.352768 440.570747 +L 180.470547 442.042942 +L 178.376335 441.178232 +z +" style="fill:#0000b6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 138.882838 430.816052 L 140.923609 425.789059 L 142.164348 430.391839 L 140.120485 434.022355 -L 138.882838 430.816052 -z -" style="fill:#0000c8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 129.062127 436.462956 -L 131.066461 431.574022 -L 132.329766 434.036646 -L 130.314372 437.664486 -L 129.062127 436.462956 z -" style="fill:#0000d2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 132.411313 397.251402 +" style="fill:#0000c3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 132.411313 397.251402 L 134.541355 405.914251 L 135.70141 397.319995 L 133.568705 388.451535 -L 132.411313 397.251402 z -" style="fill:#0000bc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 177.261338 439.138253 -L 179.352768 440.570747 -L 180.470547 442.042942 -L 178.376335 441.178232 -L 177.261338 439.138253 +" style="fill:#0000be;"/> + <path clip-path="url(#p8946a7ce10)" d="M 165.674731 430.494515 +L 167.77623 430.383807 +L 168.891976 435.685756 +L 166.801166 435.537942 z -" style="fill:#0000b1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 132.329766 434.036646 -L 134.343729 428.748429 -L 135.603627 432.072476 -L 133.580762 436.022639 +" style="fill:#0000a9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 129.062127 436.462956 +L 131.066461 431.574022 L 132.329766 434.036646 +L 130.314372 437.664486 z -" style="fill:#0000cf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 135.603627 432.072476 +" style="fill:#0000ce;"/> + <path clip-path="url(#p8946a7ce10)" d="M 135.603627 432.072476 L 137.630543 426.756256 L 138.882838 430.816052 L 136.849771 434.74978 +z +" style="fill:#0000c7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 132.329766 434.036646 +L 134.343729 428.748429 L 135.603627 432.072476 +L 133.580762 436.022639 z " style="fill:#0000cb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 165.674731 430.494515 -L 167.77623 430.383807 -L 168.891976 435.685756 -L 166.801166 435.537942 -L 165.674731 430.494515 -z -" style="fill:#0000aa;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 184.673876 443.442412 -L 186.78806 443.746991 -L 187.981066 440.243981 -L 185.85066 440.790092 -L 184.673876 443.442412 + <path clip-path="url(#p8946a7ce10)" d="M 158.232787 427.362929 +L 160.33396 425.554587 +L 161.480643 431.860219 +L 159.39133 432.927017 z -" style="fill:#0000d0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 179.352768 440.570747 +" style="fill:#0000ad;"/> + <path clip-path="url(#p8946a7ce10)" d="M 179.352768 440.570747 L 181.444888 442.072587 L 182.569008 442.833589 L 180.470547 442.042942 -L 179.352768 440.570747 z -" style="fill:#0000b4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 158.232787 427.362929 -L 160.33396 425.554587 -L 161.480643 431.860219 -L 159.39133 432.927017 -L 158.232787 427.362929 +" style="fill:#0000b9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 184.673876 443.442412 +L 186.78806 443.746991 +L 187.981066 440.243981 +L 185.85066 440.790092 z -" style="fill:#0000af;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 147.50788 427.053348 +" style="fill:#0000d7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 147.50788 427.053348 L 149.584435 422.941408 L 150.788329 429.025453 L 148.717301 431.910711 -L 147.50788 427.053348 -z -" style="fill:#0000bc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 118.005761 443.369439 -L 120.018227 441.465416 -L 121.278485 441.355471 -L 119.255756 442.548597 -L 118.005761 443.369439 z -" style="fill:#0000d1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 124.620083 401.60802 +" style="fill:#0000b8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 124.620083 401.60802 L 126.787915 411.039548 L 127.948396 403.990388 L 125.778062 394.258312 -L 124.620083 401.60802 z -" style="fill:#0000b4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 112.609674 440.760653 -L 114.705367 443.830566 +" style="fill:#0000b5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 118.005761 443.369439 +L 120.018227 441.465416 +L 121.278485 441.355471 +L 119.255756 442.548597 +z +" style="fill:#0000d0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 112.609674 440.760653 +L 114.705367 443.830566 L 115.953329 442.559583 L 113.852246 439.032033 -L 112.609674 440.760653 z " style="fill:#0000bc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 114.705367 443.830566 -L 116.750443 444.117441 -L 118.005761 443.369439 -L 115.953329 442.559583 -L 114.705367 443.830566 -z -" style="fill:#0000c9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 129.105165 396.234375 + <path clip-path="url(#p8946a7ce10)" d="M 129.105165 396.234375 L 131.253791 405.415298 L 132.411313 397.251402 L 130.260813 387.896588 -L 129.105165 396.234375 z -" style="fill:#0000b9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 181.444888 442.072587 +" style="fill:#0000ba;"/> + <path clip-path="url(#p8946a7ce10)" d="M 181.444888 442.072587 L 183.539582 443.520458 L 184.673876 443.442412 L 182.569008 442.833589 -L 181.444888 442.072587 z -" style="fill:#0000b8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 121.278485 441.355471 -L 123.272704 437.629352 -L 124.539082 438.349716 -L 122.533001 441.190938 -L 121.278485 441.355471 +" style="fill:#0000be;"/> + <path clip-path="url(#p8946a7ce10)" d="M 114.705367 443.830566 +L 116.750443 444.117441 +L 118.005761 443.369439 +L 115.953329 442.559583 z -" style="fill:#0000d5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 152.870599 425.909904 +" style="fill:#0000c9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 167.77623 430.383807 +L 169.878331 430.729442 +L 170.984322 436.119177 +L 168.891976 435.685756 +z +" style="fill:#0000a7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 152.870599 425.909904 L 154.964373 422.795594 L 156.139682 429.40524 L 154.055671 431.509499 -L 152.870599 425.909904 z -" style="fill:#0000b4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 167.77623 430.383807 -L 169.878331 430.729442 -L 170.984322 436.119177 -L 168.891976 435.685756 -L 167.77623 430.383807 +" style="fill:#0000b1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 121.278485 441.355471 +L 123.272704 437.629352 +L 124.539082 438.349716 +L 122.533001 441.190938 z -" style="fill:#0000a6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 183.539582 443.520458 +" style="fill:#0000d3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 183.539582 443.520458 L 185.639621 444.771982 L 186.78806 443.746991 L 184.673876 443.442412 -L 183.539582 443.520458 z -" style="fill:#0000bd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 186.78806 443.746991 +" style="fill:#0000c5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 169.878331 430.729442 +L 171.979379 431.548188 +L 173.077109 436.853741 +L 170.984322 436.119177 +z +" style="fill:#0000a5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 186.78806 443.746991 L 188.915181 443.616184 L 190.127802 439.200077 L 187.981066 440.243981 -L 186.78806 443.746991 -z -" style="fill:#0000d6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 124.539082 438.349716 -L 126.527753 433.237965 -L 127.799284 434.917181 -L 125.79851 438.995836 -L 124.539082 438.349716 z -" style="fill:#0000d5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 136.862643 388.0529 +" style="fill:#0000dd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 136.862643 388.0529 L 138.980241 396.445523 L 140.147398 386.701917 L 138.027863 378.365601 -L 136.862643 388.0529 z -" style="fill:#0000c0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 111.359236 442.244228 +" style="fill:#0000c3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 124.539082 438.349716 +L 126.527753 433.237965 +L 127.799284 434.917181 +L 125.79851 438.995836 +z +" style="fill:#0000d3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 111.359236 442.244228 L 113.451534 444.977434 L 114.705367 443.830566 L 112.609674 440.760653 -L 111.359236 442.244228 z " style="fill:#0000bd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 169.878331 430.729442 -L 171.979379 431.548188 -L 173.077109 436.853741 -L 170.984322 436.119177 -L 169.878331 430.729442 + <path clip-path="url(#p8946a7ce10)" d="M 160.33396 425.554587 +L 162.441601 424.124537 +L 163.57562 431.013112 +L 161.480643 431.860219 z -" style="fill:#0000a4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 144.217926 425.910015 +" style="fill:#0000a8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 144.217926 425.910015 L 146.284676 420.886325 L 147.50788 427.053348 L 145.443941 430.798809 -L 144.217926 425.910015 z -" style="fill:#0000bf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 133.568705 388.451535 +" style="fill:#0000bb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 133.568705 388.451535 L 135.70141 397.319995 L 136.862643 388.0529 L 134.728805 379.226642 -L 133.568705 388.451535 -z -" style="fill:#0000bd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 116.750443 444.117441 -L 118.754128 441.644131 -L 120.018227 441.465416 -L 118.005761 443.369439 -L 116.750443 444.117441 -z -" style="fill:#0000d3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 160.33396 425.554587 -L 162.441601 424.124537 -L 163.57562 431.013112 -L 161.480643 431.860219 -L 160.33396 425.554587 z -" style="fill:#0000aa;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 113.451534 444.977434 +" style="fill:#0000bf;"/> + <path clip-path="url(#p8946a7ce10)" d="M 113.451534 444.977434 L 115.491245 444.881016 L 116.750443 444.117441 L 114.705367 443.830566 -L 113.451534 444.977434 z -" style="fill:#0000ca;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 185.639621 444.771982 +" style="fill:#0000cb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 185.639621 444.771982 L 187.748661 445.671588 L 188.915181 443.616184 L 186.78806 443.746991 -L 185.639621 444.771982 z -" style="fill:#0000c4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 125.778062 394.258312 +" style="fill:#0000cc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 125.778062 394.258312 L 127.948396 403.990388 L 129.105165 396.234375 L 126.934203 386.389489 -L 125.778062 394.258312 -z -" style="fill:#0000b5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 127.799284 434.917181 -L 129.792508 428.879542 -L 131.066461 431.574022 -L 129.062127 436.462956 -L 127.799284 434.917181 z -" style="fill:#0000d4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 171.979379 431.548188 +" style="fill:#0000b6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 171.979379 431.548188 L 174.078026 432.824843 L 175.169553 437.874888 L 173.077109 436.853741 -L 171.979379 431.548188 z -" style="fill:#0000a2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 120.018227 441.465416 -L 122.001549 436.994009 -L 123.272704 437.629352 -L 121.278485 441.355471 +" style="fill:#0000a4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 116.750443 444.117441 +L 118.754128 441.644131 L 120.018227 441.465416 +L 118.005761 443.369439 z -" style="fill:#0000d7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 188.915181 443.616184 -L 191.059482 442.917204 -L 192.294761 437.555154 -L 190.127802 439.200077 -L 188.915181 443.616184 +" style="fill:#0000d3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 127.799284 434.917181 +L 129.792508 428.879542 +L 131.066461 431.574022 +L 129.062127 436.462956 z -" style="fill:#0000dc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 130.260813 387.896588 +" style="fill:#0000d1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 174.078026 432.824843 +L 176.173404 434.512336 +L 177.261338 439.138253 +L 175.169553 437.874888 +z +" style="fill:#0000a4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 130.260813 387.896588 L 132.411313 397.251402 L 133.568705 388.451535 L 131.418105 379.153412 -L 130.260813 387.896588 z -" style="fill:#0000b9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 174.078026 432.824843 -L 176.173404 434.512336 +" style="fill:#0000bc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 176.173404 434.512336 +L 178.26529 436.532302 +L 179.352768 440.570747 L 177.261338 439.138253 -L 175.169553 437.874888 -L 174.078026 432.824843 z -" style="fill:#0000a1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 140.923609 425.789059 +" style="fill:#0000a5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 120.018227 441.465416 +L 122.001549 436.994009 +L 123.272704 437.629352 +L 121.278485 441.355471 +z +" style="fill:#0000d7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 140.923609 425.789059 L 142.97694 420.004317 L 144.217926 425.910015 L 142.164348 430.391839 -L 140.923609 425.789059 -z -" style="fill:#0000c3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 187.748661 445.671588 -L 189.871169 446.057765 -L 191.059482 442.917204 -L 188.915181 443.616184 -L 187.748661 445.671588 z -" style="fill:#0000cc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 110.101376 443.527986 +" style="fill:#0000bf;"/> + <path clip-path="url(#p8946a7ce10)" d="M 110.101376 443.527986 L 112.192679 446.056167 L 113.451534 444.977434 L 111.359236 442.244228 -L 110.101376 443.527986 z -" style="fill:#0000bd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 131.066461 431.574022 -L 133.071294 425.055514 -L 134.343729 428.748429 -L 132.329766 434.036646 -L 131.066461 431.574022 +" style="fill:#0000be;"/> + <path clip-path="url(#p8946a7ce10)" d="M 154.964373 422.795594 +L 157.068997 419.891537 +L 158.232787 427.362929 +L 156.139682 429.40524 z -" style="fill:#0000d0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 176.173404 434.512336 -L 178.26529 436.532302 -L 179.352768 440.570747 -L 177.261338 439.138253 -L 176.173404 434.512336 +" style="fill:#0000ac;"/> + <path clip-path="url(#p8946a7ce10)" d="M 188.915181 443.616184 +L 191.059482 442.917204 +L 192.294761 437.555154 +L 190.127802 439.200077 z -" style="fill:#0000a2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 149.584435 422.941408 +" style="fill:#0000e3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 149.584435 422.941408 L 151.674682 418.732364 L 152.870599 425.909904 L 150.788329 429.025453 -L 149.584435 422.941408 -z -" style="fill:#0000b6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 154.964373 422.795594 -L 157.068997 419.891537 -L 158.232787 427.362929 -L 156.139682 429.40524 -L 154.964373 422.795594 z -" style="fill:#0000af;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 178.26529 436.532302 +" style="fill:#0000b3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 178.26529 436.532302 L 180.354261 438.776414 L 181.444888 442.072587 L 179.352768 440.570747 -L 178.26529 436.532302 -z -" style="fill:#0000a3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 112.192679 446.056167 -L 114.229416 445.726042 -L 115.491245 444.881016 -L 113.451534 444.977434 -L 112.192679 446.056167 z -" style="fill:#0000cb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 137.630543 426.756256 -L 139.667896 420.425555 -L 140.923609 425.789059 -L 138.882838 430.816052 -L 137.630543 426.756256 +" style="fill:#0000a8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 187.748661 445.671588 +L 189.871169 446.057765 +L 191.059482 442.917204 +L 188.915181 443.616184 z -" style="fill:#0000c8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 134.343729 428.748429 -L 136.364178 422.15168 -L 137.630543 426.756256 -L 135.603627 432.072476 +" style="fill:#0000d5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 131.066461 431.574022 +L 133.071294 425.055514 L 134.343729 428.748429 +L 132.329766 434.036646 z -" style="fill:#0000cc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 180.354261 438.776414 +" style="fill:#0000cd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 180.354261 438.776414 L 182.441819 441.108803 L 183.539582 443.520458 L 181.444888 442.072587 -L 180.354261 438.776414 z -" style="fill:#0000a6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 162.441601 424.124537 +" style="fill:#0000ac;"/> + <path clip-path="url(#p8946a7ce10)" d="M 162.441601 424.124537 L 164.553698 423.186484 L 165.674731 430.494515 L 163.57562 431.013112 -L 162.441601 424.124537 z -" style="fill:#0000a5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 115.491245 444.881016 -L 117.488017 441.992109 -L 118.754128 441.644131 -L 116.750443 444.117441 +" style="fill:#0000a4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 112.192679 446.056167 +L 114.229416 445.726042 L 115.491245 444.881016 +L 113.451534 444.977434 z -" style="fill:#0000d5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 182.441819 441.108803 +" style="fill:#0000cd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 182.441819 441.108803 L 184.530478 443.369924 L 185.639621 444.771982 L 183.539582 443.520458 -L 182.441819 441.108803 z -" style="fill:#0000ab;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 123.272704 437.629352 -L 125.249789 431.620724 -L 126.527753 433.237965 -L 124.539082 438.349716 -L 123.272704 437.629352 +" style="fill:#0000b2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 137.630543 426.756256 +L 139.667896 420.425555 +L 140.923609 425.789059 +L 138.882838 430.816052 z -" style="fill:#0000d8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 184.530478 443.369924 +" style="fill:#0000c4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 134.343729 428.748429 +L 136.364178 422.15168 +L 137.630543 426.756256 +L 135.603627 432.072476 +z +" style="fill:#0000c9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 115.491245 444.881016 +L 117.488017 441.992109 +L 118.754128 441.644131 +L 116.750443 444.117441 +z +" style="fill:#0000d6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 184.530478 443.369924 L 186.623796 445.382091 L 187.748661 445.671588 L 185.639621 444.771982 -L 184.530478 443.369924 z -" style="fill:#0000b1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 126.934203 386.389489 +" style="fill:#0000b9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 126.934203 386.389489 L 129.105165 396.234375 L 130.260813 387.896588 L 128.091143 378.150348 -L 126.934203 386.389489 z -" style="fill:#0000b6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 189.871169 446.057765 -L 192.01228 445.771545 -L 193.225658 441.523656 -L 191.059482 442.917204 -L 189.871169 446.057765 +" style="fill:#0000b8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 123.272704 437.629352 +L 125.249789 431.620724 +L 126.527753 433.237965 +L 124.539082 438.349716 z -" style="fill:#0000d5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 186.623796 445.382091 +" style="fill:#0000d7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 186.623796 445.382091 L 188.726331 446.956734 L 189.871169 446.057765 L 187.748661 445.671588 -L 186.623796 445.382091 z -" style="fill:#0000ba;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 108.836282 444.640007 +" style="fill:#0000c2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 108.836282 444.640007 L 110.929358 447.101457 L 112.192679 446.056167 L 110.101376 443.527986 -L 108.836282 444.640007 z -" style="fill:#0000bc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 134.728805 379.226642 +" style="fill:#0000be;"/> + <path clip-path="url(#p8946a7ce10)" d="M 189.871169 446.057765 +L 192.01228 445.771545 +L 193.225658 441.523656 +L 191.059482 442.917204 +z +" style="fill:#0000dd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 134.728805 379.226642 L 136.862643 388.0529 L 138.027863 378.365601 L 135.89431 369.841167 -L 134.728805 379.226642 z -" style="fill:#0000be;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 191.059482 442.917204 +" style="fill:#0000c1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 164.553698 423.186484 +L 166.668009 422.822173 +L 167.77623 430.383807 +L 165.674731 430.494515 +z +" style="fill:#0000a1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 191.059482 442.917204 L 193.225658 441.523656 L 194.486082 435.21563 L 192.294761 437.555154 -L 191.059482 442.917204 z -" style="fill:#0000e2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 118.754128 441.644131 +" style="fill:#0000e9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 118.754128 441.644131 L 120.727858 436.580211 L 122.001549 436.994009 L 120.018227 441.465416 -L 118.754128 441.644131 z -" style="fill:#0000d9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 110.929358 447.101457 +" style="fill:#0000da;"/> + <path clip-path="url(#p8946a7ce10)" d="M 110.929358 447.101457 L 112.965891 446.693261 L 114.229416 445.726042 L 112.192679 446.056167 -L 110.929358 447.101457 z -" style="fill:#0000cb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 164.553698 423.186484 -L 166.668009 422.822173 -L 167.77623 430.383807 -L 165.674731 430.494515 -L 164.553698 423.186484 +" style="fill:#0000ce;"/> + <path clip-path="url(#p8946a7ce10)" d="M 146.284676 420.886325 +L 148.366742 415.629025 +L 149.584435 422.941408 +L 147.50788 427.053348 z -" style="fill:#0000a1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 188.726331 446.956734 +" style="fill:#0000b6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 188.726331 446.956734 L 190.843529 447.903254 L 192.01228 445.771545 L 189.871169 446.057765 -L 188.726331 446.956734 z -" style="fill:#0000c3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 131.418105 379.153412 +" style="fill:#0000cd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 131.418105 379.153412 L 133.568705 388.451535 L 134.728805 379.226642 L 132.579799 370.230639 -L 131.418105 379.153412 z -" style="fill:#0000ba;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 146.284676 420.886325 -L 148.366742 415.629025 -L 149.584435 422.941408 -L 147.50788 427.053348 -L 146.284676 420.886325 +" style="fill:#0000bd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 157.068997 419.891537 +L 159.183043 417.377602 +L 160.33396 425.554587 +L 158.232787 427.362929 z -" style="fill:#0000ba;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 114.229416 445.726042 +" style="fill:#0000a8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 114.229416 445.726042 L 116.221525 442.583615 L 117.488017 441.992109 L 115.491245 444.881016 -L 114.229416 445.726042 z -" style="fill:#0000d6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 126.527753 433.237965 +" style="fill:#0000d8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 126.527753 433.237965 L 128.510044 426.185192 L 129.792508 428.879542 L 127.799284 434.917181 -L 126.527753 433.237965 -z -" style="fill:#0000d6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 157.068997 419.891537 -L 159.183043 417.377602 -L 160.33396 425.554587 -L 158.232787 427.362929 -L 157.068997 419.891537 -z -" style="fill:#0000a9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 107.563792 445.589539 -L 109.66173 448.125025 -L 110.929358 447.101457 -L 108.836282 444.640007 -L 107.563792 445.589539 -z -" style="fill:#0000bb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 192.01228 445.771545 -L 194.177572 444.665955 -L 195.418623 439.324285 -L 193.225658 441.523656 -L 192.01228 445.771545 z -" style="fill:#0000dd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 166.668009 422.822173 +" style="fill:#0000d4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 166.668009 422.822173 L 168.782227 423.081047 L 169.878331 430.729442 L 167.77623 430.383807 -L 166.668009 422.822173 z " style="fill:#00009e;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 151.674682 418.732364 + <path clip-path="url(#p8946a7ce10)" d="M 107.563792 445.589539 +L 109.66173 448.125025 +L 110.929358 447.101457 +L 108.836282 444.640007 +z +" style="fill:#0000bd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 151.674682 418.732364 L 153.778581 414.674224 L 154.964373 422.795594 L 152.870599 425.909904 -L 151.674682 418.732364 z -" style="fill:#0000b1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 190.843529 447.903254 -L 192.981512 448.039164 +" style="fill:#0000ae;"/> + <path clip-path="url(#p8946a7ce10)" d="M 192.01228 445.771545 L 194.177572 444.665955 -L 192.01228 445.771545 -L 190.843529 447.903254 +L 195.418623 439.324285 +L 193.225658 441.523656 z -" style="fill:#0000ce;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 128.091143 378.150348 +" style="fill:#0000e5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 128.091143 378.150348 L 130.260813 387.896588 L 131.418105 379.153412 L 129.251611 369.734108 -L 128.091143 378.150348 z -" style="fill:#0000b7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 109.66173 448.125025 +" style="fill:#0000ba;"/> + <path clip-path="url(#p8946a7ce10)" d="M 190.843529 447.903254 +L 192.981512 448.039164 +L 194.177572 444.665955 +L 192.01228 445.771545 +z +" style="fill:#0000d7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 109.66173 448.125025 L 111.701174 447.796702 L 112.965891 446.693261 L 110.929358 447.101457 -L 109.66173 448.125025 z -" style="fill:#0000cb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 122.001549 436.994009 +" style="fill:#0000ce;"/> + <path clip-path="url(#p8946a7ce10)" d="M 168.782227 423.081047 +L 170.894158 423.980304 +L 171.979379 431.548188 +L 169.878331 430.729442 +z +" style="fill:#00009b;"/> + <path clip-path="url(#p8946a7ce10)" d="M 122.001549 436.994009 L 123.96784 430.23834 L 125.249789 431.620724 L 123.272704 437.629352 -L 122.001549 436.994009 z " style="fill:#0000da;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 129.792508 428.879542 -L 131.788159 421.263271 -L 133.071294 425.055514 -L 131.066461 431.574022 -L 129.792508 428.879542 -z -" style="fill:#0000d2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 117.488017 441.992109 -L 119.453797 436.497688 -L 120.727858 436.580211 -L 118.754128 441.644131 -L 117.488017 441.992109 -z -" style="fill:#0000db;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 142.97694 420.004317 + <path clip-path="url(#p8946a7ce10)" d="M 142.97694 420.004317 L 145.046303 413.808152 L 146.284676 420.886325 L 144.217926 425.910015 -L 142.97694 420.004317 -z -" style="fill:#0000be;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 193.225658 441.523656 -L 195.418623 439.324285 -L 196.705907 432.105567 -L 194.486082 435.21563 -L 193.225658 441.523656 -z -" style="fill:#0000e8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 112.965891 446.693261 -L 114.955955 443.464452 -L 116.221525 442.583615 -L 114.229416 445.726042 -L 112.965891 446.693261 z -" style="fill:#0000d7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 185.534034 442.879817 +" style="fill:#0000bb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 185.534034 442.879817 L 187.619261 445.705202 L 188.726331 446.956734 L 186.623796 445.382091 -L 185.534034 442.879817 z -" style="fill:#0000a8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 168.782227 423.081047 -L 170.894158 423.980304 -L 171.979379 431.548188 -L 169.878331 430.729442 -L 168.782227 423.081047 +" style="fill:#0000af;"/> + <path clip-path="url(#p8946a7ce10)" d="M 129.792508 428.879542 +L 131.788159 421.263271 +L 133.071294 425.055514 +L 131.066461 431.574022 z -" style="fill:#00009b;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 187.619261 445.705202 +" style="fill:#0000d0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 183.453376 439.713362 +L 185.534034 442.879817 +L 186.623796 445.382091 +L 184.530478 443.369924 +z +" style="fill:#0000a7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 187.619261 445.705202 L 189.714669 447.968927 L 190.843529 447.903254 L 188.726331 446.956734 -L 187.619261 445.705202 z -" style="fill:#0000b1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 183.453376 439.713362 -L 185.534034 442.879817 -L 186.623796 445.382091 -L 184.530478 443.369924 -L 183.453376 439.713362 +" style="fill:#0000ba;"/> + <path clip-path="url(#p8946a7ce10)" d="M 117.488017 441.992109 +L 119.453797 436.497688 +L 120.727858 436.580211 +L 118.754128 441.644131 z -" style="fill:#0000a1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 181.372776 436.418884 +" style="fill:#0000dd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 181.372776 436.418884 L 183.453376 439.713362 L 184.530478 443.369924 L 182.441819 441.108803 -L 181.372776 436.418884 -z -" style="fill:#00009c;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 106.283321 446.366366 -L 108.389467 449.11499 -L 109.66173 448.125025 -L 107.563792 445.589539 -L 106.283321 446.366366 -z -" style="fill:#0000b9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 133.071294 425.055514 -L 135.085091 417.310347 -L 136.364178 422.15168 -L 134.343729 428.748429 -L 133.071294 425.055514 -z -" style="fill:#0000cd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 189.714669 447.968927 -L 191.826791 449.453727 -L 192.981512 448.039164 -L 190.843529 447.903254 -L 189.714669 447.968927 z -" style="fill:#0000bc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 139.667896 420.425555 -L 141.720717 413.459614 -L 142.97694 420.004317 -L 140.923609 425.789059 -L 139.667896 420.425555 +" style="fill:#0000a1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 112.965891 446.693261 +L 114.955955 443.464452 +L 116.221525 442.583615 +L 114.229416 445.726042 z -" style="fill:#0000c3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 170.894158 423.980304 +" style="fill:#0000da;"/> + <path clip-path="url(#p8946a7ce10)" d="M 170.894158 423.980304 L 173.001894 425.504907 L 174.078026 432.824843 L 171.979379 431.548188 -L 170.894158 423.980304 z -" style="fill:#000098;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 179.288912 433.192742 +" style="fill:#000099;"/> + <path clip-path="url(#p8946a7ce10)" d="M 193.225658 441.523656 +L 195.418623 439.324285 +L 196.705907 432.105567 +L 194.486082 435.21563 +z +" style="fill:#0000ef;"/> + <path clip-path="url(#p8946a7ce10)" d="M 179.288912 433.192742 L 181.372776 436.418884 L 182.441819 441.108803 L 180.354261 438.776414 -L 179.288912 433.192742 z -" style="fill:#000098;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 132.579799 370.230639 -L 134.728805 379.226642 -L 135.89431 369.841167 -L 133.748457 361.397889 -L 132.579799 370.230639 +" style="fill:#00009c;"/> + <path clip-path="url(#p8946a7ce10)" d="M 106.283321 446.366366 +L 108.389467 449.11499 +L 109.66173 448.125025 +L 107.563792 445.589539 z -" style="fill:#0000bb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 159.183043 417.377602 +" style="fill:#0000bc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 159.183043 417.377602 L 161.304482 415.400733 L 162.441601 424.124537 L 160.33396 425.554587 -L 159.183043 417.377602 z -" style="fill:#0000a4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 192.981512 448.039164 -L 195.14678 447.201092 -L 196.372766 442.616062 -L 194.177572 444.665955 +" style="fill:#0000a3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 189.714669 447.968927 +L 191.826791 449.453727 L 192.981512 448.039164 +L 190.843529 447.903254 z -" style="fill:#0000d8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 108.389467 449.11499 -L 110.435237 449.02308 -L 111.701174 447.796702 -L 109.66173 448.125025 -L 108.389467 449.11499 -z -" style="fill:#0000c9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 136.364178 422.15168 -L 138.397861 414.646914 -L 139.667896 420.425555 -L 137.630543 426.756256 -L 136.364178 422.15168 -z -" style="fill:#0000c8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 177.199656 430.207556 +" style="fill:#0000c6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 177.199656 430.207556 L 179.288912 433.192742 L 180.354261 438.776414 L 178.26529 436.532302 -L 177.199656 430.207556 z -" style="fill:#000097;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 173.001894 425.504907 +" style="fill:#00009a;"/> + <path clip-path="url(#p8946a7ce10)" d="M 173.001894 425.504907 L 175.103993 427.607379 L 176.173404 434.512336 L 174.078026 432.824843 -L 173.001894 425.504907 z -" style="fill:#000097;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 175.103993 427.607379 +" style="fill:#000098;"/> + <path clip-path="url(#p8946a7ce10)" d="M 175.103993 427.607379 L 177.199656 430.207556 L 178.26529 436.532302 L 176.173404 434.512336 -L 175.103993 427.607379 z -" style="fill:#000096;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 194.177572 444.665955 -L 196.372766 442.616062 -L 197.64321 436.232097 -L 195.418623 439.324285 -L 194.177572 444.665955 +" style="fill:#000098;"/> + <path clip-path="url(#p8946a7ce10)" d="M 133.071294 425.055514 +L 135.085091 417.310347 +L 136.364178 422.15168 +L 134.343729 428.748429 z -" style="fill:#0000e5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 111.701174 447.796702 -L 113.692165 444.650634 -L 114.955955 443.464452 -L 112.965891 446.693261 +" style="fill:#0000cb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 139.667896 420.425555 +L 141.720717 413.459614 +L 142.97694 420.004317 +L 140.923609 425.789059 +z +" style="fill:#0000c0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 132.579799 370.230639 +L 134.728805 379.226642 +L 135.89431 369.841167 +L 133.748457 361.397889 +z +" style="fill:#0000bf;"/> + <path clip-path="url(#p8946a7ce10)" d="M 108.389467 449.11499 +L 110.435237 449.02308 L 111.701174 447.796702 +L 109.66173 448.125025 z -" style="fill:#0000d7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 125.249789 431.620724 -L 127.221537 423.700756 -L 128.510044 426.185192 -L 126.527753 433.237965 -L 125.249789 431.620724 +" style="fill:#0000cd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 136.364178 422.15168 +L 138.397861 414.646914 +L 139.667896 420.425555 +L 137.630543 426.756256 z -" style="fill:#0000d8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 191.826791 449.453727 +" style="fill:#0000c6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 192.981512 448.039164 +L 195.14678 447.201092 +L 196.372766 442.616062 +L 194.177572 444.665955 +z +" style="fill:#0000e1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 191.826791 449.453727 L 193.962788 449.95772 L 195.14678 447.201092 L 192.981512 448.039164 -L 191.826791 449.453727 z -" style="fill:#0000c8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 116.221525 442.583615 -L 118.181333 436.826743 -L 119.453797 436.497688 -L 117.488017 441.992109 -L 116.221525 442.583615 +" style="fill:#0000d2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 194.177572 444.665955 +L 196.372766 442.616062 +L 197.64321 436.232097 +L 195.418623 439.324285 z -" style="fill:#0000dd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 129.251611 369.734108 +" style="fill:#0000ec;"/> + <path clip-path="url(#p8946a7ce10)" d="M 111.701174 447.796702 +L 113.692165 444.650634 +L 114.955955 443.464452 +L 112.965891 446.693261 +z +" style="fill:#0000db;"/> + <path clip-path="url(#p8946a7ce10)" d="M 129.251611 369.734108 L 131.418105 379.153412 L 132.579799 370.230639 L 130.418257 361.374733 -L 129.251611 369.734108 z -" style="fill:#0000b8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 120.727858 436.580211 -L 122.684414 429.23616 -L 123.96784 430.23834 -L 122.001549 436.994009 -L 120.727858 436.580211 +" style="fill:#0000bc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 125.249789 431.620724 +L 127.221537 423.700756 +L 128.510044 426.185192 +L 126.527753 433.237965 z -" style="fill:#0000dc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 148.366742 415.629025 +" style="fill:#0000d7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 148.366742 415.629025 L 150.464954 410.428601 L 151.674682 418.732364 L 149.584435 422.941408 -L 148.366742 415.629025 z -" style="fill:#0000b4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 104.993801 446.941253 -L 107.111683 450.036274 -L 108.389467 449.11499 -L 106.283321 446.366366 -L 104.993801 446.941253 +" style="fill:#0000b2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 116.221525 442.583615 +L 118.181333 436.826743 +L 119.453797 436.497688 +L 117.488017 441.992109 z -" style="fill:#0000b6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 153.778581 414.674224 +" style="fill:#0000e0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 153.778581 414.674224 L 155.895109 410.984073 L 157.068997 419.891537 L 154.964373 422.795594 -L 153.778581 414.674224 z -" style="fill:#0000ab;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 107.111683 450.036274 -L 109.167436 450.332138 -L 110.435237 449.02308 -L 108.389467 449.11499 +" style="fill:#0000aa;"/> + <path clip-path="url(#p8946a7ce10)" d="M 104.993801 446.941253 L 107.111683 450.036274 +L 108.389467 449.11499 +L 106.283321 446.366366 z -" style="fill:#0000c7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 195.418623 439.324285 -L 197.64321 436.232097 -L 198.958088 428.174863 -L 196.705907 432.105567 -L 195.418623 439.324285 +" style="fill:#0000ba;"/> + <path clip-path="url(#p8946a7ce10)" d="M 120.727858 436.580211 +L 122.684414 429.23616 +L 123.96784 430.23834 +L 122.001549 436.994009 z -" style="fill:#0000ed;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 161.304482 415.400733 +" style="fill:#0000dd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 161.304482 415.400733 L 163.43087 414.073728 L 164.553698 423.186484 L 162.441601 424.124537 -L 161.304482 415.400733 z -" style="fill:#0000a0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 110.435237 449.02308 -L 112.430462 446.127872 -L 113.692165 444.650634 -L 111.701174 447.796702 +" style="fill:#00009f;"/> + <path clip-path="url(#p8946a7ce10)" d="M 107.111683 450.036274 +L 109.167436 450.332138 L 110.435237 449.02308 +L 108.389467 449.11499 z -" style="fill:#0000d7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 188.619124 446.116294 +" style="fill:#0000cc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 188.619124 446.116294 L 190.707801 449.013058 L 191.826791 449.453727 L 189.714669 447.968927 +z +" style="fill:#0000b3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 186.542538 442.496067 L 188.619124 446.116294 +L 189.714669 447.968927 +L 187.619261 445.705202 z -" style="fill:#0000ab;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 193.962788 449.95772 +" style="fill:#0000a8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 190.707801 449.013058 +L 192.816261 450.946201 +L 193.962788 449.95772 +L 191.826791 449.453727 +z +" style="fill:#0000c1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 110.435237 449.02308 +L 112.430462 446.127872 +L 113.692165 444.650634 +L 111.701174 447.796702 +z +" style="fill:#0000dc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 195.418623 439.324285 +L 197.64321 436.232097 +L 198.958088 428.174863 +L 196.705907 432.105567 +z +" style="fill:#0000f4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 193.962788 449.95772 L 196.13008 449.307023 L 197.345844 445.256123 L 195.14678 447.201092 -L 193.962788 449.95772 z -" style="fill:#0000d5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 195.14678 447.201092 +" style="fill:#0000de;"/> + <path clip-path="url(#p8946a7ce10)" d="M 195.14678 447.201092 L 197.345844 445.256123 L 198.603355 439.529164 L 196.372766 442.616062 -L 195.14678 447.201092 -z -" style="fill:#0000e2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 190.707801 449.013058 -L 192.816261 450.946201 -L 193.962788 449.95772 -L 191.826791 449.453727 -L 190.707801 449.013058 z -" style="fill:#0000b7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 186.542538 442.496067 -L 188.619124 446.116294 -L 189.714669 447.968927 -L 187.619261 445.705202 +" style="fill:#0000ea;"/> + <path clip-path="url(#p8946a7ce10)" d="M 184.471245 438.403222 L 186.542538 442.496067 +L 187.619261 445.705202 +L 185.534034 442.879817 z -" style="fill:#0000a1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 128.510044 426.185192 +" style="fill:#00009f;"/> + <path clip-path="url(#p8946a7ce10)" d="M 128.510044 426.185192 L 130.496634 417.620274 L 131.788159 421.263271 L 129.792508 428.879542 -L 128.510044 426.185192 z -" style="fill:#0000d4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 114.955955 443.464452 +" style="fill:#0000d3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 114.955955 443.464452 L 116.912112 437.616678 L 118.181333 436.826743 L 116.221525 442.583615 -L 114.955955 443.464452 z -" style="fill:#0000df;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 184.471245 438.403222 -L 186.542538 442.496067 -L 187.619261 445.705202 -L 185.534034 442.879817 -L 184.471245 438.403222 +" style="fill:#0000e2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 103.693652 447.267457 +L 105.82689 450.832076 +L 107.111683 450.036274 +L 104.993801 446.941253 z -" style="fill:#000099;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 192.816261 450.946201 +" style="fill:#0000b6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 192.816261 450.946201 L 194.952715 451.700344 L 196.13008 449.307023 L 193.962788 449.95772 -L 192.816261 450.946201 -z -" style="fill:#0000c5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 196.372766 442.616062 -L 198.603355 439.529164 -L 199.903801 432.193448 -L 197.64321 436.232097 -L 196.372766 442.616062 z -" style="fill:#0000eb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 103.693652 447.267457 -L 105.82689 450.832076 -L 107.111683 450.036274 -L 104.993801 446.941253 -L 103.693652 447.267457 +" style="fill:#0000cf;"/> + <path clip-path="url(#p8946a7ce10)" d="M 145.046303 413.808152 +L 147.133677 407.537056 +L 148.366742 415.629025 +L 146.284676 420.886325 z -" style="fill:#0000b2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 105.82689 450.832076 +" style="fill:#0000b7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 105.82689 450.832076 L 107.896451 451.657973 L 109.167436 450.332138 L 107.111683 450.036274 -L 105.82689 450.832076 z -" style="fill:#0000c3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 145.046303 413.808152 -L 147.133677 407.537056 -L 148.366742 415.629025 -L 146.284676 420.886325 -L 145.046303 413.808152 +" style="fill:#0000c9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 163.43087 414.073728 +L 165.559518 413.475846 +L 166.668009 422.822173 +L 164.553698 423.186484 z -" style="fill:#0000b9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 130.418257 361.374733 +" style="fill:#00009b;"/> + <path clip-path="url(#p8946a7ce10)" d="M 130.418257 361.374733 L 132.579799 370.230639 L 133.748457 361.397889 L 131.593463 353.339719 -L 130.418257 361.374733 z -" style="fill:#0000b9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 109.167436 450.332138 +" style="fill:#0000be;"/> + <path clip-path="url(#p8946a7ce10)" d="M 182.399611 434.085992 +L 184.471245 438.403222 +L 185.534034 442.879817 +L 183.453376 439.713362 +z +" style="fill:#000098;"/> + <path clip-path="url(#p8946a7ce10)" d="M 109.167436 450.332138 L 111.170499 447.851799 L 112.430462 446.127872 L 110.435237 449.02308 -L 109.167436 450.332138 z -" style="fill:#0000d6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 119.453797 436.497688 +" style="fill:#0000db;"/> + <path clip-path="url(#p8946a7ce10)" d="M 196.372766 442.616062 +L 198.603355 439.529164 +L 199.903801 432.193448 +L 197.64321 436.232097 +z +" style="fill:#0000f2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 119.453797 436.497688 L 121.401942 428.729004 L 122.684414 429.23616 L 120.727858 436.580211 -L 119.453797 436.497688 z -" style="fill:#0000df;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 123.96784 430.23834 +" style="fill:#0000e1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 123.96784 430.23834 L 125.929634 421.60712 L 127.221537 423.700756 L 125.249789 431.620724 -L 123.96784 430.23834 z -" style="fill:#0000da;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 163.43087 414.073728 -L 165.559518 413.475846 -L 166.668009 422.822173 -L 164.553698 423.186484 -L 163.43087 414.073728 +" style="fill:#0000db;"/> + <path clip-path="url(#p8946a7ce10)" d="M 155.895109 410.984073 +L 158.022443 407.842215 +L 159.183043 417.377602 +L 157.068997 419.891537 z -" style="fill:#00009c;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 182.399611 434.085992 -L 184.471245 438.403222 -L 185.534034 442.879817 -L 183.453376 439.713362 +" style="fill:#0000a5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 180.32333 429.778311 L 182.399611 434.085992 +L 183.453376 439.713362 +L 181.372776 436.418884 z " style="fill:#000094;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 131.788159 421.263271 + <path clip-path="url(#p8946a7ce10)" d="M 131.788159 421.263271 L 133.795258 412.522994 L 135.085091 417.310347 L 133.071294 425.055514 -L 131.788159 421.263271 z -" style="fill:#0000cf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 113.692165 444.650634 +" style="fill:#0000ce;"/> + <path clip-path="url(#p8946a7ce10)" d="M 113.692165 444.650634 L 115.647341 438.884963 L 116.912112 437.616678 L 114.955955 443.464452 -L 113.692165 444.650634 z -" style="fill:#0000e0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 196.13008 449.307023 +" style="fill:#0000e4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 165.559518 413.475846 +L 167.687663 413.654284 +L 168.782227 423.081047 +L 166.668009 422.822173 +z +" style="fill:#000098;"/> + <path clip-path="url(#p8946a7ce10)" d="M 150.464954 410.428601 +L 152.578925 405.543912 +L 153.778581 414.674224 +L 151.674682 418.732364 +z +" style="fill:#0000ad;"/> + <path clip-path="url(#p8946a7ce10)" d="M 141.720717 413.459614 +L 143.792439 406.241584 +L 145.046303 413.808152 +L 142.97694 420.004317 +z +" style="fill:#0000bc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 196.13008 449.307023 L 198.335873 447.368283 L 199.584764 442.112954 L 197.345844 445.256123 -L 196.13008 449.307023 z -" style="fill:#0000e0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 155.895109 410.984073 -L 158.022443 407.842215 -L 159.183043 417.377602 -L 157.068997 419.891537 -L 155.895109 410.984073 +" style="fill:#0000e8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 189.617476 446.903122 +L 191.701075 450.306714 +L 192.816261 450.946201 +L 190.707801 449.013058 z -" style="fill:#0000a6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 194.952715 451.700344 +" style="fill:#0000b0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 194.952715 451.700344 L 197.125414 451.098982 L 198.335873 447.368283 L 196.13008 449.307023 +z +" style="fill:#0000dc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 191.701075 450.306714 +L 193.808678 452.531894 L 194.952715 451.700344 +L 192.816261 450.946201 z -" style="fill:#0000d3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 141.720717 413.459614 -L 143.792439 406.241584 -L 145.046303 413.808152 -L 142.97694 420.004317 -L 141.720717 413.459614 +" style="fill:#0000be;"/> + <path clip-path="url(#p8946a7ce10)" d="M 104.532982 451.42643 +L 106.62025 452.911422 +L 107.896451 451.657973 +L 105.82689 450.832076 z -" style="fill:#0000bf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 180.32333 429.778311 -L 182.399611 434.085992 -L 183.453376 439.713362 -L 181.372776 436.418884 +" style="fill:#0000c5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 178.239463 425.690451 L 180.32333 429.778311 +L 181.372776 436.418884 +L 179.288912 433.192742 z " style="fill:#000091;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 107.896451 451.657973 + <path clip-path="url(#p8946a7ce10)" d="M 107.896451 451.657973 L 109.911203 449.749002 L 111.170499 447.851799 L 109.167436 450.332138 -L 107.896451 451.657973 -z -" style="fill:#0000d3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 150.464954 410.428601 -L 152.578925 405.543912 -L 153.778581 414.674224 -L 151.674682 418.732364 -L 150.464954 410.428601 z -" style="fill:#0000af;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 104.532982 451.42643 -L 106.62025 452.911422 -L 107.896451 451.657973 -L 105.82689 450.832076 +" style="fill:#0000da;"/> + <path clip-path="url(#p8946a7ce10)" d="M 102.380794 447.283314 L 104.532982 451.42643 +L 105.82689 450.832076 +L 103.693652 447.267457 z -" style="fill:#0000bf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 191.701075 450.306714 -L 193.808678 452.531894 -L 194.952715 451.700344 -L 192.816261 450.946201 -L 191.701075 450.306714 -z -" style="fill:#0000b4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 189.617476 446.903122 -L 191.701075 450.306714 -L 192.816261 450.946201 -L 190.707801 449.013058 +" style="fill:#0000b2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 187.549004 442.578445 L 189.617476 446.903122 +L 190.707801 449.013058 +L 188.619124 446.116294 z -" style="fill:#0000a7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 197.345844 445.256123 -L 199.584764 442.112954 -L 200.874166 435.354651 -L 198.603355 439.529164 -L 197.345844 445.256123 -z -" style="fill:#0000ea;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 135.085091 417.310347 +" style="fill:#0000a3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 135.085091 417.310347 L 137.114953 408.789441 L 138.397861 414.646914 L 136.364178 422.15168 -L 135.085091 417.310347 -z -" style="fill:#0000ca;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 197.64321 436.232097 -L 199.903801 432.193448 -L 201.24583 423.407202 -L 198.958088 428.174863 -L 197.64321 436.232097 -z -" style="fill:#0000f1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 165.559518 413.475846 -L 167.687663 413.654284 -L 168.782227 423.081047 -L 166.668009 422.822173 -L 165.559518 413.475846 -z -" style="fill:#000098;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 102.380794 447.283314 -L 104.532982 451.42643 -L 105.82689 450.832076 -L 103.693652 447.267457 -L 102.380794 447.283314 z -" style="fill:#0000ae;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 138.397861 414.646914 +" style="fill:#0000c8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 138.397861 414.646914 L 140.44995 406.65831 L 141.720717 413.459614 L 139.667896 420.425555 -L 138.397861 414.646914 -z -" style="fill:#0000c4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 112.430462 446.127872 -L 114.387677 440.616886 -L 115.647341 438.884963 -L 113.692165 444.650634 -L 112.430462 446.127872 -z -" style="fill:#0000e1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 178.239463 425.690451 -L 180.32333 429.778311 -L 181.372776 436.418884 -L 179.288912 433.192742 -L 178.239463 425.690451 z -" style="fill:#00008f;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 187.549004 442.578445 -L 189.617476 446.903122 -L 190.707801 449.013058 -L 188.619124 446.116294 -L 187.549004 442.578445 -z -" style="fill:#00009c;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 118.181333 436.826743 -L 120.122664 428.799741 -L 121.401942 428.729004 -L 119.453797 436.497688 -L 118.181333 436.826743 -z -" style="fill:#0000e1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 193.808678 452.531894 -L 195.94947 453.357988 -L 197.125414 451.098982 -L 194.952715 451.700344 -L 193.808678 452.531894 -z -" style="fill:#0000c4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 167.687663 413.654284 +" style="fill:#0000c2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 167.687663 413.654284 L 169.812628 414.625525 L 170.894158 423.980304 L 168.782227 423.081047 -L 167.687663 413.654284 z " style="fill:#000095;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 106.62025 452.911422 -L 108.65071 451.719012 -L 109.911203 449.749002 -L 107.896451 451.657973 -L 106.62025 452.911422 + <path clip-path="url(#p8946a7ce10)" d="M 197.345844 445.256123 +L 199.584764 442.112954 +L 200.874166 435.354651 +L 198.603355 439.529164 z -" style="fill:#0000d0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 176.146395 422.002455 +" style="fill:#0000f1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 176.146395 422.002455 L 178.239463 425.690451 L 179.288912 433.192742 L 177.199656 430.207556 -L 176.146395 422.002455 z -" style="fill:#00008e;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 127.221537 423.700756 -L 129.19933 414.344512 -L 130.496634 417.620274 -L 128.510044 426.185192 -L 127.221537 423.700756 +" style="fill:#000090;"/> + <path clip-path="url(#p8946a7ce10)" d="M 193.808678 452.531894 +L 195.94947 453.357988 +L 197.125414 451.098982 +L 194.952715 451.700344 z -" style="fill:#0000d7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 198.603355 439.529164 -L 200.874166 435.354651 -L 202.203924 427.196618 +" style="fill:#0000ce;"/> + <path clip-path="url(#p8946a7ce10)" d="M 197.64321 436.232097 L 199.903801 432.193448 -L 198.603355 439.529164 +L 201.24583 423.407202 +L 198.958088 428.174863 z -" style="fill:#0000f0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 122.684414 429.23616 -L 124.63702 420.052423 -L 125.929634 421.60712 -L 123.96784 430.23834 -L 122.684414 429.23616 +" style="fill:#0000f7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 112.430462 446.127872 +L 114.387677 440.616886 +L 115.647341 438.884963 +L 113.692165 444.650634 z -" style="fill:#0000dd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 185.487573 437.61071 -L 187.549004 442.578445 -L 188.619124 446.116294 -L 186.542538 442.496067 -L 185.487573 437.61071 +" style="fill:#0000e6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 118.181333 436.826743 +L 120.122664 428.799741 +L 121.401942 428.729004 +L 119.453797 436.497688 z -" style="fill:#000094;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 169.812628 414.625525 +" style="fill:#0000e4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 169.812628 414.625525 L 171.931979 416.375816 L 173.001894 425.504907 L 170.894158 423.980304 -L 169.812628 414.625525 z " style="fill:#000092;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 174.043703 418.860497 + <path clip-path="url(#p8946a7ce10)" d="M 174.043703 418.860497 L 176.146395 422.002455 L 177.199656 430.207556 L 175.103993 427.607379 +z +" style="fill:#000090;"/> + <path clip-path="url(#p8946a7ce10)" d="M 185.487573 437.61071 +L 187.549004 442.578445 +L 188.619124 446.116294 +L 186.542538 442.496067 +z +" style="fill:#00009a;"/> + <path clip-path="url(#p8946a7ce10)" d="M 171.931979 416.375816 L 174.043703 418.860497 +L 175.103993 427.607379 +L 173.001894 425.504907 z -" style="fill:#00008f;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 103.227263 451.727871 +" style="fill:#000091;"/> + <path clip-path="url(#p8946a7ce10)" d="M 106.62025 452.911422 +L 108.65071 451.719012 +L 109.911203 449.749002 +L 107.896451 451.657973 +z +" style="fill:#0000d7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 127.221537 423.700756 +L 129.19933 414.344512 +L 130.496634 417.620274 +L 128.510044 426.185192 +z +" style="fill:#0000d7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 103.227263 451.727871 L 105.336092 453.983585 L 106.62025 452.911422 L 104.532982 451.42643 -L 103.227263 451.727871 z -" style="fill:#0000b9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 111.170499 447.851799 +" style="fill:#0000bf;"/> + <path clip-path="url(#p8946a7ce10)" d="M 158.022443 407.842215 +L 160.158163 405.390166 +L 161.304482 415.400733 +L 159.183043 417.377602 +z +" style="fill:#0000a1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 122.684414 429.23616 +L 124.63702 420.052423 +L 125.929634 421.60712 +L 123.96784 430.23834 +z +" style="fill:#0000df;"/> + <path clip-path="url(#p8946a7ce10)" d="M 111.170499 447.851799 L 113.133122 442.765577 L 114.387677 440.616886 L 112.430462 446.127872 -L 111.170499 447.851799 z -" style="fill:#0000e1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 197.125414 451.098982 +" style="fill:#0000e7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 197.125414 451.098982 L 199.3421 449.017876 L 200.586639 444.060505 L 198.335873 447.368283 -L 197.125414 451.098982 z -" style="fill:#0000df;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 171.931979 416.375816 -L 174.043703 418.860497 -L 175.103993 427.607379 -L 173.001894 425.504907 -L 171.931979 416.375816 +" style="fill:#0000e8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 101.052679 446.915881 +L 103.227263 451.727871 +L 104.532982 451.42643 +L 102.380794 447.283314 z -" style="fill:#000090;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 158.022443 407.842215 -L 160.158163 405.390166 -L 161.304482 415.400733 -L 159.183043 417.377602 -L 158.022443 407.842215 +" style="fill:#0000ad;"/> + <path clip-path="url(#p8946a7ce10)" d="M 198.603355 439.529164 +L 200.874166 435.354651 +L 202.203924 427.196618 +L 199.903801 432.193448 z -" style="fill:#0000a2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 195.94947 453.357988 +" style="fill:#0000f7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 195.94947 453.357988 L 198.132369 452.616105 L 199.3421 449.017876 L 197.125414 451.098982 +z +" style="fill:#0000dc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 183.426271 432.282761 +L 185.487573 437.61071 +L 186.542538 442.496067 +L 184.471245 438.403222 +z +" style="fill:#000093;"/> + <path clip-path="url(#p8946a7ce10)" d="M 190.610014 448.246738 +L 192.691652 451.963678 +L 193.808678 452.531894 +L 191.701075 450.306714 +z +" style="fill:#0000ae;"/> + <path clip-path="url(#p8946a7ce10)" d="M 192.691652 451.963678 +L 194.802735 454.263167 L 195.94947 453.357988 +L 193.808678 452.531894 z -" style="fill:#0000d3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 198.335873 447.368283 +" style="fill:#0000be;"/> + <path clip-path="url(#p8946a7ce10)" d="M 147.133677 407.537056 +L 149.239581 401.498635 +L 150.464954 410.428601 +L 148.366742 415.629025 +z +" style="fill:#0000b3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 105.336092 453.983585 +L 107.38635 453.637446 +L 108.65071 451.719012 +L 106.62025 452.911422 +z +" style="fill:#0000d2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 198.335873 447.368283 L 200.586639 444.060505 L 201.868656 437.732271 L 199.584764 442.112954 -L 198.335873 447.368283 z -" style="fill:#0000e9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 101.052679 446.915881 -L 103.227263 451.727871 -L 104.532982 451.42643 -L 102.380794 447.283314 -L 101.052679 446.915881 -z -" style="fill:#0000a9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 116.912112 437.616678 +" style="fill:#0000f0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 116.912112 437.616678 L 118.848517 429.498876 L 120.122664 428.799741 L 118.181333 436.826743 -L 116.912112 437.616678 -z -" style="fill:#0000e3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 105.336092 453.983585 -L 107.38635 453.637446 -L 108.65071 451.719012 -L 106.62025 452.911422 -L 105.336092 453.983585 -z -" style="fill:#0000cb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 192.691652 451.963678 -L 194.802735 454.263167 -L 195.94947 453.357988 -L 193.808678 452.531894 -L 192.691652 451.963678 -z -" style="fill:#0000b4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 147.133677 407.537056 -L 149.239581 401.498635 -L 150.464954 410.428601 -L 148.366742 415.629025 -L 147.133677 407.537056 z -" style="fill:#0000b4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 190.610014 448.246738 -L 192.691652 451.963678 -L 193.808678 452.531894 -L 191.701075 450.306714 +" style="fill:#0000e7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 188.547818 443.378284 L 190.610014 448.246738 +L 191.701075 450.306714 +L 189.617476 446.903122 z -" style="fill:#0000a6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 109.911203 449.749002 +" style="fill:#0000a1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 109.911203 449.749002 L 111.882921 445.252533 L 113.133122 442.765577 L 111.170499 447.851799 -L 109.911203 449.749002 z -" style="fill:#0000e0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 183.426271 432.282761 -L 185.487573 437.61071 -L 186.542538 442.496067 -L 184.471245 438.403222 -L 183.426271 432.282761 +" style="fill:#0000e6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 152.578925 405.543912 +L 154.707239 401.192419 +L 155.895109 410.984073 +L 153.778581 414.674224 z -" style="fill:#00008f;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 194.802735 454.263167 +" style="fill:#0000a9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 194.802735 454.263167 L 196.95325 454.930285 L 198.132369 452.616105 L 195.94947 453.357988 -L 194.802735 454.263167 z -" style="fill:#0000c5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 130.496634 417.620274 +" style="fill:#0000cf;"/> + <path clip-path="url(#p8946a7ce10)" d="M 101.906509 451.634224 +L 104.040572 454.750576 +L 105.336092 453.983585 +L 103.227263 451.727871 +z +" style="fill:#0000b9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 181.359606 426.867433 +L 183.426271 432.282761 +L 184.471245 438.403222 +L 182.399611 434.085992 +z +" style="fill:#00008e;"/> + <path clip-path="url(#p8946a7ce10)" d="M 130.496634 417.620274 L 132.497109 408.049159 L 133.795258 412.522994 L 131.788159 421.263271 -L 130.496634 417.620274 z " style="fill:#0000d2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 152.578925 405.543912 -L 154.707239 401.192419 -L 155.895109 410.984073 -L 153.778581 414.674224 -L 152.578925 405.543912 + <path clip-path="url(#p8946a7ce10)" d="M 160.158163 405.390166 +L 162.299448 403.73199 +L 163.43087 414.073728 +L 161.304482 415.400733 z -" style="fill:#0000aa;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 199.584764 442.112954 +" style="fill:#00009c;"/> + <path clip-path="url(#p8946a7ce10)" d="M 104.040572 454.750576 +L 106.114659 455.360475 +L 107.38635 453.637446 +L 105.336092 453.983585 +z +" style="fill:#0000cc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 108.65071 451.719012 +L 110.635483 447.968894 +L 111.882921 445.252533 +L 109.911203 449.749002 +z +" style="fill:#0000e5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 199.584764 442.112954 L 201.868656 437.732271 L 203.188891 430.09297 L 200.874166 435.354651 -L 199.584764 442.112954 z -" style="fill:#0000f0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 188.547818 443.378284 -L 190.610014 448.246738 -L 191.701075 450.306714 -L 189.617476 446.903122 +" style="fill:#0000f6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 186.49565 437.658098 L 188.547818 443.378284 +L 189.617476 446.903122 +L 187.549004 442.578445 z -" style="fill:#00009a;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 101.906509 451.634224 -L 104.040572 454.750576 -L 105.336092 453.983585 -L 103.227263 451.727871 +" style="fill:#000096;"/> + <path clip-path="url(#p8946a7ce10)" d="M 99.706379 446.085594 L 101.906509 451.634224 +L 103.227263 451.727871 +L 101.052679 446.915881 z -" style="fill:#0000b3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 108.65071 451.719012 -L 110.635483 447.968894 -L 111.882921 445.252533 -L 109.911203 449.749002 -L 108.65071 451.719012 -z -" style="fill:#0000de;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 199.903801 432.193448 -L 202.203924 427.196618 -L 203.571314 417.827321 -L 201.24583 423.407202 -L 199.903801 432.193448 -z -" style="fill:#0000f5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 104.040572 454.750576 -L 106.114659 455.360475 -L 107.38635 453.637446 -L 105.336092 453.983585 -L 104.040572 454.750576 +" style="fill:#0000a7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 143.792439 406.241584 +L 145.884815 399.134467 +L 147.133677 407.537056 +L 145.046303 413.808152 z -" style="fill:#0000c4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 115.647341 438.884963 +" style="fill:#0000b9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 115.647341 438.884963 L 117.58103 430.844531 L 118.848517 429.498876 L 116.912112 437.616678 -L 115.647341 438.884963 z -" style="fill:#0000e5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 121.401942 428.729004 +" style="fill:#0000ea;"/> + <path clip-path="url(#p8946a7ce10)" d="M 199.903801 432.193448 +L 202.203924 427.196618 +L 203.571314 417.827321 +L 201.24583 423.407202 +z +" style="fill:#0000fa;"/> + <path clip-path="url(#p8946a7ce10)" d="M 121.401942 428.729004 L 123.346299 419.150746 L 124.63702 420.052423 L 122.684414 429.23616 -L 121.401942 428.729004 -z -" style="fill:#0000e0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 181.359606 426.867433 -L 183.426271 432.282761 -L 184.471245 438.403222 -L 182.399611 434.085992 -L 181.359606 426.867433 -z -" style="fill:#00008b;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 160.158163 405.390166 -L 162.299448 403.73199 -L 163.43087 414.073728 -L 161.304482 415.400733 -L 160.158163 405.390166 z -" style="fill:#00009d;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 198.132369 452.616105 +" style="fill:#0000e2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 198.132369 452.616105 L 200.365383 450.202796 L 201.609397 445.397092 L 199.3421 449.017876 -L 198.132369 452.616105 z -" style="fill:#0000e0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 143.792439 406.241584 -L 145.884815 399.134467 -L 147.133677 407.537056 -L 145.046303 413.808152 -L 143.792439 406.241584 +" style="fill:#0000e8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 191.594549 450.210616 +L 193.67896 453.985637 +L 194.802735 454.263167 +L 192.691652 451.963678 z -" style="fill:#0000ba;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 107.38635 453.637446 +" style="fill:#0000b0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 193.67896 453.985637 +L 195.799453 456.088713 +L 196.95325 454.930285 +L 194.802735 454.263167 +z +" style="fill:#0000c1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 107.38635 453.637446 L 109.388328 450.777833 L 110.635483 447.968894 L 108.65071 451.719012 -L 107.38635 453.637446 z -" style="fill:#0000da;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 199.3421 449.017876 -L 201.609397 445.397092 -L 202.887532 439.365577 -L 200.586639 444.060505 -L 199.3421 449.017876 -z -" style="fill:#0000e9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 196.95325 454.930285 +" style="fill:#0000e2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 196.95325 454.930285 L 199.152502 453.816536 L 200.365383 450.202796 L 198.132369 452.616105 -L 196.95325 454.930285 z -" style="fill:#0000d5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 99.706379 446.085594 -L 101.906509 451.634224 -L 103.227263 451.727871 -L 101.052679 446.915881 -L 99.706379 446.085594 +" style="fill:#0000de;"/> + <path clip-path="url(#p8946a7ce10)" d="M 179.283635 421.614887 +L 181.359606 426.867433 +L 182.399611 434.085992 +L 180.32333 429.778311 z -" style="fill:#0000a3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 125.929634 421.60712 +" style="fill:#00008b;"/> + <path clip-path="url(#p8946a7ce10)" d="M 125.929634 421.60712 L 127.899006 411.617449 L 129.19933 414.344512 L 127.221537 423.700756 -L 125.929634 421.60712 -z -" style="fill:#0000da;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 186.49565 437.658098 -L 188.547818 443.378284 -L 189.617476 446.903122 -L 187.549004 442.578445 -L 186.49565 437.658098 -z -" style="fill:#000091;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 193.67896 453.985637 -L 195.799453 456.088713 -L 196.95325 454.930285 -L 194.802735 454.263167 -L 193.67896 453.985637 z -" style="fill:#0000b7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 133.795258 412.522994 +" style="fill:#0000db;"/> + <path clip-path="url(#p8946a7ce10)" d="M 133.795258 412.522994 L 135.821262 403.161085 L 137.114953 408.789441 L 135.085091 417.310347 -L 133.795258 412.522994 z " style="fill:#0000cc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 191.594549 450.210616 -L 193.67896 453.985637 -L 194.802735 454.263167 -L 192.691652 451.963678 + <path clip-path="url(#p8946a7ce10)" d="M 199.3421 449.017876 +L 201.609397 445.397092 +L 202.887532 439.365577 +L 200.586639 444.060505 +z +" style="fill:#0000f0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 189.535271 445.026051 L 191.594549 450.210616 +L 192.691652 451.963678 +L 190.610014 448.246738 z -" style="fill:#0000a7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 114.387677 440.616886 -L 116.321216 432.82238 -L 117.58103 430.844531 -L 115.647341 438.884963 -L 114.387677 440.616886 +" style="fill:#0000a1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 102.729713 455.079484 +L 104.831455 456.730708 +L 106.114659 455.360475 +L 104.040572 454.750576 z -" style="fill:#0000e6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 200.874166 435.354651 -L 203.188891 430.09297 -L 204.545804 421.279351 -L 202.203924 427.196618 -L 200.874166 435.354651 +" style="fill:#0000c4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 100.567084 451.038455 +L 102.729713 455.079484 +L 104.040572 454.750576 +L 101.906509 451.634224 z -" style="fill:#0000f4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 140.44995 406.65831 +" style="fill:#0000b1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 140.44995 406.65831 L 142.523799 398.606172 L 143.792439 406.241584 L 141.720717 413.459614 -L 140.44995 406.65831 z -" style="fill:#0000c0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 106.114659 455.360475 -L 108.13807 453.518407 -L 109.388328 450.777833 -L 107.38635 453.637446 -L 106.114659 455.360475 +" style="fill:#0000bf;"/> + <path clip-path="url(#p8946a7ce10)" d="M 162.299448 403.73199 +L 164.443254 402.937862 +L 165.559518 413.475846 +L 163.43087 414.073728 z -" style="fill:#0000d5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 102.729713 455.079484 -L 104.831455 456.730708 -L 106.114659 455.360475 -L 104.040572 454.750576 -L 102.729713 455.079484 +" style="fill:#000098;"/> + <path clip-path="url(#p8946a7ce10)" d="M 195.799453 456.088713 +L 197.966527 456.324849 +L 199.152502 453.816536 +L 196.95325 454.930285 z -" style="fill:#0000bd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 137.114953 408.789441 +" style="fill:#0000d2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 114.387677 440.616886 +L 116.321216 432.82238 +L 117.58103 430.844531 +L 115.647341 438.884963 +z +" style="fill:#0000ec;"/> + <path clip-path="url(#p8946a7ce10)" d="M 137.114953 408.789441 L 139.166178 399.963277 L 140.44995 406.65831 L 138.397861 414.646914 -L 137.114953 408.789441 z -" style="fill:#0000c6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 195.799453 456.088713 -L 197.966527 456.324849 -L 199.152502 453.816536 -L 196.95325 454.930285 -L 195.799453 456.088713 +" style="fill:#0000c5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 106.114659 455.360475 +L 108.13807 453.518407 +L 109.388328 450.777833 +L 107.38635 453.637446 z -" style="fill:#0000c8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 179.283635 421.614887 -L 181.359606 426.867433 -L 182.399611 434.085992 -L 180.32333 429.778311 -L 179.283635 421.614887 -z -" style="fill:#000089;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 200.586639 444.060505 -L 202.887532 439.365577 -L 204.201143 432.135766 -L 201.868656 437.732271 -L 200.586639 444.060505 -z -" style="fill:#0000ef;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 100.567084 451.038455 -L 102.729713 455.079484 -L 104.040572 454.750576 -L 101.906509 451.634224 -L 100.567084 451.038455 -z -" style="fill:#0000ab;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 189.535271 445.026051 -L 191.594549 450.210616 -L 192.691652 451.963678 -L 190.610014 448.246738 -L 189.535271 445.026051 -z -" style="fill:#00009a;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 162.299448 403.73199 -L 164.443254 402.937862 -L 165.559518 413.475846 -L 163.43087 414.073728 -L 162.299448 403.73199 -z -" style="fill:#000099;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 113.133122 442.765577 -L 115.069461 435.385375 -L 116.321216 432.82238 -L 114.387677 440.616886 -L 113.133122 442.765577 -z -" style="fill:#0000e7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 120.122664 428.799741 -L 122.059892 418.982653 -L 123.346299 419.150746 -L 121.401942 428.729004 -L 120.122664 428.799741 -z -" style="fill:#0000e3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 184.445177 431.401629 +" style="fill:#0000de;"/> + <path clip-path="url(#p8946a7ce10)" d="M 184.445177 431.401629 L 186.49565 437.658098 L 187.549004 442.578445 L 185.487573 437.61071 -L 184.445177 431.401629 z -" style="fill:#00008b;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 154.707239 401.192419 +" style="fill:#00008f;"/> + <path clip-path="url(#p8946a7ce10)" d="M 200.874166 435.354651 +L 203.188891 430.09297 +L 204.545804 421.279351 +L 202.203924 427.196618 +z +" style="fill:#0000fa;"/> + <path clip-path="url(#p8946a7ce10)" d="M 177.195959 416.743072 +L 179.283635 421.614887 +L 180.32333 429.778311 +L 178.239463 425.690451 +z +" style="fill:#00008a;"/> + <path clip-path="url(#p8946a7ce10)" d="M 154.707239 401.192419 L 156.847683 397.545442 L 158.022443 407.842215 L 155.895109 410.984073 -L 154.707239 401.192419 z -" style="fill:#0000a5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 104.831455 456.730708 -L 106.880461 456.011106 -L 108.13807 453.518407 -L 106.114659 455.360475 -L 104.831455 456.730708 +" style="fill:#0000a4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 200.586639 444.060505 +L 202.887532 439.365577 +L 204.201143 432.135766 +L 201.868656 437.732271 z -" style="fill:#0000ce;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 149.239581 401.498635 +" style="fill:#0000f6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 149.239581 401.498635 L 151.363229 395.956093 L 152.578925 405.543912 L 150.464954 410.428601 -L 149.239581 401.498635 -z -" style="fill:#0000af;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 177.195959 416.743072 -L 179.283635 421.614887 -L 180.32333 429.778311 -L 178.239463 425.690451 -L 177.195959 416.743072 z -" style="fill:#000088;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 111.882921 445.252533 -L 113.825406 438.453425 +" style="fill:#0000ae;"/> + <path clip-path="url(#p8946a7ce10)" d="M 113.133122 442.765577 L 115.069461 435.385375 -L 113.133122 442.765577 -L 111.882921 445.252533 -z -" style="fill:#0000e8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 192.571404 452.736648 -L 194.665012 456.261318 -L 195.799453 456.088713 -L 193.67896 453.985637 -L 192.571404 452.736648 -z -" style="fill:#0000ab;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 199.152502 453.816536 -L 201.408392 450.852962 -L 202.654935 446.091657 -L 200.365383 450.202796 -L 199.152502 453.816536 +L 116.321216 432.82238 +L 114.387677 440.616886 z -" style="fill:#0000e2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 194.665012 456.261318 -L 196.802388 457.856829 -L 197.966527 456.324849 -L 195.799453 456.088713 -L 194.665012 456.261318 +" style="fill:#0000ed;"/> + <path clip-path="url(#p8946a7ce10)" d="M 104.831455 456.730708 +L 106.880461 456.011106 +L 108.13807 453.518407 +L 106.114659 455.360475 z -" style="fill:#0000bc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 98.338712 444.711859 +" style="fill:#0000d7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 98.338712 444.711859 L 100.567084 451.038455 L 101.906509 451.634224 L 99.706379 446.085594 -L 98.338712 444.711859 -z -" style="fill:#00009d;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 201.868656 437.732271 -L 204.201143 432.135766 -L 205.549586 423.803112 -L 203.188891 430.09297 -L 201.868656 437.732271 -z -" style="fill:#0000f4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 129.19933 414.344512 -L 131.193338 404.107331 -L 132.497109 408.049159 -L 130.496634 417.620274 -L 129.19933 414.344512 -z -" style="fill:#0000d5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 200.365383 450.202796 -L 202.654935 446.091657 -L 203.932168 440.251112 -L 201.609397 445.397092 -L 200.365383 450.202796 -z -" style="fill:#0000ea;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 197.966527 456.324849 -L 200.18947 454.581119 -L 201.408392 450.852962 -L 199.152502 453.816536 -L 197.966527 456.324849 z -" style="fill:#0000d8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 101.399121 454.835499 -L 103.531964 457.584494 -L 104.831455 456.730708 -L 102.729713 455.079484 -L 101.399121 454.835499 +" style="fill:#0000a1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 192.571404 452.736648 +L 194.665012 456.261318 +L 195.799453 456.088713 +L 193.67896 453.985637 z -" style="fill:#0000b4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 187.490427 438.744384 +" style="fill:#0000b3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 187.490427 438.744384 L 189.535271 445.026051 L 190.610014 448.246738 L 188.547818 443.378284 -L 187.490427 438.744384 z -" style="fill:#000090;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 164.443254 402.937862 +" style="fill:#000096;"/> + <path clip-path="url(#p8946a7ce10)" d="M 120.122664 428.799741 +L 122.059892 418.982653 +L 123.346299 419.150746 +L 121.401942 428.729004 +z +" style="fill:#0000e6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 164.443254 402.937862 L 166.586461 403.048299 L 167.687663 413.654284 L 165.559518 413.475846 -L 164.443254 402.937862 z " style="fill:#000095;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 110.635483 447.968894 -L 112.587833 441.913494 -L 113.825406 438.453425 -L 111.882921 445.252533 -L 110.635483 447.968894 -z -" style="fill:#0000e7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 124.63702 420.052423 -L 126.598424 409.58193 -L 127.899006 411.617449 -L 125.929634 421.60712 -L 124.63702 420.052423 -z -" style="fill:#0000dd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 202.203924 427.196618 -L 204.545804 421.279351 -L 205.935293 411.507057 -L 203.571314 417.827321 -L 202.203924 427.196618 -z -" style="fill:#0000f7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 103.531964 457.584494 -L 105.610492 458.065143 -L 106.880461 456.011106 -L 104.831455 456.730708 -L 103.531964 457.584494 + <path clip-path="url(#p8946a7ce10)" d="M 194.665012 456.261318 +L 196.802388 457.856829 +L 197.966527 456.324849 +L 195.799453 456.088713 z " style="fill:#0000c6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 175.09561 412.431978 + <path clip-path="url(#p8946a7ce10)" d="M 175.09561 412.431978 L 177.195959 416.743072 L 178.239463 425.690451 L 176.146395 422.002455 -L 175.09561 412.431978 z " style="fill:#000089;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 190.509982 447.525699 -L 192.571404 452.736648 -L 193.67896 453.985637 -L 191.594549 450.210616 -L 190.509982 447.525699 -z -" style="fill:#00009c;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 109.388328 450.777833 -L 111.35458 445.620725 -L 112.587833 441.913494 -L 110.635483 447.968894 -L 109.388328 450.777833 -z -" style="fill:#0000e5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 99.205098 449.835479 -L 101.399121 454.835499 + <path clip-path="url(#p8946a7ce10)" d="M 101.399121 454.835499 +L 103.531964 457.584494 +L 104.831455 456.730708 L 102.729713 455.079484 -L 100.567084 451.038455 -L 99.205098 449.835479 z -" style="fill:#0000a4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 196.802388 457.856829 -L 198.994106 457.365108 -L 200.18947 454.581119 -L 197.966527 456.324849 -L 196.802388 457.856829 +" style="fill:#0000bb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 111.882921 445.252533 +L 113.825406 438.453425 +L 115.069461 435.385375 +L 113.133122 442.765577 z -" style="fill:#0000ce;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 118.848517 429.498876 -L 120.779954 419.596588 -L 122.059892 418.982653 -L 120.122664 428.799741 -L 118.848517 429.498876 +" style="fill:#0000ee;"/> + <path clip-path="url(#p8946a7ce10)" d="M 199.152502 453.816536 +L 201.408392 450.852962 +L 202.654935 446.091657 +L 200.365383 450.202796 z -" style="fill:#0000e5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 201.609397 445.397092 -L 203.932168 440.251112 -L 205.241798 433.336846 -L 202.887532 439.365577 -L 201.609397 445.397092 +" style="fill:#0000ea;"/> + <path clip-path="url(#p8946a7ce10)" d="M 190.509982 447.525699 +L 192.571404 452.736648 +L 193.67896 453.985637 +L 191.594549 450.210616 z -" style="fill:#0000f0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 182.389527 424.921868 +" style="fill:#0000a3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 182.389527 424.921868 L 184.445177 431.401629 L 185.487573 437.61071 L 183.426271 432.282761 -L 182.389527 424.921868 z -" style="fill:#000087;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 108.13807 453.518407 -L 110.122484 449.401202 -L 111.35458 445.620725 -L 109.388328 450.777833 -L 108.13807 453.518407 +" style="fill:#00008a;"/> + <path clip-path="url(#p8946a7ce10)" d="M 197.966527 456.324849 +L 200.18947 454.581119 +L 201.408392 450.852962 +L 199.152502 453.816536 z -" style="fill:#0000e2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 166.586461 403.048299 +" style="fill:#0000e1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 129.19933 414.344512 +L 131.193338 404.107331 +L 132.497109 408.049159 +L 130.496634 417.620274 +z +" style="fill:#0000d6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 166.586461 403.048299 L 168.725999 404.077487 L 169.812628 414.625525 L 167.687663 413.654284 -L 166.586461 403.048299 z -" style="fill:#000092;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 172.982861 408.821797 +" style="fill:#000091;"/> + <path clip-path="url(#p8946a7ce10)" d="M 99.205098 449.835479 +L 101.399121 454.835499 +L 102.729713 455.079484 +L 100.567084 451.038455 +z +" style="fill:#0000a9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 200.365383 450.202796 +L 202.654935 446.091657 +L 203.932168 440.251112 +L 201.609397 445.397092 +z +" style="fill:#0000f1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 172.982861 408.821797 L 175.09561 412.431978 L 176.146395 422.002455 L 174.043703 418.860497 -L 172.982861 408.821797 z " style="fill:#00008a;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 106.880461 456.011106 -L 108.887385 453.05678 -L 110.122484 449.401202 -L 108.13807 453.518407 + <path clip-path="url(#p8946a7ce10)" d="M 103.531964 457.584494 +L 105.610492 458.065143 L 106.880461 456.011106 +L 104.831455 456.730708 z -" style="fill:#0000dd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 168.725999 404.077487 +" style="fill:#0000cf;"/> + <path clip-path="url(#p8946a7ce10)" d="M 110.635483 447.968894 +L 112.587833 441.913494 +L 113.825406 438.453425 +L 111.882921 445.252533 +z +" style="fill:#0000ee;"/> + <path clip-path="url(#p8946a7ce10)" d="M 201.868656 437.732271 +L 204.201143 432.135766 +L 205.549586 423.803112 +L 203.188891 430.09297 +z +" style="fill:#0000fa;"/> + <path clip-path="url(#p8946a7ce10)" d="M 124.63702 420.052423 +L 126.598424 409.58193 +L 127.899006 411.617449 +L 125.929634 421.60712 +z +" style="fill:#0000df;"/> + <path clip-path="url(#p8946a7ce10)" d="M 168.725999 404.077487 L 170.858982 406.014473 L 171.931979 416.375816 L 169.812628 414.625525 -L 168.725999 404.077487 z " style="fill:#00008e;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 170.858982 406.014473 + <path clip-path="url(#p8946a7ce10)" d="M 170.858982 406.014473 L 172.982861 408.821797 L 174.043703 418.860497 L 171.931979 416.375816 -L 170.858982 406.014473 z " style="fill:#00008c;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 145.884815 399.134467 -L 147.997981 392.458921 -L 149.239581 401.498635 -L 147.133677 407.537056 -L 145.884815 399.134467 + <path clip-path="url(#p8946a7ce10)" d="M 196.802388 457.856829 +L 198.994106 457.365108 +L 200.18947 454.581119 +L 197.966527 456.324849 z -" style="fill:#0000b5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 193.54369 455.647297 +" style="fill:#0000d7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 109.388328 450.777833 +L 111.35458 445.620725 +L 112.587833 441.913494 +L 110.635483 447.968894 +z +" style="fill:#0000ed;"/> + <path clip-path="url(#p8946a7ce10)" d="M 202.203924 427.196618 +L 204.545804 421.279351 +L 205.935293 411.507057 +L 203.571314 417.827321 +z +" style="fill:#0000fd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 108.13807 453.518407 +L 110.122484 449.401202 +L 111.35458 445.620725 +L 109.388328 450.777833 +z +" style="fill:#0000ea;"/> + <path clip-path="url(#p8946a7ce10)" d="M 118.848517 429.498876 +L 120.779954 419.596588 +L 122.059892 418.982653 +L 120.122664 428.799741 +z +" style="fill:#0000e9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 185.450195 431.70854 +L 187.490427 438.744384 +L 188.547818 443.378284 +L 186.49565 437.658098 +z +" style="fill:#00008d;"/> + <path clip-path="url(#p8946a7ce10)" d="M 201.609397 445.397092 +L 203.932168 440.251112 +L 205.241798 433.336846 +L 202.887532 439.365577 +z +" style="fill:#0000f7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 193.54369 455.647297 L 195.654561 458.573149 L 196.802388 457.856829 L 194.665012 456.261318 -L 193.54369 455.647297 z -" style="fill:#0000b1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 156.847683 397.545442 +" style="fill:#0000ba;"/> + <path clip-path="url(#p8946a7ce10)" d="M 145.884815 399.134467 +L 147.997981 392.458921 +L 149.239581 401.498635 +L 147.133677 407.537056 +z +" style="fill:#0000b5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 156.847683 397.545442 L 158.997484 394.72867 L 160.158163 405.390166 L 158.022443 407.842215 -L 156.847683 397.545442 z -" style="fill:#0000a1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 132.497109 408.049159 -L 134.519304 398.025849 -L 135.821262 403.161085 -L 133.795258 412.522994 -L 132.497109 408.049159 +" style="fill:#0000a0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 188.468944 440.939871 +L 190.509982 447.525699 +L 191.594549 450.210616 +L 189.535271 445.026051 z -" style="fill:#0000cf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 185.450195 431.70854 -L 187.490427 438.744384 -L 188.547818 443.378284 -L 186.49565 437.658098 -L 185.450195 431.70854 +" style="fill:#000097;"/> + <path clip-path="url(#p8946a7ce10)" d="M 106.880461 456.011106 +L 108.887385 453.05678 +L 110.122484 449.401202 +L 108.13807 453.518407 z -" style="fill:#00008a;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 102.21101 457.76047 +" style="fill:#0000e6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 100.04418 453.890024 +L 102.21101 457.76047 +L 103.531964 457.584494 +L 101.399121 454.835499 +z +" style="fill:#0000b1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 191.473255 450.753666 +L 193.54369 455.647297 +L 194.665012 456.261318 +L 192.571404 452.736648 +z +" style="fill:#0000a8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 102.21101 457.76047 L 104.322566 459.487376 L 105.610492 458.065143 L 103.531964 457.584494 -L 102.21101 457.76047 z -" style="fill:#0000bb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 195.654561 458.573149 +" style="fill:#0000c4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 180.323518 418.5126 +L 182.389527 424.921868 +L 183.426271 432.282761 +L 181.359606 426.867433 +z +" style="fill:#000087;"/> + <path clip-path="url(#p8946a7ce10)" d="M 195.654561 458.573149 L 197.817613 459.327108 L 198.994106 457.365108 L 196.802388 457.856829 -L 195.654561 458.573149 z -" style="fill:#0000c3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 105.610492 458.065143 +" style="fill:#0000cd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 96.946413 442.71943 +L 99.205098 449.835479 +L 100.567084 451.038455 +L 98.338712 444.711859 +z +" style="fill:#00009b;"/> + <path clip-path="url(#p8946a7ce10)" d="M 132.497109 408.049159 +L 134.519304 398.025849 +L 135.821262 403.161085 +L 133.795258 412.522994 +z +" style="fill:#0000d0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 105.610492 458.065143 L 107.644192 456.372166 L 108.887385 453.05678 L 106.880461 456.011106 -L 105.610492 458.065143 -z -" style="fill:#0000d6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 203.188891 430.09297 -L 205.549586 423.803112 -L 206.929921 414.534737 -L 204.545804 421.279351 -L 203.188891 430.09297 -z -" style="fill:#0000f7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 188.468944 440.939871 -L 190.509982 447.525699 -L 191.594549 450.210616 -L 189.535271 445.026051 -L 188.468944 440.939871 z -" style="fill:#000091;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 100.04418 453.890024 -L 102.21101 457.76047 -L 103.531964 457.584494 -L 101.399121 454.835499 -L 100.04418 453.890024 +" style="fill:#0000df;"/> + <path clip-path="url(#p8946a7ce10)" d="M 151.363229 395.956093 +L 153.502774 391.118113 +L 154.707239 401.192419 +L 152.578925 405.543912 z -" style="fill:#0000ab;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 117.58103 430.844531 +" style="fill:#0000aa;"/> + <path clip-path="url(#p8946a7ce10)" d="M 117.58103 430.844531 L 119.508287 421.010163 L 120.779954 419.596588 L 118.848517 429.498876 -L 117.58103 430.844531 z -" style="fill:#0000e8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 202.887532 439.365577 +" style="fill:#0000ec;"/> + <path clip-path="url(#p8946a7ce10)" d="M 203.188891 430.09297 +L 205.549586 423.803112 +L 206.929921 414.534737 +L 204.545804 421.279351 +z +" style="fill:#0000fd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 202.887532 439.365577 L 205.241798 433.336846 L 206.583816 425.413139 L 204.201143 432.135766 -L 202.887532 439.365577 z -" style="fill:#0000f4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 191.473255 450.753666 -L 193.54369 455.647297 -L 194.665012 456.261318 -L 192.571404 452.736648 -L 191.473255 450.753666 +" style="fill:#0000fa;"/> + <path clip-path="url(#p8946a7ce10)" d="M 97.816623 447.92975 +L 100.04418 453.890024 +L 101.399121 454.835499 +L 99.205098 449.835479 z " style="fill:#0000a1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 96.946413 442.71943 -L 99.205098 449.835479 -L 100.567084 451.038455 -L 98.338712 444.711859 -L 96.946413 442.71943 + <path clip-path="url(#p8946a7ce10)" d="M 142.523799 398.606172 +L 144.620864 390.878759 +L 145.884815 399.134467 +L 143.792439 406.241584 z -" style="fill:#000097;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 200.18947 454.581119 +" style="fill:#0000bb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 200.18947 454.581119 L 202.475586 450.838319 L 203.726686 446.060517 L 201.408392 450.852962 -L 200.18947 454.581119 z -" style="fill:#0000e5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 180.323518 418.5126 -L 182.389527 424.921868 -L 183.426271 432.282761 -L 181.359606 426.867433 -L 180.323518 418.5126 +" style="fill:#0000ed;"/> + <path clip-path="url(#p8946a7ce10)" d="M 104.322566 459.487376 +L 106.387038 459.12412 +L 107.644192 456.372166 +L 105.610492 458.065143 z -" style="fill:#000085;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 198.994106 457.365108 +" style="fill:#0000d6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 198.994106 457.365108 L 201.248914 454.725734 L 202.475586 450.838319 L 200.18947 454.581119 -L 198.994106 457.365108 z -" style="fill:#0000dd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 151.363229 395.956093 -L 153.502774 391.118113 -L 154.707239 401.192419 -L 152.578925 405.543912 -L 151.363229 395.956093 +" style="fill:#0000e6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 189.430698 444.184235 +L 191.473255 450.753666 +L 192.571404 452.736648 +L 190.509982 447.525699 z -" style="fill:#0000aa;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 201.408392 450.852962 +" style="fill:#00009a;"/> + <path clip-path="url(#p8946a7ce10)" d="M 135.821262 403.161085 +L 137.871591 393.695623 +L 139.166178 399.963277 +L 137.114953 408.789441 +z +" style="fill:#0000c9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 201.408392 450.852962 L 203.726686 446.060517 L 205.005172 440.342341 L 202.654935 446.091657 -L 201.408392 450.852962 z -" style="fill:#0000eb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 123.346299 419.150746 +" style="fill:#0000f3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 123.346299 419.150746 L 125.300247 408.34344 L 126.598424 409.58193 L 124.63702 420.052423 -L 123.346299 419.150746 -z -" style="fill:#0000e0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 104.322566 459.487376 -L 106.387038 459.12412 -L 107.644192 456.372166 -L 105.610492 458.065143 -L 104.322566 459.487376 -z -" style="fill:#0000cd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 142.523799 398.606172 -L 144.620864 390.878759 -L 145.884815 399.134467 -L 143.792439 406.241584 -L 142.523799 398.606172 -z -" style="fill:#0000bc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 135.821262 403.161085 -L 137.871591 393.695623 -L 139.166178 399.963277 -L 137.114953 408.789441 -L 135.821262 403.161085 -z -" style="fill:#0000c9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 97.816623 447.92975 -L 100.04418 453.890024 -L 101.399121 454.835499 -L 99.205098 449.835479 -L 97.816623 447.92975 z -" style="fill:#00009c;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 116.321216 432.82238 -L 118.246247 423.210558 -L 119.508287 421.010163 -L 117.58103 430.844531 -L 116.321216 432.82238 +" style="fill:#0000e3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 183.406141 424.271037 +L 185.450195 431.70854 +L 186.49565 437.658098 +L 184.445177 431.401629 z -" style="fill:#0000ea;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 197.817613 459.327108 -L 200.042932 457.806912 -L 201.248914 454.725734 -L 198.994106 457.365108 +" style="fill:#000088;"/> + <path clip-path="url(#p8946a7ce10)" d="M 194.517423 458.654787 +L 196.655026 460.612385 L 197.817613 459.327108 +L 195.654561 458.573149 z -" style="fill:#0000d5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 127.899006 411.617449 -L 129.886726 400.870113 -L 131.193338 404.107331 -L 129.19933 414.344512 -L 127.899006 411.617449 +" style="fill:#0000c2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 192.429347 454.462587 +L 194.517423 458.654787 +L 195.654561 458.573149 +L 193.54369 455.647297 z -" style="fill:#0000d8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 139.166178 399.963277 +" style="fill:#0000af;"/> + <path clip-path="url(#p8946a7ce10)" d="M 139.166178 399.963277 L 141.242 391.290115 L 142.523799 398.606172 L 140.44995 406.65831 -L 139.166178 399.963277 z " style="fill:#0000c2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 194.517423 458.654787 -L 196.655026 460.612385 -L 197.817613 459.327108 -L 195.654561 458.573149 -L 194.517423 458.654787 -z -" style="fill:#0000ba;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 202.654935 446.091657 -L 205.005172 440.342341 -L 206.312881 433.676381 -L 203.932168 440.251112 -L 202.654935 446.091657 -z -" style="fill:#0000f0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 189.430698 444.184235 -L 191.473255 450.753666 -L 192.571404 452.736648 -L 190.509982 447.525699 -L 189.430698 444.184235 -z -" style="fill:#000094;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 192.429347 454.462587 -L 194.517423 458.654787 -L 195.654561 458.573149 -L 193.54369 455.647297 -L 192.429347 454.462587 -z -" style="fill:#0000a8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 100.863267 457.109111 -L 103.010737 460.09254 -L 104.322566 459.487376 -L 102.21101 457.76047 -L 100.863267 457.109111 + <path clip-path="url(#p8946a7ce10)" d="M 186.437015 433.339533 +L 188.468944 440.939871 +L 189.535271 445.026051 +L 187.490427 438.744384 z -" style="fill:#0000b0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 115.069461 435.385375 -L 116.994631 426.153776 -L 118.246247 423.210558 -L 116.321216 432.82238 -L 115.069461 435.385375 +" style="fill:#00008d;"/> + <path clip-path="url(#p8946a7ce10)" d="M 197.817613 459.327108 +L 200.042932 457.806912 +L 201.248914 454.725734 +L 198.994106 457.365108 z -" style="fill:#0000eb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 158.997484 394.72867 +" style="fill:#0000de;"/> + <path clip-path="url(#p8946a7ce10)" d="M 158.997484 394.72867 L 161.153533 392.82719 L 162.299448 403.73199 L 160.158163 405.390166 -L 158.997484 394.72867 z " style="fill:#00009c;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 183.406141 424.271037 -L 185.450195 431.70854 -L 186.49565 437.658098 -L 184.445177 431.401629 -L 183.406141 424.271037 + <path clip-path="url(#p8946a7ce10)" d="M 178.243743 412.434488 +L 180.323518 418.5126 +L 181.359606 426.867433 +L 179.283635 421.614887 z " style="fill:#000085;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 204.201143 432.135766 -L 206.583816 425.413139 -L 207.956182 416.607937 -L 205.549586 423.803112 -L 204.201143 432.135766 + <path clip-path="url(#p8946a7ce10)" d="M 100.863267 457.109111 +L 103.010737 460.09254 +L 104.322566 459.487376 +L 102.21101 457.76047 z -" style="fill:#0000f7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 103.010737 460.09254 +" style="fill:#0000b9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 127.899006 411.617449 +L 129.886726 400.870113 +L 131.193338 404.107331 +L 129.19933 414.344512 +z +" style="fill:#0000da;"/> + <path clip-path="url(#p8946a7ce10)" d="M 116.321216 432.82238 +L 118.246247 423.210558 +L 119.508287 421.010163 +L 117.58103 430.844531 +z +" style="fill:#0000ef;"/> + <path clip-path="url(#p8946a7ce10)" d="M 103.010737 460.09254 L 105.109501 461.092414 L 106.387038 459.12412 L 104.322566 459.487376 -L 103.010737 460.09254 z -" style="fill:#0000c2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 186.437015 433.339533 -L 188.468944 440.939871 -L 189.535271 445.026051 -L 187.490427 438.744384 -L 186.437015 433.339533 +" style="fill:#0000cb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 202.654935 446.091657 +L 205.005172 440.342341 +L 206.312881 433.676381 +L 203.932168 440.251112 z -" style="fill:#00008a;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 178.243743 412.434488 -L 180.323518 418.5126 -L 181.359606 426.867433 -L 179.283635 421.614887 -L 178.243743 412.434488 +" style="fill:#0000f7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 98.660314 452.129521 +L 100.863267 457.109111 +L 102.21101 457.76047 +L 100.04418 453.890024 z -" style="fill:#000084;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 196.655026 460.612385 +" style="fill:#0000a7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 196.655026 460.612385 L 198.853455 460.19117 L 200.042932 457.806912 L 197.817613 459.327108 -L 196.655026 460.612385 z -" style="fill:#0000cc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 113.825406 438.453425 -L 115.75354 429.763025 +" style="fill:#0000d5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 115.069461 435.385375 L 116.994631 426.153776 -L 115.069461 435.385375 -L 113.825406 438.453425 +L 118.246247 423.210558 +L 116.321216 432.82238 z -" style="fill:#0000ec;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 98.660314 452.129521 -L 100.863267 457.109111 -L 102.21101 457.76047 -L 100.04418 453.890024 -L 98.660314 452.129521 +" style="fill:#0000f1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 190.377999 448.286363 +L 192.429347 454.462587 +L 193.54369 455.647297 +L 191.473255 450.753666 z -" style="fill:#0000a1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 108.887385 453.05678 +" style="fill:#00009f;"/> + <path clip-path="url(#p8946a7ce10)" d="M 204.201143 432.135766 +L 206.583816 425.413139 +L 207.956182 416.607937 +L 205.549586 423.803112 +z +" style="fill:#0000fd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 95.526348 440.045393 +L 97.816623 447.92975 +L 99.205098 449.835479 +L 96.946413 442.71943 +z +" style="fill:#000095;"/> + <path clip-path="url(#p8946a7ce10)" d="M 107.644192 456.372166 +L 109.644364 452.702706 +L 110.864537 448.110747 +L 108.887385 453.05678 +z +" style="fill:#0000ec;"/> + <path clip-path="url(#p8946a7ce10)" d="M 108.887385 453.05678 L 110.864537 448.110747 L 112.081086 443.297392 L 110.122484 449.401202 -L 108.887385 453.05678 z -" style="fill:#0000e8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 204.545804 421.279351 -L 206.929921 414.534737 -L 208.336707 404.569556 -L 205.935293 411.507057 -L 204.545804 421.279351 +" style="fill:#0000f0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 113.825406 438.453425 +L 115.75354 429.763025 +L 116.994631 426.153776 +L 115.069461 435.385375 z -" style="fill:#0000f9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 107.644192 456.372166 +" style="fill:#0000f3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 106.387038 459.12412 +L 108.414587 456.822325 L 109.644364 452.702706 -L 110.864537 448.110747 -L 108.887385 453.05678 L 107.644192 456.372166 z -" style="fill:#0000e3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 110.122484 449.401202 +" style="fill:#0000e5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 176.148503 406.90537 +L 178.243743 412.434488 +L 179.283635 421.614887 +L 177.195959 416.743072 +z +" style="fill:#000085;"/> + <path clip-path="url(#p8946a7ce10)" d="M 110.122484 449.401202 L 112.081086 443.297392 L 113.299017 438.498808 L 111.35458 445.620725 -L 110.122484 449.401202 z -" style="fill:#0000eb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 112.587833 441.913494 +" style="fill:#0000f3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 193.385562 458.29204 +L 195.501403 461.379253 +L 196.655026 460.612385 +L 194.517423 458.654787 +z +" style="fill:#0000b9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 112.587833 441.913494 L 114.522239 433.926959 L 115.75354 429.763025 L 113.825406 438.453425 -L 112.587833 441.913494 z -" style="fill:#0000ed;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 111.35458 445.620725 +" style="fill:#0000f4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 111.35458 445.620725 L 113.299017 438.498808 L 114.522239 433.926959 L 112.587833 441.913494 -L 111.35458 445.620725 z -" style="fill:#0000ec;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 106.387038 459.12412 -L 108.414587 456.822325 -L 109.644364 452.702706 -L 107.644192 456.372166 -L 106.387038 459.12412 +" style="fill:#0000f4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 187.403484 436.300888 +L 189.430698 444.184235 +L 190.509982 447.525699 +L 188.468944 440.939871 z -" style="fill:#0000dc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 203.932168 440.251112 +" style="fill:#00008f;"/> + <path clip-path="url(#p8946a7ce10)" d="M 161.153533 392.82719 +L 163.312544 391.893346 +L 164.443254 402.937862 +L 162.299448 403.73199 +z +" style="fill:#000098;"/> + <path clip-path="url(#p8946a7ce10)" d="M 204.545804 421.279351 +L 206.929921 414.534737 +L 208.336707 404.569556 +L 205.935293 411.507057 +z +" style="fill:#0000fe;"/> + <path clip-path="url(#p8946a7ce10)" d="M 147.997981 392.458921 +L 150.130678 386.47548 +L 151.363229 395.956093 +L 149.239581 401.498635 +z +" style="fill:#0000b0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 203.932168 440.251112 L 206.312881 433.676381 L 207.650194 426.105092 L 205.241798 433.336846 -L 203.932168 440.251112 -z -" style="fill:#0000f4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 190.377999 448.286363 -L 192.429347 454.462587 -L 193.54369 455.647297 -L 191.473255 450.753666 -L 190.377999 448.286363 z -" style="fill:#000099;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 122.059892 418.982653 +" style="fill:#0000fb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 122.059892 418.982653 L 124.006964 407.973589 L 125.300247 408.34344 L 123.346299 419.150746 -L 122.059892 418.982653 -z -" style="fill:#0000e3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 193.385562 458.29204 -L 195.501403 461.379253 -L 196.655026 460.612385 -L 194.517423 458.654787 -L 193.385562 458.29204 z -" style="fill:#0000b1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 105.109501 461.092414 +" style="fill:#0000e7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 105.109501 461.092414 L 107.16846 460.215652 L 108.414587 456.822325 L 106.387038 459.12412 -L 105.109501 461.092414 z -" style="fill:#0000d2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 95.526348 440.045393 -L 97.816623 447.92975 -L 99.205098 449.835479 -L 96.946413 442.71943 -L 95.526348 440.045393 +" style="fill:#0000dc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 181.351595 416.773063 +L 183.406141 424.271037 +L 184.445177 431.401629 +L 182.389527 424.921868 z -" style="fill:#000092;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 147.997981 392.458921 -L 150.130678 386.47548 -L 151.363229 395.956093 -L 149.239581 401.498635 -L 147.997981 392.458921 +" style="fill:#000084;"/> + <path clip-path="url(#p8946a7ce10)" d="M 153.502774 391.118113 +L 155.655605 387.135543 +L 156.847683 397.545442 +L 154.707239 401.192419 z -" style="fill:#0000b1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 195.501403 461.379253 +" style="fill:#0000a6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 195.501403 461.379253 L 197.676148 462.003883 L 198.853455 460.19117 L 196.655026 460.612385 -L 195.501403 461.379253 -z -" style="fill:#0000c4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 201.248914 454.725734 -L 203.572925 449.985232 -L 204.829431 445.179271 -L 202.475586 450.838319 -L 201.248914 454.725734 z -" style="fill:#0000e8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 161.153533 392.82719 -L 163.312544 391.893346 -L 164.443254 402.937862 -L 162.299448 403.73199 -L 161.153533 392.82719 -z -" style="fill:#000098;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 101.669019 459.714361 +" style="fill:#0000cc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 101.669019 459.714361 L 103.80491 462.07201 L 105.109501 461.092414 L 103.010737 460.09254 -L 101.669019 459.714361 z -" style="fill:#0000b5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 176.148503 406.90537 -L 178.243743 412.434488 -L 179.283635 421.614887 -L 177.195959 416.743072 -L 176.148503 406.90537 +" style="fill:#0000be;"/> + <path clip-path="url(#p8946a7ce10)" d="M 96.397951 445.243373 +L 98.660314 452.129521 +L 100.04418 453.890024 +L 97.816623 447.92975 z -" style="fill:#000085;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 187.403484 436.300888 -L 189.430698 444.184235 -L 190.509982 447.525699 -L 188.468944 440.939871 -L 187.403484 436.300888 +" style="fill:#000099;"/> + <path clip-path="url(#p8946a7ce10)" d="M 191.316246 452.927801 +L 193.385562 458.29204 +L 194.517423 458.654787 +L 192.429347 454.462587 z -" style="fill:#00008b;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 131.193338 404.107331 -L 133.2118 393.593572 -L 134.519304 398.025849 -L 132.497109 408.049159 -L 131.193338 404.107331 -z -" style="fill:#0000d3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 200.042932 457.806912 -L 202.338086 454.022232 -L 203.572925 449.985232 -L 201.248914 454.725734 -L 200.042932 457.806912 -z -" style="fill:#0000e2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 153.502774 391.118113 -L 155.655605 387.135543 -L 156.847683 397.545442 -L 154.707239 401.192419 -L 153.502774 391.118113 -z -" style="fill:#0000a6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 202.475586 450.838319 -L 204.829431 445.179271 -L 206.110297 439.557207 -L 203.726686 446.060517 -L 202.475586 450.838319 -z -" style="fill:#0000ed;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 99.483566 455.502882 +" style="fill:#0000a7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 99.483566 455.502882 L 101.669019 459.714361 L 103.010737 460.09254 L 100.863267 457.109111 -L 99.483566 455.502882 -z -" style="fill:#0000a6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 191.316246 452.927801 -L 193.385562 458.29204 -L 194.517423 458.654787 -L 192.429347 454.462587 -L 191.316246 452.927801 -z -" style="fill:#0000a1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 96.397951 445.243373 -L 98.660314 452.129521 -L 100.04418 453.890024 -L 97.816623 447.92975 -L 96.397951 445.243373 -z -" style="fill:#000096;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 181.351595 416.773063 -L 183.406141 424.271037 -L 184.445177 431.401629 -L 182.389527 424.921868 -L 181.351595 416.773063 -z -" style="fill:#000083;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 198.853455 460.19117 -L 201.121617 457.364013 -L 202.338086 454.022232 -L 200.042932 457.806912 -L 198.853455 460.19117 -z -" style="fill:#0000dc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 205.549586 423.803112 -L 207.956182 416.607937 -L 209.35459 407.114785 -L 206.929921 414.534737 -L 205.549586 423.803112 -z -" style="fill:#0000f9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 103.80491 462.07201 -L 105.898767 462.639152 -L 107.16846 460.215652 -L 105.109501 461.092414 -L 103.80491 462.07201 -z -" style="fill:#0000c6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 126.598424 409.58193 -L 128.580003 398.464628 -L 129.886726 400.870113 -L 127.899006 411.617449 -L 126.598424 409.58193 z -" style="fill:#0000dc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 205.241798 433.336846 -L 207.650194 426.105092 -L 209.015722 417.726351 -L 206.583816 425.413139 -L 205.241798 433.336846 -z -" style="fill:#0000f7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 184.404097 425.111689 +" style="fill:#0000ad;"/> + <path clip-path="url(#p8946a7ce10)" d="M 184.404097 425.111689 L 186.437015 433.339533 L 187.490427 438.744384 L 185.450195 431.70854 -L 184.404097 425.111689 z -" style="fill:#000085;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 203.726686 446.060517 -L 206.110297 439.557207 -L 207.417306 433.106351 -L 205.005172 440.342341 -L 203.726686 446.060517 +" style="fill:#000087;"/> + <path clip-path="url(#p8946a7ce10)" d="M 131.193338 404.107331 +L 133.2118 393.593572 +L 134.519304 398.025849 +L 132.497109 408.049159 z -" style="fill:#0000f1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 120.779954 419.596588 -L 122.720846 408.514291 -L 124.006964 407.973589 -L 122.059892 418.982653 -L 120.779954 419.596588 +" style="fill:#0000d4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 201.248914 454.725734 +L 203.572925 449.985232 +L 204.829431 445.179271 +L 202.475586 450.838319 z -" style="fill:#0000e6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 174.037616 402.095674 +" style="fill:#0000f0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 200.042932 457.806912 +L 202.338086 454.022232 +L 203.572925 449.985232 +L 201.248914 454.725734 +z +" style="fill:#0000ea;"/> + <path clip-path="url(#p8946a7ce10)" d="M 174.037616 402.095674 L 176.148503 406.90537 L 177.195959 416.743072 L 175.09561 412.431978 -L 174.037616 402.095674 z " style="fill:#000086;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 188.349965 440.468044 + <path clip-path="url(#p8946a7ce10)" d="M 103.80491 462.07201 +L 105.898767 462.639152 +L 107.16846 460.215652 +L 105.109501 461.092414 +z +" style="fill:#0000d0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 188.349965 440.468044 L 190.377999 448.286363 L 191.473255 450.753666 L 189.430698 444.184235 -L 188.349965 440.468044 -z -" style="fill:#00008f;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 194.35209 461.789575 -L 196.506789 463.377693 -L 197.676148 462.003883 -L 195.501403 461.379253 -L 194.35209 461.789575 z -" style="fill:#0000bd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 163.312544 391.893346 +" style="fill:#000093;"/> + <path clip-path="url(#p8946a7ce10)" d="M 163.312544 391.893346 L 165.471175 391.955055 L 166.586461 403.048299 L 164.443254 402.937862 -L 163.312544 391.893346 z " style="fill:#000094;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 197.676148 462.003883 -L 199.919909 460.102753 + <path clip-path="url(#p8946a7ce10)" d="M 202.475586 450.838319 +L 204.829431 445.179271 +L 206.110297 439.557207 +L 203.726686 446.060517 +z +" style="fill:#0000f4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 198.853455 460.19117 L 201.121617 457.364013 -L 198.853455 460.19117 -L 197.676148 462.003883 +L 202.338086 454.022232 +L 200.042932 457.806912 z -" style="fill:#0000d6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 192.254032 457.674306 -L 194.35209 461.789575 -L 195.501403 461.379253 -L 193.385562 458.29204 -L 192.254032 457.674306 +" style="fill:#0000e4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 126.598424 409.58193 +L 128.580003 398.464628 +L 129.886726 400.870113 +L 127.899006 411.617449 z -" style="fill:#0000ab;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 97.243293 449.464753 +" style="fill:#0000de;"/> + <path clip-path="url(#p8946a7ce10)" d="M 97.243293 449.464753 L 99.483566 455.502882 L 100.863267 457.109111 L 98.660314 452.129521 -L 97.243293 449.464753 z -" style="fill:#000099;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 144.620864 390.878759 -L 146.74082 383.806134 -L 147.997981 392.458921 -L 145.884815 399.134467 -L 144.620864 390.878759 +" style="fill:#00009e;"/> + <path clip-path="url(#p8946a7ce10)" d="M 194.35209 461.789575 +L 196.506789 463.377693 +L 197.676148 462.003883 +L 195.501403 461.379253 z -" style="fill:#0000b7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 107.16846 460.215652 -L 109.197872 457.6522 -L 110.41654 452.819408 -L 108.414587 456.822325 -L 107.16846 460.215652 +" style="fill:#0000c5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 192.254032 457.674306 +L 194.35209 461.789575 +L 195.501403 461.379253 +L 193.385562 458.29204 z -" style="fill:#0000df;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 134.519304 398.025849 -L 136.568775 388.116823 -L 137.871591 393.695623 -L 135.821262 403.161085 -L 134.519304 398.025849 +" style="fill:#0000b1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 205.549586 423.803112 +L 207.956182 416.607937 +L 209.35459 407.114785 +L 206.929921 414.534737 z -" style="fill:#0000cc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 108.414587 456.822325 -L 110.41654 452.819408 -L 111.623283 447.342788 -L 109.644364 452.702706 -L 108.414587 456.822325 +" style="fill:#0000fe;"/> + <path clip-path="url(#p8946a7ce10)" d="M 171.912149 398.129166 +L 174.037616 402.095674 +L 175.09561 412.431978 +L 172.982861 408.821797 z -" style="fill:#0000e7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 105.898767 462.639152 -L 107.959667 461.55957 -L 109.197872 457.6522 -L 107.16846 460.215652 -L 105.898767 462.639152 +" style="fill:#000088;"/> + <path clip-path="url(#p8946a7ce10)" d="M 205.241798 433.336846 +L 207.650194 426.105092 +L 209.015722 417.726351 +L 206.583816 425.413139 z -" style="fill:#0000d5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 205.005172 440.342341 +" style="fill:#0000fd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 197.676148 462.003883 +L 199.919909 460.102753 +L 201.121617 457.364013 +L 198.853455 460.19117 +z +" style="fill:#0000de;"/> + <path clip-path="url(#p8946a7ce10)" d="M 203.726686 446.060517 +L 206.110297 439.557207 L 207.417306 433.106351 -L 208.751017 425.855572 -L 206.312881 433.676381 L 205.005172 440.342341 z -" style="fill:#0000f5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 171.912149 398.129166 -L 174.037616 402.095674 -L 175.09561 412.431978 -L 172.982861 408.821797 -L 171.912149 398.129166 +" style="fill:#0000f8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 120.779954 419.596588 +L 122.720846 408.514291 +L 124.006964 407.973589 +L 122.059892 418.982653 z -" style="fill:#000088;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 102.466711 461.885803 -L 104.598198 463.873931 -L 105.898767 462.639152 -L 103.80491 462.07201 -L 102.466711 461.885803 +" style="fill:#0000ea;"/> + <path clip-path="url(#p8946a7ce10)" d="M 144.620864 390.878759 +L 146.74082 383.806134 +L 147.997981 392.458921 +L 145.884815 399.134467 z " style="fill:#0000b8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 189.279731 445.583308 -L 191.316246 452.927801 -L 192.429347 454.462587 -L 190.377999 448.286363 -L 189.279731 445.583308 -z -" style="fill:#000094;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 165.471175 391.955055 + <path clip-path="url(#p8946a7ce10)" d="M 165.471175 391.955055 L 167.626103 393.022065 L 168.725999 404.077487 L 166.586461 403.048299 -L 165.471175 391.955055 -z -" style="fill:#000091;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 100.291746 458.217042 -L 102.466711 461.885803 -L 103.80491 462.07201 -L 101.669019 459.714361 -L 100.291746 458.217042 -z -" style="fill:#0000a9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 109.644364 452.702706 -L 111.623283 447.342788 -L 112.825016 441.508394 -L 110.864537 448.110747 -L 109.644364 452.702706 -z -" style="fill:#0000ec;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 196.506789 463.377693 -L 198.729298 462.341026 -L 199.919909 460.102753 -L 197.676148 462.003883 -L 196.506789 463.377693 z -" style="fill:#0000d0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 119.508287 421.010163 -L 121.443894 409.981024 -L 122.720846 408.514291 -L 120.779954 419.596588 -L 119.508287 421.010163 +" style="fill:#000090;"/> + <path clip-path="url(#p8946a7ce10)" d="M 189.279731 445.583308 +L 191.316246 452.927801 +L 192.429347 454.462587 +L 190.377999 448.286363 z -" style="fill:#0000e9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 169.774101 395.088245 +" style="fill:#000099;"/> + <path clip-path="url(#p8946a7ce10)" d="M 169.774101 395.088245 L 171.912149 398.129166 L 172.982861 408.821797 L 170.858982 406.014473 -L 169.774101 395.088245 z " style="fill:#00008a;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 167.626103 393.022065 + <path clip-path="url(#p8946a7ce10)" d="M 100.291746 458.217042 +L 102.466711 461.885803 +L 103.80491 462.07201 +L 101.669019 459.714361 +z +" style="fill:#0000b1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 167.626103 393.022065 L 169.774101 395.088245 L 170.858982 406.014473 L 168.725999 404.077487 -L 167.626103 393.022065 z " style="fill:#00008d;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 141.242 391.290115 -L 143.34352 383.183034 -L 144.620864 390.878759 -L 142.523799 398.606172 -L 141.242 391.290115 -z -" style="fill:#0000be;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 137.871591 393.695623 -L 139.949337 384.62406 -L 141.242 391.290115 -L 139.166178 399.963277 -L 137.871591 393.695623 -z -" style="fill:#0000c5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 179.281859 409.525261 + <path clip-path="url(#p8946a7ce10)" d="M 179.281859 409.525261 L 181.351595 416.773063 L 182.389527 424.921868 L 180.323518 418.5126 -L 179.281859 409.525261 z " style="fill:#000082;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 185.379879 427.513455 + <path clip-path="url(#p8946a7ce10)" d="M 134.519304 398.025849 +L 136.568775 388.116823 +L 137.871591 393.695623 +L 135.821262 403.161085 +z +" style="fill:#0000ce;"/> + <path clip-path="url(#p8946a7ce10)" d="M 102.466711 461.885803 +L 104.598198 463.873931 +L 105.898767 462.639152 +L 103.80491 462.07201 +z +" style="fill:#0000c2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 107.16846 460.215652 +L 109.197872 457.6522 +L 110.41654 452.819408 +L 108.414587 456.822325 +z +" style="fill:#0000e9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 185.379879 427.513455 L 187.403484 436.300888 L 188.468944 440.939871 L 186.437015 433.339533 -L 185.379879 427.513455 z -" style="fill:#000085;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 110.864537 448.110747 -L 112.825016 441.508394 -L 114.027663 435.591791 -L 112.081086 443.297392 -L 110.864537 448.110747 +" style="fill:#000088;"/> + <path clip-path="url(#p8946a7ce10)" d="M 105.898767 462.639152 +L 107.959667 461.55957 +L 109.197872 457.6522 +L 107.16846 460.215652 z -" style="fill:#0000ef;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 206.583816 425.413139 -L 209.015722 417.726351 -L 210.406058 408.696613 -L 207.956182 416.607937 -L 206.583816 425.413139 +" style="fill:#0000df;"/> + <path clip-path="url(#p8946a7ce10)" d="M 108.414587 456.822325 +L 110.41654 452.819408 +L 111.623283 447.342788 +L 109.644364 452.702706 z -" style="fill:#0000f9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 190.199301 451.257271 +" style="fill:#0000f0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 94.075771 436.646477 +L 96.397951 445.243373 +L 97.816623 447.92975 +L 95.526348 440.045393 +z +" style="fill:#00008f;"/> + <path clip-path="url(#p8946a7ce10)" d="M 190.199301 451.257271 L 192.254032 457.674306 L 193.385562 458.29204 L 191.316246 452.927801 -L 190.199301 451.257271 z -" style="fill:#00009c;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 155.655605 387.135543 +" style="fill:#0000a1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 196.506789 463.377693 +L 198.729298 462.341026 +L 199.919909 460.102753 +L 197.676148 462.003883 +z +" style="fill:#0000d7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 155.655605 387.135543 L 157.818645 384.105268 L 158.997484 394.72867 L 156.847683 397.545442 -L 155.655605 387.135543 z " style="fill:#0000a1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 94.075771 436.646477 -L 96.397951 445.243373 -L 97.816623 447.92975 -L 95.526348 440.045393 -L 94.075771 436.646477 -z -" style="fill:#00008d;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 104.598198 463.873931 -L 106.693989 464.280421 -L 107.959667 461.55957 -L 105.898767 462.639152 -L 104.598198 463.873931 -z -" style="fill:#0000c8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 193.202925 462.000146 -L 195.341484 464.444362 -L 196.506789 463.377693 -L 194.35209 461.789575 -L 193.202925 462.000146 + <path clip-path="url(#p8946a7ce10)" d="M 141.242 391.290115 +L 143.34352 383.183034 +L 144.620864 390.878759 +L 142.523799 398.606172 z -" style="fill:#0000b8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 98.067251 452.846587 +" style="fill:#0000bf;"/> + <path clip-path="url(#p8946a7ce10)" d="M 98.067251 452.846587 L 100.291746 458.217042 L 101.669019 459.714361 L 99.483566 455.502882 -L 98.067251 452.846587 z -" style="fill:#00009c;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 206.929921 414.534737 -L 209.35459 407.114785 -L 210.772338 397.191027 -L 208.336707 404.569556 -L 206.929921 414.534737 +" style="fill:#0000a1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 109.644364 452.702706 +L 111.623283 447.342788 +L 112.825016 441.508394 +L 110.864537 448.110747 z -" style="fill:#0000fa;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 125.300247 408.34344 -L 127.275761 396.977464 -L 128.580003 398.464628 -L 126.598424 409.58193 -L 125.300247 408.34344 +" style="fill:#0000f4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 182.3618 416.645811 +L 184.404097 425.111689 +L 185.450195 431.70854 +L 183.406141 424.271037 z -" style="fill:#0000df;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 112.081086 443.297392 -L 114.027663 435.591791 -L 115.235975 429.845298 -L 113.299017 438.498808 -L 112.081086 443.297392 +" style="fill:#000083;"/> + <path clip-path="url(#p8946a7ce10)" d="M 205.005172 440.342341 +L 207.417306 433.106351 +L 208.751017 425.855572 +L 206.312881 433.676381 z -" style="fill:#0000f1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 118.246247 423.210558 -L 120.177773 412.363976 +" style="fill:#0000fb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 137.871591 393.695623 +L 139.949337 384.62406 +L 141.242 391.290115 +L 139.166178 399.963277 +z +" style="fill:#0000c6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 193.202925 462.000146 +L 195.341484 464.444362 +L 196.506789 463.377693 +L 194.35209 461.789575 +z +" style="fill:#0000be;"/> + <path clip-path="url(#p8946a7ce10)" d="M 104.598198 463.873931 +L 106.693989 464.280421 +L 107.959667 461.55957 +L 105.898767 462.639152 +z +" style="fill:#0000d2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 119.508287 421.010163 L 121.443894 409.981024 -L 119.508287 421.010163 -L 118.246247 423.210558 +L 122.720846 408.514291 +L 120.779954 419.596588 z -" style="fill:#0000ec;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 150.130678 386.47548 +" style="fill:#0000ee;"/> + <path clip-path="url(#p8946a7ce10)" d="M 94.94589 441.724415 +L 97.243293 449.464753 +L 98.660314 452.129521 +L 96.397951 445.243373 +z +" style="fill:#000092;"/> + <path clip-path="url(#p8946a7ce10)" d="M 150.130678 386.47548 L 152.280569 381.373782 L 153.502774 391.118113 L 151.363229 395.956093 -L 150.130678 386.47548 z " style="fill:#0000ac;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 182.3618 416.645811 -L 184.404097 425.111689 -L 185.450195 431.70854 -L 183.406141 424.271037 -L 182.3618 416.645811 -z -" style="fill:#000082;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 195.341484 464.444362 -L 197.546288 464.1842 -L 198.729298 462.341026 -L 196.506789 463.377693 -L 195.341484 464.444362 -z -" style="fill:#0000ca;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 191.118543 456.981086 + <path clip-path="url(#p8946a7ce10)" d="M 191.118543 456.981086 L 193.202925 462.000146 L 194.35209 461.789575 L 192.254032 457.674306 -L 191.118543 456.981086 z -" style="fill:#0000a6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 206.312881 433.676381 -L 208.751017 425.855572 -L 210.110468 417.881086 -L 207.650194 426.105092 -L 206.312881 433.676381 +" style="fill:#0000ac;"/> + <path clip-path="url(#p8946a7ce10)" d="M 110.864537 448.110747 +L 112.825016 441.508394 +L 114.027663 435.591791 +L 112.081086 443.297392 z " style="fill:#0000f7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 94.94589 441.724415 -L 97.243293 449.464753 -L 98.660314 452.129521 -L 96.397951 445.243373 -L 94.94589 441.724415 + <path clip-path="url(#p8946a7ce10)" d="M 186.332092 431.421226 +L 188.349965 440.468044 +L 189.430698 444.184235 +L 187.403484 436.300888 z -" style="fill:#000090;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 129.886726 400.870113 -L 131.901479 390.016488 -L 133.2118 393.593572 -L 131.193338 404.107331 -L 129.886726 400.870113 +" style="fill:#00008a;"/> + <path clip-path="url(#p8946a7ce10)" d="M 206.583816 425.413139 +L 209.015722 417.726351 +L 210.406058 408.696613 +L 207.956182 416.607937 z -" style="fill:#0000d6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 113.299017 438.498808 +" style="fill:#0000fe;"/> + <path clip-path="url(#p8946a7ce10)" d="M 195.341484 464.444362 +L 197.546288 464.1842 +L 198.729298 462.341026 +L 196.506789 463.377693 +z +" style="fill:#0000d1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 125.300247 408.34344 +L 127.275761 396.977464 +L 128.580003 398.464628 +L 126.598424 409.58193 +z +" style="fill:#0000e2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 112.081086 443.297392 +L 114.027663 435.591791 L 115.235975 429.845298 -L 116.453439 424.488398 -L 114.522239 433.926959 L 113.299017 438.498808 z -" style="fill:#0000f1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 116.994631 426.153776 -L 118.923703 415.626594 -L 120.177773 412.363976 -L 118.246247 423.210558 -L 116.994631 426.153776 -z -" style="fill:#0000ee;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 186.332092 431.421226 -L 188.349965 440.468044 -L 189.430698 444.184235 -L 187.403484 436.300888 -L 186.332092 431.421226 +" style="fill:#0000f8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 177.194235 402.792174 +L 179.281859 409.525261 +L 180.323518 418.5126 +L 178.243743 412.434488 z -" style="fill:#000087;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 114.522239 433.926959 -L 116.453439 424.488398 -L 117.682309 419.70199 -L 115.75354 429.763025 -L 114.522239 433.926959 +" style="fill:#000082;"/> + <path clip-path="url(#p8946a7ce10)" d="M 118.246247 423.210558 +L 120.177773 412.363976 +L 121.443894 409.981024 +L 119.508287 421.010163 z " style="fill:#0000f1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 115.75354 429.763025 -L 117.682309 419.70199 -L 118.923703 415.626594 -L 116.994631 426.153776 -L 115.75354 429.763025 + <path clip-path="url(#p8946a7ce10)" d="M 206.929921 414.534737 +L 209.35459 407.114785 +L 210.772338 397.191027 +L 208.336707 404.569556 z -" style="fill:#0000ef;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 107.959667 461.55957 -L 109.99752 459.044665 -L 111.20861 453.660669 -L 109.197872 457.6522 -L 107.959667 461.55957 +" style="fill:#0000ff;"/> + <path clip-path="url(#p8946a7ce10)" d="M 129.886726 400.870113 +L 131.901479 390.016488 +L 133.2118 393.593572 +L 131.193338 404.107331 z -" style="fill:#0000e1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 101.088889 460.397328 +" style="fill:#0000d9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 101.088889 460.397328 L 103.259775 463.740006 L 104.598198 463.873931 L 102.466711 461.885803 -L 101.088889 460.397328 z -" style="fill:#0000ab;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 103.259775 463.740006 +" style="fill:#0000b3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 187.261873 436.650602 +L 189.279731 445.583308 +L 190.377999 448.286363 +L 188.349965 440.468044 +z +" style="fill:#00008e;"/> + <path clip-path="url(#p8946a7ce10)" d="M 103.259775 463.740006 L 105.393026 465.590266 L 106.693989 464.280421 L 104.598198 463.873931 -L 103.259775 463.740006 z -" style="fill:#0000b9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 106.693989 464.280421 -L 108.76292 463.270839 -L 109.99752 459.044665 -L 107.959667 461.55957 -L 106.693989 464.280421 +" style="fill:#0000c3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 95.789574 445.840023 +L 98.067251 452.846587 +L 99.483566 455.502882 +L 97.243293 449.464753 z -" style="fill:#0000d6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 192.050389 462.155271 +" style="fill:#000095;"/> + <path clip-path="url(#p8946a7ce10)" d="M 206.312881 433.676381 +L 208.751017 425.855572 +L 210.110468 417.881086 +L 207.650194 426.105092 +z +" style="fill:#0000fd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 192.050389 462.155271 L 194.176837 465.327543 L 195.341484 464.444362 L 193.202925 462.000146 -L 192.050389 462.155271 z -" style="fill:#0000b4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 109.197872 457.6522 -L 111.20861 453.660669 -L 112.404608 447.422637 -L 110.41654 452.819408 -L 109.197872 457.6522 -z -" style="fill:#0000e9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 177.194235 402.792174 -L 179.281859 409.525261 -L 180.323518 418.5126 -L 178.243743 412.434488 -L 177.194235 402.792174 -z -" style="fill:#000082;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 187.261873 436.650602 -L 189.279731 445.583308 -L 190.377999 448.286363 -L 188.349965 440.468044 -L 187.261873 436.650602 +" style="fill:#0000b9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 113.299017 438.498808 +L 115.235975 429.845298 +L 116.453439 424.488398 +L 114.522239 433.926959 z -" style="fill:#00008b;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 95.789574 445.840023 -L 98.067251 452.846587 -L 99.483566 455.502882 -L 97.243293 449.464753 -L 95.789574 445.840023 +" style="fill:#0000f8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 106.693989 464.280421 +L 108.76292 463.270839 +L 109.99752 459.044665 +L 107.959667 461.55957 z -" style="fill:#000092;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 194.176837 465.327543 -L 196.367727 465.733547 -L 197.546288 464.1842 -L 195.341484 464.444362 -L 194.176837 465.327543 +" style="fill:#0000e0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 107.959667 461.55957 +L 109.99752 459.044665 +L 111.20861 453.660669 +L 109.197872 457.6522 z -" style="fill:#0000c6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 98.873984 455.506582 +" style="fill:#0000eb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 98.873984 455.506582 L 101.088889 460.397328 L 102.466711 461.885803 L 100.291746 458.217042 -L 98.873984 455.506582 z -" style="fill:#00009e;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 157.818645 384.105268 +" style="fill:#0000a4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 116.994631 426.153776 +L 118.923703 415.626594 +L 120.177773 412.363976 +L 118.246247 423.210558 +z +" style="fill:#0000f4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 188.173389 442.880162 +L 190.199301 451.257271 +L 191.316246 452.927801 +L 189.279731 445.583308 +z +" style="fill:#000094;"/> + <path clip-path="url(#p8946a7ce10)" d="M 157.818645 384.105268 L 159.988585 382.08034 L 161.153533 392.82719 L 158.997484 394.72867 -L 157.818645 384.105268 z " style="fill:#00009d;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 105.393026 465.590266 -L 107.496289 466.069146 -L 108.76292 463.270839 -L 106.693989 464.280421 -L 105.393026 465.590266 + <path clip-path="url(#p8946a7ce10)" d="M 114.522239 433.926959 +L 116.453439 424.488398 +L 117.682309 419.70199 +L 115.75354 429.763025 z -" style="fill:#0000c8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 188.173389 442.880162 -L 190.199301 451.257271 -L 191.316246 452.927801 -L 189.279731 445.583308 -L 188.173389 442.880162 +" style="fill:#0000f7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 115.75354 429.763025 +L 117.682309 419.70199 +L 118.923703 415.626594 +L 116.994631 426.153776 z -" style="fill:#000091;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 207.956182 416.607937 -L 210.406058 408.696613 -L 211.815608 399.230956 -L 209.35459 407.114785 -L 207.956182 416.607937 +" style="fill:#0000f6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 194.176837 465.327543 +L 196.367727 465.733547 +L 197.546288 464.1842 +L 195.341484 464.444362 z -" style="fill:#0000fa;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 189.074248 449.649742 +" style="fill:#0000cc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 189.074248 449.649742 L 191.118543 456.981086 L 192.254032 457.674306 L 190.199301 451.257271 -L 189.074248 449.649742 z -" style="fill:#000098;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 110.41654 452.819408 +" style="fill:#00009d;"/> + <path clip-path="url(#p8946a7ce10)" d="M 183.349637 418.254198 +L 185.379879 427.513455 +L 186.437015 433.339533 +L 184.404097 425.111689 +z +" style="fill:#000083;"/> + <path clip-path="url(#p8946a7ce10)" d="M 109.197872 457.6522 +L 111.20861 453.660669 L 112.404608 447.422637 -L 113.593378 440.649741 -L 111.623283 447.342788 L 110.41654 452.819408 z -" style="fill:#0000ee;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 207.650194 426.105092 -L 210.110468 417.881086 -L 211.492925 409.310345 -L 209.015722 417.726351 -L 207.650194 426.105092 -z -" style="fill:#0000f9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 124.006964 407.973589 -L 125.976424 396.462475 -L 127.275761 396.977464 -L 125.300247 408.34344 -L 124.006964 407.973589 +" style="fill:#0000f2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 105.393026 465.590266 +L 107.496289 466.069146 +L 108.76292 463.270839 +L 106.693989 464.280421 z -" style="fill:#0000e3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 189.975591 456.374535 +" style="fill:#0000d2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 189.975591 456.374535 L 192.050389 462.155271 L 193.202925 462.000146 L 191.118543 456.981086 -L 189.975591 456.374535 z -" style="fill:#0000a3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 183.349637 418.254198 -L 185.379879 427.513455 -L 186.437015 433.339533 -L 184.404097 425.111689 -L 183.349637 418.254198 +" style="fill:#0000a8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 180.303817 408.309477 +L 182.3618 416.645811 +L 183.406141 424.271037 +L 181.351595 416.773063 z -" style="fill:#000082;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 146.74082 383.806134 +" style="fill:#000081;"/> + <path clip-path="url(#p8946a7ce10)" d="M 146.74082 383.806134 L 148.881837 377.639333 L 150.130678 386.47548 L 147.997981 392.458921 -L 146.74082 383.806134 -z -" style="fill:#0000b3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 133.2118 393.593572 -L 135.260451 383.417805 -L 136.568775 388.116823 -L 134.519304 398.025849 -L 133.2118 393.593572 z -" style="fill:#0000d0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 180.303817 408.309477 -L 182.3618 416.645811 -L 183.406141 424.271037 -L 181.351595 416.773063 -L 180.303817 408.309477 +" style="fill:#0000b4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 175.087891 396.78225 +L 177.194235 402.792174 +L 178.243743 412.434488 +L 176.148503 406.90537 z -" style="fill:#000080;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 193.010059 466.136645 -L 195.190934 467.080252 -L 196.367727 465.733547 -L 194.176837 465.327543 -L 193.010059 466.136645 +" style="fill:#000083;"/> + <path clip-path="url(#p8946a7ce10)" d="M 92.592607 432.506375 +L 94.94589 441.724415 +L 96.397951 445.243373 +L 94.075771 436.646477 z -" style="fill:#0000c3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 190.8917 462.380678 -L 193.010059 466.136645 -L 194.176837 465.327543 -L 192.050389 462.155271 -L 190.8917 462.380678 +" style="fill:#00008a;"/> + <path clip-path="url(#p8946a7ce10)" d="M 96.61057 449.087392 +L 98.873984 455.506582 +L 100.291746 458.217042 +L 98.067251 452.846587 z -" style="fill:#0000b1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 111.623283 447.342788 +" style="fill:#000097;"/> + <path clip-path="url(#p8946a7ce10)" d="M 110.41654 452.819408 +L 112.404608 447.422637 L 113.593378 440.649741 -L 114.781842 433.658246 -L 112.825016 441.508394 L 111.623283 447.342788 z -" style="fill:#0000f2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 96.61057 449.087392 -L 98.873984 455.506582 -L 100.291746 458.217042 -L 98.067251 452.846587 -L 96.61057 449.087392 +" style="fill:#0000f7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 207.956182 416.607937 +L 210.406058 408.696613 +L 211.815608 399.230956 +L 209.35459 407.114785 z -" style="fill:#000093;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 108.76292 463.270839 -L 110.814228 461.063844 -L 112.022393 455.358249 -L 109.99752 459.044665 -L 108.76292 463.270839 +" style="fill:#0000ff;"/> + <path clip-path="url(#p8946a7ce10)" d="M 124.006964 407.973589 +L 125.976424 396.462475 +L 127.275761 396.977464 +L 125.300247 408.34344 z -" style="fill:#0000e1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 92.592607 432.506375 -L 94.94589 441.724415 -L 96.397951 445.243373 -L 94.075771 436.646477 -L 92.592607 432.506375 +" style="fill:#0000e7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 190.8917 462.380678 +L 193.010059 466.136645 +L 194.176837 465.327543 +L 192.050389 462.155271 z -" style="fill:#000089;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 101.877334 462.109867 +" style="fill:#0000b6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 133.2118 393.593572 +L 135.260451 383.417805 +L 136.568775 388.116823 +L 134.519304 398.025849 +z +" style="fill:#0000d2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 207.650194 426.105092 +L 210.110468 417.881086 +L 211.492925 409.310345 +L 209.015722 417.726351 +z +" style="fill:#0000fe;"/> + <path clip-path="url(#p8946a7ce10)" d="M 101.877334 462.109867 L 104.049585 465.316554 L 105.393026 465.590266 L 103.259775 463.740006 -L 101.877334 462.109867 -z -" style="fill:#0000ab;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 107.496289 466.069146 -L 109.57785 465.351171 -L 110.814228 461.063844 -L 108.76292 463.270839 -L 107.496289 466.069146 -z -" style="fill:#0000d5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 175.087891 396.78225 -L 177.194235 402.792174 -L 178.243743 412.434488 -L 176.148503 406.90537 -L 175.087891 396.78225 z -" style="fill:#000083;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 104.049585 465.316554 -L 106.189525 467.220646 -L 107.496289 466.069146 -L 105.393026 465.590266 -L 104.049585 465.316554 +" style="fill:#0000b3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 193.010059 466.136645 +L 195.190934 467.080252 +L 196.367727 465.733547 +L 194.176837 465.327543 z -" style="fill:#0000b8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 152.280569 381.373782 +" style="fill:#0000c8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 152.280569 381.373782 L 154.444629 377.270816 L 155.655605 387.135543 L 153.502774 391.118113 -L 152.280569 381.373782 z " style="fill:#0000a8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 128.580003 398.464628 -L 130.590928 387.392981 -L 131.901479 390.016488 -L 129.886726 400.870113 -L 128.580003 398.464628 -z -" style="fill:#0000da;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 159.988585 382.08034 + <path clip-path="url(#p8946a7ce10)" d="M 159.988585 382.08034 L 162.162047 381.083936 L 163.312544 391.893346 L 161.153533 392.82719 -L 159.988585 382.08034 z " style="fill:#000099;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 99.666425 457.522768 + <path clip-path="url(#p8946a7ce10)" d="M 184.312307 421.606649 +L 186.332092 431.421226 +L 187.403484 436.300888 +L 185.379879 427.513455 +z +" style="fill:#000084;"/> + <path clip-path="url(#p8946a7ce10)" d="M 104.049585 465.316554 +L 106.189525 467.220646 +L 107.496289 466.069146 +L 105.393026 465.590266 +z +" style="fill:#0000c2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 107.496289 466.069146 +L 109.57785 465.351171 +L 110.814228 461.063844 +L 108.76292 463.270839 +z +" style="fill:#0000df;"/> + <path clip-path="url(#p8946a7ce10)" d="M 93.458096 437.355015 +L 95.789574 445.840023 +L 97.243293 449.464753 +L 94.94589 441.724415 +z +" style="fill:#00008c;"/> + <path clip-path="url(#p8946a7ce10)" d="M 99.666425 457.522768 L 101.877334 462.109867 L 103.259775 463.740006 L 101.088889 460.397328 -L 99.666425 457.522768 z -" style="fill:#00009e;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 109.99752 459.044665 +" style="fill:#0000a5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 108.76292 463.270839 +L 110.814228 461.063844 L 112.022393 455.358249 -L 113.211438 448.55121 -L 111.20861 453.660669 L 109.99752 459.044665 z " style="fill:#0000ea;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 184.312307 421.606649 -L 186.332092 431.421226 -L 187.403484 436.300888 -L 185.379879 427.513455 -L 184.312307 421.606649 + <path clip-path="url(#p8946a7ce10)" d="M 111.623283 447.342788 +L 113.593378 440.649741 +L 114.781842 433.658246 +L 112.825016 441.508394 z -" style="fill:#000083;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 143.34352 383.183034 +" style="fill:#0000f9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 172.963572 391.644765 +L 175.087891 396.78225 +L 176.148503 406.90537 +L 174.037616 402.095674 +z +" style="fill:#000085;"/> + <path clip-path="url(#p8946a7ce10)" d="M 143.34352 383.183034 L 145.469857 375.978997 L 146.74082 383.806134 L 144.620864 390.878759 -L 143.34352 383.183034 z -" style="fill:#0000ba;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 106.189525 467.220646 +" style="fill:#0000bc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 128.580003 398.464628 +L 130.590928 387.392981 +L 131.901479 390.016488 +L 129.886726 400.870113 +z +" style="fill:#0000dd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 106.189525 467.220646 L 108.304374 467.953478 L 109.57785 465.351171 L 107.496289 466.069146 -L 106.189525 467.220646 -z -" style="fill:#0000c6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 136.568775 388.116823 -L 138.648479 378.860152 -L 139.949337 384.62406 -L 137.871591 393.695623 -L 136.568775 388.116823 -z -" style="fill:#0000c9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 93.458096 437.355015 -L 95.789574 445.840023 -L 97.243293 449.464753 -L 94.94589 441.724415 -L 93.458096 437.355015 -z -" style="fill:#00008b;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 122.720846 408.514291 -L 124.684251 396.949051 -L 125.976424 396.462475 -L 124.006964 407.973589 -L 122.720846 408.514291 z -" style="fill:#0000e6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 112.825016 441.508394 -L 114.781842 433.658246 -L 115.975703 426.744629 -L 114.027663 435.591791 -L 112.825016 441.508394 +" style="fill:#0000d0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 185.249021 426.59563 +L 187.261873 436.650602 +L 188.349965 440.468044 +L 186.332092 431.421226 z -" style="fill:#0000f3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 188.822526 455.993681 +" style="fill:#000087;"/> + <path clip-path="url(#p8946a7ce10)" d="M 188.822526 455.993681 L 190.8917 462.380678 L 192.050389 462.155271 L 189.975591 456.374535 -L 188.822526 455.993681 -z -" style="fill:#0000a2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 209.015722 417.726351 -L 211.492925 409.310345 -L 212.89369 400.323381 -L 210.406058 408.696613 -L 209.015722 417.726351 -z -" style="fill:#0000fa;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 139.949337 384.62406 -L 142.055199 376.385003 -L 143.34352 383.183034 -L 141.242 391.290115 -L 139.949337 384.62406 -z -" style="fill:#0000c1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 191.839039 466.961871 -L 194.013787 468.300443 -L 195.190934 467.080252 -L 193.010059 466.136645 -L 191.839039 466.961871 -z -" style="fill:#0000c1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 209.35459 407.114785 -L 211.815608 399.230956 -L 213.236551 389.599338 -L 210.772338 397.191027 -L 209.35459 407.114785 z -" style="fill:#0000fa;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 187.937746 448.281093 +" style="fill:#0000a5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 187.937746 448.281093 L 189.975591 456.374535 L 191.118543 456.981086 L 189.074248 449.649742 -L 187.937746 448.281093 -z -" style="fill:#000097;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 172.963572 391.644765 -L 175.087891 396.78225 -L 176.148503 406.90537 -L 174.037616 402.095674 -L 172.963572 391.644765 z -" style="fill:#000085;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 189.72486 462.778801 -L 191.839039 466.961871 -L 193.010059 466.136645 -L 190.8917 462.380678 -L 189.72486 462.778801 +" style="fill:#00009a;"/> + <path clip-path="url(#p8946a7ce10)" d="M 136.568775 388.116823 +L 138.648479 378.860152 +L 139.949337 384.62406 +L 137.871591 393.695623 z -" style="fill:#0000b0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 185.249021 426.59563 -L 187.261873 436.650602 -L 188.349965 440.468044 -L 186.332092 431.421226 -L 185.249021 426.59563 +" style="fill:#0000cb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 109.99752 459.044665 +L 112.022393 455.358249 +L 113.211438 448.55121 +L 111.20861 453.660669 z -" style="fill:#000085;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 187.0549 440.390119 +" style="fill:#0000f2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 187.0549 440.390119 L 189.074248 449.649742 L 190.199301 451.257271 L 188.173389 442.880162 -L 187.0549 440.390119 z -" style="fill:#00008f;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 111.20861 453.660669 -L 113.211438 448.55121 -L 114.390131 440.989865 -L 112.404608 447.422637 -L 111.20861 453.660669 +" style="fill:#000092;"/> + <path clip-path="url(#p8946a7ce10)" d="M 186.161555 432.98423 +L 188.173389 442.880162 +L 189.279731 445.583308 +L 187.261873 436.650602 z -" style="fill:#0000f0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 162.162047 381.083936 +" style="fill:#00008b;"/> + <path clip-path="url(#p8946a7ce10)" d="M 162.162047 381.083936 L 164.335642 381.123587 L 165.471175 391.955055 L 163.312544 391.893346 -L 162.162047 381.083936 z " style="fill:#000095;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 186.161555 432.98423 -L 188.173389 442.880162 -L 189.279731 445.583308 -L 187.261873 436.650602 -L 186.161555 432.98423 + <path clip-path="url(#p8946a7ce10)" d="M 191.839039 466.961871 +L 194.013787 468.300443 +L 195.190934 467.080252 +L 193.010059 466.136645 z -" style="fill:#000089;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 97.411961 451.541347 +" style="fill:#0000c5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 139.949337 384.62406 +L 142.055199 376.385003 +L 143.34352 383.183034 +L 141.242 391.290115 +z +" style="fill:#0000c4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 189.72486 462.778801 +L 191.839039 466.961871 +L 193.010059 466.136645 +L 190.8917 462.380678 +z +" style="fill:#0000b3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 97.411961 451.541347 L 99.666425 457.522768 L 101.088889 460.397328 L 98.873984 455.506582 -L 97.411961 451.541347 -z -" style="fill:#000094;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 109.57785 465.351171 -L 111.646069 463.651056 -L 112.856962 457.916155 -L 110.814228 461.063844 -L 109.57785 465.351171 -z -" style="fill:#0000df;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 114.027663 435.591791 -L 115.975703 426.744629 -L 117.179279 420.171568 -L 115.235975 429.845298 -L 114.027663 435.591791 -z -" style="fill:#0000f4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 108.304374 467.953478 -L 110.40167 467.68815 -L 111.646069 463.651056 -L 109.57785 465.351171 -L 108.304374 467.953478 -z -" style="fill:#0000d2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 94.296677 441.241931 -L 96.61057 449.087392 -L 98.067251 452.846587 -L 95.789574 445.840023 -L 94.296677 441.241931 z -" style="fill:#00008c;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 178.226102 400.425993 +" style="fill:#000099;"/> + <path clip-path="url(#p8946a7ce10)" d="M 178.226102 400.425993 L 180.303817 408.309477 L 181.351595 416.773063 L 179.281859 409.525261 -L 178.226102 400.425993 z " style="fill:#000080;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 121.443894 409.981024 -L 123.401342 398.448351 + <path clip-path="url(#p8946a7ce10)" d="M 122.720846 408.514291 L 124.684251 396.949051 -L 122.720846 408.514291 -L 121.443894 409.981024 +L 125.976424 396.462475 +L 124.006964 407.973589 z -" style="fill:#0000e9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 181.304552 408.949815 +" style="fill:#0000ea;"/> + <path clip-path="url(#p8946a7ce10)" d="M 94.296677 441.241931 +L 96.61057 449.087392 +L 98.067251 452.846587 +L 95.789574 445.840023 +z +" style="fill:#00008e;"/> + <path clip-path="url(#p8946a7ce10)" d="M 181.304552 408.949815 L 183.349637 418.254198 L 184.404097 425.111689 L 182.3618 416.645811 -L 181.304552 408.949815 z " style="fill:#000080;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 102.657611 463.35252 -L 104.835488 466.573108 -L 106.189525 467.220646 -L 104.049585 465.316554 -L 102.657611 463.35252 + <path clip-path="url(#p8946a7ce10)" d="M 112.825016 441.508394 +L 114.781842 433.658246 +L 115.975703 426.744629 +L 114.027663 435.591791 z -" style="fill:#0000a9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 170.823234 387.474026 +" style="fill:#0000fb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 170.823234 387.474026 L 172.963572 391.644765 L 174.037616 402.095674 L 171.912149 398.129166 -L 170.823234 387.474026 z -" style="fill:#000088;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 104.835488 466.573108 -L 106.985693 468.671659 -L 108.304374 467.953478 -L 106.189525 467.220646 +" style="fill:#000087;"/> + <path clip-path="url(#p8946a7ce10)" d="M 209.015722 417.726351 +L 211.492925 409.310345 +L 212.89369 400.323381 +L 210.406058 408.696613 +z +" style="fill:#0000ff;"/> + <path clip-path="url(#p8946a7ce10)" d="M 164.335642 381.123587 +L 166.505975 382.201774 +L 167.626103 393.022065 +L 165.471175 391.955055 +z +" style="fill:#000091;"/> + <path clip-path="url(#p8946a7ce10)" d="M 209.35459 407.114785 +L 211.815608 399.230956 +L 213.236551 389.599338 +L 210.772338 397.191027 +z +" style="fill:#0000ff;"/> + <path clip-path="url(#p8946a7ce10)" d="M 102.657611 463.35252 L 104.835488 466.573108 +L 106.189525 467.220646 +L 104.049585 465.316554 z -" style="fill:#0000b5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 110.814228 461.063844 +" style="fill:#0000b1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 108.304374 467.953478 +L 110.40167 467.68815 +L 111.646069 463.651056 +L 109.57785 465.351171 +z +" style="fill:#0000dc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 111.20861 453.660669 +L 113.211438 448.55121 +L 114.390131 440.989865 +L 112.404608 447.422637 +z +" style="fill:#0000f8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 109.57785 465.351171 +L 111.646069 463.651056 L 112.856962 457.916155 -L 114.043884 450.799502 -L 112.022393 455.358249 L 110.814228 461.063844 z -" style="fill:#0000e9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 164.335642 381.123587 -L 166.505975 382.201774 -L 167.626103 393.022065 -L 165.471175 391.955055 -L 164.335642 381.123587 +" style="fill:#0000e8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 168.669633 384.31984 +L 170.823234 387.474026 +L 171.912149 398.129166 +L 169.774101 395.088245 z -" style="fill:#000092;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 190.662368 467.87044 -L 192.834767 469.451301 -L 194.013787 468.300443 -L 191.839039 466.961871 -L 190.662368 467.87044 +" style="fill:#00008a;"/> + <path clip-path="url(#p8946a7ce10)" d="M 104.835488 466.573108 +L 106.985693 468.671659 +L 108.304374 467.953478 +L 106.189525 467.220646 z -" style="fill:#0000c0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 115.235975 429.845298 -L 117.179279 420.171568 -L 118.395462 414.158197 -L 116.453439 424.488398 -L 115.235975 429.845298 +" style="fill:#0000be;"/> + <path clip-path="url(#p8946a7ce10)" d="M 166.505975 382.201774 +L 168.669633 384.31984 +L 169.774101 395.088245 +L 167.626103 393.022065 z -" style="fill:#0000f4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 154.444629 377.270816 +" style="fill:#00008e;"/> + <path clip-path="url(#p8946a7ce10)" d="M 154.444629 377.270816 L 156.619504 374.219017 L 157.818645 384.105268 L 155.655605 387.135543 -L 154.444629 377.270816 z " style="fill:#0000a4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 100.446024 458.920736 + <path clip-path="url(#p8946a7ce10)" d="M 100.446024 458.920736 L 102.657611 463.35252 L 104.049585 465.316554 L 101.877334 462.109867 -L 100.446024 458.920736 z -" style="fill:#00009e;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 168.669633 384.31984 -L 170.823234 387.474026 -L 171.912149 398.129166 -L 169.774101 395.088245 -L 168.669633 384.31984 +" style="fill:#0000a4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 190.662368 467.87044 +L 192.834767 469.451301 +L 194.013787 468.300443 +L 191.839039 466.961871 z -" style="fill:#00008b;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 148.881837 377.639333 +" style="fill:#0000c4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 114.027663 435.591791 +L 115.975703 426.744629 +L 117.179279 420.171568 +L 115.235975 429.845298 +z +" style="fill:#0000fb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 187.657562 455.9503 +L 189.72486 462.778801 +L 190.8917 462.380678 +L 188.822526 455.993681 +z +" style="fill:#0000a4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 148.881837 377.639333 L 151.041015 372.538273 L 152.280569 381.373782 L 150.130678 386.47548 -L 148.881837 377.639333 z -" style="fill:#0000af;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 166.505975 382.201774 -L 168.669633 384.31984 -L 169.774101 395.088245 -L 167.626103 393.022065 -L 166.505975 382.201774 +" style="fill:#0000b0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 121.443894 409.981024 +L 123.401342 398.448351 +L 124.684251 396.949051 +L 122.720846 408.514291 z -" style="fill:#00008e;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 106.985693 468.671659 +" style="fill:#0000ee;"/> + <path clip-path="url(#p8946a7ce10)" d="M 188.548649 463.425355 +L 190.662368 467.87044 +L 191.839039 466.961871 +L 189.72486 462.778801 +z +" style="fill:#0000b2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 106.985693 468.671659 L 109.11482 469.780099 L 110.40167 467.68815 L 108.304374 467.953478 -L 106.985693 468.671659 z -" style="fill:#0000c2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 112.404608 447.422637 -L 114.390131 440.989865 -L 115.566436 433.030576 -L 113.593378 440.649741 -L 112.404608 447.422637 +" style="fill:#0000cb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 110.814228 461.063844 +L 112.856962 457.916155 +L 114.043884 450.799502 +L 112.022393 455.358249 z -" style="fill:#0000f3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 187.657562 455.9503 -L 189.72486 462.778801 -L 190.8917 462.380678 +" style="fill:#0000f1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 95.111088 444.223997 +L 97.411961 451.541347 +L 98.873984 455.506582 +L 96.61057 449.087392 +z +" style="fill:#00008f;"/> + <path clip-path="url(#p8946a7ce10)" d="M 186.787407 447.299244 L 188.822526 455.993681 -L 187.657562 455.9503 +L 189.975591 456.374535 +L 187.937746 448.281093 z -" style="fill:#0000a1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 127.275761 396.977464 -L 129.282533 385.777627 -L 130.590928 387.392981 -L 128.580003 398.464628 -L 127.275761 396.977464 +" style="fill:#000099;"/> + <path clip-path="url(#p8946a7ce10)" d="M 91.075762 427.642671 +L 93.458096 437.355015 +L 94.94589 441.724415 +L 92.592607 432.506375 z -" style="fill:#0000de;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 188.548649 463.425355 -L 190.662368 467.87044 -L 191.839039 466.961871 -L 189.72486 462.778801 -L 188.548649 463.425355 +" style="fill:#000086;"/> + <path clip-path="url(#p8946a7ce10)" d="M 182.280336 411.503171 +L 184.312307 421.606649 +L 185.379879 427.513455 +L 183.349637 418.254198 z -" style="fill:#0000b0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 131.901479 390.016488 +" style="fill:#000081;"/> + <path clip-path="url(#p8946a7ce10)" d="M 131.901479 390.016488 L 133.949233 379.717041 L 135.260451 383.417805 L 133.2118 393.593572 -L 131.901479 390.016488 z -" style="fill:#0000d4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 120.177773 412.363976 -L 122.129612 400.955553 -L 123.401342 398.448351 -L 121.443894 409.981024 -L 120.177773 412.363976 +" style="fill:#0000d7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 127.275761 396.977464 +L 129.282533 385.777627 +L 130.590928 387.392981 +L 128.580003 398.464628 z -" style="fill:#0000ec;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 116.453439 424.488398 +" style="fill:#0000e2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 115.235975 429.845298 +L 117.179279 420.171568 L 118.395462 414.158197 -L 119.625806 408.875548 -L 117.682309 419.70199 L 116.453439 424.488398 z -" style="fill:#0000f3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 210.406058 408.696613 -L 212.89369 400.323381 -L 214.30602 391.150946 -L 211.815608 399.230956 -L 210.406058 408.696613 +" style="fill:#0000fb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 98.195772 453.241691 +L 100.446024 458.920736 +L 101.877334 462.109867 +L 99.666425 457.522768 z -" style="fill:#0000fa;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 186.787407 447.299244 -L 188.822526 455.993681 -L 189.975591 456.374535 -L 187.937746 448.281093 -L 186.787407 447.299244 +" style="fill:#000099;"/> + <path clip-path="url(#p8946a7ce10)" d="M 112.404608 447.422637 +L 114.390131 440.989865 +L 115.566436 433.030576 +L 113.593378 440.649741 z -" style="fill:#000096;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 118.923703 415.626594 -L 120.8707 404.447372 +" style="fill:#0000fb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 176.126844 393.256625 +L 178.226102 400.425993 +L 179.281859 409.525261 +L 177.194235 402.792174 +z +" style="fill:#000081;"/> + <path clip-path="url(#p8946a7ce10)" d="M 120.177773 412.363976 L 122.129612 400.955553 -L 120.177773 412.363976 -L 118.923703 415.626594 +L 123.401342 398.448351 +L 121.443894 409.981024 z -" style="fill:#0000ef;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 110.40167 467.68815 +" style="fill:#0000f2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 185.921243 438.297085 +L 187.937746 448.281093 +L 189.074248 449.649742 +L 187.0549 440.390119 +z +" style="fill:#000090;"/> + <path clip-path="url(#p8946a7ce10)" d="M 110.40167 467.68815 L 112.488793 466.626995 L 113.708882 461.209627 L 111.646069 463.651056 -L 110.40167 467.68815 z -" style="fill:#0000dc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 95.111088 444.223997 -L 97.411961 451.541347 -L 98.873984 455.506582 -L 96.61057 449.087392 -L 95.111088 444.223997 -z -" style="fill:#00008d;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 117.682309 419.70199 -L 119.625806 408.875548 -L 120.8707 404.447372 -L 118.923703 415.626594 -L 117.682309 419.70199 -z -" style="fill:#0000f1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 112.022393 455.358249 -L 114.043884 450.799502 -L 115.216373 442.666105 -L 113.211438 448.55121 -L 112.022393 455.358249 -z -" style="fill:#0000f0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 91.075762 427.642671 -L 93.458096 437.355015 -L 94.94589 441.724415 -L 92.592607 432.506375 -L 91.075762 427.642671 -z -" style="fill:#000086;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 109.11482 469.780099 +" style="fill:#0000e5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 109.11482 469.780099 L 111.22955 470.06197 L 112.488793 466.626995 L 110.40167 467.68815 -L 109.11482 469.780099 -z -" style="fill:#0000cd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 98.195772 453.241691 -L 100.446024 458.920736 -L 101.877334 462.109867 -L 99.666425 457.522768 -L 98.195772 453.241691 -z -" style="fill:#000094;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 182.280336 411.503171 -L 184.312307 421.606649 -L 185.379879 427.513455 -L 183.349637 418.254198 -L 182.280336 411.503171 z -" style="fill:#000080;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 189.479326 468.903924 +" style="fill:#0000d6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 189.479326 468.903924 L 191.652961 470.568259 L 192.834767 469.451301 L 190.662368 467.87044 -L 189.479326 468.903924 z -" style="fill:#0000c0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 111.646069 463.651056 -L 113.708882 461.209627 -L 114.899468 454.10663 -L 112.856962 457.916155 -L 111.646069 463.651056 +" style="fill:#0000c3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 116.453439 424.488398 +L 118.395462 414.158197 +L 119.625806 408.875548 +L 117.682309 419.70199 z -" style="fill:#0000e7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 185.921243 438.297085 -L 187.937746 448.281093 -L 189.074248 449.649742 -L 187.0549 440.390119 -L 185.921243 438.297085 +" style="fill:#0000f9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 91.933414 432.158832 +L 94.296677 441.241931 +L 95.789574 445.840023 +L 93.458096 437.355015 z -" style="fill:#00008e;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 176.126844 393.256625 -L 178.226102 400.425993 -L 179.281859 409.525261 -L 177.194235 402.792174 -L 176.126844 393.256625 +" style="fill:#000087;"/> + <path clip-path="url(#p8946a7ce10)" d="M 210.406058 408.696613 +L 212.89369 400.323381 +L 214.30602 391.150946 +L 211.815608 399.230956 z -" style="fill:#000081;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 113.593378 440.649741 -L 115.566436 433.030576 -L 116.747131 425.017826 -L 114.781842 433.658246 -L 113.593378 440.649741 +" style="fill:#0000ff;"/> + <path clip-path="url(#p8946a7ce10)" d="M 118.923703 415.626594 +L 120.8707 404.447372 +L 122.129612 400.955553 +L 120.177773 412.363976 z " style="fill:#0000f5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 187.362595 464.367041 + <path clip-path="url(#p8946a7ce10)" d="M 183.228876 415.931075 +L 185.249021 426.59563 +L 186.332092 431.421226 +L 184.312307 421.606649 +z +" style="fill:#000083;"/> + <path clip-path="url(#p8946a7ce10)" d="M 112.022393 455.358249 +L 114.043884 450.799502 +L 115.216373 442.666105 +L 113.211438 448.55121 +z +" style="fill:#0000f7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 187.362595 464.367041 L 189.479326 468.903924 L 190.662368 467.87044 L 188.548649 463.425355 -L 187.362595 464.367041 z -" style="fill:#0000b1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 186.479753 456.326205 +" style="fill:#0000b3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 117.682309 419.70199 +L 119.625806 408.875548 +L 120.8707 404.447372 +L 118.923703 415.626594 +z +" style="fill:#0000f7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 185.045302 429.690307 +L 187.0549 440.390119 +L 188.173389 442.880162 +L 186.161555 432.98423 +z +" style="fill:#00008a;"/> + <path clip-path="url(#p8946a7ce10)" d="M 186.479753 456.326205 L 188.548649 463.425355 L 189.72486 462.778801 L 187.657562 455.9503 -L 186.479753 456.326205 -z -" style="fill:#0000a2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 145.469857 375.978997 -L 147.618517 369.913926 -L 148.881837 377.639333 -L 146.74082 383.806134 -L 145.469857 375.978997 z -" style="fill:#0000b6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 91.933414 432.158832 -L 94.296677 441.241931 -L 95.789574 445.840023 -L 93.458096 437.355015 -L 91.933414 432.158832 +" style="fill:#0000a4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 179.238829 399.992915 +L 181.304552 408.949815 +L 182.3618 416.645811 +L 180.303817 408.309477 z -" style="fill:#000087;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 105.615059 467.389122 -L 107.777765 469.76477 -L 109.11482 469.780099 -L 106.985693 468.671659 -L 105.615059 467.389122 +" style="fill:#000080;"/> + <path clip-path="url(#p8946a7ce10)" d="M 111.646069 463.651056 +L 113.708882 461.209627 +L 114.899468 454.10663 +L 112.856962 457.916155 z -" style="fill:#0000b0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 103.428558 464.054346 +" style="fill:#0000ef;"/> + <path clip-path="url(#p8946a7ce10)" d="M 103.428558 464.054346 L 105.615059 467.389122 L 106.985693 468.671659 L 104.835488 466.573108 -L 103.428558 464.054346 z -" style="fill:#0000a6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 135.260451 383.417805 -L 137.342146 374.159759 -L 138.648479 378.860152 -L 136.568775 388.116823 -L 135.260451 383.417805 -z -" style="fill:#0000cd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 185.045302 429.690307 -L 187.0549 440.390119 -L 188.173389 442.880162 +" style="fill:#0000ad;"/> + <path clip-path="url(#p8946a7ce10)" d="M 184.149773 422.087359 L 186.161555 432.98423 -L 185.045302 429.690307 +L 187.261873 436.650602 +L 185.249021 426.59563 z -" style="fill:#000088;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 156.619504 374.219017 +" style="fill:#000086;"/> + <path clip-path="url(#p8946a7ce10)" d="M 105.615059 467.389122 +L 107.777765 469.76477 +L 109.11482 469.780099 +L 106.985693 468.671659 +z +" style="fill:#0000b9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 156.619504 374.219017 L 158.80179 372.223149 L 159.988585 382.08034 L 157.818645 384.105268 -L 156.619504 374.219017 z " style="fill:#0000a0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 183.228876 415.931075 -L 185.249021 426.59563 -L 186.332092 431.421226 -L 184.312307 421.606649 -L 183.228876 415.931075 -z -" style="fill:#000082;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 107.777765 469.76477 -L 109.922531 471.306033 -L 111.22955 470.06197 -L 109.11482 469.780099 -L 107.777765 469.76477 + <path clip-path="url(#p8946a7ce10)" d="M 145.469857 375.978997 +L 147.618517 369.913926 +L 148.881837 377.639333 +L 146.74082 383.806134 z -" style="fill:#0000bb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 179.238829 399.992915 -L 181.304552 408.949815 -L 182.3618 416.645811 -L 180.303817 408.309477 -L 179.238829 399.992915 +" style="fill:#0000b9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 101.212727 459.669019 +L 103.428558 464.054346 +L 104.835488 466.573108 +L 102.657611 463.35252 z -" style="fill:#000080;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 111.22955 470.06197 -L 113.336252 469.701025 -L 114.572549 464.988906 -L 112.488793 466.626995 -L 111.22955 470.06197 +" style="fill:#0000a1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 135.260451 383.417805 +L 137.342146 374.159759 +L 138.648479 378.860152 +L 136.568775 388.116823 z -" style="fill:#0000d6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 125.976424 396.462475 -L 127.978499 385.195104 -L 129.282533 385.777627 -L 127.275761 396.977464 -L 125.976424 396.462475 +" style="fill:#0000d0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 95.903518 446.341313 +L 98.195772 453.241691 +L 99.666425 457.522768 +L 97.411961 451.541347 z -" style="fill:#0000e2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 184.149773 422.087359 -L 186.161555 432.98423 -L 187.261873 436.650602 -L 185.249021 426.59563 -L 184.149773 422.087359 +" style="fill:#00008f;"/> + <path clip-path="url(#p8946a7ce10)" d="M 107.777765 469.76477 +L 109.922531 471.306033 +L 111.22955 470.06197 +L 109.11482 469.780099 z -" style="fill:#000084;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 101.212727 459.669019 -L 103.428558 464.054346 -L 104.835488 466.573108 -L 102.657611 463.35252 -L 101.212727 459.669019 +" style="fill:#0000c4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 113.593378 440.649741 +L 115.566436 433.030576 +L 116.747131 425.017826 +L 114.781842 433.658246 z -" style="fill:#00009c;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 113.211438 448.55121 -L 115.216373 442.666105 -L 116.383403 433.907364 -L 114.390131 440.989865 -L 113.211438 448.55121 +" style="fill:#0000fd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 185.621771 446.821083 +L 187.657562 455.9503 +L 188.822526 455.993681 +L 186.787407 447.299244 z -" style="fill:#0000f4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 188.289833 470.076643 +" style="fill:#000099;"/> + <path clip-path="url(#p8946a7ce10)" d="M 188.289833 470.076643 L 190.468033 471.663291 L 191.652961 470.568259 L 189.479326 468.903924 -L 188.289833 470.076643 -z -" style="fill:#0000c1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 112.856962 457.916155 -L 114.899468 454.10663 -L 116.070605 445.684825 -L 114.043884 450.799502 -L 112.856962 457.916155 z -" style="fill:#0000ee;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 112.488793 466.626995 +" style="fill:#0000c3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 111.22955 470.06197 +L 113.336252 469.701025 L 114.572549 464.988906 -L 115.773389 458.279666 -L 113.708882 461.209627 L 112.488793 466.626995 z -" style="fill:#0000e3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 95.903518 446.341313 -L 98.195772 453.241691 -L 99.666425 457.522768 -L 97.411961 451.541347 -L 95.903518 446.341313 +" style="fill:#0000df;"/> + <path clip-path="url(#p8946a7ce10)" d="M 92.763558 435.707106 +L 95.111088 444.223997 +L 96.61057 449.087392 +L 94.296677 441.241931 z -" style="fill:#00008d;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 185.621771 446.821083 -L 187.657562 455.9503 -L 188.822526 455.993681 -L 186.787407 447.299244 -L 185.621771 446.821083 +" style="fill:#000088;"/> + <path clip-path="url(#p8946a7ce10)" d="M 174.006239 386.990012 +L 176.126844 393.256625 +L 177.194235 402.792174 +L 175.087891 396.78225 z -" style="fill:#000097;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 142.055199 376.385003 +" style="fill:#000083;"/> + <path clip-path="url(#p8946a7ce10)" d="M 186.166911 465.620193 +L 188.289833 470.076643 +L 189.479326 468.903924 +L 187.362595 464.367041 +z +" style="fill:#0000b4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 142.055199 376.385003 L 144.187668 369.321735 L 145.469857 375.978997 L 143.34352 383.183034 -L 142.055199 376.385003 z -" style="fill:#0000be;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 138.648479 378.860152 +" style="fill:#0000c1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 125.976424 396.462475 +L 127.978499 385.195104 +L 129.282533 385.777627 +L 127.275761 396.977464 +z +" style="fill:#0000e6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 151.041015 372.538273 +L 153.214859 368.571367 +L 154.444629 377.270816 +L 152.280569 381.373782 +z +" style="fill:#0000ad;"/> + <path clip-path="url(#p8946a7ce10)" d="M 138.648479 378.860152 L 140.758693 370.721904 L 142.055199 376.385003 L 139.949337 384.62406 -L 138.648479 378.860152 -z -" style="fill:#0000c5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 211.815608 399.230956 -L 214.30602 391.150946 -L 215.721168 382.068883 -L 213.236551 389.599338 -L 211.815608 399.230956 z -" style="fill:#0000fa;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 186.166911 465.620193 -L 188.289833 470.076643 -L 189.479326 468.903924 -L 187.362595 464.367041 -L 186.166911 465.620193 +" style="fill:#0000c9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 112.488793 466.626995 +L 114.572549 464.988906 +L 115.773389 458.279666 +L 113.708882 461.209627 z -" style="fill:#0000b3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 109.922531 471.306033 +" style="fill:#0000eb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 109.922531 471.306033 L 112.055145 472.160716 L 113.336252 469.701025 L 111.22955 470.06197 -L 109.922531 471.306033 z -" style="fill:#0000c6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 114.781842 433.658246 -L 116.747131 425.017826 -L 117.937527 417.264847 -L 115.975703 426.744629 -L 114.781842 433.658246 +" style="fill:#0000ce;"/> + <path clip-path="url(#p8946a7ce10)" d="M 98.962812 454.184907 +L 101.212727 459.669019 +L 102.657611 463.35252 +L 100.446024 458.920736 +z +" style="fill:#000097;"/> + <path clip-path="url(#p8946a7ce10)" d="M 185.288929 457.171638 +L 187.362595 464.367041 +L 188.548649 463.425355 +L 186.479753 456.326205 +z +" style="fill:#0000a5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 112.856962 457.916155 +L 114.899468 454.10663 +L 116.070605 445.684825 +L 114.043884 450.799502 z " style="fill:#0000f6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 151.041015 372.538273 -L 153.214859 368.571367 -L 154.444629 377.270816 -L 152.280569 381.373782 -L 151.041015 372.538273 + <path clip-path="url(#p8946a7ce10)" d="M 113.211438 448.55121 +L 115.216373 442.666105 +L 116.383403 433.907364 +L 114.390131 440.989865 z -" style="fill:#0000ab;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 92.763558 435.707106 -L 95.111088 444.223997 -L 96.61057 449.087392 -L 94.296677 441.241931 -L 92.763558 435.707106 +" style="fill:#0000fb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 184.770434 436.751731 +L 186.787407 447.299244 +L 187.937746 448.281093 +L 185.921243 438.297085 z -" style="fill:#000087;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 130.590928 387.392981 +" style="fill:#000090;"/> + <path clip-path="url(#p8946a7ce10)" d="M 158.80179 372.223149 +L 160.98818 371.262725 +L 162.162047 381.083936 +L 159.988585 382.08034 +z +" style="fill:#00009d;"/> + <path clip-path="url(#p8946a7ce10)" d="M 130.590928 387.392981 L 132.637475 377.068494 L 133.949233 379.717041 L 131.901479 390.016488 -L 130.590928 387.392981 z -" style="fill:#0000d8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 174.006239 386.990012 -L 176.126844 393.256625 -L 177.194235 402.792174 -L 175.087891 396.78225 -L 174.006239 386.990012 -z -" style="fill:#000084;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 185.288929 457.171638 -L 187.362595 464.367041 -L 188.548649 463.425355 -L 186.479753 456.326205 -L 185.288929 457.171638 +" style="fill:#0000dc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 180.228283 401.575455 +L 182.280336 411.503171 +L 183.349637 418.254198 +L 181.304552 408.949815 z -" style="fill:#0000a4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 98.962812 454.184907 -L 101.212727 459.669019 -L 102.657611 463.35252 -L 100.446024 458.920736 -L 98.962812 454.184907 +" style="fill:#000080;"/> + <path clip-path="url(#p8946a7ce10)" d="M 211.815608 399.230956 +L 214.30602 391.150946 +L 215.721168 382.068883 +L 213.236551 389.599338 z -" style="fill:#000093;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 113.708882 461.209627 -L 115.773389 458.279666 -L 116.948983 449.920309 -L 114.899468 454.10663 -L 113.708882 461.209627 +" style="fill:#0000fe;"/> + <path clip-path="url(#p8946a7ce10)" d="M 114.781842 433.658246 +L 116.747131 425.017826 +L 117.937527 417.264847 +L 115.975703 426.744629 z -" style="fill:#0000ec;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 187.094383 471.375045 +" style="fill:#0000fd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 187.094383 471.375045 L 189.280167 472.724263 L 190.468033 471.663291 L 188.289833 470.076643 +z +" style="fill:#0000c4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 184.962412 467.170251 L 187.094383 471.375045 +L 188.289833 470.076643 +L 186.166911 465.620193 z -" style="fill:#0000c3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 158.80179 372.223149 -L 160.98818 371.262725 -L 162.162047 381.083936 -L 159.988585 382.08034 -L 158.80179 372.223149 +" style="fill:#0000b6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 171.8661 381.740774 +L 174.006239 386.990012 +L 175.087891 396.78225 +L 172.963572 391.644765 z -" style="fill:#00009c;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 113.336252 469.701025 +" style="fill:#000086;"/> + <path clip-path="url(#p8946a7ce10)" d="M 112.055145 472.160716 +L 114.180993 472.489534 +L 115.440655 468.890112 +L 113.336252 469.701025 +z +" style="fill:#0000d7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 113.336252 469.701025 L 115.440655 468.890112 L 116.658866 462.997165 L 114.572549 464.988906 -L 113.336252 469.701025 z -" style="fill:#0000dd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 184.770434 436.751731 -L 186.787407 447.299244 -L 187.937746 448.281093 -L 185.921243 438.297085 -L 184.770434 436.751731 -z -" style="fill:#00008f;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 112.055145 472.160716 -L 114.180993 472.489534 -L 115.440655 468.890112 -L 113.336252 469.701025 -L 112.055145 472.160716 -z -" style="fill:#0000ce;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 124.684251 396.949051 -L 126.68092 385.65441 -L 127.978499 385.195104 -L 125.976424 396.462475 -L 124.684251 396.949051 +" style="fill:#0000e5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 184.440244 446.930998 +L 186.479753 456.326205 +L 187.657562 455.9503 +L 185.621771 446.821083 z -" style="fill:#0000e6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 184.962412 467.170251 -L 187.094383 471.375045 -L 188.289833 470.076643 -L 186.166911 465.620193 -L 184.962412 467.170251 +" style="fill:#000099;"/> + <path clip-path="url(#p8946a7ce10)" d="M 177.149235 391.71569 +L 179.238829 399.992915 +L 180.303817 408.309477 +L 178.226102 400.425993 z -" style="fill:#0000b5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 114.043884 450.799502 -L 116.070605 445.684825 -L 117.232134 436.358917 -L 115.216373 442.666105 -L 114.043884 450.799502 +" style="fill:#000080;"/> + <path clip-path="url(#p8946a7ce10)" d="M 113.708882 461.209627 +L 115.773389 458.279666 +L 116.948983 449.920309 +L 114.899468 454.10663 z " style="fill:#0000f3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 114.390131 440.989865 -L 116.383403 433.907364 -L 117.552902 424.916685 -L 115.566436 433.030576 -L 114.390131 440.989865 -z -" style="fill:#0000f6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 115.975703 426.744629 -L 117.937527 417.264847 -L 119.141337 410.03797 -L 117.179279 420.171568 -L 115.975703 426.744629 -z -" style="fill:#0000f6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 180.228283 401.575455 -L 182.280336 411.503171 -L 183.349637 418.254198 -L 181.304552 408.949815 -L 180.228283 401.575455 -z -" style="fill:#000080;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 106.384542 467.578314 + <path clip-path="url(#p8946a7ce10)" d="M 106.384542 467.578314 L 108.560755 470.253092 L 109.922531 471.306033 L 107.777765 469.76477 -L 106.384542 467.578314 z -" style="fill:#0000ab;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 184.440244 446.930998 -L 186.479753 456.326205 -L 187.657562 455.9503 -L 185.621771 446.821083 -L 184.440244 446.930998 +" style="fill:#0000b2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 93.568091 438.314342 +L 95.903518 446.341313 +L 97.411961 451.541347 +L 95.111088 444.223997 z -" style="fill:#000098;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 104.187657 464.08368 +" style="fill:#000089;"/> + <path clip-path="url(#p8946a7ce10)" d="M 104.187657 464.08368 L 106.384542 467.578314 L 107.777765 469.76477 L 105.615059 467.389122 -L 104.187657 464.08368 z -" style="fill:#0000a1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 184.085617 458.504411 +" style="fill:#0000a7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 89.525429 422.112908 +L 91.933414 432.158832 +L 93.458096 437.355015 +L 91.075762 427.642671 +z +" style="fill:#000083;"/> + <path clip-path="url(#p8946a7ce10)" d="M 184.085617 458.504411 L 186.166911 465.620193 L 187.362595 464.367041 L 185.288929 457.171638 -L 184.085617 458.504411 -z -" style="fill:#0000a6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 108.560755 470.253092 -L 110.72137 472.219593 -L 112.055145 472.160716 -L 109.922531 471.306033 -L 108.560755 470.253092 -z -" style="fill:#0000b4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 114.572549 464.988906 -L 116.658866 462.997165 -L 117.845554 455.112478 -L 115.773389 458.279666 -L 114.572549 464.988906 -z -" style="fill:#0000e8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 171.8661 381.740774 -L 174.006239 386.990012 -L 175.087891 396.78225 -L 172.963572 391.644765 -L 171.8661 381.740774 -z -" style="fill:#000086;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 177.149235 391.71569 -L 179.238829 399.992915 -L 180.303817 408.309477 -L 178.226102 400.425993 -L 177.149235 391.71569 z -" style="fill:#000081;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 93.568091 438.314342 -L 95.903518 446.341313 -L 97.411961 451.541347 -L 95.111088 444.223997 -L 93.568091 438.314342 +" style="fill:#0000a7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 183.910578 426.953217 +L 185.921243 438.297085 +L 187.0549 440.390119 +L 185.045302 429.690307 z -" style="fill:#000087;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 96.675322 447.605886 +" style="fill:#00008a;"/> + <path clip-path="url(#p8946a7ce10)" d="M 96.675322 447.605886 L 98.962812 454.184907 L 100.446024 458.920736 L 98.195772 453.241691 -L 96.675322 447.605886 z -" style="fill:#00008d;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 89.525429 422.112908 -L 91.933414 432.158832 -L 93.458096 437.355015 -L 91.075762 427.642671 -L 89.525429 422.112908 +" style="fill:#00008f;"/> + <path clip-path="url(#p8946a7ce10)" d="M 108.560755 470.253092 +L 110.72137 472.219593 +L 112.055145 472.160716 +L 109.922531 471.306033 z -" style="fill:#000084;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 160.98818 371.262725 +" style="fill:#0000bb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 124.684251 396.949051 +L 126.68092 385.65441 +L 127.978499 385.195104 +L 125.976424 396.462475 +z +" style="fill:#0000ea;"/> + <path clip-path="url(#p8946a7ce10)" d="M 160.98818 371.262725 L 163.175455 371.314737 L 164.335642 381.123587 L 162.162047 381.083936 -L 160.98818 371.262725 z " style="fill:#000099;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 183.910578 426.953217 -L 185.921243 438.297085 -L 187.0549 440.390119 -L 185.045302 429.690307 -L 183.910578 426.953217 + <path clip-path="url(#p8946a7ce10)" d="M 101.965183 459.682835 +L 104.187657 464.08368 +L 105.615059 467.389122 +L 103.428558 464.054346 z -" style="fill:#000089;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 185.893949 472.758057 -L 188.089983 473.715345 -L 189.280167 472.724263 -L 187.094383 471.375045 -L 185.893949 472.758057 +" style="fill:#00009e;"/> + <path clip-path="url(#p8946a7ce10)" d="M 114.043884 450.799502 +L 116.070605 445.684825 +L 117.232134 436.358917 +L 115.216373 442.666105 z -" style="fill:#0000c6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 114.180993 472.489534 -L 116.304817 472.456503 -L 117.547618 467.820867 -L 115.440655 468.890112 -L 114.180993 472.489534 +" style="fill:#0000fa;"/> + <path clip-path="url(#p8946a7ce10)" d="M 181.191251 405.183656 +L 183.228876 415.931075 +L 184.312307 421.606649 +L 182.280336 411.503171 z -" style="fill:#0000d5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 110.72137 472.219593 +" style="fill:#000081;"/> + <path clip-path="url(#p8946a7ce10)" d="M 114.390131 440.989865 +L 116.383403 433.907364 +L 117.552902 424.916685 +L 115.566436 433.030576 +z +" style="fill:#0000fd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 115.975703 426.744629 +L 117.937527 417.264847 +L 119.141337 410.03797 +L 117.179279 420.171568 +z +" style="fill:#0000fd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 169.709355 377.558045 +L 171.8661 381.740774 +L 172.963572 391.644765 +L 170.823234 387.474026 +z +" style="fill:#000089;"/> + <path clip-path="url(#p8946a7ce10)" d="M 110.72137 472.219593 L 112.871294 473.605393 L 114.180993 472.489534 L 112.055145 472.160716 -L 110.72137 472.219593 -z -" style="fill:#0000bd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 101.965183 459.682835 -L 104.187657 464.08368 -L 105.615059 467.389122 -L 103.428558 464.054346 -L 101.965183 459.682835 z -" style="fill:#000099;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 183.750416 468.971987 -L 185.893949 472.758057 +" style="fill:#0000c4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 185.893949 472.758057 +L 188.089983 473.715345 +L 189.280167 472.724263 L 187.094383 471.375045 -L 184.962412 467.170251 -L 183.750416 468.971987 z -" style="fill:#0000b9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 147.618517 369.913926 +" style="fill:#0000c6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 114.572549 464.988906 +L 116.658866 462.997165 +L 117.845554 455.112478 +L 115.773389 458.279666 +z +" style="fill:#0000ef;"/> + <path clip-path="url(#p8946a7ce10)" d="M 147.618517 369.913926 L 149.785917 365.108209 L 151.041015 372.538273 L 148.881837 377.639333 -L 147.618517 369.913926 -z -" style="fill:#0000b2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 123.401342 398.448351 -L 125.391867 387.159474 -L 126.68092 385.65441 -L 124.684251 396.949051 -L 123.401342 398.448351 z -" style="fill:#0000e9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 117.179279 420.171568 -L 119.141337 410.03797 -L 120.360688 403.546613 -L 118.395462 414.158197 -L 117.179279 420.171568 +" style="fill:#0000b5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 183.750416 468.971987 +L 185.893949 472.758057 +L 187.094383 471.375045 +L 184.962412 467.170251 z -" style="fill:#0000f6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 133.949233 379.717041 -L 136.032821 370.592878 -L 137.342146 374.159759 -L 135.260451 383.417805 -L 133.949233 379.717041 +" style="fill:#0000b8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 183.031181 418.118164 +L 185.045302 429.690307 +L 186.161555 432.98423 +L 184.149773 422.087359 z -" style="fill:#0000d1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 115.440655 468.890112 +" style="fill:#000086;"/> + <path clip-path="url(#p8946a7ce10)" d="M 114.180993 472.489534 +L 116.304817 472.456503 L 117.547618 467.820867 -L 118.752571 460.868383 -L 116.658866 462.997165 L 115.440655 468.890112 z -" style="fill:#0000e2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 114.899468 454.10663 -L 116.948983 449.920309 -L 118.109761 440.329633 -L 116.070605 445.684825 -L 114.899468 454.10663 -z -" style="fill:#0000f2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 153.214859 368.571367 +" style="fill:#0000dd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 153.214859 368.571367 L 155.399753 365.728427 L 156.619504 374.219017 L 154.444629 377.270816 -L 153.214859 368.571367 z -" style="fill:#0000a7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 181.191251 405.183656 -L 183.228876 415.931075 -L 184.312307 421.606649 -L 182.280336 411.503171 -L 181.191251 405.183656 +" style="fill:#0000a9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 163.175455 371.314737 +L 165.360374 372.370662 +L 166.505975 382.201774 +L 164.335642 381.123587 z -" style="fill:#000080;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 169.709355 377.558045 -L 171.8661 381.740774 -L 172.963572 391.644765 -L 170.823234 387.474026 -L 169.709355 377.558045 +" style="fill:#000095;"/> + <path clip-path="url(#p8946a7ce10)" d="M 90.37222 426.207288 +L 92.763558 435.707106 +L 94.296677 441.241931 +L 91.933414 432.158832 z -" style="fill:#00008a;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 182.87095 460.309541 +" style="fill:#000084;"/> + <path clip-path="url(#p8946a7ce10)" d="M 182.125632 410.754336 +L 184.149773 422.087359 +L 185.249021 426.59563 +L 183.228876 415.931075 +z +" style="fill:#000082;"/> + <path clip-path="url(#p8946a7ce10)" d="M 182.87095 460.309541 L 184.962412 467.170251 L 186.166911 465.620193 L 184.085617 458.504411 -L 182.87095 460.309541 z -" style="fill:#0000aa;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 112.871294 473.605393 -L 115.01501 474.545161 -L 116.304817 472.456503 -L 114.180993 472.489534 -L 112.871294 473.605393 -z -" style="fill:#0000c4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 163.175455 371.314737 -L 165.360374 372.370662 -L 166.505975 382.201774 -L 164.335642 381.123587 -L 163.175455 371.314737 -z -" style="fill:#000095;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 183.031181 418.118164 -L 185.045302 429.690307 -L 186.161555 432.98423 -L 184.149773 422.087359 -L 183.031181 418.118164 -z -" style="fill:#000085;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 129.282533 385.777627 -L 131.327225 375.478408 -L 132.637475 377.068494 -L 130.590928 387.392981 -L 129.282533 385.777627 +" style="fill:#0000a9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 167.539542 374.442809 +L 169.709355 377.558045 +L 170.823234 387.474026 +L 168.669633 384.31984 z -" style="fill:#0000dc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 90.37222 426.207288 -L 92.763558 435.707106 -L 94.296677 441.241931 -L 91.933414 432.158832 -L 90.37222 426.207288 +" style="fill:#00008d;"/> + <path clip-path="url(#p8946a7ce10)" d="M 183.601452 435.870142 +L 185.621771 446.821083 +L 186.787407 447.299244 +L 184.770434 436.751731 z -" style="fill:#000084;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 183.243003 447.680433 +" style="fill:#000091;"/> + <path clip-path="url(#p8946a7ce10)" d="M 183.243003 447.680433 L 185.288929 457.171638 L 186.479753 456.326205 L 184.440244 446.930998 -L 183.243003 447.680433 z " style="fill:#00009b;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 182.125632 410.754336 -L 184.149773 422.087359 -L 185.249021 426.59563 -L 183.228876 415.931075 -L 182.125632 410.754336 -z -" style="fill:#000082;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 183.601452 435.870142 -L 185.621771 446.821083 -L 186.787407 447.299244 -L 184.770434 436.751731 -L 183.601452 435.870142 -z -" style="fill:#000090;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 167.539542 374.442809 -L 169.709355 377.558045 -L 170.823234 387.474026 -L 168.669633 384.31984 -L 167.539542 374.442809 + <path clip-path="url(#p8946a7ce10)" d="M 133.949233 379.717041 +L 136.032821 370.592878 +L 137.342146 374.159759 +L 135.260451 383.417805 z -" style="fill:#00008e;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 99.71275 454.323802 +" style="fill:#0000d5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 99.71275 454.323802 L 101.965183 459.682835 L 103.428558 464.054346 L 101.212727 459.669019 -L 99.71275 454.323802 -z -" style="fill:#000092;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 115.566436 433.030576 -L 117.552902 424.916685 -L 118.731347 416.064901 -L 116.747131 425.017826 -L 115.566436 433.030576 -z -" style="fill:#0000f8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 118.395462 414.158197 -L 120.360688 403.546613 -L 121.596274 397.940258 -L 119.625806 408.875548 -L 118.395462 414.158197 z -" style="fill:#0000f4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 165.360374 372.370662 +" style="fill:#000095;"/> + <path clip-path="url(#p8946a7ce10)" d="M 165.360374 372.370662 L 167.539542 374.442809 L 168.669633 384.31984 L 166.505975 382.201774 -L 165.360374 372.370662 z " style="fill:#000091;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 122.129612 400.955553 -L 124.113423 389.713059 + <path clip-path="url(#p8946a7ce10)" d="M 115.440655 468.890112 +L 117.547618 467.820867 +L 118.752571 460.868383 +L 116.658866 462.997165 +z +" style="fill:#0000e9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 112.871294 473.605393 +L 115.01501 474.545161 +L 116.304817 472.456503 +L 114.180993 472.489534 +z +" style="fill:#0000cc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 123.401342 398.448351 L 125.391867 387.159474 -L 123.401342 398.448351 -L 122.129612 400.955553 +L 126.68092 385.65441 +L 124.684251 396.949051 z -" style="fill:#0000ed;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 182.532629 470.950565 +" style="fill:#0000ee;"/> + <path clip-path="url(#p8946a7ce10)" d="M 117.179279 420.171568 +L 119.141337 410.03797 +L 120.360688 403.546613 +L 118.395462 414.158197 +z +" style="fill:#0000fc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 114.899468 454.10663 +L 116.948983 449.920309 +L 118.109761 440.329633 +L 116.070605 445.684825 +z +" style="fill:#0000f8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 129.282533 385.777627 +L 131.327225 375.478408 +L 132.637475 377.068494 +L 130.590928 387.392981 +z +" style="fill:#0000e0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 182.532629 470.950565 L 184.689874 474.158441 L 185.893949 472.758057 L 183.750416 468.971987 -L 182.532629 470.950565 z -" style="fill:#0000bd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 184.689874 474.158441 +" style="fill:#0000bc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 94.348533 439.995314 +L 96.675322 447.605886 +L 98.195772 453.241691 +L 95.903518 446.341313 +z +" style="fill:#000089;"/> + <path clip-path="url(#p8946a7ce10)" d="M 184.689874 474.158441 L 186.898438 474.57852 L 188.089983 473.715345 L 185.893949 472.758057 -L 184.689874 474.158441 -z -" style="fill:#0000c9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 115.773389 458.279666 -L 117.845554 455.112478 -L 119.011342 445.63343 -L 116.948983 449.920309 -L 115.773389 458.279666 z -" style="fill:#0000ef;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 116.304817 472.456503 -L 118.430536 472.220262 -L 119.660982 466.674653 -L 117.547618 467.820867 -L 116.304817 472.456503 +" style="fill:#0000c8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 175.03501 384.369127 +L 177.149235 391.71569 +L 178.226102 400.425993 +L 176.126844 393.256625 z -" style="fill:#0000da;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 115.216373 442.666105 -L 117.232134 436.358917 -L 118.393109 426.565718 -L 116.383403 433.907364 -L 115.216373 442.666105 +" style="fill:#000082;"/> + <path clip-path="url(#p8946a7ce10)" d="M 181.646563 462.539284 +L 183.750416 468.971987 +L 184.962412 467.170251 +L 182.87095 460.309541 z -" style="fill:#0000f6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 144.187668 369.321735 +" style="fill:#0000ad;"/> + <path clip-path="url(#p8946a7ce10)" d="M 144.187668 369.321735 L 146.343468 363.652096 L 147.618517 369.913926 L 145.469857 375.978997 -L 144.187668 369.321735 z -" style="fill:#0000ba;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 119.625806 408.875548 -L 121.596274 397.940258 -L 122.847622 393.312773 -L 120.8707 404.447372 -L 119.625806 408.875548 +" style="fill:#0000be;"/> + <path clip-path="url(#p8946a7ce10)" d="M 116.304817 472.456503 +L 118.430536 472.220262 +L 119.660982 466.674653 +L 117.547618 467.820867 z -" style="fill:#0000f2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 120.8707 404.447372 -L 122.847622 393.312773 -L 124.113423 389.713059 -L 122.129612 400.955553 -L 120.8707 404.447372 +" style="fill:#0000e1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 178.151 392.240605 +L 180.228283 401.575455 +L 181.304552 408.949815 +L 179.238829 399.992915 z -" style="fill:#0000f0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 115.01501 474.545161 +" style="fill:#000080;"/> + <path clip-path="url(#p8946a7ce10)" d="M 115.01501 474.545161 L 117.156384 475.172447 L 118.430536 472.220262 L 116.304817 472.456503 -L 115.01501 474.545161 z -" style="fill:#0000cb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 181.646563 462.539284 -L 183.750416 468.971987 -L 184.962412 467.170251 -L 182.87095 460.309541 -L 181.646563 462.539284 +" style="fill:#0000d2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 122.129612 400.955553 +L 124.113423 389.713059 +L 125.391867 387.159474 +L 123.401342 398.448351 z -" style="fill:#0000ad;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 137.342146 374.159759 +" style="fill:#0000f1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 137.342146 374.159759 L 139.456768 366.31578 L 140.758693 370.721904 L 138.648479 378.860152 -L 137.342146 374.159759 z -" style="fill:#0000c9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 116.658866 462.997165 -L 118.752571 460.868383 -L 119.930016 451.945995 +" style="fill:#0000ce;"/> + <path clip-path="url(#p8946a7ce10)" d="M 91.190979 429.328324 +L 93.568091 438.314342 +L 95.111088 444.223997 +L 92.763558 435.707106 +z +" style="fill:#000084;"/> + <path clip-path="url(#p8946a7ce10)" d="M 115.773389 458.279666 L 117.845554 455.112478 -L 116.658866 462.997165 +L 119.011342 445.63343 +L 116.948983 449.920309 z -" style="fill:#0000eb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 94.348533 439.995314 -L 96.675322 447.605886 -L 98.195772 453.241691 -L 95.903518 446.341313 -L 94.348533 439.995314 +" style="fill:#0000f6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 118.395462 414.158197 +L 120.360688 403.546613 +L 121.596274 397.940258 +L 119.625806 408.875548 z -" style="fill:#000087;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 140.758693 370.721904 -L 142.897228 364.053761 -L 144.187668 369.321735 -L 142.055199 376.385003 -L 140.758693 370.721904 +" style="fill:#0000fa;"/> + <path clip-path="url(#p8946a7ce10)" d="M 115.566436 433.030576 +L 117.552902 424.916685 +L 118.731347 416.064901 +L 116.747131 425.017826 z -" style="fill:#0000c2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 175.03501 384.369127 -L 177.149235 391.71569 -L 178.226102 400.425993 -L 176.126844 393.256625 -L 175.03501 384.369127 +" style="fill:#0000fe;"/> + <path clip-path="url(#p8946a7ce10)" d="M 182.030901 449.087858 +L 184.085617 458.504411 +L 185.288929 457.171638 +L 183.243003 447.680433 z -" style="fill:#000083;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 117.547618 467.820867 -L 119.660982 466.674653 -L 120.85728 458.803132 -L 118.752571 460.868383 -L 117.547618 467.820867 +" style="fill:#00009e;"/> + <path clip-path="url(#p8946a7ce10)" d="M 97.426961 447.997573 +L 99.71275 454.323802 +L 101.212727 459.669019 +L 98.962812 454.184907 z -" style="fill:#0000e5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 107.139474 466.909815 +" style="fill:#00008e;"/> + <path clip-path="url(#p8946a7ce10)" d="M 115.216373 442.666105 +L 117.232134 436.358917 +L 118.393109 426.565718 +L 116.383403 433.907364 +z +" style="fill:#0000fd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 107.139474 466.909815 L 109.329165 469.847126 L 110.72137 472.219593 L 108.560755 470.253092 -L 107.139474 466.909815 z -" style="fill:#0000a4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 182.030901 449.087858 -L 184.085617 458.504411 -L 185.288929 457.171638 -L 183.243003 447.680433 -L 182.030901 449.087858 +" style="fill:#0000a9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 140.758693 370.721904 +L 142.897228 364.053761 +L 144.187668 369.321735 +L 142.055199 376.385003 z -" style="fill:#00009e;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 181.31102 473.003575 -L 183.483747 475.485223 -L 184.689874 474.158441 -L 182.532629 470.950565 -L 181.31102 473.003575 +" style="fill:#0000c6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 182.755951 424.918182 +L 184.770434 436.751731 +L 185.921243 438.297085 +L 183.910578 426.953217 z -" style="fill:#0000c1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 109.329165 469.847126 +" style="fill:#00008b;"/> + <path clip-path="url(#p8946a7ce10)" d="M 109.329165 469.847126 L 111.504928 472.170768 L 112.871294 473.605393 L 110.72137 472.219593 -L 109.329165 469.847126 -z -" style="fill:#0000ab;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 178.151 392.240605 -L 180.228283 401.575455 -L 181.304552 408.949815 -L 179.238829 399.992915 -L 178.151 392.240605 z -" style="fill:#000080;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 180.414483 465.113671 -L 182.532629 470.950565 -L 183.750416 468.971987 -L 181.646563 462.539284 -L 180.414483 465.113671 -z -" style="fill:#0000b2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 91.190979 429.328324 -L 93.568091 438.314342 -L 95.111088 444.223997 -L 92.763558 435.707106 -L 91.190979 429.328324 -z -" style="fill:#000084;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 97.426961 447.997573 -L 99.71275 454.323802 -L 101.212727 459.669019 -L 98.962812 454.184907 -L 97.426961 447.997573 +" style="fill:#0000b1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 120.8707 404.447372 +L 122.847622 393.312773 +L 124.113423 389.713059 +L 122.129612 400.955553 z -" style="fill:#00008c;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 117.156384 475.172447 -L 119.29855 475.612393 -L 120.561164 471.926602 -L 118.430536 472.220262 -L 117.156384 475.172447 +" style="fill:#0000f5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 119.625806 408.875548 +L 121.596274 397.940258 +L 122.847622 393.312773 +L 120.8707 404.447372 z -" style="fill:#0000d0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 104.931552 463.264705 +" style="fill:#0000f8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 104.931552 463.264705 L 107.139474 466.909815 L 108.560755 470.253092 L 106.384542 467.578314 -L 104.931552 463.264705 z -" style="fill:#00009c;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 111.504928 472.170768 +" style="fill:#0000a1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 116.658866 462.997165 +L 118.752571 460.868383 +L 119.930016 451.945995 +L 117.845554 455.112478 +z +" style="fill:#0000f1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 181.31102 473.003575 +L 183.483747 475.485223 +L 184.689874 474.158441 +L 182.532629 470.950565 +z +" style="fill:#0000bf;"/> + <path clip-path="url(#p8946a7ce10)" d="M 180.414483 465.113671 +L 182.532629 470.950565 +L 183.750416 468.971987 +L 181.646563 462.539284 +z +" style="fill:#0000b0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 155.399753 365.728427 +L 157.59229 363.946083 +L 158.80179 372.223149 +L 156.619504 374.219017 +z +" style="fill:#0000a6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 111.504928 472.170768 L 113.670856 473.985173 L 115.01501 474.545161 L 112.871294 473.605393 -L 111.504928 472.170768 z -" style="fill:#0000b3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 183.483747 475.485223 +" style="fill:#0000b9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 182.414132 435.734323 +L 184.440244 446.930998 +L 185.621771 446.821083 +L 183.601452 435.870142 +z +" style="fill:#000093;"/> + <path clip-path="url(#p8946a7ce10)" d="M 117.547618 467.820867 +L 119.660982 466.674653 +L 120.85728 458.803132 +L 118.752571 460.868383 +z +" style="fill:#0000ec;"/> + <path clip-path="url(#p8946a7ce10)" d="M 117.156384 475.172447 +L 119.29855 475.612393 +L 120.561164 471.926602 +L 118.430536 472.220262 +z +" style="fill:#0000d6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 183.483747 475.485223 L 185.706704 475.236182 L 186.898438 474.57852 L 184.689874 474.158441 -L 183.483747 475.485223 z " style="fill:#0000cb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 155.399753 365.728427 -L 157.59229 363.946083 -L 158.80179 372.223149 -L 156.619504 374.219017 -L 155.399753 365.728427 + <path clip-path="url(#p8946a7ce10)" d="M 102.70115 458.836126 +L 104.931552 463.264705 +L 106.384542 467.578314 +L 104.187657 464.08368 z -" style="fill:#0000a4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 118.430536 472.220262 +" style="fill:#000099;"/> + <path clip-path="url(#p8946a7ce10)" d="M 118.430536 472.220262 L 120.561164 471.926602 L 121.783509 465.615058 L 119.660982 466.674653 -L 118.430536 472.220262 z -" style="fill:#0000de;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 182.755951 424.918182 -L 184.770434 436.751731 -L 185.921243 438.297085 +" style="fill:#0000e4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 149.785917 365.108209 +L 151.968017 361.566776 +L 153.214859 368.571367 +L 151.041015 372.538273 +z +" style="fill:#0000b3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 113.670856 473.985173 +L 115.83063 475.397398 +L 117.156384 475.172447 +L 115.01501 474.545161 +z +" style="fill:#0000bf;"/> + <path clip-path="url(#p8946a7ce10)" d="M 180.805366 451.138695 +L 182.87095 460.309541 +L 184.085617 458.504411 +L 182.030901 449.087858 +z +" style="fill:#0000a1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 179.177005 467.92182 +L 181.31102 473.003575 +L 182.532629 470.950565 +L 180.414483 465.113671 +z +" style="fill:#0000b5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 179.128668 394.857176 +L 181.191251 405.183656 +L 182.280336 411.503171 +L 180.228283 401.575455 +z +" style="fill:#000080;"/> + <path clip-path="url(#p8946a7ce10)" d="M 172.897536 378.111214 +L 175.03501 384.369127 +L 176.126844 393.256625 +L 174.006239 386.990012 +z +" style="fill:#000085;"/> + <path clip-path="url(#p8946a7ce10)" d="M 181.891364 414.863332 L 183.910578 426.953217 -L 182.755951 424.918182 +L 185.045302 429.690307 +L 183.031181 418.118164 z -" style="fill:#00008a;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 116.070605 445.684825 +" style="fill:#000086;"/> + <path clip-path="url(#p8946a7ce10)" d="M 180.087681 475.004245 +L 182.277262 476.627295 +L 183.483747 475.485223 +L 181.31102 473.003575 +z +" style="fill:#0000c3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 127.978499 385.195104 +L 130.020302 374.927695 +L 131.327225 375.478408 +L 129.282533 385.777627 +z +" style="fill:#0000e5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 116.070605 445.684825 L 118.109761 440.329633 L 119.265738 429.973457 L 117.232134 436.358917 -L 116.070605 445.684825 z -" style="fill:#0000f5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 116.747131 425.017826 +" style="fill:#0000fc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 87.943381 416.019252 +L 90.37222 426.207288 +L 91.933414 432.158832 +L 89.525429 422.112908 +z +" style="fill:#000081;"/> + <path clip-path="url(#p8946a7ce10)" d="M 115.83063 475.397398 +L 117.987384 476.510171 +L 119.29855 475.612393 +L 117.156384 475.172447 +z +" style="fill:#0000c5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 116.747131 425.017826 L 118.731347 416.064901 L 119.923504 407.677732 L 117.937527 417.264847 -L 116.747131 425.017826 z -" style="fill:#0000f8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 127.978499 385.195104 -L 130.020302 374.927695 -L 131.327225 375.478408 -L 129.282533 385.777627 -L 127.978499 385.195104 +" style="fill:#0000fe;"/> + <path clip-path="url(#p8946a7ce10)" d="M 132.637475 377.068494 +L 134.722559 368.150858 +L 136.032821 370.592878 +L 133.949233 379.717041 z -" style="fill:#0000e0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 182.414132 435.734323 -L 184.440244 446.930998 -L 185.621771 446.821083 -L 183.601452 435.870142 -L 182.414132 435.734323 +" style="fill:#0000da;"/> + <path clip-path="url(#p8946a7ce10)" d="M 100.444396 453.575148 +L 102.70115 458.836126 +L 104.187657 464.08368 +L 101.965183 459.682835 z " style="fill:#000092;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 113.670856 473.985173 -L 115.83063 475.397398 -L 117.156384 475.172447 -L 115.01501 474.545161 -L 113.670856 473.985173 + <path clip-path="url(#p8946a7ce10)" d="M 119.29855 475.612393 +L 121.443857 475.97557 +L 122.698778 471.702348 +L 120.561164 471.926602 z -" style="fill:#0000b9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 149.785917 365.108209 -L 151.968017 361.566776 -L 153.214859 368.571367 -L 151.041015 372.538273 -L 149.785917 365.108209 +" style="fill:#0000d9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 91.982972 431.481187 +L 94.348533 439.995314 +L 95.903518 446.341313 +L 93.568091 438.314342 z -" style="fill:#0000af;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 102.70115 458.836126 -L 104.931552 463.264705 -L 106.384542 467.578314 -L 104.187657 464.08368 -L 102.70115 458.836126 +" style="fill:#000084;"/> + <path clip-path="url(#p8946a7ce10)" d="M 95.105845 440.745599 +L 97.426961 447.997573 +L 98.962812 454.184907 +L 96.675322 447.605886 z -" style="fill:#000096;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 179.177005 467.92182 +" style="fill:#000088;"/> + <path clip-path="url(#p8946a7ce10)" d="M 177.936563 470.82439 +L 180.087681 475.004245 L 181.31102 473.003575 -L 182.532629 470.950565 -L 180.414483 465.113671 L 179.177005 467.92182 z -" style="fill:#0000b7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 180.805366 451.138695 +" style="fill:#0000b9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 179.568303 453.785042 +L 181.646563 462.539284 L 182.87095 460.309541 -L 184.085617 458.504411 -L 182.030901 449.087858 L 180.805366 451.138695 z -" style="fill:#0000a1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 180.087681 475.004245 -L 182.277262 476.627295 -L 183.483747 475.485223 -L 181.31102 473.003575 -L 180.087681 475.004245 +" style="fill:#0000a4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 157.59229 363.946083 +L 159.789411 363.14171 +L 160.98818 371.262725 +L 158.80179 372.223149 z -" style="fill:#0000c5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 132.637475 377.068494 -L 134.722559 368.150858 -L 136.032821 370.592878 -L 133.949233 379.717041 -L 132.637475 377.068494 +" style="fill:#0000a3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 181.000124 406.289275 +L 183.031181 418.118164 +L 184.149773 422.087359 +L 182.125632 410.754336 z -" style="fill:#0000d5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 119.29855 475.612393 -L 121.443857 475.97557 -L 122.698778 471.702348 -L 120.561164 471.926602 -L 119.29855 475.612393 +" style="fill:#000083;"/> + <path clip-path="url(#p8946a7ce10)" d="M 180.079131 399.560509 +L 182.125632 410.754336 +L 183.228876 415.931075 +L 181.191251 405.183656 z -" style="fill:#0000d3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 116.383403 433.907364 -L 118.393109 426.565718 -L 119.561279 416.735907 -L 117.552902 424.916685 -L 116.383403 433.907364 +" style="fill:#000081;"/> + <path clip-path="url(#p8946a7ce10)" d="M 182.277262 476.627295 +L 184.516041 475.59489 +L 185.706704 475.236182 +L 183.483747 475.485223 z -" style="fill:#0000f8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 116.948983 449.920309 +" style="fill:#0000cd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 181.209035 436.393607 +L 183.243003 447.680433 +L 184.440244 446.930998 +L 182.414132 435.734323 +z +" style="fill:#000095;"/> + <path clip-path="url(#p8946a7ce10)" d="M 116.948983 449.920309 L 119.011342 445.63343 L 120.16689 435.0314 L 118.109761 440.329633 -L 116.948983 449.920309 z -" style="fill:#0000f3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 115.83063 475.397398 -L 117.987384 476.510171 -L 119.29855 475.612393 -L 117.156384 475.172447 -L 115.83063 475.397398 +" style="fill:#0000fa;"/> + <path clip-path="url(#p8946a7ce10)" d="M 120.561164 471.926602 +L 122.698778 471.702348 +L 123.916896 464.782112 +L 121.783509 465.615058 z -" style="fill:#0000bf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 119.660982 466.674653 +" style="fill:#0000e5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 119.660982 466.674653 L 121.783509 465.615058 L 122.975374 456.978636 L 120.85728 458.803132 -L 119.660982 466.674653 z -" style="fill:#0000e7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 177.936563 470.82439 -L 180.087681 475.004245 -L 181.31102 473.003575 -L 179.177005 467.92182 -L 177.936563 470.82439 +" style="fill:#0000ed;"/> + <path clip-path="url(#p8946a7ce10)" d="M 116.383403 433.907364 +L 118.393109 426.565718 +L 119.561279 416.735907 +L 117.552902 424.916685 z -" style="fill:#0000bc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 117.845554 455.112478 -L 119.930016 451.945995 -L 121.090828 441.500519 -L 119.011342 445.63343 -L 117.845554 455.112478 +" style="fill:#0000ff;"/> + <path clip-path="url(#p8946a7ce10)" d="M 176.046207 383.837038 +L 178.151 392.240605 +L 179.238829 399.992915 +L 177.149235 391.71569 z -" style="fill:#0000f1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 172.897536 378.111214 -L 175.03501 384.369127 -L 176.126844 393.256625 -L 174.006239 386.990012 -L 172.897536 378.111214 +" style="fill:#000082;"/> + <path clip-path="url(#p8946a7ce10)" d="M 117.987384 476.510171 +L 120.143626 477.415863 +L 121.443857 475.97557 +L 119.29855 475.612393 z -" style="fill:#000086;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 118.752571 460.868383 +" style="fill:#0000c9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 118.752571 460.868383 L 120.85728 458.803132 L 122.030014 448.995158 L 119.930016 451.945995 -L 118.752571 460.868383 -z -" style="fill:#0000ec;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 120.561164 471.926602 -L 122.698778 471.702348 -L 123.916896 464.782112 -L 121.783509 465.615058 -L 120.561164 471.926602 -z -" style="fill:#0000e0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 179.128668 394.857176 -L 181.191251 405.183656 -L 182.280336 411.503171 -L 180.228283 401.575455 -L 179.128668 394.857176 z -" style="fill:#000081;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 181.891364 414.863332 -L 183.910578 426.953217 -L 185.045302 429.690307 -L 183.031181 418.118164 -L 181.891364 414.863332 -z -" style="fill:#000086;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 182.277262 476.627295 -L 184.516041 475.59489 -L 185.706704 475.236182 -L 183.483747 475.485223 -L 182.277262 476.627295 +" style="fill:#0000f3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 117.845554 455.112478 +L 119.930016 451.945995 +L 121.090828 441.500519 +L 119.011342 445.63343 z -" style="fill:#0000ce;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 179.568303 453.785042 +" style="fill:#0000f7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 178.321993 456.945358 +L 180.414483 465.113671 L 181.646563 462.539284 -L 182.87095 460.309541 -L 180.805366 451.138695 L 179.568303 453.785042 z -" style="fill:#0000a5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 100.444396 453.575148 -L 102.70115 458.836126 -L 104.187657 464.08368 -L 101.965183 459.682835 -L 100.444396 453.575148 -z -" style="fill:#000090;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 157.59229 363.946083 -L 159.789411 363.14171 -L 160.98818 371.262725 -L 158.80179 372.223149 -L 157.59229 363.946083 -z -" style="fill:#0000a1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 87.943381 416.019252 -L 90.37222 426.207288 -L 91.933414 432.158832 -L 89.525429 422.112908 -L 87.943381 416.019252 -z -" style="fill:#000082;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 117.987384 476.510171 -L 120.143626 477.415863 -L 121.443857 475.97557 -L 119.29855 475.612393 -L 117.987384 476.510171 -z -" style="fill:#0000c3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 91.982972 431.481187 -L 94.348533 439.995314 -L 95.903518 446.341313 -L 93.568091 438.314342 -L 91.982972 431.481187 -z -" style="fill:#000084;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 95.105845 440.745599 -L 97.426961 447.997573 -L 98.962812 454.184907 -L 96.675322 447.605886 -L 95.105845 440.745599 -z -" style="fill:#000087;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 117.937527 417.264847 -L 119.923504 407.677732 -L 121.132322 400.017918 -L 119.141337 410.03797 -L 117.937527 417.264847 -z -" style="fill:#0000f7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 121.443857 475.97557 -L 123.593881 476.353008 -L 124.844566 471.65065 -L 122.698778 471.702348 -L 121.443857 475.97557 +" style="fill:#0000a8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 181.580953 423.692495 +L 183.601452 435.870142 +L 184.770434 436.751731 +L 182.755951 424.918182 z -" style="fill:#0000d6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 178.864683 476.805989 +" style="fill:#00008c;"/> + <path clip-path="url(#p8946a7ce10)" d="M 178.864683 476.805989 L 181.072082 477.458251 L 182.277262 476.627295 L 180.087681 475.004245 -L 178.864683 476.805989 z -" style="fill:#0000c9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 176.695577 473.657511 +" style="fill:#0000c7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 176.695577 473.657511 L 178.864683 476.805989 L 180.087681 475.004245 L 177.936563 470.82439 -L 176.695577 473.657511 z -" style="fill:#0000c1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 181.209035 436.393607 -L 183.243003 447.680433 -L 184.440244 446.930998 -L 182.414132 435.734323 -L 181.209035 436.393607 +" style="fill:#0000be;"/> + <path clip-path="url(#p8946a7ce10)" d="M 121.443857 475.97557 +L 123.593881 476.353008 +L 124.844566 471.65065 +L 122.698778 471.702348 z -" style="fill:#000095;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 126.68092 385.65441 -L 128.718463 375.3947 -L 130.020302 374.927695 -L 127.978499 385.195104 -L 126.68092 385.65441 +" style="fill:#0000db;"/> + <path clip-path="url(#p8946a7ce10)" d="M 146.343468 363.652096 +L 148.518212 359.449966 +L 149.785917 365.108209 +L 147.618517 369.913926 z -" style="fill:#0000e4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 178.321993 456.945358 +" style="fill:#0000bb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 170.739816 373.007052 +L 172.897536 378.111214 +L 174.006239 386.990012 +L 171.8661 381.740774 +z +" style="fill:#000089;"/> + <path clip-path="url(#p8946a7ce10)" d="M 88.776732 419.623995 +L 91.190979 429.328324 +L 92.763558 435.707106 +L 90.37222 426.207288 +z +" style="fill:#000081;"/> + <path clip-path="url(#p8946a7ce10)" d="M 177.068986 460.504578 +L 179.177005 467.92182 L 180.414483 465.113671 -L 181.646563 462.539284 -L 179.568303 453.785042 L 178.321993 456.945358 z -" style="fill:#0000aa;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 181.000124 406.289275 -L 183.031181 418.118164 -L 184.149773 422.087359 -L 182.125632 410.754336 -L 181.000124 406.289275 +" style="fill:#0000ad;"/> + <path clip-path="url(#p8946a7ce10)" d="M 98.15816 447.467607 +L 100.444396 453.575148 +L 101.965183 459.682835 +L 99.71275 454.323802 z -" style="fill:#000083;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 146.343468 363.652096 -L 148.518212 359.449966 -L 149.785917 365.108209 -L 147.618517 369.913926 -L 146.343468 363.652096 +" style="fill:#00008c;"/> + <path clip-path="url(#p8946a7ce10)" d="M 159.789411 363.14171 +L 161.988315 363.248416 +L 163.175455 371.314737 +L 160.98818 371.262725 z -" style="fill:#0000b7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 180.079131 399.560509 -L 182.125632 410.754336 -L 183.228876 415.931075 -L 181.191251 405.183656 -L 180.079131 399.560509 +" style="fill:#00009f;"/> + <path clip-path="url(#p8946a7ce10)" d="M 120.143626 477.415863 +L 122.301222 478.191506 +L 123.593881 476.353008 +L 121.443857 475.97557 z -" style="fill:#000081;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 136.032821 370.592878 +" style="fill:#0000cc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 126.68092 385.65441 +L 128.718463 375.3947 +L 130.020302 374.927695 +L 127.978499 385.195104 +z +" style="fill:#0000e9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 136.032821 370.592878 L 138.151808 363.173279 L 139.456768 366.31578 L 137.342146 374.159759 -L 136.032821 370.592878 z -" style="fill:#0000cd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 176.046207 383.837038 -L 178.151 392.240605 -L 179.238829 399.992915 -L 177.149235 391.71569 -L 176.046207 383.837038 +" style="fill:#0000d3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 117.937527 417.264847 +L 119.923504 407.677732 +L 121.132322 400.017918 +L 119.141337 410.03797 z -" style="fill:#000083;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 181.580953 423.692495 -L 183.601452 435.870142 -L 184.770434 436.751731 -L 182.755951 424.918182 -L 181.580953 423.692495 +" style="fill:#0000fe;"/> + <path clip-path="url(#p8946a7ce10)" d="M 110.077806 468.24898 +L 112.267413 470.810483 +L 113.670856 473.985173 +L 111.504928 472.170768 z -" style="fill:#00008c;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 120.143626 477.415863 -L 122.301222 478.191506 -L 123.593881 476.353008 -L 121.443857 475.97557 -L 120.143626 477.415863 +" style="fill:#0000a7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 151.968017 361.566776 +L 154.160904 359.196675 +L 155.399753 365.728427 +L 153.214859 368.571367 z -" style="fill:#0000c7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 122.698778 471.702348 -L 124.844566 471.65065 -L 126.061851 464.288158 -L 123.916896 464.782112 -L 122.698778 471.702348 +" style="fill:#0000b0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 107.875438 465.137533 +L 110.077806 468.24898 +L 111.504928 472.170768 +L 109.329165 469.847126 z -" style="fill:#0000e1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 177.068986 460.504578 +" style="fill:#0000a1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 175.811978 464.315284 +L 177.936563 470.82439 L 179.177005 467.92182 -L 180.414483 465.113671 -L 178.321993 456.945358 L 177.068986 460.504578 z -" style="fill:#0000af;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 170.739816 373.007052 -L 172.897536 378.111214 -L 174.006239 386.990012 -L 171.8661 381.740774 -L 170.739816 373.007052 -z -" style="fill:#00008a;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 117.232134 436.358917 -L 119.265738 429.973457 -L 120.425908 419.335317 -L 118.393109 426.565718 -L 117.232134 436.358917 -z -" style="fill:#0000f8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 175.456298 476.238436 +" style="fill:#0000b2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 175.456298 476.238436 L 177.64392 478.248411 L 178.864683 476.805989 L 176.695577 473.657511 -L 175.456298 476.238436 z -" style="fill:#0000c6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 121.783509 465.615058 +" style="fill:#0000c3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 122.698778 471.702348 +L 124.844566 471.65065 +L 126.061851 464.288158 L 123.916896 464.782112 -L 125.108059 455.543668 -L 122.975374 456.978636 -L 121.783509 465.615058 z -" style="fill:#0000e8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 159.789411 363.14171 -L 161.988315 363.248416 -L 163.175455 371.314737 -L 160.98818 371.262725 -L 159.789411 363.14171 +" style="fill:#0000e6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 179.987334 437.865938 +L 182.030901 449.087858 +L 183.243003 447.680433 +L 181.209035 436.393607 z -" style="fill:#00009e;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 123.593881 476.353008 +" style="fill:#000098;"/> + <path clip-path="url(#p8946a7ce10)" d="M 112.267413 470.810483 +L 114.447634 472.902043 +L 115.83063 475.397398 +L 113.670856 473.985173 +z +" style="fill:#0000ad;"/> + <path clip-path="url(#p8946a7ce10)" d="M 105.656724 461.402065 +L 107.875438 465.137533 +L 109.329165 469.847126 +L 107.139474 466.909815 +z +" style="fill:#00009b;"/> + <path clip-path="url(#p8946a7ce10)" d="M 123.593881 476.353008 L 125.749478 476.812422 L 126.998907 471.84757 L 124.844566 471.65065 -L 123.593881 476.353008 z -" style="fill:#0000d7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 175.811978 464.315284 +" style="fill:#0000dc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 142.897228 364.053761 +L 145.059938 359.056781 +L 146.343468 363.652096 +L 144.187668 369.321735 +z +" style="fill:#0000c4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 174.553668 468.200532 +L 176.695577 473.657511 L 177.936563 470.82439 -L 179.177005 467.92182 -L 177.068986 460.504578 L 175.811978 464.315284 z -" style="fill:#0000b4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 151.968017 361.566776 -L 154.160904 359.196675 -L 155.399753 365.728427 -L 153.214859 368.571367 -L 151.968017 361.566776 -z -" style="fill:#0000ad;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 88.776732 419.623995 -L 91.190979 429.328324 -L 92.763558 435.707106 -L 90.37222 426.207288 -L 88.776732 419.623995 -z -" style="fill:#000082;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 98.15816 447.467607 -L 100.444396 453.575148 -L 101.965183 459.682835 -L 99.71275 454.323802 -L 98.15816 447.467607 -z -" style="fill:#00008b;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 110.077806 468.24898 -L 112.267413 470.810483 -L 113.670856 473.985173 -L 111.504928 472.170768 -L 110.077806 468.24898 +" style="fill:#0000b7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 168.565835 369.042358 +L 170.739816 373.007052 +L 171.8661 381.740774 +L 169.709355 377.558045 z -" style="fill:#0000a3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 181.072082 477.458251 +" style="fill:#00008d;"/> + <path clip-path="url(#p8946a7ce10)" d="M 181.072082 477.458251 L 183.327659 475.550239 L 184.516041 475.59489 L 182.277262 476.627295 -L 181.072082 477.458251 -z -" style="fill:#0000d1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 142.897228 364.053761 -L 145.059938 359.056781 -L 146.343468 363.652096 -L 144.187668 369.321735 -L 142.897228 364.053761 -z -" style="fill:#0000be;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 107.875438 465.137533 -L 110.077806 468.24898 -L 111.504928 472.170768 -L 109.329165 469.847126 -L 107.875438 465.137533 z -" style="fill:#00009d;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 112.267413 470.810483 -L 114.447634 472.902043 +" style="fill:#0000cf;"/> + <path clip-path="url(#p8946a7ce10)" d="M 114.447634 472.902043 +L 116.621483 474.60309 +L 117.987384 476.510171 L 115.83063 475.397398 -L 113.670856 473.985173 -L 112.267413 470.810483 z -" style="fill:#0000a9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 139.456768 366.31578 +" style="fill:#0000b2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 139.456768 366.31578 L 141.601449 360.250876 L 142.897228 364.053761 L 140.758693 370.721904 -L 139.456768 366.31578 -z -" style="fill:#0000c6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 174.553668 468.200532 -L 176.695577 473.657511 -L 177.936563 470.82439 -L 175.811978 464.315284 -L 174.553668 468.200532 z -" style="fill:#0000ba;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 119.141337 410.03797 -L 121.132322 400.017918 -L 122.359004 393.274641 -L 120.360688 403.546613 -L 119.141337 410.03797 +" style="fill:#0000cb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 161.988315 363.248416 +L 164.186192 364.241688 +L 165.360374 372.370662 +L 163.175455 371.314737 z -" style="fill:#0000f6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 117.552902 424.916685 -L 119.561279 416.735907 -L 120.742687 407.265252 -L 118.731347 416.064901 -L 117.552902 424.916685 +" style="fill:#00009b;"/> + <path clip-path="url(#p8946a7ce10)" d="M 121.783509 465.615058 +L 123.916896 464.782112 +L 125.108059 455.543668 +L 122.975374 456.978636 z -" style="fill:#0000f9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 177.64392 478.248411 +" style="fill:#0000ed;"/> + <path clip-path="url(#p8946a7ce10)" d="M 177.64392 478.248411 L 179.869688 477.842463 L 181.072082 477.458251 L 178.864683 476.805989 -L 177.64392 478.248411 z -" style="fill:#0000cd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 122.301222 478.191506 +" style="fill:#0000ca;"/> + <path clip-path="url(#p8946a7ce10)" d="M 122.301222 478.191506 L 124.461427 478.894898 L 125.749478 476.812422 L 123.593881 476.353008 -L 122.301222 478.191506 z -" style="fill:#0000c9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 179.987334 437.865938 -L 182.030901 449.087858 -L 183.243003 447.680433 -L 181.209035 436.393607 -L 179.987334 437.865938 +" style="fill:#0000cd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 92.749309 432.665571 +L 95.105845 440.745599 +L 96.675322 447.605886 +L 94.348533 439.995314 z -" style="fill:#000098;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 131.327225 375.478408 +" style="fill:#000084;"/> + <path clip-path="url(#p8946a7ce10)" d="M 117.232134 436.358917 +L 119.265738 429.973457 +L 120.425908 419.335317 +L 118.393109 426.565718 +z +" style="fill:#0000fe;"/> + <path clip-path="url(#p8946a7ce10)" d="M 173.296601 471.958785 +L 175.456298 476.238436 +L 176.695577 473.657511 +L 174.553668 468.200532 +z +" style="fill:#0000bc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 166.379915 366.149471 +L 168.565835 369.042358 +L 169.709355 377.558045 +L 167.539542 374.442809 +z +" style="fill:#000092;"/> + <path clip-path="url(#p8946a7ce10)" d="M 103.418078 456.981485 +L 105.656724 461.402065 +L 107.139474 466.909815 +L 104.931552 463.264705 +z +" style="fill:#000095;"/> + <path clip-path="url(#p8946a7ce10)" d="M 164.186192 364.241688 +L 166.379915 366.149471 +L 167.539542 374.442809 +L 165.360374 372.370662 +z +" style="fill:#000097;"/> + <path clip-path="url(#p8946a7ce10)" d="M 131.327225 375.478408 L 133.412954 366.771703 L 134.722559 368.150858 L 132.637475 377.068494 -L 131.327225 375.478408 -z -" style="fill:#0000d9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 120.85728 458.803132 -L 122.975374 456.978636 -L 124.147414 446.445063 -L 122.030014 448.995158 -L 120.85728 458.803132 z -" style="fill:#0000ed;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 125.391867 387.159474 -L 127.423594 376.872278 -L 128.718463 375.3947 -L 126.68092 385.65441 -L 125.391867 387.159474 +" style="fill:#0000de;"/> + <path clip-path="url(#p8946a7ce10)" d="M 180.729588 412.45205 +L 182.755951 424.918182 +L 183.910578 426.953217 +L 181.891364 414.863332 z -" style="fill:#0000e8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 114.447634 472.902043 -L 116.621483 474.60309 +" style="fill:#000088;"/> + <path clip-path="url(#p8946a7ce10)" d="M 116.621483 474.60309 +L 118.791514 475.986735 +L 120.143626 477.415863 L 117.987384 476.510171 -L 115.83063 475.397398 -L 114.447634 472.902043 -z -" style="fill:#0000ae;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 105.656724 461.402065 -L 107.875438 465.137533 -L 109.329165 469.847126 -L 107.139474 466.909815 -L 105.656724 461.402065 z -" style="fill:#000097;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 173.296601 471.958785 -L 175.456298 476.238436 -L 176.695577 473.657511 -L 174.553668 468.200532 -L 173.296601 471.958785 +" style="fill:#0000b6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 177.03673 385.393838 +L 179.128668 394.857176 +L 180.228283 401.575455 +L 178.151 392.240605 z -" style="fill:#0000bf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 168.565835 369.042358 -L 170.739816 373.007052 -L 171.8661 381.740774 -L 169.709355 377.558045 -L 168.565835 369.042358 +" style="fill:#000082;"/> + <path clip-path="url(#p8946a7ce10)" d="M 89.581826 422.258307 +L 91.982972 431.481187 +L 93.568091 438.314342 +L 91.190979 429.328324 z -" style="fill:#00008f;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 124.844566 471.65065 -L 126.998907 471.84757 -L 128.218212 464.215178 -L 126.061851 464.288158 -L 124.844566 471.65065 +" style="fill:#000081;"/> + <path clip-path="url(#p8946a7ce10)" d="M 174.220656 478.372966 +L 176.426961 479.164725 +L 177.64392 478.248411 +L 175.456298 476.238436 z -" style="fill:#0000e1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 161.988315 363.248416 -L 164.186192 364.241688 -L 165.360374 372.370662 -L 163.175455 371.314737 -L 161.988315 363.248416 +" style="fill:#0000c7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 178.750708 440.13828 +L 180.805366 451.138695 +L 182.030901 449.087858 +L 179.987334 437.865938 z " style="fill:#00009b;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 118.109761 440.329633 -L 120.16689 435.0314 -L 121.322244 423.824325 -L 119.265738 429.973457 -L 118.109761 440.329633 + <path clip-path="url(#p8946a7ce10)" d="M 125.391867 387.159474 +L 127.423594 376.872278 +L 128.718463 375.3947 +L 126.68092 385.65441 z -" style="fill:#0000f6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 125.749478 476.812422 +" style="fill:#0000ed;"/> + <path clip-path="url(#p8946a7ce10)" d="M 125.749478 476.812422 L 127.910886 477.395582 L 129.161504 472.339826 L 126.998907 471.84757 -L 125.749478 476.812422 -z -" style="fill:#0000d7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 174.220656 478.372966 -L 176.426961 479.164725 -L 177.64392 478.248411 -L 175.456298 476.238436 -L 174.220656 478.372966 z -" style="fill:#0000ca;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 116.621483 474.60309 -L 118.791514 475.986735 -L 120.143626 477.415863 -L 117.987384 476.510171 -L 116.621483 474.60309 +" style="fill:#0000db;"/> + <path clip-path="url(#p8946a7ce10)" d="M 119.141337 410.03797 +L 121.132322 400.017918 +L 122.359004 393.274641 +L 120.360688 403.546613 z -" style="fill:#0000b2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 119.930016 451.945995 +" style="fill:#0000fc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 120.85728 458.803132 +L 122.975374 456.978636 +L 124.147414 446.445063 L 122.030014 448.995158 -L 123.190142 437.744552 -L 121.090828 441.500519 -L 119.930016 451.945995 z -" style="fill:#0000f1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 172.043005 475.371119 +" style="fill:#0000f3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 172.043005 475.371119 L 174.220656 478.372966 L 175.456298 476.238436 L 173.296601 471.958785 -L 172.043005 475.371119 -z -" style="fill:#0000c5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 119.011342 445.63343 -L 121.090828 441.500519 -L 122.245742 430.05546 -L 120.16689 435.0314 -L 119.011342 445.63343 z -" style="fill:#0000f4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 166.379915 366.149471 -L 168.565835 369.042358 -L 169.709355 377.558045 -L 167.539542 374.442809 -L 166.379915 366.149471 +" style="fill:#0000c1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 124.844566 471.65065 +L 126.998907 471.84757 +L 128.218212 464.215178 +L 126.061851 464.288158 z -" style="fill:#000093;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 164.186192 364.241688 -L 166.379915 366.149471 -L 167.539542 374.442809 -L 165.360374 372.370662 -L 164.186192 364.241688 +" style="fill:#0000e5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 117.552902 424.916685 +L 119.561279 416.735907 +L 120.742687 407.265252 +L 118.731347 416.064901 z -" style="fill:#000097;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 92.749309 432.665571 -L 95.105845 440.745599 -L 96.675322 447.605886 -L 94.348533 439.995314 -L 92.749309 432.665571 +" style="fill:#0000ff;"/> + <path clip-path="url(#p8946a7ce10)" d="M 180.385922 423.349035 +L 182.414132 435.734323 +L 183.601452 435.870142 +L 181.580953 423.692495 z -" style="fill:#000084;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 103.418078 456.981485 -L 105.656724 461.402065 -L 107.139474 466.909815 -L 104.931552 463.264705 -L 103.418078 456.981485 +" style="fill:#00008f;"/> + <path clip-path="url(#p8946a7ce10)" d="M 95.840459 440.541384 +L 98.15816 447.467607 +L 99.71275 454.323802 +L 97.426961 447.997573 z -" style="fill:#000092;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 124.461427 478.894898 +" style="fill:#000087;"/> + <path clip-path="url(#p8946a7ce10)" d="M 173.91433 376.599677 +L 176.046207 383.837038 +L 177.149235 391.71569 +L 175.03501 384.369127 +z +" style="fill:#000085;"/> + <path clip-path="url(#p8946a7ce10)" d="M 124.461427 478.894898 L 126.624955 479.561829 L 127.910886 477.395582 L 125.749478 476.812422 -L 124.461427 478.894898 -z -" style="fill:#0000cb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 120.360688 403.546613 -L 122.359004 393.274641 -L 123.603238 387.562225 -L 121.596274 397.940258 -L 120.360688 403.546613 -z -" style="fill:#0000f4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 124.113423 389.713059 -L 126.137835 379.374196 -L 127.423594 376.872278 -L 125.391867 387.159474 -L 124.113423 389.713059 -z -" style="fill:#0000ec;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 150.616216 410.84226 -L 152.80852 399.220566 -L 154.077413 393.296151 -L 151.878809 397.630823 -L 150.616216 410.84226 -z -" style="fill:#0000ff;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 178.750708 440.13828 -L 180.805366 451.138695 -L 182.030901 449.087858 -L 179.987334 437.865938 -L 178.750708 440.13828 -z -" style="fill:#00009c;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 123.916896 464.782112 -L 126.061851 464.288158 -L 127.255482 454.615499 -L 125.108059 455.543668 -L 123.916896 464.782112 -z -" style="fill:#0000e7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 180.729588 412.45205 -L 182.755951 424.918182 -L 183.910578 426.953217 -L 181.891364 414.863332 -L 180.729588 412.45205 z -" style="fill:#000088;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 118.791514 475.986735 +" style="fill:#0000ce;"/> + <path clip-path="url(#p8946a7ce10)" d="M 118.791514 475.986735 L 120.959783 477.114936 L 122.301222 478.191506 L 120.143626 477.415863 -L 118.791514 475.986735 z -" style="fill:#0000b6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 127.910886 477.395582 -L 130.077853 478.116746 -L 131.33153 473.143489 -L 129.161504 472.339826 -L 127.910886 477.395582 -z -" style="fill:#0000d7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 148.427889 398.056021 +" style="fill:#0000ba;"/> + <path clip-path="url(#p8946a7ce10)" d="M 148.427889 398.056021 L 150.616216 410.84226 L 151.878809 397.630823 L 149.690475 392.141296 -L 148.427889 398.056021 z -" style="fill:#0000a4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 180.385922 423.349035 -L 182.414132 435.734323 -L 183.601452 435.870142 -L 181.580953 423.692495 -L 180.385922 423.349035 +" style="fill:#0000bb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 118.109761 440.329633 +L 120.16689 435.0314 +L 121.322244 423.824325 +L 119.265738 429.973457 z -" style="fill:#00008e;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 177.03673 385.393838 -L 179.128668 394.857176 -L 180.228283 401.575455 -L 178.151 392.240605 -L 177.03673 385.393838 +" style="fill:#0000fc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 119.930016 451.945995 +L 122.030014 448.995158 +L 123.190142 437.744552 +L 121.090828 441.500519 z -" style="fill:#000083;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 89.581826 422.258307 -L 91.982972 431.481187 -L 93.568091 438.314342 -L 91.190979 429.328324 -L 89.581826 422.258307 +" style="fill:#0000f7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 101.156174 451.835028 +L 103.418078 456.981485 +L 104.931552 463.264705 +L 102.70115 458.836126 z -" style="fill:#000082;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 126.998907 471.84757 -L 129.161504 472.339826 -L 130.385104 464.613228 -L 128.218212 464.215178 -L 126.998907 471.84757 +" style="fill:#00008f;"/> + <path clip-path="url(#p8946a7ce10)" d="M 154.160904 359.196675 +L 156.361233 357.842541 +L 157.59229 363.946083 +L 155.399753 365.728427 z -" style="fill:#0000e0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 121.596274 397.940258 -L 123.603238 387.562225 -L 124.86357 382.928866 -L 122.847622 393.312773 -L 121.596274 397.940258 +" style="fill:#0000ae;"/> + <path clip-path="url(#p8946a7ce10)" d="M 177.501262 443.165856 +L 179.568303 453.785042 +L 180.805366 451.138695 +L 178.750708 440.13828 z -" style="fill:#0000f2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 122.847622 393.312773 -L 124.86357 382.928866 -L 126.137835 379.374196 -L 124.113423 389.713059 -L 122.847622 393.312773 +" style="fill:#00009f;"/> + <path clip-path="url(#p8946a7ce10)" d="M 127.910886 477.395582 +L 130.077853 478.116746 +L 131.33153 473.143489 +L 129.161504 472.339826 z -" style="fill:#0000ef;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 170.794631 478.210574 +" style="fill:#0000da;"/> + <path clip-path="url(#p8946a7ce10)" d="M 170.794631 478.210574 L 172.990104 479.864507 L 174.220656 478.372966 L 172.043005 475.371119 -L 170.794631 478.210574 z -" style="fill:#0000c9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 95.840459 440.541384 -L 98.15816 447.467607 -L 99.71275 454.323802 -L 97.426961 447.997573 -L 95.840459 440.541384 +" style="fill:#0000c5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 119.011342 445.63343 +L 121.090828 441.500519 +L 122.245742 430.05546 +L 120.16689 435.0314 z -" style="fill:#000087;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 179.869688 477.842463 -L 182.142585 474.992822 -L 183.327659 475.550239 -L 181.072082 477.458251 -L 179.869688 477.842463 +" style="fill:#0000fa;"/> + <path clip-path="url(#p8946a7ce10)" d="M 123.916896 464.782112 +L 126.061851 464.288158 +L 127.255482 454.615499 +L 125.108059 455.543668 z -" style="fill:#0000d2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 173.91433 376.599677 -L 176.046207 383.837038 -L 177.149235 391.71569 -L 175.03501 384.369127 -L 173.91433 376.599677 +" style="fill:#0000ec;"/> + <path clip-path="url(#p8946a7ce10)" d="M 148.518212 359.449966 +L 150.707177 356.643778 +L 151.968017 361.566776 +L 149.785917 365.108209 z -" style="fill:#000086;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 176.426961 479.164725 +" style="fill:#0000ba;"/> + <path clip-path="url(#p8946a7ce10)" d="M 124.113423 389.713059 +L 126.137835 379.374196 +L 127.423594 376.872278 +L 125.391867 387.159474 +z +" style="fill:#0000f0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 120.360688 403.546613 +L 122.359004 393.274641 +L 123.603238 387.562225 +L 121.596274 397.940258 +z +" style="fill:#0000fa;"/> + <path clip-path="url(#p8946a7ce10)" d="M 176.426961 479.164725 L 178.671241 477.642333 L 179.869688 477.842463 L 177.64392 478.248411 -L 176.426961 479.164725 z -" style="fill:#0000cf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 154.160904 359.196675 -L 156.361233 357.842541 -L 157.59229 363.946083 -L 155.399753 365.728427 -L 154.160904 359.196675 +" style="fill:#0000cc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 179.869688 477.842463 +L 182.142585 474.992822 +L 183.327659 475.550239 +L 181.072082 477.458251 z -" style="fill:#0000ab;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 148.518212 359.449966 -L 150.707177 356.643778 -L 151.968017 361.566776 -L 149.785917 365.108209 -L 148.518212 359.449966 +" style="fill:#0000d0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 126.998907 471.84757 +L 129.161504 472.339826 +L 130.385104 464.613228 +L 128.218212 464.215178 z -" style="fill:#0000b4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 126.624955 479.561829 +" style="fill:#0000e4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 179.851291 402.690426 +L 181.891364 414.863332 +L 183.031181 418.118164 +L 181.000124 406.289275 +z +" style="fill:#000085;"/> + <path clip-path="url(#p8946a7ce10)" d="M 126.624955 479.561829 L 128.792083 480.204393 L 130.077853 478.116746 L 127.910886 477.395582 -L 126.624955 479.561829 -z -" style="fill:#0000cb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 177.501262 443.165856 -L 179.568303 453.785042 -L 180.805366 451.138695 -L 178.750708 440.13828 -L 177.501262 443.165856 z -" style="fill:#0000a0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 169.884171 470.366492 +" style="fill:#0000ce;"/> + <path clip-path="url(#p8946a7ce10)" d="M 169.884171 470.366492 L 172.043005 475.371119 L 173.296601 471.958785 L 171.154167 465.663397 -L 169.884171 470.366492 -z -" style="fill:#0000bf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 101.156174 451.835028 -L 103.418078 456.981485 -L 104.931552 463.264705 -L 102.70115 458.836126 -L 101.156174 451.835028 z -" style="fill:#00008d;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 120.959783 477.114936 +" style="fill:#0000bc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 120.959783 477.114936 L 123.127852 478.034662 L 124.461427 478.894898 L 122.301222 478.191506 -L 120.959783 477.114936 z -" style="fill:#0000b9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 171.154167 465.663397 +" style="fill:#0000bc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 171.154167 465.663397 L 173.296601 471.958785 L 174.553668 468.200532 L 172.427491 460.735239 -L 171.154167 465.663397 z -" style="fill:#0000ba;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 168.619496 474.589651 +" style="fill:#0000b7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 176.241444 446.870518 +L 178.321993 456.945358 +L 179.568303 453.785042 +L 177.501262 443.165856 +z +" style="fill:#0000a3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 178.003295 389.050195 +L 180.079131 399.560509 +L 181.191251 405.183656 +L 179.128668 394.857176 +z +" style="fill:#000082;"/> + <path clip-path="url(#p8946a7ce10)" d="M 168.619496 474.589651 L 170.794631 478.210574 L 172.043005 475.371119 L 169.884171 470.366492 -L 168.619496 474.589651 -z -" style="fill:#0000c5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 172.990104 479.864507 -L 175.214916 479.39045 -L 176.426961 479.164725 -L 174.220656 478.372966 -L 172.990104 479.864507 -z -" style="fill:#0000cd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 130.077853 478.116746 -L 132.249786 478.962092 -L 133.507798 474.243509 -L 131.33153 473.143489 -L 130.077853 478.116746 z -" style="fill:#0000d6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 172.427491 460.735239 +" style="fill:#0000c1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 172.427491 460.735239 L 174.553668 468.200532 L 175.811978 464.315284 L 173.701678 455.821956 -L 172.427491 460.735239 z -" style="fill:#0000b4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 118.731347 416.064901 -L 120.742687 407.265252 -L 121.941416 398.488102 -L 119.923504 407.677732 -L 118.731347 416.064901 -z -" style="fill:#0000f9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 122.975374 456.978636 -L 125.108059 455.543668 -L 126.28282 444.44704 -L 124.147414 446.445063 -L 122.975374 456.978636 +" style="fill:#0000b1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 150.616216 410.84226 +L 152.80852 399.220566 +L 154.077413 393.296151 +L 151.878809 397.630823 z -" style="fill:#0000ec;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 134.722559 368.150858 -L 136.845559 361.202998 -L 138.151808 363.173279 -L 136.032821 370.592878 -L 134.722559 368.150858 +" style="fill:#0000fb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 172.990104 479.864507 +L 175.214916 479.39045 +L 176.426961 479.164725 +L 174.220656 478.372966 z -" style="fill:#0000d1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 176.241444 446.870518 +" style="fill:#0000c9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 174.97396 451.138977 +L 177.068986 460.504578 L 178.321993 456.945358 -L 179.568303 453.785042 -L 177.501262 443.165856 L 176.241444 446.870518 z -" style="fill:#0000a4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 118.393109 426.565718 -L 120.425908 419.335317 -L 121.59772 408.883847 -L 119.561279 416.735907 -L 118.393109 426.565718 -z -" style="fill:#0000f9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 129.161504 472.339826 -L 131.33153 473.143489 -L 132.561105 465.49964 -L 130.385104 464.613228 -L 129.161504 472.339826 -z -" style="fill:#0000df;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 173.701678 455.821956 +" style="fill:#0000a7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 173.701678 455.821956 L 175.811978 464.315284 L 177.068986 460.504578 L 174.97396 451.138977 -L 173.701678 455.821956 z -" style="fill:#0000af;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 174.97396 451.138977 -L 177.068986 460.504578 -L 178.321993 456.945358 -L 176.241444 446.870518 -L 174.97396 451.138977 +" style="fill:#0000ac;"/> + <path clip-path="url(#p8946a7ce10)" d="M 122.847622 393.312773 +L 124.86357 382.928866 +L 126.137835 379.374196 +L 124.113423 389.713059 z -" style="fill:#0000a9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 130.020302 374.927695 -L 132.105275 366.373983 -L 133.412954 366.771703 -L 131.327225 375.478408 -L 130.020302 374.927695 +" style="fill:#0000f4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 121.596274 397.940258 +L 123.603238 387.562225 +L 124.86357 382.928866 +L 122.847622 393.312773 z -" style="fill:#0000dd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 167.361493 478.075016 +" style="fill:#0000f7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 130.077853 478.116746 +L 132.249786 478.962092 +L 133.507798 474.243509 +L 131.33153 473.143489 +z +" style="fill:#0000d9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 178.942401 394.82728 +L 181.000124 406.289275 +L 182.125632 410.754336 +L 180.079131 399.560509 +z +" style="fill:#000083;"/> + <path clip-path="url(#p8946a7ce10)" d="M 86.333219 409.51118 +L 88.776732 419.623995 +L 90.37222 426.207288 +L 87.943381 416.019252 +z +" style="fill:#000080;"/> + <path clip-path="url(#p8946a7ce10)" d="M 134.722559 368.150858 +L 136.845559 361.202998 +L 138.151808 363.173279 +L 136.032821 370.592878 +z +" style="fill:#0000d7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 167.361493 478.075016 L 169.552603 480.253274 L 170.794631 478.210574 L 168.619496 474.589651 -L 167.361493 478.075016 z -" style="fill:#0000c9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 126.061851 464.288158 -L 128.218212 464.215178 -L 129.416891 454.278477 -L 127.255482 454.615499 -L 126.061851 464.288158 -z -" style="fill:#0000e6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 179.851291 402.690426 -L 181.891364 414.863332 -L 183.031181 418.118164 -L 181.000124 406.289275 -L 179.851291 402.690426 -z -" style="fill:#000085;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 128.792083 480.204393 +" style="fill:#0000c5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 128.792083 480.204393 L 130.962785 480.810389 L 132.249786 478.962092 L 130.077853 478.116746 -L 128.792083 480.204393 z -" style="fill:#0000cb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 169.552603 480.253274 -L 171.765493 480.524459 -L 172.990104 479.864507 -L 170.794631 478.210574 -L 169.552603 480.253274 +" style="fill:#0000cd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 129.161504 472.339826 +L 131.33153 473.143489 +L 132.561105 465.49964 +L 130.385104 464.613228 z -" style="fill:#0000cc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 123.127852 478.034662 +" style="fill:#0000e3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 123.127852 478.034662 L 125.296835 478.775116 L 126.624955 479.561829 L 124.461427 478.894898 -L 123.127852 478.034662 z -" style="fill:#0000bb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 178.003295 389.050195 -L 180.079131 399.560509 -L 181.191251 405.183656 -L 179.128668 394.857176 -L 178.003295 389.050195 +" style="fill:#0000bd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 179.171826 423.930477 +L 181.209035 436.393607 +L 182.414132 435.734323 +L 180.385922 423.349035 z -" style="fill:#000083;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 132.249786 478.962092 +" style="fill:#000091;"/> + <path clip-path="url(#p8946a7ce10)" d="M 169.552603 480.253274 +L 171.765493 480.524459 +L 172.990104 479.864507 +L 170.794631 478.210574 +z +" style="fill:#0000c8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 147.150405 394.144229 +L 149.349647 399.647878 +L 150.616216 410.84226 +L 148.427889 398.056021 +z +" style="fill:#000082;"/> + <path clip-path="url(#p8946a7ce10)" d="M 98.868262 445.949536 +L 101.156174 451.835028 +L 102.70115 458.836126 +L 100.444396 453.575148 +z +" style="fill:#00008a;"/> + <path clip-path="url(#p8946a7ce10)" d="M 130.020302 374.927695 +L 132.105275 366.373983 +L 133.412954 366.771703 +L 131.327225 375.478408 +z +" style="fill:#0000e2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 122.975374 456.978636 +L 125.108059 455.543668 +L 126.28282 444.44704 +L 124.147414 446.445063 +z +" style="fill:#0000f2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 132.249786 478.962092 L 134.425919 479.890128 L 135.688945 475.594015 L 133.507798 474.243509 -L 132.249786 478.962092 z -" style="fill:#0000d5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 131.33153 473.143489 -L 133.507798 474.243509 -L 134.744432 466.858719 -L 132.561105 465.49964 -L 131.33153 473.143489 +" style="fill:#0000d6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 171.758069 370.645868 +L 173.91433 376.599677 +L 175.03501 384.369127 +L 172.897536 378.111214 z -" style="fill:#0000dd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 145.059938 359.056781 +" style="fill:#000089;"/> + <path clip-path="url(#p8946a7ce10)" d="M 90.359542 423.9148 +L 92.749309 432.665571 +L 94.348533 439.995314 +L 91.982972 431.481187 +z +" style="fill:#000081;"/> + <path clip-path="url(#p8946a7ce10)" d="M 145.059938 359.056781 L 147.24149 355.756904 L 148.518212 359.449966 L 146.343468 363.652096 -L 145.059938 359.056781 z -" style="fill:#0000bb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 178.942401 394.82728 -L 181.000124 406.289275 -L 182.125632 410.754336 -L 180.079131 399.560509 -L 178.942401 394.82728 +" style="fill:#0000c2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 126.061851 464.288158 +L 128.218212 464.215178 +L 129.416891 454.278477 +L 127.255482 454.615499 +z +" style="fill:#0000eb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 118.731347 416.064901 +L 120.742687 407.265252 +L 121.941416 398.488102 +L 119.923504 407.677732 +z +" style="fill:#0000ff;"/> + <path clip-path="url(#p8946a7ce10)" d="M 156.361233 357.842541 +L 158.566372 357.335813 +L 159.789411 363.14171 +L 157.59229 363.946083 +z +" style="fill:#0000ab;"/> + <path clip-path="url(#p8946a7ce10)" d="M 118.393109 426.565718 +L 120.425908 419.335317 +L 121.59772 408.883847 +L 119.561279 416.735907 +z +" style="fill:#0000ff;"/> + <path clip-path="url(#p8946a7ce10)" d="M 93.490857 432.872391 +L 95.840459 440.541384 +L 97.426961 447.997573 +L 95.105845 440.745599 z " style="fill:#000084;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 165.183948 474.188623 + <path clip-path="url(#p8946a7ce10)" d="M 165.183948 474.188623 L 167.361493 478.075016 L 168.619496 474.589651 L 166.455766 469.248889 -L 165.183948 474.188623 -z -" style="fill:#0000c6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 86.333219 409.51118 -L 88.776732 419.623995 -L 90.37222 426.207288 -L 87.943381 416.019252 -L 86.333219 409.51118 -z -" style="fill:#000081;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 179.171826 423.930477 -L 181.209035 436.393607 -L 182.414132 435.734323 -L 180.385922 423.349035 -L 179.171826 423.930477 z -" style="fill:#000092;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 122.030014 448.995158 -L 124.147414 446.445063 -L 125.310495 434.55089 -L 123.190142 437.744552 -L 122.030014 448.995158 +" style="fill:#0000c2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 179.546054 410.972384 +L 181.580953 423.692495 +L 182.755951 424.918182 +L 180.729588 412.45205 z -" style="fill:#0000f1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 156.361233 357.842541 -L 158.566372 357.335813 -L 159.789411 363.14171 -L 157.59229 363.946083 -L 156.361233 357.842541 +" style="fill:#00008a;"/> + <path clip-path="url(#p8946a7ce10)" d="M 131.33153 473.143489 +L 133.507798 474.243509 +L 134.744432 466.858719 +L 132.561105 465.49964 z -" style="fill:#0000a9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 163.919804 478.189213 +" style="fill:#0000e0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 163.919804 478.189213 L 166.110753 480.575333 L 167.361493 478.075016 L 165.183948 474.188623 -L 163.919804 478.189213 z -" style="fill:#0000ca;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 147.150405 394.144229 -L 149.349647 399.647878 -L 150.616216 410.84226 -L 148.427889 398.056021 -L 147.150405 394.144229 -z -" style="fill:#000098;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 138.151808 363.173279 -L 140.302711 357.843431 -L 141.601449 360.250876 -L 139.456768 366.31578 -L 138.151808 363.173279 +" style="fill:#0000c6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 166.455766 469.248889 +L 168.619496 474.589651 +L 169.884171 470.366492 +L 167.734516 463.655572 z -" style="fill:#0000c9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 166.110753 480.575333 +" style="fill:#0000be;"/> + <path clip-path="url(#p8946a7ce10)" d="M 166.110753 480.575333 L 168.317316 481.29076 L 169.552603 480.253274 L 167.361493 478.075016 -L 166.110753 480.575333 -z -" style="fill:#0000cc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 134.425919 479.890128 -L 136.605478 480.833116 -L 137.873612 477.119445 -L 135.688945 475.594015 -L 134.425919 479.890128 z -" style="fill:#0000d3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 130.962785 480.810389 +" style="fill:#0000c8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 130.962785 480.810389 L 133.136867 481.343786 L 134.425919 479.890128 L 132.249786 478.962092 -L 130.962785 480.810389 z -" style="fill:#0000ca;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 98.868262 445.949536 -L 101.156174 451.835028 -L 102.70115 458.836126 -L 100.444396 453.575148 -L 98.868262 445.949536 -z -" style="fill:#000089;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 166.455766 469.248889 -L 168.619496 474.589651 -L 169.884171 470.366492 -L 167.734516 463.655572 -L 166.455766 469.248889 -z -" style="fill:#0000c1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 133.507798 474.243509 -L 135.688945 475.594015 -L 136.933129 468.641851 -L 134.744432 466.858719 -L 133.507798 474.243509 -z -" style="fill:#0000db;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 141.601449 360.250876 -L 143.771121 356.156185 -L 145.059938 359.056781 -L 142.897228 364.053761 +" style="fill:#0000cb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 138.151808 363.173279 +L 140.302711 357.843431 L 141.601449 360.250876 +L 139.456768 366.31578 z -" style="fill:#0000c2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 171.758069 370.645868 -L 173.91433 376.599677 -L 175.03501 384.369127 -L 172.897536 378.111214 -L 171.758069 370.645868 -z -" style="fill:#00008b;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 125.296835 478.775116 +" style="fill:#0000d0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 125.296835 478.775116 L 127.467478 479.346038 L 128.792083 480.204393 L 126.624955 479.561829 -L 125.296835 478.775116 -z -" style="fill:#0000bc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 175.214916 479.39045 -L 177.477455 476.726541 -L 178.671241 477.642333 -L 176.426961 479.164725 -L 175.214916 479.39045 -z -" style="fill:#0000d0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 128.218212 464.215178 -L 130.385104 464.613228 -L 131.590812 454.583642 -L 129.416891 454.278477 -L 128.218212 464.215178 z -" style="fill:#0000e5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 119.265738 429.973457 -L 121.322244 423.824325 -L 122.486211 412.543677 -L 120.425908 419.335317 -L 119.265738 429.973457 +" style="fill:#0000be;"/> + <path clip-path="url(#p8946a7ce10)" d="M 134.425919 479.890128 +L 136.605478 480.833116 +L 137.873612 477.119445 +L 135.688945 475.594015 z -" style="fill:#0000f8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 149.349647 399.647878 +" style="fill:#0000d4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 149.349647 399.647878 L 151.546572 395.306387 L 152.80852 399.220566 L 150.616216 410.84226 -L 149.349647 399.647878 z -" style="fill:#0000a4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 90.359542 423.9148 -L 92.749309 432.665571 -L 94.348533 439.995314 -L 91.982972 431.481187 -L 90.359542 423.9148 +" style="fill:#0000c4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 141.601449 360.250876 +L 143.771121 356.156185 +L 145.059938 359.056781 +L 142.897228 364.053761 z -" style="fill:#000082;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 178.671241 477.642333 -L 180.961529 473.815175 -L 182.142585 474.992822 -L 179.869688 477.842463 -L 178.671241 477.642333 +" style="fill:#0000c9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 174.91421 377.137582 +L 177.03673 385.393838 +L 178.151 392.240605 +L 176.046207 383.837038 z -" style="fill:#0000d3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 171.765493 480.524459 -L 174.008311 478.773106 -L 175.214916 479.39045 -L 172.990104 479.864507 -L 171.765493 480.524459 +" style="fill:#000085;"/> + <path clip-path="url(#p8946a7ce10)" d="M 175.214916 479.39045 +L 177.477455 476.726541 +L 178.671241 477.642333 +L 176.426961 479.164725 z -" style="fill:#0000cf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 135.688945 475.594015 -L 137.873612 477.119445 -L 139.125258 470.768114 -L 136.933129 468.641851 +" style="fill:#0000cd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 133.507798 474.243509 L 135.688945 475.594015 +L 136.933129 468.641851 +L 134.744432 466.858719 z -" style="fill:#0000d9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 93.490857 432.872391 -L 95.840459 440.541384 -L 97.426961 447.997573 -L 95.105845 440.745599 -L 93.490857 432.872391 -z -" style="fill:#000084;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 179.546054 410.972384 -L 181.580953 423.692495 -L 182.755951 424.918182 -L 180.729588 412.45205 -L 179.546054 410.972384 -z -" style="fill:#00008a;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 167.734516 463.655572 +" style="fill:#0000de;"/> + <path clip-path="url(#p8946a7ce10)" d="M 167.734516 463.655572 L 169.884171 470.366492 L 171.154167 465.663397 L 169.018663 457.698838 -L 167.734516 463.655572 z -" style="fill:#0000bc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 136.605478 480.833116 -L 138.78785 481.699564 -L 140.060628 478.71665 -L 137.873612 477.119445 -L 136.605478 480.833116 +" style="fill:#0000b9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 150.707177 356.643778 +L 152.90607 355.037075 +L 154.160904 359.196675 +L 151.968017 361.566776 +z +" style="fill:#0000b8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 171.765493 480.524459 +L 174.008311 478.773106 +L 175.214916 479.39045 +L 172.990104 479.864507 +z +" style="fill:#0000cb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 178.671241 477.642333 +L 180.961529 473.815175 +L 182.142585 474.992822 +L 179.869688 477.842463 z " style="fill:#0000d1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 149.690475 392.141296 -L 151.878809 397.630823 -L 153.1522 385.067268 -L 150.956101 381.942446 -L 149.690475 392.141296 + <path clip-path="url(#p8946a7ce10)" d="M 122.030014 448.995158 +L 124.147414 446.445063 +L 125.310495 434.55089 +L 123.190142 437.744552 z -" style="fill:#0000cf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 160.470307 478.668807 +" style="fill:#0000f6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 87.151259 412.586707 +L 89.581826 422.258307 +L 91.190979 429.328324 +L 88.776732 419.623995 +z +" style="fill:#000080;"/> + <path clip-path="url(#p8946a7ce10)" d="M 160.470307 478.668807 L 162.663184 480.985922 L 163.919804 478.189213 L 161.737332 474.3521 -L 160.470307 478.668807 z -" style="fill:#0000cc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 162.663184 480.985922 +" style="fill:#0000c8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 162.663184 480.985922 L 164.867017 481.868348 L 166.110753 480.575333 L 163.919804 478.189213 -L 162.663184 480.985922 z -" style="fill:#0000cd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 150.707177 356.643778 -L 152.90607 355.037075 -L 154.160904 359.196675 -L 151.968017 361.566776 -L 150.707177 356.643778 +" style="fill:#0000c8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 136.605478 480.833116 +L 138.78785 481.699564 +L 140.060628 478.71665 +L 137.873612 477.119445 z -" style="fill:#0000b3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 161.737332 474.3521 +" style="fill:#0000d1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 161.737332 474.3521 L 163.919804 478.189213 L 165.183948 474.188623 L 163.012266 468.861666 -L 161.737332 474.3521 -z -" style="fill:#0000c9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 125.108059 455.543668 -L 127.255482 454.615499 -L 128.435748 443.117325 -L 126.28282 444.44704 -L 125.108059 455.543668 z -" style="fill:#0000eb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 121.090828 441.500519 -L 123.190142 437.744552 -L 124.348313 425.62493 -L 122.245742 430.05546 -L 121.090828 441.500519 +" style="fill:#0000c5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 128.218212 464.215178 +L 130.385104 464.613228 +L 131.590812 454.583642 +L 129.416891 454.278477 z -" style="fill:#0000f4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 137.873612 477.119445 -L 140.060628 478.71665 -L 141.319095 473.125674 -L 139.125258 470.768114 +" style="fill:#0000e9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 135.688945 475.594015 L 137.873612 477.119445 +L 139.125258 470.768114 +L 136.933129 468.641851 z -" style="fill:#0000d7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 119.923504 407.677732 -L 121.941416 398.488102 -L 123.159516 390.656512 -L 121.132322 400.017918 -L 119.923504 407.677732 +" style="fill:#0000db;"/> + <path clip-path="url(#p8946a7ce10)" d="M 177.940133 425.452597 +L 179.987334 437.865938 +L 181.209035 436.393607 +L 179.171826 423.930477 z -" style="fill:#0000f8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 133.136867 481.343786 +" style="fill:#000095;"/> + <path clip-path="url(#p8946a7ce10)" d="M 149.690475 392.141296 +L 151.878809 397.630823 +L 153.1522 385.067268 +L 150.956101 381.942446 +z +" style="fill:#0000d7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 133.136867 481.343786 L 135.314123 481.746284 L 136.605478 480.833116 L 134.425919 479.890128 -L 133.136867 481.343786 z " style="fill:#0000c9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 168.317316 481.29076 + <path clip-path="url(#p8946a7ce10)" d="M 158.566372 357.335813 +L 160.774211 357.547654 +L 161.988315 363.248416 +L 159.789411 363.14171 +z +" style="fill:#0000a9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 168.317316 481.29076 L 170.546975 480.18349 L 171.765493 480.524459 L 169.552603 480.253274 -L 168.317316 481.29076 z -" style="fill:#0000ce;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 120.16689 435.0314 -L 122.245742 430.05546 -L 123.40469 418.180981 +" style="fill:#0000c9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 137.873612 477.119445 +L 140.060628 478.71665 +L 141.319095 473.125674 +L 139.125258 470.768114 +z +" style="fill:#0000d8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 169.581731 365.976126 +L 171.758069 370.645868 +L 172.897536 378.111214 +L 170.739816 373.007052 +z +" style="fill:#00008f;"/> + <path clip-path="url(#p8946a7ce10)" d="M 127.467478 479.346038 +L 129.640264 479.737095 +L 130.962785 480.810389 +L 128.792083 480.204393 +z +" style="fill:#0000be;"/> + <path clip-path="url(#p8946a7ce10)" d="M 119.265738 429.973457 L 121.322244 423.824325 -L 120.16689 435.0314 +L 122.486211 412.543677 +L 120.425908 419.335317 z -" style="fill:#0000f6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 128.718463 375.3947 -L 130.800752 366.891918 -L 132.105275 366.373983 -L 130.020302 374.927695 -L 128.718463 375.3947 +" style="fill:#0000fe;"/> + <path clip-path="url(#p8946a7ce10)" d="M 96.552505 439.346292 +L 98.868262 445.949536 +L 100.444396 453.575148 +L 98.15816 447.467607 z -" style="fill:#0000e2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 151.878809 397.630823 -L 154.077413 393.296151 -L 155.358836 383.082244 -L 153.1522 385.067268 -L 151.878809 397.630823 +" style="fill:#000086;"/> + <path clip-path="url(#p8946a7ce10)" d="M 169.018663 457.698838 +L 171.154167 465.663397 +L 172.427491 460.735239 +L 170.306024 451.658318 z -" style="fill:#0000f5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 140.060628 478.71665 +" style="fill:#0000b4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 140.060628 478.71665 L 142.24919 480.258183 L 143.513319 475.574307 L 141.319095 473.125674 -L 140.060628 478.71665 z " style="fill:#0000d5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 174.91421 377.137582 -L 177.03673 385.393838 -L 178.151 392.240605 -L 176.046207 383.837038 -L 174.91421 377.137582 -z -" style="fill:#000086;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 127.467478 479.346038 -L 129.640264 479.737095 -L 130.962785 480.810389 -L 128.792083 480.204393 -L 127.467478 479.346038 -z -" style="fill:#0000bd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 130.385104 464.613228 -L 132.561105 465.49964 -L 133.775237 455.548758 -L 131.590812 454.583642 -L 130.385104 464.613228 -z -" style="fill:#0000e3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 157.014983 479.51425 + <path clip-path="url(#p8946a7ce10)" d="M 157.014983 479.51425 L 159.210126 481.538329 L 160.470307 478.668807 L 158.282451 475.143067 -L 157.014983 479.51425 -z -" style="fill:#0000ce;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 158.566372 357.335813 -L 160.774211 357.547654 -L 161.988315 363.248416 -L 159.789411 363.14171 -L 158.566372 357.335813 -z -" style="fill:#0000a7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 138.78785 481.699564 -L 140.972745 482.3779 -L 142.24919 480.258183 -L 140.060628 478.71665 -L 138.78785 481.699564 z -" style="fill:#0000cf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 163.012266 468.861666 +" style="fill:#0000ca;"/> + <path clip-path="url(#p8946a7ce10)" d="M 163.012266 468.861666 L 165.183948 474.188623 L 166.455766 469.248889 L 164.295193 462.505167 -L 163.012266 468.861666 z -" style="fill:#0000c4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 142.24919 480.258183 -L 144.439016 481.596916 -L 145.707188 477.949412 -L 143.513319 475.574307 +" style="fill:#0000c1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 125.108059 455.543668 +L 127.255482 454.615499 +L 128.435748 443.117325 +L 126.28282 444.44704 +z +" style="fill:#0000f0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 138.78785 481.699564 +L 140.972745 482.3779 L 142.24919 480.258183 +L 140.060628 478.71665 z -" style="fill:#0000d3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 158.282451 475.143067 +" style="fill:#0000ce;"/> + <path clip-path="url(#p8946a7ce10)" d="M 159.210126 481.538329 +L 161.413016 482.351106 +L 162.663184 480.985922 +L 160.470307 478.668807 +z +" style="fill:#0000c9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 158.282451 475.143067 L 160.470307 478.668807 L 161.737332 474.3521 L 159.557003 469.335763 -L 158.282451 475.143067 z -" style="fill:#0000cb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 169.018663 457.698838 -L 171.154167 465.663397 -L 172.427491 460.735239 -L 170.306024 451.658318 -L 169.018663 457.698838 +" style="fill:#0000c8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 128.718463 375.3947 +L 130.800752 366.891918 +L 132.105275 366.373983 +L 130.020302 374.927695 z -" style="fill:#0000b6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 159.210126 481.538329 -L 161.413016 482.351106 -L 162.663184 480.985922 -L 160.470307 478.668807 -L 159.210126 481.538329 +" style="fill:#0000e6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 142.24919 480.258183 +L 144.439016 481.596916 +L 145.707188 477.949412 +L 143.513319 475.574307 z -" style="fill:#0000ce;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 177.940133 425.452597 -L 179.987334 437.865938 -L 181.209035 436.393607 -L 179.171826 423.930477 -L 177.940133 425.452597 +" style="fill:#0000d1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 121.090828 441.500519 +L 123.190142 437.744552 +L 124.348313 425.62493 +L 122.245742 430.05546 z -" style="fill:#000095;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 164.867017 481.868348 +" style="fill:#0000f9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 164.867017 481.868348 L 167.088358 481.142903 L 168.317316 481.29076 L 166.110753 480.575333 -L 164.867017 481.868348 z -" style="fill:#0000cd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 87.151259 412.586707 -L 89.581826 422.258307 -L 91.190979 429.328324 -L 88.776732 419.623995 -L 87.151259 412.586707 +" style="fill:#0000c9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 146.217902 385.905107 +L 148.427889 398.056021 +L 149.690475 392.141296 +L 147.4885 382.359159 z -" style="fill:#000081;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 153.556003 480.610564 +" style="fill:#0000a7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 130.385104 464.613228 +L 132.561105 465.49964 +L 133.775237 455.548758 +L 131.590812 454.583642 +z +" style="fill:#0000e7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 119.923504 407.677732 +L 121.941416 398.488102 +L 123.159516 390.656512 +L 121.132322 400.017918 +z +" style="fill:#0000fd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 153.556003 480.610564 L 155.752488 482.17953 L 157.014983 479.51425 L 154.822858 476.499993 -L 153.556003 480.610564 -z -" style="fill:#0000cf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 133.412954 366.771703 -L 135.539081 360.25079 -L 136.845559 361.202998 -L 134.722559 368.150858 -L 133.412954 366.771703 z -" style="fill:#0000d5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 154.822858 476.499993 +" style="fill:#0000cb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 154.822858 476.499993 L 157.014983 479.51425 L 158.282451 475.143067 L 156.09465 470.672259 -L 154.822858 476.499993 z -" style="fill:#0000ce;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 169.581731 365.976126 -L 171.758069 370.645868 -L 172.897536 378.111214 -L 170.739816 373.007052 -L 169.581731 365.976126 +" style="fill:#0000cb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 120.16689 435.0314 +L 122.245742 430.05546 +L 123.40469 418.180981 +L 121.322244 423.824325 z -" style="fill:#000091;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 147.900693 480.067727 +" style="fill:#0000fc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 147.900693 480.067727 L 150.094674 481.734805 L 151.361713 478.239755 L 149.166998 475.29063 -L 147.900693 480.067727 z -" style="fill:#0000d1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 145.707188 477.949412 -L 147.900693 480.067727 -L 149.166998 475.29063 -L 146.970289 471.990173 -L 145.707188 477.949412 +" style="fill:#0000cf;"/> + <path clip-path="url(#p8946a7ce10)" d="M 151.878809 397.630823 +L 154.077413 393.296151 +L 155.358836 383.082244 +L 153.1522 385.067268 z -" style="fill:#0000d3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 144.439016 481.596916 +" style="fill:#0000f9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 144.439016 481.596916 L 146.63048 482.572097 L 147.900693 480.067727 L 145.707188 477.949412 -L 144.439016 481.596916 z -" style="fill:#0000d0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 151.361713 478.239755 +" style="fill:#0000ce;"/> + <path clip-path="url(#p8946a7ce10)" d="M 151.361713 478.239755 L 153.556003 480.610564 L 154.822858 476.499993 L 152.630044 472.742089 -L 151.361713 478.239755 -z -" style="fill:#0000d0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 119.561279 416.735907 -L 121.59772 408.883847 -L 122.786665 399.039152 -L 120.742687 407.265252 -L 119.561279 416.735907 z -" style="fill:#0000f9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 132.561105 465.49964 -L 134.744432 466.858719 -L 135.967814 457.158314 -L 133.775237 455.548758 -L 132.561105 465.49964 +" style="fill:#0000ce;"/> + <path clip-path="url(#p8946a7ce10)" d="M 160.774211 357.547654 +L 162.982696 358.430647 +L 164.186192 364.241688 +L 161.988315 363.248416 z -" style="fill:#0000e1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 135.314123 481.746284 +" style="fill:#0000a5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 135.314123 481.746284 L 137.494481 481.93998 L 138.78785 481.699564 L 136.605478 480.833116 -L 135.314123 481.746284 z -" style="fill:#0000c7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 143.513319 475.574307 -L 145.707188 477.949412 +" style="fill:#0000c6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 145.707188 477.949412 +L 147.900693 480.067727 +L 149.166998 475.29063 L 146.970289 471.990173 -L 144.77105 468.557681 -L 143.513319 475.574307 z -" style="fill:#0000d5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 150.094674 481.734805 -L 152.290881 482.754122 -L 153.556003 480.610564 -L 151.361713 478.239755 -L 150.094674 481.734805 +" style="fill:#0000d2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 170.306024 451.658318 +L 172.427491 460.735239 +L 173.701678 455.821956 +L 171.593956 445.790165 z -" style="fill:#0000cf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 155.752488 482.17953 +" style="fill:#0000ae;"/> + <path clip-path="url(#p8946a7ce10)" d="M 133.412954 366.771703 +L 135.539081 360.25079 +L 136.845559 361.202998 +L 134.722559 368.150858 +z +" style="fill:#0000db;"/> + <path clip-path="url(#p8946a7ce10)" d="M 178.679241 400.057767 +L 180.729588 412.45205 +L 181.891364 414.863332 +L 179.851291 402.690426 +z +" style="fill:#000087;"/> + <path clip-path="url(#p8946a7ce10)" d="M 176.69271 427.905419 +L 178.750708 440.13828 +L 179.987334 437.865938 +L 177.940133 425.452597 +z +" style="fill:#000098;"/> + <path clip-path="url(#p8946a7ce10)" d="M 155.752488 482.17953 L 157.954781 482.738919 L 159.210126 481.538329 L 157.014983 479.51425 -L 155.752488 482.17953 z -" style="fill:#0000ce;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 96.552505 439.346292 -L 98.868262 445.949536 -L 100.444396 453.575148 -L 98.15816 447.467607 -L 96.552505 439.346292 +" style="fill:#0000c9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 150.094674 481.734805 +L 152.290881 482.754122 +L 153.556003 480.610564 +L 151.361713 478.239755 z -" style="fill:#000086;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 146.217902 385.905107 -L 148.427889 398.056021 -L 149.690475 392.141296 -L 147.4885 382.359159 -L 146.217902 385.905107 +" style="fill:#0000cc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 167.390426 362.492522 +L 169.581731 365.976126 +L 170.739816 373.007052 +L 168.565835 369.042358 z -" style="fill:#00009e;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 140.972745 482.3779 +" style="fill:#000095;"/> + <path clip-path="url(#p8946a7ce10)" d="M 143.513319 475.574307 +L 145.707188 477.949412 +L 146.970289 471.990173 +L 144.77105 468.557681 +z +" style="fill:#0000d5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 140.972745 482.3779 L 143.160328 482.741364 L 144.439016 481.596916 L 142.24919 480.258183 -L 140.972745 482.3779 z -" style="fill:#0000cc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 170.306024 451.658318 -L 172.427491 460.735239 -L 173.701678 455.821956 -L 171.593956 445.790165 -L 170.306024 451.658318 +" style="fill:#0000ca;"/> + <path clip-path="url(#p8946a7ce10)" d="M 129.640264 479.737095 +L 131.81553 479.91838 +L 133.136867 481.343786 +L 130.962785 480.810389 z -" style="fill:#0000b1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 141.319095 473.125674 -L 143.513319 475.574307 -L 144.77105 468.557681 -L 142.569687 465.195365 -L 141.319095 473.125674 +" style="fill:#0000bd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 159.557003 469.335763 +L 161.737332 474.3521 +L 163.012266 468.861666 +L 160.839741 462.412789 z -" style="fill:#0000d8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 161.413016 482.351106 +" style="fill:#0000c5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 161.413016 482.351106 L 163.629157 481.771228 L 164.867017 481.868348 L 162.663184 480.985922 -L 161.413016 482.351106 -z -" style="fill:#0000cd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 159.557003 469.335763 -L 161.737332 474.3521 -L 163.012266 468.861666 -L 160.839741 462.412789 -L 159.557003 469.335763 z " style="fill:#0000c8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 149.166998 475.29063 -L 151.361713 478.239755 -L 152.630044 472.742089 -L 150.433992 468.498092 -L 149.166998 475.29063 -z -" style="fill:#0000d2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 160.774211 357.547654 -L 162.982696 358.430647 -L 164.186192 364.241688 -L 161.988315 363.248416 -L 160.774211 357.547654 -z -" style="fill:#0000a5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 129.640264 479.737095 -L 131.81553 479.91838 -L 133.136867 481.343786 -L 130.962785 480.810389 -L 129.640264 479.737095 -z -" style="fill:#0000bd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 134.744432 466.858719 -L 136.933129 468.641851 -L 138.16603 459.363323 -L 135.967814 457.158314 -L 134.744432 466.858719 -z -" style="fill:#0000df;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 147.24149 355.756904 + <path clip-path="url(#p8946a7ce10)" d="M 147.24149 355.756904 L 149.436302 353.998498 L 150.707177 356.643778 L 148.518212 359.449966 -L 147.24149 355.756904 z -" style="fill:#0000b9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 164.295193 462.505167 +" style="fill:#0000c1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 164.295193 462.505167 L 166.455766 469.248889 L 167.734516 463.655572 L 165.585258 455.605943 -L 164.295193 462.505167 z -" style="fill:#0000bf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 139.125258 470.768114 -L 141.319095 473.125674 +" style="fill:#0000bc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 132.561105 465.49964 +L 134.744432 466.858719 +L 135.967814 457.158314 +L 133.775237 455.548758 +z +" style="fill:#0000e5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 175.894545 379.692563 +L 178.003295 389.050195 +L 179.128668 394.857176 +L 177.03673 385.393838 +z +" style="fill:#000085;"/> + <path clip-path="url(#p8946a7ce10)" d="M 149.166998 475.29063 +L 151.361713 478.239755 +L 152.630044 472.742089 +L 150.433992 468.498092 +z +" style="fill:#0000d0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 162.982696 358.430647 +L 165.18926 360.034909 +L 166.379915 366.149471 +L 164.186192 364.241688 +z +" style="fill:#0000a1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 141.319095 473.125674 +L 143.513319 475.574307 +L 144.77105 468.557681 L 142.569687 465.195365 -L 140.367405 462.081081 -L 139.125258 470.768114 z -" style="fill:#0000da;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 146.63048 482.572097 +" style="fill:#0000d8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 146.63048 482.572097 L 148.824698 483.016831 L 150.094674 481.734805 L 147.900693 480.067727 -L 146.63048 482.572097 z -" style="fill:#0000ce;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 136.933129 468.641851 -L 139.125258 470.768114 +" style="fill:#0000ca;"/> + <path clip-path="url(#p8946a7ce10)" d="M 178.341662 410.479152 +L 180.385922 423.349035 +L 181.580953 423.692495 +L 179.546054 410.972384 +z +" style="fill:#00008d;"/> + <path clip-path="url(#p8946a7ce10)" d="M 165.18926 360.034909 +L 167.390426 362.492522 +L 168.565835 369.042358 +L 166.379915 366.149471 +z +" style="fill:#00009b;"/> + <path clip-path="url(#p8946a7ce10)" d="M 171.593956 445.790165 +L 173.701678 455.821956 +L 174.97396 451.138977 +L 172.879543 440.3173 +z +" style="fill:#0000aa;"/> + <path clip-path="url(#p8946a7ce10)" d="M 152.90607 355.037075 +L 155.111614 354.354227 +L 156.361233 357.842541 +L 154.160904 359.196675 +z +" style="fill:#0000b7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 91.11086 424.588676 +L 93.490857 432.872391 +L 95.105845 440.745599 +L 92.749309 432.665571 +z +" style="fill:#000081;"/> + <path clip-path="url(#p8946a7ce10)" d="M 152.290881 482.754122 +L 154.491972 482.937477 +L 155.752488 482.17953 +L 153.556003 480.610564 +z +" style="fill:#0000c9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 139.125258 470.768114 +L 141.319095 473.125674 +L 142.569687 465.195365 L 140.367405 462.081081 -L 138.16603 459.363323 -L 136.933129 468.641851 z " style="fill:#0000dc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 127.255482 454.615499 -L 129.416891 454.278477 -L 130.60482 442.537647 -L 128.435748 443.117325 -L 127.255482 454.615499 -z -" style="fill:#0000ea;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 176.69271 427.905419 + <path clip-path="url(#p8946a7ce10)" d="M 175.431762 431.251751 +L 177.501262 443.165856 L 178.750708 440.13828 -L 179.987334 437.865938 -L 177.940133 425.452597 L 176.69271 427.905419 z -" style="fill:#000099;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 121.132322 400.017918 -L 123.159516 390.656512 -L 124.397131 383.928479 -L 122.359004 393.274641 -L 121.132322 400.017918 +" style="fill:#00009c;"/> + <path clip-path="url(#p8946a7ce10)" d="M 119.561279 416.735907 +L 121.59772 408.883847 +L 122.786665 399.039152 +L 120.742687 407.265252 z -" style="fill:#0000f6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 124.147414 446.445063 -L 126.28282 444.44704 -L 127.451786 432.065146 -L 125.310495 434.55089 -L 124.147414 446.445063 +" style="fill:#0000ff;"/> + <path clip-path="url(#p8946a7ce10)" d="M 134.744432 466.858719 +L 136.933129 468.641851 +L 138.16603 459.363323 +L 135.967814 457.158314 z -" style="fill:#0000ef;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 127.423594 376.872278 -L 129.500902 368.302175 -L 130.800752 366.891918 -L 128.718463 375.3947 -L 127.423594 376.872278 +" style="fill:#0000e2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 156.09465 470.672259 +L 158.282451 475.143067 +L 159.557003 469.335763 +L 157.373647 463.446625 z -" style="fill:#0000e6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 152.630044 472.742089 +" style="fill:#0000c9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 152.630044 472.742089 L 154.822858 476.499993 L 156.09465 470.672259 L 153.903142 465.541213 -L 152.630044 472.742089 -z -" style="fill:#0000cf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 152.290881 482.754122 -L 154.491972 482.937477 -L 155.752488 482.17953 -L 153.556003 480.610564 -L 152.290881 482.754122 z " style="fill:#0000cd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 156.09465 470.672259 -L 158.282451 475.143067 -L 159.557003 469.335763 -L 157.373647 463.446625 -L 156.09465 470.672259 + <path clip-path="url(#p8946a7ce10)" d="M 136.933129 468.641851 +L 139.125258 470.768114 +L 140.367405 462.081081 +L 138.16603 459.363323 z -" style="fill:#0000cb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 167.390426 362.492522 -L 169.581731 365.976126 -L 170.739816 373.007052 -L 168.565835 369.042358 -L 167.390426 362.492522 +" style="fill:#0000df;"/> + <path clip-path="url(#p8946a7ce10)" d="M 172.879543 440.3173 +L 174.97396 451.138977 +L 176.241444 446.870518 +L 174.159789 435.423545 z -" style="fill:#000097;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 152.90607 355.037075 -L 155.111614 354.354227 -L 156.361233 357.842541 -L 154.160904 359.196675 -L 152.90607 355.037075 +" style="fill:#0000a5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 147.4885 382.359159 +L 149.690475 392.141296 +L 150.956101 381.942446 +L 148.755145 375.370407 z -" style="fill:#0000b2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 178.679241 400.057767 -L 180.729588 412.45205 -L 181.891364 414.863332 -L 179.851291 402.690426 -L 178.679241 400.057767 +" style="fill:#0000bf;"/> + <path clip-path="url(#p8946a7ce10)" d="M 157.954781 482.738919 +L 160.167338 482.109685 +L 161.413016 482.351106 +L 159.210126 481.538329 z -" style="fill:#000088;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 171.593956 445.790165 -L 173.701678 455.821956 -L 174.97396 451.138977 -L 172.879543 440.3173 -L 171.593956 445.790165 +" style="fill:#0000c8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 174.159789 435.423545 +L 176.241444 446.870518 +L 177.501262 443.165856 +L 175.431762 431.251751 z -" style="fill:#0000ab;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 162.982696 358.430647 -L 165.18926 360.034909 -L 166.379915 366.149471 -L 164.186192 364.241688 -L 162.982696 358.430647 +" style="fill:#0000a0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 87.941351 414.710481 +L 90.359542 423.9148 +L 91.982972 431.481187 +L 89.581826 422.258307 z -" style="fill:#0000a1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 174.008311 478.773106 +" style="fill:#000080;"/> + <path clip-path="url(#p8946a7ce10)" d="M 137.494481 481.93998 +L 139.678139 481.831173 +L 140.972745 482.3779 +L 138.78785 481.699564 +z +" style="fill:#0000c3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 174.008311 478.773106 L 176.28849 474.979052 L 177.477455 476.726541 L 175.214916 479.39045 -L 174.008311 478.773106 -z -" style="fill:#0000d0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 157.954781 482.738919 -L 160.167338 482.109685 -L 161.413016 482.351106 -L 159.210126 481.538329 -L 157.954781 482.738919 z " style="fill:#0000cd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 146.970289 471.990173 -L 149.166998 475.29063 -L 150.433992 468.498092 -L 148.23335 464.022987 -L 146.970289 471.990173 -z -" style="fill:#0000d4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 170.546975 480.18349 + <path clip-path="url(#p8946a7ce10)" d="M 170.546975 480.18349 L 172.807008 477.182536 L 174.008311 478.773106 L 171.765493 480.524459 -L 170.546975 480.18349 z -" style="fill:#0000cf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 165.18926 360.034909 -L 167.390426 362.492522 -L 168.565835 369.042358 -L 166.379915 366.149471 -L 165.18926 360.034909 +" style="fill:#0000cb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 172.76282 370.304131 +L 174.91421 377.137582 +L 176.046207 383.837038 +L 173.91433 376.599677 z -" style="fill:#00009d;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 147.4885 382.359159 -L 149.690475 392.141296 -L 150.956101 381.942446 -L 148.755145 375.370407 -L 147.4885 382.359159 +" style="fill:#00008a;"/> + <path clip-path="url(#p8946a7ce10)" d="M 127.423594 376.872278 +L 129.500902 368.302175 +L 130.800752 366.891918 +L 128.718463 375.3947 z -" style="fill:#0000b3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 137.494481 481.93998 -L 139.678139 481.831173 -L 140.972745 482.3779 -L 138.78785 481.699564 -L 137.494481 481.93998 +" style="fill:#0000ea;"/> + <path clip-path="url(#p8946a7ce10)" d="M 127.255482 454.615499 +L 129.416891 454.278477 +L 130.60482 442.537647 +L 128.435748 443.117325 z -" style="fill:#0000c5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 143.160328 482.741364 +" style="fill:#0000ef;"/> + <path clip-path="url(#p8946a7ce10)" d="M 143.160328 482.741364 L 145.35133 482.654144 L 146.63048 482.572097 L 144.439016 481.596916 -L 143.160328 482.741364 z -" style="fill:#0000ca;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 136.845559 361.202998 +" style="fill:#0000c7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 146.970289 471.990173 +L 149.166998 475.29063 +L 150.433992 468.498092 +L 148.23335 464.022987 +z +" style="fill:#0000d3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 177.780973 391.104212 +L 179.851291 402.690426 +L 181.000124 406.289275 +L 178.942401 394.82728 +z +" style="fill:#000086;"/> + <path clip-path="url(#p8946a7ce10)" d="M 144.931933 384.33863 +L 147.150405 394.144229 +L 148.427889 398.056021 +L 146.217902 385.905107 +z +" style="fill:#00008a;"/> + <path clip-path="url(#p8946a7ce10)" d="M 124.147414 446.445063 +L 126.28282 444.44704 +L 127.451786 432.065146 +L 125.310495 434.55089 +z +" style="fill:#0000f5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 143.771121 356.156185 +L 145.959384 354.017002 +L 147.24149 355.756904 +L 145.059938 359.056781 +z +" style="fill:#0000c7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 136.845559 361.202998 L 139.002519 356.636558 L 140.302711 357.843431 L 138.151808 363.173279 -L 136.845559 361.202998 z -" style="fill:#0000cd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 175.894545 379.692563 +" style="fill:#0000d4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 176.851597 384.318021 +L 178.942401 394.82728 +L 180.079131 399.560509 L 178.003295 389.050195 -L 179.128668 394.857176 -L 177.03673 385.393838 -L 175.894545 379.692563 -z -" style="fill:#000086;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 175.431762 431.251751 -L 177.501262 443.165856 -L 178.750708 440.13828 -L 176.69271 427.905419 -L 175.431762 431.251751 z -" style="fill:#00009d;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 178.341662 410.479152 -L 180.385922 423.349035 -L 181.580953 423.692495 -L 179.546054 410.972384 -L 178.341662 410.479152 +" style="fill:#000085;"/> + <path clip-path="url(#p8946a7ce10)" d="M 131.81553 479.91838 +L 133.993599 479.842004 +L 135.314123 481.746284 +L 133.136867 481.343786 z -" style="fill:#00008d;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 177.477455 476.726541 -L 179.784772 471.919502 -L 180.961529 473.815175 -L 178.671241 477.642333 -L 177.477455 476.726541 +" style="fill:#0000bc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 121.132322 400.017918 +L 123.159516 390.656512 +L 124.397131 383.928479 +L 122.359004 393.274641 z -" style="fill:#0000d2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 172.879543 440.3173 -L 174.97396 451.138977 -L 176.241444 446.870518 -L 174.159789 435.423545 -L 172.879543 440.3173 +" style="fill:#0000fb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 148.824698 483.016831 +L 151.02357 482.766801 +L 152.290881 482.754122 +L 150.094674 481.734805 z -" style="fill:#0000a6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 167.088358 481.142903 +" style="fill:#0000c7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 167.088358 481.142903 L 169.33394 478.703184 L 170.546975 480.18349 L 168.317316 481.29076 -L 167.088358 481.142903 -z -" style="fill:#0000ce;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 143.771121 356.156185 -L 145.959384 354.017002 -L 147.24149 355.756904 -L 145.059938 359.056781 -L 143.771121 356.156185 -z -" style="fill:#0000bf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 148.824698 483.016831 -L 151.02357 482.766801 -L 152.290881 482.754122 -L 150.094674 481.734805 -L 148.824698 483.016831 z -" style="fill:#0000cb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 174.159789 435.423545 -L 176.241444 446.870518 -L 177.501262 443.165856 -L 175.431762 431.251751 -L 174.159789 435.423545 +" style="fill:#0000c9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 177.477455 476.726541 +L 179.784772 471.919502 +L 180.961529 473.815175 +L 178.671241 477.642333 z -" style="fill:#0000a2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 131.81553 479.91838 -L 133.993599 479.842004 -L 135.314123 481.746284 -L 133.136867 481.343786 -L 131.81553 479.91838 +" style="fill:#0000d0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 94.208347 432.0869 +L 96.552505 439.346292 +L 98.15816 447.467607 +L 95.840459 440.541384 z -" style="fill:#0000bc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 91.11086 424.588676 -L 93.490857 432.872391 -L 95.105845 440.745599 -L 92.749309 432.665571 -L 91.11086 424.588676 +" style="fill:#000083;"/> + <path clip-path="url(#p8946a7ce10)" d="M 165.585258 455.605943 +L 167.734516 463.655572 +L 169.018663 457.698838 +L 166.88078 448.484523 z -" style="fill:#000082;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 160.839741 462.412789 +" style="fill:#0000b7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 160.839741 462.412789 L 163.012266 468.861666 L 164.295193 462.505167 L 162.130724 454.725352 -L 160.839741 462.412789 z -" style="fill:#0000c3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 140.302711 357.843431 +" style="fill:#0000c1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 140.302711 357.843431 L 142.479572 354.796886 L 143.771121 356.156185 L 141.601449 360.250876 -L 140.302711 357.843431 -z -" style="fill:#0000c5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 152.80852 399.220566 -L 155.030623 388.205569 -L 156.303285 384.645975 -L 154.077413 393.296151 -L 152.80852 399.220566 -z -" style="fill:#0000f5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 165.585258 455.605943 -L 167.734516 463.655572 -L 169.018663 457.698838 -L 166.88078 448.484523 -L 165.585258 455.605943 -z -" style="fill:#0000ba;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 126.137835 379.374196 -L 128.207788 370.63409 -L 129.500902 368.302175 -L 127.423594 376.872278 -L 126.137835 379.374196 -z -" style="fill:#0000ea;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 122.359004 393.274641 -L 124.397131 383.928479 -L 125.652828 378.368216 -L 123.603238 387.562225 -L 122.359004 393.274641 z -" style="fill:#0000f4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 154.491972 482.937477 +" style="fill:#0000cd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 154.491972 482.937477 L 156.70143 482.116271 L 157.954781 482.738919 L 155.752488 482.17953 -L 154.491972 482.937477 z -" style="fill:#0000cb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 144.77105 468.557681 -L 146.970289 471.990173 -L 148.23335 464.022987 -L 146.027915 459.557208 -L 144.77105 468.557681 +" style="fill:#0000c6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 163.629157 481.771228 +L 165.864498 479.670766 +L 167.088358 481.142903 +L 164.867017 481.868348 z -" style="fill:#0000d6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 150.433992 468.498092 +" style="fill:#0000c8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 150.433992 468.498092 L 152.630044 472.742089 L 153.903142 465.541213 L 151.705492 460.039834 -L 150.433992 468.498092 z " style="fill:#0000d0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 172.76282 370.304131 -L 174.91421 377.137582 -L 176.046207 383.837038 -L 173.91433 376.599677 -L 172.76282 370.304131 + <path clip-path="url(#p8946a7ce10)" d="M 144.77105 468.557681 +L 146.970289 471.990173 +L 148.23335 464.022987 +L 146.027915 459.557208 z -" style="fill:#00008c;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 129.416891 454.278477 +" style="fill:#0000d6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 155.111614 354.354227 +L 157.321753 354.309244 +L 158.566372 357.335813 +L 156.361233 357.842541 +z +" style="fill:#0000b7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 126.137835 379.374196 +L 128.207788 370.63409 +L 129.500902 368.302175 +L 127.423594 376.872278 +z +" style="fill:#0000ee;"/> + <path clip-path="url(#p8946a7ce10)" d="M 139.678139 481.831173 +L 141.865686 481.315296 +L 143.160328 482.741364 +L 140.972745 482.3779 +z +" style="fill:#0000c0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 157.373647 463.446625 +L 159.557003 469.335763 +L 160.839741 462.412789 +L 158.661037 455.191894 +z +" style="fill:#0000c6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 145.35133 482.654144 +L 147.547119 481.978664 +L 148.824698 483.016831 +L 146.63048 482.572097 +z +" style="fill:#0000c3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 149.436302 353.998498 +L 151.639533 353.463272 +L 152.90607 355.037075 +L 150.707177 356.643778 +z +" style="fill:#0000c1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 153.903142 465.541213 +L 156.09465 470.672259 +L 157.373647 463.446625 +L 155.18349 457.007285 +z +" style="fill:#0000cb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 129.416891 454.278477 L 131.590812 454.583642 L 132.787975 442.756698 L 130.60482 442.537647 -L 129.416891 454.278477 z -" style="fill:#0000e8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 120.425908 419.335317 -L 122.486211 412.543677 -L 123.665827 401.697173 -L 121.59772 408.883847 -L 120.425908 419.335317 +" style="fill:#0000ec;"/> + <path clip-path="url(#p8946a7ce10)" d="M 122.359004 393.274641 +L 124.397131 383.928479 +L 125.652828 378.368216 +L 123.603238 387.562225 z -" style="fill:#0000f9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 163.629157 481.771228 -L 165.864498 479.670766 -L 167.088358 481.142903 -L 164.867017 481.868348 +" style="fill:#0000f8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 132.105275 366.373983 +L 134.232942 360.148989 +L 135.539081 360.25079 +L 133.412954 366.771703 +z +" style="fill:#0000de;"/> + <path clip-path="url(#p8946a7ce10)" d="M 152.80852 399.220566 +L 155.030623 388.205569 +L 156.303285 384.645975 +L 154.077413 393.296151 +z +" style="fill:#0000f4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 150.956101 381.942446 +L 153.1522 385.067268 +L 154.433645 373.904456 +L 152.229367 371.869046 +z +" style="fill:#0000df;"/> + <path clip-path="url(#p8946a7ce10)" d="M 160.167338 482.109685 +L 162.395211 480.154284 L 163.629157 481.771228 +L 161.413016 482.351106 z -" style="fill:#0000cc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 87.941351 414.710481 -L 90.359542 423.9148 -L 91.982972 431.481187 -L 89.581826 422.258307 -L 87.941351 414.710481 +" style="fill:#0000c6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 84.700551 402.785543 +L 87.151259 412.586707 +L 88.776732 419.623995 +L 86.333219 409.51118 z -" style="fill:#000081;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 144.931933 384.33863 -L 147.150405 394.144229 -L 148.427889 398.056021 -L 146.217902 385.905107 -L 144.931933 384.33863 +" style="fill:#000080;"/> + <path clip-path="url(#p8946a7ce10)" d="M 133.993599 479.842004 +L 136.1749 479.444784 +L 137.494481 481.93998 +L 135.314123 481.746284 z -" style="fill:#000092;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 177.780973 391.104212 -L 179.851291 402.690426 -L 181.000124 406.289275 -L 178.942401 394.82728 -L 177.780973 391.104212 +" style="fill:#0000ba;"/> + <path clip-path="url(#p8946a7ce10)" d="M 177.117801 411.002299 +L 179.171826 423.930477 +L 180.385922 423.349035 +L 178.341662 410.479152 z -" style="fill:#000086;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 123.190142 437.744552 -L 125.310495 434.55089 -L 126.475017 421.915776 -L 124.348313 425.62493 -L 123.190142 437.744552 +" style="fill:#000090;"/> + <path clip-path="url(#p8946a7ce10)" d="M 151.02357 482.766801 +L 153.229757 481.669985 +L 154.491972 482.937477 +L 152.290881 482.754122 z -" style="fill:#0000f3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 176.851597 384.318021 -L 178.942401 394.82728 -L 180.079131 399.560509 -L 178.003295 389.050195 -L 176.851597 384.318021 +" style="fill:#0000c4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 120.425908 419.335317 +L 122.486211 412.543677 +L 123.665827 401.697173 +L 121.59772 408.883847 z -" style="fill:#000086;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 150.956101 381.942446 -L 153.1522 385.067268 -L 154.433645 373.904456 -L 152.229367 371.869046 -L 150.956101 381.942446 +" style="fill:#0000fe;"/> + <path clip-path="url(#p8946a7ce10)" d="M 142.569687 465.195365 +L 144.77105 468.557681 +L 146.027915 459.557208 +L 143.818503 455.317009 z " style="fill:#0000d9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 132.105275 366.373983 -L 134.232942 360.148989 -L 135.539081 360.25079 -L 133.412954 366.771703 -L 132.105275 366.373983 + <path clip-path="url(#p8946a7ce10)" d="M 123.190142 437.744552 +L 125.310495 434.55089 +L 126.475017 421.915776 +L 124.348313 425.62493 z -" style="fill:#0000d9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 124.86357 382.928866 +" style="fill:#0000f8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 124.86357 382.928866 L 126.924072 373.959918 L 128.207788 370.63409 L 126.137835 379.374196 -L 124.86357 382.928866 -z -" style="fill:#0000ed;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 123.603238 387.562225 -L 125.652828 378.368216 -L 126.924072 373.959918 -L 124.86357 382.928866 -L 123.603238 387.562225 z " style="fill:#0000f1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 157.373647 463.446625 -L 159.557003 469.335763 -L 160.839741 462.412789 -L 158.661037 455.191894 -L 157.373647 463.446625 -z -" style="fill:#0000c8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 153.903142 465.541213 -L 156.09465 470.672259 -L 157.373647 463.446625 -L 155.18349 457.007285 -L 153.903142 465.541213 -z -" style="fill:#0000cc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 155.111614 354.354227 -L 157.321753 354.309244 -L 158.566372 357.335813 -L 156.361233 357.842541 -L 155.111614 354.354227 -z -" style="fill:#0000b3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 139.678139 481.831173 -L 141.865686 481.315296 -L 143.160328 482.741364 -L 140.972745 482.3779 -L 139.678139 481.831173 -z -" style="fill:#0000c3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 145.35133 482.654144 -L 147.547119 481.978664 -L 148.824698 483.016831 -L 146.63048 482.572097 -L 145.35133 482.654144 + <path clip-path="url(#p8946a7ce10)" d="M 166.88078 448.484523 +L 169.018663 457.698838 +L 170.306024 451.658318 +L 168.179431 441.441517 z -" style="fill:#0000c7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 94.208347 432.0869 -L 96.552505 439.346292 -L 98.15816 447.467607 -L 95.840459 440.541384 -L 94.208347 432.0869 +" style="fill:#0000b2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 123.603238 387.562225 +L 125.652828 378.368216 +L 126.924072 373.959918 +L 124.86357 382.928866 z -" style="fill:#000084;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 149.436302 353.998498 -L 151.639533 353.463272 -L 152.90607 355.037075 -L 150.707177 356.643778 -L 149.436302 353.998498 +" style="fill:#0000f5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 170.586669 364.963028 +L 172.76282 370.304131 +L 173.91433 376.599677 +L 171.758069 370.645868 z -" style="fill:#0000b9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 142.569687 465.195365 -L 144.77105 468.557681 -L 146.027915 459.557208 -L 143.818503 455.317009 -L 142.569687 465.195365 +" style="fill:#000091;"/> + <path clip-path="url(#p8946a7ce10)" d="M 177.484947 398.446851 +L 179.546054 410.972384 +L 180.729588 412.45205 +L 178.679241 400.057767 z -" style="fill:#0000d8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 120.742687 407.265252 -L 122.786665 399.039152 -L 123.996035 390.141475 -L 121.941416 398.488102 -L 120.742687 407.265252 +" style="fill:#00008a;"/> + <path clip-path="url(#p8946a7ce10)" d="M 162.130724 454.725352 +L 164.295193 462.505167 +L 165.585258 455.605943 +L 163.429017 446.634145 z -" style="fill:#0000f8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 160.167338 482.109685 -L 162.395211 480.154284 -L 163.629157 481.771228 -L 161.413016 482.351106 -L 160.167338 482.109685 +" style="fill:#0000bc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 157.321753 354.309244 +L 159.535368 354.685509 +L 160.774211 357.547654 +L 158.566372 357.335813 z -" style="fill:#0000cb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 151.02357 482.766801 -L 153.229757 481.669985 -L 154.491972 482.937477 -L 152.290881 482.754122 -L 151.02357 482.766801 +" style="fill:#0000b6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 148.755145 375.370407 +L 150.956101 381.942446 +L 152.229367 371.869046 +L 150.025203 367.586664 z -" style="fill:#0000c9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 133.993599 479.842004 -L 136.1749 479.444784 -L 137.494481 481.93998 -L 135.314123 481.746284 -L 133.993599 479.842004 +" style="fill:#0000cd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 148.23335 464.022987 +L 150.433992 468.498092 +L 151.705492 460.039834 +L 149.500607 454.447953 z -" style="fill:#0000bb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 131.590812 454.583642 +" style="fill:#0000d2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 131.590812 454.583642 L 133.775237 455.548758 L 134.982659 443.791496 L 132.787975 442.756698 -L 131.590812 454.583642 z -" style="fill:#0000e5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 153.1522 385.067268 +" style="fill:#0000e9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 120.742687 407.265252 +L 122.786665 399.039152 +L 123.996035 390.141475 +L 121.941416 398.488102 +z +" style="fill:#0000fe;"/> + <path clip-path="url(#p8946a7ce10)" d="M 153.1522 385.067268 L 155.358836 383.082244 L 156.647593 372.993819 L 154.433645 373.904456 -L 153.1522 385.067268 z -" style="fill:#0000ee;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 121.322244 423.824325 -L 123.40469 418.180981 -L 124.576168 406.457208 -L 122.486211 412.543677 -L 121.322244 423.824325 +" style="fill:#0000f2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 156.70143 482.116271 +L 158.923409 480.153137 +L 160.167338 482.109685 +L 157.954781 482.738919 z -" style="fill:#0000f7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 126.28282 444.44704 +" style="fill:#0000c4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 140.367405 462.081081 +L 142.569687 465.195365 +L 143.818503 455.317009 +L 141.606776 451.487684 +z +" style="fill:#0000dd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 145.959384 354.017002 +L 148.159603 353.596974 +L 149.436302 353.998498 +L 147.24149 355.756904 +z +" style="fill:#0000c6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 126.28282 444.44704 L 128.435748 443.117325 L 129.612834 430.39449 L 127.451786 432.065146 -L 126.28282 444.44704 z -" style="fill:#0000ee;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 122.245742 430.05546 +" style="fill:#0000f3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 173.752757 371.83905 +L 175.894545 379.692563 +L 177.03673 385.393838 +L 174.91421 377.137582 +z +" style="fill:#00008a;"/> + <path clip-path="url(#p8946a7ce10)" d="M 122.245742 430.05546 L 124.348313 425.62493 L 125.514199 413.257316 L 123.40469 418.180981 -L 122.245742 430.05546 z -" style="fill:#0000f6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 154.077413 393.296151 +" style="fill:#0000fb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 121.322244 423.824325 +L 123.40469 418.180981 +L 124.576168 406.457208 +L 122.486211 412.543677 +z +" style="fill:#0000fd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 141.865686 481.315296 +L 144.05818 480.282925 +L 145.35133 482.654144 +L 143.160328 482.741364 +z +" style="fill:#0000be;"/> + <path clip-path="url(#p8946a7ce10)" d="M 154.077413 393.296151 L 156.303285 384.645975 L 157.587272 377.634919 L 155.358836 383.082244 -L 154.077413 393.296151 -z -" style="fill:#0000fa;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 166.88078 448.484523 -L 169.018663 457.698838 -L 170.306024 451.658318 -L 168.179431 441.441517 -L 166.88078 448.484523 -z -" style="fill:#0000b4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 140.367405 462.081081 -L 142.569687 465.195365 -L 143.818503 455.317009 -L 141.606776 451.487684 -L 140.367405 462.081081 z -" style="fill:#0000da;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 148.23335 464.022987 -L 150.433992 468.498092 -L 151.705492 460.039834 -L 149.500607 454.447953 -L 148.23335 464.022987 +" style="fill:#0000fb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 145.852181 385.908653 +L 148.064139 389.05181 +L 149.349647 399.647878 +L 147.150405 394.144229 z -" style="fill:#0000d2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 148.755145 375.370407 -L 150.956101 381.942446 -L 152.229367 371.869046 -L 150.025203 367.586664 -L 148.755145 375.370407 +" style="fill:#00008b;"/> + <path clip-path="url(#p8946a7ce10)" d="M 88.704246 415.871959 +L 91.11086 424.588676 +L 92.749309 432.665571 +L 90.359542 423.9148 z -" style="fill:#0000c3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 177.117801 411.002299 -L 179.171826 423.930477 -L 180.385922 423.349035 -L 178.341662 410.479152 -L 177.117801 411.002299 +" style="fill:#000080;"/> + <path clip-path="url(#p8946a7ce10)" d="M 143.990946 375.144074 +L 146.217902 385.905107 +L 147.4885 382.359159 +L 145.270506 372.692034 z -" style="fill:#000091;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 162.130724 454.725352 -L 164.295193 462.505167 -L 165.585258 455.605943 -L 163.429017 446.634145 -L 162.130724 454.725352 +" style="fill:#0000a3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 147.547119 481.978664 +L 149.749714 480.583874 +L 151.02357 482.766801 +L 148.824698 483.016831 z -" style="fill:#0000be;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 133.775237 455.548758 +" style="fill:#0000c0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 133.775237 455.548758 L 135.967814 457.158314 L 137.186011 445.627867 L 134.982659 443.791496 -L 133.775237 455.548758 -z -" style="fill:#0000e3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 156.70143 482.116271 -L 158.923409 480.153137 -L 160.167338 482.109685 -L 157.954781 482.738919 -L 156.70143 482.116271 z -" style="fill:#0000c9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 157.321753 354.309244 -L 159.535368 354.685509 -L 160.774211 357.547654 -L 158.566372 357.335813 -L 157.321753 354.309244 +" style="fill:#0000e6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 151.639533 353.463272 +L 153.847883 353.722899 +L 155.111614 354.354227 +L 152.90607 355.037075 z -" style="fill:#0000b3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 138.16603 459.363323 +" style="fill:#0000c2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 138.16603 459.363323 L 140.367405 462.081081 L 141.606776 451.487684 L 139.395036 448.219762 -L 138.16603 459.363323 +z +" style="fill:#0000e0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 135.539081 360.25079 +L 137.701382 356.355684 +L 139.002519 356.636558 +L 136.845559 361.202998 +z +" style="fill:#0000d6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 145.270506 372.692034 +L 147.4885 382.359159 +L 148.755145 375.370407 +L 146.543333 367.995404 +z +" style="fill:#0000b5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 151.546572 395.306387 +L 153.765349 386.639977 +L 155.030623 388.205569 +L 152.80852 399.220566 z " style="fill:#0000dd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 84.700551 402.785543 -L 87.151259 412.586707 -L 88.776732 419.623995 -L 86.333219 409.51118 -L 84.700551 402.785543 + <path clip-path="url(#p8946a7ce10)" d="M 168.179431 441.441517 +L 170.306024 451.658318 +L 171.593956 445.790165 +L 169.47844 434.743409 z -" style="fill:#000082;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 145.959384 354.017002 -L 148.159603 353.596974 -L 149.436302 353.998498 -L 147.24149 355.756904 -L 145.959384 354.017002 +" style="fill:#0000ae;"/> + <path clip-path="url(#p8946a7ce10)" d="M 136.1749 479.444784 +L 138.360084 478.652011 +L 139.678139 481.831173 +L 137.494481 481.93998 z -" style="fill:#0000bd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 135.967814 457.158314 +" style="fill:#0000b8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 135.967814 457.158314 L 138.16603 459.363323 L 139.395036 448.219762 L 137.186011 445.627867 -L 135.967814 457.158314 z -" style="fill:#0000e0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 170.586669 364.963028 -L 172.76282 370.304131 -L 173.91433 376.599677 -L 171.758069 370.645868 -L 170.586669 364.963028 +" style="fill:#0000e3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 169.33394 478.703184 +L 171.610156 474.521416 +L 172.807008 477.182536 +L 170.546975 480.18349 z -" style="fill:#000093;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 151.546572 395.306387 -L 153.765349 386.639977 -L 155.030623 388.205569 -L 152.80852 399.220566 -L 151.546572 395.306387 -z -" style="fill:#0000cf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 141.865686 481.315296 -L 144.05818 480.282925 -L 145.35133 482.654144 -L 143.160328 482.741364 -L 141.865686 481.315296 -z -" style="fill:#0000c1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 135.539081 360.25079 -L 137.701382 356.355684 -L 139.002519 356.636558 -L 136.845559 361.202998 -L 135.539081 360.25079 -z -" style="fill:#0000cf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 147.547119 481.978664 -L 149.749714 480.583874 -L 151.02357 482.766801 -L 148.824698 483.016831 -L 147.547119 481.978664 -z -" style="fill:#0000c4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 177.484947 398.446851 -L 179.546054 410.972384 -L 180.729588 412.45205 -L 178.679241 400.057767 -L 177.484947 398.446851 -z -" style="fill:#00008b;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 151.639533 353.463272 -L 153.847883 353.722899 -L 155.111614 354.354227 -L 152.90607 355.037075 -L 151.639533 353.463272 -z -" style="fill:#0000bb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 169.33394 478.703184 -L 171.610156 474.521416 -L 172.807008 477.182536 -L 170.546975 480.18349 -L 169.33394 478.703184 +" style="fill:#0000ca;"/> + <path clip-path="url(#p8946a7ce10)" d="M 142.479572 354.796886 +L 144.674876 353.996531 +L 145.959384 354.017002 +L 143.771121 356.156185 z -" style="fill:#0000cd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 172.807008 477.182536 +" style="fill:#0000ca;"/> + <path clip-path="url(#p8946a7ce10)" d="M 172.807008 477.182536 L 175.103879 472.308526 L 176.28849 474.979052 L 174.008311 478.773106 -L 172.807008 477.182536 -z -" style="fill:#0000cf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 151.705492 460.039834 -L 153.903142 465.541213 -L 155.18349 457.007285 -L 152.984266 450.338056 -L 151.705492 460.039834 z " style="fill:#0000cd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 130.800752 366.891918 -L 132.927636 360.76949 -L 134.232942 360.148989 -L 132.105275 366.373983 -L 130.800752 366.891918 -z -" style="fill:#0000dd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 142.479572 354.796886 -L 144.674876 353.996531 -L 145.959384 354.017002 -L 143.771121 356.156185 -L 142.479572 354.796886 -z -" style="fill:#0000c1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 136.1749 479.444784 -L 138.360084 478.652011 -L 139.678139 481.831173 -L 137.494481 481.93998 -L 136.1749 479.444784 + <path clip-path="url(#p8946a7ce10)" d="M 91.836866 424.277711 +L 94.208347 432.0869 +L 95.840459 440.541384 +L 93.490857 432.872391 z -" style="fill:#0000ba;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 145.270506 372.692034 -L 147.4885 382.359159 -L 148.755145 375.370407 -L 146.543333 367.995404 -L 145.270506 372.692034 +" style="fill:#000081;"/> + <path clip-path="url(#p8946a7ce10)" d="M 159.535368 354.685509 +L 161.751533 355.402438 +L 162.982696 358.430647 +L 160.774211 357.547654 z -" style="fill:#0000ab;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 143.990946 375.144074 -L 146.217902 385.905107 -L 147.4885 382.359159 -L 145.270506 372.692034 -L 143.990946 375.144074 +" style="fill:#0000b3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 175.876185 412.553207 +L 177.940133 425.452597 +L 179.171826 423.930477 +L 177.117801 411.002299 z -" style="fill:#00009f;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 168.179431 441.441517 -L 170.306024 451.658318 -L 171.593956 445.790165 -L 169.47844 434.743409 -L 168.179431 441.441517 +" style="fill:#000094;"/> + <path clip-path="url(#p8946a7ce10)" d="M 151.705492 460.039834 +L 153.903142 465.541213 +L 155.18349 457.007285 +L 152.984266 450.338056 z -" style="fill:#0000af;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 158.661037 455.191894 +" style="fill:#0000cd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 158.661037 455.191894 L 160.839741 462.412789 L 162.130724 454.725352 L 159.956894 446.30369 -L 158.661037 455.191894 z -" style="fill:#0000c3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 165.864498 479.670766 +" style="fill:#0000c2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 165.864498 479.670766 L 168.125008 475.987533 L 169.33394 478.703184 L 167.088358 481.142903 -L 165.864498 479.670766 -z -" style="fill:#0000cc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 173.752757 371.83905 -L 175.894545 379.692563 -L 177.03673 385.393838 -L 174.91421 377.137582 -L 173.752757 371.83905 z -" style="fill:#00008c;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 139.002519 356.636558 +" style="fill:#0000c8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 139.002519 356.636558 L 141.186719 354.66232 L 142.479572 354.796886 L 140.302711 357.843431 -L 139.002519 356.636558 -z -" style="fill:#0000c7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 159.535368 354.685509 -L 161.751533 355.402438 -L 162.982696 358.430647 -L 160.774211 357.547654 -L 159.535368 354.685509 -z -" style="fill:#0000b3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 146.027915 459.557208 -L 148.23335 464.022987 -L 149.500607 454.447953 -L 147.288648 449.022339 -L 146.027915 459.557208 z -" style="fill:#0000d4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 176.28849 474.979052 -L 178.612071 469.225953 -L 179.784772 471.919502 -L 177.477455 476.726541 -L 176.28849 474.979052 +" style="fill:#0000cf;"/> + <path clip-path="url(#p8946a7ce10)" d="M 168.391451 361.037027 +L 170.586669 364.963028 +L 171.758069 370.645868 +L 169.581731 365.976126 z -" style="fill:#0000d1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 145.852181 385.908653 -L 148.064139 389.05181 -L 149.349647 399.647878 -L 147.150405 394.144229 -L 145.852181 385.908653 +" style="fill:#000099;"/> + <path clip-path="url(#p8946a7ce10)" d="M 130.800752 366.891918 +L 132.927636 360.76949 +L 134.232942 360.148989 +L 132.105275 366.373983 z -" style="fill:#000092;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 153.229757 481.669985 +" style="fill:#0000e1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 153.229757 481.669985 L 155.446584 479.596974 L 156.70143 482.116271 L 154.491972 482.937477 -L 153.229757 481.669985 z -" style="fill:#0000c6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 155.18349 457.007285 +" style="fill:#0000c2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 176.28849 474.979052 +L 178.612071 469.225953 +L 179.784772 471.919502 +L 177.477455 476.726541 +z +" style="fill:#0000cf;"/> + <path clip-path="url(#p8946a7ce10)" d="M 155.18349 457.007285 L 157.373647 463.446625 L 158.661037 455.191894 L 156.472421 447.558924 -L 155.18349 457.007285 z " style="fill:#0000c8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 128.435748 443.117325 -L 130.60482 442.537647 -L 131.791627 429.611252 -L 129.612834 430.39449 -L 128.435748 443.117325 -z -" style="fill:#0000ec;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 121.941416 398.488102 -L 123.996035 390.141475 -L 125.22688 382.426306 -L 123.159516 390.656512 -L 121.941416 398.488102 -z -" style="fill:#0000f7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 88.704246 415.871959 -L 91.11086 424.588676 -L 92.749309 432.665571 -L 90.359542 423.9148 -L 88.704246 415.871959 -z -" style="fill:#000081;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 175.876185 412.553207 -L 177.940133 425.452597 -L 179.171826 423.930477 -L 177.117801 411.002299 -L 175.876185 412.553207 + <path clip-path="url(#p8946a7ce10)" d="M 85.502365 405.326108 +L 87.941351 414.710481 +L 89.581826 422.258307 +L 87.151259 412.586707 z -" style="fill:#000094;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 125.310495 434.55089 -L 127.451786 432.065146 -L 128.624942 419.057242 -L 126.475017 421.915776 -L 125.310495 434.55089 +" style="fill:#000080;"/> + <path clip-path="url(#p8946a7ce10)" d="M 146.027915 459.557208 +L 148.23335 464.022987 +L 149.500607 454.447953 +L 147.288648 449.022339 z -" style="fill:#0000f1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 162.395211 480.154284 -L 164.643726 476.788783 -L 165.864498 479.670766 -L 163.629157 481.771228 -L 162.395211 480.154284 +" style="fill:#0000d5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 148.064139 389.05181 +L 150.273546 387.062982 +L 151.546572 395.306387 +L 149.349647 399.647878 z -" style="fill:#0000ca;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 168.391451 361.037027 -L 170.586669 364.963028 -L 171.758069 370.645868 -L 169.581731 365.976126 -L 168.391451 361.037027 +" style="fill:#0000a7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 161.751533 355.402438 +L 163.968591 356.542141 +L 165.18926 360.034909 +L 162.982696 358.430647 z -" style="fill:#00009b;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 148.159603 353.596974 +" style="fill:#0000af;"/> + <path clip-path="url(#p8946a7ce10)" d="M 148.159603 353.596974 L 150.366119 354.446628 L 151.639533 353.463272 L 149.436302 353.998498 -L 148.159603 353.596974 -z -" style="fill:#0000be;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 152.229367 371.869046 -L 154.433645 373.904456 -L 155.718692 364.82314 -L 153.507798 363.441 -L 152.229367 371.869046 z -" style="fill:#0000da;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 121.59772 408.883847 -L 123.665827 401.697173 -L 124.865938 391.729796 -L 122.786665 399.039152 -L 121.59772 408.883847 +" style="fill:#0000c7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 176.595927 388.446227 +L 178.679241 400.057767 +L 179.851291 402.690426 +L 177.780973 391.104212 z -" style="fill:#0000f8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 91.836866 424.277711 -L 94.208347 432.0869 -L 95.840459 440.541384 -L 93.490857 432.872391 -L 91.836866 424.277711 +" style="fill:#000089;"/> + <path clip-path="url(#p8946a7ce10)" d="M 162.395211 480.154284 +L 164.643726 476.788783 +L 165.864498 479.670766 +L 163.629157 481.771228 z -" style="fill:#000082;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 161.751533 355.402438 -L 163.968591 356.542141 -L 165.18926 360.034909 -L 162.982696 358.430647 -L 161.751533 355.402438 +" style="fill:#0000c5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 169.47844 434.743409 +L 171.593956 445.790165 +L 172.879543 440.3173 +L 170.774817 428.612625 z -" style="fill:#0000b0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 146.543333 367.995404 +" style="fill:#0000a9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 146.543333 367.995404 L 148.755145 375.370407 L 150.025203 367.586664 L 147.815796 362.529175 -L 146.543333 367.995404 -z -" style="fill:#0000b8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 148.064139 389.05181 -L 150.273546 387.062982 -L 151.546572 395.306387 -L 149.349647 399.647878 -L 148.064139 389.05181 z -" style="fill:#00009e;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 153.847883 353.722899 +" style="fill:#0000c2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 153.847883 353.722899 L 156.059967 354.330602 L 157.321753 354.309244 L 155.111614 354.354227 -L 153.847883 353.722899 z -" style="fill:#0000be;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 163.429017 446.634145 +" style="fill:#0000c4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 166.18346 358.3237 +L 168.391451 361.037027 +L 169.581731 365.976126 +L 167.390426 362.492522 +z +" style="fill:#0000a1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 163.429017 446.634145 L 165.585258 455.605943 L 166.88078 448.484523 L 164.732824 438.488004 -L 163.429017 446.634145 -z -" style="fill:#0000b9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 150.025203 367.586664 -L 152.229367 371.869046 -L 153.507798 363.441 -L 151.299569 360.769625 -L 150.025203 367.586664 -z -" style="fill:#0000cb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 169.47844 434.743409 -L 171.593956 445.790165 -L 172.879543 440.3173 -L 170.774817 428.612625 -L 169.47844 434.743409 -z -" style="fill:#0000aa;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 155.358836 383.082244 -L 157.587272 377.634919 -L 158.878171 369.826758 -L 156.647593 372.993819 -L 155.358836 383.082244 z -" style="fill:#0000f6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 166.18346 358.3237 -L 168.391451 361.037027 -L 169.581731 365.976126 -L 167.390426 362.492522 -L 166.18346 358.3237 +" style="fill:#0000b8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 174.724978 375.260413 +L 176.851597 384.318021 +L 178.003295 389.050195 +L 175.894545 379.692563 z -" style="fill:#0000a4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 163.968591 356.542141 +" style="fill:#000089;"/> + <path clip-path="url(#p8946a7ce10)" d="M 163.968591 356.542141 L 166.18346 358.3237 L 167.390426 362.492522 L 165.18926 360.034909 -L 163.968591 356.542141 z -" style="fill:#0000ab;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 144.05818 480.282925 +" style="fill:#0000a9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 152.229367 371.869046 +L 154.433645 373.904456 +L 155.718692 364.82314 +L 153.507798 363.441 +z +" style="fill:#0000df;"/> + <path clip-path="url(#p8946a7ce10)" d="M 174.618777 415.126974 +L 176.69271 427.905419 +L 177.940133 425.452597 +L 175.876185 412.553207 +z +" style="fill:#000098;"/> + <path clip-path="url(#p8946a7ce10)" d="M 128.435748 443.117325 +L 130.60482 442.537647 +L 131.791627 429.611252 +L 129.612834 430.39449 +z +" style="fill:#0000f0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 150.025203 367.586664 +L 152.229367 371.869046 +L 153.507798 363.441 +L 151.299569 360.769625 +z +" style="fill:#0000d3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 144.05818 480.282925 L 146.257207 478.62676 L 147.547119 481.978664 L 145.35133 482.654144 -L 144.05818 480.282925 z -" style="fill:#0000be;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 85.502365 405.326108 -L 87.941351 414.710481 -L 89.581826 422.258307 -L 87.151259 412.586707 -L 85.502365 405.326108 +" style="fill:#0000bb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 142.697511 374.648046 +L 144.931933 384.33863 +L 146.217902 385.905107 +L 143.990946 375.144074 z -" style="fill:#000082;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 143.818503 455.317009 -L 146.027915 459.557208 -L 147.288648 449.022339 -L 145.070857 443.986882 -L 143.818503 455.317009 +" style="fill:#000093;"/> + <path clip-path="url(#p8946a7ce10)" d="M 121.941416 398.488102 +L 123.996035 390.141475 +L 125.22688 382.426306 +L 123.159516 390.656512 z -" style="fill:#0000d7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 144.674876 353.996531 +" style="fill:#0000fc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 175.674586 380.731769 +L 177.780973 391.104212 +L 178.942401 394.82728 +L 176.851597 384.318021 +z +" style="fill:#000089;"/> + <path clip-path="url(#p8946a7ce10)" d="M 144.674876 353.996531 L 146.880759 355.146477 L 148.159603 353.596974 L 145.959384 354.017002 -L 144.674876 353.996531 z -" style="fill:#0000be;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 176.595927 388.446227 -L 178.679241 400.057767 -L 179.851291 402.690426 -L 177.780973 391.104212 -L 176.595927 388.446227 +" style="fill:#0000c8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 125.310495 434.55089 +L 127.451786 432.065146 +L 128.624942 419.057242 +L 126.475017 421.915776 z -" style="fill:#00008a;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 129.500902 368.302175 -L 131.624106 362.065704 -L 132.927636 360.76949 -L 130.800752 366.891918 -L 129.500902 368.302175 +" style="fill:#0000f6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 138.360084 478.652011 +L 140.55012 477.382257 +L 141.865686 481.315296 +L 139.678139 481.831173 z -" style="fill:#0000e1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 158.923409 480.153137 +" style="fill:#0000b6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 170.774817 428.612625 +L 172.879543 440.3173 +L 174.159789 435.423545 +L 172.065551 423.222868 +z +" style="fill:#0000a4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 158.923409 480.153137 L 161.162486 476.95338 L 162.395211 480.154284 L 160.167338 482.109685 -L 158.923409 480.153137 z -" style="fill:#0000c7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 154.433645 373.904456 -L 156.647593 372.993819 -L 157.937848 364.552732 -L 155.718692 364.82314 -L 154.433645 373.904456 +" style="fill:#0000c3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 143.626417 379.303202 +L 145.852181 385.908653 +L 147.150405 394.144229 +L 144.931933 384.33863 z -" style="fill:#0000e7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 138.360084 478.652011 -L 140.55012 477.382257 -L 141.865686 481.315296 -L 139.678139 481.831173 -L 138.360084 478.652011 +" style="fill:#000086;"/> + <path clip-path="url(#p8946a7ce10)" d="M 149.749714 480.583874 +L 151.961746 478.354263 +L 153.229757 481.669985 +L 151.02357 482.766801 z -" style="fill:#0000b9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 150.366119 354.446628 +" style="fill:#0000be;"/> + <path clip-path="url(#p8946a7ce10)" d="M 150.366119 354.446628 L 152.575376 355.951343 L 153.847883 353.722899 L 151.639533 353.463272 -L 150.366119 354.446628 z -" style="fill:#0000c2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 174.724978 375.260413 -L 176.851597 384.318021 -L 178.003295 389.050195 -L 175.894545 379.692563 -L 174.724978 375.260413 +" style="fill:#0000ca;"/> + <path clip-path="url(#p8946a7ce10)" d="M 176.269926 397.88288 +L 178.341662 410.479152 +L 179.546054 410.972384 +L 177.484947 398.446851 z -" style="fill:#00008b;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 149.749714 480.583874 -L 151.961746 478.354263 -L 153.229757 481.669985 -L 151.02357 482.766801 -L 149.749714 480.583874 +" style="fill:#00008e;"/> + <path clip-path="url(#p8946a7ce10)" d="M 121.59772 408.883847 +L 123.665827 401.697173 +L 124.865938 391.729796 +L 122.786665 399.039152 z -" style="fill:#0000c2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 174.618777 415.126974 +" style="fill:#0000fe;"/> + <path clip-path="url(#p8946a7ce10)" d="M 173.347759 418.699896 +L 175.431762 431.251751 L 176.69271 427.905419 -L 177.940133 425.452597 -L 175.876185 412.553207 L 174.618777 415.126974 z -" style="fill:#000098;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 134.232942 360.148989 -L 136.399043 356.715334 -L 137.701382 356.355684 -L 135.539081 360.25079 -L 134.232942 360.148989 +" style="fill:#00009c;"/> + <path clip-path="url(#p8946a7ce10)" d="M 143.818503 455.317009 +L 146.027915 459.557208 +L 147.288648 449.022339 +L 145.070857 443.986882 z -" style="fill:#0000d2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 149.500607 454.447953 -L 151.705492 460.039834 -L 152.984266 450.338056 -L 150.775192 443.739841 -L 149.500607 454.447953 +" style="fill:#0000d9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 129.500902 368.302175 +L 131.624106 362.065704 +L 132.927636 360.76949 +L 130.800752 366.891918 z -" style="fill:#0000cf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 142.697511 374.648046 -L 144.931933 384.33863 -L 146.217902 385.905107 -L 143.990946 375.144074 -L 142.697511 374.648046 +" style="fill:#0000e4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 172.065551 423.222868 +L 174.159789 435.423545 +L 175.431762 431.251751 +L 173.347759 418.699896 z -" style="fill:#000097;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 147.815796 362.529175 +" style="fill:#0000a0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 156.059967 354.330602 +L 158.275961 354.941862 +L 159.535368 354.685509 +L 157.321753 354.309244 +z +" style="fill:#0000c5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 155.358836 383.082244 +L 157.587272 377.634919 +L 158.878171 369.826758 +L 156.647593 372.993819 +z +" style="fill:#0000f7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 147.815796 362.529175 L 150.025203 367.586664 L 151.299569 360.769625 L 149.09041 357.678567 -L 147.815796 362.529175 z -" style="fill:#0000c0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 130.60482 442.537647 -L 132.787975 442.756698 -L 133.985552 429.757225 -L 131.791627 429.611252 -L 130.60482 442.537647 +" style="fill:#0000ca;"/> + <path clip-path="url(#p8946a7ce10)" d="M 171.580967 365.687354 +L 173.752757 371.83905 +L 174.91421 377.137582 +L 172.76282 370.304131 z -" style="fill:#0000e9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 170.774817 428.612625 -L 172.879543 440.3173 -L 174.159789 435.423545 -L 172.065551 423.222868 -L 170.774817 428.612625 +" style="fill:#000091;"/> + <path clip-path="url(#p8946a7ce10)" d="M 134.232942 360.148989 +L 136.399043 356.715334 +L 137.701382 356.355684 +L 135.539081 360.25079 z -" style="fill:#0000a5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 156.059967 354.330602 -L 158.275961 354.941862 -L 159.535368 354.685509 -L 157.321753 354.309244 -L 156.059967 354.330602 +" style="fill:#0000d7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 149.500607 454.447953 +L 151.705492 460.039834 +L 152.984266 450.338056 +L 150.775192 443.739841 z -" style="fill:#0000c1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 141.186719 354.66232 +" style="fill:#0000d0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 154.433645 373.904456 +L 156.647593 372.993819 +L 157.937848 364.552732 +L 155.718692 364.82314 +z +" style="fill:#0000eb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 141.186719 354.66232 L 143.389613 355.24803 L 144.674876 353.996531 L 142.479572 354.796886 -L 141.186719 354.66232 -z -" style="fill:#0000c1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 123.159516 390.656512 -L 125.22688 382.426306 -L 126.478202 376.010378 -L 124.397131 383.928479 -L 123.159516 390.656512 -z -" style="fill:#0000f5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 175.674586 380.731769 -L 177.780973 391.104212 -L 178.942401 394.82728 -L 176.851597 384.318021 -L 175.674586 380.731769 z -" style="fill:#00008a;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 146.880759 355.146477 +" style="fill:#0000ca;"/> + <path clip-path="url(#p8946a7ce10)" d="M 146.880759 355.146477 L 149.09041 357.678567 L 150.366119 354.446628 L 148.159603 353.596974 -L 146.880759 355.146477 z -" style="fill:#0000bf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 124.348313 425.62493 -L 126.475017 421.915776 -L 127.650242 409.208152 -L 125.514199 413.257316 -L 124.348313 425.62493 +" style="fill:#0000c9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 149.09041 357.678567 +L 151.299569 360.769625 +L 152.575376 355.951343 +L 150.366119 354.446628 z -" style="fill:#0000f4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 173.347759 418.699896 -L 175.431762 431.251751 -L 176.69271 427.905419 -L 174.618777 415.126974 -L 173.347759 418.699896 -z -" style="fill:#00009c;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 143.626417 379.303202 -L 145.852181 385.908653 -L 147.150405 394.144229 -L 144.931933 384.33863 -L 143.626417 379.303202 +" style="fill:#0000cd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 152.575376 355.951343 +L 154.786615 357.441749 +L 156.059967 354.330602 +L 153.847883 353.722899 z -" style="fill:#000091;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 149.09041 357.678567 -L 151.299569 360.769625 -L 152.575376 355.951343 -L 150.366119 354.446628 -L 149.09041 357.678567 +" style="fill:#0000ce;"/> + <path clip-path="url(#p8946a7ce10)" d="M 159.956894 446.30369 +L 162.130724 454.725352 +L 163.429017 446.634145 +L 161.260231 437.179862 z -" style="fill:#0000c4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 172.065551 423.222868 -L 174.159789 435.423545 -L 175.431762 431.251751 -L 173.347759 418.699896 -L 172.065551 423.222868 +" style="fill:#0000be;"/> + <path clip-path="url(#p8946a7ce10)" d="M 137.701382 356.355684 +L 139.892609 355.325094 +L 141.186719 354.66232 +L 139.002519 356.636558 z -" style="fill:#0000a1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 151.299569 360.769625 +" style="fill:#0000cf;"/> + <path clip-path="url(#p8946a7ce10)" d="M 151.299569 360.769625 L 153.507798 363.441 L 154.786615 357.441749 L 152.575376 355.951343 -L 151.299569 360.769625 z -" style="fill:#0000cc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 122.486211 412.543677 -L 124.576168 406.457208 -L 125.766698 395.43226 -L 123.665827 401.697173 -L 122.486211 412.543677 +" style="fill:#0000d3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 130.60482 442.537647 +L 132.787975 442.756698 +L 133.985552 429.757225 +L 131.791627 429.611252 z -" style="fill:#0000f8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 152.575376 355.951343 -L 154.786615 357.441749 -L 156.059967 354.330602 -L 153.847883 353.722899 -L 152.575376 355.951343 +" style="fill:#0000ee;"/> + <path clip-path="url(#p8946a7ce10)" d="M 143.042674 364.661986 +L 145.270506 372.692034 +L 146.543333 367.995404 +L 144.323569 361.579598 z -" style="fill:#0000c7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 176.269926 397.88288 -L 178.341662 410.479152 -L 179.546054 410.972384 -L 177.484947 398.446851 -L 176.269926 397.88288 +" style="fill:#0000b4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 144.323569 361.579598 +L 146.543333 367.995404 +L 147.815796 362.529175 +L 145.602058 358.081349 z -" style="fill:#00008e;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 137.701382 356.355684 -L 139.892609 355.325094 -L 141.186719 354.66232 -L 139.002519 356.636558 -L 137.701382 356.355684 +" style="fill:#0000be;"/> + <path clip-path="url(#p8946a7ce10)" d="M 145.602058 358.081349 +L 147.815796 362.529175 +L 149.09041 357.678567 +L 146.880759 355.146477 z -" style="fill:#0000c7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 159.956894 446.30369 -L 162.130724 454.725352 -L 163.429017 446.634145 -L 161.260231 437.179862 -L 159.956894 446.30369 +" style="fill:#0000c6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 155.446584 479.596974 +L 157.677877 476.45147 +L 158.923409 480.153137 +L 156.70143 482.116271 z -" style="fill:#0000bf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 141.606776 451.487684 -L 143.818503 455.317009 -L 145.070857 443.986882 -L 142.849342 439.52663 -L 141.606776 451.487684 +" style="fill:#0000c0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 164.732824 438.488004 +L 166.88078 448.484523 +L 168.179431 441.441517 +L 166.039699 430.604292 z -" style="fill:#0000da;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 171.580967 365.687354 -L 173.752757 371.83905 -L 174.91421 377.137582 -L 172.76282 370.304131 -L 171.580967 365.687354 +" style="fill:#0000b3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 143.389613 355.24803 +L 145.602058 358.081349 +L 146.880759 355.146477 +L 144.674876 353.996531 z -" style="fill:#000094;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 153.507798 363.441 +" style="fill:#0000c6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 153.507798 363.441 L 155.718692 364.82314 L 157.001605 358.376548 L 154.786615 357.441749 -L 153.507798 363.441 -z -" style="fill:#0000d6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 128.207788 370.63409 -L 130.324175 364.088944 -L 131.624106 362.065704 -L 129.500902 368.302175 -L 128.207788 370.63409 z -" style="fill:#0000e5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 155.446584 479.596974 -L 157.677877 476.45147 -L 158.923409 480.153137 -L 156.70143 482.116271 -L 155.446584 479.596974 +" style="fill:#0000db;"/> + <path clip-path="url(#p8946a7ce10)" d="M 158.275961 354.941862 +L 160.496506 355.426074 +L 161.751533 355.402438 +L 159.535368 354.685509 z " style="fill:#0000c4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 145.602058 358.081349 -L 147.815796 362.529175 -L 149.09041 357.678567 -L 146.880759 355.146477 -L 145.602058 358.081349 + <path clip-path="url(#p8946a7ce10)" d="M 141.606776 451.487684 +L 143.818503 455.317009 +L 145.070857 443.986882 +L 142.849342 439.52663 z -" style="fill:#0000bc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 144.323569 361.579598 -L 146.543333 367.995404 -L 147.815796 362.529175 -L 145.602058 358.081349 -L 144.323569 361.579598 +" style="fill:#0000dc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 123.159516 390.656512 +L 125.22688 382.426306 +L 126.478202 376.010378 +L 124.397131 383.928479 z -" style="fill:#0000b5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 123.40469 418.180981 -L 125.514199 413.257316 -L 126.695861 401.27009 -L 124.576168 406.457208 -L 123.40469 418.180981 +" style="fill:#0000f9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 89.441088 416.072164 +L 91.836866 424.277711 +L 93.490857 432.872391 +L 91.11086 424.588676 z -" style="fill:#0000f6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 152.984266 450.338056 +" style="fill:#000080;"/> + <path clip-path="url(#p8946a7ce10)" d="M 152.984266 450.338056 L 155.18349 457.007285 L 156.472421 447.558924 L 154.271851 439.862555 -L 152.984266 450.338056 z " style="fill:#0000ca;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 143.042674 364.661986 -L 145.270506 372.692034 -L 146.543333 367.995404 -L 144.323569 361.579598 -L 143.042674 364.661986 -z -" style="fill:#0000ac;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 164.732824 438.488004 -L 166.88078 448.484523 -L 168.179431 441.441517 -L 166.039699 430.604292 -L 164.732824 438.488004 -z -" style="fill:#0000b4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 158.275961 354.941862 -L 160.496506 355.426074 -L 161.751533 355.402438 -L 159.535368 354.685509 -L 158.275961 354.941862 + <path clip-path="url(#p8946a7ce10)" d="M 124.348313 425.62493 +L 126.475017 421.915776 +L 127.650242 409.208152 +L 125.514199 413.257316 z -" style="fill:#0000c3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 143.389613 355.24803 -L 145.602058 358.081349 -L 146.880759 355.146477 -L 144.674876 353.996531 -L 143.389613 355.24803 +" style="fill:#0000f9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 86.277297 406.955943 +L 88.704246 415.871959 +L 90.359542 423.9148 +L 87.941351 414.710481 z -" style="fill:#0000bc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 132.787975 442.756698 -L 134.982659 443.791496 -L 136.191589 430.847056 -L 133.985552 429.757225 -L 132.787975 442.756698 +" style="fill:#000080;"/> + <path clip-path="url(#p8946a7ce10)" d="M 128.207788 370.63409 +L 130.324175 364.088944 +L 131.624106 362.065704 +L 129.500902 368.302175 z -" style="fill:#0000e6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 156.472421 447.558924 +" style="fill:#0000e8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 156.472421 447.558924 L 158.661037 455.191894 L 159.956894 446.30369 L 157.770063 437.637276 -L 156.472421 447.558924 z " style="fill:#0000c4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 154.786615 357.441749 + <path clip-path="url(#p8946a7ce10)" d="M 154.786615 357.441749 L 157.001605 358.376548 L 158.275961 354.941862 L 156.059967 354.330602 -L 154.786615 357.441749 -z -" style="fill:#0000ce;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 124.397131 383.928479 -L 126.478202 376.010378 -L 127.747367 370.892637 -L 125.652828 378.368216 -L 124.397131 383.928479 -z -" style="fill:#0000f2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 127.451786 432.065146 -L 129.612834 430.39449 -L 130.796164 417.136935 -L 128.624942 419.057242 -L 127.451786 432.065146 -z -" style="fill:#0000ef;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 139.395036 448.219762 -L 141.606776 451.487684 -L 142.849342 439.52663 -L 140.626836 435.785831 -L 139.395036 448.219762 -z -" style="fill:#0000dd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 126.924072 373.959918 -L 129.030699 366.972992 -L 130.324175 364.088944 -L 128.207788 370.63409 -L 126.924072 373.959918 z -" style="fill:#0000e9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 134.982659 443.791496 -L 137.186011 445.627867 -L 138.406474 432.869463 -L 136.191589 430.847056 -L 134.982659 443.791496 +" style="fill:#0000d2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 141.754709 366.456754 +L 143.990946 375.144074 +L 145.270506 372.692034 +L 143.042674 364.661986 z -" style="fill:#0000e3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 155.718692 364.82314 -L 157.937848 364.552732 -L 159.223102 358.543496 -L 157.001605 358.376548 -L 155.718692 364.82314 +" style="fill:#0000a7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 122.486211 412.543677 +L 124.576168 406.457208 +L 125.766698 395.43226 +L 123.665827 401.697173 z -" style="fill:#0000df;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 146.257207 478.62676 +" style="fill:#0000fd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 146.257207 478.62676 L 148.46487 476.249382 L 149.749714 480.583874 L 147.547119 481.978664 -L 146.257207 478.62676 z -" style="fill:#0000bc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 171.610156 474.521416 -L 173.922485 468.657727 -L 175.103879 472.308526 -L 172.807008 477.182536 -L 171.610156 474.521416 +" style="fill:#0000b9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 140.55012 477.382257 +L 142.746359 475.553113 +L 144.05818 480.282925 +L 141.865686 481.315296 z -" style="fill:#0000cd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 156.647593 372.993819 -L 158.878171 369.826758 -L 160.169065 362.987667 -L 157.937848 364.552732 -L 156.647593 372.993819 +" style="fill:#0000b5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 132.787975 442.756698 +L 134.982659 443.791496 +L 136.191589 430.847056 +L 133.985552 429.757225 z -" style="fill:#0000ee;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 168.125008 475.987533 +" style="fill:#0000ea;"/> + <path clip-path="url(#p8946a7ce10)" d="M 168.125008 475.987533 L 170.416183 470.735465 L 171.610156 474.521416 L 169.33394 478.703184 -L 168.125008 475.987533 -z -" style="fill:#0000cb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 137.186011 445.627867 -L 139.395036 448.219762 -L 140.626836 435.785831 -L 138.406474 432.869463 -L 137.186011 445.627867 z -" style="fill:#0000e0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 125.652828 378.368216 -L 127.747367 370.892637 -L 129.030699 366.972992 -L 126.924072 373.959918 -L 125.652828 378.368216 -z -" style="fill:#0000ee;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 141.754709 366.456754 -L 143.990946 375.144074 -L 145.270506 372.692034 -L 143.042674 364.661986 -L 141.754709 366.456754 -z -" style="fill:#0000a4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 140.55012 477.382257 -L 142.746359 475.553113 -L 144.05818 480.282925 -L 141.865686 481.315296 -L 140.55012 477.382257 -z -" style="fill:#0000b7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 122.786665 399.039152 -L 124.865938 391.729796 -L 126.088972 382.986905 -L 123.996035 390.141475 -L 122.786665 399.039152 +" style="fill:#0000c8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 123.40469 418.180981 +L 125.514199 413.257316 +L 126.695861 401.27009 +L 124.576168 406.457208 z -" style="fill:#0000f7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 147.288648 449.022339 -L 149.500607 454.447953 -L 150.775192 443.739841 -L 148.556833 437.479861 -L 147.288648 449.022339 +" style="fill:#0000fc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 169.384724 361.257639 +L 171.580967 365.687354 +L 172.76282 370.304131 +L 170.586669 364.963028 z -" style="fill:#0000d2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 132.927636 360.76949 -L 135.095048 357.49909 -L 136.399043 356.715334 -L 134.232942 360.148989 -L 132.927636 360.76949 +" style="fill:#00009b;"/> + <path clip-path="url(#p8946a7ce10)" d="M 139.395036 448.219762 +L 141.606776 451.487684 +L 142.849342 439.52663 +L 140.626836 435.785831 z -" style="fill:#0000d4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 155.030623 388.205569 -L 157.278069 378.556318 -L 158.553386 376.087847 -L 156.303285 384.645975 -L 155.030623 388.205569 +" style="fill:#0000e0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 171.610156 474.521416 +L 173.922485 468.657727 +L 175.103879 472.308526 +L 172.807008 477.182536 z -" style="fill:#0000ee;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 160.496506 355.426074 +" style="fill:#0000cb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 160.496506 355.426074 L 162.721255 355.913691 L 163.968591 356.542141 L 161.751533 355.402438 -L 160.496506 355.426074 z -" style="fill:#0000c2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 156.303285 384.645975 -L 158.553386 376.087847 -L 159.836939 371.366245 -L 157.587272 377.634919 -L 156.303285 384.645975 +" style="fill:#0000c1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 142.103418 357.157816 +L 144.323569 361.579598 +L 145.602058 358.081349 +L 143.389613 355.24803 z -" style="fill:#0000f6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 139.892609 355.325094 +" style="fill:#0000c0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 139.892609 355.325094 L 142.103418 357.157816 L 143.389613 355.24803 L 141.186719 354.66232 -L 139.892609 355.325094 z -" style="fill:#0000be;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 142.103418 357.157816 -L 144.323569 361.579598 -L 145.602058 358.081349 -L 143.389613 355.24803 -L 142.103418 357.157816 +" style="fill:#0000c7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 155.718692 364.82314 +L 157.937848 364.552732 +L 159.223102 358.543496 +L 157.001605 358.376548 z -" style="fill:#0000b7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 89.441088 416.072164 -L 91.836866 424.277711 -L 93.490857 432.872391 -L 91.11086 424.588676 -L 89.441088 416.072164 +" style="fill:#0000e2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 124.397131 383.928479 +L 126.478202 376.010378 +L 127.747367 370.892637 +L 125.652828 378.368216 z -" style="fill:#000081;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 164.643726 476.788783 +" style="fill:#0000f5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 175.035972 398.3751 +L 177.117801 411.002299 +L 178.341662 410.479152 +L 176.269926 397.88288 +z +" style="fill:#000091;"/> + <path clip-path="url(#p8946a7ce10)" d="M 126.924072 373.959918 +L 129.030699 366.972992 +L 130.324175 364.088944 +L 128.207788 370.63409 +z +" style="fill:#0000ec;"/> + <path clip-path="url(#p8946a7ce10)" d="M 132.927636 360.76949 +L 135.095048 357.49909 +L 136.399043 356.715334 +L 134.232942 360.148989 +z +" style="fill:#0000d9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 127.451786 432.065146 +L 129.612834 430.39449 +L 130.796164 417.136935 +L 128.624942 419.057242 +z +" style="fill:#0000f4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 164.643726 476.788783 L 166.918073 471.993681 L 168.125008 475.987533 L 165.864498 479.670766 -L 164.643726 476.788783 z -" style="fill:#0000c8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 86.277297 406.955943 -L 88.704246 415.871959 -L 90.359542 423.9148 -L 87.941351 414.710481 -L 86.277297 406.955943 +" style="fill:#0000c5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 147.288648 449.022339 +L 149.500607 454.447953 +L 150.775192 443.739841 +L 148.556833 437.479861 z -" style="fill:#000082;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 175.103879 472.308526 -L 177.442593 465.6811 -L 178.612071 469.225953 -L 176.28849 474.979052 -L 175.103879 472.308526 +" style="fill:#0000d3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 175.389096 386.859882 +L 177.484947 398.446851 +L 178.679241 400.057767 +L 176.595927 388.446227 z -" style="fill:#0000cf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 157.001605 358.376548 +" style="fill:#00008d;"/> + <path clip-path="url(#p8946a7ce10)" d="M 134.982659 443.791496 +L 137.186011 445.627867 +L 138.406474 432.869463 +L 136.191589 430.847056 +z +" style="fill:#0000e7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 137.186011 445.627867 +L 139.395036 448.219762 +L 140.626836 435.785831 +L 138.406474 432.869463 +z +" style="fill:#0000e4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 172.563512 368.018276 +L 174.724978 375.260413 +L 175.894545 379.692563 +L 173.752757 371.83905 +z +" style="fill:#000091;"/> + <path clip-path="url(#p8946a7ce10)" d="M 156.647593 372.993819 +L 158.878171 369.826758 +L 160.169065 362.987667 +L 157.937848 364.552732 +z +" style="fill:#0000ef;"/> + <path clip-path="url(#p8946a7ce10)" d="M 157.001605 358.376548 L 159.223102 358.543496 L 160.496506 355.426074 L 158.275961 354.941862 -L 157.001605 358.376548 z -" style="fill:#0000d3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 169.384724 361.257639 -L 171.580967 365.687354 -L 172.76282 370.304131 -L 170.586669 364.963028 -L 169.384724 361.257639 -z -" style="fill:#00009e;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 151.961746 478.354263 +" style="fill:#0000d5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 151.961746 478.354263 L 154.186353 475.199265 L 155.446584 479.596974 L 153.229757 481.669985 -L 151.961746 478.354263 z -" style="fill:#0000c0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 136.399043 356.715334 +" style="fill:#0000bc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 175.103879 472.308526 +L 177.442593 465.6811 +L 178.612071 469.225953 +L 176.28849 474.979052 +z +" style="fill:#0000ce;"/> + <path clip-path="url(#p8946a7ce10)" d="M 125.652828 378.368216 +L 127.747367 370.892637 +L 129.030699 366.972992 +L 126.924072 373.959918 +z +" style="fill:#0000f1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 83.053054 396.083428 +L 85.502365 405.326108 +L 87.151259 412.586707 +L 84.700551 402.785543 +z +" style="fill:#000081;"/> + <path clip-path="url(#p8946a7ce10)" d="M 136.399043 356.715334 L 138.59609 356.338513 L 139.892609 355.325094 L 137.701382 356.355684 -L 136.399043 356.715334 z -" style="fill:#0000c7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 175.035972 398.3751 -L 177.117801 411.002299 -L 178.341662 410.479152 -L 176.269926 397.88288 -L 175.035972 398.3751 +" style="fill:#0000cd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 155.030623 388.205569 +L 157.278069 378.556318 +L 158.553386 376.087847 +L 156.303285 384.645975 z -" style="fill:#000092;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 150.273546 387.062982 -L 152.496032 381.596671 -L 153.765349 386.639977 -L 151.546572 395.306387 -L 150.273546 387.062982 +" style="fill:#0000ef;"/> + <path clip-path="url(#p8946a7ce10)" d="M 166.039699 430.604292 +L 168.179431 441.441517 +L 169.47844 434.743409 +L 167.346785 423.253014 z -" style="fill:#0000b3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 162.721255 355.913691 +" style="fill:#0000ae;"/> + <path clip-path="url(#p8946a7ce10)" d="M 162.721255 355.913691 L 164.947752 356.75058 L 166.18346 358.3237 L 163.968591 356.542141 -L 162.721255 355.913691 z -" style="fill:#0000bd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 166.039699 430.604292 -L 168.179431 441.441517 -L 169.47844 434.743409 -L 167.346785 423.253014 -L 166.039699 430.604292 +" style="fill:#0000ba;"/> + <path clip-path="url(#p8946a7ce10)" d="M 150.273546 387.062982 +L 152.496032 381.596671 +L 153.765349 386.639977 +L 151.546572 395.306387 z -" style="fill:#0000af;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 161.162486 476.95338 -L 163.423347 472.475667 -L 164.643726 476.788783 -L 162.395211 480.154284 -L 161.162486 476.95338 +" style="fill:#0000c3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 122.786665 399.039152 +L 124.865938 391.729796 +L 126.088972 382.986905 +L 123.996035 390.141475 z -" style="fill:#0000c5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 172.563512 368.018276 -L 174.724978 375.260413 -L 175.894545 379.692563 -L 173.752757 371.83905 -L 172.563512 368.018276 +" style="fill:#0000fc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 156.303285 384.645975 +L 158.553386 376.087847 +L 159.836939 371.366245 +L 157.587272 377.634919 z -" style="fill:#000093;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 140.814279 359.056194 +" style="fill:#0000f5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 140.814279 359.056194 L 143.042674 364.661986 L 144.323569 361.579598 L 142.103418 357.157816 -L 140.814279 359.056194 -z -" style="fill:#0000b2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 175.389096 386.859882 -L 177.484947 398.446851 -L 178.679241 400.057767 -L 176.595927 388.446227 -L 175.389096 386.859882 z -" style="fill:#00008e;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 167.171145 358.387178 +" style="fill:#0000b8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 167.171145 358.387178 L 169.384724 361.257639 L 170.586669 364.963028 L 168.391451 361.037027 -L 167.171145 358.387178 z -" style="fill:#0000aa;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 161.260231 437.179862 -L 163.429017 446.634145 -L 164.732824 438.488004 -L 162.569159 428.195631 -L 161.260231 437.179862 +" style="fill:#0000a6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 161.162486 476.95338 +L 163.423347 472.475667 +L 164.643726 476.788783 +L 162.395211 480.154284 z -" style="fill:#0000ba;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 164.947752 356.75058 +" style="fill:#0000c2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 141.387615 371.891042 +L 143.626417 379.303202 +L 144.931933 384.33863 +L 142.697511 374.648046 +z +" style="fill:#00008e;"/> + <path clip-path="url(#p8946a7ce10)" d="M 164.947752 356.75058 L 167.171145 358.387178 L 168.391451 361.037027 L 166.18346 358.3237 -L 164.947752 356.75058 -z -" style="fill:#0000b5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 157.937848 364.552732 -L 160.169065 362.987667 -L 161.452535 358.152416 -L 159.223102 358.543496 -L 157.937848 364.552732 -z -" style="fill:#0000e3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 157.587272 377.634919 -L 159.836939 371.366245 -L 161.125241 365.872065 -L 158.878171 369.826758 -L 157.587272 377.634919 -z -" style="fill:#0000f4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 83.053054 396.083428 -L 85.502365 405.326108 -L 87.151259 412.586707 -L 84.700551 402.785543 -L 83.053054 396.083428 -z -" style="fill:#000084;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 159.223102 358.543496 -L 161.452535 358.152416 -L 162.721255 355.913691 -L 160.496506 355.426074 -L 159.223102 358.543496 -z -" style="fill:#0000d4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 129.612834 430.39449 -L 131.791627 429.611252 -L 132.986049 416.208826 -L 130.796164 417.136935 -L 129.612834 430.39449 -z -" style="fill:#0000ec;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 138.59609 356.338513 -L 140.814279 359.056194 -L 142.103418 357.157816 -L 139.892609 355.325094 -L 138.59609 356.338513 z -" style="fill:#0000bc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 126.475017 421.915776 -L 128.624942 419.057242 -L 129.811001 406.133103 -L 127.650242 409.208152 -L 126.475017 421.915776 +" style="fill:#0000b1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 161.260231 437.179862 +L 163.429017 446.634145 +L 164.732824 438.488004 +L 162.569159 428.195631 z -" style="fill:#0000f2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 140.455307 366.597937 +" style="fill:#0000b9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 140.455307 366.597937 L 142.697511 374.648046 L 143.990946 375.144074 -L 141.754709 366.456754 -L 140.455307 366.597937 -z -" style="fill:#0000a0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 150.775192 443.739841 -L 152.984266 450.338056 -L 154.271851 439.862555 -L 152.058918 432.42054 -L 150.775192 443.739841 -z -" style="fill:#0000cc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 141.387615 371.891042 -L 143.626417 379.303202 -L 144.931933 384.33863 -L 142.697511 374.648046 -L 141.387615 371.891042 -z -" style="fill:#000096;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 131.624106 362.065704 -L 133.789525 358.626677 -L 135.095048 357.49909 -L 132.927636 360.76949 -L 131.624106 362.065704 -z -" style="fill:#0000d8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 145.070857 443.986882 -L 147.288648 449.022339 -L 148.556833 437.479861 -L 146.33088 431.781647 -L 145.070857 443.986882 -z -" style="fill:#0000d5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 153.765349 386.639977 -L 156.008595 378.065536 -L 157.278069 378.556318 -L 155.030623 388.205569 -L 153.765349 386.639977 -z -" style="fill:#0000d9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 123.665827 401.697173 -L 125.766698 395.43226 -L 126.980414 385.5778 -L 124.865938 391.729796 -L 123.665827 401.697173 -z -" style="fill:#0000f7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 157.677877 476.45147 -L 159.927718 472.180442 -L 161.162486 476.95338 -L 158.923409 480.153137 -L 157.677877 476.45147 -z -" style="fill:#0000c2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 123.996035 390.141475 -L 126.088972 382.986905 -L 127.334939 375.684223 -L 125.22688 382.426306 -L 123.996035 390.141475 +L 141.754709 366.456754 z -" style="fill:#0000f5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 173.53022 372.104426 +" style="fill:#00009d;"/> + <path clip-path="url(#p8946a7ce10)" d="M 173.53022 372.104426 L 175.674586 380.731769 L 176.851597 384.318021 L 174.724978 375.260413 -L 173.53022 372.104426 z -" style="fill:#000091;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 174.474419 378.282967 +" style="fill:#00008f;"/> + <path clip-path="url(#p8946a7ce10)" d="M 138.59609 356.338513 +L 140.814279 359.056194 +L 142.103418 357.157816 +L 139.892609 355.325094 +z +" style="fill:#0000c2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 174.474419 378.282967 L 176.595927 388.446227 L 177.780973 391.104212 L 175.674586 380.731769 -L 174.474419 378.282967 z -" style="fill:#00008f;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 139.519164 360.400579 +" style="fill:#00008d;"/> + <path clip-path="url(#p8946a7ce10)" d="M 159.223102 358.543496 +L 161.452535 358.152416 +L 162.721255 355.913691 +L 160.496506 355.426074 +z +" style="fill:#0000d3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 157.937848 364.552732 +L 160.169065 362.987667 +L 161.452535 358.152416 +L 159.223102 358.543496 +z +" style="fill:#0000e3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 173.784981 399.927552 +L 175.876185 412.553207 +L 177.117801 411.002299 +L 175.035972 398.3751 +z +" style="fill:#000095;"/> + <path clip-path="url(#p8946a7ce10)" d="M 150.775192 443.739841 +L 152.984266 450.338056 +L 154.271851 439.862555 +L 152.058918 432.42054 +z +" style="fill:#0000cd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 131.624106 362.065704 +L 133.789525 358.626677 +L 135.095048 357.49909 +L 132.927636 360.76949 +z +" style="fill:#0000db;"/> + <path clip-path="url(#p8946a7ce10)" d="M 157.587272 377.634919 +L 159.836939 371.366245 +L 161.125241 365.872065 +L 158.878171 369.826758 +z +" style="fill:#0000f3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 139.519164 360.400579 L 141.754709 366.456754 L 143.042674 364.661986 L 140.814279 359.056194 -L 139.519164 360.400579 z -" style="fill:#0000ad;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 142.746359 475.553113 +" style="fill:#0000b0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 157.677877 476.45147 +L 159.927718 472.180442 +L 161.162486 476.95338 +L 158.923409 480.153137 +z +" style="fill:#0000bf;"/> + <path clip-path="url(#p8946a7ce10)" d="M 145.070857 443.986882 +L 147.288648 449.022339 +L 148.556833 437.479861 +L 146.33088 431.781647 +z +" style="fill:#0000d7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 142.746359 475.553113 L 144.950562 473.087736 L 146.257207 478.62676 L 144.05818 480.282925 -L 142.746359 475.553113 -z -" style="fill:#0000b6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 157.770063 437.637276 -L 159.956894 446.30369 -L 161.260231 437.179862 -L 159.075403 427.677515 -L 157.770063 437.637276 z -" style="fill:#0000c0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 167.346785 423.253014 +" style="fill:#0000b4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 167.346785 423.253014 L 169.47844 434.743409 L 170.774817 428.612625 L 168.651072 416.646607 -L 167.346785 423.253014 z " style="fill:#0000aa;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 135.095048 357.49909 -L 137.295534 357.357589 -L 138.59609 356.338513 -L 136.399043 356.715334 -L 135.095048 357.49909 -z -" style="fill:#0000c8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 154.271851 439.862555 -L 156.472421 447.558924 -L 157.770063 437.637276 -L 155.56848 429.101232 -L 154.271851 439.862555 + <path clip-path="url(#p8946a7ce10)" d="M 129.612834 430.39449 +L 131.791627 429.611252 +L 132.986049 416.208826 +L 130.796164 417.136935 z -" style="fill:#0000c6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 148.46487 476.249382 +" style="fill:#0000f1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 148.46487 476.249382 L 150.68374 473.071535 L 151.961746 478.354263 L 149.749714 480.583874 -L 148.46487 476.249382 z -" style="fill:#0000bb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 173.784981 399.927552 -L 175.876185 412.553207 -L 177.117801 411.002299 -L 175.035972 398.3751 -L 173.784981 399.927552 +" style="fill:#0000b8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 157.770063 437.637276 +L 159.956894 446.30369 +L 161.260231 437.179862 +L 159.075403 427.677515 z -" style="fill:#000095;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 158.878171 369.826758 -L 161.125241 365.872065 -L 162.411585 360.995839 -L 160.169065 362.987667 -L 158.878171 369.826758 +" style="fill:#0000c0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 153.765349 386.639977 +L 156.008595 378.065536 +L 157.278069 378.556318 +L 155.030623 388.205569 z -" style="fill:#0000ed;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 161.452535 358.152416 -L 163.688266 357.744543 -L 164.947752 356.75058 -L 162.721255 355.913691 -L 161.452535 358.152416 +" style="fill:#0000e2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 135.095048 357.49909 +L 137.295534 357.357589 +L 138.59609 356.338513 +L 136.399043 356.715334 z -" style="fill:#0000d0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 125.514199 413.257316 +" style="fill:#0000cc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 126.475017 421.915776 +L 128.624942 419.057242 +L 129.811001 406.133103 L 127.650242 409.208152 -L 128.843679 397.102359 -L 126.695861 401.27009 -L 125.514199 413.257316 z -" style="fill:#0000f4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 124.576168 406.457208 -L 126.695861 401.27009 -L 127.899218 390.25272 -L 125.766698 395.43226 -L 124.576168 406.457208 +" style="fill:#0000f7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 87.026236 407.670458 +L 89.441088 416.072164 +L 91.11086 424.588676 +L 88.704246 415.871959 z -" style="fill:#0000f6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 130.324175 364.088944 -L 132.483872 360.181047 -L 133.789525 358.626677 -L 131.624106 362.065704 -L 130.324175 364.088944 +" style="fill:#000080;"/> + <path clip-path="url(#p8946a7ce10)" d="M 154.271851 439.862555 +L 156.472421 447.558924 +L 157.770063 437.637276 +L 155.56848 429.101232 z -" style="fill:#0000dd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 170.371517 362.778096 +" style="fill:#0000c7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 170.371517 362.778096 L 172.563512 368.018276 L 173.752757 371.83905 L 171.580967 365.687354 -L 170.371517 362.778096 -z -" style="fill:#00009e;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 142.849342 439.52663 -L 145.070857 443.986882 -L 146.33088 431.781647 -L 144.099876 426.820257 -L 142.849342 439.52663 z -" style="fill:#0000d8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 131.791627 429.611252 -L 133.985552 429.757225 -L 135.191503 416.301742 -L 132.986049 416.208826 -L 131.791627 429.611252 -z -" style="fill:#0000e9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 137.295534 357.357589 -L 139.519164 360.400579 -L 140.814279 359.056194 -L 138.59609 356.338513 -L 137.295534 357.357589 -z -" style="fill:#0000ba;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 160.169065 362.987667 -L 162.411585 360.995839 +" style="fill:#00009b;"/> + <path clip-path="url(#p8946a7ce10)" d="M 161.452535 358.152416 L 163.688266 357.744543 -L 161.452535 358.152416 -L 160.169065 362.987667 +L 164.947752 356.75058 +L 162.721255 355.913691 z -" style="fill:#0000e1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 144.538172 377.758761 +" style="fill:#0000cd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 144.538172 377.758761 L 146.762204 379.814725 L 148.064139 389.05181 L 145.852181 385.908653 -L 144.538172 377.758761 z -" style="fill:#000097;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 87.026236 407.670458 -L 89.441088 416.072164 -L 91.11086 424.588676 -L 88.704246 415.871959 -L 87.026236 407.670458 +" style="fill:#000093;"/> + <path clip-path="url(#p8946a7ce10)" d="M 123.665827 401.697173 +L 125.766698 395.43226 +L 126.980414 385.5778 +L 124.865938 391.729796 z -" style="fill:#000082;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 168.651072 416.646607 -L 170.774817 428.612625 -L 172.065551 423.222868 -L 169.94962 410.93682 -L 168.651072 416.646607 +" style="fill:#0000fc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 123.996035 390.141475 +L 126.088972 382.986905 +L 127.334939 375.684223 +L 125.22688 382.426306 z -" style="fill:#0000a6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 172.518887 402.543033 +" style="fill:#0000f9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 83.83889 398.12079 +L 86.277297 406.955943 +L 87.941351 414.710481 +L 85.502365 405.326108 +z +" style="fill:#000081;"/> + <path clip-path="url(#p8946a7ce10)" d="M 172.518887 402.543033 L 174.618777 415.126974 L 175.876185 412.553207 L 173.784981 399.927552 -L 172.518887 402.543033 z " style="fill:#000099;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 162.569159 428.195631 -L 164.732824 438.488004 -L 166.039699 430.604292 -L 163.881124 419.680769 -L 162.569159 428.195631 -z -" style="fill:#0000b5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 154.186353 475.199265 -L 156.427011 471.062657 -L 157.677877 476.45147 -L 155.446584 479.596974 -L 154.186353 475.199265 + <path clip-path="url(#p8946a7ce10)" d="M 137.295534 357.357589 +L 139.519164 360.400579 +L 140.814279 359.056194 +L 138.59609 356.338513 z " style="fill:#0000be;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 125.22688 382.426306 -L 127.334939 375.684223 -L 128.601671 369.889987 -L 126.478202 376.010378 -L 125.22688 382.426306 + <path clip-path="url(#p8946a7ce10)" d="M 158.878171 369.826758 +L 161.125241 365.872065 +L 162.411585 360.995839 +L 160.169065 362.987667 z -" style="fill:#0000f2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 163.688266 357.744543 -L 165.92526 357.992649 -L 167.171145 358.387178 -L 164.947752 356.75058 -L 163.688266 357.744543 +" style="fill:#0000ec;"/> + <path clip-path="url(#p8946a7ce10)" d="M 168.651072 416.646607 +L 170.774817 428.612625 +L 172.065551 423.222868 +L 169.94962 410.93682 z -" style="fill:#0000c8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 174.162651 386.326025 +" style="fill:#0000a6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 174.162651 386.326025 L 176.269926 397.88288 L 177.484947 398.446851 L 175.389096 386.859882 -L 174.162651 386.326025 z " style="fill:#000091;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 83.83889 398.12079 -L 86.277297 406.955943 -L 87.941351 414.710481 -L 85.502365 405.326108 -L 83.83889 398.12079 + <path clip-path="url(#p8946a7ce10)" d="M 130.324175 364.088944 +L 132.483872 360.181047 +L 133.789525 358.626677 +L 131.624106 362.065704 z -" style="fill:#000084;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 138.215656 360.977352 -L 140.455307 366.597937 -L 141.754709 366.456754 -L 139.519164 360.400579 -L 138.215656 360.977352 +" style="fill:#0000df;"/> + <path clip-path="url(#p8946a7ce10)" d="M 162.569159 428.195631 +L 164.732824 438.488004 +L 166.039699 430.604292 +L 163.881124 419.680769 z -" style="fill:#0000ac;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 148.556833 437.479861 -L 150.775192 443.739841 -L 152.058918 432.42054 -L 149.83465 425.503754 -L 148.556833 437.479861 +" style="fill:#0000b5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 160.169065 362.987667 +L 162.411585 360.995839 +L 163.688266 357.744543 +L 161.452535 358.152416 z -" style="fill:#0000cf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 169.94962 410.93682 -L 172.065551 423.222868 -L 173.347759 418.699896 -L 171.239705 406.21904 -L 169.94962 410.93682 +" style="fill:#0000df;"/> + <path clip-path="url(#p8946a7ce10)" d="M 142.849342 439.52663 +L 145.070857 443.986882 +L 146.33088 431.781647 +L 144.099876 426.820257 z -" style="fill:#0000a1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 129.030699 366.972992 -L 131.181042 362.382929 -L 132.483872 360.181047 -L 130.324175 364.088944 -L 129.030699 366.972992 +" style="fill:#0000db;"/> + <path clip-path="url(#p8946a7ce10)" d="M 154.186353 475.199265 +L 156.427011 471.062657 +L 157.677877 476.45147 +L 155.446584 479.596974 z -" style="fill:#0000e2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 171.239705 406.21904 +" style="fill:#0000bb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 171.239705 406.21904 L 173.347759 418.699896 L 174.618777 415.126974 L 172.518887 402.543033 -L 171.239705 406.21904 z " style="fill:#00009d;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 133.789525 358.626677 -L 135.989976 358.251298 -L 137.295534 357.357589 -L 135.095048 357.49909 -L 133.789525 358.626677 + <path clip-path="url(#p8946a7ce10)" d="M 169.94962 410.93682 +L 172.065551 423.222868 +L 173.347759 418.699896 +L 171.239705 406.21904 z -" style="fill:#0000cb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 140.626836 435.785831 -L 142.849342 439.52663 -L 144.099876 426.820257 -L 141.866936 422.722956 -L 140.626836 435.785831 +" style="fill:#0000a1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 138.215656 360.977352 +L 140.455307 366.597937 +L 141.754709 366.456754 +L 139.519164 360.400579 z -" style="fill:#0000dc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 133.985552 429.757225 -L 136.191589 430.847056 -L 137.409162 417.425765 -L 135.191503 416.301742 -L 133.985552 429.757225 +" style="fill:#0000ab;"/> + <path clip-path="url(#p8946a7ce10)" d="M 125.514199 413.257316 +L 127.650242 409.208152 +L 128.843679 397.102359 +L 126.695861 401.27009 z -" style="fill:#0000e6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 168.155932 359.517881 -L 170.371517 362.778096 -L 171.580967 365.687354 -L 169.384724 361.257639 -L 168.155932 359.517881 +" style="fill:#0000fa;"/> + <path clip-path="url(#p8946a7ce10)" d="M 142.305522 373.440934 +L 144.538172 377.758761 +L 145.852181 385.908653 +L 143.626417 379.303202 z -" style="fill:#0000ac;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 170.416183 470.735465 -L 172.742508 464.012475 -L 173.922485 468.657727 -L 171.610156 474.521416 -L 170.416183 470.735465 +" style="fill:#00008f;"/> + <path clip-path="url(#p8946a7ce10)" d="M 163.688266 357.744543 +L 165.92526 357.992649 +L 167.171145 358.387178 +L 164.947752 356.75058 z -" style="fill:#0000ca;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 146.762204 379.814725 +" style="fill:#0000c3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 131.791627 429.611252 +L 133.985552 429.757225 +L 135.191503 416.301742 +L 132.986049 416.208826 +z +" style="fill:#0000ee;"/> + <path clip-path="url(#p8946a7ce10)" d="M 146.762204 379.814725 L 148.9846 378.905211 L 150.273546 387.062982 L 148.064139 389.05181 -L 146.762204 379.814725 z -" style="fill:#00009f;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 128.624942 419.057242 -L 130.796164 417.136935 -L 131.993773 404.086874 -L 129.811001 406.133103 -L 128.624942 419.057242 +" style="fill:#0000a3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 124.576168 406.457208 +L 126.695861 401.27009 +L 127.899218 390.25272 +L 125.766698 395.43226 z -" style="fill:#0000f0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 142.305522 373.440934 -L 144.538172 377.758761 -L 145.852181 385.908653 -L 143.626417 379.303202 -L 142.305522 373.440934 +" style="fill:#0000fb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 168.155932 359.517881 +L 170.371517 362.778096 +L 171.580967 365.687354 +L 169.384724 361.257639 z -" style="fill:#000096;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 166.918073 471.993681 -L 169.222845 465.822801 -L 170.416183 470.735465 -L 168.125008 475.987533 -L 166.918073 471.993681 +" style="fill:#0000a8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 139.143259 365.442099 +L 141.387615 371.891042 +L 142.697511 374.648046 +L 140.455307 366.597937 z -" style="fill:#0000c7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 165.92526 357.992649 +" style="fill:#00009a;"/> + <path clip-path="url(#p8946a7ce10)" d="M 133.789525 358.626677 +L 135.989976 358.251298 +L 137.295534 357.357589 +L 135.095048 357.49909 +z +" style="fill:#0000cd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 165.92526 357.992649 L 168.155932 359.517881 L 169.384724 361.257639 L 167.171145 358.387178 -L 165.92526 357.992649 z -" style="fill:#0000bb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 139.143259 365.442099 -L 141.387615 371.891042 -L 142.697511 374.648046 -L 140.455307 366.597937 -L 139.143259 365.442099 +" style="fill:#0000b6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 148.556833 437.479861 +L 150.775192 443.739841 +L 152.058918 432.42054 +L 149.83465 425.503754 z -" style="fill:#0000a1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 126.478202 376.010378 +" style="fill:#0000d1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 125.22688 382.426306 +L 127.334939 375.684223 L 128.601671 369.889987 -L 129.885316 365.52465 -L 127.747367 370.892637 L 126.478202 376.010378 z -" style="fill:#0000ed;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 127.747367 370.892637 -L 129.885316 365.52465 +" style="fill:#0000f5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 170.416183 470.735465 +L 172.742508 464.012475 +L 173.922485 468.657727 +L 171.610156 474.521416 +z +" style="fill:#0000c9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 129.030699 366.972992 L 131.181042 362.382929 -L 129.030699 366.972992 -L 127.747367 370.892637 +L 132.483872 360.181047 +L 130.324175 364.088944 z -" style="fill:#0000e8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 173.922485 468.657727 +" style="fill:#0000e4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 166.918073 471.993681 +L 169.222845 465.822801 +L 170.416183 470.735465 +L 168.125008 475.987533 +z +" style="fill:#0000c5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 171.349864 365.605278 +L 173.53022 372.104426 +L 174.724978 375.260413 +L 172.563512 368.018276 +z +" style="fill:#000098;"/> + <path clip-path="url(#p8946a7ce10)" d="M 140.626836 435.785831 +L 142.849342 439.52663 +L 144.099876 426.820257 +L 141.866936 422.722956 +z +" style="fill:#0000df;"/> + <path clip-path="url(#p8946a7ce10)" d="M 135.989976 358.251298 +L 138.215656 360.977352 +L 139.519164 360.400579 +L 137.295534 357.357589 +z +" style="fill:#0000bc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 173.922485 468.657727 L 176.274888 461.266238 L 177.442593 465.6811 L 175.103879 472.308526 -L 173.922485 468.657727 z " style="fill:#0000cc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 138.406474 432.869463 -L 140.626836 435.785831 -L 141.866936 422.722956 -L 139.635504 419.574572 -L 138.406474 432.869463 + <path clip-path="url(#p8946a7ce10)" d="M 144.950562 473.087736 +L 147.164881 469.921999 +L 148.46487 476.249382 +L 146.257207 478.62676 z -" style="fill:#0000df;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 136.191589 430.847056 -L 138.406474 432.869463 -L 139.635504 419.574572 -L 137.409162 417.425765 +" style="fill:#0000b3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 133.985552 429.757225 L 136.191589 430.847056 +L 137.409162 417.425765 +L 135.191503 416.301742 z -" style="fill:#0000e3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 124.865938 391.729796 -L 126.980414 385.5778 -L 128.21886 377.246232 -L 126.088972 382.986905 -L 124.865938 391.729796 -z -" style="fill:#0000f5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 135.989976 358.251298 -L 138.215656 360.977352 -L 139.519164 360.400579 -L 137.295534 357.357589 -L 135.989976 358.251298 +" style="fill:#0000eb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 173.253859 376.909124 +L 175.389096 386.859882 +L 176.595927 388.446227 +L 174.474419 378.282967 z -" style="fill:#0000bb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 163.423347 472.475667 +" style="fill:#000092;"/> + <path clip-path="url(#p8946a7ce10)" d="M 163.423347 472.475667 L 165.710397 466.741362 L 166.918073 471.993681 L 164.643726 476.788783 -L 163.423347 472.475667 -z -" style="fill:#0000c4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 171.349864 365.605278 -L 173.53022 372.104426 -L 174.724978 375.260413 -L 172.563512 368.018276 -L 171.349864 365.605278 z -" style="fill:#00009b;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 144.950562 473.087736 -L 147.164881 469.921999 -L 148.46487 476.249382 -L 146.257207 478.62676 -L 144.950562 473.087736 +" style="fill:#0000c2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 127.747367 370.892637 +L 129.885316 365.52465 +L 131.181042 362.382929 +L 129.030699 366.972992 z -" style="fill:#0000b5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 162.411585 360.995839 -L 164.660011 359.559286 -L 165.92526 357.992649 -L 163.688266 357.744543 -L 162.411585 360.995839 +" style="fill:#0000ea;"/> + <path clip-path="url(#p8946a7ce10)" d="M 126.478202 376.010378 +L 128.601671 369.889987 +L 129.885316 365.52465 +L 127.747367 370.892637 z -" style="fill:#0000d9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 158.553386 376.087847 -L 160.819703 369.151607 -L 162.100527 366.044044 -L 159.836939 371.366245 -L 158.553386 376.087847 +" style="fill:#0000f0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 128.624942 419.057242 +L 130.796164 417.136935 +L 131.993773 404.086874 +L 129.811001 406.133103 z -" style="fill:#0000ee;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 159.836939 371.366245 -L 162.100527 366.044044 -L 163.382656 362.518506 -L 161.125241 365.872065 -L 159.836939 371.366245 +" style="fill:#0000f5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 138.406474 432.869463 +L 140.626836 435.785831 +L 141.866936 422.722956 +L 139.635504 419.574572 z -" style="fill:#0000ed;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 159.075403 427.677515 +" style="fill:#0000e3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 159.075403 427.677515 L 161.260231 437.179862 L 162.569159 428.195631 L 160.386467 418.079772 -L 159.075403 427.677515 z " style="fill:#0000bc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 161.125241 365.872065 -L 163.382656 362.518506 -L 164.660011 359.559286 -L 162.411585 360.995839 -L 161.125241 365.872065 + <path clip-path="url(#p8946a7ce10)" d="M 172.313574 370.132512 +L 174.474419 378.282967 +L 175.674586 380.731769 +L 173.53022 372.104426 z -" style="fill:#0000e5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 152.058918 432.42054 -L 154.271851 439.862555 -L 155.56848 429.101232 -L 153.352186 421.025839 -L 152.058918 432.42054 +" style="fill:#000095;"/> + <path clip-path="url(#p8946a7ce10)" d="M 136.191589 430.847056 +L 138.406474 432.869463 +L 139.635504 419.574572 +L 137.409162 417.425765 z -" style="fill:#0000c9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 173.253859 376.909124 -L 175.389096 386.859882 -L 176.595927 388.446227 -L 174.474419 378.282967 -L 173.253859 376.909124 +" style="fill:#0000e7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 162.411585 360.995839 +L 164.660011 359.559286 +L 165.92526 357.992649 +L 163.688266 357.744543 z -" style="fill:#000093;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 150.68374 473.071535 +" style="fill:#0000d5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 172.918762 386.82284 +L 175.035972 398.3751 +L 176.269926 397.88288 +L 174.162651 386.326025 +z +" style="fill:#000095;"/> + <path clip-path="url(#p8946a7ce10)" d="M 150.68374 473.071535 L 152.916742 469.040607 L 154.186353 475.199265 L 151.961746 478.354263 -L 150.68374 473.071535 -z -" style="fill:#0000ba;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 132.483872 360.181047 -L 134.68018 359.150415 -L 135.989976 358.251298 -L 133.789525 358.626677 -L 132.483872 360.181047 z -" style="fill:#0000d0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 163.881124 419.680769 +" style="fill:#0000b7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 163.881124 419.680769 L 166.039699 430.604292 L 167.346785 423.253014 L 165.193203 411.901452 -L 163.881124 419.680769 z " style="fill:#0000b1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 172.313574 370.132512 -L 174.474419 378.282967 -L 175.674586 380.731769 -L 173.53022 372.104426 -L 172.313574 370.132512 + <path clip-path="url(#p8946a7ce10)" d="M 140.064536 368.342732 +L 142.305522 373.440934 +L 143.626417 379.303202 +L 141.387615 371.891042 z -" style="fill:#000097;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 152.496032 381.596671 -L 154.73784 375.305137 -L 156.008595 378.065536 -L 153.765349 386.639977 -L 152.496032 381.596671 +" style="fill:#000093;"/> + <path clip-path="url(#p8946a7ce10)" d="M 124.865938 391.729796 +L 126.980414 385.5778 +L 128.21886 377.246232 +L 126.088972 382.986905 z -" style="fill:#0000c3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 157.278069 378.556318 -L 159.543292 370.96498 +" style="fill:#0000fa;"/> + <path clip-path="url(#p8946a7ce10)" d="M 152.058918 432.42054 +L 154.271851 439.862555 +L 155.56848 429.101232 +L 153.352186 421.025839 +z +" style="fill:#0000ca;"/> + <path clip-path="url(#p8946a7ce10)" d="M 158.553386 376.087847 L 160.819703 369.151607 -L 158.553386 376.087847 -L 157.278069 378.556318 +L 162.100527 366.044044 +L 159.836939 371.366245 z -" style="fill:#0000e7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 159.927718 472.180442 +" style="fill:#0000ed;"/> + <path clip-path="url(#p8946a7ce10)" d="M 132.483872 360.181047 +L 134.68018 359.150415 +L 135.989976 358.251298 +L 133.789525 358.626677 +z +" style="fill:#0000d0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 159.836939 371.366245 +L 162.100527 366.044044 +L 163.382656 362.518506 +L 161.125241 365.872065 +z +" style="fill:#0000eb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 161.125241 365.872065 +L 163.382656 362.518506 +L 164.660011 359.559286 +L 162.411585 360.995839 +z +" style="fill:#0000e3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 159.927718 472.180442 L 162.200142 466.783424 L 163.423347 472.475667 L 161.162486 476.95338 -L 159.927718 472.180442 z -" style="fill:#0000c1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 155.56848 429.101232 +" style="fill:#0000bf;"/> + <path clip-path="url(#p8946a7ce10)" d="M 84.599859 399.315967 +L 87.026236 407.670458 +L 88.704246 415.871959 +L 86.277297 406.955943 +z +" style="fill:#000081;"/> + <path clip-path="url(#p8946a7ce10)" d="M 152.496032 381.596671 +L 154.73784 375.305137 +L 156.008595 378.065536 +L 153.765349 386.639977 +z +" style="fill:#0000d1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 155.56848 429.101232 L 157.770063 437.637276 L 159.075403 427.677515 L 156.873144 418.527212 -L 155.56848 429.101232 -z -" style="fill:#0000c2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 172.918762 386.82284 -L 175.035972 398.3751 -L 176.269926 397.88288 -L 174.162651 386.326025 -L 172.918762 386.82284 -z -" style="fill:#000095;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 146.33088 431.781647 -L 148.556833 437.479861 -L 149.83465 425.503754 -L 147.60122 419.325872 -L 146.33088 431.781647 -z -" style="fill:#0000d3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 140.064536 368.342732 -L 142.305522 373.440934 -L 143.626417 379.303202 -L 141.387615 371.891042 -L 140.064536 368.342732 -z -" style="fill:#00009c;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 127.650242 409.208152 -L 129.811001 406.133103 -L 131.016806 394.008072 -L 128.843679 397.102359 -L 127.650242 409.208152 z -" style="fill:#0000f2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 136.903659 360.995942 +" style="fill:#0000c3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 136.903659 360.995942 L 139.143259 365.442099 L 140.455307 366.597937 L 138.215656 360.977352 -L 136.903659 360.995942 z -" style="fill:#0000af;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 125.766698 395.43226 -L 127.899218 390.25272 -L 129.127655 380.706289 -L 126.980414 385.5778 -L 125.766698 395.43226 +" style="fill:#0000aa;"/> + <path clip-path="url(#p8946a7ce10)" d="M 169.138998 361.421987 +L 171.349864 365.605278 +L 172.563512 368.018276 +L 170.371517 362.778096 z -" style="fill:#0000f5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 164.660011 359.559286 +" style="fill:#0000a6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 157.278069 378.556318 +L 159.543292 370.96498 +L 160.819703 369.151607 +L 158.553386 376.087847 +z +" style="fill:#0000e9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 146.33088 431.781647 +L 148.556833 437.479861 +L 149.83465 425.503754 +L 147.60122 419.325872 +z +" style="fill:#0000d5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 164.660011 359.559286 L 166.905798 359.50868 L 168.155932 359.517881 L 165.92526 357.992649 -L 164.660011 359.559286 -z -" style="fill:#0000cc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 130.796164 417.136935 -L 132.986049 416.208826 -L 134.195338 403.0935 -L 131.993773 404.086874 -L 130.796164 417.136935 z -" style="fill:#0000ed;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 169.138998 361.421987 -L 171.349864 365.605278 -L 172.563512 368.018276 -L 170.371517 362.778096 -L 169.138998 361.421987 +" style="fill:#0000c7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 81.400404 389.683304 +L 83.83889 398.12079 +L 85.502365 405.326108 +L 83.053054 396.083428 z -" style="fill:#0000aa;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 134.68018 359.150415 +" style="fill:#000084;"/> + <path clip-path="url(#p8946a7ce10)" d="M 134.68018 359.150415 L 136.903659 360.995942 L 138.215656 360.977352 L 135.989976 358.251298 -L 134.68018 359.150415 -z -" style="fill:#0000bf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 84.599859 399.315967 -L 87.026236 407.670458 -L 88.704246 415.871959 -L 86.277297 406.955943 -L 84.599859 399.315967 -z -" style="fill:#000084;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 126.088972 382.986905 -L 128.21886 377.246232 -L 129.481019 370.63464 -L 127.334939 375.684223 -L 126.088972 382.986905 -z -" style="fill:#0000f2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 126.695861 401.27009 -L 128.843679 397.102359 -L 130.060566 386.228872 -L 127.899218 390.25272 -L 126.695861 401.27009 z -" style="fill:#0000f4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 148.9846 378.905211 +" style="fill:#0000bd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 148.9846 378.905211 L 151.215108 375.724283 L 152.496032 381.596671 L 150.273546 387.062982 -L 148.9846 378.905211 -z -" style="fill:#0000ab;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 131.181042 362.382929 -L 133.369108 360.402301 -L 134.68018 359.150415 -L 132.483872 360.181047 -L 131.181042 362.382929 z -" style="fill:#0000d7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 166.905798 359.50868 +" style="fill:#0000b6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 166.905798 359.50868 L 169.138998 361.421987 L 170.371517 362.778096 L 168.155932 359.517881 -L 166.905798 359.50868 -z -" style="fill:#0000bb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 156.427011 471.062657 -L 158.687291 465.931456 -L 159.927718 472.180442 -L 157.677877 476.45147 -L 156.427011 471.062657 -z -" style="fill:#0000bd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 81.400404 389.683304 -L 83.83889 398.12079 -L 85.502365 405.326108 -L 83.053054 396.083428 -L 81.400404 389.683304 z -" style="fill:#000087;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 165.193203 411.901452 -L 167.346785 423.253014 -L 168.651072 416.646607 -L 166.502399 405.04948 -L 165.193203 411.901452 +" style="fill:#0000b6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 127.650242 409.208152 +L 129.811001 406.133103 +L 131.016806 394.008072 +L 128.843679 397.102359 z -" style="fill:#0000ac;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 171.659402 388.343147 +" style="fill:#0000f7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 171.659402 388.343147 L 173.784981 399.927552 L 175.035972 398.3751 L 172.918762 386.82284 -L 171.659402 388.343147 z " style="fill:#000099;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 156.008595 378.065536 -L 158.270225 371.116325 -L 159.543292 370.96498 -L 157.278069 378.556318 -L 156.008595 378.065536 -z -" style="fill:#0000da;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 144.099876 426.820257 -L 146.33088 431.781647 -L 147.60122 419.325872 -L 145.361603 414.04011 -L 144.099876 426.820257 -z -" style="fill:#0000d6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 163.382656 362.518506 -L 165.640879 360.779746 -L 166.905798 359.50868 -L 164.660011 359.559286 -L 163.382656 362.518506 -z -" style="fill:#0000d9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 137.821524 363.858141 -L 140.064536 368.342732 -L 141.387615 371.891042 -L 139.143259 365.442099 -L 137.821524 363.858141 -z -" style="fill:#0000a7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 160.386467 418.079772 -L 162.569159 428.195631 -L 163.881124 419.680769 -L 161.700594 409.182286 -L 160.386467 418.079772 + <path clip-path="url(#p8946a7ce10)" d="M 165.193203 411.901452 +L 167.346785 423.253014 +L 168.651072 416.646607 +L 166.502399 405.04948 z -" style="fill:#0000b7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 129.885316 365.52465 -L 132.061614 362.460036 +" style="fill:#0000ac;"/> + <path clip-path="url(#p8946a7ce10)" d="M 131.181042 362.382929 L 133.369108 360.402301 -L 131.181042 362.382929 -L 129.885316 365.52465 +L 134.68018 359.150415 +L 132.483872 360.181047 z -" style="fill:#0000de;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 127.334939 375.684223 -L 129.481019 370.63464 -L 130.763605 365.761171 -L 128.601671 369.889987 -L 127.334939 375.684223 +" style="fill:#0000d6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 125.766698 395.43226 +L 127.899218 390.25272 +L 129.127655 380.706289 +L 126.980414 385.5778 z -" style="fill:#0000ed;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 132.986049 416.208826 -L 135.191503 416.301742 -L 136.412233 403.160892 -L 134.195338 403.0935 +" style="fill:#0000f9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 130.796164 417.136935 L 132.986049 416.208826 +L 134.195338 403.0935 +L 131.993773 404.086874 z -" style="fill:#0000e9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 147.164881 469.921999 -L 149.391794 466.011979 -L 150.68374 473.071535 -L 148.46487 476.249382 -L 147.164881 469.921999 +" style="fill:#0000f1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 156.427011 471.062657 +L 158.687291 465.931456 +L 159.927718 472.180442 +L 157.677877 476.45147 +z +" style="fill:#0000bb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 137.821524 363.858141 +L 140.064536 368.342732 +L 141.387615 371.891042 +L 139.143259 365.442099 z -" style="fill:#0000b4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 149.83465 425.503754 -L 152.058918 432.42054 -L 153.352186 421.025839 -L 151.122743 413.678294 -L 149.83465 425.503754 +" style="fill:#00009f;"/> + <path clip-path="url(#p8946a7ce10)" d="M 126.088972 382.986905 +L 128.21886 377.246232 +L 129.481019 370.63464 +L 127.334939 375.684223 z -" style="fill:#0000cc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 172.015745 376.528021 +" style="fill:#0000f5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 172.015745 376.528021 L 174.162651 386.326025 L 175.389096 386.859882 L 173.253859 376.909124 -L 172.015745 376.528021 z " style="fill:#000097;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 170.116282 364.403633 + <path clip-path="url(#p8946a7ce10)" d="M 126.695861 401.27009 +L 128.843679 397.102359 +L 130.060566 386.228872 +L 127.899218 390.25272 +z +" style="fill:#0000f9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 170.116282 364.403633 L 172.313574 370.132512 L 173.53022 372.104426 L 171.349864 365.605278 -L 170.116282 364.403633 z -" style="fill:#0000a4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 128.601671 369.889987 -L 130.763605 365.761171 -L 132.061614 362.460036 -L 129.885316 365.52465 -L 128.601671 369.889987 +" style="fill:#0000a1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 160.386467 418.079772 +L 162.569159 428.195631 +L 163.881124 419.680769 +L 161.700594 409.182286 z -" style="fill:#0000e6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 133.369108 360.402301 -L 135.5861 360.998845 -L 136.903659 360.995942 -L 134.68018 359.150415 -L 133.369108 360.402301 +" style="fill:#0000b8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 147.164881 469.921999 +L 149.391794 466.011979 +L 150.68374 473.071535 +L 148.46487 476.249382 z -" style="fill:#0000c7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 162.100527 366.044044 -L 164.367777 362.713431 +" style="fill:#0000b3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 163.382656 362.518506 L 165.640879 360.779746 -L 163.382656 362.518506 -L 162.100527 366.044044 +L 166.905798 359.50868 +L 164.660011 359.559286 +z +" style="fill:#0000d5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 156.008595 378.065536 +L 158.270225 371.116325 +L 159.543292 370.96498 +L 157.278069 378.556318 z " style="fill:#0000e1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 166.502399 405.04948 -L 168.651072 416.646607 -L 169.94962 410.93682 -L 167.8059 399.240895 -L 166.502399 405.04948 + <path clip-path="url(#p8946a7ce10)" d="M 144.099876 426.820257 +L 146.33088 431.781647 +L 147.60122 419.325872 +L 145.361603 414.04011 z -" style="fill:#0000a8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 170.386336 390.900883 +" style="fill:#0000d9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 170.386336 390.900883 L 172.518887 402.543033 L 173.784981 399.927552 L 171.659402 388.343147 -L 170.386336 390.900883 z -" style="fill:#00009c;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 135.5861 360.998845 -L 137.821524 363.858141 -L 139.143259 365.442099 -L 136.903659 360.995942 -L 135.5861 360.998845 +" style="fill:#00009d;"/> + <path clip-path="url(#p8946a7ce10)" d="M 166.502399 405.04948 +L 168.651072 416.646607 +L 169.94962 410.93682 +L 167.8059 399.240895 z -" style="fill:#0000b6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 171.07878 369.189114 +" style="fill:#0000a8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 129.885316 365.52465 +L 132.061614 362.460036 +L 133.369108 360.402301 +L 131.181042 362.382929 +z +" style="fill:#0000de;"/> + <path clip-path="url(#p8946a7ce10)" d="M 171.07878 369.189114 L 173.253859 376.909124 L 174.474419 378.282967 L 172.313574 370.132512 -L 171.07878 369.189114 -z -" style="fill:#00009d;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 141.866936 422.722956 -L 144.099876 426.820257 -L 145.361603 414.04011 -L 143.119247 409.74343 -L 141.866936 422.722956 z -" style="fill:#0000da;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 129.811001 406.133103 -L 131.993773 404.086874 -L 133.21174 391.992492 -L 131.016806 394.008072 -L 129.811001 406.133103 +" style="fill:#00009b;"/> + <path clip-path="url(#p8946a7ce10)" d="M 149.83465 425.503754 +L 152.058918 432.42054 +L 153.352186 421.025839 +L 151.122743 413.678294 z -" style="fill:#0000ef;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 126.980414 385.5778 -L 129.127655 380.706289 -L 130.381849 372.995097 -L 128.21886 377.246232 -L 126.980414 385.5778 +" style="fill:#0000ce;"/> + <path clip-path="url(#p8946a7ce10)" d="M 135.5861 360.998845 +L 137.821524 363.858141 +L 139.143259 365.442099 +L 136.903659 360.995942 z -" style="fill:#0000f2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 156.873144 418.527212 -L 159.075403 427.677515 -L 160.386467 418.079772 -L 158.183787 408.564861 -L 156.873144 418.527212 +" style="fill:#0000b0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 133.369108 360.402301 +L 135.5861 360.998845 +L 136.903659 360.995942 +L 134.68018 359.150415 z -" style="fill:#0000be;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 135.191503 416.301742 -L 137.409162 417.425765 -L 138.640913 404.291673 -L 136.412233 403.160892 -L 135.191503 416.301742 +" style="fill:#0000c3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 127.334939 375.684223 +L 129.481019 370.63464 +L 130.763605 365.761171 +L 128.601671 369.889987 z -" style="fill:#0000e6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 165.640879 360.779746 -L 167.888995 361.300144 -L 169.138998 361.421987 -L 166.905798 359.50868 -L 165.640879 360.779746 +" style="fill:#0000ef;"/> + <path clip-path="url(#p8946a7ce10)" d="M 128.601671 369.889987 +L 130.763605 365.761171 +L 132.061614 362.460036 +L 129.885316 365.52465 z -" style="fill:#0000c8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 153.352186 421.025839 -L 155.56848 429.101232 -L 156.873144 418.527212 -L 154.654028 410.067847 -L 153.352186 421.025839 +" style="fill:#0000e7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 132.986049 416.208826 +L 135.191503 416.301742 +L 136.412233 403.160892 +L 134.195338 403.0935 z -" style="fill:#0000c5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 152.916742 469.040607 -L 155.166979 464.138896 -L 156.427011 471.062657 -L 154.186353 475.199265 -L 152.916742 469.040607 +" style="fill:#0000ee;"/> + <path clip-path="url(#p8946a7ce10)" d="M 169.101239 394.524754 +L 171.239705 406.21904 +L 172.518887 402.543033 +L 170.386336 390.900883 z -" style="fill:#0000b9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 167.8059 399.240895 +" style="fill:#0000a1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 167.8059 399.240895 L 169.94962 410.93682 L 171.239705 406.21904 L 169.101239 394.524754 -L 167.8059 399.240895 z " style="fill:#0000a4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 169.222845 465.822801 -L 171.561536 458.409573 -L 172.742508 464.012475 -L 170.416183 470.735465 -L 169.222845 465.822801 + <path clip-path="url(#p8946a7ce10)" d="M 162.100527 366.044044 +L 164.367777 362.713431 +L 165.640879 360.779746 +L 163.382656 362.518506 z -" style="fill:#0000c7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 169.101239 394.524754 -L 171.239705 406.21904 -L 172.518887 402.543033 -L 170.386336 390.900883 -L 169.101239 394.524754 +" style="fill:#0000de;"/> + <path clip-path="url(#p8946a7ce10)" d="M 152.916742 469.040607 +L 155.166979 464.138896 +L 156.427011 471.062657 +L 154.186353 475.199265 z -" style="fill:#0000a0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 167.888995 361.300144 +" style="fill:#0000b7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 167.888995 361.300144 L 170.116282 364.403633 L 171.349864 365.605278 L 169.138998 361.421987 -L 167.888995 361.300144 -z -" style="fill:#0000b5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 160.819703 369.151607 -L 163.091909 364.635701 -L 164.367777 362.713431 -L 162.100527 366.044044 -L 160.819703 369.151607 -z -" style="fill:#0000e3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 172.742508 464.012475 -L 175.1069 456.00502 -L 176.274888 461.266238 -L 173.922485 468.657727 -L 172.742508 464.012475 -z -" style="fill:#0000c9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 139.635504 419.574572 -L 141.866936 422.722956 -L 143.119247 409.74343 -L 140.877793 406.487185 -L 139.635504 419.574572 z -" style="fill:#0000de;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 165.710397 466.741362 -L 168.027326 459.841851 -L 169.222845 465.822801 -L 166.918073 471.993681 -L 165.710397 466.741362 +" style="fill:#0000b1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 165.640879 360.779746 +L 167.888995 361.300144 +L 169.138998 361.421987 +L 166.905798 359.50868 z " style="fill:#0000c3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 137.409162 417.425765 -L 139.635504 419.574572 -L 140.877793 406.487185 -L 138.640913 404.291673 -L 137.409162 417.425765 + <path clip-path="url(#p8946a7ce10)" d="M 156.873144 418.527212 +L 159.075403 427.677515 +L 160.386467 418.079772 +L 158.183787 408.564861 z -" style="fill:#0000e2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 143.214118 371.227954 +" style="fill:#0000c0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 82.171809 391.287925 +L 84.599859 399.315967 +L 86.277297 406.955943 +L 83.83889 398.12079 +z +" style="fill:#000084;"/> + <path clip-path="url(#p8946a7ce10)" d="M 143.214118 371.227954 L 145.44817 372.631829 L 146.762204 379.814725 L 144.538172 377.758761 -L 143.214118 371.227954 z -" style="fill:#0000a0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 140.976078 368.523355 +" style="fill:#00009e;"/> + <path clip-path="url(#p8946a7ce10)" d="M 153.352186 421.025839 +L 155.56848 429.101232 +L 156.873144 418.527212 +L 154.654028 410.067847 +z +" style="fill:#0000c7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 141.866936 422.722956 +L 144.099876 426.820257 +L 145.361603 414.04011 +L 143.119247 409.74343 +z +" style="fill:#0000de;"/> + <path clip-path="url(#p8946a7ce10)" d="M 140.976078 368.523355 L 143.214118 371.227954 L 144.538172 377.758761 L 142.305522 373.440934 -L 140.976078 368.523355 z -" style="fill:#0000a1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 82.171809 391.287925 -L 84.599859 399.315967 -L 86.277297 406.955943 -L 83.83889 398.12079 -L 82.171809 391.287925 +" style="fill:#00009b;"/> + <path clip-path="url(#p8946a7ce10)" d="M 169.222845 465.822801 +L 171.561536 458.409573 +L 172.742508 464.012475 +L 170.416183 470.735465 z -" style="fill:#000087;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 132.061614 362.460036 -L 134.268409 361.661689 -L 135.5861 360.998845 -L 133.369108 360.402301 -L 132.061614 362.460036 +" style="fill:#0000c6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 165.710397 466.741362 +L 168.027326 459.841851 +L 169.222845 465.822801 +L 166.918073 471.993681 z -" style="fill:#0000d1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 128.843679 397.102359 +" style="fill:#0000c3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 172.742508 464.012475 +L 175.1069 456.00502 +L 176.274888 461.266238 +L 173.922485 468.657727 +z +" style="fill:#0000ca;"/> + <path clip-path="url(#p8946a7ce10)" d="M 129.811001 406.133103 +L 131.993773 404.086874 +L 133.21174 391.992492 L 131.016806 394.008072 -L 132.246849 383.350797 -L 130.060566 386.228872 -L 128.843679 397.102359 z -" style="fill:#0000f1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 127.899218 390.25272 -L 130.060566 386.228872 -L 131.30352 377.120825 +" style="fill:#0000f4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 160.819703 369.151607 +L 163.091909 364.635701 +L 164.367777 362.713431 +L 162.100527 366.044044 +z +" style="fill:#0000e2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 126.980414 385.5778 L 129.127655 380.706289 -L 127.899218 390.25272 -z -" style="fill:#0000f2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 161.700594 409.182286 -L 163.881124 419.680769 -L 165.193203 411.901452 -L 163.01478 401.240223 -L 161.700594 409.182286 +L 130.381849 372.995097 +L 128.21886 377.246232 z -" style="fill:#0000b3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 162.200142 466.783424 -L 164.498765 460.320332 -L 165.710397 466.741362 -L 163.423347 472.475667 -L 162.200142 466.783424 +" style="fill:#0000f6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 135.191503 416.301742 +L 137.409162 417.425765 +L 138.640913 404.291673 +L 136.412233 403.160892 z -" style="fill:#0000c0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 170.762567 377.073211 +" style="fill:#0000ea;"/> + <path clip-path="url(#p8946a7ce10)" d="M 170.762567 377.073211 L 172.918762 386.82284 L 174.162651 386.326025 L 172.015745 376.528021 -L 170.762567 377.073211 z " style="fill:#00009b;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 147.60122 419.325872 -L 149.83465 425.503754 -L 151.122743 413.678294 -L 148.882863 407.251776 -L 147.60122 419.325872 + <path clip-path="url(#p8946a7ce10)" d="M 139.635504 419.574572 +L 141.866936 422.722956 +L 143.119247 409.74343 +L 140.877793 406.487185 z -" style="fill:#0000d0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 138.734907 365.395297 +" style="fill:#0000e2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 138.734907 365.395297 L 140.976078 368.523355 L 142.305522 373.440934 L 140.064536 368.342732 -L 138.734907 365.395297 z -" style="fill:#0000a7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 159.543292 370.96498 -L 161.816285 366.00046 -L 163.091909 364.635701 -L 160.819703 369.151607 -L 159.543292 370.96498 +" style="fill:#00009f;"/> + <path clip-path="url(#p8946a7ce10)" d="M 161.700594 409.182286 +L 163.881124 419.680769 +L 165.193203 411.901452 +L 163.01478 401.240223 z -" style="fill:#0000df;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 151.215108 375.724283 -L 153.459294 371.750318 -L 154.73784 375.305137 -L 152.496032 381.596671 -L 151.215108 375.724283 +" style="fill:#0000b4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 137.409162 417.425765 +L 139.635504 419.574572 +L 140.877793 406.487185 +L 138.640913 404.291673 z -" style="fill:#0000b8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 145.44817 372.631829 +" style="fill:#0000e6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 145.44817 372.631829 L 147.682055 372.368454 L 148.9846 378.905211 L 146.762204 379.814725 -L 145.44817 372.631829 z -" style="fill:#0000a4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 154.73784 375.305137 -L 156.996156 369.964001 -L 158.270225 371.116325 -L 156.008595 378.065536 -L 154.73784 375.305137 +" style="fill:#0000a7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 132.061614 362.460036 +L 134.268409 361.661689 +L 135.5861 360.998845 +L 133.369108 360.402301 z -" style="fill:#0000cb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 128.21886 377.246232 -L 130.381849 372.995097 -L 131.659839 367.304411 -L 129.481019 370.63464 -L 128.21886 377.246232 +" style="fill:#0000ce;"/> + <path clip-path="url(#p8946a7ce10)" d="M 162.200142 466.783424 +L 164.498765 460.320332 +L 165.710397 466.741362 +L 163.423347 472.475667 z -" style="fill:#0000ed;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 164.367777 362.713431 -L 166.62721 361.98191 -L 167.888995 361.300144 -L 165.640879 360.779746 -L 164.367777 362.713431 +" style="fill:#0000bf;"/> + <path clip-path="url(#p8946a7ce10)" d="M 151.215108 375.724283 +L 153.459294 371.750318 +L 154.73784 375.305137 +L 152.496032 381.596671 z -" style="fill:#0000d0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 168.867497 364.136399 +" style="fill:#0000c5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 168.867497 364.136399 L 171.07878 369.189114 L 172.313574 370.132512 L 170.116282 364.403633 -L 168.867497 364.136399 z -" style="fill:#0000ab;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 131.993773 404.086874 -L 134.195338 403.0935 -L 135.424739 391.034971 -L 133.21174 391.992492 -L 131.993773 404.086874 +" style="fill:#0000a9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 147.60122 419.325872 +L 149.83465 425.503754 +L 151.122743 413.678294 +L 148.882863 407.251776 z -" style="fill:#0000ec;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 136.496141 362.831201 +" style="fill:#0000d3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 136.496141 362.831201 L 138.734907 365.395297 L 140.064536 368.342732 L 137.821524 363.858141 -L 136.496141 362.831201 z -" style="fill:#0000b3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 134.268409 361.661689 -L 136.496141 362.831201 -L 137.821524 363.858141 -L 135.5861 360.998845 -L 134.268409 361.661689 +" style="fill:#0000ab;"/> + <path clip-path="url(#p8946a7ce10)" d="M 159.543292 370.96498 +L 161.816285 366.00046 +L 163.091909 364.635701 +L 160.819703 369.151607 z -" style="fill:#0000c2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 130.763605 365.761171 -L 132.957356 363.609525 -L 134.268409 361.661689 -L 132.061614 362.460036 -L 130.763605 365.761171 +" style="fill:#0000e1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 164.367777 362.713431 +L 166.62721 361.98191 +L 167.888995 361.300144 +L 165.640879 360.779746 z -" style="fill:#0000dc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 169.829341 369.10494 +" style="fill:#0000cd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 154.73784 375.305137 +L 156.996156 369.964001 +L 158.270225 371.116325 +L 156.008595 378.065536 +z +" style="fill:#0000d6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 127.899218 390.25272 +L 130.060566 386.228872 +L 131.30352 377.120825 +L 129.127655 380.706289 +z +" style="fill:#0000f6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 128.843679 397.102359 +L 131.016806 394.008072 +L 132.246849 383.350797 +L 130.060566 386.228872 +z +" style="fill:#0000f5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 169.829341 369.10494 L 172.015745 376.528021 L 173.253859 376.909124 L 171.07878 369.189114 -L 169.829341 369.10494 z " style="fill:#0000a1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 129.481019 370.63464 + <path clip-path="url(#p8946a7ce10)" d="M 134.268409 361.661689 +L 136.496141 362.831201 +L 137.821524 363.858141 +L 135.5861 360.998845 +z +" style="fill:#0000bb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 128.21886 377.246232 +L 130.381849 372.995097 L 131.659839 367.304411 -L 132.957356 363.609525 -L 130.763605 365.761171 L 129.481019 370.63464 z -" style="fill:#0000e5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 158.687291 465.931456 -L 160.97057 459.843785 -L 162.200142 466.783424 -L 159.927718 472.180442 -L 158.687291 465.931456 +" style="fill:#0000ef;"/> + <path clip-path="url(#p8946a7ce10)" d="M 130.763605 365.761171 +L 132.957356 363.609525 +L 134.268409 361.661689 +L 132.061614 362.460036 z -" style="fill:#0000bc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 166.62721 361.98191 +" style="fill:#0000da;"/> + <path clip-path="url(#p8946a7ce10)" d="M 166.62721 361.98191 L 168.867497 364.136399 L 170.116282 364.403633 L 167.888995 361.300144 -L 166.62721 361.98191 z -" style="fill:#0000bd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 149.391794 466.011979 +" style="fill:#0000ba;"/> + <path clip-path="url(#p8946a7ce10)" d="M 149.391794 466.011979 L 151.633984 461.341437 L 152.916742 469.040607 L 150.68374 473.071535 -L 149.391794 466.011979 z -" style="fill:#0000b4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 169.496256 378.521131 +" style="fill:#0000b3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 158.687291 465.931456 +L 160.97057 459.843785 +L 162.200142 466.783424 +L 159.927718 472.180442 +z +" style="fill:#0000bc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 169.496256 378.521131 L 171.659402 388.343147 L 172.918762 386.82284 L 170.762567 377.073211 -L 169.496256 378.521131 z -" style="fill:#00009e;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 158.183787 408.564861 -L 160.386467 418.079772 -L 161.700594 409.182286 -L 159.497617 399.558083 -L 158.183787 408.564861 +" style="fill:#00009f;"/> + <path clip-path="url(#p8946a7ce10)" d="M 131.993773 404.086874 +L 134.195338 403.0935 +L 135.424739 391.034971 +L 133.21174 391.992492 z -" style="fill:#0000ba;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 163.01478 401.240223 +" style="fill:#0000f0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 129.481019 370.63464 +L 131.659839 367.304411 +L 132.957356 363.609525 +L 130.763605 365.761171 +z +" style="fill:#0000e5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 163.01478 401.240223 L 165.193203 411.901452 L 166.502399 405.04948 L 164.326037 394.413692 -L 163.01478 401.240223 z -" style="fill:#0000af;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 151.122743 413.678294 +" style="fill:#0000b0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 158.183787 408.564861 +L 160.386467 418.079772 +L 161.700594 409.182286 +L 159.497617 399.558083 +z +" style="fill:#0000bc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 151.122743 413.678294 L 153.352186 421.025839 L 154.654028 410.067847 L 152.420244 402.555781 -L 151.122743 413.678294 z -" style="fill:#0000c9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 163.091909 364.635701 +" style="fill:#0000cb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 79.75403 383.89016 +L 82.171809 391.287925 +L 83.83889 398.12079 +L 81.400404 389.683304 +z +" style="fill:#000088;"/> + <path clip-path="url(#p8946a7ce10)" d="M 147.682055 372.368454 +L 149.921509 370.798855 +L 151.215108 375.724283 +L 148.9846 378.905211 +z +" style="fill:#0000b4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 163.091909 364.635701 L 165.358425 363.017129 L 166.62721 361.98191 L 164.367777 362.713431 -L 163.091909 364.635701 -z -" style="fill:#0000d4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 145.361603 414.04011 -L 147.60122 419.325872 -L 148.882863 407.251776 -L 146.635968 401.863897 -L 145.361603 414.04011 z -" style="fill:#0000d4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 158.270225 371.116325 +" style="fill:#0000d3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 158.270225 371.116325 L 160.540889 366.592701 L 161.816285 366.00046 L 159.543292 370.96498 -L 158.270225 371.116325 -z -" style="fill:#0000d6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 129.127655 380.706289 -L 131.30352 377.120825 -L 132.5724 370.161312 -L 130.381849 372.995097 -L 129.127655 380.706289 -z -" style="fill:#0000ed;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 147.682055 372.368454 -L 149.921509 370.798855 -L 151.215108 375.724283 -L 148.9846 378.905211 -L 147.682055 372.368454 -z -" style="fill:#0000ac;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 154.654028 410.067847 -L 156.873144 418.527212 -L 158.183787 408.564861 -L 155.962312 399.99563 -L 154.654028 410.067847 -z -" style="fill:#0000c1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 134.195338 403.0935 -L 136.412233 403.160892 -L 137.652118 391.112177 -L 135.424739 391.034971 -L 134.195338 403.0935 -z -" style="fill:#0000e8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 131.016806 394.008072 -L 133.21174 391.992492 -L 134.453757 381.55422 -L 132.246849 383.350797 -L 131.016806 394.008072 -z -" style="fill:#0000ed;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 132.957356 363.609525 -L 135.174581 363.196316 -L 136.496141 362.831201 -L 134.268409 361.661689 -L 132.957356 363.609525 z -" style="fill:#0000cf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 79.75403 383.89016 -L 82.171809 391.287925 -L 83.83889 398.12079 -L 81.400404 389.683304 -L 79.75403 383.89016 +" style="fill:#0000dc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 145.361603 414.04011 +L 147.60122 419.325872 +L 148.882863 407.251776 +L 146.635968 401.863897 z -" style="fill:#00008c;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 168.21823 380.90146 +" style="fill:#0000d7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 154.654028 410.067847 +L 156.873144 418.527212 +L 158.183787 408.564861 +L 155.962312 399.99563 +z +" style="fill:#0000c4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 168.21823 380.90146 L 170.386336 390.900883 L 171.659402 388.343147 L 169.496256 378.521131 -L 168.21823 380.90146 z -" style="fill:#0000a1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 164.326037 394.413692 +" style="fill:#0000a3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 164.326037 394.413692 L 166.502399 405.04948 L 167.8059 399.240895 L 165.631705 388.767943 -L 164.326037 394.413692 z -" style="fill:#0000ab;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 167.607659 364.515568 +" style="fill:#0000ad;"/> + <path clip-path="url(#p8946a7ce10)" d="M 167.607659 364.515568 L 169.829341 369.10494 L 171.07878 369.189114 L 168.867497 364.136399 -L 167.607659 364.515568 z -" style="fill:#0000b0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 130.060566 386.228872 -L 132.246849 383.350797 -L 133.502966 374.727225 -L 131.30352 377.120825 -L 130.060566 386.228872 -z -" style="fill:#0000ee;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 155.166979 464.138896 -L 157.437502 458.391211 -L 158.687291 465.931456 -L 156.427011 471.062657 -L 155.166979 464.138896 +" style="fill:#0000af;"/> + <path clip-path="url(#p8946a7ce10)" d="M 132.957356 363.609525 +L 135.174581 363.196316 +L 136.496141 362.831201 +L 134.268409 361.661689 z -" style="fill:#0000b8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 143.119247 409.74343 -L 145.361603 414.04011 -L 146.635968 401.863897 -L 144.38579 397.565321 -L 143.119247 409.74343 +" style="fill:#0000ca;"/> + <path clip-path="url(#p8946a7ce10)" d="M 129.127655 380.706289 +L 131.30352 377.120825 +L 132.5724 370.161312 +L 130.381849 372.995097 z -" style="fill:#0000d8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 168.567992 369.75062 +" style="fill:#0000f0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 168.567992 369.75062 L 170.762567 377.073211 L 172.015745 376.528021 L 169.829341 369.10494 -L 168.567992 369.75062 z " style="fill:#0000a5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 165.358425 363.017129 -L 167.607659 364.515568 -L 168.867497 364.136399 -L 166.62721 361.98191 -L 165.358425 363.017129 -z -" style="fill:#0000c2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 161.816285 366.00046 -L 164.085612 364.058129 -L 165.358425 363.017129 -L 163.091909 364.635701 -L 161.816285 366.00046 + <path clip-path="url(#p8946a7ce10)" d="M 155.166979 464.138896 +L 157.437502 458.391211 +L 158.687291 465.931456 +L 156.427011 471.062657 z -" style="fill:#0000d3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 136.412233 403.160892 -L 138.640913 404.291673 -L 139.890361 392.215472 -L 137.652118 391.112177 +" style="fill:#0000b8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 134.195338 403.0935 L 136.412233 403.160892 +L 137.652118 391.112177 +L 135.424739 391.034971 z -" style="fill:#0000e4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 166.929637 384.28724 +" style="fill:#0000ed;"/> + <path clip-path="url(#p8946a7ce10)" d="M 166.929637 384.28724 L 169.101239 394.524754 L 170.386336 390.900883 L 168.21823 380.90146 -L 166.929637 384.28724 z -" style="fill:#0000a4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 130.381849 372.995097 -L 132.5724 370.161312 -L 133.864433 365.536207 -L 131.659839 367.304411 -L 130.381849 372.995097 +" style="fill:#0000a6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 165.358425 363.017129 +L 167.607659 364.515568 +L 168.867497 364.136399 +L 166.62721 361.98191 z -" style="fill:#0000e6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 165.631705 388.767943 +" style="fill:#0000c1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 165.631705 388.767943 L 167.8059 399.240895 L 169.101239 394.524754 L 166.929637 384.28724 -L 165.631705 388.767943 z -" style="fill:#0000a7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 135.174581 363.196316 +" style="fill:#0000a9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 131.016806 394.008072 +L 133.21174 391.992492 +L 134.453757 381.55422 +L 132.246849 383.350797 +z +" style="fill:#0000f2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 135.174581 363.196316 L 137.406549 364.067115 L 138.734907 365.395297 L 136.496141 362.831201 -L 135.174581 363.196316 z -" style="fill:#0000c2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 131.659839 367.304411 -L 133.864433 365.536207 -L 135.174581 363.196316 -L 132.957356 363.609525 -L 131.659839 367.304411 +" style="fill:#0000bb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 161.816285 366.00046 +L 164.085612 364.058129 +L 165.358425 363.017129 +L 163.091909 364.635701 z -" style="fill:#0000dc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 140.877793 406.487185 -L 143.119247 409.74343 +" style="fill:#0000d4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 143.119247 409.74343 +L 145.361603 414.04011 +L 146.635968 401.863897 L 144.38579 397.565321 -L 142.136062 394.35741 -L 140.877793 406.487185 z " style="fill:#0000dc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 137.406549 364.067115 + <path clip-path="url(#p8946a7ce10)" d="M 130.060566 386.228872 +L 132.246849 383.350797 +L 133.502966 374.727225 +L 131.30352 377.120825 +z +" style="fill:#0000f2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 137.406549 364.067115 L 139.645602 365.600386 L 140.976078 368.523355 L 138.734907 365.395297 -L 137.406549 364.067115 -z -" style="fill:#0000b6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 138.640913 404.291673 -L 140.877793 406.487185 -L 142.136062 394.35741 -L 139.890361 392.215472 -L 138.640913 404.291673 -z -" style="fill:#0000e0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 153.459294 371.750318 -L 155.71632 368.381343 -L 156.996156 369.964001 -L 154.73784 375.305137 -L 153.459294 371.750318 z -" style="fill:#0000c0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 139.645602 365.600386 +" style="fill:#0000b0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 139.645602 365.600386 L 141.886594 367.119221 L 143.214118 371.227954 L 140.976078 368.523355 -L 139.645602 365.600386 z -" style="fill:#0000af;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 159.497617 399.558083 +" style="fill:#0000aa;"/> + <path clip-path="url(#p8946a7ce10)" d="M 131.659839 367.304411 +L 133.864433 365.536207 +L 135.174581 363.196316 +L 132.957356 363.609525 +z +" style="fill:#0000da;"/> + <path clip-path="url(#p8946a7ce10)" d="M 130.381849 372.995097 +L 132.5724 370.161312 +L 133.864433 365.536207 +L 131.659839 367.304411 +z +" style="fill:#0000e7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 159.497617 399.558083 L 161.700594 409.182286 L 163.01478 401.240223 L 160.811507 391.745089 -L 159.497617 399.558083 z -" style="fill:#0000b6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 148.882863 407.251776 +" style="fill:#0000b8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 153.459294 371.750318 +L 155.71632 368.381343 +L 156.996156 369.964001 +L 154.73784 375.305137 +z +" style="fill:#0000cd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 136.412233 403.160892 +L 138.640913 404.291673 +L 139.890361 392.215472 +L 137.652118 391.112177 +z +" style="fill:#0000e9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 141.886594 367.119221 +L 144.127807 368.076239 +L 145.44817 372.631829 +L 143.214118 371.227954 +z +" style="fill:#0000ab;"/> + <path clip-path="url(#p8946a7ce10)" d="M 140.877793 406.487185 +L 143.119247 409.74343 +L 144.38579 397.565321 +L 142.136062 394.35741 +z +" style="fill:#0000e0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 148.882863 407.251776 L 151.122743 413.678294 L 152.420244 402.555781 L 150.175116 396.152674 -L 148.882863 407.251776 z -" style="fill:#0000cd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 156.996156 369.964001 +" style="fill:#0000d0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 138.640913 404.291673 +L 140.877793 406.487185 +L 142.136062 394.35741 +L 139.890361 392.215472 +z +" style="fill:#0000e4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 167.29647 371.079109 +L 169.496256 378.521131 +L 170.762567 377.073211 +L 168.567992 369.75062 +z +" style="fill:#0000a9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 156.996156 369.964001 L 159.263313 366.623198 L 160.540889 366.592701 L 158.270225 371.116325 -L 156.996156 369.964001 -z -" style="fill:#0000cc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 141.886594 367.119221 -L 144.127807 368.076239 -L 145.44817 372.631829 -L 143.214118 371.227954 -L 141.886594 367.119221 z -" style="fill:#0000ac;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 168.027326 459.841851 +" style="fill:#0000d5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 168.027326 459.841851 L 170.376646 451.943117 L 171.561536 458.409573 L 169.222845 465.822801 -L 168.027326 459.841851 z -" style="fill:#0000c3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 171.561536 458.409573 +" style="fill:#0000c4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 171.561536 458.409573 L 173.936029 449.969895 L 175.1069 456.00502 L 172.742508 464.012475 -L 171.561536 458.409573 -z -" style="fill:#0000c6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 133.21174 391.992492 -L 135.424739 391.034971 -L 136.677111 380.755102 -L 134.453757 381.55422 -L 133.21174 391.992492 -z -" style="fill:#0000ea;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 149.921509 370.798855 -L 152.170277 368.798615 -L 153.459294 371.750318 -L 151.215108 375.724283 -L 149.921509 370.798855 -z -" style="fill:#0000b5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 167.29647 371.079109 -L 169.496256 378.521131 -L 170.762567 377.073211 -L 168.567992 369.75062 -L 167.29647 371.079109 z -" style="fill:#0000a7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 166.339663 365.322784 +" style="fill:#0000c7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 166.339663 365.322784 L 168.567992 369.75062 L 169.829341 369.10494 L 167.607659 364.515568 -L 166.339663 365.322784 z " style="fill:#0000b3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 164.085612 364.058129 + <path clip-path="url(#p8946a7ce10)" d="M 149.921509 370.798855 +L 152.170277 368.798615 +L 153.459294 371.750318 +L 151.215108 375.724283 +z +" style="fill:#0000c0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 164.085612 364.058129 L 166.339663 365.322784 L 167.607659 364.515568 L 165.358425 363.017129 -L 164.085612 364.058129 -z -" style="fill:#0000c3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 131.30352 377.120825 -L 133.502966 374.727225 -L 134.784267 368.545669 -L 132.5724 370.161312 -L 131.30352 377.120825 z -" style="fill:#0000e8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 164.498765 460.320332 +" style="fill:#0000c4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 164.498765 460.320332 L 166.826384 452.917114 L 168.027326 459.841851 L 165.710397 466.741362 -L 164.498765 460.320332 z " style="fill:#0000c0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 160.540889 366.592701 -L 162.80956 364.972863 -L 164.085612 364.058129 -L 161.816285 366.00046 -L 160.540889 366.592701 + <path clip-path="url(#p8946a7ce10)" d="M 144.127807 368.076239 +L 146.37068 368.256812 +L 147.682055 372.368454 +L 145.44817 372.631829 z -" style="fill:#0000ce;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 155.962312 399.99563 +" style="fill:#0000b1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 151.633984 461.341437 +L 153.894165 455.928911 +L 155.166979 464.138896 +L 152.916742 469.040607 +z +" style="fill:#0000b4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 155.962312 399.99563 L 158.183787 408.564861 L 159.497617 399.558083 L 157.27408 391.157928 -L 155.962312 399.99563 z -" style="fill:#0000be;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 133.864433 365.536207 +" style="fill:#0000c0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 133.21174 391.992492 +L 135.424739 391.034971 +L 136.677111 380.755102 +L 134.453757 381.55422 +z +" style="fill:#0000ee;"/> + <path clip-path="url(#p8946a7ce10)" d="M 160.540889 366.592701 +L 162.80956 364.972863 +L 164.085612 364.058129 +L 161.816285 366.00046 +z +" style="fill:#0000d2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 133.864433 365.536207 L 136.087313 365.007665 L 137.406549 364.067115 L 135.174581 363.196316 -L 133.864433 365.536207 z -" style="fill:#0000d1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 152.420244 402.555781 +" style="fill:#0000ce;"/> + <path clip-path="url(#p8946a7ce10)" d="M 152.420244 402.555781 L 154.654028 410.067847 L 155.962312 399.99563 L 153.72496 392.611707 -L 152.420244 402.555781 z -" style="fill:#0000c5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 151.633984 461.341437 -L 153.894165 455.928911 -L 155.166979 464.138896 -L 152.916742 469.040607 -L 151.633984 461.341437 +" style="fill:#0000c8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 131.30352 377.120825 +L 133.502966 374.727225 +L 134.784267 368.545669 +L 132.5724 370.161312 +z +" style="fill:#0000ea;"/> + <path clip-path="url(#p8946a7ce10)" d="M 160.811507 391.745089 +L 163.01478 401.240223 +L 164.326037 394.413692 +L 162.122431 385.244146 z -" style="fill:#0000b4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 144.127807 368.076239 -L 146.37068 368.256812 -L 147.682055 372.368454 -L 145.44817 372.631829 -L 144.127807 368.076239 +" style="fill:#0000b5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 166.015642 373.142256 +L 168.21823 380.90146 +L 169.496256 378.521131 +L 167.29647 371.079109 z -" style="fill:#0000ad;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 132.246849 383.350797 +" style="fill:#0000ab;"/> + <path clip-path="url(#p8946a7ce10)" d="M 132.246849 383.350797 L 134.453757 381.55422 L 135.720878 373.367628 L 133.502966 374.727225 -L 132.246849 383.350797 z -" style="fill:#0000e9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 160.811507 391.745089 -L 163.01478 401.240223 -L 164.326037 394.413692 -L 162.122431 385.244146 -L 160.811507 391.745089 +" style="fill:#0000ed;"/> + <path clip-path="url(#p8946a7ce10)" d="M 160.97057 459.843785 +L 163.279682 452.895096 +L 164.498765 460.320332 +L 162.200142 466.783424 z -" style="fill:#0000b2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 132.5724 370.161312 +" style="fill:#0000bc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 132.5724 370.161312 L 134.784267 368.545669 L 136.087313 365.007665 L 133.864433 365.536207 -L 132.5724 370.161312 z " style="fill:#0000de;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 146.635968 401.863897 + <path clip-path="url(#p8946a7ce10)" d="M 146.635968 401.863897 L 148.882863 407.251776 L 150.175116 396.152674 L 147.922561 390.92545 -L 146.635968 401.863897 -z -" style="fill:#0000d1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 160.97057 459.843785 -L 163.279682 452.895096 -L 164.498765 460.320332 -L 162.200142 466.783424 -L 160.97057 459.843785 -z -" style="fill:#0000bc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 166.015642 373.142256 -L 168.21823 380.90146 -L 169.496256 378.521131 -L 167.29647 371.079109 -L 166.015642 373.142256 -z -" style="fill:#0000a9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 135.424739 391.034971 -L 137.652118 391.112177 -L 138.913186 380.885351 -L 136.677111 380.755102 -L 135.424739 391.034971 z -" style="fill:#0000e6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 136.087313 365.007665 +" style="fill:#0000d5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 136.087313 365.007665 L 138.321718 365.284756 L 139.645602 365.600386 L 137.406549 364.067115 -L 136.087313 365.007665 z -" style="fill:#0000c7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 165.064873 366.477051 +" style="fill:#0000c3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 165.064873 366.477051 L 167.29647 371.079109 L 168.567992 369.75062 L 166.339663 365.322784 -L 165.064873 366.477051 -z -" style="fill:#0000b3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 162.80956 364.972863 -L 165.064873 366.477051 -L 166.339663 365.322784 -L 164.085612 364.058129 -L 162.80956 364.972863 z -" style="fill:#0000c1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 162.122431 385.244146 +" style="fill:#0000b6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 162.122431 385.244146 L 164.326037 394.413692 L 165.631705 388.767943 L 163.427843 380.054487 -L 162.122431 385.244146 z -" style="fill:#0000af;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 146.37068 368.256812 +" style="fill:#0000b2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 164.72593 376.075205 +L 166.929637 384.28724 +L 168.21823 380.90146 +L 166.015642 373.142256 +z +" style="fill:#0000ae;"/> + <path clip-path="url(#p8946a7ce10)" d="M 162.80956 364.972863 +L 165.064873 366.477051 +L 166.339663 365.322784 +L 164.085612 364.058129 +z +" style="fill:#0000c5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 146.37068 368.256812 L 148.618049 367.873104 L 149.921509 370.798855 L 147.682055 372.368454 -L 146.37068 368.256812 z -" style="fill:#0000b2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 164.72593 376.075205 +" style="fill:#0000b9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 135.424739 391.034971 +L 137.652118 391.112177 +L 138.913186 380.885351 +L 136.677111 380.755102 +z +" style="fill:#0000ea;"/> + <path clip-path="url(#p8946a7ce10)" d="M 163.427843 380.054487 +L 165.631705 388.767943 L 166.929637 384.28724 -L 168.21823 380.90146 -L 166.015642 373.142256 L 164.72593 376.075205 z -" style="fill:#0000ab;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 155.71632 368.381343 +" style="fill:#0000b0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 138.321718 365.284756 +L 140.562704 365.914678 +L 141.886594 367.119221 +L 139.645602 365.600386 +z +" style="fill:#0000bd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 155.71632 368.381343 L 157.980446 366.637955 L 159.263313 366.623198 L 156.996156 369.964001 -L 155.71632 368.381343 z -" style="fill:#0000c4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 159.263313 366.623198 +" style="fill:#0000ce;"/> + <path clip-path="url(#p8946a7ce10)" d="M 159.263313 366.623198 L 161.529286 365.893127 L 162.80956 364.972863 L 160.540889 366.592701 -L 159.263313 366.623198 z -" style="fill:#0000c7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 163.427843 380.054487 -L 165.631705 388.767943 -L 166.929637 384.28724 -L 164.72593 376.075205 -L 163.427843 380.054487 +" style="fill:#0000ce;"/> + <path clip-path="url(#p8946a7ce10)" d="M 157.27408 391.157928 +L 159.497617 399.558083 +L 160.811507 391.745089 +L 158.586013 383.77276 z -" style="fill:#0000ad;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 144.38579 397.565321 +" style="fill:#0000bd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 152.170277 368.798615 +L 154.427961 367.358589 +L 155.71632 368.381343 +L 153.459294 371.750318 +z +" style="fill:#0000c8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 144.38579 397.565321 L 146.635968 401.863897 L 147.922561 390.92545 L 145.666575 386.859988 -L 144.38579 397.565321 z -" style="fill:#0000d5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 133.502966 374.727225 +" style="fill:#0000d9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 157.437502 458.391211 +L 159.731027 451.871234 +L 160.97057 459.843785 +L 158.687291 465.931456 +z +" style="fill:#0000b9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 133.502966 374.727225 L 135.720878 373.367628 L 137.011522 367.868389 L 134.784267 368.545669 -L 133.502966 374.727225 z -" style="fill:#0000e2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 138.321718 365.284756 -L 140.562704 365.914678 -L 141.886594 367.119221 -L 139.645602 365.600386 +" style="fill:#0000e4;"/> + <path clip-path="url(#p8946a7ce10)" d="M 134.784267 368.545669 +L 137.011522 367.868389 L 138.321718 365.284756 +L 136.087313 365.007665 z -" style="fill:#0000bf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 137.652118 391.112177 +" style="fill:#0000d6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 137.652118 391.112177 L 139.890361 392.215472 L 141.158754 381.920016 L 138.913186 380.885351 -L 137.652118 391.112177 -z -" style="fill:#0000e2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 134.453757 381.55422 -L 136.677111 380.755102 -L 137.95274 372.870616 -L 135.720878 373.367628 -L 134.453757 381.55422 -z -" style="fill:#0000e5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 157.27408 391.157928 -L 159.497617 399.558083 -L 160.811507 391.745089 -L 158.586013 383.77276 -L 157.27408 391.157928 -z -" style="fill:#0000ba;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 152.170277 368.798615 -L 154.427961 367.358589 -L 155.71632 368.381343 -L 153.459294 371.750318 -L 152.170277 368.798615 -z -" style="fill:#0000bc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 134.784267 368.545669 -L 137.011522 367.868389 -L 138.321718 365.284756 -L 136.087313 365.007665 -L 134.784267 368.545669 z -" style="fill:#0000d7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 150.175116 396.152674 +" style="fill:#0000e6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 150.175116 396.152674 L 152.420244 402.555781 L 153.72496 392.611707 L 151.475777 386.53312 -L 150.175116 396.152674 -z -" style="fill:#0000c9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 157.437502 458.391211 -L 159.731027 451.871234 -L 160.97057 459.843785 -L 158.687291 465.931456 -L 157.437502 458.391211 -z -" style="fill:#0000b8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 142.136062 394.35741 -L 144.38579 397.565321 -L 145.666575 386.859988 -L 143.410875 383.887591 -L 142.136062 394.35741 -z -" style="fill:#0000d9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 139.890361 392.215472 -L 142.136062 394.35741 -L 143.410875 383.887591 -L 141.158754 381.920016 -L 139.890361 392.215472 z -" style="fill:#0000dd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 163.783372 368.062081 +" style="fill:#0000cd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 163.783372 368.062081 L 166.015642 373.142256 L 167.29647 371.079109 L 165.064873 366.477051 -L 163.783372 368.062081 z -" style="fill:#0000b3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 140.562704 365.914678 +" style="fill:#0000b7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 140.562704 365.914678 L 142.807749 366.548253 L 144.127807 368.076239 L 141.886594 367.119221 -L 140.562704 365.914678 z " style="fill:#0000bb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 153.72496 392.611707 + <path clip-path="url(#p8946a7ce10)" d="M 134.453757 381.55422 +L 136.677111 380.755102 +L 137.95274 372.870616 +L 135.720878 373.367628 +z +" style="fill:#0000e9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 153.72496 392.611707 L 155.962312 399.99563 L 157.27408 391.157928 L 155.033739 384.201529 -L 153.72496 392.611707 z -" style="fill:#0000c2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 161.529286 365.893127 +" style="fill:#0000c5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 142.136062 394.35741 +L 144.38579 397.565321 +L 145.666575 386.859988 +L 143.410875 383.887591 +z +" style="fill:#0000de;"/> + <path clip-path="url(#p8946a7ce10)" d="M 139.890361 392.215472 +L 142.136062 394.35741 +L 143.410875 383.887591 +L 141.158754 381.920016 +z +" style="fill:#0000e2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 161.529286 365.893127 L 163.783372 368.062081 L 165.064873 366.477051 L 162.80956 364.972863 -L 161.529286 365.893127 z -" style="fill:#0000be;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 148.618049 367.873104 +" style="fill:#0000c3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 148.618049 367.873104 L 150.871768 367.472429 L 152.170277 368.798615 L 149.921509 370.798855 -L 148.618049 367.873104 -z -" style="fill:#0000b7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 137.011522 367.868389 -L 139.249406 367.839061 -L 140.562704 365.914678 -L 138.321718 365.284756 -L 137.011522 367.868389 -z -" style="fill:#0000d0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 135.720878 373.367628 -L 137.95274 372.870616 -L 139.249406 367.839061 -L 137.011522 367.868389 -L 135.720878 373.367628 -z -" style="fill:#0000dd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 136.677111 380.755102 -L 138.913186 380.885351 -L 140.194997 373.105124 -L 137.95274 372.870616 -L 136.677111 380.755102 z -" style="fill:#0000e1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 158.586013 383.77276 +" style="fill:#0000c1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 158.586013 383.77276 L 160.811507 391.745089 L 162.122431 385.244146 L 159.894941 377.909319 -L 158.586013 383.77276 +z +" style="fill:#0000bb;"/> + <path clip-path="url(#p8946a7ce10)" d="M 162.494634 370.30061 +L 164.72593 376.075205 +L 166.015642 373.142256 +L 163.783372 368.062081 z " style="fill:#0000b7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 142.807749 366.548253 + <path clip-path="url(#p8946a7ce10)" d="M 142.807749 366.548253 L 145.056485 367.053105 L 146.37068 368.256812 L 144.127807 368.076239 -L 142.807749 366.548253 z -" style="fill:#0000ba;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 162.494634 370.30061 -L 164.72593 376.075205 -L 166.015642 373.142256 -L 163.783372 368.062081 -L 162.494634 370.30061 +" style="fill:#0000be;"/> + <path clip-path="url(#p8946a7ce10)" d="M 137.011522 367.868389 +L 139.249406 367.839061 +L 140.562704 365.914678 +L 138.321718 365.284756 z -" style="fill:#0000b2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 157.980446 366.637955 +" style="fill:#0000d0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 157.980446 366.637955 L 160.243093 367.168998 L 161.529286 365.893127 L 159.263313 366.623198 -L 157.980446 366.637955 z -" style="fill:#0000c2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 147.922561 390.92545 +" style="fill:#0000ca;"/> + <path clip-path="url(#p8946a7ce10)" d="M 135.720878 373.367628 +L 137.95274 372.870616 +L 139.249406 367.839061 +L 137.011522 367.868389 +z +" style="fill:#0000df;"/> + <path clip-path="url(#p8946a7ce10)" d="M 136.677111 380.755102 +L 138.913186 380.885351 +L 140.194997 373.105124 +L 137.95274 372.870616 +z +" style="fill:#0000e5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 147.922561 390.92545 L 150.175116 396.152674 L 151.475777 386.53312 L 149.219249 381.760915 -L 147.922561 390.92545 z -" style="fill:#0000cd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 154.427961 367.358589 -L 156.690161 367.317006 -L 157.980446 366.637955 -L 155.71632 368.381343 -L 154.427961 367.358589 +" style="fill:#0000d2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 161.198332 373.487596 +L 163.427843 380.054487 +L 164.72593 376.075205 +L 162.494634 370.30061 z -" style="fill:#0000bf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 159.894941 377.909319 +" style="fill:#0000b8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 159.894941 377.909319 L 162.122431 385.244146 L 163.427843 380.054487 L 161.198332 373.487596 -L 159.894941 377.909319 z -" style="fill:#0000b4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 161.198332 373.487596 -L 163.427843 380.054487 -L 164.72593 376.075205 -L 162.494634 370.30061 -L 161.198332 373.487596 +" style="fill:#0000b9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 154.427961 367.358589 +L 156.690161 367.317006 +L 157.980446 366.637955 +L 155.71632 368.381343 z -" style="fill:#0000b3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 153.894165 455.928911 +" style="fill:#0000ca;"/> + <path clip-path="url(#p8946a7ce10)" d="M 153.894165 455.928911 L 156.174857 449.833917 L 157.437502 458.391211 L 155.166979 464.138896 -L 153.894165 455.928911 z -" style="fill:#0000b4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 160.243093 367.168998 +" style="fill:#0000b5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 160.243093 367.168998 L 162.494634 370.30061 L 163.783372 368.062081 L 161.529286 365.893127 -L 160.243093 367.168998 z -" style="fill:#0000bb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 139.249406 367.839061 +" style="fill:#0000c1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 139.249406 367.839061 L 141.494769 368.23768 L 142.807749 366.548253 L 140.562704 365.914678 -L 139.249406 367.839061 -z -" style="fill:#0000cb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 138.913186 380.885351 -L 141.158754 381.920016 -L 142.445012 374.022916 -L 140.194997 373.105124 -L 138.913186 380.885351 z -" style="fill:#0000dd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 155.033739 384.201529 +" style="fill:#0000cd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 155.033739 384.201529 L 157.27408 391.157928 L 158.586013 383.77276 L 156.342976 377.524219 -L 155.033739 384.201529 z -" style="fill:#0000be;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 145.056485 367.053105 +" style="fill:#0000c3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 145.056485 367.053105 L 147.309582 367.561453 L 148.618049 367.873104 L 146.37068 368.256812 -L 145.056485 367.053105 z -" style="fill:#0000bc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 151.475777 386.53312 +" style="fill:#0000c2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 151.475777 386.53312 L 153.72496 392.611707 L 155.033739 384.201529 L 152.781486 378.760111 -L 151.475777 386.53312 z -" style="fill:#0000c6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 137.95274 372.870616 +" style="fill:#0000ca;"/> + <path clip-path="url(#p8946a7ce10)" d="M 138.913186 380.885351 +L 141.158754 381.920016 +L 142.445012 374.022916 L 140.194997 373.105124 -L 141.494769 368.23768 -L 139.249406 367.839061 -L 137.95274 372.870616 z -" style="fill:#0000d8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 145.666575 386.859988 -L 147.922561 390.92545 -L 149.219249 381.760915 -L 146.959662 378.195803 -L 145.666575 386.859988 +" style="fill:#0000e1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 150.871768 367.472429 +L 153.131063 367.735164 +L 154.427961 367.358589 +L 152.170277 368.798615 z -" style="fill:#0000d1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 170.376646 451.943117 +" style="fill:#0000c7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 170.376646 451.943117 L 172.759233 443.286714 L 173.936029 449.969895 L 171.561536 458.409573 -L 170.376646 451.943117 z -" style="fill:#0000c3;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 150.871768 367.472429 -L 153.131063 367.735164 -L 154.427961 367.358589 -L 152.170277 368.798615 -L 150.871768 367.472429 +" style="fill:#0000c5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 137.95274 372.870616 +L 140.194997 373.105124 +L 141.494769 368.23768 +L 139.249406 367.839061 z -" style="fill:#0000bc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 166.826384 452.917114 +" style="fill:#0000db;"/> + <path clip-path="url(#p8946a7ce10)" d="M 145.666575 386.859988 +L 147.922561 390.92545 +L 149.219249 381.760915 +L 146.959662 378.195803 +z +" style="fill:#0000d6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 166.826384 452.917114 L 169.184554 444.768474 L 170.376646 451.943117 L 168.027326 459.841851 -L 166.826384 452.917114 +z +" style="fill:#0000c1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 158.949737 369.257097 +L 161.198332 373.487596 +L 162.494634 370.30061 +L 160.243093 367.168998 z " style="fill:#0000c0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 141.158754 381.920016 + <path clip-path="url(#p8946a7ce10)" d="M 156.690161 367.317006 +L 158.949737 369.257097 +L 160.243093 367.168998 +L 157.980446 366.637955 +z +" style="fill:#0000c7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 141.158754 381.920016 L 143.410875 383.887591 L 144.700643 375.675007 L 142.445012 374.022916 -L 141.158754 381.920016 z -" style="fill:#0000d9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 143.410875 383.887591 +" style="fill:#0000dd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 143.410875 383.887591 L 145.666575 386.859988 L 146.959662 378.195803 L 144.700643 375.675007 -L 143.410875 383.887591 -z -" style="fill:#0000d5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 156.690161 367.317006 -L 158.949737 369.257097 -L 160.243093 367.168998 -L 157.980446 366.637955 -L 156.690161 367.317006 -z -" style="fill:#0000be;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 158.949737 369.257097 -L 161.198332 373.487596 -L 162.494634 370.30061 -L 160.243093 367.168998 -L 158.949737 369.257097 z -" style="fill:#0000b9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 141.494769 368.23768 +" style="fill:#0000da;"/> + <path clip-path="url(#p8946a7ce10)" d="M 141.494769 368.23768 L 143.745907 368.982402 L 145.056485 367.053105 L 142.807749 366.548253 -L 141.494769 368.23768 z -" style="fill:#0000c8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 156.342976 377.524219 +" style="fill:#0000cc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 156.342976 377.524219 L 158.586013 383.77276 L 159.894941 377.909319 L 157.649211 372.598368 -L 156.342976 377.524219 -z -" style="fill:#0000bb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 140.194997 373.105124 -L 142.445012 374.022916 -L 143.745907 368.982402 -L 141.494769 368.23768 -L 140.194997 373.105124 z -" style="fill:#0000d4;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 147.309582 367.561453 +" style="fill:#0000c1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 147.309582 367.561453 L 149.567225 368.423857 L 150.871768 367.472429 L 148.618049 367.873104 -L 147.309582 367.561453 -z -" style="fill:#0000be;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 163.279682 452.895096 -L 165.61655 445.242031 -L 166.826384 452.917114 -L 164.498765 460.320332 -L 163.279682 452.895096 z -" style="fill:#0000bc;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 157.649211 372.598368 +" style="fill:#0000c7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 157.649211 372.598368 L 159.894941 377.909319 L 161.198332 373.487596 L 158.949737 369.257097 -L 157.649211 372.598368 z -" style="fill:#0000b9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 149.219249 381.760915 -L 151.475777 386.53312 -L 152.781486 378.760111 -L 150.522507 374.755682 -L 149.219249 381.760915 +" style="fill:#0000c0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 163.279682 452.895096 +L 165.61655 445.242031 +L 166.826384 452.917114 +L 164.498765 460.320332 z -" style="fill:#0000c9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 153.131063 367.735164 +" style="fill:#0000be;"/> + <path clip-path="url(#p8946a7ce10)" d="M 140.194997 373.105124 +L 142.445012 374.022916 +L 143.745907 368.982402 +L 141.494769 368.23768 +z +" style="fill:#0000d9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 153.131063 367.735164 L 155.392211 369.289488 L 156.690161 367.317006 L 154.427961 367.358589 -L 153.131063 367.735164 z -" style="fill:#0000be;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 152.781486 378.760111 +" style="fill:#0000c8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 149.219249 381.760915 +L 151.475777 386.53312 +L 152.781486 378.760111 +L 150.522507 374.755682 +z +" style="fill:#0000cf;"/> + <path clip-path="url(#p8946a7ce10)" d="M 152.781486 378.760111 L 155.033739 384.201529 L 156.342976 377.524219 L 154.088272 373.020441 -L 152.781486 378.760111 z -" style="fill:#0000c2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 143.745907 368.982402 +" style="fill:#0000c8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 143.745907 368.982402 L 146.001863 370.156638 L 147.309582 367.561453 L 145.056485 367.053105 -L 143.745907 368.982402 -z -" style="fill:#0000c7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 142.445012 374.022916 -L 144.700643 375.675007 -L 146.001863 370.156638 -L 143.745907 368.982402 -L 142.445012 374.022916 z -" style="fill:#0000d2;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 155.392211 369.289488 +" style="fill:#0000cd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 155.392211 369.289488 L 157.649211 372.598368 L 158.949737 369.257097 L 156.690161 367.317006 -L 155.392211 369.289488 z -" style="fill:#0000bd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 146.959662 378.195803 -L 149.219249 381.760915 -L 150.522507 374.755682 -L 148.261458 371.98292 -L 146.959662 378.195803 +" style="fill:#0000c6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 142.445012 374.022916 +L 144.700643 375.675007 +L 146.001863 370.156638 +L 143.745907 368.982402 z -" style="fill:#0000cd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 149.567225 368.423857 +" style="fill:#0000d7;"/> + <path clip-path="url(#p8946a7ce10)" d="M 149.567225 368.423857 L 151.827956 370.096859 L 153.131063 367.735164 L 150.871768 367.472429 -L 149.567225 368.423857 -z -" style="fill:#0000c1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 144.700643 375.675007 -L 146.959662 378.195803 -L 148.261458 371.98292 -L 146.001863 370.156638 -L 144.700643 375.675007 z -" style="fill:#0000cf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 154.088272 373.020441 +" style="fill:#0000ca;"/> + <path clip-path="url(#p8946a7ce10)" d="M 154.088272 373.020441 L 156.342976 377.524219 L 157.649211 372.598368 L 155.392211 369.289488 -L 154.088272 373.020441 z -" style="fill:#0000bf;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 146.001863 370.156638 +" style="fill:#0000c6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 146.959662 378.195803 +L 149.219249 381.760915 +L 150.522507 374.755682 +L 148.261458 371.98292 +z +" style="fill:#0000d2;"/> + <path clip-path="url(#p8946a7ce10)" d="M 144.700643 375.675007 +L 146.959662 378.195803 L 148.261458 371.98292 -L 149.567225 368.423857 -L 147.309582 367.561453 L 146.001863 370.156638 z -" style="fill:#0000c7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 159.731027 451.871234 +" style="fill:#0000d5;"/> + <path clip-path="url(#p8946a7ce10)" d="M 159.731027 451.871234 L 162.049622 444.706044 L 163.279682 452.895096 L 160.97057 459.843785 -L 159.731027 451.871234 z -" style="fill:#0000b9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 151.827956 370.096859 +" style="fill:#0000ba;"/> + <path clip-path="url(#p8946a7ce10)" d="M 146.001863 370.156638 +L 148.261458 371.98292 +L 149.567225 368.423857 +L 147.309582 367.561453 +z +" style="fill:#0000ce;"/> + <path clip-path="url(#p8946a7ce10)" d="M 151.827956 370.096859 L 154.088272 373.020441 L 155.392211 369.289488 L 153.131063 367.735164 -L 151.827956 370.096859 z -" style="fill:#0000c1;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 150.522507 374.755682 +" style="fill:#0000c9;"/> + <path clip-path="url(#p8946a7ce10)" d="M 150.522507 374.755682 L 152.781486 378.760111 L 154.088272 373.020441 L 151.827956 370.096859 -L 150.522507 374.755682 z -" style="fill:#0000c5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 148.261458 371.98292 +" style="fill:#0000cc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 148.261458 371.98292 L 150.522507 374.755682 L 151.827956 370.096859 L 149.567225 368.423857 -L 148.261458 371.98292 z -" style="fill:#0000c7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 156.174857 449.833917 +" style="fill:#0000ce;"/> + <path clip-path="url(#p8946a7ce10)" d="M 156.174857 449.833917 L 158.478127 443.16173 L 159.731027 451.871234 L 157.437502 458.391211 -L 156.174857 449.833917 z -" style="fill:#0000b5;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 169.184554 444.768474 +" style="fill:#0000b6;"/> + <path clip-path="url(#p8946a7ce10)" d="M 169.184554 444.768474 L 171.573187 436.136832 L 172.759233 443.286714 L 170.376646 451.943117 -L 169.184554 444.768474 z -" style="fill:#0000c0;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 165.61655 445.242031 +" style="fill:#0000c3;"/> + <path clip-path="url(#p8946a7ce10)" d="M 165.61655 445.242031 L 167.981812 437.103184 L 169.184554 444.768474 L 166.826384 452.917114 -L 165.61655 445.242031 z -" style="fill:#0000bd;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 162.049622 444.706044 +" style="fill:#0000bf;"/> + <path clip-path="url(#p8946a7ce10)" d="M 162.049622 444.706044 L 164.394369 437.078101 L 165.61655 445.242031 L 163.279682 452.895096 -L 162.049622 444.706044 z -" style="fill:#0000b9;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 158.478127 443.16173 +" style="fill:#0000bc;"/> + <path clip-path="url(#p8946a7ce10)" d="M 158.478127 443.16173 L 160.8053 436.066124 L 162.049622 444.706044 L 159.731027 451.871234 -L 158.478127 443.16173 z -" style="fill:#0000b6;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 167.981812 437.103184 +" style="fill:#0000b8;"/> + <path clip-path="url(#p8946a7ce10)" d="M 167.981812 437.103184 L 170.374477 428.755981 L 171.573187 436.136832 L 169.184554 444.768474 -L 167.981812 437.103184 z -" style="fill:#0000be;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 164.394369 437.078101 +" style="fill:#0000c1;"/> + <path clip-path="url(#p8946a7ce10)" d="M 164.394369 437.078101 L 166.765044 429.223988 L 167.981812 437.103184 L 165.61655 445.242031 -L 164.394369 437.078101 z -" style="fill:#0000ba;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 160.8053 436.066124 +" style="fill:#0000be;"/> + <path clip-path="url(#p8946a7ce10)" d="M 160.8053 436.066124 L 163.156665 428.749431 L 164.394369 437.078101 L 162.049622 444.706044 -L 160.8053 436.066124 z -" style="fill:#0000b7;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 166.765044 429.223988 +" style="fill:#0000ba;"/> + <path clip-path="url(#p8946a7ce10)" d="M 166.765044 429.223988 L 169.159835 421.429243 L 170.374477 428.755981 L 167.981812 437.103184 -L 166.765044 429.223988 z -" style="fill:#0000bb;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 163.156665 428.749431 +" style="fill:#0000c0;"/> + <path clip-path="url(#p8946a7ce10)" d="M 163.156665 428.749431 L 165.531206 421.45929 L 166.765044 429.223988 L 164.394369 437.078101 -L 163.156665 428.749431 z -" style="fill:#0000b8;"/> - <path clip-path="url(#p9cf0068b0c)" d="M 165.531206 421.45929 +" style="fill:#0000bd;"/> + <path clip-path="url(#p8946a7ce10)" d="M 165.531206 421.45929 L 167.926392 414.481577 L 169.159835 421.429243 L 166.765044 429.223988 -L 165.531206 421.45929 z -" style="fill:#0000b9;"/> +" style="fill:#0000bf;"/> </g> </g> </g> <defs> - <clipPath id="p53fe524ae6"> + <clipPath id="p676789452b"> <rect height="209.454545" width="223.2" x="36" y="57.6"/> </clipPath> - <clipPath id="p9cf0068b0c"> + <clipPath id="p8946a7ce10"> <rect height="209.454545" width="223.2" x="36" y="308.945455"/> </clipPath> </defs> diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/surface3d.pdf b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/surface3d.pdf index 2963a1abf39ff1de5c9d18ac5734975802e5e46d..3642d55a85e9262e5d9a551042e608f640dfff1b 100644 GIT binary patch literal 48096 zcmYg%Wmp|e&?Oe!T`unKaB&UpZox0^?(V_e3GVI*?gR(~2=4A&9D;4$<okB_*G$hd z)zw|oU0vr?4Yi7-6f-*u7b11d8d>#MM0PSZGDlMzL_t9^RuvOVkSiI-pC@W$tQy`< zATm}76E_n(M@uqcVMLIF`F}40|386`UT)IrZYFLZGOm9@QjQL8WSsx*RZQI6KrRks z-2XKZSyfyd&D23|Wcq*fNJ{<bALQjm#wu(7N2mDzTqXYJDogf>j8)yr#N67!l8on{ zxQ?=^4am%mjQ4Nn|8F?#Y=0j7?*zmg930(T|ETyQFY#w6AcsFKzJDD^yEwW#k^MJK z33W17Nsx!N8Awg~kLo`y4Hpv!S0@t}kb{}`|IYm1`+pR%DuT?dO~f6&{`C8wGHzZT zGA>Sz|8%JQC*t<M7E=ScI=Z`<{W0NxHu}FN{LiZYpZ)$D&i{^A%G&OaiO5)`?EctL z5@hCR{>S7BAO}k~D>C-~zKq&`g05~ZAQO8;uiTdIsXFuN1RVZN<s@Y%{vMGCvXb-* z@CGFG5PUYQ1`$Hy*4?F^hoqKfSss^Kgv!nPugVHR0W*QK{e6(M-^(JS@Y@px$ve*b zLoez3#nt6i@B0-7>3h`s^C9Dw@`I-D;QL$hJ2T&Q@4)ZPcfU{X$G;;3!%N?>7~if= z5CX4Kz>ad+BF?YJi*M>AyOvuCuMdHB$}-moBF#G{6eN;wH>8Wob&MlVDe`CCf{z8Q zzXptw)m|#O4}Ox;rxtKYqhXO|H&~=DOZe|C1gIgiUuO*C2U<kao4q276uMsB)w8}3 zIzYVzKBc|H-Aixc1q3-_y7~{T1X!H#S^CN3@6)EL9{TO22Ko%tGmz#>23lABww?Q3 zcf6aC_f(#~CLh>xonm>B)!Xk)=4cE4{Jw1jy72IM5m~b7dMGe__qy|nO9*`AeZTE} zn+SX?e}5o-zuOggnSP%*?0oBeMGAQdd9Qu;8BPt*o5tA0&<CrVjg@{EU|Oofuow(I zC=fhIB$itm0e+`j>WE2jtTlgq)B&SYhxHxy>m##A_A6Iy(^_^dJw`RZhG})|WxNR9 zE-(sL4V-|-*lQC`&daAGECaWuUiNtS->^u-3(Au?-ekiH+XPReUMe;kaZ<_*ut@3; ze%_{ZjF*-{rDQ)Anf$=EW+8u_Pm&+xjC+JGu2^F2YE=moM=tC)lzXN3o^KSU+cg@} zlk-C+R71@B7I%4<f@nDCH<Tav-KrQYzh%Fhvm?;g$I<4VuDfU}gCZa@k$LsAag=<2 z=~0#~W!^&m38S%j3D=J@KrM85PlrN;{*B9zpcUV5Hd6%aIhOZR<6ZX@gEaX&m!Hb0 zXZ5S4)JqkOCHc!%foZ)HF5<oE?NvKy<~C#rMxmliqg+R8;BrKL{gE$UaD?BAkr=MJ ztnHppE8y|S>x17@_g)_>j{NB7T(4KJq?Wpv`fr=gqZ#y+SM`|Fh)fypCA&Dc!s@;X zfLYw%GS8p10GR|=CJoL@?l``qA{VVcvPn5-J!3oC;V#J*Ra|_Lbs*0wV=(rEniCu& zd80Rx7$=;2vmQCY2EbgeC=S?o-1CgXnjg1)Nb$$kmu{Lu5i#}1cmp`9lf)4S0#iVD z=E2%HorRmz=r*Cj_t(xiFo}={pfv1q-Q*+XcYzqeaAJ>%_b?Gw7jYV<lKqIy?~!?4 zM9)+G4f>T!*|E*Du*iw4h<JCL7MWgNf+xzC&K?0O5%nyb8eU2lh6t5+n=}yB)?g}v zg(S*YgZzpG(k@WfG2Evi_+l>hGZ?G^qn*R%UCu`8)0$x(FT_Ryw0u@U543App{sD0 z!-iHj&7EYI{?M(l8@!?0P>I^etO71$h0dMCZNXje7I~SUKo?clCWf=rmikDhZUXZr zd>1w^n)0HPRy+HLH&>WRNK)u;HeTzdinlx5xNle_qboxOuA>{}T2F-F&)W#TpQckA z_@K!lEV8c3q~T@rh~o7^xfLTKhIsWtbM^h;mK5mE`)h~z3Mbls*o(J(27gMq#P2OS zI#dc+M86u|rfGN(<h`EeTzBi|-L9@#gCV5wLkS?|!9JwC22VHrkXB-&AjzBL<uOrr zXCaNM9qJ77b@bvsJ$4Bm9*mY1l@VEU$S*fQd?ocqYUAqDtYQA~=<)J)OTP3P;#wh$ z3)gU%zD48w5`d}n-C!h#s12Z%SZ3!MS#SID11RNm0*w|`Fvxk;dd3QA6a=9W=|F4f zl#7XJj0sFE+_Gj|`w&1l(Yv?hgFh(H`I5<nm`gi}UkA?)T8PVTP|d=?o5r+69}~p` z5OtB+rNtBIfAz2U!u?1V;18S#dSL(kn+|Auwn<4I+aL4o48Pmscn#&nrpv|e=#2^% z4u-VrBrJvWN;%Yvy2H<pvM*Lz+(6b|qme`svJ1<ronb^z|Jd0PT%sMv)+>DyYQ(+Q zC>#TXK1hP(cgnP+zgBfhaUVF}F?o6&xLiakh>FTSR;7vKkki1p<+<8#+<hd3UqmFZ z24NfuZu9QW^r06-UhJ2E6(AGAT)V0!d(ib_8`MgY;W>b7hak;^H<+HbS?DiOXWT)3 zi0$B>+KdJCcG_Nt3wI(e0MsB}FM*gSqnFDQtrJ=20K)d+qXt<RPe5;EK00o*oniHh z#S7l88H(|-SdBX5C;6xDb!v+d7YEEBOe4g11h#p2_!%In$V<7s&_ZC~nIA;HDp<s> zMCff)MCk2&w^!(`VYx4^|0!sc@DcijfSq`NL0R$=r9Z^+De$G4ivHqcbi(F~7ogz> z9*K!Ma^bZWB$Pz;t&+179zRsimSpY~u62Ujq5q8ElNpexsH7|&4{SM^*9kKsC7C$X z>Xi<g8dfXwc!?3zv2F2HxT6{DqdR74u{Fp`aUbT3A~<-x<hVH;*fBH%$+qfcj8I@Q z{FD$`2mb91g?*z7Uk9C_zm?&Dl8;POgl5muWr({|h!o;qA$S0BKBN!K@Ut>?ms+EL z#1m$h^cOyr-#Pq{9=AB|1nUdE7dH2_+i7wvgTT;Joa-z(8ge-a=ZN#n2Cb4W+|hmQ zqwCG5Ja#Tc75qtC$^m9FDRc|-kbBAKFgFgrEXER6um9ng%MRwA17{hU1VVI*y&NB5 zy9`JaT*$mTX55SsEeEah>e`I4DDWb_Ke*LB$ahFqUITSEjd<J1yK3OwUDK6Y>^YIr zC(RW=YUcrYt;*@qljyJZ;QBt%HQ2j$YH;rgZX`0GA}bFdCYz=2<Ta+|_*yX%)LuEZ z=8JN@)F4q733Fho3xCmf?-ByG2nh=A&r5H9oZxeM;ky<aD*J#1DT70G*4<Cg_d6D! zH0t$gnkJZx3HcHoJ%2g(BJSTDS&lr`E6v=vP;~m3kZ*%4s7kL!L(NucR8zVbqJPz% z5)2q^zp^>b!nJD~vNEz-R$rj$+dk9u6pmwUQn68PUK}gCN`lc^C(@xLAj!D-#0ivP z!QV)JzjqupF$X7nen~ghCC2fCDSlwxyyG`=6mmetVxz^Xh8^+6XHue9o~|I58{oUk z%1c|E_&%}Rv5E$z1jeL@)OEvU%1pGq_22>Oz~vt1*N`9}E?;AF;e|fHGKB=DV8u?R zy&r!Kt<Q-hXmH>wka2U>Mf>bZ{Zx+@8Vm6t7!E1GZM)S!kxT}Wcm0ayCuJVrTCimJ z$L>RB(3z;_16)QNgg9uG7WPjPoBi8@TWFyw1!qPnuJ4vA5UBak<)Vg9L%r1JlFDex z>BhBYqcFDHcTI`YDCP-cVlX0Bv19eru$F`{Y8d_~qUXqWy)Tz$0q@WUCJ{O-9R8w~ z3-OLOoW3}3Gbr{Jq8mMw^0*tc5Apfknp6}o(AFPbJO{PaH%;oh47Cj7Svy1^j09q- zI0(n`s1wdaAdM(U`N9uQ%lRmM2a=H0+dAEI+nPcm2{!C)b#?l$Ma*lRjk7#>pNOr8 zQs-I8D?@{ml|WQ<Ys#BO_JXG2IG|-qylF-U8aB@~6c2C{Rz&^`ep1D**f0*IZ%Ial zrXb>mE(LgLY3c7e3=^Xjkem=j)R$fWT9fF!LqN@&DuaufbPNe9%ZlG5bvDNRiAy5k zI6S@2UZ6$iLVM<UOxUm0*6Ypuo<)?7#-g0vvV!jrU$SvW60!I>`v~KI2p1lFKLzdY z12<MZ=TQxc#wo8URK6p82*W>C$Zgpv-1!C7Ofec>Fij;p$ST6?ymPp59D{|ZybOBh zSHf&;2$L(5EKU2`L~FT!*L3aTad9798JZCV@r=(_DjfqpHwd8G%PjMqh#s_7YC(R< zy)D#Q?3y{w{Ou7T1z~1zDkB08d!fU301z(N?O8~F3pJT?VR?WvG7lvp(=G$vwlL{6 z&Zj4I$#VMqyiQ!=E_-jvD{dvgIrHL+COE$r=9KKW#o&PQ*m0J_r3u@HM#r3PZd*3+ z>SpT7g?0**VY5r@lMMghHdKnuSnzGg%QR;SqHf<xD+j7J>(`{tH$hh1{yi@_s)M#B zgA^<<TG8WtXB^Wy`x#mJC8&n*$XCO)Si>}pXjB-*n;l`J?iI(aclxa4d-50IPef~` zTIjF<^Ni6xTuP%si|^_Jn<FpxaA$*lb^0Eh;C73~1W820_0UM-vrFgX$7Yq{<Q1o_ zN+!3=?a{-X*7K5IQdw|9t=7ryw*5RdL!D1zDrn4~0dTBE@sxlh0=?skZTet`^ztM4 zrq7O^vzWBlq$PR^kHf%tK`hwyyI3fq(!#ygl=c;?^XKDRfvyhfV!4K}!c_y4){mUb zw4BY`V^BP0i-)ZJNC0Gu>l+;n?GUum9t!s-9EH=_a(w4RZP3rOm@slO*h>(dj+bX^ z&uIx0lZJ62QxvU*H|6vwOSJ5-Gt5ke8hH8Vy%b2+NL=}K!M5hVUiWGAmE5RNmFtFt zN~or#2@}O>^PQpFpB3NS=Blb=UddW^{!kHx=i?yWxUA9|<gzMlg>F5_(KVBqLPh3D z`Ij(`aQJHOm7zSXXZ@<(-yMc(-t8ZCS`yCWM)~2i!5`x*gnYUP`|=`VZnP~1Z4nhY zN;zAlQ@;<&kG2)*T}k`~h+r48tmFM_eS%RF7Sy31V|EbEu`uj62+Wj&S1lC;WN)4& z%;#L=bhPhF7I9q+XpbBN>2im}G@73t8*me42Rm7Vc5D7_Zr+Ypz?v+5=EN>%r4TlV z=~q=?6C&Ir(cIhysbF*5Pirt|dk9`%=qIO_RiiqXGOR{D4@{HB3e(T16yXp#GQQL2 ze_bP_W_v>anR%8}d<yy#4Iz%5U>j|+0HvM!2!a*5M5#-w`a*;Rqp|=v4uaMC+Q872 zG$7R|s^9H3JA611!TL#8&;&8PtE(RY2kvJ9LT;3M&~>6^JVh)dguvZ+udw+L&y3zP zRwF1V;n~qlu?nEPG%sVn6k4?f)kV+Gy4kMZxRtP!LP%edzYn<fb>^jhgoq-~sdI%R zb^W_Vuc^LfD3KG{#{z_d;%y8+am<ZZE6LF^z0|EB^nLIV680v8*D`Rt@t|4REJbAO zRD~rpCdYln;T!rAH43UdGe0s00Z`%OKclNcDMv2Y5kudAp;5j~%M$ak+tfUwM4IFt zpF4{10}<GYC*jA4({D=K_TY8elsY^LkY574_qk*;qe4JvlB*=!nKO)PgRw?Sk~NT? zgqnj^J{+5z%Ml*N1yfcdbdeeQ=u=H+?=`7nGQi>#ST&+15+#Vo?+F2Lwu}b|Uth5f z_sabs!P`#K$#s1q(>l`;uvl}O$z+;4XZyyq;X^z70EV$~NYsdku?=d$LRiW!AD+@R z(;5Pj6e(o0=;(EgiHR&JN0Q`F-53Nphhx;7@GnvUhFdTx9&yWIaiJy)W{Z6>8oNJ( zWN}2VW@UB<ac;Wq26DyoS9Sl!1-Vc6u6B{%zaV_{0I3Wm2u1{NNAa?wn0Pi|^OSt- zLPFfuwBFwajyidG4FznMqFv1cA0SGB%1v|rWNrx^DGYy|W|M2ovjn1P3c;lLQeJSR zi81JlT_DudLItC(O#{xfx?G}2--6!A=+u<U5@UTvT1JX>HGn^Z1ZJdBhu?MChCQdR zo%6<ijju77{<9J68zH1p^^J;>pV6MT+o8?c{a^o%fBG6+-ppxVBtgb=|LbQfMOdp3 zm6{&LRl4B>DxBW_XjBBDLz#}p_-`}O?;k*UkKQxZIh}jm*<=_ttp`zaY@X*E7P)8h zH)OrGQU}ixRP9g56d`&xCH~-=o$+@yWdJb6qN;>rUR<w7ZjGq#gX`(nNrtd2Jz{Lr ztnp*!xN);<0mSC8wH9g36<{d|ZI;kcPi@WKeF}b#Skc6YKswtvB)rqE^td`_#!nj$ z1tu?>ukvz|kOhN?e4W$%Cr;)>CMFGKo~LYBpg@Xe%A^8qYo7#m=KIkPQMg|O^@uHO zkJSu8_cenfi=p~a^YVj_TVPgQC&*RsA%5gHo)DSqqjcS#5$&Uxnls|t-o&fd1PcM0 zk)Ck8@OHY>L*|BEBd8LI`jyO=k~sZLO{__FTcc=}c#C|--j-+tqMZQJ{H{UtJYtB% zFG(Lvur3VKBAOd0^FWwy0O6`igSBAhQ5d5GzON#=0y(^9vJqG)2iTK3OO)^0KVP1q z7*eX|FGyZ!Bij=L#~>^~6ID|&nS=Hulob%A#-T+QN+Lt9nA?hx7XnsuM0sPhwO%e0 zB`{^Urd<tJZLxjh9C=5sY>vF-hp&)D*(D7Aa>4StUgo%2^e*#NihmB_Fd0@H)!SJ{ zXveY8Z~G)fKLgf972c(KrK?~aKSvC*v*pb^X2f=lK_dJ{4=uu1>~7yhLt7|NOmKfD z`LRuJZ6wpdNAXdbgUnS}{2T@~M|6g{shBhDi*s(MrVFWyWU&S@*F~qw%sm$zmT_*2 z7+rk>feE!uaotng3vG+wq1aPQbb<r<%GHc+5b>N!n06ytMnn76ycl2BxEZ50ANX>g zh#a2+sw%^^I)LZ$wdMk{GmT2KF$7-|@kbUsBhViawfcOm@9)VC7&*gD;@eQLXn+=! z1JIXJxYnoIa@w7C>RQ@GQ}$UA1C79idKZbW!=$4eIR7FKozYcGdSd=eJ6dGUpQG5B z1h228mRNxo<mEL8kn8|8*I=((ZP7S;ZRgy-ZrVHf89K?{#h(dgu=<Ahb28n_^3$Ea z1p6`i`Q+X$8;_0hHBOXLQ?0}PTA4BrOO~6tPM^xGx1D9V>iFs5rqfv34yNya4z&p( zezjBrz>(uvH9%yMHzDD(%c{DDkYVbS_WehD5ZccRA~oh}-TulFzO{n~)#z~HD7mny zLbEMwHl5Zp*8>>#jw_mK#+PuOaG=gU86Rd)_O|oZ{Zd9cTz8?Q9OE?~9|R!1VNiCI zWIOF;nFOUI$ROUIKcpNXZ7X{yQqp(|o~<)><*!FNGxGYDV2MS>p@XE8zgq+L=APYu zk;SB3(#kA{IGRPg*3A#>^7b(W^nOJk{yTaXC_ZRGw(n8dPTa|>a-TCbVQG&@=lwsx zoaTouQ`b`M;`|b)kmvCeCV@kBGT<>aWx`6yv-fI}(JYN>3{GMaC>NTSCArHmB5CAX z3Wdo|I<4A*R}MSW(q1srp)a0N;;Xz8lVHCI(Z447awGgJ#Dc+gGB#y)Rd=X=C9XA? zVb-!K$$e4^LSZIx$N3JG*sCGeh9;!F0LTww&z6e?N{8uy?;F4(Sl=&;D@7$BLvr{v zBKqY}%XTTcjLpOAHWB;|8p48OL-ki4=>{|!j-m>bnl2cF|G^+y(=~@6X9ie>H)zNK zl~3Lue!p>w<Scc-8<8~<Z8Xc=kUkI<1Vug(d!7AV727T?)@fT|EaB|%Mw*?b+SF#Q zBAb>ZHA^lNKX6KPbFmbFX@e^JMWZsn#v@}xi)+tz<%g_&>8~V!GX<|7+p)Q|-VySg zGxW5kgO@x&dDO)`Iiv4gMp;pLndIMjngyPrv)3;ulc0k7L43B&yM9sJ?a?JN7BJNh z4GW)GPgx@E7g<pE^e3att#t7?pZ2Rw0UmEuFTRo9?ej)Ww@#?n4b{Pej60c`V6rg8 zVAsiCS5jApJLM>nN0frA>!iP6GfD2>wvx{EFo~asMqzUYhsJ}B>sOZWUi12<7WNHP zW9pm%M2NIXpO~k~Ns5omI%ih>SmBzbQ{HC!Nm}u~az{ro+nB}DMmR4eJ32O>FCJYI zp5ojJ0(emaYt+*)3_CvO4gf%?SnMZoB3`lh0iGD`^Q`Cz=HG?uWh&U|EYBCj>@u2a zp=q)6WAGEHQOYE9vlLDtlKV~%$Lw2C|1CQm4dM%dQf;w$gIuo~ukkqmU(G3>vZ5Mf z6!+dQgYbvCPqqtu?$deuf`ONwleZS!a_<P~905|xj$aQnChDqJk?MQ#3{lhPwA{Ah z_%w+{&@IxWordsHZv|xFbCyTXEg6-fQ+3heQ7Xxf;p)j>bZ4MR;B(`M%V8w#uw5!k zOki0>WZ-HAJO2f<dr#*n=QNgzC&}oE1+#R1_~**jFVUga=^!@^l_7mISq;<!!jC&A zL}v^?Ho!8Q<J*PFxe1WU8hdCm7LBTXEsT(^TK@s>$cP@1nFSAbiA<75B|jm4N{9ic zlGn}H&Gx+{yUe%~>8<u}{K%}`&O5Ibxco_4+Z9wV)C#<b3^?Q$dt!so_7?sBf!{8` zmTMq{oQG_75K@0EUdooHWY?I;+%VQT!vZP;*fuS_x`sZtJ6-OR&37d_G?xGiU~ef^ zkmy(vl0r|C+ezrE`v=y?KvG%VsA!p(c6PGht?BJ;Fxnmu^al2v0Cn`&f-c?i08t&d z57P%k+8D4s_IYw|J97aK7&$f7vW5Y^1>WCakc}!zrNn@*;O~7~Mf(TXXPg7J>WPOI z$TUuTmOo-iAu{tGT8u-TE}Fe;o{>7yte_i<$wx{I9WpAN5sSq!p#!(bFng|Nn|d>w z>X9axd7Y6sQ@qJ#u>%v;jU?k0!9c_PXh{eXNJKY-5BlAZtJ%3D<PYVoEjiWyf@%80 zlM(`mo_X$%6=xYZL)%BPxhIz?!4%Y*UKL|ZpzF4edwO11OOmo5ap6F9|Hbh<RTk8& zuVA@qjax{G<z#^JfLSrvZ1UUjR7*b%)PpKS_#R}Ro0xq)jA?o<Duq_Fd3j$#j?{Bm zK3Zf~{D&92tRUSTfgz3TZ{>9`iOmg0x-7^xaxy+3+47ARQbK_dfrNSUkKA(+B`h+f z-r^&!Yq5U`n&n#*PT6>TD;N3A5*=U3^MUKsBGh%)Iw<R}0zP6JMhNBFL+dCT{FPm; zqt8nhS6{yLQ`Ng8GPK@kBFJZ|+W2aGWmah(zsT#>7A4g&sVB6NvI2Z($$~Q5C3BiN zTmQQ#6v6@n$KcN7iobBQ4ei1C3O7n$O$(n=mYI@kZg@q0NdWSHe#z}uxo92Qd<Q%5 zk?3XOUZvyrM%tk@q0&q{2X1{lGff6w(S7yI8dEmBI?G?JxWnaB?my6)a$J@wDqiXm zTo&sr@54!;iuFe9AKhLD(WURlRdr>u^K?iU%Z)<{M%ha2V0C8gpF51VLPcIvE&Cf< zS1qpb)9360(1zu(fX6DyLr8MmiFlbA{K(QApuw8Ua?nVQwhz8C!6P-W7BJo2#37)6 z!?dq+nkL(I`m%tW`}urNd&@n;f7-G2S1pffph}UMPe^Ik)_x9Blt=gKY`L#p$oaGM z4A7>1BLnFYxTkd}?xQL38OtR%r87VM;mGB!{wQ>N7H*#;IsR&M>v4}*@83Cp@bMCj zt7^(X-7N>~NHDdm$4R#$e8kU$SEx?N;6B3u7yfC#=a8!lZ%r}KCBC9%lTR_s^8g~p z^NCL>mnPB0(Nbe^mLSe;r65u+em~)$fA&C8R9vwS$<#X58%>B)mpjr^C{l<HqZ+{T zb9j-W`)472Zcu~*jj~WGq@`Y&Ye)Zj5EPtHTb9f5<i`#;Q&Ct9zjKZIE(-k_P`MRc z<g{*Ui9XF&vb&EkMSk_ya`*lyG4vbGa>}b8I6lj1&aFdw%D=9v-~qj+-Iu1%|AJLi zXU}KJf=_aoFdI&SURUf7!jU3a?BWnhMyUbr_mv)3Lw-&>8R9JFr62x<|0OEz1ulI1 zYGn>Uab!inJjs@FLMr-MXgM-FNr1u=JF+oKoM%Its}dSVpoNY}A<fnAs|~l8fxRU$ zNYy%}L3jxxI11dI8QXQ~)QL67X7GhAL-wT4&rvD5(IvYZ&?dtZh_73wXzYDP;)o`Z z2P`b3kqxOlj9gec^|amDjOu$ArTy*1O+nC<u%1V=TookKE>nL6+p4mqL2a)u5~ZVv zx%(#Sv*b?D6S+WRSu|^uQg;$)5f8_;e6V0MiZA#~SR}urjZ|tuKI)AIN9(2=PGG+g z%e=EXmI@8%#PGZ+tE6i@1=5Dsq({!AvjYyB0PM6vC-#O)rpIh*aK5OMYcJ_JRY~Zw z#jHI<rnf4HLn($Ul`pb=ig0ne_}p*~?3Qtt1a-_vC=p93+r`w(H^Chr)&d>*j4AzS z$dGw4r-R1UO1`;aT4;5x;B5cnLCM$M6M3g7!H1zeUx)lBzEoPe$^2G#H9R|tvnp8X zgN<4V8#fa~k4+^=8JRuzggJz9yFAQ>Lo46D9@D0vA*Ya4`*DirmY8ES$u6|lX|2i= z^%eAt>6%^zOENtAer*&A{S{R!hiRtKA*HW#7hdbj3D1?a>pq88_bfds=_LJBjdtX3 zC<?Z~!h^Q<1{qW7-zQY#hez^rshXasGu-Aer2f9YsD6S@>?cGB&TFrK*LoW7Otdp> zlU#z*{i(C4SDmV^;EuUnEj0@k9_a{EA*ypAFcY#`jfNi7O&F<cg6XgCSI9+3CquQC z`^FNxA$-7sdhy%oosD2-yB?FngvnkkMsN#Z+r@SXaB8Vf|99#Z?TtzayZ#vex3wvL zd$}FEpTF1rTCIpFas`cqR?8RDJ_qDGW<M*<0aH0}^SmP@>C_O(XeO(BjmzyN{$XMl znbK9-!rT?EaVA6UDaI^##i%2+cA#!_kP_NC);q)JpR-mA%%mh34%#IPq0QQL*SMI% z3>-%0owW?Od$&*gyv}y4f6@$wsPA6i+)C9Ox0kW$Nq=w%@+w%5a0;e@`t(qf7@KsU zc8ehretl3?jNQk7;lrlmRVo>(V*pT#g0>Ky*OLTi$TX~T*AhZ&lvXAJYV3~fK73yh zw?Inz*e!|*Cvq9|6LW~OUNe~1lF1wkstGQOcDsKiv|=dCm*0rTE$fHaVlIfJb^acp zT84r)jdI)Ce)87Pn&v4y$<2%yNmp`9?kpgql|`-+*|#M*U?O)BQM`x^@6!?^F`w@m zid*X$_yzL33B@%p<{?(3K@C~vW-+Lpl|pR7-YSh_pc4ThImitjPwQ?_GO8_O*)qA5 zb?I~unrmn)Btu9u750H0BJAEy{vS*^^=UUKT*|80s*pl;wXQB6|HZxH-gh}l#8}6+ zq40?H2*>}CgB4gT9_^*{Gg`v8*hHkuIMgyBk?>vVnVkM$Vhn23$HMmyxej*G5$U!d z>l17?{6c<TxQGl){**&4_^Zz@`<NM}i6AralU5w>2zi#)r3th%?G+zy<;s8yqTcc; zou3g%)nlYKhSydw9)5?++D=M5k18g^5MdD7x^T8YV%RP%kC;z+fL=-3I%^&~h^)&y zmG-dSvYm$&uO=lTmujyQI1vJpJ`~B>YcMS7e+dZ^Xp)pb=*bn8c0EiS7Z4v{?q8*f zixKo)k{&0zdjp&eqbB|HfqNS51)+SU9P!<eH|6y|868a%0!PN`=hn-Vdp>Z7(>sP- z_9WM#YX&CU_*d~m1m7mky9wU9v&Hci$L@#%f)t?IoV(QOTv-5Cfs_Ia{={jSk;?LX zskB=DhQbbj&(TdkWBhfL`Nb!;kB5enFy5Nk#;My&P<HbzW}FjO3%2SprPpL$SUBZx zQ>Y@_W6;bECp!MQk;;k_O<hqWSqgtMLY1@<&oE67$a~|<#ON1yE8w}SIRdp4hi+(@ zd`aeqrBF=~PM=eVz@6Ojy!~9X#}|Lbs!z=9IK+ob3d!Czl8J7XTG0kHj!DW$ALV*r zK8+QAV0p@oQKZN}9UfsNE1f)5<~zYa(%zqbk$S`Osd-~>jg3}zH&ovbBR<!X!Xzxh z95YO}!<w+PO~2&nCmzkIkjej*GWs1dw`o^NcyDQjew|(3XpC8J{&W}|Ait20I}zgd z8O-27D~+Jr2u}auA&79edV^p)P<&j2CP3@L@fymMLqOqf_{o%{l7QN*ham~@RE(uM z&3@05|4n48mmXRvWT9ZF($92rZ~UV}&>4St8o*`q<b>P5U1ReakTxi0Y@+tTXA?<j z6Irn$dp1Wela;%@GCVYfB7|>mw{l!{fEQ7ZrnHoTw-1#<dE5L46Tz1h_H2TKpB$C$ zrfxw*g@UB$qJ#)Gh`te@Ydc$%m&BN)?YY+)(DD548baI3<hoXSY$w`^oM~Hd=!p$m zD(<fwo!8Lqp5RKpCxtdIcnJIh9Gbq*^L6Sw6d##Vy#m0`KZd&b#6Rj4YM-)Yal6<B zfZ+A1`FLgB#P8TWCb>3O*$Jl+1<gdpG;%s#)7dY%Q&MnyWriQJ$t|i0>{RFPSCOTe zw;!&p83N%#suge}Xn!!X1*-Sj|I0TWNL?-!{xm0Mo|NS=QMTly?rf7fH12EU0jDS5 zY}JG?4CzGf{+#WtW^UT2+@uxQD2`rmh2~8Zkt8HCHE_pGfp9jRrVm)ZN4O=A3(YD% z%7Ea9s*lAX6%VHs_=0UtQR*X3^4V&o=PL#?lrXMyf2CXpx=|ceDDe&vi2pCwC_%VE zDkJp`J);4-kkeAjacV*&9y?y4elm|GcY>EMwuk2jKfNwJ|0T+j;Y*e%WaJ0L{i7Ar z15u{Tkdhim6ViA$IM;uWZ{z%YRs5ha!gn!WXP}2&WTt{vo$fSsokJzK)iZv3pO=Ds ziKKUJ{(CVs+H3+%XX&mgjW~BfE@eBIW%gp6lTkjt%1Xdq2Y+iniUZGADF*fXSDqNo ziGj;%>VN2+e(hw+s&OycT(+(gg$Yk)d0=j2HQZ3K=xhi6GmY*ZKF9YkGzPs$BhqY= zGt=+=ETWu>i~W8<M7cQ<xhW>YCJ9W9mE_;%z5fJW*t@*@TLhV3ot`9EN^x*3K&QBU zaS<E>olR<up~iFOGq>XKfT2mmG4t?>8u}5E)w3hDdoc#nkK*ht{i_rwnLea234+%N z?y-~Zi<_q`w51kRp8~0T=dNy3Ar%!{g^0i9g#?oR*5UawtbM(-#{B{)_bBT);e(~) zU_Q{Orpp=|l9jD`+;v+;&q#)*lNf^X<M%4HoSIaq2Eg7Lt3%ki^}UR-BG6)q%gNt7 zzWw3hZoS@IP2(Th115}NmfVl^KF2yqE7}GdCbkvcJj~fnpgR1VQG~(E{<?<V2y4>; z{K1o>jyf%++n(^9gV=DKE1uqU&Ryn<v;)a}TDCw15Nn!Bku0soUpl|TiRR2m;8B*I z4sr|f&=PND(J{9raQ9r8%p=#{uKE@NI2z0q;NV`z#StwgF(+V>=%u`UZ2z$H4XOUf zLxsbvXkFihuMIxw=N5d4P8ElY1NFkfr#u2)b4xt_7bF!uoHv+3XT@<(jKWVx-UlmD z*lg0yj^@l5D#t}KYAF1lL^JYibN;d4l$)e3HaU<W2Vur8%|NF&bf(Ydo0sG%a1OsX zKBBd+ZHLK7{)Fz4uyD-X1H>QAr^^6x2!Z$+O<~U0`}EPbncd06^a7FPzpCi;PBBR! zc)`Da&QD90`y|0T68zZ?$Wf{c^`7PrsM)W=)Mk<{`#mnvE<|?BZd~^9`vp_LJ;{J6 zjq~=h)^bsj;uFVX%Ec*&?8Ig7i9?#?25@FjulXLkxOf_)t^=*ZqjMi)E2-Ta=L0xB z8bYQ6_Mstq1G4Vs>J%ELbvCtocMNQnb@HV_F+AfVoV8`SOHoS`Ym4(=CIJp|P1tno z<Aq(hULaV`NU7qjuaCG!BbzDQP-oWIDEEEPRQinh%sa;7_c^?wM_5#i*^eS?cmWlt z!g^qBFft*Fdjfge-)ewJ_Su}VL{?q`N#tH!%XQwQEFbSkWB#&3UT?&1OOQ+#tzVy* zqb)=9AQ3;sSF>dVr0%HDPquz3pK`txzOFAm_6%al1CSkPBIYB=Hncw)a-x<fxZe9e zHS6NI%?Cb@3uOHqBJwqE2in4Oe43^Kz>nfwUKezOfBSCl!x(iteSuTrPcGOUrptav zd-G@z4o|DyGqUU=Z?AQZ3xv5f3K$%jAt~;Cm4)0n&vP|_vAq2r>=XmsE@w2njuHCt zH-!OS^YJ9+NqZn}fQk+L;%V5)5g3WLshkgeNujD}w39TUUK>WDCmt@`-g@Dq>&e$@ zyko8dJqy$J?dJ@inIuGGIdz--=pjwt(wA6rER~*gx;VQAgDQC{4hsSnp60zaAjJ1< zfy&?GG<q(1s+KGec{dlUJwrtEmDf8a;&^`Rl{FDl{Cwv7?6dPjBkc_zDc}ItH{)33 zYe6@J06PDoqu)I_dT!x3W7xylnU#}06_i9zIXQt1FL1n(D$1Q1GR)|-r8Xv!$|3+C zpX$q-_gQ5%s&SK-zItp=#ZKM&S!Ny3kv%#}Y{APC{Y9t3s!zOr_6fb}_PJ@A_R$n3 zS1u4CETx55!Ff-Ov2VJF3KA@>DqDO<^ODEi8BrV?8~xd>2WEiLmsl1HG7}kR+1r#< z-N2n~W~&_!03?w;uvh~BVlv@#+2r*7m@VPFz9!sF!zg9bK?+mSJwJQv;3|!EU{xJo zsD+hxQj5w?6~8xs89GOCoUxh?Dqb#+@{{2VG33=EAk{;!b8|aLC=@BJ{~KF@D5IaD z!4)p-SgSP=bos`Kq%km~*RoI-f=dk((BVc}cLA)Nm`_Q=Sk4!Rb%1BB94k6-=VMGt zJJDw_5@|$@?*zv`!iQYo0&P!b*Pb_36e%U%@rr3eC%oa(3=`VdDg`pcJMDz`0k`5? z9e-|g4WPzFsnfLCoZqenrc*EH1}nH-Z#5%Tr!!l7NhtGMj-dprPY|V<ZuF;6!EKPy zt+9I*Q0d?clt&YGh5!;1qyr&BSTgE?^__CTBD+%q!Wfg`ahzgmSIy5dP)iA=vQW`X zl1N@5v5bk?F8*7X6q)lk0gBDgUed{K%oFm~MC*}uGoc=CphaLC>!FZP2MAU|99%!7 z1Q<y>UJra~Sd*ni^}$Y2?*5n-Yn~A&W^TGYenU8Mp;>0XejpV(c9aM)nYL$4WM-{c zkjqN~{luKH^B3Lo)Yocr@fa`i+)}v3JF0-P=GOMXTSn7N0w!EvwA9q;k^ooC!&BqO zl9QHJILt>Sc)YtUH$|a6t4z*EaXVe5j&8xT&@v4b8jB_u_F_AgxFCVyUt(%N`_el7 z^&s;*JtEe}RqEDIp=}x!wY@1{;1d<V03K`cLXphzMIV+4b(;x0=P~w|Sdx#UNK^`Q zJq)Iil6z~}{&Tt=Clsw&S6=ZNsS9D@@1j&;#20gTm+6wo`RSxg+<C1Z9q3s~SH$7a zdUF(UibyVBo`kbE3wozq@N*ke2P@!?G@|M{;VwIdN68Hl0wak7aQvFq8h-MfII0nm zZK%i*yW39vBW|$Qj+k4E&MtirnBpVu$2zB=+C&fcVv$QyfyjWoPo-!{Jk<;;nb?<= z`^RDZRlq(_y1m|eSjqltqsAO&7T0e0uA-Y))_SrTZQeoqQVcHR?Zzx=o($V~g0oll zhT%ytAFUec*=4)I^En)pR2#*^&)Do38)9O@Lu2~B8oQG?saC`S0qR}^cOxtFL+!Rq zCm~=Z@NvJ;Ozw)pN<3uqFiOzEgcxACefKahLGP)ig;9#vebPD|$4kbTe@p0jc6}tq zU60KbiRuukf6-c77vw3jMQWFTE6i*CODW!M0rx#`4O6vZalY{b%a>+(z~+NSg!HVq zDF}U}2S@OiOk?baiOHoiuZB=rMkVsLtebS|#a!7@WHlp{T)n-{W4*Ek?OefOF;BQ~ z1PjC}3PbZKQM6=qic+F#<#miUpy`P#beqn47>?GJdsjK1v*FM4FXW`_UKGWl6{C|? zceqM10$?h&F-$Lp<+jC5kmdGf{jQ!?jl03)?!fU;X|u;nj>ioj`6kbA*WVHXESrYt zk^X($v>;hdGVynn7(Q+FmcpbT$PgoG0m%>&<2JoLwC&c7p|i#ZIKd!?W!;fqS=w+b zwr96yg`-st3LzcHfEf@Q+%?nQj11Y3f;p3hS$S^A|K!p371|AOC%ST2YK;d?Fm@o% zX&|Ma-DVUr4WKQ44RdH8Fbtq~NmGb4EeQ_F9@*dp-F{8YPDaK|>gUt_2**;=+UlS4 zbz&Z|gsBPUu^K}>&xi5?8Q$)g_nYm%;u3P_XBgO6i%(X=GkP6@{&d_V4A7a>*xe^R zixAc691vehHnNVelG=ElzqAd&cxGprd@cv_{CLM(kbiKeP>@?LbwW<Gp%f}QFrTJ4 z{rNeTGM=#1A(-GDAxDD%^6L7eZYA5hV~QrXLa0|H9k*bWDkpB#hGU0eZ`dizYVD2i zP%mHcOX2JO><&=#7tEsJy^|wj5WmKd>~jN;itKS8$%l_JOOG#9rS_lO=L%ef(kZ|Y zYcZ;)7_#u`tB||G9rsk9;l$drI*vY`osk;zVXrEeN^3`F6$>_hc!ASbtwBuO7$kA| zTok^8jfkIb$h<R8m}i)fGL*gVd5IQ~y$PT10?*dhJI*h&WU<3TQi6d)Fe)`$HUhI* z23pg~QfL*rn*N(e1P}lqO^PIwJ#o>|QPsdzj-GqqHX8>KV5PTK6_wOZ9+hDu1u%UL zO4xT-$Mr8KFe}~tqX`zUM}r$b)~)7I4>>2xtDI~L&lPv5$z+Obj#Ne3zEeSpFT{WG zynhH;4G~tk(~A^|_CqruJ}NLYnnR%1Mwe5(TXMN9^2bM#tYQRLLQQeX<g1Dm#2ca~ zWh+_&ICZWGqSN8R!sr2^{eBZCe?CX)v6G{SX-$c9xsDCZ&=MLaFZ>!aFo%e}Zc{Uv zGS7oQla+~ZZOD$D*7qR9NcV><&*Q-`CR8awtCa)tx%87F3bJe*`n6G3Qp%OJUt;kw zEmTjxX`pMZ6Du#hi5$&iloPy$H$ru0%tstDWF&xgGFSKx5awUuD@g)g0|l_Wu3*g; zNls!#rM8MD*>SMq_W9ju{_zbOIS$7QAEThkeA(vJM=Lp8>W>#$l!)guRL91j>ON8V zFV)p>xL~C{)2*gBiqv+cV$W$LaceS!JPv)wx=DP@P5!rTc_O~~k4Ya%DyyabF;Fz} zf`>lB2Dw2XuFwpfT}$v_)=B3T=~AIR^*^;0=oL!F%-o1zsYGRLl%q`a^0YZs=3G~L z3l!yg_=+)ff|v*^=;HWLSMem;9ex3MFtNxno7f}Pz}Ep)LeT}^^e_9%_6_dnxtS0- z;x0Xe0G3zpU4Ntmqkx3g&{4GCSn9Y=6FP$tFdDxr`0K${Hs47skH%V*rz&>h;2tHI z_<ecQhnWjEB-=^!S`ltV5UDsux~&}1cBEq);ip8CiF%-NT9K&!t2-?9_-vBmvKV|n zeTsYjGCFN}7V@3X1VDalJ`JHuWB$#xbs{+vejrEot~jFc^CgeHRdWGcC6?UEHsLb! zbPl&XD?i#oY;l0WEg@qMT2C#p<`eWTX1~ogh*`qjkA%k4uy4*e@ICuu*d8ny{DX2! zLVaS!<7aoy7x~{i6o&!_nut7DAX*e5Zm*%byc0UBFZ3R#?i^(1KmPzx_>(9LR7@I+ zh0=MwL8M}{Fz7Jy*usx?G^5mZ+HiKo(zE303CFz(E^4FAgQg|qDG!!gq(=<`+To_W zN_Gl&ueKy%V@d;NgWhg}+n1Hvj>|a(ao#(rDa7AX&<x8N+WA-4PLiv7eBC$YeGS&c zbU^*I-EQgUxo#s_W-#)L`E2b7OA-3z2g@slx&q41EWos+U+gd?8=i-i{ucHY`^H%4 z4MbPk*5Xau)*-imC6jry&xVo9%@ey5yzQ7{A5B@f6~nZr4$mw0qzTZ3^X-t@UoOv| zPsNSo5#meCmzH!!2U-0uY2V*IDOoUUj`9pv$EGj7c<)uOJnq71=znW@1^TAI&S7S= zJ4uR*MxBga<u}wncmCt7C@>r%9Ux}qLc{UsGh49-F~hQM7Z84~3%JdC7qDq}cAzOo zb*a;1@k+NPEr_w2BFZ>)x`jvr7|U~Wu?95!6ST)#1UBO}rzabVw4ZlQ)szNzNXR?y zt$aT1DB<(#Eb|nAJ=Que^Sd40;xE~62#M{+v4QUF{+U`tz73_sV&{TK2G*-}Bu8|r z1R9+YCcFEJc}ka^AJvnZ?8A97Q{ur}_Qx0`O8Ub`JX_cIOsfA1MaJ$|X%DaTww}f@ zz)l{12*2EcD{W>eMobu6%%NiXCS_DN+>j=VdDkSt`?vjovj}sFAg-+1H88RptZnYs zj~~3}<F%3XrWMDGvMxWXYRf4TAr*40l=U;1>XR+}^`3TDr_8k;3b%>(G|6?kR3g1E z=|bvEzOi^*@Fv8onh20z;R{z42piW2PyUd!7G|g0d%iQw3S)YSt&B)XiJFb_7WQrb z%D%&CaZ6yIL->4yFDVg<uO=?Px1Vaz-reDzb@^w;utv(@mc_%FVl*#C*1zyc>#$Fh zO68z_5J1x2^wmq2Rx+f~oaFtfi=nq~_c_>=ZYG7$7j*`CsMfrnQE8X~Pv5$ypv^b+ zrc=oe>&uA-+7QHe5Csl_KSSvOK(G10wNA2#S_7t!3R)ZM1DtyTO~8JrU%=>`biT%K zCqz*Sx&tlpIlJlmAXzOF_zpz!mM?>d#8nHjMbni&)=e!&3^>E@Kb`>7PXQLM5=ZO? zo7$ne0#y=tSM^0RV95%g34g}O#MT+FQ^Sz`Y_(52yWvf$*HBp^`opi0GL3~}1i?Z@ zAI~2?#i+|yWkjEXR5jnW_A%NxMKW2qEVLTXyP+YG)Kx>iQ`GrUe6RB*A*Qogsq(m^ ztoUs4#i@n<n&Xb5jkkR~I<DeRj#|G8NXS&xk~D-1+iVDtw+=Y@SNAEin?7<CqzLVR zHx@HUAFyOE>M2Qlcny$$^PK2wj_5L!vVtbx4r=%349SDYQdB>L?Z~cKI#03kq7R=j zMqtO7cS9~ti6m*kR-adF<Q;ejdnPcY#~!nS4qC*qvguRC%)+(k@sEvz%T2XB7FzEM z6N81xT03+l5!*(W`2mTFj2-qMYwMR4g%CaJN)p`pr?__9cwC5Pvpf|J{ZvE8v>%5w zz^m>iOE2Jkz%0dItu8+mi<LI%_f)bBC&CVV0X0js7^ipnifaRp;{f{kh64bgx_1cQ z>RsBKZ`*D%QCSsF+}%1drSDm#<wz5WYK3{+1sBOJIF^?QJWgjk+@6jS_x4;$l=yub z8nu2V$}dBeb6uxj7fMj_mL`*LVuh74eYDD4QeNh&=8qSWSkbU3(|Bn^;;l^i($Y8a z<w2daV`=>ML;E2geg!6zq-<Ku`eVg8katie*#NT#nL4yqL+otzfZzXq7E2j`e1D*7 z)=<7t#@i;?PqXFfW?H>^wSSv&M8}lU_6=kJrxK3LY#Q|$8&NpGAOG28&W~2ZvWqYz z6hEeKI<xHrIfvSutH&`yTEB^tcHO0;IdssrViB6APBR=K3U~V<9KXIKZhFA$_frZ8 zGDd9+Wef|1sjE7gl5?A{yyy)I3oX9f5^gjK8LdznCRdV2{_P;yqv~b;qrc2{&Q3D} zx=RT7pi}ip(-HRGIbw<daHh@9xYur=@i~wT0y3UCz2OO8S<$i`wjeiV_>|rixk?y5 zmcU(+eP3*w4M7WY9GT(XjgB+2MUXzOJ)6QID^r^Q&dp2Oz9{wij$Ew$`AO-AQ7gFb zd^d8SGTtr{S6f5P;I>kIh>v~ZX&tvEt4(VmA3b1fAgreNXsv6wEzh-zGgtW0kb|To z*{gQhKoS0u=W?|n<0+p2&P+b@?yI%kU7{}w_=8J=*!fDc=Qryk^YI@clvTKuG8#=U znVi*&!^HXe?LQ|fv$^JCL_fHtlAsEz#d{w+ZvKhL@Vf0R^vBIxiV>sqksrTH741XP zyA?HgEJy!!LApaTufZS1U&h^Diip1tZR%aMKJ~f|CRXN%5^ArYw{!DF>s7JST<u}W z@>m9P)N*hq`*c$0b7P93lt2R6tkL?Klxh}BoRr*5u0HaIM_yl)3|i|Tu`qm#I%AVl zOUl=%Q|yKqVIc<CepI<~nL|e1uBV|#&!i78pzx}dJj8}L5MF<4`|&a-JEE0@-5*@W z%`?N&P+;5I7_j-e{lrk-c*XBZ0_W$Z5p`7I!DAhiH`o}$ip2myfZ)zVVL*lu<-bZY z{I6oS>ouK^J}j|;=z9_PqvaCbuhko^Gr{*gKPDuGW0|miUiA+}Wbx(xMupy{#8O^n zfBtIXx2UGRlcNWcWYI&G5JEMXawDut@E6^r_-JLpiz<sx_CMzyl9WVXP4-}lFZa3Z zuof6Os~x9M64Y|K2LeMkJ~x2sp6#x2Fp^{k<PVgS$vxT?%c|KT-MOa17bgZLR4LU; zWxf?~m^6Mk4xfivvR`li^?7=uEJR1<7ZWL*6Z5qTZL1SiYVg6gkc5Ayg8PqWiBG9a zW@OWYsls4Zo}Q-LPB`wsq|&IhYC{I1&`H#8V#1B`UqWT4nYEc|@A_q45GzipmZk~Z zUEd6nPtl+o)1XFwV=B<!F!Mt6!#{R^{3b!i5;VlTu+;qwcQ}{{Gw>Shw3WyOTyQ_d zxum8?GvfA9nH0^>WEB%5X5E=x#h)68G#Yb~3@InPvmcQhwTz7kbG3>=Zee?PLB@hz zf|)?zTeQ{CV8=_*?`s;fLFqm={Zz}e8C^)*YM=m1nTMbCI4eHy@>Le@={7ziAzy_S zHXwuHme6kk*}wIGQhLu`C5huAac(x4za>XvIUfr-<vM7c6B<;;3G7n+nHt{Yx3<T| zT>d*ymQI7;iQLIJhkCE{n|~nMTaORd&i!JGjM5q=s{!qrxBjn|;KZ<-oc7zv|H^3Q zWzEC!mAf>>`V0nTYt+(=e6Fkd;Htk`bcfzy49Od&PO+p0fhj(j<ahic;C5=L859;A zq8f*53|5Wo&m0O<=JJ|arak<s7tWr>EE!*+N>fW-GV*nY7qx`VP7&%fwg5)paLAH} zwg!_0H$3xD<M+<e9S`V|h_AHYeuv3rXZWLLYssWH8R9L&wb9vGPr%QApsQ{>JxdjQ z8?|=rnmeWG;UcBXH$N18u>Y`CG&K=A=d)$TaTS<jJ6RE_a%SunFKnR~Vi#LkEP1Ph zxaXncSCIbDRH%NI?Vs-Oeg+xJ2^sApYj!9aFJ!#+$;VA?=K=OaV>@zb>WW;=L>jdl z7J`3tp8gJCx5Sy|*lw^!G)ERXvNWI|JDsOp>FKjMU8xhEaqJULT1+WB^D7z*tLKNl z6TEJTnaihdQl*d7#e<wBna+gYn~>5l_akKLZviDe)jBDna*$74OP*Uks@Cr`nMQ>4 z(6#{&HQ_HSl1Koqw~ll0<)~|Y&U+XkGJDiG{0%EW-2PZ$(o^~{&IWrPlgN%eGp#Nw z_E5|j4OK^mY1i60udakicXqY?iey@z2^ABCrqwy{i#V*ANN@n=kHYk8aO>-7e<i;$ zpUk7}#@6gHQOVncc6M;YVt~Nkl))UavwSZva_5{}4luUR1+w08?V=2bP{P#bHjzrV zA>G#W0m#LU5V({YU5|=7$U)@q(3u_?*@)+i<epp?_;P(LX2~%?6U%7HKVJsz4@Z5O zvWJ)xC9$*4qTjy#H;kYu`SWiW`p}y&EF{tci3&w|WPN~eHJ;zi|6%DGxa;h?V9+>? zZQHhO+iYy7v2EM7ZL6{E<i=LN_U-or?t0c;2YY7r>^as{=q7e}u`~;T6sdK;-+;7a z_Rmd1IT}X@*?&qhLX^Afd%n1F4Ht{^40$m`<40G=ut05>fWyvrGHjUvJrWnN*Pj>! zuR7wj-Uoj`JY-GRCxi_L)yaZ|vCTgZin=z4F#q6>Sm-fw1IxWoR-_d(0*K79lfz5j zP89)kv9^`Na{=S{U=rOhePJq2R~zgc5;^R~OuT6-PJBMEIMsusc-F7GJ_E?gT^vUh zzX+;Yb-zDUdf}zJ+kO?x(w6a1f-p@W2)M%&WVF#k6?TMp&A^P^tDvn>rg-Ppw8{vE zLOHi6+@GW$JZ>1t@rVtxWq*f4p4^qu9`@}^0?PaL=wO>q5_ggRk2O#hHS|sB!#_ta zNI@5XU`A%ThHP-StOS<MZwjf7i)1l6a=4>**_Q!c1xk)MNR|b+#Ekvj5@w6HZj68d zGwfC>KGWmNGC7v3%<}U9{H}3w%kU_j!32V|1$AoNCi_O|C`tHQ%n|OuBX+$~td4D^ z>z23;UDFeiF%FBcdm%V9Oh2{#1cF}jX&<~x!m-2vsz?`wX*V$v)BbE7@2m2s;cx4^ zn<kWS$D?R!L`?;5rFtiVZfnAj=MP<9!lkV4#+5h{>E%^?@%S^!q4Ek{fx=xhn>udY zRSTFaA~B0?MB9VjA$o0=sNkPMxuprKr-yyhU1pB%z7k}k^1$o5PG26f(blb{GMr^< z?AfaT?rx~g0siB7z$K{VOIs*?h0lIPZEPNSm9z|U2uC0%g@|q-&NgFBtS0X9D@me} zi{+MMI8<q8ofU2jBDivbp65OT&CF@?HF87O9s>*9TbzfNth8^JjT@T=mT%4&O;f>Q z<>2DF%ITB8L>HIlU1-_yEv<B1-U4%NbHZJ6hrmDmh9#|4X3^h;bz~y^2DxF;ezTt^ z#^nATRT@UW(v@l|i<1$BKeeQyWgZwCXWjiHtqRYNIFf!hNj<yYCfWTXBN_sY-I|u; zfF^JrN*zZVr=(=ugf<B_RrZ17ze9LXbp=0D{aJ_aaW3ivRl|LKwx@Q{xAx0fDNqhX zH-7ANQ~y1x!+Zu*&ubE1N8i6od;WnCTGSvyL%s7=yLqEl&ui^#ydhV0t!+z4!W0fs z@^Ne|Nl~q}U73_e!YqSH=kC$jH=HBLLfAqVLZl<v*nDK-xiAV<RwV|CVwCdNgKzN1 z-c<lQVjJ?$8HY4A)9hsTU-k|f@WhCEs)?1qcxBVJ7<+TEd}A9?i}H~)Y^U^$7cd1c zb)r4kf&Tpm<<Oqb4py4Xfrc_y;uto*j}gB>VPerRG%O2cF{$|ms+blH&0MobF2D@b zS+(4;wpqZzBv9U|lk@TfUavRLsq<Sd^8ALw)fWPKsKnqIOT2#5d}4@VXXZ&7PB%N@ zXoO{By*Wb$>qowl_{NZEAN}9~zt1a5>0nGQC`FW0SXQtIgpUVd@``%wq?g5XZ8GPc zi}^Lg$a^N#C4jt3HG?To<~+kMlsD+>Mw?M?%Ez4@YzYdyhvxiiAKotK%tNt?4Xai5 zWb=}aGb|X)nh`80qicj(+oC@6m`mexQwMniYBOgxuT&%ts%zAGK4iCZDRmXsZ`K-# z5*n!fh1V9FAW8}P12yrUVnmMo|93v|CKD+&v146g4b*K?^U7>yi)kt@oZJ%g`-2_k zFX$?vJ;-4!NNvjVAq;xFwL}iNhT8ZHb01%$t{g5eH&qqXF<djw>>*fb{v$>tS6638 z>-r;d=T&ciSz2c<wbwvm$7amL@A9AmmW%M5UxG^0AJMJ9gODk37^=&N(ALt(rsRUp z)7~%~-~{3I#LP@d0?2G|>!IO&2>T;zAu0!pBE^%OgMHG4OmX*(4bkx<-K$Pqsdsue zmY@1sFY1p%dKkwlehm^t&nAF)P2azd_xcK^ePY`^L;V!DfEVCY#o1HUl-!4^?TqOI zc%2?~G7YG6aSSH~0=P^N;+lR9`7;{ebCwoEc%3wOJ5F#<k$)Sz{w0b!M$01SG*&RJ zL^MQ7k!9fQ$PjttVz(kWOXQassDq_^rRg%$pbYVw@4&{;8W)i3VeXs|J%W9WMG9Cw zBe-*V#J+<HgpGFezN>wTrnz2{?!`GPAD#ij&dHmKe9o9sL=+Q*-3ZX+v%Z778rhC6 z1in>u@ucdZ)3-r|kKUSYzU<-rCwi!CRUMJQIp*&Nf45{b>n<J0?KQ0IgP*UvEE!9j zKvT4MV0jeNjvTz>q%0+OVn*1>y^5s>I>EcZB3yM;$=|hV9;M$|UC-O`n&x7WtCXY4 z=c8{(AxI*_Lr96sF`oUm5eV1pa+7K?x50kLDyx&h))9>Ge=KJQzUeB{_)el0Il`@G z`;n9P6X?R=g<nr?bFfDb!=XKg?t=6xv$VOvF^w0FhSE294kXm-|CH&>wob^u^AA)M z#&?-kbQeG58+d|DHFmKn^b;_Qb${O;7G&d)vsr&CT6BefTL>(jfm#)2q}=8Rh!C;o z1CN8_bMUhNZ{)F|@~RcKv3%77uF<ek-z0>VB%B>(v}QgRC&`2{zI9ed%~b`gypVK1 zzC;#SuKxz*Syn9V)INFC5m8PJW|$#@2}Nfw4J4&Ts9v^wb=5!{dfyyE=vvW<E=Xio z?+aM4Wr!*Pr5WX)&E<vV&bo`TQa#0u1FNx=CYa0@I%m2!yOPaWiMnf6)z$J3MaXa( zINy2cZuESt5ohFH3P*0pag$cilt1aC@rF0!smoGSGhCAL#Tn$}#Ig93c>^Aw5QQYM zk`>1u?q7>}b9anf2)Vt}tLHmdZ{q#Cs}2gWvSMaO+Sl5PbA>}3I%>T55+^G2HNZfi z@@_W;33kj~Ny^S9hfTZh{o9#X7|u7&;~cOJ@By<VJ{=N+^>(|Hj1#f%^<2zpUyKf= zer++V4JTX0FLVRM-{tRyuiu^DJ0qNy5hxSU^1*}Iyilr!>G<~~j&y^ZC`d8uLVl|- zrQx}gZs)x3{?k;9zEWHbJaZ&?<{w8$Rj0UZhGPc4vf?JdC!Qe;WOqrywAuw=a#QXG z(eLmU#_Kc_T7O6MWj#bZS!uu4XI^s=!@#-fq*YK<c-1At%8TAms<KKsc2?kfeT@iC z42gWnptLpOkUS6+?9<@=6sl$Jv+dwfCjb{aHkJKTsD*^}5=~@egDM^D=lW*I<5>~Y zU@l@ra*w!4F-ojYF=oBz|Dyp|D0z^-YJV^!M99j_OrOkIH+;mVtB`antIqS<OAyJq zsEI)nWLwrA4FLXNTdCrccrxYoL5QOCDvt^^@ICWyGw7duSq%n>Y?BTc&@N!km}7mG zdc_jVciapYyWuRzY1(E+^(pg5qc7=tPWy7pj(6GSx`sdtM5YPP+i4F&L|DL2_rUx> za+e(ee`OyJ&b`+!gc)ku2%AI`wYqxlk4%>^CqOu-S$cZNs>q68tyZzf87@<+j&(|E z>^|}WHgYb4<{ojzF0%Fe;$DX>MBdhli~T9x2i-F2b~C#K#O&O>lBc%Usr0(Fo3A}n z<eItDg-t@E;YG4FuHp${`(_pI%i*|}@9z$IwC^_~P(qaJc^Ili3ugHf^gJFQ>(|Wi z@m%aV?G%<a0uo0h(1FSV1X9rlcjlWFc$sl^<yC=&ZrsX>=l4VW-<BcovGkrYx?k7Q z#2IpxiEpC}RS&$m`phgblLlGzgL)hBNLDYc#!=?K5$ZtvjtTZJ_lbR$vv)6U_|HX9 z3^x!0V?ZW3HXS3D4P_NUsN)c*p0SmG@}8QvXZ=;T$3ykVNa<r!$^6xQzN?PN({N-k zF}TO@LA@VIsH&emVMJ<gD|I|Q#YsuijI{nP48kKR#U8QZfqru8Sy)VN$qxnl9mst$ ztk%D7wrxSgN_8a(&r2yS5M90{4udp$qt<URB5WHw{AW<P=88LXEl(#q&S=Fv-z$qd zL&|g|+~;97gWrNz??2j3dA;q!i7`8^oka!z4Rx}(%xCZ{jFUpp><Uz1_+0&<kCHIa z_GIiWbS@LdrLN3){SM$w{2K~)ga352I_u~wZr_;-&m|5jkXlZ__eHBRvG7k6j3(zY zTN_EB(4&$xwD;|S$ibNDB{wa=C`h-9OHG8i@r5-rxR9>lqpRO`#4HI^`c|=r%xC%< zkyCBi*KsQG5!>!J6lRTqdjJS?Z2(>Q&oT*~!C4Z5qsz6vCi^j14Xzljjxo{qW#oU8 z#L9u@HaS!JyU2GhL;@AnFZW588K2LX1cO1%ia7~^C1=6}qZL}tu^0`qU(aGro3#|t z*fZ3q{`<!)1ZJ*%fS+t=dh{^#;+3wGe!$<T2D*n*%BP@`H|5Ob{E2P2DHY9wQ>}yN z_-|Y+qF7n3rUzf>2C2;eLbuO$=B@FY03!bL_E8G|aWMrv{wo;T=;fk7nV_{-k4aRi zOFxQAEWx%ym7qa|)j;8%oLTXP^yGQLoVqNI$RE*e1@Qa*f&PaD>v-(bt%<*~XT;UQ znXY?HUf}!-C~j>YI98XtCuasOu7lT&!@m`TX>~Z5s8ZNGYV?p#`rKLFpZFHt>-TI2 z_sSFWB{_{oCJgit?tap~yr2J^z3#M{q_?78wC<+4H}G;;CG}ul<o5Z<%h`q<eh!`6 zN`oeUIwnw*pn-i3)qmnEn-B>z+s`uf79&__s3q_@sr43{Af}#ab}(%@i8Z(JdRW>w z!e^{)F;m_5QHJNOqsk;T7|f~5tv?gxO01r8Pm|^SZ#_0`V>}CMw2DLoyo9moX@H~4 z!x)d2#UInm@-u<~g6DpPNbyU*s7+AwxZjkVGKR;uBgs+)?6D-X62#AOFqM&yBfEIM zZVaw$rCQqeNVX=ECce{m7V1g3E-PcKI%z%S_`YXYB7bbssqJ4K=$N#VRwPWND|;PX z*7P|!CXRIAG2+Q8n|YrXqpMX9)&6vk#v+e|9m6{#EM({p&njhm(q`BkU2;|2-wZO# z+;8JoAmVArZ*+)kMD%*yB($%4AFy`sJ*o%*E+pb?7Q-n0nOF`rnC(x?J@fa&T&;{Z zg>;1|Ty`Ft!p%`HC+gkRRIlTdW^6;s2E*RbsLVxAFJVZjqK72GVEYU+YgzZ8uZ_BU z{@C|2^sc@)o|hP5LX_k&V49G97c6{Y9+@cbpZ*D<KX+kh*ZNGtR&qB`UY)*ugKcgU z695%>3vluu1`*}x{&wX7X!|$jr#WzL5&V9Ve6y;l6lSH-Xe{Kabo;5&hAat#bZC=D zc_v^@W?1l@)FK&SIKk0EFXHmh@q}y@$qt=|?b%6Tfoh?_t~BOsg%o$ptFC|EdZyQu ziwe1}+-W@S-crLkyMy`ha8n1(NTDEn^>F-NET{!&UX{gj&du)CA7)tQ+Qs+Ab-S|e zger>}t)L5XM<XPvkxu3C;*>+$Z1)13$8>s}D`}W;6Q2V@YOM}k^H2>Hj=I9P2}a%g zv1`mYz&&LgThU9Axz#X~9;GqJ)VB|1qS!In2V7uR=-U>_Q=M0s(_|~t^56QV5`yrK zXA%IK2OjqafojWbKd-YHKa0D<n+y$ZlIC9rV|G2XsOb&Ex?{f0T>T%)Z*4MpMO-or z?_@y*B<2@pcVVi@m7AOMGe}qqtJpZt(CnaDP-9IYBTJSifBv^=sqin8=t=XPk&x~? zNHdr5-mI&KufFO}OcUxcm6pWhh7EV`AacZAcVbR*{y8`oxCY+fQi!JJCM~l0&Tts) zT>Td;9c$zUAd#e~Xej&Zp>8rO^JlmmdXRSDbmXmGuW0ee-g@~>U_J)pZm&)5LbpwJ z<J(J5y`F6MGEF?JV-6>+P9@R4^>s@JBFl#G<!CRlT)do^)vv*qEod2-DQDs735Qj7 zoY%e2JaekKG`mk~cW4oTC1~Q9khjDm<!#^^KmWqNth!(^ei<oPL1j2Qw{kzr{A_#L zUHmc2da`~w4QSv!MAQVzqFVjNkbbu3R?RC-2ITcpus$$>L3fCS&qFMJ;{Iz(-TbfD z<eW$L%axB{+?~T!kz&m`OT5+tHRT$8DN4E2_^k|z$kiwl&ckJii)*dHNorQLWK1); z4-ba&);Y+w+kQEG#pi643Kci2LonUSuhc?l)Xlae%tR(<?Ib$eXY~3WVMs`(=`eVZ zJftJD!w5OW9~`MnXslAg`VJXxk(a{?D->QbcyoHL{05tbchgmJfnL$GYd9CRnV>qr zx>a<avMhHt+@u~X=W_?Fx%EF0+G47`STL<&2i7EdFr+bsmE09O8X%SvSSTgClZPZO zfMqM4boP)0!K<>ry4GIi1OVx(Jom9a29#5R85jU0DpC;ffYx%{ttZrOA1~-+IRE4P z#92hUBb-6J^+F**iBg9p9jxZdQM6556d|nKp%mA9dnUm!@<I{8s8W=#oTNhL(2M;z zqe0?9%8T#iK;b`=Z<0KJrmfT*vtZ{=9j#&U6sskiImba?wlukkpK<eLBEMuGc)y?X z+^cNi!x2XALzYY0%^0&S^Cv0D!GSm4RcuHPYH0S~7Lz5TF!9(ZEaeT_;by@sBl|m& zOly^$4P#bY5nXc=xc%|T*6=36N}osbn`Ng<F_m3kIM6yho}ongaQf-X=5=UAc%h-X zBt#g6zn?>LW32VL9w4VISx5(PQC%W-mYa+dJiv}!pz+oJ^V<q^>kcG`d>2Mu+ciMa z>~sa@GQBkh8ZP=;{V8{VBeG{9(P_B=PUp6nB8!@Xj5gOIeB2Bv#7=0AzrKB51Z4ZV zQIUd=x}1rGC*`vq3p-m2B2uJB@@sxUk5gFGN0|C$TCEuByPb>c(}a{b787?{%$Ca; zP1l#6JE!XQyRfPTkh;b+FUN->r$(v6xyeuR`m|X-8a86M<&=G_>32Hpds72F-cudM zIWivGSbW1``kQ6K7%tJnp^%}_odtIVamb+T(2saLGG!TRi~3}`&a>JD?YGY=4y#tH zlrrTbqeay@!^<G*5SLwU6;(m^@rFRmXFB}0X}5%|il2|JN<I|}IMbdb`neB_b|+2e zC?KS0Y(=AFr7n2W=zG^y(cALN+KnttchF2wbUYP>)fr)6ao%4O`<*dJk7PmfNx=5J z$anp9lm;{JUtlKHS(a4ka!K-cge(1o?#FgrTjWJ{CYcU3O7Da0xKf_n<G(_-A#4@d z7AiMnM-Pv~FhI=B)X(Jt^c;3c#K}j!?*oFz{W-shMtAT0oObs%AN=XFVR+)&RRy~$ zY?=XC@t`5nFGv<CYG(HSg!q@pA;H7ZfVgL7rqH}nJ+#weCQ?f`1iza@s5Br-$KbJo z$mE_}h3s7h9KCX+pL1gUGI;<rYzVeYPa)f4imQ$_ntXalc)lhxFHFc$<?w;E;X-I- zNW^u1V=E}TsvitA8qA>^*7_4uwJ4no+M83-YYGqAyzSpvs%P<}Kn9Nk-77~CxH>TY z=2@GG4)O`RWAx1jfBae>a)=xPA&)W~4M)%OR7a2d_6|%S#o+W52(HpM!Q1*|<9Ip2 zP4wG5QjGWl7ihj*iw7YCTYA<ol&v+R`zD<K5wntB@O@R;^VXV0Du07l3ov4b2prh_ z2v;m>L-s+tqP7g|t#2252Jyo!yb7hU6z5NylGIqdL!#YGhZtff&x&Xutd%%SVqYg@ zCcC+@#LpamDd02q)OevlsOU>dN3n@ZcI^L*OXn&sZ;>=b)D4?zsxEg|t3TxdKgi^s z1~jT30S%i&fge>guqzl$)tl%Jw#?&QSe4IZ>)_jznjurTG+~uMnTFE+|D2$Rm0L_M ze)mxL;Sc7zw4Yz6AlmCK*vvh?<V~{Pn|Sg<#f}DJ!?DUJ<tAP)pg^uuA6LP)Y@ptq zQH=g{@wC(jj?dc>^f^t(D&hp$xL!MwpbZC5WxluduA8o=K_!<rRW91ed)j2F1f9rk zG~ZP9_2#nujMNk4TMD!(0f3UeO$890+e}bb{spSiHK?=a3vM+M{p$Ov350R~8j3<{ zYU9>+DDIod1FE`3GnOxE_l?c<iZe5g$-Lfg?qn$^Wr~r<jpJpB?TcPBLo${Uoy?Ma z?#f0gq<}6?d)F8j`zRBGN$i$(Xn4>EocWPwyW0L8^-L5VOxy;RlAwO@q@ih(a3hy! zZM-o+pM$}64E#>7yslK#jlj<dfG{eA+EG%8)I=(;N7tBO!645())oSWl%mz1DUD65 zNP-Lzi_yIZKwdC#_!IXsTVN`fx`qW>?)v~Y8gNE*-cOm!=oao%wW+r~+I`a^_W0p6 z!JL}PgL~1r<El{OWQ&FCt(nLh_T~FTh)mU8c%d<rma(86t##YoMw~3^y|kp+>yMy> z{yb$cpn;oi&NQ7aXo!5`OpUeh_NzCqY|q=UL4hZjnnFgn=A)5nsbGDx)``2`vl!5W z%`+eKNMUkV`v<e@PQ&@Uj!ms-&5c(ZimnYHL)D<0U|io9-gPWFG*CIqPKUormQwAr z|73R7wGtT;%tva(Wc20ov^p=?yrj`ohI8Jt(tt`)VImStN<%QP6C|?}&l=}=7Ali1 z{XiWItJ8o>%KG;yy<!EtrY}AfHiG)|@ZFn3x`0&^Z;9o_rI=j2AigyZ8`H_wTpe~a z1gb&>G#`U_u$jxCK*a6E1*O!$&Dacx3hmG~qV$2o3ztho-VM;4wvX{L_-$Lxc<sp+ zE4dl+K{$vai23|{I4&d%PCMdQtj60iQR6O3>ziO`z0P4DM<^Ag*VGWu7wY)$2i~CR zN^^}l8(M$*2c0;#e4?L$XRv)E!f$^TQSqR~lgsG0va+)zJ$eTt;Mh;FzEb8s8?#eq ze9Dkv>|U*UY<#yW=-QgI<4!9h50y}lwYX3>nk!Vl^~Q2VUmZEUvwR<IyB_0cRMOo1 z^Q}*6HS;&i*|q%3=pGdgTPZsvVX>lOdv(tJl6}tG>FSUiIGP+*I8r?Ms~aYVU1mAV zAnl@0k}JzS&9Ny?PHH*;$V?%o2_bw%c8{eL?^1;^w0P5T^!vDVkH<3m`5fYJI=UtZ zv+PU;)50RwvT}CG{xNByJw;$5Od`1J$$2y2*frMe)wJ8yMJ{BRE&RHL-N_-UHI0en zx6*dyozWUJ3Ec(YV3x=aED-`@VP2<a8yPR#m?B-~_ARVP5~wa~f%M)n5P6?Az$C<b z<wnOkJp7E+8kcrAsfd;koqF2QZD^={(%GD?h3g?Lyr_YSr6EO)s}~u-wjo+vDv6r| znjIq!seSH;)@ZfB<!Wj6KF5DBMVYRB>kfKaB%n^uY-Hx^Me^D$fx4Wi<RIS2ml&t; zNt0VAaWX$GYqC9|O!cOx`>pK-nP_}?A+$`r%L{ce@F2Y-Z2kv)Qs=!M5&*N&9Y1&c zwul>IbUvf8-8LOpe!m?~vgu~Ma*D~3xR+VYW&^4R`Sw=I%I_P(aOO<%#LHt{xC`6g z2APzsW13e33719D%aKjJKN|hn#GK69y5fh8*vUrh@ph;EaRqN~)}X3V0+jCNhzN)* zmMJh!AW*~S;lCV5lnJ|ZWU$^fH6fW<jwZjWsZ2-cixcO(O@~zxZRVR>svzIuH%g^G ziGFjxV$!884lWk)A}=L6Yo0v0-l5Eu^skpTf$EWiRDHeH-dVZD9^TQd61i)56|2Mx z2@o%;``Em(YWMnq%WXS%PMmC-vWzOy!rYvmDF^3z8~&@m^56LuQ+cbz=#;IV63x3~ zx*O;n?LZ<%uGM>-G;jO@)G^*6_#;zGpM@w1_RYaSPr-64)32fcne)?F+TUNF3rRm* z))O|-7cg^<&(|7rh9;k69d}O+gtcg4LlGjuuz~j0(I?H4Q#U~}HRHH9h)mkyakEq0 ziRTfX{Z*Kgs)d^@5o0<%o{oKgvUQ}#?BF-JwYc47-~xA!Q8p=Dw&kBZ98D0O?`KK} zGpfAcLS;6eKLEZrO#KIgQRJ1BpymQrg6#x|zAFkSGq`z&6Swe~lbNB_c1E*{h>NEx ztsQW!*b?(w&hrsU1?%01R{ehWt~xqzs?*)WOuMUN^#&>cw4b2KU$~DrsmZ2MZM7&) zp==ZmVqY2@LZEA-eBvlRKSuUnqI>x=1W`^KiySZVqa^6#kF_RlWzT!gTP3rx4OF`r zw@7~Plx$2l$<14%>8%0;OK`zR=8kRHN$dE`7VYq``&d5_h1M*@*V|U43R8Glqk(?z z=d8&1)a+!yaoPt2>G4C;FgR<)Eq(2^I=O=-JBcgdc{8OWtRMuR=)-@7!2N78H*N?- zVrVRmK=l~%^44#F&i)A3IIM+F_ViL(CQIn`CH|%hWG7CpK3?Bue?b-Dq5-B(Vi$2P z&otfwx%)+c<wxBgY2<FI23?4a@2UPLjz@+QJUUo}O)WkP;a8}h+vx;;wgdIfC@GDQ zI2>64_ei31GSs})u6$5_JTrRfmk+-w^XyHF4GE@jO&iJ+6dF~l%Oqh@skvK!gUw$U zmauPpcT?yXLK=w|M#R)Rf=2pIWZbC!Zjzd#ncU8g;sE&@+z?b804ox%Tg~Jd8e<AY z7V0|LR}3T%0+A^Zi%xsl=9GyuVRO=-2&;U}R1Uls%N5>qw>#cTcwgXA_t#HTt{#f; z?Y8=UK=lQs`(tL#@#P%0*3TuPaNc&65S{AA$Zp>$*+k1=6LclU@BSTV4#e}kvOeEG zGs>DQsw3pg12ZEWMt(f*a#SG)`}bCQ?{4{R@W%DKB`93vF*3&{?K6D%(KumK6tZB= zcat9iQxvl>Ec%l?K5HY(w74p~eKNasjXKqtLDutd-pnBFh{NFV;-x|d>;tY;JKn{z zU}#jfsf$kcEY#K9<STJMlM&IX?1}Tvvn5?S<9GNDO;E{4i%cz8_Pgf}Yb#rh-7ywz z5*>R^_)@#~X2a2|tehy7ZfjhbG*|z?4>vSDUwWPC=drFtq3IYNy6dW~3dK&5D#^{S z_$`$P*yA~Wbl{nk6~LUSi6fA`B6n`nUrO`HCUw}1(>fl7Zp(0blv{!{tG?{vxOOe9 z29rV6y!CKSczgO1lDWo)$p$f=b8u*rKl~|}_KTy1dQP0VkJu-gR;o22k9<`uMOh?8 zwiJliSW>p%6(Az+bzJaIn#l-$4;%p|u-I?x%u|-5tC;2E67FwuK=Bqh2!lJb0m%Wz z+nplbSFyAmafh2~{>QU=I)8S+FC(p$_5FbQy}j4cFuR;v$+OnB|KtD}15#>^W-}o7 zCmAn-Ti==6-rd_>|MFNkNiiCU_%@J(-QH|}ddYv|A5#_RHN6p%2r`4`n%sWmGqdvy ztXAVEmui5aZ`Ci|`#Bh|UNdg}d!7$9a(4RoP>pDQY)t=&G^&6~qt^a}N<n6L;<>vu z9knbhDIRer;46be5;r7pB%5U4;5SuO9aFJsa3uS@vI4Q<{C@mTz14IJCpz6a7wBgQ z-N86ZsDy83C>;3AmoSLc6fQEQ{Y^+a3L$FC_=fFEbvAD+p$BN*{J_$u^>O9s{-lfV zRp5Si!lHg@R5I95=M}T=u$kHL*$cOG(#p1zuYvKT+#!e_ju(H2Cd}P^DT<{j+=r3o zAR2Sy%;!^Z49faoidvP{|7Hr4K&|?4bQZIAUna`>3?!xrndoa?#)q7YsIJDyW}*{` zv&+7EfQxAC;i`Qr8-bf30U?{F;^nxRqM{xE_aY-fNkFf4`95+4xjkasGcWb8-A37~ zT|#~*6`9XpW9_}72zY`N%Ov0#(a&Jv?$lYuUYGcGS04XRLoLvCjP6Cz-(P3!Lfe?t zR~r_(goTWawdCQ&N@-5B8=}lHjYCk09{=5O%}HXP<F-Ut#wPaHznCo>KWZ5Yl4~13 zWyjbkS(^@%Vsa(EG)DUj#A}>Mpqa*$VwFZsa(axl{)^{&Yl%9`iH68_V&6e-{X{5G z0t@eR!++dD@p6+14mxEP#t4HD(Y>*y)7`ijCwO+erl3`51dz%LE>3E~W_6o^C-9Pn ze>K%~9jFdkY$+E)gYW8>i)<8C6*um53|GOc?rDxvl|;<mzLt>RHNtvF)hBchw{|o8 zE`_IUZEocSzuvqQGI)g}^0l@WNUM5<k%};V;p4jQ3O51F$-vV@nfiO5Tjdv*JI1&Z zLkK$;M;1uFVw(CJ6HTV>wN|6`Xe*d_t54lAAM{1>d;o*S;wjhttlZir%2Z~)a}1-L zwIM+-2`&3##qjW)_5f|JWJ}sf;ktBM%L}W6zUp?@>JtGeQLCjW*CJPd5{xUJ;R)`E zR+CMYw{PFFBRpzn?%_A5Anh-KW?n0E{a%6@*9A`-q3`xHx|SwmF(Xb11;yR>n{R?l zb0YH(J3>q+B5gwDR^e0(t{rsQHTQ`YG0C%=Osfbn87qm6_Ds*omREiv%)dFyR#0DE z%)8-I-a*~<9xTlUTRVH!FDN{Y2laa*hQXz{Cc>QtR+IfmlcxhbK|Fx>acFW#TfT=3 z&vTQ%s`M2}wn{Qag^c8{RC~ls!+fEsaBRig%Sl>PCv>&Syi?$WB+TnHOI0=;GiaP} zwN@$pSu(yLOtPa`lB&ktToJ^*CHI+n-j>{Dk3=VlP*Ty^c-iF2K646lo?4%}V#hEu z=J0F0D1m(t*{&l{3Olv^b|~nQ%lof9q+ogR34vicYb>~*+3KZT9*zMZjI5U(<ENqh z$I53*Y^?k_VWWzzxWp?{aqgMR2ik$?0=+qdnG~un5|n)>R!FlUi**pNYaiXwmhd@Z z${KP^2o88~aZ*0VCR1;ZmSW;gmr+sgZ*rMUW3<HRue=(H!P4Rh%*iOOh264+JlGAr zK5OWao*b&Q)IGZjkhF%{;jy`6X*av<KZeuy#$xg!4F9~!qAY$xN^mdY=;5#Sw_GYU zD~Gu|BHa=svhQ27wyJKrU;|H$`0vDj_K}({a`pGp46vYdndV2za$FFr)Y1Y-gzch| zJC44bB7TvLp4YQ1g<>_1Zf+b%%1`ug?L(fVOGx@P`buxBJZpQ!@6aEP59JsOawNJ< zRFgPrdkI66C=0sNveI8}whpJk)TRcf%06!MG0P~m!xQnR%QFgjL{wIltDZcJfG;Wo z&^K$1I%H&4R>qLT;SGrfql<{(G?1!GDDZAuaR7u8mPoz#Z~~%Ae+QY0^-LjFMS;8h zsPqQ&{f6e2-i17B3A`MEsz_No`6U)uiif1lylLv%T1v?@e`1nrKc_n{6EzwjQJcF! zL0JRW&!TI6?Bmmc{mx4LGxWsA0eu*%`z7FY42(0o*8Cq>Ce27y<2Kh?IALwsw306_ zW_Uy`)Pp}>n0n1g7(x+i9?xuM(Kjf7S=f9HX#exzL0bvW5TgW2<1H+doW9~h!hXj* zm2$*m=h!;)PCZGaN)B?VOEP~@iM!{L#=jn+TFF*VP&^#y?2IJ{jt^WXnjO_z4}9lY zyAoOhf&G-xqQzES^oTUg?ys_o5HOh|5o@M3e}j`Yb?oGAB_;C$iX85QY-`IdlAKkc z3ikH6Q>-IU^Jd1SXFH&}wYqmuuaS8>qH<|0Dn<Jbe{g<^7)&13)s_koaWZFA?Rx96 zW+?38->zGnsvj;XQMlv7kifGgHQc*XMLRVc{{_kw`Bqi-nq|yvpg4=wQHI<seV3!2 zMIHiYdy~4nDuM*6QUylyqn3oY{I>l!nYGAOAf%W%_r$su+K<pxi5djbNyj3;Prf;} zJwbX9+}?=KZWgP%%#lEuuCH_Y#XlVHLjrMI2H&n;xd;AG=z+w20ON$o>OPO_>=-{S z=rfDSRNzYf_~xFnCh!`{;EJ7u@h?2-!XX`@y&rK0&>)~gX*A?#^mIB+S|5#YM%QoI z+xz}d!0-bPJ~Bu*m1=vk{$ze>O;k3baj!18lBCnr`zheFax8@=Ll_!8lA8i@L-3du zngmzoY(caxi#krkw%=Nw_Fu`bPF_I{AJh9GxT&tzxE$V8`lvDgmiV16rRe3U>26cX zeZJ<UiD_+n*%&HrR`R#8I^c)Q-KIV0J2*;Y(v2i|E${QD3AEMrpAZ!wvKY(DqM3;R zIXqHB_>pbbyDe;=gei~s!-!uEw~l8`KOm$_0Oq`EDG$$j@Cn6O{8Up_5)6ci2nA*Q zK6X#<{{<W{fVa*vFz61IuyuP?4w|2<PR)=^1A1X{!E;Mj)V{@734)MdZ!gi)^Bn!N zSvddxB6!S=D#|hz;g=<KeOrukMe^3J*EX+J(U=qpc*s0>zC`UBqzGo~ndmUD)yVtM zS*g=a>f#TR0`ClgN?$EuJeVK$6rD1k`gj9dO_FV<1AQUAKcAnd%BJg@%Ekh*KqGt5 zrD+YHkVWxr*~7HQl)yb<o=n=yO3j%dYW$2bDg=IoA9dXQN~bI=W~x1phvd57%)YI~ z-Lw^N8Qs8RL1A`T>4|5NI>_!gBsxS(7M0LMWusr>U%55nAGeH|Z3G9P)~FO;b+XzR z2I*pZA3qd=2^80)bDhzKGl2p}L%#r2{sgE@c1(_M*yTD%6g4;PV9-HcGhSE|a?kRo z>S9@t)L-@$nyJ}~Y>B#LmhjS89q}}TC^x9z3$MR^KFmuIHy?puLTqdk#{)H_6)mZd zqi|ZBgsATHu4bRaQ=|}nYbP7%hO4;AK;#)S6>bWost|0WN<=WI@8Z$o&dz?>`^B~B zQabUTDS{``b9|#}b9{PVOg_8@MrRBc`@vFv*B^NFwD`7@2v2zpQ{XMC#ZZJI(^<{q z_!8Aa{o~(ICc)f>c-0kp1KVzEzW476hkM+e9?4ZO_X@%r-+~{r4?@KwjS<|5b_x}I z@_7=ExImGD@3T6=LDTYC7yZp_=TFZ|^NbBtA`PkfNPR*2&$Ut){))mVWs=e2r6(W| zr$b`MYi|-u&N2`eoQcI^Sq1s!bOseAuxjvOCyM|A`zGPhB+U9&CMQU?xR5#}d%=g+ z-j5t<FQoncaQG6#?HbHXyM9m8lOgz^<?O_$Nsw1zPDpa|+fd&0^x<bKAGMJ(X4iV9 zO+q0>x#ov1>y;X?b<AVVM<5VPSj@UmZ1Js0YtN;CHTx^}xD910c<3`(2C18gaLDi> zYEWoBj>xNClPL<MAQqPy4xVETB*9E^PBKE)_ms!>Jvw4#V+>%0Lj|>=WS&3cE3rpx zjte#<ydz#J{?na$xYBQ#IzeIa_8qDRN2rTYcN>DF^L~VPE2zzg9C-O|;K7W3zOwh3 ztIh2F(dlYYyp-o?0fEHjDti8>Eq31<-*>!UL-L<qjQ6c}Yflp*7{^WG&_tpS6vp00 zPlnY0h2ndv+A-q2%z$4GmGj^n?JUV$3QEdZU5t-NAt^_%rV?UG==8S~-`%QmZwF-w zlY~o#Y~rUG_TaqqlVmIUvxCRLAC9jW7fDiYrt0-1|G<H~g}t)EtGgJt!7|EZ)uZZ( zNr+ECL;D~qSKQC;S5~AeGW(bDB)9dJLfGqvGIolmBGvB~vHX~&*)Nywb<hKf&gsSm z3L3{w85)FXqEx60_E71$O%fRxRGCgkwb$3+sF>L&NqG47D2QlSnyTMwLtR8s56XfJ z_B9^$JAT3u#mv7SN)RHQMOnzr_mqN|=FlFvW&6f4_Dj;CmG|lSI;3u?;u*q)y0!sm zkr0{0+?Nvi@)n!iWn}&n^ha%fw>sPMrkrrn#{S`0g8W2OHCp|<ury{ld&R)%u0u<6 z^1L#s9r??rw%H}uAs_+>QEhLR15GT+GWicVS-Z>Qn1l86927d6S{n8c;c0959)D0Q zHa{<GsxR;w_j*ailVy=NuauJ<gh3S9(l)nc$b50P{Wt1`bl5-av`fx4f>PZbG~L=d z5?mKCZw1=jk%*Z-PlA;)G7k9HLXZ8(Joo#Sn3~(XB4)BEYkazq@@e0O`r*7geGq}Q zIfXwn+~sB$p2hcpfvPPcP_(Mjg^8^X6Pb`C(*V=6YjGWnN9P)28$u^s5{UHg6$uw2 zBBJq1uTI`moCpxZ^JYHwz6KI$U91U}^L}az=SOaL;Z93SZY6su?=J|HYeXZs;FlWm z090KYv;EyE$#ER)LU_V0no0tYz$2bRsxgEgdJ~s9OPQgE8b%g5#qWb_%#jcubX^@5 zBER6kck>!s)$41K$x~%8?NYAncRI^%w!cnV?>%^Vc4jfRY5g*@I6*t4Clu<(T_mG$ zW+s}@Jygi+m+8(2R+5fRaEu$_nxd(*c)W!V$F;zfA#Y1A<qRxm`R${=8ywWY{p-Kd zes!A~;Hy5nSK_$HcPgw8V}G241<RLIt9e$?Hl#zfmXzM`D~6NETkI7zj)o~+Oz$X_ zfk;RjV$LyF&UCTkoS0k2qwD9lz(YP93g}n%6o7X4acM2YgpNSxri5Gfr>MtrvgJ)i zHMhp@d93`x7%K0w(Y$KA#y7f8ggL0E5*)e`z7CF(rGG5oG}hiY9+>(oa+cIefWnAY zf!J^_At}){beMm-YSeZ)*IaMIiMQf+%S3-S-rYU2esS27Q=qU%GtVG7pbZROO8}ym z`ysC-4xi7Rvr0nhhK502n@FjZcrg53u&eCQl{wKx1N%P-QqPQj2=Ht+?;`hf6TXj? z(@m**{2+&;QkPbgtp;i@BZ4e<g16$*VH>`3{E~A6ac%0z0r%VlY7JZq`AbpqVoD|V zW>m-hv-`#|WBv+W*1C$1C`#2|G%!`G6)bLVV-NV|UQWpN>rBbOl@X{SY@N&rP3Fgd zF!3Vr=;&fDu|(B>YNEq<<y>s-pxnUfQ30T;y}4AUnY9(doPIoxxy6dXb9XAb+O#F( z*XMq=>Ls^^-*I-FB;8Emnd5v8T3$3#n*RJ9Sq$D{ord!kK-xFGouDtQ(5z#O<QBBs zEpFtZXtiDC1KdbO!|4#lPtx>*q$A*6{{S`GTXD<tkmQ;$EMLj^0iBunzB!=Hdd6)^ z)qsl_T>u|sc-#J;DcI)#z@L|0$b?S(PLPQ15el;F#COpryDDYB<jxdw$ZJhLtw>*j zd&pQ~&?~9ee%^)-apc1b-*mZ~@)=c$hmf{5a56mXj5*~0sr1x{*Va5PQt=$R=|?GB zNTxw1lyY*lG4}MnWKMl{be{kgLW#O|9B_@&Dlt3t^OEE>{5RZYfmJioj?aYyih@k2 ztT*5DDNLu-{ZFOAJbIPb2oA>8RPt1@hMupNBXkLyjst@4HW>f_cPP<^GMXK`hRF&i zL{2(B&W=^g+I$~mRqEOUD<+0$-0MZ)+*FT(@k&m5PE$aV6s69kn6;<Hy9oe-tS+<c zKQCuWcu15w*=(2wvpXzlYLf~~4|G2^rvpP@nsZDG`FC%ZdNWFwvrR|+J);GFY>|4g zIKQQcOUp`uTv?}v3ChLxOOVumvenrIz^qg59SE2R0#+3@F3#d}G7|@(Bl9F~2~AG9 z!ZcVoO<~?@0XmdN8cMfTRyar!e+E!rRb?-P{i_tVle#KLYPCK&ZrcP=4=D}8PB5`3 zsu1D#VNvf^yKMyj6?}H5@|2;BMd5jr8elI%6pn2=P2>KlzFe90FiV|)3fx1lZh39Y zK4o<1%YYdy2<S=l={>T~dZG>Afd!{mph7xlR*G^g$gMqC^FcUSS>QKT&<Hga5wq8t zNzmPpra2QNXc^3vdu)*Nf5<zl<!uAsy+6OiDu%6-9cxl9R^Jx;t6$DU`pM~?iqJb> zNE0cBG3E!TLfE?xwiVjJieYkc$EKqu5Yr|VFhqTpGT_L8xArtIJy5d9BEHqGUoK-Z zaV~91g|pl*(APX(f8)pf(5;82Xc=Q|c1?HX+?Mn{pw=ypjO}b!TZgDr9R;m_m4Q_? z<Vf$zpmB6mOf((v{kN~fPJ^-J0!edhX&L$HxVDKHouCAyD=``k0<{2fG#B`H8uy=@ zo5b?j6HL-<qrpC(xgGN2OXJc(`cu=>g$MzROU+=N19;vKoE2)+`9Rq}8qP2;_<YBO z0`J4Re)9i>2AL^}{kdUPbn2=Tf|eboa%XQ80^zn5-9r!OU9*kI{ipiT!{6K<S>6C# zn{@m-Y~(sJg`F%m7!^!AvN|<1ZK)&YOwP0hhpk;f15F&3U|_(AVim&gPaJT;cL|nr ze($mZ-?;R{!EkMIR!r~@dLcQeL6<#+KKX<9BnErn(GZ<L(KP}YAa5`es<Cow4|<8U zcEd@533suERG0ASkUKgA=Tim{3ot(|^F(kN;Lz0bjnW}fPud)*f@)suvaNMrO)g!I zxd&;T215;!+<{M-X?Vg#bL?cLq=x1YHKi(8TVK(}+F&`Oq8*2X*IQ4$BbwO>e-er$ z0zc2$UA}>M=zRBy!+jox7+iznnnvr!?w6l@?)dmRYyeA>gh<%KFdrlxP@#=bt?8*< z9|$wmDzrEEL3p=w5}d=N>t`x`l|p`*aMacm`K`_ZZ>ymFP2JIDym7ae;*o!y&Xu$u z3VE1v<`*j+(KjHVT8*bQ9>Ecv(8tdKW=lC#s<sq=K#T}2a+={+A3JQ5ULQK}`cE0* zr+T7g*FO>X<54%J*zQA3#BO)dv9D0t4L;w#=N1IpXTU*vP4P)A`L5_YlyYrK1(lsL zUk*rERze(~+d^@~oJ3_*VJ1JD=P-N=;;XF5tzJcS7hlx{@<tP{4jjCFwN6{IE_gB- zKW!R1aV1oIS8(Ci+mpN`HfdiCmcvbZ0|~X0?~U1q%%&n?YE|!vBXHFR;7!j9%R062 z!fh`rXunk-mprbaAU@x7@<j4=c->+y$Qpd05j=XaBvB<rLx6_cCLrl_YDZWyu6VX( z4mnp77)tP(%7w{F@1KER5fQ8av+dl3JL{f*7p|MW#8!D@fIi-A`9Y}=qQf!Eg31_y z@c<FzpJ{rXssX63sj*?nPbCfB6;PbG%BI);Q8?lu@?5T;Dx|<sk&Y2H7oZpBLK8M! zm}S%chyWfp<*5hcttympgiy(g(dFUg+t{sMdiEAR!m)Z^5j2;4)Y1Ui)nw(ZTIXzV z1K6w~_??N}Z1>Ix+-B&ilC8k@%t!2n<T~&%5ert)e=)p(`e(nH)}32h4bmRmYKJ`* zfFjYtY^9HKy(*d7YfhJ4ASIs02m-dUKpb)UC}D>Dlse=o@^CNdyzobH`jNWSI!|?z zVupZkhFtX`gk82u%p&KGJTjKp1}!oHVGf!gtx}EaEI+Q`%hBaQ<FK`#8bf}yNb~PB z1_p6XcA0GBOI>bO1KHH<1`L^)!HktYp8+tbK4}0~T+--B<}?1o`dYBTb?WRV`~F>$ zJ(D?}H`#9Q*T>y4fT5z4+Fm7?J<;%O>uW9N6EaN8d$b}tLJlJs@}vwpDHh$oN4V9i ztpIqP7b|ahP#Ad|u|~Tq8Dn6ynm`n_gIKm@e6Ib^AqSJe;Rqj)cQ5gFQ74h1;xq)G z%HBw3pR~H95uZ(oYf?oZ3`N=LaHsVH_u83u1f9F|YZu3_{B*pj7ssam?=!m%4-i){ zb`pKu0ciwW@mVj&eufp1rF111S2Qd~fk8kk%$+=XeVGHKx@<VH&}WhSW|2+^wXeUp zvuEbkNxzY(rEE+P{Rr1xzzD8>nz7=^o*onoGwzl@9M5B)SH$aYzSp+XyJ7XhfJGkn zG@%*)7C4|ZdWGp>gGgeiMJ$1lqgcTOHOqpWuH2OH3!e%<E7l*2Q3%7&5^dQQ1HGa5 zeFFE~S+55i($02z)U2unQ2?Ba&N`x+y459reS={t&vO>KpukVZg8F4A^fpT8l(xJ# zN6b|hbf91&NVg#{nT6Zpe#p+d_dM2$M45R7zwC2UgQ78QH9~^8?F-@7!NPD?30Y+_ zzvJ6!Ue0~ztMF)f_ZDPg1@%HT?dtFENOB8z1&{yjPo0Je*FwEB-Kn18rXLkVq^9{Q zURS74%V1ianXR;izhQf40Bq~*@!2|rRsUVXae`2B=Q_In>(V~1p0hAT1xWEiY)9)f zEfB8G+#;BrMin1D;>$n}NOcRVG~TA|)inF0&!MvY#B_N1#ph%Sjw(0`Q3$P0myas< z+4OdDOa5)PkDd0Tp%8Lwtr~DEXc7)I2n^X`x|#QwMUW37EQQSDTWE1vK16%t@_m%4 zn`d^_o4pASvYh*NsWvHSTUl)woeWJyTtxV~Z+@t?lV&iJHimVOYTj(4rW<%R8wQAV zqvR}2s;}gXxuqZXHKZG8GEU!2-h%az?-d3ap?cm<U=*u%7rRk+jy&Pv-)UU6wBq!^ z##K<tLZ)CUJzZ1pEHUaFzzy7Hq=BL$n5Qa>EHdMmN;}Q8G8-A-`2nG!wk@<VuLFFm zG96W}E)^gMGr&It9*VS&JN55#(qO~qVcijh_-Iq)Hm(Ck=M{o$w!Q3r-S8YkIhBL{ zs!mNynVVN#f&B&-GjOwBxXuWKE_liKn<C5yLCy%Z`YL9>iT4Oe3g#}US}zDn$`TQ^ zZYVEw!qK_<IYRfM)WLRXRzjyu;Z~w5eF39{JD?tKu2B<ksJY6}G*QHbk1jH$tYd^a zgs>;f6wQS*w^1$UuvH<ese)6RtwiXuRzLz_$D|2eCr$@ey$+s7;tH+*_o!a{62cwV zcNk`wnI1IWo-W^DPR2MrLBs?<659gnh!kK0T3WP9$)fmzIb^Tz_q!Vkoarj4Wb<?{ zDFmmNXwgvCdX>gB2(&yrCnhIMgvN7UBv%_Uy!Yu!0zUm)#ex<h4e<6w?-2_tr)FqU zHK@=%)63LWg0G1TTP7XS(QcGzmRD!W^j3*mP>e9Q#j0pplSLQxI%}4o87aCr+ZZ)Q z&mGR6;E+vFL@m;L_>&$j0*P0FDHMTAH~Y@&Pj7V3XB`JnRdICS3SjPm`qy&zemtL5 z&_)CwoeU6#$?__Q@bn$$Y76KDrq_OZ217i*2j=y62xR5UjMW$8f$#VwihUBq4EJ6l z`BmrOEezzvy5Ym+X^H(ijV>GqygD*}z1DL7Pw;7u6$k-P$azmE7Dvx_)ZWxSr2p=q zywK31<aW^$#ezE?V~wzlAA|_wXNML&*-8{0nW=@W^4z})%;hNYsw^Rqk|IT-dC>UW zWJM8xShiz>A(1=q)k7cGxvf6#`&dkIoMpX{&w%_eB8#YIZbMcg)IY$l$ru94F~s9E z5gu(3V*=bbAKFE=i_(xDEB13*tYY_or;pS2faD>1etnsOGhS5e&;Kn(VO^d4hi5H~ zfHaVO?m4Nwxea~JaOT?2_%k8#+hL^aHS<I~Uq2l>^~hMOF*S(E7SAR{paVcct<Xw1 zw|?OkoUsV)=vDx+$t-wb7kyk(?SG5X--&hyngVGJe~cSs(D`)XoZ&P`Ck|vBYQ3>j zyn$4Jtc7yf5k?^qYX3W~1O%?-HSJeM^@EULQyi|QLu<chrb88RG)j^ha7Xu$i!00| z;L!8VH08-}+PP*Ryy|nwjUFu}7ba3b<UNpT`wOD+y#ln@HPfZ1;tW<mwn#%Ebspa` zuWLIhu}(O`%^?EpkjVEkY1V0+a%dqNU^KqcAhOK?ya7KFXMh1EaoRwgBD^t82M5uz zG`)#p!aP)*@=cFP#^}#Y)f9x6%#K39PTwFP=L9FIU+_?w?Da}8Zg*nAS!T1rd3>N@ z7L1qj!@X+s8_Dl^1+>5AdXe$6JYNpd6T;OddhJO^QCT63a_?n2PMe}mm;hq~1DSpI zln1MI4qLPt#tQlGFA#-GI_0}}Xm$lX%3gJXNPl=!$(<;-=yQ`A9wQ;gUr0IHy1D?1 zBvMcqk&l=<Asx7^K@EQX2>XREg!G8_Vt>=c6ObG(#IdNe+#{|&@XaBI0-y4njh>pc zC07ZB`P&iTobhT^y8<gu!!5SJAvQ2)=SRaDHV|`<9W4{<Aaa5;2C=us>d#yC*Z)qU z{htS6O1JkQcb(7(K$tb=3blrVVvvYYq0Pmdf1s-ZPkL%zZyF`Sh+&EI>x<#Ecz`7? zv}<q=9c})vt*;D-gICsu;_mM5?(R-;cXx-y-K{`zcM24@MHX75NO5;7UfiMRM|tnL z=iK|<{X>|YWG9o%lZj1!)rsb77kuZ8=l$E~OE_DKqp(ln=WhKBqe4YWJZ-;XXRs)x z{wzfN`O+P@-%bUOZWZRz9&LMKF|N<ekYAMY3_iAF76g_qL`S$~EE>FVK^mTgI_e2K zG`_-J6NjP61O(Sbu*e9(e(%1pIxahCfR=!xeqxYj+=>jb7}X_Iymxyc62<3Z@>S^N zbuJ1tdF_KjVX{;&aF@S>PbaG@s0qKr%xcEC2;N?Ox|c+eb_a>iz%#y$P>2Xu&<3vo zhGE5r*T(IW>Hd4;Fdn^h5AQ8e9nxgVa6uGxyG;1JlJT>VL}!}Yo2PX>j1iTdsA6J# ziNmLVcM~$LrslrQk!CyAT5yYs7fF#t+h)ZGD;$6{%$BR3EmxjmD4+|>Lo<h8jfdd% zBvdqFC~U0CYlv-5s&<iNeQWQN-mU05$78L4y{})#0D2T^#hidiUp(ThF$T_D#r9Xp z5kH*sv_yMZ$S=)2avLw7PA_<>(m#xOXL>2NP_4TjY33g5x!N~5<*&M>jtXANiazcL zAsXzIw-uw^8&Q7@b9eG8@)caSYjtS|p}mY!cJIIWbsv8KU7hqYDf1Ygh;fTzym?Wx zT;)Q;{M#MBd)@SPAW=X^)F^1lkTP3b-1xxDyvgh-dP%YQ7qH>wFGf>L`!n=OB=g|V zXnk3Wx&1mEhDSTh93RA2glly3JB@z}?Y}*Cv}eFjTJFl0nQ21}J8FF2gVZHjF@=~Y zr~TKzI<zY?Q9sch1qC_jn_KY7XNb@Ka=UR4(l!Cf`1<7l&6CLYGT|uTGK)<f?VPh+ zkIL0akA3oS2l2adX|i!m{AIi_^mUvN;*!XZ^*Sc=8<*(LjCJcn(x(^{!86~Mx&xx9 zJitarM|3L|53zJ~XFo`((Lk;gP=IK{1YYHnJ<JRuj6jjvzu@m?W~KRb&+F0-fGH(Y zit)1^P=C(-t(nV4*R9Yq43Fq0lpecrEi;Q_7hmwd^xtYy3ngMPN_>T5-Nt5u!`;E- z<e97Nwlv1LB7R5)tz#AwVC7VaHSvVoe#ZHBXHu?s(3BTkzdeGcb3M*0lnAgoQnH^j zNzJN58?ZX~t)~-Hd6%D2<in7e`}K1)hu{_b@Y_4PydOEJYI@{Dm(8sG@RU-pv-`WZ z44}3*q()IaZLA!>;C`E?#*uk_>^9qznouN-1{aoC+mq})4uPTm24r9<AzvgUk^ix7 zV>aI+8?z+jencB2Ar6lAfPiNmV_+7kn8OWny2SkXf&MTj3rp5oEBqS!47lp3#85Bc zyeWv2i04I8jR_J*5A*52m8alt?jSmd4i0Lr;aspyBqNk5h3WH&eV^cjw}_B7YFJ^0 zn~o@28SvI`{QUOR6`w4+TH++Q1FaQL>gejEoh0qw<kI-<K)KWNPgHsSB*!9&2I0Mu zmh~+bvEI{>o`5kkak#gK7nl#*_vprp)+ge>h+<yQjCT>^Ud{CMbz!n*qYO)vUX^~S zZhdbek+Dz@Y3-*2Mz*Ebcam<l6MRoaIajk{P3kMKKlkAt8yL0SkR6knTK<sZ#@<&s zNZU77`(>Fu!4?rvzQoz0op1r_85^a4E&k&493Z8QV<o`YZ6U;IK}6IcArbSZvlPI# zJl+Q`Ik$J*P3DRbSiI=#k3z8XjuC)u-fUVc7B=UArVPw3)W*Bd^I3HW%D6$jzFfYz zcGn&!wY^az-eW7p&)&tY+hv+oBB9@O3iy%nDxsmH&RiamDguo|+5Yj4<;B^G%uK>K zLI!PQrXFSeU@<^Ew5!Wp3R&tuz>Jn!m`@EDOfH_g_!c9kJpHh0iHxRVK`1=VJ<}Zm z+LWuv@9tV5m*>YYOhbIpmQnZOG)&z!V3<ut_8-<x8p(kiN3?sK)JBtp1vH)K@l;IV zYyQ*%oY!)}C*oh}DLRHhP^;zUywc0g{ko4Vvc037kCdr?V^5jdi1frSrs9|YGIR&i zb|y(ZkyqWqls`}+I%6KbQ7AaDQ?VqWa~bo$BsdzAvcg9TAKg$jjxLh3O7#{6!$8ag zwcag|h_01FXrgAwQk(HD3JF`UEnf|C9<%|xx6NH9;q$PnraO6S75b{)TzoZsIn(}T z=uuhl8n@IMzhMqb1k!04XxVBkq}xO$efb~=p~wVc922P31xnq=PYctMXk|YlFG^GG z)DM3D6pHC=v7MG8iKV<%Dsc&Mx#<@@lbu%0mXhCUM=uoS{2A7Nd&jni?W5z(I?geS zdk2PehY>5|U*&B#P9Tw{l~|?&N7V^%#-mx~*&-Q6{m+iWm&j7j=KxoqE8ro%)q{*e zYq-Q-4}{t)5BhTQ7UE!+(XUk!xSgZFpJgnI82^Q$?kdngD^wj!Mu1YSSYq|i@%%%H zZ&qR8tP4lFb>1oYVXOq#>O<YJ&OS)KS-3%3Jiru(r?gJx&$y&jOW8_!7rw^)$%twM zuQ+`i9pZCZvRLfH1^Z?}zP>zK12Z@$8CZO?gUpZU@E}hUuQ9>wRJ{d23C<)<Q=X&i z(>`SO4oP3n*b452jq>hbTWI_r_SAafWBQ8ug{3vQ2%sM4w^(UiF_-VCIwMlIP~R~1 zd*Uxb?*+lcHsKKVprAjDyaO|=p&>@M<i5!1wInr^k<T+k^TV2}l}YF<v)9-JCg{Wd ztm1a~5VQ%QzbN~&tA0|t2{Sk`M{>N%bh({<5a3UK`r}4|b?-qamMb58cE#wzAHv}Q zar3Oc2totJ7%N*_u7@vEy?)R^`-|z%YN}>GbXB7Rpdt!LWF`L;8D7bqxQ!8fsFxfI z40Sq?iZanNufxA9AG}k2(O%#Opu$~}k-Wh%*wGcb&HWgT!to7|C<XxJQ}Jmzs?M0@ zjjK$1JG=wWp6s1o6O|OwYUDVM#OjC2<et1q-S{XuP=d!)FNm5}TzS?u%Drn~i=D=v zZrkXc%7MB{&p|cAKFJ~AfW}`5)ahYsiw8o*4`Bv~Y!78A3qf!jiS}2XxLy2p6&Z_L zs_bJpQthY_Mkl50R{8=>n*A@d>KBZ_b=QG{@dWS$d(y`rw|24=vWmh3>1Z$Cu+pvc z8i8`fP-(VGv;<b_L07X1&iSL9W23pL`+_PE)leGmO0+fI>xy}g@yqco^mN-Ypnzdn zO1T;Dk6;*(Q3jV_3h8r*7Mq4$bVttb4IZ9EjGdlP8m5N|$k;Spd}?&bHKJlE={7xH zJcRCYGUGz}0e}4Nn~I*80a4}eT7F%@OkE^><PZW3C;g_|2qO~_Qo+Q};FQ05xK`;b z#sVf!F7^#ixys4Kk1EzI8733r!65S*Zj*tTgfu%Wl5021w0Iofa|k@@e~&ZS8P(y5 ze9u<&n2EOI`B)XF!Ytt-dls#aGZ<=ewDo{#oPGpOb!n!{BDIi*qmrN(?AJCoShptg z9CA}lrB<PQcS7S0@+?gPXVG3jQ@35<BN(|*L!mh`Jy@ShY@4ET!NHv*W2Tt{_nwfD z*88brwB}QcO-z<0si#{~Tl=Rg6(b$GRu#2I#6!DxHyH829b6@HiE}R<+fyCcyijmX z)qv-~i1o3m1q^bVtzjmb4AJmj$k4CMThi=nH~DxigodqNCY^j4(M-a(S}8d1F}R;u zCqi}9IbE$8HiIvY1s1fTFYBn!WDe-RyB0;W@;r{^iz8MP5Aa&ey_%{QNUe>8_u9gZ zc@yD6KRd3>Gv*aAmFK_&7$-SPO?=$)EG-*<nPeTI(>(yKO;Jqxi<|<o*FV>n0EhHC z`K?ut&BXi>TSBS_uZ7l=m>F9mq>e$g4el4fe(sNq(3$)FwAf(Ydo?N_4Ud9nb!l?! z^g`>5_Bre-v3;^<yeAAq@|7CujvfvrfBIY~#l@OVRg~mo%XONY;yu${6M(*npWg8z z25EvAG3;t0ZPq@-4){i<in@R3XWvrns9l}M5+goFv5;T}1lMEY`*6ti-C`<bjE#Sy z3XDoK{N|y#f~sl*P21O<Vd6Kw-(2Hr%3E9FC3npUSHBmrvSjP*hiP5J%DqD8CB5%Y zoau2+PWq2Gz_9?xYwsPNsQMo4c*QD@->;20)s4h2sM2?wx#qTvFNGuE9VPRHBC_y( zB%MpE<zmT!5*Jt}k7dScKfh3k|2bP@zFYaCGQJ$L)eT#;ZgA89$xlt`gK>jm(+)bi zY)eZ10AaPP3Y03d9~cR&%cePCQ?HadPJ_yfJZWPAgTR<&+HauaC6%L^#mKQ<syuu^ zqzB6!EQ&!wk1xP?Nsj1%)$zyNo0k^t-z9|1;X?WN0fbK}KPoBV7v4qbJY<c;-C-(y zV_^)#VTww9GJK4Z%p$lA!Mhz<^-z!V$Ru(dFT#>47J>W__EPMaIwr@*`r1^M<DMzY z9G^7!g|PH_Mt>&#C-LP?CmxR!%nsvQd?#)l(ogWZfnF(5&#k_#J<g8cHCTnd80dfW zIMt6E7ow&Iz@eD!r5G^bKkv6c;nI1X9-w9QWf9sS_E$I_Lyl6cuvtF%F28#W8sE!A zD!McvD^O>o7kwQZX^*e?E!4h=5*sc&`A=m-3OI*kNm!^{85||5cH^b>YxS7d%6?-i zmrNxh&c{ynFqP$6pr%CRWP`=qgeYnMAhp;^q1bd>{mVy^+#5!%7nvVNgPX@Ce+BiL zlr&UnQD=_y7n}NG^%Y1Zql^_eS{hGjY?wi#qTZ~(@=TT^V%T?f&U-->4PSV4ZAHBQ z>%>SVijMmc3@}_3D~pr9(o60U{Sf9f6+(-ad}R~v&;l(=j%Z=UEax^*3&7Go*RiXL z(gp)VuR)>P!?L0owJ71NwvldF*p>7S*NMs+R%nc~H+NZ{XF&dQzeAtiaT}%4x-{T! zffo5<FqSL$u|O^yjE;&52oF5#h}w&{gbm55?EQ`^<UQgzX}oX2wgQ8D0yz$qyXk3W zbA`b0<sJB<H@wQbmL^DV+?*o%*+U?{j_M#XdAC&SE4DB(Wo}_-i`lL;F)NrclIbyz zhOqoKP!&z_olDqnW5<}|jvhDipDC0a+lwp0r>Zn$O6{SDKKuQGGqGc^$V3hvxy24r zRD1AWj1{d6&EK9COXZ*NIbX}Fk1(NDBi`0$vEX2M+sSLM=`KtTxZJiD%eU-WbTzL! z|LahnOP@_DG_Yb5>W^mjG!Z^)iPwbiL|TUm{!s8bnZ+t*oGdsB(RL?X!OP0bIvBew zqL9tY^oF2&wU6g`_XWK}d!|Df@y~Oi2=x{CSkmX6)8J}9eb(VBnN6&f`xsS#dd}Yy zFT?hXjzv|psF1gJMS-O>TCnt#nJ0U&M<Go<<J9#XrFSG(;*Onm59XxJN3vx_dFe&( z$wZ5zFxbCb+Z^V7zCUFm&Ufaq8{J2-Hf7t*JNy+P(+jEm64f?%3Lsj%TA3-7A{$>K zcvmYK(^JuMkK5#7h59Q)2;HYAR@uI+2+b=9b+jteCS;yew7zhbhp3Q7zJtx`W01|u z9wH28JX42Yl9<jnl+VqK*C7LCYq}J-C41n|e=JsRNx#D1!qL=I&lesj9iTKi3i_i9 z(6D^Hj8r?Y>|S(iOA1KzagYR)hVMA9bgBe+N6G-s<c+~O&R({dpmihZiw>M{?lp@! zp&ccN=j7wQvj*B-oU^kNyq(j@PRAgytW0*moM1e3kG%{jT|ZVOm}{yG$qErzN9{I{ z5~2Q5Fi@=5Q@rX`@C}02#W}2@$DR<KrL@hUSTW2IhV!IGA$&ufXxBTI);?V4K$Y?q zQ%$J$AQCb`2fUUu)pq~48IjtqS<wa{Z!|Fx@R9}<FFWZeIKBff4)RKS))eP9$Ue0M zIf6b;f`zmLQG+~t#B4gdg+7`fpv;V6|1~In(1QdG?w1JOD0;nW=Fs{BbEVWr3jYh# z^vuaG1QRHWrxmU4s&ry36Asd*U#b)oyhKq}3HJ|s?hP`QYw0m<joKCAvcr$h`7xc1 ztw6Iz6%xWL3Gt)s>8A4Un~c15Wg?R%ZNV&!)9oEmS0P`92-XAq#pR;-ub3T5ngPRi zG^eRZG+t8p(FWLMX%#7xfk)p_%rF#l$v=zMlM{%#vrqrPuyeVJuuC49?EEkwAzPEG zLTnSX`N=H;lW>UNyd(L}G^;@95XFO)jL_nf=0aLdzy2zTrn??mv@90EdUP6Y$V_f^ zT(m-@3Vj5DAq=Ktd|)#~|Ifn$l1zHR{0}v1?hfoVN#R{#;?sve@Vk3P_?BM-<@BEd zQ0uo)^=f}$qgHeTKw<f<M53}pwWZQVwM{jX7KG#*ikF(5!I}s(*$v+33hi+pGxNtX zWPNEFfK!_joJz_cg3tj!EE(DXh$D2*lUgH;urx85GF(0|%N@@FDxhfsvNN*szChGO z?)D>6W%^rPAYk$}CC8ahFr<<k)zd0|lf&uPL1V(gD=9QvaMTJ#*)N2ERUP|m?!F%_ zpw?iAe|{SUmIZ(90~wur=z_XJtm(&s;&0@X)Mx{8Xu{lNmL&v)kmTk(W80WhwN$87 z%@g&tI2)$J;wG6!w5IB??sHm*n;~}KK6IM!^bHhlVTL3?4&O(A`4P*x4T{3zJUXM0 z!|tpHwpRU&y?t>H^f#+kT*8{tX&Vor83o!C$r9*i4vWEYOBZXA&^h10^tbdih{3jv zCR`vv%B1$O|EUtdH>WWn*wiZkQuUtH7uPXw(SJK)0P3+hI$wI?a|~RC@-jvy>fG)h zw=e*U-$!zTjoS8};uO@Jr|_G&_{mPysuhr?7-)+#LKV2+PYh(p3x~k+3^vJ_#C}Jq z1NH+wcn3BfOQkuVm`s-MEnp~;+P#2XPd2N943pD3VK38IhA2u9U(+9Wwf8>R$!o#V zS9^@0?<bNV6bW5_i?x>2Yx|0)VVw+fJsHsdgy<y`>|+*M@s;r+m17EC4cqcgbYy%d z{HJPtC_oVfXNxe`Eem#PvaNQc7FKCaCJ>Rr9(fY|K?KY7<n8t3NYUyOi|+F(&{Y6W zoGbE@nm}?zE1{>gH34oZz5)X!mNCxDQsqA8%oz$-@GXo+>6J&R>GIepR7x685Ow3Y z&Fq5IKqZGP78Uj3kLiTWS^^v7q=L!hM5GWt)sl_K4CiSJ6dUFhz$rrERPJ6U?;@DD zRREpvGqnCUfEl=v=0qqNzB7&rk8(^R61!?f7|!33YLlt^M~%q=Z_IrBIH8bvb%vr> z6kNW<mjvqMNQh?JjU(Rpj9QeGhiN=v2}tyjPqhNgAt7fRweyY^eYwh2vL3k}8H*!w zO=q<!0Q#%nrI&a@U}V;It`FDwNI^#Ri5II9QYMZZz*>fL$CEO0QE-VV)_mPY3avsB zTqHDm)o^Z%3C^%js?MtXxjbi6XPu;95DbRpy3jeVaBSjWf7iv{`4O@Ot{|uHGCwki zmArQbsH$271A}d_vmWk(nU4ApRw`;a#+<H;Q~xiKS_LyA1y8fDb7@9s@!$1^kRb_D zI2y%}MC_3OU_*DgxP88w9)BAguhdPzhhz0J6xNpLnue_I%NQTWYkR*9nE!ak9i7|l zF*(MUkeUPy%?o}uj4xWP3KTU)Pyv9-?3rfUFCwsnD%F6CJ=am`=DsdnrOub*2QC(# zn$3tuIstmO-$I8rp1q0gzMmX+-z45W&}>j<9bcE@8bR-Y>kr|qEzz+%>ygt>zz*0* zUtOYGHDq2Prqp9%&LMwa_08r3&0BSsHgxD2UG6$pF;P@+jTL15q54T7kvq*Oyl8uh z#B~3ua>Z?xYC-^G#evqC0o_+2jPS%@)SqI#-CJ41GGZEpPT)A-=YwQT$-P+-@x)1W zVuPL#jbx<1I!bsCp3k6TV+vQl4_$E;*3x1;|IaL;nZ#?Y#{b2&7lL~<{&PYI+_b^< z9MSckr8&&4Q@uMoDZ-HB*#>b=vUwU=K{C;z29Ly$lM~2Ylmhd%Q=gAMdzSP@)ym;Y zI*4--9~Zdw`VC?Xte5k{KYq}>Gnd|efy0(FEV0+J6zk;UZMgf?Yi`(Qi$EMMwNPcw zWK)=^S7pPh%o$oCp_xi6<_9#tJxqEU)1Q{4)P$DbX`HqL1lbsFRfD(29xNlr&@{EJ zq^>F{oXFr*mXA}Vb>V3{!K?+o2!@uUh@sX4^#t8l3iZ3%X#SZ|tMkPMNA>enFjmt_ zHW#JVJUB>MyBCLZpEMqJR2o9APJIa?o$c{Hf=fDHNh=xUn>f{^Ik;XvtxnO$jsthJ z&#WWXX8zkcy`Yd#U$e@Y80KdzN<WRkZ!f}}DKn=<+MM>Fz}CEQqToEB=u3CX7|;pT z_S+8BkH6a>f-qI(Yw=L3F!#vnH8{#KJ%QOeL($P2`y8f)3@3R=Y|<+ClTmKuja>Rz zDOsuRTV22yV6JasZP%v`iYcMow`dZy^$JuuShQw_pYI^RGjFFHN6ZJ_cEg(VPCj{S zw`4^wjmlhIDC`R_xf-!@@+;B2<6ylD1j5Fov9LM!82Ir{Z?7By8pc~7ip-}^J<uA9 zh3M_x{x()YaJLP?JG>TtyIC?20Mn}gQ)Q@L7E`rxpBCAliC#Nd?-PU2H4G@76$6(f zj%c>?4=Y3AmBUFU5LCe5IbqEx{^n+sefaonz0GoNyoo>2i<IO!f1|A3WB2679og5Q z_VGz08KbHj8Da383Zf)UGYxxw2=^O<5`hA&{o?xlS4EODl7%Cl`-{U(hB40$NaAS+ z?N~zCF&gUgw`+imwrClD^7IoF4GuBWD6XKhG82t2wUx@nc+k9a7N3P1iQ`017M;#M znc!XX?V)s}>uxHGwI!ax-|W+5jne{;P5LxRWdL{(BYbfB>1w*WTulh0)yK`|wYB=J zk6Sj!MG=sOxGKSV*t-!I)DI97y$&B9ytE3&A_vBCADL*`ZK3S+e2*H{XgXMhSXvD* zlEQp`Ld+FX`o{;etfg&_RuD0lf>Aa7jt4XDu`0I6qpO!(_5kT~__>tlDN<H+FR_5D z$A9^%y5*>H8eI|H8e2N$esFgab>yx|)P%-%4Y4P@Q_P!3(*TMIG!JSM$BJ@06*W`M z3zar({Q|32Y~69-%hShe8hL~g|N9CaIvx!F6ZcF4?O+O4)9XxT6aB*pohhes0Yu*Q z)z&Te%Pww;iA|ccmLX<rx{g-4FLr~RlKY8KTOU|br8JfvXN1d5oMI12Hw*U131$M* z#CsRWwB%MSJpG1abP5aKfd>fH%&S|nCTqAIWRaLg#j9l7+GK=67Him|@z4Tq+u#i{ zZ=}j9cz<$8xs{OKtK7+mnta8UvKp2_34(c_I~A+A{WI>W$(q%Zs{Or$YcMyL-&*Xi z6H-F#u&SdcNJ153WHc-*Sxd&oGxj=siG5r#-sqq1JL(UXC97cBl<(0b@NPRKlx<w~ z&bj^Q^4w#oWHJ@X%kaepFb+E+)G^y9;q>k--3ZzQAa$GasLY!@aD4Pyu`mvD8+2BZ zW;M)IL!Xm%fF*<V2vxNw&HTU(547fc#r0Y*MJpeFm(=aaDCJ(>TI=!mRmn_c!@D@9 zBpsND=MkC~W?pjRY`QdCT^-vp0k|D7ngI^w(L^}vj3Gfj1yZzATWlL`ZAEEB$GUc; zSX%2td)(+A>B>fuc<foMC>!u6Yvd{@rB8RLtK`Vdoxz97i2##mnFX*In?9IvvnZ=5 zIo+hw<`cz}R^3*S&88A`_%)n3%o4JYVkdklbvQM%efa*@M+s2lk_g9VRzhqHoh`H{ zGgaoHR0XRfqXpE>4~B=&kX2ZL^NKI7V}2&h`I3iFyK0d;gc_EgL3N9!M}(3@bG;Mo z8MY5HR&ZWBmB>!L14Jd~{Von;NG1lM8VKWUsfO+mIEvzisGHl7$SZRrP)x7DoS4~& zNYZhmfzv~NY~i}173ssoj>4g<sZn3fKJXHq)(}}7JL#Nf|IJ`}GW51zRTFEg7<<{i zpMQ?Sc@zo735rJPdMP>+2Aq1luVRADlfYYbf(D{2ihyl0;hx@Vd0F_ck%hj9Haet? z+c9h!0)x$*pIH%zQht14m)C)Nj)%CO74l3vQhrS{CEq_X81R#lh$&N2k_m=h3#IJ; z)EeMxHb2F>{tqG*qFx>W6UB;xFY;MssCi?GLkh0&rs366Ar~xDVr8ktR(RPACi8iG zIjj^k0!ecUPL-jcoQzbP2O)sw-q7}9oCZHDa-}as8XqPSM8yHl&<`OZCs<;m2Mp%p z%1ttvHOj}WMW*gSuuVQNOuc{+xkBMz4ltZQ9opxAger|P=mWdUS%rQP`l^42a3`{1 z$Ym(mc~~g~xRN|{XyoTs5KC_F)@~p5?<eHEIT@e)y%p=XB?mYWWL=wHMBn0R2?y)n zUX7PzqaB&ZYCBbi2v@vCfQ*3Hg`64%x@wIfI~AXtV>H>Fd|+Y{D#`p}CaJ1F-j{58 z238$>3L--x-qXL%m3Nlx(*9aZIkpTs?GEkCCvs<P(I&y}I_CeW9L`nQcYuN{-3fQQ z<pwY4P$z9XAO2@?D#&tb9dllid_?e7PB85n9yG+G30-+g!!)uqIi>pCZ)UYF$d7!H zZ0&cgfGE%^YE?hmmhg5uaH3jXvjV-Bj>X8RZjexu?rlk$%UiQw{&=RG>!#NJJXADR zaW;_Vf%0?B7<Sv}Pe+$q(TTOP69bLz;^V0b<=don%vijv#Sl?BAtC9B91<S&gnUL) zBy;!@yWu^`Ldo-RC<R0J3P|HV1w?%*|Lv`8(Y%CJLnXO|=OWv9n(jsYbj8B?P+t3$ ziM!7GD@cX`XISj@4kn4jmE@5dvu{`4aZN~rQUWXsz{~}APk~XZEEJI}nq`d7dWq#s z@6Hwf8hJfGO{(ViW85$l?K^i!t!6w`j{!?=s3v}$1wfM}z`iX{_})F|j*Ob}D@IHM zW6fKrP-v7LT+#2}!~=_wGU(}l*7=Vyu0(bum)K6`SI_;Hwdt<sv|X!JO!>Rr4*sIU zZ8a4qQe`d##QjPwU)hK$29HxI#)||5oq9Am;HA%Pgq?Kw_`r^_oSFLpS_I9b`q=vH zp>1P$Z<@O&jF$Z2WaHkC)C6Y3+Kv^rXDqGK6BX@Kt!UZ4j#+AIjTDY8_$oONgVB3i zskr{y4>#48)#?5EzQO~`FeO8?4o!5oGz#pxXXDl6y1qc(@62YaK%4<Web8LNMq1?b zo%$6`&t^@k1*sEF4GzMQq?s%cNL=7l1h-VB6lu8n<cSPebM7~6Pc#pMs$iZArJqD0 zi=D6*WNi73Jk}R9s``6nv*O8>!I3N<o+?{J59|m9ieq`_LyGe{*5K?B5WDEL0*qRP zEHmKk7`(N=1gu{^P?>gxnIDp|(boIoprpwdJ5Wk>2}*z^MWV~}%jqxI%80q4xLTWY z?F&gP2~3C2ziHq!`BgrS@SZDLSzI6Z8pC{*ThV}O;cxJ=jtIQ|&HqAkXbK2+7)7%k zES9I|V?5l5QSg|`+h_Z8{C!f>xVE7K(;uVTt@xUjsR?Fmop~%?uGGNFKfM7*XI)zE zIBU#fl+#0b;WG$gV?a{R53Gbp;xnR-wj#b|()`y)2-R$DmrYSGf#Ns{XNG3gKpXGC zY$d6CNyDZ@#z%IX;3SlsexorwY1N&Am}a%%oI?~vbI#D^d>JjPoFDNcfpaB`c}6P) zV}n<izaq7fxV0hczdOKEc1@51dHy<QVX6^e(0EwmGp>t)c*7;%uOxJ<_SflJskXiR z*CO~9Zgu;&v&zh%Jw1>TM3;PJmTpHZjWdMEF;sPxj!_EB=EPzR_1zT$Okl<&h-FJf zJ27+Gv@5KS$!DjhQZ7rgOq8Lx6FzM!HS$X}D(oddhS1ui($^`pS}%ZfPsohMl@TrI zESYf8X5#O5z<vgjEB<+?@=M_BXZnO89Wuh4^&1EsvClT@A+vZ3=1v{Dk-AQ#2Sqb` z_`#@YLmP%ynSh-SNAP1|y45d3>XYKLUJ4%+@h)cPoXf%U0}Lc<q#TY*ydn5%;xD9t zs2jf8Sj=~ilvcpg@C#<Mp`<2OkR-o{9#{u;tK4S|QsTRIh>>eF#M`!v-9z`HtR&h$ zlzYgS>9Mq{N=w2!`;3sdzK~yKl1g-ZE*RmJu&eVc;Puzl@)Q=Nei`9x`8?Xvk4s;@ z9iOu=2EwnxtWqJS8M28W7OVdJ$)-TCZL_SYg`4Ouw!wk<<z={3S7iy~cSH023YUJi zb*iWZO{rVXL~1tEN8Js;wa7*r#5x40kdVykVe_259&$<f&!o6Wn|A5klckq#l1&2) zlI{d=cL0aeR9(PFwNK$vUSi!VJ=k?l-L0lX7RWT{u{gZ<zo#VABj<=(obLn>_#KW& zBc7GAEYYi{<A3Zi<Lh`3MZ;QkNQBQM(Am~kSq&}RvCBpFl@5Ij67@Z9JSK5{$WB?v z$b=(J{{5qQef`ow0FDkj{E;z5*l4Cz_K@lvtD%M6!~$Co(D3_)S*zzQDzFvZ$BgQ= zIdN3k>|El;%<t6@_2qaf#YUXCU@jFdyjDKtEd%p=#|9@+nH%!`+?7}d%XSq6W_JY- zKj`k4NrnW|=N5h2?$@jz@^0X&KT<lYIGM|e*3>5s#-U?V1Zt!-Z;De}*^QQc*AX7V z2r!8#LtSAT?rk0(pa_<9Nr{+I&2OEwy>crsY=zR&FHI)DDdnmfMP|7*knsr=3fAwq z9nejr-KQl+3POnyhiaajB7vts3JJ-Ps3S7h8<2pbZD0svGkt)7N#Exp)p0%m)fusc z<|yqBOe3NBlPKyfOZ1UYa1O4@C?ViH(li~4f^DBZ_FR^k$D6OHuAz8MsKbY_SaVl2 zz&49WR&Pb}n&c0BFM-S=tyx)#4Fq9mT$UJ?0*s*c!?PFKpPp3gLghR^nZT1{ZDKb; z7KV{=FER}W(9m0kH!(V$WP`1oH((^w`=ZS=oyvr_#{^@w5UwGuaQ1}qOIYa#)V&5A z$QP$me}4Q(XJ@EJ*j_Yn!Xtw(G`vPgFwD7mT^O;rZRQD`#CYEGQ@ka>!6KFb-dEnr z$^q2pbd1;x8h1?fhIISFVU=!5qveCEvP6=}PRI^D?`&lOJ_;0T-hEQ-ee$PD!b_-) z$uc8hkVqN&VbA+@kdW;F?);YU51Zc!e#ADIbp9Y^OKt^D35|(+kgf7-E_0ECyeL*# z0pey<8E2kI;4`l#G$-@o7S2`W%&8A+t!<AQiI162o>bBx*Oub@$=7BB#2>_&#Z>(O zsMn%E<zvfd^<t^*4mSa4poI1WI<jm+D--5VW!lzIXF;XX_k-GP$w>;U%9t&MLXL@d zYH;dI_?;IFGlLw)!jNvH^{x;59FmnKKnk1t-aG5PtI_8O7fk`0{gr~fAnNk)=K$Gj z+bpIUda1Xo&VTS>amP?kZW!Q$23;;c{2Zn|sc)v5T=b~|oe?5%Ou~JS=S_nU<8)SV zPj0@QBeAoLKi_;Xsp?0)(7OfvA$!sos}1ha>xx_SOkTS{mk^u4c>Ul{6D;=aEqEn% zPdN&lqd+dka;w8e_vH^j6*pJUcV&&!648$f-N-}Qx4pnMq6#Qo1&w2=m)uO9>F!$l z)8LA#5Bqwbb)AS+mtKz^T}ooleKxcb6;Ot-&DeA8?eblyY4;P>df%rGy!Ks^6bFcN z{=B%foG{d7dWTShOig>;)8{WqKzI5yFZUI%&|zC1>-lP{nMzYeWfDeP>`7$FsuIIg zO-B#pA8ua^cEvnvJA|W#yAcQ(-k!YqFkpz|-ks2_(^HN(2A03D0N@Zv-DLlrawN>v zop6SRGA=jR6RDyid{-JHixtrbvbc`^fdjMLdEqK;iE;Wc*mfWPM-f}~ZBxn{mB(?! z#|TT&bJ$~8PQCO;YE->RAFO!%OsJ&SZ4dj)<D`R(Zj&t=V^jNckEDCDT=NGdSv=%P ztz|drJeh2Cj|Tf4W)(ci>|gGgCSDw&GWI?5m)T#$5096j&=S+4&8KJC;)jmSho9UP zuIy-28NM>U-A(Xg(}ABSxu*j0DfprFSS$k_uV1g?nHr{t$5j^wl^jVr*4!!~e~>^Y zwJYUheAU(&bo_qqtv7^u%E9&)ucmQ`X}>G-myUruotbvTX56&i7Dl=DbU?jk-!YIP z-^YHRiz~yNuJbzSU=wc<9}mBg3~@+w+l)X0MT1G*q=_YR+Pb_=?YxkoLTr`_Z6(wZ zMQ{DvQdMNfkpOk3%A!@s+rz~-vDmd-TN?LpkOnAlfo5ty>3s}2I3;rrEzw2krz~L9 zmL4?{Db?oAWadbSYlbMjhtq#^WVs)A#CCz>EGgq)Hg&IfZZ0=-e542@0imc~LaVI) zVuPxRjgn{ogbHr4g<MXjz0e{DE=NYr8=UUMR@FqbpSo%=+Ue^RK(pd_Lnxs_1J-FA zL?R0<2rpZGq9SjVd2tnNkgi>}=gS;|d^sR3wy6mDl~#BfAlLJ8o3DSJXQlzBg04C+ zeZu0gMMSiguu#URV-9L2%`hE;@t4=U$p@UQ^d*p0h6@QqLTo?H913;n=YRu!B`rm> zZ_J7%Kmfh8A_Pf=_3!LGQsRnB$rxLRkHH|GWRgAiPWHVm2lMJqa@<LOz9~0#45DzI z;0BZR9?TU>m?G7=ga|q1cne48UYo+jh0XJ05*U?!cEjE0{utR*!!ov@1-=g~q23Ff zyTT*K$&$dcM9v>M{gpjxtvoFP3^*-6rU1<B{={<+yRkbRk015K5y<>=^Q}<YjheD` z<r&;Anq^ZuCThECyiEjAWOuHoXp8J;tCp&&gdd5lt?$~g*ehhK#Yq-lg*i*a!sn?- zLA}{!R3?!WQ{_{V%_5jO-q)uA7651{@WFoK$y<z~7k>d7E;d7b$_xA<g^~UqSSL)R zdC&NOnUz7%^Vi?Svu-Ad+lqZ=sw1;=d($B}To&5B>TD*UUoJ|xH74zUJdefb>s{s& z`q{Wk-Z769#p8^N1IPAfUDFZ}`Z*dc>?)s2iF?RJ<cFOn%0)tx8Fn@d`JVEv{SWXl zzIJ{2)kw}zcuOb{ZMn<JxGtk&RfZM`Q&Ds@L&KivRn<#UqAMmxvy6i>v6INCnc`9Q z<EU*j(E}MSM#~^abF&9B3N@(}ajrGL#g;b+dX~GjBW1+>*SVjmg23SqlXU*7+9JBo z9S~b~`jp<RG5dc~%(9CJ6+$y=&510XycILNdFg<YT<c7|(3^VzC=B5}j^(R+F?K08 zfx0LdI8VLtCAUVZ<|X=rpp7!~f6(&!R4LwxcW7h*(bz%6<<qO>wOtQ_vWp<6$$`@; zGUS&reH>tbUSuN9&sbPicKgg@co2NQ#c1yt4cc7kZLLVR;0=ln<l8d?rghGK^@%Kl z=5=mjI@i0dc733W@3}B8LrACgyu=;v(7gGHna=%I)YYm@`bvL_g&suAyUk<jr5-jP zAdhO2zRRG5583hbnO-nDO5e5<uLJ7=VrO_PcbPv%IA2=AP)7N~rWhtPyWqNHm`;OG z0h4vyq-+aFAtbt$hb%v6G9M3%BL;9e#EnK!I#F?CO^;Yof1RZYhal3Ca6fCiJ0(9r zZ2B26>+z+(rVs_lDf3d?f6kaIy%mF<GtC;NYbk(3U?Oe!)kk31c&&uYCMT;gm9h8; zr5i1=#?^r7BC}foEYHFI(a$&C^uzBok36hsNc2{(<@C#7%Z8*6@LF<4$+>U0X`8%| zbFtAdQYDH9m3MD@{ix>w2Y-&H{e}v)au+yd^YA-fP!D5xdXUT`!7avF`J=)4!r=Ex zp68D^;c3NrCvZ~kuE;m8F>j*O%Yn!|H!%P({8>QW5xl}a0Ql$n1_?;aq3#ZW(eVj{ ztlp3H)v*B1y7BE!D7<CT&_|16x>A}31r~A%99K6CFNC#LLq89IOfNQ-nNX?-Rv86H z|3QtY@G5JBA4v<vI%eO!Ru(5RFy}E0N>wZW>?LEx!B3yt&lfq7*MTSEpzzr!$;fCv z_x)5krb}pR;3<~xgy@2bx1F{!r)67A=mf$|2-!Nd2!M%G+lu6NZ$XoZXoF=os`l?~ z4iieDB;mLo*IgNjc@)Qt@8~R;Ny7}ehF+k4Z2ea9Y$y9T1n1jkD}hUGUWND3RV~5> zCvOZ!zg{rsb1TL2GL>OZ4{5$0rLdbXVwhl)&*?91r;+{N`1jH&<gN}IlO&_m*L>(> z(_ol%hQBKF2)gs1`3v870L%nXZV}lN=Xm1Qj%*~gp=BIiaS*_WP_N*x992`wC@}Ok zlGIM?#aY;pztyi|V>i%<f5QLJxj4GGa652VCjF7;`=W%lW_H*21A2Xx-)qnMdu2v) zHH(#70mjOMqgl_}=*p0dPlNpZlb7>_6CMU*r|-YJ^$gVtVc6qNFfo|?i+|eboBE%} zm(!{mS*xc_5&>yS&L{B^&SRNT1Y^D$9i2dC#;u>on+q?9zw+R?0<Y*VUS=QnoVTdr zlUQd`g_giXkBQT{YM;7Y=J=~I*Ce(+Qp$HvF(85jh?tW>qs*@jhK3JMn&$+U2(N>6 zLC?!3)1=uhFH7IG6k;97dTZ)lZ$!SmTrGU}fA0IP`~Bs2P|!!?*9-fXMuGbWYh}#u zFB1zve;(>?7hau6ULVa~HHH(7=Zu4(bXQ4E@4><<6Ltq-Mo4fq;yyS91u{vJ9Y5Y} zI=@f_lDy8J^)c5!9kqr0e8J(l*iL@Ye|?C0Wes`;z5cmL+y&^r`mYVXwjRAIZ{S=h z-?Co#AFXV+C~wnn$LVTWB(`xkMLCl^^{bytSq(9k3+?UdT|f8S6+=(81l(MLSRP(B z{ifigBg>ptS`Hq=7RVKJ4Z)utq&9+HjT(z@=3e{^?7xZJ8)^I+rio`Hiu;>xZWY;^ z^2|`XliDEhXK8e=Z^c$e^`E+f`F21u@(N{IGByiu>15&V;bv*-_&4QjW(Uv4M#@V1 zH^Irx#>Vz9D#w2j1qDfkh5tq5{5O$BjE(f|I~EDCHyVqEkBcQKi<GyAjJk)Z$6M0e zl$7mnMiw#l|7K(6`o9@j-@bTf<@gsX+yBk@x5WRDhU?$b{98os|BJ};Zz78v8z~$6 z+y83+QPMl%uL}OwNZi)LUB%K(!r9Tq*~!w$gOvBJmd*~&Zt5<k=5JM#wDhz!w^Wl6 zhkr|&J6l+)n7TQ-|0DWeHg{5v_Y43>CwEfLx6CSTmKL_=9?ov0Y^;B4z#?ty;9=?Z z_SfM}SO1g&&mwDSYi;8}%Fg+wPDM*6YY!Vzw!e*_M#`cNF!Oj<u$-f*^_v9$Xj@0w z%+Au>gOo+v*5Zx%?U&xP@Lx^qoqMv_(6UI1Dyd3#;zf5V;^KqNn-0Of1ARsBZS9Gj zG*IvmAUAuDS5726YnVBC->xj+kBZS7o~#0qIT;4GmOa_VRU{*T%h4!w^VBQN?W6=t zpew(YgbXN^Ao{H$6VBg>>}nsh;J*ATY>`X}mH~inS7Gl0=PJH9l&lh#iAwF^N-;A| zcKYYnCq;%ETpe+o3>E(7a^@NdBXNVM=Bhr0=%XZ{<+|Ln$pp&j;pR7k_LhD04+5od zuKOzJ%MhNj`hMpov*B%O8;e&E$4T7mb+g$j(m)tR*`vuV^h^G5I7<tp^<|cmGZ>!6 zGB_V1d2zoVYBWVmEzFE$E+edDwX>T;_2GNn`6PI{5;X`4wDucGplXQYw?b&(0F*@u z+1ZnN%R_A|`3!*Y+hFnabSWDI+ERdx+gmMGhqRa%m^O!$2%e(e1fSicdb_F-!D1wC z6xICMXCg7)LAlFFJa_Vqww0czb-x7|0vYg;)y(4QhS6}gyj5i@d_C*4<4?ZXUw;MV zYB08W<44u88-XR%1-|7r5MRuWu@BPwrSOrFoP|uu#!R}U&0SUjwsWL8oRQ?5xsTd& zF0M<Y(|t&wlB-Bi1ph6?(2|Zy6aFU{Zr8*C4CBGx@Qx2xpc~osP2%Mt>{})z&mjWc zaNz6@VZ*L)-lDsJw`M&@*Q2{3R;Jxo3A=kbN1x{35t^JX5_+ph_zO5?2?O5$0SW)I zel9Maf7$+DoB5ZCNH_!D?BdNz6>KfsN%jBs>%Se<@Lye1<*l2#|EGQZ2XOq`RK49S zt>9Tn*|^|Y|NBGA&BevRMQTO*-!!&2i~jo|b^0$FCl5ErTY3MJ#?8g|CiDNIakKsZ zd^}wLUwPa-JZ}K;zw+|%@%}H`8w2+n<opjlR#pz)|DVRr`oHsXa&z&#!R-IY%gN2l z@us)`N#prHWai=K`;U5fxS85ISibFUyg`+mla({+-%9>P2{mWuzisjlV%YjxzA5$} YL@;&pcvm$i4-XqRJQbCcvNZhv19*<YS^xk5 literal 60213 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 diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/surface3d.png b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/surface3d.png index d9202e468d429a96f638622638810899764308b6..e9dfe54e3c1c13a70e1edcf847b57a121a43eeb8 100644 GIT binary patch literal 54712 zcmeFZhd<SS_&0uJNA^m_v1iE6R`wRM_YN7^JH$aovV}tS-W@ADRI)l{udIWUJ&y5v z>GS<Q?)&#Y+y{@)Ip_U)U-Nlg*YgsqqosW3HtlT)1ae1JMd1kqf(eB{ZW-a>fZt^M zMtFdKuwFb;)yD&mU_3h*_!-|r#rOpTLTr8Wg;6S7;tYPN?X76!t>^CG?Pu*}4{@{h z_HcFgc6GLa`r3QFaCUzV736yWK0MrCc#8>&@!8q?3h+3JKNJ!dc;LVbb@KN1kl^S4 zKQH5R_j2TagMLi}fj}Xu3iA5?@3!aMD%nm#7>`k3147%|gNDq#6nFPM*`APXQV6;r zp12iMA>ncM@1NbGXvQcEzfBp7$&zUOD{WzFi~!fe_H)@wc8t_ta>=c+xs$QxBX#ye zT1LvvcE9Tt;<O7++tufTM!&ub*p2VK-hTH`=*3#V)r-*+Ota+npp$n?pR}(RF7hZA zPC`gXZyq9YZs=REo5zNS0ECGdJPHQ>-#7nH2>;I#{%<cR_`V;)SdHvCxoqZt1)N22 zt0e?OK|#?!4|k^7ng$2*egRboJ`u<d2&BA0Kp1$Eic;LDX^g@o6Ekv2oJeXk(%x7e zr|%>Lyaqy(G)Sld-iNi15RcR+8if|nB(Ipdy|PEsVL=>MAZK8}8FvdJK#19i>TPy2 zO2>xi82E5JF5p!A>jz#|`jAi#R!VM$c;z<ZL5JJyW-Cm~hC>op@P1+8!v7#7j0Z~k zQn>~(Gn6a<1x{Vgh)Kenl8r)xCnv5zK5KDJb-tI!qFYAAhAUtRF3A!*s?sEbh%gn2 zfk&#UE}Y#~eGd!2V36fvy}TU9-T=*t%?fVc$2_xmC_D-rKnWZ`MPf|pptZMaMf``b zn+ukE4I*+qK!*am6P0mWMQXG+u!BfO$-saR2NQ=?K|z7d^EMT!YX5<hcp@gk2g9nw zc-F`KU0&X;U$5us3322<L+fcGzPygQH+n#Zq3YlB)GWGaV}+cQl%5s`s=$iv`MJeS z@{2{Ez4X%xO7Qj`;(gu{Kmd^EClN3%qs!161s$|Q)t@NKF*8JB;FFT-it=_d7yOLn zGEg-pUO1_<r~$eP>|lUc3DER0{Ow0a_geq;>y>6GIHTjFN{*_jLLl9+S<~&=j{g(f zv=!u$LKWEv*4sd7aLH#)5i8<Aci_{1J=gCEqtLrwcTW6aUR5C&s;BwrK5X@+YyJu0 z$dfxUkHLNODYG&cL=HfrU?!vtHAr-*>tAbQDq&4b2rpGUG@O%#HW~73i;)z;A|v{a zX$bs;Cnz#T&$=|$HAaY!Nyf}9fpw#4&jQ3_VISp4a1S4xX?aI_tOP#0idGzXRF^-q zkz>wYemNJ;IwE@XckmE>Y4s?>|4wUFE(}I=2dMp-#?L)?!C0_pj<q=507DP*T|Vg@ zl^!<J<@1*|;M6Gm*`Hbp3NcYY^CHaCP7E1Gcw*U%^z?4@<F7=C7MHxZtit5TcA2;u z;-hA!V__T2Hb5v%w=?ds*-HZxEOwSJJhKxV3a+JM)6^Wkxuqd*4^v5?I0>LQ{Tz?N zha~w&BnfN4loHnLzhp9zcJRTgQNm3x{ypnPz4`=ijy%l$kbmi}UYH|*kfM8;92$PV zddRDcNj6d+5gqs-&ybTm8P>%(uSiCnoNC^wqM)G9cJop$&y(wm3%Y8gjZ8j@F3@cz zy4d+|2xG%<!osoA9|zuw{ts>ZZ>N7r?!#s+NGgg8|92ZI>^G7Xw6Uw=l-!qcFIgQH zAgn~V9HK+MIyC%JItV$Y&$cJl>X~SO6ydP?Ja?f+JfI`G3%o?vmL{A;*Lg|l#h4R4 z!l~1wY7x%I{uX~=<pFUUYMMH^&&`FOHW@aE3z-lG2B%c0t5Z)YcAf$JM(yUJsT=-t zt-aOG**|>f%gb#(nc;MhQt<OZ@x_`ANt0n=aiNqD(-G27H#*$v(SwjuveTBo9YCIU zCQUuVo@stSn;?*@m371kmBMxrps^!T>3h`An?$^wNVwMQ3)~$O=zaLUlm+7C^4H?y z!|>D2q_g0}B@d%B5xR0Gxm(aWJ05tIv<pt;jY3QLz@a!Z{yve1hPK31BfBw9H#SQ5 z>**Oh{9;{|&E&{hs?3E;9Q)mNfXFF<$WvoE&phck>Q;w6>72505I$q5lO_1`6=_VV z?dL$sW4y7o7Bw$2^gVABOxX_{;5be+d(d85p)jBZ(d+ezFz|6UT!!J<L~J-~dsRq> z1uo0m6+u=5EY^S4sC#oF-B!|vT*##W2H@{>gWdj819pNh3pl$~=9{Z?#$&BMA4qAG zOjK<v3P0}oceER8px~KxBHDJ4hJ3E)1xJGz@lwfu($+&LPvIxcV%L)2D5pjcx&-7@ z(Ay0T<_oKgLBdV#MIxMp#WcwyyCDs~E5|H|8B~ze)XA*i*%HtPn&j*2>+)q(z$FXf zUja|St{2U&dCKFT7xUXSddY((2&zx<$~cbbOJL?gOI62kxI*v_EX*XmX=?KO&DrK| zf&c{Sq@d*@Y*~W<ksSnjWo2d4Am)wQReY5=R~KU082{k#8-?)Q0yl!oH|xZ=E1^sb zt42PWXv|f5!E9|QXEWow-F#e$f#1?ZPHIjE#6)D|-Tr)5Uh_4=fa0T0VSqV{*W2MX zJ1M7Oe@!3t+bRk=Wb;26?x^g`#3b9B26Zhs$~{t;6uh~@u#b7=QyyR(d;WBi7KR8P zqx4rx9<WXC?25*Z-!Uy(4a0GVmb16V@NroqyR95Ot;M0F`Ff)VUf8uaYMQ)rbA1i} z_G(VkEDd&3M%x)tVa-SsI`f+YO@fk}8MnFBk`)xVf(0w^VGX6mI%(7k$jwVx32qL+ z+OALXD_8#yT86Oqb6|&3*TSHyDAKj?VN0Q(y10>!0cEtcl@tTYPPK3F>D^?IIYDd< z`DY^f{5Nj^b#8wy4k2YT2F@>-)t7Gnhv|wB6N6h#qm?W~d5IyVF`U)K+2U~JCLWgF z1;^!Ubt()P_cu33d?@EmAF;0u)^eDA;N`F2%j#?zl!l=?-t4>QBSu3g@Sn3&La(_Z zVYl&<I5kbU@mvKN;ng77T1({mE<-6h2l&kRr&ykw20f7@%WE`nFl|G^jcO3xCr{0Y zZ{l}>_su2WhZqw>OxwuU4jzJp<A!*ouQ31kqBFcG&TXe4tY`s+d%YXLaHG*bpCM5j z5u|<&=7>270sKzXW5m&7E!O+=#lkYl&x9U)dF3)Csu-~wEL>zDUEPP%y}2=%dTYod zZ+Td6+Ak*tKbRLCZgz3Ek2!FT#T9<C^iCZzQarpdw;cmJmA-`p8QhyI-5BJ?t-n(I zzj7gcV%hNtYaJH+PQnPEjw*G&gsh}zbo(E~fJDsXn1{>bQeWM8@|Y-)IXzWp8~4E6 zfSa&o)l&~T$C5EAIBt>J(t~y%DN#(4^6AcS)_3=XH5+~ySv+^)xJee1#y3D=vG<=x zzMofmao6)&<)rEIES^B6CyRho81gH--at|A#*4k*Jb*B5K|RGpfofaFf(2--M04sk z(@Kjx-V4wsL}-}#Z@ZiSv;Q&09!ON_V}-Kl74fo!HGrS;)`4Pha6gJ`rV7^St69{C zKDX<rF7>Dtpds|FrydJug~zjwzQDV&Kxzz3l7d7$eoCwqvFv-%FD+_f3JVLX))2*0 zA*ZA<`V94@cRVfq#=@~aKP6V3Za!wlP@Qe|9X(hKU{ER~&0ryW(+Ki_s@ANo&%aRU zV-DiYpr-&s(t|7wuY@~0CS3{{)oFa`?Z5B7IfLP_F6XOasQ%<K8Vk1r@eV`P`yn$h zkrZqYtYhteJMj%5x#J@GZAj_7Rb<Qw4od@>p`-;f(<3;nk7m6TZe(c;FlkD%lf;w{ zJut&hX1jDmefg&U<FwpU7zN)Sw0n-eJzSVHkNNvaWBO+vMKbI&Q`x2z?Wz}0;1CQ0 z?~PrLF|qC_z5V~sS6}5-RInL&*A2}^S@@xJe}-c%f(W_A2NX_58UsQ2_^FA6f0OV2 zzjEZ$d*5anQOVo~OzE5zjo}KZ2Kc~)HpoX_=)D9+S?UZ-pA||(X;b*AHRtYko!07j zki8H-KsrE1AFuvcp0IltJf@&dj^c2O&8N&RrW{U&t>0X?oE+#TJs=Nv(DTW?Z}&$c ztZ6_j82KY89-KO*pRbhLw*)KY5~Qy$oS7EUBsf<vL(B~&NBO<EfgMdCKI^LY_#g_* zn4cFugwRC49CM1=^d7d{(B}%3{=*Vf%X91Hk_VoZ*khX+QQ!=^NTA3jsDy<W-zk78 z5CL$)EDi3i#Q0>45Am_MQ#J()BV&ZB!qC{~F8t)c@osLA6QHYt=-9SoRdwvbgtf#K z{ij}2MexXbIGWTM+xatmjM*!<Qam0SOaWD!wiP>jm{S*yadQ5yce{sbKOm~M?3&+1 zq{Hf0lHCiUqe_NZu^AIr7Pq$vkw>&|hp;9#8$VX0nNBmk!p+>alie6mIY#iJRCYWZ zY@`@$C30<msbc^<3gXQV;XCl^USUn~L~==n;Dr}aku(p=M(TNkuMYAD2W5^Qgrdmk zlXvHyvTZ@fkW8V@|Da^#|M)yLqb1_QI&-R39e!@9#L`t_w-p2u%Vr89MgSFcw5)H3 z#eoCC*h>&(^jUPLp}RB#_5ck>7CYCvp&yB6Bkt1uYEGDXM){g=?bxAUt0CNmLl?x2 z;?vmmgml;bv`nRi5@%W<EzDlvu<Rfh6#avwGWob~U81TTIk#>XDg0cyxRAn==*zpc zXA;XmE86D!_G>=BaZOcOJ~?pQf1!v>8Q}xanNoEwY!yVxQk$hcxO2i<L0;g$Fwx|- z-WiXf<&Qo9SiwU)%56rzp#ll-ruoqtJssLL>iJ&ZD5KLbJEgfwnl>4)8i}(I6KySk z`N-P}7=Qt%`p;fZI*<|l^QeV`b|nc9el(DNr@{E_Epf-fWzn~R2SOP0_%N`ej~-94 zMM3ZK^vFVM#&X0NBlh%4h!9iu<b`a^dR`EbVYL~4dR^S6nSys6h-T%mFM(00?N_l` zr_t8$5y+*D4JQ=;44jzE$5D<#v23-jw=lNfMyOXHVqGQZs*xUV?EV;`O6iE*o!K6Y zSR@?OQ~;Ko%=s~1ohDt=bR9@`VUE;$fC^-}m+?xV6W!KzZ{a|CA(A*`<FT8i1nCq2 z^SY|byLmVHz~9H58sq~{y4QoY8tmi@9zwUfe1Uy|VzbzpDv%e4RUi9z7Zuzi1e8$u z7pok5L)xKavX>LG2{~f!%VWxn{iy3J)QV%+vEyDJx%Ohx)ke~Er#^EzK2RxHA68~# z3eN)zLtP3`)V%i;swl6=GiOz+rclIJA~)o^5A~#T<baZD?s!gwYzVB*HH;PUUA%(@ zU2079q32Izg17YYdrD-ExB&VPoA)pL$irH|4gwvw9G(8?=;#uh&!NHCbtny(8!tic z63N7-KAg0!KHbXRZJauZK6Gb<j;I%7$U}VAxtKC5gLg%#?a@zU`VqV|5MJ#r@_{(! z@oW&P<GuwbZxeuAv;c5_gAvP+?)tA#kRk?!Lhn-T-<MlI1fc*&G?{e!%=NKf788{O z6r(B3zbLiYT?b}Ji>I8OFAGBHdey!Cfw}yF21<_)Ambc1L%WjtZMw_&9%dHfYfii` ze|DeE(4O*+%Eof?L-3;Mad0ydQeKz794V<rUK~_&v5PG4a`6^EQGXjZn2oKJ#AJRP z&1O<fWjOwH^#N|z8L?H^H3tuT*!;$_0!bNhU6llgaWKnJI^<Jq)plf%lW-DxC<x6# zQ5m;ywI!@|qSV9IJMSAu<ovZr1%PzSY4XRE0Y6>xYo)^XA1;%sgV)zaaa+2c=LK&b zY#ari_KqyPxynRc<tDXXT^odUxZ&pMR~2D)ZVPML;zVtH{+p_hDmVMh_a?Ea{SdCI zmpsv>7Qtk`C1#EgLMd_;?DE3?zB-Y@AN_PGaqfHWa(>uEydHQV+q%DFdTkC0aPlnT zF+odHY6bVj4S3>N@cc3*sqO@jTmP5(vDs!fP-;OoE^^VuAj<zM_&`oAo^Y;yY@WVp zK5>0=%^i~KDdXqdK)2J?el%!$P5=FQ)U_!V^O!7kbcU#HR+Z`T_k6ZX`lgyi0#tzD zsXOAYuZ)rzqd~lJ;c|+FWUl~-;k2E!%+GF;3CRNsF_*$m<>jC-1j=r9N%^2$_<Ex$ zK80uD<U#(ZOUO<+>#c;=YpvT9$Ct)NCeV6q_j+lc5s~&PB+^8H`Jnnvmd{75c)eN} zNTOqH^>)$)32UHLgE$i9YZ3Ip5g&UJe-wD9SKtToNJ5Bd`$dKfmi>FVyPUE12Aw;$ z{>~8etZMMPy+2Gp-Hl?y_z3y$Sk2YzH87%KAa_RjJfwN^W*axynC<f24Vv>8ugt^C zNr3{~oXg;uum*BMNl6Jf{m37(w?nMIPCQ71gv(d|6-NL(gMjDtsq+3QOp=Z$^nh_S z^xdfWxeiG%R#NVR98!@^so8T!5A*obAh}+3%&&}<)vStGI>U0^>wF<jCHYbHn>{Di z)DbMl;UuI&Q12fKg`eDJOjmq*|0m1`l~{h*)m)~2xgH=cEsY&MtX{pvIYs(A!ih>A zHWCHfFY7MI&&D2l=8ag}TO-!04g8KbpU;M7QmDDtI+wIO6Z-f1EWhjgm0*S%*_+FC zo!O%*go}UP;DdGr+-M9udfvKzsjAiC{}AGN?+XU=ueGpH+JBWLP!G=xiG|@0CWRnw z-#l50DA?lTU(``{_xs5d*jedd`kS)z2j-Afo^M+{xxsgRmV5{-3$1Br2yt>Zu~`b9 z2|zwXl0O%w_WQ9y`_0EZ#yK1O7pPI{V%FIOq2}T`3b83X2%is}x2fV^rCu|Rea8HC zM`p5<EJsrXiI0!VG*-{E*V#H`;0$i<eOKf6!#d~RNvva=7O5HoHTLgw?viLuWL`og z<hC(BL^9I?#G*zh14`D-O)e1Ryd|m*zlZ3W4~K&YH!(2*Js1Ppl&z%?+s)r@=by$U z%Q#XQ4rWc0xj%1uvDnBzQh%@)>ClO@5>a0~6qpP`8C*m7{Rr(Osjf6l_>XP?B#NDj zMQ>1RLxT`!Tts0Z%j?0FNz2z?!)Mv+l>idH43#zF<y`r2-+hR(_FmMs3mGHtdEM`% z5QS^ycm0q1Z{>9tBrSdH{%P9!z`PwlzwPjY6@`dT{8w52<pC@t{5w6Uu3!KWE}eA} z4|*<&=cHs7DIEX+_YdJllD4I4dQ0tfey-wH%>Gf>9V7TF)yUrYZz9hi?VL#XnZwl_ zeM1ntc#zh}<w=kHmoqV6WjXDd1i$%=Kj#H(CfW<v=KjkrT?7UOKo}8Xp_X6N2dred z&yRY^cnf;_AW?jcpdkUNV>4V*I_S4~*$q7-^48b8n+#{{`kMQE@0=?x;*VEsXx9}Z zk0Nom^9W`G4%6qWZDqY>LFVd?>lb(3Qj(Cwo_B~X+mEIF_tQo}ZvS=64zreH_Dh#{ z@RS|&Hebl*RZ)m}32u`K+~!EV6^+slJbFW~CX=dWwdj2;#?RJCOGhD$*~Qp3mU`XF zy7`wM!tfS-7nf$PzIRJj2S{#hbhHsnEDsl_6YpA9Qe9>??pHKRg&g$)^UBmJ0aY*n zu8AvF9Ttx#8m){XSH#mo8Nc{LcY01fy{<7enx*n~05vo*CJEdFI9;)`xTIwK{Z9ZQ z0&fTTuHm;voYDcSCNJ|>^l3G6d3)Q{y|9y4okAA<_*%d-Cm;{X>P|ecop+g)!uwJ! z3+K@3%s?E?6sVsPD6e39MLmDOs&CK_`h_4u07DdkzFBf9j<*Y&OA&<5Mre8auS$86 zQbN;jXBXomd~AvP3dSw~5OWe{Oi=oWq7~hX@2Xz^g1&y9z4lY-wD??l7|&69dHbF& zfh#VfCx*OuP#u3M42Rt~BAK^7)e>Lz&i)djN2J}#>@T>s-QUnRx~~aTC=_1;FeYb1 zgTp%#frO7UCO4#<A<frZFnw!A1qg3MklcPmrtlCnV~n_I07ioI32Rm~j<v^H9@o=x zDh#FB8`BWQJbC^7wd4<_!JVt!q^rVjgS+^G!863S(wt;f#y0gnv;X>GQRNtGMY{Bv z1y1r{Q^e~Izt5A*(@=7GRe$`CNO*1K%qaOTW9*35u*NZ@JRUK~e)z2Ya9rIVS=BP# z`MPJf{XomC&9`c2<UP&<$cOLb32V$qCL-bGe47=Z9UTJ^zrr(_`qaCWX@Ab?2fIN> zcs=01c1N1DFKGaARiq;0&#F09ow2Vf!g#UB6BRvgW~$nuh|KlhVnvRm9qC0-=FKDg z7r-$6N8g@SyGwVR1W+pCM-W1&MWG)qmILLCA`HH(^LIquL!e?}cdr<-wMtI647-M* ztKlG&eZQTAI0}*7`&)pNaGgnCs}8YPQaUNFnL7yq0K^<|<4<!8=6h|j=Seoih%tO4 z5a+Gx&O9@lNZZA9Y}NCYhs)|6<h2+i2EMtscN|FhkbuC@opqWixDTpS+v(G6lth+g zP3tH}&X18GAQ`KkL2bg_?vQ6!bC2E7#g0qsM}~VpP2C?r9zqG_O5YZ&_^d<_>n7UI z_*S<a2lz;1rt}?1ZNP~}>Osw3#E`}%gBw@yx$PV>X_!YGK`cLe>37GyVp4^!apwgt zkl0#|FG*Buvta<Fw&sB}A6}WdnH4Fbl;7eWB&z}HoN|k7(6hPIoqq85-7}tE#Ct*n zNeO{$43Je~Qj#e=JO0nPRa8t+TTr-N3H-JWucrn*=x<0U3TI0uVvZizU=oixbz0P5 zKn~96daXPBUS<D^vT!61Jgie3N<*O&+C%O8=Zq<F9S|ORXzD&|$!y9plerG4^PLT5 z9`ex8y>p|M?O$VkOJ2f@z9i#0hurv&dH^=x5FxWqSw>5rdluMLsG5r}j_{V@MzI-D zZu01y)4#jV>MW;y1UewOq;A66!-24b*}^frV&|WsDsPUSJCSyxY&$G^1qcrVr2%$+ z!e;2>7?Z+)CJx;ef`kvvJ+92_3fZ6{&n+0QhdLM78*vcR+a4+H`yTMx2K29_ev5!z zCABU-ZYMha^j3n2mo`dRRk#te#a#*}W_*h*3x;}CeJQm}QMpwr&2}JYkX0IbQk^wy z3(m6$f3D+|mU=|ear<8f`jIY0X0b8ae1u&z4fAL|gpy4F)C|o#!^KfkY$HBw*o;fA zDxee0Cw6O#t9Q7-l_bTn(S16q)`NuXdqnVN??M8H%r*K|4L`A>?hn*Sq+$l43Y-fF z<8JaZ&XA8y_i*ev3FU~$FiBEOTF2;Mqk&Px-<K?~#~6F+W4)J;qyVh=p)q7)9vF6x z`rF^N=jS&s8!(DD(DJqF<W*#nlQzugX9fp>*Zz;<#E{T{^i1rBo!2z(UCGj=;sF~p zsCMt{vz3F|QToylwg)^ERMb(8TwG96Y1XBD>M@2CL3px#^4auqEq;fDnz9fyZl=Sf zc%LRbxv^)(NAbY<Fr&iW_($V6>zb;_7kZi-K2kB9E|{VdG3E1k3j<jED<UpDXj1Cn zqCGdpUiF!m%H+n$XMaxHKKpf`_}b4h+#N#cNbz1pz6bF)Z}BlK-S%#c@#*qg#_q7= zLq@yM*HZhz9SWE!_L3D;|H}pV8+CusGoog%9Fr{TOK2e*m%lAek%U^;l|{1z=kpmu zIX5tV8XuZ=szyox9Pw}HGxJbfOcy>G1t(Gk-L57RY`^#lBAINm(2&kku`51yzXhU4 z9H`j*;AYe!J%f6V53l>vfClJic07z^8rZDo4xU)oo-ax8_R5UREaA+;tIf-tA&E$5 zV#m>q%vtHEz3f->I^S!k4GdZWRfrxyH*f8|c!!}PG8rl+1T}AW;7-E8Q)QEg69TOg zb!>A)zqdrcldzh!xbPSz^Ki$O{-0}Q@fX4jNnqF}8E_ic$<B<%up^d<&cKleP{cgZ zes1{Z>(CS2n$JJoQS~Z3z1)wnn01?<+uxQk>z!%y5a2zhorcH%VQCq$e~l<Ne}^}D za7hbB9HDOtFk-hCIO;7dpWsAkZcORwW2<R@9}S~b+?f~A3m}wJxm|!i-MsVOjDrtJ zn)jp8j4v`JUR?8v`FR0;$L%H3e&!dfM3&}cA)0+*@r%7p&vEaL?N>Mj7>J)jd|L|h z!!%<Abp*mZ$V{WtC@6}!Qm}_u_)drPqH$PpJ-YL|a<HB2?{?f?c2pOJl8VW=&dhVG z6N)vCywgm(sq!$N&?_3e7leFB1Zt~_PeddT$n^Yq6u>SlGM3MTq#rE(3tJwti`esT zKQcj#m5kXDe?fF!2c3j|y?Ciw+;%)xrqj8za^VvAcfl{%Di3|0h;n!QJ^hW}E&JCB z72!ZEfmAb?8Bs@WItU-oC#{Cj+p%=wDqI^)r~B?5^!d#F+O8zDYiEZ(#4K>8T|3wf zqaTvfP19mnYxDo6&wxqtENwlYmY1gvf%%J%+5}8S%>ACy^#-9u^eOD!*GemjIrK8u z_qzKpUVghuC|8S~KO5#g^?QSHS0m=raBYuqauLp9!Sm2fVc+iMPN<#bPZm`Kh)gNX zjq%%fwOsdZ`3kYRF<iA}Vvyc7c91Loa7e)^{SaM0?p^2ldbrKMgk&q~ufO@i3HiNm zBAQ?z9-FX+{t_rw%VnH>)XO+yV2Qp$-HAwYI!nWoSymXS2|vuG@yt7;9(BJwxm>u; zGYjjgbPT(E)#s9!1A9vmrGa8xzX}r@z5kl(NF(p<pCB>#M{_%CFi8@`X04AM2?rSw z;d3`!Utz}yKYf_+i#!O%2?tWdphm-!N}>H`_-~Z#Dhj5_yoV$0Wn{c}g`i6*6^#y; z62z)L+RQU2t<K%b<`$>l+}$o)1a&<2`*c4H(rUC2pE!3brEd7d64V#S!!o_n*vkkB z<UY#7zP_yGWP9zP(xXnQC`V=<M`LJW62pfr4LY_0G~T|bWN!(Rh*x|TLTMmH(ULRN z1O*1h0kasgt3P-Ez%J-QFH(nOtxF3RJA=WG70-nt&!;$s`tjkK{VzEfU(Pe#FZU$n z`J>&@{;Mm*uJ&5<J(6`{En>Rl$~dT*jZSSdc2<{sm3Q&_(P=TfrqlM<52-US#(YB7 z{UDSGWW{*mfYyXio8LG6`F@GC<jJ0U-&S_VKUEWGPI!rBmpE@F7V;XWd;FdT6Lwe8 z88oeTh~;qpC1T+%*D35ctj`{2SrEe$cfXzdV?hYb=+!wv5HXthGmPL-Pq*^yU=&Bl z9jeP;*M<=BKvx{o(N1h$K7uEXchg_j2g?qTBzwQi44?W~nebIqb7KxIv1Ru&S`DP6 z1pFk#9mdj-1>)=?1B3gMPI*OT_y5Q>%yh0OjQmt8w7Ju7PX0YK3N5=oi%-#Zzn)>B z@Y{3%CYiOrbFwpk44(M7AieYNltw6Pxf9hYNklTUta>()ik<9NA<QQ%=~lWi06Yyu zt#8DC29v`LIKymRzE(*tkEWC4$TC_+V<M^=nU+>%pt!cJ=Kq0#gfZAo8m2uj6d|bd zzN>crtf5uO!-|{&($YY=B*&V)^y}p6Z~h7UUOrk%UM0Jc_lvsh;R7>tNtea>L&zEN zxS}Fv%HJ;w9&#yu>TRzVY^^;JpbMHo@)V}IG06sC(*w^o>F?jaFQP-;{I+vuF~^l~ z0BQn5g#VrJzOan^D&Hexd5yX@)zB8j%{)uHtJM`i1QCb3znnr2v3Q{T?JQJBRZ=;Z z;s_LuhqCYd9u%4FgR*L1Sw%X#bDU0RU_T64r4h?7bAPkUgzxT*+l-kK-}y0@&1h<w zfn<ve2RhmM*X$CsuztHfouNmwtJiK(oLn=hRR=E&2Fu8{stU#xSOp69&+zw&dBnUz z%WmPx6c`hc!dCBpqqU&@EOMOjQgdENEqJ>zmxGyr?Aw){&*s36vjs<zD-};(2$I)7 zKU8nwOfq2T>eA%I`je9!Ga5<d7jn~heZr);=|qf&`6Ch(e6(yzy>X=N@%;tIj53-I za@i!g6wOAwYS<n=7GdNy-!6t7V&ufpq{_ura|IXNTJGcOcOJ#@5oiSMh8QP%EMh?N zRvzuRcdltM$aH^mbhin$2SQp;OSc{>PT+MEhwg=hRm8B;CBt$k5?AcFe?NN+sxKTU z<(3mplr%IZ76VUYKv)wnQXUyhy}$ajYndW=MaHLQm#8pgVDPpFzO{C}FT2yOjl~GE zMo71E)>V@5h;p%b5PR5DtE<mg73&F;Nvb0ekk6~T)~-}VTZGAOzr+Jhi|Pjp?QFu8 zg`xPk%*dnS3+?8QFi$Zi1$-)lNNMPQwg3wD4L#7uug(d%aMaa237<Tp%UfSM^lngJ zCQ+|GRviv*ROH<nxfi9eJ0ENjkHut9#Xn##A3nD|C}WUnJyf|98Jvly0tSpa<!lG( z$E^$`AOcUkVo1JT|AY9O!{1eR)cK<A!h>*&0cf3O422<#RyRAI-Uv}x>phUVAwH}h zsBygV`Gh|wdMxIKkY*5d9yTx%$5Z9$ii^Wx3K*$LsfQN!3+Pd;ejnuPezELM5j9d< z(77iYEX#1-wD8rZN>`Bn5OkB3mzx`7f>fpnRX~|Z_}?*-EZXA07yPKR%O6e1czvSX z;;lGI1<n#zoZXv~sbjE?F@Ml*)uOB?EoAUavK8RF#9YaJAC0cz0;h*RWzcGMJ^P2< zF!lpp*WLjuLA-N0oVU-8Pj!4fWmn>`Sb+$?RO%;4Lq(8sIIK^pYqI`}E7$wZ5)kL* zhviq-q$77RurxoK-<H`r+_prc$gVXG!{`>ml$Qo;3a(kc@4s<&Rbtls`J}R_KR%!y zs%mc(FdMKUc$ibs6J~kL`#7T?n{|mEFoe46D|0`>3@)}~36eqojoy#qTIQphIcIm= zME^fvspFC@<<!{mQ3{ZD014zLQUoUw!=d4>w|UGun|n83;SR6j%rHai3c&E<su(X% z8^jNA*-cI7<2kc0b<iDsf|aZj<N@r72AXU6EQ-F6rcWPp0qU7fwHiVnWhtzoxXMA> z;F+S{2pXP_L24TZz?hvNph@f=60eI!<OpUFTfI0<WN38{xfDLOZ8!{5NT7QBn(A@; zfyN%MyoKsZ&3A2#UGK_Ta8yv3pI|Hg_C(_qr^Y6Zay`<}qZvE7)m@C(iT?MoHx)xd zY`T@m**if-IxJnUkDRx`=-dMjvc+$V9PUwCIN95}K1V=ipUcU@PiRW`sTYQGKO&f< z@VU8YhLDNMYiZa_Xwfc?q3PFouQo7^^J!@qDf0&u_rKgr29%{qdR9+q=+|(4<;@Km z3!Hzx*i=wP2-7)P>iGKNw38ULh_fAZybS)NR>b$5gg9lVS9DofVxAB6a%7>736`u@ zch*Or$ar;mkffx4%(TqHj;D%;xeR2OX9$J4Ios4c5eM{|#u&_$jr8N9dvqZBK+2M* z^~i-%1oeV0Li}Jf;W~u{U9jxwF{TQSp{akcHm+l>+KzK;8P4~8bkr7Y6=x?qPPP7L z(@*?gQ02-CDI32S<`p3jl+N0{^C-n4qfsWgNU(Bqh_2=8n0RG;0nJf1dY27}_|(d0 z99G=82Y=Plh&co3Z4V1tKP(5#|J3A2T&kkV`BA104#2}_g8%dlq+3`MWB~&MKeg)Y zr-tEr{YZX`l7I7Qmf2eZUG;r4{Ij!MUDIM$B7vX3=Ul=<zWS-RDnL_yhBI&=9rg>+ zRCUJ5^#nAwCDxiaY3-sFh*6KS!$KWHR%}*gp=EI*Kp`W({!6^FH^?{$rd#Y@x&S_x z{yReU?l-69fO?r2PPY1g^OlC+uI_Tau)E0~&e{IC3fD2~lR~7tNgL+ZyuXu+fDato zP^6_(4s%cAdU>sEU3Dp>C3}wN<Eflq$_Q)T(DcsE9wsIx{^jY~=eg;#{C&kAjInT* zyAWHF7kFD+`iP=)MY0ofWv_Kd9mTG=V@EELN^}E{MkSgGhQ2D0*UKcWh=acKD|_Rc zw%X|WI6bW$;9P;^X_d_mrUtIbzTPO`gVVjsP23GhceCmXiNbwe6pxK%vu&t-OP-7r zrE4IW<!*|-X)v|R2=X%uanUy#U|`_s<rOg+ye8zomgVTN5OT7_5w_3ac{5m}4%?&N zo7B@@G7LL1H0_+;eKI*?ocz3_>2g^2UM9u|rC7-`O<bs3h85@>P6&TM2I{D#mK?qx z(W~8;@tqbHXsQ7TC`%G^T;VU%JE`D^oYDEOM}7cdYiJkyqhI;?Uh(pkmQLr2@!5vJ zJGKS1?>>FP2=hE3ba*L4a+mnb{EOW1Dg4!|8f^oE_Ji+|r+pkUFOi5E5UPXEMl1(H zPUaBHl)gCyzCxJeHzDWLxFqt&+EVv{6c}NGnF|<t|M41vuhSH)K5H`huz*_MijN%$ zg+;rN1}hN%@+mKP$E7MxK$b!3%xo14M~<yNsTdpUH&^2%_#IhTgd{*==o(Ni9J?(< zzkPe&>BlF7ts`-Y^9j?j99IYg?RcXI%9CqgOn{#C4=fCNWQH)A9qzq6-)f)PeLyOo zy&@h<Kx28fdX3lA6*6kKfK}O^mDGN(tFTA&uc9E+;K>4M4mKC}b1vI-XCvcRm`Nk3 zE^5f%;}<oUa!Vo5ddA{1+G6J(Pr9$`ggO;H?B4$X3#VtPYdwBPLT?ia4Tj(UajD|_ zm)|!qIM;N!&44Tl8Y^{1SmfUIc#bkpYur(*PW9W|s^WM<<Bo3(#uX}=`;fvi+1ua9 zUJdTC+e;@hwv%BoQNQ_WuT^hhI*Vrux@f2qK(m{MR}#eBI4ArhO^sUV?MwN$($MAS zonW|-G?<oZ=Hpx#q(A;a1<M)m!$7AOFuJlLlFHew3?4X$#<%}5TB=kud1zqr`21qH zG6iInx&hDb7?-(FX;k2K)8axxj$`XlOIYh+Q={e@N;<3Nerz=|Q)A!p3+JnGU!j0H zF%?>Iy$)b+Pesx&oFh=^TDN-@Qw|M2St%98BDrk0lb9J2lt8DsEWhMv;W{>Vze4m+ zE?!#tB`in7z=!MU><g;<y=ur4Jc10%I^v?c<|E;DcjdKygIPZuOo^L{cdlNS2js;Z z9K84s0a&5k)8PIkLTZQo{&^V>RfOihw76ZY4j9mgjUI<tJzg`UGU~{yv3q8T!vc?b z@ND79fW*V-*!~W`rHeme1eYOM#2*DMOsT{8oU#Y*Z&2!`K2H}?J-x4Z2UNugx3Bj* zIoXWz*1<gbv@`#goO$}|n7qoK{Pm5e2NLHtcIKge>j@+NNTj>)aqt1pNN#6lsZ;*f zP8pIhCkDP22?}$m)e&Yc%pS7JXaDXYfd84M9)?P8j2{?@2L|2-6xnia_P454qZ}jE ziS3|s{43f_(ems5RU7#=Z}#OE!HAY^tjcoxAuEN92WxK{Q)|EYuo}+>QHOt9??uao zNlYv($#=E#&6Qf=KfR;h)aLH(0etJJkI(I=-j0fMZ_VHr>L!N+MQ$Ra&q7f<lE)Pp zehv6;4zlA!TLp~FqjuG2Y4)2g<tbl6i&RHmuih^#+_od0ULF8E!|!C3aa=m@Iq8E} z7?LCV$atUWH)2(A8C*s9np1<h4d5iO8AgxIrnE^+reW0a66CdHnWQ<^S^b*1p1CGG z@SgY;cHHAq$JkIaSz3{ZlI@=1U!7rNzG6tWh!&A{E`D$^UWo8SR`84Nn`v(Be}iO! zM3*;i_=5OL@=NBiaMEW)05l{38s$>s?t0mlhuaMyIkJG$6n6`*o(UI?Mx2BI$_yA~ z{%hnBU^A+wpDc8wVGQM*!R~eE2+wVPtLdyiTCfl6jtP>lPnTDGrCxI^Qn*fu!1X$M zOx*q8>ta_>Z}+?m$)Lbk{%fmzWb5I^(RW8V_}>l=7Y_<hiwfUqFh0{AqbTrhe5bm( zD53|*LZu>_$Kk0V47y(S+3f$YlJR}LYQBh#r!Pk8xgXMeLv_5%#NgsKdz$L~p6aEl zFbNln_T#`YUfApNuB&(tnPah&(07%%&c;4W;&Fn6k(wKn$VcSoH6drl7Yml5zQ~Xg zmx_-SA4EZ8|EIV8?We7)&j5`^n0ALQ8J>qxwsqbcq|^8G#Z0=p&6D)dXiietY;bY* z{RPDa#sIc7YfY{6EG5dAjN1-NCZd78bD^0-e{79vI^ivQwec~|cj=^0VmxF{7aBwE z)};i>Wnz^5EG~Jpd(W0JY#B%9sxP7HBxEy9Y;ThP(nQ@*!R-y2Cyno&=&oyefEM62 zav1`GlV{&^gj!KK)%-I)rR}(?HT#HrC;3+>NOR8UM6sp)n-e*D16Kc7J$quMd1oUx z5u{%SAwjZ`q|nt?7cO+YiOm|=ECsfX<mt~3HKyhNbp4gh2*g9sDzvptN=)S5vHqgI z22p<f3$VyQHyYGi_4|ztUBP_EmrGYkk_?~Rk)z{Ef79>CL^+W>IU4WUz~UX#&r{4x z(j=R=(YhxXit<r3!|4+s6#ZbR;ra-*e2<<X^k<m}pkzEujGUOz17l7=LO2WVJo#Sm z72^?=qAc|i;+af7LJ$#F+Zv+6_4ZPQKqij&=SVibs^nMdA%)c6mv0PDMUdLf%9?{| z#)`26K4`O=;~uBM-;Wojj@ed$yVG*Epyl9)16=L@N;U51gzj@O$CbD?x=O1T<J$7N z6m<0TQ=JPe{8_i?CWJkGeW}`?_AUwR*~VL(ta_b;rv4>NNG4l9{R{@bxC$c3u+!Aq z-#Po0@mqyJBgHpvwIiC_&RB)hh3n00#1wkpy(I)cs}{EiBW`+5OhVlCQOVE#kLwi_ zMBXWRga2Eo_d7T$=D9p8P;J)=0JP#*tKKCK_n(Ek8i>x$TXhL-T7$$E-7}+<E?Tmm zJSoMxEWSlm@&10pel9ysJBFK)$b|TQ=4yBQYUK+J9lmD`{Ykif4S`<mviDwgnN)P{ zr1)NZ{ibE6DlXojr-!fa4Z$$qoi_5D<%OiCg$cW6dL^5uIklssW16eTg5%{$SizyK zS>WOMcXSV$cYpYauYL*lxnw>3oE}xNQwOMYNO+y)s9RWqo^&RLb9jO4ak%%6=JI0J z7T{)?O!(rb8>Mp$!vMU0c2_rjz4c2B2Z*b_zRiBjMtWetCsI}|SR*waXqPfvyG4b- zwK1k5><uq=23Z&sMF;H!mzR1m)v1>KAr`-*EIPi?%s=lOTLO%RDo}*s%O)A6JJR3) zrhNJcTVThxXyjhfW$@B^c@VYA9GiuzUy+ab;IpPjT?-4-ko=>%8F8Zld)ck0!g$Wl zc%Pe*q?8aBsjvjT1Lg%fW`M&7YAa(ZP*PPR0hQJNZNgVvHsc!2U{p+v_JxKuPLYk9 zqu_A+Soe}+t_k9hm3OAuGcb@g)l9QwV!W%}{_>AyI-oSj$_@s00CstIu#CGmX7H0w zlbzej_qt<rM9EXq%kWT-xoo^s-A+{IYVxl~WFr9-2bAyB{e;04Xzh^{Kb{I`9<7L1 zIVw+wUI|wy%Zvky9e@-Cx@k9Xi{Qr--MFFIgfw)i4IORmdVfTn=hN^+<PUw(k|B0K z($Y`W@nFI|WH)Z|UgT3~(765~-^I^CbD8HNr?BA$Z59`*qHX2@sUDW(3Y&$%dy(oh z-}Y~IeNcdjEN?JX73N2W3mTfgL~OGiY_7jBZK|E6eU^r5>P+W57&zUc!c2bL$7M8` zU94UUM1_QBYOn{PsRv|_57LC?4a;JCyH3si8y%uf?u`aQ+Pd@imPcMOl$2ePkG<ch zKC$f03A=i-J6KkrZ5xXEQ>B<-{dQ!q$(=<u^rEBXx^Q9ew_#@<`T>PvHyBb_35282 zfT;r3alpvE`OeJzw%g`WV0TV=d4fj#+q6nV`r&~&=xlD_8Ys9@p|by{7iu!04`C+a z0b`9iBP)T@(3CMn=SS40-`r*f{H3Z{kxadZ)xwJDBo3Ykbj=Oeu)XFjL)mx>#{|I3 z{{)U}Xr)WuTYY=TQCKzJI`2W!9&Oq^*p|-Nig9_5|JE<8D0DsdSPkV^QF-|@k{dEP z!Uv3*c}H%`@X;pgtFF~7!IiTNU+UFvm6UR)`UTx>i^};yOfHL@Y~A25fQQz_D=C{V z%wmJC;ipLAta_-X@Q3{Te8cH`dM$9&nxCq{M`K0xU&|51*5^NVZ5@nNXq2&N0b}j$ zkX=PsA6QKaDsj#hzGN|o=jlp03KH3EYT+eFTmcC>yZm`Xa$-jv{-wZPgH~190d?^& zL#FH!<j*5Q*cUPkPLae`A`qR0M^2<$Pi(X2F`gL84tH9yR2z4Euj>aL>bagvmZj)p ziyG<~Suaw|6uyh=sIYmLY$~ib`k>3Udyk$DbXv+KcDDw1Dj@sUDSU#7EiShHibGR@ z9XJrs`mv((G}yOjK{H;lg`ZkkpD$h-n5U<*XC%2SxC?%24>JukDpT?v#J}>nx;nv0 zqC~(fC`pq6sqm|V5TKg>iuSDwW7U4#R%wir_0dh<9p19tqt^;chDR=3PL^{MPb~}3 z&l&0-|442ktZ<2W`}gS!(jwKR-(6oW4eRY>r=J)AGsl|`Vdofmgn(asPWZ|w2~WS@ zTD~8odYE`aUM!igy2h*RAn^o4)8?JNOO|@Oy9Iv?cUKk&<gW5%myqP-wRT-=-<>7n zy9x3Bd}jB4W_FsPWq<(#tb9OLHy3MNF&;c9Dnma6v`g2AIbh-^e8&b;DjZ6{{I>Fs zVT@D2^_+OnQq$8s$!S<(Xc*6ouF~AX;{sK4sf_gi4?2#_ddkaI?&mg>n(2$2TC+{g z*#o5QB6xw^62<WdjXyWa<3W#1{A(jVPc!SMr-_r&{wdjPUgusBkc){?U+?ZFmL5;q zK7oshIohg_WaM`_W-)`OiZvv+5b{)W6z#soPv%E2^<%Y0j$W;B^K*!iIw_!)K`{+> zt(>#vuVL!}-6~ex%7`PSzyqShg7-(c46o)_iT;)`01#zhzsvjIo{;7QSYhz=_HOja ztX>XCWxOzj)TddCyusi)ICVDthHUROU9F2bnSINJCMA+7c&V;8PQ@~yO51H(0!ORu zCqFDD7Hd>SD~D?qH#uFaP&T?tw;jmrUDP``FIQ{7UQ9d6mQ>e$j=Hruey@v&h)lh< z)YBkU2|xhA5*j@a$oVEf`;qaM{eq&d*i3VsiQBRIWD~*1+gDwe_JpWUB`Jf$^-;Ce z^iWSe=|K9H&U2f!q^^}W=)d2E7Bnt1!MHnsnv95QA{QZ~eaw;=f^_?GX5bHkh&*xZ z7uxc2cvBdboKE=^@(6mI{=>~v@`g7dt*HBfbFQss_J5ji75m2`r=5&n&rnB!;t~?W zQcau8hvBOs!T+-jsI>L;h4BDhkk~?m;ItboDJRsRpW-739;Q7<#~EEu&+Aqu-(0HP z8_H>>3|aS_525ECWqtU)See!CaKrYm#lrm(ayzNd@t+?F*TzsYOC(|fB$rh2g2`t3 zXo%D8HkH9^P(D7U@qL1<X9$%3w?bHr1hgO{zKpEMB*CtC{o)o`>0}N}7W{y*2*##H zye4;pxYRw!n}7@SUA<WuTxe^WDfmK^EFPe|cw6)E#p=hO0uMEtYu=PP9Y5W!haD$H zQ8WMi6xJ7V5%e+aTlidlS9Y-{zV&^HX-u$56a%|U^334pXSr0fvztAzyr7p;idhk9 zM|&fk7H+!QyHQ;x-G1)c`sH3H%JcOfzy(cBMOnG|#D|_lH)+#%k6c_nh{rw9=o$YW z8Acy`%-DNX6WUn7Q!(0!k{**~KL4TMs{mF@>OrR>((Ar~fzUPKWaklYx>!EXiR{=d z2RYiwsW;6x!(+g|72(q+R%wkYMIb?#r?5yxC_tV}WzGurt>#J9Wbhi_zMhjwlh9z~ zZcbV`-8;E;Df7K^|46Oc_N)`v^EhLNk@evCrGB?*P2|_uz(0ADf|b<-CrPkPV`iFI zAc?_CDu&Fl50Bqj(|iq|l;=Hu`%4ymLA^IBd(B~rlAL;-UL8FRrVS=(RN){6Xiiwo zhypkQ3dS<a?{19MBg15sv0h0_9-QA&vnmmb*E5#iFER_28D9DwRDETX4Z9Aq9sImj z2b41$kt}s=FTjpK-BF?(91{G<V-_dc>P<I;ONM}H{f2#Jrb~_z`ma}PcFE$%L2MI! z>`uGA0`@@hsf3^+j__^%|K$RZ*!r^_BV_lPE{>9dosc16`?F$umKV8Qh;d3?)72}r zj|BXiI&L$fTH4xRop|jaV6*CzJtoN*?(%iTbz$>5CrkU(&61}~K6PNnR{IrmQq|$} z1(w(uj1)!JPdf6(>a9JJayE<{gS#p1wxNaP+1%_Dfzo<v4f|LrZe@X!ZmnT<f?2G` zNlw|#Lrw#)7j^_efz3Vepna0*Yq-uzN;*~?X1g^FXt|W><xJaj9%||@1m<WTCfayc z1dQ{g3Jcn))zeDvtE?qe37(SlWF@zE%TvB>Tizat_`+RASfOs2WB{!7w6m)rS6Y?& zI9wqtI$j#8|DdTQ0QnCEu#XNU5<NN1aPZc(NYl&VQzH-j)mgO`!&+@unz;Cwvkmhx zRX~ZCqUA)csu6bA)$}}!@1CMASnmO@V@tf{$dN;sZA~K|&K$(`lm;_7n{#+aCYi58 zl~zix<EFvdXKivZQO^s8JYbpmhI4btpgL-JOx^fv@!iwtsno`*HN`1Pxj)Z6y0}rr z+qL!bDnA7)m!wbhCGdI6H=Gs=A}rqdaafme_~C@HqnY3dypNxpO)XZtKuEBl%r9JL znkjk(qQLM)tGhflGh(VAR1P=HgzRF_fm;E4mCg6(?1{yOiLa^-W!*V3na^#vZvUJn zc`kR-br!rl7z;*AA(+fY8fiXuu5l6#yasAW%vc@*bzaJx`{nQ=tv5^pafyqRmn=4Y z$5sNrHW`g;5KY^RT=934vl}}`3n%$VB!pv(Yvi8*nkc+8t6YdSK@E&`%l19rp37|! z$@SR+((~_g+hOoF2D?EJ|3Ak>uPZwk3zZpXriGY<9;CFy@hX@xs^n(9E%zVH_|Tc_ zW-7TuCOdPpEiI&Sm>3nLqHi#lT{|_Y8DB(*hnY-U8h2>xZ|g~ZF2A*C$Zd{Q><pNS zyyE&vN`)q2Oiw%33pNFLJsrt^(Ft$;dN!{QF(?@;OftBB9|XuAUn4ZC7iNCFNDFl% z7u4E1dw#8j5DGMi<>?~3WYk@%{~6lFc$lP7qW4;frL_F^peNWZ1#8ft?65cXFmD+n zjHM9<^`V4{j+#N~Mce`^1~9Zmv@ULKouI+`XEz!St!gZ(wh#TcUBlb@_IFbX&)w># zZKC9mVJs%&21Xxyp&n_PS688pq#f_)^RL>}7)rDRgYPTvpaWQZlm5dVRrUA(F+@p{ zVOMX4pHH%CY>fNRADp$PtiMlg9w{}7P<;5eK`TLz0{dpMlTATWqqKZE;P~jJzNTFq z*oFwTMjV-_)>YOiU<Tg*orE(fk}X!g6#|XDt=03yy>t2sVR_5AM*RydP5%xf*r)9F zQW%phKnDK!VKI2!cGDMRPm|s4*834ETKL0shM%tKC1~J*VP%zNwmH5W*1<>j-S(Q{ zbpX9VCn>ww8tf^4GP5WRO%gbfy%@<oQAEq8O8cqjNc5GE8YhRS;~`U9Sb3^yioYuz zZm{yA#6xBPb9CuwuIj+^kD-0&JYc3DF81G7nEY?Q=-cd_ov-1-l{=nr`}vJUaI;mg z#3eU1%5M3&761O5KFv+m&-wPAQ_YRd!e_>B&OjJiVMq&a>ryu1dP*t(#8mT-`8PfT z&2+NL-$4x3e>@ehVR$NATa4D^fzrX8f76IMA7FbWi(|)|Oig}(Z$&;f<5!`)<~MK^ z;V=J2#v2wus8DP*R9!xgYxOo(AV0ui{nCE8xF|c^XC)E>>5>iKKjKGSc$%@mHKtEH zTSo%ePER)Q=1bwXSU`4SAX_+T5p6V0rwo3VSviF|X?dRBXP$3wT<eyDp+ZmbG3SyZ z1?zZ{7hq+0adRr>6dh}O1+iQRTY#bBn{|?eGr-*bw<7FXvRYnoH~DMzd<GnoHJ0}` zu{8h$0$u0SZk9@XTSK`)eianQ&;MdT;%s}n_QV7EL!^&tzN9!ijS$ozTY2_7i#824 zFQrIczH+hxe+?#Y9lJ0Tl;_}&L>L>6ms<YYPX(LfEQk;t`1FrCfM>=*7xJe_z<NjA z`lj?5W(y;~ezd{i5B<TXFS1tg-=(4%ejSEIog(y(!=&i+XeZy$LnAUDrTL7;CQqW? z{KS32TA1?jg8RWeirX?hvo39>s~syNG}rTvUgk3&RBp>mQ#^Ol-eNTFnn8j^UT^ck z-@lD@LVezZ4h$6>Jt-%1_x3*}4>uV*r2o#ISECZmJo@wiE(CQ;wdxmnkJ1~;J-^-j zzND<dv7mgsoEJlTsWUB9_Q5I1b_~NpKz@Mct_8WVkdUC6q1p8pD*;IDrVDy!;mU0` z?E3Qb4dWT9Sw|pc*lA1{-b}M;=N5rds+G@f)n$$4vm54;IYO<r9I93g262Gk>f!B8 zaZxWLJg?eKR^Gaei{WG?Z;k!7RzHaTUeuS;q5ONE6E)*s_J!`Nxmw_gw#DZK@2du% zPvj4LRL}T3`(kv7h4BoJ&m10=6na>A`pWVYn<jc}pVAV`EotKZ=>YrT4I{yXqyH-Q z9ne2u>ANJa{GVNm?;TSY%=U8ckDpwNH(iwDvqeKFh9d0l_okG0OGSqj8d*IMuPGz` zb1OC{ob53VtCl|@YO2C;FIGGFmh9DvY+?*!D2=x4rEut)V<=9v_2NYSmG=+RM{I|I ze<e?&EzVIG@XVWZ)zc*a$W-_zFI%;*mDakb=Rp^3^g*tc5F>+~wB5GeMpKx*-{^2U z-R~rL%X>e~CyXlpA5&i$6$P|LOLq$h5<`P90s_+Apdj5XAuUM9fOJVoNFyoTT~Z<- z4N}rl(wzhE;Jx>~=i;X<W=?#u_x|>o{kUb(FN*n6%do}s4H+6>oZI2^9aLgx>SDno zu=5&^tM%kSJIusyM9{wkXfzDLOtA1@BwJzOIyZQ8D`gvl>(z%;9pzN~#lOxa1T^z_ z6wD=3jS|T0|HKUZjxx&rX>WWk<y60Ox7X58;d=cy>m`NVw67shWC#Z|46c$A{%wxl zcJbD=`n2|)gUeV|=ted)bm?rexm>A}^*9}<N~=q=C2F=L3WkwYCKz=(S9%tQRDxbs zOr}-vx+!rH2uTd=B3K6sQX9|MecF}iC`F{G^tN|G#Lxs{5#BGL&9ZpDoA>L5>tWe- zvP&a=kMA{~88?lB{?K47oHK#py4mCY$e6^7^5D{0GkG#hkIBq%!7wN#lq<{XPRB7W zwk_OR8sAFn7Iyvx>-y|8T(|bf^8WAejrpA?fxG>`(pia@-hO_>@{ive1m_24m@Rc5 zv1rY+%a_J!1OQI|R6C*oBV&wgFmInoVelGSb=|IJZOHEHkB84_TWa#kTL)Y_oZFg| z$0JiIxEy)EMgx)a>z=h%K9lL#7gJ191qq<a(+%Rwy?J1_)f-X=zwV2xL{anNyy15C z7(prJ->B=WXJT}1a}p@Zl1Uj^snDtusc?6GZD&3IOZGG!4mp>KK}VD!+<AFn=Cfmg zGrT0(rmuHwySl0V`*LC0>tfa6Vtuk>^QOJFQ}y?bB^erWY;#zFLpc0o>00DAa_PFQ z>>{JQ){Q+x4_GwlO;2)+6mUHQgxiHL7!(8(C5rd=&HU9mU=9KB5*3l!%g@iFt%oX6 z7dnnEmFZoUcl@-Li@7{5pD)jLeBG?#$i7R4VedEi8qX)wCi2~AJKZPlQ~k~ry9b>a z#Q4MM`YXtNd*R{Hfwv8)aIcd`mRtO`9P9rp18FW#GC@oeC5VH+%euq8#P=gZsMLW9 zHt1BAj|74-PO;4sPur6_89zz0L&V>Ui-y`X&YhltP6g1g)tMp@y7S%7XPw^`cSA?> zae!$;<4$>tUSp~hjUO6=5fFn6tO5*>a1Rl&SvLew6<m~fw%DRTIRQu(Fl&L}KlYXw z1+pV{A6OQ{y+1cG;;(e2NqG0M?}X!f%Tecir@W@k%x~&x^y&t_Jbzy}x#8?vBiW45 z+jm!qWSuv9j`zGb?6=Ucb_Zx@aSVQb4G5Ru<k<Fb6cixE>T%I5y3xiJ7mqJ~w2R*g z)GgDJ-~{mLBcT9y6~jRHl)$Pb2=U^UVX$KTw?3X6?Pfz!OQK)D-miZSLbbaVH=jJ0 z5OcWJeEbeet6NYIHBxEo0R^XuDn=%#nlex^_N0!i@GJk-t(ZX`TTDIwj|2uYc3>ZW zZodCotoOGn(p;>#nQcjyU^Qd11DRo4VDgiYZT~L@%-3BxX6EhNolkXe)dn0G9FIQY z;Q`RAxjYeY+c9TeRCX`$50DA{U|)L{A3fmDBhOP_aZyDxIf_DV?s8sY$Q-I#va0J8 z&@j+aRBE<s^mZCmA2qus7~>8vb#0e$Xx%k(UFU8_#B3(Pt(3-zp_bx*t7ehMhxi1A z0c7E7$l6Jy4+gXP-tu%gH%TA#L;T$jq(}@cnwh-BBShP`F2DpVAV=zEeX<v*vnclO zbqt$Sx0;Y^WbEM>_U4k+2`{I{PR0t(^1V$t_Iu3E^yZVR^ZTJvNp~@vDcm%w&E?z( zMVOBX)sle*@Rv&&I>V0E``H6Url($E;pg7a<d>&j{X(Ld-k#iw+AS{j2XE4*sRuP- z7E6W)roTImJgyjnaFh5DW7*%(<tfvDdX=^`0rWx+C>6V6wySOlKvk|x1SN(Z|H~ZD zTN!Xu{8IFif&mhusaa*fK6Y>b+X+)Eoi)CrCg7$j!Kzm3JQl|PC$XPwV_w;5_qv`c z;80goc!^=L{w$jN8SJNEMDprjh4eZ74#pxoA^9ILLwTNWAfGuNSop{IaIXFVHSK#y zQYUnhRc-oqFS159kEVA#{fiy$W>r^SX(Ww=gX!=xtwZ0ALs$%S&Ha-!e)shmKJWMs zJF!!Kw53buCUj45dH48=o3dkl*LB9?%Nsv#(XG|GZ`1Qu2*fUm?_Z#247f2A?QBkp z)XW?Al^d6`NPH)P9@Qi%ZQ*(~pp?94xV_H5c0B}KRs^qN<*{(g{{_@t1eNea2|Doe z*tyKb0nVCwcyZ?41L}I#iF;bSE+uQ{gI?OR4`JdPJ}^Fn<*Vr^UJhoJz6*n-jT7HB zcZ*Bi*vDz3wv%p8HH)~Qf;>O{V|mQ4Eo|m_wMvFezy8oVsd4nd91P9;dfPnLK0!W= zfg9T0Bl`Jk<F5M1pu4v4cC=4Y%OL~blu>u&?7efpAM&@e4URCymxExCrYIDj1crXV z=KjF60RGCA%R;;d@dh{v{l}VRHZVrzYHD{QGQa$VQiiwqIJH<hVd^U;0NX$nUv~_A z9Z<`z){V_cTlkb`DPi+gx`KO$=fx5t!ZwrXi>D*Uo%N2d%z?`SbkGc6UTKaxfAD#0 z0#HsoWZVyy0w$3me~&!UJwtnwQg6iP1m6bTh(wqN1)XKxBbKTjpYP6=B?tI*xUP>) zB7be*ckq4h#t5e&bizi0@5G3E9;G;c2+EtNY|a@tXlrc|TV*mqbhh}I3nrAC%cWF_ zqhx#CvsAbs3%iI%0;oGQt_NU)q7FF<>I;R!%QnnDEV>8|`7Vztv&$CApPrbcZfJGL zjV&WL8qPyDihCgy>@eeY+v1m*Wjp#WNhU<u3({GY^<))&%KnY@fcX(yF?w^+E%$Ji z4mC|`k-y7Q+q-}Wyd$Q0%0uYiV<DcSKNQKMfjyQP19qwCvX|-WiE9L!fmugrfi)QA z^1kri_1+bpZsWK?%s$%<H4!`YsDHNg+!<h$v7H#kF>OCYnP#Z-lP41}x4`_Eg)X3& zKvVO8{n~p_W%57XTt9i)*>RCzckig+OUflb;Qxy0Q$73ks;%!AlPW$JPFtz<DwN2) zF&6|n%W+_nG4@u2Wv43li<Igw)g~DrdiXcasCMD~V|Ua|mCRklzdvn+`K~GJIa{2J zCLH4Qq5qo!D&i2ET#VV#Fon*dFYZ6#LSs30pA!N?adFP{4yvOo?4#D%%*t`eA;zNj z#(~E1CD#N`S!z}d@u2o-KMbqGJNXsK!$iP?g0BCc<qojI0CHP<rQ;S~nwm5YB$C%% zHmm;Y{CK~1T(@B{f(y-?$P&5LIHx<1p3`2j!P_IxYU}_pGO4G88rI3>_GdH1iFG(^ zLp$2{iiZd6yt;L4j(+x=Yoz-d{^cx+1m*~72*Q+6Gv@^fY?M(T`p;gxOk>oku<2`r zSgvLbdVPL9;QtOu%ePr?c=7=${d__9lt(uJoYn_;>E@xd$?ue_#m|f8Ds2vz9jk^@ zn?~d;4^8}$(wHe@i_tnxH&i|2fzE=-93HxF!Uub3!ayesTp0diO~I9dlK&~k;N|pL zw!zDD>gab@n$*?zelp}Cs&<X&7UTcD(fqfipNLcKBp(Ywfk15ZKsybEa!LDOrKvow z*X))P0Z0QM0Ggf!JDPjE*h>8ipX`XirwnCH&D$1XP7w}CBNJgpvU-O{*GJyiA_YI9 zaYDOIgik$$fs;_^rYA7fOD&L?cKuv1Yr}n00WbW6`A(tzq|@$0iygQpIVh2T$K2=z z(ng=+KNP~vAeD9_iI<~#c|MI8*MZ1u_SnABB}Fjdc{1e|>TGVCf7gy7YR=k$^@$ea zDJ%P<N7}4OFA#nTVwRxuU0x)|40gc&(Q@d%h7;SwfLkvv?gHZ|DGQu9z`}3jgbTiF z{kI%mQX=GV-;!jsujS66GX+W`ZW(KlPpYMuZ9>M~8dRY5Of7&pMF3NU7llg))91gz z%I}tk^7+!d5D`@|M3at!khXEIY`*Q<nE>h&g>`KO{ZWnxsD;j4zU{|nc2Kh=hEnZv z7|X<34=Qb81*!3FQL&9m`HQrn0Ox1_WlZr0>L~kWuNI4i^wnx_72TXV<H~mcV)}It zipEWofSxw0faPi~-V<gBCfb1(Dr+QgF-9<WFw&CGxQE<L?sPyrq2S-#8aBXWlqPIE zeXCJkY|y}m-_B)Rd}tc*RdVg0kEPaff2yJRaZ3p+c|VcF!Sb;L;9?}Wy*-+>I+iM2 zs(*o9K`p1&_ZHh<>@72hnXh}mlddnfEJ3&8y@C#E9EC4`5%S{8Hc){j;^w93@}A?b z^GorjmTC}5tW)*Z-@2k%0@)W$`89m_Y%t{x7FVRIYW?znJ-*SY)!s_ks4e{&0_0o3 z#|07L&9*m`n!c)yhUJWk^}-|A0fegYERE$9ucnJ7N$5Q+93`#L@^mwEzI_r#xSH-b zqPU#C-&nG1JGk8~{f}~l_Nj&^f*U0|Kv;mNLNv?q8L3_IEPVHm1k_QK*-%X0qa*a| zN5^Ztzxr$5PBO0-wa4mN>$7*J#lnut>^c)ojJ$D>?e7=vrV=SWcif$oU69y|;tORh zwYgutQ8&sG^=G?2`J8$n4q2$W=g^P_Qgrjd3%JQe7#N@pkw$sux=Zcp>M9qDI6Hk$ z+tQd-vx``iQt>U>r|7%f{olUBv5xDivJ3c?c6$KiwiEJpJL2oJ2XT#4N8=!m=Jo%? zidw`Oe>B_?;$8NvmM+y8Ep#k^df^+?p+nB_QN8~qSL$>jK7*xr4*JT;)k322Ba7Vj zbE4Lk3dBZ3w8EJEAHo<kw&zm3;Et;j&(u?)?9dVP*LX945>>Me!j){&Yay<ztgHt{ zGe<(_`kf2@SFJE21ypxP+s@h;jnDQ6>a<_kl}yus)CVGtg#|-x$CVzhlP`_J(0#5| zyUyRH<5yio*qFhO`wqGd+bPM(O<D}VYLr=o<ruL2exoMS^sAk)mFsn9L`xhHS--5b z`IDRW68?vsA+Pz6SW=DU{lx+>nas%OtcC*Pm`TDGB@6KaZ3xyPUyH6!!0YifE4UxQ zhm?OAsSFKbhT^z*T%sL)e4wTJ(hjFWQEkG91P;B?P>t7=<{>LFD=k;CB+?@35>p2$ zskpePMXtxCth7b!IBH3$nSEBeLTQ30$z<y5o`P0-fQ%<_{&-4^3u>Q%x~bM8YJww5 zD|ZotoA-=_HzNO>0fuUC^7f}U%Z}Qr4*XnahCk@?>Nb4i8`Ci2y&+^yU7y)hvQYPG zc(?SOZ^1Uv_%*4ndl17ObwB+93N$5c^wWd7{_lhv0dTTA202Ep-`mQsPH(Dysx_<; zx!ui~>RSPR-cta4o}Ll|ZxcYQ3sX0^6`nRF^9c!qaUGX?xp+F@WnhsuSd;W9xUQ+r z@GGm1_1}97e<gtlodtHW<~JUTKTfo1TfL=$bnYT&g}Ah!4kAyCElTE3nREWy&Sf;> z)ITBRPacb6Wo#w8t0iHzdBp0u_aD#O=7VBOT+w2>)a-7GhTQVjV`e2oW!kxX%l$iM zr7ksNZ_FQHHcJ;ar3r#qc?0}})c}^5T*|1E9xx>gi8uv17*1qofP};n198#pgUJx8 zjB2F;`+F;qRMt);UTjRmx?B0_(ykj3bL$>-gn5ePBxiDDjhayU!Ba*@&hI;Y2Sc}? zD~#c62y?j7J$V)S+SI-I(;cZ-2PE4UGYzqvFTuQ~f{sON(eGz6++ONSFIVpH=j+we zW-Zt|kyg1M*0=jXc$#DqM|_S-0}NR?aniGZb5XiEOH%}W0OfNxKFXjl=RB?$+}(C% znQM_bCfUPwK_7(VTRyitg9Kxe*`N&O%b9EM12j6#;u05YV{1UiG1x9Cs5(WWMqUpL z4nZ_ih5v*G#xU>0gx*?C^Wgqdy>18M(RyX9qG5uFSZk=*OHD8!HT;N@3dc!a8C$&g zx6PtC+P}@c^-+gF8kXo|*xN;s-`AZjaX|byx9C|`rv_gyXY!>2{rTJ7u~wB7!{01M zE3MOQ`92+|`rHQL<R0g%X}}(*T8x4}LwV%}R+%CKHd=EkgG!F;>VDSyghg)n`u3uT zHPNjoc{_7q4Yh(+z%oXvTq;^BYA*$mnfE!`tDi*mC|xg_7?_*-V;B)(LEnNY*u|<% zB$v%z5#h9x$=fND{v<`Z<Tu$Rk0}JxZscdIi8jXjkkp3eVhzpW_~JaZiyHyCzRV;& z)}s9Jo7SbxD_FlkkfnIYU?clR-_hr%fl_QV39oW@1XG8YTny#v^r&XEc%o3xIrZT2 zH^~;{Lza&y`%KNu%xI3{(BN7=*SJ~Ci9+&T9!9@e<<&I9VY|B4E*;K94Ub3>N}qP8 zg;4jfutwyyXjSRdw%D$pczW~Gjc%i`407=(y%bsEWvNAq=h|fc5;Kqb=Cl469K14r z6|N5rNJJLJo=LPL-D$`vs>4WRK6ohGNJ(|Aas<LV9cyXkHw&Ccgrws5X0eK4I%LBE zx-;$q{M;#aN~BM#vCQAM)VUQt((?V<H#%Y|S$Iw8=oj;*8xm?t#)%W?)BeVqTWLa6 z3>YyOP9xfB%l)uO*hD>eGr`-sZ5HrBAY>}YN!W5=c@ztSkvlfSx4My3hA>zX@ytu) z`O))IEDYL@lo+GiF8M5qBb|{><OQf~@;*Iv^KXM~%o6br_I)Z8<<p;T?V!WlSfns= zi5hBt{ltfaxwJH`Cc-JBu`7bhyIvwMS&@FWZ9L&T!M%@IUzI)mjWcrMwjcSEdd!uo z8k)P{AQjI55`H&l$ocHKHzk0nS+I(ywz9|-h2=4PZ`l(TFu+pDMz}X~rr0=;g}{ST zzpwS$!znJFk6-6Z^9;2gK+%sv73S=Hlh2Jl`clLcUXxi@skP7G-Q28@(5lLynd)Rz zrVH0WS61QqUqm;u`K|o<PatxZpGu6L;~;|y{6rYINLZ(WejvmYSS8=^=5fUjuB%l< z^B))!%W&eXrGAuDAe|rQv5Z=Ku8tO3Zp4xT5&-zvNfyt+Kdq#aS|`161e&aoLORiS z($}de4onv19*hz1@JlHe{Hc2eCP}0o)8<h*rgDoD!}#6EaIZexv)c|ZoD=ho{gSKk z|JbZ^@7FGRY3nsulZ$V7D#TtmieM5t+aIh!A7;pwJov$4wg*LF6erfXiPBq8m{BmP zx2yL1!CBq+!-vy+|2H8{3aXuCk<TugGfY8#`aJz&=?4|cXa{a&Z3RP8EyH6h>*LWF z_g~wLm}%PapB8E`s*DBRQ#frgmwe(?$Y6`FH|`Z+C$ePre9rX^xMP5c5rufW7Oi+w zH%HVUw{MEcWBNtc9V%`RA=_Yaa-mlf(lxU#d*Ab$8mU7Nj-0Ph_r;x=!>DmLcchM~ zp@Y#fCBKW*e3tIW>8~C9h;#$LG6)RP;k6Y*N_xA)MYIfVrf5zlFe67XbF4mP{|(jl z@zB+waJUeBko^fq^wO~=Vkzbm9bdJUjL$hV&<;8q*T~&EEIBlw+k8>p{%B!8U-^B9 z>#ue+7uHvVFHyvrnx?v1IT9zTpAtSQOz_y*+s{_K9`_^@8~<4Wjhr~Y$F~`JQgHb$ zUSnnfJ0)PBF+!$T8;$8zUMaV?_hQGV?eB**oHAP5zPSks-eW#1c0S&Eqop4k30ky7 zvl_a0fs<mB0bYpdjH#O{@te@uHWGq4L^eYx!Umbq*SndFQ5+15yaYu??Ws39RK?@4 zbcy|?ChU~Kb(JzL!}e__3R1GkfaGO9RFNpvaQv>W$&r=A@43GBcdI>`{EcTi0dlq6 zD_`6+Gk+y0yo>ta2x|yQhTpzprG@+a@~T_Ltv0qmG@GVNdPZb9?Ye+hgDlRTT=Sl3 z(LhcGEl5jzytnIf$Y>F&t+pfxZE;5D*kAvr1z5`n5sm6o6hdBQw886{4`|dX*-ITQ z$buJJ+C?qPyFn({VmgIqjQO5(oiNy&ZrSzT)P$xMiE4?V%vSI$+@Hg!DpzZl81sA= z8QjX$ip=NhfKjb=>bYz<ON0tB<7BxE8_hQNUrO{Lf0b47hd;k+-z}spbR%&o5;Ms0 zx#!IZ^qivenJR9#KMh8l9zo%mAmbUI$5tP-KsZC~B6%9UeF<&NQS%8ewz^oT@2YyP zXq3vh!|PY!F*T?hrlud=bt`k+zCGz}8n0+cD&KJn4tiz9yy-f@vsXaA=av>Ssvc6m zk{|U*1BBIX&QO$Sy{(@tR#kfZ=J)y&JQx88A*No#7i8#Pcs1iy`upP?A<RDe4A@r) z9I6G`eO0E<);Yc-zA)G=P2h-r7PhMVg%4ls*`Z*^CNvFodWkt)t2H-AJ8{J@YlTyY zVz0g0t|KDS{TzdkK{`x6K8V9-1>56tCDiF~St3Dk?L~*hZ?b8dE`Dlmi+A8`nulc2 ziLVOBsAHG#^Q+_j^hSw0!@@9?N&mL;mo=%^x&^74=BJ6V=V1Fsb)O(te!(*1-_z2& zwR$bz4Nv<r4l^0RmHC2<S@TU{1?lD<H?lLhF63YjCla|2r^3)NVWfN4u6CBebTt=p zL&8b9V?#_9g4oUJ#`jEVLIn`koH(%CHOShc_W>$`@Q&_CSESJ?oq-?x?6TMRR_4!1 z?lxz`qblgPpXZAS9OO%{bMsJ0XowXRJqpX-M_F4*oR_>mA5mD$HDH(10}xba)kN6* z6D?ls&um8F*y~vZF49LW8fV?71Ir&SVWm!J{Q8uFz38UpFKi=Y=}KINNSmy}Bu+WI ziXkUfu9P#6Z(r=x8TZoeXsQrdc7Rc&e*;o&2fiHbCm9FJqhF*h=R4r~t@rSQK3u-v z{uQvZl3dYAs=(k~?MKvJ%SOVd-yR!?J<`)hY$(_@|9AO2aKhYIGQY3k3I*XIyxe=b z`^@pfn^(#3V(rDi@gmqR587Tx;vbw?BmO<@iI06%qTVuQ7kkX2yF0uWE93nnOFM!R zr*<6m<4h%Kgs{zbhSNt;R>H`TyTee^R3>WAKZGob=g@?;pZw<H<t<0N2JUP2<yj&} zpCGHa4e-^l=rAr;H#u)A#R786$IxT`+!+y{&cwSIa&4bH&s&Axd@26zbjk?tM(%Y8 zEX|gTfA#ip&LPS5+cFRe9yC1C(tp`EKk}YQ*<rt?1OnGNjHlW9eOf-^qCEtzzEVV~ zws<Rli%AtU(n|CsrEw$GR@O&DC~}yl>!=k(<cCu)rG>N_NOUTke*dd%Z*{HV_2+JZ zO2XJTp*O$3Kl}5$cpslqk{^fN@U9_FgqOew{;qn|CG<C6-b!%FjR?eZPrG0(_gnS; z_9nwUVI8v8ucH$GQBWzo`2Z?~<kI=?EZgF!7#7oUZm2!4{bR4FDc^KeqTS3`v|<0! zPzcCI({@cqJZ;)=S>E%v(-3RzKD^y(z~cI8;?<E<R=KY&e!27`ZT?+*60?42D<6dI zwip5*b-bkfQI0x@uS#r9v6w&`h|#w%iTa~F2#Y|`l5B(L)RcW0w_ChsHmJB*$Htw5 z{~{4BD<+P(8)k1gusTX@`#XGsw;`E|%>jGSwEOwOLFc2Ad9ykrjVjv2cO&k$QUaNc z*zl_w#0m6A41;L|wMbk~WbJcvNTG_952uFG5shKcxK#C>D8ACfs2wk0;{Kj_ncy)* z<Ff6L#A;S~C#&<#&RoS5*8ir;mR-M(88A2+kmnX3XHdp7PdH~&gL9(c{M^raG9<aA z3lEzMn8t@auKVzXB=+?AGqmqyMn9v_H=jN%93%H`Eml|#%iB7=W&UCJ#%yl%coH-? zMJ$3BvDa+H-`=Bv_opvAq{!s@UDl4ih*>^$Y%ZojsAOb%6R1ek@wczb>;lDwgRSJ~ zL`}EO<VsVVK_Q1EHi5h;(Z(O!;z9!aiTAq<h-y$$)siWLZdCN454#D9W6F71o@5G- zv{1v-ki$RShs|NKIh+S>R!`-v_}#yKx1%FNzE~AKznP_1Ic_z{%WBh^)AIp~VBiP2 z8^t0ID31bY5D+4Ia}M4~bWmdSil8pob{yyauyhO&AEj%}s%%;!kc?j-b3v2;3@={N zY84{iwDNEk%>4L6A8vx&?z(iFb1vSO_#(Z}QkRs3M(P`i?BZB)2et*D<inywwV+1+ z5y3DTB<V~+rsXa5%|H7g5X)m+C~+WET-cEew`q9(ib6{b8RuqiIiEbxcMs}dAKAJc zk?BRSaHWe;0`qXHUlwW1!f&$hJ1>E1i{D0n1Z95rS2pt6Yl(0y5}Jgc&mE9@s-YlE zYn22Wu!riES>F5bsr@8JxXwZ(%D*Ng!IRCKCl5<zJgiT4jSv3SY5Lak((Lo-AdG}$ z)7I7bz44!=lbxXTAoHLQLg_;3(DaMjW)sblDOJkxa??oxyi~+54~wQ~X+p+yLY3JH zZbv-B7aeGhURm=owFDINlkcW@bt>YO@%`_6VPr)YFHO$$Pn&T5?2P>@vhG^bvkA<d zo`L#AD>4a}5L2HL$S|G`Hn!ySnbFPE>hXEUr!D_P3+$xF3h{4I87yAe`fwyH$eqs} zs<=^g-w`P({)ue`MgLc=k{_Ew*zcT|Ok+B$?xuZjg2Ig(?Obk<;9(T22aDX>9OA>J z$?r_6Ydk)=vQNSi&CifAGHZRU&tB!ktgY9=p0f{#Or5x;{jK-iigH4E{O&}=PmbI3 z(C(mI(V9Cyqx(rt168y-93v-zkG2TPD)UImlRuzg>Ag(Cu(r70IU9{P1%XlermNvJ z?I2f~f8NhVz0~jj+AXl#>NvSb@jY+87Du?X;D(qs>+Q-CYH&1;cfHx1PHj$<iVk<A z@9#qD;ZXwl+7Mq9MkngEVi1KNP&23&`!N*bQ*E%kmi0jsL1JCgGR5iF)fX2At9~7N zPZK?#30vW%Q;`QP-5alDz3BKWM|q8zZIzgPi#}@oQ$pdBQwFPObl)p-VsO6ABTDrv z<rk$0Q2sazEL~BH*KSrZG`h#+DoekvF(WQSl4NQHPKbJCA>qevi)Pl`{PYrs$`VVl zIdx9BX5}v^T6%XBRsz1UVj{fV@=Nwj(2b>`_!Z^MJAQzU83nDXuFJ3>|0R7|iKkOj zvvQu(Yk?bz?-uQ8ZE^TJVyW~abVZogtYfutcgTKLA!<%m=9x|czY3xxxxg?-F*w1X z7oowZI-xebTo=!A>wc22qOLi$f2j#<;7`T^hOD1|ZDTHfrx58xsYr%;u*BSN^W8-z zlqLT{_j2uZNJj&_7!p$DE8He%vd8lly>!gf^pvXXx;g4PI5!G~Rh*?I8s>~=-e5ez zqfw#>zW-w1mg_yGt*fR)4(EX3>%nT^5o(B-`uQ_LpVMX6g<xX9I<EVRt)E_gnz#qV zr=0q)iDr>#s0ib=NX#WZE3CtEM_;>2tKHlbZ%<)HRx;o9u@F`GZtBrptl?w{ZS&nr zkb(DGS{7uBGzLzO_EBWn8PFR4o3vy|pXr!4ELB5ay?Qlcdcv6_jNjo&lgsofJuccf zhh>h0<{)4-XZ9`xS+wcNk|cdva8D09EiPgFB!OgC1po6NE2nt^-qytzSq#b)T2Cem zyQL;nt06{5Rkb;5KfZK|9_R|m31SxekJ1KhztP3{`Meb*wU$R<8B)x2NTJym$&JQ~ z^tkvZl5C4A?W(maFO(jYX<-8@My;rkReW(xXAZg?u>B|ShY@M&ww?C{n`8he7#W{Z zB=MmWy|^a~eL2hQwYbq^b8z9FuGO0FQ)r{|v_MF#N&8Gn_4YmG%g8{~ad)iYAxyJQ z5U^dyT}cA9#95rOk%G9KW#bSLyB;47x5^c1L}Xlq-3TYmsq4hmKejQxtr#1gd`Asr zdgYa#UsNg`-=s3((Cb~^x^&++Gi%#^F7Lr!FJKhK0QnRRD_cmRx$YfVo25TaU|!JY z$C)RODR=giU#xt(Pc?{~&MVb6B>?>vRb_Q!b|HD}*mE1ghm3(Yd+4jef+uUw0eWBX zwUaEGHoWr?`}8<}4%11#;Q!M!YzFf)lpVbjPbDEZ2mr6|fU6n3rcyGsi$y>PDVWuj zR=`45=>M|(uIDuEeycZp%G&#}uo9?ay7ND=8H(Yj1&F>P4I-y3FF%Lhz{)(lXDg~_ zsBG=I+i>JHyj;H_Aw<6++J>P<-BFS!yR|5x{vhCd_We$jocWba=Un0gIH8X7MvlV{ z@nCO%vf?sK57B8uygFzC_Wh)F5C*aePIqN*pRd^Nx!X;63|u{sqdjNF6GIjGr|EfC z9v2f#Gd6D{Q~C?!Msv=LzDQZ;%x3eT!HO#-*i+@Kdp5w`({$p3_hlr~`TkCZD;bYZ zrp1q?Z?>H|<gus!-)6->m9^+R-Vl*@FEm|guq83?ej<x1on(;=|9SOU+J_ToVj@X4 zgdk+LB8N!Mhe2Un;({eeDH6h*?pFg7GVT4qqX6c)Lri<_qHwysG+FFA@IHq8p7y<b zc3cy5(fFe&D4snxb6sNdp@RYuA&z?&C+zVA&zM64(58Y$IHGs;oAEAA_Y6q@Kfk?B zu0LgsDVgCpcj2XpuG`nhtXgMOp$rSBCpUv*Xa?tI8s}`$Rdk_~*uh9(MyuFujvqLR zN3X>Wu77hf*z!I<ZyC-uSSoi$as7r>0#ga#rUBIv%J=Nl!;DbT&;#GK_vKmPdu4=F zxE2W@IQ64Qd+@u@P3SFqxt~n@@a`d08>W<haseR$qwO|z2nfAqW3Xq?!D?eRg!)S$ z@BuD>_BBDynB})}9QD$8`evtp`&P9Y5iqe>m}OL`8Sq})@AdXR+9VRp!Bcgni7U*y zn1x-aonxl+a2)KoXONLTn&s6VNQ>1VP0R_e|2ZcR+u`SdRdHp}3G0ZDgu1ihLI>x} zdY<OAt>!*fuW@i%Wfs*+LfI7}ppLqSR8ZR0m>RIs@E~(he(xMUJ(*sJ&g$5An;zN7 zyhL1t7g)t?g|XxY=vA_`;2p1jwSH1xU;mBsr?_W~1g!u;1;(s#a_BEyKt}MSDb2gd zmTE34YlFpK1#p$mbz0j*2k45vrt6U34Hp@Un$BoJ#VEAqxW(gh$`WNQQ;-D@CP1kn z`NiM4DGK~ZegO?=b}=i1LI6udtOa@Mh8V+WO!i+n4*qg|mQ&jfq-rY33nAWz1aFS< znXE0bxMJ|DG5>&kHVJ`Z0hugnkdFjw1XAXvFZy3x#W}6&y!|W;Ox>iokxkVijmoMj zQ{&C#3qVkUpqZ0rFtEXH_XH;w`B$;Ldjw`o)*i;Y@$IYlz&nyaWr78)-H_gD=syb4 za4Jsw-jsg43MCxhaK}ir45})W^hlK$bh4eQknhn}l&mzc|DawVYNgQa(Rwo+Akw@z zdd^b(JpE88#g%T53!F~Y#0bZkbm*eLGOsiN%I5-dYq^@NzjAF~=kEQ?^5d_+HSyyJ z`Y{Zp(7?FGz1GF%yxCC*>^kV0V)Bk5i!@$3%uqVf^mM&HhnMO12c`B%g&VlQQY*E? zSxe67#!nVIV=!m#M%KRsS&QRFlgNDUH|nJ$^_T!ncPAI(dmIieH|3)Q+J~C*Q7lI( z4{Dex*<0SU(KBVC83XoYn_-6G_c}V*cq*5(m1t%DvD1?OvL8TerkDJ8@q~Pj0kKPf z0$@{{x(EaI1*E?$rP`{8HKeG)f6|<<Nt;nkna=t!a^qgYtmfH7TXDAoq%jb{LHOiG zU^wlnJ@}TnVab*0P&5E(3;xc*!h4iv+y6xv9P39tXm6fKLhy1O@?Xv$s;xdWQQFzX z#cT(0bs62-hV$0iLQ%A8K+ZpF*Yz(CHg;|FIOG?zN~;DjJj9G@s1&ixALphS^_8}C zJ(mimHDw8i`>KXS$XIl;hD1P^8vGEeOrj^(c%7adAXMO5Bnkr@)%ppL+&*&@4cA}v z8F#&@M7aK|>rT>7E-uzkIp%uv^}Iv^c}th^E0QFt{Iw2QTkIA<(;i225j`Ll5qWGh zNfr{sG8h5=V2Blea?nebJ_5HS>j4}GnS!$K3hyxwPB-2jkR5e%(kKuS%T$%I{c*a# z{<3Fyzb@Mlrb0Qp$S;MF<}B)hC=~T{tBs7uB;%AovV&EA^1KC&BG*?JXU_SyB01}) z++)be%Zz)$XI_uahHp}IN{_FE0q_SG?bs_TL`1kU6V%P*JQ{l&7A~UvYt!E&jv-vH zGQ|IdJb_QpV?D&#jDHczTBq{W1kO)>9NR_t^uEuIE*vNq(?VLf6}W8sUEr}8Z+ZPM zD&l2YJAYkdiXoJJz<j*LmSD7h5WG5rO*USh{BET)n#$JH(`x@OQONUGj+9N=nLkV8 zSPpN`z3-1EER#oPZQOQ)188Qb%7NGTAk3Zp{EcS`M0xm`or#yRhj#UQHhW6`t@`)4 zHXQ?kFp^l1(Aa3C{A*u9`W~9J4yC6lbWag;cA7ITzE0VcM|E><ZC363NC@&mL8!N> z%VxnESg&@R`JHxg7&6p<Fty{FFlgZ|C*Xh%t$+{2B$jo$|H&Qx6ehSl93xRo<HYn0 z-=<sd8Re6$i*9+Y`=iU0&b$2#WgRNf^D_|>GPG*w+GWW-MaTJfX0s&-A!MrPttY|Y z^I^{hv{5*X=37?rajQRC#fSiBN4M{O+0TGHo2)?+K;ys0KWX#AyK2{*j1>CKkB>9z z3N41dCc|)kqJ+_ahaPp&FJa9cPp@>!X8CGQhPuehgE`GM6-|{G0OKGSupI!@$s^N! zA?8!}jW>2wwpJ0syHz{9v(sq@q0GF3tP81%+t9q~@VPD0Bv;DCgFDu=h3>U{M?vyK ziZ;v=AB4ME{OPmkWr5KuV=B?~-xNZFLf>JV!Zw{x@Cv53SzkDOp7j+{R|Ci=DCJ@e z+p=5bM%T=*UQ#09DL3i+-Ax4^bpe0=oLM_0guiFa&z_`rqdpsSR^rtrW>lNG4K)5O zN*aGZvwhAcrd+Cw4gl^{o)7}|O%9wgGwA!!s-INKw@w*v(I|?p2@h5G71}ji?px&U zq!PRI_s@wS5B1c%<01&>D#X2al>6q=s?v3e?xf?ElbSes|7{4F-eJYSdJwC~uhvCm zB|5aYl5idRg@o4I@3U{}q1fPN|7$`(@p}n&8_v(1Hdt-<I)?hsS(^SXUdBbWaR&dq zu|(2l{K7GIn$il$pnga_BOxR_L6ymuI&-i5#B&~3yd#$#H08)YvA2Jm)Uf3E$Q4h2 zXv>Vh6gla!(ot4wdp)Hv?E;675eqSR!wh(HFetojm_OGzXW5M6L9fG;RN>Fm5)TQq zMgoAv_bMAHa>|GDn7$l=))QQ9x=oR4Jw)0)kIg6WXB+9JCuUV!PinVt(>@KLlMjQ$ z`L8xH+uCvOW`miyQylNW*5wj*(HY5f58&4sx(66vROc#M=@=B5p$D(<=>y!}p^feJ zk^auwyx*It@m`7x9eNMf=DYoIG(R##F1qPS4UqOkMbvyXOz=b^j}l9SnIFtu(KX0r zJQn~fKwg^!5UJ;WG3wWWmJc5^nxDpa#uOxONG=2ob0W>Mkf^$GO!p_r$^6BUHvY!Z z_2c69zSqsL?dE93`~XQ)Z|&bgv%krCnLn+tB`S`r1n{-4qI+y`7~>+mEww&3sgu~# z&bwa0AyOZ=5b!g-JbPZI{djWv2+n<jCXn|*N1)JbY0(~Wk~Bw&gZVNX-wMI^jRn<I z|6Vc4wtroHYxs8CJPB(Et{=W*c_e~hmeROubb3SBi*Zhzx2cxyM+585=X+t#oI!n( zGgE|+sMuY_x^D@!6+R)>@Y_{>h`#}_xdEa<711n6)4I(hkjP085Mig?IDs`rKrj*b z&M3-15->Odo8lNI$Jfn&R>M!L{ccv&{g6L`al3!&Nha^aUr!-LKaUd#j6YbeDM`7o zK$3P&`(flrmsEIUp5!Ih5Xf9NygdPlnrumr6yjA_6X_iBRIjZJPKeh$ekOE&K?;f& z@X};X7lN-l&%UUjE9xUlkYEKy{%-}pq5DW?^g$-iB2TrMJ@Fl93{;6hj{0yy4cpCH z5PheL<%fGc1l#3R=EG`ytA*L76brYhdxyb2FxwMtF?!yT_lUI0*gAFHwj?650c*9F zLR@?OaQf478H}KHHs<WT{!EQn-VlZV{go_QYQbz)AI%Cxi)zeup<e%5Q%*M67&ULf zVdAzgmQx9PgDgq>KPUrG8vP_>!fW-6G4c$CQPX3h5z<sNYdHlUo4ejz4Jq5ZchhOo zNDzEG@mV&1|LvLR5Azd#)AwrdY?O%-IMlRF#H({^5H{s{6XphW#G|*q<sDNXXwz71 zcg`6$wJ8qUgbz$0AH1BIi8%dC!FHF!4)wrmJb?raxsKgM5z&4rE;d}}lp1f$;{r$= zm`o7iOfZ*|R{d%27K9O7s%_(jL@K*9^uOYc49-Uzy!rtpx9v3TVy1}T`3i2dQ1^!N zV4`&@feaxi88ujGvtmeH+#_PF?vAIvYQX(QILl_vOX?0^7(7<ploN*4zmL+Uj7Ubt zpf7v6rCVwG!WsQ}3CG;Ma?2U}D3z$Y85z7`!BtCQE&!|O>CAMITI<t4602`wdqu8( z$3=ty7RQRzzeGY>M<&peOlXsYSty<f_CRgfhD8;jMzY2(U;+^B6+yj_?1nc>M7+)- z{U8ZJb_1x51%Jia)cqwQQV1Tx<Y<O>2###}3<s{Gc`tN_5a0#4N2BPr646S^tHoYA zndJ*%$D<5Vboy1O)-HdP(zjIaKRy&jRyw)&xvE=P54ep&d}~vCfrXikK3gGwm-|Q* zU9XJPxhdV3mIB!2m9M--l@;wXl2{c+mmP|JM;U6szA4C;_mL$6G%gIU1_J~_u*@lA zQn>gZ(C|=oN`|-#3@;p-7WnChJqI1}zL53Zkh9?XxlsMAI=e{xcwk|b_MS2n@Tu0! z2^cXFDf%kUTl)OU`-?og9X97VVn(W#JuiHN_R@ve=tB~RI=snD1!C#F^S)3@>D;Xq z(?1z5$M>U_Ckw4;B*2atafSb;P;o~a)!#{D(Sp10rIqM^-75+e-MAhgJ*Uq6dwpem zi-&J`U@ks+g4Fj^Hb+aYi<cK|yEKs)bSY1uHSfv!{x4Sco&b^P*X+|BkV-tK>aax5 z9LL=1GrEuu@zYL(A=aW;%N(N63Fo@Uj8v7f3ZH`uHxDw0x;g#X*bgC4J`83p))_v+ z16Y<pnQ4x2y27zS!_r=8-|I9tH+tM(T8z6XPajTmS=}O_#%q7I_<n#Px^!JPz11bk z=DrX7!!Mr*D&!x|eNVnu+l~Ciz|8*iH^kVrr=PQg9=0i@hWI7#H8V07Y%1tT$V`#w zq5Pu!^Ri*qt{~}xEEG$gWASpIY5!_8uT31$ghNtZRC<Dk7%TWkVs7OCddmF@AR(vw ze@j*duTT2;McOM^JnxvCuDCwFBo`$il-&N9*C-=DsjNdeEmB&kVIp*)y+ISc&&GV7 zAhoAmJzDjXeD3^)ru2FY+v@C1F0IM^io!fh=AG74tl)sQ6-kuv2EneAhYC`JC&Az` zpU`SqbZnnev*2n5vRYBz#Ny}G?@uO*R%?-}g~;K&Ou<MEG&IKTKoCDQ`?Rd@Wu(M= zrpUpJUVk^yX{Bb<p-gwT*29@~k6FW$^8O73v)8=Lr`3j4l#j^7A*4n}and_lRxoMq zcmc+8yL|03p@psTD48nbGE%&JCw{}c1xz-qL>p?`lFkZHMFc@>?T<Pidv#QVUv61+ z{6!Bj-DR~X(~_#wlc~}Pvd{(XVVTxo`{x4d*D52MCqFh%eBFQ1#q6XHC<iHvWz^l4 zGk@e_*_JA8T=V#{EBcTv&<3kVZR&OrHX6|%qm$5d_?3`a^X()a%<LPPlcAwVR6c&H zDrmTH7y(%h(Z0>zMA_s_N~#Z>9ww)Op=gSEDM|R<x_Hf-$7HRv1nhQiOqyLAE_Cf` zw^@3FQb@|NW^#X6m|*VsTw7_fBe!8-MNR|JtA9iUw>f9-F`aM@QT{O~_kL;DJIWP9 z&V5U<VI3RZVju>VX{lCB+Ygd{S#X$7!@=nW3W;2Ri>t8A@Uj*vy_~3(Hv>jDe@;9> zm8-!@LX3q9paZ1|&`!+l)f?*KHgg;Zq=Dij)cWH=aP>_#U~ZT|ldG?<5B?u06RM$w ztfC>Rh~y~XmoSk0-!5+J``v)ayb*lxkkXG&Lm&39sBs3r9bfS_u6k<E-go>Wa5{WP zvZ*Ca$v>*Av%ApXo36Z*$mhRL3~58!8Xi`#j=*OISHE$!Yb$2mKu5?Li!@adFPTcw zfz^jVA!H;p?jE50g)JwPcI=s>+^+W*-M{`aF<E*wxYD1Oyl%5{EbXg<-21!$qnAQ2 zSAItSsJ63`^T>?(ts9vR>Dtv}sF5r+k{*p^_gUNxTe_-Ua8O6&f<gx`ZZjBRw+ka{ z%u8+4XWY6GnYlT;4?LAQQj&!#loYi3dnV?oS5Z*?N^{*1mWUtg&N>Fa-d)l-Hmqgn z*Mjb4Z~6~;$2&~e>7M$JWGs)V`>`Wt-(z2Wag&+<X#r|t8TyT)JRXy^g<zqD$ErSu z9zDkyr<QD_Q+i|E@8{NA`9qDlRI$##KHJ3Xb!F_uTt)g-%(*3YzRhj#iEOU=-l3(~ zs^pv%H_qCe#-XL0JdB=22+0K;(aqV$**G83g8^{am>cM0WcFXiGfdia(!vy-V>@BG z8&;X_6tE4?h9+3O@P*WGc&0Jg7@?{x>H|pwst*I~^HMG5@h*XbpjS`tyXRlEUYt-7 zA|c#Z>hODq{M_BX!&q{f*1fsEzmp36=0s_9{r%JV2w6z*6#dyI32j~Yp0Xr5zP4e5 zp`J|(D~-Zfk}eclXe@C^)PNPwP)I6Z;5@n~a-4=JId{ZvPfDjPK8#VruQI!JGm{jg zKv{kjnZ|jO_^9IZE?*dRh%o^b0=wU^CjV6~Gu_f_?;3A@hJHW0GPKvDf3O#{+N0sD zi&oOpuHJ_>qr3DStl-`1QCDAvDMC7bY1JNM@Em2%lnrR0e-00S_u5am<9zif<T;Fj z_d7q+=2K*;2lgvAqLb4ZqFdq*9{(neTq%>XD)j$;RmV^iKyWEZojR_I(R%B?iRfa- zT+rV3BaBWG;TxBdf#=W!B0_cEJgrM1oRt;Uz0!3U5yLZI?{yRr3oFdd;!i8bWmCAB zlC*t-Ui@5c0)3RYwEWfUzVf7>l53MsJE@HdY?(68YnvA^BUOqv#z=E;A8E|ZSLCi- zreA7`g<ZaztGFH3?LBt0U@V8TMqC~eO|A@72uk+Ik53Vf<E3wU0!$3dyo%@;8iJ73 zLmwj?K;hU*2p-#`$D?|pEEQzf_jwpmVXIc0ock?CM!Y}>Bi=YH>MO7Tw5-AG<^=Gu z!D_ds&xw^#WI&V5ASp!oIDda%ei+Zp=s>7D$nW-9mSIs{NZ5O}z*)tdcdH5am2IY6 zKhg;!#9)cxoUIb4kC;)?`B(7XZ+eiv7M*no$LA<38&1bn=WAwHK8nNM3Ss0$4O8lD zI3Clp4G|6fy7E4tz#6nY;LgPLhC=cbRoRpGhV^>t85QCeG{HIjToC>rz|Kb$KXVgV z$X37#&y$t{ygR@4piEFs=l}4gFM8#Ar=supm}~Jcgm3w9rTg*+Fz1?npA#g-^d)BP zAwn%xCj5+JbmGKNWu<xOK6jxep!*cD8?&}W@DJ|ws9_D5i;%@#j<@OW927GARR8N% zCbZ^;1Odu^$x*L7(z_!#$)PI5E4N*V!ay&noW5uH*64kyZLV9l-dq&#SE8+%3jZyw zA{tV?3E%tu?3{5n;Z`U+#%H0aX9TQM!#g}xg;B`K)Zy?(vzn8}UOh+b#4I=~9;l(O zDi~T2;#t9#)e6}rDl$I69+{Rk;chMVeAO6#OV`u2SEqFcJ%3X6NhDd^es{b@qlR6A zsefFb{r6ejKs1sgo%y&|2_*jOq~;@zT-Z8GuKxq?Nn>mvRD?w2a-TG{eZYZ%1ZpZK zCMJVlm~^7R8Cb|+wmz=3)a^icc(;G$Awc;rY7%h3GzkhdUlJyMV;46%LPYSkL>~z- z|8l*;P?8wSu%{iw*x6B{K01Qvr}};>&OB5IG~LR#0Cj_oROIrK+fkgBzzB{Ar7Hm0 zr=c0l65%#Qx5w@ex&j?n>7;d?DZ-8vym*G$g_eTC!lUZsHXLmuPYat7d%lUQeX@?h zMn_(?e+^_ylEkLVsrP-71;|oTnwrFsG5{A$rlD(zfVJDoJXd9@Bw)l|SGz>&O+j@c zN<eqIi{kY5h<WM%=W@T-qXNMz{jc1w9yztV3{-N^A5jFZ;^ugV(~DmE;H5sf6P!MO z^`(xK`uj8q2_?i}$b|eCDda2#6T!c7wrjF|ct`#iGUQ6Db_a&6K&rr}r`))ucXR_R zXv+X-Cl;KiQ>gku!)V`s6=Cq>H$gnr7kiJ;&=+WimA7PlZwhdfc^l4IT2eFYI=TKo z?#fLtW3_uWJVb{QC-;6jcbdmj?5Jw<5LVkD_^U*+$z5L);7LNrd5@iX<%rZrGv4YQ z?xabxE%QI~Kqpshq-*L$sWQe*gE8lX!l}|LX(LbH4`$$L<yj*kXfO@L&T$p1-#s(U z2*hdwiW+COSsY?Q$dwOlYqcBStb=ZfkSmt66ck~tBE)es@<8@gV69_d;Nm))lNV~C z_s09bg-f(4W^64RjggC?d+-o;uzgFyd*--Z%J?Nh6hy~nSlK2#bhffJ78>@&nzPoS z1t)EdCNfapC!iRzNE^hq`8%>*O#oiB>=e!_d2Q&?_eG0(@rL&&;Oz?=qaI0%U753~ ziBDB<HN5j$*bk6#ra@3iD>X4&${f8pDS`cX_FTn>zXZ}HD;LH$jT$y&QYC5k8HiF< zSh97X(FQ&qU<9DaV0bthKw&~cImN{pRMvHRmC(Wc<>Zk~kdKctFIv&TI~<mlmXoh7 zv^oFM2;hEE|Ht3_T)sV~3gIU!Kz;fDNHYUZe6=ftWg<v%v1B|0xPRVXKit{tQ1&(5 zz&9Jkk5pNbIolkc<STjznFJVL`sj3?s1ov^iiD}3ps@=Oz1F!JLQqJR*wqdUnVYbD zqxo&}Ro%|!x*n=No9z#h<8~5!4&@cqa>pe|+8f%-pV){53O-+pZ6afwfE9XrH-?PU zjVElK&A9X7oz&aE6?d$^e*HQ;?8aY<lcVlj=?<0im~6qYeN}>~;lHc+7Bwhd_xnNs z>bLr5fcDGW1ht&uDv+z|6LaFci6qrc+Oysm#{40{3+0N9)sVOj){xC{8&nKXFI=sA zO2ycnJ|G%~8@X)N@x+3;lt0~P+|P6gTXg9P`X_Qh6UVF@$v@oJ+ow0Q;d+I698sL8 z8MVHWmd1Fl-gn_9F0$ESjTq8v=496s`q<e43{KVQ;ewx=^Sy41WW$h_gLVqP3wOUz z+1w9HH*HJZg<^2)($dnX>sWW;B!P0?Qq>OU1l0%a%_kgNvK7u|6NUI7wW1)<vZh@i z)U!brt+$k4Umh&YwGj|8-mkgORi;1l48I&>AWvmzf%TC>GF#<sYidU4>@MAJF>Ts* z%xwnz;z%@oaNc8>a-b2?7H*(lbQRinD0Vs5HOBQxmz}hKjNdyNJ`7_O?Q*6G`Z%?J z@tL)R)Af;0(T%TyUHG3>tG?q1d|d)sI}8H-j4X~U(M@mYA0NOBDdxuyh6pGF;T}LI zIHTGm02u&I*QV*gVjKUvWrY2Xd)V#%!5zDDhG6j0?a)$>>$D-?-|oeu&%Z8>SX%HO zlno&n<{$`6>{F|kY3+q~i@VRH3p@Vf5P^sd0LxSxr-3t-w=*`S^Y^cr1WKxRDR`I( z9**6&4gOaL^NZ`50{pIb9T~yfbIy;v&!+>kZt>{tz8MmgGIIO0a(HQSuhuV}fr;x{ z)F~3Qn1J$>_NHh~XJKqZ?6>41OZ_TSg$;Y^Q$<f^D6t8*h}KXlE?K5a>My^(a_icy zrpe)5(61#t`bTKS@1%2rulvERWse9VzIhA2j{A!K(lsfy&!Ge*|2u@fXsYg(#WVJF zA$L5h;dJt&xC5Wk=XEA~C=JMrqO-GFc`B4RLNu8S-~!s(4&F7q|1!pA=b%ekJY|!8 zsiRBe<<{-h8JYFw-p{)v{9Nm@6lpwZdJ<QA-pJ~X{_FLM!J&YaKXf>_qPQXTyN+%} zE6!lVi-u95EY9d4)Uhm|>YKJC7x_8^wpmRAHk0B82rLmlV8-T+^Fcxe9280N7U~l` z34`lY%%b4MhWW*FUZ0!!rSDSsB0<RLc#SYeuyr2iHCZANQj3Opf>6#j>>>aEz<Wtf zrT*ZZP0JeV*Hmcrfg8gs0gIKMEeoKL11g>`&)$ojCfN^$IK!-94x)|vi4)2s2|F~2 zaR#(8lKFp{qh~78rHf#%b}_SXtLsy53EJ`svkQA^cuN7RLt-sBb>5PjPC<kokNh;L zL5wdkeD9*5+?qv`tz8NuV+vnt;#(zrRx<o@)V0mZf_pG1Jf@-jtn6~+{`R%c8pYDL zcHbLWpS+f2ReWN~Ka#V)5B)vES`s2{WRzRWM<3A`prP`UxOl`H1C*z7Td_2P2nN1; zBXjo<nIQhBNiTIo<`0KprOz%hZ-19uSE<hwNj<`ZTS}1f)jvMTEq0EhX-?i~_WvH> z_tLfk1MvB+8ceosXSuv0)>dNa85KXiOSLS7l<$1iU=>pHxg9>Z#RIk~kd-f?)Lpx~ zZ!L#a1a-)KU*uK*jq~ishfjyoJ?zf_{QL<}5J3RfVEv+2G((5%FGBnI74JpJP}{_) zcU3imiFMU|a7GqJKgluY|7q_nqpFO$uHi#T3Me5+mo$h<HzJ{eptOXPNOz}nNlB=5 zH%JQ-Dk%s^H%NC$_q&ewb3fx9-|z3|%fR6fJm>6d$69mF75h3`!Jwwfv#reyo8{wI z-^=SpQ-6OD-@I)2a^mwKSm>OK6+&#m*SlU`XjmQ2h??e$l4!NAFo}^4XK+GNog*`| z<dW_F57Q=`PJ5S-o6<*_+U)7trQ@nmckAa`OdIH*ZaJD5bbJ#7ybD-!b#`7R3MQP& z+HD|lXC*Uo?mH$;R)yF-pZu419U+1_zpL|1o)oFP8)-|efb=(J@t+{29vz*0%(^YK zgr&u*W&-EbQg93j0JzJ-O5NR0G;{`ZYPy7l&IJl-r|$~gpvm6byWaA;=8L`tU-Vl0 z`KrQ*(ibmzHypPnmqJ>3d^(GwlN#@LKURmHZ&MhDGyb?#_FFe7oIoWrrVgITa<D#l z7)Ro<)JtG>Hi7b0sDLGO>col?i-^V=cE&FBl_4e&JElF{z^2)dBgZF|5m)-0id+0Y z+d9UUkoNzIWI6<Nzg3)g3AvS!zmJ7FzR3rQ9)#$wCmv;}=f3}$PhaBJlU<TpMtO@x z3?UImJb1J}<IBssu1cDl=58C9m#I-!{fPlTrNyW*x>2=*LONBL<nnTrKX|MAEpew6 z%F_Z`uT3Xx#o5_k@~+;pal+eB&b9H#{hyRl$(fLKk6!+!gHEqSc0w>gjDme=<Oq~V z3b_7d1bTLfF)%P6jX8cj+$%-)>Q?8Lp@{hp;?Ce`WAY3Z`h>39#-yJmx%y;>sOT#m zrtG1pIx{8Dp=LB?Il61nz(jYr*Yd4C`GO1SJDJ>oH(!g>pWAW=|IMZ!^dZeeSnNuY zKKB|T5Ldg!&m%}tOv3#UWv)t>>8-u4|469)nDG?R=ZcnmS2Uu7HwNrI8<8wSk+m|^ zK}Y-Q`q&kEf_pTXfxXLV`EGv>*4dMthFa~G4>}WYlx~Q){0_^>J6yh_=MZ+gt6V8x zWh3w=WqZ03%eQi&fo8Y`4Q>@3ipZl|eyhzjqK?mD3gt~;Sm3_PY~mG*y8120(&mr% zO?Ke0_kKvC^mvWOB$%XHV{7og+G(@EFBIF?{5S!q5U3cjk+e(g`7DT?zHBE5`pgJD zx=+LLA6Kz{)P)z@V_`MkMHMc}#8d&kSF$Gs%i5td9`mw|#WD?=QKu>L!3uN_u5JvX zJh{=l$u1un$((8-Q$C&~P{x@9%|V$JS-)(=>{7BNV7RG@_or!aNs@jo)}ZXg3?+Pi zVN+eG#zcN%@V&(A`~s8U8ec5LGvWT|W!JO%v~?lKYGHJY2$&Z*^Y~^vsdU>;0Go)W z)V16Eb7iG}srSYDhYugf)@+sC3^mERBA)*@u!2+miY6X`@=9EnyMF9?|LcTFOzcGA zmm5MaZAil)7v2?e0DuS@lwl1#u%v_J1|!YtTeQ;Q=v0ZuTG5!*JRIvc=@fVS3QzmA ztqlxvDh9@$?TE1M&hpdHvq^`ykkH%OVP7nWEB02|_65wMtaxcocFg}7Tv-kl*;~8q zbu7o;FCnEcq(fDd(b%LJ7-H1N7LObCsK!{4lqq&yHCQ421x9qN#Em&(>Q=MXnmV$o zL@GgoD4ROdPt|0~#I4n~g8a-dd6IL$RVH1RlYxb|syCggvWea6{4)OWpM-q>REs-c z&d(kt6+>=x@-E(>Sryl=Bpc=Q&!vVROB`LGz@=#wXXuuKsf11lu&X5rElR)SnCg@U zxZja$H|w`@=Khr8ICUT4AdS^rUh>^fve8-JaAI7#MOMYF8xhhq=X*Em*v4+o|4+Fk z)6dRY2huZfch`Lp8I?0tGUYv*=`-@c3$x#pSZ^03f-eectFd*~Jp!LL?~u?)auyZ7 zAaXiDlb9i8i#JB*uy7>+xP(lWsNQ7&-Hh^5kn~N91))_{Q-x64T__6EJt$Du_w=M9 z5ZOVH(2&1g*mS@|rV&=6N{v-XLr#a}TfF8p-O{huFk%XVW{m8WHym15d9{DLikx^* zgSJb`E2+E7@-_Yai$@k#U!31?4)`yQ4FW4`HIscnct-MF^8(Aj(H5=hr-Re(vZCd+ z9tWG7RV3`1-%>ov1D>R+QLKyxJ~Bl6ko>pFs#de*(#@ugIXr+@%n6^->})DeF5|6z z*H5e;*|}<)SNxO%cS1gY7^gTFyAwxX_tLuccUZ;gEHTZI=UnI|{<L4k-`S$rwK{wN z(Gvm{41OxIKU&(UoG0Hxl5(lXB75FY+x-2Cmt`FH_dOFamZ;Be!k_YWlTR_ft`Qm6 zL;7Hh{M>lvHBUToNEppvfpC#XZzd!hdj(+;Aave$Gs&a2+p;8dd2R*=azeIv`S#4c z6RyNiJ+g~(6P>rrjaMJmO+4~Phn~l(h~0TeYHq8MqUWrT5;5-UO!m>|fpkay3skOJ z#*}XMUx8KDP7Z$SOB5mzzYb?`K720!wB`F|ci(KA0_9DT>8nHE6~Dhp^erzhu*^52 zu4O%6!z+J}JC+oj$iP6j3+7V$BcEpcZl`+VO-M*!*E@j{KMQ`xG(`Nz3%m{t^?I^f z+PelLy?kny6jy&g8Zrpccjh4<ku`~&@Rb88N7vfZyK1Uc=1OV&7F!!WOkMX>RG|Sv zSs-p82+sl$6@@H{Jb%S?ndYZbS4ZW3{8*{_X=RRogC^@V{V|Rm{u4F(sRs7NNlgZ- z&tQ>JBi&uS8kX(%y3qG;(kPpVO1~W~;}VG}ZdDb(FA-?kw3d)%Ppi25{d4#x)3QL1 zDh7&=_FLKcr)UVJi5Ifz+CKDbPGrd{l6C?07h|t_ysMKp3zHvW|16?XjoJN{TZ-@f z7kl=4`TLFF`?782MVvA}d^bRWnL4kZn_uMi7KD3@E{<lbo%b@05^byQzx!8Khzw>M zk)blK@IY-{;gD}Z0pOp;<dUTK-9LLDDeseT$Uk&?$R3BYb|5qy&;K<?CRMaz=)gTe ze3|X+io6#;pN*9zl}4Hc+w!Fcq$doU)v(acG5qpcEb@}3V-;4Ubm)G{XegEAnJTo1 zzbE?<#m=onbZ0)dn|9Ngfcmd@BuCN~=W{fg`v!{)?apC;-!1Z5aFk+P^|(g&m2sS^ z+l22q73-@%Op5BpHi;<G=K8usz?-Pxe!o=^okz|CGVBu?HjE*aRPXX{LjExs1Bdzk zp2%sP5=uEcGMH=%8}YwPzbop6N6YoZ+!IQ%gOrBDCV8^tyMn6wm!VHQhzpJLo^MOK z>Hc7&k*Hh?N{}SYlqXd6cfnlAesuG&u+nd~fsIXhL%o2qblgx&%?MPWo`DkuQ)jI| zOHU$tzeer=8NT~~DljKgr8Gjt<5;qQVbP8p$m5XNP_?Cej1hsPMa=}^qrU2pn7ufb z&@Y?S6ObFxxS!3fyvy@CTwCt9q<<`#5-uszizx0N`bUkJLSxr~nAuXAReiE_r8nOE z{8_O1Zglff^DDdYroVsGPi*M1EmiJJ)nY;RIoUjm7#8S~Edwc}mfs)(Yb1G1pK?Q8 zzHEPxjcoYpoUk=8o89Vr#n4Lq5u+@HS?*#dHl)yy$AePmHLMUrPKTzfFwlae>Dmr` zkG>p^oA2iEH(*1^<LWr_D)@Q+k$Y$i<Xif#Zr;0h?Ke)x*1tp;qYtEzNJJ-p6I~L~ zyH}#9F6|QaD~R7>+NuVE(dKKrEXQFpJ@b>kU)gLAf5jK#s#%u%ccnN6ShDL=wZAM; zr-Qrt(!R_+G;5!@VTEg!cO2Z0!fqO4b}|um{aMhx-0SR$2Zps{I*Xx?OH0(0rRAGc z<Ml%o#VJVNid)y%c~PHhZ3(rylNQo6&@OW|-`(iMY`1m!^A>aGWz)gS<BzE)<mW50 z;y-vtwEdV<Tzt83+6jTV{-<#7=Ut3oj;<(1?Cj_Hg##pI+9(rxe_DDV8U*1J5f=*$ z4(^t1+C^ruq`};pLe#qWBn(r-A@AeaypvVK^|C<1)7frcJSm3B-FTsk${DDbj4pag z_Gzu;K~(trilMEv1&`N%&_klOI%lhoI}8q*31UuYmpT5<lzMKOf4Mwe-}Sv!j~LN) z=M>v{OYn!h*X3FSrJye+jfc%(kV44!jsWzkSIP#+^xUWKa}abte%!@_9QuX53E^5v z*T}S=OPYVSoO|bny!#P)f68j7KT7tK#+D4%AWx{sNr(K|OkmDf`b$vWx|V7cRC3R) zE2`_?+Huxd8k%}tZ?&teuAhG#i#SdD#i=#QPjpHB%lBgKPdW~1uakdC&1rh4*2rfG zZpB^wk7{Yx3vYSxaWqCbD+n@w7VOcbjDCuBQuLwCrd&c^Ld(zn>t2->=cHX1=ZECv z)@AW4SHLzvIg#7v8ybO#PZ)QjON*>x2wMJdB*p7ClLV!HWDQFWnc6joYE)_^M?8_1 zBTTY%YS7<<dX0ex;G@4|KE2V4TAr7ofv@KfW7^wOoq=99CQ~~t?DJUYRWaw$bcQod zI%BKsB%QzVN8zdvTyAm;>dx^3f6@DWkH%JO`M7EY#{O)lN$x{B*=N+5b4@B)eB<Rp zMi$JNdHcgONvVkCboZQ;3QCi(urv;=+Dr3PPqmEplxvc6nPV1nBi<Jywtv2%AO-1) z-nUS#jx4?0{c)?&CN@Z6)z7y0&c9?;X5q#gIIU=9!c1^85hQ{-y>1rP{yp}3gq-h| ze?)c;@K-etNPz9G_&Pxf{M(4SW1ysw*r(|j%V1Ai#9UnocRKsz&ta~nAsN~YOnocc zonBdPchwKa8d|#q#?0M+wHf-(x=89$?{6P-e5PDx7qbgEkI3_Ys^i(EMC&%t(rkN0 zkG}A|Vwn#!{`kLwXM7e0R@t+v2}@WFP!;udqZdEBa)a(<%rj~3z4I4W=jzTOyY)fy zV7J6>S#`a>x;T`F#V?IWwaRki;zw-|N+ERiUYtWP$k*<=rR4YX)fM_Xt819Q^OgLg z1JCG+F1Gs5ZyS|4ubWuox0rLvn?V~!+&OpQ$m0&T0|q${3oENRCT>@3uDTU^4^St% zH(ui~iDmZKLj5umJ~DUWNer@H3KT!hcxARYB*Vawjs5HjokF!oMS^uz38kv0^OaUY zadedF_$CMwXZ82f&f67DG~%L$s%BM)lQ_77dS^8>!o}l6vBYRNru~-Q?!UOOS$a5U zK^E2PyY(KEyuDLaEcJ+lCPCMY6)GBgm3GUTKNs<k&;d?=T;B94V}q@~!|Oi*BPe1m zR{NS0EBnzxmxJ^^5#RQsB({!eTml5*IL4cO<nZ;5(cf<SzKJ|O(zbRd5}BrlSPiO# z*0{QeypiVnJkyFAif5{^Z@n)F?<fWuH$A>-BCK1+n$|ER?OureC|28EqCP4@Bgg97 z;Jc^l;*iMN8njnmRaW+PzCCijlfASBDJ?G8js4tIiuqpt^n;;GI%(0rw3uHp(io81 z0P!%mqbMXKqy*^|oZKHjQhr4in0!RmYP6U2<!q`#M>Q&MER1D#uV*vk`uMuKN4UW? zIWo;&zvI3xuQ(OQ<`V%)gS@_AasK9)7i5*qy-T%@4=5<!obK};CSFK-Df-I}D-&as zb2x`YR#ov*3OnIF^FAH0J(_ZUv0L_#+?B}>GTC|3Oz0lJCRg$4D92MK2H1tHJRiDl z@Rcp@arFxHJPa+jRAnO#Gdz2==`kfITXgCmdw1~8lQ))+4-YW8n+V_CXV*FEo3=<- zIk?4;xID~&O-L_>V>oCvk|=5ex1mu5aevxc_ga2tJ=gK*Ql|=7n-hI`-u{Mvj=9?k zp=8&_RD`o(_CVu^NK*%$FDim8&~dX-sFcCw>LRXJq<Ol&<0j-DIXaTGN7A%cq#SU7 zka@0<bKfHN`wAXCWs?~ymGl>3^4=j5<Mz4p=O$!1rI&wN#Nd9=|FBW@(aDcTe+2LW z(L?g2GVzFy)FWkNO~amuU9I*KDU}!8JEKgz>)jw4IdZXkJLk}n`$NLg$i@cd@1Jk6 zx_f>RZl2pzIejx%9FLPJ(+%OoHh6+l@0HtoC6~xDRhpz4l1)N|dDtpEm22E2WVfpO zD^+CKJ=vbRqx1Y#aw%VLF{YOA4{14W>9Rf7S%Drg?r=9{8b-0(@2*AAh(|1oZo48c zR^<6RpOw}1MUCix6M6<(rpS2|28>hLNNXyt_k6D9--Z%771gSyZz!X2HxvfaqCb-3 z^Tf1D)IsWcjj-fjvnrgl7jHF0zeap~_+9v@;?_p<9Fe`~#NTTnkpgH~?-`59Y4x*I zG06FBH`H;%ZsXJZl6f_DH#`M*_1&V?1WngHClW@yCN`|uRPih1eLV0P>q2rH*g5~r z1u)VS^PVa4wE81pl}AA$?E&;YL1%xm)?UDAgDmChe0hGJ=1PEs=IdMA?ic^;Y9KP& z7jnjAMRpCO9F8ujVl{h5mk^<`dZp3nkG+d_5MN~>4dddWmrqW<;Mnv*{anG3rE|Bd z{P>3~_xC3=ZaAPGF1axqu|IgEPU3F^7SGno>gT0%)CCS!uXj;tQKm)&vs^~ypM&Pg zq7HgSdC=LX5pLR$^j{$kflhOQFWz_G-XQfS==4S(`<yfs`Gt=o_ZX|t3SCw5M+@ff z8x%%m)|&C=@1<0Q6=*tK={DctJkLG|jf{&UL7tl?D6{pC^xQD~ILVRD7-^~*E$uWc zXXh7uPYfv}a@gLZHB!TDz6%#ha7jvVsO#<mA%$FgV@*Kg>8=D3^MC?jH$EMxyhYVR zrIbrXUacCo;k#rfn6QY4Xx!<0vh#Q5r4L(vM}iPZ1nrHR{-eZE+y}ZWrKQr_;UpwC zr4NZ*B`>f1Zgub1&#>H=_(4n0XmKr=rkInw3j3<WP$HLP`xo`qQN}Z;@z=&fEsY<0 zq$<>p>u+6*mJ+v0r{5h9DA8MNme(Nh*ViEXbhUS9F7wQpY)1qF*Ou<g`4IyAY;uk* zu9xJ*xyLqYZV3qqw)-o}=bfeJIAW)Lk<WL_!d5gsx0QYZB=etIxF3lqt4zqs!~cs& z7EomUMfrBHSh_AGt&HA$w=4(}mcwBAAjM-GMOAgECrZFsVt|;z>yW3ZeL#i8<6EVn z3BHkm(`|FyuI17^36Yskl?lgkS}sMu_@$g1+{;|*h(sdjr890m$Tc7|P#0ff`qgtS zECD)$Ok~nP#Khzo$EhOQ_M@od;O7|FH>qu3k+n_dA^wc#(O&0@5#W!qPf0z7IATj* zrmSuAb^briG?#Z_e}*eUs~FO~2mX!1NS>kThD~TPTCc%Tx8zPZE9sSrM}_{Q5aWU} z(;jp1E}lE)pm{qeSjs#%U(@VK6=@)(3TXrEP~7pi+m|{&af-S1X-_y{6PI4FnPGC| zZoVemo%P3xzPPm|zi?U4k)+!`__Wfg#s4rq7``uLPb+MU<76JT%r;MzJ`&$_Zg8>G zn5OJFg{oyD%d*X4U*MRMLy^;w^V4}d!u*7EQUweRHlYODCYKvy6#{PiED_YAp-snO zO=)w6{8Es^%Hs>?Y-tCFpea6~=d)|}b6d|FL5rdpD!A7Kt;*AODh%afh~2;6@HhPg zISr5ywP+{UFKsB!KAh&#Dl7h==fUatZbWnc3o1IhKXW^wavHePS@MMkR#EUs%tf?k zB>A6gw982vST<dnX)T?agC|x)f0rJwK#0lSZ=j8}%kCM434k39jc*G4Q~rt8jpQ`P z-!SuzN3$yvbKA>N>2d5c#n3ykkR)Bxw*`fq_=C!*NU`D3I8Rcty^-eD1jW{-14+Bs zQk6mSOO4j)=KEX}q==_m6Mo%s5!tP*ca0<~g^hVfPAPuLk|w^p?^mU{83fXaduY_? zkzi9Gn(Umq1|PrCQ^iL$FS@%iYk2QSe+;HJY6`t6y$vcnDf$dsa6-4^jf2&KDYCZ` z(?oR{t)$uU#%(3OQNsgXj7(zn0=?H6JGP3#2@B)xD^PtJT<1i+lLhUs@lQDrSv4G} z)o*)lXU-Ykx_AG+9~5aZd+p?Aip4gvCUkxHD1SKl^d}z@4u!oCiMmo({cll3RZH`d z>Fj3GLsCj3+52V`&-zzG=LH}PG#Yl@nj}k`dxG9yiRD&WaOe~N4&Rl!RIgUd-<%?+ z#a{cjC1iKDuwu+QHf9$%lx!b$Oh0@PB3k`E00X6>qAwBG1sgXt2&!CA#AznI9_>`< z^QyyTAk_7$QOdyt;$(rV<z|Ay=0IQ71AcB|+1uNHS<OkbIoqt6e|EM1EFTt!QqT@P zQuL5aP2F7`t)lbSFFYVH_tu)z@NOU@3w|DBZp{neIb*Uk^zE(9$2lsy4!8t>lVgni z+{(2-PB+$6Qss@_=)5}n-t2O+&G~9?^4gsvC(<81Ye7U02WTlSE#=Sj4PCF-Vma|} zo1Ra_FW(;Zp0$`enh0Z=Yo5UF(!6-{V4=}(#Sf2Aq^7^^t>5lnF6HP)7{ygN>n05a zv;Zr<%MhpQ#yV}A^|RQhiOHQ=%g1ck!$nMAE)FMbcUy1Ge=;xmjtu=x+O|`<9DSV; zC4Kmub=7vE<3^oNZa9g<SN|ASa6S+tVw7izd;BjbeTF+u!FTHs^yuNLRyEa#B6QDJ z0r&JU`?(~v?<wSij$WHi6q`;HDGnlUY^Ya)2@!<7xCA^BJ{yAdGY8h&X;Rjg3~w&m z+x}|xlIA!2*XzlJ&3Hw(ZmNBKvNzGoorhuliGyR`>h>!#zmw(!(oEhvScdkVXANqp z)K7oAyj(l%bY-#3&pjr4eZYWMz6xqJltzG71EoUg4})y3E{^7TOI@$W$H(uyPd!I> zp7G?5Pe_pU?10SJo8-v#3E(Klkn{oFN3BpNxg>Zo^eG?n5UPC4O`XpKXys>`|C&1h zs8ePkPFt^Qc*Td;tQ(8h>6!WkwV=L1$tjf3WVv8%P<kekjt?VY2P(tl3eeP4V2wlr z<OWIW6>rSRX5SWfCuTak5ogc7*|HV(r%LYz9dWxCiE7fCR<3V_E0@=ViRQ}1WCf!b zR4Wz~!2CiADm)A*D9%%kw*(@ZAxf)u{xkI)8~G@8BMtbN_>|uoj;4jz9_A{s#L6Lc zlZvQE)!;Hm)=M^Iltw2XC<JG`*}lDm_F69-4X;^3c!s`Gn`>h1#`aFL<h7)!qY!qR zJql{sMzZ?5Jqb8@2B_s^o^<s?D;$I;KaT4!yX>!T2;Oz!GbA30WZ5s!E#h!2nQ>10 z$`&1HvzuYAl^}6Yq3_xnWU9r*9<N8{N!bcrfpwNYzh{0nx6+sC(o8Y!BYv7Gj@o?p zI8*$T0h!daX|C5?HKHs0g8@0}6=bQgJ&0EjK~j8{{ro4B*wcZ15}GXGSWw>MOto#D zP7Blu|G0vdObz8J(8nBR1bUvPpQ{xbb8F4vJKCv9`4(w-9aqgvL4<vd0mrmv=AB>3 zYKbP}#oXqG^iH9dg_XZLc7~dG#%O7vJk%eXHr*x_e&ivt+d}kZw~b<ViN9%#l*S)! z%0TXY2>gFz!B3P*S292*4BAKiLNgU#t<sK0@tgi!OY1<YKV;^}m|PMAk;2Le%g-F^ zi8^$((RQ^K%Q7x0HE2h$=`&d1MwbqQg~n&v`d3#=f>%9Kt#;U-7$<J|4ieMy25?z> zej19*qxyVGhkc`8gG^+*ylz<U)nqAy>foB}%}5MH7w(0l{D3<ih6NwrtF@`a<}{8D z#Tzu@7pu=~2Nd{ci>*D`FaHo+zT)7>MsDS6$b3#H1N%=|=*4{~XZwgOXKSw_$=<8o z5s7@9-M?2GHHn2?_I?s;HRYkyMrg*j2hC`8M_vo`2#H3Gm78=~<H{2imdf-$7%Z=u zQvcpoDuGr@L@y%6(YH4~7Jpk$A_=T4q|pUfD7i1N@>n+Z0ma0&y!eedW9?SiT5YG0 z$aZRXJlRO<RvqW50O$I7Dise{WvcHkC4(%&pTOKhA1m(0<ULWjQOeO23o$Ewd-0_2 zCsOHua3*8}@B|p>4xt5vLD`!oMW}c5rIm;`{u;WlI31~NG*RYTq|$1JVZqhNvXXmY zbzA!S&e2UeXxgC|yC=@98s*g@`)MB<y1cx;8jyMsIy#hd*iN&s(yECO(*K(O$s81P zzVr~lEWBJ`7XJ=dW;epQ9?jbOY@+?}Tn0jUy2z~G+i<n#MBG2^Zj+1Wf@8D-)%5<; zqFb#7JkiTifi!A`s-Pg8@jfTUfYA}6%f+DUjOZBnkCy#qIx508Sz^$0&}+XlIOj4- z_1Vq#u*F~jUn4}!O75UpK6b60_OOt)th|y1eY}+KcJkSi{=h27l8Js&6%2COUATTe z;rMv_>e8B0)QuQ<iAr!y!=|O7yBEZtiN%q_BYnP0Tg~`L*@9wN5j!z42V0Wxxi{Q? zc^Wt>Kb<vXHum*%yzv-4BZtx!37ukF{+TLw{rib|!tB#N_F!u1m=|po5;s+&lIg{$ zJ@=K7$lUw9-8;Odev$J(D+P({vA<@2xeIJ+^d!53{=^n{Pf+_VTh;&xLWM0Z9b?%~ zYGZmf=;(6h7K0v}QwU-17c3&WhMjevDp#w9_42av@gqa&fL{q%88kP_O}xE1Ju}tB ziJ6W+$UD*(@0^^5Uh%|$ybMXdG(Bu`?uGa1rmQ<&#c~9{w<V;B6#0u4K_wjM3{9zy zk@w25iLnrOMling!o<P&hADn5Ik@gP=`f%G`Wi;NEf61=rDIHOu#rx262y<(dAj#R z1R^LBxy@BoL6H@Rcv!1Vt!b0uKN@ljjdlKYk_O4V>Fk@=<YoK-B;^<yIE^2P{cSZ+ z|D&$1GSW0g88nG*&3#8Wa_S<fVeIC;neVJp^-T#aJ+8#JO>Tc^c;&<r`Dj%87LTCL zVS^PELYO&ymY<U>;=s;#x{aHm#3gC_E77)54{=3KgKlEN$9=V5qdrFeb>^d>{Ea(e zUdPQe|FodXjowQ<WX!aE$pg9nZ1s!2JVaxOjjcV~`no&T>qSZ+ettLQY;t)nkizO) zW~5lC`&KPx>giyv&3bVS>ZmRU(FCF9(>;+$sJ8yeZQZ~6SebZ7Bz1Ko6dAUJUXL|R ziw_<TZT1*_dT2xzc%u%nk6Y}1E5@rv-;?yaB(BmoP8naJS0@3#{n%);(1^aXO8k&o z0n|Kh^z&%>{fp$sF?t8h(0Iz@5jRSP`7G(@&s_SFsQxPAhtykM5m0JtP&*N^tbRdz z|4lIB=dMQr0%g+MJ5zQ-7jb-bd1-d$iRZ8pydc7}p@5rvyrU-Sz2iso2PxH^&0Kla zA6AuiZ@9h%OB;jCXuShfhU@F=$CJxqLC6g-Iy(9d*)&b$sJ6FtcfQ?rNLAgj8<Wn! zzcSG=G@7Gw$+3EzgBXW}7{{=p18NiMO6HkLFR-6BOBiQNGfDXT(Row)1^h8$4wsPm zz54|_pC1<CtC#-A*o2Q%04^#OpQ&>OvPxXLL9@PG{n_Ly>&g-TEbfIrbl{uAAxvYC z%E}=ewS1>PDmT|`T1&sJ4`&@s_@^NK<{r8!pFWukoY%{vrbxZBD!t~^tCQ6EA?TYn znsf_>l&zPC5f&p)7Wf@fm&ML!3H*#TJucSuWGlv6ZZ#c0LbihY@bTmKGQ;+rxm!(S zy{<j>-)xhne20N7MbpVAPpL%ATNDnnv;_Z8U7Evnath4gq0P6?^gtQ59iS3lyGe)m zmb#s^NKAiGxuJk+F!5;|d7-WuuI@KI55%|r{8otx_4G;6O%a?#ihJX}-j7<J3~oJN zXMg!&n!j&kmoeZoox~{OHU3GMr0)w41QmPyAn~iU!0oekZi2bi#3P$=UbtJl@W-;~ zGpIC_-ZR#pn|Gf%qqeGDB=uN%Nb{pm_kiu+AuaJi76pTbiCnILf`a3}2~FW)Ty-6d zimIyT&|8k;ay9i5`)I}+Vy8clT=M+bR@;5Es-(4HL<ap^Pb?v>%y^Vd4MfHhx(r3L zr%dTs;~sxGP+;C%uMcylmjV@WO-${G-qCF4X&M4rrJ-XJ-i*TUN@*$f;pi?+7u(e9 z-cggNM{Oy^v9n6QU&$@!Q^e`KW$0FVb+EoHq>67%(n2A|OcDj1FF*I4)V}c9FYqE% z(R}-5tn8KR3{At2W!vVZ9MkbcQu&uv5E_PENHyuUUVIGElTh{gIg)=yQU?ubB>xV+ zc&7jQ^)(Ruclh9{ystACT#d)A+;dO#PH%!TWmUf`Ln-b>iPXw<$Z?^@I5FNndUkU6 zsT&I5NUC_|V(WI2d+q_1cz1B~Z#5k<A6h2idc5HGa4rbaZ^9X;<5wu``b5(1HB@_X z*y|@P7llAMe<b$-fl~b_7|tcTMDQ`<l!#W^1JQti_4@{013K1cPN{lSMmdks5qD|1 z565yDT_j~@(R=<Q1+9A?3wzQZj*o|H8Uqp_=yp8XE*3ap-IN?kfD=$&2%NIq5YCYJ z<!+=U&tGKD5#$C^A@wz6nZb(}FSvN-bc`6Ml)J`O3!dkPAE5gE(nS&C^t<pM4AVP% z&xImogX61=OZY9BfLz)KaY@e@fzbT4jW<RSkD!}F3ucz^)!P0mwi%03bBqu|Wqf?l z%!*7vS|}+o^UCToNT@_-UdD;x4l@|SA)=W%U*fl&u&kLys$o`NH>=CU_`wT476-j( zEE<I0+FHR$K=WU=8_#y2Sb$(e+x|Lov`G2*+gmg)o){z9V%s$b5)5dTf{esLh5X|; zfp?zz3p{M5+}5qcf9Uf;EPefF!$28&@J#I17f6jq4s?Z6!nd485oL~;2E7yun+QVE zk{}kz`Cuh-KHXgJadE-GLM%L)8p~xt^?!9*UlS-e(cIg=YBEGW=cj_3OusmDbunX$ zWQe7gYo$nA9dS^Lv~s5b(Bv(m9qPevUq@b;_HXR(tUb_>va%(Q-I#I0qpdtBg`M4S zQ2keX)b94S&zfX;B{>pxr_|S9^Nn1v=;}G<A8rXmnvm-Dsb=h&Z0)q>F(yW@J2qkN zF|B_Hq2_)mYRe56wZ7gqA)P!nq4+Lc_4tR$b*m`~Sr5bn>H>s!;<wB2-lws#!A(HO zJKxhGhoPmt>2kekj-=ED<MOoh>UIspu{2UCz?2yi0`}No1Eq=<3mI0lnejZDE!2as zDYZy2vOohF+9+u}H5<Wi8t{^II+X8Hw3g*G$z|X6DYJzp5YV(&Gaj>Gj<R8|Pl8=- zkaalVvB~$8*o)4C`|Uh~CN;O(Ve{Ug`DTOOu{P$YlIz?0bI@W)-2>5w5uAEVi+-^g z(5<$-%YZ|O;JR`1j>I_|jV2+rmq1}&K^-SC4PY6MtFxJQq*Yn^MUF)A$AI!eKtlQW zpY06_Re2#Knav!x@&6lsm)_+)5EPMM1G!^Pdc7OFYN!U4!?14jciJ;M)WsN+7Zlv# zD_v+)zwEHRvU*FX8cY}(p&#tE&o1F(i5x`|>}psEi5+ZRv`bW@gAKRkODS|L#2b|M zr|2+lgd1+uuolt5$E_lGICOd`kV^IKwpA9^f=tOELH39m?lCyBJ%5k;giD$jz0@Z( zu97X=CpazGM<PZvtg32Qx8bRyS-SzZVb!L<{Jg-hY5VZ76sHzDTUFYIyp$Z4bUrcr zbDGb2sxM1j5h%@^3+3`o-n}#~@l)MfOFx!2?zlEx_8UFy*^-`g?%6)NFt%`!whMef zW*D2ATB^j7W!x3Ny7hHijh0YJUq5}RH?<TjLc_oeC*tlXA?>$Z-|uO<ZmUcu7hb9= zDl5<=l#P=!Ze)E3<m$MDgj-$~^&wg@3%f4;c0cS2S|Y|24qTZOgIjdyhnfka=i23- z#p|`6r7(vJvBJIQqsKP;j8cb}Gt6vqgv@0qb1gx!A`&-SgA7|(n~AQ;sh`qIjB9D} zZe$sHzs@+;_<FwAQ1`m#QJd^WN@Qo};|t(v%F4>oy6&62n^Rxa8DzqLtE%f{%hGsO z>RpPWAlkzaD05f=Qm2q`$ka5$JyCsddA4mnUGG}X@dWo4*B~}?Qd&_Fhv?y`q0rv1 z`@Dv2c#8`Q`(x6a{9kJQEoMiq_;(%m>7^-Mn{gtAC6Y?HDW_engPFy>-Z=0}z{vZW zZxCSw6I0PmVMn34i#0s7Gnlg-YPc|OESp`ynjA%hyd!9j68L_bf~LRhn+-kVbbsMn zLK<FP-a1f?_V)*#6;@WNq$|ml*8dG1F4D}rI6E@`8N*~+Z-<bhft*KQ9vLubRsu5B zmJ>OUF}RlXUa`MGwa@`f;VL`~!Lug$MQP3&2a{h`dLi#_5Z%DNGk6d(vMX>VLpi1C zMRJ*P1BHl!t{u#lhujoyRL3#am8&g%Rv|+0{3jjByA8@05f4)-2Y22-3qKQNmdIMc z3b{pFEE~a<&vx5(qxUf>O~k7f;&Mmtk1;z!_mwk_@3!UD)oIO~^f>P)G@U<!d3?GT zhbr-!PQr)!Zrch-5Cf1{kZCzly&Cg`E1FR=o(WoVSM&%K4!F#W-bb$!R_@}A4q|fR zeO*&3$YWsOn_fdlPxUT(8eNWU+ef-Bh+*trk;^WfBR(OsSk?jxJ*$;J<>|s`dC@3V zNI1c&h7V)iSzj_DBs{W!`OfQ>UT<rru*iY}wkZg-pRVg&6`brX=bk)9q1_{-l_2mq z-);YU;^8*`jvqPU=5Ps9K|w)`<%Cv^RdSEedXY_dlK16F@*OilcbU3Rd5iIfhfciw z{3Z+fA-E;(ytB)0M2tPbdb0Hh@_U0sN2v@452WUj_c@uGaQlaEdM{WR!JuW2_jqo= z4j!!dx8~T)1kc=#7|t7Hl0G~TJMH>gAWc7SIQm(C_R8rUPeD=9pmWoiPO(<i<GrQs zC;#S;9_CM@&LMxR;Ye3iP0g$`c4d*Clao`c$*V!FRJRx&kc5Qf=lVhC^4{uP7<Yu$ zFtO`!FcHI)ppKyGbKch@oVx~$>`O&aDH~KFB3L}a{LIizEfgX6<;X|Gb(bcUMFM|I zG|e}o<$Yrk)+(C>{rtl<O4{h%S=gA$K9!WF&-I@!w6p~=R(ZSG)!t`(mDbuG%^=G^ z-rgqb>RQ`))Udr;yPPtRBxv97`VkS;heeo%8O}4_<lQ6_5$=6jmD$jslgMX@^K1|Y z9rdqU1ANz=|Lx*+SSjPr21>IgaesAXwX^45@y5nRY@4KB_?Y7hqwp3Pxgr;npcY|A zQRSW1u&AwT9p4*ddl%)1X`e4+**4}BB0_G_JpYS`j(8+je;gHYO|JYnYS7q6V3$tb zTj!owJ%54tWl^i$9D`GB29JzalU~h~Q{uT-)9c=p<Y`<CA3RwfgeOpg)gg7gxS4Hr zcp9gz$$Si4(vEVD?o@Gcv(*<F192~SmD%lnS?TKPs$d<+!s1swW5{B5mP|s}($lZ) zPJO|>dFB{GpVh#5`In>pGf~)FThO4RPbD8;I~DInOHgx2)aY^E`2fbOw^KZ80DXMd zLHnu=zKPPq`eT>FF_Qy7nsbS2OLI8srj5@L9Ukadf9MUvr@hWLZNfK3%N|yk^u`-& zvaz!E{bWv^G$nE`xMOxb>-~84apE%3yQ6pSq8jUP`)`^E#=yt6gvGm{^nbZ}Bd~D& zNxe7YV6=z#Q<m?N?~32Gmx$hzGMIlTR2^=1S@n{)@~$|WNY=`4NBkuR{2d3cc%}gF zi2KI059xo-87_9lK|snYD-@Cm+*Y%ZBU_=tBBWJ-rLDEkwU~&voPeJvJaAl7fy3NY z{^0em53ve^IM@8ltgPaBa%NHoxg4$cJdDD#PPybPd??3jt_C8P9o>pz1tcOU1!8y1 z4bWOb2v}`>9(dMCiim$V-R%yF+|ub_54}9?fCa^nv+!^*xeDZwQBY98emFu#RE61j zqUm%fk!}8Okn<l+Qu-h>Gac-H_Xi$^Zgm{Q1ttor5yCM1_U+r1ue)!LRTp2U;Cu7K zAA6RJm5VFF?fumI5Ur07Uh|WTkB<-b_h(E_YLgHXJDl+^_pok68^F?bea<>|#;l{D zlf|ceeCo2Q;g2*wd{Uq2b6&Jw3nrqTEq#XtYigq+&dWOM$aIsOCLkbS3P*=oCP|pF zzf4rAM<UQ+ib|f8hFz`bce3+zJ{(hpR54M`5lqAd2@H_T<m9n}!aIuzHC5F(nRmBI zQu26>J7e>L<@l7J#Av;I8TbBurmwHB7Zpt#83rl}e7lNJFD@=-FT67yI}pye6xH;9 zKovTjmQ1x=rh@^4nmV~Hk5gUKe&J%|^PrXd-MTbPpMO(h9xa=g8xdtRz3jl@A=k@t zQ6<G!Ur88#&dtMa8tnDHv@h2Asy2|LV87^wctr~a8*gNIIOiP&f9Lj5VR`xU7!@_O zJ7BDza5p?K3wiQC&K&&tb1|^lAMe$&PgB3&l9B70W#}Zod8Oc5-(KV8=FBuk_2Jd6 z%%BmjE04kC)cJSe(l@C(oki%6Bpe+a9JHK1BqmOnNG5ZLrMS#tPkA0q6_k_=Kf0we z$UH-XxF!UCPF5;Cs@h`g=5$M=^^90tY%KCzCh|W!IXS@zkg8iwaj$&Sm$B1deE7^e zY?>yQ@R8LUxHUMT{r&Ov+6hvx3-9;WI_#hHh}H>Snz#SRF2pi@S5d^yCuP9znc%g~ zE59men8`iIptjH$-C-Q$Y3rm|e(VCC!4VRK@^W%=1_UJ#K3fbDK3<(<nIn4MqLd8Q zO&8T*K#JqzNgH;4;JQI?dB=-`ksulh;eZvFJ7%@nh1a`3-m$}0u3zcu?7Xeij7Z{N zf4-mY;mO%ICfL(!Z#_Tm3Pn<5$!&(>rz@Ft;L25AyvY3do;i2_1o7?FLmvd1!ypAd z0zq6OFD<F!!y_|MV?6?NjLCDqPxh0DYk6pBsF7xTy>6+Z@Ma|!vzhU@++c@2W8K$u z!S^i`nHwElUGLlHe+G}#*4&(8wRxH0$sqb}Jt6`hFoxr&qSxVlP#K<qN$n!BK3qJI zCGS}gejRa*2o;?S0j=mo<Kp8B($giuvD_B-s%K+kGn%N@b(zJ`vH6ZM8=?jCZZ()# z=<?*{q=rfA(*^6{Gc(P|#3cTj{=S*PueGV^+(wT*TGq_89WzD*H9a_V>QtIehe}mm zzAOwOVy-*&K)gx=$A<EUS^Ojf>BZL8%#uO2nvJ9|92_0ZgMY%gMgGvXjU3#CR^^-M zJBmr8n;}|O$-Q@fw_R&@7Yor{?qHJs$o99}E$5k9Sa`HcslAhvlR(Z~Yx}nMmHPz% zyy4S>b;s`*w;0dV5I)qj@R4bmnGb^qXoiDtFvN(JR8^@uIy#nHzKn~D>x4NQS%>R2 z>K0<2WW)<HX_?TFGvw<^5xahSmD5za8L>tAVO0H${8TDK7~|sYo{(^9m4kzK1kauN zWd^(E6Htj?UTirx4In@C@?<%8uOH>rH#kp{Y-D(5;L-n{T@>WyDH$4OK7R6K@xYDO zq=#~Gk&5E_#L&{3O1=EnCW_z3&XC9ykyMpUlNH<sS21|Jr{qXCJ6x()+TZ_tXk^5E ztlYSuu<(Vgt?lhnV#KvOsOUa$P5|##?MN4ca-s*-)Y%+e{XYV50gn?`Jz$C>stV^Z zGdF)>ZeAFON1kzhe(rU#q$WiAqJ7V!P6)HPTOS3DRV>TU+0M@1J}xzt+b~?ML_0r- z+D%T_X+ud(Ek5U2D)hVksu*v)T2#^V_=pMZn~#(aBG@3j56V5+|KaE=%LzUmr!ix| zRlop-Ah;u}Fc|9jesT&duHCm+Y+%Kzs;hJMD-TP0zOQs$2<8XpKaF9@3FmPG!U&rT zNe>$U8@R#r4NXs%JmIR9PUN@VI_jlD+`~XYrKK|rciNsV{`=PsHi$wZpXuL)pGZh? z;&GebN_#RyYwDwfQMmGxCt>3g6F@$4A-tEfD46qjp**EABEN%d6+YFERSa3PDSEQ- z9wri(z)ry9_%lpTmHo0Jr*6GKasoaA4F?4^?PWNRkjoCVge-uu!GCZBZ{1bSapEE7 z30aQohtkF1JgO=y_Y={seU0h)aIekZkTLGe{&Y@JQ3%i{NVLzu11Ra}B)3J<q%N^z z_`Hoop!{a<?(RkcIKU!Ecn=wgLEGU^6ZtsJVlC?BpY``;Yds9Y-vmcx1#tHK+{0BQ zrBb(RcdOTSPch=<%~n|!;(mbCg{p;W`6VTaCaIoIpOAY26BYfNt+}=JNRC3{527mY za7f$TRqg;cfd|dRB5!mUFEb2U>Q2m^oSY1&5uPA14F8mvIMmk{ZR>33X3sM7Dl8IC zqHLjhshW-s6-777w@2t$KCxhL-42G-n-fQ!Vg3Oky;&Q~KW*jqN(VZ<o}Hi@(>^bM z0u(7giVk2hI~iWV=g)W7@Zz4vt|&Ejkl9{C#q$>x>@PbGo@%~{6W{>(aY*L^$M3eV zlf}Q$-$F%~Nabl;DXy9B=k`8%!l~D&ZP*sxmnHwc^3``#uu5hN9nq|bd5bx~N^^4V zkQ=HfDMjt>-eB*G5s*h)>XFU3z7M=f{A{dOMMtN&u1@G3`TaXcSm5{UO6)b6gbbME zeqc@epv#$l_r)m4&+h}^T4^@KMsn*Gl6F0b=TP?aY+wxNH74V;_z-xVA_w*moZy1& z>_=cZ)Ly)J5A*uNHU|IuD<#<o%4nV(y~&ecW?|u%)RD3P1i)T~j+YW)p@S(Sn;z+> zf$}#Fv8}pwuA#xfm6PREW-$b<!WT5uwBB>b{#CZMEo(gKwl;%vJu7;%jg0rfgE!ru zc)==B@L4FqZ#lYRj5R;q)t4Hy{_|d8aINe9T>}h1NwDRt?CekA6H7d28gG6LV&dno znVAfD%&6&s6gS*v18%9PtLF|p6BqqA1-D>JKeL>!*S!Dwm)vpN5LqV7Ve!ivMS#ZU zBPGZK+e}n-=UK|6X}$Hv-}FWSG=_M4H!!M)KH-t0*Y`v4#ea2oUvHPoX}AXXp<Vp4 zOxI)g(a_M)YUO|;lCXUHBjbbUV0kMcLBVeo3z*v2IJ>-}0+<UDK>$^iX;60JD-(8> z&1(FZw`lRY=jTsleSQ758H|-sB2UpV2^t7HCnY82k;yNw&$Y;I)H1;|i-R(L5b1sX z5N70ees0RAYIAf1<s<kg4fyTLYK!Rqz;^(BD$k$O0~mGQn#`NAV+P{JL9@0gT`X;= zeO9RQbUW1fSYJq%m09Qk4;kLt;e_?baPiA3{pM@$s71%C%ux}H@Bk~fz#@TDZ|3>i zBfR})YqA!k0VXD<+hQIrHFwMojOwj3m_#pB7xqhj{P>aAz1$GDrQ8WKQaxccaJV^9 z<#plq?lx~hZwU(G_kB1%UhQO=$T*G1a0h%GQc(cNTsl(t;+ZHfn+!dFne(!Q80#*@ z#AN{zj#%T1i%`Sc4ZpM=0$nwId|WHp<L^(_vlN8SJdl=^5dh&|olF1Ynfa_H^KiNA z?}{j!pC9jve#!%9Mj{qvot6}G0}dLbX2`Eq90%tXHWNfH3xV;Fl?_7X*fbmrzeKWK znFz{{G0Uh3IV!LoKKkLx;Gl*}bl4}VRRNaV?-jWZ?>yHMqN6xyhZieM^YNaLz}Wsh zW|_J(E#ci86v0$fRCSB-FZV$sD#*!^0mWsdVi^swB8q&!q4DtoIEP@a0i-W3FLwb| zE$2XjVKX!*u+zvT121){A;hniE0xnCThy^?4DTp<o9s8dRD$+5s~FgF$GvX;bw2_z zB|y!JLaU7YsW%a6m{^1eKdHN9gJ94WkIqz;mDAhWWZ?0E51S$F6Uf-vAfBwZ-qMS0 zpI<$oSa{mk*O$Juv=kl|sS%BaM*mDV5_W`<$HL-bz*RVK{3(bVA_)$72FJM&=A6Y^ z1fnhofpT}nUy9ChrcnnD3!uX!BvX8KH}C6K-4jS!dJl+fP7$1)-$q+(?z9cQ!iM#7 zJmYP$Ka-woD=RC+G?tc@b&y6-WztKH#M{k51kXkm(GYbZ@YZiO$E%*~E%%O;=zMj6 zeYd`tpf?Qrh}V3WLo+@b{66f?(=W_swWhRGpU7|m1_7W$S8SVOV-u70-FBLhde=RN z9>L`mhynh-yf{-;Rm~<+6rk%?$3v{(!!o3)=;@VeR=j2fJ62t-*4o;7ukFpz))X5z zcY@`_c%|w4oTndePV?Whn*2hoFlZ+%b8S351W7&K?vxj9Y*=^#&i%w=7zob7aojYQ zm6=%<<ml7~0AWUQ+))q_1SqJllz`xC)w`5=!Eelfxh9KQhxdK=!-U~5O;lG|O$oiD z5!a13{s~$|Me2n`0#Q{G>odjhePcp_pgZ_k$2M(r%ZrPqpdrroQi-@Ih27#F26;B$ z^X$-crqS~@uUV{zSZX6&KZM+nNIgtK9rnOV;L_6Tq2Xa9VJRqh4Am<JF7?|$C5R6u zoDH7}NW%tVIshy1*2%!V{P>Nf<q&`4?sdQ-1sNGq7#JAi<;G$E7_C;hQOHtHa$;K{ zCc+^Af#O3AZXdW2(whni38`plv4I_fiTpXg>rdk@!eH{%FfDmBg+okBOKbn2)LRF( zE=;OA*tE&g?d?(&1fBzky_7-VvAi$$QUL?PuSd3~zE;`HO2Oi?m)74i6I3Z+HoLxX z+|k<`iBk*I!t<a|Pu0n(8V~{w4o<&IHXM9OAB03Gnc+TIg`e9;UDcKiCrgQSbD``D z2X3m*pJ#w5lVg;jwz0I)fp&7rZWs<j8l0Y<W)(v&+Gf>A=lt%QgSDZ~-ri^PanRi# z`~kxA8(HS*>FLh2e}bNu<}E!BTbGPsa+9PRB-g*cx?8WpJ|<n<@fE$y#9&|j=Uirf zzP#Q^r#iUZGyom(#|R%3ADAVv*Wt<!ANsMevl~xTudS`AXlrw%_A&$Tn08%uyuD2! ztjrEOrna_r_UoOpGltVbqg`aqn2vonFBsJ?05%0_4R8?>J_w&efU0I@&;POGVKB*# zovgY3%x0dmxO%}_Zi`O`L&KqE5eJeEFD>PGWW*=dg+>Bg=(^2g;16#^ejtdDxB@FK zaU1Za<>VJ-II&2451vL-^CRpZ5GvB?9tN@yVy%FAALOi=%&?tr3t%?Sc7u1LpU+H7 zlXw`2hwWWbR;H}3=UJsFxJWDtQZQUQigy=Q(<m5DKIhA7<ZJ?>N1iyx#W;1d<(_2Z zPEsq<NRNrRDW9L3w|M8j_^OXp44+1<sIatAD>v1v4*riM#9k2)1CzLh1Xu9-{i;$= z1qf3_-%<FK#bek8Y?o8}ixSdQ`~)=@041Qp)iAyDjJ9_axw$EBY-{!ipSOOn0C)~7 zzv++w30iY#RlI)J7EVqiW^M%R?vtQ>4gd&{<5_c)`U?S4J|U&SB%mHdisBG2H$VBi zh<vVB$mdE!nlnhR2!<7SU^!m7)Bf)N<7j}tf%%4gYu_W7J0Q(zg66&<U5uPfX6E*| z<@X$7_>=-^kHSdvzkJa^Zuq#w#Pv>I6h!~OVG?7Z??ZP5q#lD!WBAY2{13W@4|LiX z1qK7I>~mL$77*lFV=Yh6-ZVWnW}5WGQlBlSdN)#gpWDu%A+DjIq9d*a4-czZj((Oz z;+NqfWl2d%0U01F)Q&aHAF~!)<QAkkmwV*c3>fc;;o#zCqGkfAjW;&!&ysiBC~MdL zN`Z!u<3_$w8c<^-FoHJ%(u>@Fuv36umwcHE&3lM9uQ1rz*%><CGMz|f+arQ~%`bUw z{{1ttXqZ*7GFixQC~^+zVGi+Z0DuBtC$KiSg7!VU-j^OQTS&kRIxlN#9za2`?8u`5 z>6GgP-p6RrVapE>j-p>Mj|^Bg?<%(gGoUW(kN`JOq*(z(ALt^l*<jv$%D-1{O|b)X z04!y;+Mi8+pPCHuhZ^}1tiX*n$Fu*#jhf({J_$J%z(W8P94#|+7x_1nV->P+`|>AI z_iAJVG2~3L!fR;_!(rJ7Qy@h2vJl$G!EKdbqhSfZyhKvRdu<M%oDRUx6c!ad1tL2D zjZ`3@{EZe)8A8a^%1RBq8`upX)nF%c6qCnIGt|t@&0WyGI_%T7LY1Bp@W%V8C*h== zT3K*3M34XYAt%i4Tn~ZxEiWngwxn*2O%zh?#v9yg;<<FdN%46?%N8|&zogu{MSvix zs;cr~{p^>1^#LZy{P9DIgp{<Pu~8Si3-G^B_l!e<ygCBYVJF1OI?IPG7cNYT@Ug-T zkQ%RZG>7qldwpQHAV($SAlEB)Rs?39bejJ;ct!wO$^hQo4>$T?;;card;{d*6p}S) zkeY|77azjMfmQ;6Xef8y)<tq$FiZ*X`W&zVE1~QqQO2650Om`P6d9@%ivbFWA${{^ z%?#+IVDz;bJ!-+&)H{e{fMFtpaZyiHm_&lFDGUs}CVF+g$Hv8_=IQAvaQE`CrfC)F z$jgnpM)yz<!N9W-Zbjg>`DZ*T06*qp6Wx*a>><m9f4^8xcGewa<Uk-8VI6-z0ptxv zLgC05fjA|HpCAxE<{BSx;qPy}ush*v1U?+Tv_WQqFPrPI^Zws2|KBA1|F{#*#rwWj V$=YGGm?3wV{3Au_5~)|d{|9y%9Gn0E literal 55437 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 diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/surface3d.svg b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/surface3d.svg index c157b63179f5..3c9fd9909147 100644 --- a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/surface3d.svg +++ b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/surface3d.svg @@ -290,10658 +290,9137 @@ L 396.78066 113.332431 </g> <g id="axes_1"> <g id="Poly3DCollection_1"> - <path clip-path="url(#p19582ab83f)" d="M 254.7778 248.89484 + <path clip-path="url(#p553f52e075)" d="M 254.7778 248.89484 L 258.065352 251.272795 L 259.961703 246.21044 L 256.675436 242.052311 -L 254.7778 248.89484 z " style="fill:#3f53c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 251.491304 245.197156 + <path clip-path="url(#p553f52e075)" d="M 251.491304 245.197156 L 254.7778 248.89484 L 256.675436 242.052311 L 253.387369 236.600617 -L 251.491304 245.197156 z " style="fill:#455cce;"/> - <path clip-path="url(#p19582ab83f)" d="M 246.305823 247.345849 + <path clip-path="url(#p553f52e075)" d="M 246.305823 247.345849 L 249.592139 250.615981 L 251.491304 245.197156 L 248.201358 239.982898 -L 246.305823 247.345849 z " style="fill:#4257c9;"/> - <path clip-path="url(#p19582ab83f)" d="M 259.961703 246.21044 -L 263.24972 249.250651 -L 265.149899 242.112543 -L 261.863776 237.553775 -L 259.961703 246.21044 -z -" style="fill:#445acc;"/> - <path clip-path="url(#p19582ab83f)" d="M 249.592139 250.615981 + <path clip-path="url(#p553f52e075)" d="M 249.592139 250.615981 L 252.878051 252.316929 L 254.7778 248.89484 L 251.491304 245.197156 -L 249.592139 250.615981 z -" style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 263.24972 249.250651 -L 266.542242 251.37407 -L 268.43814 245.704858 -L 265.149899 242.112543 +" style="fill:#3d50c3;"/> + <path clip-path="url(#p553f52e075)" d="M 259.961703 246.21044 L 263.24972 249.250651 +L 265.149899 242.112543 +L 261.863776 237.553775 z -" style="fill:#3f53c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 258.065352 251.272795 +" style="fill:#455cce;"/> + <path clip-path="url(#p553f52e075)" d="M 258.065352 251.272795 L 261.357603 252.564611 L 263.24972 249.250651 L 259.961703 246.21044 -L 258.065352 251.272795 z " style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 256.675436 242.052311 -L 259.961703 246.21044 -L 261.863776 237.553775 -L 258.576945 231.880772 -L 256.675436 242.052311 + <path clip-path="url(#p553f52e075)" d="M 263.24972 249.250651 +L 266.542242 251.37407 +L 268.43814 245.704858 +L 265.149899 242.112543 z -" style="fill:#4b64d5;"/> - <path clip-path="url(#p19582ab83f)" d="M 241.115437 248.788237 +" style="fill:#3f53c6;"/> + <path clip-path="url(#p553f52e075)" d="M 241.115437 248.788237 L 244.40135 251.760233 L 246.305823 247.345849 L 243.013468 242.297886 -L 241.115437 248.788237 z " style="fill:#3f53c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 243.013468 242.297886 + <path clip-path="url(#p553f52e075)" d="M 256.675436 242.052311 +L 259.961703 246.21044 +L 261.863776 237.553775 +L 258.576945 231.880772 +z +" style="fill:#4b64d5;"/> + <path clip-path="url(#p553f52e075)" d="M 243.013468 242.297886 L 246.305823 247.345849 L 248.201358 239.982898 L 244.902846 233.108274 -L 243.013468 242.297886 z " style="fill:#4a63d3;"/> - <path clip-path="url(#p19582ab83f)" d="M 248.201358 239.982898 -L 251.491304 245.197156 -L 253.387369 236.600617 -L 250.093313 229.719824 -L 248.201358 239.982898 -z -" style="fill:#4e68d8;"/> - <path clip-path="url(#p19582ab83f)" d="M 244.40135 251.760233 + <path clip-path="url(#p553f52e075)" d="M 244.40135 251.760233 L 247.684221 252.872325 L 249.592139 250.615981 L 246.305823 247.345849 -L 244.40135 251.760233 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 266.542242 251.37407 + <path clip-path="url(#p553f52e075)" d="M 248.201358 239.982898 +L 251.491304 245.197156 +L 253.387369 236.600617 +L 250.093313 229.719824 +z +" style="fill:#4f69d9;"/> + <path clip-path="url(#p553f52e075)" d="M 266.542242 251.37407 L 269.841158 252.79318 L 271.73065 248.494935 L 268.43814 245.704858 -L 266.542242 251.37407 z -" style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 252.878051 252.316929 +" style="fill:#3d50c3;"/> + <path clip-path="url(#p553f52e075)" d="M 252.878051 252.316929 L 256.168348 252.707762 L 258.065352 251.272795 L 254.7778 248.89484 -L 252.878051 252.316929 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 237.819621 243.748203 + <path clip-path="url(#p553f52e075)" d="M 237.819621 243.748203 L 241.115437 248.788237 L 243.013468 242.297886 L 239.708944 235.331644 -L 237.819621 243.748203 z " style="fill:#485fd1;"/> - <path clip-path="url(#p19582ab83f)" d="M 235.917838 249.711994 + <path clip-path="url(#p553f52e075)" d="M 235.917838 249.711994 L 239.204031 252.608338 L 241.115437 248.788237 L 237.819621 243.748203 -L 235.917838 249.711994 z " style="fill:#3e51c5;"/> - <path clip-path="url(#p19582ab83f)" d="M 253.387369 236.600617 -L 256.675436 242.052311 -L 258.576945 231.880772 -L 255.285985 224.975068 -L 253.387369 236.600617 -z -" style="fill:#5572df;"/> - <path clip-path="url(#p19582ab83f)" d="M 261.357603 252.564611 + <path clip-path="url(#p553f52e075)" d="M 261.357603 252.564611 L 264.657192 253.02446 L 266.542242 251.37407 L 263.24972 249.250651 -L 261.357603 252.564611 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 239.204031 252.608338 + <path clip-path="url(#p553f52e075)" d="M 253.387369 236.600617 +L 256.675436 242.052311 +L 258.576945 231.880772 +L 255.285985 224.975068 +z +" style="fill:#5572df;"/> + <path clip-path="url(#p553f52e075)" d="M 239.204031 252.608338 L 242.483009 253.322796 L 244.40135 251.760233 L 241.115437 248.788237 -L 239.204031 252.608338 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 269.841158 252.79318 + <path clip-path="url(#p553f52e075)" d="M 269.841158 252.79318 L 273.147496 253.718778 L 275.028885 250.651264 L 271.73065 248.494935 -L 269.841158 252.79318 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 247.684221 252.872325 + <path clip-path="url(#p553f52e075)" d="M 247.684221 252.872325 L 250.970176 252.399351 L 252.878051 252.316929 L 249.592139 250.615981 -L 247.684221 252.872325 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 232.61636 244.441633 + <path clip-path="url(#p553f52e075)" d="M 232.61636 244.441633 L 235.917838 249.711994 L 237.819621 243.748203 L 234.506773 236.51748 -L 232.61636 244.441633 z " style="fill:#465ecf;"/> - <path clip-path="url(#p19582ab83f)" d="M 244.902846 233.108274 -L 248.201358 239.982898 -L 250.093313 229.719824 -L 246.788692 221.328973 -L 244.902846 233.108274 -z -" style="fill:#5a78e4;"/> - <path clip-path="url(#p19582ab83f)" d="M 230.710976 250.181665 + <path clip-path="url(#p553f52e075)" d="M 230.710976 250.181665 L 233.999706 253.307558 L 235.917838 249.711994 L 232.61636 244.441633 -L 230.710976 250.181665 z " style="fill:#3e51c5;"/> - <path clip-path="url(#p19582ab83f)" d="M 239.708944 235.331644 + <path clip-path="url(#p553f52e075)" d="M 239.708944 235.331644 L 243.013468 242.297886 L 244.902846 233.108274 L 241.590381 224.498178 -L 239.708944 235.331644 z " style="fill:#5673e0;"/> - <path clip-path="url(#p19582ab83f)" d="M 256.168348 252.707762 + <path clip-path="url(#p553f52e075)" d="M 256.168348 252.707762 L 259.466729 252.079767 L 261.357603 252.564611 L 258.065352 251.272795 -L 256.168348 252.707762 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 233.999706 253.307558 + <path clip-path="url(#p553f52e075)" d="M 244.902846 233.108274 +L 248.201358 239.982898 +L 250.093313 229.719824 +L 246.788692 221.328973 +z +" style="fill:#5b7ae5;"/> + <path clip-path="url(#p553f52e075)" d="M 233.999706 253.307558 L 237.275268 253.912219 L 239.204031 252.608338 L 235.917838 249.711994 -L 233.999706 253.307558 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 264.657192 253.02446 + <path clip-path="url(#p553f52e075)" d="M 264.657192 253.02446 L 267.9657 252.911816 L 269.841158 252.79318 L 266.542242 251.37407 -L 264.657192 253.02446 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 234.506773 236.51748 + <path clip-path="url(#p553f52e075)" d="M 234.506773 236.51748 L 237.819621 243.748203 L 239.708944 235.331644 L 236.386071 226.391263 -L 234.506773 236.51748 z -" style="fill:#5470de;"/> - <path clip-path="url(#p19582ab83f)" d="M 250.093313 229.719824 +" style="fill:#5572df;"/> + <path clip-path="url(#p553f52e075)" d="M 242.483009 253.322796 +L 245.762343 252.133088 +L 247.684221 252.872325 +L 244.40135 251.760233 +z +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 250.093313 229.719824 L 253.387369 236.600617 L 255.285985 224.975068 L 251.987055 216.760589 -L 250.093313 229.719824 z -" style="fill:#6282ea;"/> - <path clip-path="url(#p19582ab83f)" d="M 273.147496 253.718778 +" style="fill:#6384eb;"/> + <path clip-path="url(#p553f52e075)" d="M 273.147496 253.718778 L 276.461507 254.348427 L 278.333662 252.335611 L 275.028885 250.651264 -L 273.147496 253.718778 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 242.483009 253.322796 -L 245.762343 252.133088 -L 247.684221 252.872325 -L 244.40135 251.760233 -L 242.483009 253.322796 -z -" style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 227.399971 244.377252 + <path clip-path="url(#p553f52e075)" d="M 227.399971 244.377252 L 230.710976 250.181665 L 232.61636 244.441633 L 229.291628 236.709738 -L 227.399971 244.377252 z " style="fill:#485fd1;"/> - <path clip-path="url(#p19582ab83f)" d="M 225.492 250.131493 + <path clip-path="url(#p553f52e075)" d="M 225.492 250.131493 L 228.787628 253.857712 L 230.710976 250.181665 L 227.399971 244.377252 -L 225.492 250.131493 z " style="fill:#3f53c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 228.787628 253.857712 + <path clip-path="url(#p553f52e075)" d="M 228.787628 253.857712 L 232.062273 254.724304 L 233.999706 253.307558 L 230.710976 250.181665 -L 228.787628 253.857712 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 250.970176 252.399351 + <path clip-path="url(#p553f52e075)" d="M 250.970176 252.399351 L 254.264249 250.662801 L 256.168348 252.707762 L 252.878051 252.316929 -L 250.970176 252.399351 z " style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 229.291628 236.709738 + <path clip-path="url(#p553f52e075)" d="M 229.291628 236.709738 L 232.61636 244.441633 L 234.506773 236.51748 L 231.170063 227.075414 -L 229.291628 236.709738 z " style="fill:#5572df;"/> - <path clip-path="url(#p19582ab83f)" d="M 237.275268 253.912219 + <path clip-path="url(#p553f52e075)" d="M 237.275268 253.912219 L 240.546662 252.259656 L 242.483009 253.322796 L 239.204031 252.608338 -L 237.275268 253.912219 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 259.466729 252.079767 + <path clip-path="url(#p553f52e075)" d="M 259.466729 252.079767 L 262.775672 250.738713 L 264.657192 253.02446 L 261.357603 252.564611 -L 259.466729 252.079767 z " style="fill:#3d50c3;"/> - <path clip-path="url(#p19582ab83f)" d="M 267.9657 252.911816 + <path clip-path="url(#p553f52e075)" d="M 267.9657 252.911816 L 271.283682 252.477654 L 273.147496 253.718778 L 269.841158 252.79318 -L 267.9657 252.911816 z -" style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 276.461507 254.348427 +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 276.461507 254.348427 L 279.782801 254.85669 L 281.64527 253.693477 L 278.333662 252.335611 -L 276.461507 254.348427 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 241.590381 224.498178 + <path clip-path="url(#p553f52e075)" d="M 222.165588 243.445196 +L 225.492 250.131493 +L 227.399971 244.377252 +L 224.058193 235.861943 +z +" style="fill:#4a63d3;"/> + <path clip-path="url(#p553f52e075)" d="M 241.590381 224.498178 L 244.902846 233.108274 L 246.788692 221.328973 L 243.468868 211.415217 -L 241.590381 224.498178 -z -" style="fill:#6b8df0;"/> - <path clip-path="url(#p19582ab83f)" d="M 236.386071 226.391263 -L 239.708944 235.331644 -L 241.590381 224.498178 -L 238.258731 214.160259 -L 236.386071 226.391263 z -" style="fill:#6788ee;"/> - <path clip-path="url(#p19582ab83f)" d="M 223.565576 254.110878 +" style="fill:#6c8ff1;"/> + <path clip-path="url(#p553f52e075)" d="M 223.565576 254.110878 L 226.844353 255.675749 L 228.787628 253.857712 L 225.492 250.131493 -L 223.565576 254.110878 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 222.165588 243.445196 -L 225.492 250.131493 -L 227.399971 244.377252 -L 224.058193 235.861943 -L 222.165588 243.445196 + <path clip-path="url(#p553f52e075)" d="M 236.386071 226.391263 +L 239.708944 235.331644 +L 241.590381 224.498178 +L 238.258731 214.160259 z -" style="fill:#4a63d3;"/> - <path clip-path="url(#p19582ab83f)" d="M 220.256261 249.372077 +" style="fill:#688aef;"/> + <path clip-path="url(#p553f52e075)" d="M 220.256261 249.372077 L 223.565576 254.110878 L 225.492 250.131493 L 222.165588 243.445196 -L 220.256261 249.372077 z " style="fill:#4257c9;"/> - <path clip-path="url(#p19582ab83f)" d="M 232.062273 254.724304 + <path clip-path="url(#p553f52e075)" d="M 232.062273 254.724304 L 235.326177 252.960941 L 237.275268 253.912219 L 233.999706 253.307558 -L 232.062273 254.724304 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 246.788692 221.328973 -L 250.093313 229.719824 -L 251.987055 216.760589 -L 248.676132 207.216255 -L 246.788692 221.328973 -z -" style="fill:#7295f4;"/> - <path clip-path="url(#p19582ab83f)" d="M 245.762343 252.133088 + <path clip-path="url(#p553f52e075)" d="M 245.762343 252.133088 L 249.048618 249.381176 L 250.970176 252.399351 L 247.684221 252.872325 -L 245.762343 252.133088 z " style="fill:#3e51c5;"/> - <path clip-path="url(#p19582ab83f)" d="M 224.058193 235.861943 + <path clip-path="url(#p553f52e075)" d="M 246.788692 221.328973 +L 250.093313 229.719824 +L 251.987055 216.760589 +L 248.676132 207.216255 +z +" style="fill:#7396f5;"/> + <path clip-path="url(#p553f52e075)" d="M 224.058193 235.861943 L 227.399971 244.377252 L 229.291628 236.709738 L 225.936449 226.549133 -L 224.058193 235.861943 z " style="fill:#5673e0;"/> - <path clip-path="url(#p19582ab83f)" d="M 231.170063 227.075414 + <path clip-path="url(#p553f52e075)" d="M 231.170063 227.075414 L 234.506773 236.51748 L 236.386071 226.391263 L 233.03915 215.519508 -L 231.170063 227.075414 z " style="fill:#6788ee;"/> - <path clip-path="url(#p19582ab83f)" d="M 279.782801 254.85669 + <path clip-path="url(#p553f52e075)" d="M 279.782801 254.85669 L 283.110532 255.387268 L 284.963618 254.84622 L 281.64527 253.693477 -L 279.782801 254.85669 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 226.844353 255.675749 + <path clip-path="url(#p553f52e075)" d="M 226.844353 255.675749 L 230.103697 254.237646 L 232.062273 254.724304 L 228.787628 253.857712 -L 226.844353 255.675749 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 218.328796 253.784792 -L 221.619597 256.522421 -L 223.565576 254.110878 -L 220.256261 249.372077 -L 218.328796 253.784792 -z -" style="fill:#3d50c3;"/> - <path clip-path="url(#p19582ab83f)" d="M 271.283682 252.477654 + <path clip-path="url(#p553f52e075)" d="M 271.283682 252.477654 L 274.610784 251.952585 L 276.461507 254.348427 L 273.147496 253.718778 -L 271.283682 252.477654 z " style="fill:#3d50c3;"/> - <path clip-path="url(#p19582ab83f)" d="M 254.264249 250.662801 + <path clip-path="url(#p553f52e075)" d="M 218.328796 253.784792 +L 221.619597 256.522421 +L 223.565576 254.110878 +L 220.256261 249.372077 +z +" style="fill:#3d50c3;"/> + <path clip-path="url(#p553f52e075)" d="M 254.264249 250.662801 L 257.570153 248.010531 L 259.466729 252.079767 L 256.168348 252.707762 -L 254.264249 250.662801 z " style="fill:#4055c8;"/> - <path clip-path="url(#p19582ab83f)" d="M 262.775672 250.738713 + <path clip-path="url(#p553f52e075)" d="M 262.775672 250.738713 L 266.096411 248.988413 L 267.9657 252.911816 L 264.657192 253.02446 -L 262.775672 250.738713 z -" style="fill:#4055c8;"/> - <path clip-path="url(#p19582ab83f)" d="M 240.546662 252.259656 +" style="fill:#3f53c6;"/> + <path clip-path="url(#p553f52e075)" d="M 240.546662 252.259656 L 243.822141 248.698912 L 245.762343 252.133088 L 242.483009 253.322796 -L 240.546662 252.259656 z " style="fill:#3f53c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 221.619597 256.522421 -L 224.880309 255.908919 -L 226.844353 255.675749 -L 223.565576 254.110878 -L 221.619597 256.522421 + <path clip-path="url(#p553f52e075)" d="M 216.906469 241.440129 +L 220.256261 249.372077 +L 222.165588 243.445196 +L 218.799874 233.843663 z -" style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 225.936449 226.549133 +" style="fill:#4f69d9;"/> + <path clip-path="url(#p553f52e075)" d="M 225.936449 226.549133 L 229.291628 236.709738 L 231.170063 227.075414 L 227.80359 215.516562 -L 225.936449 226.549133 z " style="fill:#688aef;"/> - <path clip-path="url(#p19582ab83f)" d="M 216.906469 241.440129 -L 220.256261 249.372077 -L 222.165588 243.445196 -L 218.799874 233.843663 -L 216.906469 241.440129 + <path clip-path="url(#p553f52e075)" d="M 221.619597 256.522421 +L 224.880309 255.908919 +L 226.844353 255.675749 +L 223.565576 254.110878 z -" style="fill:#4f69d9;"/> - <path clip-path="url(#p19582ab83f)" d="M 214.996556 247.610884 +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 214.996556 247.610884 L 218.328796 253.784792 L 220.256261 249.372077 L 216.906469 241.440129 -L 214.996556 247.610884 z -" style="fill:#465ecf;"/> - <path clip-path="url(#p19582ab83f)" d="M 283.110532 255.387268 +" style="fill:#455cce;"/> + <path clip-path="url(#p553f52e075)" d="M 283.110532 255.387268 L 286.443613 256.047049 L 288.288428 255.884902 L 284.963618 254.84622 -L 283.110532 255.387268 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 218.799874 233.843663 + <path clip-path="url(#p553f52e075)" d="M 218.799874 233.843663 L 222.165588 243.445196 L 224.058193 235.861943 L 220.678546 224.742085 -L 218.799874 233.843663 z " style="fill:#5b7ae5;"/> - <path clip-path="url(#p19582ab83f)" d="M 238.258731 214.160259 -L 241.590381 224.498178 -L 243.468868 211.415217 -L 240.129551 200.045529 -L 238.258731 214.160259 -z -" style="fill:#81a4fb;"/> - <path clip-path="url(#p19582ab83f)" d="M 235.326177 252.960941 + <path clip-path="url(#p553f52e075)" d="M 235.326177 252.960941 L 238.589251 248.905831 L 240.546662 252.259656 L 237.275268 253.912219 -L 235.326177 252.960941 z " style="fill:#4055c8;"/> - <path clip-path="url(#p19582ab83f)" d="M 213.069258 252.490253 + <path clip-path="url(#p553f52e075)" d="M 213.069258 252.490253 L 216.382761 256.879008 L 218.328796 253.784792 L 214.996556 247.610884 -L 213.069258 252.490253 z " style="fill:#3f53c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 216.382761 256.879008 -L 219.654017 257.624035 -L 221.619597 256.522421 -L 218.328796 253.784792 -L 216.382761 256.879008 -z -" style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 274.610784 251.952585 + <path clip-path="url(#p553f52e075)" d="M 274.610784 251.952585 L 277.945902 251.537179 L 279.782801 254.85669 L 276.461507 254.348427 -L 274.610784 251.952585 z -" style="fill:#3f53c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 243.468868 211.415217 -L 246.788692 221.328973 -L 248.676132 207.216255 -L 245.349334 196.38735 +" style="fill:#3e51c5;"/> + <path clip-path="url(#p553f52e075)" d="M 238.258731 214.160259 +L 241.590381 224.498178 L 243.468868 211.415217 +L 240.129551 200.045529 z -" style="fill:#86a9fc;"/> - <path clip-path="url(#p19582ab83f)" d="M 233.03915 215.519508 +" style="fill:#81a4fb;"/> + <path clip-path="url(#p553f52e075)" d="M 216.382761 256.879008 +L 219.654017 257.624035 +L 221.619597 256.522421 +L 218.328796 253.784792 +z +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 233.03915 215.519508 L 236.386071 226.391263 L 238.258731 214.160259 L 234.903316 202.196437 -L 233.03915 215.519508 z " style="fill:#7ea1fa;"/> - <path clip-path="url(#p19582ab83f)" d="M 249.048618 249.381176 + <path clip-path="url(#p553f52e075)" d="M 249.048618 249.381176 L 252.347072 245.450655 L 254.264249 250.662801 L 250.970176 252.399351 -L 249.048618 249.381176 z -" style="fill:#455cce;"/> - <path clip-path="url(#p19582ab83f)" d="M 230.103697 254.237646 -L 233.354975 250.10108 -L 235.326177 252.960941 -L 232.062273 254.724304 -L 230.103697 254.237646 +" style="fill:#445acc;"/> + <path clip-path="url(#p553f52e075)" d="M 243.468868 211.415217 +L 246.788692 221.328973 +L 248.676132 207.216255 +L 245.349334 196.38735 z -" style="fill:#3f53c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 286.443613 256.047049 +" style="fill:#88abfd;"/> + <path clip-path="url(#p553f52e075)" d="M 286.443613 256.047049 L 289.78095 256.90196 L 291.619435 256.865912 L 288.288428 255.884902 -L 286.443613 256.047049 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 220.678546 224.742085 + <path clip-path="url(#p553f52e075)" d="M 230.103697 254.237646 +L 233.354975 250.10108 +L 235.326177 252.960941 +L 232.062273 254.724304 +z +" style="fill:#3f53c6;"/> + <path clip-path="url(#p553f52e075)" d="M 220.678546 224.742085 L 224.058193 235.861943 L 225.936449 226.549133 L 222.545134 214.124373 -L 220.678546 224.742085 z " style="fill:#6c8ff1;"/> - <path clip-path="url(#p19582ab83f)" d="M 266.096411 248.988413 + <path clip-path="url(#p553f52e075)" d="M 266.096411 248.988413 L 269.428995 247.116304 L 271.283682 252.477654 L 267.9657 252.911816 -L 266.096411 248.988413 z -" style="fill:#455cce;"/> - <path clip-path="url(#p19582ab83f)" d="M 257.570153 248.010531 +" style="fill:#445acc;"/> + <path clip-path="url(#p553f52e075)" d="M 257.570153 248.010531 L 260.890163 244.797287 L 262.775672 250.738713 L 259.466729 252.079767 -L 257.570153 248.010531 z " style="fill:#465ecf;"/> - <path clip-path="url(#p19582ab83f)" d="M 224.880309 255.908919 -L 228.123334 252.187776 -L 230.103697 254.237646 -L 226.844353 255.675749 -L 224.880309 255.908919 -z -" style="fill:#3e51c5;"/> - <path clip-path="url(#p19582ab83f)" d="M 227.80359 215.516562 + <path clip-path="url(#p553f52e075)" d="M 227.80359 215.516562 L 231.170063 227.075414 L 233.03915 215.519508 L 229.663551 202.86838 -L 227.80359 215.516562 z " style="fill:#7ea1fa;"/> - <path clip-path="url(#p19582ab83f)" d="M 211.124579 256.253054 -L 214.418665 258.887585 -L 216.382761 256.879008 -L 213.069258 252.490253 -L 211.124579 256.253054 + <path clip-path="url(#p553f52e075)" d="M 224.880309 255.908919 +L 228.123334 252.187776 +L 230.103697 254.237646 +L 226.844353 255.675749 +z +" style="fill:#3e51c5;"/> + <path clip-path="url(#p553f52e075)" d="M 211.124579 256.253054 +L 214.418665 258.887585 +L 216.382761 256.879008 +L 213.069258 252.490253 z " style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 211.61358 238.088106 + <path clip-path="url(#p553f52e075)" d="M 211.61358 238.088106 L 214.996556 247.610884 L 216.906469 241.440129 L 213.508371 230.460116 -L 211.61358 238.088106 z -" style="fill:#5673e0;"/> - <path clip-path="url(#p19582ab83f)" d="M 209.70277 244.486428 +" style="fill:#5572df;"/> + <path clip-path="url(#p553f52e075)" d="M 209.70277 244.486428 L 213.069258 252.490253 L 214.996556 247.610884 L 211.61358 238.088106 -L 209.70277 244.486428 z -" style="fill:#4c66d6;"/> - <path clip-path="url(#p19582ab83f)" d="M 219.654017 257.624035 +" style="fill:#4b64d5;"/> + <path clip-path="url(#p553f52e075)" d="M 277.945902 251.537179 +L 281.287402 251.394518 +L 283.110532 255.387268 +L 279.782801 254.85669 +z +" style="fill:#4055c8;"/> + <path clip-path="url(#p553f52e075)" d="M 219.654017 257.624035 L 222.89578 254.877561 L 224.880309 255.908919 L 221.619597 256.522421 -L 219.654017 257.624035 z " style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 277.945902 251.537179 -L 281.287402 251.394518 -L 283.110532 255.387268 -L 279.782801 254.85669 -L 277.945902 251.537179 -z -" style="fill:#4257c9;"/> - <path clip-path="url(#p19582ab83f)" d="M 289.78095 256.90196 + <path clip-path="url(#p553f52e075)" d="M 289.78095 256.90196 L 293.121682 257.974498 L 294.956605 257.808307 L 291.619435 256.865912 -L 289.78095 256.90196 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 243.822141 248.698912 -L 247.108709 243.639859 -L 249.048618 249.381176 -L 245.762343 252.133088 -L 243.822141 248.698912 -z -" style="fill:#4961d2;"/> - <path clip-path="url(#p19582ab83f)" d="M 213.508371 230.460116 + <path clip-path="url(#p553f52e075)" d="M 213.508371 230.460116 L 216.906469 241.440129 L 218.799874 233.843663 L 215.388499 221.527641 -L 213.508371 230.460116 z " style="fill:#6384eb;"/> - <path clip-path="url(#p19582ab83f)" d="M 214.418665 258.887585 -L 217.6698 257.706363 -L 219.654017 257.624035 -L 216.382761 256.879008 -L 214.418665 258.887585 + <path clip-path="url(#p553f52e075)" d="M 243.822141 248.698912 +L 247.108709 243.639859 +L 249.048618 249.381176 +L 245.762343 252.133088 z -" style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 207.77539 249.77261 +" style="fill:#485fd1;"/> + <path clip-path="url(#p553f52e075)" d="M 207.77539 249.77261 L 211.124579 256.253054 L 213.069258 252.490253 L 209.70277 244.486428 -L 207.77539 249.77261 z " style="fill:#455cce;"/> - <path clip-path="url(#p19582ab83f)" d="M 222.545134 214.124373 + <path clip-path="url(#p553f52e075)" d="M 214.418665 258.887585 +L 217.6698 257.706363 +L 219.654017 257.624035 +L 216.382761 256.879008 +z +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 222.545134 214.124373 L 225.936449 226.549133 L 227.80359 215.516562 L 224.403051 202.059488 -L 222.545134 214.124373 z -" style="fill:#82a6fb;"/> - <path clip-path="url(#p19582ab83f)" d="M 209.163314 259.099979 -L 212.437865 260.064419 -L 214.418665 258.887585 -L 211.124579 256.253054 -L 209.163314 259.099979 +" style="fill:#81a4fb;"/> + <path clip-path="url(#p553f52e075)" d="M 269.428995 247.116304 +L 272.772438 245.381553 +L 274.610784 251.952585 +L 271.283682 252.477654 z -" style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 293.121682 257.974498 +" style="fill:#485fd1;"/> + <path clip-path="url(#p553f52e075)" d="M 293.121682 257.974498 L 296.465425 259.242845 L 298.300338 258.692861 L 294.956605 257.808307 -L 293.121682 257.974498 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 269.428995 247.116304 -L 272.772438 245.381553 -L 274.610784 251.952585 -L 271.283682 252.477654 -L 269.428995 247.116304 + <path clip-path="url(#p553f52e075)" d="M 215.388499 221.527641 +L 218.799874 233.843663 +L 220.678546 224.742085 +L 217.256138 211.271139 +z +" style="fill:#7396f5;"/> + <path clip-path="url(#p553f52e075)" d="M 209.163314 259.099979 +L 212.437865 260.064419 +L 214.418665 258.887585 +L 211.124579 256.253054 z -" style="fill:#4961d2;"/> - <path clip-path="url(#p19582ab83f)" d="M 205.831627 254.093837 +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 205.831627 254.093837 L 209.163314 259.099979 L 211.124579 256.253054 L 207.77539 249.77261 -L 205.831627 254.093837 z -" style="fill:#4055c8;"/> - <path clip-path="url(#p19582ab83f)" d="M 215.388499 221.527641 -L 218.799874 233.843663 -L 220.678546 224.742085 -L 217.256138 211.271139 -L 215.388499 221.527641 +" style="fill:#3f53c6;"/> + <path clip-path="url(#p553f52e075)" d="M 281.287402 251.394518 +L 284.633356 251.644833 +L 286.443613 256.047049 +L 283.110532 255.387268 z -" style="fill:#7597f6;"/> - <path clip-path="url(#p19582ab83f)" d="M 238.589251 248.905831 +" style="fill:#4257c9;"/> + <path clip-path="url(#p553f52e075)" d="M 238.589251 248.905831 L 241.860402 242.981162 L 243.822141 248.698912 L 240.546662 252.259656 -L 238.589251 248.905831 z " style="fill:#4a63d3;"/> - <path clip-path="url(#p19582ab83f)" d="M 281.287402 251.394518 -L 284.633356 251.644833 -L 286.443613 256.047049 -L 283.110532 255.387268 -L 281.287402 251.394518 + <path clip-path="url(#p553f52e075)" d="M 252.347072 245.450655 +L 255.661377 240.744048 +L 257.570153 248.010531 +L 254.264249 250.662801 z -" style="fill:#4358cb;"/> - <path clip-path="url(#p19582ab83f)" d="M 234.903316 202.196437 +" style="fill:#4e68d8;"/> + <path clip-path="url(#p553f52e075)" d="M 234.903316 202.196437 L 238.258731 214.160259 L 240.129551 200.045529 L 236.767246 187.375614 -L 234.903316 202.196437 z " style="fill:#9abbff;"/> - <path clip-path="url(#p19582ab83f)" d="M 240.129551 200.045529 + <path clip-path="url(#p553f52e075)" d="M 240.129551 200.045529 L 243.468868 211.415217 L 245.349334 196.38735 L 242.003287 184.3948 -L 240.129551 200.045529 z " style="fill:#9fbfff;"/> - <path clip-path="url(#p19582ab83f)" d="M 252.347072 245.450655 -L 255.661377 240.744048 -L 257.570153 248.010531 -L 254.264249 250.662801 -L 252.347072 245.450655 -z -" style="fill:#4e68d8;"/> - <path clip-path="url(#p19582ab83f)" d="M 260.890163 244.797287 + <path clip-path="url(#p553f52e075)" d="M 260.890163 244.797287 L 264.225123 241.367069 L 266.096411 248.988413 L 262.775672 250.738713 -L 260.890163 244.797287 z -" style="fill:#4f69d9;"/> - <path clip-path="url(#p19582ab83f)" d="M 229.663551 202.86838 +" style="fill:#4e68d8;"/> + <path clip-path="url(#p553f52e075)" d="M 229.663551 202.86838 L 233.03915 215.519508 L 234.903316 202.196437 L 231.520738 188.810796 -L 229.663551 202.86838 z " style="fill:#98b9ff;"/> - <path clip-path="url(#p19582ab83f)" d="M 233.354975 250.10108 + <path clip-path="url(#p553f52e075)" d="M 233.354975 250.10108 L 236.608991 243.680865 L 238.589251 248.905831 L 235.326177 252.960941 -L 233.354975 250.10108 z " style="fill:#4a63d3;"/> - <path clip-path="url(#p19582ab83f)" d="M 296.465425 259.242845 + <path clip-path="url(#p553f52e075)" d="M 296.465425 259.242845 L 299.81249 260.641508 L 301.65166 259.462811 L 298.300338 258.692861 -L 296.465425 259.242845 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 228.123334 252.187776 -L 231.361157 245.740647 -L 233.354975 250.10108 -L 230.103697 254.237646 -L 228.123334 252.187776 -z -" style="fill:#485fd1;"/> - <path clip-path="url(#p19582ab83f)" d="M 203.87229 257.614047 -L 207.186925 261.243452 -L 209.163314 259.099979 -L 205.831627 254.093837 -L 203.87229 257.614047 -z -" style="fill:#3d50c3;"/> - <path clip-path="url(#p19582ab83f)" d="M 217.6698 257.706363 -L 220.892115 252.928962 -L 222.89578 254.877561 -L 219.654017 257.624035 -L 217.6698 257.706363 -z -" style="fill:#3f53c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 204.362045 239.615293 + <path clip-path="url(#p553f52e075)" d="M 204.362045 239.615293 L 207.77539 249.77261 L 209.70277 244.486428 L 206.275623 233.08603 -L 204.362045 239.615293 z -" style="fill:#5673e0;"/> - <path clip-path="url(#p19582ab83f)" d="M 206.275623 233.08603 +" style="fill:#5572df;"/> + <path clip-path="url(#p553f52e075)" d="M 206.275623 233.08603 L 209.70277 244.486428 L 211.61358 238.088106 L 208.173617 225.484153 -L 206.275623 233.08603 z -" style="fill:#6282ea;"/> - <path clip-path="url(#p19582ab83f)" d="M 222.89578 254.877561 -L 226.121738 248.957131 -L 228.123334 252.187776 -L 224.880309 255.908919 +" style="fill:#6180e9;"/> + <path clip-path="url(#p553f52e075)" d="M 284.633356 251.644833 +L 287.9818 252.361948 +L 289.78095 256.90196 +L 286.443613 256.047049 +z +" style="fill:#4358cb;"/> + <path clip-path="url(#p553f52e075)" d="M 203.87229 257.614047 +L 207.186925 261.243452 +L 209.163314 259.099979 +L 205.831627 254.093837 +z +" style="fill:#3d50c3;"/> + <path clip-path="url(#p553f52e075)" d="M 228.123334 252.187776 +L 231.361157 245.740647 +L 233.354975 250.10108 +L 230.103697 254.237646 +z +" style="fill:#485fd1;"/> + <path clip-path="url(#p553f52e075)" d="M 217.6698 257.706363 +L 220.892115 252.928962 L 222.89578 254.877561 +L 219.654017 257.624035 z -" style="fill:#445acc;"/> - <path clip-path="url(#p19582ab83f)" d="M 212.437865 260.064419 +" style="fill:#4055c8;"/> + <path clip-path="url(#p553f52e075)" d="M 212.437865 260.064419 L 215.668799 257.075044 L 217.6698 257.706363 L 214.418665 258.887585 -L 212.437865 260.064419 z -" style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 284.633356 251.644833 -L 287.9818 252.361948 -L 289.78095 256.90196 -L 286.443613 256.047049 -L 284.633356 251.644833 +" style="fill:#3d50c3;"/> + <path clip-path="url(#p553f52e075)" d="M 222.89578 254.877561 +L 226.121738 248.957131 +L 228.123334 252.187776 +L 224.880309 255.908919 z " style="fill:#445acc;"/> - <path clip-path="url(#p19582ab83f)" d="M 217.256138 211.271139 + <path clip-path="url(#p553f52e075)" d="M 217.256138 211.271139 L 220.678546 224.742085 L 222.545134 214.124373 L 219.114234 199.737639 -L 217.256138 211.271139 z -" style="fill:#89acfd;"/> - <path clip-path="url(#p19582ab83f)" d="M 202.432429 245.166506 +" style="fill:#88abfd;"/> + <path clip-path="url(#p553f52e075)" d="M 202.432429 245.166506 L 205.831627 254.093837 L 207.77539 249.77261 L 204.362045 239.615293 -L 202.432429 245.166506 z -" style="fill:#4f69d9;"/> - <path clip-path="url(#p19582ab83f)" d="M 207.186925 261.243452 +" style="fill:#4e68d8;"/> + <path clip-path="url(#p553f52e075)" d="M 208.173617 225.484153 +L 211.61358 238.088106 +L 213.508371 230.460116 +L 210.057158 216.747538 +z +" style="fill:#6e90f2;"/> + <path clip-path="url(#p553f52e075)" d="M 272.772438 245.381553 +L 276.124915 244.005898 +L 277.945902 251.537179 +L 274.610784 251.952585 +z +" style="fill:#4c66d6;"/> + <path clip-path="url(#p553f52e075)" d="M 207.186925 261.243452 L 210.442422 260.669138 L 212.437865 260.064419 L 209.163314 259.099979 -L 207.186925 261.243452 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 208.173617 225.484153 -L 211.61358 238.088106 -L 213.508371 230.460116 -L 210.057158 216.747538 -L 208.173617 225.484153 -z -" style="fill:#6f92f3;"/> - <path clip-path="url(#p19582ab83f)" d="M 224.403051 202.059488 + <path clip-path="url(#p553f52e075)" d="M 224.403051 202.059488 L 227.80359 215.516562 L 229.663551 202.86838 L 226.256315 188.705144 -L 224.403051 202.059488 -z -" style="fill:#9bbcff;"/> - <path clip-path="url(#p19582ab83f)" d="M 272.772438 245.381553 -L 276.124915 244.005898 -L 277.945902 251.537179 -L 274.610784 251.952585 -L 272.772438 245.381553 z -" style="fill:#4e68d8;"/> - <path clip-path="url(#p19582ab83f)" d="M 299.81249 260.641508 +" style="fill:#9abbff;"/> + <path clip-path="url(#p553f52e075)" d="M 299.81249 260.641508 L 303.164085 262.063559 L 305.012386 260.026308 L 301.65166 259.462811 -L 299.81249 260.641508 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 247.108709 243.639859 + <path clip-path="url(#p553f52e075)" d="M 247.108709 243.639859 L 250.411755 237.527578 L 252.347072 245.450655 L 249.048618 249.381176 -L 247.108709 243.639859 z " style="fill:#5470de;"/> - <path clip-path="url(#p19582ab83f)" d="M 200.4869 249.855118 -L 203.87229 257.614047 -L 205.831627 254.093837 -L 202.432429 245.166506 -L 200.4869 249.855118 -z -" style="fill:#4961d2;"/> - <path clip-path="url(#p19582ab83f)" d="M 287.9818 252.361948 + <path clip-path="url(#p553f52e075)" d="M 287.9818 252.361948 L 291.331 253.571252 L 293.121682 257.974498 L 289.78095 256.90196 -L 287.9818 252.361948 z -" style="fill:#445acc;"/> - <path clip-path="url(#p19582ab83f)" d="M 210.057158 216.747538 +" style="fill:#4358cb;"/> + <path clip-path="url(#p553f52e075)" d="M 200.4869 249.855118 +L 203.87229 257.614047 +L 205.831627 254.093837 +L 202.432429 245.166506 +z +" style="fill:#485fd1;"/> + <path clip-path="url(#p553f52e075)" d="M 210.057158 216.747538 L 213.508371 230.460116 L 215.388499 221.527641 L 211.928105 206.857912 -L 210.057158 216.747538 z -" style="fill:#80a3fa;"/> - <path clip-path="url(#p19582ab83f)" d="M 201.89867 260.501739 +" style="fill:#7ea1fa;"/> + <path clip-path="url(#p553f52e075)" d="M 201.89867 260.501739 L 205.197378 262.894541 L 207.186925 261.243452 L 203.87229 257.614047 -L 201.89867 260.501739 -z -" style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 303.164085 262.063559 -L 306.522473 263.364577 -L 308.385236 260.260637 -L 305.012386 260.026308 -L 303.164085 262.063559 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 264.225123 241.367069 + <path clip-path="url(#p553f52e075)" d="M 264.225123 241.367069 L 267.574551 238.03822 L 269.428995 247.116304 L 266.096411 248.988413 -L 264.225123 241.367069 z -" style="fill:#5673e0;"/> - <path clip-path="url(#p19582ab83f)" d="M 255.661377 240.744048 -L 258.993554 235.661306 -L 260.890163 244.797287 -L 257.570153 248.010531 -L 255.661377 240.744048 +" style="fill:#5572df;"/> + <path clip-path="url(#p553f52e075)" d="M 303.164085 262.063559 +L 306.522473 263.364577 +L 308.385236 260.260637 +L 305.012386 260.026308 z -" style="fill:#5977e3;"/> - <path clip-path="url(#p19582ab83f)" d="M 291.331 253.571252 +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 291.331 253.571252 L 294.679712 255.248954 L 296.465425 259.242845 L 293.121682 257.974498 -L 291.331 253.571252 z -" style="fill:#4358cb;"/> - <path clip-path="url(#p19582ab83f)" d="M 198.526038 253.806314 +" style="fill:#4257c9;"/> + <path clip-path="url(#p553f52e075)" d="M 255.661377 240.744048 +L 258.993554 235.661306 +L 260.890163 244.797287 +L 257.570153 248.010531 +z +" style="fill:#5875e1;"/> + <path clip-path="url(#p553f52e075)" d="M 198.526038 253.806314 L 201.89867 260.501739 L 203.87229 257.614047 L 200.4869 249.855118 -L 198.526038 253.806314 z -" style="fill:#445acc;"/> - <path clip-path="url(#p19582ab83f)" d="M 236.767246 187.375614 -L 240.129551 200.045529 -L 242.003287 184.3948 -L 238.635546 171.441384 -L 236.767246 187.375614 +" style="fill:#4358cb;"/> + <path clip-path="url(#p553f52e075)" d="M 276.124915 244.005898 +L 279.483998 243.16716 +L 281.287402 251.394518 +L 277.945902 251.537179 z -" style="fill:#b9d0f9;"/> - <path clip-path="url(#p19582ab83f)" d="M 219.114234 199.737639 +" style="fill:#506bda;"/> + <path clip-path="url(#p553f52e075)" d="M 219.114234 199.737639 L 222.545134 214.124373 L 224.403051 202.059488 L 220.966397 187.049907 -L 219.114234 199.737639 -z -" style="fill:#a1c0ff;"/> - <path clip-path="url(#p19582ab83f)" d="M 276.124915 244.005898 -L 279.483998 243.16716 -L 281.287402 251.394518 -L 277.945902 251.537179 -L 276.124915 244.005898 z -" style="fill:#516ddb;"/> - <path clip-path="url(#p19582ab83f)" d="M 241.860402 242.981162 +" style="fill:#9fbfff;"/> + <path clip-path="url(#p553f52e075)" d="M 236.767246 187.375614 +L 240.129551 200.045529 +L 242.003287 184.3948 +L 238.635546 171.441384 +z +" style="fill:#b9d0f9;"/> + <path clip-path="url(#p553f52e075)" d="M 241.860402 242.981162 L 245.147005 235.66558 L 247.108709 243.639859 L 243.822141 248.698912 -L 241.860402 242.981162 z " style="fill:#5875e1;"/> - <path clip-path="url(#p19582ab83f)" d="M 205.197378 262.894541 + <path clip-path="url(#p553f52e075)" d="M 231.520738 188.810796 +L 234.903316 202.196437 +L 236.767246 187.375614 +L 233.379742 173.65497 +z +" style="fill:#b6cefa;"/> + <path clip-path="url(#p553f52e075)" d="M 205.197378 262.894541 L 208.434917 260.953247 L 210.442422 260.669138 L 207.186925 261.243452 -L 205.197378 262.894541 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 210.442422 260.669138 + <path clip-path="url(#p553f52e075)" d="M 211.928105 206.857912 +L 215.388499 221.527641 +L 217.256138 211.271139 +L 213.78904 195.85145 +z +" style="fill:#92b4fe;"/> + <path clip-path="url(#p553f52e075)" d="M 210.442422 260.669138 L 213.653601 256.034249 L 215.668799 257.075044 L 212.437865 260.064419 -L 210.442422 260.669138 z " style="fill:#3f53c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 231.520738 188.810796 -L 234.903316 202.196437 -L 236.767246 187.375614 -L 233.379742 173.65497 -L 231.520738 188.810796 -z -" style="fill:#b5cdfa;"/> - <path clip-path="url(#p19582ab83f)" d="M 211.928105 206.857912 -L 215.388499 221.527641 -L 217.256138 211.271139 -L 213.78904 195.85145 -L 211.928105 206.857912 + <path clip-path="url(#p553f52e075)" d="M 294.679712 255.248954 +L 298.02744 257.322549 +L 299.81249 260.641508 +L 296.465425 259.242845 z -" style="fill:#93b5fe;"/> - <path clip-path="url(#p19582ab83f)" d="M 306.522473 263.364577 +" style="fill:#4055c8;"/> + <path clip-path="url(#p553f52e075)" d="M 306.522473 263.364577 L 309.891073 264.368432 L 311.773891 260.018225 L 308.385236 260.260637 -L 306.522473 263.364577 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 215.668799 257.075044 + <path clip-path="url(#p553f52e075)" d="M 215.668799 257.075044 L 218.871595 250.417878 L 220.892115 252.928962 L 217.6698 257.706363 -L 215.668799 257.075044 -z -" style="fill:#455cce;"/> - <path clip-path="url(#p19582ab83f)" d="M 294.679712 255.248954 -L 298.02744 257.322549 -L 299.81249 260.641508 -L 296.465425 259.242845 -L 294.679712 255.248954 z -" style="fill:#4257c9;"/> - <path clip-path="url(#p19582ab83f)" d="M 199.912358 262.918913 +" style="fill:#465ecf;"/> + <path clip-path="url(#p553f52e075)" d="M 199.912358 262.918913 L 203.196949 264.251345 L 205.197378 262.894541 L 201.89867 260.501739 -L 199.912358 262.918913 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 226.256315 188.705144 + <path clip-path="url(#p553f52e075)" d="M 196.550716 257.144696 +L 199.912358 262.918913 +L 201.89867 260.501739 +L 198.526038 253.806314 +z +" style="fill:#4055c8;"/> + <path clip-path="url(#p553f52e075)" d="M 226.256315 188.705144 L 229.663551 202.86838 L 231.520738 188.810796 L 228.109325 174.312685 -L 226.256315 188.705144 z " style="fill:#b6cefa;"/> - <path clip-path="url(#p19582ab83f)" d="M 196.550716 257.144696 -L 199.912358 262.918913 -L 201.89867 260.501739 -L 198.526038 253.806314 -L 196.550716 257.144696 + <path clip-path="url(#p553f52e075)" d="M 298.02744 257.322549 +L 301.374661 259.67259 +L 303.164085 262.063559 +L 299.81249 260.641508 z -" style="fill:#4257c9;"/> - <path clip-path="url(#p19582ab83f)" d="M 236.608991 243.680865 +" style="fill:#3e51c5;"/> + <path clip-path="url(#p553f52e075)" d="M 236.608991 243.680865 L 239.875274 235.47438 L 241.860402 242.981162 L 238.589251 248.905831 -L 236.608991 243.680865 z " style="fill:#5977e3;"/> - <path clip-path="url(#p19582ab83f)" d="M 220.892115 252.928962 + <path clip-path="url(#p553f52e075)" d="M 279.483998 243.16716 +L 282.846924 242.995049 +L 284.633356 251.644833 +L 281.287402 251.394518 +z +" style="fill:#536edd;"/> + <path clip-path="url(#p553f52e075)" d="M 220.892115 252.928962 L 224.100579 244.94773 L 226.121738 248.957131 L 222.89578 254.877561 -L 220.892115 252.928962 -z -" style="fill:#4c66d6;"/> - <path clip-path="url(#p19582ab83f)" d="M 298.02744 257.322549 -L 301.374661 259.67259 -L 303.164085 262.063559 -L 299.81249 260.641508 -L 298.02744 257.322549 -z -" style="fill:#4055c8;"/> - <path clip-path="url(#p19582ab83f)" d="M 226.121738 248.957131 -L 229.345488 240.32355 -L 231.361157 245.740647 -L 228.123334 252.187776 -L 226.121738 248.957131 z -" style="fill:#536edd;"/> - <path clip-path="url(#p19582ab83f)" d="M 231.361157 245.740647 +" style="fill:#4e68d8;"/> + <path clip-path="url(#p553f52e075)" d="M 231.361157 245.740647 L 234.605461 237.061442 L 236.608991 243.680865 L 233.354975 250.10108 -L 231.361157 245.740647 z " style="fill:#5875e1;"/> - <path clip-path="url(#p19582ab83f)" d="M 279.483998 243.16716 -L 282.846924 242.995049 -L 284.633356 251.644833 -L 281.287402 251.394518 -L 279.483998 243.16716 + <path clip-path="url(#p553f52e075)" d="M 226.121738 248.957131 +L 229.345488 240.32355 +L 231.361157 245.740647 +L 228.123334 252.187776 z " style="fill:#5470de;"/> - <path clip-path="url(#p19582ab83f)" d="M 309.891073 264.368432 -L 313.274494 264.875034 -L 315.182988 259.134443 -L 311.773891 260.018225 -L 309.891073 264.368432 + <path clip-path="url(#p553f52e075)" d="M 267.574551 238.03822 +L 270.936822 235.091843 +L 272.772438 245.381553 +L 269.428995 247.116304 z -" style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 301.374661 259.67259 +" style="fill:#5d7ce6;"/> + <path clip-path="url(#p553f52e075)" d="M 301.374661 259.67259 L 304.723034 262.135998 L 306.522473 263.364577 L 303.164085 262.063559 -L 301.374661 259.67259 -z -" style="fill:#3e51c5;"/> - <path clip-path="url(#p19582ab83f)" d="M 267.574551 238.03822 -L 270.936822 235.091843 -L 272.772438 245.381553 -L 269.428995 247.116304 -L 267.574551 238.03822 z -" style="fill:#5e7de7;"/> - <path clip-path="url(#p19582ab83f)" d="M 250.411755 237.527578 +" style="fill:#3d50c3;"/> + <path clip-path="url(#p553f52e075)" d="M 250.411755 237.527578 L 253.734851 230.816732 L 255.661377 240.744048 L 252.347072 245.450655 -L 250.411755 237.527578 -z -" style="fill:#6282ea;"/> - <path clip-path="url(#p19582ab83f)" d="M 203.196949 264.251345 -L 206.418255 261.148193 -L 208.434917 260.953247 -L 205.197378 262.894541 -L 203.196949 264.251345 z -" style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 213.78904 195.85145 +" style="fill:#6180e9;"/> + <path clip-path="url(#p553f52e075)" d="M 213.78904 195.85145 L 217.256138 211.271139 L 219.114234 199.737639 L 215.643213 183.827827 -L 213.78904 195.85145 z -" style="fill:#a9c6fd;"/> - <path clip-path="url(#p19582ab83f)" d="M 220.966397 187.049907 +" style="fill:#a7c5fe;"/> + <path clip-path="url(#p553f52e075)" d="M 309.891073 264.368432 +L 313.274494 264.875034 +L 315.182988 259.134443 +L 311.773891 260.018225 +z +" style="fill:#3d50c3;"/> + <path clip-path="url(#p553f52e075)" d="M 220.966397 187.049907 L 224.403051 202.059488 L 226.256315 188.705144 L 222.816736 173.412517 -L 220.966397 187.049907 z " style="fill:#b9d0f9;"/> - <path clip-path="url(#p19582ab83f)" d="M 194.561929 259.98516 + <path clip-path="url(#p553f52e075)" d="M 203.196949 264.251345 +L 206.418255 261.148193 +L 208.434917 260.953247 +L 205.197378 262.894541 +z +" style="fill:#3d50c3;"/> + <path clip-path="url(#p553f52e075)" d="M 194.561929 259.98516 L 197.91506 265.011463 L 199.912358 262.918913 L 196.550716 257.144696 -L 194.561929 259.98516 z -" style="fill:#3f53c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 197.91506 265.011463 -L 201.188024 265.489145 -L 203.196949 264.251345 -L 199.912358 262.918913 -L 197.91506 265.011463 -z -" style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 304.723034 262.135998 +" style="fill:#3e51c5;"/> + <path clip-path="url(#p553f52e075)" d="M 304.723034 262.135998 L 308.075542 264.51123 L 309.891073 264.368432 L 306.522473 263.364577 -L 304.723034 262.135998 z -" style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 208.434917 260.953247 -L 211.62733 254.872204 -L 213.653601 256.034249 -L 210.442422 260.669138 -L 208.434917 260.953247 +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 282.846924 242.995049 +L 286.210861 243.568739 +L 287.9818 252.361948 +L 284.633356 251.644833 z -" style="fill:#4358cb;"/> - <path clip-path="url(#p19582ab83f)" d="M 258.993554 235.661306 +" style="fill:#5470de;"/> + <path clip-path="url(#p553f52e075)" d="M 197.91506 265.011463 +L 201.188024 265.489145 +L 203.196949 264.251345 +L 199.912358 262.918913 +z +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 258.993554 235.661306 L 262.344018 230.580823 L 264.225123 241.367069 L 260.890163 244.797287 -L 258.993554 235.661306 z -" style="fill:#6485ec;"/> - <path clip-path="url(#p19582ab83f)" d="M 282.846924 242.995049 -L 286.210861 243.568739 -L 287.9818 252.361948 -L 284.633356 251.644833 -L 282.846924 242.995049 +" style="fill:#6384eb;"/> + <path clip-path="url(#p553f52e075)" d="M 208.434917 260.953247 +L 211.62733 254.872204 +L 213.653601 256.034249 +L 210.442422 260.669138 z -" style="fill:#5673e0;"/> - <path clip-path="url(#p19582ab83f)" d="M 308.075542 264.51123 +" style="fill:#445acc;"/> + <path clip-path="url(#p553f52e075)" d="M 308.075542 264.51123 L 311.43658 266.565574 L 313.274494 264.875034 L 309.891073 264.368432 -L 308.075542 264.51123 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 313.274494 264.875034 -L 316.678477 264.670049 -L 318.618024 257.43712 -L 315.182988 259.134443 -L 313.274494 264.875034 -z -" style="fill:#3f53c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 233.379742 173.65497 + <path clip-path="url(#p553f52e075)" d="M 233.379742 173.65497 L 236.767246 187.375614 L 238.635546 171.441384 L 235.245013 157.813874 -L 233.379742 173.65497 -z -" style="fill:#d1dae9;"/> - <path clip-path="url(#p19582ab83f)" d="M 213.653601 256.034249 -L 216.837251 247.688866 -L 218.871595 250.417878 -L 215.668799 257.075044 -L 213.653601 256.034249 z -" style="fill:#4c66d6;"/> - <path clip-path="url(#p19582ab83f)" d="M 286.210861 243.568739 +" style="fill:#d2dbe8;"/> + <path clip-path="url(#p553f52e075)" d="M 286.210861 243.568739 L 289.573187 244.915626 L 291.331 253.571252 L 287.9818 252.361948 -L 286.210861 243.568739 z -" style="fill:#5673e0;"/> - <path clip-path="url(#p19582ab83f)" d="M 228.109325 174.312685 -L 231.520738 188.810796 -L 233.379742 173.65497 -L 229.966574 159.226955 -L 228.109325 174.312685 +" style="fill:#5470de;"/> + <path clip-path="url(#p553f52e075)" d="M 313.274494 264.875034 +L 316.678477 264.670049 +L 318.618024 257.43712 +L 315.182988 259.134443 z -" style="fill:#cfdaea;"/> - <path clip-path="url(#p19582ab83f)" d="M 192.560617 262.425176 +" style="fill:#3f53c6;"/> + <path clip-path="url(#p553f52e075)" d="M 213.653601 256.034249 +L 216.837251 247.688866 +L 218.871595 250.417878 +L 215.668799 257.075044 +z +" style="fill:#4e68d8;"/> + <path clip-path="url(#p553f52e075)" d="M 192.560617 262.425176 L 195.908398 266.901202 L 197.91506 265.011463 L 194.561929 259.98516 -L 192.560617 262.425176 z -" style="fill:#3e51c5;"/> - <path clip-path="url(#p19582ab83f)" d="M 245.147005 235.66558 +" style="fill:#3d50c3;"/> + <path clip-path="url(#p553f52e075)" d="M 270.936822 235.091843 +L 274.309397 232.763759 +L 276.124915 244.005898 +L 272.772438 245.381553 +z +" style="fill:#6384eb;"/> + <path clip-path="url(#p553f52e075)" d="M 245.147005 235.66558 L 248.45454 227.464958 L 250.411755 237.527578 L 247.108709 243.639859 -L 245.147005 235.66558 z " style="fill:#688aef;"/> - <path clip-path="url(#p19582ab83f)" d="M 270.936822 235.091843 -L 274.309397 232.763759 -L 276.124915 244.005898 -L 272.772438 245.381553 -L 270.936822 235.091843 -z -" style="fill:#6485ec;"/> - <path clip-path="url(#p19582ab83f)" d="M 201.188024 265.489145 -L 204.395444 261.455596 -L 206.418255 261.148193 -L 203.196949 264.251345 -L 201.188024 265.489145 + <path clip-path="url(#p553f52e075)" d="M 228.109325 174.312685 +L 231.520738 188.810796 +L 233.379742 173.65497 +L 229.966574 159.226955 z -" style="fill:#3e51c5;"/> - <path clip-path="url(#p19582ab83f)" d="M 215.643213 183.827827 +" style="fill:#cfdaea;"/> + <path clip-path="url(#p553f52e075)" d="M 215.643213 183.827827 L 219.114234 199.737639 L 220.966397 187.049907 L 217.494426 170.956845 -L 215.643213 183.827827 z -" style="fill:#c0d4f5;"/> - <path clip-path="url(#p19582ab83f)" d="M 195.908398 266.901202 +" style="fill:#bfd3f6;"/> + <path clip-path="url(#p553f52e075)" d="M 195.908398 266.901202 L 199.17289 266.752446 L 201.188024 265.489145 L 197.91506 265.011463 -L 195.908398 266.901202 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 311.43658 266.565574 + <path clip-path="url(#p553f52e075)" d="M 289.573187 244.915626 +L 292.931766 247.010873 +L 294.679712 255.248954 +L 291.331 253.571252 +z +" style="fill:#536edd;"/> + <path clip-path="url(#p553f52e075)" d="M 311.43658 266.565574 L 314.811941 268.044753 L 316.678477 264.670049 L 313.274494 264.875034 -L 311.43658 266.565574 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 218.871595 250.417878 + <path clip-path="url(#p553f52e075)" d="M 201.188024 265.489145 +L 204.395444 261.455596 +L 206.418255 261.148193 +L 203.196949 264.251345 +z +" style="fill:#3e51c5;"/> + <path clip-path="url(#p553f52e075)" d="M 218.871595 250.417878 L 222.062488 240.559667 L 224.100579 244.94773 L 220.892115 252.928962 -L 218.871595 250.417878 z -" style="fill:#5673e0;"/> - <path clip-path="url(#p19582ab83f)" d="M 289.573187 244.915626 -L 292.931766 247.010873 +" style="fill:#5875e1;"/> + <path clip-path="url(#p553f52e075)" d="M 292.931766 247.010873 +L 296.285221 249.777569 +L 298.02744 257.322549 L 294.679712 255.248954 -L 291.331 253.571252 -L 289.573187 244.915626 z -" style="fill:#5572df;"/> - <path clip-path="url(#p19582ab83f)" d="M 222.816736 173.412517 +" style="fill:#506bda;"/> + <path clip-path="url(#p553f52e075)" d="M 222.816736 173.412517 L 226.256315 188.705144 L 228.109325 174.312685 L 224.669628 159.113823 -L 222.816736 173.412517 z " style="fill:#d2dbe8;"/> - <path clip-path="url(#p19582ab83f)" d="M 206.418255 261.148193 + <path clip-path="url(#p553f52e075)" d="M 296.285221 249.777569 +L 299.6332 253.087665 +L 301.374661 259.67259 +L 298.02744 257.322549 +z +" style="fill:#4c66d6;"/> + <path clip-path="url(#p553f52e075)" d="M 239.875274 235.47438 +L 243.161522 226.030187 +L 245.147005 235.66558 +L 241.860402 242.981162 +z +" style="fill:#6c8ff1;"/> + <path clip-path="url(#p553f52e075)" d="M 206.418255 261.148193 L 209.593431 253.849203 L 211.62733 254.872204 L 208.434917 260.953247 -L 206.418255 261.148193 z " style="fill:#485fd1;"/> - <path clip-path="url(#p19582ab83f)" d="M 316.678477 264.670049 + <path clip-path="url(#p553f52e075)" d="M 262.344018 230.580823 +L 265.711731 225.844148 +L 267.574551 238.03822 +L 264.225123 241.367069 +z +" style="fill:#6e90f2;"/> + <path clip-path="url(#p553f52e075)" d="M 190.547481 264.538662 +L 193.893716 268.679626 +L 195.908398 266.901202 +L 192.560617 262.425176 +z +" style="fill:#3d50c3;"/> + <path clip-path="url(#p553f52e075)" d="M 253.734851 230.816732 +L 257.079701 223.947581 +L 258.993554 235.661306 +L 255.661377 240.744048 +z +" style="fill:#7093f3;"/> + <path clip-path="url(#p553f52e075)" d="M 316.678477 264.670049 L 320.109746 263.536463 L 322.085166 254.757591 L 318.618024 257.43712 -L 316.678477 264.670049 -z -" style="fill:#4358cb;"/> - <path clip-path="url(#p19582ab83f)" d="M 239.875274 235.47438 -L 243.161522 226.030187 -L 245.147005 235.66558 -L 241.860402 242.981162 -L 239.875274 235.47438 z -" style="fill:#6c8ff1;"/> - <path clip-path="url(#p19582ab83f)" d="M 292.931766 247.010873 -L 296.285221 249.777569 -L 298.02744 257.322549 -L 294.679712 255.248954 -L 292.931766 247.010873 +" style="fill:#455cce;"/> + <path clip-path="url(#p553f52e075)" d="M 299.6332 253.087665 +L 302.976618 256.76414 +L 304.723034 262.135998 +L 301.374661 259.67259 z -" style="fill:#536edd;"/> - <path clip-path="url(#p19582ab83f)" d="M 314.811941 268.044753 +" style="fill:#485fd1;"/> + <path clip-path="url(#p553f52e075)" d="M 314.811941 268.044753 L 318.208705 268.684779 L 320.109746 263.536463 L 316.678477 264.670049 -L 314.811941 268.044753 z " style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 224.100579 244.94773 + <path clip-path="url(#p553f52e075)" d="M 224.100579 244.94773 L 227.309896 234.304011 L 229.345488 240.32355 L 226.121738 248.957131 -L 224.100579 244.94773 z " style="fill:#6180e9;"/> - <path clip-path="url(#p19582ab83f)" d="M 190.547481 264.538662 -L 193.893716 268.679626 -L 195.908398 266.901202 -L 192.560617 262.425176 -L 190.547481 264.538662 -z -" style="fill:#3d50c3;"/> - <path clip-path="url(#p19582ab83f)" d="M 253.734851 230.816732 -L 257.079701 223.947581 -L 258.993554 235.661306 -L 255.661377 240.744048 -L 253.734851 230.816732 -z -" style="fill:#7295f4;"/> - <path clip-path="url(#p19582ab83f)" d="M 296.285221 249.777569 -L 299.6332 253.087665 -L 301.374661 259.67259 -L 298.02744 257.322549 -L 296.285221 249.777569 -z -" style="fill:#4f69d9;"/> - <path clip-path="url(#p19582ab83f)" d="M 262.344018 230.580823 -L 265.711731 225.844148 -L 267.574551 238.03822 -L 264.225123 241.367069 -L 262.344018 230.580823 + <path clip-path="url(#p553f52e075)" d="M 274.309397 232.763759 +L 277.689093 231.239739 +L 279.483998 243.16716 +L 276.124915 244.005898 z -" style="fill:#7093f3;"/> - <path clip-path="url(#p19582ab83f)" d="M 299.6332 253.087665 -L 302.976618 256.76414 +" style="fill:#688aef;"/> + <path clip-path="url(#p553f52e075)" d="M 302.976618 256.76414 +L 306.317853 260.584955 +L 308.075542 264.51123 L 304.723034 262.135998 -L 301.374661 259.67259 -L 299.6332 253.087665 z -" style="fill:#4a63d3;"/> - <path clip-path="url(#p19582ab83f)" d="M 234.605461 237.061442 +" style="fill:#445acc;"/> + <path clip-path="url(#p553f52e075)" d="M 234.605461 237.061442 L 237.866365 226.725056 L 239.875274 235.47438 L 236.608991 243.680865 -L 234.605461 237.061442 z " style="fill:#6c8ff1;"/> - <path clip-path="url(#p19582ab83f)" d="M 229.345488 240.32355 -L 232.57958 229.552243 -L 234.605461 237.061442 -L 231.361157 245.740647 -L 229.345488 240.32355 + <path clip-path="url(#p553f52e075)" d="M 306.317853 260.584955 +L 309.660891 264.289358 +L 311.43658 266.565574 +L 308.075542 264.51123 z -" style="fill:#6788ee;"/> - <path clip-path="url(#p19582ab83f)" d="M 193.893716 268.679626 +" style="fill:#3f53c6;"/> + <path clip-path="url(#p553f52e075)" d="M 193.893716 268.679626 L 197.153528 268.14892 L 199.17289 266.752446 L 195.908398 266.901202 -L 193.893716 268.679626 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 274.309397 232.763759 -L 277.689093 231.239739 -L 279.483998 243.16716 -L 276.124915 244.005898 -L 274.309397 232.763759 -z -" style="fill:#6b8df0;"/> - <path clip-path="url(#p19582ab83f)" d="M 302.976618 256.76414 -L 306.317853 260.584955 -L 308.075542 264.51123 -L 304.723034 262.135998 -L 302.976618 256.76414 + <path clip-path="url(#p553f52e075)" d="M 229.345488 240.32355 +L 232.57958 229.552243 +L 234.605461 237.061442 +L 231.361157 245.740647 z -" style="fill:#465ecf;"/> - <path clip-path="url(#p19582ab83f)" d="M 199.17289 266.752446 +" style="fill:#688aef;"/> + <path clip-path="url(#p553f52e075)" d="M 199.17289 266.752446 L 202.369387 262.039692 L 204.395444 261.455596 L 201.188024 265.489145 -L 199.17289 266.752446 z -" style="fill:#3f53c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 306.317853 260.584955 -L 309.660891 264.289358 +" style="fill:#4055c8;"/> + <path clip-path="url(#p553f52e075)" d="M 309.660891 264.289358 +L 313.011368 267.586929 +L 314.811941 268.044753 L 311.43658 266.565574 -L 308.075542 264.51123 -L 306.317853 260.584955 -z -" style="fill:#4257c9;"/> - <path clip-path="url(#p19582ab83f)" d="M 211.62733 254.872204 -L 214.792653 245.061296 -L 216.837251 247.688866 -L 213.653601 256.034249 -L 211.62733 254.872204 z -" style="fill:#5470de;"/> - <path clip-path="url(#p19582ab83f)" d="M 217.494426 170.956845 +" style="fill:#3d50c3;"/> + <path clip-path="url(#p553f52e075)" d="M 217.494426 170.956845 L 220.966397 187.049907 L 222.816736 173.412517 L 219.346855 157.481747 -L 217.494426 170.956845 z " style="fill:#d6dce4;"/> - <path clip-path="url(#p19582ab83f)" d="M 309.660891 264.289358 -L 313.011368 267.586929 -L 314.811941 268.044753 -L 311.43658 266.565574 -L 309.660891 264.289358 -z -" style="fill:#3e51c5;"/> - <path clip-path="url(#p19582ab83f)" d="M 318.208705 268.684779 -L 321.635012 268.225838 -L 323.575742 261.267735 -L 320.109746 263.536463 -L 318.208705 268.684779 + <path clip-path="url(#p553f52e075)" d="M 211.62733 254.872204 +L 214.792653 245.061296 +L 216.837251 247.688866 +L 213.653601 256.034249 z -" style="fill:#3e51c5;"/> - <path clip-path="url(#p19582ab83f)" d="M 229.966574 159.226955 +" style="fill:#5572df;"/> + <path clip-path="url(#p553f52e075)" d="M 229.966574 159.226955 L 233.379742 173.65497 L 235.245013 157.813874 L 231.832338 143.880082 -L 229.966574 159.226955 z " style="fill:#e7d7ce;"/> - <path clip-path="url(#p19582ab83f)" d="M 313.011368 267.586929 + <path clip-path="url(#p553f52e075)" d="M 313.011368 267.586929 L 316.376513 270.169445 L 318.208705 268.684779 L 314.811941 268.044753 -L 313.011368 267.586929 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 188.52282 266.371509 + <path clip-path="url(#p553f52e075)" d="M 188.52282 266.371509 L 191.871897 270.403436 L 193.893716 268.679626 L 190.547481 264.538662 -L 188.52282 266.371509 z -" style="fill:#3d50c3;"/> - <path clip-path="url(#p19582ab83f)" d="M 320.109746 263.536463 +" style="fill:#3c4ec2;"/> + <path clip-path="url(#p553f52e075)" d="M 318.208705 268.684779 +L 321.635012 268.225838 +L 323.575742 261.267735 +L 320.109746 263.536463 +z +" style="fill:#3f53c6;"/> + <path clip-path="url(#p553f52e075)" d="M 277.689093 231.239739 +L 281.072354 230.653328 +L 282.846924 242.995049 +L 279.483998 243.16716 +z +" style="fill:#6c8ff1;"/> + <path clip-path="url(#p553f52e075)" d="M 320.109746 263.536463 L 323.575742 261.267735 L 325.590972 250.942978 L 322.085166 254.757591 -L 320.109746 263.536463 z -" style="fill:#4a63d3;"/> - <path clip-path="url(#p19582ab83f)" d="M 204.395444 261.455596 +" style="fill:#4b64d5;"/> + <path clip-path="url(#p553f52e075)" d="M 204.395444 261.455596 L 207.555452 253.188356 L 209.593431 253.849203 L 206.418255 261.148193 -L 204.395444 261.455596 -z -" style="fill:#4b64d5;"/> - <path clip-path="url(#p19582ab83f)" d="M 191.871897 270.403436 -L 195.131417 269.745155 -L 197.153528 268.14892 -L 193.893716 268.679626 -L 191.871897 270.403436 -z -" style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 277.689093 231.239739 -L 281.072354 230.653328 -L 282.846924 242.995049 -L 279.483998 243.16716 -L 277.689093 231.239739 z -" style="fill:#6f92f3;"/> - <path clip-path="url(#p19582ab83f)" d="M 224.669628 159.113823 +" style="fill:#4c66d6;"/> + <path clip-path="url(#p553f52e075)" d="M 224.669628 159.113823 L 228.109325 174.312685 L 229.966574 159.226955 L 226.529445 144.522801 -L 224.669628 159.113823 z " style="fill:#e7d7ce;"/> - <path clip-path="url(#p19582ab83f)" d="M 316.376513 270.169445 -L 319.764955 271.725361 -L 321.635012 268.225838 -L 318.208705 268.684779 -L 316.376513 270.169445 + <path clip-path="url(#p553f52e075)" d="M 191.871897 270.403436 +L 195.131417 269.745155 +L 197.153528 268.14892 +L 193.893716 268.679626 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 248.45454 227.464958 + <path clip-path="url(#p553f52e075)" d="M 248.45454 227.464958 L 251.786403 218.883138 L 253.734851 230.816732 L 250.411755 237.527578 -L 248.45454 227.464958 -z -" style="fill:#7da0f9;"/> - <path clip-path="url(#p19582ab83f)" d="M 216.837251 247.688866 -L 220.010854 236.172081 -L 222.062488 240.559667 -L 218.871595 250.417878 -L 216.837251 247.688866 z -" style="fill:#6282ea;"/> - <path clip-path="url(#p19582ab83f)" d="M 197.153528 268.14892 -L 200.342665 263.021856 -L 202.369387 262.039692 -L 199.17289 266.752446 -L 197.153528 268.14892 +" style="fill:#7b9ff9;"/> + <path clip-path="url(#p553f52e075)" d="M 316.376513 270.169445 +L 319.764955 271.725361 +L 321.635012 268.225838 +L 318.208705 268.684779 z -" style="fill:#4055c8;"/> - <path clip-path="url(#p19582ab83f)" d="M 265.711731 225.844148 +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 265.711731 225.844148 L 269.094432 221.745154 L 270.936822 235.091843 L 267.574551 238.03822 -L 265.711731 225.844148 z -" style="fill:#7b9ff9;"/> - <path clip-path="url(#p19582ab83f)" d="M 186.486379 267.938828 -L 189.843192 272.091791 -L 191.871897 270.403436 -L 188.52282 266.371509 -L 186.486379 267.938828 +" style="fill:#799cf8;"/> + <path clip-path="url(#p553f52e075)" d="M 197.153528 268.14892 +L 200.342665 263.021856 +L 202.369387 262.039692 +L 199.17289 266.752446 z -" style="fill:#3d50c3;"/> - <path clip-path="url(#p19582ab83f)" d="M 321.635012 268.225838 -L 325.099701 266.427747 -L 327.084252 257.682104 -L 323.575742 261.267735 -L 321.635012 268.225838 +" style="fill:#4257c9;"/> + <path clip-path="url(#p553f52e075)" d="M 216.837251 247.688866 +L 220.010854 236.172081 +L 222.062488 240.559667 +L 218.871595 250.417878 z -" style="fill:#445acc;"/> - <path clip-path="url(#p19582ab83f)" d="M 281.072354 230.653328 +" style="fill:#6384eb;"/> + <path clip-path="url(#p553f52e075)" d="M 281.072354 230.653328 L 284.455526 231.085296 L 286.210861 243.568739 L 282.846924 242.995049 -L 281.072354 230.653328 z -" style="fill:#7295f4;"/> - <path clip-path="url(#p19582ab83f)" d="M 219.346855 157.481747 +" style="fill:#6e90f2;"/> + <path clip-path="url(#p553f52e075)" d="M 186.486379 267.938828 +L 189.843192 272.091791 +L 191.871897 270.403436 +L 188.52282 266.371509 +z +" style="fill:#3c4ec2;"/> + <path clip-path="url(#p553f52e075)" d="M 257.079701 223.947581 +L 260.446242 217.325393 +L 262.344018 230.580823 +L 258.993554 235.661306 +z +" style="fill:#81a4fb;"/> + <path clip-path="url(#p553f52e075)" d="M 219.346855 157.481747 L 222.816736 173.412517 L 224.669628 159.113823 L 221.204822 143.718281 -L 219.346855 157.481747 z " style="fill:#ead5c9;"/> - <path clip-path="url(#p19582ab83f)" d="M 257.079701 223.947581 -L 260.446242 217.325393 -L 262.344018 230.580823 -L 258.993554 235.661306 -L 257.079701 223.947581 + <path clip-path="url(#p553f52e075)" d="M 321.635012 268.225838 +L 325.099701 266.427747 +L 327.084252 257.682104 +L 323.575742 261.267735 z -" style="fill:#82a6fb;"/> - <path clip-path="url(#p19582ab83f)" d="M 319.764955 271.725361 +" style="fill:#455cce;"/> + <path clip-path="url(#p553f52e075)" d="M 319.764955 271.725361 L 323.186396 271.956401 L 325.099701 266.427747 L 321.635012 268.225838 -L 319.764955 271.725361 -z -" style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 209.593431 253.849203 -L 212.741683 242.817681 -L 214.792653 245.061296 -L 211.62733 254.872204 -L 209.593431 253.849203 z -" style="fill:#5a78e4;"/> - <path clip-path="url(#p19582ab83f)" d="M 189.843192 272.091791 +" style="fill:#3d50c3;"/> + <path clip-path="url(#p553f52e075)" d="M 189.843192 272.091791 L 193.107356 271.564082 L 195.131417 269.745155 L 191.871897 270.403436 -L 189.843192 272.091791 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 222.062488 240.559667 -L 225.257294 228.122564 -L 227.309896 234.304011 -L 224.100579 244.94773 -L 222.062488 240.559667 -z -" style="fill:#6f92f3;"/> - <path clip-path="url(#p19582ab83f)" d="M 202.369387 262.039692 -L 205.516828 253.068982 -L 207.555452 253.188356 -L 204.395444 261.455596 -L 202.369387 262.039692 + <path clip-path="url(#p553f52e075)" d="M 284.455526 231.085296 +L 287.835133 232.563737 +L 289.573187 244.915626 +L 286.210861 243.568739 z -" style="fill:#4e68d8;"/> - <path clip-path="url(#p19582ab83f)" d="M 243.161522 226.030187 +" style="fill:#6e90f2;"/> + <path clip-path="url(#p553f52e075)" d="M 243.161522 226.030187 L 246.473232 215.914411 L 248.45454 227.464958 L 245.147005 235.66558 -L 243.161522 226.030187 z -" style="fill:#84a7fc;"/> - <path clip-path="url(#p19582ab83f)" d="M 323.575742 261.267735 -L 327.084252 257.682104 -L 329.142007 245.869285 -L 325.590972 250.942978 -L 323.575742 261.267735 +" style="fill:#82a6fb;"/> + <path clip-path="url(#p553f52e075)" d="M 209.593431 253.849203 +L 212.741683 242.817681 +L 214.792653 245.061296 +L 211.62733 254.872204 z -" style="fill:#536edd;"/> - <path clip-path="url(#p19582ab83f)" d="M 195.131417 269.745155 -L 198.317344 264.476938 -L 200.342665 263.021856 -L 197.153528 268.14892 -L 195.131417 269.745155 -z -" style="fill:#4257c9;"/> - <path clip-path="url(#p19582ab83f)" d="M 284.455526 231.085296 -L 287.835133 232.563737 -L 289.573187 244.915626 -L 286.210861 243.568739 -L 284.455526 231.085296 +" style="fill:#5d7ce6;"/> + <path clip-path="url(#p553f52e075)" d="M 222.062488 240.559667 +L 225.257294 228.122564 +L 227.309896 234.304011 +L 224.100579 244.94773 z -" style="fill:#7295f4;"/> - <path clip-path="url(#p19582ab83f)" d="M 311.266374 263.512664 +" style="fill:#7093f3;"/> + <path clip-path="url(#p553f52e075)" d="M 311.266374 263.512664 L 314.604123 268.139346 L 316.376513 270.169445 L 313.011368 267.586929 +z +" style="fill:#4055c8;"/> + <path clip-path="url(#p553f52e075)" d="M 307.935923 258.328665 L 311.266374 263.512664 +L 313.011368 267.586929 +L 309.660891 264.289358 z -" style="fill:#4257c9;"/> - <path clip-path="url(#p19582ab83f)" d="M 314.604123 268.139346 +" style="fill:#465ecf;"/> + <path clip-path="url(#p553f52e075)" d="M 202.369387 262.039692 +L 205.516828 253.068982 +L 207.555452 253.188356 +L 204.395444 261.455596 +z +" style="fill:#506bda;"/> + <path clip-path="url(#p553f52e075)" d="M 314.604123 268.139346 L 317.958066 271.848134 L 319.764955 271.725361 L 316.376513 270.169445 -L 314.604123 268.139346 -z -" style="fill:#3d50c3;"/> - <path clip-path="url(#p19582ab83f)" d="M 307.935923 258.328665 -L 311.266374 263.512664 -L 313.011368 267.586929 -L 309.660891 264.289358 -L 307.935923 258.328665 z -" style="fill:#4961d2;"/> - <path clip-path="url(#p19582ab83f)" d="M 304.605619 252.935568 +" style="fill:#3c4ec2;"/> + <path clip-path="url(#p553f52e075)" d="M 304.605619 252.935568 L 307.935923 258.328665 L 309.660891 264.289358 L 306.317853 260.584955 +z +" style="fill:#4e68d8;"/> + <path clip-path="url(#p553f52e075)" d="M 195.131417 269.745155 +L 198.317344 264.476938 +L 200.342665 263.021856 +L 197.153528 268.14892 +z +" style="fill:#4358cb;"/> + <path clip-path="url(#p553f52e075)" d="M 287.835133 232.563737 +L 291.20815 235.064089 +L 292.931766 247.010873 +L 289.573187 244.915626 +z +" style="fill:#6c8ff1;"/> + <path clip-path="url(#p553f52e075)" d="M 323.575742 261.267735 +L 327.084252 257.682104 +L 329.142007 245.869285 +L 325.590972 250.942978 +z +" style="fill:#5572df;"/> + <path clip-path="url(#p553f52e075)" d="M 301.270201 247.654285 L 304.605619 252.935568 +L 306.317853 260.584955 +L 302.976618 256.76414 z -" style="fill:#506bda;"/> - <path clip-path="url(#p19582ab83f)" d="M 227.309896 234.304011 -L 230.533485 221.656737 -L 232.57958 229.552243 -L 229.345488 240.32355 -L 227.309896 234.304011 +" style="fill:#5572df;"/> + <path clip-path="url(#p553f52e075)" d="M 269.094432 221.745154 +L 272.488906 218.523892 +L 274.309397 232.763759 +L 270.936822 235.091843 z -" style="fill:#7a9df8;"/> - <path clip-path="url(#p19582ab83f)" d="M 184.437226 269.223926 +" style="fill:#82a6fb;"/> + <path clip-path="url(#p553f52e075)" d="M 184.437226 269.223926 L 187.80708 273.72527 L 189.843192 272.091791 L 186.486379 267.938828 -L 184.437226 269.223926 z " style="fill:#3d50c3;"/> - <path clip-path="url(#p19582ab83f)" d="M 226.529445 144.522801 + <path clip-path="url(#p553f52e075)" d="M 291.20815 235.064089 +L 294.572292 238.508798 +L 296.285221 249.777569 +L 292.931766 247.010873 +z +" style="fill:#688aef;"/> + <path clip-path="url(#p553f52e075)" d="M 297.926295 242.766904 +L 301.270201 247.654285 +L 302.976618 256.76414 +L 299.6332 253.087665 +z +" style="fill:#5d7ce6;"/> + <path clip-path="url(#p553f52e075)" d="M 226.529445 144.522801 L 229.966574 159.226955 L 231.832338 143.880082 L 228.400243 130.079899 -L 226.529445 144.522801 z " style="fill:#f5c4ac;"/> - <path clip-path="url(#p19582ab83f)" d="M 317.958066 271.848134 + <path clip-path="url(#p553f52e075)" d="M 317.958066 271.848134 L 321.338555 274.283874 L 323.186396 271.956401 L 319.764955 271.725361 -L 317.958066 271.848134 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 237.866365 226.725056 + <path clip-path="url(#p553f52e075)" d="M 294.572292 238.508798 +L 297.926295 242.766904 +L 299.6332 253.087665 +L 296.285221 249.777569 +z +" style="fill:#6384eb;"/> + <path clip-path="url(#p553f52e075)" d="M 227.309896 234.304011 +L 230.533485 221.656737 +L 232.57958 229.552243 +L 229.345488 240.32355 +z +" style="fill:#7b9ff9;"/> + <path clip-path="url(#p553f52e075)" d="M 237.866365 226.725056 L 241.151839 215.351499 L 243.161522 226.030187 L 239.875274 235.47438 -L 237.866365 226.725056 -z -" style="fill:#85a8fc;"/> - <path clip-path="url(#p19582ab83f)" d="M 287.835133 232.563737 -L 291.20815 235.064089 -L 292.931766 247.010873 -L 289.573187 244.915626 -L 287.835133 232.563737 -z -" style="fill:#7093f3;"/> - <path clip-path="url(#p19582ab83f)" d="M 269.094432 221.745154 -L 272.488906 218.523892 -L 274.309397 232.763759 -L 270.936822 235.091843 -L 269.094432 221.745154 z " style="fill:#85a8fc;"/> - <path clip-path="url(#p19582ab83f)" d="M 301.270201 247.654285 -L 304.605619 252.935568 -L 306.317853 260.584955 -L 302.976618 256.76414 -L 301.270201 247.654285 -z -" style="fill:#5875e1;"/> - <path clip-path="url(#p19582ab83f)" d="M 323.186396 271.956401 -L 326.651142 270.595565 -L 328.611838 263.086385 -L 325.099701 266.427747 -L 323.186396 271.956401 -z -" style="fill:#4055c8;"/> - <path clip-path="url(#p19582ab83f)" d="M 232.57958 229.552243 + <path clip-path="url(#p553f52e075)" d="M 232.57958 229.552243 L 235.834705 217.298107 L 237.866365 226.725056 L 234.605461 237.061442 -L 232.57958 229.552243 z " style="fill:#82a6fb;"/> - <path clip-path="url(#p19582ab83f)" d="M 187.80708 273.72527 + <path clip-path="url(#p553f52e075)" d="M 187.80708 273.72527 L 191.0813 273.583989 L 193.107356 271.564082 L 189.843192 272.091791 -L 187.80708 273.72527 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 297.926295 242.766904 -L 301.270201 247.654285 -L 302.976618 256.76414 -L 299.6332 253.087665 -L 297.926295 242.766904 -z -" style="fill:#5f7fe8;"/> - <path clip-path="url(#p19582ab83f)" d="M 291.20815 235.064089 -L 294.572292 238.508798 -L 296.285221 249.777569 -L 292.931766 247.010873 -L 291.20815 235.064089 -z -" style="fill:#6c8ff1;"/> - <path clip-path="url(#p19582ab83f)" d="M 294.572292 238.508798 -L 297.926295 242.766904 -L 299.6332 253.087665 -L 296.285221 249.777569 -L 294.572292 238.508798 -z -" style="fill:#6788ee;"/> - <path clip-path="url(#p19582ab83f)" d="M 325.099701 266.427747 + <path clip-path="url(#p553f52e075)" d="M 323.186396 271.956401 +L 326.651142 270.595565 L 328.611838 263.086385 -L 330.642928 252.637511 -L 327.084252 257.682104 L 325.099701 266.427747 z -" style="fill:#4c66d6;"/> - <path clip-path="url(#p19582ab83f)" d="M 214.792653 245.061296 -L 217.949586 232.127779 -L 220.010854 236.172081 -L 216.837251 247.688866 -L 214.792653 245.061296 -z -" style="fill:#6c8ff1;"/> - <path clip-path="url(#p19582ab83f)" d="M 193.107356 271.564082 -L 196.294786 266.431114 -L 198.317344 264.476938 -L 195.131417 269.745155 -L 193.107356 271.564082 -z " style="fill:#4257c9;"/> - <path clip-path="url(#p19582ab83f)" d="M 221.204822 143.718281 + <path clip-path="url(#p553f52e075)" d="M 221.204822 143.718281 L 224.669628 159.113823 L 226.529445 144.522801 L 223.072526 130.048648 -L 221.204822 143.718281 z -" style="fill:#f5c1a9;"/> - <path clip-path="url(#p19582ab83f)" d="M 321.338555 274.283874 +" style="fill:#f5c2aa;"/> + <path clip-path="url(#p553f52e075)" d="M 321.338555 274.283874 L 324.756945 275.116567 L 326.651142 270.595565 L 323.186396 271.956401 -L 321.338555 274.283874 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 200.342665 263.021856 -L 203.480675 253.622297 -L 205.516828 253.068982 -L 202.369387 262.039692 -L 200.342665 263.021856 + <path clip-path="url(#p553f52e075)" d="M 325.099701 266.427747 +L 328.611838 263.086385 +L 330.642928 252.637511 +L 327.084252 257.682104 z -" style="fill:#506bda;"/> - <path clip-path="url(#p19582ab83f)" d="M 251.786403 218.883138 +" style="fill:#4f69d9;"/> + <path clip-path="url(#p553f52e075)" d="M 193.107356 271.564082 +L 196.294786 266.431114 +L 198.317344 264.476938 +L 195.131417 269.745155 +z +" style="fill:#4358cb;"/> + <path clip-path="url(#p553f52e075)" d="M 214.792653 245.061296 +L 217.949586 232.127779 +L 220.010854 236.172081 +L 216.837251 247.688866 +z +" style="fill:#6e90f2;"/> + <path clip-path="url(#p553f52e075)" d="M 251.786403 218.883138 L 255.143907 210.394818 L 257.079701 223.947581 L 253.734851 230.816732 -L 251.786403 218.883138 z " style="fill:#90b2fe;"/> - <path clip-path="url(#p19582ab83f)" d="M 207.555452 253.188356 -L 210.688312 241.195518 -L 212.741683 242.817681 -L 209.593431 253.849203 -L 207.555452 253.188356 -z -" style="fill:#6180e9;"/> - <path clip-path="url(#p19582ab83f)" d="M 260.446242 217.325393 + <path clip-path="url(#p553f52e075)" d="M 260.446242 217.325393 L 263.832851 211.304834 L 265.711731 225.844148 L 262.344018 230.580823 -L 260.446242 217.325393 z -" style="fill:#92b4fe;"/> - <path clip-path="url(#p19582ab83f)" d="M 182.37367 270.179021 +" style="fill:#90b2fe;"/> + <path clip-path="url(#p553f52e075)" d="M 200.342665 263.021856 +L 203.480675 253.622297 +L 205.516828 253.068982 +L 202.369387 262.039692 +z +" style="fill:#536edd;"/> + <path clip-path="url(#p553f52e075)" d="M 182.37367 270.179021 L 185.762157 275.246542 L 187.80708 273.72527 L 184.437226 269.223926 -L 182.37367 270.179021 z -" style="fill:#3e51c5;"/> - <path clip-path="url(#p19582ab83f)" d="M 185.762157 275.246542 +" style="fill:#3d50c3;"/> + <path clip-path="url(#p553f52e075)" d="M 207.555452 253.188356 +L 210.688312 241.195518 +L 212.741683 242.817681 +L 209.593431 253.849203 +z +" style="fill:#6384eb;"/> + <path clip-path="url(#p553f52e075)" d="M 272.488906 218.523892 +L 275.891278 216.364602 +L 277.689093 231.239739 +L 274.309397 232.763759 +z +" style="fill:#8badfd;"/> + <path clip-path="url(#p553f52e075)" d="M 185.762157 275.246542 L 189.052231 275.739079 L 191.0813 273.583989 L 187.80708 273.72527 -L 185.762157 275.246542 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 327.084252 257.682104 -L 330.642928 252.637511 -L 332.744366 239.454776 -L 329.142007 245.869285 -L 327.084252 257.682104 + <path clip-path="url(#p553f52e075)" d="M 316.203921 268.835699 +L 319.547289 273.579147 +L 321.338555 274.283874 +L 317.958066 271.848134 z -" style="fill:#5f7fe8;"/> - <path clip-path="url(#p19582ab83f)" d="M 272.488906 218.523892 -L 275.891278 216.364602 -L 277.689093 231.239739 -L 274.309397 232.763759 -L 272.488906 218.523892 +" style="fill:#3e51c5;"/> + <path clip-path="url(#p553f52e075)" d="M 312.879772 262.909978 +L 316.203921 268.835699 +L 317.958066 271.848134 +L 314.604123 268.139346 z -" style="fill:#8db0fe;"/> - <path clip-path="url(#p19582ab83f)" d="M 191.0813 273.583989 +" style="fill:#445acc;"/> + <path clip-path="url(#p553f52e075)" d="M 191.0813 273.583989 L 194.275472 268.861032 L 196.294786 266.431114 L 193.107356 271.564082 -L 191.0813 273.583989 z -" style="fill:#4055c8;"/> - <path clip-path="url(#p19582ab83f)" d="M 316.203921 268.835699 -L 319.547289 273.579147 +" style="fill:#4257c9;"/> + <path clip-path="url(#p553f52e075)" d="M 319.547289 273.579147 +L 322.92207 276.747712 +L 324.756945 275.116567 L 321.338555 274.283874 -L 317.958066 271.848134 -L 316.203921 268.835699 z -" style="fill:#3f53c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 324.756945 275.116567 +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 327.084252 257.682104 +L 330.642928 252.637511 +L 332.744366 239.454776 +L 329.142007 245.869285 +z +" style="fill:#6384eb;"/> + <path clip-path="url(#p553f52e075)" d="M 324.756945 275.116567 L 328.224991 274.062015 L 330.169506 267.42569 L 326.651142 270.595565 -L 324.756945 275.116567 z -" style="fill:#3e51c5;"/> - <path clip-path="url(#p19582ab83f)" d="M 326.651142 270.595565 +" style="fill:#3f53c6;"/> + <path clip-path="url(#p553f52e075)" d="M 326.651142 270.595565 L 330.169506 267.42569 L 332.180123 258.050375 L 328.611838 263.086385 -L 326.651142 270.595565 z -" style="fill:#485fd1;"/> - <path clip-path="url(#p19582ab83f)" d="M 319.547289 273.579147 -L 322.92207 276.747712 -L 324.756945 275.116567 -L 321.338555 274.283874 -L 319.547289 273.579147 +" style="fill:#4a63d3;"/> + <path clip-path="url(#p553f52e075)" d="M 309.564065 256.212037 +L 312.879772 262.909978 +L 314.604123 268.139346 +L 311.266374 263.512664 z -" style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 220.010854 236.172081 +" style="fill:#4e68d8;"/> + <path clip-path="url(#p553f52e075)" d="M 220.010854 236.172081 L 223.191339 222.185404 L 225.257294 228.122564 L 222.062488 240.559667 -L 220.010854 236.172081 z -" style="fill:#7ea1fa;"/> - <path clip-path="url(#p19582ab83f)" d="M 312.879772 262.909978 -L 316.203921 268.835699 -L 317.958066 271.848134 -L 314.604123 268.139346 -L 312.879772 262.909978 -z -" style="fill:#465ecf;"/> - <path clip-path="url(#p19582ab83f)" d="M 198.317344 264.476938 +" style="fill:#81a4fb;"/> + <path clip-path="url(#p553f52e075)" d="M 198.317344 264.476938 L 201.449601 254.928859 L 203.480675 253.622297 L 200.342665 263.021856 -L 198.317344 264.476938 z -" style="fill:#516ddb;"/> - <path clip-path="url(#p19582ab83f)" d="M 223.072526 130.048648 +" style="fill:#5470de;"/> + <path clip-path="url(#p553f52e075)" d="M 223.072526 130.048648 L 226.529445 144.522801 L 228.400243 130.079899 L 224.953737 116.909705 -L 223.072526 130.048648 z " style="fill:#f7a889;"/> - <path clip-path="url(#p19582ab83f)" d="M 309.564065 256.212037 -L 312.879772 262.909978 -L 314.604123 268.139346 -L 311.266374 263.512664 -L 309.564065 256.212037 -z -" style="fill:#506bda;"/> - <path clip-path="url(#p19582ab83f)" d="M 246.473232 215.914411 + <path clip-path="url(#p553f52e075)" d="M 246.473232 215.914411 L 249.81354 205.67697 L 251.786403 218.883138 L 248.45454 227.464958 -L 246.473232 215.914411 z -" style="fill:#9bbcff;"/> - <path clip-path="url(#p19582ab83f)" d="M 322.92207 276.747712 +" style="fill:#9abbff;"/> + <path clip-path="url(#p553f52e075)" d="M 180.29321 270.727723 +L 183.706063 276.562771 +L 185.762157 275.246542 +L 182.37367 270.179021 +z +" style="fill:#3e51c5;"/> + <path clip-path="url(#p553f52e075)" d="M 275.891278 216.364602 +L 279.297289 215.396728 +L 281.072354 230.653328 +L 277.689093 231.239739 +z +" style="fill:#90b2fe;"/> + <path clip-path="url(#p553f52e075)" d="M 322.92207 276.747712 L 326.341277 277.989302 L 328.224991 274.062015 L 324.756945 275.116567 -L 322.92207 276.747712 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 328.611838 263.086385 -L 332.180123 258.050375 -L 334.258716 246.046451 -L 330.642928 252.637511 -L 328.611838 263.086385 -z -" style="fill:#5875e1;"/> - <path clip-path="url(#p19582ab83f)" d="M 180.29321 270.727723 -L 183.706063 276.562771 -L 185.762157 275.246542 -L 182.37367 270.179021 -L 180.29321 270.727723 -z -" style="fill:#3f53c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 183.706063 276.562771 + <path clip-path="url(#p553f52e075)" d="M 183.706063 276.562771 L 187.018055 277.921642 L 189.052231 275.739079 L 185.762157 275.246542 -L 183.706063 276.562771 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 205.516828 253.068982 -L 208.636394 240.382399 -L 210.688312 241.195518 -L 207.555452 253.188356 -L 205.516828 253.068982 + <path clip-path="url(#p553f52e075)" d="M 306.247875 249.147624 +L 309.564065 256.212037 +L 311.266374 263.512664 +L 307.935923 258.328665 z -" style="fill:#6687ed;"/> - <path clip-path="url(#p19582ab83f)" d="M 189.052231 275.739079 +" style="fill:#5875e1;"/> + <path clip-path="url(#p553f52e075)" d="M 189.052231 275.739079 L 192.258857 271.694186 L 194.275472 268.861032 L 191.0813 273.583989 -L 189.052231 275.739079 z -" style="fill:#3f53c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 212.741683 242.817681 +" style="fill:#4055c8;"/> + <path clip-path="url(#p553f52e075)" d="M 328.611838 263.086385 +L 332.180123 258.050375 +L 334.258716 246.046451 +L 330.642928 252.637511 +z +" style="fill:#5b7ae5;"/> + <path clip-path="url(#p553f52e075)" d="M 205.516828 253.068982 +L 208.636394 240.382399 +L 210.688312 241.195518 +L 207.555452 253.188356 +z +" style="fill:#688aef;"/> + <path clip-path="url(#p553f52e075)" d="M 263.832851 211.304834 +L 267.236638 206.18042 +L 269.094432 221.745154 +L 265.711731 225.844148 +z +" style="fill:#9ebeff;"/> + <path clip-path="url(#p553f52e075)" d="M 212.741683 242.817681 L 215.88288 228.722303 L 217.949586 232.127779 L 214.792653 245.061296 -L 212.741683 242.817681 -z -" style="fill:#779af7;"/> - <path clip-path="url(#p19582ab83f)" d="M 275.891278 216.364602 -L 279.297289 215.396728 -L 281.072354 230.653328 -L 277.689093 231.239739 -L 275.891278 216.364602 z -" style="fill:#93b5fe;"/> - <path clip-path="url(#p19582ab83f)" d="M 306.247875 249.147624 -L 309.564065 256.212037 -L 311.266374 263.512664 -L 307.935923 258.328665 +" style="fill:#799cf8;"/> + <path clip-path="url(#p553f52e075)" d="M 302.924375 242.099064 L 306.247875 249.147624 +L 307.935923 258.328665 +L 304.605619 252.935568 z -" style="fill:#5b7ae5;"/> - <path clip-path="url(#p19582ab83f)" d="M 225.257294 228.122564 +" style="fill:#6384eb;"/> + <path clip-path="url(#p553f52e075)" d="M 225.257294 228.122564 L 228.470307 213.850028 L 230.533485 221.656737 L 227.309896 234.304011 -L 225.257294 228.122564 z -" style="fill:#8fb1fe;"/> - <path clip-path="url(#p19582ab83f)" d="M 196.294786 266.431114 +" style="fill:#90b2fe;"/> + <path clip-path="url(#p553f52e075)" d="M 279.297289 215.396728 +L 282.702563 215.697346 +L 284.455526 231.085296 +L 281.072354 230.653328 +z +" style="fill:#93b5fe;"/> + <path clip-path="url(#p553f52e075)" d="M 196.294786 266.431114 L 199.425519 257.017218 L 201.449601 254.928859 L 198.317344 264.476938 -L 196.294786 266.431114 -z -" style="fill:#516ddb;"/> - <path clip-path="url(#p19582ab83f)" d="M 263.832851 211.304834 -L 267.236638 206.18042 -L 269.094432 221.745154 -L 265.711731 225.844148 -L 263.832851 211.304834 z -" style="fill:#9fbfff;"/> - <path clip-path="url(#p19582ab83f)" d="M 328.224991 274.062015 -L 331.754116 270.90234 -L 333.751093 262.297692 -L 330.169506 267.42569 -L 328.224991 274.062015 +" style="fill:#5470de;"/> + <path clip-path="url(#p553f52e075)" d="M 255.143907 210.394818 +L 258.526439 202.422912 +L 260.446242 217.325393 +L 257.079701 223.947581 z -" style="fill:#455cce;"/> - <path clip-path="url(#p19582ab83f)" d="M 241.151839 215.351499 +" style="fill:#a3c2fe;"/> + <path clip-path="url(#p553f52e075)" d="M 241.151839 215.351499 L 244.467325 203.56701 L 246.473232 215.914411 L 243.161522 226.030187 -L 241.151839 215.351499 z " style="fill:#a1c0ff;"/> - <path clip-path="url(#p19582ab83f)" d="M 326.341277 277.989302 + <path clip-path="url(#p553f52e075)" d="M 328.224991 274.062015 +L 331.754116 270.90234 +L 333.751093 262.297692 +L 330.169506 267.42569 +z +" style="fill:#485fd1;"/> + <path clip-path="url(#p553f52e075)" d="M 317.801398 270.146283 +L 321.136814 275.718109 +L 322.92207 276.747712 +L 319.547289 273.579147 +z +" style="fill:#3f53c6;"/> + <path clip-path="url(#p553f52e075)" d="M 326.341277 277.989302 L 329.817988 277.015426 L 331.754116 270.90234 L 328.224991 274.062015 +z +" style="fill:#3e51c5;"/> + <path clip-path="url(#p553f52e075)" d="M 321.136814 275.718109 +L 324.510331 279.36403 L 326.341277 277.989302 +L 322.92207 276.747712 z -" style="fill:#3d50c3;"/> - <path clip-path="url(#p19582ab83f)" d="M 302.924375 242.099064 -L 306.247875 249.147624 -L 307.935923 258.328665 -L 304.605619 252.935568 +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 299.588911 235.409956 L 302.924375 242.099064 +L 304.605619 252.935568 +L 301.270201 247.654285 z -" style="fill:#6788ee;"/> - <path clip-path="url(#p19582ab83f)" d="M 255.143907 210.394818 -L 258.526439 202.422912 -L 260.446242 217.325393 -L 257.079701 223.947581 -L 255.143907 210.394818 +" style="fill:#6e90f2;"/> + <path clip-path="url(#p553f52e075)" d="M 181.635463 277.549794 +L 184.975551 279.985943 +L 187.018055 277.921642 +L 183.706063 276.562771 z -" style="fill:#a5c3fe;"/> - <path clip-path="url(#p19582ab83f)" d="M 187.018055 277.921642 +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 187.018055 277.921642 L 190.243236 274.810599 L 192.258857 271.694186 L 189.052231 275.739079 -L 187.018055 277.921642 z " style="fill:#3e51c5;"/> - <path clip-path="url(#p19582ab83f)" d="M 230.533485 221.656737 + <path clip-path="url(#p553f52e075)" d="M 178.192544 270.769256 +L 181.635463 277.549794 +L 183.706063 276.562771 +L 180.29321 270.727723 +z +" style="fill:#4055c8;"/> + <path clip-path="url(#p553f52e075)" d="M 230.533485 221.656737 L 233.782595 207.74315 L 235.834705 217.298107 L 232.57958 229.552243 -L 230.533485 221.656737 z " style="fill:#9abbff;"/> - <path clip-path="url(#p19582ab83f)" d="M 181.635463 277.549794 -L 184.975551 279.985943 -L 187.018055 277.921642 -L 183.706063 276.562771 -L 181.635463 277.549794 -z -" style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 321.136814 275.718109 -L 324.510331 279.36403 -L 326.341277 277.989302 -L 322.92207 276.747712 -L 321.136814 275.718109 + <path clip-path="url(#p553f52e075)" d="M 314.490011 263.069264 +L 317.801398 270.146283 +L 319.547289 273.579147 +L 316.203921 268.835699 z -" style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 330.642928 252.637511 -L 334.258716 246.046451 -L 336.403127 231.672969 -L 332.744366 239.454776 -L 330.642928 252.637511 +" style="fill:#485fd1;"/> + <path clip-path="url(#p553f52e075)" d="M 235.834705 217.298107 +L 239.119058 204.254535 +L 241.151839 215.351499 +L 237.866365 226.725056 z -" style="fill:#6f92f3;"/> - <path clip-path="url(#p19582ab83f)" d="M 279.297289 215.396728 -L 282.702563 215.697346 +" style="fill:#a1c0ff;"/> + <path clip-path="url(#p553f52e075)" d="M 282.702563 215.697346 +L 286.102856 217.293374 +L 287.835133 232.563737 L 284.455526 231.085296 -L 281.072354 230.653328 -L 279.297289 215.396728 z -" style="fill:#96b7ff;"/> - <path clip-path="url(#p19582ab83f)" d="M 330.169506 267.42569 +" style="fill:#93b5fe;"/> + <path clip-path="url(#p553f52e075)" d="M 330.169506 267.42569 L 333.751093 262.297692 L 335.812205 251.237195 L 332.180123 258.050375 -L 330.169506 267.42569 z -" style="fill:#5470de;"/> - <path clip-path="url(#p19582ab83f)" d="M 317.801398 270.146283 -L 321.136814 275.718109 -L 322.92207 276.747712 -L 319.547289 273.579147 -L 317.801398 270.146283 -z -" style="fill:#4257c9;"/> - <path clip-path="url(#p19582ab83f)" d="M 235.834705 217.298107 -L 239.119058 204.254535 -L 241.151839 215.351499 -L 237.866365 226.725056 -L 235.834705 217.298107 -z -" style="fill:#9fbfff;"/> - <path clip-path="url(#p19582ab83f)" d="M 178.192544 270.769256 -L 181.635463 277.549794 -L 183.706063 276.562771 -L 180.29321 270.727723 -L 178.192544 270.769256 -z -" style="fill:#4257c9;"/> - <path clip-path="url(#p19582ab83f)" d="M 299.588911 235.409956 -L 302.924375 242.099064 -L 304.605619 252.935568 -L 301.270201 247.654285 +" style="fill:#5673e0;"/> + <path clip-path="url(#p553f52e075)" d="M 296.238924 229.374462 L 299.588911 235.409956 +L 301.270201 247.654285 +L 297.926295 242.766904 +z +" style="fill:#799cf8;"/> + <path clip-path="url(#p553f52e075)" d="M 330.642928 252.637511 +L 334.258716 246.046451 +L 336.403127 231.672969 +L 332.744366 239.454776 z " style="fill:#7396f5;"/> - <path clip-path="url(#p19582ab83f)" d="M 194.275472 268.861032 + <path clip-path="url(#p553f52e075)" d="M 324.510331 279.36403 +L 327.936508 280.723265 +L 329.817988 277.015426 +L 326.341277 277.989302 +z +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 194.275472 268.861032 L 197.409469 259.863335 L 199.425519 257.017218 L 196.294786 266.431114 -L 194.275472 268.861032 z -" style="fill:#506bda;"/> - <path clip-path="url(#p19582ab83f)" d="M 203.480675 253.622297 +" style="fill:#536edd;"/> + <path clip-path="url(#p553f52e075)" d="M 286.102856 217.293374 +L 289.494313 220.162356 +L 291.20815 235.064089 +L 287.835133 232.563737 +z +" style="fill:#90b2fe;"/> + <path clip-path="url(#p553f52e075)" d="M 292.873745 224.231364 +L 296.238924 229.374462 +L 297.926295 242.766904 +L 294.572292 238.508798 +z +" style="fill:#82a6fb;"/> + <path clip-path="url(#p553f52e075)" d="M 203.480675 253.622297 L 206.589477 240.513706 L 208.636394 240.382399 L 205.516828 253.068982 -L 203.480675 253.622297 z -" style="fill:#6a8bef;"/> - <path clip-path="url(#p19582ab83f)" d="M 314.490011 263.069264 -L 317.801398 270.146283 -L 319.547289 273.579147 -L 316.203921 268.835699 +" style="fill:#6c8ff1;"/> + <path clip-path="url(#p553f52e075)" d="M 311.189839 254.941584 L 314.490011 263.069264 +L 316.203921 268.835699 +L 312.879772 262.909978 z -" style="fill:#4b64d5;"/> - <path clip-path="url(#p19582ab83f)" d="M 324.510331 279.36403 -L 327.936508 280.723265 -L 329.817988 277.015426 -L 326.341277 277.989302 -L 324.510331 279.36403 -z -" style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 282.702563 215.697346 -L 286.102856 217.293374 -L 287.835133 232.563737 -L 284.455526 231.085296 -L 282.702563 215.697346 +" style="fill:#5470de;"/> + <path clip-path="url(#p553f52e075)" d="M 289.494313 220.162356 +L 292.873745 224.231364 +L 294.572292 238.508798 +L 291.20815 235.064089 z -" style="fill:#97b8ff;"/> - <path clip-path="url(#p19582ab83f)" d="M 184.975551 279.985943 +" style="fill:#8badfd;"/> + <path clip-path="url(#p553f52e075)" d="M 184.975551 279.985943 L 188.225659 278.046072 L 190.243236 274.810599 L 187.018055 277.921642 -L 184.975551 279.985943 z -" style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 217.949586 232.127779 +" style="fill:#3d50c3;"/> + <path clip-path="url(#p553f52e075)" d="M 217.949586 232.127779 L 221.116172 216.848673 L 223.191339 222.185404 L 220.010854 236.172081 -L 217.949586 232.127779 z -" style="fill:#8db0fe;"/> - <path clip-path="url(#p19582ab83f)" d="M 296.238924 229.374462 -L 299.588911 235.409956 -L 301.270201 247.654285 -L 297.926295 242.766904 -L 296.238924 229.374462 +" style="fill:#90b2fe;"/> + <path clip-path="url(#p553f52e075)" d="M 267.236638 206.18042 +L 270.653768 202.183262 +L 272.488906 218.523892 +L 269.094432 221.745154 z -" style="fill:#7ea1fa;"/> - <path clip-path="url(#p19582ab83f)" d="M 332.180123 258.050375 -L 335.812205 251.237195 -L 337.937196 237.889988 -L 334.258716 246.046451 -L 332.180123 258.050375 +" style="fill:#a9c6fd;"/> + <path clip-path="url(#p553f52e075)" d="M 179.546082 278.058125 +L 182.920373 281.753992 +L 184.975551 279.985943 +L 181.635463 277.549794 z -" style="fill:#688aef;"/> - <path clip-path="url(#p19582ab83f)" d="M 210.688312 241.195518 +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 210.688312 241.195518 L 213.814987 226.197651 L 215.88288 228.722303 L 212.741683 242.817681 -L 210.688312 241.195518 z -" style="fill:#80a3fa;"/> - <path clip-path="url(#p19582ab83f)" d="M 286.102856 217.293374 -L 289.494313 220.162356 -L 291.20815 235.064089 -L 287.835133 232.563737 -L 286.102856 217.293374 -z -" style="fill:#94b6ff;"/> - <path clip-path="url(#p19582ab83f)" d="M 292.873745 224.231364 -L 296.238924 229.374462 -L 297.926295 242.766904 -L 294.572292 238.508798 -L 292.873745 224.231364 -z -" style="fill:#88abfd;"/> - <path clip-path="url(#p19582ab83f)" d="M 311.189839 254.941584 -L 314.490011 263.069264 -L 316.203921 268.835699 -L 312.879772 262.909978 -L 311.189839 254.941584 -z -" style="fill:#5673e0;"/> - <path clip-path="url(#p19582ab83f)" d="M 192.258857 271.694186 +" style="fill:#82a6fb;"/> + <path clip-path="url(#p553f52e075)" d="M 192.258857 271.694186 L 195.401453 263.39063 L 197.409469 259.863335 L 194.275472 268.861032 -L 192.258857 271.694186 -z -" style="fill:#4e68d8;"/> - <path clip-path="url(#p19582ab83f)" d="M 179.546082 278.058125 -L 182.920373 281.753992 -L 184.975551 279.985943 -L 181.635463 277.549794 -L 179.546082 278.058125 z -" style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 289.494313 220.162356 -L 292.873745 224.231364 -L 294.572292 238.508798 -L 291.20815 235.064089 -L 289.494313 220.162356 -z -" style="fill:#8fb1fe;"/> - <path clip-path="url(#p19582ab83f)" d="M 329.817988 277.015426 +" style="fill:#506bda;"/> + <path clip-path="url(#p553f52e075)" d="M 329.817988 277.015426 L 333.364472 273.623104 L 335.354571 265.50533 L 331.754116 270.90234 -L 329.817988 277.015426 z -" style="fill:#455cce;"/> - <path clip-path="url(#p19582ab83f)" d="M 267.236638 206.18042 -L 270.653768 202.183262 -L 272.488906 218.523892 -L 269.094432 221.745154 -L 267.236638 206.18042 +" style="fill:#465ecf;"/> + <path clip-path="url(#p553f52e075)" d="M 176.067638 270.184421 +L 179.546082 278.058125 +L 181.635463 277.549794 +L 178.192544 270.769256 +z +" style="fill:#4358cb;"/> + <path clip-path="url(#p553f52e075)" d="M 332.180123 258.050375 +L 335.812205 251.237195 +L 337.937196 237.889988 +L 334.258716 246.046451 z -" style="fill:#abc8fd;"/> - <path clip-path="url(#p19582ab83f)" d="M 327.936508 280.723265 +" style="fill:#6c8ff1;"/> + <path clip-path="url(#p553f52e075)" d="M 327.936508 280.723265 L 331.429479 279.519758 L 333.364472 273.623104 L 329.817988 277.015426 -L 327.936508 280.723265 z -" style="fill:#3d50c3;"/> - <path clip-path="url(#p19582ab83f)" d="M 331.754116 270.90234 -L 335.354571 265.50533 -L 337.404 255.147546 -L 333.751093 262.297692 -L 331.754116 270.90234 -z -" style="fill:#516ddb;"/> - <path clip-path="url(#p19582ab83f)" d="M 176.067638 270.184421 -L 179.546082 278.058125 -L 181.635463 277.549794 -L 178.192544 270.769256 -L 176.067638 270.184421 -z -" style="fill:#455cce;"/> - <path clip-path="url(#p19582ab83f)" d="M 201.449601 254.928859 -L 204.55063 241.671946 -L 206.589477 240.513706 -L 203.480675 253.622297 -L 201.449601 254.928859 +" style="fill:#3e51c5;"/> + <path clip-path="url(#p553f52e075)" d="M 307.889923 246.225592 +L 311.189839 254.941584 +L 312.879772 262.909978 +L 309.564065 256.212037 z -" style="fill:#6b8df0;"/> - <path clip-path="url(#p19582ab83f)" d="M 249.81354 205.67697 +" style="fill:#6180e9;"/> + <path clip-path="url(#p553f52e075)" d="M 249.81354 205.67697 L 253.183267 195.820443 L 255.143907 210.394818 L 251.786403 218.883138 -L 249.81354 205.67697 z " style="fill:#b2ccfb;"/> - <path clip-path="url(#p19582ab83f)" d="M 182.920373 281.753992 + <path clip-path="url(#p553f52e075)" d="M 319.389734 272.366988 +L 322.722138 278.450989 +L 324.510331 279.36403 +L 321.136814 275.718109 +z +" style="fill:#4055c8;"/> + <path clip-path="url(#p553f52e075)" d="M 322.722138 278.450989 +L 326.101265 282.21841 +L 327.936508 280.723265 +L 324.510331 279.36403 +z +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 182.920373 281.753992 L 186.20189 281.197313 L 188.225659 278.046072 L 184.975551 279.985943 -L 182.920373 281.753992 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 322.722138 278.450989 -L 326.101265 282.21841 -L 327.936508 280.723265 -L 324.510331 279.36403 -L 322.722138 278.450989 + <path clip-path="url(#p553f52e075)" d="M 331.754116 270.90234 +L 335.354571 265.50533 +L 337.404 255.147546 +L 333.751093 262.297692 z -" style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 319.389734 272.366988 -L 322.722138 278.450989 -L 324.510331 279.36403 -L 321.136814 275.718109 +" style="fill:#5572df;"/> + <path clip-path="url(#p553f52e075)" d="M 201.449601 254.928859 +L 204.55063 241.671946 +L 206.589477 240.513706 +L 203.480675 253.622297 +z +" style="fill:#6e90f2;"/> + <path clip-path="url(#p553f52e075)" d="M 258.526439 202.422912 +L 261.931754 195.322612 +L 263.832851 211.304834 +L 260.446242 217.325393 +z +" style="fill:#b5cdfa;"/> + <path clip-path="url(#p553f52e075)" d="M 316.0882 264.401244 L 319.389734 272.366988 +L 321.136814 275.718109 +L 317.801398 270.146283 z -" style="fill:#4358cb;"/> - <path clip-path="url(#p19582ab83f)" d="M 190.243236 274.810599 +" style="fill:#4a63d3;"/> + <path clip-path="url(#p553f52e075)" d="M 190.243236 274.810599 L 193.400277 267.470828 L 195.401453 263.39063 L 192.258857 271.694186 -L 190.243236 274.810599 -z -" style="fill:#4a63d3;"/> - <path clip-path="url(#p19582ab83f)" d="M 307.889923 246.225592 -L 311.189839 254.941584 -L 312.879772 262.909978 -L 309.564065 256.212037 -L 307.889923 246.225592 z -" style="fill:#6687ed;"/> - <path clip-path="url(#p19582ab83f)" d="M 326.101265 282.21841 +" style="fill:#4c66d6;"/> + <path clip-path="url(#p553f52e075)" d="M 326.101265 282.21841 L 329.542948 283.317852 L 331.429479 279.519758 L 327.936508 280.723265 -L 326.101265 282.21841 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 223.191339 222.185404 + <path clip-path="url(#p553f52e075)" d="M 177.43281 277.92078 +L 180.847124 283.023301 +L 182.920373 281.753992 +L 179.546082 278.058125 +z +" style="fill:#3d50c3;"/> + <path clip-path="url(#p553f52e075)" d="M 223.191339 222.185404 L 226.393898 206.556143 L 228.470307 213.850028 L 225.257294 228.122564 -L 223.191339 222.185404 z -" style="fill:#a1c0ff;"/> - <path clip-path="url(#p19582ab83f)" d="M 258.526439 202.422912 -L 261.931754 195.322612 -L 263.832851 211.304834 -L 260.446242 217.325393 -L 258.526439 202.422912 +" style="fill:#a3c2fe;"/> + <path clip-path="url(#p553f52e075)" d="M 304.581563 237.367205 +L 307.889923 246.225592 +L 309.564065 256.212037 +L 306.247875 249.147624 z -" style="fill:#b6cefa;"/> - <path clip-path="url(#p19582ab83f)" d="M 333.751093 262.297692 +" style="fill:#7093f3;"/> + <path clip-path="url(#p553f52e075)" d="M 270.653768 202.183262 +L 274.079775 199.483278 +L 275.891278 216.364602 +L 272.488906 218.523892 +z +" style="fill:#b2ccfb;"/> + <path clip-path="url(#p553f52e075)" d="M 180.847124 283.023301 +L 184.166441 284.029237 +L 186.20189 281.197313 +L 182.920373 281.753992 +z +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 333.751093 262.297692 L 337.404 255.147546 L 339.513925 242.64783 L 335.812205 251.237195 -L 333.751093 262.297692 -z -" style="fill:#6485ec;"/> - <path clip-path="url(#p19582ab83f)" d="M 316.0882 264.401244 -L 319.389734 272.366988 -L 321.136814 275.718109 -L 317.801398 270.146283 -L 316.0882 264.401244 -z -" style="fill:#4c66d6;"/> - <path clip-path="url(#p19582ab83f)" d="M 177.43281 277.92078 -L 180.847124 283.023301 -L 182.920373 281.753992 -L 179.546082 278.058125 -L 177.43281 277.92078 z -" style="fill:#3e51c5;"/> - <path clip-path="url(#p19582ab83f)" d="M 188.225659 278.046072 +" style="fill:#688aef;"/> + <path clip-path="url(#p553f52e075)" d="M 188.225659 278.046072 L 191.40342 271.926037 L 193.400277 267.470828 L 190.243236 274.810599 -L 188.225659 278.046072 z -" style="fill:#465ecf;"/> - <path clip-path="url(#p19582ab83f)" d="M 334.258716 246.046451 -L 337.937196 237.889988 -L 340.121738 222.564508 -L 336.403127 231.672969 -L 334.258716 246.046451 +" style="fill:#485fd1;"/> + <path clip-path="url(#p553f52e075)" d="M 312.802609 255.043907 +L 316.0882 264.401244 +L 317.801398 270.146283 +L 314.490011 263.069264 z -" style="fill:#82a6fb;"/> - <path clip-path="url(#p19582ab83f)" d="M 199.425519 257.017218 +" style="fill:#5875e1;"/> + <path clip-path="url(#p553f52e075)" d="M 244.467325 203.56701 +L 247.815594 191.96473 +L 249.81354 205.67697 +L 246.473232 215.914411 +z +" style="fill:#bad0f8;"/> + <path clip-path="url(#p553f52e075)" d="M 173.913851 268.843213 +L 177.43281 277.92078 +L 179.546082 278.058125 +L 176.067638 270.184421 +z +" style="fill:#485fd1;"/> + <path clip-path="url(#p553f52e075)" d="M 199.425519 257.017218 L 202.522274 243.886723 L 204.55063 241.671946 L 201.449601 254.928859 -L 199.425519 257.017218 z -" style="fill:#6b8df0;"/> - <path clip-path="url(#p19582ab83f)" d="M 180.847124 283.023301 -L 184.166441 284.029237 -L 186.20189 281.197313 -L 182.920373 281.753992 -L 180.847124 283.023301 +" style="fill:#6e90f2;"/> + <path clip-path="url(#p553f52e075)" d="M 334.258716 246.046451 +L 337.937196 237.889988 +L 340.121738 222.564508 +L 336.403127 231.672969 z -" style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 208.636394 240.382399 +" style="fill:#88abfd;"/> + <path clip-path="url(#p553f52e075)" d="M 208.636394 240.382399 L 211.750035 224.740162 L 213.814987 226.197651 L 210.688312 241.195518 -L 208.636394 240.382399 -z -" style="fill:#88abfd;"/> - <path clip-path="url(#p19582ab83f)" d="M 270.653768 202.183262 -L 274.079775 199.483278 -L 275.891278 216.364602 -L 272.488906 218.523892 -L 270.653768 202.183262 -z -" style="fill:#b5cdfa;"/> - <path clip-path="url(#p19582ab83f)" d="M 304.581563 237.367205 -L 307.889923 246.225592 -L 309.564065 256.212037 -L 306.247875 249.147624 -L 304.581563 237.367205 -z -" style="fill:#7597f6;"/> - <path clip-path="url(#p19582ab83f)" d="M 244.467325 203.56701 -L 247.815594 191.96473 -L 249.81354 205.67697 -L 246.473232 215.914411 -L 244.467325 203.56701 z -" style="fill:#bbd1f8;"/> - <path clip-path="url(#p19582ab83f)" d="M 331.429479 279.519758 +" style="fill:#8badfd;"/> + <path clip-path="url(#p553f52e075)" d="M 331.429479 279.519758 L 335.001936 275.584537 L 336.991221 267.714581 L 333.364472 273.623104 -L 331.429479 279.519758 z -" style="fill:#455cce;"/> - <path clip-path="url(#p19582ab83f)" d="M 215.88288 228.722303 -L 219.036163 212.408785 -L 221.116172 216.848673 -L 217.949586 232.127779 -L 215.88288 228.722303 +" style="fill:#485fd1;"/> + <path clip-path="url(#p553f52e075)" d="M 320.965463 275.601549 +L 324.302356 281.780546 +L 326.101265 282.21841 +L 322.722138 278.450989 +z +" style="fill:#3f53c6;"/> + <path clip-path="url(#p553f52e075)" d="M 324.302356 281.780546 +L 327.696493 285.226997 +L 329.542948 283.317852 +L 326.101265 282.21841 z -" style="fill:#9bbcff;"/> - <path clip-path="url(#p19582ab83f)" d="M 186.20189 281.197313 +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 186.20189 281.197313 L 189.406949 276.532651 L 191.40342 271.926037 L 188.225659 278.046072 -L 186.20189 281.197313 z -" style="fill:#4358cb;"/> - <path clip-path="url(#p19582ab83f)" d="M 333.364472 273.623104 -L 336.991221 267.714581 -L 339.034518 257.841645 -L 335.354571 265.50533 -L 333.364472 273.623104 -z -" style="fill:#516ddb;"/> - <path clip-path="url(#p19582ab83f)" d="M 173.913851 268.843213 -L 177.43281 277.92078 -L 179.546082 278.058125 -L 176.067638 270.184421 -L 173.913851 268.843213 -z -" style="fill:#4a63d3;"/> - <path clip-path="url(#p19582ab83f)" d="M 329.542948 283.317852 +" style="fill:#445acc;"/> + <path clip-path="url(#p553f52e075)" d="M 329.542948 283.317852 L 333.061933 281.506604 L 335.001936 275.584537 L 331.429479 279.519758 -L 329.542948 283.317852 z -" style="fill:#3e51c5;"/> - <path clip-path="url(#p19582ab83f)" d="M 228.470307 213.850028 +" style="fill:#3f53c6;"/> + <path clip-path="url(#p553f52e075)" d="M 301.258511 228.775206 +L 304.581563 237.367205 +L 306.247875 249.147624 +L 302.924375 242.099064 +z +" style="fill:#81a4fb;"/> + <path clip-path="url(#p553f52e075)" d="M 228.470307 213.850028 L 231.713345 198.563325 L 233.782595 207.74315 L 230.533485 221.656737 -L 228.470307 213.850028 z -" style="fill:#b1cbfc;"/> - <path clip-path="url(#p19582ab83f)" d="M 312.802609 255.043907 -L 316.0882 264.401244 -L 317.801398 270.146283 -L 314.490011 263.069264 -L 312.802609 255.043907 +" style="fill:#b2ccfb;"/> + <path clip-path="url(#p553f52e075)" d="M 215.88288 228.722303 +L 219.036163 212.408785 +L 221.116172 216.848673 +L 217.949586 232.127779 z -" style="fill:#5b7ae5;"/> - <path clip-path="url(#p19582ab83f)" d="M 324.302356 281.780546 -L 327.696493 285.226997 -L 329.542948 283.317852 -L 326.101265 282.21841 -L 324.302356 281.780546 -z -" style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 320.965463 275.601549 -L 324.302356 281.780546 -L 326.101265 282.21841 -L 322.722138 278.450989 -L 320.965463 275.601549 -z -" style="fill:#4257c9;"/> - <path clip-path="url(#p19582ab83f)" d="M 197.409469 259.863335 -L 200.506017 247.134638 -L 202.522274 243.886723 -L 199.425519 257.017218 -L 197.409469 259.863335 -z -" style="fill:#6a8bef;"/> - <path clip-path="url(#p19582ab83f)" d="M 335.812205 251.237195 -L 339.513925 242.64783 -L 341.681889 228.230057 -L 337.937196 237.889988 -L 335.812205 251.237195 +" style="fill:#9ebeff;"/> + <path clip-path="url(#p553f52e075)" d="M 333.364472 273.623104 +L 336.991221 267.714581 +L 339.034518 257.841645 +L 335.354571 265.50533 z -" style="fill:#7da0f9;"/> - <path clip-path="url(#p19582ab83f)" d="M 239.119058 204.254535 +" style="fill:#5572df;"/> + <path clip-path="url(#p553f52e075)" d="M 239.119058 204.254535 L 242.437951 191.108381 L 244.467325 203.56701 L 241.151839 215.351499 -L 239.119058 204.254535 z " style="fill:#bed2f6;"/> - <path clip-path="url(#p19582ab83f)" d="M 233.782595 207.74315 -L 237.065619 193.332225 -L 239.119058 204.254535 -L 235.834705 217.298107 -L 233.782595 207.74315 + <path clip-path="url(#p553f52e075)" d="M 274.079775 199.483278 +L 277.509836 198.195028 +L 279.297289 215.396728 +L 275.891278 216.364602 z -" style="fill:#bad0f8;"/> - <path clip-path="url(#p19582ab83f)" d="M 184.166441 284.029237 -L 187.4055 281.027635 -L 189.406949 276.532651 -L 186.20189 281.197313 -L 184.166441 284.029237 +" style="fill:#b7cff9;"/> + <path clip-path="url(#p553f52e075)" d="M 317.668457 267.119112 +L 320.965463 275.601549 +L 322.722138 278.450989 +L 319.389734 272.366988 z -" style="fill:#3f53c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 178.749505 283.576641 +" style="fill:#4a63d3;"/> + <path clip-path="url(#p553f52e075)" d="M 178.749505 283.576641 L 182.112684 286.284591 L 184.166441 284.029237 L 180.847124 283.023301 -L 178.749505 283.576641 -z -" style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 301.258511 228.775206 -L 304.581563 237.367205 -L 306.247875 249.147624 -L 302.924375 242.099064 -L 301.258511 228.775206 -z -" style="fill:#85a8fc;"/> - <path clip-path="url(#p19582ab83f)" d="M 335.354571 265.50533 -L 339.034518 257.841645 -L 341.133964 246.011 -L 337.404 255.147546 -L 335.354571 265.50533 -z -" style="fill:#6384eb;"/> - <path clip-path="url(#p19582ab83f)" d="M 327.696493 285.226997 -L 331.164515 285.622066 -L 333.061933 281.506604 -L 329.542948 283.317852 -L 327.696493 285.226997 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 175.289885 276.962843 + <path clip-path="url(#p553f52e075)" d="M 175.289885 276.962843 L 178.749505 283.576641 L 180.847124 283.023301 L 177.43281 277.92078 -L 175.289885 276.962843 z -" style="fill:#4257c9;"/> - <path clip-path="url(#p19582ab83f)" d="M 317.668457 267.119112 -L 320.965463 275.601549 -L 322.722138 278.450989 -L 319.389734 272.366988 -L 317.668457 267.119112 -z -" style="fill:#4c66d6;"/> - <path clip-path="url(#p19582ab83f)" d="M 274.079775 199.483278 -L 277.509836 198.195028 -L 279.297289 215.396728 -L 275.891278 216.364602 -L 274.079775 199.483278 +" style="fill:#3f53c6;"/> + <path clip-path="url(#p553f52e075)" d="M 233.782595 207.74315 +L 237.065619 193.332225 +L 239.119058 204.254535 +L 235.834705 217.298107 z -" style="fill:#bbd1f8;"/> - <path clip-path="url(#p19582ab83f)" d="M 195.401453 263.39063 -L 198.502469 251.338839 +" style="fill:#bad0f8;"/> + <path clip-path="url(#p553f52e075)" d="M 197.409469 259.863335 L 200.506017 247.134638 -L 197.409469 259.863335 -L 195.401453 263.39063 +L 202.522274 243.886723 +L 199.425519 257.017218 z -" style="fill:#6687ed;"/> - <path clip-path="url(#p19582ab83f)" d="M 206.589477 240.513706 -L 209.691858 224.481412 -L 211.750035 224.740162 -L 208.636394 240.382399 -L 206.589477 240.513706 +" style="fill:#6c8ff1;"/> + <path clip-path="url(#p553f52e075)" d="M 327.696493 285.226997 +L 331.164515 285.622066 +L 333.061933 281.506604 +L 329.542948 283.317852 +z +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 184.166441 284.029237 +L 187.4055 281.027635 +L 189.406949 276.532651 +L 186.20189 281.197313 z -" style="fill:#8caffe;"/> - <path clip-path="url(#p19582ab83f)" d="M 309.519756 244.810673 +" style="fill:#3f53c6;"/> + <path clip-path="url(#p553f52e075)" d="M 309.519756 244.810673 L 312.802609 255.043907 L 314.490011 263.069264 L 311.189839 254.941584 -L 309.519756 244.810673 z -" style="fill:#6c8ff1;"/> - <path clip-path="url(#p19582ab83f)" d="M 261.931754 195.322612 +" style="fill:#688aef;"/> + <path clip-path="url(#p553f52e075)" d="M 335.812205 251.237195 +L 339.513925 242.64783 +L 341.681889 228.230057 +L 337.937196 237.889988 +z +" style="fill:#81a4fb;"/> + <path clip-path="url(#p553f52e075)" d="M 261.931754 195.322612 L 265.356343 189.373674 L 267.236638 206.18042 L 263.832851 211.304834 -L 261.931754 195.322612 z -" style="fill:#c5d6f2;"/> - <path clip-path="url(#p19582ab83f)" d="M 253.183267 195.820443 +" style="fill:#c3d5f4;"/> + <path clip-path="url(#p553f52e075)" d="M 297.916967 220.805669 +L 301.258511 228.775206 +L 302.924375 242.099064 +L 299.588911 235.409956 +z +" style="fill:#90b2fe;"/> + <path clip-path="url(#p553f52e075)" d="M 335.354571 265.50533 +L 339.034518 257.841645 +L 341.133964 246.011 +L 337.404 255.147546 +z +" style="fill:#6788ee;"/> + <path clip-path="url(#p553f52e075)" d="M 253.183267 195.820443 L 256.581163 186.774737 L 258.526439 202.422912 L 255.143907 210.394818 -L 253.183267 195.820443 z -" style="fill:#c7d7f0;"/> - <path clip-path="url(#p19582ab83f)" d="M 182.112684 286.284591 +" style="fill:#c6d6f1;"/> + <path clip-path="url(#p553f52e075)" d="M 195.401453 263.39063 +L 198.502469 251.338839 +L 200.506017 247.134638 +L 197.409469 259.863335 +z +" style="fill:#688aef;"/> + <path clip-path="url(#p553f52e075)" d="M 182.112684 286.284591 L 185.39234 285.117582 L 187.4055 281.027635 L 184.166441 284.029237 -L 182.112684 286.284591 z -" style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 297.916967 220.805669 -L 301.258511 228.775206 -L 302.924375 242.099064 -L 299.588911 235.409956 -L 297.916967 220.805669 +" style="fill:#3d50c3;"/> + <path clip-path="url(#p553f52e075)" d="M 277.509836 198.195028 +L 280.939006 198.38465 +L 282.702563 215.697346 +L 279.297289 215.396728 z -" style="fill:#94b6ff;"/> - <path clip-path="url(#p19582ab83f)" d="M 193.400277 267.470828 -L 196.51106 256.368487 -L 198.502469 251.338839 -L 195.401453 263.39063 -L 193.400277 267.470828 +" style="fill:#bad0f8;"/> + <path clip-path="url(#p553f52e075)" d="M 206.589477 240.513706 +L 209.691858 224.481412 +L 211.750035 224.740162 +L 208.636394 240.382399 +z +" style="fill:#90b2fe;"/> + <path clip-path="url(#p553f52e075)" d="M 171.726141 266.613957 +L 175.289885 276.962843 +L 177.43281 277.92078 +L 173.913851 268.843213 +z +" style="fill:#4e68d8;"/> + <path clip-path="url(#p553f52e075)" d="M 314.394378 256.844148 +L 317.668457 267.119112 +L 319.389734 272.366988 +L 316.0882 264.401244 z -" style="fill:#5f7fe8;"/> - <path clip-path="url(#p19582ab83f)" d="M 322.529096 279.755009 +" style="fill:#5977e3;"/> + <path clip-path="url(#p553f52e075)" d="M 322.529096 279.755009 L 325.880659 285.524918 L 327.696493 285.226997 L 324.302356 281.780546 -L 322.529096 279.755009 z -" style="fill:#3f53c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 333.061933 281.506604 -L 336.670741 276.672113 -L 338.664051 268.874697 -L 335.001936 275.584537 -L 333.061933 281.506604 +" style="fill:#3e51c5;"/> + <path clip-path="url(#p553f52e075)" d="M 294.555401 213.752593 +L 297.916967 220.805669 +L 299.588911 235.409956 +L 296.238924 229.374462 z -" style="fill:#485fd1;"/> - <path clip-path="url(#p19582ab83f)" d="M 325.880659 285.524918 +" style="fill:#9ebeff;"/> + <path clip-path="url(#p553f52e075)" d="M 325.880659 285.524918 L 329.301649 288.14184 L 331.164515 285.622066 L 327.696493 285.226997 -L 325.880659 285.524918 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 171.726141 266.613957 -L 175.289885 276.962843 -L 177.43281 277.92078 -L 173.913851 268.843213 -L 171.726141 266.613957 + <path clip-path="url(#p553f52e075)" d="M 176.620547 283.193692 +L 180.033051 287.695887 +L 182.112684 286.284591 +L 178.749505 283.576641 z -" style="fill:#506bda;"/> - <path clip-path="url(#p19582ab83f)" d="M 221.116172 216.848673 +" style="fill:#3c4ec2;"/> + <path clip-path="url(#p553f52e075)" d="M 193.400277 267.470828 +L 196.51106 256.368487 +L 198.502469 251.338839 +L 195.401453 263.39063 +z +" style="fill:#6384eb;"/> + <path clip-path="url(#p553f52e075)" d="M 333.061933 281.506604 +L 336.670741 276.672113 +L 338.664051 268.874697 +L 335.001936 275.584537 +z +" style="fill:#4a63d3;"/> + <path clip-path="url(#p553f52e075)" d="M 221.116172 216.848673 L 224.308526 200.131959 L 226.393898 206.556143 L 223.191339 222.185404 -L 221.116172 216.848673 -z -" style="fill:#b2ccfb;"/> - <path clip-path="url(#p19582ab83f)" d="M 337.404 255.147546 -L 341.133964 246.011 -L 343.288529 232.378983 -L 339.513925 242.64783 -L 337.404 255.147546 z -" style="fill:#799cf8;"/> - <path clip-path="url(#p19582ab83f)" d="M 277.509836 198.195028 -L 280.939006 198.38465 -L 282.702563 215.697346 -L 279.297289 215.396728 -L 277.509836 198.195028 +" style="fill:#b5cdfa;"/> + <path clip-path="url(#p553f52e075)" d="M 306.22875 234.213124 +L 309.519756 244.810673 +L 311.189839 254.941584 +L 307.889923 246.225592 z -" style="fill:#bed2f6;"/> - <path clip-path="url(#p19582ab83f)" d="M 335.001936 275.584537 -L 338.664051 268.874697 -L 340.705935 259.313842 -L 336.991221 267.714581 -L 335.001936 275.584537 +" style="fill:#7b9ff9;"/> + <path clip-path="url(#p553f52e075)" d="M 319.228597 271.229335 +L 322.529096 279.755009 +L 324.302356 281.780546 +L 320.965463 275.601549 z -" style="fill:#5470de;"/> - <path clip-path="url(#p19582ab83f)" d="M 314.394378 256.844148 -L 317.668457 267.119112 -L 319.389734 272.366988 -L 316.0882 264.401244 -L 314.394378 256.844148 +" style="fill:#485fd1;"/> + <path clip-path="url(#p553f52e075)" d="M 280.939006 198.38465 +L 284.362424 200.075299 +L 286.102856 217.293374 +L 282.702563 215.697346 z -" style="fill:#5d7ce6;"/> - <path clip-path="url(#p19582ab83f)" d="M 331.164515 285.622066 +" style="fill:#bad0f8;"/> + <path clip-path="url(#p553f52e075)" d="M 331.164515 285.622066 L 334.721144 282.781221 L 336.670741 276.672113 L 333.061933 281.506604 -L 331.164515 285.622066 z -" style="fill:#4055c8;"/> - <path clip-path="url(#p19582ab83f)" d="M 176.620547 283.193692 -L 180.033051 287.695887 -L 182.112684 286.284591 -L 178.749505 283.576641 +" style="fill:#4257c9;"/> + <path clip-path="url(#p553f52e075)" d="M 291.174246 207.844921 +L 294.555401 213.752593 +L 296.238924 229.374462 +L 292.873745 224.231364 +z +" style="fill:#a9c6fd;"/> + <path clip-path="url(#p553f52e075)" d="M 173.111143 275.012612 L 176.620547 283.193692 +L 178.749505 283.576641 +L 175.289885 276.962843 z -" style="fill:#3d50c3;"/> - <path clip-path="url(#p19582ab83f)" d="M 191.40342 271.926037 +" style="fill:#455cce;"/> + <path clip-path="url(#p553f52e075)" d="M 335.001936 275.584537 +L 338.664051 268.874697 +L 340.705935 259.313842 +L 336.991221 267.714581 +z +" style="fill:#5673e0;"/> + <path clip-path="url(#p553f52e075)" d="M 191.40342 271.926037 L 194.529863 262.038905 L 196.51106 256.368487 L 193.400277 267.470828 -L 191.40342 271.926037 z -" style="fill:#5977e3;"/> - <path clip-path="url(#p19582ab83f)" d="M 213.814987 226.197651 +" style="fill:#5d7ce6;"/> + <path clip-path="url(#p553f52e075)" d="M 337.404 255.147546 +L 341.133964 246.011 +L 343.288529 232.378983 +L 339.513925 242.64783 +z +" style="fill:#7ea1fa;"/> + <path clip-path="url(#p553f52e075)" d="M 180.033051 287.695887 +L 183.359528 288.490645 +L 185.39234 285.117582 +L 182.112684 286.284591 +z +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 213.814987 226.197651 L 216.955685 209.099023 L 219.036163 212.408785 L 215.88288 228.722303 -L 213.814987 226.197651 z -" style="fill:#a6c4fe;"/> - <path clip-path="url(#p19582ab83f)" d="M 337.937196 237.889988 -L 341.681889 228.230057 -L 343.901384 212.247005 -L 340.121738 222.564508 -L 337.937196 237.889988 -z -" style="fill:#9abbff;"/> - <path clip-path="url(#p19582ab83f)" d="M 294.555401 213.752593 -L 297.916967 220.805669 -L 299.588911 235.409956 -L 296.238924 229.374462 -L 294.555401 213.752593 +" style="fill:#a9c6fd;"/> + <path clip-path="url(#p553f52e075)" d="M 284.362424 200.075299 +L 287.775517 203.249104 +L 289.494313 220.162356 +L 286.102856 217.293374 z -" style="fill:#a2c1ff;"/> - <path clip-path="url(#p19582ab83f)" d="M 180.033051 287.695887 -L 183.359528 288.490645 -L 185.39234 285.117582 -L 182.112684 286.284591 -L 180.033051 287.695887 +" style="fill:#b7cff9;"/> + <path clip-path="url(#p553f52e075)" d="M 287.775517 203.249104 +L 291.174246 207.844921 +L 292.873745 224.231364 +L 289.494313 220.162356 z -" style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 319.228597 271.229335 -L 322.529096 279.755009 -L 324.302356 281.780546 -L 320.965463 275.601549 -L 319.228597 271.229335 +" style="fill:#b2ccfb;"/> + <path clip-path="url(#p553f52e075)" d="M 329.301649 288.14184 +L 332.808827 287.347315 +L 334.721144 282.781221 +L 331.164515 285.622066 z -" style="fill:#4b64d5;"/> - <path clip-path="url(#p19582ab83f)" d="M 189.406949 276.532651 +" style="fill:#3d50c3;"/> + <path clip-path="url(#p553f52e075)" d="M 189.406949 276.532651 L 192.555453 268.113404 L 194.529863 262.038905 L 191.40342 271.926037 -L 189.406949 276.532651 z -" style="fill:#536edd;"/> - <path clip-path="url(#p19582ab83f)" d="M 173.111143 275.012612 -L 176.620547 283.193692 -L 178.749505 283.576641 -L 175.289885 276.962843 -L 173.111143 275.012612 +" style="fill:#5572df;"/> + <path clip-path="url(#p553f52e075)" d="M 337.937196 237.889988 +L 341.681889 228.230057 +L 343.901384 212.247005 +L 340.121738 222.564508 z -" style="fill:#465ecf;"/> - <path clip-path="url(#p19582ab83f)" d="M 204.55063 241.671946 +" style="fill:#9fbfff;"/> + <path clip-path="url(#p553f52e075)" d="M 204.55063 241.671946 L 207.643868 225.500517 L 209.691858 224.481412 L 206.589477 240.513706 -L 204.55063 241.671946 -z -" style="fill:#8fb1fe;"/> - <path clip-path="url(#p19582ab83f)" d="M 329.301649 288.14184 -L 332.808827 287.347315 -L 334.721144 282.781221 -L 331.164515 285.622066 -L 329.301649 288.14184 -z -" style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 336.991221 267.714581 -L 340.705935 259.313842 -L 342.799091 247.998825 -L 339.034518 257.841645 -L 336.991221 267.714581 z -" style="fill:#6485ec;"/> - <path clip-path="url(#p19582ab83f)" d="M 280.939006 198.38465 -L 284.362424 200.075299 -L 286.102856 217.293374 -L 282.702563 215.697346 -L 280.939006 198.38465 +" style="fill:#93b5fe;"/> + <path clip-path="url(#p553f52e075)" d="M 311.127654 245.337337 +L 314.394378 256.844148 +L 316.0882 264.401244 +L 312.802609 255.043907 z -" style="fill:#bfd3f6;"/> - <path clip-path="url(#p19582ab83f)" d="M 306.22875 234.213124 -L 309.519756 244.810673 -L 311.189839 254.941584 -L 307.889923 246.225592 -L 306.22875 234.213124 +" style="fill:#6c8ff1;"/> + <path clip-path="url(#p553f52e075)" d="M 247.815594 191.96473 +L 251.196861 181.068437 +L 253.183267 195.820443 +L 249.81354 205.67697 z -" style="fill:#81a4fb;"/> - <path clip-path="url(#p19582ab83f)" d="M 187.4055 281.027635 +" style="fill:#d1dae9;"/> + <path clip-path="url(#p553f52e075)" d="M 187.4055 281.027635 L 190.582817 274.307783 L 192.555453 268.113404 L 189.406949 276.532651 -L 187.4055 281.027635 z -" style="fill:#4b64d5;"/> - <path clip-path="url(#p19582ab83f)" d="M 291.174246 207.844921 -L 294.555401 213.752593 -L 296.238924 229.374462 -L 292.873745 224.231364 -L 291.174246 207.844921 +" style="fill:#4e68d8;"/> + <path clip-path="url(#p553f52e075)" d="M 265.356343 189.373674 +L 268.795815 184.78128 +L 270.653768 202.183262 +L 267.236638 206.18042 z -" style="fill:#aec9fc;"/> - <path clip-path="url(#p19582ab83f)" d="M 284.362424 200.075299 -L 287.775517 203.249104 -L 289.494313 220.162356 -L 286.102856 217.293374 -L 284.362424 200.075299 +" style="fill:#cedaeb;"/> + <path clip-path="url(#p553f52e075)" d="M 336.991221 267.714581 +L 340.705935 259.313842 +L 342.799091 247.998825 +L 339.034518 257.841645 z -" style="fill:#bcd2f7;"/> - <path clip-path="url(#p19582ab83f)" d="M 287.775517 203.249104 -L 291.174246 207.844921 -L 292.873745 224.231364 -L 289.494313 220.162356 -L 287.775517 203.249104 +" style="fill:#688aef;"/> + <path clip-path="url(#p553f52e075)" d="M 324.085563 284.537228 +L 327.464581 289.328507 +L 329.301649 288.14184 +L 325.880659 285.524918 z -" style="fill:#b6cefa;"/> - <path clip-path="url(#p19582ab83f)" d="M 247.815594 191.96473 -L 251.196861 181.068437 -L 253.183267 195.820443 -L 249.81354 205.67697 -L 247.815594 191.96473 +" style="fill:#3c4ec2;"/> + <path clip-path="url(#p553f52e075)" d="M 315.960454 260.457173 +L 319.228597 271.229335 +L 320.965463 275.601549 +L 317.668457 267.119112 z -" style="fill:#d2dbe8;"/> - <path clip-path="url(#p19582ab83f)" d="M 185.39234 285.117582 +" style="fill:#5875e1;"/> + <path clip-path="url(#p553f52e075)" d="M 185.39234 285.117582 L 188.60536 280.298209 L 190.582817 274.307783 L 187.4055 281.027635 -L 185.39234 285.117582 -z -" style="fill:#445acc;"/> - <path clip-path="url(#p19582ab83f)" d="M 324.085563 284.537228 -L 327.464581 289.328507 -L 329.301649 288.14184 -L 325.880659 285.524918 -L 324.085563 284.537228 -z -" style="fill:#3d50c3;"/> - <path clip-path="url(#p19582ab83f)" d="M 265.356343 189.373674 -L 268.795815 184.78128 -L 270.653768 202.183262 -L 267.236638 206.18042 -L 265.356343 189.373674 z -" style="fill:#d1dae9;"/> - <path clip-path="url(#p19582ab83f)" d="M 226.393898 206.556143 -L 229.630943 190.18985 -L 231.713345 198.563325 -L 228.470307 213.850028 -L 226.393898 206.556143 +" style="fill:#465ecf;"/> + <path clip-path="url(#p553f52e075)" d="M 302.921382 223.731345 +L 306.22875 234.213124 +L 307.889923 246.225592 +L 304.581563 237.367205 z -" style="fill:#c4d5f3;"/> - <path clip-path="url(#p19582ab83f)" d="M 311.127654 245.337337 -L 314.394378 256.844148 -L 316.0882 264.401244 -L 312.802609 255.043907 -L 311.127654 245.337337 +" style="fill:#90b2fe;"/> + <path clip-path="url(#p553f52e075)" d="M 174.452937 281.664313 +L 177.919338 287.999396 +L 180.033051 287.695887 +L 176.620547 283.193692 z -" style="fill:#7295f4;"/> - <path clip-path="url(#p19582ab83f)" d="M 339.513925 242.64783 -L 343.288529 232.378983 -L 345.493545 217.219051 -L 341.681889 228.230057 -L 339.513925 242.64783 +" style="fill:#3f53c6;"/> + <path clip-path="url(#p553f52e075)" d="M 320.770686 276.530009 +L 324.085563 284.537228 +L 325.880659 285.524918 +L 322.529096 279.755009 z -" style="fill:#94b6ff;"/> - <path clip-path="url(#p19582ab83f)" d="M 177.919338 287.999396 +" style="fill:#445acc;"/> + <path clip-path="url(#p553f52e075)" d="M 177.919338 287.999396 L 181.298193 290.831119 L 183.359528 288.490645 L 180.033051 287.695887 -L 177.919338 287.999396 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 327.464581 289.328507 + <path clip-path="url(#p553f52e075)" d="M 226.393898 206.556143 +L 229.630943 190.18985 +L 231.713345 198.563325 +L 228.470307 213.850028 +z +" style="fill:#c6d6f1;"/> + <path clip-path="url(#p553f52e075)" d="M 327.464581 289.328507 L 330.926363 290.570006 L 332.808827 287.347315 L 329.301649 288.14184 -L 327.464581 289.328507 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 183.359528 288.490645 + <path clip-path="url(#p553f52e075)" d="M 169.499334 263.373752 +L 173.111143 275.012612 +L 175.289885 276.962843 +L 171.726141 266.613957 +z +" style="fill:#5572df;"/> + <path clip-path="url(#p553f52e075)" d="M 183.359528 288.490645 L 186.615017 285.732786 L 188.60536 280.298209 L 185.39234 285.117582 -L 183.359528 288.490645 -z -" style="fill:#3f53c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 315.960454 260.457173 -L 319.228597 271.229335 -L 320.965463 275.601549 -L 317.668457 267.119112 -L 315.960454 260.457173 -z -" style="fill:#5b7ae5;"/> - <path clip-path="url(#p19582ab83f)" d="M 174.452937 281.664313 -L 177.919338 287.999396 -L 180.033051 287.695887 -L 176.620547 283.193692 -L 174.452937 281.664313 z " style="fill:#4055c8;"/> - <path clip-path="url(#p19582ab83f)" d="M 202.522274 243.886723 + <path clip-path="url(#p553f52e075)" d="M 256.581163 186.774737 +L 260.004302 178.880605 +L 261.931754 195.322612 +L 258.526439 202.422912 +z +" style="fill:#d6dce4;"/> + <path clip-path="url(#p553f52e075)" d="M 202.522274 243.886723 L 205.608922 227.826238 L 207.643868 225.500517 L 204.55063 241.671946 -L 202.522274 243.886723 z -" style="fill:#8fb1fe;"/> - <path clip-path="url(#p19582ab83f)" d="M 339.034518 257.841645 +" style="fill:#93b5fe;"/> + <path clip-path="url(#p553f52e075)" d="M 339.513925 242.64783 +L 343.288529 232.378983 +L 345.493545 217.219051 +L 341.681889 228.230057 +z +" style="fill:#9abbff;"/> + <path clip-path="url(#p553f52e075)" d="M 242.437951 191.108381 +L 245.793688 178.493915 +L 247.815594 191.96473 +L 244.467325 203.56701 +z +" style="fill:#d6dce4;"/> + <path clip-path="url(#p553f52e075)" d="M 339.034518 257.841645 L 342.799091 247.998825 L 344.943494 235.034994 L 341.133964 246.011 -L 339.034518 257.841645 -z -" style="fill:#799cf8;"/> - <path clip-path="url(#p19582ab83f)" d="M 320.770686 276.530009 -L 324.085563 284.537228 -L 325.880659 285.524918 -L 322.529096 279.755009 -L 320.770686 276.530009 z -" style="fill:#465ecf;"/> - <path clip-path="url(#p19582ab83f)" d="M 169.499334 263.373752 +" style="fill:#7ea1fa;"/> + <path clip-path="url(#p553f52e075)" d="M 170.890361 271.914003 +L 174.452937 281.664313 +L 176.620547 283.193692 L 173.111143 275.012612 -L 175.289885 276.962843 -L 171.726141 266.613957 -L 169.499334 263.373752 -z -" style="fill:#5977e3;"/> - <path clip-path="url(#p19582ab83f)" d="M 302.921382 223.731345 -L 306.22875 234.213124 -L 307.889923 246.225592 -L 304.581563 237.367205 -L 302.921382 223.731345 z -" style="fill:#96b7ff;"/> - <path clip-path="url(#p19582ab83f)" d="M 334.721144 282.781221 +" style="fill:#4b64d5;"/> + <path clip-path="url(#p553f52e075)" d="M 334.721144 282.781221 L 338.377952 276.673301 L 340.3785 268.848944 L 336.670741 276.672113 +z +" style="fill:#4f69d9;"/> + <path clip-path="url(#p553f52e075)" d="M 181.298193 290.831119 +L 184.602484 290.246604 +L 186.615017 285.732786 +L 183.359528 288.490645 +z +" style="fill:#3c4ec2;"/> + <path clip-path="url(#p553f52e075)" d="M 332.808827 287.347315 +L 336.416055 283.042705 +L 338.377952 276.673301 L 334.721144 282.781221 z -" style="fill:#4c66d6;"/> - <path clip-path="url(#p19582ab83f)" d="M 256.581163 186.774737 -L 260.004302 178.880605 -L 261.931754 195.322612 -L 258.526439 202.422912 -L 256.581163 186.774737 +" style="fill:#455cce;"/> + <path clip-path="url(#p553f52e075)" d="M 231.713345 198.563325 +L 234.994991 183.10909 +L 237.065619 193.332225 +L 233.782595 207.74315 z -" style="fill:#d8dce2;"/> - <path clip-path="url(#p19582ab83f)" d="M 211.750035 224.740162 +" style="fill:#d1dae9;"/> + <path clip-path="url(#p553f52e075)" d="M 211.750035 224.740162 L 214.878956 207.091624 L 216.955685 209.099023 L 213.814987 226.197651 -L 211.750035 224.740162 -z -" style="fill:#aec9fc;"/> - <path clip-path="url(#p19582ab83f)" d="M 242.437951 191.108381 -L 245.793688 178.493915 -L 247.815594 191.96473 -L 244.467325 203.56701 -L 242.437951 191.108381 z -" style="fill:#d7dce3;"/> - <path clip-path="url(#p19582ab83f)" d="M 332.808827 287.347315 -L 336.416055 283.042705 -L 338.377952 276.673301 -L 334.721144 282.781221 -L 332.808827 287.347315 +" style="fill:#b2ccfb;"/> + <path clip-path="url(#p553f52e075)" d="M 317.500042 265.784435 +L 320.770686 276.530009 +L 322.529096 279.755009 +L 319.228597 271.229335 z -" style="fill:#445acc;"/> - <path clip-path="url(#p19582ab83f)" d="M 336.670741 276.672113 +" style="fill:#5470de;"/> + <path clip-path="url(#p553f52e075)" d="M 336.670741 276.672113 L 340.3785 268.848944 L 342.422385 259.488113 L 338.664051 268.874697 -L 336.670741 276.672113 -z -" style="fill:#5875e1;"/> - <path clip-path="url(#p19582ab83f)" d="M 181.298193 290.831119 -L 184.602484 290.246604 -L 186.615017 285.732786 -L 183.359528 288.490645 -L 181.298193 290.831119 z -" style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 231.713345 198.563325 -L 234.994991 183.10909 -L 237.065619 193.332225 -L 233.782595 207.74315 -L 231.713345 198.563325 -z -" style="fill:#d1dae9;"/> - <path clip-path="url(#p19582ab83f)" d="M 200.506017 247.134638 -L 203.589167 231.437644 -L 205.608922 227.826238 -L 202.522274 243.886723 -L 200.506017 247.134638 -z -" style="fill:#8caffe;"/> - <path clip-path="url(#p19582ab83f)" d="M 219.036163 212.408785 -L 222.218595 194.859325 -L 224.308526 200.131959 -L 221.116172 216.848673 -L 219.036163 212.408785 -z -" style="fill:#c0d4f5;"/> - <path clip-path="url(#p19582ab83f)" d="M 170.890361 271.914003 -L 174.452937 281.664313 -L 176.620547 283.193692 -L 173.111143 275.012612 -L 170.890361 271.914003 +" style="fill:#5b7ae5;"/> + <path clip-path="url(#p553f52e075)" d="M 307.854924 233.174925 +L 311.127654 245.337337 +L 312.802609 255.043907 +L 309.519756 244.810673 z -" style="fill:#4f69d9;"/> - <path clip-path="url(#p19582ab83f)" d="M 237.065619 193.332225 +" style="fill:#82a6fb;"/> + <path clip-path="url(#p553f52e075)" d="M 237.065619 193.332225 L 240.387678 179.172699 L 242.437951 191.108381 L 239.119058 204.254535 -L 237.065619 193.332225 z " style="fill:#d6dce4;"/> - <path clip-path="url(#p19582ab83f)" d="M 330.926363 290.570006 -L 334.486892 288.094565 -L 336.416055 283.042705 -L 332.808827 287.347315 -L 330.926363 290.570006 + <path clip-path="url(#p553f52e075)" d="M 268.795815 184.78128 +L 272.245242 181.684289 +L 274.079775 199.483278 +L 270.653768 202.183262 z -" style="fill:#3e51c5;"/> - <path clip-path="url(#p19582ab83f)" d="M 325.644398 289.477878 +" style="fill:#d6dce4;"/> + <path clip-path="url(#p553f52e075)" d="M 325.644398 289.477878 L 329.065882 292.686684 L 330.926363 290.570006 L 327.464581 289.328507 -L 325.644398 289.477878 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 338.664051 268.874697 -L 342.422385 259.488113 -L 344.512512 248.578918 -L 340.705935 259.313842 -L 338.664051 268.874697 + <path clip-path="url(#p553f52e075)" d="M 299.592255 213.791196 +L 302.921382 223.731345 +L 304.581563 237.367205 +L 301.258511 228.775206 z -" style="fill:#688aef;"/> - <path clip-path="url(#p19582ab83f)" d="M 317.500042 265.784435 -L 320.770686 276.530009 -L 322.529096 279.755009 -L 319.228597 271.229335 -L 317.500042 265.784435 +" style="fill:#a3c2fe;"/> + <path clip-path="url(#p553f52e075)" d="M 312.706793 248.027811 +L 315.960454 260.457173 +L 317.668457 267.119112 +L 314.394378 256.844148 z -" style="fill:#5673e0;"/> - <path clip-path="url(#p19582ab83f)" d="M 322.30147 282.616908 +" style="fill:#6c8ff1;"/> + <path clip-path="url(#p553f52e075)" d="M 322.30147 282.616908 L 325.644398 289.477878 L 327.464581 289.328507 L 324.085563 284.537228 -L 322.30147 282.616908 z -" style="fill:#4257c9;"/> - <path clip-path="url(#p19582ab83f)" d="M 268.795815 184.78128 -L 272.245242 181.684289 -L 274.079775 199.483278 -L 270.653768 202.183262 -L 268.795815 184.78128 +" style="fill:#4055c8;"/> + <path clip-path="url(#p553f52e075)" d="M 330.926363 290.570006 +L 334.486892 288.094565 +L 336.416055 283.042705 +L 332.808827 287.347315 +z +" style="fill:#3f53c6;"/> + <path clip-path="url(#p553f52e075)" d="M 219.036163 212.408785 +L 222.218595 194.859325 +L 224.308526 200.131959 +L 221.116172 216.848673 z -" style="fill:#d9dce1;"/> - <path clip-path="url(#p19582ab83f)" d="M 175.763104 286.950755 +" style="fill:#c3d5f4;"/> + <path clip-path="url(#p553f52e075)" d="M 175.763104 286.950755 L 179.198912 291.836184 L 181.298193 290.831119 L 177.919338 287.999396 -L 175.763104 286.950755 z -" style="fill:#3e51c5;"/> - <path clip-path="url(#p19582ab83f)" d="M 198.502469 251.338839 -L 201.585866 236.262894 +" style="fill:#3d50c3;"/> + <path clip-path="url(#p553f52e075)" d="M 200.506017 247.134638 L 203.589167 231.437644 -L 200.506017 247.134638 -L 198.502469 251.338839 -z -" style="fill:#86a9fc;"/> - <path clip-path="url(#p19582ab83f)" d="M 341.133964 246.011 -L 344.943494 235.034994 -L 347.135902 220.631742 -L 343.288529 232.378983 -L 341.133964 246.011 -z -" style="fill:#93b5fe;"/> - <path clip-path="url(#p19582ab83f)" d="M 307.854924 233.174925 -L 311.127654 245.337337 -L 312.802609 255.043907 -L 309.519756 244.810673 -L 307.854924 233.174925 +L 205.608922 227.826238 +L 202.522274 243.886723 z -" style="fill:#88abfd;"/> - <path clip-path="url(#p19582ab83f)" d="M 312.706793 248.027811 -L 315.960454 260.457173 -L 317.668457 267.119112 -L 314.394378 256.844148 -L 312.706793 248.027811 +" style="fill:#90b2fe;"/> + <path clip-path="url(#p553f52e075)" d="M 338.664051 268.874697 +L 342.422385 259.488113 +L 344.512512 248.578918 +L 340.705935 259.313842 z -" style="fill:#7295f4;"/> - <path clip-path="url(#p19582ab83f)" d="M 179.198912 291.836184 +" style="fill:#6c8ff1;"/> + <path clip-path="url(#p553f52e075)" d="M 179.198912 291.836184 L 182.557585 293.479663 L 184.602484 290.246604 L 181.298193 290.831119 -L 179.198912 291.836184 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 299.592255 213.791196 -L 302.921382 223.731345 -L 304.581563 237.367205 -L 301.258511 228.775206 -L 299.592255 213.791196 + <path clip-path="url(#p553f52e075)" d="M 172.239425 278.803011 +L 175.763104 286.950755 +L 177.919338 287.999396 +L 174.452937 281.664313 z -" style="fill:#a9c6fd;"/> - <path clip-path="url(#p19582ab83f)" d="M 196.51106 256.368487 -L 199.599181 242.176576 +" style="fill:#455cce;"/> + <path clip-path="url(#p553f52e075)" d="M 198.502469 251.338839 L 201.585866 236.262894 -L 198.502469 251.338839 -L 196.51106 256.368487 +L 203.589167 231.437644 +L 200.506017 247.134638 z -" style="fill:#7ea1fa;"/> - <path clip-path="url(#p19582ab83f)" d="M 329.065882 292.686684 +" style="fill:#8badfd;"/> + <path clip-path="url(#p553f52e075)" d="M 329.065882 292.686684 L 332.58383 292.007469 L 334.486892 288.094565 L 330.926363 290.570006 -L 329.065882 292.686684 z " style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 341.681889 228.230057 -L 345.493545 217.219051 -L 347.740378 200.921902 -L 343.901384 212.247005 -L 341.681889 228.230057 + <path clip-path="url(#p553f52e075)" d="M 319.016801 272.513687 +L 322.30147 282.616908 +L 324.085563 284.537228 +L 320.770686 276.530009 z -" style="fill:#b3cdfb;"/> - <path clip-path="url(#p19582ab83f)" d="M 172.239425 278.803011 -L 175.763104 286.950755 -L 177.919338 287.999396 -L 174.452937 281.664313 -L 172.239425 278.803011 +" style="fill:#4e68d8;"/> + <path clip-path="url(#p553f52e075)" d="M 341.133964 246.011 +L 344.943494 235.034994 +L 347.135902 220.631742 +L 343.288529 232.378983 z -" style="fill:#485fd1;"/> - <path clip-path="url(#p19582ab83f)" d="M 188.60536 280.298209 -L 191.771263 272.224018 -L 193.719295 264.341737 -L 190.582817 274.307783 -L 188.60536 280.298209 +" style="fill:#98b9ff;"/> + <path clip-path="url(#p553f52e075)" d="M 167.228468 259.019876 +L 170.890361 271.914003 +L 173.111143 275.012612 +L 169.499334 263.373752 z -" style="fill:#5572df;"/> - <path clip-path="url(#p19582ab83f)" d="M 186.615017 285.732786 +" style="fill:#6180e9;"/> + <path clip-path="url(#p553f52e075)" d="M 196.51106 256.368487 +L 199.599181 242.176576 +L 201.585866 236.262894 +L 198.502469 251.338839 +z +" style="fill:#82a6fb;"/> + <path clip-path="url(#p553f52e075)" d="M 186.615017 285.732786 L 189.817429 279.744753 L 191.771263 272.224018 L 188.60536 280.298209 -L 186.615017 285.732786 z -" style="fill:#4b64d5;"/> - <path clip-path="url(#p19582ab83f)" d="M 194.529863 262.038905 -L 197.627948 248.996824 -L 199.599181 242.176576 -L 196.51106 256.368487 -L 194.529863 262.038905 +" style="fill:#4e68d8;"/> + <path clip-path="url(#p553f52e075)" d="M 296.23868 204.748477 +L 299.592255 213.791196 +L 301.258511 228.775206 +L 297.916967 220.805669 z -" style="fill:#7597f6;"/> - <path clip-path="url(#p19582ab83f)" d="M 190.582817 274.307783 +" style="fill:#b5cdfa;"/> + <path clip-path="url(#p553f52e075)" d="M 188.60536 280.298209 +L 191.771263 272.224018 L 193.719295 264.341737 -L 195.669458 256.483884 -L 192.555453 268.113404 L 190.582817 274.307783 z -" style="fill:#5f7fe8;"/> - <path clip-path="url(#p19582ab83f)" d="M 192.555453 268.113404 +" style="fill:#5875e1;"/> + <path clip-path="url(#p553f52e075)" d="M 190.582817 274.307783 +L 193.719295 264.341737 L 195.669458 256.483884 -L 197.627948 248.996824 -L 194.529863 262.038905 L 192.555453 268.113404 z -" style="fill:#6b8df0;"/> - <path clip-path="url(#p19582ab83f)" d="M 340.705935 259.313842 -L 344.512512 248.578918 -L 346.649474 236.190996 -L 342.799091 247.998825 -L 340.705935 259.313842 +" style="fill:#6384eb;"/> + <path clip-path="url(#p553f52e075)" d="M 272.245242 181.684289 +L 275.699423 180.168098 +L 277.509836 198.195028 +L 274.079775 199.483278 z -" style="fill:#7da0f9;"/> - <path clip-path="url(#p19582ab83f)" d="M 184.602484 290.246604 +" style="fill:#dbdcde;"/> + <path clip-path="url(#p553f52e075)" d="M 184.602484 290.246604 L 187.848315 286.49376 L 189.817429 279.744753 L 186.615017 285.732786 -L 184.602484 290.246604 -z -" style="fill:#4358cb;"/> - <path clip-path="url(#p19582ab83f)" d="M 209.691858 224.481412 -L 212.809921 206.503496 -L 214.878956 207.091624 -L 211.750035 224.740162 -L 209.691858 224.481412 z -" style="fill:#b3cdfb;"/> - <path clip-path="url(#p19582ab83f)" d="M 319.016801 272.513687 -L 322.30147 282.616908 -L 324.085563 284.537228 -L 320.770686 276.530009 -L 319.016801 272.513687 +" style="fill:#445acc;"/> + <path clip-path="url(#p553f52e075)" d="M 194.529863 262.038905 +L 197.627948 248.996824 +L 199.599181 242.176576 +L 196.51106 256.368487 z -" style="fill:#506bda;"/> - <path clip-path="url(#p19582ab83f)" d="M 323.832523 288.901006 +" style="fill:#799cf8;"/> + <path clip-path="url(#p553f52e075)" d="M 323.832523 288.901006 L 327.219552 293.9561 L 329.065882 292.686684 L 325.644398 289.477878 -L 323.832523 288.901006 z -" style="fill:#3e51c5;"/> - <path clip-path="url(#p19582ab83f)" d="M 251.196861 181.068437 +" style="fill:#3d50c3;"/> + <path clip-path="url(#p553f52e075)" d="M 192.555453 268.113404 +L 195.669458 256.483884 +L 197.627948 248.996824 +L 194.529863 262.038905 +z +" style="fill:#6e90f2;"/> + <path clip-path="url(#p553f52e075)" d="M 251.196861 181.068437 L 254.609127 171.303559 L 256.581163 186.774737 L 253.183267 195.820443 -L 251.196861 181.068437 z -" style="fill:#e4d9d2;"/> - <path clip-path="url(#p19582ab83f)" d="M 167.228468 259.019876 -L 170.890361 271.914003 -L 173.111143 275.012612 -L 169.499334 263.373752 -L 167.228468 259.019876 +" style="fill:#e3d9d3;"/> + <path clip-path="url(#p553f52e075)" d="M 341.681889 228.230057 +L 345.493545 217.219051 +L 347.740378 200.921902 +L 343.901384 212.247005 +z +" style="fill:#b9d0f9;"/> + <path clip-path="url(#p553f52e075)" d="M 314.253759 252.892362 +L 317.500042 265.784435 +L 319.228597 271.229335 +L 315.960454 260.457173 +z +" style="fill:#688aef;"/> + <path clip-path="url(#p553f52e075)" d="M 260.004302 178.880605 +L 263.448549 172.384268 +L 265.356343 189.373674 +L 261.931754 195.322612 +z +" style="fill:#e3d9d3;"/> + <path clip-path="url(#p553f52e075)" d="M 209.691858 224.481412 +L 212.809921 206.503496 +L 214.878956 207.091624 +L 211.750035 224.740162 z -" style="fill:#6485ec;"/> - <path clip-path="url(#p19582ab83f)" d="M 182.557585 293.479663 +" style="fill:#b7cff9;"/> + <path clip-path="url(#p553f52e075)" d="M 340.705935 259.313842 +L 344.512512 248.578918 +L 346.649474 236.190996 +L 342.799091 247.998825 +z +" style="fill:#81a4fb;"/> + <path clip-path="url(#p553f52e075)" d="M 304.565617 220.914503 +L 307.854924 233.174925 +L 309.519756 244.810673 +L 306.22875 234.213124 +z +" style="fill:#9abbff;"/> + <path clip-path="url(#p553f52e075)" d="M 182.557585 293.479663 L 185.853228 292.055902 L 187.848315 286.49376 L 184.602484 290.246604 -L 182.557585 293.479663 -z -" style="fill:#3d50c3;"/> - <path clip-path="url(#p19582ab83f)" d="M 272.245242 181.684289 -L 275.699423 180.168098 -L 277.509836 198.195028 -L 274.079775 199.483278 -L 272.245242 181.684289 z -" style="fill:#dedcdb;"/> - <path clip-path="url(#p19582ab83f)" d="M 327.219552 293.9561 +" style="fill:#3e51c5;"/> + <path clip-path="url(#p553f52e075)" d="M 327.219552 293.9561 L 330.699999 294.98629 L 332.58383 292.007469 L 329.065882 292.686684 -L 327.219552 293.9561 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 224.308526 200.131959 -L 227.5397 182.965366 -L 229.630943 190.18985 -L 226.393898 206.556143 -L 224.308526 200.131959 + <path clip-path="url(#p553f52e075)" d="M 168.621665 267.539819 +L 172.239425 278.803011 +L 174.452937 281.664313 +L 170.890361 271.914003 z -" style="fill:#d5dbe5;"/> - <path clip-path="url(#p19582ab83f)" d="M 296.23868 204.748477 -L 299.592255 213.791196 -L 301.258511 228.775206 -L 297.916967 220.805669 -L 296.23868 204.748477 +" style="fill:#5572df;"/> + <path clip-path="url(#p553f52e075)" d="M 177.052195 291.234093 +L 180.469744 295.096796 +L 182.557585 293.479663 +L 179.198912 291.836184 z -" style="fill:#bad0f8;"/> - <path clip-path="url(#p19582ab83f)" d="M 260.004302 178.880605 -L 263.448549 172.384268 -L 265.356343 189.373674 -L 261.931754 195.322612 -L 260.004302 178.880605 +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 320.519287 280.124576 +L 323.832523 288.901006 +L 325.644398 289.477878 +L 322.30147 282.616908 +z +" style="fill:#465ecf;"/> + <path clip-path="url(#p553f52e075)" d="M 173.55616 284.341597 +L 177.052195 291.234093 +L 179.198912 291.836184 +L 175.763104 286.950755 +z +" style="fill:#4257c9;"/> + <path clip-path="url(#p553f52e075)" d="M 309.45161 234.573948 +L 312.706793 248.027811 +L 314.394378 256.844148 +L 311.127654 245.337337 +z +" style="fill:#85a8fc;"/> + <path clip-path="url(#p553f52e075)" d="M 224.308526 200.131959 +L 227.5397 182.965366 +L 229.630943 190.18985 +L 226.393898 206.556143 +z +" style="fill:#d6dce4;"/> + <path clip-path="url(#p553f52e075)" d="M 292.860375 196.88148 +L 296.23868 204.748477 +L 297.916967 220.805669 +L 294.555401 213.752593 z -" style="fill:#e5d8d1;"/> - <path clip-path="url(#p19582ab83f)" d="M 336.416055 283.042705 +" style="fill:#c3d5f4;"/> + <path clip-path="url(#p553f52e075)" d="M 336.416055 283.042705 L 340.133013 275.304385 L 342.142143 267.434085 L 338.377952 276.673301 +z +" style="fill:#5572df;"/> + <path clip-path="url(#p553f52e075)" d="M 334.486892 288.094565 +L 338.158158 281.918226 +L 340.133013 275.304385 L 336.416055 283.042705 z -" style="fill:#536edd;"/> - <path clip-path="url(#p19582ab83f)" d="M 314.253759 252.892362 -L 317.500042 265.784435 -L 319.228597 271.229335 -L 315.960454 260.457173 -L 314.253759 252.892362 +" style="fill:#4b64d5;"/> + <path clip-path="url(#p553f52e075)" d="M 275.699423 180.168098 +L 279.153062 180.278238 +L 280.939006 198.38465 +L 277.509836 198.195028 z -" style="fill:#6c8ff1;"/> - <path clip-path="url(#p19582ab83f)" d="M 177.052195 291.234093 -L 180.469744 295.096796 +" style="fill:#dedcdb;"/> + <path clip-path="url(#p553f52e075)" d="M 180.469744 295.096796 +L 183.820731 296.033041 +L 185.853228 292.055902 L 182.557585 293.479663 -L 179.198912 291.836184 -L 177.052195 291.234093 z -" style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 334.486892 288.094565 -L 338.158158 281.918226 -L 340.133013 275.304385 -L 336.416055 283.042705 -L 334.486892 288.094565 +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 315.769127 259.72753 +L 319.016801 272.513687 +L 320.770686 276.530009 +L 317.500042 265.784435 z -" style="fill:#4a63d3;"/> - <path clip-path="url(#p19582ab83f)" d="M 338.377952 276.673301 +" style="fill:#6180e9;"/> + <path clip-path="url(#p553f52e075)" d="M 338.377952 276.673301 L 342.142143 267.434085 L 344.189813 258.230427 L 340.3785 268.848944 -L 338.377952 276.673301 -z -" style="fill:#5f7fe8;"/> - <path clip-path="url(#p19582ab83f)" d="M 173.55616 284.341597 -L 177.052195 291.234093 -L 179.198912 291.836184 -L 175.763104 286.950755 -L 173.55616 284.341597 z -" style="fill:#445acc;"/> - <path clip-path="url(#p19582ab83f)" d="M 168.621665 267.539819 -L 172.239425 278.803011 -L 174.452937 281.664313 -L 170.890361 271.914003 -L 168.621665 267.539819 +" style="fill:#6384eb;"/> + <path clip-path="url(#p553f52e075)" d="M 332.58383 292.007469 +L 336.212357 287.396011 +L 338.158158 281.918226 +L 334.486892 288.094565 z -" style="fill:#5977e3;"/> - <path clip-path="url(#p19582ab83f)" d="M 320.519287 280.124576 -L 323.832523 288.901006 -L 325.644398 289.477878 -L 322.30147 282.616908 -L 320.519287 280.124576 +" style="fill:#455cce;"/> + <path clip-path="url(#p553f52e075)" d="M 216.955685 209.099023 +L 220.128429 190.945765 +L 222.218595 194.859325 +L 219.036163 212.408785 z -" style="fill:#4961d2;"/> - <path clip-path="url(#p19582ab83f)" d="M 304.565617 220.914503 -L 307.854924 233.174925 -L 309.519756 244.810673 -L 306.22875 234.213124 -L 304.565617 220.914503 +" style="fill:#cedaeb;"/> + <path clip-path="url(#p553f52e075)" d="M 169.97331 274.464062 +L 173.55616 284.341597 +L 175.763104 286.950755 +L 172.239425 278.803011 z -" style="fill:#a1c0ff;"/> - <path clip-path="url(#p19582ab83f)" d="M 343.288529 232.378983 +" style="fill:#4f69d9;"/> + <path clip-path="url(#p553f52e075)" d="M 343.288529 232.378983 L 347.135902 220.631742 L 349.369484 205.105611 L 345.493545 217.219051 -L 343.288529 232.378983 -z -" style="fill:#afcafc;"/> - <path clip-path="url(#p19582ab83f)" d="M 216.955685 209.099023 -L 220.128429 190.945765 -L 222.218595 194.859325 -L 219.036163 212.408785 -L 216.955685 209.099023 z -" style="fill:#ccd9ed;"/> - <path clip-path="url(#p19582ab83f)" d="M 332.58383 292.007469 -L 336.212357 287.396011 -L 338.158158 281.918226 -L 334.486892 288.094565 -L 332.58383 292.007469 +" style="fill:#b6cefa;"/> + <path clip-path="url(#p553f52e075)" d="M 289.459029 190.392239 +L 292.860375 196.88148 +L 294.555401 213.752593 +L 291.174246 207.844921 z -" style="fill:#4358cb;"/> - <path clip-path="url(#p19582ab83f)" d="M 180.469744 295.096796 -L 183.820731 296.033041 -L 185.853228 292.055902 -L 182.557585 293.479663 -L 180.469744 295.096796 +" style="fill:#cedaeb;"/> + <path clip-path="url(#p553f52e075)" d="M 325.379997 294.64281 +L 328.828708 297.247804 +L 330.699999 294.98629 +L 327.219552 293.9561 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 342.799091 247.998825 + <path clip-path="url(#p553f52e075)" d="M 322.021114 287.907466 +L 325.379997 294.64281 +L 327.219552 293.9561 +L 323.832523 288.901006 +z +" style="fill:#3f53c6;"/> + <path clip-path="url(#p553f52e075)" d="M 342.799091 247.998825 L 346.649474 236.190996 L 348.831064 222.48456 L 344.943494 235.034994 -L 342.799091 247.998825 z -" style="fill:#94b6ff;"/> - <path clip-path="url(#p19582ab83f)" d="M 309.45161 234.573948 -L 312.706793 248.027811 -L 314.394378 256.844148 -L 311.127654 245.337337 -L 309.45161 234.573948 +" style="fill:#9abbff;"/> + <path clip-path="url(#p553f52e075)" d="M 245.793688 178.493915 +L 249.185746 166.950144 +L 251.196861 181.068437 +L 247.815594 191.96473 z -" style="fill:#8badfd;"/> - <path clip-path="url(#p19582ab83f)" d="M 207.643868 225.500517 +" style="fill:#ead4c8;"/> + <path clip-path="url(#p553f52e075)" d="M 279.153062 180.278238 +L 282.600897 182.03061 +L 284.362424 200.075299 +L 280.939006 198.38465 +z +" style="fill:#dedcdb;"/> + <path clip-path="url(#p553f52e075)" d="M 207.643868 225.500517 L 210.752174 207.403055 L 212.809921 206.503496 L 209.691858 224.481412 -L 207.643868 225.500517 z -" style="fill:#b6cefa;"/> - <path clip-path="url(#p19582ab83f)" d="M 340.3785 268.848944 +" style="fill:#bad0f8;"/> + <path clip-path="url(#p553f52e075)" d="M 340.3785 268.848944 L 344.189813 258.230427 L 346.278843 247.672868 L 342.422385 259.488113 -L 340.3785 268.848944 -z -" style="fill:#6f92f3;"/> - <path clip-path="url(#p19582ab83f)" d="M 292.860375 196.88148 -L 296.23868 204.748477 -L 297.916967 220.805669 -L 294.555401 213.752593 -L 292.860375 196.88148 -z -" style="fill:#c7d7f0;"/> - <path clip-path="url(#p19582ab83f)" d="M 275.699423 180.168098 -L 279.153062 180.278238 -L 280.939006 198.38465 -L 277.509836 198.195028 -L 275.699423 180.168098 -z -" style="fill:#e1dad6;"/> - <path clip-path="url(#p19582ab83f)" d="M 315.769127 259.72753 -L 319.016801 272.513687 -L 320.770686 276.530009 -L 317.500042 265.784435 -L 315.769127 259.72753 z -" style="fill:#6687ed;"/> - <path clip-path="url(#p19582ab83f)" d="M 325.379997 294.64281 -L 328.828708 297.247804 -L 330.699999 294.98629 -L 327.219552 293.9561 -L 325.379997 294.64281 -z -" style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 330.699999 294.98629 +" style="fill:#7396f5;"/> + <path clip-path="url(#p553f52e075)" d="M 330.699999 294.98629 L 334.289891 291.888317 L 336.212357 287.396011 L 332.58383 292.007469 -L 330.699999 294.98629 z " style="fill:#3f53c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 245.793688 178.493915 -L 249.185746 166.950144 -L 251.196861 181.068437 -L 247.815594 191.96473 -L 245.793688 178.493915 + <path clip-path="url(#p553f52e075)" d="M 317.258082 268.112343 +L 320.519287 280.124576 +L 322.30147 282.616908 +L 319.016801 272.513687 z -" style="fill:#ead4c8;"/> - <path clip-path="url(#p19582ab83f)" d="M 322.021114 287.907466 -L 325.379997 294.64281 -L 327.219552 293.9561 -L 323.832523 288.901006 -L 322.021114 287.907466 +" style="fill:#5875e1;"/> + <path clip-path="url(#p553f52e075)" d="M 286.037813 185.415222 +L 289.459029 190.392239 +L 291.174246 207.844921 +L 287.775517 203.249104 z -" style="fill:#4257c9;"/> - <path clip-path="url(#p19582ab83f)" d="M 169.97331 274.464062 -L 173.55616 284.341597 -L 175.763104 286.950755 -L 172.239425 278.803011 -L 169.97331 274.464062 +" style="fill:#d6dce4;"/> + <path clip-path="url(#p553f52e075)" d="M 282.600897 182.03061 +L 286.037813 185.415222 +L 287.775517 203.249104 +L 284.362424 200.075299 z -" style="fill:#516ddb;"/> - <path clip-path="url(#p19582ab83f)" d="M 229.630943 190.18985 +" style="fill:#dbdcde;"/> + <path clip-path="url(#p553f52e075)" d="M 229.630943 190.18985 L 232.911272 174.012095 L 234.994991 183.10909 L 231.713345 198.563325 -L 229.630943 190.18985 z -" style="fill:#e2dad5;"/> - <path clip-path="url(#p19582ab83f)" d="M 185.853228 292.055902 +" style="fill:#e3d9d3;"/> + <path clip-path="url(#p553f52e075)" d="M 301.252293 209.063607 +L 304.565617 220.914503 +L 306.22875 234.213124 +L 302.921382 223.731345 +z +" style="fill:#b2ccfb;"/> + <path clip-path="url(#p553f52e075)" d="M 174.849067 288.802973 +L 178.328573 294.808543 +L 180.469744 295.096796 +L 177.052195 291.234093 +z +" style="fill:#3f53c6;"/> + <path clip-path="url(#p553f52e075)" d="M 311.013238 238.523919 +L 314.253759 252.892362 +L 315.960454 260.457173 +L 312.706793 248.027811 +z +" style="fill:#82a6fb;"/> + <path clip-path="url(#p553f52e075)" d="M 185.853228 292.055902 L 189.102105 287.875481 L 191.053644 279.960878 L 187.848315 286.49376 +z +" style="fill:#485fd1;"/> + <path clip-path="url(#p553f52e075)" d="M 178.328573 294.808543 +L 181.739233 298.067341 +L 183.820731 296.033041 +L 180.469744 295.096796 +z +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 263.448549 172.384268 +L 266.909023 167.443791 +L 268.795815 184.78128 +L 265.356343 189.373674 +z +" style="fill:#edd2c3;"/> + <path clip-path="url(#p553f52e075)" d="M 183.820731 296.033041 +L 187.119542 294.277834 +L 189.102105 287.875481 L 185.853228 292.055902 z -" style="fill:#465ecf;"/> - <path clip-path="url(#p19582ab83f)" d="M 187.848315 286.49376 +" style="fill:#3f53c6;"/> + <path clip-path="url(#p553f52e075)" d="M 164.909194 253.481745 +L 168.621665 267.539819 +L 170.890361 271.914003 +L 167.228468 259.019876 +z +" style="fill:#6e90f2;"/> + <path clip-path="url(#p553f52e075)" d="M 187.848315 286.49376 L 191.053644 279.960878 L 192.986227 270.994395 L 189.817429 279.744753 -L 187.848315 286.49376 z -" style="fill:#516ddb;"/> - <path clip-path="url(#p19582ab83f)" d="M 289.459029 190.392239 -L 292.860375 196.88148 -L 294.555401 213.752593 -L 291.174246 207.844921 -L 289.459029 190.392239 +" style="fill:#5470de;"/> + <path clip-path="url(#p553f52e075)" d="M 240.387678 179.172699 +L 243.750509 165.939234 +L 245.793688 178.493915 +L 242.437951 191.108381 z -" style="fill:#d3dbe7;"/> - <path clip-path="url(#p19582ab83f)" d="M 279.153062 180.278238 -L 282.600897 182.03061 -L 284.362424 200.075299 -L 280.939006 198.38465 -L 279.153062 180.278238 +" style="fill:#edd2c3;"/> + <path clip-path="url(#p553f52e075)" d="M 318.730952 277.410559 +L 322.021114 287.907466 +L 323.832523 288.901006 +L 320.519287 280.124576 z -" style="fill:#e1dad6;"/> - <path clip-path="url(#p19582ab83f)" d="M 342.422385 259.488113 -L 346.278843 247.672868 -L 348.410111 235.808799 -L 344.512512 248.578918 -L 342.422385 259.488113 +" style="fill:#4e68d8;"/> + <path clip-path="url(#p553f52e075)" d="M 328.828708 297.247804 +L 332.384956 295.562743 +L 334.289891 291.888317 +L 330.699999 294.98629 z -" style="fill:#82a6fb;"/> - <path clip-path="url(#p19582ab83f)" d="M 183.820731 296.033041 -L 187.119542 294.277834 -L 189.102105 287.875481 -L 185.853228 292.055902 -L 183.820731 296.033041 -z -" style="fill:#3e51c5;"/> - <path clip-path="url(#p19582ab83f)" d="M 317.258082 268.112343 -L 320.519287 280.124576 -L 322.30147 282.616908 -L 319.016801 272.513687 -L 317.258082 268.112343 +" style="fill:#3d50c3;"/> + <path clip-path="url(#p553f52e075)" d="M 234.994991 183.10909 +L 238.320138 168.299928 +L 240.387678 179.172699 +L 237.065619 193.332225 z -" style="fill:#5b7ae5;"/> - <path clip-path="url(#p19582ab83f)" d="M 178.328573 294.808543 -L 181.739233 298.067341 -L 183.820731 296.033041 -L 180.469744 295.096796 -L 178.328573 294.808543 +" style="fill:#ead4c8;"/> + <path clip-path="url(#p553f52e075)" d="M 306.181611 220.732158 +L 309.45161 234.573948 +L 311.127654 245.337337 +L 307.854924 233.174925 z -" style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 174.849067 288.802973 -L 178.328573 294.808543 -L 180.469744 295.096796 -L 177.052195 291.234093 -L 174.849067 288.802973 +" style="fill:#a1c0ff;"/> + <path clip-path="url(#p553f52e075)" d="M 342.422385 259.488113 +L 346.278843 247.672868 +L 348.410111 235.808799 +L 344.512512 248.578918 z -" style="fill:#4257c9;"/> - <path clip-path="url(#p19582ab83f)" d="M 189.817429 279.744753 +" style="fill:#88abfd;"/> + <path clip-path="url(#p553f52e075)" d="M 189.817429 279.744753 L 192.986227 270.994395 L 194.910814 261.443631 L 191.771263 272.224018 -L 189.817429 279.744753 z -" style="fill:#5e7de7;"/> - <path clip-path="url(#p19582ab83f)" d="M 205.608922 227.826238 +" style="fill:#6180e9;"/> + <path clip-path="url(#p553f52e075)" d="M 171.291128 280.016467 +L 174.849067 288.802973 +L 177.052195 291.234093 +L 173.55616 284.341597 +z +" style="fill:#4a63d3;"/> + <path clip-path="url(#p553f52e075)" d="M 205.608922 227.826238 L 208.708887 209.815572 L 210.752174 207.403055 L 207.643868 225.500517 -L 205.608922 227.826238 -z -" style="fill:#b6cefa;"/> - <path clip-path="url(#p19582ab83f)" d="M 286.037813 185.415222 -L 289.459029 190.392239 -L 291.174246 207.844921 -L 287.775517 203.249104 -L 286.037813 185.415222 z -" style="fill:#dadce0;"/> - <path clip-path="url(#p19582ab83f)" d="M 328.828708 297.247804 -L 332.384956 295.562743 -L 334.289891 291.888317 -L 330.699999 294.98629 +" style="fill:#bad0f8;"/> + <path clip-path="url(#p553f52e075)" d="M 323.540618 295.003098 +L 326.963788 299.007359 L 328.828708 297.247804 +L 325.379997 294.64281 z -" style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 282.600897 182.03061 -L 286.037813 185.415222 -L 287.775517 203.249104 -L 284.362424 200.075299 -L 282.600897 182.03061 +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 254.609127 171.303559 +L 258.04869 162.979626 +L 260.004302 178.880605 +L 256.581163 186.774737 z -" style="fill:#dfdbd9;"/> - <path clip-path="url(#p19582ab83f)" d="M 240.387678 179.172699 -L 243.750509 165.939234 -L 245.793688 178.493915 -L 242.437951 191.108381 -L 240.387678 179.172699 +" style="fill:#f0cdbb;"/> + <path clip-path="url(#p553f52e075)" d="M 181.739233 298.067341 +L 185.093377 298.741054 +L 187.119542 294.277834 +L 183.820731 296.033041 z -" style="fill:#edd2c3;"/> - <path clip-path="url(#p19582ab83f)" d="M 234.994991 183.10909 -L 238.320138 168.299928 -L 240.387678 179.172699 -L 237.065619 193.332225 -L 234.994991 183.10909 +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 166.3 261.805337 +L 169.97331 274.464062 +L 172.239425 278.803011 +L 168.621665 267.539819 z -" style="fill:#ead5c9;"/> - <path clip-path="url(#p19582ab83f)" d="M 301.252293 209.063607 -L 304.565617 220.914503 -L 306.22875 234.213124 -L 302.921382 223.731345 -L 301.252293 209.063607 +" style="fill:#6384eb;"/> + <path clip-path="url(#p553f52e075)" d="M 191.771263 272.224018 +L 194.910814 261.443631 +L 196.836795 251.758967 +L 193.719295 264.341737 z -" style="fill:#b7cff9;"/> - <path clip-path="url(#p19582ab83f)" d="M 263.448549 172.384268 -L 266.909023 167.443791 -L 268.795815 184.78128 -L 265.356343 189.373674 -L 263.448549 172.384268 +" style="fill:#7093f3;"/> + <path clip-path="url(#p553f52e075)" d="M 320.203372 286.790651 +L 323.540618 295.003098 +L 325.379997 294.64281 +L 322.021114 287.907466 z -" style="fill:#eed0c0;"/> - <path clip-path="url(#p19582ab83f)" d="M 311.013238 238.523919 +" style="fill:#445acc;"/> + <path clip-path="url(#p553f52e075)" d="M 312.537598 244.93485 +L 315.769127 259.72753 +L 317.500042 265.784435 L 314.253759 252.892362 -L 315.960454 260.457173 -L 312.706793 248.027811 -L 311.013238 238.523919 z -" style="fill:#88abfd;"/> - <path clip-path="url(#p19582ab83f)" d="M 344.943494 235.034994 +" style="fill:#7b9ff9;"/> + <path clip-path="url(#p553f52e075)" d="M 344.943494 235.034994 L 348.831064 222.48456 L 351.051875 207.715507 L 347.135902 220.631742 -L 344.943494 235.034994 -z -" style="fill:#afcafc;"/> - <path clip-path="url(#p19582ab83f)" d="M 191.771263 272.224018 -L 194.910814 261.443631 -L 196.836795 251.758967 -L 193.719295 264.341737 -L 191.771263 272.224018 -z -" style="fill:#6c8ff1;"/> - <path clip-path="url(#p19582ab83f)" d="M 318.730952 277.410559 -L 322.021114 287.907466 -L 323.832523 288.901006 -L 320.519287 280.124576 -L 318.730952 277.410559 z -" style="fill:#506bda;"/> - <path clip-path="url(#p19582ab83f)" d="M 164.909194 253.481745 -L 168.621665 267.539819 -L 170.890361 271.914003 -L 167.228468 259.019876 -L 164.909194 253.481745 +" style="fill:#b6cefa;"/> + <path clip-path="url(#p553f52e075)" d="M 214.878956 207.091624 +L 218.042132 188.532592 +L 220.128429 190.945765 +L 216.955685 209.099023 z -" style="fill:#7295f4;"/> - <path clip-path="url(#p19582ab83f)" d="M 181.739233 298.067341 -L 185.093377 298.741054 -L 187.119542 294.277834 -L 183.820731 296.033041 -L 181.739233 298.067341 +" style="fill:#d6dce4;"/> + <path clip-path="url(#p553f52e075)" d="M 326.963788 299.007359 +L 330.492012 298.591475 +L 332.384956 295.562743 +L 328.828708 297.247804 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 323.540618 295.003098 -L 326.963788 299.007359 -L 328.828708 297.247804 -L 325.379997 294.64281 -L 323.540618 295.003098 + <path clip-path="url(#p553f52e075)" d="M 222.218595 194.859325 +L 225.443934 177.138358 +L 227.5397 182.965366 +L 224.308526 200.131959 z -" style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 345.493545 217.219051 +" style="fill:#e3d9d3;"/> + <path clip-path="url(#p553f52e075)" d="M 345.493545 217.219051 L 349.369484 205.105611 L 351.633612 188.877279 L 347.740378 200.921902 -L 345.493545 217.219051 -z -" style="fill:#ccd9ed;"/> - <path clip-path="url(#p19582ab83f)" d="M 171.291128 280.016467 -L 174.849067 288.802973 -L 177.052195 291.234093 -L 173.55616 284.341597 -L 171.291128 280.016467 -z -" style="fill:#4c66d6;"/> - <path clip-path="url(#p19582ab83f)" d="M 214.878956 207.091624 -L 218.042132 188.532592 -L 220.128429 190.945765 -L 216.955685 209.099023 -L 214.878956 207.091624 z -" style="fill:#d4dbe6;"/> - <path clip-path="url(#p19582ab83f)" d="M 254.609127 171.303559 -L 258.04869 162.979626 -L 260.004302 178.880605 -L 256.581163 186.774737 -L 254.609127 171.303559 +" style="fill:#d2dbe8;"/> + <path clip-path="url(#p553f52e075)" d="M 297.910682 198.054323 +L 301.252293 209.063607 +L 302.921382 223.731345 +L 299.592255 213.791196 z -" style="fill:#f1cdba;"/> - <path clip-path="url(#p19582ab83f)" d="M 203.589167 231.437644 +" style="fill:#c6d6f1;"/> + <path clip-path="url(#p553f52e075)" d="M 203.589167 231.437644 L 206.682696 213.725035 L 208.708887 209.815572 L 205.608922 227.826238 -L 203.589167 231.437644 z -" style="fill:#b3cdfb;"/> - <path clip-path="url(#p19582ab83f)" d="M 193.719295 264.341737 +" style="fill:#b7cff9;"/> + <path clip-path="url(#p553f52e075)" d="M 193.719295 264.341737 L 196.836795 251.758967 L 198.771694 242.35271 L 195.669458 256.483884 -L 193.719295 264.341737 z -" style="fill:#7b9ff9;"/> - <path clip-path="url(#p19582ab83f)" d="M 306.181611 220.732158 -L 309.45161 234.573948 -L 311.127654 245.337337 -L 307.854924 233.174925 -L 306.181611 220.732158 +" style="fill:#81a4fb;"/> + <path clip-path="url(#p553f52e075)" d="M 176.124542 292.391932 +L 179.597676 297.864614 +L 181.739233 298.067341 +L 178.328573 294.808543 z -" style="fill:#a6c4fe;"/> - <path clip-path="url(#p19582ab83f)" d="M 222.218595 194.859325 -L 225.443934 177.138358 -L 227.5397 182.965366 -L 224.308526 200.131959 -L 222.218595 194.859325 +" style="fill:#3e51c5;"/> + <path clip-path="url(#p553f52e075)" d="M 314.026487 253.505593 +L 317.258082 268.112343 +L 319.016801 272.513687 +L 315.769127 259.72753 z -" style="fill:#e1dad6;"/> - <path clip-path="url(#p19582ab83f)" d="M 344.512512 248.578918 +" style="fill:#7093f3;"/> + <path clip-path="url(#p553f52e075)" d="M 344.512512 248.578918 L 348.410111 235.808799 L 350.582087 222.762993 L 346.649474 236.190996 -L 344.512512 248.578918 -z -" style="fill:#9abbff;"/> - <path clip-path="url(#p19582ab83f)" d="M 320.203372 286.790651 -L 323.540618 295.003098 -L 325.379997 294.64281 -L 322.021114 287.907466 -L 320.203372 286.790651 z -" style="fill:#465ecf;"/> - <path clip-path="url(#p19582ab83f)" d="M 326.963788 299.007359 -L 330.492012 298.591475 -L 332.384956 295.562743 -L 328.828708 297.247804 -L 326.963788 299.007359 +" style="fill:#9fbfff;"/> + <path clip-path="url(#p553f52e075)" d="M 179.597676 297.864614 +L 183.011225 300.898127 +L 185.093377 298.741054 +L 181.739233 298.067341 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 166.3 261.805337 + <path clip-path="url(#p553f52e075)" d="M 167.648981 268.556613 +L 171.291128 280.016467 +L 173.55616 284.341597 L 169.97331 274.464062 -L 172.239425 278.803011 -L 168.621665 267.539819 -L 166.3 261.805337 z -" style="fill:#6788ee;"/> - <path clip-path="url(#p19582ab83f)" d="M 195.669458 256.483884 +" style="fill:#5b7ae5;"/> + <path clip-path="url(#p553f52e075)" d="M 195.669458 256.483884 L 198.771694 242.35271 L 200.721039 233.583441 L 197.627948 248.996824 -L 195.669458 256.483884 z -" style="fill:#8badfd;"/> - <path clip-path="url(#p19582ab83f)" d="M 201.585866 236.262894 +" style="fill:#90b2fe;"/> + <path clip-path="url(#p553f52e075)" d="M 266.909023 167.443791 +L 270.380489 164.145659 +L 272.245242 181.684289 +L 268.795815 184.78128 +z +" style="fill:#f2cbb7;"/> + <path clip-path="url(#p553f52e075)" d="M 201.585866 236.262894 L 204.675535 219.071788 L 206.682696 213.725035 L 203.589167 231.437644 -L 201.585866 236.262894 z -" style="fill:#adc9fd;"/> - <path clip-path="url(#p19582ab83f)" d="M 312.537598 244.93485 -L 315.769127 259.72753 -L 317.500042 265.784435 -L 314.253759 252.892362 -L 312.537598 244.93485 +" style="fill:#b2ccfb;"/> + <path clip-path="url(#p553f52e075)" d="M 321.695841 295.272827 +L 325.099853 300.467061 +L 326.963788 299.007359 +L 323.540618 295.003098 z -" style="fill:#81a4fb;"/> - <path clip-path="url(#p19582ab83f)" d="M 197.627948 248.996824 +" style="fill:#3d50c3;"/> + <path clip-path="url(#p553f52e075)" d="M 185.093377 298.741054 +L 188.405008 297.1003 +L 190.381889 290.176815 +L 187.119542 294.277834 +z +" style="fill:#4055c8;"/> + <path clip-path="url(#p553f52e075)" d="M 187.119542 294.277834 +L 190.381889 290.176815 +L 192.321448 281.36131 +L 189.102105 287.875481 +z +" style="fill:#4a63d3;"/> + <path clip-path="url(#p553f52e075)" d="M 315.486507 263.711128 +L 318.730952 277.410559 +L 320.519287 280.124576 +L 317.258082 268.112343 +z +" style="fill:#6384eb;"/> + <path clip-path="url(#p553f52e075)" d="M 172.581708 284.389331 +L 176.124542 292.391932 +L 178.328573 294.808543 +L 174.849067 288.802973 +z +" style="fill:#485fd1;"/> + <path clip-path="url(#p553f52e075)" d="M 197.627948 248.996824 L 200.721039 233.583441 L 202.688395 225.746642 L 199.599181 242.176576 -L 197.627948 248.996824 z -" style="fill:#98b9ff;"/> - <path clip-path="url(#p19582ab83f)" d="M 199.599181 242.176576 +" style="fill:#9ebeff;"/> + <path clip-path="url(#p553f52e075)" d="M 199.599181 242.176576 L 202.688395 225.746642 L 204.675535 219.071788 L 201.585866 236.262894 -L 199.599181 242.176576 z -" style="fill:#a3c2fe;"/> - <path clip-path="url(#p19582ab83f)" d="M 187.119542 294.277834 -L 190.381889 290.176815 -L 192.321448 281.36131 -L 189.102105 287.875481 -L 187.119542 294.277834 -z -" style="fill:#485fd1;"/> - <path clip-path="url(#p19582ab83f)" d="M 176.124542 292.391932 -L 179.597676 297.864614 -L 181.739233 298.067341 -L 178.328573 294.808543 -L 176.124542 292.391932 -z -" style="fill:#4055c8;"/> - <path clip-path="url(#p19582ab83f)" d="M 179.597676 297.864614 -L 183.011225 300.898127 -L 185.093377 298.741054 -L 181.739233 298.067341 -L 179.597676 297.864614 -z -" style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 185.093377 298.741054 -L 188.405008 297.1003 -L 190.381889 290.176815 -L 187.119542 294.277834 -L 185.093377 298.741054 -z -" style="fill:#3f53c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 297.910682 198.054323 -L 301.252293 209.063607 -L 302.921382 223.731345 -L 299.592255 213.791196 -L 297.910682 198.054323 +" style="fill:#a9c6fd;"/> + <path clip-path="url(#p553f52e075)" d="M 307.762242 223.385715 +L 311.013238 238.523919 +L 312.706793 248.027811 +L 309.45161 234.573948 z -" style="fill:#cbd8ee;"/> - <path clip-path="url(#p19582ab83f)" d="M 189.102105 287.875481 -L 192.321448 281.36131 -L 194.237036 271.150486 -L 191.053644 279.960878 -L 189.102105 287.875481 +" style="fill:#a1c0ff;"/> + <path clip-path="url(#p553f52e075)" d="M 316.929708 274.799668 +L 320.203372 286.790651 +L 322.021114 287.907466 +L 318.730952 277.410559 z " style="fill:#5572df;"/> - <path clip-path="url(#p19582ab83f)" d="M 321.695841 295.272827 -L 325.099853 300.467061 -L 326.963788 299.007359 -L 323.540618 295.003098 -L 321.695841 295.272827 -z -" style="fill:#3e51c5;"/> - <path clip-path="url(#p19582ab83f)" d="M 314.026487 253.505593 -L 317.258082 268.112343 -L 319.016801 272.513687 -L 315.769127 259.72753 -L 314.026487 253.505593 -z -" style="fill:#7597f6;"/> - <path clip-path="url(#p19582ab83f)" d="M 167.648981 268.556613 -L 171.291128 280.016467 -L 173.55616 284.341597 -L 169.97331 274.464062 -L 167.648981 268.556613 -z -" style="fill:#5f7fe8;"/> - <path clip-path="url(#p19582ab83f)" d="M 266.909023 167.443791 -L 270.380489 164.145659 -L 272.245242 181.684289 -L 268.795815 184.78128 -L 266.909023 167.443791 -z -" style="fill:#f2c9b4;"/> - <path clip-path="url(#p19582ab83f)" d="M 325.099853 300.467061 + <path clip-path="url(#p553f52e075)" d="M 325.099853 300.467061 L 328.60606 301.140023 L 330.492012 298.591475 L 326.963788 299.007359 -L 325.099853 300.467061 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 172.581708 284.389331 -L 176.124542 292.391932 -L 178.328573 294.808543 -L 174.849067 288.802973 -L 172.581708 284.389331 -z -" style="fill:#4a63d3;"/> - <path clip-path="url(#p19582ab83f)" d="M 347.135902 220.631742 -L 351.051875 207.715507 -L 353.303037 192.235447 -L 349.369484 205.105611 -L 347.135902 220.631742 -z -" style="fill:#cbd8ee;"/> - <path clip-path="url(#p19582ab83f)" d="M 315.486507 263.711128 -L 318.730952 277.410559 -L 320.519287 280.124576 -L 317.258082 268.112343 -L 315.486507 263.711128 + <path clip-path="url(#p553f52e075)" d="M 189.102105 287.875481 +L 192.321448 281.36131 +L 194.237036 271.150486 +L 191.053644 279.960878 z -" style="fill:#6788ee;"/> - <path clip-path="url(#p19582ab83f)" d="M 183.011225 300.898127 +" style="fill:#5875e1;"/> + <path clip-path="url(#p553f52e075)" d="M 183.011225 300.898127 L 186.377302 301.690203 L 188.405008 297.1003 L 185.093377 298.741054 -L 183.011225 300.898127 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 316.929708 274.799668 -L 320.203372 286.790651 -L 322.021114 287.907466 -L 318.730952 277.410559 -L 316.929708 274.799668 -z -" style="fill:#5875e1;"/> - <path clip-path="url(#p19582ab83f)" d="M 346.649474 236.190996 -L 350.582087 222.762993 -L 352.790429 208.743921 -L 348.831064 222.48456 -L 346.649474 236.190996 -z -" style="fill:#b3cdfb;"/> - <path clip-path="url(#p19582ab83f)" d="M 191.053644 279.960878 -L 194.237036 271.150486 -L 196.141114 260.066129 -L 192.986227 270.994395 -L 191.053644 279.960878 + <path clip-path="url(#p553f52e075)" d="M 302.886805 207.103045 +L 306.181611 220.732158 +L 307.854924 233.174925 +L 304.565617 220.914503 z -" style="fill:#6485ec;"/> - <path clip-path="url(#p19582ab83f)" d="M 212.809921 206.503496 -L 215.963544 187.707667 -L 218.042132 188.532592 -L 214.878956 207.091624 -L 212.809921 206.503496 +" style="fill:#bad0f8;"/> + <path clip-path="url(#p553f52e075)" d="M 318.373746 285.81558 +L 321.695841 295.272827 +L 323.540618 295.003098 +L 320.203372 286.790651 z -" style="fill:#d9dce1;"/> - <path clip-path="url(#p19582ab83f)" d="M 249.185746 166.950144 +" style="fill:#485fd1;"/> + <path clip-path="url(#p553f52e075)" d="M 249.185746 166.950144 L 252.611228 156.886843 L 254.609127 171.303559 L 251.196861 181.068437 -L 249.185746 166.950144 z " style="fill:#f5c2aa;"/> - <path clip-path="url(#p19582ab83f)" d="M 307.762242 223.385715 -L 311.013238 238.523919 -L 312.706793 248.027811 -L 309.45161 234.573948 -L 307.762242 223.385715 -z -" style="fill:#a6c4fe;"/> - <path clip-path="url(#p19582ab83f)" d="M 318.373746 285.81558 -L 321.695841 295.272827 -L 323.540618 295.003098 -L 320.203372 286.790651 -L 318.373746 285.81558 -z -" style="fill:#4a63d3;"/> - <path clip-path="url(#p19582ab83f)" d="M 227.5397 182.965366 -L 230.81877 166.352877 -L 232.911272 174.012095 -L 229.630943 190.18985 -L 227.5397 182.965366 -z -" style="fill:#efcfbf;"/> - <path clip-path="url(#p19582ab83f)" d="M 302.886805 207.103045 -L 306.181611 220.732158 -L 307.854924 233.174925 -L 304.565617 220.914503 -L 302.886805 207.103045 -z -" style="fill:#c0d4f5;"/> - <path clip-path="url(#p19582ab83f)" d="M 294.539468 188.22701 + <path clip-path="url(#p553f52e075)" d="M 294.539468 188.22701 L 297.910682 198.054323 L 299.592255 213.791196 L 296.23868 204.748477 -L 294.539468 188.22701 z -" style="fill:#dbdcde;"/> - <path clip-path="url(#p19582ab83f)" d="M 323.232482 301.805736 -L 326.722854 303.357416 -L 328.60606 301.140023 -L 325.099853 300.467061 -L 323.232482 301.805736 +" style="fill:#d6dce4;"/> + <path clip-path="url(#p553f52e075)" d="M 162.53823 246.732873 +L 166.3 261.805337 +L 168.621665 267.539819 +L 164.909194 253.481745 z -" style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 192.986227 270.994395 -L 196.141114 260.066129 -L 198.044656 248.625177 -L 194.910814 261.443631 -L 192.986227 270.994395 +" style="fill:#7ea1fa;"/> + <path clip-path="url(#p553f52e075)" d="M 347.135902 220.631742 +L 351.051875 207.715507 +L 353.303037 192.235447 +L 349.369484 205.105611 z -" style="fill:#779af7;"/> - <path clip-path="url(#p19582ab83f)" d="M 319.841256 295.657488 -L 323.232482 301.805736 -L 325.099853 300.467061 -L 321.695841 295.272827 -L 319.841256 295.657488 +" style="fill:#cfdaea;"/> + <path clip-path="url(#p553f52e075)" d="M 212.809921 206.503496 +L 215.963544 187.707667 +L 218.042132 188.532592 +L 214.878956 207.091624 z -" style="fill:#4055c8;"/> - <path clip-path="url(#p19582ab83f)" d="M 258.04869 162.979626 -L 261.510754 156.287474 -L 263.448549 172.384268 -L 260.004302 178.880605 -L 258.04869 162.979626 +" style="fill:#dbdcde;"/> + <path clip-path="url(#p553f52e075)" d="M 191.053644 279.960878 +L 194.237036 271.150486 +L 196.141114 260.066129 +L 192.986227 270.994395 z -" style="fill:#f6bea4;"/> - <path clip-path="url(#p19582ab83f)" d="M 168.962069 273.889215 +" style="fill:#688aef;"/> + <path clip-path="url(#p553f52e075)" d="M 168.962069 273.889215 L 172.581708 284.389331 L 174.849067 288.802973 L 171.291128 280.016467 -L 168.962069 273.889215 z -" style="fill:#5a78e4;"/> - <path clip-path="url(#p19582ab83f)" d="M 162.53823 246.732873 -L 166.3 261.805337 -L 168.621665 267.539819 -L 164.909194 253.481745 -L 162.53823 246.732873 +" style="fill:#5673e0;"/> + <path clip-path="url(#p553f52e075)" d="M 227.5397 182.965366 +L 230.81877 166.352877 +L 232.911272 174.012095 +L 229.630943 190.18985 z -" style="fill:#84a7fc;"/> - <path clip-path="url(#p19582ab83f)" d="M 188.405008 297.1003 -L 191.688771 293.502565 -L 193.623726 284.161357 -L 190.381889 290.176815 -L 188.405008 297.1003 +" style="fill:#f0cdbb;"/> + <path clip-path="url(#p553f52e075)" d="M 258.04869 162.979626 +L 261.510754 156.287474 +L 263.448549 172.384268 +L 260.004302 178.880605 z -" style="fill:#485fd1;"/> - <path clip-path="url(#p19582ab83f)" d="M 177.386294 295.216539 -L 180.861683 300.467005 -L 183.011225 300.898127 -L 179.597676 297.864614 -L 177.386294 295.216539 +" style="fill:#f5c0a7;"/> + <path clip-path="url(#p553f52e075)" d="M 346.649474 236.190996 +L 350.582087 222.762993 +L 352.790429 208.743921 +L 348.831064 222.48456 z -" style="fill:#4055c8;"/> - <path clip-path="url(#p19582ab83f)" d="M 186.377302 301.690203 -L 189.709044 300.526103 -L 191.688771 293.502565 -L 188.405008 297.1003 -L 186.377302 301.690203 +" style="fill:#b9d0f9;"/> + <path clip-path="url(#p553f52e075)" d="M 319.841256 295.657488 +L 323.232482 301.805736 +L 325.099853 300.467061 +L 321.695841 295.272827 z " style="fill:#3e51c5;"/> - <path clip-path="url(#p19582ab83f)" d="M 180.861683 300.467005 -L 184.285925 303.588548 -L 186.377302 301.690203 -L 183.011225 300.898127 -L 180.861683 300.467005 -z -" style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 220.128429 190.945765 -L 223.347744 172.869341 -L 225.443934 177.138358 -L 222.218595 194.859325 -L 220.128429 190.945765 -z -" style="fill:#ead4c8;"/> - <path clip-path="url(#p19582ab83f)" d="M 270.380489 164.145659 + <path clip-path="url(#p553f52e075)" d="M 270.380489 164.145659 L 273.857593 162.527602 L 275.699423 180.168098 L 272.245242 181.684289 -L 270.380489 164.145659 -z -" style="fill:#f5c2aa;"/> - <path clip-path="url(#p19582ab83f)" d="M 243.750509 165.939234 -L 247.152714 154.181945 -L 249.185746 166.950144 -L 245.793688 178.493915 -L 243.750509 165.939234 z -" style="fill:#f6bda2;"/> - <path clip-path="url(#p19582ab83f)" d="M 232.911272 174.012095 -L 236.239561 158.901658 -L 238.320138 168.299928 -L 234.994991 183.10909 -L 232.911272 174.012095 -z -" style="fill:#f5c4ac;"/> - <path clip-path="url(#p19582ab83f)" d="M 190.381889 290.176815 -L 193.623726 284.161357 -L 195.528326 273.020565 -L 192.321448 281.36131 -L 190.381889 290.176815 -z -" style="fill:#5673e0;"/> - <path clip-path="url(#p19582ab83f)" d="M 173.8497 287.710142 -L 177.386294 295.216539 +" style="fill:#f4c6af;"/> + <path clip-path="url(#p553f52e075)" d="M 177.386294 295.216539 +L 180.861683 300.467005 +L 183.011225 300.898127 L 179.597676 297.864614 -L 176.124542 292.391932 -L 173.8497 287.710142 z -" style="fill:#4a63d3;"/> - <path clip-path="url(#p19582ab83f)" d="M 309.303076 228.888947 +" style="fill:#3e51c5;"/> + <path clip-path="url(#p553f52e075)" d="M 323.232482 301.805736 +L 326.722854 303.357416 +L 328.60606 301.140023 +L 325.099853 300.467061 +z +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 309.303076 228.888947 L 312.537598 244.93485 L 314.253759 252.892362 L 311.013238 238.523919 -L 309.303076 228.888947 z -" style="fill:#a1c0ff;"/> - <path clip-path="url(#p19582ab83f)" d="M 210.752174 207.403055 -L 213.896241 188.51893 -L 215.963544 187.707667 -L 212.809921 206.503496 -L 210.752174 207.403055 +" style="fill:#9abbff;"/> + <path clip-path="url(#p553f52e075)" d="M 180.861683 300.467005 +L 184.285925 303.588548 +L 186.377302 301.690203 +L 183.011225 300.898127 z -" style="fill:#dbdcde;"/> - <path clip-path="url(#p19582ab83f)" d="M 163.921659 254.68156 +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 163.921659 254.68156 L 167.648981 268.556613 L 169.97331 274.464062 L 166.3 261.805337 -L 163.921659 254.68156 z -" style="fill:#799cf8;"/> - <path clip-path="url(#p19582ab83f)" d="M 184.285925 303.588548 -L 187.670458 304.795747 +" style="fill:#7396f5;"/> + <path clip-path="url(#p553f52e075)" d="M 186.377302 301.690203 L 189.709044 300.526103 -L 186.377302 301.690203 -L 184.285925 303.588548 -z -" style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 194.910814 261.443631 -L 198.044656 248.625177 -L 199.956695 237.312112 -L 196.836795 251.758967 -L 194.910814 261.443631 +L 191.688771 293.502565 +L 188.405008 297.1003 z -" style="fill:#8badfd;"/> - <path clip-path="url(#p19582ab83f)" d="M 238.320138 168.299928 -L 241.689886 154.852024 -L 243.750509 165.939234 -L 240.387678 179.172699 -L 238.320138 168.299928 +" style="fill:#3f53c6;"/> + <path clip-path="url(#p553f52e075)" d="M 173.8497 287.710142 +L 177.386294 295.216539 +L 179.597676 297.864614 +L 176.124542 292.391932 z -" style="fill:#f6bda2;"/> - <path clip-path="url(#p19582ab83f)" d="M 348.831064 222.48456 -L 352.790429 208.743921 -L 355.027689 194.045902 -L 351.051875 207.715507 -L 348.831064 222.48456 +" style="fill:#465ecf;"/> + <path clip-path="url(#p553f52e075)" d="M 188.405008 297.1003 +L 191.688771 293.502565 +L 193.623726 284.161357 +L 190.381889 290.176815 z -" style="fill:#ccd9ed;"/> - <path clip-path="url(#p19582ab83f)" d="M 349.369484 205.105611 -L 353.303037 192.235447 -L 355.572153 176.485525 -L 351.633612 188.877279 -L 349.369484 205.105611 +" style="fill:#4a63d3;"/> + <path clip-path="url(#p553f52e075)" d="M 243.750509 165.939234 +L 247.152714 154.181945 +L 249.185746 166.950144 +L 245.793688 178.493915 z -" style="fill:#e3d9d3;"/> - <path clip-path="url(#p19582ab83f)" d="M 316.528033 285.209462 -L 319.841256 295.657488 -L 321.695841 295.272827 -L 318.373746 285.81558 -L 316.528033 285.209462 +" style="fill:#f6bda2;"/> + <path clip-path="url(#p553f52e075)" d="M 192.986227 270.994395 +L 196.141114 260.066129 +L 198.044656 248.625177 +L 194.910814 261.443631 z -" style="fill:#4f69d9;"/> - <path clip-path="url(#p19582ab83f)" d="M 291.13984 179.825315 +" style="fill:#7b9ff9;"/> + <path clip-path="url(#p553f52e075)" d="M 291.13984 179.825315 L 294.539468 188.22701 L 296.23868 204.748477 L 292.860375 196.88148 -L 291.13984 179.825315 z -" style="fill:#e7d7ce;"/> - <path clip-path="url(#p19582ab83f)" d="M 315.110261 272.57932 -L 318.373746 285.81558 -L 320.203372 286.790651 -L 316.929708 274.799668 -L 315.110261 272.57932 +" style="fill:#e3d9d3;"/> + <path clip-path="url(#p553f52e075)" d="M 220.128429 190.945765 +L 223.347744 172.869341 +L 225.443934 177.138358 +L 222.218595 194.859325 z -" style="fill:#5f7fe8;"/> - <path clip-path="url(#p19582ab83f)" d="M 321.358332 303.170818 -L 324.83903 305.368081 -L 326.722854 303.357416 -L 323.232482 301.805736 -L 321.358332 303.170818 +" style="fill:#edd2c3;"/> + <path clip-path="url(#p553f52e075)" d="M 232.911272 174.012095 +L 236.239561 158.901658 +L 238.320138 168.299928 +L 234.994991 183.10909 z -" style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 310.802861 237.066301 +" style="fill:#f5c2aa;"/> + <path clip-path="url(#p553f52e075)" d="M 310.802861 237.066301 L 314.026487 253.505593 L 315.769127 259.72753 L 312.537598 244.93485 -L 310.802861 237.066301 z -" style="fill:#96b7ff;"/> - <path clip-path="url(#p19582ab83f)" d="M 273.857593 162.527602 +" style="fill:#90b2fe;"/> + <path clip-path="url(#p553f52e075)" d="M 315.110261 272.57932 +L 318.373746 285.81558 +L 320.203372 286.790651 +L 316.929708 274.799668 +z +" style="fill:#5d7ce6;"/> + <path clip-path="url(#p553f52e075)" d="M 316.528033 285.209462 +L 319.841256 295.657488 +L 321.695841 295.272827 +L 318.373746 285.81558 +z +" style="fill:#4c66d6;"/> + <path clip-path="url(#p553f52e075)" d="M 184.285925 303.588548 +L 187.670458 304.795747 +L 189.709044 300.526103 +L 186.377302 301.690203 +z +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 273.857593 162.527602 L 277.33497 162.601842 L 279.153062 180.278238 L 275.699423 180.168098 -L 273.857593 162.527602 z -" style="fill:#f5c0a7;"/> - <path clip-path="url(#p19582ab83f)" d="M 317.973692 296.324496 -L 321.358332 303.170818 -L 323.232482 301.805736 -L 319.841256 295.657488 -L 317.973692 296.324496 +" style="fill:#f5c2aa;"/> + <path clip-path="url(#p553f52e075)" d="M 190.381889 290.176815 +L 193.623726 284.161357 +L 195.528326 273.020565 +L 192.321448 281.36131 z -" style="fill:#4257c9;"/> - <path clip-path="url(#p19582ab83f)" d="M 313.695621 259.658424 +" style="fill:#5977e3;"/> + <path clip-path="url(#p553f52e075)" d="M 313.695621 259.658424 L 316.929708 274.799668 L 318.730952 277.410559 L 315.486507 263.711128 -L 313.695621 259.658424 z -" style="fill:#7396f5;"/> - <path clip-path="url(#p19582ab83f)" d="M 192.321448 281.36131 -L 195.528326 273.020565 -L 197.416468 260.647763 -L 194.237036 271.150486 -L 192.321448 281.36131 +" style="fill:#6e90f2;"/> + <path clip-path="url(#p553f52e075)" d="M 238.320138 168.299928 +L 241.689886 154.852024 +L 243.750509 165.939234 +L 240.387678 179.172699 z -" style="fill:#688aef;"/> - <path clip-path="url(#p19582ab83f)" d="M 312.264409 247.530938 +" style="fill:#f6bda2;"/> + <path clip-path="url(#p553f52e075)" d="M 312.264409 247.530938 L 315.486507 263.711128 L 317.258082 268.112343 L 314.026487 253.505593 -L 312.264409 247.530938 z -" style="fill:#85a8fc;"/> - <path clip-path="url(#p19582ab83f)" d="M 170.244149 277.925357 +" style="fill:#81a4fb;"/> + <path clip-path="url(#p553f52e075)" d="M 210.752174 207.403055 +L 213.896241 188.51893 +L 215.963544 187.707667 +L 212.809921 206.503496 +z +" style="fill:#dedcdb;"/> + <path clip-path="url(#p553f52e075)" d="M 299.560788 194.214709 +L 302.886805 207.103045 +L 304.565617 220.914503 +L 301.252293 209.063607 +z +" style="fill:#d1dae9;"/> + <path clip-path="url(#p553f52e075)" d="M 321.358332 303.170818 +L 324.83903 305.368081 +L 326.722854 303.357416 +L 323.232482 301.805736 +z +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 170.244149 277.925357 L 173.8497 287.710142 L 176.124542 292.391932 L 172.581708 284.389331 -L 170.244149 277.925357 z -" style="fill:#5875e1;"/> - <path clip-path="url(#p19582ab83f)" d="M 196.836795 251.758967 -L 199.956695 237.312112 -L 201.884071 226.556084 -L 198.771694 242.35271 -L 196.836795 251.758967 +" style="fill:#5572df;"/> + <path clip-path="url(#p553f52e075)" d="M 317.973692 296.324496 +L 321.358332 303.170818 +L 323.232482 301.805736 +L 319.841256 295.657488 z -" style="fill:#9ebeff;"/> - <path clip-path="url(#p19582ab83f)" d="M 189.709044 300.526103 -L 193.019701 297.756834 -L 194.959008 288.367574 -L 191.688771 293.502565 -L 189.709044 300.526103 +" style="fill:#4055c8;"/> + <path clip-path="url(#p553f52e075)" d="M 304.487771 208.175048 +L 307.762242 223.385715 +L 309.45161 234.573948 +L 306.181611 220.732158 z -" style="fill:#465ecf;"/> - <path clip-path="url(#p19582ab83f)" d="M 165.262513 261.058984 +" style="fill:#bed2f6;"/> + <path clip-path="url(#p553f52e075)" d="M 165.262513 261.058984 L 168.962069 273.889215 L 171.291128 280.016467 L 167.648981 268.556613 -L 165.262513 261.058984 -z -" style="fill:#7093f3;"/> - <path clip-path="url(#p19582ab83f)" d="M 299.560788 194.214709 -L 302.886805 207.103045 -L 304.565617 220.914503 -L 301.252293 209.063607 -L 299.560788 194.214709 -z -" style="fill:#d6dce4;"/> - <path clip-path="url(#p19582ab83f)" d="M 187.670458 304.795747 -L 191.027233 304.371515 -L 193.019701 297.756834 -L 189.709044 300.526103 -L 187.670458 304.795747 -z -" style="fill:#3d50c3;"/> - <path clip-path="url(#p19582ab83f)" d="M 208.708887 209.815572 -L 211.843549 190.984583 -L 213.896241 188.51893 -L 210.752174 207.403055 -L 208.708887 209.815572 z -" style="fill:#dbdcde;"/> - <path clip-path="url(#p19582ab83f)" d="M 287.714893 173.003085 +" style="fill:#6c8ff1;"/> + <path clip-path="url(#p553f52e075)" d="M 287.714893 173.003085 L 291.13984 179.825315 L 292.860375 196.88148 L 289.459029 190.392239 -L 287.714893 173.003085 z -" style="fill:#efcebd;"/> - <path clip-path="url(#p19582ab83f)" d="M 304.487771 208.175048 -L 307.762242 223.385715 -L 309.45161 234.573948 -L 306.181611 220.732158 -L 304.487771 208.175048 +" style="fill:#edd2c3;"/> + <path clip-path="url(#p553f52e075)" d="M 194.910814 261.443631 +L 198.044656 248.625177 +L 199.956695 237.312112 +L 196.836795 251.758967 z -" style="fill:#c3d5f4;"/> - <path clip-path="url(#p19582ab83f)" d="M 277.33497 162.601842 +" style="fill:#90b2fe;"/> + <path clip-path="url(#p553f52e075)" d="M 277.33497 162.601842 L 280.807241 164.372404 L 282.600897 182.03061 L 279.153062 180.278238 -L 277.33497 162.601842 z -" style="fill:#f6bfa6;"/> - <path clip-path="url(#p19582ab83f)" d="M 178.63516 297.273296 +" style="fill:#f5c2aa;"/> + <path clip-path="url(#p553f52e075)" d="M 348.831064 222.48456 +L 352.790429 208.743921 +L 355.027689 194.045902 +L 351.051875 207.715507 +z +" style="fill:#d2dbe8;"/> + <path clip-path="url(#p553f52e075)" d="M 349.369484 205.105611 +L 353.303037 192.235447 +L 355.572153 176.485525 +L 351.633612 188.877279 +z +" style="fill:#e7d7ce;"/> + <path clip-path="url(#p553f52e075)" d="M 284.269002 167.841504 +L 287.714893 173.003085 +L 289.459029 190.392239 +L 286.037813 185.415222 +z +" style="fill:#f2cbb7;"/> + <path clip-path="url(#p553f52e075)" d="M 280.807241 164.372404 +L 284.269002 167.841504 +L 286.037813 185.415222 +L 282.600897 182.03061 +z +" style="fill:#f4c6af;"/> + <path clip-path="url(#p553f52e075)" d="M 192.321448 281.36131 +L 195.528326 273.020565 +L 197.416468 260.647763 +L 194.237036 271.150486 +z +" style="fill:#6c8ff1;"/> + <path clip-path="url(#p553f52e075)" d="M 178.63516 297.273296 L 182.11956 302.546513 L 184.285925 303.588548 L 180.861683 300.467005 -L 178.63516 297.273296 z -" style="fill:#4257c9;"/> - <path clip-path="url(#p19582ab83f)" d="M 182.11956 302.546513 -L 185.560163 305.985931 -L 187.670458 304.795747 -L 184.285925 303.588548 -L 182.11956 302.546513 +" style="fill:#3f53c6;"/> + <path clip-path="url(#p553f52e075)" d="M 187.670458 304.795747 +L 191.027233 304.371515 +L 193.019701 297.756834 +L 189.709044 300.526103 z -" style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 191.688771 293.502565 +" style="fill:#3e51c5;"/> + <path clip-path="url(#p553f52e075)" d="M 189.709044 300.526103 +L 193.019701 297.756834 L 194.959008 288.367574 -L 196.860273 276.720633 -L 193.623726 284.161357 L 191.688771 293.502565 z -" style="fill:#5572df;"/> - <path clip-path="url(#p19582ab83f)" d="M 261.510754 156.287474 +" style="fill:#485fd1;"/> + <path clip-path="url(#p553f52e075)" d="M 261.510754 156.287474 L 264.990008 151.312513 L 266.909023 167.443791 L 263.448549 172.384268 -L 261.510754 156.287474 z -" style="fill:#f7b093;"/> - <path clip-path="url(#p19582ab83f)" d="M 284.269002 167.841504 -L 287.714893 173.003085 -L 289.459029 190.392239 -L 286.037813 185.415222 -L 284.269002 167.841504 +" style="fill:#f7b396;"/> + <path clip-path="url(#p553f52e075)" d="M 182.11956 302.546513 +L 185.560163 305.985931 +L 187.670458 304.795747 +L 184.285925 303.588548 z -" style="fill:#f3c8b2;"/> - <path clip-path="url(#p19582ab83f)" d="M 252.611228 156.886843 +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 252.611228 156.886843 L 256.065533 148.564895 L 258.04869 162.979626 L 254.609127 171.303559 -L 252.611228 156.886843 z -" style="fill:#f7ad90;"/> - <path clip-path="url(#p19582ab83f)" d="M 198.771694 242.35271 +" style="fill:#f7af91;"/> + <path clip-path="url(#p553f52e075)" d="M 175.097401 290.020712 +L 178.63516 297.273296 +L 180.861683 300.467005 +L 177.386294 295.216539 +z +" style="fill:#485fd1;"/> + <path clip-path="url(#p553f52e075)" d="M 196.836795 251.758967 +L 199.956695 237.312112 L 201.884071 226.556084 -L 203.831367 216.715008 -L 200.721039 233.583441 L 198.771694 242.35271 z -" style="fill:#afcafc;"/> - <path clip-path="url(#p19582ab83f)" d="M 280.807241 164.372404 -L 284.269002 167.841504 -L 286.037813 185.415222 -L 282.600897 182.03061 -L 280.807241 164.372404 +" style="fill:#a3c2fe;"/> + <path clip-path="url(#p553f52e075)" d="M 208.708887 209.815572 +L 211.843549 190.984583 +L 213.896241 188.51893 +L 210.752174 207.403055 z -" style="fill:#f5c2aa;"/> - <path clip-path="url(#p19582ab83f)" d="M 319.475169 304.672172 +" style="fill:#dedcdb;"/> + <path clip-path="url(#p553f52e075)" d="M 319.475169 304.672172 L 322.95218 307.265474 L 324.83903 305.368081 L 321.358332 303.170818 +z +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 314.663405 285.154954 +L 317.973692 296.324496 +L 319.841256 295.657488 +L 316.528033 285.209462 +z +" style="fill:#506bda;"/> + <path clip-path="url(#p553f52e075)" d="M 316.091219 297.397593 L 319.475169 304.672172 +L 321.358332 303.170818 +L 317.973692 296.324496 +z +" style="fill:#4257c9;"/> + <path clip-path="url(#p553f52e075)" d="M 185.560163 305.985931 +L 188.967418 307.807093 +L 191.027233 304.371515 +L 187.670458 304.795747 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 225.443934 177.138358 + <path clip-path="url(#p553f52e075)" d="M 191.688771 293.502565 +L 194.959008 288.367574 +L 196.860273 276.720633 +L 193.623726 284.161357 +z +" style="fill:#5875e1;"/> + <path clip-path="url(#p553f52e075)" d="M 166.56513 265.957976 +L 170.244149 277.925357 +L 172.581708 284.389331 +L 168.962069 273.889215 +z +" style="fill:#688aef;"/> + <path clip-path="url(#p553f52e075)" d="M 313.268827 270.991215 +L 316.528033 285.209462 +L 318.373746 285.81558 +L 315.110261 272.57932 +z +" style="fill:#6384eb;"/> + <path clip-path="url(#p553f52e075)" d="M 160.113848 238.802181 +L 163.921659 254.68156 +L 166.3 261.805337 +L 162.53823 246.732873 +z +" style="fill:#92b4fe;"/> + <path clip-path="url(#p553f52e075)" d="M 225.443934 177.138358 L 228.721625 160.324696 L 230.81877 166.352877 L 227.5397 182.965366 -L 225.443934 177.138358 z -" style="fill:#f5c1a9;"/> - <path clip-path="url(#p19582ab83f)" d="M 218.042132 188.532592 +" style="fill:#f5c0a7;"/> + <path clip-path="url(#p553f52e075)" d="M 306.049285 212.372485 +L 309.303076 228.888947 +L 311.013238 238.523919 +L 307.762242 223.385715 +z +" style="fill:#bad0f8;"/> + <path clip-path="url(#p553f52e075)" d="M 218.042132 188.532592 L 221.254909 170.247288 L 223.347744 172.869341 L 220.128429 190.945765 -L 218.042132 188.532592 z -" style="fill:#f0cdbb;"/> - <path clip-path="url(#p19582ab83f)" d="M 175.097401 290.020712 -L 178.63516 297.273296 -L 180.861683 300.467005 -L 177.386294 295.216539 +" style="fill:#f2cbb7;"/> + <path clip-path="url(#p553f52e075)" d="M 198.771694 242.35271 +L 201.884071 226.556084 +L 203.831367 216.715008 +L 200.721039 233.583441 +z +" style="fill:#b5cdfa;"/> + <path clip-path="url(#p553f52e075)" d="M 296.200695 182.493759 +L 299.560788 194.214709 +L 301.252293 209.063607 +L 297.910682 198.054323 +z +" style="fill:#e3d9d3;"/> + <path clip-path="url(#p553f52e075)" d="M 171.498431 280.730053 L 175.097401 290.020712 +L 177.386294 295.216539 +L 173.8497 287.710142 z -" style="fill:#4a63d3;"/> - <path clip-path="url(#p19582ab83f)" d="M 194.237036 271.150486 +" style="fill:#5572df;"/> + <path clip-path="url(#p553f52e075)" d="M 194.237036 271.150486 L 197.416468 260.647763 L 199.300777 247.625486 L 196.141114 260.066129 -L 194.237036 271.150486 z -" style="fill:#7ea1fa;"/> - <path clip-path="url(#p19582ab83f)" d="M 206.682696 213.725035 +" style="fill:#82a6fb;"/> + <path clip-path="url(#p553f52e075)" d="M 206.682696 213.725035 L 209.808502 195.096774 L 211.843549 190.984583 L 208.708887 209.815572 -L 206.682696 213.725035 -z -" style="fill:#d8dce2;"/> - <path clip-path="url(#p19582ab83f)" d="M 185.560163 305.985931 -L 188.967418 307.807093 -L 191.027233 304.371515 -L 187.670458 304.795747 -L 185.560163 305.985931 -z -" style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 314.663405 285.154954 -L 317.973692 296.324496 -L 319.841256 295.657488 -L 316.528033 285.209462 -L 314.663405 285.154954 -z -" style="fill:#536edd;"/> - <path clip-path="url(#p19582ab83f)" d="M 316.091219 297.397593 -L 319.475169 304.672172 -L 321.358332 303.170818 -L 317.973692 296.324496 -L 316.091219 297.397593 -z -" style="fill:#4358cb;"/> - <path clip-path="url(#p19582ab83f)" d="M 351.051875 207.715507 -L 355.027689 194.045902 -L 357.283178 179.046022 -L 353.303037 192.235447 -L 351.051875 207.715507 z -" style="fill:#e3d9d3;"/> - <path clip-path="url(#p19582ab83f)" d="M 200.721039 233.583441 -L 203.831367 216.715008 -L 205.801037 208.068156 -L 202.688395 225.746642 -L 200.721039 233.583441 -z -" style="fill:#bed2f6;"/> - <path clip-path="url(#p19582ab83f)" d="M 204.675535 219.071788 -L 207.793698 200.817539 -L 209.808502 195.096774 -L 206.682696 213.725035 -L 204.675535 219.071788 -z -" style="fill:#d3dbe7;"/> - <path clip-path="url(#p19582ab83f)" d="M 202.688395 225.746642 -L 205.801037 208.068156 -L 207.793698 200.817539 -L 204.675535 219.071788 -L 202.688395 225.746642 -z -" style="fill:#cad8ef;"/> - <path clip-path="url(#p19582ab83f)" d="M 313.268827 270.991215 -L 316.528033 285.209462 -L 318.373746 285.81558 +" style="fill:#dbdcde;"/> + <path clip-path="url(#p553f52e075)" d="M 311.880637 256.254705 L 315.110261 272.57932 -L 313.268827 270.991215 -z -" style="fill:#6788ee;"/> - <path clip-path="url(#p19582ab83f)" d="M 166.56513 265.957976 -L 170.244149 277.925357 -L 172.581708 284.389331 -L 168.962069 273.889215 -L 166.56513 265.957976 +L 316.929708 274.799668 +L 313.695621 259.658424 z -" style="fill:#6c8ff1;"/> - <path clip-path="url(#p19582ab83f)" d="M 191.027233 304.371515 +" style="fill:#799cf8;"/> + <path clip-path="url(#p553f52e075)" d="M 191.027233 304.371515 L 194.367942 302.64659 L 196.321852 293.776101 L 193.019701 297.756834 -L 191.027233 304.371515 z -" style="fill:#4358cb;"/> - <path clip-path="url(#p19582ab83f)" d="M 193.623726 284.161357 -L 196.860273 276.720633 -L 198.738613 263.412888 -L 195.528326 273.020565 -L 193.623726 284.161357 -z -" style="fill:#688aef;"/> - <path clip-path="url(#p19582ab83f)" d="M 160.113848 238.802181 -L 163.921659 254.68156 -L 166.3 261.805337 -L 162.53823 246.732873 -L 160.113848 238.802181 +" style="fill:#445acc;"/> + <path clip-path="url(#p553f52e075)" d="M 200.721039 233.583441 +L 203.831367 216.715008 +L 205.801037 208.068156 +L 202.688395 225.746642 z -" style="fill:#97b8ff;"/> - <path clip-path="url(#p19582ab83f)" d="M 306.049285 212.372485 -L 309.303076 228.888947 -L 311.013238 238.523919 -L 307.762242 223.385715 -L 306.049285 212.372485 +" style="fill:#c3d5f4;"/> + <path clip-path="url(#p553f52e075)" d="M 351.051875 207.715507 +L 355.027689 194.045902 +L 357.283178 179.046022 +L 353.303037 192.235447 z -" style="fill:#c0d4f5;"/> - <path clip-path="url(#p19582ab83f)" d="M 188.967418 307.807093 +" style="fill:#e7d7ce;"/> + <path clip-path="url(#p553f52e075)" d="M 188.967418 307.807093 L 192.351917 308.277278 L 194.367942 302.64659 L 191.027233 304.371515 -L 188.967418 307.807093 z " style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 171.498431 280.730053 -L 175.097401 290.020712 -L 177.386294 295.216539 -L 173.8497 287.710142 -L 171.498431 280.730053 -z -" style="fill:#5875e1;"/> - <path clip-path="url(#p19582ab83f)" d="M 317.581848 306.377745 + <path clip-path="url(#p553f52e075)" d="M 317.581848 306.377745 L 321.060856 309.107513 L 322.95218 307.265474 L 319.475169 304.672172 -L 317.581848 306.377745 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 193.019701 297.756834 -L 196.321852 293.776101 -L 198.22895 282.151225 -L 194.959008 288.367574 -L 193.019701 297.756834 + <path clip-path="url(#p553f52e075)" d="M 161.484817 246.207375 +L 165.262513 261.058984 +L 167.648981 268.556613 +L 163.921659 254.68156 z -" style="fill:#516ddb;"/> - <path clip-path="url(#p19582ab83f)" d="M 296.200695 182.493759 -L 299.560788 194.214709 -L 301.252293 209.063607 -L 297.910682 198.054323 -L 296.200695 182.493759 +" style="fill:#88abfd;"/> + <path clip-path="url(#p553f52e075)" d="M 204.675535 219.071788 +L 207.793698 200.817539 +L 209.808502 195.096774 +L 206.682696 213.725035 z -" style="fill:#e8d6cc;"/> - <path clip-path="url(#p19582ab83f)" d="M 311.880637 256.254705 -L 315.110261 272.57932 -L 316.929708 274.799668 -L 313.695621 259.658424 -L 311.880637 256.254705 +" style="fill:#d6dce4;"/> + <path clip-path="url(#p553f52e075)" d="M 307.567716 219.632592 +L 310.802861 237.066301 +L 312.537598 244.93485 +L 309.303076 228.888947 z -" style="fill:#7ea1fa;"/> - <path clip-path="url(#p19582ab83f)" d="M 196.141114 260.066129 -L 199.300777 247.625486 -L 201.19199 234.516708 -L 198.044656 248.625177 -L 196.141114 260.066129 +" style="fill:#b2ccfb;"/> + <path clip-path="url(#p553f52e075)" d="M 202.688395 225.746642 +L 205.801037 208.068156 +L 207.793698 200.817539 +L 204.675535 219.071788 z -" style="fill:#96b7ff;"/> - <path clip-path="url(#p19582ab83f)" d="M 247.152714 154.181945 -L 250.590335 144.285789 -L 252.611228 156.886843 -L 249.185746 166.950144 -L 247.152714 154.181945 +" style="fill:#cedaeb;"/> + <path clip-path="url(#p553f52e075)" d="M 301.180648 193.533283 +L 304.487771 208.175048 +L 306.181611 220.732158 +L 302.886805 207.103045 z -" style="fill:#f6a385;"/> - <path clip-path="url(#p19582ab83f)" d="M 314.193088 298.953101 +" style="fill:#d6dce4;"/> + <path clip-path="url(#p553f52e075)" d="M 193.623726 284.161357 +L 196.860273 276.720633 +L 198.738613 263.412888 +L 195.528326 273.020565 +z +" style="fill:#6c8ff1;"/> + <path clip-path="url(#p553f52e075)" d="M 310.477017 242.165252 +L 313.695621 259.658424 +L 315.486507 263.711128 +L 312.264409 247.530938 +z +" style="fill:#90b2fe;"/> + <path clip-path="url(#p553f52e075)" d="M 314.193088 298.953101 L 317.581848 306.377745 L 319.475169 304.672172 L 316.091219 297.397593 -L 314.193088 298.953101 -z -" style="fill:#445acc;"/> - <path clip-path="url(#p19582ab83f)" d="M 230.81877 166.352877 -L 234.150253 151.241142 -L 236.239561 158.901658 -L 232.911272 174.012095 -L 230.81877 166.352877 z -" style="fill:#f7b093;"/> - <path clip-path="url(#p19582ab83f)" d="M 161.484817 246.207375 -L 165.262513 261.058984 -L 167.648981 268.556613 -L 163.921659 254.68156 -L 161.484817 246.207375 +" style="fill:#4358cb;"/> + <path clip-path="url(#p553f52e075)" d="M 264.990008 151.312513 +L 268.481061 148.062335 +L 270.380489 164.145659 +L 266.909023 167.443791 z -" style="fill:#8db0fe;"/> - <path clip-path="url(#p19582ab83f)" d="M 312.778362 285.785744 +" style="fill:#f7a889;"/> + <path clip-path="url(#p553f52e075)" d="M 312.778362 285.785744 L 316.091219 297.397593 L 317.973692 296.324496 L 314.663405 285.154954 -L 312.778362 285.785744 z -" style="fill:#5572df;"/> - <path clip-path="url(#p19582ab83f)" d="M 264.990008 151.312513 -L 268.481061 148.062335 -L 270.380489 164.145659 -L 266.909023 167.443791 -L 264.990008 151.312513 +" style="fill:#536edd;"/> + <path clip-path="url(#p553f52e075)" d="M 247.152714 154.181945 +L 250.590335 144.285789 +L 252.611228 156.886843 +L 249.185746 166.950144 z -" style="fill:#f6a586;"/> - <path clip-path="url(#p19582ab83f)" d="M 183.367461 303.906125 -L 186.827969 307.79847 -L 188.967418 307.807093 -L 185.560163 305.985931 -L 183.367461 303.906125 +" style="fill:#f6a385;"/> + <path clip-path="url(#p553f52e075)" d="M 309.042427 229.716821 +L 312.264409 247.530938 +L 314.026487 253.505593 +L 310.802861 237.066301 z -" style="fill:#3e51c5;"/> - <path clip-path="url(#p19582ab83f)" d="M 179.869301 298.44627 +" style="fill:#a3c2fe;"/> + <path clip-path="url(#p553f52e075)" d="M 193.019701 297.756834 +L 196.321852 293.776101 +L 198.22895 282.151225 +L 194.959008 288.367574 +z +" style="fill:#5470de;"/> + <path clip-path="url(#p553f52e075)" d="M 179.869301 298.44627 L 183.367461 303.906125 L 185.560163 305.985931 L 182.11956 302.546513 -L 179.869301 298.44627 z -" style="fill:#445acc;"/> - <path clip-path="url(#p19582ab83f)" d="M 307.567716 219.632592 -L 310.802861 237.066301 -L 312.537598 244.93485 -L 309.303076 228.888947 -L 307.567716 219.632592 +" style="fill:#4257c9;"/> + <path clip-path="url(#p553f52e075)" d="M 183.367461 303.906125 +L 186.827969 307.79847 +L 188.967418 307.807093 +L 185.560163 305.985931 z -" style="fill:#b7cff9;"/> - <path clip-path="url(#p19582ab83f)" d="M 310.477017 242.165252 -L 313.695621 259.658424 -L 315.486507 263.711128 -L 312.264409 247.530938 -L 310.477017 242.165252 +" style="fill:#3d50c3;"/> + <path clip-path="url(#p553f52e075)" d="M 230.81877 166.352877 +L 234.150253 151.241142 +L 236.239561 158.901658 +L 232.911272 174.012095 z -" style="fill:#94b6ff;"/> - <path clip-path="url(#p19582ab83f)" d="M 301.180648 193.533283 -L 304.487771 208.175048 -L 306.181611 220.732158 -L 302.886805 207.103045 -L 301.180648 193.533283 +" style="fill:#f7af91;"/> + <path clip-path="url(#p553f52e075)" d="M 176.324724 291.269623 +L 179.869301 298.44627 +L 182.11956 302.546513 +L 178.63516 297.273296 z -" style="fill:#dbdcde;"/> - <path clip-path="url(#p19582ab83f)" d="M 215.963544 187.707667 -L 219.168918 169.312378 -L 221.254909 170.247288 -L 218.042132 188.532592 -L 215.963544 187.707667 +" style="fill:#4a63d3;"/> + <path clip-path="url(#p553f52e075)" d="M 196.141114 260.066129 +L 199.300777 247.625486 +L 201.19199 234.516708 +L 198.044656 248.625177 z -" style="fill:#f2c9b4;"/> - <path clip-path="url(#p19582ab83f)" d="M 309.042427 229.716821 -L 312.264409 247.530938 -L 314.026487 253.505593 -L 310.802861 237.066301 -L 309.042427 229.716821 +" style="fill:#9abbff;"/> + <path clip-path="url(#p553f52e075)" d="M 167.832977 269.444004 +L 171.498431 280.730053 +L 173.8497 287.710142 +L 170.244149 277.925357 z -" style="fill:#a9c6fd;"/> - <path clip-path="url(#p19582ab83f)" d="M 186.827969 307.79847 +" style="fill:#6788ee;"/> + <path clip-path="url(#p553f52e075)" d="M 186.827969 307.79847 L 190.260107 310.327107 L 192.351917 308.277278 L 188.967418 307.807093 -L 186.827969 307.79847 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 192.351917 308.277278 -L 195.723751 307.696831 -L 197.703378 299.978796 -L 194.367942 302.64659 -L 192.351917 308.277278 + <path clip-path="url(#p553f52e075)" d="M 311.403095 270.226325 +L 314.663405 285.154954 +L 316.528033 285.209462 +L 313.268827 270.991215 z -" style="fill:#3f53c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 195.528326 273.020565 -L 198.738613 263.412888 -L 200.608256 249.084232 -L 197.416468 260.647763 -L 195.528326 273.020565 +" style="fill:#688aef;"/> + <path clip-path="url(#p553f52e075)" d="M 292.806846 172.248084 +L 296.200695 182.493759 +L 297.910682 198.054323 +L 294.539468 188.22701 z -" style="fill:#81a4fb;"/> - <path clip-path="url(#p19582ab83f)" d="M 176.324724 291.269623 -L 179.869301 298.44627 -L 182.11956 302.546513 -L 178.63516 297.273296 -L 176.324724 291.269623 +" style="fill:#f0cdbb;"/> + <path clip-path="url(#p553f52e075)" d="M 315.678246 308.310942 +L 319.164526 310.913767 +L 321.060856 309.107513 +L 317.581848 306.377745 z -" style="fill:#4c66d6;"/> - <path clip-path="url(#p19582ab83f)" d="M 194.959008 288.367574 -L 198.22895 282.151225 -L 200.105175 268.371905 -L 196.860273 276.720633 -L 194.959008 288.367574 +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 162.812263 252.031306 +L 166.56513 265.957976 +L 168.962069 273.889215 +L 165.262513 261.058984 z -" style="fill:#6485ec;"/> - <path clip-path="url(#p19582ab83f)" d="M 241.689886 154.852024 +" style="fill:#81a4fb;"/> + <path clip-path="url(#p553f52e075)" d="M 241.689886 154.852024 L 245.101839 143.325656 L 247.152714 154.181945 L 243.750509 165.939234 -L 241.689886 154.852024 z " style="fill:#f5a081;"/> - <path clip-path="url(#p19582ab83f)" d="M 315.678246 308.310942 -L 319.164526 310.913767 -L 321.060856 309.107513 -L 317.581848 306.377745 -L 315.678246 308.310942 -z -" style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 236.239561 158.901658 -L 239.616241 145.619399 -L 241.689886 154.852024 -L 238.320138 168.299928 -L 236.239561 158.901658 -z -" style="fill:#f6a586;"/> - <path clip-path="url(#p19582ab83f)" d="M 194.367942 302.64659 + <path clip-path="url(#p553f52e075)" d="M 192.351917 308.277278 +L 195.723751 307.696831 L 197.703378 299.978796 -L 199.626752 288.997133 -L 196.321852 293.776101 L 194.367942 302.64659 z -" style="fill:#4b64d5;"/> - <path clip-path="url(#p19582ab83f)" d="M 353.303037 192.235447 -L 357.283178 179.046022 -L 359.543041 164.194896 -L 355.572153 176.485525 -L 353.303037 192.235447 -z -" style="fill:#f3c8b2;"/> - <path clip-path="url(#p19582ab83f)" d="M 167.832977 269.444004 -L 171.498431 280.730053 -L 173.8497 287.710142 -L 170.244149 277.925357 -L 167.832977 269.444004 -z -" style="fill:#6b8df0;"/> - <path clip-path="url(#p19582ab83f)" d="M 311.403095 270.226325 -L 314.663405 285.154954 -L 316.528033 285.209462 -L 313.268827 270.991215 -L 311.403095 270.226325 -z -" style="fill:#6c8ff1;"/> - <path clip-path="url(#p19582ab83f)" d="M 256.065533 148.564895 +" style="fill:#4055c8;"/> + <path clip-path="url(#p553f52e075)" d="M 256.065533 148.564895 L 259.543129 142.095733 L 261.510754 156.287474 L 258.04869 162.979626 -L 256.065533 148.564895 z -" style="fill:#f49a7b;"/> - <path clip-path="url(#p19582ab83f)" d="M 198.044656 248.625177 -L 201.19199 234.516708 -L 203.098522 221.83319 -L 199.956695 237.312112 -L 198.044656 248.625177 +" style="fill:#f59c7d;"/> + <path clip-path="url(#p553f52e075)" d="M 215.963544 187.707667 +L 219.168918 169.312378 +L 221.254909 170.247288 +L 218.042132 188.532592 z -" style="fill:#abc8fd;"/> - <path clip-path="url(#p19582ab83f)" d="M 312.279637 301.017718 +" style="fill:#f4c6af;"/> + <path clip-path="url(#p553f52e075)" d="M 236.239561 158.901658 +L 239.616241 145.619399 +L 241.689886 154.852024 +L 238.320138 168.299928 +z +" style="fill:#f6a385;"/> + <path clip-path="url(#p553f52e075)" d="M 312.279637 301.017718 L 315.678246 308.310942 L 317.581848 306.377745 L 314.193088 298.953101 -L 312.279637 301.017718 -z -" style="fill:#445acc;"/> - <path clip-path="url(#p19582ab83f)" d="M 190.260107 310.327107 -L 193.673044 311.733581 -L 195.723751 307.696831 -L 192.351917 308.277278 -L 190.260107 310.327107 z -" style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 223.347744 172.869341 -L 226.623565 156.015459 -L 228.721625 160.324696 -L 225.443934 177.138358 -L 223.347744 172.869341 +" style="fill:#4358cb;"/> + <path clip-path="url(#p553f52e075)" d="M 194.367942 302.64659 +L 197.703378 299.978796 +L 199.626752 288.997133 +L 196.321852 293.776101 z -" style="fill:#f7b599;"/> - <path clip-path="url(#p19582ab83f)" d="M 292.806846 172.248084 -L 296.200695 182.493759 -L 297.910682 198.054323 -L 294.539468 188.22701 -L 292.806846 172.248084 +" style="fill:#4e68d8;"/> + <path clip-path="url(#p553f52e075)" d="M 194.959008 288.367574 +L 198.22895 282.151225 +L 200.105175 268.371905 +L 196.860273 276.720633 z -" style="fill:#f2cab5;"/> - <path clip-path="url(#p19582ab83f)" d="M 162.812263 252.031306 -L 166.56513 265.957976 -L 168.962069 273.889215 -L 165.262513 261.058984 -L 162.812263 252.031306 +" style="fill:#688aef;"/> + <path clip-path="url(#p553f52e075)" d="M 172.726198 282.297555 +L 176.324724 291.269623 +L 178.63516 297.273296 +L 175.097401 290.020712 z -" style="fill:#86a9fc;"/> - <path clip-path="url(#p19582ab83f)" d="M 310.872634 287.183929 +" style="fill:#5673e0;"/> + <path clip-path="url(#p553f52e075)" d="M 310.872634 287.183929 L 314.193088 298.953101 L 316.091219 297.397593 L 312.778362 285.785744 -L 310.872634 287.183929 z -" style="fill:#5673e0;"/> - <path clip-path="url(#p19582ab83f)" d="M 172.726198 282.297555 -L 176.324724 291.269623 -L 178.63516 297.273296 -L 175.097401 290.020712 -L 172.726198 282.297555 +" style="fill:#5470de;"/> + <path clip-path="url(#p553f52e075)" d="M 190.260107 310.327107 +L 193.673044 311.733581 +L 195.723751 307.696831 +L 192.351917 308.277278 +z +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 195.528326 273.020565 +L 198.738613 263.412888 +L 200.608256 249.084232 +L 197.416468 260.647763 z -" style="fill:#5a78e4;"/> - <path clip-path="url(#p19582ab83f)" d="M 268.481061 148.062335 +" style="fill:#85a8fc;"/> + <path clip-path="url(#p553f52e075)" d="M 268.481061 148.062335 L 271.978675 146.503348 L 273.857593 162.527602 L 270.380489 164.145659 -L 268.481061 148.062335 -z -" style="fill:#f59c7d;"/> - <path clip-path="url(#p19582ab83f)" d="M 196.321852 293.776101 -L 199.626752 288.997133 -L 201.510065 275.319466 -L 198.22895 282.151225 -L 196.321852 293.776101 -z -" style="fill:#5e7de7;"/> - <path clip-path="url(#p19582ab83f)" d="M 313.765143 310.449615 -L 317.26348 312.664402 -L 319.164526 310.913767 -L 315.678246 308.310942 -L 313.765143 310.449615 -z -" style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 195.723751 307.696831 -L 199.092004 306.380978 -L 201.042935 296.733113 -L 197.703378 299.978796 -L 195.723751 307.696831 z -" style="fill:#445acc;"/> - <path clip-path="url(#p19582ab83f)" d="M 310.038414 253.746109 +" style="fill:#f5a081;"/> + <path clip-path="url(#p553f52e075)" d="M 310.038414 253.746109 L 313.268827 270.991215 L 315.110261 272.57932 L 311.880637 256.254705 -L 310.038414 253.746109 -z -" style="fill:#88abfd;"/> - <path clip-path="url(#p19582ab83f)" d="M 213.896241 188.51893 -L 217.093088 170.07923 -L 219.168918 169.312378 -L 215.963544 187.707667 -L 213.896241 188.51893 -z -" style="fill:#f4c6af;"/> - <path clip-path="url(#p19582ab83f)" d="M 193.673044 311.733581 -L 197.075319 312.280562 -L 199.092004 306.380978 -L 195.723751 307.696831 -L 193.673044 311.733581 z -" style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 310.352157 303.567649 -L 313.765143 310.449615 -L 315.678246 308.310942 -L 312.279637 301.017718 -L 310.352157 303.567649 +" style="fill:#82a6fb;"/> + <path clip-path="url(#p553f52e075)" d="M 223.347744 172.869341 +L 226.623565 156.015459 +L 228.721625 160.324696 +L 225.443934 177.138358 z -" style="fill:#4358cb;"/> - <path clip-path="url(#p19582ab83f)" d="M 199.956695 237.312112 -L 203.098522 221.83319 -L 205.026252 210.00994 -L 201.884071 226.556084 -L 199.956695 237.312112 +" style="fill:#f7b396;"/> + <path clip-path="url(#p553f52e075)" d="M 353.303037 192.235447 +L 357.283178 179.046022 +L 359.543041 164.194896 +L 355.572153 176.485525 z -" style="fill:#c0d4f5;"/> - <path clip-path="url(#p19582ab83f)" d="M 302.763721 196.144649 +" style="fill:#f5c4ac;"/> + <path clip-path="url(#p553f52e075)" d="M 302.763721 196.144649 L 306.049285 212.372485 L 307.762242 223.385715 L 304.487771 208.175048 -L 302.763721 196.144649 -z -" style="fill:#dbdcde;"/> - <path clip-path="url(#p19582ab83f)" d="M 197.416468 260.647763 -L 200.608256 249.084232 -L 202.481763 234.377667 -L 199.300777 247.625486 -L 197.416468 260.647763 z -" style="fill:#9bbcff;"/> - <path clip-path="url(#p19582ab83f)" d="M 196.860273 276.720633 -L 200.105175 268.371905 -L 201.96613 253.116241 -L 198.738613 263.412888 -L 196.860273 276.720633 +" style="fill:#d6dce4;"/> + <path clip-path="url(#p553f52e075)" d="M 198.044656 248.625177 +L 201.19199 234.516708 +L 203.098522 221.83319 +L 199.956695 237.312112 z -" style="fill:#7ea1fa;"/> - <path clip-path="url(#p19582ab83f)" d="M 289.382112 163.66464 +" style="fill:#b2ccfb;"/> + <path clip-path="url(#p553f52e075)" d="M 289.382112 163.66464 L 292.806846 172.248084 L 294.539468 188.22701 L 291.13984 179.825315 -L 289.382112 163.66464 z -" style="fill:#f7bca1;"/> - <path clip-path="url(#p19582ab83f)" d="M 309.512121 270.422514 -L 312.778362 285.785744 -L 314.663405 285.154954 -L 311.403095 270.226325 -L 309.512121 270.422514 +" style="fill:#f5c0a7;"/> + <path clip-path="url(#p553f52e075)" d="M 313.765143 310.449615 +L 317.26348 312.664402 +L 319.164526 310.913767 +L 315.678246 308.310942 z -" style="fill:#7093f3;"/> - <path clip-path="url(#p19582ab83f)" d="M 184.599438 304.241401 -L 188.081446 308.622657 -L 190.260107 310.327107 -L 186.827969 307.79847 -L 184.599438 304.241401 +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 297.835762 180.002888 +L 301.180648 193.533283 +L 302.886805 207.103045 +L 299.560788 194.214709 z -" style="fill:#4055c8;"/> - <path clip-path="url(#p19582ab83f)" d="M 308.947057 289.378613 +" style="fill:#ead4c8;"/> + <path clip-path="url(#p553f52e075)" d="M 310.352157 303.567649 +L 313.765143 310.449615 +L 315.678246 308.310942 L 312.279637 301.017718 -L 314.193088 298.953101 -L 310.872634 287.183929 -L 308.947057 289.378613 z -" style="fill:#5673e0;"/> - <path clip-path="url(#p19582ab83f)" d="M 181.084728 298.5203 -L 184.599438 304.241401 -L 186.827969 307.79847 -L 183.367461 303.906125 -L 181.084728 298.5203 +" style="fill:#4257c9;"/> + <path clip-path="url(#p553f52e075)" d="M 309.512121 270.422514 +L 312.778362 285.785744 +L 314.663405 285.154954 +L 311.403095 270.226325 z -" style="fill:#485fd1;"/> - <path clip-path="url(#p19582ab83f)" d="M 188.081446 308.622657 -L 191.538796 311.846354 -L 193.673044 311.733581 -L 190.260107 310.327107 -L 188.081446 308.622657 +" style="fill:#6c8ff1;"/> + <path clip-path="url(#p553f52e075)" d="M 193.673044 311.733581 +L 197.075319 312.280562 +L 199.092004 306.380978 +L 195.723751 307.696831 z " style="fill:#3d50c3;"/> - <path clip-path="url(#p19582ab83f)" d="M 297.835762 180.002888 -L 301.180648 193.533283 -L 302.886805 207.103045 -L 299.560788 194.214709 -L 297.835762 180.002888 -z -" style="fill:#edd1c2;"/> - <path clip-path="url(#p19582ab83f)" d="M 197.703378 299.978796 + <path clip-path="url(#p553f52e075)" d="M 195.723751 307.696831 +L 199.092004 306.380978 L 201.042935 296.733113 -L 202.943853 283.830705 -L 199.626752 288.997133 L 197.703378 299.978796 z -" style="fill:#5572df;"/> - <path clip-path="url(#p19582ab83f)" d="M 271.978675 146.503348 -L 275.477753 146.5979 -L 277.33497 162.601842 -L 273.857593 162.527602 -L 271.978675 146.503348 +" style="fill:#465ecf;"/> + <path clip-path="url(#p553f52e075)" d="M 196.321852 293.776101 +L 199.626752 288.997133 +L 201.510065 275.319466 +L 198.22895 282.151225 z -" style="fill:#f39778;"/> - <path clip-path="url(#p19582ab83f)" d="M 164.099192 256.317753 +" style="fill:#6180e9;"/> + <path clip-path="url(#p553f52e075)" d="M 164.099192 256.317753 L 167.832977 269.444004 L 170.244149 277.925357 L 166.56513 265.957976 -L 164.099192 256.317753 z -" style="fill:#84a7fc;"/> - <path clip-path="url(#p19582ab83f)" d="M 157.63636 229.783893 +" style="fill:#7ea1fa;"/> + <path clip-path="url(#p553f52e075)" d="M 157.63636 229.783893 L 161.484817 246.207375 L 163.921659 254.68156 L 160.113848 238.802181 -L 157.63636 229.783893 -z -" style="fill:#aec9fc;"/> - <path clip-path="url(#p19582ab83f)" d="M 169.0682 271.536666 -L 172.726198 282.297555 -L 175.097401 290.020712 -L 171.498431 280.730053 -L 169.0682 271.536666 z -" style="fill:#6c8ff1;"/> - <path clip-path="url(#p19582ab83f)" d="M 308.660296 237.709717 -L 311.880637 256.254705 -L 313.695621 259.658424 -L 310.477017 242.165252 -L 308.660296 237.709717 +" style="fill:#a7c5fe;"/> + <path clip-path="url(#p553f52e075)" d="M 184.599438 304.241401 +L 188.081446 308.622657 +L 190.260107 310.327107 +L 186.827969 307.79847 z -" style="fill:#a2c1ff;"/> - <path clip-path="url(#p19582ab83f)" d="M 250.590335 144.285789 -L 254.0577 136.447005 -L 256.065533 148.564895 -L 252.611228 156.886843 -L 250.590335 144.285789 +" style="fill:#3f53c6;"/> + <path clip-path="url(#p553f52e075)" d="M 271.978675 146.503348 +L 275.477753 146.5979 +L 277.33497 162.601842 +L 273.857593 162.527602 z -" style="fill:#f08a6c;"/> - <path clip-path="url(#p19582ab83f)" d="M 311.844084 312.726634 -L 315.358704 314.300858 -L 317.26348 312.664402 -L 313.765143 310.449615 -L 311.844084 312.726634 +" style="fill:#f59c7d;"/> + <path clip-path="url(#p553f52e075)" d="M 181.084728 298.5203 +L 184.599438 304.241401 +L 186.827969 307.79847 +L 183.367461 303.906125 z -" style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 197.075319 312.280562 -L 200.474444 312.236136 -L 202.464375 304.64296 -L 199.092004 306.380978 -L 197.075319 312.280562 +" style="fill:#455cce;"/> + <path clip-path="url(#p553f52e075)" d="M 308.947057 289.378613 +L 312.279637 301.017718 +L 314.193088 298.953101 +L 310.872634 287.183929 z -" style="fill:#3f53c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 191.538796 311.846354 -L 194.979264 314.12096 -L 197.075319 312.280562 -L 193.673044 311.733581 -L 191.538796 311.846354 +" style="fill:#5470de;"/> + <path clip-path="url(#p553f52e075)" d="M 308.660296 237.709717 +L 311.880637 256.254705 +L 313.695621 259.658424 +L 310.477017 242.165252 z -" style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 211.843549 190.984583 -L 215.030698 172.55423 +" style="fill:#9ebeff;"/> + <path clip-path="url(#p553f52e075)" d="M 213.896241 188.51893 L 217.093088 170.07923 -L 213.896241 188.51893 -L 211.843549 190.984583 -z -" style="fill:#f3c7b1;"/> - <path clip-path="url(#p19582ab83f)" d="M 228.721625 160.324696 -L 232.056146 145.432402 -L 234.150253 151.241142 -L 230.81877 166.352877 -L 228.721625 160.324696 -z -" style="fill:#f59d7e;"/> - <path clip-path="url(#p19582ab83f)" d="M 177.52953 291.318345 -L 181.084728 298.5203 -L 183.367461 303.906125 -L 179.869301 298.44627 -L 177.52953 291.318345 +L 219.168918 169.312378 +L 215.963544 187.707667 z -" style="fill:#516ddb;"/> - <path clip-path="url(#p19582ab83f)" d="M 201.884071 226.556084 -L 205.026252 210.00994 -L 206.978546 199.388895 -L 203.831367 216.715008 -L 201.884071 226.556084 +" style="fill:#f5c2aa;"/> + <path clip-path="url(#p553f52e075)" d="M 169.0682 271.536666 +L 172.726198 282.297555 +L 175.097401 290.020712 +L 171.498431 280.730053 z -" style="fill:#d2dbe8;"/> - <path clip-path="url(#p19582ab83f)" d="M 308.412735 306.52898 -L 311.844084 312.726634 -L 313.765143 310.449615 -L 310.352157 303.567649 -L 308.412735 306.52898 +" style="fill:#688aef;"/> + <path clip-path="url(#p553f52e075)" d="M 188.081446 308.622657 +L 191.538796 311.846354 +L 193.673044 311.733581 +L 190.260107 310.327107 z -" style="fill:#4257c9;"/> - <path clip-path="url(#p19582ab83f)" d="M 259.543129 142.095733 -L 263.038285 137.462464 -L 264.990008 151.312513 -L 261.510754 156.287474 -L 259.543129 142.095733 +" style="fill:#3c4ec2;"/> + <path clip-path="url(#p553f52e075)" d="M 304.304913 202.06521 +L 307.567716 219.632592 +L 309.303076 228.888947 +L 306.049285 212.372485 z -" style="fill:#ef886b;"/> - <path clip-path="url(#p19582ab83f)" d="M 285.931137 156.823442 +" style="fill:#d1dae9;"/> + <path clip-path="url(#p553f52e075)" d="M 285.931137 156.823442 L 289.382112 163.66464 L 291.13984 179.825315 L 287.714893 173.003085 -L 285.931137 156.823442 z -" style="fill:#f7ad90;"/> - <path clip-path="url(#p19582ab83f)" d="M 304.304913 202.06521 -L 307.567716 219.632592 -L 309.303076 228.888947 -L 306.049285 212.372485 -L 304.304913 202.06521 -z -" style="fill:#d6dce4;"/> - <path clip-path="url(#p19582ab83f)" d="M 199.092004 306.380978 -L 202.464375 304.64296 -L 204.394263 293.263593 -L 201.042935 296.733113 -L 199.092004 306.380978 +" style="fill:#f7b396;"/> + <path clip-path="url(#p553f52e075)" d="M 177.52953 291.318345 +L 181.084728 298.5203 +L 183.367461 303.906125 +L 179.869301 298.44627 z -" style="fill:#4b64d5;"/> - <path clip-path="url(#p19582ab83f)" d="M 198.22895 282.151225 -L 201.510065 275.319466 -L 203.369854 259.630723 +" style="fill:#4f69d9;"/> + <path clip-path="url(#p553f52e075)" d="M 196.860273 276.720633 L 200.105175 268.371905 -L 198.22895 282.151225 +L 201.96613 253.116241 +L 198.738613 263.412888 z -" style="fill:#779af7;"/> - <path clip-path="url(#p19582ab83f)" d="M 275.477753 146.5979 -L 278.973162 148.332045 -L 280.807241 164.372404 -L 277.33497 162.601842 -L 275.477753 146.5979 +" style="fill:#82a6fb;"/> + <path clip-path="url(#p553f52e075)" d="M 250.590335 144.285789 +L 254.0577 136.447005 +L 256.065533 148.564895 +L 252.611228 156.886843 z -" style="fill:#f39778;"/> - <path clip-path="url(#p19582ab83f)" d="M 221.254909 170.247288 -L 224.527831 153.435173 -L 226.623565 156.015459 -L 223.347744 172.869341 -L 221.254909 170.247288 +" style="fill:#f08a6c;"/> + <path clip-path="url(#p553f52e075)" d="M 199.956695 237.312112 +L 203.098522 221.83319 +L 205.026252 210.00994 +L 201.884071 226.556084 +z +" style="fill:#c6d6f1;"/> + <path clip-path="url(#p553f52e075)" d="M 197.416468 260.647763 +L 200.608256 249.084232 +L 202.481763 234.377667 +L 199.300777 247.625486 z -" style="fill:#f7aa8c;"/> - <path clip-path="url(#p19582ab83f)" d="M 307.251278 223.248609 +" style="fill:#a1c0ff;"/> + <path clip-path="url(#p553f52e075)" d="M 307.251278 223.248609 L 310.477017 242.165252 L 312.264409 247.530938 L 309.042427 229.716821 -L 307.251278 223.248609 z -" style="fill:#bad0f8;"/> - <path clip-path="url(#p19582ab83f)" d="M 307.003426 292.34532 -L 310.352157 303.567649 -L 312.279637 301.017718 -L 308.947057 289.378613 -L 307.003426 292.34532 +" style="fill:#b5cdfa;"/> + <path clip-path="url(#p553f52e075)" d="M 259.543129 142.095733 +L 263.038285 137.462464 +L 264.990008 151.312513 +L 261.510754 156.287474 z -" style="fill:#5470de;"/> - <path clip-path="url(#p19582ab83f)" d="M 194.979264 314.12096 -L 198.409952 315.666569 -L 200.474444 312.236136 -L 197.075319 312.280562 +" style="fill:#f08a6c;"/> + <path clip-path="url(#p553f52e075)" d="M 197.703378 299.978796 +L 201.042935 296.733113 +L 202.943853 283.830705 +L 199.626752 288.997133 +z +" style="fill:#5875e1;"/> + <path clip-path="url(#p553f52e075)" d="M 191.538796 311.846354 L 194.979264 314.12096 +L 197.075319 312.280562 +L 193.673044 311.733581 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 282.459527 151.725906 -L 285.931137 156.823442 -L 287.714893 173.003085 -L 284.269002 167.841504 -L 282.459527 151.725906 + <path clip-path="url(#p553f52e075)" d="M 311.844084 312.726634 +L 315.358704 314.300858 +L 317.26348 312.664402 +L 313.765143 310.449615 z -" style="fill:#f6a385;"/> - <path clip-path="url(#p19582ab83f)" d="M 278.973162 148.332045 -L 282.459527 151.725906 -L 284.269002 167.841504 -L 280.807241 164.372404 +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 275.477753 146.5979 L 278.973162 148.332045 +L 280.807241 164.372404 +L 277.33497 162.601842 +z +" style="fill:#f59c7d;"/> + <path clip-path="url(#p553f52e075)" d="M 308.412735 306.52898 +L 311.844084 312.726634 +L 313.765143 310.449615 +L 310.352157 303.567649 z -" style="fill:#f49a7b;"/> - <path clip-path="url(#p19582ab83f)" d="M 305.800898 211.191949 +" style="fill:#4055c8;"/> + <path clip-path="url(#p553f52e075)" d="M 305.800898 211.191949 L 309.042427 229.716821 L 310.802861 237.066301 L 307.567716 219.632592 -L 305.800898 211.191949 z -" style="fill:#cbd8ee;"/> - <path clip-path="url(#p19582ab83f)" d="M 158.990079 236.499729 +" style="fill:#c6d6f1;"/> + <path clip-path="url(#p553f52e075)" d="M 158.990079 236.499729 L 162.812263 252.031306 L 165.262513 261.058984 L 161.484817 246.207375 -L 158.990079 236.499729 z -" style="fill:#a5c3fe;"/> - <path clip-path="url(#p19582ab83f)" d="M 209.808502 195.096774 -L 212.985048 176.741921 -L 215.030698 172.55423 -L 211.843549 190.984583 -L 209.808502 195.096774 +" style="fill:#9fbfff;"/> + <path clip-path="url(#p553f52e075)" d="M 197.075319 312.280562 +L 200.474444 312.236136 +L 202.464375 304.64296 +L 199.092004 306.380978 z -" style="fill:#f2cab5;"/> - <path clip-path="url(#p19582ab83f)" d="M 203.831367 216.715008 -L 206.978546 199.388895 -L 208.956499 190.214028 -L 205.801037 208.068156 -L 203.831367 216.715008 +" style="fill:#3f53c6;"/> + <path clip-path="url(#p553f52e075)" d="M 282.459527 151.725906 +L 285.931137 156.823442 +L 287.714893 173.003085 +L 284.269002 167.841504 z -" style="fill:#dfdbd9;"/> - <path clip-path="url(#p19582ab83f)" d="M 307.596186 271.663823 -L 310.872634 287.183929 -L 312.778362 285.785744 -L 309.512121 270.422514 -L 307.596186 271.663823 +" style="fill:#f7a889;"/> + <path clip-path="url(#p553f52e075)" d="M 228.721625 160.324696 +L 232.056146 145.432402 +L 234.150253 151.241142 +L 230.81877 166.352877 +z +" style="fill:#f59c7d;"/> + <path clip-path="url(#p553f52e075)" d="M 278.973162 148.332045 +L 282.459527 151.725906 +L 284.269002 167.841504 +L 280.807241 164.372404 +z +" style="fill:#f5a081;"/> + <path clip-path="url(#p553f52e075)" d="M 307.003426 292.34532 +L 310.352157 303.567649 +L 312.279637 301.017718 +L 308.947057 289.378613 z -" style="fill:#7295f4;"/> - <path clip-path="url(#p19582ab83f)" d="M 308.167338 252.322244 +" style="fill:#536edd;"/> + <path clip-path="url(#p553f52e075)" d="M 308.167338 252.322244 L 311.403095 270.226325 L 313.268827 270.991215 L 310.038414 253.746109 -L 308.167338 252.322244 z -" style="fill:#8fb1fe;"/> - <path clip-path="url(#p19582ab83f)" d="M 199.300777 247.625486 -L 202.481763 234.377667 -L 204.369396 219.899117 -L 201.19199 234.516708 -L 199.300777 247.625486 +" style="fill:#8badfd;"/> + <path clip-path="url(#p553f52e075)" d="M 307.596186 271.663823 +L 310.872634 287.183929 +L 312.778362 285.785744 +L 309.512121 270.422514 z -" style="fill:#b5cdfa;"/> - <path clip-path="url(#p19582ab83f)" d="M 173.926923 282.550764 +" style="fill:#6e90f2;"/> + <path clip-path="url(#p553f52e075)" d="M 173.926923 282.550764 L 177.52953 291.318345 L 179.869301 298.44627 L 176.324724 291.269623 -L 173.926923 282.550764 z -" style="fill:#5f7fe8;"/> - <path clip-path="url(#p19582ab83f)" d="M 198.738613 263.412888 -L 201.96613 253.116241 -L 203.826161 237.098289 -L 200.608256 249.084232 -L 198.738613 263.412888 +" style="fill:#5b7ae5;"/> + <path clip-path="url(#p553f52e075)" d="M 211.843549 190.984583 +L 215.030698 172.55423 +L 217.093088 170.07923 +L 213.896241 188.51893 +z +" style="fill:#f5c2aa;"/> + <path clip-path="url(#p553f52e075)" d="M 199.092004 306.380978 +L 202.464375 304.64296 +L 204.394263 293.263593 +L 201.042935 296.733113 z -" style="fill:#9bbcff;"/> - <path clip-path="url(#p19582ab83f)" d="M 245.101839 143.325656 +" style="fill:#4e68d8;"/> + <path clip-path="url(#p553f52e075)" d="M 194.979264 314.12096 +L 198.409952 315.666569 +L 200.474444 312.236136 +L 197.075319 312.280562 +z +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 201.884071 226.556084 +L 205.026252 210.00994 +L 206.978546 199.388895 +L 203.831367 216.715008 +z +" style="fill:#d6dce4;"/> + <path clip-path="url(#p553f52e075)" d="M 221.254909 170.247288 +L 224.527831 153.435173 +L 226.623565 156.015459 +L 223.347744 172.869341 +z +" style="fill:#f7a889;"/> + <path clip-path="url(#p553f52e075)" d="M 198.22895 282.151225 +L 201.510065 275.319466 +L 203.369854 259.630723 +L 200.105175 268.371905 +z +" style="fill:#7b9ff9;"/> + <path clip-path="url(#p553f52e075)" d="M 294.451912 167.993545 +L 297.835762 180.002888 +L 299.560788 194.214709 +L 296.200695 182.493759 +z +" style="fill:#f5c2aa;"/> + <path clip-path="url(#p553f52e075)" d="M 245.101839 143.325656 L 248.550807 134.076129 L 250.590335 144.285789 L 247.152714 154.181945 -L 245.101839 143.325656 z " style="fill:#ec8165;"/> - <path clip-path="url(#p19582ab83f)" d="M 199.626752 288.997133 -L 202.943853 283.830705 -L 204.811602 268.323783 -L 201.510065 275.319466 -L 199.626752 288.997133 -z -" style="fill:#6c8ff1;"/> - <path clip-path="url(#p19582ab83f)" d="M 306.464076 309.779408 + <path clip-path="url(#p553f52e075)" d="M 306.464076 309.779408 L 309.917194 315.032101 L 311.844084 312.726634 L 308.412735 306.52898 -L 306.464076 309.779408 z -" style="fill:#3f53c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 309.917194 315.032101 +" style="fill:#3e51c5;"/> + <path clip-path="url(#p553f52e075)" d="M 165.34801 259.090813 +L 169.0682 271.536666 +L 171.498431 280.730053 +L 167.832977 269.444004 +z +" style="fill:#7ea1fa;"/> + <path clip-path="url(#p553f52e075)" d="M 309.917194 315.032101 L 313.45171 315.728306 L 315.358704 314.300858 L 311.844084 312.726634 -L 309.917194 315.032101 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 200.474444 312.236136 -L 203.876637 311.859601 -L 205.846953 302.779209 -L 202.464375 304.64296 -L 200.474444 312.236136 + <path clip-path="url(#p553f52e075)" d="M 299.438233 180.886659 +L 302.763721 196.144649 +L 304.487771 208.175048 +L 301.180648 193.533283 z -" style="fill:#4358cb;"/> - <path clip-path="url(#p19582ab83f)" d="M 234.150253 151.241142 +" style="fill:#edd2c3;"/> + <path clip-path="url(#p553f52e075)" d="M 305.044331 296.006036 +L 308.412735 306.52898 +L 310.352157 303.567649 +L 307.003426 292.34532 +z +" style="fill:#506bda;"/> + <path clip-path="url(#p553f52e075)" d="M 234.150253 151.241142 L 237.533955 138.440296 L 239.616241 145.619399 L 236.239561 158.901658 -L 234.150253 151.241142 z -" style="fill:#f08b6e;"/> - <path clip-path="url(#p19582ab83f)" d="M 205.801037 208.068156 +" style="fill:#f08a6c;"/> + <path clip-path="url(#p553f52e075)" d="M 209.808502 195.096774 +L 212.985048 176.741921 +L 215.030698 172.55423 +L 211.843549 190.984583 +z +" style="fill:#f4c6af;"/> + <path clip-path="url(#p553f52e075)" d="M 200.474444 312.236136 +L 203.876637 311.859601 +L 205.846953 302.779209 +L 202.464375 304.64296 +z +" style="fill:#445acc;"/> + <path clip-path="url(#p553f52e075)" d="M 203.831367 216.715008 +L 206.978546 199.388895 L 208.956499 190.214028 -L 210.959358 182.638472 -L 207.793698 200.817539 L 205.801037 208.068156 z -" style="fill:#ead5c9;"/> - <path clip-path="url(#p19582ab83f)" d="M 207.793698 200.817539 -L 210.959358 182.638472 -L 212.985048 176.741921 -L 209.808502 195.096774 -L 207.793698 200.817539 -z -" style="fill:#efcebd;"/> - <path clip-path="url(#p19582ab83f)" d="M 198.409952 315.666569 +" style="fill:#e3d9d3;"/> + <path clip-path="url(#p553f52e075)" d="M 198.409952 315.666569 L 201.83699 316.701452 L 203.876637 311.859601 L 200.474444 312.236136 -L 198.409952 315.666569 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 305.044331 296.006036 -L 308.412735 306.52898 -L 310.352157 303.567649 -L 307.003426 292.34532 -L 305.044331 296.006036 + <path clip-path="url(#p553f52e075)" d="M 199.300777 247.625486 +L 202.481763 234.377667 +L 204.369396 219.899117 +L 201.19199 234.516708 +z +" style="fill:#bad0f8;"/> + <path clip-path="url(#p553f52e075)" d="M 160.299447 241.625466 +L 164.099192 256.317753 +L 166.56513 265.957976 +L 162.812263 252.031306 z -" style="fill:#516ddb;"/> - <path clip-path="url(#p19582ab83f)" d="M 239.616241 145.619399 +" style="fill:#9abbff;"/> + <path clip-path="url(#p553f52e075)" d="M 239.616241 145.619399 L 243.03784 134.739159 L 245.101839 143.325656 L 241.689886 154.852024 -L 239.616241 145.619399 z -" style="fill:#ed8366;"/> - <path clip-path="url(#p19582ab83f)" d="M 201.042935 296.733113 -L 204.394263 293.263593 -L 206.280506 278.665682 +" style="fill:#ec8165;"/> + <path clip-path="url(#p553f52e075)" d="M 199.626752 288.997133 L 202.943853 283.830705 -L 201.042935 296.733113 +L 204.811602 268.323783 +L 201.510065 275.319466 z -" style="fill:#5f7fe8;"/> - <path clip-path="url(#p19582ab83f)" d="M 294.451912 167.993545 -L 297.835762 180.002888 -L 299.560788 194.214709 -L 296.200695 182.493759 -L 294.451912 167.993545 +" style="fill:#7093f3;"/> + <path clip-path="url(#p553f52e075)" d="M 305.656644 273.980425 +L 308.947057 289.378613 +L 310.872634 287.183929 +L 307.596186 271.663823 z -" style="fill:#f6bea4;"/> - <path clip-path="url(#p19582ab83f)" d="M 165.34801 259.090813 -L 169.0682 271.536666 -L 171.498431 280.730053 -L 167.832977 269.444004 -L 165.34801 259.090813 +" style="fill:#6e90f2;"/> + <path clip-path="url(#p553f52e075)" d="M 198.738613 263.412888 +L 201.96613 253.116241 +L 203.826161 237.098289 +L 200.608256 249.084232 z -" style="fill:#84a7fc;"/> - <path clip-path="url(#p19582ab83f)" d="M 299.438233 180.886659 -L 302.763721 196.144649 -L 304.487771 208.175048 -L 301.180648 193.533283 -L 299.438233 180.886659 +" style="fill:#a1c0ff;"/> + <path clip-path="url(#p553f52e075)" d="M 170.27153 272.203065 +L 173.926923 282.550764 +L 176.324724 291.269623 +L 172.726198 282.297555 +z +" style="fill:#6c8ff1;"/> + <path clip-path="url(#p553f52e075)" d="M 207.793698 200.817539 +L 210.959358 182.638472 +L 212.985048 176.741921 +L 209.808502 195.096774 z -" style="fill:#efcebd;"/> - <path clip-path="url(#p19582ab83f)" d="M 202.464375 304.64296 -L 205.846953 302.779209 -L 207.763093 289.89804 -L 204.394263 293.263593 -L 202.464375 304.64296 +" style="fill:#f2cbb7;"/> + <path clip-path="url(#p553f52e075)" d="M 306.811978 234.401494 +L 310.038414 253.746109 +L 311.880637 256.254705 +L 308.660296 237.709717 z -" style="fill:#536edd;"/> - <path clip-path="url(#p19582ab83f)" d="M 305.656644 273.980425 -L 308.947057 289.378613 -L 310.872634 287.183929 -L 307.596186 271.663823 -L 305.656644 273.980425 +" style="fill:#a9c6fd;"/> + <path clip-path="url(#p553f52e075)" d="M 205.801037 208.068156 +L 208.956499 190.214028 +L 210.959358 182.638472 +L 207.793698 200.817539 z -" style="fill:#7295f4;"/> - <path clip-path="url(#p19582ab83f)" d="M 263.038285 137.462464 +" style="fill:#edd2c3;"/> + <path clip-path="url(#p553f52e075)" d="M 263.038285 137.462464 L 266.545607 134.561414 L 268.481061 148.062335 L 264.990008 151.312513 -L 263.038285 137.462464 z -" style="fill:#e97a5f;"/> - <path clip-path="url(#p19582ab83f)" d="M 185.808416 303.175064 +" style="fill:#eb7d62;"/> + <path clip-path="url(#p553f52e075)" d="M 185.808416 303.175064 L 189.31188 307.985371 L 191.538796 311.846354 L 188.081446 308.622657 +z +" style="fill:#455cce;"/> + <path clip-path="url(#p553f52e075)" d="M 189.31188 307.985371 +L 192.793332 311.792787 +L 194.979264 314.12096 +L 191.538796 311.846354 +z +" style="fill:#3f53c6;"/> + <path clip-path="url(#p553f52e075)" d="M 201.042935 296.733113 +L 204.394263 293.263593 +L 206.280506 278.665682 +L 202.943853 283.830705 +z +" style="fill:#6384eb;"/> + <path clip-path="url(#p553f52e075)" d="M 182.276124 297.208103 L 185.808416 303.175064 +L 188.081446 308.622657 +L 184.599438 304.241401 z -" style="fill:#465ecf;"/> - <path clip-path="url(#p19582ab83f)" d="M 304.509299 313.15156 +" style="fill:#4b64d5;"/> + <path clip-path="url(#p553f52e075)" d="M 304.509299 313.15156 L 307.986991 317.217322 L 309.917194 315.032101 L 306.464076 309.779408 -L 304.509299 313.15156 z " style="fill:#3d50c3;"/> - <path clip-path="url(#p19582ab83f)" d="M 189.31188 307.985371 -L 192.793332 311.792787 -L 194.979264 314.12096 -L 191.538796 311.846354 -L 189.31188 307.985371 -z -" style="fill:#4257c9;"/> - <path clip-path="url(#p19582ab83f)" d="M 160.299447 241.625466 -L 164.099192 256.317753 -L 166.56513 265.957976 -L 162.812263 252.031306 -L 160.299447 241.625466 -z -" style="fill:#9fbfff;"/> - <path clip-path="url(#p19582ab83f)" d="M 303.072984 300.230091 + <path clip-path="url(#p553f52e075)" d="M 303.072984 300.230091 L 306.464076 309.779408 L 308.412735 306.52898 L 305.044331 296.006036 -L 303.072984 300.230091 -z -" style="fill:#4e68d8;"/> - <path clip-path="url(#p19582ab83f)" d="M 170.27153 272.203065 -L 173.926923 282.550764 -L 176.324724 291.269623 -L 172.726198 282.297555 -L 170.27153 272.203065 -z -" style="fill:#7093f3;"/> - <path clip-path="url(#p19582ab83f)" d="M 201.83699 316.701452 -L 205.265343 317.430151 -L 207.286669 311.389247 -L 203.876637 311.859601 -L 201.83699 316.701452 -z -" style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 182.276124 297.208103 -L 185.808416 303.175064 -L 188.081446 308.622657 -L 184.599438 304.241401 -L 182.276124 297.208103 z -" style="fill:#4f69d9;"/> - <path clip-path="url(#p19582ab83f)" d="M 306.811978 234.401494 -L 310.038414 253.746109 -L 311.880637 256.254705 -L 308.660296 237.709717 -L 306.811978 234.401494 +" style="fill:#4c66d6;"/> + <path clip-path="url(#p553f52e075)" d="M 306.267144 252.117043 +L 309.512121 270.422514 +L 311.403095 270.226325 +L 308.167338 252.322244 z -" style="fill:#aec9fc;"/> - <path clip-path="url(#p19582ab83f)" d="M 192.793332 311.792787 +" style="fill:#90b2fe;"/> + <path clip-path="url(#p553f52e075)" d="M 192.793332 311.792787 L 196.259258 314.767951 L 198.409952 315.666569 L 194.979264 314.12096 -L 192.793332 311.792787 z -" style="fill:#3e51c5;"/> - <path clip-path="url(#p19582ab83f)" d="M 203.876637 311.859601 -L 207.286669 311.389247 -L 209.244114 301.057092 +" style="fill:#3d50c3;"/> + <path clip-path="url(#p553f52e075)" d="M 202.464375 304.64296 L 205.846953 302.779209 -L 203.876637 311.859601 -z -" style="fill:#465ecf;"/> - <path clip-path="url(#p19582ab83f)" d="M 307.986991 317.217322 -L 311.544357 316.819908 -L 313.45171 315.728306 -L 309.917194 315.032101 -L 307.986991 317.217322 -z -" style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 200.105175 268.371905 -L 203.369854 259.630723 -L 205.221991 242.692515 -L 201.96613 253.116241 -L 200.105175 268.371905 -z -" style="fill:#96b7ff;"/> - <path clip-path="url(#p19582ab83f)" d="M 219.168918 169.312378 -L 222.437302 152.552529 -L 224.527831 153.435173 -L 221.254909 170.247288 -L 219.168918 169.312378 -z -" style="fill:#f6a385;"/> - <path clip-path="url(#p19582ab83f)" d="M 201.19199 234.516708 -L 204.369396 219.899117 -L 206.278702 206.18062 -L 203.098522 221.83319 -L 201.19199 234.516708 +L 207.763093 289.89804 +L 204.394263 293.263593 z -" style="fill:#ccd9ed;"/> - <path clip-path="url(#p19582ab83f)" d="M 254.0577 136.447005 +" style="fill:#5572df;"/> + <path clip-path="url(#p553f52e075)" d="M 254.0577 136.447005 L 257.548404 130.673306 L 259.543129 142.095733 L 256.065533 148.564895 -L 254.0577 136.447005 -z -" style="fill:#e67259;"/> - <path clip-path="url(#p19582ab83f)" d="M 306.267144 252.117043 -L 309.512121 270.422514 -L 311.403095 270.226325 -L 308.167338 252.322244 -L 306.267144 252.117043 z -" style="fill:#94b6ff;"/> - <path clip-path="url(#p19582ab83f)" d="M 196.259258 314.767951 -L 199.715492 317.085809 -L 201.83699 316.701452 -L 198.409952 315.666569 -L 196.259258 314.767951 +" style="fill:#e7745b;"/> + <path clip-path="url(#p553f52e075)" d="M 201.83699 316.701452 +L 205.265343 317.430151 +L 207.286669 311.389247 +L 203.876637 311.859601 z -" style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 226.623565 156.015459 -L 229.960495 141.461055 -L 232.056146 145.432402 -L 228.721625 160.324696 -L 226.623565 156.015459 +" style="fill:#3d50c3;"/> + <path clip-path="url(#p553f52e075)" d="M 307.986991 317.217322 +L 311.544357 316.819908 +L 313.45171 315.728306 +L 309.917194 315.032101 z -" style="fill:#f18d6f;"/> - <path clip-path="url(#p19582ab83f)" d="M 178.708271 289.960929 +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 178.708271 289.960929 L 182.276124 297.208103 L 184.599438 304.241401 L 181.084728 298.5203 -L 178.708271 289.960929 z -" style="fill:#5977e3;"/> - <path clip-path="url(#p19582ab83f)" d="M 301.093023 304.836291 -L 304.509299 313.15156 -L 306.464076 309.779408 -L 303.072984 300.230091 -L 301.093023 304.836291 +" style="fill:#5572df;"/> + <path clip-path="url(#p553f52e075)" d="M 203.876637 311.859601 +L 207.286669 311.389247 +L 209.244114 301.057092 +L 205.846953 302.779209 z -" style="fill:#4961d2;"/> - <path clip-path="url(#p19582ab83f)" d="M 303.695755 277.348509 +" style="fill:#485fd1;"/> + <path clip-path="url(#p553f52e075)" d="M 303.695755 277.348509 L 307.003426 292.34532 L 308.947057 289.378613 L 305.656644 273.980425 -L 303.695755 277.348509 -z -" style="fill:#6f92f3;"/> - <path clip-path="url(#p19582ab83f)" d="M 302.551722 316.438232 -L 306.056163 319.100696 -L 307.986991 317.217322 -L 304.509299 313.15156 -L 302.551722 316.438232 -z -" style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 200.608256 249.084232 -L 203.826161 237.098289 -L 205.697547 221.021846 -L 202.481763 234.377667 -L 200.608256 249.084232 -z -" style="fill:#b7cff9;"/> - <path clip-path="url(#p19582ab83f)" d="M 201.510065 275.319466 -L 204.811602 268.323783 -L 206.663082 250.983215 -L 203.369854 259.630723 -L 201.510065 275.319466 z -" style="fill:#8badfd;"/> - <path clip-path="url(#p19582ab83f)" d="M 205.265343 317.430151 -L 208.698738 318.033393 -L 210.707837 311.032363 -L 207.286669 311.389247 -L 205.265343 317.430151 +" style="fill:#6c8ff1;"/> + <path clip-path="url(#p553f52e075)" d="M 196.259258 314.767951 +L 199.715492 317.085809 +L 201.83699 316.701452 +L 198.409952 315.666569 z -" style="fill:#3e51c5;"/> - <path clip-path="url(#p19582ab83f)" d="M 291.031295 157.762974 +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 291.031295 157.762974 L 294.451912 167.993545 L 296.200695 182.493759 L 292.806846 172.248084 -L 291.031295 157.762974 -z -" style="fill:#f7a98b;"/> - <path clip-path="url(#p19582ab83f)" d="M 199.715492 317.085809 -L 203.167001 318.91425 -L 205.265343 317.430151 -L 201.83699 316.701452 -L 199.715492 317.085809 z -" style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 301.002613 185.187118 +" style="fill:#f7af91;"/> + <path clip-path="url(#p553f52e075)" d="M 301.002613 185.187118 L 304.304913 202.06521 L 306.049285 212.372485 L 302.763721 196.144649 -L 301.002613 185.187118 z -" style="fill:#edd1c2;"/> - <path clip-path="url(#p19582ab83f)" d="M 205.846953 302.779209 -L 209.244114 301.057092 -L 211.153198 286.926067 -L 207.763093 289.89804 -L 205.846953 302.779209 +" style="fill:#ead4c8;"/> + <path clip-path="url(#p553f52e075)" d="M 301.093023 304.836291 +L 304.509299 313.15156 +L 306.464076 309.779408 +L 303.072984 300.230091 z -" style="fill:#5977e3;"/> - <path clip-path="url(#p19582ab83f)" d="M 202.943853 283.830705 -L 206.280506 278.665682 -L 208.140345 261.580099 -L 204.811602 268.323783 -L 202.943853 283.830705 +" style="fill:#485fd1;"/> + <path clip-path="url(#p553f52e075)" d="M 219.168918 169.312378 +L 222.437302 152.552529 +L 224.527831 153.435173 +L 221.254909 170.247288 z -" style="fill:#7b9ff9;"/> - <path clip-path="url(#p19582ab83f)" d="M 305.426439 217.947898 +" style="fill:#f5a081;"/> + <path clip-path="url(#p553f52e075)" d="M 305.426439 217.947898 L 308.660296 237.709717 L 310.477017 242.165252 L 307.251278 223.248609 -L 305.426439 217.947898 -z -" style="fill:#c7d7f0;"/> - <path clip-path="url(#p19582ab83f)" d="M 204.394263 293.263593 -L 207.763093 289.89804 -L 209.641842 273.8533 -L 206.280506 278.665682 -L 204.394263 293.263593 -z -" style="fill:#6b8df0;"/> - <path clip-path="url(#p19582ab83f)" d="M 299.108303 309.596917 -L 302.551722 316.438232 -L 304.509299 313.15156 -L 301.093023 304.836291 -L 299.108303 309.596917 z -" style="fill:#455cce;"/> - <path clip-path="url(#p19582ab83f)" d="M 266.545607 134.561414 -L 270.060251 133.25753 -L 271.978675 146.503348 -L 268.481061 148.062335 -L 266.545607 134.561414 +" style="fill:#c3d5f4;"/> + <path clip-path="url(#p553f52e075)" d="M 200.105175 268.371905 +L 203.369854 259.630723 +L 205.221991 242.692515 +L 201.96613 253.116241 z -" style="fill:#e57058;"/> - <path clip-path="url(#p19582ab83f)" d="M 207.286669 311.389247 -L 210.707837 311.032363 -L 212.658548 299.705453 -L 209.244114 301.057092 -L 207.286669 311.389247 +" style="fill:#9abbff;"/> + <path clip-path="url(#p553f52e075)" d="M 226.623565 156.015459 +L 229.960495 141.461055 +L 232.056146 145.432402 +L 228.721625 160.324696 z -" style="fill:#4a63d3;"/> - <path clip-path="url(#p19582ab83f)" d="M 306.056163 319.100696 -L 309.638643 317.42294 -L 311.544357 316.819908 -L 307.986991 317.217322 +" style="fill:#f08a6c;"/> + <path clip-path="url(#p553f52e075)" d="M 302.551722 316.438232 L 306.056163 319.100696 +L 307.986991 317.217322 +L 304.509299 313.15156 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 301.716537 281.689828 -L 305.044331 296.006036 -L 307.003426 292.34532 -L 303.695755 277.348509 -L 301.716537 281.689828 -z -" style="fill:#6b8df0;"/> - <path clip-path="url(#p19582ab83f)" d="M 155.108582 219.845141 + <path clip-path="url(#p553f52e075)" d="M 155.108582 219.845141 L 158.990079 236.499729 L 161.484817 246.207375 L 157.63636 229.783893 -L 155.108582 219.845141 z -" style="fill:#c5d6f2;"/> - <path clip-path="url(#p19582ab83f)" d="M 175.098726 281.353734 +" style="fill:#bfd3f6;"/> + <path clip-path="url(#p553f52e075)" d="M 201.19199 234.516708 +L 204.369396 219.899117 +L 206.278702 206.18062 +L 203.098522 221.83319 +z +" style="fill:#d1dae9;"/> + <path clip-path="url(#p553f52e075)" d="M 266.545607 134.561414 +L 270.060251 133.25753 +L 271.978675 146.503348 +L 268.481061 148.062335 +z +" style="fill:#e7745b;"/> + <path clip-path="url(#p553f52e075)" d="M 161.56647 245.169481 +L 165.34801 259.090813 +L 167.832977 269.444004 +L 164.099192 256.317753 +z +" style="fill:#98b9ff;"/> + <path clip-path="url(#p553f52e075)" d="M 175.098726 281.353734 L 178.708271 289.960929 L 181.084728 298.5203 L 177.52953 291.318345 -L 175.098726 281.353734 z -" style="fill:#6788ee;"/> - <path clip-path="url(#p19582ab83f)" d="M 161.56647 245.169481 -L 165.34801 259.090813 -L 167.832977 269.444004 -L 164.099192 256.317753 -L 161.56647 245.169481 +" style="fill:#6384eb;"/> + <path clip-path="url(#p553f52e075)" d="M 199.715492 317.085809 +L 203.167001 318.91425 +L 205.265343 317.430151 +L 201.83699 316.701452 z -" style="fill:#9ebeff;"/> - <path clip-path="url(#p19582ab83f)" d="M 203.098522 221.83319 -L 206.278702 206.18062 -L 208.214349 193.651187 -L 205.026252 210.00994 -L 203.098522 221.83319 +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 205.265343 317.430151 +L 208.698738 318.033393 +L 210.707837 311.032363 +L 207.286669 311.389247 z -" style="fill:#dfdbd9;"/> - <path clip-path="url(#p19582ab83f)" d="M 166.560238 260.343256 +" style="fill:#3e51c5;"/> + <path clip-path="url(#p553f52e075)" d="M 166.560238 260.343256 L 170.27153 272.203065 L 172.726198 282.297555 L 169.0682 271.536666 -L 166.560238 260.343256 z -" style="fill:#86a9fc;"/> - <path clip-path="url(#p19582ab83f)" d="M 203.167001 318.91425 -L 206.61776 320.404246 -L 208.698738 318.033393 -L 205.265343 317.430151 -L 203.167001 318.91425 +" style="fill:#81a4fb;"/> + <path clip-path="url(#p553f52e075)" d="M 299.108303 309.596917 +L 302.551722 316.438232 +L 304.509299 313.15156 +L 301.093023 304.836291 z -" style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 217.093088 170.07923 -L 220.354761 153.332082 -L 222.437302 152.552529 -L 219.168918 169.312378 -L 217.093088 170.07923 +" style="fill:#445acc;"/> + <path clip-path="url(#p553f52e075)" d="M 301.716537 281.689828 +L 305.044331 296.006036 +L 307.003426 292.34532 +L 303.695755 277.348509 z -" style="fill:#f5a081;"/> - <path clip-path="url(#p19582ab83f)" d="M 248.550807 134.076129 -L 252.029838 127.22366 -L 254.0577 136.447005 -L 250.590335 144.285789 -L 248.550807 134.076129 +" style="fill:#688aef;"/> + <path clip-path="url(#p553f52e075)" d="M 302.52398 192.896375 +L 305.800898 211.191949 +L 307.567716 219.632592 +L 304.304913 202.06521 z -" style="fill:#e0654f;"/> - <path clip-path="url(#p19582ab83f)" d="M 304.338723 253.211069 +" style="fill:#e3d9d3;"/> + <path clip-path="url(#p553f52e075)" d="M 303.99874 203.914562 +L 307.251278 223.248609 +L 309.042427 229.716821 +L 305.800898 211.191949 +z +" style="fill:#d6dce4;"/> + <path clip-path="url(#p553f52e075)" d="M 304.338723 253.211069 L 307.596186 271.663823 L 309.512121 270.422514 L 306.267144 252.117043 -L 304.338723 253.211069 z -" style="fill:#97b8ff;"/> - <path clip-path="url(#p19582ab83f)" d="M 208.698738 318.033393 -L 212.139669 318.659963 -L 214.142019 310.957532 -L 210.707837 311.032363 -L 208.698738 318.033393 +" style="fill:#93b5fe;"/> + <path clip-path="url(#p553f52e075)" d="M 296.069219 167.150992 +L 299.438233 180.886659 +L 301.180648 193.533283 +L 297.835762 180.002888 z -" style="fill:#3f53c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 300.594624 319.399836 -L 304.127343 320.475613 -L 306.056163 319.100696 -L 302.551722 316.438232 -L 300.594624 319.399836 +" style="fill:#f6bda2;"/> + <path clip-path="url(#p553f52e075)" d="M 306.056163 319.100696 +L 309.638643 317.42294 +L 311.544357 316.819908 +L 307.986991 317.217322 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 303.99874 203.914562 -L 307.251278 223.248609 -L 309.042427 229.716821 -L 305.800898 211.191949 -L 303.99874 203.914562 + <path clip-path="url(#p553f52e075)" d="M 201.510065 275.319466 +L 204.811602 268.323783 +L 206.663082 250.983215 +L 203.369854 259.630723 z -" style="fill:#dbdcde;"/> - <path clip-path="url(#p19582ab83f)" d="M 302.52398 192.896375 -L 305.800898 211.191949 -L 307.567716 219.632592 -L 304.304913 202.06521 -L 302.52398 192.896375 +" style="fill:#90b2fe;"/> + <path clip-path="url(#p553f52e075)" d="M 200.608256 249.084232 +L 203.826161 237.098289 +L 205.697547 221.021846 +L 202.481763 234.377667 z -" style="fill:#e8d6cc;"/> - <path clip-path="url(#p19582ab83f)" d="M 297.122659 314.244146 -L 300.594624 319.399836 -L 302.551722 316.438232 -L 299.108303 309.596917 -L 297.122659 314.244146 +" style="fill:#bed2f6;"/> + <path clip-path="url(#p553f52e075)" d="M 205.846953 302.779209 +L 209.244114 301.057092 +L 211.153198 286.926067 +L 207.763093 289.89804 z -" style="fill:#4055c8;"/> - <path clip-path="url(#p19582ab83f)" d="M 232.056146 145.432402 -L 235.446801 133.32524 -L 237.533955 138.440296 -L 234.150253 151.241142 -L 232.056146 145.432402 +" style="fill:#5d7ce6;"/> + <path clip-path="url(#p553f52e075)" d="M 207.286669 311.389247 +L 210.707837 311.032363 +L 212.658548 299.705453 +L 209.244114 301.057092 z -" style="fill:#e8765c;"/> - <path clip-path="url(#p19582ab83f)" d="M 299.722605 286.871174 -L 303.072984 300.230091 -L 305.044331 296.006036 -L 301.716537 281.689828 -L 299.722605 286.871174 +" style="fill:#4c66d6;"/> + <path clip-path="url(#p553f52e075)" d="M 248.550807 134.076129 +L 252.029838 127.22366 +L 254.0577 136.447005 +L 250.590335 144.285789 z -" style="fill:#6485ec;"/> - <path clip-path="url(#p19582ab83f)" d="M 296.069219 167.150992 -L 299.438233 180.886659 -L 301.180648 193.533283 -L 297.835762 180.002888 -L 296.069219 167.150992 +" style="fill:#e0654f;"/> + <path clip-path="url(#p553f52e075)" d="M 204.394263 293.263593 +L 207.763093 289.89804 +L 209.641842 273.8533 +L 206.280506 278.665682 z -" style="fill:#f7b89c;"/> - <path clip-path="url(#p19582ab83f)" d="M 304.931326 232.415774 +" style="fill:#6e90f2;"/> + <path clip-path="url(#p553f52e075)" d="M 304.931326 232.415774 L 308.167338 252.322244 L 310.038414 253.746109 L 306.811978 234.401494 -L 304.931326 232.415774 z -" style="fill:#b6cefa;"/> - <path clip-path="url(#p19582ab83f)" d="M 287.578673 149.417189 +" style="fill:#b2ccfb;"/> + <path clip-path="url(#p553f52e075)" d="M 203.167001 318.91425 +L 206.61776 320.404246 +L 208.698738 318.033393 +L 205.265343 317.430151 +z +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 287.578673 149.417189 L 291.031295 157.762974 L 292.806846 172.248084 L 289.382112 163.66464 -L 287.578673 149.417189 z -" style="fill:#f39577;"/> - <path clip-path="url(#p19582ab83f)" d="M 270.060251 133.25753 +" style="fill:#f59c7d;"/> + <path clip-path="url(#p553f52e075)" d="M 202.943853 283.830705 +L 206.280506 278.665682 +L 208.140345 261.580099 +L 204.811602 268.323783 +z +" style="fill:#81a4fb;"/> + <path clip-path="url(#p553f52e075)" d="M 299.722605 286.871174 +L 303.072984 300.230091 +L 305.044331 296.006036 +L 301.716537 281.689828 +z +" style="fill:#6384eb;"/> + <path clip-path="url(#p553f52e075)" d="M 300.594624 319.399836 +L 304.127343 320.475613 +L 306.056163 319.100696 +L 302.551722 316.438232 +z +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 297.122659 314.244146 +L 300.594624 319.399836 +L 302.551722 316.438232 +L 299.108303 309.596917 +z +" style="fill:#3f53c6;"/> + <path clip-path="url(#p553f52e075)" d="M 156.440966 225.760834 +L 160.299447 241.625466 +L 162.812263 252.031306 +L 158.990079 236.499729 +z +" style="fill:#b9d0f9;"/> + <path clip-path="url(#p553f52e075)" d="M 208.698738 318.033393 +L 212.139669 318.659963 +L 214.142019 310.957532 +L 210.707837 311.032363 +z +" style="fill:#4055c8;"/> + <path clip-path="url(#p553f52e075)" d="M 270.060251 133.25753 L 273.577781 133.441508 L 275.477753 146.5979 L 271.978675 146.503348 -L 270.060251 133.25753 z -" style="fill:#e36b54;"/> - <path clip-path="url(#p19582ab83f)" d="M 297.718 292.704556 +" style="fill:#e46e56;"/> + <path clip-path="url(#p553f52e075)" d="M 232.056146 145.432402 +L 235.446801 133.32524 +L 237.533955 138.440296 +L 234.150253 151.241142 +z +" style="fill:#e7745b;"/> + <path clip-path="url(#p553f52e075)" d="M 217.093088 170.07923 +L 220.354761 153.332082 +L 222.437302 152.552529 +L 219.168918 169.312378 +z +" style="fill:#f59c7d;"/> + <path clip-path="url(#p553f52e075)" d="M 171.442536 271.363567 +L 175.098726 281.353734 +L 177.52953 291.318345 +L 173.926923 282.550764 +z +" style="fill:#7396f5;"/> + <path clip-path="url(#p553f52e075)" d="M 297.718 292.704556 L 301.093023 304.836291 L 303.072984 300.230091 L 299.722605 286.871174 -L 297.718 292.704556 -z -" style="fill:#5e7de7;"/> - <path clip-path="url(#p19582ab83f)" d="M 210.707837 311.032363 -L 214.142019 310.957532 -L 216.091377 298.907877 -L 212.658548 299.705453 -L 210.707837 311.032363 z -" style="fill:#4e68d8;"/> - <path clip-path="url(#p19582ab83f)" d="M 257.548404 130.673306 +" style="fill:#5d7ce6;"/> + <path clip-path="url(#p553f52e075)" d="M 257.548404 130.673306 L 261.056255 126.812652 L 263.038285 137.462464 L 259.543129 142.095733 -L 257.548404 130.673306 z -" style="fill:#dd5f4b;"/> - <path clip-path="url(#p19582ab83f)" d="M 206.61776 320.404246 +" style="fill:#de614d;"/> + <path clip-path="url(#p553f52e075)" d="M 203.098522 221.83319 +L 206.278702 206.18062 +L 208.214349 193.651187 +L 205.026252 210.00994 +z +" style="fill:#e3d9d3;"/> + <path clip-path="url(#p553f52e075)" d="M 206.61776 320.404246 L 210.070729 321.681699 L 212.139669 318.659963 L 208.698738 318.033393 -L 206.61776 320.404246 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 201.96613 253.116241 -L 205.221991 242.692515 -L 207.080731 225.295146 -L 203.826161 237.098289 -L 201.96613 253.116241 + <path clip-path="url(#p553f52e075)" d="M 190.511046 305.399849 +L 194.014533 309.595973 +L 196.259258 314.767951 +L 192.793332 311.792787 z -" style="fill:#b5cdfa;"/> - <path clip-path="url(#p19582ab83f)" d="M 243.03784 134.739159 +" style="fill:#485fd1;"/> + <path clip-path="url(#p553f52e075)" d="M 243.03784 134.739159 L 246.497788 126.588733 L 248.550807 134.076129 L 245.101839 143.325656 -L 243.03784 134.739159 z " style="fill:#de614d;"/> - <path clip-path="url(#p19582ab83f)" d="M 156.440966 225.760834 -L 160.299447 241.625466 -L 162.812263 252.031306 -L 158.990079 236.499729 -L 156.440966 225.760834 + <path clip-path="url(#p553f52e075)" d="M 295.706992 298.9491 +L 299.108303 309.596917 +L 301.093023 304.836291 +L 297.718 292.704556 z -" style="fill:#bed2f6;"/> - <path clip-path="url(#p19582ab83f)" d="M 209.244114 301.057092 +" style="fill:#5572df;"/> + <path clip-path="url(#p553f52e075)" d="M 186.9874 300.305028 +L 190.511046 305.399849 +L 192.793332 311.792787 +L 189.31188 307.985371 +z +" style="fill:#4e68d8;"/> + <path clip-path="url(#p553f52e075)" d="M 284.100358 142.932609 +L 287.578673 149.417189 +L 289.382112 163.66464 +L 285.931137 156.823442 +z +" style="fill:#f08a6c;"/> + <path clip-path="url(#p553f52e075)" d="M 302.383933 255.633629 +L 305.656644 273.980425 +L 307.596186 271.663823 +L 304.338723 253.211069 +z +" style="fill:#93b5fe;"/> + <path clip-path="url(#p553f52e075)" d="M 295.13966 318.479279 +L 298.641008 321.774199 +L 300.594624 319.399836 +L 297.122659 314.244146 +z +" style="fill:#3d50c3;"/> + <path clip-path="url(#p553f52e075)" d="M 210.707837 311.032363 +L 214.142019 310.957532 +L 216.091377 298.907877 L 212.658548 299.705453 -L 214.566488 284.590765 -L 211.153198 286.926067 -L 209.244114 301.057092 z -" style="fill:#5f7fe8;"/> - <path clip-path="url(#p19582ab83f)" d="M 237.533955 138.440296 +" style="fill:#506bda;"/> + <path clip-path="url(#p553f52e075)" d="M 194.014533 309.595973 +L 197.503207 313.024105 +L 199.715492 317.085809 +L 196.259258 314.767951 +z +" style="fill:#4358cb;"/> + <path clip-path="url(#p553f52e075)" d="M 237.533955 138.440296 L 240.965324 128.545806 L 243.03784 134.739159 L 239.616241 145.619399 -L 237.533955 138.440296 z -" style="fill:#e16751;"/> - <path clip-path="url(#p19582ab83f)" d="M 295.13966 318.479279 -L 298.641008 321.774199 -L 300.594624 319.399836 -L 297.122659 314.244146 -L 295.13966 318.479279 +" style="fill:#e0654f;"/> + <path clip-path="url(#p553f52e075)" d="M 273.577781 133.441508 +L 277.093749 135.073296 +L 278.973162 148.332045 +L 275.477753 146.5979 z -" style="fill:#3d50c3;"/> - <path clip-path="url(#p19582ab83f)" d="M 212.139669 318.659963 +" style="fill:#e46e56;"/> + <path clip-path="url(#p553f52e075)" d="M 183.437913 294.190523 +L 186.9874 300.305028 +L 189.31188 307.985371 +L 185.808416 303.175064 +z +" style="fill:#5572df;"/> + <path clip-path="url(#p553f52e075)" d="M 212.139669 318.659963 L 215.589495 319.420537 L 217.589821 311.289067 L 214.142019 310.957532 -L 212.139669 318.659963 z -" style="fill:#4055c8;"/> - <path clip-path="url(#p19582ab83f)" d="M 295.706992 298.9491 +" style="fill:#4257c9;"/> + <path clip-path="url(#p553f52e075)" d="M 293.693858 305.31565 +L 297.122659 314.244146 L 299.108303 309.596917 -L 301.093023 304.836291 -L 297.718 292.704556 L 295.706992 298.9491 z -" style="fill:#5673e0;"/> - <path clip-path="url(#p19582ab83f)" d="M 171.442536 271.363567 -L 175.098726 281.353734 -L 177.52953 291.318345 -L 173.926923 282.550764 -L 171.442536 271.363567 -z -" style="fill:#799cf8;"/> - <path clip-path="url(#p19582ab83f)" d="M 190.511046 305.399849 -L 194.014533 309.595973 -L 196.259258 314.767951 -L 192.793332 311.792787 -L 190.511046 305.399849 -z -" style="fill:#4a63d3;"/> - <path clip-path="url(#p19582ab83f)" d="M 205.026252 210.00994 -L 208.214349 193.651187 -L 210.178235 182.619583 -L 206.978546 199.388895 -L 205.026252 210.00994 -z -" style="fill:#edd1c2;"/> - <path clip-path="url(#p19582ab83f)" d="M 304.127343 320.475613 +" style="fill:#4e68d8;"/> + <path clip-path="url(#p553f52e075)" d="M 304.127343 320.475613 L 307.736484 317.366771 L 309.638643 317.42294 L 306.056163 319.100696 -L 304.127343 320.475613 -z -" style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 224.527831 153.435173 -L 227.865821 139.225666 -L 229.960495 141.461055 -L 226.623565 156.015459 -L 224.527831 153.435173 -z -" style="fill:#ec8165;"/> - <path clip-path="url(#p19582ab83f)" d="M 202.481763 234.377667 -L 205.697547 221.021846 -L 207.589859 205.533435 -L 204.369396 219.899117 -L 202.481763 234.377667 z -" style="fill:#d2dbe8;"/> - <path clip-path="url(#p19582ab83f)" d="M 186.9874 300.305028 -L 190.511046 305.399849 -L 192.793332 311.792787 -L 189.31188 307.985371 -L 186.9874 300.305028 +" style="fill:#3d50c3;"/> + <path clip-path="url(#p553f52e075)" d="M 209.244114 301.057092 +L 212.658548 299.705453 +L 214.566488 284.590765 +L 211.153198 286.926067 z -" style="fill:#506bda;"/> - <path clip-path="url(#p19582ab83f)" d="M 194.014533 309.595973 -L 197.503207 313.024105 +" style="fill:#6384eb;"/> + <path clip-path="url(#p553f52e075)" d="M 197.503207 313.024105 +L 200.981844 315.81403 +L 203.167001 318.91425 L 199.715492 317.085809 -L 196.259258 314.767951 -L 194.014533 309.595973 z -" style="fill:#455cce;"/> - <path clip-path="url(#p19582ab83f)" d="M 215.030698 172.55423 -L 218.283194 155.762137 -L 220.354761 153.332082 -L 217.093088 170.07923 -L 215.030698 172.55423 +" style="fill:#4055c8;"/> + <path clip-path="url(#p553f52e075)" d="M 280.6032 138.198548 +L 284.100358 142.932609 +L 285.931137 156.823442 +L 282.459527 151.725906 z -" style="fill:#f5a081;"/> - <path clip-path="url(#p19582ab83f)" d="M 293.693858 305.31565 -L 297.122659 314.244146 -L 299.108303 309.596917 -L 295.706992 298.9491 -L 293.693858 305.31565 +" style="fill:#eb7d62;"/> + <path clip-path="url(#p553f52e075)" d="M 201.96613 253.116241 +L 205.221991 242.692515 +L 207.080731 225.295146 +L 203.826161 237.098289 z -" style="fill:#4f69d9;"/> - <path clip-path="url(#p19582ab83f)" d="M 302.383933 255.633629 -L 305.656644 273.980425 -L 307.596186 271.663823 -L 304.338723 253.211069 -L 302.383933 255.633629 +" style="fill:#bad0f8;"/> + <path clip-path="url(#p553f52e075)" d="M 162.792906 247.131255 +L 166.560238 260.343256 +L 169.0682 271.536666 +L 165.34801 259.090813 z -" style="fill:#96b7ff;"/> - <path clip-path="url(#p19582ab83f)" d="M 298.641008 321.774199 +" style="fill:#9abbff;"/> + <path clip-path="url(#p553f52e075)" d="M 277.093749 135.073296 +L 280.6032 138.198548 +L 282.459527 151.725906 +L 278.973162 148.332045 +z +" style="fill:#e7745b;"/> + <path clip-path="url(#p553f52e075)" d="M 298.641008 321.774199 L 302.202879 321.120399 L 304.127343 320.475613 L 300.594624 319.399836 -L 298.641008 321.774199 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 284.100358 142.932609 -L 287.578673 149.417189 -L 289.382112 163.66464 -L 285.931137 156.823442 -L 284.100358 142.932609 -z -" style="fill:#ee8468;"/> - <path clip-path="url(#p19582ab83f)" d="M 273.577781 133.441508 -L 277.093749 135.073296 -L 278.973162 148.332045 -L 275.477753 146.5979 -L 273.577781 133.441508 + <path clip-path="url(#p553f52e075)" d="M 224.527831 153.435173 +L 227.865821 139.225666 +L 229.960495 141.461055 +L 226.623565 156.015459 z -" style="fill:#e36b54;"/> - <path clip-path="url(#p19582ab83f)" d="M 210.070729 321.681699 +" style="fill:#eb7d62;"/> + <path clip-path="url(#p553f52e075)" d="M 210.070729 321.681699 L 213.527893 322.841079 L 215.589495 319.420537 L 212.139669 318.659963 -L 210.070729 321.681699 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 207.763093 289.89804 -L 211.153198 286.926067 -L 213.030818 269.695979 -L 209.641842 273.8533 -L 207.763093 289.89804 -z -" style="fill:#7597f6;"/> - <path clip-path="url(#p19582ab83f)" d="M 183.437913 294.190523 -L 186.9874 300.305028 -L 189.31188 307.985371 -L 185.808416 303.175064 -L 183.437913 294.190523 -z -" style="fill:#5977e3;"/> - <path clip-path="url(#p19582ab83f)" d="M 197.503207 313.024105 -L 200.981844 315.81403 -L 203.167001 318.91425 -L 199.715492 317.085809 -L 197.503207 313.024105 -z -" style="fill:#4257c9;"/> - <path clip-path="url(#p19582ab83f)" d="M 291.682631 311.474829 + <path clip-path="url(#p553f52e075)" d="M 291.682631 311.474829 L 295.13966 318.479279 L 297.122659 314.244146 L 293.693858 305.31565 -L 291.682631 311.474829 z " style="fill:#465ecf;"/> - <path clip-path="url(#p19582ab83f)" d="M 203.369854 259.630723 -L 206.663082 250.983215 -L 208.514213 232.655715 -L 205.221991 242.692515 -L 203.369854 259.630723 -z -" style="fill:#abc8fd;"/> - <path clip-path="url(#p19582ab83f)" d="M 214.142019 310.957532 -L 217.589821 311.289067 -L 219.542346 298.79833 -L 216.091377 298.907877 -L 214.142019 310.957532 -z -" style="fill:#506bda;"/> - <path clip-path="url(#p19582ab83f)" d="M 215.589495 319.420537 -L 219.048592 320.383388 -L 221.050768 312.103316 -L 217.589821 311.289067 -L 215.589495 319.420537 + <path clip-path="url(#p553f52e075)" d="M 303.566749 214.025582 +L 306.811978 234.401494 +L 308.660296 237.709717 +L 305.426439 217.947898 z -" style="fill:#4257c9;"/> - <path clip-path="url(#p19582ab83f)" d="M 277.093749 135.073296 -L 280.6032 138.198548 -L 282.459527 151.725906 -L 278.973162 148.332045 -L 277.093749 135.073296 +" style="fill:#cedaeb;"/> + <path clip-path="url(#p553f52e075)" d="M 179.856905 286.956597 +L 183.437913 294.190523 +L 185.808416 303.175064 +L 182.276124 297.208103 z -" style="fill:#e46e56;"/> - <path clip-path="url(#p19582ab83f)" d="M 280.6032 138.198548 -L 284.100358 142.932609 -L 285.931137 156.823442 -L 282.459527 151.725906 -L 280.6032 138.198548 +" style="fill:#6180e9;"/> + <path clip-path="url(#p553f52e075)" d="M 215.030698 172.55423 +L 218.283194 155.762137 +L 220.354761 153.332082 +L 217.093088 170.07923 z -" style="fill:#e9785d;"/> - <path clip-path="url(#p19582ab83f)" d="M 206.280506 278.665682 -L 209.641842 273.8533 -L 211.500573 255.452705 -L 208.140345 261.580099 -L 206.280506 278.665682 +" style="fill:#f59c7d;"/> + <path clip-path="url(#p553f52e075)" d="M 297.653861 169.720357 +L 301.002613 185.187118 +L 302.763721 196.144649 +L 299.438233 180.886659 z -" style="fill:#8badfd;"/> - <path clip-path="url(#p19582ab83f)" d="M 206.978546 199.388895 +" style="fill:#f6bda2;"/> + <path clip-path="url(#p553f52e075)" d="M 205.026252 210.00994 +L 208.214349 193.651187 L 210.178235 182.619583 -L 212.169863 173.272278 -L 208.956499 190.214028 L 206.978546 199.388895 z -" style="fill:#f4c5ad;"/> - <path clip-path="url(#p19582ab83f)" d="M 200.981844 315.81403 +" style="fill:#f0cdbb;"/> + <path clip-path="url(#p553f52e075)" d="M 200.981844 315.81403 L 204.454492 318.085221 L 206.61776 320.404246 L 203.167001 318.91425 -L 200.981844 315.81403 -z -" style="fill:#3f53c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 293.162363 321.984883 -L 296.693361 323.288707 -L 298.641008 321.774199 -L 295.13966 318.479279 -L 293.162363 321.984883 z -" style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 204.811602 268.323783 -L 208.140345 261.580099 -L 209.990798 242.862873 -L 206.663082 250.983215 -L 204.811602 268.323783 +" style="fill:#3e51c5;"/> + <path clip-path="url(#p553f52e075)" d="M 157.728647 230.091285 +L 161.56647 245.169481 +L 164.099192 256.317753 +L 160.299447 241.625466 z -" style="fill:#9ebeff;"/> - <path clip-path="url(#p19582ab83f)" d="M 212.985048 176.741921 -L 216.22599 159.865199 -L 218.283194 155.762137 -L 215.030698 172.55423 -L 212.985048 176.741921 +" style="fill:#b6cefa;"/> + <path clip-path="url(#p553f52e075)" d="M 202.481763 234.377667 +L 205.697547 221.021846 +L 207.589859 205.533435 +L 204.369396 219.899117 z -" style="fill:#f6a586;"/> - <path clip-path="url(#p19582ab83f)" d="M 162.792906 247.131255 -L 166.560238 260.343256 -L 169.0682 271.536666 -L 165.34801 259.090813 -L 162.792906 247.131255 +" style="fill:#d6dce4;"/> + <path clip-path="url(#p553f52e075)" d="M 300.405437 259.363436 +L 303.695755 277.348509 +L 305.656644 273.980425 +L 302.383933 255.633629 z -" style="fill:#9fbfff;"/> - <path clip-path="url(#p19582ab83f)" d="M 289.676845 317.068803 -L 293.162363 321.984883 -L 295.13966 318.479279 -L 291.682631 311.474829 -L 289.676845 317.068803 +" style="fill:#90b2fe;"/> + <path clip-path="url(#p553f52e075)" d="M 292.657362 155.320954 +L 296.069219 167.150992 +L 297.835762 180.002888 +L 294.451912 167.993545 z -" style="fill:#4055c8;"/> - <path clip-path="url(#p19582ab83f)" d="M 255.385946 211.32973 -L 258.893416 192.354666 -L 260.923383 182.660661 -L 257.405971 189.731254 -L 255.385946 211.32973 +" style="fill:#f6a385;"/> + <path clip-path="url(#p553f52e075)" d="M 303.018873 231.87153 +L 306.267144 252.117043 +L 308.167338 252.322244 +L 304.931326 232.415774 z -" style="fill:#efcebd;"/> - <path clip-path="url(#p19582ab83f)" d="M 179.856905 286.956597 -L 183.437913 294.190523 -L 185.808416 303.175064 -L 182.276124 297.208103 -L 179.856905 286.956597 +" style="fill:#b7cff9;"/> + <path clip-path="url(#p553f52e075)" d="M 207.763093 289.89804 +L 211.153198 286.926067 +L 213.030818 269.695979 +L 209.641842 273.8533 z -" style="fill:#6485ec;"/> - <path clip-path="url(#p19582ab83f)" d="M 213.527893 322.841079 -L 216.990385 323.940881 -L 219.048592 320.383388 -L 215.589495 319.420537 -L 213.527893 322.841079 +" style="fill:#799cf8;"/> + <path clip-path="url(#p553f52e075)" d="M 293.162363 321.984883 +L 296.693361 323.288707 +L 298.641008 321.774199 +L 295.13966 318.479279 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 303.566749 214.025582 -L 306.811978 234.401494 -L 308.660296 237.709717 -L 305.426439 217.947898 -L 303.566749 214.025582 -z -" style="fill:#d3dbe7;"/> - <path clip-path="url(#p19582ab83f)" d="M 300.405437 259.363436 -L 303.695755 277.348509 -L 305.656644 273.980425 -L 302.383933 255.633629 -L 300.405437 259.363436 + <path clip-path="url(#p553f52e075)" d="M 215.589495 319.420537 +L 219.048592 320.383388 +L 221.050768 312.103316 +L 217.589821 311.289067 z -" style="fill:#93b5fe;"/> - <path clip-path="url(#p19582ab83f)" d="M 212.658548 299.705453 +" style="fill:#4358cb;"/> + <path clip-path="url(#p553f52e075)" d="M 214.142019 310.957532 +L 217.589821 311.289067 +L 219.542346 298.79833 L 216.091377 298.907877 -L 218.003196 283.083734 -L 214.566488 284.590765 -L 212.658548 299.705453 z -" style="fill:#6687ed;"/> - <path clip-path="url(#p19582ab83f)" d="M 251.884838 190.43292 +" style="fill:#536edd;"/> + <path clip-path="url(#p553f52e075)" d="M 289.676845 317.068803 +L 293.162363 321.984883 +L 295.13966 318.479279 +L 291.682631 311.474829 +z +" style="fill:#4055c8;"/> + <path clip-path="url(#p553f52e075)" d="M 167.736564 260.036213 +L 171.442536 271.363567 +L 173.926923 282.550764 +L 170.27153 272.203065 +z +" style="fill:#88abfd;"/> + <path clip-path="url(#p553f52e075)" d="M 251.884838 190.43292 L 255.385946 211.32973 L 257.405971 189.731254 L 253.904888 180.754804 -L 251.884838 190.43292 -z -" style="fill:#f3c8b2;"/> - <path clip-path="url(#p19582ab83f)" d="M 297.653861 169.720357 -L 301.002613 185.187118 -L 302.763721 196.144649 -L 299.438233 180.886659 -L 297.653861 169.720357 -z -" style="fill:#f7b89c;"/> - <path clip-path="url(#p19582ab83f)" d="M 208.956499 190.214028 -L 212.169863 173.272278 -L 214.186924 165.687748 -L 210.959358 182.638472 -L 208.956499 190.214028 -z -" style="fill:#f7b89c;"/> - <path clip-path="url(#p19582ab83f)" d="M 210.959358 182.638472 -L 214.186924 165.687748 -L 216.22599 159.865199 -L 212.985048 176.741921 -L 210.959358 182.638472 -z -" style="fill:#f7ad90;"/> - <path clip-path="url(#p19582ab83f)" d="M 303.018873 231.87153 -L 306.267144 252.117043 -L 308.167338 252.322244 -L 304.931326 232.415774 -L 303.018873 231.87153 z -" style="fill:#bcd2f7;"/> - <path clip-path="url(#p19582ab83f)" d="M 204.454492 318.085221 -L 207.92441 319.938931 -L 210.070729 321.681699 -L 206.61776 320.404246 -L 204.454492 318.085221 +" style="fill:#f2c9b4;"/> + <path clip-path="url(#p553f52e075)" d="M 213.527893 322.841079 +L 216.990385 323.940881 +L 219.048592 320.383388 +L 215.589495 319.420537 z -" style="fill:#3e51c5;"/> - <path clip-path="url(#p19582ab83f)" d="M 261.056255 126.812652 +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 261.056255 126.812652 L 264.575952 124.611166 L 266.545607 134.561414 L 263.038285 137.462464 -L 261.056255 126.812652 z -" style="fill:#d55042;"/> - <path clip-path="url(#p19582ab83f)" d="M 157.728647 230.091285 -L 161.56647 245.169481 -L 164.099192 256.317753 -L 160.299447 241.625466 -L 157.728647 230.091285 +" style="fill:#d65244;"/> + <path clip-path="url(#p553f52e075)" d="M 203.369854 259.630723 +L 206.663082 250.983215 +L 208.514213 232.655715 +L 205.221991 242.692515 z -" style="fill:#bbd1f8;"/> - <path clip-path="url(#p19582ab83f)" d="M 292.657362 155.320954 -L 296.069219 167.150992 -L 297.835762 180.002888 -L 294.451912 167.993545 -L 292.657362 155.320954 +" style="fill:#b2ccfb;"/> + <path clip-path="url(#p553f52e075)" d="M 204.454492 318.085221 +L 207.92441 319.938931 +L 210.070729 321.681699 +L 206.61776 320.404246 z -" style="fill:#f59d7e;"/> - <path clip-path="url(#p19582ab83f)" d="M 252.029838 127.22366 +" style="fill:#3d50c3;"/> + <path clip-path="url(#p553f52e075)" d="M 252.029838 127.22366 L 255.53145 122.651042 L 257.548404 130.673306 L 254.0577 136.447005 -L 252.029838 127.22366 z " style="fill:#d44e41;"/> - <path clip-path="url(#p19582ab83f)" d="M 219.048592 320.383388 + <path clip-path="url(#p553f52e075)" d="M 206.280506 278.665682 +L 209.641842 273.8533 +L 211.500573 255.452705 +L 208.140345 261.580099 +z +" style="fill:#90b2fe;"/> + <path clip-path="url(#p553f52e075)" d="M 176.239112 278.536764 +L 179.856905 286.956597 +L 182.276124 297.208103 +L 178.708271 289.960929 +z +" style="fill:#6e90f2;"/> + <path clip-path="url(#p553f52e075)" d="M 212.985048 176.741921 +L 216.22599 159.865199 +L 218.283194 155.762137 +L 215.030698 172.55423 +z +" style="fill:#f5a081;"/> + <path clip-path="url(#p553f52e075)" d="M 298.406565 264.327378 +L 301.716537 281.689828 +L 303.695755 277.348509 +L 300.405437 259.363436 +z +" style="fill:#8badfd;"/> + <path clip-path="url(#p553f52e075)" d="M 206.978546 199.388895 +L 210.178235 182.619583 +L 212.169863 173.272278 +L 208.956499 190.214028 +z +" style="fill:#f5c0a7;"/> + <path clip-path="url(#p553f52e075)" d="M 204.811602 268.323783 +L 208.140345 261.580099 +L 209.990798 242.862873 +L 206.663082 250.983215 +z +" style="fill:#a3c2fe;"/> + <path clip-path="url(#p553f52e075)" d="M 219.048592 320.383388 L 222.516563 321.571819 L 224.523551 313.426543 L 221.050768 312.103316 -L 219.048592 320.383388 -z -" style="fill:#4257c9;"/> - <path clip-path="url(#p19582ab83f)" d="M 217.589821 311.289067 -L 221.050768 312.103316 -L 223.010065 299.458602 -L 219.542346 298.79833 -L 217.589821 311.289067 z -" style="fill:#516ddb;"/> - <path clip-path="url(#p19582ab83f)" d="M 167.736564 260.036213 -L 171.442536 271.363567 -L 173.926923 282.550764 -L 170.27153 272.203065 -L 167.736564 260.036213 +" style="fill:#4358cb;"/> + <path clip-path="url(#p553f52e075)" d="M 212.658548 299.705453 +L 216.091377 298.907877 +L 218.003196 283.083734 +L 214.566488 284.590765 z -" style="fill:#8db0fe;"/> - <path clip-path="url(#p19582ab83f)" d="M 287.679271 321.726574 +" style="fill:#688aef;"/> + <path clip-path="url(#p553f52e075)" d="M 287.679271 321.726574 L 291.193074 324.439607 L 293.162363 321.984883 L 289.676845 317.068803 -L 287.679271 321.726574 z " style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 302.202879 321.120399 -L 305.839507 316.472611 -L 307.736484 317.366771 -L 304.127343 320.475613 -L 302.202879 321.120399 + <path clip-path="url(#p553f52e075)" d="M 302.159568 198.052667 +L 305.426439 217.947898 +L 307.251278 223.248609 +L 303.99874 203.914562 z -" style="fill:#3f53c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 296.693361 323.288707 +" style="fill:#e3d9d3;"/> + <path clip-path="url(#p553f52e075)" d="M 299.200634 175.719061 +L 302.52398 192.896375 +L 304.304913 202.06521 +L 301.002613 185.187118 +z +" style="fill:#f5c2aa;"/> + <path clip-path="url(#p553f52e075)" d="M 296.693361 323.288707 L 300.284609 320.810172 L 302.202879 321.120399 L 298.641008 321.774199 -L 296.693361 323.288707 z " style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 298.406565 264.327378 -L 301.716537 281.689828 -L 303.695755 277.348509 -L 300.405437 259.363436 -L 298.406565 264.327378 + <path clip-path="url(#p553f52e075)" d="M 302.202879 321.120399 +L 305.839507 316.472611 +L 307.736484 317.366771 +L 304.127343 320.475613 +z +" style="fill:#3f53c6;"/> + <path clip-path="url(#p553f52e075)" d="M 217.589821 311.289067 +L 221.050768 312.103316 +L 223.010065 299.458602 +L 219.542346 298.79833 +z +" style="fill:#5470de;"/> + <path clip-path="url(#p553f52e075)" d="M 255.385946 211.32973 +L 258.893416 192.354666 +L 260.923383 182.660661 +L 257.405971 189.731254 z -" style="fill:#8db0fe;"/> - <path clip-path="url(#p19582ab83f)" d="M 216.990385 323.940881 +" style="fill:#f2c9b4;"/> + <path clip-path="url(#p553f52e075)" d="M 216.990385 323.940881 L 220.458648 325.000875 L 222.516563 321.571819 L 219.048592 320.383388 -L 216.990385 323.940881 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 229.960495 141.461055 -L 233.357542 130.124712 -L 235.446801 133.32524 -L 232.056146 145.432402 -L 229.960495 141.461055 + <path clip-path="url(#p553f52e075)" d="M 296.391196 270.397828 +L 299.722605 286.871174 +L 301.716537 281.689828 +L 298.406565 264.327378 z -" style="fill:#df634e;"/> - <path clip-path="url(#p19582ab83f)" d="M 286.22121 308.879547 +" style="fill:#82a6fb;"/> + <path clip-path="url(#p553f52e075)" d="M 286.22121 308.879547 L 289.676845 317.068803 L 291.682631 311.474829 L 288.253022 301.17628 -L 286.22121 308.879547 z " style="fill:#4e68d8;"/> - <path clip-path="url(#p19582ab83f)" d="M 176.239112 278.536764 -L 179.856905 286.956597 -L 182.276124 297.208103 -L 178.708271 289.960929 -L 176.239112 278.536764 + <path clip-path="url(#p553f52e075)" d="M 210.959358 182.638472 +L 214.186924 165.687748 +L 216.22599 159.865199 +L 212.985048 176.741921 +z +" style="fill:#f7a889;"/> + <path clip-path="url(#p553f52e075)" d="M 208.956499 190.214028 +L 212.169863 173.272278 +L 214.186924 165.687748 +L 210.959358 182.638472 z -" style="fill:#7295f4;"/> - <path clip-path="url(#p19582ab83f)" d="M 288.253022 301.17628 +" style="fill:#f7b396;"/> + <path clip-path="url(#p553f52e075)" d="M 288.253022 301.17628 L 291.682631 311.474829 L 293.693858 305.31565 L 290.290046 293.105481 -L 288.253022 301.17628 z -" style="fill:#5977e3;"/> - <path clip-path="url(#p19582ab83f)" d="M 207.92441 319.938931 +" style="fill:#5875e1;"/> + <path clip-path="url(#p553f52e075)" d="M 207.92441 319.938931 L 211.394073 321.451924 L 213.527893 322.841079 L 210.070729 321.681699 -L 207.92441 319.938931 z " style="fill:#3d50c3;"/> - <path clip-path="url(#p19582ab83f)" d="M 204.369396 219.899117 -L 207.589859 205.533435 -L 209.509559 191.179042 -L 206.278702 206.18062 -L 204.369396 219.899117 + <path clip-path="url(#p553f52e075)" d="M 290.290046 293.105481 +L 293.693858 305.31565 +L 295.706992 298.9491 +L 292.328373 285.059295 z -" style="fill:#e6d7cf;"/> - <path clip-path="url(#p19582ab83f)" d="M 284.197765 315.798678 +" style="fill:#6384eb;"/> + <path clip-path="url(#p553f52e075)" d="M 284.197765 315.798678 L 287.679271 321.726574 L 289.676845 317.068803 L 286.22121 308.879547 -L 284.197765 315.798678 -z -" style="fill:#455cce;"/> - <path clip-path="url(#p19582ab83f)" d="M 291.193074 324.439607 -L 294.753441 323.674527 -L 296.693361 323.288707 -L 293.162363 321.984883 -L 291.193074 324.439607 -z -" style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 203.826161 237.098289 -L 207.080731 225.295146 -L 208.95787 208.204294 -L 205.697547 221.021846 -L 203.826161 237.098289 -z -" style="fill:#d2dbe8;"/> - <path clip-path="url(#p19582ab83f)" d="M 222.437302 152.552529 -L 225.774134 138.593134 -L 227.865821 139.225666 -L 224.527831 153.435173 -L 222.437302 152.552529 -z -" style="fill:#e9785d;"/> - <path clip-path="url(#p19582ab83f)" d="M 222.516563 321.571819 -L 225.992467 322.963238 -L 228.006291 315.234155 -L 224.523551 313.426543 -L 222.516563 321.571819 -z -" style="fill:#4055c8;"/> - <path clip-path="url(#p19582ab83f)" d="M 211.153198 286.926067 -L 214.566488 284.590765 -L 216.44839 266.440927 -L 213.030818 269.695979 -L 211.153198 286.926067 -z -" style="fill:#7ea1fa;"/> - <path clip-path="url(#p19582ab83f)" d="M 290.290046 293.105481 -L 293.693858 305.31565 -L 295.706992 298.9491 -L 292.328373 285.059295 -L 290.290046 293.105481 z -" style="fill:#6485ec;"/> - <path clip-path="url(#p19582ab83f)" d="M 296.391196 270.397828 +" style="fill:#445acc;"/> + <path clip-path="url(#p553f52e075)" d="M 294.363618 277.389753 +L 297.718 292.704556 L 299.722605 286.871174 -L 301.716537 281.689828 -L 298.406565 264.327378 L 296.391196 270.397828 z -" style="fill:#85a8fc;"/> - <path clip-path="url(#p19582ab83f)" d="M 292.328373 285.059295 +" style="fill:#799cf8;"/> + <path clip-path="url(#p553f52e075)" d="M 229.960495 141.461055 +L 233.357542 130.124712 +L 235.446801 133.32524 +L 232.056146 145.432402 +z +" style="fill:#de614d;"/> + <path clip-path="url(#p553f52e075)" d="M 292.328373 285.059295 L 295.706992 298.9491 L 297.718 292.704556 L 294.363618 277.389753 -L 292.328373 285.059295 -z -" style="fill:#7093f3;"/> - <path clip-path="url(#p19582ab83f)" d="M 221.050768 312.103316 -L 224.523551 313.426543 -L 226.492282 300.917012 -L 223.010065 299.458602 -L 221.050768 312.103316 z -" style="fill:#516ddb;"/> - <path clip-path="url(#p19582ab83f)" d="M 302.159568 198.052667 -L 305.426439 217.947898 -L 307.251278 223.248609 +" style="fill:#6e90f2;"/> + <path clip-path="url(#p553f52e075)" d="M 300.703994 185.181895 L 303.99874 203.914562 -L 302.159568 198.052667 +L 305.800898 211.191949 +L 302.52398 192.896375 z -" style="fill:#e7d7ce;"/> - <path clip-path="url(#p19582ab83f)" d="M 294.363618 277.389753 -L 297.718 292.704556 -L 299.722605 286.871174 -L 296.391196 270.397828 -L 294.363618 277.389753 +" style="fill:#f0cdbb;"/> + <path clip-path="url(#p553f52e075)" d="M 291.193074 324.439607 +L 294.753441 323.674527 +L 296.693361 323.288707 +L 293.162363 321.984883 +z +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 152.536228 209.230303 +L 156.440966 225.760834 +L 158.990079 236.499729 +L 155.108582 219.845141 +z +" style="fill:#d6dce4;"/> + <path clip-path="url(#p553f52e075)" d="M 222.516563 321.571819 +L 225.992467 322.963238 +L 228.006291 315.234155 +L 224.523551 313.426543 z -" style="fill:#7b9ff9;"/> - <path clip-path="url(#p19582ab83f)" d="M 216.091377 298.907877 -L 219.542346 298.79833 -L 221.462129 282.542773 -L 218.003196 283.083734 -L 216.091377 298.907877 +" style="fill:#4257c9;"/> + <path clip-path="url(#p553f52e075)" d="M 222.437302 152.552529 +L 225.774134 138.593134 +L 227.865821 139.225666 +L 224.527831 153.435173 z -" style="fill:#6a8bef;"/> - <path clip-path="url(#p19582ab83f)" d="M 299.200634 175.719061 -L 302.52398 192.896375 -L 304.304913 202.06521 -L 301.002613 185.187118 -L 299.200634 175.719061 +" style="fill:#e7745b;"/> + <path clip-path="url(#p553f52e075)" d="M 249.841127 184.060245 +L 253.35956 193.05982 +L 255.385946 211.32973 +L 251.884838 190.43292 z -" style="fill:#f6bea4;"/> - <path clip-path="url(#p19582ab83f)" d="M 282.184834 321.51214 +" style="fill:#f2c9b4;"/> + <path clip-path="url(#p553f52e075)" d="M 282.184834 321.51214 L 285.691696 325.08217 L 287.679271 321.726574 L 284.197765 315.798678 -L 282.184834 321.51214 z " style="fill:#3e51c5;"/> - <path clip-path="url(#p19582ab83f)" d="M 220.458648 325.000875 -L 223.932635 326.001117 -L 225.992467 322.963238 -L 222.516563 321.571819 -L 220.458648 325.000875 + <path clip-path="url(#p553f52e075)" d="M 301.076156 232.838425 +L 304.338723 253.211069 +L 306.267144 252.117043 +L 303.018873 231.87153 z -" style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 246.497788 126.588733 +" style="fill:#bad0f8;"/> + <path clip-path="url(#p553f52e075)" d="M 246.497788 126.588733 L 249.987635 121.210022 L 252.029838 127.22366 L 248.550807 134.076129 -L 246.497788 126.588733 z " style="fill:#cf453c;"/> - <path clip-path="url(#p19582ab83f)" d="M 285.691696 325.08217 -L 289.233141 325.535176 -L 291.193074 324.439607 -L 287.679271 321.726574 -L 285.691696 325.08217 + <path clip-path="url(#p553f52e075)" d="M 289.206947 145.5878 +L 292.657362 155.320954 +L 294.451912 167.993545 +L 291.031295 157.762974 +z +" style="fill:#f08a6c;"/> + <path clip-path="url(#p553f52e075)" d="M 221.050768 312.103316 +L 224.523551 313.426543 +L 226.492282 300.917012 +L 223.010065 299.458602 +z +" style="fill:#5470de;"/> + <path clip-path="url(#p553f52e075)" d="M 220.458648 325.000875 +L 223.932635 326.001117 +L 225.992467 322.963238 +L 222.516563 321.571819 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 211.394073 321.451924 + <path clip-path="url(#p553f52e075)" d="M 264.575952 124.611166 +L 268.103327 123.793505 +L 270.060251 133.25753 +L 266.545607 134.561414 +z +" style="fill:#d1493f;"/> + <path clip-path="url(#p553f52e075)" d="M 172.580176 268.90969 +L 176.239112 278.536764 +L 178.708271 289.960929 +L 175.098726 281.353734 +z +" style="fill:#7ea1fa;"/> + <path clip-path="url(#p553f52e075)" d="M 211.394073 321.451924 L 214.865247 322.671926 L 216.990385 323.940881 L 213.527893 322.841079 -L 211.394073 321.451924 z -" style="fill:#3d50c3;"/> - <path clip-path="url(#p19582ab83f)" d="M 225.992467 322.963238 +" style="fill:#3c4ec2;"/> + <path clip-path="url(#p553f52e075)" d="M 285.691696 325.08217 +L 289.233141 325.535176 +L 291.193074 324.439607 +L 287.679271 321.726574 +z +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 211.153198 286.926067 +L 214.566488 284.590765 +L 216.44839 266.440927 +L 213.030818 269.695979 +z +" style="fill:#82a6fb;"/> + <path clip-path="url(#p553f52e075)" d="M 204.369396 219.899117 +L 207.589859 205.533435 +L 209.509559 191.179042 +L 206.278702 206.18062 +z +" style="fill:#ead4c8;"/> + <path clip-path="url(#p553f52e075)" d="M 158.973015 232.824376 +L 162.792906 247.131255 +L 165.34801 259.090813 +L 161.56647 245.169481 +z +" style="fill:#b6cefa;"/> + <path clip-path="url(#p553f52e075)" d="M 203.826161 237.098289 +L 207.080731 225.295146 +L 208.95787 208.204294 +L 205.697547 221.021846 +z +" style="fill:#d6dce4;"/> + <path clip-path="url(#p553f52e075)" d="M 216.091377 298.907877 +L 219.542346 298.79833 +L 221.462129 282.542773 +L 218.003196 283.083734 +z +" style="fill:#6c8ff1;"/> + <path clip-path="url(#p553f52e075)" d="M 225.992467 322.963238 L 229.47509 324.489832 L 231.496824 317.451186 L 228.006291 315.234155 -L 225.992467 322.963238 z -" style="fill:#3f53c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 300.703994 185.181895 -L 303.99874 203.914562 -L 305.800898 211.191949 -L 302.52398 192.896375 -L 300.703994 185.181895 +" style="fill:#4055c8;"/> + <path clip-path="url(#p553f52e075)" d="M 163.980129 247.495962 +L 167.736564 260.036213 +L 170.27153 272.203065 +L 166.560238 260.343256 z -" style="fill:#f2cab5;"/> - <path clip-path="url(#p19582ab83f)" d="M 264.575952 124.611166 -L 268.103327 123.793505 -L 270.060251 133.25753 -L 266.545607 134.561414 -L 264.575952 124.611166 +" style="fill:#9fbfff;"/> + <path clip-path="url(#p553f52e075)" d="M 301.672528 211.625378 +L 304.931326 232.415774 +L 306.811978 234.401494 +L 303.566749 214.025582 z -" style="fill:#d0473d;"/> - <path clip-path="url(#p19582ab83f)" d="M 235.446801 133.32524 +" style="fill:#d6dce4;"/> + <path clip-path="url(#p553f52e075)" d="M 235.446801 133.32524 L 238.888062 124.631519 L 240.965324 128.545806 L 237.533955 138.440296 -L 235.446801 133.32524 -z -" style="fill:#d55042;"/> - <path clip-path="url(#p19582ab83f)" d="M 224.523551 313.426543 -L 228.006291 315.234155 -L 229.986172 303.147917 -L 226.492282 300.917012 -L 224.523551 313.426543 -z -" style="fill:#506bda;"/> - <path clip-path="url(#p19582ab83f)" d="M 152.536228 209.230303 -L 156.440966 225.760834 -L 158.990079 236.499729 -L 155.108582 219.845141 -L 152.536228 209.230303 -z -" style="fill:#dadce0;"/> - <path clip-path="url(#p19582ab83f)" d="M 249.841127 184.060245 -L 253.35956 193.05982 -L 255.385946 211.32973 -L 251.884838 190.43292 -L 249.841127 184.060245 z -" style="fill:#f4c6af;"/> - <path clip-path="url(#p19582ab83f)" d="M 301.076156 232.838425 -L 304.338723 253.211069 -L 306.267144 252.117043 -L 303.018873 231.87153 -L 301.076156 232.838425 +" style="fill:#d44e41;"/> + <path clip-path="url(#p553f52e075)" d="M 278.699534 315.150377 +L 282.184834 321.51214 +L 284.197765 315.798678 +L 280.734397 307.060143 z -" style="fill:#bfd3f6;"/> - <path clip-path="url(#p19582ab83f)" d="M 240.965324 128.545806 +" style="fill:#485fd1;"/> + <path clip-path="url(#p553f52e075)" d="M 240.965324 128.545806 L 244.436333 121.869197 L 246.497788 126.588733 L 243.03784 134.739159 -L 240.965324 128.545806 z " style="fill:#cf453c;"/> - <path clip-path="url(#p19582ab83f)" d="M 278.699534 315.150377 -L 282.184834 321.51214 -L 284.197765 315.798678 -L 280.734397 307.060143 -L 278.699534 315.150377 -z -" style="fill:#4961d2;"/> - <path clip-path="url(#p19582ab83f)" d="M 209.641842 273.8533 -L 213.030818 269.695979 -L 214.894201 250.244376 -L 211.500573 255.452705 -L 209.641842 273.8533 -z -" style="fill:#98b9ff;"/> - <path clip-path="url(#p19582ab83f)" d="M 289.206947 145.5878 -L 292.657362 155.320954 -L 294.451912 167.993545 -L 291.031295 157.762974 -L 289.206947 145.5878 + <path clip-path="url(#p553f52e075)" d="M 224.523551 313.426543 +L 228.006291 315.234155 +L 229.986172 303.147917 +L 226.492282 300.917012 z -" style="fill:#ee8468;"/> - <path clip-path="url(#p19582ab83f)" d="M 172.580176 268.90969 -L 176.239112 278.536764 -L 178.708271 289.960929 -L 175.098726 281.353734 -L 172.580176 268.90969 +" style="fill:#536edd;"/> + <path clip-path="url(#p553f52e075)" d="M 253.35956 193.05982 +L 256.874386 185.978155 +L 258.893416 192.354666 +L 255.385946 211.32973 z -" style="fill:#84a7fc;"/> - <path clip-path="url(#p19582ab83f)" d="M 276.67677 321.705931 +" style="fill:#f2c9b4;"/> + <path clip-path="url(#p553f52e075)" d="M 276.67677 321.705931 L 280.18335 325.61571 L 282.184834 321.51214 L 278.699534 315.150377 -L 276.67677 321.705931 z " style="fill:#3f53c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 280.18335 325.61571 -L 283.714741 326.79483 -L 285.691696 325.08217 -L 282.184834 321.51214 -L 280.18335 325.61571 -z -" style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 229.47509 324.489832 -L 232.963205 326.040881 -L 234.992999 319.954144 -L 231.496824 317.451186 -L 229.47509 324.489832 -z -" style="fill:#3e51c5;"/> - <path clip-path="url(#p19582ab83f)" d="M 280.734397 307.060143 + <path clip-path="url(#p553f52e075)" d="M 280.734397 307.060143 L 284.197765 315.798678 L 286.22121 308.879547 L 282.780181 297.902091 -L 280.734397 307.060143 z " style="fill:#5470de;"/> - <path clip-path="url(#p19582ab83f)" d="M 223.932635 326.001117 + <path clip-path="url(#p553f52e075)" d="M 294.256721 156.226253 +L 297.653861 169.720357 +L 299.438233 180.886659 +L 296.069219 167.150992 +z +" style="fill:#f5a081;"/> + <path clip-path="url(#p553f52e075)" d="M 280.18335 325.61571 +L 283.714741 326.79483 +L 285.691696 325.08217 +L 282.184834 321.51214 +z +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 223.932635 326.001117 L 227.412043 326.882717 L 229.47509 324.489832 L 225.992467 322.963238 -L 223.932635 326.001117 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 253.35956 193.05982 -L 256.874386 185.978155 -L 258.893416 192.354666 -L 255.385946 211.32973 -L 253.35956 193.05982 -z -" style="fill:#f3c8b2;"/> - <path clip-path="url(#p19582ab83f)" d="M 228.006291 315.234155 -L 231.496824 317.451186 -L 233.488634 306.071883 -L 229.986172 303.147917 -L 228.006291 315.234155 -z -" style="fill:#4e68d8;"/> - <path clip-path="url(#p19582ab83f)" d="M 205.221991 242.692515 -L 208.514213 232.655715 -L 210.37895 214.20979 -L 207.080731 225.295146 -L 205.221991 242.692515 -z -" style="fill:#ccd9ed;"/> - <path clip-path="url(#p19582ab83f)" d="M 219.542346 298.79833 -L 223.010065 299.458602 -L 224.940952 283.051257 -L 221.462129 282.542773 -L 219.542346 298.79833 -z -" style="fill:#6b8df0;"/> - <path clip-path="url(#p19582ab83f)" d="M 158.973015 232.824376 -L 162.792906 247.131255 -L 165.34801 259.090813 -L 161.56647 245.169481 -L 158.973015 232.824376 + <path clip-path="url(#p553f52e075)" d="M 255.53145 122.651042 +L 259.048847 120.037245 +L 261.056255 126.812652 +L 257.548404 130.673306 z -" style="fill:#bbd1f8;"/> - <path clip-path="url(#p19582ab83f)" d="M 214.865247 322.671926 +" style="fill:#ca3b37;"/> + <path clip-path="url(#p553f52e075)" d="M 214.865247 322.671926 L 218.339115 323.614854 L 220.458648 325.000875 L 216.990385 323.940881 -L 214.865247 322.671926 z -" style="fill:#3d50c3;"/> - <path clip-path="url(#p19582ab83f)" d="M 255.53145 122.651042 -L 259.048847 120.037245 -L 261.056255 126.812652 -L 257.548404 130.673306 -L 255.53145 122.651042 +" style="fill:#3c4ec2;"/> + <path clip-path="url(#p553f52e075)" d="M 229.47509 324.489832 +L 232.963205 326.040881 +L 234.992999 319.954144 +L 231.496824 317.451186 z -" style="fill:#ca3b37;"/> - <path clip-path="url(#p19582ab83f)" d="M 294.753441 323.674527 +" style="fill:#3e51c5;"/> + <path clip-path="url(#p553f52e075)" d="M 294.753441 323.674527 L 298.373665 319.330342 L 300.284609 320.810172 L 296.693361 323.288707 +z +" style="fill:#3f53c6;"/> + <path clip-path="url(#p553f52e075)" d="M 228.006291 315.234155 +L 231.496824 317.451186 +L 233.488634 306.071883 +L 229.986172 303.147917 +z +" style="fill:#506bda;"/> + <path clip-path="url(#p553f52e075)" d="M 153.844316 214.28131 +L 157.728647 230.091285 +L 160.299447 241.625466 +L 156.440966 225.760834 +z +" style="fill:#d2dbe8;"/> + <path clip-path="url(#p553f52e075)" d="M 282.780181 297.902091 +L 286.22121 308.879547 +L 288.253022 301.17628 +L 284.834452 288.150549 +z +" style="fill:#6180e9;"/> + <path clip-path="url(#p553f52e075)" d="M 268.103327 123.793505 +L 271.635043 124.149244 +L 273.577781 133.441508 +L 270.060251 133.25753 +z +" style="fill:#cf453c;"/> + <path clip-path="url(#p553f52e075)" d="M 209.641842 273.8533 +L 213.030818 269.695979 +L 214.894201 250.244376 +L 211.500573 255.452705 +z +" style="fill:#9ebeff;"/> + <path clip-path="url(#p553f52e075)" d="M 289.233141 325.535176 +L 292.822082 322.68247 L 294.753441 323.674527 +L 291.193074 324.439607 z -" style="fill:#3f53c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 253.904888 180.754804 +" style="fill:#3d50c3;"/> + <path clip-path="url(#p553f52e075)" d="M 253.904888 180.754804 L 257.405971 189.731254 L 259.443035 169.193444 L 255.929689 164.080017 -L 253.904888 180.754804 -z -" style="fill:#f7ad90;"/> - <path clip-path="url(#p19582ab83f)" d="M 301.672528 211.625378 -L 304.931326 232.415774 -L 306.811978 234.401494 -L 303.566749 214.025582 -L 301.672528 211.625378 -z -" style="fill:#dadce0;"/> - <path clip-path="url(#p19582ab83f)" d="M 163.980129 247.495962 -L 167.736564 260.036213 -L 170.27153 272.203065 -L 166.560238 260.343256 -L 163.980129 247.495962 z -" style="fill:#a5c3fe;"/> - <path clip-path="url(#p19582ab83f)" d="M 300.284609 320.810172 +" style="fill:#f7ac8e;"/> + <path clip-path="url(#p553f52e075)" d="M 300.284609 320.810172 L 303.948836 314.564864 L 305.839507 316.472611 L 302.202879 321.120399 -L 300.284609 320.810172 -z -" style="fill:#445acc;"/> - <path clip-path="url(#p19582ab83f)" d="M 289.233141 325.535176 -L 292.822082 322.68247 -L 294.753441 323.674527 -L 291.193074 324.439607 -L 289.233141 325.535176 -z -" style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 231.496824 317.451186 -L 234.992999 319.954144 -L 236.996599 309.556685 -L 233.488634 306.071883 -L 231.496824 317.451186 -z -" style="fill:#4b64d5;"/> - <path clip-path="url(#p19582ab83f)" d="M 206.278702 206.18062 -L 209.509559 191.179042 -L 211.459887 178.370083 -L 208.214349 193.651187 -L 206.278702 206.18062 -z -" style="fill:#f3c8b2;"/> - <path clip-path="url(#p19582ab83f)" d="M 282.780181 297.902091 -L 286.22121 308.879547 -L 288.253022 301.17628 -L 284.834452 288.150549 -L 282.780181 297.902091 z -" style="fill:#6282ea;"/> - <path clip-path="url(#p19582ab83f)" d="M 208.140345 261.580099 -L 211.500573 255.452705 -L 213.356163 235.634128 -L 209.990798 242.862873 -L 208.140345 261.580099 +" style="fill:#455cce;"/> + <path clip-path="url(#p553f52e075)" d="M 299.1055 235.342211 +L 302.383933 255.633629 +L 304.338723 253.211069 +L 301.076156 232.838425 z -" style="fill:#afcafc;"/> - <path clip-path="url(#p19582ab83f)" d="M 220.354761 153.332082 -L 223.687378 139.455972 -L 225.774134 138.593134 -L 222.437302 152.552529 -L 220.354761 153.332082 +" style="fill:#bad0f8;"/> + <path clip-path="url(#p553f52e075)" d="M 285.724797 137.952029 +L 289.206947 145.5878 +L 291.031295 157.762974 +L 287.578673 149.417189 z " style="fill:#e7745b;"/> - <path clip-path="url(#p19582ab83f)" d="M 232.963205 326.040881 -L 236.455843 327.46685 -L 238.492961 322.574449 -L 234.992999 319.954144 -L 232.963205 326.040881 -z -" style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 214.566488 284.590765 -L 218.003196 283.083734 -L 219.893789 264.278004 -L 216.44839 266.440927 -L 214.566488 284.590765 + <path clip-path="url(#p553f52e075)" d="M 219.542346 298.79833 +L 223.010065 299.458602 +L 224.940952 283.051257 +L 221.462129 282.542773 z -" style="fill:#86a9fc;"/> - <path clip-path="url(#p19582ab83f)" d="M 271.156259 322.496953 +" style="fill:#6e90f2;"/> + <path clip-path="url(#p553f52e075)" d="M 271.156259 322.496953 L 274.665869 326.29396 L 276.67677 321.705931 L 273.183688 315.424716 -L 271.156259 322.496953 z " style="fill:#4055c8;"/> - <path clip-path="url(#p19582ab83f)" d="M 273.183688 315.424716 + <path clip-path="url(#p553f52e075)" d="M 273.183688 315.424716 L 276.67677 321.705931 L 278.699534 315.150377 L 275.223588 306.434457 -L 273.183688 315.424716 z " style="fill:#4a63d3;"/> - <path clip-path="url(#p19582ab83f)" d="M 274.665869 326.29396 + <path clip-path="url(#p553f52e075)" d="M 232.963205 326.040881 +L 236.455843 327.46685 +L 238.492961 322.574449 +L 234.992999 319.954144 +z +" style="fill:#3d50c3;"/> + <path clip-path="url(#p553f52e075)" d="M 274.665869 326.29396 L 278.192906 327.746049 L 280.18335 325.61571 L 276.67677 321.705931 -L 274.665869 326.29396 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 257.405971 189.731254 -L 260.923383 182.660661 -L 262.97313 165.961228 -L 259.443035 169.193444 -L 257.405971 189.731254 -z -" style="fill:#f7b194;"/> - <path clip-path="url(#p19582ab83f)" d="M 206.663082 250.983215 -L 209.990798 242.862873 -L 211.847602 223.445969 -L 208.514213 232.655715 -L 206.663082 250.983215 -z -" style="fill:#c0d4f5;"/> - <path clip-path="url(#p19582ab83f)" d="M 294.256721 156.226253 -L 297.653861 169.720357 -L 299.438233 180.886659 -L 296.069219 167.150992 -L 294.256721 156.226253 -z -" style="fill:#f49a7b;"/> - <path clip-path="url(#p19582ab83f)" d="M 234.992999 319.954144 -L 238.492961 322.574449 -L 240.507334 313.419567 -L 236.996599 309.556685 + <path clip-path="url(#p553f52e075)" d="M 231.496824 317.451186 L 234.992999 319.954144 +L 236.996599 309.556685 +L 233.488634 306.071883 z -" style="fill:#485fd1;"/> - <path clip-path="url(#p19582ab83f)" d="M 268.103327 123.793505 -L 271.635043 124.149244 -L 273.577781 133.441508 -L 270.060251 133.25753 -L 268.103327 123.793505 -z -" style="fill:#cd423b;"/> - <path clip-path="url(#p19582ab83f)" d="M 227.412043 326.882717 +" style="fill:#4c66d6;"/> + <path clip-path="url(#p553f52e075)" d="M 227.412043 326.882717 L 230.896544 327.550384 L 232.963205 326.040881 L 229.47509 324.489832 -L 227.412043 326.882717 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 283.714741 326.79483 + <path clip-path="url(#p553f52e075)" d="M 205.221991 242.692515 +L 208.514213 232.655715 +L 210.37895 214.20979 +L 207.080731 225.295146 +z +" style="fill:#d1dae9;"/> + <path clip-path="url(#p553f52e075)" d="M 283.714741 326.79483 L 287.282802 324.994841 L 289.233141 325.535176 L 285.691696 325.08217 -L 283.714741 326.79483 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 238.492961 322.574449 -L 241.995435 325.103793 -L 244.018745 317.431368 -L 240.507334 313.419567 + <path clip-path="url(#p553f52e075)" d="M 234.992999 319.954144 L 238.492961 322.574449 +L 240.507334 313.419567 +L 236.996599 309.556685 z -" style="fill:#4358cb;"/> - <path clip-path="url(#p19582ab83f)" d="M 223.010065 299.458602 -L 226.492282 300.917012 -L 228.436483 284.638207 -L 224.940952 283.051257 -L 223.010065 299.458602 +" style="fill:#485fd1;"/> + <path clip-path="url(#p553f52e075)" d="M 220.354761 153.332082 +L 223.687378 139.455972 +L 225.774134 138.593134 +L 222.437302 152.552529 +z +" style="fill:#e46e56;"/> + <path clip-path="url(#p553f52e075)" d="M 168.877197 258.110341 +L 172.580176 268.90969 +L 175.098726 281.353734 +L 171.442536 271.363567 z -" style="fill:#6b8df0;"/> - <path clip-path="url(#p19582ab83f)" d="M 218.339115 323.614854 +" style="fill:#92b4fe;"/> + <path clip-path="url(#p553f52e075)" d="M 218.339115 323.614854 L 221.816441 324.263823 L 223.932635 326.001117 L 220.458648 325.000875 -L 218.339115 323.614854 z " style="fill:#3d50c3;"/> - <path clip-path="url(#p19582ab83f)" d="M 299.1055 235.342211 -L 302.383933 255.633629 -L 304.338723 253.211069 -L 301.076156 232.838425 -L 299.1055 235.342211 -z -" style="fill:#bed2f6;"/> - <path clip-path="url(#p19582ab83f)" d="M 227.865821 139.225666 -L 231.267858 128.586829 -L 233.357542 130.124712 -L 229.960495 141.461055 -L 227.865821 139.225666 -z -" style="fill:#d85646;"/> - <path clip-path="url(#p19582ab83f)" d="M 265.62644 323.885946 -L 269.139615 327.204018 -L 271.156259 322.496953 -L 267.654671 316.724629 -L 265.62644 323.885946 -z -" style="fill:#3f53c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 284.834452 288.150549 + <path clip-path="url(#p553f52e075)" d="M 284.834452 288.150549 L 288.253022 301.17628 L 290.290046 293.105481 L 286.893752 278.262546 -L 284.834452 288.150549 z -" style="fill:#7295f4;"/> - <path clip-path="url(#p19582ab83f)" d="M 275.223588 306.434457 +" style="fill:#7093f3;"/> + <path clip-path="url(#p553f52e075)" d="M 238.492961 322.574449 +L 241.995435 325.103793 +L 244.018745 317.431368 +L 240.507334 313.419567 +z +" style="fill:#445acc;"/> + <path clip-path="url(#p553f52e075)" d="M 248.349487 170.576237 +L 251.884838 190.43292 +L 253.904888 180.754804 +L 250.382264 164.767792 +z +" style="fill:#f7ac8e;"/> + <path clip-path="url(#p553f52e075)" d="M 214.566488 284.590765 +L 218.003196 283.083734 +L 219.893789 264.278004 +L 216.44839 266.440927 +z +" style="fill:#8badfd;"/> + <path clip-path="url(#p553f52e075)" d="M 275.223588 306.434457 L 278.699534 315.150377 L 280.734397 307.060143 L 277.27609 296.029226 -L 275.223588 306.434457 z " style="fill:#5875e1;"/> - <path clip-path="url(#p19582ab83f)" d="M 285.724797 137.952029 -L 289.206947 145.5878 -L 291.031295 157.762974 -L 287.578673 149.417189 -L 285.724797 137.952029 + <path clip-path="url(#p553f52e075)" d="M 265.62644 323.885946 +L 269.139615 327.204018 +L 271.156259 322.496953 +L 267.654671 316.724629 z -" style="fill:#e46e56;"/> - <path clip-path="url(#p19582ab83f)" d="M 236.455843 327.46685 +" style="fill:#3f53c6;"/> + <path clip-path="url(#p553f52e075)" d="M 208.140345 261.580099 +L 211.500573 255.452705 +L 213.356163 235.634128 +L 209.990798 242.862873 +z +" style="fill:#b5cdfa;"/> + <path clip-path="url(#p553f52e075)" d="M 206.278702 206.18062 +L 209.509559 191.179042 +L 211.459887 178.370083 +L 208.214349 193.651187 +z +" style="fill:#f5c2aa;"/> + <path clip-path="url(#p553f52e075)" d="M 236.455843 327.46685 L 239.952541 328.585372 L 241.995435 325.103793 L 238.492961 322.574449 -L 236.455843 327.46685 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 267.654671 316.724629 + <path clip-path="url(#p553f52e075)" d="M 267.654671 316.724629 L 271.156259 322.496953 L 273.183688 315.424716 L 269.694065 307.216457 -L 267.654671 316.724629 z " style="fill:#4a63d3;"/> - <path clip-path="url(#p19582ab83f)" d="M 153.844316 214.28131 -L 157.728647 230.091285 -L 160.299447 241.625466 -L 156.440966 225.760834 -L 153.844316 214.28131 + <path clip-path="url(#p553f52e075)" d="M 269.139615 327.204018 +L 272.665131 328.542282 +L 274.665869 326.29396 +L 271.156259 322.496953 z -" style="fill:#d6dce4;"/> - <path clip-path="url(#p19582ab83f)" d="M 241.995435 325.103793 +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 271.635043 124.149244 +L 275.167844 125.60094 +L 277.093749 135.073296 +L 273.577781 133.441508 +z +" style="fill:#cf453c;"/> + <path clip-path="url(#p553f52e075)" d="M 227.865821 139.225666 +L 231.267858 128.586829 +L 233.357542 130.124712 +L 229.960495 141.461055 +z +" style="fill:#d65244;"/> + <path clip-path="url(#p553f52e075)" d="M 241.995435 325.103793 L 245.499976 327.301697 L 247.529657 321.323067 L 244.018745 317.431368 -L 241.995435 325.103793 z " style="fill:#3f53c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 269.139615 327.204018 -L 272.665131 328.542282 -L 274.665869 326.29396 -L 271.156259 322.496953 -L 269.139615 327.204018 + <path clip-path="url(#p553f52e075)" d="M 257.405971 189.731254 +L 260.923383 182.660661 +L 262.97313 165.961228 +L 259.443035 169.193444 z -" style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 205.697547 221.021846 -L 208.95787 208.204294 -L 210.862104 192.106068 -L 207.589859 205.533435 -L 205.697547 221.021846 +" style="fill:#f7ac8e;"/> + <path clip-path="url(#p553f52e075)" d="M 206.663082 250.983215 +L 209.990798 242.862873 +L 211.847602 223.445969 +L 208.514213 232.655715 z -" style="fill:#e9d5cb;"/> - <path clip-path="url(#p19582ab83f)" d="M 278.192906 327.746049 +" style="fill:#c6d6f1;"/> + <path clip-path="url(#p553f52e075)" d="M 278.192906 327.746049 L 281.747756 326.570145 L 283.714741 326.79483 L 280.18335 325.61571 -L 278.192906 327.746049 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 260.090754 325.684992 + <path clip-path="url(#p553f52e075)" d="M 223.010065 299.458602 +L 226.492282 300.917012 +L 228.436483 284.638207 +L 224.940952 283.051257 +z +" style="fill:#6e90f2;"/> + <path clip-path="url(#p553f52e075)" d="M 282.219008 132.253471 +L 285.724797 137.952029 +L 287.578673 149.417189 +L 284.100358 142.932609 +z +" style="fill:#de614d;"/> + <path clip-path="url(#p553f52e075)" d="M 300.283556 193.769375 +L 303.566749 214.025582 +L 305.426439 217.947898 +L 302.159568 198.052667 +z +" style="fill:#edd2c3;"/> + <path clip-path="url(#p553f52e075)" d="M 260.090754 325.684992 L 263.606028 328.259217 L 265.62644 323.885946 L 262.118112 318.949562 -L 260.090754 325.684992 z " style="fill:#3e51c5;"/> - <path clip-path="url(#p19582ab83f)" d="M 248.349487 170.576237 -L 251.884838 190.43292 -L 253.904888 180.754804 -L 250.382264 164.767792 -L 248.349487 170.576237 -z -" style="fill:#f7a98b;"/> - <path clip-path="url(#p19582ab83f)" d="M 262.118112 318.949562 + <path clip-path="url(#p553f52e075)" d="M 262.118112 318.949562 L 265.62644 323.885946 L 267.654671 316.724629 L 264.153232 309.407904 -L 262.118112 318.949562 z -" style="fill:#485fd1;"/> - <path clip-path="url(#p19582ab83f)" d="M 251.040056 324.795122 +" style="fill:#485fd1;"/> + <path clip-path="url(#p553f52e075)" d="M 297.109863 239.366613 +L 300.405437 259.363436 +L 302.383933 255.633629 +L 299.1055 235.342211 +z +" style="fill:#b7cff9;"/> + <path clip-path="url(#p553f52e075)" d="M 249.987635 121.210022 +L 253.498543 118.348575 +L 255.53145 122.651042 +L 252.029838 127.22366 +z +" style="fill:#c32e31;"/> + <path clip-path="url(#p553f52e075)" d="M 286.893752 278.262546 +L 290.290046 293.105481 +L 292.328373 285.059295 +L 288.953889 268.65666 +z +" style="fill:#81a4fb;"/> + <path clip-path="url(#p553f52e075)" d="M 251.040056 324.795122 L 254.551272 327.529699 L 256.579022 321.800236 L 253.066679 316.970351 -L 251.040056 324.795122 z -" style="fill:#3f53c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 247.529657 321.323067 +" style="fill:#4055c8;"/> + <path clip-path="url(#p553f52e075)" d="M 245.499976 327.301697 +L 249.007175 328.905411 L 251.040056 324.795122 -L 253.066679 316.970351 -L 249.551239 311.566376 L 247.529657 321.323067 z -" style="fill:#455cce;"/> - <path clip-path="url(#p19582ab83f)" d="M 256.579022 321.800236 +" style="fill:#3d50c3;"/> + <path clip-path="url(#p553f52e075)" d="M 256.579022 321.800236 L 260.090754 325.684992 L 262.118112 318.949562 L 258.608755 312.797901 -L 256.579022 321.800236 z " style="fill:#445acc;"/> - <path clip-path="url(#p19582ab83f)" d="M 245.499976 327.301697 -L 249.007175 328.905411 + <path clip-path="url(#p553f52e075)" d="M 247.529657 321.323067 L 251.040056 324.795122 -L 247.529657 321.323067 -L 245.499976 327.301697 -z -" style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 271.635043 124.149244 -L 275.167844 125.60094 -L 277.093749 135.073296 -L 273.577781 133.441508 -L 271.635043 124.149244 -z -" style="fill:#cc403a;"/> - <path clip-path="url(#p19582ab83f)" d="M 226.492282 300.917012 -L 229.986172 303.147917 -L 231.944994 287.278287 -L 228.436483 284.638207 -L 226.492282 300.917012 -z -" style="fill:#6a8bef;"/> - <path clip-path="url(#p19582ab83f)" d="M 168.877197 258.110341 -L 172.580176 268.90969 -L 175.098726 281.353734 -L 171.442536 271.363567 -L 168.877197 258.110341 -z -" style="fill:#97b8ff;"/> - <path clip-path="url(#p19582ab83f)" d="M 249.987635 121.210022 -L 253.498543 118.348575 -L 255.53145 122.651042 -L 252.029838 127.22366 -L 249.987635 121.210022 +L 253.066679 316.970351 +L 249.551239 311.566376 z -" style="fill:#c32e31;"/> - <path clip-path="url(#p19582ab83f)" d="M 230.896544 327.550384 +" style="fill:#465ecf;"/> + <path clip-path="url(#p553f52e075)" d="M 230.896544 327.550384 L 234.386024 327.87679 L 236.455843 327.46685 L 232.963205 326.040881 -L 230.896544 327.550384 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 244.018745 317.431368 -L 247.529657 321.323067 -L 249.551239 311.566376 -L 246.031853 305.946754 -L 244.018745 317.431368 + <path clip-path="url(#p553f52e075)" d="M 275.167844 125.60094 +L 278.697669 128.230441 +L 280.6032 138.198548 +L 277.093749 135.073296 z -" style="fill:#4c66d6;"/> - <path clip-path="url(#p19582ab83f)" d="M 254.551272 327.529699 -L 258.06608 329.205555 -L 260.090754 325.684992 -L 256.579022 321.800236 -L 254.551272 327.529699 +" style="fill:#d1493f;"/> + <path clip-path="url(#p553f52e075)" d="M 295.825204 160.425904 +L 299.200634 175.719061 +L 301.002613 185.187118 +L 297.653861 169.720357 z -" style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 263.606028 328.259217 +" style="fill:#f6a385;"/> + <path clip-path="url(#p553f52e075)" d="M 263.606028 328.259217 L 267.130572 329.183338 L 269.139615 327.204018 L 265.62644 323.885946 -L 263.606028 328.259217 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 286.893752 278.262546 -L 290.290046 293.105481 -L 292.328373 285.059295 -L 288.953889 268.65666 -L 286.893752 278.262546 + <path clip-path="url(#p553f52e075)" d="M 259.048847 120.037245 +L 262.576837 118.932074 +L 264.575952 124.611166 +L 261.056255 126.812652 z -" style="fill:#82a6fb;"/> - <path clip-path="url(#p19582ab83f)" d="M 239.952541 328.585372 +" style="fill:#c32e31;"/> + <path clip-path="url(#p553f52e075)" d="M 278.697669 128.230441 +L 282.219008 132.253471 +L 284.100358 142.932609 +L 280.6032 138.198548 +z +" style="fill:#d65244;"/> + <path clip-path="url(#p553f52e075)" d="M 254.551272 327.529699 +L 258.06608 329.205555 +L 260.090754 325.684992 +L 256.579022 321.800236 +z +" style="fill:#3c4ec2;"/> + <path clip-path="url(#p553f52e075)" d="M 244.018745 317.431368 +L 247.529657 321.323067 +L 249.551239 311.566376 +L 246.031853 305.946754 +z +" style="fill:#4e68d8;"/> + <path clip-path="url(#p553f52e075)" d="M 239.952541 328.585372 L 243.453562 329.189261 L 245.499976 327.301697 L 241.995435 325.103793 -L 239.952541 328.585372 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 240.507334 313.419567 -L 244.018745 317.431368 -L 246.031853 305.946754 -L 242.509164 300.441969 -L 240.507334 313.419567 -z -" style="fill:#5470de;"/> - <path clip-path="url(#p19582ab83f)" d="M 218.283194 155.762137 -L 221.607958 141.77605 -L 223.687378 139.455972 -L 220.354761 153.332082 -L 218.283194 155.762137 + <path clip-path="url(#p553f52e075)" d="M 221.816441 324.263823 +L 225.297762 324.569954 +L 227.412043 326.882717 +L 223.932635 326.001117 z -" style="fill:#e7745b;"/> - <path clip-path="url(#p19582ab83f)" d="M 269.694065 307.216457 +" style="fill:#3d50c3;"/> + <path clip-path="url(#p553f52e075)" d="M 269.694065 307.216457 L 273.183688 315.424716 L 275.223588 306.434457 L 271.746367 295.885453 -L 269.694065 307.216457 z " style="fill:#5977e3;"/> - <path clip-path="url(#p19582ab83f)" d="M 208.214349 193.651187 -L 211.459887 178.370083 -L 213.441067 167.364284 -L 210.178235 182.619583 -L 208.214349 193.651187 + <path clip-path="url(#p553f52e075)" d="M 299.745205 210.83672 +L 303.018873 231.87153 +L 304.931326 232.415774 +L 301.672528 211.625378 z -" style="fill:#f7b497;"/> - <path clip-path="url(#p19582ab83f)" d="M 282.219008 132.253471 -L 285.724797 137.952029 -L 287.578673 149.417189 -L 284.100358 142.932609 -L 282.219008 132.253471 +" style="fill:#dbdcde;"/> + <path clip-path="url(#p553f52e075)" d="M 277.27609 296.029226 +L 280.734397 307.060143 +L 282.780181 297.902091 +L 279.339838 284.737632 z -" style="fill:#dc5d4a;"/> - <path clip-path="url(#p19582ab83f)" d="M 272.665131 328.542282 +" style="fill:#688aef;"/> + <path clip-path="url(#p553f52e075)" d="M 272.665131 328.542282 L 276.211713 327.604311 L 278.192906 327.746049 L 274.665869 326.29396 -L 272.665131 328.542282 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 259.048847 120.037245 -L 262.576837 118.932074 -L 264.575952 124.611166 -L 261.056255 126.812652 -L 259.048847 120.037245 + <path clip-path="url(#p553f52e075)" d="M 226.492282 300.917012 +L 229.986172 303.147917 +L 231.944994 287.278287 +L 228.436483 284.638207 z -" style="fill:#c12b30;"/> - <path clip-path="url(#p19582ab83f)" d="M 253.066679 316.970351 +" style="fill:#6c8ff1;"/> + <path clip-path="url(#p553f52e075)" d="M 253.066679 316.970351 L 256.579022 321.800236 L 258.608755 312.797901 L 255.09433 305.852001 -L 253.066679 316.970351 z -" style="fill:#4c66d6;"/> - <path clip-path="url(#p19582ab83f)" d="M 229.986172 303.147917 -L 233.488634 306.071883 -L 235.462504 290.891475 -L 231.944994 287.278287 -L 229.986172 303.147917 +" style="fill:#4e68d8;"/> + <path clip-path="url(#p553f52e075)" d="M 240.507334 313.419567 +L 244.018745 317.431368 +L 246.031853 305.946754 +L 242.509164 300.441969 z -" style="fill:#6687ed;"/> - <path clip-path="url(#p19582ab83f)" d="M 221.816441 324.263823 -L 225.297762 324.569954 -L 227.412043 326.882717 -L 223.932635 326.001117 -L 221.816441 324.263823 +" style="fill:#5572df;"/> + <path clip-path="url(#p553f52e075)" d="M 288.953889 268.65666 +L 292.328373 285.059295 +L 294.363618 277.389753 +L 291.010248 259.697089 z -" style="fill:#3e51c5;"/> - <path clip-path="url(#p19582ab83f)" d="M 277.27609 296.029226 -L 280.734397 307.060143 -L 282.780181 297.902091 -L 279.339838 284.737632 -L 277.27609 296.029226 +" style="fill:#90b2fe;"/> + <path clip-path="url(#p553f52e075)" d="M 205.697547 221.021846 +L 208.95787 208.204294 +L 210.862104 192.106068 +L 207.589859 205.533435 z -" style="fill:#688aef;"/> - <path clip-path="url(#p19582ab83f)" d="M 297.109863 239.366613 +" style="fill:#edd2c3;"/> + <path clip-path="url(#p553f52e075)" d="M 160.175627 233.952268 +L 163.980129 247.495962 +L 166.560238 260.343256 +L 162.792906 247.131255 +z +" style="fill:#b9d0f9;"/> + <path clip-path="url(#p553f52e075)" d="M 249.007175 328.905411 +L 252.518803 329.642139 +L 254.551272 327.529699 +L 251.040056 324.795122 +z +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 295.092735 244.850932 +L 298.406565 264.327378 L 300.405437 259.363436 -L 302.383933 255.633629 -L 299.1055 235.342211 L 297.109863 239.366613 z -" style="fill:#bbd1f8;"/> - <path clip-path="url(#p19582ab83f)" d="M 236.996599 309.556685 -L 240.507334 313.419567 -L 242.509164 300.441969 -L 238.985084 295.342664 -L 236.996599 309.556685 -z -" style="fill:#5a78e4;"/> - <path clip-path="url(#p19582ab83f)" d="M 218.003196 283.083734 -L 221.462129 282.542773 -L 223.364832 263.340685 -L 219.893789 264.278004 -L 218.003196 283.083734 +" style="fill:#b2ccfb;"/> + <path clip-path="url(#p553f52e075)" d="M 250.382264 164.767792 +L 253.904888 180.754804 +L 255.929689 164.080017 +L 252.408716 153.336855 z -" style="fill:#8caffe;"/> - <path clip-path="url(#p19582ab83f)" d="M 275.167844 125.60094 -L 278.697669 128.230441 -L 280.6032 138.198548 -L 277.093749 135.073296 -L 275.167844 125.60094 +" style="fill:#f39577;"/> + <path clip-path="url(#p553f52e075)" d="M 229.986172 303.147917 +L 233.488634 306.071883 +L 235.462504 290.891475 +L 231.944994 287.278287 z -" style="fill:#cf453c;"/> - <path clip-path="url(#p19582ab83f)" d="M 233.488634 306.071883 -L 236.996599 309.556685 +" style="fill:#688aef;"/> + <path clip-path="url(#p553f52e075)" d="M 236.996599 309.556685 +L 240.507334 313.419567 +L 242.509164 300.441969 L 238.985084 295.342664 -L 235.462504 290.891475 -L 233.488634 306.071883 z -" style="fill:#6180e9;"/> - <path clip-path="url(#p19582ab83f)" d="M 213.030818 269.695979 -L 216.44839 266.440927 -L 218.321067 246.192911 -L 214.894201 250.244376 -L 213.030818 269.695979 +" style="fill:#5d7ce6;"/> + <path clip-path="url(#p553f52e075)" d="M 218.283194 155.762137 +L 221.607958 141.77605 +L 223.687378 139.455972 +L 220.354761 153.332082 z -" style="fill:#a3c2fe;"/> - <path clip-path="url(#p19582ab83f)" d="M 249.007175 328.905411 -L 252.518803 329.642139 -L 254.551272 327.529699 -L 251.040056 324.795122 -L 249.007175 328.905411 +" style="fill:#e46e56;"/> + <path clip-path="url(#p553f52e075)" d="M 258.06608 329.205555 +L 261.58869 329.515071 +L 263.606028 328.259217 +L 260.090754 325.684992 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 300.283556 193.769375 -L 303.566749 214.025582 -L 305.426439 217.947898 -L 302.159568 198.052667 -L 300.283556 193.769375 + <path clip-path="url(#p553f52e075)" d="M 264.153232 309.407904 +L 267.654671 316.724629 +L 269.694065 307.216457 +L 266.199705 297.582174 z -" style="fill:#efcebd;"/> - <path clip-path="url(#p19582ab83f)" d="M 278.697669 128.230441 -L 282.219008 132.253471 -L 284.100358 142.932609 -L 280.6032 138.198548 -L 278.697669 128.230441 +" style="fill:#5875e1;"/> + <path clip-path="url(#p553f52e075)" d="M 290.813915 145.056636 +L 294.256721 156.226253 +L 296.069219 167.150992 +L 292.657362 155.320954 z -" style="fill:#d44e41;"/> - <path clip-path="url(#p19582ab83f)" d="M 258.608755 312.797901 +" style="fill:#ec8165;"/> + <path clip-path="url(#p553f52e075)" d="M 258.608755 312.797901 L 262.118112 318.949562 L 264.153232 309.407904 L 260.645981 301.012444 -L 258.608755 312.797901 z -" style="fill:#536edd;"/> - <path clip-path="url(#p19582ab83f)" d="M 264.153232 309.407904 -L 267.654671 316.724629 -L 269.694065 307.216457 -L 266.199705 297.582174 -L 264.153232 309.407904 +" style="fill:#5470de;"/> + <path clip-path="url(#p553f52e075)" d="M 233.488634 306.071883 +L 236.996599 309.556685 +L 238.985084 295.342664 +L 235.462504 290.891475 +z +" style="fill:#6384eb;"/> + <path clip-path="url(#p553f52e075)" d="M 291.010248 259.697089 +L 294.363618 277.389753 +L 296.391196 270.397828 +L 293.058077 251.684084 +z +" style="fill:#9ebeff;"/> + <path clip-path="url(#p553f52e075)" d="M 155.108193 217.777697 +L 158.973015 232.824376 +L 161.56647 245.169481 +L 157.728647 230.091285 z -" style="fill:#5875e1;"/> - <path clip-path="url(#p19582ab83f)" d="M 258.06608 329.205555 -L 261.58869 329.515071 -L 263.606028 328.259217 -L 260.090754 325.684992 -L 258.06608 329.205555 +" style="fill:#cfdaea;"/> + <path clip-path="url(#p553f52e075)" d="M 244.436333 121.869197 +L 247.936845 118.386007 +L 249.987635 121.210022 +L 246.497788 126.588733 z -" style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 250.382264 164.767792 -L 253.904888 180.754804 -L 255.929689 164.080017 -L 252.408716 153.336855 -L 250.382264 164.767792 +" style="fill:#c0282f;"/> + <path clip-path="url(#p553f52e075)" d="M 293.058077 251.684084 +L 296.391196 270.397828 +L 298.406565 264.327378 +L 295.092735 244.850932 z -" style="fill:#f39577;"/> - <path clip-path="url(#p19582ab83f)" d="M 233.357542 130.124712 +" style="fill:#a9c6fd;"/> + <path clip-path="url(#p553f52e075)" d="M 233.357542 130.124712 L 236.808431 122.677869 L 238.888062 124.631519 L 235.446801 133.32524 -L 233.357542 130.124712 -z -" style="fill:#cb3e38;"/> - <path clip-path="url(#p19582ab83f)" d="M 288.953889 268.65666 -L 292.328373 285.059295 -L 294.363618 277.389753 -L 291.010248 259.697089 -L 288.953889 268.65666 z -" style="fill:#92b4fe;"/> - <path clip-path="url(#p19582ab83f)" d="M 295.825204 160.425904 -L 299.200634 175.719061 -L 301.002613 185.187118 -L 297.653861 169.720357 -L 295.825204 160.425904 +" style="fill:#ca3b37;"/> + <path clip-path="url(#p553f52e075)" d="M 298.844823 179.117913 +L 302.159568 198.052667 +L 303.99874 203.914562 +L 300.703994 185.181895 z -" style="fill:#f59d7e;"/> - <path clip-path="url(#p19582ab83f)" d="M 244.436333 121.869197 -L 247.936845 118.386007 -L 249.987635 121.210022 -L 246.497788 126.588733 -L 244.436333 121.869197 +" style="fill:#f5c0a7;"/> + <path clip-path="url(#p553f52e075)" d="M 246.292303 168.034863 +L 249.841127 184.060245 +L 251.884838 190.43292 +L 248.349487 170.576237 z -" style="fill:#c12b30;"/> - <path clip-path="url(#p19582ab83f)" d="M 249.551239 311.566376 -L 253.066679 316.970351 -L 255.09433 305.852001 -L 251.572695 298.528652 -L 249.551239 311.566376 +" style="fill:#f7ac8e;"/> + <path clip-path="url(#p553f52e075)" d="M 297.356891 168.007216 +L 300.703994 185.181895 +L 302.52398 192.896375 +L 299.200634 175.719061 z -" style="fill:#5673e0;"/> - <path clip-path="url(#p19582ab83f)" d="M 292.822082 322.68247 -L 296.4703 316.491339 -L 298.373665 319.330342 -L 294.753441 323.674527 -L 292.822082 322.68247 +" style="fill:#f7af91;"/> + <path clip-path="url(#p553f52e075)" d="M 218.003196 283.083734 +L 221.462129 282.542773 +L 223.364832 263.340685 +L 219.893789 264.278004 z -" style="fill:#455cce;"/> - <path clip-path="url(#p19582ab83f)" d="M 267.130572 329.183338 +" style="fill:#90b2fe;"/> + <path clip-path="url(#p553f52e075)" d="M 267.130572 329.183338 L 270.671447 328.164713 L 272.665131 328.542282 L 269.139615 327.204018 -L 267.130572 329.183338 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 299.745205 210.83672 -L 303.018873 231.87153 -L 304.931326 232.415774 -L 301.672528 211.625378 -L 299.745205 210.83672 + <path clip-path="url(#p553f52e075)" d="M 234.386024 327.87679 +L 237.880799 327.708791 +L 239.952541 328.585372 +L 236.455843 327.46685 +z +" style="fill:#3b4cc0;"/> + <path clip-path="url(#p553f52e075)" d="M 208.214349 193.651187 +L 211.459887 178.370083 +L 213.441067 167.364284 +L 210.178235 182.619583 +z +" style="fill:#f7af91;"/> + <path clip-path="url(#p553f52e075)" d="M 292.822082 322.68247 +L 296.4703 316.491339 +L 298.373665 319.330342 +L 294.753441 323.674527 z -" style="fill:#dfdbd9;"/> - <path clip-path="url(#p19582ab83f)" d="M 287.282802 324.994841 +" style="fill:#455cce;"/> + <path clip-path="url(#p553f52e075)" d="M 287.282802 324.994841 L 290.899065 320.099879 L 292.822082 322.68247 L 289.233141 325.535176 -L 287.282802 324.994841 z " style="fill:#4257c9;"/> - <path clip-path="url(#p19582ab83f)" d="M 295.092735 244.850932 -L 298.406565 264.327378 -L 300.405437 259.363436 -L 297.109863 239.366613 -L 295.092735 244.850932 -z -" style="fill:#b5cdfa;"/> - <path clip-path="url(#p19582ab83f)" d="M 234.386024 327.87679 -L 237.880799 327.708791 -L 239.952541 328.585372 -L 236.455843 327.46685 -L 234.386024 327.87679 + <path clip-path="url(#p553f52e075)" d="M 249.551239 311.566376 +L 253.066679 316.970351 +L 255.09433 305.852001 +L 251.572695 298.528652 z -" style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 243.453562 329.189261 +" style="fill:#5875e1;"/> + <path clip-path="url(#p553f52e075)" d="M 243.453562 329.189261 L 246.960067 329.056541 L 249.007175 328.905411 L 245.499976 327.301697 -L 243.453562 329.189261 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 291.010248 259.697089 -L 294.363618 277.389753 -L 296.391196 270.397828 -L 293.058077 251.684084 -L 291.010248 259.697089 + <path clip-path="url(#p553f52e075)" d="M 213.030818 269.695979 +L 216.44839 266.440927 +L 218.321067 246.192911 +L 214.894201 250.244376 z -" style="fill:#9fbfff;"/> - <path clip-path="url(#p19582ab83f)" d="M 238.888062 124.631519 +" style="fill:#a9c6fd;"/> + <path clip-path="url(#p553f52e075)" d="M 238.888062 124.631519 L 242.37049 119.666678 L 244.436333 121.869197 L 240.965324 128.545806 -L 238.888062 124.631519 z " style="fill:#c32e31;"/> - <path clip-path="url(#p19582ab83f)" d="M 298.373665 319.330342 -L 302.064917 311.483774 -L 303.948836 314.564864 -L 300.284609 320.810172 -L 298.373665 319.330342 -z -" style="fill:#4b64d5;"/> - <path clip-path="url(#p19582ab83f)" d="M 293.058077 251.684084 -L 296.391196 270.397828 -L 298.406565 264.327378 -L 295.092735 244.850932 -L 293.058077 251.684084 -z -" style="fill:#abc8fd;"/> - <path clip-path="url(#p19582ab83f)" d="M 216.22599 159.865199 -L 219.539139 145.601297 -L 221.607958 141.77605 -L 218.283194 155.762137 -L 216.22599 159.865199 -z -" style="fill:#e97a5f;"/> - <path clip-path="url(#p19582ab83f)" d="M 258.893416 192.354666 -L 262.448148 174.372979 -L 264.484045 168.542129 -L 260.923383 182.660661 -L 258.893416 192.354666 -z -" style="fill:#f7b194;"/> - <path clip-path="url(#p19582ab83f)" d="M 160.175627 233.952268 -L 163.980129 247.495962 -L 166.560238 260.343256 -L 162.792906 247.131255 -L 160.175627 233.952268 -z -" style="fill:#bed2f6;"/> - <path clip-path="url(#p19582ab83f)" d="M 210.178235 182.619583 -L 213.441067 167.364284 -L 215.450823 158.266202 -L 212.169863 173.272278 -L 210.178235 182.619583 + <path clip-path="url(#p553f52e075)" d="M 225.297762 324.569954 +L 228.783588 324.454978 +L 230.896544 327.550384 +L 227.412043 326.882717 z -" style="fill:#f6a283;"/> - <path clip-path="url(#p19582ab83f)" d="M 281.747756 326.570145 -L 285.34109 322.592448 -L 287.282802 324.994841 -L 283.714741 326.79483 -L 281.747756 326.570145 +" style="fill:#3e51c5;"/> + <path clip-path="url(#p553f52e075)" d="M 165.129301 246.239584 +L 168.877197 258.110341 +L 171.442536 271.363567 +L 167.736564 260.036213 z -" style="fill:#3f53c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 252.518803 329.642139 +" style="fill:#a7c5fe;"/> + <path clip-path="url(#p553f52e075)" d="M 252.518803 329.642139 L 256.037871 329.243316 L 258.06608 329.205555 L 254.551272 327.529699 -L 252.518803 329.642139 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 290.813915 145.056636 -L 294.256721 156.226253 -L 296.069219 167.150992 -L 292.657362 155.320954 -L 290.813915 145.056636 -z -" style="fill:#ea7b60;"/> - <path clip-path="url(#p19582ab83f)" d="M 225.297762 324.569954 -L 228.783588 324.454978 -L 230.896544 327.550384 -L 227.412043 326.882717 -L 225.297762 324.569954 + <path clip-path="url(#p553f52e075)" d="M 281.747756 326.570145 +L 285.34109 322.592448 +L 287.282802 324.994841 +L 283.714741 326.79483 z " style="fill:#3f53c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 271.746367 295.885453 -L 275.223588 306.434457 -L 277.27609 296.029226 -L 273.811669 283.305858 -L 271.746367 295.885453 -z -" style="fill:#6c8ff1;"/> - <path clip-path="url(#p19582ab83f)" d="M 246.292303 168.034863 -L 249.841127 184.060245 -L 251.884838 190.43292 -L 248.349487 170.576237 -L 246.292303 168.034863 + <path clip-path="url(#p553f52e075)" d="M 298.373665 319.330342 +L 302.064917 311.483774 +L 303.948836 314.564864 +L 300.284609 320.810172 z -" style="fill:#f7a889;"/> - <path clip-path="url(#p19582ab83f)" d="M 279.339838 284.737632 +" style="fill:#4b64d5;"/> + <path clip-path="url(#p553f52e075)" d="M 279.339838 284.737632 L 282.780181 297.902091 L 284.834452 288.150549 L 281.412167 273.083584 -L 279.339838 284.737632 -z -" style="fill:#7da0f9;"/> - <path clip-path="url(#p19582ab83f)" d="M 207.080731 225.295146 -L 210.37895 214.20979 -L 212.268433 196.474797 -L 208.95787 208.204294 -L 207.080731 225.295146 -z -" style="fill:#e6d7cf;"/> - <path clip-path="url(#p19582ab83f)" d="M 298.844823 179.117913 -L 302.159568 198.052667 -L 303.99874 203.914562 -L 300.703994 185.181895 -L 298.844823 179.117913 -z -" style="fill:#f7bca1;"/> - <path clip-path="url(#p19582ab83f)" d="M 155.108193 217.777697 -L 158.973015 232.824376 -L 161.56647 245.169481 -L 157.728647 230.091285 -L 155.108193 217.777697 -z -" style="fill:#d5dbe5;"/> - <path clip-path="url(#p19582ab83f)" d="M 246.031853 305.946754 -L 249.551239 311.566376 -L 251.572695 298.528652 -L 248.043527 291.220811 -L 246.031853 305.946754 -z -" style="fill:#6282ea;"/> - <path clip-path="url(#p19582ab83f)" d="M 225.774134 138.593134 -L 229.178644 128.437706 -L 231.267858 128.586829 -L 227.865821 139.225666 -L 225.774134 138.593134 z -" style="fill:#d44e41;"/> - <path clip-path="url(#p19582ab83f)" d="M 221.462129 282.542773 -L 224.940952 283.051257 -L 226.85825 263.708485 -L 223.364832 263.340685 -L 221.462129 282.542773 +" style="fill:#7b9ff9;"/> + <path clip-path="url(#p553f52e075)" d="M 271.746367 295.885453 +L 275.223588 306.434457 +L 277.27609 296.029226 +L 273.811669 283.305858 z -" style="fill:#8fb1fe;"/> - <path clip-path="url(#p19582ab83f)" d="M 255.929689 164.080017 -L 259.443035 169.193444 -L 261.492789 150.945424 -L 257.966527 147.611539 -L 255.929689 164.080017 +" style="fill:#6c8ff1;"/> + <path clip-path="url(#p553f52e075)" d="M 262.576837 118.932074 +L 266.112168 118.868489 +L 268.103327 123.793505 +L 264.575952 124.611166 z -" style="fill:#ee8669;"/> - <path clip-path="url(#p19582ab83f)" d="M 261.58869 329.515071 +" style="fill:#be242e;"/> + <path clip-path="url(#p553f52e075)" d="M 261.58869 329.515071 L 265.124627 328.182696 L 267.130572 329.183338 L 263.606028 328.259217 -L 261.58869 329.515071 z " style="fill:#3b4cc0;"/> - <path clip-path="url(#p19582ab83f)" d="M 255.09433 305.852001 -L 258.608755 312.797901 -L 260.645981 301.012444 -L 257.129059 292.012151 -L 255.09433 305.852001 -z -" style="fill:#6180e9;"/> - <path clip-path="url(#p19582ab83f)" d="M 297.356891 168.007216 -L 300.703994 185.181895 -L 302.52398 192.896375 -L 299.200634 175.719061 -L 297.356891 168.007216 -z -" style="fill:#f7a98b;"/> - <path clip-path="url(#p19582ab83f)" d="M 262.576837 118.932074 -L 266.112168 118.868489 -L 268.103327 123.793505 -L 264.575952 124.611166 -L 262.576837 118.932074 -z -" style="fill:#bd1f2d;"/> - <path clip-path="url(#p19582ab83f)" d="M 214.186924 165.687748 -L 217.485138 151.049768 + <path clip-path="url(#p553f52e075)" d="M 216.22599 159.865199 L 219.539139 145.601297 -L 216.22599 159.865199 -L 214.186924 165.687748 -z -" style="fill:#ed8366;"/> - <path clip-path="url(#p19582ab83f)" d="M 211.500573 255.452705 -L 214.894201 250.244376 -L 216.759826 229.584314 -L 213.356163 235.634128 -L 211.500573 255.452705 +L 221.607958 141.77605 +L 218.283194 155.762137 z -" style="fill:#bed2f6;"/> - <path clip-path="url(#p19582ab83f)" d="M 212.169863 173.272278 -L 215.450823 158.266202 -L 217.485138 151.049768 -L 214.186924 165.687748 -L 212.169863 173.272278 +" style="fill:#e7745b;"/> + <path clip-path="url(#p553f52e075)" d="M 253.498543 118.348575 +L 257.022844 117.484492 +L 259.048847 120.037245 +L 255.53145 122.651042 z -" style="fill:#f29072;"/> - <path clip-path="url(#p19582ab83f)" d="M 276.211713 327.604311 +" style="fill:#ba162b;"/> + <path clip-path="url(#p553f52e075)" d="M 276.211713 327.604311 L 279.788789 324.181105 L 281.747756 326.570145 L 278.192906 327.746049 -L 276.211713 327.604311 z " style="fill:#3e51c5;"/> - <path clip-path="url(#p19582ab83f)" d="M 253.498543 118.348575 -L 257.022844 117.484492 -L 259.048847 120.037245 -L 255.53145 122.651042 -L 253.498543 118.348575 + <path clip-path="url(#p553f52e075)" d="M 255.09433 305.852001 +L 258.608755 312.797901 +L 260.645981 301.012444 +L 257.129059 292.012151 z -" style="fill:#ba162b;"/> - <path clip-path="url(#p19582ab83f)" d="M 266.199705 297.582174 +" style="fill:#6180e9;"/> + <path clip-path="url(#p553f52e075)" d="M 246.031853 305.946754 +L 249.551239 311.566376 +L 251.572695 298.528652 +L 248.043527 291.220811 +z +" style="fill:#6384eb;"/> + <path clip-path="url(#p553f52e075)" d="M 225.774134 138.593134 +L 229.178644 128.437706 +L 231.267858 128.586829 +L 227.865821 139.225666 +z +" style="fill:#d1493f;"/> + <path clip-path="url(#p553f52e075)" d="M 210.178235 182.619583 +L 213.441067 167.364284 +L 215.450823 158.266202 +L 212.169863 173.272278 +z +" style="fill:#f59c7d;"/> + <path clip-path="url(#p553f52e075)" d="M 258.893416 192.354666 +L 262.448148 174.372979 +L 264.484045 168.542129 +L 260.923383 182.660661 +z +" style="fill:#f7ac8e;"/> + <path clip-path="url(#p553f52e075)" d="M 255.929689 164.080017 +L 259.443035 169.193444 +L 261.492789 150.945424 +L 257.966527 147.611539 +z +" style="fill:#ed8366;"/> + <path clip-path="url(#p553f52e075)" d="M 266.199705 297.582174 L 269.694065 307.216457 L 271.746367 295.885453 L 268.259415 284.075467 -L 266.199705 297.582174 z " style="fill:#6c8ff1;"/> - <path clip-path="url(#p19582ab83f)" d="M 207.589859 205.533435 -L 210.862104 192.106068 -L 212.798638 177.555917 -L 209.509559 191.179042 -L 207.589859 205.533435 -z -" style="fill:#f5c1a9;"/> - <path clip-path="url(#p19582ab83f)" d="M 260.645981 301.012444 -L 264.153232 309.407904 -L 266.199705 297.582174 -L 262.694632 287.04927 -L 260.645981 301.012444 -z -" style="fill:#6788ee;"/> - <path clip-path="url(#p19582ab83f)" d="M 165.129301 246.239584 -L 168.877197 258.110341 -L 171.442536 271.363567 -L 167.736564 260.036213 -L 165.129301 246.239584 -z -" style="fill:#aec9fc;"/> - <path clip-path="url(#p19582ab83f)" d="M 237.880799 327.708791 + <path clip-path="url(#p553f52e075)" d="M 237.880799 327.708791 L 241.381799 326.875487 L 243.453562 329.189261 L 239.952541 328.585372 -L 237.880799 327.708791 z " style="fill:#3d50c3;"/> - <path clip-path="url(#p19582ab83f)" d="M 246.960067 329.056541 + <path clip-path="url(#p553f52e075)" d="M 221.462129 282.542773 +L 224.940952 283.051257 +L 226.85825 263.708485 +L 223.364832 263.340685 +z +" style="fill:#93b5fe;"/> + <path clip-path="url(#p553f52e075)" d="M 260.645981 301.012444 +L 264.153232 309.407904 +L 266.199705 297.582174 +L 262.694632 287.04927 +z +" style="fill:#688aef;"/> + <path clip-path="url(#p553f52e075)" d="M 246.960067 329.056541 L 250.474222 327.962369 L 252.518803 329.642139 L 249.007175 328.905411 -L 246.960067 329.056541 z " style="fill:#3c4ec2;"/> - <path clip-path="url(#p19582ab83f)" d="M 259.443035 169.193444 -L 262.97313 165.961228 -L 265.034427 149.468159 -L 261.492789 150.945424 -L 259.443035 169.193444 + <path clip-path="url(#p553f52e075)" d="M 149.928184 198.261081 +L 153.844316 214.28131 +L 156.440966 225.760834 +L 152.536228 209.230303 z -" style="fill:#ef886b;"/> - <path clip-path="url(#p19582ab83f)" d="M 242.509164 300.441969 -L 246.031853 305.946754 -L 248.043527 291.220811 -L 244.508122 284.281859 -L 242.509164 300.441969 +" style="fill:#ead5c9;"/> + <path clip-path="url(#p553f52e075)" d="M 297.786978 211.708449 +L 301.076156 232.838425 +L 303.018873 231.87153 +L 299.745205 210.83672 z -" style="fill:#6c8ff1;"/> - <path clip-path="url(#p19582ab83f)" d="M 260.923383 182.660661 -L 264.484045 168.542129 -L 266.537815 157.07465 -L 262.97313 165.961228 -L 260.923383 182.660661 +" style="fill:#dedcdb;"/> + <path clip-path="url(#p553f52e075)" d="M 214.186924 165.687748 +L 217.485138 151.049768 +L 219.539139 145.601297 +L 216.22599 159.865199 +z +" style="fill:#eb7d62;"/> + <path clip-path="url(#p553f52e075)" d="M 207.080731 225.295146 +L 210.37895 214.20979 +L 212.268433 196.474797 +L 208.95787 208.204294 z -" style="fill:#f59d7e;"/> - <path clip-path="url(#p19582ab83f)" d="M 270.671447 328.164713 +" style="fill:#ead4c8;"/> + <path clip-path="url(#p553f52e075)" d="M 212.169863 173.272278 +L 215.450823 158.266202 +L 217.485138 151.049768 +L 214.186924 165.687748 +z +" style="fill:#f08a6c;"/> + <path clip-path="url(#p553f52e075)" d="M 270.671447 328.164713 L 274.236661 324.978613 L 276.211713 327.604311 L 272.665131 328.542282 -L 270.671447 328.164713 z " style="fill:#3e51c5;"/> - <path clip-path="url(#p19582ab83f)" d="M 208.514213 232.655715 -L 211.847602 223.445969 -L 213.724219 204.277236 -L 210.37895 214.20979 -L 208.514213 232.655715 + <path clip-path="url(#p553f52e075)" d="M 228.783588 324.454978 +L 232.274598 323.815637 +L 234.386024 327.87679 +L 230.896544 327.550384 z -" style="fill:#dfdbd9;"/> - <path clip-path="url(#p19582ab83f)" d="M 209.990798 242.862873 +" style="fill:#4055c8;"/> + <path clip-path="url(#p553f52e075)" d="M 211.500573 255.452705 +L 214.894201 250.244376 +L 216.759826 229.584314 L 213.356163 235.634128 -L 215.223935 215.412526 -L 211.847602 223.445969 -L 209.990798 242.862873 -z -" style="fill:#d2dbe8;"/> - <path clip-path="url(#p19582ab83f)" d="M 216.44839 266.440927 -L 219.893789 264.278004 -L 221.7793 243.473297 -L 218.321067 246.192911 -L 216.44839 266.440927 -z -" style="fill:#adc9fd;"/> - <path clip-path="url(#p19582ab83f)" d="M 224.940952 283.051257 -L 228.436483 284.638207 -L 230.369999 265.409197 -L 226.85825 263.708485 -L 224.940952 283.051257 z -" style="fill:#8fb1fe;"/> - <path clip-path="url(#p19582ab83f)" d="M 256.037871 329.243316 +" style="fill:#c3d5f4;"/> + <path clip-path="url(#p553f52e075)" d="M 256.037871 329.243316 L 259.568597 327.460502 L 261.58869 329.515071 L 258.06608 329.205555 -L 256.037871 329.243316 z " style="fill:#3d50c3;"/> - <path clip-path="url(#p19582ab83f)" d="M 228.783588 324.454978 -L 232.274598 323.815637 -L 234.386024 327.87679 -L 230.896544 327.550384 -L 228.783588 324.454978 + <path clip-path="url(#p553f52e075)" d="M 287.331959 136.324627 +L 290.813915 145.056636 +L 292.657362 155.320954 +L 289.206947 145.5878 z -" style="fill:#4257c9;"/> - <path clip-path="url(#p19582ab83f)" d="M 252.408716 153.336855 -L 255.929689 164.080017 -L 257.966527 147.611539 -L 254.440511 140.608311 -L 252.408716 153.336855 +" style="fill:#e0654f;"/> + <path clip-path="url(#p553f52e075)" d="M 242.509164 300.441969 +L 246.031853 305.946754 +L 248.043527 291.220811 +L 244.508122 284.281859 z -" style="fill:#e7745b;"/> - <path clip-path="url(#p19582ab83f)" d="M 281.412167 273.083584 +" style="fill:#6e90f2;"/> + <path clip-path="url(#p553f52e075)" d="M 281.412167 273.083584 L 284.834452 288.150549 L 286.893752 278.262546 L 283.489385 261.558327 -L 281.412167 273.083584 z " style="fill:#90b2fe;"/> - <path clip-path="url(#p19582ab83f)" d="M 266.112168 118.868489 + <path clip-path="url(#p553f52e075)" d="M 266.112168 118.868489 L 269.653066 119.492763 L 271.635043 124.149244 L 268.103327 123.793505 -L 266.112168 118.868489 z -" style="fill:#bb1b2c;"/> - <path clip-path="url(#p19582ab83f)" d="M 238.985084 295.342664 -L 242.509164 300.441969 -L 244.508122 284.281859 -L 240.969112 278.014532 -L 238.985084 295.342664 +" style="fill:#bd1f2d;"/> + <path clip-path="url(#p553f52e075)" d="M 298.372245 191.155249 +L 301.672528 211.625378 +L 303.566749 214.025582 +L 300.283556 193.769375 +z +" style="fill:#f2cbb7;"/> + <path clip-path="url(#p553f52e075)" d="M 252.408716 153.336855 +L 255.929689 164.080017 +L 257.966527 147.611539 +L 254.440511 140.608311 z -" style="fill:#779af7;"/> - <path clip-path="url(#p19582ab83f)" d="M 247.936845 118.386007 +" style="fill:#e67259;"/> + <path clip-path="url(#p553f52e075)" d="M 247.936845 118.386007 L 251.45635 117.710045 L 253.498543 118.348575 L 249.987635 121.210022 -L 247.936845 118.386007 z " style="fill:#b70d28;"/> - <path clip-path="url(#p19582ab83f)" d="M 297.786978 211.708449 -L 301.076156 232.838425 -L 303.018873 231.87153 -L 299.745205 210.83672 -L 297.786978 211.708449 + <path clip-path="url(#p553f52e075)" d="M 259.443035 169.193444 +L 262.97313 165.961228 +L 265.034427 149.468159 +L 261.492789 150.945424 z -" style="fill:#e1dad6;"/> - <path clip-path="url(#p19582ab83f)" d="M 251.572695 298.528652 -L 255.09433 305.852001 -L 257.129059 292.012151 -L 253.600738 282.864385 -L 251.572695 298.528652 +" style="fill:#ed8366;"/> + <path clip-path="url(#p553f52e075)" d="M 207.589859 205.533435 +L 210.862104 192.106068 +L 212.798638 177.555917 +L 209.509559 191.179042 z -" style="fill:#6f92f3;"/> - <path clip-path="url(#p19582ab83f)" d="M 273.811669 283.305858 +" style="fill:#f6bda2;"/> + <path clip-path="url(#p553f52e075)" d="M 273.811669 283.305858 L 277.27609 296.029226 L 279.339838 284.737632 L 275.888485 270.067289 -L 273.811669 283.305858 -z -" style="fill:#84a7fc;"/> - <path clip-path="url(#p19582ab83f)" d="M 149.928184 198.261081 -L 153.844316 214.28131 -L 156.440966 225.760834 -L 152.536228 209.230303 -L 149.928184 198.261081 z -" style="fill:#edd2c3;"/> - <path clip-path="url(#p19582ab83f)" d="M 228.436483 284.638207 -L 231.944994 287.278287 -L 233.895547 268.419679 -L 230.369999 265.409197 +" style="fill:#82a6fb;"/> + <path clip-path="url(#p553f52e075)" d="M 224.940952 283.051257 L 228.436483 284.638207 +L 230.369999 265.409197 +L 226.85825 263.708485 z -" style="fill:#8caffe;"/> - <path clip-path="url(#p19582ab83f)" d="M 287.331959 136.324627 -L 290.813915 145.056636 -L 292.657362 155.320954 -L 289.206947 145.5878 -L 287.331959 136.324627 +" style="fill:#93b5fe;"/> + <path clip-path="url(#p553f52e075)" d="M 292.397503 147.590318 +L 295.825204 160.425904 +L 297.653861 169.720357 +L 294.256721 156.226253 z -" style="fill:#de614d;"/> - <path clip-path="url(#p19582ab83f)" d="M 231.267858 128.586829 -L 234.727241 122.23638 -L 236.808431 122.677869 -L 233.357542 130.124712 -L 231.267858 128.586829 +" style="fill:#ec8165;"/> + <path clip-path="url(#p553f52e075)" d="M 251.572695 298.528652 +L 255.09433 305.852001 +L 257.129059 292.012151 +L 253.600738 282.864385 z -" style="fill:#c43032;"/> - <path clip-path="url(#p19582ab83f)" d="M 235.462504 290.891475 -L 238.985084 295.342664 +" style="fill:#7093f3;"/> + <path clip-path="url(#p553f52e075)" d="M 238.985084 295.342664 +L 242.509164 300.441969 +L 244.508122 284.281859 L 240.969112 278.014532 -L 237.430146 272.664732 -L 235.462504 290.891475 z -" style="fill:#80a3fa;"/> - <path clip-path="url(#p19582ab83f)" d="M 256.874386 185.978155 -L 260.423885 171.833178 -L 262.448148 174.372979 -L 258.893416 192.354666 -L 256.874386 185.978155 +" style="fill:#799cf8;"/> + <path clip-path="url(#p553f52e075)" d="M 260.923383 182.660661 +L 264.484045 168.542129 +L 266.537815 157.07465 +L 262.97313 165.961228 +z +" style="fill:#f39577;"/> + <path clip-path="url(#p553f52e075)" d="M 216.44839 266.440927 +L 219.893789 264.278004 +L 221.7793 243.473297 +L 218.321067 246.192911 +z +" style="fill:#b2ccfb;"/> + <path clip-path="url(#p553f52e075)" d="M 257.022844 117.484492 +L 260.555316 117.918314 +L 262.576837 118.932074 +L 259.048847 120.037245 z -" style="fill:#f7ad90;"/> - <path clip-path="url(#p19582ab83f)" d="M 265.124627 328.182696 +" style="fill:#b50927;"/> + <path clip-path="url(#p553f52e075)" d="M 265.124627 328.182696 L 268.680472 324.98399 L 270.671447 328.164713 L 267.130572 329.183338 -L 265.124627 328.182696 z " style="fill:#3f53c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 257.022844 117.484492 -L 260.555316 117.918314 -L 262.576837 118.932074 -L 259.048847 120.037245 -L 257.022844 117.484492 + <path clip-path="url(#p553f52e075)" d="M 208.514213 232.655715 +L 211.847602 223.445969 +L 213.724219 204.277236 +L 210.37895 214.20979 +z +" style="fill:#e3d9d3;"/> + <path clip-path="url(#p553f52e075)" d="M 247.764505 170.626147 +L 251.303115 175.769637 +L 253.35956 193.05982 +L 249.841127 184.060245 +z +" style="fill:#f7ac8e;"/> + <path clip-path="url(#p553f52e075)" d="M 244.787327 152.991575 +L 248.349487 170.576237 +L 250.382264 164.767792 +L 246.834335 148.970013 +z +" style="fill:#ed8366;"/> + <path clip-path="url(#p553f52e075)" d="M 209.990798 242.862873 +L 213.356163 235.634128 +L 215.223935 215.412526 +L 211.847602 223.445969 z -" style="fill:#b50927;"/> - <path clip-path="url(#p19582ab83f)" d="M 231.944994 287.278287 -L 235.462504 290.891475 -L 237.430146 272.664732 -L 233.895547 268.419679 -L 231.944994 287.278287 +" style="fill:#d6dce4;"/> + <path clip-path="url(#p553f52e075)" d="M 231.267858 128.586829 +L 234.727241 122.23638 +L 236.808431 122.677869 +L 233.357542 130.124712 z -" style="fill:#88abfd;"/> - <path clip-path="url(#p19582ab83f)" d="M 298.372245 191.155249 -L 301.672528 211.625378 -L 303.566749 214.025582 -L 300.283556 193.769375 -L 298.372245 191.155249 +" style="fill:#c32e31;"/> + <path clip-path="url(#p553f52e075)" d="M 246.834335 148.970013 +L 250.382264 164.767792 +L 252.408716 153.336855 +L 248.870615 141.283035 z -" style="fill:#f3c8b2;"/> - <path clip-path="url(#p19582ab83f)" d="M 223.687378 139.455972 -L 227.090686 129.468113 -L 229.178644 128.437706 -L 225.774134 138.593134 -L 223.687378 139.455972 +" style="fill:#e67259;"/> + <path clip-path="url(#p553f52e075)" d="M 156.32905 219.70222 +L 160.175627 233.952268 +L 162.792906 247.131255 +L 158.973015 232.824376 z -" style="fill:#d1493f;"/> - <path clip-path="url(#p19582ab83f)" d="M 242.37049 119.666678 +" style="fill:#d2dbe8;"/> + <path clip-path="url(#p553f52e075)" d="M 242.37049 119.666678 L 245.882187 118.369708 L 247.936845 118.386007 L 244.436333 121.869197 -L 242.37049 119.666678 z " style="fill:#b70d28;"/> - <path clip-path="url(#p19582ab83f)" d="M 241.381799 326.875487 + <path clip-path="url(#p553f52e075)" d="M 256.874386 185.978155 +L 260.423885 171.833178 +L 262.448148 174.372979 +L 258.893416 192.354666 +z +" style="fill:#f7ac8e;"/> + <path clip-path="url(#p553f52e075)" d="M 241.381799 326.875487 L 244.890706 325.198062 L 246.960067 329.056541 L 243.453562 329.189261 -L 241.381799 326.875487 z -" style="fill:#4055c8;"/> - <path clip-path="url(#p19582ab83f)" d="M 246.834335 148.970013 -L 250.382264 164.767792 -L 252.408716 153.336855 -L 248.870615 141.283035 -L 246.834335 148.970013 +" style="fill:#3f53c6;"/> + <path clip-path="url(#p553f52e075)" d="M 269.653066 119.492763 +L 273.198065 120.673312 +L 275.167844 125.60094 +L 271.635043 124.149244 z -" style="fill:#e57058;"/> - <path clip-path="url(#p19582ab83f)" d="M 244.787327 152.991575 -L 248.349487 170.576237 -L 250.382264 164.767792 -L 246.834335 148.970013 -L 244.787327 152.991575 +" style="fill:#bd1f2d;"/> + <path clip-path="url(#p553f52e075)" d="M 228.436483 284.638207 +L 231.944994 287.278287 +L 233.895547 268.419679 +L 230.369999 265.409197 z -" style="fill:#ec7f63;"/> - <path clip-path="url(#p19582ab83f)" d="M 236.808431 122.677869 -L 240.302518 119.464095 -L 242.37049 119.666678 -L 238.888062 124.631519 -L 236.808431 122.677869 +" style="fill:#90b2fe;"/> + <path clip-path="url(#p553f52e075)" d="M 235.462504 290.891475 +L 238.985084 295.342664 +L 240.969112 278.014532 +L 237.430146 272.664732 z -" style="fill:#bb1b2c;"/> - <path clip-path="url(#p19582ab83f)" d="M 250.474222 327.962369 +" style="fill:#82a6fb;"/> + <path clip-path="url(#p553f52e075)" d="M 250.474222 327.962369 L 253.999227 325.692594 L 256.037871 329.243316 L 252.518803 329.642139 -L 250.474222 327.962369 z " style="fill:#3f53c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 292.397503 147.590318 -L 295.825204 160.425904 -L 297.653861 169.720357 -L 294.256721 156.226253 -L 292.397503 147.590318 + <path clip-path="url(#p553f52e075)" d="M 283.489385 261.558327 +L 286.893752 278.262546 +L 288.953889 268.65666 +L 285.567103 250.597224 z -" style="fill:#ea7b60;"/> - <path clip-path="url(#p19582ab83f)" d="M 269.653066 119.492763 -L 273.198065 120.673312 -L 275.167844 125.60094 -L 271.635043 124.149244 -L 269.653066 119.492763 +" style="fill:#a3c2fe;"/> + <path clip-path="url(#p553f52e075)" d="M 236.808431 122.677869 +L 240.302518 119.464095 +L 242.37049 119.666678 +L 238.888062 124.631519 +z +" style="fill:#ba162b;"/> + <path clip-path="url(#p553f52e075)" d="M 231.944994 287.278287 +L 235.462504 290.891475 +L 237.430146 272.664732 +L 233.895547 268.419679 +z +" style="fill:#8badfd;"/> + <path clip-path="url(#p553f52e075)" d="M 283.81987 129.903743 +L 287.331959 136.324627 +L 289.206947 145.5878 +L 285.724797 137.952029 +z +" style="fill:#d44e41;"/> + <path clip-path="url(#p553f52e075)" d="M 223.687378 139.455972 +L 227.090686 129.468113 +L 229.178644 128.437706 +L 225.774134 138.593134 +z +" style="fill:#cf453c;"/> + <path clip-path="url(#p553f52e075)" d="M 295.800567 214.259135 +L 299.1055 235.342211 +L 301.076156 232.838425 +L 297.786978 211.708449 z -" style="fill:#bb1b2c;"/> - <path clip-path="url(#p19582ab83f)" d="M 285.34109 322.592448 +" style="fill:#dedcdb;"/> + <path clip-path="url(#p553f52e075)" d="M 161.3382 233.471379 +L 165.129301 246.239584 +L 167.736564 260.036213 +L 163.980129 247.495962 +z +" style="fill:#bfd3f6;"/> + <path clip-path="url(#p553f52e075)" d="M 232.274598 323.815637 +L 235.771827 322.529848 +L 237.880799 327.708791 +L 234.386024 327.87679 +z +" style="fill:#4358cb;"/> + <path clip-path="url(#p553f52e075)" d="M 285.34109 322.592448 L 288.983036 315.767828 L 290.899065 320.099879 L 287.282802 324.994841 -L 285.34109 322.592448 z " style="fill:#4a63d3;"/> - <path clip-path="url(#p19582ab83f)" d="M 290.899065 320.099879 + <path clip-path="url(#p553f52e075)" d="M 290.899065 320.099879 L 294.57377 312.144 L 296.4703 316.491339 L 292.822082 322.68247 -L 290.899065 320.099879 z -" style="fill:#4e68d8;"/> - <path clip-path="url(#p19582ab83f)" d="M 257.129059 292.012151 +" style="fill:#4f69d9;"/> + <path clip-path="url(#p553f52e075)" d="M 257.129059 292.012151 L 260.645981 301.012444 L 262.694632 287.04927 L 259.175252 276.141304 -L 257.129059 292.012151 -z -" style="fill:#7a9df8;"/> - <path clip-path="url(#p19582ab83f)" d="M 247.764505 170.626147 -L 251.303115 175.769637 -L 253.35956 193.05982 -L 249.841127 184.060245 -L 247.764505 170.626147 -z -" style="fill:#f7a889;"/> - <path clip-path="url(#p19582ab83f)" d="M 283.489385 261.558327 -L 286.893752 278.262546 -L 288.953889 268.65666 -L 285.567103 250.597224 -L 283.489385 261.558327 -z -" style="fill:#a5c3fe;"/> - <path clip-path="url(#p19582ab83f)" d="M 232.274598 323.815637 -L 235.771827 322.529848 -L 237.880799 327.708791 -L 234.386024 327.87679 -L 232.274598 323.815637 z -" style="fill:#445acc;"/> - <path clip-path="url(#p19582ab83f)" d="M 268.259415 284.075467 +" style="fill:#7b9ff9;"/> + <path clip-path="url(#p553f52e075)" d="M 268.259415 284.075467 L 271.746367 295.885453 L 273.811669 283.305858 L 270.332473 269.534593 -L 268.259415 284.075467 z " style="fill:#85a8fc;"/> - <path clip-path="url(#p19582ab83f)" d="M 279.788789 324.181105 + <path clip-path="url(#p553f52e075)" d="M 251.303115 175.769637 +L 254.837747 172.531337 +L 256.874386 185.978155 +L 253.35956 193.05982 +z +" style="fill:#f7ac8e;"/> + <path clip-path="url(#p553f52e075)" d="M 279.788789 324.181105 L 283.405817 318.17123 L 285.34109 322.592448 L 281.747756 326.570145 -L 279.788789 324.181105 z " style="fill:#485fd1;"/> - <path clip-path="url(#p19582ab83f)" d="M 209.509559 191.179042 -L 212.798638 177.555917 -L 214.769129 164.938066 -L 211.459887 178.370083 -L 209.509559 191.179042 -z -" style="fill:#f7a98b;"/> - <path clip-path="url(#p19582ab83f)" d="M 248.043527 291.220811 -L 251.572695 298.528652 -L 253.600738 282.864385 -L 250.06127 273.988734 -L 248.043527 291.220811 -z -" style="fill:#7ea1fa;"/> - <path clip-path="url(#p19582ab83f)" d="M 296.4703 316.491339 -L 300.18736 307.098949 -L 302.064917 311.483774 -L 298.373665 319.330342 -L 296.4703 316.491339 + <path clip-path="url(#p553f52e075)" d="M 151.21053 202.438153 +L 155.108193 217.777697 +L 157.728647 230.091285 +L 153.844316 214.28131 z -" style="fill:#5572df;"/> - <path clip-path="url(#p19582ab83f)" d="M 262.694632 287.04927 -L 266.199705 297.582174 -L 268.259415 284.075467 -L 264.756816 271.5929 -L 262.694632 287.04927 +" style="fill:#e7d7ce;"/> + <path clip-path="url(#p553f52e075)" d="M 273.198065 120.673312 +L 276.744544 122.544211 +L 278.697669 128.230441 +L 275.167844 125.60094 z -" style="fill:#82a6fb;"/> - <path clip-path="url(#p19582ab83f)" d="M 251.45635 117.710045 +" style="fill:#be242e;"/> + <path clip-path="url(#p553f52e075)" d="M 251.45635 117.710045 L 254.985889 119.107303 L 257.022844 117.484492 L 253.498543 118.348575 -L 251.45635 117.710045 z " style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 283.81987 129.903743 -L 287.331959 136.324627 -L 289.206947 145.5878 -L 285.724797 137.952029 -L 283.81987 129.903743 -z -" style="fill:#d1493f;"/> - <path clip-path="url(#p19582ab83f)" d="M 156.32905 219.70222 -L 160.175627 233.952268 -L 162.792906 247.131255 -L 158.973015 232.824376 -L 156.32905 219.70222 -z -" style="fill:#d6dce4;"/> - <path clip-path="url(#p19582ab83f)" d="M 259.568597 327.460502 + <path clip-path="url(#p553f52e075)" d="M 259.568597 327.460502 L 263.11625 324.082268 L 265.124627 328.182696 L 261.58869 329.515071 -L 259.568597 327.460502 z " style="fill:#4257c9;"/> - <path clip-path="url(#p19582ab83f)" d="M 219.893789 264.278004 -L 223.364832 263.340685 -L 225.265711 242.203607 -L 221.7793 243.473297 -L 219.893789 264.278004 -z -" style="fill:#b3cdfb;"/> - <path clip-path="url(#p19582ab83f)" d="M 257.966527 147.611539 -L 261.492789 150.945424 -L 263.548182 136.09814 -L 260.011481 133.831236 -L 257.966527 147.611539 -z -" style="fill:#dc5d4a;"/> - <path clip-path="url(#p19582ab83f)" d="M 295.800567 214.259135 -L 299.1055 235.342211 -L 301.076156 232.838425 -L 297.786978 211.708449 -L 295.800567 214.259135 -z -" style="fill:#e1dad6;"/> - <path clip-path="url(#p19582ab83f)" d="M 273.198065 120.673312 -L 276.744544 122.544211 -L 278.697669 128.230441 -L 275.167844 125.60094 -L 273.198065 120.673312 + <path clip-path="url(#p553f52e075)" d="M 262.694632 287.04927 +L 266.199705 297.582174 +L 268.259415 284.075467 +L 264.756816 271.5929 z -" style="fill:#bd1f2d;"/> - <path clip-path="url(#p19582ab83f)" d="M 260.555316 117.918314 +" style="fill:#82a6fb;"/> + <path clip-path="url(#p553f52e075)" d="M 260.555316 117.918314 L 264.093763 118.920506 L 266.112168 118.868489 L 262.576837 118.932074 -L 260.555316 117.918314 z " style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 248.870615 141.283035 -L 252.408716 153.336855 -L 254.440511 140.608311 -L 250.906255 132.339611 -L 248.870615 141.283035 -z -" style="fill:#d95847;"/> - <path clip-path="url(#p19582ab83f)" d="M 214.894201 250.244376 -L 218.321067 246.192911 -L 220.200343 224.924414 -L 216.759826 229.584314 -L 214.894201 250.244376 + <path clip-path="url(#p553f52e075)" d="M 296.4703 316.491339 +L 300.18736 307.098949 +L 302.064917 311.483774 +L 298.373665 319.330342 z -" style="fill:#cad8ef;"/> - <path clip-path="url(#p19582ab83f)" d="M 208.95787 208.204294 -L 212.268433 196.474797 -L 214.190332 180.177299 -L 210.862104 192.106068 -L 208.95787 208.204294 +" style="fill:#5572df;"/> + <path clip-path="url(#p553f52e075)" d="M 296.948179 174.793892 +L 300.283556 193.769375 +L 302.159568 198.052667 +L 298.844823 179.117913 z -" style="fill:#f5c1a9;"/> - <path clip-path="url(#p19582ab83f)" d="M 251.303115 175.769637 -L 254.837747 172.531337 -L 256.874386 185.978155 -L 253.35956 193.05982 -L 251.303115 175.769637 +" style="fill:#f7b396;"/> + <path clip-path="url(#p553f52e075)" d="M 248.043527 291.220811 +L 251.572695 298.528652 +L 253.600738 282.864385 +L 250.06127 273.988734 z -" style="fill:#f7a98b;"/> - <path clip-path="url(#p19582ab83f)" d="M 254.440511 140.608311 -L 257.966527 147.611539 -L 260.011481 133.831236 -L 256.479063 129.459122 +" style="fill:#81a4fb;"/> + <path clip-path="url(#p553f52e075)" d="M 248.870615 141.283035 +L 252.408716 153.336855 L 254.440511 140.608311 +L 250.906255 132.339611 z -" style="fill:#d44e41;"/> - <path clip-path="url(#p19582ab83f)" d="M 161.3382 233.471379 -L 165.129301 246.239584 -L 167.736564 260.036213 -L 163.980129 247.495962 -L 161.3382 233.471379 -z -" style="fill:#c5d6f2;"/> - <path clip-path="url(#p19582ab83f)" d="M 274.236661 324.978613 -L 277.834651 319.488035 -L 279.788789 324.181105 -L 276.211713 327.604311 -L 274.236661 324.978613 -z -" style="fill:#465ecf;"/> - <path clip-path="url(#p19582ab83f)" d="M 262.97313 165.961228 -L 266.537815 157.07465 -L 268.602465 144.306124 -L 265.034427 149.468159 -L 262.97313 165.961228 -z -" style="fill:#e97a5f;"/> - <path clip-path="url(#p19582ab83f)" d="M 280.287619 125.463208 +" style="fill:#d95847;"/> + <path clip-path="url(#p553f52e075)" d="M 280.287619 125.463208 L 283.81987 129.903743 L 285.724797 137.952029 L 282.219008 132.253471 -L 280.287619 125.463208 z -" style="fill:#c73635;"/> - <path clip-path="url(#p19582ab83f)" d="M 276.744544 122.544211 +" style="fill:#ca3b37;"/> + <path clip-path="url(#p553f52e075)" d="M 276.744544 122.544211 L 280.287619 125.463208 L 282.219008 132.253471 L 278.697669 128.230441 -L 276.744544 122.544211 z -" style="fill:#c12b30;"/> - <path clip-path="url(#p19582ab83f)" d="M 275.888485 270.067289 -L 279.339838 284.737632 -L 281.412167 273.083584 -L 277.973973 256.739842 -L 275.888485 270.067289 +" style="fill:#c32e31;"/> + <path clip-path="url(#p553f52e075)" d="M 293.953113 153.204824 +L 297.356891 168.007216 +L 299.200634 175.719061 +L 295.825204 160.425904 z -" style="fill:#9bbcff;"/> - <path clip-path="url(#p19582ab83f)" d="M 285.567103 250.597224 +" style="fill:#f08a6c;"/> + <path clip-path="url(#p553f52e075)" d="M 285.567103 250.597224 L 288.953889 268.65666 L 291.010248 259.697089 L 287.640585 240.56357 -L 285.567103 250.597224 z -" style="fill:#b6cefa;"/> - <path clip-path="url(#p19582ab83f)" d="M 245.882187 118.369708 +" style="fill:#b5cdfa;"/> + <path clip-path="url(#p553f52e075)" d="M 257.966527 147.611539 +L 261.492789 150.945424 +L 263.548182 136.09814 +L 260.011481 133.831236 +z +" style="fill:#d95847;"/> + <path clip-path="url(#p553f52e075)" d="M 274.236661 324.978613 +L 277.834651 319.488035 +L 279.788789 324.181105 +L 276.211713 327.604311 +z +" style="fill:#465ecf;"/> + <path clip-path="url(#p553f52e075)" d="M 275.888485 270.067289 +L 279.339838 284.737632 +L 281.412167 273.083584 +L 277.973973 256.739842 +z +" style="fill:#9abbff;"/> + <path clip-path="url(#p553f52e075)" d="M 254.440511 140.608311 +L 257.966527 147.611539 +L 260.011481 133.831236 +L 256.479063 129.459122 +z +" style="fill:#d44e41;"/> + <path clip-path="url(#p553f52e075)" d="M 242.718284 152.198726 +L 246.292303 168.034863 +L 248.349487 170.576237 +L 244.787327 152.991575 +z +" style="fill:#ed8366;"/> + <path clip-path="url(#p553f52e075)" d="M 293.789077 218.480792 +L 297.109863 239.366613 +L 299.1055 235.342211 +L 295.800567 214.259135 +z +" style="fill:#dbdcde;"/> + <path clip-path="url(#p553f52e075)" d="M 245.882187 118.369708 L 249.410697 120.25731 L 251.45635 117.710045 L 247.936845 118.386007 -L 245.882187 118.369708 z " style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 221.607958 141.77605 -L 225.005475 131.601957 -L 227.090686 129.468113 -L 223.687378 139.455972 -L 221.607958 141.77605 + <path clip-path="url(#p553f52e075)" d="M 209.509559 191.179042 +L 212.798638 177.555917 +L 214.769129 164.938066 +L 211.459887 178.370083 z -" style="fill:#d1493f;"/> - <path clip-path="url(#p19582ab83f)" d="M 151.21053 202.438153 -L 155.108193 217.777697 -L 157.728647 230.091285 -L 153.844316 214.28131 -L 151.21053 202.438153 +" style="fill:#f6a385;"/> + <path clip-path="url(#p553f52e075)" d="M 219.893789 264.278004 +L 223.364832 263.340685 +L 225.265711 242.203607 +L 221.7793 243.473297 z -" style="fill:#ebd3c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 296.948179 174.793892 -L 300.283556 193.769375 -L 302.159568 198.052667 +" style="fill:#b7cff9;"/> + <path clip-path="url(#p553f52e075)" d="M 295.472992 162.16742 L 298.844823 179.117913 -L 296.948179 174.793892 -z -" style="fill:#f7ad90;"/> - <path clip-path="url(#p19582ab83f)" d="M 261.492789 150.945424 -L 265.034427 149.468159 -L 267.09803 135.666506 -L 263.548182 136.09814 -L 261.492789 150.945424 +L 300.703994 185.181895 +L 297.356891 168.007216 z -" style="fill:#dc5d4a;"/> - <path clip-path="url(#p19582ab83f)" d="M 254.985889 119.107303 +" style="fill:#f59c7d;"/> + <path clip-path="url(#p553f52e075)" d="M 254.985889 119.107303 L 258.519834 121.574199 L 260.555316 117.918314 L 257.022844 117.484492 -L 254.985889 119.107303 z " style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 293.953113 153.204824 -L 297.356891 168.007216 -L 299.200634 175.719061 -L 295.825204 160.425904 -L 293.953113 153.204824 + <path clip-path="url(#p553f52e075)" d="M 244.204097 159.828311 +L 247.764505 170.626147 +L 249.841127 184.060245 +L 246.292303 168.034863 z -" style="fill:#ee8468;"/> - <path clip-path="url(#p19582ab83f)" d="M 244.890706 325.198062 +" style="fill:#f39577;"/> + <path clip-path="url(#p553f52e075)" d="M 244.890706 325.198062 L 248.410029 322.501189 L 250.474222 327.962369 L 246.960067 329.056541 -L 244.890706 325.198062 z " style="fill:#455cce;"/> - <path clip-path="url(#p19582ab83f)" d="M 229.178644 128.437706 -L 232.644082 122.840853 -L 234.727241 122.23638 -L 231.267858 128.586829 -L 229.178644 128.437706 + <path clip-path="url(#p553f52e075)" d="M 214.894201 250.244376 +L 218.321067 246.192911 +L 220.200343 224.924414 +L 216.759826 229.584314 z -" style="fill:#c0282f;"/> - <path clip-path="url(#p19582ab83f)" d="M 244.508122 284.281859 -L 248.043527 291.220811 -L 250.06127 273.988734 -L 246.512625 265.750977 -L 244.508122 284.281859 +" style="fill:#cedaeb;"/> + <path clip-path="url(#p553f52e075)" d="M 296.428043 190.25132 +L 299.745205 210.83672 +L 301.672528 211.625378 +L 298.372245 191.155249 z -" style="fill:#8db0fe;"/> - <path clip-path="url(#p19582ab83f)" d="M 242.718284 152.198726 -L 246.292303 168.034863 -L 248.349487 170.576237 -L 244.787327 152.991575 -L 242.718284 152.198726 +" style="fill:#f4c6af;"/> + <path clip-path="url(#p553f52e075)" d="M 287.640585 240.56357 +L 291.010248 259.697089 +L 293.058077 251.684084 +L 289.70506 231.740994 z -" style="fill:#eb7d62;"/> - <path clip-path="url(#p19582ab83f)" d="M 264.093763 118.920506 +" style="fill:#c3d5f4;"/> + <path clip-path="url(#p553f52e075)" d="M 208.95787 208.204294 +L 212.268433 196.474797 +L 214.190332 180.177299 +L 210.862104 192.106068 +z +" style="fill:#f6bda2;"/> + <path clip-path="url(#p553f52e075)" d="M 264.093763 118.920506 L 267.638464 119.928525 L 269.653066 119.492763 L 266.112168 118.868489 -L 264.093763 118.920506 z " style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 250.906255 132.339611 + <path clip-path="url(#p553f52e075)" d="M 221.607958 141.77605 +L 225.005475 131.601957 +L 227.090686 129.468113 +L 223.687378 139.455972 +z +" style="fill:#cf453c;"/> + <path clip-path="url(#p553f52e075)" d="M 250.906255 132.339611 L 254.440511 140.608311 L 256.479063 129.459122 L 252.945238 124.4018 -L 250.906255 132.339611 z -" style="fill:#ca3b37;"/> - <path clip-path="url(#p19582ab83f)" d="M 293.789077 218.480792 +" style="fill:#c83836;"/> + <path clip-path="url(#p553f52e075)" d="M 235.771827 322.529848 +L 239.276811 320.464556 +L 241.381799 326.875487 +L 237.880799 327.708791 +z +" style="fill:#485fd1;"/> + <path clip-path="url(#p553f52e075)" d="M 288.922348 137.534596 +L 292.397503 147.590318 +L 294.256721 156.226253 +L 290.813915 145.056636 +z +" style="fill:#de614d;"/> + <path clip-path="url(#p553f52e075)" d="M 229.178644 128.437706 +L 232.644082 122.840853 +L 234.727241 122.23638 +L 231.267858 128.586829 +z +" style="fill:#be242e;"/> + <path clip-path="url(#p553f52e075)" d="M 262.97313 165.961228 +L 266.537815 157.07465 +L 268.602465 144.306124 +L 265.034427 149.468159 +z +" style="fill:#e67259;"/> + <path clip-path="url(#p553f52e075)" d="M 291.755964 224.334778 +L 295.092735 244.850932 L 297.109863 239.366613 -L 299.1055 235.342211 -L 295.800567 214.259135 L 293.789077 218.480792 z -" style="fill:#dedcdb;"/> - <path clip-path="url(#p19582ab83f)" d="M 268.680472 324.98399 +" style="fill:#d6dce4;"/> + <path clip-path="url(#p553f52e075)" d="M 268.680472 324.98399 L 272.263479 319.764338 L 274.236661 324.978613 L 270.671447 328.164713 -L 268.680472 324.98399 z " style="fill:#485fd1;"/> - <path clip-path="url(#p19582ab83f)" d="M 240.302518 119.464095 + <path clip-path="url(#p553f52e075)" d="M 240.302518 119.464095 L 243.826269 120.4304 L 245.882187 118.369708 L 242.37049 119.666678 -L 240.302518 119.464095 z " style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 235.771827 322.529848 -L 239.276811 320.464556 -L 241.381799 326.875487 -L 237.880799 327.708791 -L 235.771827 322.529848 -z -" style="fill:#4961d2;"/> - <path clip-path="url(#p19582ab83f)" d="M 249.410697 120.25731 -L 252.945238 124.4018 -L 254.985889 119.107303 -L 251.45635 117.710045 -L 249.410697 120.25731 + <path clip-path="url(#p553f52e075)" d="M 261.492789 150.945424 +L 265.034427 149.468159 +L 267.09803 135.666506 +L 263.548182 136.09814 z -" style="fill:#b50927;"/> - <path clip-path="url(#p19582ab83f)" d="M 253.999227 325.692594 +" style="fill:#d95847;"/> + <path clip-path="url(#p553f52e075)" d="M 253.999227 325.692594 L 257.539253 322.0585 L 259.568597 327.460502 L 256.037871 329.243316 -L 253.999227 325.692594 -z -" style="fill:#465ecf;"/> - <path clip-path="url(#p19582ab83f)" d="M 253.600738 282.864385 -L 257.129059 292.012151 -L 259.175252 276.141304 -L 255.640328 265.349997 -L 253.600738 282.864385 -z -" style="fill:#8fb1fe;"/> - <path clip-path="url(#p19582ab83f)" d="M 287.640585 240.56357 -L 291.010248 259.697089 -L 293.058077 251.684084 -L 289.70506 231.740994 -L 287.640585 240.56357 -z -" style="fill:#c5d6f2;"/> - <path clip-path="url(#p19582ab83f)" d="M 223.364832 263.340685 -L 226.85825 263.708485 -L 228.776158 242.452063 -L 225.265711 242.203607 -L 223.364832 263.340685 -z -" style="fill:#b6cefa;"/> - <path clip-path="url(#p19582ab83f)" d="M 211.459887 178.370083 -L 214.769129 164.938066 -L 216.771991 154.442757 -L 213.441067 167.364284 -L 211.459887 178.370083 -z -" style="fill:#f29072;"/> - <path clip-path="url(#p19582ab83f)" d="M 295.472992 162.16742 -L 298.844823 179.117913 -L 300.703994 185.181895 -L 297.356891 168.007216 -L 295.472992 162.16742 z -" style="fill:#f39577;"/> - <path clip-path="url(#p19582ab83f)" d="M 252.945238 124.4018 -L 256.479063 129.459122 -L 258.519834 121.574199 -L 254.985889 119.107303 +" style="fill:#455cce;"/> + <path clip-path="url(#p553f52e075)" d="M 249.410697 120.25731 L 252.945238 124.4018 -z -" style="fill:#bb1b2c;"/> - <path clip-path="url(#p19582ab83f)" d="M 256.479063 129.459122 -L 260.011481 133.831236 -L 262.05698 124.017764 -L 258.519834 121.574199 -L 256.479063 129.459122 -z -" style="fill:#c12b30;"/> - <path clip-path="url(#p19582ab83f)" d="M 258.519834 121.574199 -L 262.05698 124.017764 -L 264.093763 118.920506 -L 260.555316 117.918314 -L 258.519834 121.574199 +L 254.985889 119.107303 +L 251.45635 117.710045 z " style="fill:#b50927;"/> - <path clip-path="url(#p19582ab83f)" d="M 234.727241 122.23638 -L 238.232491 120.563512 -L 240.302518 119.464095 -L 236.808431 122.677869 -L 234.727241 122.23638 -z -" style="fill:#b70d28;"/> - <path clip-path="url(#p19582ab83f)" d="M 244.204097 159.828311 -L 247.764505 170.626147 -L 249.841127 184.060245 -L 246.292303 168.034863 -L 244.204097 159.828311 -z -" style="fill:#f29072;"/> - <path clip-path="url(#p19582ab83f)" d="M 213.356163 235.634128 -L 216.759826 229.584314 -L 218.642368 208.808086 -L 215.223935 215.412526 -L 213.356163 235.634128 -z -" style="fill:#dfdbd9;"/> - <path clip-path="url(#p19582ab83f)" d="M 291.755964 224.334778 + <path clip-path="url(#p553f52e075)" d="M 289.70506 231.740994 +L 293.058077 251.684084 L 295.092735 244.850932 -L 297.109863 239.366613 -L 293.789077 218.480792 L 291.755964 224.334778 z -" style="fill:#d9dce1;"/> - <path clip-path="url(#p19582ab83f)" d="M 210.37895 214.20979 -L 213.724219 204.277236 -L 215.630967 186.25184 -L 212.268433 196.474797 -L 210.37895 214.20979 -z -" style="fill:#f3c8b2;"/> - <path clip-path="url(#p19582ab83f)" d="M 296.428043 190.25132 -L 299.745205 210.83672 -L 301.672528 211.625378 -L 298.372245 191.155249 -L 296.428043 190.25132 -z -" style="fill:#f5c2aa;"/> - <path clip-path="url(#p19582ab83f)" d="M 288.922348 137.534596 -L 292.397503 147.590318 -L 294.256721 156.226253 -L 290.813915 145.056636 -L 288.922348 137.534596 +" style="fill:#cedaeb;"/> + <path clip-path="url(#p553f52e075)" d="M 244.508122 284.281859 +L 248.043527 291.220811 +L 250.06127 273.988734 +L 246.512625 265.750977 z -" style="fill:#da5a49;"/> - <path clip-path="url(#p19582ab83f)" d="M 289.70506 231.740994 -L 293.058077 251.684084 -L 295.092735 244.850932 -L 291.755964 224.334778 -L 289.70506 231.740994 +" style="fill:#90b2fe;"/> + <path clip-path="url(#p553f52e075)" d="M 252.945238 124.4018 +L 256.479063 129.459122 +L 258.519834 121.574199 +L 254.985889 119.107303 z -" style="fill:#d1dae9;"/> - <path clip-path="url(#p19582ab83f)" d="M 260.011481 133.831236 -L 263.548182 136.09814 -L 265.60013 125.554115 +" style="fill:#ba162b;"/> + <path clip-path="url(#p553f52e075)" d="M 258.519834 121.574199 L 262.05698 124.017764 +L 264.093763 118.920506 +L 260.555316 117.918314 +z +" style="fill:#b50927;"/> + <path clip-path="url(#p553f52e075)" d="M 234.727241 122.23638 +L 238.232491 120.563512 +L 240.302518 119.464095 +L 236.808431 122.677869 +z +" style="fill:#b50927;"/> + <path clip-path="url(#p553f52e075)" d="M 253.600738 282.864385 +L 257.129059 292.012151 +L 259.175252 276.141304 +L 255.640328 265.349997 +z +" style="fill:#90b2fe;"/> + <path clip-path="url(#p553f52e075)" d="M 256.479063 129.459122 L 260.011481 133.831236 +L 262.05698 124.017764 +L 258.519834 121.574199 z -" style="fill:#c73635;"/> - <path clip-path="url(#p19582ab83f)" d="M 219.539139 145.601297 -L 222.925896 134.923039 -L 225.005475 131.601957 -L 221.607958 141.77605 -L 219.539139 145.601297 +" style="fill:#c12b30;"/> + <path clip-path="url(#p553f52e075)" d="M 243.270892 135.846865 +L 246.834335 148.970013 +L 248.870615 141.283035 +L 245.319987 130.79628 z " style="fill:#d44e41;"/> - <path clip-path="url(#p19582ab83f)" d="M 247.365207 125.066763 -L 250.906255 132.339611 -L 252.945238 124.4018 -L 249.410697 120.25731 -L 247.365207 125.066763 -z -" style="fill:#bd1f2d;"/> - <path clip-path="url(#p19582ab83f)" d="M 245.319987 130.79628 + <path clip-path="url(#p553f52e075)" d="M 245.319987 130.79628 L 248.870615 141.283035 L 250.906255 132.339611 L 247.365207 125.066763 -L 245.319987 130.79628 z " style="fill:#c83836;"/> - <path clip-path="url(#p19582ab83f)" d="M 270.332473 269.534593 + <path clip-path="url(#p553f52e075)" d="M 247.365207 125.066763 +L 250.906255 132.339611 +L 252.945238 124.4018 +L 249.410697 120.25731 +z +" style="fill:#bd1f2d;"/> + <path clip-path="url(#p553f52e075)" d="M 270.332473 269.534593 L 273.811669 283.305858 L 275.888485 270.067289 L 272.417314 254.609819 -L 270.332473 269.534593 z " style="fill:#a1c0ff;"/> - <path clip-path="url(#p19582ab83f)" d="M 240.969112 278.014532 -L 244.508122 284.281859 -L 246.512625 265.750977 -L 242.958145 258.453372 -L 240.969112 278.014532 + <path clip-path="url(#p553f52e075)" d="M 243.826269 120.4304 +L 247.365207 125.066763 +L 249.410697 120.25731 +L 245.882187 118.369708 z -" style="fill:#9bbcff;"/> - <path clip-path="url(#p19582ab83f)" d="M 267.638464 119.928525 +" style="fill:#b50927;"/> + <path clip-path="url(#p553f52e075)" d="M 267.638464 119.928525 L 271.190437 120.729112 L 273.198065 120.673312 L 269.653066 119.492763 -L 267.638464 119.928525 z " style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 243.270892 135.846865 -L 246.834335 148.970013 -L 248.870615 141.283035 -L 245.319987 130.79628 -L 243.270892 135.846865 + <path clip-path="url(#p553f52e075)" d="M 260.011481 133.831236 +L 263.548182 136.09814 +L 265.60013 125.554115 +L 262.05698 124.017764 z -" style="fill:#d24b40;"/> - <path clip-path="url(#p19582ab83f)" d="M 243.826269 120.4304 -L 247.365207 125.066763 -L 249.410697 120.25731 -L 245.882187 118.369708 -L 243.826269 120.4304 +" style="fill:#c43032;"/> + <path clip-path="url(#p553f52e075)" d="M 223.364832 263.340685 +L 226.85825 263.708485 +L 228.776158 242.452063 +L 225.265711 242.203607 z -" style="fill:#b50927;"/> - <path clip-path="url(#p19582ab83f)" d="M 211.847602 223.445969 -L 215.223935 215.412526 -L 217.11666 195.814418 -L 213.724219 204.277236 -L 211.847602 223.445969 +" style="fill:#bad0f8;"/> + <path clip-path="url(#p553f52e075)" d="M 211.459887 178.370083 +L 214.769129 164.938066 +L 216.771991 154.442757 +L 213.441067 167.364284 +z +" style="fill:#f08a6c;"/> + <path clip-path="url(#p553f52e075)" d="M 277.973973 256.739842 +L 281.412167 273.083584 +L 283.489385 261.558327 +L 280.06425 243.842032 +z +" style="fill:#b2ccfb;"/> + <path clip-path="url(#p553f52e075)" d="M 219.539139 145.601297 +L 222.925896 134.923039 +L 225.005475 131.601957 +L 221.607958 141.77605 z -" style="fill:#edd1c2;"/> - <path clip-path="url(#p19582ab83f)" d="M 262.05698 124.017764 +" style="fill:#d1493f;"/> + <path clip-path="url(#p553f52e075)" d="M 262.05698 124.017764 L 265.60013 125.554115 L 267.638464 119.928525 L 264.093763 118.920506 -L 262.05698 124.017764 z " style="fill:#b70d28;"/> - <path clip-path="url(#p19582ab83f)" d="M 263.11625 324.082268 + <path clip-path="url(#p553f52e075)" d="M 263.11625 324.082268 L 266.686892 318.95136 L 268.680472 324.98399 L 265.124627 328.182696 -L 263.11625 324.082268 z " style="fill:#4a63d3;"/> - <path clip-path="url(#p19582ab83f)" d="M 259.175252 276.141304 + <path clip-path="url(#p553f52e075)" d="M 157.508698 220.056573 +L 161.3382 233.471379 +L 163.980129 247.495962 +L 160.175627 233.952268 +z +" style="fill:#d6dce4;"/> + <path clip-path="url(#p553f52e075)" d="M 240.969112 278.014532 +L 244.508122 284.281859 +L 246.512625 265.750977 +L 242.958145 258.453372 +z +" style="fill:#9ebeff;"/> + <path clip-path="url(#p553f52e075)" d="M 213.356163 235.634128 +L 216.759826 229.584314 +L 218.642368 208.808086 +L 215.223935 215.412526 +z +" style="fill:#e3d9d3;"/> + <path clip-path="url(#p553f52e075)" d="M 241.210539 138.794912 +L 244.787327 152.991575 +L 246.834335 148.970013 +L 243.270892 135.846865 +z +" style="fill:#d95847;"/> + <path clip-path="url(#p553f52e075)" d="M 152.450356 205.127735 +L 156.32905 219.70222 +L 158.973015 232.824376 +L 155.108193 217.777697 +z +" style="fill:#e7d7ce;"/> + <path clip-path="url(#p553f52e075)" d="M 259.175252 276.141304 L 262.694632 287.04927 L 264.756816 271.5929 L 261.235339 259.007583 -L 259.175252 276.141304 z " style="fill:#9abbff;"/> - <path clip-path="url(#p19582ab83f)" d="M 277.973973 256.739842 -L 281.412167 273.083584 -L 283.489385 261.558327 -L 280.06425 243.842032 -L 277.973973 256.739842 -z -" style="fill:#b2ccfb;"/> - <path clip-path="url(#p19582ab83f)" d="M 226.85825 263.708485 -L 230.369999 265.409197 -L 232.305857 244.24257 -L 228.776158 242.452063 -L 226.85825 263.708485 -z -" style="fill:#b6cefa;"/> - <path clip-path="url(#p19582ab83f)" d="M 213.441067 167.364284 -L 216.771991 154.442757 -L 218.803047 146.067924 -L 215.450823 158.266202 -L 213.441067 167.364284 + <path clip-path="url(#p553f52e075)" d="M 210.37895 214.20979 +L 213.724219 204.277236 +L 215.630967 186.25184 +L 212.268433 196.474797 z -" style="fill:#e97a5f;"/> - <path clip-path="url(#p19582ab83f)" d="M 264.756816 271.5929 +" style="fill:#f5c2aa;"/> + <path clip-path="url(#p553f52e075)" d="M 264.756816 271.5929 L 268.259415 284.075467 L 270.332473 269.534593 L 266.832735 255.364475 -L 264.756816 271.5929 z -" style="fill:#9fbfff;"/> - <path clip-path="url(#p19582ab83f)" d="M 217.485138 151.049768 -L 220.856472 139.649858 -L 222.925896 134.923039 -L 219.539139 145.601297 -L 217.485138 151.049768 +" style="fill:#a1c0ff;"/> + <path clip-path="url(#p553f52e075)" d="M 285.408534 130.291197 +L 288.922348 137.534596 +L 290.813915 145.056636 +L 287.331959 136.324627 z -" style="fill:#d95847;"/> - <path clip-path="url(#p19582ab83f)" d="M 218.321067 246.192911 -L 221.7793 243.473297 -L 223.674663 221.797393 -L 220.200343 224.924414 -L 218.321067 246.192911 +" style="fill:#cf453c;"/> + <path clip-path="url(#p553f52e075)" d="M 271.190437 120.729112 +L 274.74913 121.535277 +L 276.744544 122.544211 +L 273.198065 120.673312 +z +" style="fill:#b40426;"/> + <path clip-path="url(#p553f52e075)" d="M 241.76881 123.566032 +L 245.319987 130.79628 +L 247.365207 125.066763 +L 243.826269 120.4304 +z +" style="fill:#ba162b;"/> + <path clip-path="url(#p553f52e075)" d="M 238.232491 120.563512 +L 241.76881 123.566032 +L 243.826269 120.4304 +L 240.302518 119.464095 z -" style="fill:#d3dbe7;"/> - <path clip-path="url(#p19582ab83f)" d="M 263.548182 136.09814 +" style="fill:#b40426;"/> + <path clip-path="url(#p553f52e075)" d="M 263.548182 136.09814 L 267.09803 135.666506 L 269.153646 125.836675 L 265.60013 125.554115 -L 263.548182 136.09814 z -" style="fill:#c73635;"/> - <path clip-path="url(#p19582ab83f)" d="M 237.430146 272.664732 -L 240.969112 278.014532 -L 242.958145 258.453372 -L 239.402162 252.331488 -L 237.430146 272.664732 +" style="fill:#c43032;"/> + <path clip-path="url(#p553f52e075)" d="M 211.847602 223.445969 +L 215.223935 215.412526 +L 217.11666 195.814418 +L 213.724219 204.277236 z -" style="fill:#a6c4fe;"/> - <path clip-path="url(#p19582ab83f)" d="M 265.034427 149.468159 -L 268.602465 144.306124 -L 270.66704 133.120813 -L 267.09803 135.666506 -L 265.034427 149.468159 +" style="fill:#f0cdbb;"/> + <path clip-path="url(#p553f52e075)" d="M 226.85825 263.708485 +L 230.369999 265.409197 +L 232.305857 244.24257 +L 228.776158 242.452063 z -" style="fill:#d65244;"/> - <path clip-path="url(#p19582ab83f)" d="M 241.210539 138.794912 -L 244.787327 152.991575 -L 246.834335 148.970013 -L 243.270892 135.846865 -L 241.210539 138.794912 +" style="fill:#bad0f8;"/> + <path clip-path="url(#p553f52e075)" d="M 248.410029 322.501189 +L 251.943103 318.625727 +L 253.999227 325.692594 +L 250.474222 327.962369 z -" style="fill:#d75445;"/> - <path clip-path="url(#p19582ab83f)" d="M 215.450823 158.266202 +" style="fill:#4b64d5;"/> + <path clip-path="url(#p553f52e075)" d="M 213.441067 167.364284 +L 216.771991 154.442757 L 218.803047 146.067924 -L 220.856472 139.649858 -L 217.485138 151.049768 L 215.450823 158.266202 z -" style="fill:#e16751;"/> - <path clip-path="url(#p19582ab83f)" d="M 227.090686 129.468113 +" style="fill:#e7745b;"/> + <path clip-path="url(#p553f52e075)" d="M 227.090686 129.468113 L 230.558236 124.137889 L 232.644082 122.840853 L 229.178644 128.437706 -L 227.090686 129.468113 -z -" style="fill:#be242e;"/> - <path clip-path="url(#p19582ab83f)" d="M 210.862104 192.106068 -L 214.190332 180.177299 -L 216.148485 165.880932 -L 212.798638 177.555917 -L 210.862104 192.106068 -z -" style="fill:#f7a688;"/> - <path clip-path="url(#p19582ab83f)" d="M 271.190437 120.729112 -L 274.74913 121.535277 -L 276.744544 122.544211 -L 273.198065 120.673312 -L 271.190437 120.729112 -z -" style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 230.369999 265.409197 -L 233.895547 268.419679 -L 235.849638 247.55672 -L 232.305857 244.24257 -L 230.369999 265.409197 -z -" style="fill:#b3cdfb;"/> - <path clip-path="url(#p19582ab83f)" d="M 238.232491 120.563512 -L 241.76881 123.566032 -L 243.826269 120.4304 -L 240.302518 119.464095 -L 238.232491 120.563512 z -" style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 262.448148 174.372979 -L 266.043077 158.623922 -L 268.08314 154.575345 -L 264.484045 168.542129 -L 262.448148 174.372979 +" style="fill:#bd1f2d;"/> + <path clip-path="url(#p553f52e075)" d="M 217.485138 151.049768 +L 220.856472 139.649858 +L 222.925896 134.923039 +L 219.539139 145.601297 z -" style="fill:#ef886b;"/> - <path clip-path="url(#p19582ab83f)" d="M 241.76881 123.566032 -L 245.319987 130.79628 -L 247.365207 125.066763 -L 243.826269 120.4304 -L 241.76881 123.566032 +" style="fill:#d65244;"/> + <path clip-path="url(#p553f52e075)" d="M 239.276811 320.464556 +L 242.791689 317.485123 +L 244.890706 325.198062 +L 241.381799 326.875487 z -" style="fill:#ba162b;"/> - <path clip-path="url(#p19582ab83f)" d="M 233.895547 268.419679 -L 237.430146 272.664732 +" style="fill:#4e68d8;"/> + <path clip-path="url(#p553f52e075)" d="M 237.430146 272.664732 +L 240.969112 278.014532 +L 242.958145 258.453372 L 239.402162 252.331488 -L 235.849638 247.55672 -L 233.895547 268.419679 z -" style="fill:#aec9fc;"/> - <path clip-path="url(#p19582ab83f)" d="M 264.484045 168.542129 -L 268.08314 154.575345 -L 270.136183 146.847413 -L 266.537815 157.07465 -L 264.484045 168.542129 +" style="fill:#a9c6fd;"/> + <path clip-path="url(#p553f52e075)" d="M 294.453792 191.072609 +L 297.786978 211.708449 +L 299.745205 210.83672 +L 296.428043 190.25132 +z +" style="fill:#f5c2aa;"/> + <path clip-path="url(#p553f52e075)" d="M 283.405817 318.17123 +L 287.071505 309.597808 +L 288.983036 315.767828 +L 285.34109 322.592448 z -" style="fill:#e97a5f;"/> - <path clip-path="url(#p19582ab83f)" d="M 265.60013 125.554115 +" style="fill:#5673e0;"/> + <path clip-path="url(#p553f52e075)" d="M 265.60013 125.554115 L 269.153646 125.836675 L 271.190437 120.729112 L 267.638464 119.928525 -L 265.60013 125.554115 z " style="fill:#b70d28;"/> - <path clip-path="url(#p19582ab83f)" d="M 248.410029 322.501189 -L 251.943103 318.625727 -L 253.999227 325.692594 -L 250.474222 327.962369 -L 248.410029 322.501189 -z -" style="fill:#4c66d6;"/> - <path clip-path="url(#p19582ab83f)" d="M 288.983036 315.767828 + <path clip-path="url(#p553f52e075)" d="M 288.983036 315.767828 L 292.682272 306.194968 L 294.57377 312.144 L 290.899065 320.099879 -L 288.983036 315.767828 z -" style="fill:#5a78e4;"/> - <path clip-path="url(#p19582ab83f)" d="M 283.405817 318.17123 -L 287.071505 309.597808 -L 288.983036 315.767828 -L 285.34109 322.592448 -L 283.405817 318.17123 +" style="fill:#5b7ae5;"/> + <path clip-path="url(#p553f52e075)" d="M 265.034427 149.468159 +L 268.602465 144.306124 +L 270.66704 133.120813 +L 267.09803 135.666506 z -" style="fill:#5673e0;"/> - <path clip-path="url(#p19582ab83f)" d="M 250.06127 273.988734 -L 253.600738 282.864385 -L 255.640328 265.349997 -L 252.090758 255.111927 -L 250.06127 273.988734 +" style="fill:#d44e41;"/> + <path clip-path="url(#p553f52e075)" d="M 290.494205 141.368219 +L 293.953113 153.204824 +L 295.825204 160.425904 +L 292.397503 147.590318 z -" style="fill:#a1c0ff;"/> - <path clip-path="url(#p19582ab83f)" d="M 239.276811 320.464556 -L 242.791689 317.485123 -L 244.890706 325.198062 -L 241.381799 326.875487 -L 239.276811 320.464556 +" style="fill:#e0654f;"/> + <path clip-path="url(#p553f52e075)" d="M 295.016969 172.220347 +L 298.372245 191.155249 +L 300.283556 193.769375 +L 296.948179 174.793892 z -" style="fill:#4f69d9;"/> - <path clip-path="url(#p19582ab83f)" d="M 157.508698 220.056573 -L 161.3382 233.471379 -L 163.980129 247.495962 -L 160.175627 233.952268 -L 157.508698 220.056573 +" style="fill:#f7a889;"/> + <path clip-path="url(#p553f52e075)" d="M 215.450823 158.266202 +L 218.803047 146.067924 +L 220.856472 139.649858 +L 217.485138 151.049768 z -" style="fill:#dadce0;"/> - <path clip-path="url(#p19582ab83f)" d="M 285.408534 130.291197 -L 288.922348 137.534596 -L 290.813915 145.056636 -L 287.331959 136.324627 -L 285.408534 130.291197 +" style="fill:#de614d;"/> + <path clip-path="url(#p553f52e075)" d="M 218.321067 246.192911 +L 221.7793 243.473297 +L 223.674663 221.797393 +L 220.200343 224.924414 z -" style="fill:#cc403a;"/> - <path clip-path="url(#p19582ab83f)" d="M 152.450356 205.127735 -L 156.32905 219.70222 -L 158.973015 232.824376 -L 155.108193 217.777697 -L 152.450356 205.127735 +" style="fill:#d6dce4;"/> + <path clip-path="url(#p553f52e075)" d="M 230.369999 265.409197 +L 233.895547 268.419679 +L 235.849638 247.55672 +L 232.305857 244.24257 +z +" style="fill:#b7cff9;"/> + <path clip-path="url(#p553f52e075)" d="M 250.06127 273.988734 +L 253.600738 282.864385 +L 255.640328 265.349997 +L 252.090758 255.111927 z -" style="fill:#ebd3c6;"/> - <path clip-path="url(#p19582ab83f)" d="M 232.644082 122.840853 +" style="fill:#a3c2fe;"/> + <path clip-path="url(#p553f52e075)" d="M 232.644082 122.840853 L 236.158584 122.235533 L 238.232491 120.563512 L 234.727241 122.23638 -L 232.644082 122.840853 z " style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 277.834651 319.488035 -L 281.473644 311.66139 -L 283.405817 318.17123 -L 279.788789 324.181105 -L 277.834651 319.488035 + <path clip-path="url(#p553f52e075)" d="M 233.895547 268.419679 +L 237.430146 272.664732 +L 239.402162 252.331488 +L 235.849638 247.55672 z -" style="fill:#5470de;"/> - <path clip-path="url(#p19582ab83f)" d="M 294.57377 312.144 -L 298.314844 301.323234 -L 300.18736 307.098949 -L 296.4703 316.491339 -L 294.57377 312.144 +" style="fill:#b2ccfb;"/> + <path clip-path="url(#p553f52e075)" d="M 147.296615 187.331331 +L 151.21053 202.438153 +L 153.844316 214.28131 +L 149.928184 198.261081 z -" style="fill:#6282ea;"/> - <path clip-path="url(#p19582ab83f)" d="M 274.74913 121.535277 +" style="fill:#f5c2aa;"/> + <path clip-path="url(#p553f52e075)" d="M 274.74913 121.535277 L 278.310656 122.911766 L 280.287619 125.463208 L 276.744544 122.544211 -L 274.74913 121.535277 z " style="fill:#b50927;"/> - <path clip-path="url(#p19582ab83f)" d="M 254.837747 172.531337 + <path clip-path="url(#p553f52e075)" d="M 277.834651 319.488035 +L 281.473644 311.66139 +L 283.405817 318.17123 +L 279.788789 324.181105 +z +" style="fill:#5572df;"/> + <path clip-path="url(#p553f52e075)" d="M 262.448148 174.372979 +L 266.043077 158.623922 +L 268.08314 154.575345 +L 264.484045 168.542129 +z +" style="fill:#ed8366;"/> + <path clip-path="url(#p553f52e075)" d="M 239.706627 126.683104 +L 243.270892 135.846865 +L 245.319987 130.79628 +L 241.76881 123.566032 +z +" style="fill:#c12b30;"/> + <path clip-path="url(#p553f52e075)" d="M 281.867332 125.594083 +L 285.408534 130.291197 +L 287.331959 136.324627 +L 283.81987 129.903743 +z +" style="fill:#c32e31;"/> + <path clip-path="url(#p553f52e075)" d="M 254.837747 172.531337 L 258.393157 163.613896 L 260.423885 171.833178 L 256.874386 185.978155 -L 254.837747 172.531337 z " style="fill:#f39577;"/> - <path clip-path="url(#p19582ab83f)" d="M 257.539253 322.0585 + <path clip-path="url(#p553f52e075)" d="M 294.57377 312.144 +L 298.314844 301.323234 +L 300.18736 307.098949 +L 296.4703 316.491339 +z +" style="fill:#6384eb;"/> + <path clip-path="url(#p553f52e075)" d="M 210.862104 192.106068 +L 214.190332 180.177299 +L 216.148485 165.880932 +L 212.798638 177.555917 +z +" style="fill:#f5a081;"/> + <path clip-path="url(#p553f52e075)" d="M 257.539253 322.0585 L 261.099273 316.912199 L 263.11625 324.082268 L 259.568597 327.460502 -L 257.539253 322.0585 z " style="fill:#4f69d9;"/> - <path clip-path="url(#p19582ab83f)" d="M 294.453792 191.072609 -L 297.786978 211.708449 -L 299.745205 210.83672 -L 296.428043 190.25132 -L 294.453792 191.072609 -z -" style="fill:#f6bfa6;"/> - <path clip-path="url(#p19582ab83f)" d="M 239.706627 126.683104 -L 243.270892 135.846865 -L 245.319987 130.79628 -L 241.76881 123.566032 -L 239.706627 126.683104 -z -" style="fill:#c0282f;"/> - <path clip-path="url(#p19582ab83f)" d="M 290.494205 141.368219 -L 293.953113 153.204824 -L 295.825204 160.425904 -L 292.397503 147.590318 -L 290.494205 141.368219 -z -" style="fill:#de614d;"/> - <path clip-path="url(#p19582ab83f)" d="M 295.016969 172.220347 -L 298.372245 191.155249 -L 300.283556 193.769375 -L 296.948179 174.793892 -L 295.016969 172.220347 -z -" style="fill:#f6a385;"/> - <path clip-path="url(#p19582ab83f)" d="M 281.867332 125.594083 -L 285.408534 130.291197 -L 287.331959 136.324627 -L 283.81987 129.903743 -L 281.867332 125.594083 + <path clip-path="url(#p553f52e075)" d="M 264.484045 168.542129 +L 268.08314 154.575345 +L 270.136183 146.847413 +L 266.537815 157.07465 z -" style="fill:#c12b30;"/> - <path clip-path="url(#p19582ab83f)" d="M 280.06425 243.842032 +" style="fill:#e67259;"/> + <path clip-path="url(#p553f52e075)" d="M 280.06425 243.842032 L 283.489385 261.558327 L 285.567103 250.597224 L 282.154794 231.814861 -L 280.06425 243.842032 z -" style="fill:#c7d7f0;"/> - <path clip-path="url(#p19582ab83f)" d="M 278.310656 122.911766 +" style="fill:#c6d6f1;"/> + <path clip-path="url(#p553f52e075)" d="M 278.310656 122.911766 L 281.867332 125.594083 L 283.81987 129.903743 L 280.287619 125.463208 -L 278.310656 122.911766 z " style="fill:#ba162b;"/> - <path clip-path="url(#p19582ab83f)" d="M 267.09803 135.666506 -L 270.66704 133.120813 -L 272.719795 125.20807 -L 269.153646 125.836675 -L 267.09803 135.666506 + <path clip-path="url(#p553f52e075)" d="M 240.623108 147.713714 +L 244.204097 159.828311 +L 246.292303 168.034863 +L 242.718284 152.198726 z -" style="fill:#c32e31;"/> - <path clip-path="url(#p19582ab83f)" d="M 266.537815 157.07465 -L 270.136183 146.847413 -L 272.196681 137.858176 -L 268.602465 144.306124 -L 266.537815 157.07465 +" style="fill:#e67259;"/> + <path clip-path="url(#p553f52e075)" d="M 239.13201 139.042769 +L 242.718284 152.198726 +L 244.787327 152.991575 +L 241.210539 138.794912 z -" style="fill:#dd5f4b;"/> - <path clip-path="url(#p19582ab83f)" d="M 269.153646 125.836675 -L 272.719795 125.20807 -L 274.74913 121.535277 -L 271.190437 120.729112 -L 269.153646 125.836675 +" style="fill:#d95847;"/> + <path clip-path="url(#p553f52e075)" d="M 272.417314 254.609819 +L 275.888485 270.067289 +L 277.973973 256.739842 +L 274.510943 239.914242 z -" style="fill:#b70d28;"/> - <path clip-path="url(#p19582ab83f)" d="M 272.263479 319.764338 +" style="fill:#bad0f8;"/> + <path clip-path="url(#p553f52e075)" d="M 272.263479 319.764338 L 275.881072 312.456428 L 277.834651 319.488035 L 274.236661 324.978613 -L 272.263479 319.764338 z " style="fill:#5572df;"/> - <path clip-path="url(#p19582ab83f)" d="M 272.417314 254.609819 -L 275.888485 270.067289 -L 277.973973 256.739842 -L 274.510943 239.914242 -L 272.417314 254.609819 -z -" style="fill:#bbd1f8;"/> - <path clip-path="url(#p19582ab83f)" d="M 236.158584 122.235533 + <path clip-path="url(#p553f52e075)" d="M 236.158584 122.235533 L 239.706627 126.683104 L 241.76881 123.566032 L 238.232491 120.563512 -L 236.158584 122.235533 z -" style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 147.296615 187.331331 -L 151.21053 202.438153 -L 153.844316 214.28131 -L 149.928184 198.261081 -L 147.296615 187.331331 +" style="fill:#b50927;"/> + <path clip-path="url(#p553f52e075)" d="M 269.153646 125.836675 +L 272.719795 125.20807 +L 274.74913 121.535277 +L 271.190437 120.729112 z -" style="fill:#f6bda2;"/> - <path clip-path="url(#p19582ab83f)" d="M 239.13201 139.042769 -L 242.718284 152.198726 -L 244.787327 152.991575 -L 241.210539 138.794912 -L 239.13201 139.042769 +" style="fill:#b50927;"/> + <path clip-path="url(#p553f52e075)" d="M 292.041063 148.068271 +L 295.472992 162.16742 +L 297.356891 168.007216 +L 293.953113 153.204824 +z +" style="fill:#e7745b;"/> + <path clip-path="url(#p553f52e075)" d="M 293.552354 158.185579 +L 296.948179 174.793892 +L 298.844823 179.117913 +L 295.472992 162.16742 +z +" style="fill:#f08a6c;"/> + <path clip-path="url(#p553f52e075)" d="M 267.09803 135.666506 +L 270.66704 133.120813 +L 272.719795 125.20807 +L 269.153646 125.836675 z -" style="fill:#d75445;"/> - <path clip-path="url(#p19582ab83f)" d="M 225.005475 131.601957 +" style="fill:#c12b30;"/> + <path clip-path="url(#p553f52e075)" d="M 225.005475 131.601957 L 228.469906 125.996404 L 230.558236 124.137889 L 227.090686 129.468113 -L 225.005475 131.601957 -z -" style="fill:#be242e;"/> - <path clip-path="url(#p19582ab83f)" d="M 240.623108 147.713714 -L 244.204097 159.828311 -L 246.292303 168.034863 -L 242.718284 152.198726 -L 240.623108 147.713714 -z -" style="fill:#e36c55;"/> - <path clip-path="url(#p19582ab83f)" d="M 221.7793 243.473297 -L 225.265711 242.203607 -L 227.178611 220.291299 -L 223.674663 221.797393 -L 221.7793 243.473297 -z -" style="fill:#d8dce2;"/> - <path clip-path="url(#p19582ab83f)" d="M 216.759826 229.584314 -L 220.200343 224.924414 -L 222.100019 203.795163 -L 218.642368 208.808086 -L 216.759826 229.584314 -z -" style="fill:#ead5c9;"/> - <path clip-path="url(#p19582ab83f)" d="M 255.640328 265.349997 -L 259.175252 276.141304 -L 261.235339 259.007583 -L 257.694338 246.838673 -L 255.640328 265.349997 -z -" style="fill:#b1cbfc;"/> - <path clip-path="url(#p19582ab83f)" d="M 246.512625 265.750977 -L 250.06127 273.988734 -L 252.090758 255.111927 -L 248.52922 245.792188 -L 246.512625 265.750977 -z -" style="fill:#b2ccfb;"/> - <path clip-path="url(#p19582ab83f)" d="M 260.423885 171.833178 -L 264.0122 157.839832 -L 266.043077 158.623922 -L 262.448148 174.372979 -L 260.423885 171.833178 -z -" style="fill:#ee8669;"/> - <path clip-path="url(#p19582ab83f)" d="M 212.268433 196.474797 -L 215.630967 186.25184 -L 217.574389 170.139736 -L 214.190332 180.177299 -L 212.268433 196.474797 -z -" style="fill:#f7a98b;"/> - <path clip-path="url(#p19582ab83f)" d="M 292.041063 148.068271 -L 295.472992 162.16742 -L 297.356891 168.007216 -L 293.953113 153.204824 -L 292.041063 148.068271 z -" style="fill:#e46e56;"/> - <path clip-path="url(#p19582ab83f)" d="M 237.634914 128.895636 +" style="fill:#bd1f2d;"/> + <path clip-path="url(#p553f52e075)" d="M 237.634914 128.895636 L 241.210539 138.794912 L 243.270892 135.846865 L 239.706627 126.683104 -L 237.634914 128.895636 z -" style="fill:#c32e31;"/> - <path clip-path="url(#p19582ab83f)" d="M 212.798638 177.555917 -L 216.148485 165.880932 -L 218.142899 153.937514 -L 214.769129 164.938066 -L 212.798638 177.555917 +" style="fill:#c43032;"/> + <path clip-path="url(#p553f52e075)" d="M 266.537815 157.07465 +L 270.136183 146.847413 +L 272.196681 137.858176 +L 268.602465 144.306124 z -" style="fill:#ef886b;"/> - <path clip-path="url(#p19582ab83f)" d="M 293.552354 158.185579 -L 296.948179 174.793892 -L 298.844823 179.117913 -L 295.472992 162.16742 -L 293.552354 158.185579 +" style="fill:#d95847;"/> + <path clip-path="url(#p553f52e075)" d="M 292.452492 193.625685 +L 295.800567 214.259135 +L 297.786978 211.708449 +L 294.453792 191.072609 +z +" style="fill:#f5c2aa;"/> + <path clip-path="url(#p553f52e075)" d="M 255.640328 265.349997 +L 259.175252 276.141304 +L 261.235339 259.007583 +L 257.694338 246.838673 +z +" style="fill:#b2ccfb;"/> + <path clip-path="url(#p553f52e075)" d="M 282.154794 231.814861 +L 285.567103 250.597224 +L 287.640585 240.56357 +L 284.240837 221.005192 +z +" style="fill:#d6dce4;"/> + <path clip-path="url(#p553f52e075)" d="M 246.512625 265.750977 +L 250.06127 273.988734 +L 252.090758 255.111927 +L 248.52922 245.792188 z -" style="fill:#ee8468;"/> - <path clip-path="url(#p19582ab83f)" d="M 230.558236 124.137889 +" style="fill:#b5cdfa;"/> + <path clip-path="url(#p553f52e075)" d="M 230.558236 124.137889 L 234.078221 123.916842 L 236.158584 122.235533 L 232.644082 122.840853 -L 230.558236 124.137889 z " style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 266.686892 318.95136 + <path clip-path="url(#p553f52e075)" d="M 260.423885 171.833178 +L 264.0122 157.839832 +L 266.043077 158.623922 +L 262.448148 174.372979 +z +" style="fill:#ed8366;"/> + <path clip-path="url(#p553f52e075)" d="M 266.686892 318.95136 L 270.286994 311.981319 L 272.263479 319.764338 L 268.680472 324.98399 -L 266.686892 318.95136 z " style="fill:#5673e0;"/> - <path clip-path="url(#p19582ab83f)" d="M 268.602465 144.306124 -L 272.196681 137.858176 -L 274.254012 129.878363 -L 270.66704 133.120813 -L 268.602465 144.306124 + <path clip-path="url(#p553f52e075)" d="M 242.791689 317.485123 +L 246.319253 313.466038 +L 248.410029 322.501189 +L 244.890706 325.198062 +z +" style="fill:#5572df;"/> + <path clip-path="url(#p553f52e075)" d="M 221.7793 243.473297 +L 225.265711 242.203607 +L 227.178611 220.291299 +L 223.674663 221.797393 +z +" style="fill:#dbdcde;"/> + <path clip-path="url(#p553f52e075)" d="M 286.987014 132.801315 +L 290.494205 141.368219 +L 292.397503 147.590318 +L 288.922348 137.534596 z -" style="fill:#cc403a;"/> - <path clip-path="url(#p19582ab83f)" d="M 266.832735 255.364475 +" style="fill:#cf453c;"/> + <path clip-path="url(#p553f52e075)" d="M 266.832735 255.364475 L 270.332473 269.534593 L 272.417314 254.609819 L 268.920783 239.075146 -L 266.832735 255.364475 z " style="fill:#bed2f6;"/> - <path clip-path="url(#p19582ab83f)" d="M 292.452492 193.625685 -L 295.800567 214.259135 -L 297.786978 211.708449 -L 294.453792 191.072609 -L 292.452492 193.625685 + <path clip-path="url(#p553f52e075)" d="M 216.759826 229.584314 +L 220.200343 224.924414 +L 222.100019 203.795163 +L 218.642368 208.808086 z -" style="fill:#f5c0a7;"/> - <path clip-path="url(#p19582ab83f)" d="M 282.154794 231.814861 -L 285.567103 250.597224 -L 287.640585 240.56357 -L 284.240837 221.005192 -L 282.154794 231.814861 +" style="fill:#edd2c3;"/> + <path clip-path="url(#p553f52e075)" d="M 153.649075 206.32233 +L 157.508698 220.056573 +L 160.175627 233.952268 +L 156.32905 219.70222 z -" style="fill:#d8dce2;"/> - <path clip-path="url(#p19582ab83f)" d="M 272.719795 125.20807 +" style="fill:#ead5c9;"/> + <path clip-path="url(#p553f52e075)" d="M 272.719795 125.20807 L 276.29598 124.552082 L 278.310656 122.911766 L 274.74913 121.535277 -L 272.719795 125.20807 z " style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 242.791689 317.485123 -L 246.319253 313.466038 -L 248.410029 322.501189 -L 244.890706 325.198062 -L 242.791689 317.485123 + <path clip-path="url(#p553f52e075)" d="M 251.943103 318.625727 +L 255.494004 313.44226 +L 257.539253 322.0585 +L 253.999227 325.692594 z -" style="fill:#5673e0;"/> - <path clip-path="url(#p19582ab83f)" d="M 261.235339 259.007583 +" style="fill:#5572df;"/> + <path clip-path="url(#p553f52e075)" d="M 261.235339 259.007583 L 264.756816 271.5929 L 266.832735 255.364475 L 263.309688 241.408441 -L 261.235339 259.007583 z " style="fill:#bad0f8;"/> - <path clip-path="url(#p19582ab83f)" d="M 251.943103 318.625727 -L 255.494004 313.44226 -L 257.539253 322.0585 -L 253.999227 325.692594 -L 251.943103 318.625727 -z -" style="fill:#5673e0;"/> - <path clip-path="url(#p19582ab83f)" d="M 222.925896 134.923039 -L 226.381303 128.55185 -L 228.469906 125.996404 -L 225.005475 131.601957 -L 222.925896 134.923039 -z -" style="fill:#c12b30;"/> - <path clip-path="url(#p19582ab83f)" d="M 215.223935 215.412526 -L 218.642368 208.808086 -L 220.553717 189.017135 -L 217.11666 195.814418 -L 215.223935 215.412526 + <path clip-path="url(#p553f52e075)" d="M 245.662823 157.333451 +L 249.22059 160.701083 +L 251.303115 175.769637 +L 247.764505 170.626147 z -" style="fill:#f4c5ad;"/> - <path clip-path="url(#p19582ab83f)" d="M 286.987014 132.801315 -L 290.494205 141.368219 -L 292.397503 147.590318 -L 288.922348 137.534596 -L 286.987014 132.801315 +" style="fill:#ed8366;"/> + <path clip-path="url(#p553f52e075)" d="M 212.798638 177.555917 +L 216.148485 165.880932 +L 218.142899 153.937514 +L 214.769129 164.938066 z -" style="fill:#cc403a;"/> - <path clip-path="url(#p19582ab83f)" d="M 234.078221 123.916842 +" style="fill:#ec8165;"/> + <path clip-path="url(#p553f52e075)" d="M 234.078221 123.916842 L 237.634914 128.895636 L 239.706627 126.683104 L 236.158584 122.235533 -L 234.078221 123.916842 z -" style="fill:#b50927;"/> - <path clip-path="url(#p19582ab83f)" d="M 213.724219 204.277236 -L 217.11666 195.814418 -L 219.0437 177.802323 +" style="fill:#b70d28;"/> + <path clip-path="url(#p553f52e075)" d="M 212.268433 196.474797 L 215.630967 186.25184 -L 213.724219 204.277236 +L 217.574389 170.139736 +L 214.190332 180.177299 z -" style="fill:#f7b497;"/> - <path clip-path="url(#p19582ab83f)" d="M 270.66704 133.120813 +" style="fill:#f6a385;"/> + <path clip-path="url(#p553f52e075)" d="M 268.602465 144.306124 +L 272.196681 137.858176 L 274.254012 129.878363 -L 276.29598 124.552082 -L 272.719795 125.20807 L 270.66704 133.120813 z -" style="fill:#bd1f2d;"/> - <path clip-path="url(#p19582ab83f)" d="M 225.265711 242.203607 -L 228.776158 242.452063 -L 230.707287 220.453147 -L 227.178611 220.291299 -L 225.265711 242.203607 -z -" style="fill:#dbdcde;"/> - <path clip-path="url(#p19582ab83f)" d="M 242.958145 258.453372 -L 246.512625 265.750977 -L 248.52922 245.792188 -L 244.959747 237.676627 -L 242.958145 258.453372 +" style="fill:#c83836;"/> + <path clip-path="url(#p553f52e075)" d="M 148.553614 190.686485 +L 152.450356 205.127735 +L 155.108193 217.777697 +L 151.21053 202.438153 z -" style="fill:#c0d4f5;"/> - <path clip-path="url(#p19582ab83f)" d="M 245.662823 157.333451 -L 249.22059 160.701083 -L 251.303115 175.769637 -L 247.764505 170.626147 -L 245.662823 157.333451 +" style="fill:#f5c4ac;"/> + <path clip-path="url(#p553f52e075)" d="M 290.427209 197.915144 +L 293.789077 218.480792 +L 295.800567 214.259135 +L 292.452492 193.625685 z -" style="fill:#eb7d62;"/> - <path clip-path="url(#p19582ab83f)" d="M 153.649075 206.32233 -L 157.508698 220.056573 -L 160.175627 233.952268 -L 156.32905 219.70222 -L 153.649075 206.32233 +" style="fill:#f4c6af;"/> + <path clip-path="url(#p553f52e075)" d="M 293.054631 171.365861 +L 296.428043 190.25132 +L 298.372245 191.155249 +L 295.016969 172.220347 z -" style="fill:#edd2c3;"/> - <path clip-path="url(#p19582ab83f)" d="M 284.240837 221.005192 +" style="fill:#f5a081;"/> + <path clip-path="url(#p553f52e075)" d="M 284.240837 221.005192 L 287.640585 240.56357 L 289.70506 231.740994 L 286.317719 211.660698 -L 284.240837 221.005192 z -" style="fill:#e5d8d1;"/> - <path clip-path="url(#p19582ab83f)" d="M 290.427209 197.915144 -L 293.789077 218.480792 -L 295.800567 214.259135 -L 292.452492 193.625685 -L 290.427209 197.915144 +" style="fill:#e3d9d3;"/> + <path clip-path="url(#p553f52e075)" d="M 222.925896 134.923039 +L 226.381303 128.55185 +L 228.469906 125.996404 +L 225.005475 131.601957 z -" style="fill:#f5c2aa;"/> - <path clip-path="url(#p19582ab83f)" d="M 214.769129 164.938066 -L 218.142899 153.937514 -L 220.170133 144.458027 -L 216.771991 154.442757 -L 214.769129 164.938066 +" style="fill:#be242e;"/> + <path clip-path="url(#p553f52e075)" d="M 270.66704 133.120813 +L 274.254012 129.878363 +L 276.29598 124.552082 +L 272.719795 125.20807 +z +" style="fill:#ba162b;"/> + <path clip-path="url(#p553f52e075)" d="M 235.549847 129.854802 +L 239.13201 139.042769 +L 241.210539 138.794912 +L 237.634914 128.895636 +z +" style="fill:#c43032;"/> + <path clip-path="url(#p553f52e075)" d="M 274.510943 239.914242 +L 277.973973 256.739842 +L 280.06425 243.842032 +L 276.609316 225.986516 z -" style="fill:#e36c55;"/> - <path clip-path="url(#p19582ab83f)" d="M 276.29598 124.552082 +" style="fill:#d1dae9;"/> + <path clip-path="url(#p553f52e075)" d="M 276.29598 124.552082 L 279.874229 124.96723 L 281.867332 125.594083 L 278.310656 122.911766 -L 276.29598 124.552082 z " style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 274.510943 239.914242 -L 277.973973 256.739842 -L 280.06425 243.842032 -L 276.609316 225.986516 -L 274.510943 239.914242 + <path clip-path="url(#p553f52e075)" d="M 288.381132 203.936979 +L 291.755964 224.334778 +L 293.789077 218.480792 +L 290.427209 197.915144 z -" style="fill:#d2dbe8;"/> - <path clip-path="url(#p19582ab83f)" d="M 293.054631 171.365861 -L 296.428043 190.25132 -L 298.372245 191.155249 -L 295.016969 172.220347 -L 293.054631 171.365861 +" style="fill:#f2cbb7;"/> + <path clip-path="url(#p553f52e075)" d="M 242.091475 150.272175 +L 245.662823 157.333451 +L 247.764505 170.626147 +L 244.204097 159.828311 z -" style="fill:#f49a7b;"/> - <path clip-path="url(#p19582ab83f)" d="M 235.549847 129.854802 -L 239.13201 139.042769 -L 241.210539 138.794912 -L 237.634914 128.895636 -L 235.549847 129.854802 +" style="fill:#e67259;"/> + <path clip-path="url(#p553f52e075)" d="M 286.317719 211.660698 +L 289.70506 231.740994 +L 291.755964 224.334778 +L 288.381132 203.936979 z -" style="fill:#c32e31;"/> - <path clip-path="url(#p19582ab83f)" d="M 148.553614 190.686485 -L 152.450356 205.127735 -L 155.108193 217.777697 -L 151.21053 202.438153 -L 148.553614 190.686485 +" style="fill:#edd2c3;"/> + <path clip-path="url(#p553f52e075)" d="M 242.958145 258.453372 +L 246.512625 265.750977 +L 248.52922 245.792188 +L 244.959747 237.676627 z -" style="fill:#f6bea4;"/> - <path clip-path="url(#p19582ab83f)" d="M 220.856472 139.649858 -L 224.297102 132.164662 -L 226.381303 128.55185 -L 222.925896 134.923039 -L 220.856472 139.649858 +" style="fill:#c3d5f4;"/> + <path clip-path="url(#p553f52e075)" d="M 283.442533 127.467744 +L 286.987014 132.801315 +L 288.922348 137.534596 +L 285.408534 130.291197 +z +" style="fill:#c0282f;"/> + <path clip-path="url(#p553f52e075)" d="M 215.223935 215.412526 +L 218.642368 208.808086 +L 220.553717 189.017135 +L 217.11666 195.814418 +z +" style="fill:#f5c0a7;"/> + <path clip-path="url(#p553f52e075)" d="M 249.22059 160.701083 +L 252.775831 159.225846 +L 254.837747 172.531337 +L 251.303115 175.769637 +z +" style="fill:#ed8366;"/> + <path clip-path="url(#p553f52e075)" d="M 261.099273 316.912199 +L 264.684793 310.161983 +L 266.686892 318.95136 +L 263.11625 324.082268 +z +" style="fill:#5b7ae5;"/> + <path clip-path="url(#p553f52e075)" d="M 237.033391 137.172748 +L 240.623108 147.713714 +L 242.718284 152.198726 +L 239.13201 139.042769 +z +" style="fill:#d44e41;"/> + <path clip-path="url(#p553f52e075)" d="M 213.724219 204.277236 +L 217.11666 195.814418 +L 219.0437 177.802323 +L 215.630967 186.25184 z -" style="fill:#c53334;"/> - <path clip-path="url(#p19582ab83f)" d="M 261.099273 316.912199 -L 264.684793 310.161983 -L 266.686892 318.95136 -L 263.11625 324.082268 -L 261.099273 316.912199 +" style="fill:#f7af91;"/> + <path clip-path="url(#p553f52e075)" d="M 225.265711 242.203607 +L 228.776158 242.452063 +L 230.707287 220.453147 +L 227.178611 220.291299 z -" style="fill:#5b7ae5;"/> - <path clip-path="url(#p19582ab83f)" d="M 228.469906 125.996404 +" style="fill:#dedcdb;"/> + <path clip-path="url(#p553f52e075)" d="M 228.469906 125.996404 L 231.989871 125.393501 L 234.078221 123.916842 L 230.558236 124.137889 -L 228.469906 125.996404 z " style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 283.442533 127.467744 -L 286.987014 132.801315 -L 288.922348 137.534596 -L 285.408534 130.291197 + <path clip-path="url(#p553f52e075)" d="M 279.874229 124.96723 L 283.442533 127.467744 +L 285.408534 130.291197 +L 281.867332 125.594083 z -" style="fill:#be242e;"/> - <path clip-path="url(#p19582ab83f)" d="M 286.317719 211.660698 -L 289.70506 231.740994 -L 291.755964 224.334778 -L 288.381132 203.936979 -L 286.317719 211.660698 +" style="fill:#b70d28;"/> + <path clip-path="url(#p553f52e075)" d="M 220.856472 139.649858 +L 224.297102 132.164662 +L 226.381303 128.55185 +L 222.925896 134.923039 z -" style="fill:#eed0c0;"/> - <path clip-path="url(#p19582ab83f)" d="M 288.381132 203.936979 -L 291.755964 224.334778 -L 293.789077 218.480792 -L 290.427209 197.915144 -L 288.381132 203.936979 +" style="fill:#c32e31;"/> + <path clip-path="url(#p553f52e075)" d="M 214.769129 164.938066 +L 218.142899 153.937514 +L 220.170133 144.458027 +L 216.771991 154.442757 z -" style="fill:#f2c9b4;"/> - <path clip-path="url(#p19582ab83f)" d="M 252.090758 255.111927 +" style="fill:#e0654f;"/> + <path clip-path="url(#p553f52e075)" d="M 288.5522 137.445328 +L 292.041063 148.068271 +L 293.953113 153.204824 +L 290.494205 141.368219 +z +" style="fill:#d44e41;"/> + <path clip-path="url(#p553f52e075)" d="M 252.090758 255.111927 L 255.640328 265.349997 L 257.694338 246.838673 L 254.135443 235.528598 -L 252.090758 255.111927 z -" style="fill:#c4d5f3;"/> - <path clip-path="url(#p19582ab83f)" d="M 279.874229 124.96723 -L 283.442533 127.467744 -L 285.408534 130.291197 -L 281.867332 125.594083 -L 279.874229 124.96723 +" style="fill:#c6d6f1;"/> + <path clip-path="url(#p553f52e075)" d="M 231.989871 125.393501 +L 235.549847 129.854802 +L 237.634914 128.895636 +L 234.078221 123.916842 z " style="fill:#b70d28;"/> - <path clip-path="url(#p19582ab83f)" d="M 249.22059 160.701083 -L 252.775831 159.225846 -L 254.837747 172.531337 -L 251.303115 175.769637 -L 249.22059 160.701083 + <path clip-path="url(#p553f52e075)" d="M 287.071505 309.597808 +L 290.792953 298.621303 +L 292.682272 306.194968 +L 288.983036 315.767828 z -" style="fill:#ec7f63;"/> - <path clip-path="url(#p19582ab83f)" d="M 239.402162 252.331488 +" style="fill:#6c8ff1;"/> + <path clip-path="url(#p553f52e075)" d="M 239.402162 252.331488 L 242.958145 258.453372 L 244.959747 237.676627 L 241.387273 230.972988 -L 239.402162 252.331488 z -" style="fill:#ccd9ed;"/> - <path clip-path="url(#p19582ab83f)" d="M 228.776158 242.452063 -L 232.305857 244.24257 -L 234.25536 222.299379 -L 230.707287 220.453147 -L 228.776158 242.452063 +" style="fill:#cedaeb;"/> + <path clip-path="url(#p553f52e075)" d="M 281.473644 311.66139 +L 285.160912 301.587023 +L 287.071505 309.597808 +L 283.405817 318.17123 z -" style="fill:#dbdcde;"/> - <path clip-path="url(#p19582ab83f)" d="M 242.091475 150.272175 -L 245.662823 157.333451 -L 247.764505 170.626147 -L 244.204097 159.828311 -L 242.091475 150.272175 +" style="fill:#688aef;"/> + <path clip-path="url(#p553f52e075)" d="M 291.599358 155.959445 +L 295.016969 172.220347 +L 296.948179 174.793892 +L 293.552354 158.185579 z -" style="fill:#e36c55;"/> - <path clip-path="url(#p19582ab83f)" d="M 237.033391 137.172748 -L 240.623108 147.713714 -L 242.718284 152.198726 -L 239.13201 139.042769 -L 237.033391 137.172748 +" style="fill:#eb7d62;"/> + <path clip-path="url(#p553f52e075)" d="M 218.803047 146.067924 +L 222.224086 137.312221 +L 224.297102 132.164662 +L 220.856472 139.649858 z -" style="fill:#d1493f;"/> - <path clip-path="url(#p19582ab83f)" d="M 216.771991 154.442757 +" style="fill:#ca3b37;"/> + <path clip-path="url(#p553f52e075)" d="M 216.771991 154.442757 L 220.170133 144.458027 L 222.224086 137.312221 L 218.803047 146.067924 -L 216.771991 154.442757 z -" style="fill:#d75445;"/> - <path clip-path="url(#p19582ab83f)" d="M 220.200343 224.924414 +" style="fill:#d44e41;"/> + <path clip-path="url(#p553f52e075)" d="M 228.776158 242.452063 +L 232.305857 244.24257 +L 234.25536 222.299379 +L 230.707287 220.453147 +z +" style="fill:#dedcdb;"/> + <path clip-path="url(#p553f52e075)" d="M 292.682272 306.194968 +L 296.44507 294.126262 +L 298.314844 301.323234 +L 294.57377 312.144 +z +" style="fill:#7396f5;"/> + <path clip-path="url(#p553f52e075)" d="M 274.254012 129.878363 +L 277.850402 127.542716 +L 279.874229 124.96723 +L 276.29598 124.552082 +z +" style="fill:#b50927;"/> + <path clip-path="url(#p553f52e075)" d="M 246.319253 313.466038 +L 249.862914 308.302606 +L 251.943103 318.625727 +L 248.410029 322.501189 +z +" style="fill:#6180e9;"/> + <path clip-path="url(#p553f52e075)" d="M 290.094287 144.8656 +L 293.552354 158.185579 +L 295.472992 162.16742 +L 292.041063 148.068271 +z +" style="fill:#de614d;"/> + <path clip-path="url(#p553f52e075)" d="M 220.200343 224.924414 L 223.674663 221.797393 L 225.592602 200.462929 L 222.100019 203.795163 -L 220.200343 224.924414 z -" style="fill:#efcebd;"/> - <path clip-path="url(#p19582ab83f)" d="M 218.803047 146.067924 -L 222.224086 137.312221 -L 224.297102 132.164662 -L 220.856472 139.649858 -L 218.803047 146.067924 -z -" style="fill:#cd423b;"/> - <path clip-path="url(#p19582ab83f)" d="M 287.071505 309.597808 -L 290.792953 298.621303 -L 292.682272 306.194968 -L 288.983036 315.767828 -L 287.071505 309.597808 -z -" style="fill:#6b8df0;"/> - <path clip-path="url(#p19582ab83f)" d="M 281.473644 311.66139 -L 285.160912 301.587023 -L 287.071505 309.597808 -L 283.405817 318.17123 +" style="fill:#f2cbb7;"/> + <path clip-path="url(#p553f52e075)" d="M 275.881072 312.456428 +L 279.540229 303.095499 L 281.473644 311.66139 +L 277.834651 319.488035 z " style="fill:#6788ee;"/> - <path clip-path="url(#p19582ab83f)" d="M 231.989871 125.393501 -L 235.549847 129.854802 -L 237.634914 128.895636 -L 234.078221 123.916842 -L 231.989871 125.393501 -z -" style="fill:#b50927;"/> - <path clip-path="url(#p19582ab83f)" d="M 235.849638 247.55672 + <path clip-path="url(#p553f52e075)" d="M 235.849638 247.55672 L 239.402162 252.331488 L 241.387273 230.972988 L 237.817253 225.819692 -L 235.849638 247.55672 z -" style="fill:#d4dbe6;"/> - <path clip-path="url(#p19582ab83f)" d="M 232.305857 244.24257 +" style="fill:#d6dce4;"/> + <path clip-path="url(#p553f52e075)" d="M 268.920783 239.075146 +L 272.417314 254.609819 +L 274.510943 239.914242 +L 271.017829 223.378561 +z +" style="fill:#d6dce4;"/> + <path clip-path="url(#p553f52e075)" d="M 232.305857 244.24257 L 235.849638 247.55672 L 237.817253 225.819692 L 234.25536 222.299379 -L 232.305857 244.24257 z -" style="fill:#d9dce1;"/> - <path clip-path="url(#p19582ab83f)" d="M 214.190332 180.177299 +" style="fill:#dbdcde;"/> + <path clip-path="url(#p553f52e075)" d="M 291.064603 172.194724 +L 294.453792 191.072609 +L 296.428043 190.25132 +L 293.054631 171.365861 +z +" style="fill:#f59c7d;"/> + <path clip-path="url(#p553f52e075)" d="M 238.506993 141.936833 +L 242.091475 150.272175 +L 244.204097 159.828311 +L 240.623108 147.713714 +z +" style="fill:#d95847;"/> + <path clip-path="url(#p553f52e075)" d="M 214.190332 180.177299 L 217.574389 170.139736 L 219.556923 156.515905 L 216.148485 165.880932 -L 214.190332 180.177299 -z -" style="fill:#ef886b;"/> - <path clip-path="url(#p19582ab83f)" d="M 288.5522 137.445328 -L 292.041063 148.068271 -L 293.953113 153.204824 -L 290.494205 141.368219 -L 288.5522 137.445328 z -" style="fill:#d1493f;"/> - <path clip-path="url(#p19582ab83f)" d="M 292.682272 306.194968 -L 296.44507 294.126262 -L 298.314844 301.323234 -L 294.57377 312.144 -L 292.682272 306.194968 +" style="fill:#ec8165;"/> + <path clip-path="url(#p553f52e075)" d="M 276.609316 225.986516 +L 280.06425 243.842032 +L 282.154794 231.814861 +L 278.707799 213.26126 z -" style="fill:#7295f4;"/> - <path clip-path="url(#p19582ab83f)" d="M 274.254012 129.878363 -L 277.850402 127.542716 -L 279.874229 124.96723 -L 276.29598 124.552082 -L 274.254012 129.878363 +" style="fill:#e3d9d3;"/> + <path clip-path="url(#p553f52e075)" d="M 226.381303 128.55185 +L 229.894744 126.879047 +L 231.989871 125.393501 +L 228.469906 125.996404 z -" style="fill:#b70d28;"/> - <path clip-path="url(#p19582ab83f)" d="M 268.08314 154.575345 +" style="fill:#b40426;"/> + <path clip-path="url(#p553f52e075)" d="M 268.08314 154.575345 L 271.707976 143.25841 L 273.756659 138.166476 L 270.136183 146.847413 -L 268.08314 154.575345 z -" style="fill:#d65244;"/> - <path clip-path="url(#p19582ab83f)" d="M 270.136183 146.847413 +" style="fill:#d44e41;"/> + <path clip-path="url(#p553f52e075)" d="M 270.136183 146.847413 L 273.756659 138.166476 L 275.807341 132.392164 L 272.196681 137.858176 -L 270.136183 146.847413 -z -" style="fill:#cc403a;"/> - <path clip-path="url(#p19582ab83f)" d="M 275.881072 312.456428 -L 279.540229 303.095499 -L 281.473644 311.66139 -L 277.834651 319.488035 -L 275.881072 312.456428 z -" style="fill:#6788ee;"/> - <path clip-path="url(#p19582ab83f)" d="M 272.196681 137.858176 +" style="fill:#c83836;"/> + <path clip-path="url(#p553f52e075)" d="M 272.196681 137.858176 L 275.807341 132.392164 L 277.850402 127.542716 L 274.254012 129.878363 -L 272.196681 137.858176 -z -" style="fill:#c0282f;"/> - <path clip-path="url(#p19582ab83f)" d="M 246.319253 313.466038 -L 249.862914 308.302606 -L 251.943103 318.625727 -L 248.410029 322.501189 -L 246.319253 313.466038 -z -" style="fill:#6282ea;"/> - <path clip-path="url(#p19582ab83f)" d="M 268.920783 239.075146 -L 272.417314 254.609819 -L 274.510943 239.914242 -L 271.017829 223.378561 -L 268.920783 239.075146 -z -" style="fill:#d7dce3;"/> - <path clip-path="url(#p19582ab83f)" d="M 291.599358 155.959445 -L 295.016969 172.220347 -L 296.948179 174.793892 -L 293.552354 158.185579 -L 291.599358 155.959445 -z -" style="fill:#e9785d;"/> - <path clip-path="url(#p19582ab83f)" d="M 226.381303 128.55185 -L 229.894744 126.879047 -L 231.989871 125.393501 -L 228.469906 125.996404 -L 226.381303 128.55185 z -" style="fill:#b50927;"/> - <path clip-path="url(#p19582ab83f)" d="M 257.694338 246.838673 +" style="fill:#bd1f2d;"/> + <path clip-path="url(#p553f52e075)" d="M 257.694338 246.838673 L 261.235339 259.007583 L 263.309688 241.408441 L 259.763397 228.20598 -L 257.694338 246.838673 z " style="fill:#d1dae9;"/> - <path clip-path="url(#p19582ab83f)" d="M 290.094287 144.8656 -L 293.552354 158.185579 -L 295.472992 162.16742 -L 292.041063 148.068271 -L 290.094287 144.8656 -z -" style="fill:#dc5d4a;"/> - <path clip-path="url(#p19582ab83f)" d="M 266.043077 158.623922 -L 269.666218 146.237085 -L 271.707976 143.25841 -L 268.08314 154.575345 -L 266.043077 158.623922 -z -" style="fill:#dc5d4a;"/> - <path clip-path="url(#p19582ab83f)" d="M 258.393157 163.613896 -L 261.979231 153.349478 -L 264.0122 157.839832 -L 260.423885 171.833178 -L 258.393157 163.613896 -z -" style="fill:#e7745b;"/> - <path clip-path="url(#p19582ab83f)" d="M 276.609316 225.986516 -L 280.06425 243.842032 -L 282.154794 231.814861 -L 278.707799 213.26126 -L 276.609316 225.986516 -z -" style="fill:#e4d9d2;"/> - <path clip-path="url(#p19582ab83f)" d="M 255.494004 313.44226 + <path clip-path="url(#p553f52e075)" d="M 255.494004 313.44226 L 259.067364 306.864963 L 261.099273 316.912199 L 257.539253 322.0585 -L 255.494004 313.44226 z " style="fill:#6384eb;"/> - <path clip-path="url(#p19582ab83f)" d="M 291.064603 172.194724 -L 294.453792 191.072609 -L 296.428043 190.25132 -L 293.054631 171.365861 -L 291.064603 172.194724 + <path clip-path="url(#p553f52e075)" d="M 233.451271 129.902593 +L 237.033391 137.172748 +L 239.13201 139.042769 +L 235.549847 129.854802 z -" style="fill:#f39778;"/> - <path clip-path="url(#p19582ab83f)" d="M 238.506993 141.936833 -L 242.091475 150.272175 -L 244.204097 159.828311 -L 240.623108 147.713714 -L 238.506993 141.936833 +" style="fill:#c12b30;"/> + <path clip-path="url(#p553f52e075)" d="M 258.393157 163.613896 +L 261.979231 153.349478 +L 264.0122 157.839832 +L 260.423885 171.833178 z -" style="fill:#d65244;"/> - <path clip-path="url(#p19582ab83f)" d="M 263.309688 241.408441 +" style="fill:#e67259;"/> + <path clip-path="url(#p553f52e075)" d="M 149.771291 192.666227 +L 153.649075 206.32233 +L 156.32905 219.70222 +L 152.450356 205.127735 +z +" style="fill:#f5c2aa;"/> + <path clip-path="url(#p553f52e075)" d="M 263.309688 241.408441 L 266.832735 255.364475 L 268.920783 239.075146 L 265.396699 224.116885 -L 263.309688 241.408441 z " style="fill:#d6dce4;"/> - <path clip-path="url(#p19582ab83f)" d="M 233.451271 129.902593 -L 237.033391 137.172748 -L 239.13201 139.042769 -L 235.549847 129.854802 -L 233.451271 129.902593 + <path clip-path="url(#p553f52e075)" d="M 285.015088 130.604397 +L 288.5522 137.445328 +L 290.494205 141.368219 +L 286.987014 132.801315 z -" style="fill:#be242e;"/> - <path clip-path="url(#p19582ab83f)" d="M 270.286994 311.981319 +" style="fill:#c32e31;"/> + <path clip-path="url(#p553f52e075)" d="M 270.286994 311.981319 L 273.922945 303.17166 L 275.881072 312.456428 L 272.263479 319.764338 -L 270.286994 311.981319 z " style="fill:#688aef;"/> - <path clip-path="url(#p19582ab83f)" d="M 218.642368 208.808086 -L 222.100019 203.795163 -L 224.030927 183.973432 -L 220.553717 189.017135 -L 218.642368 208.808086 -z -" style="fill:#f7b89c;"/> - <path clip-path="url(#p19582ab83f)" d="M 248.52922 245.792188 -L 252.090758 255.111927 -L 254.135443 235.528598 -L 250.562099 225.426242 -L 248.52922 245.792188 + <path clip-path="url(#p553f52e075)" d="M 266.043077 158.623922 +L 269.666218 146.237085 +L 271.707976 143.25841 +L 268.08314 154.575345 z -" style="fill:#d5dbe5;"/> - <path clip-path="url(#p19582ab83f)" d="M 277.850402 127.542716 +" style="fill:#d95847;"/> + <path clip-path="url(#p553f52e075)" d="M 277.850402 127.542716 L 281.442676 127.470164 L 283.442533 127.467744 L 279.874229 124.96723 -L 277.850402 127.542716 z " style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 215.630967 186.25184 -L 219.0437 177.802323 -L 221.010408 162.194063 -L 217.574389 170.139736 -L 215.630967 186.25184 -z -" style="fill:#f29072;"/> - <path clip-path="url(#p19582ab83f)" d="M 285.015088 130.604397 -L 288.5522 137.445328 -L 290.494205 141.368219 -L 286.987014 132.801315 -L 285.015088 130.604397 -z -" style="fill:#c12b30;"/> - <path clip-path="url(#p19582ab83f)" d="M 223.674663 221.797393 -L 227.178611 220.291299 -L 229.115017 198.85051 -L 225.592602 200.462929 -L 223.674663 221.797393 -z -" style="fill:#f2cab5;"/> - <path clip-path="url(#p19582ab83f)" d="M 229.894744 126.879047 + <path clip-path="url(#p553f52e075)" d="M 229.894744 126.879047 L 233.451271 129.902593 L 235.549847 129.854802 L 231.989871 125.393501 -L 229.894744 126.879047 z -" style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 216.148485 165.880932 -L 219.556923 156.515905 -L 221.576948 145.701627 -L 218.142899 153.937514 -L 216.148485 165.880932 +" style="fill:#b50927;"/> + <path clip-path="url(#p553f52e075)" d="M 144.656845 176.895836 +L 148.553614 190.686485 +L 151.21053 202.438153 +L 147.296615 187.331331 z -" style="fill:#e16751;"/> - <path clip-path="url(#p19582ab83f)" d="M 149.771291 192.666227 -L 153.649075 206.32233 -L 156.32905 219.70222 -L 152.450356 205.127735 -L 149.771291 192.666227 +" style="fill:#f7a889;"/> + <path clip-path="url(#p553f52e075)" d="M 248.52922 245.792188 +L 252.090758 255.111927 +L 254.135443 235.528598 +L 250.562099 225.426242 z -" style="fill:#f6bda2;"/> - <path clip-path="url(#p19582ab83f)" d="M 252.775831 159.225846 +" style="fill:#d6dce4;"/> + <path clip-path="url(#p553f52e075)" d="M 252.775831 159.225846 L 256.343982 154.041375 L 258.393157 163.613896 L 254.837747 172.531337 -L 252.775831 159.225846 -z -" style="fill:#e57058;"/> - <path clip-path="url(#p19582ab83f)" d="M 224.297102 132.164662 -L 227.79753 128.94066 -L 229.894744 126.879047 -L 226.381303 128.55185 -L 224.297102 132.164662 -z -" style="fill:#b70d28;"/> - <path clip-path="url(#p19582ab83f)" d="M 217.11666 195.814418 -L 220.553717 189.017135 -L 222.502158 171.240776 -L 219.0437 177.802323 -L 217.11666 195.814418 z -" style="fill:#f6a283;"/> - <path clip-path="url(#p19582ab83f)" d="M 281.442676 127.470164 +" style="fill:#e67259;"/> + <path clip-path="url(#p553f52e075)" d="M 281.442676 127.470164 L 285.015088 130.604397 L 286.987014 132.801315 L 283.442533 127.467744 -L 281.442676 127.470164 z " style="fill:#b70d28;"/> - <path clip-path="url(#p19582ab83f)" d="M 144.656845 176.895836 -L 148.553614 190.686485 -L 151.21053 202.438153 -L 147.296615 187.331331 -L 144.656845 176.895836 -z -" style="fill:#f6a283;"/> - <path clip-path="url(#p19582ab83f)" d="M 278.707799 213.26126 -L 282.154794 231.814861 -L 284.240837 221.005192 -L 280.801647 202.051509 -L 278.707799 213.26126 -z -" style="fill:#f1cdba;"/> - <path clip-path="url(#p19582ab83f)" d="M 264.684793 310.161983 -L 268.301473 301.786871 -L 270.286994 311.981319 -L 266.686892 318.95136 -L 264.684793 310.161983 -z -" style="fill:#6c8ff1;"/> - <path clip-path="url(#p19582ab83f)" d="M 275.807341 132.392164 -L 279.419346 129.563116 -L 281.442676 127.470164 -L 277.850402 127.542716 -L 275.807341 132.392164 + <path clip-path="url(#p553f52e075)" d="M 218.642368 208.808086 +L 222.100019 203.795163 +L 224.030927 183.973432 +L 220.553717 189.017135 z -" style="fill:#b70d28;"/> - <path clip-path="url(#p19582ab83f)" d="M 264.0122 157.839832 -L 267.629689 146.501793 -L 269.666218 146.237085 -L 266.043077 158.623922 -L 264.0122 157.839832 +" style="fill:#f7b396;"/> + <path clip-path="url(#p553f52e075)" d="M 224.297102 132.164662 +L 227.79753 128.94066 +L 229.894744 126.879047 +L 226.381303 128.55185 z -" style="fill:#dc5d4a;"/> - <path clip-path="url(#p19582ab83f)" d="M 289.050013 174.695179 +" style="fill:#b50927;"/> + <path clip-path="url(#p553f52e075)" d="M 289.050013 174.695179 L 292.452492 193.625685 L 294.453792 191.072609 L 291.064603 172.194724 -L 289.050013 174.695179 z -" style="fill:#f39778;"/> - <path clip-path="url(#p19582ab83f)" d="M 234.919369 134.603792 +" style="fill:#f59c7d;"/> + <path clip-path="url(#p553f52e075)" d="M 215.630967 186.25184 +L 219.0437 177.802323 +L 221.010408 162.194063 +L 217.574389 170.139736 +z +" style="fill:#f08a6c;"/> + <path clip-path="url(#p553f52e075)" d="M 278.707799 213.26126 +L 282.154794 231.814861 +L 284.240837 221.005192 +L 280.801647 202.051509 +z +" style="fill:#f0cdbb;"/> + <path clip-path="url(#p553f52e075)" d="M 234.919369 134.603792 L 238.506993 141.936833 L 240.623108 147.713714 L 237.033391 137.172748 -L 234.919369 134.603792 -z -" style="fill:#c73635;"/> - <path clip-path="url(#p19582ab83f)" d="M 244.959747 237.676627 -L 248.52922 245.792188 -L 250.562099 225.426242 -L 246.979022 216.781678 -L 244.959747 237.676627 z -" style="fill:#e1dad6;"/> - <path clip-path="url(#p19582ab83f)" d="M 222.224086 137.312221 -L 225.705916 132.31816 -L 227.79753 128.94066 -L 224.297102 132.164662 -L 222.224086 137.312221 +" style="fill:#c83836;"/> + <path clip-path="url(#p553f52e075)" d="M 223.674663 221.797393 +L 227.178611 220.291299 +L 229.115017 198.85051 +L 225.592602 200.462929 z -" style="fill:#bd1f2d;"/> - <path clip-path="url(#p19582ab83f)" d="M 218.142899 153.937514 +" style="fill:#f4c6af;"/> + <path clip-path="url(#p553f52e075)" d="M 216.148485 165.880932 +L 219.556923 156.515905 L 221.576948 145.701627 -L 223.629255 137.726057 -L 220.170133 144.458027 L 218.142899 153.937514 z -" style="fill:#d24b40;"/> - <path clip-path="url(#p19582ab83f)" d="M 271.017829 223.378561 -L 274.510943 239.914242 -L 276.609316 225.986516 -L 273.119656 208.827055 -L 271.017829 223.378561 +" style="fill:#de614d;"/> + <path clip-path="url(#p553f52e075)" d="M 264.684793 310.161983 +L 268.301473 301.786871 +L 270.286994 311.981319 +L 266.686892 318.95136 z -" style="fill:#ead4c8;"/> - <path clip-path="url(#p19582ab83f)" d="M 289.6185 155.354623 +" style="fill:#6c8ff1;"/> + <path clip-path="url(#p553f52e075)" d="M 289.6185 155.354623 L 293.054631 171.365861 L 295.016969 172.220347 L 291.599358 155.959445 -L 289.6185 155.354623 z -" style="fill:#e46e56;"/> - <path clip-path="url(#p19582ab83f)" d="M 286.578566 135.500669 +" style="fill:#e7745b;"/> + <path clip-path="url(#p553f52e075)" d="M 217.11666 195.814418 +L 220.553717 189.017135 +L 222.502158 171.240776 +L 219.0437 177.802323 +z +" style="fill:#f59c7d;"/> + <path clip-path="url(#p553f52e075)" d="M 286.578566 135.500669 L 290.094287 144.8656 L 292.041063 148.068271 L 288.5522 137.445328 -L 286.578566 135.500669 z -" style="fill:#c73635;"/> - <path clip-path="url(#p19582ab83f)" d="M 227.178611 220.291299 -L 230.707287 220.453147 -L 232.661779 198.97074 -L 229.115017 198.85051 -L 227.178611 220.291299 +" style="fill:#ca3b37;"/> + <path clip-path="url(#p553f52e075)" d="M 275.807341 132.392164 +L 279.419346 129.563116 +L 281.442676 127.470164 +L 277.850402 127.542716 z -" style="fill:#f3c7b1;"/> - <path clip-path="url(#p19582ab83f)" d="M 220.170133 144.458027 -L 223.629255 137.726057 -L 225.705916 132.31816 -L 222.224086 137.312221 -L 220.170133 144.458027 +" style="fill:#b50927;"/> + <path clip-path="url(#p553f52e075)" d="M 271.017829 223.378561 +L 274.510943 239.914242 +L 276.609316 225.986516 +L 273.119656 208.827055 z -" style="fill:#c53334;"/> - <path clip-path="url(#p19582ab83f)" d="M 254.135443 235.528598 -L 257.694338 246.838673 -L 259.763397 228.20598 -L 256.196343 216.193381 -L 254.135443 235.528598 +" style="fill:#ead4c8;"/> + <path clip-path="url(#p553f52e075)" d="M 264.0122 157.839832 +L 267.629689 146.501793 +L 269.666218 146.237085 +L 266.043077 158.623922 +z +" style="fill:#d95847;"/> + <path clip-path="url(#p553f52e075)" d="M 222.224086 137.312221 +L 225.705916 132.31816 +L 227.79753 128.94066 +L 224.297102 132.164662 z -" style="fill:#e2dad5;"/> - <path clip-path="url(#p19582ab83f)" d="M 249.862914 308.302606 +" style="fill:#ba162b;"/> + <path clip-path="url(#p553f52e075)" d="M 249.862914 308.302606 L 253.426598 301.923183 L 255.494004 313.44226 L 251.943103 318.625727 -L 249.862914 308.302606 z -" style="fill:#6f92f3;"/> - <path clip-path="url(#p19582ab83f)" d="M 227.79753 128.94066 -L 231.343824 129.924841 -L 233.451271 129.902593 -L 229.894744 126.879047 -L 227.79753 128.94066 +" style="fill:#6e90f2;"/> + <path clip-path="url(#p553f52e075)" d="M 244.959747 237.676627 +L 248.52922 245.792188 +L 250.562099 225.426242 +L 246.979022 216.781678 z -" style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 273.756659 138.166476 -L 277.382995 132.738078 -L 279.419346 129.563116 -L 275.807341 132.392164 -L 273.756659 138.166476 +" style="fill:#e3d9d3;"/> + <path clip-path="url(#p553f52e075)" d="M 287.013651 178.890014 +L 290.427209 197.915144 +L 292.452492 193.625685 +L 289.050013 174.695179 z -" style="fill:#bd1f2d;"/> - <path clip-path="url(#p19582ab83f)" d="M 231.343824 129.924841 +" style="fill:#f5a081;"/> + <path clip-path="url(#p553f52e075)" d="M 288.11871 143.342619 +L 291.599358 155.959445 +L 293.552354 158.185579 +L 290.094287 144.8656 +z +" style="fill:#d65244;"/> + <path clip-path="url(#p553f52e075)" d="M 280.801647 202.051509 +L 284.240837 221.005192 +L 286.317719 211.660698 +L 282.886406 192.546526 +z +" style="fill:#f5c0a7;"/> + <path clip-path="url(#p553f52e075)" d="M 231.343824 129.924841 L 234.919369 134.603792 L 237.033391 137.172748 L 233.451271 129.902593 -L 231.343824 129.924841 z " style="fill:#ba162b;"/> - <path clip-path="url(#p19582ab83f)" d="M 280.801647 202.051509 -L 284.240837 221.005192 -L 286.317719 211.660698 -L 282.886406 192.546526 -L 280.801647 202.051509 + <path clip-path="url(#p553f52e075)" d="M 227.79753 128.94066 +L 231.343824 129.924841 +L 233.451271 129.902593 +L 229.894744 126.879047 z -" style="fill:#f6bea4;"/> - <path clip-path="url(#p19582ab83f)" d="M 287.013651 178.890014 -L 290.427209 197.915144 -L 292.452492 193.625685 -L 289.050013 174.695179 -L 287.013651 178.890014 +" style="fill:#b40426;"/> + <path clip-path="url(#p553f52e075)" d="M 218.142899 153.937514 +L 221.576948 145.701627 +L 223.629255 137.726057 +L 220.170133 144.458027 z -" style="fill:#f59c7d;"/> - <path clip-path="url(#p19582ab83f)" d="M 288.11871 143.342619 -L 291.599358 155.959445 -L 293.552354 158.185579 -L 290.094287 144.8656 -L 288.11871 143.342619 +" style="fill:#cf453c;"/> + <path clip-path="url(#p553f52e075)" d="M 254.135443 235.528598 +L 257.694338 246.838673 +L 259.763397 228.20598 +L 256.196343 216.193381 z -" style="fill:#d44e41;"/> - <path clip-path="url(#p19582ab83f)" d="M 222.100019 203.795163 -L 225.592602 200.462929 -L 227.542741 180.691711 -L 224.030927 183.973432 -L 222.100019 203.795163 +" style="fill:#e3d9d3;"/> + <path clip-path="url(#p553f52e075)" d="M 220.170133 144.458027 +L 223.629255 137.726057 +L 225.705916 132.31816 +L 222.224086 137.312221 +z +" style="fill:#c32e31;"/> + <path clip-path="url(#p553f52e075)" d="M 273.756659 138.166476 +L 277.382995 132.738078 +L 279.419346 129.563116 +L 275.807341 132.392164 z -" style="fill:#f7ad90;"/> - <path clip-path="url(#p19582ab83f)" d="M 241.387273 230.972988 -L 244.959747 237.676627 -L 246.979022 216.781678 -L 243.39167 209.753078 -L 241.387273 230.972988 +" style="fill:#ba162b;"/> + <path clip-path="url(#p553f52e075)" d="M 284.958172 184.82619 +L 288.381132 203.936979 +L 290.427209 197.915144 +L 287.013651 178.890014 z -" style="fill:#ead4c8;"/> - <path clip-path="url(#p19582ab83f)" d="M 217.574389 170.139736 -L 221.010408 162.194063 -L 223.017849 149.583912 -L 219.556923 156.515905 -L 217.574389 170.139736 +" style="fill:#f7a889;"/> + <path clip-path="url(#p553f52e075)" d="M 227.178611 220.291299 +L 230.707287 220.453147 +L 232.661779 198.97074 +L 229.115017 198.85051 +z +" style="fill:#f5c2aa;"/> + <path clip-path="url(#p553f52e075)" d="M 282.886406 192.546526 +L 286.317719 211.660698 +L 288.381132 203.936979 +L 284.958172 184.82619 z -" style="fill:#e36c55;"/> - <path clip-path="url(#p19582ab83f)" d="M 279.419346 129.563116 +" style="fill:#f7b396;"/> + <path clip-path="url(#p553f52e075)" d="M 279.419346 129.563116 L 283.015414 130.422973 L 285.015088 130.604397 L 281.442676 127.470164 -L 279.419346 129.563116 z " style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 230.707287 220.453147 -L 234.25536 222.299379 -L 236.22727 200.827877 -L 232.661779 198.97074 -L 230.707287 220.453147 -z -" style="fill:#f4c6af;"/> - <path clip-path="url(#p19582ab83f)" d="M 283.015414 130.422973 + <path clip-path="url(#p553f52e075)" d="M 283.015414 130.422973 L 286.578566 135.500669 L 288.5522 137.445328 L 285.015088 130.604397 -L 283.015414 130.422973 z " style="fill:#ba162b;"/> - <path clip-path="url(#p19582ab83f)" d="M 265.396699 224.116885 + <path clip-path="url(#p553f52e075)" d="M 243.545172 146.68607 +L 247.118842 148.988711 +L 249.22059 160.701083 +L 245.662823 157.333451 +z +" style="fill:#d95847;"/> + <path clip-path="url(#p553f52e075)" d="M 145.890953 179.544286 +L 149.771291 192.666227 +L 152.450356 205.127735 +L 148.553614 190.686485 +z +" style="fill:#f7a889;"/> + <path clip-path="url(#p553f52e075)" d="M 265.396699 224.116885 L 268.920783 239.075146 L 271.017829 223.378561 L 267.493111 207.825987 -L 265.396699 224.116885 z " style="fill:#edd2c3;"/> - <path clip-path="url(#p19582ab83f)" d="M 271.707976 143.25841 -L 275.3422 135.894469 -L 277.382995 132.738078 -L 273.756659 138.166476 -L 271.707976 143.25841 -z -" style="fill:#c32e31;"/> - <path clip-path="url(#p19582ab83f)" d="M 282.886406 192.546526 -L 286.317719 211.660698 -L 288.381132 203.936979 -L 284.958172 184.82619 -L 282.886406 192.546526 + <path clip-path="url(#p553f52e075)" d="M 239.965252 142.259472 +L 243.545172 146.68607 +L 245.662823 157.333451 +L 242.091475 150.272175 z -" style="fill:#f7b093;"/> - <path clip-path="url(#p19582ab83f)" d="M 284.958172 184.82619 -L 288.381132 203.936979 -L 290.427209 197.915144 -L 287.013651 178.890014 -L 284.958172 184.82619 +" style="fill:#d44e41;"/> + <path clip-path="url(#p553f52e075)" d="M 259.067364 306.864963 +L 262.668101 298.865112 +L 264.684793 310.161983 +L 261.099273 316.912199 z -" style="fill:#f6a586;"/> - <path clip-path="url(#p19582ab83f)" d="M 259.763397 228.20598 +" style="fill:#7396f5;"/> + <path clip-path="url(#p553f52e075)" d="M 259.763397 228.20598 L 263.309688 241.408441 L 265.396699 224.116885 L 261.845973 210.288443 -L 259.763397 228.20598 z -" style="fill:#ead5c9;"/> - <path clip-path="url(#p19582ab83f)" d="M 259.067364 306.864963 -L 262.668101 298.865112 -L 264.684793 310.161983 -L 261.099273 316.912199 -L 259.067364 306.864963 +" style="fill:#ead4c8;"/> + <path clip-path="url(#p553f52e075)" d="M 241.387273 230.972988 +L 244.959747 237.676627 +L 246.979022 216.781678 +L 243.39167 209.753078 +z +" style="fill:#edd2c3;"/> + <path clip-path="url(#p553f52e075)" d="M 271.707976 143.25841 +L 275.3422 135.894469 +L 277.382995 132.738078 +L 273.756659 138.166476 z -" style="fill:#7597f6;"/> - <path clip-path="url(#p19582ab83f)" d="M 285.160912 301.587023 +" style="fill:#c12b30;"/> + <path clip-path="url(#p553f52e075)" d="M 285.160912 301.587023 L 288.901986 289.483431 L 290.792953 298.621303 L 287.071505 309.597808 -L 285.160912 301.587023 z " style="fill:#81a4fb;"/> - <path clip-path="url(#p19582ab83f)" d="M 237.817253 225.819692 -L 241.387273 230.972988 -L 243.39167 209.753078 -L 239.805815 204.424139 -L 237.817253 225.819692 + <path clip-path="url(#p553f52e075)" d="M 217.574389 170.139736 +L 221.010408 162.194063 +L 223.017849 149.583912 +L 219.556923 156.515905 z -" style="fill:#f0cdbb;"/> - <path clip-path="url(#p19582ab83f)" d="M 243.545172 146.68607 -L 247.118842 148.988711 -L 249.22059 160.701083 -L 245.662823 157.333451 -L 243.545172 146.68607 +" style="fill:#e0654f;"/> + <path clip-path="url(#p553f52e075)" d="M 222.100019 203.795163 +L 225.592602 200.462929 +L 227.542741 180.691711 +L 224.030927 183.973432 z -" style="fill:#d75445;"/> - <path clip-path="url(#p19582ab83f)" d="M 234.25536 222.299379 -L 237.817253 225.819692 -L 239.805815 204.424139 -L 236.22727 200.827877 +" style="fill:#f7a889;"/> + <path clip-path="url(#p553f52e075)" d="M 287.613724 156.262535 +L 291.064603 172.194724 +L 293.054631 171.365861 +L 289.6185 155.354623 +z +" style="fill:#e46e56;"/> + <path clip-path="url(#p553f52e075)" d="M 230.707287 220.453147 L 234.25536 222.299379 +L 236.22727 200.827877 +L 232.661779 198.97074 z -" style="fill:#f2c9b4;"/> - <path clip-path="url(#p19582ab83f)" d="M 239.965252 142.259472 -L 243.545172 146.68607 -L 245.662823 157.333451 -L 242.091475 150.272175 -L 239.965252 142.259472 +" style="fill:#f5c2aa;"/> + <path clip-path="url(#p553f52e075)" d="M 279.540229 303.095499 +L 283.246793 291.831282 +L 285.160912 301.587023 +L 281.473644 311.66139 z -" style="fill:#d1493f;"/> - <path clip-path="url(#p19582ab83f)" d="M 290.792953 298.621303 +" style="fill:#7ea1fa;"/> + <path clip-path="url(#p553f52e075)" d="M 290.792953 298.621303 L 294.574776 285.546924 L 296.44507 294.126262 L 292.682272 306.194968 -L 290.792953 298.621303 z -" style="fill:#86a9fc;"/> - <path clip-path="url(#p19582ab83f)" d="M 279.540229 303.095499 -L 283.246793 291.831282 -L 285.160912 301.587023 -L 281.473644 311.66139 -L 279.540229 303.095499 +" style="fill:#88abfd;"/> + <path clip-path="url(#p553f52e075)" d="M 236.38044 137.141508 +L 239.965252 142.259472 +L 242.091475 150.272175 +L 238.506993 141.936833 z -" style="fill:#7ea1fa;"/> - <path clip-path="url(#p19582ab83f)" d="M 225.705916 132.31816 +" style="fill:#c83836;"/> + <path clip-path="url(#p553f52e075)" d="M 225.705916 132.31816 L 229.236101 131.024732 L 231.343824 129.924841 L 227.79753 128.94066 -L 225.705916 132.31816 z " style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 145.890953 179.544286 -L 149.771291 192.666227 -L 152.450356 205.127735 -L 148.553614 190.686485 -L 145.890953 179.544286 -z -" style="fill:#f6a283;"/> - <path clip-path="url(#p19582ab83f)" d="M 219.0437 177.802323 -L 222.502158 171.240776 -L 224.491825 156.349019 -L 221.010408 162.194063 -L 219.0437 177.802323 -z -" style="fill:#e97a5f;"/> - <path clip-path="url(#p19582ab83f)" d="M 220.553717 189.017135 -L 224.030927 183.973432 -L 226.000171 166.550736 -L 222.502158 171.240776 -L 220.553717 189.017135 + <path clip-path="url(#p553f52e075)" d="M 237.817253 225.819692 +L 241.387273 230.972988 +L 243.39167 209.753078 +L 239.805815 204.424139 z -" style="fill:#f29072;"/> - <path clip-path="url(#p19582ab83f)" d="M 287.613724 156.262535 -L 291.064603 172.194724 -L 293.054631 171.365861 -L 289.6185 155.354623 -L 287.613724 156.262535 +" style="fill:#f2cbb7;"/> + <path clip-path="url(#p553f52e075)" d="M 247.118842 148.988711 +L 250.692313 148.568822 +L 252.775831 159.225846 +L 249.22059 160.701083 z -" style="fill:#e36b54;"/> - <path clip-path="url(#p19582ab83f)" d="M 273.119656 208.827055 +" style="fill:#d95847;"/> + <path clip-path="url(#p553f52e075)" d="M 273.119656 208.827055 L 276.609316 225.986516 L 278.707799 213.26126 L 275.221507 195.837116 -L 273.119656 208.827055 z " style="fill:#f5c2aa;"/> - <path clip-path="url(#p19582ab83f)" d="M 236.38044 137.141508 -L 239.965252 142.259472 -L 242.091475 150.272175 -L 238.506993 141.936833 -L 236.38044 137.141508 -z -" style="fill:#c73635;"/> - <path clip-path="url(#p19582ab83f)" d="M 269.666218 146.237085 -L 273.301725 138.14058 -L 275.3422 135.894469 -L 271.707976 143.25841 -L 269.666218 146.237085 + <path clip-path="url(#p553f52e075)" d="M 234.25536 222.299379 +L 237.817253 225.819692 +L 239.805815 204.424139 +L 236.22727 200.827877 z -" style="fill:#c73635;"/> - <path clip-path="url(#p19582ab83f)" d="M 256.343982 154.041375 +" style="fill:#f4c6af;"/> + <path clip-path="url(#p553f52e075)" d="M 256.343982 154.041375 L 259.933859 147.562177 L 261.979231 153.349478 L 258.393157 163.613896 -L 256.343982 154.041375 z " style="fill:#d95847;"/> - <path clip-path="url(#p19582ab83f)" d="M 247.118842 148.988711 -L 250.692313 148.568822 -L 252.775831 159.225846 -L 249.22059 160.701083 -L 247.118842 148.988711 -z -" style="fill:#d75445;"/> - <path clip-path="url(#p19582ab83f)" d="M 250.562099 225.426242 -L 254.135443 235.528598 -L 256.196343 216.193381 -L 252.61282 205.685934 -L 250.562099 225.426242 + <path clip-path="url(#p553f52e075)" d="M 284.580795 135.081903 +L 288.11871 143.342619 +L 290.094287 144.8656 +L 286.578566 135.500669 z -" style="fill:#efcfbf;"/> - <path clip-path="url(#p19582ab83f)" d="M 273.922945 303.17166 +" style="fill:#c32e31;"/> + <path clip-path="url(#p553f52e075)" d="M 273.922945 303.17166 L 277.600474 292.620627 L 279.540229 303.095499 L 275.881072 312.456428 -L 273.922945 303.17166 z " style="fill:#7ea1fa;"/> - <path clip-path="url(#p19582ab83f)" d="M 261.979231 153.349478 -L 265.591509 144.637775 -L 267.629689 146.501793 -L 264.0122 157.839832 -L 261.979231 153.349478 + <path clip-path="url(#p553f52e075)" d="M 232.799503 132.944526 +L 236.38044 137.141508 +L 238.506993 141.936833 +L 234.919369 134.603792 z -" style="fill:#d44e41;"/> - <path clip-path="url(#p19582ab83f)" d="M 277.382995 132.738078 +" style="fill:#bd1f2d;"/> + <path clip-path="url(#p553f52e075)" d="M 277.382995 132.738078 L 280.997019 131.553779 L 283.015414 130.422973 L 279.419346 129.563116 -L 277.382995 132.738078 z " style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 219.556923 156.515905 -L 223.017849 149.583912 -L 225.062908 140.27378 -L 221.576948 145.701627 -L 219.556923 156.515905 -z -" style="fill:#d24b40;"/> - <path clip-path="url(#p19582ab83f)" d="M 284.580795 135.081903 -L 288.11871 143.342619 -L 290.094287 144.8656 -L 286.578566 135.500669 -L 284.580795 135.081903 -z -" style="fill:#c12b30;"/> - <path clip-path="url(#p19582ab83f)" d="M 232.799503 132.944526 -L 236.38044 137.141508 -L 238.506993 141.936833 -L 234.919369 134.603792 -L 232.799503 132.944526 + <path clip-path="url(#p553f52e075)" d="M 269.666218 146.237085 +L 273.301725 138.14058 +L 275.3422 135.894469 +L 271.707976 143.25841 z -" style="fill:#bb1b2c;"/> - <path clip-path="url(#p19582ab83f)" d="M 229.236101 131.024732 -L 232.799503 132.944526 -L 234.919369 134.603792 -L 231.343824 129.924841 -L 229.236101 131.024732 +" style="fill:#c43032;"/> + <path clip-path="url(#p553f52e075)" d="M 261.979231 153.349478 +L 265.591509 144.637775 +L 267.629689 146.501793 +L 264.0122 157.839832 z -" style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 223.629255 137.726057 -L 227.138822 134.222862 -L 229.236101 131.024732 -L 225.705916 132.31816 -L 223.629255 137.726057 +" style="fill:#d44e41;"/> + <path clip-path="url(#p553f52e075)" d="M 250.562099 225.426242 +L 254.135443 235.528598 +L 256.196343 216.193381 +L 252.61282 205.685934 z -" style="fill:#ba162b;"/> - <path clip-path="url(#p19582ab83f)" d="M 225.592602 200.462929 -L 229.115017 198.85051 -L 231.08323 179.138108 -L 227.542741 180.691711 -L 225.592602 200.462929 +" style="fill:#f0cdbb;"/> + <path clip-path="url(#p553f52e075)" d="M 219.0437 177.802323 +L 222.502158 171.240776 +L 224.491825 156.349019 +L 221.010408 162.194063 z -" style="fill:#f6a586;"/> - <path clip-path="url(#p19582ab83f)" d="M 221.576948 145.701627 -L 225.062908 140.27378 -L 227.138822 134.222862 -L 223.629255 137.726057 -L 221.576948 145.701627 +" style="fill:#e7745b;"/> + <path clip-path="url(#p553f52e075)" d="M 220.553717 189.017135 +L 224.030927 183.973432 +L 226.000171 166.550736 +L 222.502158 171.240776 z -" style="fill:#c32e31;"/> - <path clip-path="url(#p19582ab83f)" d="M 286.119879 143.222794 +" style="fill:#f08a6c;"/> + <path clip-path="url(#p553f52e075)" d="M 286.119879 143.222794 L 289.6185 155.354623 L 291.599358 155.959445 L 288.11871 143.342619 -L 286.119879 143.222794 +z +" style="fill:#d1493f;"/> + <path clip-path="url(#p553f52e075)" d="M 229.236101 131.024732 +L 232.799503 132.944526 +L 234.919369 134.603792 +L 231.343824 129.924841 +z +" style="fill:#b50927;"/> + <path clip-path="url(#p553f52e075)" d="M 219.556923 156.515905 +L 223.017849 149.583912 +L 225.062908 140.27378 +L 221.576948 145.701627 z " style="fill:#cf453c;"/> - <path clip-path="url(#p19582ab83f)" d="M 280.997019 131.553779 + <path clip-path="url(#p553f52e075)" d="M 223.629255 137.726057 +L 227.138822 134.222862 +L 229.236101 131.024732 +L 225.705916 132.31816 +z +" style="fill:#b70d28;"/> + <path clip-path="url(#p553f52e075)" d="M 280.997019 131.553779 L 284.580795 135.081903 L 286.578566 135.500669 L 283.015414 130.422973 -L 280.997019 131.553779 z " style="fill:#b50927;"/> - <path clip-path="url(#p19582ab83f)" d="M 268.301473 301.786871 -L 271.95466 291.84945 -L 273.922945 303.17166 -L 270.286994 311.981319 -L 268.301473 301.786871 -z -" style="fill:#82a6fb;"/> - <path clip-path="url(#p19582ab83f)" d="M 285.588088 158.644681 + <path clip-path="url(#p553f52e075)" d="M 285.588088 158.644681 L 289.050013 174.695179 L 291.064603 172.194724 L 287.613724 156.262535 -L 285.588088 158.644681 z -" style="fill:#e36b54;"/> - <path clip-path="url(#p19582ab83f)" d="M 253.426598 301.923183 +" style="fill:#e46e56;"/> + <path clip-path="url(#p553f52e075)" d="M 221.576948 145.701627 +L 225.062908 140.27378 +L 227.138822 134.222862 +L 223.629255 137.726057 +z +" style="fill:#c0282f;"/> + <path clip-path="url(#p553f52e075)" d="M 253.426598 301.923183 L 257.014556 294.301406 L 259.067364 306.864963 L 255.494004 313.44226 -L 253.426598 301.923183 z -" style="fill:#80a3fa;"/> - <path clip-path="url(#p19582ab83f)" d="M 275.3422 135.894469 -L 278.967477 133.261772 -L 280.997019 131.553779 -L 277.382995 132.738078 -L 275.3422 135.894469 +" style="fill:#7ea1fa;"/> + <path clip-path="url(#p553f52e075)" d="M 225.592602 200.462929 +L 229.115017 198.85051 +L 231.08323 179.138108 +L 227.542741 180.691711 z -" style="fill:#b70d28;"/> - <path clip-path="url(#p19582ab83f)" d="M 267.493111 207.825987 +" style="fill:#f5a081;"/> + <path clip-path="url(#p553f52e075)" d="M 268.301473 301.786871 +L 271.95466 291.84945 +L 273.922945 303.17166 +L 270.286994 311.981319 +z +" style="fill:#81a4fb;"/> + <path clip-path="url(#p553f52e075)" d="M 275.221507 195.837116 +L 278.707799 213.26126 +L 280.801647 202.051509 +L 277.318652 184.669912 +z +" style="fill:#f7af91;"/> + <path clip-path="url(#p553f52e075)" d="M 267.493111 207.825987 L 271.017829 223.378561 L 273.119656 208.827055 L 269.5945 193.097165 -L 267.493111 207.825987 z " style="fill:#f6bda2;"/> - <path clip-path="url(#p19582ab83f)" d="M 275.221507 195.837116 -L 278.707799 213.26126 -L 280.801647 202.051509 -L 277.318652 184.669912 -L 275.221507 195.837116 + <path clip-path="url(#p553f52e075)" d="M 275.3422 135.894469 +L 278.967477 133.261772 +L 280.997019 131.553779 +L 277.382995 132.738078 +z +" style="fill:#b50927;"/> + <path clip-path="url(#p553f52e075)" d="M 250.692313 148.568822 +L 254.27467 146.015999 +L 256.343982 154.041375 +L 252.775831 159.225846 +z +" style="fill:#d44e41;"/> + <path clip-path="url(#p553f52e075)" d="M 142.026972 167.45256 +L 145.890953 179.544286 +L 148.553614 190.686485 +L 144.656845 176.895836 z -" style="fill:#f7ad90;"/> - <path clip-path="url(#p19582ab83f)" d="M 256.196343 216.193381 +" style="fill:#f08a6c;"/> + <path clip-path="url(#p553f52e075)" d="M 256.196343 216.193381 L 259.763397 228.20598 L 261.845973 210.288443 L 258.272078 198.008269 -L 256.196343 216.193381 z -" style="fill:#f5c4ac;"/> - <path clip-path="url(#p19582ab83f)" d="M 267.629689 146.501793 +" style="fill:#f5c2aa;"/> + <path clip-path="url(#p553f52e075)" d="M 267.629689 146.501793 L 271.261547 139.125325 L 273.301725 138.14058 L 269.666218 146.237085 -L 267.629689 146.501793 z -" style="fill:#c73635;"/> - <path clip-path="url(#p19582ab83f)" d="M 246.979022 216.781678 +" style="fill:#c43032;"/> + <path clip-path="url(#p553f52e075)" d="M 246.979022 216.781678 L 250.562099 225.426242 L 252.61282 205.685934 L 249.018254 196.875467 -L 246.979022 216.781678 -z -" style="fill:#f5c1a9;"/> - <path clip-path="url(#p19582ab83f)" d="M 221.010408 162.194063 -L 224.491825 156.349019 -L 226.522488 144.966718 -L 223.017849 149.583912 -L 221.010408 162.194063 z -" style="fill:#d75445;"/> - <path clip-path="url(#p19582ab83f)" d="M 250.692313 148.568822 -L 254.27467 146.015999 -L 256.343982 154.041375 -L 252.775831 159.225846 -L 250.692313 148.568822 +" style="fill:#f5c0a7;"/> + <path clip-path="url(#p553f52e075)" d="M 283.543834 162.549542 +L 287.013651 178.890014 +L 289.050013 174.695179 +L 285.588088 158.644681 z -" style="fill:#d24b40;"/> - <path clip-path="url(#p19582ab83f)" d="M 261.845973 210.288443 +" style="fill:#e7745b;"/> + <path clip-path="url(#p553f52e075)" d="M 261.845973 210.288443 L 265.396699 224.116885 L 267.493111 207.825987 L 263.938683 193.819295 -L 261.845973 210.288443 z " style="fill:#f6bda2;"/> - <path clip-path="url(#p19582ab83f)" d="M 229.115017 198.85051 -L 232.661779 198.97074 -L 234.646559 179.274433 -L 231.08323 179.138108 -L 229.115017 198.85051 -z -" style="fill:#f5a081;"/> - <path clip-path="url(#p19582ab83f)" d="M 227.138822 134.222862 + <path clip-path="url(#p553f52e075)" d="M 227.138822 134.222862 L 230.685625 133.55836 L 232.799503 132.944526 L 229.236101 131.024732 -L 227.138822 134.222862 z " style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 224.030927 183.973432 -L 227.542741 180.691711 -L 229.530913 163.627042 -L 226.000171 166.550736 -L 224.030927 183.973432 -z -" style="fill:#ed8366;"/> - <path clip-path="url(#p19582ab83f)" d="M 142.026972 167.45256 -L 145.890953 179.544286 -L 148.553614 190.686485 -L 144.656845 176.895836 -L 142.026972 167.45256 -z -" style="fill:#ed8366;"/> - <path clip-path="url(#p19582ab83f)" d="M 283.543834 162.549542 -L 287.013651 178.890014 -L 289.050013 174.695179 -L 285.588088 158.644681 -L 283.543834 162.549542 -z -" style="fill:#e57058;"/> - <path clip-path="url(#p19582ab83f)" d="M 282.565458 135.718695 + <path clip-path="url(#p553f52e075)" d="M 282.565458 135.718695 L 286.119879 143.222794 L 288.11871 143.342619 L 284.580795 135.081903 -L 282.565458 135.718695 -z -" style="fill:#bd1f2d;"/> - <path clip-path="url(#p19582ab83f)" d="M 222.502158 171.240776 -L 226.000171 166.550736 -L 228.010651 152.450539 -L 224.491825 156.349019 -L 222.502158 171.240776 z -" style="fill:#e16751;"/> - <path clip-path="url(#p19582ab83f)" d="M 277.318652 184.669912 +" style="fill:#be242e;"/> + <path clip-path="url(#p553f52e075)" d="M 277.318652 184.669912 L 280.801647 202.051509 L 282.886406 192.546526 L 279.406876 175.431683 -L 277.318652 184.669912 z -" style="fill:#f49a7b;"/> - <path clip-path="url(#p19582ab83f)" d="M 278.967477 133.261772 +" style="fill:#f59c7d;"/> + <path clip-path="url(#p553f52e075)" d="M 221.010408 162.194063 +L 224.491825 156.349019 +L 226.522488 144.966718 +L 223.017849 149.583912 +z +" style="fill:#d44e41;"/> + <path clip-path="url(#p553f52e075)" d="M 284.102124 144.294822 +L 287.613724 156.262535 +L 289.6185 155.354623 +L 286.119879 143.222794 +z +" style="fill:#cf453c;"/> + <path clip-path="url(#p553f52e075)" d="M 278.967477 133.261772 L 282.565458 135.718695 L 284.580795 135.081903 L 280.997019 131.553779 -L 278.967477 133.261772 z " style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 284.102124 144.294822 -L 287.613724 156.262535 -L 289.6185 155.354623 -L 286.119879 143.222794 -L 284.102124 144.294822 + <path clip-path="url(#p553f52e075)" d="M 229.115017 198.85051 +L 232.661779 198.97074 +L 234.646559 179.274433 +L 231.08323 179.138108 z -" style="fill:#cc403a;"/> - <path clip-path="url(#p19582ab83f)" d="M 243.39167 209.753078 -L 246.979022 216.781678 -L 249.018254 196.875467 -L 245.418555 189.84448 -L 243.39167 209.753078 +" style="fill:#f59c7d;"/> + <path clip-path="url(#p553f52e075)" d="M 281.482784 168.096463 +L 284.958172 184.82619 +L 287.013651 178.890014 +L 283.543834 162.549542 z -" style="fill:#f7b599;"/> - <path clip-path="url(#p19582ab83f)" d="M 273.301725 138.14058 -L 276.931493 134.979259 -L 278.967477 133.261772 -L 275.3422 135.894469 -L 273.301725 138.14058 +" style="fill:#eb7d62;"/> + <path clip-path="url(#p553f52e075)" d="M 279.406876 175.431683 +L 282.886406 192.546526 +L 284.958172 184.82619 +L 281.482784 168.096463 z -" style="fill:#b70d28;"/> - <path clip-path="url(#p19582ab83f)" d="M 262.668101 298.865112 +" style="fill:#f08a6c;"/> + <path clip-path="url(#p553f52e075)" d="M 224.030927 183.973432 +L 227.542741 180.691711 +L 229.530913 163.627042 +L 226.000171 166.550736 +z +" style="fill:#eb7d62;"/> + <path clip-path="url(#p553f52e075)" d="M 262.668101 298.865112 L 266.301047 289.483486 L 268.301473 301.786871 L 264.684793 310.161983 -L 262.668101 298.865112 -z -" style="fill:#89acfd;"/> - <path clip-path="url(#p19582ab83f)" d="M 223.017849 149.583912 -L 226.522488 144.966718 -L 228.589748 137.396744 -L 225.062908 140.27378 -L 223.017849 149.583912 z -" style="fill:#c53334;"/> - <path clip-path="url(#p19582ab83f)" d="M 230.685625 133.55836 +" style="fill:#88abfd;"/> + <path clip-path="url(#p553f52e075)" d="M 230.685625 133.55836 L 234.255835 134.990453 L 236.38044 137.141508 L 232.799503 132.944526 -L 230.685625 133.55836 -z -" style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 281.482784 168.096463 -L 284.958172 184.82619 -L 287.013651 178.890014 -L 283.543834 162.549542 -L 281.482784 168.096463 -z -" style="fill:#e97a5f;"/> - <path clip-path="url(#p19582ab83f)" d="M 225.062908 140.27378 -L 228.589748 137.396744 -L 230.685625 133.55836 -L 227.138822 134.222862 -L 225.062908 140.27378 -z -" style="fill:#ba162b;"/> - <path clip-path="url(#p19582ab83f)" d="M 232.661779 198.97074 -L 236.22727 200.827877 -L 238.227157 181.086555 -L 234.646559 179.274433 -L 232.661779 198.97074 z -" style="fill:#f5a081;"/> - <path clip-path="url(#p19582ab83f)" d="M 279.406876 175.431683 -L 282.886406 192.546526 -L 284.958172 184.82619 -L 281.482784 168.096463 -L 279.406876 175.431683 +" style="fill:#b50927;"/> + <path clip-path="url(#p553f52e075)" d="M 273.301725 138.14058 +L 276.931493 134.979259 +L 278.967477 133.261772 +L 275.3422 135.894469 z -" style="fill:#ef886b;"/> - <path clip-path="url(#p19582ab83f)" d="M 234.255835 134.990453 +" style="fill:#b70d28;"/> + <path clip-path="url(#p553f52e075)" d="M 234.255835 134.990453 L 237.837331 137.504281 L 239.965252 142.259472 L 236.38044 137.141508 -L 234.255835 134.990453 z " style="fill:#ba162b;"/> - <path clip-path="url(#p19582ab83f)" d="M 239.805815 204.424139 -L 243.39167 209.753078 -L 245.418555 189.84448 -L 241.819634 184.594999 -L 239.805815 204.424139 + <path clip-path="url(#p553f52e075)" d="M 222.502158 171.240776 +L 226.000171 166.550736 +L 228.010651 152.450539 +L 224.491825 156.349019 z -" style="fill:#f7aa8c;"/> - <path clip-path="url(#p19582ab83f)" d="M 259.933859 147.562177 -L 263.544133 142.071211 -L 265.591509 144.637775 -L 261.979231 153.349478 -L 259.933859 147.562177 +" style="fill:#de614d;"/> + <path clip-path="url(#p553f52e075)" d="M 243.39167 209.753078 +L 246.979022 216.781678 +L 249.018254 196.875467 +L 245.418555 189.84448 z -" style="fill:#ca3b37;"/> - <path clip-path="url(#p19582ab83f)" d="M 237.837331 137.504281 +" style="fill:#f7b396;"/> + <path clip-path="url(#p553f52e075)" d="M 237.837331 137.504281 L 241.421962 139.994569 L 243.545172 146.68607 L 239.965252 142.259472 -L 237.837331 137.504281 z -" style="fill:#be242e;"/> - <path clip-path="url(#p19582ab83f)" d="M 236.22727 200.827877 -L 239.805815 204.424139 -L 241.819634 184.594999 -L 238.227157 181.086555 -L 236.22727 200.827877 +" style="fill:#c12b30;"/> + <path clip-path="url(#p553f52e075)" d="M 225.062908 140.27378 +L 228.589748 137.396744 +L 230.685625 133.55836 +L 227.138822 134.222862 z -" style="fill:#f6a385;"/> - <path clip-path="url(#p19582ab83f)" d="M 269.5945 193.097165 +" style="fill:#b70d28;"/> + <path clip-path="url(#p553f52e075)" d="M 223.017849 149.583912 +L 226.522488 144.966718 +L 228.589748 137.396744 +L 225.062908 140.27378 +z +" style="fill:#c32e31;"/> + <path clip-path="url(#p553f52e075)" d="M 259.933859 147.562177 +L 263.544133 142.071211 +L 265.591509 144.637775 +L 261.979231 153.349478 +z +" style="fill:#c83836;"/> + <path clip-path="url(#p553f52e075)" d="M 269.5945 193.097165 L 273.119656 208.827055 L 275.221507 195.837116 L 271.695917 180.319077 -L 269.5945 193.097165 z " style="fill:#f6a385;"/> - <path clip-path="url(#p19582ab83f)" d="M 252.61282 205.685934 + <path clip-path="url(#p553f52e075)" d="M 232.661779 198.97074 +L 236.22727 200.827877 +L 238.227157 181.086555 +L 234.646559 179.274433 +z +" style="fill:#f59c7d;"/> + <path clip-path="url(#p553f52e075)" d="M 241.421962 139.994569 +L 245.007008 141.567512 +L 247.118842 148.988711 +L 243.545172 146.68607 +z +" style="fill:#c43032;"/> + <path clip-path="url(#p553f52e075)" d="M 239.805815 204.424139 +L 243.39167 209.753078 +L 245.418555 189.84448 +L 241.819634 184.594999 +z +" style="fill:#f7a889;"/> + <path clip-path="url(#p553f52e075)" d="M 265.591509 144.637775 +L 269.217853 139.192884 +L 271.261547 139.125325 +L 267.629689 146.501793 +z +" style="fill:#c12b30;"/> + <path clip-path="url(#p553f52e075)" d="M 282.068197 146.481871 +L 285.588088 158.644681 +L 287.613724 156.262535 +L 284.102124 144.294822 +z +" style="fill:#cf453c;"/> + <path clip-path="url(#p553f52e075)" d="M 252.61282 205.685934 L 256.196343 216.193381 L 258.272078 198.008269 L 254.680283 187.540057 -L 252.61282 205.685934 -z -" style="fill:#f7b093;"/> - <path clip-path="url(#p19582ab83f)" d="M 265.591509 144.637775 -L 269.217853 139.192884 -L 271.261547 139.125325 -L 267.629689 146.501793 -L 265.591509 144.637775 z -" style="fill:#c12b30;"/> - <path clip-path="url(#p19582ab83f)" d="M 241.421962 139.994569 -L 245.007008 141.567512 -L 247.118842 148.988711 -L 243.545172 146.68607 -L 241.421962 139.994569 +" style="fill:#f7af91;"/> + <path clip-path="url(#p553f52e075)" d="M 236.22727 200.827877 +L 239.805815 204.424139 +L 241.819634 184.594999 +L 238.227157 181.086555 z -" style="fill:#c32e31;"/> - <path clip-path="url(#p19582ab83f)" d="M 227.542741 180.691711 -L 231.08323 179.138108 -L 233.087765 162.332325 -L 229.530913 163.627042 -L 227.542741 180.691711 +" style="fill:#f5a081;"/> + <path clip-path="url(#p553f52e075)" d="M 280.53714 137.054481 +L 284.102124 144.294822 +L 286.119879 143.222794 +L 282.565458 135.718695 z -" style="fill:#e97a5f;"/> - <path clip-path="url(#p19582ab83f)" d="M 254.27467 146.015999 +" style="fill:#bd1f2d;"/> + <path clip-path="url(#p553f52e075)" d="M 254.27467 146.015999 L 257.87184 142.760091 L 259.933859 147.562177 L 256.343982 154.041375 -L 254.27467 146.015999 z " style="fill:#c83836;"/> - <path clip-path="url(#p19582ab83f)" d="M 282.068197 146.481871 -L 285.588088 158.644681 -L 287.613724 156.262535 -L 284.102124 144.294822 -L 282.068197 146.481871 + <path clip-path="url(#p553f52e075)" d="M 276.931493 134.979259 +L 280.53714 137.054481 +L 282.565458 135.718695 +L 278.967477 133.261772 z -" style="fill:#cd423b;"/> - <path clip-path="url(#p19582ab83f)" d="M 283.246793 291.831282 +" style="fill:#b40426;"/> + <path clip-path="url(#p553f52e075)" d="M 283.246793 291.831282 L 287.004737 278.935415 L 288.901986 289.483431 L 285.160912 301.587023 -L 283.246793 291.831282 z " style="fill:#9abbff;"/> - <path clip-path="url(#p19582ab83f)" d="M 280.53714 137.054481 -L 284.102124 144.294822 -L 286.119879 143.222794 -L 282.565458 135.718695 -L 280.53714 137.054481 -z -" style="fill:#bb1b2c;"/> - <path clip-path="url(#p19582ab83f)" d="M 288.901986 289.483431 + <path clip-path="url(#p553f52e075)" d="M 288.901986 289.483431 L 292.69984 275.703861 L 294.574776 285.546924 L 290.792953 298.621303 -L 288.901986 289.483431 z " style="fill:#9fbfff;"/> - <path clip-path="url(#p19582ab83f)" d="M 276.931493 134.979259 -L 280.53714 137.054481 -L 282.565458 135.718695 -L 278.967477 133.261772 -L 276.931493 134.979259 -z -" style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 224.491825 156.349019 -L 228.010651 152.450539 -L 230.060946 142.338798 -L 226.522488 144.966718 -L 224.491825 156.349019 + <path clip-path="url(#p553f52e075)" d="M 245.007008 141.567512 +L 248.594749 141.872642 +L 250.692313 148.568822 +L 247.118842 148.988711 z -" style="fill:#cd423b;"/> - <path clip-path="url(#p19582ab83f)" d="M 271.261547 139.125325 +" style="fill:#c43032;"/> + <path clip-path="url(#p553f52e075)" d="M 271.261547 139.125325 L 274.890316 136.490631 L 276.931493 134.979259 L 273.301725 138.14058 -L 271.261547 139.125325 z " style="fill:#b70d28;"/> - <path clip-path="url(#p19582ab83f)" d="M 228.589748 137.396744 + <path clip-path="url(#p553f52e075)" d="M 227.542741 180.691711 +L 231.08323 179.138108 +L 233.087765 162.332325 +L 229.530913 163.627042 +z +" style="fill:#e7745b;"/> + <path clip-path="url(#p553f52e075)" d="M 228.589748 137.396744 L 232.145608 136.543968 L 234.255835 134.990453 L 230.685625 133.55836 -L 228.589748 137.396744 z " style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 263.938683 193.819295 + <path clip-path="url(#p553f52e075)" d="M 263.938683 193.819295 L 267.493111 207.825987 L 269.5945 193.097165 L 266.036843 179.367678 -L 263.938683 193.819295 z " style="fill:#f5a081;"/> - <path clip-path="url(#p19582ab83f)" d="M 277.600474 292.620627 + <path clip-path="url(#p553f52e075)" d="M 277.600474 292.620627 L 281.324007 280.534387 L 283.246793 291.831282 L 279.540229 303.095499 -L 277.600474 292.620627 z " style="fill:#98b9ff;"/> - <path clip-path="url(#p19582ab83f)" d="M 245.007008 141.567512 -L 248.594749 141.872642 -L 250.692313 148.568822 -L 247.118842 148.988711 -L 245.007008 141.567512 + <path clip-path="url(#p553f52e075)" d="M 224.491825 156.349019 +L 228.010651 152.450539 +L 230.060946 142.338798 +L 226.522488 144.966718 z -" style="fill:#c32e31;"/> - <path clip-path="url(#p19582ab83f)" d="M 258.272078 198.008269 +" style="fill:#ca3b37;"/> + <path clip-path="url(#p553f52e075)" d="M 258.272078 198.008269 L 261.845973 210.288443 L 263.938683 193.819295 L 260.359174 181.749461 -L 258.272078 198.008269 -z -" style="fill:#f6a586;"/> - <path clip-path="url(#p19582ab83f)" d="M 226.000171 166.550736 -L 229.530913 163.627042 -L 231.558783 150.240668 -L 228.010651 152.450539 -L 226.000171 166.550736 z -" style="fill:#d95847;"/> - <path clip-path="url(#p19582ab83f)" d="M 257.014556 294.301406 +" style="fill:#f6a385;"/> + <path clip-path="url(#p553f52e075)" d="M 257.014556 294.301406 L 260.631087 285.467767 L 262.668101 298.865112 L 259.067364 306.864963 -L 257.014556 294.301406 -z -" style="fill:#93b5fe;"/> - <path clip-path="url(#p19582ab83f)" d="M 226.522488 144.966718 -L 230.060946 142.338798 -L 232.145608 136.543968 -L 228.589748 137.396744 -L 226.522488 144.966718 z -" style="fill:#bd1f2d;"/> - <path clip-path="url(#p19582ab83f)" d="M 271.695917 180.319077 +" style="fill:#92b4fe;"/> + <path clip-path="url(#p553f52e075)" d="M 271.695917 180.319077 L 275.221507 195.837116 L 277.318652 184.669912 L 273.792566 169.68446 -L 271.695917 180.319077 z " style="fill:#f08a6c;"/> - <path clip-path="url(#p19582ab83f)" d="M 249.018254 196.875467 -L 252.61282 205.685934 -L 254.680283 187.540057 -L 251.076791 178.992789 -L 249.018254 196.875467 -z -" style="fill:#f59d7e;"/> - <path clip-path="url(#p19582ab83f)" d="M 280.01947 149.868615 + <path clip-path="url(#p553f52e075)" d="M 280.01947 149.868615 L 283.543834 162.549542 L 285.588088 158.644681 L 282.068197 146.481871 -L 280.01947 149.868615 z -" style="fill:#d0473d;"/> - <path clip-path="url(#p19582ab83f)" d="M 231.08323 179.138108 -L 234.646559 179.274433 -L 236.664828 162.55532 -L 233.087765 162.332325 -L 231.08323 179.138108 +" style="fill:#d1493f;"/> + <path clip-path="url(#p553f52e075)" d="M 226.522488 144.966718 +L 230.060946 142.338798 +L 232.145608 136.543968 +L 228.589748 137.396744 z -" style="fill:#e7745b;"/> - <path clip-path="url(#p19582ab83f)" d="M 232.145608 136.543968 +" style="fill:#ba162b;"/> + <path clip-path="url(#p553f52e075)" d="M 226.000171 166.550736 +L 229.530913 163.627042 +L 231.558783 150.240668 +L 228.010651 152.450539 +z +" style="fill:#d65244;"/> + <path clip-path="url(#p553f52e075)" d="M 232.145608 136.543968 L 235.71978 137.006686 L 237.837331 137.504281 L 234.255835 134.990453 -L 232.145608 136.543968 z " style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 271.95466 291.84945 -L 275.648841 280.505996 -L 277.600474 292.620627 -L 273.922945 303.17166 -L 271.95466 291.84945 + <path clip-path="url(#p553f52e075)" d="M 249.018254 196.875467 +L 252.61282 205.685934 +L 254.680283 187.540057 +L 251.076791 178.992789 z -" style="fill:#9bbcff;"/> - <path clip-path="url(#p19582ab83f)" d="M 278.497999 138.957003 +" style="fill:#f59c7d;"/> + <path clip-path="url(#p553f52e075)" d="M 278.497999 138.957003 L 282.068197 146.481871 L 284.102124 144.294822 L 280.53714 137.054481 -L 278.497999 138.957003 z -" style="fill:#bb1b2c;"/> - <path clip-path="url(#p19582ab83f)" d="M 274.890316 136.490631 +" style="fill:#bd1f2d;"/> + <path clip-path="url(#p553f52e075)" d="M 271.95466 291.84945 +L 275.648841 280.505996 +L 277.600474 292.620627 +L 273.922945 303.17166 +z +" style="fill:#9abbff;"/> + <path clip-path="url(#p553f52e075)" d="M 273.792566 169.68446 +L 277.318652 184.669912 +L 279.406876 175.431683 +L 275.88042 161.191709 +z +" style="fill:#e7745b;"/> + <path clip-path="url(#p553f52e075)" d="M 274.890316 136.490631 L 278.497999 138.957003 L 280.53714 137.054481 L 276.931493 134.979259 -L 274.890316 136.490631 z " style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 273.792566 169.68446 -L 277.318652 184.669912 -L 279.406876 175.431683 -L 275.88042 161.191709 -L 273.792566 169.68446 + <path clip-path="url(#p553f52e075)" d="M 277.956608 154.675776 +L 281.482784 168.096463 +L 283.543834 162.549542 +L 280.01947 149.868615 z -" style="fill:#e67259;"/> - <path clip-path="url(#p19582ab83f)" d="M 248.594749 141.872642 +" style="fill:#d65244;"/> + <path clip-path="url(#p553f52e075)" d="M 248.594749 141.872642 L 252.189677 141.256405 L 254.27467 146.015999 L 250.692313 148.568822 -L 248.594749 141.872642 z -" style="fill:#c0282f;"/> - <path clip-path="url(#p19582ab83f)" d="M 277.956608 154.675776 +" style="fill:#c12b30;"/> + <path clip-path="url(#p553f52e075)" d="M 231.08323 179.138108 +L 234.646559 179.274433 +L 236.664828 162.55532 +L 233.087765 162.332325 +z +" style="fill:#e46e56;"/> + <path clip-path="url(#p553f52e075)" d="M 275.88042 161.191709 +L 279.406876 175.431683 L 281.482784 168.096463 -L 283.543834 162.549542 -L 280.01947 149.868615 L 277.956608 154.675776 z -" style="fill:#d55042;"/> - <path clip-path="url(#p19582ab83f)" d="M 263.544133 142.071211 +" style="fill:#de614d;"/> + <path clip-path="url(#p553f52e075)" d="M 235.71978 137.006686 +L 239.30444 138.045538 +L 241.421962 139.994569 +L 237.837331 137.504281 +z +" style="fill:#b50927;"/> + <path clip-path="url(#p553f52e075)" d="M 263.544133 142.071211 L 267.165714 139.234816 L 269.217853 139.192884 L 265.591509 144.637775 -L 263.544133 142.071211 z -" style="fill:#bb1b2c;"/> - <path clip-path="url(#p19582ab83f)" d="M 269.217853 139.192884 +" style="fill:#ba162b;"/> + <path clip-path="url(#p553f52e075)" d="M 269.217853 139.192884 L 272.842387 138.01109 L 274.890316 136.490631 L 271.261547 139.125325 -L 269.217853 139.192884 z " style="fill:#b50927;"/> - <path clip-path="url(#p19582ab83f)" d="M 235.71978 137.006686 -L 239.30444 138.045538 -L 241.421962 139.994569 -L 237.837331 137.504281 -L 235.71978 137.006686 + <path clip-path="url(#p553f52e075)" d="M 257.87184 142.760091 +L 261.483194 140.41905 +L 263.544133 142.071211 +L 259.933859 147.562177 z -" style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 275.88042 161.191709 -L 279.406876 175.431683 -L 281.482784 168.096463 -L 277.956608 154.675776 -L 275.88042 161.191709 +" style="fill:#bd1f2d;"/> + <path clip-path="url(#p553f52e075)" d="M 266.036843 179.367678 +L 269.5945 193.097165 +L 271.695917 180.319077 +L 268.135195 167.289148 z -" style="fill:#dd5f4b;"/> - <path clip-path="url(#p19582ab83f)" d="M 228.010651 152.450539 +" style="fill:#ec8165;"/> + <path clip-path="url(#p553f52e075)" d="M 228.010651 152.450539 L 231.558783 150.240668 L 233.623835 141.243181 L 230.060946 142.338798 -L 228.010651 152.450539 z -" style="fill:#c53334;"/> - <path clip-path="url(#p19582ab83f)" d="M 245.418555 189.84448 +" style="fill:#c32e31;"/> + <path clip-path="url(#p553f52e075)" d="M 245.418555 189.84448 L 249.018254 196.875467 L 251.076791 178.992789 L 247.467933 172.343129 -L 245.418555 189.84448 -z -" style="fill:#f18d6f;"/> - <path clip-path="url(#p19582ab83f)" d="M 234.646559 179.274433 -L 238.227157 181.086555 -L 240.256989 164.255262 -L 236.664828 162.55532 -L 234.646559 179.274433 -z -" style="fill:#e7745b;"/> - <path clip-path="url(#p19582ab83f)" d="M 229.530913 163.627042 -L 233.087765 162.332325 -L 235.12907 149.439395 -L 231.558783 150.240668 -L 229.530913 163.627042 z -" style="fill:#d44e41;"/> - <path clip-path="url(#p19582ab83f)" d="M 230.060946 142.338798 +" style="fill:#f08a6c;"/> + <path clip-path="url(#p553f52e075)" d="M 230.060946 142.338798 L 233.623835 141.243181 L 235.71978 137.006686 L 232.145608 136.543968 -L 230.060946 142.338798 z -" style="fill:#b70d28;"/> - <path clip-path="url(#p19582ab83f)" d="M 257.87184 142.760091 -L 261.483194 140.41905 -L 263.544133 142.071211 -L 259.933859 147.562177 -L 257.87184 142.760091 +" style="fill:#b50927;"/> + <path clip-path="url(#p553f52e075)" d="M 234.646559 179.274433 +L 238.227157 181.086555 +L 240.256989 164.255262 +L 236.664828 162.55532 z -" style="fill:#bd1f2d;"/> - <path clip-path="url(#p19582ab83f)" d="M 266.036843 179.367678 -L 269.5945 193.097165 -L 271.695917 180.319077 -L 268.135195 167.289148 -L 266.036843 179.367678 +" style="fill:#e46e56;"/> + <path clip-path="url(#p553f52e075)" d="M 276.448166 141.562953 +L 280.01947 149.868615 +L 282.068197 146.481871 +L 278.497999 138.957003 z -" style="fill:#ec8165;"/> - <path clip-path="url(#p19582ab83f)" d="M 254.680283 187.540057 +" style="fill:#be242e;"/> + <path clip-path="url(#p553f52e075)" d="M 254.680283 187.540057 L 258.272078 198.008269 L 260.359174 181.749461 L 256.760994 171.812097 -L 254.680283 187.540057 -z -" style="fill:#f08b6e;"/> - <path clip-path="url(#p19582ab83f)" d="M 241.819634 184.594999 -L 245.418555 189.84448 -L 247.467933 172.343129 -L 243.859594 167.478697 -L 241.819634 184.594999 -z -" style="fill:#ec8165;"/> - <path clip-path="url(#p19582ab83f)" d="M 238.227157 181.086555 -L 241.819634 184.594999 -L 243.859594 167.478697 -L 240.256989 164.255262 -L 238.227157 181.086555 z -" style="fill:#e9785d;"/> - <path clip-path="url(#p19582ab83f)" d="M 276.448166 141.562953 -L 280.01947 149.868615 -L 282.068197 146.481871 -L 278.497999 138.957003 -L 276.448166 141.562953 +" style="fill:#f08a6c;"/> + <path clip-path="url(#p553f52e075)" d="M 239.30444 138.045538 +L 242.895591 139.090373 +L 245.007008 141.567512 +L 241.421962 139.994569 z -" style="fill:#bd1f2d;"/> - <path clip-path="url(#p19582ab83f)" d="M 266.301047 289.483486 +" style="fill:#b70d28;"/> + <path clip-path="url(#p553f52e075)" d="M 266.301047 289.483486 L 269.970503 278.840743 L 271.95466 291.84945 L 268.301473 301.786871 -L 266.301047 289.483486 z -" style="fill:#a1c0ff;"/> - <path clip-path="url(#p19582ab83f)" d="M 239.30444 138.045538 -L 242.895591 139.090373 -L 245.007008 141.567512 -L 241.421962 139.994569 -L 239.30444 138.045538 +" style="fill:#9fbfff;"/> + <path clip-path="url(#p553f52e075)" d="M 229.530913 163.627042 +L 233.087765 162.332325 +L 235.12907 149.439395 +L 231.558783 150.240668 z -" style="fill:#b50927;"/> - <path clip-path="url(#p19582ab83f)" d="M 260.359174 181.749461 +" style="fill:#d1493f;"/> + <path clip-path="url(#p553f52e075)" d="M 260.359174 181.749461 L 263.938683 193.819295 L 266.036843 179.367678 L 262.452637 167.996909 -L 260.359174 181.749461 z -" style="fill:#ed8366;"/> - <path clip-path="url(#p19582ab83f)" d="M 272.842387 138.01109 +" style="fill:#ec8165;"/> + <path clip-path="url(#p553f52e075)" d="M 241.819634 184.594999 +L 245.418555 189.84448 +L 247.467933 172.343129 +L 243.859594 167.478697 +z +" style="fill:#eb7d62;"/> + <path clip-path="url(#p553f52e075)" d="M 272.842387 138.01109 L 276.448166 141.562953 L 278.497999 138.957003 L 274.890316 136.490631 -L 272.842387 138.01109 z " style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 252.189677 141.256405 + <path clip-path="url(#p553f52e075)" d="M 238.227157 181.086555 +L 241.819634 184.594999 +L 243.859594 167.478697 +L 240.256989 164.255262 +z +" style="fill:#e7745b;"/> + <path clip-path="url(#p553f52e075)" d="M 252.189677 141.256405 L 255.794725 140.612501 L 257.87184 142.760091 L 254.27467 146.015999 -L 252.189677 141.256405 z " style="fill:#ba162b;"/> - <path clip-path="url(#p19582ab83f)" d="M 233.623835 141.243181 -L 237.203622 141.20561 -L 239.30444 138.045538 -L 235.71978 137.006686 -L 233.623835 141.243181 -z -" style="fill:#b50927;"/> - <path clip-path="url(#p19582ab83f)" d="M 231.558783 150.240668 -L 235.12907 149.439395 -L 237.203622 141.20561 -L 233.623835 141.243181 -L 231.558783 150.240668 -z -" style="fill:#c12b30;"/> - <path clip-path="url(#p19582ab83f)" d="M 233.087765 162.332325 -L 236.664828 162.55532 -L 238.715885 149.832659 -L 235.12907 149.439395 -L 233.087765 162.332325 -z -" style="fill:#d1493f;"/> - <path clip-path="url(#p19582ab83f)" d="M 242.895591 139.090373 + <path clip-path="url(#p553f52e075)" d="M 242.895591 139.090373 L 246.492656 139.925044 L 248.594749 141.872642 L 245.007008 141.567512 -L 242.895591 139.090373 z -" style="fill:#b50927;"/> - <path clip-path="url(#p19582ab83f)" d="M 268.135195 167.289148 +" style="fill:#b70d28;"/> + <path clip-path="url(#p553f52e075)" d="M 274.386811 145.23604 +L 277.956608 154.675776 +L 280.01947 149.868615 +L 276.448166 141.562953 +z +" style="fill:#c32e31;"/> + <path clip-path="url(#p553f52e075)" d="M 268.135195 167.289148 L 271.695917 180.319077 L 273.792566 169.68446 L 270.228721 157.696239 -L 268.135195 167.289148 z " style="fill:#e0654f;"/> - <path clip-path="url(#p19582ab83f)" d="M 274.386811 145.23604 -L 277.956608 154.675776 -L 280.01947 149.868615 -L 276.448166 141.562953 -L 274.386811 145.23604 + <path clip-path="url(#p553f52e075)" d="M 233.623835 141.243181 +L 237.203622 141.20561 +L 239.30444 138.045538 +L 235.71978 137.006686 z -" style="fill:#c12b30;"/> - <path clip-path="url(#p19582ab83f)" d="M 267.165714 139.234816 +" style="fill:#b40426;"/> + <path clip-path="url(#p553f52e075)" d="M 267.165714 139.234816 L 270.785021 140.112248 L 272.842387 138.01109 L 269.217853 139.192884 -L 267.165714 139.234816 z " style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 251.076791 178.992789 -L 254.680283 187.540057 -L 256.760994 171.812097 -L 253.151249 164.008559 -L 251.076791 178.992789 + <path clip-path="url(#p553f52e075)" d="M 231.558783 150.240668 +L 235.12907 149.439395 +L 237.203622 141.20561 +L 233.623835 141.243181 z -" style="fill:#e8765c;"/> - <path clip-path="url(#p19582ab83f)" d="M 261.483194 140.41905 -L 265.101765 140.361495 -L 267.165714 139.234816 -L 263.544133 142.071211 -L 261.483194 140.41905 +" style="fill:#be242e;"/> + <path clip-path="url(#p553f52e075)" d="M 233.087765 162.332325 +L 236.664828 162.55532 +L 238.715885 149.832659 +L 235.12907 149.439395 z -" style="fill:#b50927;"/> - <path clip-path="url(#p19582ab83f)" d="M 272.31341 150.457941 +" style="fill:#cf453c;"/> + <path clip-path="url(#p553f52e075)" d="M 272.31341 150.457941 L 275.88042 161.191709 L 277.956608 154.675776 L 274.386811 145.23604 -L 272.31341 150.457941 z " style="fill:#ca3b37;"/> - <path clip-path="url(#p19582ab83f)" d="M 270.228721 157.696239 + <path clip-path="url(#p553f52e075)" d="M 251.076791 178.992789 +L 254.680283 187.540057 +L 256.760994 171.812097 +L 253.151249 164.008559 +z +" style="fill:#e7745b;"/> + <path clip-path="url(#p553f52e075)" d="M 270.228721 157.696239 L 273.792566 169.68446 L 275.88042 161.191709 L 272.31341 150.457941 -L 270.228721 157.696239 z " style="fill:#d44e41;"/> - <path clip-path="url(#p19582ab83f)" d="M 270.785021 140.112248 + <path clip-path="url(#p553f52e075)" d="M 261.483194 140.41905 +L 265.101765 140.361495 +L 267.165714 139.234816 +L 263.544133 142.071211 +z +" style="fill:#b50927;"/> + <path clip-path="url(#p553f52e075)" d="M 270.785021 140.112248 L 274.386811 145.23604 L 276.448166 141.562953 L 272.842387 138.01109 -L 270.785021 140.112248 z " style="fill:#b50927;"/> - <path clip-path="url(#p19582ab83f)" d="M 237.203622 141.20561 + <path clip-path="url(#p553f52e075)" d="M 260.631087 285.467767 +L 264.280181 275.519731 +L 266.301047 289.483486 +L 262.668101 298.865112 +z +" style="fill:#a7c5fe;"/> + <path clip-path="url(#p553f52e075)" d="M 237.203622 141.20561 L 240.795315 141.866831 L 242.895591 139.090373 L 239.30444 138.045538 -L 237.203622 141.20561 z " style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 236.664828 162.55532 -L 240.256989 164.255262 -L 242.315048 151.341677 -L 238.715885 149.832659 -L 236.664828 162.55532 -z -" style="fill:#d1493f;"/> - <path clip-path="url(#p19582ab83f)" d="M 260.631087 285.467767 -L 264.280181 275.519731 -L 266.301047 289.483486 -L 262.668101 298.865112 -L 260.631087 285.467767 + <path clip-path="url(#p553f52e075)" d="M 246.492656 139.925044 +L 250.096689 140.765441 +L 252.189677 141.256405 +L 248.594749 141.872642 z -" style="fill:#a9c6fd;"/> - <path clip-path="url(#p19582ab83f)" d="M 262.452637 167.996909 +" style="fill:#b50927;"/> + <path clip-path="url(#p553f52e075)" d="M 262.452637 167.996909 L 266.036843 179.367678 L 268.135195 167.289148 L 264.546757 157.074967 -L 262.452637 167.996909 z " style="fill:#de614d;"/> - <path clip-path="url(#p19582ab83f)" d="M 246.492656 139.925044 -L 250.096689 140.765441 -L 252.189677 141.256405 -L 248.594749 141.872642 -L 246.492656 139.925044 + <path clip-path="url(#p553f52e075)" d="M 255.794725 140.612501 +L 259.408669 141.051859 +L 261.483194 140.41905 +L 257.87184 142.760091 z -" style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 235.12907 149.439395 +" style="fill:#b50927;"/> + <path clip-path="url(#p553f52e075)" d="M 236.664828 162.55532 +L 240.256989 164.255262 +L 242.315048 151.341677 L 238.715885 149.832659 -L 240.795315 141.866831 -L 237.203622 141.20561 -L 235.12907 149.439395 z -" style="fill:#be242e;"/> - <path clip-path="url(#p19582ab83f)" d="M 256.760994 171.812097 +" style="fill:#cf453c;"/> + <path clip-path="url(#p553f52e075)" d="M 256.760994 171.812097 L 260.359174 181.749461 L 262.452637 167.996909 L 258.849634 159.100711 -L 256.760994 171.812097 z -" style="fill:#e16751;"/> - <path clip-path="url(#p19582ab83f)" d="M 247.467933 172.343129 +" style="fill:#e0654f;"/> + <path clip-path="url(#p553f52e075)" d="M 235.12907 149.439395 +L 238.715885 149.832659 +L 240.795315 141.866831 +L 237.203622 141.20561 +z +" style="fill:#bd1f2d;"/> + <path clip-path="url(#p553f52e075)" d="M 247.467933 172.343129 L 251.076791 178.992789 L 253.151249 164.008559 L 249.536728 158.176442 -L 247.467933 172.343129 -z -" style="fill:#df634e;"/> - <path clip-path="url(#p19582ab83f)" d="M 255.794725 140.612501 -L 259.408669 141.051859 -L 261.483194 140.41905 -L 257.87184 142.760091 -L 255.794725 140.612501 -z -" style="fill:#b50927;"/> - <path clip-path="url(#p19582ab83f)" d="M 240.256989 164.255262 -L 243.859594 167.478697 -L 245.923172 154.049766 -L 242.315048 151.341677 -L 240.256989 164.255262 z -" style="fill:#d44e41;"/> - <path clip-path="url(#p19582ab83f)" d="M 287.004737 278.935415 +" style="fill:#de614d;"/> + <path clip-path="url(#p553f52e075)" d="M 287.004737 278.935415 L 290.815442 264.80296 L 292.69984 275.703861 L 288.901986 289.483431 -L 287.004737 278.935415 z " style="fill:#b9d0f9;"/> - <path clip-path="url(#p19582ab83f)" d="M 243.859594 167.478697 -L 247.467933 172.343129 -L 249.536728 158.176442 -L 245.923172 154.049766 -L 243.859594 167.478697 -z -" style="fill:#d85646;"/> - <path clip-path="url(#p19582ab83f)" d="M 265.101765 140.361495 + <path clip-path="url(#p553f52e075)" d="M 265.101765 140.361495 L 268.716248 143.539704 L 270.785021 140.112248 L 267.165714 139.234816 -L 265.101765 140.361495 z " style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 281.324007 280.534387 -L 285.096001 267.231418 -L 287.004737 278.935415 -L 283.246793 291.831282 -L 281.324007 280.534387 -z -" style="fill:#b5cdfa;"/> - <path clip-path="url(#p19582ab83f)" d="M 268.716248 143.539704 + <path clip-path="url(#p553f52e075)" d="M 268.716248 143.539704 L 272.31341 150.457941 L 274.386811 145.23604 L 270.785021 140.112248 -L 268.716248 143.539704 z " style="fill:#ba162b;"/> - <path clip-path="url(#p19582ab83f)" d="M 240.795315 141.866831 + <path clip-path="url(#p553f52e075)" d="M 240.256989 164.255262 +L 243.859594 167.478697 +L 245.923172 154.049766 +L 242.315048 151.341677 +z +" style="fill:#d1493f;"/> + <path clip-path="url(#p553f52e075)" d="M 281.324007 280.534387 +L 285.096001 267.231418 +L 287.004737 278.935415 +L 283.246793 291.831282 +z +" style="fill:#b6cefa;"/> + <path clip-path="url(#p553f52e075)" d="M 240.795315 141.866831 L 244.39622 143.093204 L 246.492656 139.925044 L 242.895591 139.090373 -L 240.795315 141.866831 z " style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 264.546757 157.074967 + <path clip-path="url(#p553f52e075)" d="M 243.859594 167.478697 +L 247.467933 172.343129 +L 249.536728 158.176442 +L 245.923172 154.049766 +z +" style="fill:#d65244;"/> + <path clip-path="url(#p553f52e075)" d="M 264.546757 157.074967 L 268.135195 167.289148 L 270.228721 157.696239 L 266.636056 149.013506 -L 264.546757 157.074967 z " style="fill:#cf453c;"/> - <path clip-path="url(#p19582ab83f)" d="M 238.715885 149.832659 -L 242.315048 151.341677 -L 244.39622 143.093204 -L 240.795315 141.866831 -L 238.715885 149.832659 -z -" style="fill:#be242e;"/> - <path clip-path="url(#p19582ab83f)" d="M 250.096689 140.765441 + <path clip-path="url(#p553f52e075)" d="M 250.096689 140.765441 L 253.707989 142.183971 L 255.794725 140.612501 L 252.189677 141.256405 -L 250.096689 140.765441 z " style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 266.636056 149.013506 + <path clip-path="url(#p553f52e075)" d="M 266.636056 149.013506 L 270.228721 157.696239 L 272.31341 150.457941 L 268.716248 143.539704 -L 266.636056 149.013506 z " style="fill:#c32e31;"/> - <path clip-path="url(#p19582ab83f)" d="M 253.151249 164.008559 -L 256.760994 171.812097 -L 258.849634 159.100711 -L 255.236046 152.551367 -L 253.151249 164.008559 + <path clip-path="url(#p553f52e075)" d="M 238.715885 149.832659 +L 242.315048 151.341677 +L 244.39622 143.093204 +L 240.795315 141.866831 z -" style="fill:#d55042;"/> - <path clip-path="url(#p19582ab83f)" d="M 259.408669 141.051859 +" style="fill:#bd1f2d;"/> + <path clip-path="url(#p553f52e075)" d="M 259.408669 141.051859 L 263.025613 143.600184 L 265.101765 140.361495 L 261.483194 140.41905 -L 259.408669 141.051859 z " style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 275.648841 280.505996 + <path clip-path="url(#p553f52e075)" d="M 275.648841 280.505996 L 279.387059 268.012753 L 281.324007 280.534387 L 277.600474 292.620627 -L 275.648841 280.505996 z " style="fill:#b6cefa;"/> - <path clip-path="url(#p19582ab83f)" d="M 258.849634 159.100711 + <path clip-path="url(#p553f52e075)" d="M 253.151249 164.008559 +L 256.760994 171.812097 +L 258.849634 159.100711 +L 255.236046 152.551367 +z +" style="fill:#d44e41;"/> + <path clip-path="url(#p553f52e075)" d="M 258.849634 159.100711 L 262.452637 167.996909 L 264.546757 157.074967 L 260.939911 149.710299 -L 258.849634 159.100711 z " style="fill:#cf453c;"/> - <path clip-path="url(#p19582ab83f)" d="M 244.39622 143.093204 + <path clip-path="url(#p553f52e075)" d="M 244.39622 143.093204 L 248.004819 145.020924 L 250.096689 140.765441 L 246.492656 139.925044 -L 244.39622 143.093204 z " style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 242.315048 151.341677 -L 245.923172 154.049766 -L 248.004819 145.020924 -L 244.39622 143.093204 -L 242.315048 151.341677 -z -" style="fill:#c0282f;"/> - <path clip-path="url(#p19582ab83f)" d="M 263.025613 143.600184 + <path clip-path="url(#p553f52e075)" d="M 263.025613 143.600184 L 266.636056 149.013506 L 268.716248 143.539704 L 265.101765 140.361495 -L 263.025613 143.600184 z " style="fill:#b70d28;"/> - <path clip-path="url(#p19582ab83f)" d="M 249.536728 158.176442 -L 253.151249 164.008559 -L 255.236046 152.551367 -L 251.619249 148.013372 -L 249.536728 158.176442 + <path clip-path="url(#p553f52e075)" d="M 242.315048 151.341677 +L 245.923172 154.049766 +L 248.004819 145.020924 +L 244.39622 143.093204 z -" style="fill:#cb3e38;"/> - <path clip-path="url(#p19582ab83f)" d="M 253.707989 142.183971 +" style="fill:#be242e;"/> + <path clip-path="url(#p553f52e075)" d="M 253.707989 142.183971 L 257.324245 144.926097 L 259.408669 141.051859 L 255.794725 140.612501 -L 253.707989 142.183971 z " style="fill:#b40426;"/> - <path clip-path="url(#p19582ab83f)" d="M 245.923172 154.049766 -L 249.536728 158.176442 -L 251.619249 148.013372 -L 248.004819 145.020924 -L 245.923172 154.049766 -z -" style="fill:#c43032;"/> - <path clip-path="url(#p19582ab83f)" d="M 260.939911 149.710299 + <path clip-path="url(#p553f52e075)" d="M 260.939911 149.710299 L 264.546757 157.074967 L 266.636056 149.013506 L 263.025613 143.600184 -L 260.939911 149.710299 z -" style="fill:#c12b30;"/> - <path clip-path="url(#p19582ab83f)" d="M 248.004819 145.020924 +" style="fill:#c0282f;"/> + <path clip-path="url(#p553f52e075)" d="M 249.536728 158.176442 +L 253.151249 164.008559 +L 255.236046 152.551367 +L 251.619249 148.013372 +z +" style="fill:#ca3b37;"/> + <path clip-path="url(#p553f52e075)" d="M 245.923172 154.049766 +L 249.536728 158.176442 +L 251.619249 148.013372 +L 248.004819 145.020924 +z +" style="fill:#c32e31;"/> + <path clip-path="url(#p553f52e075)" d="M 248.004819 145.020924 L 251.619249 148.013372 L 253.707989 142.183971 L 250.096689 140.765441 -L 248.004819 145.020924 z -" style="fill:#b70d28;"/> - <path clip-path="url(#p19582ab83f)" d="M 257.324245 144.926097 +" style="fill:#b50927;"/> + <path clip-path="url(#p553f52e075)" d="M 257.324245 144.926097 L 260.939911 149.710299 L 263.025613 143.600184 L 259.408669 141.051859 -L 257.324245 144.926097 z " style="fill:#b70d28;"/> - <path clip-path="url(#p19582ab83f)" d="M 255.236046 152.551367 + <path clip-path="url(#p553f52e075)" d="M 255.236046 152.551367 L 258.849634 159.100711 L 260.939911 149.710299 L 257.324245 144.926097 -L 255.236046 152.551367 z " style="fill:#c32e31;"/> - <path clip-path="url(#p19582ab83f)" d="M 251.619249 148.013372 -L 255.236046 152.551367 -L 257.324245 144.926097 -L 253.707989 142.183971 -L 251.619249 148.013372 -z -" style="fill:#bb1b2c;"/> - <path clip-path="url(#p19582ab83f)" d="M 269.970503 278.840743 + <path clip-path="url(#p553f52e075)" d="M 269.970503 278.840743 L 273.679741 267.144774 L 275.648841 280.505996 L 271.95466 291.84945 -L 269.970503 278.840743 z " style="fill:#b9d0f9;"/> - <path clip-path="url(#p19582ab83f)" d="M 264.280181 275.519731 + <path clip-path="url(#p553f52e075)" d="M 251.619249 148.013372 +L 255.236046 152.551367 +L 257.324245 144.926097 +L 253.707989 142.183971 +z +" style="fill:#ba162b;"/> + <path clip-path="url(#p553f52e075)" d="M 264.280181 275.519731 L 267.965112 264.629517 L 269.970503 278.840743 L 266.301047 289.483486 -L 264.280181 275.519731 z -" style="fill:#c0d4f5;"/> - <path clip-path="url(#p19582ab83f)" d="M 285.096001 267.231418 +" style="fill:#bfd3f6;"/> + <path clip-path="url(#p553f52e075)" d="M 285.096001 267.231418 L 288.916312 253.140737 L 290.815442 264.80296 L 287.004737 278.935415 -L 285.096001 267.231418 z -" style="fill:#d1dae9;"/> - <path clip-path="url(#p19582ab83f)" d="M 279.387059 268.012753 +" style="fill:#d2dbe8;"/> + <path clip-path="url(#p553f52e075)" d="M 279.387059 268.012753 L 283.170317 254.727111 L 285.096001 267.231418 L 281.324007 280.534387 -L 279.387059 268.012753 z " style="fill:#cfdaea;"/> - <path clip-path="url(#p19582ab83f)" d="M 273.679741 267.144774 + <path clip-path="url(#p553f52e075)" d="M 273.679741 267.144774 L 277.430473 254.693897 L 279.387059 268.012753 L 275.648841 280.505996 -L 273.679741 267.144774 z " style="fill:#d2dbe8;"/> - <path clip-path="url(#p19582ab83f)" d="M 267.965112 264.629517 + <path clip-path="url(#p553f52e075)" d="M 267.965112 264.629517 L 271.687973 253.048539 L 273.679741 267.144774 L 269.970503 278.840743 -L 267.965112 264.629517 z " style="fill:#d6dce4;"/> - <path clip-path="url(#p19582ab83f)" d="M 283.170317 254.727111 + <path clip-path="url(#p553f52e075)" d="M 283.170317 254.727111 L 286.997042 241.102444 L 288.916312 253.140737 L 285.096001 267.231418 -L 283.170317 254.727111 z " style="fill:#e7d7ce;"/> - <path clip-path="url(#p19582ab83f)" d="M 277.430473 254.693897 + <path clip-path="url(#p553f52e075)" d="M 277.430473 254.693897 L 281.222336 241.874753 L 283.170317 254.727111 L 279.387059 268.012753 -L 277.430473 254.693897 z " style="fill:#e7d7ce;"/> - <path clip-path="url(#p19582ab83f)" d="M 271.687973 253.048539 + <path clip-path="url(#p553f52e075)" d="M 271.687973 253.048539 L 275.449218 241.107455 L 277.430473 254.693897 L 273.679741 267.144774 -L 271.687973 253.048539 z " style="fill:#ead5c9;"/> - <path clip-path="url(#p19582ab83f)" d="M 281.222336 241.874753 + <path clip-path="url(#p553f52e075)" d="M 281.222336 241.874753 L 285.052458 229.153807 L 286.997042 241.102444 L 283.170317 254.727111 -L 281.222336 241.874753 z " style="fill:#f5c4ac;"/> - <path clip-path="url(#p19582ab83f)" d="M 275.449218 241.107455 + <path clip-path="url(#p553f52e075)" d="M 275.449218 241.107455 L 279.247238 229.210825 L 281.222336 241.874753 L 277.430473 254.693897 -L 275.449218 241.107455 z -" style="fill:#f5c1a9;"/> - <path clip-path="url(#p19582ab83f)" d="M 279.247238 229.210825 +" style="fill:#f5c2aa;"/> + <path clip-path="url(#p553f52e075)" d="M 279.247238 229.210825 L 283.078017 217.82552 L 285.052458 229.153807 L 281.222336 241.874753 -L 279.247238 229.210825 z " style="fill:#f7a889;"/> </g> </g> <g id="axes_2"> <g id="patch_6"> - <path clip-path="url(#p0023815fe3)" d="M 451.44 302.4 + <path clip-path="url(#p306148f710)" d="M 451.44 302.4 L 451.44 301.725 L 451.44 130.275 L 451.44 129.6 @@ -10952,7 +9431,7 @@ L 486 302.4 z " style="fill:#ffffff;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.01;"/> </g> - <image height="172.8" id="imagef748390562" transform="scale(1 -1)translate(0 -172.8)" width="34.56" x="451.44" xlink:href="data:image/png;base64, + <image height="172.8" id="imagea876b89d40" transform="scale(1 -1)translate(0 -172.8)" width="34.56" x="451.44" xlink:href="data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAADAAAADwCAYAAABG6uczAAAABHNCSVQICAgIfAhkiAAAAi9JREFUeJztm9FtQzEMA59lj9UZOnTHavPsDuGPwwm8CUyQlJQEGV/fP+cRs0YN+g1XrDGKfsMVDRwouQOldyAdYPF3QO9ApQMsDQQkQixrzkm/4Qq/A3oB2QMwDQQMuQD/Bxr9OW2PkL7E/g4kQiyr7A7UyhhFyRSi6TCF6Cfc4XdAL0C/yPQOyA3IIsPpUGL6CXesOd0K/FNIvwfk7+8wRt0dbuCAfg/4N7H7/Q0ENDin6Sfc0WATyxUs+TXdoQNxgMV/zMmHUIsI0U+4I1OIJiWm8QtIhGDWLPU/ERs4oBdQIxFC8Qvw74EnHUBpEKGMUZZVKTGLvwPTLiARgskUovFHSH+N+o85uwPpAIzfAfkPNA0c0HegxqbfcEUiRNPhnLYL0DsQASzpAE0E0HQQkGMOZdWxO6AXoC9xHGCJAzRrHL2ARAilgQP6Dtiv0UfvgL0DdV76DVckQjT+Mfr4HbALsN9CDSIUB1CyyGjiAI2/xOPNOY3SIEJxgMUvwB+hLXcgYxSmgQP+DugFJEIo69n2c3rbI6Qvsb4D+inkj5DcgRMHWPwdOBmjLFlkNP4OHP2309kDLOvoHdCX2D5G/Q7oO5ApxOI/JfSbWP+ZWN8B/R7YH/k5nVMCxl/iBgISIZQ4QJNv5mj8EYoDMH4B+nN6v3IHUmKYCKBJB2g6jFG9gHQAJR2g8Xfg/ZUL0EfIX+I3EULpECG5gP2RCzh/cgFxAKaDA/JF1sABt4B/s+5FqmblPQQAAAAASUVORK5CYII=" y="-129.6"/> <g id="patch_7"> <path d="M 451.44 302.4 @@ -10963,7 +9442,6 @@ L 486 129.6 L 486 130.275 L 486 301.725 L 486 302.4 -L 451.44 302.4 z " style="fill:none;stroke:#000000;stroke-linejoin:miter;"/> </g> @@ -10974,66 +9452,66 @@ z <defs> <path d="M 0 0 L -4 0 -" id="m19868fab61" style="stroke:#000000;stroke-width:0.5;"/> +" id="m27e32ca04a" style="stroke:#000000;stroke-width:0.5;"/> </defs> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="486" xlink:href="#m19868fab61" y="285.579487"/> + <use style="stroke:#000000;stroke-width:0.5;" x="486" xlink:href="#m27e32ca04a" y="285.660944"/> </g> </g> </g> <g id="ytick_2"> <g id="line2d_24"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="486" xlink:href="#m19868fab61" y="268.184809"/> + <use style="stroke:#000000;stroke-width:0.5;" x="486" xlink:href="#m27e32ca04a" y="268.242288"/> </g> </g> </g> <g id="ytick_3"> <g id="line2d_25"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="486" xlink:href="#m19868fab61" y="250.790132"/> + <use style="stroke:#000000;stroke-width:0.5;" x="486" xlink:href="#m27e32ca04a" y="250.823632"/> </g> </g> </g> <g id="ytick_4"> <g id="line2d_26"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="486" xlink:href="#m19868fab61" y="233.395455"/> + <use style="stroke:#000000;stroke-width:0.5;" x="486" xlink:href="#m27e32ca04a" y="233.404976"/> </g> </g> </g> <g id="ytick_5"> <g id="line2d_27"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="486" xlink:href="#m19868fab61" y="216.000777"/> + <use style="stroke:#000000;stroke-width:0.5;" x="486" xlink:href="#m27e32ca04a" y="215.98632"/> </g> </g> </g> <g id="ytick_6"> <g id="line2d_28"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="486" xlink:href="#m19868fab61" y="198.6061"/> + <use style="stroke:#000000;stroke-width:0.5;" x="486" xlink:href="#m27e32ca04a" y="198.567663"/> </g> </g> </g> <g id="ytick_7"> <g id="line2d_29"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="486" xlink:href="#m19868fab61" y="181.211423"/> + <use style="stroke:#000000;stroke-width:0.5;" x="486" xlink:href="#m27e32ca04a" y="181.149007"/> </g> </g> </g> <g id="ytick_8"> <g id="line2d_30"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="486" xlink:href="#m19868fab61" y="163.816745"/> + <use style="stroke:#000000;stroke-width:0.5;" x="486" xlink:href="#m27e32ca04a" y="163.730351"/> </g> </g> </g> <g id="ytick_9"> <g id="line2d_31"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="486" xlink:href="#m19868fab61" y="146.422068"/> + <use style="stroke:#000000;stroke-width:0.5;" x="486" xlink:href="#m27e32ca04a" y="146.311695"/> </g> </g> </g> @@ -11041,10 +9519,10 @@ L -4 0 </g> </g> <defs> - <clipPath id="p19582ab83f"> + <clipPath id="p553f52e075"> <rect height="345.6" width="357.12" x="72" y="43.2"/> </clipPath> - <clipPath id="p0023815fe3"> + <clipPath id="p306148f710"> <rect height="172.8" width="34.56" x="451.44" y="129.6"/> </clipPath> </defs> diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/surface3d_shaded.png b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/surface3d_shaded.png new file mode 100644 index 0000000000000000000000000000000000000000..56bc9db7ec96d1b8c66e1dc8c2fc68414ae8ebe9 GIT binary patch literal 43405 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ÞBtyBB#b^s`Stn9~S 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 Tw81HZ4<8dFb9(+x=kWgp2F@R< literal 0 HcmV?d00001 diff --git a/lib/mpl_toolkits/tests/test_mplot3d.py b/lib/mpl_toolkits/tests/test_mplot3d.py index 18a6a896fd83..71bcb2a45185 100644 --- a/lib/mpl_toolkits/tests/test_mplot3d.py +++ b/lib/mpl_toolkits/tests/test_mplot3d.py @@ -201,6 +201,21 @@ def test_surface3d(): fig.colorbar(surf, shrink=0.5, aspect=5) +@image_comparison(baseline_images=['surface3d_shaded'], remove_text=True, + extensions=['png']) +def test_surface3d_shaded(): + fig = plt.figure() + ax = fig.gca(projection='3d') + X = np.arange(-5, 5, 0.25) + Y = np.arange(-5, 5, 0.25) + X, Y = np.meshgrid(X, Y) + R = np.sqrt(X ** 2 + Y ** 2) + Z = np.sin(R) + surf = ax.plot_surface(X, Y, Z, rstride=5, cstride=5, + color=[0.25, 1, 0.25], lw=1, antialiased=False) + ax.set_zlim(-1.01, 1.01) + + @image_comparison(baseline_images=['text3d']) def test_text3d(): fig = plt.figure() From 17e60a472c867fb239c8c2e22fdcf0e1974cd5c9 Mon Sep 17 00:00:00 2001 From: Zac-HD <zac.hatfield.dodds@gmail.com> Date: Sun, 29 Apr 2018 17:50:16 +1000 Subject: [PATCH 0594/1161] Explicit args and refactor Axes.margins --- doc/api/next_api_changes/2018-04-29-ZHD.rst | 13 ++++ lib/matplotlib/axes/_base.py | 46 +++++++------- lib/mpl_toolkits/mplot3d/axes3d.py | 66 ++++++++++----------- 3 files changed, 69 insertions(+), 56 deletions(-) create mode 100644 doc/api/next_api_changes/2018-04-29-ZHD.rst diff --git a/doc/api/next_api_changes/2018-04-29-ZHD.rst b/doc/api/next_api_changes/2018-04-29-ZHD.rst new file mode 100644 index 000000000000..e93c89965749 --- /dev/null +++ b/doc/api/next_api_changes/2018-04-29-ZHD.rst @@ -0,0 +1,13 @@ +Improved call signature for Axes.margins() +------------------------------------------ + +:meth:`matplotlib.axes.Axes.margins` and :meth:`mpl_toolkits.mplot3d.Axes3D.margins` +no longer accept arbitrary keywords. ``TypeError`` will therefore be raised +if unknown kwargs are passed; previously they would be silently ignored. + +If too many positional arguments are passed, ``TypeError`` will be raised +instead of ``ValueError``, for consistency with other call-signature violations. + +``Axes3D.margins`` now raises ``TypeError`` instead of emitting a deprecation +warning if only two positional arguments are passed. To supply only ``x`` and +``y`` margins, use keyword arguments. diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 8245b5ef10d4..400063b05fab 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -2229,7 +2229,7 @@ def set_ymargin(self, m): self._ymargin = m self.stale = True - def margins(self, *args, **kw): + def margins(self, *margins, x=None, y=None, tight=True): """ Set or retrieve autoscaling margins. @@ -2250,10 +2250,11 @@ def margins(self, *args, **kw): margins(..., tight=False) All three forms above set the xmargin and ymargin parameters. - All keyword parameters are optional. A single argument + All keyword parameters are optional. A single positional argument specifies both xmargin and ymargin. The padding added to the end of each interval is *margin* times the data interval. The *margin* must - be a float in the range [0, 1]. + be a float in the range [0, 1]. Passing both positional and keyword + arguments for xmargin and/or ymargin is invalid. The *tight* parameter is passed to :meth:`autoscale_view` , which is executed after a margin is changed; the default here is @@ -2267,27 +2268,30 @@ def margins(self, *args, **kw): it is used in autoscaling. """ - if not args and not kw: + if margins and x is not None and y is not None: + raise TypeError('Cannot pass both positional and keyword ' + 'arguments for x and/or y.') + elif len(margins) == 1: + x = y = margins[0] + elif len(margins) == 2: + x, y = margins + elif margins: + raise TypeError('Must pass a single positional argument for all ' + 'margins, or one for each margin (x, y).') + + if x is None and y is None: + if tight is not True: + warnings.warn('ignoring tight=%r in get mode' % (tight,)) return self._xmargin, self._ymargin - tight = kw.pop('tight', True) - mx = kw.pop('x', None) - my = kw.pop('y', None) - if len(args) == 1: - mx = my = args[0] - elif len(args) == 2: - mx, my = args - elif len(args) > 2: - raise ValueError("more than two arguments were supplied") - if mx is not None: - self.set_xmargin(mx) - if my is not None: - self.set_ymargin(my) - - scalex = (mx is not None) - scaley = (my is not None) + if x is not None: + self.set_xmargin(x) + if y is not None: + self.set_ymargin(y) - self.autoscale_view(tight=tight, scalex=scalex, scaley=scaley) + self.autoscale_view( + tight=tight, scalex=(x is not None), scaley=(y is not None) + ) def set_rasterization_zorder(self, z): """ diff --git a/lib/mpl_toolkits/mplot3d/axes3d.py b/lib/mpl_toolkits/mplot3d/axes3d.py index ab754ce7bf79..817ee794d351 100644 --- a/lib/mpl_toolkits/mplot3d/axes3d.py +++ b/lib/mpl_toolkits/mplot3d/axes3d.py @@ -384,7 +384,7 @@ def set_zmargin(self, m): self._zmargin = m self.stale = True - def margins(self, *args, **kw): + def margins(self, *margins, x=None, y=None, z=None, tight=True): """ Convenience method to set or retrieve autoscaling margins. @@ -404,8 +404,12 @@ def margins(self, *args, **kw): margins(..., tight=False) All forms above set the xmargin, ymargin and zmargin - parameters. All keyword parameters are optional. A single argument - specifies xmargin, ymargin and zmargin. The *tight* parameter + parameters. All keyword parameters are optional. A single + positional argument specifies xmargin, ymargin and zmargin. + Passing both positional and keyword arguments for xmargin, + ymargin, and/or zmargin is invalid. + + The *tight* parameter is passed to :meth:`autoscale_view`, which is executed after a margin is changed; the default here is *True*, on the assumption that when margins are specified, no additional @@ -420,41 +424,33 @@ def margins(self, *args, **kw): .. versionadded :: 1.1.0 This function was added, but not tested. Please report any bugs. """ - if not args and not kw: + if margins and x is not None and y is not None and z is not None: + raise TypeError('Cannot pass both positional and keyword ' + 'arguments for x, y, and/or z.') + elif len(margins) == 1: + x = y = z = margins[0] + elif len(margins) == 3: + x, y, z = margins + elif margins: + raise TypeError('Must pass a single positional argument for all ' + 'margins, or one for each margin (x, y, z).') + + if x is None and y is None and z is None: + if tight is not True: + warnings.warn('ignoring tight=%r in get mode' % (tight,)) return self._xmargin, self._ymargin, self._zmargin - tight = kw.pop('tight', True) - mx = kw.pop('x', None) - my = kw.pop('y', None) - mz = kw.pop('z', None) - if not args: - pass - elif len(args) == 1: - mx = my = mz = args[0] - elif len(args) == 2: - warnings.warn( - "Passing exactly two positional arguments to Axes3D.margins " - "is deprecated. If needed, pass them as keyword arguments " - "instead", cbook.mplDeprecation) - mx, my = args - elif len(args) == 3: - mx, my, mz = args - else: - raise ValueError( - "Axes3D.margins takes at most three positional arguments") - if mx is not None: - self.set_xmargin(mx) - if my is not None: - self.set_ymargin(my) - if mz is not None: - self.set_zmargin(mz) - - scalex = mx is not None - scaley = my is not None - scalez = mz is not None + if x is not None: + self.set_xmargin(x) + if y is not None: + self.set_ymargin(y) + if z is not None: + self.set_zmargin(z) - self.autoscale_view(tight=tight, scalex=scalex, scaley=scaley, - scalez=scalez) + self.autoscale_view( + tight=tight, scalex=(x is not None), scaley=(y is not None), + scalez=(z is not None) + ) def autoscale(self, enable=True, axis='both', tight=None): """ From f60d8e75c434f80ff5a1da8144662240d0df75b4 Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Wed, 2 May 2018 13:00:45 +0100 Subject: [PATCH 0595/1161] Fix contour return link --- lib/matplotlib/contour.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/contour.py b/lib/matplotlib/contour.py index e3c741bed91d..8393a4b2b066 100644 --- a/lib/matplotlib/contour.py +++ b/lib/matplotlib/contour.py @@ -1679,7 +1679,7 @@ def _initialize_x_y(self, z): Returns ------- - :class:`~matplotlib.contour.QuadContourSet` + c : `~.contour.QuadContourSet` Other Parameters ---------------- From c28a0632818dcf82f2dbcec7c6e94c8d3b34805a Mon Sep 17 00:00:00 2001 From: ImportanceOfBeingErnest <elch.rz@ruetz-online.de> Date: Wed, 2 May 2018 17:35:31 +0200 Subject: [PATCH 0596/1161] small-doc-improvements1 --- doc/_static/mpl.css | 3 +++ lib/matplotlib/axes/_axes.py | 44 ++++++++++++++++++++++++------------ lib/matplotlib/stackplot.py | 2 +- 3 files changed, 33 insertions(+), 16 deletions(-) diff --git a/doc/_static/mpl.css b/doc/_static/mpl.css index 886712b9386a..8daab2b1cc22 100644 --- a/doc/_static/mpl.css +++ b/doc/_static/mpl.css @@ -713,6 +713,9 @@ table.docutils.field-list { font-size: 13px; line-height: 18px; } +.docutils.field-list td blockquote p ul li{ + font-size: 13px; +} p.rubric { font-weight: bold; font-size: 19px; diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index cbf97d1f68e7..3c466ff38df7 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -499,7 +499,7 @@ def axhline(self, y=0, xmin=0, xmax=1, **kwargs): Returns ------- - :class:`~matplotlib.lines.Line2D` + line : :class:`~matplotlib.lines.Line2D` Other Parameters ---------------- @@ -569,7 +569,7 @@ def axvline(self, x=0, ymin=0, ymax=1, **kwargs): Returns ------- - :class:`~matplotlib.lines.Line2D` + line : :class:`~matplotlib.lines.Line2D` Other Parameters ---------------- @@ -964,8 +964,9 @@ def eventplot(self, positions, orientation='horizontal', lineoffsets=1, Returns ------- - A list of :class:`matplotlib.collections.EventCollection` objects that - were added. + list : A list of :class:`~.collections.EventCollection` objects. + Contains the :class:`~.collections.EventCollection` that + were added. Notes ----- @@ -1849,7 +1850,7 @@ def bar(self, x, height, width=0.8, bottom=None, *, align="center", Returns ------- - `.BarContainer` + container : `.BarContainer` Container with all the bars and optionally errorbars. Other Parameters @@ -1873,9 +1874,13 @@ def bar(self, x, height, width=0.8, bottom=None, *, align="center", - scalar: symmetric +/- values for all bars - shape(N,): symmetric +/- values for each bar - - shape(2,N): separate + and - values for each bar + - shape(2,N): Separate - and + values for each bar. First row + contains the lower errors, the second row contains the + upper errors. + - *None*: No errorbar. (Default) - Default: None + See :ref:`sphx_glr_gallery_statistics_errorbar_features.py` + for an example on the usage of ``xerr`` and ``yerr``. ecolor : scalar or array-like, optional, default: 'black' The line color of the errorbars. @@ -2124,7 +2129,7 @@ def barh(self, y, width, height=0.8, left=None, *, align="center", Returns ------- - `.BarContainer` + container : `.BarContainer` Container with all the bars and optionally errorbars. Other Parameters @@ -2148,9 +2153,13 @@ def barh(self, y, width, height=0.8, left=None, *, align="center", - scalar: symmetric +/- values for all bars - shape(N,): symmetric +/- values for each bar - - shape(2,N): separate + and - values for each bar + - shape(2,N): Separate - and + values for each bar. First row + contains the lower errors, the second row contains the + upper errors. + - *None*: No errorbar. (default) - Default: None + See :ref:`sphx_glr_gallery_statistics_errorbar_features.py` + for an example on the usage of ``xerr`` and ``yerr``. ecolor : scalar or array-like, optional, default: 'black' The line color of the errorbars. @@ -2235,7 +2244,7 @@ def broken_barh(self, xranges, yrange, **kwargs): Returns ------- - :class:`matplotlib.collections.BrokenBarHCollection` + collection : A :class:`~.collections.BrokenBarHCollection` Notes ----- @@ -2327,8 +2336,8 @@ def stem(self, *args, linefmt=None, markerfmt=None, basefmt=None, Returns ------- - :class:`~matplotlib.container.StemContainer` - The stemcontainer may be treated like a tuple + container : :class:`~matplotlib.container.StemContainer` + The container may be treated like a tuple (*markerline*, *stemlines*, *baseline*) @@ -2671,9 +2680,14 @@ def errorbar(self, x, y, yerr=None, xerr=None, - scalar: Symmetric +/- values for all data points. - shape(N,): Symmetric +/-values for each data point. - - shape(2,N): Separate + and - values for each data point. + - shape(2,N): Separate - and + values for each bar. First row + contains the lower errors, the second row contains the + upper errors. - *None*: No errorbar. + See :ref:`sphx_glr_gallery_statistics_errorbar_features.py` + for an example on the usage of ``xerr`` and ``yerr``. + fmt : plot format string, optional, default: '' The format for the data points / data lines. See `.plot` for details. @@ -2719,7 +2733,7 @@ def errorbar(self, x, y, yerr=None, xerr=None, Returns ------- - :class:`~.container.ErrorbarContainer` + container : :class:`~.container.ErrorbarContainer` The container contains: - plotline: :class:`~matplotlib.lines.Line2D` instance of diff --git a/lib/matplotlib/stackplot.py b/lib/matplotlib/stackplot.py index 0f8b72b1203a..74dde21b2139 100644 --- a/lib/matplotlib/stackplot.py +++ b/lib/matplotlib/stackplot.py @@ -53,7 +53,7 @@ def stackplot(axes, x, *args, Returns ------- - list of `.PolyCollection` + list : list of `.PolyCollection` A list of `.PolyCollection` instances, one for each element in the stacked area plot. """ From ccfd140fb2f68d417f7f08bd3374cba73e031bf7 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Fri, 6 Oct 2017 14:33:03 -0700 Subject: [PATCH 0597/1161] Cleanup blocking_input. 1. Allow passing np.int to ginput() (by extending the isinstance check). 2. Bunch of docstring fixes. --- doc/api/blocking_input_api.rst | 7 + doc/api/index.rst | 1 + lib/matplotlib/blocking_input.py | 264 ++++++++++++------------------- 3 files changed, 108 insertions(+), 164 deletions(-) create mode 100644 doc/api/blocking_input_api.rst diff --git a/doc/api/blocking_input_api.rst b/doc/api/blocking_input_api.rst new file mode 100644 index 000000000000..4eb8b7d58b44 --- /dev/null +++ b/doc/api/blocking_input_api.rst @@ -0,0 +1,7 @@ +:mod:`matplotlib.blocking_input` +================================ + +.. automodule:: matplotlib.blocking_input + :members: + :undoc-members: + :show-inheritance: diff --git a/doc/api/index.rst b/doc/api/index.rst index 78669f992177..04582cc8982b 100644 --- a/doc/api/index.rst +++ b/doc/api/index.rst @@ -21,6 +21,7 @@ axes_api.rst axis_api.rst index_backend_api.rst + blocking_input_api.rst cbook_api.rst cm_api.rst collections_api.rst diff --git a/lib/matplotlib/blocking_input.py b/lib/matplotlib/blocking_input.py index 708ab7b1efa7..cee9dcfed60f 100644 --- a/lib/matplotlib/blocking_input.py +++ b/lib/matplotlib/blocking_input.py @@ -2,70 +2,63 @@ This provides several classes used for blocking interaction with figure windows: -:class:`BlockingInput` - creates a callable object to retrieve events in a blocking way for - interactive sessions - -:class:`BlockingKeyMouseInput` - creates a callable object to retrieve key or mouse clicks in a blocking - way for interactive sessions. - Note: Subclass of BlockingInput. Used by waitforbuttonpress - -:class:`BlockingMouseInput` - creates a callable object to retrieve mouse clicks in a blocking way for - interactive sessions. - Note: Subclass of BlockingInput. Used by ginput - -:class:`BlockingContourLabeler` - creates a callable object to retrieve mouse clicks in a blocking way that - will then be used to place labels on a ContourSet - Note: Subclass of BlockingMouseInput. Used by clabel +`BlockingInput` + Creates a callable object to retrieve events in a blocking way for + interactive sessions. Base class of the other classes listed here. + +`BlockingKeyMouseInput` + Creates a callable object to retrieve key or mouse clicks in a blocking + way for interactive sessions. Used by `waitforbuttonpress`. + +`BlockingMouseInput` + Creates a callable object to retrieve mouse clicks in a blocking way for + interactive sessions. Used by `ginput`. + +`BlockingContourLabeler` + Creates a callable object to retrieve mouse clicks in a blocking way that + will then be used to place labels on a `ContourSet`. Used by `clabel`. """ -import six +import logging +from numbers import Integral + import matplotlib.lines as mlines +import numpy as np -import logging _log = logging.getLogger(__name__) class BlockingInput(object): - """ - Class that creates a callable object to retrieve events in a - blocking way. - """ + """Callable for retrieving events in a blocking way.""" + def __init__(self, fig, eventslist=()): self.fig = fig self.eventslist = eventslist def on_event(self, event): """ - Event handler that will be passed to the current figure to - retrieve events. + Event handler; will be passed to the current figure to retrieve events. """ - # Add a new event to list - using a separate function is - # overkill for the base class, but this is consistent with - # subclasses + # Add a new event to list - using a separate function is overkill for + # the base class, but this is consistent with subclasses. self.add_event(event) _log.info("Event %i", len(self.events)) - # This will extract info from events + # This will extract info from events. self.post_event() - # Check if we have enough events already - if len(self.events) >= self.n and self.n > 0: + # Check if we have enough events already. + if len(self.events) >= self.n > 0: self.fig.canvas.stop_event_loop() def post_event(self): - """For baseclass, do nothing but collect events""" - pass + """For baseclass, do nothing but collect events.""" def cleanup(self): - """Disconnect all callbacks""" + """Disconnect all callbacks.""" for cb in self.callbacks: self.fig.canvas.mpl_disconnect(cb) - self.callbacks = [] def add_event(self, event): @@ -74,58 +67,45 @@ def add_event(self, event): def pop_event(self, index=-1): """ - This removes an event from the event list. Defaults to - removing last event, but an index can be supplied. Note that - this does not check that there are events, much like the - normal pop method. If not events exist, this will throw an - exception. + Remove an event from the event list -- by default, the last. + + Note that this does not check that there are events, much like the + normal pop method. If no events exist, this will throw an exception. """ self.events.pop(index) - def pop(self, index=-1): - self.pop_event(index) - pop.__doc__ = pop_event.__doc__ + pop = pop_event def __call__(self, n=1, timeout=30): - """ - Blocking call to retrieve n events - """ - - if not isinstance(n, int): + """Blocking call to retrieve *n* events.""" + if not isinstance(n, Integral): raise ValueError("Requires an integer argument") self.n = n - self.events = [] - self.callbacks = [] if hasattr(self.fig.canvas, "manager"): # Ensure that the figure is shown, if we are managing it. self.fig.show() - - # connect the events to the on_event function call - for n in self.eventslist: - self.callbacks.append( - self.fig.canvas.mpl_connect(n, self.on_event)) - + # Connect the events to the on_event function call. + self.callbacks = [self.fig.canvas.mpl_connect(name, self.on_event) + for name in self.eventslist] try: - # Start event loop + # Start event loop. self.fig.canvas.start_event_loop(timeout=timeout) - finally: # Run even on exception like ctrl-c - # Disconnect the callbacks + finally: # Run even on exception like ctrl-c. + # Disconnect the callbacks. self.cleanup() - - # Return the events in this case + # Return the events in this case. return self.events class BlockingMouseInput(BlockingInput): """ - Class that creates a callable object to retrieve mouse clicks in a - blocking way. + Callable for retrieving mouse clicks in a blocking way. - This class will also retrieve keyboard clicks and treat them like - appropriate mouse clicks (delete and backspace are like mouse button 3, - enter is like mouse button 2 and all others are like mouse button 1). + This class will also retrieve keypresses and map them to mouse clicks: + delete and backspace are like mouse button 3, enter is like mouse button 2 + and all others are like mouse button 1. """ button_add = 1 @@ -141,9 +121,7 @@ def __init__(self, fig, mouse_add=1, mouse_pop=3, mouse_stop=2): self.button_stop = mouse_stop def post_event(self): - """ - This will be called to process events - """ + """Process an event.""" if len(self.events) == 0: _log.warning("No events yet") elif self.events[-1].name == 'key_press_event': @@ -152,11 +130,9 @@ def post_event(self): self.mouse_event() def mouse_event(self): - '''Process a mouse click event''' - + """Process a mouse click event.""" event = self.events[-1] button = event.button - if button == self.button_pop: self.mouse_event_pop(event) elif button == self.button_stop: @@ -165,72 +141,51 @@ def mouse_event(self): self.mouse_event_add(event) def key_event(self): - ''' - Process a key click event. This maps certain keys to appropriate - mouse click events. - ''' - + """ + Process a key press event, mapping keys to appropriate mouse clicks. + """ event = self.events[-1] if event.key is None: - # at least in mac os X gtk backend some key returns None. + # At least in OSX gtk backend some keys return None. return - key = event.key.lower() - if key in ['backspace', 'delete']: self.mouse_event_pop(event) elif key in ['escape', 'enter']: - # on windows XP and wxAgg, the enter key doesn't seem to register self.mouse_event_stop(event) else: self.mouse_event_add(event) def mouse_event_add(self, event): - """ - Will be called for any event involving a button other than - button 2 or 3. This will add a click if it is inside axes. - """ + """Process an button-1 event (add a click if inside axes).""" if event.inaxes: self.add_click(event) - else: # If not a valid click, remove from event list - BlockingInput.pop(self, -1) + else: # If not a valid click, remove from event list. + BlockingInput.pop(self) def mouse_event_stop(self, event): - """ - Will be called for any event involving button 2. - Button 2 ends blocking input. - """ - - # Remove last event just for cleanliness - BlockingInput.pop(self, -1) - - # This will exit even if not in infinite mode. This is - # consistent with MATLAB and sometimes quite useful, but will - # require the user to test how many points were actually - # returned before using data. + """Process an button-2 event (end blocking input).""" + # Remove last event just for cleanliness. + BlockingInput.pop(self) + # This will exit even if not in infinite mode. This is consistent with + # MATLAB and sometimes quite useful, but will require the user to test + # how many points were actually returned before using data. self.fig.canvas.stop_event_loop() def mouse_event_pop(self, event): - """ - Will be called for any event involving button 3. - Button 3 removes the last click. - """ - # Remove this last event - BlockingInput.pop(self, -1) - - # Now remove any existing clicks if possible - if len(self.events) > 0: - self.pop(event, -1) + """Process an button-3 event (remove the last click).""" + # Remove this last event. + BlockingInput.pop(self) + # Now remove any existing clicks if possible. + if self.events: + self.pop(event) def add_click(self, event): - """ - This add the coordinates of an event to the list of clicks - """ + """Add the coordinates of an event to the list of clicks.""" self.clicks.append((event.xdata, event.ydata)) - _log.info("input %i: %f,%f" % - (len(self.clicks), event.xdata, event.ydata)) - - # If desired plot up click + _log.info("input %i: %f, %f", + len(self.clicks), event.xdata, event.ydata) + # If desired, plot up click. if self.show_clicks: line = mlines.Line2D([event.xdata], [event.ydata], marker='+', color='r') @@ -239,62 +194,49 @@ def add_click(self, event): self.fig.canvas.draw() def pop_click(self, event, index=-1): - """ - This removes a click from the list of clicks. Defaults to - removing the last click. - """ + """Remove a click (by default, the last) from the list of clicks.""" self.clicks.pop(index) - if self.show_clicks: - - mark = self.marks.pop(index) - mark.remove() - + self.marks.pop(index).remove() self.fig.canvas.draw() - # NOTE: I do NOT understand why the above 3 lines does not work - # for the keyboard backspace event on windows XP wxAgg. - # maybe event.inaxes here is a COPY of the actual axes? def pop(self, event, index=-1): """ - This removes a click and the associated event from the object. - Defaults to removing the last click, but any index can be - supplied. + Removes a click and the associated event from the list of clicks. + + Defaults to the last click. """ self.pop_click(event, index) BlockingInput.pop(self, index) def cleanup(self, event=None): - # clean the figure + # Clean the figure. if self.show_clicks: - for mark in self.marks: mark.remove() self.marks = [] - self.fig.canvas.draw() - - # Call base class to remove callbacks + # Call base class to remove callbacks. BlockingInput.cleanup(self) def __call__(self, n=1, timeout=30, show_clicks=True): """ - Blocking call to retrieve n coordinate pairs through mouse - clicks. + Blocking call to retrieve *n* coordinate pairs through mouse clicks. """ self.show_clicks = show_clicks self.clicks = [] self.marks = [] BlockingInput.__call__(self, n=n, timeout=timeout) - return self.clicks class BlockingContourLabeler(BlockingMouseInput): """ - Class that creates a callable object that uses mouse clicks or key - clicks on a figure window to place contour labels. + Callable for retrieving mouse clicks and key presses in a blocking way. + + Used to place contour labels. """ + def __init__(self, cs): self.cs = cs BlockingMouseInput.__init__(self, fig=cs.ax.figure) @@ -306,11 +248,7 @@ def pop_click(self, event, index=-1): self.button3(event) def button1(self, event): - """ - This will be called if an event involving a button other than - 2 or 3 occcurs. This will add a label to a contour. - """ - + """Process an button-1 event (add a label to a contour).""" # Shorthand if event.inaxes == self.cs.ax: self.cs.add_label_near(event.x, event.y, self.inline, @@ -322,13 +260,12 @@ def button1(self, event): def button3(self, event): """ - This will be called if button 3 is clicked. This will remove - a label if not in inline mode. Unfortunately, if one is doing - inline labels, then there is currently no way to fix the - broken contour - once humpty-dumpty is broken, he can't be put - back together. In inline mode, this does nothing. - """ + Process an button-3 event (remove a label if not in inline mode). + Unfortunately, if one is doing inline labels, then there is currently + no way to fix the broken contour - once humpty-dumpty is broken, he + can't be put back together. In inline mode, this does nothing. + """ if self.inline: pass else: @@ -338,33 +275,32 @@ def button3(self, event): def __call__(self, inline, inline_spacing=5, n=-1, timeout=-1): self.inline = inline self.inline_spacing = inline_spacing - BlockingMouseInput.__call__(self, n=n, timeout=timeout, show_clicks=False) class BlockingKeyMouseInput(BlockingInput): """ - Class that creates a callable object to retrieve a single mouse or - keyboard click + Callable for retrieving mouse clicks and key presses in a blocking way. """ + def __init__(self, fig): BlockingInput.__init__(self, fig=fig, eventslist=( 'button_press_event', 'key_press_event')) def post_event(self): - """ - Determines if it is a key event - """ - if len(self.events) == 0: - _log.warning("No events yet") - else: + """Determine if it is a key event.""" + if self.events: self.keyormouse = self.events[-1].name == 'key_press_event' + else: + _log.warning("No events yet.") def __call__(self, timeout=30): """ - Blocking call to retrieve a single mouse or key click - Returns True if key click, False if mouse, or None if timeout + Blocking call to retrieve a single mouse click or key press. + + Returns ``True`` if key press, ``False`` if mouse click, or ``None`` if + timed out. """ self.keyormouse = None BlockingInput.__call__(self, n=1, timeout=timeout) From 5b590d95db50d1a996eb774521102046386a78db Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Fri, 20 Oct 2017 01:40:32 -0700 Subject: [PATCH 0598/1161] Fix some titles. --- doc/api/artist_api.rst | 6 +++--- doc/api/blocking_input_api.rst | 4 ++++ doc/api/transformations.rst | 6 +++--- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/doc/api/artist_api.rst b/doc/api/artist_api.rst index aea657e587e1..a6f39d39f6b0 100644 --- a/doc/api/artist_api.rst +++ b/doc/api/artist_api.rst @@ -1,8 +1,8 @@ .. _artist-api: -=================== - ``artist`` Module -=================== +****** +artist +****** .. inheritance-diagram:: matplotlib.axes._axes.Axes matplotlib.axes._base._AxesBase matplotlib.axis.Axis matplotlib.axis.Tick matplotlib.axis.XAxis matplotlib.axis.XTick matplotlib.axis.YAxis matplotlib.axis.YTick matplotlib.collections.AsteriskPolygonCollection matplotlib.collections.BrokenBarHCollection matplotlib.collections.CircleCollection matplotlib.collections.Collection matplotlib.collections.EllipseCollection matplotlib.collections.EventCollection matplotlib.collections.LineCollection matplotlib.collections.PatchCollection matplotlib.collections.PathCollection matplotlib.collections.PolyCollection matplotlib.collections.QuadMesh matplotlib.collections.RegularPolyCollection matplotlib.collections.StarPolygonCollection matplotlib.collections.TriMesh matplotlib.collections._CollectionWithSizes matplotlib.contour.ClabelText matplotlib.figure.Figure matplotlib.image.AxesImage matplotlib.image.BboxImage matplotlib.image.FigureImage matplotlib.image.NonUniformImage matplotlib.image.PcolorImage matplotlib.image._ImageBase matplotlib.legend.Legend matplotlib.lines.Line2D matplotlib.offsetbox.AnchoredOffsetbox matplotlib.offsetbox.AnchoredText matplotlib.offsetbox.AnnotationBbox matplotlib.offsetbox.AuxTransformBox matplotlib.offsetbox.DrawingArea matplotlib.offsetbox.HPacker matplotlib.offsetbox.OffsetBox matplotlib.offsetbox.OffsetImage matplotlib.offsetbox.PackerBase matplotlib.offsetbox.PaddedBox matplotlib.offsetbox.TextArea matplotlib.offsetbox.VPacker matplotlib.patches.Arc matplotlib.patches.Arrow matplotlib.patches.Circle matplotlib.patches.CirclePolygon matplotlib.patches.ConnectionPatch matplotlib.patches.Ellipse matplotlib.patches.FancyArrow matplotlib.patches.FancyArrowPatch matplotlib.patches.FancyBboxPatch matplotlib.patches.Patch matplotlib.patches.PathPatch matplotlib.patches.Polygon matplotlib.patches.Rectangle matplotlib.patches.RegularPolygon matplotlib.patches.Shadow matplotlib.patches.Wedge matplotlib.patches.YAArrow matplotlib.projections.geo.AitoffAxes matplotlib.projections.geo.GeoAxes matplotlib.projections.geo.HammerAxes matplotlib.projections.geo.LambertAxes matplotlib.projections.geo.MollweideAxes matplotlib.projections.polar.PolarAxes matplotlib.quiver.Barbs matplotlib.quiver.Quiver matplotlib.quiver.QuiverKey matplotlib.spines.Spine matplotlib.table.Cell matplotlib.table.CustomCell matplotlib.table.Table matplotlib.text.Annotation matplotlib.text.Text matplotlib.text.TextWithDash :parts: 1 diff --git a/doc/api/blocking_input_api.rst b/doc/api/blocking_input_api.rst index 4eb8b7d58b44..840cbe25235f 100644 --- a/doc/api/blocking_input_api.rst +++ b/doc/api/blocking_input_api.rst @@ -1,3 +1,7 @@ +************** +blocking_input +************** + :mod:`matplotlib.blocking_input` ================================ diff --git a/doc/api/transformations.rst b/doc/api/transformations.rst index 1164031094fb..a50d35b080b8 100644 --- a/doc/api/transformations.rst +++ b/doc/api/transformations.rst @@ -1,6 +1,6 @@ -============================== - Working with transformations -============================== +*************** +transformations +*************** .. inheritance-diagram:: matplotlib.transforms matplotlib.path :parts: 1 From b517e513e6e5cd01363775d1906d0e54e609fbe1 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sat, 31 Mar 2018 19:07:34 -0700 Subject: [PATCH 0599/1161] Autogenerate more of pyplot. --- lib/matplotlib/axes/_base.py | 81 +++++---- lib/matplotlib/pyplot.py | 330 +++++++++-------------------------- tools/boilerplate.py | 27 ++- 3 files changed, 154 insertions(+), 284 deletions(-) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 400063b05fab..9b0be0aca05a 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -1598,9 +1598,10 @@ def apply_aspect(self, position=None): self.set_xbound((x0, x1)) def axis(self, *v, **kwargs): - """Set axis properties. + """ + Convenience method to get or set some axis properties. - Valid signatures:: + Call signatures:: xmin, xmax, ymin, ymax = axis() xmin, xmax, ymin, ymax = axis(list_arg) @@ -1609,39 +1610,44 @@ def axis(self, *v, **kwargs): Parameters ---------- - v : list of float or {'on', 'off', 'equal', 'tight', 'scaled',\ - 'normal', 'auto', 'image', 'square'} - Optional positional argument - - Axis data limits set from a list; or a command relating to axes: - - ========== ================================================ - Value Description - ========== ================================================ - 'on' Toggle axis lines and labels on - 'off' Toggle axis lines and labels off - 'equal' Equal scaling by changing limits - 'scaled' Equal scaling by changing box dimensions - 'tight' Limits set such that all data is shown - 'auto' Automatic scaling, fill rectangle with data - 'normal' Same as 'auto'; deprecated - 'image' 'scaled' with axis limits equal to data limits - 'square' Square plot; similar to 'scaled', but initially\ - forcing xmax-xmin = ymax-ymin - ========== ================================================ + v : List[float] or one of the strings listed below. + Optional positional-only argument + + If a list, set the axis data limits. If a string: + + ======== ========================================================== + Value Description + ======== ========================================================== + 'on' Turn on axis lines and labels. + 'off' Turn off axis lines and labels. + 'equal' Set equal scaling (i.e., make circles circular) by + changing axis limits. + 'scaled' Set equal scaling (i.e., make circles circular) by + changing dimensions of the plot box. + 'tight' Set limits just large enough to show all data. + 'auto' Automatic scaling (fill plot box with data). + 'normal' Same as 'auto'; deprecated. + 'image' 'scaled' with axis limits equal to data limits. + 'square' Square plot; similar to 'scaled', but initially forcing + ``xmax-xmin = ymax-ymin``. + ======== ========================================================== emit : bool, optional - Passed to set_{x,y}lim functions, if observers - are notified of axis limit change + Passed to set_{x,y}lim functions, if observers are notified of axis + limit change. xmin, ymin, xmax, ymax : float, optional - The axis limits to be set + The axis limits to be set. Returns ------- xmin, xmax, ymin, ymax : float - The axis limits + The axis limits. + See also + -------- + matplotlib.axes.Axes.set_xlim + matplotlib.axes.Axes.set_ylim """ if len(v) == 0 and len(kwargs) == 0: @@ -1762,18 +1768,18 @@ def get_yticklines(self): # Adding and tracking artists def _sci(self, im): - """ - helper for :func:`~matplotlib.pyplot.sci`; - do not use elsewhere. + """Set the current image. + + This image will be the target of colormap functions like + `~.pyplot.viridis`, and other functions such as `~.pyplot.clim`. The + current image is an attribute of the current axes. """ if isinstance(im, matplotlib.contour.ContourSet): if im.collections[0] not in self.collections: - raise ValueError( - "ContourSet must be in current Axes") + raise ValueError("ContourSet must be in current Axes") elif im not in self.images and im not in self.collections: - raise ValueError( - "Argument must be an image, collection, or ContourSet in " - "this Axes") + raise ValueError("Argument must be an image, collection, or " + "ContourSet in this Axes") self._current_image = im def _gci(self): @@ -3674,7 +3680,12 @@ def format_coord(self, x, y): return 'x=%s y=%s' % (xs, ys) def minorticks_on(self): - 'Add autoscaling minor ticks to the axes.' + """ + Display minor ticks on the axes. + + Displaying minor ticks may reduce performance; you may turn them off + using `minorticks_off()` if drawing speed is a problem. + """ for ax in (self.xaxis, self.yaxis): scale = ax.get_scale() if scale == 'log': diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index fc99fb6085db..2725094fe077 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -67,7 +67,10 @@ MaxNLocator from matplotlib.backends import pylab_setup + ## Backend detection ## + + def _backend_selection(): """ If rcParams['backend_fallback'] is true, check to see if the @@ -103,8 +106,10 @@ def _backend_selection(): _backend_selection() + ## Global ## + _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup() _IP_REGISTERED = None @@ -306,9 +311,9 @@ def rcdefaults(): draw_all() -# The current "image" (ScalarMappable) is retrieved or set -# only via the pyplot interface using the following two -# functions: +## Current image ## + + def gci(): """ Get the current colorable artist. Specifically, returns the @@ -326,18 +331,9 @@ def gci(): return gcf()._gci() -def sci(im): - """ - Set the current image. This image will be the target of colormap - commands like :func:`~matplotlib.pyplot.jet`, - :func:`~matplotlib.pyplot.hot` or - :func:`~matplotlib.pyplot.clim`). The current image is an - attribute of the current axes. - """ - gca()._sci(im) +## Any Artist ## -## Any Artist ## # (getp is simply imported) @docstring.copy(_setp) def setp(obj, *args, **kwargs): @@ -649,7 +645,8 @@ def close(*args): elif isinstance(arg, Figure): _pylab_helpers.Gcf.destroy_fig(arg) else: - raise TypeError('Unrecognized argument type %s to close' % type(arg)) + raise TypeError('Unrecognized argument type %s to close' + % type(arg)) else: raise TypeError('close takes 0 or 1 arguments') @@ -712,7 +709,8 @@ def waitforbuttonpress(*args, **kwargs): return gcf().waitforbuttonpress(*args, **kwargs) -# Putting things in figures +## Putting things in figures ## + @docstring.copy_dedent(Figure.text) def figtext(x, y, s, *args, **kwargs): @@ -768,6 +766,8 @@ def figlegend(*args, **kwargs): ## Axes ## + + def axes(arg=None, **kwargs): """ Add an axes to the current figure and make it the current axes. @@ -845,7 +845,8 @@ def axes(arg=None, **kwargs): def delaxes(ax=None): """ Remove the given `Axes` *ax* from the current figure. If *ax* is *None*, - the current axes is removed. A KeyError is raised if the axes doesn't exist. + the current axes is removed. A KeyError is raised if the axes doesn't + exist. """ if ax is None: ax = gca() @@ -887,7 +888,8 @@ def gca(**kwargs): """ return gcf().gca(**kwargs) -# More ways of creating axes: + +## More ways of creating axes ## def subplot(*args, **kwargs): @@ -1183,7 +1185,7 @@ def twinx(ax=None): For an example """ if ax is None: - ax=gca() + ax = gca() ax1 = ax.twinx() return ax1 @@ -1196,7 +1198,7 @@ def twiny(ax=None): returned. """ if ax is None: - ax=gca() + ax = gca() ax1 = ax.twiny() return ax1 @@ -1287,150 +1289,9 @@ def box(on=None): ax.set_frame_on(on) -def title(s, *args, **kwargs): - """ - Set a title of the current axes. - - Set one of the three available axes titles. The available titles are - positioned above the axes in the center, flush with the left edge, - and flush with the right edge. - - .. seealso:: - See :func:`~matplotlib.pyplot.text` for adding text - to the current axes - - Parameters - ---------- - label : str - Text to use for the title - - fontdict : dict - A dictionary controlling the appearance of the title text, - the default `fontdict` is: - - {'fontsize': rcParams['axes.titlesize'], - 'fontweight' : rcParams['axes.titleweight'], - 'verticalalignment': 'baseline', - 'horizontalalignment': loc} - - loc : {'center', 'left', 'right'}, str, optional - Which title to set, defaults to 'center' - - Returns - ------- - text : :class:`~matplotlib.text.Text` - The matplotlib text instance representing the title - - Other parameters - ---------------- - kwargs : text properties - Other keyword arguments are text properties, see - :class:`~matplotlib.text.Text` for a list of valid text - properties. - - """ - return gca().set_title(s, *args, **kwargs) - ## Axis ## -def axis(*v, **kwargs): - """ - Convenience method to get or set axis properties. - - Calling with no arguments:: - - >>> axis() - - returns the current axes limits ``[xmin, xmax, ymin, ymax]``.:: - - >>> axis(v) - - sets the min and max of the x and y axes, with - ``v = [xmin, xmax, ymin, ymax]``.:: - - >>> axis('off') - - turns off the axis lines and labels.:: - - >>> axis('equal') - - changes limits of *x* or *y* axis so that equal increments of *x* - and *y* have the same length; a circle is circular.:: - - >>> axis('scaled') - - achieves the same result by changing the dimensions of the plot box instead - of the axis data limits.:: - - >>> axis('tight') - - changes *x* and *y* axis limits such that all data is shown. If - all data is already shown, it will move it to the center of the - figure without modifying (*xmax* - *xmin*) or (*ymax* - - *ymin*). Note this is slightly different than in MATLAB.:: - - >>> axis('image') - - is 'scaled' with the axis limits equal to the data limits.:: - - >>> axis('auto') - - and:: - - >>> axis('normal') - - are deprecated. They restore default behavior; axis limits are automatically - scaled to make the data fit comfortably within the plot box. - - if ``len(*v)==0``, you can pass in *xmin*, *xmax*, *ymin*, *ymax* - as kwargs selectively to alter just those limits without changing - the others. - - >>> axis('square') - - changes the limit ranges (*xmax*-*xmin*) and (*ymax*-*ymin*) of - the *x* and *y* axes to be the same, and have the same scaling, - resulting in a square plot. - - The xmin, xmax, ymin, ymax tuple is returned - - .. seealso:: - - :func:`xlim`, :func:`ylim` - For setting the x- and y-limits individually. - """ - return gca().axis(*v, **kwargs) - - -def xlabel(s, *args, **kwargs): - """ - Set the x-axis label of the current axes. - - Call signature:: - - xlabel(label, fontdict=None, labelpad=None, **kwargs) - - This is the pyplot equivalent of calling `.set_xlabel` on the current axes. - See there for a full parameter description. - """ - return gca().set_xlabel(s, *args, **kwargs) - - -def ylabel(s, *args, **kwargs): - """ - Set the y-axis label of the current axes. - - Call signature:: - - ylabel(label, fontdict=None, labelpad=None, **kwargs) - - This is the pyplot equivalent of calling `.set_ylabel` on the current axes. - See there for a full parameter description. - """ - return gca().set_ylabel(s, *args, **kwargs) - - def xlim(*args, **kwargs): """ Get or set the x limits of the current axes. @@ -1504,54 +1365,6 @@ def ylim(*args, **kwargs): return ret -@docstring.dedent_interpd -def xscale(scale, **kwargs): - """ - Set the scaling of the x-axis. - - Parameters - ---------- - scale : [%(scale)s] - The scaling type. - **kwargs - Additional parameters depend on *scale*. See Notes. - - Notes - ----- - This is the pyplot equivalent of calling `~.Axes.set_xscale` on the - current axes. - - Different keywords may be accepted, depending on the scale: - - %(scale_docs)s - """ - gca().set_xscale(scale, **kwargs) - - -@docstring.dedent_interpd -def yscale(scale, **kwargs): - """ - Set the scaling of the y-axis. - - Parameters - ---------- - scale : [%(scale)s] - The scaling type. - **kwargs - Additional parameters depend on *scale*. See Notes. - - Notes - ----- - This is the pyplot equivalent of calling `~.Axes.set_yscale` on the - current axes. - - Different keywords may be accepted, depending on the scale: - - %(scale_docs)s - """ - gca().set_yscale(scale, **kwargs) - - def xticks(*args, **kwargs): """ Get or set the current tick locations and labels of the x-axis. @@ -1614,19 +1427,19 @@ def xticks(*args, **kwargs): """ ax = gca() - if len(args)==0: + if len(args) == 0: locs = ax.get_xticks() labels = ax.get_xticklabels() - elif len(args)==1: + elif len(args) == 1: locs = ax.set_xticks(args[0]) labels = ax.get_xticklabels() - elif len(args)==2: + elif len(args) == 2: locs = ax.set_xticks(args[0]) labels = ax.set_xticklabels(args[1], **kwargs) - else: raise TypeError('Illegal number of arguments to xticks') - if len(kwargs): - for l in labels: - l.update(kwargs) + else: + raise TypeError('Illegal number of arguments to xticks') + for l in labels: + l.update(kwargs) return locs, silent_list('Text xticklabel', labels) @@ -1693,41 +1506,21 @@ def yticks(*args, **kwargs): """ ax = gca() - if len(args)==0: + if len(args) == 0: locs = ax.get_yticks() labels = ax.get_yticklabels() - elif len(args)==1: + elif len(args) == 1: locs = ax.set_yticks(args[0]) labels = ax.get_yticklabels() - elif len(args)==2: + elif len(args) == 2: locs = ax.set_yticks(args[0]) labels = ax.set_yticklabels(args[1], **kwargs) - else: raise TypeError('Illegal number of arguments to yticks') - if len(kwargs): - for l in labels: - l.update(kwargs) - - - return ( locs, - silent_list('Text yticklabel', labels) - ) - - -def minorticks_on(): - """ - Display minor ticks on the current plot. - - Displaying minor ticks reduces performance; turn them off using - minorticks_off() if drawing speed is a problem. - """ - gca().minorticks_on() - + else: + raise TypeError('Illegal number of arguments to yticks') + for l in labels: + l.update(kwargs) -def minorticks_off(): - """ - Remove minor ticks from the current plot. - """ - gca().minorticks_off() + return locs, silent_list('Text yticklabel', labels) def rgrids(*args, **kwargs): @@ -1837,6 +1630,7 @@ def thetagrids(*args, **kwargs): ## Plotting Info ## + def plotting(): pass @@ -2144,8 +1938,10 @@ def pad(s, l): plotting.__doc__ = '\n'.join(lines) + ## Plotting part 1: manually generated functions and wrappers ## + def colorbar(mappable=None, cax=None, ax=None, **kw): if mappable is None: mappable = gci() @@ -2460,6 +2256,11 @@ def axhline(y=0, xmin=0, xmax=1, **kwargs): def axhspan(ymin, ymax, xmin=0, xmax=1, **kwargs): return gca().axhspan(ymin=ymin, ymax=ymax, xmin=xmin, xmax=xmax, **kwargs) +# Autogenerated by boilerplate.py. Do not edit as changes will be lost. +@docstring.copy_dedent(Axes.axis) +def axis(*v, **kwargs): + return gca().axis(*v, **kwargs) + # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.axvline) def axvline(x=0, ymin=0, ymax=1, **kwargs): @@ -2712,6 +2513,16 @@ def magnitude_spectrum( def margins(*args, **kw): return gca().margins(*args, **kw) +# Autogenerated by boilerplate.py. Do not edit as changes will be lost. +@docstring.copy_dedent(Axes.minorticks_off) +def minorticks_off(): + return gca().minorticks_off() + +# Autogenerated by boilerplate.py. Do not edit as changes will be lost. +@docstring.copy_dedent(Axes.minorticks_on) +def minorticks_on(): + return gca().minorticks_on() + # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.pcolor) def pcolor(*args, data=None, **kwargs): @@ -2947,6 +2758,39 @@ def xcorr( x=x, y=y, normed=normed, detrend=detrend, usevlines=usevlines, maxlags=maxlags, data=data, **kwargs) +# Autogenerated by boilerplate.py. Do not edit as changes will be lost. +@docstring.copy_dedent(Axes._sci) +def sci(im): + return gca()._sci(im=im) + +# Autogenerated by boilerplate.py. Do not edit as changes will be lost. +@docstring.copy_dedent(Axes.set_title) +def title(label, fontdict=None, loc='center', pad=None, **kwargs): + return gca().set_title( + label=label, fontdict=fontdict, loc=loc, pad=pad, **kwargs) + +# Autogenerated by boilerplate.py. Do not edit as changes will be lost. +@docstring.copy_dedent(Axes.set_xlabel) +def xlabel(xlabel, fontdict=None, labelpad=None, **kwargs): + return gca().set_xlabel( + xlabel=xlabel, fontdict=fontdict, labelpad=labelpad, **kwargs) + +# Autogenerated by boilerplate.py. Do not edit as changes will be lost. +@docstring.copy_dedent(Axes.set_ylabel) +def ylabel(ylabel, fontdict=None, labelpad=None, **kwargs): + return gca().set_ylabel( + ylabel=ylabel, fontdict=fontdict, labelpad=labelpad, **kwargs) + +# Autogenerated by boilerplate.py. Do not edit as changes will be lost. +@docstring.copy_dedent(Axes.set_xscale) +def xscale(value, **kwargs): + return gca().set_xscale(value=value, **kwargs) + +# Autogenerated by boilerplate.py. Do not edit as changes will be lost. +@docstring.copy_dedent(Axes.set_yscale) +def yscale(value, **kwargs): + return gca().set_yscale(value=value, **kwargs) + # Autogenerated by boilerplate.py. Do not edit as changes will be lost. def autumn(): """ diff --git a/tools/boilerplate.py b/tools/boilerplate.py index 25bae7c7814b..682fe3b2cef4 100644 --- a/tools/boilerplate.py +++ b/tools/boilerplate.py @@ -40,18 +40,18 @@ CMAPPABLE_TEMPLATE = AUTOGEN_MSG + """ -@_autogen_docstring(Axes.%(func)s) +@_autogen_docstring(Axes.%(real_name)s) def %(func)s%(sig)s: - __ret = gca().%(func)s%(call)s + __ret = gca().%(real_name)s%(call)s %(mappable)s return __ret """ NON_CMAPPABLE_TEMPLATE = AUTOGEN_MSG + """ -@docstring.copy_dedent(Axes.%(func)s) +@docstring.copy_dedent(Axes.%(real_name)s) def %(func)s%(sig)s: - return gca().%(func)s%(call)s + return gca().%(real_name)s%(call)s """ # Used for colormap functions @@ -80,6 +80,7 @@ def boilerplate_gen(): 'autoscale', 'axhline', 'axhspan', + 'axis', 'axvline', 'axvspan', 'bar', @@ -109,6 +110,8 @@ def boilerplate_gen(): 'loglog', 'magnitude_spectrum', 'margins', + 'minorticks_off', + 'minorticks_on', 'pcolor', 'pcolormesh', 'phase_spectrum', @@ -138,6 +141,13 @@ def boilerplate_gen(): 'violinplot', 'vlines', 'xcorr', + # pyplot name : real name + 'sci:_sci', + 'title:set_title', + 'xlabel:set_xlabel', + 'ylabel:set_ylabel', + 'xscale:set_xscale', + 'yscale:set_yscale', ) cmappable = { @@ -182,7 +192,12 @@ def __repr__(self): break_long_words=False, width=70, initial_indent=' ' * 8, subsequent_indent=' ' * 8) - for func in _commands: + for spec in _commands: + if ':' in spec: + func, real_name = spec.split(':') + else: + func = real_name = spec + # For some commands, an additional line is needed to set the color map. if func in cmappable: fmt = CMAPPABLE_TEMPLATE @@ -191,7 +206,7 @@ def __repr__(self): fmt = NON_CMAPPABLE_TEMPLATE # Get signature of wrapped function. - sig = inspect.signature(getattr(Axes, func)) + sig = inspect.signature(getattr(Axes, real_name)) # Replace self argument. params = list(sig.parameters.values())[1:] From 71617e2e4d12c791603aa82abd96b213d633e463 Mon Sep 17 00:00:00 2001 From: Sourav Singh <ssouravsingh12@gmail.com> Date: Fri, 4 May 2018 12:02:10 +0530 Subject: [PATCH 0600/1161] Update stacklevel value --- lib/matplotlib/backends/backend_wx.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/backends/backend_wx.py b/lib/matplotlib/backends/backend_wx.py index 709b9a7bf618..8842f0f8a75c 100644 --- a/lib/matplotlib/backends/backend_wx.py +++ b/lib/matplotlib/backends/backend_wx.py @@ -1555,7 +1555,7 @@ def save_figure(self, *args): warnings.warn( 'extension %s did not match the selected ' 'image type %s; going with %s' % - (ext, format, ext), stacklevel=0) + (ext, format, ext), stacklevel=2) format = ext try: self.canvas.figure.savefig( @@ -1721,7 +1721,7 @@ def trigger(self, *args): warnings.warn( 'extension %s did not match the selected ' 'image type %s; going with %s' % - (ext, format, ext), stacklevel=0) + (ext, format, ext), stacklevel=2) format = ext if default_dir != "": matplotlib.rcParams['savefig.directory'] = dirname From 005d1e3361bd53fa94405c44c0ffdac83c491c10 Mon Sep 17 00:00:00 2001 From: ImportanceOfBeingErnest <elch.rz@ruetz-online.de> Date: Fri, 4 May 2018 14:13:28 +0200 Subject: [PATCH 0601/1161] reactivate search for codex --- doc/_static/mpl.css | 2 +- doc/conf.py | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/doc/_static/mpl.css b/doc/_static/mpl.css index a8151dcb97c1..0417be90549d 100644 --- a/doc/_static/mpl.css +++ b/doc/_static/mpl.css @@ -986,7 +986,7 @@ div.sphx-glr-download a { background-image: none !important; } -p.sphx-glr-signature a.reference.external { +p.sphx-glr-signature { display: none !important; } diff --git a/doc/conf.py b/doc/conf.py index 94e4debea50f..b0d40f0099c5 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -17,6 +17,9 @@ import matplotlib import sphinx +# This is only necessary to monkey patch the signature later on. +from sphinx_gallery import gen_rst + # If your extensions are in another directory, add it here. If the directory # is relative to the documentation root, use os.path.abspath to make it # absolute, like shown here. @@ -132,6 +135,16 @@ def _check_deps(): plot_gallery = 'True' +# Monkey-patching gallery signature to include search keywords +gen_rst.SPHX_GLR_SIG = """\n +.. only:: html + + .. rst-class:: sphx-glr-signature + + Keywords: matplotlib code example, codex, python plot, pyplot + `Gallery generated by Sphinx-Gallery + <https://sphinx-gallery.readthedocs.io>`_\n""" + # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] From 156131cc29ef15f7a09e9e2f8d3f38994104a5a5 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Fri, 4 May 2018 11:04:21 -0700 Subject: [PATCH 0602/1161] ENH: add title_fontsize to legend --- doc/users/next_whats_new/legend_title_fontsize_kwarg.rst | 9 +++++++++ lib/matplotlib/legend.py | 8 ++++++-- lib/matplotlib/rcsetup.py | 8 ++++++++ lib/matplotlib/tests/test_legend.py | 8 ++++++++ matplotlibrc.template | 1 + 5 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 doc/users/next_whats_new/legend_title_fontsize_kwarg.rst diff --git a/doc/users/next_whats_new/legend_title_fontsize_kwarg.rst b/doc/users/next_whats_new/legend_title_fontsize_kwarg.rst new file mode 100644 index 000000000000..abaab153eca0 --- /dev/null +++ b/doc/users/next_whats_new/legend_title_fontsize_kwarg.rst @@ -0,0 +1,9 @@ +Legend now has a title_fontsize kwarg (and rcParam) +--------------------------------------------------- + +The title for a `.Figure.legend` and `.Axes.legend` can now have its +fontsize set via the ``title_fontsize`` kwarg. There is also a new +:rc:`legend.title_fontsize`. Both default to ``None``, which means +the legend title will have the same fontsize as the axes default fontsize +(*not* the legend fontsize, set by the ``fontsize`` kwarg or +:rc:`legend.fontsize`). diff --git a/lib/matplotlib/legend.py b/lib/matplotlib/legend.py index 585915e0c554..866ee6d7aa12 100644 --- a/lib/matplotlib/legend.py +++ b/lib/matplotlib/legend.py @@ -333,7 +333,7 @@ def __init__(self, parent, handles, labels, # box, none use rc shadow=None, title=None, # set a title for the legend - + title_fontsize=None, # set to ax.fontsize if None framealpha=None, # set frame alpha edgecolor=None, # frame patch edgecolor facecolor=None, # frame patch facecolor @@ -539,7 +539,11 @@ def __init__(self, parent, handles, labels, self.get_frame().set_alpha(framealpha) self._loc = loc - self.set_title(title) + # figure out title fontsize: + if title_fontsize is None: + title_fontsize = rcParams['legend.title_fontsize'] + tprop = FontProperties(size=title_fontsize) + self.set_title(title, prop=tprop) self._last_fontsize_points = self._fontsize self._draggable = None diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index 7f2e9806310d..99c643edcf6c 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -420,6 +420,13 @@ def validate_aspect(s): raise ValueError('not a valid aspect specification') +def validate_fontsize_None(s): + if s is None or s == 'None': + return None + else: + return validate_fontsize(s) + + def validate_fontsize(s): fontsizes = ['xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large', 'smaller', 'larger'] @@ -1226,6 +1233,7 @@ def _validate_linestyle(ls): # the number of points in the legend line for scatter 'legend.scatterpoints': [1, validate_int], 'legend.fontsize': ['medium', validate_fontsize], + 'legend.title_fontsize': [None, validate_fontsize_None], # the relative size of legend markers vs. original 'legend.markerscale': [1.0, validate_float], 'legend.shadow': [False, validate_bool], diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py index b1d176ec8a0f..6e377505a078 100644 --- a/lib/matplotlib/tests/test_legend.py +++ b/lib/matplotlib/tests/test_legend.py @@ -502,3 +502,11 @@ def test_legend_proper_window_extent(): leg = ax.legend() x02 = leg.get_window_extent(fig.canvas.get_renderer()).x0 assert pytest.approx(x01*2, 0.1) == x02 + + +def test_legend_title_fontsize(): + # test the title_fontsize kwarg + fig, ax = plt.subplots() + ax.plot(range(10)) + leg = ax.legend(title='Aardvark', title_fontsize=22) + assert leg.get_title().get_fontsize() == 22 diff --git a/matplotlibrc.template b/matplotlibrc.template index f4549755ed01..6d8654d05eeb 100644 --- a/matplotlibrc.template +++ b/matplotlibrc.template @@ -415,6 +415,7 @@ backend : $TEMPLATE_BACKEND #legend.scatterpoints : 1 ## number of scatter points #legend.markerscale : 1.0 ## the relative size of legend markers vs. original #legend.fontsize : medium +#legend.title_fontsize : None ## None sets to the same as the default axes. ## Dimensions as fraction of fontsize: #legend.borderpad : 0.4 ## border whitespace #legend.labelspacing : 0.5 ## the vertical space between the legend entries From fcdf8c308fee4544706d0ff06daf81dee2b5d8b8 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Fri, 4 May 2018 13:25:20 -0700 Subject: [PATCH 0603/1161] ENH/MNT: drop the rcparam from legend.title_fontsize --- .../next_whats_new/legend_title_fontsize_kwarg.rst | 13 ++++++------- lib/matplotlib/legend.py | 10 +++++++--- lib/matplotlib/rcsetup.py | 8 -------- matplotlibrc.template | 1 - 4 files changed, 13 insertions(+), 19 deletions(-) diff --git a/doc/users/next_whats_new/legend_title_fontsize_kwarg.rst b/doc/users/next_whats_new/legend_title_fontsize_kwarg.rst index abaab153eca0..6544e42afb9a 100644 --- a/doc/users/next_whats_new/legend_title_fontsize_kwarg.rst +++ b/doc/users/next_whats_new/legend_title_fontsize_kwarg.rst @@ -1,9 +1,8 @@ -Legend now has a title_fontsize kwarg (and rcParam) ---------------------------------------------------- +Legend now has a title_fontsize kwarg +------------------------------------- The title for a `.Figure.legend` and `.Axes.legend` can now have its -fontsize set via the ``title_fontsize`` kwarg. There is also a new -:rc:`legend.title_fontsize`. Both default to ``None``, which means -the legend title will have the same fontsize as the axes default fontsize -(*not* the legend fontsize, set by the ``fontsize`` kwarg or -:rc:`legend.fontsize`). +fontsize set via the ``title_fontsize`` kwarg, defaults to ``None``, which +means the legend title will have the same fontsize as the axes default +fontsize (*not* the legend fontsize, set by the ``fontsize`` kwarg or +:rc:`legend.fontsize`). diff --git a/lib/matplotlib/legend.py b/lib/matplotlib/legend.py index 866ee6d7aa12..08b01f82b40d 100644 --- a/lib/matplotlib/legend.py +++ b/lib/matplotlib/legend.py @@ -232,6 +232,9 @@ def _update_bbox_to_anchor(self, loc_in_canvas): title : str or None The legend's title. Default is no title (``None``). +title_fontsize: str or None + The fontsize of the legend's title. Default is the default fontsize. + borderpad : float or None The fractional whitespace inside the legend border. Measured in font-size units. @@ -540,9 +543,10 @@ def __init__(self, parent, handles, labels, self._loc = loc # figure out title fontsize: - if title_fontsize is None: - title_fontsize = rcParams['legend.title_fontsize'] - tprop = FontProperties(size=title_fontsize) + if title_fontsize is not None: + tprop = FontProperties(size=title_fontsize) + else: + tprop = None self.set_title(title, prop=tprop) self._last_fontsize_points = self._fontsize self._draggable = None diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index 99c643edcf6c..7f2e9806310d 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -420,13 +420,6 @@ def validate_aspect(s): raise ValueError('not a valid aspect specification') -def validate_fontsize_None(s): - if s is None or s == 'None': - return None - else: - return validate_fontsize(s) - - def validate_fontsize(s): fontsizes = ['xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large', 'smaller', 'larger'] @@ -1233,7 +1226,6 @@ def _validate_linestyle(ls): # the number of points in the legend line for scatter 'legend.scatterpoints': [1, validate_int], 'legend.fontsize': ['medium', validate_fontsize], - 'legend.title_fontsize': [None, validate_fontsize_None], # the relative size of legend markers vs. original 'legend.markerscale': [1.0, validate_float], 'legend.shadow': [False, validate_bool], diff --git a/matplotlibrc.template b/matplotlibrc.template index 6d8654d05eeb..f4549755ed01 100644 --- a/matplotlibrc.template +++ b/matplotlibrc.template @@ -415,7 +415,6 @@ backend : $TEMPLATE_BACKEND #legend.scatterpoints : 1 ## number of scatter points #legend.markerscale : 1.0 ## the relative size of legend markers vs. original #legend.fontsize : medium -#legend.title_fontsize : None ## None sets to the same as the default axes. ## Dimensions as fraction of fontsize: #legend.borderpad : 0.4 ## border whitespace #legend.labelspacing : 0.5 ## the vertical space between the legend entries From 63714b4422f32ee944da2aedcb5ccad8b0725b80 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Fri, 4 May 2018 16:38:26 -0700 Subject: [PATCH 0604/1161] ENH add rcparam to legend_title --- .../next_whats_new/legend_title_fontsize_kwarg.rst | 11 ++++++----- lib/matplotlib/legend.py | 7 +++---- lib/matplotlib/rcsetup.py | 8 ++++++++ matplotlibrc.template | 1 + 4 files changed, 18 insertions(+), 9 deletions(-) diff --git a/doc/users/next_whats_new/legend_title_fontsize_kwarg.rst b/doc/users/next_whats_new/legend_title_fontsize_kwarg.rst index 6544e42afb9a..3cff9b171b30 100644 --- a/doc/users/next_whats_new/legend_title_fontsize_kwarg.rst +++ b/doc/users/next_whats_new/legend_title_fontsize_kwarg.rst @@ -1,8 +1,9 @@ -Legend now has a title_fontsize kwarg -------------------------------------- +Legend now has a title_fontsize kwarg (and rcParam) +--------------------------------------------------- The title for a `.Figure.legend` and `.Axes.legend` can now have its -fontsize set via the ``title_fontsize`` kwarg, defaults to ``None``, which -means the legend title will have the same fontsize as the axes default -fontsize (*not* the legend fontsize, set by the ``fontsize`` kwarg or +fontsize set via the ``title_fontsize`` kwarg. There is also a new +:rc:`legend.title_fontsize`. Both default to ``None``, which means +the legend title will have the same fontsize as the axes default fontsize +(*not* the legend fontsize, set by the ``fontsize`` kwarg or :rc:`legend.fontsize`). diff --git a/lib/matplotlib/legend.py b/lib/matplotlib/legend.py index 08b01f82b40d..a59d61d1b35d 100644 --- a/lib/matplotlib/legend.py +++ b/lib/matplotlib/legend.py @@ -543,10 +543,9 @@ def __init__(self, parent, handles, labels, self._loc = loc # figure out title fontsize: - if title_fontsize is not None: - tprop = FontProperties(size=title_fontsize) - else: - tprop = None + if title_fontsize is None: + title_fontsize = rcParams['legend.title_fontsize'] + tprop = FontProperties(size=title_fontsize) self.set_title(title, prop=tprop) self._last_fontsize_points = self._fontsize self._draggable = None diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index 7f2e9806310d..99c643edcf6c 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -420,6 +420,13 @@ def validate_aspect(s): raise ValueError('not a valid aspect specification') +def validate_fontsize_None(s): + if s is None or s == 'None': + return None + else: + return validate_fontsize(s) + + def validate_fontsize(s): fontsizes = ['xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large', 'smaller', 'larger'] @@ -1226,6 +1233,7 @@ def _validate_linestyle(ls): # the number of points in the legend line for scatter 'legend.scatterpoints': [1, validate_int], 'legend.fontsize': ['medium', validate_fontsize], + 'legend.title_fontsize': [None, validate_fontsize_None], # the relative size of legend markers vs. original 'legend.markerscale': [1.0, validate_float], 'legend.shadow': [False, validate_bool], diff --git a/matplotlibrc.template b/matplotlibrc.template index f4549755ed01..6d8654d05eeb 100644 --- a/matplotlibrc.template +++ b/matplotlibrc.template @@ -415,6 +415,7 @@ backend : $TEMPLATE_BACKEND #legend.scatterpoints : 1 ## number of scatter points #legend.markerscale : 1.0 ## the relative size of legend markers vs. original #legend.fontsize : medium +#legend.title_fontsize : None ## None sets to the same as the default axes. ## Dimensions as fraction of fontsize: #legend.borderpad : 0.4 ## border whitespace #legend.labelspacing : 0.5 ## the vertical space between the legend entries From c6ce3f66aca95c2bc6fc7ecff8466f716d107689 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sat, 5 May 2018 21:26:23 +0200 Subject: [PATCH 0605/1161] Replace numeric loc by position string --- doc/users/prev_whats_new/whats_new_2.1.0.rst | 8 +++--- .../demo_anchored_direction_arrows.py | 4 +-- examples/axes_grid1/demo_axes_grid2.py | 4 +-- .../axes_grid1/demo_colorbar_of_inset_axes.py | 4 +-- .../demo_colorbar_with_inset_locator.py | 4 +-- examples/axes_grid1/inset_locator_demo.py | 4 +-- examples/axes_grid1/inset_locator_demo2.py | 2 +- .../axes_grid1/simple_anchored_artists.py | 13 +++++----- .../markevery_prop_cycle.py | 2 +- .../lines_bars_and_markers/scatter_symbol.py | 2 +- .../lines_bars_and_markers/stackplot_demo.py | 2 +- examples/misc/anchored_artists.py | 10 ++++---- examples/misc/patheffect_demo.py | 2 +- .../demo_text_path.py | 3 ++- examples/userdemo/anchored_box01.py | 2 +- examples/userdemo/anchored_box02.py | 2 +- examples/userdemo/anchored_box03.py | 2 +- examples/userdemo/anchored_box04.py | 2 +- examples/userdemo/simple_legend01.py | 4 +-- examples/userdemo/simple_legend02.py | 4 +-- lib/matplotlib/tests/test_bbox_tight.py | 2 +- lib/matplotlib/tests/test_legend.py | 25 ++++++++++--------- lib/matplotlib/tests/test_offsetbox.py | 4 +-- lib/matplotlib/tests/test_patheffects.py | 2 +- lib/matplotlib/tests/test_tightlayout.py | 2 +- .../axes_grid1/anchored_artists.py | 5 ++-- lib/mpl_toolkits/axes_grid1/inset_locator.py | 4 +-- lib/mpl_toolkits/tests/test_axes_grid1.py | 18 ++++++------- tutorials/intermediate/legend_guide.py | 8 +++--- tutorials/text/annotations.py | 6 ++--- tutorials/toolkits/axes_grid.py | 4 +-- 31 files changed, 81 insertions(+), 79 deletions(-) diff --git a/doc/users/prev_whats_new/whats_new_2.1.0.rst b/doc/users/prev_whats_new/whats_new_2.1.0.rst index 171dc7291a9f..51e42ea2d875 100644 --- a/doc/users/prev_whats_new/whats_new_2.1.0.rst +++ b/doc/users/prev_whats_new/whats_new_2.1.0.rst @@ -261,11 +261,11 @@ rectangle for the size bar. fig, ax = plt.subplots(figsize=(3, 3)) - bar0 = AnchoredSizeBar(ax.transData, 0.3, 'unfilled', loc=3, frameon=False, - size_vertical=0.05, fill_bar=False) + bar0 = AnchoredSizeBar(ax.transData, 0.3, 'unfilled', loc='lower left', + frameon=False, size_vertical=0.05, fill_bar=False) ax.add_artist(bar0) - bar1 = AnchoredSizeBar(ax.transData, 0.3, 'filled', loc=4, frameon=False, - size_vertical=0.05, fill_bar=True) + bar1 = AnchoredSizeBar(ax.transData, 0.3, 'filled', loc='lower right', + frameon=False, size_vertical=0.05, fill_bar=True) ax.add_artist(bar1) plt.show() diff --git a/examples/axes_grid1/demo_anchored_direction_arrows.py b/examples/axes_grid1/demo_anchored_direction_arrows.py index e0572cb214ae..d9b1eb2cc584 100644 --- a/examples/axes_grid1/demo_anchored_direction_arrows.py +++ b/examples/axes_grid1/demo_anchored_direction_arrows.py @@ -20,7 +20,7 @@ high_contrast_part_1 = AnchoredDirectionArrows( ax.transAxes, '111', r'11$\overline{2}$', - loc=1, + loc='upper right', arrow_props={'ec': 'w', 'fc': 'none', 'alpha': 1, 'lw': 2} ) @@ -29,7 +29,7 @@ high_contrast_part_2 = AnchoredDirectionArrows( ax.transAxes, '111', r'11$\overline{2}$', - loc=1, + loc='upper right', arrow_props={'ec': 'none', 'fc': 'k'}, text_props={'ec': 'w', 'fc': 'k', 'lw': 0.4} ) diff --git a/examples/axes_grid1/demo_axes_grid2.py b/examples/axes_grid1/demo_axes_grid2.py index 26752dd0d5a4..6de119132df7 100644 --- a/examples/axes_grid1/demo_axes_grid2.py +++ b/examples/axes_grid1/demo_axes_grid2.py @@ -60,7 +60,7 @@ def add_inner_title(ax, title, loc, size=None, **kwargs): ax.cax.colorbar(im) for ax, im_title in zip(grid, ["Image 1", "Image 2", "Image 3"]): - t = add_inner_title(ax, im_title, loc=3) + t = add_inner_title(ax, im_title, loc='lower left') t.patch.set_alpha(0.5) for ax, z in zip(grid, ZS): @@ -109,7 +109,7 @@ def add_inner_title(ax, title, loc, size=None, **kwargs): ax.cax.toggle_label(True) for ax, im_title in zip(grid2, ["(a)", "(b)", "(c)"]): - t = add_inner_title(ax, im_title, loc=2) + t = add_inner_title(ax, im_title, loc='upper left') t.patch.set_ec("none") t.patch.set_alpha(0.5) diff --git a/examples/axes_grid1/demo_colorbar_of_inset_axes.py b/examples/axes_grid1/demo_colorbar_of_inset_axes.py index 88069c8f49cf..7d330a4de58e 100644 --- a/examples/axes_grid1/demo_colorbar_of_inset_axes.py +++ b/examples/axes_grid1/demo_colorbar_of_inset_axes.py @@ -28,7 +28,7 @@ def get_demo_image(): ylim=(-20, 5)) -axins = zoomed_inset_axes(ax, 2, loc=2) # zoom = 6 +axins = zoomed_inset_axes(ax, zoom=2, loc='upper left') im = axins.imshow(Z, extent=extent, interpolation="nearest", origin="lower") @@ -40,7 +40,7 @@ def get_demo_image(): cax = inset_axes(axins, width="5%", # width = 10% of parent_bbox width height="100%", # height : 50% - loc=3, + loc='lower left', bbox_to_anchor=(1.05, 0., 1, 1), bbox_transform=axins.transAxes, borderpad=0, diff --git a/examples/axes_grid1/demo_colorbar_with_inset_locator.py b/examples/axes_grid1/demo_colorbar_with_inset_locator.py index cc3b221691af..40bf7c54c2de 100644 --- a/examples/axes_grid1/demo_colorbar_with_inset_locator.py +++ b/examples/axes_grid1/demo_colorbar_with_inset_locator.py @@ -13,7 +13,7 @@ axins1 = inset_axes(ax1, width="50%", # width = 10% of parent_bbox width height="5%", # height : 50% - loc=1) + loc='upper right') im1 = ax1.imshow([[1, 2], [2, 3]]) plt.colorbar(im1, cax=axins1, orientation="horizontal", ticks=[1, 2, 3]) @@ -22,7 +22,7 @@ axins = inset_axes(ax2, width="5%", # width = 10% of parent_bbox width height="50%", # height : 50% - loc=3, + loc='lower left', bbox_to_anchor=(1.05, 0., 1, 1), bbox_transform=ax2.transAxes, borderpad=0, diff --git a/examples/axes_grid1/inset_locator_demo.py b/examples/axes_grid1/inset_locator_demo.py index ee3f54acdffd..0dfd611ef0d2 100644 --- a/examples/axes_grid1/inset_locator_demo.py +++ b/examples/axes_grid1/inset_locator_demo.py @@ -14,7 +14,7 @@ def add_sizebar(ax, size): asb = AnchoredSizeBar(ax.transData, size, str(size), - loc=8, + loc='lower center', pad=0.1, borderpad=0.5, sep=5, frameon=False) ax.add_artist(asb) @@ -28,7 +28,7 @@ def add_sizebar(ax, size): axins = inset_axes(ax, width="30%", # width = 30% of parent_bbox height=1., # height : 1 inch - loc=3) + loc='lower left') plt.xticks(visible=False) plt.yticks(visible=False) diff --git a/examples/axes_grid1/inset_locator_demo2.py b/examples/axes_grid1/inset_locator_demo2.py index a70cbb926e64..4e50dd5855c5 100644 --- a/examples/axes_grid1/inset_locator_demo2.py +++ b/examples/axes_grid1/inset_locator_demo2.py @@ -32,7 +32,7 @@ def get_demo_image(): ax.imshow(Z2, extent=extent, interpolation="nearest", origin="lower") -axins = zoomed_inset_axes(ax, 6, loc=1) # zoom = 6 +axins = zoomed_inset_axes(ax, zoom=6, loc='upper right') axins.imshow(Z2, extent=extent, interpolation="nearest", origin="lower") diff --git a/examples/axes_grid1/simple_anchored_artists.py b/examples/axes_grid1/simple_anchored_artists.py index 4db864d0ee07..479dae594f6e 100644 --- a/examples/axes_grid1/simple_anchored_artists.py +++ b/examples/axes_grid1/simple_anchored_artists.py @@ -18,16 +18,14 @@ def draw_text(ax): corner of the figure. """ from matplotlib.offsetbox import AnchoredText - # loc=2 is equivalent to loc='upper left' at = AnchoredText("Figure 1a", - loc=2, prop=dict(size=8), frameon=True, + loc='upper left', prop=dict(size=8), frameon=True, ) at.patch.set_boxstyle("round,pad=0.,rounding_size=0.2") ax.add_artist(at) - # loc=3 is eqivalent to loc='lower left' at2 = AnchoredText("Figure 1(b)", - loc=3, prop=dict(size=8), frameon=True, + loc='lower left', prop=dict(size=8), frameon=True, bbox_to_anchor=(0., 1.), bbox_transform=ax.transAxes ) @@ -42,7 +40,7 @@ def draw_circle(ax): from mpl_toolkits.axes_grid1.anchored_artists import AnchoredDrawingArea from matplotlib.patches import Circle ada = AnchoredDrawingArea(20, 20, 0, 0, - loc=1, pad=0., frameon=False) + loc='upper right', pad=0., frameon=False) p = Circle((10, 10), 10) ada.da.add_artist(p) ax.add_artist(ada) @@ -54,7 +52,8 @@ def draw_ellipse(ax): """ from mpl_toolkits.axes_grid1.anchored_artists import AnchoredEllipse ae = AnchoredEllipse(ax.transData, width=0.1, height=0.15, angle=0., - loc=3, pad=0.5, borderpad=0.4, frameon=True) + loc='lower left', pad=0.5, borderpad=0.4, + frameon=True) ax.add_artist(ae) @@ -68,7 +67,7 @@ def draw_sizebar(ax): asb = AnchoredSizeBar(ax.transData, 0.1, r"1$^{\prime}$", - loc=8, + loc='lower center', pad=0.1, borderpad=0.5, sep=5, frameon=False) ax.add_artist(asb) diff --git a/examples/lines_bars_and_markers/markevery_prop_cycle.py b/examples/lines_bars_and_markers/markevery_prop_cycle.py index 70a7c8f52641..d39111db9142 100644 --- a/examples/lines_bars_and_markers/markevery_prop_cycle.py +++ b/examples/lines_bars_and_markers/markevery_prop_cycle.py @@ -55,7 +55,7 @@ for i in range(len(cases)): ax.plot(yy[:, i], marker='o', label=str(cases[i])) - ax.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.) + ax.legend(bbox_to_anchor=(1.05, 1), loc='upper left', borderaxespad=0.) plt.title('Support for axes.prop_cycle cycler with markevery') diff --git a/examples/lines_bars_and_markers/scatter_symbol.py b/examples/lines_bars_and_markers/scatter_symbol.py index 4b91fabb3aad..3d04490c189e 100644 --- a/examples/lines_bars_and_markers/scatter_symbol.py +++ b/examples/lines_bars_and_markers/scatter_symbol.py @@ -22,5 +22,5 @@ label="Luck") plt.xlabel("Leprechauns") plt.ylabel("Gold") -plt.legend(loc=2) +plt.legend(loc='upper left') plt.show() diff --git a/examples/lines_bars_and_markers/stackplot_demo.py b/examples/lines_bars_and_markers/stackplot_demo.py index 92a25ac79c62..27db8ebd5a8a 100644 --- a/examples/lines_bars_and_markers/stackplot_demo.py +++ b/examples/lines_bars_and_markers/stackplot_demo.py @@ -23,7 +23,7 @@ fig, ax = plt.subplots() ax.stackplot(x, y1, y2, y3, labels=labels) -ax.legend(loc=2) +ax.legend(loc='upper left') plt.show() fig, ax = plt.subplots() diff --git a/examples/misc/anchored_artists.py b/examples/misc/anchored_artists.py index 22f35d312465..42ec13d0e03e 100644 --- a/examples/misc/anchored_artists.py +++ b/examples/misc/anchored_artists.py @@ -29,8 +29,7 @@ def draw_text(ax): """ Draw a text-box anchored to the upper-left corner of the figure. """ - # loc=2 is equivalent to loc='upper left' - at = AnchoredText("Figure 1a", loc=2, frameon=True) + at = AnchoredText("Figure 1a", loc='upper left', frameon=True) at.patch.set_boxstyle("round,pad=0.,rounding_size=0.2") ax.add_artist(at) @@ -49,7 +48,7 @@ def draw_circle(ax): """ from matplotlib.patches import Circle ada = AnchoredDrawingArea(20, 20, 0, 0, - loc=1, pad=0., frameon=False) + loc='upper right', pad=0., frameon=False) p = Circle((10, 10), 10) ada.da.add_artist(p) ax.add_artist(ada) @@ -75,7 +74,8 @@ def draw_ellipse(ax): Draw an ellipse of width=0.1, height=0.15 in data coordinates """ ae = AnchoredEllipse(ax.transData, width=0.1, height=0.15, angle=0., - loc=3, pad=0.5, borderpad=0.4, frameon=True) + loc='lower left', pad=0.5, borderpad=0.4, + frameon=True) ax.add_artist(ae) @@ -111,7 +111,7 @@ def draw_sizebar(ax): asb = AnchoredSizeBar(ax.transData, 0.1, r"1$^{\prime}$", - loc=8, + loc='lower center', pad=0.1, borderpad=0.5, sep=5, frameon=False) ax.add_artist(asb) diff --git a/examples/misc/patheffect_demo.py b/examples/misc/patheffect_demo.py index 7319304e0315..0d3627ff5c4d 100644 --- a/examples/misc/patheffect_demo.py +++ b/examples/misc/patheffect_demo.py @@ -41,7 +41,7 @@ # shadow as a path effect ax3 = plt.subplot(133) p1, = ax3.plot([0, 1], [0, 1]) - leg = ax3.legend([p1], ["Line 1"], fancybox=True, loc=2) + leg = ax3.legend([p1], ["Line 1"], fancybox=True, loc='upper left') leg.legendPatch.set_path_effects([PathEffects.withSimplePatchShadow()]) plt.show() diff --git a/examples/text_labels_and_annotations/demo_text_path.py b/examples/text_labels_and_annotations/demo_text_path.py index 29720da8e3f3..f3119cb07957 100644 --- a/examples/text_labels_and_annotations/demo_text_path.py +++ b/examples/text_labels_and_annotations/demo_text_path.py @@ -81,7 +81,8 @@ def draw(self, renderer=None): offsetbox.add_artist(p) # make anchored offset box - ao = AnchoredOffsetbox(loc=2, child=offsetbox, frameon=True, borderpad=0.2) + ao = AnchoredOffsetbox(loc='upper left', child=offsetbox, frameon=True, + borderpad=0.2) ax.add_artist(ao) # another text diff --git a/examples/userdemo/anchored_box01.py b/examples/userdemo/anchored_box01.py index 3cadfec6a558..00f75c7f5518 100644 --- a/examples/userdemo/anchored_box01.py +++ b/examples/userdemo/anchored_box01.py @@ -11,7 +11,7 @@ fig, ax = plt.subplots(figsize=(3, 3)) at = AnchoredText("Figure 1a", - prop=dict(size=15), frameon=True, loc=2) + prop=dict(size=15), frameon=True, loc='upper left') at.patch.set_boxstyle("round,pad=0.,rounding_size=0.2") ax.add_artist(at) diff --git a/examples/userdemo/anchored_box02.py b/examples/userdemo/anchored_box02.py index 8aa172aaa8b8..59db0a4180a8 100644 --- a/examples/userdemo/anchored_box02.py +++ b/examples/userdemo/anchored_box02.py @@ -12,7 +12,7 @@ fig, ax = plt.subplots(figsize=(3, 3)) ada = AnchoredDrawingArea(40, 20, 0, 0, - loc=1, pad=0., frameon=False) + loc='upper right', pad=0., frameon=False) p1 = Circle((10, 10), 10) ada.drawing_area.add_artist(p1) p2 = Circle((30, 10), 5, fc="r") diff --git a/examples/userdemo/anchored_box03.py b/examples/userdemo/anchored_box03.py index 0979a84f8cab..ba673d8471a5 100644 --- a/examples/userdemo/anchored_box03.py +++ b/examples/userdemo/anchored_box03.py @@ -11,7 +11,7 @@ fig, ax = plt.subplots(figsize=(3, 3)) -box = AnchoredAuxTransformBox(ax.transData, loc=2) +box = AnchoredAuxTransformBox(ax.transData, loc='upper left') el = Ellipse((0, 0), width=0.1, height=0.4, angle=30) # in data coordinates! box.drawing_area.add_artist(el) diff --git a/examples/userdemo/anchored_box04.py b/examples/userdemo/anchored_box04.py index d934c6764150..d641e7a18ac4 100644 --- a/examples/userdemo/anchored_box04.py +++ b/examples/userdemo/anchored_box04.py @@ -26,7 +26,7 @@ align="center", pad=0, sep=5) -anchored_box = AnchoredOffsetbox(loc=3, +anchored_box = AnchoredOffsetbox(loc='lower left', child=box, pad=0., frameon=True, bbox_to_anchor=(0., 1.02), diff --git a/examples/userdemo/simple_legend01.py b/examples/userdemo/simple_legend01.py index 32338a692d77..9e178af9be5b 100644 --- a/examples/userdemo/simple_legend01.py +++ b/examples/userdemo/simple_legend01.py @@ -12,13 +12,13 @@ plt.plot([3, 2, 1], label="test2") # Place a legend above this subplot, expanding itself to # fully use the given bounding box. -plt.legend(bbox_to_anchor=(0., 1.02, 1., .102), loc=3, +plt.legend(bbox_to_anchor=(0., 1.02, 1., .102), loc='lower left', ncol=2, mode="expand", borderaxespad=0.) plt.subplot(223) plt.plot([1, 2, 3], label="test1") plt.plot([3, 2, 1], label="test2") # Place a legend to the right of this smaller subplot. -plt.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.) +plt.legend(bbox_to_anchor=(1.05, 1), loc='upper left', borderaxespad=0.) plt.show() diff --git a/examples/userdemo/simple_legend02.py b/examples/userdemo/simple_legend02.py index 4072c9bbf278..2f9be1172572 100644 --- a/examples/userdemo/simple_legend02.py +++ b/examples/userdemo/simple_legend02.py @@ -12,12 +12,12 @@ line2, = ax.plot([3, 2, 1], label="Line 2", linewidth=4) # Create a legend for the first line. -first_legend = ax.legend(handles=[line1], loc=1) +first_legend = ax.legend(handles=[line1], loc='upper right') # Add the legend manually to the current Axes. ax.add_artist(first_legend) # Create another legend for the second line. -ax.legend(handles=[line2], loc=4) +ax.legend(handles=[line2], loc='lower right') plt.show() diff --git a/lib/matplotlib/tests/test_bbox_tight.py b/lib/matplotlib/tests/test_bbox_tight.py index 14954271c054..46f37632e944 100644 --- a/lib/matplotlib/tests/test_bbox_tight.py +++ b/lib/matplotlib/tests/test_bbox_tight.py @@ -43,7 +43,7 @@ def test_bbox_inches_tight(): remove_text=False, savefig_kwarg={'bbox_inches': 'tight'}) def test_bbox_inches_tight_suptile_legend(): plt.plot(np.arange(10), label='a straight line') - plt.legend(bbox_to_anchor=(0.9, 1), loc=2, ) + plt.legend(bbox_to_anchor=(0.9, 1), loc='upper left') plt.title('Axis title') plt.suptitle('Figure title') diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py index 6e377505a078..1308770d36ad 100644 --- a/lib/matplotlib/tests/test_legend.py +++ b/lib/matplotlib/tests/test_legend.py @@ -28,7 +28,8 @@ def test_legend_ordereddict(): handles, labels = ax.get_legend_handles_labels() legend = collections.OrderedDict(zip(labels, handles)) - ax.legend(legend.values(), legend.keys(), loc=6, bbox_to_anchor=(1, .5)) + ax.legend(legend.values(), legend.keys(), + loc='center left', bbox_to_anchor=(1, .5)) @image_comparison(baseline_images=['legend_auto1'], remove_text=True) @@ -39,7 +40,7 @@ def test_legend_auto1(): x = np.arange(100) ax.plot(x, 50 - x, 'o', label='y=1') ax.plot(x, x - 50, 'o', label='y=-1') - ax.legend(loc=0) + ax.legend(loc='best') @image_comparison(baseline_images=['legend_auto2'], remove_text=True) @@ -50,7 +51,7 @@ def test_legend_auto2(): x = np.arange(100) b1 = ax.bar(x, x, align='edge', color='m') b2 = ax.bar(x, x[::-1], align='edge', color='g') - ax.legend([b1[0], b2[0]], ['up', 'down'], loc=0) + ax.legend([b1[0], b2[0]], ['up', 'down'], loc='best') @image_comparison(baseline_images=['legend_auto3']) @@ -63,7 +64,7 @@ def test_legend_auto3(): ax.plot(x, y, 'o-', label='line') ax.set_xlim(0.0, 1.0) ax.set_ylim(0.0, 1.0) - ax.legend(loc=0) + ax.legend(loc='best') @image_comparison(baseline_images=['legend_various_labels'], remove_text=True) @@ -74,7 +75,7 @@ def test_various_labels(): ax.plot(np.arange(4), 'o', label=1) ax.plot(np.linspace(4, 4.1), 'o', label='Développés') ax.plot(np.arange(4, 1, -1), 'o', label='__nolegend__') - ax.legend(numpoints=1, loc=0) + ax.legend(numpoints=1, loc='best') @image_comparison(baseline_images=['legend_labels_first'], extensions=['png'], @@ -86,7 +87,7 @@ def test_labels_first(): ax.plot(np.arange(10), '-o', label=1) ax.plot(np.ones(10)*5, ':x', label="x") ax.plot(np.arange(20, 10, -1), 'd', label="diamond") - ax.legend(loc=0, markerfirst=False) + ax.legend(loc='best', markerfirst=False) @image_comparison(baseline_images=['legend_multiple_keys'], extensions=['png'], @@ -111,7 +112,7 @@ def test_alpha_rgba(): fig, ax = plt.subplots(1, 1) ax.plot(range(10), lw=5) - leg = plt.legend(['Longlabel that will go away'], loc=10) + leg = plt.legend(['Longlabel that will go away'], loc='center') leg.legendPatch.set_facecolor([1, 0, 0, 0.5]) @@ -123,7 +124,7 @@ def test_alpha_rcparam(): fig, ax = plt.subplots(1, 1) ax.plot(range(10), lw=5) with mpl.rc_context(rc={'legend.framealpha': .75}): - leg = plt.legend(['Longlabel that will go away'], loc=10) + leg = plt.legend(['Longlabel that will go away'], loc='center') # this alpha is going to be over-ridden by the rcparam with # sets the alpha of the patch to be non-None which causes the alpha # value of the face color to be discarded. This behavior may not be @@ -177,12 +178,12 @@ def test_legend_expand(): x = np.arange(100) for ax, mode in zip(axes_list, legend_modes): ax.plot(x, 50 - x, 'o', label='y=1') - l1 = ax.legend(loc=2, mode=mode) + l1 = ax.legend(loc='upper left', mode=mode) ax.add_artist(l1) ax.plot(x, x - 50, 'o', label='y=-1') - l2 = ax.legend(loc=5, mode=mode) + l2 = ax.legend(loc='right', mode=mode) ax.add_artist(l2) - ax.legend(loc=3, mode=mode, ncol=2) + ax.legend(loc='lower left', mode=mode, ncol=2) @image_comparison(baseline_images=['hatching'], remove_text=True, @@ -370,7 +371,7 @@ def test_legend_stackplot(): ax.stackplot(x, y1, y2, y3, labels=['y1', 'y2', 'y3']) ax.set_xlim((0, 10)) ax.set_ylim((0, 70)) - ax.legend(loc=0) + ax.legend(loc='best') def test_cross_figure_patch_legend(): diff --git a/lib/matplotlib/tests/test_offsetbox.py b/lib/matplotlib/tests/test_offsetbox.py index 8315701bf9b9..c9aff6ec616d 100644 --- a/lib/matplotlib/tests/test_offsetbox.py +++ b/lib/matplotlib/tests/test_offsetbox.py @@ -27,7 +27,7 @@ def test_offsetbox_clipping(): color='black', linewidth=10) anchored_box = AnchoredOffsetbox( - loc=10, + loc='center', child=da, pad=0., frameon=False, @@ -61,7 +61,7 @@ def test_offsetbox_clip_children(): color='black', linewidth=10) anchored_box = AnchoredOffsetbox( - loc=10, + loc='center', child=da, pad=0., frameon=False, diff --git a/lib/matplotlib/tests/test_patheffects.py b/lib/matplotlib/tests/test_patheffects.py index 9e547b03e05b..98b64d149b42 100644 --- a/lib/matplotlib/tests/test_patheffects.py +++ b/lib/matplotlib/tests/test_patheffects.py @@ -50,7 +50,7 @@ def test_patheffect3(): path_effects.Normal()]) plt.title(r'testing$^{123}$', path_effects=[path_effects.withStroke(linewidth=1, foreground="r")]) - leg = plt.legend([p1], [r'Line 1$^2$'], fancybox=True, loc=2) + leg = plt.legend([p1], [r'Line 1$^2$'], fancybox=True, loc='upper left') leg.legendPatch.set_path_effects([path_effects.withSimplePatchShadow()]) text = plt.text(2, 3, 'Drop test', color='white', diff --git a/lib/matplotlib/tests/test_tightlayout.py b/lib/matplotlib/tests/test_tightlayout.py index 887f7a4c9418..561635e8bf59 100644 --- a/lib/matplotlib/tests/test_tightlayout.py +++ b/lib/matplotlib/tests/test_tightlayout.py @@ -211,7 +211,7 @@ def add_offsetboxes(ax, size=10, margin=.1, color='black'): da.add_artist(background) anchored_box = AnchoredOffsetbox( - loc=10, + loc='center', child=da, pad=0., frameon=False, diff --git a/lib/mpl_toolkits/axes_grid1/anchored_artists.py b/lib/mpl_toolkits/axes_grid1/anchored_artists.py index ddbba90c59cf..6aee423bcf1f 100644 --- a/lib/mpl_toolkits/axes_grid1/anchored_artists.py +++ b/lib/mpl_toolkits/axes_grid1/anchored_artists.py @@ -73,7 +73,8 @@ def __init__(self, width, height, xdescent, ydescent, To display blue and red circles of different sizes in the upper right of an axes *ax*: - >>> ada = AnchoredDrawingArea(20, 20, 0, 0, loc=1, frameon=False) + >>> ada = AnchoredDrawingArea(20, 20, 0, 0, + ... loc='upper right', frameon=False) >>> ada.drawing_area.add_artist(Circle((10, 10), 10, fc="b")) >>> ada.drawing_area.add_artist(Circle((30, 10), 5, fc="r")) >>> ax.add_artist(ada) @@ -146,7 +147,7 @@ def __init__(self, transform, loc, To display an ellipse in the upper left, with a width of 0.1 and height of 0.4 in data coordinates: - >>> box = AnchoredAuxTransformBox(ax.transData, loc=2) + >>> box = AnchoredAuxTransformBox(ax.transData, loc='upper left') >>> el = Ellipse((0,0), width=0.1, height=0.4, angle=30) >>> box.drawing_area.add_artist(el) >>> ax.add_artist(box) diff --git a/lib/mpl_toolkits/axes_grid1/inset_locator.py b/lib/mpl_toolkits/axes_grid1/inset_locator.py index b1b8bc57cc21..75a6a90d7bb7 100644 --- a/lib/mpl_toolkits/axes_grid1/inset_locator.py +++ b/lib/mpl_toolkits/axes_grid1/inset_locator.py @@ -383,7 +383,7 @@ def _add_inset_axes(parent_axes, inset_axes): @docstring.dedent_interpd -def inset_axes(parent_axes, width, height, loc=1, +def inset_axes(parent_axes, width, height, loc='upper right', bbox_to_anchor=None, bbox_transform=None, axes_class=None, axes_kwargs=None, @@ -470,7 +470,7 @@ def inset_axes(parent_axes, width, height, loc=1, @docstring.dedent_interpd -def zoomed_inset_axes(parent_axes, zoom, loc=1, +def zoomed_inset_axes(parent_axes, zoom, loc='upper right', bbox_to_anchor=None, bbox_transform=None, axes_class=None, axes_kwargs=None, diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py index 2d4556bf57af..685f103930b9 100644 --- a/lib/mpl_toolkits/tests/test_axes_grid1.py +++ b/lib/mpl_toolkits/tests/test_axes_grid1.py @@ -136,7 +136,7 @@ def get_demo_image(): ax.imshow(Z2, extent=extent, interpolation="nearest", origin="lower") - axins = zoomed_inset_axes(ax, 6, loc=1) # zoom = 6 + axins = zoomed_inset_axes(ax, zoom=6, loc='upper right') axins.imshow(Z2, extent=extent, interpolation="nearest", origin="lower") axins.yaxis.get_major_locator().set_params(nbins=7) @@ -156,7 +156,7 @@ def get_demo_image(): asb = AnchoredSizeBar(ax.transData, 0.5, '0.5', - loc=8, + loc='lower center', pad=0.1, borderpad=0.5, sep=5, frameon=False) ax.add_artist(asb) @@ -208,7 +208,7 @@ def get_demo_image(): asb = AnchoredSizeBar(ax.transData, 0.5, '0.5', - loc=8, + loc='lower center', pad=0.1, borderpad=0.5, sep=5, frameon=False) ax.add_artist(asb) @@ -250,7 +250,7 @@ def test_fill_facecolor(): p.set_clip_on(False) ax[0].add_patch(p) # set color to marked area - axins = zoomed_inset_axes(ax[0], 1, loc=1) + axins = zoomed_inset_axes(ax[0], 1, loc='upper right') axins.set_xlim(0, 0.2) axins.set_ylim(0, 0.2) plt.gca().axes.get_xaxis().set_ticks([]) @@ -267,7 +267,7 @@ def test_fill_facecolor(): p.set_clip_on(False) ax[1].add_patch(p) # set color to marked area - axins = zoomed_inset_axes(ax[1], 1, loc=1) + axins = zoomed_inset_axes(ax[1], 1, loc='upper right') axins.set_xlim(0, 0.2) axins.set_ylim(0, 0.2) plt.gca().axes.get_xaxis().set_ticks([]) @@ -284,7 +284,7 @@ def test_fill_facecolor(): p.set_clip_on(False) ax[2].add_patch(p) # set color to marked area - axins = zoomed_inset_axes(ax[2], 1, loc=1) + axins = zoomed_inset_axes(ax[2], 1, loc='upper right') axins.set_xlim(0, 0.2) axins.set_ylim(0, 0.2) plt.gca().axes.get_xaxis().set_ticks([]) @@ -301,7 +301,7 @@ def test_fill_facecolor(): p.set_clip_on(False) ax[3].add_patch(p) # marked area won't show green - axins = zoomed_inset_axes(ax[3], 1, loc=1) + axins = zoomed_inset_axes(ax[3], 1, loc='upper right') axins.set_xlim(0, 0.2) axins.set_ylim(0, 0.2) axins.get_xaxis().set_ticks([]) @@ -316,13 +316,13 @@ def test_zooming_with_inverted_axes(): fig, ax = plt.subplots() ax.plot([1, 2, 3], [1, 2, 3]) ax.axis([1, 3, 1, 3]) - inset_ax = zoomed_inset_axes(ax, zoom=2.5, loc=4) + inset_ax = zoomed_inset_axes(ax, zoom=2.5, loc='lower right') inset_ax.axis([1.1, 1.4, 1.1, 1.4]) fig, ax = plt.subplots() ax.plot([1, 2, 3], [1, 2, 3]) ax.axis([3, 1, 3, 1]) - inset_ax = zoomed_inset_axes(ax, zoom=2.5, loc=4) + inset_ax = zoomed_inset_axes(ax, zoom=2.5, loc='lower right') inset_ax.axis([1.4, 1.1, 1.4, 1.1]) diff --git a/tutorials/intermediate/legend_guide.py b/tutorials/intermediate/legend_guide.py index f8ac59143609..88ec2460e0d7 100644 --- a/tutorials/intermediate/legend_guide.py +++ b/tutorials/intermediate/legend_guide.py @@ -117,14 +117,14 @@ # Place a legend above this subplot, expanding itself to # fully use the given bounding box. -plt.legend(bbox_to_anchor=(0., 1.02, 1., .102), loc=3, +plt.legend(bbox_to_anchor=(0., 1.02, 1., .102), loc='lower left', ncol=2, mode="expand", borderaxespad=0.) plt.subplot(223) plt.plot([1, 2, 3], label="test1") plt.plot([3, 2, 1], label="test2") # Place a legend to the right of this smaller subplot. -plt.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.) +plt.legend(bbox_to_anchor=(1.05, 1), loc='upper left', borderaxespad=0.) plt.show() @@ -144,13 +144,13 @@ line2, = plt.plot([3, 2, 1], label="Line 2", linewidth=4) # Create a legend for the first line. -first_legend = plt.legend(handles=[line1], loc=1) +first_legend = plt.legend(handles=[line1], loc='upper right') # Add the legend manually to the current Axes. ax = plt.gca().add_artist(first_legend) # Create another legend for the second line. -plt.legend(handles=[line2], loc=4) +plt.legend(handles=[line2], loc='lower right') plt.show() diff --git a/tutorials/text/annotations.py b/tutorials/text/annotations.py index 3f549671649f..69d586cdf847 100644 --- a/tutorials/text/annotations.py +++ b/tutorials/text/annotations.py @@ -341,7 +341,7 @@ from matplotlib.offsetbox import AnchoredText at = AnchoredText("Figure 1a", prop=dict(size=15), frameon=True, - loc=2, + loc='upper left', ) at.patch.set_boxstyle("round,pad=0.,rounding_size=0.2") ax.add_artist(at) @@ -370,7 +370,7 @@ from mpl_toolkits.axes_grid1.anchored_artists import AnchoredDrawingArea ada = AnchoredDrawingArea(20, 20, 0, 0, - loc=1, pad=0., frameon=False) + loc='upper right', pad=0., frameon=False) p1 = Circle((10, 10), 10) ada.drawing_area.add_artist(p1) p2 = Circle((30, 10), 5, fc="r") @@ -396,7 +396,7 @@ from mpl_toolkits.axes_grid1.anchored_artists import AnchoredAuxTransformBox - box = AnchoredAuxTransformBox(ax.transData, loc=2) + box = AnchoredAuxTransformBox(ax.transData, loc='upper left') el = Ellipse((0,0), width=0.1, height=0.4, angle=30) # in data coordinates! box.drawing_area.add_artist(el) diff --git a/tutorials/toolkits/axes_grid.py b/tutorials/toolkits/axes_grid.py index 7b4ad9f3eda1..5cca8dc269df 100644 --- a/tutorials/toolkits/axes_grid.py +++ b/tutorials/toolkits/axes_grid.py @@ -341,7 +341,7 @@ inset_axes = inset_axes(parent_axes, width="30%", # width = 30% of parent_bbox height=1., # height : 1 inch - loc=3) + loc='lower left') creates an inset axes whose width is 30% of the parent axes and whose height is fixed at 1 inch. @@ -352,7 +352,7 @@ inset_axes = zoomed_inset_axes(ax, 0.5, # zoom = 0.5 - loc=1) + loc='upper right') creates an inset axes whose data scale is half of the parent axes. Here is complete examples. From 425823e7417ed8a3a96761d9305338a19e51e723 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sun, 6 May 2018 01:11:25 +0200 Subject: [PATCH 0606/1161] Allow creating empty closed paths --- lib/matplotlib/path.py | 2 +- lib/matplotlib/tests/test_path.py | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/path.py b/lib/matplotlib/path.py index 1d248c401b77..8def34d724e5 100644 --- a/lib/matplotlib/path.py +++ b/lib/matplotlib/path.py @@ -137,7 +137,7 @@ def __init__(self, vertices, codes=None, _interpolation_steps=1, if len(codes) and codes[0] != self.MOVETO: raise ValueError("The first element of 'code' must be equal " "to 'MOVETO' ({})".format(self.MOVETO)) - elif closed: + elif closed and len(vertices): codes = np.empty(len(vertices), dtype=self.code_type) codes[0] = self.MOVETO codes[1:-1] = self.LINETO diff --git a/lib/matplotlib/tests/test_path.py b/lib/matplotlib/tests/test_path.py index bb4c3eb38bbf..fe9067b635c7 100644 --- a/lib/matplotlib/tests/test_path.py +++ b/lib/matplotlib/tests/test_path.py @@ -12,6 +12,12 @@ from matplotlib import transforms +def test_empty_closed_path(): + path = Path(np.zeros((0, 2)), closed=True) + assert path.vertices.shape == (0, 2) + assert path.codes is None + + def test_readonly_path(): path = Path.unit_circle() From edc3c8dbff44ba2ace9331c602a596b1673fd365 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sun, 28 Jan 2018 12:47:30 -0800 Subject: [PATCH 0607/1161] Pass explicit font paths to fontspec in backend_pgf. --- .../2018-02-15-AL-deprecations.rst | 1 + lib/matplotlib/backends/backend_pgf.py | 54 ++++++------------- 2 files changed, 17 insertions(+), 38 deletions(-) diff --git a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst index d8a60750c1d1..51198eef7a4e 100644 --- a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst +++ b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst @@ -11,6 +11,7 @@ The following modules are deprecated: The following classes, methods, functions, and attributes are deprecated: - ``afm.parse_afm``, +- ``backend_pgf.get_texcommand``, - ``backend_qt5.error_msg_qt``, ``backend_qt5.exception_handler``, - ``backend_wx.FigureCanvasWx.macros``, - ``cbook.GetRealpathAndStat``, ``cbook.Locked``, diff --git a/lib/matplotlib/backends/backend_pgf.py b/lib/matplotlib/backends/backend_pgf.py index 4ddeb6884516..02e214655db0 100644 --- a/lib/matplotlib/backends/backend_pgf.py +++ b/lib/matplotlib/backends/backend_pgf.py @@ -4,6 +4,7 @@ import logging import math import os +from pathlib import Path import re import shutil import subprocess @@ -13,7 +14,7 @@ import weakref import matplotlib as mpl -from matplotlib import _png, rcParams, __version__ +from matplotlib import _png, cbook, font_manager as fm, __version__, rcParams from matplotlib.backend_bases import ( _Backend, FigureCanvasBase, FigureManagerBase, GraphicsContextBase, RendererBase) @@ -28,33 +29,13 @@ ############################################################################### -# create a list of system fonts, all of these should work with xe/lua-latex -system_fonts = [] -if sys.platform == 'win32': - from matplotlib import font_manager - for f in font_manager.win32InstalledFonts(): - try: - system_fonts.append(font_manager.get_font(str(f)).family_name) - except: - pass # unknown error, skip this font -else: - # assuming fontconfig is installed and the command 'fc-list' exists - try: - # list scalable (non-bitmap) fonts - fc_list = subprocess.check_output( - ['fc-list', ':outline,scalable', 'family']) - fc_list = fc_list.decode('utf8') - system_fonts = [f.split(',')[0] for f in fc_list.splitlines()] - system_fonts = list(set(system_fonts)) - except: - warnings.warn('error getting fonts from fc-list', UserWarning) - _luatex_version_re = re.compile( r'This is LuaTeX, Version (?:beta-)?([0-9]+)\.([0-9]+)\.([0-9]+)' ) +@cbook.deprecated("3.0") def get_texcommand(): """Get chosen TeX system from rc.""" texsystem_options = ["xelatex", "lualatex", "pdflatex"] @@ -77,23 +58,20 @@ def _parse_lualatex_version(output): def get_fontspec(): """Build fontspec preamble from rc.""" latex_fontspec = [] - texcommand = get_texcommand() + texcommand = rcParams["pgf.texsystem"] if texcommand != "pdflatex": latex_fontspec.append("\\usepackage{fontspec}") if texcommand != "pdflatex" and rcParams["pgf.rcfonts"]: - # try to find fonts from rc parameters - families = ["serif", "sans-serif", "monospace"] - fontspecs = [r"\setmainfont{%s}", r"\setsansfont{%s}", - r"\setmonofont{%s}"] - for family, fontspec in zip(families, fontspecs): - matches = [f for f in rcParams["font." + family] - if f in system_fonts] - if matches: - latex_fontspec.append(fontspec % matches[0]) - else: - pass # no fonts found, fallback to LaTeX defaule + families = ["serif", "sans\\-serif", "monospace"] + commands = ["setmainfont", "setsansfont", "setmonofont"] + for family, command in zip(families, commands): + # 1) Forward slashes also work on Windows, so don't mess with + # backslashes. 2) The dirname needs to include a separator. + path = Path(fm.findfont(family)) + latex_fontspec.append(r"\%s{%s}[Path=%s]" % ( + command, path.name, path.parent.as_posix() + "/")) return "\n".join(latex_fontspec) @@ -163,7 +141,7 @@ def _font_properties_str(prop): family = prop.get_family()[0] if family in families: commands.append(families[family]) - elif family in system_fonts and get_texcommand() != "pdflatex": + elif family in system_fonts and rcParams["pgf.texsystem"] != "pdflatex": commands.append(r"\setmainfont{%s}\rmfamily" % family) else: pass # print warning? @@ -232,7 +210,7 @@ class LatexManagerFactory: @staticmethod def get_latex_manager(): - texcommand = get_texcommand() + texcommand = rcParams["pgf.texsystem"] latex_header = LatexManager._build_latex_header() prev = LatexManagerFactory.previous_instance @@ -307,7 +285,7 @@ def __init__(self): LatexManager._unclean_instances.add(self) # test the LaTeX setup to ensure a clean startup of the subprocess - self.texcommand = get_texcommand() + self.texcommand = rcParams["pgf.texsystem"] self.latex_header = LatexManager._build_latex_header() latex_end = "\n\\makeatletter\n\\@@end\n" try: @@ -909,7 +887,7 @@ def _print_pdf_to_fh(self, fh, *args, **kwargs): with codecs.open(fname_tex, "w", "utf-8") as fh_tex: fh_tex.write(latexcode) - texcommand = get_texcommand() + texcommand = rcParams["pgf.texsystem"] cmdargs = [texcommand, "-interaction=nonstopmode", "-halt-on-error", "figure.tex"] try: From c0df144c8d6d95652209d780043e3061dd799c30 Mon Sep 17 00:00:00 2001 From: Zac-HD <zac.hatfield.dodds@gmail.com> Date: Sun, 6 May 2018 22:26:41 +1000 Subject: [PATCH 0608/1161] Use context manager instead of FocusManager class Because relying on garbage collection of unused variables for correctness is crazy, and could easily give implementation-specific behaviour (eg broken on PyPy) or outright break if collection is delayed substantially after the variable goes out of scope. --- lib/matplotlib/backends/_backend_tk.py | 95 +++++++++++++++----------- lib/matplotlib/backends/windowing.py | 6 +- 2 files changed, 60 insertions(+), 41 deletions(-) diff --git a/lib/matplotlib/backends/_backend_tk.py b/lib/matplotlib/backends/_backend_tk.py index 85d42eb437dc..601e5fb6e2cf 100644 --- a/lib/matplotlib/backends/_backend_tk.py +++ b/lib/matplotlib/backends/_backend_tk.py @@ -6,12 +6,11 @@ import sys import tkinter as Tk from tkinter.simpledialog import SimpleDialog +from contextlib import contextmanager import numpy as np from . import _tkagg -from matplotlib.backends.backend_agg import FigureCanvasAgg -import matplotlib.backends.windowing as windowing import matplotlib from matplotlib import backend_tools, rcParams @@ -23,6 +22,22 @@ from matplotlib.figure import Figure from matplotlib.widgets import SubplotTool +try: + from matplotlib._windowing import GetForegroundWindow, SetForegroundWindow +except ImportError: + @contextmanager + def _restore_foreground_window_at_end(): + yield +else: + @contextmanager + def _restore_foreground_window_at_end(): + foreground = GetForegroundWindow() + try: + yield + finally: + if rcParams['tk.window_focus']: + SetForegroundWindow(foreground) + _log = logging.getLogger(__name__) @@ -540,19 +555,19 @@ def show(self): this function doesn't segfault but causes the PyEval_RestoreThread: NULL state bug on win32 """ - _focus = windowing.FocusManager() - if not self._shown: - def destroy(*args): - self.window = None - Gcf.destroy(self._num) - self.canvas._tkcanvas.bind("<Destroy>", destroy) - self.window.deiconify() - else: - self.canvas.draw_idle() - # Raise the new window. - self.canvas.manager.window.attributes('-topmost', 1) - self.canvas.manager.window.attributes('-topmost', 0) - self._shown = True + with _restore_foreground_window_at_end(): + if not self._shown: + def destroy(*args): + self.window = None + Gcf.destroy(self._num) + self.canvas._tkcanvas.bind("<Destroy>", destroy) + self.window.deiconify() + else: + self.canvas.draw_idle() + # Raise the new window. + self.canvas.manager.window.attributes('-topmost', 1) + self.canvas.manager.window.attributes('-topmost', 0) + self._shown = True def destroy(self, *args): if self.window is not None: @@ -716,9 +731,9 @@ def set_active(self, ind): self._active = [self._axes[i] for i in self._ind] def update(self): - _focus = windowing.FocusManager() self._axes = self.canvas.figure.axes - NavigationToolbar2.update(self) + with _restore_foreground_window_at_end(): + NavigationToolbar2.update(self) class ToolTip(object): @@ -989,29 +1004,29 @@ def new_figure_manager_given_figure(cls, num, figure): """ Create a new figure manager instance for the given figure. """ - _focus = windowing.FocusManager() - window = Tk.Tk(className="matplotlib") - window.withdraw() - - # Put a mpl icon on the window rather than the default tk icon. - # Tkinter doesn't allow colour icons on linux systems, but tk>=8.5 has - # a iconphoto command which we call directly. Source: - # http://mail.python.org/pipermail/tkinter-discuss/2006-November/000954.html - icon_fname = os.path.join( - rcParams['datapath'], 'images', 'matplotlib.ppm') - icon_img = Tk.PhotoImage(file=icon_fname) - try: - window.tk.call('wm', 'iconphoto', window._w, icon_img) - except Exception as exc: - # log the failure (due e.g. to Tk version), but carry on - _log.info('Could not load matplotlib icon: %s', exc) - - canvas = cls.FigureCanvas(figure, master=window) - manager = cls.FigureManager(canvas, num, window) - if matplotlib.is_interactive(): - manager.show() - canvas.draw_idle() - return manager + with _restore_foreground_window_at_end(): + window = Tk.Tk(className="matplotlib") + window.withdraw() + + # Put a mpl icon on the window rather than the default tk icon. + # Tkinter doesn't allow colour icons on linux systems, but tk>=8.5 has + # a iconphoto command which we call directly. Source: + # http://mail.python.org/pipermail/tkinter-discuss/2006-November/000954.html + icon_fname = os.path.join( + rcParams['datapath'], 'images', 'matplotlib.ppm') + icon_img = Tk.PhotoImage(file=icon_fname) + try: + window.tk.call('wm', 'iconphoto', window._w, icon_img) + except Exception as exc: + # log the failure (due e.g. to Tk version), but carry on + _log.info('Could not load matplotlib icon: %s', exc) + + canvas = cls.FigureCanvas(figure, master=window) + manager = cls.FigureManager(canvas, num, window) + if matplotlib.is_interactive(): + manager.show() + canvas.draw_idle() + return manager @staticmethod def trigger_manager_draw(manager): diff --git a/lib/matplotlib/backends/windowing.py b/lib/matplotlib/backends/windowing.py index 633084a477cf..b989f2d431f6 100644 --- a/lib/matplotlib/backends/windowing.py +++ b/lib/matplotlib/backends/windowing.py @@ -5,9 +5,13 @@ effectively disabled. It uses a tiny C++ extension module to access MS Win functions. + +This module is deprecated and will be removed in version 3.2 """ -from matplotlib import rcParams +from matplotlib import rcParams, cbook + +cbook.warn_deprecated('3.0', obj_type='module', name='backends.windowing') try: if not rcParams['tk.window_focus']: From 3edc9827f641d08cac67ce24f0bc94dbb4ca5025 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Wed, 21 Jun 2017 21:01:55 -0700 Subject: [PATCH 0609/1161] cairo: Don't copy the ravelled image. flatten() always makes a copy, whereas ravel() does not. --- lib/matplotlib/backends/backend_cairo.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/backends/backend_cairo.py b/lib/matplotlib/backends/backend_cairo.py index 3836281ad1c8..c40c1a681df5 100644 --- a/lib/matplotlib/backends/backend_cairo.py +++ b/lib/matplotlib/backends/backend_cairo.py @@ -233,12 +233,12 @@ def draw_image(self, gc, x, y, im): # on ctypes to get a pointer to the numpy array. This works # correctly on a numpy array in python3 but not 2.7. We replicate # the array.array functionality here to get cross version support. - imbuffer = ArrayWrapper(im.flatten()) + imbuffer = ArrayWrapper(im.ravel()) else: - # pycairo uses PyObject_AsWriteBuffer to get a pointer to the + # py2cairo uses PyObject_AsWriteBuffer to get a pointer to the # numpy array; this works correctly on a regular numpy array but - # not on a py2 memoryview. - imbuffer = im.flatten() + # not on a memory view. + imbuffer = im.ravel() surface = cairo.ImageSurface.create_for_data( imbuffer, cairo.FORMAT_ARGB32, im.shape[1], im.shape[0], im.shape[1]*4) From b549d12b7f54b9849a2bc043a450741fe68b9be0 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Wed, 21 Jun 2017 22:22:07 -0700 Subject: [PATCH 0610/1161] cairo: save a pair of ctx.save/ctx.restore. The removed pair of ctx.save and ctx.restore was clearly unnecessary (the outer one is still there, and the font is reset at each loop iteration). --- lib/matplotlib/backends/backend_cairo.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib/matplotlib/backends/backend_cairo.py b/lib/matplotlib/backends/backend_cairo.py index c40c1a681df5..6b60bc344eff 100644 --- a/lib/matplotlib/backends/backend_cairo.py +++ b/lib/matplotlib/backends/backend_cairo.py @@ -299,7 +299,6 @@ def _draw_mathtext(self, gc, x, y, s, prop, angle): ctx.move_to(ox, oy) fontProp = ttfFontProperty(font) - ctx.save() ctx.select_font_face(fontProp.name, self.fontangles[fontProp.style], self.fontweights[fontProp.weight]) @@ -309,7 +308,6 @@ def _draw_mathtext(self, gc, x, y, s, prop, angle): if not six.PY3 and isinstance(s, six.text_type): s = s.encode("utf-8") ctx.show_text(s) - ctx.restore() for ox, oy, w, h in rects: ctx.new_path() From 8a07eefa7dcd0360a873f87d37819376f4b4c35b Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Wed, 21 Jun 2017 14:32:42 -0700 Subject: [PATCH 0611/1161] Faster path drawing with cairocffi. Improves the performance of mplot3d/wire3d_animation on the gtk3cairo backend from ~8.3fps to ~10.5fps (as a comparison, gtk3agg is at ~16.2fps). --- lib/matplotlib/backends/backend_cairo.py | 125 +++++++++++++++++------ 1 file changed, 92 insertions(+), 33 deletions(-) diff --git a/lib/matplotlib/backends/backend_cairo.py b/lib/matplotlib/backends/backend_cairo.py index 6b60bc344eff..328c61eaffa8 100644 --- a/lib/matplotlib/backends/backend_cairo.py +++ b/lib/matplotlib/backends/backend_cairo.py @@ -79,6 +79,87 @@ def buffer_info(self): return (self.__data, self.__size) +# Mapping from Matplotlib Path codes to cairo path codes. +_MPL_TO_CAIRO_PATH_TYPE = np.zeros(80, dtype=int) # CLOSEPOLY = 79. +_MPL_TO_CAIRO_PATH_TYPE[Path.MOVETO] = cairo.PATH_MOVE_TO +_MPL_TO_CAIRO_PATH_TYPE[Path.LINETO] = cairo.PATH_LINE_TO +_MPL_TO_CAIRO_PATH_TYPE[Path.CURVE4] = cairo.PATH_CURVE_TO +_MPL_TO_CAIRO_PATH_TYPE[Path.CLOSEPOLY] = cairo.PATH_CLOSE_PATH +# Sizes in cairo_path_data_t of each cairo path element. +_CAIRO_PATH_TYPE_SIZES = np.zeros(4, dtype=int) +_CAIRO_PATH_TYPE_SIZES[cairo.PATH_MOVE_TO] = 2 +_CAIRO_PATH_TYPE_SIZES[cairo.PATH_LINE_TO] = 2 +_CAIRO_PATH_TYPE_SIZES[cairo.PATH_CURVE_TO] = 4 +_CAIRO_PATH_TYPE_SIZES[cairo.PATH_CLOSE_PATH] = 1 + + +def _convert_path(ctx, path, transform, clip=None): + if HAS_CAIRO_CFFI: + try: + return _convert_path_fast(ctx, path, transform, clip) + except NotImplementedError: + pass + return _convert_path_slow(ctx, path, transform, clip) + + +def _convert_path_slow(ctx, path, transform, clip=None): + for points, code in path.iter_segments(transform, clip=clip): + if code == Path.MOVETO: + ctx.move_to(*points) + elif code == Path.CLOSEPOLY: + ctx.close_path() + elif code == Path.LINETO: + ctx.line_to(*points) + elif code == Path.CURVE3: + ctx.curve_to(points[0], points[1], + points[0], points[1], + points[2], points[3]) + elif code == Path.CURVE4: + ctx.curve_to(*points) + + +def _convert_path_fast(ctx, path, transform, clip=None): + ffi = cairo.ffi + cleaned = path.cleaned(transform=transform, clip=clip) + vertices = cleaned.vertices + codes = cleaned.codes + + # TODO: Implement Bezier degree elevation formula. Note that the "slow" + # implementation is, in fact, also incorrect... + if np.any(codes == Path.CURVE3): + raise NotImplementedError("Quadratic Bezier curves are not supported") + # Remove unused vertices and convert to cairo codes. Note that unlike + # cairo_close_path, we do not explicitly insert an extraneous MOVE_TO after + # CLOSE_PATH, so our resulting buffer may be smaller. + if codes[-1] == Path.STOP: + codes = codes[:-1] + vertices = vertices[:-1] + vertices = vertices[codes != Path.CLOSEPOLY] + codes = _MPL_TO_CAIRO_PATH_TYPE[codes] + # Where are the headers of each cairo portions? + cairo_type_sizes = _CAIRO_PATH_TYPE_SIZES[codes] + cairo_type_positions = np.insert(np.cumsum(cairo_type_sizes), 0, 0) + cairo_num_data = cairo_type_positions[-1] + cairo_type_positions = cairo_type_positions[:-1] + + # Fill the buffer. + buf = np.empty(cairo_num_data * 16, np.uint8) + as_int = np.frombuffer(buf.data, np.int32) + as_float = np.frombuffer(buf.data, np.float64) + mask = np.ones_like(as_float, bool) + as_int[::4][cairo_type_positions] = codes + as_int[1::4][cairo_type_positions] = cairo_type_sizes + mask[::2][cairo_type_positions] = mask[1::2][cairo_type_positions] = False + as_float[mask] = vertices.ravel() + + # Construct the cairo_path_t, and pass it to the context. + ptr = ffi.new("cairo_path_t *") + ptr.status = cairo.STATUS_SUCCESS + ptr.data = ffi.cast("cairo_path_data_t *", ffi.from_buffer(buf)) + ptr.num_data = cairo_num_data + cairo.cairo.cairo_append_path(ctx._pointer, ptr) + + class RendererCairo(RendererBase): fontweights = { 100 : cairo.FONT_WEIGHT_NORMAL, @@ -138,38 +219,16 @@ def _fill_and_stroke(self, ctx, fill_c, alpha, alpha_overrides): ctx.restore() ctx.stroke() - @staticmethod - def convert_path(ctx, path, transform, clip=None): - for points, code in path.iter_segments(transform, clip=clip): - if code == Path.MOVETO: - ctx.move_to(*points) - elif code == Path.CLOSEPOLY: - ctx.close_path() - elif code == Path.LINETO: - ctx.line_to(*points) - elif code == Path.CURVE3: - ctx.curve_to(points[0], points[1], - points[0], points[1], - points[2], points[3]) - elif code == Path.CURVE4: - ctx.curve_to(*points) - def draw_path(self, gc, path, transform, rgbFace=None): ctx = gc.ctx - - # We'll clip the path to the actual rendering extents - # if the path isn't filled. - if rgbFace is None and gc.get_hatch() is None: - clip = ctx.clip_extents() - else: - clip = None - + # Clip the path to the actual rendering extents if it isn't filled. + clip = (ctx.clip_extents() + if rgbFace is None and gc.get_hatch() is None + else None) transform = (transform - + Affine2D().scale(1.0, -1.0).translate(0, self.height)) - + + Affine2D().scale(1, -1).translate(0, self.height)) ctx.new_path() - self.convert_path(ctx, path, transform, clip) - + _convert_path(ctx, path, transform, clip) self._fill_and_stroke( ctx, rgbFace, gc.get_alpha(), gc.get_forced_alpha()) @@ -179,8 +238,8 @@ def draw_markers(self, gc, marker_path, marker_trans, path, transform, ctx.new_path() # Create the path for the marker; it needs to be flipped here already! - self.convert_path( - ctx, marker_path, marker_trans + Affine2D().scale(1.0, -1.0)) + _convert_path( + ctx, marker_path, marker_trans + Affine2D().scale(1, -1)) marker_path = ctx.copy_path_flat() # Figure out whether the path has a fill @@ -193,7 +252,7 @@ def draw_markers(self, gc, marker_path, marker_trans, path, transform, filled = True transform = (transform - + Affine2D().scale(1.0, -1.0).translate(0, self.height)) + + Affine2D().scale(1, -1).translate(0, self.height)) ctx.new_path() for i, (vertices, codes) in enumerate( @@ -247,7 +306,7 @@ def draw_image(self, gc, x, y, im): ctx.save() ctx.set_source_surface(surface, float(x), float(y)) - if gc.get_alpha() != 1.0: + if gc.get_alpha() != 1: ctx.paint_with_alpha(gc.get_alpha()) else: ctx.paint() @@ -413,7 +472,7 @@ def set_clip_path(self, path): ctx.new_path() affine = (affine + Affine2D().scale(1, -1).translate(0, self.renderer.height)) - RendererCairo.convert_path(ctx, tpath, affine) + _convert_path(ctx, tpath, affine) ctx.clip() def set_dashes(self, offset, dashes): From 52ed746afacac0a9b8c5a4ff138476599689f86c Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Wed, 21 Jun 2017 15:48:16 -0700 Subject: [PATCH 0612/1161] Implement draw_path_collection for cairo. Further increase the performance of mplot3d/wire3d_animation on the gtk3cairo backend from ~10.5fps to ~11.6fps (as a comparison, gtk3agg is at ~16.2fps). --- lib/matplotlib/backends/backend_cairo.py | 109 +++++++++++++++++------ 1 file changed, 81 insertions(+), 28 deletions(-) diff --git a/lib/matplotlib/backends/backend_cairo.py b/lib/matplotlib/backends/backend_cairo.py index 328c61eaffa8..c6296bdd1312 100644 --- a/lib/matplotlib/backends/backend_cairo.py +++ b/lib/matplotlib/backends/backend_cairo.py @@ -9,6 +9,7 @@ import six +import copy import gzip import sys import warnings @@ -94,35 +95,41 @@ def buffer_info(self): def _convert_path(ctx, path, transform, clip=None): + return _convert_paths(ctx, [path], [transform], clip) + + +def _convert_paths(ctx, paths, transforms, clip=None): if HAS_CAIRO_CFFI: try: - return _convert_path_fast(ctx, path, transform, clip) + return _convert_paths_fast(ctx, paths, transforms, clip) except NotImplementedError: pass - return _convert_path_slow(ctx, path, transform, clip) - - -def _convert_path_slow(ctx, path, transform, clip=None): - for points, code in path.iter_segments(transform, clip=clip): - if code == Path.MOVETO: - ctx.move_to(*points) - elif code == Path.CLOSEPOLY: - ctx.close_path() - elif code == Path.LINETO: - ctx.line_to(*points) - elif code == Path.CURVE3: - ctx.curve_to(points[0], points[1], - points[0], points[1], - points[2], points[3]) - elif code == Path.CURVE4: - ctx.curve_to(*points) - - -def _convert_path_fast(ctx, path, transform, clip=None): + return _convert_paths_slow(ctx, paths, transforms, clip) + + +def _convert_paths_slow(ctx, paths, transforms, clip=None): + for path, transform in zip(paths, transforms): + for points, code in path.iter_segments(transform, clip=clip): + if code == Path.MOVETO: + ctx.move_to(*points) + elif code == Path.CLOSEPOLY: + ctx.close_path() + elif code == Path.LINETO: + ctx.line_to(*points) + elif code == Path.CURVE3: + ctx.curve_to(points[0], points[1], + points[0], points[1], + points[2], points[3]) + elif code == Path.CURVE4: + ctx.curve_to(*points) + + +def _convert_paths_fast(ctx, paths, transforms, clip=None): ffi = cairo.ffi - cleaned = path.cleaned(transform=transform, clip=clip) - vertices = cleaned.vertices - codes = cleaned.codes + cleaneds = [path.cleaned(transform=transform, clip=clip) + for path, transform in zip(paths, transforms)] + vertices = np.concatenate([cleaned.vertices for cleaned in cleaneds]) + codes = np.concatenate([cleaned.codes for cleaned in cleaneds]) # TODO: Implement Bezier degree elevation formula. Note that the "slow" # implementation is, in fact, also incorrect... @@ -131,10 +138,8 @@ def _convert_path_fast(ctx, path, transform, clip=None): # Remove unused vertices and convert to cairo codes. Note that unlike # cairo_close_path, we do not explicitly insert an extraneous MOVE_TO after # CLOSE_PATH, so our resulting buffer may be smaller. - if codes[-1] == Path.STOP: - codes = codes[:-1] - vertices = vertices[:-1] - vertices = vertices[codes != Path.CLOSEPOLY] + vertices = vertices[(codes != Path.STOP) & (codes != Path.CLOSEPOLY)] + codes = codes[codes != Path.STOP] codes = _MPL_TO_CAIRO_PATH_TYPE[codes] # Where are the headers of each cairo portions? cairo_type_sizes = _CAIRO_PATH_TYPE_SIZES[codes] @@ -280,6 +285,54 @@ def draw_markers(self, gc, marker_path, marker_trans, path, transform, self._fill_and_stroke( ctx, rgbFace, gc.get_alpha(), gc.get_forced_alpha()) + def draw_path_collection( + self, gc, master_transform, paths, all_transforms, offsets, + offsetTrans, facecolors, edgecolors, linewidths, linestyles, + antialiaseds, urls, offset_position): + + path_ids = [] + for path, transform in self._iter_collection_raw_paths( + master_transform, paths, all_transforms): + path_ids.append((path, Affine2D(transform))) + + reuse_key = None + grouped_draw = [] + + def _draw_paths(): + if not grouped_draw: + return + gc_vars, rgb_fc = reuse_key + gc = copy.copy(gc0) + vars(gc).update(gc_vars) + for k, v in gc_vars.items(): + try: + getattr(gc, "set" + k)(v) + except (AttributeError, TypeError): + pass + gc.ctx.new_path() + paths, transforms = zip(*grouped_draw) + grouped_draw.clear() + _convert_paths(gc.ctx, paths, transforms) + self._fill_and_stroke( + gc.ctx, rgb_fc, gc.get_alpha(), gc.get_forced_alpha()) + + for xo, yo, path_id, gc0, rgb_fc in self._iter_collection( + gc, master_transform, all_transforms, path_ids, offsets, + offsetTrans, facecolors, edgecolors, linewidths, linestyles, + antialiaseds, urls, offset_position): + path, transform = path_id + transform = (Affine2D(transform.get_matrix()).translate(xo, yo) + + Affine2D().scale(1, -1).translate(0, self.height)) + # rgb_fc could be a ndarray, for which equality is elementwise. + new_key = vars(gc0), tuple(rgb_fc) if rgb_fc is not None else None + if new_key == reuse_key: + grouped_draw.append((path, transform)) + else: + _draw_paths() + grouped_draw.append((path, transform)) + reuse_key = new_key + _draw_paths() + def draw_image(self, gc, x, y, im): # bbox - not currently used if sys.byteorder == 'little': From 5312461680bd6826629a7b2670f08c87ac8aec80 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Wed, 21 Jun 2017 23:39:55 -0700 Subject: [PATCH 0613/1161] Document a bit the cairo fast path. --- lib/matplotlib/backends/backend_cairo.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/backends/backend_cairo.py b/lib/matplotlib/backends/backend_cairo.py index c6296bdd1312..b5adc55822e3 100644 --- a/lib/matplotlib/backends/backend_cairo.py +++ b/lib/matplotlib/backends/backend_cairo.py @@ -125,22 +125,31 @@ def _convert_paths_slow(ctx, paths, transforms, clip=None): def _convert_paths_fast(ctx, paths, transforms, clip=None): + # We directly convert to the internal representation used by cairo, for + # which ABI compatibility is guaranteed. The layout is for each item is + # --CODE(4)-- -LENGTH(4)- ---------PAD(8)--------- + # ----------X(8)---------- ----------Y(8)---------- + # with the size in bytes in parentheses, and (X, Y) repeated as many times + # as there are points for the current code. ffi = cairo.ffi cleaneds = [path.cleaned(transform=transform, clip=clip) for path, transform in zip(paths, transforms)] vertices = np.concatenate([cleaned.vertices for cleaned in cleaneds]) codes = np.concatenate([cleaned.codes for cleaned in cleaneds]) - # TODO: Implement Bezier degree elevation formula. Note that the "slow" - # implementation is, in fact, also incorrect... + # TODO: Implement Bezier degree elevation formula. For now, fall back to + # the "slow" implementation, though note that that implementation is, in + # fact, also incorrect... if np.any(codes == Path.CURVE3): raise NotImplementedError("Quadratic Bezier curves are not supported") + # Remove unused vertices and convert to cairo codes. Note that unlike # cairo_close_path, we do not explicitly insert an extraneous MOVE_TO after # CLOSE_PATH, so our resulting buffer may be smaller. vertices = vertices[(codes != Path.STOP) & (codes != Path.CLOSEPOLY)] codes = codes[codes != Path.STOP] codes = _MPL_TO_CAIRO_PATH_TYPE[codes] + # Where are the headers of each cairo portions? cairo_type_sizes = _CAIRO_PATH_TYPE_SIZES[codes] cairo_type_positions = np.insert(np.cumsum(cairo_type_sizes), 0, 0) @@ -303,6 +312,7 @@ def _draw_paths(): return gc_vars, rgb_fc = reuse_key gc = copy.copy(gc0) + # We actually need to call the setters to reset the internal state. vars(gc).update(gc_vars) for k, v in gc_vars.items(): try: From 1a2848dc6617d8b71050ec16cb99d840b6173c6e Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Fri, 23 Jun 2017 14:06:45 -0700 Subject: [PATCH 0614/1161] Actually support quadratic Beziers. For the slow code path, implement the degree elevation formula. For the fast code path, the path cleaner was already handling this for us, converting everything to lines. --- lib/matplotlib/backends/backend_cairo.py | 27 ++++++++++-------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/lib/matplotlib/backends/backend_cairo.py b/lib/matplotlib/backends/backend_cairo.py index b5adc55822e3..824ad5f8144e 100644 --- a/lib/matplotlib/backends/backend_cairo.py +++ b/lib/matplotlib/backends/backend_cairo.py @@ -99,12 +99,8 @@ def _convert_path(ctx, path, transform, clip=None): def _convert_paths(ctx, paths, transforms, clip=None): - if HAS_CAIRO_CFFI: - try: - return _convert_paths_fast(ctx, paths, transforms, clip) - except NotImplementedError: - pass - return _convert_paths_slow(ctx, paths, transforms, clip) + return (_convert_paths_fast if HAS_CAIRO_CFFI else _convert_paths_slow)( + ctx, paths, transforms, clip) def _convert_paths_slow(ctx, paths, transforms, clip=None): @@ -117,9 +113,10 @@ def _convert_paths_slow(ctx, paths, transforms, clip=None): elif code == Path.LINETO: ctx.line_to(*points) elif code == Path.CURVE3: - ctx.curve_to(points[0], points[1], - points[0], points[1], - points[2], points[3]) + cur = ctx.get_current_point() + ctx.curve_to( + *np.concatenate([cur / 3 + points[:2] * 2 / 3, + points[:2] * 2 / 3 + points[-2:] / 3])) elif code == Path.CURVE4: ctx.curve_to(*points) @@ -132,17 +129,15 @@ def _convert_paths_fast(ctx, paths, transforms, clip=None): # with the size in bytes in parentheses, and (X, Y) repeated as many times # as there are points for the current code. ffi = cairo.ffi - cleaneds = [path.cleaned(transform=transform, clip=clip) + + # Convert curves to segment, so that 1. we don't have to handle + # variable-sized CURVE-n codes, and 2. we don't have to implement degree + # elevation for quadratic Beziers. + cleaneds = [path.cleaned(transform=transform, clip=clip, curves=False) for path, transform in zip(paths, transforms)] vertices = np.concatenate([cleaned.vertices for cleaned in cleaneds]) codes = np.concatenate([cleaned.codes for cleaned in cleaneds]) - # TODO: Implement Bezier degree elevation formula. For now, fall back to - # the "slow" implementation, though note that that implementation is, in - # fact, also incorrect... - if np.any(codes == Path.CURVE3): - raise NotImplementedError("Quadratic Bezier curves are not supported") - # Remove unused vertices and convert to cairo codes. Note that unlike # cairo_close_path, we do not explicitly insert an extraneous MOVE_TO after # CLOSE_PATH, so our resulting buffer may be smaller. From aca804f865fb08df66df0c8d97787d113013d75f Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sat, 3 Feb 2018 05:15:59 -0800 Subject: [PATCH 0615/1161] Address review comments. --- doc/api/backend_cairo_api.rst | 13 +++++++--- lib/matplotlib/backends/backend_cairo.py | 31 +++++++++++------------- 2 files changed, 23 insertions(+), 21 deletions(-) diff --git a/doc/api/backend_cairo_api.rst b/doc/api/backend_cairo_api.rst index 2623270c6781..208b5c41e0d4 100644 --- a/doc/api/backend_cairo_api.rst +++ b/doc/api/backend_cairo_api.rst @@ -2,7 +2,12 @@ :mod:`matplotlib.backends.backend_cairo` ======================================== -.. automodule:: matplotlib.backends.backend_cairo - :members: - :undoc-members: - :show-inheritance: +.. Building the docs requires either adding pycairo/cairocffi as docs build + dependency, or bumping the minimal numpy version to one that supports + MagicMocks (which does define `__index__`) as indices (recent numpys do, but + 1.7.1 doesn't). + +.. .. automodule:: matplotlib.backends.backend_cairo +.. :members: +.. :undoc-members: +.. :show-inheritance: diff --git a/lib/matplotlib/backends/backend_cairo.py b/lib/matplotlib/backends/backend_cairo.py index 824ad5f8144e..1a11dc8e1bdd 100644 --- a/lib/matplotlib/backends/backend_cairo.py +++ b/lib/matplotlib/backends/backend_cairo.py @@ -94,15 +94,6 @@ def buffer_info(self): _CAIRO_PATH_TYPE_SIZES[cairo.PATH_CLOSE_PATH] = 1 -def _convert_path(ctx, path, transform, clip=None): - return _convert_paths(ctx, [path], [transform], clip) - - -def _convert_paths(ctx, paths, transforms, clip=None): - return (_convert_paths_fast if HAS_CAIRO_CFFI else _convert_paths_slow)( - ctx, paths, transforms, clip) - - def _convert_paths_slow(ctx, paths, transforms, clip=None): for path, transform in zip(paths, transforms): for points, code in path.iter_segments(transform, clip=clip): @@ -123,7 +114,7 @@ def _convert_paths_slow(ctx, paths, transforms, clip=None): def _convert_paths_fast(ctx, paths, transforms, clip=None): # We directly convert to the internal representation used by cairo, for - # which ABI compatibility is guaranteed. The layout is for each item is + # which ABI compatibility is guaranteed. The layout for each item is # --CODE(4)-- -LENGTH(4)- ---------PAD(8)--------- # ----------X(8)---------- ----------Y(8)---------- # with the size in bytes in parentheses, and (X, Y) repeated as many times @@ -154,10 +145,10 @@ def _convert_paths_fast(ctx, paths, transforms, clip=None): # Fill the buffer. buf = np.empty(cairo_num_data * 16, np.uint8) as_int = np.frombuffer(buf.data, np.int32) - as_float = np.frombuffer(buf.data, np.float64) - mask = np.ones_like(as_float, bool) as_int[::4][cairo_type_positions] = codes as_int[1::4][cairo_type_positions] = cairo_type_sizes + as_float = np.frombuffer(buf.data, np.float64) + mask = np.ones_like(as_float, bool) mask[::2][cairo_type_positions] = mask[1::2][cairo_type_positions] = False as_float[mask] = vertices.ravel() @@ -169,6 +160,13 @@ def _convert_paths_fast(ctx, paths, transforms, clip=None): cairo.cairo.cairo_append_path(ctx._pointer, ptr) +_convert_paths = _convert_paths_fast if HAS_CAIRO_CFFI else _convert_paths_slow + + +def _convert_path(ctx, path, transform, clip=None): + return _convert_paths(ctx, [path], [transform], clip) + + class RendererCairo(RendererBase): fontweights = { 100 : cairo.FONT_WEIGHT_NORMAL, @@ -247,8 +245,7 @@ def draw_markers(self, gc, marker_path, marker_trans, path, transform, ctx.new_path() # Create the path for the marker; it needs to be flipped here already! - _convert_path( - ctx, marker_path, marker_trans + Affine2D().scale(1, -1)) + _convert_path(ctx, marker_path, marker_trans + Affine2D().scale(1, -1)) marker_path = ctx.copy_path_flat() # Figure out whether the path has a fill @@ -312,7 +309,7 @@ def _draw_paths(): for k, v in gc_vars.items(): try: getattr(gc, "set" + k)(v) - except (AttributeError, TypeError): + except (AttributeError, TypeError) as e: pass gc.ctx.new_path() paths, transforms = zip(*grouped_draw) @@ -326,8 +323,8 @@ def _draw_paths(): offsetTrans, facecolors, edgecolors, linewidths, linestyles, antialiaseds, urls, offset_position): path, transform = path_id - transform = (Affine2D(transform.get_matrix()).translate(xo, yo) - + Affine2D().scale(1, -1).translate(0, self.height)) + transform = (Affine2D(transform.get_matrix()) + .translate(xo, yo - self.height).scale(1, -1)) # rgb_fc could be a ndarray, for which equality is elementwise. new_key = vars(gc0), tuple(rgb_fc) if rgb_fc is not None else None if new_key == reuse_key: From 7a727a1eda7076daa01dcdcbed77ed0c519d986b Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Tue, 6 Feb 2018 09:27:01 +0100 Subject: [PATCH 0616/1161] Avoid triggering a DeprecationWarning. --- lib/matplotlib/backends/backend_cairo.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/matplotlib/backends/backend_cairo.py b/lib/matplotlib/backends/backend_cairo.py index 1a11dc8e1bdd..62b4ce97ea4e 100644 --- a/lib/matplotlib/backends/backend_cairo.py +++ b/lib/matplotlib/backends/backend_cairo.py @@ -307,6 +307,8 @@ def _draw_paths(): # We actually need to call the setters to reset the internal state. vars(gc).update(gc_vars) for k, v in gc_vars.items(): + if k == "_linestyle": # Deprecated, no effect. + continue try: getattr(gc, "set" + k)(v) except (AttributeError, TypeError) as e: From abbcb3e358ce0e0c399c198e90d58193ec894f31 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sun, 6 May 2018 14:16:15 -0700 Subject: [PATCH 0617/1161] Rebase for mpl3. --- doc/api/backend_cairo_api.rst | 13 ++++------- lib/matplotlib/backends/backend_cairo.py | 29 ++++++++++++++---------- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/doc/api/backend_cairo_api.rst b/doc/api/backend_cairo_api.rst index 208b5c41e0d4..2623270c6781 100644 --- a/doc/api/backend_cairo_api.rst +++ b/doc/api/backend_cairo_api.rst @@ -2,12 +2,7 @@ :mod:`matplotlib.backends.backend_cairo` ======================================== -.. Building the docs requires either adding pycairo/cairocffi as docs build - dependency, or bumping the minimal numpy version to one that supports - MagicMocks (which does define `__index__`) as indices (recent numpys do, but - 1.7.1 doesn't). - -.. .. automodule:: matplotlib.backends.backend_cairo -.. :members: -.. :undoc-members: -.. :show-inheritance: +.. automodule:: matplotlib.backends.backend_cairo + :members: + :undoc-members: + :show-inheritance: diff --git a/lib/matplotlib/backends/backend_cairo.py b/lib/matplotlib/backends/backend_cairo.py index 62b4ce97ea4e..189f29671aee 100644 --- a/lib/matplotlib/backends/backend_cairo.py +++ b/lib/matplotlib/backends/backend_cairo.py @@ -3,8 +3,7 @@ ============================== :Author: Steve Chaplin and others -This backend depends on `cairo <http://cairographics.org>`_, and either on -cairocffi, or (Python 2 only) on pycairo. +This backend depends on cairocffi or pycairo. """ import six @@ -36,13 +35,14 @@ "cairo>=1.4.0 is required".format(cairo.version)) backend_version = cairo.version +from matplotlib import cbook from matplotlib.backend_bases import ( _Backend, FigureCanvasBase, FigureManagerBase, GraphicsContextBase, RendererBase) +from matplotlib.font_manager import ttfFontProperty from matplotlib.mathtext import MathTextParser from matplotlib.path import Path from matplotlib.transforms import Affine2D -from matplotlib.font_manager import ttfFontProperty def _premultiplied_argb32_to_unmultiplied_rgba8888(buf): @@ -94,7 +94,7 @@ def buffer_info(self): _CAIRO_PATH_TYPE_SIZES[cairo.PATH_CLOSE_PATH] = 1 -def _convert_paths_slow(ctx, paths, transforms, clip=None): +def _append_paths_slow(ctx, paths, transforms, clip=None): for path, transform in zip(paths, transforms): for points, code in path.iter_segments(transform, clip=clip): if code == Path.MOVETO: @@ -112,7 +112,7 @@ def _convert_paths_slow(ctx, paths, transforms, clip=None): ctx.curve_to(*points) -def _convert_paths_fast(ctx, paths, transforms, clip=None): +def _append_paths_fast(ctx, paths, transforms, clip=None): # We directly convert to the internal representation used by cairo, for # which ABI compatibility is guaranteed. The layout for each item is # --CODE(4)-- -LENGTH(4)- ---------PAD(8)--------- @@ -160,11 +160,11 @@ def _convert_paths_fast(ctx, paths, transforms, clip=None): cairo.cairo.cairo_append_path(ctx._pointer, ptr) -_convert_paths = _convert_paths_fast if HAS_CAIRO_CFFI else _convert_paths_slow +_append_paths = _append_paths_fast if HAS_CAIRO_CFFI else _append_paths_slow -def _convert_path(ctx, path, transform, clip=None): - return _convert_paths(ctx, [path], [transform], clip) +def _append_path(ctx, path, transform, clip=None): + return _append_paths(ctx, [path], [transform], clip) class RendererCairo(RendererBase): @@ -226,6 +226,11 @@ def _fill_and_stroke(self, ctx, fill_c, alpha, alpha_overrides): ctx.restore() ctx.stroke() + @staticmethod + @cbook.deprecated("3.0") + def convert_path(ctx, path, transform, clip=None): + _append_path(ctx, path, transform, clip) + def draw_path(self, gc, path, transform, rgbFace=None): ctx = gc.ctx # Clip the path to the actual rendering extents if it isn't filled. @@ -235,7 +240,7 @@ def draw_path(self, gc, path, transform, rgbFace=None): transform = (transform + Affine2D().scale(1, -1).translate(0, self.height)) ctx.new_path() - _convert_path(ctx, path, transform, clip) + _append_path(ctx, path, transform, clip) self._fill_and_stroke( ctx, rgbFace, gc.get_alpha(), gc.get_forced_alpha()) @@ -245,7 +250,7 @@ def draw_markers(self, gc, marker_path, marker_trans, path, transform, ctx.new_path() # Create the path for the marker; it needs to be flipped here already! - _convert_path(ctx, marker_path, marker_trans + Affine2D().scale(1, -1)) + _append_path(ctx, marker_path, marker_trans + Affine2D().scale(1, -1)) marker_path = ctx.copy_path_flat() # Figure out whether the path has a fill @@ -316,7 +321,7 @@ def _draw_paths(): gc.ctx.new_path() paths, transforms = zip(*grouped_draw) grouped_draw.clear() - _convert_paths(gc.ctx, paths, transforms) + _append_paths(gc.ctx, paths, transforms) self._fill_and_stroke( gc.ctx, rgb_fc, gc.get_alpha(), gc.get_forced_alpha()) @@ -529,7 +534,7 @@ def set_clip_path(self, path): ctx.new_path() affine = (affine + Affine2D().scale(1, -1).translate(0, self.renderer.height)) - _convert_path(ctx, tpath, affine) + _append_path(ctx, tpath, affine) ctx.clip() def set_dashes(self, offset, dashes): From 2b1afa9f4f270bad21e2c4b9b5e442fc2f2d078b Mon Sep 17 00:00:00 2001 From: ImportanceOfBeingErnest <elch.rz@ruetz-online.de> Date: Sun, 6 May 2018 14:38:19 +0200 Subject: [PATCH 0618/1161] Revive Irregularly spaced data contour example --- .../irregulardatagrid.py | 105 ++++++++++++++++++ lib/matplotlib/mlab.py | 2 +- 2 files changed, 106 insertions(+), 1 deletion(-) create mode 100644 examples/images_contours_and_fields/irregulardatagrid.py diff --git a/examples/images_contours_and_fields/irregulardatagrid.py b/examples/images_contours_and_fields/irregulardatagrid.py new file mode 100644 index 000000000000..688db23e86df --- /dev/null +++ b/examples/images_contours_and_fields/irregulardatagrid.py @@ -0,0 +1,105 @@ +""" +======================================= +Contour plot of irregularly spaced data +======================================= + +Comparison of a contour plot of irregularly spaced data interpolated +on a regular grid versus a tricontour plot for an unstructured triangular grid. + +Since :meth:`~.axes.Axes.contour` and :meth:`~.axes.Axes.contourf` expect the +data to live on a regular grid, plotting a contour plot of irregularly spaced +data requires different methods. The two options are: + +* Interpolate the data to a regular grid first. This can be done with on-borad + means, e.g. via `~.tri.LinearTriInterpolator` or using external functionality + e.g. via `scipy.interpolate.griddata`. Then plot the + interpolated data with the usual :meth:`~.axes.Axes.contour`. +* Directly use :meth:`~.axes.Axes.tricontour` or + :meth:`~.axes.Axes.tricontourf` which will perform a triangulation + internally. + +This example shows both methods in action. +""" + +import matplotlib.pyplot as plt +import matplotlib.tri as tri +import numpy as np + +np.random.seed(19680801) +npts = 200 +ngridx = 100 +ngridy = 200 +x = np.random.uniform(-2, 2, npts) +y = np.random.uniform(-2, 2, npts) +z = x * np.exp(-x**2 - y**2) + +fig, (ax1, ax2) = plt.subplots(nrows=2) + +# ----------------------- +# Interpolation on a grid +# ----------------------- +# A contour plot of irregularly spaced data coordinates +# via interpolation on a grid. + +# Create grid values first. +xi = np.linspace(-2.1, 2.1, ngridx) +yi = np.linspace(-2.1, 2.1, ngridy) + +# Perform linear interpolation of the data (x,y) +# on a grid defined by (xi,yi) +triang = tri.Triangulation(x, y) +interpolator = tri.LinearTriInterpolator(triang, z) +Xi, Yi = np.meshgrid(xi, yi) +zi = interpolator(Xi, Yi) + +# Note that scipy.interpolate provides means to interpolate data on a grid +# as well. The following would be an alternative to the four lines above: +#from scipy.interpolate import griddata +#zi = griddata((x, y), z, (xi[None,:], yi[:,None]), method='linear') + + +ax1.contour(xi, yi, zi, 14, linewidths=0.5, colors='k') +cntr1 = ax1.contourf(xi, yi, zi, 14, cmap="RdBu_r") + +fig.colorbar(cntr1, ax=ax1) +ax1.plot(x, y, 'ko', ms=3) +ax1.axis((-2, 2, -2, 2)) +ax1.set_title('grid and contour (%d points, %d grid points)' % + (npts, ngridx * ngridy)) + + +# ---------- +# Tricontour +# ---------- +# Directly supply the unordered, irregularly spaced coordinates +# to tricontour. + +ax2.tricontour(x, y, z, 14, linewidths=0.5, colors='k') +cntr2 = ax2.tricontourf(x, y, z, 14, cmap="RdBu_r") + +fig.colorbar(cntr2, ax=ax2) +ax2.plot(x, y, 'ko', ms=3) +ax2.axis((-2, 2, -2, 2)) +ax2.set_title('tricontour (%d points)' % npts) + +plt.subplots_adjust(hspace=0.5) +plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions and methods is shown in this example: + +import matplotlib +matplotlib.axes.Axes.contour +matplotlib.pyplot.contour +matplotlib.axes.Axes.contourf +matplotlib.pyplot.contourf +matplotlib.axes.Axes.tricontour +matplotlib.pyplot.tricontour +matplotlib.axes.Axes.tricontourf +matplotlib.pyplot.tricontourf diff --git a/lib/matplotlib/mlab.py b/lib/matplotlib/mlab.py index 36d05aa204a7..ba01b28eb827 100644 --- a/lib/matplotlib/mlab.py +++ b/lib/matplotlib/mlab.py @@ -3312,7 +3312,7 @@ def newfunc(val, mask, mval): fh.close() -@cbook.deprecated('2.2') +@cbook.deprecated('2.2', alternative='scipy.interpolate.griddata') def griddata(x, y, z, xi, yi, interp='nn'): """ Interpolates from a nonuniformly spaced grid to some other grid. From a54c2c7a53e75917d3b21aa52acfc7e8d0250e97 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Fri, 29 Dec 2017 22:09:15 -0800 Subject: [PATCH 0619/1161] Cleanup cairo + gtk compatibility matrix. --- doc/sphinxext/mock_gui_toolkits.py | 2 +- lib/matplotlib/backends/backend_cairo.py | 43 ++++++++++++-------- lib/matplotlib/backends/backend_gtk3agg.py | 33 ++++++++------- lib/matplotlib/backends/backend_gtk3cairo.py | 23 +++++++---- tutorials/introductory/usage.py | 7 +--- 5 files changed, 58 insertions(+), 50 deletions(-) diff --git a/doc/sphinxext/mock_gui_toolkits.py b/doc/sphinxext/mock_gui_toolkits.py index bb378e77382c..097a3409b167 100644 --- a/doc/sphinxext/mock_gui_toolkits.py +++ b/doc/sphinxext/mock_gui_toolkits.py @@ -3,7 +3,7 @@ class MyCairoCffi(MagicMock): - version_info = (1, 4, 0) + pass class MyPyQt4(MagicMock): diff --git a/lib/matplotlib/backends/backend_cairo.py b/lib/matplotlib/backends/backend_cairo.py index 189f29671aee..bf18f3ec3f43 100644 --- a/lib/matplotlib/backends/backend_cairo.py +++ b/lib/matplotlib/backends/backend_cairo.py @@ -27,15 +27,17 @@ "is installed") else: HAS_CAIRO_CFFI = False + if cairo.version_info < (1, 11, 0): + # Introduced create_for_data for Py3. + raise ImportError( + "cairo {} is installed; cairo>=1.11.0 is required" + .format(cairo.version)) else: HAS_CAIRO_CFFI = True -if cairo.version_info < (1, 4, 0): - raise ImportError("cairo {} is installed; " - "cairo>=1.4.0 is required".format(cairo.version)) backend_version = cairo.version -from matplotlib import cbook +from .. import cbook from matplotlib.backend_bases import ( _Backend, FigureCanvasBase, FigureManagerBase, GraphicsContextBase, RendererBase) @@ -65,6 +67,23 @@ def _premultiplied_argb32_to_unmultiplied_rgba8888(buf): return rgba +if HAS_CAIRO_CFFI: + # Convert a pycairo context to a cairocffi one. + def _to_context(ctx): + if not isinstance(ctx, cairo.Context): + ctx = cairo.Context._from_pointer( + cairo.ffi.cast( + 'cairo_t **', + id(ctx) + object.__basicsize__)[0], + incref=True) + return ctx +else: + # Pass-through a pycairo context. + def _to_context(ctx): + return ctx + + +@cbook.deprecated("3.0") class ArrayWrapper: """Thin wrapper around numpy ndarray to expose the interface expected by cairocffi. Basically replicates the @@ -348,21 +367,9 @@ def draw_image(self, gc, x, y, im): im = im[:, :, (2, 1, 0, 3)] else: im = im[:, :, (3, 0, 1, 2)] - if HAS_CAIRO_CFFI: - # cairocffi tries to use the buffer_info from array.array - # that we replicate in ArrayWrapper and alternatively falls back - # on ctypes to get a pointer to the numpy array. This works - # correctly on a numpy array in python3 but not 2.7. We replicate - # the array.array functionality here to get cross version support. - imbuffer = ArrayWrapper(im.ravel()) - else: - # py2cairo uses PyObject_AsWriteBuffer to get a pointer to the - # numpy array; this works correctly on a regular numpy array but - # not on a memory view. - imbuffer = im.ravel() surface = cairo.ImageSurface.create_for_data( - imbuffer, cairo.FORMAT_ARGB32, - im.shape[1], im.shape[0], im.shape[1]*4) + im.ravel().data, cairo.FORMAT_ARGB32, + im.shape[1], im.shape[0], im.shape[1] * 4) ctx = gc.ctx y = self.height - y - im.shape[0] diff --git a/lib/matplotlib/backends/backend_gtk3agg.py b/lib/matplotlib/backends/backend_gtk3agg.py index 77d7f49367f7..f54849cf049c 100644 --- a/lib/matplotlib/backends/backend_gtk3agg.py +++ b/lib/matplotlib/backends/backend_gtk3agg.py @@ -1,15 +1,21 @@ import numpy as np import warnings -from . import backend_agg, backend_gtk3 -from .backend_cairo import cairo, HAS_CAIRO_CFFI +from . import backend_agg, backend_cairo, backend_gtk3 +from ._gtk3_compat import gi +from .backend_cairo import cairo from .backend_gtk3 import _BackendGTK3 from matplotlib import transforms -if not HAS_CAIRO_CFFI: - warnings.warn( - "The Gtk3Agg backend is known to not work on Python 3.x with pycairo. " - "Try installing cairocffi.") +# The following combinations are allowed: +# gi + pycairo +# gi + cairocffi +# pgi + cairocffi +# (pgi doesn't work with pycairo) +# We always try to import cairocffi first so if a check below fails it means +# that cairocffi was unavailable to start with. +if gi.__name__ == "pgi" and cairo.__name__ == "cairo": + raise ImportError("pgi and pycairo are not compatible") class FigureCanvasGTK3Agg(backend_gtk3.FigureCanvasGTK3, @@ -36,11 +42,7 @@ def on_draw_event(self, widget, ctx): else: bbox_queue = self._bbox_queue - if HAS_CAIRO_CFFI and not isinstance(ctx, cairo.Context): - ctx = cairo.Context._from_pointer( - cairo.ffi.cast('cairo_t **', - id(ctx) + object.__basicsize__)[0], - incref=True) + ctx = backend_cairo._to_context(ctx) for bbox in bbox_queue: area = self.copy_from_bbox(bbox) @@ -51,12 +53,9 @@ def on_draw_event(self, widget, ctx): width = int(bbox.x1) - int(bbox.x0) height = int(bbox.y1) - int(bbox.y0) - if HAS_CAIRO_CFFI: - image = cairo.ImageSurface.create_for_data( - buf.data, cairo.FORMAT_ARGB32, width, height) - else: - image = cairo.ImageSurface.create_for_data( - buf, cairo.FORMAT_ARGB32, width, height) + image = cairo.ImageSurface.create_for_data( + buf.ravel().data, cairo.FORMAT_ARGB32, + width, height, width * 4) ctx.set_source_surface(image, x, y) ctx.paint() diff --git a/lib/matplotlib/backends/backend_gtk3cairo.py b/lib/matplotlib/backends/backend_gtk3cairo.py index 365ff6f37524..fee4ff96c282 100644 --- a/lib/matplotlib/backends/backend_gtk3cairo.py +++ b/lib/matplotlib/backends/backend_gtk3cairo.py @@ -1,19 +1,24 @@ from . import backend_cairo, backend_gtk3 -from .backend_cairo import cairo, HAS_CAIRO_CFFI +from ._gtk3_compat import gi +from .backend_cairo import cairo from .backend_gtk3 import _BackendGTK3 from matplotlib.backend_bases import cursors +# The following combinations are allowed: +# gi + pycairo +# gi + cairocffi +# pgi + cairocffi +# (pgi doesn't work with pycairo) +# We always try to import cairocffi first so if a check below fails it means +# that cairocffi was unavailable to start with. +if gi.__name__ == "pgi" and cairo.__name__ == "cairo": + raise ImportError("pgi and pycairo are not compatible") + + class RendererGTK3Cairo(backend_cairo.RendererCairo): def set_context(self, ctx): - if HAS_CAIRO_CFFI and not isinstance(ctx, cairo.Context): - ctx = cairo.Context._from_pointer( - cairo.ffi.cast( - 'cairo_t **', - id(ctx) + object.__basicsize__)[0], - incref=True) - - self.gc.ctx = ctx + self.gc.ctx = backend_cairo._to_context(ctx) class FigureCanvasGTK3Cairo(backend_gtk3.FigureCanvasGTK3, diff --git a/tutorials/introductory/usage.py b/tutorials/introductory/usage.py index 2f200fb5d21b..1fde15fbf392 100644 --- a/tutorials/introductory/usage.py +++ b/tutorials/introductory/usage.py @@ -481,11 +481,8 @@ def my_plotter(ax, data1, data2, param_dict): # GTK and Cairo # ------------- # -# Both `GTK2` and `GTK3` have implicit dependencies on PyCairo regardless of the -# specific Matplotlib backend used. Unfortunately the latest release of PyCairo -# for Python3 does not implement the Python wrappers needed for the `GTK3Agg` -# backend. `Cairocffi` can be used as a replacement which implements the correct -# wrapper. +# `GTK3` backends (*both* `GTK3Agg` and `GTK3Cairo`) depend on Cairo +# (pycairo>=1.11.0 or cairocffi). # # How do I select PyQt4 or PySide? # -------------------------------- From 8d0b5e5efe9cc45b515cd27606cfde69f7429a3d Mon Sep 17 00:00:00 2001 From: Tanuj <expectocode@gmail.com> Date: Mon, 7 May 2018 16:13:33 +0100 Subject: [PATCH 0620/1161] Use GLib.MainLoop() instead of GObject.MainLoop() --- lib/matplotlib/pyplot.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index 2725094fe077..8a32370f2ab1 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -96,8 +96,8 @@ def _backend_selection(): # The mainloop is running. rcParams['backend'] = 'qt5Agg' elif 'gtk' in sys.modules and 'gi' in sys.modules: - from gi.repository import GObject - if GObject.MainLoop().is_running(): + from gi.repository import GLib + if GLib.MainLoop().is_running(): rcParams['backend'] = 'GTK3Agg' elif 'Tkinter' in sys.modules and not backend == 'TkAgg': # import Tkinter From 3ef69444330c33ebdc510107768758cdeefd0137 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Thu, 12 Apr 2018 09:01:45 -0700 Subject: [PATCH 0621/1161] FIX: constrained_layout and repeated calls to suptitle FIX: make suptitle be in CL only if placed automatically FIX: suptitle needed an artist as well FIX: revert change to signature so we can test if kwargs used fix CL tests --- lib/matplotlib/_constrained_layout.py | 2 +- lib/matplotlib/figure.py | 36 ++++++++++------- .../tests/test_constrainedlayout.py | 40 +++++++++++++++++++ 3 files changed, 63 insertions(+), 15 deletions(-) diff --git a/lib/matplotlib/_constrained_layout.py b/lib/matplotlib/_constrained_layout.py index 2faf40c3b6bc..fa0ae537ef74 100644 --- a/lib/matplotlib/_constrained_layout.py +++ b/lib/matplotlib/_constrained_layout.py @@ -235,7 +235,7 @@ def do_constrained_layout(fig, renderer, h_pad, w_pad, ax._poslayoutbox.constrain_left_margin(0, strength='weak') # do layout for suptitle. - if fig._suptitle is not None: + if fig._suptitle is not None and fig._suptitle._layoutbox is not None: sup = fig._suptitle bbox = invTransFig(sup.get_window_extent(renderer=renderer)) height = bbox.y1 - bbox.y0 diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index e2fca38313a2..b97655e8fb39 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -678,7 +678,7 @@ def get_window_extent(self, *args, **kwargs): """ return self.bbox - def suptitle(self, t, *, x=.5, y=.98, **kwargs): + def suptitle(self, t, **kwargs): """ Add a centered title to the figure. @@ -732,6 +732,11 @@ def suptitle(self, t, *, x=.5, y=.98, **kwargs): >>> fig.suptitle('This is the figure title', fontsize=12) """ + manual_position = ('x' in kwargs or 'y' in kwargs) + + x = kwargs.pop('x', 0.5) + y = kwargs.pop('y', 0.98) + if ('horizontalalignment' not in kwargs) and ('ha' not in kwargs): kwargs['horizontalalignment'] = 'center' if ('verticalalignment' not in kwargs) and ('va' not in kwargs): @@ -751,19 +756,22 @@ def suptitle(self, t, *, x=.5, y=.98, **kwargs): sup.remove() else: self._suptitle = sup - if self._layoutbox is not None: - # assign a layout box to the suptitle... - figlb = self._layoutbox - self._suptitle._layoutbox = layoutbox.LayoutBox( - parent=figlb, - name=figlb.name+'.suptitle') - for child in figlb.children: - if not (child == self._suptitle._layoutbox): - w_pad, h_pad, wspace, hspace = \ - self.get_constrained_layout_pads( - relative=True) - layoutbox.vstack([self._suptitle._layoutbox, child], - padding=h_pad*2., strength='required') + self._suptitle._layoutbox = None + if self._layoutbox is not None and not manual_position: + w_pad, h_pad, wspace, hspace = \ + self.get_constrained_layout_pads(relative=True) + figlb = self._layoutbox + self._suptitle._layoutbox = layoutbox.LayoutBox( + parent=figlb, artist=self._suptitle, + name=figlb.name+'.suptitle') + # stack the suptitle on top of all the children. + # Some day this should be on top of all the children in the + # gridspec only. + for child in figlb.children: + if child is not self._suptitle._layoutbox: + layoutbox.vstack([self._suptitle._layoutbox, + child], + padding=h_pad*2., strength='required') self.stale = True return self._suptitle diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py index 24160a8e664e..cb25d67756fa 100644 --- a/lib/matplotlib/tests/test_constrainedlayout.py +++ b/lib/matplotlib/tests/test_constrainedlayout.py @@ -344,3 +344,43 @@ def test_constrained_layout20(): ax = fig.add_axes([0, 0, 1, 1]) mesh = ax.pcolormesh(gx, gx, img) fig.colorbar(mesh) + + +def test_constrained_layout21(): + '#11035: repeated calls to suptitle should not alter the layout' + fig, ax = plt.subplots(constrained_layout=True) + + fig.suptitle("Suptitle0") + fig.canvas.draw() + extents0 = np.copy(ax.get_position().extents) + + fig.suptitle("Suptitle1") + fig.canvas.draw() + extents1 = np.copy(ax.get_position().extents) + + np.testing.assert_allclose(extents0, extents1) + + +def test_constrained_layout22(): + '#11035: suptitle should not be include in CL if manually positioned' + fig, ax = plt.subplots(constrained_layout=True) + + fig.canvas.draw() + extents0 = np.copy(ax.get_position().extents) + + fig.suptitle("Suptitle", y=0.5) + fig.canvas.draw() + extents1 = np.copy(ax.get_position().extents) + + np.testing.assert_allclose(extents0, extents1) + + +def test_constrained_layout23(): + ''' + Comment in #11035: suptitle used to cause an exception when + reusing a figure w/ CL with ``clear=True``. + ''' + + for i in range(2): + fig, ax = plt.subplots(num="123", constrained_layout=True, clear=True) + fig.suptitle("Suptitle{}".format(i)) From 179f5f058f2bc99ad08f7e5c856b7389f63893ab Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Mon, 7 May 2018 10:19:00 -0700 Subject: [PATCH 0622/1161] Fix undefined name error in backend_pgf. --- lib/matplotlib/backends/backend_pgf.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/backends/backend_pgf.py b/lib/matplotlib/backends/backend_pgf.py index 02e214655db0..66a3798c81a4 100644 --- a/lib/matplotlib/backends/backend_pgf.py +++ b/lib/matplotlib/backends/backend_pgf.py @@ -141,7 +141,8 @@ def _font_properties_str(prop): family = prop.get_family()[0] if family in families: commands.append(families[family]) - elif family in system_fonts and rcParams["pgf.texsystem"] != "pdflatex": + elif (any(font.name == family for font in fm.fontManager.ttflist) + and rcParams["pgf.texsystem"] != "pdflatex"): commands.append(r"\setmainfont{%s}\rmfamily" % family) else: pass # print warning? From 0a47d9865facf39eb5f223d0a42f71a9ba9725d2 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sun, 15 Apr 2018 21:24:04 -0700 Subject: [PATCH 0623/1161] Simplify travis setup a bit. - Splitting test_script.sh into its own file is a bit overkill (but then we can't use `set -x` as that applies to the whole script, using a subshell is a bit overkill). - pytest directly reads arguments from $PYTEST_ADDOPTS, use that. - We were setting $PYTHON_ARGS but not actually using it (that failed the legend docstring test), instead put a comment saying to set $PYTHONOPTIMIZE (which exists for that purpose). - ci/travis/setup.cfg can just as well be replaced by setting $MPLLOCALFREETYPE. - Yaml entries that are a single string don't need to get an extra indent. - matplotlibDeployKey.enc is unused since we switched to using circleci for doc builds. - ci/travis/silence was the only one left in its directory, so we may as well move it up once directory. --- .appveyor.yml | 2 +- .travis.yml | 102 ++++++++++++++++-------------- ci/{travis => }/silence | 0 ci/travis/matplotlibDeployKey.enc | Bin 1680 -> 0 bytes ci/travis/setup.cfg | 2 - ci/travis/test_script.sh | 20 ------ 6 files changed, 55 insertions(+), 71 deletions(-) rename ci/{travis => }/silence (100%) delete mode 100644 ci/travis/matplotlibDeployKey.enc delete mode 100644 ci/travis/setup.cfg delete mode 100755 ci/travis/test_script.sh diff --git a/.appveyor.yml b/.appveyor.yml index 981b6ed2c866..b6d1dea4fe45 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -83,7 +83,7 @@ install: - del %LIBRARY_LIB%\z.lib - set MPLBASEDIRLIST=%CONDA_PREFIX%\Library\;. # enables the local freetype build - - copy ci\travis\setup.cfg . + - set MPLLOCALFREETYPE=1 # Show the installed packages + versions - conda list diff --git a/.travis.yml b/.travis.yml index 0be20c9132d7..ab0e460dafaf 100644 --- a/.travis.yml +++ b/.travis.yml @@ -59,14 +59,18 @@ env: - PYTEST_COV=pytest-cov - PYTEST_PEP8= - SPHINX=sphinx + # Variables controlling the build. + - MPLLOCALFREETYPE=1 # Variables controlling the test run. - DELETE_FONT_CACHE= - NO_AT_BRIDGE=1 # Necessary for GTK3 interactive test. + # The number of processes is hardcoded, because using too many causes the + # Travis VM to run out of memory (since so many copies of inkscape and + # ghostscript are running at the same time). - NPROC=2 - OPENBLAS_NUM_THREADS=1 - PYTHONFAULTHANDLER=1 - - PYTEST_ARGS="-rawR --maxfail=50 --timeout=300 --durations=25 --cov-report= --cov=lib -n $NPROC" - - PYTHON_ARGS= + - PYTEST_ADDOPTS="-rawR --maxfail=50 --timeout=300 --durations=25 --cov-report= --cov=lib -n $NPROC" - RUN_PEP8= matrix: @@ -84,9 +88,14 @@ matrix: - PYTEST_COV=pytest-cov==2.3.1 - SPHINX=sphinx==1.3 - python: 3.5 - env: PYTHON_ARGS=-OO + env: + # - PYTHONOPTIMIZE=2 # This currently doesn't work. - python: 3.6 - env: DELETE_FONT_CACHE=1 PANDAS='pandas<0.21.0' PYTEST_PEP8=pytest-pep8 RUN_PEP8=--pep8 + env: + - DELETE_FONT_CACHE=1 + - PANDAS='pandas<0.21.0' + - PYTEST_PEP8=pytest-pep8 + - PYTEST_ADDOPTS="$PYTEST_ADDOPTS --pep8" - python: "nightly" env: PRE=--pre - os: osx @@ -104,25 +113,24 @@ matrix: allow_failures: - python: "nightly" -before_install: - - | - if [[ $TRAVIS_OS_NAME != 'osx' ]]; then - # test with non-ascii in path - mkdir /tmp/λ - export PATH=$PATH:/tmp/λ - export PATH=/usr/lib/ccache:$PATH - else - ci/travis/silence brew update - brew upgrade python - brew install ffmpeg imagemagick mplayer ccache - hash -r - which python - python --version - # We could install ghostscript and inkscape here to test svg and pdf - # but this makes the test time really long. - # brew install ghostscript inkscape - export PATH=/usr/local/opt/python/libexec/bin:/usr/local/opt/ccache/libexec:$PATH - fi +before_install: | + # test with non-ascii in path + mkdir /tmp/λ + export PATH=$PATH:/tmp/λ + if [[ $TRAVIS_OS_NAME != 'osx' ]]; then + export PATH=/usr/lib/ccache:$PATH + else + ci/silence brew update + brew upgrade python + brew install ffmpeg imagemagick mplayer ccache + hash -r + which python + python --version + # We could install ghostscript and inkscape here to test svg and pdf + # but this makes the test time really long. + # brew install ghostscript inkscape + export PATH=/usr/local/opt/python/libexec/bin:/usr/local/opt/ccache/libexec:$PATH + fi install: - | @@ -141,8 +149,6 @@ install: $NOSE \ $NUMPY \ $PANDAS \ - codecov \ - coverage \ pillow \ $PYPARSING \ $SPHINX \ @@ -175,34 +181,34 @@ install: pytest-rerunfailures \ pytest-timeout \ pytest-xdist - - # Use the special local version of freetype for testing - cp ci/travis/setup.cfg . - | # Install matplotlib python -mpip install -ve . -before_script: - - | - if [[ $TRAVIS_OS_NAME != 'osx' ]]; then - export DISPLAY=:99.0 - sh -e /etc/init.d/xvfb start - fi +before_script: | + if [[ $TRAVIS_OS_NAME != 'osx' ]]; then + export DISPLAY=:99.0 + sh -e /etc/init.d/xvfb start + fi + if [[ $DELETE_FONT_CACHE == 1 ]]; then + rm -rf ~/.cache/matplotlib + fi -script: ci/travis/test_script.sh +script: | + echo "Calling pytest with the following arguments: $PYTEST_ADDOPTS" + python -mpytest -before_cache: - - rm -rf $HOME/.cache/matplotlib/tex.cache - - rm -rf $HOME/.cache/matplotlib/test_cache +before_cache: | + rm -rf $HOME/.cache/matplotlib/tex.cache + rm -rf $HOME/.cache/matplotlib/test_cache -after_failure: - - | - if [[ $TRAVIS_PULL_REQUEST == false && $TRAVIS_REPO_SLUG == 'matplotlib/matplotlib' ]]; then - tar cjf result_images.tar.bz2 result_images - echo 'See "Uploading Artifacts" near the end of the log for the download URL' - else - echo "The result images will only be uploaded if they are on the matplotlib/matplotlib repo - this is for security reasons to prevent arbitrary PRs echoing security details." - fi +after_failure: | + if [[ $TRAVIS_PULL_REQUEST == false && $TRAVIS_REPO_SLUG == 'matplotlib/matplotlib' ]]; then + tar cjf result_images.tar.bz2 result_images + echo 'See "Uploading Artifacts" near the end of the log for the download URL' + else + echo "The result images will only be uploaded if they are on the matplotlib/matplotlib repo - this is for security reasons to prevent arbitrary PRs echoing security details." + fi -after_success: - - codecov -e TRAVIS_PYTHON_VERSION +after_success: | + codecov -e TRAVIS_PYTHON_VERSION diff --git a/ci/travis/silence b/ci/silence similarity index 100% rename from ci/travis/silence rename to ci/silence diff --git a/ci/travis/matplotlibDeployKey.enc b/ci/travis/matplotlibDeployKey.enc deleted file mode 100644 index f73fb807cdf50882914287a7e62f381685f95c46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1680 zcmV;B25<Rb<-?1eP^Xr*c~;4ps4>S^r~XL14P=+)X_#ov%v*MKf}b&heVaJ9y7>IE ztB*@|GBzQ-v}D=sOKz9QgwionqP!qXl|PSmpK4?_$ab+~E5TDE$J7p-q_9uXgJmuo z;EjOdgY<HP32xIc!A3P$%ic=U+hwp#PJf0xei$-QG5D-0Qf@MZmxRFqIBFJD#OyB) zdInNazBvZJ>9);8Aw(|UK(`F7r0Fc%({&V4I7iKl7;xK@@$g8AgB8C*<DA{5fdMEY zdd<q+@Zqf8HlRs14wjjn=IUq-jjWkPPu(rT15HLYNhudvAu+5Xx3=&@3fMf48ElLz z<h(_23TKb^Dad*(xjHYIwKhUDeIHLxd3aU{5JGkatwJ;(MX)n|=e+K7hL+}EN@b4T zzKd<7eI$tLyWqmnzjjM=CTmQoY|+y|YxQrwDRrbV=|9N2^3AEGcRc*1@+*gEysodG zSm|)eqM7gm7Q|C<qJSx}j}RU>*MQHV+4T_B4bMWogpE$Mk>=)1<T=>hxP$iMk5NhU zf<Ilw!aD-f60w~o0;aGR6&GpOfj0Xi_#jSWv%_6CPwr3z2qPq|Yc~QG)y9wG3)~qz zO~0u3o|GAsa@(B<O*o#dv-#(c|1f}Os>#n6cHvzAe*X7a2jB!!9&4X~PKD)L=fPx) zwYQk5V^{Ep=WWHPUe36YgdgC5tVlwFrcL^FY0V-I$*^30TW+tP2(Lf=$e1Fvnq0}A zu;5>~9qG)nacBA|>qwA(OHh5~$X#1*vMr(PQ1${RsTuHm<8g1|<^!WA2k}H^RU$WE zkjE8d?Pe-s`?N-nwsFuzm}qk@*QxOf@Zfwfh5>10XYA3Uv>G5?1d9)*>kR<Fy1OIX zQu!gdnnPMQU`CaNDv@D~r{cg7q_1L3DDk*oDu>teQq}E6<;uSip|lh~W%Z|iqA-dq zSvz%;z7xOou&kKbl4&~p4MDFQLA<bCT5yi_af#o$M`L_Rdsj%LpG-YAVmiC1pC?6y zC!nTaCCBTAH%Zj0Zy!#|{kz0LLdp}&Y0UPS=6l<|3)0@CNX6})^3kL4fyIrFKf6nz za@AW&AAVpM!g{685=YXc^*5W0)sYCBRwGb}%)LUWlU~x6-DHBp^sC0(4(tMAlYz;t zE52X<bw-|XTu7M|FwdVk<%e{J<lPv64)%7%%bvR*tf9)H9ngQU6HT59P+uDH+!#jF z!;wQl%mBd8JVALOWxee+Y|Wddx0h&SxzZyZtvgtSty*<)b$CpGhDBq!YYPcNAVD4G z3xP*$I3XQsc0_m(HZBRYOS@P_{(<?H@T1RVU+)kN)#WQJ4!F|hdprt>sTt}pftTp6 zYx;TYvr6#$iTH@yWiq!mdc;q*xpsm(LmimzT}!39o-@(+nMuy!R4CC`eRT?GuRFs= zsqt4g8%a`ibG48SFyWu^bMxIycQ|)j6v9RwiSciZS8UYcTlwF>+1sALi`Dtolj^js z1hd2`!re>riC*onWyG?i!;tpTA5qNqhEg<iCl!qu1f|fw$36D|#u1_1{J%Y`3TvMc z-VJKVEih{`D=sr)9ZAtb0H?+-x@NbNv3H!waveK--g{6O3((xG1(MF;6I2J0nkA_w zM+y59qWaNHft(D&o)~4x%m8R8-mDs~a&w+KG}Dfnn`<wl1hlVp?3-~RQu#T<nZrwb z8W$9CqfM{)F7$eGExnhx-sA<#w~t2s!vY_US-ft)Dni7H!S66u%`#aS#AJxT=Sgyp z#$UtY7x8FjJ3CyI5aXX~G%RC<N<GI>L`a{j;fHr#5LM5EB$>R3e{^KmCLf}9)%w=R zAyumXq2Fs+()aawnq*45LPpUs1!RYzRFfGI=9Yzus7unph0cu=q-BRdRK%+HMAsZ* zD~lxer@`rWX8~8QgU*Z=q_FM>!uqIQ<Zw~zNzji72wBwc&qPS{P>+|Xs}bAGfApcM ze3%G@p~el~4<|o+*5{re)ktQ9AOb(IBdQa4uJ|L{i#mX;jV^xz`o}L*lmn_k0c0(8 z`?tFobUtUBv)!(GY4a<aZHY(-B%gl7k^hzuGn>j09Omy9Nw~b0hLWZdvT+ekReeN& zMG|w-Q!e~!W+>oTb5A*s^5a8CsYhb07)_6r4X6n?*I*6^3fxazGw66^mQgkM)$O@5 an0HjmwjRaoJe=GUVinIQM3;E;-ttBmvraq! diff --git a/ci/travis/setup.cfg b/ci/travis/setup.cfg deleted file mode 100644 index 61cdc102a0f8..000000000000 --- a/ci/travis/setup.cfg +++ /dev/null @@ -1,2 +0,0 @@ -[test] -local_freetype=True \ No newline at end of file diff --git a/ci/travis/test_script.sh b/ci/travis/test_script.sh deleted file mode 100755 index f6446d21f16d..000000000000 --- a/ci/travis/test_script.sh +++ /dev/null @@ -1,20 +0,0 @@ -#! /bin/bash - -set -ex - -# This script is meant to be called by the "script" step defined in -# .travis.yml. See http://docs.travis-ci.com/ for more details. -# The behavior of the script is controlled by environment variabled defined -# in the .travis.yml in the top level folder of the project. - -# The number of processes is hardcoded, because using too many causes the -# Travis VM to run out of memory (since so many copies of inkscape and -# ghostscript are running at the same time). - -if [[ $DELETE_FONT_CACHE == 1 ]]; then - rm -rf ~/.cache/matplotlib -fi - -echo The following args are passed to pytest $PYTEST_ARGS $RUN_PEP8 - -python -mpytest $PYTEST_ARGS $RUN_PEP8 From f308ccc9566e56dfcd7cdc33343d3e049f414e5f Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sun, 8 Apr 2018 02:12:07 +0200 Subject: [PATCH 0624/1161] Improve docstring of Axes.imshow --- lib/matplotlib/axes/_axes.py | 154 ++++++++++++++++++++++------------- 1 file changed, 98 insertions(+), 56 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index cbf97d1f68e7..722cdb592b47 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -4988,82 +4988,117 @@ def imshow(self, X, cmap=None, norm=None, aspect=None, origin=None, extent=None, shape=None, filternorm=1, filterrad=4.0, imlim=None, resample=None, url=None, **kwargs): """ - Display an image on the axes. + Display an image, i.e. data on a 2D regular raster. Parameters ---------- - X : array_like, shape (n, m) or (n, m, 3) or (n, m, 4) - Display the image in `X` to current axes. `X` may be an - array or a PIL image. If `X` is an array, it - can have the following shapes and types: + X : array-like or PIL image + The image data. Supported array shapes are: - - MxN -- values to be mapped (float or int) - - MxNx3 -- RGB (float or uint8) - - MxNx4 -- RGBA (float or uint8) + - (M, N): an image with scalar data. The data is visualized + using a colormap. + - (M, N, 3): an image with RGB values (float or uint8). + - (M, N, 4): an image with RGBA values (float or uint8), i.e. + including transparency. - MxN arrays are mapped to colors based on the `norm` (mapping - scalar to scalar) and the `cmap` (mapping the normed scalar to - a color). + The first two dimensions (M, N) define the rows and columns of + the image. - Elements of RGB and RGBA arrays represent pixels of an MxN image. - All values should be in the range [0 .. 1] for floats or + The RGB(A) values should be in the range [0 .. 1] for floats or [0 .. 255] for integers. Out-of-range values will be clipped to these bounds. - cmap : `~matplotlib.colors.Colormap`, optional, default: None - If None, default to rc `image.cmap` value. `cmap` is ignored - if `X` is 3-D, directly specifying RGB(A) values. + cmap : str or `~matplotlib.colors.Colormap`, optional + A Colormap instance or registered colormap name. The colormap + maps scalar data to colors. It is ignored for RGB(A) data. + Defaults to :rc:`image.cmap`. - aspect : ['auto' | 'equal' | scalar], optional, default: None - If 'auto', changes the image aspect ratio to match that of the - axes. + aspect : {'equal', 'auto'} or float, optional + Controls the aspect ratio of the axes. The aspect is of particular + relevance for images since it may distort the image, i.e. pixel + will not be square. - If 'equal', and `extent` is None, changes the axes aspect ratio to - match that of the image. If `extent` is not `None`, the axes - aspect ratio is changed to match that of the extent. + This parameter is a shortcut for explicitly calling + `.Axes.set_aspect`. See there for further details. - If None, default to rc ``image.aspect`` value. + - 'equal': Ensures an aspect ratio of 1. Pixels will be square + (unless pixel sizes are explicitly made non-square in data + coordinates using *extent*). + - 'auto': The axes is kept fixed and the aspect is adjusted so + that the data fit in the axes. In general, this will result in + non-square pixels. + + Defaults to :rc:`image.aspect`. + + interpolation : str, optional + The interpolation method used. If *None* + :rc:`image.interpolation` is used, which defaults to 'nearest'. - interpolation : string, optional, default: None - Acceptable values are 'none', 'nearest', 'bilinear', 'bicubic', + Supported values are 'none', 'nearest', 'bilinear', 'bicubic', 'spline16', 'spline36', 'hanning', 'hamming', 'hermite', 'kaiser', 'quadric', 'catrom', 'gaussian', 'bessel', 'mitchell', 'sinc', - 'lanczos' + 'lanczos'. - If `interpolation` is None, default to rc `image.interpolation`. - See also the `filternorm` and `filterrad` parameters. - If `interpolation` is 'none', then no interpolation is performed + If *interpolation* is 'none', then no interpolation is performed on the Agg, ps and pdf backends. Other backends will fall back to 'nearest'. - norm : `~matplotlib.colors.Normalize`, optional, default: None - A `~matplotlib.colors.Normalize` instance is used to scale - a 2-D float `X` input to the (0, 1) range for input to the - `cmap`. If `norm` is None, use the default func:`normalize`. - If `norm` is an instance of `~matplotlib.colors.NoNorm`, - `X` must be an array of integers that index directly into - the lookup table of the `cmap`. + See + :doc:`/gallery/images_contours_and_fields/interpolation_methods` + for an overview of the supported interpolation methods. - vmin, vmax : scalar, optional, default: None - `vmin` and `vmax` are used in conjunction with norm to normalize - luminance data. Note if you pass a `norm` instance, your - settings for `vmin` and `vmax` will be ignored. + Some interpolation methods require an additional radius parameter, + which can be set by *filterrad*. Additionally, the antigrain image + resize filter is controlled by the parameter *filternorm*. - alpha : scalar, optional, default: None + norm : `~matplotlib.colors.Normalize`, optional + If scalar data are used, the Normalize instance scales the + data values to the canonical colormap range [0,1] for mapping + to colors. By default, the data range is mapped to the + colorbar range using linear scaling. This parameter is ignored for + RGB(A) data. + + vmin, vmax : scalar, optional + When using scalar data and no explicit *norm*, *vmin* and *vmax* + define the data range that the colormap covers. By default, + the colormap covers the complete value range of the supplied + data. *vmin*, *vmax* are ignored if the *norm* parameter is used. + + alpha : scalar, optional The alpha blending value, between 0 (transparent) and 1 (opaque). - The ``alpha`` argument is ignored for RGBA input data. + This parameter is ignored for RGBA input data. - origin : ['upper' | 'lower'], optional, default: None + origin : {'upper', 'lower'}, optional Place the [0,0] index of the array in the upper left or lower left - corner of the axes. If None, default to rc `image.origin`. + corner of the axes. The convention 'upper' is typically used for + matrices and images. + If not given, :rc:`image.origin` is used, defaulting to 'upper'. + + Note that the vertical axes points upward for 'lower' + but downward for 'upper'. + + extent : scalars (left, right, bottom, top), optional + The bounding box in data coordinates that the image will fill. + The image is stretched individually along x and y to fill the box. - extent : scalars (left, right, bottom, top), optional, default: None - The location, in data-coordinates, of the lower-left and - upper-right corners. If `None`, the image is positioned such that - the pixel centers fall on zero-based (row, column) indices. + The default extent is determined by the following conditions. + Pixels have unit size in data coordinates. Their centers are on + integer coordinates, and their center coordinates range from 0 to + columns-1 horizontally and from 0 to rows-1 vertically. + + Note that the direction of the vertical axis and thus the default + values for top and bottom depend on *origin*: + + - For ``origin == 'upper'`` the default is + ``(-0.5, numcols-0.5, numrows-0.5, -0.5)``. + - For ``origin == 'lower'`` the default is + ``(-0.5, numcols-0.5, -0.5, numrows-0.5)``. + + See the example :doc:`/tutorials/intermediate/imshow_extent` for a + more detailed description. shape : scalars (columns, rows), optional, default: None - For raw buffer images + For raw buffer images. filternorm : bool, optional, default: True A parameter for the antigrain image resize filter (see the @@ -5074,9 +5109,16 @@ def imshow(self, X, cmap=None, norm=None, aspect=None, that any sum of pixel weights must be equal to 1.0. So, the filter function must produce a graph of the proper shape. - filterrad : scalar, optional, default: 4.0 + filterrad : float > 0, optional, default: 4.0 The filter radius for filters that have a radius parameter, i.e. - when interpolation is one of: 'sinc', 'lanczos' or 'blackman' + when interpolation is one of: 'sinc', 'lanczos' or 'blackman'. + + resample : bool, optional + When *True*, use a full resampling method. When *False*, only + resample when the output image is larger than the input image. + + url : str, optional + Set the url of the created `.AxesImage`. See `.Artist.set_url`. Returns ------- @@ -5084,7 +5126,9 @@ def imshow(self, X, cmap=None, norm=None, aspect=None, Other Parameters ---------------- - **kwargs : `~matplotlib.artist.Artist` properties. + **kwargs : `~matplotlib.artist.Artist` properties + These parameters are passed on to the constructor of the + `.AxesImage` artist. See also -------- @@ -5096,7 +5140,7 @@ def imshow(self, X, cmap=None, norm=None, aspect=None, coordinates. In other words: the origin will coincide with the center of pixel (0, 0). - Two typical representations are used for RGB images with an alpha + There are two common representations for RGB images with an alpha channel: - Straight (unassociated) alpha: R, G, and B channels represent the @@ -5122,8 +5166,6 @@ def imshow(self, X, cmap=None, norm=None, aspect=None, if im.get_clip_path() is None: # image does not already have clipping set, clip to axes patch im.set_clip_path(self.patch) - #if norm is None and shape is None: - # im.set_clim(vmin, vmax) if vmin is not None or vmax is not None: im.set_clim(vmin, vmax) else: @@ -7273,7 +7315,7 @@ def matshow(self, Z, **kwargs): Parameters ---------- - Z : array-like(N, M) + Z : array-like(M, N) The matrix to be displayed. Returns From 31e3b71a9a742729a5bfc3d53122050f668b3f04 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Mon, 7 May 2018 22:59:47 +0200 Subject: [PATCH 0625/1161] Fix image size in interpolation example --- examples/images_contours_and_fields/interpolation_methods.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/examples/images_contours_and_fields/interpolation_methods.py b/examples/images_contours_and_fields/interpolation_methods.py index 2108b79dbdba..9318376f2837 100644 --- a/examples/images_contours_and_fields/interpolation_methods.py +++ b/examples/images_contours_and_fields/interpolation_methods.py @@ -27,7 +27,7 @@ grid = np.random.rand(4, 4) -fig, axs = plt.subplots(nrows=3, ncols=6, figsize=(12, 6), +fig, axs = plt.subplots(nrows=3, ncols=6, figsize=(9, 4.5), subplot_kw={'xticks': [], 'yticks': []}) fig.subplots_adjust(hspace=0.3, wspace=0.05) @@ -36,4 +36,5 @@ ax.imshow(grid, interpolation=interp_method, cmap='viridis') ax.set_title(str(interp_method)) +plt.tight_layout() plt.show() From 8db4b404a478bc449c650a5ad45a44fcbd42338a Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Mon, 7 May 2018 14:36:01 -0700 Subject: [PATCH 0626/1161] FIX: remove recursive call to str in transform repr --- lib/matplotlib/transforms.py | 7 ------- 1 file changed, 7 deletions(-) diff --git a/lib/matplotlib/transforms.py b/lib/matplotlib/transforms.py index 93c1e5a00c89..89942d87e319 100644 --- a/lib/matplotlib/transforms.py +++ b/lib/matplotlib/transforms.py @@ -1053,8 +1053,6 @@ def __str__(self): _indent_str(self._bbox), _indent_str(self._transform))) - __repr__ = __str__ - def get_points(self): if self._invalid: p = self._bbox.get_points() @@ -1140,8 +1138,6 @@ def __str__(self): _indent_str(self._bbox), _indent_str(self._locked_points))) - __repr__ = __str__ - def get_points(self): if self._invalid: points = self._bbox.get_points() @@ -1621,9 +1617,6 @@ def inverted(self): """ raise NotImplementedError() - def __repr__(self): - return str(self) - class TransformWrapper(Transform): """ From bda0d3da8a9fd029ea3a789db5acff34b8c73b5f Mon Sep 17 00:00:00 2001 From: ImportanceOfBeingErnest <elch.rz@ruetz-online.de> Date: Mon, 7 May 2018 15:43:58 +0200 Subject: [PATCH 0627/1161] example references for images,contours,fields --- .../affine_image.py | 23 ++++ .../images_contours_and_fields/barb_demo.py | 15 +++ .../barcode_demo.py | 17 ++- .../contour_corner_mask.py | 20 +++- .../contour_demo.py | 26 ++++- .../contour_image.py | 28 ++++- .../contour_label_demo.py | 23 +++- .../contourf_demo.py | 26 ++++- .../contourf_hatching.py | 22 ++++ .../contourf_log.py | 19 ++++ .../images_contours_and_fields/custom_cmap.py | 31 ++++- .../demo_bboximage.py | 106 +++++++++++------- .../figimage_demo.py | 14 +++ .../image_clip_path.py | 15 +++ .../images_contours_and_fields/image_demo.py | 25 ++++- .../image_masked.py | 19 ++++ .../image_transparency_blend.py | 18 +++ .../interpolation_methods.py | 35 ++++-- .../layer_images.py | 14 +++ .../images_contours_and_fields/matshow.py | 16 ++- .../images_contours_and_fields/multi_image.py | 21 ++++ .../images_contours_and_fields/pcolor_demo.py | 31 ++++- .../pcolormesh_levels.py | 8 +- .../plot_streamplot.py | 17 ++- .../quadmesh_demo.py | 19 +++- .../images_contours_and_fields/quiver_demo.py | 19 ++++ .../quiver_simple_demo.py | 22 +++- .../shading_example.py | 14 +++ .../specgram_demo.py | 17 ++- .../images_contours_and_fields/spy_demos.py | 16 ++- .../tricontour_demo.py | 15 +++ .../tricontour_smooth_delaunay.py | 30 ++++- .../tricontour_smooth_user.py | 21 +++- .../trigradient_demo.py | 26 ++++- .../triinterp_demo.py | 24 ++++ .../tripcolor_demo.py | 16 +++ .../triplot_demo.py | 16 +++ tutorials/advanced/transforms_tutorial.py | 6 +- 38 files changed, 757 insertions(+), 93 deletions(-) diff --git a/examples/images_contours_and_fields/affine_image.py b/examples/images_contours_and_fields/affine_image.py index 67606d932daa..fadefa089e0f 100644 --- a/examples/images_contours_and_fields/affine_image.py +++ b/examples/images_contours_and_fields/affine_image.py @@ -3,6 +3,13 @@ Affine transform of an image ============================ + +Prepending an affine transformation (:class:`~.transforms.Affine2D`) +to the :ref:`data transform <data-coords>` +of an image allows to manipulate the image's shape and orientation. +This is an example of the concept of +:ref:`transform chaining <transformation-pipeline>`. + For the backends that support draw_image with optional affine transform (e.g., agg, ps backend), the image of the output should have its boundary match the dashed yellow rectangle. @@ -57,3 +64,19 @@ def do_plot(ax, Z, transform): rotate_deg(30).skew_deg(30, 15).scale(-1, .5).translate(.5, -1)) plt.show() + + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods and classes is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.imshow +matplotlib.pyplot.imshow +matplotlib.transforms.Affine2D diff --git a/examples/images_contours_and_fields/barb_demo.py b/examples/images_contours_and_fields/barb_demo.py index 36aa86410696..00331d64a703 100644 --- a/examples/images_contours_and_fields/barb_demo.py +++ b/examples/images_contours_and_fields/barb_demo.py @@ -51,3 +51,18 @@ ax2.barbs(data['x'], data['y'], masked_u, data['v'], length=8, pivot='middle') plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods and classes is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.barbs +matplotlib.pyplot.barbs + diff --git a/examples/images_contours_and_fields/barcode_demo.py b/examples/images_contours_and_fields/barcode_demo.py index 75227d01f42e..866154523c0f 100644 --- a/examples/images_contours_and_fields/barcode_demo.py +++ b/examples/images_contours_and_fields/barcode_demo.py @@ -3,6 +3,7 @@ Barcode Demo ============ +This demo shows how to produce a one-dimensional image, or "bar code". """ import matplotlib.pyplot as plt import numpy as np @@ -19,7 +20,7 @@ fig = plt.figure() -# a vertical barcode -- this is broken at present +# a vertical barcode ax1 = fig.add_axes([0.1, 0.3, 0.1, 0.6], **axprops) ax1.imshow(x.reshape((-1, 1)), **barprops) @@ -29,3 +30,17 @@ plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods and classes is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.imshow +matplotlib.pyplot.imshow diff --git a/examples/images_contours_and_fields/contour_corner_mask.py b/examples/images_contours_and_fields/contour_corner_mask.py index 03d821959299..0482945d552b 100644 --- a/examples/images_contours_and_fields/contour_corner_mask.py +++ b/examples/images_contours_and_fields/contour_corner_mask.py @@ -3,8 +3,8 @@ Contour Corner Mask =================== -Illustrate the difference between corner_mask=False and corner_mask=True -for masked contour plots. +Illustrate the difference between ``corner_mask=False`` and +``corner_mask=True`` for masked contour plots. """ import matplotlib.pyplot as plt import numpy as np @@ -36,3 +36,19 @@ ax.plot(np.ma.array(x, mask=~mask), y, 'ro') plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions and methods is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.contour +matplotlib.pyplot.contour +matplotlib.axes.Axes.contourf +matplotlib.pyplot.contourf diff --git a/examples/images_contours_and_fields/contour_demo.py b/examples/images_contours_and_fields/contour_demo.py index 510767501628..2724d29164b1 100644 --- a/examples/images_contours_and_fields/contour_demo.py +++ b/examples/images_contours_and_fields/contour_demo.py @@ -6,15 +6,15 @@ Illustrate simple contour plotting, contours on an image with a colorbar for the contours, and labelled contours. -See also contour_image.py. +See also the +:ref:`contour image example +<sphx_glr_gallery_images_contours_and_fields_contour_image.py>`. """ import matplotlib import numpy as np import matplotlib.cm as cm import matplotlib.pyplot as plt -matplotlib.rcParams['xtick.direction'] = 'out' -matplotlib.rcParams['ytick.direction'] = 'out' delta = 0.025 x = np.arange(-3.0, 3.0, delta) @@ -116,3 +116,23 @@ CB.ax.set_position([ll, b + 0.1*h, ww, h*0.8]) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions and methods is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.contour +matplotlib.pyplot.contour +matplotlib.figure.Figure.colorbar +matplotlib.pyplot.colorbar +matplotlib.axes.Axes.clabel +matplotlib.pyplot.clabel +matplotlib.axes.Axes.set_position +matplotlib.axes.Axes.get_position diff --git a/examples/images_contours_and_fields/contour_image.py b/examples/images_contours_and_fields/contour_image.py index 94000053e159..9bfe4d9fe546 100644 --- a/examples/images_contours_and_fields/contour_image.py +++ b/examples/images_contours_and_fields/contour_image.py @@ -4,11 +4,15 @@ ============= Test combinations of contouring, filled contouring, and image plotting. -For contour labelling, see contour_demo.py. +For contour labelling, see See also the +:ref:`contour demo example +<sphx_glr_gallery_images_contours_and_fields_contour_demo.py>`. The emphasis in this demo is on showing how to make contours register correctly on images, and on how to get both of them oriented as -desired. In particular, note the usage of the "origin" and "extent" +desired. In particular, note the usage of the +:ref:`"origin" and "extent" +<sphx_glr_tutorials_intermediate_imshow_extent.py>` keyword arguments to imshow and contour. """ import matplotlib.pyplot as plt @@ -91,3 +95,23 @@ fig.tight_layout() plt.show() + + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods and classes is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.contour +matplotlib.pyplot.contour +matplotlib.axes.Axes.imshow +matplotlib.pyplot.imshow +matplotlib.figure.Figure.colorbar +matplotlib.pyplot.colorbar +matplotlib.colors.Normalize diff --git a/examples/images_contours_and_fields/contour_label_demo.py b/examples/images_contours_and_fields/contour_label_demo.py index ba5e2301b20f..b3c2c75cb801 100644 --- a/examples/images_contours_and_fields/contour_label_demo.py +++ b/examples/images_contours_and_fields/contour_label_demo.py @@ -6,7 +6,8 @@ Illustrate some of the more advanced things that one can do with contour labels. -See also contour_demo.py. +See also the :ref:`contour demo example +<sphx_glr_gallery_images_contours_and_fields_contour_demo.py>`. """ import matplotlib @@ -15,9 +16,6 @@ import matplotlib.ticker as ticker import matplotlib.pyplot as plt -matplotlib.rcParams['xtick.direction'] = 'out' -matplotlib.rcParams['ytick.direction'] = 'out' - ############################################################################### # Define our surface @@ -89,3 +87,20 @@ def __repr__(self): ax2.set_title("$100^Z$") plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods and classes is shown +# in this example: + +matplotlib.axes.Axes.contour +matplotlib.pyplot.contour +matplotlib.axes.Axes.clabel +matplotlib.pyplot.clabel +matplotlib.ticker.LogFormatterMathtext +matplotlib.ticker.TickHelper.create_dummy_axis diff --git a/examples/images_contours_and_fields/contourf_demo.py b/examples/images_contours_and_fields/contourf_demo.py index d4becd6d8ef1..04e3dd6bdd0e 100644 --- a/examples/images_contours_and_fields/contourf_demo.py +++ b/examples/images_contours_and_fields/contourf_demo.py @@ -3,7 +3,7 @@ Contourf Demo ============= -How to use the ``contourf`` function to create filled contour plots. +How to use the :meth:`.axes.Axes.contourf` method to create filled contour plots. """ import numpy as np import matplotlib.pyplot as plt @@ -105,3 +105,27 @@ ax.locator_params(nbins=4) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods and classes is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.contour +matplotlib.pyplot.contour +matplotlib.axes.Axes.contourf +matplotlib.pyplot.contourf +matplotlib.axes.Axes.clabel +matplotlib.pyplot.clabel +matplotlib.figure.Figure.colorbar +matplotlib.pyplot.colorbar +matplotlib.colors.Colormap +matplotlib.colors.Colormap.set_bad +matplotlib.colors.Colormap.set_under +matplotlib.colors.Colormap.set_over diff --git a/examples/images_contours_and_fields/contourf_hatching.py b/examples/images_contours_and_fields/contourf_hatching.py index 698f69b4ce24..ca76e7338f2d 100644 --- a/examples/images_contours_and_fields/contourf_hatching.py +++ b/examples/images_contours_and_fields/contourf_hatching.py @@ -39,3 +39,25 @@ artists, labels = cs.legend_elements() ax2.legend(artists, labels, handleheight=2) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods and classes is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.contour +matplotlib.pyplot.contour +matplotlib.axes.Axes.contourf +matplotlib.pyplot.contourf +matplotlib.figure.Figure.colorbar +matplotlib.pyplot.colorbar +matplotlib.axes.Axes.legend +matplotlib.pyplot.legend +matplotlib.contour.ContourSet +matplotlib.contour.ContourSet.legend_elements diff --git a/examples/images_contours_and_fields/contourf_log.py b/examples/images_contours_and_fields/contourf_log.py index 706ecd3d2a1f..f728946dae6c 100644 --- a/examples/images_contours_and_fields/contourf_log.py +++ b/examples/images_contours_and_fields/contourf_log.py @@ -47,3 +47,22 @@ cbar = fig.colorbar(cs) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods and classes is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.contourf +matplotlib.pyplot.contourf +matplotlib.figure.Figure.colorbar +matplotlib.pyplot.colorbar +matplotlib.axes.Axes.legend +matplotlib.pyplot.legend +matplotlib.ticker.LogLocator diff --git a/examples/images_contours_and_fields/custom_cmap.py b/examples/images_contours_and_fields/custom_cmap.py index 6c9e903cf690..4b2b98ce137f 100644 --- a/examples/images_contours_and_fields/custom_cmap.py +++ b/examples/images_contours_and_fields/custom_cmap.py @@ -3,9 +3,11 @@ Creating a colormap from a list of colors ========================================= -Creating a colormap from a list of colors can be done with the `from_list` -method of `LinearSegmentedColormap`. You must pass a list of RGB tuples that -define the mixture of colors from 0 to 1. +Creating a :ref:`colormap <sphx_glr_tutorials_colors_colormaps.py>` +from a list of colors can be done with the +:meth:`~.colors.LinearSegmentedColormap.from_list` method of +`LinearSegmentedColormap`. You must pass a list of RGB tuples that define the +mixture of colors from 0 to 1. Creating custom colormaps @@ -223,3 +225,26 @@ fig.subplots_adjust(top=0.9) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.imshow +matplotlib.pyplot.imshow +matplotlib.figure.Figure.colorbar +matplotlib.pyplot.colorbar +matplotlib.colors +matplotlib.colors.LinearSegmentedColormap +matplotlib.colors.LinearSegmentedColormap.from_list +matplotlib.cm +matplotlib.cm.ScalarMappable.set_cmap +matplotlib.pyplot.register_cmap +matplotlib.cm.register_cmap diff --git a/examples/images_contours_and_fields/demo_bboximage.py b/examples/images_contours_and_fields/demo_bboximage.py index 2e774337163d..7ea364af4f5d 100644 --- a/examples/images_contours_and_fields/demo_bboximage.py +++ b/examples/images_contours_and_fields/demo_bboximage.py @@ -1,65 +1,87 @@ """ ============== -Demo BboxImage +BboxImage Demo ============== +A :class:`~matplotlib.image.BboxImage` can be used to position +an image according to a bounding box. This demo shows how to +show an image inside a `text.Text`'s bounding box as well as +how to manually create a bounding box for the image. """ import matplotlib.pyplot as plt import numpy as np from matplotlib.image import BboxImage from matplotlib.transforms import Bbox, TransformedBbox -if __name__ == "__main__": - fig, (ax1, ax2) = plt.subplots(ncols=2) +fig, (ax1, ax2) = plt.subplots(ncols=2) - txt = ax1.text(0.5, 0.5, "test", size=30, ha="center", color="w") - kwargs = dict() +# ---------------------------- +# Create a BboxImage with Text +# ---------------------------- +txt = ax1.text(0.5, 0.5, "test", size=30, ha="center", color="w") +kwargs = dict() - bbox_image = BboxImage(txt.get_window_extent, - norm=None, - origin=None, - clip_on=False, - **kwargs - ) - a = np.arange(256).reshape(1, 256)/256. - bbox_image.set_data(a) - ax1.add_artist(bbox_image) +bbox_image = BboxImage(txt.get_window_extent, + norm=None, + origin=None, + clip_on=False, + **kwargs + ) +a = np.arange(256).reshape(1, 256)/256. +bbox_image.set_data(a) +ax1.add_artist(bbox_image) + +# ------------------------------------ +# Create a BboxImage for each colormap +# ------------------------------------ +a = np.linspace(0, 1, 256).reshape(1, -1) +a = np.vstack((a, a)) - a = np.linspace(0, 1, 256).reshape(1, -1) - a = np.vstack((a, a)) +# List of all colormaps; skip reversed colormaps. +maps = sorted(m for m in plt.cm.cmap_d if not m.endswith("_r")) - maps = sorted(m for m in plt.cm.cmap_d - if not m.endswith("_r")) # Skip reversed colormaps. +ncol = 2 +nrow = len(maps)//ncol + 1 - # fig.subplots_adjust(top=0.99, bottom=0.01, left=0.2, right=0.99) +xpad_fraction = 0.3 +dx = 1./(ncol + xpad_fraction*(ncol - 1)) - ncol = 2 - nrow = len(maps)//ncol + 1 +ypad_fraction = 0.3 +dy = 1./(nrow + ypad_fraction*(nrow - 1)) - xpad_fraction = 0.3 - dx = 1./(ncol + xpad_fraction*(ncol - 1)) +for i, m in enumerate(maps): + ix, iy = divmod(i, nrow) - ypad_fraction = 0.3 - dy = 1./(nrow + ypad_fraction*(nrow - 1)) + bbox0 = Bbox.from_bounds(ix*dx*(1 + xpad_fraction), + 1. - iy*dy*(1 + ypad_fraction) - dy, + dx, dy) + bbox = TransformedBbox(bbox0, ax2.transAxes) - for i, m in enumerate(maps): - ix, iy = divmod(i, nrow) - # plt.figimage(a, 10, i*10, cmap=plt.get_cmap(m), origin='lower') - bbox0 = Bbox.from_bounds(ix*dx*(1 + xpad_fraction), - 1. - iy*dy*(1 + ypad_fraction) - dy, - dx, dy) - bbox = TransformedBbox(bbox0, ax2.transAxes) + bbox_image = BboxImage(bbox, + cmap=plt.get_cmap(m), + norm=None, + origin=None, + **kwargs + ) + + bbox_image.set_data(a) + ax2.add_artist(bbox_image) - bbox_image = BboxImage(bbox, - cmap=plt.get_cmap(m), - norm=None, - origin=None, - **kwargs - ) +plt.show() - bbox_image.set_data(a) - ax2.add_artist(bbox_image) +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: - plt.draw() - plt.show() +import matplotlib +matplotlib.image.BboxImage +matplotlib.transforms.Bbox +matplotlib.transforms.TransformedBbox +matplotlib.text.Text diff --git a/examples/images_contours_and_fields/figimage_demo.py b/examples/images_contours_and_fields/figimage_demo.py index 1c4ef70a2939..b2ce013d77a5 100644 --- a/examples/images_contours_and_fields/figimage_demo.py +++ b/examples/images_contours_and_fields/figimage_demo.py @@ -20,3 +20,17 @@ im2 = fig.figimage(Z, xo=100, yo=100, alpha=.8, origin='lower') plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +matplotlib.figure.Figure +matplotlib.figure.Figure.figimage +matplotlib.pyplot.figimage diff --git a/examples/images_contours_and_fields/image_clip_path.py b/examples/images_contours_and_fields/image_clip_path.py index e444ee1195bf..e8c3d4fe1abd 100644 --- a/examples/images_contours_and_fields/image_clip_path.py +++ b/examples/images_contours_and_fields/image_clip_path.py @@ -20,3 +20,18 @@ ax.axis('off') plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions and methods is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.imshow +matplotlib.pyplot.imshow +matplotlib.artist.Artist.set_clip_path diff --git a/examples/images_contours_and_fields/image_demo.py b/examples/images_contours_and_fields/image_demo.py index a527446d5958..c7d0cdf5b154 100644 --- a/examples/images_contours_and_fields/image_demo.py +++ b/examples/images_contours_and_fields/image_demo.py @@ -6,7 +6,7 @@ Many ways to plot images in Matplotlib. The most common way to plot images in Matplotlib is with -imshow. The following examples demonstrate much of the +:meth:`~.axes.Axes.imshow`. The following examples demonstrate much of the functionality of imshow and the many images you can create. """ @@ -114,7 +114,8 @@ # This allows you to plot the full range of your array w/o edge effects, # and for example to layer multiple images of different sizes over one # another with different interpolation methods - see -# examples/layer_images.py. It also implies a performance hit, as this +# :ref:`sphx_glr_gallery_images_contours_and_fields_layer_images.py`. +# It also implies a performance hit, as this # new temporary, padded array must be created. Sophisticated # interpolation also implies a performance hit, so if you need maximal # performance or have very large images, interpolation='nearest' is @@ -135,7 +136,9 @@ # You can specify whether images should be plotted with the array origin # x[0,0] in the upper left or lower right by using the origin parameter. # You can also control the default setting image.origin in your -# :ref:`matplotlibrc file <customizing-with-matplotlibrc-files>` +# :ref:`matplotlibrc file <customizing-with-matplotlibrc-files>`. For more on +# this topic see the :ref:`complete guide on origin and extent +# <sphx_glr_tutorials_intermediate_imshow_extent.py>`. x = np.arange(120).reshape((10, 12)) @@ -171,3 +174,19 @@ im.set_clip_path(patch) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions and methods is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.imshow +matplotlib.pyplot.imshow +matplotlib.artist.Artist.set_clip_path +matplotlib.patches.PathPatch diff --git a/examples/images_contours_and_fields/image_masked.py b/examples/images_contours_and_fields/image_masked.py index cadba0fe9e49..af718c8536b7 100644 --- a/examples/images_contours_and_fields/image_masked.py +++ b/examples/images_contours_and_fields/image_masked.py @@ -73,3 +73,22 @@ fig.suptitle('imshow, with out-of-range and masked data') plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions and methods is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.imshow +matplotlib.pyplot.imshow +matplotlib.figure.Figure.colorbar +matplotlib.pyplot.colorbar +matplotlib.colors.BoundaryNorm +matplotlib.colorbar.ColorbarBase.set_label + diff --git a/examples/images_contours_and_fields/image_transparency_blend.py b/examples/images_contours_and_fields/image_transparency_blend.py index 0f9ce59506aa..ad2f76ef3c95 100644 --- a/examples/images_contours_and_fields/image_transparency_blend.py +++ b/examples/images_contours_and_fields/image_transparency_blend.py @@ -124,3 +124,21 @@ def normal_pdf(x, mean, var): ax.contour(weights[::-1], levels=[-.0001, .0001], colors='k', linestyles='-') ax.set_axis_off() plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods and classes is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.imshow +matplotlib.pyplot.imshow +matplotlib.axes.Axes.contour +matplotlib.pyplot.contour +matplotlib.colors.Normalize +matplotlib.axes.Axes.set_axis_off diff --git a/examples/images_contours_and_fields/interpolation_methods.py b/examples/images_contours_and_fields/interpolation_methods.py index 9318376f2837..3e90986237b6 100644 --- a/examples/images_contours_and_fields/interpolation_methods.py +++ b/examples/images_contours_and_fields/interpolation_methods.py @@ -3,16 +3,17 @@ Interpolations for imshow/matshow ================================= -This example displays the difference between interpolation methods for imshow -and matshow. +This example displays the difference between interpolation methods for +:meth:`~.axes.Axes.imshow` and :meth:`~.axes.Axes.matshow`. -If `interpolation` is None, it defaults to the rc image.interpolation -parameter. If the interpolation is `none`, then no interpolation is performed -for the Agg, ps and pdf backends. Other backends will default to 'nearest'. +If `interpolation` is None, it defaults to the ``image.interpolation`` +:ref:`rc parameter <sphx_glr_tutorials_introductory_customizing.py>`. +If the interpolation is ``'none'``, then no interpolation is performed +for the Agg, ps and pdf backends. Other backends will default to ``'nearest'``. -For the Agg, ps and pdf backends, interpolation = 'none' works well when a big -image is scaled down, while interpolation = 'nearest' works well when a small -image is scaled up. +For the Agg, ps and pdf backends, ``interpolation = 'none'`` works well when a +big image is scaled down, while ``interpolation = 'nearest'`` works well when +a small image is scaled up. """ import matplotlib.pyplot as plt @@ -27,10 +28,10 @@ grid = np.random.rand(4, 4) -fig, axs = plt.subplots(nrows=3, ncols=6, figsize=(9, 4.5), +fig, axs = plt.subplots(nrows=3, ncols=6, figsize=(9.3, 6), subplot_kw={'xticks': [], 'yticks': []}) -fig.subplots_adjust(hspace=0.3, wspace=0.05) +fig.subplots_adjust(left=0.03, right=0.97, hspace=0.3, wspace=0.05) for ax, interp_method in zip(axs.flat, methods): ax.imshow(grid, interpolation=interp_method, cmap='viridis') @@ -38,3 +39,17 @@ plt.tight_layout() plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions and methods is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.imshow +matplotlib.pyplot.imshow diff --git a/examples/images_contours_and_fields/layer_images.py b/examples/images_contours_and_fields/layer_images.py index 8209741c02ea..5b2ba0738a68 100644 --- a/examples/images_contours_and_fields/layer_images.py +++ b/examples/images_contours_and_fields/layer_images.py @@ -40,3 +40,17 @@ def func3(x, y): extent=extent) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions and methods is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.imshow +matplotlib.pyplot.imshow diff --git a/examples/images_contours_and_fields/matshow.py b/examples/images_contours_and_fields/matshow.py index ce940670a7c2..4980e116a110 100644 --- a/examples/images_contours_and_fields/matshow.py +++ b/examples/images_contours_and_fields/matshow.py @@ -3,7 +3,7 @@ Matshow ======= -Simple matshow() example. +Simple `~.axes.Axes.matshow` example. """ import matplotlib.pyplot as plt import numpy as np @@ -21,3 +21,17 @@ def samplemat(dims): plt.matshow(samplemat((15, 15))) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions and methods is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.matshow +matplotlib.pyplot.matshow diff --git a/examples/images_contours_and_fields/multi_image.py b/examples/images_contours_and_fields/multi_image.py index 6f6b3565b3bf..e8df23d1d81e 100644 --- a/examples/images_contours_and_fields/multi_image.py +++ b/examples/images_contours_and_fields/multi_image.py @@ -51,3 +51,24 @@ def update(changed_image): im.callbacksSM.connect('changed', update) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods and classes is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.imshow +matplotlib.pyplot.imshow +matplotlib.figure.Figure.colorbar +matplotlib.pyplot.colorbar +matplotlib.colors.Normalize +matplotlib.cm.ScalarMappable.set_cmap +matplotlib.cm.ScalarMappable.set_norm +matplotlib.cm.ScalarMappable.set_clim +matplotlib.cbook.CallbackRegistry.connect diff --git a/examples/images_contours_and_fields/pcolor_demo.py b/examples/images_contours_and_fields/pcolor_demo.py index 37927f241318..551b3238d145 100644 --- a/examples/images_contours_and_fields/pcolor_demo.py +++ b/examples/images_contours_and_fields/pcolor_demo.py @@ -3,10 +3,10 @@ Pcolor Demo =========== -Generating images with pcolor. +Generating images with :meth:`~.axes.Axes.pcolor`. Pcolor allows you to generate 2-D image-style plots. Below we will show how -to do so in Matplotlib. +to do so in Matplotlib. """ import matplotlib.pyplot as plt import numpy as np @@ -33,8 +33,9 @@ # Comparing pcolor with similar functions # --------------------------------------- # -# Demonstrates similarities between pcolor, pcolormesh, imshow and pcolorfast -# for drawing quadrilateral grids. +# Demonstrates similarities between :meth:`~.axes.Axes.pcolor`, +# :meth:`~.axes.Axes.pcolormesh`, :meth:`~.axes.Axes.imshow` and +# :meth:`~.axes.Axes.pcolorfast` for drawing quadrilateral grids. # make these smaller to increase the resolution dx, dy = 0.15, 0.05 @@ -106,3 +107,25 @@ fig.colorbar(c, ax=ax1) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods and classes is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.pcolor +matplotlib.pyplot.pcolor +matplotlib.axes.Axes.pcolormesh +matplotlib.pyplot.pcolormesh +matplotlib.axes.Axes.pcolorfast +matplotlib.axes.Axes.imshow +matplotlib.pyplot.imshow +matplotlib.figure.Figure.colorbar +matplotlib.pyplot.colorbar +matplotlib.colors.LogNorm diff --git a/examples/images_contours_and_fields/pcolormesh_levels.py b/examples/images_contours_and_fields/pcolormesh_levels.py index 1a75b129aa28..f5554a3d4641 100644 --- a/examples/images_contours_and_fields/pcolormesh_levels.py +++ b/examples/images_contours_and_fields/pcolormesh_levels.py @@ -4,7 +4,8 @@ ========== Shows how to combine Normalization and Colormap instances to draw -"levels" in pcolor, pcolormesh and imshow type plots in a similar +"levels" in :meth:`~.axes.Axes.pcolor`, :meth:`~.axes.Axes.pcolormesh` +and :meth:`~.axes.Axes.imshow` type plots in a similar way to the levels keyword argument to contour/contourf. """ @@ -67,5 +68,10 @@ # The use of the following functions and methods is shown in this example: matplotlib.axes.Axes.pcolormesh +matplotlib.pyplot.pcolormesh matplotlib.axes.Axes.contourf +matplotlib.pyplot.contourf matplotlib.figure.Figure.colorbar +matplotlib.pyplot.colorbar +matplotlib.colors.BoundaryNorm +matplotlib.ticker.MaxNLocator diff --git a/examples/images_contours_and_fields/plot_streamplot.py b/examples/images_contours_and_fields/plot_streamplot.py index bf57db9a0e33..2f577c76d421 100644 --- a/examples/images_contours_and_fields/plot_streamplot.py +++ b/examples/images_contours_and_fields/plot_streamplot.py @@ -4,7 +4,7 @@ ========== A stream plot, or streamline plot, is used to display 2D vector fields. This -example shows a few features of the streamplot function: +example shows a few features of the :meth:`~.axes.Axes.streamplot` function: * Varying the color along a streamline. * Varying the density of streamlines. @@ -71,3 +71,18 @@ plt.tight_layout() plt.show() +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions and methods is shown in this example: + +import matplotlib +matplotlib.axes.Axes.streamplot +matplotlib.pyplot.streamplot +matplotlib.gridspec +matplotlib.gridspec.GridSpec + diff --git a/examples/images_contours_and_fields/quadmesh_demo.py b/examples/images_contours_and_fields/quadmesh_demo.py index 0c133e34200d..0e517a886a10 100644 --- a/examples/images_contours_and_fields/quadmesh_demo.py +++ b/examples/images_contours_and_fields/quadmesh_demo.py @@ -3,8 +3,8 @@ QuadMesh Demo ============= -pcolormesh uses a QuadMesh, a faster generalization of pcolor, but -with some restrictions. +`~.axes.Axes.pcolormesh` uses a `~matplotlib.collections.QuadMesh`, +a faster generalization of `~.axes.Axes.pcolor`, but with some restrictions. This demo illustrates a bug in quadmesh with masked data. """ @@ -30,7 +30,7 @@ axs[0].pcolormesh(Qx, Qz, Z, shading='gouraud') axs[0].set_title('Without masked values') -# You can control the color of the masked region. We copy the default colormap +# You can control the color of the masked region. We copy the default colormap # before modifying it. cmap = copy.copy(cm.get_cmap(plt.rcParams['image.cmap'])) cmap.set_bad('y', 1.0) @@ -43,3 +43,16 @@ fig.tight_layout() plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions and methods is shown in this example: + +import matplotlib +matplotlib.axes.Axes.pcolormesh +matplotlib.pyplot.pcolormesh diff --git a/examples/images_contours_and_fields/quiver_demo.py b/examples/images_contours_and_fields/quiver_demo.py index 636a046ee0d5..281a9854d130 100644 --- a/examples/images_contours_and_fields/quiver_demo.py +++ b/examples/images_contours_and_fields/quiver_demo.py @@ -3,6 +3,10 @@ Demonstration of advanced quiver and quiverkey functions ======================================================== +Demonstrates some more advanced options for `~.axes.Axes.quiver`. +For a simple example refer to +:ref:`sphx_glr_gallery_images_contours_and_fields_quiver_simple_demo.py`. + Known problem: the plot autoscaling does not take into account the arrows, so those on the boundaries are often out of the picture. This is *not* an easy problem to solve in a perfectly general way. @@ -46,3 +50,18 @@ ax3.scatter(X, Y, color='k', s=5) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions and methods is shown in this example: + +import matplotlib +matplotlib.axes.Axes.quiver +matplotlib.pyplot.quiver +matplotlib.axes.Axes.quiverkey +matplotlib.pyplot.quiverkey diff --git a/examples/images_contours_and_fields/quiver_simple_demo.py b/examples/images_contours_and_fields/quiver_simple_demo.py index f4df0bbcc155..39349abac095 100644 --- a/examples/images_contours_and_fields/quiver_simple_demo.py +++ b/examples/images_contours_and_fields/quiver_simple_demo.py @@ -3,7 +3,11 @@ Quiver Simple Demo ================== -A simple example of a quiver plot with a quiverkey. +A simple example of a `~.axes.Axes.quiver` plot with a +`~.axes.Axes.quiverkey`. + +For more advanced options refer to +:ref:`sphx_glr_gallery_images_contours_and_fields_quiver_demo.py`. """ import matplotlib.pyplot as plt import numpy as np @@ -18,3 +22,19 @@ label='Quiver key, length = 10', labelpos='E') plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions and methods is shown in this example: + +import matplotlib +matplotlib.axes.Axes.quiver +matplotlib.pyplot.quiver +matplotlib.axes.Axes.quiverkey +matplotlib.pyplot.quiverkey + diff --git a/examples/images_contours_and_fields/shading_example.py b/examples/images_contours_and_fields/shading_example.py index ef8d171a300e..f97aa8efe12f 100644 --- a/examples/images_contours_and_fields/shading_example.py +++ b/examples/images_contours_and_fields/shading_example.py @@ -61,3 +61,17 @@ def compare(z, cmap, ve=1): if __name__ == '__main__': main() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods and classes is shown in this example: + +import matplotlib +matplotlib.colors.LightSource +matplotlib.axes.Axes.imshow +matplotlib.pyplot.imshow diff --git a/examples/images_contours_and_fields/specgram_demo.py b/examples/images_contours_and_fields/specgram_demo.py index 681ac2ba36e6..f10f518739d6 100644 --- a/examples/images_contours_and_fields/specgram_demo.py +++ b/examples/images_contours_and_fields/specgram_demo.py @@ -3,7 +3,8 @@ Spectrogram Demo ================ -Demo of a spectrogram plot. +Demo of a spectrogram plot +(:meth:`~.axes.Axes.specgram`). """ import matplotlib.pyplot as plt import numpy as np @@ -36,3 +37,17 @@ # - bins: the centers of the time bins # - im: the matplotlib.image.AxesImage instance representing the data in the plot plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.specgram +matplotlib.pyplot.specgram diff --git a/examples/images_contours_and_fields/spy_demos.py b/examples/images_contours_and_fields/spy_demos.py index 2a518375ec6e..a24f134e407c 100644 --- a/examples/images_contours_and_fields/spy_demos.py +++ b/examples/images_contours_and_fields/spy_demos.py @@ -3,7 +3,7 @@ Spy Demos ========= -Plot the sparsity pattern of arrays +Plot the sparsity pattern of arrays. """ import matplotlib.pyplot as plt @@ -26,3 +26,17 @@ ax4.spy(x, precision=0.1) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods and classes is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.spy +matplotlib.pyplot.spy diff --git a/examples/images_contours_and_fields/tricontour_demo.py b/examples/images_contours_and_fields/tricontour_demo.py index 130ddfb02bcb..e39e73c12b81 100644 --- a/examples/images_contours_and_fields/tricontour_demo.py +++ b/examples/images_contours_and_fields/tricontour_demo.py @@ -110,3 +110,18 @@ ax2.set_ylabel('Latitude (degrees)') plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods and classes is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.tricontourf +matplotlib.pyplot.tricontourf +matplotlib.tri.Triangulation diff --git a/examples/images_contours_and_fields/tricontour_smooth_delaunay.py b/examples/images_contours_and_fields/tricontour_smooth_delaunay.py index 0af199b2fc68..6b3566fd64d4 100644 --- a/examples/images_contours_and_fields/tricontour_smooth_delaunay.py +++ b/examples/images_contours_and_fields/tricontour_smooth_delaunay.py @@ -4,7 +4,7 @@ ========================== Demonstrates high-resolution tricontouring of a random set of points ; -a matplotlib.tri.TriAnalyzer is used to improve the plot quality. +a `matplotlib.tri.TriAnalyzer` is used to improve the plot quality. The initial data points and triangular grid for this demo are: @@ -16,12 +16,12 @@ The proposed generic procedure to obtain a high resolution contouring of such a data set is the following: -1. Compute an extended mask with a matplotlib.tri.TriAnalyzer, which will +1. Compute an extended mask with a `matplotlib.tri.TriAnalyzer`, which will exclude badly shaped (flat) triangles from the border of the triangulation. Apply the mask to the triangulation (using set_mask). 2. Refine and interpolate the data using a - matplotlib.tri.UniformTriRefiner. -3. Plot the refined data with tricontour. + `matplotlib.tri.UniformTriRefiner`. +3. Plot the refined data with `~.axes.Axes.tricontour`. """ from matplotlib.tri import Triangulation, TriAnalyzer, UniformTriRefiner @@ -137,3 +137,25 @@ def experiment_res(x, y): ax.triplot(flat_tri, color='red') plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.tricontour +matplotlib.pyplot.tricontour +matplotlib.axes.Axes.tricontourf +matplotlib.pyplot.tricontourf +matplotlib.axes.Axes.triplot +matplotlib.pyplot.triplot +matplotlib.tri +matplotlib.tri.Triangulation +matplotlib.tri.TriAnalyzer +matplotlib.tri.UniformTriRefiner diff --git a/examples/images_contours_and_fields/tricontour_smooth_user.py b/examples/images_contours_and_fields/tricontour_smooth_user.py index 42b235d5543a..8ab61348107c 100644 --- a/examples/images_contours_and_fields/tricontour_smooth_user.py +++ b/examples/images_contours_and_fields/tricontour_smooth_user.py @@ -4,7 +4,7 @@ ====================== Demonstrates high-resolution tricontouring on user-defined triangular grids -with matplotlib.tri.UniformTriRefiner +with `matplotlib.tri.UniformTriRefiner`. """ import matplotlib.tri as tri import matplotlib.pyplot as plt @@ -76,3 +76,22 @@ def function_z(x, y): ax.set_title("High-resolution tricontouring") plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.tricontour +matplotlib.pyplot.tricontour +matplotlib.axes.Axes.tricontourf +matplotlib.pyplot.tricontourf +matplotlib.tri +matplotlib.tri.Triangulation +matplotlib.tri.UniformTriRefiner diff --git a/examples/images_contours_and_fields/trigradient_demo.py b/examples/images_contours_and_fields/trigradient_demo.py index 911b49402762..0f7881bebc9f 100644 --- a/examples/images_contours_and_fields/trigradient_demo.py +++ b/examples/images_contours_and_fields/trigradient_demo.py @@ -3,7 +3,8 @@ Trigradient Demo ================ -Demonstrates computation of gradient with matplotlib.tri.CubicTriInterpolator. +Demonstrates computation of gradient with +`matplotlib.tri.CubicTriInterpolator`. """ from matplotlib.tri import ( Triangulation, UniformTriRefiner, CubicTriInterpolator) @@ -85,3 +86,26 @@ def dipole_potential(x, y): ax.set_title('Gradient plot: an electrical dipole') plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.tricontour +matplotlib.pyplot.tricontour +matplotlib.axes.Axes.triplot +matplotlib.pyplot.triplot +matplotlib.tri +matplotlib.tri.Triangulation +matplotlib.tri.CubicTriInterpolator +matplotlib.tri.CubicTriInterpolator.gradient +matplotlib.tri.UniformTriRefiner +matplotlib.axes.Axes.quiver +matplotlib.pyplot.quiver diff --git a/examples/images_contours_and_fields/triinterp_demo.py b/examples/images_contours_and_fields/triinterp_demo.py index 650a4b621fe1..087a2839ac11 100644 --- a/examples/images_contours_and_fields/triinterp_demo.py +++ b/examples/images_contours_and_fields/triinterp_demo.py @@ -58,3 +58,27 @@ fig.tight_layout() plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.tricontourf +matplotlib.pyplot.tricontourf +matplotlib.axes.Axes.triplot +matplotlib.pyplot.triplot +matplotlib.axes.Axes.contourf +matplotlib.pyplot.contourf +matplotlib.axes.Axes.plot +matplotlib.pyplot.plot +matplotlib.tri +matplotlib.tri.LinearTriInterpolator +matplotlib.tri.CubicTriInterpolator +matplotlib.tri.Triangulation diff --git a/examples/images_contours_and_fields/tripcolor_demo.py b/examples/images_contours_and_fields/tripcolor_demo.py index 877d434ae1e1..67f638ad4364 100644 --- a/examples/images_contours_and_fields/tripcolor_demo.py +++ b/examples/images_contours_and_fields/tripcolor_demo.py @@ -124,3 +124,19 @@ ax3.set_ylabel('Latitude (degrees)') plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.tripcolor +matplotlib.pyplot.tripcolor +matplotlib.tri +matplotlib.tri.Triangulation diff --git a/examples/images_contours_and_fields/triplot_demo.py b/examples/images_contours_and_fields/triplot_demo.py index 0efc7011b4a8..836848205e35 100644 --- a/examples/images_contours_and_fields/triplot_demo.py +++ b/examples/images_contours_and_fields/triplot_demo.py @@ -104,3 +104,19 @@ ax2.set_ylabel('Latitude (degrees)') plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.triplot +matplotlib.pyplot.triplot +matplotlib.tri +matplotlib.tri.Triangulation diff --git a/tutorials/advanced/transforms_tutorial.py b/tutorials/advanced/transforms_tutorial.py index 409991faf6d2..439d1898b2fe 100644 --- a/tutorials/advanced/transforms_tutorial.py +++ b/tutorials/advanced/transforms_tutorial.py @@ -242,7 +242,7 @@ plt.show() ############################################################################### -# .. blended_transformations: +# .. _blended_transformations: # # Blended transformations # ======================= @@ -303,7 +303,7 @@ # # trans = ax.get_xaxis_transform() # -# .. offset-transforms-shadow: +# .. _offset-transforms-shadow: # # Using offset transforms to create a shadow effect # ================================================= @@ -371,7 +371,7 @@ plt.show() ############################################################################### -# .. transformation-pipeline: +# .. _transformation-pipeline: # # The transformation pipeline # =========================== From d52a6c4b9fccfddb677f194229c84373e201bd5b Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Mon, 7 May 2018 16:27:55 -0700 Subject: [PATCH 0628/1161] TST: remove stringent test to repr in test_scales --- lib/matplotlib/tests/test_scale.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/matplotlib/tests/test_scale.py b/lib/matplotlib/tests/test_scale.py index 1f24f02f4611..07cebd56f7db 100644 --- a/lib/matplotlib/tests/test_scale.py +++ b/lib/matplotlib/tests/test_scale.py @@ -89,9 +89,8 @@ def test_logscale_transform_repr(): ax.set_yscale('log') s = repr(ax.transData) - # check that repr of log transform returns correct string + # check that repr of log transform succeeds s = repr(Log10Transform(nonpos='clip')) - assert s == "Log10Transform({!r})".format('clip') @image_comparison(baseline_images=['logscale_nonpos_values'], remove_text=True, From b3d5b404412a4c57f1d91d2fe89276c806424739 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Mon, 7 May 2018 16:37:01 -0700 Subject: [PATCH 0629/1161] DOC: minor tweaks to manual backport instructions --- doc/devel/coding_guide.rst | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/doc/devel/coding_guide.rst b/doc/devel/coding_guide.rst index 7f2715c4eb40..1e47b9511416 100644 --- a/doc/devel/coding_guide.rst +++ b/doc/devel/coding_guide.rst @@ -148,12 +148,26 @@ We do a backport from master to v2.2.x assuming: The ``TARGET_SHA`` is the hash of the merge commit you would like to backport. This can be read off of the github PR page (in the UI with -the merge notification) or through the git CLI tools.:: +the merge notification) or through the git CLI tools. - git fetch matplotlib - git checkout v2.2.x - git merge --ff-only matplotlib/v2.2.x +Assuming that you already have a local branch ``v2.2.x`` (if not, then +``git checkout -b v2.2.x``), and that your remote pointing to +``https://github.com/matplotlib/matplotlib`` is called ``upstream``:: + + git fetch upstream + git checkout v2.2.x # or include -b if you don't already have this. + git reset --hard upstream/v2.2.x git cherry-pick -m 1 TARGET_SHA # resolve conflicts and commit if required -Use your discretion to push directly to upstream or to open a PR. +Files with conflicts can be listed by `git status`, +and will have to be fixed by hand (search on ``>>>>>``). Once +the conflict is resolved, you will have to re-add the file(s) to the branch +and then continue the cherry pick:: + + git add lib/matplotlib/conflicted_file.py + git add lib/matplotlib/conflicted_file2.py + git cherry-pick --continue + +Use your discretion to push directly to upstream or to open a PR; be +sure to push or PR against the `v2.2.x` upstream branch, not `master`! From 6be9c9f5f29cea02940014e4b107de4382785d0a Mon Sep 17 00:00:00 2001 From: Zac-HD <zac.hatfield.dodds@gmail.com> Date: Sat, 28 Apr 2018 00:11:00 +1000 Subject: [PATCH 0630/1161] Use named args for xticks, yticks in pyplot --- lib/matplotlib/pyplot.py | 36 ++++++++++++++++-------------------- 1 file changed, 16 insertions(+), 20 deletions(-) diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index 8a32370f2ab1..b06801ce7cbd 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -1365,7 +1365,7 @@ def ylim(*args, **kwargs): return ret -def xticks(*args, **kwargs): +def xticks(ticks=None, labels=None, **kwargs): """ Get or set the current tick locations and labels of the x-axis. @@ -1373,11 +1373,11 @@ def xticks(*args, **kwargs): locs, labels = xticks() # Get locations and labels - xticks(locs, [labels], **kwargs) # Set locations and labels + xticks(ticks, [labels], **kwargs) # Set locations and labels Parameters ---------- - locs : array_like + ticks : array_like A list of positions at which ticks should be placed. You can pass an empty list to disable xticks. @@ -1427,24 +1427,22 @@ def xticks(*args, **kwargs): """ ax = gca() - if len(args) == 0: + if ticks is None and labels is None: locs = ax.get_xticks() labels = ax.get_xticklabels() - elif len(args) == 1: - locs = ax.set_xticks(args[0]) + elif labels is None: + locs = ax.set_xticks(ticks) labels = ax.get_xticklabels() - elif len(args) == 2: - locs = ax.set_xticks(args[0]) - labels = ax.set_xticklabels(args[1], **kwargs) else: - raise TypeError('Illegal number of arguments to xticks') + locs = ax.set_xticks(ticks) + labels = ax.set_xticklabels(labels, **kwargs) for l in labels: l.update(kwargs) return locs, silent_list('Text xticklabel', labels) -def yticks(*args, **kwargs): +def yticks(ticks=None, labels=None, **kwargs): """ Get or set the current tick locations and labels of the y-axis. @@ -1452,11 +1450,11 @@ def yticks(*args, **kwargs): locs, labels = yticks() # Get locations and labels - yticks(locs, [labels], **kwargs) # Set locations and labels + yticks(ticks, [labels], **kwargs) # Set locations and labels Parameters ---------- - locs : array_like + ticks : array_like A list of positions at which ticks should be placed. You can pass an empty list to disable yticks. @@ -1506,17 +1504,15 @@ def yticks(*args, **kwargs): """ ax = gca() - if len(args) == 0: + if ticks is None and labels is None: locs = ax.get_yticks() labels = ax.get_yticklabels() - elif len(args) == 1: - locs = ax.set_yticks(args[0]) + elif labels is None: + locs = ax.set_yticks(ticks) labels = ax.get_yticklabels() - elif len(args) == 2: - locs = ax.set_yticks(args[0]) - labels = ax.set_yticklabels(args[1], **kwargs) else: - raise TypeError('Illegal number of arguments to yticks') + locs = ax.set_yticks(ticks) + labels = ax.set_yticklabels(labels, **kwargs) for l in labels: l.update(kwargs) From 09991e6cab0b33964021ce962309c9b865d98d20 Mon Sep 17 00:00:00 2001 From: Zac-HD <zac.hatfield.dodds@gmail.com> Date: Sat, 28 Apr 2018 01:23:13 +1000 Subject: [PATCH 0631/1161] Clarify and check alternative names for axis limits --- doc/api/next_api_changes/2018-04-22-ZHD.rst | 10 +++ lib/matplotlib/axes/_base.py | 68 +++++++++++++-------- lib/mpl_toolkits/mplot3d/axes3d.py | 66 ++++++++++++-------- 3 files changed, 96 insertions(+), 48 deletions(-) create mode 100644 doc/api/next_api_changes/2018-04-22-ZHD.rst diff --git a/doc/api/next_api_changes/2018-04-22-ZHD.rst b/doc/api/next_api_changes/2018-04-22-ZHD.rst new file mode 100644 index 000000000000..e069f2f00bde --- /dev/null +++ b/doc/api/next_api_changes/2018-04-22-ZHD.rst @@ -0,0 +1,10 @@ +Different exception types for undocumented options +-------------------------------------------------- + +- Passing the undocumented ``xmin`` or ``xmax`` arguments to + :meth:`~matplotlib.axes.Axes.set_xlim` would silently override the ``left`` + and ``right`` arguments. :meth:`~matplotlib.axes.Axes.set_ylim` and the + 3D equivalents (e.g. :meth:`~mpl_toolkits.axes.Axes3D.set_zlim3d`) had a + corresponding problem. + The ``_min`` and ``_max`` arguments are now deprecated, and a ``TypeError`` + will be raised if they would override the earlier limit arguments. diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index e50e129ecb3e..19762e83bf2b 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -3028,7 +3028,8 @@ def _validate_converted_limits(self, limit, convert): raise ValueError("Axis limits cannot be NaN or Inf") return converted_limit - def set_xlim(self, left=None, right=None, emit=True, auto=False, **kw): + def set_xlim(self, left=None, right=None, emit=True, auto=False, + *, xmin=None, xmax=None): """ Set the data limits for the x-axis @@ -3039,6 +3040,9 @@ def set_xlim(self, left=None, right=None, emit=True, auto=False, **kw): left : scalar, optional The left xlim (default: None, which leaves the left limit unchanged). + The left and right xlims may be passed as the tuple + (`left`, `right`) as the first positional argument (or as + the `left` keyword argument). right : scalar, optional The right xlim (default: None, which leaves the right limit @@ -3051,10 +3055,11 @@ def set_xlim(self, left=None, right=None, emit=True, auto=False, **kw): Whether to turn on autoscaling of the x-axis. True turns on, False turns off (default action), None leaves unchanged. - xlimits : tuple, optional - The left and right xlims may be passed as the tuple - (`left`, `right`) as the first positional argument (or as - the `left` keyword argument). + xmin, xmax : scalar, optional + These arguments are deprecated and will be removed in a future + version. They are equivalent to left and right respectively, + and it is an error to pass both `xmin` and `left` or + `xmax` and `right`. Returns ------- @@ -3085,15 +3090,20 @@ def set_xlim(self, left=None, right=None, emit=True, auto=False, **kw): >>> set_xlim(5000, 0) """ - if 'xmin' in kw: - left = kw.pop('xmin') - if 'xmax' in kw: - right = kw.pop('xmax') - if kw: - raise ValueError("unrecognized kwargs: %s" % list(kw)) - if right is None and iterable(left): left, right = left + if xmin is not None: + cbook.warn_deprecated('3.0', name='`xmin`', + alternative='`left`', obj_type='argument') + if left is not None: + raise TypeError('Cannot pass both `xmin` and `left`') + left = xmin + if xmax is not None: + cbook.warn_deprecated('3.0', name='`xmax`', + alternative='`right`', obj_type='argument') + if right is not None: + raise TypeError('Cannot pass both `xmax` and `right`') + right = xmax self._process_unit_info(xdata=(left, right)) left = self._validate_converted_limits(left, self.convert_xunits) @@ -3358,7 +3368,8 @@ def get_ylim(self): """ return tuple(self.viewLim.intervaly) - def set_ylim(self, bottom=None, top=None, emit=True, auto=False, **kw): + def set_ylim(self, bottom=None, top=None, emit=True, auto=False, + *, ymin=None, ymax=None): """ Set the data limits for the y-axis @@ -3369,6 +3380,9 @@ def set_ylim(self, bottom=None, top=None, emit=True, auto=False, **kw): bottom : scalar, optional The bottom ylim (default: None, which leaves the bottom limit unchanged). + The bottom and top ylims may be passed as the tuple + (`bottom`, `top`) as the first positional argument (or as + the `bottom` keyword argument). top : scalar, optional The top ylim (default: None, which leaves the top limit @@ -3381,10 +3395,11 @@ def set_ylim(self, bottom=None, top=None, emit=True, auto=False, **kw): Whether to turn on autoscaling of the y-axis. True turns on, False turns off (default action), None leaves unchanged. - ylimits : tuple, optional - The bottom and top yxlims may be passed as the tuple - (`bottom`, `top`) as the first positional argument (or as - the `bottom` keyword argument). + ymin, ymax : scalar, optional + These arguments are deprecated and will be removed in a future + version. They are equivalent to bottom and top respectively, + and it is an error to pass both `xmin` and `bottom` or + `xmax` and `top`. Returns ------- @@ -3414,15 +3429,20 @@ def set_ylim(self, bottom=None, top=None, emit=True, auto=False, **kw): >>> set_ylim(5000, 0) """ - if 'ymin' in kw: - bottom = kw.pop('ymin') - if 'ymax' in kw: - top = kw.pop('ymax') - if kw: - raise ValueError("unrecognized kwargs: %s" % list(kw)) - if top is None and iterable(bottom): bottom, top = bottom + if ymin is not None: + cbook.warn_deprecated('3.0', name='`ymin`', + alternative='`bottom`', obj_type='argument') + if bottom is not None: + raise TypeError('Cannot pass both `ymin` and `bottom`') + bottom = ymin + if ymax is not None: + cbook.warn_deprecated('3.0', name='`ymax`', + alternative='`top`', obj_type='argument') + if top is not None: + raise TypeError('Cannot pass both `ymax` and `top`') + top = ymax bottom = self._validate_converted_limits(bottom, self.convert_yunits) top = self._validate_converted_limits(top, self.convert_yunits) diff --git a/lib/mpl_toolkits/mplot3d/axes3d.py b/lib/mpl_toolkits/mplot3d/axes3d.py index 1c186aae7a98..aaf19637be9f 100644 --- a/lib/mpl_toolkits/mplot3d/axes3d.py +++ b/lib/mpl_toolkits/mplot3d/axes3d.py @@ -603,22 +603,28 @@ def _determine_lims(self, xmin=None, xmax=None, *args, **kwargs): xmax += 0.05 return (xmin, xmax) - def set_xlim3d(self, left=None, right=None, emit=True, auto=False, **kw): + def set_xlim3d(self, left=None, right=None, emit=True, auto=False, + *, xmin=None, xmax=None): """ Set 3D x limits. See :meth:`matplotlib.axes.Axes.set_xlim` for full documentation. """ - if 'xmin' in kw: - left = kw.pop('xmin') - if 'xmax' in kw: - right = kw.pop('xmax') - if kw: - raise ValueError("unrecognized kwargs: %s" % list(kw)) - if right is None and cbook.iterable(left): left, right = left + if xmin is not None: + cbook.warn_deprecated('3.0', name='`xmin`', + alternative='`left`', obj_type='argument') + if left is not None: + raise TypeError('Cannot pass both `xmin` and `left`') + left = xmin + if xmax is not None: + cbook.warn_deprecated('3.0', name='`xmax`', + alternative='`right`', obj_type='argument') + if right is not None: + raise TypeError('Cannot pass both `xmax` and `right`') + right = xmax self._process_unit_info(xdata=(left, right)) left = self._validate_converted_limits(left, self.convert_xunits) @@ -655,22 +661,28 @@ def set_xlim3d(self, left=None, right=None, emit=True, auto=False, **kw): return left, right set_xlim = set_xlim3d - def set_ylim3d(self, bottom=None, top=None, emit=True, auto=False, **kw): + def set_ylim3d(self, bottom=None, top=None, emit=True, auto=False, + *, ymin=None, ymax=None): """ Set 3D y limits. See :meth:`matplotlib.axes.Axes.set_ylim` for full documentation. """ - if 'ymin' in kw: - bottom = kw.pop('ymin') - if 'ymax' in kw: - top = kw.pop('ymax') - if kw: - raise ValueError("unrecognized kwargs: %s" % list(kw)) - if top is None and cbook.iterable(bottom): bottom, top = bottom + if ymin is not None: + cbook.warn_deprecated('3.0', name='`ymin`', + alternative='`bottom`', obj_type='argument') + if bottom is not None: + raise TypeError('Cannot pass both `ymin` and `bottom`') + bottom = ymin + if ymax is not None: + cbook.warn_deprecated('3.0', name='`ymax`', + alternative='`top`', obj_type='argument') + if top is not None: + raise TypeError('Cannot pass both `ymax` and `top`') + top = ymax self._process_unit_info(ydata=(bottom, top)) bottom = self._validate_converted_limits(bottom, self.convert_yunits) @@ -707,22 +719,28 @@ def set_ylim3d(self, bottom=None, top=None, emit=True, auto=False, **kw): return bottom, top set_ylim = set_ylim3d - def set_zlim3d(self, bottom=None, top=None, emit=True, auto=False, **kw): + def set_zlim3d(self, bottom=None, top=None, emit=True, auto=False, + *, zmin=None, zmax=None): """ Set 3D z limits. See :meth:`matplotlib.axes.Axes.set_ylim` for full documentation """ - if 'zmin' in kw: - bottom = kw.pop('zmin') - if 'zmax' in kw: - top = kw.pop('zmax') - if kw: - raise ValueError("unrecognized kwargs: %s" % list(kw)) - if top is None and cbook.iterable(bottom): bottom, top = bottom + if zmin is not None: + cbook.warn_deprecated('3.0', name='`zmin`', + alternative='`bottom`', obj_type='argument') + if bottom is not None: + raise TypeError('Cannot pass both `zmin` and `bottom`') + bottom = zmin + if zmax is not None: + cbook.warn_deprecated('3.0', name='`zmax`', + alternative='`top`', obj_type='argument') + if top is not None: + raise TypeError('Cannot pass both `zmax` and `top`') + top = zmax self._process_unit_info(zdata=(bottom, top)) bottom = self._validate_converted_limits(bottom, self.convert_zunits) From 5720387dd5199d174ba601a38d3f38f124e68dea Mon Sep 17 00:00:00 2001 From: Zac-HD <zac.hatfield.dodds@gmail.com> Date: Sat, 28 Apr 2018 01:27:33 +1000 Subject: [PATCH 0632/1161] Minor refactor for clarity --- lib/matplotlib/axis.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/lib/matplotlib/axis.py b/lib/matplotlib/axis.py index 8383e1535983..a659507b9b08 100644 --- a/lib/matplotlib/axis.py +++ b/lib/matplotlib/axis.py @@ -334,12 +334,10 @@ def get_view_interval(self): raise NotImplementedError('Derived must override') def _apply_params(self, **kw): - switchkw = ['gridOn', 'tick1On', 'tick2On', 'label1On', 'label2On'] - switches = [k for k in kw if k in switchkw] - for k in switches: - setattr(self, k, kw.pop(k)) - newmarker = [k for k in kw if k in ['size', 'width', 'pad', 'tickdir']] - if newmarker: + for name in ['gridOn', 'tick1On', 'tick2On', 'label1On', 'label2On']: + if name in kw: + setattr(self, name, kw.pop(name)) + if any(k in kw for k in ['size', 'width', 'pad', 'tickdir']): self._size = kw.pop('size', self._size) # Width could be handled outside this block, but it is # convenient to leave it here. From c40839283837366b3fcc4dd537ba62107d5d4cc4 Mon Sep 17 00:00:00 2001 From: Zac-HD <zac.hatfield.dodds@gmail.com> Date: Sat, 28 Apr 2018 01:38:11 +1000 Subject: [PATCH 0633/1161] Eliminate unused variables in axes3d --- doc/api/next_api_changes/2018-04-22-ZHD.rst | 4 ++++ lib/matplotlib/axes/_base.py | 2 -- lib/mpl_toolkits/mplot3d/axes3d.py | 20 ++++---------------- 3 files changed, 8 insertions(+), 18 deletions(-) diff --git a/doc/api/next_api_changes/2018-04-22-ZHD.rst b/doc/api/next_api_changes/2018-04-22-ZHD.rst index e069f2f00bde..9b519ab9e88b 100644 --- a/doc/api/next_api_changes/2018-04-22-ZHD.rst +++ b/doc/api/next_api_changes/2018-04-22-ZHD.rst @@ -1,6 +1,10 @@ Different exception types for undocumented options -------------------------------------------------- +- Passing ``style='comma'`` to :meth:`~matplotlib.axes.Axes.ticklabel_format` + was never supported. It now raises ``ValueError`` like all other + unsupported styles, rather than ``NotImplementedError``. + - Passing the undocumented ``xmin`` or ``xmax`` arguments to :meth:`~matplotlib.axes.Axes.set_xlim` would silently override the ``left`` and ``right`` arguments. :meth:`~matplotlib.axes.Axes.set_ylim` and the diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 19762e83bf2b..a15654a448cb 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -2756,8 +2756,6 @@ def ticklabel_format(self, *, axis='both', style='', scilimits=None, sb = True elif style == 'plain': sb = False - elif style == 'comma': - raise NotImplementedError("comma style remains to be added") elif style == '': sb = None else: diff --git a/lib/mpl_toolkits/mplot3d/axes3d.py b/lib/mpl_toolkits/mplot3d/axes3d.py index aaf19637be9f..6639cfe941ff 100644 --- a/lib/mpl_toolkits/mplot3d/axes3d.py +++ b/lib/mpl_toolkits/mplot3d/axes3d.py @@ -532,9 +532,7 @@ def autoscale_view(self, tight=None, scalex=True, scaley=True, _tight = self._tight = bool(tight) if scalex and self._autoscaleXon: - xshared = self._shared_x_axes.get_siblings(self) - dl = [ax.dataLim for ax in xshared] - bb = mtransforms.BboxBase.union(dl) + self._shared_x_axes.clean() x0, x1 = self.xy_dataLim.intervalx xlocator = self.xaxis.get_major_locator() try: @@ -551,9 +549,7 @@ def autoscale_view(self, tight=None, scalex=True, scaley=True, self.set_xbound(x0, x1) if scaley and self._autoscaleYon: - yshared = self._shared_y_axes.get_siblings(self) - dl = [ax.dataLim for ax in yshared] - bb = mtransforms.BboxBase.union(dl) + self._shared_y_axes.clean() y0, y1 = self.xy_dataLim.intervaly ylocator = self.yaxis.get_major_locator() try: @@ -570,9 +566,7 @@ def autoscale_view(self, tight=None, scalex=True, scaley=True, self.set_ybound(y0, y1) if scalez and self._autoscaleZon: - zshared = self._shared_z_axes.get_siblings(self) - dl = [ax.dataLim for ax in zshared] - bb = mtransforms.BboxBase.union(dl) + self._shared_z_axes.clean() z0, z1 = self.zz_dataLim.intervalx zlocator = self.zaxis.get_major_locator() try: @@ -1366,13 +1360,8 @@ def ticklabel_format( raise ValueError("scilimits must be a sequence of 2 integers") if style[:3] == 'sci': sb = True - elif style in ['plain', 'comma']: + elif style == 'plain': sb = False - if style == 'plain': - cb = False - else: - cb = True - raise NotImplementedError("comma style remains to be added") elif style == '': sb = None else: @@ -1720,7 +1709,6 @@ def plot_surface(self, X, Y, Z, *args, norm=None, vmin=None, # The construction leaves the array with duplicate points, which # are removed here. ps = list(zip(*ps)) - lastp = np.array([]) ps2 = [ps[0]] + [ps[i] for i in range(1, len(ps)) if ps[i] != ps[i-1]] avgzsum = sum(p[2] for p in ps2) polys.append(ps2) From 4818c2783c300729b32f1340d2c06510ff6aa363 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Mon, 7 May 2018 19:00:18 -0700 Subject: [PATCH 0634/1161] Some unrelated cleanups. 1) Simplify a bit the pickling setup for SubplotBase subclasses (basically, there was one layer of callable that was unnecessary). 2) Remove some commented out code that doesn't seem to achieve much, and has likely been commented out for years now. 3) No need to define `__internal_repr__` in mathtext and have `__repr__` call it; directly defining `__repr__` is sufficient. 4) The current definition of `Patch.__str__` has `str(Patch())` return `"Patch'>"`, which is clearly worse than even the default repr. I guess the intent was just to return `"Patch"`, but that's not the point of this PR; that can go in another PR if desired. --- lib/matplotlib/axes/_subplots.py | 63 ++++++-------------------------- lib/matplotlib/mathtext.py | 7 +--- lib/matplotlib/patches.py | 3 -- 3 files changed, 14 insertions(+), 59 deletions(-) diff --git a/lib/matplotlib/axes/_subplots.py b/lib/matplotlib/axes/_subplots.py index c8e62cc8a79a..91d62e7a6718 100644 --- a/lib/matplotlib/axes/_subplots.py +++ b/lib/matplotlib/axes/_subplots.py @@ -87,18 +87,13 @@ def __init__(self, fig, *args, **kwargs): pos=True, subplot=True, artist=self) def __reduce__(self): - # get the first axes class which does not - # inherit from a subplotbase - - def not_subplotbase(c): - return issubclass(c, Axes) and not issubclass(c, SubplotBase) - - axes_class = [c for c in self.__class__.mro() - if not_subplotbase(c)][0] - r = [_PicklableSubplotClassConstructor(), - (axes_class,), - self.__getstate__()] - return tuple(r) + # get the first axes class which does not inherit from a subplotbase + axes_class = next( + c for c in type(self).__mro__ + if issubclass(c, Axes) and not issubclass(c, SubplotBase)) + return (_picklable_subplot_class_constructor, + (axes_class,), + self.__getstate__()) def get_geometry(self): """get the subplot geometry, e.g., 2,2,3""" @@ -213,48 +208,14 @@ def subplot_class_factory(axes_class=None): Subplot = subplot_class_factory() -class _PicklableSubplotClassConstructor(object): +def _picklable_subplot_class_constructor(axes_class): """ - This stub class exists to return the appropriate subplot - class when __call__-ed with an axes class. This is purely to - allow Pickling of Axes and Subplots. + This stub class exists to return the appropriate subplot class when called + with an axes class. This is purely to allow pickling of Axes and Subplots. """ - def __call__(self, axes_class): - # create a dummy object instance - subplot_instance = _PicklableSubplotClassConstructor() - subplot_class = subplot_class_factory(axes_class) - # update the class to the desired subplot class - subplot_instance.__class__ = subplot_class - return subplot_instance + subplot_class = subplot_class_factory(axes_class) + return subplot_class.__new__(subplot_class) docstring.interpd.update(Axes=martist.kwdoc(Axes)) docstring.interpd.update(Subplot=martist.kwdoc(Axes)) - -""" -# this is some discarded code I was using to find the minimum positive -# data point for some log scaling fixes. I realized there was a -# cleaner way to do it, but am keeping this around as an example for -# how to get the data out of the axes. Might want to make something -# like this a method one day, or better yet make get_verts an Artist -# method - - minx, maxx = self.get_xlim() - if minx<=0 or maxx<=0: - # find the min pos value in the data - xs = [] - for line in self.lines: - xs.extend(line.get_xdata(orig=False)) - for patch in self.patches: - xs.extend([x for x,y in patch.get_verts()]) - for collection in self.collections: - xs.extend([x for x,y in collection.get_verts()]) - posx = [x for x in xs if x>0] - if len(posx): - - minx = min(posx) - maxx = max(posx) - # warning, probably breaks inverted axis - self.set_xlim((0.1*minx, maxx)) - -""" diff --git a/lib/matplotlib/mathtext.py b/lib/matplotlib/mathtext.py index dcb13a0ee494..843f0b129f48 100644 --- a/lib/matplotlib/mathtext.py +++ b/lib/matplotlib/mathtext.py @@ -1360,9 +1360,6 @@ def __init__(self): self.size = 0 def __repr__(self): - return self.__internal_repr__() - - def __internal_repr__(self): return self.__class__.__name__ def get_kerning(self, next): @@ -1449,7 +1446,7 @@ def __init__(self, c, state, math=True): # pack phase, after we know the real fontsize self._update_metrics() - def __internal_repr__(self): + def __repr__(self): return '`%s`' % self.c def _update_metrics(self): @@ -1547,7 +1544,7 @@ def __init__(self, elements): def __repr__(self): return '[%s <%.02f %.02f %.02f %.02f> %s]' % ( - self.__internal_repr__(), + super().__repr__(), self.width, self.height, self.depth, self.shift_amount, ' '.join([repr(x) for x in self.children])) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index 0b0b2708b394..cea55da4c404 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -38,9 +38,6 @@ class Patch(artist.Artist): # subclass-by-subclass basis. _edge_default = False - def __str__(self): - return str(self.__class__).split('.')[-1] - def __init__(self, edgecolor=None, facecolor=None, From 9ef6065ce06a0744ec1158ce92bd01e4c21907bf Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Mon, 7 May 2018 20:08:21 -0700 Subject: [PATCH 0635/1161] Use lru_cache in *_class_factory. --- lib/matplotlib/axes/_subplots.py | 15 ++--- lib/matplotlib/tests/test_axes.py | 5 +- lib/mpl_toolkits/axes_grid1/parasite_axes.py | 71 +++++++------------- lib/mpl_toolkits/axisartist/floating_axes.py | 19 ++---- 4 files changed, 38 insertions(+), 72 deletions(-) diff --git a/lib/matplotlib/axes/_subplots.py b/lib/matplotlib/axes/_subplots.py index 91d62e7a6718..257c5711f2de 100644 --- a/lib/matplotlib/axes/_subplots.py +++ b/lib/matplotlib/axes/_subplots.py @@ -1,3 +1,4 @@ +import functools import warnings from matplotlib import docstring @@ -183,9 +184,8 @@ def _make_twin_axes(self, *kl, **kwargs): self._twinned_axes.join(self, ax2) return ax2 -_subplot_classes = {} - +@functools.lru_cache(None) def subplot_class_factory(axes_class=None): # This makes a new class that inherits from SubplotBase and the # given axes_class (which is assumed to be a subclass of Axes). @@ -194,15 +194,10 @@ def subplot_class_factory(axes_class=None): # not have to be created for every type of Axes. if axes_class is None: axes_class = Axes + return type("%sSubplot" % axes_class.__name__, + (SubplotBase, axes_class), + {'_axes_class': axes_class}) - new_class = _subplot_classes.get(axes_class) - if new_class is None: - new_class = type(str("%sSubplot") % (axes_class.__name__), - (SubplotBase, axes_class), - {'_axes_class': axes_class}) - _subplot_classes[axes_class] = new_class - - return new_class # This is provided for backward compatibility Subplot = subplot_class_factory() diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index 7eb273e32e51..4e4a332682ee 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -1779,6 +1779,7 @@ def __init__(self): def _as_mpl_axes(self): # implement the matplotlib axes interface return PolarAxes, {'theta_offset': self.theta_offset} + prj = Polar() prj2 = Polar() prj2.theta_offset = np.pi @@ -1793,7 +1794,7 @@ def _as_mpl_axes(self): # testing axes creation with gca ax = plt.gca(projection=prj) - assert type(ax) == maxes._subplots._subplot_classes[PolarAxes] + assert type(ax) == maxes._subplots.subplot_class_factory(PolarAxes) ax_via_gca = plt.gca(projection=prj) assert ax_via_gca is ax # try getting the axes given a different polar projection @@ -1814,7 +1815,7 @@ def _as_mpl_axes(self): # testing axes creation with subplot ax = plt.subplot(121, projection=prj) - assert type(ax) == maxes._subplots._subplot_classes[PolarAxes] + assert type(ax) == maxes._subplots.subplot_class_factory(PolarAxes) plt.close() diff --git a/lib/mpl_toolkits/axes_grid1/parasite_axes.py b/lib/mpl_toolkits/axes_grid1/parasite_axes.py index fcc3fd2a93b2..bd8dd58a4e57 100644 --- a/lib/mpl_toolkits/axes_grid1/parasite_axes.py +++ b/lib/mpl_toolkits/axes_grid1/parasite_axes.py @@ -1,4 +1,4 @@ -import six +import functools from matplotlib import ( artist as martist, collections as mcoll, transforms as mtransforms, @@ -40,32 +40,21 @@ def cla(self): self.yaxis.set_zorder(2.5) -_parasite_axes_classes = {} +@functools.lru_cache(None) def parasite_axes_class_factory(axes_class=None): if axes_class is None: axes_class = Axes - new_class = _parasite_axes_classes.get(axes_class) - if new_class is None: - def _get_base_axes_attr(self, attrname): - return getattr(axes_class, attrname) + def _get_base_axes_attr(self, attrname): + return getattr(axes_class, attrname) - new_class = type(str("%sParasite" % (axes_class.__name__)), - (ParasiteAxesBase, axes_class), - {'_get_base_axes_attr': _get_base_axes_attr}) - _parasite_axes_classes[axes_class] = new_class + return type("%sParasite" % axes_class.__name__, + (ParasiteAxesBase, axes_class), + {'_get_base_axes_attr': _get_base_axes_attr}) - return new_class ParasiteAxes = parasite_axes_class_factory() -# #class ParasiteAxes(ParasiteAxesBase, Axes): - -# @classmethod -# def _get_base_axes_attr(cls, attrname): -# return getattr(Axes, attrname) - - class ParasiteAxesAuxTransBase(object): def __init__(self, parent_axes, aux_transform, viewlim_mode=None, @@ -189,8 +178,7 @@ def apply_aspect(self, position=None): #ParasiteAxes.apply_aspect() - -_parasite_axes_auxtrans_classes = {} +@functools.lru_cache(None) def parasite_axes_auxtrans_class_factory(axes_class=None): if axes_class is None: parasite_axes_class = ParasiteAxes @@ -198,21 +186,14 @@ def parasite_axes_auxtrans_class_factory(axes_class=None): parasite_axes_class = parasite_axes_class_factory(axes_class) else: parasite_axes_class = axes_class - - new_class = _parasite_axes_auxtrans_classes.get(parasite_axes_class) - if new_class is None: - new_class = type(str("%sParasiteAuxTrans" % (parasite_axes_class.__name__)), - (ParasiteAxesAuxTransBase, parasite_axes_class), - {'_parasite_axes_class': parasite_axes_class, - 'name': 'parasite_axes'}) - _parasite_axes_auxtrans_classes[parasite_axes_class] = new_class - - return new_class - - -ParasiteAxesAuxTrans = parasite_axes_auxtrans_class_factory(axes_class=ParasiteAxes) + return type("%sParasiteAuxTrans" % parasite_axes_class.__name__, + (ParasiteAxesAuxTransBase, parasite_axes_class), + {'_parasite_axes_class': parasite_axes_class, + 'name': 'parasite_axes'}) +ParasiteAxesAuxTrans = parasite_axes_auxtrans_class_factory( + axes_class=ParasiteAxes) def _get_handles(ax): @@ -391,33 +372,29 @@ def get_tightbbox(self, renderer, call_axes_locator=True): return _bbox -_host_axes_classes = {} +@functools.lru_cache(None) def host_axes_class_factory(axes_class=None): if axes_class is None: axes_class = Axes - new_class = _host_axes_classes.get(axes_class) - if new_class is None: - def _get_base_axes(self): - return axes_class + def _get_base_axes(self): + return axes_class - def _get_base_axes_attr(self, attrname): - return getattr(axes_class, attrname) + def _get_base_axes_attr(self, attrname): + return getattr(axes_class, attrname) - new_class = type(str("%sHostAxes" % (axes_class.__name__)), - (HostAxesBase, axes_class), - {'_get_base_axes_attr': _get_base_axes_attr, - '_get_base_axes': _get_base_axes}) + return type("%sHostAxes" % axes_class.__name__, + (HostAxesBase, axes_class), + {'_get_base_axes_attr': _get_base_axes_attr, + '_get_base_axes': _get_base_axes}) - _host_axes_classes[axes_class] = new_class - - return new_class def host_subplot_class_factory(axes_class): host_axes_class = host_axes_class_factory(axes_class=axes_class) subplot_host_class = subplot_class_factory(host_axes_class) return subplot_host_class + HostAxes = host_axes_class_factory(axes_class=Axes) SubplotHost = subplot_class_factory(HostAxes) diff --git a/lib/mpl_toolkits/axisartist/floating_axes.py b/lib/mpl_toolkits/axisartist/floating_axes.py index 2f3a6aeec405..a1070558d6a5 100644 --- a/lib/mpl_toolkits/axisartist/floating_axes.py +++ b/lib/mpl_toolkits/axisartist/floating_axes.py @@ -1,8 +1,8 @@ """ An experimental support for curvilinear grid. """ -import six -from six.moves import zip + +import functools # TODO : # see if tick_iterator method can be simplified by reusing the parent method. @@ -506,19 +506,12 @@ def adjust_axes_lim(self): self.set_ylim(ymin-dy, ymax+dy) - -_floatingaxes_classes = {} - +@functools.lru_cache(None) def floatingaxes_class_factory(axes_class): + return type("Floating %s" % axes_class.__name__, + (FloatingAxesBase, axes_class), + {'_axes_class_floating': axes_class}) - new_class = _floatingaxes_classes.get(axes_class) - if new_class is None: - new_class = type(str("Floating %s" % (axes_class.__name__)), - (FloatingAxesBase, axes_class), - {'_axes_class_floating': axes_class}) - _floatingaxes_classes[axes_class] = new_class - - return new_class from .axislines import Axes from mpl_toolkits.axes_grid1.parasite_axes import host_axes_class_factory From b3b884109bed81cdf2db429d2012477ffcc41e9d Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Mon, 7 May 2018 16:54:39 -0700 Subject: [PATCH 0636/1161] Don't use deprecated get_texcommand in backend_pgf. --- lib/matplotlib/backends/backend_pgf.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/lib/matplotlib/backends/backend_pgf.py b/lib/matplotlib/backends/backend_pgf.py index 02e214655db0..6621dcfbe086 100644 --- a/lib/matplotlib/backends/backend_pgf.py +++ b/lib/matplotlib/backends/backend_pgf.py @@ -4,7 +4,7 @@ import logging import math import os -from pathlib import Path +import pathlib import re import shutil import subprocess @@ -69,7 +69,7 @@ def get_fontspec(): for family, command in zip(families, commands): # 1) Forward slashes also work on Windows, so don't mess with # backslashes. 2) The dirname needs to include a separator. - path = Path(fm.findfont(family)) + path = pathlib.Path(fm.findfont(family)) latex_fontspec.append(r"\%s{%s}[Path=%s]" % ( command, path.name, path.parent.as_posix() + "/")) @@ -1118,9 +1118,9 @@ def close(self): open(self._outputfile, 'wb').close() def _run_latex(self): - texcommand = get_texcommand() + texcommand = rcParams["pgf.texsystem"] cmdargs = [ - str(texcommand), + texcommand, "-interaction=nonstopmode", "-halt-on-error", os.path.basename(self._fname_tex), @@ -1182,12 +1182,11 @@ def _build_newpage_command(self, width, height): so we need to check the lualatex version and use `\pagewidth` if the version is 0.85 or newer ''' - texcommand = get_texcommand() + texcommand = rcParams["pgf.texsystem"] if texcommand == 'lualatex' and _get_lualatex_version() >= (0, 85, 0): cmd = r'\page' else: cmd = r'\pdfpage' - newpage = r'\newpage{cmd}width={w}in,{cmd}height={h}in%' + '\n' return newpage.format(cmd=cmd, w=width, h=height).encode('utf-8') From deaf966e31e86abc4b2b95a1697c9dd5de8a425f Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Tue, 8 May 2018 01:15:20 -0700 Subject: [PATCH 0637/1161] Simplify demo_ribbon_box.py. --- examples/misc/demo_ribbon_box.py | 92 +++++++++----------------------- 1 file changed, 25 insertions(+), 67 deletions(-) diff --git a/examples/misc/demo_ribbon_box.py b/examples/misc/demo_ribbon_box.py index cf291be705fc..c0d460753790 100644 --- a/examples/misc/demo_ribbon_box.py +++ b/examples/misc/demo_ribbon_box.py @@ -4,98 +4,60 @@ =============== """ -import matplotlib.pyplot as plt + import numpy as np -from matplotlib.image import BboxImage -from matplotlib._png import read_png -import matplotlib.colors -from matplotlib.cbook import get_sample_data +from matplotlib import cbook, colors as mcolors +from matplotlib.image import BboxImage +import matplotlib.pyplot as plt -class RibbonBox(object): +class RibbonBox: - original_image = read_png(get_sample_data("Minduka_Present_Blue_Pack.png", - asfileobj=False)) + original_image = plt.imread( + cbook.get_sample_data("Minduka_Present_Blue_Pack.png")) cut_location = 70 - b_and_h = original_image[:, :, 2] - color = original_image[:, :, 2] - original_image[:, :, 0] - alpha = original_image[:, :, 3] + b_and_h = original_image[:, :, 2:3] + color = original_image[:, :, 2:3] - original_image[:, :, 0:1] + alpha = original_image[:, :, 3:4] nx = original_image.shape[1] def __init__(self, color): - rgb = matplotlib.colors.to_rgba(color)[:3] - - im = np.empty(self.original_image.shape, - self.original_image.dtype) - - im[:, :, :3] = self.b_and_h[:, :, np.newaxis] - im[:, :, :3] -= self.color[:, :, np.newaxis] * (1 - np.array(rgb)) - im[:, :, 3] = self.alpha - - self.im = im + rgb = mcolors.to_rgba(color)[:3] + self.im = np.dstack( + [self.b_and_h - self.color * (1 - np.array(rgb)), self.alpha]) def get_stretched_image(self, stretch_factor): stretch_factor = max(stretch_factor, 1) ny, nx, nch = self.im.shape ny2 = int(ny*stretch_factor) - - stretched_image = np.empty((ny2, nx, nch), - self.im.dtype) - cut = self.im[self.cut_location, :, :] - stretched_image[:, :, :] = cut - stretched_image[:self.cut_location, :, :] = \ - self.im[:self.cut_location, :, :] - stretched_image[-(ny - self.cut_location):, :, :] = \ - self.im[-(ny - self.cut_location):, :, :] - - self._cached_im = stretched_image - return stretched_image + return np.vstack( + [self.im[:self.cut_location], + np.broadcast_to( + self.im[self.cut_location], (ny2 - ny, nx, nch)), + self.im[self.cut_location:]]) class RibbonBoxImage(BboxImage): zorder = 1 - def __init__(self, bbox, color, - cmap=None, - norm=None, - interpolation=None, - origin=None, - filternorm=1, - filterrad=4.0, - resample=False, - **kwargs - ): - - BboxImage.__init__(self, bbox, - cmap=cmap, - norm=norm, - interpolation=interpolation, - origin=origin, - filternorm=filternorm, - filterrad=filterrad, - resample=resample, - **kwargs - ) - + def __init__(self, bbox, color, **kwargs): + super().__init__(bbox, **kwargs) self._ribbonbox = RibbonBox(color) - self._cached_ny = None def draw(self, renderer, *args, **kwargs): - bbox = self.get_window_extent(renderer) stretch_factor = bbox.height / bbox.width ny = int(stretch_factor*self._ribbonbox.nx) - if self._cached_ny != ny: + if self.get_array() is None or self.get_array().shape[0] != ny: arr = self._ribbonbox.get_stretched_image(stretch_factor) self.set_array(arr) - self._cached_ny = ny - BboxImage.draw(self, renderer, *args, **kwargs) + super().draw(renderer, *args, **kwargs) -if 1: +if True: from matplotlib.transforms import Bbox, TransformedBbox from matplotlib.ticker import ScalarFormatter @@ -126,11 +88,8 @@ def draw(self, renderer, *args, **kwargs): ax.annotate(r"%d" % (int(h/100.)*100), (year, h), va="bottom", ha="center") - patch_gradient = BboxImage(ax.bbox, - interpolation="bicubic", - zorder=0.1, - ) - gradient = np.zeros((2, 2, 4), dtype=float) + patch_gradient = BboxImage(ax.bbox, interpolation="bicubic", zorder=0.1) + gradient = np.zeros((2, 2, 4)) gradient[:, :, :3] = [1, 1, 0.] gradient[:, :, 3] = [[0.1, 0.3], [0.3, 0.5]] # alpha channel patch_gradient.set_array(gradient) @@ -139,5 +98,4 @@ def draw(self, renderer, *args, **kwargs): ax.set_xlim(years[0] - 0.5, years[-1] + 0.5) ax.set_ylim(0, 10000) - fig.savefig('ribbon_box.png') plt.show() From 0f61459b2f41207a80b838a9f9f88ab4133906e9 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Fri, 19 Jan 2018 21:48:18 -0800 Subject: [PATCH 0638/1161] Small cleanups. --- lib/matplotlib/colorbar.py | 3 +-- lib/matplotlib/lines.py | 13 +++++-------- lib/matplotlib/markers.py | 4 ++-- lib/matplotlib/table.py | 12 ++++++------ 4 files changed, 14 insertions(+), 18 deletions(-) diff --git a/lib/matplotlib/colorbar.py b/lib/matplotlib/colorbar.py index eb2b7172fb80..3dd1b9a4149a 100644 --- a/lib/matplotlib/colorbar.py +++ b/lib/matplotlib/colorbar.py @@ -855,8 +855,7 @@ def _get_extension_lengths(self, frac, automin, automax, default=0.05): if isinstance(frac, str): if frac.lower() == 'auto': # Use the provided values when 'auto' is required. - extendlength[0] = automin - extendlength[1] = automax + extendlength[:] = [automin, automax] else: # Any other string is invalid. raise ValueError('invalid value for extendfrac') diff --git a/lib/matplotlib/lines.py b/lib/matplotlib/lines.py index f63ac66d9515..154c126e2313 100644 --- a/lib/matplotlib/lines.py +++ b/lib/matplotlib/lines.py @@ -354,10 +354,8 @@ def __init__(self, xdata, ydata, if isinstance(linestyle, six.string_types): ds, ls = self._split_drawstyle_linestyle(linestyle) if ds is not None and drawstyle is not None and ds != drawstyle: - raise ValueError("Inconsistent drawstyle ({0!r}) and " - "linestyle ({1!r})".format(drawstyle, - linestyle) - ) + raise ValueError("Inconsistent drawstyle ({!r}) and linestyle " + "({!r})".format(drawstyle, linestyle)) linestyle = ls if ds is not None: @@ -1088,10 +1086,9 @@ def set_linestyle(self, ls): try: ls = ls_mapper_r[ls] except KeyError: - raise ValueError(("You passed in an invalid linestyle, " - "`{0}`. See " - "docs of Line2D.set_linestyle for " - "valid values.").format(ls)) + raise ValueError("Invalid linestyle {!r}; see docs of " + "Line2D.set_linestyle for valid values" + .format(ls)) self._linestyle = ls else: self._linestyle = '--' diff --git a/lib/matplotlib/markers.py b/lib/matplotlib/markers.py index 6ecda3cfd419..8c6e34cfb3a3 100644 --- a/lib/matplotlib/markers.py +++ b/lib/matplotlib/markers.py @@ -249,8 +249,8 @@ def set_marker(self, marker): Path(marker) self._marker_function = self._set_vertices except ValueError: - raise ValueError('Unrecognized marker style' - ' {0}'.format(marker)) + raise ValueError('Unrecognized marker style {!r}' + .format(marker)) self._marker = marker self._recache() diff --git a/lib/matplotlib/table.py b/lib/matplotlib/table.py index b837f09ae39b..cc5a27e2bfd9 100644 --- a/lib/matplotlib/table.py +++ b/lib/matplotlib/table.py @@ -241,13 +241,13 @@ def __init__(self, ax, loc=None, bbox=None, **kwargs): Artist.__init__(self) - if isinstance(loc, str) and loc not in self.codes: - warnings.warn('Unrecognized location %s. Falling back on ' - 'bottom; valid locations are\n%s\t' % - (loc, '\n\t'.join(self.codes))) - loc = 'bottom' if isinstance(loc, str): - loc = self.codes.get(loc, 1) + if loc not in self.codes: + warnings.warn('Unrecognized location %s. Falling back on ' + 'bottom; valid locations are\n%s\t' % + (loc, '\n\t'.join(self.codes))) + loc = 'bottom' + loc = self.codes[loc] self.set_figure(ax.figure) self._axes = ax self._loc = loc From 90f6eb88d308ba3b603a59c7acbff6c0a0f6e7fb Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Thu, 28 Dec 2017 12:43:23 -0800 Subject: [PATCH 0639/1161] Use cbook._str{,_lower}_equal in more places. --- lib/matplotlib/colors.py | 2 +- lib/matplotlib/lines.py | 6 +++--- lib/matplotlib/rcsetup.py | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/matplotlib/colors.py b/lib/matplotlib/colors.py index e270de1ea826..80294ec8b2ff 100644 --- a/lib/matplotlib/colors.py +++ b/lib/matplotlib/colors.py @@ -248,7 +248,7 @@ def to_rgba_array(c, alpha=None): # Note that this occurs *after* handling inputs that are already arrays, as # `to_rgba(c, alpha)` (below) is expensive for such inputs, due to the need # to format the array in the ValueError message(!). - if isinstance(c, str) and c.lower() == "none": + if cbook._str_lower_equal(c, "none"): return np.zeros((0, 4), float) try: return np.array([to_rgba(c, alpha)], float) diff --git a/lib/matplotlib/lines.py b/lib/matplotlib/lines.py index 154c126e2313..f90ce0159323 100644 --- a/lib/matplotlib/lines.py +++ b/lib/matplotlib/lines.py @@ -861,7 +861,7 @@ def get_marker(self): def get_markeredgecolor(self): mec = self._markeredgecolor - if isinstance(mec, six.string_types) and mec == 'auto': + if cbook._str_equal(mec, 'auto'): if rcParams['_internal.classic_mode']: if self._marker.get_marker() in ('.', ','): return self._color @@ -1125,8 +1125,8 @@ def set_markeredgecolor(self, ec): """ if ec is None: ec = 'auto' - if self._markeredgecolor is None or \ - np.any(self._markeredgecolor != ec): + if (self._markeredgecolor is None + or np.any(self._markeredgecolor != ec)): self.stale = True self._markeredgecolor = ec diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index 7f2e9806310d..af387fe28577 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -882,7 +882,7 @@ def validate_cycler(s): def validate_hist_bins(s): - if isinstance(s, six.string_types) and s == 'auto': + if cbook._str_equal(s, "auto"): return s try: return int(s) From ab524d93fe6b0c6323c382f69fd1a9abe42dd781 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Tue, 8 May 2018 17:27:10 -0700 Subject: [PATCH 0640/1161] Cleanups: rely on booleanness of lists. --- lib/matplotlib/axes/_base.py | 2 +- lib/matplotlib/backend_bases.py | 2 +- lib/matplotlib/backends/backend_gtk3.py | 2 +- lib/matplotlib/ticker.py | 2 +- lib/matplotlib/tight_layout.py | 2 +- lib/matplotlib/tri/triangulation.py | 2 +- lib/matplotlib/type1font.py | 2 +- lib/mpl_toolkits/mplot3d/axes3d.py | 6 +++--- setupext.py | 2 +- 9 files changed, 11 insertions(+), 11 deletions(-) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index a15654a448cb..cc3e758bda09 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -1650,7 +1650,7 @@ def axis(self, *v, **kwargs): matplotlib.axes.Axes.set_ylim """ - if len(v) == 0 and len(kwargs) == 0: + if len(v) == len(kwargs) == 0: xmin, xmax = self.get_xlim() ymin, ymax = self.get_ylim() return xmin, xmax, ymin, ymax diff --git a/lib/matplotlib/backend_bases.py b/lib/matplotlib/backend_bases.py index 030e21f7687f..f79cdbfe44f3 100644 --- a/lib/matplotlib/backend_bases.py +++ b/lib/matplotlib/backend_bases.py @@ -465,7 +465,7 @@ def _iter_collection_uses_per_path(self, paths, all_transforms, is not the same for every path. """ Npaths = len(paths) - if Npaths == 0 or (len(facecolors) == 0 and len(edgecolors) == 0): + if Npaths == 0 or len(facecolors) == len(edgecolors) == 0: return 0 Npath_ids = max(Npaths, len(all_transforms)) N = max(Npath_ids, len(offsets)) diff --git a/lib/matplotlib/backends/backend_gtk3.py b/lib/matplotlib/backends/backend_gtk3.py index ca3aa93bbfb7..08aaaea2be9a 100644 --- a/lib/matplotlib/backends/backend_gtk3.py +++ b/lib/matplotlib/backends/backend_gtk3.py @@ -71,7 +71,7 @@ def _on_timer(self): # Gtk timeout_add() requires that the callback returns True if it # is to be called again. - if len(self.callbacks) > 0 and not self._single: + if self.callbacks and not self._single: return True else: self._timer = None diff --git a/lib/matplotlib/ticker.py b/lib/matplotlib/ticker.py index 0b03a2ae2189..1d98f19f5b89 100644 --- a/lib/matplotlib/ticker.py +++ b/lib/matplotlib/ticker.py @@ -1237,7 +1237,7 @@ def __init__(self, unit="", places=None, sep=" "): def __call__(self, x, pos=None): s = "%s%s" % (self.format_eng(x), self.unit) # Remove the trailing separator when there is neither prefix nor unit - if len(self.sep) > 0 and s.endswith(self.sep): + if self.sep and s.endswith(self.sep): s = s[:-len(self.sep)] return self.fix_minus(s) diff --git a/lib/matplotlib/tight_layout.py b/lib/matplotlib/tight_layout.py index f5a05ce02b7e..19da29327000 100644 --- a/lib/matplotlib/tight_layout.py +++ b/lib/matplotlib/tight_layout.py @@ -315,7 +315,7 @@ def get_tight_layout_figure(fig, axes_list, subplotspec_list, renderer, subplots.append(ax) - if (len(nrows_list) == 0) or (len(ncols_list) == 0): + if len(nrows_list) == 0 or len(ncols_list) == 0: return {} max_nrows = max(nrows_list) diff --git a/lib/matplotlib/tri/triangulation.py b/lib/matplotlib/tri/triangulation.py index c4dbf048a235..bc20b2f14380 100644 --- a/lib/matplotlib/tri/triangulation.py +++ b/lib/matplotlib/tri/triangulation.py @@ -137,7 +137,7 @@ def get_from_args_and_kwargs(*args, **kwargs): # Check triangles in kwargs then args. triangles = kwargs.pop('triangles', None) from_args = False - if triangles is None and len(args) > 0: + if triangles is None and args: triangles = args[0] from_args = True diff --git a/lib/matplotlib/type1font.py b/lib/matplotlib/type1font.py index f3c614e2d120..46753780371b 100644 --- a/lib/matplotlib/type1font.py +++ b/lib/matplotlib/type1font.py @@ -82,7 +82,7 @@ def _read(self, file): return rawdata data = b'' - while len(rawdata) > 0: + while rawdata: if not rawdata.startswith(b'\x80'): raise RuntimeError('Broken pfb file (expected byte 128, ' 'got %d)' % ord(rawdata[0])) diff --git a/lib/mpl_toolkits/mplot3d/axes3d.py b/lib/mpl_toolkits/mplot3d/axes3d.py index 6639cfe941ff..d33b0c57b732 100644 --- a/lib/mpl_toolkits/mplot3d/axes3d.py +++ b/lib/mpl_toolkits/mplot3d/axes3d.py @@ -525,9 +525,9 @@ def autoscale_view(self, tight=None, scalex=True, scaley=True, # of data and decides how to scale the view portal to fit it. if tight is None: # if image data only just use the datalim - _tight = self._tight or (len(self.images)>0 and - len(self.lines)==0 and - len(self.patches)==0) + _tight = self._tight or ( + len(self.images) > 0 + and len(self.lines) == len(self.patches) == 0) else: _tight = self._tight = bool(tight) diff --git a/setupext.py b/setupext.py index e57f1d9b0333..6e565288573b 100644 --- a/setupext.py +++ b/setupext.py @@ -267,7 +267,7 @@ def get_file_hash(filename): hasher = hashlib.sha256() with open(filename, 'rb') as fd: buf = fd.read(BLOCKSIZE) - while len(buf) > 0: + while buf: hasher.update(buf) buf = fd.read(BLOCKSIZE) return hasher.hexdigest() From 0e8cd4a192bbc0212132cfe929abd82d0de5bd0f Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Tue, 8 May 2018 22:49:18 -0700 Subject: [PATCH 0641/1161] Test that boilerplate.py is correctly run. (and update the outdated pyplot.py). --- lib/matplotlib/pyplot.py | 64 +++++++++++++++++++++-------- lib/matplotlib/tests/test_pyplot.py | 21 ++++++++++ 2 files changed, 67 insertions(+), 18 deletions(-) create mode 100644 lib/matplotlib/tests/test_pyplot.py diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index b06801ce7cbd..258d13cb4f40 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -2269,8 +2269,12 @@ def axvspan(xmin, xmax, ymin=0, ymax=1, **kwargs): # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.bar) -def bar(*args, data=None, **kwargs): - return gca().bar(*args, data=data, **kwargs) +def bar( + x, height, width=0.8, bottom=None, *, align='center', + data=None, **kwargs): + return gca().bar( + x=x, height=height, width=width, bottom=bottom, align=align, + data=data, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.barbs) @@ -2279,8 +2283,10 @@ def barbs(*args, data=None, **kw): # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.barh) -def barh(*args, **kwargs): - return gca().barh(*args, **kwargs) +def barh(y, width, height=0.8, left=None, *, align='center', **kwargs): + return gca().barh( + y=y, width=width, height=height, left=left, align=align, + **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.boxplot) @@ -2506,8 +2512,8 @@ def magnitude_spectrum( # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.margins) -def margins(*args, **kw): - return gca().margins(*args, **kw) +def margins(*margins, x=None, y=None, tight=True): + return gca().margins(*margins, x=x, y=y, tight=tight) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.minorticks_off) @@ -2521,15 +2527,25 @@ def minorticks_on(): # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.pcolor) -def pcolor(*args, data=None, **kwargs): - __ret = gca().pcolor(*args, data=data, **kwargs) +def pcolor( + *args, alpha=None, norm=None, cmap=None, vmin=None, + vmax=None, data=None, **kwargs): + __ret = gca().pcolor( + *args, alpha=alpha, norm=norm, cmap=cmap, vmin=vmin, + vmax=vmax, data=data, **kwargs) sci(__ret) return __ret # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.pcolormesh) -def pcolormesh(*args, data=None, **kwargs): - __ret = gca().pcolormesh(*args, data=data, **kwargs) +def pcolormesh( + *args, alpha=None, norm=None, cmap=None, vmin=None, + vmax=None, shading='flat', antialiased=False, data=None, + **kwargs): + __ret = gca().pcolormesh( + *args, alpha=alpha, norm=norm, cmap=cmap, vmin=vmin, + vmax=vmax, shading=shading, antialiased=antialiased, + data=data, **kwargs) sci(__ret) return __ret @@ -2560,8 +2576,9 @@ def pie( # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.plot) -def plot(*args, data=None, **kwargs): - return gca().plot(*args, data=data, **kwargs) +def plot(*args, scalex=True, scaley=True, data=None, **kwargs): + return gca().plot( + *args, scalex=scalex, scaley=scaley, data=data, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.plot_date) @@ -2652,13 +2669,19 @@ def stackplot(x, *args, data=None, **kwargs): # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.stem) -def stem(*args, data=None, **kwargs): - return gca().stem(*args, data=data, **kwargs) +def stem( + *args, linefmt=None, markerfmt=None, basefmt=None, bottom=0, + label=None, data=None): + return gca().stem( + *args, linefmt=linefmt, markerfmt=markerfmt, basefmt=basefmt, + bottom=bottom, label=label, data=data) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.step) -def step(x, y, *args, data=None, **kwargs): - return gca().step(x=x, y=y, *args, data=data, **kwargs) +def step(x, y, *args, where='pre', linestyle='', data=None, **kwargs): + return gca().step( + x=x, y=y, *args, where=where, linestyle=linestyle, data=data, + **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.streamplot) @@ -2695,8 +2718,13 @@ def tick_params(axis='both', **kwargs): # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.ticklabel_format) -def ticklabel_format(**kwargs): - return gca().ticklabel_format(**kwargs) +def ticklabel_format( + *, axis='both', style='', scilimits=None, useOffset=None, + useLocale=None, useMathText=None): + return gca().ticklabel_format( + axis=axis, style=style, scilimits=scilimits, + useOffset=useOffset, useLocale=useLocale, + useMathText=useMathText) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.tricontour) diff --git a/lib/matplotlib/tests/test_pyplot.py b/lib/matplotlib/tests/test_pyplot.py new file mode 100644 index 000000000000..e939d440060b --- /dev/null +++ b/lib/matplotlib/tests/test_pyplot.py @@ -0,0 +1,21 @@ +import subprocess +import sys +from pathlib import Path + +import pytest + +import matplotlib as mpl +from matplotlib import pyplot as plt + + +def test_pyplot_up_to_date(): + gen_script = Path(mpl.__file__).parents[2] / "tools/boilerplate.py" + if not gen_script.exists(): + pytest.skip("boilerplate.py not found") + orig_contents = Path(plt.__file__).read_text() + try: + subprocess.run([sys.executable, str(gen_script)], check=True) + new_contents = Path(plt.__file__).read_text() + assert orig_contents == new_contents + finally: + Path(plt.__file__).write_text(orig_contents) From d4848bbd9f1b8a180df50e905a449355c18f0cb6 Mon Sep 17 00:00:00 2001 From: Bastian Bechtold <basti@bastibe.de> Date: Wed, 30 Mar 2016 18:07:53 +0200 Subject: [PATCH 0642/1161] adds two new cyclic color schemes Matlotlib currently lacks a good, perceptually uniform color scheme for circular data. This adds "sunlight" and "twilight", two viscm-derived color schemes for angular data. --- examples/color/colormap_reference.py | 67 ---- examples/color/colormaps_reference.py | 88 +++++ lib/matplotlib/_cm_listed.py | 519 +++++++++++++++++++++++++- lib/matplotlib/pyplot.py | 17 +- 4 files changed, 619 insertions(+), 72 deletions(-) delete mode 100644 examples/color/colormap_reference.py create mode 100644 examples/color/colormaps_reference.py diff --git a/examples/color/colormap_reference.py b/examples/color/colormap_reference.py deleted file mode 100644 index 5927a727c09d..000000000000 --- a/examples/color/colormap_reference.py +++ /dev/null @@ -1,67 +0,0 @@ -""" -================== -Colormap reference -================== - -Reference for colormaps included with Matplotlib. - -A reversed version of each of these colormaps is available by appending -``_r`` to the name, e.g., ``viridis_r``. - -See :doc:`/tutorials/colors/colormaps` for an in-depth discussion about -colormaps, including colorblind-friendliness. -""" - -import numpy as np -import matplotlib.pyplot as plt - - -cmaps = [('Perceptually Uniform Sequential', [ - 'viridis', 'plasma', 'inferno', 'magma', 'cividis']), - ('Sequential', [ - 'Greys', 'Purples', 'Blues', 'Greens', 'Oranges', 'Reds', - 'YlOrBr', 'YlOrRd', 'OrRd', 'PuRd', 'RdPu', 'BuPu', - 'GnBu', 'PuBu', 'YlGnBu', 'PuBuGn', 'BuGn', 'YlGn']), - ('Sequential (2)', [ - 'binary', 'gist_yarg', 'gist_gray', 'gray', 'bone', 'pink', - 'spring', 'summer', 'autumn', 'winter', 'cool', 'Wistia', - 'hot', 'afmhot', 'gist_heat', 'copper']), - ('Diverging', [ - 'PiYG', 'PRGn', 'BrBG', 'PuOr', 'RdGy', 'RdBu', - 'RdYlBu', 'RdYlGn', 'Spectral', 'coolwarm', 'bwr', 'seismic']), - ('Qualitative', [ - 'Pastel1', 'Pastel2', 'Paired', 'Accent', - 'Dark2', 'Set1', 'Set2', 'Set3', - 'tab10', 'tab20', 'tab20b', 'tab20c']), - ('Miscellaneous', [ - 'flag', 'prism', 'ocean', 'gist_earth', 'terrain', 'gist_stern', - 'gnuplot', 'gnuplot2', 'CMRmap', 'cubehelix', 'brg', 'hsv', - 'gist_rainbow', 'rainbow', 'jet', 'nipy_spectral', 'gist_ncar'])] - - -nrows = max(len(cmap_list) for cmap_category, cmap_list in cmaps) -gradient = np.linspace(0, 1, 256) -gradient = np.vstack((gradient, gradient)) - - -def plot_color_gradients(cmap_category, cmap_list, nrows): - fig, axes = plt.subplots(nrows=nrows) - fig.subplots_adjust(top=0.95, bottom=0.01, left=0.2, right=0.99) - axes[0].set_title(cmap_category + ' colormaps', fontsize=14) - - for ax, name in zip(axes, cmap_list): - ax.imshow(gradient, aspect='auto', cmap=plt.get_cmap(name)) - pos = list(ax.get_position().bounds) - x_text = pos[0] - 0.01 - y_text = pos[1] + pos[3]/2. - fig.text(x_text, y_text, name, va='center', ha='right', fontsize=10) - - # Turn off *all* ticks & spines, not just the ones with colormaps. - for ax in axes: - ax.set_axis_off() - - -for cmap_category, cmap_list in cmaps: - plot_color_gradients(cmap_category, cmap_list, nrows) - -plt.show() diff --git a/examples/color/colormaps_reference.py b/examples/color/colormaps_reference.py new file mode 100644 index 000000000000..4b4ed6468996 --- /dev/null +++ b/examples/color/colormaps_reference.py @@ -0,0 +1,88 @@ +""" +Reference for colormaps included with Matplotlib. + +This reference example shows all colormaps included with Matplotlib. Note that +any colormap listed here can be reversed by appending "_r" (e.g., "pink_r"). +These colormaps are divided into the following categories: + +Sequential: + These colormaps are approximately monochromatic colormaps varying smoothly + between two color tones---usually from low saturation (e.g. white) to high + saturation (e.g. a bright blue). Sequential colormaps are ideal for + representing most scientific data since they show a clear progression from + low-to-high values. + +Diverging: + These colormaps have a median value (usually light in color) and vary + smoothly to two different color tones at high and low values. Diverging + colormaps are ideal when your data has a median value that is significant + (e.g. 0, such that positive and negative values are represented by + different colors of the colormap). + +Qualitative: + These colormaps vary rapidly in color. Qualitative colormaps are useful for + choosing a set of discrete colors. For example:: + + color_list = plt.cm.Set3(np.linspace(0, 1, 12)) + + gives a list of RGB colors that are good for plotting a series of lines on + a dark background. + +Miscellaneous: + Colormaps that don't fit into the categories above. + +""" +import numpy as np +import matplotlib.pyplot as plt + +# Have colormaps separated into categories: +# http://matplotlib.org/examples/color/colormaps_reference.html + +cmaps = [('Perceptually Uniform Sequential', + ['viridis', 'inferno', 'plasma', 'magma']), + ('Sequential', ['Blues', 'BuGn', 'BuPu', + 'GnBu', 'Greens', 'Greys', 'Oranges', 'OrRd', + 'PuBu', 'PuBuGn', 'PuRd', 'Purples', 'RdPu', + 'Reds', 'YlGn', 'YlGnBu', 'YlOrBr', 'YlOrRd']), + ('Sequential (2)', ['afmhot', 'autumn', 'bone', 'cool', + 'copper', 'gist_heat', 'gray', 'hot', + 'pink', 'spring', 'summer', 'winter']), + ('Diverging', ['BrBG', 'bwr', 'coolwarm', 'PiYG', 'PRGn', 'PuOr', + 'RdBu', 'RdGy', 'RdYlBu', 'RdYlGn', 'Spectral', + 'seismic']), + ('Qualitative', ['Accent', 'Dark2', 'Paired', 'Pastel1', + 'Pastel2', 'Set1', 'Set2', 'Set3', 'Vega10', + 'Vega20', 'Vega20b', 'Vega20c']), + ('Miscellaneous', ['gist_earth', 'terrain', 'ocean', 'gist_stern', + 'brg', 'CMRmap', 'cubehelix', + 'gnuplot', 'gnuplot2', 'gist_ncar', + 'nipy_spectral', 'jet', 'rainbow', + 'gist_rainbow', 'hsv', 'flag', 'prism']), + ('Perceptually Uniform Cyclic', ['twilight', 'sunlight'])] + + +nrows = max(len(cmap_list) for cmap_category, cmap_list in cmaps) +gradient = np.linspace(0, 1, 256) +gradient = np.vstack((gradient, gradient)) + + +def plot_color_gradients(cmap_category, cmap_list): + fig, axes = plt.subplots(nrows=nrows) + fig.subplots_adjust(top=0.95, bottom=0.01, left=0.2, right=0.99) + axes[0].set_title(cmap_category + ' colormaps', fontsize=14) + + for ax, name in zip(axes, cmap_list): + ax.imshow(gradient, aspect='auto', cmap=plt.get_cmap(name)) + pos = list(ax.get_position().bounds) + x_text = pos[0] - 0.01 + y_text = pos[1] + pos[3]/2. + fig.text(x_text, y_text, name, va='center', ha='right', fontsize=10) + + # Turn off *all* ticks & spines, not just the ones with colormaps. + for ax in axes: + ax.set_axis_off() + +for cmap_category, cmap_list in cmaps: + plot_color_gradients(cmap_category, cmap_list) + +plt.show() diff --git a/lib/matplotlib/_cm_listed.py b/lib/matplotlib/_cm_listed.py index c4a4e13e4d78..6820fabd206a 100644 --- a/lib/matplotlib/_cm_listed.py +++ b/lib/matplotlib/_cm_listed.py @@ -1285,12 +1285,529 @@ [0.995503, 0.903866, 0.212370], [0.995737, 0.909344, 0.217772]] +_twilight_data = [[ 0.94398606, 0.92379568, 0.95378996], + [ 0.93804991, 0.9201455 , 0.94887283], + [ 0.93217249, 0.91648571, 0.94400748], + [ 0.92635074, 0.91281728, 0.93919627], + [ 0.92057033, 0.90914594, 0.93443928], + [ 0.91484293, 0.90546602, 0.92974532], + [ 0.90916383, 0.90177896, 0.92511844], + [ 0.90351675, 0.89809096, 0.92056082], + [ 0.89790511, 0.89439989, 0.91607892], + [ 0.89232212, 0.89070802, 0.91167599], + [ 0.88675657, 0.88701948, 0.90735388], + [ 0.88119653, 0.88333869, 0.90311389], + [ 0.87564052, 0.87966605, 0.89895611], + [ 0.87008105, 0.87600448, 0.89487901], + [ 0.86451177, 0.87235651, 0.89088026], + [ 0.85892107, 0.86872657, 0.88695835], + [ 0.85331239, 0.86511351, 0.88310928], + [ 0.84768317, 0.86151837, 0.87932996], + [ 0.8420319 , 0.85794176, 0.87561757], + [ 0.83635797, 0.8543839 , 0.8719697 ], + [ 0.83066019, 0.85084513, 0.86838476], + [ 0.82493782, 0.84732552, 0.86486175], + [ 0.81919497, 0.84382347, 0.86139848], + [ 0.81343288, 0.84033828, 0.85799409], + [ 0.80765302, 0.83686919, 0.85464804], + [ 0.80185697, 0.83341535, 0.85136005], + [ 0.79604642, 0.82997585, 0.84812999], + [ 0.79022314, 0.82654976, 0.84495787], + [ 0.78438894, 0.82313614, 0.84184378], + [ 0.77854568, 0.81973402, 0.83878783], + [ 0.77269523, 0.81634245, 0.83579016], + [ 0.76683947, 0.81296047, 0.83285087], + [ 0.76098031, 0.80958714, 0.82997002], + [ 0.75511964, 0.80622155, 0.8271476 ], + [ 0.74925935, 0.80286279, 0.82438353], + [ 0.74340133, 0.79950999, 0.82167765], + [ 0.73754741, 0.7961623 , 0.81902971], + [ 0.73169945, 0.79281892, 0.81643938], + [ 0.72585922, 0.78947904, 0.81390621], + [ 0.7200285 , 0.78614194, 0.81142971], + [ 0.714209 , 0.78280688, 0.80900927], + [ 0.70840239, 0.77947321, 0.80664422], + [ 0.7026103 , 0.77614026, 0.8043338 ], + [ 0.69683429, 0.77280745, 0.80207721], + [ 0.69107587, 0.7694742 , 0.79987358], + [ 0.68533652, 0.76613997, 0.79772199], + [ 0.67961763, 0.76280427, 0.79562148], + [ 0.67392055, 0.75946663, 0.79357104], + [ 0.66824657, 0.7561266 , 0.79156966], + [ 0.66259694, 0.75278379, 0.78961627], + [ 0.65697285, 0.7494378 , 0.78770982], + [ 0.65137538, 0.7460883 , 0.78584928], + [ 0.64580563, 0.74273496, 0.78403359], + [ 0.64026476, 0.73937744, 0.78226154], + [ 0.63475378, 0.73601546, 0.78053205], + [ 0.62927367, 0.73264873, 0.77884404], + [ 0.62382538, 0.72927702, 0.77719644], + [ 0.61840981, 0.72590008, 0.77558819], + [ 0.61302785, 0.72251768, 0.77401824], + [ 0.60768039, 0.71912961, 0.77248556], + [ 0.60236827, 0.71573565, 0.77098912], + [ 0.59709233, 0.71233563, 0.76952791], + [ 0.5918534 , 0.70892933, 0.76810094], + [ 0.58665231, 0.70551659, 0.76670719], + [ 0.5814899 , 0.70209721, 0.76534569], + [ 0.57636694, 0.69867102, 0.7640155 ], + [ 0.57128425, 0.69523786, 0.76271569], + [ 0.56624264, 0.69179755, 0.76144531], + [ 0.56124292, 0.68834994, 0.76020345], + [ 0.55628591, 0.68489485, 0.75898919], + [ 0.55137244, 0.68143212, 0.75780163], + [ 0.54650333, 0.67796158, 0.75663987], + [ 0.54167944, 0.67448308, 0.75550302], + [ 0.53690161, 0.67099646, 0.75439019], + [ 0.5321707 , 0.66750154, 0.75330049], + [ 0.5274876 , 0.66399818, 0.75223302], + [ 0.52285318, 0.66048619, 0.75118688], + [ 0.51826833, 0.65696544, 0.75016124], + [ 0.51373395, 0.65343574, 0.74915521], + [ 0.50925093, 0.64989694, 0.74816791], + [ 0.50482021, 0.64634888, 0.74719846], + [ 0.5004427 , 0.64279139, 0.74624595], + [ 0.49611935, 0.63922432, 0.74530949], + [ 0.49185108, 0.63564749, 0.74438818], + [ 0.48763884, 0.63206075, 0.74348111], + [ 0.48348358, 0.62846395, 0.74258737], + [ 0.47938622, 0.62485692, 0.74170602], + [ 0.47534772, 0.6212395 , 0.74083613], + [ 0.47136901, 0.61761154, 0.73997677], + [ 0.46745102, 0.6139729 , 0.73912697], + [ 0.46359466, 0.61032341, 0.73828579], + [ 0.45980085, 0.60666294, 0.73745224], + [ 0.45607046, 0.60299133, 0.73662534], + [ 0.45240439, 0.59930846, 0.73580409], + [ 0.44880346, 0.59561417, 0.73498748], + [ 0.44526853, 0.59190836, 0.73417449], + [ 0.44180037, 0.58819087, 0.73336409], + [ 0.43839976, 0.58446161, 0.73255523], + [ 0.43506743, 0.58072044, 0.73174684], + [ 0.43180406, 0.57696726, 0.73093787], + [ 0.42861032, 0.57320197, 0.73012722], + [ 0.4254868 , 0.56942447, 0.72931382], + [ 0.42243406, 0.56563467, 0.72849656], + [ 0.4194526 , 0.56183249, 0.7276743 ], + [ 0.41654286, 0.55801785, 0.7268459 ], + [ 0.41370521, 0.55419069, 0.72601024], + [ 0.41093999, 0.55035095, 0.72516614], + [ 0.40824743, 0.5464986 , 0.72431244], + [ 0.40562772, 0.54263358, 0.72344796], + [ 0.40308096, 0.53875587, 0.72257152], + [ 0.40060718, 0.53486546, 0.72168191], + [ 0.39820634, 0.53096234, 0.72077792], + [ 0.39587829, 0.5270465 , 0.71985834], + [ 0.39362282, 0.52311798, 0.71892195], + [ 0.39143965, 0.51917678, 0.71796754], + [ 0.38932838, 0.51522296, 0.71699383], + [ 0.38728852, 0.51125656, 0.71599957], + [ 0.38531951, 0.50727766, 0.71498351], + [ 0.3834207 , 0.50328634, 0.71394437], + [ 0.38159133, 0.49928268, 0.71288089], + [ 0.37983056, 0.49526679, 0.7117918 ], + [ 0.37813747, 0.49123879, 0.71067581], + [ 0.37651104, 0.48719883, 0.70953165], + [ 0.37495017, 0.48314705, 0.70835802], + [ 0.37345365, 0.47908361, 0.70715364], + [ 0.3720202 , 0.47500871, 0.70591721], + [ 0.3706485 , 0.47092251, 0.70464749], + [ 0.36933708, 0.46682526, 0.70334313], + [ 0.3680844 , 0.46271718, 0.70200286], + [ 0.36688886, 0.45859853, 0.70062537], + [ 0.3657488 , 0.45446957, 0.69920937], + [ 0.36466247, 0.45033058, 0.69775359], + [ 0.36362806, 0.44618187, 0.69625672], + [ 0.36264369, 0.44202375, 0.6947175 ], + [ 0.36170744, 0.43785658, 0.69313464], + [ 0.36081731, 0.43368071, 0.69150687], + [ 0.35997127, 0.42949651, 0.68983293], + [ 0.35916724, 0.42530438, 0.68811159], + [ 0.35840311, 0.42110474, 0.68634158], + [ 0.35767669, 0.41689804, 0.68452166], + [ 0.35698576, 0.41268473, 0.68265059], + [ 0.35632809, 0.40846531, 0.68072717], + [ 0.35570142, 0.40424027, 0.67875018], + [ 0.35510346, 0.40001015, 0.67671844], + [ 0.35453191, 0.39577548, 0.67463076], + [ 0.35398445, 0.39153685, 0.672486 ], + [ 0.35345875, 0.38729485, 0.67028301], + [ 0.35295246, 0.38305009, 0.66802067], + [ 0.35246326, 0.37880321, 0.66569788], + [ 0.35198882, 0.37455486, 0.66331357], + [ 0.35152678, 0.37030575, 0.66086667], + [ 0.35107479, 0.36605658, 0.65835615], + [ 0.35063052, 0.3618081 , 0.65578101], + [ 0.35019167, 0.35756105, 0.65314027], + [ 0.34975594, 0.35331623, 0.65043299], + [ 0.34932103, 0.34907443, 0.64765826], + [ 0.3488847 , 0.34483649, 0.64481521], + [ 0.3484447 , 0.34060326, 0.641903 ], + [ 0.34799882, 0.33637561, 0.63892082], + [ 0.34754489, 0.33215444, 0.63586792], + [ 0.34708074, 0.32794067, 0.63274359], + [ 0.34660423, 0.32373524, 0.62954716], + [ 0.34611327, 0.31953912, 0.626278 ], + [ 0.34560581, 0.31535329, 0.62293555], + [ 0.34507981, 0.31117875, 0.6195193 ], + [ 0.3445333 , 0.30701653, 0.61602877], + [ 0.34396433, 0.30286765, 0.61246358], + [ 0.34337101, 0.29873318, 0.60882339], + [ 0.34275147, 0.29461418, 0.60510791], + [ 0.3421039 , 0.29051172, 0.60131694], + [ 0.34142652, 0.28642691, 0.59745035], + [ 0.3407176 , 0.28236085, 0.59350806], + [ 0.33997548, 0.27831464, 0.58949009], + [ 0.33919853, 0.27428939, 0.58539651], + [ 0.33838519, 0.27028622, 0.5812275 ], + [ 0.33753393, 0.26630624, 0.57698328], + [ 0.33664329, 0.26235056, 0.5726642 ], + [ 0.33571186, 0.25842029, 0.56827067], + [ 0.33473828, 0.25451653, 0.56380318], + [ 0.33372124, 0.25064036, 0.55926233], + [ 0.33265951, 0.24679286, 0.55464881], + [ 0.3315518 , 0.2429751 , 0.54996346], + [ 0.33039705, 0.2391881 , 0.54520713], + [ 0.32919421, 0.23543285, 0.54038076], + [ 0.32794228, 0.23171032, 0.53548542], + [ 0.32664032, 0.22802146, 0.53052227], + [ 0.32528744, 0.22436716, 0.52549256], + [ 0.32388283, 0.22074828, 0.52039765], + [ 0.32242575, 0.21716564, 0.51523899], + [ 0.32091548, 0.21362 , 0.51001812], + [ 0.31935142, 0.21011206, 0.50473668], + [ 0.31773301, 0.20664249, 0.49939639], + [ 0.31605975, 0.20321188, 0.49399908], + [ 0.31433118, 0.19982074, 0.4885467 ], + [ 0.31254684, 0.19646956, 0.4830415 ], + [ 0.31070656, 0.19315868, 0.47748529], + [ 0.30881012, 0.18988841, 0.47188022], + [ 0.30685735, 0.18665899, 0.46622852], + [ 0.30484817, 0.18347056, 0.46053247], + [ 0.30278253, 0.18032318, 0.45479444], + [ 0.30066047, 0.17721685, 0.44901683], + [ 0.29848209, 0.17415145, 0.4432021 ], + [ 0.29624753, 0.1711268 , 0.43735277], + [ 0.29395703, 0.16814262, 0.43147138], + [ 0.29161084, 0.16519854, 0.42556051], + [ 0.28920932, 0.16229412, 0.41962276], + [ 0.28675286, 0.15942882, 0.41366075], + [ 0.2842419 , 0.15660201, 0.40767712], + [ 0.28167694, 0.15381301, 0.40167448], + [ 0.27905854, 0.15106103, 0.39565548], + [ 0.27638729, 0.14834521, 0.3896227 ], + [ 0.27366385, 0.14566463, 0.38357875], + [ 0.27088889, 0.14301827, 0.37752616], + [ 0.26806316, 0.14040509, 0.37146746], + [ 0.26518742, 0.13782395, 0.3654051 ], + [ 0.26226246, 0.13527368, 0.3593415 ], + [ 0.25928913, 0.13275305, 0.35327901], + [ 0.25626828, 0.13026077, 0.3472199 ], + [ 0.25320079, 0.12779553, 0.34116637], + [ 0.25008757, 0.12535599, 0.33512053], + [ 0.24692954, 0.12294077, 0.3290844 ], + [ 0.24372763, 0.12054846, 0.32305992], + [ 0.24048278, 0.11817765, 0.31704891], + [ 0.23719594, 0.1158269 , 0.31105308], + [ 0.23386818, 0.11349414, 0.305076 ], + [ 0.23050045, 0.11117814, 0.29911839], + [ 0.22709367, 0.10887769, 0.29318088], + [ 0.22364878, 0.10659134, 0.28726476], + [ 0.22016669, 0.10431766, 0.2813712 ], + [ 0.21664832, 0.10205524, 0.27550121], + [ 0.21309455, 0.09980268, 0.26965574], + [ 0.20950624, 0.09755859, 0.26383556], + [ 0.20588486, 0.09532004, 0.25804531], + [ 0.20223102, 0.09308637, 0.2522837 ], + [ 0.19854528, 0.09085686, 0.24654959], + [ 0.19482836, 0.08863025, 0.24084332], + [ 0.19108098, 0.08640528, 0.23516508], + [ 0.18730403, 0.08418021, 0.22951612], + [ 0.18349948, 0.08195125, 0.22390218], + [ 0.1796666 , 0.07971997, 0.21831679], + [ 0.17580591, 0.07748523, 0.21275973], + [ 0.17191789, 0.07524592, 0.20723067], + [ 0.16800462, 0.07299798, 0.20173534], + [ 0.16406607, 0.07074123, 0.19627108], + [ 0.16010161, 0.06847631, 0.19083379], + [ 0.15611151, 0.06620217, 0.18542275], + [ 0.15209852, 0.06391359, 0.18004534], + [ 0.14806154, 0.06161177, 0.17469612], + [ 0.14399966, 0.05929728, 0.16937101], + [ 0.13991379, 0.05696771, 0.1640716 ], + [ 0.13580665, 0.05461785, 0.15880428], + [ 0.13167477, 0.05225188, 0.15355814], + [ 0.12751792, 0.04986878, 0.14833186], + [ 0.12334119, 0.0474596 , 0.14313781], + [ 0.11913922, 0.04503066, 0.13796129], + [ 0.11491149, 0.04258091, 0.13280069], + [ 0.11965882, 0.044975 , 0.13636802], + [ 0.12440599, 0.04733411, 0.13990772], + [ 0.12915519, 0.04965822, 0.14342013], + [ 0.13391067, 0.05194537, 0.14690559], + [ 0.13866784, 0.05420112, 0.15036406], + [ 0.14342969, 0.05642435, 0.15379574], + [ 0.14819846, 0.05861449, 0.15720072], + [ 0.15297046, 0.06077602, 0.16057901], + [ 0.15774876, 0.06290748, 0.16393064], + [ 0.16253503, 0.06500849, 0.16725554], + [ 0.16732581, 0.06708315, 0.17055375], + [ 0.17212343, 0.06913043, 0.17382515], + [ 0.17693062, 0.07114881, 0.17706947], + [ 0.18174337, 0.07314275, 0.18028681], + [ 0.18656241, 0.07511247, 0.18347702], + [ 0.19139323, 0.07705381, 0.18663945], + [ 0.19623049, 0.07897235, 0.18977433], + [ 0.20107444, 0.08086861, 0.19288148], + [ 0.20592893, 0.08273978, 0.19596017], + [ 0.21079263, 0.08458774, 0.19901026], + [ 0.21566364, 0.08641486, 0.20203171], + [ 0.22054216, 0.08822162, 0.20502423], + [ 0.22543347, 0.09000372, 0.2079865 ], + [ 0.23033276, 0.0917662 , 0.21091896], + [ 0.23523996, 0.09350968, 0.21382128], + [ 0.2401552 , 0.09523461, 0.21669303], + [ 0.24508326, 0.09693705, 0.21953259], + [ 0.25001962, 0.09862175, 0.22234052], + [ 0.2549642 , 0.10028932, 0.22511636], + [ 0.25991705, 0.10194022, 0.22785959], + [ 0.26488036, 0.10357287, 0.23056898], + [ 0.269854 , 0.10518789, 0.2332439 ], + [ 0.27483584, 0.1067878 , 0.2358844 ], + [ 0.27982585, 0.10837312, 0.23848986], + [ 0.284824 , 0.10994437, 0.24105962], + [ 0.28983121, 0.11150115, 0.24359263], + [ 0.29484874, 0.11304273, 0.24608753], + [ 0.29987396, 0.11457214, 0.24854462], + [ 0.30490674, 0.11609 , 0.25096314], + [ 0.3099469 , 0.11759699, 0.25334234], + [ 0.31499424, 0.11909379, 0.25568146], + [ 0.32004855, 0.12058116, 0.2579797 ], + [ 0.32511065, 0.12205877, 0.26023563], + [ 0.33018016, 0.12352752, 0.26244839], + [ 0.33525555, 0.12498945, 0.26461781], + [ 0.34033647, 0.12644547, 0.26674304], + [ 0.34542251, 0.12789653, 0.26882324], + [ 0.35051322, 0.12934363, 0.27085754], + [ 0.35560813, 0.13078783, 0.27284508], + [ 0.36070672, 0.13223023, 0.27478501], + [ 0.36580841, 0.13367202, 0.27667647], + [ 0.37091259, 0.13511443, 0.27851861], + [ 0.3760186 , 0.13655873, 0.2803106 ], + [ 0.38112572, 0.1380063 , 0.28205163], + [ 0.3862332 , 0.13945855, 0.28374089], + [ 0.39134022, 0.14091696, 0.28537762], + [ 0.39644591, 0.1423831 , 0.28696109], + [ 0.40154936, 0.14385857, 0.2884906 ], + [ 0.40664958, 0.14534507, 0.28996553], + [ 0.41174556, 0.14684434, 0.29138527], + [ 0.4168362 , 0.14835818, 0.29274929], + [ 0.42192037, 0.14988847, 0.29405714], + [ 0.42699688, 0.15143713, 0.29530844], + [ 0.43206449, 0.15300613, 0.29650289], + [ 0.4371219 , 0.1545975 , 0.29764027], + [ 0.44216778, 0.1562133 , 0.29872049], + [ 0.44720073, 0.15785563, 0.29974354], + [ 0.45221952, 0.1595264 , 0.30070924], + [ 0.45722358, 0.16122694, 0.30161638], + [ 0.46221025, 0.16296048, 0.30246697], + [ 0.467178 , 0.16472916, 0.30326152], + [ 0.47212523, 0.16653514, 0.30400071], + [ 0.47705035, 0.16838053, 0.30468534], + [ 0.48195174, 0.17026743, 0.30531637], + [ 0.48682898, 0.1721968 , 0.30589243], + [ 0.49167915, 0.17417181, 0.30641726], + [ 0.49650057, 0.17619437, 0.30689237], + [ 0.50129163, 0.1782663 , 0.30731938], + [ 0.50605102, 0.18038909, 0.30769934], + [ 0.5107775 , 0.18256411, 0.30803319], + [ 0.51546874, 0.18479346, 0.30832489], + [ 0.52012327, 0.18707849, 0.30857667], + [ 0.5247398 , 0.18942028, 0.30879036], + [ 0.52931719, 0.19181975, 0.30896757], + [ 0.53385355, 0.19427819, 0.30911262], + [ 0.53834763, 0.19679632, 0.30922826], + [ 0.54279846, 0.19937462, 0.30931642], + [ 0.54720478, 0.20201358, 0.30938051], + [ 0.5515654 , 0.20471355, 0.30942424], + [ 0.55587942, 0.20747459, 0.30945052], + [ 0.56014608, 0.2102966 , 0.3094619 ], + [ 0.56436445, 0.2131794 , 0.30946244], + [ 0.56853387, 0.21612261, 0.30945527], + [ 0.57265378, 0.21912572, 0.30944338], + [ 0.57672367, 0.22218807, 0.30943019], + [ 0.58074313, 0.22530888, 0.30941887], + [ 0.58471184, 0.22848728, 0.30941259], + [ 0.58862956, 0.23172226, 0.30941463], + [ 0.59249615, 0.23501276, 0.30942773], + [ 0.59631153, 0.23835767, 0.30945475], + [ 0.6000757 , 0.24175564, 0.30949941], + [ 0.60378871, 0.24520551, 0.30956373], + [ 0.60745067, 0.24870601, 0.30965032], + [ 0.61106177, 0.25225568, 0.30976233], + [ 0.61462227, 0.25585313, 0.30990235], + [ 0.61813236, 0.25949713, 0.31007218], + [ 0.62159233, 0.26318633, 0.3102741 ], + [ 0.62500268, 0.26691899, 0.31051155], + [ 0.62836366, 0.27069402, 0.31078569], + [ 0.63167561, 0.27451013, 0.31109835], + [ 0.63493894, 0.27836599, 0.31145154], + [ 0.63815439, 0.28225977, 0.31184849], + [ 0.64132209, 0.28619068, 0.31228962], + [ 0.6444425 , 0.29015746, 0.31277663], + [ 0.64751606, 0.29415891, 0.31331119], + [ 0.65054365, 0.29819324, 0.3138961 ], + [ 0.65352541, 0.3022598 , 0.31453173], + [ 0.65646176, 0.3063575 , 0.31521942], + [ 0.65935317, 0.31048525, 0.31596056], + [ 0.66220035, 0.31464171, 0.31675699], + [ 0.66500388, 0.31882575, 0.31761008], + [ 0.66776394, 0.32303675, 0.3185204 ], + [ 0.67048099, 0.32727375, 0.31948912], + [ 0.6731555 , 0.33153582, 0.32051737], + [ 0.67578823, 0.33582175, 0.32160664], + [ 0.67837972, 0.34013063, 0.32275799], + [ 0.6809301 , 0.34446198, 0.3239719 ], + [ 0.68343985, 0.34881498, 0.32524933], + [ 0.68590943, 0.35318884, 0.32659119], + [ 0.6883393 , 0.35758282, 0.32799836], + [ 0.69073043, 0.36199568, 0.32947216], + [ 0.69308291, 0.3664271 , 0.33101297], + [ 0.69539709, 0.3708765 , 0.33262143], + [ 0.69767342, 0.37534321, 0.33429827], + [ 0.69991239, 0.37982659, 0.3360442 ], + [ 0.70211445, 0.38432599, 0.33785988], + [ 0.70428019, 0.38884072, 0.33974602], + [ 0.70641046, 0.39336986, 0.3417034 ], + [ 0.70850525, 0.39791324, 0.34373229], + [ 0.71056506, 0.40247031, 0.34583323], + [ 0.71259038, 0.40704049, 0.34800672], + [ 0.71458171, 0.41162325, 0.35025325], + [ 0.71653955, 0.41621805, 0.35257327], + [ 0.71846443, 0.42082437, 0.35496717], + [ 0.72035693, 0.42544166, 0.35743537], + [ 0.72221798, 0.43006909, 0.35997828], + [ 0.72404769, 0.43470654, 0.3625961 ], + [ 0.7258466 , 0.43935351, 0.36528911], + [ 0.72761531, 0.44400951, 0.36805757], + [ 0.72935439, 0.44867407, 0.3709017 ], + [ 0.73106447, 0.45334672, 0.37382169], + [ 0.73274615, 0.45802698, 0.37681769], + [ 0.73440008, 0.46271439, 0.37988983], + [ 0.73602693, 0.46740849, 0.38303819], + [ 0.73762735, 0.47210882, 0.38626281], + [ 0.73920218, 0.47681486, 0.38956372], + [ 0.74075226, 0.48152606, 0.39294084], + [ 0.74227806, 0.48624217, 0.39639416], + [ 0.74378035, 0.49096272, 0.39992359], + [ 0.74525989, 0.49568729, 0.40352901], + [ 0.7467175 , 0.50041544, 0.40721025], + [ 0.74815399, 0.50514672, 0.41096711], + [ 0.74957022, 0.5098807 , 0.41479936], + [ 0.75096706, 0.51461695, 0.41870673], + [ 0.7523454 , 0.51935505, 0.42268891], + [ 0.75370617, 0.52409456, 0.42674555], + [ 0.75505031, 0.52883506, 0.43087627], + [ 0.75637879, 0.53357614, 0.43508064], + [ 0.75769261, 0.53831736, 0.43935819], + [ 0.75899278, 0.54305833, 0.44370844], + [ 0.76028036, 0.54779862, 0.44813085], + [ 0.76155641, 0.55253783, 0.45262483], + [ 0.76282202, 0.55727556, 0.45718978], + [ 0.76407832, 0.5620114 , 0.46182504], + [ 0.76532645, 0.56674496, 0.46652992], + [ 0.76656769, 0.57147579, 0.47130363], + [ 0.76780313, 0.57620356, 0.47614546], + [ 0.76903396, 0.5809279 , 0.48105461], + [ 0.77026139, 0.58564845, 0.48603026], + [ 0.77148669, 0.59036483, 0.49107153], + [ 0.77271112, 0.59507669, 0.49617752], + [ 0.77393597, 0.59978368, 0.50134728], + [ 0.77516255, 0.60448545, 0.50657984], + [ 0.77639218, 0.60918167, 0.51187417], + [ 0.77762619, 0.61387202, 0.51722924], + [ 0.77886594, 0.61855617, 0.52264397], + [ 0.78011279, 0.62323383, 0.52811724], + [ 0.78136811, 0.62790469, 0.53364792], + [ 0.78263329, 0.63256848, 0.53923484], + [ 0.7839097 , 0.63722491, 0.5448768 ], + [ 0.78519874, 0.64187373, 0.55057258], + [ 0.78650181, 0.64651468, 0.55632091], + [ 0.7878203 , 0.65114754, 0.56212052], + [ 0.78915561, 0.65577208, 0.56797011], + [ 0.79050926, 0.66038803, 0.57386822], + [ 0.79188264, 0.66499522, 0.57981352], + [ 0.79327702, 0.66959349, 0.5858047 ], + [ 0.79469379, 0.67418269, 0.5918404 ], + [ 0.79613431, 0.67876265, 0.59791919], + [ 0.79759991, 0.68333326, 0.60403965], + [ 0.79909194, 0.68789439, 0.61020035], + [ 0.8006117 , 0.69244594, 0.61639983], + [ 0.80216048, 0.69698784, 0.62263662], + [ 0.80373955, 0.70152001, 0.62890926], + [ 0.80535015, 0.70604242, 0.63521625], + [ 0.80699348, 0.71055502, 0.64155611], + [ 0.80867074, 0.71505782, 0.64792734], + [ 0.81038305, 0.71955081, 0.65432843], + [ 0.81213154, 0.72403405, 0.66075787], + [ 0.81391727, 0.72850756, 0.66721417], + [ 0.81574127, 0.73297142, 0.6736958 ], + [ 0.81760451, 0.73742574, 0.68020125], + [ 0.8195084 , 0.74187046, 0.68672835], + [ 0.82145369, 0.74630578, 0.69327574], + [ 0.82344087, 0.75073197, 0.69984234], + [ 0.82547069, 0.75514921, 0.70642665], + [ 0.82754383, 0.75955774, 0.71302718], + [ 0.82966089, 0.76395779, 0.71964243], + [ 0.83182239, 0.76834967, 0.72627091], + [ 0.83402873, 0.77273369, 0.73291113], + [ 0.83628024, 0.77711022, 0.73956159], + [ 0.83857711, 0.78147968, 0.74622081], + [ 0.84092037, 0.78584228, 0.75288559], + [ 0.84330909, 0.79019878, 0.75955572], + [ 0.84574284, 0.79454985, 0.76622981], + [ 0.84822113, 0.79889618, 0.77290618], + [ 0.85074321, 0.80323858, 0.77958299], + [ 0.85330808, 0.80757801, 0.78625822], + [ 0.85591442, 0.81191555, 0.79292953], + [ 0.85856118, 0.81625233, 0.79959303], + [ 0.86124662, 0.82058977, 0.80624488], + [ 0.86396791, 0.82492965, 0.81288197], + [ 0.86672291, 0.82927372, 0.81949846], + [ 0.86950991, 0.83362376, 0.82608673], + [ 0.87232821, 0.83798133, 0.83263685], + [ 0.87517941, 0.84234739, 0.83913593], + [ 0.87806892, 0.84672165, 0.84556782], + [ 0.8810043 , 0.85110264, 0.85191958], + [ 0.88399888, 0.8554866 , 0.85817797], + [ 0.8870694 , 0.85986781, 0.86433525], + [ 0.89023309, 0.86423952, 0.87039251], + [ 0.89350466, 0.86859513, 0.87635917], + [ 0.89689069, 0.87293018, 0.88225599], + [ 0.90039063, 0.87724269, 0.88810768], + [ 0.90399815, 0.88153304, 0.89393827], + [ 0.9077033 , 0.88580336, 0.89976873], + [ 0.91149547, 0.89005668, 0.90561352], + [ 0.91536348, 0.89429636, 0.91148597], + [ 0.91929796, 0.89852545, 0.91739491], + [ 0.92329143, 0.90274659, 0.92334572], + [ 0.92733819, 0.90696197, 0.92934102], + [ 0.93143407, 0.91117343, 0.93538087], + [ 0.93557543, 0.91538222, 0.94146872], + [ 0.93975995, 0.91958938, 0.94760504], + [ 0.94398606, 0.92379568, 0.95378996]] + +_sunlight_data = (_twilight_data[len(_twilight_data)//2:] + + _twilight_data[:len(_twilight_data)//2]) + cmaps = {} for (name, data) in (('magma', _magma_data), ('inferno', _inferno_data), ('plasma', _plasma_data), ('viridis', _viridis_data), - ('cividis', _cividis_data)): + ('cividis', _cividis_data), + ('twilight', _twilight_data), + ('sunlight', _sunlight_data)): cmaps[name] = ListedColormap(data, name=name) # generate reversed colormap diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index b06801ce7cbd..86aa05dabb28 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -1681,8 +1681,8 @@ def colormaps(): for bipolar data that emphasizes positive or negative deviations from a central value Cyclic schemes - meant for plotting values that wrap around at the - endpoints, such as phase angle, wind direction, or time of day + for plotting values that wrap around at the endpoints, such as phase + angle, wind direction, or time of day Qualitative schemes for nominal data that has no inherent ordering, where color is used only to distinguish categories @@ -1777,8 +1777,6 @@ def colormaps(): grayscale hot sequential black-red-yellow-white, to emulate blackbody radiation from an object at increasing temperatures - hsv cyclic red-yellow-green-cyan-blue-magenta-red, formed - by changing the hue component in the HSV color space jet a spectral map with dark endpoints, blue-cyan-yellow-red; based on a fluid-jet simulation by NCSA [#]_ pink sequential increasing pastel black-pink-white, meant @@ -1810,6 +1808,17 @@ def colormaps(): Language software ============ ======================================================= + A set of cyclic color maps: + + ========== ======================================================== + Colormap Description + ========== ======================================================== + hsv red-yellow-green-cyan-blue-magenta-red, formed by changing + the hue component in the HSV color space + twilight perceptually uniform shades of white-blue-black-red-white + sunlight perceptually uniform shades of black-red-white-blue-black + ========== ========================================================= + Other miscellaneous schemes: From 41980573963d1fd5e8c782447157d2a3b9ad3795 Mon Sep 17 00:00:00 2001 From: Bastian Bechtold <basti@bastibe.de> Date: Thu, 31 Mar 2016 11:16:55 +0200 Subject: [PATCH 0643/1161] remove extraneous whitespace and pad short floats with zero to make them align with the others. --- lib/matplotlib/_cm_listed.py | 1022 +++++++++++++++++----------------- 1 file changed, 511 insertions(+), 511 deletions(-) diff --git a/lib/matplotlib/_cm_listed.py b/lib/matplotlib/_cm_listed.py index 6820fabd206a..1c3ea9fd0f38 100644 --- a/lib/matplotlib/_cm_listed.py +++ b/lib/matplotlib/_cm_listed.py @@ -1285,517 +1285,517 @@ [0.995503, 0.903866, 0.212370], [0.995737, 0.909344, 0.217772]] -_twilight_data = [[ 0.94398606, 0.92379568, 0.95378996], - [ 0.93804991, 0.9201455 , 0.94887283], - [ 0.93217249, 0.91648571, 0.94400748], - [ 0.92635074, 0.91281728, 0.93919627], - [ 0.92057033, 0.90914594, 0.93443928], - [ 0.91484293, 0.90546602, 0.92974532], - [ 0.90916383, 0.90177896, 0.92511844], - [ 0.90351675, 0.89809096, 0.92056082], - [ 0.89790511, 0.89439989, 0.91607892], - [ 0.89232212, 0.89070802, 0.91167599], - [ 0.88675657, 0.88701948, 0.90735388], - [ 0.88119653, 0.88333869, 0.90311389], - [ 0.87564052, 0.87966605, 0.89895611], - [ 0.87008105, 0.87600448, 0.89487901], - [ 0.86451177, 0.87235651, 0.89088026], - [ 0.85892107, 0.86872657, 0.88695835], - [ 0.85331239, 0.86511351, 0.88310928], - [ 0.84768317, 0.86151837, 0.87932996], - [ 0.8420319 , 0.85794176, 0.87561757], - [ 0.83635797, 0.8543839 , 0.8719697 ], - [ 0.83066019, 0.85084513, 0.86838476], - [ 0.82493782, 0.84732552, 0.86486175], - [ 0.81919497, 0.84382347, 0.86139848], - [ 0.81343288, 0.84033828, 0.85799409], - [ 0.80765302, 0.83686919, 0.85464804], - [ 0.80185697, 0.83341535, 0.85136005], - [ 0.79604642, 0.82997585, 0.84812999], - [ 0.79022314, 0.82654976, 0.84495787], - [ 0.78438894, 0.82313614, 0.84184378], - [ 0.77854568, 0.81973402, 0.83878783], - [ 0.77269523, 0.81634245, 0.83579016], - [ 0.76683947, 0.81296047, 0.83285087], - [ 0.76098031, 0.80958714, 0.82997002], - [ 0.75511964, 0.80622155, 0.8271476 ], - [ 0.74925935, 0.80286279, 0.82438353], - [ 0.74340133, 0.79950999, 0.82167765], - [ 0.73754741, 0.7961623 , 0.81902971], - [ 0.73169945, 0.79281892, 0.81643938], - [ 0.72585922, 0.78947904, 0.81390621], - [ 0.7200285 , 0.78614194, 0.81142971], - [ 0.714209 , 0.78280688, 0.80900927], - [ 0.70840239, 0.77947321, 0.80664422], - [ 0.7026103 , 0.77614026, 0.8043338 ], - [ 0.69683429, 0.77280745, 0.80207721], - [ 0.69107587, 0.7694742 , 0.79987358], - [ 0.68533652, 0.76613997, 0.79772199], - [ 0.67961763, 0.76280427, 0.79562148], - [ 0.67392055, 0.75946663, 0.79357104], - [ 0.66824657, 0.7561266 , 0.79156966], - [ 0.66259694, 0.75278379, 0.78961627], - [ 0.65697285, 0.7494378 , 0.78770982], - [ 0.65137538, 0.7460883 , 0.78584928], - [ 0.64580563, 0.74273496, 0.78403359], - [ 0.64026476, 0.73937744, 0.78226154], - [ 0.63475378, 0.73601546, 0.78053205], - [ 0.62927367, 0.73264873, 0.77884404], - [ 0.62382538, 0.72927702, 0.77719644], - [ 0.61840981, 0.72590008, 0.77558819], - [ 0.61302785, 0.72251768, 0.77401824], - [ 0.60768039, 0.71912961, 0.77248556], - [ 0.60236827, 0.71573565, 0.77098912], - [ 0.59709233, 0.71233563, 0.76952791], - [ 0.5918534 , 0.70892933, 0.76810094], - [ 0.58665231, 0.70551659, 0.76670719], - [ 0.5814899 , 0.70209721, 0.76534569], - [ 0.57636694, 0.69867102, 0.7640155 ], - [ 0.57128425, 0.69523786, 0.76271569], - [ 0.56624264, 0.69179755, 0.76144531], - [ 0.56124292, 0.68834994, 0.76020345], - [ 0.55628591, 0.68489485, 0.75898919], - [ 0.55137244, 0.68143212, 0.75780163], - [ 0.54650333, 0.67796158, 0.75663987], - [ 0.54167944, 0.67448308, 0.75550302], - [ 0.53690161, 0.67099646, 0.75439019], - [ 0.5321707 , 0.66750154, 0.75330049], - [ 0.5274876 , 0.66399818, 0.75223302], - [ 0.52285318, 0.66048619, 0.75118688], - [ 0.51826833, 0.65696544, 0.75016124], - [ 0.51373395, 0.65343574, 0.74915521], - [ 0.50925093, 0.64989694, 0.74816791], - [ 0.50482021, 0.64634888, 0.74719846], - [ 0.5004427 , 0.64279139, 0.74624595], - [ 0.49611935, 0.63922432, 0.74530949], - [ 0.49185108, 0.63564749, 0.74438818], - [ 0.48763884, 0.63206075, 0.74348111], - [ 0.48348358, 0.62846395, 0.74258737], - [ 0.47938622, 0.62485692, 0.74170602], - [ 0.47534772, 0.6212395 , 0.74083613], - [ 0.47136901, 0.61761154, 0.73997677], - [ 0.46745102, 0.6139729 , 0.73912697], - [ 0.46359466, 0.61032341, 0.73828579], - [ 0.45980085, 0.60666294, 0.73745224], - [ 0.45607046, 0.60299133, 0.73662534], - [ 0.45240439, 0.59930846, 0.73580409], - [ 0.44880346, 0.59561417, 0.73498748], - [ 0.44526853, 0.59190836, 0.73417449], - [ 0.44180037, 0.58819087, 0.73336409], - [ 0.43839976, 0.58446161, 0.73255523], - [ 0.43506743, 0.58072044, 0.73174684], - [ 0.43180406, 0.57696726, 0.73093787], - [ 0.42861032, 0.57320197, 0.73012722], - [ 0.4254868 , 0.56942447, 0.72931382], - [ 0.42243406, 0.56563467, 0.72849656], - [ 0.4194526 , 0.56183249, 0.7276743 ], - [ 0.41654286, 0.55801785, 0.7268459 ], - [ 0.41370521, 0.55419069, 0.72601024], - [ 0.41093999, 0.55035095, 0.72516614], - [ 0.40824743, 0.5464986 , 0.72431244], - [ 0.40562772, 0.54263358, 0.72344796], - [ 0.40308096, 0.53875587, 0.72257152], - [ 0.40060718, 0.53486546, 0.72168191], - [ 0.39820634, 0.53096234, 0.72077792], - [ 0.39587829, 0.5270465 , 0.71985834], - [ 0.39362282, 0.52311798, 0.71892195], - [ 0.39143965, 0.51917678, 0.71796754], - [ 0.38932838, 0.51522296, 0.71699383], - [ 0.38728852, 0.51125656, 0.71599957], - [ 0.38531951, 0.50727766, 0.71498351], - [ 0.3834207 , 0.50328634, 0.71394437], - [ 0.38159133, 0.49928268, 0.71288089], - [ 0.37983056, 0.49526679, 0.7117918 ], - [ 0.37813747, 0.49123879, 0.71067581], - [ 0.37651104, 0.48719883, 0.70953165], - [ 0.37495017, 0.48314705, 0.70835802], - [ 0.37345365, 0.47908361, 0.70715364], - [ 0.3720202 , 0.47500871, 0.70591721], - [ 0.3706485 , 0.47092251, 0.70464749], - [ 0.36933708, 0.46682526, 0.70334313], - [ 0.3680844 , 0.46271718, 0.70200286], - [ 0.36688886, 0.45859853, 0.70062537], - [ 0.3657488 , 0.45446957, 0.69920937], - [ 0.36466247, 0.45033058, 0.69775359], - [ 0.36362806, 0.44618187, 0.69625672], - [ 0.36264369, 0.44202375, 0.6947175 ], - [ 0.36170744, 0.43785658, 0.69313464], - [ 0.36081731, 0.43368071, 0.69150687], - [ 0.35997127, 0.42949651, 0.68983293], - [ 0.35916724, 0.42530438, 0.68811159], - [ 0.35840311, 0.42110474, 0.68634158], - [ 0.35767669, 0.41689804, 0.68452166], - [ 0.35698576, 0.41268473, 0.68265059], - [ 0.35632809, 0.40846531, 0.68072717], - [ 0.35570142, 0.40424027, 0.67875018], - [ 0.35510346, 0.40001015, 0.67671844], - [ 0.35453191, 0.39577548, 0.67463076], - [ 0.35398445, 0.39153685, 0.672486 ], - [ 0.35345875, 0.38729485, 0.67028301], - [ 0.35295246, 0.38305009, 0.66802067], - [ 0.35246326, 0.37880321, 0.66569788], - [ 0.35198882, 0.37455486, 0.66331357], - [ 0.35152678, 0.37030575, 0.66086667], - [ 0.35107479, 0.36605658, 0.65835615], - [ 0.35063052, 0.3618081 , 0.65578101], - [ 0.35019167, 0.35756105, 0.65314027], - [ 0.34975594, 0.35331623, 0.65043299], - [ 0.34932103, 0.34907443, 0.64765826], - [ 0.3488847 , 0.34483649, 0.64481521], - [ 0.3484447 , 0.34060326, 0.641903 ], - [ 0.34799882, 0.33637561, 0.63892082], - [ 0.34754489, 0.33215444, 0.63586792], - [ 0.34708074, 0.32794067, 0.63274359], - [ 0.34660423, 0.32373524, 0.62954716], - [ 0.34611327, 0.31953912, 0.626278 ], - [ 0.34560581, 0.31535329, 0.62293555], - [ 0.34507981, 0.31117875, 0.6195193 ], - [ 0.3445333 , 0.30701653, 0.61602877], - [ 0.34396433, 0.30286765, 0.61246358], - [ 0.34337101, 0.29873318, 0.60882339], - [ 0.34275147, 0.29461418, 0.60510791], - [ 0.3421039 , 0.29051172, 0.60131694], - [ 0.34142652, 0.28642691, 0.59745035], - [ 0.3407176 , 0.28236085, 0.59350806], - [ 0.33997548, 0.27831464, 0.58949009], - [ 0.33919853, 0.27428939, 0.58539651], - [ 0.33838519, 0.27028622, 0.5812275 ], - [ 0.33753393, 0.26630624, 0.57698328], - [ 0.33664329, 0.26235056, 0.5726642 ], - [ 0.33571186, 0.25842029, 0.56827067], - [ 0.33473828, 0.25451653, 0.56380318], - [ 0.33372124, 0.25064036, 0.55926233], - [ 0.33265951, 0.24679286, 0.55464881], - [ 0.3315518 , 0.2429751 , 0.54996346], - [ 0.33039705, 0.2391881 , 0.54520713], - [ 0.32919421, 0.23543285, 0.54038076], - [ 0.32794228, 0.23171032, 0.53548542], - [ 0.32664032, 0.22802146, 0.53052227], - [ 0.32528744, 0.22436716, 0.52549256], - [ 0.32388283, 0.22074828, 0.52039765], - [ 0.32242575, 0.21716564, 0.51523899], - [ 0.32091548, 0.21362 , 0.51001812], - [ 0.31935142, 0.21011206, 0.50473668], - [ 0.31773301, 0.20664249, 0.49939639], - [ 0.31605975, 0.20321188, 0.49399908], - [ 0.31433118, 0.19982074, 0.4885467 ], - [ 0.31254684, 0.19646956, 0.4830415 ], - [ 0.31070656, 0.19315868, 0.47748529], - [ 0.30881012, 0.18988841, 0.47188022], - [ 0.30685735, 0.18665899, 0.46622852], - [ 0.30484817, 0.18347056, 0.46053247], - [ 0.30278253, 0.18032318, 0.45479444], - [ 0.30066047, 0.17721685, 0.44901683], - [ 0.29848209, 0.17415145, 0.4432021 ], - [ 0.29624753, 0.1711268 , 0.43735277], - [ 0.29395703, 0.16814262, 0.43147138], - [ 0.29161084, 0.16519854, 0.42556051], - [ 0.28920932, 0.16229412, 0.41962276], - [ 0.28675286, 0.15942882, 0.41366075], - [ 0.2842419 , 0.15660201, 0.40767712], - [ 0.28167694, 0.15381301, 0.40167448], - [ 0.27905854, 0.15106103, 0.39565548], - [ 0.27638729, 0.14834521, 0.3896227 ], - [ 0.27366385, 0.14566463, 0.38357875], - [ 0.27088889, 0.14301827, 0.37752616], - [ 0.26806316, 0.14040509, 0.37146746], - [ 0.26518742, 0.13782395, 0.3654051 ], - [ 0.26226246, 0.13527368, 0.3593415 ], - [ 0.25928913, 0.13275305, 0.35327901], - [ 0.25626828, 0.13026077, 0.3472199 ], - [ 0.25320079, 0.12779553, 0.34116637], - [ 0.25008757, 0.12535599, 0.33512053], - [ 0.24692954, 0.12294077, 0.3290844 ], - [ 0.24372763, 0.12054846, 0.32305992], - [ 0.24048278, 0.11817765, 0.31704891], - [ 0.23719594, 0.1158269 , 0.31105308], - [ 0.23386818, 0.11349414, 0.305076 ], - [ 0.23050045, 0.11117814, 0.29911839], - [ 0.22709367, 0.10887769, 0.29318088], - [ 0.22364878, 0.10659134, 0.28726476], - [ 0.22016669, 0.10431766, 0.2813712 ], - [ 0.21664832, 0.10205524, 0.27550121], - [ 0.21309455, 0.09980268, 0.26965574], - [ 0.20950624, 0.09755859, 0.26383556], - [ 0.20588486, 0.09532004, 0.25804531], - [ 0.20223102, 0.09308637, 0.2522837 ], - [ 0.19854528, 0.09085686, 0.24654959], - [ 0.19482836, 0.08863025, 0.24084332], - [ 0.19108098, 0.08640528, 0.23516508], - [ 0.18730403, 0.08418021, 0.22951612], - [ 0.18349948, 0.08195125, 0.22390218], - [ 0.1796666 , 0.07971997, 0.21831679], - [ 0.17580591, 0.07748523, 0.21275973], - [ 0.17191789, 0.07524592, 0.20723067], - [ 0.16800462, 0.07299798, 0.20173534], - [ 0.16406607, 0.07074123, 0.19627108], - [ 0.16010161, 0.06847631, 0.19083379], - [ 0.15611151, 0.06620217, 0.18542275], - [ 0.15209852, 0.06391359, 0.18004534], - [ 0.14806154, 0.06161177, 0.17469612], - [ 0.14399966, 0.05929728, 0.16937101], - [ 0.13991379, 0.05696771, 0.1640716 ], - [ 0.13580665, 0.05461785, 0.15880428], - [ 0.13167477, 0.05225188, 0.15355814], - [ 0.12751792, 0.04986878, 0.14833186], - [ 0.12334119, 0.0474596 , 0.14313781], - [ 0.11913922, 0.04503066, 0.13796129], - [ 0.11491149, 0.04258091, 0.13280069], - [ 0.11965882, 0.044975 , 0.13636802], - [ 0.12440599, 0.04733411, 0.13990772], - [ 0.12915519, 0.04965822, 0.14342013], - [ 0.13391067, 0.05194537, 0.14690559], - [ 0.13866784, 0.05420112, 0.15036406], - [ 0.14342969, 0.05642435, 0.15379574], - [ 0.14819846, 0.05861449, 0.15720072], - [ 0.15297046, 0.06077602, 0.16057901], - [ 0.15774876, 0.06290748, 0.16393064], - [ 0.16253503, 0.06500849, 0.16725554], - [ 0.16732581, 0.06708315, 0.17055375], - [ 0.17212343, 0.06913043, 0.17382515], - [ 0.17693062, 0.07114881, 0.17706947], - [ 0.18174337, 0.07314275, 0.18028681], - [ 0.18656241, 0.07511247, 0.18347702], - [ 0.19139323, 0.07705381, 0.18663945], - [ 0.19623049, 0.07897235, 0.18977433], - [ 0.20107444, 0.08086861, 0.19288148], - [ 0.20592893, 0.08273978, 0.19596017], - [ 0.21079263, 0.08458774, 0.19901026], - [ 0.21566364, 0.08641486, 0.20203171], - [ 0.22054216, 0.08822162, 0.20502423], - [ 0.22543347, 0.09000372, 0.2079865 ], - [ 0.23033276, 0.0917662 , 0.21091896], - [ 0.23523996, 0.09350968, 0.21382128], - [ 0.2401552 , 0.09523461, 0.21669303], - [ 0.24508326, 0.09693705, 0.21953259], - [ 0.25001962, 0.09862175, 0.22234052], - [ 0.2549642 , 0.10028932, 0.22511636], - [ 0.25991705, 0.10194022, 0.22785959], - [ 0.26488036, 0.10357287, 0.23056898], - [ 0.269854 , 0.10518789, 0.2332439 ], - [ 0.27483584, 0.1067878 , 0.2358844 ], - [ 0.27982585, 0.10837312, 0.23848986], - [ 0.284824 , 0.10994437, 0.24105962], - [ 0.28983121, 0.11150115, 0.24359263], - [ 0.29484874, 0.11304273, 0.24608753], - [ 0.29987396, 0.11457214, 0.24854462], - [ 0.30490674, 0.11609 , 0.25096314], - [ 0.3099469 , 0.11759699, 0.25334234], - [ 0.31499424, 0.11909379, 0.25568146], - [ 0.32004855, 0.12058116, 0.2579797 ], - [ 0.32511065, 0.12205877, 0.26023563], - [ 0.33018016, 0.12352752, 0.26244839], - [ 0.33525555, 0.12498945, 0.26461781], - [ 0.34033647, 0.12644547, 0.26674304], - [ 0.34542251, 0.12789653, 0.26882324], - [ 0.35051322, 0.12934363, 0.27085754], - [ 0.35560813, 0.13078783, 0.27284508], - [ 0.36070672, 0.13223023, 0.27478501], - [ 0.36580841, 0.13367202, 0.27667647], - [ 0.37091259, 0.13511443, 0.27851861], - [ 0.3760186 , 0.13655873, 0.2803106 ], - [ 0.38112572, 0.1380063 , 0.28205163], - [ 0.3862332 , 0.13945855, 0.28374089], - [ 0.39134022, 0.14091696, 0.28537762], - [ 0.39644591, 0.1423831 , 0.28696109], - [ 0.40154936, 0.14385857, 0.2884906 ], - [ 0.40664958, 0.14534507, 0.28996553], - [ 0.41174556, 0.14684434, 0.29138527], - [ 0.4168362 , 0.14835818, 0.29274929], - [ 0.42192037, 0.14988847, 0.29405714], - [ 0.42699688, 0.15143713, 0.29530844], - [ 0.43206449, 0.15300613, 0.29650289], - [ 0.4371219 , 0.1545975 , 0.29764027], - [ 0.44216778, 0.1562133 , 0.29872049], - [ 0.44720073, 0.15785563, 0.29974354], - [ 0.45221952, 0.1595264 , 0.30070924], - [ 0.45722358, 0.16122694, 0.30161638], - [ 0.46221025, 0.16296048, 0.30246697], - [ 0.467178 , 0.16472916, 0.30326152], - [ 0.47212523, 0.16653514, 0.30400071], - [ 0.47705035, 0.16838053, 0.30468534], - [ 0.48195174, 0.17026743, 0.30531637], - [ 0.48682898, 0.1721968 , 0.30589243], - [ 0.49167915, 0.17417181, 0.30641726], - [ 0.49650057, 0.17619437, 0.30689237], - [ 0.50129163, 0.1782663 , 0.30731938], - [ 0.50605102, 0.18038909, 0.30769934], - [ 0.5107775 , 0.18256411, 0.30803319], - [ 0.51546874, 0.18479346, 0.30832489], - [ 0.52012327, 0.18707849, 0.30857667], - [ 0.5247398 , 0.18942028, 0.30879036], - [ 0.52931719, 0.19181975, 0.30896757], - [ 0.53385355, 0.19427819, 0.30911262], - [ 0.53834763, 0.19679632, 0.30922826], - [ 0.54279846, 0.19937462, 0.30931642], - [ 0.54720478, 0.20201358, 0.30938051], - [ 0.5515654 , 0.20471355, 0.30942424], - [ 0.55587942, 0.20747459, 0.30945052], - [ 0.56014608, 0.2102966 , 0.3094619 ], - [ 0.56436445, 0.2131794 , 0.30946244], - [ 0.56853387, 0.21612261, 0.30945527], - [ 0.57265378, 0.21912572, 0.30944338], - [ 0.57672367, 0.22218807, 0.30943019], - [ 0.58074313, 0.22530888, 0.30941887], - [ 0.58471184, 0.22848728, 0.30941259], - [ 0.58862956, 0.23172226, 0.30941463], - [ 0.59249615, 0.23501276, 0.30942773], - [ 0.59631153, 0.23835767, 0.30945475], - [ 0.6000757 , 0.24175564, 0.30949941], - [ 0.60378871, 0.24520551, 0.30956373], - [ 0.60745067, 0.24870601, 0.30965032], - [ 0.61106177, 0.25225568, 0.30976233], - [ 0.61462227, 0.25585313, 0.30990235], - [ 0.61813236, 0.25949713, 0.31007218], - [ 0.62159233, 0.26318633, 0.3102741 ], - [ 0.62500268, 0.26691899, 0.31051155], - [ 0.62836366, 0.27069402, 0.31078569], - [ 0.63167561, 0.27451013, 0.31109835], - [ 0.63493894, 0.27836599, 0.31145154], - [ 0.63815439, 0.28225977, 0.31184849], - [ 0.64132209, 0.28619068, 0.31228962], - [ 0.6444425 , 0.29015746, 0.31277663], - [ 0.64751606, 0.29415891, 0.31331119], - [ 0.65054365, 0.29819324, 0.3138961 ], - [ 0.65352541, 0.3022598 , 0.31453173], - [ 0.65646176, 0.3063575 , 0.31521942], - [ 0.65935317, 0.31048525, 0.31596056], - [ 0.66220035, 0.31464171, 0.31675699], - [ 0.66500388, 0.31882575, 0.31761008], - [ 0.66776394, 0.32303675, 0.3185204 ], - [ 0.67048099, 0.32727375, 0.31948912], - [ 0.6731555 , 0.33153582, 0.32051737], - [ 0.67578823, 0.33582175, 0.32160664], - [ 0.67837972, 0.34013063, 0.32275799], - [ 0.6809301 , 0.34446198, 0.3239719 ], - [ 0.68343985, 0.34881498, 0.32524933], - [ 0.68590943, 0.35318884, 0.32659119], - [ 0.6883393 , 0.35758282, 0.32799836], - [ 0.69073043, 0.36199568, 0.32947216], - [ 0.69308291, 0.3664271 , 0.33101297], - [ 0.69539709, 0.3708765 , 0.33262143], - [ 0.69767342, 0.37534321, 0.33429827], - [ 0.69991239, 0.37982659, 0.3360442 ], - [ 0.70211445, 0.38432599, 0.33785988], - [ 0.70428019, 0.38884072, 0.33974602], - [ 0.70641046, 0.39336986, 0.3417034 ], - [ 0.70850525, 0.39791324, 0.34373229], - [ 0.71056506, 0.40247031, 0.34583323], - [ 0.71259038, 0.40704049, 0.34800672], - [ 0.71458171, 0.41162325, 0.35025325], - [ 0.71653955, 0.41621805, 0.35257327], - [ 0.71846443, 0.42082437, 0.35496717], - [ 0.72035693, 0.42544166, 0.35743537], - [ 0.72221798, 0.43006909, 0.35997828], - [ 0.72404769, 0.43470654, 0.3625961 ], - [ 0.7258466 , 0.43935351, 0.36528911], - [ 0.72761531, 0.44400951, 0.36805757], - [ 0.72935439, 0.44867407, 0.3709017 ], - [ 0.73106447, 0.45334672, 0.37382169], - [ 0.73274615, 0.45802698, 0.37681769], - [ 0.73440008, 0.46271439, 0.37988983], - [ 0.73602693, 0.46740849, 0.38303819], - [ 0.73762735, 0.47210882, 0.38626281], - [ 0.73920218, 0.47681486, 0.38956372], - [ 0.74075226, 0.48152606, 0.39294084], - [ 0.74227806, 0.48624217, 0.39639416], - [ 0.74378035, 0.49096272, 0.39992359], - [ 0.74525989, 0.49568729, 0.40352901], - [ 0.7467175 , 0.50041544, 0.40721025], - [ 0.74815399, 0.50514672, 0.41096711], - [ 0.74957022, 0.5098807 , 0.41479936], - [ 0.75096706, 0.51461695, 0.41870673], - [ 0.7523454 , 0.51935505, 0.42268891], - [ 0.75370617, 0.52409456, 0.42674555], - [ 0.75505031, 0.52883506, 0.43087627], - [ 0.75637879, 0.53357614, 0.43508064], - [ 0.75769261, 0.53831736, 0.43935819], - [ 0.75899278, 0.54305833, 0.44370844], - [ 0.76028036, 0.54779862, 0.44813085], - [ 0.76155641, 0.55253783, 0.45262483], - [ 0.76282202, 0.55727556, 0.45718978], - [ 0.76407832, 0.5620114 , 0.46182504], - [ 0.76532645, 0.56674496, 0.46652992], - [ 0.76656769, 0.57147579, 0.47130363], - [ 0.76780313, 0.57620356, 0.47614546], - [ 0.76903396, 0.5809279 , 0.48105461], - [ 0.77026139, 0.58564845, 0.48603026], - [ 0.77148669, 0.59036483, 0.49107153], - [ 0.77271112, 0.59507669, 0.49617752], - [ 0.77393597, 0.59978368, 0.50134728], - [ 0.77516255, 0.60448545, 0.50657984], - [ 0.77639218, 0.60918167, 0.51187417], - [ 0.77762619, 0.61387202, 0.51722924], - [ 0.77886594, 0.61855617, 0.52264397], - [ 0.78011279, 0.62323383, 0.52811724], - [ 0.78136811, 0.62790469, 0.53364792], - [ 0.78263329, 0.63256848, 0.53923484], - [ 0.7839097 , 0.63722491, 0.5448768 ], - [ 0.78519874, 0.64187373, 0.55057258], - [ 0.78650181, 0.64651468, 0.55632091], - [ 0.7878203 , 0.65114754, 0.56212052], - [ 0.78915561, 0.65577208, 0.56797011], - [ 0.79050926, 0.66038803, 0.57386822], - [ 0.79188264, 0.66499522, 0.57981352], - [ 0.79327702, 0.66959349, 0.5858047 ], - [ 0.79469379, 0.67418269, 0.5918404 ], - [ 0.79613431, 0.67876265, 0.59791919], - [ 0.79759991, 0.68333326, 0.60403965], - [ 0.79909194, 0.68789439, 0.61020035], - [ 0.8006117 , 0.69244594, 0.61639983], - [ 0.80216048, 0.69698784, 0.62263662], - [ 0.80373955, 0.70152001, 0.62890926], - [ 0.80535015, 0.70604242, 0.63521625], - [ 0.80699348, 0.71055502, 0.64155611], - [ 0.80867074, 0.71505782, 0.64792734], - [ 0.81038305, 0.71955081, 0.65432843], - [ 0.81213154, 0.72403405, 0.66075787], - [ 0.81391727, 0.72850756, 0.66721417], - [ 0.81574127, 0.73297142, 0.6736958 ], - [ 0.81760451, 0.73742574, 0.68020125], - [ 0.8195084 , 0.74187046, 0.68672835], - [ 0.82145369, 0.74630578, 0.69327574], - [ 0.82344087, 0.75073197, 0.69984234], - [ 0.82547069, 0.75514921, 0.70642665], - [ 0.82754383, 0.75955774, 0.71302718], - [ 0.82966089, 0.76395779, 0.71964243], - [ 0.83182239, 0.76834967, 0.72627091], - [ 0.83402873, 0.77273369, 0.73291113], - [ 0.83628024, 0.77711022, 0.73956159], - [ 0.83857711, 0.78147968, 0.74622081], - [ 0.84092037, 0.78584228, 0.75288559], - [ 0.84330909, 0.79019878, 0.75955572], - [ 0.84574284, 0.79454985, 0.76622981], - [ 0.84822113, 0.79889618, 0.77290618], - [ 0.85074321, 0.80323858, 0.77958299], - [ 0.85330808, 0.80757801, 0.78625822], - [ 0.85591442, 0.81191555, 0.79292953], - [ 0.85856118, 0.81625233, 0.79959303], - [ 0.86124662, 0.82058977, 0.80624488], - [ 0.86396791, 0.82492965, 0.81288197], - [ 0.86672291, 0.82927372, 0.81949846], - [ 0.86950991, 0.83362376, 0.82608673], - [ 0.87232821, 0.83798133, 0.83263685], - [ 0.87517941, 0.84234739, 0.83913593], - [ 0.87806892, 0.84672165, 0.84556782], - [ 0.8810043 , 0.85110264, 0.85191958], - [ 0.88399888, 0.8554866 , 0.85817797], - [ 0.8870694 , 0.85986781, 0.86433525], - [ 0.89023309, 0.86423952, 0.87039251], - [ 0.89350466, 0.86859513, 0.87635917], - [ 0.89689069, 0.87293018, 0.88225599], - [ 0.90039063, 0.87724269, 0.88810768], - [ 0.90399815, 0.88153304, 0.89393827], - [ 0.9077033 , 0.88580336, 0.89976873], - [ 0.91149547, 0.89005668, 0.90561352], - [ 0.91536348, 0.89429636, 0.91148597], - [ 0.91929796, 0.89852545, 0.91739491], - [ 0.92329143, 0.90274659, 0.92334572], - [ 0.92733819, 0.90696197, 0.92934102], - [ 0.93143407, 0.91117343, 0.93538087], - [ 0.93557543, 0.91538222, 0.94146872], - [ 0.93975995, 0.91958938, 0.94760504], - [ 0.94398606, 0.92379568, 0.95378996]] +_twilight_data = [[0.9439860, 0.92379568, 0.95378996], + [0.9380499, 0.92014550, 0.94887283], + [0.9321724, 0.91648571, 0.94400748], + [0.9263507, 0.91281728, 0.93919627], + [0.9205703, 0.90914594, 0.93443928], + [0.9148429, 0.90546602, 0.92974532], + [0.9091638, 0.90177896, 0.92511844], + [0.9035167, 0.89809096, 0.92056082], + [0.8979051, 0.89439989, 0.91607892], + [0.8923221, 0.89070802, 0.91167599], + [0.8867565, 0.88701948, 0.90735388], + [0.8811965, 0.88333869, 0.90311389], + [0.8756405, 0.87966605, 0.89895611], + [0.8700810, 0.87600448, 0.89487901], + [0.8645117, 0.87235651, 0.89088026], + [0.8589210, 0.86872657, 0.88695835], + [0.8533123, 0.86511351, 0.88310928], + [0.8476831, 0.86151837, 0.87932996], + [0.8420319, 0.85794176, 0.87561757], + [0.8363579, 0.85438390, 0.87196970], + [0.8306601, 0.85084513, 0.86838476], + [0.8249378, 0.84732552, 0.86486175], + [0.8191949, 0.84382347, 0.86139848], + [0.8134328, 0.84033828, 0.85799409], + [0.8076530, 0.83686919, 0.85464804], + [0.8018569, 0.83341535, 0.85136005], + [0.7960464, 0.82997585, 0.84812999], + [0.7902231, 0.82654976, 0.84495787], + [0.7843889, 0.82313614, 0.84184378], + [0.7785456, 0.81973402, 0.83878783], + [0.7726952, 0.81634245, 0.83579016], + [0.7668394, 0.81296047, 0.83285087], + [0.7609803, 0.80958714, 0.82997002], + [0.7551196, 0.80622155, 0.82714760], + [0.7492593, 0.80286279, 0.82438353], + [0.7434013, 0.79950999, 0.82167765], + [0.7375474, 0.79616230, 0.81902971], + [0.7316994, 0.79281892, 0.81643938], + [0.7258592, 0.78947904, 0.81390621], + [0.7200285, 0.78614194, 0.81142971], + [0.7142090, 0.78280688, 0.80900927], + [0.7084023, 0.77947321, 0.80664422], + [0.7026103, 0.77614026, 0.80433380], + [0.6968342, 0.77280745, 0.80207721], + [0.6910758, 0.76947420, 0.79987358], + [0.6853365, 0.76613997, 0.79772199], + [0.6796176, 0.76280427, 0.79562148], + [0.6739205, 0.75946663, 0.79357104], + [0.6682465, 0.75612660, 0.79156966], + [0.6625969, 0.75278379, 0.78961627], + [0.6569728, 0.74943780, 0.78770982], + [0.6513753, 0.74608830, 0.78584928], + [0.6458056, 0.74273496, 0.78403359], + [0.6402647, 0.73937744, 0.78226154], + [0.6347537, 0.73601546, 0.78053205], + [0.6292736, 0.73264873, 0.77884404], + [0.6238253, 0.72927702, 0.77719644], + [0.6184098, 0.72590008, 0.77558819], + [0.6130278, 0.72251768, 0.77401824], + [0.6076803, 0.71912961, 0.77248556], + [0.6023682, 0.71573565, 0.77098912], + [0.5970923, 0.71233563, 0.76952791], + [0.5918534, 0.70892933, 0.76810094], + [0.5866523, 0.70551659, 0.76670719], + [0.5814899, 0.70209721, 0.76534569], + [0.5763669, 0.69867102, 0.76401550], + [0.5712842, 0.69523786, 0.76271569], + [0.5662426, 0.69179755, 0.76144531], + [0.5612429, 0.68834994, 0.76020345], + [0.5562859, 0.68489485, 0.75898919], + [0.5513724, 0.68143212, 0.75780163], + [0.5465033, 0.67796158, 0.75663987], + [0.5416794, 0.67448308, 0.75550302], + [0.5369016, 0.67099646, 0.75439019], + [0.5321707, 0.66750154, 0.75330049], + [0.5274876, 0.66399818, 0.75223302], + [0.5228531, 0.66048619, 0.75118688], + [0.5182683, 0.65696544, 0.75016124], + [0.5137339, 0.65343574, 0.74915521], + [0.5092509, 0.64989694, 0.74816791], + [0.5048202, 0.64634888, 0.74719846], + [0.5004427, 0.64279139, 0.74624595], + [0.4961193, 0.63922432, 0.74530949], + [0.4918510, 0.63564749, 0.74438818], + [0.4876388, 0.63206075, 0.74348111], + [0.4834835, 0.62846395, 0.74258737], + [0.4793862, 0.62485692, 0.74170602], + [0.4753477, 0.62123950, 0.74083613], + [0.4713690, 0.61761154, 0.73997677], + [0.4674510, 0.61397290, 0.73912697], + [0.4635946, 0.61032341, 0.73828579], + [0.4598008, 0.60666294, 0.73745224], + [0.4560704, 0.60299133, 0.73662534], + [0.4524043, 0.59930846, 0.73580409], + [0.4488034, 0.59561417, 0.73498748], + [0.4452685, 0.59190836, 0.73417449], + [0.4418003, 0.58819087, 0.73336409], + [0.4383997, 0.58446161, 0.73255523], + [0.4350674, 0.58072044, 0.73174684], + [0.4318040, 0.57696726, 0.73093787], + [0.4286103, 0.57320197, 0.73012722], + [0.4254868, 0.56942447, 0.72931382], + [0.4224340, 0.56563467, 0.72849656], + [0.4194526, 0.56183249, 0.72767430], + [0.4165428, 0.55801785, 0.72684590], + [0.4137052, 0.55419069, 0.72601024], + [0.4109399, 0.55035095, 0.72516614], + [0.4082474, 0.54649860, 0.72431244], + [0.4056277, 0.54263358, 0.72344796], + [0.4030809, 0.53875587, 0.72257152], + [0.4006071, 0.53486546, 0.72168191], + [0.3982063, 0.53096234, 0.72077792], + [0.3958782, 0.52704650, 0.71985834], + [0.3936228, 0.52311798, 0.71892195], + [0.3914396, 0.51917678, 0.71796754], + [0.3893283, 0.51522296, 0.71699383], + [0.3872885, 0.51125656, 0.71599957], + [0.3853195, 0.50727766, 0.71498351], + [0.3834207, 0.50328634, 0.71394437], + [0.3815913, 0.49928268, 0.71288089], + [0.3798305, 0.49526679, 0.71179180], + [0.3781374, 0.49123879, 0.71067581], + [0.3765110, 0.48719883, 0.70953165], + [0.3749501, 0.48314705, 0.70835802], + [0.3734536, 0.47908361, 0.70715364], + [0.3720202, 0.47500871, 0.70591721], + [0.3706485, 0.47092251, 0.70464749], + [0.3693370, 0.46682526, 0.70334313], + [0.3680844, 0.46271718, 0.70200286], + [0.3668888, 0.45859853, 0.70062537], + [0.3657488, 0.45446957, 0.69920937], + [0.3646624, 0.45033058, 0.69775359], + [0.3636280, 0.44618187, 0.69625672], + [0.3626436, 0.44202375, 0.69471750], + [0.3617074, 0.43785658, 0.69313464], + [0.3608173, 0.43368071, 0.69150687], + [0.3599712, 0.42949651, 0.68983293], + [0.3591672, 0.42530438, 0.68811159], + [0.3584031, 0.42110474, 0.68634158], + [0.3576766, 0.41689804, 0.68452166], + [0.3569857, 0.41268473, 0.68265059], + [0.3563280, 0.40846531, 0.68072717], + [0.3557014, 0.40424027, 0.67875018], + [0.3551034, 0.40001015, 0.67671844], + [0.3545319, 0.39577548, 0.67463076], + [0.3539844, 0.39153685, 0.67248600], + [0.3534587, 0.38729485, 0.67028301], + [0.3529524, 0.38305009, 0.66802067], + [0.3524632, 0.37880321, 0.66569788], + [0.3519888, 0.37455486, 0.66331357], + [0.3515267, 0.37030575, 0.66086667], + [0.3510747, 0.36605658, 0.65835615], + [0.3506305, 0.36180810, 0.65578101], + [0.3501916, 0.35756105, 0.65314027], + [0.3497559, 0.35331623, 0.65043299], + [0.3493210, 0.34907443, 0.64765826], + [0.3488847, 0.34483649, 0.64481521], + [0.3484447, 0.34060326, 0.64190300], + [0.3479988, 0.33637561, 0.63892082], + [0.3475448, 0.33215444, 0.63586792], + [0.3470807, 0.32794067, 0.63274359], + [0.3466042, 0.32373524, 0.62954716], + [0.3461132, 0.31953912, 0.62627800], + [0.3456058, 0.31535329, 0.62293555], + [0.3450798, 0.31117875, 0.61951930], + [0.3445333, 0.30701653, 0.61602877], + [0.3439643, 0.30286765, 0.61246358], + [0.3433710, 0.29873318, 0.60882339], + [0.3427514, 0.29461418, 0.60510791], + [0.3421039, 0.29051172, 0.60131694], + [0.3414265, 0.28642691, 0.59745035], + [0.3407176, 0.28236085, 0.59350806], + [0.3399754, 0.27831464, 0.58949009], + [0.3391985, 0.27428939, 0.58539651], + [0.3383851, 0.27028622, 0.58122750], + [0.3375339, 0.26630624, 0.57698328], + [0.3366432, 0.26235056, 0.57266420], + [0.3357118, 0.25842029, 0.56827067], + [0.3347382, 0.25451653, 0.56380318], + [0.3337212, 0.25064036, 0.55926233], + [0.3326595, 0.24679286, 0.55464881], + [0.3315518, 0.24297510, 0.54996346], + [0.3303970, 0.23918810, 0.54520713], + [0.3291942, 0.23543285, 0.54038076], + [0.3279422, 0.23171032, 0.53548542], + [0.3266403, 0.22802146, 0.53052227], + [0.3252874, 0.22436716, 0.52549256], + [0.3238828, 0.22074828, 0.52039765], + [0.3224257, 0.21716564, 0.51523899], + [0.3209154, 0.21362000, 0.51001812], + [0.3193514, 0.21011206, 0.50473668], + [0.3177330, 0.20664249, 0.49939639], + [0.3160597, 0.20321188, 0.49399908], + [0.3143311, 0.19982074, 0.48854670], + [0.3125468, 0.19646956, 0.48304150], + [0.3107065, 0.19315868, 0.47748529], + [0.3088101, 0.18988841, 0.47188022], + [0.3068573, 0.18665899, 0.46622852], + [0.3048481, 0.18347056, 0.46053247], + [0.3027825, 0.18032318, 0.45479444], + [0.3006604, 0.17721685, 0.44901683], + [0.2984820, 0.17415145, 0.44320210], + [0.2962475, 0.17112680, 0.43735277], + [0.2939570, 0.16814262, 0.43147138], + [0.2916108, 0.16519854, 0.42556051], + [0.2892093, 0.16229412, 0.41962276], + [0.2867528, 0.15942882, 0.41366075], + [0.2842419, 0.15660201, 0.40767712], + [0.2816769, 0.15381301, 0.40167448], + [0.2790585, 0.15106103, 0.39565548], + [0.2763872, 0.14834521, 0.38962270], + [0.2736638, 0.14566463, 0.38357875], + [0.2708888, 0.14301827, 0.37752616], + [0.2680631, 0.14040509, 0.37146746], + [0.2651874, 0.13782395, 0.36540510], + [0.2622624, 0.13527368, 0.35934150], + [0.2592891, 0.13275305, 0.35327901], + [0.2562682, 0.13026077, 0.34721990], + [0.2532007, 0.12779553, 0.34116637], + [0.2500875, 0.12535599, 0.33512053], + [0.2469295, 0.12294077, 0.32908440], + [0.2437276, 0.12054846, 0.32305992], + [0.2404827, 0.11817765, 0.31704891], + [0.2371959, 0.11582690, 0.31105308], + [0.2338681, 0.11349414, 0.30507600], + [0.2305004, 0.11117814, 0.29911839], + [0.2270936, 0.10887769, 0.29318088], + [0.2236487, 0.10659134, 0.28726476], + [0.2201666, 0.10431766, 0.28137120], + [0.2166483, 0.10205524, 0.27550121], + [0.2130945, 0.09980268, 0.26965574], + [0.2095062, 0.09755859, 0.26383556], + [0.2058848, 0.09532004, 0.25804531], + [0.2022310, 0.09308637, 0.25228370], + [0.1985452, 0.09085686, 0.24654959], + [0.1948283, 0.08863025, 0.24084332], + [0.1910809, 0.08640528, 0.23516508], + [0.1873040, 0.08418021, 0.22951612], + [0.1834994, 0.08195125, 0.22390218], + [0.1796666, 0.07971997, 0.21831679], + [0.1758059, 0.07748523, 0.21275973], + [0.1719178, 0.07524592, 0.20723067], + [0.1680046, 0.07299798, 0.20173534], + [0.1640660, 0.07074123, 0.19627108], + [0.1601016, 0.06847631, 0.19083379], + [0.1561115, 0.06620217, 0.18542275], + [0.1520985, 0.06391359, 0.18004534], + [0.1480615, 0.06161177, 0.17469612], + [0.1439996, 0.05929728, 0.16937101], + [0.1399137, 0.05696771, 0.16407160], + [0.1358066, 0.05461785, 0.15880428], + [0.1316747, 0.05225188, 0.15355814], + [0.1275179, 0.04986878, 0.14833186], + [0.1233411, 0.04745960, 0.14313781], + [0.1191392, 0.04503066, 0.13796129], + [0.1149114, 0.04258091, 0.13280069], + [0.1196588, 0.04497500, 0.13636802], + [0.1244059, 0.04733411, 0.13990772], + [0.1291551, 0.04965822, 0.14342013], + [0.1339106, 0.05194537, 0.14690559], + [0.1386678, 0.05420112, 0.15036406], + [0.1434296, 0.05642435, 0.15379574], + [0.1481984, 0.05861449, 0.15720072], + [0.1529704, 0.06077602, 0.16057901], + [0.1577487, 0.06290748, 0.16393064], + [0.1625350, 0.06500849, 0.16725554], + [0.1673258, 0.06708315, 0.17055375], + [0.1721234, 0.06913043, 0.17382515], + [0.1769306, 0.07114881, 0.17706947], + [0.1817433, 0.07314275, 0.18028681], + [0.1865624, 0.07511247, 0.18347702], + [0.1913932, 0.07705381, 0.18663945], + [0.1962304, 0.07897235, 0.18977433], + [0.2010744, 0.08086861, 0.19288148], + [0.2059289, 0.08273978, 0.19596017], + [0.2107926, 0.08458774, 0.19901026], + [0.2156636, 0.08641486, 0.20203171], + [0.2205421, 0.08822162, 0.20502423], + [0.2254334, 0.09000372, 0.20798650], + [0.2303327, 0.09176620, 0.21091896], + [0.2352399, 0.09350968, 0.21382128], + [0.2401552, 0.09523461, 0.21669303], + [0.2450832, 0.09693705, 0.21953259], + [0.2500196, 0.09862175, 0.22234052], + [0.2549642, 0.10028932, 0.22511636], + [0.2599170, 0.10194022, 0.22785959], + [0.2648803, 0.10357287, 0.23056898], + [0.2698540, 0.10518789, 0.23324390], + [0.2748358, 0.10678780, 0.23588440], + [0.2798258, 0.10837312, 0.23848986], + [0.2848240, 0.10994437, 0.24105962], + [0.2898312, 0.11150115, 0.24359263], + [0.2948487, 0.11304273, 0.24608753], + [0.2998739, 0.11457214, 0.24854462], + [0.3049067, 0.11609000, 0.25096314], + [0.3099469, 0.11759699, 0.25334234], + [0.3149942, 0.11909379, 0.25568146], + [0.3200485, 0.12058116, 0.25797970], + [0.3251106, 0.12205877, 0.26023563], + [0.3301801, 0.12352752, 0.26244839], + [0.3352555, 0.12498945, 0.26461781], + [0.3403364, 0.12644547, 0.26674304], + [0.3454225, 0.12789653, 0.26882324], + [0.3505132, 0.12934363, 0.27085754], + [0.3556081, 0.13078783, 0.27284508], + [0.3607067, 0.13223023, 0.27478501], + [0.3658084, 0.13367202, 0.27667647], + [0.3709125, 0.13511443, 0.27851861], + [0.3760186, 0.13655873, 0.28031060], + [0.3811257, 0.13800630, 0.28205163], + [0.3862332, 0.13945855, 0.28374089], + [0.3913402, 0.14091696, 0.28537762], + [0.3964459, 0.14238310, 0.28696109], + [0.4015493, 0.14385857, 0.28849060], + [0.4066495, 0.14534507, 0.28996553], + [0.4117455, 0.14684434, 0.29138527], + [0.4168362, 0.14835818, 0.29274929], + [0.4219203, 0.14988847, 0.29405714], + [0.4269968, 0.15143713, 0.29530844], + [0.4320644, 0.15300613, 0.29650289], + [0.4371219, 0.15459750, 0.29764027], + [0.4421677, 0.15621330, 0.29872049], + [0.4472007, 0.15785563, 0.29974354], + [0.4522195, 0.15952640, 0.30070924], + [0.4572235, 0.16122694, 0.30161638], + [0.4622102, 0.16296048, 0.30246697], + [0.4671780, 0.16472916, 0.30326152], + [0.4721252, 0.16653514, 0.30400071], + [0.4770503, 0.16838053, 0.30468534], + [0.4819517, 0.17026743, 0.30531637], + [0.4868289, 0.17219680, 0.30589243], + [0.4916791, 0.17417181, 0.30641726], + [0.4965005, 0.17619437, 0.30689237], + [0.5012916, 0.17826630, 0.30731938], + [0.5060510, 0.18038909, 0.30769934], + [0.5107775, 0.18256411, 0.30803319], + [0.5154687, 0.18479346, 0.30832489], + [0.5201232, 0.18707849, 0.30857667], + [0.5247398, 0.18942028, 0.30879036], + [0.5293171, 0.19181975, 0.30896757], + [0.5338535, 0.19427819, 0.30911262], + [0.5383476, 0.19679632, 0.30922826], + [0.5427984, 0.19937462, 0.30931642], + [0.5472047, 0.20201358, 0.30938051], + [0.5515654, 0.20471355, 0.30942424], + [0.5558794, 0.20747459, 0.30945052], + [0.5601460, 0.21029660, 0.30946190], + [0.5643644, 0.21317940, 0.30946244], + [0.5685338, 0.21612261, 0.30945527], + [0.5726537, 0.21912572, 0.30944338], + [0.5767236, 0.22218807, 0.30943019], + [0.5807431, 0.22530888, 0.30941887], + [0.5847118, 0.22848728, 0.30941259], + [0.5886295, 0.23172226, 0.30941463], + [0.5924961, 0.23501276, 0.30942773], + [0.5963115, 0.23835767, 0.30945475], + [0.6000757, 0.24175564, 0.30949941], + [0.6037887, 0.24520551, 0.30956373], + [0.6074506, 0.24870601, 0.30965032], + [0.6110617, 0.25225568, 0.30976233], + [0.6146222, 0.25585313, 0.30990235], + [0.6181323, 0.25949713, 0.31007218], + [0.6215923, 0.26318633, 0.31027410], + [0.6250026, 0.26691899, 0.31051155], + [0.6283636, 0.27069402, 0.31078569], + [0.6316756, 0.27451013, 0.31109835], + [0.6349389, 0.27836599, 0.31145154], + [0.6381543, 0.28225977, 0.31184849], + [0.6413220, 0.28619068, 0.31228962], + [0.6444425, 0.29015746, 0.31277663], + [0.6475160, 0.29415891, 0.31331119], + [0.6505436, 0.29819324, 0.31389610], + [0.6535254, 0.30225980, 0.31453173], + [0.6564617, 0.30635750, 0.31521942], + [0.6593531, 0.31048525, 0.31596056], + [0.6622003, 0.31464171, 0.31675699], + [0.6650038, 0.31882575, 0.31761008], + [0.6677639, 0.32303675, 0.31852040], + [0.6704809, 0.32727375, 0.31948912], + [0.6731555, 0.33153582, 0.32051737], + [0.6757882, 0.33582175, 0.32160664], + [0.6783797, 0.34013063, 0.32275799], + [0.6809301, 0.34446198, 0.32397190], + [0.6834398, 0.34881498, 0.32524933], + [0.6859094, 0.35318884, 0.32659119], + [0.6883393, 0.35758282, 0.32799836], + [0.6907304, 0.36199568, 0.32947216], + [0.6930829, 0.36642710, 0.33101297], + [0.6953970, 0.37087650, 0.33262143], + [0.6976734, 0.37534321, 0.33429827], + [0.6999123, 0.37982659, 0.33604420], + [0.7021144, 0.38432599, 0.33785988], + [0.7042801, 0.38884072, 0.33974602], + [0.7064104, 0.39336986, 0.34170340], + [0.7085052, 0.39791324, 0.34373229], + [0.7105650, 0.40247031, 0.34583323], + [0.7125903, 0.40704049, 0.34800672], + [0.7145817, 0.41162325, 0.35025325], + [0.7165395, 0.41621805, 0.35257327], + [0.7184644, 0.42082437, 0.35496717], + [0.7203569, 0.42544166, 0.35743537], + [0.7222179, 0.43006909, 0.35997828], + [0.7240476, 0.43470654, 0.36259610], + [0.7258466, 0.43935351, 0.36528911], + [0.7276153, 0.44400951, 0.36805757], + [0.7293543, 0.44867407, 0.37090170], + [0.7310644, 0.45334672, 0.37382169], + [0.7327461, 0.45802698, 0.37681769], + [0.7344000, 0.46271439, 0.37988983], + [0.7360269, 0.46740849, 0.38303819], + [0.7376273, 0.47210882, 0.38626281], + [0.7392021, 0.47681486, 0.38956372], + [0.7407522, 0.48152606, 0.39294084], + [0.7422780, 0.48624217, 0.39639416], + [0.7437803, 0.49096272, 0.39992359], + [0.7452598, 0.49568729, 0.40352901], + [0.7467175, 0.50041544, 0.40721025], + [0.7481539, 0.50514672, 0.41096711], + [0.7495702, 0.50988070, 0.41479936], + [0.7509670, 0.51461695, 0.41870673], + [0.7523454, 0.51935505, 0.42268891], + [0.7537061, 0.52409456, 0.42674555], + [0.7550503, 0.52883506, 0.43087627], + [0.7563787, 0.53357614, 0.43508064], + [0.7576926, 0.53831736, 0.43935819], + [0.7589927, 0.54305833, 0.44370844], + [0.7602803, 0.54779862, 0.44813085], + [0.7615564, 0.55253783, 0.45262483], + [0.7628220, 0.55727556, 0.45718978], + [0.7640783, 0.56201140, 0.46182504], + [0.7653264, 0.56674496, 0.46652992], + [0.7665676, 0.57147579, 0.47130363], + [0.7678031, 0.57620356, 0.47614546], + [0.7690339, 0.58092790, 0.48105461], + [0.7702613, 0.58564845, 0.48603026], + [0.7714866, 0.59036483, 0.49107153], + [0.7727111, 0.59507669, 0.49617752], + [0.7739359, 0.59978368, 0.50134728], + [0.7751625, 0.60448545, 0.50657984], + [0.7763921, 0.60918167, 0.51187417], + [0.7776261, 0.61387202, 0.51722924], + [0.7788659, 0.61855617, 0.52264397], + [0.7801127, 0.62323383, 0.52811724], + [0.7813681, 0.62790469, 0.53364792], + [0.7826332, 0.63256848, 0.53923484], + [0.7839097, 0.63722491, 0.54487680], + [0.7851987, 0.64187373, 0.55057258], + [0.7865018, 0.64651468, 0.55632091], + [0.7878203, 0.65114754, 0.56212052], + [0.7891556, 0.65577208, 0.56797011], + [0.7905092, 0.66038803, 0.57386822], + [0.7918826, 0.66499522, 0.57981352], + [0.7932770, 0.66959349, 0.58580470], + [0.7946937, 0.67418269, 0.59184040], + [0.7961343, 0.67876265, 0.59791919], + [0.7975999, 0.68333326, 0.60403965], + [0.7990919, 0.68789439, 0.61020035], + [0.8006117, 0.69244594, 0.61639983], + [0.8021604, 0.69698784, 0.62263662], + [0.8037395, 0.70152001, 0.62890926], + [0.8053501, 0.70604242, 0.63521625], + [0.8069934, 0.71055502, 0.64155611], + [0.8086707, 0.71505782, 0.64792734], + [0.8103830, 0.71955081, 0.65432843], + [0.8121315, 0.72403405, 0.66075787], + [0.8139172, 0.72850756, 0.66721417], + [0.8157412, 0.73297142, 0.67369580], + [0.8176045, 0.73742574, 0.68020125], + [0.8195084, 0.74187046, 0.68672835], + [0.8214536, 0.74630578, 0.69327574], + [0.8234408, 0.75073197, 0.69984234], + [0.8254706, 0.75514921, 0.70642665], + [0.8275438, 0.75955774, 0.71302718], + [0.8296608, 0.76395779, 0.71964243], + [0.8318223, 0.76834967, 0.72627091], + [0.8340287, 0.77273369, 0.73291113], + [0.8362802, 0.77711022, 0.73956159], + [0.8385771, 0.78147968, 0.74622081], + [0.8409203, 0.78584228, 0.75288559], + [0.8433090, 0.79019878, 0.75955572], + [0.8457428, 0.79454985, 0.76622981], + [0.8482211, 0.79889618, 0.77290618], + [0.8507432, 0.80323858, 0.77958299], + [0.8533080, 0.80757801, 0.78625822], + [0.8559144, 0.81191555, 0.79292953], + [0.8585611, 0.81625233, 0.79959303], + [0.8612466, 0.82058977, 0.80624488], + [0.8639679, 0.82492965, 0.81288197], + [0.8667229, 0.82927372, 0.81949846], + [0.8695099, 0.83362376, 0.82608673], + [0.8723282, 0.83798133, 0.83263685], + [0.8751794, 0.84234739, 0.83913593], + [0.8780689, 0.84672165, 0.84556782], + [0.8810043, 0.85110264, 0.85191958], + [0.8839988, 0.85548660, 0.85817797], + [0.8870694, 0.85986781, 0.86433525], + [0.8902330, 0.86423952, 0.87039251], + [0.8935046, 0.86859513, 0.87635917], + [0.8968906, 0.87293018, 0.88225599], + [0.9003906, 0.87724269, 0.88810768], + [0.9039981, 0.88153304, 0.89393827], + [0.9077033, 0.88580336, 0.89976873], + [0.9114954, 0.89005668, 0.90561352], + [0.9153634, 0.89429636, 0.91148597], + [0.9192979, 0.89852545, 0.91739491], + [0.9232914, 0.90274659, 0.92334572], + [0.9273381, 0.90696197, 0.92934102], + [0.9314340, 0.91117343, 0.93538087], + [0.9355754, 0.91538222, 0.94146872], + [0.9397599, 0.91958938, 0.94760504], + [0.9439860, 0.92379568, 0.95378996]] _sunlight_data = (_twilight_data[len(_twilight_data)//2:] + _twilight_data[:len(_twilight_data)//2]) From 35e133bd24f8faed8521ad776bb777185021a9ef Mon Sep 17 00:00:00 2001 From: Bastian Bechtold <basti@bastibe.de> Date: Fri, 1 Apr 2016 12:45:20 +0200 Subject: [PATCH 0644/1161] reorder colormap lists for consistency --- examples/color/colormaps_reference.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/color/colormaps_reference.py b/examples/color/colormaps_reference.py index 4b4ed6468996..fd9883998507 100644 --- a/examples/color/colormaps_reference.py +++ b/examples/color/colormaps_reference.py @@ -53,12 +53,12 @@ ('Qualitative', ['Accent', 'Dark2', 'Paired', 'Pastel1', 'Pastel2', 'Set1', 'Set2', 'Set3', 'Vega10', 'Vega20', 'Vega20b', 'Vega20c']), + ('Perceptually Uniform Cyclic', ['twilight', 'sunlight']), ('Miscellaneous', ['gist_earth', 'terrain', 'ocean', 'gist_stern', 'brg', 'CMRmap', 'cubehelix', 'gnuplot', 'gnuplot2', 'gist_ncar', 'nipy_spectral', 'jet', 'rainbow', - 'gist_rainbow', 'hsv', 'flag', 'prism']), - ('Perceptually Uniform Cyclic', ['twilight', 'sunlight'])] + 'gist_rainbow', 'hsv', 'flag', 'prism'])] nrows = max(len(cmap_list) for cmap_category, cmap_list in cmaps) From a45cf2f140ce6bb8392cde779aaf9b7b455a8ef1 Mon Sep 17 00:00:00 2001 From: Bastian Bechtold <basti@bastibe.de> Date: Fri, 1 Apr 2016 13:05:29 +0200 Subject: [PATCH 0645/1161] update twilight to fixed color space in viscm viscm fixed a bug in it's color space model. This uses the same design parameters of the original color map in the new color space. --- lib/matplotlib/_cm_listed.py | 1022 +++++++++++++++++----------------- 1 file changed, 511 insertions(+), 511 deletions(-) diff --git a/lib/matplotlib/_cm_listed.py b/lib/matplotlib/_cm_listed.py index 1c3ea9fd0f38..b605ce19b8cc 100644 --- a/lib/matplotlib/_cm_listed.py +++ b/lib/matplotlib/_cm_listed.py @@ -1285,517 +1285,517 @@ [0.995503, 0.903866, 0.212370], [0.995737, 0.909344, 0.217772]] -_twilight_data = [[0.9439860, 0.92379568, 0.95378996], - [0.9380499, 0.92014550, 0.94887283], - [0.9321724, 0.91648571, 0.94400748], - [0.9263507, 0.91281728, 0.93919627], - [0.9205703, 0.90914594, 0.93443928], - [0.9148429, 0.90546602, 0.92974532], - [0.9091638, 0.90177896, 0.92511844], - [0.9035167, 0.89809096, 0.92056082], - [0.8979051, 0.89439989, 0.91607892], - [0.8923221, 0.89070802, 0.91167599], - [0.8867565, 0.88701948, 0.90735388], - [0.8811965, 0.88333869, 0.90311389], - [0.8756405, 0.87966605, 0.89895611], - [0.8700810, 0.87600448, 0.89487901], - [0.8645117, 0.87235651, 0.89088026], - [0.8589210, 0.86872657, 0.88695835], - [0.8533123, 0.86511351, 0.88310928], - [0.8476831, 0.86151837, 0.87932996], - [0.8420319, 0.85794176, 0.87561757], - [0.8363579, 0.85438390, 0.87196970], - [0.8306601, 0.85084513, 0.86838476], - [0.8249378, 0.84732552, 0.86486175], - [0.8191949, 0.84382347, 0.86139848], - [0.8134328, 0.84033828, 0.85799409], - [0.8076530, 0.83686919, 0.85464804], - [0.8018569, 0.83341535, 0.85136005], - [0.7960464, 0.82997585, 0.84812999], - [0.7902231, 0.82654976, 0.84495787], - [0.7843889, 0.82313614, 0.84184378], - [0.7785456, 0.81973402, 0.83878783], - [0.7726952, 0.81634245, 0.83579016], - [0.7668394, 0.81296047, 0.83285087], - [0.7609803, 0.80958714, 0.82997002], - [0.7551196, 0.80622155, 0.82714760], - [0.7492593, 0.80286279, 0.82438353], - [0.7434013, 0.79950999, 0.82167765], - [0.7375474, 0.79616230, 0.81902971], - [0.7316994, 0.79281892, 0.81643938], - [0.7258592, 0.78947904, 0.81390621], - [0.7200285, 0.78614194, 0.81142971], - [0.7142090, 0.78280688, 0.80900927], - [0.7084023, 0.77947321, 0.80664422], - [0.7026103, 0.77614026, 0.80433380], - [0.6968342, 0.77280745, 0.80207721], - [0.6910758, 0.76947420, 0.79987358], - [0.6853365, 0.76613997, 0.79772199], - [0.6796176, 0.76280427, 0.79562148], - [0.6739205, 0.75946663, 0.79357104], - [0.6682465, 0.75612660, 0.79156966], - [0.6625969, 0.75278379, 0.78961627], - [0.6569728, 0.74943780, 0.78770982], - [0.6513753, 0.74608830, 0.78584928], - [0.6458056, 0.74273496, 0.78403359], - [0.6402647, 0.73937744, 0.78226154], - [0.6347537, 0.73601546, 0.78053205], - [0.6292736, 0.73264873, 0.77884404], - [0.6238253, 0.72927702, 0.77719644], - [0.6184098, 0.72590008, 0.77558819], - [0.6130278, 0.72251768, 0.77401824], - [0.6076803, 0.71912961, 0.77248556], - [0.6023682, 0.71573565, 0.77098912], - [0.5970923, 0.71233563, 0.76952791], - [0.5918534, 0.70892933, 0.76810094], - [0.5866523, 0.70551659, 0.76670719], - [0.5814899, 0.70209721, 0.76534569], - [0.5763669, 0.69867102, 0.76401550], - [0.5712842, 0.69523786, 0.76271569], - [0.5662426, 0.69179755, 0.76144531], - [0.5612429, 0.68834994, 0.76020345], - [0.5562859, 0.68489485, 0.75898919], - [0.5513724, 0.68143212, 0.75780163], - [0.5465033, 0.67796158, 0.75663987], - [0.5416794, 0.67448308, 0.75550302], - [0.5369016, 0.67099646, 0.75439019], - [0.5321707, 0.66750154, 0.75330049], - [0.5274876, 0.66399818, 0.75223302], - [0.5228531, 0.66048619, 0.75118688], - [0.5182683, 0.65696544, 0.75016124], - [0.5137339, 0.65343574, 0.74915521], - [0.5092509, 0.64989694, 0.74816791], - [0.5048202, 0.64634888, 0.74719846], - [0.5004427, 0.64279139, 0.74624595], - [0.4961193, 0.63922432, 0.74530949], - [0.4918510, 0.63564749, 0.74438818], - [0.4876388, 0.63206075, 0.74348111], - [0.4834835, 0.62846395, 0.74258737], - [0.4793862, 0.62485692, 0.74170602], - [0.4753477, 0.62123950, 0.74083613], - [0.4713690, 0.61761154, 0.73997677], - [0.4674510, 0.61397290, 0.73912697], - [0.4635946, 0.61032341, 0.73828579], - [0.4598008, 0.60666294, 0.73745224], - [0.4560704, 0.60299133, 0.73662534], - [0.4524043, 0.59930846, 0.73580409], - [0.4488034, 0.59561417, 0.73498748], - [0.4452685, 0.59190836, 0.73417449], - [0.4418003, 0.58819087, 0.73336409], - [0.4383997, 0.58446161, 0.73255523], - [0.4350674, 0.58072044, 0.73174684], - [0.4318040, 0.57696726, 0.73093787], - [0.4286103, 0.57320197, 0.73012722], - [0.4254868, 0.56942447, 0.72931382], - [0.4224340, 0.56563467, 0.72849656], - [0.4194526, 0.56183249, 0.72767430], - [0.4165428, 0.55801785, 0.72684590], - [0.4137052, 0.55419069, 0.72601024], - [0.4109399, 0.55035095, 0.72516614], - [0.4082474, 0.54649860, 0.72431244], - [0.4056277, 0.54263358, 0.72344796], - [0.4030809, 0.53875587, 0.72257152], - [0.4006071, 0.53486546, 0.72168191], - [0.3982063, 0.53096234, 0.72077792], - [0.3958782, 0.52704650, 0.71985834], - [0.3936228, 0.52311798, 0.71892195], - [0.3914396, 0.51917678, 0.71796754], - [0.3893283, 0.51522296, 0.71699383], - [0.3872885, 0.51125656, 0.71599957], - [0.3853195, 0.50727766, 0.71498351], - [0.3834207, 0.50328634, 0.71394437], - [0.3815913, 0.49928268, 0.71288089], - [0.3798305, 0.49526679, 0.71179180], - [0.3781374, 0.49123879, 0.71067581], - [0.3765110, 0.48719883, 0.70953165], - [0.3749501, 0.48314705, 0.70835802], - [0.3734536, 0.47908361, 0.70715364], - [0.3720202, 0.47500871, 0.70591721], - [0.3706485, 0.47092251, 0.70464749], - [0.3693370, 0.46682526, 0.70334313], - [0.3680844, 0.46271718, 0.70200286], - [0.3668888, 0.45859853, 0.70062537], - [0.3657488, 0.45446957, 0.69920937], - [0.3646624, 0.45033058, 0.69775359], - [0.3636280, 0.44618187, 0.69625672], - [0.3626436, 0.44202375, 0.69471750], - [0.3617074, 0.43785658, 0.69313464], - [0.3608173, 0.43368071, 0.69150687], - [0.3599712, 0.42949651, 0.68983293], - [0.3591672, 0.42530438, 0.68811159], - [0.3584031, 0.42110474, 0.68634158], - [0.3576766, 0.41689804, 0.68452166], - [0.3569857, 0.41268473, 0.68265059], - [0.3563280, 0.40846531, 0.68072717], - [0.3557014, 0.40424027, 0.67875018], - [0.3551034, 0.40001015, 0.67671844], - [0.3545319, 0.39577548, 0.67463076], - [0.3539844, 0.39153685, 0.67248600], - [0.3534587, 0.38729485, 0.67028301], - [0.3529524, 0.38305009, 0.66802067], - [0.3524632, 0.37880321, 0.66569788], - [0.3519888, 0.37455486, 0.66331357], - [0.3515267, 0.37030575, 0.66086667], - [0.3510747, 0.36605658, 0.65835615], - [0.3506305, 0.36180810, 0.65578101], - [0.3501916, 0.35756105, 0.65314027], - [0.3497559, 0.35331623, 0.65043299], - [0.3493210, 0.34907443, 0.64765826], - [0.3488847, 0.34483649, 0.64481521], - [0.3484447, 0.34060326, 0.64190300], - [0.3479988, 0.33637561, 0.63892082], - [0.3475448, 0.33215444, 0.63586792], - [0.3470807, 0.32794067, 0.63274359], - [0.3466042, 0.32373524, 0.62954716], - [0.3461132, 0.31953912, 0.62627800], - [0.3456058, 0.31535329, 0.62293555], - [0.3450798, 0.31117875, 0.61951930], - [0.3445333, 0.30701653, 0.61602877], - [0.3439643, 0.30286765, 0.61246358], - [0.3433710, 0.29873318, 0.60882339], - [0.3427514, 0.29461418, 0.60510791], - [0.3421039, 0.29051172, 0.60131694], - [0.3414265, 0.28642691, 0.59745035], - [0.3407176, 0.28236085, 0.59350806], - [0.3399754, 0.27831464, 0.58949009], - [0.3391985, 0.27428939, 0.58539651], - [0.3383851, 0.27028622, 0.58122750], - [0.3375339, 0.26630624, 0.57698328], - [0.3366432, 0.26235056, 0.57266420], - [0.3357118, 0.25842029, 0.56827067], - [0.3347382, 0.25451653, 0.56380318], - [0.3337212, 0.25064036, 0.55926233], - [0.3326595, 0.24679286, 0.55464881], - [0.3315518, 0.24297510, 0.54996346], - [0.3303970, 0.23918810, 0.54520713], - [0.3291942, 0.23543285, 0.54038076], - [0.3279422, 0.23171032, 0.53548542], - [0.3266403, 0.22802146, 0.53052227], - [0.3252874, 0.22436716, 0.52549256], - [0.3238828, 0.22074828, 0.52039765], - [0.3224257, 0.21716564, 0.51523899], - [0.3209154, 0.21362000, 0.51001812], - [0.3193514, 0.21011206, 0.50473668], - [0.3177330, 0.20664249, 0.49939639], - [0.3160597, 0.20321188, 0.49399908], - [0.3143311, 0.19982074, 0.48854670], - [0.3125468, 0.19646956, 0.48304150], - [0.3107065, 0.19315868, 0.47748529], - [0.3088101, 0.18988841, 0.47188022], - [0.3068573, 0.18665899, 0.46622852], - [0.3048481, 0.18347056, 0.46053247], - [0.3027825, 0.18032318, 0.45479444], - [0.3006604, 0.17721685, 0.44901683], - [0.2984820, 0.17415145, 0.44320210], - [0.2962475, 0.17112680, 0.43735277], - [0.2939570, 0.16814262, 0.43147138], - [0.2916108, 0.16519854, 0.42556051], - [0.2892093, 0.16229412, 0.41962276], - [0.2867528, 0.15942882, 0.41366075], - [0.2842419, 0.15660201, 0.40767712], - [0.2816769, 0.15381301, 0.40167448], - [0.2790585, 0.15106103, 0.39565548], - [0.2763872, 0.14834521, 0.38962270], - [0.2736638, 0.14566463, 0.38357875], - [0.2708888, 0.14301827, 0.37752616], - [0.2680631, 0.14040509, 0.37146746], - [0.2651874, 0.13782395, 0.36540510], - [0.2622624, 0.13527368, 0.35934150], - [0.2592891, 0.13275305, 0.35327901], - [0.2562682, 0.13026077, 0.34721990], - [0.2532007, 0.12779553, 0.34116637], - [0.2500875, 0.12535599, 0.33512053], - [0.2469295, 0.12294077, 0.32908440], - [0.2437276, 0.12054846, 0.32305992], - [0.2404827, 0.11817765, 0.31704891], - [0.2371959, 0.11582690, 0.31105308], - [0.2338681, 0.11349414, 0.30507600], - [0.2305004, 0.11117814, 0.29911839], - [0.2270936, 0.10887769, 0.29318088], - [0.2236487, 0.10659134, 0.28726476], - [0.2201666, 0.10431766, 0.28137120], - [0.2166483, 0.10205524, 0.27550121], - [0.2130945, 0.09980268, 0.26965574], - [0.2095062, 0.09755859, 0.26383556], - [0.2058848, 0.09532004, 0.25804531], - [0.2022310, 0.09308637, 0.25228370], - [0.1985452, 0.09085686, 0.24654959], - [0.1948283, 0.08863025, 0.24084332], - [0.1910809, 0.08640528, 0.23516508], - [0.1873040, 0.08418021, 0.22951612], - [0.1834994, 0.08195125, 0.22390218], - [0.1796666, 0.07971997, 0.21831679], - [0.1758059, 0.07748523, 0.21275973], - [0.1719178, 0.07524592, 0.20723067], - [0.1680046, 0.07299798, 0.20173534], - [0.1640660, 0.07074123, 0.19627108], - [0.1601016, 0.06847631, 0.19083379], - [0.1561115, 0.06620217, 0.18542275], - [0.1520985, 0.06391359, 0.18004534], - [0.1480615, 0.06161177, 0.17469612], - [0.1439996, 0.05929728, 0.16937101], - [0.1399137, 0.05696771, 0.16407160], - [0.1358066, 0.05461785, 0.15880428], - [0.1316747, 0.05225188, 0.15355814], - [0.1275179, 0.04986878, 0.14833186], - [0.1233411, 0.04745960, 0.14313781], - [0.1191392, 0.04503066, 0.13796129], - [0.1149114, 0.04258091, 0.13280069], - [0.1196588, 0.04497500, 0.13636802], - [0.1244059, 0.04733411, 0.13990772], - [0.1291551, 0.04965822, 0.14342013], - [0.1339106, 0.05194537, 0.14690559], - [0.1386678, 0.05420112, 0.15036406], - [0.1434296, 0.05642435, 0.15379574], - [0.1481984, 0.05861449, 0.15720072], - [0.1529704, 0.06077602, 0.16057901], - [0.1577487, 0.06290748, 0.16393064], - [0.1625350, 0.06500849, 0.16725554], - [0.1673258, 0.06708315, 0.17055375], - [0.1721234, 0.06913043, 0.17382515], - [0.1769306, 0.07114881, 0.17706947], - [0.1817433, 0.07314275, 0.18028681], - [0.1865624, 0.07511247, 0.18347702], - [0.1913932, 0.07705381, 0.18663945], - [0.1962304, 0.07897235, 0.18977433], - [0.2010744, 0.08086861, 0.19288148], - [0.2059289, 0.08273978, 0.19596017], - [0.2107926, 0.08458774, 0.19901026], - [0.2156636, 0.08641486, 0.20203171], - [0.2205421, 0.08822162, 0.20502423], - [0.2254334, 0.09000372, 0.20798650], - [0.2303327, 0.09176620, 0.21091896], - [0.2352399, 0.09350968, 0.21382128], - [0.2401552, 0.09523461, 0.21669303], - [0.2450832, 0.09693705, 0.21953259], - [0.2500196, 0.09862175, 0.22234052], - [0.2549642, 0.10028932, 0.22511636], - [0.2599170, 0.10194022, 0.22785959], - [0.2648803, 0.10357287, 0.23056898], - [0.2698540, 0.10518789, 0.23324390], - [0.2748358, 0.10678780, 0.23588440], - [0.2798258, 0.10837312, 0.23848986], - [0.2848240, 0.10994437, 0.24105962], - [0.2898312, 0.11150115, 0.24359263], - [0.2948487, 0.11304273, 0.24608753], - [0.2998739, 0.11457214, 0.24854462], - [0.3049067, 0.11609000, 0.25096314], - [0.3099469, 0.11759699, 0.25334234], - [0.3149942, 0.11909379, 0.25568146], - [0.3200485, 0.12058116, 0.25797970], - [0.3251106, 0.12205877, 0.26023563], - [0.3301801, 0.12352752, 0.26244839], - [0.3352555, 0.12498945, 0.26461781], - [0.3403364, 0.12644547, 0.26674304], - [0.3454225, 0.12789653, 0.26882324], - [0.3505132, 0.12934363, 0.27085754], - [0.3556081, 0.13078783, 0.27284508], - [0.3607067, 0.13223023, 0.27478501], - [0.3658084, 0.13367202, 0.27667647], - [0.3709125, 0.13511443, 0.27851861], - [0.3760186, 0.13655873, 0.28031060], - [0.3811257, 0.13800630, 0.28205163], - [0.3862332, 0.13945855, 0.28374089], - [0.3913402, 0.14091696, 0.28537762], - [0.3964459, 0.14238310, 0.28696109], - [0.4015493, 0.14385857, 0.28849060], - [0.4066495, 0.14534507, 0.28996553], - [0.4117455, 0.14684434, 0.29138527], - [0.4168362, 0.14835818, 0.29274929], - [0.4219203, 0.14988847, 0.29405714], - [0.4269968, 0.15143713, 0.29530844], - [0.4320644, 0.15300613, 0.29650289], - [0.4371219, 0.15459750, 0.29764027], - [0.4421677, 0.15621330, 0.29872049], - [0.4472007, 0.15785563, 0.29974354], - [0.4522195, 0.15952640, 0.30070924], - [0.4572235, 0.16122694, 0.30161638], - [0.4622102, 0.16296048, 0.30246697], - [0.4671780, 0.16472916, 0.30326152], - [0.4721252, 0.16653514, 0.30400071], - [0.4770503, 0.16838053, 0.30468534], - [0.4819517, 0.17026743, 0.30531637], - [0.4868289, 0.17219680, 0.30589243], - [0.4916791, 0.17417181, 0.30641726], - [0.4965005, 0.17619437, 0.30689237], - [0.5012916, 0.17826630, 0.30731938], - [0.5060510, 0.18038909, 0.30769934], - [0.5107775, 0.18256411, 0.30803319], - [0.5154687, 0.18479346, 0.30832489], - [0.5201232, 0.18707849, 0.30857667], - [0.5247398, 0.18942028, 0.30879036], - [0.5293171, 0.19181975, 0.30896757], - [0.5338535, 0.19427819, 0.30911262], - [0.5383476, 0.19679632, 0.30922826], - [0.5427984, 0.19937462, 0.30931642], - [0.5472047, 0.20201358, 0.30938051], - [0.5515654, 0.20471355, 0.30942424], - [0.5558794, 0.20747459, 0.30945052], - [0.5601460, 0.21029660, 0.30946190], - [0.5643644, 0.21317940, 0.30946244], - [0.5685338, 0.21612261, 0.30945527], - [0.5726537, 0.21912572, 0.30944338], - [0.5767236, 0.22218807, 0.30943019], - [0.5807431, 0.22530888, 0.30941887], - [0.5847118, 0.22848728, 0.30941259], - [0.5886295, 0.23172226, 0.30941463], - [0.5924961, 0.23501276, 0.30942773], - [0.5963115, 0.23835767, 0.30945475], - [0.6000757, 0.24175564, 0.30949941], - [0.6037887, 0.24520551, 0.30956373], - [0.6074506, 0.24870601, 0.30965032], - [0.6110617, 0.25225568, 0.30976233], - [0.6146222, 0.25585313, 0.30990235], - [0.6181323, 0.25949713, 0.31007218], - [0.6215923, 0.26318633, 0.31027410], - [0.6250026, 0.26691899, 0.31051155], - [0.6283636, 0.27069402, 0.31078569], - [0.6316756, 0.27451013, 0.31109835], - [0.6349389, 0.27836599, 0.31145154], - [0.6381543, 0.28225977, 0.31184849], - [0.6413220, 0.28619068, 0.31228962], - [0.6444425, 0.29015746, 0.31277663], - [0.6475160, 0.29415891, 0.31331119], - [0.6505436, 0.29819324, 0.31389610], - [0.6535254, 0.30225980, 0.31453173], - [0.6564617, 0.30635750, 0.31521942], - [0.6593531, 0.31048525, 0.31596056], - [0.6622003, 0.31464171, 0.31675699], - [0.6650038, 0.31882575, 0.31761008], - [0.6677639, 0.32303675, 0.31852040], - [0.6704809, 0.32727375, 0.31948912], - [0.6731555, 0.33153582, 0.32051737], - [0.6757882, 0.33582175, 0.32160664], - [0.6783797, 0.34013063, 0.32275799], - [0.6809301, 0.34446198, 0.32397190], - [0.6834398, 0.34881498, 0.32524933], - [0.6859094, 0.35318884, 0.32659119], - [0.6883393, 0.35758282, 0.32799836], - [0.6907304, 0.36199568, 0.32947216], - [0.6930829, 0.36642710, 0.33101297], - [0.6953970, 0.37087650, 0.33262143], - [0.6976734, 0.37534321, 0.33429827], - [0.6999123, 0.37982659, 0.33604420], - [0.7021144, 0.38432599, 0.33785988], - [0.7042801, 0.38884072, 0.33974602], - [0.7064104, 0.39336986, 0.34170340], - [0.7085052, 0.39791324, 0.34373229], - [0.7105650, 0.40247031, 0.34583323], - [0.7125903, 0.40704049, 0.34800672], - [0.7145817, 0.41162325, 0.35025325], - [0.7165395, 0.41621805, 0.35257327], - [0.7184644, 0.42082437, 0.35496717], - [0.7203569, 0.42544166, 0.35743537], - [0.7222179, 0.43006909, 0.35997828], - [0.7240476, 0.43470654, 0.36259610], - [0.7258466, 0.43935351, 0.36528911], - [0.7276153, 0.44400951, 0.36805757], - [0.7293543, 0.44867407, 0.37090170], - [0.7310644, 0.45334672, 0.37382169], - [0.7327461, 0.45802698, 0.37681769], - [0.7344000, 0.46271439, 0.37988983], - [0.7360269, 0.46740849, 0.38303819], - [0.7376273, 0.47210882, 0.38626281], - [0.7392021, 0.47681486, 0.38956372], - [0.7407522, 0.48152606, 0.39294084], - [0.7422780, 0.48624217, 0.39639416], - [0.7437803, 0.49096272, 0.39992359], - [0.7452598, 0.49568729, 0.40352901], - [0.7467175, 0.50041544, 0.40721025], - [0.7481539, 0.50514672, 0.41096711], - [0.7495702, 0.50988070, 0.41479936], - [0.7509670, 0.51461695, 0.41870673], - [0.7523454, 0.51935505, 0.42268891], - [0.7537061, 0.52409456, 0.42674555], - [0.7550503, 0.52883506, 0.43087627], - [0.7563787, 0.53357614, 0.43508064], - [0.7576926, 0.53831736, 0.43935819], - [0.7589927, 0.54305833, 0.44370844], - [0.7602803, 0.54779862, 0.44813085], - [0.7615564, 0.55253783, 0.45262483], - [0.7628220, 0.55727556, 0.45718978], - [0.7640783, 0.56201140, 0.46182504], - [0.7653264, 0.56674496, 0.46652992], - [0.7665676, 0.57147579, 0.47130363], - [0.7678031, 0.57620356, 0.47614546], - [0.7690339, 0.58092790, 0.48105461], - [0.7702613, 0.58564845, 0.48603026], - [0.7714866, 0.59036483, 0.49107153], - [0.7727111, 0.59507669, 0.49617752], - [0.7739359, 0.59978368, 0.50134728], - [0.7751625, 0.60448545, 0.50657984], - [0.7763921, 0.60918167, 0.51187417], - [0.7776261, 0.61387202, 0.51722924], - [0.7788659, 0.61855617, 0.52264397], - [0.7801127, 0.62323383, 0.52811724], - [0.7813681, 0.62790469, 0.53364792], - [0.7826332, 0.63256848, 0.53923484], - [0.7839097, 0.63722491, 0.54487680], - [0.7851987, 0.64187373, 0.55057258], - [0.7865018, 0.64651468, 0.55632091], - [0.7878203, 0.65114754, 0.56212052], - [0.7891556, 0.65577208, 0.56797011], - [0.7905092, 0.66038803, 0.57386822], - [0.7918826, 0.66499522, 0.57981352], - [0.7932770, 0.66959349, 0.58580470], - [0.7946937, 0.67418269, 0.59184040], - [0.7961343, 0.67876265, 0.59791919], - [0.7975999, 0.68333326, 0.60403965], - [0.7990919, 0.68789439, 0.61020035], - [0.8006117, 0.69244594, 0.61639983], - [0.8021604, 0.69698784, 0.62263662], - [0.8037395, 0.70152001, 0.62890926], - [0.8053501, 0.70604242, 0.63521625], - [0.8069934, 0.71055502, 0.64155611], - [0.8086707, 0.71505782, 0.64792734], - [0.8103830, 0.71955081, 0.65432843], - [0.8121315, 0.72403405, 0.66075787], - [0.8139172, 0.72850756, 0.66721417], - [0.8157412, 0.73297142, 0.67369580], - [0.8176045, 0.73742574, 0.68020125], - [0.8195084, 0.74187046, 0.68672835], - [0.8214536, 0.74630578, 0.69327574], - [0.8234408, 0.75073197, 0.69984234], - [0.8254706, 0.75514921, 0.70642665], - [0.8275438, 0.75955774, 0.71302718], - [0.8296608, 0.76395779, 0.71964243], - [0.8318223, 0.76834967, 0.72627091], - [0.8340287, 0.77273369, 0.73291113], - [0.8362802, 0.77711022, 0.73956159], - [0.8385771, 0.78147968, 0.74622081], - [0.8409203, 0.78584228, 0.75288559], - [0.8433090, 0.79019878, 0.75955572], - [0.8457428, 0.79454985, 0.76622981], - [0.8482211, 0.79889618, 0.77290618], - [0.8507432, 0.80323858, 0.77958299], - [0.8533080, 0.80757801, 0.78625822], - [0.8559144, 0.81191555, 0.79292953], - [0.8585611, 0.81625233, 0.79959303], - [0.8612466, 0.82058977, 0.80624488], - [0.8639679, 0.82492965, 0.81288197], - [0.8667229, 0.82927372, 0.81949846], - [0.8695099, 0.83362376, 0.82608673], - [0.8723282, 0.83798133, 0.83263685], - [0.8751794, 0.84234739, 0.83913593], - [0.8780689, 0.84672165, 0.84556782], - [0.8810043, 0.85110264, 0.85191958], - [0.8839988, 0.85548660, 0.85817797], - [0.8870694, 0.85986781, 0.86433525], - [0.8902330, 0.86423952, 0.87039251], - [0.8935046, 0.86859513, 0.87635917], - [0.8968906, 0.87293018, 0.88225599], - [0.9003906, 0.87724269, 0.88810768], - [0.9039981, 0.88153304, 0.89393827], - [0.9077033, 0.88580336, 0.89976873], - [0.9114954, 0.89005668, 0.90561352], - [0.9153634, 0.89429636, 0.91148597], - [0.9192979, 0.89852545, 0.91739491], - [0.9232914, 0.90274659, 0.92334572], - [0.9273381, 0.90696197, 0.92934102], - [0.9314340, 0.91117343, 0.93538087], - [0.9355754, 0.91538222, 0.94146872], - [0.9397599, 0.91958938, 0.94760504], - [0.9439860, 0.92379568, 0.95378996]] +_twilight_data = [[0.95588623, 0.91961077, 0.95812116], + [0.94945522, 0.91625793, 0.95307939], + [0.94309507, 0.91288645, 0.94810125], + [0.93680186, 0.90949769, 0.94318998], + [0.93055672, 0.90609944, 0.93834574], + [0.92437522, 0.90268411, 0.93358038], + [0.91825118, 0.89925369, 0.92889941], + [0.91216310, 0.89581657, 0.92430579], + [0.90611554, 0.89236995, 0.91980827], + [0.90009954, 0.88891692, 0.91541126], + [0.89410016, 0.88546309, 0.91111732], + [0.88810150, 0.88201446, 0.90692828], + [0.88210155, 0.87857161, 0.90284435], + [0.87609024, 0.87513854, 0.89886355], + [0.87005898, 0.87171867, 0.89498285], + [0.86399216, 0.86831804, 0.89120032], + [0.85789420, 0.86493511, 0.88751066], + [0.85176153, 0.86157137, 0.88390984], + [0.84559195, 0.85822765, 0.88039416], + [0.83938445, 0.85490431, 0.87696044], + [0.83313723, 0.85160183, 0.87360666], + [0.82684907, 0.84832038, 0.87033156], + [0.82052529, 0.84505780, 0.86713227], + [0.81416736, 0.84181324, 0.86400774], + [0.80777701, 0.83858568, 0.86095732], + [0.80135616, 0.83537403, 0.85798072], + [0.79490687, 0.83217711, 0.85507787], + [0.78843131, 0.82899370, 0.85224885], + [0.78193171, 0.82582257, 0.84949389], + [0.77541035, 0.82266245, 0.84681325], + [0.76886956, 0.81951209, 0.84420719], + [0.76231169, 0.81637024, 0.84167596], + [0.75573911, 0.81323568, 0.83921972], + [0.74915420, 0.81010720, 0.83683860], + [0.74255934, 0.80698361, 0.83453257], + [0.73595689, 0.80386378, 0.83230154], + [0.72934922, 0.80074658, 0.83014528], + [0.72273865, 0.79763095, 0.82806344], + [0.71612749, 0.79451586, 0.82605557], + [0.70951799, 0.79140032, 0.82412109], + [0.70291239, 0.78828339, 0.82225930], + [0.69631284, 0.78516419, 0.82046942], + [0.68972146, 0.78204186, 0.81875056], + [0.68314031, 0.77891561, 0.81710175], + [0.67657140, 0.77578469, 0.81552193], + [0.67001666, 0.77264837, 0.81400998], + [0.66347797, 0.76950601, 0.81256474], + [0.65695715, 0.76635698, 0.81118498], + [0.65045596, 0.76320068, 0.80986943], + [0.64397610, 0.76003659, 0.80861680], + [0.63751921, 0.75686418, 0.80742577], + [0.63108682, 0.75368298, 0.80629509], + [0.62468046, 0.75049257, 0.80522345], + [0.61830181, 0.74729247, 0.80420933], + [0.61195232, 0.74408229, 0.80325139], + [0.60563342, 0.74086166, 0.80234831], + [0.59934653, 0.73763023, 0.80149877], + [0.59309302, 0.73438766, 0.80070144], + [0.58687426, 0.73113363, 0.79995504], + [0.58069160, 0.72786784, 0.79925830], + [0.57454639, 0.72458998, 0.79860993], + [0.56844000, 0.72129976, 0.79800871], + [0.56237376, 0.71799691, 0.79745340], + [0.55634908, 0.71468116, 0.79694277], + [0.55036733, 0.71135222, 0.79647560], + [0.54442991, 0.70800984, 0.79605075], + [0.53853821, 0.70465375, 0.79566707], + [0.53269368, 0.70128370, 0.79532341], + [0.52689781, 0.69789942, 0.79501865], + [0.52115209, 0.69450065, 0.79475167], + [0.51545808, 0.69108712, 0.79452135], + [0.50981736, 0.68765858, 0.79432660], + [0.50423156, 0.68421476, 0.79416633], + [0.49870235, 0.68075539, 0.79403944], + [0.49323143, 0.67728019, 0.79394485], + [0.48782060, 0.67378891, 0.79388145], + [0.48247167, 0.67028125, 0.79384813], + [0.47718646, 0.66675694, 0.79384386], + [0.47196688, 0.66321571, 0.79386755], + [0.46681487, 0.65965726, 0.79391812], + [0.46173244, 0.65608131, 0.79399446], + [0.45672162, 0.65248758, 0.79409547], + [0.45178451, 0.64887576, 0.79422002], + [0.44692322, 0.64524556, 0.79436699], + [0.44213992, 0.64159670, 0.79453525], + [0.43743681, 0.63792886, 0.79472362], + [0.43281610, 0.63424176, 0.79493096], + [0.42828006, 0.63053510, 0.79515607], + [0.42383095, 0.62680857, 0.79539776], + [0.41947105, 0.62306188, 0.79565481], + [0.41520265, 0.61929473, 0.79592599], + [0.41102805, 0.61550682, 0.79621005], + [0.40694951, 0.61169786, 0.79650572], + [0.40296930, 0.60786755, 0.79681170], + [0.39908967, 0.60401561, 0.79712667], + [0.39531280, 0.60014173, 0.79744930], + [0.39164085, 0.59624565, 0.79777821], + [0.38807592, 0.59232708, 0.79811204], + [0.38462002, 0.58838575, 0.79844937], + [0.38127510, 0.58442138, 0.79878877], + [0.37804300, 0.58043371, 0.79912879], + [0.37492548, 0.57642249, 0.79946798], + [0.37192416, 0.57238746, 0.79980484], + [0.36904052, 0.56832839, 0.80013781], + [0.36627593, 0.56424504, 0.80046535], + [0.36363156, 0.56013719, 0.80078588], + [0.36110846, 0.55600462, 0.80109781], + [0.35870746, 0.55184713, 0.80139951], + [0.35642923, 0.54766454, 0.80168933], + [0.35427423, 0.54345666, 0.80196562], + [0.35224270, 0.53922332, 0.80222667], + [0.35033469, 0.53496437, 0.80247076], + [0.34854999, 0.53067967, 0.80269618], + [0.34688821, 0.52636909, 0.80290115], + [0.34534871, 0.52203250, 0.80308395], + [0.34393060, 0.51766984, 0.80324273], + [0.34263275, 0.51328101, 0.80337566], + [0.34145379, 0.50886596, 0.80348090], + [0.34039215, 0.50442465, 0.80355658], + [0.33944599, 0.49995706, 0.80360083], + [0.33861327, 0.49546317, 0.80361175], + [0.33789172, 0.49094302, 0.80358743], + [0.33727884, 0.48639663, 0.80352593], + [0.33677195, 0.48182407, 0.80342530], + [0.33636817, 0.47722542, 0.80328359], + [0.33606442, 0.47260079, 0.80309881], + [0.33585751, 0.46795029, 0.80286904], + [0.33574399, 0.46327410, 0.80259222], + [0.33572031, 0.45857239, 0.80226633], + [0.33578276, 0.45384539, 0.80188936], + [0.33592755, 0.44909334, 0.80145926], + [0.33615075, 0.44431649, 0.80097401], + [0.33644836, 0.43951515, 0.80043156], + [0.33681626, 0.43468966, 0.79982985], + [0.33725031, 0.42984036, 0.79916683], + [0.33774629, 0.42496767, 0.79844045], + [0.33829994, 0.42007201, 0.79764865], + [0.33890699, 0.41515382, 0.79678938], + [0.33956316, 0.41021362, 0.79586061], + [0.34026409, 0.40525195, 0.79486024], + [0.34100547, 0.40026940, 0.79378624], + [0.34178301, 0.39526659, 0.79263656], + [0.34259241, 0.39024418, 0.79140918], + [0.34342944, 0.38520287, 0.79010209], + [0.34428989, 0.38014342, 0.78871327], + [0.34516959, 0.37506661, 0.78724074], + [0.34606443, 0.36997329, 0.78568254], + [0.34697035, 0.36486435, 0.78403672], + [0.34788337, 0.35974073, 0.78230136], + [0.34879959, 0.35460338, 0.78047459], + [0.34971511, 0.34945338, 0.77855451], + [0.35062614, 0.34429184, 0.77653930], + [0.35152897, 0.33911989, 0.77442717], + [0.35241996, 0.33393875, 0.77221635], + [0.35329557, 0.32874968, 0.76990515], + [0.35415233, 0.32355401, 0.76749189], + [0.35498687, 0.31835313, 0.76497498], + [0.35579589, 0.31314847, 0.76235284], + [0.35657619, 0.30794155, 0.759624 0], + [0.35732467, 0.30273393, 0.75678702], + [0.35803829, 0.29752724, 0.75384053], + [0.35871411, 0.29232322, 0.75078324], + [0.35934927, 0.28712361, 0.74761395], + [0.35994102, 0.28193026, 0.74433151], + [0.36048670, 0.27674508, 0.74093490], + [0.36098372, 0.27157003, 0.73742316], + [0.36142963, 0.26640715, 0.73379543], + [0.36182202, 0.26125855, 0.73005098], + [0.36215860, 0.25612639, 0.72618914], + [0.36243718, 0.25101293, 0.72220940], + [0.36265562, 0.24592048, 0.71811135], + [0.36281190, 0.24085140, 0.71389469], + [0.36290411, 0.23580814, 0.70955927], + [0.36293042, 0.23079318, 0.70510505], + [0.36288911, 0.22580907, 0.70053213], + [0.36277853, 0.22085843, 0.69584077], + [0.36259713, 0.21594391, 0.69103134], + [0.36234347, 0.21106822, 0.68610440], + [0.36201619, 0.20623413, 0.68106062], + [0.36161404, 0.20144441, 0.67590087], + [0.36113584, 0.19670191, 0.67062613], + [0.36058041, 0.19200951, 0.66523772], + [0.35994685, 0.18737005, 0.65973690], + [0.35923431, 0.18278641, 0.65412515], + [0.35844202, 0.17826146, 0.64840412], + [0.35756928, 0.17379808, 0.64257566], + [0.35661552, 0.16939913, 0.63664177], + [0.35558023, 0.16506742, 0.63060461], + [0.35446301, 0.16080575, 0.62446651], + [0.35326357, 0.15661683, 0.61822997], + [0.35198168, 0.15250332, 0.61189765], + [0.35061724, 0.14846779, 0.60547235], + [0.34917022, 0.14451269, 0.59895704], + [0.34764066, 0.14064036, 0.59235493], + [0.34602858, 0.13685294, 0.58566965], + [0.34433439, 0.13315249, 0.57890419], + [0.34255843, 0.12954087, 0.57206209], + [0.34070112, 0.12601975, 0.56514699], + [0.33876296, 0.12259058, 0.55816264], + [0.33674454, 0.11925457, 0.55111290], + [0.33464652, 0.11601270, 0.54400173], + [0.33246963, 0.11286565, 0.53683315], + [0.33021471, 0.10981385, 0.52961128], + [0.32788262, 0.10685741, 0.52234028], + [0.32547433, 0.10399616, 0.51502437], + [0.32299086, 0.10122960, 0.50766778], + [0.32043328, 0.09855690, 0.50027478], + [0.31780273, 0.09597691, 0.49284967], + [0.31510041, 0.09348818, 0.48539669], + [0.31232756, 0.09108891, 0.47792012], + [0.30948547, 0.08877701, 0.47042417], + [0.30657547, 0.08655010, 0.46291302], + [0.30359893, 0.08440548, 0.45539078], + [0.30055725, 0.08234023, 0.44786149], + [0.29745187, 0.08035116, 0.44032912], + [0.29428423, 0.07843486, 0.43279753], + [0.29105582, 0.07658776, 0.42527046], + [0.28776812, 0.07480608, 0.41775156], + [0.28442263, 0.07308593, 0.41024431], + [0.28102086, 0.07142334, 0.40275209], + [0.27756432, 0.06981421, 0.39527809], + [0.27405450, 0.06825446, 0.38782536], + [0.27049289, 0.06673993, 0.38039680], + [0.26688098, 0.06526654, 0.37299511], + [0.26322056, 0.06382801, 0.36562582], + [0.25951302, 0.06242112, 0.35829009], + [0.25575966, 0.06104275, 0.35098893], + [0.25196186, 0.05968904, 0.34372437], + [0.24812099, 0.05835626, 0.33649821], + [0.24423837, 0.05704078, 0.32931211], + [0.24031529, 0.05573914, 0.32216748], + [0.23635297, 0.05444805, 0.31506560], + [0.23235375, 0.05315951, 0.30801353], + [0.22831835, 0.05187268, 0.30100937], + [0.22424744, 0.05058663, 0.29405142], + [0.22014205, 0.04929868, 0.28714023], + [0.21600315, 0.04800632, 0.28027616], + [0.21183208, 0.04670574, 0.27346117], + [0.20763184, 0.04538735, 0.26670399], + [0.20340105, 0.04405708, 0.25999492], + [0.19914045, 0.04271302, 0.25333369], + [0.19485067, 0.04135341, 0.24671989], + [0.19053492, 0.03996198, 0.24016229], + [0.18619302, 0.03855360, 0.23365699], + [0.18182397, 0.03715418, 0.22719791], + [0.17742812, 0.03576362, 0.22078414], + [0.17300970, 0.03437171, 0.21442693], + [0.16856697, 0.03298483, 0.20811829], + [0.16409862, 0.03160743, 0.20185226], + [0.15960608, 0.03023698, 0.19563147], + [0.15509343, 0.02886553, 0.18946580], + [0.15055563, 0.02750586, 0.18333907], + [0.14599247, 0.02615899, 0.17724967], + [0.14141156, 0.02481086, 0.17121648], + [0.13680523, 0.02347801, 0.16521781], + [0.13217294, 0.02216185, 0.15925166], + [0.13734691, 0.02366425, 0.16281075], + [0.14252442, 0.02517736, 0.16634252], + [0.14770778, 0.02669714, 0.16984668], + [0.15290195, 0.02821622, 0.17332291], + [0.15810076, 0.02973998, 0.17677058], + [0.16330762, 0.03126288, 0.18018937], + [0.16852502, 0.03278011, 0.18357883], + [0.17374803, 0.03429630, 0.18693856], + [0.17898021, 0.03580544, 0.19026810], + [0.18422341, 0.03730339, 0.19356692], + [0.18947305, 0.03879495, 0.19683477], + [0.19473182, 0.04027506, 0.20007111], + [0.20000289, 0.04170435, 0.20327520], + [0.20528110, 0.04309135, 0.20644696], + [0.21056714, 0.04443886, 0.20958591], + [0.21586768, 0.04573820, 0.21269078], + [0.22117588, 0.04700028, 0.21576178], + [0.22649193, 0.04822582, 0.21879845], + [0.23182042, 0.04940879, 0.22179951], + [0.23715956, 0.05055263, 0.22476459], + [0.24250687, 0.05166180, 0.22769354], + [0.24786247, 0.05273689, 0.23058580], + [0.25323271, 0.05376886, 0.23343926], + [0.25861155, 0.05476753, 0.23625455], + [0.26399881, 0.05573384, 0.23903106], + [0.26939453, 0.05666837, 0.24176812], + [0.27480441, 0.05756271, 0.24446328], + [0.28022286, 0.05842620, 0.24711730], + [0.28564966, 0.05925977, 0.24972951], + [0.29108479, 0.06006403, 0.25229910], + [0.29653080, 0.06083542, 0.25482427], + [0.30198742, 0.06157486, 0.25730409], + [0.30745198, 0.06228727, 0.25973865], + [0.31292438, 0.06297342, 0.26212705], + [0.31840449, 0.06363415, 0.26446838], + [0.32389333, 0.06426834, 0.26676110], + [0.32939231, 0.06487417, 0.26900334], + [0.33489821, 0.06545776, 0.27119553], + [0.34041078, 0.06602023, 0.27333667], + [0.34592975, 0.06656281, 0.27542573], + [0.35145481, 0.06708682, 0.27746166], + [0.35698562, 0.06759366, 0.27944340], + [0.36252308, 0.06808258, 0.28136901], + [0.36806667, 0.06855536, 0.28323734], + [0.37361451, 0.06901633, 0.28504823], + [0.37916612, 0.06946745, 0.28680059], + [0.38472094, 0.06991080, 0.28849331], + [0.39027840, 0.07034863, 0.29012529], + [0.39583787, 0.07078333, 0.29169544], + [0.40139867, 0.07121749, 0.29320266], + [0.40696009, 0.07165386, 0.29464587], + [0.41252134, 0.07209540, 0.29602403], + [0.41808159, 0.07254522, 0.29733609], + [0.42363997, 0.07300665, 0.29858106], + [0.42919554, 0.07348320, 0.29975797], + [0.43474731, 0.07397859, 0.30086591], + [0.44029421, 0.07449670, 0.30190401], + [0.44583515, 0.07504163, 0.30287148], + [0.45136896, 0.07561762, 0.30376756], + [0.45689442, 0.07622909, 0.30459162], + [0.46241024, 0.07688059, 0.30534309], + [0.46791509, 0.07757681, 0.30602150], + [0.47340756, 0.07832254, 0.30662648], + [0.47888623, 0.07912264, 0.30715778], + [0.48434958, 0.07998200, 0.30761530], + [0.48979608, 0.08090555, 0.30799903], + [0.49522412, 0.08189815, 0.30830914], + [0.50063230, 0.08296421, 0.30854553], + [0.50601992, 0.08410662, 0.30870670], + [0.51138403, 0.08533233, 0.30879554], + [0.51672287, 0.08664571, 0.30881287], + [0.52203465, 0.08805091, 0.30875973], + [0.52731761, 0.08955178, 0.30863732], + [0.53256993, 0.09115186, 0.30844705], + [0.53779115, 0.09285215, 0.30818715], + [0.54297804, 0.09465791, 0.30786275], + [0.54812876, 0.09657157, 0.30747595], + [0.55324156, 0.09859506, 0.30702897], + [0.55831501, 0.10072942, 0.30652323], + [0.56334777, 0.10297527, 0.30596003], + [0.56833734, 0.10533439, 0.30534464], + [0.57328213, 0.10780687, 0.30468003], + [0.57818080, 0.11039215, 0.30396856], + [0.58303211, 0.11308926, 0.30321234], + [0.58783409, 0.11589773, 0.30241703], + [0.59258545, 0.11881598, 0.30158616], + [0.59728517, 0.12184192, 0.30072217], + [0.60193198, 0.12497355, 0.29982944], + [0.60652465, 0.12820847, 0.29891268], + [0.61106230, 0.13154392, 0.29797560], + [0.61554416, 0.13497698, 0.29702133], + [0.61996934, 0.13850456, 0.29605503], + [0.62433719, 0.14212340, 0.29508057], + [0.62864721, 0.14583016, 0.29410167], + [0.63289892, 0.14962140, 0.29312259], + [0.63709197, 0.15349363, 0.29214719], + [0.64122611, 0.15744338, 0.29117939], + [0.64530117, 0.16146710, 0.29022320], + [0.64931706, 0.16556142, 0.28928196], + [0.65327378, 0.16972299, 0.28835915], + [0.65717142, 0.17394821, 0.28745934], + [0.66101009, 0.17823410, 0.28658491], + [0.66478997, 0.18257756, 0.28573901], + [0.66851135, 0.18697536, 0.28492550], + [0.67217455, 0.19142450, 0.28414753], + [0.67577983, 0.19592251, 0.28340717], + [0.67932752, 0.20046674, 0.28270719], + [0.68281827, 0.20505399, 0.28205188], + [0.68625232, 0.20968236, 0.28144251], + [0.68963007, 0.21434969, 0.28088131], + [0.69295196, 0.21905379, 0.28037072], + [0.69621889, 0.22379170, 0.27991481], + [0.69943095, 0.22856238, 0.27951394], + [0.70258861, 0.23336401, 0.27917026], + [0.70569235, 0.23819488, 0.27888580], + [0.70874319, 0.24305240, 0.27866415], + [0.71174119, 0.24793588, 0.27850570], + [0.71468679, 0.25284400, 0.27841215], + [0.71758045, 0.25777541, 0.27838526], + [0.72042297, 0.26272836, 0.27842742], + [0.72321493, 0.26770152, 0.27854043], + [0.72595643, 0.27269437, 0.278725 0], + [0.72864794, 0.27770586, 0.27898269], + [0.73128992, 0.28273499, 0.27931502], + [0.73388317, 0.28778034, 0.27972398], + [0.73642820, 0.29284097, 0.28021101], + [0.73892508, 0.29791658, 0.28077680], + [0.74137424, 0.30300639, 0.28142269], + [0.74377611, 0.30810964, 0.28214995], + [0.74613113, 0.31322563, 0.28295983], + [0.74844032, 0.31835294, 0.28385417], + [0.75070366, 0.32349150, 0.28483355], + [0.75292143, 0.32864088, 0.28589891], + [0.75509404, 0.33380049, 0.28705134], + [0.75722192, 0.33896975, 0.28829185], + [0.75930548, 0.34414812, 0.28962145], + [0.76134528, 0.34933495, 0.29104116], + [0.76334217, 0.35452926, 0.29255214], + [0.76529602, 0.35973118, 0.29415483], + [0.76720726, 0.36494024, 0.29585005], + [0.76907633, 0.37015596, 0.29763856], + [0.77090366, 0.37537789, 0.29952108], + [0.77268971, 0.38060559, 0.30149830], + [0.77443495, 0.38583860, 0.30357085], + [0.77613989, 0.39107645, 0.30573931], + [0.77780552, 0.39631826, 0.30800434], + [0.77943177, 0.40156413, 0.31036623], + [0.78101915, 0.40681364, 0.31282543], + [0.78256820, 0.41206636, 0.31538231], + [0.78407945, 0.41732188, 0.31803722], + [0.78555346, 0.42257979, 0.32079044], + [0.78699080, 0.42783966, 0.32364219], + [0.78839209, 0.43310108, 0.32659265], + [0.78975792, 0.43836364, 0.32964196], + [0.79108895, 0.44362691, 0.33279019], + [0.79238599, 0.44889037, 0.33603735], + [0.79364987, 0.45415347, 0.33938335], + [0.79488100, 0.45941605, 0.34282817], + [0.79608012, 0.46467767, 0.34637165], + [0.79724800, 0.46993790, 0.35001362], + [0.79838542, 0.47519633, 0.35375384], + [0.79949323, 0.48045251, 0.35759203], + [0.80057226, 0.48570601, 0.36152783], + [0.80162340, 0.49095639, 0.36556086], + [0.80264758, 0.49620321, 0.36969067], + [0.80364574, 0.50144604, 0.37391676], + [0.80461886, 0.50668442, 0.37823860], + [0.80556795, 0.51191791, 0.38265557], + [0.80649408, 0.51714608, 0.38716704], + [0.80739831, 0.52236846, 0.39177230], + [0.80828177, 0.52758462, 0.39647060], + [0.80914561, 0.53279411, 0.40126115], + [0.80999102, 0.53799647, 0.40614310], + [0.81081921, 0.54319127, 0.41111556], + [0.81163146, 0.54837805, 0.41617758], + [0.81242917, 0.55355630, 0.42132808], + [0.81321359, 0.55872564, 0.42656608], + [0.81398601, 0.56388566, 0.43189053], + [0.81474783, 0.56903592, 0.43730031], + [0.81550048, 0.57417599, 0.44279423], + [0.81624541, 0.57930546, 0.44837108], + [0.81698410, 0.58442389, 0.45402959], + [0.81771807, 0.58953089, 0.45976846], + [0.81844888, 0.59462605, 0.46558635], + [0.81917808, 0.59970896, 0.47148185], + [0.81990729, 0.60477924, 0.47745355], + [0.82063811, 0.60983652, 0.48349997], + [0.82137220, 0.61488042, 0.48961959], + [0.82211123, 0.61991058, 0.49581089], + [0.82285688, 0.62492666, 0.50207226], + [0.82361084, 0.62992832, 0.50840210], + [0.82437485, 0.63491525, 0.51479876], + [0.82515061, 0.63988714, 0.52126054], + [0.82593989, 0.64484369, 0.52778573], + [0.82674458, 0.64978455, 0.53437241], + [0.82756642, 0.65470948, 0.54101882], + [0.82840706, 0.65961828, 0.54772326], + [0.82926825, 0.66451072, 0.55448390], + [0.83015173, 0.66938660, 0.56129889], + [0.83105926, 0.67424573, 0.56816634], + [0.83199256, 0.67908793, 0.57508436], + [0.83295335, 0.68391306, 0.58205103], + [0.83394334, 0.68872099, 0.58906441], + [0.83496420, 0.69351161, 0.59612255], + [0.83601760, 0.69828484, 0.60322348], + [0.83710516, 0.70304061, 0.61036523], + [0.83822850, 0.70777889, 0.61754581], + [0.83938916, 0.71249967, 0.62476321], + [0.84058867, 0.71720295, 0.63201544], + [0.84182852, 0.72188878, 0.63930048], + [0.84311014, 0.72655721, 0.64661631], + [0.84443491, 0.73120835, 0.65396092], + [0.84580477, 0.73584211, 0.66133139], + [0.84722080, 0.74045872, 0.66872591], + [0.84868378, 0.74505848, 0.67614301], + [0.85019482, 0.74964164, 0.68358068], + [0.85175493, 0.75420845, 0.69103691], + [0.85336503, 0.75875922, 0.69850967], + [0.85502592, 0.76329429, 0.70599695], + [0.85673829, 0.76781408, 0.71349672], + [0.85850269, 0.77231903, 0.72100697], + [0.86031950, 0.77680967, 0.72852565], + [0.86219022, 0.78128624, 0.73604849], + [0.86411376, 0.78574976, 0.74357515], + [0.86608971, 0.79020105, 0.75110372], + [0.86811755, 0.79464104, 0.75863190], + [0.87019645, 0.79907078, 0.76615720], + [0.87232519, 0.80349150, 0.77367686], + [0.87450217, 0.80790465, 0.78118769], + [0.87672614, 0.81231171, 0.78868445], + [0.87899489, 0.81671455, 0.79616196], + [0.88130480, 0.82111554, 0.80361597], + [0.88365318, 0.82551702, 0.81103864], + [0.88603782, 0.82992136, 0.81841968], + [0.88845785, 0.83433064, 0.82574579], + [0.89091541, 0.83874612, 0.83299962], + [0.89341765, 0.84316744, 0.84015954], + [0.89597454, 0.84759262, 0.84720812], + [0.89860368, 0.85201660, 0.85412753], + [0.90132718, 0.85643174, 0.86090732], + [0.90416784, 0.86082894, 0.86754879], + [0.90714524, 0.86519932, 0.87406441], + [0.91026822, 0.86953688, 0.88048182], + [0.91353621, 0.87383892, 0.88683392], + [0.91694105, 0.87810588, 0.89315279], + [0.92046972, 0.88234058, 0.89946639], + [0.92410833, 0.88654704, 0.90579401], + [0.92784218, 0.89072971, 0.91215341], + [0.93165894, 0.89489263, 0.91855637], + [0.93554879, 0.89903928, 0.92501006], + [0.93950420, 0.90317255, 0.93151793], + [0.94351966, 0.90729487, 0.93808005], + [0.94759036, 0.91140786, 0.94470096], + [0.95171326, 0.91551283, 0.95138129], + [0.95588623, 0.91961077, 0.95812116]] _sunlight_data = (_twilight_data[len(_twilight_data)//2:] + _twilight_data[:len(_twilight_data)//2]) From 7d21f96c726c883a58a05635007c1c8e00768d56 Mon Sep 17 00:00:00 2001 From: Bastian Bechtold <basti@bastibe.de> Date: Fri, 1 Apr 2016 13:15:42 +0200 Subject: [PATCH 0646/1161] fix typo. Sorry about that. --- lib/matplotlib/_cm_listed.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/_cm_listed.py b/lib/matplotlib/_cm_listed.py index b605ce19b8cc..3e7572837d85 100644 --- a/lib/matplotlib/_cm_listed.py +++ b/lib/matplotlib/_cm_listed.py @@ -1443,7 +1443,7 @@ [0.35415233, 0.32355401, 0.76749189], [0.35498687, 0.31835313, 0.76497498], [0.35579589, 0.31314847, 0.76235284], - [0.35657619, 0.30794155, 0.759624 0], + [0.35657619, 0.30794155, 0.75962400], [0.35732467, 0.30273393, 0.75678702], [0.35803829, 0.29752724, 0.75384053], [0.35871411, 0.29232322, 0.75078324], @@ -1662,7 +1662,7 @@ [0.71758045, 0.25777541, 0.27838526], [0.72042297, 0.26272836, 0.27842742], [0.72321493, 0.26770152, 0.27854043], - [0.72595643, 0.27269437, 0.278725 0], + [0.72595643, 0.27269437, 0.27872500], [0.72864794, 0.27770586, 0.27898269], [0.73128992, 0.28273499, 0.27931502], [0.73388317, 0.28778034, 0.27972398], From 1df05c50d8d8a3c1be24ac780f4abdb492a697fc Mon Sep 17 00:00:00 2001 From: Bastian Bechtold <basti@bastibe.de> Date: Fri, 1 Apr 2016 13:38:34 +0200 Subject: [PATCH 0647/1161] reduced saturation to be more like the original the update to viscm's newer color space model changed the saturation of twilight. This changes the parameters to make them more like the original. --- lib/matplotlib/_cm_listed.py | 1016 +++++++++++++++++----------------- 1 file changed, 508 insertions(+), 508 deletions(-) diff --git a/lib/matplotlib/_cm_listed.py b/lib/matplotlib/_cm_listed.py index 3e7572837d85..80114c98a859 100644 --- a/lib/matplotlib/_cm_listed.py +++ b/lib/matplotlib/_cm_listed.py @@ -1286,515 +1286,515 @@ [0.995737, 0.909344, 0.217772]] _twilight_data = [[0.95588623, 0.91961077, 0.95812116], - [0.94945522, 0.91625793, 0.95307939], - [0.94309507, 0.91288645, 0.94810125], - [0.93680186, 0.90949769, 0.94318998], - [0.93055672, 0.90609944, 0.93834574], - [0.92437522, 0.90268411, 0.93358038], - [0.91825118, 0.89925369, 0.92889941], - [0.91216310, 0.89581657, 0.92430579], - [0.90611554, 0.89236995, 0.91980827], - [0.90009954, 0.88891692, 0.91541126], - [0.89410016, 0.88546309, 0.91111732], - [0.88810150, 0.88201446, 0.90692828], - [0.88210155, 0.87857161, 0.90284435], - [0.87609024, 0.87513854, 0.89886355], - [0.87005898, 0.87171867, 0.89498285], - [0.86399216, 0.86831804, 0.89120032], - [0.85789420, 0.86493511, 0.88751066], - [0.85176153, 0.86157137, 0.88390984], - [0.84559195, 0.85822765, 0.88039416], - [0.83938445, 0.85490431, 0.87696044], - [0.83313723, 0.85160183, 0.87360666], - [0.82684907, 0.84832038, 0.87033156], - [0.82052529, 0.84505780, 0.86713227], - [0.81416736, 0.84181324, 0.86400774], - [0.80777701, 0.83858568, 0.86095732], - [0.80135616, 0.83537403, 0.85798072], - [0.79490687, 0.83217711, 0.85507787], - [0.78843131, 0.82899370, 0.85224885], - [0.78193171, 0.82582257, 0.84949389], - [0.77541035, 0.82266245, 0.84681325], - [0.76886956, 0.81951209, 0.84420719], - [0.76231169, 0.81637024, 0.84167596], - [0.75573911, 0.81323568, 0.83921972], - [0.74915420, 0.81010720, 0.83683860], - [0.74255934, 0.80698361, 0.83453257], - [0.73595689, 0.80386378, 0.83230154], - [0.72934922, 0.80074658, 0.83014528], - [0.72273865, 0.79763095, 0.82806344], - [0.71612749, 0.79451586, 0.82605557], - [0.70951799, 0.79140032, 0.82412109], - [0.70291239, 0.78828339, 0.82225930], - [0.69631284, 0.78516419, 0.82046942], - [0.68972146, 0.78204186, 0.81875056], - [0.68314031, 0.77891561, 0.81710175], - [0.67657140, 0.77578469, 0.81552193], - [0.67001666, 0.77264837, 0.81400998], - [0.66347797, 0.76950601, 0.81256474], - [0.65695715, 0.76635698, 0.81118498], - [0.65045596, 0.76320068, 0.80986943], - [0.64397610, 0.76003659, 0.80861680], - [0.63751921, 0.75686418, 0.80742577], - [0.63108682, 0.75368298, 0.80629509], - [0.62468046, 0.75049257, 0.80522345], - [0.61830181, 0.74729247, 0.80420933], - [0.61195232, 0.74408229, 0.80325139], - [0.60563342, 0.74086166, 0.80234831], - [0.59934653, 0.73763023, 0.80149877], - [0.59309302, 0.73438766, 0.80070144], - [0.58687426, 0.73113363, 0.79995504], - [0.58069160, 0.72786784, 0.79925830], - [0.57454639, 0.72458998, 0.79860993], - [0.56844000, 0.72129976, 0.79800871], - [0.56237376, 0.71799691, 0.79745340], - [0.55634908, 0.71468116, 0.79694277], - [0.55036733, 0.71135222, 0.79647560], - [0.54442991, 0.70800984, 0.79605075], - [0.53853821, 0.70465375, 0.79566707], - [0.53269368, 0.70128370, 0.79532341], - [0.52689781, 0.69789942, 0.79501865], - [0.52115209, 0.69450065, 0.79475167], - [0.51545808, 0.69108712, 0.79452135], - [0.50981736, 0.68765858, 0.79432660], - [0.50423156, 0.68421476, 0.79416633], - [0.49870235, 0.68075539, 0.79403944], - [0.49323143, 0.67728019, 0.79394485], - [0.48782060, 0.67378891, 0.79388145], - [0.48247167, 0.67028125, 0.79384813], - [0.47718646, 0.66675694, 0.79384386], - [0.47196688, 0.66321571, 0.79386755], - [0.46681487, 0.65965726, 0.79391812], - [0.46173244, 0.65608131, 0.79399446], - [0.45672162, 0.65248758, 0.79409547], - [0.45178451, 0.64887576, 0.79422002], - [0.44692322, 0.64524556, 0.79436699], - [0.44213992, 0.64159670, 0.79453525], - [0.43743681, 0.63792886, 0.79472362], - [0.43281610, 0.63424176, 0.79493096], - [0.42828006, 0.63053510, 0.79515607], - [0.42383095, 0.62680857, 0.79539776], - [0.41947105, 0.62306188, 0.79565481], - [0.41520265, 0.61929473, 0.79592599], - [0.41102805, 0.61550682, 0.79621005], - [0.40694951, 0.61169786, 0.79650572], - [0.40296930, 0.60786755, 0.79681170], - [0.39908967, 0.60401561, 0.79712667], - [0.39531280, 0.60014173, 0.79744930], - [0.39164085, 0.59624565, 0.79777821], - [0.38807592, 0.59232708, 0.79811204], - [0.38462002, 0.58838575, 0.79844937], - [0.38127510, 0.58442138, 0.79878877], - [0.37804300, 0.58043371, 0.79912879], - [0.37492548, 0.57642249, 0.79946798], - [0.37192416, 0.57238746, 0.79980484], - [0.36904052, 0.56832839, 0.80013781], - [0.36627593, 0.56424504, 0.80046535], - [0.36363156, 0.56013719, 0.80078588], - [0.36110846, 0.55600462, 0.80109781], - [0.35870746, 0.55184713, 0.80139951], - [0.35642923, 0.54766454, 0.80168933], - [0.35427423, 0.54345666, 0.80196562], - [0.35224270, 0.53922332, 0.80222667], - [0.35033469, 0.53496437, 0.80247076], - [0.34854999, 0.53067967, 0.80269618], - [0.34688821, 0.52636909, 0.80290115], - [0.34534871, 0.52203250, 0.80308395], - [0.34393060, 0.51766984, 0.80324273], - [0.34263275, 0.51328101, 0.80337566], - [0.34145379, 0.50886596, 0.80348090], - [0.34039215, 0.50442465, 0.80355658], - [0.33944599, 0.49995706, 0.80360083], - [0.33861327, 0.49546317, 0.80361175], - [0.33789172, 0.49094302, 0.80358743], - [0.33727884, 0.48639663, 0.80352593], - [0.33677195, 0.48182407, 0.80342530], - [0.33636817, 0.47722542, 0.80328359], - [0.33606442, 0.47260079, 0.80309881], - [0.33585751, 0.46795029, 0.80286904], - [0.33574399, 0.46327410, 0.80259222], - [0.33572031, 0.45857239, 0.80226633], - [0.33578276, 0.45384539, 0.80188936], - [0.33592755, 0.44909334, 0.80145926], - [0.33615075, 0.44431649, 0.80097401], - [0.33644836, 0.43951515, 0.80043156], - [0.33681626, 0.43468966, 0.79982985], - [0.33725031, 0.42984036, 0.79916683], - [0.33774629, 0.42496767, 0.79844045], - [0.33829994, 0.42007201, 0.79764865], - [0.33890699, 0.41515382, 0.79678938], - [0.33956316, 0.41021362, 0.79586061], - [0.34026409, 0.40525195, 0.79486024], - [0.34100547, 0.40026940, 0.79378624], - [0.34178301, 0.39526659, 0.79263656], - [0.34259241, 0.39024418, 0.79140918], - [0.34342944, 0.38520287, 0.79010209], - [0.34428989, 0.38014342, 0.78871327], - [0.34516959, 0.37506661, 0.78724074], - [0.34606443, 0.36997329, 0.78568254], - [0.34697035, 0.36486435, 0.78403672], - [0.34788337, 0.35974073, 0.78230136], - [0.34879959, 0.35460338, 0.78047459], - [0.34971511, 0.34945338, 0.77855451], - [0.35062614, 0.34429184, 0.77653930], - [0.35152897, 0.33911989, 0.77442717], - [0.35241996, 0.33393875, 0.77221635], - [0.35329557, 0.32874968, 0.76990515], - [0.35415233, 0.32355401, 0.76749189], - [0.35498687, 0.31835313, 0.76497498], - [0.35579589, 0.31314847, 0.76235284], - [0.35657619, 0.30794155, 0.75962400], - [0.35732467, 0.30273393, 0.75678702], - [0.35803829, 0.29752724, 0.75384053], - [0.35871411, 0.29232322, 0.75078324], - [0.35934927, 0.28712361, 0.74761395], - [0.35994102, 0.28193026, 0.74433151], - [0.36048670, 0.27674508, 0.74093490], - [0.36098372, 0.27157003, 0.73742316], - [0.36142963, 0.26640715, 0.73379543], - [0.36182202, 0.26125855, 0.73005098], - [0.36215860, 0.25612639, 0.72618914], - [0.36243718, 0.25101293, 0.72220940], - [0.36265562, 0.24592048, 0.71811135], - [0.36281190, 0.24085140, 0.71389469], - [0.36290411, 0.23580814, 0.70955927], - [0.36293042, 0.23079318, 0.70510505], - [0.36288911, 0.22580907, 0.70053213], - [0.36277853, 0.22085843, 0.69584077], - [0.36259713, 0.21594391, 0.69103134], - [0.36234347, 0.21106822, 0.68610440], - [0.36201619, 0.20623413, 0.68106062], - [0.36161404, 0.20144441, 0.67590087], - [0.36113584, 0.19670191, 0.67062613], - [0.36058041, 0.19200951, 0.66523772], - [0.35994685, 0.18737005, 0.65973690], - [0.35923431, 0.18278641, 0.65412515], - [0.35844202, 0.17826146, 0.64840412], - [0.35756928, 0.17379808, 0.64257566], - [0.35661552, 0.16939913, 0.63664177], - [0.35558023, 0.16506742, 0.63060461], - [0.35446301, 0.16080575, 0.62446651], - [0.35326357, 0.15661683, 0.61822997], - [0.35198168, 0.15250332, 0.61189765], - [0.35061724, 0.14846779, 0.60547235], - [0.34917022, 0.14451269, 0.59895704], - [0.34764066, 0.14064036, 0.59235493], - [0.34602858, 0.13685294, 0.58566965], - [0.34433439, 0.13315249, 0.57890419], - [0.34255843, 0.12954087, 0.57206209], - [0.34070112, 0.12601975, 0.56514699], - [0.33876296, 0.12259058, 0.55816264], - [0.33674454, 0.11925457, 0.55111290], - [0.33464652, 0.11601270, 0.54400173], - [0.33246963, 0.11286565, 0.53683315], - [0.33021471, 0.10981385, 0.52961128], - [0.32788262, 0.10685741, 0.52234028], - [0.32547433, 0.10399616, 0.51502437], - [0.32299086, 0.10122960, 0.50766778], - [0.32043328, 0.09855690, 0.50027478], - [0.31780273, 0.09597691, 0.49284967], - [0.31510041, 0.09348818, 0.48539669], - [0.31232756, 0.09108891, 0.47792012], - [0.30948547, 0.08877701, 0.47042417], - [0.30657547, 0.08655010, 0.46291302], - [0.30359893, 0.08440548, 0.45539078], - [0.30055725, 0.08234023, 0.44786149], - [0.29745187, 0.08035116, 0.44032912], - [0.29428423, 0.07843486, 0.43279753], - [0.29105582, 0.07658776, 0.42527046], - [0.28776812, 0.07480608, 0.41775156], - [0.28442263, 0.07308593, 0.41024431], - [0.28102086, 0.07142334, 0.40275209], - [0.27756432, 0.06981421, 0.39527809], - [0.27405450, 0.06825446, 0.38782536], - [0.27049289, 0.06673993, 0.38039680], - [0.26688098, 0.06526654, 0.37299511], - [0.26322056, 0.06382801, 0.36562582], - [0.25951302, 0.06242112, 0.35829009], - [0.25575966, 0.06104275, 0.35098893], - [0.25196186, 0.05968904, 0.34372437], - [0.24812099, 0.05835626, 0.33649821], - [0.24423837, 0.05704078, 0.32931211], - [0.24031529, 0.05573914, 0.32216748], - [0.23635297, 0.05444805, 0.31506560], - [0.23235375, 0.05315951, 0.30801353], - [0.22831835, 0.05187268, 0.30100937], - [0.22424744, 0.05058663, 0.29405142], - [0.22014205, 0.04929868, 0.28714023], - [0.21600315, 0.04800632, 0.28027616], - [0.21183208, 0.04670574, 0.27346117], - [0.20763184, 0.04538735, 0.26670399], - [0.20340105, 0.04405708, 0.25999492], - [0.19914045, 0.04271302, 0.25333369], - [0.19485067, 0.04135341, 0.24671989], - [0.19053492, 0.03996198, 0.24016229], - [0.18619302, 0.03855360, 0.23365699], - [0.18182397, 0.03715418, 0.22719791], - [0.17742812, 0.03576362, 0.22078414], - [0.17300970, 0.03437171, 0.21442693], - [0.16856697, 0.03298483, 0.20811829], - [0.16409862, 0.03160743, 0.20185226], - [0.15960608, 0.03023698, 0.19563147], - [0.15509343, 0.02886553, 0.18946580], - [0.15055563, 0.02750586, 0.18333907], - [0.14599247, 0.02615899, 0.17724967], - [0.14141156, 0.02481086, 0.17121648], - [0.13680523, 0.02347801, 0.16521781], + [0.94967876, 0.91615763, 0.95315546], + [0.94353853, 0.91268927, 0.94824212], + [0.93744520, 0.90921449, 0.94337733], + [0.93140447, 0.90573033, 0.93856712], + [0.92542215, 0.90223373, 0.93381777], + [0.91947392, 0.89873478, 0.92912752], + [0.91357865, 0.89522463, 0.92450721], + [0.90772105, 0.89170929, 0.91995838], + [0.90189106, 0.88819234, 0.91548457], + [0.89609380, 0.88467110, 0.91109116], + [0.89031153, 0.88115247, 0.90677917], + [0.88453669, 0.87763908, 0.90255063], + [0.87877004, 0.87413042, 0.89840629], + [0.87299914, 0.87063131, 0.89434535], + [0.86721094, 0.86714674, 0.89036725], + [0.86141058, 0.86367475, 0.88646923], + [0.85559299, 0.86021735, 0.88264858], + [0.84974682, 0.85677881, 0.87890418], + [0.84387192, 0.85335917, 0.87523342], + [0.83797164, 0.84995717, 0.87163289], + [0.83204469, 0.84657319, 0.86810058], + [0.82609045, 0.84320733, 0.86463493], + [0.82010052, 0.83986227, 0.86123767], + [0.81408416, 0.83653448, 0.85790541], + [0.80804251, 0.83322322, 0.85463767], + [0.80197661, 0.82992779, 0.85143441], + [0.79588772, 0.82664733, 0.84829592], + [0.78977733, 0.82338091, 0.84522270], + [0.78364717, 0.82012747, 0.84221541], + [0.77749890, 0.81688599, 0.83927495], + [0.77133274, 0.81365586, 0.83640309], + [0.76515383, 0.81043494, 0.83359933], + [0.75896452, 0.80722199, 0.83086447], + [0.75276734, 0.80401573, 0.82819926], + [0.74656497, 0.80081486, 0.82560433], + [0.74036019, 0.79761806, 0.82308018], + [0.73415594, 0.79442399, 0.82062712], + [0.72795524, 0.79123135, 0.81824533], + [0.72176120, 0.78803884, 0.81593475], + [0.71557653, 0.78484528, 0.81369544], + [0.70940398, 0.78164957, 0.81152729], + [0.70324772, 0.77845022, 0.80942895], + [0.69711099, 0.77524608, 0.80739950], + [0.69099696, 0.77203607, 0.80543780], + [0.68490872, 0.76881916, 0.80354253], + [0.67884928, 0.76559441, 0.80171222], + [0.67282151, 0.76236096, 0.79994524], + [0.66682814, 0.75911802, 0.79823983], + [0.66087179, 0.75586490, 0.79659413], + [0.65495439, 0.75260107, 0.79500670], + [0.64907877, 0.74932586, 0.79347499], + [0.64324724, 0.74603878, 0.79199677], + [0.63746171, 0.74273942, 0.79056997], + [0.63172396, 0.73942747, 0.78919250], + [0.62603562, 0.73610266, 0.78786229], + [0.62039814, 0.73276477, 0.78657732], + [0.61481293, 0.72941363, 0.78533547], + [0.60928127, 0.72604912, 0.78413470], + [0.60380419, 0.72267116, 0.78297314], + [0.59838267, 0.71927971, 0.78184895], + [0.59301756, 0.71587476, 0.78076036], + [0.58770967, 0.71245630, 0.77970565], + [0.58245970, 0.70902436, 0.77868317], + [0.57726849, 0.70557897, 0.77769104], + [0.57213660, 0.70212016, 0.77672775], + [0.56706445, 0.69864803, 0.77579210], + [0.56205254, 0.69516262, 0.77488269], + [0.55710135, 0.69166401, 0.77399820], + [0.55221135, 0.68815225, 0.77313735], + [0.54738299, 0.68462741, 0.77229891], + [0.54261669, 0.68108954, 0.77148170], + [0.53791302, 0.67753870, 0.77068427], + [0.53327235, 0.67397494, 0.76990557], + [0.52869499, 0.67039831, 0.76914482], + [0.52418136, 0.66680884, 0.76840101], + [0.51973187, 0.66320657, 0.76767313], + [0.51534697, 0.65959152, 0.76696023], + [0.51102708, 0.65596370, 0.76626135], + [0.50677264, 0.65232312, 0.76557558], + [0.50258409, 0.64866978, 0.76490201], + [0.49846187, 0.64500368, 0.76423976], + [0.49440652, 0.64132483, 0.76358760], + [0.49041839, 0.63763319, 0.76294498], + [0.48649792, 0.63392874, 0.76231111], + [0.48264558, 0.63021144, 0.76168515], + [0.47886180, 0.62648125, 0.76106626], + [0.47514703, 0.62273814, 0.76045361], + [0.47150170, 0.61898207, 0.75984637], + [0.46792623, 0.61521297, 0.75924371], + [0.46442103, 0.61143080, 0.75864479], + [0.46098650, 0.60763550, 0.75804880], + [0.45762301, 0.60382702, 0.75745490], + [0.45433091, 0.60000529, 0.75686228], + [0.45111051, 0.59617026, 0.75626997], + [0.44796212, 0.59232188, 0.75567717], + [0.44488599, 0.58846006, 0.75508316], + [0.44188237, 0.58458473, 0.75448710], + [0.43895145, 0.58069584, 0.75388814], + [0.43609336, 0.57679330, 0.75328544], + [0.43330824, 0.57287707, 0.75267815], + [0.43059613, 0.56894708, 0.75206541], + [0.42795705, 0.56500326, 0.75144639], + [0.42539095, 0.56104556, 0.75082021], + [0.42289775, 0.55707392, 0.75018601], + [0.42047728, 0.55308828, 0.74954294], + [0.41812934, 0.54908859, 0.74889012], + [0.41585365, 0.54507481, 0.74822670], + [0.41364987, 0.54104688, 0.74755180], + [0.41151761, 0.53700476, 0.74686455], + [0.40945636, 0.53294843, 0.74616402], + [0.40746562, 0.52887785, 0.74544937], + [0.40554478, 0.52479298, 0.74471976], + [0.40369320, 0.52069379, 0.74397434], + [0.40191012, 0.51658025, 0.74321222], + [0.40019476, 0.51245234, 0.74243254], + [0.39854625, 0.50831006, 0.74163443], + [0.39696364, 0.50415338, 0.74081703], + [0.39544595, 0.49998230, 0.73997947], + [0.39399211, 0.49579683, 0.73912090], + [0.39260099, 0.49159695, 0.73824046], + [0.39127141, 0.48738268, 0.73733729], + [0.39000213, 0.48315403, 0.73641054], + [0.38879184, 0.47891100, 0.73545936], + [0.38763920, 0.47465363, 0.73448291], + [0.38654279, 0.47038193, 0.73348035], + [0.38550116, 0.46609593, 0.73245082], + [0.38451281, 0.46179566, 0.73139351], + [0.38357620, 0.45748116, 0.73030757], + [0.38268975, 0.45315247, 0.72919218], + [0.38185182, 0.44880962, 0.72804650], + [0.38106076, 0.44445268, 0.72686969], + [0.38031486, 0.44008169, 0.72566094], + [0.37961245, 0.43569671, 0.72441943], + [0.37895177, 0.43129778, 0.72314434], + [0.37833106, 0.42688498, 0.72183484], + [0.37774855, 0.42245837, 0.72049011], + [0.37720243, 0.41801803, 0.71910933], + [0.37669089, 0.41356403, 0.71769166], + [0.37621211, 0.40909646, 0.71623627], + [0.37576424, 0.40461540, 0.71474232], + [0.37534545, 0.40012094, 0.71320896], + [0.37495390, 0.39561319, 0.71163536], + [0.37458773, 0.39109226, 0.71002064], + [0.37424510, 0.38655825, 0.70836394], + [0.37392415, 0.38201129, 0.70666440], + [0.37362303, 0.37745150, 0.70492111], + [0.37333991, 0.37287903, 0.70313318], + [0.37307294, 0.36829402, 0.70129969], + [0.37282029, 0.36369664, 0.69941971], + [0.37258013, 0.35908705, 0.69749231], + [0.37235064, 0.35446544, 0.69551650], + [0.37212999, 0.34983200, 0.69349132], + [0.37191640, 0.34518697, 0.69141574], + [0.37170804, 0.34053056, 0.68928875], + [0.37150314, 0.33586303, 0.68710929], + [0.37130003, 0.33118458, 0.68487633], + [0.37109685, 0.32649557, 0.68258873], + [0.37089180, 0.32179632, 0.68024534], + [0.37068312, 0.31708718, 0.67784499], + [0.37046904, 0.31236853, 0.67538648], + [0.37024780, 0.30764080, 0.67286859], + [0.37001764, 0.30290445, 0.67029004], + [0.36977680, 0.29815996, 0.66764952], + [0.36952351, 0.29340788, 0.66494570], + [0.36925602, 0.28864881, 0.66217719], + [0.36897256, 0.28388339, 0.65934258], + [0.36867134, 0.27911233, 0.65644040], + [0.36835059, 0.27433641, 0.65346914], + [0.36800850, 0.26955647, 0.65042726], + [0.36764328, 0.26477344, 0.64731318], + [0.36725311, 0.25998832, 0.64412527], + [0.36683660, 0.25520194, 0.64086184], + [0.36639158, 0.25041570, 0.63752117], + [0.36591607, 0.24563096, 0.63410149], + [0.36540817, 0.24084915, 0.63060103], + [0.36486595, 0.23607183, 0.62701797], + [0.36428747, 0.23130070, 0.62335047], + [0.36367073, 0.22653760, 0.61959664], + [0.36301372, 0.22178452, 0.61575461], + [0.36231439, 0.21704365, 0.61182247], + [0.36157068, 0.21231734, 0.60779834], + [0.36078129, 0.20760765, 0.60367993], + [0.35994327, 0.20291779, 0.59946566], + [0.35905442, 0.19825076, 0.59515371], + [0.35811253, 0.19360973, 0.59074229], + [0.35711536, 0.18899812, 0.58622970], + [0.35606065, 0.18441957, 0.58161430], + [0.35494612, 0.17987796, 0.57689459], + [0.35377006, 0.17537711, 0.57206861], + [0.35252969, 0.17092163, 0.56713551], + [0.35122252, 0.16651620, 0.56209448], + [0.34984626, 0.16216558, 0.55694478], + [0.34839867, 0.15787473, 0.55168590], + [0.34687754, 0.15364873, 0.54631766], + [0.34528103, 0.14949272, 0.54083967], + [0.34360674, 0.14541210, 0.53525300], + [0.34185263, 0.14141215, 0.52955880], + [0.34001688, 0.13749807, 0.52375852], + [0.33809785, 0.13367489, 0.51785407], + [0.33609404, 0.12994744, 0.51184794], + [0.33400409, 0.12632016, 0.50574349], + [0.33182701, 0.12279709, 0.49954424], + [0.32956205, 0.11938176, 0.49325427], + [0.32720876, 0.11607711, 0.48687817], + [0.32476698, 0.11288540, 0.48042104], + [0.32223661, 0.10980755, 0.47389029], + [0.31961836, 0.10684434, 0.46729116], + [0.31691312, 0.10399563, 0.46062961], + [0.31412208, 0.10126033, 0.45391229], + [0.31124668, 0.09863647, 0.44714607], + [0.30828872, 0.09612127, 0.44033795], + [0.30525021, 0.09371113, 0.43349500], + [0.30213347, 0.09140049, 0.42662674], + [0.29894109, 0.08918489, 0.41973884], + [0.29567576, 0.08705943, 0.41283683], + [0.29234030, 0.08501829, 0.40592705], + [0.28893761, 0.08305536, 0.39901552], + [0.28547067, 0.08116432, 0.39210787], + [0.28194249, 0.07933875, 0.38520933], + [0.27835606, 0.07757226, 0.37832469], + [0.27471434, 0.07585853, 0.37145825], + [0.27102024, 0.07419145, 0.36461386], + [0.26727656, 0.07256510, 0.35779486], + [0.26348600, 0.07097387, 0.35100416], + [0.25965113, 0.06941247, 0.34424417], + [0.25577440, 0.06787594, 0.33751691], + [0.25185860, 0.06635773, 0.33082656], + [0.24790678, 0.06485041, 0.32417842], + [0.24392000, 0.06335391, 0.31756813], + [0.23990011, 0.06186470, 0.31099621], + [0.23584881, 0.06037959, 0.30446287], + [0.23176762, 0.05889569, 0.29796805], + [0.22765793, 0.05741044, 0.29151145], + [0.22352490, 0.05590910, 0.28510781], + [0.21936673, 0.05439937, 0.27874420], + [0.21518395, 0.05288082, 0.27241805], + [0.21097738, 0.05135188, 0.26612831], + [0.20675095, 0.04980177, 0.25988492], + [0.20250558, 0.04822872, 0.25368699], + [0.19823879, 0.04664038, 0.24752274], + [0.19395092, 0.04503581, 0.24139075], + [0.18964939, 0.04339464, 0.23531180], + [0.18532874, 0.04173194, 0.22926588], + [0.18098806, 0.04004406, 0.22324832], + [0.17663372, 0.03832764, 0.21727622], + [0.17226280, 0.03662630, 0.21133883], + [0.16787203, 0.03494898, 0.20542535], + [0.16346916, 0.03327796, 0.19955633], + [0.15904897, 0.03162694, 0.19371576], + [0.15460852, 0.03000286, 0.18789489], + [0.15015881, 0.02838308, 0.18212224], + [0.14568790, 0.02679372, 0.17636536], + [0.14120085, 0.02522488, 0.17063713], + [0.13669847, 0.02367601, 0.16493914], [0.13217294, 0.02216185, 0.15925166], - [0.13734691, 0.02366425, 0.16281075], - [0.14252442, 0.02517736, 0.16634252], - [0.14770778, 0.02669714, 0.16984668], - [0.15290195, 0.02821622, 0.17332291], - [0.15810076, 0.02973998, 0.17677058], - [0.16330762, 0.03126288, 0.18018937], - [0.16852502, 0.03278011, 0.18357883], - [0.17374803, 0.03429630, 0.18693856], - [0.17898021, 0.03580544, 0.19026810], - [0.18422341, 0.03730339, 0.19356692], - [0.18947305, 0.03879495, 0.19683477], - [0.19473182, 0.04027506, 0.20007111], - [0.20000289, 0.04170435, 0.20327520], - [0.20528110, 0.04309135, 0.20644696], - [0.21056714, 0.04443886, 0.20958591], - [0.21586768, 0.04573820, 0.21269078], - [0.22117588, 0.04700028, 0.21576178], - [0.22649193, 0.04822582, 0.21879845], - [0.23182042, 0.04940879, 0.22179951], - [0.23715956, 0.05055263, 0.22476459], - [0.24250687, 0.05166180, 0.22769354], - [0.24786247, 0.05273689, 0.23058580], - [0.25323271, 0.05376886, 0.23343926], - [0.25861155, 0.05476753, 0.23625455], - [0.26399881, 0.05573384, 0.23903106], - [0.26939453, 0.05666837, 0.24176812], - [0.27480441, 0.05756271, 0.24446328], - [0.28022286, 0.05842620, 0.24711730], - [0.28564966, 0.05925977, 0.24972951], - [0.29108479, 0.06006403, 0.25229910], - [0.29653080, 0.06083542, 0.25482427], - [0.30198742, 0.06157486, 0.25730409], - [0.30745198, 0.06228727, 0.25973865], - [0.31292438, 0.06297342, 0.26212705], - [0.31840449, 0.06363415, 0.26446838], - [0.32389333, 0.06426834, 0.26676110], - [0.32939231, 0.06487417, 0.26900334], - [0.33489821, 0.06545776, 0.27119553], - [0.34041078, 0.06602023, 0.27333667], - [0.34592975, 0.06656281, 0.27542573], - [0.35145481, 0.06708682, 0.27746166], - [0.35698562, 0.06759366, 0.27944340], - [0.36252308, 0.06808258, 0.28136901], - [0.36806667, 0.06855536, 0.28323734], - [0.37361451, 0.06901633, 0.28504823], - [0.37916612, 0.06946745, 0.28680059], - [0.38472094, 0.06991080, 0.28849331], - [0.39027840, 0.07034863, 0.29012529], - [0.39583787, 0.07078333, 0.29169544], - [0.40139867, 0.07121749, 0.29320266], - [0.40696009, 0.07165386, 0.29464587], - [0.41252134, 0.07209540, 0.29602403], - [0.41808159, 0.07254522, 0.29733609], - [0.42363997, 0.07300665, 0.29858106], - [0.42919554, 0.07348320, 0.29975797], - [0.43474731, 0.07397859, 0.30086591], - [0.44029421, 0.07449670, 0.30190401], - [0.44583515, 0.07504163, 0.30287148], - [0.45136896, 0.07561762, 0.30376756], - [0.45689442, 0.07622909, 0.30459162], - [0.46241024, 0.07688059, 0.30534309], - [0.46791509, 0.07757681, 0.30602150], - [0.47340756, 0.07832254, 0.30662648], - [0.47888623, 0.07912264, 0.30715778], - [0.48434958, 0.07998200, 0.30761530], - [0.48979608, 0.08090555, 0.30799903], - [0.49522412, 0.08189815, 0.30830914], - [0.50063230, 0.08296421, 0.30854553], - [0.50601992, 0.08410662, 0.30870670], - [0.51138403, 0.08533233, 0.30879554], - [0.51672287, 0.08664571, 0.30881287], - [0.52203465, 0.08805091, 0.30875973], - [0.52731761, 0.08955178, 0.30863732], - [0.53256993, 0.09115186, 0.30844705], - [0.53779115, 0.09285215, 0.30818715], - [0.54297804, 0.09465791, 0.30786275], - [0.54812876, 0.09657157, 0.30747595], - [0.55324156, 0.09859506, 0.30702897], - [0.55831501, 0.10072942, 0.30652323], - [0.56334777, 0.10297527, 0.30596003], - [0.56833734, 0.10533439, 0.30534464], - [0.57328213, 0.10780687, 0.30468003], - [0.57818080, 0.11039215, 0.30396856], - [0.58303211, 0.11308926, 0.30321234], - [0.58783409, 0.11589773, 0.30241703], - [0.59258545, 0.11881598, 0.30158616], - [0.59728517, 0.12184192, 0.30072217], - [0.60193198, 0.12497355, 0.29982944], - [0.60652465, 0.12820847, 0.29891268], - [0.61106230, 0.13154392, 0.29797560], - [0.61554416, 0.13497698, 0.29702133], - [0.61996934, 0.13850456, 0.29605503], - [0.62433719, 0.14212340, 0.29508057], - [0.62864721, 0.14583016, 0.29410167], - [0.63289892, 0.14962140, 0.29312259], - [0.63709197, 0.15349363, 0.29214719], - [0.64122611, 0.15744338, 0.29117939], - [0.64530117, 0.16146710, 0.29022320], - [0.64931706, 0.16556142, 0.28928196], - [0.65327378, 0.16972299, 0.28835915], - [0.65717142, 0.17394821, 0.28745934], - [0.66101009, 0.17823410, 0.28658491], - [0.66478997, 0.18257756, 0.28573901], - [0.66851135, 0.18697536, 0.28492550], - [0.67217455, 0.19142450, 0.28414753], - [0.67577983, 0.19592251, 0.28340717], - [0.67932752, 0.20046674, 0.28270719], - [0.68281827, 0.20505399, 0.28205188], - [0.68625232, 0.20968236, 0.28144251], - [0.68963007, 0.21434969, 0.28088131], - [0.69295196, 0.21905379, 0.28037072], - [0.69621889, 0.22379170, 0.27991481], - [0.69943095, 0.22856238, 0.27951394], - [0.70258861, 0.23336401, 0.27917026], - [0.70569235, 0.23819488, 0.27888580], - [0.70874319, 0.24305240, 0.27866415], - [0.71174119, 0.24793588, 0.27850570], - [0.71468679, 0.25284400, 0.27841215], - [0.71758045, 0.25777541, 0.27838526], - [0.72042297, 0.26272836, 0.27842742], - [0.72321493, 0.26770152, 0.27854043], - [0.72595643, 0.27269437, 0.27872500], - [0.72864794, 0.27770586, 0.27898269], - [0.73128992, 0.28273499, 0.27931502], - [0.73388317, 0.28778034, 0.27972398], - [0.73642820, 0.29284097, 0.28021101], - [0.73892508, 0.29791658, 0.28077680], - [0.74137424, 0.30300639, 0.28142269], - [0.74377611, 0.30810964, 0.28214995], - [0.74613113, 0.31322563, 0.28295983], - [0.74844032, 0.31835294, 0.28385417], - [0.75070366, 0.32349150, 0.28483355], - [0.75292143, 0.32864088, 0.28589891], - [0.75509404, 0.33380049, 0.28705134], - [0.75722192, 0.33896975, 0.28829185], - [0.75930548, 0.34414812, 0.28962145], - [0.76134528, 0.34933495, 0.29104116], - [0.76334217, 0.35452926, 0.29255214], - [0.76529602, 0.35973118, 0.29415483], - [0.76720726, 0.36494024, 0.29585005], - [0.76907633, 0.37015596, 0.29763856], - [0.77090366, 0.37537789, 0.29952108], - [0.77268971, 0.38060559, 0.30149830], - [0.77443495, 0.38583860, 0.30357085], - [0.77613989, 0.39107645, 0.30573931], - [0.77780552, 0.39631826, 0.30800434], - [0.77943177, 0.40156413, 0.31036623], - [0.78101915, 0.40681364, 0.31282543], - [0.78256820, 0.41206636, 0.31538231], - [0.78407945, 0.41732188, 0.31803722], - [0.78555346, 0.42257979, 0.32079044], - [0.78699080, 0.42783966, 0.32364219], - [0.78839209, 0.43310108, 0.32659265], - [0.78975792, 0.43836364, 0.32964196], - [0.79108895, 0.44362691, 0.33279019], - [0.79238599, 0.44889037, 0.33603735], - [0.79364987, 0.45415347, 0.33938335], - [0.79488100, 0.45941605, 0.34282817], - [0.79608012, 0.46467767, 0.34637165], - [0.79724800, 0.46993790, 0.35001362], - [0.79838542, 0.47519633, 0.35375384], - [0.79949323, 0.48045251, 0.35759203], - [0.80057226, 0.48570601, 0.36152783], - [0.80162340, 0.49095639, 0.36556086], - [0.80264758, 0.49620321, 0.36969067], - [0.80364574, 0.50144604, 0.37391676], - [0.80461886, 0.50668442, 0.37823860], - [0.80556795, 0.51191791, 0.38265557], - [0.80649408, 0.51714608, 0.38716704], - [0.80739831, 0.52236846, 0.39177230], - [0.80828177, 0.52758462, 0.39647060], - [0.80914561, 0.53279411, 0.40126115], - [0.80999102, 0.53799647, 0.40614310], - [0.81081921, 0.54319127, 0.41111556], - [0.81163146, 0.54837805, 0.41617758], - [0.81242917, 0.55355630, 0.42132808], - [0.81321359, 0.55872564, 0.42656608], - [0.81398601, 0.56388566, 0.43189053], - [0.81474783, 0.56903592, 0.43730031], - [0.81550048, 0.57417599, 0.44279423], - [0.81624541, 0.57930546, 0.44837108], - [0.81698410, 0.58442389, 0.45402959], - [0.81771807, 0.58953089, 0.45976846], - [0.81844888, 0.59462605, 0.46558635], - [0.81917808, 0.59970896, 0.47148185], - [0.81990729, 0.60477924, 0.47745355], - [0.82063811, 0.60983652, 0.48349997], - [0.82137220, 0.61488042, 0.48961959], - [0.82211123, 0.61991058, 0.49581089], - [0.82285688, 0.62492666, 0.50207226], - [0.82361084, 0.62992832, 0.50840210], - [0.82437485, 0.63491525, 0.51479876], - [0.82515061, 0.63988714, 0.52126054], - [0.82593989, 0.64484369, 0.52778573], - [0.82674458, 0.64978455, 0.53437241], - [0.82756642, 0.65470948, 0.54101882], - [0.82840706, 0.65961828, 0.54772326], - [0.82926825, 0.66451072, 0.55448390], - [0.83015173, 0.66938660, 0.56129889], - [0.83105926, 0.67424573, 0.56816634], - [0.83199256, 0.67908793, 0.57508436], - [0.83295335, 0.68391306, 0.58205103], - [0.83394334, 0.68872099, 0.58906441], - [0.83496420, 0.69351161, 0.59612255], - [0.83601760, 0.69828484, 0.60322348], - [0.83710516, 0.70304061, 0.61036523], - [0.83822850, 0.70777889, 0.61754581], - [0.83938916, 0.71249967, 0.62476321], - [0.84058867, 0.71720295, 0.63201544], - [0.84182852, 0.72188878, 0.63930048], - [0.84311014, 0.72655721, 0.64661631], - [0.84443491, 0.73120835, 0.65396092], - [0.84580477, 0.73584211, 0.66133139], - [0.84722080, 0.74045872, 0.66872591], - [0.84868378, 0.74505848, 0.67614301], - [0.85019482, 0.74964164, 0.68358068], - [0.85175493, 0.75420845, 0.69103691], - [0.85336503, 0.75875922, 0.69850967], - [0.85502592, 0.76329429, 0.70599695], - [0.85673829, 0.76781408, 0.71349672], - [0.85850269, 0.77231903, 0.72100697], - [0.86031950, 0.77680967, 0.72852565], - [0.86219022, 0.78128624, 0.73604849], - [0.86411376, 0.78574976, 0.74357515], - [0.86608971, 0.79020105, 0.75110372], - [0.86811755, 0.79464104, 0.75863190], - [0.87019645, 0.79907078, 0.76615720], - [0.87232519, 0.80349150, 0.77367686], - [0.87450217, 0.80790465, 0.78118769], - [0.87672614, 0.81231171, 0.78868445], - [0.87899489, 0.81671455, 0.79616196], - [0.88130480, 0.82111554, 0.80361597], - [0.88365318, 0.82551702, 0.81103864], - [0.88603782, 0.82992136, 0.81841968], - [0.88845785, 0.83433064, 0.82574579], - [0.89091541, 0.83874612, 0.83299962], - [0.89341765, 0.84316744, 0.84015954], - [0.89597454, 0.84759262, 0.84720812], - [0.89860368, 0.85201660, 0.85412753], - [0.90132718, 0.85643174, 0.86090732], - [0.90416784, 0.86082894, 0.86754879], - [0.90714524, 0.86519932, 0.87406441], - [0.91026822, 0.86953688, 0.88048182], - [0.91353621, 0.87383892, 0.88683392], - [0.91694105, 0.87810588, 0.89315279], - [0.92046972, 0.88234058, 0.89946639], - [0.92410833, 0.88654704, 0.90579401], - [0.92784218, 0.89072971, 0.91215341], - [0.93165894, 0.89489263, 0.91855637], - [0.93554879, 0.89903928, 0.92501006], - [0.93950420, 0.90317255, 0.93151793], - [0.94351966, 0.90729487, 0.93808005], - [0.94759036, 0.91140786, 0.94470096], - [0.95171326, 0.91551283, 0.95138129], + [0.13715771, 0.02386470, 0.16279915], + [0.14213800, 0.02560107, 0.16632081], + [0.14712696, 0.02735575, 0.16981697], + [0.15211729, 0.02913553, 0.17328696], + [0.15711127, 0.03093684, 0.17673054], + [0.16211320, 0.03275335, 0.18014741], + [0.16711334, 0.03459602, 0.18353723], + [0.17212778, 0.03644357, 0.18689953], + [0.17714184, 0.03831372, 0.19023414], + [0.18216272, 0.04019623, 0.19354057], + [0.18719181, 0.04204197, 0.19681833], + [0.19222138, 0.04385446, 0.20006748], + [0.19726438, 0.04562162, 0.20328673], + [0.20231059, 0.04735883, 0.20647637], + [0.20736026, 0.04906721, 0.20963605], + [0.21242374, 0.05073417, 0.21276409], + [0.21748944, 0.05237662, 0.21586133], + [0.22256097, 0.05399093, 0.21892687], + [0.22764480, 0.05556951, 0.22195906], + [0.23273170, 0.05712593, 0.22495882], + [0.23782409, 0.05865801, 0.22792520], + [0.24292948, 0.06015655, 0.23085593], + [0.24803856, 0.06163518, 0.23375227], + [0.25315165, 0.06309447, 0.23661359], + [0.25827753, 0.06452336, 0.23943683], + [0.26340901, 0.06593256, 0.24222299], + [0.26854476, 0.06732480, 0.24497172], + [0.27368637, 0.06869883, 0.24768176], + [0.27883959, 0.07004759, 0.25035015], + [0.28399705, 0.07138210, 0.25297840], + [0.28915882, 0.07270312, 0.25556560], + [0.29432497, 0.07401148, 0.25811079], + [0.29950154, 0.07529967, 0.26061023], + [0.30468256, 0.07657683, 0.26306525], + [0.30986729, 0.07784489, 0.26547507], + [0.31505561, 0.07910492, 0.26783860], + [0.32024732, 0.08035810, 0.27015470], + [0.32544482, 0.08160204, 0.27242069], + [0.33064667, 0.08283969, 0.27463586], + [0.33585053, 0.08407525, 0.27680013], + [0.34105598, 0.08531029, 0.27891231], + [0.34626256, 0.08654644, 0.28097121], + [0.35146972, 0.08778547, 0.28297562], + [0.35667687, 0.08902924, 0.28492434], + [0.36188334, 0.09027973, 0.28681618], + [0.36708839, 0.09153902, 0.28864998], + [0.37229131, 0.09280915, 0.29042450], + [0.37749189, 0.09409153, 0.29213802], + [0.38268807, 0.09539008, 0.29379048], + [0.38787885, 0.09670726, 0.29538088], + [0.39306317, 0.09804561, 0.29690835], + [0.39823991, 0.09940776, 0.29837204], + [0.40340787, 0.10079637, 0.29977124], + [0.40856581, 0.10221419, 0.30110533], + [0.41371275, 0.10366356, 0.30237338], + [0.41884758, 0.10514695, 0.30357463], + [0.42396841, 0.10666780, 0.30470940], + [0.42907377, 0.10822892, 0.30577763], + [0.43416218, 0.10983307, 0.30677940], + [0.43923211, 0.11148296, 0.30771496], + [0.44428204, 0.11318118, 0.30858474], + [0.44931042, 0.11493024, 0.30938934], + [0.45431572, 0.11673249, 0.31012956], + [0.45929645, 0.11859012, 0.31080632], + [0.46425232, 0.12050381, 0.31141829], + [0.46918047, 0.12247703, 0.31196941], + [0.47407948, 0.12451142, 0.31246122], + [0.47894794, 0.12660841, 0.31289546], + [0.48378454, 0.12876919, 0.31327402], + [0.48858861, 0.13099415, 0.31359736], + [0.49335851, 0.13328448, 0.31386860], + [0.49809280, 0.13564099, 0.31409096], + [0.50279043, 0.13806389, 0.31426689], + [0.50745058, 0.14055310, 0.31439855], + [0.51207262, 0.14310825, 0.31448774], + [0.51665528, 0.14572930, 0.31453872], + [0.52119791, 0.14841559, 0.31455424], + [0.52569995, 0.15116629, 0.31453693], + [0.53016101, 0.15398036, 0.31448913], + [0.53458045, 0.15685680, 0.31441462], + [0.53895794, 0.15979435, 0.31431622], + [0.54329324, 0.16279163, 0.31419663], + [0.54758618, 0.16584718, 0.31405871], + [0.55183659, 0.16895949, 0.31390540], + [0.55604443, 0.17212695, 0.31373936], + [0.56020971, 0.17534794, 0.31356335], + [0.56433247, 0.17862080, 0.31338008], + [0.56841285, 0.18194387, 0.31319183], + [0.57245099, 0.18531550, 0.31300097], + [0.57644706, 0.18873401, 0.31281029], + [0.58040129, 0.19219776, 0.31262196], + [0.58431392, 0.19570523, 0.31243779], + [0.58818523, 0.19925487, 0.31225983], + [0.59201548, 0.20284508, 0.31209072], + [0.59580496, 0.20647443, 0.31193222], + [0.59955398, 0.21014160, 0.31178574], + [0.60326283, 0.21384527, 0.31165305], + [0.60693181, 0.21758404, 0.31153632], + [0.61056126, 0.22135662, 0.31143744], + [0.61415144, 0.22516202, 0.31135730], + [0.61770261, 0.22899913, 0.31129746], + [0.62121505, 0.23286692, 0.31125940], + [0.62468917, 0.23676405, 0.31124564], + [0.62812510, 0.24068989, 0.31125653], + [0.63152309, 0.24464358, 0.31129340], + [0.63488335, 0.24862429, 0.31135760], + [0.63820616, 0.25263112, 0.31145067], + [0.64149182, 0.25666317, 0.31157436], + [0.64474038, 0.26072000, 0.31172919], + [0.64795203, 0.26480095, 0.31191640], + [0.65112691, 0.26890541, 0.31213721], + [0.65426523, 0.27303275, 0.31239299], + [0.65736724, 0.27718218, 0.31268539], + [0.66043291, 0.28135348, 0.31301496], + [0.66346234, 0.28554617, 0.31338289], + [0.66645563, 0.28975979, 0.31379035], + [0.66941285, 0.29399391, 0.31423853], + [0.67233423, 0.29824791, 0.31472899], + [0.67521975, 0.30252154, 0.31526265], + [0.67806939, 0.30681452, 0.31584052], + [0.68088318, 0.31112650, 0.31646379], + [0.68366117, 0.31545715, 0.31713364], + [0.68640337, 0.31980615, 0.31785128], + [0.68910996, 0.32417300, 0.31861821], + [0.69178081, 0.32855759, 0.31943534], + [0.69441590, 0.33295966, 0.32030382], + [0.69701522, 0.33737894, 0.32122489], + [0.69957876, 0.34181516, 0.32219978], + [0.70210653, 0.34626807, 0.32322970], + [0.70459860, 0.35073729, 0.32431605], + [0.70705492, 0.35522263, 0.32545997], + [0.70947542, 0.35972390, 0.32666265], + [0.71186010, 0.36424085, 0.32792534], + [0.71420894, 0.36877323, 0.32924930], + [0.71652194, 0.37332079, 0.33063580], + [0.71879913, 0.37788325, 0.33208612], + [0.72104061, 0.38246028, 0.33360160], + [0.72324628, 0.38705172, 0.33518339], + [0.72541618, 0.39165730, 0.33683277], + [0.72755035, 0.39627674, 0.33855099], + [0.72964884, 0.40090978, 0.34033932], + [0.73171172, 0.40555611, 0.34219899], + [0.73373911, 0.41021541, 0.34413127], + [0.73573115, 0.41488736, 0.34613738], + [0.73768789, 0.41957169, 0.34821851], + [0.73960949, 0.42426807, 0.35037584], + [0.74149610, 0.42897616, 0.35261056], + [0.74334793, 0.43369562, 0.35492382], + [0.74516521, 0.43842607, 0.35731674], + [0.74694821, 0.44316712, 0.35979044], + [0.74869724, 0.44791835, 0.36234598], + [0.75041257, 0.45267940, 0.36498439], + [0.75209454, 0.45744986, 0.36770666], + [0.75374356, 0.46222929, 0.37051374], + [0.75536003, 0.46701725, 0.37340656], + [0.75694444, 0.47181326, 0.37638597], + [0.75849733, 0.47661683, 0.37945279], + [0.76001934, 0.48142741, 0.38260777], + [0.76151097, 0.48624456, 0.38585161], + [0.76297286, 0.49106776, 0.38918495], + [0.76440573, 0.49589647, 0.39260837], + [0.76581031, 0.50073015, 0.39612236], + [0.76718741, 0.50556824, 0.39972737], + [0.76853788, 0.51041015, 0.40342376], + [0.76986291, 0.51525513, 0.40721173], + [0.77116324, 0.52010271, 0.41109152], + [0.77243989, 0.52495230, 0.41506327], + [0.77369391, 0.52980327, 0.41912699], + [0.77492645, 0.53465502, 0.42328264], + [0.77613869, 0.53950688, 0.42753006], + [0.77733187, 0.54435824, 0.43186902], + [0.77850729, 0.54920844, 0.43629918], + [0.77966679, 0.55405656, 0.44081985], + [0.78081138, 0.55890219, 0.44543070], + [0.78194248, 0.56374468, 0.45013112], + [0.78306160, 0.56858340, 0.45492037], + [0.78417029, 0.57341769, 0.45979765], + [0.78527014, 0.57824693, 0.46476204], + [0.78636281, 0.58307048, 0.46981252], + [0.78744997, 0.58788771, 0.47494800], + [0.78853333, 0.59269801, 0.48016727], + [0.78961491, 0.59750067, 0.48546886], + [0.79069671, 0.60229498, 0.49085119], + [0.79178009, 0.60708060, 0.49631312], + [0.79286688, 0.61185698, 0.50185312], + [0.79395890, 0.61662359, 0.50746956], + [0.79505802, 0.62137992, 0.51316075], + [0.79616609, 0.62612549, 0.51892492], + [0.79728497, 0.63085984, 0.52476024], + [0.79841652, 0.63558252, 0.53066483], + [0.79956260, 0.64029314, 0.53663673], + [0.80072505, 0.64499131, 0.54267394], + [0.80190568, 0.64967668, 0.54877442], + [0.80310632, 0.65434893, 0.55493609], + [0.80432873, 0.65900778, 0.56115682], + [0.80557466, 0.66365295, 0.56743447], + [0.80684582, 0.66828424, 0.57376686], + [0.80814389, 0.67290145, 0.58015179], + [0.80947050, 0.67750443, 0.58658707], + [0.81082722, 0.68209304, 0.59307049], + [0.81221558, 0.68666721, 0.59959981], + [0.81363705, 0.69122688, 0.60617284], + [0.81509306, 0.69577202, 0.61278737], + [0.81658494, 0.70030265, 0.61944120], + [0.81811398, 0.70481883, 0.62613217], + [0.81968139, 0.70932062, 0.63285811], + [0.82128832, 0.71380816, 0.63961689], + [0.82293582, 0.71828159, 0.64640643], + [0.82462489, 0.72274110, 0.65322464], + [0.82635642, 0.72718691, 0.66006948], + [0.82813124, 0.73161926, 0.66693898], + [0.82995006, 0.73603846, 0.67383115], + [0.83181351, 0.74044483, 0.68074409], + [0.83372214, 0.74483873, 0.68767592], + [0.83567636, 0.74922057, 0.69462479], + [0.83767708, 0.75359061, 0.70158791], + [0.83972535, 0.75794913, 0.70856199], + [0.84181991, 0.76229704, 0.71554745], + [0.84396065, 0.76663495, 0.72254259], + [0.84614733, 0.77096352, 0.72954568], + [0.84837950, 0.77528348, 0.73655503], + [0.85065653, 0.77959564, 0.74356888], + [0.85297758, 0.78390090, 0.75058542], + [0.85534360, 0.78819980, 0.75759877], + [0.85775210, 0.79249376, 0.76460878], + [0.86020061, 0.79678427, 0.77161459], + [0.86268720, 0.80107277, 0.77861331], + [0.86520968, 0.80536087, 0.78560141], + [0.86776571, 0.80965030, 0.79257445], + [0.87035656, 0.81394216, 0.79951954], + [0.87297684, 0.81823907, 0.80643635], + [0.87562545, 0.82254271, 0.81331573], + [0.87830287, 0.82685434, 0.82014640], + [0.88101291, 0.83117417, 0.82691355], + [0.88376436, 0.83550080, 0.83359813], + [0.88656419, 0.83983241, 0.84019282], + [0.88942615, 0.84416471, 0.84668696], + [0.89236612, 0.84849196, 0.85307571], + [0.89540326, 0.85280703, 0.85935491], + [0.89854578, 0.85710498, 0.86554325], + [0.90180023, 0.86138156, 0.87165915], + [0.90516762, 0.86563454, 0.87772373], + [0.90864556, 0.86986351, 0.88375343], + [0.91222303, 0.87407051, 0.88977530], + [0.91589042, 0.87825797, 0.89580632], + [0.91963903, 0.88242879, 0.90185540], + [0.92345937, 0.88658601, 0.90793267], + [0.92734253, 0.89073234, 0.91404900], + [0.93128235, 0.89487013, 0.92020762], + [0.93527444, 0.89900167, 0.92640565], + [0.93931328, 0.90312833, 0.93265281], + [0.94339574, 0.90725141, 0.93895042], + [0.94752050, 0.91137261, 0.94528884], + [0.95168443, 0.91549220, 0.95167893], [0.95588623, 0.91961077, 0.95812116]] _sunlight_data = (_twilight_data[len(_twilight_data)//2:] + From 11a698b27b87490687af965d0546045a55a2439f Mon Sep 17 00:00:00 2001 From: Bastian Bechtold <bastibe@users.noreply.github.com> Date: Sat, 2 Apr 2016 18:47:55 +0200 Subject: [PATCH 0648/1161] remove duplicate end-point of twilight twilight is constructed from two viscm-generated colormaps, one red, one blue, both starting and stopping at the same points. When originally created, they thus contain double start- and end-points. While I did take out the repeated black point, I forgot to delete one of the end-points. This fixes that omission. --- lib/matplotlib/_cm_listed.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/matplotlib/_cm_listed.py b/lib/matplotlib/_cm_listed.py index 80114c98a859..4b9f054c6b58 100644 --- a/lib/matplotlib/_cm_listed.py +++ b/lib/matplotlib/_cm_listed.py @@ -1285,8 +1285,7 @@ [0.995503, 0.903866, 0.212370], [0.995737, 0.909344, 0.217772]] -_twilight_data = [[0.95588623, 0.91961077, 0.95812116], - [0.94967876, 0.91615763, 0.95315546], +_twilight_data = [[0.94967876, 0.91615763, 0.95315546], [0.94353853, 0.91268927, 0.94824212], [0.93744520, 0.90921449, 0.94337733], [0.93140447, 0.90573033, 0.93856712], From 07d25f3cc4619c518c6b296190259429265d8a53 Mon Sep 17 00:00:00 2001 From: Bastian Bechtold <basti@bastibe.de> Date: Wed, 11 May 2016 09:44:59 +0200 Subject: [PATCH 0649/1161] add lightness smoothing as mentioned in the Kovesi paper --- lib/matplotlib/_cm_listed.py | 1021 +++++++++++++++++----------------- 1 file changed, 511 insertions(+), 510 deletions(-) diff --git a/lib/matplotlib/_cm_listed.py b/lib/matplotlib/_cm_listed.py index 4b9f054c6b58..04f6b3cbeee9 100644 --- a/lib/matplotlib/_cm_listed.py +++ b/lib/matplotlib/_cm_listed.py @@ -1285,516 +1285,517 @@ [0.995503, 0.903866, 0.212370], [0.995737, 0.909344, 0.217772]] -_twilight_data = [[0.94967876, 0.91615763, 0.95315546], - [0.94353853, 0.91268927, 0.94824212], - [0.93744520, 0.90921449, 0.94337733], - [0.93140447, 0.90573033, 0.93856712], - [0.92542215, 0.90223373, 0.93381777], - [0.91947392, 0.89873478, 0.92912752], - [0.91357865, 0.89522463, 0.92450721], - [0.90772105, 0.89170929, 0.91995838], - [0.90189106, 0.88819234, 0.91548457], - [0.89609380, 0.88467110, 0.91109116], - [0.89031153, 0.88115247, 0.90677917], - [0.88453669, 0.87763908, 0.90255063], - [0.87877004, 0.87413042, 0.89840629], - [0.87299914, 0.87063131, 0.89434535], - [0.86721094, 0.86714674, 0.89036725], - [0.86141058, 0.86367475, 0.88646923], - [0.85559299, 0.86021735, 0.88264858], - [0.84974682, 0.85677881, 0.87890418], - [0.84387192, 0.85335917, 0.87523342], - [0.83797164, 0.84995717, 0.87163289], - [0.83204469, 0.84657319, 0.86810058], - [0.82609045, 0.84320733, 0.86463493], - [0.82010052, 0.83986227, 0.86123767], - [0.81408416, 0.83653448, 0.85790541], - [0.80804251, 0.83322322, 0.85463767], - [0.80197661, 0.82992779, 0.85143441], - [0.79588772, 0.82664733, 0.84829592], - [0.78977733, 0.82338091, 0.84522270], - [0.78364717, 0.82012747, 0.84221541], - [0.77749890, 0.81688599, 0.83927495], - [0.77133274, 0.81365586, 0.83640309], - [0.76515383, 0.81043494, 0.83359933], - [0.75896452, 0.80722199, 0.83086447], - [0.75276734, 0.80401573, 0.82819926], - [0.74656497, 0.80081486, 0.82560433], - [0.74036019, 0.79761806, 0.82308018], - [0.73415594, 0.79442399, 0.82062712], - [0.72795524, 0.79123135, 0.81824533], - [0.72176120, 0.78803884, 0.81593475], - [0.71557653, 0.78484528, 0.81369544], - [0.70940398, 0.78164957, 0.81152729], - [0.70324772, 0.77845022, 0.80942895], - [0.69711099, 0.77524608, 0.80739950], - [0.69099696, 0.77203607, 0.80543780], - [0.68490872, 0.76881916, 0.80354253], - [0.67884928, 0.76559441, 0.80171222], - [0.67282151, 0.76236096, 0.79994524], - [0.66682814, 0.75911802, 0.79823983], - [0.66087179, 0.75586490, 0.79659413], - [0.65495439, 0.75260107, 0.79500670], - [0.64907877, 0.74932586, 0.79347499], - [0.64324724, 0.74603878, 0.79199677], - [0.63746171, 0.74273942, 0.79056997], - [0.63172396, 0.73942747, 0.78919250], - [0.62603562, 0.73610266, 0.78786229], - [0.62039814, 0.73276477, 0.78657732], - [0.61481293, 0.72941363, 0.78533547], - [0.60928127, 0.72604912, 0.78413470], - [0.60380419, 0.72267116, 0.78297314], - [0.59838267, 0.71927971, 0.78184895], - [0.59301756, 0.71587476, 0.78076036], - [0.58770967, 0.71245630, 0.77970565], - [0.58245970, 0.70902436, 0.77868317], - [0.57726849, 0.70557897, 0.77769104], - [0.57213660, 0.70212016, 0.77672775], - [0.56706445, 0.69864803, 0.77579210], - [0.56205254, 0.69516262, 0.77488269], - [0.55710135, 0.69166401, 0.77399820], - [0.55221135, 0.68815225, 0.77313735], - [0.54738299, 0.68462741, 0.77229891], - [0.54261669, 0.68108954, 0.77148170], - [0.53791302, 0.67753870, 0.77068427], - [0.53327235, 0.67397494, 0.76990557], - [0.52869499, 0.67039831, 0.76914482], - [0.52418136, 0.66680884, 0.76840101], - [0.51973187, 0.66320657, 0.76767313], - [0.51534697, 0.65959152, 0.76696023], - [0.51102708, 0.65596370, 0.76626135], - [0.50677264, 0.65232312, 0.76557558], - [0.50258409, 0.64866978, 0.76490201], - [0.49846187, 0.64500368, 0.76423976], - [0.49440652, 0.64132483, 0.76358760], - [0.49041839, 0.63763319, 0.76294498], - [0.48649792, 0.63392874, 0.76231111], - [0.48264558, 0.63021144, 0.76168515], - [0.47886180, 0.62648125, 0.76106626], - [0.47514703, 0.62273814, 0.76045361], - [0.47150170, 0.61898207, 0.75984637], - [0.46792623, 0.61521297, 0.75924371], - [0.46442103, 0.61143080, 0.75864479], - [0.46098650, 0.60763550, 0.75804880], - [0.45762301, 0.60382702, 0.75745490], - [0.45433091, 0.60000529, 0.75686228], - [0.45111051, 0.59617026, 0.75626997], - [0.44796212, 0.59232188, 0.75567717], - [0.44488599, 0.58846006, 0.75508316], - [0.44188237, 0.58458473, 0.75448710], - [0.43895145, 0.58069584, 0.75388814], - [0.43609336, 0.57679330, 0.75328544], - [0.43330824, 0.57287707, 0.75267815], - [0.43059613, 0.56894708, 0.75206541], - [0.42795705, 0.56500326, 0.75144639], - [0.42539095, 0.56104556, 0.75082021], - [0.42289775, 0.55707392, 0.75018601], - [0.42047728, 0.55308828, 0.74954294], - [0.41812934, 0.54908859, 0.74889012], - [0.41585365, 0.54507481, 0.74822670], - [0.41364987, 0.54104688, 0.74755180], - [0.41151761, 0.53700476, 0.74686455], - [0.40945636, 0.53294843, 0.74616402], - [0.40746562, 0.52887785, 0.74544937], - [0.40554478, 0.52479298, 0.74471976], - [0.40369320, 0.52069379, 0.74397434], - [0.40191012, 0.51658025, 0.74321222], - [0.40019476, 0.51245234, 0.74243254], - [0.39854625, 0.50831006, 0.74163443], - [0.39696364, 0.50415338, 0.74081703], - [0.39544595, 0.49998230, 0.73997947], - [0.39399211, 0.49579683, 0.73912090], - [0.39260099, 0.49159695, 0.73824046], - [0.39127141, 0.48738268, 0.73733729], - [0.39000213, 0.48315403, 0.73641054], - [0.38879184, 0.47891100, 0.73545936], - [0.38763920, 0.47465363, 0.73448291], - [0.38654279, 0.47038193, 0.73348035], - [0.38550116, 0.46609593, 0.73245082], - [0.38451281, 0.46179566, 0.73139351], - [0.38357620, 0.45748116, 0.73030757], - [0.38268975, 0.45315247, 0.72919218], - [0.38185182, 0.44880962, 0.72804650], - [0.38106076, 0.44445268, 0.72686969], - [0.38031486, 0.44008169, 0.72566094], - [0.37961245, 0.43569671, 0.72441943], - [0.37895177, 0.43129778, 0.72314434], - [0.37833106, 0.42688498, 0.72183484], - [0.37774855, 0.42245837, 0.72049011], - [0.37720243, 0.41801803, 0.71910933], - [0.37669089, 0.41356403, 0.71769166], - [0.37621211, 0.40909646, 0.71623627], - [0.37576424, 0.40461540, 0.71474232], - [0.37534545, 0.40012094, 0.71320896], - [0.37495390, 0.39561319, 0.71163536], - [0.37458773, 0.39109226, 0.71002064], - [0.37424510, 0.38655825, 0.70836394], - [0.37392415, 0.38201129, 0.70666440], - [0.37362303, 0.37745150, 0.70492111], - [0.37333991, 0.37287903, 0.70313318], - [0.37307294, 0.36829402, 0.70129969], - [0.37282029, 0.36369664, 0.69941971], - [0.37258013, 0.35908705, 0.69749231], - [0.37235064, 0.35446544, 0.69551650], - [0.37212999, 0.34983200, 0.69349132], - [0.37191640, 0.34518697, 0.69141574], - [0.37170804, 0.34053056, 0.68928875], - [0.37150314, 0.33586303, 0.68710929], - [0.37130003, 0.33118458, 0.68487633], - [0.37109685, 0.32649557, 0.68258873], - [0.37089180, 0.32179632, 0.68024534], - [0.37068312, 0.31708718, 0.67784499], - [0.37046904, 0.31236853, 0.67538648], - [0.37024780, 0.30764080, 0.67286859], - [0.37001764, 0.30290445, 0.67029004], - [0.36977680, 0.29815996, 0.66764952], - [0.36952351, 0.29340788, 0.66494570], - [0.36925602, 0.28864881, 0.66217719], - [0.36897256, 0.28388339, 0.65934258], - [0.36867134, 0.27911233, 0.65644040], - [0.36835059, 0.27433641, 0.65346914], - [0.36800850, 0.26955647, 0.65042726], - [0.36764328, 0.26477344, 0.64731318], - [0.36725311, 0.25998832, 0.64412527], - [0.36683660, 0.25520194, 0.64086184], - [0.36639158, 0.25041570, 0.63752117], - [0.36591607, 0.24563096, 0.63410149], - [0.36540817, 0.24084915, 0.63060103], - [0.36486595, 0.23607183, 0.62701797], - [0.36428747, 0.23130070, 0.62335047], - [0.36367073, 0.22653760, 0.61959664], - [0.36301372, 0.22178452, 0.61575461], - [0.36231439, 0.21704365, 0.61182247], - [0.36157068, 0.21231734, 0.60779834], - [0.36078129, 0.20760765, 0.60367993], - [0.35994327, 0.20291779, 0.59946566], - [0.35905442, 0.19825076, 0.59515371], - [0.35811253, 0.19360973, 0.59074229], - [0.35711536, 0.18899812, 0.58622970], - [0.35606065, 0.18441957, 0.58161430], - [0.35494612, 0.17987796, 0.57689459], - [0.35377006, 0.17537711, 0.57206861], - [0.35252969, 0.17092163, 0.56713551], - [0.35122252, 0.16651620, 0.56209448], - [0.34984626, 0.16216558, 0.55694478], - [0.34839867, 0.15787473, 0.55168590], - [0.34687754, 0.15364873, 0.54631766], - [0.34528103, 0.14949272, 0.54083967], - [0.34360674, 0.14541210, 0.53525300], - [0.34185263, 0.14141215, 0.52955880], - [0.34001688, 0.13749807, 0.52375852], - [0.33809785, 0.13367489, 0.51785407], - [0.33609404, 0.12994744, 0.51184794], - [0.33400409, 0.12632016, 0.50574349], - [0.33182701, 0.12279709, 0.49954424], - [0.32956205, 0.11938176, 0.49325427], - [0.32720876, 0.11607711, 0.48687817], - [0.32476698, 0.11288540, 0.48042104], - [0.32223661, 0.10980755, 0.47389029], - [0.31961836, 0.10684434, 0.46729116], - [0.31691312, 0.10399563, 0.46062961], - [0.31412208, 0.10126033, 0.45391229], - [0.31124668, 0.09863647, 0.44714607], - [0.30828872, 0.09612127, 0.44033795], - [0.30525021, 0.09371113, 0.43349500], - [0.30213347, 0.09140049, 0.42662674], - [0.29894109, 0.08918489, 0.41973884], - [0.29567576, 0.08705943, 0.41283683], - [0.29234030, 0.08501829, 0.40592705], - [0.28893761, 0.08305536, 0.39901552], - [0.28547067, 0.08116432, 0.39210787], - [0.28194249, 0.07933875, 0.38520933], - [0.27835606, 0.07757226, 0.37832469], - [0.27471434, 0.07585853, 0.37145825], - [0.27102024, 0.07419145, 0.36461386], - [0.26727656, 0.07256510, 0.35779486], - [0.26348600, 0.07097387, 0.35100416], - [0.25965113, 0.06941247, 0.34424417], - [0.25577440, 0.06787594, 0.33751691], - [0.25185860, 0.06635773, 0.33082656], - [0.24790678, 0.06485041, 0.32417842], - [0.24392000, 0.06335391, 0.31756813], - [0.23990011, 0.06186470, 0.31099621], - [0.23584881, 0.06037959, 0.30446287], - [0.23176762, 0.05889569, 0.29796805], - [0.22765793, 0.05741044, 0.29151145], - [0.22352490, 0.05590910, 0.28510781], - [0.21936673, 0.05439937, 0.27874420], - [0.21518395, 0.05288082, 0.27241805], - [0.21097738, 0.05135188, 0.26612831], - [0.20675095, 0.04980177, 0.25988492], - [0.20250558, 0.04822872, 0.25368699], - [0.19823879, 0.04664038, 0.24752274], - [0.19395092, 0.04503581, 0.24139075], - [0.18964939, 0.04339464, 0.23531180], - [0.18532874, 0.04173194, 0.22926588], - [0.18098806, 0.04004406, 0.22324832], - [0.17663372, 0.03832764, 0.21727622], - [0.17226280, 0.03662630, 0.21133883], - [0.16787203, 0.03494898, 0.20542535], - [0.16346916, 0.03327796, 0.19955633], - [0.15904897, 0.03162694, 0.19371576], - [0.15460852, 0.03000286, 0.18789489], - [0.15015881, 0.02838308, 0.18212224], - [0.14568790, 0.02679372, 0.17636536], - [0.14120085, 0.02522488, 0.17063713], - [0.13669847, 0.02367601, 0.16493914], - [0.13217294, 0.02216185, 0.15925166], - [0.13715771, 0.02386470, 0.16279915], - [0.14213800, 0.02560107, 0.16632081], - [0.14712696, 0.02735575, 0.16981697], - [0.15211729, 0.02913553, 0.17328696], - [0.15711127, 0.03093684, 0.17673054], - [0.16211320, 0.03275335, 0.18014741], - [0.16711334, 0.03459602, 0.18353723], - [0.17212778, 0.03644357, 0.18689953], - [0.17714184, 0.03831372, 0.19023414], - [0.18216272, 0.04019623, 0.19354057], - [0.18719181, 0.04204197, 0.19681833], - [0.19222138, 0.04385446, 0.20006748], - [0.19726438, 0.04562162, 0.20328673], - [0.20231059, 0.04735883, 0.20647637], - [0.20736026, 0.04906721, 0.20963605], - [0.21242374, 0.05073417, 0.21276409], - [0.21748944, 0.05237662, 0.21586133], - [0.22256097, 0.05399093, 0.21892687], - [0.22764480, 0.05556951, 0.22195906], - [0.23273170, 0.05712593, 0.22495882], - [0.23782409, 0.05865801, 0.22792520], - [0.24292948, 0.06015655, 0.23085593], - [0.24803856, 0.06163518, 0.23375227], - [0.25315165, 0.06309447, 0.23661359], - [0.25827753, 0.06452336, 0.23943683], - [0.26340901, 0.06593256, 0.24222299], - [0.26854476, 0.06732480, 0.24497172], - [0.27368637, 0.06869883, 0.24768176], - [0.27883959, 0.07004759, 0.25035015], - [0.28399705, 0.07138210, 0.25297840], - [0.28915882, 0.07270312, 0.25556560], - [0.29432497, 0.07401148, 0.25811079], - [0.29950154, 0.07529967, 0.26061023], - [0.30468256, 0.07657683, 0.26306525], - [0.30986729, 0.07784489, 0.26547507], - [0.31505561, 0.07910492, 0.26783860], - [0.32024732, 0.08035810, 0.27015470], - [0.32544482, 0.08160204, 0.27242069], - [0.33064667, 0.08283969, 0.27463586], - [0.33585053, 0.08407525, 0.27680013], - [0.34105598, 0.08531029, 0.27891231], - [0.34626256, 0.08654644, 0.28097121], - [0.35146972, 0.08778547, 0.28297562], - [0.35667687, 0.08902924, 0.28492434], - [0.36188334, 0.09027973, 0.28681618], - [0.36708839, 0.09153902, 0.28864998], - [0.37229131, 0.09280915, 0.29042450], - [0.37749189, 0.09409153, 0.29213802], - [0.38268807, 0.09539008, 0.29379048], - [0.38787885, 0.09670726, 0.29538088], - [0.39306317, 0.09804561, 0.29690835], - [0.39823991, 0.09940776, 0.29837204], - [0.40340787, 0.10079637, 0.29977124], - [0.40856581, 0.10221419, 0.30110533], - [0.41371275, 0.10366356, 0.30237338], - [0.41884758, 0.10514695, 0.30357463], - [0.42396841, 0.10666780, 0.30470940], - [0.42907377, 0.10822892, 0.30577763], - [0.43416218, 0.10983307, 0.30677940], - [0.43923211, 0.11148296, 0.30771496], - [0.44428204, 0.11318118, 0.30858474], - [0.44931042, 0.11493024, 0.30938934], - [0.45431572, 0.11673249, 0.31012956], - [0.45929645, 0.11859012, 0.31080632], - [0.46425232, 0.12050381, 0.31141829], - [0.46918047, 0.12247703, 0.31196941], - [0.47407948, 0.12451142, 0.31246122], - [0.47894794, 0.12660841, 0.31289546], - [0.48378454, 0.12876919, 0.31327402], - [0.48858861, 0.13099415, 0.31359736], - [0.49335851, 0.13328448, 0.31386860], - [0.49809280, 0.13564099, 0.31409096], - [0.50279043, 0.13806389, 0.31426689], - [0.50745058, 0.14055310, 0.31439855], - [0.51207262, 0.14310825, 0.31448774], - [0.51665528, 0.14572930, 0.31453872], - [0.52119791, 0.14841559, 0.31455424], - [0.52569995, 0.15116629, 0.31453693], - [0.53016101, 0.15398036, 0.31448913], - [0.53458045, 0.15685680, 0.31441462], - [0.53895794, 0.15979435, 0.31431622], - [0.54329324, 0.16279163, 0.31419663], - [0.54758618, 0.16584718, 0.31405871], - [0.55183659, 0.16895949, 0.31390540], - [0.55604443, 0.17212695, 0.31373936], - [0.56020971, 0.17534794, 0.31356335], - [0.56433247, 0.17862080, 0.31338008], - [0.56841285, 0.18194387, 0.31319183], - [0.57245099, 0.18531550, 0.31300097], - [0.57644706, 0.18873401, 0.31281029], - [0.58040129, 0.19219776, 0.31262196], - [0.58431392, 0.19570523, 0.31243779], - [0.58818523, 0.19925487, 0.31225983], - [0.59201548, 0.20284508, 0.31209072], - [0.59580496, 0.20647443, 0.31193222], - [0.59955398, 0.21014160, 0.31178574], - [0.60326283, 0.21384527, 0.31165305], - [0.60693181, 0.21758404, 0.31153632], - [0.61056126, 0.22135662, 0.31143744], - [0.61415144, 0.22516202, 0.31135730], - [0.61770261, 0.22899913, 0.31129746], - [0.62121505, 0.23286692, 0.31125940], - [0.62468917, 0.23676405, 0.31124564], - [0.62812510, 0.24068989, 0.31125653], - [0.63152309, 0.24464358, 0.31129340], - [0.63488335, 0.24862429, 0.31135760], - [0.63820616, 0.25263112, 0.31145067], - [0.64149182, 0.25666317, 0.31157436], - [0.64474038, 0.26072000, 0.31172919], - [0.64795203, 0.26480095, 0.31191640], - [0.65112691, 0.26890541, 0.31213721], - [0.65426523, 0.27303275, 0.31239299], - [0.65736724, 0.27718218, 0.31268539], - [0.66043291, 0.28135348, 0.31301496], - [0.66346234, 0.28554617, 0.31338289], - [0.66645563, 0.28975979, 0.31379035], - [0.66941285, 0.29399391, 0.31423853], - [0.67233423, 0.29824791, 0.31472899], - [0.67521975, 0.30252154, 0.31526265], - [0.67806939, 0.30681452, 0.31584052], - [0.68088318, 0.31112650, 0.31646379], - [0.68366117, 0.31545715, 0.31713364], - [0.68640337, 0.31980615, 0.31785128], - [0.68910996, 0.32417300, 0.31861821], - [0.69178081, 0.32855759, 0.31943534], - [0.69441590, 0.33295966, 0.32030382], - [0.69701522, 0.33737894, 0.32122489], - [0.69957876, 0.34181516, 0.32219978], - [0.70210653, 0.34626807, 0.32322970], - [0.70459860, 0.35073729, 0.32431605], - [0.70705492, 0.35522263, 0.32545997], - [0.70947542, 0.35972390, 0.32666265], - [0.71186010, 0.36424085, 0.32792534], - [0.71420894, 0.36877323, 0.32924930], - [0.71652194, 0.37332079, 0.33063580], - [0.71879913, 0.37788325, 0.33208612], - [0.72104061, 0.38246028, 0.33360160], - [0.72324628, 0.38705172, 0.33518339], - [0.72541618, 0.39165730, 0.33683277], - [0.72755035, 0.39627674, 0.33855099], - [0.72964884, 0.40090978, 0.34033932], - [0.73171172, 0.40555611, 0.34219899], - [0.73373911, 0.41021541, 0.34413127], - [0.73573115, 0.41488736, 0.34613738], - [0.73768789, 0.41957169, 0.34821851], - [0.73960949, 0.42426807, 0.35037584], - [0.74149610, 0.42897616, 0.35261056], - [0.74334793, 0.43369562, 0.35492382], - [0.74516521, 0.43842607, 0.35731674], - [0.74694821, 0.44316712, 0.35979044], - [0.74869724, 0.44791835, 0.36234598], - [0.75041257, 0.45267940, 0.36498439], - [0.75209454, 0.45744986, 0.36770666], - [0.75374356, 0.46222929, 0.37051374], - [0.75536003, 0.46701725, 0.37340656], - [0.75694444, 0.47181326, 0.37638597], - [0.75849733, 0.47661683, 0.37945279], - [0.76001934, 0.48142741, 0.38260777], - [0.76151097, 0.48624456, 0.38585161], - [0.76297286, 0.49106776, 0.38918495], - [0.76440573, 0.49589647, 0.39260837], - [0.76581031, 0.50073015, 0.39612236], - [0.76718741, 0.50556824, 0.39972737], - [0.76853788, 0.51041015, 0.40342376], - [0.76986291, 0.51525513, 0.40721173], - [0.77116324, 0.52010271, 0.41109152], - [0.77243989, 0.52495230, 0.41506327], - [0.77369391, 0.52980327, 0.41912699], - [0.77492645, 0.53465502, 0.42328264], - [0.77613869, 0.53950688, 0.42753006], - [0.77733187, 0.54435824, 0.43186902], - [0.77850729, 0.54920844, 0.43629918], - [0.77966679, 0.55405656, 0.44081985], - [0.78081138, 0.55890219, 0.44543070], - [0.78194248, 0.56374468, 0.45013112], - [0.78306160, 0.56858340, 0.45492037], - [0.78417029, 0.57341769, 0.45979765], - [0.78527014, 0.57824693, 0.46476204], - [0.78636281, 0.58307048, 0.46981252], - [0.78744997, 0.58788771, 0.47494800], - [0.78853333, 0.59269801, 0.48016727], - [0.78961491, 0.59750067, 0.48546886], - [0.79069671, 0.60229498, 0.49085119], - [0.79178009, 0.60708060, 0.49631312], - [0.79286688, 0.61185698, 0.50185312], - [0.79395890, 0.61662359, 0.50746956], - [0.79505802, 0.62137992, 0.51316075], - [0.79616609, 0.62612549, 0.51892492], - [0.79728497, 0.63085984, 0.52476024], - [0.79841652, 0.63558252, 0.53066483], - [0.79956260, 0.64029314, 0.53663673], - [0.80072505, 0.64499131, 0.54267394], - [0.80190568, 0.64967668, 0.54877442], - [0.80310632, 0.65434893, 0.55493609], - [0.80432873, 0.65900778, 0.56115682], - [0.80557466, 0.66365295, 0.56743447], - [0.80684582, 0.66828424, 0.57376686], - [0.80814389, 0.67290145, 0.58015179], - [0.80947050, 0.67750443, 0.58658707], - [0.81082722, 0.68209304, 0.59307049], - [0.81221558, 0.68666721, 0.59959981], - [0.81363705, 0.69122688, 0.60617284], - [0.81509306, 0.69577202, 0.61278737], - [0.81658494, 0.70030265, 0.61944120], - [0.81811398, 0.70481883, 0.62613217], - [0.81968139, 0.70932062, 0.63285811], - [0.82128832, 0.71380816, 0.63961689], - [0.82293582, 0.71828159, 0.64640643], - [0.82462489, 0.72274110, 0.65322464], - [0.82635642, 0.72718691, 0.66006948], - [0.82813124, 0.73161926, 0.66693898], - [0.82995006, 0.73603846, 0.67383115], - [0.83181351, 0.74044483, 0.68074409], - [0.83372214, 0.74483873, 0.68767592], - [0.83567636, 0.74922057, 0.69462479], - [0.83767708, 0.75359061, 0.70158791], - [0.83972535, 0.75794913, 0.70856199], - [0.84181991, 0.76229704, 0.71554745], - [0.84396065, 0.76663495, 0.72254259], - [0.84614733, 0.77096352, 0.72954568], - [0.84837950, 0.77528348, 0.73655503], - [0.85065653, 0.77959564, 0.74356888], - [0.85297758, 0.78390090, 0.75058542], - [0.85534360, 0.78819980, 0.75759877], - [0.85775210, 0.79249376, 0.76460878], - [0.86020061, 0.79678427, 0.77161459], - [0.86268720, 0.80107277, 0.77861331], - [0.86520968, 0.80536087, 0.78560141], - [0.86776571, 0.80965030, 0.79257445], - [0.87035656, 0.81394216, 0.79951954], - [0.87297684, 0.81823907, 0.80643635], - [0.87562545, 0.82254271, 0.81331573], - [0.87830287, 0.82685434, 0.82014640], - [0.88101291, 0.83117417, 0.82691355], - [0.88376436, 0.83550080, 0.83359813], - [0.88656419, 0.83983241, 0.84019282], - [0.88942615, 0.84416471, 0.84668696], - [0.89236612, 0.84849196, 0.85307571], - [0.89540326, 0.85280703, 0.85935491], - [0.89854578, 0.85710498, 0.86554325], - [0.90180023, 0.86138156, 0.87165915], - [0.90516762, 0.86563454, 0.87772373], - [0.90864556, 0.86986351, 0.88375343], - [0.91222303, 0.87407051, 0.88977530], - [0.91589042, 0.87825797, 0.89580632], - [0.91963903, 0.88242879, 0.90185540], - [0.92345937, 0.88658601, 0.90793267], - [0.92734253, 0.89073234, 0.91404900], - [0.93128235, 0.89487013, 0.92020762], - [0.93527444, 0.89900167, 0.92640565], - [0.93931328, 0.90312833, 0.93265281], - [0.94339574, 0.90725141, 0.93895042], - [0.94752050, 0.91137261, 0.94528884], - [0.95168443, 0.91549220, 0.95167893], - [0.95588623, 0.91961077, 0.95812116]] +_twilight_data = [ + [0.88575015840754434, 0.85000924943067835, 0.8879736506427196], + [0.88378520195539056, 0.85072940540310626, 0.88723222096949894], + [0.88172231059285788, 0.85127594077653468, 0.88638056925514819], + [0.8795410528270573, 0.85165675407495722, 0.8854143767924102], + [0.87724880858965482, 0.85187028338870274, 0.88434120381311432], + [0.87485347508575972, 0.85191526123023187, 0.88316926967613829], + [0.87233134085124076, 0.85180165478080894, 0.88189704355001619], + [0.86970474853509816, 0.85152403004797894, 0.88053883390003362], + [0.86696015505333579, 0.8510896085314068, 0.87909766977173343], + [0.86408985081463996, 0.85050391167507788, 0.87757925784892632], + [0.86110245436899846, 0.84976754857001258, 0.87599242923439569], + [0.85798259245670372, 0.84888934810281835, 0.87434038553446281], + [0.85472593189256985, 0.84787488124672816, 0.8726282980930582], + [0.85133714570857189, 0.84672735796116472, 0.87086081657350445], + [0.84780710702577922, 0.8454546229209523, 0.86904036783694438], + [0.8441261828674842, 0.84406482711037389, 0.86716973322690072], + [0.84030420805957784, 0.8425605950855084, 0.865250882410458], + [0.83634031809191178, 0.84094796518951942, 0.86328528001070159], + [0.83222705712934408, 0.83923490627754482, 0.86127563500427884], + [0.82796894316013536, 0.83742600751395202, 0.85922399451306786], + [0.82357429680252847, 0.83552487764795436, 0.85713191328514948], + [0.81904654677937527, 0.8335364929949034, 0.85500206287010105], + [0.81438982121143089, 0.83146558694197847, 0.85283759062147024], + [0.8095999819094809, 0.82931896673505456, 0.85064441601050367], + [0.80469164429814577, 0.82709838780560663, 0.84842449296974021], + [0.79967075421267997, 0.82480781812080928, 0.84618210029578533], + [0.79454305089231114, 0.82245116226304615, 0.84392184786827984], + [0.78931445564608915, 0.82003213188702007, 0.8416486380471222], + [0.78399101042764918, 0.81755426400533426, 0.83936747464036732], + [0.77857892008227592, 0.81502089378742548, 0.8370834463093898], + [0.77308416590170936, 0.81243524735466011, 0.83480172950579679], + [0.76751108504417864, 0.8098007598713145, 0.83252816638059668], + [0.76186907937980286, 0.80711949387647486, 0.830266486168872], + [0.75616443584381976, 0.80439408733477935, 0.82802138994719998], + [0.75040346765406696, 0.80162699008965321, 0.82579737851082424], + [0.74459247771890169, 0.79882047719583249, 0.82359867586156521], + [0.73873771700494939, 0.79597665735031009, 0.82142922780433014], + [0.73284543645523459, 0.79309746468844067, 0.81929263384230377], + [0.72692177512829703, 0.7901846863592763, 0.81719217466726379], + [0.72097280665536778, 0.78723995923452639, 0.81513073920879264], + [0.71500403076252128, 0.78426487091581187, 0.81311116559949914], + [0.70902078134539304, 0.78126088716070907, 0.81113591855117928], + [0.7030297722540817, 0.77822904973358131, 0.80920618848056969], + [0.6970365443886174, 0.77517050008066057, 0.80732335380063447], + [0.69104641009309098, 0.77208629460678091, 0.80548841690679074], + [0.68506446154395928, 0.7689774029354699, 0.80370206267176914], + [0.67909554499882152, 0.76584472131395898, 0.8019646617300199], + [0.67314422559426212, 0.76268908733890484, 0.80027628545809526], + [0.66721479803752815, 0.7595112803730375, 0.79863674654537764], + [0.6613112930078745, 0.75631202708719025, 0.7970456043491897], + [0.65543692326454717, 0.75309208756768431, 0.79550271129031047], + [0.64959573004253479, 0.74985201221941766, 0.79400674021499107], + [0.6437910831099849, 0.7465923800833657, 0.79255653201306053], + [0.63802586828545982, 0.74331376714033193, 0.79115100459573173], + [0.6323027138710603, 0.74001672160131404, 0.78978892762640429], + [0.62662402022604591, 0.73670175403699445, 0.78846901316334561], + [0.62099193064817548, 0.73336934798923203, 0.78718994624696581], + [0.61540846411770478, 0.73001995232739691, 0.78595022706750484], + [0.60987543176093062, 0.72665398759758293, 0.78474835732694714], + [0.60439434200274855, 0.7232718614323369, 0.78358295593535587], + [0.5989665814482068, 0.71987394892246725, 0.78245259899346642], + [0.59359335696837223, 0.7164606049658685, 0.78135588237640097], + [0.58827579780555495, 0.71303214646458135, 0.78029141405636515], + [0.58301487036932409, 0.70958887676997473, 0.77925781820476592], + [0.5778116438998202, 0.70613106157153982, 0.77825345121025524], + [0.5726668948158774, 0.7026589535425779, 0.77727702680911992], + [0.56758117853861967, 0.69917279302646274, 0.77632748534275298], + [0.56255515357219343, 0.69567278381629649, 0.77540359142309845], + [0.55758940419605174, 0.69215911458254054, 0.7745041337932782], + [0.55268450589347129, 0.68863194515166382, 0.7736279426902245], + [0.54784098153018634, 0.68509142218509878, 0.77277386473440868], + [0.54305932424018233, 0.68153767253065878, 0.77194079697835083], + [0.53834015575176275, 0.67797081129095405, 0.77112734439057717], + [0.53368389147728401, 0.67439093705212727, 0.7703325054879735], + [0.529090861832473, 0.67079812302806219, 0.76955552292313134], + [0.52456151470593582, 0.66719242996142225, 0.76879541714230948], + [0.52009627392235558, 0.66357391434030388, 0.76805119403344102], + [0.5156955988596057, 0.65994260812897998, 0.76732191489596169], + [0.51135992541601927, 0.65629853981831865, 0.76660663780645333], + [0.50708969576451657, 0.65264172403146448, 0.76590445660835849], + [0.5028853540415561, 0.64897216734095264, 0.76521446718174913], + [0.49874733661356069, 0.6452898684900934, 0.76453578734180083], + [0.4946761847863938, 0.64159484119504429, 0.76386719002130909], + [0.49067224938561221, 0.63788704858847078, 0.76320812763163837], + [0.4867359599430568, 0.63416646251100506, 0.76255780085924041], + [0.4828677867260272, 0.6304330455306234, 0.76191537149895305], + [0.47906816236197386, 0.62668676251860134, 0.76128000375662419], + [0.47533752394906287, 0.62292757283835809, 0.76065085571817748], + [0.47167629518877091, 0.61915543242884641, 0.76002709227883047], + [0.46808490970531597, 0.61537028695790286, 0.75940789891092741], + [0.46456376716303932, 0.61157208822864151, 0.75879242623025811], + [0.46111326647023881, 0.607760777169989, 0.75817986436807139], + [0.45773377230160567, 0.60393630046586455, 0.75756936901859162], + [0.45442563977552913, 0.60009859503858665, 0.75696013660606487], + [0.45118918687617743, 0.59624762051353541, 0.75635120643246645], + [0.44802470933589172, 0.59238331452146575, 0.75574176474107924], + [0.44493246854215379, 0.5885055998308617, 0.7551311041857901], + [0.44191271766696399, 0.58461441100175571, 0.75451838884410671], + [0.43896563958048396, 0.58070969241098491, 0.75390276208285945], + [0.43609138958356369, 0.57679137998186081, 0.7532834105961016], + [0.43329008867358393, 0.57285941625606673, 0.75265946532566674], + [0.43056179073057571, 0.56891374572457176, 0.75203008099312696], + [0.42790652284925834, 0.5649543060909209, 0.75139443521914839], + [0.42532423665011354, 0.56098104959950301, 0.75075164989005116], + [0.42281485675772662, 0.55699392126996583, 0.75010086988227642], + [0.42037822361396326, 0.55299287158108168, 0.7494412559451894], + [0.41801414079233629, 0.54897785421888889, 0.74877193167001121], + [0.4157223260454232, 0.54494882715350401, 0.74809204459000522], + [0.41350245743314729, 0.54090574771098476, 0.74740073297543086], + [0.41135414697304568, 0.53684857765005933, 0.74669712855065784], + [0.4092768899914751, 0.53277730177130322, 0.74598030635707824], + [0.40727018694219069, 0.52869188011057411, 0.74524942637581271], + [0.40533343789303178, 0.52459228174983119, 0.74450365836708132], + [0.40346600333905397, 0.52047847653840029, 0.74374215223567086], + [0.40166714010896104, 0.51635044969688759, 0.7429640345324835], + [0.39993606933454834, 0.51220818143218516, 0.74216844571317986], + [0.3982719152586337, 0.50805166539276136, 0.74135450918099721], + [0.39667374905665609, 0.50388089053847973, 0.74052138580516735], + [0.39514058808207631, 0.49969585326377758, 0.73966820211715711], + [0.39367135736822567, 0.49549655777451179, 0.738794102296364], + [0.39226494876209317, 0.49128300332899261, 0.73789824784475078], + [0.39092017571994903, 0.48705520251223039, 0.73697977133881254], + [0.38963580160340855, 0.48281316715123496, 0.73603782546932739], + [0.38841053300842432, 0.47855691131792805, 0.73507157641157261], + [0.38724301459330251, 0.47428645933635388, 0.73408016787854391], + [0.38613184178892102, 0.4700018340988123, 0.7330627749243106], + [0.38507556793651387, 0.46570306719930193, 0.73201854033690505], + [0.38407269378943537, 0.46139018782416635, 0.73094665432902683], + [0.38312168084402748, 0.45706323581407199, 0.72984626791353258], + [0.38222094988570376, 0.45272225034283325, 0.72871656144003782], + [0.38136887930454161, 0.44836727669277859, 0.72755671317141346], + [0.38056380696565623, 0.44399837208633719, 0.72636587045135315], + [0.37980403744848751, 0.43961558821222629, 0.72514323778761092], + [0.37908789283110761, 0.43521897612544935, 0.72388798691323131], + [0.378413635091359, 0.43080859411413064, 0.72259931993061044], + [0.37777949753513729, 0.4263845142616835, 0.72127639993530235], + [0.37718371844251231, 0.42194680223454828, 0.71991841524475775], + [0.37662448930806297, 0.41749553747893614, 0.71852454736176108], + [0.37610001286385814, 0.41303079952477062, 0.71709396919920232], + [0.37560846919442398, 0.40855267638072096, 0.71562585091587549], + [0.37514802505380473, 0.4040612609993941, 0.7141193695725726], + [0.37471686019302231, 0.3995566498711684, 0.71257368516500463], + [0.37431313199312338, 0.39503894828283309, 0.71098796522377461], + [0.37393499330475782, 0.39050827529375831, 0.70936134293478448], + [0.3735806215098284, 0.38596474386057539, 0.70769297607310577], + [0.37324816143326384, 0.38140848555753937, 0.70598200974806036], + [0.37293578646665032, 0.37683963835219841, 0.70422755780589941], + [0.37264166757849604, 0.37225835004836849, 0.7024287314570723], + [0.37236397858465387, 0.36766477862108266, 0.70058463496520773], + [0.37210089702443822, 0.36305909736982378, 0.69869434615073722], + [0.3718506155898596, 0.35844148285875221, 0.69675695810256544], + [0.37161133234400479, 0.3538121372967869, 0.69477149919380887], + [0.37138124223736607, 0.34917126878479027, 0.69273703471928827], + [0.37115856636209105, 0.34451911410230168, 0.69065253586464992], + [0.37094151551337329, 0.33985591488818123, 0.68851703379505125], + [0.37072833279422668, 0.33518193808489577, 0.68632948169606767], + [0.37051738634484427, 0.33049741244307851, 0.68408888788857214], + [0.37030682071842685, 0.32580269697872455, 0.68179411684486679], + [0.37009487130772695, 0.3210981375964933, 0.67944405399056851], + [0.36987980329025361, 0.31638410101153364, 0.67703755438090574], + [0.36965987626565955, 0.31166098762951971, 0.67457344743419545], + [0.36943334591276228, 0.30692923551862339, 0.67205052849120617], + [0.36919847837592484, 0.30218932176507068, 0.66946754331614522], + [0.36895355306596778, 0.29744175492366276, 0.66682322089824264], + [0.36869682231895268, 0.29268709856150099, 0.66411625298236909], + [0.36842655638020444, 0.28792596437778462, 0.66134526910944602], + [0.36814101479899719, 0.28315901221182987, 0.65850888806972308], + [0.36783843696531082, 0.27838697181297761, 0.65560566838453704], + [0.36751707094367697, 0.27361063317090978, 0.65263411711618635], + [0.36717513650699446, 0.26883085667326956, 0.64959272297892245], + [0.36681085540107988, 0.26404857724525643, 0.64647991652908243], + [0.36642243251550632, 0.25926481158628106, 0.64329409140765537], + [0.36600853966739794, 0.25448043878086224, 0.64003361803368586], + [0.36556698373538982, 0.24969683475296395, 0.63669675187488584], + [0.36509579845886808, 0.24491536803550484, 0.63328173520055586], + [0.36459308890125008, 0.24013747024823828, 0.62978680155026101], + [0.36405693022088509, 0.23536470386204195, 0.62621013451953023], + [0.36348537610385145, 0.23059876218396419, 0.62254988622392882], + [0.36287643560041027, 0.22584149293287031, 0.61880417410823019], + [0.36222809558295926, 0.22109488427338303, 0.61497112346096128], + [0.36153829010998356, 0.21636111429594002, 0.61104880679640927], + [0.36080493826624654, 0.21164251793458128, 0.60703532172064711], + [0.36002681809096376, 0.20694122817889948, 0.60292845431916875], + [0.35920088560930186, 0.20226037920758122, 0.5987265295935138], + [0.35832489966617809, 0.197602942459778, 0.59442768517501066], + [0.35739663292915563, 0.19297208197842461, 0.59003011251063131], + [0.35641381143126327, 0.18837119869242164, 0.5855320765920552], + [0.35537415306906722, 0.18380392577704466, 0.58093191431832802], + [0.35427534960663759, 0.17927413271618647, 0.57622809660668717], + [0.35311574421123737, 0.17478570377561287, 0.57141871523555288], + [0.35189248608873791, 0.17034320478524959, 0.56650284911216653], + [0.35060304441931012, 0.16595129984720861, 0.56147964703993225], + [0.34924513554955644, 0.16161477763045118, 0.55634837474163779], + [0.34781653238777782, 0.15733863511152979, 0.55110853452703257], + [0.34631507175793091, 0.15312802296627787, 0.5457599924248665], + [0.34473901574536375, 0.14898820589826409, 0.54030245920406539], + [0.34308600291572294, 0.14492465359918028, 0.53473704282067103], + [0.34135411074506483, 0.1409427920655632, 0.52906500940336754], + [0.33954168752669694, 0.13704801896718169, 0.52328797535085236], + [0.33764732090671112, 0.13324562282438077, 0.51740807573979475], + [0.33566978565015315, 0.12954074251271822, 0.51142807215168951], + [0.33360804901486002, 0.12593818301005921, 0.50535164796654897], + [0.33146154891145124, 0.12244245263391232, 0.49918274588431072], + [0.32923005203231409, 0.11905764321981127, 0.49292595612342666], + [0.3269137124539796, 0.1157873496841953, 0.48658646495697461], + [0.32451307931207785, 0.11263459791730848, 0.48017007211645196], + [0.32202882276069322, 0.10960114111258401, 0.47368494725726878], + [0.31946262395497965, 0.10668879882392659, 0.46713728801395243], + [0.31681648089023501, 0.10389861387653518, 0.46053414662739794], + [0.31409278414755532, 0.10123077676403242, 0.45388335612058467], + [0.31129434479712365, 0.098684771934052201, 0.44719313715161618], + [0.30842444457210105, 0.096259385340577736, 0.44047194882050544], + [0.30548675819945936, 0.093952764840823738, 0.43372849999361113], + [0.30248536364574252, 0.091761187397303601, 0.42697404043749887], + [0.29942483960214772, 0.089682253716750038, 0.42021619665853854], + [0.29631000388905288, 0.087713250960463951, 0.41346259134143476], + [0.29314593096985248, 0.085850656889620708, 0.40672178082365834], + [0.28993792445176608, 0.08409078829085731, 0.40000214725256295], + [0.28669151388283165, 0.082429873848480689, 0.39331182532243375], + [0.28341239797185225, 0.080864153365499375, 0.38665868550105914], + [0.28010638576975472, 0.079389994802261526, 0.38005028528138707], + [0.27677939615815589, 0.078003941033788216, 0.37349382846504675], + [0.27343739342450812, 0.076702800237496066, 0.36699616136347685], + [0.27008637749114051, 0.075483675584275545, 0.36056376228111864], + [0.26673233211995284, 0.074344018028546205, 0.35420276066240958], + [0.26338121807151404, 0.073281657939897077, 0.34791888996380105], + [0.26003895187439957, 0.072294781043362205, 0.3417175669546984], + [0.25671191651083902, 0.071380106242082242, 0.33560648984600089], + [0.25340685873736807, 0.070533582926851829, 0.3295945757321303], + [0.25012845306199383, 0.069758206429106989, 0.32368100685760637], + [0.24688226237958999, 0.069053639449204451, 0.31786993834254956], + [0.24367372557466271, 0.068419855150922693, 0.31216524050888372], + [0.24050813332295939, 0.067857103814855602, 0.30657054493678321], + [0.23739062429054825, 0.067365888050555517, 0.30108922184065873], + [0.23433055727563878, 0.066935599661639394, 0.29574009929867601], + [0.23132955273021344, 0.066576186939090592, 0.29051361067988485], + [0.2283917709422868, 0.06628997924139618, 0.28541074411068496], + [0.22552164337737857, 0.066078173119395595, 0.28043398847505197], + [0.22272706739121817, 0.065933790675651943, 0.27559714652053702], + [0.22001251100779617, 0.065857918918907604, 0.27090279994325861], + [0.21737845072382705, 0.065859661233562045, 0.26634209349669508], + [0.21482843531473683, 0.065940385613778491, 0.26191675992376573], + [0.21237411048541005, 0.066085024661758446, 0.25765165093569542], + [0.21001214221188125, 0.066308573918947178, 0.2535289048041211], + [0.2077442377448806, 0.06661453200418091, 0.24954644291943817], + [0.20558051999470117, 0.066990462397868739, 0.24572497420147632], + [0.20352007949514977, 0.067444179612424215, 0.24205576625191821], + [0.20156133764129841, 0.067983271026200248, 0.23852974228695395], + [0.19971571438603364, 0.068592710553704722, 0.23517094067076993], + [0.19794834061899208, 0.069314066071660657, 0.23194647381302336], + [0.1960826032659409, 0.070321227242423623, 0.22874673279569585], + [0.19410351363791453, 0.071608304856891569, 0.22558727307410353], + [0.19199449184606268, 0.073182830649273306, 0.22243385243433622], + [0.18975853639094634, 0.075019861862143766, 0.2193005075652994], + [0.18739228342697645, 0.077102096899588329, 0.21618875376309582], + [0.18488035509396164, 0.079425730279723883, 0.21307651648984993], + [0.18774482037046955, 0.077251588468039312, 0.21387448578597812], + [0.19049578401722037, 0.075311278416787641, 0.2146562337112265], + [0.1931548636579131, 0.073606819040117955, 0.21542362939081539], + [0.19571853588267552, 0.072157781039602742, 0.21617499187076789], + [0.19819343656336558, 0.070974625252738788, 0.21690975060032436], + [0.20058760685133747, 0.070064576149984209, 0.21762721310371608], + [0.20290365333558247, 0.069435248580458964, 0.21833167885096033], + [0.20531725273301316, 0.068919592266397572, 0.21911516689288835], + [0.20785704662965598, 0.068484398797025281, 0.22000133917653536], + [0.21052882914958676, 0.06812195249816172, 0.22098759107715404], + [0.2133313859647627, 0.067830148426026665, 0.22207043213024291], + [0.21625279838647882, 0.067616330270516389, 0.22324568672294431], + [0.21930503925136402, 0.067465786362940039, 0.22451023616807558], + [0.22247308588973624, 0.067388214053092838, 0.22585960379408354], + [0.2257539681670791, 0.067382132300147474, 0.22728984778098055], + [0.22915620278592841, 0.067434730871152565, 0.22879681433956656], + [0.23266299920501882, 0.067557104388479783, 0.23037617493752832], + [0.23627495835774248, 0.06774359820987802, 0.23202360805926608], + [0.23999586188690308, 0.067985029964779953, 0.23373434258507808], + [0.24381149720247919, 0.068289851529011875, 0.23550427698321885], + [0.24772092990501099, 0.068653337909486523, 0.2373288009471749], + [0.25172899728289466, 0.069064630826035506, 0.23920260612763083], + [0.25582135547481771, 0.06953231029187984, 0.24112190491594204], + [0.25999463887892144, 0.070053855603861875, 0.24308218808684579], + [0.26425512207060942, 0.070616595622995437, 0.24507758869355967], + [0.26859095948172862, 0.071226716277922458, 0.24710443563450618], + [0.27299701518897301, 0.071883555446163511, 0.24915847093232929], + [0.27747150809142801, 0.072582969899254779, 0.25123493995942769], + [0.28201746297366942, 0.073315693214040967, 0.25332800295084507], + [0.28662309235899847, 0.074088460826808866, 0.25543478673717029], + [0.29128515387578635, 0.074899049847466703, 0.25755101595750435], + [0.2960004726065818, 0.075745336000958424, 0.25967245030364566], + [0.30077276812918691, 0.076617824336164764, 0.26179294097819672], + [0.30559226007249934, 0.077521963107537312, 0.26391006692119662], + [0.31045520848595526, 0.078456871676182177, 0.2660200572779356], + [0.31535870009205808, 0.079420997315243186, 0.26811904076941961], + [0.32029986557994061, 0.080412994737554838, 0.27020322893039511], + [0.32527888860401261, 0.081428390076546092, 0.27226772884656186], + [0.33029174471181438, 0.08246763389003825, 0.27430929404579435], + [0.33533353224455448, 0.083532434119003962, 0.27632534356790039], + [0.34040164359597463, 0.084622236191702671, 0.27831254595259397], + [0.34549355713871799, 0.085736654965126335, 0.28026769921081435], + [0.35060678246032478, 0.08687555176033529, 0.28218770540182386], + [0.35573889947341125, 0.088038974350243354, 0.2840695897279818], + [0.36088752387578377, 0.089227194362745205, 0.28591050458531014], + [0.36605031412464006, 0.090440685427697898, 0.2877077458811747], + [0.37122508431309342, 0.091679997480262732, 0.28945865397633169], + [0.3764103053221462, 0.092945198093777909, 0.29116024157313919], + [0.38160247377467543, 0.094238731263712183, 0.29281107506269488], + [0.38679939079544168, 0.09556181960083443, 0.29440901248173756], + [0.39199887556812907, 0.09691583650296684, 0.29595212005509081], + [0.39719876876325577, 0.098302320968278623, 0.29743856476285779], + [0.40239692379737496, 0.099722930314950553, 0.29886674369733968], + [0.40759120392688708, 0.10117945586419633, 0.30023519507728602], + [0.41277985630360303, 0.1026734006932461, 0.30154226437468967], + [0.41796105205173684, 0.10420644885760968, 0.30278652039631843], + [0.42313214269556043, 0.10578120994917611, 0.3039675809469457], + [0.42829101315789753, 0.1073997763055258, 0.30508479060294547], + [0.4334355841041439, 0.1090642347484701, 0.30613767928289148], + [0.43856378187931538, 0.11077667828375456, 0.30712600062348083], + [0.44367358645071275, 0.11253912421257944, 0.30804973095465449], + [0.44876299173174822, 0.11435355574622549, 0.30890905921943196], + [0.45383005086999889, 0.11622183788331528, 0.30970441249844921], + [0.45887288947308297, 0.11814571137706886, 0.31043636979038808], + [0.46389102840284874, 0.12012561256850712, 0.31110343446582983], + [0.46888111384598413, 0.12216445576414045, 0.31170911458932665], + [0.473841437035254, 0.12426354237989065, 0.31225470169927194], + [0.47877034239726296, 0.12642401401409453, 0.31274172735821959], + [0.48366628618847957, 0.12864679022013889, 0.31317188565991266], + [0.48852847371852987, 0.13093210934893723, 0.31354553695453014], + [0.49335504375145617, 0.13328091630401023, 0.31386561956734976], + [0.49814435462074153, 0.13569380302451714, 0.314135190862664], + [0.50289524974970612, 0.13817086581280427, 0.31435662153833671], + [0.50760681181053691, 0.14071192654913128, 0.31453200120082569], + [0.51227835105321762, 0.14331656120063752, 0.3146630922831542], + [0.51690848800544464, 0.14598463068714407, 0.31475407592280041], + [0.52149652863229956, 0.14871544765633712, 0.31480767954534428], + [0.52604189625477482, 0.15150818660835483, 0.31482653406646727], + [0.53054420489856446, 0.15436183633886777, 0.31481299789187128], + [0.5350027976174474, 0.15727540775107324, 0.31477085207396532], + [0.53941736649199057, 0.16024769309971934, 0.31470295028655965], + [0.54378771313608565, 0.16327738551419116, 0.31461204226295625], + [0.54811370033467621, 0.1663630904279047, 0.31450102990914708], + [0.55239521572711914, 0.16950338809328983, 0.31437291554615371], + [0.55663229034969341, 0.17269677158182117, 0.31423043195101424], + [0.56082499039117173, 0.17594170887918095, 0.31407639883970623], + [0.56497343529017696, 0.17923664950367169, 0.3139136046337036], + [0.56907784784011428, 0.18258004462335425, 0.31374440956796529], + [0.57313845754107873, 0.18597036007065024, 0.31357126868520002], + [0.57715550812992045, 0.18940601489760422, 0.31339704333572083], + [0.58112932761586555, 0.19288548904692518, 0.31322399394183942], + [0.58506024396466882, 0.19640737049066315, 0.31305401163732732], + [0.58894861935544707, 0.19997020971775276, 0.31288922211590126], + [0.59279480536520257, 0.20357251410079796, 0.31273234839304942], + [0.59659918109122367, 0.207212956082026, 0.31258523031121233], + [0.60036213010411577, 0.21089030138947745, 0.31244934410414688], + [0.60408401696732739, 0.21460331490206347, 0.31232652641170694], + [0.60776523994818654, 0.21835070166659282, 0.31221903291870201], + [0.6114062072731884, 0.22213124697023234, 0.31212881396435238], + [0.61500723236391375, 0.22594402043981826, 0.31205680685765741], + [0.61856865258877192, 0.22978799249179921, 0.31200463838728931], + [0.62209079821082613, 0.2336621873300741, 0.31197383273627388], + [0.62557416500434959, 0.23756535071152696, 0.31196698314912269], + [0.62901892016985872, 0.24149689191922535, 0.31198447195645718], + [0.63242534854210275, 0.24545598775548677, 0.31202765974624452], + [0.6357937104834237, 0.24944185818822678, 0.31209793953300591], + [0.6391243387840212, 0.25345365461983138, 0.31219689612063978], + [0.642417577481186, 0.257490519876798, 0.31232631707560987], + [0.64567349382645434, 0.26155203161615281, 0.31248673753935263], + [0.64889230169458245, 0.26563755336209077, 0.31267941819570189], + [0.65207417290277303, 0.26974650525236699, 0.31290560605819168], + [0.65521932609327127, 0.27387826652410152, 0.3131666792687211], + [0.6583280801134499, 0.27803210957665631, 0.3134643447952643], + [0.66140037532601781, 0.28220778870555907, 0.31379912926498488], + [0.66443632469878844, 0.28640483614256179, 0.31417223403606975], + [0.66743603766369131, 0.29062280081258873, 0.31458483752056837], + [0.67039959547676198, 0.29486126309253047, 0.31503813956872212], + [0.67332725564817331, 0.29911962764489264, 0.31553372323982209], + [0.67621897924409746, 0.30339762792450425, 0.3160724937230589], + [0.67907474028157344, 0.30769497879760166, 0.31665545668946665], + [0.68189457150944521, 0.31201133280550686, 0.31728380489244951], + [0.68467850942494535, 0.31634634821222207, 0.31795870784057567], + [0.68742656435169625, 0.32069970535138104, 0.31868137622277692], + [0.6901389321505248, 0.32507091815606004, 0.31945332332898302], + [0.69281544846764931, 0.32945984647042675, 0.3202754315314667], + [0.69545608346891119, 0.33386622163232865, 0.32114884306985791], + [0.6980608153581771, 0.33828976326048621, 0.32207478855218091], + [0.70062962477242097, 0.34273019305341756, 0.32305449047765694], + [0.70316249458814151, 0.34718723719597999, 0.32408913679491225], + [0.70565951122610093, 0.35166052978120937, 0.32518014084085567], + [0.70812059568420482, 0.35614985523380299, 0.32632861885644465], + [0.7105456546582587, 0.36065500290840113, 0.32753574162788762], + [0.71293466839773467, 0.36517570519856757, 0.3288027427038317], + [0.71528760614847287, 0.36971170225223449, 0.3301308728723546], + [0.71760444908133847, 0.37426272710686193, 0.33152138620958932], + [0.71988521490549851, 0.37882848839337313, 0.33297555200245399], + [0.7221299918421461, 0.38340864508963057, 0.33449469983585844], + [0.72433865647781592, 0.38800301593162145, 0.33607995965691828], + [0.72651122900227549, 0.3926113126792577, 0.3377325942005665], + [0.72864773856716547, 0.39723324476747235, 0.33945384341064017], + [0.73074820754845171, 0.401868526884681, 0.3412449533046818], + [0.73281270506268747, 0.4065168468778026, 0.34310715173410822], + [0.73484133598564938, 0.41117787004519513, 0.34504169470809071], + [0.73683422173585866, 0.41585125850290111, 0.34704978520758401], + [0.73879140024599266, 0.42053672992315327, 0.34913260148542435], + [0.74071301619506091, 0.4252339389526239, 0.35129130890802607], + [0.7425992159973317, 0.42994254036133867, 0.35352709245374592], + [0.74445018676570673, 0.43466217184617112, 0.35584108091122535], + [0.74626615789163442, 0.43939245044973502, 0.35823439142300639], + [0.74804739275559562, 0.44413297780351974, 0.36070813602540136], + [0.74979420547170472, 0.44888333481548809, 0.36326337558360278], + [0.75150685045891663, 0.45364314496866825, 0.36590112443835765], + [0.75318566369046569, 0.45841199172949604, 0.36862236642234769], + [0.75483105066959544, 0.46318942799460555, 0.3714280448394211], + [0.75644341577140706, 0.46797501437948458, 0.37431909037543515], + [0.75802325538455839, 0.4727682731566229, 0.37729635531096678], + [0.75957111105340058, 0.47756871222057079, 0.380360657784311], + [0.7610876378057071, 0.48237579130289127, 0.38351275723852291], + [0.76257333554052609, 0.48718906673415824, 0.38675335037837993], + [0.76402885609288662, 0.49200802533379656, 0.39008308392311997], + [0.76545492593330511, 0.49683212909727231, 0.39350254000115381], + [0.76685228950643891, 0.5016608471009063, 0.39701221751773474], + [0.76822176599735303, 0.50649362371287909, 0.40061257089416885], + [0.7695642334401418, 0.5113298901696085, 0.40430398069682483], + [0.77088091962302474, 0.51616892643469103, 0.40808667584648967], + [0.77217257229605551, 0.5210102658711383, 0.41196089987122869], + [0.77344021829889886, 0.52585332093451564, 0.41592679539764366], + [0.77468494746063199, 0.53069749384776732, 0.41998440356963762], + [0.77590790730685699, 0.53554217882461186, 0.42413367909988375], + [0.7771103295521099, 0.54038674910561235, 0.42837450371258479], + [0.77829345807633121, 0.54523059488426595, 0.432706647838971], + [0.77945862731506643, 0.55007308413977274, 0.43712979856444761], + [0.78060774749483774, 0.55491335744890613, 0.44164332426364639], + [0.78174180478981836, 0.55975098052594863, 0.44624687186865436], + [0.78286225264440912, 0.56458533111166875, 0.45093985823706345], + [0.78397060836414478, 0.56941578326710418, 0.45572154742892063], + [0.78506845019606841, 0.5742417003617839, 0.46059116206904965], + [0.78615737132332963, 0.5790624629815756, 0.46554778281918402], + [0.78723904108188347, 0.58387743744557208, 0.47059039582133383], + [0.78831514045623963, 0.58868600173562435, 0.47571791879076081], + [0.78938737766251943, 0.5934875421745599, 0.48092913815357724], + [0.79045776847727878, 0.59828134277062461, 0.48622257801969754], + [0.79152832843475607, 0.60306670593147205, 0.49159667021646397], + [0.79260034304237448, 0.60784322087037024, 0.49705020621532009], + [0.79367559698664958, 0.61261029334072192, 0.50258161291269432], + [0.79475585972654039, 0.61736734400220705, 0.50818921213102985], + [0.79584292379583765, 0.62211378808451145, 0.51387124091909786], + [0.79693854719951607, 0.62684905679296699, 0.5196258425240281], + [0.79804447815136637, 0.63157258225089552, 0.52545108144834785], + [0.7991624518501963, 0.63628379372029187, 0.53134495942561433], + [0.80029415389753977, 0.64098213306749863, 0.53730535185141037], + [0.80144124292560048, 0.64566703459218766, 0.5433300863249918], + [0.80260531146112946, 0.65033793748103852, 0.54941691584603647], + [0.80378792531077625, 0.65499426549472628, 0.55556350867083815], + [0.80499054790810298, 0.65963545027564163, 0.56176745110546977], + [0.80621460526927058, 0.66426089585282289, 0.56802629178649788], + [0.8074614045096935, 0.6688700095398864, 0.57433746373459582], + [0.80873219170089694, 0.67346216702194517, 0.58069834805576737], + [0.81002809466520687, 0.67803672673971815, 0.58710626908082753], + [0.81135014011763329, 0.68259301546243389, 0.59355848909050757], + [0.81269922039881493, 0.68713033714618876, 0.60005214820435104], + [0.81407611046993344, 0.69164794791482131, 0.6065843782630862], + [0.81548146627279483, 0.69614505508308089, 0.61315221209322646], + [0.81691575775055891, 0.70062083014783982, 0.61975260637257923], + [0.81837931164498223, 0.70507438189635097, 0.62638245478933297], + [0.81987230650455289, 0.70950474978787481, 0.63303857040067113], + [0.8213947205565636, 0.7139109141951604, 0.63971766697672761], + [0.82294635110428427, 0.71829177331290062, 0.6464164243818421], + [0.8245268129450285, 0.72264614312088882, 0.65313137915422603], + [0.82613549710580259, 0.72697275518238258, 0.65985900156216504], + [0.8277716072353446, 0.73127023324078089, 0.66659570204682972], + [0.82943407816481474, 0.7355371221572935, 0.67333772009301907], + [0.83112163529096306, 0.73977184647638616, 0.68008125203631464], + [0.83283277185777982, 0.74397271817459876, 0.68682235874648545], + [0.8345656905566583, 0.7481379479992134, 0.69355697649863846], + [0.83631898844737929, 0.75226548952875261, 0.70027999028864962], + [0.83809123476131964, 0.75635314860808633, 0.70698561390212977], + [0.83987839884120874, 0.76039907199779677, 0.71367147811129228], + [0.84167750766845151, 0.76440101200982946, 0.72033299387284622], + [0.84348529222933699, 0.76835660399870176, 0.72696536998972039], + [0.84529810731955113, 0.77226338601044719, 0.73356368240541492], + [0.84711195507965098, 0.77611880236047159, 0.74012275762807056], + [0.84892245563117641, 0.77992021407650147, 0.74663719293664366], + [0.85072697023178789, 0.78366457342383888, 0.7530974636118285], + [0.85251907207708444, 0.78734936133548439, 0.7594994148789691], + [0.85429219611470464, 0.79097196777091994, 0.76583801477914104], + [0.85604022314725403, 0.79452963601550608, 0.77210610037674143], + [0.85775662943504905, 0.79801963142713928, 0.77829571667247499], + [0.8594346370300241, 0.8014392309950078, 0.78439788751383921], + [0.86107117027565516, 0.80478517909812231, 0.79039529663736285], + [0.86265601051127572, 0.80805523804261525, 0.796282666437655], + [0.86418343723941027, 0.81124644224653542, 0.80204612696863953], + [0.86564934325605325, 0.81435544067514909, 0.80766972324164554], + [0.86705314907048503, 0.81737804041911244, 0.81313419626911398], + [0.86839954695818633, 0.82030875512181523, 0.81841638963128993], + [0.86969131502613806, 0.82314158859569164, 0.82350476683173168], + [0.87093846717297507, 0.82586857889438514, 0.82838497261149613], + [0.87215331978454325, 0.82848052823709672, 0.8330486712880828], + [0.87335171360916275, 0.83096715251272624, 0.83748851001197089], + [0.87453793320260187, 0.83331972948645461, 0.84171925358069011], + [0.87571458709961403, 0.8355302318472394, 0.84575537519027078], + [0.87687848451614692, 0.83759238071186537, 0.84961373549150254], + [0.87802298436649007, 0.83950165618540074, 0.85330645352458923], + [0.87913244240792765, 0.84125554884475906, 0.85685572291039636], + [0.88019293315695812, 0.84285224824778615, 0.86027399927156634], + [0.88119169871341951, 0.84429066717717349, 0.86356595168669881], + [0.88211542489401606, 0.84557007254559347, 0.86673765046233331], + [0.88295168595448525, 0.84668970275699273, 0.86979617048190971], + [0.88369127145898041, 0.84764891761519268, 0.87274147101441557], + [0.88432713054113543, 0.84844741572055415, 0.87556785228242973], + [0.88485138159908572, 0.84908426422893801, 0.87828235285372469], + [0.88525897972630474, 0.84955892810989209, 0.88088414794024839], + [0.88554714811952384, 0.84987174283631584, 0.88336206121170946], + [0.88571155122845646, 0.85002186115856315, 0.88572538990087124]] _sunlight_data = (_twilight_data[len(_twilight_data)//2:] + _twilight_data[:len(_twilight_data)//2]) From 600127415121933a8b9b5a43603f38ff90eeeba0 Mon Sep 17 00:00:00 2001 From: Bastian Bechtold <basti@bastibe.de> Date: Wed, 9 May 2018 10:05:48 +0200 Subject: [PATCH 0650/1161] adds documentation and example plots --- tutorials/colors/colormaps.py | 38 +++++++++++++++++++++++++++++------ 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/tutorials/colors/colormaps.py b/tutorials/colors/colormaps.py index 6d3b58b6a8c6..936b10de0b3d 100644 --- a/tutorials/colors/colormaps.py +++ b/tutorials/colors/colormaps.py @@ -56,7 +56,12 @@ middle value, such as topography or when the data deviates around zero. -3. Qualitative: often are miscellaneous colors; should be used to +3. Wrapping: change in lightness of two different colors that meet in + the middle and beginning/end at an unsaturated color; should be + used for values that wrap around at the endpoints, such as phase + angle, wind direction, or time of day. + +4. Qualitative: often are miscellaneous colors; should be used to represent information which does not have ordering or relationships. """ @@ -124,6 +129,26 @@ 'PiYG', 'PRGn', 'BrBG', 'PuOr', 'RdGy', 'RdBu', 'RdYlBu', 'RdYlGn', 'Spectral', 'coolwarm', 'bwr', 'seismic'] +############################################################################### +# Wrapping +# -------- +# +# For Wrapping maps, we want to start and end on the same color, and meet a +# symmetric center point in the middle. :math:`L^*` should change monotonically +# from start to middle, and inversely from middle to end. It should be symmetric +# on the increasing and decreasing side, and only differ in hue. At the ends and +# middle, :math:`L^*` will reverse direction, which should be smoothed in +# :math:`L^*` space to reduce artifacts. See [kovesi-colormaps]_ for more +# information on the design of wrapping maps. +# +# The often-used HSV colormap is included in this set of colormaps, although it +# is not symmetric to a center point. Additionally, the :math:`L^*` values vary +# widely throughout the colormap, making it a poor choice for representing data +# for viewers to see perceptually. See an extension on this idea at +# [mycarta-jet]_. + +cmaps['Wrapping'] = ['twilight', 'sunlight', 'hsv'] + ############################################################################### # Qualitative # ----------- @@ -158,7 +183,7 @@ cmaps['Miscellaneous'] = [ 'flag', 'prism', 'ocean', 'gist_earth', 'terrain', 'gist_stern', - 'gnuplot', 'gnuplot2', 'CMRmap', 'cubehelix', 'brg', 'hsv', + 'gnuplot', 'gnuplot2', 'CMRmap', 'cubehelix', 'brg', 'gist_rainbow', 'rainbow', 'jet', 'nipy_spectral', 'gist_ncar'] ############################################################################### @@ -206,13 +231,13 @@ def plot_color_gradients(cmap_category, cmap_list, nrows): # Number of colormap per subplot for particular cmap categories _DSUBS = {'Perceptually Uniform Sequential': 5, 'Sequential': 6, - 'Sequential (2)': 6, 'Diverging': 6, 'Qualitative': 4, - 'Miscellaneous': 6} + 'Sequential (2)': 6, 'Diverging': 6, 'Wrapping': 3, + 'Qualitative': 4, 'Miscellaneous': 6} # Spacing between the colormaps of a subplot _DC = {'Perceptually Uniform Sequential': 1.4, 'Sequential': 0.7, - 'Sequential (2)': 1.4, 'Diverging': 1.4, 'Qualitative': 1.4, - 'Miscellaneous': 1.4} + 'Sequential (2)': 1.4, 'Diverging': 1.4, 'Wrapping': 1.4, + 'Qualitative': 1.4, 'Miscellaneous': 1.4} # Indices to step through colormap x = np.linspace(0.0, 1.0, 100) @@ -388,6 +413,7 @@ def plot_color_gradients(cmap_category, cmap_list): # .. [list-colormaps] https://gist.github.com/endolith/2719900#id7 # .. [mycarta-banding] https://mycarta.wordpress.com/2012/10/14/the-rainbow-is-deadlong-live-the-rainbow-part-4-cie-lab-heated-body/ # .. [mycarta-jet] https://mycarta.wordpress.com/2012/10/06/the-rainbow-is-deadlong-live-the-rainbow-part-3/ +# .. [kovesi-colormaps] https://arxiv.org/abs/1509.03700 # .. [bw] http://www.tannerhelland.com/3643/grayscale-image-algorithm-vb6/ # .. [colorblindness] http://www.color-blindness.com/ # .. [vischeck] http://www.vischeck.com/vischeck/ From 0dc4e4350355ac9be0b3e7f2283bb621682728fc Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Wed, 9 May 2018 01:28:34 -0700 Subject: [PATCH 0651/1161] Don't crash qt figure options on unknown marker styles. Currently, if a plot uses a "custom" marker style (e.g., a mathtext string, `plt.plot([1, 2], ls="none", marker="$1/2$")`, or a n-gon, `marker=(7, 0)`), trying to open the qt figure options editor will crash the process because of an unhandled KeyError in `prepare_data` (at `canonical_init = name2short[d[init]]`). Instead, create an entry on-the-fly for that custom style. --- lib/matplotlib/backends/qt_editor/figureoptions.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/matplotlib/backends/qt_editor/figureoptions.py b/lib/matplotlib/backends/qt_editor/figureoptions.py index 219d270b45cb..0269ef65ccd0 100644 --- a/lib/matplotlib/backends/qt_editor/figureoptions.py +++ b/lib/matplotlib/backends/qt_editor/figureoptions.py @@ -93,6 +93,8 @@ def prepare_data(d, init): FormLayout combobox, namely `[initial_name, (shorthand, style_name), (shorthand, style_name), ...]`. """ + if init not in d: + d = {**d, init: str(init)} # Drop duplicate shorthands from dict (by overwriting them during # the dict comprehension). name2short = {name: short for short, name in d.items()} From 1ac412c1f066fb46d1fa8d3c85470747adbdf218 Mon Sep 17 00:00:00 2001 From: Bastian Bechtold <basti@bastibe.de> Date: Wed, 9 May 2018 10:41:13 +0200 Subject: [PATCH 0652/1161] resolves merge conflict --- examples/color/colormap_reference.py | 67 ++++++++++++++++++++ examples/color/colormaps_reference.py | 88 --------------------------- 2 files changed, 67 insertions(+), 88 deletions(-) create mode 100644 examples/color/colormap_reference.py delete mode 100644 examples/color/colormaps_reference.py diff --git a/examples/color/colormap_reference.py b/examples/color/colormap_reference.py new file mode 100644 index 000000000000..5927a727c09d --- /dev/null +++ b/examples/color/colormap_reference.py @@ -0,0 +1,67 @@ +""" +================== +Colormap reference +================== + +Reference for colormaps included with Matplotlib. + +A reversed version of each of these colormaps is available by appending +``_r`` to the name, e.g., ``viridis_r``. + +See :doc:`/tutorials/colors/colormaps` for an in-depth discussion about +colormaps, including colorblind-friendliness. +""" + +import numpy as np +import matplotlib.pyplot as plt + + +cmaps = [('Perceptually Uniform Sequential', [ + 'viridis', 'plasma', 'inferno', 'magma', 'cividis']), + ('Sequential', [ + 'Greys', 'Purples', 'Blues', 'Greens', 'Oranges', 'Reds', + 'YlOrBr', 'YlOrRd', 'OrRd', 'PuRd', 'RdPu', 'BuPu', + 'GnBu', 'PuBu', 'YlGnBu', 'PuBuGn', 'BuGn', 'YlGn']), + ('Sequential (2)', [ + 'binary', 'gist_yarg', 'gist_gray', 'gray', 'bone', 'pink', + 'spring', 'summer', 'autumn', 'winter', 'cool', 'Wistia', + 'hot', 'afmhot', 'gist_heat', 'copper']), + ('Diverging', [ + 'PiYG', 'PRGn', 'BrBG', 'PuOr', 'RdGy', 'RdBu', + 'RdYlBu', 'RdYlGn', 'Spectral', 'coolwarm', 'bwr', 'seismic']), + ('Qualitative', [ + 'Pastel1', 'Pastel2', 'Paired', 'Accent', + 'Dark2', 'Set1', 'Set2', 'Set3', + 'tab10', 'tab20', 'tab20b', 'tab20c']), + ('Miscellaneous', [ + 'flag', 'prism', 'ocean', 'gist_earth', 'terrain', 'gist_stern', + 'gnuplot', 'gnuplot2', 'CMRmap', 'cubehelix', 'brg', 'hsv', + 'gist_rainbow', 'rainbow', 'jet', 'nipy_spectral', 'gist_ncar'])] + + +nrows = max(len(cmap_list) for cmap_category, cmap_list in cmaps) +gradient = np.linspace(0, 1, 256) +gradient = np.vstack((gradient, gradient)) + + +def plot_color_gradients(cmap_category, cmap_list, nrows): + fig, axes = plt.subplots(nrows=nrows) + fig.subplots_adjust(top=0.95, bottom=0.01, left=0.2, right=0.99) + axes[0].set_title(cmap_category + ' colormaps', fontsize=14) + + for ax, name in zip(axes, cmap_list): + ax.imshow(gradient, aspect='auto', cmap=plt.get_cmap(name)) + pos = list(ax.get_position().bounds) + x_text = pos[0] - 0.01 + y_text = pos[1] + pos[3]/2. + fig.text(x_text, y_text, name, va='center', ha='right', fontsize=10) + + # Turn off *all* ticks & spines, not just the ones with colormaps. + for ax in axes: + ax.set_axis_off() + + +for cmap_category, cmap_list in cmaps: + plot_color_gradients(cmap_category, cmap_list, nrows) + +plt.show() diff --git a/examples/color/colormaps_reference.py b/examples/color/colormaps_reference.py deleted file mode 100644 index fd9883998507..000000000000 --- a/examples/color/colormaps_reference.py +++ /dev/null @@ -1,88 +0,0 @@ -""" -Reference for colormaps included with Matplotlib. - -This reference example shows all colormaps included with Matplotlib. Note that -any colormap listed here can be reversed by appending "_r" (e.g., "pink_r"). -These colormaps are divided into the following categories: - -Sequential: - These colormaps are approximately monochromatic colormaps varying smoothly - between two color tones---usually from low saturation (e.g. white) to high - saturation (e.g. a bright blue). Sequential colormaps are ideal for - representing most scientific data since they show a clear progression from - low-to-high values. - -Diverging: - These colormaps have a median value (usually light in color) and vary - smoothly to two different color tones at high and low values. Diverging - colormaps are ideal when your data has a median value that is significant - (e.g. 0, such that positive and negative values are represented by - different colors of the colormap). - -Qualitative: - These colormaps vary rapidly in color. Qualitative colormaps are useful for - choosing a set of discrete colors. For example:: - - color_list = plt.cm.Set3(np.linspace(0, 1, 12)) - - gives a list of RGB colors that are good for plotting a series of lines on - a dark background. - -Miscellaneous: - Colormaps that don't fit into the categories above. - -""" -import numpy as np -import matplotlib.pyplot as plt - -# Have colormaps separated into categories: -# http://matplotlib.org/examples/color/colormaps_reference.html - -cmaps = [('Perceptually Uniform Sequential', - ['viridis', 'inferno', 'plasma', 'magma']), - ('Sequential', ['Blues', 'BuGn', 'BuPu', - 'GnBu', 'Greens', 'Greys', 'Oranges', 'OrRd', - 'PuBu', 'PuBuGn', 'PuRd', 'Purples', 'RdPu', - 'Reds', 'YlGn', 'YlGnBu', 'YlOrBr', 'YlOrRd']), - ('Sequential (2)', ['afmhot', 'autumn', 'bone', 'cool', - 'copper', 'gist_heat', 'gray', 'hot', - 'pink', 'spring', 'summer', 'winter']), - ('Diverging', ['BrBG', 'bwr', 'coolwarm', 'PiYG', 'PRGn', 'PuOr', - 'RdBu', 'RdGy', 'RdYlBu', 'RdYlGn', 'Spectral', - 'seismic']), - ('Qualitative', ['Accent', 'Dark2', 'Paired', 'Pastel1', - 'Pastel2', 'Set1', 'Set2', 'Set3', 'Vega10', - 'Vega20', 'Vega20b', 'Vega20c']), - ('Perceptually Uniform Cyclic', ['twilight', 'sunlight']), - ('Miscellaneous', ['gist_earth', 'terrain', 'ocean', 'gist_stern', - 'brg', 'CMRmap', 'cubehelix', - 'gnuplot', 'gnuplot2', 'gist_ncar', - 'nipy_spectral', 'jet', 'rainbow', - 'gist_rainbow', 'hsv', 'flag', 'prism'])] - - -nrows = max(len(cmap_list) for cmap_category, cmap_list in cmaps) -gradient = np.linspace(0, 1, 256) -gradient = np.vstack((gradient, gradient)) - - -def plot_color_gradients(cmap_category, cmap_list): - fig, axes = plt.subplots(nrows=nrows) - fig.subplots_adjust(top=0.95, bottom=0.01, left=0.2, right=0.99) - axes[0].set_title(cmap_category + ' colormaps', fontsize=14) - - for ax, name in zip(axes, cmap_list): - ax.imshow(gradient, aspect='auto', cmap=plt.get_cmap(name)) - pos = list(ax.get_position().bounds) - x_text = pos[0] - 0.01 - y_text = pos[1] + pos[3]/2. - fig.text(x_text, y_text, name, va='center', ha='right', fontsize=10) - - # Turn off *all* ticks & spines, not just the ones with colormaps. - for ax in axes: - ax.set_axis_off() - -for cmap_category, cmap_list in cmaps: - plot_color_gradients(cmap_category, cmap_list) - -plt.show() From 3f634b8b0bc031b7d889e35d888e972b4cbe04ff Mon Sep 17 00:00:00 2001 From: Bastian Bechtold <basti@bastibe.de> Date: Wed, 9 May 2018 10:51:47 +0200 Subject: [PATCH 0653/1161] updates colormap_reference --- examples/color/colormap_reference.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/examples/color/colormap_reference.py b/examples/color/colormap_reference.py index 5927a727c09d..f1de06e4b1be 100644 --- a/examples/color/colormap_reference.py +++ b/examples/color/colormap_reference.py @@ -29,13 +29,14 @@ ('Diverging', [ 'PiYG', 'PRGn', 'BrBG', 'PuOr', 'RdGy', 'RdBu', 'RdYlBu', 'RdYlGn', 'Spectral', 'coolwarm', 'bwr', 'seismic']), + ('Wrapping', ['twilight', 'sunlight', 'hsv']), ('Qualitative', [ 'Pastel1', 'Pastel2', 'Paired', 'Accent', 'Dark2', 'Set1', 'Set2', 'Set3', 'tab10', 'tab20', 'tab20b', 'tab20c']), ('Miscellaneous', [ 'flag', 'prism', 'ocean', 'gist_earth', 'terrain', 'gist_stern', - 'gnuplot', 'gnuplot2', 'CMRmap', 'cubehelix', 'brg', 'hsv', + 'gnuplot', 'gnuplot2', 'CMRmap', 'cubehelix', 'brg', 'gist_rainbow', 'rainbow', 'jet', 'nipy_spectral', 'gist_ncar'])] From e13a924c047b5748983ce078dd699e051b00295c Mon Sep 17 00:00:00 2001 From: Bastian Bechtold <basti@bastibe.de> Date: Wed, 9 May 2018 11:10:53 +0200 Subject: [PATCH 0654/1161] bugfix for broken syntax --- lib/matplotlib/pyplot.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index 86aa05dabb28..9b1739bf6177 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -1810,9 +1810,9 @@ def colormaps(): A set of cyclic color maps: - ========== ======================================================== + ========== ========================================================= Colormap Description - ========== ======================================================== + ========== ========================================================= hsv red-yellow-green-cyan-blue-magenta-red, formed by changing the hue component in the HSV color space twilight perceptually uniform shades of white-blue-black-red-white From bb3acabc5381ed8c807d4c3105edf761c2ecf2e0 Mon Sep 17 00:00:00 2001 From: Bastian Bechtold <basti@bastibe.de> Date: Wed, 9 May 2018 11:23:38 +0200 Subject: [PATCH 0655/1161] adds colormap labels on colormaps tutorial --- tutorials/colors/colormaps.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/colors/colormaps.py b/tutorials/colors/colormaps.py index 936b10de0b3d..999986e96d0d 100644 --- a/tutorials/colors/colormaps.py +++ b/tutorials/colors/colormaps.py @@ -286,7 +286,7 @@ def plot_color_gradients(cmap_category, cmap_list, nrows): if cmap_category in ('Perceptually Uniform Sequential', 'Sequential'): locs.append(x[-1] + j*dc) - elif cmap_category in ('Diverging', 'Qualitative', + elif cmap_category in ('Diverging', 'Qualitative', 'Wrapping', 'Miscellaneous', 'Sequential (2)'): locs.append(x[int(x.size/2.)] + j*dc) From a5fbf18d55860eee09207fa5c77fa7f411073726 Mon Sep 17 00:00:00 2001 From: Bastian Bechtold <basti@bastibe.de> Date: Wed, 9 May 2018 11:36:52 +0200 Subject: [PATCH 0656/1161] adds what's new entry --- doc/users/next_whats_new/wrapping_colormaps.rst | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 doc/users/next_whats_new/wrapping_colormaps.rst diff --git a/doc/users/next_whats_new/wrapping_colormaps.rst b/doc/users/next_whats_new/wrapping_colormaps.rst new file mode 100644 index 000000000000..ccc6947a1c24 --- /dev/null +++ b/doc/users/next_whats_new/wrapping_colormaps.rst @@ -0,0 +1,9 @@ +Wrapping colormaps +------------------ + +Two new colormaps named 'twilight' and 'sunlight' were added. These +colormaps start and end on the same color, and have two symmetric +halves with equal lightness, but diverging color. Since they wrap +around, they are a good choice for cyclic data such as phase angles, +compass directions, or time of day. Like viridis, twilight and +sunlight are perceptually uniform and colorblind friendly. From fdaa72e1e48adcc4fed284b9fb720265626af3f3 Mon Sep 17 00:00:00 2001 From: ImportanceOfBeingErnest <elch.rz@ruetz-online.de> Date: Tue, 8 May 2018 22:06:46 +0200 Subject: [PATCH 0657/1161] example references for shapes&collections --- examples/color/color_by_yvalue.py | 14 ++++ examples/color/color_cycle_default.py | 21 ++++- examples/color/color_cycler.py | 20 ++++- examples/color/color_demo.py | 79 ++++++++++++++----- examples/color/colorbar_basics.py | 21 ++++- examples/color/colormap_reference.py | 16 ++++ examples/color/named_colors.py | 25 ++++++ examples/pie_and_polar_charts/nested_pie.py | 19 +++++ .../pie_and_donut_labels.py | 17 ++++ examples/pie_and_polar_charts/pie_demo2.py | 16 +++- examples/pie_and_polar_charts/pie_features.py | 14 ++++ examples/pie_and_polar_charts/polar_bar.py | 15 ++++ examples/pie_and_polar_charts/polar_demo.py | 18 +++++ examples/pie_and_polar_charts/polar_legend.py | 16 ++++ .../pie_and_polar_charts/polar_scatter.py | 19 +++++ .../artist_reference.py | 35 +++++++- .../shapes_and_collections/collections.py | 23 +++++- .../shapes_and_collections/compound_path.py | 22 +++++- examples/shapes_and_collections/dolphin.py | 25 +++++- examples/shapes_and_collections/donut.py | 26 +++++- .../ellipse_collection.py | 20 +++++ .../shapes_and_collections/ellipse_demo.py | 50 ++++++++++++ .../shapes_and_collections/ellipse_rotated.py | 26 ------ .../shapes_and_collections/fancybox_demo.py | 17 ++++ examples/shapes_and_collections/hatch_demo.py | 19 +++++ .../shapes_and_collections/line_collection.py | 21 ++++- .../shapes_and_collections/marker_path.py | 19 +++++ examples/shapes_and_collections/path_patch.py | 19 ++++- 28 files changed, 589 insertions(+), 63 deletions(-) delete mode 100644 examples/shapes_and_collections/ellipse_rotated.py diff --git a/examples/color/color_by_yvalue.py b/examples/color/color_by_yvalue.py index 26ffbd95091d..4c9e61a8326f 100644 --- a/examples/color/color_by_yvalue.py +++ b/examples/color/color_by_yvalue.py @@ -22,3 +22,17 @@ fig, ax = plt.subplots() ax.plot(t, smiddle, t, slower, t, supper) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.plot +matplotlib.pyplot.plot diff --git a/examples/color/color_cycle_default.py b/examples/color/color_cycle_default.py index ae887b15c2ab..d4f70a0d90df 100644 --- a/examples/color/color_cycle_default.py +++ b/examples/color/color_cycle_default.py @@ -3,7 +3,8 @@ Colors in the default property cycle ==================================== -Display the colors from the default prop_cycle. +Display the colors from the default prop_cycle, which is obtained from the +:ref:`rc parameters<sphx_glr_tutorials_introductory_customizing.py>`. """ import numpy as np import matplotlib.pyplot as plt @@ -38,3 +39,21 @@ fig.suptitle('Colors in the default prop_cycle', fontsize='large') plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.axhline +matplotlib.axes.Axes.axvline +matplotlib.pyplot.axhline +matplotlib.pyplot.axvline +matplotlib.axes.Axes.set_facecolor +matplotlib.figure.Figure.suptitle diff --git a/examples/color/color_cycler.py b/examples/color/color_cycler.py index b1f64c794b95..bab0cb163559 100644 --- a/examples/color/color_cycler.py +++ b/examples/color/color_cycler.py @@ -8,8 +8,10 @@ This example demonstrates two different APIs: - 1. Setting the default rc parameter specifying the property cycle. - This affects all subsequent axes (but not axes already created). + 1. Setting the default + :ref:`rc parameter<sphx_glr_tutorials_introductory_customizing.py>` + specifying the property cycle. This affects all subsequent axes + (but not axes already created). 2. Setting the property cycle for a single pair of axes. """ from cycler import cycler @@ -43,3 +45,17 @@ # Tweak spacing between subplots to prevent labels from overlapping fig.subplots_adjust(hspace=0.3) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.plot +matplotlib.axes.Axes.set_prop_cycle diff --git a/examples/color/color_demo.py b/examples/color/color_demo.py index 684e4a8ddd8c..9740744f3cfe 100644 --- a/examples/color/color_demo.py +++ b/examples/color/color_demo.py @@ -3,32 +3,75 @@ Color Demo ========== -matplotlib gives you 5 ways to specify colors, +Matplotlib gives you 8 ways to specify colors, - 1) as a single letter string, ala MATLAB +1) an RGB or RGBA tuple of float values in ``[0, 1]`` (e.g. ``(0.1, 0.2, 0.5)`` + or ``(0.1, 0.2, 0.5, 0.3)``). RGBA is short for Red, Green, Blue, Alpha; +2) a hex RGB or RGBA string (e.g., ``'#0F0F0F'`` or ``'#0F0F0F0F'``); +3) a string representation of a float value in ``[0, 1]`` inclusive for gray + level (e.g., ``'0.5'``); +4) a single letter string, i.e. one of + ``{'b', 'g', 'r', 'c', 'm', 'y', 'k', 'w'}``; +5) a X11/CSS4 ("html") color name, e.g. ``"blue"``; +6) a name from the `xkcd color survey <https://xkcd.com/color/rgb/>`__, + prefixed with ``'xkcd:'`` (e.g., ``'xkcd:sky blue'``); +7) a "Cn" color spec, i.e. `'C'` followed by a single digit, which is an index + into the default property cycle + (``matplotlib.rcParams['axes.prop_cycle']``); the indexing occurs at artist + creation time and defaults to black if the cycle does not include color. +8) one of ``{'tab:blue', 'tab:orange', 'tab:green', + 'tab:red', 'tab:purple', 'tab:brown', 'tab:pink', + 'tab:gray', 'tab:olive', 'tab:cyan'}`` which are the Tableau Colors from the + 'tab10' categorical palette (which is the default color cycle); - 2) as an html style hex string or html color name +For more information on colors in matplotlib see - 3) as an R,G,B tuple, where R,G,B, range from 0-1 - - 4) as a string representing a floating point number - from 0 to 1, corresponding to shades of gray. - - 5) as a special color "Cn", where n is a number 0-9 specifying the - nth color in the currently active color cycle. - -See help(colors) for more info. +* the :ref:`sphx_glr_tutorials_colors_colors.py` tutorial; +* the `matplotlib.colors` API; +* the :ref:`sphx_glr_gallery_color_named_colors.py` example. """ + import matplotlib.pyplot as plt import numpy as np -t = np.arange(0.0, 2.0, 0.01) +t = np.linspace(0.0, 2.0, 201) s = np.sin(2 * np.pi * t) -fig, ax = plt.subplots(facecolor='darkslategray') -ax.plot(t, s, 'C1') -ax.set_xlabel('time (s)', color='C1') -ax.set_ylabel('voltage (mV)', color='0.5') # grayscale color -ax.set_title('About as silly as it gets, folks', color='#afeeee') +# 1) RGB tuple: +fig, ax = plt.subplots(facecolor=(.18, .31, .31)) +# 2) hex string: +ax.set_facecolor('#eafff5') +# 3) gray level string: +ax.set_title('Voltage vs. time chart', color='0.7') +# 4) single letter color string +ax.set_xlabel('time (s)', color='c') +# 5) a named color: +ax.set_ylabel('voltage (mV)', color='peachpuff') +# 6) a named xkcd color: +ax.plot(t, s, 'xkcd:crimson') +# 7) Cn notation: +ax.plot(t, .7*s, color='C4', linestyle='--') +# 8) tab notation: +ax.tick_params(labelcolor='tab:orange') + plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.colors +matplotlib.axes.Axes.plot +matplotlib.axes.Axes.set_facecolor +matplotlib.axes.Axes.set_title +matplotlib.axes.Axes.set_xlabel +matplotlib.axes.Axes.set_ylabel +matplotlib.axes.Axes.tick_params diff --git a/examples/color/colorbar_basics.py b/examples/color/colorbar_basics.py index a3c4b8e1e420..6ba4d00477b6 100644 --- a/examples/color/colorbar_basics.py +++ b/examples/color/colorbar_basics.py @@ -3,8 +3,9 @@ Colorbar ======== -Use colorbar by specifying the mappable object (here -the imshow returned object) and the axes to attach the colorbar to. +Use `~.figure.Figure.colorbar` by specifying the mappable object (here +the `~.matplotlib.image.AxesImage` returned by `~.axes.Axes.imshow`) +and the axes to attach the colorbar to. """ import numpy as np @@ -35,3 +36,19 @@ fig.colorbar(neg, ax=ax2) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.imshow +matplotlib.pyplot.imshow +matplotlib.figure.Figure.colorbar +matplotlib.pyplot.colorbar diff --git a/examples/color/colormap_reference.py b/examples/color/colormap_reference.py index 5927a727c09d..8e4d3d14f7ee 100644 --- a/examples/color/colormap_reference.py +++ b/examples/color/colormap_reference.py @@ -65,3 +65,19 @@ def plot_color_gradients(cmap_category, cmap_list, nrows): plot_color_gradients(cmap_category, cmap_list, nrows) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.colors +matplotlib.axes.Axes.imshow +matplotlib.figure.Figure.text +matplotlib.axes.Axes.set_axis_off diff --git a/examples/color/named_colors.py b/examples/color/named_colors.py index 7bae6bd9ed59..ea9b08c61318 100644 --- a/examples/color/named_colors.py +++ b/examples/color/named_colors.py @@ -4,6 +4,12 @@ ======================== Simple plot example with the named colors and its visual representation. + +For more information on colors in matplotlib see + +* the :ref:`sphx_glr_tutorials_colors_colors.py` tutorial; +* the `matplotlib.colors` API; +* the :ref:`sphx_glr_gallery_color_color_demo.py`. """ import matplotlib.pyplot as plt @@ -52,3 +58,22 @@ top=1, bottom=0, hspace=0, wspace=0) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.colors +matplotlib.colors.rgb_to_hsv +matplotlib.colors.to_rgba +matplotlib.figure.Figure.get_size_inches +matplotlib.figure.Figure.subplots_adjust +matplotlib.axes.Axes.text +matplotlib.axes.Axes.hlines diff --git a/examples/pie_and_polar_charts/nested_pie.py b/examples/pie_and_polar_charts/nested_pie.py index d1a3855b9601..ce2be648f1cb 100644 --- a/examples/pie_and_polar_charts/nested_pie.py +++ b/examples/pie_and_polar_charts/nested_pie.py @@ -76,3 +76,22 @@ ax.set(title="Pie plot with `ax.bar` and polar coordinates") ax.set_axis_off() plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.pie +matplotlib.pyplot.pie +matplotlib.axes.Axes.bar +matplotlib.pyplot.bar +matplotlib.projections.polar +matplotlib.axes.Axes.set +matplotlib.axes.Axes.set_axis_off diff --git a/examples/pie_and_polar_charts/pie_and_donut_labels.py b/examples/pie_and_polar_charts/pie_and_donut_labels.py index 7e6e606e8cb2..49e75606cd2c 100644 --- a/examples/pie_and_polar_charts/pie_and_donut_labels.py +++ b/examples/pie_and_polar_charts/pie_and_donut_labels.py @@ -123,3 +123,20 @@ def func(pct, allvals): # And here it is, the donut. Note however, that if we were to use this recipe, # the ingredients would suffice for around 6 donuts - producing one huge # donut is untested and might result in kitchen errors. + + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.pie +matplotlib.pyplot.pie +matplotlib.axes.Axes.legend +matplotlib.pyplot.legend diff --git a/examples/pie_and_polar_charts/pie_demo2.py b/examples/pie_and_polar_charts/pie_demo2.py index 6487e20b3d6d..fc173eda78e3 100644 --- a/examples/pie_and_polar_charts/pie_demo2.py +++ b/examples/pie_and_polar_charts/pie_demo2.py @@ -3,7 +3,7 @@ Pie Demo2 ========= -Make a pie charts using :meth:`.Axes.pie`. +Make a pie charts using :meth:`~.axes.Axes.pie`. This example demonstrates some pie chart features like labels, varying size, autolabeling the percentage, offsetting a slice and adding a shadow. @@ -44,3 +44,17 @@ autotexts[0].set_color('white') plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.pie +matplotlib.pyplot.pie diff --git a/examples/pie_and_polar_charts/pie_features.py b/examples/pie_and_polar_charts/pie_features.py index 65b85b02320a..d52f3a699aee 100644 --- a/examples/pie_and_polar_charts/pie_features.py +++ b/examples/pie_and_polar_charts/pie_features.py @@ -33,3 +33,17 @@ ax1.axis('equal') # Equal aspect ratio ensures that pie is drawn as a circle. plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.pie +matplotlib.pyplot.pie diff --git a/examples/pie_and_polar_charts/polar_bar.py b/examples/pie_and_polar_charts/polar_bar.py index 38a557ab4553..58fd07fad682 100644 --- a/examples/pie_and_polar_charts/polar_bar.py +++ b/examples/pie_and_polar_charts/polar_bar.py @@ -27,3 +27,18 @@ bar.set_alpha(0.5) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.bar +matplotlib.pyplot.bar +matplotlib.projections.polar diff --git a/examples/pie_and_polar_charts/polar_demo.py b/examples/pie_and_polar_charts/polar_demo.py index eb89d19c92cb..1ba897a9fa48 100644 --- a/examples/pie_and_polar_charts/polar_demo.py +++ b/examples/pie_and_polar_charts/polar_demo.py @@ -21,3 +21,21 @@ ax.set_title("A line plot on a polar axis", va='bottom') plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.plot +matplotlib.projections.polar +matplotlib.projections.polar.PolarAxes +matplotlib.projections.polar.PolarAxes.set_rticks +matplotlib.projections.polar.PolarAxes.set_rmax +matplotlib.projections.polar.PolarAxes.set_rlabel_position diff --git a/examples/pie_and_polar_charts/polar_legend.py b/examples/pie_and_polar_charts/polar_legend.py index 4fe6b201090f..f7f58a9be17d 100644 --- a/examples/pie_and_polar_charts/polar_legend.py +++ b/examples/pie_and_polar_charts/polar_legend.py @@ -26,3 +26,19 @@ ax.legend() plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.plot +matplotlib.axes.Axes.legend +matplotlib.projections.polar +matplotlib.projections.polar.PolarAxes diff --git a/examples/pie_and_polar_charts/polar_scatter.py b/examples/pie_and_polar_charts/polar_scatter.py index f3ce26b7eb9e..350369ed3557 100644 --- a/examples/pie_and_polar_charts/polar_scatter.py +++ b/examples/pie_and_polar_charts/polar_scatter.py @@ -54,3 +54,22 @@ ax.set_thetamax(135) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.scatter +matplotlib.pyplot.scatter +matplotlib.projections.polar +matplotlib.projections.polar.PolarAxes.set_rorigin +matplotlib.projections.polar.PolarAxes.set_theta_zero_location +matplotlib.projections.polar.PolarAxes.set_thetamin +matplotlib.projections.polar.PolarAxes.set_thetamax diff --git a/examples/shapes_and_collections/artist_reference.py b/examples/shapes_and_collections/artist_reference.py index 42e0c50ed7d3..d3fb7c01cec0 100644 --- a/examples/shapes_and_collections/artist_reference.py +++ b/examples/shapes_and_collections/artist_reference.py @@ -5,7 +5,7 @@ This example displays several of matplotlib's graphics primitives (artists) drawn using matplotlib API. A full list of artists and the documentation is -available at http://matplotlib.org/api/artist_api.html. +available at :ref:`the artist API <artist-api>`. Copyright (c) 2010, Bartosz Telenczuk BSD License @@ -18,9 +18,6 @@ from matplotlib.collections import PatchCollection -plt.rcdefaults() - - def label(xy, text): y = xy[1] - 0.15 # shift y-value for label so that it's below the artist plt.text(xy[0], y, text, ha="center", family='sans-serif', size=14) @@ -104,3 +101,33 @@ def label(xy, text): plt.tight_layout() plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.path +matplotlib.path.Path +matplotlib.lines +matplotlib.lines.Line2D +matplotlib.patches +matplotlib.patches.Circle +matplotlib.patches.Ellipse +matplotlib.patches.Wedge +matplotlib.patches.Rectangle +matplotlib.patches.Arrow +matplotlib.patches.PathPatch +matplotlib.patches.FancyBboxPatch +matplotlib.patches.RegularPolygon +matplotlib.collections +matplotlib.collections.PatchCollection +matplotlib.cm.ScalarMappable.set_array +matplotlib.axes.Axes.add_collection +matplotlib.axes.Axes.add_line diff --git a/examples/shapes_and_collections/collections.py b/examples/shapes_and_collections/collections.py index b12b6f853c7a..853d95ff35f3 100644 --- a/examples/shapes_and_collections/collections.py +++ b/examples/shapes_and_collections/collections.py @@ -6,7 +6,8 @@ For the first two subplots, we will use spirals. Their size will be set in plot units, not data units. Their positions will be set in data units by using the "offsets" and "transOffset" -kwargs of the LineCollection and PolyCollection. +kwargs of the `~.collections.LineCollection` and +`~.collections.PolyCollection`. The third subplot will make regular polygons, with the same type of scaling and positioning as in the first two. @@ -125,3 +126,23 @@ plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.figure.Figure +matplotlib.collections +matplotlib.collections.LineCollection +matplotlib.collections.RegularPolyCollection +matplotlib.axes.Axes.add_collection +matplotlib.axes.Axes.autoscale_view +matplotlib.transforms.Affine2D +matplotlib.transforms.Affine2D.scale diff --git a/examples/shapes_and_collections/compound_path.py b/examples/shapes_and_collections/compound_path.py index 25dc23da6ad6..5667f494001d 100644 --- a/examples/shapes_and_collections/compound_path.py +++ b/examples/shapes_and_collections/compound_path.py @@ -4,7 +4,7 @@ ============= Make a compound path -- in this case two simple polygons, a rectangle -and a triangle. Use CLOSEPOLY and MOVETO for the different parts of +and a triangle. Use ``CLOSEPOLY`` and ``MOVETO`` for the different parts of the compound path """ import numpy as np @@ -31,8 +31,24 @@ ax.add_patch(pathpatch) ax.set_title('A compound path') -ax.dataLim.update_from_data_xy(vertices) ax.autoscale_view() - plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.path +matplotlib.path.Path +matplotlib.patches +matplotlib.patches.PathPatch +matplotlib.axes.Axes.add_patch +matplotlib.axes.Axes.autoscale_view diff --git a/examples/shapes_and_collections/dolphin.py b/examples/shapes_and_collections/dolphin.py index d50b5f61726c..90d48469f426 100644 --- a/examples/shapes_and_collections/dolphin.py +++ b/examples/shapes_and_collections/dolphin.py @@ -4,8 +4,8 @@ ======== This example shows how to draw, and manipulate shapes given vertices -and nodes using the `Patches`, `Path` and `Transforms` classes. - +and nodes using the `~.path.Path`, `~.patches.PathPatch` and +`~matplotlib.transforms` classes. """ import matplotlib.cm as cm @@ -101,3 +101,24 @@ ax.add_patch(dolphin_patch2) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.path +matplotlib.path.Path +matplotlib.patches +matplotlib.patches.PathPatch +matplotlib.patches.Circle +matplotlib.axes.Axes.add_patch +matplotlib.transforms +matplotlib.transforms.Affine2D +matplotlib.transforms.Affine2D.rotate_deg diff --git a/examples/shapes_and_collections/donut.py b/examples/shapes_and_collections/donut.py index fca5ff6a91fb..794cd342b039 100644 --- a/examples/shapes_and_collections/donut.py +++ b/examples/shapes_and_collections/donut.py @@ -3,7 +3,8 @@ Mmh Donuts!!! ============= -Draw donuts (miam!) using Path and Patches. +Draw donuts (miam!) using `~.path.Path`\s and `~.patches.PathPatch`\es. +This example shows the effect of the path's orientations in a compound path. """ import numpy as np @@ -60,3 +61,26 @@ def make_circle(r): ax.set_title('Mmm, donuts!') ax.set_aspect(1.0) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.path +matplotlib.path.Path +matplotlib.patches +matplotlib.patches.PathPatch +matplotlib.patches.Circle +matplotlib.axes.Axes.add_patch +matplotlib.axes.Axes.annotate +matplotlib.axes.Axes.set_aspect +matplotlib.axes.Axes.set_xlim +matplotlib.axes.Axes.set_ylim +matplotlib.axes.Axes.set_title diff --git a/examples/shapes_and_collections/ellipse_collection.py b/examples/shapes_and_collections/ellipse_collection.py index 952c988aaf48..9b7a71f55643 100644 --- a/examples/shapes_and_collections/ellipse_collection.py +++ b/examples/shapes_and_collections/ellipse_collection.py @@ -3,6 +3,9 @@ Ellipse Collection ================== +Drawing a collection of ellipses. While this would equally be possible using +a `~.collections.EllipseCollection` or `~.collections.PathCollection`, the use +of an `~.collections.EllipseCollection` allows for much shorter code. """ import matplotlib.pyplot as plt import numpy as np @@ -31,3 +34,20 @@ cbar = plt.colorbar(ec) cbar.set_label('X+Y') plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.collections +matplotlib.collections.EllipseCollection +matplotlib.axes.Axes.add_collection +matplotlib.axes.Axes.autoscale_view +matplotlib.cm.ScalarMappable.set_array diff --git a/examples/shapes_and_collections/ellipse_demo.py b/examples/shapes_and_collections/ellipse_demo.py index 3fd33d9afdf0..21fbe7d9c0e5 100644 --- a/examples/shapes_and_collections/ellipse_demo.py +++ b/examples/shapes_and_collections/ellipse_demo.py @@ -3,6 +3,9 @@ Ellipse Demo ============ +Draw many ellipses. Here individual ellipses are drawn. Compare this +to the :ref:`Ellipse collection example +<sphx_glr_gallery_shapes_and_collections_ellipse_collection.py>`. """ import matplotlib.pyplot as plt import numpy as np @@ -26,3 +29,50 @@ ax.set_ylim(0, 10) plt.show() + +############################################################################# +# =============== +# Ellipse Rotated +# =============== +# +# Draw many ellipses with different angles. +# + +import matplotlib.pyplot as plt +import numpy as np +from matplotlib.patches import Ellipse + +delta = 45.0 # degrees + +angles = np.arange(0, 360 + delta, delta) +ells = [Ellipse((1, 1), 4, 2, a) for a in angles] + +a = plt.subplot(111, aspect='equal') + +for e in ells: + e.set_clip_box(a.bbox) + e.set_alpha(0.1) + a.add_artist(e) + +plt.xlim(-2, 4) +plt.ylim(-1, 3) + +plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.patches +matplotlib.patches.Ellipse +matplotlib.axes.Axes.add_artist +matplotlib.artist.Artist.set_clip_box +matplotlib.artist.Artist.set_alpha +matplotlib.patches.Patch.set_facecolor diff --git a/examples/shapes_and_collections/ellipse_rotated.py b/examples/shapes_and_collections/ellipse_rotated.py deleted file mode 100644 index 3bf7e8f57c86..000000000000 --- a/examples/shapes_and_collections/ellipse_rotated.py +++ /dev/null @@ -1,26 +0,0 @@ -""" -=============== -Ellipse Rotated -=============== - -""" -import matplotlib.pyplot as plt -import numpy as np -from matplotlib.patches import Ellipse - -delta = 45.0 # degrees - -angles = np.arange(0, 360 + delta, delta) -ells = [Ellipse((1, 1), 4, 2, a) for a in angles] - -a = plt.subplot(111, aspect='equal') - -for e in ells: - e.set_clip_box(a.bbox) - e.set_alpha(0.1) - a.add_artist(e) - -plt.xlim(-2, 4) -plt.ylim(-1, 3) - -plt.show() diff --git a/examples/shapes_and_collections/fancybox_demo.py b/examples/shapes_and_collections/fancybox_demo.py index e1dc1eb451e0..60415ef8db58 100644 --- a/examples/shapes_and_collections/fancybox_demo.py +++ b/examples/shapes_and_collections/fancybox_demo.py @@ -194,3 +194,20 @@ def test_all(): test_all() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.patches +matplotlib.patches.FancyBboxPatch +matplotlib.patches.BoxStyle +matplotlib.patches.BoxStyle.get_styles +matplotlib.transforms.Bbox diff --git a/examples/shapes_and_collections/hatch_demo.py b/examples/shapes_and_collections/hatch_demo.py index 4379d13839a7..66ea648f60d7 100644 --- a/examples/shapes_and_collections/hatch_demo.py +++ b/examples/shapes_and_collections/hatch_demo.py @@ -33,3 +33,22 @@ ax3.set_ylim((0, 2.5)) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.patches +matplotlib.patches.Ellipse +matplotlib.patches.Polygon +matplotlib.axes.Axes.add_patch +matplotlib.patches.Patch.set_hatch +matplotlib.axes.Axes.bar +matplotlib.pyplot.bar diff --git a/examples/shapes_and_collections/line_collection.py b/examples/shapes_and_collections/line_collection.py index f9a06eb7d33c..343c4a124ac5 100644 --- a/examples/shapes_and_collections/line_collection.py +++ b/examples/shapes_and_collections/line_collection.py @@ -5,7 +5,7 @@ Plotting lines with Matplotlib. -:class:`matplotlib.collections.LineCollection` allows one to plot multiple +:class:`~matplotlib.collections.LineCollection` allows one to plot multiple lines on a figure. Below we show off some of its properties. """ import matplotlib.pyplot as plt @@ -82,3 +82,22 @@ ax.set_title('Line Collection with mapped colors') plt.sci(line_segments) # This allows interactive changing of the colormap. plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.collections +matplotlib.collections.LineCollection +matplotlib.cm.ScalarMappable.set_array +matplotlib.axes.Axes.add_collection +matplotlib.figure.Figure.colorbar +matplotlib.pyplot.colorbar +matplotlib.pyplot.sci diff --git a/examples/shapes_and_collections/marker_path.py b/examples/shapes_and_collections/marker_path.py index 12eec947b3a5..7d43df365b32 100644 --- a/examples/shapes_and_collections/marker_path.py +++ b/examples/shapes_and_collections/marker_path.py @@ -3,6 +3,7 @@ Marker Path =========== +Using a `~.path.Path` as marker for a `~.axes.Axes.plot`. """ import matplotlib.pyplot as plt import matplotlib.path as mpath @@ -20,3 +21,21 @@ plt.plot(np.arange(10)**2, '--r', marker=cut_star, markersize=15) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.path +matplotlib.path.Path +matplotlib.path.Path.unit_regular_star +matplotlib.path.Path.unit_circle +matplotlib.axes.Axes.plot +matplotlib.pyplot.plot diff --git a/examples/shapes_and_collections/path_patch.py b/examples/shapes_and_collections/path_patch.py index dc07c2a5b004..16b1dceea70e 100644 --- a/examples/shapes_and_collections/path_patch.py +++ b/examples/shapes_and_collections/path_patch.py @@ -3,7 +3,7 @@ PathPatch object ================ -This example shows how to create `Path`\s and `PathPatch` objects through +This example shows how to create `~.path.Path` and `~.patches.PathPatch` objects through Matplotlib's API. """ import matplotlib.path as mpath @@ -37,3 +37,20 @@ ax.grid() ax.axis('equal') plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.path +matplotlib.path.Path +matplotlib.patches +matplotlib.patches.PathPatch +matplotlib.axes.Axes.add_patch From 9228c0ff70184c6bdda22a92131441f18a067263 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Wed, 9 May 2018 09:45:49 -0700 Subject: [PATCH 0658/1161] FIX: don't pad axes for ticks if they aren't visible and axis off --- lib/matplotlib/axes/_base.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index e50e129ecb3e..319479a9af8c 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -583,8 +583,12 @@ def get_window_extent(self, *args, **kwargs): *kwargs* are empty """ bbox = self.bbox - x_pad = self.xaxis.get_tick_padding() - y_pad = self.yaxis.get_tick_padding() + x_pad = 0 + if self.axison and self.xaxis.get_visible(): + x_pad = self.xaxis.get_tick_padding() + y_pad = 0 + if self.axison and self.yaxis.get_visible(): + y_pad = self.yaxis.get_tick_padding() return mtransforms.Bbox([[bbox.x0 - x_pad, bbox.y0 - y_pad], [bbox.x1 + x_pad, bbox.y1 + y_pad]]) @@ -4145,7 +4149,6 @@ def get_tightbbox(self, renderer, call_axes_locator=True): bb.append(bb_xaxis) self._update_title_position(renderer) - bb.append(self.get_window_extent(renderer)) if self.title.get_visible(): From 00341604c0e9b48473a7e7ef3492813b4b713a7f Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Wed, 9 May 2018 18:58:02 +0200 Subject: [PATCH 0659/1161] Revert explicit linestyle kwarg on step() --- lib/matplotlib/axes/_axes.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index c20073adc801..d6e4f50a2d7e 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -1733,7 +1733,7 @@ def xcorr(self, x, y, normed=True, detrend=mlab.detrend_none, #### Specialized plotting @_preprocess_data(replace_names=["x", "y"], label_namer="y") - def step(self, x, y, *args, where='pre', linestyle='', **kwargs): + def step(self, x, y, *args, where='pre', **kwargs): """ Make a step plot. @@ -1797,7 +1797,7 @@ def step(self, x, y, *args, where='pre', linestyle='', **kwargs): if where not in ('pre', 'post', 'mid'): raise ValueError("'where' argument to step must be " "'pre', 'post' or 'mid'") - kwargs['linestyle'] = 'steps-' + where + linestyle + kwargs['linestyle'] = 'steps-' + where + kwargs.get('linestyle', '') return self.plot(x, y, *args, **kwargs) From e62a5ac198fe155de690dcbf340c4aa971c02b66 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Mon, 7 May 2018 01:26:40 +0200 Subject: [PATCH 0660/1161] Remove unnecessary explicit default loc='best' in legend() --- examples/api/sankey_basics.py | 2 +- examples/recipes/transparent_legends.py | 8 ++++---- lib/matplotlib/pyplot.py | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/examples/api/sankey_basics.py b/examples/api/sankey_basics.py index 891ed4e9356f..d3ce6edb36df 100644 --- a/examples/api/sankey_basics.py +++ b/examples/api/sankey_basics.py @@ -91,7 +91,7 @@ orientations=[-1, -1, -1], prior=0, connect=(0, 0)) diagrams = sankey.finish() diagrams[-1].patch.set_hatch('/') -plt.legend(loc='best') +plt.legend() ############################################################################### # Notice that only one connection is specified, but the systems form a diff --git a/examples/recipes/transparent_legends.py b/examples/recipes/transparent_legends.py index 3aa6f2ee6066..3289e2f6d4ab 100644 --- a/examples/recipes/transparent_legends.py +++ b/examples/recipes/transparent_legends.py @@ -9,10 +9,10 @@ ax.legend(loc='upper right') -Other times you don't know where your data is, and loc='best' will try -and place the legend:: +Other times you don't know where your data is, and the default loc='best' +will try and place the legend:: - ax.legend(loc='best') + ax.legend() but still, your legend may overlap your data, and in these cases it's nice to make the legend frame transparent. @@ -27,7 +27,7 @@ ax.plot(np.random.rand(300), 's-', label='uniform distribution') ax.set_ylim(-3, 3) -ax.legend(loc='best', fancybox=True, framealpha=0.5) +ax.legend(fancybox=True, framealpha=0.5) ax.set_title('fancy, transparent legends') plt.show() diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index 2725094fe077..43238b3dd733 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -2192,7 +2192,7 @@ def getname_val(identifier): ax.set_xlabel('') if not subplots: - ax.legend(ynamelist, loc='best') + ax.legend(ynamelist) if xname=='date': fig.autofmt_xdate() From 1c35254e41aac7b9153ab3abd2d6f651593938b7 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Wed, 9 May 2018 10:57:22 -0700 Subject: [PATCH 0661/1161] TST: test that setting the axis off changes the window_extent of the axes --- lib/matplotlib/tests/test_axes.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index 7eb273e32e51..652982950818 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -5714,3 +5714,15 @@ def test_markerfacecolor_none_alpha(): fig2.savefig(buf2) assert buf1.getvalue() == buf2.getvalue() + + +def test_tick_padding_tightbbox(): + "Test that tick padding gets turned off if axis is off" + plt.rcParams["xtick.direction"] = "out" + plt.rcParams["ytick.direction"] = "out" + fig, ax = plt.subplots() + bb = ax.get_window_extent(fig.canvas.get_renderer()) + ax.axis('off') + bb2 = ax.get_window_extent(fig.canvas.get_renderer()) + assert bb.x0 < bb2.x0 + assert bb.y0 < bb2.y0 From 8ae35fe4943e82249bb3312dc61b4bee834117a3 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Mon, 2 Apr 2018 15:19:08 -0700 Subject: [PATCH 0662/1161] Minor cleanups to pyplot. The use of inspect.cleandoc instead of str.strip() in _setup_pyplot_info_docstrings correctly dedents the docstring in the case the first "sentence" spreads over 2+ lines (e.g. for install_repl_displayhook). --- lib/matplotlib/pyplot.py | 58 +++++++++++++++++----------------------- 1 file changed, 24 insertions(+), 34 deletions(-) diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index b06801ce7cbd..3ad89285d436 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -20,6 +20,7 @@ import inspect from numbers import Number +import re import sys import time import warnings @@ -121,8 +122,7 @@ def install_repl_displayhook(): Install a repl display hook so that any stale figure are automatically redrawn when control is returned to the repl. - This works with IPython terminals and kernels, - as well as vanilla python shells. + This works both with IPython and with vanilla python shells. """ global _IP_REGISTERED global _INSTALL_FIG_OBSERVER @@ -844,13 +844,13 @@ def axes(arg=None, **kwargs): def delaxes(ax=None): """ - Remove the given `Axes` *ax* from the current figure. If *ax* is *None*, - the current axes is removed. A KeyError is raised if the axes doesn't - exist. + Remove the `Axes` *ax* (defaulting to the current axes) from its figure. + + A KeyError is raised if the axes doesn't exist. """ if ax is None: ax = gca() - gcf().delaxes(ax) + ax.figure.delaxes(ax) def sca(ax): @@ -865,7 +865,7 @@ def sca(ax): _pylab_helpers.Gcf.set_active(m) m.canvas.figure.sca(ax) return - raise ValueError("Axes instance argument was not found in a figure.") + raise ValueError("Axes instance argument was not found in a figure") def gca(**kwargs): @@ -992,7 +992,7 @@ def subplot(*args, **kwargs): def subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, subplot_kw=None, gridspec_kw=None, **fig_kw): """ - Create a figure and a set of subplots + Create a figure and a set of subplots. This utility wrapper makes it convenient to create common layouts of subplots, including the enclosing figure object, in a single call. @@ -1269,8 +1269,7 @@ def tight_layout(pad=1.08, h_pad=None, w_pad=None, rect=None): figure coordinate that the whole subplots area (including labels) will fit into. Default is (0, 0, 1, 1). """ - fig = gcf() - fig.tight_layout(pad=pad, h_pad=h_pad, w_pad=w_pad, rect=rect) + gcf().tight_layout(pad=pad, h_pad=h_pad, w_pad=w_pad, rect=rect) def box(on=None): @@ -1885,21 +1884,12 @@ def colormaps(): def _setup_pyplot_info_docstrings(): """ - Generates the plotting and docstring. + Generates the plotting docstring. These must be done after the entire module is imported, so it is called from the end of this module, which is generated by boilerplate.py. """ - # Generate the plotting docstring - import re - - def pad(s, l): - """Pad string *s* to length *l*.""" - if l < len(s): - return s[:l] - return s + ' ' * (l - len(s)) - commands = get_plot_commands() first_sentence = re.compile(r"(?:\s*).+?\.(?:\s+|$)", flags=re.DOTALL) @@ -1907,31 +1897,31 @@ def pad(s, l): # Collect the first sentence of the docstring for all of the # plotting commands. rows = [] - max_name = 0 - max_summary = 0 + max_name = len("Function") + max_summary = len("Description") for name in commands: doc = globals()[name].__doc__ summary = '' if doc is not None: match = first_sentence.match(doc) if match is not None: - summary = match.group(0).strip().replace('\n', ' ') + summary = inspect.cleandoc(match.group(0)).replace('\n', ' ') name = '`%s`' % name rows.append([name, summary]) max_name = max(max_name, len(name)) max_summary = max(max_summary, len(summary)) - lines = [] - sep = '=' * max_name + ' ' + '=' * max_summary - lines.append(sep) - lines.append(' '.join([pad("Function", max_name), - pad("Description", max_summary)])) - lines.append(sep) - for name, summary in rows: - lines.append(' '.join([pad(name, max_name), - pad(summary, max_summary)])) - lines.append(sep) - + separator = '=' * max_name + ' ' + '=' * max_summary + lines = [ + separator, + '{:{}} {:{}}'.format('Function', max_name, 'Description', max_summary), + separator, + ] + [ + '{:{}} {:{}}'.format(name, max_name, summary, max_summary) + for name, summary in rows + ] + [ + separator, + ] plotting.__doc__ = '\n'.join(lines) From b9f7c0da0e404f93e19829fada01e7c0de2045e7 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Wed, 9 May 2018 12:43:19 -0700 Subject: [PATCH 0663/1161] DOC: improve legend bbox_to_anchor description --- lib/matplotlib/legend.py | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/lib/matplotlib/legend.py b/lib/matplotlib/legend.py index 39ffbcc737ba..cb08d82cf5c4 100644 --- a/lib/matplotlib/legend.py +++ b/lib/matplotlib/legend.py @@ -130,12 +130,26 @@ def _update_bbox_to_anchor(self, loc_in_canvas): corner of the legend in axes coordinates (in which case ``bbox_to_anchor`` will be ignored). -bbox_to_anchor : `.BboxBase` or pair of floats - Specify any arbitrary location for the legend in `bbox_transform` - coordinates (default Axes coordinates). - - For example, to put the legend's upper right hand corner in the - center of the axes the following keywords can be used:: +bbox_to_anchor : `.BboxBase`, 2-tuple, or 4-tuple of floats + Box that is used to position the legend in conjunction with *loc*. + Defaults to `axes.bbox` (if called as a method to `.Axes.legend`) or + `figure.bbox` (if `.Figure.legend`). This argument allows arbitrary + placement of the legend. + + Bbox coordinates are interpreted in the coordinate system given by + `bbox_transform`, with the default transform + Axes or Figure coordinates, depending on which ``legend`` is called. + + If a 4-tuple or `.BboxBase` is given, then it specifies the bbox + ``(x, y, width, height)`` that the legend is placed in. + To put the legend in the best location in the bottom right + quadrant of the axes (or figure):: + + loc='best', bbox_to_anchor=(0.5, 0., 0.5, 0.5) + + A 2-tuple ``(x, y)`` places the corner of the legend specified by *loc* at + x, y. For example, to put the legend's upper right-hand corner in the + center of the axes (or figure) the following keywords can be used:: loc='upper right', bbox_to_anchor=(0.5, 0.5) From 8d53a8aef661eabfef61d55284832efadf891a09 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Wed, 9 May 2018 13:32:27 -0700 Subject: [PATCH 0664/1161] FIX: image respect norm limits w/ None --- lib/matplotlib/image.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/image.py b/lib/matplotlib/image.py index f5869c693243..b3813eac2b68 100644 --- a/lib/matplotlib/image.py +++ b/lib/matplotlib/image.py @@ -394,12 +394,13 @@ def _make_image(self, A, in_bbox, out_bbox, clip_bbox, magnification=1.0, dv = (np.float64(self.norm.vmax) - np.float64(self.norm.vmin)) vmid = self.norm.vmin + dv / 2 - newmin = vmid - dv * 1.e7 + fact = 1e7 if scaled_dtype == np.float64 else 1e4 + newmin = vmid - dv * fact if newmin < a_min: newmin = None else: a_min = np.float64(newmin) - newmax = vmid + dv * 1.e7 + newmax = vmid + dv * fact if newmax > a_max: newmax = None else: @@ -409,7 +410,7 @@ def _make_image(self, A, in_bbox, out_bbox, clip_bbox, magnification=1.0, A_scaled -= a_min # a_min and a_max might be ndarray subclasses so use - # asscalar to ensure they are scalars to avoid errors + # asscalar to avoid errors a_min = np.asscalar(a_min.astype(scaled_dtype)) a_max = np.asscalar(a_max.astype(scaled_dtype)) From 3e94e2c0fb40cee9d94871569b784f6fa5a71a55 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Wed, 9 May 2018 16:32:46 -0700 Subject: [PATCH 0665/1161] MNT: deprecate patches.YAArrow --- lib/matplotlib/patches.py | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index 0b0b2708b394..8820e6810e61 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -1275,6 +1275,7 @@ def __init__(self, x, y, dx, dy, width=0.001, length_includes_head=False, docstring.interpd.update({"FancyArrow": FancyArrow.__init__.__doc__}) +@cbook.deprecated("3.0", alternative="FancyArrowPatch") class YAArrow(Patch): """ Yet another arrow class. From cfd2cdbcbc1f1ca239212332b795d06430517085 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Wed, 9 May 2018 12:22:31 -0700 Subject: [PATCH 0666/1161] Even more cleanups. --- lib/matplotlib/cbook/__init__.py | 2 +- lib/matplotlib/mathtext.py | 10 +++++----- lib/matplotlib/rcsetup.py | 28 ++++++++-------------------- lib/matplotlib/widgets.py | 6 +++--- setupext.py | 6 +----- tools/gh_api.py | 9 ++------- 6 files changed, 20 insertions(+), 41 deletions(-) diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index 2f405b5cc7f4..86fc6d7a8f5f 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -1815,7 +1815,7 @@ def normalize_kwargs(kw, alias_mapping=None, required=(), forbidden=(), "are in kwargs".format(keys=fail_keys)) if allowed is not None: - allowed_set = set(required) | set(allowed) + allowed_set = {*required, *allowed} fail_keys = [k for k in ret if k not in allowed_set] if fail_keys: raise TypeError( diff --git a/lib/matplotlib/mathtext.py b/lib/matplotlib/mathtext.py index dcb13a0ee494..ff602d0119ec 100644 --- a/lib/matplotlib/mathtext.py +++ b/lib/matplotlib/mathtext.py @@ -65,16 +65,16 @@ def get_unicode_index(symbol, math=True): # length, usually longer than a hyphen. if symbol == '-': return 0x2212 - try:# This will succeed if symbol is a single unicode char + try: # This will succeed if symbol is a single unicode char return ord(symbol) except TypeError: pass - try:# Is symbol a TeX symbol (i.e. \alpha) + try: # Is symbol a TeX symbol (i.e. \alpha) return tex2uni[symbol.strip("\\")] except KeyError: - message = """'%(symbol)s' is not a valid Unicode character or -TeX/Type1 symbol"""%locals() - raise ValueError(message) + raise ValueError( + "'{}' is not a valid Unicode character or TeX/Type1 symbol" + .format(symbol)) unichr_safe = cbook.deprecated("3.0")(chr) diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index af387fe28577..bef0e2d5d0bf 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -63,7 +63,7 @@ def __call__(self, s): s = s.lower() if s in self.valid: return self.valid[s] - raise ValueError('Unrecognized %s string "%s": valid strings are %s' + raise ValueError('Unrecognized %s string %r: valid strings are %s' % (self.key, s, list(six.itervalues(self.valid)))) @@ -935,25 +935,13 @@ def _validate_linestyle(ls): A validator for all possible line styles, the named ones *and* the on-off ink sequences. """ - # Look first for a valid named line style, like '--' or 'solid' - if isinstance(ls, six.string_types): - try: - return _validate_named_linestyle(ls) - except (UnicodeDecodeError, KeyError): - # On Python 2, string-like *ls*, like for example - # 'solid'.encode('utf-16'), may raise a unicode error. - raise ValueError("the linestyle string {!r} is not a valid " - "string.".format(ls)) - - if isinstance(ls, (bytes, bytearray)): - # On Python 2, a string-like *ls* should already have lead to a - # successful return or to raising an exception. On Python 3, we have - # to manually raise an exception in the case of a byte-like *ls*. - # Otherwise, if *ls* is of even-length, it will be passed to the - # instance of validate_nseq_float, which will return an absurd on-off - # ink sequence... - raise ValueError("linestyle {!r} neither looks like an on-off ink " - "sequence nor a valid string.".format(ls)) + # Look first for a valid named line style, like '--' or 'solid' Also + # includes bytes(-arrays) here (they all fail _validate_named_linestyle); + # otherwise, if *ls* is of even-length, it will be passed to the instance + # of validate_nseq_float, which will return an absurd on-off ink + # sequence... + if isinstance(ls, (str, bytes, bytearray)): + return _validate_named_linestyle(ls) # Look for an on-off ink sequence (in points) *of even length*. # Offset is set to None. diff --git a/lib/matplotlib/widgets.py b/lib/matplotlib/widgets.py index f8d1c47ce0e6..9c16cb228601 100644 --- a/lib/matplotlib/widgets.py +++ b/lib/matplotlib/widgets.py @@ -917,7 +917,7 @@ def on_text_change(self, func): def on_submit(self, func): """ - When the user hits enter or leaves the submision box, call this + When the user hits enter or leaves the submission box, call this *func* with event. A connection id is returned which can be used to disconnect. @@ -928,8 +928,8 @@ def on_submit(self, func): return cid def disconnect(self, cid): - """remove the observer with connection id *cid*""" - for reg in (self.change_observers, self.submit_observers): + """Remove the observer with connection id *cid*.""" + for reg in [self.change_observers, self.submit_observers]: try: del reg[cid] except KeyError: diff --git a/setupext.py b/setupext.py index 6e565288573b..d332940af46c 100644 --- a/setupext.py +++ b/setupext.py @@ -284,11 +284,7 @@ def __init__(self): if sys.platform == 'win32': self.has_pkgconfig = False else: - try: - self.pkg_config = os.environ['PKG_CONFIG'] - except KeyError: - self.pkg_config = 'pkg-config' - + self.pkg_config = os.environ.get('PKG_CONFIG', 'pkg-config') self.set_pkgconfig_path() self.has_pkgconfig = shutil.which(self.pkg_config) is not None if not self.has_pkgconfig: diff --git a/tools/gh_api.py b/tools/gh_api.py index f5b7f9128765..f2c86f851d10 100644 --- a/tools/gh_api.py +++ b/tools/gh_api.py @@ -1,17 +1,12 @@ """Functions for Github API requests.""" -try: - input = raw_input -except NameError: - pass - +import getpass +import json import os import re import sys import requests -import getpass -import json try: import requests_cache From 4b19b8982c4db3aed4f4726ff6e93c4d21726d3c Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Wed, 9 May 2018 23:59:17 -0700 Subject: [PATCH 0667/1161] Remove unicode-path test only relevant on Py2. --- .travis.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index ab0e460dafaf..d3e226261358 100644 --- a/.travis.yml +++ b/.travis.yml @@ -115,8 +115,6 @@ matrix: before_install: | # test with non-ascii in path - mkdir /tmp/λ - export PATH=$PATH:/tmp/λ if [[ $TRAVIS_OS_NAME != 'osx' ]]; then export PATH=/usr/lib/ccache:$PATH else From be3d969b55668b1a3401957aa0934a2ed9a67d27 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Wed, 9 May 2018 23:48:06 -0700 Subject: [PATCH 0668/1161] Yet another set of simplifications. - `FancyArrow.__init__` had the rather interesting `list(map(tuple, verts))` which literally is the same as `verts` (especially as that then gets fed to `asarray`). - In type1font.py, use `b"".join` instead of an explicit BytesIO buffer. Also rewrap a comment (to save one line). --- lib/matplotlib/patches.py | 12 ++++++------ lib/matplotlib/type1font.py | 22 +++++++++------------- 2 files changed, 15 insertions(+), 19 deletions(-) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index cea55da4c404..9c8ae324ca6d 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -1230,10 +1230,10 @@ def __init__(self, x, y, dx, dy, width=0.001, length_includes_head=False, # start by drawing horizontal arrow, point at (0,0) hw, hl, hs, lw = head_width, head_length, overhang, width left_half_arrow = np.array([ - [0.0, 0.0], # tip - [-hl, -hw / 2.0], # leftmost - [-hl * (1 - hs), -lw / 2.0], # meets stem - [-length, -lw / 2.0], # bottom left + [0.0, 0.0], # tip + [-hl, -hw / 2], # leftmost + [-hl * (1 - hs), -lw / 2], # meets stem + [-length, -lw / 2], # bottom left [-length, 0], ]) # if we're not including the head, shift up by head length @@ -1241,7 +1241,7 @@ def __init__(self, x, y, dx, dy, width=0.001, length_includes_head=False, left_half_arrow += [head_length, 0] # if the head starts at 0, shift up by another head length if head_starts_at_zero: - left_half_arrow += [head_length / 2.0, 0] + left_half_arrow += [head_length / 2, 0] # figure out the shape, and complete accordingly if shape == 'left': coords = left_half_arrow @@ -1266,7 +1266,7 @@ def __init__(self, x, y, dx, dy, width=0.001, length_includes_head=False, M = [[cx, sx], [-sx, cx]] verts = np.dot(coords, M) + (x + dx, y + dy) - Polygon.__init__(self, list(map(tuple, verts)), closed=True, **kwargs) + super().__init__(verts, closed=True, **kwargs) docstring.interpd.update({"FancyArrow": FancyArrow.__init__.__doc__}) diff --git a/lib/matplotlib/type1font.py b/lib/matplotlib/type1font.py index f3c614e2d120..f2df79290451 100644 --- a/lib/matplotlib/type1font.py +++ b/lib/matplotlib/type1font.py @@ -26,7 +26,6 @@ import binascii import enum -import io import itertools import re import struct @@ -132,11 +131,10 @@ def _split(self, data): if zeros: raise RuntimeError('Insufficiently many zeros in Type 1 font') - # Convert encrypted part to binary (if we read a pfb file, we - # may end up converting binary to hexadecimal to binary again; - # but if we read a pfa file, this part is already in hex, and - # I am not quite sure if even the pfb format guarantees that - # it will be in binary). + # Convert encrypted part to binary (if we read a pfb file, we may end + # up converting binary to hexadecimal to binary again; but if we read + # a pfa file, this part is already in hex, and I am not quite sure if + # even the pfb format guarantees that it will be in binary). binary = binascii.unhexlify(data[len1:idx+1]) return data[:len1], binary, data[idx+1:] @@ -321,10 +319,8 @@ def transform(self, effects): multiplier by which the font is to be extended (so values less than 1.0 condense). Returns a new :class:`Type1Font` object. """ - with io.BytesIO() as buffer: - tokenizer = self._tokens(self.parts[0]) - transformed = self._transformer(tokenizer, - slant=effects.get('slant', 0.0), - extend=effects.get('extend', 1.0)) - list(map(buffer.write, transformed)) - return Type1Font((buffer.getvalue(), self.parts[1], self.parts[2])) + tokenizer = self._tokens(self.parts[0]) + transformed = self._transformer(tokenizer, + slant=effects.get('slant', 0.0), + extend=effects.get('extend', 1.0)) + return Type1Font((b"".join(transformed), self.parts[1], self.parts[2])) From 440488197ef37dbe63f23096deecd6c87e8ffb53 Mon Sep 17 00:00:00 2001 From: ImportanceOfBeingErnest <elch.rz@ruetz-online.de> Date: Thu, 10 May 2018 00:09:48 +0200 Subject: [PATCH 0669/1161] Fix CirclePolygon __str__ + adding tests --- lib/matplotlib/patches.py | 22 ++++++++++------- lib/matplotlib/tests/test_patches.py | 37 ++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 9 deletions(-) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index cea55da4c404..d360843c7724 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -794,7 +794,9 @@ class RegularPolygon(Patch): A regular polygon patch. """ def __str__(self): - return "Poly%d(%g,%g)" % (self._numVertices, self._xy[0], self._xy[1]) + s = "RegularPolygon((%g, %g), %d, radius=%g, orientation=%g)" + return s % (self._xy[0], self._xy[1], self._numVertices, self._radius, + self._orientation) @docstring.dedent_interpd def __init__(self, xy, numVertices, radius=5, orientation=0, @@ -880,7 +882,8 @@ class PathPatch(Patch): _edge_default = True def __str__(self): - return "Poly((%g, %g) ...)" % tuple(self._path.vertices[0]) + s = "PathPatch%d((%g, %g) ...)" + return s % (len(self._path.vertices), *tuple(self._path.vertices[0])) @docstring.dedent_interpd def __init__(self, path, **kwargs): @@ -908,7 +911,8 @@ class Polygon(Patch): A general polygon patch. """ def __str__(self): - return "Poly((%g, %g) ...)" % tuple(self._path.vertices[0]) + s = "Polygon%d((%g, %g) ...)" + return s % (len(self._path.vertices), *tuple(self._path.vertices[0])) @docstring.dedent_interpd def __init__(self, xy, closed=True, **kwargs): @@ -1381,7 +1385,8 @@ class CirclePolygon(RegularPolygon): A polygon-approximation of a circle patch. """ def __str__(self): - return "CirclePolygon(%d,%d)" % self.center + s = "CirclePolygon((%g, %g), radius=%g, resolution=%d)" + return s % (self._xy[0], self._xy[1], self._radius, self._numVertices) @docstring.dedent_interpd def __init__(self, xy, radius=5, @@ -2451,9 +2456,8 @@ class FancyBboxPatch(Patch): _edge_default = True def __str__(self): - return self.__class__.__name__ \ - + "(%g,%g;%gx%g)" % (self._x, self._y, - self._width, self._height) + s = self.__class__.__name__ + "((%g, %g), width=%g, height=%g)" + return s % (self._x, self._y, self._width, self._height) @docstring.dedent_interpd def __init__(self, xy, width, height, @@ -3966,7 +3970,7 @@ def __str__(self): if self._posA_posB is not None: (x1, y1), (x2, y2) = self._posA_posB return self.__class__.__name__ \ - + "(%g,%g->%g,%g)" % (x1, y1, x2, y2) + + "((%g, %g)->(%g, %g))" % (x1, y1, x2, y2) else: return self.__class__.__name__ \ + "(%s)" % (str(self._path_original),) @@ -4374,7 +4378,7 @@ class ConnectionPatch(FancyArrowPatch): connecting lines between two points (possibly in different axes). """ def __str__(self): - return "ConnectionPatch((%g,%g),(%g,%g))" % \ + return "ConnectionPatch((%g, %g), (%g, %g))" % \ (self.xy1[0], self.xy1[1], self.xy2[0], self.xy2[1]) @docstring.dedent_interpd diff --git a/lib/matplotlib/tests/test_patches.py b/lib/matplotlib/tests/test_patches.py index 713fd144d898..54bcbd5ddc31 100644 --- a/lib/matplotlib/tests/test_patches.py +++ b/lib/matplotlib/tests/test_patches.py @@ -318,6 +318,43 @@ def test_patch_str(): expected = 'Arc(xy=(1, 2), width=3, height=4, angle=5, theta1=6, theta2=7)' assert str(p) == expected + p = mpatches.RegularPolygon((1, 2), 20, radius=5) + assert str(p) == "RegularPolygon((1, 2), 20, radius=5, orientation=0)" + + p = mpatches.CirclePolygon(xy=(1, 2), radius=5, resolution=20) + assert str(p) == "CirclePolygon((1, 2), radius=5, resolution=20)" + + p = mpatches.FancyBboxPatch((1, 2), width=3, height=4) + assert str(p) == "FancyBboxPatch((1, 2), width=3, height=4)" + + # Further nice __str__ which cannot be `eval`uated: + path_data = [([1, 2], mpath.Path.MOVETO), ([2, 2], mpath.Path.LINETO), + ([1, 2], mpath.Path.CLOSEPOLY)] + p = mpatches.PathPatch(mpath.Path(*zip(*path_data))) + assert str(p) == "PathPatch3((1, 2) ...)" + + data = [[1, 2], [2, 2], [1, 2]] + p = mpatches.Polygon(data) + assert str(p) == "Polygon3((1, 2) ...)" + + p = mpatches.FancyArrowPatch(path=mpath.Path(*zip(*path_data))) + assert str(p)[:27] == "FancyArrowPatch(Path(array(" + + p = mpatches.FancyArrowPatch((1, 2), (3, 4)) + assert str(p) == "FancyArrowPatch((1, 2)->(3, 4))" + + p = mpatches.ConnectionPatch((1, 2), (3, 4), 'data') + assert str(p) == "ConnectionPatch((1, 2), (3, 4))" + + s = mpatches.Shadow(p, 1, 1) + assert str(s) == "Shadow(ConnectionPatch((1, 2), (3, 4)))" + + p = mpatches.YAArrow(plt.gcf(), (1, 0), (2, 1), width=0.1) + assert str(p) == "YAArrow()" + + # Not testing Arrow, FancyArrow here + # because they seem to exist only for historical reasons. + @image_comparison(baseline_images=['multi_color_hatch'], remove_text=True, style='default') From c9d5d3fb1045a8071edd68319fd235614d4c0b0e Mon Sep 17 00:00:00 2001 From: ImportanceOfBeingErnest <elch.rz@ruetz-online.de> Date: Thu, 10 May 2018 14:47:29 +0200 Subject: [PATCH 0670/1161] Search codex (fix import line) --- doc/conf.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/doc/conf.py b/doc/conf.py index b0d40f0099c5..cd4045badd29 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -17,9 +17,6 @@ import matplotlib import sphinx -# This is only necessary to monkey patch the signature later on. -from sphinx_gallery import gen_rst - # If your extensions are in another directory, add it here. If the directory # is relative to the documentation root, use os.path.abspath to make it # absolute, like shown here. @@ -76,6 +73,8 @@ def _check_deps(): # Import only after checking for dependencies. from sphinx_gallery.sorting import ExplicitOrder +# This is only necessary to monkey patch the signature later on. +from sphinx_gallery import gen_rst if shutil.which('dot') is None: raise OSError( From 51e4944fe1586912112d76abd44af7b6f0aa6ddc Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Thu, 10 May 2018 15:48:43 +0100 Subject: [PATCH 0671/1161] Add a newline before deprecation messages --- lib/matplotlib/cbook/deprecation.py | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/matplotlib/cbook/deprecation.py b/lib/matplotlib/cbook/deprecation.py index 9c8c83225ba7..30accf7c1ca5 100644 --- a/lib/matplotlib/cbook/deprecation.py +++ b/lib/matplotlib/cbook/deprecation.py @@ -100,6 +100,7 @@ def warn_deprecated( """ message = _generate_deprecation_message( since, message, name, alternative, pending, obj_type, removal=removal) + message = '\n' + message warnings.warn(message, mplDeprecation, stacklevel=2) From 2cdb48403f270ea412c40e439d8139517af351e1 Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Thu, 10 May 2018 15:48:55 +0100 Subject: [PATCH 0672/1161] Add deprecation messages for unused kwargs in FancyArrowPatch Fix variable name --- lib/matplotlib/patches.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index 0b0b2708b394..575abfcd5123 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -4060,6 +4060,20 @@ def __init__(self, posA=None, posB=None, Valid kwargs are: %(Patch)s """ + if arrow_transmuter is not None: + cbook.warn_deprecated( + 3.0, + message=('The "arrow_transmuter" keyword argument is not used,' + ' and will be removed in Matplotlib 3.1'), + name='arrow_transmuter', + obj_type='keyword argument') + if connector is not None: + cbook.warn_deprecated( + 3.0, + message=('The "connector" keyword argument is not used,' + ' and will be removed in Matplotlib 3.1'), + name='connector', + obj_type='keyword argument') Patch.__init__(self, **kwargs) if posA is not None and posB is not None and path is None: From ca5324c912f4117c893f7fc6326f94a4defe8cf2 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sat, 14 Apr 2018 15:46:59 -0700 Subject: [PATCH 0673/1161] Update venv gui docs wrt availability of PySide2. --- doc/faq/virtualenv_faq.rst | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/doc/faq/virtualenv_faq.rst b/doc/faq/virtualenv_faq.rst index 8cb328bb7c39..a0336d9c4791 100644 --- a/doc/faq/virtualenv_faq.rst +++ b/doc/faq/virtualenv_faq.rst @@ -21,17 +21,18 @@ installed. Otherwise, the situation (at the time of writing) is as follows: -============= ========================== ================================= -GUI framework pip-installable? conda or conda-forge-installable? -============= ========================== ================================= -PyQt5 yes yes -------------- -------------------------- --------------------------------- -PyQt4 PySide: on Windows and OSX yes -------------- -------------------------- --------------------------------- -PyGObject yes [#]_ on Linux -------------- -------------------------- --------------------------------- -wxPython yes [#]_ yes -============= ========================== ================================= +========= ========= ================ ================================= +framework bindings pip-installable? conda or conda-forge-installable? +========= ========= ================ ================================= +Qt5 PyQt5 yes yes +Qt5 PySide2 yes [#]_ yes +Qt4 PyQt4 no yes +Qt4 PySide OSX and Windows yes +GTK3 PyGObject yes [#]_ Linux and OSX +wxWidgets wxPython yes [#]_ yes +========= ========= ================ ================================= + +.. [#] See http://lists.qt-project.org/pipermail/pyside/2018-March/002537.html. .. [#] No wheels available, see https://pygobject.readthedocs.io/en/latest/devguide/dev_environ.html From 28839b971a4bf6606b7b2d162b19c6b9c037fea8 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Thu, 10 May 2018 20:08:29 -0700 Subject: [PATCH 0674/1161] Don't bother checking luatex's version. Depending on the version of luatex, the pgf backend would either emit \pdfpagewidth or \pagewidth. Instead of explicitly checking the version of luatex (which requires additional code to parse the output of --version, and is brittle to (admittedly unlikely) possible future other changes in luatex or xetex), just emit some TeX code that emits whichever primitive is defined. --- lib/matplotlib/backends/backend_pgf.py | 42 +++++++----------------- lib/matplotlib/tests/test_backend_pgf.py | 37 --------------------- 2 files changed, 11 insertions(+), 68 deletions(-) diff --git a/lib/matplotlib/backends/backend_pgf.py b/lib/matplotlib/backends/backend_pgf.py index 6b0b64446124..03b816f0a3ba 100644 --- a/lib/matplotlib/backends/backend_pgf.py +++ b/lib/matplotlib/backends/backend_pgf.py @@ -30,11 +30,6 @@ ############################################################################### -_luatex_version_re = re.compile( - r'This is LuaTeX, Version (?:beta-)?([0-9]+)\.([0-9]+)\.([0-9]+)' -) - - @cbook.deprecated("3.0") def get_texcommand(): """Get chosen TeX system from rc.""" @@ -43,18 +38,6 @@ def get_texcommand(): return texsystem if texsystem in texsystem_options else "xelatex" -def _get_lualatex_version(): - """Get version of luatex""" - output = subprocess.check_output(['lualatex', '--version']) - return _parse_lualatex_version(output.decode()) - - -def _parse_lualatex_version(output): - '''parse the lualatex version from the output of `lualatex --version`''' - match = _luatex_version_re.match(output) - return tuple(map(int, match.groups())) - - def get_fontspec(): """Build fontspec preamble from rc.""" latex_fontspec = [] @@ -1171,26 +1154,23 @@ def savefig(self, figure=None, **kwargs): if self._n_figures == 0: self._write_header(width, height) else: - self._file.write(self._build_newpage_command(width, height)) + # \pdfpagewidth and \pdfpageheight exist on pdftex, xetex, and + # luatex<0.85; they were renamed to \pagewidth and \pageheight + # on luatex>=0.85. + self._file.write( + br'\newpage' + br'\ifdefined\pdfpagewidth\pdfpagewidth' + br'\else\pagewidth\fi=%ain' + br'\ifdefined\pdfpageheight\pdfpageheight' + br'\else\pageheight\fi=%ain' + b'%%\n' % (width, height) + ) figure.savefig(self._file, format="pgf", **kwargs) self._n_figures += 1 finally: figure.canvas = orig_canvas - def _build_newpage_command(self, width, height): - r'''LuaLaTeX from version 0.85 removed the `\pdf*` primitives, - so we need to check the lualatex version and use `\pagewidth` if - the version is 0.85 or newer - ''' - texcommand = rcParams["pgf.texsystem"] - if texcommand == 'lualatex' and _get_lualatex_version() >= (0, 85, 0): - cmd = r'\page' - else: - cmd = r'\pdfpage' - newpage = r'\newpage{cmd}width={w}in,{cmd}height={h}in%' + '\n' - return newpage.format(cmd=cmd, w=width, h=height).encode('utf-8') - def get_pagecount(self): """ Returns the current number of pages in the multipage pdf file. diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py index 76949ad369e9..ed5e8c2bedfb 100644 --- a/lib/matplotlib/tests/test_backend_pgf.py +++ b/lib/matplotlib/tests/test_backend_pgf.py @@ -270,40 +270,3 @@ def test_pdf_pages_lualatex(): pdf.savefig(fig) assert pdf.get_pagecount() == 2 - - -@needs_lualatex -def test_luatex_version(): - from matplotlib.backends.backend_pgf import _parse_lualatex_version - from matplotlib.backends.backend_pgf import _get_lualatex_version - - v1 = '''This is LuaTeX, Version 1.0.4 (TeX Live 2017) - -Execute 'luatex --credits' for credits and version details. - -There is NO warranty. Redistribution of this software is covered by -the terms of the GNU General Public License, version 2 or (at your option) -any later version. For more information about these matters, see the file -named COPYING and the LuaTeX source. - -LuaTeX is Copyright 2017 Taco Hoekwater and the LuaTeX Team. -''' - - v2 = '''This is LuaTeX, Version beta-0.76.0-2015112019 (TeX Live 2013) (rev 4627) - -Execute 'luatex --credits' for credits and version details. - -There is NO warranty. Redistribution of this software is covered by -the terms of the GNU General Public License, version 2 or (at your option) -any later version. For more information about these matters, see the file -named COPYING and the LuaTeX source. - -Copyright 2013 Taco Hoekwater, the LuaTeX Team. -''' - - assert _parse_lualatex_version(v1) == (1, 0, 4) - assert _parse_lualatex_version(v2) == (0, 76, 0) - - # just test if it is successful - version = _get_lualatex_version() - assert len(version) == 3 From 33bc9afceed7883a362ee21377467a0b5fb6c254 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Thu, 10 May 2018 23:56:44 -0700 Subject: [PATCH 0675/1161] Simplify lookup of animation external commands. ... by using shutil.which instead of trying to run the command. Also, we don't need to explicitly call ImageMagickBase._init_from_registry because the writers.register decorator will do that for us (via the call to isAvailable). --- lib/matplotlib/animation.py | 44 ++++++++++--------------------------- 1 file changed, 12 insertions(+), 32 deletions(-) diff --git a/lib/matplotlib/animation.py b/lib/matplotlib/animation.py index d3a1886eaf80..d5f022108833 100644 --- a/lib/matplotlib/animation.py +++ b/lib/matplotlib/animation.py @@ -25,6 +25,7 @@ import os from pathlib import Path import platform +import shutil import subprocess import sys from tempfile import TemporaryDirectory @@ -408,27 +409,9 @@ def bin_path(cls): @classmethod def isAvailable(cls): ''' - Check to see if a MovieWriter subclass is actually available by - running the commandline tool. + Check to see if a MovieWriter subclass is actually available. ''' - bin_path = cls.bin_path() - if not bin_path: - return False - try: - p = subprocess.Popen( - bin_path, - shell=False, - stdout=subprocess.PIPE, - stderr=subprocess.PIPE, - creationflags=subprocess_creation_flags) - return cls._handle_subprocess(p) - except OSError: - return False - - @classmethod - def _handle_subprocess(cls, process): - process.communicate() - return True + return shutil.which(cls.bin_path()) is not None class FileMovieWriter(MovieWriter): @@ -633,13 +616,14 @@ def output_args(self): return args + ['-y', self.outfile] @classmethod - def _handle_subprocess(cls, process): - _, err = process.communicate() - # Ubuntu 12.04 ships a broken ffmpeg binary which we shouldn't use - # NOTE : when removed, remove the same method in AVConvBase. - if 'Libav' in err.decode(): - return False - return True + def isAvailable(cls): + return ( + super().isAvailable() + # Ubuntu 12.04 ships a broken ffmpeg binary which we shouldn't use. + # NOTE: when removed, remove the same method in AVConvBase. + and b'LibAv' not in subprocess.run( + [cls.bin_path()], creationflags=subprocess_creation_flags, + stdout=subprocess.DEVNULL, stderr=subprocess.PIPE).stderr) # Combine FFMpeg options with pipe-based writing @@ -697,9 +681,7 @@ class AVConvBase(FFMpegBase): args_key = 'animation.avconv_args' # NOTE : should be removed when the same method is removed in FFMpegBase. - @classmethod - def _handle_subprocess(cls, process): - return MovieWriter._handle_subprocess(process) + isAvailable = classmethod(MovieWriter.isAvailable.__func__) # Combine AVConv options with pipe-based writing @@ -772,8 +754,6 @@ def isAvailable(cls): cls._init_from_registry() return super().isAvailable() -ImageMagickBase._init_from_registry() - # Note: the base classes need to be in that order to get # isAvailable() from ImageMagickBase called and not the From 7eb928ab730cbdb3c47d963567d7a20db7b66ba4 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sat, 12 May 2018 02:07:50 -0700 Subject: [PATCH 0676/1161] Minor cleanups to setupext. --- setupext.py | 30 +++++++----------------------- 1 file changed, 7 insertions(+), 23 deletions(-) diff --git a/setupext.py b/setupext.py index e57f1d9b0333..8fbe324488b6 100644 --- a/setupext.py +++ b/setupext.py @@ -90,19 +90,6 @@ def _get_xdg_cache_dir(): options['local_freetype'] = lft or options.get('local_freetype', False) -def get_win32_compiler(): - """ - Determine the compiler being used on win32. - """ - # Used to determine mingw32 or msvc - # This is pretty bad logic, someone know a better way? - for v in sys.argv: - if 'mingw32' in v: - return 'mingw32' - return 'msvc' -win32_compiler = get_win32_compiler() - - def extract_versions(): """ Extracts version values from the main matplotlib __init__.py and @@ -110,23 +97,20 @@ def extract_versions(): """ with open('lib/matplotlib/__init__.py') as fd: for line in fd.readlines(): - if (line.startswith('__version__numpy__')): + if line.startswith('__version__numpy__'): exec(line.strip()) return locals() def has_include_file(include_dirs, filename): """ - Returns `True` if `filename` can be found in one of the - directories in `include_dirs`. + Returns `True` if *filename* can be found in one of the + directories in *include_dirs*. """ if sys.platform == 'win32': - include_dirs = list(include_dirs) # copy before modify - include_dirs += os.environ.get('INCLUDE', '.').split(os.pathsep) - for dir in include_dirs: - if os.path.exists(os.path.join(dir, filename)): - return True - return False + include_dirs = [*include_dirs, # Don't modify it in-place. + *os.environ.get('INCLUDE', '.').split(os.pathsep)] + return any(pathlib.Path(dir, filename).exists() for dir in include_dirs) def check_include_file(include_dirs, filename, package): @@ -150,7 +134,7 @@ def get_base_dirs(): if os.environ.get('MPLBASEDIRLIST'): return os.environ.get('MPLBASEDIRLIST').split(os.pathsep) - win_bases = ['win32_static', ] + win_bases = ['win32_static'] # on conda windows, we also add the <conda_env_dir>\Library, # as conda installs libs/includes there # env var names mess: https://github.com/conda/conda/issues/2312 From 35d471e3e59ed3f148fb4a0bc79763a78c1eaca7 Mon Sep 17 00:00:00 2001 From: cld <huey910@gmail.com> Date: Sat, 12 May 2018 20:48:11 +0100 Subject: [PATCH 0677/1161] Add stacklevel=2 to some warings.warn() calls --- lib/matplotlib/axes/_base.py | 23 ++++++++++--------- lib/matplotlib/backends/__init__.py | 2 +- lib/matplotlib/backends/backend_cairo.py | 2 +- lib/matplotlib/backends/backend_pdf.py | 5 ++-- lib/matplotlib/backends/backend_pgf.py | 2 +- .../backends/backend_webagg_core.py | 2 +- .../backends/qt_editor/formlayout.py | 4 ++-- lib/matplotlib/sphinxext/mathmpl.py | 2 +- lib/matplotlib/style/core.py | 4 ++-- 9 files changed, 24 insertions(+), 22 deletions(-) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index a15654a448cb..7843dd0fb4ad 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -1335,7 +1335,7 @@ def set_adjustable(self, adjustable, share=False): """ if adjustable == 'box-forced': warnings.warn("The 'box-forced' keyword argument is deprecated" - " since 2.2.", cbook.mplDeprecation) + " since 2.2.", cbook.mplDeprecation, stacklevel=2) if adjustable not in ('box', 'datalim', 'box-forced'): raise ValueError("argument must be 'box', or 'datalim'") if share: @@ -1486,7 +1486,7 @@ def apply_aspect(self, position=None): if aspect != "auto": warnings.warn( 'aspect is not supported for Axes with xscale=%s, ' - 'yscale=%s' % (xscale, yscale)) + 'yscale=%s' % (xscale, yscale), stacklevel=2) aspect = "auto" else: # some custom projections have their own scales. pass @@ -2287,7 +2287,8 @@ def margins(self, *margins, x=None, y=None, tight=True): if x is None and y is None: if tight is not True: - warnings.warn('ignoring tight=%r in get mode' % (tight,)) + warnings.warn('ignoring tight=%r in get mode' % (tight,), + stacklevel=2) return self._xmargin, self._ymargin if x is not None: @@ -3117,7 +3118,7 @@ def set_xlim(self, left=None, right=None, emit=True, auto=False, warnings.warn( ('Attempting to set identical left==right results\n' 'in singular transformations; automatically expanding.\n' - 'left=%s, right=%s') % (left, right)) + 'left=%s, right=%s') % (left, right), stacklevel=2) left, right = mtransforms.nonsingular(left, right, increasing=False) if self.get_xscale() == 'log': @@ -3125,13 +3126,13 @@ def set_xlim(self, left=None, right=None, emit=True, auto=False, warnings.warn( 'Attempted to set non-positive left xlim on a ' 'log-scaled axis.\n' - 'Invalid limit will be ignored.') + 'Invalid limit will be ignored.', stacklevel=2) left = old_left if right <= 0: warnings.warn( 'Attempted to set non-positive right xlim on a ' 'log-scaled axis.\n' - 'Invalid limit will be ignored.') + 'Invalid limit will be ignored.', stacklevel=2) right = old_right left, right = self.xaxis.limit_range_for_scale(left, right) @@ -3456,7 +3457,7 @@ def set_ylim(self, bottom=None, top=None, emit=True, auto=False, warnings.warn( ('Attempting to set identical bottom==top results\n' 'in singular transformations; automatically expanding.\n' - 'bottom=%s, top=%s') % (bottom, top)) + 'bottom=%s, top=%s') % (bottom, top), stacklevel=2) bottom, top = mtransforms.nonsingular(bottom, top, increasing=False) @@ -3465,13 +3466,13 @@ def set_ylim(self, bottom=None, top=None, emit=True, auto=False, warnings.warn( 'Attempted to set non-positive bottom ylim on a ' 'log-scaled axis.\n' - 'Invalid limit will be ignored.') + 'Invalid limit will be ignored.', stacklevel=2) bottom = old_bottom if top <= 0: warnings.warn( 'Attempted to set non-positive top ylim on a ' 'log-scaled axis.\n' - 'Invalid limit will be ignored.') + 'Invalid limit will be ignored.', stacklevel=2) top = old_top bottom, top = self.yaxis.limit_range_for_scale(bottom, top) @@ -3879,7 +3880,7 @@ def _set_view_from_bbox(self, bbox, direction='in', # should be len 3 or 4 but nothing else warnings.warn( "Warning in _set_view_from_bbox: bounding box is not a tuple " - "of length 3 or 4. Ignoring the view change.") + "of length 3 or 4. Ignoring the view change.", stacklevel=2) return # Just grab bounding box @@ -4066,7 +4067,7 @@ def format_deltas(key, dx, dy): result = (mtransforms.Bbox(newpoints) .transformed(p.trans_inverse)) except OverflowError: - warnings.warn('Overflow while panning') + warnings.warn('Overflow while panning', stacklevel=2) return else: return diff --git a/lib/matplotlib/backends/__init__.py b/lib/matplotlib/backends/__init__.py index d896bc2cd50e..74a866365e4b 100644 --- a/lib/matplotlib/backends/__init__.py +++ b/lib/matplotlib/backends/__init__.py @@ -71,7 +71,7 @@ def do_nothing_show(*args, **kwargs): Your currently selected backend, '%s' does not support show(). Please select a GUI backend in your matplotlibrc file ('%s') or with matplotlib.use()""" % - (name, matplotlib.matplotlib_fname())) + (name, matplotlib.matplotlib_fname()), stacklevel=2) def do_nothing(*args, **kwargs): pass diff --git a/lib/matplotlib/backends/backend_cairo.py b/lib/matplotlib/backends/backend_cairo.py index 189f29671aee..a746f1433fd5 100644 --- a/lib/matplotlib/backends/backend_cairo.py +++ b/lib/matplotlib/backends/backend_cairo.py @@ -637,7 +637,7 @@ def _save(self, fo, fmt, **kwargs): fo = gzip.GzipFile(None, 'wb', fileobj=fo) surface = cairo.SVGSurface(fo, width_in_points, height_in_points) else: - warnings.warn("unknown format: %s" % fmt) + warnings.warn("unknown format: %s" % fmt, stacklevel=2) return # surface.set_dpi() can be used diff --git a/lib/matplotlib/backends/backend_pdf.py b/lib/matplotlib/backends/backend_pdf.py index 52c7f2c8b816..fe057bd0f63c 100644 --- a/lib/matplotlib/backends/backend_pdf.py +++ b/lib/matplotlib/backends/backend_pdf.py @@ -1567,10 +1567,11 @@ def is_date(x): 'Trapped': check_trapped} for k in self.infoDict: if k not in keywords: - warnings.warn('Unknown infodict keyword: %s' % k) + warnings.warn('Unknown infodict keyword: %s' % k, stacklevel=2) else: if not keywords[k](self.infoDict[k]): - warnings.warn('Bad value for infodict keyword %s' % k) + warnings.warn('Bad value for infodict keyword %s' % k, + stacklevel=2) self.infoObject = self.reserveObject('info') self.writeObject(self.infoObject, self.infoDict) diff --git a/lib/matplotlib/backends/backend_pgf.py b/lib/matplotlib/backends/backend_pgf.py index 6b0b64446124..14543521b2a9 100644 --- a/lib/matplotlib/backends/backend_pgf.py +++ b/lib/matplotlib/backends/backend_pgf.py @@ -420,7 +420,7 @@ def __init__(self, figure, fh, dummy=False): if not hasattr(fh, 'name') or not os.path.exists(fh.name): warnings.warn("streamed pgf-code does not support raster " "graphics, consider using the pgf-to-pdf option", - UserWarning) + UserWarning, stacklevel=2) self.__dict__["draw_image"] = lambda *args, **kwargs: None def draw_markers(self, gc, marker_path, marker_trans, path, trans, diff --git a/lib/matplotlib/backends/backend_webagg_core.py b/lib/matplotlib/backends/backend_webagg_core.py index aa954f95a0a0..76e823aa5cf3 100644 --- a/lib/matplotlib/backends/backend_webagg_core.py +++ b/lib/matplotlib/backends/backend_webagg_core.py @@ -241,7 +241,7 @@ def handle_event(self, event): def handle_unknown_event(self, event): warnings.warn('Unhandled message type {0}. {1}'.format( - event['type'], event)) + event['type'], event), stacklevel=2) def handle_ack(self, event): # Network latency tends to decrease if traffic is flowing diff --git a/lib/matplotlib/backends/qt_editor/formlayout.py b/lib/matplotlib/backends/qt_editor/formlayout.py index 7accb0f372d8..3b4007adc421 100644 --- a/lib/matplotlib/backends/qt_editor/formlayout.py +++ b/lib/matplotlib/backends/qt_editor/formlayout.py @@ -92,7 +92,7 @@ def to_qcolor(color): try: rgba = mcolors.to_rgba(color) except ValueError: - warnings.warn('Ignoring invalid color %r' % color) + warnings.warn('Ignoring invalid color %r' % color, stacklevel=2) return qcolor # return invalid QColor qcolor.setRgbF(*rgba) return qcolor @@ -259,7 +259,7 @@ def setup(self): elif not isinstance(selindex, int): warnings.warn( "index '%s' is invalid (label: %s, value: %s)" % - (selindex, label, value)) + (selindex, label, value), stacklevel=2) selindex = 0 field.setCurrentIndex(selindex) elif isinstance(value, bool): diff --git a/lib/matplotlib/sphinxext/mathmpl.py b/lib/matplotlib/sphinxext/mathmpl.py index ed54e8d3d8c1..aef2fb877bb9 100644 --- a/lib/matplotlib/sphinxext/mathmpl.py +++ b/lib/matplotlib/sphinxext/mathmpl.py @@ -50,7 +50,7 @@ def latex2png(latex, filename, fontset='cm'): depth = mathtext_parser.to_png(filename, latex, dpi=100) except: warnings.warn("Could not render math expression %s" % latex, - Warning) + Warning, stacklevel=2) depth = 0 rcParams['mathtext.fontset'] = orig_fontset sys.stdout.write("#") diff --git a/lib/matplotlib/style/core.py b/lib/matplotlib/style/core.py index 650f80e6cb47..b0094eed9d17 100644 --- a/lib/matplotlib/style/core.py +++ b/lib/matplotlib/style/core.py @@ -45,7 +45,7 @@ def _remove_blacklisted_style_params(d, warn=True): if warn: warnings.warn( "Style includes a parameter, '{0}', that is not related " - "to style. Ignoring".format(key)) + "to style. Ignoring".format(key), stacklevel=2) else: o[key] = val return o @@ -184,7 +184,7 @@ def read_style_directory(style_dir): for w in warns: message = 'In %s: %s' % (path, w.message) - warnings.warn(message) + warnings.warn(message, stacklevel=2) return styles From bfede46915a7921990c9e7835993ecdc11caabe6 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sat, 12 May 2018 21:35:29 -0700 Subject: [PATCH 0678/1161] Reword the timeout error message in cbook._lock_path. 1) Lock files are specific files now, not globs of directories. 2) Format the path with `{}`, not `{!r}` as _lock_path is passing a Path object but we don't want the error message to say "PosixPath('foo')", just "foo". The previously used `_lockstr` will go away at the same time the deprecated `Locked` is removed. --- lib/matplotlib/cbook/__init__.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index 2f405b5cc7f4..3b401dc1b74f 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -1925,7 +1925,12 @@ def _lock_path(path): except FileExistsError: time.sleep(sleeptime) else: - raise TimeoutError(_lockstr.format(lock_path)) + raise TimeoutError("""\ +Lock error: Matplotlib failed to acquire the following lock file: + {} +This maybe due to another process holding this lock file. If you are sure no +other Matplotlib process is running, remove this file and try again.""".format( + lock_path)) try: yield finally: From 107431e24fff502066fd3878a00943c6c381d56e Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Mon, 14 May 2018 20:40:57 -0700 Subject: [PATCH 0679/1161] Re-run boilerplate.py. Also remove second blank line between cmap definitions, consistently with the other wrapper functions. --- lib/matplotlib/pyplot.py | 25 ++----------------------- tools/boilerplate.py | 1 - 2 files changed, 2 insertions(+), 24 deletions(-) diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index 60e250a88abc..cbd5371d32a0 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -2668,10 +2668,8 @@ def stem( # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @docstring.copy_dedent(Axes.step) -def step(x, y, *args, where='pre', linestyle='', data=None, **kwargs): - return gca().step( - x=x, y=y, *args, where=where, linestyle=linestyle, data=data, - **kwargs) +def step(x, y, *args, where='pre', data=None, **kwargs): + return gca().step(x=x, y=y, *args, where=where, data=data, **kwargs) # Autogenerated by boilerplate.py. Do not edit as changes will be lost. @_autogen_docstring(Axes.streamplot) @@ -2815,7 +2813,6 @@ def autumn(): """ set_cmap("autumn") - # Autogenerated by boilerplate.py. Do not edit as changes will be lost. def bone(): """ @@ -2826,7 +2823,6 @@ def bone(): """ set_cmap("bone") - # Autogenerated by boilerplate.py. Do not edit as changes will be lost. def cool(): """ @@ -2837,7 +2833,6 @@ def cool(): """ set_cmap("cool") - # Autogenerated by boilerplate.py. Do not edit as changes will be lost. def copper(): """ @@ -2848,7 +2843,6 @@ def copper(): """ set_cmap("copper") - # Autogenerated by boilerplate.py. Do not edit as changes will be lost. def flag(): """ @@ -2859,7 +2853,6 @@ def flag(): """ set_cmap("flag") - # Autogenerated by boilerplate.py. Do not edit as changes will be lost. def gray(): """ @@ -2870,7 +2863,6 @@ def gray(): """ set_cmap("gray") - # Autogenerated by boilerplate.py. Do not edit as changes will be lost. def hot(): """ @@ -2881,7 +2873,6 @@ def hot(): """ set_cmap("hot") - # Autogenerated by boilerplate.py. Do not edit as changes will be lost. def hsv(): """ @@ -2892,7 +2883,6 @@ def hsv(): """ set_cmap("hsv") - # Autogenerated by boilerplate.py. Do not edit as changes will be lost. def jet(): """ @@ -2903,7 +2893,6 @@ def jet(): """ set_cmap("jet") - # Autogenerated by boilerplate.py. Do not edit as changes will be lost. def pink(): """ @@ -2914,7 +2903,6 @@ def pink(): """ set_cmap("pink") - # Autogenerated by boilerplate.py. Do not edit as changes will be lost. def prism(): """ @@ -2925,7 +2913,6 @@ def prism(): """ set_cmap("prism") - # Autogenerated by boilerplate.py. Do not edit as changes will be lost. def spring(): """ @@ -2936,7 +2923,6 @@ def spring(): """ set_cmap("spring") - # Autogenerated by boilerplate.py. Do not edit as changes will be lost. def summer(): """ @@ -2947,7 +2933,6 @@ def summer(): """ set_cmap("summer") - # Autogenerated by boilerplate.py. Do not edit as changes will be lost. def winter(): """ @@ -2958,7 +2943,6 @@ def winter(): """ set_cmap("winter") - # Autogenerated by boilerplate.py. Do not edit as changes will be lost. def magma(): """ @@ -2969,7 +2953,6 @@ def magma(): """ set_cmap("magma") - # Autogenerated by boilerplate.py. Do not edit as changes will be lost. def inferno(): """ @@ -2980,7 +2963,6 @@ def inferno(): """ set_cmap("inferno") - # Autogenerated by boilerplate.py. Do not edit as changes will be lost. def plasma(): """ @@ -2991,7 +2973,6 @@ def plasma(): """ set_cmap("plasma") - # Autogenerated by boilerplate.py. Do not edit as changes will be lost. def viridis(): """ @@ -3002,7 +2983,6 @@ def viridis(): """ set_cmap("viridis") - # Autogenerated by boilerplate.py. Do not edit as changes will be lost. def nipy_spectral(): """ @@ -3012,5 +2992,4 @@ def nipy_spectral(): image if there is one. See ``help(colormaps)`` for more information. """ set_cmap("nipy_spectral") - _setup_pyplot_info_docstrings() diff --git a/tools/boilerplate.py b/tools/boilerplate.py index 682fe3b2cef4..ed8474664770 100644 --- a/tools/boilerplate.py +++ b/tools/boilerplate.py @@ -64,7 +64,6 @@ def {name}(): image if there is one. See ``help(colormaps)`` for more information. """ set_cmap("{name}") - ''' From cf84076795c8a640d662befae0d5e753925716cf Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Mon, 14 May 2018 19:41:01 -0700 Subject: [PATCH 0680/1161] Simplify FreeType build. - Reformat a bunch of strings. - Rely on Python's tarfile module to extract the FreeType tarball, instead of the "tar" executable (because we need to use Python's tarfile on Windows anyways, so we may as well do it on all OSes). - For the Unix build, call `./configure` and `make` without `shell=True`, instead setting CFLAGS in the environment as needed. --- setupext.py | 40 +++++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/setupext.py b/setupext.py index 8fbe324488b6..a7170e2a7683 100644 --- a/setupext.py +++ b/setupext.py @@ -14,6 +14,7 @@ import shutil import subprocess import sys +import tarfile import textwrap import urllib.request import warnings @@ -1029,6 +1030,8 @@ def add_flags(self, ext): ext.define_macros.append(('FREETYPE_BUILD_TYPE', 'system')) def do_custom_build(self): + from pathlib import Path + # We're using a system freetype if not options.get('local_freetype'): return @@ -1081,45 +1084,45 @@ def do_custom_build(self): tarball_url = url_fmt.format( version=LOCAL_FREETYPE_VERSION, tarball=tarball) - print("Downloading {0}".format(tarball_url)) + print("Downloading {}".format(tarball_url)) try: urllib.request.urlretrieve(tarball_url, tarball_path) except IOError: # URLError (a subclass) on Py3. - print("Failed to download {0}".format(tarball_url)) + print("Failed to download {}".format(tarball_url)) else: if get_file_hash(tarball_path) != LOCAL_FREETYPE_HASH: print("Invalid hash.") else: break else: - raise IOError("Failed to download freetype. " - "You can download the file by " - "alternative means and copy it " - " to '{0}'".format(tarball_path)) + raise IOError("Failed to download FreeType. You can " + "download the file by alternative means and " + "copy it to {}".format(tarball_path)) os.makedirs(tarball_cache_dir, exist_ok=True) try: shutil.copy(tarball_path, tarball_cache_path) - print('Cached tarball at: {}'.format(tarball_cache_path)) + print('Cached tarball at {}'.format(tarball_cache_path)) except OSError: # If this fails, we can always re-download. pass if get_file_hash(tarball_path) != LOCAL_FREETYPE_HASH: raise IOError( - "{0} does not match expected hash.".format(tarball)) + "{} does not match expected hash.".format(tarball)) + + print("Building {}".format(tarball)) + with tarfile.open(tarball_path, "r:gz") as tgz: + tgz.extractall("build") - print("Building {0}".format(tarball)) if sys.platform != 'win32': # compilation on all other platforms than windows - cflags = 'CFLAGS="{0} -fPIC" '.format(os.environ.get('CFLAGS', '')) - - subprocess.check_call( - ['tar', 'zxf', tarball], cwd='build') - subprocess.check_call( - [cflags + './configure --with-zlib=no --with-bzip2=no ' - '--with-png=no --with-harfbuzz=no'], shell=True, cwd=src_path) + env={**os.environ, + "CFLAGS": "{} -fPIC".format(os.environ.get("CFLAGS", ""))} subprocess.check_call( - [cflags + 'make'], shell=True, cwd=src_path) + ["./configure", "--with-zlib=no", "--with-bzip2=no", + "--with-png=no", "--with-harfbuzz=no"], + env=env, cwd=src_path) + subprocess.check_call(["make"], env=env, cwd=src_path) else: # compilation on windows FREETYPE_BUILD_CMD = """\ @@ -1138,11 +1141,10 @@ def do_custom_build(self): copy %FREETYPE%\\objs\\win32\\{vc20xx}\\freetype261.lib %FREETYPE%\\objs\\.libs\\libfreetype.lib ) """ - from setup_external_compile import fixproj, prepare_build_cmd, VS2010, X64, tar_extract + from setup_external_compile import fixproj, prepare_build_cmd, VS2010, X64 # Note: freetype has no build profile for 2014, so we don't bother... vc = 'vc2010' if VS2010 else 'vc2008' WinXX = 'x64' if X64 else 'Win32' - tar_extract(tarball_path, "build") # This is only false for py2.7, even on py3.5... if not VS2010: fixproj(os.path.join(src_path, 'builds', 'windows', vc, 'freetype.sln'), WinXX) From 41080b1d5c374946094e8063dbb03a56656b8605 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Tue, 15 May 2018 01:38:34 -0700 Subject: [PATCH 0681/1161] Update INSTALL.rst. - Dedent the overindented bullet lists. - Add a link for FreeType. - Suggest `python -mpytest` instead of `pytest` to run the tests for the same reason as `python -mpip` is suggested (avoids invoking an out-of-venv pytest). - Clarify the situation regarding pycairo/cairocffi (the former works for everything and is a requirement for gtk3 (unless you're using pgi, but in that case you're mostly on your own)). --- INSTALL.rst | 88 +++++++++++++++++++++++++++-------------------------- 1 file changed, 45 insertions(+), 43 deletions(-) diff --git a/INSTALL.rst b/INSTALL.rst index bb2402ede7da..bda6843ae3d0 100644 --- a/INSTALL.rst +++ b/INSTALL.rst @@ -38,23 +38,25 @@ macOS To use the native OSX backend you will need :ref:`a framework build <osxframework-faq>` build of Python. -Test Data +Test data --------- The wheels (:file:`*.whl`) on the `PyPI download page <https://pypi.python.org/pypi/matplotlib/>`_ do not contain test data or example code. + If you want to try the many demos that come in the Matplotlib source distribution, download the :file:`*.tar.gz` file and look in the :file:`examples` subdirectory. + To run the test suite: - * extract the :file:`lib/matplotlib/tests` or - :file:`lib/mpl_toolkits/tests` directories from the source distribution; - * install test dependencies: `pytest <https://pypi.python.org/pypi/pytest>`_, - Pillow, MiKTeX, GhostScript, ffmpeg, avconv, ImageMagick, and `Inkscape - <https://inkscape.org/>`_; - * run ``pytest path\to\tests\directory``. +* extract the :file:`lib/matplotlib/tests` or :file:`lib/mpl_toolkits/tests` + directories from the source distribution; +* install test dependencies: `pytest <https://pypi.python.org/pypi/pytest>`_, + Pillow, MiKTeX, GhostScript, ffmpeg, avconv, ImageMagick, and `Inkscape + <https://inkscape.org/>`_; +* run ``python -mpytest``. Third-party distributions of Matplotlib ======================================= @@ -68,12 +70,12 @@ Scientific Python Distributions <https://www.enthought.com/products/canopy/>`_ and `ActiveState <https://www.activestate.com/activepython/downloads>`_ are excellent choices that "just work" out of the box for Windows, macOS and common -Linux platforms. `WinPython <https://winpython.github.io/>`__ is an -option for windows users. All of these distributions include +Linux platforms. `WinPython <https://winpython.github.io/>`_ is an +option for Windows users. All of these distributions include Matplotlib and *lots* of other useful (data) science tools. -Linux : using your package manager ----------------------------------- +Linux: using your package manager +--------------------------------- If you are on Linux, you might prefer to use your package manager. Matplotlib is packaged for almost every major Linux distribution. @@ -133,48 +135,48 @@ Dependencies Matplotlib requires the following dependencies: - * `Python <https://www.python.org/downloads/>`_ (>= 3.5) - * `NumPy <http://www.numpy.org>`_ (>= |minimum_numpy_version|) - * `setuptools <https://setuptools.readthedocs.io/en/latest/>`__ - * `dateutil <https://pypi.python.org/pypi/python-dateutil>`_ (>= 2.1) - * `pyparsing <https://pyparsing.wikispaces.com/>`__ - * `libpng <http://www.libpng.org>`__ (>= 1.2) - * `pytz <http://pytz.sourceforge.net/>`__ - * FreeType (>= 2.3) - * `cycler <http://matplotlib.org/cycler/>`__ (>= 0.10.0) - * `six <https://pypi.python.org/pypi/six>`_ (>= 1.10) - * `kiwisolver <https://github.com/nucleic/kiwi>`__ (>= 1.0.0) +* `Python <https://www.python.org/downloads/>`_ (>= 3.5) +* `NumPy <http://www.numpy.org>`_ (>= |minimum_numpy_version|) +* `setuptools <https://setuptools.readthedocs.io/en/latest/>`_ +* `dateutil <https://pypi.python.org/pypi/python-dateutil>`_ (>= 2.1) +* `pyparsing <https://pyparsing.wikispaces.com/>`_ +* `libpng <http://www.libpng.org>`_ (>= 1.2) +* `pytz <http://pytz.sourceforge.net/>`_ +* `FreeType <https://www.freetype.org/>`_ (>= 2.3) +* `cycler <http://matplotlib.org/cycler/>`_ (>= 0.10.0) +* `six <https://pypi.python.org/pypi/six>`_ (>= 1.10) +* `kiwisolver <https://github.com/nucleic/kiwi>`_ (>= 1.0.0) Optionally, you can also install a number of packages to enable better user interface toolkits. See :ref:`what-is-a-backend` for more details on the optional Matplotlib backends and the capabilities they provide. - * :term:`tk` (>= 8.3, != 8.6.0 or 8.6.1): for the TkAgg backend; - * `PyQt4 <https://pypi.python.org/pypi/PyQt4>`_ (>= 4.4) or - `PySide <https://pypi.python.org/pypi/PySide>`_: for the Qt4Agg backend; - * `PyQt5 <https://pypi.python.org/pypi/PyQt5>`_: for the Qt5Agg backend; - * :term:`wxpython` (>= 2.9 or later): for the WX or WXAgg backend; - * `cairocffi <https://cairocffi.readthedocs.io/en/latest/>`__ (>= - v0.8): for cairo based backends; - * `pycairo <https://pypi.python.org/pypi/pycairo>`_: for GTK3Cairo; - * `Tornado <https://pypi.python.org/pypi/tornado>`_: for the WebAgg backend; +* :term:`tk` (>= 8.3, != 8.6.0 or 8.6.1): for the TkAgg backend; +* `PyQt4 <https://pypi.python.org/pypi/PyQt4>`_ (>= 4.4) or + `PySide <https://pypi.python.org/pypi/PySide>`_: for the Qt4Agg backend; +* `PyQt5 <https://pypi.python.org/pypi/PyQt5>`_: for the Qt5Agg backend; +* :term:`wxpython` (>= 4): for the WX or WXAgg backend; +* `cairocffi <https://cairocffi.readthedocs.io/en/latest/>`_ (>=0.8) or + `pycairo <https://pypi.python.org/pypi/pycairo>`_: for the cairo-based + backends (the latter is required for GTK3Cairo); +* `Tornado <https://pypi.python.org/pypi/tornado>`_: for the WebAgg backend; For better support of animation output format and image file formats, LaTeX, etc., you can install the following: - * `ffmpeg <https://www.ffmpeg.org/>`_/`avconv - <https://libav.org/avconv.html>`_: for saving movies; - * `ImageMagick <https://www.imagemagick.org/script/index.php>`_: for saving - animated gifs; - * `Pillow <https://pillow.readthedocs.io/en/latest/>`_ (>=3.4): for a larger selection of - image file formats: JPEG, BMP, and TIFF image files; - * `LaTeX <https://miktex.org/>`_ and `GhostScript - <https://ghostscript.com/download/>`_ (for rendering text with LaTeX). +* `ffmpeg <https://www.ffmpeg.org/>`_/`avconv + <https://libav.org/avconv.html>`_: for saving movies; +* `ImageMagick <https://www.imagemagick.org/script/index.php>`_: for saving + animated gifs; +* `Pillow <https://pillow.readthedocs.io/en/latest/>`_ (>=3.4): for a larger + selection of image file formats: JPEG, BMP, and TIFF image files; +* `LaTeX <https://miktex.org/>`_ and `GhostScript + <https://ghostscript.com/download/>`_ (for rendering text with LaTeX). .. note:: Matplotlib depends on non-Python libraries. `pkg-config - <https://www.freedesktop.org/wiki/Software/pkg-config/>`__ can be used + <https://www.freedesktop.org/wiki/Software/pkg-config/>`_ can be used to find required non-Python libraries and thus make the install go more smoothly if the libraries and headers are not in the expected locations. @@ -182,9 +184,9 @@ etc., you can install the following: The following libraries are shipped with Matplotlib: - - `Agg`: the Anti-Grain Geometry C++ rendering engine; - - `qhull`: to compute Delaunay triangulation; - - `ttconv`: a true type font utility. + - `Agg`: the Anti-Grain Geometry C++ rendering engine; + - `qhull`: to compute Delaunay triangulation; + - `ttconv`: a TrueType font utility. .. _build_linux: From dad0da1855ff0fbba3a03837c6b43d7203b5b2c1 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Wed, 18 Apr 2018 17:04:19 -0700 Subject: [PATCH 0682/1161] FIX: call constrained_layout twice --- lib/matplotlib/_constrained_layout.py | 585 +++++++++--------- .../constrained_layout10.png | Bin 35956 -> 35847 bytes .../constrained_layout11.png | Bin 38636 -> 38251 bytes 3 files changed, 298 insertions(+), 287 deletions(-) diff --git a/lib/matplotlib/_constrained_layout.py b/lib/matplotlib/_constrained_layout.py index fa0ae537ef74..0879afe60f67 100644 --- a/lib/matplotlib/_constrained_layout.py +++ b/lib/matplotlib/_constrained_layout.py @@ -56,29 +56,12 @@ _log = logging.getLogger(__name__) -def get_axall_tightbbox(ax, renderer): - ''' - Get the tight_bbox of the axis ax, and any dependent decorations, like - a `Legend` instance. - ''' - - # main bbox of the axis.... - bbox = ax.get_tightbbox(renderer=renderer) - # now add the possibility of the legend... - for child in ax.get_children(): - if isinstance(child, Legend): - bboxn = child._legend_box.get_window_extent(renderer) - bbox = transforms.Bbox.union([bbox, bboxn]) - # add other children here.... - return bbox - - -def in_same_column(colnum0min, colnum0max, colnumCmin, colnumCmax): +def _in_same_column(colnum0min, colnum0max, colnumCmin, colnumCmax): return (colnumCmin <= colnum0min <= colnumCmax or colnumCmin <= colnum0max <= colnumCmax) -def in_same_row(rownum0min, rownum0max, rownumCmin, rownumCmax): +def _in_same_row(rownum0min, rownum0max, rownumCmin, rownumCmax): return (rownumCmin <= rownum0min <= rownumCmax or rownumCmin <= rownum0max <= rownumCmax) @@ -163,280 +146,308 @@ def do_constrained_layout(fig, renderer, h_pad, w_pad, 'Possibly did not call parent GridSpec with the figure= ' 'keyword') - # check for unoccupied gridspec slots and make ghost axes for these - # slots... Do for each gs separately. This is a pretty big kludge - # but shoudn't have too much ill effect. The worst is that - # someone querrying the figure will wonder why there are more - # axes than they thought. if fig._layoutbox.constrained_layout_called < 1: for gs in gss: - nrows, ncols = gs.get_geometry() - hassubplotspec = np.zeros(nrows * ncols, dtype=bool) - axs = [] - for ax in fig.axes: - if (hasattr(ax, 'get_subplotspec') - and ax._layoutbox is not None - and ax.get_subplotspec().get_gridspec() == gs): - axs += [ax] - for ax in axs: - ss0 = ax.get_subplotspec() - if ss0.num2 is None: - ss0.num2 = ss0.num1 - hassubplotspec[ss0.num1:(ss0.num2 + 1)] = True - for nn, hss in enumerate(hassubplotspec): - if not hss: - # this gridspec slot doesn't have an axis so we - # make a "ghost". - ax = fig.add_subplot(gs[nn]) - ax.set_frame_on(False) - ax.set_xticks([]) - ax.set_yticks([]) - ax.set_facecolor((1, 0, 0, 0)) - - # for each axes, make a margin between the *pos* layoutbox and the - # *axes* layoutbox be a minimum size that can accomodate the - # decorations on the axis. + # fill in any empty gridspec slots w/ ghost axes... + _make_ghost_gridspec_slots(fig, gs) + + for nnn in range(2): + # do the algrithm twice. This has to be done because decorators + # change size after the first re-position (i.e. x/yticklabels get + # larger/smaller). This second reposition tends to be much milder, + # so doing twice makes things work OK. + for ax in fig.axes: + _log.debug(ax._layoutbox) + if ax._layoutbox is not None: + # make margins for each layout box based on the size of + # the decorators. + _make_layout_margins(ax, renderer, h_pad, w_pad) + + # do layout for suptitle. + if fig._suptitle is not None and fig._suptitle._layoutbox is not None: + sup = fig._suptitle + bbox = invTransFig(sup.get_window_extent(renderer=renderer)) + height = bbox.y1 - bbox.y0 + sup._layoutbox.edit_height(height+h_pad) + + # OK, the above lines up ax._poslayoutbox with ax._layoutbox + # now we need to + # 1) arrange the subplotspecs. We do it at this level because + # the subplotspecs are meant to contain other dependent axes + # like colorbars or legends. + # 2) line up the right and left side of the ax._poslayoutbox + # that have the same subplotspec maxes. + + if fig._layoutbox.constrained_layout_called < 1: + # arrange the subplotspecs... This is all done relative to each + # other. Some subplotspecs conatain axes, and others contain + # gridspecs the ones that contain gridspecs are a set proportion + # of their parent gridspec. The ones that contain axes are + # not so constrained. + figlb = fig._layoutbox + for child in figlb.children: + if child._is_gridspec_layoutbox(): + # farm the gridspec layout out. + # + # This routine makes all the subplot spec containers + # have the correct arrangement. It just stacks the + # subplot layoutboxes in the correct order... + _arrange_subplotspecs(child, hspace=hspace, wspace=wspace) + + for gs in gss: + _align_spines(fig, gs) + + fig._layoutbox.constrained_layout_called += 1 + fig._layoutbox.update_variables() + # Now set the position of the axes... + for ax in fig.axes: + if ax._layoutbox is not None: + newpos = ax._poslayoutbox.get_rect() + # Now set the new position. + # ax.set_position will zero out the layout for + # this axis, allowing users to hard-code the position, + # so this does the same w/o zeroing layout. + ax._set_position(newpos, which='original') + + +def _make_ghost_gridspec_slots(fig, gs): + """ + Check for unoccupied gridspec slots and make ghost axes for these + slots... Do for each gs separately. This is a pretty big kludge + but shoudn't have too much ill effect. The worst is that + someone querrying the figure will wonder why there are more + axes than they thought. + """ + nrows, ncols = gs.get_geometry() + hassubplotspec = np.zeros(nrows * ncols, dtype=bool) + axs = [] for ax in fig.axes: - _log.debug(ax._layoutbox) - if ax._layoutbox is not None: - pos = ax.get_position(original=True) - tightbbox = get_axall_tightbbox(ax, renderer) - bbox = invTransFig(tightbbox) - # use stored h_pad if it exists - h_padt = ax._poslayoutbox.h_pad - if h_padt is None: - h_padt = h_pad - w_padt = ax._poslayoutbox.w_pad - if w_padt is None: - w_padt = w_pad - ax._poslayoutbox.edit_left_margin_min(-bbox.x0 + - pos.x0 + w_padt) - ax._poslayoutbox.edit_right_margin_min(bbox.x1 - - pos.x1 + w_padt) - ax._poslayoutbox.edit_bottom_margin_min( - -bbox.y0 + pos.y0 + h_padt) - ax._poslayoutbox.edit_top_margin_min(bbox.y1-pos.y1+h_padt) - _log.debug('left %f', (-bbox.x0 + pos.x0 + w_pad)) - _log.debug('right %f', (bbox.x1 - pos.x1 + w_pad)) - _log.debug('bottom %f', (-bbox.y0 + pos.y0 + h_padt)) - # Sometimes its possible for the solver to collapse - # rather than expand axes, so they all have zero height - # or width. This stops that... It *should* have been - # taken into account w/ pref_width... - if fig._layoutbox.constrained_layout_called < 1: - ax._poslayoutbox.constrain_height_min(20, strength='weak') - ax._poslayoutbox.constrain_width_min(20, strength='weak') - ax._layoutbox.constrain_height_min(20, strength='weak') - ax._layoutbox.constrain_width_min(20, strength='weak') - ax._poslayoutbox.constrain_top_margin(0, strength='weak') - ax._poslayoutbox.constrain_bottom_margin(0, - strength='weak') - ax._poslayoutbox.constrain_right_margin(0, strength='weak') - ax._poslayoutbox.constrain_left_margin(0, strength='weak') - - # do layout for suptitle. - if fig._suptitle is not None and fig._suptitle._layoutbox is not None: - sup = fig._suptitle - bbox = invTransFig(sup.get_window_extent(renderer=renderer)) - height = bbox.y1 - bbox.y0 - sup._layoutbox.edit_height(height+h_pad) - - # OK, the above lines up ax._poslayoutbox with ax._layoutbox - # now we need to - # 1) arrange the subplotspecs. We do it at this level because - # the subplotspecs are meant to contain other dependent axes - # like colorbars or legends. - # 2) line up the right and left side of the ax._poslayoutbox - # that have the same subplotspec maxes. + if (hasattr(ax, 'get_subplotspec') + and ax._layoutbox is not None + and ax.get_subplotspec().get_gridspec() == gs): + axs += [ax] + for ax in axs: + ss0 = ax.get_subplotspec() + if ss0.num2 is None: + ss0.num2 = ss0.num1 + hassubplotspec[ss0.num1:(ss0.num2 + 1)] = True + for nn, hss in enumerate(hassubplotspec): + if not hss: + # this gridspec slot doesn't have an axis so we + # make a "ghost". + ax = fig.add_subplot(gs[nn]) + ax.set_frame_on(False) + ax.set_xticks([]) + ax.set_yticks([]) + ax.set_facecolor((1, 0, 0, 0)) + + +def _make_layout_margins(ax, renderer, h_pad, w_pad): + """ + For each axes, make a margin between the *pos* layoutbox and the + *axes* layoutbox be a minimum size that can accomodate the + decorations on the axis. + """ + fig = ax.figure + invTransFig = fig.transFigure.inverted().transform_bbox + pos = ax.get_position(original=True) + tightbbox = ax.get_tightbbox(renderer=renderer) + bbox = invTransFig(tightbbox) + # use stored h_pad if it exists + h_padt = ax._poslayoutbox.h_pad + if h_padt is None: + h_padt = h_pad + w_padt = ax._poslayoutbox.w_pad + if w_padt is None: + w_padt = w_pad + ax._poslayoutbox.edit_left_margin_min(-bbox.x0 + + pos.x0 + w_padt) + ax._poslayoutbox.edit_right_margin_min(bbox.x1 - + pos.x1 + w_padt) + ax._poslayoutbox.edit_bottom_margin_min( + -bbox.y0 + pos.y0 + h_padt) + ax._poslayoutbox.edit_top_margin_min(bbox.y1-pos.y1+h_padt) + _log.debug('left %f', (-bbox.x0 + pos.x0 + w_pad)) + _log.debug('right %f', (bbox.x1 - pos.x1 + w_pad)) + _log.debug('bottom %f', (-bbox.y0 + pos.y0 + h_padt)) + # Sometimes its possible for the solver to collapse + # rather than expand axes, so they all have zero height + # or width. This stops that... It *should* have been + # taken into account w/ pref_width... if fig._layoutbox.constrained_layout_called < 1: - - # arrange the subplotspecs... This is all done relative to each - # other. Some subplotspecs conatain axes, and others contain gridspecs - # the ones that contain gridspecs are a set proportion of their - # parent gridspec. The ones that contain axes are not so constrained. - figlb = fig._layoutbox - for child in figlb.children: - if child._is_gridspec_layoutbox(): - # farm the gridspec layout out. - # - # This routine makes all the subplot spec containers - # have the correct arrangement. It just stacks the - # subplot layoutboxes in the correct order... - arange_subplotspecs(child, hspace=hspace, wspace=wspace) - - # - Align right/left and bottom/top spines of appropriate subplots. - # - Compare size of subplotspec including height and width ratios - # and make sure that the axes spines are at least as large - # as they should be. - for gs in gss: - # for each gridspec... - nrows, ncols = gs.get_geometry() - width_ratios = gs.get_width_ratios() - height_ratios = gs.get_height_ratios() - if width_ratios is None: - width_ratios = np.ones(ncols) - if height_ratios is None: - height_ratios = np.ones(nrows) - - # get axes in this gridspec.... - axs = [] - for ax in fig.axes: - if (hasattr(ax, 'get_subplotspec') - and ax._layoutbox is not None): - if ax.get_subplotspec().get_gridspec() == gs: - axs += [ax] - rownummin = np.zeros(len(axs), dtype=np.int8) - rownummax = np.zeros(len(axs), dtype=np.int8) - colnummin = np.zeros(len(axs), dtype=np.int8) - colnummax = np.zeros(len(axs), dtype=np.int8) - width = np.zeros(len(axs)) - height = np.zeros(len(axs)) - - for n, ax in enumerate(axs): - ss0 = ax.get_subplotspec() - if ss0.num2 is None: - ss0.num2 = ss0.num1 - rownummin[n], colnummin[n] = divmod(ss0.num1, ncols) - rownummax[n], colnummax[n] = divmod(ss0.num2, ncols) - width[n] = np.sum( - width_ratios[colnummin[n]:(colnummax[n] + 1)]) - height[n] = np.sum( - height_ratios[rownummin[n]:(rownummax[n] + 1)]) - - for nn, ax in enumerate(axs[:-1]): - ss0 = ax.get_subplotspec() - - # now compare ax to all the axs: - # - # If the subplotspecs have the same colnumXmax, then line - # up their right sides. If they have the same min, then - # line up their left sides (and vertical equivalents). - rownum0min, colnum0min = rownummin[nn], colnummin[nn] - rownum0max, colnum0max = rownummax[nn], colnummax[nn] - width0, height0 = width[nn], height[nn] - alignleft = False - alignright = False - alignbot = False - aligntop = False - alignheight = False - alignwidth = False - for mm in range(nn+1, len(axs)): - axc = axs[mm] - rownumCmin, colnumCmin = rownummin[mm], colnummin[mm] - rownumCmax, colnumCmax = rownummax[mm], colnummax[mm] - widthC, heightC = width[mm], height[mm] - # Horizontally align axes spines if they have the - # same min or max: - if not alignleft and colnum0min == colnumCmin: - # we want the _poslayoutboxes to line up on left - # side of the axes spines... - layoutbox.align([ax._poslayoutbox, - axc._poslayoutbox], - 'left') - alignleft = True - - if not alignright and colnum0max == colnumCmax: - # line up right sides of _poslayoutbox - layoutbox.align([ax._poslayoutbox, - axc._poslayoutbox], - 'right') - alignright = True - # Vertically align axes spines if they have the - # same min or max: - if not aligntop and rownum0min == rownumCmin: - # line up top of _poslayoutbox - _log.debug('rownum0min == rownumCmin') - layoutbox.align([ax._poslayoutbox, axc._poslayoutbox], - 'top') - aligntop = True - - if not alignbot and rownum0max == rownumCmax: - # line up bottom of _poslayoutbox - _log.debug('rownum0max == rownumCmax') - layoutbox.align([ax._poslayoutbox, axc._poslayoutbox], - 'bottom') - alignbot = True - ########### - # Now we make the widths and heights of position boxes - # similar. (i.e the spine locations) - # This allows vertically stacked subplots to have - # different sizes if they occupy different amounts - # of the gridspec: i.e. - # gs = gridspec.GridSpec(3,1) - # ax1 = gs[0,:] - # ax2 = gs[1:,:] - # then drows0 = 1, and drowsC = 2, and ax2 - # should be at least twice as large as ax1. - # But it can be more than twice as large because - # it needs less room for the labeling. - # - # For height, this only needs to be done if the - # subplots share a column. For width if they - # share a row. - - drowsC = (rownumCmax - rownumCmin + 1) - drows0 = (rownum0max - rownum0min + 1) - dcolsC = (colnumCmax - colnumCmin + 1) - dcols0 = (colnum0max - colnum0min + 1) - - if not alignheight and drows0 == drowsC: - ax._poslayoutbox.constrain_height( - axc._poslayoutbox.height * height0 / heightC) - alignheight = True - elif in_same_column(colnum0min, colnum0max, - colnumCmin, colnumCmax): - if height0 > heightC: - ax._poslayoutbox.constrain_height_min( - axc._poslayoutbox.height * height0 / heightC) - # these constraints stop the smaller axes from - # being allowed to go to zero height... - axc._poslayoutbox.constrain_height_min( - ax._poslayoutbox.height * heightC / - (height0*1.8)) - elif height0 < heightC: - axc._poslayoutbox.constrain_height_min( - ax._poslayoutbox.height * heightC / height0) - ax._poslayoutbox.constrain_height_min( - ax._poslayoutbox.height * height0 / - (heightC*1.8)) - # widths... - if not alignwidth and dcols0 == dcolsC: - ax._poslayoutbox.constrain_width( - axc._poslayoutbox.width * width0 / widthC) - alignwidth = True - elif in_same_row(rownum0min, rownum0max, - rownumCmin, rownumCmax): - if width0 > widthC: - ax._poslayoutbox.constrain_width_min( - axc._poslayoutbox.width * width0 / widthC) - axc._poslayoutbox.constrain_width_min( - ax._poslayoutbox.width * widthC / - (width0*1.8)) - elif width0 < widthC: - axc._poslayoutbox.constrain_width_min( - ax._poslayoutbox.width * widthC / width0) - ax._poslayoutbox.constrain_width_min( - axc._poslayoutbox.width * width0 / - (widthC*1.8)) - - fig._layoutbox.constrained_layout_called += 1 - fig._layoutbox.update_variables() - # Now set the position of the axes... + ax._poslayoutbox.constrain_height_min(20, strength='weak') + ax._poslayoutbox.constrain_width_min(20, strength='weak') + ax._layoutbox.constrain_height_min(20, strength='weak') + ax._layoutbox.constrain_width_min(20, strength='weak') + ax._poslayoutbox.constrain_top_margin(0, strength='weak') + ax._poslayoutbox.constrain_bottom_margin(0, + strength='weak') + ax._poslayoutbox.constrain_right_margin(0, strength='weak') + ax._poslayoutbox.constrain_left_margin(0, strength='weak') + + +def _align_spines(fig, gs): + """ + - Align right/left and bottom/top spines of appropriate subplots. + - Compare size of subplotspec including height and width ratios + and make sure that the axes spines are at least as large + as they should be. + """ + # for each gridspec... + nrows, ncols = gs.get_geometry() + width_ratios = gs.get_width_ratios() + height_ratios = gs.get_height_ratios() + if width_ratios is None: + width_ratios = np.ones(ncols) + if height_ratios is None: + height_ratios = np.ones(nrows) + + # get axes in this gridspec.... + axs = [] for ax in fig.axes: - if ax._layoutbox is not None: - newpos = ax._poslayoutbox.get_rect() - _log.debug('newpos %r', newpos) - # Now set the new position. - # ax.set_position will zero out the layout for - # this axis, allowing users to hard-code the position, - # so this does the same w/o zeroing layout. - ax._set_position(newpos, which='original') - - -def arange_subplotspecs(gs, hspace=0, wspace=0): + if (hasattr(ax, 'get_subplotspec') + and ax._layoutbox is not None): + if ax.get_subplotspec().get_gridspec() == gs: + axs += [ax] + rownummin = np.zeros(len(axs), dtype=np.int8) + rownummax = np.zeros(len(axs), dtype=np.int8) + colnummin = np.zeros(len(axs), dtype=np.int8) + colnummax = np.zeros(len(axs), dtype=np.int8) + width = np.zeros(len(axs)) + height = np.zeros(len(axs)) + + for n, ax in enumerate(axs): + ss0 = ax.get_subplotspec() + if ss0.num2 is None: + ss0.num2 = ss0.num1 + rownummin[n], colnummin[n] = divmod(ss0.num1, ncols) + rownummax[n], colnummax[n] = divmod(ss0.num2, ncols) + width[n] = np.sum( + width_ratios[colnummin[n]:(colnummax[n] + 1)]) + height[n] = np.sum( + height_ratios[rownummin[n]:(rownummax[n] + 1)]) + + for nn, ax in enumerate(axs[:-1]): + ss0 = ax.get_subplotspec() + + # now compare ax to all the axs: + # + # If the subplotspecs have the same colnumXmax, then line + # up their right sides. If they have the same min, then + # line up their left sides (and vertical equivalents). + rownum0min, colnum0min = rownummin[nn], colnummin[nn] + rownum0max, colnum0max = rownummax[nn], colnummax[nn] + width0, height0 = width[nn], height[nn] + alignleft = False + alignright = False + alignbot = False + aligntop = False + alignheight = False + alignwidth = False + for mm in range(nn+1, len(axs)): + axc = axs[mm] + rownumCmin, colnumCmin = rownummin[mm], colnummin[mm] + rownumCmax, colnumCmax = rownummax[mm], colnummax[mm] + widthC, heightC = width[mm], height[mm] + # Horizontally align axes spines if they have the + # same min or max: + if not alignleft and colnum0min == colnumCmin: + # we want the _poslayoutboxes to line up on left + # side of the axes spines... + layoutbox.align([ax._poslayoutbox, + axc._poslayoutbox], + 'left') + alignleft = True + + if not alignright and colnum0max == colnumCmax: + # line up right sides of _poslayoutbox + layoutbox.align([ax._poslayoutbox, + axc._poslayoutbox], + 'right') + alignright = True + # Vertically align axes spines if they have the + # same min or max: + if not aligntop and rownum0min == rownumCmin: + # line up top of _poslayoutbox + _log.debug('rownum0min == rownumCmin') + layoutbox.align([ax._poslayoutbox, axc._poslayoutbox], + 'top') + aligntop = True + + if not alignbot and rownum0max == rownumCmax: + # line up bottom of _poslayoutbox + _log.debug('rownum0max == rownumCmax') + layoutbox.align([ax._poslayoutbox, axc._poslayoutbox], + 'bottom') + alignbot = True + ########### + # Now we make the widths and heights of position boxes + # similar. (i.e the spine locations) + # This allows vertically stacked subplots to have + # different sizes if they occupy different amounts + # of the gridspec: i.e. + # gs = gridspec.GridSpec(3,1) + # ax1 = gs[0,:] + # ax2 = gs[1:,:] + # then drows0 = 1, and drowsC = 2, and ax2 + # should be at least twice as large as ax1. + # But it can be more than twice as large because + # it needs less room for the labeling. + # + # For height, this only needs to be done if the + # subplots share a column. For width if they + # share a row. + + drowsC = (rownumCmax - rownumCmin + 1) + drows0 = (rownum0max - rownum0min + 1) + dcolsC = (colnumCmax - colnumCmin + 1) + dcols0 = (colnum0max - colnum0min + 1) + + if not alignheight and drows0 == drowsC: + ax._poslayoutbox.constrain_height( + axc._poslayoutbox.height * height0 / heightC) + alignheight = True + elif _in_same_column(colnum0min, colnum0max, + colnumCmin, colnumCmax): + if height0 > heightC: + ax._poslayoutbox.constrain_height_min( + axc._poslayoutbox.height * height0 / heightC) + # these constraints stop the smaller axes from + # being allowed to go to zero height... + axc._poslayoutbox.constrain_height_min( + ax._poslayoutbox.height * heightC / + (height0*1.8)) + elif height0 < heightC: + axc._poslayoutbox.constrain_height_min( + ax._poslayoutbox.height * heightC / height0) + ax._poslayoutbox.constrain_height_min( + ax._poslayoutbox.height * height0 / + (heightC*1.8)) + # widths... + if not alignwidth and dcols0 == dcolsC: + ax._poslayoutbox.constrain_width( + axc._poslayoutbox.width * width0 / widthC) + alignwidth = True + elif _in_same_row(rownum0min, rownum0max, + rownumCmin, rownumCmax): + if width0 > widthC: + ax._poslayoutbox.constrain_width_min( + axc._poslayoutbox.width * width0 / widthC) + axc._poslayoutbox.constrain_width_min( + ax._poslayoutbox.width * widthC / + (width0*1.8)) + elif width0 < widthC: + axc._poslayoutbox.constrain_width_min( + ax._poslayoutbox.width * widthC / width0) + ax._poslayoutbox.constrain_width_min( + axc._poslayoutbox.width * width0 / + (widthC*1.8)) + + +def _arrange_subplotspecs(gs, hspace=0, wspace=0): """ - arange the subplotspec children of this gridspec, and then recursively + arrange the subplotspec children of this gridspec, and then recursively do the same of any gridspec children of those gridspecs... """ sschildren = [] @@ -446,7 +457,7 @@ def arange_subplotspecs(gs, hspace=0, wspace=0): # check for gridspec children... name = (child2.name).split('.')[-1][:-3] if name == 'gridspec': - arange_subplotspecs(child2, hspace=hspace, wspace=wspace) + _arrange_subplotspecs(child2, hspace=hspace, wspace=wspace) sschildren += [child] # now arrange the subplots... for child0 in sschildren: diff --git a/lib/matplotlib/tests/baseline_images/test_constrainedlayout/constrained_layout10.png b/lib/matplotlib/tests/baseline_images/test_constrainedlayout/constrained_layout10.png index 97cf2dca98a087c75c32bcf4e77beca8675eeb26..32c5089c640439d0c3605897c9dfc0c3ed79aee3 100644 GIT binary patch literal 35847 zcmb@u1z1(v*Dg*;2nZVxr9&j7r5gbOML<9WX+bGzkPZo9D^jA;AfkjKA(GM{+W;h_ zyG1&r<3HBsobPwPd++o7@AKTd&*M3V?P9LE=A2`Ucf8{r>+y9hHS&}6Cvk9a$gilY z=;Gkuv*O_384we~H%T7B&hQ@sH>E2#h~eW$d>0KrlQ^s2cEiD;xP$z`%~8m<g)ep7 zFB`b)Ia#@T-f_K$<8a5_+1|<B-qwQE<DRRVt&=0`MFHd=XD2sz2}ucoyZ1bVc&$Z* zM1{pfEhX;pvD&!1J4*`+{^u73oLsF1M^bteaBx_0uBcqP;gzy5Z0mL7X3yqoU;>pQ znk@JsF`64)brr{fh}exR?%|WrO9UCGb%fg{LSFSrzEWX0@t9kW15J!e&~S}7@(Fn` zzj7uCH(@dlTMJ3(dO)9MWmn6Mw;rkQ_B>50(k5=absf~UyLl_Mc<ZDKBj%C{@@XP^ z(szoL9r@HNlcTYp?WgpVDCD!6XmQ3z(a?~7zURZ_SbfMRn~vatlKW@MkA8P#a&U32 zH&Q6XBqn})&})M6-x^kHO%fyJEk>gsyo-eK;<=`bBig$<J8e4Oklem~dk2%Hm3p<n zw0iBR`hKs#pI^C+9hqvmh9wuq$H(8ieT$-^YJhRQ_g68bN41J7P2o2fE~}`>y0vK( zJ~_?Xj87q}=;tSE+5A*$-jWfM;WS!fKT?(W^eLIR)5tZLrNodkeh3i-r<`1MdvFB0 z@6`Y|JNrbUn>eeO-7oX~?Nzd~LJun+%%}Yo?tXW35+?t~wAyC}lV34IA4bm5{4I{_ z%9Sgt0Tw7!#PO~5xFgyd8yax9bzZC7k*!9fd2_{|pwTqC_!sXq5HvJ2*bG-b_#ghl zxJkeu-VW}>asIrp>y-Kh{d~VR%;I2K^yLUzonkA^t1tQH7SFO%5kxV`G{YbClP9k& zzC0<NOo_M4L~lPyw#y{oDiCLNn{AtZ%$4@a`e$0zMyJNC|HA9b5hoYu&#}8!P*G9+ z?k~<>JUjaa9#DMS*WvltbP3_zxz4xl^F5Isivz;8og7L^N^N`FUB2U792_(TIdg<X zMMX_tzVt`ATp3EB8%i9EOsr3>D6{WZf*slSDGjsBJaV&il&~V4-aIYwOO?dY)K*bf zPp@KY#MgG<6OV{h%PWH-Qia7i4bnf|@6}XPLM1G=uX%ZuU))18xP2BDDVLBKD~rF7 zD_$9b{h7P0VCTLA&8in_*K^cgZEth&F&b^&mLe4z7Upv<9*usFUCfkWZ-uC2Nf&l0 zDJlEm%F_?0f5f|OuiU}e-CF*cCg+QeisF=zh=;|xc<=jjywTBe7fX5xM`QJl%PI@k z9cWOf3cpzgMGH&IZ*6UDM_WygsS{x|oNAxH7QOi<ckkW9U73gwOj|u@3?uJK&O;M0 zcB`ULu|GUV2&d|T@MjNZnj;w|C8PB5D=uBT_H>arz6HBB!>~-rgM{79#cuP<G5<Ug z`Yc=2ThDKQ=X<+ybk6mBFq-}T$b{X(jI}3Lao>pwHLA;m3e@M0Ylo8ypElM1#ir=Q zj?HaC#7+@=O_TMnhsTEZGY1!Icc^q7e5^^b%V!c|uTk;){~74b_11KXWQjp7Hued# zQ_P{Oll3n4T&Pt!xSOs`%{HF2XPB@he1lqL+1pZne+$+mCiad@Bzid)7Zt0t+HXxs zZCQiN<m}Pz8BwQGwTCBp^&7-``?NSFd||3h^M||oUQ;Nq4V?s0k|(E&Q`J?PYRm#3 zWofdBP~Z9xY~)mus@`-8Za8uCoLa+J{mPJ=kOv=)&I=T3d^TNkJvN>wH}`s3{-O%| z=5K9$)apr0P`p`~zG+aeS-9s&Pz>c@u8PXS-W*q#-*W+nr0Ds4xJi?M$yqjbW|;>k z(|k_K?-Hv<hxHi@K2}lLZyY^3rK97#SW;+%y7BI=Of1?Tnddn!?S_ZALf#jfFv)}L z>=tbvpPVTE&Nl|1xSpQ^_ddJ?dtzKVWc<6E)T%W&l;C$qqX#<*byVn8)E~C59T;5U zHvWXyo{MUg#Sr!(e!5Ticjt+jmY{+f-E}s0S3_MY_XT2pqog}|cJeAGb&+cp+S%N0 z*FQPE^0(J{xw@44F?u`vr$YGNvcv<I9zO2dop6UEWHSY>+@k$ti$C9!s6jUHsR&s_ zg(i&h^2iLYFzV{_LU>>WWJe-Ottmd)+}SKPt6^NK8N^Od$mbJXjkFD=-!2agza2d9 z5pwS{(_5o#7pXj!!=BUF{Q8PqxyOiUk@wlWEkZh15ZH}#E0(lFz<}NL(%fA8yBCRD zu}LR;&79!((f(2Rf>k)nHKga%l90(=gQZF7eaYWmS&}&R**%vo>pVNvf>!Fqcq9M) zBB}Y+sW^DH@^A<cQrRp44@(`!|GdBRjcPscvP$sqx48C#^#0X9UD~Y<s0yz$_KKaI zod#u&OhgpSZ@>fo$~W12ib;|6erDU1RphZ~2p;rzU(vbP*w{x@1}c7&$xf`&^p54Y z&*C!tyayleN7!YmJAeNs>=r%K_Q<wtte(h$i^?S(Ji4u|t*C8hXkK34zNKEamfWPK zI2TuVP7XKXvL>TszP7YXRd0<<cI%r>m-L$QR!xB!yc7)AN^MbE_g;Txe;bAmhv8SG zeP}8@9=+hbvuXdky&hK2Q+igO{L7QmlR-qxtn%_{!j{b`>m(!IvrM|Wx(RZ=;_vkf ztk!2*$>>GVy=H-_%e6-}*OemF$9Hz`+w`{C7kzflNQypsJHSnqa*A2h`jLKtcvow; zAKJL)e+@<JB+bz*KZiX>HM6x+*P<iO3I|i2ze>r%vON5WT{p+7<)MJdHT;X#r=DN9 zClh<5<3K|qpO|PR5*5kN>QjE}1DsM9iD-{^BQ^dqbaZqOp<manx=w%ZD7>Q#OCfiX zi@ip~g}tdsace0HMM7SZ`n4Kj8y;q9xV=ise)JUYtvV)8#Kr@d#aQR&=5T)H-ClpX zXV;UL7+8zmE~8Ko{an7k^Aqfert8p)8JPi@jHgnuRbgN)UEM%o2AEV(eWrrQDJE%x zy3_i`F3tYnsK>z%Pfblx`lLncT3T9?P*4au^Ko*9B_y2He*O6CWuJA;vlpALtul$7 zR8q3%lK$M(q(VhaP0IMAt*!L=%sxzVXgS`j<(@tpn-$LdgWi5EcMnGZ7TMmv9@6Y> zVcvLqds`2A?m|%Vdrp7m3=)yJgjJ?4N}j4(dt$3->PsGW>hI_be%m2tYxnQG?XR5J zw<@z)1Kbmi$>NDK=VXV-%&TYU2Oqb!YL@6siAK}MoIHI22LO$Cv;W@KGMB7u3PfF> zwR0+OC{v_QXe*FgHrM$s*Ngn@)1omzCU}2X8vW#=CT8Nx_1tI3I$$yh5llhDqZ_K3 zES~Bznx&bXV^&+kr7g(*h*gkccT3{FTywO<ynNGVWB}X0b~dBTf4W5mW8!(OWn$IM z*KAO`FZ4~nF?kNvS9!00ZEbB;s0ldm0ZXzOt*OS~UT*Srb!*kq*UMH?3Qme{cnuFE zukkWLgaw6~DNUk?ZEzbAVWsBM0)Q6&!Ke(c&~L}}6pK8W;?dy&&#k<(%HgNZOG_uo z`|k?*Z988S5up<@$2rY=YpMvt%)5VthpOPlMAhR{BuMlmie$K14?Z5!DAD04Y)Ql) zu1tKuB4Vxd?HPCh0?Ap~hQ>ywu{^WzQ%v6jjs5(p^h)jf_xJK^4}Gi`2TEpr?W_SH zof^wCDqE_Grbhi_lAe;}H<Z-+_AIK{CU#MD#PWSqj`$OTDBCW^Y#SX+#Zds}+qa_B zW|<pmO{1w>WM6~ui3Hv~My7}abO55Ej~?liIhrW#d&@AzvOarpk2Be6fFOeQQdd?f zbwxUuwE6ZFHAE?|-)sp&mqcPz{Jz{5EO~Zbqw_kokIMe{G`X3inbCld=^q&`mV=Lj zqXBsZK8X;K!8t`w5O}~#vublQ4{dz1dPoKDhAN?oYD4YeJ<jcSJCrD4kr>sdLai7L z!NkR{VA0zzwP5nE76&tK@=AJBK@gOF02YZV`sp(E<;<O5+}l6Q%)e4Xv<i-+r;NoZ zz8BH|?d=U7g9@tr>K?48)=CZLN_*%sId-shXT==3G9J0|;~jj668dHirGwSGc1XBe zknyJ4{VTE_Er0N9h!*7wp_%~gR3rS^#3WFTgG>3*NhIp@#mC{x`P2<n#3T??$lHLA zx9NYOj$=?Wl(J*fj`NaV4<Z<z^F|I`rF5WtOVZmJ<t8(L9WE6+>#d2=pO-FL%YT0f zfgECc2oam~fPIs2puGD6GEzzwp-R&is}`a3rIP#B0)pH(zhfWaqDZS1BZEZJU*`{o z{aPICN16~tG&EC)g@tFH1=ESJivGf02N7zfl}&EgIL&7^6(;)?311URmdyz!#)M=K zdGuZ-l*Un_?#yc04A5*Yio}~<Rsqk%ZVhp>>E4JRH2{D#|DFZw0+Jeb_LU!kSvy}_ zAN{&fKF0|QG-bSz9f8)6j7l7kxl2sO;>fuZ7TTwEp4|eBFl&dHG^G1|hKB=krJwtF z7@8Do(hdUEK3gVko60IG=7=!|+jX}DuU~xuyBJFfC~RVOZS7THV1g{2{NY(<f9!)C z75a!Fkm650K#H0wuzOcw*p2NXfE2?FHM=LXv>v6&L8L;hQfS0CRBtsnlqEWR{qY=$ z_5v?^;L==6%&YtQ>Q{pWYi}TsVjx9orbX@U8>#gS*bozBw2a2^*5vuM>6y4{0Tbj< ztx`OG>^$mk_0e0G>N%e+Y>4p%09yf^yrcu4f@+VLX!$Qj@LpCS;JhYe9pd{pc&;l$ zg#>wCSJ>dybG}<jKVB9(Fz^{!mA(Mj>~-WX;`d-oaeG08-2AkQ2r?G?Is7EC5QW2s z03|w`u)D@cr26z>pMlrv<?R(^<U$$$0M-ejQm61+AI7Gxh}4&9F=5ZA8)KLIQ~DE5 zRd)!B>~P+r_W;He+0Wmy86Mz!V_bx1_Y1%c94o!-vBzBILz3tSkw$~d96~U;BAZ4+ zo57xIOC}!)-rc~0qMA6a@mRH%{Y(<-76%jwBOp7zolPTjRM>n$_|)B;>qw|Z?YX*T zs8NW_TMmf+9vOyjR>k=zsfx^ZT;2M+TP2c*^MCoF(RCe}R+T$d-Yebu0NC(e0D56b zR$v(@3Hfj5T{--kgK^3CU*EJ+k?n7I4aY9LW}iyhQ#{_ZHI?+O#vq(V3p1-MDc=1? z3V@3h{Omy*aM+`-CEXR^`rShg@w)vwb~Og884N!?{3KdTJ!ayGSjD5(`w{JD_zdcj z#O{Cn{{6L8Ym)o&NGjw~zVmaJjTaj!#=mim{|pQ(vdpm28GPKN4*{ahVOGnnbh4dI z<Y7sGKMdS-MphpGSzMfQvbY1p135GQzo(NWoMr?AcSw=^w<}9?T~!sO?>o=m<tMvN z=C@yz6m6a{!0j4fYuo;bXKE?|7eTGT;TZC-Q{UolSGw~QRBzH7mD=9{%=0EYTd&&Z z0U<d(gm12@SiPnPj6|m1CrktA!pK8BN4p6|%^~2pIwngb&zuweCCXBAA6b-|DHr^Y zwq2Y!gk)!90`vTK)`kL)4j3h!A3}Pr9T<w9Pm#WtwHd`|OCLSn*zHHa(5)I<Y*fn( zr|o_IMH$n%Cn~XHlP>tW*;-6E0Y?X0co@&6p(~Kn=DzM|qq>W=!m}cT&5<G2>ENF1 zA@h^!8a=e4P3g^dpiR-ww+Dmh8(U@HsPW&s2nq1+#$4mdcw@!xpZB+G{G=W~e*Bb9 zB<#Aw-*cCynn=J<t=dAt<>(8-Qq#h0f?o=VDHA4(3WpFLTdMtPIWCV$r6??ErbfJg z?Dkm54kq1qsRA#aIYq<Xo)2h?6H#B9nkcEMCv8Ph>Cyp=%w9NPg@X$oi*_<P=2xy= z;}8}usw-Mpu-C8^xCSUgVWv&&Z_zysk@2b<JcEz%!Uyd#iM=v#`wQ>jw<b$)v9kxe zOg8IOxZb<<!SIXQPdUs_g`;b_x}Dy&3IYOAXf(05CEDP@cHz$5<z%N8E?*s;QtA_F z#Rsd^021iM?C$b(>_A?9wktcixIR^;aW?%v;j^-e58_WAo}rH!Zw!x%kH;+Z7q2UP z_`KT8Amutm49virH*YBE=;mCmqXHj{;e5JJq;Np+?VFX$TQp4XT7vlu%iksP^njCJ zs>J=TsSLGDUjA)V=J*!oXl;C<9k3=21pbM+Xv$S1->sw*FO13>KHjsFpHjHNaK5kl zNS^F0PP7~$H5UZY*rSzl+}s<vR5Bh5W3WLdqMU}xQ4hZlOep;mZdn2oNNO~b!1W)h zl;{M%n5<)PQncr*TEX+%K+&vj7m%Y!IGE!@!&w3n0L-|+X<1(^8-4cjWiy;w@4wyp zxw>ypIt-TnRn<b(e)Rt=HR!Tk*pI2Xgb#Z?nj?Ny$d%D+?)+J48gOl8Bb{U%D5*FM zm&)GXc?_(O_hLzJIph#)(Q2xyYaMDVI+gCW$RRfCuRLv77FH+(PEVB_#$w48zgj2- znW-ODbJU}9Ns*^FRi^B#Trbb)Y0G_ibtz;U=Jk)UKNmC`VbJEE&=+?M6?b^0d*0w9 zfvAR7n;Jagmv3=^ai8<7eB+uaMSrdEa=2p9@%nP^&G)n=cHL_|dQY}rIMqJ-ZBxD^ zEi#{JaT)GS4ollUJ);!O9P|8cX@7SPJ*t9|pOm_Sm{&jPNB*DQ@aZ1_QP4PyGFCIb zEy>n|WXS4AWDu%M;nDI5S<5d~b*1cVr<>e_+^sW1IZHh2O<k{9@|`@$DS-?8>fMrJ zD?faHkani+#0LgiR8SsYG4oP5i}|XBn~}<t1^9QV@NaSB^+e-`dz$B{Xsy5m(f*%3 zmDgt=I?p`&^?B(dxcnjDF23G=%0x<`Kz6WO|10-;RXGGr_RWLC&xt{wtfMP7-szk} zoLeLWzWwO3(XdM)Ei|LsUfhPq$f2|Im93s+z)*|gJF`*n@-Dm(td3?Rt$da>1nb`y zH25yt1{a`->t<TBcDQx$ZWTb3C_`@Da^Fo6{_WC27fm7m5J-mEbmaRcg*-C~9UZHc zKhMrzulNYFneebv<oG>3U7s1<ke!}X!h%mU0FG^fr6*6=XmP~r96+p{H9#%utk?0` zFD*8aAox<aalz+ryE1~jw!`oJc%{c>Gt@^$&u4^yI}#e84=&AbyOb}>i&T3ylZmmg zvuC#^6D<xVGZoMZAd!FMEg>v^?78-gkcu?#HpVVsf{6WAPq;7I(Z{^uIEGjxqR8Ct zS|^`)G3sxfZyOa=ihTyZO}eJ0gaW~u<DkPqnTs3y>Z212@CK#NjVo!`&mDsh7C)S5 zSqt%LgtxJMk%Ok85@V$j^;o<}uBJ+uXG~Hy>WJ)I;8`iEw15HoOY*?lbeIvb>!LSy z!U!HQ$-KJB3rOqc`<9o_fG2Kq0Zi*P&+m2cV7vCH3+EP!#}6hrcCem~<qeXPPKw<} z7SCcdS8wH)-b#lW!dx_8V4om`>s}pfp95@rnm385;N7ibs2Rs~rw&Kth+BRHpzZ2u zm|kH|{v+R|Aj1;#4)(54G@9TupsRjrtDj;25;i2_hE|-oJm<gU?d0fFycE>OBHM+t z?sIr<vkfhY5akdyiprT*K-5~^v6hKeFl@yc8=Pg_zmlB+NK$i1FYSq}WiVg@5^gj9 z6I&ys4ueS&eVuQSr7IHT{gD@LRMzGv)Rh$pr-Z8I*F*KXgo`ICAB5~JiNw=}K0;!< z#b}xw81PSpWDVVAELlT>94FSN3`G9Bila4FI`>v5u<(3qZy7FJ8n$vU&QwLd$-#}q z5wfF^J(MJ4CQJ9jyBvXCIWr$=QHPUi(Mh;@5~E0HLxbHK|8N=W)*pX#re$NKTvBu8 zGzz!x;}=nuFA>SOc@O>|Sb2>l37<WGN^+$|WaV&gWpgl#1SrMraiU@rrduB_gOmbB zQ@>=V*z{m+ZLA1m-axSZ`<&a(3&2Sdql)gIq$Xoi$WC8CMswvX5Mu>m!eXS#8$yKh z{<e!<_q)sP?xGU&uk}`6Q**Ugti$oU5(gM95K`-!kA70_e+W=0D~7d?_mCx&k|_{n z1@_<lcYBc7{hsR|48<U6OqBJ$xIX*Sdiwi|k!=(^qr$1-&p^;+;X(okJJhCKqT@F` zU!bY^^l4~+aRw49flO`XC0CDTmfK#%up}x3%0q^U&kEEqOW=M7gSKEp>^UpD<v-mq z&k2qW#i&>Bzl)q86|qwMnbux(j)POlCI>c<eRkFb|Jk!=O0KRKU0hstoC<NyUw!@x zVs4szHF1A`dySm^5HaZ)rS%!u9pePM%<YDz$L+NWU}!&dBW&+wqst#+23OjW#3Ev1 zD1Ek;T8k_(eU%S*eYckWs*0mF7eik1-|6BssJzh{UJeWsO{uWuD>H?&LO5C1bl`|C zjRRD=(@2<Ky=f?awC@Hrf@_f4=0HT`H!8h5+m<@=mHX14XoZ%)Ei#@B-(NWIEh1Bq z?N;Tv=2SzXEqCIlJn3ZfC6wl0D%6?Pa$vac75Q#ChCvdZqm#Kk9?r7;J2Tqgvj_jy zkQ)V;cG`xj7RklhL%T4Wd)CQphGjz*GO=IZ>Nq@a7?Tvbi{7D^XH<>s1Uq(NiPr9; z1@dAN6TRLhv%CW1;5pBKD0AKTt&<jb=uOLKpa|!oZRY?$Luh#T8A)1dYGq)}vpbsJ zmO6yo`tVAHq|5KuJ0PpJL;gFZ({O{~%OIq?+35hMtM~Gy_Shy$2e|P}Z4@uu$|F{U z+@6%tsVj>dhe5(ob~)MJ*q9N{Zd!8;&gx{eRj|{}npLY>_d8gOTFF6{(fQtjY@JNi zmsF{c^n2-<rrn+wwx#mh7vBGzecHvufd*I5IQW52!mY1IDfj}0pSW?NCcSpgaj55+ z+^0>{|8SCr$4<U!7-nUJ%_551{l3$Hiv}i4f|W_y9Y@kKr)O>Y2X6W0Gs{0Nt6ve0 zH|c(FowZ~7;02tdG+@G<Bt6I~J;c_dAxrT2i^RGnH)gZo?#c)E0p&NxuqksJmGYGh zdoYapt&<nj>|TJvLAL+i=EzqbTs|qfO7|ehK%7468{Yw=oQ0|Ag;OYJYppDn33&>r zTt<A$1e0mMnBPoG;>KK8IMhRCSnl`a(E;cAHbI;-emy~qw9+%&cS*R*udxBrmR06% z)e2*xQ;MHGR=TtcZDRXRUsvI{?lsM{^6q`U1*EKZ@7|4xjlJ~Z!p$7h>Pm?;L%hCU zx$R|wLxHswCfLY40^DW1<+5op9mc7){^Py&H;)n18JX^m9(#B5y((ams-5RluOKBR zJSD2<H#s>zI`4WJ@0neuao$rhn_>EoA6syG2+6T&t9+~0>2wCM@1iVlbkqG_&nT-9 znD2SG<#vO?5<W|!K#|-4Z)D9#1S!TD(}z$G*cuII-zBF(-I>4D<p)%EQuHye!Xs;V zf=7N_(#p=sn6c_FZPoT`WMYS4PQ^2sSV(o8KE82=P^c6iZ!J)<J4FqN>se7OF@6Lq zOUXoDavw6o3pbE_^vw!#<%0<V*?pmF>8Gf<lAvaQ$9qc=6V+bG=64_#8jd756AX5W zZ`!A(>Ov?Q_II*yy~l77m$cuwzhgzZmZb^oF}KM81bx(K2bDPwjapQK_9iWVu#_8; zfTnCt$G2A$)742kr6JEN56?UQvAC6CK1r<5JScI7mz`b6mdbtk)Np0}Q#wj|gxtqg zW(o$%C=5%2(*uIvYGhm{J-%l+i_&Nf_@rxzcwZv0IVlkGt4WZy&$N!0jkXYsDja-6 z=5n;sW3)0AhXjLF41L`N_IjXZyuK9F0)6W|hLdM_0_zKqI)Ei%LCyY0x~AQw&y-Xa zG7t?+22N<mmO3zeas)O!k))=??l{!t>QOR~0#63H{!cmJECDzGB4XabD7?~S;MQ-0 zaD1y3x%(c(m!E;+>(P+3VVJS?qCg0DKQ<4xC{Lddv#Xo<;@o``34(o|69gMez;&g{ z_5%QjJ%Rz_?{#1J-Hz*6({EqmJN@GLvi<Tz-%mEEmJ||`N+du{1b!km5$Jz?*{V$~ zj&r6Z999=4>34RZ4A5B1!%GO_vd$({5%{*yZ`I)a{+3Xnys^t8<j`y~N#a1L*U*cL zYn{$zXLp5&J@xuLM}h_^)B|o8v+}iIA7XRq5jgbuTW*_~w?(k)pG;3#!99s-RHnF; zF2Axfn>5DDju#V)8yj1A|IC{=2^xBrRi^fTJ^Xs2dMmA8X${i)IBn5-{o`X_I=OPE zSXeED5P72V5PC`}E=<sPW9y3T;ac*)T7Wz@WgrAI&;gbzDt(owlf=dJTJ`kC!x#{Y za-nc&<h7ob%vwDwM-Q}^sn79d7rJE9)fwhe@!iI|`3}1}0`N#=*;@6J(a8^3fV`&G z#(vFGb3pq#6UeaQ!JANgM&=PsPssypj@R}b^=qMzsiA&@3VOlYiqjKDK0aT-COd?z zg(vWJJFc#;d_C8jrTr`WUG;%AtH%R)TfAiXUk0$%`OE@$?6=PEUnH~wp>H^jQEv)K zs!Z~D@cK+H@TjZL=_$v@E|t$RZx4=M!|$xAJ~rdEyIw1o)-zh-&HjnjOWA}RUl&Iy zJ{Z<39O7!kD@D*E)7=h_mcKYZ#_Uayb*%&97RpHnpQ`Ebub|BcW5B`bTX_%v%K$b9 zt%&NZ(}ZR45KaocMf06~!{oC^5zHH@K6Ss>zq3!g+U``FD8hn?f@A(*9sn5C_6>%E z^vSyRjFtG>y23j%yc|s)7f`Wvy4>Vn&qd23@Zt1@8|}$?EW10_z;OA!j!!y?wGb*s z_|@b|NLc+=aG%oO3o8P}z?Sy`RbFT)K~KJkMy6_H)xocc6OdxJCSA(a1)S=4rKF=4 za*v0&E4{T1<u34*%E>r=h8PGHC<cZf5Y}^YRtp1WmjlDUs+aHDx%J;Hv4fQ$AnH~< z@&MymAc^Bl{4x_QhvZ=D=IeI&7rj=@9V_QJcQ+U3TeD9Ks%yeI9&cu74PJkr521>~ zD@S~{U=q{%u>N*&i}>fti(23ey&cHE2A?2JkaFXMD9oY4ySe{;;)@l!hsm=pMauch zY2>C9aMK4<#6!M<dABVI$yBj%ii)wS^C6?WUji`pYfy04-J&YfdlDIWURJiMt_aFL z78Vv&DE{B)&nL1Og5hazH6Zb-LKc`A4o*&5$(O0A4m_=2bR0I!h)yMByg%9|;^0ay zabb6yYK9ue3&N@Ccr#8>(dYW6-qX)&C64J3r>2-AVF!BIjhKomR<=vZpPGi-Hn9bt z10S6-yUf6W&%G&&eMR^$`9nB0ksJCs=0&nYh#xF-vR>#bB4d_Kctm<;hGn$anxdkj z0;C%{K!H_L`tiw+@V!|W>>cW%<cGq(!-n=}58!b{MA*)spch4g2gkP8(8Igd)^2}( z@k~ripd%t=CJzNnD%*>#wLzvKd!XYQ3-xO2^heog!R3<Nuf4a}<+BHV2YM_B;TveD z2+81%IENr-zy8}K;hRe#gbTx;x1LT?$ZxYUh}(~)AMJD9G4vXvj>12un((b!ISi-} z8_0C|-$foyryq&7su?8opDskm2o<OtV93>hHuzat;J-TYg@lBpBW+85LUN^nbY<zY zkSj;kK9cFyYnF5b+7H=?Pn7?;03^h5#N;UVc3?0qn*GIdR+Jb5d-KyEt~4xRtKhfA z1US;zlZnre;LjdZB6vR$a!5&46s8#-{y=KJEPjVlew&H6-38bWHA*@>Z{>$ZF^#`8 zGC%YKdLi<%N)uHou1ir0<L?f9DCEv{jRz57p#cQ|?cRK#C0o+SkJ(lBY}-JNcxj(s z*H%&$M#&hE9NEI}?~B}M9i16`dc>C;UM5GAGRYEmbN~;}XJDSS^8`(NEsYF{Qxx}V z_B$7R&L3a&<E~W_n;{e?hK&tNKOx{u;h2Pomc`S{QasMczV_$fy2K8D&hU2Yt6>7q zA+vP+)K%+I{p3R8w9V1suP-B+Osty@{sdL+ffcRZ(x?;Xwzxe~6hTVp%Ha(Wf(^$s z1ma|By95jbfB^x_+VR>dco`{PLXrsnMC51P-g2@C>rVx2`Q4aIj5S~>I~@XN`Px;3 zN}6{!k7X5AvR(_q2}1RG2WKVQ5!YK`V5hhbX-0b~zp?L!#4#gmy^(!0RT7s%jzGjJ z;mb_5F9HSF<CVzK>4wz<_65FOnpW?JU8j+yE?VAp0pBWO1Ji0Pyo5rzoZ(m6QpVN| zBkAiWz923KCyFuX6w@`66dC>2a5UN|7k5>}Z6-mY?<Ifh^Yx4OumcIo3|<pIT9Q%M z3iDk;sCpFvs8}gHOCa7FCW7?2*y<9tJc#Zqb4uU2ZnbV@P)c^pM4+^Da963RIUyyp z5}y8Kd;N7Na`rbD2ky~FjRuCl;2kd=L~er8hFjyixIonp5@ST}(A9&(&c4ux+nQ8g z9|9Tl(Ow`D2+$HaxJ6%G%$tZs)aT#Eo41_heti^;Mz8z~RO-r_@vyrv<dr!r3o<ad zUAJB;Owbv#P<^vUwfiR^ZbIET8(A3)3sk;7-qT#yDb7OXGoe}8hY8lpHg9L$-nQHx z!}t1w%|G`W2TH8M-y4<ywtaFMIT9!*J^TqvE^VdSfS4Hb9^Z}mV>|@8!eGp(YeavT z>~ZAeA+uBT<K`mr*$~42L`B^yYKB4y7t0~|e>n_jo@409!)J&;aZW8-X|`=fuljcJ zF?8(KZ_lOv<Uo2HI!WANq_MF}=qT|Bp4p$_QB250Rw>{>mpNJy&$lE}9`kTC;$p0i z_(Z6Iu#9B5vua_}jjh%l2{|%u%&n(Ca5;vK>@}|l-%u`&khdl`ZY~yDoEY-XMi$`^ zs+S^uf9JB<<e8t)A}o!H-(_-jw*HDPvW|hWp9>3}*wR1yrc_j7;6?+fkURHN<_~o0 z;LB7$o1YFg3xIs-QE1(tZs*|#$X@l$O0FyvQ=TDms&z;Lfgyr|tL(ctyZl1K8#~`R zw~Aq}ijOBksAA4KHI~F51u7~Wl5iGYKbU8|@LiNC;*9d!tJuptCqi%AAAUI_Wcv)N zFzoeEhKbKJC0`s=uJ$Q(W_ylQ)4@0~(aKv(0I_WqmueB_5LE;u!dFoH8I;=7f!qOD z*|b5Y+EfrPcunS-fRsh#?n>!k%fH7xkaD49^(#t`0W0DdEJ4guWj_cU?ea+V6?OGj zH*$4<y}KDP{24G2gA<VG--asOc#KN(BwTktNV&C8e(3qoO8Md0d1RZA(S&6NQ%;YR zcch$l9KoWh)icaajYgk69BOv|@P7RGaeFR1y|3C=0_1Av&YyoIG2+$8KzDG<;&tN4 zU@mn_+6PFW4$mdrpRDn>`u!(M(@NwN;uhCNp)z#QZ+ivrNI>@uabq|I7l>Ex{dnoU zyAd!Sr#;r8Hl7jQk}vS(Q<AF6p+;d(v%;Z}b?DX-h+n{2W9=?b&nAReSy`C}5j@IO z-*j<VnN>)3;857R1|Gq<N-;kYcm%>iD{E!DcL>&&`mAKD_>$iU5i{aB7QLOUL!*#% zV<JMxij1a%&l^>t9%RUXTk0Uv8a|mYGuh05HJrfdzdx5emq%Jbh1o(bF;v&3t>9me z!8A8hF*BQv8C<(YCM+yG5;cRu2y0?;bXJ-fR=)GX&J)D{cUGbEgq;Jy_NtoAAno^f ziTm<cMv=p-yjuLKGa_?c?TNc*ZQb?yGAUG*JP~!!sw_*;2eaBV)kyjx$6;v@+Ety- zxDM6e5W;#4OXJ>h<5)f1h`2mEiU7to_)NQ0L1fnxdO2e3-Fsw}%DUm~n#$n2PJKmz z99GT8N1FFmp5!t^UUG^o$-(X=rC>OkU(X@uG#NWY$#?sb!B;_aqF%>|44T2~Ev}Tu z!dWI6kGqr2k$k3A32-KTCT&0b_!h)0*Wz4n+tmV2A~xc5P6>(?m;#SSGD|}1G5O^U z$SHOqjb?}$8Zxf*So|(A>IYfqdIb<R)v-S+Gu2w3MxW+2@8SF1*8$hM#3_D=G`F+Z zTAJy655@T7w8n)R1^}e?EG6X{P)_}j=M9!R{HQIs`|TMJ4VW&LaW^80q_9aqoS+O) z<VVG7pwJ~K^FKF!51s*A8WJ$Yo?aIQ7zng3xG~S4tAIc%Xz#*}oUuxY{+4U&xg(_x zg?C8^+QVP6Pbdf7VyFi-f%B`|XU?!t9P^xj?OgEJph)6#F5IlIngI&gCZC~t+un=< zr7K>pI9}DBfb5a1?BC~f&F>KB;##pmyXJH(Kypg&@4t*hs>C2s`vhBgQ|~YKm-E3q zRAk5hUJ7;G_#p^{bVVv4^ZSFX=h!DG7>PhYkh1Evt_k%Y1T%3^68J;qGOl9b-8DKW z>-aoCzFqk7Lu6h~euqGQzn#qTG>9g{UO6iEd<e<m&bdVnJo5J!$SE#bhAP1JodkI% zPA$<gP<&RMw_%8>Js^k5GU$TGmAK7DklosIbp`2KEA3QQb|XFol7g`ZadO8~379~Y zN~tjnk?la*>e|$zcvTC+0b<U&lEL}7i85y(ll`i0P*|6DK#3yp=<l~8>`W4y$#dS@ zM2?sGtCQ~tIfPL_LZz>qKM&ai@@-#Ppu#6RNHFfUoh-9Ks3kPP$5*zBoYx+v$+h-w z%>5g94_3pa&g~C6f!p7o(>@-M^a<e<Xi@5Lir-E(J-*Io6F(Ax-p3Tw0u>Fo95=6Q z1j|kkggkUqWF#8#!nd$QC~4D8Y#uyV3PK#K5jDGa{iy4pFF%8~`O^g>tmhkkN=);s zk<%r0^x_Sq_A|)>iif$*teu>jKafQt;l%Y8?u3Ft6E%dWrZ4qf+F0U+rRHda%>08+ zBdE3hT)^&GAAvEx>l%mb8u7K%lfaoD>>XdJtJk_&33PcWTkYCa?3HIv+`xa9Oe*J- z!0(}O#AsoG*zYO@sD<JMoH0y7)~Ehq1E})wtjNC>S+-Y*v?LQ1TOnDhl*6XI$WhKs z-UJ0R<dpTDrX>HGp$z;H56?_%i5?eni+yD!JlU0pQhUPp|0xDQf#ff_x)mqzCJOuJ zv^Po}5yl;=D+<iaKE%5lLAG75yj+mqRWTlUxG+M_Z>VTU&u4bZa~N1txX^1^4$z<1 z+LdB9wT{=wuAtB6J1BZAiSG3+58oH4w)<D*NfbsAKARSTB@4tJ-h|mi@Osu?)ewo` z!38lA)WDL}RGL^Mqikg%4T(KBJ{^zszEW}X^f9f;t<upK@0ri(=9nVV2`pc;ih+3F z{8Si}88BMxd-|Ba^BE3CIfkcS@&)~S>i^{le#(c`_#Y1_(JRV&zbD~?$9&JDN2FNw zCSpe4f|iDXKe)5&UOb%-r7Z=wFP%-mWC7m&d&|uTR+X4h&TfX8-<bHy6$FAdG40pj zCQ48Ylu5{#@*CUq1R$lK5Tfxk-!Z2^k&+^RU+l^WM43sjc4aF=_K*>><6dxFAy^o! z9bF*Ujt)#HZs0e>8k+0sektzGh90CI78YX>g8zz<{x@Vntj1(K`Bx$q5Xu4Z4SXDp zTdS@&Dz;&Lz5sF*$R_C2|2h0$->$zWY;qYB3=GOn51UO7FR~Ov2%fS3(m7kHDFS&d zu{Myt1&Q?CuQ6<7jFK@>D{$Rj8Q0hiKuqFj`DpBK@AzUF8%LATTotddaEC{z#!Pd| zSlf_e3)xcZ;<D_ANF1=^r0CAKn(HpZ4<1qeA|2Y5nQBHZ_|DHBrcWPpC62QL#ONS3 zYz9I4<H*RjP|jEwEL(nEbM%V`&JpNxn8}sHcb(R8m-tkWky{qwCL=?KEnNe|D_gb7 zcR6n4;_>i6b%u>_GsY+|d?*1L1TIxvZh~TcKeT+{6P@C?aN&trz|JF(3IdBd`q2_| zD$RehAL1%j_ggV^L7v&dQce@ebh1lOE&WlzH-s@@<y0r7KEdu&K(>4>O*Rp#3nI`R z@#Mg_#0yXk5CC^Tt-&bm{<~^a;Vv-;M?wKEzN{uVY!-O_Q9pbgo%S~*Kx^rn&PDu! zfc@y_B;nn^f4ZOZ>PHzlR=llS1tmgka`F#oH1Hf**1iH#?TbcBPtXJ>weL@MX(t!6 ztj{){)~B)3g-sb<^9mW<*l-7pt9SEi7pAkT>*uaNCW;AvtlzrqdbM<(*|IIwD6|t; zRVU+3w*9*uE!Fpa(2gnmZA$ktWH`rO3W(Q!#MpqO`e$UV^6{2^U*tVBX1H8Oia3h! z@;~q1w@I32T}#~G`)LI?z^OX$5F7~@?4qgZg&iA22_!OzgvcCsPiz5%Dxc5)Y>(lt z>l!Hca1hi#Md$vX)&s#EOQfbD$_hH2bAp1)PbagZPs?Cv>Ou7kWJAvFV$Sm#FE>QP z&;%Klm?$`Er(VB)ZLcO30s_ariJv7p1Xb-1Z{%DLYH4W^iCP}5RX92<&NV1vm-F4+ z*uX@n$E^2iZ-MHli8Js+B>UK-%fF#q!6he`3LADtvIa!k`+J}jh=lRbU;Dj>9)7yt z8wDt2rY+TIY#Zb?Inc~gHsbR>TR};s=>d!cMLU5eKw)uQlHO|^Wkar{iHV8Vl0+X% zKlmf$I3zjZzhwf@@dxx_RKMs>B4-dUwC}$N8^U8&BU?5aAOm%nLZ<m=Q0j{~K}t(W zOREa)D)tyug$*dcK~@?C4L_X#?(Cq|W9%?fEgAq#3x&eIqLmeAuZbtq7D%gaduFV? zFwcpkJo{ItL}%!G<nc=2*pJqvE)9P!1|d3*lCrY*;m$0butn2tmRgrd)tc=IQUK#N z?XMug-k{Xqo>Seb_TA!SV++!KdsXNCEq)I`ub?$TKYe<4X{h2kKh*r2B50YIG>^GK z^U)fA=<Dgt)yqzhaAM}+;bBw=NHHw2LoqS6wjxE{0V#fi!iP{4jd}6nGW1T(ja173 zA6drq{vm1g?Vz1T?}1OYc_yD<78VLgdn~Bmz5C|TCr+n0PEC-Md{+>E@aGp^Ajc9c z4Xma!ROsH_`f%0DOA=NlG&EGmXTyd$aNmWYBd9Jvl2Q_$y=Wy@-bdkm^8HNWs51v^ zKLp#hMgx~Yr8Slk4Lvij^*-6?WCJYL0(E;T$j~Jr_sA^vTsC!5T}`^v7$ya3vlnr3 zanLL?IW;{k1-9#kGrI$lij<`Z%~a`b*tII8FD6?F)Tomw`c_t1ZnLSL(hv2Z>^qy4 z?C5&+#f51VRn>tgk6V~%7Ei-6$3+}1&<Ll_v?j}dpi0ZYAYmOw9E_TkjPiDP$*bRn zyH*R0V?NE3Q7j5e@VnBNpU}80Rn7}!gVOrcSQQAoXmw@Uz<N>?j&^=(feaa%l@f|) z4iC0QQ-M>H0)bqcLaE!VRyO>kRb=rc<<looGmN}4YmX|1<mqnCfI;~U7E-lW(Dr0% z>YymVaqe6r2`Q-?p!?YrNtXsV!MAGzs;TMe|Hy8%E7v@oD7tX-oh0~@QcL6Ka4e+3 zDZ0xaZ0K=axbS^>^zL%SEc5IW-hAhopXup=d|X_Zox{Cl{w(RT)k%!Z!}Wpt1=B2p zwSl!z$77oP&RgK_>gL9uB_c4>`rU<b_HVD5Cyq6=O6_1kiZ_MR1{3k8+ac3<$tPvK zRGcW~mW3~w?!S4PjceVQwObYAqV0dffzR(<^drHT`<Vm+(PuKuo<KjF8&vF7qZkuw zi30xPXlEH)rlaA&Ly{M|c=pV_m9hFE_b$zi#lc>W=cHG!Tw#-vN<^JgZO=FPyg&I* zd7L&bb#Trk@_(oAGwN9D&d~{hClfKR!}-(m!M6<)$)b?<dATN8D^+@$g+bVY0EU5P zijgxq)tr2MWOb(tx)k3<j-?@MzkP${AR6g>6G#_lh31MZ;|kXy*B|^RqRQ;LpMZa< z*;|q^Yp$^W@sb}L8&kf4O$E^RR&6QYwpS;C<}6~G4F);oWp#C8*o&FIB1>o_djbDD z5cR+mtOR!q&bgqoA0#@@1x%7)>-x|SzLh$SYN@Ic@*95QcCLb3irV+Z{Q7l6<D0<G zP!eilQqs%^^F5`R#@FFkI3w%3LEf!)Gzlt)pdZ=f>OMZZw>?cI{rTkNhT~lXet;+O zhT3}tggmd^xoiiFQ~~7RBF<xqrhcnm)&t&6YKz<V)j>1LkJ<D<El@t>>K8CW74|jc z=nF#?T^?1%e+J70Bk9FnYp2V%BnXGxe1A(AB>K=6K__NMlaY~8dd~EDS3#{?wd(N7 zuB^jxqv7hG_XWBj7#wsF;HI=YSDr2ZPJB1&PiCNtk;C)4=~a#m4VT~TZ26Uc-ibuT z^XPFN1q1@ut_dm*Xu0DvseIlE+-sD(sbKB?MYu`T8YJ48#-H-?_z)M@o}rA~9dX7` zcm||zI+o_UbO*B5o%o#X2>4wQhXK(__qm1;3i*V<{fgN%Ug!RxTA71gnZbOG|FnW^ zAFz=9PkoK0lg2b<y{gXo$m%k|>W%}`53Ae#&Y;KwJWQ&~{)TWMUs^Vklxrw7HpZr< zwLvRrIS3aW)T9fbu~Nii!GMs0xuxL|>3Z~Xe{nb*7m#;AWm_5+@?*l<HSiYWa7?No zJ(k`5oryE#Gyj26&gVI7LK=h=n)1UQ7W=-!AaFp`C{%s9%Vdsm#l`oxK1{%qOu|*1 zJUrjPv%Bv8o$cx6u7d}j>-oR{5y`Ui&6WJ}PlQ7z4D}}9UOUR*Acq(s_Lp8`2x%|` zp&2^N*79h2V66gp@c${@ABb|l)ZgEqBK_b=dATIi58BFWL1?<M&>sh-BGS3G56~Kl zV{M!~kfq5`*K%d0Orrlk0#4|tAsPe9Y3gh2xu)i3cxVfUsOGnlu<X6}MUQ(|cBOkR zYiMdtkN7UXh3E}us<Ghc?6#TXhsd!SFumVK@1i#=D#Wjjt<BNLK$A=yEHKzHDWgKQ zhU&rYUw^vU*HbeyohA46Yj$QBAkhCv^&GL4>AY+Ufe|Dxa+B}j_#!MCnA;i%a|WZl z!@3$j9d30cc0C$i^>fVXbpT_8xHnx}k>;^WQ3NU%#QcyZ(pdJ(Yi7|$4j{1&*x8j` z1dovkB`?T~gsj^bYir0R?1u~(>Qnz&+(lRDb*-E35-*1e-nCTe7Zq-^ozUX4KZ$gw zf-(u&+nT3tI)tYf)gcO}%6M7<t6@J_%70XYG=OAlvqZqMLX*@^dcr~3#Fq$aDk|5W zz5Pqj!2<eT3InjCpf4Fe;suE$E#p}OujlHXN30f>oz$463UC2VFW<&zun?rl42kQ| z{S|OX8wp|*E`I*VfP>xJ-^5%dR9szM5mAtNz?pwrZ~CFU)X~v_tY(p=8el@*u|3EP z7J3Jt2g}?)S6+;m?aM!w<0N4N+_)|A%4%9ElH-VDZi6PaMd;>{fxzAdlHggKHgIwN zbknbg1NIhAWMv+1#n)1NkY<n|8$|lH^zx0RX4iizcm^EqSX+O8&Z7lgx_Y$%2m5Re zhf_ebJ-|W2)Xq$@Qwjk3FFOmxKT}p#oU<V~x51M-sJSy@T;%r_M68F(UD}}Wo2hPY zu&h7?02}hn&e3O1m<<~no7UFSa4KwoG<XJ=KfMLZH}VWR`XQ{n7=l<n>qpKk?fw;s zd_TPv#>g1NTdpo?fQkQ>47$m3lYun+pQlCqDSA>;%g3kEZP1}?x)y<BsYiRYN9zyB zRxN!u7hGOvW|Go;2PZF8d${|4(Pnm|o`^*fT7?B;q%L0U+yTziUhRixhQ#}>iOI>- zkN1AejCvmY?KMgdW+uDAFs%gVh)M0Qj!GNNgrtW6qo#(&IbL1_IHkBa<Pa-DAb|Ec zAaftVxg3mgy9C{3`<sJKAg)6Cw!g;<I>~h2lac$)$H(^+ddTfCG%UIf&q=|@5_GGf zc)o(v6Z@&hWPdh?j2(?uch>voyZ_@ZUZmF-+YTIK$$a`>EdVkW`v0Oe_;}DKCckn2 zk0CP)fKtA^7IyX?Y>T#W8YRXhrFb~@<xAE70e#-^`TOU^(K6Vg4xpGQX1S}-Ru66o zF$B=YsYWxmPDU%3ZXcasXO~BM)sbd=)8LzV2Exo<W4N$SbYQo)Stcb<fzjUs&<WC{ zLhp4e=yfZHFnU(jO9&|XN3_N&O@v6#HtJ_eF>bC-CL!b_)^!hYe|<38%8Smu^?{xx zV4Dr{!5<19tzx}G_I*NHX|h+YUVXAf9f3CZ=hjNMLz!u52^Akxoj*A_cUi^wN{Nn& z%9|Ma7!qnuB(p#SX#e?(DRz(g${TPeE*_r8vFFqv#7?`(I|8cbGyH@Gd6(|TyH}hr zl(DSN3w^>K3w@Vv+@Jv%_=#z@3dy1Lhd`h$>0JUOo~MAe>?#3dSyON0O{JGD&+r@G zFz-DJJ?JlDVxSl%=YWyqf(I<BABEr{2%1X>18+fKkK|X7-NTy^Tt_hJBcuv!Y#DV* zni6Ozs|yIUc|6sa_%E^mo1MarO!pRxA>xI9d+^IMfC*o}ivKJr={t19YJjgz6t*P% z^2B7@R@=<*dV#4NLV=?itwERhqF)W0`PWxh;MP{(09gXlKTLpstJ(cbG$x|G7Qom* znUl7P3W3{93!A9uFNO+WvY>@hMP+KCZO>&0MEKvneY*q8iNj}BlL9CRzr8jvaC4zw z888Qw*xeWUVtMqkXtocb^S%oruF?|$b_>u-LRvX3<AhJez@Xu=d1Sp@)0mmpDG?Qj zkE=uy+kR*6H7h&SU6UKc>T&PPgK&Z)Z_>W)qcnaJVSyVdaI*6awTg6S^7G3ohAL0; z2?+2Qh(jr_Qa!7xRcMP|u)rg*dL|-Lq0sx{ez@nwIEHvxk)Kt|QrdpI=^&A8fnFHg z-w@X!E8!9lIQ0-0pYX2NK7gOU?7ZyqAkv4Y>oF<Al>%?{fW>dre`{Pa$_U>(1d_8s zlw%USIAOVE5ndeN>o)jmAVJFMKw>JgqFPvly9|9cAnL9DH;6{Mu-I@?#$S+rR%wzq z%R5)I?MW4z@>ZHXO~8mVBLZvccmHkmpE?UFcjWWT5_Iv%M?LD_7XwKBKe?#iZcewa z?5D>`FfG?5MvyB<S;{<CZ$lhc|IB>BILL!HYzD6Yp^lmB0uBuNI668?yU<gzFtum= z(CgOF&;sRO6lzl8D5yDdd~0<4^YWN>AR;iCg$4ms+1{+e_|EJ&v_pQUS=qvh?`xpe z3%a5fy1sJMQgttIk21&u8bzMP_1|llFKA2<j#0a*suCJ_G$_iFn_Fm0{VNBdvE_X3 zv$8vmOA0x&Rvn1%PqKitd~DVlQLFhY9N9xR>?5e+mb`-krpH_ZG0Nq(A^pZ2zL_8H ze^_EV=v;frpJ8zsnlP`vfO$5_!?R30drkxLa_HP!okYY>!qzfSivaa`|3&Uwh!E`O zE9j4RyzP3?eV!1wq^ET4ZzGU8Y1*Cc3&rF+W`}rCn~Y@#w$|&^2k757a-E}c|BVwt z3thYjv6*jBP6=g!a2D}K1Ed!m>5&}z6iNVZ4cPq)d>Sy02-E8omMAj*m<wv~3M?mS zLA21c4*hYl$y8^Epg<eNG(#0K(~3~8t7M=+17-`l9=@g{mCc`TV1gePrmjHa-hy?l zBNIqsuoDFFS<6cINcEjgj<3ncV*iAm1C@_ceZs`#j}p%I72^Ks#;OkFF~Y^sroOE$ zO1rZPKqpVBej<H|9=d*mM%2M>#@~K`;GaeTkUW48Ia9SBjmm<_F(AjKw<J(O^u876 zcK&V4Fx$uIDGyuQ8Q1rMwW8K?P?v$*E`x$yCEvDJz@`K5`}3gg_pL`y;4&T_cu#~C z<~>$J{;iThoE6>{a2L|N6dBJbPR%6XBumIf<DNZh$h%$K2X!i3TwKI2wzs$2lkl-i zP3|p2_ig#)DT5-s;1CC{H9lw(uh7$d21-FM;g+NmsnVdnnDEc<f5<57g@9b@GiTxh z?16ElGrbGr+Vp=s58ZUHfg4DXatn)AI80zu4qE~F^IbDn)Hm_@o=bb1RvA0cDe?&< z<Y~Ǣ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 At^fc4 literal 35956 zcmc$`cTiN{)-6g95m2x}LCH2CqC`oO8Wa!&1qCH2NX|&kSrBMNiITGjs3;&v&Oyn^ zK+ajoL2`I=H=ggi-@UKu{`Km0)%hLi+P(JLYtJ>q7-O#Ica`K$k<yal;o+USB`>3b zheybahex1s;y8R0=j3Yx|98y(#;yA&;Nx+^5DR~k*vM<z<Ka>0A^*dFCz)vmU*2<& z)o@U?Hg<5<vopebqUT^^Y3*QXrqAqTWM^+?ZN+?*n~$59+s4}7K}49J+tA2~_lk+0 zpn(9Nfxe+IC$p)8gN-N;&wu}r+uF{AhorAd91o8f@0QH<`z{IdL(VP_9#no?v3{2- zZ|duFDaD~e!ADQ#!u_Y6$KJ|F$y_JCcfnVm=*(ANmdh#xmlH23M4uDAaEa7+RQ|jG zKG`L~0BTD4jeUbt=g*7IOn&rica`j@<8M`RpLx8hIGo?}_)5JkJuwRRVQMrI^T8sY zV-#mk<Gxxs|DS)vibuNzzJ1FoWHs0r#v*4rSj;Cp<nTk&TGDp>*viU^$L5eTJ;ozO zA@Xw9dsX(!_uqx8#>&cQU0=H=BQx3TuQhvN9e)0&`;(%Ag2G0@?;n{z(&R$s4=bIQ z9$!|^ZhcP0e(6ymr=Ff3D;pb%lCpNdx~eTL1QWM*NG2oWaT_<zA8i{FwIp%Z*})Qi zDt0Bq))>ASPo@Uj*`YGwfx;&S9Z3?F1BI{PMj!6Kul2zvlvh$}|2&FD7n)*TV6j>i zWYnQ_*5zR_G3RzR78DE2f3@#orkW!s_BTf|-TwaR>&dP<a0@s^_YLNEOJ082OCN=5 z5nz&)k;#4>EdGp<mX=hi(qr3h{6`RWi>plzg(7hhQIW!IjS}9FmNx7DsHx=PhC)@P zZ(l;AYZk-HbhY2Z&89n&J7C#3v`g2CMwUiv{5Uo9o{^rtd^bf3-@4&+7;|V;)VIZ< zGPABXL~M#tUl?Y>;imP`drxjEEH9hmYZlvF2$9%0H&o_46Kj%GGP}#InK${7!2ssf z{qj8j>~KZd!Z{k`u7z85FJF(27ZBvZG)o<R-!L>}Rn544ft7Xg&62k<)82W0<AlGV z8IsuGVB_`Ku0jJXly~dN<^_v`DEHls1^BA&?~J)ArZib{dZVE=Ww3IRhhN1vM4eP# zUmv|NP?UMy?|5sHM7+2w_r6&N=aqMlD@4b}#)h$D{P6ag=UJK;9v#FDw6(kzVA}Wl zH;7QN>rDll)vXKb)|J}<-Jc#&F*3IM5|K3~OI8WnJ;!cIAd4Ahuf3jL+!Vnck(AUP z%piuRQDVo|5X?ZBqMVGGAE`=K`}8m@EbKbG>sX;D{hCZVnMw?Qe!h>8?vj<6@A5c< zLY0Wpa4~mvb-m5VFh1Obq4-@_4e{L8XKRKl+;82wg|FKfdSS+6FITT_ols4NAbdIv zi*5W>Vv4`L)*;EWQ{(vOXN@g=&hb^^d-v`YvS{)BTb;Op<82LVYdzl52QdRo{C;*p zC!Sr4^15Nw|K)jqfknRU#LX(tcZxFeq(4O{-yN38)E5aT)_<~_WOcyprLeVo_(vNp z`Tx^@gwaRFk}OqG{Qg}SfyEYg{CuD5UA1rqU71dRMvF}U<S0J$I>(DgN%bTXg|dwf zV;Or&%q-OHM2Q+{HUI~3EMwhaw*M?OPe6!dfN`58J0;4NxZ&wcl3$NbV6;vEds1$q ze0|Y<DVh4YV5UHFhF0wmA~NQy-<{AXlyhVAReytdjdK#T$H~9Ib(_d_St_cjjuyRn zM3q|vw1Rnw@-p=dO348jPu+fj7=fleZPs(|!SnRcU&G^ibi?i{rw%#nMI~1BIQj42 zofTyzSHvx-9p;S1!mtvTnbG5C-8bWA#K{?apB>w(I?O*BFTqDCQTNy77%`gu!UDK6 zH@L2q-fZm*4@1N1IKjIG9~NZL=tY}JEC>CFmxa)jY5z}{@-8w#7BQ!oRTQl`qiD|E z8r*YSb2#y^z&BA$ukY$Roe}uTxl@E0ZTCyaIw0Uws_DH*3RGCt&ICn1Nkg`_@$bmy zz(#L)hQ<e)MdY-?0d!VAzp_$qpC5QGBQrQQlbm{;Q2rKQi;BfBc=~#6xaZ`HPg*2x z@pYey;;N!K&EV0nVtZR@989sX)9p5Y{}fU^FAgCEpB2_2DNIZ@?8;u>ARUH=ud&5- zRR>1Ra$~g_9``?*!Y{>;I~(mzQrXwK8nSX~oggCX$F1I6kF?CO*IX8bXdd-;c!*6E zd{kJ=Y7Oz}vqlH4NvF2g25{GrkQloU{rT0F_tPQ=S-T-*g5kri#5)`Qa*R(oRGCAB zmZ?$rqd`0=MvCv$DWbRq%LraHenoCfBtri39DY~V@=sM>EBeXrKTpGj`5h^q?!~)S zYaUvuH(=6Rfr^#Ev9Dj(e|tqIVmEo>6`k;OM!c2ijHgmErtPC<zDAXoL~3g4mnQ>J z5P|4PIMJ13*LV$2yreZ!Xk6=%md7sKUwpHDiLyLH$)A|%S+;iD$l5eAS#PaeABY+E zimbF%R8;bE?j&RO6PR*;|Ni~Ow9B`?US_d)f}ETQ(<*tmtsFqk(5%Q)@!GygmbJmq z==$LSuO7im##4mE{YsPEaUtlMC-WLE^L+UNj(aYRi36}`hjukz&$zBmrrOW6-%hv| z#%J(NYniHidpe$#m6g|eSiC!1yQT2S!0bqsBu~}eRXQQd#;{IwxILKo;|k`B-^5+A zS8ci5<ibY(?#yL)h;P4*jkwH&R$ufbn*2s*&3f@-K&9ud%BP0~WL~}yEf!1XxWS`D zdp@bhq9$9SLm)P~34g*)zJs0lod|PqPTycGHPDjXjvX0v;@a|{{qlT1ujRS&zfn=? zFSNKq7}<vkENI*}=2LAazL{wAsC_&K!4A#G*Og|29v5o}kuGyOO+#!y6X)1w_ZMOf zft(t(_{y>JjW`a*y1*<CtV?YgL3l#KNhyEQv+b^r;J<kz+~~!qIP=1=y;Vhx@^i>G zYdkc=yf_x{BeQL2^s_-*c-D14a2PAzj0@A=>$CUpNNKn|+6S^rrfHQDMP=RGM7MeD z^fetE1RzqFXa~J`fxdjXIl>fe7fa44FvY?_62;{wwwRkZyQgnp@ch*)iMfa7<{#1p zqBFKHjUQgUn&R#pBTSK@EbQ%k#XCNXa!~v-v+IF9t){W@w1~BsJy!>t5+|L6n*ao) zr25lgS?jw?ogdGGW64shStuG%a?qRE{p$WB<Ic})?E#fHK|egstXP|wb-t(isDW=k z9kYfRY#lLvdrUZlRQ@?78{RdKtz{V4VfHl4c(QxrG&=i>dl3f{yK-%upiP*``>D&2 zT5RQ{$+fBcJVn=v@7ER&dx}y6CiW{!on1X!%W|mnZ$i<Nq0-1WK?}Fl-?FTMd%GhU z9+NG^&!6A@{ANMssodJVdPxS%$xjb!f*EohI0jua!C5_RNDJ%?qULI5a2~9ABOBBR zpUO(J9~Z;J!%c@u3mWic>&pr)pMpb@M@5DtyoELLKG-6p6};L}|LI}+>V<GsZZ~4X z)ybx}nVI<p4di%g*;-AX4I1!fe`HdCNsoP{(RuqIOKttnub{EIK>Mv_JtQw`3TNAH zkUR)OQm@H8&;0^dqZ}1Bjl5$DQC|`py^&WQrQ^lt91z054?gWD1O!$a|7*b$TC=ZY zgQzP;$w}ox7~6)2jK06Ub&^p$hD9zI&t|PnnBStC6H-9;8Xk}7ns?v>{#;N*F=-Su ze>AJycgp{@cxahD8Ex5)0=uqWnFxVJYBmC=e80&Fz0}ExDk`022$ekCTg$`T8maXB z-IYcx<}}YNAn@A!*9X)aDmNJ|gBAV!c*VK^W3i?i{+8^k-ms^ij_Dj;rHG}ua=ay4 zy2K9L(J@R2<Bh{C0wU78S!!I?o}#Fg@V@-E;lEG%s~ec=WP=k!>A~5IE71wX*oRsb z*KjIwJ!p19hmDSQNzbCkt(ZKI-MiOWki~(9os9k#C)oLg<Nhb}sCOScuv@{TSa~0} zB?*_=3$p_>8F&23U7sLfG;qtsekRRIJO7te*BfLOG-pqT;lcj>lf|oxcarhsL_<9B z6<L}31oPqSMAuo575%LaFBE!QdZ$2!)#n<y_%3JpGC}#?)$;9&v#us6l)<0-v){j3 zHuIT~KMMe#Pnl4@ak>=S8yQIyB1t~+t!B21*CquQ`1q{o*Ow?fcdDO}go+ixS2c>x zQZfY9zkhU=6=_-tnuRw9VjFcTRsuMfy1IC6-@u<wN(s^9Gv9xVRqpDJ-G~t+D|I}I zw)730w-`hy1IYcy>Iyg?)SrTYvDf>Ys`E3;$H%9@twglLV{j_I3KkM02&Od>nmUbg zzKf4qQI!jhsUs48a#gHE;E6dd>KPixaW!V%=Id}5U&X?_R@EWKd(C!U$Pe5Pk*v)# zvT0zzg+1w;$Jb}|7D<)kjSs*Ty&*u4n|K{E#0dxP@3wu<8n7<HWdh&7j}E)*ZQE_l z^B2!BLIj@lKxWt2AsJtn|NXme8|^!_wxb~L_LH8s*h|9Wpu{!xrp(|iBAI&S`9ZU0 zx#9BAm=kBO97WMU3TZ=D%Mo(LsA_FzBrTyyvxfnzH%FxF0`3;);?`|pfcO<%ow8(2 zb0k>AffNii)twV~^HqwLNdEi>OU<KHphu@Ih@Y5T>IT8j>?iQ}TI7(X&^)T>x6FBz z76ALq@Yd0VnaQm~!Rrq8CdI~gkY})iP+NRoi~fr_k@sPl<_~&mBprgBVVO|C6px6s zy1&5Y#~oOw#z<Ia+f-#q!2!8KQ~V(6>$m_6Swqpt4af$#pG2iU_O5`1wo8X~(K2p6 zGuwTt)PYZyRRBqdP|otVpIy9@qHtEDfK(w8$=0$1AQ1^FKg6srp7Pv{qw>H7UP$7i zIQg9Y=eqrkT2eIlkXf1|v#htsshJ3=OS#VLB|iDxITL#V&wl2{K%uc}@YkTWs7dsA z)%ulStWhvw2ZpRef|#e`SlZ3&NPvg@jMuYNGra$E8VCAe)aCI*2g*{ctfnTfu8*eM z-;IIO49KEk-Cr_MgkVT1Fej+kZ!8WX)*(Dgj>WQND%VL<)bxIyCeA|MiuWs8qvi%5 zd|t%3<(az}PNT^F6GV*LpS`<;Tk9HI-PyY?Q)gYqh+MXfxD?Nl2!I7*oW_qi{4rD# zN`{QG;K=Or@>+*RH;4U%hkY`W3t?sKd|_oM7)11)?6x-^<wq#y8y}gf@kQ}H-rGqh zC%#>;@`A7Al_2R~39AcCHB#&?`7y7jQ&kDC0KFI*hA-h>n;<fM@-3qT#LlpU$pQjO z8kz=m9Zy*W1t=2lr#vdMdd;IV{3!Wxea`+0v4FMJf&H(`?;f-`p;y?zRgx(x`n4zO z{Z`ppSDo!d64)j)#wFj#q$H)a={B>WQbGIaRy`=1%6I-`-G8s*ubFS`%94iF*`1;> z?d=@I*UY~;#S#O7Ol$D7L1$@!>qV<BbR<QX?wBoptf=GVmS~=t^ytU>P#=DLSny(U z(y%$2NBQtzU&QgxYhk+=Tj@;R&yJsJjVgnPR#CbjGp-13mnJG)fAOUEE*GaJ0oTJ` z*f^Erw)lOej#uzJcQ@K9)yiFL7b`X&AMC9uZ_M{i{Ej}oqIkFy&A~)O7PorueK?F` z0prXRc}ogdStdPyRPw!50Y$>dNE6x|d4+HpAc924{T?0f^t-7yUUR5^`@wTz+*!!d z2X@`<^RVl*L<XMMABPpP-`|MWj4HKeVr7*|6h&T9j_clOx255V*sDgQ6>fj^x0c7W zoQE7gYL$fd_G)~4d0zTpZ@VH)wch%pCLu%xt|BQd`ZHYMvU(vf*cHBI&EI!Xiz?yw zSZhPZI|Y-v;ZMp35l+-$R;njkJ3ohlQGDy85it!V1H&B+jb6>3H*elxzjt+x2aZp) zNxya;CRv-29;+>+A_|6kLdMfk8Wk63&e1jnrR;Xjr$=r4Og&nJEzy2LzH8jx31O7w z;@r&f!qyr0(r!Kr4CMFPb5V%qZiBqyoVW|G<iQrp+Du2)Y(og6MBMVSjj{n&L)e5| zM)rD^+Hw>7X<Bo!d%7YcJj3xqPu@5!^hZ%@$3gk~**49!u^imgkk#++Fd4@G+^H^* zf}Ni~!gX!hs7gh>!2CfllcW+PZzLonGBPqQ^!MxA{<ma&P-^YovF>caM+<5>R#EBH zJXWw>d#6{VXCY3f=zo1N!%6k-Z*m=Zq4mfjyl>kA+lkSq#G|Q!x;qY$6x%#)awJYI zQ8h!((k{i@Ww3{RXh`MXtEBf<xC;XiAU3xX#q|j9(x=^zl-0v7ggcvo?8(n!&fzk3 zTPpaq@!CxMDG^#>A!kf>$v4;vwqzk>jf529)m>?FC7Z+U+dFePw-glgAuBq`Ao}{M zQL_zTSMDsC*enRJhvMRECr{EHx2_<%aG_B3`G6@#AvaEhYO#W*zbMdk4FDVP8TEI> zy^c@T5Hn5oel{py|E@S_+rZG*!-7Vi6LaE(TzPd}5nHUFMtze0gu%C%aX!;fuw}Kl z5XzVO`YAe+P+fdy9Xd}PX78#cg_q<qPO`JP)B(lAjek47nA%MNuetRZ#<SILnvZXJ zxejb>zzn0n>pI8f@`nR{0VTGbYkB((8G<l%(i2jPgC*}ZKBLcGQCsiMJYyUA^5kq6 z;dHwoMZEJ8yo4<>SR036!n(k^7M}R2_bfL}H9ugrVtOD|VOCV+pNoy=3GBf5xi5ak z1yTA2%legevE`jPUPB}(k2`@&jJ8?7^u>aBuBUD$IX=Pz7vc9CBuD)ybfIWkzlW?0 z(>oumR{dDrwBZ_qSnKZ!=i#H;HbInVbA%$_Bz|Umu?i`uS7=~Fnq2E-5h;rfM#ur_ z-?E|6Hmj@-zX?`WGJL@Ig6(WkL5j4t1%9ggWH5uDphe2fQ#hwR*2}j>KNzi3TkGGM zmyXQP8lu@jgR<oH9~s8GjRh8|Dr`qrc1T{hO6j$QAH@l&GLndSzhx+uJs1yUO1VyG zZ*HxRq&kh~Au3ONTVC?6dvO*bxZPi5xQPMl3upp`XrY$u?5bg0bnMM<I1@bL9r*0n zyGK39bC|$$#FR1IiIa-FJpFV{B^?Ku1Wp>-n{3sS@L#bm`HEcTe3_YYeS9KSmTc|C zaGufKk1;s^pZkPv(2-`c$)H(osu>9s%y;p_QiM!`MGSMzRH4iwr9lEsJ%iAbt1T*u zQ35S0*2Rd6CpiNHe#yAQzuW6Pe*yxm={wwj%Tv)X3x!DCzvjh@qObz2q3?X;@6t*# zy8ZPXuF#vl-58I|8|AD~IY?hi%V>4*xV#vCN@;puiggw;OYxmcC(q$UT)ci1S&Qp@ zi6ACux}BvV?$I)UmvRh!_B07?Fd<Jlo^(KU5KrxF*J(<9u}DZq>c8E{RGKa+-d<~S zl?S}(I+2X;4ctD+sWe~oDc{S(tu+k3x!9SX$${QpMKY?Vw~1s39vfd=Um%11Vj`L3 z2FW%Gwdu0^#AQowc7zGD*J)XD1sxs%b4)QZtoGcj`T5?sC(C=U4)-iJ^e(^I&Iz1I z@}wSir?C57M1WesuV}x3e}(ImsB=KN;@A)6RB2+IK|s7;*0tX>n3PwQ0%%zlZvDM0 zt+P_XV_%T-p`nr}4GNXdS)e1iHrTMc6rZk+MpwQiK;yHs5dkK&Fwiy>QnvUH#Y*%g zX7mA|j6<~*dEUwlxXx$<WAD?QB#~>!c9i5{#S+9xhDu}CBrw~@7Aug|CsBj9$LqC! zHcrrwMUMFbzIivmW$>B-QgdH?T42$p=lAI$vNScw(%ev?gmn2JDdvRmh^24{7W-&# zJ5yw6Z+GbeW;nr)8?7H9G)Prd<ah;=!R<Au-?4kYo)UJxeGZ}gD=DB=w!~*ouUOCt z$1%O@c}!-}Ew#OhgstMb;R<8S;*dpD`oV%V^3A!+%;QCrRBcz>g-1?isa;1x0&-op z_H_I5XM^dlv5%|)c9EH^x-V7F!=-KBzHx#g5Hdg)TiojE?K(kZ%+{LrkGuQ;*$N`@ zJ&ZRxnw#~z-pB%CVzWAV>$2KM`7E_h#Zys_%Kx&-;Kc}cShDq%mxzp&<NPbP(%L<b zsj{V3waFfBlg9}qI760cpNb@a+V=*8udP2>IhWM4>7gpWohTalHHaqP?XS7D2MG$# zxRp21)bY=;ADPmX9x!*Ugz2=c=2Az1xGq0vwNfwT=R{k<NOmKhn=1hP=ew-vqghz+ zp}HR3U8>srmPv!JTYC)r+3XPAMWtthCEznk1lr_Q{LfwiRLg$r&l}mhZxOGErkP&h zXNGWC-_XFXUyq$<%EsGXok|0+BgxARg?ICnuh;(QN`u~a)<}vKinx$*vLNbMdkn3B z4^QRY?bE2uwPK&vM6u}5(9>=k^S2&8q=h&+TK$x8xbdRzM0IEC^7@bEy|v|bvFREG zly}PZC6R@RkW>RX(;vsDI|6-)5O-E05aJy<Q0~evJZMA6Z_@tO;rI9ZIgb-n(iOVi z-lFo_|Eq3o_?mg@+VW%sul}*}1JUwT(r3?lmDudI1(?{_J(uwZos+lMRvM;x)lew! zQCoZf%JrbYF5emtdPytzVySXB7+`}uuYI?Ng_cb~jzDJQdmBk|b4w=poH$RO*B1+G zjQrv8I$^b4tg|RbGfvd?>f}m)QWQ9Wj)}0yE9%@zN#afM)|E{xA>stp3q>RCfNQz@ zd7p_53QE&1bE4VXnw>SRt*vb@r9OLB_Wu3XnO*hDiK0Xj?r~gBnM(e<OHkkqG7AYs z_4fAWXQyXmJXElE6=3>0K;JNUmQkp+oOi9?0$y)`WV<}cV@Sxt*%S#n0bI<_7PcOy z_u+a}sI^W!Kiic?LP4=95O53|!JcYw0>FlGhtR;ni|TFfmEkXDR0S42g|BD7!^rXU z4dN7=-H)I`2apYnDSm4L=#{Az%8&fSX8wB}io7L<`FFx5t|fVqkWe-R$0lm2edH}G zedmF#0&K~;srhQlr(rj;VRz*zX_>wF2BNoj;)U>L=-(CCO)216l`RM<S3NuS^z|A0 zyzPKf(|Dh#xex>mY}Tdj_YY%^KW}d>cgY!x*};pMhT9sq#dYQCNhi54io7_(Q9E+5 zAq;FvLuab=d(HfdpB@!$+*Bgb-QA3@U1{N&UX&Xug;~1<!f=-*7)l-e08JLtc3iYX z%BY$0JnL^J$(}cJ9#;T`<i1e=)Ynzd9fws@3-S`|h!?*zMnwgj(?PzzEUT_5rumns z7rm&1PrZyrF5ZD%R5})`v(~I!Wsy@6Ra|@xlK8qL3HM8?87HS&qG2ON;YB5!yb~W+ z&<1ruNgnK&;mqwz>MVl4#Hosmf<%VO@3A0Gqr4%DrwU9Y*lw!Xbxl>lr@!zNIL2Ck zDC3LAj>9E(QPXK!*?z<TQBNB3GtK?N6=Y@NUMI9C6`u4TL!s{Gy)9WwUA=(TpC7WA zp0KWpHF^(moDvIeDzkEr5>R<uP`sqwkBb<+6?Cu-S>yl@_(vkJnn3Q-!TIR8^T?^O zF=Nf^E8|D5FPOomM|=AITD{D>hri&*VF_sjXv}9_{4Zt(QPlNcYXp0c>Smn$QK1wd z0$<*7FrB@Od=s7z;i{o6&PYknx`!M#ECJC`a^N`EO0F(EY?`!vNfk*_!xAzH&?4sJ zGLW>nZ9MDMXpHW_%~GS}dxD?C+^6Z&-IQ#|Z&yy8J>A52xW_KOdP02ToX6IM*;YXm zYGSRUt;QEBij|druBj5{_;}_Tug5h2mY~XBsw68}=eZ+u%tsl+$DSZ}6Edf}xj1a7 zGF^x4YZiUOnULtmzCDlq)O7^QN&$s0p`-sFJc0YeGc1oIVoCOQYQQQFb~~%85GS~} zvRKAz!@M`a#Ow5N@nn$v^7k#OoNJEF;-&{<fxJd9a3MdKFsEF<xj|LArq~vFFM|%m zGU85<?k$k&c<6NtjkxFF1{*y>{fSs^R<CtfK$40j#kx#x*_w_pR_=YL7wY{GiMuW| z(rEFxatz*5IU(WkqvgNMZ1?M6kLqDjz*3d)fc#CFqpvfSrI&_z?K3pvc1HbhZ#0k; zs})H|oFYrsTQNYN@t`RCXvichr;>+X8tDN{$-;dD7?ZkX2cx~)(pX(+sIJn=SrqD; zZEeCzSSa4w^!0cl+;G6tXoYE)rI@MamoxLBE~_79Y$~dE#<mv4ut9zo@8DiL``Oba zmIFo7`Nq>fhks>_1<)N?gLGhP-p{wJ8kO`12hO-4swfuLVsvMY3xozoT7d0EG1K1D zFKC3FG50YtGA~EGh2w4ZR>?jhFfZDU10MaBjwjJ8I_a-3jJ4MsdyeR{GG}SO<HqXM zf)=A212_y)66Wx3s-=x^rfA6cU*?BigtRw)b?h22PX*@4BW*#pP?F+L)+WMqiY`vI zJ?P9)Sx{)nm;YHFrHZ+%hD%qx-}yAUe*Jc%A-J>f6GU&_>$vHU&E=%tV<|pxgEZ<0 z`PvI2#U@PnQ2>AsCJq$F>eLaWqW0-(8GiRiGjcsHO&o=I2zG07UV;{(o|ybYFuvmb z?=-<`zXm}T|EDLAO_7<i71<kykdyhiVppf4$C}v3Voh{g&o!odGoaCU9y=U^_7q<% zN&XA`+Tz)N!2#vnz5vvAEONCLIsb(>xn6acJFZ<;JKq;7i8JSeJ4CFFM#eX)yq3Z7 z54!`kf_uvi?n^a(6mjYAe`H)AF2}8s<k?VWr$1)~y(MqQ876JI>>Z^*HMXO_)b*<I zARqk}(vx=|g|co6lY6<jIHahhMGq_&knAk%mCsx*NepqaV}tnrd1QH;P7epk20mxM z5tlk~y3JZLz`)SscR*pl=r(&{d}4y*-kWD$)uo*)6P>AkBH|VY9{E|IL<pEpD>E{R zEvuRM7ORa<j4-b<tjjL@0jnSmK$ta%Xd4@u)I9Qc{HeKgheYj5OJGwj0n0z|Kk#39 zr4@605tn6zK}Q0AxM*UNBRM1Bfw}`iP%k7*UO`u;ZqHhoM5VXK86B+uM(P3i(N%N& z^8jHBn*U63UK$?W`!Y`Cz6ogK-Uc1u!8kIPQcHkoXs({b{#(QNS6=7rK09?88N1+~ zB>d+=K@<5M7=xB5u4l7m66$>wba6t0Wslh|-iW*m>wJu+O>R@v?pS}Jzjc)$(OWZB z#K;Je)kzy6DVgobVUi9wnfkE6Tz&mB%=?+Yf1)GT<;ySLy}M*BL*^#tB$aOr*hh22 zD`5b1?HvC%YDsyms{*)WwNJV;N*aYH|MWnXG5KeE4&wY|B*E%@en+^Zw^x$)!S<Dd zUH}n5xv==^+^Qr{!DUMUD(S5hJy(rjBbT`Sqn5J0Qy#5#C3+nWwE~Oc^B^lljSFTh zK9K`DiiidxLjZ?f(g_FS6CPg%0>)5hq{>_J{Q2{($&$&dQ!R6J)eYUB_{Fq_Joth0 zeNKri0aKft^Uk)3y~#DMQ{5k*{`rM$W)g15aen^1pO=?+4mdB+(_m&67(^XX+&33N z8dLX!hb`J{O2M>;ytZy^tpivhn1*k}blNTs<W3Sd)-?b60<q*{OaPL6DjIHnN=V#Z zGF)JxE@VC2T6MT@4YC%A{i}Adm_vG~Tr59}Idh-k1kxFtyoW<H_}P|h@JcNzEs@B6 zX1xZ0hTTlN=di>AK#z*@^4N{C%~WN~Q$~r_p%Be{W^XTK4)N1z?jLn1fbI7u%{3&^ za{q+5+nSa+_S7H-CJ(%O_oh48lOc)1CWM9R7WRC4Jj8kL0VK?yTP$XL_Hwqiwi0%J zu1W$${U$9{N7CicvoZZ4$GCZ1NF@~waiVBVqI0b;(cO1|yP(l;bRO)-OjKi0K)&t^ zyky8iT;{jT<T$GKrOE+urcC&IoP5Xem$C@?$@2u#fwfsVwR1Us<Qmi{zKq*Xt%g#d zmY?UhKbHlH3h7|3n(%~(NTU7Sx@RQIi)G98RLB|@L$O!~xOW{zU9s&E#R6PLDdD&Y z5W%}kfzPSN>L?z7^FH`f&~tnHoIqo_d>V3R3|u4k{YP84Z--=HuLcl0xX=$J?V?CN zz2lZmzW9R{6<LIzs8^<!Bxeu>Jp->d=8F{$3>Py*cD_MFt>htzG6sjXXuTxGGQnOK zdNNwJgpl^O2FR8f99uV={Xq<bRLr@x!9aMHcv5T&gZK%qhf+Az1uzRofiMhzbI4?o zv?IZcTpvQ-rYgSe=L+{!S9{ePl$4`~2S>>XL_*+C?ATfp$rk#NfP;=!B&tt$S_;Ux z({{xJip*aha4S<6#?o2H<pD_W<CAT1xGU9f5Y_uT&GSm$m6pB$G4no<h*18LGX+F( z>HYUc1cB4*c6{4du16_)(w83Iha`G32RKeNTDONge_a9ou9tl8Q`}hU*!d0x^$)lk zqvoTyFL`+K6m5(c)Muv|5gZb$#dY>{G-OobHeM}Ux%xz}{}0{8D_Uf}SoZr;TBB<n z5O5aDsQ@<0<vm(Hpb@9i?p}cK_W-H?WyI47^!wP8W2o9$SoFqjT+-+~O4_Q1#n<j- zyzD!biy+W4GWB%#r8sw%rR{Ch?w|Rex{E8T=D$F;QoQjHci|(r&~;NA-V&qhF)%&x z{?kbC+j0TUu);0Z;eFrPyWsmEfe8^IhcXTTMr8>iU>Uggy|2TCBKEECr`zJ=XC{tt zBbo9$RXaPO6V?132vCDXEq|l?4_0$KkyN|1x?(d9O$o>_tk2{zuDzA8kDP$FT)gem zmDUD)35xGquzv%iU!|wse*_VzCJwMzLP)D}9-pQnWb#M>D_&L4sj_Nrh)|9bc@KY5 z_Bs%=2Bv4mYiCn)`GQgRBZ)K08I1bC)n!5OoKWjt7evOe>P&)gKcxg-6AxC_>T=i4 zj8{h%h-7ym=LrFa^*fF;n94T<;nM#{N)_08JO9)+KtWBv>L?H~3j)=I6M{dd=3)jp z0Z(An;Slc5jg3Bx61t08F&KtYXM`z~@wh`&-vVBGUZ={tN~B`*UxpO;MIis{;_8%f z{Lsb%;$~6s_R42L#ABv<&6N_oulcW|ybVZye80J#c*5iH!nhGF@8Pe6CyL$KZj7d& zq)OG7Ju;hRJ=0&LPV+v1LbZ$GMvO04kwQG|i?dfiqL|^bGX675Jw)jGm#H67T!2U4 z&0~c+#Ha-!AgxgIYqld8ex}WNP!QGC;RYB0B0$1@!w`syGn^WsFixKJ2<EZt)LAqd ztpRdD*%xP4ZYuTc>{zTdKTcQ3HGIx-0gX=C-fH1N1QBA!QR&_9^pLk+{Ir2Rb;RMv zoz__Xz}K(Ocx{alZ!8QnfI?1QUVb!E{qf4pn>`N;n)hrzX;P_W-`_qRmQS?ivG<$Z zv=dJ$(YL??@oJM*FeP9NG7TDnLA280QL9yQ4&!mnsQI<t*B56Qi5;^3rErkL*482` zSVYpjy;Vn%;Q<jP>3J5y@`EIe3PO?pWJj{(ZlG1l_PQ#NxTbxSU_}U@58y3j<Jt-i zmd!3B2WPZ1hg*=MrZ9p${ja1>OT!GI6c3e>P7ak`@5$zM7n<y_hR58BkV*=9{=D-o z367?Zx@?4d_OPC!v7sVsCJOOoyayld>jCx>?Qw|U5C<mvD);Z70TJME@bqUsgVE>g zqho={CWtiH43U}i{`&13B^{l6cL79TMYC)r=8gt7#T02`P#ZyYjN5*!#m8zPjX;fq zHsX^qa61YU-(GD4^dW!y_FIrF(0Ggh8gQ@7=?Um+<%^l-Tdvu$0ta!D_8%h(u(q;2 zYv|0xU<u^rEm80v9L!5_Agsvh0{duhq9KIp{P|mUc2^anI7?<J)V;^ALB^WlQNE54 z`dTGYi6M9Zg++4%H{TkI1RQkqbR?UGnVA_PwgOBf*WtGcOlInpvV}INfDW#`q$9Sj zI@Q&M_`)iZpW7#lg*KKbC?t;Y@%@Wy;}r0+A!Tux?+tUD>;4Q7+Mk}BrB_<riI^u| z@060s0pU%?{MP`>)A69?I!SN(IHfC54^*03khys6@1U5NIwUp+>)I2=`bz9gHU>z~ zT#^DbLVTYR6P-l9IYdlGQ~OcV_(?vtF_N@?d-mG$cn~6&aJY1mDI0kf^=}gdd5&{x zc!<V!4>X)^k3hGxw@5q>YJ~R@eK+hDwM+-P!LnA=p9(SM=e4T*+#Kfbs5`}o!$7uJ zz}$dBTzEyF{U2?hlBhLK8@OWfRDg+}zm0k_f*lF<jV!q6P_?=v!hG<j^8&J~7oQom zF#ANA2Vq@US)g_oDAT$Ve_X;12|?(C+eF8<CMZmY2lr+^JUA^C{}T(BA&9gPPpiky zdl5@;=Jiz9b)>uw&c_MzOB(k4C%3Z=Op{CXbl=*s(D-s<u@VuYp-7Hh*Oqcx1fi5N zBarkj&LWm?8~FN6KBwcZlSb*8#ZsVz;kq-A#Yl!mJPsuUEKm589ihRMo)94S)~P;f zA^sUXeD*bw;lA5i9TaHt@;-J`M=njrTac%n{+jNz!9qXsu<|J+r3B&sQn2zo=Y;~~ z+hPzpfC_k;w;Lc4%^$dX%3OaS1^Uj1h0omnw#H4rkv*CmlNaw4i@=%gZ2x#GT+AeR z(0L}b1H)fd^2HQC*_+&-^r%!F@gf5dr}RtTDIlGY--bz1pCK{?flL3dd85PMnbT)6 z5RDW+#R)uZj%*W=PglUjg{R!3WR1O_m#YaoGebmbgsmUroG!58_Ugq-4ECM6pY?H1 z!h2$tV0CA1xz~W#^z`i*yb}8(@gvmn1BKIzP?gxU3F5BIJ<&)2yXZ(&=W*>N?GYCU zkNxtz@vT1+o7ICQcT;?jKt*|*V3BqGBPS?ohrO8&wv}C0j|3bB|BWF3L@a)#!l#tb zZbv|TJ=ArP<>F0TBJ)4+VHD~!i|(S2p`p~~B9!p0u^`e!e3aNV@{<gtIpqXExA0Vb zG<uIl>nls03H>54`;!E~#<|#mfAR!+NQTFToX1`XkN(cYEurqrCeh^Vz5IxlfK$fo z(f{PU5HwvTQCrK>=Y-oit02IAZp$HS9INa6a2Awl#uU3de~(_CYG#UwGT_}`%%+zh zu2_v05gCqPOo!<~cB7X4Y}w{0zD?fBZ(9s!1I}(9k)wj{V%rFRdx|Fi=btTGFfLlb zBjYk?0Qg*^h@6`1DtlrOM4sm(XG591!JgH*!JZW&k1l(C2K(~ar$-ksjI=^XB`Y(j z<>g4;Sam>jidL$|H`nPC4p7?Nl#aNVYoFPNx(kabGuUiR+8A&OjQll+L6mmn6%*Xz z?QO(!&{rK=O&j2lP)Gt}bk2kVk7%a)?%`RrPrm=*>)x^=#Z?=pV#O3S@>nw5?SF|_ zF^pi)Rr{x+xc&cQ(N6|$Zv%z)I;1%gStWqq)oDVH@~*g=nPeQHk8F{QJH~wvn!+<Y z25tNhQ$a^J6c8Eq3xI@E)bZ+nscp7a6-@`vS(TEg<pg|BKN`^^o0A!Gx}3+$qkg;w z0h*7Q(db;u^Mjs6A|8(0c9$LxB3mx(%0wx_>U4Z(m86VZUH$WazIibh0VWAiC=hra z@pa%k*B;{c<r#t6W|Mw@=dZzFu`N9?4KFamwxj+ux{asLiJk%DJwdXfCc5<E)vE%A zu@~D0#&@lB)_Ml5W`27dixF($y!GTCh-t_Cj%I7F>VkLcLP+fO64`o1BE#m_9H6O; z2Wbfu<>YVD(%!3Pk`q%fmVXTCX!d<dI0lf&&r874ZAMWncU+i6e(2ezV_z1VxrPE+ z4Wk6u8upbxv@P)F2JZbG3H{ePfFAcJ$b&ACoxgK(poZM~otdmrV18D|dtb23dC9ml z<$CnqR_kp@nZLb!N<szPo-*R1{Emi|W8_m*mE1cGbpKc<yabWf34*JRf9@k>1hix{ zttBVFM5M8R7lcS2#6S)Gczq(-y?x$A@JZbEg)3;vOX7(ke0<Zgu_np>p#9Oxb~jf> zdRkofCM*~F3(j0odpQ6&{>M28<!mf0e$e1B{f4Q^O%NPB^5!VzVE`)j+QzWykof5I z7hr-UA=cCE?Ch$kH~j6hlS`r!5<G@O6crT-bvsiQ23^ub?ziYb14CX@GQmVLZk<N# ztVb#twwA<g>6B-nUBx<678re<<%Yq7nDeg(q6aZ7Y%WlH2Qx}E7xX-KZ~tp?kS{su zA9ZeixPs0{czCvk&e|oecGJ8EbZ50^*KnO3(;+1Q*R&-fB>guLnC6d+zq<Wj=!2pS z_EtttZ<$yfH9uG-9!XC?GJ1iZe=T9oBzvl)nks_p;TK)VK<~f1`;@?HNLfWji;Iiv z6?Ccmcq2<TaIakvx^^t>b`i$J79X&yV}TS*n3<ha>A<`ZFAQ|Lyal8p$;%Z*VrS*` zKpDB(ehtU3NY4sdbhC<x#73|yCpmh~b${x!ra_V11UV2IJ+oTuBXjd+cvx6Xtv^{u zDaL)nvN?*Y1rjSnRDxPT)JJd`sV#lO$|O|+#xoAy&?`tz`Hh;-Al*h=D-*7BpNh^2 zTOr$FO-(K9|0NrL(%&2GD7*3Bs9k4e!?+0$kiEsWplGE>wAF)<H=9)K*FUEM3UF=6 zdBhepw3i=zkjYd^Y%e2=%rV96Pylska&V1_tr$^zfbK@N$Z7~d<$$T3nR%a?1k537 z#`6$TF;M9whlYpOB2WxalgeYY{t~ak41gPK0wnK}MlLf5JPd)EqZfAx#bQrTb8E?m zp=B-Q$~i$kj>ce;DA^QjmPfA-*m7UKawQ1VxM888)zAimh(q9#@u){upBWb3jE|2a z6sr8KTVR8v4s+eF0C^e+c8pToPa#+fTKnG>`6tNC?hKbY&cV}%dp_A&|824#Ui^P) z-7;qpP1%08J?j}4B7!KK<>+~KVDl!Nq7%9XXxa?XhzaaUB~Y#;LQ__k+0S=j5j;AW zOvpvs0f#C-|1}HvsA(um8g3~oJJUDVUghUc)T;{+@mc$+s;sHx?3$sRym*G^@!)&y zvO?82G9>WWf0oDUl;EW@RCB0jC#a^~Je8?i<Etbi^K8MC#sSFZOmI=;qxZAa+K@X^ zQBzMp3kVPe-t-GYhb{fuzUD^_KH|m$e$SnC`{AX@rU>M>5x`&0w2Lh{d{EC>#A^q- zjq9yb0$92jh2&l?zwNk;3DS(#whx*#k^S9GXJ`nB@?3z#($T8ouNoM!xRQ!Wc#c7` zG{B7lO!iUJ2JIxTw=dN+WD!lOAo4e47SP<(4t^6JH37Vd2-t`7V%4FS&drq<AXK^r zs&?qt`VNbe0Mw=^lh;-%veSAFeV+8?rK=X(=$WjHf9>n}{^Lg?tg^;!M_WEVKJrmS zqSV&|z|rLWY^^?yhhN@BgoWwxCEAKezJq%`_S!ZgwxNbP(({w|;Q{&RN1dwS=&+8@ zmVJ3-)0pHA%x)`wLI`H(QecFu(pndJTSG$T_AK2~aVEB9m%Y<Fkue|=gl9CIYz*t$ z9qIY-APB%$%)!<K8DsO58axKO4sh`>b?C`^cQ5UDh5Ke9!&EpWB_%c_#01PAwzIKL zM>G!;v|oLWnICVTH~(2=Ju+_r%>K-<`_fd0<e?$7_Z7Y|DqHzR_x$<uRB(v!5*K`z zXsD>_w4H}!%bXVSa$cR|^Yz$X<%2h(Bl9<|v-2)q)fVQL#~0}}z8N!2X@n#Qp~Nv< z%oaV_=^CH)2b~6<m}pz~f8l^~2DE&_l`kj4V3Xy#Z(8+8nw|$GCc=>3zJ2ln2*M_` zz7Lkz1L2=)(vkEwJsk;k<d80lb+bLl);jMq;<XEbpz2`f3W&ho+>X5}q_6!Mxb4p- z9gMWXRvz7dK?8RWB<GY=R9tLjqD&sk_`nAUSai2Ky;l70u?}r;BR~SMgKVAB#p9t= zctk`;*+gxuMN?B#<xBftNMR0QHjo-UICl+{-PdTK1mlCy*bsU_ntSI(aJ=Pkc`Th( z@zYp-6O~d2Gq6`B(9fBEe@g<>%35%t`B~;{4N>3@lvyzn?m`ybAN4@|SpV(YRr8;h zR%f7E9ybzMlW<90QuW?uBwACLg0kwosKcdn#pps@XQHR#T9-4R`3)n}X~!5tly6i~ zg5H0s-y%n1W=F6`D`MZNNb$~{bm%NV8V?|%gN)Ts>^qUf?tDH}_Q^BJ-os9>TcW_z zLFbFh%2%56g63!b{`obLl~XwmJ|e@YB?^p>&E54y{F%%5v9M*kK)zGzv=Ha%xjb59 z!X;)?#y{dWGvN3;&LVs4=X+JSQ`rGcfIk_{YOg^^SB1NClI!$&a0o%uY1U?#onYWd zwkAAYS5N%770Is52)?AF#A`Z^j(A3gLDDOsu~8ltTN5%1n05ifZ(nfKUyE%g&H=BX z<FO*U@fWr=Y?~Tb4Gx`3aYQ5#v#M2MH#H7E0%->lUu|T;8w3kTxMu5{ndJ7OxVSjK zd${x~0CM1JP_TPnGD#+VPY0E78|`rl##YEU8ezC6;J!^NiTAg69Y8$->J5LGOvdfl zaT-MnskN?X0VZU{CH5RK3ZpB(ofV+K#r381P=J6D)>=VPG407fAuO0bydxDbuYoY` z%YuTDA3t*5ghmVyJao9aL#rN;{9^pZt+}C#wF*(3BsT4FKVfc!(=U$+ANVi;SQ8r? z+Zrz%lAFtm_d)Gb^U6fS^Wfl%7cSKFV^-A1TQ^7jE0ybNYa0{AigFCJ3!%BHzsOqI z@AxUOq{2Dx^IKQIe!D!@p*7Zdd1m|4(}v6rpPwH!BS10?8JBDKUw$z|`1?n+E%&3F zH;*%jIT;R>I&x|ihk^|c1UuX+8g{!v3|neOIpX4-OOMO1!5_M{&qxXlk|tWOKRn$1 z&>EY%=;CE%91Pk^V%Vvz2V-vEVs+|4QfkH0eKrf)QQ@UDA0+K%fgGZA!~M)Cs7_J= zrU1!ozHSXc50BrL4iE)t+p~}2LN>N{aYnI2cm90S`tKh|udQ~eLsRAdnpL!1i~gij z<pnX`9#ZIB`xzyt#lhJ9LTDiA%u?qG`rXdsyg1mG6Se<fxZD-|gUHgrU<$bK^4-O< zkB=*MJ`zhqD-f(W`E{#%AMSG?=>|BD_J>U6MlIBMRj!RWrd@9k87b$(FIZ=2_j7mu z2EPx3mN`EPj44|W7#T!C6A;1rY;W4YrpJRQTz9a)Yxe8IS@2y5m}B-MBk}JFxKP`_ zLg^{nvycZ>rf<jO`|4p7@K&c%Ss*L1GynMxCv{fx@F<UX{dy7_bb9d<AeY&`+I;rC zdd{$BX4=8ukO7KMJ30q8ooaOfrxL+yi9m#O@Y-9EGwJ_grlg?}qY73$PuM>=T}L75 zfR_oWMmr=33CUhNP200+AqikancxB2;V~`c93aeKc4k>j_O@2qAqdb{{~jtULIljn zH+_diuR=ncZ``<%U^P@K0+oqP<<6fgnILvif@Y*d=|FPLCI)J1r<$c2$k0Wh#jbdC z0N<oHS5M7Ohontz7b0o^L{!oMoXrtIS3A3iNZ<Cr$U)RTg{1evUOO32`RLraasA!R zC1>CY9lL!jdvjCQpy_uY*y$c9oU&ERT~_k#<YZ*7N$xHCEtvLk|MmOx5=2U(0H!v1 z4YYywZvXX&E~v1g-)zU&L))AOd%f*EC+!^t1vDF*KZw$k^SSRI(}h4a-<KZ<A^UEn zhb#CXMPuWORY2EsaBv{W^7z*vu=QW<^bXXtv<gsue0lVO!VJ@#Zi?xLChqa`7DP~h z!pAp6*|`R4Oq3T_2=#xo0I0B0kQw4Wn6&>t{t+>wvK0D%_HxcGuq!1nLk^0_#UR;M zeXqhM>i9<nLZRK|d@T0LQ4@a2X~=HYDlTwvJpW%4N`w>Nty&r?i-u*iAFn5Yj9yVg z;~YrQo;`cEyfI+C239q_cSwLjF@dxS3U4<WEnmcyi#jj1LIw_<?X9jO4Yu@dn~QCb zfA!{@P(afI3)~1Ya$enPJaF*#oW)oy7p^`~U-~~9FxM)T!FRYE?r*+-T;aA+Fqc!6 z1PQ0@&bk@oD&@%<GWAz+jp|v^EEK7M0RaS|JUW#LTkB}F7gFrV_-Y5A38lbn`9R_U zvivBj<i|4g5Pn`@<#Wp>xi!=;L$@d7L;QA=@*v&!tl1O;wjH2bBn>}v>2CD^pA72> zB(s40<KY+6>tOy*8cJB<rYmen$D?@pLn+Am8x2AvZi1k|bvo9Bd#4fx5V2@DhYHIQ zH28M16p?&?lSS^zb->HQR_yZ0hZCmBtzCK=oE&sYoFE~ALj;ohh`phFGm&`vn*s{< z^Ac`f7S5^HBhBr*aaB{pm7Zb}ZtFJtCA4uNi!&i5`+WSDig>nLphBAfC1y;FJT!!u zb*A9wn{-@MPEz#l=WiiJ5)K!aVqyKQ+u$Uw?qcnBqpGHz)~-UQ%Hin0K~7mEg;6Ge zdTSqC^Vnfu+2&Tl+_#X49KP1r^Eb#RE~XLIEkx@J%%~EdCHwt0yiDV=@YG!^(Rc2V zmnNMGl_nGNjW0K)vV~o>YqfpF7yo2rgeiGoQDA1SA2VX%E(z^HPToax{g0e?wcK?^ zI-uf&2DyN%(5(xp$mA<6G#aBk0iFNyYSA87tdI`Lw{LSjcb)LygaKI<6-qqhxCN+I zGaz|`O8h&VX_0X!-f4IOT#r0>#C#4ANJ-G*PKIb>Ba??y79b~$J#>emZYPPK2d>G@ zX0#d~tOgGfHQlHN3Ob?NJh|xbD`q&`6^iC$_TF1*U}G8tIUm%i=FB?4w&{u0K3Mw- zr!I)JsoM{vtgO^}{H?m6)4C9Z;4H`X=oNE9k?svZUo8iVyG&>tpJTO49O;`rdGnx} zG-=_)fxM~zoH#)C@1TJ&`v15Ik(>V<iybh;xX<Lde@A>Y@qvyV`GgyQ@*VlGHh>-u z`N#+VUj{PFT6b_+l90dkIT7$|PiP9M3w)A!x=9m;41dy|gfwh>?IWiQ&;kc|UXYa0 z?Zlh3C+slegF-^A{Nn3y0+8Umkp-#ak(wX92s$tq-trAvAUVa?UIKt7q6l*@UxWh; zcCGAt42H!`M~)Qvjg7p>nFH7tz6bk&pEbF{UB@2)*ON*J+B_N^skLbwXf6Ga78G;0 z<BwCZ$A!qQf`}cp62~H!^5hXVBoL&%|48x+Y(%Bb!p{CCZN64RfJlCpL+(3Xji28> z(aVQ@{xshDNZ$ptKDRc=>|^+eMI8a#{$Gw9c$<N=2iKiC0?VIMW!PBu>IzMrpa7b% z9)sMtabqFF<Jhqn*_mG-jsWn6;Ok{hxdy~=`oWzzpby5$MTvp_?t?bNeB-+xUL&Aq z^8P_t-!p?AZvMYOeNTGBo0^RCSUUw!`hySE(K_Hnj&5mP1#J+ZSj$N7&Ozv}GI*7Z z4;~eef`UEX>M9d4(a}w-_Vk<O+)7LM=|R9BhTX+ordixc&*?Jo1e6)CFX1>sG0Q%< z?z28jnHW&>aV1z{yRVpo-UOTBN{QBF3fUJ&oI9L2pm7dPB`8GWns$#)9JsPN7I+$^ zci^!KO$$g@2lNTl$1FHX-)Q~vGtUU#nXNFaNy*2ek$~ZfvFGf%&1aT-jt?VJt`(v$ zPspINGSA3ZT?(*P<hn}@Pf;w)S1FUc8Na>q^Pm-!k-<Z{J=c^>hx$K;TzQD}F^<^u zZSp}<)`XlmU^{*cu&R`suV^(ZF9Jk`pp+nHCLkb~{rR2>MC5&x8ZveP6V=sEdELHn zT;QoZ;pJ7RS`ze4F09<*&wYT)frjwV!h!yk6K{wNXWA15%zt7bG__j%$W-oFC5S&# zrej~dn(BUJJp~X``QPqGNRLspj+e-8c#wQyQ=?C%=a?S_^JUVV&7#CcZ2`=S$tQ?( z<3KMXqw)}Q#8q0C%o>t<dwVaIEnzO+j;W5}GvMAiW?jB=9IAN_Ku$htmqkII^&E<) z)#fWX%YZu>DVn01Fwn`KMe~x$nmQ@V!!Uj29_y0Zf}koU$+P<<?#O|qH$({Uh?F6q z_f>_8IS5k&GcDQQ82Am9?Q{W(<>uX7-Rp4M(V;Ks@J}i#qX)ZVX(7y_w2YpxuFl`L zE`@IbCBb;o?|4nF9x!`xQJ3vLi9b{-wdmpASQ=3VkhZ<-G1Q(w2`XD!ev})NVV!~g zpG2`bP=1*N$M$gcC{3ivFNTHTcZd^0W5|n!<uTBNCN017ffSqYE&x@W$<QG1aC%0z zeh8Wogu+4G2x`7er9!H0%&QP|iS)y`5;}3GkFj=wx(E|f*^xH12Pg}P)Mx##c^=t7 zsV7LdM**Krsy$wx2L%;WJg&n90Gff16MudYtv)+@PZa|M-c-w2_oFB5rMW=+LKy5Q zi;9Ucg(f_3)GMCv-*;Asc^rt`PPW20UD2UqVY6O)=d*RVDUi3mzRsB}=G=C8l|4#U zRu)A|`{&k4RLM<ZiW@CaHj^j*Dc>AyX?Ac&4hWcbR;#>G{IPXud>}j`Rgp%cgc5}3 zGoHn<Ij_RPi(KzZ0f<frjqeTl9*a=jyynyl-|J_*Q6K5FBs4YAdR`;{IQQqMhuKfR z$)QFZSKr3I*co!3_Nh_(1b(VX8_pa6kODa|0tz4F?LiQRzkgJe&92OY?wg!RzO#Kv z<FvlPg=@V|ZwBQc`dNdTyT8D1VE|4!DP9l)*29h|ggQ0)@`D$TtScgk;IyQ;xHwl& zI4)s+up|QTBNzI+GUZpe$w8b=$#x%;7lBM<4bE67FVUnbaw~u?Tc?sqhEU`PA1Lkt zt-wdHddT7M#5Z~kwsv><4I59x;TCd$J|OCVh7hJqfS`{N5v@!{C>tM+NXcaPmO4%+ zR{Z$|6y6Eayu?Olco9w78}o4BKtwor3{gkqX)E@iq~P9Yf-VPb2V#G~iH#Q*uLA6Y zNaK|fuHjcB+IXlSWYccG;@)}H!S%Ag*fxz?^Ti~b&C-@I4K$@%nRlO76MG-M9I_D^ zan7*P!??>8Ie*19@EfIVmf|q}_C$ze_UtXlD(^sJWiMn!`1tt1b<jyBcCw7qLPy7t z7Ld0Cx2Tc!&?R`k;fTMaj*aF%bwy1oT>)J3q!%OCjl+C^t5vJKJgp@Xu`U4h##GFS zIXwf7t0KMFg+3X0C1ReNi6X@B70&W=72vc(tH<Gu1YyheXC&cV745P(^c$dW^`R+s zYzzX7@rw_z=Is!lo6?6pX&61vxNQcQ{Wxk<lo`}(qJ$F%?y-P+=)DRu4K8rpB`+tc z;e?VLCh<-B^216^4GuIK)a~twZEx0OgGQ@%WwG+)-*ec|CD@7Tl<Uji6_=Z@fNm(| zZ#x`y@bkUR;Xbr-_vK$;u7(p4%9|{LI%Vs#U!HW?F*_$r{^m`Jw>OR#G#I=F#~(1d zpTun8t<FH?V_o{ra5_wjnd=mzSMTkjxNG+i7PRBB_t5K*M)?@t>r>M8LPO9eZOg#{ zd@e}bTH}a@N{=E{utCP#U|J#&=Pi$c#~D8kPlB0WHv@SHP-rpy4G9k1XteP|bHlfN zD4TWDe2zdMfgsBX5e1nVcd=PSUlW@+jyQ9cR~CL0svN7|?JmCZ44lU*(!+<D?d5|b z2Y9NgSEp>|KH=i1wE5-#965lYMmfVWukgY4&Qi14%8hk<kduTEdyAn7CpU-5uBcU; zB-i{qApkj?K-z1!jXo(d;Uoy*j@b0#x~2%&u7Br1EVg#@6}C76nP2bcy4N8DM9f0e zzJ3V*XB#-t0MvhPA;LNyooc`>JL7}h@?rAwF>Zrad*t*XNijI0=!=hzxBr7Ikc4|Y zg`rwL=}@%AOQ$Os_dhrib|U><(`~WPVs`O3tpK92%YFtI26=9$_dPCBVpwZ`d>5yY zTwI>ZnYNNscu~Tyg_FY{oep5Wq7U-XgQdgPglVWmaI=G6?~FUCHhLOm)aJ<9A4lf{ zka_OB@5AKXp#$;D3u>f840;wVeR6p(=?vditT=E3n>acjp!GFJ=O?;B?<x*7KK{`% zTXGKC694=_l%;-jK1X8#a)?0~&~1TCkP@_!R1%RMB^Zj)ab>lyXlqudKq~;NZ}$mu zAg%FV>SMn%L2``<K{Jz;P$<0V)~8B|tr_&NJ-M1>>z#kA)1zAGiI1Q1t??V1iq=~< zU0%yiRDfB+aWbkZOC=3wP<Is1u6T-)XxG1i_Sv3}+Z8*TRTqv<w%UY|k;dCeR17aZ z&YES)ufqWvoVOJHK&K9e-;m*s95{T*_@r5`$_saZhP>4qF=jON+l(8Vi_6<Hy!IDm z{`DjT6M`WFqYY;t<dnZLdyg)8MGCu4%##*QVqlN&h$T!EJCY}yKR<1?T($&y)H*UA zWDWYDr;?R8@tU5KU0-g^{N#6B`zu&s5;>gt0ZNr(TTnv4(u5=DOxZPpR=kjFzE^J} z*ZO-s!W%n-GBim-Z^P35xJn2kya0Kp)ra_+<t}^(rwZT|!0N96hq+f`XJjo=fmPn! zcQ*aiyl4N{9CsF0(=DibxVc5nFP2fjc|FRK{$)!@Mw}PlP^O#y_HE~f2Unm6z8WBq zZNPHRiP*6M#Gwy|;|(`n8vn5||J1mxl>s>T`<PWqh~?2yua7Z^#t7PyQG?=l@+?S$ zfCE9qTnI4%h5WZazp|c(gk%D$x4tkC4b`R_v}-HxKv!`8Ps<WIIx>LfsctDjYGP+g zLIQn?0jJ;;9q7)1Tyyda2z($C;=>_<&eH|e)l#@K2SAnsxysV-qSGt49s!Vh?=6;t z=~ou4xyYS~v_^k8jfd+Y%qdGP_Opu2DtQQ*JoMS)_W~*5+Jh+hp_}pj-BjPqksI|h z9-9mT*5qd|$C#-{UIuq1WC{_>95j1ee>*Qg#ei!&4ojF`L9YigdBt$3W+13x00mRK zV~=*jhySOp_W;MbfB*kc(w(dZm6?%-y*Gulq&>}&k-ajy?1oaLq3lX%AxVfxWMm~3 zva*#;viUt<*LC;#e7^tV_}|CTaol$|@9TZN->-4L&gb)doQIzg7$5W_q`FJFm31kE zCzB@B<RJvVEY;@n8W&V<t%|Xj8M(F`UStPf;<mOO&hlF&e&RNwStr!6*CHid(MSAL zp0%tJ8)Rf|LL`cH7Z(%^Sjx*Hu3=TSB0XsIbt6oW8;?{V1`twFiR|s|9ZM0}umPoX zXRry*R)0&jfL_@Sd#sg^($MG!=>ww@c!CqHz6Nk~|HH!41z|D?5(^~4OFgmYLri?8 zE@ry`C^-VJ91huD>$HpBV0RE?Kx~21SU<YPE6#VB=i1)_U9?Wl%5+l=39Y0R?B#+h zwj7pe90-?mP~AV+5q$blrx9L0NJNDH2azClYHu@(V$(YehoEcM2q+6l#n8a3Sq)#F zz>Nj|&QumD7%gJKt)pni;#u<zc3E+GDdNLTtL)J2ZOn8KRZ>zam-C-qQ13TIIw%%C zqodr4tT=*Vw@frRI(1{AW^$uv^Jv$nH}V%QMTWx7xHxy87Sd29U^0Rgpfcozx(&K6 zx46U3X`tXChHtPWPQW-6vOBH39(wa`WsHqNr&Z1SrYV{^gGwFHW>YUhBt)nK$20AD zRow>(i;0{Fkc9a3#?8i|bCuKT5`Qj}3%>I!FR=tFwl3DxY<yB=C#SK?Sl(qr(|O4z zPf<jlt0ah7E$d2&jTWD0CkI4WkEyP^**IUwre3~yQTkl}v8$Zozc8AqmH(~$#n+@i zoPLKVUzAL)CFi4tQjNsKz0r?V3k7f9DPdgv10YGFp^-%8g$s)@2)Ezg;I&KQHkJ`} z3(m+;<WMwWo6d?U)+^iHLRpE^R;=fehYtnfO2))=gcV13(bEIps98`@u$YPIeBUNr zLlODaUcZS4`PA58Gd2s82P6BPRZINa3ft}+t@!<gLr6~iFpM=wZwf2!-m5ScarC(# zr~`k?sj1X~KaIoRZD`aY8g;-4MPh@?K^=I1v0K;#9<bU2ag-Grv+QstC&dy|8QJ_w zMR+vr_bRmJHAlCcZ?vQCD}@c|aL_<hw=il7WFuzUylsp+or0{qGE7zjt!&SZMg_jo z(OFy-?GJ;#$nHJ#KdI*X5fQ`#TrVt14bje>FDzKTJRwU-kgBjqgqtIdBH(s3z9t`$ zijZI`7@P30W4d?e_Y5li1R=q22|o(TXD5ZkjF!<H?|C~^U4v)KLN&M5CZhbS{utTB zT|#*LImLhU#F=&N!hdHI%ECg1*`f;<w@!^(eE&LLN81EQJ*U&KKv9ua{C4uOk_YKI z3YrFBH3bDmOo>MK<8TiORdl~(5T|gui(2X;n75ZvXEYbCRDJHTke0t&Cho4*z;R~a z$B@HEy~;?k0odPX5cK@s-_U)dVAv6c!>g-l)meZJ)E)>7K+sLC<qm7Y;~RZ$U0b2? zXQFA5OShI5)de>={Pn0s0itHW2OOK-s8>V;<oS7K2p)0JE3ose+Gt9BgwKzev6`{4 z$n!HTAuojNd!5P-x%9BHqplDxCR!ENpp*ljYp-ddvAFSaWXs7<hT$jIf;#Ya@gk=8 zH`cSSW+Z2HSbelz<y?QB`t|{nuu6LcM;Ys8ft#Z6(E;w~{3v@7j>tG%3ij-YUfP_a zT^*YkM6F;6>a-xqC-Y3?u4bL?sWm*G`)l6oXkEBOzvu`5f}eYfKgG*t^dTv2MeUDW zN!BT>A*w@hf(nd`jQhLt8-G6W+mQk+UQ11sdSk!W*Z9lWdP({U+xBpql+}%F?dPh6 zT$xaSp>HU8Prn-2cr^L4@oW(zDd5HS_V_@;ReUw$vNFe3Z`iy@`I<K&bdjsTg$Qrr z<Nb+#r3t+1Ubm5JkVT3Ym$EJ47}<oIfgr-iqwaNxQO7y;mM9$NX3Z+cUcCDo4##O& zG^2EFYik~k&fzFDM@5fa3HyjO9#S80ILJBKMP<)8%?yx%l|`n^CvD{6P`9bfwo^wq ziF`lj-W$MlEcgHkMT;Vfcrj<}n=7XH_<a%l+K`R*Fs^9R-^?t2^8J;SC=77xBQLm} zHEA!R;)3rP-7gBx4dCb&mJ6hT^Tim|^=eHN9&TpenW$zpxC=*0_`6-l5aWvMuGrKg zD5zka=`iAXG7}R9g*?>s7q2pddz0C>qGYOxbr7Rg!>(idSip(bVmJ}q*+QEwOsw}t zM&8k5_Z{-Zv19ZpgtRp1e_Q6K4<_wRGb>y|{1)S4CtusHmyoFHtM1cxa&m%v`XRmt zc6<xucj209RDB>JfLsxb6o`%UjmJ;RGw!Awu@!UeU%Gz1#r`v<)Z*E}7dCf~uXO+O z+|wly!s``bMO>nLswXc0X$gr|Ht0tppCJ!*(nmLxc<_kA3I0*n+liK(@W)(Vky^%j zZs`5c+rvW%PWiFNYO}Lr)g-$F4MG}@rPMPs>3GYZAMY0;aTN}cslU>IX}A?GF3Y@` zTM>f7gTM5JMumeKS64|pe1XkfHLQ~piqkb-)jv=9YKacFODM0xhEW(UH5~5Q;hTU< zU@0pr$#OS&bX;$l=0wVEKD%Mp%fnj$6D4e-D~6HS05(M_MkSY~=CFoKDlV)V2}fk% z46}z=owl}iLyo&75LF4#!jJR0WUM3nOCi0D(JYd~U=<YurmLB1$eX(A2DTZMbN$3^ zt)H;#&c@>}h4DJhAdsS9Gi#Z|XII=aW3Bo1nK99T#x}^7!{&N0Z>ku0v}fTB1G{Pu zd}y4Von5+Y*+*w}6OHsoN>Wn80dWh@pf|aI83%LM9@rgTQd(MD7j9NV-z-9+Yh+@A zL@c*A?r*=kzzU5#ueay(=g$b{_>r2pEq*c_p=Dc7kNbye7RNvR$65K*O8I?f3lN>% zO}OE?SzVn-kWL_4LbK8D+G02x2_par4&ZV?QW3(<kDDfOfH<cZ<?O)UA;$(^U<LPx ztmheyX+j@@P3RpMj^rcptVGtY_g8GC)N&h0GQ4Bre}}r#Tjwn+4@|MQ-p7{t{^OnQ zlwtAAcLYV#zBhmF4>!zVkMI?mU{Qg71F)!<6P!_FdG;8rw~?^nGWKZ8?Zfllpr#fL zeGyNV7k8lx{V4lqVic6p!qsQ8;8J+9Kfc(rj@Tb-4K(#(CBXY9DAx8jeJSzygll~2 z(^q5N;h=hDQx`(61n`r6b{8i>eu0#A41ZRumn4w50l17f1k_O1io`RUP_23R@sZ?p zSfcVfPjiVK({gl_LP@BAu<(Vxl$;RAVm|^*&j0$d3Ahc!z{_zeXeR(vDXAMwd>(!% zWjH@Op;XeLDu6sEL1e>31b;!C=UX_q<ZSCd)e<zvZz}?7>t2g|KjnMAKE)5i^B-nT zAYrx!b4s0meSBtpy8_Heogu1&_o4KXEG*0+#G?fXXS=DX0OHgLlc@0U?EqRQ8N^lP zo|~O?dS6&5%k>_T9<deTHQv+o)qqx<|Ile1+9Ck6G49F8R8gSWxb}YXhnBVvhBM;F z!FaAT(42GC_01pet4oJD05m59e0R(-bHvPhBIT}tR{g@hSp{ov>Tv6kBOs>3aP#@u z(bS6e40wo&L;0&A^Y8FyVC=<NCA`G0DJu+ys~`+sIMj+E^Fy7JgC(t?x;j)e)<ba2 z=HP(?OWD|ZU^q*F_U;Nl0#y1m)N&w)NzPrz5ON|>RX00P+Ue1YXwL}~Cz{CT_|E6B z?{ov$KKU}V5m~WCO5BR}zvTitPpw@WB5NMh;n$Hn`EaULuqVr#2hnkZxXO2@**V^% z-CQNgF2&~}n+8t!N*KgAM_=c5nXi6wu;I64I|D2uzv!w80+}Qyr=Uc@riYv!h7xh) zVV1{WFsY*KB%&^Vs+*h15vb89&w*P88cuYUSWCEO`M~Tw8l3^tK#zKgmOn!k6!-p` zu?-tG7!P|Pk=)VK)6?YM>V5RLT1W>eEONppdbMO=tSiHhRXLi0nG$vIrTI=#;LfSD z;T#>4V+-cYm_{bD)1m?b?>2#U1bO*NMIU%uFBd6cpqGz&FJW2NNw@dVp+nsnflO>F zezi~x%jaX}r^h-*cyA2lFT@fF*`<4rvDZ%#OrC$VkmZK!?bqsR{gqQ&O8j9ChI#>b zg8w1}zS%14_(fE`C)cBz=6C-;w>J3a|H*Jo7-)R3H86T1k6ST-$sy}}Ok5m4jHGHq zC$KMAx8y40nx{}4JUg&L^q;ts>5dO{hllgsHrCxNZ*7eO)gJnFx)^fX+3A110QsML z-qx$!CL}x@lHtgRwE5`1H!Qg6`||?{%PON3E#XH&bRbv$JpwZ|*6Y`ku@o4bu7lG- zlBL8ziU61nR>JkLPIbdOOr8e3N!aqp5o|9gf9lgYeq4#BB7pZ`iM_OZEr3t))@T7h z@&%G0lEQo>A|b)*d;O~O9neC{L@Sy5QIc^tj+Y}2>)FflMh9*4M{BuDuGPFcr1;FJ z@iskoYn?v90R3R(6g~WSAHCGUcnJ|Pv1|A53$*ym*nLYisfI1Nj9_9~7v|kVi}!14 zY7S=i@L5zv@5D(wdtrWtJTh$UZ#x6VnW4U#fi_FrZ`fwAxYNmci>a&gmN=z&?VpJw z_+4y(qqrXSEsg^R5Be|6<$&wEFPy=-Ts+gzQ85id5m_W)jfLj<0|#D9@Bs~d=f)%Y zAkdaINmn@W;FRU1f0@-ds3a9@C35l+vbpdhMvRr>@s|LM;|Y0&q*7v3-Sc`ogoK3B zZEHB;)o&;k9#TI4EjNDRXOfiL)8ifzgbL{D`rEUPcmWf#W!4dp4b%2(erAOgMr}t; z7}<Q{!gxUQ$QjhBcTO|94R0RXJ)=m81USTqUC;4{R=9-GM=U=qTKo2~V<4Y~89t)g zEd%O}7TOvRwjtI!9bMhFp&{zyR2|AicJPkG4A1G}YhWhCKEPyqb@uC3jBfM!_Jy{~ z{4aeMeBd8V%@)I!a}6Y;FjT*v$h6nT;M{oP)kYs5A5y4}q2+=oN-T7XN!~1D+|Zka z!5Z&Dx8IO0=!iM_E+)!DWwlNFe7l|KmFr%C8|2wC4oQc;TWM<d+jrY_bv<8g)N{To zYguvXBPt_r8C0Ch5p--b$yK!buCs{Sg*)X&vEImr66q)>K*_H0{1Zr|$D8T!E>`Ax zjw!kQT4mxr4g=V8Q^+RE*UDUgl}^^`(|sGS7D3&ss1i#hjz+vrY+3RE1CXW#lan3_ zw)Ku>PmW;`?2ZFR1s5=fz;WE?XB-x3`L5}7)aBEW#o8W5eykhFTEMMEDJU`OFPd;U z*if~)uzf+jCL3Gu(cJiZqH1~8=LZFn^A#Sth<~XulXSj#^Crpw(_=aV7_ocLAT^PR z!$_P4YVu}MK3?v$!*ZQ~aFjZ5+_!1W{XQ5PSBG^S9Vj^9&&X``*$vI29$)fI67N8L zS|D~*PzPcYC@9*vhO$qO+glKrB0>p+gT`VLKi18n4<C$vry-)v{t**~NkPAGKIW-m zHY`ZD%>Y(VmdSb7!SFflw4R?B(^=?i%cNYYbtFXB7xbGgKtrNSR<J{8J`#;be(9B* z>}t1moylrnS{+dtakO#e8Yk{q3zzua?3VVkNb^N!HV-LdG$0&V^5bQ-_uz{H40^~; zaH8%oFvw4|?SbC2a?P4j>|W{75i&lrle;;i5lBhHp*EHRzahzlv9q(^m{RHL=_x_F zMCa_;&G0~Tc?b449TGS2RAYPwCn)T(*RZP`#C|(JKamfUZmSe#E@>tLQ)6z}LFcr> z%ld5~^EJ&`eJMrmXXw-9#@JmuaY6yNc(PYWR`;;5<T_0sH4Fo?gCI?H0Q6CEsv}bZ zPDB`8vJ!jLVa7qc{|M$_@}VfJb%tZSyDFv}0q;^4mITa)yOa?8y@kCDwr@#3k010h zGBWq%Z8(`Z#qJ}F>~GGQh#ZY^K|)T}`m-<zcx9{Aw4q7@rX{&X)`A#`(WPV{AoLlC zO_;SEXb3_+4gOL<#FmoK3?6Bj-JI_bv>khGyB6A3H<seWqp8M(>jfhoJ8a1)2*?_% zQkBfw{q5`M$3I)*y#K64Z1xZ(6%lpt9u>pPm{AyP_&LwJyGm~xLs8K?-=W1<JJ+q_ z?>Ygj7AQw)X*gxi{uJ9CrUqxA3Oq1U=A}2rQtkr9gww8NN?6tj7_gI&45m!BT?Vv5 zV(d+Rz9urMJ$MPZ4|^h%T{hs+p=iW9!baolx94Tp<URj1SgK11IJ_O_gkAA84F15X zu8?Y6V-Tfq9q-fVm7kpT=L^W?5$q+r^z<7KJ!VG)U;Wa8)It+^8y<I*>3pg9X=gfk zqsgl;88H9%@%eh)W6H+S7jm&k5vdv0GKrl0x$F<|h+n=4maA>n;Co+K+0+d?2jM0c z)lGg@dN{H_W&5dz$5(Q3S$->$cR*4L;XiK(kMeu$f=ZsF!dL@@ktH0v#%>@iD!LLy zspJ5I^9c~{)i0Ubx|Bk+DHJt4S#rp^`_{!-9G_l|s#Qc2N~96a>in=f(a{x%^0hF8 z5!#QPS+KXPiZ(;#3i6gKR;|*(f}HAgvR!kguR8Q-s}DfDpI6%*-Y{Bg@ad(<sx1~D z^{BKHbII$W&IuuW^0fy#Iw~jYv(k_W7~KEb_Baf2ed9gihFMZrJjQ#K5zY}WJtFMk z15cl)jAuM@Y<n-4ceOxRKtSN6d&HL--J2Z>b^$M>mM)Vy$V}x1En=#e%yNi}2!9F{ zk(yC?oSKJP`TJgOP|>nVr<4Q*J*x(rfis7MYV+-#$+^Z=9A)x^V+CVM^2w-`X2{vS z)1oSTVEtvyopX8W3H^pv<kkSQjB^p{_|xJePQ37to}GB7&k?33NtKKbB<z`@vA4te z6Bq;=?7xZOcYCU&z!ae-ID=FvW7iwno}N9N-W|V<k$lF>xMe}+&;D6?UyrS~VI^Q6 z|00IWzHWA5{j9GTp?z$@mG55Ajudzz8@iJ-Nu4$lH#=`>S*Czy$jlWP$mo#60*V6- zpjD=fld~I@gz8dV@S^~1y&DD#30H#Xh5^94F!pBvMwN{Rh*A<3oiOo;2FCJT;5PPN zjS@MUviVuKx4ChT{#>=Mt7SbG!k@}>i#g)P>f*RryxZl`v?PfQ*`}elOx`op90(sM zRltSZGI(E~_C~hfCLkbS<AFy@F>_w<>K2Kv-gMvs0v|xbb36Nw_kJzkBYscj14RtF zY}IgS7)qy66rMZ(MtMk^vKyzY`qy^c$ogdPc3s71Ux(LB>TgacOig0r#vp9xboiQ# zmQ^4T12U87*Ysb!mZJa~UI4EZEcq1iKXvD4=-Q2p5*D}&UTtBBk{+F~S&i+T{I$iU z-ZbYNH8Z5W{Sy2J1x&DFeoBp_rl*j9sp}8b#BK*>K>Bs_WA~_keItAco91#^%gBp8 zp=!id6m%Y(D0yWdd|vrC=Tw@VxW0}i>TcQuQJb0b-lAhU=ctk)B&*J+1Fa5whtz#| zPMxaQlqV?2kYo@gt8wZSh#U`2>rr0-Mp??o6eDmw61jjJr6w_v2R!v~6Hk;PTqb{! z@%So+X?BfhTH<nc=&nfsoBd)K+{8n8Wor+(4_;Wk<uA)*;<NM)XI&tDEGh-0J~d4d zIHNRrQbalSH!ON~l$1~#0_$)1t<FR{n3J8ywp-rBJ%;*iUz}G2oAVr_VfvC^U#V%+ zIedwmsLW-q0{fN1vxZs}t2#TIzKK8N^x$$*frn?}0MKi2q-JaMSk3bY<*r;*FJZhl zt(T~}c3or_`qA)E3)F}3W6W1WE`bUPJ@cQQ|2VC_Z5``&oEwMYO_O>jIYEYNFJyZ_ zLu^eiUB*d6iXKT-0AefI25DE=DWJ<v5Na26dUppXn%L#vnQ+So2hqK-;&|o2rXTt4 za{^#`<h$j8h))O2=+4m}4VG<j3m2qM3&hR$kp?fd25l)hu+IHg?S;a+2jnZ1lh#YE zkza=CGCOOVMC9zUTMteuqNfn(r)VQW?jZAtU#Amwnjo~xosn3+j%o`#kAFoIfQU#H zJLFWT`Qo92^ks!K2jP{Km0qDV?s^d~BIOWx3SsJnFbmz5V<g=6_$dl3mz<Kud$hFZ zFt<uW9M<#g+9_T852vJps!_8$8MU5)#d;GiJT8ip<8_tav+f#yenkLXAHx|&;V*t^ zUbX_!WIWd~E)}<BsJrKhl?SWpt1jGO#d_}LrBd#JCD&zh82$_qTiuSqj&bgf@Ex0C zA1D5vMgwtUv<?6;T(R|DZ6%~6=MelJ0PUCg6>5_=>;*l8qfEkBTmbV|1QHzqN<FHL zFzo5wk8J+rPtjv(?+Il~S-T@XCnhRf#U^}eto}5aft|+qHGB@ii>l2I7q(DNj07xV z5)fPdXCP2A|3dL~oIJ};%4xi*`&rw4EmSwyw2CLaD<vq%oIf?0D)5pR0jbVO>x|fE z{VjxYSof^{7?mU+maE$le?CTu9`K|~EQx*>E|X;H%^A-G(p{$}$$)<eE6)xTydw9A z5Dng>(Oeri(_s|#5IPZ?>8%Q}gq|KfiAdtHG=mh5sHjZm+Tdgs{@GCZdg!2A{~F+< zRnNg-0WvM#MP1d=k{x9PhJy3A4lK~56ex8%?O!2L=+f*5xF7qz?MsRFbV??znZj(` zA5c#SozslX>-d|0{@5z3F+Z<LyjFd<;r6vAys&7YK(zmRMlgyRYEn%!^ALGe^uf)$ z0W~p@Di1)|o}=r0;gBb-YB)FGKzxpyAn@#Hi5~&CYo@Yk?cTkY<ZT3msk=b#hYqUQ z8BrqbG<9Zb7LGf8sK61@r!OV7?n;5={V7}a!X?5~d`KK6o^VD@G{D%w=IaYV5|%4$ zC%GjZ49>OsicZwbDa>~tamcJjWgEt;UsCJ#luz$3Iu5<H2yRw(xle_4jY{CLjTW-O z&tZB$BK!nl;$wpbL`)bp4O~sNc}SB?PEA?o&+z;nDftwCIeSLhhLh^D+|iOaQlpL@ z6tC?boR9|{;$t{jVugoBr+4<AD!I(RP3HoEzEZW3zkbYBhap38<m8@XEj1BG0F)DZ zV!nMK6C|YR-~O;;P@diqOi3J(?twB5c#vIYL9Qo&m*lQM+4BCEvW1kuzm%;iDrM_r zrb1r_i9edQ=BG@<zUjZntaslU<rT)~SzO<}3<{DygBsK&z<tDdTd<x6amu~)^`>Jt zz0s_}!353qJbHMM@uRMf9d9RaDro~$w@HaAz;bX*$u`rENLyQzYI!q;J&}(P+l*Sm zS4et4bnCApUugo(ANX(HJe9Z#{jq9l;9;U}YJnZ^eiT@!plH;>>uDm2vxy}qREbP| zZjgSmUH(F&*9#RkvGA#Kg5?S~CEg}S_NvwF{Fv*!s_(livB!RTc#%AYLF|5^>Pu=9 z;j6T0{tskJeVN^NEs7et3@uFf()QD{o7IN>(A&%<Q90-^o{a%x(Fax@zaz<e{<-qM zE@K6z<tZl^A-45YkzXvmbAaCINplX=lib2g3zmN)uR%xBuVOK`0@BR?dZ?Wdwi#N@ zoEr;R$4-})wl6u7dV`L$O7PVF&omTt&TwT7Dlhu5^?!}VsuwOI4{GrXz0I&$;WNV= z^8C9iAM9F<Nbxb5jCf6x1B&oqG|}URKkXy$r}G48Tt!b0TNF%PS41A0eHG2{J3AUo z&Zz*{(E2Y>8Cy7<0qbdx=uG0`Uw4uC$vsmWPkgx@N@Lt{7(DSi_UHc_nE_s&-|~D4 zchSG(7;RFtvuqaN)Q>c0t-2Zn#Hl}x7UXpK-kS8)o&(=sc*&y?8rgR}fT9#ZJcgHK zphkZ%(Jx;?2ffWq;g0xf-%<R+HiF97a%Nk7gQr_*IMo+T!oXlAz0GPDnBhsTh_wUH z_3KACjbWp}Qy5X0`xO<)!-Vi~jm%<XaOzB$h>nkUYWC|8`t4;+7$4MOV88*JBdq`a z6-{NJV!*d#)9`z|(FG=Nooi{Q+Yq$E{5&_Yo{GrR5zgsl-NCwJccAfG(^(I|I*4AZ zdH#Rxyn@+L;Dw}v|5E-nfRUY-#VCgwZL&fn&0Ct9x2*6|geJUlSjC_Cna86`*IIrw z6PW5jbWR(pVP=C=%2wV#G={36vM!@=l<<bg_i3K8nBoxI$RksIloVxGnzUE`U<#iv z)k0UcbF)Chk9uivsNtafZyZIuMZj!T@%$IF<s7*z=q|6C)t^*NN_}+8$^V$<Y+u(K zrM<UJKi?BW#&r;0pz-fU2X;PI%PP{bFXuIFxQ;$jHg%lya(QR^><IM-VPZ6XdHOQx z6SB=#jOs{-%t&o&_QG2g;4Gj`$!*sYek0r}=|C+5p83!6<&Ur<xK?PN)cEjWYu`8a zRg2LOiWWVc>>M8%`LteEW3bgBG2s$vri8YkDA@m7dyjA(P6yDBgM8=uOaPgb_MNBf zy1lXOdUQ&LeT=7Ns+ZfbH(zd}h~v{_*1y&P1ZV#acWw{L3a{(y<VndbvMIBZ9iik} zC@$iF43|GYF6m(InhaxVuub!u7iY<&i<XoO4b7ilrXTgbA)Q7&37QQpVKhg%ZWHPd z0si`=W|l`;&aV*-L&*z#%g{w{zGC|4smocP8l=$pc3Jwyyhs(*+zu7gt%%I}cUmcq zWceBH!Impy;_4DbJY0hTukFkV7%=xRrbk4wJt<8u=-<Ep@um;n!GF6SI7QiR64-Jy z#T<KIw)2Co&N4XpK=6&DFwi(YdBTdJp=oJ|zp3Wbv(#=|K|$P}-rOz7{EU3kX4{YY zRGj;L8&X5BU3=7N(k-d0ql2f`HekiaExQCB6Fy%az;s5>G|mZeOg;O*uI!Am%8riD z31FnbqlxSV4$frbzR6v@qfC`pf^)~s5pj^#e-K$YxVg(=AablpZ3fqyWu2TU09+TQ z-{oD4-(CP79$Eu=$xTj?!$_W7NN4wmQxy+dF4>&~3x>E`Ip|xtcMA^<e?LEo1j$2O z5&raa<X?B^WlgUr@!uM_X9_)oh;_p&+YOWy4c@_g{=sY}i|Qi?^uo%=KCXI>+E-Er z2MZAraq*yDwRoK9laawLhAnLJufuReo?Jjy;m-gwS{rqgp#KbYuuH<^g$g8R__~IX zb9rG^BN!=X-44`NLP7-B*Ppd!?K)^!h_$z<uJhXn$B*lZra!cLTU&Ft#>4A_E>A#p zK{zsl64(Sm6N&jiQg-W;f@}dAzm?ZIgmu8>@6Tj9PXXnn!j6+8`$V=A#g&IFW+4|I zXq!zsk}Wh_1?DU`%NeBH2Mv)EJKxfSP`SfJ@&!<UcO@*C%Mi946eV|ZwCnYVv{2z5 zUGE8_bUvi*$<oJR(&<DGBUFr{a~2!|)S8&RDr}@CMu&3TejR^pEe*8=L3E`7u{sLo zeeCP;n|umzkdbPA+9Kfm4CM}=M8i(l^3#(Vy3PWpQ$y_lF>+?Jz`LP*?Po{2<KQBd z`2J`+evE3V=)N9-ZdjLDu43&MtmeAW>Ju0)UK!jUDNjg<WO+k-2B5S1z7<eAU657h zCU@sg2I?9!KhMt1Tu?yXMV9uqfQaxncHCr%X{911J2?qztB!QxvRU%s>J!p<q2Yn{ zr(EUP=`A!kvtY{|QRdR=@$L^9r*vTk{EInyd%iMC7VXeR(zY%lJEw4FnG2)v21wo9 zD^9gEY&l7dGTbM}k79@ADPG6TOfysnX77*PEMP*Rw`<(iQEai-h3f2vb0btUa+HIe z&Zce~4P&{({*L9cQp-5l({b*;$c(n7<a3(fe^|;KINDWdkBy3)V&H`FeCS7TkU5cW z`!(mj<Q9s;O8xXJue(-dWH-+v8XYXGNurMH26n0kmw%*{RQ%VITOJ;f^B$b&z$G9A z;AQHJ1{fM?A-0<zVFMWJul*ZVTTo=dK62Lt&9D6faTAB-3LfQTFYzx3H2Wm5MuTU2 z=#sxXXYq1bk@1uq>?IowN%+iBw%fURXYbmzaIWW0@a2wks?9tn?`m)aNr^89iOt9? z0Q~Ww9aZIr-L=pMu12r&P3TAm6}oEs+X{%FSf6#YGZ=@eb0zPMFNb<tnk#H#l~)Q1 zk|9bu-9FGpyTAaD(2p8JtpXfN^ysP^o#wzc9Z8WJi%@l^Re$j?2@18vxc?ZhYrDur z-Pv=idYDVgZh^Bklqaj2{mPcs`Q}kl;Yx#dk9JDgM@RUe#m%WG1FjozcpIrsPFbd3 z_P(`&I<{cE!H@>u>AT!m8U!frNn3hlY8To-CM3I-vd}EmRngLo{SroJmzAndP^ZYK zrp9qC6h|CP28!|Cn#TuA$g^_au`57z=mH`(M&^p0Fw+Ryx4STQ-ZcTc>Mq-<(+|Ad zsAFOMdV2IVN<N7~0V^;l@S9=JDZhAbfVXOWaN_~=aw61S<(^?PoK9g>?_c_u(Btg8 zWEneihVFa1AOzc!^OS~ebg$2>UKIjJ|788+F!E*uxq4PInpdtvgAiIrTpA9w34m8D zu*wbag^z3}_n{+EInIcqw^bu25a^&V(;Cke@uHZVc;k^bq+#a5%3a*(Bh(wwA@QXM zBKZ$jX^EsLg$V1TTesr$`Gh*9OYb<@(MKq-U^S+;wxcfQ2v>h?v8rJ>`^68(<<TxO z06DUq{{!196#{H4f(qNBD1)xcYGRbez(Dj|viPNJ5r9q2duE%tFz9iATjzovR}#X` zxg?lNo7OHM$WT3X^$m1GfQY&$PQ#lphF~%|I_^>8k3mH}`FQk+508xz)K*ByYu>h} zQ>QHU4MulA%Wkf!9pNzjCMGMA;bMta#>=>>F5Nf&@oa%*>Xf|++H{Kx8gCXrKX2&B zODZDegVB$h;2&WEQAUsJ)#@4uEGI693BlfueTks9Dz}z$p`f=%&ZKg{A~qz{ba2T; zFM7^xbCp{qcJI2sdguSS`bGf&7f8G9SJt(cpzq#63OpTR7`U31sN0vAnS@=gUwVz~ z5=`sZ^HsHE0{-|pxfFJ{l?L~oJRw@Qufk<$o@Ev^C%1EV#aftTE-v_*tnEWd81!a- z@82A-XykTwFtI798tX?{7@H%-!fa4dGSX2QC4<tkoS|(Rb;;jX;?aBY<wqw&6975G z1zK&iyE;5Bpl;@&YHhd1e7Pi=`&9mB;0S9fsvU89zj%%O$62Q_GIztCwT)EHLiB^Z zHN0y&+Xlu9E{Y*&nRJVm*v6kd?D9A~6);ZoTat{$inPa6{?@Kh;fHU>l|~O04Omtb zzQ3xOytk4fohfOtq^oMDJ-?915E2a0YMwV=o+-D;HlEF&(KfcdN(@2t9&_V-$kZln zayAAQ!&WcrY#snzs!3C)@PFN18tpP0Lc%U4b#%P4R==kp-q?PI+ho>ZDMglcb!&U1 zFUZv)oxubhOYV7|>$r47qCPhq;#*;v+1USWPFT0-E6e~5Z~ZwQgwxS6U)ia%_0V|; zr?1j@y8@s%2I>F3P2v`Uv&J&p2Rna7waE@h#kiA+-;KdL_<FkC$H`CI+4GT)_2BRV zjRRKu9_ZRVMy;?YqXJK7R1hwGLBZpQh6(Ni0ted6X%0<`#!<Gxum)yCENt*PMWV2E z<F$VTMyceM=#JgHJ3yOiLwO-Y=8I6IM(1aS#=4^%WbB)i0I%psetyIorS_!f9$pc{ zqD910fY{^}Z{JfMB}X9txmL2XYq1TS7t^pn!6ho5!&Zv!{RHF@AQnz7Js75y5ayti z%927d=%)zHx&m_cb*;J{nuiS9q>Kp<KPvXJ{OCwN2s#!i`=mp(Tm<k#br6S;#N;>< zV#L)$dJ`czGlF(z2Y`SwIBgz9OcF?}!>73ob{=Sr?Jz$4H}p4CZC`C&m%>ZR_wf~B zv-ol@diTfDQrMLki;9XIG4KNd1Idplws^!3SlxXEP-@=%v<=F_iBk#>J06nZ>(enk z&XR{reVk&UBVvlcr-E+gDjb}g7VDGC8sYoHFUU|kTj!drVB=B3wk)sgJuL^}>XCWb zO;qQtggs(@ZpfFAu^NI{ttek6d%f53r-!0~m8adKCN+Ql7X_MR6^;T<HK`G5o-c1f z*e9?p(j+n_fRR}RfpVY=+z}4jN1hVQ778uSp`|v0>geCUA#}VjWBs9q?z`c&MiH<& zsQUZ+@5LaGhR9qW;<6L3z@3DqbbDbjh(^e(1a5{C8v5Ak<vfOHsRTm-Kq27jP(Kkb zP6hs?DhxHd5*MD5Sqj_?-|1x*uxhH8*TukR^ba$$3l!%b0%_U{mi!_moFOu9e0RcX zG@u5&RMmxlRz{PC+)@*$g^k7^6-~(L-5CH(sX&*z)iE?Qgr_5$blUR42*6t!7LeB( zL^H32-kk8r@H4D}HXY;VN0)@qzN#VJ5`GaXd5bVB_$b2#(bw8nqXnlU)ij&+9Bv(@ zty{NNJ=%FI8g7BCc}DoCUhjpt8x2wajPdTBJDu`o233QfNZ5gE0`k`EXn8~(8W(mG z>dmIZPjBBshewdNL?jQv!<3pkdUcT!o_~4nw@e2UCP(;Q;%<edAIqam>AIL8c=PV2 ztMZ*6i?iL^jTGuRD@ujWI)0b!_I&&z6C)lR(_aaCiwKQh9`BEsX|2QWqr?@cmH1$S z-Xa((j7Ffhj^z8yJqD7I@X7`@-d&ATC*Hss=~Iibhg9bpqv#jTO)Ke!gqX&!kKuHS zsKbmTwF{*Fu^x!*WUB}Q1;Ts=yG0SjCV9Pe*HKAK%tw$yEseQxG2(dxu1A^Us|~8F z=_u_zhdSbUF%aXB1|LO9vU3~{4Zek`+63!Oj}aRin<x^q4*7Emq8%RQ&`F8=cAQz9 zOVYRkPoNl|I5IYt&fD`6md8MtreJ{}Y(U&N8Lo|K63<|KqU&$W9Lnt@A}vrlz^oK( zfBx+C|4&VFf_WX`)<7xs0|NPbi1Tqg)!5>aXpE8=iZ$hSlc*l^4hm(K(cMtVU0g#$ zL$t#%{r{d|9aO7yMgEf-_b79BZR&(0GHKVH%@xtgw=i&5u2``RJdv!95Y_q|_f){Q z#)k{pYSDHOOVtM~pP&TTkTO`<65zXxglVoJ#6!1gZn<%P&zGY<+Y53JD&w$)uJya% zHUbDl?0V=zYs=h4xv39kbiRofFV>$dpI@_-@#5E|6@r^e1%tlt`Y0hbEVyiafL6e2 zU0tKPi=G{VrSInrJ#L9V=J;%~PjD&IPVGj)g5V7bMaS)5=H&<12iru9am9|=Yw*`s zdUEiY_cXLPwYYparTMhb=T)q2pWa9H1<HzP*K60Vnc@^_-GOT7ZntOLe0-N`f9i;F zYU}ASEn{YO(~JB9w8{Q``}~->Bzi+`rtJ_8NHxiC$G)9)ZeSgNgf$HfSFoy_g0X6N zX0Cg5)s{_SVnuM=?K^ld5C(v#4*N{iGY$S<MS6b3oip0JdGq_pNu^V1_qy_>Jl+~( zQCa5Z=BDI67(J-8)=cy12cJWi=d8pV>O*gzzpd~!TG{2s4&l$mw@x1stGcpXPp{26 zn|;~E;r0*Ax9{Bf86x)tSn>Gm?6oW`EFROppD6ROUgiibscC5m`TY5S?e|wZPk(gv z^z>ZA&0UDN#|ab~IxSC6<vibo5G-InP|UN*#v%D(P7XJUdEl#JRO3Sl+{sIrc7+4y z;!{)E1_lP+2w4a#Go^dRo^y4*|N1qj#9d~>A-I|#PdBq)<WKyGe!afZZ$6Kj;$0KP zjC0oj=eV1jf89En)RSLB`8D?$8L{NIhQiQjhGfMXp}DWa!%{x;vsa3Xx63IgBpRhY zd9u~Wh!^oh()#AktHHta0(SbpNboVMB2;jd{{=`>TLr`3;dz>^SweUJ`Sa!R@$slU zkb`9@!7gs{=Z>m^vhF8lYf7uDkMeFg?a-220KWy{pS;S*I6hzgPN!ebtv>W@8h`To zsF^V5(9f1yJgiLH9<Ub|7au6TrE0Fk!+OU_hBLIp364NlH@AYmaZ(uZMo8ZpvFI8e zo;~Lw6)~U7;SCH71V!!A;63Y`OxAPr&-T3h($!jB8O`CZMTZi98BN1mH%*E(d}bdD zeS3xM0xO<>cXagQq@<FUF01GOp$W#?{NUk31{7bvoRtY`P2>Mcef3`?8>#o!XmYpw zB2cjJ`^F!>e*KNd!NvwXJh$vKHcpY*TTINFan+YG#vW#7a=m@~wmSoZv;!OYy4tzp zK0bL<HVry1JyjPgEoM68w_u^uMA7>&X76n#?Kn+eRyu3d#m7Hj4A(R_U$>Hre5p}C zG_gqQn_6e4W7{^{<~OVH(u(2ytsGd3PA;LQQbCBfY|7kb{@4|rl3vU}PnX}qR%5k_ zZl8%ssH4*Iq}nSUY9YUVoqhHCb>i$C2yEhS^*6oqIdo<2G3ShvMdc-*M?8;4KZT8q zI33UTc?)!pAw?r@ao|>`oMr~C$f&5p+atn1e*Ad5cE4!eb04d(LoeIzCqI3<`S>fV zu%>)plj-T{M;RH1mlv{ME;Qr&WFZgW=nA@*C_(x8>(@<0O*?n*4qkI<Jyx$3*SEXr zt>Op^59b{5Q2YGplK>rQYTG{IQPeSVZ{cKIwWvarKD;u5{#sfps;VE_9CtW5r7dS+ zu`aV)Q~b!q(cD}IE@j1^ZgkF5qi4jklLF@+^W$s0;J5r{+l#ehmjie*+aBB?1s0SJ zu2ri_5!f9r5nyJ%T-ffaa&Xzpr%!ib!+WUu-9%nq{z|jGLD^fFqNj%20tc-UpJ+V3 zY2T8&3H~an)MVqgCuTO~r_;}bCBFBGR_@mmbh8!o;=H~jaI20W2Wk>G*col)pj*Ct zxv8ls9lqd3aq+LbqC!`680O~Yf^-CrWjl-XpUWBCv2b$qemZ&^n_-|fiR-TaBcy+E z?lIR)SZ}LU4m}RJkhB`~eo7p}@l;1gE@x!P1p>nfy4}XI6uKt|$EHGVcJfn#2QDcJ eP=DxAg|B$LRZ_8N#a%l5vr~7kPRcgZfd2>M>l9u9 diff --git a/lib/matplotlib/tests/baseline_images/test_constrainedlayout/constrained_layout11.png b/lib/matplotlib/tests/baseline_images/test_constrainedlayout/constrained_layout11.png index e0bb47296b2c7b47f48cb4862d60a9da429cb073..4916c44892c1afe2f7f84049d8a5598e91113bf8 100644 GIT binary patch literal 38251 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%0A{_S`)FXg#_nv*JuB$_%k^JppsQvE-Z<m)3 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⁣QTEekdG<UQGrz@P0)pPOoE~8u^sPvwA&pem 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 literal 38636 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%0AaRY2frJu1rzbDs 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 U(+{g*3j8`PrzD#uqv!U&0N29ARsaA1 From 2a7c08202f89ceba2893e4b6434fc25180d74cab Mon Sep 17 00:00:00 2001 From: Pranav Garg <pranavgarg@gmail.com> Date: Wed, 16 May 2018 11:05:01 +0530 Subject: [PATCH 0683/1161] removed comment in AGG backend that is no longer applicable --- src/_backend_agg.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/_backend_agg.h b/src/_backend_agg.h index 549787677281..d4b85633e0fe 100644 --- a/src/_backend_agg.h +++ b/src/_backend_agg.h @@ -43,8 +43,8 @@ /**********************************************************************/ -// a helper class to pass agg::buffer objects around. agg::buffer is -// a class in the swig wrapper +// a helper class to pass agg::buffer objects around. + class BufferRegion { public: From 641eb385b41a363b6271e39cfbb926df65b63d94 Mon Sep 17 00:00:00 2001 From: ImportanceOfBeingErnest <elch.rz@ruetz-online.de> Date: Tue, 15 May 2018 23:30:17 +0200 Subject: [PATCH 0684/1161] Sort gallery subsections by explicit list then by filename --- doc-requirements.txt | 2 +- doc/conf.py | 32 +++---------- doc/devel/documenting_mpl.rst | 26 +++++++++- doc/sphinxext/gallery_order.py | 86 ++++++++++++++++++++++++++++++++++ 4 files changed, 118 insertions(+), 28 deletions(-) create mode 100644 doc/sphinxext/gallery_order.py diff --git a/doc-requirements.txt b/doc-requirements.txt index 8276bb1b95e1..c0ee2014cf64 100644 --- a/doc-requirements.txt +++ b/doc-requirements.txt @@ -12,4 +12,4 @@ ipython ipywidgets numpydoc>=0.4 pillow -sphinx-gallery>=0.1.12 +sphinx-gallery>=0.1.13 diff --git a/doc/conf.py b/doc/conf.py index cd4045badd29..a0aa200b2764 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -9,7 +9,6 @@ # All configuration values have a default value; values that are commented out # serve to show the default value. -from glob import glob import os import shutil import sys @@ -72,8 +71,10 @@ def _check_deps(): _check_deps() # Import only after checking for dependencies. -from sphinx_gallery.sorting import ExplicitOrder -# This is only necessary to monkey patch the signature later on. +# gallery_order.py from the sphinxext folder provides the classes that +# allow custom ordering of sections and subsections of the gallery +import sphinxext.gallery_order as gallery_order +# The following import is only necessary to monkey patch the signature later on from sphinx_gallery import gen_rst if shutil.which('dot') is None: @@ -94,27 +95,7 @@ def _check_deps(): 'cycler': ('https://matplotlib.org/cycler', None), } -explicit_order_folders = [ - '../examples/api', - '../examples/pyplots', - '../examples/subplots_axes_and_figures', - '../examples/color', - '../examples/statistics', - '../examples/lines_bars_and_markers', - '../examples/images_contours_and_fields', - '../examples/shapes_and_collections', - '../examples/text_labels_and_annotations', - '../examples/pie_and_polar_charts', - '../examples/style_sheets', - '../examples/axes_grid', - '../examples/showcase', - '../tutorials/introductory', - '../tutorials/intermediate', - '../tutorials/advanced'] -for folder in sorted(glob('../examples/*') + glob('../tutorials/*')): - if not os.path.isdir(folder) or folder in explicit_order_folders: - continue - explicit_order_folders.append(folder) + # Sphinx gallery configuration sphinx_gallery_conf = { @@ -128,7 +109,8 @@ def _check_deps(): 'scipy': 'https://docs.scipy.org/doc/scipy/reference', }, 'backreferences_dir': 'api/_as_gen', - 'subsection_order': ExplicitOrder(explicit_order_folders), + 'subsection_order': gallery_order.sectionorder, + 'within_subsection_order': gallery_order.subsectionorder, 'min_reported_time': 1, } diff --git a/doc/devel/documenting_mpl.rst b/doc/devel/documenting_mpl.rst index 794e62239bc7..3c04891ab02e 100644 --- a/doc/devel/documenting_mpl.rst +++ b/doc/devel/documenting_mpl.rst @@ -42,12 +42,12 @@ using the Sphinx_ documentation generation tool. There are several extra requirements that are needed to build the documentation. They are listed in :file:`doc-requirements.txt` and listed below: -* Sphinx>=1.3, !=1.5.0, !=1.6.4 +* Sphinx>=1.3, !=1.5.0, !=1.6.4, !=1.7.3 * colorspacious * IPython * numpydoc>=0.4 * Pillow -* sphinx-gallery>=0.1.12 +* sphinx-gallery>=0.1.13 * graphviz .. note:: @@ -680,6 +680,28 @@ are delimited by a line of `###` characters: In this way text, code, and figures are output in a "notebook" style. +Order of examples in the gallery +-------------------------------- + +The order of the sections of the :ref:`tutorials` and the :ref:`gallery`, as +well as the order of the examples within each section are determined in a +two step process from within the :file:`/doc/sphinxext/gallery_order.py`: + +* *Explicit order*: This file contains a list of folders for the section order + and a list of examples for the subsection order. The order of the items + shown in the doc pages is the order those items appear in those lists. +* *Implicit order*: If a folder or example is not in those lists, it will be + appended after the explicitely ordered items and all of those additional + items will be ordered by pathname (for the sections) or by filename + (for the subsections). + +As a consequence, if you want to let your example appear in a certain +position in the gallery, extend those lists with your example. +In case no explicit order is desired or necessary, still make sure +to name your example consistently, i.e. use the main function or subject +of the example as first word in the filename; e.g. an image example +should ideally be named similar to :file:`imshow_mynewexample.py`. + Miscellaneous ============= diff --git a/doc/sphinxext/gallery_order.py b/doc/sphinxext/gallery_order.py new file mode 100644 index 000000000000..06f6c207ce2d --- /dev/null +++ b/doc/sphinxext/gallery_order.py @@ -0,0 +1,86 @@ +""" +Configuration for the order of gallery sections and examples. +Paths are relative to the conf.py file. + +""" + +from sphinx_gallery.sorting import ExplicitOrder + +# Gallery sections shall be diplayed in the following order. +# Non-matching sections are appended. +explicit_order_folders = [ + '../examples/api', + '../examples/pyplots', + '../examples/subplots_axes_and_figures', + '../examples/color', + '../examples/statistics', + '../examples/lines_bars_and_markers', + '../examples/images_contours_and_fields', + '../examples/shapes_and_collections', + '../examples/text_labels_and_annotations', + '../examples/pie_and_polar_charts', + '../examples/style_sheets', + '../examples/axes_grid1', + '../examples/axisartist', + '../examples/showcase', + '../tutorials/introductory', + '../tutorials/intermediate', + '../tutorials/advanced'] + + +class MplExplicitOrder(ExplicitOrder): + """ for use within the 'subsection_order' key""" + def __call__(self, item): + """Return a string determining the sort order.""" + if item in self.ordered_list: + return "{:04d}".format(self.ordered_list.index(item)) + else: + # ensure not explicitly listed items come last. + return "zzz" + item + + +# Subsection order: +# Subsections are ordered by filename, unless they appear in the following +# lists in which case the list order determines the order within the section. +# Examples/tutorials that do not appear in a list will be appended. + +list_all = [ + # **Tutorials** + # introductory + "usage", "pyplot", "sample_plots", "images", "lifecycle", "customizing", + # intermediate + "artists", "legend_guide", "color_cycle", "gridspec", + "constrainedlayout_guide", "tight_layout_guide", + # advanced + # text + "text_intro", "text_props", + # colors + "colors", + + # **Examples** + # color + "color_demo", + # pies + "pie_features", "pie_demo2", + ] +explicit_subsection_order = [item + ".py" for item in list_all] + + +class MplExplicitSubOrder(object): + """ for use within the 'within_subsection_order' key """ + def __init__(self, src_dir): + self.src_dir = src_dir #src_dir is unused here + self.ordered_list = explicit_subsection_order + + def __call__(self, item): + """Return a string determining the sort order.""" + if item in self.ordered_list: + return "{:04d}".format(self.ordered_list.index(item)) + else: + # ensure not explicitly listed items come last. + return "zzz" + item + + +# Provide the above classes for use in conf.py +sectionorder = MplExplicitOrder(explicit_order_folders) +subsectionorder = MplExplicitSubOrder From 60e9ec01c86b3060f6bffd4802502d31029d9b9b Mon Sep 17 00:00:00 2001 From: ImportanceOfBeingErnest <elch.rz@ruetz-online.de> Date: Thu, 12 Apr 2018 01:32:19 +0200 Subject: [PATCH 0685/1161] Fix inset_axes + doc --- examples/axes_grid1/inset_locator_demo.py | 152 +++++++++++++++---- examples/axes_grid1/inset_locator_demo2.py | 64 ++++++-- lib/mpl_toolkits/axes_grid1/inset_locator.py | 90 +++++++++-- lib/mpl_toolkits/tests/test_axes_grid1.py | 63 ++++++-- 4 files changed, 294 insertions(+), 75 deletions(-) diff --git a/examples/axes_grid1/inset_locator_demo.py b/examples/axes_grid1/inset_locator_demo.py index 0dfd611ef0d2..878d3a5b1b04 100644 --- a/examples/axes_grid1/inset_locator_demo.py +++ b/examples/axes_grid1/inset_locator_demo.py @@ -4,49 +4,141 @@ ================== """ + +############################################################################### +# The `.inset_locator`'s `~.inset_axes` allows to easily place insets in the +# corners of the axes by specifying a width and height and optionally +# a location (loc) which accepts locations as codes, similar to +# `~matplotlib.axes.Axes.legend`. +# By default, the inset is offset by some points from the axes - this is +# controlled via the `borderpad` parameter. + import matplotlib.pyplot as plt +from mpl_toolkits.axes_grid1.inset_locator import inset_axes + + +fig, (ax, ax2) = plt.subplots(1, 2, figsize=[5.5, 2.8]) + +# Create inset of width 1.3 inches and height 0.9 inches +# at the default upper right location +axins = inset_axes(ax, width=1.3, height=0.9) + +# Create inset of width 30% and height 40% of the parent axes' bounding box +# at the lower left corner (loc=3) +axins2 = inset_axes(ax, width="30%", height="40%", loc=3) + +# Create inset of mixed specifications in the second subplot; +# width is 30% of parent axes' bounding box and +# height is 1 inch at the upper left corner (loc=2) +axins3 = inset_axes(ax2, width="30%", height=1., loc=2) + +# Create an inset in the lower right corner (loc=4) with borderpad=1, i.e. +# 10 points padding (as 10pt is the default fontsize) to the parent axes +axins4 = inset_axes(ax2, width="20%", height="20%", loc=4, borderpad=1) + +# Turn ticklabels of insets off +for axi in [axins, axins2, axins3, axins4]: + axi.tick_params(labelleft=False, labelbottom=False) + +plt.show() -from mpl_toolkits.axes_grid1.inset_locator import inset_axes, zoomed_inset_axes -from mpl_toolkits.axes_grid1.anchored_artists import AnchoredSizeBar +############################################################################### +# The arguments `bbox_to_anchor` and `bbox_transfrom` can be used for a more +# fine grained control over the inset position and size or even to position +# the inset at completely arbitrary positions. +# The `bbox_to_anchor` sets the bounding box in coordinates according to the +# `bbox_transform`. +# -def add_sizebar(ax, size): - asb = AnchoredSizeBar(ax.transData, - size, - str(size), - loc='lower center', - pad=0.1, borderpad=0.5, sep=5, - frameon=False) - ax.add_artist(asb) +fig = plt.figure(figsize=[5.5, 2.8]) +ax = fig.add_subplot(121) +# We use the axes transform as bbox_transform. Therefore the bounding box +# needs to be specified in axes coordinates ((0,0) is the lower left corner +# of the axes, (1,1) is the upper right corner). +# The bounding box (.2, .4, .6, .5) starts at (.2,.4) and ranges to (.8,.9) +# in those coordinates. +# Inside of this bounding box an inset of half the bounding box' width and +# three quarters of the bounding box' height is created. The lower left corner +# of the inset is aligned to the lower left corner of the bounding box (loc=3). +# The inset is then offset by the default 0.5 in units of the font size. + +axins = inset_axes(ax, width="50%", height="75%", + bbox_to_anchor=(.2, .4, .6, .5), + bbox_transform=ax.transAxes, loc=3) + +# For visualization purposes we mark the bounding box by a rectangle +ax.add_patch(plt.Rectangle((.2, .4), .6, .5, ls="--", ec="c", fc="None", + transform=ax.transAxes)) + +# We set the axis limits to something other than the default, in order to not +# distract from the fact that axes coodinates are used here. +ax.axis([0, 10, 0, 10]) + + +# Note how the two following insets are created at the same positions, one by +# use of the default parent axes' bbox and the other via a bbox in axes +# coordinates and the respective transform. +ax2 = fig.add_subplot(222) +axins2 = inset_axes(ax2, width="30%", height="50%") + +ax3 = fig.add_subplot(224) +axins3 = inset_axes(ax3, width="100%", height="100%", + bbox_to_anchor=(.7, .5, .3, .5), + bbox_transform=ax3.transAxes) + +# For visualization purposes we mark the bounding box by a rectangle +ax2.add_patch(plt.Rectangle((0, 0), 1, 1, ls="--", lw=2, ec="c", fc="None")) +ax3.add_patch(plt.Rectangle((.7, .5), .3, .5, ls="--", lw=2, + ec="c", fc="None")) + +# Turn ticklabels off +for axi in [axins2, axins3, ax2, ax3]: + axi.tick_params(labelleft=False, labelbottom=False) + +plt.show() -fig, (ax, ax2) = plt.subplots(1, 2, figsize=[5.5, 3]) -# first subplot -ax.set_aspect(1) +############################################################################### +# In the above the axes transform together with 4-tuple bounding boxes has been +# used as it mostly is useful to specify an inset relative to the axes it is +# an inset to. However other use cases are equally possible. The following +# example examines some of those. +# -axins = inset_axes(ax, - width="30%", # width = 30% of parent_bbox - height=1., # height : 1 inch - loc='lower left') +fig = plt.figure(figsize=[5.5, 2.8]) +ax = fig.add_subplot(131) -plt.xticks(visible=False) -plt.yticks(visible=False) +# Create an inset outside the axes +axins = inset_axes(ax, width="100%", height="100%", + bbox_to_anchor=(1.05, .6, .5, .4), + bbox_transform=ax.transAxes, loc=2, borderpad=0) +axins.tick_params(left=False, right=True, labelleft=False, labelright=True) +# Create an inset with a 2-tuple bounding box. Note that this creates a +# bbox without extent. This hence only makes sense when specifying +# width and height in absolute units (inches). +axins2 = inset_axes(ax, width=0.5, height=0.4, + bbox_to_anchor=(0.33, 0.25), + bbox_transform=ax.transAxes, loc=3, borderpad=0) -# second subplot -ax2.set_aspect(1) -axins = zoomed_inset_axes(ax2, zoom=0.5, loc='upper right') -# fix the number of ticks on the inset axes -axins.yaxis.get_major_locator().set_params(nbins=7) -axins.xaxis.get_major_locator().set_params(nbins=7) +ax2 = fig.add_subplot(133) +ax2.set_xscale("log") +ax2.axis([1e-6, 1e6, -2, 6]) -plt.xticks(visible=False) -plt.yticks(visible=False) +# Create inset in data coordinates using ax.transData as transform +axins3 = inset_axes(ax2, width="100%", height="100%", + bbox_to_anchor=(1e-2, 2, 1e3, 3), + bbox_transform=ax2.transData, loc=2, borderpad=0) -add_sizebar(ax2, 0.5) -add_sizebar(axins, 0.5) +# Create an inset horizontally centered in figure coordinates and vertically +# bound to line up with the axes. +from matplotlib.transforms import blended_transform_factory +transform = blended_transform_factory(fig.transFigure, ax2.transAxes) +axins4 = inset_axes(ax2, width="16%", height="34%", + bbox_to_anchor=(0, 0, 1, 1), + bbox_transform=transform, loc=8, borderpad=0) -plt.draw() plt.show() diff --git a/examples/axes_grid1/inset_locator_demo2.py b/examples/axes_grid1/inset_locator_demo2.py index 4e50dd5855c5..509413d3bf83 100644 --- a/examples/axes_grid1/inset_locator_demo2.py +++ b/examples/axes_grid1/inset_locator_demo2.py @@ -3,11 +3,16 @@ Inset Locator Demo2 =================== +This Demo shows how to create a zoomed inset via `~.zoomed_inset_axes`. +In the first subplot an `~.AnchoredSizeBar` shows the zoom effect. +In the second subplot a connection to the region of interest is +created via `~.mark_inset`. """ + import matplotlib.pyplot as plt -from mpl_toolkits.axes_grid1.inset_locator import zoomed_inset_axes -from mpl_toolkits.axes_grid1.inset_locator import mark_inset +from mpl_toolkits.axes_grid1.inset_locator import zoomed_inset_axes, mark_inset +from mpl_toolkits.axes_grid1.anchored_artists import AnchoredSizeBar import numpy as np @@ -20,36 +25,63 @@ def get_demo_image(): # z is a numpy array of 15x15 return z, (-3, 4, -4, 3) -fig, ax = plt.subplots(figsize=[5, 4]) +fig, (ax, ax2) = plt.subplots(ncols=2, figsize=[6, 3]) + + +# First subplot, showing an inset with a size bar. +ax.set_aspect(1) + +axins = zoomed_inset_axes(ax, zoom=0.5, loc='upper right') +# fix the number of ticks on the inset axes +axins.yaxis.get_major_locator().set_params(nbins=7) +axins.xaxis.get_major_locator().set_params(nbins=7) + +plt.setp(axins.get_xticklabels(), visible=False) +plt.setp(axins.get_yticklabels(), visible=False) -# prepare the demo image + +def add_sizebar(ax, size): + asb = AnchoredSizeBar(ax.transData, + size, + str(size), + loc=8, + pad=0.1, borderpad=0.5, sep=5, + frameon=False) + ax.add_artist(asb) + +add_sizebar(ax, 0.5) +add_sizebar(axins, 0.5) + + +# Second subplot, showing an image with an inset zoom +# and a marked inset Z, extent = get_demo_image() Z2 = np.zeros([150, 150], dtype="d") ny, nx = Z.shape Z2[30:30 + ny, 30:30 + nx] = Z # extent = [-3, 4, -4, 3] -ax.imshow(Z2, extent=extent, interpolation="nearest", +ax2.imshow(Z2, extent=extent, interpolation="nearest", origin="lower") -axins = zoomed_inset_axes(ax, zoom=6, loc='upper right') -axins.imshow(Z2, extent=extent, interpolation="nearest", - origin="lower") + +axins2 = zoomed_inset_axes(ax2, 6, loc=1) # zoom = 6 +axins2.imshow(Z2, extent=extent, interpolation="nearest", + origin="lower") # sub region of the original image x1, x2, y1, y2 = -1.5, -0.9, -2.5, -1.9 -axins.set_xlim(x1, x2) -axins.set_ylim(y1, y2) +axins2.set_xlim(x1, x2) +axins2.set_ylim(y1, y2) # fix the number of ticks on the inset axes -axins.yaxis.get_major_locator().set_params(nbins=7) -axins.xaxis.get_major_locator().set_params(nbins=7) +axins2.yaxis.get_major_locator().set_params(nbins=7) +axins2.xaxis.get_major_locator().set_params(nbins=7) -plt.xticks(visible=False) -plt.yticks(visible=False) +plt.setp(axins2.get_xticklabels(), visible=False) +plt.setp(axins2.get_yticklabels(), visible=False) # draw a bbox of the region of the inset axes in the parent axes and # connecting lines between the bbox and the inset axes area -mark_inset(ax, axins, loc1=2, loc2=4, fc="none", ec="0.5") +mark_inset(ax2, axins2, loc1=2, loc2=4, fc="none", ec="0.5") -plt.draw() plt.show() diff --git a/lib/mpl_toolkits/axes_grid1/inset_locator.py b/lib/mpl_toolkits/axes_grid1/inset_locator.py index 75a6a90d7bb7..dfdb1a67a105 100644 --- a/lib/mpl_toolkits/axes_grid1/inset_locator.py +++ b/lib/mpl_toolkits/axes_grid1/inset_locator.py @@ -1,6 +1,8 @@ """ A collection of functions and objects for creating or placing inset axes. """ + +import warnings from matplotlib import docstring import six from matplotlib.offsetbox import AnchoredOffsetbox @@ -391,8 +393,16 @@ def inset_axes(parent_axes, width, height, loc='upper right', """ Create an inset axes with a given width and height. - Both sizes used can be specified either in inches or percentage of the - parent axes. + Both sizes used can be specified either in inches or percentage. + For example,:: + + inset_axes(parent_axes, width='40%%', height='30%%', loc=3) + + creates in inset axes in the lower left corner of *parent_axes* which spans + over 30%% in height and 40%% in width of the *parent_axes*. Since the usage + of `.inset_axes` may become slightly tricky when exceeding such standard + cases, it is recommended to read + :ref:`the examples <sphx_glr_gallery_axes_grid1_inset_locator_demo.py>`. Parameters ---------- @@ -400,7 +410,12 @@ def inset_axes(parent_axes, width, height, loc='upper right', Axes to place the inset axes. width, height : float or str - Size of the inset axes to create. + Size of the inset axes to create. If a float is provided, it is + the size in inches, e.g. *width=1.3*. If a string is provided, it is + the size in relative units, e.g. *width='40%%'*. By default, i.e. if + neither *bbox_to_anchor* nor *bbox_transform* are specified, those + are relative to the parent_axes. Otherwise they are to be understood + relative to the bounding box provided via *bbox_to_anchor*. loc : int or string, optional, default to 1 Location to place the inset axes. The valid locations are:: @@ -417,14 +432,29 @@ def inset_axes(parent_axes, width, height, loc='upper right', 'center' : 10 bbox_to_anchor : tuple or `matplotlib.transforms.BboxBase`, optional - Bbox that the inset axes will be anchored. Can be a tuple of - [left, bottom, width, height], or a tuple of [left, bottom]. + Bbox that the inset axes will be anchored to. If None, + *parent_axes.bbox* is used. If a tuple, can be either + [left, bottom, width, height], or [left, bottom]. + If the kwargs *width* and/or *height* are specified in relative units, + the 2-tuple [left, bottom] cannot be used. Note that + the units of the bounding box are determined through the transform + in use. When using *bbox_to_anchor* it almost always makes sense to + also specify a *bbox_transform*. This might often be the axes transform + *parent_axes.transAxes*. bbox_transform : `matplotlib.transforms.Transform`, optional - Transformation for the bbox. if None, `parent_axes.transAxes` is used. + Transformation for the bbox that contains the inset axes. + If None, a `.transforms.IdentityTransform` is used (i.e. pixel + coordinates). This is useful when not providing any argument to + *bbox_to_anchor*. When using *bbox_to_anchor* it almost always makes + sense to also specify a *bbox_transform*. This might often be the + axes transform *parent_axes.transAxes*. Inversely, when specifying + the axes- or figure-transform here, be aware that not specifying + *bbox_to_anchor* will use *parent_axes.bbox*, the units of which are + in display (pixel) coordinates. axes_class : `matplotlib.axes.Axes` type, optional - If specified, the inset axes created with be created with this class's + If specified, the inset axes created will be created with this class's constructor. axes_kwargs : dict, optional @@ -434,6 +464,8 @@ def inset_axes(parent_axes, width, height, loc='upper right', borderpad : float, optional Padding between inset axes and the bbox_to_anchor. Defaults to 0.5. + The units are axes font size, i.e. for a default font size of 10 points + *borderpad = 0.5* is equivalent to a padding of 5 points. Returns ------- @@ -450,11 +482,23 @@ def inset_axes(parent_axes, width, height, loc='upper right', inset_axes = axes_class(parent_axes.figure, parent_axes.get_position(), **axes_kwargs) + if bbox_transform in [parent_axes.transAxes, + parent_axes.figure.transFigure]: + if bbox_to_anchor is None: + warnings.warn("Using the axes or figure transform requires a " + "bounding box in the respective coordinates. " + "Using bbox_to_anchor=(0,0,1,1) now.") + bbox_to_anchor = (0, 0, 1, 1) + if bbox_to_anchor is None: bbox_to_anchor = parent_axes.bbox - if bbox_transform is None: - bbox_transform = parent_axes.transAxes + if isinstance(bbox_to_anchor, tuple) and \ + (isinstance(width, str) or isinstance(height, str)): + if len(bbox_to_anchor) != 4: + raise ValueError("Using relative units for width or height " + "requires to provide a 4-tuple or a " + "`BBox` instance to `bbox_to_anchor.") axes_locator = AnchoredSizeLocator(bbox_to_anchor, width, height, @@ -476,7 +520,8 @@ def zoomed_inset_axes(parent_axes, zoom, loc='upper right', axes_kwargs=None, borderpad=0.5): """ - Create an anchored inset axes by scaling a parent axes. + Create an anchored inset axes by scaling a parent axes. For usage, also see + :ref:`the examples <sphx_glr_gallery_axes_grid1_inset_locator_demo2.py>`. Parameters ---------- @@ -503,14 +548,29 @@ def zoomed_inset_axes(parent_axes, zoom, loc='upper right', 'center' : 10 bbox_to_anchor : tuple or `matplotlib.transforms.BboxBase`, optional - Bbox that the inset axes will be anchored. Can be a tuple of - [left, bottom, width, height], or a tuple of [left, bottom]. + Bbox that the inset axes will be anchored to. If None, + *parent_axes.bbox* is used. If a tuple, can be either + [left, bottom, width, height], or [left, bottom]. + If the kwargs *width* and/or *height* are specified in relative units, + the 2-tuple [left, bottom] cannot be used. Note that + the units of the bounding box are determined through the transform + in use. When using *bbox_to_anchor* it almost always makes sense to + also specify a *bbox_transform*. This might often be the axes transform + *parent_axes.transAxes*. bbox_transform : `matplotlib.transforms.Transform`, optional - Transformation for the bbox. if None, `parent_axes.transAxes` is used. + Transformation for the bbox that contains the inset axes. + If None, a `.transforms.IdentityTransform` is used (i.e. pixel + coordinates). This is useful when not providing any argument to + *bbox_to_anchor*. When using *bbox_to_anchor* it almost always makes + sense to also specify a *bbox_transform*. This might often be the + axes transform *parent_axes.transAxes*. Inversely, when specifying + the axes- or figure-transform here, be aware that not specifying + *bbox_to_anchor* will use *parent_axes.bbox*, the units of which are + in display (pixel) coordinates. axes_class : `matplotlib.axes.Axes` type, optional - If specified, the inset axes created with be created with this class's + If specified, the inset axes created will be created with this class's constructor. axes_kwargs : dict, optional @@ -520,6 +580,8 @@ def zoomed_inset_axes(parent_axes, zoom, loc='upper right', borderpad : float, optional Padding between inset axes and the bbox_to_anchor. Defaults to 0.5. + The units are axes font size, i.e. for a default font size of 10 points + *borderpad = 0.5* is equivalent to a padding of 5 points. Returns ------- diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py index 685f103930b9..6205e3ed4360 100644 --- a/lib/mpl_toolkits/tests/test_axes_grid1.py +++ b/lib/mpl_toolkits/tests/test_axes_grid1.py @@ -22,7 +22,10 @@ blended_transform_factory from itertools import product +import pytest + import numpy as np +from numpy.testing import assert_array_equal, assert_array_almost_equal @image_comparison(baseline_images=['divider_append_axes']) @@ -186,8 +189,9 @@ def get_demo_image(): ax.imshow(Z2, extent=extent, interpolation="nearest", origin="lower") - # creating our inset axes without a bbox_transform parameter - axins = inset_axes(ax, width=1., height=1., bbox_to_anchor=(1, 1)) + # creating our inset axes with a bbox_transform parameter + axins = inset_axes(ax, width=1., height=1., bbox_to_anchor=(1, 1), + bbox_transform=ax.transAxes) axins.imshow(Z2, extent=extent, interpolation="nearest", origin="lower") @@ -214,19 +218,48 @@ def get_demo_image(): ax.add_artist(asb) -def test_inset_axes_without_transform_should_use_parent_axes(): - # creating our figure - fig = plt.figure(dpi=150) - - # gca method gets current axes of the figure - ax = plt.gca() - ax.plot([0.0, 0.25, 0.50, 1.0], [0.1, 0.2, 0.4, 0.9], color='b') - - # creating our inset_axes. without a bbox_transform parameter - ax_ins = inset_axes(ax, width=1., height=1., bbox_to_anchor=(1, 1)) - ax_ins.plot([0.0, 0.25, 0.50, 1.0], [0.9, 0.4, 0.2, 0.1], color='r') - - assert ax.transAxes == ax_ins.transAxes +def test_inset_axes_complete(): + dpi = 100 + figsize = (6, 5) + fig, ax = plt.subplots(figsize=figsize, dpi=dpi) + fig.subplots_adjust(.1, .1, .9, .9) + + ins = inset_axes(ax, width=2., height=2., borderpad=0) + fig.canvas.draw() + assert_array_almost_equal( + ins.get_position().extents, + np.array(((0.9*figsize[0]-2.)/figsize[0], + (0.9*figsize[1]-2.)/figsize[1], 0.9, 0.9))) + + ins = inset_axes(ax, width="40%", height="30%", borderpad=0) + fig.canvas.draw() + assert_array_almost_equal( + ins.get_position().extents, + np.array((.9-.8*.4, .9-.8*.3, 0.9, 0.9))) + + ins = inset_axes(ax, width=1., height=1.2, bbox_to_anchor=(200, 100), + loc=3, borderpad=0) + fig.canvas.draw() + assert_array_almost_equal( + ins.get_position().extents, + np.array((200./dpi/figsize[0], 100./dpi/figsize[1], + (200./dpi+1)/figsize[0], (100./dpi+1.2)/figsize[1]))) + + ins1 = inset_axes(ax, width="35%", height="60%", loc=3, borderpad=1) + ins2 = inset_axes(ax, width="100%", height="100%", + bbox_to_anchor=(0, 0, .35, .60), + bbox_transform=ax.transAxes, loc=3, borderpad=1) + fig.canvas.draw() + assert_array_equal(ins1.get_position().extents, + ins2.get_position().extents) + + with pytest.raises(ValueError): + ins = inset_axes(ax, width="40%", height="30%", + bbox_to_anchor=(0.4, 0.5)) + + with pytest.warns(UserWarning): + ins = inset_axes(ax, width="40%", height="30%", + bbox_transform=ax.transAxes) @image_comparison( From d44357922f7bb24e35e81d916d4876fda1af7fb5 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Wed, 20 Dec 2017 01:17:52 +0100 Subject: [PATCH 0686/1161] add Legend.set_draggable, Legend.get_draggable --- lib/matplotlib/legend.py | 62 +++++++++++++++++++++++++++++----------- 1 file changed, 46 insertions(+), 16 deletions(-) diff --git a/lib/matplotlib/legend.py b/lib/matplotlib/legend.py index a59d61d1b35d..de740e646981 100644 --- a/lib/matplotlib/legend.py +++ b/lib/matplotlib/legend.py @@ -52,11 +52,17 @@ class DraggableLegend(DraggableOffsetBox): def __init__(self, legend, use_blit=False, update="loc"): """ + Wrapper around a `.Legend` to support mouse dragging. + Parameters ---------- - update : string - If "loc", update *loc* parameter of legend upon finalizing. - If "bbox", update *bbox_to_anchor* parameter. + legend : `.Legend` + The `.Legend` instance to wrap. + use_blit : bool, optional + + update : ['loc' | 'bbox'], optional + If "loc", update the *loc* parameter of the legend upon finalizing. + If "bbox", update the *bbox_to_anchor* parameter. """ self.legend = legend @@ -1096,6 +1102,41 @@ def _find_best_position(self, width, height, renderer, consider=None): def contains(self, event): return self.legendPatch.contains(event) + def set_draggable(self, state, use_blit=False, update='loc'): + """ + Enable or disable mouse dragging support of the legend. + + Parameters + ---------- + state : bool + ``True`` / ``False`` enables / disables mouse dragging. + use_blit : bool, optional + + update_loc : ['loc' | 'bbox'], optional + The legend parameter to be changed when dragged: + + - 'loc': update the *loc* parameter of the legend + - 'bbox': update the *bbox_to_anchor* parameter of the legend + + Returns + ------- + If *state* is ``True`` this returns the `~.DraggableLegend` helper + instance. Otherwise this returns ``None``. + """ + if state: + if self._draggable is None: + self._draggable = DraggableLegend(self, + use_blit, + update=update) + else: + if self._draggable is not None: + self._draggable.disconnect() + self._draggable = None + + def get_draggable(self): + """Return ``True`` if the legend is draggable, ``False`` otherwise.""" + return self._draggable is not None + def draggable(self, state=None, use_blit=False, update="loc"): """ Set the draggable state -- if state is @@ -1114,21 +1155,10 @@ def draggable(self, state=None, use_blit=False, update="loc"): when dragged. If update is "loc", the *loc* parameter of the legend is changed. If "bbox", the *bbox_to_anchor* parameter is changed. """ - is_draggable = self._draggable is not None - - # if state is None we'll toggle if state is None: - state = not is_draggable + state = not self.get_draggable() # toggle state - if state: - if self._draggable is None: - self._draggable = DraggableLegend(self, - use_blit, - update=update) - else: - if self._draggable is not None: - self._draggable.disconnect() - self._draggable = None + self.set_draggable(state, use_blit, update) return self._draggable From 4d3f7eb1e9a77469ef4e995b8edc5995ab0fcfde Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Wed, 20 Dec 2017 01:29:27 +0100 Subject: [PATCH 0687/1161] deprecate Legend.draggable in favor of Legend.set_draggable --- doc/api/api_changes/2017-12-20-TH.rst | 5 +++++ lib/matplotlib/backends/qt_editor/figureoptions.py | 2 +- lib/matplotlib/legend.py | 8 +++++++- 3 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 doc/api/api_changes/2017-12-20-TH.rst diff --git a/doc/api/api_changes/2017-12-20-TH.rst b/doc/api/api_changes/2017-12-20-TH.rst new file mode 100644 index 000000000000..45754ed1f38b --- /dev/null +++ b/doc/api/api_changes/2017-12-20-TH.rst @@ -0,0 +1,5 @@ +Deprecations +```````````` + +`.Legend.draggable()` is drepecated in favor of `.Legend.set_draggable()`. +``Legend.draggable`` may be reintroduced as a property in future releases. \ No newline at end of file diff --git a/lib/matplotlib/backends/qt_editor/figureoptions.py b/lib/matplotlib/backends/qt_editor/figureoptions.py index 0269ef65ccd0..6620f5870920 100644 --- a/lib/matplotlib/backends/qt_editor/figureoptions.py +++ b/lib/matplotlib/backends/qt_editor/figureoptions.py @@ -242,7 +242,7 @@ def apply_callback(data): ncol = old_legend._ncol new_legend = axes.legend(ncol=ncol) if new_legend: - new_legend.draggable(draggable) + new_legend.set_draggable(draggable) # Redraw figure = axes.get_figure() diff --git a/lib/matplotlib/legend.py b/lib/matplotlib/legend.py index de740e646981..c3380ba1be8a 100644 --- a/lib/matplotlib/legend.py +++ b/lib/matplotlib/legend.py @@ -31,7 +31,7 @@ from matplotlib import rcParams from matplotlib import docstring from matplotlib.artist import Artist, allow_rasterization -from matplotlib.cbook import silent_list, is_hashable +from matplotlib.cbook import silent_list, is_hashable, warn_deprecated import matplotlib.colors as colors from matplotlib.font_manager import FontProperties from matplotlib.lines import Line2D @@ -1155,6 +1155,12 @@ def draggable(self, state=None, use_blit=False, update="loc"): when dragged. If update is "loc", the *loc* parameter of the legend is changed. If "bbox", the *bbox_to_anchor* parameter is changed. """ + warn_deprecated("2.2", + message="Legend.draggable() is drepecated in " + "favor of Legend.set_draggable(). " + "Legend.draggable may be reintroduced as a " + "property in future releases.") + if state is None: state = not self.get_draggable() # toggle state From 3703788ec11a0a0808df6e28d682ca067de24b58 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Thu, 21 Dec 2017 00:55:58 +0100 Subject: [PATCH 0688/1161] document use_blit --- doc/api/animation_api.rst | 3 +++ lib/matplotlib/legend.py | 11 +++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/doc/api/animation_api.rst b/doc/api/animation_api.rst index ab34e5ebee4f..8d35cd11e342 100644 --- a/doc/api/animation_api.rst +++ b/doc/api/animation_api.rst @@ -36,6 +36,9 @@ To save an animation to disk use `Animation.save` or `Animation.to_html5_video` See :ref:`ani_writer_classes` below for details about what movie formats are supported. + +.. _func-animation: + ``FuncAnimation`` ----------------- diff --git a/lib/matplotlib/legend.py b/lib/matplotlib/legend.py index c3380ba1be8a..f24da012d0f4 100644 --- a/lib/matplotlib/legend.py +++ b/lib/matplotlib/legend.py @@ -59,8 +59,9 @@ def __init__(self, legend, use_blit=False, update="loc"): legend : `.Legend` The `.Legend` instance to wrap. use_blit : bool, optional - - update : ['loc' | 'bbox'], optional + Use blitting for faster image composition. For details see + :ref:`func-animation`. + update : {'loc', 'bbox'}, optional If "loc", update the *loc* parameter of the legend upon finalizing. If "bbox", update the *bbox_to_anchor* parameter. """ @@ -1111,8 +1112,9 @@ def set_draggable(self, state, use_blit=False, update='loc'): state : bool ``True`` / ``False`` enables / disables mouse dragging. use_blit : bool, optional - - update_loc : ['loc' | 'bbox'], optional + Use blitting for faster image composition. For details see + :ref:`func-animation`. + update : ['loc' | 'bbox'], optional The legend parameter to be changed when dragged: - 'loc': update the *loc* parameter of the legend @@ -1132,6 +1134,7 @@ def set_draggable(self, state, use_blit=False, update='loc'): if self._draggable is not None: self._draggable.disconnect() self._draggable = None + return self._draggable def get_draggable(self): """Return ``True`` if the legend is draggable, ``False`` otherwise.""" From 6a82c9e32fd3a0d9b5725c8516174ec2ab1ee267 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sun, 18 Mar 2018 00:59:54 +0100 Subject: [PATCH 0689/1161] add basic tests for Legend draggable flag --- lib/matplotlib/tests/test_legend.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py index 1308770d36ad..8b3ab373366c 100644 --- a/lib/matplotlib/tests/test_legend.py +++ b/lib/matplotlib/tests/test_legend.py @@ -12,6 +12,7 @@ import matplotlib.collections as mcollections from matplotlib.legend_handler import HandlerTuple import matplotlib.legend as mlegend +from matplotlib.cbook.deprecation import MatplotlibDeprecationWarning def test_legend_ordereddict(): @@ -511,3 +512,30 @@ def test_legend_title_fontsize(): ax.plot(range(10)) leg = ax.legend(title='Aardvark', title_fontsize=22) assert leg.get_title().get_fontsize() == 22 + + +def test_get_set_draggable(): + legend = plt.legend() + assert not legend.get_draggable() + legend.set_draggable(True) + assert legend.get_draggable() + legend.set_draggable(False) + assert not legend.get_draggable() + + +def test_draggable(): + legend = plt.legend() + with pytest.warns(MatplotlibDeprecationWarning): + legend.draggable(True) + assert legend.get_draggable() + with pytest.warns(MatplotlibDeprecationWarning): + legend.draggable(False) + assert not legend.get_draggable() + + # test toggle + with pytest.warns(MatplotlibDeprecationWarning): + legend.draggable() + assert legend.get_draggable() + with pytest.warns(MatplotlibDeprecationWarning): + legend.draggable() + assert not legend.get_draggable() From e9a812036d84bd08f650ad2651a4b77795dfee85 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Tue, 15 May 2018 02:11:47 -0700 Subject: [PATCH 0690/1161] Deprecate text.latex.unicode. It is 2018 and Python3 is ruling the world; it is high time for usetex to default to unicode support as well. (If ``\usepackage[utf8]{inputenc}`` is irremediably breaking some users' setup we can always revisit this decision.) --- doc/api/next_api_changes/2018-02-15-AL-deprecations.rst | 1 + doc/api/next_api_changes/2018-05-15-AL.rst | 8 ++++++++ examples/text_labels_and_annotations/tex_demo.py | 1 - .../text_labels_and_annotations/usetex_baseline_test.py | 1 - lib/matplotlib/__init__.py | 3 ++- lib/matplotlib/mpl-data/stylelib/_classic_test.mplstyle | 2 -- lib/matplotlib/mpl-data/stylelib/classic.mplstyle | 2 -- lib/matplotlib/rcsetup.py | 2 +- lib/matplotlib/tests/test_backend_ps.py | 4 ++-- lib/matplotlib/tests/test_rcparams.py | 2 +- lib/matplotlib/texmanager.py | 6 ++---- matplotlibrc.template | 2 -- 12 files changed, 17 insertions(+), 17 deletions(-) create mode 100644 doc/api/next_api_changes/2018-05-15-AL.rst diff --git a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst index 51198eef7a4e..ad6991df404b 100644 --- a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst +++ b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst @@ -37,3 +37,4 @@ The following classes, methods, functions, and attributes are deprecated: The following rcParams are deprecated: - ``pgf.debug`` (the pgf backend relies on logging), +- ``text.latex.unicode``, diff --git a/doc/api/next_api_changes/2018-05-15-AL.rst b/doc/api/next_api_changes/2018-05-15-AL.rst new file mode 100644 index 000000000000..82422ec5500e --- /dev/null +++ b/doc/api/next_api_changes/2018-05-15-AL.rst @@ -0,0 +1,8 @@ +Changes regarding the text.latex.unicode rcParam +```````````````````````````````````````````````` + +The rcParam now defaults to True and is deprecated (i.e., in future versions +of Maplotlib, unicode input will always be supported). + +Moreover, the underlying implementation now uses ``\usepackage[utf8]{inputenc}`` +instead of ``\usepackage{ucs}\usepackage[utf8x]{inputenc}``. diff --git a/examples/text_labels_and_annotations/tex_demo.py b/examples/text_labels_and_annotations/tex_demo.py index 01ba41b433be..4d0bc4f37ca6 100644 --- a/examples/text_labels_and_annotations/tex_demo.py +++ b/examples/text_labels_and_annotations/tex_demo.py @@ -17,7 +17,6 @@ import numpy as np import matplotlib matplotlib.rcParams['text.usetex'] = True -matplotlib.rcParams['text.latex.unicode'] = True import matplotlib.pyplot as plt diff --git a/examples/text_labels_and_annotations/usetex_baseline_test.py b/examples/text_labels_and_annotations/usetex_baseline_test.py index 6d8b79177d17..0a72afab63e2 100644 --- a/examples/text_labels_and_annotations/usetex_baseline_test.py +++ b/examples/text_labels_and_annotations/usetex_baseline_test.py @@ -11,7 +11,6 @@ from matplotlib import rcParams rcParams['text.usetex'] = True -rcParams['text.latex.unicode'] = True class Axes(maxes.Axes): diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 09856d9e1cfc..e97bda744c32 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -820,7 +820,8 @@ def gen_candidates(): # do NOT include in _all_deprecated _deprecated_set = {'axes.hold', 'backend.qt4', - 'backend.qt5'} + 'backend.qt5', + 'text.latex.unicode'} _all_deprecated = set(itertools.chain( _deprecated_ignore_map, _deprecated_map, _obsolete_set)) diff --git a/lib/matplotlib/mpl-data/stylelib/_classic_test.mplstyle b/lib/matplotlib/mpl-data/stylelib/_classic_test.mplstyle index c42222ad8f19..853b3481e4c7 100644 --- a/lib/matplotlib/mpl-data/stylelib/_classic_test.mplstyle +++ b/lib/matplotlib/mpl-data/stylelib/_classic_test.mplstyle @@ -109,8 +109,6 @@ text.usetex : False # use latex for all text handling. The following fo # If another font is desired which can loaded using the # LaTeX \usepackage command, please inquire at the # matplotlib mailing list -text.latex.unicode : False # use "ucs" and "inputenc" LaTeX packages for handling - # unicode strings. text.latex.preamble : # IMPROPER USE OF THIS FEATURE WILL LEAD TO LATEX FAILURES # AND IS THEREFORE UNSUPPORTED. PLEASE DO NOT ASK FOR HELP # IF THIS FEATURE DOES NOT DO WHAT YOU EXPECT IT TO. diff --git a/lib/matplotlib/mpl-data/stylelib/classic.mplstyle b/lib/matplotlib/mpl-data/stylelib/classic.mplstyle index 94ae5bf7a4f3..6da7b07b27dd 100644 --- a/lib/matplotlib/mpl-data/stylelib/classic.mplstyle +++ b/lib/matplotlib/mpl-data/stylelib/classic.mplstyle @@ -111,8 +111,6 @@ text.usetex : False # use latex for all text handling. The following fo # If another font is desired which can loaded using the # LaTeX \usepackage command, please inquire at the # matplotlib mailing list -text.latex.unicode : False # use "ucs" and "inputenc" LaTeX packages for handling - # unicode strings. text.latex.preamble : # IMPROPER USE OF THIS FEATURE WILL LEAD TO LATEX FAILURES # AND IS THEREFORE UNSUPPORTED. PLEASE DO NOT ASK FOR HELP # IF THIS FEATURE DOES NOT DO WHAT YOU EXPECT IT TO. diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index 99c643edcf6c..acb5aa440849 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -1115,7 +1115,7 @@ def _validate_linestyle(ls): # text props 'text.color': ['black', validate_color], 'text.usetex': [False, validate_bool], - 'text.latex.unicode': [False, validate_bool], + 'text.latex.unicode': [True, validate_bool], 'text.latex.preamble': [[''], validate_stringlist], 'text.latex.preview': [False, validate_bool], 'text.dvipnghack': [None, validate_bool_maybe_none], diff --git a/lib/matplotlib/tests/test_backend_ps.py b/lib/matplotlib/tests/test_backend_ps.py index fd0d192c3e38..ca6b53346308 100644 --- a/lib/matplotlib/tests/test_backend_ps.py +++ b/lib/matplotlib/tests/test_backend_ps.py @@ -32,11 +32,11 @@ needs_ghostscript( ('ps', False, {'ps.usedistiller': 'ghostscript'})), needs_usetex(needs_ghostscript( - ('ps', False, {'text.latex.unicode': True, 'text.usetex': True}))), + ('ps', False, {'text.usetex': True}))), ('eps', False, {}), ('eps', True, {'ps.useafm': True}), needs_usetex(needs_ghostscript( - ('eps', False, {'text.latex.unicode': True, 'text.usetex': True}))), + ('eps', False, {'text.usetex': True}))), ], ids=[ 'ps', 'ps with distiller', diff --git a/lib/matplotlib/tests/test_rcparams.py b/lib/matplotlib/tests/test_rcparams.py index 14b589780c0a..c7e70d59882b 100644 --- a/lib/matplotlib/tests/test_rcparams.py +++ b/lib/matplotlib/tests/test_rcparams.py @@ -476,7 +476,7 @@ def test_if_rctemplate_is_up_to_date(): continue if k in deprecated: continue - if "verbose" in k: + if k.startswith(("text.latex.unicode", "verbose.")): continue found = False for line in rclines: diff --git a/lib/matplotlib/texmanager.py b/lib/matplotlib/texmanager.py index 085a65f49e9a..aed767da0e76 100644 --- a/lib/matplotlib/texmanager.py +++ b/lib/matplotlib/texmanager.py @@ -203,8 +203,7 @@ def make_tex(self, tex, fontsize): if rcParams['text.latex.unicode']: unicode_preamble = r""" -\usepackage{ucs} -\usepackage[utf8x]{inputenc}""" +\usepackage[utf8]{inputenc}""" else: unicode_preamble = '' @@ -255,8 +254,7 @@ def make_tex_preview(self, tex, fontsize): if rcParams['text.latex.unicode']: unicode_preamble = r""" -\usepackage{ucs} -\usepackage[utf8x]{inputenc}""" +\usepackage[utf8]{inputenc}""" else: unicode_preamble = '' diff --git a/matplotlibrc.template b/matplotlibrc.template index 6d8654d05eeb..7ae28dfb494a 100644 --- a/matplotlibrc.template +++ b/matplotlibrc.template @@ -225,8 +225,6 @@ backend : $TEMPLATE_BACKEND ## If another font is desired which can loaded using the ## LaTeX \usepackage command, please inquire at the ## matplotlib mailing list -#text.latex.unicode : False ## use "ucs" and "inputenc" LaTeX packages for handling - ## unicode strings. #text.latex.preamble : ## IMPROPER USE OF THIS FEATURE WILL LEAD TO LATEX FAILURES ## AND IS THEREFORE UNSUPPORTED. PLEASE DO NOT ASK FOR HELP ## IF THIS FEATURE DOES NOT DO WHAT YOU EXPECT IT TO. From 8168210211c598f32f683084460b104a3fe2255c Mon Sep 17 00:00:00 2001 From: Zac Hatfield-Dodds <Zac-HD@users.noreply.github.com> Date: Fri, 18 May 2018 02:27:39 +1000 Subject: [PATCH 0691/1161] Remove dependency on six - we're Py3 only now! (#11158) * Remove no-op imports of `six` * Strip out obsolete compatibility layer from `six` * Deprecate now-useless functions * Do not install `six` on py3-only version * Final edits for anntzer's review --- INSTALL.rst | 1 - lib/matplotlib/__init__.py | 7 -- lib/matplotlib/animation.py | 2 +- lib/matplotlib/artist.py | 13 ++-- lib/matplotlib/backend_bases.py | 10 ++- lib/matplotlib/backends/_backend_tk.py | 29 ++++---- lib/matplotlib/backends/backend_agg.py | 2 - lib/matplotlib/backends/backend_cairo.py | 13 +--- lib/matplotlib/backends/backend_ps.py | 26 +++---- lib/matplotlib/backends/backend_svg.py | 68 +++++++------------ lib/matplotlib/backends/backend_wx.py | 6 +- lib/matplotlib/backends/backend_wxagg.py | 2 - lib/matplotlib/dviread.py | 2 +- lib/matplotlib/lines.py | 8 +-- lib/matplotlib/mlab.py | 33 +++------ lib/matplotlib/patches.py | 24 ++----- lib/matplotlib/rcsetup.py | 46 ++++++------- lib/matplotlib/sphinxext/plot_directive.py | 42 ++++-------- lib/matplotlib/tests/__init__.py | 2 - lib/matplotlib/tests/test_axes.py | 6 +- lib/matplotlib/tests/test_backend_svg.py | 2 - lib/matplotlib/tests/test_basic.py | 11 +-- lib/matplotlib/tests/test_cbook.py | 2 - lib/matplotlib/tests/test_colors.py | 7 +- .../tests/test_constrainedlayout.py | 1 - lib/matplotlib/tests/test_container.py | 1 - lib/matplotlib/tests/test_mathtext.py | 2 - lib/matplotlib/tests/test_mlab.py | 8 +-- lib/matplotlib/tests/test_patches.py | 6 +- lib/matplotlib/tests/test_pickle.py | 4 +- lib/matplotlib/tests/test_png.py | 3 +- lib/matplotlib/tests/test_rcparams.py | 7 +- lib/matplotlib/tests/test_style.py | 4 +- lib/matplotlib/tests/test_table.py | 2 - lib/matplotlib/tests/test_text.py | 2 - lib/matplotlib/tests/test_tightlayout.py | 1 - lib/matplotlib/tests/test_transforms.py | 2 - lib/matplotlib/tests/test_ttconv.py | 2 - lib/matplotlib/tests/test_type1font.py | 2 - lib/matplotlib/ticker.py | 40 ++++------- lib/matplotlib/type1font.py | 10 +-- lib/mpl_toolkits/axes_grid1/__init__.py | 2 - .../axes_grid1/anchored_artists.py | 2 - lib/mpl_toolkits/axes_grid1/axes_divider.py | 3 - lib/mpl_toolkits/axes_grid1/axes_grid.py | 2 - lib/mpl_toolkits/axes_grid1/axes_rgb.py | 14 ++-- lib/mpl_toolkits/axes_grid1/axes_size.py | 4 +- lib/mpl_toolkits/axes_grid1/colorbar.py | 9 +-- lib/mpl_toolkits/axes_grid1/inset_locator.py | 1 - lib/mpl_toolkits/axes_grid1/mpl_axes.py | 5 +- lib/mpl_toolkits/axisartist/__init__.py | 2 - lib/mpl_toolkits/axisartist/angle_helper.py | 2 - lib/mpl_toolkits/axisartist/axis_artist.py | 2 - lib/mpl_toolkits/axisartist/axisline_style.py | 2 - lib/mpl_toolkits/axisartist/axislines.py | 4 +- lib/mpl_toolkits/axisartist/clip_path.py | 3 - lib/mpl_toolkits/axisartist/grid_finder.py | 2 - .../axisartist/grid_helper_curvelinear.py | 3 - lib/mpl_toolkits/mplot3d/__init__.py | 2 - lib/mpl_toolkits/mplot3d/axes3d.py | 6 +- lib/mpl_toolkits/mplot3d/axis3d.py | 2 - lib/mpl_toolkits/mplot3d/proj3d.py | 3 - lib/mpl_toolkits/tests/test_axes_grid1.py | 2 - .../tests/test_axisartist_clip_path.py | 4 +- setupext.py | 1 - tools/gh_api.py | 4 +- tools/make_icons.py | 4 +- 67 files changed, 163 insertions(+), 388 deletions(-) diff --git a/INSTALL.rst b/INSTALL.rst index bb2402ede7da..d35fc07aa654 100644 --- a/INSTALL.rst +++ b/INSTALL.rst @@ -142,7 +142,6 @@ Matplotlib requires the following dependencies: * `pytz <http://pytz.sourceforge.net/>`__ * FreeType (>= 2.3) * `cycler <http://matplotlib.org/cycler/>`__ (>= 0.10.0) - * `six <https://pypi.python.org/pypi/six>`_ (>= 1.10) * `kiwisolver <https://github.com/nucleic/kiwi>`__ (>= 1.0.0) Optionally, you can also install a number of packages to enable better user diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 09856d9e1cfc..c2b25dbef222 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -102,8 +102,6 @@ # NOTE: This file must remain Python 2 compatible for the foreseeable future, # to ensure that we error out properly for existing editable installs. -import six - import sys if sys.version_info < (3, 5): # noqa: E402 raise ImportError(""" @@ -197,11 +195,6 @@ def compare_versions(a, b): raise ImportError("Matplotlib requires dateutil") -if not compare_versions(six.__version__, '1.10'): - raise ImportError( - "Matplotlib requires six>=1.10; you have %s" % six.__version__) - - try: import pyparsing except ImportError: diff --git a/lib/matplotlib/animation.py b/lib/matplotlib/animation.py index d5f022108833..32c9a8eca0a1 100644 --- a/lib/matplotlib/animation.py +++ b/lib/matplotlib/animation.py @@ -727,7 +727,7 @@ def output_args(self): def _init_from_registry(cls): if sys.platform != 'win32' or rcParams[cls.exec_key] != 'convert': return - from six.moves import winreg + import winreg for flag in (0, winreg.KEY_WOW64_32KEY, winreg.KEY_WOW64_64KEY): try: hkey = winreg.OpenKeyEx(winreg.HKEY_LOCAL_MACHINE, diff --git a/lib/matplotlib/artist.py b/lib/matplotlib/artist.py index f26b8dcbb901..6975af34f055 100644 --- a/lib/matplotlib/artist.py +++ b/lib/matplotlib/artist.py @@ -1,5 +1,3 @@ -import six - from collections import OrderedDict, namedtuple from functools import wraps import inspect @@ -286,7 +284,7 @@ def pchanged(self): Fire an event when property changed, calling all of the registered callbacks. """ - for oid, func in six.iteritems(self._propobservers): + for oid, func in self._propobservers.items(): func(self) def is_transform_set(self): @@ -902,7 +900,7 @@ def set_label(self, s): .. ACCEPTS: object """ if s is not None: - self._label = six.text_type(s) + self._label = str(s) else: self._label = None self.pchanged() @@ -1152,10 +1150,7 @@ def _get_setters_and_targets(self): func = getattr(self.o, name) if not callable(func): continue - if six.PY2: - nargs = len(inspect.getargspec(func)[0]) - else: - nargs = len(inspect.getfullargspec(func)[0]) + nargs = len(inspect.getfullargspec(func).args) if nargs < 2 or self.is_alias(func): continue source_class = self.o.__module__ + "." + self.o.__name__ @@ -1325,7 +1320,7 @@ def pprint_getters(self): """ lines = [] - for name, val in sorted(six.iteritems(self.properties())): + for name, val in sorted(self.properties().items()): if getattr(val, 'shape', ()) != () and len(val) > 6: s = str(val[:6]) + '...' else: diff --git a/lib/matplotlib/backend_bases.py b/lib/matplotlib/backend_bases.py index f79cdbfe44f3..caf773a1e518 100644 --- a/lib/matplotlib/backend_bases.py +++ b/lib/matplotlib/backend_bases.py @@ -32,8 +32,6 @@ The base class for the messaging area. """ -import six - from contextlib import contextmanager from functools import partial import importlib @@ -121,7 +119,7 @@ def get_registered_canvas_class(format): if format not in _default_backends: return None backend_class = _default_backends[format] - if isinstance(backend_class, six.string_types): + if isinstance(backend_class, str): backend_class = importlib.import_module(backend_class).FigureCanvas _default_backends[format] = backend_class return backend_class @@ -2059,7 +2057,7 @@ def get_supported_filetypes_grouped(cls): Experts Group', and the values are a list of filename extensions used for that filetype, such as ['jpg', 'jpeg'].""" groupings = {} - for ext, name in six.iteritems(cls.filetypes): + for ext, name in cls.filetypes.items(): groupings.setdefault(name, []).append(ext) groupings[name].sort() return groupings @@ -2130,11 +2128,11 @@ def print_figure(self, filename, dpi=None, facecolor=None, edgecolor=None, # get format from filename, or from backend's default filetype if isinstance(filename, getattr(os, "PathLike", ())): filename = os.fspath(filename) - if isinstance(filename, six.string_types): + if isinstance(filename, str): format = os.path.splitext(filename)[1][1:] if format is None or format == '': format = self.get_default_filetype() - if isinstance(filename, six.string_types): + if isinstance(filename, str): filename = filename.rstrip('.') + '.' + format format = format.lower() diff --git a/lib/matplotlib/backends/_backend_tk.py b/lib/matplotlib/backends/_backend_tk.py index 601e5fb6e2cf..4fb68a835fb7 100644 --- a/lib/matplotlib/backends/_backend_tk.py +++ b/lib/matplotlib/backends/_backend_tk.py @@ -1,5 +1,3 @@ -import six - import math import logging import os.path @@ -58,14 +56,14 @@ def _restore_foreground_window_at_end(): def raise_msg_to_str(msg): """msg is a return arg from a raise. Join with new lines""" - if not isinstance(msg, six.string_types): + if not isinstance(msg, str): msg = '\n'.join(map(str, msg)) return msg def error_msg_tkpaint(msg, parent=None): - from six.moves import tkinter_messagebox as tkMessageBox - tkMessageBox.showerror("matplotlib", msg) + import tkinter.messagebox + tkinter.messagebox.showerror("matplotlib", msg) def blit(photoimage, aggimage, offsets, bbox=None): @@ -686,7 +684,7 @@ def configure_subplots(self): window.grab_set() def save_figure(self, *args): - from six.moves import tkinter_tkfiledialog, tkinter_messagebox + import tkinter.filedialog, tkinter.messagebox filetypes = self.canvas.get_supported_filetypes().copy() default_filetype = self.canvas.get_default_filetype() @@ -694,7 +692,7 @@ def save_figure(self, *args): # so we just have to put it first default_filetype_name = filetypes.pop(default_filetype) sorted_filetypes = ([(default_filetype, default_filetype_name)] - + sorted(six.iteritems(filetypes))) + + sorted(filetypes.items())) tk_filetypes = [(name, '*.%s' % ext) for ext, name in sorted_filetypes] # adding a default extension seems to break the @@ -705,7 +703,7 @@ def save_figure(self, *args): defaultextension = '' initialdir = os.path.expanduser(rcParams['savefig.directory']) initialfile = self.canvas.get_default_filename() - fname = tkinter_tkfiledialog.asksaveasfilename( + fname = tkinter.filedialog.asksaveasfilename( master=self.window, title='Save the figure', filetypes=tk_filetypes, @@ -719,12 +717,12 @@ def save_figure(self, *args): # Save dir for next time, unless empty str (i.e., use cwd). if initialdir != "": rcParams['savefig.directory'] = ( - os.path.dirname(six.text_type(fname))) + os.path.dirname(str(fname))) try: # This method will handle the delegation to the correct type self.canvas.figure.savefig(fname) except Exception as e: - tkinter_messagebox.showerror("Error saving file", str(e)) + tkinter.messagebox.showerror("Error saving file", str(e)) def set_active(self, ind): self._ind = ind @@ -906,7 +904,7 @@ def set_message(self, s): class SaveFigureTk(backend_tools.SaveFigureBase): def trigger(self, *args): - from six.moves import tkinter_tkfiledialog, tkinter_messagebox + import tkinter.filedialog, tkinter.messagebox filetypes = self.figure.canvas.get_supported_filetypes().copy() default_filetype = self.figure.canvas.get_default_filetype() @@ -914,7 +912,7 @@ def trigger(self, *args): # so we just have to put it first default_filetype_name = filetypes.pop(default_filetype) sorted_filetypes = ([(default_filetype, default_filetype_name)] - + sorted(six.iteritems(filetypes))) + + sorted(filetypes.items())) tk_filetypes = [(name, '*.%s' % ext) for ext, name in sorted_filetypes] # adding a default extension seems to break the @@ -925,7 +923,7 @@ def trigger(self, *args): defaultextension = '' initialdir = os.path.expanduser(rcParams['savefig.directory']) initialfile = self.figure.canvas.get_default_filename() - fname = tkinter_tkfiledialog.asksaveasfilename( + fname = tkinter.filedialog.asksaveasfilename( master=self.figure.canvas.manager.window, title='Save the figure', filetypes=tk_filetypes, @@ -942,13 +940,12 @@ def trigger(self, *args): rcParams['savefig.directory'] = initialdir else: # save dir for next time - rcParams['savefig.directory'] = os.path.dirname( - six.text_type(fname)) + rcParams['savefig.directory'] = os.path.dirname(str(fname)) try: # This method will handle the delegation to the correct type self.figure.savefig(fname) except Exception as e: - tkinter_messagebox.showerror("Error saving file", str(e)) + tkinter.messagebox.showerror("Error saving file", str(e)) class ConfigureSubplotsTk(backend_tools.ConfigureSubplotsBase): diff --git a/lib/matplotlib/backends/backend_agg.py b/lib/matplotlib/backends/backend_agg.py index c0b9512a1dbb..de865feefd82 100644 --- a/lib/matplotlib/backends/backend_agg.py +++ b/lib/matplotlib/backends/backend_agg.py @@ -19,8 +19,6 @@ * integrate screen dpi w/ ppi and text """ -import six - import threading import numpy as np from collections import OrderedDict diff --git a/lib/matplotlib/backends/backend_cairo.py b/lib/matplotlib/backends/backend_cairo.py index 189f29671aee..4ac358d35503 100644 --- a/lib/matplotlib/backends/backend_cairo.py +++ b/lib/matplotlib/backends/backend_cairo.py @@ -6,8 +6,6 @@ This backend depends on cairocffi or pycairo. """ -import six - import copy import gzip import sys @@ -395,13 +393,6 @@ def draw_text(self, gc, x, y, s, prop, angle, ismath=False, mtext=None): ctx.rotate(np.deg2rad(-angle)) ctx.set_font_size(size) - if HAS_CAIRO_CFFI: - if not isinstance(s, six.text_type): - s = six.text_type(s) - else: - if six.PY2 and isinstance(s, six.text_type): - s = s.encode("utf-8") - ctx.show_text(s) ctx.restore() @@ -426,8 +417,6 @@ def _draw_mathtext(self, gc, x, y, s, prop, angle): size = fontsize * self.dpi / 72.0 ctx.set_font_size(size) - if not six.PY3 and isinstance(s, six.text_type): - s = s.encode("utf-8") ctx.show_text(s) for ox, oy, w, h in rects: @@ -631,7 +620,7 @@ def _save(self, fo, fmt, **kwargs): raise RuntimeError('cairo has not been compiled with SVG ' 'support enabled') if fmt == 'svgz': - if isinstance(fo, six.string_types): + if isinstance(fo, str): fo = gzip.GzipFile(fo, 'wb') else: fo = gzip.GzipFile(None, 'wb', fileobj=fo) diff --git a/lib/matplotlib/backends/backend_ps.py b/lib/matplotlib/backends/backend_ps.py index e02b37df7c5c..7109781a5330 100644 --- a/lib/matplotlib/backends/backend_ps.py +++ b/lib/matplotlib/backends/backend_ps.py @@ -1,9 +1,6 @@ """ A PostScript backend, which can produce both PostScript .ps and .eps """ -import six -from six.moves import StringIO - import glob, os, shutil, sys, time, datetime import io import logging @@ -77,10 +74,7 @@ def gs_version(self): s = subprocess.Popen( [self.gs_exe, "--version"], stdout=subprocess.PIPE) pipe, stderr = s.communicate() - if six.PY3: - ver = pipe.decode('ascii') - else: - ver = pipe + ver = pipe.decode('ascii') try: gs_version = tuple(map(int, ver.strip().split("."))) except ValueError: @@ -133,7 +127,7 @@ def _get_papertype(w, h): return 'a0' def _num_to_str(val): - if isinstance(val, six.string_types): + if isinstance(val, str): return val ival = int(val) @@ -229,7 +223,7 @@ def track_characters(self, font, s): used_characters[1].update(map(ord, s)) def merge_used_characters(self, other): - for stat_key, (realpath, charset) in six.iteritems(other): + for stat_key, (realpath, charset) in other.items(): used_characters = self.used_characters.setdefault( stat_key, (realpath, set())) used_characters[1].update(charset) @@ -981,8 +975,7 @@ def _print_figure( the key 'Creator' is used. """ isEPSF = format == 'eps' - if isinstance(outfile, - (six.string_types, getattr(os, "PathLike", ()),)): + if isinstance(outfile, (str, getattr(os, "PathLike", ()),)): outfile = title = getattr(os, "fspath", lambda obj: obj)(outfile) title = title.encode("latin-1", "replace").decode() passed_in_file_object = False @@ -1102,8 +1095,8 @@ def print_figure_impl(fh): for l in d.split('\n'): print(l.strip(), file=fh) if not rcParams['ps.useafm']: - for font_filename, chars in six.itervalues( - ps_renderer.used_characters): + for font_filename, chars in \ + ps_renderer.used_characters.values(): if len(chars): font = get_font(font_filename) glyph_ids = [] @@ -1148,7 +1141,7 @@ def print_figure_impl(fh): # write the figure content = self._pswriter.getvalue() - if not isinstance(content, six.text_type): + if not isinstance(content, str): content = content.decode('ascii') print(content, file=fh) @@ -1181,8 +1174,7 @@ def print_figure_impl(fh): if passed_in_file_object: requires_unicode = file_requires_unicode(outfile) - if (not requires_unicode and - (six.PY3 or not isinstance(outfile, StringIO))): + if not requires_unicode: fh = io.TextIOWrapper(outfile, encoding="latin-1") # Prevent the io.TextIOWrapper from closing the @@ -1211,7 +1203,7 @@ def _print_figure_tex( the key 'Creator' is used. """ isEPSF = format == 'eps' - if isinstance(outfile, six.string_types): + if isinstance(outfile, str): title = outfile elif is_writable_file_like(outfile): title = None diff --git a/lib/matplotlib/backends/backend_svg.py b/lib/matplotlib/backends/backend_svg.py index 12a6c0733e73..06ea019b5fce 100644 --- a/lib/matplotlib/backends/backend_svg.py +++ b/lib/matplotlib/backends/backend_svg.py @@ -1,10 +1,6 @@ from collections import OrderedDict -import six -from six import unichr - import base64 -import codecs import gzip import hashlib import io @@ -238,7 +234,7 @@ def generate_transform(transform_list=[]): def generate_css(attrib={}): if attrib: output = io.StringIO() - attrib = sorted(six.iteritems(attrib)) + attrib = sorted(attrib.items()) for k, v in attrib: k = escape_attrib(k) v = escape_attrib(v) @@ -304,17 +300,12 @@ def _write_default_style(self): writer.end('defs') def _make_id(self, type, content): - content = str(content) - if rcParams['svg.hashsalt'] is None: + salt = rcParams['svg.hashsalt'] + if salt is None: salt = str(uuid.uuid4()) - else: - salt = rcParams['svg.hashsalt'] - if six.PY3: - content = content.encode('utf8') - salt = salt.encode('utf8') m = hashlib.md5() - m.update(salt) - m.update(content) + m.update(salt.encode('utf8')) + m.update(str(content).encode('utf8')) return '%s%s' % (type, m.hexdigest()[:10]) def _make_flip_transform(self, transform): @@ -355,13 +346,13 @@ def _write_hatches(self): HATCH_SIZE = 72 writer = self.writer writer.start('defs') - for ((path, face, stroke), oid) in six.itervalues(self._hatchd): + for (path, face, stroke), oid in self._hatchd.values(): writer.start( 'pattern', id=oid, patternUnits="userSpaceOnUse", - x="0", y="0", width=six.text_type(HATCH_SIZE), - height=six.text_type(HATCH_SIZE)) + x="0", y="0", width=str(HATCH_SIZE), + height=str(HATCH_SIZE)) path_data = self._convert_path( path, Affine2D().scale(HATCH_SIZE).scale(1.0, -1.0).translate(0, HATCH_SIZE), @@ -372,8 +363,8 @@ def _write_hatches(self): fill = rgb2hex(face) writer.element( 'rect', - x="0", y="0", width=six.text_type(HATCH_SIZE+1), - height=six.text_type(HATCH_SIZE+1), + x="0", y="0", width=str(HATCH_SIZE+1), + height=str(HATCH_SIZE+1), fill=fill) writer.element( 'path', @@ -381,7 +372,7 @@ def _write_hatches(self): style=generate_css({ 'fill': rgb2hex(stroke), 'stroke': rgb2hex(stroke), - 'stroke-width': six.text_type(rcParams['hatch.linewidth']), + 'stroke-width': str(rcParams['hatch.linewidth']), 'stroke-linecap': 'butt', 'stroke-linejoin': 'miter' }) @@ -466,7 +457,7 @@ def _write_clips(self): return writer = self.writer writer.start('defs') - for clip, oid in six.itervalues(self._clipd): + for clip, oid in self._clipd.values(): writer.start('clipPath', id=oid) if len(clip) == 2: clippath, clippath_trans = clip @@ -489,7 +480,7 @@ def _write_svgfonts(self): writer = self.writer writer.start('defs') - for font_fname, chars in six.iteritems(self._fonts): + for font_fname, chars in self._fonts.items(): font = get_font(font_fname) font.set_size(72, 72) sfnt = font.get_sfnt() @@ -513,7 +504,7 @@ def _write_svgfonts(self): d=path_data, attrib={ # 'glyph-name': name, - 'unicode': unichr(char), + 'unicode': chr(char), 'horiz-adv-x': short_float_fmt(glyph.linearHoriAdvance / 65536.0)}) writer.end('font') @@ -583,7 +574,7 @@ def draw_markers(self, gc, marker_path, marker_trans, path, trans, rgbFace=None) style = self._get_style_dict(gc, rgbFace) dictkey = (path_data, generate_css(style)) oid = self._markers.get(dictkey) - style = generate_css({k: v for k, v in six.iteritems(style) + style = generate_css({k: v for k, v in style.items() if k.startswith('stroke')}) if oid is None: @@ -907,7 +898,7 @@ def _draw_text_as_path(self, gc, x, y, s, prop, angle, ismath, mtext=None): if glyph_map_new: writer.start('defs') - for char_id, glyph_path in six.iteritems(glyph_map_new): + for char_id, glyph_path in glyph_map_new.items(): path = Path(*glyph_path) path_data = self._convert_path(path, simplify=False) writer.element('path', id=char_id, d=path_data) @@ -950,7 +941,7 @@ def _draw_text_as_path(self, gc, x, y, s, prop, angle, ismath, mtext=None): # used. if glyph_map_new: writer.start('defs') - for char_id, glyph_path in six.iteritems(glyph_map_new): + for char_id, glyph_path in glyph_map_new.items(): char_id = self._adjust_char_id(char_id) # Some characters are blank if not len(glyph_path[0]): @@ -1014,9 +1005,9 @@ def _draw_text_as_text(self, gc, x, y, s, prop, angle, ismath, mtext=None): attrib = {} # Must add "px" to workaround a Firefox bug style['font-size'] = short_float_fmt(fontsize) + 'px' - style['font-family'] = six.text_type(fontfamily) + style['font-family'] = str(fontfamily) style['font-style'] = prop.get_style().lower() - style['font-weight'] = six.text_type(prop.get_weight()).lower() + style['font-weight'] = str(prop.get_weight()).lower() attrib['style'] = generate_css(style) if mtext and (angle == 0 or mtext.get_rotation_mode() == "anchor"): @@ -1097,7 +1088,7 @@ def _draw_text_as_text(self, gc, x, y, s, prop, angle, ismath, mtext=None): fontset = self._fonts.setdefault(font.fname, set()) fontset.add(thetext) - for style, chars in six.iteritems(spans): + for style, chars in spans.items(): chars.sort() same_y = True @@ -1108,9 +1099,9 @@ def _draw_text_as_text(self, gc, x, y, s, prop, angle, ismath, mtext=None): same_y = False break if same_y: - ys = six.text_type(chars[0][1]) + ys = str(chars[0][1]) else: - ys = ' '.join(six.text_type(c[1]) for c in chars) + ys = ' '.join(str(c[1]) for c in chars) attrib = { 'style': style, @@ -1120,7 +1111,7 @@ def _draw_text_as_text(self, gc, x, y, s, prop, angle, ismath, mtext=None): writer.element( 'tspan', - ''.join(unichr(c[2]) for c in chars), + ''.join(chr(c[2]) for c in chars), attrib=attrib) writer.end('text') @@ -1182,16 +1173,13 @@ def print_svg(self, filename, *args, **kwargs): with cbook.open_file_cm(filename, "w", encoding="utf-8") as fh: filename = getattr(fh, 'name', '') - if not isinstance(filename, six.string_types): + if not isinstance(filename, str): filename = '' if cbook.file_requires_unicode(fh): detach = False else: - if six.PY3: - fh = io.TextIOWrapper(fh, 'utf-8') - else: - fh = codecs.getwriter('utf-8')(fh) + fh = io.TextIOWrapper(fh, 'utf-8') detach = True result = self._print_svg(filename, fh, **kwargs) @@ -1199,11 +1187,7 @@ def print_svg(self, filename, *args, **kwargs): # Detach underlying stream from wrapper so that it remains open in # the caller. if detach: - if six.PY3: - fh.detach() - else: - fh.reset() - fh.stream = io.BytesIO() + fh.detach() return result diff --git a/lib/matplotlib/backends/backend_wx.py b/lib/matplotlib/backends/backend_wx.py index 8842f0f8a75c..7c684e76cdd9 100644 --- a/lib/matplotlib/backends/backend_wx.py +++ b/lib/matplotlib/backends/backend_wx.py @@ -7,8 +7,6 @@ Copyright (C) Jeremy O'Donoghue & John Hunter, 2003-4. """ -import six - import os.path import math import sys @@ -97,7 +95,7 @@ def error_msg_wx(msg, parent=None): def raise_msg_to_str(msg): """msg is a return arg from a raise. Join with new lines.""" - if not isinstance(msg, six.string_types): + if not isinstance(msg, str): msg = '\n'.join(map(str, msg)) return msg @@ -1108,7 +1106,7 @@ def _print_image(self, filename, filetype, *args, **kwargs): # Now that we have rendered into the bitmap, save it # to the appropriate file type and clean up - if isinstance(filename, six.string_types): + if isinstance(filename, str): if not image.SaveFile(filename, filetype): DEBUG_MSG('print_figure() file save error', 4, self) raise RuntimeError( diff --git a/lib/matplotlib/backends/backend_wxagg.py b/lib/matplotlib/backends/backend_wxagg.py index 927d68d7198a..054c87d72630 100644 --- a/lib/matplotlib/backends/backend_wxagg.py +++ b/lib/matplotlib/backends/backend_wxagg.py @@ -1,5 +1,3 @@ -import six - import wx import matplotlib diff --git a/lib/matplotlib/dviread.py b/lib/matplotlib/dviread.py index a45f17a2bc8c..a702f5585bc7 100644 --- a/lib/matplotlib/dviread.py +++ b/lib/matplotlib/dviread.py @@ -179,7 +179,7 @@ class Dvi(object): >>> with matplotlib.dviread.Dvi('input.dvi', 72) as dvi: >>> for page in dvi: - >>> print(''.join(unichr(t.glyph) for t in page.text)) + >>> print(''.join(chr(t.glyph) for t in page.text)) """ # dispatch table _dtable = [None] * 256 diff --git a/lib/matplotlib/lines.py b/lib/matplotlib/lines.py index f90ce0159323..b9769574dc90 100644 --- a/lib/matplotlib/lines.py +++ b/lib/matplotlib/lines.py @@ -4,8 +4,6 @@ """ # TODO: expose cap and join style attrs -import six - from numbers import Number import warnings @@ -33,7 +31,7 @@ def _get_dash_pattern(style): """Convert linestyle -> dash pattern """ # go from short hand -> full strings - if isinstance(style, six.string_types): + if isinstance(style, str): style = ls_mapper.get(style, style) # un-dashed styles if style in ['solid', 'None']: @@ -351,7 +349,7 @@ def __init__(self, xdata, ydata, if solid_joinstyle is None: solid_joinstyle = rcParams['lines.solid_joinstyle'] - if isinstance(linestyle, six.string_types): + if isinstance(linestyle, str): ds, ls = self._split_drawstyle_linestyle(linestyle) if ds is not None and drawstyle is not None and ds != drawstyle: raise ValueError("Inconsistent drawstyle ({!r}) and linestyle " @@ -1074,7 +1072,7 @@ def set_linestyle(self, ls): ls : { ``'-'``, ``'--'``, ``'-.'``, ``':'``} and more see description The line style. """ - if isinstance(ls, six.string_types): + if isinstance(ls, str): ds, ls = self._split_drawstyle_linestyle(ls) if ds is not None: self.set_drawstyle(ds) diff --git a/lib/matplotlib/mlab.py b/lib/matplotlib/mlab.py index ba01b28eb827..cbb479ab359a 100644 --- a/lib/matplotlib/mlab.py +++ b/lib/matplotlib/mlab.py @@ -154,9 +154,6 @@ """ -import six -from six.moves import map, zip - import copy import csv import operator @@ -171,10 +168,6 @@ import math -if six.PY3: - long = int - - @cbook.deprecated("2.2", alternative='numpy.logspace or numpy.geomspace') def logspace(xmin, xmax, N): ''' @@ -301,7 +294,7 @@ def detrend(x, key=None, axis=None): return detrend(x, key=detrend_linear, axis=axis) elif key == 'none': return detrend(x, key=detrend_none, axis=axis) - elif isinstance(key, six.string_types): + elif isinstance(key, str): raise ValueError("Unknown value for key %s, must be one of: " "'default', 'constant', 'mean', " "'linear', or a function" % key) @@ -2227,7 +2220,7 @@ def base_repr(number, base=2, padding=0): if number < base: return (padding - 1) * chars[0] + chars[int(number)] max_exponent = int(math.log(number)/math.log(base)) - max_power = long(base) ** max_exponent + max_power = int(base) ** max_exponent lead_digit = int(number/max_power) return (chars[lead_digit] + base_repr(number - max_power * lead_digit, base, @@ -2311,7 +2304,7 @@ def isvector(X): @cbook.deprecated("2.2", 'numpy.isnan') def safe_isnan(x): ':func:`numpy.isnan` for arbitrary types' - if isinstance(x, six.string_types): + if isinstance(x, str): return False try: b = np.isnan(x) @@ -2326,7 +2319,7 @@ def safe_isnan(x): @cbook.deprecated("2.2", 'numpy.isinf') def safe_isinf(x): ':func:`numpy.isinf` for arbitrary types' - if isinstance(x, six.string_types): + if isinstance(x, str): return False try: b = np.isinf(x) @@ -2346,8 +2339,8 @@ def rec_append_fields(rec, names, arrs, dtypes=None): *arrs* and *dtypes* do not have to be lists. They can just be the values themselves. """ - if (not isinstance(names, six.string_types) and cbook.iterable(names) - and len(names) and isinstance(names[0], six.string_types)): + if (not isinstance(names, str) and cbook.iterable(names) + and len(names) and isinstance(names[0], str)): if len(names) != len(arrs): raise ValueError("number of arrays do not match number of names") else: # we have only 1 name and 1 array @@ -2364,8 +2357,6 @@ def rec_append_fields(rec, names, arrs, dtypes=None): else: raise ValueError("dtypes must be None, a single dtype or a list") old_dtypes = rec.dtype.descr - if six.PY2: - old_dtypes = [(name.encode('utf-8'), dt) for name, dt in old_dtypes] newdtype = np.dtype(old_dtypes + list(zip(names, dtypes))) newrec = np.recarray(rec.shape, dtype=newdtype) for field in rec.dtype.fields: @@ -2399,7 +2390,7 @@ def rec_keep_fields(rec, names): Return a new numpy record array with only fields listed in names """ - if isinstance(names, six.string_types): + if isinstance(names, str): names = names.split(',') arrays = [] @@ -2499,7 +2490,7 @@ def rec_join(key, r1, r2, jointype='inner', defaults=None, r1postfix='1', (other than keys) that are both in *r1* and *r2*. """ - if isinstance(key, six.string_types): + if isinstance(key, str): key = (key, ) for name in key: @@ -2576,8 +2567,6 @@ def mapped_r2field(name): r2desc = [(mapped_r2field(desc[0]), desc[1]) for desc in r2.dtype.descr if desc[0] not in key] all_dtypes = keydesc + r1desc + r2desc - if six.PY2: - all_dtypes = [(name.encode('utf-8'), dt) for name, dt in all_dtypes] newdtype = np.dtype(all_dtypes) newrec = np.recarray((common_len + left_len + right_len,), dtype=newdtype) @@ -2595,7 +2584,7 @@ def mapped_r2field(name): if jointype != 'inner' and defaults is not None: # fill in the defaults enmasse newrec_fields = list(newrec.dtype.fields) - for k, v in six.iteritems(defaults): + for k, v in defaults.items(): if k in newrec_fields: newrec[k] = v @@ -2911,7 +2900,7 @@ def get_converters(reader, comments): seen[item] = cnt+1 else: - if isinstance(names, six.string_types): + if isinstance(names, str): names = [n.strip() for n in names.split(',')] # get the converter functions by inspecting checkrows @@ -3677,7 +3666,7 @@ def __init__(self, dataset, bw_method=None): raise ValueError("`dataset` input should have multiple elements.") self.dim, self.num_dp = np.array(self.dataset).shape - isString = isinstance(bw_method, six.string_types) + isString = isinstance(bw_method, str) if bw_method is None: pass diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index 1078eb9953d0..c77a825baca0 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -1,6 +1,3 @@ -import six -from six.moves import map, zip - import math from numbers import Number import warnings @@ -1848,24 +1845,13 @@ def _pprint_styles(_styles): _table = [["Class", "Name", "Attrs"]] for name, cls in sorted(_styles.items()): - if six.PY2: - args, varargs, varkw, defaults = inspect.getargspec(cls.__init__) - else: - (args, varargs, varkw, defaults, kwonlyargs, kwonlydefs, - annotations) = inspect.getfullargspec(cls.__init__) - if defaults: - args = [(argname, argdefault) - for argname, argdefault in zip(args[1:], defaults)] + spec = inspect.getfullargspec(cls.__init__) + if spec.defaults: + argstr = ", ".join(map( + "{}={}".format, spec.args[-len(spec.defaults):], spec.defaults + )) else: - args = None - - if args is None: argstr = 'None' - else: - argstr = ",".join([("%s=%s" % (an, av)) - for an, av - in args]) - # adding ``quotes`` since - and | have special meaning in reST _table.append([cls.__name__, "``%s``" % name, argstr]) diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index d3ea5a7120cd..1b92692e2f94 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -13,8 +13,6 @@ parameter set listed here should also be visited to the :file:`matplotlibrc.template` in matplotlib's root source directory. """ -import six - from collections import Iterable, Mapping from functools import reduce import operator @@ -64,12 +62,12 @@ def __call__(self, s): if s in self.valid: return self.valid[s] raise ValueError('Unrecognized %s string %r: valid strings are %s' - % (self.key, s, list(six.itervalues(self.valid)))) + % (self.key, s, list(self.valid.values()))) def _listify_validator(scalar_validator, allow_stringlist=False): def f(s): - if isinstance(s, six.string_types): + if isinstance(s, str): try: return [scalar_validator(v.strip()) for v in s.split(',') if v.strip()] @@ -90,7 +88,7 @@ def f(s): # from the original validate_stringlist()), while allowing # any non-string/text scalar values such as numbers and arrays. return [scalar_validator(v) for v in s - if not isinstance(v, six.string_types) or v] + if not isinstance(v, str) or v] else: raise ValueError("{!r} must be of type: string or non-dictionary " "iterable".format(s)) @@ -119,7 +117,7 @@ def validate_path_exists(s): def validate_bool(b): """Convert b to a boolean or raise""" - if isinstance(b, six.string_types): + if isinstance(b, str): b = b.lower() if b in ('t', 'y', 'yes', 'on', 'true', '1', 1, True): return True @@ -131,7 +129,7 @@ def validate_bool(b): def validate_bool_maybe_none(b): 'Convert b to a boolean or raise' - if isinstance(b, six.string_types): + if isinstance(b, str): b = b.lower() if b is None or b == 'none': return None @@ -181,7 +179,7 @@ def validate_axisbelow(s): try: return validate_bool(s) except ValueError: - if isinstance(s, six.string_types): + if isinstance(s, str): s = s.lower() if s.startswith('line'): return 'line' @@ -236,10 +234,10 @@ def validate_fonttype(s): raise ValueError( 'Supported Postscript/PDF font types are %s' % list(fonttypes)) else: - if fonttype not in six.itervalues(fonttypes): + if fonttype not in fonttypes.values(): raise ValueError( 'Supported Postscript/PDF font types are %s' % - list(six.itervalues(fonttypes))) + list(fonttypes.values())) return fonttype @@ -288,7 +286,7 @@ def __init__(self, n=None, allow_none=False): def __call__(self, s): """return a seq of n floats or raise""" - if isinstance(s, six.string_types): + if isinstance(s, str): s = [x.strip() for x in s.split(',')] err_msg = _str_err_msg else: @@ -312,7 +310,7 @@ def __init__(self, n=None): def __call__(self, s): """return a seq of n ints or raise""" - if isinstance(s, six.string_types): + if isinstance(s, str): s = [x.strip() for x in s.split(',')] err_msg = _str_err_msg else: @@ -348,7 +346,7 @@ def validate_color_for_prop_cycle(s): if match is not None: raise ValueError('Can not put cycle reference ({cn!r}) in ' 'prop_cycler'.format(cn=s)) - elif isinstance(s, six.string_types): + elif isinstance(s, str): match = re.match('^C[0-9]$', s) if match is not None: raise ValueError('Can not put cycle reference ({cn!r}) in ' @@ -364,7 +362,7 @@ def validate_color(s): except AttributeError: pass - if isinstance(s, six.string_types): + if isinstance(s, str): if len(s) == 6 or len(s) == 8: stmp = '#' + s if is_color_like(stmp): @@ -398,7 +396,7 @@ def validate_color(s): validate_colorlist.__doc__ = 'return a list of colorspecs' def validate_string(s): - if isinstance(s, (str, six.text_type)): + if isinstance(s, (str, str)): # Always leave str as str and unicode as unicode return s else: @@ -430,7 +428,7 @@ def validate_fontsize_None(s): def validate_fontsize(s): fontsizes = ['xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large', 'smaller', 'larger'] - if isinstance(s, six.string_types): + if isinstance(s, str): s = s.lower() if s in fontsizes: return s @@ -500,7 +498,7 @@ def update_savefig_format(value): def validate_ps_distiller(s): - if isinstance(s, six.string_types): + if isinstance(s, str): s = s.lower() if s in ('none', None): return None @@ -630,7 +628,7 @@ def validate_hinting(s): ['html5', 'jshtml', 'none']) def validate_bbox(s): - if isinstance(s, six.string_types): + if isinstance(s, str): s = s.lower() if s == 'tight': return s @@ -643,11 +641,11 @@ def validate_bbox(s): return s def validate_sketch(s): - if isinstance(s, six.string_types): + if isinstance(s, str): s = s.lower() if s == 'none' or s is None: return None - if isinstance(s, six.string_types): + if isinstance(s, str): result = tuple([float(v.strip()) for v in s.split(',')]) elif isinstance(s, (list, tuple)): result = tuple([float(v) for v in s]) @@ -696,7 +694,7 @@ def validate_hatch(s): characters: ``\\ / | - + * . x o O``. """ - if not isinstance(s, six.string_types): + if not isinstance(s, str): raise ValueError("Hatch pattern must be a string") unknown = set(s) - {'\\', '/', '|', '-', '+', '*', '.', 'x', 'o', 'O'} if unknown: @@ -807,7 +805,7 @@ def cycler(*args, **kwargs): elif len(args) > 2: raise TypeError("No more than 2 positional arguments allowed") else: - pairs = six.iteritems(kwargs) + pairs = kwargs.items() validated = [] for prop, vals in pairs: @@ -825,7 +823,7 @@ def cycler(*args, **kwargs): def validate_cycler(s): 'return a Cycler object from a string repr or the object itself' - if isinstance(s, six.string_types): + if isinstance(s, str): try: # TODO: We might want to rethink this... # While I think I have it quite locked down, @@ -908,7 +906,7 @@ def validate_animation_writer_path(p): # Make sure it's a string and then figure out if the animations # are already loaded and reset the writers (which will validate # the path on next call) - if not isinstance(p, six.string_types): + if not isinstance(p, str): raise ValueError("path must be a (unicode) string") from sys import modules # set dirty, so that the next call to the registry will re-evaluate diff --git a/lib/matplotlib/sphinxext/plot_directive.py b/lib/matplotlib/sphinxext/plot_directive.py index c3536f02efe0..eae97820bf6e 100644 --- a/lib/matplotlib/sphinxext/plot_directive.py +++ b/lib/matplotlib/sphinxext/plot_directive.py @@ -134,9 +134,6 @@ plot_template Provide a customized template for preparing restructured text. """ -import six -from six.moves import xrange - import itertools import sys, os, shutil, io, re, textwrap from os.path import relpath @@ -144,9 +141,6 @@ import traceback import warnings -if not six.PY3: - import cStringIO - from docutils.parsers.rst import directives from docutils.parsers.rst.directives.images import Image align = Image.align @@ -221,7 +215,7 @@ def mark_plot_labels(app, document): the "htmlonly" (or "latexonly") node to the actual figure node itself. """ - for name, explicit in six.iteritems(document.nametypes): + for name, explicit in document.nametypes.items(): if not explicit: continue labelid = document.nameids[name] @@ -345,6 +339,7 @@ def remove_coding(text): r""" Remove the coding comment, which six.exec\_ doesn't like. """ + cbook.warn_deprecated('3.0', name='remove_coding', removal='3.1') sub_re = re.compile("^#\s*-\*-\s*coding:\s*.*-\*-$", flags=re.MULTILINE) return sub_re.sub("", text) @@ -466,11 +461,8 @@ def run_code(code, code_path, ns=None, function_name=None): # Change the working directory to the directory of the example, so # it can get at its data files, if any. Add its path to sys.path # so it can import any helper modules sitting beside it. - if six.PY2: - pwd = os.getcwdu() - else: - pwd = os.getcwd() - old_sys_path = list(sys.path) + pwd = os.getcwd() + old_sys_path = sys.path.copy() if setup.config.plot_working_directory is not None: try: os.chdir(setup.config.plot_working_directory) @@ -494,10 +486,7 @@ def run_code(code, code_path, ns=None, function_name=None): # Redirect stdout stdout = sys.stdout - if six.PY3: - sys.stdout = io.StringIO() - else: - sys.stdout = cStringIO.StringIO() + sys.stdout = io.StringIO() # Assign a do-nothing print function to the namespace. There # doesn't seem to be any other way to provide a way to (not) print @@ -512,17 +501,16 @@ def _dummy_print(*arg, **kwarg): ns = {} if not ns: if setup.config.plot_pre_code is None: - six.exec_(six.text_type("import numpy as np\n" + - "from matplotlib import pyplot as plt\n"), ns) + exec('import numpy as np\n' + 'from matplotlib import pyplot as plt\n', ns) else: - six.exec_(six.text_type(setup.config.plot_pre_code), ns) + exec(str(setup.config.plot_pre_code), ns) ns['print'] = _dummy_print if "__main__" in code: - six.exec_("__name__ = '__main__'", ns) - code = remove_coding(code) - six.exec_(code, ns) + ns['__name__'] = '__main__' + exec(code, ns) if function_name is not None: - six.exec_(function_name + "()", ns) + exec(function_name + "()", ns) except (Exception, SystemExit) as err: raise PlotError(traceback.format_exc()) finally: @@ -544,13 +532,13 @@ def get_plot_formats(config): default_dpi = {'png': 80, 'hires.png': 200, 'pdf': 200} formats = [] plot_formats = config.plot_formats - if isinstance(plot_formats, six.string_types): + if isinstance(plot_formats, str): # String Sphinx < 1.3, Split on , to mimic # Sphinx 1.3 and later. Sphinx 1.3 always # returns a list. plot_formats = plot_formats.split(',') for fmt in plot_formats: - if isinstance(fmt, six.string_types): + if isinstance(fmt, str): if ':' in fmt: suffix, dpi = fmt.split(':') formats.append((str(suffix), int(dpi))) @@ -701,7 +689,7 @@ def run(arguments, content, options, state_machine, state, lineno): output_base = os.path.basename(source_file_name) else: source_file_name = rst_file - code = textwrap.dedent("\n".join(map(six.text_type, content))) + code = textwrap.dedent("\n".join(map(str, content))) counter = document.attributes.get('_plot_counter', 0) + 1 document.attributes['_plot_counter'] = counter base, ext = os.path.splitext(os.path.basename(source_file_name)) @@ -805,7 +793,7 @@ def run(arguments, content, options, state_machine, state, lineno): images = [] opts = [ - ':%s: %s' % (key, val) for key, val in six.iteritems(options) + ':%s: %s' % (key, val) for key, val in options.items() if key in ('alt', 'height', 'width', 'scale', 'align', 'class')] only_html = ".. only:: html" diff --git a/lib/matplotlib/tests/__init__.py b/lib/matplotlib/tests/__init__.py index 9a4ca1e89fcf..855d68142300 100644 --- a/lib/matplotlib/tests/__init__.py +++ b/lib/matplotlib/tests/__init__.py @@ -1,5 +1,3 @@ -import six - import difflib import os diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index 4e4a332682ee..bd6961b16d75 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -1,4 +1,3 @@ -import six from itertools import chain, product from distutils.version import LooseVersion import io @@ -746,8 +745,7 @@ def test_polar_rlabel_position(): ax.tick_params(rotation='auto') -@image_comparison(baseline_images=['polar_theta_wedge'], style='default', - tol=0.01 if six.PY2 else 0) +@image_comparison(baseline_images=['polar_theta_wedge'], style='default') def test_polar_theta_limits(): r = np.arange(0, 3.0, 0.01) theta = 2*np.pi*r @@ -4370,7 +4368,7 @@ def test_twin_spines(): def make_patch_spines_invisible(ax): ax.set_frame_on(True) ax.patch.set_visible(False) - for sp in six.itervalues(ax.spines): + for sp in ax.spines.values(): sp.set_visible(False) fig = plt.figure(figsize=(4, 3)) diff --git a/lib/matplotlib/tests/test_backend_svg.py b/lib/matplotlib/tests/test_backend_svg.py index 8d98759b5915..2dc364404087 100644 --- a/lib/matplotlib/tests/test_backend_svg.py +++ b/lib/matplotlib/tests/test_backend_svg.py @@ -1,5 +1,3 @@ -import six - import numpy as np from io import BytesIO import os diff --git a/lib/matplotlib/tests/test_basic.py b/lib/matplotlib/tests/test_basic.py index 2a5f7247dfa5..dee7f640c97f 100644 --- a/lib/matplotlib/tests/test_basic.py +++ b/lib/matplotlib/tests/test_basic.py @@ -1,5 +1,4 @@ -import six -import sys +import builtins import matplotlib @@ -22,14 +21,6 @@ def test_override_builtins(): 'sum', 'divmod' } - - # We could use six.moves.builtins here, but that seems - # to do a little more than just this. - if six.PY3: - builtins = sys.modules['builtins'] - else: - builtins = sys.modules['__builtin__'] - overridden = False for key in dir(pylab): if key in dir(builtins): diff --git a/lib/matplotlib/tests/test_cbook.py b/lib/matplotlib/tests/test_cbook.py index 8f414ea63998..745844fb6a1c 100644 --- a/lib/matplotlib/tests/test_cbook.py +++ b/lib/matplotlib/tests/test_cbook.py @@ -3,8 +3,6 @@ from weakref import ref import warnings -import six - from datetime import datetime import numpy as np diff --git a/lib/matplotlib/tests/test_colors.py b/lib/matplotlib/tests/test_colors.py index 6ca863a7f1db..78febfbc2d0d 100644 --- a/lib/matplotlib/tests/test_colors.py +++ b/lib/matplotlib/tests/test_colors.py @@ -1,5 +1,4 @@ import copy -import six import itertools import warnings @@ -103,7 +102,7 @@ def test_BoundaryNorm(): expected = [-1, 0, 1, 2] for v, ex in zip(vals, expected): ret = bn(v) - assert isinstance(ret, six.integer_types) + assert isinstance(ret, int) assert_array_equal(ret, ex) assert_array_equal(bn([v]), ex) @@ -112,7 +111,7 @@ def test_BoundaryNorm(): expected = [-1, 0, 2, 3] for v, ex in zip(vals, expected): ret = bn(v) - assert isinstance(ret, six.integer_types) + assert isinstance(ret, int) assert_array_equal(ret, ex) assert_array_equal(bn([v]), ex) @@ -121,7 +120,7 @@ def test_BoundaryNorm(): expected = [0, 0, 2, 2] for v, ex in zip(vals, expected): ret = bn(v) - assert isinstance(ret, six.integer_types) + assert isinstance(ret, int) assert_array_equal(ret, ex) assert_array_equal(bn([v]), ex) diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py index cb25d67756fa..7e922a7b9383 100644 --- a/lib/matplotlib/tests/test_constrainedlayout.py +++ b/lib/matplotlib/tests/test_constrainedlayout.py @@ -1,4 +1,3 @@ -import six import warnings import numpy as np diff --git a/lib/matplotlib/tests/test_container.py b/lib/matplotlib/tests/test_container.py index b035589f6ae0..8e894d9e9084 100644 --- a/lib/matplotlib/tests/test_container.py +++ b/lib/matplotlib/tests/test_container.py @@ -1,4 +1,3 @@ -import six import matplotlib.pyplot as plt diff --git a/lib/matplotlib/tests/test_mathtext.py b/lib/matplotlib/tests/test_mathtext.py index 5c1343b28718..e4feb8e17d3c 100644 --- a/lib/matplotlib/tests/test_mathtext.py +++ b/lib/matplotlib/tests/test_mathtext.py @@ -1,5 +1,3 @@ -import six - import io import re diff --git a/lib/matplotlib/tests/test_mlab.py b/lib/matplotlib/tests/test_mlab.py index 69a2c39bdfeb..d336fea01ff7 100644 --- a/lib/matplotlib/tests/test_mlab.py +++ b/lib/matplotlib/tests/test_mlab.py @@ -1,5 +1,3 @@ -import six - import tempfile import warnings @@ -210,11 +208,7 @@ def test_stride_ensure_integer_type(self): @pytest.fixture def tempcsv(): - if six.PY2: - fd = tempfile.TemporaryFile(suffix='csv', mode="wb+") - else: - fd = tempfile.TemporaryFile(suffix='csv', mode="w+", newline='') - with fd: + with tempfile.TemporaryFile(suffix='csv', mode="w+", newline='') as fd: yield fd diff --git a/lib/matplotlib/tests/test_patches.py b/lib/matplotlib/tests/test_patches.py index 54bcbd5ddc31..da880df39874 100644 --- a/lib/matplotlib/tests/test_patches.py +++ b/lib/matplotlib/tests/test_patches.py @@ -1,8 +1,6 @@ """ Tests specific to the patches module. """ -import six - import numpy as np from numpy.testing import assert_almost_equal, assert_array_equal import pytest @@ -255,10 +253,10 @@ def test_wedge_movement(): 'theta1': (0, 30, 'set_theta1'), 'theta2': (45, 50, 'set_theta2')} - init_args = dict((k, v[0]) for (k, v) in six.iteritems(param_dict)) + init_args = dict((k, v[0]) for (k, v) in param_dict.items()) w = mpatches.Wedge(**init_args) - for attr, (old_v, new_v, func) in six.iteritems(param_dict): + for attr, (old_v, new_v, func) in param_dict.items(): assert getattr(w, attr) == old_v getattr(w, func)(new_v) assert getattr(w, attr) == new_v diff --git a/lib/matplotlib/tests/test_pickle.py b/lib/matplotlib/tests/test_pickle.py index e9240a118f9f..719dc7356fc8 100644 --- a/lib/matplotlib/tests/test_pickle.py +++ b/lib/matplotlib/tests/test_pickle.py @@ -1,6 +1,4 @@ -from six.moves import cPickle as pickle -from six.moves import range - +import pickle from io import BytesIO import numpy as np diff --git a/lib/matplotlib/tests/test_png.py b/lib/matplotlib/tests/test_png.py index 46bfae9891d5..508b46542885 100644 --- a/lib/matplotlib/tests/test_png.py +++ b/lib/matplotlib/tests/test_png.py @@ -1,5 +1,4 @@ -import six -from six import BytesIO +from io import BytesIO import glob import os import numpy as np diff --git a/lib/matplotlib/tests/test_rcparams.py b/lib/matplotlib/tests/test_rcparams.py index 14b589780c0a..23ba02a5720c 100644 --- a/lib/matplotlib/tests/test_rcparams.py +++ b/lib/matplotlib/tests/test_rcparams.py @@ -1,5 +1,3 @@ -import six - from collections import OrderedDict import os from unittest import mock @@ -400,10 +398,7 @@ def generate_validator_testcases(valid): } # Add some cases of bytes arguments that Python 2 can convert silently: ls_bytes_args = (b'dotted', 'dotted'.encode('ascii')) - if six.PY3: - ls_test['fail'] += tuple((arg, ValueError) for arg in ls_bytes_args) - else: - ls_test['success'] += tuple((arg, 'dotted') for arg in ls_bytes_args) + ls_test['fail'] += tuple((arg, ValueError) for arg in ls_bytes_args) # Update the validation test sequence. validation_tests += (ls_test,) diff --git a/lib/matplotlib/tests/test_style.py b/lib/matplotlib/tests/test_style.py index 290f51f91c54..9ce753349ccd 100644 --- a/lib/matplotlib/tests/test_style.py +++ b/lib/matplotlib/tests/test_style.py @@ -12,8 +12,6 @@ from matplotlib import pyplot as plt, style from matplotlib.style.core import USER_LIBRARY_PATHS, STYLE_EXTENSION -import six - PARAM = 'image.cmap' VALUE = 'pink' DUMMY_SETTINGS = {PARAM: VALUE} @@ -29,7 +27,7 @@ def temp_style(style_name, settings=None): # Write style settings to file in the temp directory. tempdir = tempfile.mkdtemp() with open(os.path.join(tempdir, temp_file), 'w') as f: - for k, v in six.iteritems(settings): + for k, v in settings.items(): f.write('%s: %s' % (k, v)) # Add temp directory to style path and reload so we can access this style. diff --git a/lib/matplotlib/tests/test_table.py b/lib/matplotlib/tests/test_table.py index 3b452216eca2..83629eba0489 100644 --- a/lib/matplotlib/tests/test_table.py +++ b/lib/matplotlib/tests/test_table.py @@ -1,5 +1,3 @@ -import six - import matplotlib.pyplot as plt import numpy as np from matplotlib.testing.decorators import image_comparison diff --git a/lib/matplotlib/tests/test_text.py b/lib/matplotlib/tests/test_text.py index b756fb708041..4474099738c5 100644 --- a/lib/matplotlib/tests/test_text.py +++ b/lib/matplotlib/tests/test_text.py @@ -1,5 +1,3 @@ -import six - import io import warnings diff --git a/lib/matplotlib/tests/test_tightlayout.py b/lib/matplotlib/tests/test_tightlayout.py index 561635e8bf59..68139fc68c81 100644 --- a/lib/matplotlib/tests/test_tightlayout.py +++ b/lib/matplotlib/tests/test_tightlayout.py @@ -1,4 +1,3 @@ -import six import warnings import numpy as np diff --git a/lib/matplotlib/tests/test_transforms.py b/lib/matplotlib/tests/test_transforms.py index 83fd0b51780e..52d2f2bfa749 100644 --- a/lib/matplotlib/tests/test_transforms.py +++ b/lib/matplotlib/tests/test_transforms.py @@ -1,5 +1,3 @@ -from six.moves import zip - import unittest import numpy as np diff --git a/lib/matplotlib/tests/test_ttconv.py b/lib/matplotlib/tests/test_ttconv.py index 083de831b430..6bb6feac74d5 100644 --- a/lib/matplotlib/tests/test_ttconv.py +++ b/lib/matplotlib/tests/test_ttconv.py @@ -1,5 +1,3 @@ -import six - import matplotlib from matplotlib.font_manager import FontProperties from matplotlib.testing.decorators import image_comparison diff --git a/lib/matplotlib/tests/test_type1font.py b/lib/matplotlib/tests/test_type1font.py index 2457c44b9e0f..3122fc5f8611 100644 --- a/lib/matplotlib/tests/test_type1font.py +++ b/lib/matplotlib/tests/test_type1font.py @@ -1,5 +1,3 @@ -import six - import matplotlib.type1font as t1f import os.path import difflib diff --git a/lib/matplotlib/ticker.py b/lib/matplotlib/ticker.py index 1d98f19f5b89..3cd7559af9af 100644 --- a/lib/matplotlib/ticker.py +++ b/lib/matplotlib/ticker.py @@ -164,8 +164,6 @@ module for more information and examples of using date locators and formatters. """ -import six - import itertools import logging import locale @@ -192,17 +190,13 @@ 'SymmetricalLogLocator', 'LogitLocator') -if six.PY3: - long = int - - # Work around numpy/numpy#6127. def _divmod(x, y): if isinstance(x, np.generic): x = x.item() if isinstance(y, np.generic): y = y.item() - return six.moves.builtins.divmod(x, y) + return divmod(x, y) def _mathdefault(s): @@ -1099,7 +1093,7 @@ def __call__(self, x, pos=None): exponent = np.round(fx) if is_x_decade else np.floor(fx) coeff = np.round(x / b ** exponent) if is_x_decade: - fx = nearest_long(fx) + fx = round(fx) if self.labelOnlyBase and not is_x_decade: return '' @@ -1120,15 +1114,10 @@ def __call__(self, x, pos=None): '{0}{1:g}'.format(sign_string, x))) elif not is_x_decade: return self._non_decade_format(sign_string, base, fx, usetex) + elif usetex: + return r'$%s%s^{%d}$' % (sign_string, base, fx) else: - if usetex: - return (r'$%s%s^{%d}$') % (sign_string, - base, - nearest_long(fx)) - else: - return ('$%s$' % _mathdefault( - '%s%s^{%d}' % - (sign_string, base, nearest_long(fx)))) + return '$%s$' % _mathdefault('%s%s^{%d}' % (sign_string, base, fx)) class LogFormatterSciNotation(LogFormatterMathtext): @@ -1142,7 +1131,7 @@ def _non_decade_format(self, sign_string, base, fx, usetex): exponent = math.floor(fx) coeff = b ** fx / b ** exponent if is_close_to_int(coeff): - coeff = nearest_long(coeff) + coeff = round(coeff) if usetex: return (r'$%s%g\times%s^{%d}$') % \ (sign_string, coeff, base, exponent) @@ -1983,12 +1972,11 @@ def decade_up(x, base=10): def nearest_long(x): - if x == 0: - return long(0) - elif x > 0: - return long(x + 0.5) - else: - return long(x - 0.5) + cbook.warn_deprecated('3.0', removal='3.1', name='`nearest_long`', + obj_type='function', alternative='`round`') + if x >= 0: + return int(x + 0.5) + return int(x - 0.5) def is_decade(x, base=10): @@ -2003,7 +1991,7 @@ def is_decade(x, base=10): def is_close_to_int(x): if not np.isfinite(x): return False - return abs(x - nearest_long(x)) < 1e-10 + return abs(x - round(x)) < 1e-10 class LogLocator(Locator): @@ -2066,7 +2054,7 @@ def subs(self, subs): """ if subs is None: # consistency with previous bad API self._subs = 'auto' - elif isinstance(subs, six.string_types): + elif isinstance(subs, str): if subs not in ('all', 'auto'): raise ValueError("A subs string must be 'all' or 'auto'; " "found '%s'." % subs) @@ -2115,7 +2103,7 @@ def tick_values(self, vmin, vmax): numdec = math.floor(vmax) - math.ceil(vmin) - if isinstance(self._subs, six.string_types): + if isinstance(self._subs, str): _first = 2.0 if self._subs == 'auto' else 1.0 if numdec > 10 or b < 3: if self._subs == 'auto': diff --git a/lib/matplotlib/type1font.py b/lib/matplotlib/type1font.py index 50ec25f68277..409f22aab144 100644 --- a/lib/matplotlib/type1font.py +++ b/lib/matplotlib/type1font.py @@ -22,8 +22,6 @@ v1.1, 1993. ISBN 0-201-57044-0. """ -import six - import binascii import enum import itertools @@ -32,10 +30,6 @@ import numpy as np -if six.PY3: - def ord(x): - return x - # token types _TokenType = enum.Enum('_TokenType', @@ -84,8 +78,8 @@ def _read(self, file): while rawdata: if not rawdata.startswith(b'\x80'): raise RuntimeError('Broken pfb file (expected byte 128, ' - 'got %d)' % ord(rawdata[0])) - type = ord(rawdata[1]) + 'got %d)' % rawdata[0]) + type = rawdata[1] if type in (1, 2): length, = struct.unpack(str('<i'), rawdata[2:6]) segment = rawdata[6:6 + length] diff --git a/lib/mpl_toolkits/axes_grid1/__init__.py b/lib/mpl_toolkits/axes_grid1/__init__.py index 6750e13c174d..2109556cfe70 100644 --- a/lib/mpl_toolkits/axes_grid1/__init__.py +++ b/lib/mpl_toolkits/axes_grid1/__init__.py @@ -1,5 +1,3 @@ -import six - from . import axes_size as Size from .axes_divider import Divider, SubplotDivider, LocatableAxes, \ make_axes_locatable diff --git a/lib/mpl_toolkits/axes_grid1/anchored_artists.py b/lib/mpl_toolkits/axes_grid1/anchored_artists.py index 6aee423bcf1f..9355247ff157 100644 --- a/lib/mpl_toolkits/axes_grid1/anchored_artists.py +++ b/lib/mpl_toolkits/axes_grid1/anchored_artists.py @@ -1,5 +1,3 @@ -import six - from matplotlib import docstring, transforms from matplotlib.offsetbox import (AnchoredOffsetbox, AuxTransformBox, DrawingArea, TextArea, VPacker) diff --git a/lib/mpl_toolkits/axes_grid1/axes_divider.py b/lib/mpl_toolkits/axes_grid1/axes_divider.py index fa96eebc9a18..ffda811efc40 100644 --- a/lib/mpl_toolkits/axes_grid1/axes_divider.py +++ b/lib/mpl_toolkits/axes_grid1/axes_divider.py @@ -10,9 +10,6 @@ object that can be used to set the axes_locator of the axes. """ -import six -from six.moves import map - import matplotlib.transforms as mtransforms from matplotlib.axes import SubplotBase diff --git a/lib/mpl_toolkits/axes_grid1/axes_grid.py b/lib/mpl_toolkits/axes_grid1/axes_grid.py index 454fc9601068..7125704d3b4e 100644 --- a/lib/mpl_toolkits/axes_grid1/axes_grid.py +++ b/lib/mpl_toolkits/axes_grid1/axes_grid.py @@ -1,5 +1,3 @@ -import six - from numbers import Number import matplotlib.axes as maxes diff --git a/lib/mpl_toolkits/axes_grid1/axes_rgb.py b/lib/mpl_toolkits/axes_grid1/axes_rgb.py index fff6170d388e..909a73ec8c4e 100644 --- a/lib/mpl_toolkits/axes_grid1/axes_rgb.py +++ b/lib/mpl_toolkits/axes_grid1/axes_rgb.py @@ -1,8 +1,5 @@ -import six - import numpy as np from .axes_divider import make_axes_locatable, Size, locatable_axes_factory -import sys from .mpl_axes import Axes @@ -116,12 +113,11 @@ def __init__(self, *args, pad=0, add_all=True, **kwargs): try: axes_class = kwargs.pop("axes_class", self._defaultAxesClass) except AttributeError: - new_msg = ("A subclass of RGBAxesBase must have a " - "_defaultAxesClass attribute. If you are not sure which " - "axes class to use, consider using " - "mpl_toolkits.axes_grid1.mpl_axes.Axes.") - six.reraise(AttributeError, AttributeError(new_msg), - sys.exc_info()[2]) + raise AttributeError( + 'A subclass of RGBAxesBase must have a _defaultAxesClass ' + 'attribute. If you are not sure which axes class to use, ' + 'consider using mpl_toolkits.axes_grid1.mpl_axes.Axes.' + ) ax = axes_class(*args, **kwargs) diff --git a/lib/mpl_toolkits/axes_grid1/axes_size.py b/lib/mpl_toolkits/axes_grid1/axes_size.py index 07e30c82dae1..e8ec8b203727 100644 --- a/lib/mpl_toolkits/axes_grid1/axes_size.py +++ b/lib/mpl_toolkits/axes_grid1/axes_size.py @@ -10,8 +10,6 @@ class (or others) to determine the size of each axes. The unit values are used. """ -import six - from numbers import Number from matplotlib.axes import Axes @@ -270,7 +268,7 @@ def from_any(size, fraction_ref=None): """ if isinstance(size, Number): return Fixed(size) - elif isinstance(size, six.string_types): + elif isinstance(size, str): if size[-1] == "%": return Fraction(float(size[:-1]) / 100, fraction_ref) diff --git a/lib/mpl_toolkits/axes_grid1/colorbar.py b/lib/mpl_toolkits/axes_grid1/colorbar.py index b5e28d9fa0aa..6b33b57ad6d6 100644 --- a/lib/mpl_toolkits/axes_grid1/colorbar.py +++ b/lib/mpl_toolkits/axes_grid1/colorbar.py @@ -18,9 +18,6 @@ is a thin wrapper over :meth:`~matplotlib.figure.Figure.colorbar`. """ -import six -from six.moves import xrange, zip - import numpy as np import matplotlib as mpl import matplotlib.colors as colors @@ -377,7 +374,7 @@ def __init__(self, ax, cmap=None, formatter = ticker.LogFormatter() else: formatter = None - elif isinstance(format, six.string_types): + elif isinstance(format, str): formatter = ticker.FormatStrFormatter(format) else: formatter = format # Assume it is a Formatter @@ -526,9 +523,9 @@ def _edges(self, X, Y): # Using the non-array form of these line segments is much # simpler than making them into arrays. if self.orientation == 'vertical': - return [list(zip(X[i], Y[i])) for i in xrange(1, N-1)] + return [list(zip(X[i], Y[i])) for i in range(1, N-1)] else: - return [list(zip(Y[i], X[i])) for i in xrange(1, N-1)] + return [list(zip(Y[i], X[i])) for i in range(1, N-1)] def _add_solids(self, X, Y, C): ''' diff --git a/lib/mpl_toolkits/axes_grid1/inset_locator.py b/lib/mpl_toolkits/axes_grid1/inset_locator.py index 75a6a90d7bb7..3737d44a0a21 100644 --- a/lib/mpl_toolkits/axes_grid1/inset_locator.py +++ b/lib/mpl_toolkits/axes_grid1/inset_locator.py @@ -2,7 +2,6 @@ A collection of functions and objects for creating or placing inset axes. """ from matplotlib import docstring -import six from matplotlib.offsetbox import AnchoredOffsetbox from matplotlib.patches import Patch, Rectangle from matplotlib.path import Path diff --git a/lib/mpl_toolkits/axes_grid1/mpl_axes.py b/lib/mpl_toolkits/axes_grid1/mpl_axes.py index ab473b035c0e..f59f47208c53 100644 --- a/lib/mpl_toolkits/axes_grid1/mpl_axes.py +++ b/lib/mpl_toolkits/axes_grid1/mpl_axes.py @@ -1,5 +1,3 @@ -import six - import matplotlib.axes as maxes from matplotlib.artist import Artist from matplotlib.axis import XAxis, YAxis @@ -33,8 +31,7 @@ def __getitem__(self, k): return r elif isinstance(k, slice): if k.start is None and k.stop is None and k.step is None: - r = SimpleChainedObjects(list(six.itervalues(self))) - return r + return SimpleChainedObjects(list(self.values())) else: raise ValueError("Unsupported slice") else: diff --git a/lib/mpl_toolkits/axisartist/__init__.py b/lib/mpl_toolkits/axisartist/__init__.py index 12c4ec6f95bd..9640fb916f1a 100644 --- a/lib/mpl_toolkits/axisartist/__init__.py +++ b/lib/mpl_toolkits/axisartist/__init__.py @@ -1,5 +1,3 @@ -import six - from .axislines import ( Axes, AxesZero, AxisArtistHelper, AxisArtistHelperRectlinear, GridHelperBase, GridHelperRectlinear, Subplot, SubplotZero) diff --git a/lib/mpl_toolkits/axisartist/angle_helper.py b/lib/mpl_toolkits/axisartist/angle_helper.py index 135785271b09..e222ce4e72b0 100644 --- a/lib/mpl_toolkits/axisartist/angle_helper.py +++ b/lib/mpl_toolkits/axisartist/angle_helper.py @@ -1,5 +1,3 @@ -import six - import numpy as np import math diff --git a/lib/mpl_toolkits/axisartist/axis_artist.py b/lib/mpl_toolkits/axisartist/axis_artist.py index 0cf14608d8ec..1eb91ff3af65 100644 --- a/lib/mpl_toolkits/axisartist/axis_artist.py +++ b/lib/mpl_toolkits/axisartist/axis_artist.py @@ -84,8 +84,6 @@ """ -import six - # FIXME : # angles are given in data coordinate - need to convert it to canvas coordinate diff --git a/lib/mpl_toolkits/axisartist/axisline_style.py b/lib/mpl_toolkits/axisartist/axisline_style.py index 38a00be95f7e..7c9c0a9711b6 100644 --- a/lib/mpl_toolkits/axisartist/axisline_style.py +++ b/lib/mpl_toolkits/axisartist/axisline_style.py @@ -1,5 +1,3 @@ -import six - from matplotlib.patches import _Style, FancyArrowPatch from matplotlib.transforms import IdentityTransform from matplotlib.path import Path diff --git a/lib/mpl_toolkits/axisartist/axislines.py b/lib/mpl_toolkits/axisartist/axislines.py index abd47d42bb06..37512c1fe585 100644 --- a/lib/mpl_toolkits/axisartist/axislines.py +++ b/lib/mpl_toolkits/axisartist/axislines.py @@ -41,8 +41,6 @@ from the axis as some gridlines can never pass any axis. """ -import six - import warnings import numpy as np @@ -522,7 +520,7 @@ def __getitem__(self, k): [dict.__getitem__(self, k1) for k1 in k]) elif isinstance(k, slice): if k == slice(None): - return SimpleChainedObjects(list(six.itervalues(self))) + return SimpleChainedObjects(list(self.values())) else: raise ValueError("Unsupported slice") else: diff --git a/lib/mpl_toolkits/axisartist/clip_path.py b/lib/mpl_toolkits/axisartist/clip_path.py index 57e961d7b2df..c51336e850ce 100644 --- a/lib/mpl_toolkits/axisartist/clip_path.py +++ b/lib/mpl_toolkits/axisartist/clip_path.py @@ -1,6 +1,3 @@ -import six -from six.moves import zip - import numpy as np from math import degrees import math diff --git a/lib/mpl_toolkits/axisartist/grid_finder.py b/lib/mpl_toolkits/axisartist/grid_finder.py index cd74a2e61004..97d2137a3769 100644 --- a/lib/mpl_toolkits/axisartist/grid_finder.py +++ b/lib/mpl_toolkits/axisartist/grid_finder.py @@ -1,5 +1,3 @@ -import six - import numpy as np from matplotlib.transforms import Bbox from . import clip_path diff --git a/lib/mpl_toolkits/axisartist/grid_helper_curvelinear.py b/lib/mpl_toolkits/axisartist/grid_helper_curvelinear.py index c0bd303e9a69..01dbd1eae1aa 100644 --- a/lib/mpl_toolkits/axisartist/grid_helper_curvelinear.py +++ b/lib/mpl_toolkits/axisartist/grid_helper_curvelinear.py @@ -1,9 +1,6 @@ """ An experimental support for curvilinear grid. """ -import six -from six.moves import zip - from itertools import chain from .grid_finder import GridFinder diff --git a/lib/mpl_toolkits/mplot3d/__init__.py b/lib/mpl_toolkits/mplot3d/__init__.py index 86ea3faffb3e..30e682aea018 100644 --- a/lib/mpl_toolkits/mplot3d/__init__.py +++ b/lib/mpl_toolkits/mplot3d/__init__.py @@ -1,3 +1 @@ -import six - from .axes3d import Axes3D diff --git a/lib/mpl_toolkits/mplot3d/axes3d.py b/lib/mpl_toolkits/mplot3d/axes3d.py index d33b0c57b732..87ac72ec94c6 100644 --- a/lib/mpl_toolkits/mplot3d/axes3d.py +++ b/lib/mpl_toolkits/mplot3d/axes3d.py @@ -9,9 +9,7 @@ Module containing Axes3D, an object which can plot 3D objects on a 2D matplotlib figure. """ -import six -from six.moves import map, zip, reduce - +from functools import reduce from collections import defaultdict import math import warnings @@ -1554,7 +1552,7 @@ def plot(self, xs, ys, *args, zdir='z', **kwargs): # `zs` can be passed positionally or as keyword; checking whether # args[0] is a string matches the behavior of 2D `plot` (via # `_process_plot_var_args`). - if args and not isinstance(args[0], six.string_types): + if args and not isinstance(args[0], str): zs = args[0] args = args[1:] if 'zs' in kwargs: diff --git a/lib/mpl_toolkits/mplot3d/axis3d.py b/lib/mpl_toolkits/mplot3d/axis3d.py index 8a431c1a0854..57545fd1a125 100644 --- a/lib/mpl_toolkits/mplot3d/axis3d.py +++ b/lib/mpl_toolkits/mplot3d/axis3d.py @@ -2,8 +2,6 @@ # Created: 23 Sep 2005 # Parts rewritten by Reinier Heeres <reinier@heeres.eu> -import six - import copy from matplotlib import ( diff --git a/lib/mpl_toolkits/mplot3d/proj3d.py b/lib/mpl_toolkits/mplot3d/proj3d.py index 404b52095cea..4a26d13b953b 100644 --- a/lib/mpl_toolkits/mplot3d/proj3d.py +++ b/lib/mpl_toolkits/mplot3d/proj3d.py @@ -3,9 +3,6 @@ """ Various transforms used for by the 3D code """ -import six -from six.moves import zip - import numpy as np import numpy.linalg as linalg diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py index 685f103930b9..14648956a566 100644 --- a/lib/mpl_toolkits/tests/test_axes_grid1.py +++ b/lib/mpl_toolkits/tests/test_axes_grid1.py @@ -1,5 +1,3 @@ -import six - import matplotlib import matplotlib.pyplot as plt from matplotlib.testing.decorators import image_comparison diff --git a/lib/mpl_toolkits/tests/test_axisartist_clip_path.py b/lib/mpl_toolkits/tests/test_axisartist_clip_path.py index 51b090daba4b..4a3ee4300947 100644 --- a/lib/mpl_toolkits/tests/test_axisartist_clip_path.py +++ b/lib/mpl_toolkits/tests/test_axisartist_clip_path.py @@ -1,5 +1,3 @@ -import six - import numpy as np import matplotlib.pyplot as plt from matplotlib.testing.decorators import image_comparison @@ -30,6 +28,6 @@ def test_clip_path(): ccc = iter(['C3o', 'C2x', 'C3o', 'C2x']) for ttt in ticks: - cc = six.next(ccc) + cc = next(ccc) for (xx, yy), aa in ttt: ax.plot([xx], [yy], cc) diff --git a/setupext.py b/setupext.py index 0180f0eb8df0..b87741f9dce5 100644 --- a/setupext.py +++ b/setupext.py @@ -1340,7 +1340,6 @@ def get_install_requires(self): "pyparsing>=2.0.1,!=2.0.4,!=2.1.2,!=2.1.6", "python-dateutil>=2.1", "pytz", - "six>=1.10", ] diff --git a/tools/gh_api.py b/tools/gh_api.py index f2c86f851d10..dd092754b2db 100644 --- a/tools/gh_api.py +++ b/tools/gh_api.py @@ -225,7 +225,7 @@ def encode_multipart_formdata(fields, boundary=None): # copy requests imports in here: from io import BytesIO from requests.packages.urllib3.filepost import ( - choose_boundary, six, writer, b, get_content_type + choose_boundary, writer, b, get_content_type ) body = BytesIO() if boundary is None: @@ -248,7 +248,7 @@ def encode_multipart_formdata(fields, boundary=None): if isinstance(data, int): data = str(data) # Backwards compatibility - if isinstance(data, six.text_type): + if isinstance(data, str): writer(body).write(data) else: body.write(data) diff --git a/tools/make_icons.py b/tools/make_icons.py index 53bb1f023bb3..dfdcda8d43d8 100755 --- a/tools/make_icons.py +++ b/tools/make_icons.py @@ -13,8 +13,6 @@ import matplotlib matplotlib.use('agg') # noqa -import six - import os from PIL import Image @@ -55,7 +53,7 @@ def make_icon(fontfile, ccode): fig = plt.figure(figsize=(1, 1)) fig.patch.set_alpha(0.0) - text = fig.text(0.5, 0.48, six.unichr(ccode), ha='center', va='center', + text = fig.text(0.5, 0.48, chr(ccode), ha='center', va='center', fontproperties=prop) text.set_path_effects([PathEffects.Normal()]) From bc6c52c0258242565f6062fcdeb31bb9a495d778 Mon Sep 17 00:00:00 2001 From: Michael Droettboom <mdboom@gmail.com> Date: Thu, 17 May 2018 11:59:17 -0400 Subject: [PATCH 0692/1161] Use dummy_threading if threading not available --- lib/matplotlib/backends/backend_agg.py | 5 ++++- lib/matplotlib/font_manager.py | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/backends/backend_agg.py b/lib/matplotlib/backends/backend_agg.py index de865feefd82..2c5faab43e24 100644 --- a/lib/matplotlib/backends/backend_agg.py +++ b/lib/matplotlib/backends/backend_agg.py @@ -19,7 +19,10 @@ * integrate screen dpi w/ ppi and text """ -import threading +try: + import threading +except ImportError: + import dummy_threading as threading import numpy as np from collections import OrderedDict from math import radians, cos, sin diff --git a/lib/matplotlib/font_manager.py b/lib/matplotlib/font_manager.py index d1e144683be8..791a70087382 100644 --- a/lib/matplotlib/font_manager.py +++ b/lib/matplotlib/font_manager.py @@ -39,7 +39,10 @@ from pathlib import Path import subprocess import sys -from threading import Timer +try: + from threading import Timer +except ImportError: + from dummy_threading import Timer import warnings from matplotlib import afm, cbook, ft2font, rcParams, get_cachedir From 3c55e013052702ba368b92fe0ca05b86a28477f1 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Thu, 17 May 2018 13:42:13 -0700 Subject: [PATCH 0693/1161] Minor cleanups. - backend_ps.get_bbox has been marked as deprecated in comment since 2010; deprecate it for real. - Reword the docstring for Legend.set_draggable. - Use star-unpacking instead of set.union. --- doc/api/next_api_changes/2018-02-15-AL-deprecations.rst | 1 + lib/matplotlib/backends/backend_ps.py | 1 + lib/matplotlib/legend.py | 2 +- lib/matplotlib/tests/test_rcparams.py | 7 ++----- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst index 51198eef7a4e..635eb2b470f2 100644 --- a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst +++ b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst @@ -12,6 +12,7 @@ The following classes, methods, functions, and attributes are deprecated: - ``afm.parse_afm``, - ``backend_pgf.get_texcommand``, +- ``backend_ps.get_bbox``, - ``backend_qt5.error_msg_qt``, ``backend_qt5.exception_handler``, - ``backend_wx.FigureCanvasWx.macros``, - ``cbook.GetRealpathAndStat``, ``cbook.Locked``, diff --git a/lib/matplotlib/backends/backend_ps.py b/lib/matplotlib/backends/backend_ps.py index 7109781a5330..26af22f8d978 100644 --- a/lib/matplotlib/backends/backend_ps.py +++ b/lib/matplotlib/backends/backend_ps.py @@ -1593,6 +1593,7 @@ def get_bbox_header(lbrt, rotated=False): # get_bbox is deprecated. I don't see any reason to use ghostscript to # find the bounding box, as the required bounding box is alread known. +@cbook.deprecated("3.0") def get_bbox(tmpfile, bbox): """ Use ghostscript's bbox device to find the center of the bounding box. diff --git a/lib/matplotlib/legend.py b/lib/matplotlib/legend.py index 11bd4a4eb184..a516eaf43f64 100644 --- a/lib/matplotlib/legend.py +++ b/lib/matplotlib/legend.py @@ -1124,7 +1124,7 @@ def set_draggable(self, state, use_blit=False, update='loc'): Parameters ---------- state : bool - ``True`` / ``False`` enables / disables mouse dragging. + Whether mouse dragging is enabled. use_blit : bool, optional Use blitting for faster image composition. For details see :ref:`func-animation`. diff --git a/lib/matplotlib/tests/test_rcparams.py b/lib/matplotlib/tests/test_rcparams.py index 23ba02a5720c..2d2bac44ed29 100644 --- a/lib/matplotlib/tests/test_rcparams.py +++ b/lib/matplotlib/tests/test_rcparams.py @@ -457,11 +457,8 @@ def test_rcparams_reset_after_fail(): def test_if_rctemplate_is_up_to_date(): - # This tests if the matplotlibrc.template file - # contains all valid rcParams. - dep1 = mpl._all_deprecated - dep2 = mpl._deprecated_set - deprecated = list(dep1.union(dep2)) + # This tests if the matplotlibrc.template file contains all valid rcParams. + deprecated = {*mpl._all_deprecated, *mpl._deprecated_set} path_to_rc = os.path.join(mpl.get_data_path(), 'matplotlibrc') with open(path_to_rc, "r") as f: rclines = f.readlines() From dc166b36be5ccbf2c7aff3afbeb9ba714cef80b7 Mon Sep 17 00:00:00 2001 From: Bastian Bechtold <basti@bastibe.de> Date: Fri, 18 May 2018 09:59:52 +0200 Subject: [PATCH 0694/1161] renames colormap sunlight to twilight_shifted --- doc/users/next_whats_new/wrapping_colormaps.rst | 12 ++++++------ examples/color/colormap_reference.py | 2 +- lib/matplotlib/_cm_listed.py | 6 +++--- lib/matplotlib/pyplot.py | 16 ++++++++-------- tutorials/colors/colormaps.py | 2 +- 5 files changed, 19 insertions(+), 19 deletions(-) diff --git a/doc/users/next_whats_new/wrapping_colormaps.rst b/doc/users/next_whats_new/wrapping_colormaps.rst index ccc6947a1c24..97baf23e14a7 100644 --- a/doc/users/next_whats_new/wrapping_colormaps.rst +++ b/doc/users/next_whats_new/wrapping_colormaps.rst @@ -1,9 +1,9 @@ Wrapping colormaps ------------------ -Two new colormaps named 'twilight' and 'sunlight' were added. These -colormaps start and end on the same color, and have two symmetric -halves with equal lightness, but diverging color. Since they wrap -around, they are a good choice for cyclic data such as phase angles, -compass directions, or time of day. Like viridis, twilight and -sunlight are perceptually uniform and colorblind friendly. +Two new colormaps named 'twilight' and 'twilight_shifted' were added. +These colormaps start and end on the same color, and have two +symmetric halves with equal lightness, but diverging color. Since they +wrap around, they are a good choice for cyclic data such as phase +angles, compass directions, or time of day. Like viridis, twilight is +perceptually uniform and colorblind friendly. diff --git a/examples/color/colormap_reference.py b/examples/color/colormap_reference.py index f1de06e4b1be..7969709a8f44 100644 --- a/examples/color/colormap_reference.py +++ b/examples/color/colormap_reference.py @@ -29,7 +29,7 @@ ('Diverging', [ 'PiYG', 'PRGn', 'BrBG', 'PuOr', 'RdGy', 'RdBu', 'RdYlBu', 'RdYlGn', 'Spectral', 'coolwarm', 'bwr', 'seismic']), - ('Wrapping', ['twilight', 'sunlight', 'hsv']), + ('Wrapping', ['twilight', 'twilight_shifted', 'hsv']), ('Qualitative', [ 'Pastel1', 'Pastel2', 'Paired', 'Accent', 'Dark2', 'Set1', 'Set2', 'Set3', diff --git a/lib/matplotlib/_cm_listed.py b/lib/matplotlib/_cm_listed.py index 04f6b3cbeee9..f471a5a5d0a7 100644 --- a/lib/matplotlib/_cm_listed.py +++ b/lib/matplotlib/_cm_listed.py @@ -1797,8 +1797,8 @@ [0.88554714811952384, 0.84987174283631584, 0.88336206121170946], [0.88571155122845646, 0.85002186115856315, 0.88572538990087124]] -_sunlight_data = (_twilight_data[len(_twilight_data)//2:] + - _twilight_data[:len(_twilight_data)//2]) +_twilight_shifted_data = (_twilight_data[len(_twilight_data)//2:] + + _twilight_data[:len(_twilight_data)//2]) cmaps = {} for (name, data) in (('magma', _magma_data), @@ -1807,7 +1807,7 @@ ('viridis', _viridis_data), ('cividis', _cividis_data), ('twilight', _twilight_data), - ('sunlight', _sunlight_data)): + ('twilight_shifted', _twilight_shifted_data)): cmaps[name] = ListedColormap(data, name=name) # generate reversed colormap diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index 9b1739bf6177..b962ea57151d 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -1810,14 +1810,14 @@ def colormaps(): A set of cyclic color maps: - ========== ========================================================= - Colormap Description - ========== ========================================================= - hsv red-yellow-green-cyan-blue-magenta-red, formed by changing - the hue component in the HSV color space - twilight perceptually uniform shades of white-blue-black-red-white - sunlight perceptually uniform shades of black-red-white-blue-black - ========== ========================================================= + ================ ========================================================= + Colormap Description + ================ ========================================================= + hsv red-yellow-green-cyan-blue-magenta-red, formed by changing + the hue component in the HSV color space + twilight perceptually uniform shades of white-blue-black-red-white + twilight_shifted perceptually uniform shades of black-red-white-blue-black + ================ ========================================================= Other miscellaneous schemes: diff --git a/tutorials/colors/colormaps.py b/tutorials/colors/colormaps.py index 999986e96d0d..cd813aa5acd4 100644 --- a/tutorials/colors/colormaps.py +++ b/tutorials/colors/colormaps.py @@ -147,7 +147,7 @@ # for viewers to see perceptually. See an extension on this idea at # [mycarta-jet]_. -cmaps['Wrapping'] = ['twilight', 'sunlight', 'hsv'] +cmaps['Wrapping'] = ['twilight', 'twilight_shifted', 'hsv'] ############################################################################### # Qualitative From 3fda6a719d360be412a79f057c3c56450ce8d014 Mon Sep 17 00:00:00 2001 From: Bastian Bechtold <basti@bastibe.de> Date: Fri, 18 May 2018 10:44:12 +0200 Subject: [PATCH 0695/1161] reverses color order of twilight_shifted --- lib/matplotlib/_cm_listed.py | 1 + lib/matplotlib/pyplot.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/_cm_listed.py b/lib/matplotlib/_cm_listed.py index f471a5a5d0a7..cd70b28197b0 100644 --- a/lib/matplotlib/_cm_listed.py +++ b/lib/matplotlib/_cm_listed.py @@ -1799,6 +1799,7 @@ _twilight_shifted_data = (_twilight_data[len(_twilight_data)//2:] + _twilight_data[:len(_twilight_data)//2]) +_twilight_shifted_data.reverse() cmaps = {} for (name, data) in (('magma', _magma_data), diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index b962ea57151d..b4172951a783 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -1816,7 +1816,7 @@ def colormaps(): hsv red-yellow-green-cyan-blue-magenta-red, formed by changing the hue component in the HSV color space twilight perceptually uniform shades of white-blue-black-red-white - twilight_shifted perceptually uniform shades of black-red-white-blue-black + twilight_shifted perceptually uniform shades of black-blue-white-red-black ================ ========================================================= From 076653f784691173e739a4c30d3658ba4781aa3e Mon Sep 17 00:00:00 2001 From: Zac-HD <zac.hatfield.dodds@gmail.com> Date: Sat, 19 May 2018 00:32:29 +1000 Subject: [PATCH 0696/1161] Delete commented-out code --- lib/matplotlib/backends/backend_agg.py | 4 - lib/mpl_toolkits/axisartist/axis_artist.py | 133 +-------------------- 2 files changed, 1 insertion(+), 136 deletions(-) diff --git a/lib/matplotlib/backends/backend_agg.py b/lib/matplotlib/backends/backend_agg.py index 2c5faab43e24..93e08802b654 100644 --- a/lib/matplotlib/backends/backend_agg.py +++ b/lib/matplotlib/backends/backend_agg.py @@ -418,15 +418,11 @@ def draw(self): toolbar = self.toolbar try: - # if toolbar: - # toolbar.set_cursor(cursors.WAIT) self.figure.draw(self.renderer) # A GUI class may be need to update a window using this draw, so # don't forget to call the superclass. super().draw() finally: - # if toolbar: - # toolbar.set_cursor(toolbar._lastCursor) RendererAgg.lock.release() def get_renderer(self, cleared=False): diff --git a/lib/mpl_toolkits/axisartist/axis_artist.py b/lib/mpl_toolkits/axisartist/axis_artist.py index 1eb91ff3af65..271bb612be90 100644 --- a/lib/mpl_toolkits/axisartist/axis_artist.py +++ b/lib/mpl_toolkits/axisartist/axis_artist.py @@ -226,7 +226,6 @@ def __init__(self, ticksize, tick_out=False, *, axis=None, **kwargs): self.set_snap(True) def get_ref_artist(self): - #return self._ref_artist.get_ticklines()[0] return self._ref_artist.majorTicks[0].tick1line def get_color(self): @@ -286,25 +285,6 @@ def draw(self, renderer): size = self._ticksize path_trans = self.get_transform() - # set gc : copied from lines.py -# gc = renderer.new_gc() -# self._set_gc_clip(gc) - -# gc.set_foreground(self.get_color()) -# gc.set_antialiased(self._antialiased) -# gc.set_linewidth(self._linewidth) -# gc.set_alpha(self._alpha) -# if self.is_dashed(): -# cap = self._dashcapstyle -# join = self._dashjoinstyle -# else: -# cap = self._solidcapstyle -# join = self._solidjoinstyle -# gc.set_joinstyle(join) -# gc.set_capstyle(cap) -# gc.set_snap(self.get_snap()) - - gc = renderer.new_gc() gc.set_foreground(self.get_markeredgecolor()) gc.set_linewidth(self.get_markeredgewidth()) @@ -348,7 +328,6 @@ def __init__(self, *kl, **kwargs): self.set_rotation_mode("anchor") self._text_follow_ref_angle = True - #self._offset_ref_angle = 0 def _set_ref_angle(self, a): self._ref_angle = a @@ -404,14 +383,12 @@ def draw(self, renderer): super().draw(renderer) offset_tr.clear() - # restore original properties self.set_transform(tr) self.set_rotation(angle_orig) def get_window_extent(self, renderer): - self._update(renderer) # save original and adjust some properties @@ -434,7 +411,6 @@ def get_window_extent(self, renderer): offset_tr.clear() - # restore original properties self.set_transform(tr) self.set_rotation(angle_orig) @@ -507,7 +483,6 @@ def get_text(self): top=("bottom", "center")) - def set_default_alignment(self, d): if d not in ["left", "right", "top", "bottom"]: raise ValueError('direction must be on of "left", "right", "top", "bottom"') @@ -598,9 +573,7 @@ class TickLabels(AxisLabel, AttributeCopier): # mtext.Text def __init__(self, *, axis_direction="bottom", **kwargs): AxisLabel.__init__(self, **kwargs) self.set_axis_direction(axis_direction) - #self._axis_direction = axis_direction self._axislabel_pad = 0 - #self._extra_pad = 0 # attribute copier def get_ref_artist(self): @@ -692,25 +665,17 @@ def _get_ticklabels_offsets(self, renderer, label_direction): r = max_descent pad = max_ascent + max_descent - #tick_pad = renderer.points_to_pixels(self.get_pad()) - # r : offset - # pad : total height of the ticklabels. This will be used to # calculate the pad for the axislabel. return r, pad - _default_alignments = dict(left=("center", "right"), right=("center", "left"), bottom=("baseline", "center"), top=("baseline", "center")) - - - # set_default_alignments(self, d) - _default_angles = dict(left=90, right=-90, bottom=0, @@ -725,13 +690,10 @@ def draw(self, renderer): r, total_width = self._get_ticklabels_offsets(renderer, self._axis_direction) - #self._set_external_pad(r+self._get_external_pad()) pad = self._get_external_pad() + \ renderer.points_to_pixels(self.get_pad()) self._set_offset_radius(r+pad) - #self._set_offset_radius(r) - for (x, y), a, l in self._locs_angles_labels: if not l.strip(): continue @@ -824,8 +786,6 @@ def draw(self, renderer): super().draw(renderer) - - class AxisArtist(martist.Artist): """ An artist which draws axis (a line along which the n-th axes coord @@ -871,8 +831,6 @@ def __init__(self, axes, self._minortick_visible = True self._minorticklabel_visible = True - - #if self._axis_artist_helper._loc in ["left", "right"]: if axis_direction in ["left", "right"]: axis_name = "ytick" self.axis = axes.yaxis @@ -880,13 +838,9 @@ def __init__(self, axes, axis_name = "xtick" self.axis = axes.xaxis - self._axisline_style = None - - self._axis_direction = axis_direction - self._init_line() self._init_ticks(axis_name, **kw) self._init_offsetText(axis_direction) @@ -939,26 +893,15 @@ def set_axis_direction(self, axis_direction): raise ValueError('direction must be on of "left", "right", "top", "bottom"') self._axis_direction = axis_direction if axis_direction in ["left", "top"]: - #self._set_tick_direction("+") self.set_ticklabel_direction("-") self.set_axislabel_direction("-") else: - #self._set_tick_direction("-") self.set_ticklabel_direction("+") self.set_axislabel_direction("+") self.major_ticklabels.set_axis_direction(axis_direction) self.label.set_axis_direction(axis_direction) - # def _set_tick_direction(self, d): - # if d not in ["+", "-"]: - # raise ValueError('direction must be on of "in", "out"') - - # if d == "+": - # self._tick_add_angle = 0 #get_helper()._extremes=0, 10 - # else: - # self._tick_add_angle = 180 #get_helper()._extremes=0, 10 - def set_ticklabel_direction(self, tick_direction): """ Adjust the direction of the ticklabel. @@ -982,10 +925,6 @@ def invert_ticklabel_direction(self): self.major_ticklabels.invert_axis_direction() self.minor_ticklabels.invert_axis_direction() - # def invert_ticks_direction(self): - # self.major_ticks.set_tick_out(not self.major_ticks.get_tick_out()) - # self.minor_ticks.set_tick_out(not self.minor_ticks.get_tick_out()) - def set_axislabel_direction(self, label_direction): """ Adjust the direction of the axislabel. @@ -1004,7 +943,6 @@ def set_axislabel_direction(self, label_direction): self._axislabel_add_angle = 0 - def get_transform(self): return self.axes.transAxes + self.offset_transform @@ -1040,7 +978,6 @@ def set_axisline_style(self, axisline_style=None, **kw): else: self._axisline_style = AxislineStyle(axisline_style, **kw) - self._init_line() @@ -1078,7 +1015,6 @@ def _init_ticks(self, axis_name, **kw): trans=self._axis_artist_helper.get_tick_transform(self.axes) \ + self.offset_transform - major_tick_size = kw.get("major_tick_size", rcParams['%s.major.size'%axis_name]) major_tick_pad = kw.get("major_tick_pad", @@ -1100,7 +1036,6 @@ def _init_ticks(self, axis_name, **kw): else: size = rcParams['ytick.labelsize'] - fontprops = font_manager.FontProperties(size=size) self.major_ticklabels = TickLabels(size=size, axis=self.axis, @@ -1108,7 +1043,6 @@ def _init_ticks(self, axis_name, **kw): self.minor_ticklabels = TickLabels(size=size, axis=self.axis, axis_direction=self._axis_direction) - self.major_ticklabels.set(figure = self.axes.figure, transform=trans, fontproperties=fontprops) @@ -1120,7 +1054,6 @@ def _init_ticks(self, axis_name, **kw): self.minor_ticklabels.set_pad(minor_tick_pad) - def _get_tick_info(self, tick_iter): """ return ticks_loc_angle, ticklabels_loc_angle_label @@ -1131,7 +1064,6 @@ def _get_tick_info(self, tick_iter): ticks_loc_angle = [] ticklabels_loc_angle_label = [] - tick_add_angle = self._tick_add_angle ticklabel_add_angle = self._ticklabel_add_angle for loc, angle_normal, angle_tangent, label in tick_iter: @@ -1150,8 +1082,6 @@ def _get_tick_info(self, tick_iter): def _update_ticks(self, renderer): - - # set extra pad for major and minor ticklabels: # use ticksize of majorticks even for minor ticks. not clear what is best. @@ -1173,10 +1103,6 @@ def _update_ticks(self, renderer): self.major_ticks.set_locs_angles(tick_loc_angle) self.major_ticklabels.set_locs_angles_labels(ticklabel_loc_angle_label) - #self.major_ticks.draw(renderer) - #self.major_ticklabels.draw(renderer) - - # minor ticks tick_loc_angle, ticklabel_loc_angle_label \ = self._get_tick_info(minortick_iter) @@ -1184,13 +1110,6 @@ def _update_ticks(self, renderer): self.minor_ticks.set_locs_angles(tick_loc_angle) self.minor_ticklabels.set_locs_angles_labels(ticklabel_loc_angle_label) - #self.minor_ticks.draw(renderer) - #self.minor_ticklabels.draw(renderer) - - - #if (self.major_ticklabels.get_visible() or self.minor_ticklabels.get_visible()): - # self._draw_offsetText(renderer) - return self.major_ticklabels.get_window_extents(renderer) @@ -1269,7 +1188,6 @@ def _init_offsetText(self, direction): self.offsetText = mtext.Annotation("", xy=(x,y), xycoords="axes fraction", xytext=(0,0), textcoords="offset points", - #fontproperties = fp, color = rcParams['xtick.color'], verticalalignment=va, horizontalalignment=ha, @@ -1292,24 +1210,17 @@ def _draw_offsetText(self, renderer): def _init_label(self, **kw): - # x in axes coords, y in display coords (to be updated at draw - # time by _update_label_positions) - labelsize = kw.get("labelsize", rcParams['axes.labelsize']) - #labelcolor = kw.get("labelcolor", - # rcParams['axes.labelcolor']) fontprops = font_manager.FontProperties( size=labelsize, weight=rcParams['axes.labelweight']) - textprops = dict(fontproperties = fontprops) - #color = labelcolor) tr = self._axis_artist_helper.get_axislabel_transform(self.axes) \ + self.offset_transform self.label = AxisLabel(0, 0, "__from_axes__", - color = "auto", #rcParams['axes.labelcolor'], + color = "auto", fontproperties=fontprops, axis=self.axis, transform=tr, @@ -1323,17 +1234,9 @@ def _init_label(self, **kw): def _update_label(self, renderer): - if not self.label.get_visible(): return - fontprops = font_manager.FontProperties( - size=rcParams['axes.labelsize'], - weight=rcParams['axes.labelweight']) - - #pad_points = self.major_tick_pad - - #if abs(self._ticklabel_add_angle - self._axislabel_add_angle)%360 > 90: if self._ticklabel_add_angle != self._axislabel_add_angle: if (self.major_ticks.get_visible() and not self.major_ticks.get_tick_out()) \ or \ @@ -1345,10 +1248,6 @@ def _update_label(self, renderer): axislabel_pad = max(self.major_ticklabels._axislabel_pad, self.minor_ticklabels._axislabel_pad) - - #label_offset = axislabel_pad + self.LABELPAD - - #self.label._set_offset_radius(label_offset) self.label._set_external_pad(axislabel_pad) xy, angle_tangent = self._axis_artist_helper.get_axislabel_pos_angle(self.axes) @@ -1356,7 +1255,6 @@ def _update_label(self, renderer): angle_label = angle_tangent - 90 - x, y = xy self.label._set_ref_angle(angle_label+self._axislabel_add_angle) self.label.set(x=x, y=y) @@ -1367,7 +1265,6 @@ def _draw_label(self, renderer): self.label.draw(renderer) def _draw_label2(self, renderer): - if not self.label.get_visible(): return @@ -1375,9 +1272,6 @@ def _draw_label2(self, renderer): size=rcParams['axes.labelsize'], weight=rcParams['axes.labelweight']) - #pad_points = self.major_tick_pad - - #if abs(self._ticklabel_add_angle - self._axislabel_add_angle)%360 > 90: if self._ticklabel_add_angle != self._axislabel_add_angle: if (self.major_ticks.get_visible() and not self.major_ticks.get_tick_out()) \ or \ @@ -1389,9 +1283,6 @@ def _draw_label2(self, renderer): axislabel_pad = max(self.major_ticklabels._axislabel_pad, self.minor_ticklabels._axislabel_pad) - #label_offset = axislabel_pad + self.LABELPAD - - #self.label._set_offset_radius(label_offset) self.label._set_external_pad(axislabel_pad) xy, angle_tangent = self._axis_artist_helper.get_axislabel_pos_angle(self.axes) @@ -1405,12 +1296,10 @@ def _draw_label2(self, renderer): self.label.draw(renderer) - def set_label(self, s): self.label.set_text(s) - def get_tightbbox(self, renderer): if not self.get_visible(): return @@ -1419,20 +1308,15 @@ def get_tightbbox(self, renderer): dpi_cor = renderer.points_to_pixels(1.) self.dpi_transform.clear().scale(dpi_cor, dpi_cor) - bb = [] self._update_ticks(renderer) - #if self.major_ticklabels.get_visible(): bb.extend(self.major_ticklabels.get_window_extents(renderer)) - #if self.minor_ticklabels.get_visible(): bb.extend(self.minor_ticklabels.get_window_extents(renderer)) - self._update_label(renderer) - #if self.label.get_visible(): bb.append(self.label.get_window_extent(renderer)) bb.append(self.offsetText.get_window_extent(renderer)) @@ -1443,14 +1327,6 @@ def get_tightbbox(self, renderer): else: return None - #self._draw_line(renderer) - - #self._draw_ticks(renderer) - - #self._draw_offsetText(renderer) - #self._draw_label(renderer) - - @allow_rasterization def draw(self, renderer): @@ -1465,19 +1341,12 @@ def draw(self, renderer): dpi_cor = renderer.points_to_pixels(1.) self.dpi_transform.clear().scale(dpi_cor, dpi_cor) - self._draw_ticks(renderer) - self._draw_line(renderer) - - #self._draw_offsetText(renderer) self._draw_label(renderer) renderer.close_group(__name__) - #def get_ticklabel_extents(self, renderer): - # pass - def toggle(self, all=None, ticks=None, ticklabels=None, label=None): """ Toggle visibility of ticks, ticklabels, and (axis) label. From 27bde7c7c8bc99f3ec7959f448577557e4840c78 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Fri, 18 May 2018 10:58:25 -0700 Subject: [PATCH 0697/1161] Include template matplotlibrc in package_data. This is necessary to make the tests pass for a non-editable install. --- setupext.py | 1 + 1 file changed, 1 insertion(+) diff --git a/setupext.py b/setupext.py index c1c51832ecee..6d363012eb4e 100644 --- a/setupext.py +++ b/setupext.py @@ -669,6 +669,7 @@ def iter_dir(base): return { 'matplotlib': [ + 'mpl-data/matplotlibrc', *iter_dir('mpl-data/fonts'), *iter_dir('mpl-data/images'), *iter_dir('mpl-data/stylelib'), From a2287b17273c1227ae4cd77a96e37171428d3653 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sat, 19 May 2018 14:39:14 -0700 Subject: [PATCH 0698/1161] Avoid using MacRoman encoding. ... as support for it may be missing in some alternate Python implementations. 1) For fetching the postscript name of a font, we can just use FT_Get_Postscript_Name (the .postscript_name attribute in FT2Font), which is exactly implemented in the same way (see the private sfnt_get_ps_name in the FreeType sources). 2) In ttfFontProperty, we are only looking for ASCII substrings (and MacRoman is not a multibyte encoding), so any ASCII compatible encoding works. The only remaining instance of MacRoman is in the implementation of SVG fonts in the SVG backend, but that feature is itself deprecated. --- lib/matplotlib/backends/backend_pdf.py | 10 +--------- lib/matplotlib/backends/backend_ps.py | 8 ++------ lib/matplotlib/font_manager.py | 15 +++++---------- lib/matplotlib/textpath.py | 8 +------- 4 files changed, 9 insertions(+), 32 deletions(-) diff --git a/lib/matplotlib/backends/backend_pdf.py b/lib/matplotlib/backends/backend_pdf.py index 52c7f2c8b816..c5b7132dbf39 100644 --- a/lib/matplotlib/backends/backend_pdf.py +++ b/lib/matplotlib/backends/backend_pdf.py @@ -1129,15 +1129,7 @@ def embedTTFType42(font, characters, descriptor): # Beginning of main embedTTF function... - # You are lost in a maze of TrueType tables, all different... - sfnt = font.get_sfnt() - try: - ps_name = sfnt[1, 0, 0, 6].decode('mac_roman') # Macintosh scheme - except KeyError: - # Microsoft scheme: - ps_name = sfnt[3, 1, 0x0409, 6].decode('utf-16be') - # (see freetype/ttnameid.h) - ps_name = ps_name.encode('ascii', 'replace') + ps_name = font.postscript_name.encode('ascii', 'replace') ps_name = Name(ps_name) pclt = font.get_sfnt_table('pclt') or {'capHeight': 0, 'xHeight': 0} post = font.get_sfnt_table('post') or {'italicAngle': (0, 0)} diff --git a/lib/matplotlib/backends/backend_ps.py b/lib/matplotlib/backends/backend_ps.py index 26af22f8d978..62699400cac8 100644 --- a/lib/matplotlib/backends/backend_ps.py +++ b/lib/matplotlib/backends/backend_ps.py @@ -708,12 +708,8 @@ def draw_text(self, gc, x, y, s, prop, angle, ismath=False, mtext=None): self.track_characters(font, s) self.set_color(*gc.get_rgb()) - sfnt = font.get_sfnt() - try: - ps_name = sfnt[1, 0, 0, 6].decode('mac_roman') - except KeyError: - ps_name = sfnt[3, 1, 0x0409, 6].decode('utf-16be') - ps_name = ps_name.encode('ascii', 'replace').decode('ascii') + ps_name = (font.postscript_name + .encode('ascii', 'replace').decode('ascii')) self.set_font(ps_name, prop.get_size_in_points()) lastgind = None diff --git a/lib/matplotlib/font_manager.py b/lib/matplotlib/font_manager.py index 791a70087382..7cbe33273fca 100644 --- a/lib/matplotlib/font_manager.py +++ b/lib/matplotlib/font_manager.py @@ -329,16 +329,11 @@ def ttfFontProperty(font): # Styles are: italic, oblique, and normal (default) sfnt = font.get_sfnt() - sfnt2 = sfnt.get((1,0,0,2)) - sfnt4 = sfnt.get((1,0,0,4)) - if sfnt2: - sfnt2 = sfnt2.decode('mac_roman').lower() - else: - sfnt2 = '' - if sfnt4: - sfnt4 = sfnt4.decode('mac_roman').lower() - else: - sfnt4 = '' + # These tables are actually mac_roman-encoded, but mac_roman support may be + # missing in some alternative Python implementations and we are only going + # to look for ASCII substrings, where any ASCII-compatible encoding works. + sfnt2 = sfnt.get((1, 0, 0, 2), b'').decode('latin-1').lower() + sfnt4 = sfnt.get((1, 0, 0, 4), b'').decode('latin-1').lower() if sfnt4.find('oblique') >= 0: style = 'oblique' elif sfnt4.find('italic') >= 0: diff --git a/lib/matplotlib/textpath.py b/lib/matplotlib/textpath.py index 9cc8c6b5e9d2..cd44f1fa0c79 100644 --- a/lib/matplotlib/textpath.py +++ b/lib/matplotlib/textpath.py @@ -56,13 +56,7 @@ def _get_char_id(self, font, ccode): """ Return a unique id for the given font and character-code set. """ - sfnt = font.get_sfnt() - try: - ps_name = sfnt[1, 0, 0, 6].decode('mac_roman') - except KeyError: - ps_name = sfnt[3, 1, 0x0409, 6].decode('utf-16be') - char_id = urllib.parse.quote('%s-%x' % (ps_name, ccode)) - return char_id + return urllib.parse.quote('{}-{}'.format(font.postscript_name, ccode)) def _get_char_id_ps(self, font, ccode): """ From a9c4aec136c0b056d3932d3ed6f19cf5a5260983 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sun, 20 May 2018 13:35:28 -0700 Subject: [PATCH 0699/1161] Remove conditional path for sphinx <1.3 in plot_directive. The oldest version of Sphinx we currenly test as part of CI is 1.3. Support for Py3.4 was only added in sphinx 1.3(b1), so mpl3 (py3.5+) can only work with (at least) sphinx 1.3+ anyways. (http://www.sphinx-doc.org/en/master/changes.html#release-1-3b1-released-oct-10-2014) --- lib/matplotlib/sphinxext/plot_directive.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/lib/matplotlib/sphinxext/plot_directive.py b/lib/matplotlib/sphinxext/plot_directive.py index eae97820bf6e..d0ddcd7d0be5 100644 --- a/lib/matplotlib/sphinxext/plot_directive.py +++ b/lib/matplotlib/sphinxext/plot_directive.py @@ -532,11 +532,6 @@ def get_plot_formats(config): default_dpi = {'png': 80, 'hires.png': 200, 'pdf': 200} formats = [] plot_formats = config.plot_formats - if isinstance(plot_formats, str): - # String Sphinx < 1.3, Split on , to mimic - # Sphinx 1.3 and later. Sphinx 1.3 always - # returns a list. - plot_formats = plot_formats.split(',') for fmt in plot_formats: if isinstance(fmt, str): if ':' in fmt: @@ -544,7 +539,7 @@ def get_plot_formats(config): formats.append((str(suffix), int(dpi))) else: formats.append((fmt, default_dpi.get(fmt, 80))) - elif type(fmt) in (tuple, list) and len(fmt) == 2: + elif isinstance(fmt, (tuple, list)) and len(fmt) == 2: formats.append((str(fmt[0]), int(fmt[1]))) else: raise PlotError('invalid image format "%r" in plot_formats' % fmt) From b1391e1f6079b1c68d9bdbb0d5b7960429f8d2db Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sun, 20 May 2018 00:18:11 -0700 Subject: [PATCH 0700/1161] Trivial fixes. --- examples/statistics/histogram_features.py | 24 +++++------ lib/matplotlib/colors.py | 3 +- lib/matplotlib/patches.py | 47 +++++++-------------- lib/matplotlib/path.py | 2 +- lib/matplotlib/sphinxext/plot_directive.py | 8 ++-- lib/matplotlib/ticker.py | 4 +- pytest.ini | 1 - tools/boilerplate.py | 48 +++++++++------------- 8 files changed, 52 insertions(+), 85 deletions(-) diff --git a/examples/statistics/histogram_features.py b/examples/statistics/histogram_features.py index 0e28a0a22637..5baf7e4b1ef8 100644 --- a/examples/statistics/histogram_features.py +++ b/examples/statistics/histogram_features.py @@ -3,20 +3,20 @@ Demo of the histogram (hist) function with a few features ========================================================= -In addition to the basic histogram, this demo shows a few optional -features: +In addition to the basic histogram, this demo shows a few optional features: - * Setting the number of data bins - * The ``normed`` flag, which normalizes bin heights so that the - integral of the histogram is 1. The resulting histogram is an - approximation of the probability density function. - * Setting the face color of the bars - * Setting the opacity (alpha value). +* Setting the number of data bins. +* The ``normed`` flag, which normalizes bin heights so that the integral of + the histogram is 1. The resulting histogram is an approximation of the + probability density function. +* Setting the face color of the bars. +* Setting the opacity (alpha value). -Selecting different bin counts and sizes can significantly affect the -shape of a histogram. The Astropy docs have a great section on how to -select these parameters: -http://docs.astropy.org/en/stable/visualization/histogram.html +Selecting different bin counts and sizes can significantly affect the shape +of a histogram. The Astropy docs have a great section_ on how to select these +parameters. + +.. _section: http://docs.astropy.org/en/stable/visualization/histogram.html """ import matplotlib diff --git a/lib/matplotlib/colors.py b/lib/matplotlib/colors.py index 80294ec8b2ff..12df09ff5f58 100644 --- a/lib/matplotlib/colors.py +++ b/lib/matplotlib/colors.py @@ -515,8 +515,7 @@ def __call__(self, X, alpha=None, bytes=False): lut = self._lut.copy() # Don't let alpha modify original _lut. if alpha is not None: - alpha = min(alpha, 1.0) # alpha must be between 0 and 1 - alpha = max(alpha, 0.0) + alpha = np.clip(alpha, 0, 1) if bytes: alpha = int(alpha * 255) if (lut[-1] == 0).all(): diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index c77a825baca0..196de06af215 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -1,5 +1,6 @@ import math from numbers import Number +import textwrap import warnings import numpy as np @@ -1797,41 +1798,23 @@ def draw_bbox(bbox, renderer, color='k', trans=None): r.draw(renderer) -def _pprint_table(_table, leadingspace=2): +def _pprint_table(table, leadingspace=2): """ Given the list of list of strings, return a string of REST table format. """ - if leadingspace: - pad = ' ' * leadingspace - else: - pad = '' - - columns = [[] for cell in _table[0]] - - for row in _table: - for column, cell in zip(columns, row): - column.append(cell) - - col_len = [max(len(cell) for cell in column) for column in columns] - - lines = [] - table_formatstr = pad + ' '.join([('=' * cl) for cl in col_len]) - - lines.append('') - lines.append(table_formatstr) - lines.append(pad + ' '.join([cell.ljust(cl) - for cell, cl - in zip(_table[0], col_len)])) - lines.append(table_formatstr) - - lines.extend([(pad + ' '.join([cell.ljust(cl) - for cell, cl - in zip(row, col_len)])) - for row in _table[1:]]) - - lines.append(table_formatstr) - lines.append('') - return "\n".join(lines) + col_len = [max(len(cell) for cell in column) for column in zip(*table)] + table_formatstr = ' '.join('=' * cl for cl in col_len) + lines = [ + '', + table_formatstr, + ' '.join(cell.ljust(cl) for cell, cl in zip(table[0], col_len)), + table_formatstr, + *[' '.join(cell.ljust(cl) for cell, cl in zip(row, col_len)) + for row in table[1:]], + table_formatstr, + '', + ] + return textwrap.indent('\n'.join(lines), ' ' * leadingspace) def _pprint_styles(_styles): diff --git a/lib/matplotlib/path.py b/lib/matplotlib/path.py index 8def34d724e5..589606d777ea 100644 --- a/lib/matplotlib/path.py +++ b/lib/matplotlib/path.py @@ -125,7 +125,7 @@ def __init__(self, vertices, codes=None, _interpolation_steps=1, and codes as read-only arrays. """ vertices = _to_unmasked_float_array(vertices) - if (vertices.ndim != 2) or (vertices.shape[1] != 2): + if vertices.ndim != 2 or vertices.shape[1] != 2: raise ValueError( "'vertices' must be a 2D list or array with shape Nx2") diff --git a/lib/matplotlib/sphinxext/plot_directive.py b/lib/matplotlib/sphinxext/plot_directive.py index eae97820bf6e..e1e3b1f1bd32 100644 --- a/lib/matplotlib/sphinxext/plot_directive.py +++ b/lib/matplotlib/sphinxext/plot_directive.py @@ -779,12 +779,10 @@ def run(arguments, content, options, state_machine, state, lineno): for j, (code_piece, images) in enumerate(results): if options['include-source']: if is_doctest: - lines = [''] - lines += [row.rstrip() for row in code_piece.split('\n')] + lines = ['', *code_piece.splitlines()] else: - lines = ['.. code-block:: python', ''] - lines += [' %s' % row.rstrip() - for row in code_piece.split('\n')] + lines = ['.. code-block:: python', '', + *textwrap.indent(code_piece, ' ').splitlines()] source_code = "\n".join(lines) else: source_code = "" diff --git a/lib/matplotlib/ticker.py b/lib/matplotlib/ticker.py index 3cd7559af9af..70caf9825074 100644 --- a/lib/matplotlib/ticker.py +++ b/lib/matplotlib/ticker.py @@ -1529,9 +1529,7 @@ class FixedLocator(Locator): def __init__(self, locs, nbins=None): self.locs = np.asarray(locs) - self.nbins = nbins - if self.nbins is not None: - self.nbins = max(self.nbins, 2) + self.nbins = max(nbins, 2) if nbins is not None else None def set_params(self, nbins=None): """Set parameters within this locator.""" diff --git a/pytest.ini b/pytest.ini index c3b723fe29c8..42660b6cdee8 100644 --- a/pytest.ini +++ b/pytest.ini @@ -10,7 +10,6 @@ markers = pep8ignore = * E111 E114 E115 E116 E121 E122 E123 E124 E125 E126 E127 E128 E129 E131 E226 E240 E241 E242 E243 E244 E245 E246 E247 E248 E249 E265 E266 E704 W503 - tools/boilerplate.py E501 setup.py E402 setupext.py E301 E302 E501 setup_external_compile.py E302 E711 diff --git a/tools/boilerplate.py b/tools/boilerplate.py index ed8474664770..5480606b03cb 100644 --- a/tools/boilerplate.py +++ b/tools/boilerplate.py @@ -8,37 +8,31 @@ itself, whereas the generatable content must be edited via templates in this file. """ -# We did try to do the wrapping the smart way, -# with callable functions and new.function, but could never get the -# docstrings right for python2.2. See -# http://groups.google.com/group/comp.lang.python/browse_frm/thread/dcd63ec13096a0f6/1b14640f3a4ad3dc?#1b14640f3a4ad3dc -# For some later history, see -# http://thread.gmane.org/gmane.comp.python.matplotlib.devel/7068 + +# Although it is possible to dynamically generate the pyplot functions at +# runtime with the proper signatures, a static pyplot.py is simpler for static +# analysis tools to parse. import inspect from inspect import Signature, Parameter -import os -import random +from pathlib import Path import textwrap -# this line imports the installed copy of matplotlib, and not the local copy +# This line imports the installed copy of matplotlib, and not the local copy. import numpy as np from matplotlib import mlab from matplotlib.axes import Axes -# this is the magic line that must exist in pyplot, after which the boilerplate content will be -# appended -PYPLOT_MAGIC_HEADER = '################# REMAINING CONTENT GENERATED BY boilerplate.py ##############\n' - -PYPLOT_PATH = os.path.join(os.path.dirname(__file__), 'lib', 'matplotlib', - 'pyplot.py') - +# This is the magic line that must exist in pyplot, after which the boilerplate +# content will be appended. +PYPLOT_MAGIC_HEADER = ( + "################# REMAINING CONTENT GENERATED BY boilerplate.py " + "##############\n") AUTOGEN_MSG = """ # Autogenerated by boilerplate.py. Do not edit as changes will be lost.""" - CMAPPABLE_TEMPLATE = AUTOGEN_MSG + """ @_autogen_docstring(Axes.%(real_name)s) def %(func)s%(sig)s: @@ -47,7 +41,6 @@ def %(func)s%(sig)s: return __ret """ - NON_CMAPPABLE_TEMPLATE = AUTOGEN_MSG + """ @docstring.copy_dedent(Axes.%(real_name)s) def %(func)s%(sig)s: @@ -269,25 +262,22 @@ def __repr__(self): def build_pyplot(): - pyplot_path = os.path.join(os.path.dirname(__file__), "..", 'lib', - 'matplotlib', 'pyplot.py') - - pyplot_orig = open(pyplot_path, 'r').readlines() + pyplot_path = Path(__file__).parent / "../lib/matplotlib/pyplot.py" + pyplot_orig = pyplot_path.read_text().splitlines(keepends=True) try: pyplot_orig = pyplot_orig[:pyplot_orig.index(PYPLOT_MAGIC_HEADER) + 1] except IndexError: raise ValueError('The pyplot.py file *must* have the exact line: %s' % PYPLOT_MAGIC_HEADER) - pyplot = open(pyplot_path, 'w') - pyplot.writelines(pyplot_orig) - pyplot.write('\n') - - pyplot.writelines(boilerplate_gen()) - pyplot.write('\n') + with pyplot_path.open('w') as pyplot: + pyplot.writelines(pyplot_orig) + pyplot.write('\n') + pyplot.writelines(boilerplate_gen()) + pyplot.write('\n') if __name__ == '__main__': - # Write the matplotlib.pyplot file + # Write the matplotlib.pyplot file. build_pyplot() From 4ed006e86a5866efcd26fe420e9fda9c462e9752 Mon Sep 17 00:00:00 2001 From: cldssty <huey910@gmail.com> Date: Mon, 21 May 2018 16:43:21 +0100 Subject: [PATCH 0701/1161] stacklevel=3 in warnings.warn() call in _remove_blacklisted_style_params fn --- lib/matplotlib/style/core.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/style/core.py b/lib/matplotlib/style/core.py index b0094eed9d17..27cc8339c242 100644 --- a/lib/matplotlib/style/core.py +++ b/lib/matplotlib/style/core.py @@ -45,7 +45,7 @@ def _remove_blacklisted_style_params(d, warn=True): if warn: warnings.warn( "Style includes a parameter, '{0}', that is not related " - "to style. Ignoring".format(key), stacklevel=2) + "to style. Ignoring".format(key), stacklevel=3) else: o[key] = val return o From 48b851f23c1aa338375531877c2953df52b7e3f5 Mon Sep 17 00:00:00 2001 From: Michael Droettboom <mdboom@gmail.com> Date: Mon, 21 May 2018 14:31:25 -0400 Subject: [PATCH 0702/1161] Don't use exceptions in convert_rect --- src/py_converters.cpp | 51 ++++++++++++++++++------------------------- 1 file changed, 21 insertions(+), 30 deletions(-) diff --git a/src/py_converters.cpp b/src/py_converters.cpp index cc235df2e37b..c79c3586046d 100644 --- a/src/py_converters.cpp +++ b/src/py_converters.cpp @@ -158,45 +158,36 @@ int convert_rect(PyObject *rectobj, void *rectp) rect->x2 = 0.0; rect->y2 = 0.0; } else { - try - { - numpy::array_view<const double, 2> rect_arr(rectobj); + PyArrayObject *rect_arr = (PyArrayObject *)PyArray_ContiguousFromAny( + rectobj, NPY_DOUBLE, 1, 2); + if (rect_arr == NULL) { + return 0; + } - if (rect_arr.dim(0) != 2 || rect_arr.dim(1) != 2) { + if (PyArray_NDIM(rect_arr) == 2) { + if (PyArray_DIM(rect_arr, 0) != 2 || + PyArray_DIM(rect_arr, 1) != 2) { PyErr_SetString(PyExc_ValueError, "Invalid bounding box"); + Py_DECREF(rect_arr); return 0; } - rect->x1 = rect_arr(0, 0); - rect->y1 = rect_arr(0, 1); - rect->x2 = rect_arr(1, 0); - rect->y2 = rect_arr(1, 1); - } - catch (py::exception &) - { - PyErr_Clear(); - - try - { - numpy::array_view<const double, 1> rect_arr(rectobj); - - if (rect_arr.dim(0) != 4) { - PyErr_SetString(PyExc_ValueError, "Invalid bounding box"); - return 0; - } - - rect->x1 = rect_arr(0); - rect->y1 = rect_arr(1); - rect->x2 = rect_arr(2); - rect->y2 = rect_arr(3); - } - catch (py::exception &) - { + } else { // PyArray_NDIM(rect_arr) == 1 + if (PyArray_DIM(rect_arr, 0) != 4) { + PyErr_SetString(PyExc_ValueError, "Invalid bounding box"); + Py_DECREF(rect_arr); return 0; } } - } + double *buff = (double *)PyArray_DATA(rect_arr); + rect->x1 = buff[0]; + rect->y1 = buff[1]; + rect->x2 = buff[2]; + rect->y2 = buff[3]; + + Py_DECREF(rect_arr); + } return 1; } From 8b6229cb5ba8bd5f1d21be410536911c9c80c28c Mon Sep 17 00:00:00 2001 From: Michael Droettboom <mdboom@gmail.com> Date: Mon, 21 May 2018 15:14:05 -0400 Subject: [PATCH 0703/1161] Don't use C++ exceptions in convert_trans_affine --- src/py_converters.cpp | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/src/py_converters.cpp b/src/py_converters.cpp index c79c3586046d..9119df6b6571 100644 --- a/src/py_converters.cpp +++ b/src/py_converters.cpp @@ -327,27 +327,26 @@ int convert_trans_affine(PyObject *obj, void *transp) return 1; } - try - { - numpy::array_view<const double, 2> matrix(obj); + PyArrayObject *array = (PyArrayObject *)PyArray_ContiguousFromAny(obj, NPY_DOUBLE, 2, 2); + if (array == NULL) { + return 0; + } - if (matrix.dim(0) == 3 && matrix.dim(1) == 3) { - trans->sx = matrix(0, 0); - trans->shx = matrix(0, 1); - trans->tx = matrix(0, 2); + if (PyArray_DIM(array, 0) == 3 && PyArray_DIM(array, 1) == 3) { + double *buffer = (double *)PyArray_DATA(array); + trans->sx = buffer[0]; + trans->shx = buffer[1]; + trans->tx = buffer[2]; - trans->shy = matrix(1, 0); - trans->sy = matrix(1, 1); - trans->ty = matrix(1, 2); + trans->shy = buffer[3]; + trans->sy = buffer[4]; + trans->ty = buffer[5]; - return 1; - } - } - catch (py::exception &) - { - return 0; + Py_DECREF(array); + return 1; } + Py_DECREF(array); PyErr_SetString(PyExc_ValueError, "Invalid affine transformation matrix"); return 0; } From 3db5fe2069c0d2db8e1970e6510806ed1839a6a5 Mon Sep 17 00:00:00 2001 From: Michael Droettboom <mdboom@gmail.com> Date: Mon, 21 May 2018 15:14:37 -0400 Subject: [PATCH 0704/1161] Don't use C++ exceptions in Py_affine_transform --- src/_path_wrapper.cpp | 28 +++++++++++++++------------- src/numpy_cpp.h | 31 ++++++++++++++++++++----------- 2 files changed, 35 insertions(+), 24 deletions(-) diff --git a/src/_path_wrapper.cpp b/src/_path_wrapper.cpp index 354097557481..2fd90adb97f5 100644 --- a/src/_path_wrapper.cpp +++ b/src/_path_wrapper.cpp @@ -437,23 +437,25 @@ static PyObject *Py_affine_transform(PyObject *self, PyObject *args, PyObject *k return NULL; } - try { - numpy::array_view<double, 2> vertices(vertices_obj); + PyArrayObject* vertices_arr = (PyArrayObject *)PyArray_ContiguousFromAny(vertices_obj, NPY_DOUBLE, 1, 2); + if (vertices_arr == NULL) { + return NULL; + } + + if (PyArray_NDIM(vertices_arr) == 2) { + numpy::array_view<double, 2> vertices(vertices_arr); npy_intp dims[] = { (npy_intp)vertices.size(), 2 }; numpy::array_view<double, 2> result(dims); CALL_CPP("affine_transform", (affine_transform_2d(vertices, trans, result))); + Py_DECREF(vertices_arr); + return result.pyobj(); + } else { // PyArray_NDIM(vertices_arr) == 1 + numpy::array_view<double, 1> vertices(vertices_arr); + npy_intp dims[] = { (npy_intp)vertices.size() }; + numpy::array_view<double, 1> result(dims); + CALL_CPP("affine_transform", (affine_transform_1d(vertices, trans, result))); + Py_DECREF(vertices_arr); return result.pyobj(); - } catch (py::exception &) { - PyErr_Clear(); - try { - numpy::array_view<double, 1> vertices(vertices_obj); - npy_intp dims[] = { (npy_intp)vertices.size() }; - numpy::array_view<double, 1> result(dims); - CALL_CPP("affine_transform", (affine_transform_1d(vertices, trans, result))); - return result.pyobj(); - } catch (py::exception &) { - return NULL; - } } } diff --git a/src/numpy_cpp.h b/src/numpy_cpp.h index 2218078aee59..cddbcb6597d7 100644 --- a/src/numpy_cpp.h +++ b/src/numpy_cpp.h @@ -398,6 +398,15 @@ class array_view : public detail::array_view_accessors<array_view, T, ND> m_strides = strides; } + array_view(PyArrayObject *arr) + { + m_arr = arr; + Py_XINCREF(arr); + m_shape = PyArray_DIMS(m_arr); + m_strides = PyArray_STRIDES(m_arr); + m_data = (char *)PyArray_BYTES(m_arr); + } + array_view(npy_intp shape[ND]) : m_arr(NULL), m_shape(NULL), m_strides(NULL), m_data(NULL) { PyObject *arr = PyArray_SimpleNew(ND, shape, type_num_of<T>::value); @@ -456,18 +465,18 @@ class array_view : public detail::array_view_accessors<array_view, T, ND> m_data = NULL; m_shape = zeros; m_strides = zeros; - if (PyArray_NDIM(tmp) == 0 && ND == 0) { - m_arr = tmp; - return 1; - } + if (PyArray_NDIM(tmp) == 0 && ND == 0) { + m_arr = tmp; + return 1; + } } - if (PyArray_NDIM(tmp) != ND) { - PyErr_Format(PyExc_ValueError, - "Expected %d-dimensional array, got %d", - ND, - PyArray_NDIM(tmp)); - Py_DECREF(tmp); - return 0; + if (PyArray_NDIM(tmp) != ND) { + PyErr_Format(PyExc_ValueError, + "Expected %d-dimensional array, got %d", + ND, + PyArray_NDIM(tmp)); + Py_DECREF(tmp); + return 0; } /* Copy some of the data to the view object for faster access */ From 82c31a21b93c0903eeafe578fd0eb94c53fbcd4d Mon Sep 17 00:00:00 2001 From: "Nathaniel M. Beaver" <nathanielmbeaver@gmail.com> Date: Tue, 22 May 2018 14:46:13 -0500 Subject: [PATCH 0705/1161] Fix broken link --- tutorials/introductory/images.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/introductory/images.py b/tutorials/introductory/images.py index 4c76ca59bb70..7c818f7d57e7 100644 --- a/tutorials/introductory/images.py +++ b/tutorials/introductory/images.py @@ -136,7 +136,7 @@ lum_img = img[:, :, 0] # This is array slicing. You can read more in the `Numpy tutorial -# <https://docs.scipy.org/doc/numpy-dev/user/quickstart.html>`_. +# <https://docs.scipy.org/doc/numpy/user/quickstart.html>`_. plt.imshow(lum_img) From 71eae40084928284b71575971d713ae449e734ae Mon Sep 17 00:00:00 2001 From: Zac-HD <zac.hatfield.dodds@gmail.com> Date: Sat, 19 May 2018 00:34:27 +1000 Subject: [PATCH 0706/1161] Remove unused imports --- lib/matplotlib/backend_bases.py | 1 - lib/matplotlib/backends/backend_agg.py | 2 +- lib/matplotlib/backends/backend_wxagg.py | 1 - lib/matplotlib/font_manager.py | 1 - lib/matplotlib/rcsetup.py | 3 +-- lib/matplotlib/sphinxext/plot_directive.py | 1 - lib/matplotlib/tests/test_colors.py | 1 - lib/matplotlib/tests/test_constrainedlayout.py | 4 ---- lib/matplotlib/ticker.py | 1 - lib/mpl_toolkits/axisartist/axis_artist.py | 2 -- 10 files changed, 2 insertions(+), 15 deletions(-) diff --git a/lib/matplotlib/backend_bases.py b/lib/matplotlib/backend_bases.py index caf773a1e518..b3b3c59cb2b7 100644 --- a/lib/matplotlib/backend_bases.py +++ b/lib/matplotlib/backend_bases.py @@ -33,7 +33,6 @@ """ from contextlib import contextmanager -from functools import partial import importlib import io import os diff --git a/lib/matplotlib/backends/backend_agg.py b/lib/matplotlib/backends/backend_agg.py index 93e08802b654..ca7a44700bcd 100644 --- a/lib/matplotlib/backends/backend_agg.py +++ b/lib/matplotlib/backends/backend_agg.py @@ -28,7 +28,7 @@ from math import radians, cos, sin from matplotlib import cbook, rcParams, __version__ from matplotlib.backend_bases import ( - _Backend, FigureCanvasBase, FigureManagerBase, RendererBase, cursors) + _Backend, FigureCanvasBase, FigureManagerBase, RendererBase) from matplotlib.font_manager import findfont, get_font from matplotlib.ft2font import (LOAD_FORCE_AUTOHINT, LOAD_NO_HINTING, LOAD_DEFAULT, LOAD_NO_AUTOHINT) diff --git a/lib/matplotlib/backends/backend_wxagg.py b/lib/matplotlib/backends/backend_wxagg.py index 054c87d72630..52b338f5538a 100644 --- a/lib/matplotlib/backends/backend_wxagg.py +++ b/lib/matplotlib/backends/backend_wxagg.py @@ -1,6 +1,5 @@ import wx -import matplotlib from .backend_agg import FigureCanvasAgg from .backend_wx import ( _BackendWx, _FigureCanvasWxBase, FigureFrameWx, diff --git a/lib/matplotlib/font_manager.py b/lib/matplotlib/font_manager.py index 791a70087382..16a21f05461f 100644 --- a/lib/matplotlib/font_manager.py +++ b/lib/matplotlib/font_manager.py @@ -31,7 +31,6 @@ # - 'light' is an invalid weight value, remove it. # - update_fonts not implemented -from collections import Iterable from functools import lru_cache import json import logging diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index 1b92692e2f94..594154b5e088 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -17,11 +17,10 @@ from functools import reduce import operator import os -import warnings import re from matplotlib import cbook -from matplotlib.cbook import mplDeprecation, deprecated, ls_mapper +from matplotlib.cbook import ls_mapper from matplotlib.fontconfig_pattern import parse_fontconfig_pattern from matplotlib.colors import is_color_like diff --git a/lib/matplotlib/sphinxext/plot_directive.py b/lib/matplotlib/sphinxext/plot_directive.py index eae97820bf6e..47e507b4cded 100644 --- a/lib/matplotlib/sphinxext/plot_directive.py +++ b/lib/matplotlib/sphinxext/plot_directive.py @@ -155,7 +155,6 @@ import jinja2 # Sphinx dependency. import matplotlib -import matplotlib.cbook as cbook try: with warnings.catch_warnings(record=True): warnings.simplefilter("error", UserWarning) diff --git a/lib/matplotlib/tests/test_colors.py b/lib/matplotlib/tests/test_colors.py index 78febfbc2d0d..bbbc712c7399 100644 --- a/lib/matplotlib/tests/test_colors.py +++ b/lib/matplotlib/tests/test_colors.py @@ -1,6 +1,5 @@ import copy import itertools -import warnings import numpy as np import pytest diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py index 7e922a7b9383..07950ee38bf5 100644 --- a/lib/matplotlib/tests/test_constrainedlayout.py +++ b/lib/matplotlib/tests/test_constrainedlayout.py @@ -1,12 +1,8 @@ -import warnings - import numpy as np import pytest from matplotlib.testing.decorators import image_comparison import matplotlib.pyplot as plt -from matplotlib.offsetbox import AnchoredOffsetbox, DrawingArea -from matplotlib.patches import Rectangle import matplotlib.gridspec as gridspec from matplotlib import ticker, rcParams diff --git a/lib/matplotlib/ticker.py b/lib/matplotlib/ticker.py index 3cd7559af9af..8adfbabfcccb 100644 --- a/lib/matplotlib/ticker.py +++ b/lib/matplotlib/ticker.py @@ -172,7 +172,6 @@ from matplotlib import rcParams from matplotlib import cbook from matplotlib import transforms as mtransforms -from matplotlib.cbook import mplDeprecation import warnings diff --git a/lib/mpl_toolkits/axisartist/axis_artist.py b/lib/mpl_toolkits/axisartist/axis_artist.py index 271bb612be90..5ce41173442f 100644 --- a/lib/mpl_toolkits/axisartist/axis_artist.py +++ b/lib/mpl_toolkits/axisartist/axis_artist.py @@ -101,8 +101,6 @@ from matplotlib.artist import allow_rasterization -import warnings - import numpy as np From ad389f6f2bcf7bdf1956baadd9e7593a8e1fc9a8 Mon Sep 17 00:00:00 2001 From: Zac-HD <zac.hatfield.dodds@gmail.com> Date: Sun, 6 May 2018 19:50:09 +1000 Subject: [PATCH 0707/1161] Consistent handling of *args in Axes.stem --- doc/api/next_api_changes/2018-05-06-ZHD.rst | 7 +++++++ lib/matplotlib/axes/_axes.py | 12 +++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) create mode 100644 doc/api/next_api_changes/2018-05-06-ZHD.rst diff --git a/doc/api/next_api_changes/2018-05-06-ZHD.rst b/doc/api/next_api_changes/2018-05-06-ZHD.rst new file mode 100644 index 000000000000..61a8886c4890 --- /dev/null +++ b/doc/api/next_api_changes/2018-05-06-ZHD.rst @@ -0,0 +1,7 @@ +Consistent handling of \*args in Axes.stem +------------------------------------------ + +:meth:`matplotlib.axex.Axes.stem` now raises TypeError when passed +unhandled positional arguments. If two or more arguments are passed +(ie X, Y, [linefmt], ...) and Y cannot be cast to an array, an error +will be raised instead of treating X as Y and Y as linefmt. diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index d6e4f50a2d7e..4e7551872882 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -2350,17 +2350,19 @@ def stem(self, *args, linefmt=None, markerfmt=None, basefmt=None, which inspired this method. """ - # Assume there's at least one data array + if not 1 <= len(args) <= 5: + raise TypeError('stem expected between 1 and 5 positional ' + 'arguments, got {}'.format(args)) + y = np.asarray(args[0]) args = args[1:] # Try a second one - try: - x, y = y, np.asarray(args[0], dtype=float) - except (IndexError, ValueError): - # The second array doesn't make sense, or it doesn't exist + if not args: x = np.arange(len(y)) else: + x = y + y = np.asarray(args[0], dtype=float) args = args[1:] # defaults for formats From 51a93f0f0b5bf286160c2f7d5a6c1c9c47e83f81 Mon Sep 17 00:00:00 2001 From: Zac-HD <zac.hatfield.dodds@gmail.com> Date: Sat, 19 May 2018 00:06:23 +1000 Subject: [PATCH 0708/1161] De-duplicate test names --- lib/matplotlib/tests/test_mlab.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/tests/test_mlab.py b/lib/matplotlib/tests/test_mlab.py index d336fea01ff7..cd2c54b71b25 100644 --- a/lib/matplotlib/tests/test_mlab.py +++ b/lib/matplotlib/tests/test_mlab.py @@ -1119,7 +1119,7 @@ def test_detrend_detrend_linear_1d_slope_off_axis1(self): res = mlab.detrend(input, key=mlab.detrend_linear, axis=0) assert_allclose(res, targ, atol=self.atol) - def test_detrend_str_linear_2d_slope_off_axis0(self): + def test_detrend_str_linear_2d_slope_off_axis0_notranspose(self): arri = [self.sig_off, self.sig_slope, self.sig_slope + self.sig_off] @@ -1131,7 +1131,7 @@ def test_detrend_str_linear_2d_slope_off_axis0(self): res = mlab.detrend(input, key='linear', axis=1) assert_allclose(res, targ, atol=self.atol) - def test_detrend_detrend_linear_1d_slope_off_axis1(self): + def test_detrend_detrend_linear_1d_slope_off_axis1_notranspose(self): arri = [self.sig_off, self.sig_slope, self.sig_slope + self.sig_off] From c66476e0ba6bf78c2a213ec6fcaec99ac248ea59 Mon Sep 17 00:00:00 2001 From: Bastian Bechtold <basti@bastibe.de> Date: Wed, 23 May 2018 09:03:02 +0200 Subject: [PATCH 0709/1161] renames "wrapping" to "cyclic" color maps --- ...ping_colormaps.rst => cyclic_colormaps.rst} | 4 ++-- examples/color/colormap_reference.py | 2 +- tutorials/colors/colormaps.py | 18 +++++++++--------- 3 files changed, 12 insertions(+), 12 deletions(-) rename doc/users/next_whats_new/{wrapping_colormaps.rst => cyclic_colormaps.rst} (91%) diff --git a/doc/users/next_whats_new/wrapping_colormaps.rst b/doc/users/next_whats_new/cyclic_colormaps.rst similarity index 91% rename from doc/users/next_whats_new/wrapping_colormaps.rst rename to doc/users/next_whats_new/cyclic_colormaps.rst index 97baf23e14a7..361aa789c835 100644 --- a/doc/users/next_whats_new/wrapping_colormaps.rst +++ b/doc/users/next_whats_new/cyclic_colormaps.rst @@ -1,5 +1,5 @@ -Wrapping colormaps ------------------- +Cyclic colormaps +---------------- Two new colormaps named 'twilight' and 'twilight_shifted' were added. These colormaps start and end on the same color, and have two diff --git a/examples/color/colormap_reference.py b/examples/color/colormap_reference.py index 7969709a8f44..aee057b6da49 100644 --- a/examples/color/colormap_reference.py +++ b/examples/color/colormap_reference.py @@ -29,7 +29,7 @@ ('Diverging', [ 'PiYG', 'PRGn', 'BrBG', 'PuOr', 'RdGy', 'RdBu', 'RdYlBu', 'RdYlGn', 'Spectral', 'coolwarm', 'bwr', 'seismic']), - ('Wrapping', ['twilight', 'twilight_shifted', 'hsv']), + ('Cyclic', ['twilight', 'twilight_shifted', 'hsv']), ('Qualitative', [ 'Pastel1', 'Pastel2', 'Paired', 'Accent', 'Dark2', 'Set1', 'Set2', 'Set3', diff --git a/tutorials/colors/colormaps.py b/tutorials/colors/colormaps.py index cd813aa5acd4..42a96fd08f38 100644 --- a/tutorials/colors/colormaps.py +++ b/tutorials/colors/colormaps.py @@ -56,7 +56,7 @@ middle value, such as topography or when the data deviates around zero. -3. Wrapping: change in lightness of two different colors that meet in +3. Cyclic: change in lightness of two different colors that meet in the middle and beginning/end at an unsaturated color; should be used for values that wrap around at the endpoints, such as phase angle, wind direction, or time of day. @@ -130,16 +130,16 @@ 'RdYlBu', 'RdYlGn', 'Spectral', 'coolwarm', 'bwr', 'seismic'] ############################################################################### -# Wrapping -# -------- +# Cyclic +# ------ # -# For Wrapping maps, we want to start and end on the same color, and meet a +# For Cyclic maps, we want to start and end on the same color, and meet a # symmetric center point in the middle. :math:`L^*` should change monotonically # from start to middle, and inversely from middle to end. It should be symmetric # on the increasing and decreasing side, and only differ in hue. At the ends and # middle, :math:`L^*` will reverse direction, which should be smoothed in # :math:`L^*` space to reduce artifacts. See [kovesi-colormaps]_ for more -# information on the design of wrapping maps. +# information on the design of cyclic maps. # # The often-used HSV colormap is included in this set of colormaps, although it # is not symmetric to a center point. Additionally, the :math:`L^*` values vary @@ -147,7 +147,7 @@ # for viewers to see perceptually. See an extension on this idea at # [mycarta-jet]_. -cmaps['Wrapping'] = ['twilight', 'twilight_shifted', 'hsv'] +cmaps['Cyclic'] = ['twilight', 'twilight_shifted', 'hsv'] ############################################################################### # Qualitative @@ -231,12 +231,12 @@ def plot_color_gradients(cmap_category, cmap_list, nrows): # Number of colormap per subplot for particular cmap categories _DSUBS = {'Perceptually Uniform Sequential': 5, 'Sequential': 6, - 'Sequential (2)': 6, 'Diverging': 6, 'Wrapping': 3, + 'Sequential (2)': 6, 'Diverging': 6, 'Cyclic': 3, 'Qualitative': 4, 'Miscellaneous': 6} # Spacing between the colormaps of a subplot _DC = {'Perceptually Uniform Sequential': 1.4, 'Sequential': 0.7, - 'Sequential (2)': 1.4, 'Diverging': 1.4, 'Wrapping': 1.4, + 'Sequential (2)': 1.4, 'Diverging': 1.4, 'Cyclic': 1.4, 'Qualitative': 1.4, 'Miscellaneous': 1.4} # Indices to step through colormap @@ -286,7 +286,7 @@ def plot_color_gradients(cmap_category, cmap_list, nrows): if cmap_category in ('Perceptually Uniform Sequential', 'Sequential'): locs.append(x[-1] + j*dc) - elif cmap_category in ('Diverging', 'Qualitative', 'Wrapping', + elif cmap_category in ('Diverging', 'Qualitative', 'Cyclic', 'Miscellaneous', 'Sequential (2)'): locs.append(x[int(x.size/2.)] + j*dc) From 77c90fa7421ff303fce013db409f3985f688c103 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Wed, 23 May 2018 14:29:58 +0200 Subject: [PATCH 0710/1161] remove usage of deprecated *lim kwargs from set_*lim --- examples/scales/log_demo.py | 2 +- lib/matplotlib/axes/_axes.py | 4 ++-- lib/matplotlib/tests/test_axes.py | 2 +- lib/matplotlib/tests/test_simplification.py | 6 +++--- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/examples/scales/log_demo.py b/examples/scales/log_demo.py index 3fde3d0a6d6e..19bfb858983e 100644 --- a/examples/scales/log_demo.py +++ b/examples/scales/log_demo.py @@ -40,7 +40,7 @@ ax4.set(title='Errorbars go negative') ax4.errorbar(x, y, xerr=0.1 * x, yerr=5.0 + 0.75 * y) # ylim must be set after errorbar to allow errorbar to autoscale limits -ax4.set_ylim(ymin=0.1) +ax4.set_ylim(bottom=0.1) fig.tight_layout() plt.show() diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 4e7551872882..9a0ddf4165d2 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -7307,8 +7307,8 @@ def spy(self, Z, precision=0, marker=None, markersize=None, marker=marker, markersize=markersize, **kwargs) self.add_line(marks) nr, nc = Z.shape - self.set_xlim(xmin=-0.5, xmax=nc - 0.5) - self.set_ylim(ymin=nr - 0.5, ymax=-0.5) + self.set_xlim(-0.5, nc - 0.5) + self.set_ylim(nr - 0.5, -0.5) self.set_aspect(aspect) ret = marks self.title.set_y(1.05) diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index bd6961b16d75..efe61d3d1dda 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -1577,7 +1577,7 @@ def test_hist_step_filled(): for kg, _type, ax in zip(kwargs, types, axes): ax.hist(x, n_bins, histtype=_type, stacked=True, **kg) ax.set_title('%s/%s' % (kg, _type)) - ax.set_ylim(ymin=-50) + ax.set_ylim(bottom=-50) patches = axes[0].patches assert all(p.get_facecolor() == p.get_edgecolor() for p in patches) diff --git a/lib/matplotlib/tests/test_simplification.py b/lib/matplotlib/tests/test_simplification.py index 5f8bb4800b83..1f0a8d76e63e 100644 --- a/lib/matplotlib/tests/test_simplification.py +++ b/lib/matplotlib/tests/test_simplification.py @@ -33,7 +33,7 @@ def test_overflow(): fig, ax = plt.subplots() ax.plot(x, y) - ax.set_xlim(xmin=2, xmax=6) + ax.set_xlim(2, 6) @image_comparison(baseline_images=['clipping_diamond'], remove_text=True) @@ -43,8 +43,8 @@ def test_diamond(): fig, ax = plt.subplots() ax.plot(x, y) - ax.set_xlim(xmin=-0.6, xmax=0.6) - ax.set_ylim(ymin=-0.6, ymax=0.6) + ax.set_xlim(-0.6, 0.6) + ax.set_ylim(-0.6, 0.6) def test_noise(): From bf0a355f306da802c82bedf1a28b6c01c8812e7a Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Wed, 23 May 2018 14:34:59 +0200 Subject: [PATCH 0711/1161] adapt pyplot.xlim/ylim docstrings to set_x/ylim parameter naming --- lib/matplotlib/pyplot.py | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index cbd5371d32a0..58ddb1957be8 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -1297,20 +1297,21 @@ def xlim(*args, **kwargs): Call signatures:: - xmin, xmax = xlim() # return the current xlim - xlim((xmin, xmax)) # set the xlim to xmin, xmax - xlim(xmin, xmax) # set the xlim to xmin, xmax + left, right = xlim() # return the current xlim + xlim((left, right)) # set the xlim to left, right + xlim(left, right) # set the xlim to left, right - If you do not specify args, you can pass *xmin* or *xmax* as kwargs, i.e.:: + If you do not specify args, you can pass *left* or *right* as kwargs, + i.e.:: - xlim(xmax=3) # adjust the max leaving min unchanged - xlim(xmin=1) # adjust the min leaving max unchanged + xlim(right=3) # adjust the right leaving left unchanged + xlim(left=1) # adjust the left leaving right unchanged Setting limits turns autoscaling off for the x-axis. Returns ------- - xmin, xmax + left, right A tuple of the new x-axis limits. Notes @@ -1333,21 +1334,21 @@ def ylim(*args, **kwargs): Call signatures:: - ymin, ymax = ylim() # return the current ylim - ylim((ymin, ymax)) # set the ylim to ymin, ymax - ylim(ymin, ymax) # set the ylim to ymin, ymax + bottom, top = ylim() # return the current ylim + ylim((bottom, top)) # set the ylim to bottom, top + ylim(bottom, top) # set the ylim to bottom, top - If you do not specify args, you can alternatively pass *ymin* or *ymax* as - kwargs, i.e.:: + If you do not specify args, you can alternatively pass *bottom* or + *top* as kwargs, i.e.:: - ylim(ymax=3) # adjust the max leaving min unchanged - ylim(ymin=1) # adjust the min leaving max unchanged + ylim(top=3) # adjust the top leaving bottom unchanged + ylim(bottom=1) # adjust the top leaving bottom unchanged Setting limits turns autoscaling off for the y-axis. Returns ------- - ymin, ymax + bottom, top A tuple of the new y-axis limits. Notes From 10cb6fb8f043a3bc76f0455caa2b367fe6aaba6b Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Wed, 23 May 2018 20:59:20 +0200 Subject: [PATCH 0712/1161] Use sphinx builtin only directive instead of custom one. --- doc/api/index.rst | 2 +- doc/conf.py | 1 - doc/contents.rst | 4 +- doc/devel/MEP/index.rst | 2 +- doc/devel/index.rst | 2 +- doc/faq/howto_faq.rst | 6 +- doc/faq/index.rst | 2 +- doc/users/index.rst | 2 +- lib/matplotlib/image.py | 2 +- lib/matplotlib/sphinxext/only_directives.py | 70 --------------------- lib/matplotlib/sphinxext/plot_directive.py | 2 +- tutorials/text/mathtext.py | 2 +- tutorials/text/pgf.py | 4 +- 13 files changed, 15 insertions(+), 86 deletions(-) delete mode 100644 lib/matplotlib/sphinxext/only_directives.py diff --git a/doc/api/index.rst b/doc/api/index.rst index 04582cc8982b..685d2f457cff 100644 --- a/doc/api/index.rst +++ b/doc/api/index.rst @@ -4,7 +4,7 @@ The Matplotlib API #################### -.. htmlonly:: +.. only:: html :Release: |version| :Date: |today| diff --git a/doc/conf.py b/doc/conf.py index a0aa200b2764..9275fcc2b7b3 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -38,7 +38,6 @@ 'numpydoc', # Needs to be loaded *after* autodoc. 'sphinx_gallery.gen_gallery', 'matplotlib.sphinxext.mathmpl', - 'matplotlib.sphinxext.only_directives', 'matplotlib.sphinxext.plot_directive', 'sphinxext.custom_roles', 'sphinxext.github', diff --git a/doc/contents.rst b/doc/contents.rst index 104e143a07c2..140b365b6ca5 100644 --- a/doc/contents.rst +++ b/doc/contents.rst @@ -3,7 +3,7 @@ Overview ======== -.. htmlonly:: +.. only:: html :Release: |version| :Date: |today| @@ -23,7 +23,7 @@ Overview devel/index.rst glossary/index.rst -.. htmlonly:: +.. only:: html * :ref:`genindex` * :ref:`modindex` diff --git a/doc/devel/MEP/index.rst b/doc/devel/MEP/index.rst index 06c454ad240f..6753626aa567 100644 --- a/doc/devel/MEP/index.rst +++ b/doc/devel/MEP/index.rst @@ -2,7 +2,7 @@ .. include:: README.rst -.. htmlonly:: +.. only:: html :Release: |version| :Date: |today| diff --git a/doc/devel/index.rst b/doc/devel/index.rst index 76a1a5e5b6f2..ff190d0288c0 100644 --- a/doc/devel/index.rst +++ b/doc/devel/index.rst @@ -4,7 +4,7 @@ The Matplotlib Developers' Guide ################################ -.. htmlonly:: +.. only:: html :Release: |version| :Date: |today| diff --git a/doc/faq/howto_faq.rst b/doc/faq/howto_faq.rst index cbfe0842433f..09fc7d8c1007 100644 --- a/doc/faq/howto_faq.rst +++ b/doc/faq/howto_faq.rst @@ -350,7 +350,7 @@ and patches, respectively:: line, = ax.plot(x, y, zorder=10) -.. htmlonly:: +.. only:: html See :ref:`sphx_glr_gallery_misc_zorder_demo.py` for a complete example. @@ -369,7 +369,7 @@ some ratio which controls the ratio:: ax = fig.add_subplot(111, aspect='equal') -.. htmlonly:: +.. only:: html See :ref:`sphx_glr_gallery_subplots_axes_and_figures_axis_equal_demo.py` for a complete example. @@ -413,7 +413,7 @@ locators as desired because the two axes are independent. plt.show() -.. htmlonly:: +.. only:: html See :ref:`sphx_glr_gallery_api_two_scales.py` for a complete example diff --git a/doc/faq/index.rst b/doc/faq/index.rst index 12feae4ed01c..26b171ed0b48 100644 --- a/doc/faq/index.rst +++ b/doc/faq/index.rst @@ -4,7 +4,7 @@ The Matplotlib FAQ ################## -.. htmlonly:: +.. only:: html :Release: |version| :Date: |today| diff --git a/doc/users/index.rst b/doc/users/index.rst index 84590f9d29a0..3dd0ed44f74b 100644 --- a/doc/users/index.rst +++ b/doc/users/index.rst @@ -4,7 +4,7 @@ User's Guide ############ -.. htmlonly:: +.. only:: html :Release: |version| :Date: |today| diff --git a/lib/matplotlib/image.py b/lib/matplotlib/image.py index be3dbf528d4f..84de7fd5db90 100644 --- a/lib/matplotlib/image.py +++ b/lib/matplotlib/image.py @@ -1474,7 +1474,7 @@ def thumbnail(infile, thumbfile, scale=0.1, interpolation='bilinear', See examples/misc/image_thumbnail.py. - .. htmlonly:: + .. only:: html :ref:`sphx_glr_gallery_misc_image_thumbnail_sgskip.py` diff --git a/lib/matplotlib/sphinxext/only_directives.py b/lib/matplotlib/sphinxext/only_directives.py deleted file mode 100644 index 2b7bbc887112..000000000000 --- a/lib/matplotlib/sphinxext/only_directives.py +++ /dev/null @@ -1,70 +0,0 @@ -# -# A pair of directives for inserting content that will only appear in -# either html or latex. -# - -from docutils.nodes import Body, Element - - -class only_base(Body, Element): - def dont_traverse(self, *args, **kwargs): - return [] - -class html_only(only_base): - pass - -class latex_only(only_base): - pass - -def run(content, node_class, state, content_offset): - text = '\n'.join(content) - node = node_class(text) - state.nested_parse(content, content_offset, node) - return [node] - -def html_only_directive(name, arguments, options, content, lineno, - content_offset, block_text, state, state_machine): - return run(content, html_only, state, content_offset) - -def latex_only_directive(name, arguments, options, content, lineno, - content_offset, block_text, state, state_machine): - return run(content, latex_only, state, content_offset) - -def builder_inited(app): - if app.builder.name == 'html': - latex_only.traverse = only_base.dont_traverse - else: - html_only.traverse = only_base.dont_traverse - - -def setup(app): - app.add_directive('htmlonly', html_only_directive, True, (0, 0, 0)) - app.add_directive('latexonly', latex_only_directive, True, (0, 0, 0)) - - # This will *really* never see the light of day As it turns out, - # this results in "broken" image nodes since they never get - # processed, so best not to do this. - # app.connect('builder-inited', builder_inited) - - # Add visit/depart methods to HTML-Translator: - def visit_perform(self, node): - pass - - def depart_perform(self, node): - pass - - def visit_ignore(self, node): - node.children = [] - - def depart_ignore(self, node): - node.children = [] - - app.add_node(html_only, - html=(visit_perform, depart_perform), - latex=(visit_ignore, depart_ignore)) - app.add_node(latex_only, - latex=(visit_perform, depart_perform), - html=(visit_ignore, depart_ignore)) - - metadata = {'parallel_read_safe': True, 'parallel_write_safe': True} - return metadata diff --git a/lib/matplotlib/sphinxext/plot_directive.py b/lib/matplotlib/sphinxext/plot_directive.py index e36ca70361a0..87bde40b504e 100644 --- a/lib/matplotlib/sphinxext/plot_directive.py +++ b/lib/matplotlib/sphinxext/plot_directive.py @@ -412,7 +412,7 @@ def remove_coding(text): """ exception_template = """ -.. htmlonly:: +.. only:: html [`source code <%(linkdir)s/%(basename)s.py>`__] diff --git a/tutorials/text/mathtext.py b/tutorials/text/mathtext.py index f18d0732edc9..e99df50c559f 100644 --- a/tutorials/text/mathtext.py +++ b/tutorials/text/mathtext.py @@ -221,7 +221,7 @@ # ``\mathrm{\mathsf{sansserif}}`` :math-stix:`\mathrm{\mathsf{sansserif}}` # ====================================== ========================================= # -# .. htmlonly:: +# .. only:: html # # ====================================== ========================================= # ``\mathcircled{circled}`` :math-stix:`\mathcircled{circled}` diff --git a/tutorials/text/pgf.py b/tutorials/text/pgf.py index 3b2682a723e8..8d12430a0bf6 100644 --- a/tutorials/text/pgf.py +++ b/tutorials/text/pgf.py @@ -110,12 +110,12 @@ if you want to do the font configuration yourself instead of using the fonts specified in the rc parameters, make sure to disable ``pgf.rcfonts``. -.. htmlonly:: +.. only:: html .. literalinclude:: ../../gallery/userdemo/pgf_preamble_sgskip.py :end-before: plt.savefig -.. latexonly:: +.. only:: latex .. literalinclude:: ../../gallery/userdemo/pgf_preamble_sgskip.py :end-before: import matplotlib.pyplot as plt From 7867676e000f940afa12a4b3eee3fd3088072288 Mon Sep 17 00:00:00 2001 From: cclauss <cclauss@bluewin.ch> Date: Thu, 24 May 2018 09:07:21 +0200 Subject: [PATCH 0713/1161] Undefined name: cbook --> matplotlib.cbook Use the _fully qualified name_ because __matplotlib__ is currently imported but __matplotlib.cbook__ is not. flake8 testing of https://github.com/matplotlib/matplotlib on Python 3.6.3 $ __flake8 . --count --select=E901,E999,F821,F822,F823 --show-source --statistics__ ``` ./lib/matplotlib/sphinxext/plot_directive.py:341:5: F821 undefined name 'cbook' cbook.warn_deprecated('3.0', name='remove_coding', removal='3.1') ^ 1 F821 undefined name 'cbook' 1 ``` --- lib/matplotlib/sphinxext/plot_directive.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/sphinxext/plot_directive.py b/lib/matplotlib/sphinxext/plot_directive.py index e36ca70361a0..8451d4ef3308 100644 --- a/lib/matplotlib/sphinxext/plot_directive.py +++ b/lib/matplotlib/sphinxext/plot_directive.py @@ -164,7 +164,7 @@ plt.switch_backend("Agg") else: import matplotlib.pyplot as plt -from matplotlib import _pylab_helpers +from matplotlib import _pylab_helpers, cbook __version__ = 2 From f7d75fffd98bf1301ae1e806576543b1ee37c911 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Thu, 24 May 2018 13:15:13 -0700 Subject: [PATCH 0714/1161] Re-remove six from INSTALL.rst. Also group the dependencies in 1) non-pip installable, 2) setup-time dependencies, 3) run-time dependencies (without actually marking the groups, that seems a bit overkill). --- INSTALL.rst | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/INSTALL.rst b/INSTALL.rst index bda6843ae3d0..d83228dfafd1 100644 --- a/INSTALL.rst +++ b/INSTALL.rst @@ -136,16 +136,15 @@ Dependencies Matplotlib requires the following dependencies: * `Python <https://www.python.org/downloads/>`_ (>= 3.5) +* `FreeType <https://www.freetype.org/>`_ (>= 2.3) +* `libpng <http://www.libpng.org>`_ (>= 1.2) * `NumPy <http://www.numpy.org>`_ (>= |minimum_numpy_version|) * `setuptools <https://setuptools.readthedocs.io/en/latest/>`_ +* `cycler <http://matplotlib.org/cycler/>`_ (>= 0.10.0) * `dateutil <https://pypi.python.org/pypi/python-dateutil>`_ (>= 2.1) +* `kiwisolver <https://github.com/nucleic/kiwi>`_ (>= 1.0.0) * `pyparsing <https://pyparsing.wikispaces.com/>`_ -* `libpng <http://www.libpng.org>`_ (>= 1.2) * `pytz <http://pytz.sourceforge.net/>`_ -* `FreeType <https://www.freetype.org/>`_ (>= 2.3) -* `cycler <http://matplotlib.org/cycler/>`_ (>= 0.10.0) -* `six <https://pypi.python.org/pypi/six>`_ (>= 1.10) -* `kiwisolver <https://github.com/nucleic/kiwi>`_ (>= 1.0.0) Optionally, you can also install a number of packages to enable better user interface toolkits. See :ref:`what-is-a-backend` for more details on the From 236a0f22bc1465e06d4be0d3a9367c22719ab67f Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Wed, 23 May 2018 20:12:52 -0700 Subject: [PATCH 0715/1161] Fix a bunch of doc/comment typos in patches.py. Also some small code cleanups there. The alias getters are already defined by cbook._define_aliases. --- .../2018-02-15-AL-deprecations.rst | 1 + lib/matplotlib/patches.py | 257 +++++++----------- 2 files changed, 97 insertions(+), 161 deletions(-) diff --git a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst index 635eb2b470f2..c629949aeb00 100644 --- a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst +++ b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst @@ -33,6 +33,7 @@ The following classes, methods, functions, and attributes are deprecated: - ``_ImageBase.iterpnames``, use the ``interpolation_names`` property instead. (this affects classes that inherit from ``_ImageBase`` including :class:`FigureImage`, :class:`BboxImage`, and :class:`AxesImage`), +- ``patches.Polygon.xy``, - ``texmanager.dvipng_hack_alpha``, - ``text.Annotation.arrow``, diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index 196de06af215..a6120d645008 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -1,3 +1,4 @@ +import functools import math from numbers import Number import textwrap @@ -8,9 +9,10 @@ import matplotlib as mpl from . import artist, cbook, colors, docstring, lines as mlines, transforms from .bezier import ( - concatenate_paths, get_cos_sin, get_intersection, get_parallels, - inside_circle, make_path_regular, make_wedged_bezier2, - split_bezier_intersecting_with_closedpath, split_path_inout) + NonIntersectingPathException, concatenate_paths, get_cos_sin, + get_intersection, get_parallels, inside_circle, make_path_regular, + make_wedged_bezier2, split_bezier_intersecting_with_closedpath, + split_path_inout) from .path import Path @@ -211,28 +213,24 @@ def get_antialiased(self): Returns True if the :class:`Patch` is to be drawn with antialiasing. """ return self._antialiased - get_aa = get_antialiased def get_edgecolor(self): """ Return the edge color of the :class:`Patch`. """ return self._edgecolor - get_ec = get_edgecolor def get_facecolor(self): """ Return the face color of the :class:`Patch`. """ return self._facecolor - get_fc = get_facecolor def get_linewidth(self): """ Return the line width in points. """ return self._linewidth - get_lw = get_linewidth def get_linestyle(self): """ @@ -240,7 +238,6 @@ def get_linestyle(self): 'dashdot' | 'dotted'] """ return self._linestyle - get_ls = get_linestyle def set_antialiased(self, aa): """ @@ -312,7 +309,7 @@ def set_color(self, c): def set_alpha(self, alpha): """ - Set the alpha tranparency of the patch. + Set the alpha transparency of the patch. ACCEPTS: float or None """ @@ -377,7 +374,7 @@ def set_linestyle(self, ls): if ls is None: ls = "solid" self._linestyle = ls - # get the unscalled dash pattern + # get the unscaled dash pattern offset, ls = self._us_dashes = mlines._get_dash_pattern(ls) # scale the dash pattern by the linewidth self._dashoffset, self._dashes = mlines._scale_dashes( @@ -510,8 +507,8 @@ def draw(self, renderer): gc.set_hatch_color(self._hatch_color) except AttributeError: # if we end up with a GC that does not have this method - warnings.warn("Your backend does not have support for " - "setting the hatch color.") + warnings.warn( + "Your backend does not support setting the hatch color.") if self.get_sketch_params() is not None: gc.set_sketch_params(*self.get_sketch_params()) @@ -973,25 +970,23 @@ def set_closed(self, closed): def get_xy(self): """ - Get the vertices of the path + Get the vertices of the path. Returns ------- - vertices : numpy array - The coordinates of the vertices as a Nx2 - ndarray. + vertices : (N, 2) numpy array + The coordinates of the vertices. """ return self._path.vertices def set_xy(self, xy): """ - Set the vertices of the polygon + Set the vertices of the polygon. Parameters ---------- - xy : numpy array or iterable of pairs - The coordinates of the vertices as a Nx2 - ndarray or iterable of pairs. + xy : (N, 2) array-like + The coordinates of the vertices. """ xy = np.asarray(xy) if self._closed: @@ -1006,12 +1001,12 @@ def set_xy(self, xy): _get_xy = get_xy _set_xy = set_xy xy = property( - get_xy, set_xy, None, - """Set/get the vertices of the polygon. This property is - provided for backward compatibility with matplotlib 0.91.x - only. New code should use - :meth:`~matplotlib.patches.Polygon.get_xy` and - :meth:`~matplotlib.patches.Polygon.set_xy` instead.""") + cbook.deprecated("3.0")(get_xy), cbook.deprecated("3.0")(set_xy), + doc="""Set/get the vertices of the polygon. This property is + provided for backward compatibility with matplotlib 0.91.x + only. New code should use + :meth:`~matplotlib.patches.Polygon.get_xy` and + :meth:`~matplotlib.patches.Polygon.set_xy` instead.""") class Wedge(Patch): @@ -1297,8 +1292,7 @@ def __init__(self, figure, xytip, xybase, (*x*, *y*) location the arrow base mid point *figure* - The :class:`~matplotlib.figure.Figure` instance - (fig.dpi) + The `Figure` instance (used to get the dpi setting). *width* The width of the arrow in points @@ -1591,7 +1585,7 @@ def __init__(self, xy, width, height, angle=0.0, def draw(self, renderer): """ Ellipses are normally drawn using an approximation that uses - eight cubic bezier splines. The error of this approximation + eight cubic Bezier splines. The error of this approximation is 1.89818e-6, according to this unverified source: Lancaster, Don. Approximating a Circle or an Ellipse Using @@ -1629,7 +1623,7 @@ def draw(self, renderer): 3. Proceeding counterclockwise starting in the positive x-direction, each of the visible arc-segments between the - pairs of vertices are drawn using the bezier arc + pairs of vertices are drawn using the Bezier arc approximation technique implemented in :meth:`matplotlib.path.Path.arc`. """ @@ -1820,7 +1814,7 @@ def _pprint_table(table, leadingspace=2): def _pprint_styles(_styles): """ A helper function for the _Style class. Given the dictionary of - (stylename : styleclass), return a formatted string listing all the + {stylename: styleclass}, return a formatted string listing all the styles. Used to update the documentation. """ import inspect @@ -1844,7 +1838,7 @@ def _pprint_styles(_styles): def _simpleprint_styles(_styles): """ A helper function for the _Style class. Given the dictionary of - (stylename : styleclass), return a string rep of the list of keys. + {stylename: styleclass}, return a string rep of the list of keys. Used to update the documentation. """ return "[{}]".format("|".join(map(" '{}' ".format, sorted(_styles)))) @@ -1861,8 +1855,8 @@ def __new__(self, stylename, **kw): return the instance of the subclass with the given style name. """ - # the "class" should have the _style_list attribute, which is - # a dictionary of stylname, style class paie. + # The "class" should have the _style_list attribute, which is a mapping + # of style names to style classes. _list = stylename.replace(" ", "").split(",") _name = _list[0].lower() @@ -1906,6 +1900,14 @@ def register(klass, name, style): klass._style_list[name] = style +def _register_style(style_list, cls=None, *, name=None): + """Class decorator that stashes a class in a (style) dictionary.""" + if cls is None: + return functools.partial(_register_style, style_list, name=name) + style_list[name or cls.__name__.lower()] = cls + return cls + + class BoxStyle(_Style): """ :class:`BoxStyle` is a container class which defines several @@ -1955,12 +1957,6 @@ class is not an artist and actual drawing of the fancy box is done # w/o arguments, i.e., all its argument (except self) must have # the default values. - def __init__(self): - """ - initializtion. - """ - super().__init__() - def transmute(self, x0, y0, width, height, mutation_size): """ The transmute method is a very core of the @@ -1983,7 +1979,7 @@ def __call__(self, x0, y0, width, height, mutation_size, - *aspect_ratio* : aspect-ration for the mutation. """ # The __call__ method is a thin wrapper around the transmute method - # and take care of the aspect. + # and takes care of the aspect. if aspect_ratio is not None: # Squeeze the given height by the aspect_ratio @@ -1997,6 +1993,7 @@ def __call__(self, x0, y0, width, height, mutation_size, else: return self.transmute(x0, y0, width, height, mutation_size) + @_register_style(_style_list) class Square(_Base): """ A simple square box. @@ -2025,8 +2022,7 @@ def transmute(self, x0, y0, width, height, mutation_size): codes = [Path.MOVETO] + [Path.LINETO] * 3 + [Path.CLOSEPOLY] return Path(vertices, codes) - _style_list["square"] = Square - + @_register_style(_style_list) class Circle(_Base): """A simple circle box.""" def __init__(self, pad=0.3): @@ -2048,8 +2044,7 @@ def transmute(self, x0, y0, width, height, mutation_size): return Path.circle((x0 + width / 2, y0 + height / 2), max(width, height) / 2) - _style_list["circle"] = Circle - + @_register_style(_style_list) class LArrow(_Base): """ (left) Arrow Box @@ -2086,8 +2081,8 @@ def transmute(self, x0, y0, width, height, mutation_size): path = Path(cp, com) return path - _style_list["larrow"] = LArrow + @_register_style(_style_list) class RArrow(LArrow): """ (right) Arrow Box @@ -2097,16 +2092,12 @@ def __init__(self, pad=0.3): super().__init__(pad) def transmute(self, x0, y0, width, height, mutation_size): - p = BoxStyle.LArrow.transmute(self, x0, y0, width, height, mutation_size) - p.vertices[:, 0] = 2 * x0 + width - p.vertices[:, 0] - return p - _style_list["rarrow"] = RArrow - + @_register_style(_style_list) class DArrow(_Base): """ (Double) Arrow Box @@ -2131,7 +2122,7 @@ def transmute(self, x0, y0, width, height, mutation_size): x0, y0 = x0 - pad, y0 - pad x1, y1 = x0 + width, y0 + height - dx = (y1 - y0)/2. + dx = (y1 - y0) / 2 dxx = dx * .5 # adjust x0. 1.4 <- sqrt(2) x0 = x0 + pad / 1.4 @@ -2156,8 +2147,7 @@ def transmute(self, x0, y0, width, height, mutation_size): return path - _style_list['darrow'] = DArrow - + @_register_style(_style_list) class Round(_Base): """ A box with round corners. @@ -2180,7 +2170,7 @@ def transmute(self, x0, y0, width, height, mutation_size): # padding pad = mutation_size * self.pad - # size of the roudning corner + # size of the rounding corner if self.rounding_size: dr = mutation_size * self.rounding_size else: @@ -2191,7 +2181,7 @@ def transmute(self, x0, y0, width, height, mutation_size): x0, y0 = x0 - pad, y0 - pad, x1, y1 = x0 + width, y0 + height - # Round corners are implemented as quadratic bezier. e.g., + # Round corners are implemented as quadratic Bezier, e.g., # [(x0, y0-dr), (x0, y0), (x0+dr, y0)] for lower left corner. cp = [(x0 + dr, y0), (x1 - dr, y0), @@ -2219,8 +2209,7 @@ def transmute(self, x0, y0, width, height, mutation_size): return path - _style_list["round"] = Round - + @_register_style(_style_list) class Round4(_Base): """ Another box with round edges. @@ -2234,7 +2223,6 @@ def __init__(self, pad=0.3, rounding_size=None): *rounding_size* rounding size of edges. *pad* if None """ - self.pad = pad self.rounding_size = rounding_size super().__init__() @@ -2244,7 +2232,7 @@ def transmute(self, x0, y0, width, height, mutation_size): # padding pad = mutation_size * self.pad - # roudning size. Use a half of the pad if not set. + # Rounding size; defaults to half of the padding. if self.rounding_size: dr = mutation_size * self.rounding_size else: @@ -2274,8 +2262,7 @@ def transmute(self, x0, y0, width, height, mutation_size): return path - _style_list["round4"] = Round4 - + @_register_style(_style_list) class Sawtooth(_Base): """ A sawtooth box. @@ -2373,8 +2360,7 @@ def transmute(self, x0, y0, width, height, mutation_size): path = Path(saw_vertices, closed=True) return path - _style_list["sawtooth"] = Sawtooth - + @_register_style(_style_list) class Roundtooth(Sawtooth): """A rounded tooth box.""" def __init__(self, pad=0.3, tooth_size=None): @@ -2399,8 +2385,6 @@ def transmute(self, x0, y0, width, height, mutation_size): [Path.CLOSEPOLY]) return Path(saw_vertices, codes) - _style_list["roundtooth"] = Roundtooth - if __doc__: # __doc__ could be None if -OO optimization is enabled __doc__ = cbook.dedent(__doc__) % \ {"AvailableBoxstyles": _pprint_styles(_style_list)} @@ -2764,9 +2748,10 @@ def __call__(self, posA, posB, return shrunk_path + @_register_style(_style_list) class Arc3(_Base): """ - Creates a simple quadratic bezier curve between two + Creates a simple quadratic Bezier curve between two points. The curve is created so that the middle control point (C1) is located at the same distance from the start (C0) and end points(C2) and the distance of the C1 to the line @@ -2799,11 +2784,10 @@ def connect(self, posA, posB): return Path(vertices, codes) - _style_list["arc3"] = Arc3 - + @_register_style(_style_list) class Angle3(_Base): """ - Creates a simple quadratic bezier curve between two + Creates a simple quadratic Bezier curve between two points. The middle control points is placed at the intersecting point of two lines which crosses the start (or end) point and has a angle of angleA (or angleB). @@ -2838,11 +2822,10 @@ def connect(self, posA, posB): return Path(vertices, codes) - _style_list["angle3"] = Angle3 - + @_register_style(_style_list) class Angle(_Base): """ - Creates a picewise continuous quadratic bezier path between + Creates a piecewise continuous quadratic Bezier path between two points. The path has a one passing-through point placed at the intersecting point of two lines which crosses the start (or end) point and has a angle of angleA (or angleB). The @@ -2901,11 +2884,10 @@ def connect(self, posA, posB): return Path(vertices, codes) - _style_list["angle"] = Angle - + @_register_style(_style_list) class Arc(_Base): """ - Creates a picewise continuous quadratic bezier path between + Creates a piecewise continuous quadratic Bezier path between two points. The path can have two passing-through points, a point placed at the distance of armA and angle of angleA from point A, another point with respect to point B. The edges are @@ -2996,8 +2978,7 @@ def connect(self, posA, posB): return Path(vertices, codes) - _style_list["arc"] = Arc - + @_register_style(_style_list) class Bar(_Base): """ A line with *angle* between A and B with *armA* and @@ -3073,8 +3054,6 @@ def connect(self, posA, posB): return Path(vertices, codes) - _style_list["bar"] = Bar - if __doc__: __doc__ = cbook.dedent(__doc__) % \ {"AvailableConnectorstyles": _pprint_styles(_style_list)} @@ -3150,11 +3129,11 @@ class is not an artist and actual drawing of the fancy arrow is @staticmethod def ensure_quadratic_bezier(path): - """ Some ArrowStyle class only wokrs with a simple - quaratic bezier curve (created with Arc3Connetion or - Angle3Connector). This static method is to check if the - provided path is a simple quadratic bezier curve and returns - its control points if true. + """ + Some ArrowStyle class only works with a simple quadratic Bezier + curve (created with Arc3Connetion or Angle3Connector). This static + method is to check if the provided path is a simple quadratic + Bezier curve and returns its control points if true. """ segments = list(path.iter_segments()) if (len(segments) != 2 or segments[0][1] != Path.MOVETO or @@ -3165,25 +3144,23 @@ def ensure_quadratic_bezier(path): def transmute(self, path, mutation_size, linewidth): """ - The transmute method is the very core of the ArrowStyle - class and must be overridden in the subclasses. It receives - the path object along which the arrow will be drawn, and - the mutation_size, with which the arrow head etc. - will be scaled. The linewidth may be used to adjust - the path so that it does not pass beyond the given - points. It returns a tuple of a Path instance and a - boolean. The boolean value indicate whether the path can - be filled or not. The return value can also be a list of paths - and list of booleans of a same length. + The transmute method is the very core of the ArrowStyle class and + must be overridden in the subclasses. It receives the path object + along which the arrow will be drawn, and the mutation_size, with + which the arrow head etc. will be scaled. The linewidth may be + used to adjust the path so that it does not pass beyond the given + points. It returns a tuple of a Path instance and a boolean. The + boolean value indicate whether the path can be filled or not. The + return value can also be a list of paths and list of booleans of a + same length. """ - raise NotImplementedError('Derived must override') def __call__(self, path, mutation_size, linewidth, aspect_ratio=1.): """ The __call__ method is a thin wrapper around the transmute method - and take care of the aspect ratio. + and takes care of the aspect ratio. """ path = make_path_regular(path) @@ -3305,7 +3282,7 @@ def transmute(self, path, mutation_size, linewidth): x3, y3 = path.vertices[-1] # If there is no room for an arrow and a line, then skip the arrow - has_end_arrow = (self.endarrow and not ((x2 == x3) and (y2 == y3))) + has_end_arrow = (self.endarrow and not (x2 == x3 and y2 == y3)) if has_end_arrow: verticesB, codesB, ddxB, ddyB = \ self._get_arrow_wedge(x2, y2, x3, y3, @@ -3315,8 +3292,8 @@ def transmute(self, path, mutation_size, linewidth): verticesB, codesB = [], [] ddxB, ddyB = 0., 0. - # this simple code will not work if ddx, ddy is greater than - # separation bettern vertices. + # This simple code will not work if ddx, ddy is greater than the + # separation between vertices. _path = [Path(np.concatenate([[(x0 + ddxA, y0 + ddyA)], path.vertices[1:-1], [(x3 + ddxB, y3 + ddyB)]]), @@ -3347,6 +3324,7 @@ def transmute(self, path, mutation_size, linewidth): return _path, _fillable + @_register_style(_style_list, name="-") class Curve(_Curve): """ A simple curve without any arrow head. @@ -3355,8 +3333,7 @@ class Curve(_Curve): def __init__(self): super().__init__(beginarrow=False, endarrow=False) - _style_list["-"] = Curve - + @_register_style(_style_list, name="<-") class CurveA(_Curve): """ An arrow with a head at its begin point. @@ -3372,12 +3349,10 @@ def __init__(self, head_length=.4, head_width=.2): head_width : float, optional, default : 0.2 Width of the arrow head """ - super().__init__(beginarrow=True, endarrow=False, head_length=head_length, head_width=head_width) - _style_list["<-"] = CurveA - + @_register_style(_style_list, name="->") class CurveB(_Curve): """ An arrow with a head at its end point. @@ -3393,12 +3368,10 @@ def __init__(self, head_length=.4, head_width=.2): head_width : float, optional, default : 0.2 Width of the arrow head """ - super().__init__(beginarrow=False, endarrow=True, head_length=head_length, head_width=head_width) - _style_list["->"] = CurveB - + @_register_style(_style_list, name="<->") class CurveAB(_Curve): """ An arrow with heads both at the begin and the end point. @@ -3414,12 +3387,10 @@ def __init__(self, head_length=.4, head_width=.2): head_width : float, optional, default : 0.2 Width of the arrow head """ - super().__init__(beginarrow=True, endarrow=True, head_length=head_length, head_width=head_width) - _style_list["<->"] = CurveAB - + @_register_style(_style_list, name="<|-") class CurveFilledA(_Curve): """ An arrow with filled triangle head at the begin. @@ -3435,13 +3406,11 @@ def __init__(self, head_length=.4, head_width=.2): head_width : float, optional, default : 0.2 Width of the arrow head """ - super().__init__(beginarrow=True, endarrow=False, fillbegin=True, fillend=False, head_length=head_length, head_width=head_width) - _style_list["<|-"] = CurveFilledA - + @_register_style(_style_list, name="-|>") class CurveFilledB(_Curve): """ An arrow with filled triangle head at the end. @@ -3457,13 +3426,11 @@ def __init__(self, head_length=.4, head_width=.2): head_width : float, optional, default : 0.2 Width of the arrow head """ - super().__init__(beginarrow=False, endarrow=True, fillbegin=False, fillend=True, head_length=head_length, head_width=head_width) - _style_list["-|>"] = CurveFilledB - + @_register_style(_style_list, name="<|-|>") class CurveFilledAB(_Curve): """ An arrow with filled triangle heads at both ends. @@ -3479,13 +3446,10 @@ def __init__(self, head_length=.4, head_width=.2): head_width : float, optional, default : 0.2 Width of the arrow head """ - super().__init__(beginarrow=True, endarrow=True, fillbegin=True, fillend=True, head_length=head_length, head_width=head_width) - _style_list["<|-|>"] = CurveFilledAB - class _Bracket(_Base): def __init__(self, bracketA=None, bracketB=None, @@ -3563,6 +3527,7 @@ def transmute(self, path, mutation_size, linewidth): return p, False + @_register_style(_style_list, name="]-[") class BracketAB(_Bracket): """ An arrow with a bracket(]) at both ends. @@ -3592,13 +3557,11 @@ def __init__(self, angleB : float, optional, default : None Angle between the bracket and the line """ - super().__init__(True, True, widthA=widthA, lengthA=lengthA, angleA=angleA, widthB=widthB, lengthB=lengthB, angleB=angleB) - _style_list["]-["] = BracketAB - + @_register_style(_style_list, name="]-") class BracketA(_Bracket): """ An arrow with a bracket(]) at its end. @@ -3617,12 +3580,10 @@ def __init__(self, widthA=1., lengthA=0.2, angleA=None): angleA : float, optional, default : None Angle between the bracket and the line """ - super().__init__(True, None, widthA=widthA, lengthA=lengthA, angleA=angleA) - _style_list["]-"] = BracketA - + @_register_style(_style_list, name="-[") class BracketB(_Bracket): """ An arrow with a bracket([) at its end. @@ -3641,12 +3602,10 @@ def __init__(self, widthB=1., lengthB=0.2, angleB=None): angleB : float, optional, default : None Angle between the bracket and the line """ - super().__init__(None, True, widthB=widthB, lengthB=lengthB, angleB=angleB) - _style_list["-["] = BracketB - + @_register_style(_style_list, name="|-|") class BarAB(_Bracket): """ An arrow with a bar(|) at both ends. @@ -3670,16 +3629,14 @@ def __init__(self, angleB : float, optional, default : None Angle between the bracket and the line """ - super().__init__(True, True, widthA=widthA, lengthA=0, angleA=angleA, widthB=widthB, lengthB=0, angleB=angleB) - _style_list["|-|"] = BarAB - + @_register_style(_style_list) class Simple(_Base): """ - A simple arrow. Only works with a quadratic bezier curve. + A simple arrow. Only works with a quadratic Bezier curve. """ def __init__(self, head_length=.5, head_width=.5, tail_width=.2): @@ -3695,7 +3652,6 @@ def __init__(self, head_length=.5, head_width=.5, tail_width=.2): tail_width : float, optional, default : 0.2 Width of the arrow tail """ - self.head_length, self.head_width, self.tail_width = \ head_length, head_width, tail_width super().__init__() @@ -3709,8 +3665,6 @@ def transmute(self, path, mutation_size, linewidth): in_f = inside_circle(x2, y2, head_length) arrow_path = [(x0, y0), (x1, y1), (x2, y2)] - from .bezier import NonIntersectingPathException - try: arrow_out, arrow_in = \ split_bezier_intersecting_with_closedpath(arrow_path, @@ -3762,11 +3716,10 @@ def transmute(self, path, mutation_size, linewidth): return path, True - _style_list["simple"] = Simple - + @_register_style(_style_list) class Fancy(_Base): """ - A fancy arrow. Only works with a quadratic bezier curve. + A fancy arrow. Only works with a quadratic Bezier curve. """ def __init__(self, head_length=.4, head_width=.4, tail_width=.4): @@ -3782,7 +3735,6 @@ def __init__(self, head_length=.4, head_width=.4, tail_width=.4): tail_width : float, optional, default : 0.4 Width of the arrow tail """ - self.head_length, self.head_width, self.tail_width = \ head_length, head_width, tail_width super().__init__() @@ -3795,8 +3747,6 @@ def transmute(self, path, mutation_size, linewidth): head_length = self.head_length * mutation_size arrow_path = [(x0, y0), (x1, y1), (x2, y2)] - from .bezier import NonIntersectingPathException - # path for head in_f = inside_circle(x2, y2, head_length) try: @@ -3865,11 +3815,10 @@ def transmute(self, path, mutation_size, linewidth): return path, True - _style_list["fancy"] = Fancy - + @_register_style(_style_list) class Wedge(_Base): """ - Wedge(?) shape. Only works with a quadratic bezier curve. The + Wedge(?) shape. Only works with a quadratic Bezier curve. The begin point has a width of the tail_width and the end point has a width of 0. At the middle, the width is shrink_factor*tail_width. """ @@ -3884,7 +3833,6 @@ def __init__(self, tail_width=.3, shrink_factor=0.5): shrink_factor : float, optional, default : 0.5 Fraction of the arrow width at the middle point """ - self.tail_width = tail_width self.shrink_factor = shrink_factor super().__init__() @@ -3911,8 +3859,6 @@ def transmute(self, path, mutation_size, linewidth): return path, True - _style_list["wedge"] = Wedge - if __doc__: __doc__ = cbook.dedent(__doc__) % \ {"AvailableArrowstyles": _pprint_styles(_style_list)} @@ -4596,10 +4542,7 @@ def get_path_in_displaycoord(self): return _path, fillable def _check_xy(self, renderer): - """ - check if the annotation need to - be drawn. - """ + """Check whether the annotation needs to be drawn.""" b = self.get_annotation_clip() @@ -4622,16 +4565,8 @@ def _check_xy(self, renderer): return True def draw(self, renderer): - """ - Draw. - """ - if renderer is not None: self._renderer = renderer - if not self.get_visible(): - return - - if not self._check_xy(renderer): + if not self.get_visible() or not self._check_xy(renderer): return - FancyArrowPatch.draw(self, renderer) From 6cf845070a0d6bcd97b0ccc8d0aaef875f0ca118 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Thu, 24 May 2018 22:34:31 -0700 Subject: [PATCH 0716/1161] Reuse the noninteractivity warning from Figure.show in _Backend.show. Currently, the warning message "Matplotlib is currently using ..., which is a non-GUI backend, so cannot show the figure" and the (minor) associated logic (of catching NonGuiException) is duplicated between Figure.show and _Backend.show. Make the latter use the former, to deduplicate it. --- lib/matplotlib/backend_bases.py | 10 ++-------- lib/matplotlib/figure.py | 7 +++---- lib/matplotlib/tests/test_backend_bases.py | 10 ++++------ 3 files changed, 9 insertions(+), 18 deletions(-) diff --git a/lib/matplotlib/backend_bases.py b/lib/matplotlib/backend_bases.py index b3b3c59cb2b7..61b2e3b79333 100644 --- a/lib/matplotlib/backend_bases.py +++ b/lib/matplotlib/backend_bases.py @@ -185,14 +185,8 @@ def show(cls, block=None): if not managers: return for manager in managers: - try: - manager.show() - except NonGuiException: - warnings.warn( - ('matplotlib is currently using %s, which is a ' + - 'non-GUI backend, so cannot show the figure.') - % get_backend()) - return + # Emits a warning if the backend is non-interactive. + manager.canvas.figure.show() if cls.mainloop is None: return if block is None: diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index b97655e8fb39..c6cd6ce44794 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -439,10 +439,9 @@ def show(self, warn=True): except NonGuiException: pass if warn: - warnings.warn( - ('matplotlib is currently using %s, which is a ' + - 'non-GUI backend, so cannot show the figure.') - % get_backend()) + warnings.warn('Matplotlib is currently using %s, which is a ' + 'non-GUI backend, so cannot show the figure.' + % get_backend()) def _get_axes(self): return self._axstack.as_list() diff --git a/lib/matplotlib/tests/test_backend_bases.py b/lib/matplotlib/tests/test_backend_bases.py index 244c9a36b1fe..cd8db6bc08ef 100644 --- a/lib/matplotlib/tests/test_backend_bases.py +++ b/lib/matplotlib/tests/test_backend_bases.py @@ -69,13 +69,11 @@ def test_non_gui_warning(): with pytest.warns(UserWarning) as rec: plt.show() assert len(rec) == 1 - assert 'matplotlib is currently using pdf, ' \ - 'which is a non-GUI backend' \ - in str(rec[0].message) + assert ('Matplotlib is currently using pdf, which is a non-GUI backend' + in str(rec[0].message)) with pytest.warns(UserWarning) as rec: plt.gcf().show() assert len(rec) == 1 - assert 'matplotlib is currently using pdf, ' \ - 'which is a non-GUI backend' \ - in str(rec[0].message) + assert ('Matplotlib is currently using pdf, which is a non-GUI backend' + in str(rec[0].message)) From f6a9f9894cf4d3c783960c124c4a81053b2a958e Mon Sep 17 00:00:00 2001 From: Joseph Martinot-Lagarde <joseph.martinot-lagarde@onera.fr> Date: Fri, 25 May 2018 11:03:31 +0200 Subject: [PATCH 0717/1161] Avoid recursion for subclasses of str that are also "PathLike" This is the case for path.py for example. Fixes gh-11306 --- lib/matplotlib/cbook/__init__.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index cd2177e75f6b..c722819765c5 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -452,9 +452,7 @@ def to_filehandle(fname, flag='rU', return_opened=False, encoding=None): read/write flag for :func:`file` """ if isinstance(fname, getattr(os, "PathLike", ())): - return to_filehandle( - os.fspath(fname), - flag=flag, return_opened=return_opened, encoding=encoding) + fname = os.fspath(fname) if isinstance(fname, str): if fname.endswith('.gz'): # get rid of 'U' in flag for gzipped files. From c564e6f162baab69ad374e67220bc14e09b50411 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Fri, 25 May 2018 18:07:16 -0700 Subject: [PATCH 0718/1161] Simplify image.thumbnail. Per-filetype backend selection is already implemented by FigureCanvasBase.print_figure, no need to reinvent the wheel. --- doc/api/next_api_changes/2018-05-26-AL.rst | 11 ++++ lib/matplotlib/image.py | 77 ++++++++-------------- 2 files changed, 38 insertions(+), 50 deletions(-) create mode 100644 doc/api/next_api_changes/2018-05-26-AL.rst diff --git a/doc/api/next_api_changes/2018-05-26-AL.rst b/doc/api/next_api_changes/2018-05-26-AL.rst new file mode 100644 index 000000000000..05a8b3b72bb5 --- /dev/null +++ b/doc/api/next_api_changes/2018-05-26-AL.rst @@ -0,0 +1,11 @@ +Change to the output of `.image.thumbnail` +`````````````````````````````````````````` + +When called with ``preview=False``, ``image.thumbnail`` previously returned an +figure whose canvas class was set according to the output file extension. It +now returns a figure whose canvas class is the base `FigureCanvasBase` (and +relies on `FigureCanvasBase.print_figure`) to handle the canvas switching +properly). + +As a side effect of this change, `image.thumbnail` now also supports .ps, .eps, +and .svgz output. diff --git a/lib/matplotlib/image.py b/lib/matplotlib/image.py index 84de7fd5db90..3ba8b096e6f7 100644 --- a/lib/matplotlib/image.py +++ b/lib/matplotlib/image.py @@ -1,7 +1,6 @@ """ The image module supports basic image loading, rescaling and display operations. - """ from io import BytesIO @@ -17,6 +16,7 @@ from matplotlib import rcParams import matplotlib.artist as martist from matplotlib.artist import allow_rasterization +from matplotlib.backend_bases import FigureCanvasBase import matplotlib.colors as mcolors import matplotlib.cm as cm import matplotlib.cbook as cbook @@ -1447,81 +1447,58 @@ def pil_to_array(pilImage): def thumbnail(infile, thumbfile, scale=0.1, interpolation='bilinear', preview=False): """ - make a thumbnail of image in *infile* with output filename - *thumbfile*. - - *infile* the image file -- must be PNG or Pillow-readable if you - have `Pillow <http://python-pillow.org/>`_ installed - - *thumbfile* - the thumbnail filename - - *scale* - the scale factor for the thumbnail + Make a thumbnail of image in *infile* with output filename *thumbfile*. - *interpolation* - the interpolation scheme used in the resampling - - - *preview* - if True, the default backend (presumably a user interface - backend) will be used which will cause a figure to be raised - if :func:`~matplotlib.pyplot.show` is called. If it is False, - a pure image backend will be used depending on the extension, - 'png'->FigureCanvasAgg, 'pdf'->FigureCanvasPdf, - 'svg'->FigureCanvasSVG + See :doc:`/gallery/misc/image_thumbnail_sgskip`. + Parameters + ---------- + infile + The image file -- must be PNG, Pillow-readable if you have `Pillow + <http://python-pillow.org/>`_ installed. - See examples/misc/image_thumbnail.py. + thumbfile + The thumbnail filename. - .. only:: html + scale + The scale factor for the thumbnail. - :ref:`sphx_glr_gallery_misc_image_thumbnail_sgskip.py` + interpolation + The interpolation scheme used in the resampling. - Return value is the figure instance containing the thumbnail + preview + If True, the default backend (presumably a user interface + backend) will be used which will cause a figure to be raised if + `~matplotlib.pyplot.show` is called. If it is False, the figure is + created using `FigureCanvasBase` and the drawing backend is selected + as `~matplotlib.figure.savefig` would normally do. + Returns + ------- + figure : + The figure instance containing the thumbnail. """ - basedir, basename = os.path.split(infile) - baseout, extout = os.path.splitext(thumbfile) im = imread(infile) rows, cols, depth = im.shape - # this doesn't really matter, it will cancel in the end, but we - # need it for the mpl API + # This doesn't really matter (it cancels in the end) but the API needs it. dpi = 100 height = rows / dpi * scale width = cols / dpi * scale - extension = extout.lower() - if preview: - # let the UI backend do everything + # Let the UI backend do everything. import matplotlib.pyplot as plt fig = plt.figure(figsize=(width, height), dpi=dpi) else: - if extension == '.png': - from matplotlib.backends.backend_agg \ - import FigureCanvasAgg as FigureCanvas - elif extension == '.pdf': - from matplotlib.backends.backend_pdf \ - import FigureCanvasPdf as FigureCanvas - elif extension == '.svg': - from matplotlib.backends.backend_svg \ - import FigureCanvasSVG as FigureCanvas - else: - raise ValueError("Can only handle " - "extensions 'png', 'svg' or 'pdf'") - from matplotlib.figure import Figure fig = Figure(figsize=(width, height), dpi=dpi) - FigureCanvas(fig) + FigureCanvasBase(fig) ax = fig.add_axes([0, 0, 1, 1], aspect='auto', frameon=False, xticks=[], yticks=[]) - - basename, ext = os.path.splitext(basename) ax.imshow(im, aspect='auto', resample=True, interpolation=interpolation) fig.savefig(thumbfile, dpi=dpi) return fig From 275029329f67c71fde4b1158f356a182c3d0e850 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Wed, 23 May 2018 20:34:31 -0700 Subject: [PATCH 0719/1161] Start replacing ACCEPTS table by parsing numpydoc. In most cases, we can just look for 'param : type' in the docstring. We let ACCEPTS still have the priority to handle weird cases such as set_xlim where we document the first arg as "bottom", but it's "bottom, top" for the purpose of the ACCEPTS table; resolving *that* problem is punted to later. Only removed a few ACCEPTS entries as a proof of principle. --- lib/matplotlib/artist.py | 23 ++++++++++----- lib/matplotlib/axes/_base.py | 46 +++++------------------------ lib/matplotlib/tests/test_artist.py | 4 ++- 3 files changed, 25 insertions(+), 48 deletions(-) diff --git a/lib/matplotlib/artist.py b/lib/matplotlib/artist.py index 6975af34f055..c8f9726b0201 100644 --- a/lib/matplotlib/artist.py +++ b/lib/matplotlib/artist.py @@ -1054,17 +1054,16 @@ def mouseover(self, val): class ArtistInspector(object): """ - A helper class to inspect an :class:`~matplotlib.artist.Artist` - and return information about it's settable properties and their - current values. + A helper class to inspect an :class:`~matplotlib.artist.Artist` and return + information about its settable properties and their current values. """ + def __init__(self, o): """ - Initialize the artist inspector with an - :class:`~matplotlib.artist.Artist` or iterable of :class:`Artists`. - If an iterable is used, we assume it is a homogeneous sequence (all - :class:`Artists` are of the same type) and it is your responsibility - to make sure this is so. + Initialize the artist inspector with an `Artist` or an iterable of + `Artist`\s. If an iterable is used, we assume it is a homogeneous + sequence (all `Artists` are of the same type) and it is your + responsibility to make sure this is so. """ if not isinstance(o, Artist): if cbook.iterable(o): @@ -1135,6 +1134,14 @@ def get_valid_values(self, attr): match = self._get_valid_values_regex.search(docstring) if match is not None: return re.sub("\n *", " ", match.group(1)) + + # Much faster than list(inspect.signature(func).parameters)[1], + # although barely relevant wrt. matplotlib's total import time. + param_name = func.__code__.co_varnames[1] + match = re.search("(?m)^ *{} : (.+)".format(param_name), docstring) + if match: + return match.group(1) + return 'unknown' def _get_setters_and_targets(self): diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index cc3e758bda09..8b4c3b65b591 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -602,8 +602,6 @@ def set_figure(self, fig): """ Set the `.Figure` for this `.Axes`. - .. ACCEPTS: `.Figure` - Parameters ---------- fig : `.Figure` @@ -907,14 +905,9 @@ def set_axes_locator(self, locator): """ Set the axes locator. - .. ACCEPTS: a callable object which takes an axes instance and - renderer and returns a bbox. - Parameters ---------- - locator : callable - A locator function, which takes an axes and a renderer and returns - a bbox. + locator : Callable[[Axes, Renderer], Bbox] """ self._axes_locator = locator self.stale = True @@ -1022,10 +1015,10 @@ def cla(self): except TypeError: pass # update the minor locator for x and y axis based on rcParams - if (rcParams['xtick.minor.visible']): + if rcParams['xtick.minor.visible']: self.xaxis.set_minor_locator(mticker.AutoMinorLocator()) - if (rcParams['ytick.minor.visible']): + if rcParams['ytick.minor.visible']: self.yaxis.set_minor_locator(mticker.AutoMinorLocator()) if self._sharex is None: @@ -1125,9 +1118,8 @@ def get_facecolor(self): get_fc = get_facecolor def set_facecolor(self, color): - """Set the Axes facecolor. - - .. ACCEPTS: color + """ + Set the Axes facecolor. Parameters ---------- @@ -1314,8 +1306,6 @@ def set_adjustable(self, adjustable, share=False): If ``True``, apply the settings to all shared Axes. Default is ``False``. - .. ACCEPTS: [ 'box' | 'datalim'] - See Also -------- matplotlib.axes.Axes.set_aspect @@ -2132,8 +2122,6 @@ def set_autoscale_on(self, b): """ Set whether autoscaling is applied on plot commands - .. ACCEPTS: bool - Parameters ---------- b : bool @@ -2145,8 +2133,6 @@ def set_autoscalex_on(self, b): """ Set whether autoscaling for the x-axis is applied on plot commands - .. ACCEPTS: bool - Parameters ---------- b : bool @@ -2157,8 +2143,6 @@ def set_autoscaley_on(self, b): """ Set whether autoscaling for the y-axis is applied on plot commands - .. ACCEPTS: bool - Parameters ---------- b : bool @@ -2200,8 +2184,6 @@ def set_xmargin(self, m): I.e. for a data range [0, 2], a factor of ``m = -0.1`` will result in a range [0.2, 1.8]. - .. ACCEPTS: float greater than -0.5 - Parameters ---------- m : float greater than -0.5 @@ -2224,8 +2206,6 @@ def set_ymargin(self, m): I.e. for a data range [0, 2], a factor of ``m = -0.1`` will result in a range [0.2, 1.8]. - .. ACCEPTS: float greater than -0.5 - Parameters ---------- m : float greater than -0.5 @@ -2306,8 +2286,6 @@ def set_rasterization_zorder(self, z): z : float or None zorder below which artists are rasterized. ``None`` means that artists do not get rasterized based on zorder. - - .. ACCEPTS: float or None """ self._rasterization_zorder = z self.stale = True @@ -2636,8 +2614,6 @@ def set_frame_on(self, b): """ Set whether the axes rectangle patch is drawn. - .. ACCEPTS: bool - Parameters ---------- b : bool @@ -2655,8 +2631,6 @@ def set_axisbelow(self, b): """ Set whether axis ticks and gridlines are above or below most artists. - .. ACCEPTS: [ bool | 'line' ] - Parameters ---------- b : bool or 'line' @@ -3268,11 +3242,9 @@ def set_xticklabels(self, labels, fontdict=None, minor=False, **kwargs): """ Set the x-tick labels with list of string labels. - .. ACCEPTS: list of string labels - Parameters ---------- - labels : list of str + labels : List[str] List of string labels. fontdict : dict, optional @@ -3605,11 +3577,9 @@ def set_yticklabels(self, labels, fontdict=None, minor=False, **kwargs): """ Set the y-tick labels with list of strings labels. - .. ACCEPTS: list of string labels - Parameters ---------- - labels : list of str + labels : List[str] list of string labels fontdict : dict, optional @@ -3747,8 +3717,6 @@ def set_navigate(self, b): """ Set whether the axes responds to navigation toolbar commands - .. ACCEPTS: bool - Parameters ---------- b : bool diff --git a/lib/matplotlib/tests/test_artist.py b/lib/matplotlib/tests/test_artist.py index 0e137f1e0b9d..75647666c7dc 100644 --- a/lib/matplotlib/tests/test_artist.py +++ b/lib/matplotlib/tests/test_artist.py @@ -262,10 +262,12 @@ def test_None_zorder(): ("ACCEPTS: [ '-' | '--' | '-.' ]", "[ '-' | '--' | '-.' ] "), ('ACCEPTS: Some description.', 'Some description. '), ('.. ACCEPTS: Some description.', 'Some description. '), + ('arg : int', 'int'), + ('arg : int\nACCEPTS: Something else.', 'Something else. '), ]) def test_artist_inspector_get_valid_values(accept_clause, expected): class TestArtist(martist.Artist): - def set_f(self): + def set_f(self, arg): pass TestArtist.set_f.__doc__ = """ From 969ab9de3edbdfaa1b1d08437fe4478b609f6b36 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sat, 26 May 2018 14:50:14 +0200 Subject: [PATCH 0720/1161] Add changelog entry for removal of proprietary sphinx directives. --- doc/api/next_api_changes/2018-05-26-TH.rst | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 doc/api/next_api_changes/2018-05-26-TH.rst diff --git a/doc/api/next_api_changes/2018-05-26-TH.rst b/doc/api/next_api_changes/2018-05-26-TH.rst new file mode 100644 index 000000000000..8c5352bab062 --- /dev/null +++ b/doc/api/next_api_changes/2018-05-26-TH.rst @@ -0,0 +1,9 @@ +Removed proprietary sphinx directives +------------------------------------- + +The matplotlib documentation used the proprietary sphinx directives +`.. htmlonly::`, and `.. latexonly::`. These have been replaced with the +standard sphinx directives `.. only:: html` and `.. only:: latex`. This +change will not affect any users. Only downstream package maintainers, who +have used the proprietary directives in their docs, will have to switch to the +sphinx directives. From 8f71f86ec75d3f043331101a69f504b55f7c5a38 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sat, 26 May 2018 15:23:05 +0200 Subject: [PATCH 0721/1161] API changes: use the heading format defined in README.txt --- doc/api/api_changes/2017-12-20-TH.rst | 2 +- doc/api/next_api_changes/2018-02-15-AL-deprecations.rst | 2 +- doc/api/next_api_changes/2018-02-15-ES.rst | 3 ++- doc/api/next_api_changes/2018-02-21-AL.rst | 2 +- doc/api/next_api_changes/2018-02-26-AL-removals.rst | 3 ++- doc/api/next_api_changes/2018-03-23-AL.rst | 2 +- doc/api/next_api_changes/2018-04-20-AL.rst | 2 +- doc/api/next_api_changes/2018-04-22-AL.rst | 2 +- doc/api/next_api_changes/2018-04-30-AL.rst | 2 +- 9 files changed, 11 insertions(+), 9 deletions(-) diff --git a/doc/api/api_changes/2017-12-20-TH.rst b/doc/api/api_changes/2017-12-20-TH.rst index 45754ed1f38b..032f81a0e738 100644 --- a/doc/api/api_changes/2017-12-20-TH.rst +++ b/doc/api/api_changes/2017-12-20-TH.rst @@ -1,5 +1,5 @@ Deprecations -```````````` +------------ `.Legend.draggable()` is drepecated in favor of `.Legend.set_draggable()`. ``Legend.draggable`` may be reintroduced as a property in future releases. \ No newline at end of file diff --git a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst index c629949aeb00..2dfef7baf7a1 100644 --- a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst +++ b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst @@ -1,5 +1,5 @@ Deprecations -```````````` +------------ The following modules are deprecated: - :mod:`matplotlib.compat.subprocess`. This was a python 2 workaround, but all diff --git a/doc/api/next_api_changes/2018-02-15-ES.rst b/doc/api/next_api_changes/2018-02-15-ES.rst index 309e3bda5244..0deebc5b140f 100644 --- a/doc/api/next_api_changes/2018-02-15-ES.rst +++ b/doc/api/next_api_changes/2018-02-15-ES.rst @@ -1,5 +1,6 @@ matplotlib.cbook.Bunch deprecated -````````````````````````````````` +--------------------------------- + The ``matplotlib.cbook.Bunch`` class has been deprecated. Instead, use `types.SimpleNamespace` from the standard library which provides the same functionality. diff --git a/doc/api/next_api_changes/2018-02-21-AL.rst b/doc/api/next_api_changes/2018-02-21-AL.rst index 309335a59836..6087b7c67530 100644 --- a/doc/api/next_api_changes/2018-02-21-AL.rst +++ b/doc/api/next_api_changes/2018-02-21-AL.rst @@ -1,5 +1,5 @@ ``Axes3D.get_xlim``, ``get_ylim`` and ``get_zlim`` now return a tuple -````````````````````````````````````````````````````````````````````` +--------------------------------------------------------------------- They previously returned an array. Returning a tuple is consistent with the behavior for 2D axes. diff --git a/doc/api/next_api_changes/2018-02-26-AL-removals.rst b/doc/api/next_api_changes/2018-02-26-AL-removals.rst index eb2cd5defb6f..b94d32bd8a90 100644 --- a/doc/api/next_api_changes/2018-02-26-AL-removals.rst +++ b/doc/api/next_api_changes/2018-02-26-AL-removals.rst @@ -1,5 +1,6 @@ Removal of deprecated APIs -`````````````````````````` +-------------------------- + The following deprecated API elements have been removed: - ``matplotlib.checkdep_tex``, ``matplotlib.checkdep_xmllint``, diff --git a/doc/api/next_api_changes/2018-03-23-AL.rst b/doc/api/next_api_changes/2018-03-23-AL.rst index 7a5f87f590d7..68490caa4ede 100644 --- a/doc/api/next_api_changes/2018-03-23-AL.rst +++ b/doc/api/next_api_changes/2018-03-23-AL.rst @@ -1,4 +1,4 @@ ``font_manager.list_fonts`` now follows the platform's casefolding semantics -```````````````````````````````````````````````````````````````````````````` +---------------------------------------------------------------------------- i.e., it behaves case-insensitively on Windows only. diff --git a/doc/api/next_api_changes/2018-04-20-AL.rst b/doc/api/next_api_changes/2018-04-20-AL.rst index f38a95df11b1..3e1d5c80fde5 100644 --- a/doc/api/next_api_changes/2018-04-20-AL.rst +++ b/doc/api/next_api_changes/2018-04-20-AL.rst @@ -1,5 +1,5 @@ ``bar``/``barh`` no longer accepts ``left``/``bottom`` as first named argument -`````````````````````````````````````````````````````````````````````````````` +------------------------------------------------------------------------------ These arguments were renamed in 2.0 to ``x``/``y`` following the change of the default alignment from ``edge`` to ``center``. diff --git a/doc/api/next_api_changes/2018-04-22-AL.rst b/doc/api/next_api_changes/2018-04-22-AL.rst index a0f52a35329b..cbc856f397e9 100644 --- a/doc/api/next_api_changes/2018-04-22-AL.rst +++ b/doc/api/next_api_changes/2018-04-22-AL.rst @@ -1,5 +1,5 @@ Deprecation of certain marker styles -```````````````````````````````````` +------------------------------------ Using ``(n, 3)`` as marker style to specify a circle marker is deprecated. Use ``"o"`` instead. diff --git a/doc/api/next_api_changes/2018-04-30-AL.rst b/doc/api/next_api_changes/2018-04-30-AL.rst index 05eb7c8b55cd..84aefd954d7a 100644 --- a/doc/api/next_api_changes/2018-04-30-AL.rst +++ b/doc/api/next_api_changes/2018-04-30-AL.rst @@ -1,5 +1,5 @@ Remove lib/mpl_examples -``````````````````````` +----------------------- The symlink from lib/mpl_examples to ../examples has been removed. This is not installed as an importable package and should not affect From fa1decdc5bff2f036182c7707e4efbed4af2c070 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Wed, 23 May 2018 19:30:22 -0700 Subject: [PATCH 0722/1161] Automagically set the stacklevel on warnings. There are many places in Matplotlib where it is impossible to set a static stacklevel on warnings that works in all cases, because a same function may either be called directly or via some wrapper (e.g. pyplot). Instead, compute the stacklevel by walking the stack. Given that warnings refer to conditions that should, well, be avoided, I believe we don't need to worry too much about the runtime cost. As an example, use this mechanism for the "ambiguous second argument to plot" warning. Now both ``` plt.gca().plot("x", "y", data={"x": 1, "y": 2}) ``` and ``` plt.plot("x", "y", data={"x": 1, "y": 2}) ``` emit a warning that refers to the relevant line in the user source, whereas previously the second snippet would refer to the pyplot wrapper, which is irrelevant to the user. Note that this only works from source, not from IPython, as the latter uses `exec` and AFAICT there is no value of stacklevel that correctly refers to the string being exec'd. Of course, the idea would be to ultimately use this throughout the codebase. --- lib/matplotlib/axes/_axes.py | 4 ++-- lib/matplotlib/cbook/__init__.py | 22 ++++++++++++++++++++-- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index d6e4f50a2d7e..b93f8aec3142 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -64,11 +64,11 @@ def _plot_args_replacer(args, data): except ValueError: pass else: - warnings.warn( + cbook._warn_external( "Second argument {!r} is ambiguous: could be a color spec but " "is in data; using as data. Either rename the entry in data " "or use three arguments to plot.".format(args[1]), - RuntimeWarning, stacklevel=3) + RuntimeWarning) return ["x", "y"] elif len(args) == 3: return ["x", "y", "c"] diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index cd2177e75f6b..395ade0f649f 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -14,7 +14,7 @@ import glob import gzip import io -from itertools import repeat +import itertools import locale import numbers import operator @@ -1254,7 +1254,7 @@ def _compute_conf_interval(data, med, iqr, bootstrap): ncols = len(X) if labels is None: - labels = repeat(None) + labels = itertools.repeat(None) elif len(labels) != ncols: raise ValueError("Dimensions of labels and X must be compatible") @@ -2032,3 +2032,21 @@ def _setattr_cm(obj, **kwargs): delattr(obj, attr) else: setattr(obj, attr, orig) + + +def _warn_external(message, category=None): + """ + `warnings.warn` wrapper that sets *stacklevel* to "outside Matplotlib". + + The original emitter of the warning can be obtained by patching this + function back to `warnings.warn`, i.e. ``cbook._warn_external = + warnings.warn`` (or ``functools.partial(warnings.warn, stacklevel=2)``, + etc.). + """ + frame = sys._getframe() + for stacklevel in itertools.count(1): + if not re.match(r"\A(matplotlib|mpl_toolkits)(\Z|\.)", + frame.f_globals["__name__"]): + break + frame = frame.f_back + warnings.warn(message, category, stacklevel) From ac42faa4093d18acd1cb6d535a56e5f50ed7856e Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sun, 27 May 2018 01:32:48 -0700 Subject: [PATCH 0723/1161] Py3fy multiprocess example. If someone knows exactly why the MacOSX backend does not support fork-based multiprocessing, they should feel free to add a comment; in any case this commit does not suppress any preexisting info... --- examples/misc/multiprocess_sgskip.py | 28 +++++++--------------------- 1 file changed, 7 insertions(+), 21 deletions(-) diff --git a/examples/misc/multiprocess_sgskip.py b/examples/misc/multiprocess_sgskip.py index 162b7ba565df..2ab563d5b43e 100644 --- a/examples/misc/multiprocess_sgskip.py +++ b/examples/misc/multiprocess_sgskip.py @@ -9,24 +9,11 @@ Written by Robert Cimrman """ +import multiprocessing as mp import time -import numpy as np - -from multiprocessing import Process, Pipe - -# This example will likely not work with the native OSX backend. -# Uncomment the following lines to use the qt5 backend instead. -# -# import matplotlib -# matplotlib.use('qt5agg') -# -# Alternatively, with Python 3.4+ you may add the line -# -# import multiprocessing as mp; mp.set_start_method("forkserver") -# -# immediately after the ``if __name__ == "__main__"`` check. import matplotlib.pyplot as plt +import numpy as np # Fixing random state for reproducibility np.random.seed(19680801) @@ -90,13 +77,10 @@ def __call__(self, pipe): class NBPlot(object): def __init__(self): - self.plot_pipe, plotter_pipe = Pipe() + self.plot_pipe, plotter_pipe = mp.Pipe() self.plotter = ProcessPlotter() - self.plot_process = Process( - target=self.plotter, - args=(plotter_pipe,) - ) - self.plot_process.daemon = True + self.plot_process = mp.Process( + target=self.plotter, args=(plotter_pipe,), daemon=True) self.plot_process.start() def plot(self, finished=False): @@ -117,4 +101,6 @@ def main(): if __name__ == '__main__': + if plt.get_backend() == "MacOSX": + multiprocessing.set_start_method("forkserver") main() From 110439393dd773c9cca6fd85e87e093b9bf61785 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sat, 26 May 2018 20:50:04 +0200 Subject: [PATCH 0724/1161] Improve docstring of Axes.pcolor --- lib/matplotlib/axes/_axes.py | 155 +++++++++++++++++------------------ 1 file changed, 74 insertions(+), 81 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 1c9b05a87211..4aa9dea8531a 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -5268,62 +5268,73 @@ def _pcolorargs(funcname, *args, allmatch=False): def pcolor(self, *args, alpha=None, norm=None, cmap=None, vmin=None, vmax=None, **kwargs): """ - Create a pseudocolor plot of a 2-D array. + Create a pseudocolor plot with a non-regular rectangular grid. - Call signatures:: + Call signature:: - pcolor(C, **kwargs) - pcolor(X, Y, C, **kwargs) + pcolor([X, Y,] C, **kwargs) - pcolor can be very slow for large arrays; consider - using the similar but much faster - :func:`~matplotlib.pyplot.pcolormesh` instead. + *X* and *Y* can be used to specify the corners of the quadrilaterals. + + .. hint:: + + ``pcolor()`` can be very slow for large arrays. In most + cases you should use the the similar but much faster + `~.Axes.pcolormesh` instead. See there for a discussion of the + differences. Parameters ---------- C : array_like - An array of color values. + A scalar 2-D array. The values will be color-mapped. X, Y : array_like, optional - If given, specify the (x, y) coordinates of the colored - quadrilaterals; the quadrilateral for ``C[i,j]`` has corners at:: - - (X[i, j], Y[i, j]), - (X[i, j+1], Y[i, j+1]), - (X[i+1, j], Y[i+1, j]), - (X[i+1, j+1], Y[i+1, j+1]) + The coordinates of the quadrilateral corners. The quadrilateral + for ``C[i,j]`` has corners at:: - Ideally the dimensions of ``X`` and ``Y`` should be one greater - than those of ``C``; if the dimensions are the same, then the last - row and column of ``C`` will be ignored. + (X[i+1, j], Y[i+1, j]) (X[i+1, j+1], Y[i+1, j+1]) + +--------+ + | C[i,j] | + +--------+ + (X[i, j], Y[i, j]) (X[i, j+1], Y[i, j+1]), Note that the column index corresponds to the - x-coordinate, and the row index corresponds to y; for - details, see the :ref:`Grid Orientation - <axes-pcolor-grid-orientation>` section below. + x-coordinate, and the row index corresponds to y. For + details, see the :ref:`Notes <axes-pcolor-grid-orientation>` + section below. - If either or both of ``X`` and ``Y`` are 1-D arrays or column - vectors, they will be expanded as needed into the appropriate 2-D - arrays, making a rectangular grid. + The dimensions of *X* and *Y* should be one greater than those of + *C*. Alternatively, *X*, *Y* and *C* may have equal dimensions, in + which case the last row and column of *C* will be ignored. - cmap : `~matplotlib.colors.Colormap`, optional, default: None - If `None`, default to rc settings. + If *X* and/or *Y* are 1-D arrays or column vectors they will be + expanded as needed into the appropriate 2-D arrays, making a + rectangular grid. + + cmap : str or `~matplotlib.colors.Colormap`, optional + A Colormap instance or registered colormap name. The colormap + maps the *C* values to colors. Defaults to :rc:`image.cmap`. - norm : `matplotlib.colors.Normalize`, optional, default: None - An instance is used to scale luminance data to (0, 1). - If `None`, defaults to :func:`normalize`. + norm : `~matplotlib.colors.Normalize`, optional + The Normalize instance scales the data values to the canonical + colormap range [0, 1] for mapping to colors. By default, the data + range is mapped to the colorbar range using linear scaling. vmin, vmax : scalar, optional, default: None - ``vmin`` and ``vmax`` are used in conjunction with ``norm`` to - normalize luminance data. If either is `None`, it is autoscaled to - the respective min or max of the color array ``C``. If not `None`, - ``vmin`` or ``vmax`` passed in here override any pre-existing - values supplied in the ``norm`` instance. + The colorbar range. If *None*, suitable min/max values are + automatically chosen by the `~.Normalize` instance (defaults to + the respective min/max values of *C* in case of the default linear + scaling). + + edgecolors : {'none', None, color, color sequence}, optional + The color of the edges. Defaults to 'none'. Possible values: - edgecolors : {None, 'none', color, color sequence} - If None, the rc setting is used by default. - If 'none', edges will not be visible. - An mpl color or sequence of colors will set the edge color. + - 'none' or '': No edge. + - *None*: :rc:`patch.edgecolor` will be used. Note that currently + :rc:`patch.force_edgecolor` has to be True for this to work. + - An mpl color or sequence of colors will set the edge color. + + The singular form *edgecolor* works as an alias. alpha : scalar, optional, default: None The alpha blending value, between 0 (transparent) and 1 (opaque). @@ -5338,18 +5349,17 @@ def pcolor(self, *args, alpha=None, norm=None, cmap=None, vmin=None, Other Parameters ---------------- antialiaseds : bool, optional, default: False - The default ``antialiaseds`` is False if the default - ``edgecolors="none"`` is used. This eliminates artificial lines + The default *antialiaseds* is False if the default + *edgecolors*\ ="none" is used. This eliminates artificial lines at patch boundaries, and works regardless of the value of alpha. - If ``edgecolors`` is not "none", then the default ``antialiaseds`` + If *edgecolors* is not "none", then the default *antialiaseds* is taken from :rc:`patch.antialiased`, which defaults to True. - Stroking the edges may be preferred if ``alpha`` is 1, but will + Stroking the edges may be preferred if *alpha* is 1, but will cause artifacts otherwise. **kwargs : - - Any unused keyword arguments are passed along to the - `~matplotlib.collections.PolyCollection` constructor: + Additionally, the following arguments are allowed. They are passed + along to the `~matplotlib.collections.PolyCollection` constructor: %(PolyCollection)s @@ -5357,53 +5367,36 @@ def pcolor(self, *args, alpha=None, norm=None, cmap=None, vmin=None, -------- pcolormesh : for an explanation of the differences between pcolor and pcolormesh. + imshow : If *X* and *Y* are each equidistant, `~.Axes.imshow` can be a + faster alternative. Notes ----- - .. _axes-pcolor-grid-orientation: - - ``X``, ``Y`` and ``C`` may be masked arrays. If either C[i, j], or one - of the vertices surrounding C[i,j] (``X`` or ``Y`` at [i, j], [i+1, j], - [i, j+1], [i+1, j+1]) is masked, nothing is plotted. - - The grid orientation follows the MATLAB convention: an array ``C`` with - shape (nrows, ncolumns) is plotted with the column number as ``X`` and - the row number as ``Y``, increasing up; hence it is plotted the way the - array would be printed, except that the ``Y`` axis is reversed. That - is, ``C`` is taken as ``C`` (y, x). - - Similarly for :func:`meshgrid`:: - x = np.arange(5) - y = np.arange(3) - X, Y = np.meshgrid(x, y) + **Masked arrays** - is equivalent to:: + *X*, *Y* and *C* may be masked arrays. If either ``C[i, j]``, or one + of the vertices surrounding ``C[i,j]`` (*X* or *Y* at + ``[i, j], [i+1, j], [i, j+1], [i+1, j+1]``) is masked, nothing is + plotted. - X = array([[0, 1, 2, 3, 4], - [0, 1, 2, 3, 4], - [0, 1, 2, 3, 4]]) - - Y = array([[0, 0, 0, 0, 0], - [1, 1, 1, 1, 1], - [2, 2, 2, 2, 2]]) - - so if you have:: - - C = rand(len(x), len(y)) + .. _axes-pcolor-grid-orientation: - then you need to transpose C:: + **Grid orientation** - pcolor(X, Y, C.T) + The grid orientation follows the standard matrix convention: An array + *C* with shape (nrows, ncolumns) is plotted with the column number as + *X* and the row number as *Y*. - or:: + **Handling of pcolor() end-cases** - pcolor(C.T) + ``pcolor()`` displays all columns of *C* if *X* and *Y* are not + specified, or if *X* and *Y* have one more column than *C*. + If *X* and *Y* have the same number of columns as *C* then the last + column of *C* is dropped. Similarly for the rows. - MATLAB :func:`pcolor` always discards the last row and column of ``C``, - but Matplotlib displays the last row and column if ``X`` and ``Y`` are - not specified, or if ``X`` and ``Y`` have one more row and column than - ``C``. + Note: This behavior is different from MATLAB's ``pcolor()``, which + always discards the last row and column of *C*. """ X, Y, C = self._pcolorargs('pcolor', *args, allmatch=False) Ny, Nx = X.shape From d0e6be0abc23dfb72ca3b2aa74a96b7e0db3dc3b Mon Sep 17 00:00:00 2001 From: ImportanceOfBeingErnest <elch.rz@ruetz-online.de> Date: Mon, 28 May 2018 11:32:57 +0200 Subject: [PATCH 0725/1161] Fix infinite loop for connectionstyle + add some tests --- lib/matplotlib/bezier.py | 5 +-- lib/matplotlib/patches.py | 10 +++--- .../test_arrow_patches/connection_styles.png | Bin 0 -> 19851 bytes lib/matplotlib/tests/test_arrow_patches.py | 32 ++++++++++++++++++ 4 files changed, 40 insertions(+), 7 deletions(-) create mode 100644 lib/matplotlib/tests/baseline_images/test_arrow_patches/connection_styles.png diff --git a/lib/matplotlib/bezier.py b/lib/matplotlib/bezier.py index 714a57933bb5..0877038d5776 100644 --- a/lib/matplotlib/bezier.py +++ b/lib/matplotlib/bezier.py @@ -31,8 +31,9 @@ def get_intersection(cx1, cy1, cos_t1, sin_t1, c, d = sin_t2, -cos_t2 ad_bc = a * d - b * c - if ad_bc == 0.: - raise ValueError("Given lines do not intersect") + if np.abs(ad_bc) < 1.0e-12: + raise ValueError("Given lines do not intersect. Please verify that " + "the angles are not equal or differ by 180 degrees.") # rhs_inverse a_, b_ = d, -b diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index a6120d645008..2d7d609dc50d 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -2789,8 +2789,8 @@ class Angle3(_Base): """ Creates a simple quadratic Bezier curve between two points. The middle control points is placed at the - intersecting point of two lines which crosses the start (or - end) point and has a angle of angleA (or angleB). + intersecting point of two lines which cross the start and + end point, and have a slope of angleA and angleB, respectively. """ def __init__(self, angleA=90, angleB=0): @@ -2827,9 +2827,9 @@ class Angle(_Base): """ Creates a piecewise continuous quadratic Bezier path between two points. The path has a one passing-through point placed at - the intersecting point of two lines which crosses the start - (or end) point and has a angle of angleA (or angleB). The - connecting edges are rounded with *rad*. + the intersecting point of two lines which cross the start + and end point, and have a slope of angleA and angleB, respectively. + The connecting edges are rounded with *rad*. """ def __init__(self, angleA=90, angleB=0, rad=0.): diff --git a/lib/matplotlib/tests/baseline_images/test_arrow_patches/connection_styles.png b/lib/matplotlib/tests/baseline_images/test_arrow_patches/connection_styles.png new file mode 100644 index 0000000000000000000000000000000000000000..8255d0d3bf5819327e288032a10b4f77f0922806 GIT binary patch literal 19851 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 F`(NQd)SmzV literal 0 HcmV?d00001 diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py index a6416954ca33..b1ef1e298ef7 100644 --- a/lib/matplotlib/tests/test_arrow_patches.py +++ b/lib/matplotlib/tests/test_arrow_patches.py @@ -1,3 +1,4 @@ +import pytest import matplotlib.pyplot as plt from matplotlib.testing.decorators import image_comparison import matplotlib.patches as mpatches @@ -133,3 +134,34 @@ def test_arrow_styles(): arrowstyle=stylename, mutation_scale=25) ax.add_patch(patch) + + +@image_comparison(baseline_images=['connection_styles'], extensions=['png'], + style='mpl20', remove_text=True) +def test_connection_styles(): + styles = mpatches.ConnectionStyle.get_styles() + + n = len(styles) + fig, ax = plt.subplots(figsize=(6, 10)) + ax.set_xlim(0, 1) + ax.set_ylim(-1, n) + + for i, stylename in enumerate(sorted(styles)): + patch = mpatches.FancyArrowPatch((0.1, i), (0.8, i + 0.5), + arrowstyle="->", + connectionstyle=stylename, + mutation_scale=25) + ax.add_patch(patch) + + +def test_invalid_intersection(): + conn_style_1 = mpatches.ConnectionStyle.Angle3(angleA=20, angleB=200) + p1 = mpatches.FancyArrowPatch((.2, .2), (.5, .5), + connectionstyle=conn_style_1) + with pytest.raises(ValueError): + plt.gca().add_patch(p1) + + conn_style_2 = mpatches.ConnectionStyle.Angle3(angleA=20, angleB=199.9) + p2 = mpatches.FancyArrowPatch((.2, .2), (.5, .5), + connectionstyle=conn_style_2) + plt.gca().add_patch(p2) From 2f78a1ea9da52cc6c8f4412cfc31cd3d3216439a Mon Sep 17 00:00:00 2001 From: ImportanceOfBeingErnest <elch.rz@ruetz-online.de> Date: Fri, 18 May 2018 01:09:57 +0200 Subject: [PATCH 0726/1161] Sanitize some internal documentation links --- examples/lines_bars_and_markers/markevery_prop_cycle.py | 5 +++-- examples/text_labels_and_annotations/annotation_demo.py | 2 +- examples/text_labels_and_annotations/tex_demo.py | 4 ++-- examples/ticks_and_spines/custom_ticker1.py | 5 ++--- tutorials/colors/colorbar_only.py | 4 ++-- tutorials/colors/colors.py | 6 ++++++ tutorials/introductory/customizing.py | 6 +++--- tutorials/introductory/images.py | 4 ++-- tutorials/introductory/pyplot.py | 2 +- tutorials/text/pgf.py | 2 +- tutorials/text/text_intro.py | 6 +++--- 11 files changed, 26 insertions(+), 20 deletions(-) diff --git a/examples/lines_bars_and_markers/markevery_prop_cycle.py b/examples/lines_bars_and_markers/markevery_prop_cycle.py index d39111db9142..ac020e1ba713 100644 --- a/examples/lines_bars_and_markers/markevery_prop_cycle.py +++ b/examples/lines_bars_and_markers/markevery_prop_cycle.py @@ -5,8 +5,9 @@ This example demonstrates a working solution to issue #8576, providing full support of the markevery property for axes.prop_cycle assignments through -rcParams. Makes use of the same list of markevery cases from -https://matplotlib.org/examples/pylab_examples/markevery_demo.html +rcParams. Makes use of the same list of markevery cases from the +:doc:`markevery demo +</gallery/lines_bars_and_markers/markevery_demo>`. Renders a plot with shifted-sine curves along each column with a unique markevery value for each sine curve. diff --git a/examples/text_labels_and_annotations/annotation_demo.py b/examples/text_labels_and_annotations/annotation_demo.py index 9fc9a613a1de..92958dde25f5 100644 --- a/examples/text_labels_and_annotations/annotation_demo.py +++ b/examples/text_labels_and_annotations/annotation_demo.py @@ -7,7 +7,7 @@ This includes highlighting specific points of interest and using various visual tools to call attention to this point. For a more complete and in-depth description of the annotation and text tools in :mod:`matplotlib`, see the -`tutorial on annotation <http://matplotlib.org/users/annotations.html>`_. +:doc:`tutorial on annotation </tutorials/text/annotations>`. """ import matplotlib.pyplot as plt diff --git a/examples/text_labels_and_annotations/tex_demo.py b/examples/text_labels_and_annotations/tex_demo.py index 01ba41b433be..495ee4b3c583 100644 --- a/examples/text_labels_and_annotations/tex_demo.py +++ b/examples/text_labels_and_annotations/tex_demo.py @@ -4,9 +4,9 @@ ================================= You can use TeX to render all of your matplotlib text if the rc -parameter text.usetex is set. This works currently on the agg and ps +parameter ``text.usetex`` is set. This works currently on the agg and ps backends, and requires that you have tex and the other dependencies -described at http://matplotlib.org/users/usetex.html +described in the :doc:`/tutorials/text/usetex` tutorial properly installed on your system. The first time you run a script you will see a lot of output from tex and associated tools. The next time, the run may be silent, as a lot of the information is cached. diff --git a/examples/ticks_and_spines/custom_ticker1.py b/examples/ticks_and_spines/custom_ticker1.py index 091c621175e0..ec943e3032f5 100644 --- a/examples/ticks_and_spines/custom_ticker1.py +++ b/examples/ticks_and_spines/custom_ticker1.py @@ -4,13 +4,12 @@ ============== The new ticker code was designed to explicitly support user customized -ticking. The documentation -http://matplotlib.org/api/ticker_api.html#module-matplotlib.ticker details this +ticking. The documentation of :mod:`matplotlib.ticker` details this process. That code defines a lot of preset tickers but was primarily designed to be user extensible. In this example a user defined function is used to format the ticks in -millions of dollars on the y axis +millions of dollars on the y axis. """ from matplotlib.ticker import FuncFormatter import matplotlib.pyplot as plt diff --git a/tutorials/colors/colorbar_only.py b/tutorials/colors/colorbar_only.py index 3f211e42dbc0..767c74ee46b2 100644 --- a/tutorials/colors/colorbar_only.py +++ b/tutorials/colors/colorbar_only.py @@ -22,8 +22,8 @@ will be used. Then create the colorbar by calling :class:`~matplotlib.colorbar.ColorbarBase` and specify axis, colormap, norm and orientation as parameters. Here we create a basic continuous colorbar -with ticks and labels. More information on the colorbar API can be found -`here <https://matplotlib.org/api/colorbar_api.html>`_. +with ticks and labels. For more information see the +:mod:`~matplotlib.colorbar` API. """ import matplotlib.pyplot as plt diff --git a/tutorials/colors/colors.py b/tutorials/colors/colors.py index 52e466efdc61..5721cb6b0b5a 100644 --- a/tutorials/colors/colors.py +++ b/tutorials/colors/colors.py @@ -38,6 +38,12 @@ All string specifications of color, other than "CN", are case-insensitive. +For more information on colors in matplotlib see + +* the :doc:`/gallery/color/color_demo` example; +* the `matplotlib.colors` API; +* the :doc:`/gallery/color/named_colors` example. + "CN" color selection -------------------- diff --git a/tutorials/introductory/customizing.py b/tutorials/introductory/customizing.py index 0be0daf16d6a..e721f2df8712 100644 --- a/tutorials/introductory/customizing.py +++ b/tutorials/introductory/customizing.py @@ -8,8 +8,9 @@ ------------------ The ``style`` package adds support for easy-to-switch plotting "styles" with -the same parameters as a matplotlibrc_ file (which is read at startup to -configure matplotlib). +the same parameters as a +:ref:`matplotlib rc <customizing-with-matplotlibrc-files>` file (which is read +at startup to configure matplotlib). There are a number of pre-defined styles provided by matplotlib. For example, there's a pre-defined style called "ggplot", which emulates the @@ -183,6 +184,5 @@ # .. literalinclude:: ../../../matplotlibrc.template # # -# .. _matplotlibrc: http://matplotlib.org/users/customizing.html # .. _ggplot: http://ggplot2.org/ # .. _R: https://www.r-project.org/ diff --git a/tutorials/introductory/images.py b/tutorials/introductory/images.py index 4c76ca59bb70..9f9dd33ec474 100644 --- a/tutorials/introductory/images.py +++ b/tutorials/introductory/images.py @@ -42,8 +42,8 @@ settings. The alternative is the object-oriented interface, which is also very powerful, and generally more suitable for large application development. If you'd like to learn about the object-oriented -interface, a great place to start is our `FAQ on usage -<http://matplotlib.org/faq/usage_faq.html>`_. For now, let's get on +interface, a great place to start is our :doc:`Usage guide +</tutorials/introductory/usage>`. For now, let's get on with the imperative-style approach: """ diff --git a/tutorials/introductory/pyplot.py b/tutorials/introductory/pyplot.py index 92fc3a3dfdf6..6d52145d2970 100644 --- a/tutorials/introductory/pyplot.py +++ b/tutorials/introductory/pyplot.py @@ -23,7 +23,7 @@ # the current figure and plotting area, and the plotting # functions are directed to the current axes (please note that "axes" here # and in most places in the documentation refers to the *axes* -# `part of a figure <http://matplotlib.org/faq/usage_faq.html#parts-of-a-figure>`__ +# :ref:`part of a figure <figure_parts>` # and not the strict mathematical term for more than one axis). # # .. note:: diff --git a/tutorials/text/pgf.py b/tutorials/text/pgf.py index 3b2682a723e8..a52e1d12d5fd 100644 --- a/tutorials/text/pgf.py +++ b/tutorials/text/pgf.py @@ -188,7 +188,7 @@ `tex.stackexchange.com <http://tex.stackexchange.com/questions/7953>`_. Another way would be to "rasterize" parts of the graph causing problems using either the ``rasterized=True`` keyword, or ``.set_rasterized(True)`` as per - `this example <http://matplotlib.org/examples/misc/rasterization_demo.html>`_. + :doc:`this example </gallery/misc/rasterization_demo>`. * If you still need help, please see :ref:`reporting-problems` diff --git a/tutorials/text/text_intro.py b/tutorials/text/text_intro.py index f29e8880e850..a89684b5337d 100644 --- a/tutorials/text/text_intro.py +++ b/tutorials/text/text_intro.py @@ -21,11 +21,11 @@ The user has a great deal of control over text properties (font size, font weight, text location and color, etc.) with sensible defaults set in -the `rc file <http://matplotlib.org/users/customizing.html>`. +the :doc:`rc file </tutorials/introductory/customizing>`. And significantly, for those interested in mathematical or scientific figures, matplotlib implements a large number of TeX -math symbols and commands, supporting :ref:`mathematical expressions -<sphx_glr_tutorials_text_mathtext.py>` anywhere in your figure. +math symbols and commands, supporting :doc:`mathematical expressions +</tutorials/text/mathtext>` anywhere in your figure. Basic text commands From 2d807cf70f3ab1fb7742b7a4397aa23cab930e7b Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sat, 26 May 2018 21:33:23 +0200 Subject: [PATCH 0727/1161] Improve docstring of imread() and imsave() --- lib/matplotlib/image.py | 78 +++++++++++++++++++++++----------------- lib/matplotlib/pyplot.py | 11 +++--- 2 files changed, 50 insertions(+), 39 deletions(-) diff --git a/lib/matplotlib/image.py b/lib/matplotlib/image.py index 84de7fd5db90..f92c5f499923 100644 --- a/lib/matplotlib/image.py +++ b/lib/matplotlib/image.py @@ -1291,24 +1291,33 @@ def imread(fname, format=None): """ Read an image from a file into an array. - *fname* may be a string path, a valid URL, or a Python - file-like object. If using a file object, it must be opened in binary - mode. - - If *format* is provided, will try to read file of that type, - otherwise the format is deduced from the filename. If nothing can - be deduced, PNG is tried. - - Return value is a :class:`numpy.array`. For grayscale images, the - return array is MxN. For RGB images, the return value is MxNx3. - For RGBA images the return value is MxNx4. - - matplotlib can only read PNGs natively, but if `PIL - <http://www.pythonware.com/products/pil/>`_ is installed, it will - use it to load the image and return an array (if possible) which - can be used with :func:`~matplotlib.pyplot.imshow`. Note, URL strings - may not be compatible with PIL. Check the PIL documentation for more - information. + Parameters + ---------- + fname : str or file-like + The image file to read. This can be a filename, a URL or a Python + file-like object opened in read-binary mode. + format : str, optional + The image file format assumed for reading the data. If not + given, the format is deduced from the filename. If nothing can + be deduced, PNG is tried. + + Returns + ------- + imagedata : :class:`numpy.array` + The image data. The returned array has shape + + - (M, N) for grayscale images. + - (M, N, 3) for RGB images. + - (M, N, 4) for RGBA images. + + Notes + ----- + Matplotlib can only read PNGs natively. Further image formats are + supported via the optional dependency on Pillow. Note, URL strings + are not compatible with Pillow. Check the `Pillow documentation`_ + for more information. + + .. _Pillow documentation: http://pillow.readthedocs.io/en/latest/ """ def pilread(fname): @@ -1374,26 +1383,29 @@ def imsave(fname, arr, vmin=None, vmax=None, cmap=None, format=None, Parameters ---------- fname : str or file-like - Path string to a filename, or a Python file-like object. - If *format* is *None* and *fname* is a string, the output - format is deduced from the extension of the filename. + The filename or a Python file-like object to store the image in. + The necessary output format is inferred from the filename extension + but may be explicitly overwritten using *format*. arr : array-like - An MxN (luminance), MxNx3 (RGB) or MxNx4 (RGBA) array. - vmin, vmax: [ None | scalar ] + The image data. The shape can be one of + MxN (luminance), MxNx3 (RGB) or MxNx4 (RGBA). + vmin, vmax : scalar, optional *vmin* and *vmax* set the color scaling for the image by fixing the values that map to the colormap color limits. If either *vmin* or *vmax* is None, that limit is determined from the *arr* min/max value. - cmap : matplotlib.colors.Colormap, optional - For example, ``cm.viridis``. If ``None``, defaults to the - ``image.cmap`` rcParam. - format : str - One of the file extensions supported by the active backend. Most - backends support png, pdf, ps, eps and svg. - origin : [ 'upper' | 'lower' ] - Indicates whether the ``(0, 0)`` index of the array is in the - upper left or lower left corner of the axes. Defaults to the - ``image.origin`` rcParam. + cmap : str or `~matplotlib.colors.Colormap`, optional + A Colormap instance or registered colormap name. The colormap + maps scalar data to colors. It is ignored for RGB(A) data. + Defaults to :rc:`image.cmap` ('viridis'). + format : str, optional + The file format, e.g. 'png', 'pdf', 'svg', ... . If not given, the + format is deduced form the filename extension in *fname*. + See `.Figure.savefig` for details. + origin : {'upper', 'lower'}, optional + Indicates whether the ``(0, 0)`` index of the array is in the upper + left or lower left corner of the axes. Defaults to :rc:`image.origin` + ('upper'). dpi : int The DPI to store in the metadata of the file. This does not affect the resolution of the output image. diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index cbd5371d32a0..f24ad52145df 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -28,6 +28,7 @@ from cycler import cycler import matplotlib import matplotlib.colorbar +import matplotlib.image from matplotlib import style from matplotlib import _pylab_helpers, interactive from matplotlib.cbook import ( @@ -36,8 +37,6 @@ from matplotlib.backend_bases import FigureCanvasBase from matplotlib.figure import Figure, figaspect from matplotlib.gridspec import GridSpec -from matplotlib.image import imread as _imread -from matplotlib.image import imsave as _imsave from matplotlib import rcParams, rcParamsDefault, get_backend from matplotlib import rc_context from matplotlib.rcsetup import interactive_bk as _interactive_bk @@ -1989,14 +1988,14 @@ def set_cmap(cmap): im.set_cmap(cmap) -@docstring.copy_dedent(_imread) +@docstring.copy_dedent(matplotlib.image.imread) def imread(fname, format=None): - return _imread(fname, format) + return matplotlib.image.imread(fname, format) -@docstring.copy_dedent(_imsave) +@docstring.copy_dedent(matplotlib.image.imsave) def imsave(fname, arr, **kwargs): - return _imsave(fname, arr, **kwargs) + return matplotlib.image.imsave(fname, arr, **kwargs) def matshow(A, fignum=None, **kw): From 3fb64a54beba862368104d1186ae14664ef42e46 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Tue, 29 May 2018 00:11:10 +0200 Subject: [PATCH 0728/1161] Undeprecate Polygon.xy from #11299 --- lib/matplotlib/patches.py | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index 2d7d609dc50d..214284667b66 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -1000,13 +1000,8 @@ def set_xy(self, xy): _get_xy = get_xy _set_xy = set_xy - xy = property( - cbook.deprecated("3.0")(get_xy), cbook.deprecated("3.0")(set_xy), - doc="""Set/get the vertices of the polygon. This property is - provided for backward compatibility with matplotlib 0.91.x - only. New code should use - :meth:`~matplotlib.patches.Polygon.get_xy` and - :meth:`~matplotlib.patches.Polygon.set_xy` instead.""") + xy = property(get_xy, set_xy, + doc='The vertices of the path as (N, 2) numpy array.') class Wedge(Patch): From 617c5d6899598e11d2566f3efbc19ee8a4bbbff2 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Thu, 24 May 2018 22:52:02 -0700 Subject: [PATCH 0729/1161] Revival of the backend loading refactor. --- doc/api/next_api_changes/2018-05-25-AL.rst | 7 + lib/matplotlib/backend_bases.py | 234 +++++++++++---------- lib/matplotlib/backends/__init__.py | 76 +++---- lib/matplotlib/backends/backend_pdf.py | 4 +- lib/matplotlib/backends/backend_ps.py | 4 +- lib/matplotlib/backends/backend_svg.py | 5 +- 6 files changed, 154 insertions(+), 176 deletions(-) create mode 100644 doc/api/next_api_changes/2018-05-25-AL.rst diff --git a/doc/api/next_api_changes/2018-05-25-AL.rst b/doc/api/next_api_changes/2018-05-25-AL.rst new file mode 100644 index 000000000000..cc461c69c61a --- /dev/null +++ b/doc/api/next_api_changes/2018-05-25-AL.rst @@ -0,0 +1,7 @@ +Non-interactive FigureManager classes are now aliases of FigureManagerBase +`````````````````````````````````````````````````````````````````````````` + +The `FigureManagerPdf`, `FigureManagerPS`, and `FigureManagerSVG` classes, +which were previously empty subclasses of `FigureManagerBase` (i.e., not +adding or overriding any attribute or method), are now direct aliases for +`FigureManagerBase`. diff --git a/lib/matplotlib/backend_bases.py b/lib/matplotlib/backend_bases.py index 61b2e3b79333..d828a7b0a16b 100644 --- a/lib/matplotlib/backend_bases.py +++ b/lib/matplotlib/backend_bases.py @@ -124,121 +124,6 @@ def get_registered_canvas_class(format): return backend_class -class _Backend(object): - # A backend can be defined by using the following pattern: - # - # @_Backend.export - # class FooBackend(_Backend): - # # override the attributes and methods documented below. - - # The following attributes and methods must be overridden by subclasses. - - # The `FigureCanvas` and `FigureManager` classes must be defined. - FigureCanvas = None - FigureManager = None - - # The following methods must be left as None for non-interactive backends. - # For interactive backends, `trigger_manager_draw` should be a function - # taking a manager as argument and triggering a canvas draw, and `mainloop` - # should be a function taking no argument and starting the backend main - # loop. - trigger_manager_draw = None - mainloop = None - - # The following methods will be automatically defined and exported, but - # can be overridden. - - @classmethod - def new_figure_manager(cls, num, *args, **kwargs): - """Create a new figure manager instance. - """ - # This import needs to happen here due to circular imports. - from matplotlib.figure import Figure - fig_cls = kwargs.pop('FigureClass', Figure) - fig = fig_cls(*args, **kwargs) - return cls.new_figure_manager_given_figure(num, fig) - - @classmethod - def new_figure_manager_given_figure(cls, num, figure): - """Create a new figure manager instance for the given figure. - """ - canvas = cls.FigureCanvas(figure) - manager = cls.FigureManager(canvas, num) - return manager - - @classmethod - def draw_if_interactive(cls): - if cls.trigger_manager_draw is not None and is_interactive(): - manager = Gcf.get_active() - if manager: - cls.trigger_manager_draw(manager) - - @classmethod - def show(cls, block=None): - """Show all figures. - - `show` blocks by calling `mainloop` if *block* is ``True``, or if it - is ``None`` and we are neither in IPython's ``%pylab`` mode, nor in - `interactive` mode. - """ - managers = Gcf.get_all_fig_managers() - if not managers: - return - for manager in managers: - # Emits a warning if the backend is non-interactive. - manager.canvas.figure.show() - if cls.mainloop is None: - return - if block is None: - # Hack: Are we in IPython's pylab mode? - from matplotlib import pyplot - try: - # IPython versions >= 0.10 tack the _needmain attribute onto - # pyplot.show, and always set it to False, when in %pylab mode. - ipython_pylab = not pyplot.show._needmain - except AttributeError: - ipython_pylab = False - block = not ipython_pylab and not is_interactive() - # TODO: The above is a hack to get the WebAgg backend working with - # ipython's `%pylab` mode until proper integration is implemented. - if get_backend() == "WebAgg": - block = True - if block: - cls.mainloop() - - # This method is the one actually exporting the required methods. - - @staticmethod - def export(cls): - for name in ["FigureCanvas", - "FigureManager", - "new_figure_manager", - "new_figure_manager_given_figure", - "draw_if_interactive", - "show"]: - setattr(sys.modules[cls.__module__], name, getattr(cls, name)) - - # For back-compatibility, generate a shim `Show` class. - - class Show(ShowBase): - def mainloop(self): - return cls.mainloop() - - setattr(sys.modules[cls.__module__], "Show", Show) - return cls - - -class ShowBase(_Backend): - """ - Simple base class to generate a show() callable in backends. - - Subclass must override mainloop() method. - """ - - def __call__(self, block=None): - return self.show(block=block) - - class RendererBase(object): """An abstract base class to handle drawing/rendering operations. @@ -3328,3 +3213,122 @@ def set_message(self, s): Message text """ pass + + +class _Backend(object): + # A backend can be defined by using the following pattern: + # + # @_Backend.export + # class FooBackend(_Backend): + # # override the attributes and methods documented below. + + # `backend_version` may be overridden by the subclass. + backend_version = "unknown" + + # The `FigureCanvas` class must be defined. + FigureCanvas = None + + # For interactive backends, the `FigureManager` class must be overridden. + FigureManager = FigureManagerBase + + # The following methods must be left as None for non-interactive backends. + # For interactive backends, `trigger_manager_draw` should be a function + # taking a manager as argument and triggering a canvas draw, and `mainloop` + # should be a function taking no argument and starting the backend main + # loop. + trigger_manager_draw = None + mainloop = None + + # The following methods will be automatically defined and exported, but + # can be overridden. + + @classmethod + def new_figure_manager(cls, num, *args, **kwargs): + """Create a new figure manager instance. + """ + # This import needs to happen here due to circular imports. + from matplotlib.figure import Figure + fig_cls = kwargs.pop('FigureClass', Figure) + fig = fig_cls(*args, **kwargs) + return cls.new_figure_manager_given_figure(num, fig) + + @classmethod + def new_figure_manager_given_figure(cls, num, figure): + """Create a new figure manager instance for the given figure. + """ + canvas = cls.FigureCanvas(figure) + manager = cls.FigureManager(canvas, num) + return manager + + @classmethod + def draw_if_interactive(cls): + if cls.trigger_manager_draw is not None and is_interactive(): + manager = Gcf.get_active() + if manager: + cls.trigger_manager_draw(manager) + + @classmethod + def show(cls, block=None): + """Show all figures. + + `show` blocks by calling `mainloop` if *block* is ``True``, or if it + is ``None`` and we are neither in IPython's ``%pylab`` mode, nor in + `interactive` mode. + """ + managers = Gcf.get_all_fig_managers() + if not managers: + return + for manager in managers: + # Emits a warning if the backend is non-interactive. + manager.canvas.figure.show() + if cls.mainloop is None: + return + if block is None: + # Hack: Are we in IPython's pylab mode? + from matplotlib import pyplot + try: + # IPython versions >= 0.10 tack the _needmain attribute onto + # pyplot.show, and always set it to False, when in %pylab mode. + ipython_pylab = not pyplot.show._needmain + except AttributeError: + ipython_pylab = False + block = not ipython_pylab and not is_interactive() + # TODO: The above is a hack to get the WebAgg backend working with + # ipython's `%pylab` mode until proper integration is implemented. + if get_backend() == "WebAgg": + block = True + if block: + cls.mainloop() + + # This method is the one actually exporting the required methods. + + @staticmethod + def export(cls): + for name in ["backend_version", + "FigureCanvas", + "FigureManager", + "new_figure_manager", + "new_figure_manager_given_figure", + "draw_if_interactive", + "show"]: + setattr(sys.modules[cls.__module__], name, getattr(cls, name)) + + # For back-compatibility, generate a shim `Show` class. + + class Show(ShowBase): + def mainloop(self): + return cls.mainloop() + + setattr(sys.modules[cls.__module__], "Show", Show) + return cls + + +class ShowBase(_Backend): + """ + Simple base class to generate a show() callable in backends. + + Subclass must override mainloop() method. + """ + + def __call__(self, block=None): + return self.show(block=block) diff --git a/lib/matplotlib/backends/__init__.py b/lib/matplotlib/backends/__init__.py index 74a866365e4b..e506d3100927 100644 --- a/lib/matplotlib/backends/__init__.py +++ b/lib/matplotlib/backends/__init__.py @@ -1,9 +1,9 @@ -import inspect +import importlib import logging import traceback -import warnings import matplotlib +from matplotlib.backend_bases import _Backend _log = logging.getLogger(__name__) @@ -15,10 +15,11 @@ def pylab_setup(name=None): - '''return new_figure_manager, draw_if_interactive and show for pyplot + """ + Return new_figure_manager, draw_if_interactive and show for pyplot. - This provides the backend-specific functions that are used by - pyplot to abstract away the difference between interactive backends. + This provides the backend-specific functions that are used by pyplot to + abstract away the difference between backends. Parameters ---------- @@ -39,54 +40,25 @@ def pylab_setup(name=None): show : function Show (and possibly block) any unshown figures. - - ''' - # Import the requested backend into a generic module object + """ + # Import the requested backend into a generic module object. if name is None: - # validates, to match all_backends name = matplotlib.get_backend() - if name.startswith('module://'): - backend_name = name[9:] - else: - backend_name = 'backend_' + name - backend_name = backend_name.lower() # until we banish mixed case - backend_name = 'matplotlib.backends.%s' % backend_name.lower() - - # the last argument is specifies whether to use absolute or relative - # imports. 0 means only perform absolute imports. - backend_mod = __import__(backend_name, globals(), locals(), - [backend_name], 0) - - # Things we pull in from all backends - new_figure_manager = backend_mod.new_figure_manager - - # image backends like pdf, agg or svg do not need to do anything - # for "show" or "draw_if_interactive", so if they are not defined - # by the backend, just do nothing - def do_nothing_show(*args, **kwargs): - frame = inspect.currentframe() - fname = frame.f_back.f_code.co_filename - if fname in ('<stdin>', '<ipython console>'): - warnings.warn(""" -Your currently selected backend, '%s' does not support show(). -Please select a GUI backend in your matplotlibrc file ('%s') -or with matplotlib.use()""" % - (name, matplotlib.matplotlib_fname()), stacklevel=2) - - def do_nothing(*args, **kwargs): - pass - - backend_version = getattr(backend_mod, 'backend_version', 'unknown') - - show = getattr(backend_mod, 'show', do_nothing_show) - - draw_if_interactive = getattr(backend_mod, 'draw_if_interactive', - do_nothing) - - _log.debug('backend %s version %s', name, backend_version) - - # need to keep a global reference to the backend for compatibility - # reasons. See https://github.com/matplotlib/matplotlib/issues/6092 + backend_name = (name[9:] if name.startswith("module://") + else "matplotlib.backends.backend_{}".format(name.lower())) + backend_mod = importlib.import_module(backend_name) + # Create a local Backend class whose body corresponds to the contents of + # the backend module. This allows the Backend class to fill in the missing + # methods through inheritance. + Backend = type("Backend", (_Backend,), vars(backend_mod)) + + # Need to keep a global reference to the backend for compatibility reasons. + # See https://github.com/matplotlib/matplotlib/issues/6092 global backend backend = name - return backend_mod, new_figure_manager, draw_if_interactive, show + + _log.debug('backend %s version %s', name, Backend.backend_version) + return (backend_mod, + Backend.new_figure_manager, + Backend.draw_if_interactive, + Backend.show) diff --git a/lib/matplotlib/backends/backend_pdf.py b/lib/matplotlib/backends/backend_pdf.py index b2973117e0c5..43d03aae7c8d 100644 --- a/lib/matplotlib/backends/backend_pdf.py +++ b/lib/matplotlib/backends/backend_pdf.py @@ -2575,11 +2575,9 @@ def print_pdf(self, filename, *, file.close() -class FigureManagerPdf(FigureManagerBase): - pass +FigureManagerPdf = FigureManagerBase @_Backend.export class _BackendPdf(_Backend): FigureCanvas = FigureCanvasPdf - FigureManager = FigureManagerPdf diff --git a/lib/matplotlib/backends/backend_ps.py b/lib/matplotlib/backends/backend_ps.py index 62699400cac8..3209acb4a59b 100644 --- a/lib/matplotlib/backends/backend_ps.py +++ b/lib/matplotlib/backends/backend_ps.py @@ -1695,8 +1695,7 @@ def pstoeps(tmpfile, bbox=None, rotated=False): shutil.move(epsfile, tmpfile) -class FigureManagerPS(FigureManagerBase): - pass +FigureManagerPS = FigureManagerBase # The following Python dictionary psDefs contains the entries for the @@ -1742,4 +1741,3 @@ class FigureManagerPS(FigureManagerBase): @_Backend.export class _BackendPS(_Backend): FigureCanvas = FigureCanvasPS - FigureManager = FigureManagerPS diff --git a/lib/matplotlib/backends/backend_svg.py b/lib/matplotlib/backends/backend_svg.py index 06ea019b5fce..17b913fbd4b7 100644 --- a/lib/matplotlib/backends/backend_svg.py +++ b/lib/matplotlib/backends/backend_svg.py @@ -1213,8 +1213,8 @@ def _print_svg( def get_default_filetype(self): return 'svg' -class FigureManagerSVG(FigureManagerBase): - pass + +FigureManagerSVG = FigureManagerBase svgProlog = """\ @@ -1228,4 +1228,3 @@ class FigureManagerSVG(FigureManagerBase): @_Backend.export class _BackendSVG(_Backend): FigureCanvas = FigureCanvasSVG - FigureManager = FigureManagerSVG From b5fac2218b0ab52f48e0d1e216c06be3d0a38417 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Tue, 29 May 2018 00:33:37 +0200 Subject: [PATCH 0730/1161] Minor docstring updates on thumbnail --- lib/matplotlib/image.py | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/lib/matplotlib/image.py b/lib/matplotlib/image.py index 3ba8b096e6f7..bc3f36235173 100644 --- a/lib/matplotlib/image.py +++ b/lib/matplotlib/image.py @@ -1419,11 +1419,20 @@ def imsave(fname, arr, vmin=None, vmax=None, cmap=None, format=None, def pil_to_array(pilImage): - """Load a PIL image and return it as a numpy array. + """Load a `PIL image`_ and return it as a numpy array. + + .. _PIL image: https://pillow.readthedocs.io/en/latest/reference/Image.html + + Returns + ------- + numpy.array + + The array shape depends on the image type: + + - (M, N) for grayscale images. + - (M, N, 3) for RGB images. + - (M, N, 4) for RGBA images. - Grayscale images are returned as ``(M, N)`` arrays. RGB images are - returned as ``(M, N, 3)`` arrays. RGBA images are returned as ``(M, N, - 4)`` arrays. """ if pilImage.mode in ['RGBA', 'RGBX', 'RGB', 'L']: # return MxNx4 RGBA, MxNx3 RBA, or MxN luminance array @@ -1453,20 +1462,21 @@ def thumbnail(infile, thumbfile, scale=0.1, interpolation='bilinear', Parameters ---------- - infile + infile : str or file-like The image file -- must be PNG, Pillow-readable if you have `Pillow <http://python-pillow.org/>`_ installed. - thumbfile + thumbfile : str or file-like The thumbnail filename. - scale + scale : float, optional The scale factor for the thumbnail. - interpolation - The interpolation scheme used in the resampling. + interpolation : str, optional + The interpolation scheme used in the resampling. See the + *interpolation* parameter of `~.Axes.imshow` for possible values. - preview + preview : bool, optional If True, the default backend (presumably a user interface backend) will be used which will cause a figure to be raised if `~matplotlib.pyplot.show` is called. If it is False, the figure is @@ -1475,7 +1485,7 @@ def thumbnail(infile, thumbfile, scale=0.1, interpolation='bilinear', Returns ------- - figure : + figure : `~.figure.Figure` The figure instance containing the thumbnail. """ From bded7cb26596d506e838de6ba7872b11f68ebd53 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Fri, 25 May 2018 03:31:06 -0700 Subject: [PATCH 0731/1161] Replace :ref:`sphx_glr_...` by :doc:`/...`. The latter form is shorter, not specific to sphinx-gallery, maps more cleanly to the actual path (no confusion between underscores and slashes), and links to the example page itself rather than an anchor just below it. Done by sed + manual checking. --- doc/api/api_changes.rst | 4 ++-- doc/api/pyplot_summary.rst | 4 ++-- doc/api/toolkits/index.rst | 2 +- doc/api/toolkits/mplot3d/index.rst | 2 +- doc/devel/contributing.rst | 2 +- doc/faq/howto_faq.rst | 16 ++++++++-------- doc/faq/installing_faq.rst | 2 +- doc/faq/troubleshooting_faq.rst | 2 +- doc/users/dflt_style_changes.rst | 4 ++-- doc/users/prev_whats_new/whats_new_0.98.4.rst | 2 +- doc/users/prev_whats_new/whats_new_0.99.rst | 10 +++++----- doc/users/prev_whats_new/whats_new_1.0.rst | 4 ++-- doc/users/prev_whats_new/whats_new_1.1.rst | 8 ++++---- doc/users/prev_whats_new/whats_new_1.2.rst | 2 +- doc/users/prev_whats_new/whats_new_1.4.rst | 6 +++--- doc/users/prev_whats_new/whats_new_1.5.rst | 2 +- doc/users/prev_whats_new/whats_new_2.0.0.rst | 2 +- doc/users/prev_whats_new/whats_new_2.1.0.rst | 2 +- doc/users/shell.rst | 2 +- examples/axes_grid1/simple_anchored_artists.py | 2 +- examples/color/color_cycle_default.py | 2 +- examples/color/color_cycler.py | 2 +- examples/color/color_demo.py | 4 ++-- examples/color/named_colors.py | 4 ++-- .../images_contours_and_fields/contour_demo.py | 2 +- .../images_contours_and_fields/contour_image.py | 4 ++-- .../contour_label_demo.py | 2 +- .../images_contours_and_fields/custom_cmap.py | 2 +- .../images_contours_and_fields/image_demo.py | 4 ++-- .../interpolation_methods.py | 2 +- .../images_contours_and_fields/quiver_demo.py | 2 +- .../quiver_simple_demo.py | 2 +- .../line_demo_dash_control.py | 2 +- examples/misc/anchored_artists.py | 2 +- examples/recipes/fill_between_alpha.py | 2 +- examples/recipes/placing_text_boxes.py | 2 +- examples/shapes_and_collections/ellipse_demo.py | 2 +- .../subplots_axes_and_figures/subplot_demo.py | 2 +- .../custom_legends.py | 4 ++-- lib/matplotlib/axes/_axes.py | 8 ++++---- lib/matplotlib/figure.py | 2 +- lib/matplotlib/legend.py | 4 ++-- lib/matplotlib/legend_handler.py | 2 +- lib/matplotlib/mathtext.py | 2 +- lib/matplotlib/ticker.py | 2 +- lib/matplotlib/widgets.py | 4 ++-- tutorials/advanced/transforms_tutorial.py | 2 +- tutorials/intermediate/tight_layout_guide.py | 2 +- tutorials/introductory/lifecycle.py | 6 +++--- tutorials/introductory/pyplot.py | 16 ++++++++-------- tutorials/introductory/sample_plots.py | 2 +- tutorials/introductory/usage.py | 10 +++++----- tutorials/text/annotations.py | 4 ++-- tutorials/text/mathtext.py | 6 +++--- tutorials/text/text_props.py | 6 +++--- tutorials/text/usetex.py | 4 ++-- 56 files changed, 105 insertions(+), 105 deletions(-) diff --git a/doc/api/api_changes.rst b/doc/api/api_changes.rst index 6a66a0bc3367..fa9ccddf786d 100644 --- a/doc/api/api_changes.rst +++ b/doc/api/api_changes.rst @@ -30,7 +30,7 @@ New dependency `kiwisolver <https://github.com/nucleic/kiwi>`__ is now a required dependency to support the new constrained_layout, see -:ref:`sphx_glr_tutorials_intermediate_constrainedlayout_guide.py` for +:doc:`/tutorials/intermediate/constrainedlayout_guide` for more details. @@ -1603,7 +1603,7 @@ original location: * The legend handler interface has changed from a callable, to any object which implements the ``legend_artists`` method (a deprecation phase will see this interface be maintained for v1.4). See - :ref:`sphx_glr_tutorials_intermediate_legend_guide.py` for further details. Further legend changes + :doc:`/tutorials/intermediate/legend_guide` for further details. Further legend changes include: * :func:`matplotlib.axes.Axes._get_legend_handles` now returns a generator diff --git a/doc/api/pyplot_summary.rst b/doc/api/pyplot_summary.rst index db513d8c2660..4b290d5452af 100644 --- a/doc/api/pyplot_summary.rst +++ b/doc/api/pyplot_summary.rst @@ -8,7 +8,7 @@ The Pyplot API The :mod:`matplotlib.pyplot` module contains functions that allow you to generate many kinds of plots quickly. For examples that showcase the use of the :mod:`matplotlib.pyplot` module, see the -:ref:`sphx_glr_tutorials_introductory_pyplot.py` +:doc:`/tutorials/introductory/pyplot` or the :ref:`pyplots_examples`. We also recommend that you look into the object-oriented approach to plotting, described below. @@ -38,6 +38,6 @@ There are many colormaps you can use to map data onto color values. Below we list several ways in which color can be utilized in Matplotlib. For a more in-depth look at colormaps, see the -:ref:`sphx_glr_tutorials_colors_colormaps.py` tutorial. +:doc:`/tutorials/colors/colormaps` tutorial. .. autofunction:: colormaps diff --git a/doc/api/toolkits/index.rst b/doc/api/toolkits/index.rst index f995dfb3b54d..2089156a1d21 100644 --- a/doc/api/toolkits/index.rst +++ b/doc/api/toolkits/index.rst @@ -21,7 +21,7 @@ mplot3d plotting (scatter, surf, line, mesh) tools. Not the fastest or most feature complete 3D library out there, but it ships with Matplotlib and thus may be a lighter weight solution for some use cases. Check out the -:ref:`mplot3d tutorial <sphx_glr_tutorials_toolkits_mplot3d.py>` for more +:doc:`mplot3d tutorial </tutorials/toolkits/mplot3d>` for more information. .. figure:: ../../gallery/mplot3d/images/sphx_glr_contourf3d_2_001.png diff --git a/doc/api/toolkits/mplot3d/index.rst b/doc/api/toolkits/mplot3d/index.rst index b5ec1418deec..8b153c06903f 100644 --- a/doc/api/toolkits/mplot3d/index.rst +++ b/doc/api/toolkits/mplot3d/index.rst @@ -11,7 +11,7 @@ The mplot3d toolkit adds simple 3D plotting capabilities to matplotlib by supplying an axes object that can create a 2D projection of a 3D scene. The resulting graph will have the same look and feel as regular 2D plots. -See the :ref:`mplot3d tutorial <sphx_glr_tutorials_toolkits_mplot3d.py>` for +See the :doc:`mplot3d tutorial </tutorials/toolkits/mplot3d>` for more information on how to use this toolkit. .. image:: /_static/demo_mplot3d.png diff --git a/doc/devel/contributing.rst b/doc/devel/contributing.rst index 3821297366f1..9063529e0e57 100644 --- a/doc/devel/contributing.rst +++ b/doc/devel/contributing.rst @@ -479,7 +479,7 @@ Developing a new backend ------------------------ If you are working on a custom backend, the *backend* setting in -:file:`matplotlibrc` (:ref:`sphx_glr_tutorials_introductory_customizing.py`) supports an +:file:`matplotlibrc` (:doc:`/tutorials/introductory/customizing`) supports an external backend via the ``module`` directive. If :file:`my_backend.py` is a Matplotlib backend in your :envvar:`PYTHONPATH`, you can set it on one of several ways diff --git a/doc/faq/howto_faq.rst b/doc/faq/howto_faq.rst index 09fc7d8c1007..83cff0830b39 100644 --- a/doc/faq/howto_faq.rst +++ b/doc/faq/howto_faq.rst @@ -43,7 +43,7 @@ If you only want to use the `pandas` converter for `datetime64` values :: Find all objects in a figure of a certain type ---------------------------------------------- -Every Matplotlib artist (see :ref:`sphx_glr_tutorials_intermediate_artists.py`) has a method +Every Matplotlib artist (see :doc:`/tutorials/intermediate/artists`) has a method called :meth:`~matplotlib.artist.Artist.findobj` that can be used to recursively search the artist for any artists it may contain that meet some criteria (e.g., match all :class:`~matplotlib.lines.Line2D` @@ -159,7 +159,7 @@ labels:: ax = fig.add_subplot(111) You can control the defaults for these parameters in your -:file:`matplotlibrc` file; see :ref:`sphx_glr_tutorials_introductory_customizing.py`. For +:file:`matplotlibrc` file; see :doc:`/tutorials/introductory/customizing`. For example, to make the above setting permanent, you would set:: figure.subplot.bottom : 0.2 # the bottom of the subplots of the figure @@ -190,7 +190,7 @@ specify the location explicitly:: ax = fig.add_axes([left, bottom, width, height]) where all values are in fractional (0 to 1) coordinates. See -:ref:`sphx_glr_gallery_subplots_axes_and_figures_axes_demo.py` for an example of placing axes manually. +:doc:`/gallery/subplots_axes_and_figures/axes_demo` for an example of placing axes manually. .. _howto-auto-adjust: @@ -200,7 +200,7 @@ Automatically make room for tick labels .. note:: This is now easier to handle than ever before. Calling :func:`~matplotlib.pyplot.tight_layout` can fix many common - layout issues. See the :ref:`sphx_glr_tutorials_intermediate_tight_layout_guide.py`. + layout issues. See the :doc:`/tutorials/intermediate/tight_layout_guide`. The information below is kept here in case it is useful for other purposes. @@ -352,7 +352,7 @@ and patches, respectively:: .. only:: html - See :ref:`sphx_glr_gallery_misc_zorder_demo.py` for a complete example. + See :doc:`/gallery/misc/zorder_demo` for a complete example. You can also use the Axes property :meth:`~matplotlib.axes.Axes.set_axisbelow` to control whether the grid @@ -371,7 +371,7 @@ some ratio which controls the ratio:: .. only:: html - See :ref:`sphx_glr_gallery_subplots_axes_and_figures_axis_equal_demo.py` for a + See :doc:`/gallery/subplots_axes_and_figures/axis_equal_demo` for a complete example. .. _howto-twoscale: @@ -415,7 +415,7 @@ locators as desired because the two axes are independent. .. only:: html - See :ref:`sphx_glr_gallery_api_two_scales.py` for a complete example + See :doc:`/gallery/api/two_scales` for a complete example .. _howto-batch: @@ -661,7 +661,7 @@ For more on configuring your backend, see Alternatively, you can avoid pylab/pyplot altogether, which will give you a little more control, by calling the API directly as shown in -:ref:`sphx_glr_gallery_api_agg_oo_sgskip.py`. +:doc:`/gallery/api/agg_oo_sgskip`. You can either generate hardcopy on the filesystem by calling savefig:: diff --git a/doc/faq/installing_faq.rst b/doc/faq/installing_faq.rst index ddff518df5aa..6aa37b8ed0d2 100644 --- a/doc/faq/installing_faq.rst +++ b/doc/faq/installing_faq.rst @@ -26,7 +26,7 @@ example:: This will give you additional information about which backends matplotlib is loading, version information, and more. At this point you might want to make -sure you understand matplotlib's :ref:`configuration <sphx_glr_tutorials_introductory_customizing.py>` +sure you understand matplotlib's :doc:`configuration </tutorials/introductory/customizing>` process, governed by the :file:`matplotlibrc` configuration file which contains instructions within and the concept of the matplotlib backend. diff --git a/doc/faq/troubleshooting_faq.rst b/doc/faq/troubleshooting_faq.rst index 3ceb9a578468..7002156948e2 100644 --- a/doc/faq/troubleshooting_faq.rst +++ b/doc/faq/troubleshooting_faq.rst @@ -104,7 +104,7 @@ provide the following information in your e-mail to the `mailing list `Enthought Canopy <https://www.enthought.com/products/canopy/>`_). * Any customizations to your ``matplotlibrc`` file (see - :ref:`sphx_glr_tutorials_introductory_customizing.py`). + :doc:`/tutorials/introductory/customizing`). * If the problem is reproducible, please try to provide a *minimal*, standalone Python script that demonstrates the problem. This is *the* critical step. diff --git a/doc/users/dflt_style_changes.rst b/doc/users/dflt_style_changes.rst index f2a7badf6f2c..22624683892b 100644 --- a/doc/users/dflt_style_changes.rst +++ b/doc/users/dflt_style_changes.rst @@ -96,7 +96,7 @@ are only specified via hex values. To access these colors outside of the property cycling the notation for colors ``'CN'``, where ``N`` takes values 0-9, was added to denote the first 10 colors in ``mpl.rcParams['axes.prop_cycle']`` See -:ref:`sphx_glr_tutorials_colors_colors.py` for more details. +:doc:`/tutorials/colors/colors` for more details. To restore the old color cycle use @@ -145,7 +145,7 @@ watch Nathaniel Smith and Stéfan van der Walt's talk from SciPy2015. See `here for many more details <https://bids.github.io/colormap/>`__ about the other alternatives and the tools used to create the color map. For details on all of the color maps available in matplotlib see -:ref:`sphx_glr_tutorials_colors_colormaps.py`. +:doc:`/tutorials/colors/colormaps`. .. raw:: html diff --git a/doc/users/prev_whats_new/whats_new_0.98.4.rst b/doc/users/prev_whats_new/whats_new_0.98.4.rst index c10f15743f0e..a7339d6027f6 100644 --- a/doc/users/prev_whats_new/whats_new_0.98.4.rst +++ b/doc/users/prev_whats_new/whats_new_0.98.4.rst @@ -79,7 +79,7 @@ psd amplitude scaling Ryan May did a lot of work to rationalize the amplitude scaling of :func:`~matplotlib.pyplot.psd` and friends. See -:ref:`sphx_glr_gallery_lines_bars_and_markers_psd_demo.py`. +:doc:`/gallery/lines_bars_and_markers/psd_demo`. The changes should increase MATLAB compatibility and increase scaling options. diff --git a/doc/users/prev_whats_new/whats_new_0.99.rst b/doc/users/prev_whats_new/whats_new_0.99.rst index 8ae2055a751e..2ffebe153eb6 100644 --- a/doc/users/prev_whats_new/whats_new_0.99.rst +++ b/doc/users/prev_whats_new/whats_new_0.99.rst @@ -11,11 +11,11 @@ New in matplotlib 0.99 New documentation ----------------- -Jae-Joon Lee has written two new guides :ref:`sphx_glr_tutorials_intermediate_legend_guide.py` +Jae-Joon Lee has written two new guides :doc:`/tutorials/intermediate/legend_guide` and :ref:`plotting-guide-annotation`. Michael Sarahan has written -:ref:`sphx_glr_tutorials_introductory_images.py`. John Hunter has written two new tutorials on -working with paths and transformations: :ref:`sphx_glr_tutorials_advanced_path_tutorial.py` and -:ref:`sphx_glr_tutorials_advanced_transforms_tutorial.py`. +:doc:`/tutorials/introductory/images`. John Hunter has written two new tutorials on +working with paths and transformations: :doc:`/tutorials/advanced/path_tutorial` and +:doc:`/tutorials/advanced/transforms_tutorial`. .. _whats-new-mplot3d: @@ -65,7 +65,7 @@ that denote the data limits -- in various arbitrary locations. No longer are your axis lines constrained to be a simple rectangle around the figure -- you can turn on or off left, bottom, right and top, as well as "detach" the spine to offset it away from the data. See -:ref:`sphx_glr_gallery_ticks_and_spines_spine_placement_demo.py` and +:doc:`/gallery/ticks_and_spines/spine_placement_demo` and :class:`matplotlib.spines.Spine`. .. figure:: ../../gallery/pyplots/images/sphx_glr_whats_new_99_spines_001.png diff --git a/doc/users/prev_whats_new/whats_new_1.0.rst b/doc/users/prev_whats_new/whats_new_1.0.rst index 3675c528aa7d..5d7403c91b1b 100644 --- a/doc/users/prev_whats_new/whats_new_1.0.rst +++ b/doc/users/prev_whats_new/whats_new_1.0.rst @@ -23,7 +23,7 @@ Sophisticated subplot grid layout Jae-Joon Lee has written :mod:`~matplotlib.gridspec`, a new module for doing complex subplot layouts, featuring row and column spans and -more. See :ref:`sphx_glr_tutorials_intermediate_gridspec.py` for a tutorial overview. +more. See :doc:`/tutorials/intermediate/gridspec` for a tutorial overview. .. figure:: ../../gallery/userdemo/images/sphx_glr_demo_gridspec01_000.png :target: ../../gallery/userdemo/demo_gridspec01.html @@ -44,7 +44,7 @@ indexing (starts with 0). e.g.:: fig, axarr = plt.subplots(2, 2) axarr[0,0].plot([1,2,3]) # upper, left -See :ref:`sphx_glr_gallery_subplots_axes_and_figures_subplot_demo.py` for several code examples. +See :doc:`/gallery/subplots_axes_and_figures/subplot_demo` for several code examples. Contour fixes and and triplot --------------------------------- diff --git a/doc/users/prev_whats_new/whats_new_1.1.rst b/doc/users/prev_whats_new/whats_new_1.1.rst index 80c0aaea240b..cf9d38dd234a 100644 --- a/doc/users/prev_whats_new/whats_new_1.1.rst +++ b/doc/users/prev_whats_new/whats_new_1.1.rst @@ -17,8 +17,8 @@ Sankey Diagrams Kevin Davies has extended Yannick Copin's original Sankey example into a module (:mod:`~matplotlib.sankey`) and provided new examples -(:ref:`sphx_glr_gallery_api_sankey_basics.py`, :ref:`sphx_glr_gallery_api_sankey_links.py`, -:ref:`sphx_glr_gallery_api_sankey_rankine.py`). +(:doc:`/gallery/api/sankey_basics`, :doc:`/gallery/api/sankey_links`, +:doc:`/gallery/api/sankey_rankine`). .. figure:: ../../gallery/api/images/sphx_glr_sankey_rankine_001.png :target: ../../gallery/api/sankey_rankine.html @@ -87,7 +87,7 @@ The usage of this functionality can be as simple as :: and it will adjust the spacing between subplots so that the axis labels do not overlap with neighboring subplots. A -:ref:`sphx_glr_tutorials_intermediate_tight_layout_guide.py` has been created to show how to use +:doc:`/tutorials/intermediate/tight_layout_guide` has been created to show how to use this new tool. PyQT4, PySide, and IPython @@ -116,7 +116,7 @@ legends for complex plots such as :meth:`~matplotlib.pyplot.stem` plots will now display correctly. Second, the 'best' placement of a legend has been improved in the presence of NANs. -See the :ref:`sphx_glr_tutorials_intermediate_legend_guide.py` for more detailed explanation and +See the :doc:`/tutorials/intermediate/legend_guide` for more detailed explanation and examples. .. figure:: ../../gallery/text_labels_and_annotations/images/sphx_glr_legend_demo_004.png diff --git a/doc/users/prev_whats_new/whats_new_1.2.rst b/doc/users/prev_whats_new/whats_new_1.2.rst index 495d674a3e00..01104c1b55a1 100644 --- a/doc/users/prev_whats_new/whats_new_1.2.rst +++ b/doc/users/prev_whats_new/whats_new_1.2.rst @@ -39,7 +39,7 @@ PGF/TikZ backend Peter Würtz wrote a backend that allows matplotlib to export figures as drawing commands for LaTeX. These can be processed by PdfLaTeX, XeLaTeX or LuaLaTeX using the PGF/TikZ package. Usage examples and documentation are -found in :ref:`sphx_glr_tutorials_text_pgf.py`. +found in :doc:`/tutorials/text/pgf`. .. image:: /_static/pgf_preamble.* diff --git a/doc/users/prev_whats_new/whats_new_1.4.rst b/doc/users/prev_whats_new/whats_new_1.4.rst index ffbd1701754b..48dbd8266e22 100644 --- a/doc/users/prev_whats_new/whats_new_1.4.rst +++ b/doc/users/prev_whats_new/whats_new_1.4.rst @@ -82,8 +82,8 @@ with :func:`~matplotlib.Axes.bxp`. Lastly, each artist (e.g., the box, outliers, cap, notches) can now be toggled on or off and their styles can be passed in through individual kwargs. See the examples: -:ref:`sphx_glr_gallery_statistics_boxplot.py` and -:ref:`sphx_glr_gallery_statistics_bxp.py` +:doc:`/gallery/statistics/boxplot` and +:doc:`/gallery/statistics/bxp` Added a bool kwarg, :code:`manage_xticks`, which if False disables the management of the ticks and limits on the x-axis by :func:`~matplotlib.axes.Axes.bxp`. @@ -410,7 +410,7 @@ instead of ``:context:`` any time you want to reset the context. Legend and PathEffects documentation ------------------------------------ -The :ref:`sphx_glr_tutorials_intermediate_legend_guide.py` and :ref:`sphx_glr_tutorials_advanced_patheffects_guide.py` have both been +The :doc:`/tutorials/intermediate/legend_guide` and :doc:`/tutorials/advanced/patheffects_guide` have both been updated to better reflect the full potential of each of these powerful features. diff --git a/doc/users/prev_whats_new/whats_new_1.5.rst b/doc/users/prev_whats_new/whats_new_1.5.rst index 19610709498f..854cb889f746 100644 --- a/doc/users/prev_whats_new/whats_new_1.5.rst +++ b/doc/users/prev_whats_new/whats_new_1.5.rst @@ -679,7 +679,7 @@ mutually exclusive inside that group. For tools derived from that are called automatically whenever it is toggled. -A full example is located in :ref:`sphx_glr_gallery_user_interfaces_toolmanager_sgskip.py` +A full example is located in :doc:`/gallery/user_interfaces/toolmanager_sgskip` cbook.is_sequence_of_strings recognizes string objects diff --git a/doc/users/prev_whats_new/whats_new_2.0.0.rst b/doc/users/prev_whats_new/whats_new_2.0.0.rst index 809b3ac4da25..b16a3d97dc3d 100644 --- a/doc/users/prev_whats_new/whats_new_2.0.0.rst +++ b/doc/users/prev_whats_new/whats_new_2.0.0.rst @@ -275,7 +275,7 @@ Filled ``+`` and ``x`` markers New fillable *plus* and *x* markers have been added. See the :mod:`~matplotlib.markers` module and -:ref:`marker reference <sphx_glr_gallery_lines_bars_and_markers_marker_reference.py>` +:doc:`marker reference </gallery/lines_bars_and_markers/marker_reference>` examples. `rcount` and `ccount` for `plot_surface()` diff --git a/doc/users/prev_whats_new/whats_new_2.1.0.rst b/doc/users/prev_whats_new/whats_new_2.1.0.rst index 51e42ea2d875..20231c0332f0 100644 --- a/doc/users/prev_whats_new/whats_new_2.1.0.rst +++ b/doc/users/prev_whats_new/whats_new_2.1.0.rst @@ -139,7 +139,7 @@ PolygonSelector A :class:`~matplotlib.widgets.PolygonSelector` class has been added to :mod:`matplotlib.widgets`. See -:ref:`sphx_glr_gallery_widgets_polygon_selector_demo.py` for details. +:doc:`/gallery/widgets/polygon_selector_demo` for details. Added `matplotlib.ticker.PercentFormatter` diff --git a/doc/users/shell.rst b/doc/users/shell.rst index 63e214c6ae67..09b1d9c1558f 100644 --- a/doc/users/shell.rst +++ b/doc/users/shell.rst @@ -92,7 +92,7 @@ are going to need to understand what a matplotlib backend is With the TkAgg backend, which uses the Tkinter user interface toolkit, you can use matplotlib from an arbitrary non-gui python shell. Just set your ``backend : TkAgg`` and ``interactive : True`` in your -:file:`matplotlibrc` file (see :ref:`sphx_glr_tutorials_introductory_customizing.py`) and fire +:file:`matplotlibrc` file (see :doc:`/tutorials/introductory/customizing`) and fire up python. Then:: >>> from pylab import * diff --git a/examples/axes_grid1/simple_anchored_artists.py b/examples/axes_grid1/simple_anchored_artists.py index 479dae594f6e..9a8ae92335e9 100644 --- a/examples/axes_grid1/simple_anchored_artists.py +++ b/examples/axes_grid1/simple_anchored_artists.py @@ -6,7 +6,7 @@ This example illustrates the use of the anchored helper classes found in :py:mod:`~matplotlib.offsetbox` and in the :ref:`toolkit_axesgrid1-index`. An implementation of a similar figure, but without use of the toolkit, -can be found in :ref:`sphx_glr_gallery_misc_anchored_artists.py`. +can be found in :doc:`/gallery/misc/anchored_artists`. """ import matplotlib.pyplot as plt diff --git a/examples/color/color_cycle_default.py b/examples/color/color_cycle_default.py index d4f70a0d90df..e84a55751d83 100644 --- a/examples/color/color_cycle_default.py +++ b/examples/color/color_cycle_default.py @@ -4,7 +4,7 @@ ==================================== Display the colors from the default prop_cycle, which is obtained from the -:ref:`rc parameters<sphx_glr_tutorials_introductory_customizing.py>`. +:ref:`rc parameters</tutorials/introductory/customizing>`. """ import numpy as np import matplotlib.pyplot as plt diff --git a/examples/color/color_cycler.py b/examples/color/color_cycler.py index bab0cb163559..e1ba72c4090a 100644 --- a/examples/color/color_cycler.py +++ b/examples/color/color_cycler.py @@ -9,7 +9,7 @@ This example demonstrates two different APIs: 1. Setting the default - :ref:`rc parameter<sphx_glr_tutorials_introductory_customizing.py>` + :doc:`rc parameter</tutorials/introductory/customizing>` specifying the property cycle. This affects all subsequent axes (but not axes already created). 2. Setting the property cycle for a single pair of axes. diff --git a/examples/color/color_demo.py b/examples/color/color_demo.py index 9740744f3cfe..d366f0a1b959 100644 --- a/examples/color/color_demo.py +++ b/examples/color/color_demo.py @@ -26,9 +26,9 @@ For more information on colors in matplotlib see -* the :ref:`sphx_glr_tutorials_colors_colors.py` tutorial; +* the :doc:`/tutorials/colors/colors` tutorial; * the `matplotlib.colors` API; -* the :ref:`sphx_glr_gallery_color_named_colors.py` example. +* the :doc:`/gallery/color/named_colors` example. """ import matplotlib.pyplot as plt diff --git a/examples/color/named_colors.py b/examples/color/named_colors.py index ea9b08c61318..80ea924eb425 100644 --- a/examples/color/named_colors.py +++ b/examples/color/named_colors.py @@ -7,9 +7,9 @@ For more information on colors in matplotlib see -* the :ref:`sphx_glr_tutorials_colors_colors.py` tutorial; +* the :doc:`/tutorials/colors/colors` tutorial; * the `matplotlib.colors` API; -* the :ref:`sphx_glr_gallery_color_color_demo.py`. +* the :doc:`/gallery/color/color_demo`. """ import matplotlib.pyplot as plt diff --git a/examples/images_contours_and_fields/contour_demo.py b/examples/images_contours_and_fields/contour_demo.py index 2724d29164b1..f6d2a5f617ce 100644 --- a/examples/images_contours_and_fields/contour_demo.py +++ b/examples/images_contours_and_fields/contour_demo.py @@ -8,7 +8,7 @@ See also the :ref:`contour image example -<sphx_glr_gallery_images_contours_and_fields_contour_image.py>`. +</gallery/images_contours_and_fields/contour_image>`. """ import matplotlib import numpy as np diff --git a/examples/images_contours_and_fields/contour_image.py b/examples/images_contours_and_fields/contour_image.py index 9bfe4d9fe546..7df8996bf7d2 100644 --- a/examples/images_contours_and_fields/contour_image.py +++ b/examples/images_contours_and_fields/contour_image.py @@ -6,13 +6,13 @@ Test combinations of contouring, filled contouring, and image plotting. For contour labelling, see See also the :ref:`contour demo example -<sphx_glr_gallery_images_contours_and_fields_contour_demo.py>`. +</gallery/images_contours_and_fields/contour_demo>`. The emphasis in this demo is on showing how to make contours register correctly on images, and on how to get both of them oriented as desired. In particular, note the usage of the :ref:`"origin" and "extent" -<sphx_glr_tutorials_intermediate_imshow_extent.py>` +</tutorials/intermediate/imshow_extent>` keyword arguments to imshow and contour. """ import matplotlib.pyplot as plt diff --git a/examples/images_contours_and_fields/contour_label_demo.py b/examples/images_contours_and_fields/contour_label_demo.py index b3c2c75cb801..5aeacac67797 100644 --- a/examples/images_contours_and_fields/contour_label_demo.py +++ b/examples/images_contours_and_fields/contour_label_demo.py @@ -7,7 +7,7 @@ contour labels. See also the :ref:`contour demo example -<sphx_glr_gallery_images_contours_and_fields_contour_demo.py>`. +</gallery/images_contours_and_fields/contour_demo>`. """ import matplotlib diff --git a/examples/images_contours_and_fields/custom_cmap.py b/examples/images_contours_and_fields/custom_cmap.py index 4b2b98ce137f..f01a4e8a8e64 100644 --- a/examples/images_contours_and_fields/custom_cmap.py +++ b/examples/images_contours_and_fields/custom_cmap.py @@ -3,7 +3,7 @@ Creating a colormap from a list of colors ========================================= -Creating a :ref:`colormap <sphx_glr_tutorials_colors_colormaps.py>` +Creating a :doc:`colormap </tutorials/colors/colormaps>` from a list of colors can be done with the :meth:`~.colors.LinearSegmentedColormap.from_list` method of `LinearSegmentedColormap`. You must pass a list of RGB tuples that define the diff --git a/examples/images_contours_and_fields/image_demo.py b/examples/images_contours_and_fields/image_demo.py index c7d0cdf5b154..2cd09dc88f9a 100644 --- a/examples/images_contours_and_fields/image_demo.py +++ b/examples/images_contours_and_fields/image_demo.py @@ -114,7 +114,7 @@ # This allows you to plot the full range of your array w/o edge effects, # and for example to layer multiple images of different sizes over one # another with different interpolation methods - see -# :ref:`sphx_glr_gallery_images_contours_and_fields_layer_images.py`. +# :doc:`/gallery/images_contours_and_fields/layer_images`. # It also implies a performance hit, as this # new temporary, padded array must be created. Sophisticated # interpolation also implies a performance hit, so if you need maximal @@ -138,7 +138,7 @@ # You can also control the default setting image.origin in your # :ref:`matplotlibrc file <customizing-with-matplotlibrc-files>`. For more on # this topic see the :ref:`complete guide on origin and extent -# <sphx_glr_tutorials_intermediate_imshow_extent.py>`. +# </tutorials/intermediate/imshow_extent>`. x = np.arange(120).reshape((10, 12)) diff --git a/examples/images_contours_and_fields/interpolation_methods.py b/examples/images_contours_and_fields/interpolation_methods.py index 3e90986237b6..08efa9f5d5df 100644 --- a/examples/images_contours_and_fields/interpolation_methods.py +++ b/examples/images_contours_and_fields/interpolation_methods.py @@ -7,7 +7,7 @@ :meth:`~.axes.Axes.imshow` and :meth:`~.axes.Axes.matshow`. If `interpolation` is None, it defaults to the ``image.interpolation`` -:ref:`rc parameter <sphx_glr_tutorials_introductory_customizing.py>`. +:doc:`rc parameter </tutorials/introductory/customizing>`. If the interpolation is ``'none'``, then no interpolation is performed for the Agg, ps and pdf backends. Other backends will default to ``'nearest'``. diff --git a/examples/images_contours_and_fields/quiver_demo.py b/examples/images_contours_and_fields/quiver_demo.py index 281a9854d130..89711ba65117 100644 --- a/examples/images_contours_and_fields/quiver_demo.py +++ b/examples/images_contours_and_fields/quiver_demo.py @@ -5,7 +5,7 @@ Demonstrates some more advanced options for `~.axes.Axes.quiver`. For a simple example refer to -:ref:`sphx_glr_gallery_images_contours_and_fields_quiver_simple_demo.py`. +:doc:`/gallery/images_contours_and_fields/quiver_simple_demo`. Known problem: the plot autoscaling does not take into account the arrows, so those on the boundaries are often out of the picture. diff --git a/examples/images_contours_and_fields/quiver_simple_demo.py b/examples/images_contours_and_fields/quiver_simple_demo.py index 39349abac095..abaf5279eb5d 100644 --- a/examples/images_contours_and_fields/quiver_simple_demo.py +++ b/examples/images_contours_and_fields/quiver_simple_demo.py @@ -7,7 +7,7 @@ `~.axes.Axes.quiverkey`. For more advanced options refer to -:ref:`sphx_glr_gallery_images_contours_and_fields_quiver_demo.py`. +:doc:`/gallery/images_contours_and_fields/quiver_demo`. """ import matplotlib.pyplot as plt import numpy as np diff --git a/examples/lines_bars_and_markers/line_demo_dash_control.py b/examples/lines_bars_and_markers/line_demo_dash_control.py index af4411daf0c9..78043dfed2ff 100644 --- a/examples/lines_bars_and_markers/line_demo_dash_control.py +++ b/examples/lines_bars_and_markers/line_demo_dash_control.py @@ -14,7 +14,7 @@ line. *Note*: The dash style can also be configured via a -:ref:`property_cycle <sphx_glr_tutorials_intermediate_color_cycle.py>` +:doc:`property_cycle </tutorials/intermediate/color_cycle>` by passing a list of dash sequences using the keyword *dashes* to the cycler. This is not shown within this example. """ diff --git a/examples/misc/anchored_artists.py b/examples/misc/anchored_artists.py index 42ec13d0e03e..cd829f80fb25 100644 --- a/examples/misc/anchored_artists.py +++ b/examples/misc/anchored_artists.py @@ -6,7 +6,7 @@ This example illustrates the use of the anchored objects without the helper classes found in the :ref:`toolkit_axesgrid1-index`. This version of the figure is similar to the one found in -:ref:`sphx_glr_gallery_axes_grid1_simple_anchored_artists.py`, but it is +:doc:`/gallery/axes_grid1/simple_anchored_artists`, but it is implemented using only the matplotlib namespace, without the help of additional toolkits. """ diff --git a/examples/recipes/fill_between_alpha.py b/examples/recipes/fill_between_alpha.py index 3a53841b33d7..ec004af3b031 100644 --- a/examples/recipes/fill_between_alpha.py +++ b/examples/recipes/fill_between_alpha.py @@ -133,6 +133,6 @@ # vertical spans of an axes -- for that matplotlib has some helper # functions :meth:`~matplotlib.axes.Axes.axhspan` and # :meth:`~matplotlib.axes.Axes.axvspan` and example -# :ref:`sphx_glr_gallery_subplots_axes_and_figures_axhspan_demo.py`. +# :doc:`/gallery/subplots_axes_and_figures/axhspan_demo`. plt.show() diff --git a/examples/recipes/placing_text_boxes.py b/examples/recipes/placing_text_boxes.py index 882839c502b7..51a6c143742f 100644 --- a/examples/recipes/placing_text_boxes.py +++ b/examples/recipes/placing_text_boxes.py @@ -3,7 +3,7 @@ ================== When decorating axes with text boxes, two useful tricks are to place -the text in axes coordinates (see :ref:`sphx_glr_tutorials_advanced_transforms_tutorial.py`), so the +the text in axes coordinates (see :doc:`/tutorials/advanced/transforms_tutorial`), so the text doesn't move around with changes in x or y limits. You can also use the ``bbox`` property of text to surround the text with a :class:`~matplotlib.patches.Patch` instance -- the ``bbox`` keyword diff --git a/examples/shapes_and_collections/ellipse_demo.py b/examples/shapes_and_collections/ellipse_demo.py index 21fbe7d9c0e5..10c28e872b1d 100644 --- a/examples/shapes_and_collections/ellipse_demo.py +++ b/examples/shapes_and_collections/ellipse_demo.py @@ -5,7 +5,7 @@ Draw many ellipses. Here individual ellipses are drawn. Compare this to the :ref:`Ellipse collection example -<sphx_glr_gallery_shapes_and_collections_ellipse_collection.py>`. +</gallery/shapes_and_collections/ellipse_collection>`. """ import matplotlib.pyplot as plt import numpy as np diff --git a/examples/subplots_axes_and_figures/subplot_demo.py b/examples/subplots_axes_and_figures/subplot_demo.py index 828184dde624..836476829a65 100644 --- a/examples/subplots_axes_and_figures/subplot_demo.py +++ b/examples/subplots_axes_and_figures/subplot_demo.py @@ -5,7 +5,7 @@ Demo with two subplots. For more options, see -:ref:`sphx_glr_gallery_subplots_axes_and_figures_subplots_demo.py` +:doc:`/gallery/subplots_axes_and_figures/subplots_demo` """ import numpy as np import matplotlib.pyplot as plt diff --git a/examples/text_labels_and_annotations/custom_legends.py b/examples/text_labels_and_annotations/custom_legends.py index 81e3795ddab9..f37cd2ab61fd 100644 --- a/examples/text_labels_and_annotations/custom_legends.py +++ b/examples/text_labels_and_annotations/custom_legends.py @@ -10,8 +10,8 @@ For more information on creating and customizing legends, see the following pages: - * :ref:`sphx_glr_tutorials_intermediate_legend_guide.py` - * :ref:`sphx_glr_gallery_text_labels_and_annotations_legend_demo.py` + * :doc:`/tutorials/intermediate/legend_guide` + * :doc:`/gallery/text_labels_and_annotations/legend_demo` Sometimes you don't want a legend that is explicitly tied to data that you have plotted. For example, say you have plotted 10 lines, but don't diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index edc67865a6bb..c05db4f3aa5f 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -363,7 +363,7 @@ def legend(self, *args, **kwargs): ----- Not all kinds of artist are supported by the legend command. See - :ref:`sphx_glr_tutorials_intermediate_legend_guide.py` for details. + :doc:`/tutorials/intermediate/legend_guide` for details. Examples -------- @@ -1879,7 +1879,7 @@ def bar(self, x, height, width=0.8, bottom=None, *, align="center", upper errors. - *None*: No errorbar. (Default) - See :ref:`sphx_glr_gallery_statistics_errorbar_features.py` + See :doc:`/gallery/statistics/errorbar_features` for an example on the usage of ``xerr`` and ``yerr``. ecolor : scalar or array-like, optional, default: 'black' @@ -2158,7 +2158,7 @@ def barh(self, y, width, height=0.8, left=None, *, align="center", upper errors. - *None*: No errorbar. (default) - See :ref:`sphx_glr_gallery_statistics_errorbar_features.py` + See :doc:`/gallery/statistics/errorbar_features` for an example on the usage of ``xerr`` and ``yerr``. ecolor : scalar or array-like, optional, default: 'black' @@ -2687,7 +2687,7 @@ def errorbar(self, x, y, yerr=None, xerr=None, upper errors. - *None*: No errorbar. - See :ref:`sphx_glr_gallery_statistics_errorbar_features.py` + See :doc:`/gallery/statistics/errorbar_features` for an example on the usage of ``xerr`` and ``yerr``. fmt : plot format string, optional, default: '' diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index c6cd6ce44794..e898f9082acd 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -1557,7 +1557,7 @@ def legend(self, *args, **kwargs): Notes ----- Not all kinds of artist are supported by the legend command. See - :ref:`sphx_glr_tutorials_intermediate_legend_guide.py` for details. + :doc:`/tutorials/intermediate/legend_guide` for details. """ handles, labels, extra_args, kwargs = mlegend._parse_legend_args( diff --git a/lib/matplotlib/legend.py b/lib/matplotlib/legend.py index a516eaf43f64..03fb4683e9a0 100644 --- a/lib/matplotlib/legend.py +++ b/lib/matplotlib/legend.py @@ -8,7 +8,7 @@ Most users would normally create a legend via the :meth:`~matplotlib.axes.Axes.legend` function. For more details on legends there is also a :ref:`legend guide - <sphx_glr_tutorials_intermediate_legend_guide.py>`. + </tutorials/intermediate/legend_guide>`. The Legend class can be considered as a container of legend handles and legend texts. Creation of corresponding legend handles from the @@ -19,7 +19,7 @@ Note that not all kinds of artist are supported by the legend yet by default but it is possible to extend the legend handler's capabilities to support arbitrary objects. See the :ref:`legend guide -<sphx_glr_tutorials_intermediate_legend_guide.py>` for more information. +</tutorials/intermediate/legend_guide>` for more information. """ diff --git a/lib/matplotlib/legend_handler.py b/lib/matplotlib/legend_handler.py index 84405f2cbbc4..86e695a02726 100644 --- a/lib/matplotlib/legend_handler.py +++ b/lib/matplotlib/legend_handler.py @@ -2,7 +2,7 @@ This module defines default legend handlers. It is strongly encouraged to have read the :ref:`legend guide -<sphx_glr_tutorials_intermediate_legend_guide.py>` before this documentation. +</tutorials/intermediate/legend_guide>` before this documentation. Legend handlers are expected to be a callable object with a following signature. :: diff --git a/lib/matplotlib/mathtext.py b/lib/matplotlib/mathtext.py index 7614a78f0f3e..1d4328b44b9d 100644 --- a/lib/matplotlib/mathtext.py +++ b/lib/matplotlib/mathtext.py @@ -2,7 +2,7 @@ :mod:`~matplotlib.mathtext` is a module for parsing a subset of the TeX math syntax and drawing them to a matplotlib backend. -For a tutorial of its usage see :ref:`sphx_glr_tutorials_text_mathtext.py`. This +For a tutorial of its usage see :doc:`/tutorials/text/mathtext`. This document is primarily concerned with implementation details. The module uses pyparsing_ to parse the TeX expression. diff --git a/lib/matplotlib/ticker.py b/lib/matplotlib/ticker.py index 60658a144be2..acce04792666 100644 --- a/lib/matplotlib/ticker.py +++ b/lib/matplotlib/ticker.py @@ -159,7 +159,7 @@ ax.yaxis.set_major_formatter(ymajor_formatter) ax.yaxis.set_minor_formatter(yminor_formatter) -See :ref:`sphx_glr_gallery_ticks_and_spines_major_minor_demo.py` for an +See :doc:`/gallery/ticks_and_spines/major_minor_demo` for an example of setting major and minor ticks. See the :mod:`matplotlib.dates` module for more information and examples of using date locators and formatters. """ diff --git a/lib/matplotlib/widgets.py b/lib/matplotlib/widgets.py index 9c16cb228601..e3442b230d1b 100644 --- a/lib/matplotlib/widgets.py +++ b/lib/matplotlib/widgets.py @@ -1724,7 +1724,7 @@ class SpanSelector(_SelectorWidget): rectprops=rectprops) >>> fig.show() - See also: :ref:`sphx_glr_gallery_widgets_span_selector.py` + See also: :doc:`/gallery/widgets/span_selector` """ @@ -2576,7 +2576,7 @@ class PolygonSelector(_SelectorWidget): See Also -------- - :ref:`sphx_glr_gallery_widgets_polygon_selector_demo.py` + :doc:`/gallery/widgets/polygon_selector_demo` """ def __init__(self, ax, onselect, useblit=False, diff --git a/tutorials/advanced/transforms_tutorial.py b/tutorials/advanced/transforms_tutorial.py index 439d1898b2fe..e80c12b77b1b 100644 --- a/tutorials/advanced/transforms_tutorial.py +++ b/tutorials/advanced/transforms_tutorial.py @@ -467,4 +467,4 @@ # see how to make your own, since Matplotlib supports extensible axes # and projections. Michael Droettboom has provided a nice tutorial # example of creating a Hammer projection axes; see -# :ref:`sphx_glr_gallery_misc_custom_projection.py`. +# :doc:`/gallery/misc/custom_projection`. diff --git a/tutorials/intermediate/tight_layout_guide.py b/tutorials/intermediate/tight_layout_guide.py index 6318032e6412..04d7a045fc2f 100644 --- a/tutorials/intermediate/tight_layout_guide.py +++ b/tutorials/intermediate/tight_layout_guide.py @@ -115,7 +115,7 @@ def example_plot(ax, fontsize=12): ############################################################################### # It works with subplots created with # :func:`~matplotlib.pyplot.subplot2grid`. In general, subplots created -# from the gridspec (:ref:`sphx_glr_tutorials_intermediate_gridspec.py`) will work. +# from the gridspec (:doc:`/tutorials/intermediate/gridspec`) will work. plt.close('all') fig = plt.figure() diff --git a/tutorials/introductory/lifecycle.py b/tutorials/introductory/lifecycle.py index 68770cf9efe0..c6bb681e8976 100644 --- a/tutorials/introductory/lifecycle.py +++ b/tutorials/introductory/lifecycle.py @@ -26,7 +26,7 @@ The second is based on MATLAB and uses a state-based interface. This is encapsulated in the :mod:`pyplot` module. See the :ref:`pyplot tutorials -<sphx_glr_tutorials_introductory_pyplot.py>` +</tutorials/introductory/pyplot>` for a more in-depth look at the pyplot interface. Most of the terms are straightforward but the main thing to remember @@ -86,7 +86,7 @@ # # Figures can have multiple axes on them. For information on how to do this, # see the :ref:`Tight Layout tutorial -# <sphx_glr_tutorials_intermediate_tight_layout_guide.py>`. +# </tutorials/intermediate/tight_layout_guide>`. fig, ax = plt.subplots() @@ -149,7 +149,7 @@ # that we create. To do this we'll set the ``autolayout`` value of our # rcParams. For more information on controlling the style, layout, and # other features of plots with rcParams, see -# :ref:`sphx_glr_tutorials_introductory_customizing.py`. +# :doc:`/tutorials/introductory/customizing`. plt.rcParams.update({'figure.autolayout': True}) diff --git a/tutorials/introductory/pyplot.py b/tutorials/introductory/pyplot.py index 6d52145d2970..bcb58bdf63a1 100644 --- a/tutorials/introductory/pyplot.py +++ b/tutorials/introductory/pyplot.py @@ -277,8 +277,8 @@ def f(t): # rectangular grid, use the :func:`~matplotlib.pyplot.axes` command, # which allows you to specify the location as ``axes([left, bottom, # width, height])`` where all values are in fractional (0 to 1) -# coordinates. See :ref:`sphx_glr_gallery_subplots_axes_and_figures_axes_demo.py` for an example of -# placing axes manually and :ref:`sphx_glr_gallery_subplots_axes_and_figures_subplot_demo.py` for an +# coordinates. See :doc:`/gallery/subplots_axes_and_figures/axes_demo` for an example of +# placing axes manually and :doc:`/gallery/subplots_axes_and_figures/subplot_demo` for an # example with lots of subplots. # # @@ -307,7 +307,7 @@ def f(t): # it annoying that states (specifically the current image, figure and axes) # are being maintained for you behind the scenes, don't despair: this is just a thin # stateful wrapper around an object oriented API, which you can use -# instead (see :ref:`sphx_glr_tutorials_intermediate_artists.py`) +# instead (see :doc:`/tutorials/intermediate/artists`) # # If you are making lots of figures, you need to be aware of one # more thing: the memory required for a figure is not completely @@ -326,7 +326,7 @@ def f(t): # The :func:`~matplotlib.pyplot.text` command can be used to add text in # an arbitrary location, and the :func:`~matplotlib.pyplot.xlabel`, # :func:`~matplotlib.pyplot.ylabel` and :func:`~matplotlib.pyplot.title` -# are used to add text in the indicated locations (see :ref:`sphx_glr_tutorials_text_text_intro.py` +# are used to add text in the indicated locations (see :doc:`/tutorials/text/text_intro` # for a more detailed example) mu, sigma = 100, 15 @@ -352,7 +352,7 @@ def f(t): # # t = plt.xlabel('my data', fontsize=14, color='red') # -# These properties are covered in more detail in :ref:`sphx_glr_tutorials_text_text_props.py`. +# These properties are covered in more detail in :doc:`/tutorials/text/text_props`. # # # Using mathematical expressions in text @@ -368,11 +368,11 @@ def f(t): # that the string is a *raw* string and not to treat backslashes as # python escapes. matplotlib has a built-in TeX expression parser and # layout engine, and ships its own math fonts -- for details see -# :ref:`sphx_glr_tutorials_text_mathtext.py`. Thus you can use mathematical text across platforms +# :doc:`/tutorials/text/mathtext`. Thus you can use mathematical text across platforms # without requiring a TeX installation. For those who have LaTeX and # dvipng installed, you can also use LaTeX to format your text and # incorporate the output directly into your display figures or saved -# postscript -- see :ref:`sphx_glr_tutorials_text_usetex.py`. +# postscript -- see :doc:`/tutorials/text/usetex`. # # # Annotating text @@ -406,7 +406,7 @@ def f(t): # variety of other coordinate systems one can choose -- see # :ref:`annotations-tutorial` and :ref:`plotting-guide-annotation` for # details. More examples can be found in -# :ref:`sphx_glr_gallery_text_labels_and_annotations_annotation_demo.py`. +# :doc:`/gallery/text_labels_and_annotations/annotation_demo`. # # # Logarithmic and other nonlinear axes diff --git a/tutorials/introductory/sample_plots.py b/tutorials/introductory/sample_plots.py index 8ea18696015e..97ad1a96948f 100644 --- a/tutorials/introductory/sample_plots.py +++ b/tutorials/introductory/sample_plots.py @@ -362,7 +362,7 @@ Matplotlib's mathtext infrastructure is an independent implementation and does not require TeX or any external packages installed on your computer. See -the tutorial at :ref:`sphx_glr_tutorials_text_mathtext.py`. +the tutorial at :doc:`/tutorials/text/mathtext`. .. _screenshots_tex_demo: diff --git a/tutorials/introductory/usage.py b/tutorials/introductory/usage.py index 1fde15fbf392..c1f9a9f0ce7a 100644 --- a/tutorials/introductory/usage.py +++ b/tutorials/introductory/usage.py @@ -319,7 +319,7 @@ def my_plotter(ax, data1, data2, param_dict): # # # #. The ``backend`` parameter in your ``matplotlibrc`` file (see -# :ref:`sphx_glr_tutorials_introductory_customizing.py`):: +# :doc:`/tutorials/introductory/customizing`):: # # backend : WXAgg # use wxpython with antigrain (agg) rendering # @@ -507,7 +507,7 @@ def my_plotter(ax, data1, data2, param_dict): # that are called, and on a state variable that determines whether # matplotlib is in "interactive mode". The default Boolean value is set # by the :file:`matplotlibrc` file, and may be customized like any other -# configuration parameter (see :ref:`sphx_glr_tutorials_introductory_customizing.py`). It +# configuration parameter (see :doc:`/tutorials/introductory/customizing`). It # may also be set via :func:`matplotlib.interactive`, and its # value may be queried via :func:`matplotlib.is_interactive`. Turning # interactive mode on and off in the middle of a stream of plotting @@ -653,7 +653,7 @@ def my_plotter(ax, data1, data2, param_dict): # controlled by the ``path.simplify`` and # ``path.simplify_threshold`` parameters in your # ``matplotlibrc`` file (see -# :ref:`sphx_glr_tutorials_introductory_customizing.py` for +# :doc:`/tutorials/introductory/customizing` for # more information about the ``matplotlibrc`` file). # The ``path.simplify`` parameter is a boolean indicating whether # or not line segments are simplified at all. The @@ -690,7 +690,7 @@ def my_plotter(ax, data1, data2, param_dict): # interactive plotting (with maximal simplification) and another # style for publication quality plotting (with minimal # simplification) and activate them as necessary. See -# :ref:`sphx_glr_tutorials_introductory_customizing.py` for +# :doc:`/tutorials/introductory/customizing` for # instructions on how to perform these actions. # # The simplification works by iteratively merging line segments @@ -721,7 +721,7 @@ def my_plotter(ax, data1, data2, param_dict): # # The markevery argument allows for naive subsampling, or an # attempt at evenly spaced (along the *x* axis) sampling. See the -# :ref:`sphx_glr_gallery_lines_bars_and_markers_markevery_demo.py` +# :doc:`/gallery/lines_bars_and_markers/markevery_demo` # for more information. # # Splitting lines into smaller chunks diff --git a/tutorials/text/annotations.py b/tutorials/text/annotations.py index 69d586cdf847..43f26648b2f8 100644 --- a/tutorials/text/annotations.py +++ b/tutorials/text/annotations.py @@ -94,7 +94,7 @@ For more on all the wild and wonderful things you can do with annotations, including fancy arrows, see :ref:`plotting-guide-annotation` -and :ref:`sphx_glr_gallery_text_labels_and_annotations_annotation_demo.py`. +and :doc:`/gallery/text_labels_and_annotations/annotation_demo`. Do not proceed unless you have already read :ref:`annotations-tutorial`, @@ -514,7 +514,7 @@ Annotation with Simple Coordinates 3 You may take a look at this example - :ref:`sphx_glr_gallery_text_labels_and_annotations_annotation_demo.py`. + :doc:`/gallery/text_labels_and_annotations/annotation_demo`. Using ConnectionPatch --------------------- diff --git a/tutorials/text/mathtext.py b/tutorials/text/mathtext.py index e99df50c559f..0cdc9d3062c4 100644 --- a/tutorials/text/mathtext.py +++ b/tutorials/text/mathtext.py @@ -12,7 +12,7 @@ layout engine is a fairly direct adaptation of the layout algorithms in Donald Knuth's TeX, so the quality is quite good (matplotlib also provides a ``usetex`` option for those who do want to call out to TeX -to generate their text (see :ref:`sphx_glr_tutorials_text_usetex.py`). +to generate their text (see :doc:`/tutorials/text/usetex`). """ ############################################################################### @@ -23,7 +23,7 @@ # (from (La)TeX), `STIX <http://www.stixfonts.org/>`_ fonts (with are designed # to blend well with Times), or a Unicode font that you provide. The mathtext # font can be selected with the customization variable ``mathtext.fontset`` (see -# :ref:`sphx_glr_tutorials_introductory_customizing.py`) +# :doc:`/tutorials/introductory/customizing`) # # .. note:: # On `"narrow" <http://wordaligned.org/articles/narrow-python>`_ builds @@ -64,7 +64,7 @@ # have special meaning outside of math mode in TeX. Therefore, these # characters will behave differently depending on the rcParam # ``text.usetex`` flag. See the :ref:`usetex tutorial -# <sphx_glr_tutorials_text_usetex.py>` for more information. +# </tutorials/text/usetex>` for more information. # # Subscripts and superscripts # --------------------------- diff --git a/tutorials/text/text_props.py b/tutorials/text/text_props.py index a6adc42491b8..2555cefc53e8 100644 --- a/tutorials/text/text_props.py +++ b/tutorials/text/text_props.py @@ -14,12 +14,12 @@ Property Value Type ========================== ====================================================================================================================== alpha `float` -backgroundcolor any matplotlib :ref:`color <sphx_glr_tutorials_colors_colors.py>` +backgroundcolor any matplotlib :doc:`color </tutorials/colors/colors>` bbox `~matplotlib.patches.Rectangle` prop dict plus key ``'pad'`` which is a pad in points clip_box a matplotlib.transform.Bbox instance clip_on bool clip_path a `~matplotlib.path.Path` instance and a `~matplotlib.transforms.Transform` instance, a `~matplotlib.patches.Patch` -color any matplotlib :ref:`color <sphx_glr_tutorials_colors_colors.py>` +color any matplotlib :doc:`color </tutorials/colors/colors>` family [ ``'serif'`` | ``'sans-serif'`` | ``'cursive'`` | ``'fantasy'`` | ``'monospace'`` ] fontproperties a `~matplotlib.font_manager.FontProperties` instance horizontalalignment or ha [ ``'center'`` | ``'right'`` | ``'left'`` ] @@ -218,7 +218,7 @@ # # To control the font used on per-artist basis use the ``'name'``, # ``'fontname'`` or ``'fontproperties'`` kwargs documented :ref:`above -# <sphx_glr_tutorials_text_text_props.py>`. +# </tutorials/text/text_props>`. # # # On linux, `fc-list <https://linux.die.net/man/1/fc-list>`__ can be a diff --git a/tutorials/text/usetex.py b/tutorials/text/usetex.py index 00d7b8bf21e6..796ffa74694c 100644 --- a/tutorials/text/usetex.py +++ b/tutorials/text/usetex.py @@ -15,7 +15,7 @@ The LaTeX option is activated by setting ``text.usetex : True`` in your rc settings. Text handling with matplotlib's LaTeX support is slower than matplotlib's very capable :ref:`mathtext -<sphx_glr_tutorials_text_mathtext.py>`, but is more flexible, since different LaTeX +</tutorials/text/mathtext>`, but is more flexible, since different LaTeX packages (font packages, math packages, etc.) can be used. The results can be striking, especially when you take care to use the same fonts in your figures as in the main document. @@ -26,7 +26,7 @@ external dependencies must all be located on your :envvar:`PATH`. There are a couple of options to mention, which can be changed using :ref:`rc -settings <sphx_glr_tutorials_introductory_customizing.py>`. Here is an example matplotlibrc file:: +settings </tutorials/introductory/customizing>`. Here is an example matplotlibrc file:: font.family : serif font.serif : Times, Palatino, New Century Schoolbook, Bookman, Computer Modern Roman From 844b28cdd41ef2d6a72e4c768b592a26b06132a2 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sun, 27 May 2018 03:36:50 -0700 Subject: [PATCH 0732/1161] Some manual fixes. --- examples/color/color_cycle_default.py | 2 +- examples/color/color_cycler.py | 9 +++--- .../contour_demo.py | 3 +- .../contour_image.py | 12 ++++---- .../contour_label_demo.py | 2 +- .../images_contours_and_fields/image_demo.py | 2 +- .../images_contours_and_fields/quiver_demo.py | 13 ++++---- .../quiver_simple_demo.py | 5 ++-- .../shapes_and_collections/ellipse_demo.py | 2 +- lib/matplotlib/legend.py | 30 +++++++++---------- lib/matplotlib/legend_handler.py | 2 +- lib/matplotlib/widgets.py | 2 +- tutorials/introductory/lifecycle.py | 11 ++++--- tutorials/text/mathtext.py | 2 +- tutorials/text/text_props.py | 2 +- tutorials/text/usetex.py | 18 +++++------ 16 files changed, 54 insertions(+), 63 deletions(-) diff --git a/examples/color/color_cycle_default.py b/examples/color/color_cycle_default.py index e84a55751d83..8de0048b54a9 100644 --- a/examples/color/color_cycle_default.py +++ b/examples/color/color_cycle_default.py @@ -4,7 +4,7 @@ ==================================== Display the colors from the default prop_cycle, which is obtained from the -:ref:`rc parameters</tutorials/introductory/customizing>`. +:doc:`rc parameters</tutorials/introductory/customizing>`. """ import numpy as np import matplotlib.pyplot as plt diff --git a/examples/color/color_cycler.py b/examples/color/color_cycler.py index e1ba72c4090a..57a69400426f 100644 --- a/examples/color/color_cycler.py +++ b/examples/color/color_cycler.py @@ -8,11 +8,10 @@ This example demonstrates two different APIs: - 1. Setting the default - :doc:`rc parameter</tutorials/introductory/customizing>` - specifying the property cycle. This affects all subsequent axes - (but not axes already created). - 2. Setting the property cycle for a single pair of axes. +1. Setting the default :doc:`rc parameter</tutorials/introductory/customizing>` + specifying the property cycle. This affects all subsequent axes (but not + axes already created). +2. Setting the property cycle for a single pair of axes. """ from cycler import cycler import numpy as np diff --git a/examples/images_contours_and_fields/contour_demo.py b/examples/images_contours_and_fields/contour_demo.py index f6d2a5f617ce..bfbffe41eb45 100644 --- a/examples/images_contours_and_fields/contour_demo.py +++ b/examples/images_contours_and_fields/contour_demo.py @@ -6,8 +6,7 @@ Illustrate simple contour plotting, contours on an image with a colorbar for the contours, and labelled contours. -See also the -:ref:`contour image example +See also the :doc:`contour image example </gallery/images_contours_and_fields/contour_image>`. """ import matplotlib diff --git a/examples/images_contours_and_fields/contour_image.py b/examples/images_contours_and_fields/contour_image.py index 7df8996bf7d2..df2cc7c381f1 100644 --- a/examples/images_contours_and_fields/contour_image.py +++ b/examples/images_contours_and_fields/contour_image.py @@ -4,16 +4,14 @@ ============= Test combinations of contouring, filled contouring, and image plotting. -For contour labelling, see See also the -:ref:`contour demo example +For contour labelling, see also the :doc:`contour demo example </gallery/images_contours_and_fields/contour_demo>`. The emphasis in this demo is on showing how to make contours register -correctly on images, and on how to get both of them oriented as -desired. In particular, note the usage of the -:ref:`"origin" and "extent" -</tutorials/intermediate/imshow_extent>` -keyword arguments to imshow and contour. +correctly on images, and on how to get both of them oriented as desired. +In particular, note the usage of the :doc:`"origin" and "extent" +</tutorials/intermediate/imshow_extent>` keyword arguments to imshow and +contour. """ import matplotlib.pyplot as plt import numpy as np diff --git a/examples/images_contours_and_fields/contour_label_demo.py b/examples/images_contours_and_fields/contour_label_demo.py index 5aeacac67797..af26ab997c87 100644 --- a/examples/images_contours_and_fields/contour_label_demo.py +++ b/examples/images_contours_and_fields/contour_label_demo.py @@ -6,7 +6,7 @@ Illustrate some of the more advanced things that one can do with contour labels. -See also the :ref:`contour demo example +See also the :doc:`contour demo example </gallery/images_contours_and_fields/contour_demo>`. """ diff --git a/examples/images_contours_and_fields/image_demo.py b/examples/images_contours_and_fields/image_demo.py index 2cd09dc88f9a..6ccb196b97d0 100644 --- a/examples/images_contours_and_fields/image_demo.py +++ b/examples/images_contours_and_fields/image_demo.py @@ -137,7 +137,7 @@ # x[0,0] in the upper left or lower right by using the origin parameter. # You can also control the default setting image.origin in your # :ref:`matplotlibrc file <customizing-with-matplotlibrc-files>`. For more on -# this topic see the :ref:`complete guide on origin and extent +# this topic see the :doc:`complete guide on origin and extent # </tutorials/intermediate/imshow_extent>`. x = np.arange(120).reshape((10, 12)) diff --git a/examples/images_contours_and_fields/quiver_demo.py b/examples/images_contours_and_fields/quiver_demo.py index 89711ba65117..7c1711710076 100644 --- a/examples/images_contours_and_fields/quiver_demo.py +++ b/examples/images_contours_and_fields/quiver_demo.py @@ -3,14 +3,13 @@ Demonstration of advanced quiver and quiverkey functions ======================================================== -Demonstrates some more advanced options for `~.axes.Axes.quiver`. -For a simple example refer to -:doc:`/gallery/images_contours_and_fields/quiver_simple_demo`. +Demonstrates some more advanced options for `~.axes.Axes.quiver`. For a simple +example refer to :doc:`/gallery/images_contours_and_fields/quiver_simple_demo`. -Known problem: the plot autoscaling does not take into account -the arrows, so those on the boundaries are often out of the picture. -This is *not* an easy problem to solve in a perfectly general way. -The workaround is to manually expand the Axes objects. +Known problem: the plot autoscaling does not take into account the arrows, so +those on the boundaries are often out of the picture. This is *not* an easy +problem to solve in a perfectly general way. The workaround is to manually +expand the Axes objects. """ import matplotlib.pyplot as plt import numpy as np diff --git a/examples/images_contours_and_fields/quiver_simple_demo.py b/examples/images_contours_and_fields/quiver_simple_demo.py index abaf5279eb5d..61d5e8ff5f63 100644 --- a/examples/images_contours_and_fields/quiver_simple_demo.py +++ b/examples/images_contours_and_fields/quiver_simple_demo.py @@ -3,10 +3,9 @@ Quiver Simple Demo ================== -A simple example of a `~.axes.Axes.quiver` plot with a -`~.axes.Axes.quiverkey`. +A simple example of a `~.axes.Axes.quiver` plot with a `~.axes.Axes.quiverkey`. -For more advanced options refer to +For more advanced options refer to :doc:`/gallery/images_contours_and_fields/quiver_demo`. """ import matplotlib.pyplot as plt diff --git a/examples/shapes_and_collections/ellipse_demo.py b/examples/shapes_and_collections/ellipse_demo.py index 10c28e872b1d..29d8c2694b8b 100644 --- a/examples/shapes_and_collections/ellipse_demo.py +++ b/examples/shapes_and_collections/ellipse_demo.py @@ -4,7 +4,7 @@ ============ Draw many ellipses. Here individual ellipses are drawn. Compare this -to the :ref:`Ellipse collection example +to the :doc:`Ellipse collection example </gallery/shapes_and_collections/ellipse_collection>`. """ import matplotlib.pyplot as plt diff --git a/lib/matplotlib/legend.py b/lib/matplotlib/legend.py index 03fb4683e9a0..5d2a50035360 100644 --- a/lib/matplotlib/legend.py +++ b/lib/matplotlib/legend.py @@ -4,23 +4,21 @@ .. important:: - It is unlikely that you would ever create a Legend instance manually. - Most users would normally create a legend via the + It is unlikely that you would ever create a Legend instance + manually. Most users would normally create a legend via the :meth:`~matplotlib.axes.Axes.legend` function. For more details on legends - there is also a :ref:`legend guide - </tutorials/intermediate/legend_guide>`. - -The Legend class can be considered as a container of legend handles -and legend texts. Creation of corresponding legend handles from the -plot elements in the axes or figures (e.g., lines, patches, etc.) are -specified by the handler map, which defines the mapping between the -plot elements and the legend handlers to be used (the default legend -handlers are defined in the :mod:`~matplotlib.legend_handler` module). -Note that not all kinds of artist are supported by the legend yet by default -but it is possible to extend the legend handler's capabilities to support -arbitrary objects. See the :ref:`legend guide -</tutorials/intermediate/legend_guide>` for more information. - + there is also a :doc:`legend guide </tutorials/intermediate/legend_guide>`. + +The Legend class can be considered as a container of legend handles and +legend texts. Creation of corresponding legend handles from the plot elements +in the axes or figures (e.g., lines, patches, etc.) are specified by the +handler map, which defines the mapping between the plot elements and the +legend handlers to be used (the default legend handlers are defined in the +:mod:`~matplotlib.legend_handler` module). Note that not all kinds of +artist are supported by the legend yet by default but it is possible to +extend the legend handler's capabilities to support arbitrary objects. See +the :doc:`legend guide </tutorials/intermediate/legend_guide>` for more +information. """ import logging diff --git a/lib/matplotlib/legend_handler.py b/lib/matplotlib/legend_handler.py index 86e695a02726..ad574dcf33d0 100644 --- a/lib/matplotlib/legend_handler.py +++ b/lib/matplotlib/legend_handler.py @@ -1,7 +1,7 @@ """ This module defines default legend handlers. -It is strongly encouraged to have read the :ref:`legend guide +It is strongly encouraged to have read the :doc:`legend guide </tutorials/intermediate/legend_guide>` before this documentation. Legend handlers are expected to be a callable object with a following diff --git a/lib/matplotlib/widgets.py b/lib/matplotlib/widgets.py index e3442b230d1b..72ed42237b03 100644 --- a/lib/matplotlib/widgets.py +++ b/lib/matplotlib/widgets.py @@ -2574,7 +2574,7 @@ class PolygonSelector(_SelectorWidget): if the mouse click is within `vertex_select_radius` pixels of the vertex. The default radius is 15 pixels. - See Also + Examples -------- :doc:`/gallery/widgets/polygon_selector_demo` """ diff --git a/tutorials/introductory/lifecycle.py b/tutorials/introductory/lifecycle.py index c6bb681e8976..c8af6d5c6183 100644 --- a/tutorials/introductory/lifecycle.py +++ b/tutorials/introductory/lifecycle.py @@ -23,11 +23,10 @@ interface. In this case, we utilize an instance of :class:`axes.Axes` in order to render visualizations on an instance of :class:`figure.Figure`. -The second is based on MATLAB and uses -a state-based interface. This is encapsulated in the :mod:`pyplot` -module. See the :ref:`pyplot tutorials -</tutorials/introductory/pyplot>` -for a more in-depth look at the pyplot interface. +The second is based on MATLAB and uses a state-based interface. This is +encapsulated in the :mod:`pyplot` module. See the :doc:`pyplot tutorials +</tutorials/introductory/pyplot>` for a more in-depth look at the pyplot +interface. Most of the terms are straightforward but the main thing to remember is that: @@ -85,7 +84,7 @@ # .. note:: # # Figures can have multiple axes on them. For information on how to do this, -# see the :ref:`Tight Layout tutorial +# see the :doc:`Tight Layout tutorial # </tutorials/intermediate/tight_layout_guide>`. fig, ax = plt.subplots() diff --git a/tutorials/text/mathtext.py b/tutorials/text/mathtext.py index 0cdc9d3062c4..9fafdcf1ed64 100644 --- a/tutorials/text/mathtext.py +++ b/tutorials/text/mathtext.py @@ -63,7 +63,7 @@ # # have special meaning outside of math mode in TeX. Therefore, these # characters will behave differently depending on the rcParam -# ``text.usetex`` flag. See the :ref:`usetex tutorial +# ``text.usetex`` flag. See the :doc:`usetex tutorial # </tutorials/text/usetex>` for more information. # # Subscripts and superscripts diff --git a/tutorials/text/text_props.py b/tutorials/text/text_props.py index 2555cefc53e8..27567507db30 100644 --- a/tutorials/text/text_props.py +++ b/tutorials/text/text_props.py @@ -217,7 +217,7 @@ # font.sans-serif: Source Han Sans TW, Arial, sans-serif # # To control the font used on per-artist basis use the ``'name'``, -# ``'fontname'`` or ``'fontproperties'`` kwargs documented :ref:`above +# ``'fontname'`` or ``'fontproperties'`` kwargs documented :doc:`above # </tutorials/text/text_props>`. # # diff --git a/tutorials/text/usetex.py b/tutorials/text/usetex.py index 796ffa74694c..c0abd48aaad4 100644 --- a/tutorials/text/usetex.py +++ b/tutorials/text/usetex.py @@ -12,21 +12,21 @@ * PS * PDF -The LaTeX option is activated by setting ``text.usetex : True`` in -your rc settings. Text handling with matplotlib's LaTeX support is -slower than matplotlib's very capable :ref:`mathtext -</tutorials/text/mathtext>`, but is more flexible, since different LaTeX -packages (font packages, math packages, etc.) can be used. The -results can be striking, especially when you take care to use the same -fonts in your figures as in the main document. +The LaTeX option is activated by setting ``text.usetex : True`` in your rc +settings. Text handling with matplotlib's LaTeX support is slower than +matplotlib's very capable :doc:`mathtext </tutorials/text/mathtext>`, but is +more flexible, since different LaTeX packages (font packages, math packages, +etc.) can be used. The results can be striking, especially when you take care +to use the same fonts in your figures as in the main document. Matplotlib's LaTeX support requires a working LaTeX_ installation, dvipng_ (which may be included with your LaTeX installation), and Ghostscript_ (GPL Ghostscript 8.60 or later is recommended). The executables for these external dependencies must all be located on your :envvar:`PATH`. -There are a couple of options to mention, which can be changed using :ref:`rc -settings </tutorials/introductory/customizing>`. Here is an example matplotlibrc file:: +There are a couple of options to mention, which can be changed using +:doc:`rc settings </tutorials/introductory/customizing>`. Here is an example +matplotlibrc file:: font.family : serif font.serif : Times, Palatino, New Century Schoolbook, Bookman, Computer Modern Roman From b0b74864285af2e766ed881a882881d3e7375195 Mon Sep 17 00:00:00 2001 From: cclauss <cclauss@bluewin.ch> Date: Tue, 29 May 2018 11:28:25 +0200 Subject: [PATCH 0733/1161] multiprocessing.set_start_method() --> mp.set_start_method() line 12 does __import multiprocessing as mp__ so we must align to that name. flake8 testing of https://github.com/matplotlib/matplotlib on Python 3.6.3 $ __flake8 . --count --select=E901,E999,F821,F822,F823 --show-source --statistics__ ``` ./examples/misc/multiprocess_sgskip.py:105:9: F821 undefined name 'multiprocessing' multiprocessing.set_start_method("forkserver") ^ 1 F821 undefined name 'multiprocessing' 1 ``` --- examples/misc/multiprocess_sgskip.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/misc/multiprocess_sgskip.py b/examples/misc/multiprocess_sgskip.py index 2ab563d5b43e..517fdc392556 100644 --- a/examples/misc/multiprocess_sgskip.py +++ b/examples/misc/multiprocess_sgskip.py @@ -102,5 +102,5 @@ def main(): if __name__ == '__main__': if plt.get_backend() == "MacOSX": - multiprocessing.set_start_method("forkserver") + mp.set_start_method("forkserver") main() From b4ef275232ff1ef042d077c719f20835a526761d Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Tue, 29 May 2018 09:24:31 -0700 Subject: [PATCH 0734/1161] FIX: make unique ids longer and don't count on fixed length names --- lib/matplotlib/_constrained_layout.py | 3 +-- lib/matplotlib/_layoutbox.py | 14 +++++--------- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/lib/matplotlib/_constrained_layout.py b/lib/matplotlib/_constrained_layout.py index 0879afe60f67..45d13df23651 100644 --- a/lib/matplotlib/_constrained_layout.py +++ b/lib/matplotlib/_constrained_layout.py @@ -455,8 +455,7 @@ def _arrange_subplotspecs(gs, hspace=0, wspace=0): if child._is_subplotspec_layoutbox(): for child2 in child.children: # check for gridspec children... - name = (child2.name).split('.')[-1][:-3] - if name == 'gridspec': + if child2._is_gridspec_layoutbox(): _arrange_subplotspecs(child2, hspace=hspace, wspace=wspace) sschildren += [child] # now arrange the subplots... diff --git a/lib/matplotlib/_layoutbox.py b/lib/matplotlib/_layoutbox.py index a94d20243a60..2eb04436dcf8 100644 --- a/lib/matplotlib/_layoutbox.py +++ b/lib/matplotlib/_layoutbox.py @@ -354,20 +354,16 @@ def _is_subplotspec_layoutbox(self): Helper to check if this layoutbox is the layoutbox of a subplotspec ''' - name = (self.name).split('.')[-1][:-3] - if name == 'ss': - return True - return False + name = (self.name).split('.')[-1] + return name[:2] == 'ss' def _is_gridspec_layoutbox(self): ''' Helper to check if this layoutbox is the layoutbox of a gridspec ''' - name = (self.name).split('.')[-1][:-3] - if name == 'gridspec': - return True - return False + name = (self.name).split('.')[-1] + return name[:8] == 'gridspec' def find_child_subplots(self): ''' @@ -646,7 +642,7 @@ def seq_id(): global _layoutboxobjnum - return ('%03d' % (next(_layoutboxobjnum))) + return ('%06d' % (next(_layoutboxobjnum))) def print_children(lb): From 42de98c9e0140722f6a4b6eb7c5270c7b6f2dc5b Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Tue, 29 May 2018 18:33:24 +0200 Subject: [PATCH 0735/1161] Use raw string literals for docstrings with escapes --- examples/shapes_and_collections/donut.py | 2 +- lib/matplotlib/artist.py | 2 +- lib/matplotlib/axes/_axes.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/shapes_and_collections/donut.py b/examples/shapes_and_collections/donut.py index 794cd342b039..9afa26c85e6f 100644 --- a/examples/shapes_and_collections/donut.py +++ b/examples/shapes_and_collections/donut.py @@ -1,4 +1,4 @@ -""" +r""" ============= Mmh Donuts!!! ============= diff --git a/lib/matplotlib/artist.py b/lib/matplotlib/artist.py index c8f9726b0201..83b3e27d3eac 100644 --- a/lib/matplotlib/artist.py +++ b/lib/matplotlib/artist.py @@ -1059,7 +1059,7 @@ class ArtistInspector(object): """ def __init__(self, o): - """ + r""" Initialize the artist inspector with an `Artist` or an iterable of `Artist`\s. If an iterable is used, we assume it is a homogeneous sequence (all `Artists` are of the same type) and it is your diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index c05db4f3aa5f..5fcf014bf68e 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -5267,7 +5267,7 @@ def _pcolorargs(funcname, *args, allmatch=False): @docstring.dedent_interpd def pcolor(self, *args, alpha=None, norm=None, cmap=None, vmin=None, vmax=None, **kwargs): - """ + r""" Create a pseudocolor plot with a non-regular rectangular grid. Call signature:: From 1f09d1866cafb3e16e628f9f1bfd91471acc0988 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sat, 12 May 2018 00:48:50 -0700 Subject: [PATCH 0736/1161] io.open and codecs.open are redundant with open on Py3. Also, use contextlib.redirect_stderr/cbook._setattr_cm where appropriate. --- lib/matplotlib/__init__.py | 2 +- lib/matplotlib/backends/backend_nbagg.py | 7 +- lib/matplotlib/backends/backend_pgf.py | 5 +- lib/matplotlib/backends/backend_ps.py | 78 +++++++++---------- .../backends/backend_webagg_core.py | 12 ++- lib/matplotlib/cbook/__init__.py | 2 +- lib/matplotlib/sphinxext/plot_directive.py | 48 ++++-------- 7 files changed, 64 insertions(+), 90 deletions(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index c2b25dbef222..109e8dd4dff9 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -974,7 +974,7 @@ def _open_file_or_url(fname): encoding = locale.getpreferredencoding(do_setlocale=False) if encoding is None: encoding = "utf-8" - with io.open(fname, encoding=encoding) as f: + with open(fname, encoding=encoding) as f: yield f diff --git a/lib/matplotlib/backends/backend_nbagg.py b/lib/matplotlib/backends/backend_nbagg.py index 16d3d51e0a74..da52a6fe9e7e 100644 --- a/lib/matplotlib/backends/backend_nbagg.py +++ b/lib/matplotlib/backends/backend_nbagg.py @@ -111,11 +111,8 @@ def get_javascript(cls, stream=None): else: output = stream super().get_javascript(stream=output) - with io.open(os.path.join( - os.path.dirname(__file__), - "web_backend", 'js', - "nbagg_mpl.js"), encoding='utf8') as fd: - output.write(fd.read()) + output.write((Path(__file__).parent / "web_backend/js/nbagg_mpl.js") + .read_text(encoding="utf-8")) if stream is None: return output.getvalue() diff --git a/lib/matplotlib/backends/backend_pgf.py b/lib/matplotlib/backends/backend_pgf.py index a3b7d831a788..fda2ac34fe8d 100644 --- a/lib/matplotlib/backends/backend_pgf.py +++ b/lib/matplotlib/backends/backend_pgf.py @@ -834,7 +834,7 @@ def print_pgf(self, fname_or_fh, *args, **kwargs): # figure out where the pgf is to be written to if isinstance(fname_or_fh, str): - with codecs.open(fname_or_fh, "w", encoding="utf-8") as fh: + with open(fname_or_fh, "w", encoding="utf-8") as fh: self._print_pgf_to_fh(fh, *args, **kwargs) elif is_writable_file_like(fname_or_fh): fh = codecs.getwriter("utf-8")(fname_or_fh) @@ -868,8 +868,7 @@ def _print_pdf_to_fh(self, fh, *args, **kwargs): \\centering \\input{figure.pgf} \\end{document}""" % (w, h, latex_preamble, latex_fontspec) - with codecs.open(fname_tex, "w", "utf-8") as fh_tex: - fh_tex.write(latexcode) + pathlib.Path(fname_tex).write_text(latexcode, encoding="utf-8") texcommand = rcParams["pgf.texsystem"] cmdargs = [texcommand, "-interaction=nonstopmode", diff --git a/lib/matplotlib/backends/backend_ps.py b/lib/matplotlib/backends/backend_ps.py index 3209acb4a59b..8a9e3e633f75 100644 --- a/lib/matplotlib/backends/backend_ps.py +++ b/lib/matplotlib/backends/backend_ps.py @@ -1,21 +1,30 @@ """ -A PostScript backend, which can produce both PostScript .ps and .eps +A PostScript backend, which can produce both PostScript .ps and .eps. """ -import glob, os, shutil, sys, time, datetime -import io + +import binascii +import datetime +import glob +from io import StringIO, TextIOWrapper import logging +import os +import pathlib +import re +import shutil import subprocess - +import sys from tempfile import mkstemp +import time + +import numpy as np + from matplotlib import cbook, __version__, rcParams, checkdep_ghostscript from matplotlib.afm import AFM from matplotlib.backend_bases import ( _Backend, FigureCanvasBase, FigureManagerBase, GraphicsContextBase, RendererBase) - from matplotlib.cbook import (get_realpath_and_stat, is_writable_file_like, maxdict, file_requires_unicode) - from matplotlib.font_manager import findfont, is_opentype_cff_font, get_font from matplotlib.ft2font import KERNING_DEFAULT, LOAD_NO_HINTING from matplotlib.ttconv import convert_ttf_to_ps @@ -24,14 +33,8 @@ from matplotlib.path import Path from matplotlib import _path from matplotlib.transforms import Affine2D - from matplotlib.backends.backend_mixed import MixedModeRenderer - -import numpy as np -import binascii -import re - _log = logging.getLogger(__name__) backend_version = 'Level II' @@ -159,17 +162,13 @@ def _move_path_to_path_or_stream(src, dst): If *dst* is a path, the metadata of *src* are *not* copied. """ if is_writable_file_like(dst): - fh = (io.open(src, 'r', encoding='latin-1') + fh = (open(src, 'r', encoding='latin-1') if file_requires_unicode(dst) - else io.open(src, 'rb')) + else open(src, 'rb')) with fh: shutil.copyfileobj(fh, dst) else: - # Py3: shutil.move(src, dst, copy_function=shutil.copyfile) - open(dst, 'w').close() - mode = os.stat(dst).st_mode - shutil.move(src, dst) - os.chmod(dst, mode) + shutil.move(src, dst, copy_function=shutil.copyfile) class RendererPS(RendererBase): @@ -369,7 +368,7 @@ def _get_font_afm(self, prop): "Helvetica", fontext='afm', directory=self._afm_font_dir) font = self.afmfontd.get(fname) if font is None: - with io.open(fname, 'rb') as fh: + with open(fname, 'rb') as fh: font = AFM(fh) self.afmfontd[fname] = font self.afmfontd[key] = font @@ -1030,7 +1029,7 @@ def write(self, *kl, **kwargs): self._pswriter = NullWriter() else: - self._pswriter = io.StringIO() + self._pswriter = StringIO() # mixed mode rendering ps_renderer = self._renderer_class(width, height, self._pswriter, @@ -1153,7 +1152,7 @@ def print_figure_impl(fh): # Write to a temporary file. fd, tmpfile = mkstemp() try: - with io.open(fd, 'w', encoding='latin-1') as fh: + with open(fd, 'w', encoding='latin-1') as fh: print_figure_impl(fh) if rcParams['ps.usedistiller'] == 'ghostscript': gs_distill(tmpfile, isEPSF, ptype=papertype, bbox=bbox) @@ -1171,10 +1170,9 @@ def print_figure_impl(fh): requires_unicode = file_requires_unicode(outfile) if not requires_unicode: - fh = io.TextIOWrapper(outfile, encoding="latin-1") - - # Prevent the io.TextIOWrapper from closing the - # underlying file + fh = TextIOWrapper(outfile, encoding="latin-1") + # Prevent the TextIOWrapper from closing the underlying + # file. def do_nothing(): pass fh.close = do_nothing @@ -1183,7 +1181,7 @@ def do_nothing(): print_figure_impl(fh) else: - with io.open(outfile, 'w', encoding='latin-1') as fh: + with open(outfile, 'w', encoding='latin-1') as fh: print_figure_impl(fh) def _print_figure_tex( @@ -1231,7 +1229,7 @@ def write(self, *kl, **kwargs): self._pswriter = NullWriter() else: - self._pswriter = io.StringIO() + self._pswriter = StringIO() # mixed mode rendering ps_renderer = self._renderer_class(width, height, @@ -1259,7 +1257,7 @@ def write(self, *kl, **kwargs): fd, tmpfile = mkstemp() try: - with io.open(fd, 'w', encoding='latin-1') as fh: + with open(fd, 'w', encoding='latin-1') as fh: # write the Encapsulated PostScript headers print("%!PS-Adobe-3.0 EPSF-3.0", file=fh) if title: @@ -1399,17 +1397,13 @@ def convert_psfrags(tmpfile, psfrags, font_preamble, custom_preamble, paperWidth, paperHeight, '\n'.join(psfrags), angle, os.path.split(epsfile)[-1]) - with io.open(latexfile, 'wb') as latexh: - if rcParams['text.latex.unicode']: - latexh.write(s.encode('utf8')) - else: - try: - latexh.write(s.encode('ascii')) - except UnicodeEncodeError: - _log.info("You are using unicode and latex, but have " - "not enabled the matplotlib 'text.latex.unicode' " - "rcParam.") - raise + try: + pathlib.Path(latexfile).write_text( + s, encoding='utf-8' if rcParams['text.latex.unicode'] else 'ascii') + except UnicodeEncodeError: + _log.info("You are using unicode and latex, but have not enabled the " + "Matplotlib 'text.latex.unicode' rcParam.") + raise # Replace \\ for / so latex does not think there is a function call latexfile = latexfile.replace("\\", "/") @@ -1454,7 +1448,7 @@ def convert_psfrags(tmpfile, psfrags, font_preamble, custom_preamble, # the generated ps file is in landscape and return this # information. The return value is used in pstoeps step to recover # the correct bounding box. 2010-06-05 JJL - with io.open(tmpfile) as fh: + with open(tmpfile) as fh: if "Landscape" in fh.read(1000): psfrag_rotated = True else: @@ -1648,7 +1642,7 @@ def pstoeps(tmpfile, bbox=None, rotated=False): bbox_info, rotate = None, None epsfile = tmpfile + '.eps' - with io.open(epsfile, 'wb') as epsh, io.open(tmpfile, 'rb') as tmph: + with open(epsfile, 'wb') as epsh, open(tmpfile, 'rb') as tmph: write = epsh.write # Modify the header: for line in tmph: diff --git a/lib/matplotlib/backends/backend_webagg_core.py b/lib/matplotlib/backends/backend_webagg_core.py index 76e823aa5cf3..b30f7bd416d6 100644 --- a/lib/matplotlib/backends/backend_webagg_core.py +++ b/lib/matplotlib/backends/backend_webagg_core.py @@ -11,9 +11,10 @@ # application, implemented with tornado. import datetime -import io +from io import StringIO import json import os +from pathlib import Path import warnings import numpy as np @@ -448,15 +449,12 @@ def refresh_all(self): @classmethod def get_javascript(cls, stream=None): if stream is None: - output = io.StringIO() + output = StringIO() else: output = stream - with io.open(os.path.join( - os.path.dirname(__file__), - "web_backend", "js", - "mpl.js"), encoding='utf8') as fd: - output.write(fd.read()) + output.write((Path(__file__).parent / "web_backend/js/mpl.js") + .read_text(encoding="utf-8")) toolitems = [] for name, tooltip, image, method in cls.ToolbarCls.toolitems: diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index 8fe95c05a3ac..1bee526499ff 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -466,7 +466,7 @@ def to_filehandle(fname, flag='rU', return_opened=False, encoding=None): flag = flag.replace('U', '') fh = bz2.BZ2File(fname, flag) else: - fh = io.open(fname, flag, encoding=encoding) + fh = open(fname, flag, encoding=encoding) opened = True elif hasattr(fname, 'seek'): fh = fname diff --git a/lib/matplotlib/sphinxext/plot_directive.py b/lib/matplotlib/sphinxext/plot_directive.py index 048245b52379..28e1d92fbd88 100644 --- a/lib/matplotlib/sphinxext/plot_directive.py +++ b/lib/matplotlib/sphinxext/plot_directive.py @@ -134,10 +134,17 @@ plot_template Provide a customized template for preparing restructured text. """ + +import contextlib +from io import StringIO import itertools -import sys, os, shutil, io, re, textwrap +import os from os.path import relpath from pathlib import Path +import re +import shutil +import sys +import textwrap import traceback import warnings @@ -479,21 +486,8 @@ def run_code(code, code_path, ns=None, function_name=None): os.chdir(dirname) sys.path.insert(0, dirname) - # Reset sys.argv - old_sys_argv = sys.argv - sys.argv = [code_path] - - # Redirect stdout - stdout = sys.stdout - sys.stdout = io.StringIO() - - # Assign a do-nothing print function to the namespace. There - # doesn't seem to be any other way to provide a way to (not) print - # that works correctly across Python 2 and 3. - def _dummy_print(*arg, **kwarg): - pass - - try: + with cbook._setattr_cm(sys, argv=[code_path]), \ + contextlib.redirect_stdout(StringIO()): try: code = unescape_doctest(code) if ns is None: @@ -504,7 +498,6 @@ def _dummy_print(*arg, **kwarg): 'from matplotlib import pyplot as plt\n', ns) else: exec(str(setup.config.plot_pre_code), ns) - ns['print'] = _dummy_print if "__main__" in code: ns['__name__'] = '__main__' exec(code, ns) @@ -512,11 +505,9 @@ def _dummy_print(*arg, **kwarg): exec(function_name + "()", ns) except (Exception, SystemExit) as err: raise PlotError(traceback.format_exc()) - finally: - os.chdir(pwd) - sys.argv = old_sys_argv - sys.path[:] = old_sys_path - sys.stdout = stdout + finally: + os.chdir(pwd) + sys.path[:] = old_sys_path return ns @@ -678,8 +669,7 @@ def run(arguments, content, options, state_machine, state, lineno): else: function_name = None - with io.open(source_file_name, 'r', encoding='utf-8') as fd: - code = fd.read() + code = Path(source_file_name).read_text(encoding='utf-8') output_base = os.path.basename(source_file_name) else: source_file_name = rst_file @@ -831,12 +821,8 @@ def run(arguments, content, options, state_machine, state, lineno): shutil.copyfile(fn, destimg) # copy script (if necessary) - target_name = os.path.join(dest_dir, output_base + source_ext) - with io.open(target_name, 'w', encoding="utf-8") as f: - if source_file_name == rst_file: - code_escaped = unescape_doctest(code) - else: - code_escaped = code - f.write(code_escaped) + Path(dest_dir, output_base + source_ext).write_text( + unescape_doctest(code) if source_file_name == rst_file else code, + encoding='utf-8') return errors From b92cda50162d491c746426f4823ed6c181220054 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Tue, 29 May 2018 14:27:25 -0700 Subject: [PATCH 0737/1161] Also use setattr_cm for sys.path. --- lib/matplotlib/sphinxext/plot_directive.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/lib/matplotlib/sphinxext/plot_directive.py b/lib/matplotlib/sphinxext/plot_directive.py index 28e1d92fbd88..ce8b7685cd28 100644 --- a/lib/matplotlib/sphinxext/plot_directive.py +++ b/lib/matplotlib/sphinxext/plot_directive.py @@ -468,7 +468,6 @@ def run_code(code, code_path, ns=None, function_name=None): # it can get at its data files, if any. Add its path to sys.path # so it can import any helper modules sitting beside it. pwd = os.getcwd() - old_sys_path = sys.path.copy() if setup.config.plot_working_directory is not None: try: os.chdir(setup.config.plot_working_directory) @@ -480,13 +479,12 @@ def run_code(code, code_path, ns=None, function_name=None): raise TypeError(str(err) + '\n`plot_working_directory` option in ' 'Sphinx configuration file must be a string or ' 'None') - sys.path.insert(0, setup.config.plot_working_directory) elif code_path is not None: dirname = os.path.abspath(os.path.dirname(code_path)) os.chdir(dirname) - sys.path.insert(0, dirname) - with cbook._setattr_cm(sys, argv=[code_path]), \ + with cbook._setattr_cm( + sys, argv=[code_path], path=[os.getcwd(), *sys.path]), \ contextlib.redirect_stdout(StringIO()): try: code = unescape_doctest(code) @@ -507,7 +505,6 @@ def run_code(code, code_path, ns=None, function_name=None): raise PlotError(traceback.format_exc()) finally: os.chdir(pwd) - sys.path[:] = old_sys_path return ns From b81ca50afe954ab83c67ad1a5ccaa78c54f64d3e Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Tue, 29 May 2018 17:36:41 -0700 Subject: [PATCH 0738/1161] DOC: add info to transforms tutorial about fig.dpi_scale_tran --- lib/matplotlib/axes/_base.py | 4 + tutorials/advanced/transforms_tutorial.py | 223 +++++++++++++++------- 2 files changed, 161 insertions(+), 66 deletions(-) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index a15654a448cb..8137a49c1dc2 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -1811,6 +1811,10 @@ def add_artist(self, a): to manually update the dataLim if the artist is to be included in autoscaling. + If no ``transform`` has been specified when creating the artist (e.g. + ``artist.get_transform() == None``) then the transform is set to + ``ax.transData``. + Returns the artist. """ a.axes = self diff --git a/tutorials/advanced/transforms_tutorial.py b/tutorials/advanced/transforms_tutorial.py index 439d1898b2fe..7a9518835ffe 100644 --- a/tutorials/advanced/transforms_tutorial.py +++ b/tutorials/advanced/transforms_tutorial.py @@ -18,43 +18,59 @@ ``ax`` is a :class:`~matplotlib.axes.Axes` instance, and ``fig`` is a :class:`~matplotlib.figure.Figure` instance. -+-----------+-----------------------------+-----------------------------------+ -|Coordinates|Transformation object |Description | -+-----------+-----------------------------+-----------------------------------+ -|"data" |``ax.transData`` |The coordinate system for the data,| -| | |controlled by xlim and ylim. | -+-----------+-----------------------------+-----------------------------------+ -|"axes" |``ax.transAxes`` |The coordinate system of the | -| | |`~matplotlib.axes.Axes`; (0, 0) | -| | |is bottom left of the axes, and | -| | |(1, 1) is top right of the axes. | -+-----------+-----------------------------+-----------------------------------+ -|"figure" |``fig.transFigure`` |The coordinate system of the | -| | |`.Figure`; (0, 0) is bottom left | -| | |of the figure, and (1, 1) is top | -| | |right of the figure. | -+-----------+-----------------------------+-----------------------------------+ -|"display" |``None``, or |The pixel coordinate system of the | -| |``IdentityTransform()`` |display; (0, 0) is bottom left of | -| | |the display, and (width, height) is| -| | |top right of the display in pixels.| -+-----------+-----------------------------+-----------------------------------+ -|"xaxis", |``ax.get_xaxis_transform()``,|Blended coordinate systems; use | -|"yaxis" |``ax.get_yaxis_transform()`` |data coordinates on one of the axis| -| | |and axes coordinates on the other. | -+-----------+-----------------------------+-----------------------------------+ ++----------------+-----------------------------+-----------------------------------+ +|Coordinates |Transformation object |Description | ++================+=============================+===================================+ +|"data" |``ax.transData`` |The coordinate system for the data,| +| | |controlled by xlim and ylim. | ++----------------+-----------------------------+-----------------------------------+ +|"axes" |``ax.transAxes`` |The coordinate system of the | +| | |`~matplotlib.axes.Axes`; (0, 0) | +| | |is bottom left of the axes, and | +| | |(1, 1) is top right of the axes. | ++----------------+-----------------------------+-----------------------------------+ +|"figure" |``fig.transFigure`` |The coordinate system of the | +| | |`.Figure`; (0, 0) is bottom left | +| | |of the figure, and (1, 1) is top | +| | |right of the figure. | ++----------------+-----------------------------+-----------------------------------+ +|"figure-inches" |``fig.dpi_scale_trans`` |The coordinate system of the | +| | |`.Figure` in inches; (0, 0) is | +| | |bottom left of the figure, and | +| | |(width, height) is the top right | +| | |of the figure in inches. | ++----------------+-----------------------------+-----------------------------------+ +|"display" |``None``, or |The pixel coordinate system of the | +| |``IdentityTransform()`` |display window; (0, 0) is bottom | +| | |left of the window, and (width, | +| | |height) is top right of the | +| | |display window in pixels. | ++----------------+-----------------------------+-----------------------------------+ +|"xaxis", |``ax.get_xaxis_transform()``,|Blended coordinate systems; use | +|"yaxis" |``ax.get_yaxis_transform()`` |data coordinates on one of the axis| +| | |and axes coordinates on the other. | ++----------------+-----------------------------+-----------------------------------+ All of the transformation objects in the table above take inputs in -their coordinate system, and transform the input to the `display` -coordinate system. That is why the `display` coordinate system has -`None` for the `Transformation Object` column -- it already is in +their coordinate system, and transform the input to the ``display`` +coordinate system. That is why the ``display`` coordinate system has +``None`` for the ``Transformation Object`` column -- it already is in display coordinates. The transformations also know how to invert -themselves, to go from `display` back to the native coordinate system. +themselves, to go from ``display`` back to the native coordinate system. This is particularly useful when processing events from the user interface, which typically occur in display space, and you want to know where the mouse click or key-press occurred in your data coordinate system. +Note that specifying objects in ``display`` coordinates will change their +location if the ``dpi`` of the figure changes. This can cause confusion when +printing or changing screen resolution, because the object can change location +and size. Therefore it is most common +for artists placed in an axes or figure to have their transform set to +something *other* than the `~.transforms.IdentityTransform()`; the default when +an artist is placed on an axes using `~.Axes.axes.add_artist` is for the +transform to be ``ax.transData``. + .. _data-coords: Data coordinates @@ -71,6 +87,7 @@ import numpy as np import matplotlib.pyplot as plt +import matplotlib.patches as mpatches x = np.arange(0, 10, 0.005) y = np.exp(-x/2.) * np.sin(2*np.pi*x) @@ -143,14 +160,12 @@ (xdata, ydata), xytext=(-2*offset, offset), textcoords='offset points', bbox=bbox, arrowprops=arrowprops) - disp = ax.annotate('display = (%.1f, %.1f)' % (xdisplay, ydisplay), (xdisplay, ydisplay), xytext=(0.5*offset, -offset), xycoords='figure pixels', textcoords='offset points', bbox=bbox, arrowprops=arrowprops) - plt.show() ############################################################################### @@ -229,15 +244,13 @@ # move, but the circle will remain fixed because it is not in `data` # coordinates and will always remain at the center of the axes. -import matplotlib.patches as patches - fig = plt.figure() ax = fig.add_subplot(111) x, y = 10*np.random.rand(2, 1000) -ax.plot(x, y, 'go') # plot some data in data coordinates +ax.plot(x, y, 'go', alpha=0.2) # plot some data in data coordinates -circ = patches.Circle((0.5, 0.5), 0.25, transform=ax.transAxes, - facecolor='yellow', alpha=0.5) +circ = mpatches.Circle((0.5, 0.5), 0.25, transform=ax.transAxes, + facecolor='blue', alpha=0.75) ax.add_patch(circ) plt.show() @@ -281,7 +294,7 @@ # highlight the 1..2 stddev region with a span. # We want x to be in data coordinates and y to # span from 0..1 in axes coords -rect = patches.Rectangle((1, 0), width=1, height=1, +rect = mpatches.Rectangle((1, 0), width=1, height=1, transform=trans, color='yellow', alpha=0.5) @@ -303,12 +316,99 @@ # # trans = ax.get_xaxis_transform() # +# .. _transforms-fig-scale-dpi: +# +# Plotting in physical units +# ========================== +# +# Sometimes we want an object to be a certain physical size on the plot. +# Here we draw the same circle as above, but in physical units. If done +# interactively, you can see that changing the size of the figure does +# not change the offset of the circle from the lower-left corner, +# does not change its size, and the circle remains a circle regardless of +# the aspect ratio of the axes. + +fig, ax = plt.subplots(figsize=(5, 4)) +x, y = 10*np.random.rand(2, 1000) +ax.plot(x, y*10., 'go', alpha=0.2) # plot some data in data coordinates +# add a circle in fixed-units +circ = mpatches.Circle((2.5, 2), 1.0, transform=fig.dpi_scale_trans, + facecolor='blue', alpha=0.75) +ax.add_patch(circ) +plt.show() + +############################################################################### +# If we change the figure size, the circle does not change its absolute +# position and is cropped. + +fig, ax = plt.subplots(figsize=(7, 2)) +x, y = 10*np.random.rand(2, 1000) +ax.plot(x, y*10., 'go', alpha=0.2) # plot some data in data coordinates +# add a circle in fixed-units +circ = mpatches.Circle((2.5, 2), 1.0, transform=fig.dpi_scale_trans, + facecolor='blue', alpha=0.75) +ax.add_patch(circ) +plt.show() + +############################################################################### +# Another use is putting a patch with a set physical dimension around a +# data point on the axes. Here we add together two transforms. The +# first sets the scaling of how large the ellipse should be and the second +# sets its position. The ellipse is then placed at the origin, and then +# we use the helper transform :class:`~matplotlib.transforms.ScaledTranslation` +# to move it +# to the right place in the ``ax.transData`` coordinate system. +# This helper is instantiated with:: +# +# trans = ScaledTranslation(xt, yt, scale_trans) +# +# where `xt` and `yt` are the translation offsets, and `scale_trans` is +# a transformation which scales `xt` and `yt` at transformation time +# before applying the offsets. +# +# Note the use of the plus operator on the transforms below. +# This code says: first apply the scale transformation ``fig.dpi_scale_trans`` +# to make the ellipse the proper size, but still centered at (0, 0), +# and then translate the data to `xdata[0]` and `ydata[0]` in data space. +# +# In interactive use, the ellipse stays the same size even if the +# axes limits are changed via zoom. +# + +fig, ax = plt.subplots() +xdata, ydata = (0.2, 0.7), (0.5, 0.5) +ax.plot(xdata, ydata, "o") +ax.set_xlim((0, 1)) + +trans = (fig.dpi_scale_trans + + transforms.ScaledTranslation(xdata[0], ydata[0], ax.transData)) + +# plot an ellipse around the point that is 150 x 130 points in diameter... +circle = mpatches.Ellipse((0, 0), 150/72, 130/72, angle=40, + fill=None, transform=trans) +ax.add_patch(circle) +plt.show() + +############################################################################### +# .. note:: +# +# The order of transformation matters. Here the ellipse +# is given the right dimensions in display space *first* and then moved +# in data space to the correct spot. +# If we had done the ``ScaledTranslation`` first, then +# ``xdata[0]`` and ``ydata[0]`` would +# first be transformed to ``display`` coordinates (``[ 358.4 475.2]`` on +# a 200-dpi monitor) and then those coordinates +# would be scaled by ``fig.dpi_scale_trans`` pushing the center of +# the ellipse well off the screen (i.e. ``[ 71680. 95040.]``). +# # .. _offset-transforms-shadow: # # Using offset transforms to create a shadow effect # ================================================= # -# One use of transformations is to create a new transformation that is +# Another use of :class:`~matplotlib.transforms.ScaledTranslation` is to create +# a new transformation that is # offset from another transformation, e.g., to place one object shifted a # bit relative to another object. Typically you want the shift to be in # some physical dimension, like points or inches rather than in data @@ -318,38 +418,17 @@ # One use for an offset is to create a shadow effect, where you draw one # object identical to the first just to the right of it, and just below # it, adjusting the zorder to make sure the shadow is drawn first and -# then the object it is shadowing above it. The transforms module has a -# helper transformation -# :class:`~matplotlib.transforms.ScaledTranslation`. It is -# instantiated with:: +# then the object it is shadowing above it. # -# trans = ScaledTranslation(xt, yt, scale_trans) -# -# where `xt` and `yt` are the translation offsets, and `scale_trans` is -# a transformation which scales `xt` and `yt` at transformation time -# before applying the offsets. A typical use case is to use the figure -# ``fig.dpi_scale_trans`` transformation for the `scale_trans` argument, -# to first scale `xt` and `yt` specified in points to `display` space -# before doing the final offset. The dpi and inches offset is a -# common-enough use case that we have a special helper function to -# create it in :func:`matplotlib.transforms.offset_copy`, which returns -# a new transform with an added offset. But in the example below, we'll -# create the offset transform ourselves. Note the use of the plus -# operator in:: -# -# offset = transforms.ScaledTranslation(dx, dy, -# fig.dpi_scale_trans) -# shadow_transform = ax.transData + offset -# -# showing that can chain transformations using the addition operator. -# This code says: first apply the data transformation ``ax.transData`` -# and then translate the data by `dx` and `dy` points. In typography, +# Here we apply the transforms in the *opposite* order to the use of +# :class:`~matplotlib.transforms.ScaledTranslation` above. The plot is +# first made in data units (``ax.transData``) and then shifted by +# ``dx`` and ``dy`` points using `fig.dpi_scale_trans`. (In typography, # a`point <https://en.wikipedia.org/wiki/Point_%28typography%29>`_ is # 1/72 inches, and by specifying your offsets in points, your figure -# will look the same regardless of the dpi resolution it is saved in. +# will look the same regardless of the dpi resolution it is saved in.) -fig = plt.figure() -ax = fig.add_subplot(111) +fig, ax = plt.subplots() # make a simple sine wave x = np.arange(0., 2., 0.01) @@ -370,7 +449,19 @@ ax.set_title('creating a shadow effect with an offset transform') plt.show() + ############################################################################### +# .. note:: +# +# The dpi and inches offset is a +# common-enough use case that we have a special helper function to +# create it in :func:`matplotlib.transforms.offset_copy`, which returns +# a new transform with an added offset. So above we could have done:: +# +# shadow_transform = transforms.offset_copy(ax.transData, +# fig=fig, dx, dy, units='inches') +# +# # .. _transformation-pipeline: # # The transformation pipeline From 72ccc37973bdf1ee02f5143609fd0d578406c1f7 Mon Sep 17 00:00:00 2001 From: Taehoon Lee <me@taehoonlee.com> Date: Wed, 30 May 2018 16:42:28 +0900 Subject: [PATCH 0739/1161] Fix typos --- examples/pie_and_polar_charts/pie_and_donut_labels.py | 2 +- lib/matplotlib/_constrained_layout.py | 2 +- lib/matplotlib/axes/_axes.py | 4 ++-- lib/matplotlib/category.py | 4 ++-- tutorials/intermediate/imshow_extent.py | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/examples/pie_and_polar_charts/pie_and_donut_labels.py b/examples/pie_and_polar_charts/pie_and_donut_labels.py index 49e75606cd2c..a04b087c5e60 100644 --- a/examples/pie_and_polar_charts/pie_and_donut_labels.py +++ b/examples/pie_and_polar_charts/pie_and_donut_labels.py @@ -17,7 +17,7 @@ # # We can provide a function to the ``autopct`` argument, which will expand # automatic percentage labeling by showing absolute values; we calculate -# the latter back from realtive data and the known sum of all values. +# the latter back from relative data and the known sum of all values. # # We then create the pie and store the returned objects for later. # The first returned element of the returned tuple is a list of the wedges. diff --git a/lib/matplotlib/_constrained_layout.py b/lib/matplotlib/_constrained_layout.py index 0879afe60f67..59a58ea6b097 100644 --- a/lib/matplotlib/_constrained_layout.py +++ b/lib/matplotlib/_constrained_layout.py @@ -245,7 +245,7 @@ def _make_ghost_gridspec_slots(fig, gs): def _make_layout_margins(ax, renderer, h_pad, w_pad): """ For each axes, make a margin between the *pos* layoutbox and the - *axes* layoutbox be a minimum size that can accomodate the + *axes* layoutbox be a minimum size that can accommodate the decorations on the axis. """ fig = ax.figure diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 5fcf014bf68e..13a518460ba5 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -4594,7 +4594,7 @@ def fill(self, *args, **kwargs): ---------- args : sequence of x, y, [color] Each polygon is defined by the lists of *x* and *y* positions of - its nodes, optionally followed by by a *color* specifier. See + its nodes, optionally followed by a *color* specifier. See :mod:`matplotlib.colors` for supported color specifiers. The standard color cycle is used for polygons without a color specifier. @@ -5279,7 +5279,7 @@ def pcolor(self, *args, alpha=None, norm=None, cmap=None, vmin=None, .. hint:: ``pcolor()`` can be very slow for large arrays. In most - cases you should use the the similar but much faster + cases you should use the similar but much faster `~.Axes.pcolormesh` instead. See there for a discussion of the differences. diff --git a/lib/matplotlib/category.py b/lib/matplotlib/category.py index 2203b230f606..e8aef52e07fb 100644 --- a/lib/matplotlib/category.py +++ b/lib/matplotlib/category.py @@ -171,8 +171,8 @@ def __init__(self, data=None): def update(self, data): """Maps new values to integer identifiers. - Paramters - --------- + Parameters + ---------- data: iterable sequence of string values diff --git a/tutorials/intermediate/imshow_extent.py b/tutorials/intermediate/imshow_extent.py index 2e640045096a..7b52afdcd0fb 100644 --- a/tutorials/intermediate/imshow_extent.py +++ b/tutorials/intermediate/imshow_extent.py @@ -240,7 +240,7 @@ def generate_imshow_demo_grid(extents, xlim=None, ylim=None): # Explicit extent and axes limits # ------------------------------- # -# If we fix the axes limits by explicity setting `set_xlim` / `set_ylim`, we +# If we fix the axes limits by explicitly setting `set_xlim` / `set_ylim`, we # force a certain size and orientation of the axes. # This can decouple the 'left-right' and 'top-bottom' sense of the image from # the orientation on the screen. From 26491e9ec48fd5307dd0f2d3b168ae53998f7721 Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Wed, 30 May 2018 14:57:55 +0100 Subject: [PATCH 0740/1161] Convert Ellipse docstring to numpydoc --- lib/matplotlib/patches.py | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index 214284667b66..e69a8475b55e 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -1409,19 +1409,20 @@ def __str__(self): @docstring.dedent_interpd def __init__(self, xy, width, height, angle=0.0, **kwargs): """ - *xy* - center of ellipse - - *width* - total length (diameter) of horizontal axis - - *height* - total length (diameter) of vertical axis - - *angle* - rotation in degrees (anti-clockwise) + Parameters + ---------- + xy : tuple of (scalar, scalar) + xy coordinates of ellipse centre. + width : scalar + Total length (diameter) of horizontal axis. + height : scalar + Total length (diameter) of vertical axis. + angle : scalar + Rotation in degrees anti-clockwise. - Valid kwargs are: + Notes + ----- + Valid keyword arguments are %(Patch)s """ Patch.__init__(self, **kwargs) From b5b4ad9b07470c44867c1066bc1cffcc9ae3accc Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Wed, 30 May 2018 15:03:14 +0100 Subject: [PATCH 0741/1161] Mark rotation as optional --- lib/matplotlib/patches.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index e69a8475b55e..2dba3f7f5d56 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -1407,7 +1407,7 @@ def __str__(self): return fmt % pars @docstring.dedent_interpd - def __init__(self, xy, width, height, angle=0.0, **kwargs): + def __init__(self, xy, width, height, angle=0, **kwargs): """ Parameters ---------- @@ -1417,7 +1417,7 @@ def __init__(self, xy, width, height, angle=0.0, **kwargs): Total length (diameter) of horizontal axis. height : scalar Total length (diameter) of vertical axis. - angle : scalar + angle : scalar, optional Rotation in degrees anti-clockwise. Notes From ff2d79659e8e9eb4778446fb28af8dbc38fedde5 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Mon, 14 May 2018 19:29:19 -0700 Subject: [PATCH 0742/1161] Simplify FreeType Windows build. - Make FREETYPE_BUILD_CMD a raw string to avoid doubling all backslashes. - Line-wrap two overly long lines in FREETYPE_BUILD_CMD. - Move the `rd /S /Q %FREETYPE%\objs` to python (`shutil.rmtree`). - Move the `copy %FREETYPE\objs\...` to python (`shutil.copy2`). - Get rid of the Py27 part (`if errorlevel 1 ...`). - Run the FREETYPE_BUILD_CMD script with `src_path` as cwd, which avoids the need to define the %FREETYPE% environment variable. --- setup_external_compile.py | 3 ++- setupext.py | 36 ++++++++++++++++++------------------ 2 files changed, 20 insertions(+), 19 deletions(-) diff --git a/setup_external_compile.py b/setup_external_compile.py index c7a59515c9f0..4ee60120f1b9 100644 --- a/setup_external_compile.py +++ b/setup_external_compile.py @@ -53,6 +53,7 @@ def zip_extract(zip_file, target): X64 = platform.architecture()[0] == '64bit' PYVER = sys.version_info[:2] VS2010 = PYVER >= (3, 3) +xXX = 'x64' if X64 else 'x86' # If not VS2010, then use VS2008 VCVARSALL = None @@ -68,4 +69,4 @@ def prepare_build_cmd(build_cmd, **kwargs): VCVARSALL = candidate return build_cmd.format( - vcvarsall=VCVARSALL, xXX='x64' if X64 else 'x86', **kwargs) + vcvarsall=VCVARSALL, xXX=xXX, **kwargs) diff --git a/setupext.py b/setupext.py index 6d363012eb4e..159ce9ea1108 100644 --- a/setupext.py +++ b/setupext.py @@ -1122,23 +1122,15 @@ def do_custom_build(self): subprocess.check_call(["make"], env=env, cwd=src_path) else: # compilation on windows - FREETYPE_BUILD_CMD = """\ -call "%ProgramFiles%\\Microsoft SDKs\\Windows\\v7.0\\Bin\\SetEnv.Cmd" /Release /{xXX} /xp + FREETYPE_BUILD_CMD = r""" +call "%ProgramFiles%\Microsoft SDKs\Windows\v7.0\Bin\SetEnv.Cmd" ^ + /Release /{xXX} /xp call "{vcvarsall}" {xXX} -set MSBUILD=C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\MSBuild.exe -rd /S /Q %FREETYPE%\\objs -%MSBUILD% %FREETYPE%\\builds\\windows\\{vc20xx}\\freetype.sln /t:Clean;Build /p:Configuration="{config}";Platform={WinXX} -echo Build completed, moving result" -:: move to the "normal" path for the unix builds... -mkdir %FREETYPE%\\objs\\.libs -:: REMINDER: fix when changing the version -copy %FREETYPE%\\objs\\{vc20xx}\\{xXX}\\freetype261.lib %FREETYPE%\\objs\\.libs\\libfreetype.lib -if errorlevel 1 ( - rem This is a py27 version, which has a different location for the lib file :-/ - copy %FREETYPE%\\objs\\win32\\{vc20xx}\\freetype261.lib %FREETYPE%\\objs\\.libs\\libfreetype.lib -) +set MSBUILD=C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe +%MSBUILD% "builds\windows\{vc20xx}\freetype.sln" ^ + /t:Clean;Build /p:Configuration="{config}";Platform={WinXX} """ - from setup_external_compile import fixproj, prepare_build_cmd, VS2010, X64 + from setup_external_compile import fixproj, prepare_build_cmd, VS2010, X64, xXX # Note: freetype has no build profile for 2014, so we don't bother... vc = 'vc2010' if VS2010 else 'vc2008' WinXX = 'x64' if X64 else 'Win32' @@ -1147,13 +1139,21 @@ def do_custom_build(self): fixproj(os.path.join(src_path, 'builds', 'windows', vc, 'freetype.sln'), WinXX) fixproj(os.path.join(src_path, 'builds', 'windows', vc, 'freetype.vcproj'), WinXX) - cmdfile = os.path.join("build", 'build_freetype.cmd') + cmdfile = os.path.join("build", "build_freetype.cmd") with open(cmdfile, 'w') as cmd: cmd.write(prepare_build_cmd(FREETYPE_BUILD_CMD, vc20xx=vc, WinXX=WinXX, config='Release' if VS2010 else 'LIB Release')) - os.environ['FREETYPE'] = src_path - subprocess.check_call([cmdfile], shell=True) + shutil.rmtree(str(Path(src_path, "objs")), ignore_errors=True) + subprocess.check_call([os.path.abspath(cmdfile)], + shell=True, cwd=src_path) + # Move to the corresponding Unix build path. + Path(src_path, "objs/.libs").mkdir() + # Be robust against change of FreeType version. + lib_path, = (Path(src_path, "objs", vc, xXX) + .glob("freetype*.lib")) + shutil.copy2(str(lib_path), + str(Path(src_path, "objs/.libs/libfreetype.lib"))) class FT2Font(SetupPackage): From 2be054f6bb81e374cf51a5e952cf3f9d2958530e Mon Sep 17 00:00:00 2001 From: Nathan Goldbaum <ngoldbau@illinois.edu> Date: Wed, 30 May 2018 15:38:46 -0500 Subject: [PATCH 0743/1161] fix sphinx issue in color cycle tutorial --- tutorials/intermediate/color_cycle.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/intermediate/color_cycle.py b/tutorials/intermediate/color_cycle.py index 7a2e55ffd389..9adbdbcd7341 100644 --- a/tutorials/intermediate/color_cycle.py +++ b/tutorials/intermediate/color_cycle.py @@ -74,7 +74,7 @@ # ``.matplotlibrc`` file or a style file (``style.mplstyle``), you can set the # ``axes.prop_cycle`` property: # -# ..code-block:: python +# .. code-block:: python # # axes.prop_cycle : cycler(color='bgrcmyk') # From 50b0e1661aa71a14d78ea21ec4932510d5eb1091 Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Thu, 31 May 2018 00:02:08 +0100 Subject: [PATCH 0744/1161] Add an arrow tutorial (#11223) * Add an arrow tutorial * Small comment fixes * Move arrow tutorial to examples * Small formatting fix to pass CI --- .../shapes_and_collections/arrow_guide.py | 110 ++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 examples/shapes_and_collections/arrow_guide.py diff --git a/examples/shapes_and_collections/arrow_guide.py b/examples/shapes_and_collections/arrow_guide.py new file mode 100644 index 000000000000..1c77d8a7e98b --- /dev/null +++ b/examples/shapes_and_collections/arrow_guide.py @@ -0,0 +1,110 @@ +""" +=========== +Arrow guide +=========== + +Adding arrow patches to plots. + +Arrows are often used to annotate plots. This tutorial shows how to plot arrows +that behave differently when the data limits on a plot are changed. In general, +points on a plot can either be fixed in "data space" or "display space". +Something plotted in data space moves when the data limits are altered - an +example would the points in a scatter plot. Something plotted in display space +stays static when data limits are altered - an example would be a figure title +or the axis labels. + +Arrows consist of a head (and possibly a tail) and a stem drawn between a +start point and and end point, called 'anchor points' from now on. +Here we show three use cases for plotting arrows, depending on whether the +head or anchor points need to be fixed in data or display space: + + 1. Head shape fixed in display space, anchor points fixed in data space + 2. Head shape and anchor points fixed in display space + 3. Entire patch fixed in data space + +Below each use case is presented in turn. +""" +import matplotlib.patches as mpatches +import matplotlib.pyplot as plt +x_tail = 0.1 +y_tail = 0.1 +x_head = 0.9 +y_head = 0.9 +dx = x_head - x_tail +dy = y_head - y_tail + + +############################################################################### +# Head shape fixed in display space and anchor points fixed in data space +# ----------------------------------------------------------------------- +# +# This is useful if you are annotating a plot, and don't want the arrow to +# to change shape or position if you pan or scale the plot. Note that when +# the axis limits change +# +# In this case we use `.patches.FancyArrowPatch` +# +# Note that when the axis limits are changed, the arrow shape stays the same, +# but the anchor points move. + +fig, axs = plt.subplots(nrows=2) +arrow = mpatches.FancyArrowPatch((x_tail, y_tail), (dx, dy), + mutation_scale=100) +axs[0].add_patch(arrow) + +arrow = mpatches.FancyArrowPatch((x_tail, y_tail), (dx, dy), + mutation_scale=100) +axs[1].add_patch(arrow) +axs[1].set_xlim(0, 2) +axs[1].set_ylim(0, 2) + +############################################################################### +# Head shape and anchor points fixed in display space +# --------------------------------------------------- +# +# This is useful if you are annotating a plot, and don't want the arrow to +# to change shape or position if you pan or scale the plot. +# +# In this case we use `.patches.FancyArrowPatch`, and pass the keyword argument +# ``transform=ax.transAxes`` where ``ax`` is the axes we are adding the patch +# to. +# +# Note that when the axis limits are changed, the arrow shape and location +# stays the same. + +fig, axs = plt.subplots(nrows=2) +arrow = mpatches.FancyArrowPatch((x_tail, y_tail), (dx, dy), + mutation_scale=100, + transform=axs[0].transAxes) +axs[0].add_patch(arrow) + +arrow = mpatches.FancyArrowPatch((x_tail, y_tail), (dx, dy), + mutation_scale=100, + transform=axs[1].transAxes) +axs[1].add_patch(arrow) +axs[1].set_xlim(0, 2) +axs[1].set_ylim(0, 2) + + +############################################################################### +# Head shape and anchor points fixed in data space +# ------------------------------------------------ +# +# In this case we use `.patches.Arrow` +# +# Note that when the axis limits are changed, the arrow shape and location +# changes. + +fig, axs = plt.subplots(nrows=2) + +arrow = mpatches.Arrow(x_tail, y_tail, dx, dy) +axs[0].add_patch(arrow) + +arrow = mpatches.Arrow(x_tail, y_tail, dx, dy) +axs[1].add_patch(arrow) +axs[1].set_xlim(0, 2) +axs[1].set_ylim(0, 2) + +############################################################################### + +plt.show() From f6f91490168646c44663e946c750ff1ff1635aa2 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sun, 27 May 2018 20:28:01 +0200 Subject: [PATCH 0745/1161] Improve docstring of Axes.pcolormesh --- lib/matplotlib/axes/_axes.py | 190 +++++++++++++++++++++++++---------- 1 file changed, 137 insertions(+), 53 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index c05db4f3aa5f..8d95e3cee252 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -5326,18 +5326,21 @@ def pcolor(self, *args, alpha=None, norm=None, cmap=None, vmin=None, the respective min/max values of *C* in case of the default linear scaling). - edgecolors : {'none', None, color, color sequence}, optional + edgecolors : {'none', None, 'face', color, color sequence}, optional The color of the edges. Defaults to 'none'. Possible values: - 'none' or '': No edge. - *None*: :rc:`patch.edgecolor` will be used. Note that currently :rc:`patch.force_edgecolor` has to be True for this to work. + - 'face': Use the adjacent face color. - An mpl color or sequence of colors will set the edge color. The singular form *edgecolor* works as an alias. alpha : scalar, optional, default: None - The alpha blending value, between 0 (transparent) and 1 (opaque). + The alpha blending value of the face color, between 0 (transparent) + and 1 (opaque). Note: The edgecolor is currently not affected by + this. snap : bool, optional, default: False Whether to snap the mesh to pixel boundaries. @@ -5502,79 +5505,160 @@ def pcolor(self, *args, alpha=None, norm=None, cmap=None, vmin=None, def pcolormesh(self, *args, alpha=None, norm=None, cmap=None, vmin=None, vmax=None, shading='flat', antialiased=False, **kwargs): """ - Plot a quadrilateral mesh. + Create a pseudocolor plot with a non-regular rectangular grid. - Call signatures:: + Call signature:: - pcolormesh(C) - pcolormesh(X, Y, C) - pcolormesh(C, **kwargs) + pcolor([X, Y,] C, **kwargs) - Create a pseudocolor plot of a 2-D array. + *X* and *Y* can be used to specify the corners of the quadrilaterals. - pcolormesh is similar to :func:`~matplotlib.pyplot.pcolor`, - but uses a different mechanism and returns a different - object; pcolor returns a - :class:`~matplotlib.collections.PolyCollection` but pcolormesh - returns a - :class:`~matplotlib.collections.QuadMesh`. It is much faster, - so it is almost always preferred for large arrays. + .. note:: - *C* may be a masked array, but *X* and *Y* may not. Masked - array support is implemented via *cmap* and *norm*; in - contrast, :func:`~matplotlib.pyplot.pcolor` simply does not - draw quadrilaterals with masked colors or vertices. + ``pcolormesh()`` is similar to :func:`~Axes.pcolor`. It's much + faster and preferred in most cases. For a detailed discussion on + the differences see + :ref:`Differences between pcolor() and pcolormesh() + <differences-pcolor-pcolormesh>`. - Other Parameters - ---------------- - cmap : Colormap, optional - A :class:`matplotlib.colors.Colormap` instance. If ``None``, use - rc settings. + Parameters + ---------- + C : array_like + A scalar 2-D array. The values will be color-mapped. - norm : Normalize, optional - A :class:`matplotlib.colors.Normalize` instance is used to - scale luminance data to 0,1. If ``None``, defaults to - :func:`normalize`. + X, Y : array_like, optional + The coordinates of the quadrilateral corners. The quadrilateral + for ``C[i,j]`` has corners at:: - vmin, vmax : scalar, optional - *vmin* and *vmax* are used in conjunction with *norm* to - normalize luminance data. If either is ``None``, it is autoscaled - to the respective min or max of the color array *C*. - If not ``None``, *vmin* or *vmax* passed in here override any - pre-existing values supplied in the *norm* instance. + (X[i+1, j], Y[i+1, j]) (X[i+1, j+1], Y[i+1, j+1]) + +--------+ + | C[i,j] | + +--------+ + (X[i, j], Y[i, j]) (X[i, j+1], Y[i, j+1]), - shading : [ 'flat' | 'gouraud' ], optional - 'flat' indicates a solid color for each quad. When - 'gouraud', each quad will be Gouraud shaded. When gouraud - shading, *edgecolors* is ignored. + Note that the column index corresponds to the + x-coordinate, and the row index corresponds to y. For + details, see the :ref:`Notes <axes-pcolormesh-grid-orientation>` + section below. - edgecolors : string, color, color sequence, optional - - If ``None``, the rc setting is used by default. - - If ``'None'``, edges will not be visible. - - If ``'face'``, edges will have the same color as the faces. + The dimensions of *X* and *Y* should be one greater than those of + *C*. Alternatively, *X*, *Y* and *C* may have equal dimensions, in + which case the last row and column of *C* will be ignored. - An mpl color or sequence of colors will also set the edge color. + If *X* and/or *Y* are 1-D arrays or column vectors they will be + expanded as needed into the appropriate 2-D arrays, making a + rectangular grid. - alpha : scalar, optional - Alpha blending value. Must be between 0 and 1. + cmap : str or `~matplotlib.colors.Colormap`, optional + A Colormap instance or registered colormap name. The colormap + maps the *C* values to colors. Defaults to :rc:`image.cmap`. + + norm : `~matplotlib.colors.Normalize`, optional + The Normalize instance scales the data values to the canonical + colormap range [0, 1] for mapping to colors. By default, the data + range is mapped to the colorbar range using linear scaling. + + vmin, vmax : scalar, optional, default: None + The colorbar range. If *None*, suitable min/max values are + automatically chosen by the `~.Normalize` instance (defaults to + the respective min/max values of *C* in case of the default linear + scaling). + + edgecolors : {'none', None, 'face', color, color sequence}, optional + The color of the edges. Defaults to 'none'. Possible values: + + - 'none' or '': No edge. + - *None*: :rc:`patch.edgecolor` will be used. Note that currently + :rc:`patch.force_edgecolor` has to be True for this to work. + - 'face': Use the adjacent face color. + - An mpl color or sequence of colors will set the edge color. + + The singular form *edgecolor* works as an alias. + + alpha : scalar, optional, default: None + The alpha blending value, between 0 (transparent) and 1 (opaque). + + shading : {'flat', 'gouraud'}, optional + The fill style, Possible values: + + - 'flat': A solid color is used for each quad. The color of the + quad (i, j), (i+1, j), (i, j+1), (i+1, j+1) is given by + ``C[i,j]``. + - 'gouraud': Each quad will be Gouraud shaded: The color of the + corners (i', j') are given by ``C[i',j']``. The color values of + the area in between is interpolated from the corner values. + When Gouraud shading is used, *edgecolors* is ignored. + + snap : bool, optional, default: False + Whether to snap the mesh to pixel boundaries. Returns ------- - matplotlib.collections.QuadMesh + mesh : `matplotlib.collections.QuadMesh` + + Other Parameters + ---------------- + **kwargs + Additionally, the following arguments are allowed. They are passed + along to the `~matplotlib.collections.QuadMesh` constructor: + + %(QuadMesh)s + See Also -------- - matplotlib.pyplot.pcolor : - For an explanation of the grid orientation - (:ref:`Grid Orientation <axes-pcolor-grid-orientation>`) - and the expansion of 1-D *X* and/or *Y* to 2-D arrays. + pcolor : An alternative implementation with slightly different + features. For a detailed discussion on the differences see + :ref:`Differences between pcolor() and pcolormesh() + <differences-pcolor-pcolormesh>`. + imshow : If *X* and *Y* are each equidistant, `~.Axes.imshow` can be a + faster alternative. Notes ----- - kwargs can be used to control the - :class:`matplotlib.collections.QuadMesh` properties: - %(QuadMesh)s + **Masked arrays** + + *C* may be a masked array. If ``C[i, j]`` is masked, the corresponding + quadrilateral will be transparent. Masking of *X* and *Y* is not + supported. Use `~.Axes.pcolor` if you need this functionality. + + .. _axes-pcolormesh-grid-orientation: + + **Grid orientation** + + The grid orientation follows the standard matrix convention: An array + *C* with shape (nrows, ncolumns) is plotted with the column number as + *X* and the row number as *Y*. + + .. _differences-pcolor-pcolormesh: + + **Differences between pcolor() and pcolormesh()** + + Both methods are used to create a pseudocolor plot of a 2-D array + using quadrilaterals. + + The main difference lies in the created object and internal data + handling: + While `~.Axes.pcolor` returns a `.PolyCollection`, `~.Axes.pcolormesh` + returns a `.QuadMesh`. The latter is more specialized for the given + purpose and thus is faster. It should almost always be preferred. + + There is also a slight difference in the handling of masked arrays. + Both `~.Axes.pcolor` and `~.Axes.pcolormesh` support masked arrays + for *C*. However, only `~.Axes.pcolor` supports masked arrays for *X* + and *Y*. The reason lies in the internal handling of the masked values. + `~.Axes.pcolor` leaves out the respective polygons from the + PolyCollection. `~.Axes.pcolormesh` sets the facecolor of the masked + elements to transparent. You can see the difference when using + edgecolors. While all edges are drawn irrespective of masking in a + QuadMesh, the edge between two adjacent masked quadrilaterals in + `~.Axes.pcolor` is not drawn as the corresponding polygons do not + exist in the PolyCollection. + + Another difference is the support of Gouraud shading in + `~.Axes.pcolormesh`, which is not available with `~.Axes.pcolor`. + """ shading = shading.lower() kwargs.setdefault('edgecolors', 'None') From 7d51f37161aee7201ac8af418db278a9956b9a0b Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Wed, 30 May 2018 22:55:26 -0400 Subject: [PATCH 0746/1161] Revert "Deprecate text.latex.unicode." --- doc/api/next_api_changes/2018-02-15-AL-deprecations.rst | 1 - doc/api/next_api_changes/2018-05-15-AL.rst | 8 -------- examples/text_labels_and_annotations/tex_demo.py | 1 + .../text_labels_and_annotations/usetex_baseline_test.py | 1 + lib/matplotlib/__init__.py | 3 +-- lib/matplotlib/mpl-data/stylelib/_classic_test.mplstyle | 2 ++ lib/matplotlib/mpl-data/stylelib/classic.mplstyle | 2 ++ lib/matplotlib/rcsetup.py | 2 +- lib/matplotlib/tests/test_backend_ps.py | 4 ++-- lib/matplotlib/tests/test_rcparams.py | 2 +- lib/matplotlib/texmanager.py | 6 ++++-- matplotlibrc.template | 2 ++ 12 files changed, 17 insertions(+), 17 deletions(-) delete mode 100644 doc/api/next_api_changes/2018-05-15-AL.rst diff --git a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst index 891dcedf4439..2dfef7baf7a1 100644 --- a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst +++ b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst @@ -39,4 +39,3 @@ The following classes, methods, functions, and attributes are deprecated: The following rcParams are deprecated: - ``pgf.debug`` (the pgf backend relies on logging), -- ``text.latex.unicode``, diff --git a/doc/api/next_api_changes/2018-05-15-AL.rst b/doc/api/next_api_changes/2018-05-15-AL.rst deleted file mode 100644 index 82422ec5500e..000000000000 --- a/doc/api/next_api_changes/2018-05-15-AL.rst +++ /dev/null @@ -1,8 +0,0 @@ -Changes regarding the text.latex.unicode rcParam -```````````````````````````````````````````````` - -The rcParam now defaults to True and is deprecated (i.e., in future versions -of Maplotlib, unicode input will always be supported). - -Moreover, the underlying implementation now uses ``\usepackage[utf8]{inputenc}`` -instead of ``\usepackage{ucs}\usepackage[utf8x]{inputenc}``. diff --git a/examples/text_labels_and_annotations/tex_demo.py b/examples/text_labels_and_annotations/tex_demo.py index f8683a825795..495ee4b3c583 100644 --- a/examples/text_labels_and_annotations/tex_demo.py +++ b/examples/text_labels_and_annotations/tex_demo.py @@ -17,6 +17,7 @@ import numpy as np import matplotlib matplotlib.rcParams['text.usetex'] = True +matplotlib.rcParams['text.latex.unicode'] = True import matplotlib.pyplot as plt diff --git a/examples/text_labels_and_annotations/usetex_baseline_test.py b/examples/text_labels_and_annotations/usetex_baseline_test.py index 0a72afab63e2..6d8b79177d17 100644 --- a/examples/text_labels_and_annotations/usetex_baseline_test.py +++ b/examples/text_labels_and_annotations/usetex_baseline_test.py @@ -11,6 +11,7 @@ from matplotlib import rcParams rcParams['text.usetex'] = True +rcParams['text.latex.unicode'] = True class Axes(maxes.Axes): diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 705b1d33ac08..c2b25dbef222 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -813,8 +813,7 @@ def gen_candidates(): # do NOT include in _all_deprecated _deprecated_set = {'axes.hold', 'backend.qt4', - 'backend.qt5', - 'text.latex.unicode'} + 'backend.qt5'} _all_deprecated = set(itertools.chain( _deprecated_ignore_map, _deprecated_map, _obsolete_set)) diff --git a/lib/matplotlib/mpl-data/stylelib/_classic_test.mplstyle b/lib/matplotlib/mpl-data/stylelib/_classic_test.mplstyle index 853b3481e4c7..c42222ad8f19 100644 --- a/lib/matplotlib/mpl-data/stylelib/_classic_test.mplstyle +++ b/lib/matplotlib/mpl-data/stylelib/_classic_test.mplstyle @@ -109,6 +109,8 @@ text.usetex : False # use latex for all text handling. The following fo # If another font is desired which can loaded using the # LaTeX \usepackage command, please inquire at the # matplotlib mailing list +text.latex.unicode : False # use "ucs" and "inputenc" LaTeX packages for handling + # unicode strings. text.latex.preamble : # IMPROPER USE OF THIS FEATURE WILL LEAD TO LATEX FAILURES # AND IS THEREFORE UNSUPPORTED. PLEASE DO NOT ASK FOR HELP # IF THIS FEATURE DOES NOT DO WHAT YOU EXPECT IT TO. diff --git a/lib/matplotlib/mpl-data/stylelib/classic.mplstyle b/lib/matplotlib/mpl-data/stylelib/classic.mplstyle index 6da7b07b27dd..94ae5bf7a4f3 100644 --- a/lib/matplotlib/mpl-data/stylelib/classic.mplstyle +++ b/lib/matplotlib/mpl-data/stylelib/classic.mplstyle @@ -111,6 +111,8 @@ text.usetex : False # use latex for all text handling. The following fo # If another font is desired which can loaded using the # LaTeX \usepackage command, please inquire at the # matplotlib mailing list +text.latex.unicode : False # use "ucs" and "inputenc" LaTeX packages for handling + # unicode strings. text.latex.preamble : # IMPROPER USE OF THIS FEATURE WILL LEAD TO LATEX FAILURES # AND IS THEREFORE UNSUPPORTED. PLEASE DO NOT ASK FOR HELP # IF THIS FEATURE DOES NOT DO WHAT YOU EXPECT IT TO. diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index 215b5665ee78..594154b5e088 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -1100,7 +1100,7 @@ def _validate_linestyle(ls): # text props 'text.color': ['black', validate_color], 'text.usetex': [False, validate_bool], - 'text.latex.unicode': [True, validate_bool], + 'text.latex.unicode': [False, validate_bool], 'text.latex.preamble': [[''], validate_stringlist], 'text.latex.preview': [False, validate_bool], 'text.dvipnghack': [None, validate_bool_maybe_none], diff --git a/lib/matplotlib/tests/test_backend_ps.py b/lib/matplotlib/tests/test_backend_ps.py index ca6b53346308..fd0d192c3e38 100644 --- a/lib/matplotlib/tests/test_backend_ps.py +++ b/lib/matplotlib/tests/test_backend_ps.py @@ -32,11 +32,11 @@ needs_ghostscript( ('ps', False, {'ps.usedistiller': 'ghostscript'})), needs_usetex(needs_ghostscript( - ('ps', False, {'text.usetex': True}))), + ('ps', False, {'text.latex.unicode': True, 'text.usetex': True}))), ('eps', False, {}), ('eps', True, {'ps.useafm': True}), needs_usetex(needs_ghostscript( - ('eps', False, {'text.usetex': True}))), + ('eps', False, {'text.latex.unicode': True, 'text.usetex': True}))), ], ids=[ 'ps', 'ps with distiller', diff --git a/lib/matplotlib/tests/test_rcparams.py b/lib/matplotlib/tests/test_rcparams.py index b3f0663f6a54..2d2bac44ed29 100644 --- a/lib/matplotlib/tests/test_rcparams.py +++ b/lib/matplotlib/tests/test_rcparams.py @@ -468,7 +468,7 @@ def test_if_rctemplate_is_up_to_date(): continue if k in deprecated: continue - if k.startswith(("text.latex.unicode", "verbose.")): + if "verbose" in k: continue found = False for line in rclines: diff --git a/lib/matplotlib/texmanager.py b/lib/matplotlib/texmanager.py index aed767da0e76..085a65f49e9a 100644 --- a/lib/matplotlib/texmanager.py +++ b/lib/matplotlib/texmanager.py @@ -203,7 +203,8 @@ def make_tex(self, tex, fontsize): if rcParams['text.latex.unicode']: unicode_preamble = r""" -\usepackage[utf8]{inputenc}""" +\usepackage{ucs} +\usepackage[utf8x]{inputenc}""" else: unicode_preamble = '' @@ -254,7 +255,8 @@ def make_tex_preview(self, tex, fontsize): if rcParams['text.latex.unicode']: unicode_preamble = r""" -\usepackage[utf8]{inputenc}""" +\usepackage{ucs} +\usepackage[utf8x]{inputenc}""" else: unicode_preamble = '' diff --git a/matplotlibrc.template b/matplotlibrc.template index 7ae28dfb494a..6d8654d05eeb 100644 --- a/matplotlibrc.template +++ b/matplotlibrc.template @@ -225,6 +225,8 @@ backend : $TEMPLATE_BACKEND ## If another font is desired which can loaded using the ## LaTeX \usepackage command, please inquire at the ## matplotlib mailing list +#text.latex.unicode : False ## use "ucs" and "inputenc" LaTeX packages for handling + ## unicode strings. #text.latex.preamble : ## IMPROPER USE OF THIS FEATURE WILL LEAD TO LATEX FAILURES ## AND IS THEREFORE UNSUPPORTED. PLEASE DO NOT ASK FOR HELP ## IF THIS FEATURE DOES NOT DO WHAT YOU EXPECT IT TO. From f564af739e7ad9edd8038628c444d28cde79b87b Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Tue, 22 May 2018 22:29:39 -0700 Subject: [PATCH 0747/1161] Simplify cleanup decorator implementation. Introduce a single private `_cleanup_cm` contextmanager and use it to implement `CleanupTestCase` and `@cleanup`. Use `warnings.catch_warnings` to avoid completely destroying a preexisting warnings filter, instead just restoring the filter that existed before the test started. Use `matplotlib.style.context` to restore the style at exit, as it relies on rc_context which is ultimately more efficient than `rcParams.update` as it skips revalidation. Deprecate CleanupTest (and implement it in terms of CleanupTestCase), as it is clearly a nose-oriented base class that could have been deprecated at the same time as ImageComparisonTest. --- .../2018-02-15-AL-deprecations.rst | 3 +- doc/api/next_api_changes/2018-05-22-AL.rst | 4 + lib/matplotlib/testing/conftest.py | 62 +++++++------ lib/matplotlib/testing/decorators.py | 90 +++++++------------ 4 files changed, 69 insertions(+), 90 deletions(-) create mode 100644 doc/api/next_api_changes/2018-05-22-AL.rst diff --git a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst index 891dcedf4439..2475b736de78 100644 --- a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst +++ b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst @@ -25,7 +25,8 @@ The following classes, methods, functions, and attributes are deprecated: - ``mathtext.unichr_safe`` (use ``chr`` instead), - ``table.Table.get_child_artists`` (use ``get_children`` instead), - ``testing.compare.ImageComparisonTest``, ``testing.compare.compare_float``, -- ``testing.decorators.skip_if_command_unavailable``. +- ``testing.decorators.CleanupTest``, + ``testing.decorators.skip_if_command_unavailable``, - ``FigureCanvasQT.keyAutoRepeat`` (directly check ``event.guiEvent.isAutoRepeat()`` in the event handler to decide whether to handle autorepeated key presses). diff --git a/doc/api/next_api_changes/2018-05-22-AL.rst b/doc/api/next_api_changes/2018-05-22-AL.rst new file mode 100644 index 000000000000..1c8b7adcdf28 --- /dev/null +++ b/doc/api/next_api_changes/2018-05-22-AL.rst @@ -0,0 +1,4 @@ +The cleanup decorators and test classes in matplotlib.testing.decorators no longer destroy the warnings filter on exit +`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` +Instead, they restore the warnings filter that existed before the test started +using ``warnings.catch_warnings``. diff --git a/lib/matplotlib/testing/conftest.py b/lib/matplotlib/testing/conftest.py index 3d609f15d432..ebf094269634 100644 --- a/lib/matplotlib/testing/conftest.py +++ b/lib/matplotlib/testing/conftest.py @@ -16,39 +16,37 @@ def pytest_unconfigure(config): @pytest.fixture(autouse=True) def mpl_test_settings(request): - from matplotlib.testing.decorators import _do_cleanup - - original_units_registry = matplotlib.units.registry.copy() - original_settings = matplotlib.rcParams.copy() - - backend = None - backend_marker = request.keywords.get('backend') - if backend_marker is not None: - assert len(backend_marker.args) == 1, \ - "Marker 'backend' must specify 1 backend." - backend = backend_marker.args[0] - prev_backend = matplotlib.get_backend() - - style = '_classic_test' # Default of cleanup and image_comparison too. - style_marker = request.keywords.get('style') - if style_marker is not None: - assert len(style_marker.args) == 1, \ - "Marker 'style' must specify 1 style." - style = style_marker.args[0] - - matplotlib.testing.setup() - if backend is not None: - # This import must come after setup() so it doesn't load the default - # backend prematurely. - import matplotlib.pyplot as plt - plt.switch_backend(backend) - matplotlib.style.use(style) - try: - yield - finally: + from matplotlib.testing.decorators import _cleanup_cm + + with _cleanup_cm(): + + backend = None + backend_marker = request.keywords.get('backend') + if backend_marker is not None: + assert len(backend_marker.args) == 1, \ + "Marker 'backend' must specify 1 backend." + backend = backend_marker.args[0] + prev_backend = matplotlib.get_backend() + + style = '_classic_test' # Default of cleanup and image_comparison too. + style_marker = request.keywords.get('style') + if style_marker is not None: + assert len(style_marker.args) == 1, \ + "Marker 'style' must specify 1 style." + style = style_marker.args[0] + + matplotlib.testing.setup() if backend is not None: - plt.switch_backend(prev_backend) - _do_cleanup(original_units_registry, original_settings) + # This import must come after setup() so it doesn't load the + # default backend prematurely. + import matplotlib.pyplot as plt + plt.switch_backend(backend) + matplotlib.style.use(style) + try: + yield + finally: + if backend is not None: + plt.switch_backend(prev_backend) @pytest.fixture diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py index 4bf5d081d9cd..97fcf23a4cb7 100644 --- a/lib/matplotlib/testing/decorators.py +++ b/lib/matplotlib/testing/decorators.py @@ -1,3 +1,4 @@ +import contextlib from distutils.version import StrictVersion import functools import inspect @@ -8,63 +9,49 @@ import unittest import warnings -# Note - don't import nose up here - import it only as needed in functions. -# This allows other functions here to be used by pytest-based testing suites -# without requiring nose to be installed. - - import matplotlib as mpl import matplotlib.style import matplotlib.units import matplotlib.testing from matplotlib import cbook -from matplotlib import ticker -from matplotlib import pyplot as plt from matplotlib import ft2font -from matplotlib.testing.compare import ( - comparable_formats, compare_images, make_test_filename) +from matplotlib import pyplot as plt +from matplotlib import ticker from . import is_called_from_pytest +from .compare import comparable_formats, compare_images, make_test_filename from .exceptions import ImageComparisonFailure -def _do_cleanup(original_units_registry, original_settings): - plt.close('all') - - mpl.rcParams.clear() - mpl.rcParams.update(original_settings) - matplotlib.units.registry.clear() - matplotlib.units.registry.update(original_units_registry) - warnings.resetwarnings() # reset any warning filters set in tests - - -class CleanupTest(object): - @classmethod - def setup_class(cls): - cls.original_units_registry = matplotlib.units.registry.copy() - cls.original_settings = mpl.rcParams.copy() - matplotlib.testing.setup() - - @classmethod - def teardown_class(cls): - _do_cleanup(cls.original_units_registry, - cls.original_settings) - - def test(self): - self._func() +@contextlib.contextmanager +def _cleanup_cm(): + orig_units_registry = matplotlib.units.registry.copy() + try: + with warnings.catch_warnings(), matplotlib.rc_context(): + yield + finally: + matplotlib.units.registry.clear() + matplotlib.units.registry.update(orig_units_registry) + plt.close("all") class CleanupTestCase(unittest.TestCase): - '''A wrapper for unittest.TestCase that includes cleanup operations''' + """A wrapper for unittest.TestCase that includes cleanup operations.""" @classmethod def setUpClass(cls): - import matplotlib.units - cls.original_units_registry = matplotlib.units.registry.copy() - cls.original_settings = mpl.rcParams.copy() + cls._cm = _cleanup_cm().__enter__() @classmethod def tearDownClass(cls): - _do_cleanup(cls.original_units_registry, - cls.original_settings) + cls._cm.__exit__(None, None, None) + + +@cbook.deprecated("3.0") +class CleanupTest(object): + setup_class = classmethod(CleanupTestCase.setUpClass.__func__) + teardown_class = classmethod(CleanupTestCase.tearDownClass.__func__) + + def test(self): + self._func() def cleanup(style=None): @@ -78,34 +65,23 @@ def cleanup(style=None): The name of the style to apply. """ - # If cleanup is used without arguments, `style` will be a - # callable, and we pass it directly to the wrapper generator. If - # cleanup if called with an argument, it is a string naming a - # style, and the function will be passed as an argument to what we - # return. This is a confusing, but somewhat standard, pattern for - # writing a decorator with optional arguments. + # If cleanup is used without arguments, `style` will be a callable, and we + # pass it directly to the wrapper generator. If cleanup if called with an + # argument, it is a string naming a style, and the function will be passed + # as an argument to what we return. This is a confusing, but somewhat + # standard, pattern for writing a decorator with optional arguments. def make_cleanup(func): if inspect.isgeneratorfunction(func): @functools.wraps(func) def wrapped_callable(*args, **kwargs): - original_units_registry = matplotlib.units.registry.copy() - original_settings = mpl.rcParams.copy() - matplotlib.style.use(style) - try: + with _cleanup_cm(), matplotlib.style.context(style): yield from func(*args, **kwargs) - finally: - _do_cleanup(original_units_registry, original_settings) else: @functools.wraps(func) def wrapped_callable(*args, **kwargs): - original_units_registry = matplotlib.units.registry.copy() - original_settings = mpl.rcParams.copy() - matplotlib.style.use(style) - try: + with _cleanup_cm(), matplotlib.style.context(style): func(*args, **kwargs) - finally: - _do_cleanup(original_units_registry, original_settings) return wrapped_callable From 435a86011552cd6443700a21c3fad6ecb50f2d1d Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Wed, 30 May 2018 21:33:08 -0700 Subject: [PATCH 0748/1161] Ignore MatplotlibDeprecationWarnings when setting up test rcParams. Otherwise, rcParams cannot be deprecated without spamming stderr with one warning per test. --- lib/matplotlib/testing/__init__.py | 10 ++++++---- lib/matplotlib/testing/conftest.py | 7 ++++++- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/lib/matplotlib/testing/__init__.py b/lib/matplotlib/testing/__init__.py index e9af802daa70..ffc2c7fee03c 100644 --- a/lib/matplotlib/testing/__init__.py +++ b/lib/matplotlib/testing/__init__.py @@ -3,6 +3,7 @@ import matplotlib as mpl from matplotlib import cbook +from matplotlib.cbook import MatplotlibDeprecationWarning def is_called_from_pytest(): @@ -38,10 +39,11 @@ def setup(): mpl.use('Agg', warn=False) # use Agg backend for these tests - # These settings *must* be hardcoded for running the comparison - # tests and are not necessarily the default values as specified in - # rcsetup.py - mpl.rcdefaults() # Start with all defaults + # These settings *must* be hardcoded for running the comparison tests and + # are not necessarily the default values as specified in rcsetup.py + with warnings.catch_warnings(): + warnings.simplefilter("ignore", MatplotlibDeprecationWarning) + mpl.rcdefaults() # Start with all defaults set_font_settings_for_testing() set_reproducibility_for_testing() diff --git a/lib/matplotlib/testing/conftest.py b/lib/matplotlib/testing/conftest.py index ebf094269634..5f2b2ca5a63b 100644 --- a/lib/matplotlib/testing/conftest.py +++ b/lib/matplotlib/testing/conftest.py @@ -1,7 +1,10 @@ +import warnings + import pytest import matplotlib from matplotlib import cbook +from matplotlib.cbook import MatplotlibDeprecationWarning def pytest_configure(config): @@ -41,7 +44,9 @@ def mpl_test_settings(request): # default backend prematurely. import matplotlib.pyplot as plt plt.switch_backend(backend) - matplotlib.style.use(style) + with warnings.catch_warnings(): + warnings.simplefilter("ignore", MatplotlibDeprecationWarning) + matplotlib.style.use(style) try: yield finally: From 6d9a65a430c17fa971b8dbb201d71911e20c4754 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Thu, 31 May 2018 00:53:26 -0700 Subject: [PATCH 0749/1161] Make OSX's blit() have a consistent signature with other backends. FigureCanvasBase.blit documents blit() as defaulting bbox to the whole figure, and all backends implement it as such... except, until now, MacOSX. Fix the inconsistency. --- lib/matplotlib/backends/backend_macosx.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/backends/backend_macosx.py b/lib/matplotlib/backends/backend_macosx.py index 2ccc17cd3fca..f10c1e2a69c0 100644 --- a/lib/matplotlib/backends/backend_macosx.py +++ b/lib/matplotlib/backends/backend_macosx.py @@ -88,7 +88,7 @@ def draw(self): def draw_idle(self, *args, **kwargs): self.invalidate() - def blit(self, bbox): + def blit(self, bbox=None): self.invalidate() def resize(self, width, height): From 479ad70862c52da285daafb7d960f1eb0e74de5d Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Thu, 31 May 2018 11:44:41 +0100 Subject: [PATCH 0750/1161] Remove non-existant files from MANIFEST.IN --- MANIFEST.in | 2 -- 1 file changed, 2 deletions(-) diff --git a/MANIFEST.in b/MANIFEST.in index 3e1949dc34e6..39e693f1014f 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -3,7 +3,6 @@ include pytest.ini include MANIFEST.in include matplotlibrc.template setup.cfg.template include setupext.py setup.py -include lib/matplotlib/mpl-data/lineprops.glade include lib/matplotlib/mpl-data/matplotlibrc include lib/matplotlib/mpl-data/images/* include lib/matplotlib/mpl-data/fonts/ttf/* @@ -19,7 +18,6 @@ recursive-include lib/matplotlib/mpl-data/sample_data * recursive-include src *.cpp *.c *.h *.m recursive-include tools * recursive-include tutorials * -recursive-include unit * include versioneer.py include lib/matplotlib/_version.py include tests.py From cf20c4cd8fbbea1a2c7d28c226254b086f253fdb Mon Sep 17 00:00:00 2001 From: ImportanceOfBeingErnest <elch.rz@ruetz-online.de> Date: Wed, 30 May 2018 01:57:39 +0200 Subject: [PATCH 0751/1161] example references for api and pyplot section --- examples/api/agg_oo_sgskip.py | 24 ++++++++- examples/api/filled_step.py | 15 ++++++ examples/api/font_file.py | 15 ++++++ examples/api/histogram_path.py | 51 +++++++++++++++++-- examples/api/image_zcoord.py | 19 ++++++- examples/api/joinstyle.py | 14 +++++ examples/api/legend.py | 16 ++++++ examples/api/line_with_text.py | 31 +++++++++-- examples/api/mathtext_asarray.py | 17 +++++++ examples/api/patch_collection.py | 23 ++++++++- examples/api/power_norm.py | 16 ++++++ examples/api/quad_bezier.py | 21 +++++++- examples/api/radar_chart.py | 21 ++++++++ examples/api/sankey_basics.py | 17 +++++++ examples/api/sankey_links.py | 18 +++++++ examples/api/sankey_rankine.py | 17 +++++++ examples/api/scatter_piecharts.py | 14 +++++ examples/api/skewt.py | 19 +++++++ examples/api/span_regions.py | 17 +++++++ examples/api/two_scales.py | 19 ++++++- examples/api/watermark_image.py | 16 ++++++ examples/api/watermark_text.py | 13 +++++ examples/axisartist/demo_parasite_axes.py | 11 ++++ examples/axisartist/demo_parasite_axes2.py | 12 ++++- examples/pyplots/align_ylabels.py | 19 +++++++ examples/pyplots/annotate_transform.py | 18 +++++++ examples/pyplots/annotation_basic.py | 16 ++++++ examples/pyplots/annotation_polar.py | 19 +++++++ examples/pyplots/auto_subplots_adjust.py | 25 +++++++++ examples/pyplots/boxplot_demo_pyplot.py | 14 +++++ examples/pyplots/compound_path_demo.py | 51 ------------------- examples/pyplots/dollar_ticks.py | 18 +++++++ examples/pyplots/fig_axes_customize_simple.py | 23 +++++++++ examples/pyplots/fig_axes_labels_simple.py | 19 +++++++ examples/pyplots/fig_x.py | 16 ++++++ examples/pyplots/pyplot_formatstr.py | 16 ++++++ examples/pyplots/pyplot_mathtext.py | 16 ++++++ examples/pyplots/pyplot_scales.py | 21 ++++++++ examples/pyplots/pyplot_simple.py | 16 ++++++ examples/pyplots/pyplot_text.py | 18 +++++++ examples/pyplots/pyplot_three.py | 15 ++++++ examples/pyplots/pyplot_two_subplots.py | 15 ++++++ examples/pyplots/text_commands.py | 20 ++++++++ examples/pyplots/text_layout.py | 15 ++++++ examples/pyplots/whats_new_1_subplot3d.py | 16 ++++++ examples/pyplots/whats_new_98_4_fancy.py | 20 ++++++++ .../pyplots/whats_new_98_4_fill_between.py | 14 +++++ examples/pyplots/whats_new_98_4_legend.py | 17 +++++++ examples/pyplots/whats_new_99_axes_grid.py | 15 ++++++ examples/pyplots/whats_new_99_mplot3d.py | 15 ++++++ examples/pyplots/whats_new_99_spines.py | 19 +++++++ .../multiple_yaxis_with_spines.py | 8 +++ 52 files changed, 905 insertions(+), 65 deletions(-) delete mode 100644 examples/pyplots/compound_path_demo.py diff --git a/examples/api/agg_oo_sgskip.py b/examples/api/agg_oo_sgskip.py index 6b4d463ddc85..9f51c22815d5 100644 --- a/examples/api/agg_oo_sgskip.py +++ b/examples/api/agg_oo_sgskip.py @@ -3,7 +3,8 @@ The object-oriented interface ============================= -A pure OO (look Ma, no pyplot!) example using the agg backend. +A pure object-oriented example using the agg backend. Notice that there is no +``pyplot`` used here. """ from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas @@ -21,3 +22,24 @@ ax.set_xlabel('time') ax.set_ylabel('volts') fig.savefig('test') + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.backends.backend_agg.FigureCanvasAgg +matplotlib.figure.Figure +matplotlib.figure.Figure.add_subplot +matplotlib.figure.Figure.savefig +matplotlib.axes.Axes.plot +matplotlib.axes.Axes.set_title +matplotlib.axes.Axes.grid +matplotlib.axes.Axes.set_xlabel +matplotlib.axes.Axes.set_ylabel diff --git a/examples/api/filled_step.py b/examples/api/filled_step.py index 48eee0c3cf4e..e885a5b21fa5 100644 --- a/examples/api/filled_step.py +++ b/examples/api/filled_step.py @@ -221,3 +221,18 @@ def stack_hist(ax, stacked_data, sty_cycle, bottoms=None, ax2.set_ylabel('x') plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.fill_betweenx +matplotlib.axes.Axes.fill_between +matplotlib.axis.Axis.set_major_locator diff --git a/examples/api/font_file.py b/examples/api/font_file.py index af035bf7e95f..8dc8cddc5315 100644 --- a/examples/api/font_file.py +++ b/examples/api/font_file.py @@ -27,3 +27,18 @@ ax.set_xlabel('This is the default font') plt.show() + + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.font_manager.FontProperties +matplotlib.axes.Axes.set_title diff --git a/examples/api/histogram_path.py b/examples/api/histogram_path.py index 197706f83387..1aeefb56a97e 100644 --- a/examples/api/histogram_path.py +++ b/examples/api/histogram_path.py @@ -8,10 +8,10 @@ the faster method of using PolyCollections, were implemented before we had proper paths with moveto/lineto, closepoly etc in mpl. Now that we have them, we can draw collections of regularly shaped objects with -homogeneous properties more efficiently with a PathCollection. This -example makes a histogram -- its more work to set up the vertex arrays +homogeneous properties more efficiently with a PathCollection. This +example makes a histogram -- it's more work to set up the vertex arrays at the outset, but it should be much faster for large numbers of -objects +objects. """ import numpy as np @@ -53,3 +53,48 @@ ax.set_ylim(bottom.min(), top.max()) plt.show() + +############################################################################# +# It should be noted that instead of creating a three-dimensional array and +# using `~.path.Path.make_compound_path_from_polys`, we could as well create +# the compound path directly using vertices and codes as shown below + +nrects = len(left) +nverts = nrects*(1+3+1) +verts = np.zeros((nverts, 2)) +codes = np.ones(nverts, int) * path.Path.LINETO +codes[0::5] = path.Path.MOVETO +codes[4::5] = path.Path.CLOSEPOLY +verts[0::5,0] = left +verts[0::5,1] = bottom +verts[1::5,0] = left +verts[1::5,1] = top +verts[2::5,0] = right +verts[2::5,1] = top +verts[3::5,0] = right +verts[3::5,1] = bottom + +barpath = path.Path(verts, codes) + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.patches +matplotlib.patches.PathPatch +matplotlib.path +matplotlib.path.Path +matplotlib.path.Path.make_compound_path_from_polys +matplotlib.axes.Axes.add_patch +matplotlib.collections.PathCollection + +# This example shows an alternative to +matplotlib.collections.PolyCollection +matplotlib.axes.Axes.hist diff --git a/examples/api/image_zcoord.py b/examples/api/image_zcoord.py index d1851ccc843e..3036bd59c7d1 100644 --- a/examples/api/image_zcoord.py +++ b/examples/api/image_zcoord.py @@ -4,7 +4,10 @@ ================================== Modify the coordinate formatter to report the image "z" -value of the nearest pixel given x and y +value of the nearest pixel given x and y. +This functionality is built in by default, but it +is still useful to show how to customize the +`~.axes.Axes.format_coord` function. """ import numpy as np import matplotlib.pyplot as plt @@ -32,3 +35,17 @@ def format_coord(x, y): ax.format_coord = format_coord plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.format_coord +matplotlib.axes.Axes.imshow diff --git a/examples/api/joinstyle.py b/examples/api/joinstyle.py index 1d4562a4702d..7ac68883cfd4 100644 --- a/examples/api/joinstyle.py +++ b/examples/api/joinstyle.py @@ -31,3 +31,17 @@ def plot_angle(ax, x, y, angle, style): ax.set_xlim(-.5, 2.75) ax.set_ylim(-.5, 5.5) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.plot +matplotlib.pyplot.plot diff --git a/examples/api/legend.py b/examples/api/legend.py index 457565542a14..8a5c25a3a699 100644 --- a/examples/api/legend.py +++ b/examples/api/legend.py @@ -27,3 +27,19 @@ legend.get_frame().set_facecolor('#00FFCC') plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.plot +matplotlib.pyplot.plot +matplotlib.axes.Axes.legend +matplotlib.pyplot.legend diff --git a/examples/api/line_with_text.py b/examples/api/line_with_text.py index b20d6f44f761..c876f6887948 100644 --- a/examples/api/line_with_text.py +++ b/examples/api/line_with_text.py @@ -20,7 +20,7 @@ def __init__(self, *args, **kwargs): lines.Line2D.__init__(self, *args, **kwargs) # we can't access the label attr until *after* the line is - # inited + # initiated self.text.set_text(self.get_label()) def set_figure(self, figure): @@ -59,8 +59,33 @@ def draw(self, renderer): line.text.set_color('red') line.text.set_fontsize(16) - ax.add_line(line) - plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.lines +matplotlib.lines.Line2D +matplotlib.lines.Line2D.set_data +matplotlib.artist +matplotlib.artist.Artist +matplotlib.artist.Artist.draw +matplotlib.artist.Artist.set_transform +matplotlib.text +matplotlib.text.Text +matplotlib.text.Text.set_color +matplotlib.text.Text.set_fontsize +matplotlib.text.Text.set_position +matplotlib.axes.Axes.add_line +matplotlib.transforms +matplotlib.transforms.Affine2D diff --git a/examples/api/mathtext_asarray.py b/examples/api/mathtext_asarray.py index 258ad0fa4b5e..ee107d099bf3 100644 --- a/examples/api/mathtext_asarray.py +++ b/examples/api/mathtext_asarray.py @@ -26,3 +26,20 @@ fig.figimage(rgba2, 100, 300) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.mathtext +matplotlib.mathtext.MathTextParser +matplotlib.mathtext.MathTextParser.to_png +matplotlib.mathtext.MathTextParser.to_rgba +matplotlib.figure.Figure.figimage diff --git a/examples/api/patch_collection.py b/examples/api/patch_collection.py index d3e6ec5d0556..f86d59ea65b2 100644 --- a/examples/api/patch_collection.py +++ b/examples/api/patch_collection.py @@ -3,7 +3,8 @@ Circles, Wedges and Polygons ============================ -This example demonstrates how to use patch collections. +This example demonstrates how to use +:class:`patch collections<~.collections.PatchCollection>`. """ import numpy as np @@ -56,3 +57,23 @@ fig.colorbar(p, ax=ax) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.patches +matplotlib.patches.Circle +matplotlib.patches.Wedge +matplotlib.patches.Polygon +matplotlib.collections.PatchCollection +matplotlib.collections.Collection.set_array +matplotlib.axes.Axes.add_collection +matplotlib.figure.Figure.colorbar diff --git a/examples/api/power_norm.py b/examples/api/power_norm.py index 491792c1a4b1..e22cc590e181 100644 --- a/examples/api/power_norm.py +++ b/examples/api/power_norm.py @@ -32,3 +32,19 @@ fig.tight_layout() plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.colors +matplotlib.colors.PowerNorm +matplotlib.axes.Axes.hist2d +matplotlib.pyplot.hist2d diff --git a/examples/api/quad_bezier.py b/examples/api/quad_bezier.py index 6cf190ee073a..0aacd26c55f4 100644 --- a/examples/api/quad_bezier.py +++ b/examples/api/quad_bezier.py @@ -3,8 +3,8 @@ Bezier Curve ============ -This example showcases the PathPatch object to create a Bezier polycurve path -patch. +This example showcases the `~.patches.PathPatch` object to create a Bezier +polycurve path patch. """ import matplotlib.path as mpath @@ -24,3 +24,20 @@ ax.set_title('The red point should be on the path') plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.path +matplotlib.path.Path +matplotlib.patches +matplotlib.patches.PathPatch +matplotlib.axes.Axes.add_patch diff --git a/examples/api/radar_chart.py b/examples/api/radar_chart.py index c9b4c31340ef..5a1b798da274 100644 --- a/examples/api/radar_chart.py +++ b/examples/api/radar_chart.py @@ -202,3 +202,24 @@ def example_data(): size='large') plt.show() + + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.path +matplotlib.path.Path +matplotlib.spines +matplotlib.spines.Spine +matplotlib.projections +matplotlib.projections.polar +matplotlib.projections.polar.PolarAxes +matplotlib.projections.register_projection diff --git a/examples/api/sankey_basics.py b/examples/api/sankey_basics.py index d3ce6edb36df..abfd913e193b 100644 --- a/examples/api/sankey_basics.py +++ b/examples/api/sankey_basics.py @@ -99,3 +99,20 @@ # orientation and ordering of the flows is mirrored. plt.show() + + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.sankey +matplotlib.sankey.Sankey +matplotlib.sankey.Sankey.add +matplotlib.sankey.Sankey.finish diff --git a/examples/api/sankey_links.py b/examples/api/sankey_links.py index b8de4744edb3..d53d8e34b172 100644 --- a/examples/api/sankey_links.py +++ b/examples/api/sankey_links.py @@ -56,3 +56,21 @@ def corner(sankey): # accordingly. plt.show() + + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.sankey +matplotlib.sankey.Sankey +matplotlib.sankey.Sankey.add +matplotlib.sankey.Sankey.finish + diff --git a/examples/api/sankey_rankine.py b/examples/api/sankey_rankine.py index 59f1174184a6..cec4b7001f93 100644 --- a/examples/api/sankey_rankine.py +++ b/examples/api/sankey_rankine.py @@ -82,3 +82,20 @@ # must be adjusted manually, and that is a bit tricky. plt.show() + + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.sankey +matplotlib.sankey.Sankey +matplotlib.sankey.Sankey.add +matplotlib.sankey.Sankey.finish diff --git a/examples/api/scatter_piecharts.py b/examples/api/scatter_piecharts.py index 990cbe223d5a..d4ffaa34d152 100644 --- a/examples/api/scatter_piecharts.py +++ b/examples/api/scatter_piecharts.py @@ -46,3 +46,17 @@ s=s3 ** 2 * sizes, facecolor='red') plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.scatter +matplotlib.pyplot.scatter diff --git a/examples/api/skewt.py b/examples/api/skewt.py index 4e0db3ce04b7..5faf0572625f 100644 --- a/examples/api/skewt.py +++ b/examples/api/skewt.py @@ -291,3 +291,22 @@ def upper_xlim(self): ax.set_xlim(-50, 50) plt.show() + + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.transforms +matplotlib.spines +matplotlib.spines.Spine +matplotlib.spines.Spine.register_axis +matplotlib.projections +matplotlib.projections.register_projection diff --git a/examples/api/span_regions.py b/examples/api/span_regions.py index 7627e96992d5..04ff7561800c 100644 --- a/examples/api/span_regions.py +++ b/examples/api/span_regions.py @@ -33,3 +33,20 @@ plt.show() + + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.collections.BrokenBarHCollection +matplotlib.collections.BrokenBarHCollection.span_where +matplotlib.axes.Axes.add_collection +matplotlib.axes.Axes.axhline diff --git a/examples/api/two_scales.py b/examples/api/two_scales.py index 8e650c6f17f8..6a0017e5b891 100644 --- a/examples/api/two_scales.py +++ b/examples/api/two_scales.py @@ -10,8 +10,8 @@ You can use separate `matplotlib.ticker` formatters and locators as desired since the two axes are independent. -Such axes are generated by calling the `Axes.twinx` method. Likewise, -`Axes.twiny` is available to generate axes that share a *y* axis but +Such axes are generated by calling the :meth:`.Axes.twinx` method. Likewise, +:meth:`.Axes.twiny` is available to generate axes that share a *y* axis but have different top and bottom scales. """ import numpy as np @@ -39,3 +39,18 @@ fig.tight_layout() # otherwise the right y-label is slightly clipped plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.twinx +matplotlib.axes.Axes.twiny +matplotlib.axes.Axes.tick_params diff --git a/examples/api/watermark_image.py b/examples/api/watermark_image.py index bd97f0e1e199..a3246e7ae0d9 100644 --- a/examples/api/watermark_image.py +++ b/examples/api/watermark_image.py @@ -26,3 +26,19 @@ fig.figimage(im, 10, 10, zorder=3) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.image +matplotlib.image.imread +matplotlib.pyplot.imread +matplotlib.figure.Figure.figimage diff --git a/examples/api/watermark_text.py b/examples/api/watermark_text.py index 258e0b3260c2..a5dbdb2ddef9 100644 --- a/examples/api/watermark_text.py +++ b/examples/api/watermark_text.py @@ -25,3 +25,16 @@ ha='right', va='bottom', alpha=0.5) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.figure.Figure.text diff --git a/examples/axisartist/demo_parasite_axes.py b/examples/axisartist/demo_parasite_axes.py index 022f195a9e3a..55c3d6e815d7 100644 --- a/examples/axisartist/demo_parasite_axes.py +++ b/examples/axisartist/demo_parasite_axes.py @@ -3,6 +3,17 @@ Demo Parasite Axes ================== +Create a parasite axes. Such axes would share the x scale with a host axes, +but show a different scale in y direction. + +Note that this approach uses the `~mpl_toolkits.axes_grid1.parasite_axes`\' +`~.mpl_toolkits.axes_grid1.parasite_axes.HostAxes` and +`~.mpl_toolkits.axes_grid1.parasite_axes.ParasiteAxes`. An alternative +approach using the :ref:`toolkit_axesgrid1-index` and +:ref:`toolkit_axisartist-index` +is found in the :doc:`/gallery/axisartist/demo_parasite_axes2` example. +An alternative approach using the usual matplotlib subplots is shown in +the :doc:`/gallery/ticks_and_spines/multiple_yaxis_with_spines` example. """ from mpl_toolkits.axisartist.parasite_axes import HostAxes, ParasiteAxes import matplotlib.pyplot as plt diff --git a/examples/axisartist/demo_parasite_axes2.py b/examples/axisartist/demo_parasite_axes2.py index bb98d040fdd0..c89614658f9b 100644 --- a/examples/axisartist/demo_parasite_axes2.py +++ b/examples/axisartist/demo_parasite_axes2.py @@ -5,12 +5,22 @@ Parasite axis demo -The following code is an example of a parasite axis. It aims to show a user how +The following code is an example of a parasite axis. It aims to show how to plot multiple different values onto one single plot. Notice how in this example, par1 and par2 are both calling twinx meaning both are tied directly to the x-axis. From there, each of those two axis can behave separately from the each other, meaning they can take on separate values from themselves as well as the x-axis. + +Note that this approach uses the `mpl_toolkits.axes_grid1.parasite_axes`\' +`~mpl_toolkits.axes_grid1.parasite_axes.host_subplot` and +`mpl_toolkits.axisartist.axislines.Axes`. An alternative approach using the +`~mpl_toolkits.axes_grid1.parasite_axes`\'s +`~.mpl_toolkits.axes_grid1.parasite_axes.HostAxes` and +`~.mpl_toolkits.axes_grid1.parasite_axes.ParasiteAxes` is the +:doc:`/gallery/axisartist/demo_parasite_axes` example. +An alternative approach using the usual matplotlib subplots is shown in +the :doc:`/gallery/ticks_and_spines/multiple_yaxis_with_spines` example. """ from mpl_toolkits.axes_grid1 import host_subplot import mpl_toolkits.axisartist as AA diff --git a/examples/pyplots/align_ylabels.py b/examples/pyplots/align_ylabels.py index 63558b0c8b45..c43f7ebe1503 100644 --- a/examples/pyplots/align_ylabels.py +++ b/examples/pyplots/align_ylabels.py @@ -3,6 +3,7 @@ Align Ylabels ============= +Align the axis labels between subplots. """ import numpy as np import matplotlib.pyplot as plt @@ -36,3 +37,21 @@ ax4.yaxis.set_label_coords(labelx, 0.5) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.axis.Axis.set_label_coords +matplotlib.axes.Axes.plot +matplotlib.pyplot.plot +matplotlib.axes.Axes.set_title +matplotlib.axes.Axes.set_ylabel +matplotlib.axes.Axes.set_ylim diff --git a/examples/pyplots/annotate_transform.py b/examples/pyplots/annotate_transform.py index 458da2d1e1f1..67e7d6536289 100644 --- a/examples/pyplots/annotate_transform.py +++ b/examples/pyplots/annotate_transform.py @@ -3,6 +3,9 @@ Annotate Transform ================== +This example shows how to use different coordinate systems for annotations. +For a complete overview of the annotation capabilities, also see the +:doc:`annotation tutorial</tutorials/text/annotations>`. """ import numpy as np import matplotlib.pyplot as plt @@ -38,3 +41,18 @@ plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.transforms.Transform.transform_point +matplotlib.axes.Axes.annotate +matplotlib.pyplot.annotate diff --git a/examples/pyplots/annotation_basic.py b/examples/pyplots/annotation_basic.py index c1ad76dbcc2f..1b2e6ec1a09c 100644 --- a/examples/pyplots/annotation_basic.py +++ b/examples/pyplots/annotation_basic.py @@ -6,6 +6,8 @@ This example shows how to annotate a plot with an arrow pointing to provided coordinates. We modify the defaults of the arrow, to "shrink" it. +For a complete overview of the annotation capabilities, also see the +:doc:`annotation tutorial</tutorials/text/annotations>`. """ import numpy as np import matplotlib.pyplot as plt @@ -21,3 +23,17 @@ ) ax.set_ylim(-2, 2) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.annotate +matplotlib.pyplot.annotate diff --git a/examples/pyplots/annotation_polar.py b/examples/pyplots/annotation_polar.py index 129291aae167..e900c70d102d 100644 --- a/examples/pyplots/annotation_polar.py +++ b/examples/pyplots/annotation_polar.py @@ -3,6 +3,10 @@ Annotation Polar ================ +This example shows how to create an annotation on a polar graph. + +For a complete overview of the annotation capabilities, also see the +:doc:`annotation tutorial</tutorials/text/annotations>`. """ import numpy as np import matplotlib.pyplot as plt @@ -25,3 +29,18 @@ verticalalignment='bottom', ) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.projections.polar +matplotlib.axes.Axes.annotate +matplotlib.pyplot.annotate diff --git a/examples/pyplots/auto_subplots_adjust.py b/examples/pyplots/auto_subplots_adjust.py index bb430827bef3..7b13cda9e90b 100644 --- a/examples/pyplots/auto_subplots_adjust.py +++ b/examples/pyplots/auto_subplots_adjust.py @@ -3,6 +3,13 @@ Auto Subplots Adjust ==================== +Automatically adjust subplot parameters. This example shows a way to determine +a subplot parameter from the extent of the ticklabels using a callback on the +:doc:`draw_event</users/event_handling>`. + +Note that a similar result would be achieved using `~.Figure.tight_layout` +or `~.Figure.contrained_layout`; this example shows how one could customize +the subplot parameter adjustment. """ import matplotlib.pyplot as plt import matplotlib.transforms as mtransforms @@ -34,3 +41,21 @@ def on_draw(event): plt.show() +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.artist.Artist.get_window_extent +matplotlib.transforms.Bbox +matplotlib.transforms.Bbox.inverse_transformed +matplotlib.transforms.Bbox.union +matplotlib.figure.Figure.subplots_adjust +matplotlib.figure.SubplotParams +matplotlib.backend_bases.FigureCanvasBase.mpl_connect diff --git a/examples/pyplots/boxplot_demo_pyplot.py b/examples/pyplots/boxplot_demo_pyplot.py index 90eabd9e567c..26e4fcd9b72b 100644 --- a/examples/pyplots/boxplot_demo_pyplot.py +++ b/examples/pyplots/boxplot_demo_pyplot.py @@ -80,3 +80,17 @@ ax7.boxplot(data) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.boxplot +matplotlib.pyplot.boxplot diff --git a/examples/pyplots/compound_path_demo.py b/examples/pyplots/compound_path_demo.py deleted file mode 100644 index 6310cf8b021f..000000000000 --- a/examples/pyplots/compound_path_demo.py +++ /dev/null @@ -1,51 +0,0 @@ -""" -================== -Compound Path Demo -================== - -""" -import numpy as np - -import matplotlib.pyplot as plt -import matplotlib.patches as patches -import matplotlib.path as path - -fig = plt.figure() -ax = fig.add_subplot(111) - -# Fixing random state for reproducibility -np.random.seed(19680801) - -# histogram our data with numpy -data = np.random.randn(1000) -n, bins = np.histogram(data, 100) - -# get the corners of the rectangles for the histogram -left = np.array(bins[:-1]) -right = np.array(bins[1:]) -bottom = np.zeros(len(left)) -top = bottom + n -nrects = len(left) - -nverts = nrects*(1+3+1) -verts = np.zeros((nverts, 2)) -codes = np.ones(nverts, int) * path.Path.LINETO -codes[0::5] = path.Path.MOVETO -codes[4::5] = path.Path.CLOSEPOLY -verts[0::5,0] = left -verts[0::5,1] = bottom -verts[1::5,0] = left -verts[1::5,1] = top -verts[2::5,0] = right -verts[2::5,1] = top -verts[3::5,0] = right -verts[3::5,1] = bottom - -barpath = path.Path(verts, codes) -patch = patches.PathPatch(barpath, facecolor='green', edgecolor='yellow', alpha=0.5) -ax.add_patch(patch) - -ax.set_xlim(left[0], right[-1]) -ax.set_ylim(bottom.min(), top.max()) - -plt.show() diff --git a/examples/pyplots/dollar_ticks.py b/examples/pyplots/dollar_ticks.py index 2f8c864e977c..e980de104848 100644 --- a/examples/pyplots/dollar_ticks.py +++ b/examples/pyplots/dollar_ticks.py @@ -3,6 +3,7 @@ Dollar Ticks ============ +Use a `~.ticker.FormatStrFormatter` to prepend dollar signs on y axis labels. """ import numpy as np import matplotlib.pyplot as plt @@ -23,3 +24,20 @@ tick.label2.set_color('green') plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.ticker +matplotlib.ticker.FormatStrFormatter +matplotlib.axis.Axis.set_major_formatter +matplotlib.axis.Axis.get_major_ticks +matplotlib.axis.Tick diff --git a/examples/pyplots/fig_axes_customize_simple.py b/examples/pyplots/fig_axes_customize_simple.py index 0152be313c4e..50c2411bfcb8 100644 --- a/examples/pyplots/fig_axes_customize_simple.py +++ b/examples/pyplots/fig_axes_customize_simple.py @@ -3,6 +3,7 @@ Fig Axes Customize Simple ========================= +Customize the background, labels and ticks of a simple plot. """ import numpy as np import matplotlib.pyplot as plt @@ -32,3 +33,25 @@ line.set_markeredgewidth(3) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.axis.Axis.get_ticklabels +matplotlib.axis.Axis.get_ticklines +matplotlib.text.Text.set_rotation +matplotlib.text.Text.set_fontsize +matplotlib.text.Text.set_color +matplotlib.lines.Line2D +matplotlib.lines.Line2D.set_color +matplotlib.lines.Line2D.set_markersize +matplotlib.lines.Line2D.set_markeredgewidth +matplotlib.patches.Patch.set_facecolor diff --git a/examples/pyplots/fig_axes_labels_simple.py b/examples/pyplots/fig_axes_labels_simple.py index b36967912c89..2d8e6a14a9b8 100644 --- a/examples/pyplots/fig_axes_labels_simple.py +++ b/examples/pyplots/fig_axes_labels_simple.py @@ -3,6 +3,7 @@ Fig Axes Labels Simple ====================== +Label the axes of a plot. """ import numpy as np import matplotlib.pyplot as plt @@ -26,3 +27,21 @@ ax2.set_xlabel('time (s)') plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.set_xlabel +matplotlib.axes.Axes.set_ylabel +matplotlib.axes.Axes.set_title +matplotlib.axes.Axes.plot +matplotlib.axes.Axes.hist +matplotlib.figure.Figure.add_axes diff --git a/examples/pyplots/fig_x.py b/examples/pyplots/fig_x.py index ecd28e2f5740..4e5d120a9a9b 100644 --- a/examples/pyplots/fig_x.py +++ b/examples/pyplots/fig_x.py @@ -3,6 +3,7 @@ Fig X ===== +Add lines to a figure (without axes). """ import numpy as np import matplotlib.pyplot as plt @@ -18,3 +19,18 @@ fig.lines.extend([l1, l2]) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.pyplot.figure +matplotlib.lines +matplotlib.lines.Line2D diff --git a/examples/pyplots/pyplot_formatstr.py b/examples/pyplots/pyplot_formatstr.py index e558fb4f35ca..057cba15b92f 100644 --- a/examples/pyplots/pyplot_formatstr.py +++ b/examples/pyplots/pyplot_formatstr.py @@ -3,8 +3,24 @@ Pyplot Formatstr ================ +Use a format string to colorize a `~matplotlib.axes.Axes.plot` and set its +markers. """ import matplotlib.pyplot as plt plt.plot([1,2,3,4], [1,4,9,16], 'ro') plt.axis([0, 6, 0, 20]) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.pyplot.plot +matplotlib.axes.Axes.plot diff --git a/examples/pyplots/pyplot_mathtext.py b/examples/pyplots/pyplot_mathtext.py index 4924b1a4665d..709488bcc933 100644 --- a/examples/pyplots/pyplot_mathtext.py +++ b/examples/pyplots/pyplot_mathtext.py @@ -3,6 +3,8 @@ Pyplot Mathtext =============== +Use mathematical expressions in text labels. For an overview over MathText +see :doc:`/tutorials/text/mathtext`. """ import numpy as np import matplotlib.pyplot as plt @@ -17,3 +19,17 @@ plt.xlabel('time (s)') plt.ylabel('volts (mV)') plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.pyplot.text +matplotlib.axes.Axes.text diff --git a/examples/pyplots/pyplot_scales.py b/examples/pyplots/pyplot_scales.py index 944f339e83b7..910d11323dbe 100644 --- a/examples/pyplots/pyplot_scales.py +++ b/examples/pyplots/pyplot_scales.py @@ -3,6 +3,9 @@ Pyplot Scales ============= +Create plots on different scales. Here a linear, a logarithmic, a symmetric +logarithmic and a logit scale are shown. For further examples also see the +:ref:`scales_examples` section of the gallery. """ import numpy as np import matplotlib.pyplot as plt @@ -59,3 +62,21 @@ wspace=0.35) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.pyplot.subplot +matplotlib.pyplot.subplots_adjust +matplotlib.pyplot.gca +matplotlib.pyplot.yscale +matplotlib.ticker.NullFormatter +matplotlib.axis.Axis.set_minor_formatter diff --git a/examples/pyplots/pyplot_simple.py b/examples/pyplots/pyplot_simple.py index c97c40d6a143..6ad0483ebe2e 100644 --- a/examples/pyplots/pyplot_simple.py +++ b/examples/pyplots/pyplot_simple.py @@ -3,8 +3,24 @@ Pyplot Simple ============= +A most simple plot, where a list of numbers is plotted against their index. """ import matplotlib.pyplot as plt plt.plot([1,2,3,4]) plt.ylabel('some numbers') plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.pyplot.plot +matplotlib.pyplot.ylabel +matplotlib.pyplot.show diff --git a/examples/pyplots/pyplot_text.py b/examples/pyplots/pyplot_text.py index b070e06595e6..4492ce438c01 100644 --- a/examples/pyplots/pyplot_text.py +++ b/examples/pyplots/pyplot_text.py @@ -24,3 +24,21 @@ plt.axis([40, 160, 0, 0.03]) plt.grid(True) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.pyplot.hist +matplotlib.pyplot.xlabel +matplotlib.pyplot.ylabel +matplotlib.pyplot.text +matplotlib.pyplot.grid +matplotlib.pyplot.show diff --git a/examples/pyplots/pyplot_three.py b/examples/pyplots/pyplot_three.py index 8576b36802b1..9026e4acae1f 100644 --- a/examples/pyplots/pyplot_three.py +++ b/examples/pyplots/pyplot_three.py @@ -3,6 +3,7 @@ Pyplot Three ============ +Plot three line plots in a single call to `~matplotlib.pyplot.plot`. """ import numpy as np import matplotlib.pyplot as plt @@ -13,3 +14,17 @@ # red dashes, blue squares and green triangles plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^') plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.pyplot.plot +matplotlib.axes.Axes.plot diff --git a/examples/pyplots/pyplot_two_subplots.py b/examples/pyplots/pyplot_two_subplots.py index dbc64d628b5d..964e1fdfd6e7 100644 --- a/examples/pyplots/pyplot_two_subplots.py +++ b/examples/pyplots/pyplot_two_subplots.py @@ -3,6 +3,7 @@ Pyplot Two Subplots =================== +Create a figure with two subplots with `pyplot.subplot`. """ import numpy as np import matplotlib.pyplot as plt @@ -20,3 +21,17 @@ def f(t): plt.subplot(212) plt.plot(t2, np.cos(2*np.pi*t2), 'r--') plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.pyplot.figure +matplotlib.pyplot.subplot diff --git a/examples/pyplots/text_commands.py b/examples/pyplots/text_commands.py index 4885a0051925..d7df2ecfca3d 100644 --- a/examples/pyplots/text_commands.py +++ b/examples/pyplots/text_commands.py @@ -38,3 +38,23 @@ ax.axis([0, 10, 0, 10]) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.figure.Figure.suptitle +matplotlib.figure.Figure.add_subplot +matplotlib.figure.Figure.subplots_adjust +matplotlib.axes.Axes.set_title +matplotlib.axes.Axes.set_xlabel +matplotlib.axes.Axes.set_ylabel +matplotlib.axes.Axes.text +matplotlib.axes.Axes.annotate diff --git a/examples/pyplots/text_layout.py b/examples/pyplots/text_layout.py index 48ea9a4a5676..4e28cf98904c 100644 --- a/examples/pyplots/text_layout.py +++ b/examples/pyplots/text_layout.py @@ -3,6 +3,7 @@ Text Layout =========== +Create text with different alignment and rotation. """ import matplotlib.pyplot as plt import matplotlib.patches as patches @@ -81,3 +82,17 @@ ax.set_axis_off() plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.text +matplotlib.pyplot.text diff --git a/examples/pyplots/whats_new_1_subplot3d.py b/examples/pyplots/whats_new_1_subplot3d.py index 7b4bd33a8ed8..5372ad10e0f1 100644 --- a/examples/pyplots/whats_new_1_subplot3d.py +++ b/examples/pyplots/whats_new_1_subplot3d.py @@ -3,6 +3,7 @@ Whats New 1 Subplot3d ===================== +Create two three-dimensional plots in the same figure. """ from mpl_toolkits.mplot3d.axes3d import Axes3D from matplotlib import cm @@ -34,3 +35,18 @@ plt.show() +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib, mpl_toolkits +matplotlib.figure.Figure.add_subplot +mpl_toolkits.mplot3d.axes3d.Axes3D.plot_surface +mpl_toolkits.mplot3d.axes3d.Axes3D.plot_wireframe +mpl_toolkits.mplot3d.axes3d.Axes3D.set_zlim3d diff --git a/examples/pyplots/whats_new_98_4_fancy.py b/examples/pyplots/whats_new_98_4_fancy.py index 24691a8abbb6..b8c1d2fbdf90 100644 --- a/examples/pyplots/whats_new_98_4_fancy.py +++ b/examples/pyplots/whats_new_98_4_fancy.py @@ -3,6 +3,7 @@ Whats New 0.98.4 Fancy ====================== +Create fancy box and arrow styles. """ import matplotlib.patches as mpatch import matplotlib.pyplot as plt @@ -58,3 +59,22 @@ def make_arrowstyles(ax): plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.patches +matplotlib.patches.BoxStyle +matplotlib.patches.BoxStyle.get_styles +matplotlib.patches.ArrowStyle +matplotlib.patches.ArrowStyle.get_styles +matplotlib.axes.Axes.text +matplotlib.axes.Axes.annotate diff --git a/examples/pyplots/whats_new_98_4_fill_between.py b/examples/pyplots/whats_new_98_4_fill_between.py index 0fbd6bd271d9..8719a5428e03 100644 --- a/examples/pyplots/whats_new_98_4_fill_between.py +++ b/examples/pyplots/whats_new_98_4_fill_between.py @@ -3,6 +3,7 @@ Fill Between ============ +Fill the area between two curves. """ import matplotlib.pyplot as plt import numpy as np @@ -18,3 +19,16 @@ ax.set_title('Fill Between') plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.fill_between diff --git a/examples/pyplots/whats_new_98_4_legend.py b/examples/pyplots/whats_new_98_4_legend.py index c60d91588cb0..ed534ca18992 100644 --- a/examples/pyplots/whats_new_98_4_legend.py +++ b/examples/pyplots/whats_new_98_4_legend.py @@ -3,6 +3,7 @@ Whats New 0.98.4 Legend ======================= +Create a legend and tweak it with a shadow and a box. """ import matplotlib.pyplot as plt import numpy as np @@ -18,3 +19,19 @@ plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.legend +matplotlib.pyplot.legend +matplotlib.legend.Legend +matplotlib.legend.Legend.get_frame diff --git a/examples/pyplots/whats_new_99_axes_grid.py b/examples/pyplots/whats_new_99_axes_grid.py index 73c75daf5798..a13bcce2e2f5 100644 --- a/examples/pyplots/whats_new_99_axes_grid.py +++ b/examples/pyplots/whats_new_99_axes_grid.py @@ -3,6 +3,7 @@ Whats New 0.99 Axes Grid ======================== +Create RGB composite images. """ import numpy as np import matplotlib.pyplot as plt @@ -50,3 +51,17 @@ def get_rgb(): plt.draw() plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import mpl_toolkits +mpl_toolkits.axes_grid1.axes_rgb.RGBAxes +mpl_toolkits.axes_grid1.axes_rgb.RGBAxes.imshow_rgb diff --git a/examples/pyplots/whats_new_99_mplot3d.py b/examples/pyplots/whats_new_99_mplot3d.py index f3037740e2e1..6a85c0a383c4 100644 --- a/examples/pyplots/whats_new_99_mplot3d.py +++ b/examples/pyplots/whats_new_99_mplot3d.py @@ -3,6 +3,7 @@ Whats New 0.99 Mplot3d ====================== +Create a 3D surface plot. """ import numpy as np import matplotlib.pyplot as plt @@ -20,3 +21,17 @@ ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.viridis) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import mpl_toolkits +mpl_toolkits.mplot3d.Axes3D +mpl_toolkits.mplot3d.Axes3D.plot_surface diff --git a/examples/pyplots/whats_new_99_spines.py b/examples/pyplots/whats_new_99_spines.py index 4d0d5bc09f74..1c8461497a98 100644 --- a/examples/pyplots/whats_new_99_spines.py +++ b/examples/pyplots/whats_new_99_spines.py @@ -50,3 +50,22 @@ def adjust_spines(ax,spines): adjust_spines(ax,['bottom']) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.axis.Axis.set_ticks +matplotlib.axis.XAxis.set_ticks_position +matplotlib.axis.YAxis.set_ticks_position +matplotlib.spines +matplotlib.spines.Spine +matplotlib.spines.Spine.set_color +matplotlib.spines.Spine.set_position diff --git a/examples/ticks_and_spines/multiple_yaxis_with_spines.py b/examples/ticks_and_spines/multiple_yaxis_with_spines.py index 02320dec5b8b..19d41f49c212 100644 --- a/examples/ticks_and_spines/multiple_yaxis_with_spines.py +++ b/examples/ticks_and_spines/multiple_yaxis_with_spines.py @@ -3,6 +3,14 @@ Multiple Yaxis With Spines ========================== +Create multiple y axes with a shared x axis. This is done by creating +a `~.axes.Axes.twinx` axes, turning all spines but the right one invisible +and offset its position using `~.spines.Spine.set_position`. + +Note that this approach uses `matplotlib.axes.Axes` and their +:class:`Spines<~matplotlib.spines.Spine>`. An alternative approach for parasite +axes is shown in the :doc:`/gallery/axisartist/demo_parasite_axes` and +:doc:`/gallery/axisartist/demo_parasite_axes2` examples. """ import matplotlib.pyplot as plt From c7fdec79b8d7c7277f0b2b7547c1383ca61b9fc8 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Thu, 31 May 2018 10:02:16 -0700 Subject: [PATCH 0752/1161] DOC: Small tweak to customizing tutorial to indicate where default style files can be found on github --- tutorials/introductory/customizing.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tutorials/introductory/customizing.py b/tutorials/introductory/customizing.py index e721f2df8712..8823e4e366e5 100644 --- a/tutorials/introductory/customizing.py +++ b/tutorials/introductory/customizing.py @@ -1,8 +1,8 @@ """ -Customizing matplotlib -====================== +Customizing Matplotlib with style sheets and rcParams +===================================================== -Tips for customizing the properties and default styles of matplotlib. +Tips for customizing the properties and default styles of Matplotlib. Using style sheets ------------------ @@ -12,7 +12,7 @@ :ref:`matplotlib rc <customizing-with-matplotlibrc-files>` file (which is read at startup to configure matplotlib). -There are a number of pre-defined styles provided by matplotlib. For +There are a number of pre-defined styles `provided by Matplotlib`_. For example, there's a pre-defined style called "ggplot", which emulates the aesthetics of ggplot_ (a popular plotting package for R_). To use this style, just add: @@ -186,3 +186,4 @@ # # .. _ggplot: http://ggplot2.org/ # .. _R: https://www.r-project.org/ +# .. _provided by Matplotlib: https://github.com/matplotlib/matplotlib/tree/master/lib/matplotlib/mpl-data/stylelib From e8d19069893a97bf2bb9c6be9bf3bb64abb3e6a4 Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Fri, 1 Jun 2018 13:03:46 +0100 Subject: [PATCH 0753/1161] Catch a few test warnings --- lib/matplotlib/tests/test_axes.py | 3 ++- lib/matplotlib/tests/test_dates.py | 9 ++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index bd6961b16d75..887632f4007d 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -1821,7 +1821,8 @@ def test_pyplot_axes(): # test focusing of Axes in other Figure fig1, ax1 = plt.subplots() fig2, ax2 = plt.subplots() - assert ax1 is plt.axes(ax1) + with pytest.warns(MatplotlibDeprecationWarning): + assert ax1 is plt.axes(ax1) assert ax1 is plt.gca() assert fig1 is plt.gcf() plt.close(fig1) diff --git a/lib/matplotlib/tests/test_dates.py b/lib/matplotlib/tests/test_dates.py index e4af37827593..e9b2e18c56f9 100644 --- a/lib/matplotlib/tests/test_dates.py +++ b/lib/matplotlib/tests/test_dates.py @@ -9,6 +9,7 @@ from matplotlib.testing.decorators import image_comparison import matplotlib.pyplot as plt +from matplotlib.cbook import MatplotlibDeprecationWarning import matplotlib.dates as mdates @@ -239,7 +240,8 @@ def test_strftime_fields(dt): minute=dt.minute, second=dt.second, microsecond=dt.microsecond)) - assert formatter.strftime(dt) == formatted_date_str + with pytest.warns(MatplotlibDeprecationWarning): + assert formatter.strftime(dt) == formatted_date_str try: # Test strftime("%x") with the current locale. @@ -247,8 +249,9 @@ def test_strftime_fields(dt): locale_formatter = mdates.DateFormatter("%x") locale_d_fmt = locale.nl_langinfo(locale.D_FMT) expanded_formatter = mdates.DateFormatter(locale_d_fmt) - assert locale_formatter.strftime(dt) == \ - expanded_formatter.strftime(dt) + with pytest.warns(MatplotlibDeprecationWarning): + assert locale_formatter.strftime(dt) == \ + expanded_formatter.strftime(dt) except (ImportError, AttributeError): pass From 51dfcc866f38c4001531a00a8d425d0fa1fb2b12 Mon Sep 17 00:00:00 2001 From: Paul Ganssle <paul@ganssle.io> Date: Fri, 1 Jun 2018 11:48:00 -0400 Subject: [PATCH 0754/1161] Switch tox to using custom configuration directory --- tox.ini | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index 9407b70d6517..c12300823c02 100644 --- a/tox.ini +++ b/tox.ini @@ -8,8 +8,9 @@ envlist = py35, py36 [testenv] changedir = /tmp +setenv = + MPLCONFIGDIR={envtmpdir}/.matplotlib commands = - sh -c 'rm -f $HOME/.matplotlib/fontList*' {envpython} {toxinidir}/tests.py --processes=-1 --process-timeout=300 deps = numpy From 3e14dd2ceec1be0ad761ed9815c78db7b5137577 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Fri, 1 Jun 2018 18:01:04 +0200 Subject: [PATCH 0755/1161] Improve docstring of Axes.pcolorfast --- lib/matplotlib/axes/_axes.py | 128 ++++++++++++++++++++--------------- 1 file changed, 73 insertions(+), 55 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 5d50624f07ef..229be78453e3 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -5718,14 +5718,7 @@ def pcolormesh(self, *args, alpha=None, norm=None, cmap=None, vmin=None, def pcolorfast(self, *args, alpha=None, norm=None, cmap=None, vmin=None, vmax=None, **kwargs): """ - pseudocolor plot of a 2-D array - - Experimental; this is a pcolor-type method that - provides the fastest possible rendering with the Agg - backend, and that can handle any quadrilateral grid. - It supports only flat shading (no outlines), it lacks - support for log scaling of the axes, and it does not - have a pyplot wrapper. + Create a pseudocolor plot with a non-regular rectangular grid. Call signatures:: @@ -5734,68 +5727,93 @@ def pcolorfast(self, *args, alpha=None, norm=None, cmap=None, vmin=None, ax.pcolorfast(x, y, C, **kwargs) ax.pcolorfast(X, Y, C, **kwargs) - C is the 2D array of color values corresponding to quadrilateral - cells. Let (nr, nc) be its shape. C may be a masked array. + This method is similar to ~.Axes.pcolor` and `~.Axes.pcolormesh`. + It's designed to provide the fastest pcolor-type plotting with the + Agg backend. To achieve this, it uses different algorithms internally + depending on the complexity of the input grid (regular rectangular, + non-regular rectangular or arbitrary quadrilateral). + + .. warning:: + + This method is experimental. Compared to `~.Axes.pcolor` or + `~.Axes.pcolormesh` it has some limitations: + + - It supports only flat shading (no outlines) + - It lacks support for log scaling of the axes. + - It does not have a have a pyplot wrapper. + + Parameters + ---------- + C : array-like(M, N) + A scalar 2D array. The values will be color-mapped. + *C* may be a masked array. + + x, y : tuple or array-like + *X* and *Y* are used to specify the coordinates of the + quadilaterals. There are different ways to do this: + + - Use tuples ``xr=(xmin, xmax)`` and ``yr=(ymin, ymax)`` to define + a *uniform rectiangular grid*. - ``ax.pcolorfast(C, **kwargs)`` is equivalent to - ``ax.pcolorfast([0,nc], [0,nr], C, **kwargs)`` + The tuples define the outer edges of the grid. All individual + quadrilaterals will be of the same size. This is the fastest + version. - *xr*, *yr* specify the ranges of *x* and *y* corresponding to the - rectangular region bounding *C*. If:: + - Use 1D arrays *x*, *y* to specify a *non-uniform rectangular + grid*. - xr = [x0, x1] + In this case *x* and *y* have to be monotonic 1D arrays of length + *N+1* and *M+1*, specifying the x and y boundaries of the cells. - and:: + The speed is intermediate. Note: The grid is checked, and if + found to be uniform the fast version is used. - yr = [y0,y1] + - Use 2D arrays *X*, *Y* if you need an *arbitrary quadrilateral + grid* (i.e. if the quadrilaterals are not rectangular). - then *x* goes from *x0* to *x1* as the second index of *C* goes - from 0 to *nc*, etc. (*x0*, *y0*) is the outermost corner of - cell (0,0), and (*x1*, *y1*) is the outermost corner of cell - (*nr*-1, *nc*-1). All cells are rectangles of the same size. - This is the fastest version. + In this case *X* and *Y* are 2D arrays with shape (M, N), + specifying the x and y coordinates of the corners of the colored + quadrilaterals. See `~.Axes.pcolormesh` for details. - *x*, *y* are monotonic 1D arrays of length *nc* +1 and *nr* +1, - respectively, giving the x and y boundaries of the cells. Hence - the cells are rectangular but the grid may be nonuniform. The - speed is intermediate. (The grid is checked, and if found to be - uniform the fast version is used.) + This is the most general, but the slowest to render. It may + produce faster and more compact output using ps, pdf, and + svg backends, however. - *X* and *Y* are 2D arrays with shape (*nr* +1, *nc* +1) that specify - the (x,y) coordinates of the corners of the colored - quadrilaterals; the quadrilateral for C[i,j] has corners at - (X[i,j],Y[i,j]), (X[i,j+1],Y[i,j+1]), (X[i+1,j],Y[i+1,j]), - (X[i+1,j+1],Y[i+1,j+1]). The cells need not be rectangular. - This is the most general, but the slowest to render. It may - produce faster and more compact output using ps, pdf, and - svg backends, however. + Leaving out *x* and *y* defaults to ``xr=(0, N)``, ``yr=(O, M)``. + + cmap : str or `~matplotlib.colors.Colormap`, optional + A Colormap instance or registered colormap name. The colormap + maps the *C* values to colors. Defaults to :rc:`image.cmap`. - Note that the column index corresponds to the x-coordinate, - and the row index corresponds to y; for details, see - :ref:`Grid Orientation <axes-pcolor-grid-orientation>`. + norm : `~matplotlib.colors.Normalize`, optional + The Normalize instance scales the data values to the canonical + colormap range [0, 1] for mapping to colors. By default, the data + range is mapped to the colorbar range using linear scaling. - Optional keyword arguments: + vmin, vmax : scalar, optional, default: None + The colorbar range. If *None*, suitable min/max values are + automatically chosen by the `~.Normalize` instance (defaults to + the respective min/max values of *C* in case of the default linear + scaling). - *cmap*: [ *None* | Colormap ] - A :class:`matplotlib.colors.Colormap` instance from cm. If *None*, - use rc settings. + alpha : scalar, optional, default: None + The alpha blending value, between 0 (transparent) and 1 (opaque). - *norm*: [ *None* | Normalize ] - A :class:`matplotlib.colors.Normalize` instance is used to scale - luminance data to 0,1. If *None*, defaults to normalize() + snap : bool, optional, default: False + Whether to snap the mesh to pixel boundaries. - *vmin*/*vmax*: [ *None* | scalar ] - *vmin* and *vmax* are used in conjunction with norm to normalize - luminance data. If either are *None*, the min and max - of the color array *C* is used. If you pass a norm instance, - *vmin* and *vmax* will be *None*. + Returns + ------- + image : `.AxesImage` or `.PcolorImage` or `.QuadMesh` + The return type depends on the type of grid: - *alpha*: ``0 <= scalar <= 1`` or *None* - the alpha blending value + - `.AxesImage` for a regular rectangular grid. + - `.PcolorImage` for a non-regular rectangular grid. + - `.QuadMesh` for a non-rectangular grid. - Return value is an image if a regular or rectangular grid - is specified, and a :class:`~matplotlib.collections.QuadMesh` - collection in the general quadrilateral case. + Notes + ----- + .. [notes section required to get data note injection right] """ if norm is not None and not isinstance(norm, mcolors.Normalize): From dfd1c60bb8ef9797b281e9c3a6f3b9bb5975c6e2 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sat, 2 Jun 2018 01:08:27 +0200 Subject: [PATCH 0756/1161] Improve docstring of Axes.spy --- lib/matplotlib/axes/_axes.py | 94 ++++++++++++++++++++++-------------- 1 file changed, 59 insertions(+), 35 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 5d50624f07ef..083dd904f671 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -5044,7 +5044,7 @@ def imshow(self, X, cmap=None, norm=None, aspect=None, that the data fit in the axes. In general, this will result in non-square pixels. - Defaults to :rc:`image.aspect`. + If not given, use :rc:`image.aspect` (default: 'equal'). interpolation : str, optional The interpolation method used. If *None* @@ -7290,64 +7290,88 @@ def specgram(self, x, NFFT=None, Fs=None, Fc=None, detrend=None, return spec, freqs, t, im + @docstring.dedent_interpd def spy(self, Z, precision=0, marker=None, markersize=None, aspect='equal', origin="upper", **kwargs): """ - Plot the sparsity pattern on a 2-D array. + Plot the sparsity pattern of a 2D array. + + This visualizes the non-zero values of the array. + + Two plotting styles are available: image and marker. Both + are available for full arrays, but only the marker style + works for `scipy.sparse.spmatrix` instances. - ``spy(Z)`` plots the sparsity pattern of the 2-D array *Z*. + **Image style** + + If *marker* and *markersize* are *None*, `~.Axes.imshow` is used. Any + extra remaining kwargs are passed to this method. + + **Marker style** + + If *Z* is a `scipy.sparse.spmatrix` or *marker* or *markersize* are + *None*, a `~matplotlib.lines.Line2D` object will be returned with + the value of marker determining the marker type, and any + remaining kwargs passed to `~.Axes.plot`. Parameters ---------- - - Z : sparse array (n, m) + Z : array-like (M, N) The array to be plotted. - precision : float, optional, default: 0 - If *precision* is 0, any non-zero value will be plotted; else, + precision : float or 'present', optional, default: 0 + If *precision* is 0, any non-zero value will be plotted. Otherwise, values of :math:`|Z| > precision` will be plotted. - For :class:`scipy.sparse.spmatrix` instances, there is a special - case: if *precision* is 'present', any value present in the array + For :class:`scipy.sparse.spmatrix` instances, you can also + pass 'present'. In this case any value present in the array will be plotted, even if it is identically zero. - origin : ["upper", "lower"], optional, default: "upper" + origin : {'upper', 'lower'}, optional Place the [0,0] index of the array in the upper left or lower left - corner of the axes. + corner of the axes. The convention 'upper' is typically used for + matrices and images. + If not given, :rc:`image.origin` is used, defaulting to 'upper'. + - aspect : ['auto' | 'equal' | scalar], optional, default: "equal" + aspect : {'equal', 'auto', None} or float, optional + Controls the aspect ratio of the axes. The aspect is of particular + relevance for images since it may distort the image, i.e. pixel + will not be square. - If 'equal', and `extent` is None, changes the axes aspect ratio to - match that of the image. If `extent` is not `None`, the axes - aspect ratio is changed to match that of the extent. + This parameter is a shortcut for explicitly calling + `.Axes.set_aspect`. See there for further details. + - 'equal': Ensures an aspect ratio of 1. Pixels will be square. + - 'auto': The axes is kept fixed and the aspect is adjusted so + that the data fit in the axes. In general, this will result in + non-square pixels. + - *None*: Use :rc:`image.aspect` (default: 'equal'). - If 'auto', changes the image aspect ratio to match that of the - axes. + Default: 'equal' - If None, default to rc ``image.aspect`` value. + Returns + ------- + ret : `~matplotlib.image.AxesImage` or `.Line2D` + The return type depends on the plotting style (see above). - Two plotting styles are available: image or marker. Both - are available for full arrays, but only the marker style - works for :class:`scipy.sparse.spmatrix` instances. + Other Parameters + ---------------- + **kwargs + The supported additional parameters depend on the plotting style. - If *marker* and *markersize* are *None*, an image will be - returned and any remaining kwargs are passed to - :func:`~matplotlib.pyplot.imshow`; else, a - :class:`~matplotlib.lines.Line2D` object will be returned with - the value of marker determining the marker type, and any - remaining kwargs passed to the - :meth:`~matplotlib.axes.Axes.plot` method. + For the image style, you can pass the following additional + parameters of `~.Axes.imshow`: - If *marker* and *markersize* are *None*, useful kwargs include: + - *cmap* + - *alpha* + - *url* + - any `.Artist` properties (passed on to the `.AxesImage`) - * *cmap* - * *alpha* + For the marker style, you can pass any `.Line2D` property except + for *linestyle*: - See also - -------- - imshow : for image options. - plot : for plotting options + %(Line2D)s """ if marker is None and markersize is None and hasattr(Z, 'tocoo'): marker = 's' From 664ab81e8156c39efe6d79cb30634c1d8013911e Mon Sep 17 00:00:00 2001 From: jdollichon <julian.dollichon@iwes.fraunhofer.de> Date: Sat, 2 Jun 2018 19:13:23 +0200 Subject: [PATCH 0757/1161] Sorting drawn artists by their zorder when blitting --- lib/matplotlib/animation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/animation.py b/lib/matplotlib/animation.py index 32c9a8eca0a1..4e8832f270c8 100644 --- a/lib/matplotlib/animation.py +++ b/lib/matplotlib/animation.py @@ -1723,7 +1723,7 @@ def _draw_frame(self, framedata): # Call the func with framedata and args. If blitting is desired, # func needs to return a sequence of any artists that were modified. - self._drawn_artists = self._func(framedata, *self._args) + self._drawn_artists = sorted(self._func(framedata, *self._args), key=lambda x: x.get_zorder()) if self._blit: if self._drawn_artists is None: raise RuntimeError('The animation function must return a ' From c1004850d0ec1f415f181506cabc073a200934ce Mon Sep 17 00:00:00 2001 From: jdollichon <julian.dollichon@iwes.fraunhofer.de> Date: Sun, 3 Jun 2018 09:02:28 +0200 Subject: [PATCH 0758/1161] Pep-8 compliant line length --- lib/matplotlib/animation.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/animation.py b/lib/matplotlib/animation.py index 4e8832f270c8..eb1c8827132e 100644 --- a/lib/matplotlib/animation.py +++ b/lib/matplotlib/animation.py @@ -1723,7 +1723,8 @@ def _draw_frame(self, framedata): # Call the func with framedata and args. If blitting is desired, # func needs to return a sequence of any artists that were modified. - self._drawn_artists = sorted(self._func(framedata, *self._args), key=lambda x: x.get_zorder()) + self._drawn_artists = sorted(self._func(framedata, *self._args), + key=lambda x: x.get_zorder()) if self._blit: if self._drawn_artists is None: raise RuntimeError('The animation function must return a ' From ce9737d5286b17a7dc86dfb9aa4c28db8f36c1cc Mon Sep 17 00:00:00 2001 From: jdollichon <julian.dollichon@iwes.fraunhofer.de> Date: Sun, 3 Jun 2018 09:50:27 +0200 Subject: [PATCH 0759/1161] Added API change note and docs --- .../next_api_changes/2018-06-03-JD-funcani-zorder.rst | 9 +++++++++ lib/matplotlib/animation.py | 6 ++++-- 2 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 doc/api/next_api_changes/2018-06-03-JD-funcani-zorder.rst diff --git a/doc/api/next_api_changes/2018-06-03-JD-funcani-zorder.rst b/doc/api/next_api_changes/2018-06-03-JD-funcani-zorder.rst new file mode 100644 index 000000000000..95e52e7db727 --- /dev/null +++ b/doc/api/next_api_changes/2018-06-03-JD-funcani-zorder.rst @@ -0,0 +1,9 @@ +`.FuncAnimation` now draws artists according to their zorder when blitting +-------------------------------------------------------------------------- + +`.FuncAnimation` now draws artists returned by the user- +function according to their zorder when using blitting, +instead of using the order in which they are being passed. +However, note that only zorder of passed artists will be +respected, as they are drawn on top of any existing artists +(see `#11369 <https://github.com/matplotlib/matplotlib/issues/11369>`_). \ No newline at end of file diff --git a/lib/matplotlib/animation.py b/lib/matplotlib/animation.py index eb1c8827132e..84d3b6d14db0 100644 --- a/lib/matplotlib/animation.py +++ b/lib/matplotlib/animation.py @@ -1607,8 +1607,10 @@ def init_func() -> iterable_of_artists: of frames is completed. Defaults to ``True``. blit : bool, optional - Controls whether blitting is used to optimize drawing. Defaults - to ``False``. + Controls whether blitting is used to optimize drawing. Note: when using + blitting any animated artists will be drawn according to their zorder. + However, they will be drawn on top of any previous artists, regardless + of their zorder. Defaults to ``False``. ''' def __init__(self, fig, func, frames=None, init_func=None, fargs=None, From 4b77bf422f41dd1f88f11e5c72be38db11543f8c Mon Sep 17 00:00:00 2001 From: Paul Ganssle <paul@ganssle.io> Date: Fri, 1 Jun 2018 13:35:34 -0400 Subject: [PATCH 0760/1161] Make tox.ini work out of the box Co-authored-by: Antony Lee <anntzer.lee@gmail.com> --- tox.ini | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tox.ini b/tox.ini index c12300823c02..2193faf4af15 100644 --- a/tox.ini +++ b/tox.ini @@ -10,8 +10,11 @@ envlist = py35, py36 changedir = /tmp setenv = MPLCONFIGDIR={envtmpdir}/.matplotlib + PIP_USER = 0 + PIP_ISOLATED = 1 + MPLLOCALFREETYPE = 1 +usedevelop = True commands = - {envpython} {toxinidir}/tests.py --processes=-1 --process-timeout=300 + pytest --pyargs matplotlib deps = - numpy pytest From e9f9190cfe06d436304e53757023d7bd616d02a4 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Sat, 31 Mar 2018 12:04:06 -0400 Subject: [PATCH 0761/1161] FIX: remove typo --- lib/matplotlib/__init__.py | 6 +++--- lib/matplotlib/axes/_axes.py | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 884350a3ef36..39469c17cff4 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -1529,8 +1529,8 @@ def _replacer(data, key): following arguments are replaced by **data[<arg>]**: {replaced} - - Objects passed as **data** must support item access (``data[<arg>]``) and + + Objects passed as **data** must support item access (``data[<arg>]``) and membership test (``<arg> in data``). """ @@ -1557,7 +1557,7 @@ def _add_data_doc(docstring, replace_names, replace_all_args): if docstring is None: docstring = '' else: - docstring = dedent(docstring)git + docstring = dedent(docstring) _repl = "" if replace_names is None: _repl = "* All positional and all keyword arguments." diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 311dad725159..6bb9b91c81c8 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -51,9 +51,9 @@ def _has_item(data, name): availability) and with numpy.arrays. """ try: - return name in data or name in data.dtype.names - except (AttributeError, TypeError): - return False + return data.dtype.names is not None and name in data.dtype.names + except AttributeError: # not a numpy array + return name in data def _plot_args_replacer(args, data): From 2b34931f621d023a2687b17da9da85e641cf798a Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Thu, 7 Jun 2018 08:07:09 +0200 Subject: [PATCH 0762/1161] Deprecate the `verts` kwarg to `scatter`. The `marker` kwarg is completely compatible and more general. --- .../next_api_changes/2018-02-15-AL-deprecations.rst | 3 +++ .../lines_bars_and_markers/scatter_custom_symbol.py | 2 +- .../lines_bars_and_markers/scatter_star_poly.py | 4 +--- lib/matplotlib/axes/_axes.py | 13 +++++-------- lib/matplotlib/tests/test_axes.py | 2 +- 5 files changed, 11 insertions(+), 13 deletions(-) diff --git a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst index bc63c522ec3b..64c82e4cb358 100644 --- a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst +++ b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst @@ -40,3 +40,6 @@ The following classes, methods, functions, and attributes are deprecated: The following rcParams are deprecated: - ``pgf.debug`` (the pgf backend relies on logging), + +The following keyword arguments are deprecated: +- passing ``verts`` to ``scatter`` (use ``marker`` instead), diff --git a/examples/lines_bars_and_markers/scatter_custom_symbol.py b/examples/lines_bars_and_markers/scatter_custom_symbol.py index 57ed832724e7..a66410c31caf 100644 --- a/examples/lines_bars_and_markers/scatter_custom_symbol.py +++ b/examples/lines_bars_and_markers/scatter_custom_symbol.py @@ -19,6 +19,6 @@ s *= 10**2. fig, ax = plt.subplots() -ax.scatter(x, y, s, c, marker=None, verts=verts) +ax.scatter(x, y, s, c, marker=verts) plt.show() diff --git a/examples/lines_bars_and_markers/scatter_star_poly.py b/examples/lines_bars_and_markers/scatter_star_poly.py index 517a6a067c15..6dafbf27c832 100644 --- a/examples/lines_bars_and_markers/scatter_star_poly.py +++ b/examples/lines_bars_and_markers/scatter_star_poly.py @@ -26,9 +26,7 @@ verts = np.array([[-1, -1], [1, -1], [1, 1], [-1, -1]]) plt.subplot(323) -plt.scatter(x, y, s=80, c=z, marker=(verts, 0)) -# equivalent: -# plt.scatter(x, y, s=80, c=z, marker=None, verts=verts) +plt.scatter(x, y, s=80, c=z, marker=verts) plt.subplot(324) plt.scatter(x, y, s=80, c=z, marker=(5, 1)) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 96f4dc1ff4e5..e7461cd28717 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -3818,11 +3818,6 @@ def scatter(self, x, y, s=None, c=None, marker=None, cmap=None, norm=None, is 'face'. You may want to change this as well. If *None*, defaults to rcParams ``lines.linewidth``. - verts : sequence of (x, y), optional - If *marker* is *None*, these vertices will be used to construct - the marker. The center of the marker is located at (0, 0) in - normalized units. The overall marker is rescaled by *s*. - edgecolors : color or sequence of color, optional, default: 'face' The edge color of the marker. Possible values: @@ -3960,9 +3955,11 @@ def scatter(self, x, y, s=None, c=None, marker=None, cmap=None, norm=None, scales = s # Renamed for readability below. # to be API compatible - if marker is None and verts is not None: - marker = (verts, 0) - verts = None + if verts is not None: + cbook.warn_deprecated("3.0", name="'verts'", obj_type="kwarg", + alternative="'marker'") + if marker is None: + marker = verts # load default marker from rcParams if marker is None: diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index cb96355bbd9e..fbf84a260838 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -1743,7 +1743,7 @@ def test_scatter_marker(): c=[(1, 0, 0), 'y', 'b', 'lime'], s=[60, 50, 40, 30], edgecolors=['k', 'r', 'g', 'b'], - verts=verts) + marker=verts) @image_comparison(baseline_images=['scatter_2D'], remove_text=True, From 26b61e3aa24c2e93cdd6e4f52de74f0e94dc189e Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Thu, 7 Jun 2018 14:53:03 +0200 Subject: [PATCH 0763/1161] Remove some (minor) comments regarding Py2. --- lib/matplotlib/artist.py | 3 +-- lib/matplotlib/cbook/__init__.py | 5 ++--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/lib/matplotlib/artist.py b/lib/matplotlib/artist.py index 83b3e27d3eac..c3a536c3560f 100644 --- a/lib/matplotlib/artist.py +++ b/lib/matplotlib/artist.py @@ -894,8 +894,7 @@ def set_label(self, s): Parameters ---------- s : object - *s* will be converted to a string by calling `str` (`unicode` on - Py2). + *s* will be converted to a string by calling `str`. .. ACCEPTS: object """ diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index 1bee526499ff..7abcac3e66d8 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -1941,9 +1941,8 @@ def _topmost_artist( """Get the topmost artist of a list. In case of a tie, return the *last* of the tied artists, as it will be - drawn on top of the others. `max` returns the first maximum in case of ties - (on Py2 this is undocumented but true), so we need to iterate over the list - in reverse order. + drawn on top of the others. `max` returns the first maximum in case of + ties, so we need to iterate over the list in reverse order. """ return _cached_max(reversed(artists)) From 553bfab94660c51eebf0590233975faa30a97e58 Mon Sep 17 00:00:00 2001 From: ImportanceOfBeingErnest <elch.rz@ruetz-online.de> Date: Wed, 6 Jun 2018 20:59:38 +0200 Subject: [PATCH 0764/1161] Constrained layout tutorial improvements --- .../intermediate/constrainedlayout_guide.py | 119 ++++++++++-------- tutorials/intermediate/tight_layout_guide.py | 3 + tutorials/introductory/customizing.py | 2 + 3 files changed, 73 insertions(+), 51 deletions(-) diff --git a/tutorials/intermediate/constrainedlayout_guide.py b/tutorials/intermediate/constrainedlayout_guide.py index 3f32968105c5..74e5e13d4abf 100644 --- a/tutorials/intermediate/constrainedlayout_guide.py +++ b/tutorials/intermediate/constrainedlayout_guide.py @@ -9,8 +9,24 @@ legends and colorbars so that they fit in the figure window while still preserving, as best they can, the logical layout requested by the user. -*constrained_layout* is similar to *tight_layout*, but uses a constraint -solver to determine the size of axes that allows them to fit. +*constrained_layout* is similar to +:doc:`tight_layout</tutorials/intermediate/tight_layout_guide>`, +but uses a constraint solver to determine the size of axes that allows +them to fit. + +*constrained_layout* needs to be activated before any axes are added to +a figure. Two ways of doing so are + +* using the respective argument to :func:`~.pyplot.subplots` or + :func:`~.pyplot.figure`, e.g.:: + + plt.subplots(contrained_layout=True) + +* activate it via :ref:`rcParams<matplotlib-rcparams>`, like:: + + plt.rcParams['figure.constrained_layout.use'] = True + +Those are described in detail throughout the following sections. .. warning:: @@ -83,7 +99,7 @@ def example_plot(ax, fontsize=12, nodec=False): example_plot(ax) ############################################################################### -# Specifying `constrained_layout=True` in the call to `plt.subplots` +# Specifying ``constrained_layout=True`` in the call to ``plt.subplots`` # causes the layout to be properly constrained. fig, axs = plt.subplots(2, 2, constrained_layout=True) @@ -102,9 +118,9 @@ def example_plot(ax, fontsize=12, nodec=False): # # .. note:: # -# For the `pcolormesh` kwargs (``pc_kwargs``) we use a dictionary. +# For the `~.axes.Axes.pcolormesh` kwargs (``pc_kwargs``) we use a dictionary. # Below we will assign one colorbar to a number of axes each containing -# a `ScalarMappable`; specifying the norm and colormap ensures +# a `~.cm.ScalarMappable`; specifying the norm and colormap ensures # the colorbar is accurate for all the axes. arr = np.arange(100).reshape((10, 10)) @@ -117,7 +133,8 @@ def example_plot(ax, fontsize=12, nodec=False): ############################################################################ # If you specify a list of axes (or other iterable container) to the -# ``ax`` argument of ``colorbar``, constrained_layout will take space from all # axes that share the same gridspec. +# ``ax`` argument of ``colorbar``, constrained_layout will take space from all +# axes that share the same gridspec. fig, axs = plt.subplots(2, 2, figsize=(4, 4), constrained_layout=True) for ax in axs.flatten(): @@ -153,7 +170,7 @@ def example_plot(ax, fontsize=12, nodec=False): # Suptitle # ========= # -# ``constrained_layout`` can also make room for ``suptitle``. +# ``constrained_layout`` can also make room for `~.figure.Figure.suptitle`. fig, axs = plt.subplots(2, 2, figsize=(4, 4), constrained_layout=True) for ax in axs.flatten(): @@ -165,10 +182,10 @@ def example_plot(ax, fontsize=12, nodec=False): # Legends # ======= # -# Legends can be placed outside -# of their parent axis. Constrained-layout is designed to handle this. +# Legends can be placed outside of their parent axis. +# Constrained-layout is designed to handle this for :meth:`.Axes.legend`. # However, constrained-layout does *not* handle legends being created via -# ``fig.legend()`` (yet). +# :meth:`.Figure.legend` (yet). fig, ax = plt.subplots(constrained_layout=True) ax.plot(np.arange(10), label='This is a plot') @@ -190,8 +207,8 @@ def example_plot(ax, fontsize=12, nodec=False): # For constrained_layout, we have implemented a padding around the edge of # each axes. This padding sets the distance from the edge of the plot, # and the minimum distance between adjacent plots. It is specified in -# inches by the keyword arguments `w_pad` and `h_pad` to the function -# `fig.set_constrained_layout_pads`: +# inches by the keyword arguments ``w_pad`` and ``h_pad`` to the function +# `~.figure.Figure.set_constrained_layout_pads`: fig, axs = plt.subplots(2, 2, constrained_layout=True) for ax in axs.flatten(): @@ -210,7 +227,7 @@ def example_plot(ax, fontsize=12, nodec=False): hspace=0., wspace=0.) ########################################## -# Spacing between subplots is set by `wspace` and `hspace`. There are +# Spacing between subplots is set by ``wspace`` and ``hspace``. There are # specified as a fraction of the size of the subplot group as a whole. # If the size of the figure is changed, then these spaces change in # proportion. Note in the blow how the space at the edges doesn't change from @@ -229,10 +246,10 @@ def example_plot(ax, fontsize=12, nodec=False): # Spacing with colorbars # ----------------------- # -# Colorbars still respect the `w_pad` and `h_pad` values. However they will -# be `wspace` and `hsapce` apart from other subplots. Note the use of a `pad` -# kwarg here in the `colorbar` call. It defaults to 0.02 of the size of the -# axis it is attached to. +# Colorbars still respect the ``w_pad`` and ``h_pad`` values. However they will +# be ``wspace`` and ``hsapce`` apart from other subplots. Note the use of a +# ``pad`` kwarg here in the ``colorbar`` call. It defaults to 0.02 of the size +# of the axis it is attached to. fig, axs = plt.subplots(2, 2, constrained_layout=True) for ax in axs.flatten(): @@ -246,7 +263,7 @@ def example_plot(ax, fontsize=12, nodec=False): ########################################## # In the above example, the colorbar will not ever be closer than 2 pts to # the plot, but if we want it a bit further away, we can specify its value -# for `pad` to be non-zero. +# for ``pad`` to be non-zero. fig, axs = plt.subplots(2, 2, constrained_layout=True) for ax in axs.flatten(): @@ -259,16 +276,16 @@ def example_plot(ax, fontsize=12, nodec=False): ########################################## # rcParams -# -------- +# ======== # -# There are five `rcParams` that can be set, either in a script -# or in the `matplotlibrc` file. They all have the prefix -# `figure.constrained_layout`: +# There are five :ref:`rcParams<matplotlib-rcparams>` that can be set, +# either in a script or in the `matplotlibrc` file. +# They all have the prefix ``figure.constrained_layout``: # -# - `use`: Whether to use constrained_layout. Default is False -# - `w_pad`, `h_pad` Padding around axes objects. +# - ``use``: Whether to use constrained_layout. Default is False +# - ``w_pad``, ``h_pad``: Padding around axes objects. # Float representing inches. Default is 3./72. inches (3 pts) -# - `wspace`, `hspace` Space between subplot groups. +# - ``wspace``, ``hspace``: Space between subplot groups. # Float representing a fraction of the subplot widths being separated. # Default is 0.02. @@ -296,7 +313,7 @@ def example_plot(ax, fontsize=12, nodec=False): example_plot(ax2) ############################################################################### -# More complicated gridspec layouts are possible... +# More complicated gridspec layouts are possible. fig = plt.figure(constrained_layout=True) @@ -377,9 +394,9 @@ def docomplicated(suptitle=None): # ================================ # # There can be good reasons to manually set an axes position. A manual call -# to `ax.set_position()` will set the axes so constrained_layout has no -# effect on it anymore. (Note that constrained_layout still leaves the space -# for the axes that is moved). +# to `~.axes.Axes.set_position` will set the axes so constrained_layout has +# no effect on it anymore. (Note that constrained_layout still leaves the +# space for the axes that is moved). fig, axs = plt.subplots(1, 2, constrained_layout=True) example_plot(axs[0], fontsize=12) @@ -387,7 +404,7 @@ def docomplicated(suptitle=None): ############################################################################### # If you want an inset axes in data-space, you need to manually execute the -# layout using `fig.execute_constrained_layout()` call. The inset figure +# layout using ``fig.execute_constrained_layout()`` call. The inset figure # will then be properly positioned. However, it will not be properly # positioned if the size of the figure is subsequently changed. Similarly, # if the figure is printed to another backend, there may be slight changes @@ -414,7 +431,7 @@ def docomplicated(suptitle=None): # # ``constrained_layout`` will not work on subplots # created via the `subplot` command. The reason is that each of these -# commands creates a separate `GridSpec` instance and `constrained_layout` +# commands creates a separate `GridSpec` instance and ``constrained_layout`` # uses (nested) gridspecs to carry out the layout. So the following fails # to yield a nice layout: @@ -520,33 +537,33 @@ def docomplicated(suptitle=None): # # Figures are laid out in a hierarchy: # -# 1. Figure: `fig = plt.figure()` +# 1. Figure: ``fig = plt.figure()`` # -# a. Gridspec `gs0 = gridspec.GridSpec(1, 2, figure=fig)` +# a. Gridspec ``gs0 = gridspec.GridSpec(1, 2, figure=fig)`` # -# i. Subplotspec: `ss = gs[0, 0]` +# i. Subplotspec: ``ss = gs[0, 0]`` # -# 1. Axes: `ax0 = fig.add_subplot(ss)` +# 1. Axes: ``ax0 = fig.add_subplot(ss)`` # -# ii. Subplotspec: `ss = gs[0, 1]` +# ii. Subplotspec: ``ss = gs[0, 1]`` # -# 1. Gridspec: `gsR = gridspec.GridSpecFromSubplotSpec(2, 1, ss)` +# 1. Gridspec: ``gsR = gridspec.GridSpecFromSubplotSpec(2, 1, ss)`` # -# - Subplotspec: ss = gsR[0, 0] +# - Subplotspec: ``ss = gsR[0, 0]`` # -# - Axes: `axR0 = fig.add_subplot(ss)` +# - Axes: ``axR0 = fig.add_subplot(ss)`` # -# - Subplotspec: ss = gsR[1, 0] +# - Subplotspec: ``ss = gsR[1, 0]`` # -# - Axes: `axR1 = fig.add_subplot(ss)` +# - Axes: ``axR1 = fig.add_subplot(ss)`` # # Each item has a layoutbox associated with it. The nesting of gridspecs # created with `.GridSpecFromSubplotSpec` can be arbitrarily deep. # -# Each ``~matplotlib.axes.Axes` has *two* layoutboxes. The first one, +# Each `~matplotlib.axes.Axes` has *two* layoutboxes. The first one, # ``ax._layoutbox`` represents the outside of the Axes and all its # decorations (i.e. ticklabels,axis labels, etc.). -# The second layoutbox corresponds to the Axes' `ax.position`, which sets +# The second layoutbox corresponds to the Axes' ``ax.position``, which sets # where in the figure the spines are placed. # # Why so many stacked containers? Ideally, all that would be needed are the @@ -569,8 +586,8 @@ def docomplicated(suptitle=None): # the difference between the red ``pos`` box and the green ``ax`` box # is set by the size of the decorations around the Axes. # -# In the code, this is accomplished by the entries in `.do_constrained_layout` -# like:: +# In the code, this is accomplished by the entries in +# ``do_constrained_layout()`` like:: # # ax._poslayoutbox.edit_left_margin_min(-bbox.x0 + pos.x0 + w_padt) # @@ -589,7 +606,7 @@ def docomplicated(suptitle=None): # much smaller than the left-hand, so the right-hand layoutboxes are smaller. # # The Subplotspec boxes are laid out in the code in the subroutine -# `.arange_subplotspecs`, which simply checks the subplotspecs in the code +# ``arange_subplotspecs()``, which simply checks the subplotspecs in the code # against one another and stacks them appropriately. # # The two ``pos`` axes are lined up. Because they have the same @@ -627,10 +644,10 @@ def docomplicated(suptitle=None): # number of columns (one in this example). # # The colorbar layout logic is contained in `~matplotlib.colorbar.make_axes` -# which calls `._constrained_layout.layoutcolorbarsingle` +# which calls ``_constrained_layout.layoutcolorbarsingle()`` # for cbars attached to a single axes, and -# `._constrained_layout.layoutcolorbargridspec` if the colorbar is associated -# with a gridspec. +# ``_constrained_layout.layoutcolorbargridspec()`` if the colorbar is +# associated with a gridspec. fig, ax = plt.subplots(1, 2, constrained_layout=True) im = ax[0].pcolormesh(arr, **pc_kwargs) @@ -644,7 +661,7 @@ def docomplicated(suptitle=None): # # This example shows the Subplotspec layoutboxes being made smaller by # a colorbar layoutbox. The size of the colorbar layoutbox is -# set to be *shrink* smaller than the vertical extent of the ``pos`` +# set to be ``shrink`` smaller than the vertical extent of the ``pos`` # layoutboxes in the gridspec, and it is made to be centered between # those two points. @@ -713,7 +730,7 @@ def docomplicated(suptitle=None): # the axes position in made the same size as the occupied Axes positions. # # This is done at the start of -# `~._constrained_layout.do_constrained_layout` (``hassubplotspec``). +# ``_constrained_layout.do_constrained_layout()`` (``hassubplotspec``). fig = plt.figure(constrained_layout=True) gs = gridspec.GridSpec(1, 3, figure=fig) diff --git a/tutorials/intermediate/tight_layout_guide.py b/tutorials/intermediate/tight_layout_guide.py index 04d7a045fc2f..b31b65ae4788 100644 --- a/tutorials/intermediate/tight_layout_guide.py +++ b/tutorials/intermediate/tight_layout_guide.py @@ -10,6 +10,9 @@ feature and may not work for some cases. It only checks the extents of ticklabels, axis labels, and titles. +An alternative to *tight_layout* is +:doc:`constrained_layout</tutorials/intermediate/constrainedlayout_guide>`. + Simple Example ============== diff --git a/tutorials/introductory/customizing.py b/tutorials/introductory/customizing.py index e721f2df8712..142550b0638b 100644 --- a/tutorials/introductory/customizing.py +++ b/tutorials/introductory/customizing.py @@ -91,6 +91,8 @@ plt.show() ############################################################################### +# .. _matplotlib-rcparams: +# # matplotlib rcParams # =================== # From ff4ac6ddfc9165b964354166838b77e0761f4c20 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Thu, 7 Jun 2018 15:49:22 +0200 Subject: [PATCH 0765/1161] Replace ACCEPTS by standard numpydoc params table. (In the cases where this is "easy".) --- lib/matplotlib/artist.py | 20 +-- lib/matplotlib/axes/_base.py | 18 +-- lib/matplotlib/axis.py | 73 ++++++--- lib/matplotlib/cm.py | 8 +- lib/matplotlib/collections.py | 51 ++++--- lib/matplotlib/container.py | 4 +- lib/matplotlib/figure.py | 31 ++-- lib/matplotlib/image.py | 43 ++++-- lib/matplotlib/legend.py | 1 - lib/matplotlib/lines.py | 127 ++++++++------- lib/matplotlib/patches.py | 100 +++++++----- lib/matplotlib/quiver.py | 4 +- lib/matplotlib/spines.py | 4 +- lib/matplotlib/table.py | 6 +- lib/matplotlib/tests/test_artist.py | 2 +- lib/matplotlib/text.py | 170 +++++++++++++-------- lib/mpl_toolkits/axisartist/axis_artist.py | 20 ++- lib/mpl_toolkits/mplot3d/art3d.py | 7 +- lib/mpl_toolkits/mplot3d/axes3d.py | 4 - 19 files changed, 410 insertions(+), 283 deletions(-) diff --git a/lib/matplotlib/artist.py b/lib/matplotlib/artist.py index c3a536c3560f..147815bc07af 100644 --- a/lib/matplotlib/artist.py +++ b/lib/matplotlib/artist.py @@ -301,7 +301,6 @@ def set_transform(self, t): Parameters ---------- t : `.Transform` - .. ACCEPTS: `.Transform` """ self._transform = t self._transformSet = True @@ -373,7 +372,6 @@ def set_contains(self, picker): Parameters ---------- picker : callable - .. ACCEPTS: a callable function """ self._contains = picker @@ -453,7 +451,6 @@ def set_picker(self, picker): Parameters ---------- picker : None or bool or float or callable - .. ACCEPTS: [None | bool | float | callable] """ self._picker = picker @@ -477,7 +474,6 @@ def set_url(self, url): Parameters ---------- url : str - .. ACCEPTS: a url string """ self._url = url @@ -492,7 +488,6 @@ def set_gid(self, gid): Parameters ---------- gid : str - .. ACCEPTS: an id string """ self._gid = gid @@ -530,7 +525,6 @@ def set_snap(self, snap): Parameters ---------- snap : bool or None - .. ACCEPTS: bool or None """ self._snap = snap self.stale = True @@ -591,7 +585,6 @@ def set_path_effects(self, path_effects): Parameters ---------- path_effects : `.AbstractPathEffect` - .. ACCEPTS: `.AbstractPathEffect` """ self._path_effects = path_effects self.stale = True @@ -610,7 +603,6 @@ def set_figure(self, fig): Parameters ---------- fig : `.Figure` - .. ACCEPTS: a `.Figure` instance """ # if this is a no-op just return if self.figure is fig: @@ -635,7 +627,6 @@ def set_clip_box(self, clipbox): Parameters ---------- clipbox : `.Bbox` - .. ACCEPTS: a `.Bbox` instance """ self.clipbox = clipbox self.pchanged() @@ -742,7 +733,6 @@ def set_clip_on(self, b): Parameters ---------- b : bool - .. ACCEPTS: bool """ self._clipon = b # This may result in the callbacks being hit twice, but ensures they @@ -773,7 +763,6 @@ def set_rasterized(self, rasterized): Parameters ---------- rasterized : bool or None - .. ACCEPTS: bool or None """ if rasterized and not hasattr(self.draw, "_supports_rasterization"): warnings.warn("Rasterization of '%s' will be ignored" % self) @@ -807,13 +796,11 @@ def draw(self, renderer, *args, **kwargs): def set_alpha(self, alpha): """ - Set the alpha value used for blending - not supported on - all backends. + Set the alpha value used for blending - not supported on all backends. Parameters ---------- alpha : float - .. ACCEPTS: float (0.0 transparent through 1.0 opaque) """ self._alpha = alpha self.pchanged() @@ -826,7 +813,6 @@ def set_visible(self, b): Parameters ---------- b : bool - .. ACCEPTS: bool """ self._visible = b self.pchanged() @@ -839,7 +825,6 @@ def set_animated(self, b): Parameters ---------- b : bool - .. ACCEPTS: bool """ if self._animated != b: self._animated = b @@ -895,8 +880,6 @@ def set_label(self, s): ---------- s : object *s* will be converted to a string by calling `str`. - - .. ACCEPTS: object """ if s is not None: self._label = str(s) @@ -917,7 +900,6 @@ def set_zorder(self, level): Parameters ---------- level : float - .. ACCEPTS: float """ if level is None: level = self.__class__.zorder diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index d2f5a694088d..db9d71a5659f 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -1363,11 +1363,9 @@ def set_anchor(self, anchor, share=False): anchor defines where the drawing area will be located within the available space. - .. ACCEPTS: [ 'C' | 'SW' | 'S' | 'SE' | 'E' | 'NE' | 'N' | 'NW' | 'W' ] - Parameters ---------- - anchor : str or 2-tuple of floats + anchor : 2-tuple of floats or {'C', 'SW', 'S', 'SE', ...} The anchor position may be either: - a sequence (*cx*, *cy*). *cx* and *cy* may range from 0 @@ -3145,11 +3143,9 @@ def set_xscale(self, value, **kwargs): """ Set the x-axis scale. - .. ACCEPTS: [ 'linear' | 'log' | 'symlog' | 'logit' | ... ] - Parameters ---------- - value : {"linear", "log", "symlog", "logit"} + value : {"linear", "log", "symlog", "logit", ...} scaling strategy to apply Notes @@ -3183,8 +3179,6 @@ def set_xticks(self, ticks, minor=False): """ Set the x ticks with list of *ticks* - .. ACCEPTS: list of tick locations. - Parameters ---------- ticks : list @@ -3482,11 +3476,9 @@ def set_yscale(self, value, **kwargs): """ Set the y-axis scale. - .. ACCEPTS: [ 'linear' | 'log' | 'symlog' | 'logit' | ... ] - Parameters ---------- - value : {"linear", "log", "symlog", "logit"} + value : {"linear", "log", "symlog", "logit", ...} scaling strategy to apply Notes @@ -3519,11 +3511,9 @@ def set_yticks(self, ticks, minor=False): """ Set the y ticks with list of *ticks* - .. ACCEPTS: list of tick locations. - Parameters ---------- - ticks : sequence + ticks : list List of y-axis tick locations minor : bool, optional diff --git a/lib/matplotlib/axis.py b/lib/matplotlib/axis.py index a659507b9b08..8ca2209b3a0f 100644 --- a/lib/matplotlib/axis.py +++ b/lib/matplotlib/axis.py @@ -251,7 +251,9 @@ def set_pad(self, val): """ Set the tick label pad in points - ACCEPTS: float + Parameters + ---------- + val : float """ self._apply_params(pad=val) self.stale = True @@ -308,9 +310,11 @@ def draw(self, renderer): def set_label1(self, s): """ - Set the text of ticklabel + Set the label1 text. - ACCEPTS: str + Parameters + ---------- + s : str """ self.label1.set_text(s) self.stale = True @@ -319,9 +323,11 @@ def set_label1(self, s): def set_label2(self, s): """ - Set the text of ticklabel2 + Set the label2 text. - ACCEPTS: str + Parameters + ---------- + s : str """ self.label2.set_text(s) self.stale = True @@ -1538,7 +1544,8 @@ def get_units(self): return self.units def set_label_text(self, label, fontdict=None, **kwargs): - """ Sets the text value of the axis label + """ + Set the text value of the axis label. ACCEPTS: A string value for the label """ @@ -1552,9 +1559,11 @@ def set_label_text(self, label, fontdict=None, **kwargs): def set_major_formatter(self, formatter): """ - Set the formatter of the major ticker + Set the formatter of the major ticker. - ACCEPTS: A :class:`~matplotlib.ticker.Formatter` instance + Parameters + ---------- + formatter : ~matplotlib.ticker.Formatter """ if not isinstance(formatter, mticker.Formatter): raise TypeError("formatter argument should be instance of " @@ -1566,9 +1575,11 @@ def set_major_formatter(self, formatter): def set_minor_formatter(self, formatter): """ - Set the formatter of the minor ticker + Set the formatter of the minor ticker. - ACCEPTS: A :class:`~matplotlib.ticker.Formatter` instance + Parameters + ---------- + formatter : ~matplotlib.ticker.Formatter """ if not isinstance(formatter, mticker.Formatter): raise TypeError("formatter argument should be instance of " @@ -1580,9 +1591,11 @@ def set_minor_formatter(self, formatter): def set_major_locator(self, locator): """ - Set the locator of the major ticker + Set the locator of the major ticker. - ACCEPTS: a :class:`~matplotlib.ticker.Locator` instance + Parameters + ---------- + locator : ~matplotlib.ticker.Locator """ if not isinstance(locator, mticker.Locator): raise TypeError("formatter argument should be instance of " @@ -1594,9 +1607,11 @@ def set_major_locator(self, locator): def set_minor_locator(self, locator): """ - Set the locator of the minor ticker + Set the locator of the minor ticker. - ACCEPTS: a :class:`~matplotlib.ticker.Locator` instance + Parameters + ---------- + locator : ~matplotlib.ticker.Locator """ if not isinstance(locator, mticker.Locator): raise TypeError("formatter argument should be instance of " @@ -1608,9 +1623,11 @@ def set_minor_locator(self, locator): def set_pickradius(self, pickradius): """ - Set the depth of the axis used by the picker + Set the depth of the axis used by the picker. - ACCEPTS: a distance in points + Parameters + ---------- + pickradius : float """ self.pickradius = pickradius @@ -1749,7 +1766,9 @@ def set_label_position(self, position): """ Set the label position (top or bottom) - ACCEPTS: [ 'top' | 'bottom' ] + Parameters + ---------- + position : {'top', 'bottom'} """ raise NotImplementedError() @@ -1859,7 +1878,9 @@ def set_label_position(self, position): """ Set the label position (top or bottom) - ACCEPTS: [ 'top' | 'bottom' ] + Parameters + ---------- + position : {'top', 'bottom'} """ if position == 'top': self.label.set_verticalalignment('baseline') @@ -1978,7 +1999,9 @@ def set_ticks_position(self, position): can be used if you don't want any ticks. 'none' and 'both' affect only the ticks, not the labels. - ACCEPTS: [ 'top' | 'bottom' | 'both' | 'default' | 'none' ] + Parameters + ---------- + position : {'top', 'bottom', 'both', 'default', 'none'} """ if position == 'top': self.set_tick_params(which='both', top=True, labeltop=True, @@ -2226,7 +2249,9 @@ def set_label_position(self, position): """ Set the label position (left or right) - ACCEPTS: [ 'left' | 'right' ] + Parameters + ---------- + position : {'left', 'right'} """ self.label.set_rotation_mode('anchor') self.label.set_horizontalalignment('center') @@ -2313,7 +2338,9 @@ def _update_offset_text_position(self, bboxes, bboxes2): def set_offset_position(self, position): """ - .. ACCEPTS: [ 'left' | 'right' ] + Parameters + ---------- + position : {'left', 'right'} """ x, y = self.offsetText.get_position() if position == 'left': @@ -2354,7 +2381,9 @@ def set_ticks_position(self, position): can be used if you don't want any ticks. 'none' and 'both' affect only the ticks, not the labels. - ACCEPTS: [ 'left' | 'right' | 'both' | 'default' | 'none' ] + Parameters + ---------- + position : {'left', 'right', 'both', 'default', 'none'} """ if position == 'right': self.set_tick_params(which='both', right=True, labelright=True, diff --git a/lib/matplotlib/cm.py b/lib/matplotlib/cm.py index 4e8abedf1e9e..3eb4860c98ce 100644 --- a/lib/matplotlib/cm.py +++ b/lib/matplotlib/cm.py @@ -275,8 +275,6 @@ def to_rgba(self, x, alpha=None, bytes=False, norm=True): def set_array(self, A): """Set the image array from numpy array *A*. - .. ACCEPTS: ndarray - Parameters ---------- A : ndarray @@ -320,7 +318,9 @@ def set_cmap(self, cmap): """ set the colormap for luminance data - ACCEPTS: a colormap or registered colormap name + Parameters + ---------- + cmap : colormap or registered colormap name """ cmap = get_cmap(cmap) self.cmap = cmap @@ -329,8 +329,6 @@ def set_cmap(self, cmap): def set_norm(self, norm): """Set the normalization instance. - .. ACCEPTS: `.Normalize` - Parameters ---------- norm : `.Normalize` diff --git a/lib/matplotlib/collections.py b/lib/matplotlib/collections.py index 59f6bfca5986..6dc4ec4152ff 100644 --- a/lib/matplotlib/collections.py +++ b/lib/matplotlib/collections.py @@ -338,8 +338,6 @@ def draw(self, renderer): def set_pickradius(self, pr): """Set the pick radius used for containment tests. - .. ACCEPTS: float distance in points - Parameters ---------- d : float @@ -384,7 +382,6 @@ def set_urls(self, urls): Parameters ---------- urls : List[str] or None - .. ACCEPTS: List[str] or None """ self._urls = urls if urls is not None else [None] self.stale = True @@ -420,7 +417,9 @@ def set_hatch(self, hatch): can only be specified for the collection as a whole, not separately for each member. - ACCEPTS: [ '/' | '\\' | '|' | '-' | '+' | 'x' | 'o' | 'O' | '.' | '*' ] + Parameters + ---------- + hatch : {'/', '\\', '|', '-', '+', 'x', 'o', 'O', '.', '*'} """ self._hatch = hatch self.stale = True @@ -434,7 +433,9 @@ def set_offsets(self, offsets): Set the offsets for the collection. *offsets* can be a scalar or a sequence. - ACCEPTS: float or sequence of floats + Parameters + ---------- + offsets : float or sequence of floats """ offsets = np.asanyarray(offsets, float) if offsets.shape == (2,): # Broadcast (2,) -> (1, 2) but nothing else. @@ -462,7 +463,9 @@ def set_offset_position(self, offset_position): If offset_position is 'data', the offset is applied before the master transform, i.e., the offsets are in data coordinates. - .. ACCEPTS: [ 'screen' | 'data' ] + Parameters + ---------- + offset_position : {'screen', 'data'} """ if offset_position not in ('screen', 'data'): raise ValueError("offset_position must be 'screen' or 'data'") @@ -486,7 +489,9 @@ def set_linewidth(self, lw): or a sequence; if it is a sequence the patches will cycle through the sequence - ACCEPTS: float or sequence of floats + Parameters + ---------- + lw : float or sequence of floats """ if lw is None: lw = mpl.rcParams['patch.linewidth'] @@ -517,17 +522,11 @@ def set_linestyle(self, ls): (offset, onoffseq), - where ``onoffseq`` is an even length tuple of on and off ink - in points. - - ACCEPTS: ['solid' | 'dashed', 'dashdot', 'dotted' | - (offset, on-off-dash-seq) | - ``'-'`` | ``'--'`` | ``'-.'`` | ``':'`` | ``'None'`` | - ``' '`` | ``''``] + where ``onoffseq`` is an even length tuple of on and off ink in points. Parameters ---------- - ls : { '-', '--', '-.', ':'} and more see description + ls : {'-', '--', '-.', ':', '', (offset, on-off-seq), ...} The line style. """ try: @@ -631,7 +630,9 @@ def set_antialiased(self, aa): """ Set the antialiasing state for rendering. - ACCEPTS: Boolean or sequence of booleans + Parameters + ---------- + aa : bool or sequence of bools """ if aa is None: aa = mpl.rcParams['patch.antialiased'] @@ -642,12 +643,14 @@ def set_color(self, c): """ Set both the edgecolor and the facecolor. - ACCEPTS: matplotlib color arg or sequence of rgba tuples - .. seealso:: :meth:`set_facecolor`, :meth:`set_edgecolor` For setting the edge or face color individually. + + Parameters + ---------- + c : matplotlib color arg or sequence of rgba tuples """ self.set_facecolor(c) self.set_edgecolor(c) @@ -674,7 +677,9 @@ def set_facecolor(self, c): If *c* is 'none', the patch will not be filled. - ACCEPTS: matplotlib color spec or sequence of specs + Parameters + ---------- + c : color or sequence of colors """ self._original_facecolor = c self._set_facecolor(c) @@ -727,7 +732,9 @@ def set_edgecolor(self, c): the face color. If it is 'none', the patch boundary will not be drawn. - ACCEPTS: matplotlib color spec or sequence of specs + Parameters + ---------- + c : color or sequence of colors """ self._original_edgecolor = c self._set_edgecolor(c) @@ -737,7 +744,9 @@ def set_alpha(self, alpha): Set the alpha tranparencies of the collection. *alpha* must be a float or *None*. - ACCEPTS: float or None + Parameters + ---------- + alpha : float or None """ if alpha is not None: try: diff --git a/lib/matplotlib/container.py b/lib/matplotlib/container.py index 73ce21355fa8..552d6da5a761 100644 --- a/lib/matplotlib/container.py +++ b/lib/matplotlib/container.py @@ -50,7 +50,9 @@ def set_label(self, s): """ Set the label to *s* for auto legend. - ACCEPTS: string or anything printable with '%s' conversion. + Parameters + ---------- + s : string or anything printable with '%s' conversion. """ if s is not None: self._label = '%s' % (s, ) diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index e898f9082acd..718ad11803f9 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -488,11 +488,6 @@ def set_tight_layout(self, tight): If ``None``, use the ``figure.autolayout`` rcparam instead. If a dict, pass it as kwargs to `.tight_layout`, overriding the default paddings. - - .. - ACCEPTS: [ bool - | dict with keys "pad", "w_pad", "h_pad", "rect" - | None ] """ if tight is None: tight = rcParams['figure.autolayout'] @@ -518,9 +513,11 @@ def set_constrained_layout(self, constrained): overridden. These pads are in inches and default to 3.0/72.0. ``w_pad`` is the width padding and ``h_pad`` is the height padding. - ACCEPTS: [True | False | dict | None ] - See :doc:`/tutorials/intermediate/constrainedlayout_guide`. + + Parameters + ---------- + constrained : bool or dict or None """ self._constrained_layout_pads = dict() self._constrained_layout_pads['w_pad'] = None @@ -778,7 +775,9 @@ def set_canvas(self, canvas): """ Set the canvas that contains the figure - ACCEPTS: a FigureCanvas instance + Parameters + ---------- + canvas : FigureCanvas """ self.canvas = canvas @@ -951,7 +950,9 @@ def set_edgecolor(self, color): """ Set the edge color of the Figure rectangle. - ACCEPTS: any matplotlib color - see help(colors) + Parameters + ---------- + color : color """ self.patch.set_edgecolor(color) @@ -959,7 +960,9 @@ def set_facecolor(self, color): """ Set the face color of the Figure rectangle. - ACCEPTS: any matplotlib color - see help(colors) + Parameters + ---------- + color : color """ self.patch.set_facecolor(color) @@ -967,7 +970,9 @@ def set_dpi(self, val): """ Set the resolution of the figure in dots-per-inch. - .. ACCEPTS: float + Parameters + ---------- + val : float """ self.dpi = val self.stale = True @@ -992,7 +997,9 @@ def set_frameon(self, b): """ Set whether the figure frame (background) is displayed or invisible. - ACCEPTS: boolean + Parameters + ---------- + b : bool """ self.frameon = b self.stale = True diff --git a/lib/matplotlib/image.py b/lib/matplotlib/image.py index d616a1572bd3..5e25d7aa2531 100644 --- a/lib/matplotlib/image.py +++ b/lib/matplotlib/image.py @@ -237,10 +237,11 @@ def get_size(self): def set_alpha(self, alpha): """ - Set the alpha value used for blending - not supported on - all backends + Set the alpha value used for blending - not supported on all backends. - ACCEPTS: float + Parameters + ---------- + alpha : float """ martist.Artist.set_alpha(self, alpha) self._imcache = None @@ -620,9 +621,11 @@ def set_data(self, A): """ Set the image array. - ACCEPTS: numpy/PIL Image A - Note that this function does *not* update the normalization used. + + Parameters + ---------- + A : array-like """ # check if data is PIL Image without importing Image if hasattr(A, 'getpixel'): @@ -665,13 +668,14 @@ def set_data(self, A): def set_array(self, A): """ - Retained for backwards compatibility - use set_data instead + Retained for backwards compatibility - use set_data instead. - ACCEPTS: numpy array A or PIL Image + Parameters + ---------- + A : array-like """ # This also needs to be here to override the inherited - # cm.ScalarMappable.set_array method so it is not invoked - # by mistake. + # cm.ScalarMappable.set_array method so it is not invoked by mistake. self.set_data(A) @@ -695,10 +699,11 @@ def set_interpolation(self, s): agg, ps and pdf backends and will fall back to 'nearest' mode for other backends. - .. ACCEPTS: ['nearest' | 'bilinear' | 'bicubic' | 'spline16' | - 'spline36' | 'hanning' | 'hamming' | 'hermite' | 'kaiser' | - 'quadric' | 'catrom' | 'gaussian' | 'bessel' | 'mitchell' | - 'sinc' | 'lanczos' | 'none' ] + Parameters + ---------- + s : {'nearest', 'bilinear', 'bicubic', 'spline16', 'spline36', \ +'hanning', 'hamming', 'hermite', 'kaiser', 'quadric', 'catrom', 'gaussian', \ +'bessel', 'mitchell', 'sinc', 'lanczos', 'none'} """ if s is None: @@ -723,7 +728,9 @@ def set_resample(self, v): """ Set whether or not image resampling is used. - ACCEPTS: True|False + Parameters + ---------- + v : bool """ if v is None: v = rcParams['image.resample'] @@ -740,7 +747,9 @@ def set_filternorm(self, filternorm): See help for `~.Axes.imshow`. - .. ACCEPTS: bool + Parameters + ---------- + filternorm : bool """ self._filternorm = bool(filternorm) self.stale = True @@ -754,7 +763,9 @@ def set_filterrad(self, filterrad): Set the resize filter radius only applicable to some interpolation schemes -- see help for imshow - ACCEPTS: positive float + Parameters + ---------- + filterrad : positive float """ r = float(filterrad) if r <= 0: diff --git a/lib/matplotlib/legend.py b/lib/matplotlib/legend.py index 5d2a50035360..25a57a5e6e98 100644 --- a/lib/matplotlib/legend.py +++ b/lib/matplotlib/legend.py @@ -991,7 +991,6 @@ def set_frame_on(self, b): Parameters ---------- b : bool - .. ACCEPTS: bool """ self._drawFrame = b self.stale = True diff --git a/lib/matplotlib/lines.py b/lib/matplotlib/lines.py index b9769574dc90..6736e616b680 100644 --- a/lib/matplotlib/lines.py +++ b/lib/matplotlib/lines.py @@ -504,8 +504,6 @@ def get_pickradius(self): def set_pickradius(self, d): """Set the pick radius used for containment tests. - .. ACCEPTS: float distance in points - Parameters ---------- d : float @@ -524,7 +522,9 @@ def set_fillstyle(self, fs): Set the marker fill style; 'full' means fill the whole marker. 'none' means no filling; other options are for half-filled markers. - ACCEPTS: ['full' | 'left' | 'right' | 'bottom' | 'top' | 'none'] + Parameters + ---------- + fs : {'full', 'left', 'right', 'bottom', 'top', 'none'} """ self._marker.set_fillstyle(fs) self.stale = True @@ -534,13 +534,10 @@ def set_markevery(self, every): e.g., if `every=5`, every 5-th marker will be plotted. - ACCEPTS: [None | int | length-2 tuple of int | slice | - list/array of int | float | length-2 tuple of float] - Parameters ---------- - every: None | int | length-2 tuple of int | slice | list/array of int \ -| float | length-2 tuple of float + every: None or int or (int, int) or slice or List[int] or float or \ +(float, float) Which markers to plot. - every=None, every point will be plotted. @@ -549,7 +546,7 @@ def set_markevery(self, every): - every=(start, N), every N-th marker, starting at point start, will be plotted. - every=slice(start, end, N), every N-th marker, starting at - point start, upto but not including point end, will be plotted. + point start, up to but not including point end, will be plotted. - every=[i, j, m, n], only markers at points i, j, m, and n will be plotted. - every=0.1, (i.e. a float) then markers will be spaced at @@ -591,8 +588,10 @@ def get_markevery(self): def set_picker(self, p): """Sets the event picker details for the line. - ACCEPTS: float distance in points or callable pick function - ``fn(artist, event)`` + Parameters + ---------- + p : float or callable[[Artist, Event], Tuple[bool, dict]] + If a float, it is used as the pick radius in points. """ if callable(p): self._contains = p @@ -711,7 +710,9 @@ def set_transform(self, t): """ set the Transformation instance used by this artist - ACCEPTS: a :class:`matplotlib.transforms.Transform` instance + Parameters + ---------- + t : matplotlib.transforms.Transform """ Artist.set_transform(self, t) self._invalidx = True @@ -952,7 +953,6 @@ def set_antialiased(self, b): Parameters ---------- b : bool - .. ACCEPTS: bool """ if self._antialiased != b: self.stale = True @@ -962,7 +962,9 @@ def set_color(self, color): """ Set the color of the line - ACCEPTS: any matplotlib color + Parameters + ---------- + color : color """ self._color = color self.stale = True @@ -975,8 +977,10 @@ def set_drawstyle(self, drawstyle): produce step-plots. 'steps' is equivalent to 'steps-pre' and is maintained for backward-compatibility. - ACCEPTS: ['default' | 'steps' | 'steps-pre' | 'steps-mid' | - 'steps-post'] + Parameters + ---------- + drawstyle : {'default', 'steps', 'steps-pre', 'steps-mid', \ +'steps-post'} """ if drawstyle is None: drawstyle = 'default' @@ -992,7 +996,9 @@ def set_linewidth(self, w): """ Set the line width in points - ACCEPTS: float value in points + Parameters + ---------- + w : float """ w = float(w) @@ -1053,14 +1059,7 @@ def set_linestyle(self, ls): (offset, onoffseq), - where ``onoffseq`` is an even length tuple of on and off ink - in points. - - - ACCEPTS: ['solid' | 'dashed', 'dashdot', 'dotted' | - (offset, on-off-dash-seq) | - ``'-'`` | ``'--'`` | ``'-.'`` | ``':'`` | ``'None'`` | - ``' '`` | ``''``] + where ``onoffseq`` is an even length tuple of on and off ink in points. .. seealso:: @@ -1069,7 +1068,7 @@ def set_linestyle(self, ls): Parameters ---------- - ls : { ``'-'``, ``'--'``, ``'-.'``, ``':'``} and more see description + ls : {'-', '--', '-.', ':', '', (offset, on-off-seq), ...} The line style. """ if isinstance(ls, str): @@ -1100,26 +1099,24 @@ def set_linestyle(self, ls): @docstring.dedent_interpd def set_marker(self, marker): """ - Set the line marker - - ACCEPTS: :mod:`A valid marker style <matplotlib.markers>` + Set the line marker. Parameters ---------- - marker: marker style See `~matplotlib.markers` for full description of possible - argument - + arguments. """ self._marker.set_marker(marker) self.stale = True def set_markeredgecolor(self, ec): """ - Set the marker edge color + Set the marker edge color. - ACCEPTS: any matplotlib color + Parameters + ---------- + ec : color """ if ec is None: ec = 'auto' @@ -1130,9 +1127,11 @@ def set_markeredgecolor(self, ec): def set_markeredgewidth(self, ew): """ - Set the marker edge width in points + Set the marker edge width in points. - ACCEPTS: float value in points + Parameters + ---------- + ew : float """ if ew is None: ew = rcParams['lines.markeredgewidth'] @@ -1144,7 +1143,9 @@ def set_markerfacecolor(self, fc): """ Set the marker face color. - ACCEPTS: any matplotlib color + Parameters + ---------- + fc : color """ if fc is None: fc = 'auto' @@ -1156,7 +1157,9 @@ def set_markerfacecoloralt(self, fc): """ Set the alternate marker face color. - ACCEPTS: any matplotlib color + Parameters + ---------- + fc : color """ if fc is None: fc = 'auto' @@ -1166,9 +1169,11 @@ def set_markerfacecoloralt(self, fc): def set_markersize(self, sz): """ - Set the marker size in points + Set the marker size in points. - ACCEPTS: float + Parameters + ---------- + sz : float """ sz = float(sz) if self._markersize != sz: @@ -1177,9 +1182,11 @@ def set_markersize(self, sz): def set_xdata(self, x): """ - Set the data np.array for x + Set the data array for x. - ACCEPTS: 1D array + Parameters + ---------- + x : 1D array """ self._xorig = x self._invalidx = True @@ -1187,9 +1194,11 @@ def set_xdata(self, x): def set_ydata(self, y): """ - Set the data np.array for y + Set the data array for y. - ACCEPTS: 1D array + Parameters + ---------- + y : 1D array """ self._yorig = y self._invalidy = True @@ -1201,7 +1210,9 @@ def set_dashes(self, seq): points. If seq is empty or if seq = (None, None), the linestyle will be set to solid. - ACCEPTS: sequence of on/off ink in points + Parameters + ---------- + seq : sequence of floats (on/off ink in points) or (None, None) """ if seq == (None, None) or len(seq) == 0: self.set_linestyle('-') @@ -1238,8 +1249,11 @@ def _get_rgba_face(self, alt=False): def set_dash_joinstyle(self, s): """ - Set the join style for dashed linestyles - ACCEPTS: ['miter' | 'round' | 'bevel'] + Set the join style for dashed linestyles. + + Parameters + ---------- + s : {'miter', 'round', 'bevel'} """ s = s.lower() if s not in self.validJoin: @@ -1251,8 +1265,11 @@ def set_dash_joinstyle(self, s): def set_solid_joinstyle(self, s): """ - Set the join style for solid linestyles - ACCEPTS: ['miter' | 'round' | 'bevel'] + Set the join style for solid linestyles. + + Parameters + ---------- + s : {'miter', 'round', 'bevel'} """ s = s.lower() if s not in self.validJoin: @@ -1277,9 +1294,11 @@ def get_solid_joinstyle(self): def set_dash_capstyle(self, s): """ - Set the cap style for dashed linestyles + Set the cap style for dashed linestyles. - ACCEPTS: ['butt' | 'round' | 'projecting'] + Parameters + ---------- + s : {'butt', 'round', 'projecting'} """ s = s.lower() if s not in self.validCap: @@ -1291,9 +1310,11 @@ def set_dash_capstyle(self, s): def set_solid_capstyle(self, s): """ - Set the cap style for solid linestyles + Set the cap style for solid linestyles. - ACCEPTS: ['butt' | 'round' | 'projecting'] + Parameters + ---------- + s : {'butt', 'round', 'projecting'} """ s = s.lower() if s not in self.validCap: diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index 9c5c2f3b7ed6..552fb5d61e29 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -246,7 +246,6 @@ def set_antialiased(self, aa): Parameters ---------- b : bool or None - .. ACCEPTS: bool or None """ if aa is None: aa = mpl.rcParams['patch.antialiased'] @@ -270,9 +269,11 @@ def _set_edgecolor(self, color): def set_edgecolor(self, color): """ - Set the patch edge color + Set the patch edge color. - ACCEPTS: mpl color spec, None, 'none', or 'auto' + Parameters + ---------- + color : color or None or 'auto' """ self._original_edgecolor = color self._set_edgecolor(color) @@ -286,9 +287,11 @@ def _set_facecolor(self, color): def set_facecolor(self, color): """ - Set the patch face color + Set the patch face color. - ACCEPTS: mpl color spec, or None for default, or 'none' for no color + Parameters + ---------- + color : color or None """ self._original_facecolor = color self._set_facecolor(color) @@ -297,12 +300,14 @@ def set_color(self, c): """ Set both the edgecolor and the facecolor. - ACCEPTS: matplotlib color spec - .. seealso:: :meth:`set_facecolor`, :meth:`set_edgecolor` For setting the edge or face color individually. + + Parameters + ---------- + c : color """ self.set_facecolor(c) self.set_edgecolor(c) @@ -311,7 +316,9 @@ def set_alpha(self, alpha): """ Set the alpha transparency of the patch. - ACCEPTS: float or None + Parameters + ---------- + alpha : float or None """ if alpha is not None: try: @@ -343,7 +350,7 @@ def set_linewidth(self, w): def set_linestyle(self, ls): """ - Set the patch linestyle + Set the patch linestyle. =========================== ================= linestyle description @@ -358,17 +365,11 @@ def set_linestyle(self, ls): (offset, onoffseq), - where ``onoffseq`` is an even length tuple of on and off ink - in points. - - ACCEPTS: ['solid' | 'dashed', 'dashdot', 'dotted' | - (offset, on-off-dash-seq) | - ``'-'`` | ``'--'`` | ``'-.'`` | ``':'`` | ``'None'`` | - ``' '`` | ``''``] + where ``onoffseq`` is an even length tuple of on and off ink in points. Parameters ---------- - ls : { '-', '--', '-.', ':'} and more see description + ls : {'-', '--', '-.', ':', '', (offset, on-off-seq), ...} The line style. """ if ls is None: @@ -388,7 +389,6 @@ def set_fill(self, b): Parameters ---------- b : bool - .. ACCEPTS: bool """ self._fill = bool(b) self._set_facecolor(self._original_facecolor) @@ -408,7 +408,9 @@ def set_capstyle(self, s): """ Set the patch capstyle - ACCEPTS: ['butt' | 'round' | 'projecting'] + Parameters + ---------- + s : {'butt', 'round', 'projecting'} """ s = s.lower() if s not in self.validCap: @@ -425,7 +427,9 @@ def set_joinstyle(self, s): """ Set the patch joinstyle - ACCEPTS: ['miter' | 'round' | 'bevel'] + Parameters + ---------- + s : {'miter', 'round', 'bevel'} """ s = s.lower() if s not in self.validJoin: @@ -439,13 +443,13 @@ def get_joinstyle(self): return self._joinstyle def set_hatch(self, hatch): - """ + r""" Set the hatching pattern *hatch* can be one of:: / - diagonal hatching - \\ - back diagonal + \ - back diagonal | - vertical - - horizontal + - crossed @@ -462,7 +466,9 @@ def set_hatch(self, hatch): Hatching is supported in the PostScript, PDF, SVG and Agg backends only. - ACCEPTS: ['/' | '\\\\' | '|' | '-' | '+' | 'x' | 'o' | 'O' | '.' | '*'] + Parameters + ---------- + hatch : {'/', '\\', '|', '-', '+', 'x', 'o', 'O', '.', '*'} """ self._hatch = hatch self.stale = True @@ -738,9 +744,11 @@ def set_y(self, y): def set_xy(self, xy): """ - Set the left and bottom coords of the rectangle + Set the left and bottom coords of the rectangle. - ACCEPTS: 2-item sequence + Parameters + ---------- + xy : 2-item sequence """ self._x0, self._y0 = xy self._update_x1() @@ -1462,9 +1470,11 @@ def get_patch_transform(self): def set_center(self, xy): """ - Set the center of the ellipse + Set the center of the ellipse. - ACCEPTS: (x, y) + Parameters + ---------- + xy : (float, float) """ self._center = xy self.stale = True @@ -1506,7 +1516,9 @@ def set_radius(self, radius): """ Set the radius of the circle - ACCEPTS: float + Parameters + ---------- + radius : float """ self.width = self.height = 2 * radius self.stale = True @@ -2495,7 +2507,9 @@ def set_mutation_scale(self, scale): """ Set the mutation scale. - ACCEPTS: float + Parameters + ---------- + scale : float """ self._mutation_scale = scale self.stale = True @@ -2510,7 +2524,9 @@ def set_mutation_aspect(self, aspect): """ Set the aspect ratio of the bbox mutation. - ACCEPTS: float + Parameters + ---------- + aspect : float """ self._mutation_aspect = aspect self.stale = True @@ -2556,36 +2572,44 @@ def get_height(self): def set_x(self, x): """ - Set the left coord of the rectangle + Set the left coord of the rectangle. - ACCEPTS: float + Parameters + ---------- + x : float """ self._x = x self.stale = True def set_y(self, y): """ - Set the bottom coord of the rectangle + Set the bottom coord of the rectangle. - ACCEPTS: float + Parameters + ---------- + y : float """ self._y = y self.stale = True def set_width(self, w): """ - Set the width rectangle + Set the rectangle width. - ACCEPTS: float + Parameters + ---------- + w : float """ self._width = w self.stale = True def set_height(self, h): """ - Set the width rectangle + Set the rectangle height. - ACCEPTS: float + Parameters + ---------- + h : float """ self._height = h self.stale = True diff --git a/lib/matplotlib/quiver.py b/lib/matplotlib/quiver.py index 65a34c0874cb..68d7073b0063 100644 --- a/lib/matplotlib/quiver.py +++ b/lib/matplotlib/quiver.py @@ -1182,7 +1182,9 @@ def set_offsets(self, xy): in and actually sets version masked as appropriate for the existing U/V data. *offsets* should be a sequence. - ACCEPTS: sequence of pairs of floats + Parameters + ---------- + offsets : sequence of pairs of floats """ self.x = xy[:, 0] self.y = xy[:, 1] diff --git a/lib/matplotlib/spines.py b/lib/matplotlib/spines.py index a47c14a90073..a8560937bfa1 100644 --- a/lib/matplotlib/spines.py +++ b/lib/matplotlib/spines.py @@ -523,7 +523,9 @@ def set_color(self, c): """ Set the edgecolor. - ACCEPTS: matplotlib color arg or sequence of rgba tuples + Parameters + ---------- + c : color or sequence of rgba tuples .. seealso:: diff --git a/lib/matplotlib/table.py b/lib/matplotlib/table.py index cc5a27e2bfd9..885aa7b0cf06 100644 --- a/lib/matplotlib/table.py +++ b/lib/matplotlib/table.py @@ -497,9 +497,11 @@ def scale(self, xscale, yscale): def set_fontsize(self, size): """ - Set the fontsize of the cell text + Set the font size, in points, of the cell text. - ACCEPTS: a float in points + Parameters + ---------- + size : float """ for cell in self._cells.values(): diff --git a/lib/matplotlib/tests/test_artist.py b/lib/matplotlib/tests/test_artist.py index 75647666c7dc..c7a4b565c510 100644 --- a/lib/matplotlib/tests/test_artist.py +++ b/lib/matplotlib/tests/test_artist.py @@ -244,7 +244,7 @@ def test_setp(): # Check `file` argument sio = io.StringIO() plt.setp(lines1, 'zorder', file=sio) - assert sio.getvalue() == ' zorder: float \n' + assert sio.getvalue() == ' zorder: float\n' def test_None_zorder(): diff --git a/lib/matplotlib/text.py b/lib/matplotlib/text.py index bc78acc40cb4..477ea3eb6bef 100644 --- a/lib/matplotlib/text.py +++ b/lib/matplotlib/text.py @@ -245,11 +245,9 @@ def set_rotation_mode(self, m): """ Set text rotation mode. - .. ACCEPTS: [ None | "default" | "anchor" ] - Parameters ---------- - m : ``None`` or ``"default"`` or ``"anchor"`` + m : {None, 'default', 'anchor'} If ``None`` or ``"default"``, the text will be first rotated, then aligned according to their horizontal and vertical alignments. If ``"anchor"``, then alignment occurs before rotation. @@ -440,7 +438,9 @@ def set_bbox(self, rectprops): The default boxstyle is 'square'. The mutation scale of the FancyBboxPatch is set to the fontsize. - ACCEPTS: FancyBboxPatch prop dict + Parameters + ---------- + rectprops : FancyBboxPatch prop dict """ if rectprops is not None: @@ -534,7 +534,9 @@ def set_clip_box(self, clipbox): """ Set the artist's clip :class:`~matplotlib.transforms.Bbox`. - ACCEPTS: a :class:`matplotlib.transforms.Bbox` instance + Parameters + ---------- + clipbox : matplotlib.transforms.Bbox """ super().set_clip_box(clipbox) self._update_clip_properties() @@ -573,7 +575,6 @@ def set_clip_on(self, b): Parameters ---------- b : bool - .. ACCEPTS: bool """ super().set_clip_on(b) self._update_clip_properties() @@ -588,7 +589,6 @@ def set_wrap(self, wrap): Parameters ---------- wrap : bool - .. ACCEPTS: bool """ self._wrap = wrap @@ -894,7 +894,9 @@ def set_backgroundcolor(self, color): :meth:`set_bbox` To change the position of the bounding box. - ACCEPTS: any matplotlib color + Parameters + ---------- + color : color """ if self._bbox_patch is None: self.set_bbox(dict(facecolor=color, edgecolor=color)) @@ -908,7 +910,9 @@ def set_color(self, color): """ Set the foreground color of the text - ACCEPTS: any matplotlib color + Parameters + ---------- + color : color """ # Make sure it is hashable, or get_prop_tup will fail. try: @@ -922,7 +926,9 @@ def set_horizontalalignment(self, align): """ Set the horizontal alignment to one of - ACCEPTS: [ 'center' | 'right' | 'left' ] + Parameters + ---------- + align : {'center', 'right', 'left'} """ legal = ('center', 'right', 'left') if align not in legal: @@ -938,7 +944,9 @@ def set_multialignment(self, align): and verticalalignment properties, but the multiline text within that box can be - ACCEPTS: ['left' | 'right' | 'center' ] + Parameters + ---------- + align: {'left', 'right', 'center'} """ legal = ('center', 'right', 'left') if align not in legal: @@ -952,7 +960,9 @@ def set_linespacing(self, spacing): Set the line spacing as a multiple of the font size. Default is 1.2. - ACCEPTS: float (multiple of font size) + Parameters + ---------- + spacing : float (multiple of font size) """ self._linespacing = spacing self.stale = True @@ -964,8 +974,10 @@ def set_family(self, fontname): name or a generic font class name. If the latter, the specific font names will be looked up in the corresponding rcParams. - ACCEPTS: [FONTNAME | 'serif' | 'sans-serif' | 'cursive' | 'fantasy' | - 'monospace' ] + Parameters + ---------- + fontname : {FONTNAME, 'serif', 'sans-serif', 'cursive', 'fantasy', \ +'monospace'} """ self._fontproperties.set_family(fontname) self.stale = True @@ -974,7 +986,9 @@ def set_variant(self, variant): """ Set the font variant, either 'normal' or 'small-caps'. - ACCEPTS: [ 'normal' | 'small-caps' ] + Parameters + ---------- + variant : {'normal', 'small-caps'} """ self._fontproperties.set_variant(variant) self.stale = True @@ -983,7 +997,9 @@ def set_style(self, fontstyle): """ Set the font style. - ACCEPTS: [ 'normal' | 'italic' | 'oblique'] + Parameters + ---------- + fontstyle : {'normal', 'italic', 'oblique'} """ self._fontproperties.set_style(fontstyle) self.stale = True @@ -993,8 +1009,10 @@ def set_size(self, fontsize): Set the font size. May be either a size string, relative to the default font size, or an absolute font size in points. - ACCEPTS: [size in points | 'xx-small' | 'x-small' | 'small' | - 'medium' | 'large' | 'x-large' | 'xx-large' ] + Parameters + ---------- + fontsize : {size in points, 'xx-small', 'x-small', 'small', 'medium', \ +'large', 'x-large', 'xx-large'} """ self._fontproperties.set_size(fontsize) self.stale = True @@ -1003,10 +1021,11 @@ def set_weight(self, weight): """ Set the font weight. - ACCEPTS: [a numeric value in range 0-1000 | 'ultralight' | 'light' | - 'normal' | 'regular' | 'book' | 'medium' | 'roman' | - 'semibold' | 'demibold' | 'demi' | 'bold' | 'heavy' | - 'extra bold' | 'black' ] + Parameters + ---------- + weight : {a numeric value in range 0-1000, 'ultralight', 'light', \ +'normal', 'regular', 'book', 'medium', 'roman', 'semibold', 'demibold', \ +'demi', 'bold', 'heavy', 'extra bold', 'black'} """ self._fontproperties.set_weight(weight) self.stale = True @@ -1015,46 +1034,55 @@ def set_stretch(self, stretch): """ Set the font stretch (horizontal condensation or expansion). - ACCEPTS: [a numeric value in range 0-1000 | 'ultra-condensed' | - 'extra-condensed' | 'condensed' | 'semi-condensed' | - 'normal' | 'semi-expanded' | 'expanded' | 'extra-expanded' | - 'ultra-expanded' ] + Parameters + ---------- + stretch : {a numeric value in range 0-1000, 'ultra-condensed', \ +'extra-condensed', 'condensed', 'semi-condensed', 'normal', 'semi-expanded', \ +'expanded', 'extra-expanded', 'ultra-expanded'} """ self._fontproperties.set_stretch(stretch) self.stale = True def set_position(self, xy): """ - Set the (*x*, *y*) position of the text + Set the (*x*, *y*) position of the text. - ACCEPTS: (x,y) + Parameters + ---------- + xy : (float, float) """ self.set_x(xy[0]) self.set_y(xy[1]) def set_x(self, x): """ - Set the *x* position of the text + Set the *x* position of the text. - ACCEPTS: float + Parameters + ---------- + x : float """ self._x = x self.stale = True def set_y(self, y): """ - Set the *y* position of the text + Set the *y* position of the text. - ACCEPTS: float + Parameters + ---------- + y : float """ self._y = y self.stale = True def set_rotation(self, s): """ - Set the rotation of the text + Set the rotation of the text. - ACCEPTS: [ angle in degrees | 'vertical' | 'horizontal' ] + Parameters + ---------- + s : {angle in degrees, 'vertical', 'horizontal'} """ self._rotation = s self.stale = True @@ -1063,8 +1091,9 @@ def set_verticalalignment(self, align): """ Set the vertical alignment - ACCEPTS: [ 'center' | 'top' | 'bottom' | 'baseline' | - 'center_baseline' ] + Parameters + ---------- + align : {'center', 'top', 'bottom', 'baseline', 'center_baseline'} """ legal = ('top', 'bottom', 'center', 'baseline', 'center_baseline') if align not in legal: @@ -1080,8 +1109,9 @@ def set_text(self, s): It may contain newlines (``\\n``) or math in LaTeX syntax. - ACCEPTS: string or object castable to string, except - ``None``, which is set to an empty string. + Parameters + ---------- + s : string or object castable to string (but ``None`` becomes ``''``) """ if s is None: s = '' @@ -1117,7 +1147,9 @@ def set_fontproperties(self, fp): Set the font properties that control the text. *fp* must be a :class:`matplotlib.font_manager.FontProperties` object. - ACCEPTS: a :class:`matplotlib.font_manager.FontProperties` instance + Parameters + ---------- + fp : matplotlib.font_manager.FontProperties """ if isinstance(fp, str): fp = FontProperties(fp) @@ -1131,8 +1163,6 @@ def set_usetex(self, usetex): usetex : bool or None Whether to render using TeX, ``None`` means to use :rc:`text.usetex`. - - .. ACCEPTS: bool or None """ if usetex is None: self._usetex = rcParams['text.usetex'] @@ -1414,9 +1444,11 @@ def get_dashlength(self): def set_dashlength(self, dl): """ - Set the length of the dash. + Set the length of the dash, in canvas units. - ACCEPTS: float (canvas units) + Parameters + ---------- + dl : float """ self._dashlength = dl self.stale = True @@ -1429,12 +1461,13 @@ def get_dashdirection(self): def set_dashdirection(self, dd): """ - Set the direction of the dash following the text. - 1 is before the text and 0 is after. The default - is 0, which is what you'd want for the typical - case of ticks below and on the left of the figure. + Set the direction of the dash following the text. 1 is before the text + and 0 is after. The default is 0, which is what you'd want for the + typical case of ticks below and on the left of the figure. - ACCEPTS: int (1 is before, 0 is after) + Parameters + ---------- + dd : int (1 is before, 0 is after) """ self._dashdirection = dd self.stale = True @@ -1450,9 +1483,11 @@ def get_dashrotation(self): def set_dashrotation(self, dr): """ - Set the rotation of the dash, in degrees + Set the rotation of the dash, in degrees. - ACCEPTS: float (degrees) + Parameters + ---------- + dr : float """ self._dashrotation = dr self.stale = True @@ -1468,7 +1503,9 @@ def set_dashpad(self, dp): Set the "pad" of the TextWithDash, which is the extra spacing between the dash and the text, in canvas units. - ACCEPTS: float (canvas units) + Parameters + ---------- + dp : float """ self._dashpad = dp self.stale = True @@ -1482,11 +1519,12 @@ def get_dashpush(self): def set_dashpush(self, dp): """ - Set the "push" of the TextWithDash, which - is the extra spacing between the beginning - of the dash and the specified position. + Set the "push" of the TextWithDash, which is the extra spacing between + the beginning of the dash and the specified position. - ACCEPTS: float (canvas units) + Parameters + ---------- + dp : float """ self._dashpush = dp self.stale = True @@ -1495,7 +1533,9 @@ def set_position(self, xy): """ Set the (*x*, *y*) position of the :class:`TextWithDash`. - ACCEPTS: (x, y) + Parameters + ---------- + xy : (float, float) """ self.set_x(xy[0]) self.set_y(xy[1]) @@ -1504,7 +1544,9 @@ def set_x(self, x): """ Set the *x* position of the :class:`TextWithDash`. - ACCEPTS: float + Parameters + ---------- + x : float """ self._dashx = float(x) self.stale = True @@ -1513,7 +1555,9 @@ def set_y(self, y): """ Set the *y* position of the :class:`TextWithDash`. - ACCEPTS: float + Parameters + ---------- + y : float """ self._dashy = float(y) self.stale = True @@ -1523,7 +1567,9 @@ def set_transform(self, t): Set the :class:`matplotlib.transforms.Transform` instance used by this artist. - ACCEPTS: a :class:`matplotlib.transforms.Transform` instance + Parameters + ---------- + t : matplotlib.transforms.Transform """ Text.set_transform(self, t) self.dashline.set_transform(t) @@ -1535,9 +1581,11 @@ def get_figure(self): def set_figure(self, fig): """ - Set the figure instance the artist belong to. + Set the figure instance the artist belongs to. - ACCEPTS: a :class:`matplotlib.figure.Figure` instance + Parameters + ---------- + fig : matplotlib.figure.Figure """ Text.set_figure(self, fig) self.dashline.set_figure(fig) diff --git a/lib/mpl_toolkits/axisartist/axis_artist.py b/lib/mpl_toolkits/axisartist/axis_artist.py index 5ce41173442f..1ae2f7dbea01 100644 --- a/lib/mpl_toolkits/axisartist/axis_artist.py +++ b/lib/mpl_toolkits/axisartist/axis_artist.py @@ -901,13 +901,15 @@ def set_axis_direction(self, axis_direction): self.label.set_axis_direction(axis_direction) def set_ticklabel_direction(self, tick_direction): - """ + r""" Adjust the direction of the ticklabel. - ACCEPTS: [ "+" | "-" ] - - Note that the label_direction '+' and '-' are relative to the + Note that the *label_direction*\s '+' and '-' are relative to the direction of the increasing coordinate. + + Parameters + ---------- + tick_direction : {"+", "-"} """ if tick_direction not in ["+", "-"]: @@ -924,13 +926,15 @@ def invert_ticklabel_direction(self): self.minor_ticklabels.invert_axis_direction() def set_axislabel_direction(self, label_direction): - """ + r""" Adjust the direction of the axislabel. - ACCEPTS: [ "+" | "-" ] - - Note that the label_direction '+' and '-' are relative to the + Note that the *label_direction*\s '+' and '-' are relative to the direction of the increasing coordinate. + + Parameters + ---------- + tick_direction : {"+", "-"} """ if label_direction not in ["+", "-"]: raise ValueError('direction must be one of "+", "-"') diff --git a/lib/mpl_toolkits/mplot3d/art3d.py b/lib/mpl_toolkits/mplot3d/art3d.py index 543e1b4c7a7d..7a669e46dac6 100644 --- a/lib/mpl_toolkits/mplot3d/art3d.py +++ b/lib/mpl_toolkits/mplot3d/art3d.py @@ -680,10 +680,11 @@ def set_edgecolor(self, colors): def set_alpha(self, alpha): """ - Set the alpha transparencies of the collection. *alpha* must be - a float or *None*. + Set the alpha transparencies of the collection. - .. ACCEPTS: float or None + Parameters + ---------- + alpha : float or None """ if alpha is not None: try: diff --git a/lib/mpl_toolkits/mplot3d/axes3d.py b/lib/mpl_toolkits/mplot3d/axes3d.py index 87ac72ec94c6..16bb0ebec65e 100644 --- a/lib/mpl_toolkits/mplot3d/axes3d.py +++ b/lib/mpl_toolkits/mplot3d/axes3d.py @@ -346,7 +346,6 @@ def set_autoscale_on(self, b): Parameters ---------- b : bool - .. ACCEPTS: bool """ super().set_autoscale_on(b) self.set_autoscalez_on(b) @@ -361,7 +360,6 @@ def set_autoscalez_on(self, b): Parameters ---------- b : bool - .. ACCEPTS: bool """ self._autoscaleZon = b @@ -1281,7 +1279,6 @@ def set_frame_on(self, b): Parameters ---------- b : bool - .. ACCEPTS: bool """ self._frameon = bool(b) self.stale = True @@ -1309,7 +1306,6 @@ def set_axisbelow(self, b): Parameters ---------- b : bool - .. ACCEPTS: bool """ self._axisbelow = True self.stale = True From a92383fdbb0e2c4e6907e5afd6c350daa0cd9843 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Fri, 8 Jun 2018 00:32:03 +0200 Subject: [PATCH 0766/1161] Add script generate_credits.py to automatically update credits.rst --- doc/users/generate_credits.py | 68 +++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100755 doc/users/generate_credits.py diff --git a/doc/users/generate_credits.py b/doc/users/generate_credits.py new file mode 100755 index 000000000000..2b676ab8a4db --- /dev/null +++ b/doc/users/generate_credits.py @@ -0,0 +1,68 @@ +#!/usr/bin/env python +# +# This script generates credits.rst with an up-to-date list of contributors +# to the matplotlib github repository. + +import subprocess + +TEMPLATE = """.. Note: This file is auto-generated using generate_credits.py + +.. _credits: + +******* +Credits +******* + + +Matplotlib was written by John D. Hunter, with contributions from +an ever-increasing number of users and developers. +The current co-lead developers are Michael Droettboom +and Thomas A. Caswell; they are assisted by many +`active +<https://www.openhub.net/p/matplotlib/contributors>`_ developers. + +The following is a list of contributors extracted from the +git revision control history of the project: + +{contributors} + +Some earlier contributors not included above are (with apologies +to any we have missed): + +Charles Twardy, +Gary Ruben, +John Gill, +David Moore, +Paul Barrett, +Jared Wahlstrand, +Jim Benson, +Paul Mcguire, +Andrew Dalke, +Nadia Dencheva, +Baptiste Carvello, +Sigve Tjoraand, +Ted Drain, +James Amundson, +Daishi Harada, +Nicolas Young, +Paul Kienzle, +John Porter, +and Jonathon Taylor. + +We also thank all who have reported bugs, commented on +proposed changes, or otherwise contributed to Matplotlib's +development and usefulness. +""" + + +def main(): + text = subprocess.check_output(['git', 'shortlog', '--summary']) + contributors = [line.split('\t', 1)[1].strip() + for line in text.decode('utf8').split('\n') + if line] + with open('credits.rst', 'w') as f: + f.write(TEMPLATE.format(contributors=',\n'.join(contributors))) + + +if __name__ == '__main__': + main() \ No newline at end of file From e0ef3ff0ce84479c4691328660542bc51b3e2b27 Mon Sep 17 00:00:00 2001 From: fredrik-1 <sandquist.fredrik@gmail.com> Date: Tue, 5 Jun 2018 18:49:07 +0200 Subject: [PATCH 0767/1161] subplots and figure docstring changes --- lib/matplotlib/figure.py | 25 +++++++++------- lib/matplotlib/pyplot.py | 63 +++++++++++++++++++++++----------------- 2 files changed, 51 insertions(+), 37 deletions(-) diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index e898f9082acd..ac2de0e88daa 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -1254,10 +1254,13 @@ def subplots(self, nrows=1, ncols=1, sharex=False, sharey=False, """ Add a set of subplots to this figure. + This utility wrapper makes it convenient to create common layouts of + subplots in a single call. + Parameters ---------- - nrows, ncols : int, default: 1 - Number of rows/cols of the subplot grid. + nrows, ncols : int, optional, default: 1 + Number of rows/columns of the subplot grid. sharex, sharey : bool or {'none', 'all', 'row', 'col'}, default: False Controls sharing of properties among x (`sharex`) or y (`sharey`) @@ -1291,25 +1294,27 @@ def subplots(self, nrows=1, ncols=1, sharex=False, sharey=False, is always a 2D array containing Axes instances, even if it ends up being 1x1. - subplot_kw : dict, default: {} + subplot_kw : dict, optional Dict with keywords passed to the :meth:`~matplotlib.figure.Figure.add_subplot` call used to create - each subplots. + each subplot. - gridspec_kw : dict, default: {} + gridspec_kw : dict, optional Dict with keywords passed to the - :class:`~matplotlib.gridspec.GridSpec` constructor used to create + `~matplotlib.gridspec.GridSpec` constructor used to create the grid the subplots are placed on. Returns ------- - ax : single Axes object or array of Axes objects - The added axes. The dimensions of the resulting array can be - controlled with the squeeze keyword, see above. + ax : Axes object or array of Axes objects. + *ax* can be either a single `~matplotlib.axes.Axes` object or + an array of Axes objects if more than one subplot was created. The + dimensions of the resulting array can be controlled with the + squeeze keyword, see above. See Also -------- - pyplot.subplots : pyplot API; docstring includes examples. + :func:`.pyplot.subplots`: docstring includes examples. """ if isinstance(sharex, bool): diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index e2b5e3747426..a2a40567628b 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -426,43 +426,46 @@ def figure(num=None, # autoincrement if None, else integer from 1-N `num`. figsize : tuple of integers, optional, default: None - width, height in inches. If not provided, defaults to rc - figure.figsize. + width, height in inches. If not provided, defaults to + :rc:`figure.figsize` = ``[6.4, 4.8]``. dpi : integer, optional, default: None - resolution of the figure. If not provided, defaults to rc figure.dpi. + resolution of the figure. If not provided, defaults to + :rc:`figure.dpi` = ``100``. facecolor : - the background color. If not provided, defaults to rc figure.facecolor. + the background color. If not provided, defaults to + :rc:`figure.facecolor` = ``'w'``. edgecolor : - the border color. If not provided, defaults to rc figure.edgecolor. + the border color. If not provided, defaults to + :rc:`figure.edgecolor` = ``'w'``. frameon : bool, optional, default: True If False, suppress drawing the figure frame. - FigureClass : class derived from matplotlib.figure.Figure - Optionally use a custom Figure instance. + FigureClass : subclass of `~matplotlib.figure.Figure` + Optionally use a custom `.Figure` instance. clear : bool, optional, default: False If True and the figure already exists, then it is cleared. Returns ------- - figure : Figure - The Figure instance returned will also be passed to new_figure_manager - in the backends, which allows to hook custom Figure classes into the - pylab interface. Additional kwargs will be passed to the figure init - function. + figure : `~matplotlib.figure.Figure` + The `.Figure` instance returned will also be passed to new_figure_manager + in the backends, which allows to hook custom `.Figure` classes into the + pyplot interface. Additional kwargs will be passed to the `.Figure` + init function. Notes ----- - If you are creating many figures, make sure you explicitly call "close" - on the figures you are not using, because this will enable pylab - to properly clean up the memory. + If you are creating many figures, make sure you explicitly call + :func:`.pyplot.close` on the figures you are not using, because this will + enable pyplot to properly clean up the memory. - rcParams defines the default values, which can be modified in the - matplotlibrc file. + `~matplotlib.rcParams` defines the default values, which can be modified + in the matplotlibrc file. """ if figsize is None: @@ -1020,7 +1023,7 @@ def subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, squeeze : bool, optional, default: True - If True, extra dimensions are squeezed out from the returned - array of Axes: + array of `~matplotlib.axes.Axes`: - if only one subplot is constructed (nrows=ncols=1), the resulting single Axes object is returned as a scalar. @@ -1038,20 +1041,19 @@ def subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, subplot. gridspec_kw : dict, optional - Dict with keywords passed to the - :class:`~matplotlib.gridspec.GridSpec` constructor used to create the - grid the subplots are placed on. + Dict with keywords passed to the `~matplotlib.gridspec.GridSpec` + constructor used to create the grid the subplots are placed on. **fig_kw : - All additional keyword arguments are passed to the :func:`figure` call. + All additional keyword arguments are passed to the + :func:`.pyplot.figure` call. Returns ------- - fig : :class:`matplotlib.figure.Figure` object + fig : `~matplotlib.figure.Figure` ax : Axes object or array of Axes objects. - - ax can be either a single :class:`matplotlib.axes.Axes` object or an + *ax* can be either a single `~matplotlib.axes.Axes` object or an array of Axes objects if more than one subplot was created. The dimensions of the resulting array can be controlled with the squeeze keyword, see above. @@ -1098,10 +1100,17 @@ def subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, >>> plt.subplots(2, 2, sharex=True, sharey=True) + Creates figure number 10 with a single subplot + and clears it if it already exists. + + >>> fig, ax=plt.subplots(num=10, clear=True) + See Also -------- - figure - subplot + :func:`.pyplot.figure` + :func:`.pyplot.subplot` + :meth:`.Figure.add_subplot` + :meth:`.Figure.subplots` """ fig = figure(**fig_kw) axs = fig.subplots(nrows=nrows, ncols=ncols, sharex=sharex, sharey=sharey, From 1c16a295d79c85dc9af872da5e18e74f0d8a4112 Mon Sep 17 00:00:00 2001 From: Graeme Smecher <gsmecher@threespeedlogic.com> Date: Fri, 8 Jun 2018 11:03:07 -0700 Subject: [PATCH 0768/1161] Correct docstring for axvspan() --- lib/matplotlib/axes/_axes.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 96f4dc1ff4e5..2415759b51af 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -683,7 +683,7 @@ def axvspan(self, xmin, xmax, ymin=0, ymax=1, **kwargs): spans the yrange, regardless of the ylim settings, even if you change them, e.g., with the :meth:`set_ylim` command. That is, the vertical extent is in axes coords: 0=bottom, 0.5=middle, - 1.0=top but the y location is in data coordinates. + 1.0=top but the x location is in data coordinates. Parameters ---------- From a9e5400f754c91e532907c79192761eb3e61d975 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sat, 17 Feb 2018 00:52:27 -0800 Subject: [PATCH 0769/1161] Remove unnecessary str calls. --- lib/matplotlib/__init__.py | 8 +++---- lib/matplotlib/backends/backend_pdf.py | 6 ++--- lib/matplotlib/backends/backend_ps.py | 9 ++++--- lib/matplotlib/dates.py | 2 +- lib/matplotlib/sphinxext/plot_directive.py | 2 +- lib/matplotlib/tests/test_mlab.py | 18 +++++--------- lib/matplotlib/type1font.py | 2 +- lib/mpl_toolkits/axes_grid1/axes_divider.py | 26 ++++++--------------- 8 files changed, 27 insertions(+), 46 deletions(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 109e8dd4dff9..6820021537a8 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -213,7 +213,7 @@ def compare_versions(a, b): if not hasattr(sys, 'argv'): # for modpython - sys.argv = [str('modpython')] + sys.argv = ['modpython'] def _is_writable_dir(p): @@ -419,7 +419,7 @@ def wrapper(*args, **kwargs): def checkdep_dvipng(): try: - s = subprocess.Popen([str('dvipng'), '-version'], + s = subprocess.Popen(['dvipng', '-version'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) stdout, stderr = s.communicate() @@ -456,7 +456,7 @@ def checkdep_ghostscript(): def checkdep_pdftops(): try: - s = subprocess.Popen([str('pdftops'), '-v'], stdout=subprocess.PIPE, + s = subprocess.Popen(['pdftops', '-v'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) stdout, stderr = s.communicate() lines = stderr.decode('ascii').split('\n') @@ -471,7 +471,7 @@ def checkdep_pdftops(): def checkdep_inkscape(): if checkdep_inkscape.version is None: try: - s = subprocess.Popen([str('inkscape'), '-V'], + s = subprocess.Popen(['inkscape', '-V'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) stdout, stderr = s.communicate() diff --git a/lib/matplotlib/backends/backend_pdf.py b/lib/matplotlib/backends/backend_pdf.py index 43d03aae7c8d..aed2795f1145 100644 --- a/lib/matplotlib/backends/backend_pdf.py +++ b/lib/matplotlib/backends/backend_pdf.py @@ -1285,9 +1285,9 @@ def writeGouraudTriangles(self): streamarr = np.empty( (shape[0] * shape[1],), - dtype=[(str('flags'), str('u1')), - (str('points'), str('>u4'), (2,)), - (str('colors'), str('u1'), (3,))]) + dtype=[('flags', 'u1'), + ('points', '>u4', (2,)), + ('colors', 'u1', (3,))]) streamarr['flags'] = 0 streamarr['points'] = (flat_points - points_min) * factor streamarr['colors'] = flat_colors[:, :3] * 255.0 diff --git a/lib/matplotlib/backends/backend_ps.py b/lib/matplotlib/backends/backend_ps.py index 8a9e3e633f75..ab52fbc53034 100644 --- a/lib/matplotlib/backends/backend_ps.py +++ b/lib/matplotlib/backends/backend_ps.py @@ -1409,8 +1409,7 @@ def convert_psfrags(tmpfile, psfrags, font_preamble, custom_preamble, latexfile = latexfile.replace("\\", "/") # Replace ~ so Latex does not think it is line break latexfile = latexfile.replace("~", "\\string~") - command = [str("latex"), "-interaction=nonstopmode", - '"%s"' % latexfile] + command = ["latex", "-interaction=nonstopmode", '"%s"' % latexfile] _log.debug('%s', command) try: report = subprocess.check_output(command, cwd=tmpdir, @@ -1424,7 +1423,7 @@ def convert_psfrags(tmpfile, psfrags, font_preamble, custom_preamble, exc.output.decode("utf-8")))) _log.debug(report) - command = [str('dvips'), '-q', '-R0', '-o', os.path.basename(psfile), + command = ['dvips', '-q', '-R0', '-o', os.path.basename(psfile), os.path.basename(dvifile)] _log.debug(command) try: @@ -1525,7 +1524,7 @@ def xpdf_distill(tmpfile, eps=False, ptype='letter', bbox=None, rotated=False): # Pass options as `-foo#bar` instead of `-foo=bar` to keep Windows happy # (https://www.ghostscript.com/doc/9.22/Use.htm#MS_Windows). - command = [str("ps2pdf"), + command = ["ps2pdf", "-dAutoFilterColorImages#false", "-dAutoFilterGrayImages#false", "-dAutoRotatePages#false", @@ -1544,7 +1543,7 @@ def xpdf_distill(tmpfile, eps=False, ptype='letter', bbox=None, rotated=False): '\n\n' % exc.output.decode("utf-8"))) _log.debug(report) - command = [str("pdftops"), "-paper", "match", "-level2", pdffile, psfile] + command = ["pdftops", "-paper", "match", "-level2", pdffile, psfile] _log.debug(command) try: report = subprocess.check_output(command, stderr=subprocess.STDOUT) diff --git a/lib/matplotlib/dates.py b/lib/matplotlib/dates.py index 5d87e04f231f..5b7e46af5ad5 100644 --- a/lib/matplotlib/dates.py +++ b/lib/matplotlib/dates.py @@ -185,7 +185,7 @@ def utcoffset(self, dt): return datetime.timedelta(0) def tzname(self, dt): - return str("UTC") + return "UTC" def dst(self, dt): return datetime.timedelta(0) diff --git a/lib/matplotlib/sphinxext/plot_directive.py b/lib/matplotlib/sphinxext/plot_directive.py index ce8b7685cd28..85aec8940ca2 100644 --- a/lib/matplotlib/sphinxext/plot_directive.py +++ b/lib/matplotlib/sphinxext/plot_directive.py @@ -276,7 +276,7 @@ def setup(app): app.add_config_value('plot_working_directory', None, True) app.add_config_value('plot_template', None, True) - app.connect(str('doctree-read'), mark_plot_labels) + app.connect('doctree-read', mark_plot_labels) metadata = {'parallel_read_safe': True, 'parallel_write_safe': True} return metadata diff --git a/lib/matplotlib/tests/test_mlab.py b/lib/matplotlib/tests/test_mlab.py index cd2c54b71b25..ea4ba461442c 100644 --- a/lib/matplotlib/tests/test_mlab.py +++ b/lib/matplotlib/tests/test_mlab.py @@ -213,10 +213,7 @@ def tempcsv(): def test_recarray_csv_roundtrip(tempcsv): - expected = np.recarray((99,), - [(str('x'), float), - (str('y'), float), - (str('t'), float)]) + expected = np.recarray((99,), [('x', float), ('y', float), ('t', float)]) # initialising all values: uninitialised memory sometimes produces # floats that do not round-trip to string and back. expected['x'][:] = np.linspace(-1e9, -1, 99) @@ -233,8 +230,7 @@ def test_recarray_csv_roundtrip(tempcsv): def test_rec2csv_bad_shape_ValueError(tempcsv): - bad = np.recarray((99, 4), [(str('x'), float), - (str('y'), float)]) + bad = np.recarray((99, 4), [('x', float), ('y', float)]) # the bad recarray should trigger a ValueError for having ndim > 1. with pytest.warns(MatplotlibDeprecationWarning): @@ -286,14 +282,12 @@ def test_csv2rec_dates(tempcsv, input, kwargs): def test_rec2txt_basic(): - # str() calls around field names necessary b/c as of numpy 1.11 - # dtype doesn't like unicode names (caused by unicode_literals import) a = np.array([(1.0, 2, 'foo', 'bing'), (2.0, 3, 'bar', 'blah')], - dtype=np.dtype([(str('x'), np.float32), - (str('y'), np.int8), - (str('s'), str, 3), - (str('s2'), str, 4)])) + dtype=np.dtype([('x', np.float32), + ('y', np.int8), + ('s', str, 3), + ('s2', str, 4)])) truth = (' x y s s2\n' ' 1.000 2 foo bing \n' ' 2.000 3 bar blah ').splitlines() diff --git a/lib/matplotlib/type1font.py b/lib/matplotlib/type1font.py index 409f22aab144..80aeb388db72 100644 --- a/lib/matplotlib/type1font.py +++ b/lib/matplotlib/type1font.py @@ -81,7 +81,7 @@ def _read(self, file): 'got %d)' % rawdata[0]) type = rawdata[1] if type in (1, 2): - length, = struct.unpack(str('<i'), rawdata[2:6]) + length, = struct.unpack('<i', rawdata[2:6]) segment = rawdata[6:6 + length] rawdata = rawdata[6 + length:] diff --git a/lib/mpl_toolkits/axes_grid1/axes_divider.py b/lib/mpl_toolkits/axes_grid1/axes_divider.py index ffda811efc40..80c157e61188 100644 --- a/lib/mpl_toolkits/axes_grid1/axes_divider.py +++ b/lib/mpl_toolkits/axes_grid1/axes_divider.py @@ -8,12 +8,12 @@ and vertical lists of sizes that the division will be based on. You then use the new_locator method, whose return value is a callable object that can be used to set the axes_locator of the axes. - """ -import matplotlib.transforms as mtransforms -from matplotlib.axes import SubplotBase +import functools +import matplotlib.transforms as mtransforms +from matplotlib.axes import SubplotBase from . import axes_size as Size @@ -906,24 +906,12 @@ def _make_twin_axes(self, *kl, **kwargs): self._twinned_axes.join(self, ax2) return ax2 -_locatableaxes_classes = {} - +@functools.lru_cache(None) def locatable_axes_factory(axes_class): - - new_class = _locatableaxes_classes.get(axes_class) - if new_class is None: - new_class = type(str("Locatable%s" % (axes_class.__name__)), - (LocatableAxesBase, axes_class), - {'_axes_class': axes_class}) - - _locatableaxes_classes[axes_class] = new_class - - return new_class - -#if hasattr(maxes.Axes, "get_axes_locator"): -# LocatableAxes = maxes.Axes -#else: + return type("Locatable%s" % axes_class.__name__, + (LocatableAxesBase, axes_class), + {'_axes_class': axes_class}) def make_axes_locatable(axes): From 9ad39b0678dee077fd694a6e4d5739e977eddc6a Mon Sep 17 00:00:00 2001 From: Chris Holdgraf <choldgraf@berkeley.edu> Date: Fri, 8 Jun 2018 19:37:26 -0700 Subject: [PATCH 0770/1161] timeline example --- examples/lines_bars_and_markers/timeline.py | 68 +++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 examples/lines_bars_and_markers/timeline.py diff --git a/examples/lines_bars_and_markers/timeline.py b/examples/lines_bars_and_markers/timeline.py new file mode 100644 index 000000000000..008ef742a885 --- /dev/null +++ b/examples/lines_bars_and_markers/timeline.py @@ -0,0 +1,68 @@ +""" +=============================================== +Creating a timeline with lines, dates, and text +=============================================== + +How to create a simple timeline using Matplotlib release dates. + +Timelines can be created with a collection of dates and text. In this example, +we show how to create a simple timeline using the dates for recent releases +of Matplotlib. First, we'll pull the data from GitHub. +""" + +import matplotlib.pyplot as plt +import numpy as np +import pandas as pd +import urllib.request +import json + +# Grab a list of Matplotlib releases +url = 'https://api.github.com/repos/matplotlib/matplotlib/releases' +data = json.loads(urllib.request.urlopen(url).read().decode()) + +releases = [] +for irelease in data: + releases.append((irelease['tag_name'], irelease['published_at'])) +releases = pd.DataFrame(releases, columns=['name', 'date']) +releases['date'] = pd.to_datetime(releases['date']) +# Remove release candidates and betas +releases = releases.loc[['rc' not in nm for nm in releases['name']]] +releases = releases.loc[['b' not in nm for nm in releases['name']]] + +############################################################################## +# Next, we'll iterate through each date and plot it on a horizontal line. +# We'll add some styling to the text so that overlaps aren't as strong. +# +# Note that Matplotlib will automatically plot datetime inputs. + +levels = np.array([-5, 5, -3, 3, -1, 1]) +fig, ax = plt.subplots(figsize=(20, 5)) + +# Create the base line +start = releases['date'].min() +stop = releases['date'].max() +ax.plot((start, stop), (0, 0), 'k', alpha=.5) + +# Iterate through releases annotating each one +for ix, (iname, idate) in releases.iterrows(): + level = levels[ix % 6] + vert = 'top' if level < 0 else 'bottom' + + ax.scatter(idate, 0, s=100, facecolor='w', edgecolor='k', zorder=9999) + # Plot a line up to the text + ax.plot((idate, idate), (0, level), + c='r', alpha=.7) + # Give the text a faint background and align it properly + ax.text(idate, level, iname, + horizontalalignment='right', verticalalignment=vert, fontsize=14, + backgroundcolor=(1., 1., 1., .3)) +ax.set(title="Matplotlib release dates") +# Set the xticks formatting +xticks = pd.date_range(start, stop, freq='3M') +ax.set_xticks(xticks) +ax.set_xticklabels(xticks.strftime("%b %Y"), + rotation=45, horizontalalignment='right', fontsize=14) +# Remove components for a cleaner look +plt.setp((ax.get_yticklabels() + ax.get_yticklines() + + list(ax.spines.values())), visible=False) +plt.show() From 5f94e44961281390ef4fbc9ea4b7b0b42d2bcf5f Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Fri, 8 Jun 2018 00:32:56 +0200 Subject: [PATCH 0771/1161] Update credits.rst --- .mailmap | 50 +++++ doc/users/credits.rst | 363 +++++++++++++++++++++++++++++++++- doc/users/generate_credits.py | 28 ++- 3 files changed, 431 insertions(+), 10 deletions(-) diff --git a/.mailmap b/.mailmap index f638116e560f..2b2d110e0299 100644 --- a/.mailmap +++ b/.mailmap @@ -3,6 +3,8 @@ Adam Ortiz <adam.ortiz@utoronto.ca> Adrien F. Vincent <vincent.adrien@gmail.com> Adrien F. Vincent <vincent.adrien@gmail.com> <adrien.vincent@u-psud.fr> +Alvaro Sanchez <sanchezgnzlz.alvaro@gmail.com> + Andrew Dawson <ajdawson@acm.org> <dawson@atm.ox.ac.uk> anykraus <kraus@mpip-mainz.mpg.de> <anykraus@users.noreply.github.com> @@ -13,16 +15,25 @@ Ben Cohen <bj.cohen19@gmail.com> <ben@cohen-family.org> Ben Root <ben.v.root@gmail.com> Benjamin Root <ben.v.root@gmail.com> +Benedikt Daurer <benedikt.daurer@icm.uu.se> + Benjamin Congdon <bencongdon96@gmail.com> Benjamin Congdon <bencongdon96@gmail.com> bcongdon <bcongdo2@illinois.edu> +Bruno Zohreh <z.shams@bath.ac.uk> + Casper van der Wel <caspervdw@gmail.com> +Chris Holdgraf <choldgraf@gmail.com> + Christoph Gohlke <cgohlke@uci.edu> cgohlke <cgohlke@uci.edu> Christoph Gohlke <cgohlke@uci.edu> C. Gohlke <cgohlke@uci.edu> +Christoph Gohlke <cjgohlke@gmail.com> Cimarron Mittelsteadt <cimarronm@gmail.com> Cimarron <cimarronm@gmail.com> +cldssty <huey910@gmail.com> + Conner R. Phillips <conner.r.phillips@gmail.com> <conner.r.phillips.com> Dan Hickstein <danhickstein@gmail.com> @@ -34,6 +45,8 @@ David Kua <david@kua.io> <david.kua@mail.utoronto.ca> Devashish Deshpande <ashu.9412@gmail.com> +Dietmar Schwertberger <github@schwertberger.de> + endolith <endolith@gmail.com> Eric Dill <thedizzle@gmail.com> <edill@bnl.gov> @@ -49,10 +62,18 @@ Florian Le Bourdais <florian.s.lebourdais@gmail.com> Francesco Montesano <franz.bergesund@gmail.com> montefra <franz.bergesund@gmail.com> +Gauravjeet <gauravjeet.kala@mail.utoronto.ca> + +Hajoon Choi <hajoon.choi@mail.utoronto.ca> + hannah <story645@gmail.com> Hans Moritz Günther <moritz.guenther@gmx.de> +Harshit Patni <patniharshit@gmail.com> + +ImportanceOfBeingErnest <elch.rz@ruetz-online.de> + J. Goutin <JGoutin@users.noreply.github.com> JGoutin <ginnungagap@free.fr> Jack Kelly <jack.kelly@imperial.ac.uk> <daniel.kelly10@imperial.ac.uk> @@ -82,6 +103,8 @@ Joseph Fox-Rabinovitz <jfoxrabinovitz@gmail.com> Joseph Fox-Rabinovitz <joseph.r Jouni K. Seppänen <jks@iki.fi> +Julien Lhermitte <ordirules@gmail.com> + Julien Schueller <julien.schueller@gmail.com> <schueller@porsche-l64.phimeca.lan> Julien Schueller <julien.schueller@gmail.com> <schueller@bx-l64.phimeca.lan> @@ -100,10 +123,16 @@ Lennart Fricke <lennart@die-frickes.eu> <lennart.fricke@kabelmail.de> Levi Kilcher <levi.kilcher@nrel.gov> +Leon Yin <hello.leonyin@gmail.com> + Lion Krischer <lion.krischer@gmail.com> <krischer@geophysik.uni-muenchen.de> +Marek Rudnicki <marekrud@gmail.com> + Martin Fitzpatrick <martin.fitzpatrick@gmail.com> <mfitzp@abl.es> +Matt Newville <newville@cars.uchicago.edu> + Matthew Emmett <memmett@gmail.com> Matthew Emmett <memmett@gmail.com> <memmett@unc.edu> @@ -112,6 +141,8 @@ Matthias Bussonnier <bussonniermatthias@gmail.com> Matthias Lüthi <maluethi@protonmail.ch> Matthias Lüthi <maluethi@protonmail.ch> <matthias.luethi@lhep.unibe.ch> +Matti Picus <matti.picus@gmail.com> + Michael Droettboom <mdboom@gmail.com> <mdroe@stsci.edu> Michael Droettboom <mdboom@gmail.com> Michael Droettboom <mdboom@debian-vm> @@ -133,8 +164,13 @@ Nicolas P. Rougier <Nicolas.Rougier@inria.fr> OceanWolf <juichenieder-tigger@yahoo.co.uk> +Olivier <castany@clevo> + Patrick Chen <pat.chen@mail.utoronto.ca> +Paul Ganssle <p.ganssle@gmail.com> +Paul Ganssle <pg@example.com> + Paul Hobson <pmhobson@gmail.com> Paul Hobson <pmhobson@gmail.com> vagrant <vagrant@precise32.(none)> @@ -151,6 +187,8 @@ Phil Elson <pelson.pub@gmail.com> <philipelson@gmail.com> productivememberofsociety666 <productivememberofsociety666@sol.fr.am> none <none@example.net> +Rishikesh <rishikksh20@gmail.com> + RyanPan <ryanbelt1993129@hotmail.com> Scott Lasley <selasley@me.com> @@ -168,13 +206,25 @@ Stefan van der Walt <stefanv@berkeley.edu> <stefan@sun.ac.za> switham <github@mac-guyver.com> switham <switham_github@mac-guyver.com> +Taehoon Lee <taehoonlee@snu.ac.kr> + Thomas A Caswell <tcaswell@gmail.com> Thomas A Caswell <tcaswell@bnl.gov> Thomas A Caswell <tcaswell@gmail.com> Thomas A Caswell <tcaswell@uchicago.edu> Thomas A Caswell <tcaswell@gmail.com> Thomas A Caswell <“tcaswell@gmail.com”> Trish Gillett-Kawamoto <trish.gillett@shopify.com> <discardthree@gmail.com> +Tuan Dung Tran <tuan.d.tran@hotmail.com> + +Víctor Zabalza <vzabalza@gmail.com> + +Vidur Satija <vidursatija@gmail.com> + +WANG Aiyong <gepcelway@gmail.com> + Werner F Bruhin <wernerfbd@gmx.ch> Yunfei Yang <yangyunf@iits-b473-20053.(none)> Yunfei Yang <yangyunf@iits-b473-20057.(none)> Yunfei Yang <yangyunf@iits-b473-20053.(none)> Yunfei Yang <yangyunf@iits-b473-20061.(none)> + +Zac Hatfield-Dodds <zac.hatfield.dodds@gmail.com> diff --git a/doc/users/credits.rst b/doc/users/credits.rst index 6d737f282955..4d33e9d2ca23 100644 --- a/doc/users/credits.rst +++ b/doc/users/credits.rst @@ -1,3 +1,5 @@ +.. Note: This file is auto-generated using generate_credits.py + .. _credits: ******* @@ -17,138 +19,259 @@ git revision control history of the project: 4over7, Aaron Boushley, +Aashil Patel, +AbdealiJK, Acanthostega, +Adam, Adam Ginsburg, Adam Heck, Adam Ortiz, +Adam Williamson, Adrian Price-Whelan, +Adrien Chardon, Adrien F. Vincent, Ahmet Bakan, +Akshay Nair, +Alan Bernstein, Alan Du, +Alberto, Alejandro Dubrovsky, +Aleksey Bilogur, Alex C. Szatmary, Alex Loew, +Alex Rothberg, +AlexCav, +Alexander Buchkovsky, +Alexander Harnisch, Alexander Taylor, Alexei Colin, +Alexis Bienvenüe, Ali Mehdi, +Ali Uneri, Alistair Muldal, Allan Haldane, +Alvaro Sanchez, Amit Aronovitch, Amy, AmyTeegarden, +AndersonDaniel, +Andras Deak, Andrea Bedini, Andreas Hilboll, +Andreas Mayer, +Andreas Mueller, Andreas Wallner, Andrew Dawson, Andrew Merrill, Andrew Straw, +Andy Mastbaum, Andy Zhu, +Anthony Scopatz, Anton Akhmerov, Antony Lee, Arie, Ariel Hernán Curiale, Arnaud Gardelein, Arpad Horvath, +Arthur Paulino, +Arvind, Aseem Bansal, +Atharva Khare, +BHT, +BTWS, +Bastian Bechtold, Behram Mistree, +Ben, Ben Cohen, Ben Gamari, Ben Keller, Ben Root, +Benedikt Daurer, +Benjamin Berg, +Benjamin Congdon, Benjamin Reedlunn, +Bernhard M. Wiedemann, +Bianca Gibson, Binglin Chang, +Björn Dahlgren, +Blaise Thompson, +Boaz Mohar, Bradley M. Froehle, Brandon Liu, +Brendan Zhang, +Brennan Magee, Brett Cannon, Brett Graham, Brian Mattern, Brian McLaughlin, Bruno Beltran, +Bruno Zohreh, CJ Carey, Cameron Bates, Cameron Davidson-Pilon, +Cameron Fackler, Carissa Brittain, Carl Michal, Carwyn Pelley, Casey Webster, Casper van der Wel, Charles Moad, +Charles Ruan, +Chen Karako, Chris Beaumont, Chris G, +Chris Holdgraf, Christian Brueffer, Christian Stade-Schuldt, Christoph Dann, +Christoph Deil, Christoph Gohlke, Christoph Hoffmann, Cimarron Mittelsteadt, +Cody Scot, +Colin, +Conner R. Phillips, Corey Farwell, +Craig Citro, Craig M, Craig Tenney, +DaCoEx, +Dakota Blair, +Damian, Damon McDougall, Dan Hickstein, +Dana, +Daniel C. Marcu, Daniel Hyams, +Daniel Laidig, Daniel O'Connor, +Danny Hermes, Dara Adib, Darren Dale, +DaveL17, +David A, David Anderson, David Haberthür, David Huard, David Kaplan, +David Kent, David Kua, -David Trémouilles, +David Stansby, +David Trémouilles, Dean Malmgren, +Derek Kim, +Derek Tropf, +Devashish Deshpande, +Diego Mora Cespedes, +Dietmar Schwertberger, +Dietrich Brunn, +Divyam Madaan, Dmitry Lupyan, +Dmitry Shachnev, DonaldSeo, Dora Fraeman, +DoriekeMG, +Dorota Jarecka, +Doug Blank, +Drew J. Sonne, Duncan Macleod, +Dylan Evans, +E. G. Patrick Bos, Edin Salkovic, +Egor Panfilov, Elena Glassman, Elias Pipping, +Elijah Schutz, Elliott Sales de Andrade, +Elvis Stansvik, Emil Mikulic, +Emlyn Price, Eric Dill, Eric Firing, +Eric Larson, Eric Ma, Eric O. LEBIGOT (EOL), +Eric Wieser, Erik Bray, +Erik M. Bray, +Erin Pintozzi, Eugen Beck, Eugene Yurtsev, Evan Davey, Ezra Peisach, +Fabian Kloosterman, +Fabian-Robert Stöter, Fabien Maussion, Fabio Zanini, +FedeMiorelli, Federico Ariza, Felipe, +Felix, +Felix Kohlgrüber, +Felix Yan, Fernando Perez, +Filip Dimitrovski, Filipe Fernandes, +Florencia Noriega, +Florian Le Bourdais, Florian Rhiem, Francesco Montesano, Francis Colas, +Franco Vaccari, +Francoise Provencher, +Frank Yu, François Magimel, +Gabe, +Gabriel Munteanu, +Gauravjeet, Gaute Hope, Gellule Xg, +Geoffrey Spear, Geoffroy Billotey, Gerald Storer, Giovanni, Graham Poulter, Gregory Ashton, Gregory R. Lee, +Grillard, Grégory Lielens, Guillaume Gay, +Guillermo Breto, Gustavo Braganca, +Gustavo Goretkin, +HHest, +Hajoon Choi, +Hakan Kucukdereli, Hans Dembinski, Hans Meine, Hans Moritz Günther, +Harshit Patni, Hassan Kibirige, +Hastings Greer, +Heath Henley, +Heiko Oberdiek, +Helder, +Henning Pohl, +Herbert Kruitbosch, Holger Peters, Hubert Holin, Ian Thomas, +Ida Hjorth, Ignas Anikevicius (gns_ank), Ilia Kurenkov, +Ilya Flyamer, +ImSoErgodic, +ImportanceOfBeingErnest, Ioannis Filippidis, +Isa Hassen, +Isaac Schwabacher, +Isaac Slavitt, Ismo Toijala, +J Alammar, J. Goutin, +Jaap Versteegh, Jack Kelly, +Jacob McDonald, Jae-Joon Lee, Jaime Fernandez, Jake Vanderplas, @@ -156,18 +279,25 @@ James A. Bednar, James Pallister, James R. Evans, JamesMakela, +Jamie Nunez, +Jan Schlüter, Jan Schulz, Jan-Philip Gehrcke, Jan-willem De Bleser, Jarrod Millman, Jascha Ulrich, Jason Grout, +Jason King, Jason Liw Yan Chong, Jason Miller, +Jason Neal, +Jason Zheng, JayP16, Jeff Lutgen, Jeff Whitaker, Jeffrey Bingham, +Jeffrey Hokanson @ Loki, +JelsB, Jens Hedegaard Nielsen, Jeremy Fix, Jeremy O'Donoghue, @@ -178,45 +308,80 @@ Jochen Voss, Jody Klymak, Joe Kington, Joel B. Mohler, +Johannes Wienke, +John Hoffman, John Hunter, +John Vandenberg, +Johnny Gill, +JojoBoulix, Jonathan Waltman, Jorrit Wronski, Josef Heinen, +Joseph Albert, +Joseph Fox-Rabinovitz, Joseph Jon Booker, +Joseph Martinot-Lagarde, José Ricardo, Jouni K. Seppänen, +Juan Nunez-Iglesias, +Julia Sprenger, Julian Mehne, Julian Taylor, +Julian V. Modesto, JulianCienfuegos, Julien Lhermitte, Julien Schueller, Julien Woillez, Julien-Charles Lévesque, +Jun Tan, +Justin Cai, +Jörg Dietrich, +Kacper Kowalik (Xarthisius), +Kanchana Ranasinghe, Kanwar245, Katy Huff, +Keerysanth Sribaskaran, Ken McIvor, +Kenneth Ma, Kevin Chan, Kevin Davies, +Kevin Ji, Kevin Keating, +Kevin Rose, +Kexuan Sun, +Kieran Ramos, Kimmo Palin, +Kjartan Myrdal, +Kjell Le, +Klara Gerlei, Konrad Förstner, Konstantin Tretyakov, Kristen M. Thyng, +Kyle Bridgemohansingh, +Kyler Brown, Lance Hepler, +Laptop11_ASPP2016, Larry Bradley, Leeonadoh, Lennart Fricke, Leo Singer, +Leon Yin, Levi Kilcher, +Liam Brannigan, Lion Krischer, +Lionel Miller, Lodato Luciano, Lori J, Loïc Estève, Loïc Séguin-C, +Luca Verginer, +Luis Pedro Coelho, +Maarten Baert, Magnus Nord, Majid alDosari, Maksym P, Manuel GOACOLOU, +Manuel Jung, Manuel Metz, Marc Abramowitz, Marcos Duarte, @@ -231,100 +396,169 @@ Martin Spacek, Martin Teichmann, Martin Thoma, Martin Ueding, +Massimo Santini, Masud Rahman, Mathieu Duponchelle, Matt Giuca, +Matt Hancock, Matt Klein, Matt Li, Matt Newville, Matt Shen, Matt Terry, +Matthew Bell, Matthew Brett, Matthew Emmett, Matthias Bussonnier, +Matthias Lüthi, Matthieu Caneill, +Matti Picus, Matěj Týč, Maximilian Albert, +Maximilian Maahn, +Maximilian Nöthe, Maximilian Trescher, Mellissa Cross, +Mher Kazandjian, Michael, Michael Droettboom, Michael Sarahan, +Michael Scott Cuthbert, +Michael Seifert, Michael Welter, Michiel de Hoon, Michka Popoff, +Mike Henninger, +Mike Jarvis, Mike Kaufman, Mikhail Korobov, MinRK, Minty Zhang, MirandaXM, Miriam Sierig, +Mitar, +Molly Rossow, +Moritz Boehle, +Mudit Surana, Muhammad Mehdi, +Naoya Kanai, +Nathan Goldbaum, +Nathan Musoke, +Nathaniel M. Beaver, Neil, Neil Crighton, Nelle Varoquaux, Niall Robinson, Nic Eggert, Nicholas Devenish, +Nick Garvey, +Nick Papior, Nick Semenkovich, +Nico Schlömer, Nicolas P. Rougier, Nicolas Pinto, +Nicolas Tessore, +Nik Quibin, Nikita Kniazev, Niklas Koep, Nikolay Vyahhi, +Nils Werner, +Ninad Bhat, Norbert Nemec, +Norman Fomferra, OceanWolf, Oleg Selivanov, Olga Botvinnik, Oliver Willekens, +Olivier, +Orso Meneghini, +Osarumwense, +Pankaj Pandey, Parfenov Sergey, Pascal Bugnion, +Pastafarianist, Patrick Chen, Patrick Marsh, Paul, Paul Barret, -Paul G, +Paul Ganssle, Paul Hobson, Paul Ivanov, +Paul Kirow, +Paul Romano, +Paul Seyfert, Pauli Virtanen, +Pavol Juhas, Per Parker, Perry Greenfield, Pete Bachant, +Pete Huang, +Pete Peterson, Peter Iannucci, +Peter Mortensen, Peter St. John, Peter Würtz, +Petr Danecek, Phil Elson, +Phil Ruffwind, Pierre Haessig, +Pierre de Buyl, Pim Schellart, Piti Ongmongkolkul, +Pranav Garg, +Przemysław Dąbek, Puneeth Chaganti, +Qingpeng "Q.P." Zhang, +RAKOTOARISON Herilalaina, Ramiro Gómez, Randy Olson, Reinier Heeres, Remi Rampin, +Richard Gowers, Richard Hattersley, Richard Trieu, Ricky, +Rishikesh, +Rob Harrigan, Robert Johansson, Robin Dunn, +Robin Neatherway, +Robin Wilson, Rohan Walker, Roland Wirth, +Ronald Hartley-Davies, +Roy Smith, +Rui Lopes, Russell Owen, RutgerK, +Ryan, Ryan Blomberg, Ryan D'Souza, Ryan Dale, Ryan May, +Ryan Morshead, Ryan Nelson, RyanPan, +Saket Choudhary, +Salganos, Salil Vanvari, +Salinder Sidhu, +Sam Vaughan, Sameer D'Costa, +Samson, +Samuel St-Jean, +Sander, Sandro Tosi, +Scott Howard, Scott Lasley, Scott Lawrence, Scott Stevenson, +Sean Farley, Sebastian Pinnau, Sebastian Raschka, +Sebastián Vanrell, +Seraphim Alvanides, +Sergey B Kirpichev, Sergey Kholodilov, Sergey Koposov, Silviu Tantos, @@ -333,136 +567,255 @@ Simon Gibbons, Skelpdar, Skipper Seabold, Slav Basharov, +Sourav Singh, Spencer McIntyre, Stanley, Simon, Stefan Lehmann, +Stefan Pfenninger, Stefan van der Walt, Stefano Rivera, +Stephan Erb, Stephen Horst, Sterling Smith, Steve Chaplin, Steven Silvester, +Steven Tilley, Stuart Mumford, +TD22057, +Tadeo Corradi, +Taehoon Lee, Takafumi Arakaki, Takeshi Kanmae, Tamas Gal, +Tanuj, +Ted Petrou, +Terrence J. Katzenbaer, +Terrence Katzenbaer, +The Gitter Badger, Thomas A Caswell, Thomas Hisch, Thomas Kluyver, Thomas Lake, +Thomas Mansencal, Thomas Robitaille, Thomas Spura, +Thomas VINCENT, +Thorsten Liebig, +Tian Xia, Till Stensitzki, +Tim Hoffmann, Timo Vanwynsberghe, +Tobias Froehlich, Tobias Hoppe, Tobias Megies, Todd Jennings, Todd Miller, +Tom, +Tom Augspurger, +Tom Dupré la Tour, Tomas Kazmar, Tony S Yu, Tor Colvin, Travis Oliphant, Trevor Bekolay, +Trish Gillett-Kawamoto, +Truong Pham, +Tuan Dung Tran, Ulrich Dobramysl, Umair Idris, +V. R, Vadim Markovtsev, Valentin Haenel, -Victor Zabalza, +Valentin Schmidt, +Vedant Nanda, +Vidur Satija, Viktor Kerkez, Vlad Seghete, Víctor Terrón, Víctor Zabalza, +WANG Aiyong, +Warren Weckesser, Wen Li, Wendell Smith, Werner F Bruhin, Wes Campaigne, Wieland Hoffmann, +Will Silva, +William Granados, +William Mallard, William Manley, Wouter Overmeire, Xiaowen Tang, +Xufeng Wang, Yann Tambouret, +Yao-Yuan Mao, Yaron de Leeuw, Yu Feng, Yunfei Yang, Yuri D'Elia, Yuval Langer, +ZWL, Zac Hatfield-Dodds, Zach Pincus, Zair Mubashar, +Zbigniew Jędrzejewski-Szmek, +ahed87, +akrherz, +alcinos, alex, +alvarosg, +aneda, anykraus, +apodemus, arokem, +as691454, aseagram, +ash13, aszilagyi, bblay, +bduick, bev-a-tron, blackw1ng, blah blah, +buefox, burrbull, butterw, cammil, captainwhippet, +cclauss, +ch3rn0v, chadawagner, chebee7i, +chelseatroy, +cknd, +cldssty, +clintval, danielballan, davidovitch, daydreamt, +deeenes, +deepyaman, +dlmccaffrey, domspad, donald, drevicko, e-q, elpres, endolith, +et2010, fardal, ffteja, fgb, fibersnet, +fredrik-1, frenchwr, +fuzzythecat, fvgoto, +gcallah, gitj, gluap, +gnaggnoyil, goir, +goldstarwebs, +greg-roper, +gregorybchris, +hannah, +helmiriawan, hugadams, +ilivni, insertroar, itziakos, +jacob-on-github, jbbrokaw, +jbhopkins, +jerrylui803, +jhelie, +jli, +jonchar, juan.gonzalez, kcrisman, +keithbriggs, kelsiegr, khyox, kikocorreoso, +klaus, +klonuo, kramer65, kshramt, +lboogaard, +legitz7, lichri12, limtaesu, +lspvic, +luz.paz, +lzkelley, +mamrehn, marky, masamson, mbyt, mcelrath, +mcquin, mdipierro, -mrkrd, +mitch, +mlub, +mobando, +muahah, +myyc, +navdeep rana, +nbrunett, +nemanja, +neok-m4700, +nepix32, nickystringer, +nmartensen, nwin, +ob, +pdubcali, pkienzle, +productivememberofsociety666, profholzer, pupssman, rahiel, +rebot, rhoef, rsnape, +ruin, +rvhbooth, +s0vereign, s9w, +scls19fr, +scott-vsi, sdementen, +serv-inc, +settheory, sfroid, +shaunwbell, +simonpf, +sindunuragarp, sohero, spiessbuerger, stahlous, +stone, +stonebig, switham, syngron, +thuvejan, +tmdavison, +tomoemon, +tonyyli, torfbolt, u55, ugurthemaster, +ultra-andy, +vab9, vbr, +vraelvrangr, +watkinrt, xbtsw, -and xuanyuansen. +xuanyuansen, +zhangeugenia, +zhoubecky, +Élie Gouzien Some earlier contributors not included above are (with apologies to any we have missed): diff --git a/doc/users/generate_credits.py b/doc/users/generate_credits.py index 2b676ab8a4db..ae48a4ff87c9 100755 --- a/doc/users/generate_credits.py +++ b/doc/users/generate_credits.py @@ -3,6 +3,9 @@ # This script generates credits.rst with an up-to-date list of contributors # to the matplotlib github repository. +from collections import Counter +import locale +import re import subprocess TEMPLATE = """.. Note: This file is auto-generated using generate_credits.py @@ -54,15 +57,30 @@ development and usefulness. """ +def check_duplicates(): + text = subprocess.check_output(['git', 'shortlog', '--summary', '--email']) + lines = text.decode('utf8').split('\n') + contributors = [line.split('\t', 1)[1].strip() for line in lines if line] + emails = [re.match('.*<(.*)>', line).group(1) for line in contributors] + email_counter = Counter(emails) + + if email_counter.most_common(1)[0][1] > 1: + print('DUPLICATE CHECK: The following email addesses are used with more ' + 'than one name.\nConsider adding them to .mailmap.\n') + for email, count in email_counter.items(): + if count > 1: + print('%s\n%s' % (email, '\n'.join(l for l in lines if email in l))) -def main(): + +def generate_credits(): text = subprocess.check_output(['git', 'shortlog', '--summary']) - contributors = [line.split('\t', 1)[1].strip() - for line in text.decode('utf8').split('\n') - if line] + lines = text.decode('utf8').split('\n') + contributors = [line.split('\t', 1)[1].strip() for line in lines if line] + contributors.sort(key=locale.strxfrm) with open('credits.rst', 'w') as f: f.write(TEMPLATE.format(contributors=',\n'.join(contributors))) if __name__ == '__main__': - main() \ No newline at end of file + check_duplicates() + generate_credits() From 4e60dfbcabdea700fc1f4c4c6884d88a53c0d8d5 Mon Sep 17 00:00:00 2001 From: Chris Holdgraf <choldgraf@berkeley.edu> Date: Sat, 9 Jun 2018 13:39:44 -0700 Subject: [PATCH 0772/1161] removing pandas dependency --- examples/lines_bars_and_markers/timeline.py | 37 +++++++++++---------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/examples/lines_bars_and_markers/timeline.py b/examples/lines_bars_and_markers/timeline.py index 008ef742a885..72150a841a11 100644 --- a/examples/lines_bars_and_markers/timeline.py +++ b/examples/lines_bars_and_markers/timeline.py @@ -12,7 +12,8 @@ import matplotlib.pyplot as plt import numpy as np -import pandas as pd +import matplotlib.dates as mdates +from datetime import datetime import urllib.request import json @@ -20,14 +21,14 @@ url = 'https://api.github.com/repos/matplotlib/matplotlib/releases' data = json.loads(urllib.request.urlopen(url).read().decode()) -releases = [] +names = [] +dates = [] for irelease in data: - releases.append((irelease['tag_name'], irelease['published_at'])) -releases = pd.DataFrame(releases, columns=['name', 'date']) -releases['date'] = pd.to_datetime(releases['date']) -# Remove release candidates and betas -releases = releases.loc[['rc' not in nm for nm in releases['name']]] -releases = releases.loc[['b' not in nm for nm in releases['name']]] + if 'rc' not in irelease['tag_name'] and 'b' not in irelease['tag_name']: + names.append(irelease['tag_name']) + # Convert date strings (e.g. 2014-10-18T18:56:23Z) to datetime + dates.append(datetime.strptime(irelease['published_at'], + "%Y-%m-%dT%H:%M:%SZ")) ############################################################################## # Next, we'll iterate through each date and plot it on a horizontal line. @@ -39,29 +40,29 @@ fig, ax = plt.subplots(figsize=(20, 5)) # Create the base line -start = releases['date'].min() -stop = releases['date'].max() +start = min(dates) +stop = max(dates) ax.plot((start, stop), (0, 0), 'k', alpha=.5) # Iterate through releases annotating each one -for ix, (iname, idate) in releases.iterrows(): - level = levels[ix % 6] +for ii, (iname, idate) in enumerate(zip(names, dates)): + level = levels[ii % 6] vert = 'top' if level < 0 else 'bottom' ax.scatter(idate, 0, s=100, facecolor='w', edgecolor='k', zorder=9999) # Plot a line up to the text - ax.plot((idate, idate), (0, level), - c='r', alpha=.7) + ax.plot((idate, idate), (0, level), c='r', alpha=.7) # Give the text a faint background and align it properly ax.text(idate, level, iname, horizontalalignment='right', verticalalignment=vert, fontsize=14, backgroundcolor=(1., 1., 1., .3)) ax.set(title="Matplotlib release dates") # Set the xticks formatting -xticks = pd.date_range(start, stop, freq='3M') -ax.set_xticks(xticks) -ax.set_xticklabels(xticks.strftime("%b %Y"), - rotation=45, horizontalalignment='right', fontsize=14) +# format xaxis with 3 month intervals +ax.get_xaxis().set_major_locator(mdates.MonthLocator(interval=3)) +ax.get_xaxis().set_major_formatter(mdates.DateFormatter("%b %Y")) +fig.autofmt_xdate() + # Remove components for a cleaner look plt.setp((ax.get_yticklabels() + ax.get_yticklines() + list(ax.spines.values())), visible=False) From 3df886b0f58b94c4bdf9f5f93a370370b1ad9812 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sun, 10 Jun 2018 09:48:07 +0200 Subject: [PATCH 0773/1161] Properly position markers in step plots. While it may appear costly to recache the path at every draw, this only occurs when using step plots with markers (a relatively rare case) and is still better than before the bug was introduced, when step plots used to need to be recomputed at every draw, regardless of whether markers are present. --- lib/matplotlib/lines.py | 22 ++++++++++++++++++---- lib/matplotlib/tests/test_lines.py | 14 ++++++++++++++ 2 files changed, 32 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/lines.py b/lib/matplotlib/lines.py index b9769574dc90..4bd773aead91 100644 --- a/lib/matplotlib/lines.py +++ b/lib/matplotlib/lines.py @@ -739,8 +739,8 @@ def draw(self, renderer): subslice = slice(max(i0 - 1, 0), i1 + 1) self.ind_offset = subslice.start self._transform_path(subslice) - - transf_path = self._get_transformed_path() + else: + subslice = None if self.get_path_effects(): from matplotlib.patheffects import PathEffectRenderer @@ -748,7 +748,8 @@ def draw(self, renderer): renderer.open_group('line2d', self.get_gid()) if self._lineStyles[self._linestyle] != '_draw_nothing': - tpath, affine = transf_path.get_transformed_path_and_affine() + tpath, affine = (self._get_transformed_path() + .get_transformed_path_and_affine()) if len(tpath.vertices): gc = renderer.new_gc() self._set_gc_clip(gc) @@ -796,7 +797,20 @@ def draw(self, renderer): gc.set_foreground(ec_rgba, isRGBA=True) marker = self._marker - tpath, affine = transf_path.get_transformed_points_and_affine() + + # Markers *must* be drawn ignoring the drawstyle (but don't pay the + # recaching if drawstyle is already "default"). + if self.get_drawstyle() != "default": + with cbook._setattr_cm( + self, _drawstyle="default", _transformed_path=None): + self.recache() + self._transform_path(subslice) + tpath, affine = (self._get_transformed_path() + .get_transformed_path_and_affine()) + else: + tpath, affine = (self._get_transformed_path() + .get_transformed_path_and_affine()) + if len(tpath.vertices): # subsample the markers if markevery is not None markevery = self.get_markevery() diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py index c0f4665fc1e8..a1ba6e764188 100644 --- a/lib/matplotlib/tests/test_lines.py +++ b/lib/matplotlib/tests/test_lines.py @@ -1,6 +1,8 @@ """ Tests specific to the lines module. """ + +from io import BytesIO import itertools import matplotlib.lines as mlines import pytest @@ -195,3 +197,15 @@ def test_nan_is_sorted(): assert line._is_sorted(np.array([1, 2, 3])) assert line._is_sorted(np.array([1, np.nan, 3])) assert not line._is_sorted([3, 5] + [np.nan] * 100 + [0, 2]) + + +def test_step_markers(): + fig, ax = plt.subplots() + ax.step([0, 1], "-o") + buf1 = BytesIO() + fig.savefig(buf1) + fig, ax = plt.subplots() + ax.plot([0, 0, 1], [0, 1, 1], "-o", markevery=[0, 2]) + buf2 = BytesIO() + fig.savefig(buf2) + assert buf1.getvalue() == buf2.getvalue() From aa5537af653263ff6ed124d2f634d6e372584efa Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Sun, 10 Jun 2018 08:22:38 -0700 Subject: [PATCH 0774/1161] FIX: don't include text at -inf in bbox --- lib/matplotlib/axis.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/axis.py b/lib/matplotlib/axis.py index a659507b9b08..137128c9c72b 100644 --- a/lib/matplotlib/axis.py +++ b/lib/matplotlib/axis.py @@ -1145,8 +1145,10 @@ def get_tightbbox(self, renderer): bb = [] for a in [self.label, self.offsetText]: - if a.get_visible(): - bb.append(a.get_window_extent(renderer)) + bbox = a.get_window_extent(renderer) + if (np.isfinite(bbox.width) and np.isfinite(bbox.height) and + a.get_visible()): + bb.append(bbox) bb.extend(ticklabelBoxes) bb.extend(ticklabelBoxes2) From 29a495aa6c877977df73aed5b7873e1411b80ce3 Mon Sep 17 00:00:00 2001 From: Chris Holdgraf <choldgraf@berkeley.edu> Date: Sun, 10 Jun 2018 08:37:10 -0700 Subject: [PATCH 0775/1161] removing url dependency and resizing fig --- examples/lines_bars_and_markers/timeline.py | 30 +++++++++++---------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/examples/lines_bars_and_markers/timeline.py b/examples/lines_bars_and_markers/timeline.py index 72150a841a11..6b508ddc5e46 100644 --- a/examples/lines_bars_and_markers/timeline.py +++ b/examples/lines_bars_and_markers/timeline.py @@ -14,21 +14,23 @@ import numpy as np import matplotlib.dates as mdates from datetime import datetime -import urllib.request -import json -# Grab a list of Matplotlib releases -url = 'https://api.github.com/repos/matplotlib/matplotlib/releases' -data = json.loads(urllib.request.urlopen(url).read().decode()) +# A list of Matplotlib releases and their dates +# Taken from https://api.github.com/repos/matplotlib/matplotlib/releases +names = ['v2.2.2', 'v2.2.1', 'v2.2.0', 'v2.1.2', 'v2.1.1', 'v2.1.0', 'v2.0.2', + 'v2.0.1', 'v2.0.0', 'v1.5.3', 'v1.5.2', 'v1.5.1', 'v1.5.0', 'v1.4.3', + 'v1.4.2', 'v1.4.1', 'v1.4.0'] -names = [] -dates = [] -for irelease in data: - if 'rc' not in irelease['tag_name'] and 'b' not in irelease['tag_name']: - names.append(irelease['tag_name']) - # Convert date strings (e.g. 2014-10-18T18:56:23Z) to datetime - dates.append(datetime.strptime(irelease['published_at'], - "%Y-%m-%dT%H:%M:%SZ")) +dates = ['2018-03-17T03:00:07Z', '2018-03-16T22:06:39Z', + '2018-03-06T12:53:32Z', '2018-01-18T04:56:47Z', + '2017-12-10T04:47:38Z', '2017-10-07T22:35:12Z', + '2017-05-10T02:11:15Z', '2017-05-02T01:59:49Z', + '2017-01-17T02:59:36Z', '2016-09-09T03:00:52Z', + '2016-07-03T15:52:01Z', '2016-01-10T22:38:50Z', + '2015-10-29T21:40:23Z', '2015-02-16T04:22:54Z', + '2014-10-26T03:24:13Z', '2014-10-18T18:56:23Z', + '2014-08-26T21:06:04Z'] +dates = [datetime.strptime(ii, "%Y-%m-%dT%H:%M:%SZ") for ii in dates] ############################################################################## # Next, we'll iterate through each date and plot it on a horizontal line. @@ -37,7 +39,7 @@ # Note that Matplotlib will automatically plot datetime inputs. levels = np.array([-5, 5, -3, 3, -1, 1]) -fig, ax = plt.subplots(figsize=(20, 5)) +fig, ax = plt.subplots(figsize=(8, 5)) # Create the base line start = min(dates) From 1f3c248d6e3cd0ce2d7f9bfe7f476bd2966ca65c Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sun, 27 May 2018 18:37:19 +0200 Subject: [PATCH 0776/1161] update CSS of admonitions --- doc/_static/mpl.css | 130 +++++++++++++++++++++++-------------------- doc/api/axes_api.rst | 1 + 2 files changed, 70 insertions(+), 61 deletions(-) diff --git a/doc/_static/mpl.css b/doc/_static/mpl.css index 0417be90549d..d31493ed530a 100644 --- a/doc/_static/mpl.css +++ b/doc/_static/mpl.css @@ -395,101 +395,115 @@ div.sphinxsidebar ul.toc ul li { padding: 0; } -div.admonition, div.warning { - font-size: 0.9em; +/* admonitions */ + +div.admonition, div.deprecated { + margin: 10px 0px; + padding: 0.7em 1.4em; + border-left: 5px solid; + } + +div.note { + background-color: #eee; + border-color: #ccc; } +div.seealso { + background-color: #EAF1F7; + border-color: #8EADCC; + color: #3F5E7F; + } + div.warning { - color: #b94a48; background-color: #F3E5E5; - border: 1px solid #eed3d7; + border-color: #CC8E8E; + color: #7F1919; } div.deprecated { - color: #606060; background-color: #f0f0f0; - border: 1px solid #404040; + border-color: #404040; + color: #606060; } div.deprecated span.versionmodified { - color: #606060; font-weight: bold; } div.green, div.hint { - color: #468847; - background-color: #dff0d8; - border: 1px solid #d6e9c6; -} - -div.admonition p, div.warning p, div.deprecated p { - margin: 0.5em 1em 0.5em 1em; - padding: 0; + background-color: #E1F2DA; + border-color: #A1CC8E; + color: #3F7F3F; } -div.admonition pre, div.warning pre { - margin: 0.4em 1em 0.4em 1em; +div.admonition p.admonition-title { + font-size: 1.2em; + font-weight: bold; } -div.admonition p.admonition-title + p { - display: inline; +div.admonition p, div.deprecated p { + margin: 0.6em 0; + padding: 0; } - -div.admonition p.admonition-title, -div.warning p.admonition-title { - margin: 0; - font-weight: bold; - font-size: 14px; +div.admonition pre { + margin: 0.6em 0; } -div.admonition, div.deprecated { - margin-bottom: 10px; - margin-top: 10px; - padding: 7px; - border-radius: 4px; - -moz-border-radius: 4px; - } - -div.note { - background-color: #eee; - border: 1px solid #ccc; +div.admonition ul, div.admonition ol { + margin: 0.1em 0.5em 0.5em 2em; + padding: 0; } div.topic { - background-color: #eee; - border: 1px solid #CCC; + background-color: #f4f4f4; + border: 2px solid #ccc; + border-left: 0px; + border-right: 0px; margin: 10px 0px; - padding: 7px 7px 0px; - border-radius: 4px; - -moz-border-radius: 4px; + padding: 1em 1.4em; } p.topic-title { - font-size: 1.1em; + font-size: 1.2em; font-weight: bold; } -div.seealso { - background-color: #FFFBE8; - border: 1px solid #fbeed5; - color: #AF8A4B; - } +.contents ul { + list-style-type: none; + padding-left: 2em; +} -div.warning { - border: 1px solid #940000; +/* first level */ +.contents > ul { + padding-left: 0; } -div.warning p.admonition-title { - border-bottom-color: #940000; +.multicol-toc > ul { + column-width: 250px; + column-gap: 60px; + -webkit-column-width: 250px; + -moz-column-width: 250px; + column-rule: 1px solid #ccc; } -div.admonition ul, div.admonition ol, -div.warning ul, div.warning ol { - margin: 0.1em 0.5em 0.5em 3em; - padding: 0; +.multicol-toc > li { + /* break inside is not yet broadly supported, but we just try */ + break-inside: avoid-column; + -moz-break-inside: avoid-column; + -webkit-break-inside: avoid-column; +} + +.contents > ul > li { + padding-top: 0.7em; } +.contents > ul > li > a { + font-size: 1.0em; +} + + + div.versioninfo { margin: 1em 0 0 0; border: 1px solid #ccc; @@ -499,7 +513,6 @@ div.versioninfo { font-size: 0.9em; } - a.headerlink { color: #c60f0f!important; font-size: 1em; @@ -721,11 +734,6 @@ p.rubric { font-size: 19px; margin: 15px 0 10px 0; } -p.admonition-title { - font-weight: bold; - text-decoration: underline; -} - #matplotlib-examples ul li{ font-size: large; diff --git a/doc/api/axes_api.rst b/doc/api/axes_api.rst index cfa3231b3593..42f7e23f7074 100644 --- a/doc/api/axes_api.rst +++ b/doc/api/axes_api.rst @@ -11,6 +11,7 @@ :depth: 2 :local: :backlinks: entry + :class: multicol-toc Plotting From c3d012bce8f2d0f86aa65c36e640d70a9e2299c5 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sun, 27 May 2018 20:09:48 +0200 Subject: [PATCH 0777/1161] update CSS of versionmodified --- doc/_static/mpl.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/doc/_static/mpl.css b/doc/_static/mpl.css index d31493ed530a..836237d757f5 100644 --- a/doc/_static/mpl.css +++ b/doc/_static/mpl.css @@ -426,8 +426,13 @@ div.deprecated { color: #606060; } +span.versionmodified { + font-style: italic; +} + div.deprecated span.versionmodified { font-weight: bold; + font-style: normal; } div.green, div.hint { From ca598f28953ae4887a67e2449b7f3e7591f9cfcb Mon Sep 17 00:00:00 2001 From: fredrik-1 <sandquist.fredrik@gmail.com> Date: Sun, 10 Jun 2018 12:01:19 +0200 Subject: [PATCH 0778/1161] plt.box_bug_fix --- lib/matplotlib/pyplot.py | 13 +++++++++---- lib/matplotlib/tests/test_pyplot.py | 12 ++++++++++++ 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index a2a40567628b..be4adfb521ef 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -1282,20 +1282,25 @@ def tight_layout(pad=1.08, h_pad=None, w_pad=None, rect=None): def box(on=None): """ - Turn the axes box on or off. + Turn the axes box on or off on the current axes. Parameters ---------- on : bool or None - The new axes box state. If ``None``, toggle the state. + The new `~matplotlib.axes.Axes` box state. If ``None``, toggle + the state. + + See Also + -------- + :meth:`matplotlib.axes.Axes.set_frame_on` + :meth:`matplotlib.axes.Axes.get_frame_on` """ ax = gca() - on = _string_to_bool(on) if on is None: on = not ax.get_frame_on() + on = _string_to_bool(on) ax.set_frame_on(on) - ## Axis ## diff --git a/lib/matplotlib/tests/test_pyplot.py b/lib/matplotlib/tests/test_pyplot.py index e939d440060b..b3bb30474f04 100644 --- a/lib/matplotlib/tests/test_pyplot.py +++ b/lib/matplotlib/tests/test_pyplot.py @@ -19,3 +19,15 @@ def test_pyplot_up_to_date(): assert orig_contents == new_contents finally: Path(plt.__file__).write_text(orig_contents) + + +def test_pyplot_box(): + fig, ax = plt.subplots() + plt.box(False) + assert not ax.get_frame_on() + plt.box(True) + assert ax.get_frame_on() + plt.box() + assert not ax.get_frame_on() + plt.box() + assert ax.get_frame_on() From a420913064d222a7123f49a39d3c633d2f2aacb9 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Mon, 11 Jun 2018 10:38:29 -0700 Subject: [PATCH 0779/1161] FIX: better default spine path (for logit) --- lib/matplotlib/spines.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/matplotlib/spines.py b/lib/matplotlib/spines.py index a47c14a90073..7c0bcbc873f7 100644 --- a/lib/matplotlib/spines.py +++ b/lib/matplotlib/spines.py @@ -481,15 +481,15 @@ def linear_spine(cls, axes, spine_type, **kwargs): """ (staticmethod) Returns a linear :class:`Spine`. """ - # all values of 13 get replaced upon call to set_bounds() + # all values of 0.999 get replaced upon call to set_bounds() if spine_type == 'left': - path = mpath.Path([(0.0, 13), (0.0, 13)]) + path = mpath.Path([(0.0, 0.999), (0.0, 0.999)]) elif spine_type == 'right': - path = mpath.Path([(1.0, 13), (1.0, 13)]) + path = mpath.Path([(1.0, 0.999), (1.0, 0.999)]) elif spine_type == 'bottom': - path = mpath.Path([(13, 0.0), (13, 0.0)]) + path = mpath.Path([(0.999, 0.0), (0.999, 0.0)]) elif spine_type == 'top': - path = mpath.Path([(13, 1.0), (13, 1.0)]) + path = mpath.Path([(0.999, 1.0), (0.999, 1.0)]) else: raise ValueError('unable to make path for spine "%s"' % spine_type) result = cls(axes, spine_type, path, **kwargs) From 271836dd510da2f107bdcd9671c0d270c261e838 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sun, 10 Jun 2018 20:06:58 +0200 Subject: [PATCH 0780/1161] update CSS of signatures --- doc/_static/mpl.css | 55 +++++++++++++++++++++++++++++---------------- 1 file changed, 36 insertions(+), 19 deletions(-) diff --git a/doc/_static/mpl.css b/doc/_static/mpl.css index 836237d757f5..6125c3661395 100644 --- a/doc/_static/mpl.css +++ b/doc/_static/mpl.css @@ -142,10 +142,6 @@ dt:target, background-color: #ffffee; } -dl.method, dl.attribute { - border-top: 1px solid #aaa; -} - dl.glossary dt { font-weight: bold; font-size: 1.1em; @@ -677,38 +673,59 @@ table.docutils td { } -dl.class em, dl.function em, dl.class big, dl.function big { - font-weight: normal; - font-family: monospace; -} - -dl.class dd, dl.function dd { - padding: 10px; +/*** function and class description ***/ +/* top-level definitions */ +dl.class, dl.function { + border-top: 1px solid #888; + padding-top: 6px; + margin-top: 20px; } -/* function and class description */ -dl.function, dl.method, dl.attribute { +dl.method, dl.classmethod, dl.staticmethod, dl.attribute { border-top: 1px solid #ccc; padding-top: 6px; } -dl.function { - border-top: 1px solid #888; - margin-top: 15px; +em.property { + margin-right: 4px; } -dl.class { - padding-top: 6px; - margin-top: 15px; +.sig-paren { + font-size: 14px; +} + +.sig-paren ~ em { + font-weight: normal; + font-family: monospace; + font-size: 14px; +} + +dl.class big, dl.function big { + font-weight: normal; + font-family: monospace; +} + +dl.class dd, dl.function dd { + padding: 10px; +} + +dl.class > dd { + padding: 10px; + padding-left: 35px; + margin-left: 0px; + border-left: 5px solid #f8f8f8; } .descclassname { color: #aaa; font-weight: normal; font-family: monospace; + font-size: 14px; } + .descname { font-family: monospace; + font-size: 14px; } table.docutils.field-list { From 3ca72067ddb0618247466fc8111296a02e34a0fe Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Tue, 12 Jun 2018 00:00:36 +0200 Subject: [PATCH 0781/1161] doc CSS: better vertical positioning of text in banners --- doc/_static/mpl.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/_static/mpl.css b/doc/_static/mpl.css index 6125c3661395..5d714ae455e8 100644 --- a/doc/_static/mpl.css +++ b/doc/_static/mpl.css @@ -810,7 +810,7 @@ figcaption { font-weight: bold; left: 0; min-height: 3em; - padding: 0.5em; + padding: 0.7em; top: 0; width: 100%; z-index: 10000; @@ -829,7 +829,7 @@ figcaption { font-weight: bold; left: 0; min-height: 3em; - padding: 0.5em; + padding: 0.7em; position: fixed; top: 0; width: 100%; From aae124bc60a74af48b61d4d9874db5beece9b481 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Tue, 12 Jun 2018 04:11:55 +0200 Subject: [PATCH 0782/1161] update CSS of tables --- doc/_static/mpl.css | 88 +++++++++++++++++++++++++++++++-------------- 1 file changed, 62 insertions(+), 26 deletions(-) diff --git a/doc/_static/mpl.css b/doc/_static/mpl.css index 5d714ae455e8..5a9acd280881 100644 --- a/doc/_static/mpl.css +++ b/doc/_static/mpl.css @@ -290,10 +290,6 @@ p { margin: 0.8em 0 0.8em 0; } -p.rubric { - font-weight: bold; -} - h1 { margin: 0.5em 0em; padding-top: 0.5em; @@ -618,12 +614,51 @@ ul.keywordmatches li.goodmatch a { table.docutils { border-spacing: 2px; border-collapse: collapse; - border-top-width: 1px; - border-right-width: 0px; - border-bottom-width: 1px; - border-left-width: 0px; + border: 0px; +} + +table.docutils th { + border-width: 1px 0px; + border-color: #888; + background-color: #f0f0f0; + width: 100px; +} + +table.docutils td { + border-width: 1px 0px; + border-color: #ccc; } +table.docutils tr:last-of-type td { + border-bottom-color: #888; +} + +/* Section titles within classes */ +dl.class p.rubric { + font-size: 16px; +} + +/* Attribute tables */ +dl.class p.rubric + table.docutils { + margin-left: 0px; + margin-right: 0px; + margin-bottom: 1.5em; + border-top: 1px solid #888; + border-bottom: 1px solid #888; +} + +dl.class p.rubric + table.docutils td { + padding-left: 0px; + border-color: #ccc; +} + +dl.class p.rubric + table.docutils td:first-of-type > strong { + font-family: monospace; + font-size: 14px; + font-weight: normal; +} + + /* module summary table */ .longtable.docutils { font-size: 12px; @@ -640,17 +675,29 @@ table.docutils { /* tables inside parameter descriptions */ td.field-body table.property-table { width: 100%; + border-spacing: 2px; + border-collapse: collapse; + border: 0px; } td.field-body table.property-table th { padding: 2px 10px; - border: 0; + border-width: 1px 0px; + border-color: #888; + background-color: #f0f0f0; } td.field-body table.property-table td { padding: 2px 10px; + border-width: 1px 0px; + border-color: #ccc; } +td.field-body table.property-table tr:last-of-type td { + border-bottom-color: #888; +} + + /* function and class description */ .descclassname { color: #aaa; @@ -661,18 +708,6 @@ td.field-body table.property-table td { font-family: monospace; } - -table.docutils th { - padding: 1px 8px 1px 5px; - background-color: #eee; - width: 100px; -} - -table.docutils td { - border-width: 1px 0 1px 0; -} - - /*** function and class description ***/ /* top-level definitions */ dl.class, dl.function { @@ -728,29 +763,30 @@ dl.class > dd { font-size: 14px; } +/* parameter section table */ table.docutils.field-list { width: 100%; } - -.docutils.field-list th { +.docutils.field-list th.field-name { background-color: #eee; padding: 10px; text-align: left; vertical-align: top; width: 125px; } -.docutils.field-list td { +.docutils.field-list td.field-body { padding: 10px 10px 10px 20px; text-align: left; vertical-align: top; } -.docutils.field-list td blockquote p { +.docutils.field-list td.field-body blockquote p { font-size: 13px; line-height: 18px; } -.docutils.field-list td blockquote p ul li{ +.docutils.field-list td.field-body blockquote p ul li{ font-size: 13px; } + p.rubric { font-weight: bold; font-size: 19px; From e213f4bc48ab6e5e24519048d3515d20f484e5f1 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Tue, 12 Jun 2018 10:27:24 -0700 Subject: [PATCH 0783/1161] TST: add test for finite bbox on logit --- lib/matplotlib/tests/test_scale.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/tests/test_scale.py b/lib/matplotlib/tests/test_scale.py index 07cebd56f7db..aeab44e026dd 100644 --- a/lib/matplotlib/tests/test_scale.py +++ b/lib/matplotlib/tests/test_scale.py @@ -17,7 +17,7 @@ def test_log_scales(): @image_comparison(baseline_images=['logit_scales'], remove_text=True, extensions=['png']) def test_logit_scales(): - ax = plt.figure().add_subplot(111, xscale='logit') + fig, ax = plt.subplots() # Typical extinction curve for logit x = np.array([0.001, 0.003, 0.01, 0.03, 0.1, 0.2, 0.3, 0.4, 0.5, @@ -25,7 +25,11 @@ def test_logit_scales(): y = 1.0 / x ax.plot(x, y) + ax.set_xscale('logit') ax.grid(True) + bbox = ax.get_tightbbox(fig.canvas.get_renderer()) + assert np.isfinite(bbox.x0) + assert np.isfinite(bbox.y0) def test_log_scatter(): From 14eadeb27764d367c30fd41d6a3be6bb9089448e Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Tue, 12 Jun 2018 12:43:16 -0700 Subject: [PATCH 0784/1161] FIX: pathlib in nbagg --- lib/matplotlib/backends/backend_nbagg.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/backends/backend_nbagg.py b/lib/matplotlib/backends/backend_nbagg.py index da52a6fe9e7e..26ff6a2eafc4 100644 --- a/lib/matplotlib/backends/backend_nbagg.py +++ b/lib/matplotlib/backends/backend_nbagg.py @@ -7,6 +7,7 @@ import io import json import os +import pathlib import uuid from IPython.display import display, Javascript, HTML @@ -111,7 +112,8 @@ def get_javascript(cls, stream=None): else: output = stream super().get_javascript(stream=output) - output.write((Path(__file__).parent / "web_backend/js/nbagg_mpl.js") + output.write((pathlib.Path(__file__).parent + / "web_backend/js/nbagg_mpl.js") .read_text(encoding="utf-8")) if stream is None: return output.getvalue() From 7e56deb5a2bd028c6a7e05525f70d55abf1d1eb0 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Tue, 12 Jun 2018 13:13:17 -0700 Subject: [PATCH 0785/1161] TST: add test for notebook executing --- lib/matplotlib/tests/test_backend_nbagg.py | 31 + lib/matplotlib/tests/test_nbagg_01.ipynb | 883 +++++++++++++++++++++ 2 files changed, 914 insertions(+) create mode 100644 lib/matplotlib/tests/test_backend_nbagg.py create mode 100644 lib/matplotlib/tests/test_nbagg_01.ipynb diff --git a/lib/matplotlib/tests/test_backend_nbagg.py b/lib/matplotlib/tests/test_backend_nbagg.py new file mode 100644 index 000000000000..4c1d7636d9b9 --- /dev/null +++ b/lib/matplotlib/tests/test_backend_nbagg.py @@ -0,0 +1,31 @@ + +import os +import subprocess +import tempfile +import nbformat + + +# From https://blog.thedataincubator.com/2016/06/testing-jupyter-notebooks/ + +def _notebook_run(nb_file): + """Execute a notebook via nbconvert and collect output. + :returns (parsed nb object, execution errors) + """ + with tempfile.NamedTemporaryFile(suffix=".ipynb") as fout: + args = ["jupyter", "nbconvert", "--to", "notebook", "--execute", + "--ExecutePreprocessor.timeout=500", + "--output", fout.name, nb_file] + subprocess.check_call(args) + + fout.seek(0) + nb = nbformat.read(fout, nbformat.current_nbformat) + + errors = [output for cell in nb.cells if "outputs" in cell + for output in cell["outputs"] + if output.output_type == "error"] + return nb, errors + + +def test_ipynb(): + nb, errors = _notebook_run('lib/matplotlib/tests/test_nbagg_01.ipynb') + assert errors == [] diff --git a/lib/matplotlib/tests/test_nbagg_01.ipynb b/lib/matplotlib/tests/test_nbagg_01.ipynb new file mode 100644 index 000000000000..c8839afe8ddd --- /dev/null +++ b/lib/matplotlib/tests/test_nbagg_01.ipynb @@ -0,0 +1,883 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "%matplotlib notebook\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false, + "scrolled": false + }, + "outputs": [ + { + "data": { + "application/javascript": [ + "/* Put everything inside the global mpl namespace */\n", + "window.mpl = {};\n", + "\n", + "\n", + "mpl.get_websocket_type = function() {\n", + " if (typeof(WebSocket) !== 'undefined') {\n", + " return WebSocket;\n", + " } else if (typeof(MozWebSocket) !== 'undefined') {\n", + " return MozWebSocket;\n", + " } else {\n", + " alert('Your browser does not have WebSocket support.' +\n", + " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", + " 'Firefox 4 and 5 are also supported but you ' +\n", + " 'have to enable WebSockets in about:config.');\n", + " };\n", + "}\n", + "\n", + "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n", + " this.id = figure_id;\n", + "\n", + " this.ws = websocket;\n", + "\n", + " this.supports_binary = (this.ws.binaryType != undefined);\n", + "\n", + " if (!this.supports_binary) {\n", + " var warnings = document.getElementById(\"mpl-warnings\");\n", + " if (warnings) {\n", + " warnings.style.display = 'block';\n", + " warnings.textContent = (\n", + " \"This browser does not support binary websocket messages. \" +\n", + " \"Performance may be slow.\");\n", + " }\n", + " }\n", + "\n", + " this.imageObj = new Image();\n", + "\n", + " this.context = undefined;\n", + " this.message = undefined;\n", + " this.canvas = undefined;\n", + " this.rubberband_canvas = undefined;\n", + " this.rubberband_context = undefined;\n", + " this.format_dropdown = undefined;\n", + "\n", + " this.image_mode = 'full';\n", + "\n", + " this.root = $('<div/>');\n", + " this._root_extra_style(this.root)\n", + " this.root.attr('style', 'display: inline-block');\n", + "\n", + " $(parent_element).append(this.root);\n", + "\n", + " this._init_header(this);\n", + " this._init_canvas(this);\n", + " this._init_toolbar(this);\n", + "\n", + " var fig = this;\n", + "\n", + " this.waiting = false;\n", + "\n", + " this.ws.onopen = function () {\n", + " fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n", + " fig.send_message(\"send_image_mode\", {});\n", + " if (mpl.ratio != 1) {\n", + " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", + " }\n", + " fig.send_message(\"refresh\", {});\n", + " }\n", + "\n", + " this.imageObj.onload = function() {\n", + " if (fig.image_mode == 'full') {\n", + " // Full images could contain transparency (where diff images\n", + " // almost always do), so we need to clear the canvas so that\n", + " // there is no ghosting.\n", + " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", + " }\n", + " fig.context.drawImage(fig.imageObj, 0, 0);\n", + " };\n", + "\n", + " this.imageObj.onunload = function() {\n", + " fig.ws.close();\n", + " }\n", + "\n", + " this.ws.onmessage = this._make_on_message_function(this);\n", + "\n", + " this.ondownload = ondownload;\n", + "}\n", + "\n", + "mpl.figure.prototype._init_header = function() {\n", + " var titlebar = $(\n", + " '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n", + " 'ui-helper-clearfix\"/>');\n", + " var titletext = $(\n", + " '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n", + " 'text-align: center; padding: 3px;\"/>');\n", + " titlebar.append(titletext)\n", + " this.root.append(titlebar);\n", + " this.header = titletext[0];\n", + "}\n", + "\n", + "\n", + "\n", + "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n", + "\n", + "}\n", + "\n", + "\n", + "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n", + "\n", + "}\n", + "\n", + "mpl.figure.prototype._init_canvas = function() {\n", + " var fig = this;\n", + "\n", + " var canvas_div = $('<div/>');\n", + "\n", + " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n", + "\n", + " function canvas_keyboard_event(event) {\n", + " return fig.key_event(event, event['data']);\n", + " }\n", + "\n", + " canvas_div.keydown('key_press', canvas_keyboard_event);\n", + " canvas_div.keyup('key_release', canvas_keyboard_event);\n", + " this.canvas_div = canvas_div\n", + " this._canvas_extra_style(canvas_div)\n", + " this.root.append(canvas_div);\n", + "\n", + " var canvas = $('<canvas/>');\n", + " canvas.addClass('mpl-canvas');\n", + " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n", + "\n", + " this.canvas = canvas[0];\n", + " this.context = canvas[0].getContext(\"2d\");\n", + "\n", + " var backingStore = this.context.backingStorePixelRatio ||\n", + "\tthis.context.webkitBackingStorePixelRatio ||\n", + "\tthis.context.mozBackingStorePixelRatio ||\n", + "\tthis.context.msBackingStorePixelRatio ||\n", + "\tthis.context.oBackingStorePixelRatio ||\n", + "\tthis.context.backingStorePixelRatio || 1;\n", + "\n", + " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n", + "\n", + " var rubberband = $('<canvas/>');\n", + " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n", + "\n", + " var pass_mouse_events = true;\n", + "\n", + " canvas_div.resizable({\n", + " start: function(event, ui) {\n", + " pass_mouse_events = false;\n", + " },\n", + " resize: function(event, ui) {\n", + " fig.request_resize(ui.size.width, ui.size.height);\n", + " },\n", + " stop: function(event, ui) {\n", + " pass_mouse_events = true;\n", + " fig.request_resize(ui.size.width, ui.size.height);\n", + " },\n", + " });\n", + "\n", + " function mouse_event_fn(event) {\n", + " if (pass_mouse_events)\n", + " return fig.mouse_event(event, event['data']);\n", + " }\n", + "\n", + " rubberband.mousedown('button_press', mouse_event_fn);\n", + " rubberband.mouseup('button_release', mouse_event_fn);\n", + " // Throttle sequential mouse events to 1 every 20ms.\n", + " rubberband.mousemove('motion_notify', mouse_event_fn);\n", + "\n", + " rubberband.mouseenter('figure_enter', mouse_event_fn);\n", + " rubberband.mouseleave('figure_leave', mouse_event_fn);\n", + "\n", + " canvas_div.on(\"wheel\", function (event) {\n", + " event = event.originalEvent;\n", + " event['data'] = 'scroll'\n", + " if (event.deltaY < 0) {\n", + " event.step = 1;\n", + " } else {\n", + " event.step = -1;\n", + " }\n", + " mouse_event_fn(event);\n", + " });\n", + "\n", + " canvas_div.append(canvas);\n", + " canvas_div.append(rubberband);\n", + "\n", + " this.rubberband = rubberband;\n", + " this.rubberband_canvas = rubberband[0];\n", + " this.rubberband_context = rubberband[0].getContext(\"2d\");\n", + " this.rubberband_context.strokeStyle = \"#000000\";\n", + "\n", + " this._resize_canvas = function(width, height) {\n", + " // Keep the size of the canvas, canvas container, and rubber band\n", + " // canvas in synch.\n", + " canvas_div.css('width', width)\n", + " canvas_div.css('height', height)\n", + "\n", + " canvas.attr('width', width * mpl.ratio);\n", + " canvas.attr('height', height * mpl.ratio);\n", + " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n", + "\n", + " rubberband.attr('width', width);\n", + " rubberband.attr('height', height);\n", + " }\n", + "\n", + " // Set the figure to an initial 600x600px, this will subsequently be updated\n", + " // upon first draw.\n", + " this._resize_canvas(600, 600);\n", + "\n", + " // Disable right mouse context menu.\n", + " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n", + " return false;\n", + " });\n", + "\n", + " function set_focus () {\n", + " canvas.focus();\n", + " canvas_div.focus();\n", + " }\n", + "\n", + " window.setTimeout(set_focus, 100);\n", + "}\n", + "\n", + "mpl.figure.prototype._init_toolbar = function() {\n", + " var fig = this;\n", + "\n", + " var nav_element = $('<div/>')\n", + " nav_element.attr('style', 'width: 100%');\n", + " this.root.append(nav_element);\n", + "\n", + " // Define a callback function for later on.\n", + " function toolbar_event(event) {\n", + " return fig.toolbar_button_onclick(event['data']);\n", + " }\n", + " function toolbar_mouse_event(event) {\n", + " return fig.toolbar_button_onmouseover(event['data']);\n", + " }\n", + "\n", + " for(var toolbar_ind in mpl.toolbar_items) {\n", + " var name = mpl.toolbar_items[toolbar_ind][0];\n", + " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", + " var image = mpl.toolbar_items[toolbar_ind][2];\n", + " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", + "\n", + " if (!name) {\n", + " // put a spacer in here.\n", + " continue;\n", + " }\n", + " var button = $('<button/>');\n", + " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n", + " 'ui-button-icon-only');\n", + " button.attr('role', 'button');\n", + " button.attr('aria-disabled', 'false');\n", + " button.click(method_name, toolbar_event);\n", + " button.mouseover(tooltip, toolbar_mouse_event);\n", + "\n", + " var icon_img = $('<span/>');\n", + " icon_img.addClass('ui-button-icon-primary ui-icon');\n", + " icon_img.addClass(image);\n", + " icon_img.addClass('ui-corner-all');\n", + "\n", + " var tooltip_span = $('<span/>');\n", + " tooltip_span.addClass('ui-button-text');\n", + " tooltip_span.html(tooltip);\n", + "\n", + " button.append(icon_img);\n", + " button.append(tooltip_span);\n", + "\n", + " nav_element.append(button);\n", + " }\n", + "\n", + " var fmt_picker_span = $('<span/>');\n", + "\n", + " var fmt_picker = $('<select/>');\n", + " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n", + " fmt_picker_span.append(fmt_picker);\n", + " nav_element.append(fmt_picker_span);\n", + " this.format_dropdown = fmt_picker[0];\n", + "\n", + " for (var ind in mpl.extensions) {\n", + " var fmt = mpl.extensions[ind];\n", + " var option = $(\n", + " '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n", + " fmt_picker.append(option)\n", + " }\n", + "\n", + " // Add hover states to the ui-buttons\n", + " $( \".ui-button\" ).hover(\n", + " function() { $(this).addClass(\"ui-state-hover\");},\n", + " function() { $(this).removeClass(\"ui-state-hover\");}\n", + " );\n", + "\n", + " var status_bar = $('<span class=\"mpl-message\"/>');\n", + " nav_element.append(status_bar);\n", + " this.message = status_bar[0];\n", + "}\n", + "\n", + "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n", + " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", + " // which will in turn request a refresh of the image.\n", + " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n", + "}\n", + "\n", + "mpl.figure.prototype.send_message = function(type, properties) {\n", + " properties['type'] = type;\n", + " properties['figure_id'] = this.id;\n", + " this.ws.send(JSON.stringify(properties));\n", + "}\n", + "\n", + "mpl.figure.prototype.send_draw_message = function() {\n", + " if (!this.waiting) {\n", + " this.waiting = true;\n", + " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n", + " }\n", + "}\n", + "\n", + "\n", + "mpl.figure.prototype.handle_save = function(fig, msg) {\n", + " var format_dropdown = fig.format_dropdown;\n", + " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", + " fig.ondownload(fig, format);\n", + "}\n", + "\n", + "\n", + "mpl.figure.prototype.handle_resize = function(fig, msg) {\n", + " var size = msg['size'];\n", + " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n", + " fig._resize_canvas(size[0], size[1]);\n", + " fig.send_message(\"refresh\", {});\n", + " };\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n", + " var x0 = msg['x0'] / mpl.ratio;\n", + " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n", + " var x1 = msg['x1'] / mpl.ratio;\n", + " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n", + " x0 = Math.floor(x0) + 0.5;\n", + " y0 = Math.floor(y0) + 0.5;\n", + " x1 = Math.floor(x1) + 0.5;\n", + " y1 = Math.floor(y1) + 0.5;\n", + " var min_x = Math.min(x0, x1);\n", + " var min_y = Math.min(y0, y1);\n", + " var width = Math.abs(x1 - x0);\n", + " var height = Math.abs(y1 - y0);\n", + "\n", + " fig.rubberband_context.clearRect(\n", + " 0, 0, fig.canvas.width, fig.canvas.height);\n", + "\n", + " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n", + " // Updates the figure title.\n", + " fig.header.textContent = msg['label'];\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n", + " var cursor = msg['cursor'];\n", + " switch(cursor)\n", + " {\n", + " case 0:\n", + " cursor = 'pointer';\n", + " break;\n", + " case 1:\n", + " cursor = 'default';\n", + " break;\n", + " case 2:\n", + " cursor = 'crosshair';\n", + " break;\n", + " case 3:\n", + " cursor = 'move';\n", + " break;\n", + " }\n", + " fig.rubberband_canvas.style.cursor = cursor;\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_message = function(fig, msg) {\n", + " fig.message.textContent = msg['message'];\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_draw = function(fig, msg) {\n", + " // Request the server to send over a new figure.\n", + " fig.send_draw_message();\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n", + " fig.image_mode = msg['mode'];\n", + "}\n", + "\n", + "mpl.figure.prototype.updated_canvas_event = function() {\n", + " // Called whenever the canvas gets updated.\n", + " this.send_message(\"ack\", {});\n", + "}\n", + "\n", + "// A function to construct a web socket function for onmessage handling.\n", + "// Called in the figure constructor.\n", + "mpl.figure.prototype._make_on_message_function = function(fig) {\n", + " return function socket_on_message(evt) {\n", + " if (evt.data instanceof Blob) {\n", + " /* FIXME: We get \"Resource interpreted as Image but\n", + " * transferred with MIME type text/plain:\" errors on\n", + " * Chrome. But how to set the MIME type? It doesn't seem\n", + " * to be part of the websocket stream */\n", + " evt.data.type = \"image/png\";\n", + "\n", + " /* Free the memory for the previous frames */\n", + " if (fig.imageObj.src) {\n", + " (window.URL || window.webkitURL).revokeObjectURL(\n", + " fig.imageObj.src);\n", + " }\n", + "\n", + " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", + " evt.data);\n", + " fig.updated_canvas_event();\n", + " fig.waiting = false;\n", + " return;\n", + " }\n", + " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n", + " fig.imageObj.src = evt.data;\n", + " fig.updated_canvas_event();\n", + " fig.waiting = false;\n", + " return;\n", + " }\n", + "\n", + " var msg = JSON.parse(evt.data);\n", + " var msg_type = msg['type'];\n", + "\n", + " // Call the \"handle_{type}\" callback, which takes\n", + " // the figure and JSON message as its only arguments.\n", + " try {\n", + " var callback = fig[\"handle_\" + msg_type];\n", + " } catch (e) {\n", + " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n", + " return;\n", + " }\n", + "\n", + " if (callback) {\n", + " try {\n", + " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", + " callback(fig, msg);\n", + " } catch (e) {\n", + " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n", + " }\n", + " }\n", + " };\n", + "}\n", + "\n", + "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n", + "mpl.findpos = function(e) {\n", + " //this section is from http://www.quirksmode.org/js/events_properties.html\n", + " var targ;\n", + " if (!e)\n", + " e = window.event;\n", + " if (e.target)\n", + " targ = e.target;\n", + " else if (e.srcElement)\n", + " targ = e.srcElement;\n", + " if (targ.nodeType == 3) // defeat Safari bug\n", + " targ = targ.parentNode;\n", + "\n", + " // jQuery normalizes the pageX and pageY\n", + " // pageX,Y are the mouse positions relative to the document\n", + " // offset() returns the position of the element relative to the document\n", + " var x = e.pageX - $(targ).offset().left;\n", + " var y = e.pageY - $(targ).offset().top;\n", + "\n", + " return {\"x\": x, \"y\": y};\n", + "};\n", + "\n", + "/*\n", + " * return a copy of an object with only non-object keys\n", + " * we need this to avoid circular references\n", + " * http://stackoverflow.com/a/24161582/3208463\n", + " */\n", + "function simpleKeys (original) {\n", + " return Object.keys(original).reduce(function (obj, key) {\n", + " if (typeof original[key] !== 'object')\n", + " obj[key] = original[key]\n", + " return obj;\n", + " }, {});\n", + "}\n", + "\n", + "mpl.figure.prototype.mouse_event = function(event, name) {\n", + " var canvas_pos = mpl.findpos(event)\n", + "\n", + " if (name === 'button_press')\n", + " {\n", + " this.canvas.focus();\n", + " this.canvas_div.focus();\n", + " }\n", + "\n", + " var x = canvas_pos.x * mpl.ratio;\n", + " var y = canvas_pos.y * mpl.ratio;\n", + "\n", + " this.send_message(name, {x: x, y: y, button: event.button,\n", + " step: event.step,\n", + " guiEvent: simpleKeys(event)});\n", + "\n", + " /* This prevents the web browser from automatically changing to\n", + " * the text insertion cursor when the button is pressed. We want\n", + " * to control all of the cursor setting manually through the\n", + " * 'cursor' event from matplotlib */\n", + " event.preventDefault();\n", + " return false;\n", + "}\n", + "\n", + "mpl.figure.prototype._key_event_extra = function(event, name) {\n", + " // Handle any extra behaviour associated with a key event\n", + "}\n", + "\n", + "mpl.figure.prototype.key_event = function(event, name) {\n", + "\n", + " // Prevent repeat events\n", + " if (name == 'key_press')\n", + " {\n", + " if (event.which === this._key)\n", + " return;\n", + " else\n", + " this._key = event.which;\n", + " }\n", + " if (name == 'key_release')\n", + " this._key = null;\n", + "\n", + " var value = '';\n", + " if (event.ctrlKey && event.which != 17)\n", + " value += \"ctrl+\";\n", + " if (event.altKey && event.which != 18)\n", + " value += \"alt+\";\n", + " if (event.shiftKey && event.which != 16)\n", + " value += \"shift+\";\n", + "\n", + " value += 'k';\n", + " value += event.which.toString();\n", + "\n", + " this._key_event_extra(event, name);\n", + "\n", + " this.send_message(name, {key: value,\n", + " guiEvent: simpleKeys(event)});\n", + " return false;\n", + "}\n", + "\n", + "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n", + " if (name == 'download') {\n", + " this.handle_save(this, null);\n", + " } else {\n", + " this.send_message(\"toolbar_button\", {name: name});\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n", + " this.message.textContent = tooltip;\n", + "};\n", + "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n", + "\n", + "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n", + "\n", + "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n", + " // Create a \"websocket\"-like object which calls the given IPython comm\n", + " // object with the appropriate methods. Currently this is a non binary\n", + " // socket, so there is still some room for performance tuning.\n", + " var ws = {};\n", + "\n", + " ws.close = function() {\n", + " comm.close()\n", + " };\n", + " ws.send = function(m) {\n", + " //console.log('sending', m);\n", + " comm.send(m);\n", + " };\n", + " // Register the callback with on_msg.\n", + " comm.on_msg(function(msg) {\n", + " //console.log('receiving', msg['content']['data'], msg);\n", + " // Pass the mpl event to the overridden (by mpl) onmessage function.\n", + " ws.onmessage(msg['content']['data'])\n", + " });\n", + " return ws;\n", + "}\n", + "\n", + "mpl.mpl_figure_comm = function(comm, msg) {\n", + " // This is the function which gets called when the mpl process\n", + " // starts-up an IPython Comm through the \"matplotlib\" channel.\n", + "\n", + " var id = msg.content.data.id;\n", + " // Get hold of the div created by the display call when the Comm\n", + " // socket was opened in Python.\n", + " var element = $(\"#\" + id);\n", + " var ws_proxy = comm_websocket_adapter(comm)\n", + "\n", + " function ondownload(figure, format) {\n", + " window.open(figure.imageObj.src);\n", + " }\n", + "\n", + " var fig = new mpl.figure(id, ws_proxy,\n", + " ondownload,\n", + " element.get(0));\n", + "\n", + " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", + " // web socket which is closed, not our websocket->open comm proxy.\n", + " ws_proxy.onopen();\n", + "\n", + " fig.parent_element = element.get(0);\n", + " fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n", + " if (!fig.cell_info) {\n", + " console.error(\"Failed to find cell for figure\", id, fig);\n", + " return;\n", + " }\n", + "\n", + " var output_index = fig.cell_info[2]\n", + " var cell = fig.cell_info[0];\n", + "\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_close = function(fig, msg) {\n", + " var width = fig.canvas.width/mpl.ratio\n", + " fig.root.unbind('remove')\n", + "\n", + " // Update the output cell to use the data from the current canvas.\n", + " fig.push_to_output();\n", + " var dataURL = fig.canvas.toDataURL();\n", + " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", + " // the notebook keyboard shortcuts fail.\n", + " IPython.keyboard_manager.enable()\n", + " $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n", + " fig.close_ws(fig, msg);\n", + "}\n", + "\n", + "mpl.figure.prototype.close_ws = function(fig, msg){\n", + " fig.send_message('closing', msg);\n", + " // fig.ws.close()\n", + "}\n", + "\n", + "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n", + " // Turn the data on the canvas into data in the output cell.\n", + " var width = this.canvas.width/mpl.ratio\n", + " var dataURL = this.canvas.toDataURL();\n", + " this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n", + "}\n", + "\n", + "mpl.figure.prototype.updated_canvas_event = function() {\n", + " // Tell IPython that the notebook contents must change.\n", + " IPython.notebook.set_dirty(true);\n", + " this.send_message(\"ack\", {});\n", + " var fig = this;\n", + " // Wait a second, then push the new image to the DOM so\n", + " // that it is saved nicely (might be nice to debounce this).\n", + " setTimeout(function () { fig.push_to_output() }, 1000);\n", + "}\n", + "\n", + "mpl.figure.prototype._init_toolbar = function() {\n", + " var fig = this;\n", + "\n", + " var nav_element = $('<div/>')\n", + " nav_element.attr('style', 'width: 100%');\n", + " this.root.append(nav_element);\n", + "\n", + " // Define a callback function for later on.\n", + " function toolbar_event(event) {\n", + " return fig.toolbar_button_onclick(event['data']);\n", + " }\n", + " function toolbar_mouse_event(event) {\n", + " return fig.toolbar_button_onmouseover(event['data']);\n", + " }\n", + "\n", + " for(var toolbar_ind in mpl.toolbar_items){\n", + " var name = mpl.toolbar_items[toolbar_ind][0];\n", + " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", + " var image = mpl.toolbar_items[toolbar_ind][2];\n", + " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", + "\n", + " if (!name) { continue; };\n", + "\n", + " var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n", + " button.click(method_name, toolbar_event);\n", + " button.mouseover(tooltip, toolbar_mouse_event);\n", + " nav_element.append(button);\n", + " }\n", + "\n", + " // Add the status bar.\n", + " var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n", + " nav_element.append(status_bar);\n", + " this.message = status_bar[0];\n", + "\n", + " // Add the close button to the window.\n", + " var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n", + " var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n", + " button.click(function (evt) { fig.handle_close(fig, {}); } );\n", + " button.mouseover('Stop Interaction', toolbar_mouse_event);\n", + " buttongrp.append(button);\n", + " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n", + " titlebar.prepend(buttongrp);\n", + "}\n", + "\n", + "mpl.figure.prototype._root_extra_style = function(el){\n", + " var fig = this\n", + " el.on(\"remove\", function(){\n", + "\tfig.close_ws(fig, {});\n", + " });\n", + "}\n", + "\n", + "mpl.figure.prototype._canvas_extra_style = function(el){\n", + " // this is important to make the div 'focusable\n", + " el.attr('tabindex', 0)\n", + " // reach out to IPython and tell the keyboard manager to turn it's self\n", + " // off when our div gets focus\n", + "\n", + " // location in version 3\n", + " if (IPython.notebook.keyboard_manager) {\n", + " IPython.notebook.keyboard_manager.register_events(el);\n", + " }\n", + " else {\n", + " // location in version 2\n", + " IPython.keyboard_manager.register_events(el);\n", + " }\n", + "\n", + "}\n", + "\n", + "mpl.figure.prototype._key_event_extra = function(event, name) {\n", + " var manager = IPython.notebook.keyboard_manager;\n", + " if (!manager)\n", + " manager = IPython.keyboard_manager;\n", + "\n", + " // Check for shift+enter\n", + " if (event.shiftKey && event.which == 13) {\n", + " this.canvas_div.blur();\n", + " event.shiftKey = false;\n", + " // Send a \"J\" for go to next cell\n", + " event.which = 74;\n", + " event.keyCode = 74;\n", + " manager.command_mode();\n", + " manager.handle_keydown(event);\n", + " }\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_save = function(fig, msg) {\n", + " fig.ondownload(fig, null);\n", + "}\n", + "\n", + "\n", + "mpl.find_output_cell = function(html_output) {\n", + " // Return the cell and output element which can be found *uniquely* in the notebook.\n", + " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", + " // IPython event is triggered only after the cells have been serialised, which for\n", + " // our purposes (turning an active figure into a static one), is too late.\n", + " var cells = IPython.notebook.get_cells();\n", + " var ncells = cells.length;\n", + " for (var i=0; i<ncells; i++) {\n", + " var cell = cells[i];\n", + " if (cell.cell_type === 'code'){\n", + " for (var j=0; j<cell.output_area.outputs.length; j++) {\n", + " var data = cell.output_area.outputs[j];\n", + " if (data.data) {\n", + " // IPython >= 3 moved mimebundle to data attribute of output\n", + " data = data.data;\n", + " }\n", + " if (data['text/html'] == html_output) {\n", + " return [cell, data, j];\n", + " }\n", + " }\n", + " }\n", + " }\n", + "}\n", + "\n", + "// Register the function which deals with the matplotlib target/channel.\n", + "// The kernel may be null if the page has been refreshed.\n", + "if (IPython.notebook.kernel != null) {\n", + " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n", + "}\n" + ], + "text/plain": [ + "<IPython.core.display.Javascript object>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABQAAAAPACAYAAABq3NR5AAAgAElEQVR4nOzdabjddXku/q1Welmu2lO1aifLLCoiFHHAEYdirUOdqrS2VTme1ukcObWahCHMyIyAAoJM4sAgImSe50ASAplDEghJyDztJDvZ2cNa9/+F/+ZU+DEk7J3v3mt9Ptf1fSPrYj1vcl88t+uBlgAAAAAAjaBe8dJSciIAAAAAoHcpAAEAAACggSkAAQAAAKCBKQABAAAAoIEpAAEAAACggSkAAQAAAKCBKQABAAAAoIEpAAEAAACggSkAAQAAAKCBKQABAAAAoIEpAAEAAACggSkAAQAAAKCBKQABAAAAoIEpAAEAAACggSkAAQAAAKCBKQABAAAAoIEpAAEAAACggSkAAQAAAKCBKQABAAAAoIEpAAEAAACggSkAAQAAAKCBKQABAAAAoIEpAAEAAACggSkAAQAAAKCBKQABAAAAoIEpAAEAAACggSkAAQAAAKCBKQABAAAAoIEpAAEAAACggSkAAQAAAKCBKQABAAAAoIEpAAEAAACggSkAAQAAAKCBKQABAAAAoIEpAAEAAACggSkAAQAAAKCBKQABAAAAoIEpAAEAAACggSkAAQAAAKCBKQABAAAAoIEpAAEAAACggSkAAQAAAKCBKQABAAAAoIEpAAEAAACggSkAAQAAAKCBKQABAAAAoIEpAAEAAACggSkAAQAAAKCBKQABAAAAoIEpAAEAAACggSkAAQAAAKCBKQABAAAAoIEpAAEAAACggSkAAQAAAKCBKQABAAAAoIEpAAEAAACggSkAAQAAAKCBKQABAAAAoIEpAAEAAACggSkAAQAAAKCBKQABAAAAoIEpAAEAAACggSkAAQAAAKCBKQABAAAAoIEpAAEAAACggSkAAQAAAKCBKQABAAAAoIEpAAEAAACggSkAAQAAAKCBKQABAAAAoIEpAAEAAACggSkAAQAAAKCBKQABAAAAoIEpAAEAAACggSkAAQAAAKCBKQABAAAAoIEpAAEAAACggSkAAQAAAKCBKQABAAAAoIEpAAEAAACggSkAAQAAAKCBKQABAAAAoIEpAAEAAACggSkAAQAAAKCBKQABAAAAoIEpAAEAAACggSkAAQAAAKCBKQABAAAAoIEpAAEAAACggSkAAQAAAKCBKQABAAAAoIEpAAEAAACggSkAAQAAAKCBKQABAAAAoIEpAAEAAACggSkAAQAAAKCBKQABAAAAoIEpAAEAAACggSkAAQAAAKCBKQABAAAAoIEpAAEAAACggSkAAQAAAKCBKQABAAAAoIEpAAEAAACggSkAAQAAAKCBKQABAAAAoIEpAAEAAACggSkAAQAAAKCBKQABAAAAoIEpAAEAAACggSkAAQAAAKCBKQABAAAAoIEpACmivb09M2bMyIwZM7J8+fKsWrXK8zzP8zzP8zzP87wefsuXL9+zf7e3t5euAyhEAUgRM2bMSEtLi+d5nud5nud5nud5++nNmDGjdB1AIQpAilAAep7neZ7neZ7ned7+fQrA5qUApIjly5f/TgCV/km053me53me53me5zXi++8/wFm+fHnpOoBCFIAUsWrVqj0BtGrVqtLjAAAAQEOyf5MoAClEAAEAAEDvs3+TKAApRAABAABA77N/kygAKUQAAQAAQO+zf5MoAClEAAEAAEDvs3+TKAApRAABAABA77N/kygAKUQAAQAAQO+zf5MoAClEAAEAAEDvs3+TKAApRAABAABA77N/kygAKUQAAQAAQO+zf5MoAClEAAEAAEDvs3+TKAApRAABAABA77N/kygAKUQAAQAAQO+zf5MoAClEAAEAAEDvs3+TKAApRAABAABA77N/kygAKUQAAQAAQO+zf5MoAClEAAEAAEDvs3+TKAApRAABAABA77N/kygAKUQAAQAAQO+zf5MoAClEAAEAAEDvs3+TKAApRAABAABA77N/kygAKUQAAQAAQO+zf5MoAClEAAEAAEDvs3+TKAApRAABAABA77N/kygAKUQAAQAAQO+zf5MoAClEAAEAAEDvs3+TKAApRAABAABA77N/kygAKUQAAQAAQO+zf5MoAClEAAEAANBfdXXXSo/wvNm/SRSAFCKAAAAA6G+6a/VcPurRfOZHU9PZT0pA+zeJApBCBBAAAAD9yfpt7fnC9dPzV98bkr/63pBcMHRh6ZGeF/s3iQKQQgQQAAAA/cWkJRty3Lmj9pR///XGLVpferTnZP8mUQBSiAACAACgr+vqruWSEYtz0IAhTyv/Dhk4NLdMXV56xOdk/yZRAFKIAAIAAKAvW9O6K5+7dtrTir+/+t6QvOOCMZm5fHPpEZ8X+zeJApBCBBAAAAB91bhF63PM2SMry7+v3DwjW9o6So/4vNm/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qvfJT36yx79XAAEA8HzNe7I177t4XGX59/GrJ2fFpp2lRwTos+zfJArApnbrrbfmxS9+cVpaWvLqV786gwcPzujRo/PQQw9l6NChueqqq/LhD384n/3sZ3v8uwUQAADPpV6v55apy3P4oOqT37PvW5DdXU5+AZ6N/ZtEAdi0Fi5cmN///d9PS0tL3vOe96S1tfUZP9vR0dHj3y+AAAB4Nq27OvPvP51VWfy9efCIjJy/tvSIAP2C/ZtEAdi0PvjBD6alpSWvetWrsnHjxv3+/QIIAIBn8vDKrXnX98dWln9//8MpWbXFyS/A82X/JlEANqVFixbt+cN/1llnFZlBAAEA8FT1ej03THoshw0aWln+XTB0YTq7a6XHBOhX7N8kCsCmdM455+z5w79gwYI9//uWLVuyZMmSbNq0qddnEEAAAPx3W3d25JRbZlYWf8ecPTJjF60rPSJAv2T/JlEANqWPfvSjaWlpyR/90R+lXq/n9ttvz9FHH/07/+Xfgw8+OGeddVZ27NjRKzMIIAAA/susJ7bknReMqSz/Pnvt1Kxp3VV6RIB+y/5NogBsSgcddFBaWlrylre8Jd/4xjd+p/h76jvqqKOyevXqvf6OVatWPeubMWOGAAIAaHK1Wj3XTViWQwdWn/xeNHxRupz8ArwgCkASBWBTevnLX56WlpY9/xXg//E//keuu+66bNiwIbt3787MmTPzt3/7t3sC4oQTTkittnf/4PVspeJTnwACAGg+m9s68q83PVhZ/P31OaMy4dENpUcEaAgKQBIFYFN6yUtesucP/0te8pJMnz79aZ+p1Wq/UwLedddde/UdCkAAAJ7Jg49vztvPrz75/fz107JuW3vpEQEahgKQRAHYlA488MA9f/i/8IUvPOPn5s+fv+dzn/70p/fqO5wAAwDwVLVaPVePXZKDBzy9+DtowJBcNurRdNfqpccEaCgKQBIFYFN67Wtfu+cP/6233vqsn/3zP//ztLS05C//8i97dAYBBADQXDZs350v3vhA5a/+3nre6ExdurH0iAANyf5NogBsSscff/yeP/xjx4591s++4x3v2PPvC+xJAggAoHlMXboxbz1vdGX59083PJAN23eXHhGgYdm/SRSATelLX/rSnj/8o0aNetbP/ldZeOCBB/boDAIIAKDxddfquXzUozmo4uT34AFDcvXYJU5+AXqZ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\" width=\"640\">" + ], + "text/plain": [ + "<IPython.core.display.HTML object>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "[<matplotlib.lines.Line2D at 0x110f28898>]" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "fig, ax = plt.subplots()\n", + "ax.plot(range(10))\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.3" + }, + "toc": { + "colors": { + "hover_highlight": "#DAA520", + "running_highlight": "#FF0000", + "selected_highlight": "#FFD700" + }, + "moveMenuLeft": true, + "nav_menu": { + "height": "12px", + "width": "252px" + }, + "navigate_menu": true, + "number_sections": true, + "sideBar": true, + "threshold": 4, + "toc_cell": false, + "toc_section_display": "block", + "toc_window_display": false, + "widenNotebook": false + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} From e8ab1b06a71234ffc5d6ca46e33609e250d4e2ce Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Tue, 12 Jun 2018 14:11:18 -0700 Subject: [PATCH 0786/1161] TST: add jupyter to 3.6 test --- .travis.yml | 3 +++ lib/matplotlib/tests/test_backend_nbagg.py | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index e84d9dd02a4d..a0b16f11a5cc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -54,6 +54,7 @@ env: - NOSE= - NUMPY=numpy - PANDAS= + - JUPYTER= - PYPARSING=pyparsing - PYTEST='pytest>=3.4' - PYTEST_COV=pytest-cov @@ -94,6 +95,7 @@ matrix: env: - DELETE_FONT_CACHE=1 - PANDAS='pandas<0.21.0' + - JUPYTER='jupyter' - PYTEST_PEP8=pytest-pep8 - PYTEST_ADDOPTS="$PYTEST_ADDOPTS --pep8" - python: "nightly" @@ -147,6 +149,7 @@ install: $NOSE \ $NUMPY \ $PANDAS \ + $JUPYTER \ pillow \ $PYPARSING \ $SPHINX \ diff --git a/lib/matplotlib/tests/test_backend_nbagg.py b/lib/matplotlib/tests/test_backend_nbagg.py index 4c1d7636d9b9..513a11da64cb 100644 --- a/lib/matplotlib/tests/test_backend_nbagg.py +++ b/lib/matplotlib/tests/test_backend_nbagg.py @@ -2,11 +2,13 @@ import os import subprocess import tempfile -import nbformat +import pytest +nbformat = pytest.importorskip('nbformat') # From https://blog.thedataincubator.com/2016/06/testing-jupyter-notebooks/ + def _notebook_run(nb_file): """Execute a notebook via nbconvert and collect output. :returns (parsed nb object, execution errors) From fd8302e9f0b01432171be08c0651a7af3164ad5f Mon Sep 17 00:00:00 2001 From: ImportanceOfBeingErnest <elch.rz@ruetz-online.de> Date: Wed, 13 Jun 2018 00:10:40 +0200 Subject: [PATCH 0787/1161] Doc: Remove huge note box from examples. --- doc/_static/mpl.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/_static/mpl.css b/doc/_static/mpl.css index 5a9acd280881..4b06d2013d8d 100644 --- a/doc/_static/mpl.css +++ b/doc/_static/mpl.css @@ -1056,6 +1056,10 @@ p.sphx-glr-signature { display: none !important; } +div.sphx-glr-download-link-note { + display: none !important; +} + .sphx-glr-thumbcontainer a.internal { font-weight: 400; } From ce39023c0411bb78a86feedccde1cdcd13b2642b Mon Sep 17 00:00:00 2001 From: ImportanceOfBeingErnest <elch.rz@ruetz-online.de> Date: Wed, 13 Jun 2018 01:11:50 +0200 Subject: [PATCH 0788/1161] Doc: Make first line in tables darker --- doc/_static/mpl.css | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/doc/_static/mpl.css b/doc/_static/mpl.css index 5a9acd280881..40dc44119ea4 100644 --- a/doc/_static/mpl.css +++ b/doc/_static/mpl.css @@ -406,7 +406,7 @@ div.seealso { color: #3F5E7F; } -div.warning { +div.warning, div.important { background-color: #F3E5E5; border-color: #CC8E8E; color: #7F1919; @@ -495,6 +495,12 @@ p.topic-title { padding-top: 0.7em; } +.contents ul > li::before { + content: "\25FE"; + color: #bbb; + padding-right: .3em; +} + .contents > ul > li > a { font-size: 1.0em; } @@ -633,6 +639,10 @@ table.docutils tr:last-of-type td { border-bottom-color: #888; } +table.docutils tr:first-of-type td { + border-top-color: #888; +} + /* Section titles within classes */ dl.class p.rubric { font-size: 16px; From 0865176f8377e0bb45fa37136f381ab3b707726a Mon Sep 17 00:00:00 2001 From: ImportanceOfBeingErnest <elch.rz@ruetz-online.de> Date: Thu, 14 Jun 2018 19:47:50 +0200 Subject: [PATCH 0789/1161] Doc: Markers update --- doc/_static/markers/m00.png | Bin 0 -> 376 bytes doc/_static/markers/m01.png | Bin 0 -> 226 bytes doc/_static/markers/m02.png | Bin 0 -> 504 bytes doc/_static/markers/m03.png | Bin 0 -> 411 bytes doc/_static/markers/m04.png | Bin 0 -> 399 bytes doc/_static/markers/m05.png | Bin 0 -> 422 bytes doc/_static/markers/m06.png | Bin 0 -> 400 bytes doc/_static/markers/m07.png | Bin 0 -> 394 bytes doc/_static/markers/m08.png | Bin 0 -> 400 bytes doc/_static/markers/m09.png | Bin 0 -> 395 bytes doc/_static/markers/m10.png | Bin 0 -> 407 bytes doc/_static/markers/m11.png | Bin 0 -> 356 bytes doc/_static/markers/m12.png | Bin 0 -> 314 bytes doc/_static/markers/m13.png | Bin 0 -> 492 bytes doc/_static/markers/m14.png | Bin 0 -> 500 bytes doc/_static/markers/m15.png | Bin 0 -> 448 bytes doc/_static/markers/m16.png | Bin 0 -> 475 bytes doc/_static/markers/m17.png | Bin 0 -> 349 bytes doc/_static/markers/m18.png | Bin 0 -> 361 bytes doc/_static/markers/m19.png | Bin 0 -> 366 bytes doc/_static/markers/m20.png | Bin 0 -> 585 bytes doc/_static/markers/m21.png | Bin 0 -> 264 bytes doc/_static/markers/m22.png | Bin 0 -> 271 bytes doc/_static/markers/m23.png | Bin 0 -> 415 bytes doc/_static/markers/m24.png | Bin 0 -> 431 bytes doc/_static/markers/m25.png | Bin 0 -> 270 bytes doc/_static/markers/m26.png | Bin 0 -> 252 bytes doc/_static/markers/m27.png | Bin 0 -> 254 bytes doc/_static/markers/m28.png | Bin 0 -> 248 bytes doc/_static/markers/m29.png | Bin 0 -> 417 bytes doc/_static/markers/m30.png | Bin 0 -> 413 bytes doc/_static/markers/m31.png | Bin 0 -> 416 bytes doc/_static/markers/m32.png | Bin 0 -> 425 bytes doc/_static/markers/m33.png | Bin 0 -> 420 bytes doc/_static/markers/m34.png | Bin 0 -> 411 bytes doc/_static/markers/m35.png | Bin 0 -> 418 bytes doc/_static/markers/m36.png | Bin 0 -> 423 bytes doc/_static/markers/m37.png | Bin 0 -> 483 bytes lib/matplotlib/markers.py | 217 +++++++++++++++++++++++------------- 39 files changed, 142 insertions(+), 75 deletions(-) create mode 100644 doc/_static/markers/m00.png create mode 100644 doc/_static/markers/m01.png create mode 100644 doc/_static/markers/m02.png create mode 100644 doc/_static/markers/m03.png create mode 100644 doc/_static/markers/m04.png create mode 100644 doc/_static/markers/m05.png create mode 100644 doc/_static/markers/m06.png create mode 100644 doc/_static/markers/m07.png create mode 100644 doc/_static/markers/m08.png create mode 100644 doc/_static/markers/m09.png create mode 100644 doc/_static/markers/m10.png create mode 100644 doc/_static/markers/m11.png create mode 100644 doc/_static/markers/m12.png create mode 100644 doc/_static/markers/m13.png create mode 100644 doc/_static/markers/m14.png create mode 100644 doc/_static/markers/m15.png create mode 100644 doc/_static/markers/m16.png create mode 100644 doc/_static/markers/m17.png create mode 100644 doc/_static/markers/m18.png create mode 100644 doc/_static/markers/m19.png create mode 100644 doc/_static/markers/m20.png create mode 100644 doc/_static/markers/m21.png create mode 100644 doc/_static/markers/m22.png create mode 100644 doc/_static/markers/m23.png create mode 100644 doc/_static/markers/m24.png create mode 100644 doc/_static/markers/m25.png create mode 100644 doc/_static/markers/m26.png create mode 100644 doc/_static/markers/m27.png create mode 100644 doc/_static/markers/m28.png create mode 100644 doc/_static/markers/m29.png create mode 100644 doc/_static/markers/m30.png create mode 100644 doc/_static/markers/m31.png create mode 100644 doc/_static/markers/m32.png create mode 100644 doc/_static/markers/m33.png create mode 100644 doc/_static/markers/m34.png create mode 100644 doc/_static/markers/m35.png create mode 100644 doc/_static/markers/m36.png create mode 100644 doc/_static/markers/m37.png diff --git a/doc/_static/markers/m00.png b/doc/_static/markers/m00.png new file mode 100644 index 0000000000000000000000000000000000000000..59b3ad7fddb05faccc1d266ff37a9ddb1d196514 GIT binary patch literal 376 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI<x-UzDz|wp!f-Xz)Q#7sn8b-sC_3|NpON zlVVhhlC;VCaX{jn)0#uF;q#1rZWPac_;2=lo-U<3Jgj=Fc;u`mReUuNnk-TtQ+aN} z#wRk&%FN7%>)F^WY?Y63tY>v$J>6ov{UMvt0iA@Dgc&=&o5j_-NY?#78_rhp{_p?u z2MXSQ4L`*jF7hxf!9_SZB_$z1=;^XMADF~LD*_Ji{QEz@QSp8x?|QpMN>dscg;olG zzn8Y-`!DV0NgC$P`!-88xA(D>@~E@(+?BD)vIt{fc<W>*vF$=s3(zwRp00i_>zopr E0AdD(a{vGU literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m01.png b/doc/_static/markers/m01.png new file mode 100644 index 0000000000000000000000000000000000000000..e40b5db05243538f8eda8cba46d0edc2e2d68726 GIT binary patch literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI<x-UzDz|wp!f-Xt1`Yi(`mIZ}Ol2|Nqys zNinKLN!n!nSn<%rEM{Sn_QfnocjJpI9xiU<Pddz)pwF2lc&7R*P#c4%tDnm{r-UW| Dh}A=V literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m02.png b/doc/_static/markers/m02.png new file mode 100644 index 0000000000000000000000000000000000000000..1c67ae57345c49e7f2a800e888983c53f27c3f8b GIT binary patch literal 504 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI<x-UzDz|wp!hTfq~J{)5S5wqW9_)!@NTd z0<QB9M$9-=m|n<gAjImfpzuO7vzW1{w}2sN*%EffaF528hg{RF+nJ)x(t=ssH47rx z15>(WGfjV|nOJ`oRcv|S7q&zE$Gd`1HH{wOH0kM2uN}5`nIYQicX!eK6+wEU#`iU^ zSM9r1*|RMB+rf!VOzH=>o0m-exWIFF+SB&+Wpe)c?-d>dO(?QcJ1o{OE|l`krbpQA za;cicx$jK#mS-QbnAm>aOz-!D8Jz!SK2WwWDvzoBQS>@6VBLh^4kqs7liPo{cT9d# zHJ9awqYA&dcGS94zOj?r%U^}9JGHy4FY~4ODv4dEwmuSl;28e$W@u%_&X5$Fj3%eF zrjm2<Y-hV?|609mOSahLL~iH*L7iXtgYsW!tv`J2zM08Z1HT#8dfdkk^DFtpF3yhr j@<w{=Q?cLstNw8^#h0y*57_ww7)uPEu6{1-oD!M<JQv05 literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m03.png b/doc/_static/markers/m03.png new file mode 100644 index 0000000000000000000000000000000000000000..552470a2005d171bbf7b04657dcc7f43298be2eb GIT binary patch literal 411 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI<x-UzDz|wp!f-Xz&wH7sn8b-m6#6axn&q z9QgQu=EVie+<t0oQVElDyt(1Ck(b;N<+Gb3JjGNFZFRDHHz(PUySy_0`~CIRueyrQ zO}xzYiHljJhJE$h#<TxY_(C6dqy=4jeEf6kOQY1in~%RPoLFMGD1t-2I)1(?7jx89 zBc*K{I83xv7kx1OZmOqr=9ul8#btbHkL5ls`^Z;vW36F^I!l+GfW#Kzw!62U&wPI= zwm$Src)yh~-!41vwZ}|rr$zNP$FE=MTR1;1c=n?YE4QyW`>}klYi{4+V1Bc&{)K{x rb}uhy9yz048_KIt|9k#(sr`&HL3US6s|8zu{$=oV^>bP0l+XkK(kGwu literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m04.png b/doc/_static/markers/m04.png new file mode 100644 index 0000000000000000000000000000000000000000..8e2cc09b85b5d5df26aee8429339a0c50b75ddea GIT binary patch literal 399 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI<x-UzDz|wp!f-Xz&eB7sn8b-m_N@ay2=K zv_3S}Yf{L#xa#}Mmn_xtw^i*LwU16q5)k5QRkYaNtE_VF&hCI0Z{ELWKcu0gw8kWV z?T7lKkM|sUS>rk<{PeL-j=C9-zEvFL5B8{=Y9aSjbkZV51{K$4j|JjKJ2?)jHZN~e zW@VY)bG7@C+uHVNYBT5c`d@v#(Bb^C<ypp^_awKkJf7_KzUTIpv^n>ro?l5muyFe^ z%dIoL?WN7Lj;=U6#noQ=eO2$KJjL3c&W7s0j@Mt`@4t2L^QOFyHRYSE8V=_*Kd#g6 f*54R<|Fiz0C2Ne`w8PE={m9_y>gTe~DWM4f(`ujr literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m05.png b/doc/_static/markers/m05.png new file mode 100644 index 0000000000000000000000000000000000000000..7993403904225c0ae06e09f619daef23ecc1bb9e GIT binary patch literal 422 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI<x-UzDz|wp!f-Xz+Va7sn8b-sC_3|NpON zlVVhhlJqe>4CI{u@cDfFE2)1#;kM@OamGLVZBHfK-Pr%|X8U`MPdZPes$P7PZo3z2 zE~#hx^TdG@Ck}l0Z_j*q_xk-3OIR#U8q3@bP;;AMQTEkEvhVbTdX`I)afeTuPFe8K zJ#T;Fi(8e=I?kL@_cr|0Iy^T#{)CYTTY=h9w)k8&Tgkc(B{wbUyv16FHW=QXm6$k5 zvboQsa@vF505>-`wrbNrHtSHqo(@&D6&+q(PokWH)DER`>a+)?SlD^btN(FO;mqN- yRee%Ve*%3WS@-wv@dM`$`P3dRWSkWy#-N@w`75jIM=7A!89ZJ6T-G@yGywn-Tc-8^ literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m06.png b/doc/_static/markers/m06.png new file mode 100644 index 0000000000000000000000000000000000000000..51df3f4b6e2e8f35f24feaa599fbd1dbf9befe5f GIT binary patch literal 400 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI<x-UzDz|wp!f-Xz)!>7sn8b-sC_3|NpON zlVVhhlI*$uVSfETqkvbMYufC8f0%o4SF(Kb|0|1m*z@<Q-4=4oNvwPN(w%MoNp}ee zNlA%+|I-sLOn#WIQ5KxOAy_mqAthzWnWqK}o4=j9+|Tpzv){xw!i$u?$j_WMVM>(8 z)|NF(I?hf~-hMyectMG`p6$;Q7dHIVYO~>1Z8J7>(gB-Pe0@RRLj&j1B_GuTC-JCX z3jh*V0~YbLKMe@tJ(|74fM2><gWtM&2?Kj%+acNZ)i(csKG$cKHWrR-6Ec}2)v#<T aE5oVRRn?-loBDyCWbkzLb6Mw<&;$U`c9zos literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m07.png b/doc/_static/markers/m07.png new file mode 100644 index 0000000000000000000000000000000000000000..cffffd4a25d272a36d609c619b076638b997e96a GIT binary patch literal 394 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI<x-UzDz|wp!f-Xz*oE7sn8b-sC_3|NpON zlVVhhlC;UP_}M1hm0$CTh4=ma;@JyRzPh&M@Bg=;qyG2Tb})~#I&X6Rjy(e6hp%~` zm;AF_CUwW(PsYqZaQN-?`Cx$?RWB`@=Lm@V?d>_T<nwKPd*c*c+v6Xe{4Hlwu4HU0 z=C?OE!BJ%7(`}X%Ao_ginF2O84}%mv%i{$fu4S`Tn+CSMG<4&M$<g^?`d6JXrtZ_j z{WU+Q{hvO+M#1Z^f#37PhYJkj%GzquL)n1zqAS94MNTp{t4DaSGMtZC*gtK`l|Z2P O7(8A5T-G@yGywoZVU#NX literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m08.png b/doc/_static/markers/m08.png new file mode 100644 index 0000000000000000000000000000000000000000..d8599e7bbd2fa40c0c6313452da2ac9ec80cd7ef GIT binary patch literal 400 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI<x-UzDz|wp!f-Xz)!>7sn8b-sC_3|NpON zlVVhhlC;^uQ~&iPyYv5d(LC$z{w`>IIKSS==T7zPhgYA^zhXWo#30KewXOd5*Y<_k z&wbf|pl#h;bIE;we>n&6D;rvV`F8p|Po(#GLz~L~a}P$uO?dd`@OK`gra3&97xhYn z9IY(O{^QTE#`5!z{cdN!{ny*e{_lR($Cp3{{QnPP?Du}(_+QHO_W$*kpCy*ZH68r) z;jTHGysc+jujRFZ@Ks%(jdIRxO#5(ga!SRQchWx(egZk&&CPAolTNPUqJs}Sx|B~B aFkH@>nSSignHr!c89ZJ6T-G@yGywp-!Ksh{ literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m09.png b/doc/_static/markers/m09.png new file mode 100644 index 0000000000000000000000000000000000000000..40c754dcd833581cf7295f5e982517135e41abc5 GIT binary patch literal 395 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI<x-UzDz|wp!f-Xz&$J7sn8b-sC_3|NpON zlVVhhlC;UP_{tk!{f*Q4{<~<NAD5UT+wNEWoVl>-aBACg`F+L)Mn;c9j(cPU{rUEq zzxn@^#XLPdJUr5yb0sWp&L~`!dQkP_tIPat;q&X0I?CVfIr-tq-|{wJ%WD<9$FhH1 zn%pm;_HJ))=s7pn7RS&z;_DCc@KiLh&OhyczyA0J&EvBcu%@(IGBYzDJ|>gRre`*1 zp1SSUf{hyue7en&Dn9+QcK&;8b;Z?5Q$<3LR!T-Ol}IdMvG};Gcv5q#h=IlC{~yd` Z7~-yn9o^n{%MIv122WQ%mvv4FO#r|bm!$vz literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m10.png b/doc/_static/markers/m10.png new file mode 100644 index 0000000000000000000000000000000000000000..101743620ede3a16c2ed63dc1caa8a16cf67c5b4 GIT binary patch literal 407 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI<x-UzDz|wp!f-Xz&A17sn8b-sC_3|NpON zlVVhhlC;UP_}K>J&R>}SUAJv(`uu?V1#WI`ZRzs+jIZSEI8^ZaY5F9dbQLwty5C>h z57wUwWCMb>UdwAdF*!O{jOR2qHa`4z`aDlvaG%i(O)kSJyH+Qk=>E9LxZ`8tgmepL zW@hIvbA)-^-|so9HU0gXQvoklwJEvH`7a?Mk+=8HnSyT*tJ$he1Lx?uv#YdPDl0P| zK9(cR=4Y0+NXBK#>DOj)sTH68Ssz{|lf8&HEkVI(t~Ymq(H52$1}nNg3*{OxGj|Gl iX-OPQJ-xtGhT(!u!2HL|pBDlB%HZkh=d#Wzp$Pz(ESE|E literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m11.png b/doc/_static/markers/m11.png new file mode 100644 index 0000000000000000000000000000000000000000..a6a5cbd6935d0d0dbc7bda3593210af8c6422d44 GIT binary patch literal 356 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI<x-UzDz|wp!f-Xz*H37sn8b-m6n=`C1eN zTIIF3ZWW(U!GE|^$D*V4y5YU%7pyB*n&#|O<36J!%@yz2_Fgr=&V@s9!KApY2d+Mx z6rC~mcxA27l->guw*Egn{q2E0@8aLPY5OG4|Koma5)(6!AF*vQ&phU0o=F9-Z8-Ny zM?C-eq588$*H!!SbCU~hcFcF!_)DecMU=$ah=j$VB?~ug^hx%YdLq_&#wOh%cg2Hw kcP8CF)HeOa&f<S;3|1a8n;FdB0UgfZ>FVdQ&MBb@0Bv=KZU6uP literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m12.png b/doc/_static/markers/m12.png new file mode 100644 index 0000000000000000000000000000000000000000..68c5ce111d2c98caaebd8356544424c29a425c2b GIT binary patch literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI<x-UzDz|wp!f-XmGQqi(`mI@7pVmTn!2W ztQXdI2;~*sO<iPM+H+1M_Sn`urJfVl0w+0bE}mxmq3vgPqTw-)MUO%Z7&@*T_{E!d zceCPR)m__u9$S0gz=!)#VcKJ_f-}kW(I2F`qrWRjFdQnh(^EaW=aJ}o3)Z|XEkdc) sQy&;a-K*01dj9{9F3&&xN@xEt3H9sBy!<|o1LzzEPgg&ebxsLQ06A81c>n+a literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m13.png b/doc/_static/markers/m13.png new file mode 100644 index 0000000000000000000000000000000000000000..232c8eb686f3238cf4d65061659862abd0e4f593 GIT binary patch literal 492 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI<x-UzDz|wp!hTfq~J~)5S5wqBr@^|NsB% z*`yfNq9lE$Jq({$w`AYL{r~<XuZSw|JedATu<g~?>5_GSf4T?oD;p;Mdv%$=ZOhSg zNj<xt2R{6_XJ%GbW^Ufs!*F;_L^7M99p5Kj``;gIoo_8N=8@m`KkdhF{)JO!c20C` zm^?MHY!7Gi#5oEt+w|?fb}URgEXvmQ|G(tFq`;#`P8>LJ<iv>!LJJNHB&xaZd3b$( zebR?H6%zB82ORiT6V2x9X%}+3P%}*Yd8)v(H04tXf^ueTrG;@kg>%}B4GoQcyz(|Q zFgAQ-Is<6gL3jVIM$T@lJ)Re%{e@J8Ha716|Ihfx3(ur-1-ss3MNKTtZY}M+=~)M} zEfy{~D6Yc7o1Sn$-sDG9OJie)&zJZ2>)W!=+drIgebSS|FN+p!vfr6dAiA^pSOLS7 X9hv91uZk}P#teg}tDnm{r-UW|_wvX= literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m14.png b/doc/_static/markers/m14.png new file mode 100644 index 0000000000000000000000000000000000000000..e49e35635e9b75fa37640f9d53f9551bb748e6a8 GIT binary patch literal 500 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI<x-UzDz|wp!hTfq~K1)5S5wqWA0+LvN=* zk>mB(RpcKoW@4Xv%5mYrwW=$owKwP1HZGHyykg_dz2`58b7W<7NJ&YpS}5SPaD}3e zvZ|rSq3?dpdkwa(ZfpAgwBY>T`}Zy9RPXe1X<<BRtns1X;O3uPC+~W1`swxm;qjSF z?&hq1M*4r-=ie25{qf&c?fv1~f5!Y<@Z%q614oR_GzN=$jfr(yi$m^;fB4POC$0N@ z>N`!fGQXX<GuAULQQS3)bC%3H{cUru_o)hU|BdnvF4=nJ$!o58o0M{nEVkmF{ZS)3 zY)Sc!=!8<cJ7xMi1^x;1$m(4QJuA5H{k!yMd2!48=34g^6wGyIxcp(#CZ!o|;*8(c z7g@|=lC@rcEyqciZS&>HIr_&re$=ix<GXR|bhYncOQSYRO6T@pv~vyLrrc8za{cGL j2mh~r_|xUg`kzT7J2%Hnr0Ekdh8R3u{an^LB{Ts5bM4GO literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m15.png b/doc/_static/markers/m15.png new file mode 100644 index 0000000000000000000000000000000000000000..68bf1ebcebf3f79b65f7cc87d1f23ed28ab0c1ce GIT binary patch literal 448 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI<x-UzDz|wp!hTfq{|J)5S5wqWA4&LvN=< zk+%7tpSDghn7%t)!6|yPw_@&JHum!RCf=XIv-0Z~ZPO6VDJT-oS3FxaUFhV4OSZh_ z8#LC>Z%VkZd*1gwbBZhaR;=2jHnWs9Kdj=geBd`LlfM(E#^>bOaj3<_e9y3DlW6pK zxZ^=lUD=7o-J7F+yf%6A>0RgQ_H>t){*1J{Mop`NG~Wg5KE3H{{q5nZQ-Ob{eKb+= zx^b2x<uc#hTbfFr)=ryspG`kMF-Wq*-{kyu%PoJ}nJ1jKknk)zvgL`9y<rRMoc{aC z=k|VkKZiM_t2)HHa?@?^f`6gS2~K~PxnG`N`@-|!(rpi%FRGT@m(RNSI%Bc@mQT^X f`&Rwa>zd#6^nk;IuTDO|&}Q&-^>bP0l+XkK<w>`Y literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m16.png b/doc/_static/markers/m16.png new file mode 100644 index 0000000000000000000000000000000000000000..d3f594b11f4a57d4780286ef2ddc38b85728e52e GIT binary patch literal 475 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI<x-UzDz|wp!hTfq_xQ)5S5wqW9{R{a%Ly zM2>%a@5>vZc~Et3ZxC~BtJtkeq4JBY%1hrYSe%^xe^2u|Rjp^DU0bJEn0HT0YP%5A z&ei0bC#2Y%zV~~L#h(W<ic6=6ghT}vJp2(h&41OC7J>TX_DvJ6Ej|1@eaFXbyBB{h zxpwfzwdCsHWXZl|I!(S334$#=?w60msoH&>9<y66&`E1z%j)$0nfuT5&%fV0b><<f z&)vTZ?e0|0{QTq9W-qDVyTc|vNqqF!=h@AV($}4X`TsU^>?pmz>G9rWQ)hgA-=*?J zs`}=~zSyOu89`o>`<HOu+U9wCUD|O*w&SHwnGRMRWOM&|!(6p4A<QB(qVr}plizHy z-)XA$d>7tdGdT58I%7)due(u6>rWIFaqrg6Y*_X0z3qRdyx?fH{V5@`z=&Y*boFyt I=akR{0JcrX<^TWy literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m17.png b/doc/_static/markers/m17.png new file mode 100644 index 0000000000000000000000000000000000000000..2c6c57243b5262a3f295dbd7f36e1ecaa0c4ca22 GIT binary patch literal 349 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI<x-UzDz|wp!f-Xz(&m7sn8b-sC_3|NpON zlVVhhlC;^uQ~&iPyYv5d(LC$z{w`>IIKSS==T7zPhgYA^zhXWo#Gr&X{h;c{SC{#F zHthZMMVYIY=Sam($s<230**)&rY`z-ce{kzyS=_!v_H=cmE?-O+F>j+{j~PA*t8cM zmr^fGe5U@QXwE^UW5*j8O0bnI`Dw^=oUJV{OVXyT`{O3#C)TTtIzDa^UMiQKwUAB1 e=Ae@n1H;-Zd+WcQL34pFX7F_Nb6Mw<&;$U!aDt=& literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m18.png b/doc/_static/markers/m18.png new file mode 100644 index 0000000000000000000000000000000000000000..a52d05098b5da970fbcd941e0b6ada0a3abad1de GIT binary patch literal 361 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI<x-UzDz|wp!f-Xz(Ua7sn8b-m6m_`I;3( zT<kAY^sam3>a+gwqS^PHl+$1O?c}&~gk_ob-5Zatw9GhH_CU~1UxQ(S)5WC+o*(>u zvAeXfDMEaSye+?Zl&8B)LhOXRFG*W&O*@e?!)D!i@wSuluQq>>N#OT6Xx}Jdz@X9a zxn^c=>XtKxCm+{M-nMdcb%yBeWpM|mUflg){)20+qBh5mWJVP|dww(MO!2o@J4>hM s=L-sJ+?{5(Z0*G@&)q-m|Nm1uBY%Q%@39|8fUaloboFyt=akR{00?1@_5c6? literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m19.png b/doc/_static/markers/m19.png new file mode 100644 index 0000000000000000000000000000000000000000..0c40250bd81572972e3b25b237407a7ee86987b2 GIT binary patch literal 366 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI<x-UzDz|wp!f-Xz+GV7sn8b-mO>9@-{gL zv_0fcR;+4p<9IvagzM@94!TuLQjuMf{!%6B&(nE}A8z`*N5Dy=qhrHm8JqUwsYic) zJF;WVvd`}Pcl;R{?5=OqJ1Tp5ZvMmXUxEYXI~=vVAtg}Axs7Gg4%TZ-I`0~nI<!1L zu+pLBzHwrn{ULqduj2de_J7!>cQKW1*Ro%~Hrx=OCH$jx@(%L@2bJ=8mn4W@XA;Ue w6wJuW#xNnd&GN#_UkeiXmVG`tuYQsE-rC*X$DEcc0KLHA>FVdQ&MBb@0HwZ(e*gdg literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m20.png b/doc/_static/markers/m20.png new file mode 100644 index 0000000000000000000000000000000000000000..1f75d0297a62c2fde2af3207086337117d8061cb GIT binary patch literal 585 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI<x-UzDz|wp!hTfq`+7r;B5VMeo+D`@NeS zWsZORZrk4#G>J7bpwW4W^DU`7(;Hb2;{G>BIGcvDxc+y3>)NO3GP^o*!9#_J1lH6W z{F?KhM=g2?BsYG!w)^~RzJ1^K3I}<4PH($(?$P6Jt;^BsDSE5t9(~=*A9ks7l|OG- z-={0m@^cTDZw|NFw}<(|hfnA7zO6F;5xMkO-MXHCp|Y`u>eii!T>8y^&&roNvU3)5 zI0qc~^w84R_rLYN>Ds}2)-INOH$`n>z}n5zwg2<(ud7K_4>q}5qaOTZ*|%$QdP`Gu zYaN5l^P89HMfyJfxi&WH(bC=Ne%;?Q#C9z6_T&CO<=wouk01YwOLJ;oam-7qZ52nF zbKSAOd%qPbvPge4;N!ltkmK6p$s8Yx=Vm&(*T@AGI|kdBil-cT{<HMlCoMfUW|sCn zE83b@GC3WN6I<LkEz<kWLaiKiC5hLoyl?oq6s%aw8U5DY^jWf^)Q@*Tt_Pe<98#{N z&)WRAKs8zT%l91&5-$oT_V`Am<vfntKKX3LjE8pSvp*;9$y=W4R`OZ>7t65?oz3jt S(`13s&fw|l=d#Wzp$Py7VfuXl literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m21.png b/doc/_static/markers/m21.png new file mode 100644 index 0000000000000000000000000000000000000000..d3b4dee68ba88a68289da064a3c8fa3a38572c6f GIT binary patch literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI<x-UzDz|wp!f-XmFsXi(`mIZ}Ol2|Nqys zNinKLN!sk-ssH+t-TD8!XrA?Ue-|`9oL_I`bEkUt!>iBdUooE(VvzM?#lyvImoFC> r#+9|zq=&Kr=|xwJ`=&j=!N9P0xx~xOGc5ywhBJ7&`njxgN@xNAcB@)W literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m22.png b/doc/_static/markers/m22.png new file mode 100644 index 0000000000000000000000000000000000000000..44e856008fa2be1c6cec4e5763b50b99b734ab96 GIT binary patch literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI<x-UzDz|wp!f-XmEt5i(`mIZ}Ol2|Nqys zNinKLN!n!nSn+TPqgag4db_^~6<>d<Uu5h2xXHNVW1&F$k4uyLCDh*S_1*ID=ebop yt?RNhl6rO&X_&_JT`tIKSU5Y%jaNRcjhR8$RL<kNR%;f}4hBzGKbLh*2~7Zmfmy5o literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m23.png b/doc/_static/markers/m23.png new file mode 100644 index 0000000000000000000000000000000000000000..742b27f0f0f0ef02336e8591ea458220c5d4545e GIT binary patch literal 415 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI<x-UzDz|wp!f-Xz&Y97sn8b-lJ0t`I;OA zT>s~p2{3hDxNspTs)FUQ>YldN;~PFm#T}|(;ZN{RW^Qe9IFaOjBh_J3+ShVp>z_LB z`8TY4Z51K3J(Y(c>19G#$cfX-)+^t46so#EJKeSQ?#s4aQ)|zQ%3Ob3_KmT7!;{p- z63h;Fy`K8^ob@&BOg-`AW6eb4!*){{7l%zuIwPsTKDo*_)gfu2g!fx6AS+?&&-Z7Q z?>A~+Q9fr7y}L>Ilk8G=Hm;uSPYZVTr=9!Fd&%O3{*wIDPqfq)e*gH{?=i#c6w}Io t{~cEHXdK(6HuJU7Pi;Lj^NFF)@~7?3>a)AA3iL7qgQu&X%Q~loCICRMp;Q0> literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m24.png b/doc/_static/markers/m24.png new file mode 100644 index 0000000000000000000000000000000000000000..c666d7a8ee1e3e9e592f9349376822d9550aaeb7 GIT binary patch literal 431 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI<x-UzDz|wp!f-Xz&kD7sn8b-m6m#`I-zQ zTIG*PA7E5zj63LPcIb&|jA9_WZBw_@M=m)>wS>#w44vW^jITKQYW?+AyeP4M=}GRt zx3;X8m{Z)RfAROUAKyP&=qKt6zxh1r%;PA%OV>NiGZ`5o?2lh4zyImF#Lsmm_XA>A zXb4DJs-3&)dn%oAvRJ^Wx2a8frbY}gVUM@_R6e`hP#R!g7U!<nUo(A<gCW0!)1x!e zw}pP{x%J)D_$JdWlKr$WZqju1qE+jHe76>bMr&NlbktigB|o|=K0x~A9kKHpqw4Rk z)cxG>&_L45@@oSFL(E}4?H>t+PYS~({9HG!TO<C3`j7knf68Vp-W0BLx!(>L1`M9A KelF{r5}E+fwxs0% literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m25.png b/doc/_static/markers/m25.png new file mode 100644 index 0000000000000000000000000000000000000000..d48d2c4659fa579519659617529adb15efd82da4 GIT binary patch literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI<x-UzDz|wp!f-XmGfvi(`mIZ}Ol2|Nqys zNinKLN!n!nSn+TPqZk_-TU+@2I)gpG{!G^3P1^H@C#go}i1fZMPn6p_tMi4ID&CKr wy6{41ug2CMpzi<v+S85u(*6e?c5isdu*g8p<9o5qH=q>^p00i_>zopr0N77k7XSbN literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m26.png b/doc/_static/markers/m26.png new file mode 100644 index 0000000000000000000000000000000000000000..e0b2bbddbd8d9c3fef8b4a0e073ed336d076a1de GIT binary patch literal 252 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI<x-UzDz|wp!f-Xt1lNi(`mIZ}Ol2|Nqys zNinKLN!n!nSn+TPqgasXo?l;@A6|Vve~V$w%aiUr!r$+ydFd*zw45R`eR7V4X2OeQ g(*h5-&wR*m{DAb!KhH{@0u5yFboFyt=akR{015w8X8-^I literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m27.png b/doc/_static/markers/m27.png new file mode 100644 index 0000000000000000000000000000000000000000..d91c9594ba1ac17be5e2ae2a792c414f256d4d1c GIT binary patch literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI<x-UzDz|wp!f-Xt2Adi(`mIZ}Ja+rX7Et z9IpTQN%z0L{ZEG}RcdTfO@W8qdF8v>x<76*eqz1asN>@%;idCF{s)4SMPh;pA6QPW gc(}OjG9LrOg12!KwpVW34K$L$)78&qol`;+01cN`zyJUM literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m28.png b/doc/_static/markers/m28.png new file mode 100644 index 0000000000000000000000000000000000000000..58ef370d58330afb4cedf722b424257672e2078e GIT binary patch literal 248 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI<x-UzDz|wp!f-Xt1NFi(`mIZ}Ol2|Nqys zNinKLN!n!nSn<&L>WA?8bp~JF?>qY8)n$GuiGM%U4<FgPT{5orpJ(l1Pu9h4{Ze)w bJnRfleS{CUvZ^cs8ph!1>gTe~DWM4f+qqC~ literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m29.png b/doc/_static/markers/m29.png new file mode 100644 index 0000000000000000000000000000000000000000..48b326482ace7f6d30634a93dfd0a1f20f322674 GIT binary patch literal 417 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI<x-UzDz|wp!f-Xz(jf7sn8b-sC_3|NpON zlVVhhlJpTiJdwF6tF8X`*Y<@KS6SP3^@cx8(z#;r<J;-;Jel3+jcjUuPd(@wJg2H{ zz2)zgg;jr3+wA}UGye1Y{DB3UC*5~GykGY>amC$&*2K3vms?z&kZMt6@PJuGx=)TL z#B@*Q=g_wK_5TEyPJ6N>;{EEg2hJTja^TDnkJ`h{y{Qu0p4>7x!C7c1U^IV?&l0V3 zr#G0MZ&N(s(e|s&*ucP`VB<!EFD<W(f%q|xTG!@!jwplJ`hT5OK-mRslP%=gW9Ce} t_4FsuJCYKTijFQ{mBiBwe0kj27~Cy`W?w1$KMm+>22WQ%mvv4FO#pJ<sPO;* literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m30.png b/doc/_static/markers/m30.png new file mode 100644 index 0000000000000000000000000000000000000000..bc9b72859ebb0116fdcbcd50f7c8f0426069a36c GIT binary patch literal 413 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI<x-UzDz|wp!f-Xz(*n7sn8b-sC_3|NpON zlVVhhlI*!!kX6NU_`|N=aLKOl*n}V7Uh{wDt^fIw{qV2P{*rstWfOP&{bXFqdwt52 z<R9PXH$J?$JD<mHa=*bE+uto!ZHEusum3Mu_wVQNfIYvIZXR?A$x<|*(P1QGIpf*{ z0Uwv;#SsRkx%<4fJk&X&m6Dc}l8~5`vf}&IW$PaL^ziT$ImPg7PU@8mIa;|gyJEsb z9_PvX&6vfdFUlRwx6qNe#Z)TU)SK#IB(nVB_4)Nm))E|2dgqQimKiKycKh-P<PV;n po*ofNE@p|BbE4RiP3O#FV2JCFQ0uu_ei`Uv22WQ%mvv4FO#nq#o|FIp literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m31.png b/doc/_static/markers/m31.png new file mode 100644 index 0000000000000000000000000000000000000000..f4aedabe4d297dacbccb5c1d66f650601672cdc7 GIT binary patch literal 416 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI<x-UzDz|wp!f-Xz)u<7sn8b-nWxC@*NBi zY5O1T>Jf32Sz=cO)8dQ829->T^A2j4Tw&`xnitaD)#4elq}g?`^W}TV3T<xrUda=F z9G_ghulm#7Y6(HXeIhTTAK3rl{~x*|En>yD^b5S&*DA%zowsjmK9<0z|KP+ap=EES zw3aq)P`~zM-Sfpur8wk@f6TcM!n<SMe3^T)vv15_&+$W6uHewW8rS?yer)o3d>5v> zf0$t7_uc#g%fHqSYu_#~Hfo(-?xy`F=ecdgjp7iOf65ON&j$+roE~o~AoxjAvUDlS w(io9Lj0wfN6sG$%b{vqXzLxy|vwsouLBGlsH~(*X4fHgFr>mdKI;Vst006k7A^-pY literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m32.png b/doc/_static/markers/m32.png new file mode 100644 index 0000000000000000000000000000000000000000..e4c8d06605e113995d3214e4a9912978926d970c GIT binary patch literal 425 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI<x-UzDz|wp!f-Xz(Xb7sn8b-nW-GW*rI; zIrj1YPR>PBcWAU+YKWEbI-4Y?a<wcc{%BLs{e`uyWiP|L<PUEB#lSb|s$-XkpSZZ` z&Q9mHru03}=iGl<SKt~tb<!zc>yXg4_xDv+%da~pz4JuP&O`Yjl1Hz1bjXSeUYi}i z?-}R(%_`#NOwDl{n3-p+Y5nLsy=-$|vPw1!!*P!3YpovdsIJJob}91c)2E7u&K`_a zwz=<qMa!>HX2IiXo3GB=b}!pYYV^0JA7y;EsNwcK*5CXFo8G!QKFibNYyWw>$WH41 z`TNs8`@IzWY89LD<Hy4M%dQJ6H9xnDbv<pF|DnF`KVw%<%bK(QeIEdQ&*16m=d#Wz Gp$PykldU=c literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m33.png b/doc/_static/markers/m33.png new file mode 100644 index 0000000000000000000000000000000000000000..893ea6a5a8d32caf636140545a3e2c01530f4157 GIT binary patch literal 420 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI<x-UzDz|wp!f-Xz*K47sn8b-sC_3|NpON zlVVhhlJuGOa7o3KjKll?{yH46=M|Il-D9g=q|Z6^EV`|4Z@fg;?(~NbZ^PNdeG6Yn z?tAt|xb4-~>5~8c{67ETy*+dDG8Or!ZS}vuwl6F@EZVm9`8=UqiNH2xc4k$E!v$Xw z7OZ;cJA1v+pFf}bje-|4C~IE(on^dXvw@+3v0>2t4++VVZMr+nc#522c&5ziHx*vl z_1P%r?B+xcqe%<*J>&s`m>eA*+l9YCIE7vK;2ZfSF`w)6>le)f%C0!5a_+d}mWMq{ uracFGC_N!XMX$p{uc*^>hR$J6Muuq&L9@R}WxD}A&fw|l=d#Wzp$PzX3ZxML literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m34.png b/doc/_static/markers/m34.png new file mode 100644 index 0000000000000000000000000000000000000000..fd66b50b7dc3031dc79724ed7c613db3ff28f4d9 GIT binary patch literal 411 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI<x-UzDz|wp!f-Xz&wH7sn8b-sC_3|NpON zlVVhhlJuGOa7o3Kl*6yh;!-u@N*f>EUT=TJ{Lj<n@;tB4+oyh*SJLwE+v)RHOk;v4 z^*_8{&(`MtexKnFAG<>vzP%BCCCSHJ|Nn3LkDt%woj<<nwrK9uTFDx25O}oUNkUY! zh);<3^9>1Ew`xT7jydTbo;g!OGGc~=<g41PE3++xm6@C82#6nE6OqgoS{V0AN-jm^ z@P#Mq&mK71mL+qu?QqjV-GJ$eHzL?pOHJb4|L>3Rxr7Bb3JUG`<{WI`lkn6%5A??Q q11C;+Oo^Iw*>WS><Wvhy28OuE2(`w8Ki>fT%i!ti=d#Wzp$P!$a-zfl literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m35.png b/doc/_static/markers/m35.png new file mode 100644 index 0000000000000000000000000000000000000000..365d652499c603f45a9d9ee72691f70afa013576 GIT binary patch literal 418 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI<x-UzDz|wp!f-Xz*)K7sn8b-nWxC@*NBi zY5O1T>JcH$pYY-lXOG+YgHJeHD%jRv2$WV4+a0Le(c&raGU4Kj3tPTRbS%6$dzysG z-{Z53_f>zITP-OlSSO<Cw=qvH@TG6!jN=|(bzVJ*KJB*GzWH@=N-F2%FwxYd3U4}1 zc0R7k$Wr_BTt-ga#6-C7buIt<p0FG7c^`f<zbiiUugJN4&p$r98S)7_eh(Nc=g3)K zVExznVQuPS+Zay$eE#V-BFk(lE)++&{BwTjcs^0^=k)ug0)n3;B~3#cqqMjlGHkGn xpXj~Z!6l(*?>XiDpZ$eix2t_%`M3Oob<&B-6|SO;n}FVC@O1TaS?83{1OO>hpNRkf literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m36.png b/doc/_static/markers/m36.png new file mode 100644 index 0000000000000000000000000000000000000000..5b6ff5e953e70411d6f8ebcecbaf727e695aaf32 GIT binary patch literal 423 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI<x-UzDz|wp!f-Xz&M57sn8b-sC_3|NpON zlVVhhlC;VCvEpI#i2|{lCZJ&YirW=aA3j|!&ogUM4GZtie}9CVE#%pqC+|07R#sN7 zJ1hwV`~Lnqyy5vT@3z?MaY80@Iwv+Np73Bhn!v_pbMTVPg2M{>XU-ltbELzYlNkhz zg_WC|ILw_l@8?^#bcadd#*GGNx=hm&6ca4Cg_RGVkw|9qGfR8Ko1T!65Fq+IHG}uc z(d>%o1$xb^EcC-Hn^vkGiD*;2;W3NxF0)ThfMv4eoT^T*t``sc_2+n+$=Lq+*lNu6 w!=EXl_Swh!yT4@rU!POyGo{Kc>Y59~<4G-R#551G0R7J3>FVdQ&MBb@0Ejx9%>V!Z literal 0 HcmV?d00001 diff --git a/doc/_static/markers/m37.png b/doc/_static/markers/m37.png new file mode 100644 index 0000000000000000000000000000000000000000..7afebed4557d9f91c0658f4baa8e5113e95ff9d4 GIT binary patch literal 483 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6S!3HF&cTd{}q*#ibJVQ8upoSx*1IXtr@Q5sC zVBk*#Va65q%QJz3z9p^^CBgY=CFO}lsSLS^B?US8B{`W%3T3H9#hLke3PyS$Sdd>_ zVrXn&shw_anVgbpXkuxmqmWTjQedU8kI<x-UzDz|wp!hTfq_xS)5S5wqBr@^|NsB% z*`yfNq9lEa4@Y`jEqHm7z3u68Ib)l;?^7Qhe_ziN_^gP>(amUzblsbC(rqg&)dP=Q zQK?v&Tyg!}?1F6*=P)p{Ya2T+SZLz+)kU)I|Jm@id2`Jr^=$qzh)))Nl=R`s)D(kI zfkkIN^oq|j%Gvuz#x>_~YdX*WfB(}9u1{NVrXW|dj!iMotgSr0-p~LDR&;za_^@HK z0m}nUAvPdzOEM1pxQd%6`@C&x0uWe4K0Tvw?zm$B|HYRwV)y>cS;LdG=Z(ut#Zw>T z_y0G#Q~!BtBM><Hx6N;yIB{ZC+x?1<Gat&EeE5>`qtj?c#^Loge>u{#y#sH4Sbbig z?e&BNi$Kqd5q=XMemkwtv&kt2i08OS`;`Q#u=CvgB*W17IP~2A=F_Kv5yIf<>gTe~ HDWM4fQZ>K} literal 0 HcmV?d00001 diff --git a/lib/matplotlib/markers.py b/lib/matplotlib/markers.py index 8c6e34cfb3a3..d79a41615a2d 100644 --- a/lib/matplotlib/markers.py +++ b/lib/matplotlib/markers.py @@ -5,82 +5,149 @@ All possible markers are defined here: -============================== =============================================== -marker description -============================== =============================================== -`"."` point -`","` pixel -`"o"` circle -`"v"` triangle_down -`"^"` triangle_up -`"<"` triangle_left -`">"` triangle_right -`"1"` tri_down -`"2"` tri_up -`"3"` tri_left -`"4"` tri_right -`"8"` octagon -`"s"` square -`"p"` pentagon -`"P"` plus (filled) -`"*"` star -`"h"` hexagon1 -`"H"` hexagon2 -`"+"` plus -`"x"` x -`"X"` x (filled) -`"D"` diamond -`"d"` thin_diamond -`"|"` vline -`"_"` hline -TICKLEFT tickleft -TICKRIGHT tickright -TICKUP tickup -TICKDOWN tickdown -CARETLEFT caretleft (centered at tip) -CARETRIGHT caretright (centered at tip) -CARETUP caretup (centered at tip) -CARETDOWN caretdown (centered at tip) -CARETLEFTBASE caretleft (centered at base) -CARETRIGHTBASE caretright (centered at base) -CARETUPBASE caretup (centered at base) -`"None"`, `" "` or `""` nothing -``'$...$'`` render the string using mathtext. -`verts` a list of (x, y) pairs used for Path vertices. - The center of the marker is located at (0,0) and - the size is normalized. -path a `~matplotlib.path.Path` instance. -(`numsides`, `style`, `angle`) The marker can also be a tuple (`numsides`, - `style`, `angle`), which will create a custom, - regular symbol. - - `numsides`: - the number of sides - - `style`: - the style of the regular symbol: - - 0 - a regular polygon - 1 - a star-like symbol - 2 - an asterisk - 3 - a circle (`numsides` and `angle` is - ignored); deprecated. - - `angle`: - the angle of rotation of the symbol -============================== =============================================== - -For backward compatibility, the form (`verts`, 0) is also accepted, but it is -deprecated and equivalent to just `verts` for giving a raw set of vertices that -define the shape. - -`None` is the default which means 'nothing', however this table is +============================== ====== ========================================= +marker symbol description +============================== ====== ========================================= +``"."`` |m00| point +``","`` |m01| pixel +``"o"`` |m02| circle +``"v"`` |m03| triangle_down +``"^"`` |m04| triangle_up +``"<"`` |m05| triangle_left +``">"`` |m06| triangle_right +``"1"`` |m07| tri_down +``"2"`` |m08| tri_up +``"3"`` |m09| tri_left +``"4"`` |m10| tri_right +``"8"`` |m11| octagon +``"s"`` |m12| square +``"p"`` |m13| pentagon +``"P"`` |m23| plus (filled) +``"*"`` |m14| star +``"h"`` |m15| hexagon1 +``"H"`` |m16| hexagon2 +``"+"`` |m17| plus +``"x"`` |m18| x +``"X"`` |m21| x (filled) +``"D"`` |m19| diamond +``"d"`` |m20| thin_diamond +``"|"`` |m21| vline +``"_"`` |m22| hline +``0`` (``TICKLEFT``) |m25| tickleft +``1`` (``TICKRIGHT``) |m26| tickright +``2`` (``TICKUP``) |m27| tickup +``3`` (``TICKDOWN``) |m28| tickdown +``4`` (``CARETLEFT``) |m29| caretleft +``5`` (``CARETRIGHT``) |m30| caretright +``6`` (``CARETUP``) |m31| caretup +``7`` (``CARETDOWN``) |m32| caretdown +``8`` (``CARETLEFTBASE``) |m33| caretleft (centered at base) +``9`` (``CARETRIGHTBASE``) |m34| caretright (centered at base) +``10`` (``CARETUPBASE``) |m35| caretup (centered at base) +``11`` (``CARETDOWNBASE``) |m36| caretdown (centered at base) +``"None"``, ``" "`` or ``""`` nothing +``'$...$'`` |m37| Render the string using mathtext. + E.g ``"$f$"`` for marker showing the + letter ``f``. +``verts`` A list of (x, y) pairs used for Path + vertices. The center of the marker is + located at (0,0) and the size is + normalized, such that the created path + is encapsulated inside the unit cell. +path A `~matplotlib.path.Path` instance. +``(numsides, style, angle)`` The marker can also be a tuple + ``(numsides, style, angle)``, which + will create a custom, regular symbol. + + ``numsides``: + the number of sides + + ``style``: + the style of the regular symbol: + + +---+-----------------------------+ + | 0 | a regular polygon | + +---+-----------------------------+ + | 1 | a star-like symbol | + +---+-----------------------------+ + | 2 | an asterisk | + +---+-----------------------------+ + | 3 | a circle (``numsides`` and | + | | ``angle`` is ignored); | + | | deprecated. | + +---+-----------------------------+ + + ``angle``: + the angle of rotation of the symbol +============================== ====== ========================================= + +For backward compatibility, the form ``(verts, 0)`` is also accepted, but it is +deprecated and equivalent to just ``verts`` for giving a raw set of vertices +that define the shape. + +``None`` is the default which means 'nothing', however this table is referred to from other docs for the valid inputs from marker inputs and in -those cases `None` still means 'default'. +those cases ``None`` still means 'default'. + +Note that special symbols can be defined via the +:doc:`STIX math font </tutorials/text/mathtext>`, +e.g. ``"$\u266B$"``. For an overview over the STIX font symbols refer to the +`STIX font table <http://www.stixfonts.org/allGlyphs.html>`_. +Also see the :doc:`/gallery/text_labels_and_annotations/stix_fonts_demo`. + +Integer numbers from ``0`` to ``11`` create lines and triangles. Those are +equally accessible via capitalied variables, like ``CARETDOWNBASE``. +Hence the following are equivalent:: + + plt.plot([1,2,3], marker=11) + plt.plot([1,2,3], marker=marker=matplotlib.markers.CARETDOWNBASE) + + +Examples showing the use of markers: + +* :doc:`/gallery/lines_bars_and_markers/marker_reference` +* :doc:`/gallery/lines_bars_and_markers/marker_fillstyle_reference` +* :doc:`/gallery/shapes_and_collections/marker_path` + + +.. |m00| image:: /_static/markers/m00.png +.. |m01| image:: /_static/markers/m01.png +.. |m02| image:: /_static/markers/m02.png +.. |m03| image:: /_static/markers/m03.png +.. |m04| image:: /_static/markers/m04.png +.. |m05| image:: /_static/markers/m05.png +.. |m06| image:: /_static/markers/m06.png +.. |m07| image:: /_static/markers/m07.png +.. |m08| image:: /_static/markers/m08.png +.. |m09| image:: /_static/markers/m09.png +.. |m10| image:: /_static/markers/m10.png +.. |m11| image:: /_static/markers/m11.png +.. |m12| image:: /_static/markers/m12.png +.. |m13| image:: /_static/markers/m13.png +.. |m14| image:: /_static/markers/m14.png +.. |m15| image:: /_static/markers/m15.png +.. |m16| image:: /_static/markers/m16.png +.. |m17| image:: /_static/markers/m17.png +.. |m18| image:: /_static/markers/m18.png +.. |m19| image:: /_static/markers/m19.png +.. |m20| image:: /_static/markers/m20.png +.. |m21| image:: /_static/markers/m21.png +.. |m22| image:: /_static/markers/m22.png +.. |m23| image:: /_static/markers/m23.png +.. |m24| image:: /_static/markers/m24.png +.. |m25| image:: /_static/markers/m25.png +.. |m26| image:: /_static/markers/m26.png +.. |m27| image:: /_static/markers/m27.png +.. |m28| image:: /_static/markers/m28.png +.. |m29| image:: /_static/markers/m29.png +.. |m30| image:: /_static/markers/m30.png +.. |m31| image:: /_static/markers/m31.png +.. |m32| image:: /_static/markers/m32.png +.. |m33| image:: /_static/markers/m33.png +.. |m34| image:: /_static/markers/m34.png +.. |m35| image:: /_static/markers/m35.png +.. |m36| image:: /_static/markers/m36.png +.. |m37| image:: /_static/markers/m37.png """ from collections import Sized From 354fa7de1d2babc7f84a816f568326eb2b021cf6 Mon Sep 17 00:00:00 2001 From: ImportanceOfBeingErnest <elch.rz@ruetz-online.de> Date: Thu, 14 Jun 2018 21:01:53 +0200 Subject: [PATCH 0790/1161] Doc: Markers update --- .../marker_fillstyle_reference.py | 4 ++ .../marker_reference.py | 71 +++++++++++++++---- lib/matplotlib/markers.py | 18 ++--- 3 files changed, 72 insertions(+), 21 deletions(-) diff --git a/examples/lines_bars_and_markers/marker_fillstyle_reference.py b/examples/lines_bars_and_markers/marker_fillstyle_reference.py index 50ac70354d5e..cffe2cbc401f 100644 --- a/examples/lines_bars_and_markers/marker_fillstyle_reference.py +++ b/examples/lines_bars_and_markers/marker_fillstyle_reference.py @@ -4,6 +4,10 @@ ===================== Reference for marker fill-styles included with Matplotlib. + +Also refer to the +:doc:`/gallery/lines_bars_and_markers/marker_fillstyle_reference` +and :doc:`/gallery/shapes_and_collections/marker_path` examples. """ import numpy as np import matplotlib.pyplot as plt diff --git a/examples/lines_bars_and_markers/marker_reference.py b/examples/lines_bars_and_markers/marker_reference.py index fd4371e2aa33..715e8d685a80 100644 --- a/examples/lines_bars_and_markers/marker_reference.py +++ b/examples/lines_bars_and_markers/marker_reference.py @@ -1,9 +1,13 @@ """ -================================ -Filled and unfilled-marker types -================================ +================ +Marker Reference +================ -Reference for filled- and unfilled-marker types included with Matplotlib. +Reference for filled-, unfilled- and custom marker types with Matplotlib. + +For a list of all markers see the `matplotlib.markers` documentation. Also +refer to the :doc:`/gallery/lines_bars_and_markers/marker_fillstyle_reference` +and :doc:`/gallery/shapes_and_collections/marker_path` examples. """ import numpy as np @@ -14,36 +18,52 @@ points = np.ones(3) # Draw 3 points for each line text_style = dict(horizontalalignment='right', verticalalignment='center', fontsize=12, fontdict={'family': 'monospace'}) -marker_style = dict(linestyle=':', color='cornflowerblue', markersize=10) +marker_style = dict(linestyle=':', color='0.8', markersize=10, + mfc="C0", mec="C0") def format_axes(ax): ax.margins(0.2) ax.set_axis_off() + ax.invert_yaxis() + + +def nice_repr(text): + return repr(text).lstrip('u') + + +def math_repr(text): + tx = repr(text).lstrip('u').strip("'").strip("$") + return "'\${}\$'".format(tx) def split_list(a_list): i_half = len(a_list) // 2 return (a_list[:i_half], a_list[i_half:]) + ############################################################################### +# Filled and unfilled-marker types +# ================================ +# +# # Plot all un-filled markers fig, axes = plt.subplots(ncols=2) +fig.suptitle('un-filled markers', fontsize=14) # Filter out filled markers and marker settings that do nothing. unfilled_markers = [m for m, func in Line2D.markers.items() if func != 'nothing' and m not in Line2D.filled_markers] -# Reverse-sort for pretty. We use our own sort key which is essentially -# a python3 compatible reimplementation of python2 sort. -unfilled_markers = sorted(unfilled_markers, - key=lambda x: (str(type(x)), str(x)))[::-1] + for ax, markers in zip(axes, split_list(unfilled_markers)): for y, marker in enumerate(markers): - ax.text(-0.5, y, repr(marker), **text_style) + ax.text(-0.5, y, nice_repr(marker), **text_style) ax.plot(y * points, marker=marker, **marker_style) format_axes(ax) -fig.suptitle('un-filled markers', fontsize=14) + +plt.show() + ############################################################################### @@ -52,9 +72,36 @@ def split_list(a_list): fig, axes = plt.subplots(ncols=2) for ax, markers in zip(axes, split_list(Line2D.filled_markers)): for y, marker in enumerate(markers): - ax.text(-0.5, y, repr(marker), **text_style) + ax.text(-0.5, y, nice_repr(marker), **text_style) ax.plot(y * points, marker=marker, **marker_style) format_axes(ax) fig.suptitle('filled markers', fontsize=14) plt.show() + + +############################################################################### +# Custom Markers with MathText +# ============================ +# +# +# Use :doc:`MathText </tutorials/text/mathtext>`, to use custom marker symbols, +# like e.g. ``"$\u266B$"``. For an overview over the STIX font symbols refer to the +# `STIX font table <http://www.stixfonts.org/allGlyphs.html>`_. +# Also see the :doc:`/gallery/text_labels_and_annotations/stix_fonts_demo`. + + +fig, ax = plt.subplots() +fig.subplots_adjust(left=0.4) + +marker_style.update(mec="None", markersize=15) +markers = ["$1$", r"$\frac{1}{2}$", "$f$", "$\u266B$", + r"$\mathcircled{m}$"] + + +for y, marker in enumerate(markers): + ax.text(-0.5, y, math_repr(marker), **text_style) + ax.plot(y * points, marker=marker, **marker_style) +format_axes(ax) + +plt.show() diff --git a/lib/matplotlib/markers.py b/lib/matplotlib/markers.py index d79a41615a2d..81e8d086e47f 100644 --- a/lib/matplotlib/markers.py +++ b/lib/matplotlib/markers.py @@ -48,7 +48,7 @@ ``"None"``, ``" "`` or ``""`` nothing ``'$...$'`` |m37| Render the string using mathtext. E.g ``"$f$"`` for marker showing the - letter ``f``. + letter ``f``. ``verts`` A list of (x, y) pairs used for Path vertices. The center of the marker is located at (0,0) and the size is @@ -58,10 +58,10 @@ ``(numsides, style, angle)`` The marker can also be a tuple ``(numsides, style, angle)``, which will create a custom, regular symbol. - + ``numsides``: the number of sides - + ``style``: the style of the regular symbol: @@ -76,7 +76,7 @@ | | ``angle`` is ignored); | | | deprecated. | +---+-----------------------------+ - + ``angle``: the angle of rotation of the symbol ============================== ====== ========================================= @@ -89,26 +89,26 @@ referred to from other docs for the valid inputs from marker inputs and in those cases ``None`` still means 'default'. -Note that special symbols can be defined via the +Note that special symbols can be defined via the :doc:`STIX math font </tutorials/text/mathtext>`, e.g. ``"$\u266B$"``. For an overview over the STIX font symbols refer to the `STIX font table <http://www.stixfonts.org/allGlyphs.html>`_. Also see the :doc:`/gallery/text_labels_and_annotations/stix_fonts_demo`. Integer numbers from ``0`` to ``11`` create lines and triangles. Those are -equally accessible via capitalied variables, like ``CARETDOWNBASE``. +equally accessible via capitalized variables, like ``CARETDOWNBASE``. Hence the following are equivalent:: plt.plot([1,2,3], marker=11) - plt.plot([1,2,3], marker=marker=matplotlib.markers.CARETDOWNBASE) - + plt.plot([1,2,3], marker=matplotlib.markers.CARETDOWNBASE) + Examples showing the use of markers: * :doc:`/gallery/lines_bars_and_markers/marker_reference` * :doc:`/gallery/lines_bars_and_markers/marker_fillstyle_reference` * :doc:`/gallery/shapes_and_collections/marker_path` - + .. |m00| image:: /_static/markers/m00.png .. |m01| image:: /_static/markers/m01.png From 18d20e556ef94105869fe874ea52607c34c08b8d Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Thu, 14 Jun 2018 13:29:27 -0700 Subject: [PATCH 0791/1161] ENH: add get_gridspec convenience method to subplots --- .../next_whats_new/subplot_get_gridspec.rst | 20 +++++++++++++++++++ lib/matplotlib/axes/_subplots.py | 4 ++++ 2 files changed, 24 insertions(+) create mode 100644 doc/users/next_whats_new/subplot_get_gridspec.rst diff --git a/doc/users/next_whats_new/subplot_get_gridspec.rst b/doc/users/next_whats_new/subplot_get_gridspec.rst new file mode 100644 index 000000000000..9d6cfde3e387 --- /dev/null +++ b/doc/users/next_whats_new/subplot_get_gridspec.rst @@ -0,0 +1,20 @@ +Add ``ax.get_gridspec`` to `.SubplotBase` +----------------------------------------- + +New method `.SubplotBase.get_gridspec` is added so that users can +easily get the gridspec that went into making as axes: + + .. code:: + + import matplotlib.pyplot as plt + + fig, axs = plt.subplots(3, 2) + gs = axs[0, -1].get_gridspec() + + # remove the last column + for ax in axs[:,-1].flatten(): + ax.remove() + + # make a subplot in last column that spans rows. + ax = fig.add_subplot(gs[:, -1]) + plt.show() diff --git a/lib/matplotlib/axes/_subplots.py b/lib/matplotlib/axes/_subplots.py index 257c5711f2de..b42cf4f5b9f9 100644 --- a/lib/matplotlib/axes/_subplots.py +++ b/lib/matplotlib/axes/_subplots.py @@ -117,6 +117,10 @@ def set_subplotspec(self, subplotspec): """set the SubplotSpec instance associated with the subplot""" self._subplotspec = subplotspec + def get_gridspec(self): + """get the GridSpec instance associated with the subplot""" + return self._subplotspec.get_gridspec() + def update_params(self): """update the subplot position from fig.subplotpars""" From a8121089a4f494322796e6c36740ffb9ba676147 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Thu, 14 Jun 2018 13:38:16 -0700 Subject: [PATCH 0792/1161] TST: Add trivial test --- lib/matplotlib/tests/test_subplots.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/matplotlib/tests/test_subplots.py b/lib/matplotlib/tests/test_subplots.py index 9a1a5e7f7a8d..30cebe656e58 100644 --- a/lib/matplotlib/tests/test_subplots.py +++ b/lib/matplotlib/tests/test_subplots.py @@ -143,3 +143,9 @@ def test_subplots_offsettext(): axes[1, 0].plot(x, x) axes[0, 1].plot(y, x) axes[1, 1].plot(y, x) + + +def test_get_gridspec(): + # ahem, pretty trivial, but... + fig, ax = plt.subplots() + assert ax.get_subplotspec().get_gridspec() == ax.get_gridspec() From 3066257fc37c986e018d19eab47730670e032342 Mon Sep 17 00:00:00 2001 From: fredrik-1 <sandquist.fredrik@gmail.com> Date: Fri, 15 Jun 2018 20:30:10 +0200 Subject: [PATCH 0793/1161] doc_AxesBase_bug --- lib/matplotlib/axes/_base.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index d2f5a694088d..c8904c02df9d 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -408,6 +408,8 @@ def __str__(self): return "{0}({1[0]:g},{1[1]:g};{1[2]:g}x{1[3]:g})".format( type(self).__name__, self._position.bounds) + @docstring.Substitution(scale=' | '.join( + [repr(x) for x in mscale.get_scale_names()])) def __init__(self, fig, rect, facecolor=None, # defaults to rc axes.facecolor frameon=True, @@ -419,10 +421,10 @@ def __init__(self, fig, rect, **kwargs ): """ - Build an :class:`Axes` instance in - :class:`~matplotlib.figure.Figure` *fig* with + Build an `~axes.Axes` instance in + `~matplotlib.figure.Figure` *fig* with *rect=[left, bottom, width, height]* in - :class:`~matplotlib.figure.Figure` coordinates + `~matplotlib.figure.Figure` coordinates Optional keyword arguments: @@ -465,8 +467,8 @@ def __init__(self, fig, rect, *yticklabels* sequence of strings *yticks* sequence of floats ================ ========================================= - """ % {'scale': ' | '.join( - [repr(x) for x in mscale.get_scale_names()])} + """ + martist.Artist.__init__(self) if isinstance(rect, mtransforms.Bbox): self._position = rect From 3fa49bc62c1c76739b5358873edfc4a913c29641 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sat, 2 Jun 2018 23:49:05 -0700 Subject: [PATCH 0794/1161] Some py3fications. --- lib/matplotlib/tests/test_axes.py | 8 +++----- lib/matplotlib/type1font.py | 20 ++++++++++---------- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index bd6961b16d75..a66e3f3dac75 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -1,4 +1,4 @@ -from itertools import chain, product +from itertools import product from distutils.version import LooseVersion import io @@ -357,7 +357,7 @@ def test_arrow_simple(): shape = ('full', 'left', 'right') head_starts_at_zero = (True, False) # Create outer product of values - kwargs = list(product(length_includes_head, shape, head_starts_at_zero)) + kwargs = product(length_includes_head, shape, head_starts_at_zero) fig, axs = plt.subplots(3, 4) for i, (ax, kwarg) in enumerate(zip(axs.flatten(), kwargs)): @@ -5040,9 +5040,7 @@ def generate_errorbar_inputs(): yerr_only = base_xy * yerr_cy both_err = base_xy * yerr_cy * xerr_cy - test_cyclers = chain(xerr_only, yerr_only, both_err, empty) - - return test_cyclers + return [*xerr_only, *yerr_only, *both_err, *empty] @pytest.mark.parametrize('kwargs', generate_errorbar_inputs()) diff --git a/lib/matplotlib/type1font.py b/lib/matplotlib/type1font.py index 409f22aab144..1257f9c29696 100644 --- a/lib/matplotlib/type1font.py +++ b/lib/matplotlib/type1font.py @@ -243,14 +243,13 @@ def _transformer(cls, tokens, slant, extend): def fontname(name): result = name if slant: - result += b'_Slant_' + str(int(1000 * slant)).encode('ascii') + result += b'_Slant_%d' % int(1000 * slant) if extend != 1.0: - result += b'_Extend_' + str(int(1000 * extend)).encode('ascii') + result += b'_Extend_%d' % int(1000 * extend) return result def italicangle(angle): - return (str(float(angle) - np.arctan(slant) / np.pi * 180) - .encode('ascii')) + return b'%a' % (float(angle) - np.arctan(slant) / np.pi * 180) def fontmatrix(array): array = array.lstrip(b'[').rstrip(b']').split() @@ -264,19 +263,21 @@ def fontmatrix(array): newmatrix = np.dot(modifier, oldmatrix) array[::2] = newmatrix[0:3, 0] array[1::2] = newmatrix[0:3, 1] + # Not directly using `b'%a' % x for x in array` for now as that + # produces longer reprs on numpy<1.14, causing test failures. as_string = '[' + ' '.join(str(x) for x in array) + ']' return as_string.encode('latin-1') def replace(fun): def replacer(tokens): token, value = next(tokens) # name, e.g., /FontMatrix - yield bytes(value) + yield value token, value = next(tokens) # possible whitespace while token is _TokenType.whitespace: - yield bytes(value) + yield value token, value = next(tokens) if value != b'[': # name/number/etc. - yield bytes(fun(value)) + yield fun(value) else: # array, e.g., [1 2 3] result = b'' while value != b']': @@ -298,9 +299,8 @@ def suppress(tokens): for token, value in tokens: if token is _TokenType.name and value in table: - for value in table[value](itertools.chain([(token, value)], - tokens)): - yield value + yield from table[value]( + itertools.chain([(token, value)], tokens)) else: yield value From f0bf8d05537e32bba00c0e90d36c002321dc7466 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sat, 16 Jun 2018 16:43:01 +0200 Subject: [PATCH 0795/1161] Do not use class attributes as defaults for instance attributes --- lib/matplotlib/backend_bases.py | 54 ++++++++++++--------------------- 1 file changed, 20 insertions(+), 34 deletions(-) diff --git a/lib/matplotlib/backend_bases.py b/lib/matplotlib/backend_bases.py index d828a7b0a16b..54728fe05d6b 100644 --- a/lib/matplotlib/backend_bases.py +++ b/lib/matplotlib/backend_bases.py @@ -1332,7 +1332,7 @@ def __init__(self, name, canvas, guiEvent=None): class LocationEvent(Event): """ - An event that has a screen location + An event that has a screen location. The following additional attributes are defined and shown with their default values. @@ -1356,28 +1356,23 @@ class LocationEvent(Event): ydata : scalar y coord of mouse in data coords - """ - x = None # x position - pixels from left of canvas - y = None # y position - pixels from right of canvas - inaxes = None # the Axes instance if mouse us over axes - xdata = None # x coord of mouse in data coords - ydata = None # y coord of mouse in data coords - # the last event that was triggered before this one - lastevent = None + lastevent = None # the last event that was triggered before this one def __init__(self, name, canvas, x, y, guiEvent=None): """ *x*, *y* in figure coords, 0,0 = bottom, left """ Event.__init__(self, name, canvas, guiEvent=guiEvent) - self.x = x - self.y = y + self.x = x # x position - pixels from left of canvas + self.y = y # y position - pixels from right of canvas + self.inaxes = None # the Axes instance if mouse us over axes + self.xdata = None # x coord of mouse in data coords + self.ydata = None # y coord of mouse in data coords if x is None or y is None: # cannot check if event was in axes if no x,y info - self.inaxes = None self._update_enter_leave() return @@ -1394,13 +1389,10 @@ def __init__(self, name, canvas, x, y, guiEvent=None): trans = self.inaxes.transData.inverted() xdata, ydata = trans.transform_point((x, y)) except ValueError: - self.xdata = None - self.ydata = None + pass else: self.xdata = xdata self.ydata = ydata - else: - self.inaxes = None self._update_enter_leave() @@ -1443,18 +1435,21 @@ class MouseEvent(LocationEvent): Attributes ---------- - button : None, scalar, or str - button pressed None, 1, 2, 3, 'up', 'down' (up and down are used - for scroll events). Note that in the nbagg backend, both the - middle and right clicks return 3 since right clicking will bring - up the context menu in some browsers. + button : {None, 1, 2, 3, 'up', 'down'} + The button pressed. 'up' and 'down' are used for scroll events. + Note that in the nbagg backend, both the middle and right clicks + return 3 since right clicking will bring up the context menu in + some browsers. - key : None, or str - the key depressed when the mouse event triggered (see - :class:`KeyEvent`) + key : None or str + The key pressed when the mouse event triggered, e.g. 'shift'. + See `KeyEvent`. step : scalar - number of scroll steps (positive for 'up', negative for 'down') + The Number of scroll steps (positive for 'up', negative for 'down'). + + dblclick : bool + *True* if the event is a double-click. Examples -------- @@ -1464,16 +1459,7 @@ def on_press(event): print('you pressed', event.button, event.xdata, event.ydata) cid = fig.canvas.mpl_connect('button_press_event', on_press) - """ - x = None # x position - pixels from left of canvas - y = None # y position - pixels from right of canvas - button = None # button pressed None, 1, 2, 3 - dblclick = None # whether or not the event is the result of a double click - inaxes = None # the Axes instance if mouse us over axes - xdata = None # x coord of mouse in data coords - ydata = None # y coord of mouse in data coords - step = None # scroll steps for scroll events def __init__(self, name, canvas, x, y, button=None, key=None, step=0, dblclick=False, guiEvent=None): From 638067e5b1b2e5366cf1570fc2f26f1847b327b0 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sat, 16 Jun 2018 21:45:24 +0200 Subject: [PATCH 0796/1161] Slightly improve doc sidebar layout --- doc/_static/mpl.css | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/doc/_static/mpl.css b/doc/_static/mpl.css index f05e13a1174c..dd6dfcd0d4d5 100644 --- a/doc/_static/mpl.css +++ b/doc/_static/mpl.css @@ -245,7 +245,8 @@ div.sphinxsidebar h3 a { div.sphinxsidebar ul { padding-left: 1.5em; - margin-top: 7px; + margin-top: 10px; + margin-bottom: 10px; list-style: none; padding: 0; line-height: 130%; @@ -253,7 +254,9 @@ div.sphinxsidebar ul { div.sphinxsidebar ul ul { list-style: square; - margin-left: 20px; + margin-top: 6px; + margin-bottom: 6px; + margin-left: 16px; } div.sphinxsidebar #searchbox input { From 0f36b56322f69a4a1f2bf7312cf5881a7e705693 Mon Sep 17 00:00:00 2001 From: Peter Mackenzie-Helnwein <mackheln@gmail.com> Date: Mon, 18 Jun 2018 10:53:06 -0700 Subject: [PATCH 0797/1161] Fixing the issue where right column and top row generate wrong streamlines --- lib/matplotlib/streamplot.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/streamplot.py b/lib/matplotlib/streamplot.py index fb569d0500e0..644ff381420a 100644 --- a/lib/matplotlib/streamplot.py +++ b/lib/matplotlib/streamplot.py @@ -603,11 +603,11 @@ def interpgrid(a, xi, yi): x = int(xi) y = int(yi) # conditional is faster than clipping for integers - if x == (Nx - 2): + if x == (Nx - 1): xn = x else: xn = x + 1 - if y == (Ny - 2): + if y == (Ny - 1): yn = y else: yn = y + 1 From 945c0169c4c3d8e248db6e3d08f84ccf3a320622 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Fri, 15 Jun 2018 23:50:58 +0200 Subject: [PATCH 0798/1161] Pin pytest-timeout to fix the build. --- .travis.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index e84d9dd02a4d..dc7edf2cbd71 100644 --- a/.travis.yml +++ b/.travis.yml @@ -55,9 +55,12 @@ env: - NUMPY=numpy - PANDAS= - PYPARSING=pyparsing - - PYTEST='pytest>=3.4' + # pytest-timeout master depends on pytest>=3.6. Testing with pytest 3.4 is + # still supported; this is tested by the first matrix entry. + - PYTEST='pytest>=3.6' - PYTEST_COV=pytest-cov - PYTEST_PEP8= + - PYTEST_TIMEOUT=pytest-timeout - SPHINX=sphinx # Variables controlling the build. - MPLLOCALFREETYPE=1 @@ -86,6 +89,7 @@ matrix: - PYPARSING=pyparsing==2.0.1 - PYTEST=pytest==3.4 - PYTEST_COV=pytest-cov==2.3.1 + - PYTEST_TIMEOUT=pytest-timeout==1.2.1 # Newer pytest-timeouts don't support pytest 3.4. - SPHINX=sphinx==1.3 - python: 3.5 env: @@ -177,7 +181,7 @@ install: pytest-faulthandler \ $PYTEST_PEP8 \ pytest-rerunfailures \ - pytest-timeout \ + $PYTEST_TIMEOUT \ pytest-xdist - | # Install matplotlib From 55f9f47c08207a13685b4c7f2fa3586e0cab2c2a Mon Sep 17 00:00:00 2001 From: Paul Hobson <pmhobson@gmail.com> Date: Mon, 18 Jun 2018 12:15:04 -0700 Subject: [PATCH 0799/1161] DOC: fix minor typo in figaspect --- lib/matplotlib/figure.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index ac2de0e88daa..134e727fef97 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -2296,7 +2296,7 @@ def figaspect(arg): Notes ----- - If you want to create an axes within the figure, that still presevers the + If you want to create an axes within the figure, that still preserves the aspect ratio, be sure to create it with equal width and height. See examples below. From 08086d3195d465e8599fd8206f5ea8dc5fdee69c Mon Sep 17 00:00:00 2001 From: Nick Forrington <nick.forrington@arm.com> Date: Mon, 18 Jun 2018 18:37:01 -0400 Subject: [PATCH 0800/1161] Search $CPATH for include directories --- setupext.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/setupext.py b/setupext.py index 6d363012eb4e..00ef3fe5a3dd 100644 --- a/setupext.py +++ b/setupext.py @@ -162,8 +162,10 @@ def get_include_dirs(): """ include_dirs = [os.path.join(d, 'include') for d in get_base_dirs()] if sys.platform != 'win32': - # gcc includes this dir automatically, so also look for headers in + # gcc includes these dirs automatically, so also look for headers in # these dirs + include_dirs.extend( + os.environ.get('CPATH', '').split(os.pathsep)) include_dirs.extend( os.environ.get('CPLUS_INCLUDE_PATH', '').split(os.pathsep)) return include_dirs From 07501bd5c5c1fa3dab956e6909c391503fe9d33e Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Mon, 18 Jun 2018 19:36:03 -0700 Subject: [PATCH 0801/1161] DOC: point align-ylabel demo to new align-label functions --- examples/pyplots/align_ylabels.py | 78 ++++++++++++++++++++++--------- 1 file changed, 55 insertions(+), 23 deletions(-) diff --git a/examples/pyplots/align_ylabels.py b/examples/pyplots/align_ylabels.py index c43f7ebe1503..fed5d83c5ce5 100644 --- a/examples/pyplots/align_ylabels.py +++ b/examples/pyplots/align_ylabels.py @@ -1,40 +1,71 @@ """ -============= -Align Ylabels -============= +============== +Align y-labels +============== + +Two methods are shown here, one using a short call to `.Figure.align_ylabels` +and the second a manual way to align the labels. -Align the axis labels between subplots. """ import numpy as np import matplotlib.pyplot as plt -box = dict(facecolor='yellow', pad=5, alpha=0.2) +def make_plot(axs): + box = dict(facecolor='yellow', pad=5, alpha=0.2) + + # Fixing random state for reproducibility + np.random.seed(19680801) + ax1 = axs[0, 0] + ax1.plot(2000*np.random.rand(10)) + ax1.set_title('ylabels not aligned') + ax1.set_ylabel('misaligned 1', bbox=box) + ax1.set_ylim(0, 2000) + + ax3 = axs[1, 0] + ax3.set_ylabel('misaligned 2',bbox=box) + ax3.plot(np.random.rand(10)) + + ax2 = axs[0, 1] + ax2.set_title('ylabels aligned') + ax2.plot(2000*np.random.rand(10)) + ax2.set_ylabel('aligned 1', bbox=box) + ax2.set_ylim(0, 2000) -fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2) + ax4 = axs[1, 1] + ax4.plot(np.random.rand(10)) + ax4.set_ylabel('aligned 2', bbox=box) + +# Plot 1: + +fig, axs = plt.subplots(2, 2) fig.subplots_adjust(left=0.2, wspace=0.6) +make_plot(axs) + +# just align the last column of axes: +fig.align_ylabels(axs[:,1]) +plt.show() -# Fixing random state for reproducibility -np.random.seed(19680801) +############################################################################# +# +# .. seealso:: +# `.Figure.align_ylabels` and `.Figure.align_labels` for a direct method +# of doing the same thing. +# Also :doc:`/gallery/subplots_axes_and_figures/align_labels_demo` +# +# +# Or we can manually align the axis labels between subplots manually using the +# `set_label_coords` method of the y-axis object. Note this requires we know +# a good offset value which is hardcoded. -ax1.plot(2000*np.random.rand(10)) -ax1.set_title('ylabels not aligned') -ax1.set_ylabel('misaligned 1', bbox=box) -ax1.set_ylim(0, 2000) +fig, axs = plt.subplots(2, 2) +fig.subplots_adjust(left=0.2, wspace=0.6) -ax3.set_ylabel('misaligned 2',bbox=box) -ax3.plot(np.random.rand(10)) +make_plot(axs) labelx = -0.3 # axes coords -ax2.set_title('ylabels aligned') -ax2.plot(2000*np.random.rand(10)) -ax2.set_ylabel('aligned 1', bbox=box) -ax2.yaxis.set_label_coords(labelx, 0.5) -ax2.set_ylim(0, 2000) - -ax4.plot(np.random.rand(10)) -ax4.set_ylabel('aligned 2', bbox=box) -ax4.yaxis.set_label_coords(labelx, 0.5) +for j in range(2): + axs[j, 1].yaxis.set_label_coords(labelx, 0.5) plt.show() @@ -49,6 +80,7 @@ # in this example: import matplotlib +matplotlib.figure.Figure.align_ylabels matplotlib.axis.Axis.set_label_coords matplotlib.axes.Axes.plot matplotlib.pyplot.plot From 9c154ef29e7aa963d17592a610e630caf123fd4a Mon Sep 17 00:00:00 2001 From: fredrik-1 <sandquist.fredrik@gmail.com> Date: Sun, 17 Jun 2018 10:36:50 +0200 Subject: [PATCH 0802/1161] add subplots to axes documentation --- doc/api/axes_api.rst | 18 +++++++++++++++--- doc/api/figure_api.rst | 3 ++- lib/matplotlib/axes/_subplots.py | 12 +++++++----- 3 files changed, 24 insertions(+), 9 deletions(-) diff --git a/doc/api/axes_api.rst b/doc/api/axes_api.rst index 42f7e23f7074..fad2ea637088 100644 --- a/doc/api/axes_api.rst +++ b/doc/api/axes_api.rst @@ -1,11 +1,13 @@ -================ - ``Axes`` class -================ +==== +axes +==== + .. currentmodule:: matplotlib.axes .. autoclass:: Axes :no-members: :no-undoc-members: + :show-inheritance: .. contents:: Table of Contents :depth: 2 @@ -13,6 +15,16 @@ :backlinks: entry :class: multicol-toc +Subplots +======== + +.. autosummary:: + :toctree: _as_gen + :template: autosummary.rst + :nosignatures: + + SubplotBase + subplot_class_factory Plotting ======== diff --git a/doc/api/figure_api.rst b/doc/api/figure_api.rst index 779f4ad1c1c4..e6fee3334f33 100644 --- a/doc/api/figure_api.rst +++ b/doc/api/figure_api.rst @@ -18,6 +18,7 @@ Classes .. autosummary:: :toctree: _as_gen/ :template: autosummary.rst + :nosignatures: AxesStack Figure @@ -29,6 +30,6 @@ Functions .. autosummary:: :toctree: _as_gen/ :template: autosummary.rst + :nosignatures: figaspect - \ No newline at end of file diff --git a/lib/matplotlib/axes/_subplots.py b/lib/matplotlib/axes/_subplots.py index 257c5711f2de..d0bc0e43a9c7 100644 --- a/lib/matplotlib/axes/_subplots.py +++ b/lib/matplotlib/axes/_subplots.py @@ -187,11 +187,13 @@ def _make_twin_axes(self, *kl, **kwargs): @functools.lru_cache(None) def subplot_class_factory(axes_class=None): - # This makes a new class that inherits from SubplotBase and the - # given axes_class (which is assumed to be a subclass of Axes). - # This is perhaps a little bit roundabout to make a new class on - # the fly like this, but it means that a new Subplot class does - # not have to be created for every type of Axes. + """ + This makes a new class that inherits from `.SubplotBase` and the + given axes_class (which is assumed to be a subclass of `.axes.Axes`). + This is perhaps a little bit roundabout to make a new class on + the fly like this, but it means that a new Subplot class does + not have to be created for every type of Axes. + """ if axes_class is None: axes_class = Axes return type("%sSubplot" % axes_class.__name__, From 1edd593c08cf82666d1e2e6499f6da2dbb42ad44 Mon Sep 17 00:00:00 2001 From: ImportanceOfBeingErnest <elch.rz@ruetz-online.de> Date: Tue, 12 Jun 2018 12:38:58 +0200 Subject: [PATCH 0803/1161] doc: make signature background grey --- doc/_static/mpl.css | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/doc/_static/mpl.css b/doc/_static/mpl.css index 5a9acd280881..417bff8853e0 100644 --- a/doc/_static/mpl.css +++ b/doc/_static/mpl.css @@ -712,13 +712,23 @@ td.field-body table.property-table tr:last-of-type td { /* top-level definitions */ dl.class, dl.function { border-top: 1px solid #888; - padding-top: 6px; + padding-top: 0px; margin-top: 20px; } dl.method, dl.classmethod, dl.staticmethod, dl.attribute { border-top: 1px solid #ccc; - padding-top: 6px; + padding-top: 0px; +} + + +dl.class > dt, dl.classmethod > dt, dl.method > dt, dl.function > dt, +dl.attribute > dt, dl.staticmethod > dt { + background-color: #eff3f4; + padding-left: 6px; + padding-right: 6px; + padding-top: 2px; + padding-bottom: 1px; } em.property { From 15fc85678061a10d16989ccff49e19da5de9a783 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Tue, 19 Jun 2018 09:36:54 -0700 Subject: [PATCH 0804/1161] TST: Fix streamplot test images --- lib/matplotlib/streamplot.py | 4 +- .../test_streamplot/streamplot_colormap.pdf | Bin 16585 -> 15476 bytes .../test_streamplot/streamplot_colormap.png | Bin 87187 -> 62772 bytes .../test_streamplot/streamplot_colormap.svg | 3781 ++++--- .../test_streamplot/streamplot_direction.png | Bin 26797 -> 16345 bytes .../test_streamplot/streamplot_linewidth.pdf | Bin 21966 -> 17993 bytes .../test_streamplot/streamplot_linewidth.png | Bin 94856 -> 68867 bytes .../test_streamplot/streamplot_linewidth.svg | 3740 +++---- .../streamplot_masks_and_nans.pdf | Bin 31240 -> 26465 bytes .../streamplot_masks_and_nans.png | Bin 130872 -> 102574 bytes .../streamplot_masks_and_nans.svg | 7087 ++++++------- .../test_streamplot/streamplot_maxlength.png | Bin 39960 -> 37561 bytes .../streamplot_startpoints.pdf | Bin 11224 -> 7477 bytes .../streamplot_startpoints.png | Bin 35460 -> 31493 bytes .../streamplot_startpoints.svg | 3057 +++--- .../test_transforms/pre_transform_data.pdf | Bin 34664 -> 30058 bytes .../test_transforms/pre_transform_data.png | Bin 76374 -> 62875 bytes .../test_transforms/pre_transform_data.svg | 9351 ++++++++--------- lib/matplotlib/tests/test_streamplot.py | 15 +- lib/matplotlib/tests/test_transforms.py | 2 +- 20 files changed, 12752 insertions(+), 14285 deletions(-) diff --git a/lib/matplotlib/streamplot.py b/lib/matplotlib/streamplot.py index 644ff381420a..17ca2cec1f5f 100644 --- a/lib/matplotlib/streamplot.py +++ b/lib/matplotlib/streamplot.py @@ -603,11 +603,11 @@ def interpgrid(a, xi, yi): x = int(xi) y = int(yi) # conditional is faster than clipping for integers - if x == (Nx - 1): + if x == (Nx - 1): xn = x else: xn = x + 1 - if y == (Ny - 1): + if y == (Ny - 1): yn = y else: yn = y + 1 diff --git a/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_colormap.pdf b/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_colormap.pdf index 33e660759683321cc19f4dca6b539133f309611e..6e5599a1faae19b4086ee0aeadbedd23865af255 100644 GIT binary patch delta 14491 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 ShRnsv$Bjfy{Y_C4>Hh&|#s7Bz delta 15609 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 JiYbUA{2x4q9NGW? diff --git a/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_colormap.png b/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_colormap.png index ef19f1a7b6bc6dafd9ea7554ed3f89048c9de9e2..1138993dbad8b6fc8272a1c86b653bca2fdad659 100644 GIT binary patch literal 62772 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 HcZm8w=n0Gb literal 87187 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 DeTqn$ diff --git a/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_colormap.svg b/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_colormap.svg index fdad1814fd99..2536535c152a 100644 --- a/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_colormap.svg +++ b/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_colormap.svg @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="utf-8" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<!-- Created with matplotlib (http://matplotlib.org/) --> -<svg height="432pt" version="1.1" viewBox="0 0 576 432" width="576pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<!-- Created with matplotlib (https://matplotlib.org/) --> +<svg height="345.6pt" version="1.1" viewBox="0 0 460.8 345.6" width="460.8pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <defs> <style type="text/css"> *{stroke-linecap:butt;stroke-linejoin:round;} @@ -10,2864 +10,2671 @@ </defs> <g id="figure_1"> <g id="patch_1"> - <path d="M 0 432 -L 576 432 -L 576 0 + <path d="M 0 345.6 +L 460.8 345.6 +L 460.8 0 L 0 0 z " style="fill:#ffffff;"/> </g> <g id="axes_1"> <g id="patch_2"> - <path d="M 72 388.8 -L 429.12 388.8 -L 429.12 43.2 -L 72 43.2 + <path d="M 57.6 307.584 +L 343.296 307.584 +L 343.296 41.472 +L 57.6 41.472 z " style="fill:#ffffff;"/> </g> + <g id="matplotlib.axis_1"> + <g id="xtick_1"> + <g id="line2d_1"> + <defs> + <path d="M 0 0 +L 0 3.5 +" id="mf13e769f21" style="stroke:#000000;stroke-width:0.8;"/> + </defs> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mf13e769f21" y="307.584"/> + </g> + </g> + </g> + <g id="xtick_2"> + <g id="line2d_2"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="105.216" xlink:href="#mf13e769f21" y="307.584"/> + </g> + </g> + </g> + <g id="xtick_3"> + <g id="line2d_3"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="152.832" xlink:href="#mf13e769f21" y="307.584"/> + </g> + </g> + </g> + <g id="xtick_4"> + <g id="line2d_4"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="200.448" xlink:href="#mf13e769f21" y="307.584"/> + </g> + </g> + </g> + <g id="xtick_5"> + <g id="line2d_5"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="248.064" xlink:href="#mf13e769f21" y="307.584"/> + </g> + </g> + </g> + <g id="xtick_6"> + <g id="line2d_6"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="295.68" xlink:href="#mf13e769f21" y="307.584"/> + </g> + </g> + </g> + <g id="xtick_7"> + <g id="line2d_7"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="343.296" xlink:href="#mf13e769f21" y="307.584"/> + </g> + </g> + </g> + </g> + <g id="matplotlib.axis_2"> + <g id="ytick_1"> + <g id="line2d_8"> + <defs> + <path d="M 0 0 +L -3.5 0 +" id="mbacbe03e86" style="stroke:#000000;stroke-width:0.8;"/> + </defs> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mbacbe03e86" y="307.584"/> + </g> + </g> + </g> + <g id="ytick_2"> + <g id="line2d_9"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mbacbe03e86" y="263.232"/> + </g> + </g> + </g> + <g id="ytick_3"> + <g id="line2d_10"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mbacbe03e86" y="218.88"/> + </g> + </g> + </g> + <g id="ytick_4"> + <g id="line2d_11"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mbacbe03e86" y="174.528"/> + </g> + </g> + </g> + <g id="ytick_5"> + <g id="line2d_12"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mbacbe03e86" y="130.176"/> + </g> + </g> + </g> + <g id="ytick_6"> + <g id="line2d_13"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mbacbe03e86" y="85.824"/> + </g> + </g> + </g> + <g id="ytick_7"> + <g id="line2d_14"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mbacbe03e86" y="41.472"/> + </g> + </g> + </g> + </g> <g id="LineCollection_1"> - <path clip-path="url(#p553f52e075)" d="M 429.12 304.223868 -L 410.229694 301.423018 -" style="fill:none;stroke:#ff1900;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 410.229694 301.423018 -L 390.436176 298.391558 + <path clip-path="url(#p1f31122917)" d="M 328.183755 240.303724 +L 312.348941 237.9695 " style="fill:none;stroke:#ff3800;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 390.436176 298.391558 -L 370.677508 295.157835 + <path clip-path="url(#p1f31122917)" d="M 312.348941 237.9695 +L 296.542006 235.479533 " style="fill:none;stroke:#ff5600;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 370.677508 295.157835 -L 350.955521 291.723858 + <path clip-path="url(#p1f31122917)" d="M 296.542006 235.479533 +L 280.764417 232.83537 " style="fill:none;stroke:#ff6f00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 350.955521 291.723858 -L 331.264676 288.128232 + <path clip-path="url(#p1f31122917)" d="M 280.764417 232.83537 +L 265.011741 230.066738 " style="fill:none;stroke:#ff8500;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 331.264676 288.128232 -L 311.581315 284.495911 + <path clip-path="url(#p1f31122917)" d="M 265.011741 230.066738 +L 249.265052 227.269851 " style="fill:none;stroke:#ff9800;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 311.581315 284.495911 -L 292.141165 281.183542 + <path clip-path="url(#p1f31122917)" d="M 249.265052 227.269851 +L 233.712932 224.719327 " style="fill:none;stroke:#ffa600;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 292.141165 281.183542 -L 277.059449 279.203263 + <path clip-path="url(#p1f31122917)" d="M 233.712932 224.719327 +L 221.647559 223.194513 " style="fill:none;stroke:#ffb100;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.059449 279.203263 -L 264.112267 278.323025 + <path clip-path="url(#p1f31122917)" d="M 221.647559 223.194513 +L 211.289814 222.516729 " style="fill:none;stroke:#ffb600;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 264.112267 278.323025 -L 251.986272 278.536276 + <path clip-path="url(#p1f31122917)" d="M 211.289814 222.516729 +L 201.589017 222.680932 " style="fill:none;stroke:#ffb900;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 251.986272 278.536276 -L 239.673682 280.062965 + <path clip-path="url(#p1f31122917)" d="M 201.589017 222.680932 +L 191.738945 223.856483 " style="fill:none;stroke:#ffba00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 239.673682 280.062965 -L 226.23343 283.399637 + <path clip-path="url(#p1f31122917)" d="M 191.738945 223.856483 +L 180.986744 226.425721 " style="fill:none;stroke:#ffb900;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 226.23343 283.399637 -L 213.528365 288.152347 + <path clip-path="url(#p1f31122917)" d="M 180.986744 226.425721 +L 170.822692 230.085307 " style="fill:none;stroke:#ffb500;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 213.528365 288.152347 -L 213.528365 288.152347 + <path clip-path="url(#p1f31122917)" d="M 170.822692 230.085307 +L 170.822692 230.085307 " style="fill:none;stroke:#ffb000;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 213.528365 288.152347 -L 199.399023 294.992222 + <path clip-path="url(#p1f31122917)" d="M 170.822692 230.085307 +L 159.519218 235.352011 " style="fill:none;stroke:#ffb000;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 199.399023 294.992222 -L 199.399023 294.992222 + <path clip-path="url(#p1f31122917)" d="M 159.519218 235.352011 +L 159.519218 235.352011 " style="fill:none;stroke:#ffa800;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 199.399023 294.992222 -L 182.248785 304.997367 + <path clip-path="url(#p1f31122917)" d="M 159.519218 235.352011 +L 145.799028 243.055973 " style="fill:none;stroke:#ffa800;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 182.248785 304.997367 -L 165.726605 315.962458 + <path clip-path="url(#p1f31122917)" d="M 145.799028 243.055973 +L 132.581284 251.499093 " style="fill:none;stroke:#ff9b00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 165.726605 315.962458 -L 149.628089 327.507857 + <path clip-path="url(#p1f31122917)" d="M 132.581284 251.499093 +L 119.702471 260.38905 " style="fill:none;stroke:#ff8c00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 149.628089 327.507857 -L 133.81547 339.419441 + <path clip-path="url(#p1f31122917)" d="M 119.702471 260.38905 +L 107.052376 269.56097 " style="fill:none;stroke:#ff7a00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 133.81547 339.419441 -L 118.198034 351.570906 + <path clip-path="url(#p1f31122917)" d="M 107.052376 269.56097 +L 94.558427 278.917598 " style="fill:none;stroke:#ff6600;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 118.198034 351.570906 -L 102.715075 363.882844 + <path clip-path="url(#p1f31122917)" d="M 94.558427 278.917598 +L 82.17206 288.39779 " style="fill:none;stroke:#ff5000;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 102.715075 363.882844 -L 87.325418 376.304052 + <path clip-path="url(#p1f31122917)" d="M 82.17206 288.39779 +L 69.860334 297.96212 " style="fill:none;stroke:#ff3700;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 87.325418 376.304052 -L 72 388.8 + <path clip-path="url(#p1f31122917)" d="M 69.860334 297.96212 +L 57.6 307.584 " style="fill:none;stroke:#ff1c00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 122.296559 362.106949 -L 107.683364 375.377117 + <path clip-path="url(#p1f31122917)" d="M 97.837247 287.030351 +L 86.146691 297.24838 " style="fill:none;stroke:#ff5200;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 107.683364 375.377117 -L 93.219251 388.8 + <path clip-path="url(#p1f31122917)" d="M 86.146691 297.24838 +L 74.575401 307.584 " style="fill:none;stroke:#ff3b00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 93.219251 388.8 -L 93.219251 388.8 + <path clip-path="url(#p1f31122917)" d="M 74.575401 307.584 +L 74.575401 307.584 " style="fill:none;stroke:#ff2200;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 93.219251 388.8 -L 93.219251 388.8 + <path clip-path="url(#p1f31122917)" d="M 74.575401 307.584 +L 74.575401 307.584 " style="fill:none;stroke:#ff2200;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 93.219251 388.8 -L 93.219251 388.8 + <path clip-path="url(#p1f31122917)" d="M 74.575401 307.584 +L 74.575401 307.584 " style="fill:none;stroke:#ff2200;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 214.800258 299.693984 -L 214.800258 299.693984 + <path clip-path="url(#p1f31122917)" d="M 171.840206 238.972368 +L 171.840206 238.972368 " style="fill:none;stroke:#ffad00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 214.800258 299.693984 -L 201.125591 308.477828 + <path clip-path="url(#p1f31122917)" d="M 171.840206 238.972368 +L 160.900472 245.735927 " style="fill:none;stroke:#ffad00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 201.125591 308.477828 -L 201.125591 308.477828 + <path clip-path="url(#p1f31122917)" d="M 160.900472 245.735927 +L 160.900472 245.735927 " style="fill:none;stroke:#ffa500;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 201.125591 308.477828 -L 185.343332 320.406111 + <path clip-path="url(#p1f31122917)" d="M 160.900472 245.735927 +L 148.274666 254.920706 " style="fill:none;stroke:#ffa500;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 185.343332 320.406111 -L 170.304635 333.214382 + <path clip-path="url(#p1f31122917)" d="M 148.274666 254.920706 +L 136.243708 264.783074 " style="fill:none;stroke:#ff9900;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 170.304635 333.214382 -L 155.806456 346.598746 + <path clip-path="url(#p1f31122917)" d="M 136.243708 264.783074 +L 124.645165 275.089035 " style="fill:none;stroke:#ff8b00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 155.806456 346.598746 -L 141.716774 360.387092 + <path clip-path="url(#p1f31122917)" d="M 124.645165 275.089035 +L 113.373419 285.706061 " style="fill:none;stroke:#ff7a00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 141.716774 360.387092 -L 127.947165 374.475874 + <path clip-path="url(#p1f31122917)" d="M 113.373419 285.706061 +L 102.357732 296.554423 " style="fill:none;stroke:#ff6800;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 127.947165 374.475874 -L 114.438503 388.8 + <path clip-path="url(#p1f31122917)" d="M 102.357732 296.554423 +L 91.550802 307.584 " style="fill:none;stroke:#ff5500;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 114.438503 388.8 -L 114.438503 388.8 + <path clip-path="url(#p1f31122917)" d="M 91.550802 307.584 +L 91.550802 307.584 " style="fill:none;stroke:#ff4000;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 114.438503 388.8 -L 114.438503 388.8 + <path clip-path="url(#p1f31122917)" d="M 91.550802 307.584 +L 91.550802 307.584 " style="fill:none;stroke:#ff4000;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 114.438503 388.8 -L 114.438503 388.8 + <path clip-path="url(#p1f31122917)" d="M 91.550802 307.584 +L 91.550802 307.584 " style="fill:none;stroke:#ff4000;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 174.424092 344.361944 -L 161.046947 358.796883 + <path clip-path="url(#p1f31122917)" d="M 139.539274 273.366697 +L 128.837558 284.4816 " style="fill:none;stroke:#ff8a00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 161.046947 358.796883 -L 148.154014 373.640585 + <path clip-path="url(#p1f31122917)" d="M 128.837558 284.4816 +L 118.523211 295.91125 " style="fill:none;stroke:#ff7b00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 148.154014 373.640585 -L 135.657754 388.8 + <path clip-path="url(#p1f31122917)" d="M 118.523211 295.91125 +L 108.526203 307.584 " style="fill:none;stroke:#ff6b00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 135.657754 388.8 -L 135.657754 388.8 + <path clip-path="url(#p1f31122917)" d="M 108.526203 307.584 +L 108.526203 307.584 " style="fill:none;stroke:#ff5900;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 135.657754 388.8 -L 135.657754 388.8 + <path clip-path="url(#p1f31122917)" d="M 108.526203 307.584 +L 108.526203 307.584 " style="fill:none;stroke:#ff5900;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 135.657754 388.8 -L 135.657754 388.8 + <path clip-path="url(#p1f31122917)" d="M 108.526203 307.584 +L 108.526203 307.584 " style="fill:none;stroke:#ff5900;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 281.990867 296.860661 -L 271.054327 299.203645 + <path clip-path="url(#p1f31122917)" d="M 225.592693 236.790709 +L 216.843461 238.594806 " style="fill:none;stroke:#ffb000;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 271.054327 299.203645 -L 260.156712 302.978113 + <path clip-path="url(#p1f31122917)" d="M 216.843461 238.594806 +L 208.125369 241.501147 " style="fill:none;stroke:#ffb200;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 260.156712 302.978113 -L 248.760947 308.735567 + <path clip-path="url(#p1f31122917)" d="M 208.125369 241.501147 +L 199.008758 245.934386 " style="fill:none;stroke:#ffb200;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 248.760947 308.735567 -L 236.57974 317.132578 + <path clip-path="url(#p1f31122917)" d="M 199.008758 245.934386 +L 189.263792 252.400085 " style="fill:none;stroke:#ffb100;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 236.57974 317.132578 -L 225.70602 326.671829 + <path clip-path="url(#p1f31122917)" d="M 189.263792 252.400085 +L 180.564816 259.745308 " style="fill:none;stroke:#ffad00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 225.70602 326.671829 -L 225.70602 326.671829 + <path clip-path="url(#p1f31122917)" d="M 180.564816 259.745308 +L 180.564816 259.745308 " style="fill:none;stroke:#ffa900;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 225.70602 326.671829 -L 212.231773 340.994749 + <path clip-path="url(#p1f31122917)" d="M 180.564816 259.745308 +L 169.785419 270.773957 " style="fill:none;stroke:#ffa900;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 212.231773 340.994749 -L 199.989901 356.334286 + <path clip-path="url(#p1f31122917)" d="M 169.785419 270.773957 +L 159.991921 282.585401 " style="fill:none;stroke:#ffa000;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 199.989901 356.334286 -L 188.678367 372.335136 + <path clip-path="url(#p1f31122917)" d="M 159.991921 282.585401 +L 150.942693 294.906055 " style="fill:none;stroke:#ff9600;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 188.678367 372.335136 -L 178.096257 388.8 + <path clip-path="url(#p1f31122917)" d="M 150.942693 294.906055 +L 142.477005 307.584 " style="fill:none;stroke:#ff8c00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 178.096257 388.8 -L 178.096257 388.8 + <path clip-path="url(#p1f31122917)" d="M 142.477005 307.584 +L 142.477005 307.584 " style="fill:none;stroke:#ff8000;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 178.096257 388.8 -L 178.096257 388.8 + <path clip-path="url(#p1f31122917)" d="M 142.477005 307.584 +L 142.477005 307.584 " style="fill:none;stroke:#ff8000;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 281.211804 317.89739 -L 270.718577 324.223508 + <path clip-path="url(#p1f31122917)" d="M 224.969443 252.988991 +L 216.574861 257.860101 " style="fill:none;stroke:#ffaa00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 270.718577 324.223508 -L 259.908399 333.017568 + <path clip-path="url(#p1f31122917)" d="M 216.574861 257.860101 +L 207.92672 264.631527 " style="fill:none;stroke:#ffaa00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 259.908399 333.017568 -L 250.436471 342.902695 + <path clip-path="url(#p1f31122917)" d="M 207.92672 264.631527 +L 200.349177 272.243075 " style="fill:none;stroke:#ffa900;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 250.436471 342.902695 -L 250.436471 342.902695 + <path clip-path="url(#p1f31122917)" d="M 200.349177 272.243075 +L 200.349177 272.243075 " style="fill:none;stroke:#ffa700;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 250.436471 342.902695 -L 240.700874 355.335428 + <path clip-path="url(#p1f31122917)" d="M 200.349177 272.243075 +L 192.560699 281.816279 " style="fill:none;stroke:#ffa700;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 240.700874 355.335428 -L 240.700874 355.335428 + <path clip-path="url(#p1f31122917)" d="M 192.560699 281.816279 +L 192.560699 281.816279 " style="fill:none;stroke:#ffa300;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 240.700874 355.335428 -L 230.020989 371.725999 + <path clip-path="url(#p1f31122917)" d="M 192.560699 281.816279 +L 184.016791 294.437019 " style="fill:none;stroke:#ffa300;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 230.020989 371.725999 -L 220.534759 388.8 + <path clip-path="url(#p1f31122917)" d="M 184.016791 294.437019 +L 176.427807 307.584 " style="fill:none;stroke:#ff9c00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 220.534759 388.8 -L 220.534759 388.8 + <path clip-path="url(#p1f31122917)" d="M 176.427807 307.584 +L 176.427807 307.584 " style="fill:none;stroke:#ff9500;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 220.534759 388.8 -L 220.534759 388.8 + <path clip-path="url(#p1f31122917)" d="M 176.427807 307.584 +L 176.427807 307.584 " style="fill:none;stroke:#ff9500;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 271.394623 344.985849 -L 262.327655 355.606035 + <path clip-path="url(#p1f31122917)" d="M 217.115698 273.847104 +L 209.862124 282.024647 " style="fill:none;stroke:#ffa400;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 262.327655 355.606035 -L 262.327655 355.606035 + <path clip-path="url(#p1f31122917)" d="M 209.862124 282.024647 +L 209.862124 282.024647 " style="fill:none;stroke:#ffa200;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 262.327655 355.606035 -L 251.275589 371.749933 + <path clip-path="url(#p1f31122917)" d="M 209.862124 282.024647 +L 201.020471 294.455448 " style="fill:none;stroke:#ffa200;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 251.275589 371.749933 -L 241.754011 388.8 + <path clip-path="url(#p1f31122917)" d="M 201.020471 294.455448 +L 193.403209 307.584 " style="fill:none;stroke:#ff9e00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 241.754011 388.8 -L 241.754011 388.8 + <path clip-path="url(#p1f31122917)" d="M 193.403209 307.584 +L 193.403209 307.584 " style="fill:none;stroke:#ff9900;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 241.754011 388.8 -L 241.754011 388.8 + <path clip-path="url(#p1f31122917)" d="M 193.403209 307.584 +L 193.403209 307.584 " style="fill:none;stroke:#ff9900;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 429.12 322.416423 -L 417.672698 321.980632 + <path clip-path="url(#p1f31122917)" d="M 343.296 256.468645 +L 334.138159 256.133087 " style="fill:none;stroke:#ff1300;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 417.672698 321.980632 -L 397.642619 321.455441 + <path clip-path="url(#p1f31122917)" d="M 334.138159 256.133087 +L 318.114095 255.72869 " style="fill:none;stroke:#ff2600;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 397.642619 321.455441 -L 377.609997 321.592929 + <path clip-path="url(#p1f31122917)" d="M 318.114095 255.72869 +L 302.087997 255.834555 " style="fill:none;stroke:#ff4500;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 377.609997 321.592929 -L 360.986303 322.52733 + <path clip-path="url(#p1f31122917)" d="M 302.087997 255.834555 +L 288.789042 256.554044 " style="fill:none;stroke:#ff5f00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 360.986303 322.52733 -L 346.864885 324.239246 + <path clip-path="url(#p1f31122917)" d="M 288.789042 256.554044 +L 277.491908 257.87222 " style="fill:none;stroke:#ff7200;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 346.864885 324.239246 -L 334.483294 326.764483 + <path clip-path="url(#p1f31122917)" d="M 277.491908 257.87222 +L 267.586635 259.816652 " style="fill:none;stroke:#ff8000;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 334.483294 326.764483 -L 323.25933 330.2161 + <path clip-path="url(#p1f31122917)" d="M 267.586635 259.816652 +L 258.607464 262.474397 " style="fill:none;stroke:#ff8a00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 323.25933 330.2161 -L 312.722487 334.819967 + <path clip-path="url(#p1f31122917)" d="M 258.607464 262.474397 +L 250.17799 266.019375 " style="fill:none;stroke:#ff9100;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 312.722487 334.819967 -L 302.489403 340.950744 + <path clip-path="url(#p1f31122917)" d="M 250.17799 266.019375 +L 241.991522 270.740073 " style="fill:none;stroke:#ff9600;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 302.489403 340.950744 -L 292.224799 349.195796 + <path clip-path="url(#p1f31122917)" d="M 241.991522 270.740073 +L 233.779839 277.088763 " style="fill:none;stroke:#ff9a00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 292.224799 349.195796 -L 281.862852 360.164103 + <path clip-path="url(#p1f31122917)" d="M 233.779839 277.088763 +L 225.490281 285.534359 " style="fill:none;stroke:#ff9c00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 281.862852 360.164103 -L 273.027862 372.049193 + <path clip-path="url(#p1f31122917)" d="M 225.490281 285.534359 +L 218.42229 294.685878 " style="fill:none;stroke:#ff9d00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 273.027862 372.049193 -L 273.027862 372.049193 + <path clip-path="url(#p1f31122917)" d="M 218.42229 294.685878 +L 218.42229 294.685878 " style="fill:none;stroke:#ff9c00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 273.027862 372.049193 -L 262.973262 388.8 + <path clip-path="url(#p1f31122917)" d="M 218.42229 294.685878 +L 210.37861 307.584 " style="fill:none;stroke:#ff9c00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 262.973262 388.8 -L 262.973262 388.8 + <path clip-path="url(#p1f31122917)" d="M 210.37861 307.584 +L 210.37861 307.584 " style="fill:none;stroke:#ff9800;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 262.973262 388.8 -L 262.973262 388.8 + <path clip-path="url(#p1f31122917)" d="M 210.37861 307.584 +L 210.37861 307.584 " style="fill:none;stroke:#ff9800;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 429.12 336.920486 -L 416.249085 337.701723 + <path clip-path="url(#p1f31122917)" d="M 343.296 267.636774 +L 332.999268 268.238327 " style="fill:none;stroke:#ff0f00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 416.249085 337.701723 -L 398.003936 339.274356 + <path clip-path="url(#p1f31122917)" d="M 332.999268 268.238327 +L 318.403149 269.449254 " style="fill:none;stroke:#ff2400;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 398.003936 339.274356 -L 382.447194 341.566896 + <path clip-path="url(#p1f31122917)" d="M 318.403149 269.449254 +L 305.957755 271.21451 " style="fill:none;stroke:#ff3f00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 382.447194 341.566896 -L 368.849008 344.611299 + <path clip-path="url(#p1f31122917)" d="M 305.957755 271.21451 +L 295.079206 273.5587 " style="fill:none;stroke:#ff5300;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 368.849008 344.611299 -L 356.641604 348.502224 + <path clip-path="url(#p1f31122917)" d="M 295.079206 273.5587 +L 285.313284 276.554712 " style="fill:none;stroke:#ff6300;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 356.641604 348.502224 -L 345.393717 353.407857 + <path clip-path="url(#p1f31122917)" d="M 285.313284 276.554712 +L 276.314973 280.33205 " style="fill:none;stroke:#ff6f00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 345.393717 353.407857 -L 334.73509 359.614042 + <path clip-path="url(#p1f31122917)" d="M 276.314973 280.33205 +L 267.788072 285.110812 " style="fill:none;stroke:#ff7800;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 334.73509 359.614042 -L 324.360593 367.559005 + <path clip-path="url(#p1f31122917)" d="M 267.788072 285.110812 +L 259.488475 291.228434 " style="fill:none;stroke:#ff8000;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 324.360593 367.559005 -L 314.139741 377.75223 + <path clip-path="url(#p1f31122917)" d="M 259.488475 291.228434 +L 251.311793 299.077217 " style="fill:none;stroke:#ff8500;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 314.139741 377.75223 -L 305.411765 388.8 + <path clip-path="url(#p1f31122917)" d="M 251.311793 299.077217 +L 244.329412 307.584 " style="fill:none;stroke:#ff8900;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 305.411765 388.8 -L 305.411765 388.8 + <path clip-path="url(#p1f31122917)" d="M 244.329412 307.584 +L 244.329412 307.584 " style="fill:none;stroke:#ff8b00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 305.411765 388.8 -L 305.411765 388.8 + <path clip-path="url(#p1f31122917)" d="M 244.329412 307.584 +L 244.329412 307.584 " style="fill:none;stroke:#ff8b00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 305.411765 388.8 -L 305.411765 388.8 + <path clip-path="url(#p1f31122917)" d="M 244.329412 307.584 +L 244.329412 307.584 " style="fill:none;stroke:#ff8b00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 368.499092 358.695144 -L 357.083994 364.11807 + <path clip-path="url(#p1f31122917)" d="M 294.799274 284.403261 +L 285.667195 288.578914 " style="fill:none;stroke:#ff5f00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 357.083994 364.11807 -L 346.264019 370.869064 + <path clip-path="url(#p1f31122917)" d="M 285.667195 288.578914 +L 277.011216 293.777179 " style="fill:none;stroke:#ff6a00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 346.264019 370.869064 -L 335.807464 379.340836 + <path clip-path="url(#p1f31122917)" d="M 277.011216 293.777179 +L 268.645972 300.300444 " style="fill:none;stroke:#ff7200;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 335.807464 379.340836 -L 326.631016 388.8 + <path clip-path="url(#p1f31122917)" d="M 268.645972 300.300444 +L 261.304813 307.584 " style="fill:none;stroke:#ff7900;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 326.631016 388.8 -L 326.631016 388.8 + <path clip-path="url(#p1f31122917)" d="M 261.304813 307.584 +L 261.304813 307.584 " style="fill:none;stroke:#ff7d00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 326.631016 388.8 -L 326.631016 388.8 + <path clip-path="url(#p1f31122917)" d="M 261.304813 307.584 +L 261.304813 307.584 " style="fill:none;stroke:#ff7d00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 326.631016 388.8 -L 326.631016 388.8 + <path clip-path="url(#p1f31122917)" d="M 261.304813 307.584 +L 261.304813 307.584 " style="fill:none;stroke:#ff7d00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 429.12 364.073293 -L 419.425311 366.477565 + <path clip-path="url(#p1f31122917)" d="M 343.296 288.544435 +L 335.540249 290.395725 " style="fill:none;stroke:#ff0700;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 419.425311 366.477565 -L 405.135413 370.607577 + <path clip-path="url(#p1f31122917)" d="M 335.540249 290.395725 +L 324.108331 293.575835 " style="fill:none;stroke:#ff1600;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 405.135413 370.607577 -L 392.211015 375.580351 + <path clip-path="url(#p1f31122917)" d="M 324.108331 293.575835 +L 313.768812 297.40487 " style="fill:none;stroke:#ff2b00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 392.211015 375.580351 -L 380.268961 381.571845 + <path clip-path="url(#p1f31122917)" d="M 313.768812 297.40487 +L 304.215169 302.01832 " style="fill:none;stroke:#ff3c00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 380.268961 381.571845 -L 369.069519 388.8 + <path clip-path="url(#p1f31122917)" d="M 304.215169 302.01832 +L 295.255615 307.584 " style="fill:none;stroke:#ff4a00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 369.069519 388.8 -L 369.069519 388.8 + <path clip-path="url(#p1f31122917)" d="M 295.255615 307.584 +L 295.255615 307.584 " style="fill:none;stroke:#ff5500;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 369.069519 388.8 -L 369.069519 388.8 + <path clip-path="url(#p1f31122917)" d="M 295.255615 307.584 +L 295.255615 307.584 " style="fill:none;stroke:#ff5500;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 369.069519 388.8 -L 369.069519 388.8 + <path clip-path="url(#p1f31122917)" d="M 295.255615 307.584 +L 295.255615 307.584 " style="fill:none;stroke:#ff5500;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 98.437088 43.2 -L 95.365995 49.252731 + <path clip-path="url(#p1f31122917)" d="M 78.749671 41.472 +L 76.292796 46.132603 " style="fill:none;stroke:#ff9000;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 95.365995 49.252731 -L 88.849761 60.559454 + <path clip-path="url(#p1f31122917)" d="M 76.292796 46.132603 +L 71.079809 54.83878 " style="fill:none;stroke:#ff8a00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 88.849761 60.559454 -L 81.015065 71.165141 + <path clip-path="url(#p1f31122917)" d="M 71.079809 54.83878 +L 64.812052 63.005159 " style="fill:none;stroke:#ff7c00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 81.015065 71.165141 -L 72 80.77861 + <path clip-path="url(#p1f31122917)" d="M 64.812052 63.005159 +L 57.6 70.407529 " style="fill:none;stroke:#ff6d00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 72 80.77861 -L 72 80.77861 + <path clip-path="url(#p1f31122917)" d="M 57.6 70.407529 +L 57.6 70.407529 " style="fill:none;stroke:#ff5b00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 72 80.77861 -L 72 80.77861 + <path clip-path="url(#p1f31122917)" d="M 57.6 70.407529 +L 57.6 70.407529 " style="fill:none;stroke:#ff5b00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 72 80.77861 -L 72 80.77861 + <path clip-path="url(#p1f31122917)" d="M 57.6 70.407529 +L 57.6 70.407529 " style="fill:none;stroke:#ff5b00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 113.953508 43.2 -L 111.258629 50.176912 + <path clip-path="url(#p1f31122917)" d="M 91.162806 41.472 +L 89.006903 46.844222 " style="fill:none;stroke:#ffa600;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 111.258629 50.176912 -L 106.01797 61.969136 + <path clip-path="url(#p1f31122917)" d="M 89.006903 46.844222 +L 84.814376 55.924235 " style="fill:none;stroke:#ffa000;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 106.01797 61.969136 -L 99.71294 72.819776 + <path clip-path="url(#p1f31122917)" d="M 84.814376 55.924235 +L 79.770352 64.279228 " style="fill:none;stroke:#ff9500;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 99.71294 72.819776 -L 92.018821 83.039104 + <path clip-path="url(#p1f31122917)" d="M 79.770352 64.279228 +L 73.615057 72.14811 " style="fill:none;stroke:#ff8900;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 92.018821 83.039104 -L 82.514062 92.817272 + <path clip-path="url(#p1f31122917)" d="M 73.615057 72.14811 +L 66.01125 79.677299 " style="fill:none;stroke:#ff7b00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 82.514062 92.817272 -L 72 101.313369 + <path clip-path="url(#p1f31122917)" d="M 66.01125 79.677299 +L 57.6 86.219294 " style="fill:none;stroke:#ff6900;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 72 101.313369 -L 72 101.313369 + <path clip-path="url(#p1f31122917)" d="M 57.6 86.219294 +L 57.6 86.219294 " style="fill:none;stroke:#ff5500;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 72 101.313369 -L 72 101.313369 + <path clip-path="url(#p1f31122917)" d="M 57.6 86.219294 +L 57.6 86.219294 " style="fill:none;stroke:#ff5500;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 72 101.313369 -L 72 101.313369 + <path clip-path="url(#p1f31122917)" d="M 57.6 86.219294 +L 57.6 86.219294 " style="fill:none;stroke:#ff5500;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 119.166244 75.15891 -L 113.262333 85.554937 + <path clip-path="url(#p1f31122917)" d="M 95.332995 66.080361 +L 90.609866 74.085302 " style="fill:none;stroke:#ffa300;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 113.262333 85.554937 -L 105.924701 95.374515 + <path clip-path="url(#p1f31122917)" d="M 90.609866 74.085302 +L 84.739761 81.646377 " style="fill:none;stroke:#ff9800;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 105.924701 95.374515 -L 96.61096 104.880004 + <path clip-path="url(#p1f31122917)" d="M 84.739761 81.646377 +L 77.288768 88.965603 " style="fill:none;stroke:#ff8b00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 96.61096 104.880004 -L 84.719026 114.136952 + <path clip-path="url(#p1f31122917)" d="M 77.288768 88.965603 +L 67.775221 96.093453 " style="fill:none;stroke:#ff7b00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 84.719026 114.136952 -L 72 121.848128 + <path clip-path="url(#p1f31122917)" d="M 67.775221 96.093453 +L 57.6 102.031059 " style="fill:none;stroke:#ff6600;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 72 121.848128 -L 72 121.848128 + <path clip-path="url(#p1f31122917)" d="M 57.6 102.031059 +L 57.6 102.031059 " style="fill:none;stroke:#ff4f00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 72 121.848128 -L 72 121.848128 + <path clip-path="url(#p1f31122917)" d="M 57.6 102.031059 +L 57.6 102.031059 " style="fill:none;stroke:#ff4f00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 72 121.848128 -L 72 121.848128 + <path clip-path="url(#p1f31122917)" d="M 57.6 102.031059 +L 57.6 102.031059 " style="fill:none;stroke:#ff4f00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 163.756568 43.2 -L 162.740666 59.762264 -" style="fill:none;stroke:#ffdb00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 162.740666 59.762264 -L 161.333505 74.961705 + <path clip-path="url(#p1f31122917)" d="M 130.192533 54.224943 +L 129.066804 65.928513 " style="fill:none;stroke:#ffd500;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 161.333505 74.961705 -L 159.200299 87.700614 + <path clip-path="url(#p1f31122917)" d="M 129.066804 65.928513 +L 127.360239 75.737473 " style="fill:none;stroke:#ffd000;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 159.200299 87.700614 -L 156.298599 98.692687 + <path clip-path="url(#p1f31122917)" d="M 127.360239 75.737473 +L 125.038879 84.201369 " style="fill:none;stroke:#ffca00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 156.298599 98.692687 -L 152.501369 108.4818 + <path clip-path="url(#p1f31122917)" d="M 125.038879 84.201369 +L 122.001095 91.738986 " style="fill:none;stroke:#ffc400;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 152.501369 108.4818 -L 147.543454 117.516744 + <path clip-path="url(#p1f31122917)" d="M 122.001095 91.738986 +L 118.034763 98.695893 " style="fill:none;stroke:#ffbe00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 147.543454 117.516744 -L 140.914332 126.209047 + <path clip-path="url(#p1f31122917)" d="M 118.034763 98.695893 +L 112.731466 105.388966 " style="fill:none;stroke:#ffb600;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 140.914332 126.209047 -L 131.946477 134.72861 + <path clip-path="url(#p1f31122917)" d="M 112.731466 105.388966 +L 105.557182 111.94903 " style="fill:none;stroke:#ffad00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 131.946477 134.72861 -L 121.898659 141.858975 + <path clip-path="url(#p1f31122917)" d="M 105.557182 111.94903 +L 97.518927 117.439411 " style="fill:none;stroke:#ffa100;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 121.898659 141.858975 -L 121.898659 141.858975 + <path clip-path="url(#p1f31122917)" d="M 97.518927 117.439411 +L 97.518927 117.439411 " style="fill:none;stroke:#ff9300;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 121.898659 141.858975 -L 109.259778 148.790999 + <path clip-path="url(#p1f31122917)" d="M 97.518927 117.439411 +L 87.407823 122.777069 " style="fill:none;stroke:#ff9300;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 109.259778 148.790999 -L 109.259778 148.790999 + <path clip-path="url(#p1f31122917)" d="M 87.407823 122.777069 +L 87.407823 122.777069 " style="fill:none;stroke:#ff8000;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 109.259778 148.790999 -L 90.923525 156.561778 + <path clip-path="url(#p1f31122917)" d="M 87.407823 122.777069 +L 72.73882 128.760569 " style="fill:none;stroke:#ff8000;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 90.923525 156.561778 -L 72 162.917647 + <path clip-path="url(#p1f31122917)" d="M 72.73882 128.760569 +L 57.6 133.654588 " style="fill:none;stroke:#ff6300;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 72 162.917647 -L 72 162.917647 + <path clip-path="url(#p1f31122917)" d="M 57.6 133.654588 +L 57.6 133.654588 " style="fill:none;stroke:#ff4200;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 72 162.917647 -L 72 162.917647 + <path clip-path="url(#p1f31122917)" d="M 57.6 133.654588 +L 57.6 133.654588 " style="fill:none;stroke:#ff4200;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 180.651893 43.2 -L 181.260014 53.480594 + <path clip-path="url(#p1f31122917)" d="M 144.521515 41.472 +L 145.008011 49.388057 " style="fill:none;stroke:#ffe800;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 181.260014 53.480594 -L 182.104711 72.85356 + <path clip-path="url(#p1f31122917)" d="M 145.008011 49.388057 +L 145.683769 64.305241 " style="fill:none;stroke:#ffe500;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 182.104711 72.85356 -L 182.13416 89.362826 + <path clip-path="url(#p1f31122917)" d="M 145.683769 64.305241 +L 145.707328 77.017376 " style="fill:none;stroke:#ffe000;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 182.13416 89.362826 -L 181.34999 102.499573 + <path clip-path="url(#p1f31122917)" d="M 145.707328 77.017376 +L 145.079992 87.132671 " style="fill:none;stroke:#ffdb00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 181.34999 102.499573 -L 179.801101 113.327394 + <path clip-path="url(#p1f31122917)" d="M 145.079992 87.132671 +L 143.840881 95.470094 " style="fill:none;stroke:#ffd700;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 179.801101 113.327394 -L 177.442393 122.619736 + <path clip-path="url(#p1f31122917)" d="M 143.840881 95.470094 +L 141.953914 102.625197 " style="fill:none;stroke:#ffd300;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 177.442393 122.619736 -L 174.086224 130.970021 + <path clip-path="url(#p1f31122917)" d="M 141.953914 102.625197 +L 139.268979 109.054916 " style="fill:none;stroke:#ffce00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 174.086224 130.970021 -L 169.293184 138.906052 + <path clip-path="url(#p1f31122917)" d="M 139.268979 109.054916 +L 135.434548 115.16566 " style="fill:none;stroke:#ffc900;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 169.293184 138.906052 -L 162.333255 146.743776 + <path clip-path="url(#p1f31122917)" d="M 135.434548 115.16566 +L 129.866604 121.200708 " style="fill:none;stroke:#ffc300;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 162.333255 146.743776 -L 154.18823 153.269352 + <path clip-path="url(#p1f31122917)" d="M 129.866604 121.200708 +L 123.350584 126.225401 " style="fill:none;stroke:#ffbb00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 154.18823 153.269352 -L 154.18823 153.269352 + <path clip-path="url(#p1f31122917)" d="M 123.350584 126.225401 +L 123.350584 126.225401 " style="fill:none;stroke:#ffb200;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 154.18823 153.269352 -L 143.526305 159.653514 + <path clip-path="url(#p1f31122917)" d="M 123.350584 126.225401 +L 114.821044 131.141206 " style="fill:none;stroke:#ffb200;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 143.526305 159.653514 -L 143.526305 159.653514 + <path clip-path="url(#p1f31122917)" d="M 114.821044 131.141206 +L 114.821044 131.141206 " style="fill:none;stroke:#ffa600;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 143.526305 159.653514 -L 129.328821 166.157387 + <path clip-path="url(#p1f31122917)" d="M 114.821044 131.141206 +L 103.463057 136.149188 " style="fill:none;stroke:#ffa600;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 129.328821 166.157387 -L 129.328821 166.157387 + <path clip-path="url(#p1f31122917)" d="M 103.463057 136.149188 +L 103.463057 136.149188 " style="fill:none;stroke:#ff9400;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 129.328821 166.157387 -L 110.551674 172.895625 + <path clip-path="url(#p1f31122917)" d="M 103.463057 136.149188 +L 88.441339 141.337632 " style="fill:none;stroke:#ff9400;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 110.551674 172.895625 -L 91.38268 178.53415 + <path clip-path="url(#p1f31122917)" d="M 88.441339 141.337632 +L 73.106144 145.679296 " style="fill:none;stroke:#ff7b00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 91.38268 178.53415 -L 72 183.452406 + <path clip-path="url(#p1f31122917)" d="M 73.106144 145.679296 +L 57.6 149.466353 " style="fill:none;stroke:#ff5d00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 72 183.452406 -L 72 183.452406 + <path clip-path="url(#p1f31122917)" d="M 57.6 149.466353 +L 57.6 149.466353 " style="fill:none;stroke:#ff3c00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 72 183.452406 -L 72 183.452406 + <path clip-path="url(#p1f31122917)" d="M 57.6 149.466353 +L 57.6 149.466353 " style="fill:none;stroke:#ff3c00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 201.382304 43.2 -L 204.441571 62.331233 -" style="fill:none;stroke:#fff400;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 204.441571 62.331233 -L 207.524986 81.493598 + <path clip-path="url(#p1f31122917)" d="M 163.553257 56.203049 +L 166.019989 70.95807 " style="fill:none;stroke:#fff000;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 207.524986 81.493598 -L 210.560515 100.662488 + <path clip-path="url(#p1f31122917)" d="M 166.019989 70.95807 +L 168.448412 85.718116 " style="fill:none;stroke:#ffeb00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 210.560515 100.662488 -L 212.998436 118.093326 + <path clip-path="url(#p1f31122917)" d="M 168.448412 85.718116 +L 170.398749 99.139861 " style="fill:none;stroke:#ffe700;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 212.998436 118.093326 -L 214.152558 130.101616 + <path clip-path="url(#p1f31122917)" d="M 170.398749 99.139861 +L 171.322046 108.386244 " style="fill:none;stroke:#ffe300;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 214.152558 130.101616 -L 214.354151 138.999642 + <path clip-path="url(#p1f31122917)" d="M 171.322046 108.386244 +L 171.483321 115.237725 " style="fill:none;stroke:#ffdf00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 214.354151 138.999642 -L 213.73192 146.030539 + <path clip-path="url(#p1f31122917)" d="M 171.483321 115.237725 +L 170.985536 120.651515 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 213.73192 146.030539 -L 212.18607 152.101023 + <path clip-path="url(#p1f31122917)" d="M 170.985536 120.651515 +L 169.748856 125.325788 " style="fill:none;stroke:#ffda00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 212.18607 152.101023 -L 209.081892 158.076568 + <path clip-path="url(#p1f31122917)" d="M 169.748856 125.325788 +L 167.265514 129.926957 " style="fill:none;stroke:#ffd800;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 209.081892 158.076568 -L 204.554201 163.064848 + <path clip-path="url(#p1f31122917)" d="M 167.265514 129.926957 +L 163.643361 133.767933 " style="fill:none;stroke:#ffd500;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 204.554201 163.064848 -L 204.554201 163.064848 + <path clip-path="url(#p1f31122917)" d="M 163.643361 133.767933 +L 163.643361 133.767933 " style="fill:none;stroke:#ffd200;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 204.554201 163.064848 -L 197.763474 167.908313 + <path clip-path="url(#p1f31122917)" d="M 163.643361 133.767933 +L 158.210779 137.497401 " style="fill:none;stroke:#ffd200;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 197.763474 167.908313 -L 197.763474 167.908313 + <path clip-path="url(#p1f31122917)" d="M 158.210779 137.497401 +L 158.210779 137.497401 " style="fill:none;stroke:#ffcd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 197.763474 167.908313 -L 187.686443 172.964244 + <path clip-path="url(#p1f31122917)" d="M 158.210779 137.497401 +L 150.149154 141.390468 " style="fill:none;stroke:#ffcd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 187.686443 172.964244 -L 187.686443 172.964244 + <path clip-path="url(#p1f31122917)" d="M 150.149154 141.390468 +L 150.149154 141.390468 " style="fill:none;stroke:#ffc600;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 187.686443 172.964244 -L 169.002717 179.91675 + <path clip-path="url(#p1f31122917)" d="M 150.149154 141.390468 +L 135.202173 146.743897 " style="fill:none;stroke:#ffc600;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 169.002717 179.91675 -L 149.879069 185.696609 + <path clip-path="url(#p1f31122917)" d="M 135.202173 146.743897 +L 119.903255 151.194389 " style="fill:none;stroke:#ffb700;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 149.879069 185.696609 -L 130.556874 190.834343 + <path clip-path="url(#p1f31122917)" d="M 119.903255 151.194389 +L 104.445499 155.150444 " style="fill:none;stroke:#ffa400;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 130.556874 190.834343 -L 111.115507 195.535742 + <path clip-path="url(#p1f31122917)" d="M 104.445499 155.150444 +L 88.892406 158.770522 " style="fill:none;stroke:#ff8e00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 111.115507 195.535742 -L 91.589832 199.899888 + <path clip-path="url(#p1f31122917)" d="M 88.892406 158.770522 +L 73.271866 162.130913 " style="fill:none;stroke:#ff7500;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 91.589832 199.899888 -L 72 203.987166 + <path clip-path="url(#p1f31122917)" d="M 73.271866 162.130913 +L 57.6 165.278118 " style="fill:none;stroke:#ff5700;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 72 203.987166 -L 72 203.987166 + <path clip-path="url(#p1f31122917)" d="M 57.6 165.278118 +L 57.6 165.278118 " style="fill:none;stroke:#ff3600;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 72 203.987166 -L 72 203.987166 + <path clip-path="url(#p1f31122917)" d="M 57.6 165.278118 +L 57.6 165.278118 " style="fill:none;stroke:#ff3600;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 331.988669 273.018962 -L 314.443824 266.358 + <path clip-path="url(#p1f31122917)" d="M 265.590935 218.432601 +L 251.555059 213.30366 " style="fill:none;stroke:#ff9b00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 314.443824 266.358 -L 298.230569 258.954658 + <path clip-path="url(#p1f31122917)" d="M 251.555059 213.30366 +L 238.584455 207.603086 " style="fill:none;stroke:#ffaa00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 298.230569 258.954658 -L 281.570159 249.767018 + <path clip-path="url(#p1f31122917)" d="M 238.584455 207.603086 +L 225.256127 200.528604 " style="fill:none;stroke:#ffb500;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 281.570159 249.767018 -L 265.021332 238.865019 + <path clip-path="url(#p1f31122917)" d="M 225.256127 200.528604 +L 212.017066 192.134065 " style="fill:none;stroke:#ffbe00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 265.021332 238.865019 -L 249.084887 227.114239 + <path clip-path="url(#p1f31122917)" d="M 212.017066 192.134065 +L 199.26791 183.085964 " style="fill:none;stroke:#ffc500;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 249.084887 227.114239 -L 238.465616 219.351541 + <path clip-path="url(#p1f31122917)" d="M 199.26791 183.085964 +L 190.772493 177.108686 " style="fill:none;stroke:#ffc900;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 238.465616 219.351541 -L 229.691028 213.730338 + <path clip-path="url(#p1f31122917)" d="M 190.772493 177.108686 +L 183.752823 172.78036 " style="fill:none;stroke:#ffcb00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 229.691028 213.730338 -L 221.174306 209.454749 + <path clip-path="url(#p1f31122917)" d="M 183.752823 172.78036 +L 176.939445 169.488157 " style="fill:none;stroke:#ffcb00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 221.174306 209.454749 -L 211.610597 206.265017 + <path clip-path="url(#p1f31122917)" d="M 176.939445 169.488157 +L 169.288478 167.032063 " style="fill:none;stroke:#ffca00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 211.610597 206.265017 -L 201.741026 204.616963 + <path clip-path="url(#p1f31122917)" d="M 169.288478 167.032063 +L 161.392821 165.763062 " style="fill:none;stroke:#ffc800;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 201.741026 204.616963 -L 201.741026 204.616963 + <path clip-path="url(#p1f31122917)" d="M 161.392821 165.763062 +L 161.392821 165.763062 " style="fill:none;stroke:#ffc400;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 201.741026 204.616963 -L 190.270125 204.268774 + <path clip-path="url(#p1f31122917)" d="M 161.392821 165.763062 +L 152.2161 165.494956 " style="fill:none;stroke:#ffc400;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 190.270125 204.268774 -L 190.270125 204.268774 + <path clip-path="url(#p1f31122917)" d="M 152.2161 165.494956 +L 152.2161 165.494956 " style="fill:none;stroke:#ffbe00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 190.270125 204.268774 -L 170.338761 205.987977 + <path clip-path="url(#p1f31122917)" d="M 152.2161 165.494956 +L 136.271008 166.818742 " style="fill:none;stroke:#ffbe00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 170.338761 205.987977 -L 150.574167 209.166575 + <path clip-path="url(#p1f31122917)" d="M 136.271008 166.818742 +L 120.459334 169.266263 " style="fill:none;stroke:#ffb000;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 150.574167 209.166575 -L 130.907129 212.889436 + <path clip-path="url(#p1f31122917)" d="M 120.459334 169.266263 +L 104.725703 172.132866 " style="fill:none;stroke:#ff9e00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 130.907129 212.889436 -L 111.274983 216.783871 + <path clip-path="url(#p1f31122917)" d="M 104.725703 172.132866 +L 89.019986 175.131581 " style="fill:none;stroke:#ff8800;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 111.274983 216.783871 -L 91.644537 220.686487 + <path clip-path="url(#p1f31122917)" d="M 89.019986 175.131581 +L 73.315629 178.136595 " style="fill:none;stroke:#ff6f00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 91.644537 220.686487 -L 72 224.521925 + <path clip-path="url(#p1f31122917)" d="M 73.315629 178.136595 +L 57.6 181.089882 " style="fill:none;stroke:#ff5100;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 72 224.521925 -L 72 224.521925 + <path clip-path="url(#p1f31122917)" d="M 57.6 181.089882 +L 57.6 181.089882 " style="fill:none;stroke:#ff3000;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 72 224.521925 -L 72 224.521925 + <path clip-path="url(#p1f31122917)" d="M 57.6 181.089882 +L 57.6 181.089882 " style="fill:none;stroke:#ff3000;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 224.949556 230.17662 -L 213.660576 227.005523 + <path clip-path="url(#p1f31122917)" d="M 179.959645 185.443997 +L 170.928461 183.002253 " style="fill:none;stroke:#ffc500;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 213.660576 227.005523 -L 200.202123 225.098388 + <path clip-path="url(#p1f31122917)" d="M 170.928461 183.002253 +L 160.161698 181.533759 " style="fill:none;stroke:#ffc200;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 200.202123 225.098388 -L 187.008075 224.899717 + <path clip-path="url(#p1f31122917)" d="M 160.161698 181.533759 +L 149.60646 181.380782 " style="fill:none;stroke:#ffbd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 187.008075 224.899717 -L 187.008075 224.899717 + <path clip-path="url(#p1f31122917)" d="M 149.60646 181.380782 +L 149.60646 181.380782 " style="fill:none;stroke:#ffb600;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 187.008075 224.899717 -L 170.262798 226.245562 + <path clip-path="url(#p1f31122917)" d="M 149.60646 181.380782 +L 136.210238 182.417083 " style="fill:none;stroke:#ffb600;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 170.262798 226.245562 -L 170.262798 226.245562 + <path clip-path="url(#p1f31122917)" d="M 136.210238 182.417083 +L 136.210238 182.417083 " style="fill:none;stroke:#ffaa00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 170.262798 226.245562 -L 150.462702 229.194135 + <path clip-path="url(#p1f31122917)" d="M 136.210238 182.417083 +L 120.370161 184.687484 " style="fill:none;stroke:#ffaa00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 150.462702 229.194135 -L 130.787827 232.873713 + <path clip-path="url(#p1f31122917)" d="M 120.370161 184.687484 +L 104.630262 187.520759 " style="fill:none;stroke:#ff9800;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 130.787827 232.873713 -L 111.177133 236.867086 + <path clip-path="url(#p1f31122917)" d="M 104.630262 187.520759 +L 88.941706 190.595657 " style="fill:none;stroke:#ff8200;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 111.177133 236.867086 -L 91.589132 240.964408 + <path clip-path="url(#p1f31122917)" d="M 88.941706 190.595657 +L 73.271306 193.750594 " style="fill:none;stroke:#ff6900;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 91.589132 240.964408 -L 72 245.056684 + <path clip-path="url(#p1f31122917)" d="M 73.271306 193.750594 +L 57.6 196.901647 " style="fill:none;stroke:#ff4b00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 72 245.056684 -L 72 245.056684 + <path clip-path="url(#p1f31122917)" d="M 57.6 196.901647 +L 57.6 196.901647 " style="fill:none;stroke:#ff2a00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 72 245.056684 -L 72 245.056684 + <path clip-path="url(#p1f31122917)" d="M 57.6 196.901647 +L 57.6 196.901647 " style="fill:none;stroke:#ff2a00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 72 245.056684 -L 72 245.056684 + <path clip-path="url(#p1f31122917)" d="M 57.6 196.901647 +L 57.6 196.901647 " style="fill:none;stroke:#ff2a00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 242.178888 247.569487 -L 230.123325 243.907408 + <path clip-path="url(#p1f31122917)" d="M 193.74311 198.836505 +L 184.09866 196.016704 " style="fill:none;stroke:#ffc300;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 230.123325 243.907408 -L 217.716462 241.398108 + <path clip-path="url(#p1f31122917)" d="M 184.09866 196.016704 +L 174.173169 194.084543 " style="fill:none;stroke:#ffc200;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 217.716462 241.398108 -L 203.308243 240.221917 + <path clip-path="url(#p1f31122917)" d="M 174.173169 194.084543 +L 162.646594 193.178876 " style="fill:none;stroke:#ffc000;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 203.308243 240.221917 -L 189.305939 240.67456 + <path clip-path="url(#p1f31122917)" d="M 162.646594 193.178876 +L 151.444751 193.527412 " style="fill:none;stroke:#ffba00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 189.305939 240.67456 -L 189.305939 240.67456 + <path clip-path="url(#p1f31122917)" d="M 151.444751 193.527412 +L 151.444751 193.527412 " style="fill:none;stroke:#ffb300;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 189.305939 240.67456 -L 169.451449 243.144307 + <path clip-path="url(#p1f31122917)" d="M 151.444751 193.527412 +L 135.561159 195.429117 " style="fill:none;stroke:#ffb300;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 169.451449 243.144307 -L 149.800359 246.91987 + <path clip-path="url(#p1f31122917)" d="M 135.561159 195.429117 +L 119.840287 198.3363 " style="fill:none;stroke:#ffa500;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 149.800359 246.91987 -L 130.287668 251.334974 + <path clip-path="url(#p1f31122917)" d="M 119.840287 198.3363 +L 104.230135 201.73593 " style="fill:none;stroke:#ff9200;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 130.287668 251.334974 -L 110.843985 256.031148 + <path clip-path="url(#p1f31122917)" d="M 104.230135 201.73593 +L 88.675188 205.351984 " style="fill:none;stroke:#ff7c00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 110.843985 256.031148 -L 91.423656 260.817747 + <path clip-path="url(#p1f31122917)" d="M 88.675188 205.351984 +L 73.138925 209.037665 " style="fill:none;stroke:#ff6200;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 91.423656 260.817747 -L 72 265.591444 + <path clip-path="url(#p1f31122917)" d="M 73.138925 209.037665 +L 57.6 212.713412 " style="fill:none;stroke:#ff4500;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 72 265.591444 -L 72 265.591444 + <path clip-path="url(#p1f31122917)" d="M 57.6 212.713412 +L 57.6 212.713412 " style="fill:none;stroke:#ff2400;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 72 265.591444 -L 72 265.591444 + <path clip-path="url(#p1f31122917)" d="M 57.6 212.713412 +L 57.6 212.713412 " style="fill:none;stroke:#ff2400;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 72 265.591444 -L 72 265.591444 + <path clip-path="url(#p1f31122917)" d="M 57.6 212.713412 +L 57.6 212.713412 " style="fill:none;stroke:#ff2400;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 289.147098 272.339971 -L 269.870001 267.113029 + <path clip-path="url(#p1f31122917)" d="M 231.317678 217.909778 +L 215.896 213.885032 " style="fill:none;stroke:#ffb400;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 269.870001 267.113029 -L 255.263399 263.63362 + <path clip-path="url(#p1f31122917)" d="M 215.896 213.885032 +L 204.210719 211.205888 " style="fill:none;stroke:#ffbb00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 255.263399 263.63362 -L 242.294641 261.386219 + <path clip-path="url(#p1f31122917)" d="M 204.210719 211.205888 +L 193.835713 209.475389 " style="fill:none;stroke:#ffbe00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 242.294641 261.386219 -L 229.38993 260.313249 + <path clip-path="url(#p1f31122917)" d="M 193.835713 209.475389 +L 183.511944 208.649202 " style="fill:none;stroke:#ffbf00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 229.38993 260.313249 -L 215.031198 260.678859 + <path clip-path="url(#p1f31122917)" d="M 183.511944 208.649202 +L 172.024958 208.930721 " style="fill:none;stroke:#ffbd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 215.031198 260.678859 -L 201.118163 262.554273 + <path clip-path="url(#p1f31122917)" d="M 172.024958 208.930721 +L 160.89453 210.37479 " style="fill:none;stroke:#ffb900;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 201.118163 262.554273 -L 201.118163 262.554273 + <path clip-path="url(#p1f31122917)" d="M 160.89453 210.37479 +L 160.89453 210.37479 " style="fill:none;stroke:#ffb300;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 201.118163 262.554273 -L 184.701093 266.266432 + <path clip-path="url(#p1f31122917)" d="M 160.89453 210.37479 +L 147.760874 213.233153 " style="fill:none;stroke:#ffb300;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 184.701093 266.266432 -L 184.701093 266.266432 + <path clip-path="url(#p1f31122917)" d="M 147.760874 213.233153 +L 147.760874 213.233153 " style="fill:none;stroke:#ffa900;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 184.701093 266.266432 -L 165.564221 271.990076 + <path clip-path="url(#p1f31122917)" d="M 147.760874 213.233153 +L 132.451377 217.640359 " style="fill:none;stroke:#ffa900;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 165.564221 271.990076 -L 146.697586 278.520269 + <path clip-path="url(#p1f31122917)" d="M 132.451377 217.640359 +L 117.358069 222.668607 " style="fill:none;stroke:#ff9900;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 146.697586 278.520269 -L 127.977658 285.440268 + <path clip-path="url(#p1f31122917)" d="M 117.358069 222.668607 +L 102.382126 227.997006 " style="fill:none;stroke:#ff8600;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 127.977658 285.440268 -L 109.319926 292.517271 + <path clip-path="url(#p1f31122917)" d="M 102.382126 227.997006 +L 87.455941 233.446299 " style="fill:none;stroke:#ff6f00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 109.319926 292.517271 -L 90.671393 299.617289 + <path clip-path="url(#p1f31122917)" d="M 87.455941 233.446299 +L 72.537114 238.913312 " style="fill:none;stroke:#ff5600;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 90.671393 299.617289 -L 72 306.660963 + <path clip-path="url(#p1f31122917)" d="M 72.537114 238.913312 +L 57.6 244.336941 " style="fill:none;stroke:#ff3800;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 72 306.660963 -L 72 306.660963 + <path clip-path="url(#p1f31122917)" d="M 57.6 244.336941 +L 57.6 244.336941 " style="fill:none;stroke:#ff1800;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 72 306.660963 -L 72 306.660963 + <path clip-path="url(#p1f31122917)" d="M 57.6 244.336941 +L 57.6 244.336941 " style="fill:none;stroke:#ff1800;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 72 306.660963 -L 72 306.660963 + <path clip-path="url(#p1f31122917)" d="M 57.6 244.336941 +L 57.6 244.336941 " style="fill:none;stroke:#ff1800;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 126.104176 301.827823 -L 108.07026 310.285257 + <path clip-path="url(#p1f31122917)" d="M 100.88334 240.615424 +L 86.456208 247.127648 " style="fill:none;stroke:#ff6800;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 108.07026 310.285257 -L 90.04693 318.763979 + <path clip-path="url(#p1f31122917)" d="M 86.456208 247.127648 +L 72.037544 253.656264 " style="fill:none;stroke:#ff4f00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 90.04693 318.763979 -L 72 327.195722 + <path clip-path="url(#p1f31122917)" d="M 72.037544 253.656264 +L 57.6 260.148706 " style="fill:none;stroke:#ff3200;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 72 327.195722 -L 72 327.195722 + <path clip-path="url(#p1f31122917)" d="M 57.6 260.148706 +L 57.6 260.148706 " style="fill:none;stroke:#ff1200;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 72 327.195722 -L 72 327.195722 + <path clip-path="url(#p1f31122917)" d="M 57.6 260.148706 +L 57.6 260.148706 " style="fill:none;stroke:#ff1200;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 72 327.195722 -L 72 327.195722 + <path clip-path="url(#p1f31122917)" d="M 57.6 260.148706 +L 57.6 260.148706 " style="fill:none;stroke:#ff1200;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 123.784937 318.177133 -L 106.509058 328.004615 + <path clip-path="url(#p1f31122917)" d="M 99.027949 253.204393 +L 85.207246 260.771554 " style="fill:none;stroke:#ff6100;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 106.509058 328.004615 -L 89.258939 337.874539 + <path clip-path="url(#p1f31122917)" d="M 85.207246 260.771554 +L 71.407151 268.371395 " style="fill:none;stroke:#ff4700;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 89.258939 337.874539 -L 72 347.730481 + <path clip-path="url(#p1f31122917)" d="M 71.407151 268.371395 +L 57.6 275.960471 " style="fill:none;stroke:#ff2b00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 72 347.730481 -L 72 347.730481 + <path clip-path="url(#p1f31122917)" d="M 57.6 275.960471 +L 57.6 275.960471 " style="fill:none;stroke:#ff0c00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 72 347.730481 -L 72 347.730481 + <path clip-path="url(#p1f31122917)" d="M 57.6 275.960471 +L 57.6 275.960471 " style="fill:none;stroke:#ff0c00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 72 347.730481 -L 72 347.730481 + <path clip-path="url(#p1f31122917)" d="M 57.6 275.960471 +L 57.6 275.960471 " style="fill:none;stroke:#ff0c00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 429.12 290.098294 -L 411.508021 286.126203 -" style="fill:none;stroke:#ff1d00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 411.508021 286.126203 -L 392.067073 281.430775 -" style="fill:none;stroke:#ff3b00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 429.12 271.094824 -L 411.508021 265.591444 -" style="fill:none;stroke:#ff2200;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 411.508021 265.591444 -L 392.598811 259.185809 + <path clip-path="url(#p1f31122917)" d="M 329.206417 212.713412 +L 314.079049 207.781073 " style="fill:none;stroke:#ff4100;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 392.598811 259.185809 -L 374.097544 251.756847 + <path clip-path="url(#p1f31122917)" d="M 314.079049 207.781073 +L 299.278035 202.060772 " style="fill:none;stroke:#ff5e00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 374.097544 251.756847 -L 356.192564 243.078948 + <path clip-path="url(#p1f31122917)" d="M 299.278035 202.060772 +L 284.954051 195.37879 " style="fill:none;stroke:#ff7800;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 356.192564 243.078948 -L 339.143363 232.92739 + <path clip-path="url(#p1f31122917)" d="M 284.954051 195.37879 +L 271.314691 187.56209 " style="fill:none;stroke:#ff8f00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 339.143363 232.92739 -L 324.578482 222.23203 + <path clip-path="url(#p1f31122917)" d="M 271.314691 187.56209 +L 259.662786 179.326663 " style="fill:none;stroke:#ffa100;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 324.578482 222.23203 -L 312.064302 211.000491 + <path clip-path="url(#p1f31122917)" d="M 259.662786 179.326663 +L 249.651441 170.678378 " style="fill:none;stroke:#ffb000;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 312.064302 211.000491 -L 301.083384 199.054108 + <path clip-path="url(#p1f31122917)" d="M 249.651441 170.678378 +L 240.866707 161.479663 " style="fill:none;stroke:#ffbc00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 301.083384 199.054108 -L 291.300999 186.211873 + <path clip-path="url(#p1f31122917)" d="M 240.866707 161.479663 +L 233.040799 151.591142 " style="fill:none;stroke:#ffc500;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 291.300999 186.211873 -L 282.581579 172.335275 + <path clip-path="url(#p1f31122917)" d="M 233.040799 151.591142 +L 226.065263 140.906162 " style="fill:none;stroke:#ffcd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 282.581579 172.335275 -L 282.581579 172.335275 + <path clip-path="url(#p1f31122917)" d="M 226.065263 140.906162 +L 226.065263 140.906162 " style="fill:none;stroke:#ffd400;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 282.581579 172.335275 -L 276.206438 159.787673 + <path clip-path="url(#p1f31122917)" d="M 226.065263 140.906162 +L 220.96515 131.244509 " style="fill:none;stroke:#ffd400;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 276.206438 159.787673 -L 276.206438 159.787673 + <path clip-path="url(#p1f31122917)" d="M 220.96515 131.244509 +L 220.96515 131.244509 " style="fill:none;stroke:#ffda00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 276.206438 159.787673 -L 274.863011 156.677608 + <path clip-path="url(#p1f31122917)" d="M 220.96515 131.244509 +L 219.890408 128.849758 " style="fill:none;stroke:#ffda00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 274.863011 156.677608 -L 274.863011 156.677608 + <path clip-path="url(#p1f31122917)" d="M 219.890408 128.849758 +L 219.890408 128.849758 " style="fill:none;stroke:#ffdb00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 274.863011 156.677608 -L 273.824369 153.894135 + <path clip-path="url(#p1f31122917)" d="M 219.890408 128.849758 +L 219.059496 126.706484 " style="fill:none;stroke:#ffdb00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 273.824369 153.894135 -L 273.824369 153.894135 + <path clip-path="url(#p1f31122917)" d="M 219.059496 126.706484 +L 219.059496 126.706484 " style="fill:none;stroke:#ffdc00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 273.824369 153.894135 -L 273.174478 151.434998 + <path clip-path="url(#p1f31122917)" d="M 219.059496 126.706484 +L 218.539582 124.812949 " style="fill:none;stroke:#ffdc00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 273.174478 151.434998 -L 273.174478 151.434998 + <path clip-path="url(#p1f31122917)" d="M 218.539582 124.812949 +L 218.539582 124.812949 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 273.174478 151.434998 -L 273.180708 149.961141 + <path clip-path="url(#p1f31122917)" d="M 218.539582 124.812949 +L 218.544566 123.678079 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 273.180708 149.961141 -L 273.797325 149.121203 + <path clip-path="url(#p1f31122917)" d="M 218.544566 123.678079 +L 219.03786 123.031326 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 273.797325 149.121203 -L 273.797325 149.121203 + <path clip-path="url(#p1f31122917)" d="M 219.03786 123.031326 +L 219.03786 123.031326 " style="fill:none;stroke:#ffde00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 273.797325 149.121203 -L 274.541782 148.504834 + <path clip-path="url(#p1f31122917)" d="M 219.03786 123.031326 +L 219.633426 122.556722 " style="fill:none;stroke:#ffde00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 274.541782 148.504834 -L 275.107345 148.117929 + <path clip-path="url(#p1f31122917)" d="M 219.633426 122.556722 +L 220.085876 122.258806 " style="fill:none;stroke:#ffde00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 275.107345 148.117929 -L 275.583283 147.804748 + <path clip-path="url(#p1f31122917)" d="M 220.085876 122.258806 +L 220.466626 122.017656 " style="fill:none;stroke:#ffde00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 275.583283 147.804748 -L 275.966081 147.555129 + <path clip-path="url(#p1f31122917)" d="M 220.466626 122.017656 +L 220.772865 121.825449 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 275.966081 147.555129 -L 276.288164 147.370813 + <path clip-path="url(#p1f31122917)" d="M 220.772865 121.825449 +L 221.030531 121.683526 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 276.288164 147.370813 -L 276.629596 147.274869 + <path clip-path="url(#p1f31122917)" d="M 221.030531 121.683526 +L 221.303677 121.609649 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 276.629596 147.274869 -L 276.972458 147.311138 + <path clip-path="url(#p1f31122917)" d="M 221.303677 121.609649 +L 221.577966 121.637576 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 276.972458 147.311138 -L 276.972458 147.311138 + <path clip-path="url(#p1f31122917)" d="M 221.577966 121.637576 +L 221.577966 121.637576 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 276.972458 147.311138 -L 277.090786 147.18972 + <path clip-path="url(#p1f31122917)" d="M 221.577966 121.637576 +L 221.672629 121.544084 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.090786 147.18972 -L 277.171397 147.075839 + <path clip-path="url(#p1f31122917)" d="M 221.672629 121.544084 +L 221.737118 121.456396 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.171397 147.075839 -L 277.26013 147.016704 + <path clip-path="url(#p1f31122917)" d="M 221.737118 121.456396 +L 221.808104 121.410862 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.26013 147.016704 -L 277.367745 147.026741 + <path clip-path="url(#p1f31122917)" d="M 221.808104 121.410862 +L 221.894196 121.418591 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.367745 147.026741 -L 277.475641 147.081089 + <path clip-path="url(#p1f31122917)" d="M 221.894196 121.418591 +L 221.980513 121.460439 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.475641 147.081089 -L 277.535084 147.08624 + <path clip-path="url(#p1f31122917)" d="M 221.980513 121.460439 +L 222.028067 121.464405 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.535084 147.08624 -L 277.53529 147.007692 + <path clip-path="url(#p1f31122917)" d="M 222.028067 121.464405 +L 222.028232 121.403923 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.53529 147.007692 -L 277.523946 146.924266 + <path clip-path="url(#p1f31122917)" d="M 222.028232 121.403923 +L 222.019157 121.339685 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.523946 146.924266 -L 277.534606 146.893026 + <path clip-path="url(#p1f31122917)" d="M 222.019157 121.339685 +L 222.027685 121.31563 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.534606 146.893026 -L 277.575721 146.929145 + <path clip-path="url(#p1f31122917)" d="M 222.027685 121.31563 +L 222.060577 121.343442 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.575721 146.929145 -L 277.633533 147.008028 + <path clip-path="url(#p1f31122917)" d="M 222.060577 121.343442 +L 222.106826 121.404182 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.633533 147.008028 -L 277.659289 147.034959 + <path clip-path="url(#p1f31122917)" d="M 222.106826 121.404182 +L 222.127431 121.424919 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.659289 147.034959 -L 277.634301 146.969805 + <path clip-path="url(#p1f31122917)" d="M 222.127431 121.424919 +L 222.107441 121.37475 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.634301 146.969805 -L 277.602968 146.894004 + <path clip-path="url(#p1f31122917)" d="M 222.107441 121.37475 +L 222.082375 121.316383 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.602968 146.894004 -L 277.595926 146.867225 + <path clip-path="url(#p1f31122917)" d="M 222.082375 121.316383 +L 222.076741 121.295763 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.595926 146.867225 -L 277.620605 146.905326 + <path clip-path="url(#p1f31122917)" d="M 222.076741 121.295763 +L 222.096484 121.325101 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.620605 146.905326 -L 277.665322 146.986076 + <path clip-path="url(#p1f31122917)" d="M 222.096484 121.325101 +L 222.132258 121.387279 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.665322 146.986076 -L 277.683766 147.01998 + <path clip-path="url(#p1f31122917)" d="M 222.132258 121.387279 +L 222.147013 121.413384 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.683766 147.01998 -L 277.656135 146.964074 + <path clip-path="url(#p1f31122917)" d="M 222.147013 121.413384 +L 222.124908 121.370337 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.656135 146.964074 -L 277.621296 146.892275 + <path clip-path="url(#p1f31122917)" d="M 222.124908 121.370337 +L 222.097037 121.315052 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.621296 146.892275 -L 277.609807 146.865122 + <path clip-path="url(#p1f31122917)" d="M 222.097037 121.315052 +L 222.087845 121.294144 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.609807 146.865122 -L 277.629066 146.899376 + <path clip-path="url(#p1f31122917)" d="M 222.087845 121.294144 +L 222.103253 121.32052 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.629066 146.899376 -L 277.668241 146.975222 + <path clip-path="url(#p1f31122917)" d="M 222.103253 121.32052 +L 222.134593 121.378921 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.668241 146.975222 -L 277.686124 147.011994 + <path clip-path="url(#p1f31122917)" d="M 222.134593 121.378921 +L 222.148899 121.407235 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.686124 147.011994 -L 277.661138 146.964125 + <path clip-path="url(#p1f31122917)" d="M 222.148899 121.407235 +L 222.12891 121.370376 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.661138 146.964125 -L 277.62699 146.895965 + <path clip-path="url(#p1f31122917)" d="M 222.12891 121.370376 +L 222.101592 121.317893 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.62699 146.895965 -L 277.613907 146.86761 + <path clip-path="url(#p1f31122917)" d="M 222.101592 121.317893 +L 222.091126 121.29606 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.613907 146.86761 -L 277.630196 146.897272 + <path clip-path="url(#p1f31122917)" d="M 222.091126 121.29606 +L 222.104157 121.3189 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.630196 146.897272 -L 277.66603 146.967591 + <path clip-path="url(#p1f31122917)" d="M 222.104157 121.3189 +L 222.132824 121.373045 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.66603 146.967591 -L 277.684335 147.005781 + <path clip-path="url(#p1f31122917)" d="M 222.132824 121.373045 +L 222.147468 121.402452 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.684335 147.005781 -L 277.66262 146.964882 + <path clip-path="url(#p1f31122917)" d="M 222.147468 121.402452 +L 222.130096 121.37096 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.66262 146.964882 -L 277.629978 146.900255 + <path clip-path="url(#p1f31122917)" d="M 222.130096 121.37096 +L 222.103982 121.321196 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.629978 146.900255 -L 277.616104 146.870864 + <path clip-path="url(#p1f31122917)" d="M 222.103982 121.321196 +L 222.092883 121.298565 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.616104 146.870864 -L 277.630045 146.896225 + <path clip-path="url(#p1f31122917)" d="M 222.092883 121.298565 +L 222.104036 121.318093 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.630045 146.896225 -L 277.663184 146.961342 + <path clip-path="url(#p1f31122917)" d="M 222.104036 121.318093 +L 222.130547 121.368233 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.663184 146.961342 -L 277.681895 147.000273 + <path clip-path="url(#p1f31122917)" d="M 222.130547 121.368233 +L 222.145516 121.398211 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.681895 147.000273 -L 277.663261 146.965507 + <path clip-path="url(#p1f31122917)" d="M 222.145516 121.398211 +L 222.130609 121.371441 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.663261 146.965507 -L 277.632256 146.904317 + <path clip-path="url(#p1f31122917)" d="M 222.130609 121.371441 +L 222.105805 121.324324 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.632256 146.904317 -L 277.617859 146.87413 + <path clip-path="url(#p1f31122917)" d="M 222.105805 121.324324 +L 222.094287 121.30108 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.617859 146.87413 -L 277.629768 146.895626 + <path clip-path="url(#p1f31122917)" d="M 222.094287 121.30108 +L 222.103814 121.317632 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.629768 146.895626 -L 277.660518 146.955975 + <path clip-path="url(#p1f31122917)" d="M 222.103814 121.317632 +L 222.128414 121.3641 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.660518 146.955975 -L 277.679473 146.995215 + <path clip-path="url(#p1f31122917)" d="M 222.128414 121.3641 +L 222.143578 121.394316 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.679473 146.995215 -L 277.663613 146.965881 + <path clip-path="url(#p1f31122917)" d="M 222.143578 121.394316 +L 222.13089 121.371728 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.663613 146.965881 -L 277.634238 146.908033 + <path clip-path="url(#p1f31122917)" d="M 222.13089 121.371728 +L 222.10739 121.327185 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.634238 146.908033 -L 277.619464 146.877273 + <path clip-path="url(#p1f31122917)" d="M 222.10739 121.327185 +L 222.095572 121.3035 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.619464 146.877273 -L 277.629571 146.895309 + <path clip-path="url(#p1f31122917)" d="M 222.095572 121.3035 +L 222.103657 121.317388 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.629571 146.895309 -L 277.658143 146.951286 + <path clip-path="url(#p1f31122917)" d="M 222.103657 121.317388 +L 222.126514 121.36049 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.658143 146.951286 -L 277.677182 146.990516 + <path clip-path="url(#p1f31122917)" d="M 222.126514 121.36049 +L 222.141746 121.390697 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.677182 146.990516 -L 277.663802 146.966014 + <path clip-path="url(#p1f31122917)" d="M 222.141746 121.390697 +L 222.131042 121.371831 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.663802 146.966014 -L 277.636022 146.911412 + <path clip-path="url(#p1f31122917)" d="M 222.131042 121.371831 +L 222.108818 121.329787 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.636022 146.911412 -L 277.620985 146.880278 + <path clip-path="url(#p1f31122917)" d="M 222.108818 121.329787 +L 222.096788 121.305814 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.620985 146.880278 -L 277.629475 146.895208 + <path clip-path="url(#p1f31122917)" d="M 222.096788 121.305814 +L 222.10358 121.31731 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.629475 146.895208 -L 277.65604 146.947161 + <path clip-path="url(#p1f31122917)" d="M 222.10358 121.31731 +L 222.124832 121.357314 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.65604 146.947161 -L 277.675032 146.986133 + <path clip-path="url(#p1f31122917)" d="M 222.124832 121.357314 +L 222.140026 121.387322 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.675032 146.986133 -L 277.66387 146.96594 + <path clip-path="url(#p1f31122917)" d="M 222.140026 121.387322 +L 222.131096 121.371773 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.66387 146.96594 -L 277.637643 146.914485 + <path clip-path="url(#p1f31122917)" d="M 222.131096 121.371773 +L 222.110115 121.332153 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.637643 146.914485 -L 277.622437 146.883151 + <path clip-path="url(#p1f31122917)" d="M 222.110115 121.332153 +L 222.09795 121.308027 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.622437 146.883151 -L 277.629469 146.895283 + <path clip-path="url(#p1f31122917)" d="M 222.09795 121.308027 +L 222.103575 121.317368 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.629469 146.895283 -L 277.654175 146.943514 + <path clip-path="url(#p1f31122917)" d="M 222.103575 121.317368 +L 222.12334 121.354506 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.654175 146.943514 -L 277.673015 146.982034 + <path clip-path="url(#p1f31122917)" d="M 222.12334 121.354506 +L 222.138412 121.384166 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.673015 146.982034 -L 277.663838 146.965689 + <path clip-path="url(#p1f31122917)" d="M 222.138412 121.384166 +L 222.131071 121.37158 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.663838 146.965689 -L 277.639119 146.917281 + <path clip-path="url(#p1f31122917)" d="M 222.131071 121.37158 +L 222.111296 121.334306 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.639119 146.917281 -L 277.623827 146.885899 + <path clip-path="url(#p1f31122917)" d="M 222.111296 121.334306 +L 222.099061 121.310142 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.623827 146.885899 -L 277.629538 146.895504 + <path clip-path="url(#p1f31122917)" d="M 222.099061 121.310142 +L 222.10363 121.317538 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.629538 146.895504 -L 277.652517 146.94028 + <path clip-path="url(#p1f31122917)" d="M 222.10363 121.317538 +L 222.122014 121.352016 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.652517 146.94028 -L 277.67112 146.978194 + <path clip-path="url(#p1f31122917)" d="M 222.122014 121.352016 +L 222.136896 121.381209 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.67112 146.978194 -L 277.663723 146.965289 + <path clip-path="url(#p1f31122917)" d="M 222.136896 121.381209 +L 222.130978 121.371273 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.663723 146.965289 -L 277.640465 146.919825 + <path clip-path="url(#p1f31122917)" d="M 222.130978 121.371273 +L 222.112372 121.336265 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.640465 146.919825 -L 277.625156 146.888528 + <path clip-path="url(#p1f31122917)" d="M 222.112372 121.336265 +L 222.100125 121.312166 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.625156 146.888528 -L 277.629671 146.895847 + <path clip-path="url(#p1f31122917)" d="M 222.100125 121.312166 +L 222.103737 121.317802 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.629671 146.895847 -L 277.651039 146.937406 + <path clip-path="url(#p1f31122917)" d="M 222.103737 121.317802 +L 222.120831 121.349802 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.651039 146.937406 -L 277.669339 146.974593 + <path clip-path="url(#p1f31122917)" d="M 222.120831 121.349802 +L 222.135471 121.378436 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.669339 146.974593 -L 277.663536 146.964764 + <path clip-path="url(#p1f31122917)" d="M 222.135471 121.378436 +L 222.130828 121.370868 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.663536 146.964764 -L 277.64169 146.922139 + <path clip-path="url(#p1f31122917)" d="M 222.130828 121.370868 +L 222.113352 121.338047 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.64169 146.922139 -L 277.62643 146.891043 + <path clip-path="url(#p1f31122917)" d="M 222.113352 121.338047 +L 222.101144 121.314103 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.62643 146.891043 -L 277.629858 146.896291 + <path clip-path="url(#p1f31122917)" d="M 222.101144 121.314103 +L 222.103886 121.318144 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.629858 146.896291 -L 277.64972 146.934847 + <path clip-path="url(#p1f31122917)" d="M 222.103886 121.318144 +L 222.119776 121.347832 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.64972 146.934847 -L 277.667662 146.971211 + <path clip-path="url(#p1f31122917)" d="M 222.119776 121.347832 +L 222.13413 121.375833 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.667662 146.971211 -L 277.663288 146.964132 + <path clip-path="url(#p1f31122917)" d="M 222.13413 121.375833 +L 222.13063 121.370382 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.663288 146.964132 -L 277.642806 146.924242 + <path clip-path="url(#p1f31122917)" d="M 222.13063 121.370382 +L 222.114245 121.339667 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.642806 146.924242 -L 277.62765 146.893451 + <path clip-path="url(#p1f31122917)" d="M 222.114245 121.339667 +L 222.10212 121.315958 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.62765 146.893451 -L 277.630091 146.896822 + <path clip-path="url(#p1f31122917)" d="M 222.10212 121.315958 +L 222.104073 121.318553 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.630091 146.896822 -L 277.648541 146.932568 + <path clip-path="url(#p1f31122917)" d="M 222.104073 121.318553 +L 222.118833 121.346077 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.648541 146.932568 -L 277.666083 146.968033 + <path clip-path="url(#p1f31122917)" d="M 222.118833 121.346077 +L 222.132866 121.373386 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.666083 146.968033 -L 277.662989 146.963411 + <path clip-path="url(#p1f31122917)" d="M 222.132866 121.373386 +L 222.130391 121.369826 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.662989 146.963411 -L 277.643822 146.926152 + <path clip-path="url(#p1f31122917)" d="M 222.130391 121.369826 +L 222.115057 121.341137 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.643822 146.926152 -L 277.628819 146.895756 + <path clip-path="url(#p1f31122917)" d="M 222.115057 121.341137 +L 222.103055 121.317732 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.628819 146.895756 -L 277.630363 146.897425 + <path clip-path="url(#p1f31122917)" d="M 222.103055 121.317732 +L 222.10429 121.319017 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.630363 146.897425 -L 277.647488 146.930537 + <path clip-path="url(#p1f31122917)" d="M 222.10429 121.319017 +L 222.11799 121.344513 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.647488 146.930537 -L 277.664594 146.965045 + <path clip-path="url(#p1f31122917)" d="M 222.11799 121.344513 +L 222.131676 121.371085 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.664594 146.965045 -L 277.662647 146.962615 + <path clip-path="url(#p1f31122917)" d="M 222.131676 121.371085 +L 222.130118 121.369213 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.662647 146.962615 -L 277.644744 146.927882 + <path clip-path="url(#p1f31122917)" d="M 222.130118 121.369213 +L 222.115795 121.342469 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.644744 146.927882 -L 277.629939 146.897961 + <path clip-path="url(#p1f31122917)" d="M 222.115795 121.342469 +L 222.103951 121.31943 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.629939 146.897961 -L 277.630667 146.898089 + <path clip-path="url(#p1f31122917)" d="M 222.103951 121.31943 +L 222.104534 121.319529 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.630667 146.898089 -L 277.646547 146.928728 + <path clip-path="url(#p1f31122917)" d="M 222.104534 121.319529 +L 222.117237 121.343121 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.646547 146.928728 -L 277.663192 146.962234 + <path clip-path="url(#p1f31122917)" d="M 222.117237 121.343121 +L 222.130553 121.36892 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.663192 146.962234 -L 277.662268 146.961757 + <path clip-path="url(#p1f31122917)" d="M 222.130553 121.36892 +L 222.129815 121.368553 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.662268 146.961757 -L 277.64558 146.929446 + <path clip-path="url(#p1f31122917)" d="M 222.129815 121.368553 +L 222.116464 121.343673 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.64558 146.929446 -L 277.63101 146.900069 + <path clip-path="url(#p1f31122917)" d="M 222.116464 121.343673 +L 222.104808 121.321053 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.63101 146.900069 -L 277.631 146.898805 + <path clip-path="url(#p1f31122917)" d="M 222.104808 121.321053 +L 222.1048 121.32008 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.631 146.898805 -L 277.645706 146.927118 + <path clip-path="url(#p1f31122917)" d="M 222.1048 121.32008 +L 222.116565 121.341881 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.645706 146.927118 -L 277.661869 146.959589 + <path clip-path="url(#p1f31122917)" d="M 222.116565 121.341881 +L 222.129495 121.366883 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.661869 146.959589 -L 277.661859 146.960847 + <path clip-path="url(#p1f31122917)" d="M 222.129495 121.366883 +L 222.129487 121.367852 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.661859 146.960847 -L 277.646337 146.930856 + <path clip-path="url(#p1f31122917)" d="M 222.129487 121.367852 +L 222.11707 121.344759 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.646337 146.930856 -L 277.632035 146.902085 + <path clip-path="url(#p1f31122917)" d="M 222.11707 121.344759 +L 222.105628 121.322605 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.632035 146.902085 -L 277.631356 146.899562 + <path clip-path="url(#p1f31122917)" d="M 222.105628 121.322605 +L 222.105085 121.320663 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.631356 146.899562 -L 277.644957 146.925688 + <path clip-path="url(#p1f31122917)" d="M 222.105085 121.320663 +L 222.115966 121.34078 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.644957 146.925688 -L 277.660622 146.9571 + <path clip-path="url(#p1f31122917)" d="M 222.115966 121.34078 +L 222.128498 121.364967 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.660622 146.9571 -L 277.661425 146.959897 + <path clip-path="url(#p1f31122917)" d="M 222.128498 121.364967 +L 222.12914 121.367121 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.661425 146.959897 -L 277.647019 146.932124 + <path clip-path="url(#p1f31122917)" d="M 222.12914 121.367121 +L 222.117615 121.345735 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.647019 146.932124 -L 277.633016 146.90401 + <path clip-path="url(#p1f31122917)" d="M 222.117615 121.345735 +L 222.106413 121.324088 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.633016 146.90401 -L 277.631731 146.900355 + <path clip-path="url(#p1f31122917)" d="M 222.106413 121.324088 +L 222.105385 121.321273 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.631731 146.900355 -L 277.64429 146.924421 + <path clip-path="url(#p1f31122917)" d="M 222.105385 121.321273 +L 222.115432 121.339804 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.64429 146.924421 -L 277.659446 146.954757 + <path clip-path="url(#p1f31122917)" d="M 222.115432 121.339804 +L 222.127557 121.363163 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.659446 146.954757 -L 277.660971 146.958914 + <path clip-path="url(#p1f31122917)" d="M 222.127557 121.363163 +L 222.128777 121.366363 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.660971 146.958914 -L 277.647633 146.933259 + <path clip-path="url(#p1f31122917)" d="M 222.128777 121.366363 +L 222.118106 121.346609 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.647633 146.933259 -L 277.633953 146.905849 + <path clip-path="url(#p1f31122917)" d="M 222.118106 121.346609 +L 222.107162 121.325503 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.633953 146.905849 -L 277.632122 146.901175 + <path clip-path="url(#p1f31122917)" d="M 222.107162 121.325503 +L 222.105698 121.321905 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.632122 146.901175 -L 277.643698 146.923302 + <path clip-path="url(#p1f31122917)" d="M 222.105698 121.321905 +L 222.114959 121.338942 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.643698 146.923302 -L 277.658338 146.952552 + <path clip-path="url(#p1f31122917)" d="M 222.114959 121.338942 +L 222.126671 121.361465 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.658338 146.952552 -L 277.660501 146.957905 + <path clip-path="url(#p1f31122917)" d="M 222.126671 121.361465 +L 222.128401 121.365587 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.660501 146.957905 -L 277.648182 146.93427 + <path clip-path="url(#p1f31122917)" d="M 222.128401 121.365587 +L 222.118546 121.347388 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.648182 146.93427 -L 277.634848 146.907602 + <path clip-path="url(#p1f31122917)" d="M 222.118546 121.347388 +L 222.107878 121.326853 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.634848 146.907602 -L 277.632527 146.902019 + <path clip-path="url(#p1f31122917)" d="M 222.107878 121.326853 +L 222.106022 121.322554 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.632527 146.902019 -L 277.643175 146.922316 + <path clip-path="url(#p1f31122917)" d="M 222.106022 121.322554 +L 222.11454 121.338184 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.643175 146.922316 -L 277.657294 146.950479 + <path clip-path="url(#p1f31122917)" d="M 222.11454 121.338184 +L 222.125835 121.359869 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.657294 146.950479 -L 277.660018 146.956879 + <path clip-path="url(#p1f31122917)" d="M 222.125835 121.359869 +L 222.128014 121.364797 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.660018 146.956879 -L 277.648671 146.935166 + <path clip-path="url(#p1f31122917)" d="M 222.128014 121.364797 +L 222.118937 121.348078 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.648671 146.935166 -L 277.635701 146.909272 + <path clip-path="url(#p1f31122917)" d="M 222.118937 121.348078 +L 222.108561 121.32814 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.635701 146.909272 -L 277.632942 146.902879 + <path clip-path="url(#p1f31122917)" d="M 222.108561 121.32814 +L 222.106353 121.323217 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.632942 146.902879 -L 277.642714 146.921453 + <path clip-path="url(#p1f31122917)" d="M 222.106353 121.323217 +L 222.114171 121.337519 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.642714 146.921453 -L 277.65631 146.948529 + <path clip-path="url(#p1f31122917)" d="M 222.114171 121.337519 +L 222.125048 121.358367 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.65631 146.948529 -L 277.659526 146.955841 + <path clip-path="url(#p1f31122917)" d="M 222.125048 121.358367 +L 222.127621 121.363997 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.659526 146.955841 -L 277.649105 146.935955 + <path clip-path="url(#p1f31122917)" d="M 222.127621 121.363997 +L 222.119284 121.348685 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.649105 146.935955 -L 277.636515 146.910863 + <path clip-path="url(#p1f31122917)" d="M 222.119284 121.348685 +L 222.109212 121.329364 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.636515 146.910863 -L 277.633364 146.903752 + <path clip-path="url(#p1f31122917)" d="M 222.109212 121.329364 +L 222.106691 121.323889 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.633364 146.903752 -L 277.64231 146.920702 + <path clip-path="url(#p1f31122917)" d="M 222.106691 121.323889 +L 222.113848 121.33694 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.64231 146.920702 -L 277.655384 146.946696 + <path clip-path="url(#p1f31122917)" d="M 222.113848 121.33694 +L 222.124307 121.356956 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.655384 146.946696 -L 277.659027 146.954795 + <path clip-path="url(#p1f31122917)" d="M 222.124307 121.356956 +L 222.127222 121.363192 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.659027 146.954795 -L 277.649487 146.936645 + <path clip-path="url(#p1f31122917)" d="M 222.127222 121.363192 +L 222.11959 121.349216 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.649487 146.936645 -L 277.637289 146.912375 + <path clip-path="url(#p1f31122917)" d="M 222.11959 121.349216 +L 222.109831 121.330529 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.637289 146.912375 -L 277.633793 146.904633 + <path clip-path="url(#p1f31122917)" d="M 222.109831 121.330529 +L 222.107034 121.324567 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.633793 146.904633 -L 277.641958 146.920052 + <path clip-path="url(#p1f31122917)" d="M 222.107034 121.324567 +L 222.113566 121.33644 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.641958 146.920052 -L 277.654513 146.944974 + <path clip-path="url(#p1f31122917)" d="M 222.113566 121.33644 +L 222.12361 121.35563 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.654513 146.944974 -L 277.658526 146.953748 + <path clip-path="url(#p1f31122917)" d="M 222.12361 121.35563 +L 222.12682 121.362386 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.658526 146.953748 -L 277.649821 146.937242 + <path clip-path="url(#p1f31122917)" d="M 222.12682 121.362386 +L 222.119857 121.349676 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.649821 146.937242 -L 277.638025 146.913812 + <path clip-path="url(#p1f31122917)" d="M 222.119857 121.349676 +L 222.11042 121.331635 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.638025 146.913812 -L 277.634225 146.905519 + <path clip-path="url(#p1f31122917)" d="M 222.11042 121.331635 +L 222.10738 121.32525 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.634225 146.905519 -L 277.641654 146.919497 + <path clip-path="url(#p1f31122917)" d="M 222.10738 121.32525 +L 222.113323 121.336012 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.641654 146.919497 -L 277.653693 146.943358 + <path clip-path="url(#p1f31122917)" d="M 222.113323 121.336012 +L 222.122954 121.354386 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.653693 146.943358 -L 277.658022 146.952703 + <path clip-path="url(#p1f31122917)" d="M 222.122954 121.354386 +L 222.126418 121.361581 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.658022 146.952703 -L 277.65011 146.937753 + <path clip-path="url(#p1f31122917)" d="M 222.126418 121.361581 +L 222.120088 121.35007 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.65011 146.937753 -L 277.638725 146.915175 + <path clip-path="url(#p1f31122917)" d="M 222.120088 121.35007 +L 222.11098 121.332685 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.638725 146.915175 -L 277.634659 146.906406 + <path clip-path="url(#p1f31122917)" d="M 222.11098 121.332685 +L 222.107727 121.325933 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.634659 146.906406 -L 277.641394 146.919026 + <path clip-path="url(#p1f31122917)" d="M 222.107727 121.325933 +L 222.113115 121.33565 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.641394 146.919026 -L 277.652923 146.941842 + <path clip-path="url(#p1f31122917)" d="M 222.113115 121.33565 +L 222.122338 121.353218 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.652923 146.941842 -L 277.65752 146.951664 + <path clip-path="url(#p1f31122917)" d="M 222.122338 121.353218 +L 222.126016 121.360781 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.65752 146.951664 -L 277.650357 146.938184 + <path clip-path="url(#p1f31122917)" d="M 222.126016 121.360781 +L 222.120285 121.350402 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.650357 146.938184 -L 277.639389 146.916466 + <path clip-path="url(#p1f31122917)" d="M 222.120285 121.350402 +L 222.111511 121.333679 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.639389 146.916466 -L 277.635093 146.907292 + <path clip-path="url(#p1f31122917)" d="M 222.111511 121.333679 +L 222.108074 121.326614 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.635093 146.907292 -L 277.641174 146.918634 + <path clip-path="url(#p1f31122917)" d="M 222.108074 121.326614 +L 222.112939 121.335348 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.641174 146.918634 -L 277.6522 146.940421 + <path clip-path="url(#p1f31122917)" d="M 222.112939 121.335348 +L 222.12176 121.352124 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 277.6522 146.940421 -L 277.65702 146.950634 + <path clip-path="url(#p1f31122917)" d="M 222.12176 121.352124 +L 222.125616 121.359988 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 429.12 251.724011 -L 411.508021 245.056684 -" style="fill:none;stroke:#ff2800;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 411.508021 245.056684 -L 393.06342 237.492492 + <path clip-path="url(#p1f31122917)" d="M 329.206417 196.901647 +L 314.450736 191.077219 " style="fill:none;stroke:#ff4700;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 393.06342 237.492492 -L 375.144891 228.832393 + <path clip-path="url(#p1f31122917)" d="M 314.450736 191.077219 +L 300.115913 184.408943 " style="fill:none;stroke:#ff6400;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 429.12 231.939415 -L 411.508021 224.521925 -" style="fill:none;stroke:#ff2e00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 411.508021 224.521925 -L 393.367864 216.296574 + <path clip-path="url(#p1f31122917)" d="M 329.206417 181.089882 +L 314.694291 174.756362 " style="fill:none;stroke:#ff4d00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 393.367864 216.296574 -L 375.766541 207.04477 + <path clip-path="url(#p1f31122917)" d="M 314.694291 174.756362 +L 300.613233 167.632473 " style="fill:none;stroke:#ff6a00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 375.766541 207.04477 -L 358.841208 196.683396 + <path clip-path="url(#p1f31122917)" d="M 300.613233 167.632473 +L 287.072966 159.654215 " style="fill:none;stroke:#ff8300;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 358.841208 196.683396 -L 342.714522 185.19272 + <path clip-path="url(#p1f31122917)" d="M 287.072966 159.654215 +L 274.171617 150.806394 " style="fill:none;stroke:#ff9a00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 342.714522 185.19272 -L 327.433662 172.66386 + <path clip-path="url(#p1f31122917)" d="M 274.171617 150.806394 +L 261.94693 141.159172 " style="fill:none;stroke:#ffad00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 327.433662 172.66386 -L 312.829529 159.392278 + <path clip-path="url(#p1f31122917)" d="M 261.94693 141.159172 +L 250.263623 130.940054 " style="fill:none;stroke:#ffbd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 312.829529 159.392278 -L 312.829529 159.392278 + <path clip-path="url(#p1f31122917)" d="M 250.263623 130.940054 +L 250.263623 130.940054 " style="fill:none;stroke:#ffca00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 312.829529 159.392278 -L 301.336413 149.154674 + <path clip-path="url(#p1f31122917)" d="M 250.263623 130.940054 +L 241.069131 123.057099 " style="fill:none;stroke:#ffca00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 301.336413 149.154674 -L 301.336413 149.154674 + <path clip-path="url(#p1f31122917)" d="M 241.069131 123.057099 +L 241.069131 123.057099 " style="fill:none;stroke:#ffd400;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 301.336413 149.154674 -L 298.182525 146.594955 + <path clip-path="url(#p1f31122917)" d="M 241.069131 123.057099 +L 238.54602 121.086115 " style="fill:none;stroke:#ffd400;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 298.182525 146.594955 -L 298.182525 146.594955 + <path clip-path="url(#p1f31122917)" d="M 238.54602 121.086115 +L 238.54602 121.086115 " style="fill:none;stroke:#ffd600;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 298.182525 146.594955 -L 294.945362 144.389118 + <path clip-path="url(#p1f31122917)" d="M 238.54602 121.086115 +L 235.956289 119.387621 " style="fill:none;stroke:#ffd600;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 294.945362 144.389118 -L 294.945362 144.389118 + <path clip-path="url(#p1f31122917)" d="M 235.956289 119.387621 +L 235.956289 119.387621 " style="fill:none;stroke:#ffd800;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 429.12 211.685521 -L 411.508021 203.987166 -" style="fill:none;stroke:#ff3400;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 411.508021 203.987166 -L 393.456721 195.576961 + <path clip-path="url(#p1f31122917)" d="M 329.206417 165.278118 +L 314.765377 158.80226 " style="fill:none;stroke:#ff5300;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 393.456721 195.576961 -L 375.863287 186.304748 + <path clip-path="url(#p1f31122917)" d="M 314.765377 158.80226 +L 300.690629 151.662656 " style="fill:none;stroke:#ff7000;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 375.863287 186.304748 -L 358.786269 176.169258 + <path clip-path="url(#p1f31122917)" d="M 300.690629 151.662656 +L 287.029015 143.858328 " style="fill:none;stroke:#ff8900;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 358.786269 176.169258 -L 342.214912 165.272881 + <path clip-path="url(#p1f31122917)" d="M 287.029015 143.858328 +L 273.771929 135.468119 " style="fill:none;stroke:#ffa000;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 429.12 190.897542 -L 411.508021 183.452406 -" style="fill:none;stroke:#ff3a00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 411.508021 183.452406 -L 393.296331 175.366448 + <path clip-path="url(#p1f31122917)" d="M 329.206417 149.466353 +L 314.637065 143.240165 " style="fill:none;stroke:#ff5900;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 393.296331 175.366448 -L 375.380339 166.683365 + <path clip-path="url(#p1f31122917)" d="M 314.637065 143.240165 +L 300.304271 136.554191 " style="fill:none;stroke:#ff7600;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 429.12 169.49919 -L 411.508021 162.917647 -" style="fill:none;stroke:#ff4000;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 411.508021 162.917647 -L 392.876646 155.777039 + <path clip-path="url(#p1f31122917)" d="M 329.206417 133.654588 +L 314.301317 128.15632 " style="fill:none;stroke:#ff5f00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 392.876646 155.777039 -L 374.32122 148.452522 + <path clip-path="url(#p1f31122917)" d="M 314.301317 128.15632 +L 299.456976 122.516442 " style="fill:none;stroke:#ff7d00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 374.32122 148.452522 -L 355.688109 141.319477 + <path clip-path="url(#p1f31122917)" d="M 299.456976 122.516442 +L 284.550487 117.023997 " style="fill:none;stroke:#ff9700;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 355.688109 141.319477 -L 355.688109 141.319477 + <path clip-path="url(#p1f31122917)" d="M 284.550487 117.023997 +L 284.550487 117.023997 " style="fill:none;stroke:#ffad00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 355.688109 141.319477 -L 339.767175 136.102463 + <path clip-path="url(#p1f31122917)" d="M 284.550487 117.023997 +L 271.81374 113.006897 " style="fill:none;stroke:#ffad00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 339.767175 136.102463 -L 339.767175 136.102463 + <path clip-path="url(#p1f31122917)" d="M 271.81374 113.006897 +L 271.81374 113.006897 " style="fill:none;stroke:#ffbe00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 339.767175 136.102463 -L 329.862422 133.679869 + <path clip-path="url(#p1f31122917)" d="M 271.81374 113.006897 +L 263.889938 111.141499 " style="fill:none;stroke:#ffbe00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 329.862422 133.679869 -L 329.862422 133.679869 + <path clip-path="url(#p1f31122917)" d="M 263.889938 111.141499 +L 263.889938 111.141499 " style="fill:none;stroke:#ffc600;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 329.862422 133.679869 -L 321.393527 132.546999 + <path clip-path="url(#p1f31122917)" d="M 263.889938 111.141499 +L 257.114822 110.269189 " style="fill:none;stroke:#ffc600;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 321.393527 132.546999 -L 321.393527 132.546999 + <path clip-path="url(#p1f31122917)" d="M 257.114822 110.269189 +L 257.114822 110.269189 " style="fill:none;stroke:#ffcd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 429.12 147.397663 -L 411.508021 142.382888 -" style="fill:none;stroke:#ff4700;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 411.508021 142.382888 -L 392.252711 137.011853 + <path clip-path="url(#p1f31122917)" d="M 329.206417 117.842824 +L 313.802168 113.707127 " style="fill:none;stroke:#ff6500;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 392.252711 137.011853 -L 372.876746 132.081477 + <path clip-path="url(#p1f31122917)" d="M 313.802168 113.707127 +L 298.301397 109.910737 " style="fill:none;stroke:#ff8300;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 372.876746 132.081477 -L 353.242323 128.331996 + <path clip-path="url(#p1f31122917)" d="M 298.301397 109.910737 +L 282.593859 107.023637 " style="fill:none;stroke:#ff9d00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 353.242323 128.331996 -L 353.242323 128.331996 + <path clip-path="url(#p1f31122917)" d="M 282.593859 107.023637 +L 282.593859 107.023637 " style="fill:none;stroke:#ffb300;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 353.242323 128.331996 -L 341.328498 127.028888 + <path clip-path="url(#p1f31122917)" d="M 282.593859 107.023637 +L 273.062798 106.020244 " style="fill:none;stroke:#ffb300;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 341.328498 127.028888 -L 341.328498 127.028888 + <path clip-path="url(#p1f31122917)" d="M 273.062798 106.020244 +L 273.062798 106.020244 " style="fill:none;stroke:#ffbf00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 341.328498 127.028888 -L 331.159539 126.929175 + <path clip-path="url(#p1f31122917)" d="M 273.062798 106.020244 +L 264.927631 105.943465 " style="fill:none;stroke:#ffbf00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 331.159539 126.929175 -L 331.159539 126.929175 + <path clip-path="url(#p1f31122917)" d="M 264.927631 105.943465 +L 264.927631 105.943465 " style="fill:none;stroke:#ffc700;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 331.159539 126.929175 -L 322.262508 127.876484 + <path clip-path="url(#p1f31122917)" d="M 264.927631 105.943465 +L 257.810006 106.672893 " style="fill:none;stroke:#ffc700;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 322.262508 127.876484 -L 313.344329 130.090707 + <path clip-path="url(#p1f31122917)" d="M 257.810006 106.672893 +L 250.675463 108.377844 " style="fill:none;stroke:#ffce00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 429.12 124.480344 -L 411.508021 121.848128 -" style="fill:none;stroke:#ff4e00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 411.508021 121.848128 -L 391.644544 119.337318 -" style="fill:none;stroke:#ff6b00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 429.12 100.60921 -L 411.508021 101.313369 -" style="fill:none;stroke:#ff5500;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 411.508021 101.313369 -L 391.547914 102.840691 + <path clip-path="url(#p1f31122917)" d="M 329.206417 86.219294 +L 313.238331 87.395332 " style="fill:none;stroke:#ff7100;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 391.547914 102.840691 -L 371.793881 105.893468 + <path clip-path="url(#p1f31122917)" d="M 313.238331 87.395332 +L 297.435105 89.745971 " style="fill:none;stroke:#ff8e00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 371.793881 105.893468 -L 355.163975 109.944129 + <path clip-path="url(#p1f31122917)" d="M 297.435105 89.745971 +L 284.13118 92.864979 " style="fill:none;stroke:#ffa600;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 429.12 75.613241 -L 411.508021 80.77861 -" style="fill:none;stroke:#ff5c00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 411.508021 80.77861 -L 392.558586 87.033309 -" style="fill:none;stroke:#ff7800;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 406.913616 43.2 -L 404.063184 46.162722 -" style="fill:none;stroke:#ff8a00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 404.063184 46.162722 -L 390.28877 60.24385 -" style="fill:none;stroke:#ff8d00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 390.28877 60.24385 -L 376.190013 74.012217 -" style="fill:none;stroke:#ff9c00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 376.190013 74.012217 -L 361.711724 87.393728 -" style="fill:none;stroke:#ffaa00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 351.497204 43.2 -L 347.850267 60.24385 -" style="fill:none;stroke:#ffce00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 347.850267 60.24385 -L 347.850267 60.24385 + <path clip-path="url(#p1f31122917)" d="M 343.296 46.333156 +L 342.767098 46.635462 +" style="fill:none;stroke:#ff6400;stroke-width:2;"/> + <path clip-path="url(#p1f31122917)" d="M 342.767098 46.635462 +L 329.206417 54.595765 +" style="fill:none;stroke:#ff6500;stroke-width:2;"/> + <path clip-path="url(#p1f31122917)" d="M 329.206417 54.595765 +L 315.831468 62.820802 +" style="fill:none;stroke:#ff7e00;stroke-width:2;"/> + <path clip-path="url(#p1f31122917)" d="M 315.831468 62.820802 +L 302.615682 71.266714 +" style="fill:none;stroke:#ff9300;stroke-width:2;"/> + <path clip-path="url(#p1f31122917)" d="M 278.280214 54.595765 +L 278.280214 54.595765 " style="fill:none;stroke:#ffcd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 347.850267 60.24385 -L 344.052084 74.582001 + <path clip-path="url(#p1f31122917)" d="M 278.280214 54.595765 +L 275.241667 65.63614 " style="fill:none;stroke:#ffcd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 344.052084 74.582001 -L 338.549082 89.082604 + <path clip-path="url(#p1f31122917)" d="M 275.241667 65.63614 +L 270.839266 76.801605 " style="fill:none;stroke:#ffcc00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 338.549082 89.082604 -L 332.428542 100.865976 + <path clip-path="url(#p1f31122917)" d="M 270.839266 76.801605 +L 265.942833 85.874802 " style="fill:none;stroke:#ffcd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 332.428542 100.865976 -L 325.844226 110.53473 + <path clip-path="url(#p1f31122917)" d="M 265.942833 85.874802 +L 260.675381 93.319742 " style="fill:none;stroke:#ffce00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 326.387064 43.2 -L 326.631016 60.24385 -" style="fill:none;stroke:#ffe400;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 326.631016 60.24385 -L 325.93244 79.59857 -" style="fill:none;stroke:#ffdf00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 325.93244 79.59857 -L 325.93244 79.59857 -" style="fill:none;stroke:#ffd900;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 302.621638 43.2 -L 305.411765 60.24385 -" style="fill:none;stroke:#fff200;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 305.411765 60.24385 -L 308.128648 79.452921 + <path clip-path="url(#p1f31122917)" d="M 244.329412 54.595765 +L 246.502918 69.386749 " style="fill:none;stroke:#ffec00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 308.128648 79.452921 -L 309.413967 98.775473 + <path clip-path="url(#p1f31122917)" d="M 246.502918 69.386749 +L 247.531174 84.265114 " style="fill:none;stroke:#ffe500;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 309.413967 98.775473 -L 309.413967 98.775473 + <path clip-path="url(#p1f31122917)" d="M 247.531174 84.265114 +L 247.531174 84.265114 " style="fill:none;stroke:#ffde00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 309.413967 98.775473 -L 309.114904 108.723982 + <path clip-path="url(#p1f31122917)" d="M 247.531174 84.265114 +L 247.291923 91.925466 " style="fill:none;stroke:#ffde00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 309.114904 108.723982 -L 309.114904 108.723982 + <path clip-path="url(#p1f31122917)" d="M 247.291923 91.925466 +L 247.291923 91.925466 " style="fill:none;stroke:#ffdc00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 279.950695 43.2 -L 284.192513 60.24385 -" style="fill:none;stroke:#fffb00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 284.192513 60.24385 -L 288.877978 79.10008 + <path clip-path="url(#p1f31122917)" d="M 227.354011 54.595765 +L 231.102382 69.115062 " style="fill:none;stroke:#fff500;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 288.877978 79.10008 -L 293.299975 98.013108 + <path clip-path="url(#p1f31122917)" d="M 231.102382 69.115062 +L 234.63998 83.678093 " style="fill:none;stroke:#ffee00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 293.299975 98.013108 -L 293.299975 98.013108 + <path clip-path="url(#p1f31122917)" d="M 234.63998 83.678093 +L 234.63998 83.678093 " style="fill:none;stroke:#ffe600;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 258.182463 43.2 -L 262.973262 60.24385 -" style="fill:none;stroke:#ffff00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 262.973262 60.24385 -L 268.443936 78.899935 -" style="fill:none;stroke:#fffa00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 237.168679 43.2 -L 241.754011 60.24385 -" style="fill:none;stroke:#ffff00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 241.754011 60.24385 -L 247.078104 78.938763 + <path clip-path="url(#p1f31122917)" d="M 193.403209 54.595765 +L 197.662483 68.990847 " style="fill:none;stroke:#fffa00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 247.078104 78.938763 -L 253.022628 97.456537 + <path clip-path="url(#p1f31122917)" d="M 197.662483 68.990847 +L 202.418102 83.249533 " style="fill:none;stroke:#fff500;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 253.022628 97.456537 -L 259.742536 115.722138 + <path clip-path="url(#p1f31122917)" d="M 202.418102 83.249533 +L 207.794029 97.314046 " style="fill:none;stroke:#ffef00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 216.790977 43.2 -L 220.534759 60.24385 + <path clip-path="url(#p1f31122917)" d="M 201.807716 41.472 +L 201.848086 41.621802 +" style="fill:none;stroke:#ffff00;stroke-width:2;"/> + <path clip-path="url(#p1f31122917)" d="M 201.848086 41.621802 +L 205.926444 56.062863 +" style="fill:none;stroke:#ffff00;stroke-width:2;"/> + <path clip-path="url(#p1f31122917)" d="M 205.926444 56.062863 +L 210.37861 70.407529 " style="fill:none;stroke:#fffa00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 220.534759 60.24385 -L 224.897038 79.171518 -" style="fill:none;stroke:#fff600;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 139.981144 43.2 -L 135.657754 60.24385 -" style="fill:none;stroke:#ffc500;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 135.657754 60.24385 -L 135.657754 60.24385 -" style="fill:none;stroke:#ffbb00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 135.657754 60.24385 -L 131.368004 74.099724 -" style="fill:none;stroke:#ffbb00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 131.368004 74.099724 -L 125.262161 87.579658 -" style="fill:none;stroke:#ffb200;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 135.772877 95.213687 -L 130.089244 104.79108 -" style="fill:none;stroke:#ffb100;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 130.089244 104.79108 -L 122.808527 113.904076 -" style="fill:none;stroke:#ffa700;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 122.808527 113.904076 -L 114.438503 121.848128 + <path clip-path="url(#p1f31122917)" d="M 115.713875 41.472 +L 114.192817 49.861053 +" style="fill:none;stroke:#ffc900;stroke-width:2;"/> + <path clip-path="url(#p1f31122917)" d="M 114.192817 49.861053 +L 111.899158 60.152651 +" style="fill:none;stroke:#ffc400;stroke-width:2;"/> + <path clip-path="url(#p1f31122917)" d="M 111.899158 60.152651 +L 108.526203 70.407529 +" style="fill:none;stroke:#ffbd00;stroke-width:2;"/> + <path clip-path="url(#p1f31122917)" d="M 108.526203 70.407529 +L 108.526203 70.407529 +" style="fill:none;stroke:#ffb500;stroke-width:2;"/> + <path clip-path="url(#p1f31122917)" d="M 108.526203 70.407529 +L 108.526203 70.407529 +" style="fill:none;stroke:#ffb500;stroke-width:2;"/> + <path clip-path="url(#p1f31122917)" d="M 108.526203 70.407529 +L 104.449421 79.066364 +" style="fill:none;stroke:#ffb500;stroke-width:2;"/> + <path clip-path="url(#p1f31122917)" d="M 98.246821 95.914139 +L 91.550802 102.031059 " style="fill:none;stroke:#ff9c00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 114.438503 121.848128 -L 114.438503 121.848128 + <path clip-path="url(#p1f31122917)" d="M 91.550802 102.031059 +L 91.550802 102.031059 " style="fill:none;stroke:#ff8f00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 114.438503 121.848128 -L 114.438503 121.848128 + <path clip-path="url(#p1f31122917)" d="M 91.550802 102.031059 +L 91.550802 102.031059 " style="fill:none;stroke:#ff8f00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 114.438503 121.848128 -L 103.967809 129.530086 + <path clip-path="url(#p1f31122917)" d="M 91.550802 102.031059 +L 83.174247 107.946166 " style="fill:none;stroke:#ff8f00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 103.967809 129.530086 -L 92.972742 135.926158 + <path clip-path="url(#p1f31122917)" d="M 83.174247 107.946166 +L 74.378194 112.871142 " style="fill:none;stroke:#ff7e00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 92.972742 135.926158 -L 79.94385 142.099376 + <path clip-path="url(#p1f31122917)" d="M 74.378194 112.871142 +L 63.95508 117.624519 " style="fill:none;stroke:#ff6c00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 79.94385 142.099376 -L 79.94385 142.099376 + <path clip-path="url(#p1f31122917)" d="M 63.95508 117.624519 +L 63.95508 117.624519 " style="fill:none;stroke:#ff5600;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 79.94385 142.099376 -L 74.308196 144.426405 + <path clip-path="url(#p1f31122917)" d="M 63.95508 117.624519 +L 59.446557 119.416332 " style="fill:none;stroke:#ff5600;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 74.308196 144.426405 -L 74.308196 144.426405 + <path clip-path="url(#p1f31122917)" d="M 59.446557 119.416332 +L 59.446557 119.416332 " style="fill:none;stroke:#ff4c00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 74.308196 144.426405 -L 74.308196 144.426405 + <path clip-path="url(#p1f31122917)" d="M 59.446557 119.416332 +L 59.446557 119.416332 " style="fill:none;stroke:#ff4c00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 369.069519 306.660963 -L 349.073324 305.426707 + <path clip-path="url(#p1f31122917)" d="M 295.255615 244.336941 +L 279.25866 243.386564 " style="fill:none;stroke:#ff6e00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 349.073324 305.426707 -L 329.046185 305.079395 + <path clip-path="url(#p1f31122917)" d="M 279.25866 243.386564 +L 263.236948 243.119134 " style="fill:none;stroke:#ff8300;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 329.046185 305.079395 -L 309.082685 306.415546 + <path clip-path="url(#p1f31122917)" d="M 263.236948 243.119134 +L 247.266148 244.147971 " style="fill:none;stroke:#ff9400;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 309.082685 306.415546 -L 309.082685 306.415546 + <path clip-path="url(#p1f31122917)" d="M 247.266148 244.147971 +L 247.266148 244.147971 " style="fill:none;stroke:#ffa100;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 309.082685 306.415546 -L 295.735057 308.926487 + <path clip-path="url(#p1f31122917)" d="M 247.266148 244.147971 +L 236.588045 246.081395 " style="fill:none;stroke:#ffa100;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 369.069519 265.591444 -L 350.645773 257.991776 + <path clip-path="url(#p1f31122917)" d="M 295.255615 212.713412 +L 280.516618 206.861667 " style="fill:none;stroke:#ff7a00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 350.645773 257.991776 -L 332.931152 248.965615 + <path clip-path="url(#p1f31122917)" d="M 280.516618 206.861667 +L 266.344922 199.911524 " style="fill:none;stroke:#ff9000;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 332.931152 248.965615 -L 317.188417 238.92341 + <path clip-path="url(#p1f31122917)" d="M 266.344922 199.911524 +L 253.750733 192.179026 " style="fill:none;stroke:#ffa200;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 317.188417 238.92341 -L 303.950403 228.396622 + <path clip-path="url(#p1f31122917)" d="M 253.750733 192.179026 +L 243.160322 184.073399 " style="fill:none;stroke:#ffb000;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 303.950403 228.396622 -L 292.565171 217.247165 + <path clip-path="url(#p1f31122917)" d="M 243.160322 184.073399 +L 234.052136 175.488317 " style="fill:none;stroke:#ffbb00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 292.565171 217.247165 -L 282.528085 205.2699 + <path clip-path="url(#p1f31122917)" d="M 234.052136 175.488317 +L 226.022468 166.265823 " style="fill:none;stroke:#ffc300;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 282.528085 205.2699 -L 273.456759 192.150763 + <path clip-path="url(#p1f31122917)" d="M 226.022468 166.265823 +L 218.765407 156.164087 " style="fill:none;stroke:#ffcb00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 273.456759 192.150763 -L 265.244128 177.694297 + <path clip-path="url(#p1f31122917)" d="M 218.765407 156.164087 +L 212.195303 145.032609 " style="fill:none;stroke:#ffd100;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 265.244128 177.694297 -L 265.244128 177.694297 + <path clip-path="url(#p1f31122917)" d="M 212.195303 145.032609 +L 212.195303 145.032609 " style="fill:none;stroke:#ffd700;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 265.244128 177.694297 -L 259.559589 165.127814 + <path clip-path="url(#p1f31122917)" d="M 212.195303 145.032609 +L 207.647671 135.356416 " style="fill:none;stroke:#ffd700;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 259.559589 165.127814 -L 259.559589 165.127814 + <path clip-path="url(#p1f31122917)" d="M 207.647671 135.356416 +L 207.647671 135.356416 " style="fill:none;stroke:#ffdb00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 259.559589 165.127814 -L 258.414289 161.936477 + <path clip-path="url(#p1f31122917)" d="M 207.647671 135.356416 +L 206.731431 132.899087 " style="fill:none;stroke:#ffdb00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 258.414289 161.936477 -L 258.414289 161.936477 + <path clip-path="url(#p1f31122917)" d="M 206.731431 132.899087 +L 206.731431 132.899087 " style="fill:none;stroke:#ffdc00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 258.414289 161.936477 -L 257.696488 159.271837 + <path clip-path="url(#p1f31122917)" d="M 206.731431 132.899087 +L 206.157191 130.847314 " style="fill:none;stroke:#ffdc00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 257.696488 159.271837 -L 257.696488 159.271837 + <path clip-path="url(#p1f31122917)" d="M 206.157191 130.847314 +L 206.157191 130.847314 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 257.696488 159.271837 -L 257.585447 157.381962 + <path clip-path="url(#p1f31122917)" d="M 206.157191 130.847314 +L 206.068357 129.392111 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 257.585447 157.381962 -L 257.585447 157.381962 + <path clip-path="url(#p1f31122917)" d="M 206.068357 129.392111 +L 206.068357 129.392111 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 257.585447 157.381962 -L 258.057299 156.227084 + <path clip-path="url(#p1f31122917)" d="M 206.068357 129.392111 +L 206.445839 128.502855 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 258.057299 156.227084 -L 259.294043 155.325753 + <path clip-path="url(#p1f31122917)" d="M 206.445839 128.502855 +L 207.435234 127.80883 " style="fill:none;stroke:#ffde00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 259.294043 155.325753 -L 260.626872 154.551143 + <path clip-path="url(#p1f31122917)" d="M 207.435234 127.80883 +L 208.501498 127.21238 " style="fill:none;stroke:#ffde00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 260.626872 154.551143 -L 262.059354 153.813342 + <path clip-path="url(#p1f31122917)" d="M 208.501498 127.21238 +L 209.647484 126.644273 " style="fill:none;stroke:#ffde00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 262.059354 153.813342 -L 263.834469 153.002722 + <path clip-path="url(#p1f31122917)" d="M 209.647484 126.644273 +L 211.067576 126.020096 " style="fill:none;stroke:#ffde00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 263.834469 153.002722 -L 263.834469 153.002722 + <path clip-path="url(#p1f31122917)" d="M 211.067576 126.020096 +L 211.067576 126.020096 " style="fill:none;stroke:#ffde00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 199.315508 101.313369 -L 199.77302 120.681917 + <path clip-path="url(#p1f31122917)" d="M 159.452406 86.219294 +L 159.818416 101.133076 " style="fill:none;stroke:#ffe200;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 199.77302 120.681917 -L 199.77302 120.681917 + <path clip-path="url(#p1f31122917)" d="M 159.818416 101.133076 +L 159.818416 101.133076 " style="fill:none;stroke:#ffdc00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 199.77302 120.681917 -L 198.782632 131.984558 + <path clip-path="url(#p1f31122917)" d="M 159.818416 101.133076 +L 159.026105 109.83611 " style="fill:none;stroke:#ffdc00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 198.782632 131.984558 -L 198.782632 131.984558 + <path clip-path="url(#p1f31122917)" d="M 159.026105 109.83611 +L 159.026105 109.83611 " style="fill:none;stroke:#ffd800;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 198.782632 131.984558 -L 196.668465 140.881227 + <path clip-path="url(#p1f31122917)" d="M 159.026105 109.83611 +L 157.334772 116.686545 " style="fill:none;stroke:#ffd800;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 196.668465 140.881227 -L 196.668465 140.881227 + <path clip-path="url(#p1f31122917)" d="M 157.334772 116.686545 +L 157.334772 116.686545 " style="fill:none;stroke:#ffd500;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 196.668465 140.881227 -L 193.46429 148.10154 + <path clip-path="url(#p1f31122917)" d="M 157.334772 116.686545 +L 154.771432 122.246186 " style="fill:none;stroke:#ffd500;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 347.850267 203.987166 -L 332.360657 191.711811 + <path clip-path="url(#p1f31122917)" d="M 278.280214 165.278118 +L 265.888525 155.826094 " style="fill:none;stroke:#ffa200;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 332.360657 191.711811 -L 318.788093 179.043714 + <path clip-path="url(#p1f31122917)" d="M 265.888525 155.826094 +L 255.030474 146.07166 " style="fill:none;stroke:#ffb300;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 235.778172 103.341549 -L 241.754011 121.848128 + <path clip-path="url(#p1f31122917)" d="M 176.537375 41.472 +L 177.168832 44.284341 +" style="fill:none;stroke:#fffb00;stroke-width:2;"/> + <path clip-path="url(#p1f31122917)" d="M 177.168832 44.284341 +L 180.60673 58.869311 +" style="fill:none;stroke:#fffa00;stroke-width:2;"/> + <path clip-path="url(#p1f31122917)" d="M 180.60673 58.869311 +L 184.397907 73.377707 +" style="fill:none;stroke:#fff600;stroke-width:2;"/> + <path clip-path="url(#p1f31122917)" d="M 184.397907 73.377707 +L 188.622538 87.780993 +" style="fill:none;stroke:#fff100;stroke-width:2;"/> + <path clip-path="url(#p1f31122917)" d="M 188.622538 87.780993 +L 193.403209 102.031059 " style="fill:none;stroke:#ffed00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 241.754011 121.848128 -L 248.718011 140.022763 + <path clip-path="url(#p1f31122917)" d="M 193.403209 102.031059 +L 198.974409 116.025528 " style="fill:none;stroke:#ffe800;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 248.718011 140.022763 -L 248.718011 140.022763 + <path clip-path="url(#p1f31122917)" d="M 198.974409 116.025528 +L 198.974409 116.025528 " style="fill:none;stroke:#ffe300;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 248.718011 140.022763 -L 250.33071 143.694751 + <path clip-path="url(#p1f31122917)" d="M 198.974409 116.025528 +L 200.264568 118.852958 " style="fill:none;stroke:#ffe300;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 250.33071 143.694751 -L 250.33071 143.694751 + <path clip-path="url(#p1f31122917)" d="M 200.264568 118.852958 +L 200.264568 118.852958 " style="fill:none;stroke:#ffe200;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 250.33071 143.694751 -L 251.860439 146.937935 + <path clip-path="url(#p1f31122917)" d="M 200.264568 118.852958 +L 201.488351 121.35021 " style="fill:none;stroke:#ffe200;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 251.860439 146.937935 -L 251.860439 146.937935 + <path clip-path="url(#p1f31122917)" d="M 201.488351 121.35021 +L 201.488351 121.35021 " style="fill:none;stroke:#ffe100;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 326.631016 203.987166 -L 312.624149 190.153822 + <path clip-path="url(#p1f31122917)" d="M 261.304813 165.278118 +L 250.099319 154.626443 " style="fill:none;stroke:#ffb400;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 312.624149 190.153822 -L 301.556818 177.06167 + <path clip-path="url(#p1f31122917)" d="M 250.099319 154.626443 +L 241.245454 144.545486 " style="fill:none;stroke:#ffc100;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 249.239629 169.409641 -L 246.913495 166.00538 + <path clip-path="url(#p1f31122917)" d="M 199.391704 138.653423 +L 197.530796 136.032143 " style="fill:none;stroke:#ffda00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 246.913495 166.00538 -L 244.703476 163.799775 + <path clip-path="url(#p1f31122917)" d="M 197.530796 136.032143 +L 195.762781 134.333826 " style="fill:none;stroke:#ffdb00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 244.703476 163.799775 -L 241.754011 162.917647 + <path clip-path="url(#p1f31122917)" d="M 195.762781 134.333826 +L 193.403209 133.654588 " style="fill:none;stroke:#ffdc00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 241.754011 162.917647 -L 241.754011 162.917647 + <path clip-path="url(#p1f31122917)" d="M 193.403209 133.654588 +L 193.403209 133.654588 " style="fill:none;stroke:#ffdc00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 241.754011 162.917647 -L 241.754011 162.917647 + <path clip-path="url(#p1f31122917)" d="M 193.403209 133.654588 +L 193.403209 133.654588 " style="fill:none;stroke:#ffdc00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 241.754011 162.917647 -L 241.754011 162.917647 + <path clip-path="url(#p1f31122917)" d="M 193.403209 133.654588 +L 193.403209 133.654588 " style="fill:none;stroke:#ffdc00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 241.754011 162.917647 -L 241.754011 162.917647 + <path clip-path="url(#p1f31122917)" d="M 193.403209 133.654588 +L 193.403209 133.654588 " style="fill:none;stroke:#ffdc00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 241.754011 162.917647 -L 238.201813 163.727634 + <path clip-path="url(#p1f31122917)" d="M 193.403209 133.654588 +L 190.56145 134.278278 " style="fill:none;stroke:#ffdc00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 238.201813 163.727634 -L 234.82402 164.712177 + <path clip-path="url(#p1f31122917)" d="M 190.56145 134.278278 +L 187.859216 135.036377 " style="fill:none;stroke:#ffdb00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 234.82402 164.712177 -L 228.337549 166.888026 + <path clip-path="url(#p1f31122917)" d="M 187.859216 135.036377 +L 182.670039 136.71178 " style="fill:none;stroke:#ffda00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 228.337549 166.888026 -L 214.082294 171.628111 + <path clip-path="url(#p1f31122917)" d="M 182.670039 136.71178 +L 171.265835 140.361645 " style="fill:none;stroke:#ffd800;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 214.082294 171.628111 -L 195.053773 177.594112 + <path clip-path="url(#p1f31122917)" d="M 171.265835 140.361645 +L 156.043018 144.955466 " style="fill:none;stroke:#ffd300;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 265.546754 213.055051 -L 254.104945 198.697503 + <path clip-path="url(#p1f31122917)" d="M 212.437403 172.260389 +L 203.283956 161.205077 " style="fill:none;stroke:#ffcc00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 254.104945 198.697503 -L 241.754011 183.452406 + <path clip-path="url(#p1f31122917)" d="M 203.283956 161.205077 +L 193.403209 149.466353 " style="fill:none;stroke:#ffd100;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 241.754011 183.452406 -L 241.754011 183.452406 + <path clip-path="url(#p1f31122917)" d="M 193.403209 149.466353 +L 193.403209 149.466353 " style="fill:none;stroke:#ffd600;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 241.754011 183.452406 -L 237.782806 179.434627 + <path clip-path="url(#p1f31122917)" d="M 193.403209 149.466353 +L 190.226245 146.372663 " style="fill:none;stroke:#ffd600;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 237.782806 179.434627 -L 237.782806 179.434627 + <path clip-path="url(#p1f31122917)" d="M 190.226245 146.372663 +L 190.226245 146.372663 " style="fill:none;stroke:#ffd600;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 237.782806 179.434627 -L 233.109158 176.090245 + <path clip-path="url(#p1f31122917)" d="M 190.226245 146.372663 +L 186.487327 143.797489 " style="fill:none;stroke:#ffd600;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 233.109158 176.090245 -L 233.109158 176.090245 + <path clip-path="url(#p1f31122917)" d="M 186.487327 143.797489 +L 186.487327 143.797489 " style="fill:none;stroke:#ffd700;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 233.109158 176.090245 -L 228.401206 174.313684 + <path clip-path="url(#p1f31122917)" d="M 186.487327 143.797489 +L 182.720965 142.429537 " style="fill:none;stroke:#ffd700;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 228.401206 174.313684 -L 223.312175 173.774846 + <path clip-path="url(#p1f31122917)" d="M 182.720965 142.429537 +L 178.64974 142.014631 " style="fill:none;stroke:#ffd600;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 223.312175 173.774846 -L 217.839258 174.167186 + <path clip-path="url(#p1f31122917)" d="M 178.64974 142.014631 +L 174.271407 142.316733 " style="fill:none;stroke:#ffd500;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 217.839258 174.167186 -L 210.717935 175.445431 + <path clip-path="url(#p1f31122917)" d="M 174.271407 142.316733 +L 168.574348 143.300982 " style="fill:none;stroke:#ffd400;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 262.973262 224.521925 -L 248.981142 210.641175 + <path clip-path="url(#p1f31122917)" d="M 210.37861 181.089882 +L 199.184914 170.401705 " style="fill:none;stroke:#ffc900;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 248.981142 210.641175 -L 234.527559 197.251653 + <path clip-path="url(#p1f31122917)" d="M 199.184914 170.401705 +L 187.622047 160.091773 " style="fill:none;stroke:#ffce00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 234.527559 197.251653 -L 234.527559 197.251653 + <path clip-path="url(#p1f31122917)" d="M 187.622047 160.091773 +L 187.622047 160.091773 " style="fill:none;stroke:#ffd100;stroke-width:2;"/> </g> <g id="patch_3"> - <path clip-path="url(#p553f52e075)" d="M 237.734427 280.544404 -Q 236.312771 280.897344 237.061306 280.711513 -" style="fill:none;stroke:#ffb900;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 241.425352 281.688808 -L 237.061306 280.711513 -L 240.46157 277.806653 -L 241.425352 281.688808 + <path clip-path="url(#p1f31122917)" d="M 179.103318 227.103852 +Q 178.445793 227.340595 179.892122 226.819842 +" style="fill:none;stroke:#ffb500;stroke-linecap:round;stroke-width:2;"/> + <path clip-path="url(#p1f31122917)" d="M 184.333135 227.346535 +L 179.892122 226.819842 +L 182.978084 223.583047 +L 184.333135 227.346535 z -" style="fill:#ffb900;stroke:#ffb900;stroke-linecap:round;stroke-width:2;"/> +" style="fill:#ffb500;stroke:#ffb500;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_4"> - <path clip-path="url(#p553f52e075)" d="M 106.217884 376.737101 -Q 104.068088 378.732139 103.557326 379.206134 + <path clip-path="url(#p1f31122917)" d="M 84.652255 298.583229 +Q 83.251535 299.834369 83.518489 299.595923 " style="fill:none;stroke:#ff3b00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 107.849778 377.951204 -L 103.557326 379.206134 -L 105.128853 375.019214 -L 107.849778 377.951204 + <path clip-path="url(#p1f31122917)" d="M 87.83404 298.422882 +L 83.518489 299.595923 +L 85.169387 295.439658 +L 87.83404 298.422882 z " style="fill:#ff3b00;stroke:#ff3b00;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_5"> - <path clip-path="url(#p553f52e075)" d="M 168.835704 334.570464 -Q 166.680845 336.559777 166.168976 337.032322 + <path clip-path="url(#p1f31122917)" d="M 134.751415 266.109061 +Q 133.345548 267.358253 133.611216 267.122193 " style="fill:none;stroke:#ff8b00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 170.464684 335.78858 -L 166.168976 337.032322 -L 167.751407 332.84951 -L 170.464684 335.78858 + <path clip-path="url(#p1f31122917)" d="M 137.929796 265.960358 +L 133.611216 267.122193 +L 135.272896 262.970227 +L 137.929796 265.960358 z " style="fill:#ff8b00;stroke:#ff8b00;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_6"> - <path clip-path="url(#p553f52e075)" d="M 159.734361 360.30807 -Q 157.822943 362.508696 157.377837 363.021148 + <path clip-path="url(#p1f31122917)" d="M 127.495383 285.968905 +Q 126.257558 287.340579 126.517801 287.052195 " style="fill:none;stroke:#ff7b00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 161.510805 361.312762 -L 157.377837 363.021148 -L 158.490909 358.689743 -L 161.510805 361.312762 + <path clip-path="url(#p1f31122917)" d="M 130.682428 285.422508 +L 126.517801 287.052195 +L 127.712828 282.742681 +L 130.682428 285.422508 z " style="fill:#ff7b00;stroke:#ff7b00;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_7"> - <path clip-path="url(#p553f52e075)" d="M 224.334252 328.129997 -Q 222.336653 330.253415 221.871204 330.748179 + <path clip-path="url(#p1f31122917)" d="M 179.167389 261.175048 +Q 177.870096 262.502338 178.135768 262.230523 " style="fill:none;stroke:#ffa900;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 226.068712 329.205153 -L 221.871204 330.748179 -L 223.155288 326.464358 -L 226.068712 329.205153 + <path clip-path="url(#p1f31122917)" d="M 182.361969 260.767915 +L 178.135768 262.230523 +L 179.501401 257.971997 +L 182.361969 260.767915 z " style="fill:#ffa900;stroke:#ffa900;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_8"> - <path clip-path="url(#p553f52e075)" d="M 249.202883 344.478034 -Q 248.002422 346.011068 248.180563 345.783576 + <path clip-path="url(#p1f31122917)" d="M 199.088493 273.792644 +Q 198.4031 274.635094 199.128873 273.743011 " style="fill:none;stroke:#ffa700;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 252.221345 343.867307 -L 248.180563 345.783576 -L 249.072017 341.401189 -L 252.221345 343.867307 + <path clip-path="url(#p1f31122917)" d="M 203.204659 271.902366 +L 199.128873 273.743011 +L 200.101829 269.377995 +L 203.204659 271.902366 z " style="fill:#ffa700;stroke:#ffa700;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_9"> - <path clip-path="url(#p553f52e075)" d="M 261.197084 357.257473 -Q 259.564883 359.641652 259.195838 360.18072 + <path clip-path="url(#p1f31122917)" d="M 208.702952 283.654368 +Q 207.651036 285.133295 207.895168 284.790062 " style="fill:none;stroke:#ffa200;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 263.10576 358.009888 -L 259.195838 360.18072 -L 259.805126 355.750284 -L 263.10576 358.009888 + <path clip-path="url(#p1f31122917)" d="M 211.843395 282.689704 +L 207.895168 284.790062 +L 208.583818 280.371266 +L 211.843395 282.689704 z " style="fill:#ffa200;stroke:#ffa200;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_10"> - <path clip-path="url(#p553f52e075)" d="M 332.573357 327.351831 -Q 331.678576 327.626996 332.921083 327.244897 + <path clip-path="url(#p1f31122917)" d="M 265.67067 260.383758 +Q 265.342684 260.480839 267.158815 259.943282 " style="fill:none;stroke:#ff8a00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 337.332257 327.980798 -L 332.921083 327.244897 -L 336.156508 324.157499 -L 337.332257 327.980798 + <path clip-path="url(#p1f31122917)" d="M 271.561964 260.725765 +L 267.158815 259.943282 +L 270.42669 256.890253 +L 271.561964 260.725765 z " style="fill:#ff8a00;stroke:#ff8a00;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_11"> - <path clip-path="url(#p553f52e075)" d="M 366.944581 345.218306 -Q 365.798392 345.583637 366.78267 345.269913 + <path clip-path="url(#p1f31122917)" d="M 293.167031 274.145322 +Q 292.637569 274.307751 294.245841 273.814362 " style="fill:none;stroke:#ff6300;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 371.201127 345.960732 -L 366.78267 345.269913 -L 369.986399 342.149638 -L 371.201127 345.960732 + <path clip-path="url(#p1f31122917)" d="M 298.656516 274.553245 +L 294.245841 273.814362 +L 297.483352 270.729152 +L 298.656516 274.553245 z " style="fill:#ff6300;stroke:#ff6300;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_12"> - <path clip-path="url(#p553f52e075)" d="M 344.709322 372.128661 -Q 343.649221 372.987541 344.326529 372.438795 + <path clip-path="url(#p1f31122917)" d="M 275.432521 295.008254 +Q 274.920127 295.407822 276.171044 294.43235 " style="fill:none;stroke:#ff7200;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 348.693519 371.474741 -L 344.326529 372.438795 -L 346.17548 368.366771 -L 348.693519 371.474741 + <path clip-path="url(#p1f31122917)" d="M 280.555223 293.549757 +L 276.171044 294.43235 +L 278.095477 290.395451 +L 280.555223 293.549757 z " style="fill:#ff7200;stroke:#ff7200;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_13"> - <path clip-path="url(#p553f52e075)" d="M 403.270589 371.325084 -Q 401.903499 371.851084 402.623332 371.574122 + <path clip-path="url(#p1f31122917)" d="M 322.232778 294.270408 +Q 321.52343 294.533101 322.910979 294.01925 " style="fill:none;stroke:#ff2b00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 407.074727 372.004342 -L 402.623332 371.574122 -L 405.638345 368.271138 -L 407.074727 372.004342 + <path clip-path="url(#p1f31122917)" d="M 327.356586 294.505647 +L 322.910979 294.01925 +L 325.967461 290.754603 +L 327.356586 294.505647 z " style="fill:#ff2b00;stroke:#ff2b00;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_14"> - <path clip-path="url(#p553f52e075)" d="M 87.661932 62.167397 -Q 86.890257 63.212 87.447209 62.458063 + <path clip-path="url(#p1f31122917)" d="M 69.863289 56.423807 +Q 69.514082 56.878795 70.526309 55.559945 " style="fill:none;stroke:#ff7c00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 91.432595 60.429098 -L 87.447209 62.458063 -L 88.215269 58.052376 -L 91.432595 60.429098 + <path clip-path="url(#p1f31122917)" d="M 74.548284 53.604511 +L 70.526309 55.559945 +L 71.375147 51.169105 +L 74.548284 53.604511 z " style="fill:#ff7c00;stroke:#ff7c00;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_15"> - <path clip-path="url(#p553f52e075)" d="M 98.508855 74.419041 -Q 97.790039 75.373774 98.416174 74.542141 + <path clip-path="url(#p1f31122917)" d="M 78.541096 65.850699 +Q 78.233332 66.244143 79.303264 64.87635 " style="fill:none;stroke:#ff8900;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 102.419873 72.549554 -L 98.416174 74.542141 -L 99.224324 70.14363 -L 102.419873 72.549554 + <path clip-path="url(#p1f31122917)" d="M 83.343059 62.958004 +L 79.303264 64.87635 +L 80.192464 60.493506 +L 83.343059 62.958004 z " style="fill:#ff8900;stroke:#ff8900;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_16"> - <path clip-path="url(#p553f52e075)" d="M 104.526276 96.801731 -Q 103.595519 97.75165 104.229709 97.104403 + <path clip-path="url(#p1f31122917)" d="M 83.311775 83.049109 +Q 82.875383 83.477784 84.034171 82.339489 " style="fill:none;stroke:#ff8b00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 108.457721 95.647038 -L 104.229709 97.104403 -L 105.600624 92.847574 -L 108.457721 95.647038 + <path clip-path="url(#p1f31122917)" d="M 88.289259 80.963179 +L 84.034171 82.339489 +L 85.486176 78.109633 +L 88.289259 80.963179 z " style="fill:#ff8b00;stroke:#ff8b00;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_17"> - <path clip-path="url(#p553f52e075)" d="M 146.331244 119.10623 -Q 145.886753 119.689061 146.798246 118.493884 -" style="fill:none;stroke:#ffb600;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 150.814201 116.526118 -L 146.798246 118.493884 -L 147.633606 114.10046 -L 150.814201 116.526118 + <path clip-path="url(#p1f31122917)" d="M 111.256674 106.737495 +Q 110.937965 107.028918 112.269456 105.811422 +" style="fill:none;stroke:#ffad00;stroke-linecap:round;stroke-width:2;"/> + <path clip-path="url(#p1f31122917)" d="M 116.571043 104.588168 +L 112.269456 105.811422 +L 113.871806 101.6362 +L 116.571043 104.588168 z -" style="fill:#ffb600;stroke:#ffb600;stroke-linecap:round;stroke-width:2;"/> +" style="fill:#ffad00;stroke:#ffad00;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_18"> - <path clip-path="url(#p553f52e075)" d="M 167.966108 140.400501 -Q 167.552981 140.865733 168.624589 139.658972 + <path clip-path="url(#p1f31122917)" d="M 134.077905 116.636114 +Q 134.043058 116.673884 135.52447 115.068194 " style="fill:none;stroke:#ffc300;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 172.776041 137.996009 -L 168.624589 139.658972 -L 169.78509 135.340032 -L 172.776041 137.996009 + <path clip-path="url(#p1f31122917)" d="M 139.70679 113.484467 +L 135.52447 115.068194 +L 136.76688 110.772101 +L 139.70679 113.484467 z " style="fill:#ffc300;stroke:#ffc300;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_19"> - <path clip-path="url(#p553f52e075)" d="M 202.926151 164.22605 -Q 202.855389 164.27652 204.605085 163.028556 -" style="fill:none;stroke:#ffd200;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 209.022975 162.33411 -L 204.605085 163.028556 -L 206.700263 159.077577 -L 209.022975 162.33411 + <path clip-path="url(#p1f31122917)" d="M 156.411872 138.366117 +Q 156.196092 138.47032 157.993884 137.602142 +" style="fill:none;stroke:#ffcd00;stroke-linecap:round;stroke-width:2;"/> + <path clip-path="url(#p1f31122917)" d="M 162.465597 137.663688 +L 157.993884 137.602142 +L 160.726148 134.0617 +L 162.465597 137.663688 z -" style="fill:#ffd200;stroke:#ffd200;stroke-linecap:round;stroke-width:2;"/> +" style="fill:#ffcd00;stroke:#ffcd00;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_20"> - <path clip-path="url(#p553f52e075)" d="M 209.639575 205.935889 -Q 209.143202 205.853003 210.85236 206.138404 + <path clip-path="url(#p1f31122917)" d="M 167.310708 166.714193 +Q 166.325679 166.555878 167.548385 166.752393 " style="fill:none;stroke:#ffc800;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 214.468328 208.769902 -L 210.85236 206.138404 -L 215.127139 204.824529 -L 214.468328 208.769902 + <path clip-path="url(#p1f31122917)" d="M 171.180332 169.361791 +L 167.548385 166.752393 +L 171.815072 165.412474 +L 171.180332 169.361791 z " style="fill:#ffc800;stroke:#ffc800;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_21"> - <path clip-path="url(#p553f52e075)" d="M 148.498096 229.561554 -Q 145.543862 230.114052 144.787588 230.25549 + <path clip-path="url(#p1f31122917)" d="M 118.398831 185.042335 +Q 116.433105 185.396178 116.668077 185.353881 " style="fill:none;stroke:#ff9800;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 149.087083 231.486078 -L 144.787588 230.25549 -L 148.351755 227.554247 -L 149.087083 231.486078 + <path clip-path="url(#p1f31122917)" d="M 120.959123 186.613611 +L 116.668077 185.353881 +L 120.250489 182.676882 +L 120.959123 186.613611 z " style="fill:#ff9800;stroke:#ff9800;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_22"> - <path clip-path="url(#p553f52e075)" d="M 167.489219 243.521311 -Q 164.538556 244.088221 163.783799 244.233233 + <path clip-path="url(#p1f31122917)" d="M 133.592212 195.793224 +Q 131.628862 196.156297 131.8643 196.112759 " style="fill:none;stroke:#ffa500;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 168.089312 245.442594 -L 163.783799 244.233233 -L 167.334596 241.514439 -L 168.089312 245.442594 + <path clip-path="url(#p1f31122917)" d="M 136.161295 197.352046 +L 131.8643 196.112759 +L 135.433927 193.418735 +L 136.161295 197.352046 z " style="fill:#ffa500;stroke:#ffa500;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_23"> - <path clip-path="url(#p553f52e075)" d="M 182.780865 266.840753 -Q 179.914654 267.698007 179.190744 267.914521 + <path clip-path="url(#p1f31122917)" d="M 145.835974 213.787281 +Q 143.932087 214.335361 144.177002 214.264856 " style="fill:none;stroke:#ffa900;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 183.596103 268.684462 -L 179.190744 267.914521 -L 182.449912 264.852198 -L 183.596103 268.684462 + <path clip-path="url(#p1f31122917)" d="M 148.574176 215.080246 +L 144.177002 214.264856 +L 147.467618 211.236351 +L 148.574176 215.080246 z " style="fill:#ffa900;stroke:#ffa900;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_24"> - <path clip-path="url(#p553f52e075)" d="M 106.261767 311.136027 -Q 103.565853 312.404267 102.893299 312.720657 + <path clip-path="url(#p1f31122917)" d="M 84.636274 247.951694 +Q 82.853404 248.758959 83.107522 248.643897 " style="fill:none;stroke:#ff4f00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 107.364154 312.827684 -L 102.893299 312.720657 -L 105.661433 309.208189 -L 107.364154 312.827684 + <path clip-path="url(#p1f31122917)" d="M 87.576348 248.815927 +L 83.107522 248.643897 +L 85.926441 245.172054 +L 87.576348 248.815927 z " style="fill:#ff4f00;stroke:#ff4f00;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_25"> - <path clip-path="url(#p553f52e075)" d="M 104.769727 328.9998 -Q 102.195984 330.472407 101.563075 330.834536 + <path clip-path="url(#p1f31122917)" d="M 83.45865 261.734522 +Q 81.759526 262.670245 82.019094 262.527299 " style="fill:none;stroke:#ff4700;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 106.028187 330.583986 -L 101.563075 330.834536 -L 104.041703 327.112116 -L 106.028187 330.583986 + <path clip-path="url(#p1f31122917)" d="M 86.487699 262.349623 +L 82.019094 262.527299 +L 84.558116 258.845809 +L 86.487699 262.349623 z " style="fill:#ff4700;stroke:#ff4700;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_26"> - <path clip-path="url(#p553f52e075)" d="M 409.566774 285.657348 -Q 406.647665 284.952317 405.902127 284.772253 -" style="fill:none;stroke:#ff3b00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 409.320784 287.655442 -L 405.902127 284.772253 -L 410.259873 283.767241 -L 409.320784 287.655442 + <path clip-path="url(#p1f31122917)" d="M 258.149841 178.019708 +Q 257.158984 177.163758 257.860257 177.769552 +" style="fill:none;stroke:#ffb000;stroke-linecap:round;stroke-width:2;"/> + <path clip-path="url(#p1f31122917)" d="M 259.579808 181.897886 +L 257.860257 177.769552 +L 262.194655 178.870912 +L 259.579808 181.897886 z -" style="fill:#ff3b00;stroke:#ff3b00;stroke-linecap:round;stroke-width:2;"/> +" style="fill:#ffb000;stroke:#ffb000;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_27"> - <path clip-path="url(#p553f52e075)" d="M 337.53255 231.744529 -Q 335.504002 230.254915 335.277777 230.088792 -" style="fill:none;stroke:#ffa100;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 337.318104 234.068373 -L 335.277777 230.088792 -L 339.685638 230.844279 -L 337.318104 234.068373 -z -" style="fill:#ffa100;stroke:#ffa100;stroke-linecap:round;stroke-width:2;"/> - </g> - <g id="patch_28"> - <path clip-path="url(#p553f52e075)" d="M 409.657257 244.29768 -Q 406.89833 243.166235 406.208254 242.883232 + <path clip-path="url(#p1f31122917)" d="M 327.343945 196.166484 +Q 325.51671 195.445229 325.769374 195.544962 " style="fill:none;stroke:#ff4700;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 409.150257 246.251409 -L 406.208254 242.883232 -L 410.667998 242.550536 -L 409.150257 246.251409 + <path clip-path="url(#p1f31122917)" d="M 328.755697 198.873907 +L 325.769374 195.544962 +L 330.224323 195.15327 +L 328.755697 198.873907 z " style="fill:#ff4700;stroke:#ff4700;stroke-linecap:round;stroke-width:2;"/> </g> - <g id="patch_29"> - <path clip-path="url(#p553f52e075)" d="M 357.215153 195.52479 -Q 354.812171 193.812604 354.230267 193.397983 + <g id="patch_28"> + <path clip-path="url(#p1f31122917)" d="M 285.42565 158.524476 +Q 283.848376 157.442772 284.115172 157.625742 " style="fill:none;stroke:#ff9a00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 356.327334 197.347959 -L 354.230267 193.397983 -L 358.648488 194.090316 -L 356.327334 197.347959 + <path clip-path="url(#p1f31122917)" d="M 286.282787 161.537449 +L 284.115172 157.625742 +L 288.545106 158.238674 +L 286.282787 161.537449 z " style="fill:#ff9a00;stroke:#ff9a00;stroke-linecap:round;stroke-width:2;"/> </g> - <g id="patch_30"> - <path clip-path="url(#p553f52e075)" d="M 391.691365 194.64657 -Q 389.059754 193.259641 388.406301 192.915254 + <g id="patch_29"> + <path clip-path="url(#p1f31122917)" d="M 312.98198 157.897608 +Q 311.246475 157.01725 311.505142 157.148462 " style="fill:none;stroke:#ff7000;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 391.012459 196.549527 -L 388.406301 192.915254 -L 392.877415 193.010892 -L 391.012459 196.549527 + <path clip-path="url(#p1f31122917)" d="M 314.16765 160.741657 +L 311.505142 157.148462 +L 315.977203 157.174372 +L 314.16765 160.741657 z " style="fill:#ff7000;stroke:#ff7000;stroke-linecap:round;stroke-width:2;"/> + </g> + <g id="patch_30"> + <path clip-path="url(#p1f31122917)" d="M 312.82797 142.396257 +Q 311.055718 141.569535 311.309897 141.688105 +" style="fill:none;stroke:#ff7600;stroke-linecap:round;stroke-width:2;"/> + <path clip-path="url(#p1f31122917)" d="M 314.089393 145.191589 +L 311.309897 141.688105 +L 315.780382 141.566599 +L 314.089393 145.191589 +z +" style="fill:#ff7600;stroke:#ff7600;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_31"> - <path clip-path="url(#p553f52e075)" d="M 409.680628 182.641047 -Q 406.956539 181.431556 406.276134 181.129458 -" style="fill:none;stroke:#ff5900;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 409.12039 184.580575 -L 406.276134 181.129458 -L 410.743581 180.924724 -L 409.12039 184.580575 + <path clip-path="url(#p1f31122917)" d="M 297.582747 121.825863 +Q 295.731702 121.143827 295.978829 121.234884 +" style="fill:none;stroke:#ff9700;stroke-linecap:round;stroke-width:2;"/> + <path clip-path="url(#p1f31122917)" d="M 299.040679 124.494496 +L 295.978829 121.234884 +L 300.423629 120.741171 +L 299.040679 124.494496 z -" style="fill:#ff5900;stroke:#ff5900;stroke-linecap:round;stroke-width:2;"/> +" style="fill:#ff9700;stroke:#ff9700;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_32"> - <path clip-path="url(#p553f52e075)" d="M 391.014761 155.042084 -Q 388.235636 153.94506 387.536401 153.669046 -" style="fill:none;stroke:#ff7d00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 390.522688 156.998023 -L 387.536401 153.669046 -L 391.991355 153.277403 -L 390.522688 156.998023 + <path clip-path="url(#p1f31122917)" d="M 296.33412 109.549145 +Q 294.375309 109.189109 294.615726 109.233298 +" style="fill:none;stroke:#ff9d00;stroke-linecap:round;stroke-width:2;"/> + <path clip-path="url(#p1f31122917)" d="M 298.188273 111.923448 +L 294.615726 109.233298 +L 298.911374 107.98935 +L 298.188273 111.923448 z -" style="fill:#ff7d00;stroke:#ff7d00;stroke-linecap:round;stroke-width:2;"/> +" style="fill:#ff9d00;stroke:#ff9d00;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_33"> - <path clip-path="url(#p553f52e075)" d="M 370.91618 131.707078 -Q 367.971856 131.144816 367.223911 131.001985 -" style="fill:none;stroke:#ff9d00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 370.777761 133.716786 -L 367.223911 131.001985 -L 371.528062 129.787785 -L 370.777761 133.716786 + <path clip-path="url(#p1f31122917)" d="M 311.25907 87.689736 +Q 309.288326 87.982873 309.529318 87.947027 +" style="fill:none;stroke:#ff8e00;stroke-linecap:round;stroke-width:2;"/> + <path clip-path="url(#p1f31122917)" d="M 313.78004 89.33676 +L 309.529318 87.947027 +L 313.191538 85.380289 +L 313.78004 89.33676 z -" style="fill:#ff9d00;stroke:#ff9d00;stroke-linecap:round;stroke-width:2;"/> +" style="fill:#ff8e00;stroke:#ff8e00;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_34"> - <path clip-path="url(#p553f52e075)" d="M 409.524583 121.597415 -Q 406.54203 121.22041 405.777892 121.123821 -" style="fill:none;stroke:#ff6b00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 409.495504 123.609654 -L 405.777892 121.123821 -L 409.997126 119.641232 -L 409.495504 123.609654 + <path clip-path="url(#p1f31122917)" d="M 327.50516 55.641967 +Q 325.862971 56.651845 326.12551 56.490395 +" style="fill:none;stroke:#ff7e00;stroke-linecap:round;stroke-width:2;"/> + <path clip-path="url(#p1f31122917)" d="M 330.580459 56.098699 +L 326.12551 56.490395 +L 328.485123 52.691418 +L 330.580459 56.098699 z -" style="fill:#ff6b00;stroke:#ff6b00;stroke-linecap:round;stroke-width:2;"/> +" style="fill:#ff7e00;stroke:#ff7e00;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_35"> - <path clip-path="url(#p553f52e075)" d="M 409.514935 101.465877 -Q 406.517872 101.695209 405.75036 101.753938 -" style="fill:none;stroke:#ff7100;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 409.891292 103.442926 -L 405.75036 101.753938 -L 409.58611 99.454585 -L 409.891292 103.442926 + <path clip-path="url(#p1f31122917)" d="M 274.507575 67.49796 +Q 274.141514 68.426371 274.595654 67.274573 +" style="fill:none;stroke:#ffcc00;stroke-linecap:round;stroke-width:2;"/> + <path clip-path="url(#p1f31122917)" d="M 277.923468 64.286991 +L 274.595654 67.274573 +L 274.202277 62.819772 +L 277.923468 64.286991 z -" style="fill:#ff7100;stroke:#ff7100;stroke-linecap:round;stroke-width:2;"/> +" style="fill:#ffcc00;stroke:#ffcc00;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_36"> - <path clip-path="url(#p553f52e075)" d="M 409.606601 81.406217 -Q 406.768463 82.34301 406.053714 82.57893 -" style="fill:none;stroke:#ff7800;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 410.479026 83.224386 -L 406.053714 82.57893 -L 409.225266 79.425954 -L 410.479026 83.224386 + <path clip-path="url(#p1f31122917)" d="M 246.640739 71.380944 +Q 246.759896 73.105102 246.724886 72.598512 +" style="fill:none;stroke:#ffe500;stroke-linecap:round;stroke-width:2;"/> + <path clip-path="url(#p1f31122917)" d="M 248.444341 68.470138 +L 246.724886 72.598512 +L 244.45386 68.745923 +L 248.444341 68.470138 z -" style="fill:#ff7800;stroke:#ff7800;stroke-linecap:round;stroke-width:2;"/> +" style="fill:#ffe500;stroke:#ffe500;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_37"> - <path clip-path="url(#p553f52e075)" d="M 388.860307 61.638839 -Q 386.764815 63.685225 386.269094 64.169329 -" style="fill:none;stroke:#ff9c00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 390.528202 62.805512 -L 386.269094 64.169329 -L 387.733505 59.943752 -L 390.528202 62.805512 + <path clip-path="url(#p1f31122917)" d="M 227.854587 56.534743 +Q 228.291553 58.227329 228.169571 57.754834 +" style="fill:none;stroke:#fff500;stroke-linecap:round;stroke-width:2;"/> + <path clip-path="url(#p1f31122917)" d="M 229.106203 53.381881 +L 228.169571 57.754834 +L 225.233187 54.381757 +L 229.106203 53.381881 z -" style="fill:#ff9c00;stroke:#ff9c00;stroke-linecap:round;stroke-width:2;"/> +" style="fill:#fff500;stroke:#fff500;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_38"> - <path clip-path="url(#p553f52e075)" d="M 343.341369 76.454759 -Q 342.67622 78.207449 342.804452 77.869554 -" style="fill:none;stroke:#ffcc00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 346.09357 74.839423 -L 342.804452 77.869554 -L 342.353817 73.42018 -L 346.09357 74.839423 + <path clip-path="url(#p1f31122917)" d="M 198.29525 70.88806 +Q 198.851227 72.555035 198.699732 72.100812 +" style="fill:none;stroke:#fff500;stroke-linecap:round;stroke-width:2;"/> + <path clip-path="url(#p1f31122917)" d="M 199.331427 67.673514 +L 198.699732 72.100812 +L 195.536911 68.939078 +L 199.331427 67.673514 z -" style="fill:#ffcc00;stroke:#ffcc00;stroke-linecap:round;stroke-width:2;"/> +" style="fill:#fff500;stroke:#fff500;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_39"> - <path clip-path="url(#p553f52e075)" d="M 326.558873 62.242641 -Q 326.456365 65.082737 326.434511 65.68822 -" style="fill:none;stroke:#ffdf00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 328.577489 61.762962 -L 326.434511 65.68822 -L 324.580091 61.618683 -L 328.577489 61.762962 + <path clip-path="url(#p1f31122917)" d="M 202.390739 43.543281 +Q 202.867537 45.231577 202.73661 44.767975 +" style="fill:none;stroke:#ffff00;stroke-linecap:round;stroke-width:2;"/> + <path clip-path="url(#p1f31122917)" d="M 203.574193 40.374974 +L 202.73661 44.767975 +L 199.724759 41.462108 +L 203.574193 40.374974 z -" style="fill:#ffdf00;stroke:#ffdf00;stroke-linecap:round;stroke-width:2;"/> +" style="fill:#ffff00;stroke:#ffff00;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_40"> - <path clip-path="url(#p553f52e075)" d="M 305.692341 62.2276 -Q 306.091014 65.046323 306.17654 65.651014 -" style="fill:none;stroke:#ffec00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 307.596656 61.410345 -L 306.17654 65.651014 -L 303.636075 61.97052 -L 307.596656 61.410345 + <path clip-path="url(#p1f31122917)" d="M 111.27414 62.052908 +Q 111.055939 62.716308 111.536388 61.255588 +" style="fill:none;stroke:#ffbd00;stroke-linecap:round;stroke-width:2;"/> + <path clip-path="url(#p1f31122917)" d="M 114.686041 58.080736 +L 111.536388 61.255588 +L 110.886298 56.830954 +L 114.686041 58.080736 z -" style="fill:#ffec00;stroke:#ffec00;stroke-linecap:round;stroke-width:2;"/> +" style="fill:#ffbd00;stroke:#ffbd00;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_41"> - <path clip-path="url(#p553f52e075)" d="M 284.6741 62.181954 -Q 285.363397 64.955965 285.513464 65.559898 -" style="fill:none;stroke:#fff500;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 286.489839 61.195647 -L 285.513464 65.559898 -L 282.607887 62.160248 -L 286.489839 61.195647 + <path clip-path="url(#p1f31122917)" d="M 81.426203 108.924909 +Q 80.974619 109.177754 82.474095 108.338187 +" style="fill:none;stroke:#ff7e00;stroke-linecap:round;stroke-width:2;"/> + <path clip-path="url(#p1f31122917)" d="M 86.941341 108.1291 +L 82.474095 108.338187 +L 84.987173 104.638938 +L 86.941341 108.1291 z -" style="fill:#fff500;stroke:#fff500;stroke-linecap:round;stroke-width:2;"/> +" style="fill:#ff7e00;stroke:#ff7e00;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_42"> - <path clip-path="url(#p553f52e075)" d="M 263.535555 62.161382 -Q 264.340367 64.905949 264.515972 65.504798 -" style="fill:none;stroke:#fffa00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 265.309602 61.103645 -L 264.515972 65.504798 -L 261.471227 62.229203 -L 265.309602 61.103645 -z -" style="fill:#fffa00;stroke:#fffa00;stroke-linecap:round;stroke-width:2;"/> - </g> - <g id="patch_43"> - <path clip-path="url(#p553f52e075)" d="M 247.689101 80.842079 -Q 248.563622 83.566298 248.75468 84.161461 -" style="fill:none;stroke:#fff500;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 249.436349 79.741583 -L 248.75468 84.161461 -L 245.627778 80.964199 -L 249.436349 79.741583 -z -" style="fill:#fff500;stroke:#fff500;stroke-linecap:round;stroke-width:2;"/> - </g> - <g id="patch_44"> - <path clip-path="url(#p553f52e075)" d="M 220.983128 62.189297 -Q 221.624879 64.973817 221.764446 65.579389 -" style="fill:none;stroke:#fff600;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 222.815022 61.232403 -L 221.764446 65.579389 -L 218.917202 62.130737 -L 222.815022 61.232403 -z -" style="fill:#fff600;stroke:#fff600;stroke-linecap:round;stroke-width:2;"/> - </g> - <g id="patch_45"> - <path clip-path="url(#p553f52e075)" d="M 135.066028 62.155122 -Q 134.58484 63.709357 134.764965 63.127553 -" style="fill:none;stroke:#ffbb00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 137.858491 59.897986 -L 134.764965 63.127553 -L 134.037427 58.714993 -L 137.858491 59.897986 -z -" style="fill:#ffbb00;stroke:#ffbb00;stroke-linecap:round;stroke-width:2;"/> - </g> - <g id="patch_46"> - <path clip-path="url(#p553f52e075)" d="M 112.825464 123.031555 -Q 111.819071 123.769908 112.615571 123.185546 -" style="fill:none;stroke:#ff8f00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 117.023757 122.431957 -L 112.615571 123.185546 -L 114.657611 119.206844 -L 117.023757 122.431957 -z -" style="fill:#ff8f00;stroke:#ff8f00;stroke-linecap:round;stroke-width:2;"/> - </g> - <g id="patch_47"> - <path clip-path="url(#p553f52e075)" d="M 347.073544 305.392027 -Q 344.066417 305.339877 343.295021 305.326499 + <path clip-path="url(#p1f31122917)" d="M 277.259857 243.353201 +Q 275.253393 243.31971 275.482685 243.323537 " style="fill:none;stroke:#ff8300;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 347.259741 307.395556 -L 343.295021 305.326499 -L 347.329098 303.396158 -L 347.259741 307.395556 + <path clip-path="url(#p1f31122917)" d="M 279.448749 245.390016 +L 275.482685 243.323537 +L 279.515507 241.390573 +L 279.448749 245.390016 z " style="fill:#ff8300;stroke:#ff8300;stroke-linecap:round;stroke-width:2;"/> </g> - <g id="patch_48"> - <path clip-path="url(#p553f52e075)" d="M 302.51891 226.994774 -Q 301.103044 225.608229 301.284772 225.786193 + <g id="patch_43"> + <path clip-path="url(#p1f31122917)" d="M 241.703813 182.700541 +Q 240.88253 181.926426 241.688421 182.686033 " style="fill:none;stroke:#ffbb00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 302.743295 230.013806 -L 301.284772 225.786193 -L 305.541976 227.155942 -L 302.743295 230.013806 + <path clip-path="url(#p1f31122917)" d="M 243.227397 186.885027 +L 241.688421 182.686033 +L 245.971002 183.974249 +L 243.227397 186.885027 z " style="fill:#ffbb00;stroke:#ffbb00;stroke-linecap:round;stroke-width:2;"/> </g> - <g id="patch_49"> - <path clip-path="url(#p553f52e075)" d="M 199.598203 122.676988 -Q 199.525148 123.510713 199.647279 122.116905 + <g id="patch_44"> + <path clip-path="url(#p1f31122917)" d="M 159.636973 103.126105 +Q 159.620409 103.308058 159.806574 101.263153 " style="fill:none;stroke:#ffdc00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 201.988805 118.306753 -L 199.647279 122.116905 -L 198.004074 117.957593 -L 201.988805 118.306753 + <path clip-path="url(#p1f31122917)" d="M 162.160991 97.460954 +L 159.806574 101.263153 +L 158.177464 97.0983 +L 162.160991 97.460954 z " style="fill:#ffdc00;stroke:#ffdc00;stroke-linecap:round;stroke-width:2;"/> </g> - <g id="patch_50"> - <path clip-path="url(#p553f52e075)" d="M 346.280885 202.743447 -Q 343.975655 200.916576 343.422903 200.478526 + <g id="patch_45"> + <path clip-path="url(#p1f31122917)" d="M 276.691924 164.066616 +Q 275.183445 162.915991 275.452862 163.121495 " style="fill:none;stroke:#ffa200;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 345.315632 204.530387 -L 343.422903 200.478526 -L 347.800029 201.395459 -L 345.315632 204.530387 + <path clip-path="url(#p1f31122917)" d="M 277.420302 167.13761 +L 275.452862 163.121495 +L 279.846218 163.957212 +L 277.420302 167.13761 z " style="fill:#ffa200;stroke:#ffa200;stroke-linecap:round;stroke-width:2;"/> </g> - <g id="patch_51"> - <path clip-path="url(#p553f52e075)" d="M 242.469793 123.716176 -Q 243.495644 126.393439 243.72142 126.98267 -" style="fill:none;stroke:#ffe800;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 244.157797 122.531875 -L 243.72142 126.98267 -L 240.42261 123.963092 -L 244.157797 122.531875 + <g id="patch_46"> + <path clip-path="url(#p1f31122917)" d="M 184.960022 75.29416 +Q 185.453921 76.97804 185.318472 76.516246 +" style="fill:none;stroke:#fff100;stroke-linecap:round;stroke-width:2;"/> + <path clip-path="url(#p1f31122917)" d="M 186.111809 72.115039 +L 185.318472 76.516246 +L 182.27351 73.240852 +L 186.111809 72.115039 z -" style="fill:#ffe800;stroke:#ffe800;stroke-linecap:round;stroke-width:2;"/> +" style="fill:#fff100;stroke:#fff100;stroke-linecap:round;stroke-width:2;"/> </g> - <g id="patch_52"> - <path clip-path="url(#p553f52e075)" d="M 325.205024 202.578839 -Q 323.128462 200.528003 322.642863 200.048419 + <g id="patch_47"> + <path clip-path="url(#p1f31122917)" d="M 259.857619 163.90245 +Q 258.505238 162.616909 258.773539 162.871949 " style="fill:none;stroke:#ffb400;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 324.083492 204.282163 -L 322.642863 200.048419 -L 326.894235 201.436162 -L 324.083492 204.282163 + <path clip-path="url(#p1f31122917)" d="M 260.294765 167.077406 +L 258.773539 162.871949 +L 263.05064 164.178243 +L 260.294765 167.077406 z " style="fill:#ffb400;stroke:#ffb400;stroke-linecap:round;stroke-width:2;"/> </g> - <g id="patch_53"> - <path clip-path="url(#p553f52e075)" d="M 226.440793 167.518726 -Q 224.774219 168.072886 225.229485 167.921503 + <g id="patch_48"> + <path clip-path="url(#p1f31122917)" d="M 180.762842 137.32217 +Q 179.815969 137.625213 180.998752 137.246668 " style="fill:none;stroke:#ffd800;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 229.656207 168.55722 -L 225.229485 167.921503 -L 228.394092 164.761556 -L 229.656207 168.55722 + <path clip-path="url(#p1f31122917)" d="M 185.418029 137.93223 +L 180.998752 137.246668 +L 184.198768 134.122584 +L 185.418029 137.93223 z " style="fill:#ffd800;stroke:#ffd800;stroke-linecap:round;stroke-width:2;"/> </g> - <g id="patch_54"> - <path clip-path="url(#p553f52e075)" d="M 252.847538 197.145451 -Q 251.018874 194.888282 250.597806 194.368546 + <g id="patch_49"> + <path clip-path="url(#p1f31122917)" d="M 201.998204 159.677553 +Q 200.8142 158.270908 201.070143 158.574979 " style="fill:none;stroke:#ffd100;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 251.561782 198.735553 -L 250.597806 194.368546 -L 254.669797 196.21757 -L 251.561782 198.735553 + <path clip-path="url(#p1f31122917)" d="M 202.115889 162.923129 +L 201.070143 158.574979 +L 205.176111 160.347272 +L 202.115889 162.923129 z " style="fill:#ffd100;stroke:#ffd100;stroke-linecap:round;stroke-width:2;"/> </g> - <g id="patch_55"> - <path clip-path="url(#p553f52e075)" d="M 261.555603 223.11555 -Q 259.47596 221.05246 258.983761 220.564178 + <g id="patch_50"> + <path clip-path="url(#p1f31122917)" d="M 208.932939 179.7095 +Q 207.579956 178.417618 207.844207 178.669935 " style="fill:none;stroke:#ffc900;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 260.414915 224.801134 -L 258.983761 220.564178 -L 263.232018 221.961429 -L 260.414915 224.801134 + <path clip-path="url(#p1f31122917)" d="M 209.356031 182.878782 +L 207.844207 178.669935 +L 212.118378 179.985784 +L 209.356031 182.878782 z " style="fill:#ffc900;stroke:#ffc900;stroke-linecap:round;stroke-width:2;"/> </g> - <g id="patch_56"> - <path d="M 72 388.8 -L 72 43.2 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> - <g id="patch_57"> - <path d="M 429.12 388.8 -L 429.12 43.2 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> - <g id="patch_58"> - <path d="M 72 388.8 -L 429.12 388.8 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> + <g id="patch_51"> + <path d="M 57.6 307.584 +L 57.6 41.472 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> </g> - <g id="patch_59"> - <path d="M 72 43.2 -L 429.12 43.2 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> + <g id="patch_52"> + <path d="M 343.296 307.584 +L 343.296 41.472 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> </g> - <g id="matplotlib.axis_1"> - <g id="xtick_1"> - <g id="line2d_1"> - <defs> - <path d="M 0 0 -L 0 -4 -" id="m368fc901b1" style="stroke:#000000;stroke-width:0.5;"/> - </defs> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m368fc901b1" y="388.8"/> - </g> - </g> - <g id="line2d_2"> - <defs> - <path d="M 0 0 -L 0 4 -" id="mc63e59a608" style="stroke:#000000;stroke-width:0.5;"/> - </defs> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#mc63e59a608" y="43.2"/> - </g> - </g> - </g> - <g id="xtick_2"> - <g id="line2d_3"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="131.52" xlink:href="#m368fc901b1" y="388.8"/> - </g> - </g> - <g id="line2d_4"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="131.52" xlink:href="#mc63e59a608" y="43.2"/> - </g> - </g> - </g> - <g id="xtick_3"> - <g id="line2d_5"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="191.04" xlink:href="#m368fc901b1" y="388.8"/> - </g> - </g> - <g id="line2d_6"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="191.04" xlink:href="#mc63e59a608" y="43.2"/> - </g> - </g> - </g> - <g id="xtick_4"> - <g id="line2d_7"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="250.56" xlink:href="#m368fc901b1" y="388.8"/> - </g> - </g> - <g id="line2d_8"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="250.56" xlink:href="#mc63e59a608" y="43.2"/> - </g> - </g> - </g> - <g id="xtick_5"> - <g id="line2d_9"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="310.08" xlink:href="#m368fc901b1" y="388.8"/> - </g> - </g> - <g id="line2d_10"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="310.08" xlink:href="#mc63e59a608" y="43.2"/> - </g> - </g> - </g> - <g id="xtick_6"> - <g id="line2d_11"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="369.6" xlink:href="#m368fc901b1" y="388.8"/> - </g> - </g> - <g id="line2d_12"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="369.6" xlink:href="#mc63e59a608" y="43.2"/> - </g> - </g> - </g> - <g id="xtick_7"> - <g id="line2d_13"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="429.12" xlink:href="#m368fc901b1" y="388.8"/> - </g> - </g> - <g id="line2d_14"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="429.12" xlink:href="#mc63e59a608" y="43.2"/> - </g> - </g> - </g> + <g id="patch_53"> + <path d="M 57.6 307.584 +L 343.296 307.584 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> </g> - <g id="matplotlib.axis_2"> - <g id="ytick_1"> - <g id="line2d_15"> - <defs> - <path d="M 0 0 -L 4 0 -" id="m556f96d829" style="stroke:#000000;stroke-width:0.5;"/> - </defs> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m556f96d829" y="388.8"/> - </g> - </g> - <g id="line2d_16"> - <defs> - <path d="M 0 0 -L -4 0 -" id="m27e32ca04a" style="stroke:#000000;stroke-width:0.5;"/> - </defs> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="429.12" xlink:href="#m27e32ca04a" y="388.8"/> - </g> - </g> - </g> - <g id="ytick_2"> - <g id="line2d_17"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m556f96d829" y="331.2"/> - </g> - </g> - <g id="line2d_18"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="429.12" xlink:href="#m27e32ca04a" y="331.2"/> - </g> - </g> - </g> - <g id="ytick_3"> - <g id="line2d_19"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m556f96d829" y="273.6"/> - </g> - </g> - <g id="line2d_20"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="429.12" xlink:href="#m27e32ca04a" y="273.6"/> - </g> - </g> - </g> - <g id="ytick_4"> - <g id="line2d_21"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m556f96d829" y="216"/> - </g> - </g> - <g id="line2d_22"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="429.12" xlink:href="#m27e32ca04a" y="216"/> - </g> - </g> - </g> - <g id="ytick_5"> - <g id="line2d_23"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m556f96d829" y="158.4"/> - </g> - </g> - <g id="line2d_24"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="429.12" xlink:href="#m27e32ca04a" y="158.4"/> - </g> - </g> - </g> - <g id="ytick_6"> - <g id="line2d_25"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m556f96d829" y="100.8"/> - </g> - </g> - <g id="line2d_26"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="429.12" xlink:href="#m27e32ca04a" y="100.8"/> - </g> - </g> - </g> - <g id="ytick_7"> - <g id="line2d_27"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m556f96d829" y="43.2"/> - </g> - </g> - <g id="line2d_28"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="429.12" xlink:href="#m27e32ca04a" y="43.2"/> - </g> - </g> - </g> + <g id="patch_54"> + <path d="M 57.6 41.472 +L 343.296 41.472 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> </g> </g> <g id="axes_2"> - <g id="patch_60"> - <path clip-path="url(#p1c6eb93ec9)" d="M 451.44 388.8 -L 451.44 387.45 -L 451.44 44.55 -L 451.44 43.2 -L 468.72 43.2 -L 468.72 44.55 -L 468.72 387.45 -L 468.72 388.8 + <g id="patch_55"> + <path clip-path="url(#p0d7d147e35)" d="M 361.152 307.584 +L 361.152 306.5445 +L 361.152 42.5115 +L 361.152 41.472 +L 374.4576 41.472 +L 374.4576 42.5115 +L 374.4576 306.5445 +L 374.4576 307.584 z " style="fill:#ffffff;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.01;"/> </g> - <image height="345.6" id="image1c1e50eb55" transform="scale(1 -1)translate(0 -345.6)" width="17.28" x="451.44" xlink:href="data:image/png;base64, -iVBORw0KGgoAAAANSUhEUgAAABgAAAHgCAYAAAC/wa04AAAABHNCSVQICAgIfAhkiAAAAYJJREFUeJzt0MFpBAEMBME94/xTPofQ/ixioDoAiZrP93m+z4v9Pp83zz/Pz7vnCf4RQUaQEWSvC0yUEWQEGUFGcP9gfyKCjCAjyAjuH+xPRJARZAQZwf2D/YkIMoKMICO4f7A/EUFGkBFkBPcP9iciyAgygozg/sH+RAQZQUaQEdw/2J+IICPICDKC+wf7ExFkBBlBRnD/YH8igowgI8gI7h/sT0SQEWQEGcH9g/2JCDKCjCAjuH+wPxFBRpARZAT3D/YnIsgIMoKM4P7B/kQEGUFGkBHcP9ifiCAjyAgygvsH+xMRZAQZQUZw/2B/IoKMICPICO4f7E9EkBFkBBnB/YP9iQgygowgI7h/sD8RQUaQEWQE9w/2JyLICDKCjOD+wf5EBBlBRpAR3D/Yn4ggI8gIMoL7B/sTEWQEGUFGcP9gfyKCjCAjyAjuH+xPRJARZAQZwf2D/YkIMoKMICO4f7A/EUFGkBFkBPcP9iciyAgygozg/sH+RAQZQUaQ7Qv+AH7XCLtBB0zhAAAAAElFTkSuQmCC" y="-43.2"/> - <g id="patch_61"> - <path d="M 451.44 388.8 -L 451.44 387.45 -L 451.44 44.55 -L 451.44 43.2 -L 468.72 43.2 -L 468.72 44.55 -L 468.72 387.45 -L 468.72 388.8 -z -" style="fill:none;stroke:#000000;stroke-linejoin:miter;"/> - </g> + <image height="265.68" id="image2737410948" transform="scale(1 -1)translate(0 -265.68)" width="12.96" x="361.44" xlink:href="data:image/png;base64, +iVBORw0KGgoAAAANSUhEUgAAABIAAAFxCAYAAAB+2fgXAAAABHNCSVQICAgIfAhkiAAAAPdJREFUeJztkMENwzAAhJyq+6/cjsDHj3CCAZDg+Z3zOxf4nueG5qLoc0dTmlM0/Kg0pjSjaPhRaUxpRtHwo9KY0oyi4UelMe9L6xFTGlOaUTT8qDSmNKNo+FFpTGlG0fCj0pjSjKLhR6UxpRlFw49KY0ozioYflcaUZhQNPyqNKc0oGn5UGlOaUTT8qDSmNKNo+FFpTGlG0fCj0pjSjKLhR6UxpRlFw49KY0ozioYflcaUZhQNPyqNKc0oGn5UGlOaUTT8qDTmfWk9YkpjSjOKhh+VxpRmFA0/Ko0pzSgaflQaU5pRNPyoNKY0o2j4UWlMaUbRtUd/Wd8H3aIvcBQAAAAASUVORK5CYII=" y="-41.76"/> <g id="matplotlib.axis_3"/> <g id="matplotlib.axis_4"> <g id="ytick_8"> - <g id="line2d_29"> + <g id="line2d_15"> + <defs> + <path d="M 0 0 +L 3.5 0 +" id="m90785db178" style="stroke:#000000;stroke-width:0.8;"/> + </defs> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="468.72" xlink:href="#m27e32ca04a" y="365.758589"/> + <use style="stroke:#000000;stroke-width:0.8;" x="374.4576" xlink:href="#m90785db178" y="289.842114"/> </g> </g> </g> <g id="ytick_9"> - <g id="line2d_30"> + <g id="line2d_16"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="468.72" xlink:href="#m27e32ca04a" y="319.675768"/> + <use style="stroke:#000000;stroke-width:0.8;" x="374.4576" xlink:href="#m90785db178" y="254.358342"/> </g> </g> </g> <g id="ytick_10"> - <g id="line2d_31"> + <g id="line2d_17"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="468.72" xlink:href="#m27e32ca04a" y="273.592947"/> + <use style="stroke:#000000;stroke-width:0.8;" x="374.4576" xlink:href="#m90785db178" y="218.874569"/> </g> </g> </g> <g id="ytick_11"> - <g id="line2d_32"> + <g id="line2d_18"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="468.72" xlink:href="#m27e32ca04a" y="227.510126"/> + <use style="stroke:#000000;stroke-width:0.8;" x="374.4576" xlink:href="#m90785db178" y="183.390797"/> </g> </g> </g> <g id="ytick_12"> - <g id="line2d_33"> + <g id="line2d_19"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="468.72" xlink:href="#m27e32ca04a" y="181.427305"/> + <use style="stroke:#000000;stroke-width:0.8;" x="374.4576" xlink:href="#m90785db178" y="147.907025"/> </g> </g> </g> <g id="ytick_13"> - <g id="line2d_34"> + <g id="line2d_20"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="468.72" xlink:href="#m27e32ca04a" y="135.344484"/> + <use style="stroke:#000000;stroke-width:0.8;" x="374.4576" xlink:href="#m90785db178" y="112.423253"/> </g> </g> </g> <g id="ytick_14"> - <g id="line2d_35"> + <g id="line2d_21"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="468.72" xlink:href="#m27e32ca04a" y="89.261663"/> + <use style="stroke:#000000;stroke-width:0.8;" x="374.4576" xlink:href="#m90785db178" y="76.93948"/> </g> </g> </g> <g id="ytick_15"> - <g id="line2d_36"> + <g id="line2d_22"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="468.72" xlink:href="#m27e32ca04a" y="43.178842"/> + <use style="stroke:#000000;stroke-width:0.8;" x="374.4576" xlink:href="#m90785db178" y="41.455708"/> </g> </g> </g> </g> + <g id="patch_56"> + <path d="M 361.152 307.584 +L 361.152 306.5445 +L 361.152 42.5115 +L 361.152 41.472 +L 374.4576 41.472 +L 374.4576 42.5115 +L 374.4576 306.5445 +L 374.4576 307.584 +z +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> </g> </g> <defs> - <clipPath id="p553f52e075"> - <rect height="345.6" width="357.12" x="72" y="43.2"/> + <clipPath id="p1f31122917"> + <rect height="266.112" width="285.696" x="57.6" y="41.472"/> </clipPath> - <clipPath id="p1c6eb93ec9"> - <rect height="345.6" width="17.28" x="451.44" y="43.2"/> + <clipPath id="p0d7d147e35"> + <rect height="266.112" width="13.3056" x="361.152" y="41.472"/> </clipPath> </defs> </svg> diff --git a/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_direction.png b/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_direction.png index 77786b3e48757efab825d5946b3bd33db49ee8a1..8bfb6ba1b63a83ca24c84abc9e0f11414ff255d7 100644 GIT binary patch literal 16345 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 Yzj<m+sV2oM9UWLvR`pilP2+$5AIxyFMF0Q* literal 26797 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 Btycg5 diff --git a/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_linewidth.pdf b/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_linewidth.pdf index 1e3a72baa567e8564f3fdcb6362adb510a945435..9f29d679f5b8f06a0ae9d36a038168e6dacc5d77 100644 GIT binary patch literal 17993 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 >2IF-M-w#?nK4%_xdl-omgzKA!YkH{|zarrM8it z+p5myrBqgGo>S)QJ2X>-ZH<}Vaz-H$&l#O(U!6~q2`;G$@$~Ht(3TcG*7;3-PfHM! z*bNV}h@!21I>&*YZ$5sn&qQ@afpGrTpzp8$xaddD4D&y<Qbb$%X3ra@q+dF_=46P5 zC>=66k@14no~z?D+b+YX4l_P8EtMrfJxgUKh<@*wz48Q?`&Bvr7c-_t*Y&=+3d*1h z)%MT*ASfg|NB&~y?bJFUkCK!7tJ=QYRuzm~rgzAwUrVR+!K7n<`5y<(S()Mdabw!{ zXfv-!zSH`uT}^Dw$tG+fcV`RuJ!(_5?6#gz_;SULwDUL5{<Yb3q=WThh2r<cw_G38 z&7JQuCw9`Vd0m}T_jX>ZZ{?U5;m$wvKyA7s*K762h^HFU&VDt0W?29I$N~O_gxUt5 zg$pE~I~#JkIJM`5vd%qfKi|L7Pxho<YgkTVOU|r=e|N?|-K5xfzV`3!*ZcSW^Zft! z`R(m-+h6xT-oChI%2H8T*R5(te*PAHR@?hsQoJE@YS#8+^}oK>GbWVi9ReN20X+}` zdMF3@pa{^35{71$21c->IzR_;K#!R~9GC$*sRMTQgrgzkKnzEq81%po#E~BQ$%zVv zptC3R9gSeh3~?(%I^F_w;s=JkpmRJh1VN{HU<iT^Ac48iIlmNmxCYQ#@5~g?!5-k_ zK7v5!Za~f_fgD+a@SP!&W`t-(QED2Ofr6nimjN6on3<Xyn<}I!z{L!KP6PpkJgAtV zxv4qu1P(MYV+-KX9%y1F2EZdd(8Np)Fx8nFVNquaJXHimFOXvf3_~<AV+(Y>1_nl0 z>@YUN^oN--l0Qm{5;JpBi@-;|c;=<$D}VzHcveYJem*Fy!RM9)XI7;G0}OKZNMcb5 SI0y~R%}kBCR8?L5-M9da$TqkD literal 21966 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 E4baptivR!s diff --git a/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_linewidth.png b/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_linewidth.png index 3fe60b95e5721805b40f62233119b6f3c22877da..c1147e478698fd6f5f3b4ab056bcded9da201579 100644 GIT binary patch literal 68867 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 E07nEv@c;k- literal 94856 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¥3{!#9R>46T$IA}<-M*#gT( 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 V0loFsb(8OEZ##NembK@K{|5~&V#5Fc diff --git a/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_linewidth.svg b/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_linewidth.svg index 912b24ff76d5..8ce3e3ed3eae 100644 --- a/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_linewidth.svg +++ b/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_linewidth.svg @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="utf-8" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<!-- Created with matplotlib (http://matplotlib.org/) --> -<svg height="432pt" version="1.1" viewBox="0 0 576 432" width="576pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<!-- Created with matplotlib (https://matplotlib.org/) --> +<svg height="345.6pt" version="1.1" viewBox="0 0 460.8 345.6" width="460.8pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <defs> <style type="text/css"> *{stroke-linecap:butt;stroke-linejoin:round;} @@ -10,2878 +10,2584 @@ </defs> <g id="figure_1"> <g id="patch_1"> - <path d="M 0 432 -L 576 432 -L 576 0 + <path d="M 0 345.6 +L 460.8 345.6 +L 460.8 0 L 0 0 z " style="fill:#ffffff;"/> </g> <g id="axes_1"> <g id="patch_2"> - <path d="M 72 388.8 -L 518.4 388.8 -L 518.4 43.2 -L 72 43.2 + <path d="M 57.6 307.584 +L 414.72 307.584 +L 414.72 41.472 +L 57.6 41.472 z " style="fill:#ffffff;"/> </g> + <g id="matplotlib.axis_1"> + <g id="xtick_1"> + <g id="line2d_1"> + <defs> + <path d="M 0 0 +L 0 3.5 +" id="me62b6bd1ab" style="stroke:#000000;stroke-width:0.8;"/> + </defs> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#me62b6bd1ab" y="307.584"/> + </g> + </g> + </g> + <g id="xtick_2"> + <g id="line2d_2"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="117.12" xlink:href="#me62b6bd1ab" y="307.584"/> + </g> + </g> + </g> + <g id="xtick_3"> + <g id="line2d_3"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="176.64" xlink:href="#me62b6bd1ab" y="307.584"/> + </g> + </g> + </g> + <g id="xtick_4"> + <g id="line2d_4"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="236.16" xlink:href="#me62b6bd1ab" y="307.584"/> + </g> + </g> + </g> + <g id="xtick_5"> + <g id="line2d_5"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="295.68" xlink:href="#me62b6bd1ab" y="307.584"/> + </g> + </g> + </g> + <g id="xtick_6"> + <g id="line2d_6"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="355.2" xlink:href="#me62b6bd1ab" y="307.584"/> + </g> + </g> + </g> + <g id="xtick_7"> + <g id="line2d_7"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="414.72" xlink:href="#me62b6bd1ab" y="307.584"/> + </g> + </g> + </g> + </g> + <g id="matplotlib.axis_2"> + <g id="ytick_1"> + <g id="line2d_8"> + <defs> + <path d="M 0 0 +L -3.5 0 +" id="m4e42464305" style="stroke:#000000;stroke-width:0.8;"/> + </defs> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m4e42464305" y="307.584"/> + </g> + </g> + </g> + <g id="ytick_2"> + <g id="line2d_9"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m4e42464305" y="263.232"/> + </g> + </g> + </g> + <g id="ytick_3"> + <g id="line2d_10"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m4e42464305" y="218.88"/> + </g> + </g> + </g> + <g id="ytick_4"> + <g id="line2d_11"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m4e42464305" y="174.528"/> + </g> + </g> + </g> + <g id="ytick_5"> + <g id="line2d_12"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m4e42464305" y="130.176"/> + </g> + </g> + </g> + <g id="ytick_6"> + <g id="line2d_13"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m4e42464305" y="85.824"/> + </g> + </g> + </g> + <g id="ytick_7"> + <g id="line2d_14"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m4e42464305" y="41.472"/> + </g> + </g> + </g> + </g> <g id="LineCollection_1"> - <path clip-path="url(#p6928b274a4)" d="M 518.4 304.176224 -L 503.609181 302.464288 -" style="fill:none;stroke:#000000;stroke-width:3.420384;"/> - <path clip-path="url(#p6928b274a4)" d="M 503.609181 302.464288 -L 485.781257 300.351819 + <path clip-path="url(#pd61168c6cd)" d="M 402.887345 241.105502 +L 388.625006 239.478901 " style="fill:none;stroke:#000000;stroke-width:3.072313;"/> - <path clip-path="url(#p6928b274a4)" d="M 485.781257 300.351819 -L 467.973918 298.136634 + <path clip-path="url(#pd61168c6cd)" d="M 388.625006 239.478901 +L 374.379134 237.773208 " style="fill:none;stroke:#000000;stroke-width:2.682891;"/> - <path clip-path="url(#p6928b274a4)" d="M 467.973918 298.136634 -L 450.18954 295.81512 + <path clip-path="url(#pd61168c6cd)" d="M 374.379134 237.773208 +L 360.151632 235.985642 " style="fill:none;stroke:#000000;stroke-width:2.32681;"/> - <path clip-path="url(#p6928b274a4)" d="M 450.18954 295.81512 -L 432.42958 293.387509 + <path clip-path="url(#pd61168c6cd)" d="M 360.151632 235.985642 +L 345.943664 234.116382 " style="fill:none;stroke:#000000;stroke-width:2.00418;"/> - <path clip-path="url(#p6928b274a4)" d="M 432.42958 293.387509 -L 414.692518 290.85939 + <path clip-path="url(#pd61168c6cd)" d="M 345.943664 234.116382 +L 331.754015 232.169731 " style="fill:none;stroke:#000000;stroke-width:1.714548;"/> - <path clip-path="url(#p6928b274a4)" d="M 414.692518 290.85939 -L 396.974463 288.253186 + <path clip-path="url(#pd61168c6cd)" d="M 331.754015 232.169731 +L 317.579571 230.162953 " style="fill:none;stroke:#000000;stroke-width:1.457679;"/> - <path clip-path="url(#p6928b274a4)" d="M 396.974463 288.253186 -L 379.265048 285.619867 + <path clip-path="url(#pd61168c6cd)" d="M 317.579571 230.162953 +L 303.412039 228.135297 " style="fill:none;stroke:#000000;stroke-width:1.23377;"/> - <path clip-path="url(#p6928b274a4)" d="M 379.265048 285.619867 -L 361.540241 283.056047 + <path clip-path="url(#pd61168c6cd)" d="M 303.412039 228.135297 +L 289.232193 226.161156 " style="fill:none;stroke:#000000;stroke-width:1.042353;"/> - <path clip-path="url(#p6928b274a4)" d="M 361.540241 283.056047 -L 343.759806 280.73841 + <path clip-path="url(#pd61168c6cd)" d="M 289.232193 226.161156 +L 275.007845 224.376576 " style="fill:none;stroke:#000000;stroke-width:0.883394;"/> - <path clip-path="url(#p6928b274a4)" d="M 343.759806 280.73841 -L 325.883577 278.97153 + <path clip-path="url(#pd61168c6cd)" d="M 275.007845 224.376576 +L 260.706861 223.016078 " style="fill:none;stroke:#000000;stroke-width:0.757647;"/> - <path clip-path="url(#p6928b274a4)" d="M 325.883577 278.97153 -L 309.924323 278.23369 + <path clip-path="url(#pd61168c6cd)" d="M 260.706861 223.016078 +L 247.939458 222.447942 " style="fill:none;stroke:#000000;stroke-width:0.66814;"/> - <path clip-path="url(#p6928b274a4)" d="M 309.924323 278.23369 -L 294.80629 278.605368 + <path clip-path="url(#pd61168c6cd)" d="M 247.939458 222.447942 +L 235.845032 222.734133 " style="fill:none;stroke:#000000;stroke-width:0.622907;"/> - <path clip-path="url(#p6928b274a4)" d="M 294.80629 278.605368 -L 279.263405 280.344532 + <path clip-path="url(#pd61168c6cd)" d="M 235.845032 222.734133 +L 223.410724 224.07329 " style="fill:none;stroke:#000000;stroke-width:0.615807;"/> - <path clip-path="url(#p6928b274a4)" d="M 279.263405 280.344532 -L 262.113487 283.997236 + <path clip-path="url(#pd61168c6cd)" d="M 223.410724 224.07329 +L 209.69079 226.885872 " style="fill:none;stroke:#000000;stroke-width:0.649517;"/> - <path clip-path="url(#p6928b274a4)" d="M 262.113487 283.997236 -L 245.436473 289.251902 + <path clip-path="url(#pd61168c6cd)" d="M 209.69079 226.885872 +L 196.349178 230.931964 " style="fill:none;stroke:#000000;stroke-width:0.740571;"/> - <path clip-path="url(#p6928b274a4)" d="M 245.436473 289.251902 -L 229.426588 295.654445 + <path clip-path="url(#pd61168c6cd)" d="M 196.349178 230.931964 +L 183.54127 235.861923 " style="fill:none;stroke:#000000;stroke-width:0.883687;"/> - <path clip-path="url(#p6928b274a4)" d="M 229.426588 295.654445 -L 213.974248 302.843485 + <path clip-path="url(#pd61168c6cd)" d="M 183.54127 235.861923 +L 171.179398 241.397484 " style="fill:none;stroke:#000000;stroke-width:1.068695;"/> - <path clip-path="url(#p6928b274a4)" d="M 213.974248 302.843485 -L 198.954657 310.567813 + <path clip-path="url(#pd61168c6cd)" d="M 171.179398 241.397484 +L 159.163725 247.345216 " style="fill:none;stroke:#000000;stroke-width:1.28969;"/> - <path clip-path="url(#p6928b274a4)" d="M 198.954657 310.567813 -L 184.261221 318.662382 + <path clip-path="url(#pd61168c6cd)" d="M 159.163725 247.345216 +L 147.408977 253.578034 " style="fill:none;stroke:#000000;stroke-width:1.541664;"/> - <path clip-path="url(#p6928b274a4)" d="M 184.261221 318.662382 -L 169.812633 327.018167 + <path clip-path="url(#pd61168c6cd)" d="M 147.408977 253.578034 +L 135.850106 260.011989 " style="fill:none;stroke:#000000;stroke-width:1.822229;"/> - <path clip-path="url(#p6928b274a4)" d="M 169.812633 327.018167 -L 155.549091 335.562741 + <path clip-path="url(#pd61168c6cd)" d="M 135.850106 260.011989 +L 124.439273 266.591311 " style="fill:none;stroke:#000000;stroke-width:2.130435;"/> - <path clip-path="url(#p6928b274a4)" d="M 155.549091 335.562741 -L 141.425909 344.246306 + <path clip-path="url(#pd61168c6cd)" d="M 124.439273 266.591311 +L 113.140727 273.277656 " style="fill:none;stroke:#000000;stroke-width:2.464656;"/> - <path clip-path="url(#p6928b274a4)" d="M 141.425909 344.246306 -L 127.410002 353.033718 + <path clip-path="url(#pd61168c6cd)" d="M 113.140727 273.277656 +L 101.928002 280.043963 " style="fill:none;stroke:#000000;stroke-width:2.82455;"/> - <path clip-path="url(#p6928b274a4)" d="M 127.410002 353.033718 -L 113.476576 361.899547 + <path clip-path="url(#pd61168c6cd)" d="M 101.928002 280.043963 +L 90.781261 286.870652 " style="fill:none;stroke:#000000;stroke-width:3.209768;"/> - <path clip-path="url(#p6928b274a4)" d="M 113.476576 361.899547 -L 99.606349 370.824836 + <path clip-path="url(#pd61168c6cd)" d="M 90.781261 286.870652 +L 79.685079 293.743124 " style="fill:none;stroke:#000000;stroke-width:3.620096;"/> - <path clip-path="url(#p6928b274a4)" d="M 99.606349 370.824836 -L 85.78476 379.795338 + <path clip-path="url(#pd61168c6cd)" d="M 79.685079 293.743124 +L 68.627808 300.65041 " style="fill:none;stroke:#000000;stroke-width:4.055242;"/> - <path clip-path="url(#p6928b274a4)" d="M 85.78476 379.795338 -L 72 388.8 + <path clip-path="url(#pd61168c6cd)" d="M 68.627808 300.65041 +L 57.6 307.584 " style="fill:none;stroke:#000000;stroke-width:4.515452;"/> - <path clip-path="url(#p6928b274a4)" d="M 238.771539 316.631563 -L 225.316906 325.921578 + <path clip-path="url(#pd61168c6cd)" d="M 191.017231 252.014303 +L 180.253525 259.167615 " style="fill:none;stroke:#000000;stroke-width:1.278002;"/> - <path clip-path="url(#p6928b274a4)" d="M 225.316906 325.921578 -L 212.458742 335.708393 + <path clip-path="url(#pd61168c6cd)" d="M 180.253525 259.167615 +L 169.966994 266.703463 " style="fill:none;stroke:#000000;stroke-width:1.531111;"/> - <path clip-path="url(#p6928b274a4)" d="M 212.458742 335.708393 -L 200.082222 345.86201 + <path clip-path="url(#pd61168c6cd)" d="M 169.966994 266.703463 +L 160.065778 274.521748 " style="fill:none;stroke:#000000;stroke-width:1.816331;"/> - <path clip-path="url(#p6928b274a4)" d="M 200.082222 345.86201 -L 188.101469 356.297206 + <path clip-path="url(#pd61168c6cd)" d="M 160.065778 274.521748 +L 150.481175 282.556848 " style="fill:none;stroke:#000000;stroke-width:2.130849;"/> - <path clip-path="url(#p6928b274a4)" d="M 188.101469 356.297206 -L 176.453966 366.95683 + <path clip-path="url(#pd61168c6cd)" d="M 150.481175 282.556848 +L 141.163173 290.764759 " style="fill:none;stroke:#000000;stroke-width:2.473402;"/> - <path clip-path="url(#p6928b274a4)" d="M 176.453966 366.95683 -L 165.093024 377.800716 + <path clip-path="url(#pd61168c6cd)" d="M 141.163173 290.764759 +L 132.07442 299.114552 " style="fill:none;stroke:#000000;stroke-width:2.843448;"/> - <path clip-path="url(#p6928b274a4)" d="M 165.093024 377.800716 -L 153.983471 388.8 + <path clip-path="url(#pd61168c6cd)" d="M 132.07442 299.114552 +L 123.186777 307.584 " style="fill:none;stroke:#000000;stroke-width:3.240704;"/> - <path clip-path="url(#p6928b274a4)" d="M 153.983471 388.8 -L 153.983471 388.8 + <path clip-path="url(#pd61168c6cd)" d="M 123.186777 307.584 +L 123.186777 307.584 " style="fill:none;stroke:#000000;stroke-width:3.664648;"/> - <path clip-path="url(#p6928b274a4)" d="M 153.983471 388.8 -L 153.983471 388.8 + <path clip-path="url(#pd61168c6cd)" d="M 123.186777 307.584 +L 123.186777 307.584 " style="fill:none;stroke:#000000;stroke-width:3.664648;"/> - <path clip-path="url(#p6928b274a4)" d="M 404.119803 302.088146 -L 386.097632 301.699877 + <path clip-path="url(#pd61168c6cd)" d="M 323.295842 240.815872 +L 308.878105 240.516905 " style="fill:none;stroke:#000000;stroke-width:1.363787;"/> - <path clip-path="url(#p6928b274a4)" d="M 386.097632 301.699877 -L 368.961878 302.106934 + <path clip-path="url(#pd61168c6cd)" d="M 308.878105 240.516905 +L 295.169503 240.830339 " style="fill:none;stroke:#000000;stroke-width:1.169048;"/> - <path clip-path="url(#p6928b274a4)" d="M 368.961878 302.106934 -L 353.965062 303.412261 + <path clip-path="url(#pd61168c6cd)" d="M 295.169503 240.830339 +L 283.17205 241.835441 " style="fill:none;stroke:#000000;stroke-width:1.023973;"/> - <path clip-path="url(#p6928b274a4)" d="M 353.965062 303.412261 -L 340.241072 305.715013 + <path clip-path="url(#pd61168c6cd)" d="M 283.17205 241.835441 +L 272.192857 243.60856 " style="fill:none;stroke:#000000;stroke-width:0.935295;"/> - <path clip-path="url(#p6928b274a4)" d="M 340.241072 305.715013 -L 327.048576 309.252325 + <path clip-path="url(#pd61168c6cd)" d="M 272.192857 243.60856 +L 261.63886 246.33229 " style="fill:none;stroke:#000000;stroke-width:0.892288;"/> - <path clip-path="url(#p6928b274a4)" d="M 327.048576 309.252325 -L 313.74846 314.462452 + <path clip-path="url(#pd61168c6cd)" d="M 261.63886 246.33229 +L 250.998768 250.344088 " style="fill:none;stroke:#000000;stroke-width:0.894795;"/> - <path clip-path="url(#p6928b274a4)" d="M 313.74846 314.462452 -L 299.926559 321.94445 + <path clip-path="url(#pd61168c6cd)" d="M 250.998768 250.344088 +L 239.941248 256.105226 " style="fill:none;stroke:#000000;stroke-width:0.951078;"/> - <path clip-path="url(#p6928b274a4)" d="M 299.926559 321.94445 -L 286.654316 331.357536 + <path clip-path="url(#pd61168c6cd)" d="M 239.941248 256.105226 +L 229.323453 263.353303 " style="fill:none;stroke:#000000;stroke-width:1.077804;"/> - <path clip-path="url(#p6928b274a4)" d="M 286.654316 331.357536 -L 274.71971 341.80581 + <path clip-path="url(#pd61168c6cd)" d="M 229.323453 263.353303 +L 219.775768 271.398474 " style="fill:none;stroke:#000000;stroke-width:1.275823;"/> - <path clip-path="url(#p6928b274a4)" d="M 274.71971 341.80581 -L 263.875847 352.952718 + <path clip-path="url(#pd61168c6cd)" d="M 219.775768 271.398474 +L 211.100677 279.981593 " style="fill:none;stroke:#000000;stroke-width:1.525825;"/> - <path clip-path="url(#p6928b274a4)" d="M 263.875847 352.952718 -L 253.906127 364.58296 + <path clip-path="url(#pd61168c6cd)" d="M 211.100677 279.981593 +L 203.124902 288.936879 " style="fill:none;stroke:#000000;stroke-width:1.819479;"/> - <path clip-path="url(#p6928b274a4)" d="M 253.906127 364.58296 -L 244.644602 376.561261 + <path clip-path="url(#pd61168c6cd)" d="M 203.124902 288.936879 +L 195.715682 298.160171 " style="fill:none;stroke:#000000;stroke-width:2.151133;"/> - <path clip-path="url(#p6928b274a4)" d="M 244.644602 376.561261 -L 235.966942 388.8 + <path clip-path="url(#pd61168c6cd)" d="M 195.715682 298.160171 +L 188.773554 307.584 " style="fill:none;stroke:#000000;stroke-width:2.518538;"/> - <path clip-path="url(#p6928b274a4)" d="M 235.966942 388.8 -L 235.966942 388.8 + <path clip-path="url(#pd61168c6cd)" d="M 188.773554 307.584 +L 188.773554 307.584 " style="fill:none;stroke:#000000;stroke-width:2.919218;"/> - <path clip-path="url(#p6928b274a4)" d="M 235.966942 388.8 -L 235.966942 388.8 + <path clip-path="url(#pd61168c6cd)" d="M 188.773554 307.584 +L 188.773554 307.584 " style="fill:none;stroke:#000000;stroke-width:2.919218;"/> - <path clip-path="url(#p6928b274a4)" d="M 518.4 324.116375 -L 505.676874 323.822913 + <path clip-path="url(#pd61168c6cd)" d="M 414.72 257.777608 +L 404.541499 257.551643 " style="fill:none;stroke:#000000;stroke-width:3.490174;"/> - <path clip-path="url(#p6928b274a4)" d="M 505.676874 323.822913 -L 487.646274 323.535729 + <path clip-path="url(#pd61168c6cd)" d="M 404.541499 257.551643 +L 390.117019 257.330511 " style="fill:none;stroke:#000000;stroke-width:3.194791;"/> - <path clip-path="url(#p6928b274a4)" d="M 487.646274 323.535729 -L 469.613145 323.573212 + <path clip-path="url(#pd61168c6cd)" d="M 390.117019 257.330511 +L 375.690516 257.359373 " style="fill:none;stroke:#000000;stroke-width:2.806717;"/> - <path clip-path="url(#p6928b274a4)" d="M 469.613145 323.573212 -L 451.594416 324.078689 + <path clip-path="url(#pd61168c6cd)" d="M 375.690516 257.359373 +L 361.275533 257.748591 " style="fill:none;stroke:#000000;stroke-width:2.456238;"/> - <path clip-path="url(#p6928b274a4)" d="M 451.594416 324.078689 -L 433.633198 325.258664 + <path clip-path="url(#pd61168c6cd)" d="M 361.275533 257.748591 +L 346.906559 258.657171 " style="fill:none;stroke:#000000;stroke-width:2.14588;"/> - <path clip-path="url(#p6928b274a4)" d="M 433.633198 325.258664 -L 416.529027 327.295037 + <path clip-path="url(#pd61168c6cd)" d="M 346.906559 258.657171 +L 333.223221 260.225179 " style="fill:none;stroke:#000000;stroke-width:1.87995;"/> - <path clip-path="url(#p6928b274a4)" d="M 416.529027 327.295037 -L 401.396592 330.159346 + <path clip-path="url(#pd61168c6cd)" d="M 333.223221 260.225179 +L 321.117274 262.430697 " style="fill:none;stroke:#000000;stroke-width:1.674022;"/> - <path clip-path="url(#p6928b274a4)" d="M 401.396592 330.159346 -L 387.559411 333.992726 + <path clip-path="url(#pd61168c6cd)" d="M 321.117274 262.430697 +L 310.047529 265.382399 " style="fill:none;stroke:#000000;stroke-width:1.538506;"/> - <path clip-path="url(#p6928b274a4)" d="M 387.559411 333.992726 -L 374.472522 339.052511 + <path clip-path="url(#pd61168c6cd)" d="M 310.047529 265.382399 +L 299.578017 269.278434 " style="fill:none;stroke:#000000;stroke-width:1.465055;"/> - <path clip-path="url(#p6928b274a4)" d="M 374.472522 339.052511 -L 361.682941 345.757659 + <path clip-path="url(#pd61168c6cd)" d="M 299.578017 269.278434 +L 289.346353 274.441397 " style="fill:none;stroke:#000000;stroke-width:1.453367;"/> - <path clip-path="url(#p6928b274a4)" d="M 361.682941 345.757659 -L 348.919988 354.656397 + <path clip-path="url(#pd61168c6cd)" d="M 289.346353 274.441397 +L 279.13599 281.293426 " style="fill:none;stroke:#000000;stroke-width:1.512958;"/> - <path clip-path="url(#p6928b274a4)" d="M 348.919988 354.656397 -L 337.198794 365.235897 + <path clip-path="url(#pd61168c6cd)" d="M 279.13599 281.293426 +L 269.759035 289.439641 " style="fill:none;stroke:#000000;stroke-width:1.661942;"/> - <path clip-path="url(#p6928b274a4)" d="M 337.198794 365.235897 -L 326.965064 376.71571 + <path clip-path="url(#pd61168c6cd)" d="M 269.759035 289.439641 +L 261.572052 298.279097 " style="fill:none;stroke:#000000;stroke-width:1.898405;"/> - <path clip-path="url(#p6928b274a4)" d="M 326.965064 376.71571 -L 317.950413 388.8 + <path clip-path="url(#pd61168c6cd)" d="M 261.572052 298.279097 +L 254.360331 307.584 " style="fill:none;stroke:#000000;stroke-width:2.201739;"/> - <path clip-path="url(#p6928b274a4)" d="M 317.950413 388.8 -L 317.950413 388.8 + <path clip-path="url(#pd61168c6cd)" d="M 254.360331 307.584 +L 254.360331 307.584 " style="fill:none;stroke:#000000;stroke-width:2.559063;"/> - <path clip-path="url(#p6928b274a4)" d="M 317.950413 388.8 -L 317.950413 388.8 + <path clip-path="url(#pd61168c6cd)" d="M 254.360331 307.584 +L 254.360331 307.584 " style="fill:none;stroke:#000000;stroke-width:2.559063;"/> - <path clip-path="url(#p6928b274a4)" d="M 471.004486 338.1937 -L 453.219031 340.450632 + <path clip-path="url(#pd61168c6cd)" d="M 376.803589 268.617149 +L 362.575225 270.354987 " style="fill:none;stroke:#000000;stroke-width:2.578204;"/> - <path clip-path="url(#p6928b274a4)" d="M 453.219031 340.450632 -L 436.678547 343.580052 + <path clip-path="url(#pd61168c6cd)" d="M 362.575225 270.354987 +L 349.342838 272.76464 " style="fill:none;stroke:#000000;stroke-width:2.298134;"/> - <path clip-path="url(#p6928b274a4)" d="M 436.678547 343.580052 -L 421.771727 347.581119 + <path clip-path="url(#pd61168c6cd)" d="M 349.342838 272.76464 +L 337.417382 275.845462 " style="fill:none;stroke:#000000;stroke-width:2.090415;"/> - <path clip-path="url(#p6928b274a4)" d="M 421.771727 347.581119 -L 407.947737 352.647736 + <path clip-path="url(#pd61168c6cd)" d="M 337.417382 275.845462 +L 326.358189 279.746757 " style="fill:none;stroke:#000000;stroke-width:1.959466;"/> - <path clip-path="url(#p6928b274a4)" d="M 407.947737 352.647736 -L 394.767418 359.092658 + <path clip-path="url(#pd61168c6cd)" d="M 326.358189 279.746757 +L 315.813935 284.709347 " style="fill:none;stroke:#000000;stroke-width:1.899564;"/> - <path clip-path="url(#p6928b274a4)" d="M 394.767418 359.092658 -L 381.890211 367.371379 + <path clip-path="url(#pd61168c6cd)" d="M 315.813935 284.709347 +L 305.512168 291.083962 " style="fill:none;stroke:#000000;stroke-width:1.915315;"/> - <path clip-path="url(#p6928b274a4)" d="M 381.890211 367.371379 -L 369.636778 377.578722 + <path clip-path="url(#pd61168c6cd)" d="M 305.512168 291.083962 +L 295.709423 298.943616 " style="fill:none;stroke:#000000;stroke-width:2.020456;"/> - <path clip-path="url(#p6928b274a4)" d="M 369.636778 377.578722 -L 358.942149 388.8 + <path clip-path="url(#pd61168c6cd)" d="M 295.709423 298.943616 +L 287.153719 307.584 " style="fill:none;stroke:#000000;stroke-width:2.227416;"/> - <path clip-path="url(#p6928b274a4)" d="M 358.942149 388.8 -L 358.942149 388.8 + <path clip-path="url(#pd61168c6cd)" d="M 287.153719 307.584 +L 287.153719 307.584 " style="fill:none;stroke:#000000;stroke-width:2.516297;"/> - <path clip-path="url(#p6928b274a4)" d="M 358.942149 388.8 -L 358.942149 388.8 + <path clip-path="url(#pd61168c6cd)" d="M 287.153719 307.584 +L 287.153719 307.584 " style="fill:none;stroke:#000000;stroke-width:2.516297;"/> - <path clip-path="url(#p6928b274a4)" d="M 518.4 363.141466 -L 504.05286 366.020861 -" style="fill:none;stroke:#000000;stroke-width:3.760261;"/> - <path clip-path="url(#p6928b274a4)" d="M 504.05286 366.020861 -L 486.797546 370.039351 + <path clip-path="url(#pd61168c6cd)" d="M 403.242288 290.044063 +L 389.438037 293.1383 " style="fill:none;stroke:#000000;stroke-width:3.483944;"/> - <path clip-path="url(#p6928b274a4)" d="M 486.797546 370.039351 -L 470.706396 375.009145 + <path clip-path="url(#pd61168c6cd)" d="M 389.438037 293.1383 +L 376.565117 296.965042 " style="fill:none;stroke:#000000;stroke-width:3.203376;"/> - <path clip-path="url(#p6928b274a4)" d="M 470.706396 375.009145 -L 455.841161 380.999301 + <path clip-path="url(#pd61168c6cd)" d="M 376.565117 296.965042 +L 364.672929 301.577462 " style="fill:none;stroke:#000000;stroke-width:3.010795;"/> - <path clip-path="url(#p6928b274a4)" d="M 455.841161 380.999301 -L 440.92562 388.8 + <path clip-path="url(#pd61168c6cd)" d="M 364.672929 301.577462 +L 352.740496 307.584 " style="fill:none;stroke:#000000;stroke-width:2.909558;"/> - <path clip-path="url(#p6928b274a4)" d="M 440.92562 388.8 -L 440.92562 388.8 + <path clip-path="url(#pd61168c6cd)" d="M 352.740496 307.584 +L 352.740496 307.584 " style="fill:none;stroke:#000000;stroke-width:2.905422;"/> - <path clip-path="url(#p6928b274a4)" d="M 107.618287 43.2 -L 102.346825 51.392321 + <path clip-path="url(#pd61168c6cd)" d="M 86.09463 41.472 +L 81.87746 47.780087 " style="fill:none;stroke:#000000;stroke-width:3.343641;"/> - <path clip-path="url(#p6928b274a4)" d="M 102.346825 51.392321 -L 94.15119 62.602857 + <path clip-path="url(#pd61168c6cd)" d="M 81.87746 47.780087 +L 75.320952 56.4122 " style="fill:none;stroke:#000000;stroke-width:3.201771;"/> - <path clip-path="url(#p6928b274a4)" d="M 94.15119 62.602857 -L 84.26267 73.143684 + <path clip-path="url(#pd61168c6cd)" d="M 75.320952 56.4122 +L 67.410136 64.528637 " style="fill:none;stroke:#000000;stroke-width:3.067927;"/> - <path clip-path="url(#p6928b274a4)" d="M 84.26267 73.143684 -L 72 83.345455 + <path clip-path="url(#pd61168c6cd)" d="M 67.410136 64.528637 +L 57.6 72.384 " style="fill:none;stroke:#000000;stroke-width:3.034823;"/> - <path clip-path="url(#p6928b274a4)" d="M 72 83.345455 -L 72 83.345455 + <path clip-path="url(#pd61168c6cd)" d="M 57.6 72.384 +L 57.6 72.384 " style="fill:none;stroke:#000000;stroke-width:3.115857;"/> - <path clip-path="url(#p6928b274a4)" d="M 72 83.345455 -L 72 83.345455 + <path clip-path="url(#pd61168c6cd)" d="M 57.6 72.384 +L 57.6 72.384 " style="fill:none;stroke:#000000;stroke-width:3.115857;"/> - <path clip-path="url(#p6928b274a4)" d="M 110.535472 85.115616 -L 99.912676 94.906481 + <path clip-path="url(#pd61168c6cd)" d="M 88.428378 73.747024 +L 79.930141 81.28599 " style="fill:none;stroke:#000000;stroke-width:2.422534;"/> - <path clip-path="url(#p6928b274a4)" d="M 99.912676 94.906481 -L 86.641206 104.31785 + <path clip-path="url(#pd61168c6cd)" d="M 79.930141 81.28599 +L 69.312965 88.532745 " style="fill:none;stroke:#000000;stroke-width:2.457522;"/> - <path clip-path="url(#p6928b274a4)" d="M 86.641206 104.31785 -L 72 112.436364 + <path clip-path="url(#pd61168c6cd)" d="M 69.312965 88.532745 +L 57.6 94.784 " style="fill:none;stroke:#000000;stroke-width:2.607241;"/> - <path clip-path="url(#p6928b274a4)" d="M 72 112.436364 -L 72 112.436364 + <path clip-path="url(#pd61168c6cd)" d="M 57.6 94.784 +L 57.6 94.784 " style="fill:none;stroke:#000000;stroke-width:2.85673;"/> - <path clip-path="url(#p6928b274a4)" d="M 72 112.436364 -L 72 112.436364 + <path clip-path="url(#pd61168c6cd)" d="M 57.6 94.784 +L 57.6 94.784 " style="fill:none;stroke:#000000;stroke-width:2.85673;"/> - <path clip-path="url(#p6928b274a4)" d="M 164.344562 43.2 -L 164.274899 43.637697 -" style="fill:none;stroke:#000000;stroke-width:2.883401;"/> - <path clip-path="url(#p6928b274a4)" d="M 164.274899 43.637697 -L 161.632472 57.444929 -" style="fill:none;stroke:#000000;stroke-width:2.870882;"/> - <path clip-path="url(#p6928b274a4)" d="M 161.632472 57.444929 -L 157.951089 70.641918 + <path clip-path="url(#pd61168c6cd)" d="M 131.4055 41.472 +L 131.354743 41.803398 +" style="fill:none;stroke:#000000;stroke-width:2.88388;"/> + <path clip-path="url(#pd61168c6cd)" d="M 131.354743 41.803398 +L 129.305978 52.440595 +" style="fill:none;stroke:#000000;stroke-width:2.871544;"/> + <path clip-path="url(#pd61168c6cd)" d="M 129.305978 52.440595 +L 126.360871 62.602277 " style="fill:none;stroke:#000000;stroke-width:2.496084;"/> - <path clip-path="url(#p6928b274a4)" d="M 157.951089 70.641918 -L 153.299684 82.212976 + <path clip-path="url(#pd61168c6cd)" d="M 126.360871 62.602277 +L 122.639747 71.511991 " style="fill:none;stroke:#000000;stroke-width:2.188808;"/> - <path clip-path="url(#p6928b274a4)" d="M 153.299684 82.212976 -L 147.495785 92.632348 + <path clip-path="url(#pd61168c6cd)" d="M 122.639747 71.511991 +L 117.996628 79.534908 " style="fill:none;stroke:#000000;stroke-width:1.971522;"/> - <path clip-path="url(#p6928b274a4)" d="M 147.495785 92.632348 -L 140.195975 102.305775 + <path clip-path="url(#pd61168c6cd)" d="M 117.996628 79.534908 +L 112.15678 86.983447 " style="fill:none;stroke:#000000;stroke-width:1.831501;"/> - <path clip-path="url(#p6928b274a4)" d="M 140.195975 102.305775 -L 130.834395 111.5596 + <path clip-path="url(#pd61168c6cd)" d="M 112.15678 86.983447 +L 104.667516 94.108892 " style="fill:none;stroke:#000000;stroke-width:1.765089;"/> - <path clip-path="url(#p6928b274a4)" d="M 130.834395 111.5596 -L 118.603128 120.605731 + <path clip-path="url(#pd61168c6cd)" d="M 104.667516 94.108892 +L 94.882503 101.074413 " style="fill:none;stroke:#000000;stroke-width:1.780783;"/> - <path clip-path="url(#p6928b274a4)" d="M 118.603128 120.605731 -L 104.02397 128.779016 + <path clip-path="url(#pd61168c6cd)" d="M 94.882503 101.074413 +L 83.219176 107.367842 " style="fill:none;stroke:#000000;stroke-width:1.89706;"/> - <path clip-path="url(#p6928b274a4)" d="M 104.02397 128.779016 -L 88.357122 135.664881 + <path clip-path="url(#pd61168c6cd)" d="M 83.219176 107.367842 +L 70.685698 112.669958 " style="fill:none;stroke:#000000;stroke-width:2.117445;"/> - <path clip-path="url(#p6928b274a4)" d="M 88.357122 135.664881 -L 72 141.527273 + <path clip-path="url(#pd61168c6cd)" d="M 70.685698 112.669958 +L 57.6 117.184 " style="fill:none;stroke:#000000;stroke-width:2.415875;"/> - <path clip-path="url(#p6928b274a4)" d="M 72 141.527273 -L 72 141.527273 + <path clip-path="url(#pd61168c6cd)" d="M 57.6 117.184 +L 57.6 117.184 " style="fill:none;stroke:#000000;stroke-width:2.774604;"/> - <path clip-path="url(#p6928b274a4)" d="M 72 141.527273 -L 72 141.527273 + <path clip-path="url(#pd61168c6cd)" d="M 57.6 117.184 +L 57.6 117.184 " style="fill:none;stroke:#000000;stroke-width:2.774604;"/> - <path clip-path="url(#p6928b274a4)" d="M 156.824535 113.258488 -L 147.93536 122.134008 + <path clip-path="url(#pd61168c6cd)" d="M 125.459628 95.417036 +L 118.348288 102.251186 " style="fill:none;stroke:#000000;stroke-width:1.423395;"/> - <path clip-path="url(#p6928b274a4)" d="M 147.93536 122.134008 -L 135.945414 130.904371 + <path clip-path="url(#pd61168c6cd)" d="M 118.348288 102.251186 +L 108.756331 109.004365 " style="fill:none;stroke:#000000;stroke-width:1.439756;"/> - <path clip-path="url(#p6928b274a4)" d="M 135.945414 130.904371 -L 121.218721 138.912435 + <path clip-path="url(#pd61168c6cd)" d="M 108.756331 109.004365 +L 96.974976 115.170575 " style="fill:none;stroke:#000000;stroke-width:1.55092;"/> - <path clip-path="url(#p6928b274a4)" d="M 121.218721 138.912435 -L 105.391564 145.574429 + <path clip-path="url(#pd61168c6cd)" d="M 96.974976 115.170575 +L 84.313251 120.30031 " style="fill:none;stroke:#000000;stroke-width:1.764789;"/> - <path clip-path="url(#p6928b274a4)" d="M 105.391564 145.574429 -L 88.900153 151.207735 + <path clip-path="url(#pd61168c6cd)" d="M 84.313251 120.30031 +L 71.120122 124.637956 " style="fill:none;stroke:#000000;stroke-width:2.051374;"/> - <path clip-path="url(#p6928b274a4)" d="M 88.900153 151.207735 -L 72 156.072727 + <path clip-path="url(#pd61168c6cd)" d="M 71.120122 124.637956 +L 57.6 128.384 " style="fill:none;stroke:#000000;stroke-width:2.393521;"/> - <path clip-path="url(#p6928b274a4)" d="M 72 156.072727 -L 72 156.072727 + <path clip-path="url(#pd61168c6cd)" d="M 57.6 128.384 +L 57.6 128.384 " style="fill:none;stroke:#000000;stroke-width:2.782102;"/> - <path clip-path="url(#p6928b274a4)" d="M 72 156.072727 -L 72 156.072727 + <path clip-path="url(#pd61168c6cd)" d="M 57.6 128.384 +L 57.6 128.384 " style="fill:none;stroke:#000000;stroke-width:2.782102;"/> - <path clip-path="url(#p6928b274a4)" d="M 164.758788 135.875867 -L 154.223321 142.952479 + <path clip-path="url(#pd61168c6cd)" d="M 131.80703 112.832418 +L 123.378657 118.281409 " style="fill:none;stroke:#000000;stroke-width:1.115843;"/> - <path clip-path="url(#p6928b274a4)" d="M 154.223321 142.952479 -L 154.223321 142.952479 + <path clip-path="url(#pd61168c6cd)" d="M 123.378657 118.281409 +L 123.378657 118.281409 " style="fill:none;stroke:#000000;stroke-width:1.221916;"/> - <path clip-path="url(#p6928b274a4)" d="M 154.223321 142.952479 -L 139.127301 150.536713 + <path clip-path="url(#pd61168c6cd)" d="M 123.378657 118.281409 +L 111.301841 124.121269 " style="fill:none;stroke:#000000;stroke-width:1.221916;"/> - <path clip-path="url(#p6928b274a4)" d="M 139.127301 150.536713 -L 123.006717 156.767114 + <path clip-path="url(#pd61168c6cd)" d="M 111.301841 124.121269 +L 98.405374 128.918678 " style="fill:none;stroke:#000000;stroke-width:1.435471;"/> - <path clip-path="url(#p6928b274a4)" d="M 123.006717 156.767114 -L 106.306695 162.022914 + <path clip-path="url(#pd61168c6cd)" d="M 98.405374 128.918678 +L 85.045356 132.965643 " style="fill:none;stroke:#000000;stroke-width:1.712888;"/> - <path clip-path="url(#p6928b274a4)" d="M 106.306695 162.022914 -L 89.262247 166.578603 + <path clip-path="url(#pd61168c6cd)" d="M 85.045356 132.965643 +L 71.409798 136.473525 " style="fill:none;stroke:#000000;stroke-width:2.038857;"/> - <path clip-path="url(#p6928b274a4)" d="M 89.262247 166.578603 -L 72 170.618182 + <path clip-path="url(#pd61168c6cd)" d="M 71.409798 136.473525 +L 57.6 139.584 " style="fill:none;stroke:#000000;stroke-width:2.406605;"/> - <path clip-path="url(#p6928b274a4)" d="M 72 170.618182 -L 72 170.618182 + <path clip-path="url(#pd61168c6cd)" d="M 57.6 139.584 +L 57.6 139.584 " style="fill:none;stroke:#000000;stroke-width:2.812216;"/> - <path clip-path="url(#p6928b274a4)" d="M 72 170.618182 -L 72 170.618182 + <path clip-path="url(#pd61168c6cd)" d="M 57.6 139.584 +L 57.6 139.584 " style="fill:none;stroke:#000000;stroke-width:2.812216;"/> - <path clip-path="url(#p6928b274a4)" d="M 157.635751 163.69181 -L 141.071865 169.192045 + <path clip-path="url(#pd61168c6cd)" d="M 126.108601 134.250694 +L 112.857492 138.485875 " style="fill:none;stroke:#000000;stroke-width:1.142169;"/> - <path clip-path="url(#p6928b274a4)" d="M 141.071865 169.192045 -L 124.091768 173.886589 + <path clip-path="url(#pd61168c6cd)" d="M 112.857492 138.485875 +L 99.273414 142.100674 " style="fill:none;stroke:#000000;stroke-width:1.410254;"/> - <path clip-path="url(#p6928b274a4)" d="M 124.091768 173.886589 -L 106.867841 178.021853 + <path clip-path="url(#pd61168c6cd)" d="M 99.273414 142.100674 +L 85.494273 145.284827 " style="fill:none;stroke:#000000;stroke-width:1.718915;"/> - <path clip-path="url(#p6928b274a4)" d="M 106.867841 178.021853 -L 89.487556 181.748611 + <path clip-path="url(#pd61168c6cd)" d="M 85.494273 145.284827 +L 71.590044 148.154431 " style="fill:none;stroke:#000000;stroke-width:2.064088;"/> - <path clip-path="url(#p6928b274a4)" d="M 89.487556 181.748611 -L 72 185.163636 + <path clip-path="url(#pd61168c6cd)" d="M 71.590044 148.154431 +L 57.6 150.784 " style="fill:none;stroke:#000000;stroke-width:2.444333;"/> - <path clip-path="url(#p6928b274a4)" d="M 72 185.163636 -L 72 185.163636 + <path clip-path="url(#pd61168c6cd)" d="M 57.6 150.784 +L 57.6 150.784 " style="fill:none;stroke:#000000;stroke-width:2.858942;"/> - <path clip-path="url(#p6928b274a4)" d="M 72 185.163636 -L 72 185.163636 + <path clip-path="url(#pd61168c6cd)" d="M 57.6 150.784 +L 57.6 150.784 " style="fill:none;stroke:#000000;stroke-width:2.858942;"/> - <path clip-path="url(#p6928b274a4)" d="M 426.377812 277.212434 -L 409.288792 272.758421 + <path clip-path="url(#pd61168c6cd)" d="M 341.10225 221.661575 +L 327.431033 218.231984 " style="fill:none;stroke:#000000;stroke-width:1.5926;"/> - <path clip-path="url(#p6928b274a4)" d="M 409.288792 272.758421 -L 392.470047 267.730611 + <path clip-path="url(#pd61168c6cd)" d="M 327.431033 218.231984 +L 313.976037 214.36057 " style="fill:none;stroke:#000000;stroke-width:1.35366;"/> - <path clip-path="url(#p6928b274a4)" d="M 392.470047 267.730611 -L 376.020604 262.023752 + <path clip-path="url(#pd61168c6cd)" d="M 313.976037 214.36057 +L 300.816483 209.966289 " style="fill:none;stroke:#000000;stroke-width:1.147274;"/> - <path clip-path="url(#p6928b274a4)" d="M 376.020604 262.023752 -L 360.065864 255.533588 + <path clip-path="url(#pd61168c6cd)" d="M 300.816483 209.966289 +L 288.052691 204.968863 " style="fill:none;stroke:#000000;stroke-width:0.972773;"/> - <path clip-path="url(#p6928b274a4)" d="M 360.065864 255.533588 -L 344.744962 248.188135 + <path clip-path="url(#pd61168c6cd)" d="M 288.052691 204.968863 +L 275.795969 199.312864 " style="fill:none;stroke:#000000;stroke-width:0.827815;"/> - <path clip-path="url(#p6928b274a4)" d="M 344.744962 248.188135 -L 330.176029 239.978372 + <path clip-path="url(#pd61168c6cd)" d="M 275.795969 199.312864 +L 264.140824 192.991346 " style="fill:none;stroke:#000000;stroke-width:0.709829;"/> - <path clip-path="url(#p6928b274a4)" d="M 330.176029 239.978372 -L 316.399072 230.983226 + <path clip-path="url(#pd61168c6cd)" d="M 264.140824 192.991346 +L 253.119258 186.065084 " style="fill:none;stroke:#000000;stroke-width:0.613354;"/> - <path clip-path="url(#p6928b274a4)" d="M 316.399072 230.983226 -L 303.304969 221.387938 + <path clip-path="url(#pd61168c6cd)" d="M 253.119258 186.065084 +L 242.643975 178.676712 " style="fill:none;stroke:#000000;stroke-width:0.531887;"/> - <path clip-path="url(#p6928b274a4)" d="M 303.304969 221.387938 -L 290.54572 211.521594 + <path clip-path="url(#pd61168c6cd)" d="M 242.643975 178.676712 +L 232.436576 171.079628 " style="fill:none;stroke:#000000;stroke-width:0.458073;"/> - <path clip-path="url(#p6928b274a4)" d="M 290.54572 211.521594 -L 280.205037 203.846641 + <path clip-path="url(#pd61168c6cd)" d="M 232.436576 171.079628 +L 224.16403 165.169914 " style="fill:none;stroke:#000000;stroke-width:0.385806;"/> - <path clip-path="url(#p6928b274a4)" d="M 280.205037 203.846641 -L 271.653584 198.37592 + <path clip-path="url(#pd61168c6cd)" d="M 224.16403 165.169914 +L 217.322867 160.957458 " style="fill:none;stroke:#000000;stroke-width:0.329313;"/> - <path clip-path="url(#p6928b274a4)" d="M 271.653584 198.37592 -L 263.357627 194.286457 + <path clip-path="url(#pd61168c6cd)" d="M 217.322867 160.957458 +L 210.686102 157.808572 " style="fill:none;stroke:#000000;stroke-width:0.290633;"/> - <path clip-path="url(#p6928b274a4)" d="M 263.357627 194.286457 -L 253.68507 191.222686 + <path clip-path="url(#pd61168c6cd)" d="M 210.686102 157.808572 +L 202.948056 155.449469 " style="fill:none;stroke:#000000;stroke-width:0.268636;"/> - <path clip-path="url(#p6928b274a4)" d="M 253.68507 191.222686 -L 243.533559 189.738661 + <path clip-path="url(#pd61168c6cd)" d="M 202.948056 155.449469 +L 194.826847 154.306769 " style="fill:none;stroke:#000000;stroke-width:0.269885;"/> - <path clip-path="url(#p6928b274a4)" d="M 243.533559 189.738661 -L 243.533559 189.738661 + <path clip-path="url(#pd61168c6cd)" d="M 194.826847 154.306769 +L 194.826847 154.306769 " style="fill:none;stroke:#000000;stroke-width:0.302779;"/> - <path clip-path="url(#p6928b274a4)" d="M 243.533559 189.738661 -L 231.057571 189.600525 + <path clip-path="url(#pd61168c6cd)" d="M 194.826847 154.306769 +L 184.846057 154.200405 " style="fill:none;stroke:#000000;stroke-width:0.302779;"/> - <path clip-path="url(#p6928b274a4)" d="M 231.057571 189.600525 -L 231.057571 189.600525 + <path clip-path="url(#pd61168c6cd)" d="M 184.846057 154.200405 +L 184.846057 154.200405 " style="fill:none;stroke:#000000;stroke-width:0.378183;"/> - <path clip-path="url(#p6928b274a4)" d="M 231.057571 189.600525 -L 213.162252 191.1786 + <path clip-path="url(#pd61168c6cd)" d="M 184.846057 154.200405 +L 170.529802 155.415522 " style="fill:none;stroke:#000000;stroke-width:0.378183;"/> - <path clip-path="url(#p6928b274a4)" d="M 213.162252 191.1786 -L 195.429104 193.706747 + <path clip-path="url(#pd61168c6cd)" d="M 170.529802 155.415522 +L 156.343283 157.362195 " style="fill:none;stroke:#000000;stroke-width:0.531231;"/> - <path clip-path="url(#p6928b274a4)" d="M 195.429104 193.706747 -L 177.785057 196.600036 + <path clip-path="url(#pd61168c6cd)" d="M 156.343283 157.362195 +L 142.228046 159.590028 " style="fill:none;stroke:#000000;stroke-width:0.722786;"/> - <path clip-path="url(#p6928b274a4)" d="M 177.785057 196.600036 -L 160.175648 199.619358 + <path clip-path="url(#pd61168c6cd)" d="M 142.228046 159.590028 +L 128.140518 161.914906 " style="fill:none;stroke:#000000;stroke-width:0.94827;"/> - <path clip-path="url(#p6928b274a4)" d="M 160.175648 199.619358 -L 142.571209 202.656297 + <path clip-path="url(#pd61168c6cd)" d="M 128.140518 161.914906 +L 114.056967 164.253349 " style="fill:none;stroke:#000000;stroke-width:1.206493;"/> - <path clip-path="url(#p6928b274a4)" d="M 142.571209 202.656297 -L 124.956712 205.658241 + <path clip-path="url(#pd61168c6cd)" d="M 114.056967 164.253349 +L 99.965369 166.564846 " style="fill:none;stroke:#000000;stroke-width:1.497143;"/> - <path clip-path="url(#p6928b274a4)" d="M 124.956712 205.658241 -L 107.325032 208.599205 + <path clip-path="url(#pd61168c6cd)" d="M 99.965369 166.564846 +L 85.860026 168.829388 " style="fill:none;stroke:#000000;stroke-width:1.820255;"/> - <path clip-path="url(#p6928b274a4)" d="M 107.325032 208.599205 -L 89.673109 211.466517 + <path clip-path="url(#pd61168c6cd)" d="M 85.860026 168.829388 +L 71.738487 171.037218 " style="fill:none;stroke:#000000;stroke-width:2.175943;"/> - <path clip-path="url(#p6928b274a4)" d="M 89.673109 211.466517 -L 72 214.254545 + <path clip-path="url(#pd61168c6cd)" d="M 71.738487 171.037218 +L 57.6 173.184 " style="fill:none;stroke:#000000;stroke-width:2.564339;"/> - <path clip-path="url(#p6928b274a4)" d="M 72 214.254545 -L 72 214.254545 + <path clip-path="url(#pd61168c6cd)" d="M 57.6 173.184 +L 57.6 173.184 " style="fill:none;stroke:#000000;stroke-width:2.985576;"/> - <path clip-path="url(#p6928b274a4)" d="M 72 214.254545 -L 72 214.254545 + <path clip-path="url(#pd61168c6cd)" d="M 57.6 173.184 +L 57.6 173.184 " style="fill:none;stroke:#000000;stroke-width:2.985576;"/> - <path clip-path="url(#p6928b274a4)" d="M 290.249031 238.848271 -L 275.814832 233.049295 + <path clip-path="url(#pd61168c6cd)" d="M 232.199225 192.121169 +L 220.651865 187.655957 " style="fill:none;stroke:#000000;stroke-width:0.470569;"/> - <path clip-path="url(#p6928b274a4)" d="M 275.814832 233.049295 -L 262.635551 228.720632 + <path clip-path="url(#pd61168c6cd)" d="M 220.651865 187.655957 +L 210.108441 184.322887 " style="fill:none;stroke:#000000;stroke-width:0.444031;"/> - <path clip-path="url(#p6928b274a4)" d="M 262.635551 228.720632 -L 248.703034 225.516421 + <path clip-path="url(#pd61168c6cd)" d="M 210.108441 184.322887 +L 198.962427 181.855644 " style="fill:none;stroke:#000000;stroke-width:0.441556;"/> - <path clip-path="url(#p6928b274a4)" d="M 248.703034 225.516421 -L 231.817655 223.556447 + <path clip-path="url(#pd61168c6cd)" d="M 198.962427 181.855644 +L 185.454124 180.346464 " style="fill:none;stroke:#000000;stroke-width:0.468287;"/> - <path clip-path="url(#p6928b274a4)" d="M 231.817655 223.556447 -L 213.817504 223.384358 + <path clip-path="url(#pd61168c6cd)" d="M 185.454124 180.346464 +L 171.054003 180.213955 " style="fill:none;stroke:#000000;stroke-width:0.546915;"/> - <path clip-path="url(#p6928b274a4)" d="M 213.817504 223.384358 -L 195.858358 224.559333 + <path clip-path="url(#pd61168c6cd)" d="M 171.054003 180.213955 +L 156.686686 181.118687 " style="fill:none;stroke:#000000;stroke-width:0.683653;"/> - <path clip-path="url(#p6928b274a4)" d="M 195.858358 224.559333 -L 178.010723 226.549414 + <path clip-path="url(#pd61168c6cd)" d="M 156.686686 181.118687 +L 142.408578 182.651049 " style="fill:none;stroke:#000000;stroke-width:0.867369;"/> - <path clip-path="url(#p6928b274a4)" d="M 178.010723 226.549414 -L 160.257665 229.008177 + <path clip-path="url(#pd61168c6cd)" d="M 142.408578 182.651049 +L 128.206132 184.544297 " style="fill:none;stroke:#000000;stroke-width:1.090898;"/> - <path clip-path="url(#p6928b274a4)" d="M 160.257665 229.008177 -L 142.566728 231.726203 + <path clip-path="url(#pd61168c6cd)" d="M 128.206132 184.544297 +L 114.053382 186.637176 " style="fill:none;stroke:#000000;stroke-width:1.350186;"/> - <path clip-path="url(#p6928b274a4)" d="M 142.566728 231.726203 -L 124.911398 234.580837 + <path clip-path="url(#pd61168c6cd)" d="M 114.053382 186.637176 +L 99.929119 188.835244 " style="fill:none;stroke:#000000;stroke-width:1.643352;"/> - <path clip-path="url(#p6928b274a4)" d="M 124.911398 234.580837 -L 107.272943 237.497602 + <path clip-path="url(#pd61168c6cd)" d="M 99.929119 188.835244 +L 85.818354 191.081153 " style="fill:none;stroke:#000000;stroke-width:1.969637;"/> - <path clip-path="url(#p6928b274a4)" d="M 107.272943 237.497602 -L 89.638557 240.429089 + <path clip-path="url(#pd61168c6cd)" d="M 85.818354 191.081153 +L 71.710846 193.338399 " style="fill:none;stroke:#000000;stroke-width:2.328596;"/> - <path clip-path="url(#p6928b274a4)" d="M 89.638557 240.429089 -L 72 243.345455 + <path clip-path="url(#pd61168c6cd)" d="M 71.710846 193.338399 +L 57.6 195.584 " style="fill:none;stroke:#000000;stroke-width:2.720112;"/> - <path clip-path="url(#p6928b274a4)" d="M 72 243.345455 -L 72 243.345455 + <path clip-path="url(#pd61168c6cd)" d="M 57.6 195.584 +L 57.6 195.584 " style="fill:none;stroke:#000000;stroke-width:3.144189;"/> - <path clip-path="url(#p6928b274a4)" d="M 72 243.345455 -L 72 243.345455 + <path clip-path="url(#pd61168c6cd)" d="M 57.6 195.584 +L 57.6 195.584 " style="fill:none;stroke:#000000;stroke-width:3.144189;"/> - <path clip-path="url(#p6928b274a4)" d="M 247.963098 244.590555 -L 229.96415 244.476336 + <path clip-path="url(#pd61168c6cd)" d="M 198.370479 196.542727 +L 183.97132 196.454778 " style="fill:none;stroke:#000000;stroke-width:0.558875;"/> - <path clip-path="url(#p6928b274a4)" d="M 229.96415 244.476336 -L 212.026139 245.788314 + <path clip-path="url(#pd61168c6cd)" d="M 183.97132 196.454778 +L 169.620911 197.465002 " style="fill:none;stroke:#000000;stroke-width:0.665551;"/> - <path clip-path="url(#p6928b274a4)" d="M 212.026139 245.788314 -L 194.243483 248.085501 + <path clip-path="url(#pd61168c6cd)" d="M 169.620911 197.465002 +L 155.394786 199.233836 " style="fill:none;stroke:#000000;stroke-width:0.820308;"/> - <path clip-path="url(#p6928b274a4)" d="M 194.243483 248.085501 -L 176.609376 251.005965 + <path clip-path="url(#pd61168c6cd)" d="M 155.394786 199.233836 +L 141.287501 201.482593 " style="fill:none;stroke:#000000;stroke-width:1.017013;"/> - <path clip-path="url(#p6928b274a4)" d="M 176.609376 251.005965 -L 159.083698 254.300786 + <path clip-path="url(#pd61168c6cd)" d="M 141.287501 201.482593 +L 127.266958 204.019605 " style="fill:none;stroke:#000000;stroke-width:1.250694;"/> - <path clip-path="url(#p6928b274a4)" d="M 159.083698 254.300786 -L 141.627104 257.810856 + <path clip-path="url(#pd61168c6cd)" d="M 127.266958 204.019605 +L 113.301683 206.722359 " style="fill:none;stroke:#000000;stroke-width:1.518547;"/> - <path clip-path="url(#p6928b274a4)" d="M 141.627104 257.810856 -L 124.209015 261.434575 + <path clip-path="url(#pd61168c6cd)" d="M 113.301683 206.722359 +L 99.367212 209.512623 " style="fill:none;stroke:#000000;stroke-width:1.819101;"/> - <path clip-path="url(#p6928b274a4)" d="M 124.209015 261.434575 -L 106.807606 265.106294 + <path clip-path="url(#pd61168c6cd)" d="M 99.367212 209.512623 +L 85.446085 212.339846 " style="fill:none;stroke:#000000;stroke-width:2.151631;"/> - <path clip-path="url(#p6928b274a4)" d="M 106.807606 265.106294 -L 89.407926 268.783028 + <path clip-path="url(#pd61168c6cd)" d="M 85.446085 212.339846 +L 71.526341 215.170931 " style="fill:none;stroke:#000000;stroke-width:2.515823;"/> - <path clip-path="url(#p6928b274a4)" d="M 89.407926 268.783028 -L 72 272.436364 + <path clip-path="url(#pd61168c6cd)" d="M 71.526341 215.170931 +L 57.6 217.984 " style="fill:none;stroke:#000000;stroke-width:2.911589;"/> - <path clip-path="url(#p6928b274a4)" d="M 72 272.436364 -L 72 272.436364 + <path clip-path="url(#pd61168c6cd)" d="M 57.6 217.984 +L 57.6 217.984 " style="fill:none;stroke:#000000;stroke-width:3.338962;"/> - <path clip-path="url(#p6928b274a4)" d="M 72 272.436364 -L 72 272.436364 + <path clip-path="url(#pd61168c6cd)" d="M 57.6 217.984 +L 57.6 217.984 " style="fill:none;stroke:#000000;stroke-width:3.338962;"/> - <path clip-path="url(#p6928b274a4)" d="M 158.012368 266.002945 -L 140.776467 270.115728 + <path clip-path="url(#pd61168c6cd)" d="M 126.409894 213.030268 +L 112.621174 216.197111 " style="fill:none;stroke:#000000;stroke-width:1.616478;"/> - <path clip-path="url(#p6928b274a4)" d="M 140.776467 270.115728 -L 123.576775 274.318829 + <path clip-path="url(#pd61168c6cd)" d="M 112.621174 216.197111 +L 98.86142 219.433498 " style="fill:none;stroke:#000000;stroke-width:1.922543;"/> - <path clip-path="url(#p6928b274a4)" d="M 123.576775 274.318829 -L 106.390723 278.554927 + <path clip-path="url(#pd61168c6cd)" d="M 98.86142 219.433498 +L 85.112579 222.695294 " style="fill:none;stroke:#000000;stroke-width:2.259803;"/> - <path clip-path="url(#p6928b274a4)" d="M 106.390723 278.554927 -L 89.202105 282.784752 + <path clip-path="url(#pd61168c6cd)" d="M 85.112579 222.695294 +L 71.361684 225.952259 " style="fill:none;stroke:#000000;stroke-width:2.627813;"/> - <path clip-path="url(#p6928b274a4)" d="M 89.202105 282.784752 -L 72 286.981818 + <path clip-path="url(#pd61168c6cd)" d="M 71.361684 225.952259 +L 57.6 229.184 " style="fill:none;stroke:#000000;stroke-width:3.026528;"/> - <path clip-path="url(#p6928b274a4)" d="M 72 286.981818 -L 72 286.981818 + <path clip-path="url(#pd61168c6cd)" d="M 57.6 229.184 +L 57.6 229.184 " style="fill:none;stroke:#000000;stroke-width:3.456022;"/> - <path clip-path="url(#p6928b274a4)" d="M 72 286.981818 -L 72 286.981818 + <path clip-path="url(#pd61168c6cd)" d="M 57.6 229.184 +L 57.6 229.184 " style="fill:none;stroke:#000000;stroke-width:3.456022;"/> - <path clip-path="url(#p6928b274a4)" d="M 139.639569 282.100738 -L 122.730554 286.959027 + <path clip-path="url(#pd61168c6cd)" d="M 111.711655 225.425568 +L 98.184443 229.166451 " style="fill:none;stroke:#000000;stroke-width:2.040669;"/> - <path clip-path="url(#p6928b274a4)" d="M 122.730554 286.959027 -L 105.83103 291.837322 + <path clip-path="url(#pd61168c6cd)" d="M 98.184443 229.166451 +L 84.664824 232.922738 " style="fill:none;stroke:#000000;stroke-width:2.383563;"/> - <path clip-path="url(#p6928b274a4)" d="M 105.83103 291.837322 -L 88.924773 296.701487 + <path clip-path="url(#pd61168c6cd)" d="M 84.664824 232.922738 +L 71.139818 236.668145 " style="fill:none;stroke:#000000;stroke-width:2.756305;"/> - <path clip-path="url(#p6928b274a4)" d="M 88.924773 296.701487 -L 72 301.527273 + <path clip-path="url(#pd61168c6cd)" d="M 71.139818 236.668145 +L 57.6 240.384 " style="fill:none;stroke:#000000;stroke-width:3.158806;"/> - <path clip-path="url(#p6928b274a4)" d="M 72 301.527273 -L 72 301.527273 + <path clip-path="url(#pd61168c6cd)" d="M 57.6 240.384 +L 57.6 240.384 " style="fill:none;stroke:#000000;stroke-width:3.590959;"/> - <path clip-path="url(#p6928b274a4)" d="M 72 301.527273 -L 72 301.527273 + <path clip-path="url(#pd61168c6cd)" d="M 57.6 240.384 +L 57.6 240.384 " style="fill:none;stroke:#000000;stroke-width:3.590959;"/> - <path clip-path="url(#p6928b274a4)" d="M 121.65971 299.43957 -L 105.119365 305.007066 + <path clip-path="url(#pd61168c6cd)" d="M 97.327768 238.776469 +L 84.095492 243.063441 " style="fill:none;stroke:#000000;stroke-width:2.526142;"/> - <path clip-path="url(#p6928b274a4)" d="M 105.119365 305.007066 -L 88.570004 310.558495 + <path clip-path="url(#pd61168c6cd)" d="M 84.095492 243.063441 +L 70.856003 247.338041 " style="fill:none;stroke:#000000;stroke-width:2.904683;"/> - <path clip-path="url(#p6928b274a4)" d="M 88.570004 310.558495 -L 72 316.072727 + <path clip-path="url(#pd61168c6cd)" d="M 70.856003 247.338041 +L 57.6 251.584 " style="fill:none;stroke:#000000;stroke-width:3.312181;"/> - <path clip-path="url(#p6928b274a4)" d="M 72 316.072727 -L 72 316.072727 + <path clip-path="url(#pd61168c6cd)" d="M 57.6 251.584 +L 57.6 251.584 " style="fill:none;stroke:#000000;stroke-width:3.748105;"/> - <path clip-path="url(#p6928b274a4)" d="M 72 316.072727 -L 72 316.072727 + <path clip-path="url(#pd61168c6cd)" d="M 57.6 251.584 +L 57.6 251.584 " style="fill:none;stroke:#000000;stroke-width:3.748105;"/> - <path clip-path="url(#p6928b274a4)" d="M 152.647375 299.378186 -L 136.489498 305.581697 + <path clip-path="url(#pd61168c6cd)" d="M 122.1179 238.729203 +L 109.191599 243.505906 " style="fill:none;stroke:#000000;stroke-width:2.00261;"/> - <path clip-path="url(#p6928b274a4)" d="M 136.489498 305.581697 -L 120.366785 311.840463 + <path clip-path="url(#pd61168c6cd)" d="M 109.191599 243.505906 +L 96.293428 248.325157 " style="fill:none;stroke:#000000;stroke-width:2.332806;"/> - <path clip-path="url(#p6928b274a4)" d="M 120.366785 311.840463 -L 104.255246 318.116489 + <path clip-path="url(#pd61168c6cd)" d="M 96.293428 248.325157 +L 83.404197 253.157696 " style="fill:none;stroke:#000000;stroke-width:2.690775;"/> - <path clip-path="url(#p6928b274a4)" d="M 104.255246 318.116489 -L 88.137382 324.382404 + <path clip-path="url(#pd61168c6cd)" d="M 83.404197 253.157696 +L 70.509906 257.982451 " style="fill:none;stroke:#000000;stroke-width:3.07664;"/> - <path clip-path="url(#p6928b274a4)" d="M 88.137382 324.382404 -L 72 330.618182 + <path clip-path="url(#pd61168c6cd)" d="M 70.509906 257.982451 +L 57.6 262.784 " style="fill:none;stroke:#000000;stroke-width:3.490372;"/> - <path clip-path="url(#p6928b274a4)" d="M 72 330.618182 -L 72 330.618182 + <path clip-path="url(#pd61168c6cd)" d="M 57.6 262.784 +L 57.6 262.784 " style="fill:none;stroke:#000000;stroke-width:3.931454;"/> - <path clip-path="url(#p6928b274a4)" d="M 72 330.618182 -L 72 330.618182 + <path clip-path="url(#pd61168c6cd)" d="M 57.6 262.784 +L 57.6 262.784 " style="fill:none;stroke:#000000;stroke-width:3.931454;"/> - <path clip-path="url(#p6928b274a4)" d="M 150.184417 310.374805 -L 134.505348 317.275167 + <path clip-path="url(#pd61168c6cd)" d="M 120.147534 247.1966 +L 107.604278 252.509879 " style="fill:none;stroke:#000000;stroke-width:2.17091;"/> - <path clip-path="url(#p6928b274a4)" d="M 134.505348 317.275167 -L 118.868537 324.232995 + <path clip-path="url(#pd61168c6cd)" d="M 107.604278 252.509879 +L 95.094829 257.867406 " style="fill:none;stroke:#000000;stroke-width:2.512043;"/> - <path clip-path="url(#p6928b274a4)" d="M 118.868537 324.232995 -L 103.249794 331.215287 + <path clip-path="url(#pd61168c6cd)" d="M 95.094829 257.867406 +L 82.599835 263.243771 " style="fill:none;stroke:#000000;stroke-width:2.880315;"/> - <path clip-path="url(#p6928b274a4)" d="M 103.249794 331.215287 -L 87.631347 338.198068 + <path clip-path="url(#pd61168c6cd)" d="M 82.599835 263.243771 +L 70.105078 268.620513 " style="fill:none;stroke:#000000;stroke-width:3.275041;"/> - <path clip-path="url(#p6928b274a4)" d="M 87.631347 338.198068 -L 72 345.163636 + <path clip-path="url(#pd61168c6cd)" d="M 70.105078 268.620513 +L 57.6 273.984 " style="fill:none;stroke:#000000;stroke-width:3.696879;"/> - <path clip-path="url(#p6928b274a4)" d="M 72 345.163636 -L 72 345.163636 + <path clip-path="url(#pd61168c6cd)" d="M 57.6 273.984 +L 57.6 273.984 " style="fill:none;stroke:#000000;stroke-width:4.144999;"/> - <path clip-path="url(#p6928b274a4)" d="M 72 345.163636 -L 72 345.163636 + <path clip-path="url(#pd61168c6cd)" d="M 57.6 273.984 +L 57.6 273.984 " style="fill:none;stroke:#000000;stroke-width:4.144999;"/> - <path clip-path="url(#p6928b274a4)" d="M 518.4 317.897308 -L 517.912882 317.87051 -" style="fill:none;stroke:#000000;stroke-width:3.465059;"/> - <path clip-path="url(#p6928b274a4)" d="M 517.912882 317.87051 -L 499.919739 316.914559 -" style="fill:none;stroke:#000000;stroke-width:3.453434;"/> - <path clip-path="url(#p6928b274a4)" d="M 499.919739 316.914559 -L 481.917355 316.072727 + <path clip-path="url(#pd61168c6cd)" d="M 414.72 253.003937 +L 414.328936 252.982482 +" style="fill:none;stroke:#000000;stroke-width:3.465131;"/> + <path clip-path="url(#pd61168c6cd)" d="M 414.328936 252.982482 +L 399.935791 252.23221 +" style="fill:none;stroke:#000000;stroke-width:3.453462;"/> + <path clip-path="url(#pd61168c6cd)" d="M 399.935791 252.23221 +L 385.533884 251.584 " style="fill:none;stroke:#000000;stroke-width:3.037889;"/> - <path clip-path="url(#p6928b274a4)" d="M 481.917355 316.072727 -L 463.901098 315.433038 + <path clip-path="url(#pd61168c6cd)" d="M 385.533884 251.584 +L 371.120879 251.091439 " style="fill:none;stroke:#000000;stroke-width:2.657071;"/> - <path clip-path="url(#p6928b274a4)" d="M 463.901098 315.433038 -L 445.871952 315.101173 + <path clip-path="url(#pd61168c6cd)" d="M 371.120879 251.091439 +L 356.697562 250.835903 " style="fill:none;stroke:#000000;stroke-width:2.3117;"/> - <path clip-path="url(#p6928b274a4)" d="M 445.871952 315.101173 -L 427.84091 315.236136 + <path clip-path="url(#pd61168c6cd)" d="M 356.697562 250.835903 +L 342.272728 250.939825 " style="fill:none;stroke:#000000;stroke-width:2.003215;"/> - <path clip-path="url(#p6928b274a4)" d="M 427.84091 315.236136 -L 409.845354 316.074492 + <path clip-path="url(#pd61168c6cd)" d="M 342.272728 250.939825 +L 327.876283 251.585359 " style="fill:none;stroke:#000000;stroke-width:1.733687;"/> - <path clip-path="url(#p6928b274a4)" d="M 409.845354 316.074492 -L 391.993428 317.958162 + <path clip-path="url(#pd61168c6cd)" d="M 327.876283 251.585359 +L 313.594742 253.035785 " style="fill:none;stroke:#000000;stroke-width:1.507704;"/> - <path clip-path="url(#p6928b274a4)" d="M 391.993428 317.958162 -L 374.523868 321.318435 + <path clip-path="url(#pd61168c6cd)" d="M 313.594742 253.035785 +L 299.619095 255.623195 " style="fill:none;stroke:#000000;stroke-width:1.333229;"/> - <path clip-path="url(#p6928b274a4)" d="M 374.523868 321.318435 -L 358.525835 326.307474 + <path clip-path="url(#pd61168c6cd)" d="M 299.619095 255.623195 +L 286.820668 259.464755 " style="fill:none;stroke:#000000;stroke-width:1.223582;"/> - <path clip-path="url(#p6928b274a4)" d="M 358.525835 326.307474 -L 345.272285 332.34455 + <path clip-path="url(#pd61168c6cd)" d="M 286.820668 259.464755 +L 276.217828 264.113304 " style="fill:none;stroke:#000000;stroke-width:1.194754;"/> - <path clip-path="url(#p6928b274a4)" d="M 345.272285 332.34455 -L 333.689966 339.425196 + <path clip-path="url(#pd61168c6cd)" d="M 276.217828 264.113304 +L 266.951973 269.565401 " style="fill:none;stroke:#000000;stroke-width:1.241115;"/> - <path clip-path="url(#p6928b274a4)" d="M 333.689966 339.425196 -L 322.968884 347.77502 + <path clip-path="url(#pd61168c6cd)" d="M 266.951973 269.565401 +L 258.375108 275.994765 " style="fill:none;stroke:#000000;stroke-width:1.348335;"/> - <path clip-path="url(#p6928b274a4)" d="M 518.4 293.003447 -L 517.189471 292.818993 -" style="fill:none;stroke:#000000;stroke-width:3.391471;"/> - <path clip-path="url(#p6928b274a4)" d="M 517.189471 292.818993 -L 499.52055 290.019006 -" style="fill:none;stroke:#000000;stroke-width:3.362269;"/> - <path clip-path="url(#p6928b274a4)" d="M 499.52055 290.019006 -L 481.917355 286.981818 + <path clip-path="url(#pd61168c6cd)" d="M 414.72 233.816762 +L 413.752454 233.675328 +" style="fill:none;stroke:#000000;stroke-width:3.391459;"/> + <path clip-path="url(#pd61168c6cd)" d="M 413.752454 233.675328 +L 399.61644 231.522635 +" style="fill:none;stroke:#000000;stroke-width:3.362285;"/> + <path clip-path="url(#pd61168c6cd)" d="M 399.61644 231.522635 +L 385.533884 229.184 " style="fill:none;stroke:#000000;stroke-width:2.950307;"/> - <path clip-path="url(#p6928b274a4)" d="M 481.917355 286.981818 -L 464.400866 283.658101 + <path clip-path="url(#pd61168c6cd)" d="M 385.533884 229.184 +L 371.520693 226.624738 " style="fill:none;stroke:#000000;stroke-width:2.572104;"/> - <path clip-path="url(#p6928b274a4)" d="M 499.230122 276.345354 -L 481.917355 272.436364 + <path clip-path="url(#pd61168c6cd)" d="M 399.384098 220.993923 +L 385.533884 217.984 " style="fill:none;stroke:#000000;stroke-width:2.91483;"/> - <path clip-path="url(#p6928b274a4)" d="M 481.917355 272.436364 -L 464.774969 268.102552 + <path clip-path="url(#pd61168c6cd)" d="M 385.533884 217.984 +L 371.819975 214.646965 " style="fill:none;stroke:#000000;stroke-width:2.543286;"/> - <path clip-path="url(#p6928b274a4)" d="M 464.774969 268.102552 -L 447.86072 263.263655 + <path clip-path="url(#pd61168c6cd)" d="M 371.819975 214.646965 +L 358.288576 210.921015 " style="fill:none;stroke:#000000;stroke-width:2.206249;"/> - <path clip-path="url(#p6928b274a4)" d="M 447.86072 263.263655 -L 431.253658 257.827558 + <path clip-path="url(#pd61168c6cd)" d="M 358.288576 210.921015 +L 345.002927 206.735219 " style="fill:none;stroke:#000000;stroke-width:1.903686;"/> - <path clip-path="url(#p6928b274a4)" d="M 431.253658 257.827558 -L 415.060421 251.692981 + <path clip-path="url(#pd61168c6cd)" d="M 345.002927 206.735219 +L 332.048337 202.011595 " style="fill:none;stroke:#000000;stroke-width:1.63503;"/> - <path clip-path="url(#p6928b274a4)" d="M 415.060421 251.692981 -L 399.417848 244.758976 + <path clip-path="url(#pd61168c6cd)" d="M 332.048337 202.011595 +L 319.534278 196.672412 " style="fill:none;stroke:#000000;stroke-width:1.399738;"/> - <path clip-path="url(#p6928b274a4)" d="M 399.417848 244.758976 -L 384.489561 236.942609 + <path clip-path="url(#pd61168c6cd)" d="M 319.534278 196.672412 +L 307.591649 190.653809 " style="fill:none;stroke:#000000;stroke-width:1.196809;"/> - <path clip-path="url(#p6928b274a4)" d="M 384.489561 236.942609 -L 370.451255 228.196663 + <path clip-path="url(#pd61168c6cd)" d="M 307.591649 190.653809 +L 296.361004 183.91943 " style="fill:none;stroke:#000000;stroke-width:1.023024;"/> - <path clip-path="url(#p6928b274a4)" d="M 370.451255 228.196663 -L 357.45926 218.531075 + <path clip-path="url(#pd61168c6cd)" d="M 296.361004 183.91943 +L 285.967408 176.476928 " style="fill:none;stroke:#000000;stroke-width:0.874167;"/> - <path clip-path="url(#p6928b274a4)" d="M 357.45926 218.531075 -L 345.619519 208.01566 + <path clip-path="url(#pd61168c6cd)" d="M 285.967408 176.476928 +L 276.495616 168.380059 " style="fill:none;stroke:#000000;stroke-width:0.743366;"/> - <path clip-path="url(#p6928b274a4)" d="M 345.619519 208.01566 -L 334.982052 196.754591 + <path clip-path="url(#pd61168c6cd)" d="M 276.495616 168.380059 +L 267.985642 159.709035 " style="fill:none;stroke:#000000;stroke-width:0.622498;"/> - <path clip-path="url(#p6928b274a4)" d="M 334.982052 196.754591 -L 325.549642 184.865593 + <path clip-path="url(#pd61168c6cd)" d="M 267.985642 159.709035 +L 260.439714 150.554507 " style="fill:none;stroke:#000000;stroke-width:0.502796;"/> - <path clip-path="url(#p6928b274a4)" d="M 325.549642 184.865593 -L 317.366357 172.43542 + <path clip-path="url(#pd61168c6cd)" d="M 260.439714 150.554507 +L 253.893086 140.983273 " style="fill:none;stroke:#000000;stroke-width:0.375499;"/> - <path clip-path="url(#p6928b274a4)" d="M 317.366357 172.43542 -L 317.366357 172.43542 + <path clip-path="url(#pd61168c6cd)" d="M 253.893086 140.983273 +L 253.893086 140.983273 " style="fill:none;stroke:#000000;stroke-width:0.234512;"/> - <path clip-path="url(#p6928b274a4)" d="M 317.366357 172.43542 -L 312.168143 162.275363 + <path clip-path="url(#pd61168c6cd)" d="M 253.893086 140.983273 +L 249.734515 133.160029 " style="fill:none;stroke:#000000;stroke-width:0.234512;"/> - <path clip-path="url(#p6928b274a4)" d="M 312.168143 162.275363 -L 312.168143 162.275363 + <path clip-path="url(#pd61168c6cd)" d="M 249.734515 133.160029 +L 249.734515 133.160029 " style="fill:none;stroke:#000000;stroke-width:0.11081;"/> - <path clip-path="url(#p6928b274a4)" d="M 312.168143 162.275363 -L 311.044523 159.303145 + <path clip-path="url(#pd61168c6cd)" d="M 249.734515 133.160029 +L 248.835618 130.871422 " style="fill:none;stroke:#000000;stroke-width:0.11081;"/> - <path clip-path="url(#p6928b274a4)" d="M 311.044523 159.303145 -L 311.044523 159.303145 + <path clip-path="url(#pd61168c6cd)" d="M 248.835618 130.871422 +L 248.835618 130.871422 " style="fill:none;stroke:#000000;stroke-width:0.07376;"/> - <path clip-path="url(#p6928b274a4)" d="M 311.044523 159.303145 -L 310.488994 156.831772 + <path clip-path="url(#pd61168c6cd)" d="M 248.835618 130.871422 +L 248.391195 128.968465 " style="fill:none;stroke:#000000;stroke-width:0.07376;"/> - <path clip-path="url(#p6928b274a4)" d="M 310.488994 156.831772 -L 310.488994 156.831772 + <path clip-path="url(#pd61168c6cd)" d="M 248.391195 128.968465 +L 248.391195 128.968465 " style="fill:none;stroke:#000000;stroke-width:0.045018;"/> - <path clip-path="url(#p6928b274a4)" d="M 310.488994 156.831772 -L 310.73395 154.858365 + <path clip-path="url(#pd61168c6cd)" d="M 248.391195 128.968465 +L 248.58716 127.448941 " style="fill:none;stroke:#000000;stroke-width:0.045018;"/> - <path clip-path="url(#p6928b274a4)" d="M 310.73395 154.858365 -L 310.73395 154.858365 + <path clip-path="url(#pd61168c6cd)" d="M 248.58716 127.448941 +L 248.58716 127.448941 " style="fill:none;stroke:#000000;stroke-width:0.025357;"/> - <path clip-path="url(#p6928b274a4)" d="M 310.73395 154.858365 -L 311.631679 153.734941 + <path clip-path="url(#pd61168c6cd)" d="M 248.58716 127.448941 +L 249.305343 126.583905 " style="fill:none;stroke:#000000;stroke-width:0.025357;"/> - <path clip-path="url(#p6928b274a4)" d="M 311.631679 153.734941 -L 312.689805 152.954919 + <path clip-path="url(#pd61168c6cd)" d="M 249.305343 126.583905 +L 250.151844 125.983287 " style="fill:none;stroke:#000000;stroke-width:0.027133;"/> - <path clip-path="url(#p6928b274a4)" d="M 312.689805 152.954919 -L 314.825211 152.082194 + <path clip-path="url(#pd61168c6cd)" d="M 250.151844 125.983287 +L 251.860169 125.31129 " style="fill:none;stroke:#000000;stroke-width:0.026495;"/> - <path clip-path="url(#p6928b274a4)" d="M 314.825211 152.082194 -L 317.447192 151.199192 + <path clip-path="url(#pd61168c6cd)" d="M 251.860169 125.31129 +L 253.957753 124.631378 " style="fill:none;stroke:#000000;stroke-width:0.02091;"/> - <path clip-path="url(#p6928b274a4)" d="M 317.447192 151.199192 -L 317.447192 151.199192 + <path clip-path="url(#pd61168c6cd)" d="M 253.957753 124.631378 +L 253.957753 124.631378 " style="fill:none;stroke:#000000;stroke-width:0.01934;"/> - <path clip-path="url(#p6928b274a4)" d="M 317.447192 151.199192 -L 319.501914 150.435475 + <path clip-path="url(#pd61168c6cd)" d="M 253.957753 124.631378 +L 255.601531 124.043316 " style="fill:none;stroke:#000000;stroke-width:0.01934;"/> - <path clip-path="url(#p6928b274a4)" d="M 319.501914 150.435475 -L 321.096954 149.777102 + <path clip-path="url(#pd61168c6cd)" d="M 255.601531 124.043316 +L 256.877563 123.536369 " style="fill:none;stroke:#000000;stroke-width:0.024056;"/> - <path clip-path="url(#p6928b274a4)" d="M 321.096954 149.777102 -L 323.09981 149.162676 + <path clip-path="url(#pd61168c6cd)" d="M 256.877563 123.536369 +L 258.479848 123.06326 " style="fill:none;stroke:#000000;stroke-width:0.025203;"/> - <path clip-path="url(#p6928b274a4)" d="M 323.09981 149.162676 -L 323.09981 149.162676 + <path clip-path="url(#pd61168c6cd)" d="M 258.479848 123.06326 +L 258.479848 123.06326 " style="fill:none;stroke:#000000;stroke-width:0.021688;"/> - <path clip-path="url(#p6928b274a4)" d="M 323.09981 149.162676 -L 324.635297 148.667904 + <path clip-path="url(#pd61168c6cd)" d="M 258.479848 123.06326 +L 259.708238 122.682286 " style="fill:none;stroke:#000000;stroke-width:0.021688;"/> - <path clip-path="url(#p6928b274a4)" d="M 324.635297 148.667904 -L 324.635297 148.667904 + <path clip-path="url(#pd61168c6cd)" d="M 259.708238 122.682286 +L 259.708238 122.682286 " style="fill:none;stroke:#000000;stroke-width:0.015338;"/> - <path clip-path="url(#p6928b274a4)" d="M 324.635297 148.667904 -L 325.664578 148.304988 + <path clip-path="url(#pd61168c6cd)" d="M 259.708238 122.682286 +L 260.531663 122.402841 " style="fill:none;stroke:#000000;stroke-width:0.015338;"/> - <path clip-path="url(#p6928b274a4)" d="M 325.664578 148.304988 -L 326.306493 147.964556 + <path clip-path="url(#pd61168c6cd)" d="M 260.531663 122.402841 +L 261.045194 122.140708 " style="fill:none;stroke:#000000;stroke-width:0.014519;"/> - <path clip-path="url(#p6928b274a4)" d="M 326.306493 147.964556 -L 326.815508 147.669453 + <path clip-path="url(#pd61168c6cd)" d="M 261.045194 122.140708 +L 261.452406 121.913479 " style="fill:none;stroke:#000000;stroke-width:0.012499;"/> - <path clip-path="url(#p6928b274a4)" d="M 326.815508 147.669453 -L 327.174208 147.44061 + <path clip-path="url(#pd61168c6cd)" d="M 261.452406 121.913479 +L 261.739366 121.73727 " style="fill:none;stroke:#000000;stroke-width:0.015211;"/> - <path clip-path="url(#p6928b274a4)" d="M 327.174208 147.44061 -L 327.561196 147.289606 + <path clip-path="url(#pd61168c6cd)" d="M 261.739366 121.73727 +L 262.048957 121.620997 " style="fill:none;stroke:#000000;stroke-width:0.017389;"/> - <path clip-path="url(#p6928b274a4)" d="M 327.561196 147.289606 -L 328.001546 147.255317 + <path clip-path="url(#pd61168c6cd)" d="M 262.048957 121.620997 +L 262.401236 121.594594 " style="fill:none;stroke:#000000;stroke-width:0.018787;"/> - <path clip-path="url(#p6928b274a4)" d="M 328.001546 147.255317 -L 328.001546 147.255317 + <path clip-path="url(#pd61168c6cd)" d="M 262.401236 121.594594 +L 262.401236 121.594594 " style="fill:none;stroke:#000000;stroke-width:0.019399;"/> - <path clip-path="url(#p6928b274a4)" d="M 328.001546 147.255317 -L 328.28393 147.22288 + <path clip-path="url(#pd61168c6cd)" d="M 262.401236 121.594594 +L 262.627144 121.569618 " style="fill:none;stroke:#000000;stroke-width:0.019399;"/> - <path clip-path="url(#p6928b274a4)" d="M 328.28393 147.22288 -L 328.489955 147.195949 + <path clip-path="url(#pd61168c6cd)" d="M 262.627144 121.569618 +L 262.791964 121.548881 " style="fill:none;stroke:#000000;stroke-width:0.019804;"/> - <path clip-path="url(#p6928b274a4)" d="M 328.489955 147.195949 -L 328.605317 147.126516 + <path clip-path="url(#pd61168c6cd)" d="M 262.791964 121.548881 +L 262.884254 121.495417 " style="fill:none;stroke:#000000;stroke-width:0.020087;"/> - <path clip-path="url(#p6928b274a4)" d="M 328.605317 147.126516 -L 328.669604 147.039336 + <path clip-path="url(#pd61168c6cd)" d="M 262.884254 121.495417 +L 262.935683 121.428289 " style="fill:none;stroke:#000000;stroke-width:0.020434;"/> - <path clip-path="url(#p6928b274a4)" d="M 328.669604 147.039336 -L 328.73075 146.981853 + <path clip-path="url(#pd61168c6cd)" d="M 262.935683 121.428289 +L 262.9846 121.384027 " style="fill:none;stroke:#000000;stroke-width:0.020783;"/> - <path clip-path="url(#p6928b274a4)" d="M 328.73075 146.981853 -L 328.80934 146.975577 + <path clip-path="url(#pd61168c6cd)" d="M 262.9846 121.384027 +L 263.047472 121.379194 " style="fill:none;stroke:#000000;stroke-width:0.021007;"/> - <path clip-path="url(#p6928b274a4)" d="M 328.80934 146.975577 -L 328.899045 147.011951 + <path clip-path="url(#pd61168c6cd)" d="M 263.047472 121.379194 +L 263.119236 121.407202 " style="fill:none;stroke:#000000;stroke-width:0.021055;"/> - <path clip-path="url(#p6928b274a4)" d="M 328.899045 147.011951 -L 328.965101 147.037879 + <path clip-path="url(#pd61168c6cd)" d="M 263.119236 121.407202 +L 263.172081 121.427167 " style="fill:none;stroke:#000000;stroke-width:0.020975;"/> - <path clip-path="url(#p6928b274a4)" d="M 328.965101 147.037879 -L 328.978879 147.003096 + <path clip-path="url(#pd61168c6cd)" d="M 263.172081 121.427167 +L 263.183103 121.400384 " style="fill:none;stroke:#000000;stroke-width:0.020928;"/> - <path clip-path="url(#p6928b274a4)" d="M 328.978879 147.003096 -L 328.964959 146.938433 + <path clip-path="url(#pd61168c6cd)" d="M 263.183103 121.400384 +L 263.171967 121.350593 " style="fill:none;stroke:#000000;stroke-width:0.021034;"/> - <path clip-path="url(#p6928b274a4)" d="M 328.964959 146.938433 -L 328.96196 146.898927 + <path clip-path="url(#pd61168c6cd)" d="M 263.171967 121.350593 +L 263.169568 121.320174 " style="fill:none;stroke:#000000;stroke-width:0.021216;"/> - <path clip-path="url(#p6928b274a4)" d="M 328.96196 146.898927 -L 328.986825 146.908979 + <path clip-path="url(#pd61168c6cd)" d="M 263.169568 121.320174 +L 263.18946 121.327913 " style="fill:none;stroke:#000000;stroke-width:0.021329;"/> - <path clip-path="url(#p6928b274a4)" d="M 328.986825 146.908979 -L 329.034544 146.96095 + <path clip-path="url(#pd61168c6cd)" d="M 263.18946 121.327913 +L 263.227635 121.367931 " style="fill:none;stroke:#000000;stroke-width:0.021305;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.034544 146.96095 -L 329.070724 147.001554 + <path clip-path="url(#pd61168c6cd)" d="M 263.227635 121.367931 +L 263.256579 121.399197 " style="fill:none;stroke:#000000;stroke-width:0.021213;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.070724 147.001554 -L 329.061859 146.977124 + <path clip-path="url(#pd61168c6cd)" d="M 263.256579 121.399197 +L 263.249487 121.380385 " style="fill:none;stroke:#000000;stroke-width:0.021206;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.061859 146.977124 -L 329.030367 146.918749 + <path clip-path="url(#pd61168c6cd)" d="M 263.249487 121.380385 +L 263.224294 121.335436 " style="fill:none;stroke:#000000;stroke-width:0.021246;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.030367 146.918749 -L 329.013152 146.883016 + <path clip-path="url(#pd61168c6cd)" d="M 263.224294 121.335436 +L 263.210521 121.307922 " style="fill:none;stroke:#000000;stroke-width:0.021317;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.013152 146.883016 -L 329.025341 146.89476 + <path clip-path="url(#pd61168c6cd)" d="M 263.210521 121.307922 +L 263.220273 121.316965 " style="fill:none;stroke:#000000;stroke-width:0.021383;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.025341 146.89476 -L 329.061907 146.947213 + <path clip-path="url(#pd61168c6cd)" d="M 263.220273 121.316965 +L 263.249525 121.357354 " style="fill:none;stroke:#000000;stroke-width:0.02137;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.061907 146.947213 -L 329.090317 146.990181 + <path clip-path="url(#pd61168c6cd)" d="M 263.249525 121.357354 +L 263.272253 121.39044 " style="fill:none;stroke:#000000;stroke-width:0.021326;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.090317 146.990181 -L 329.078806 146.971654 + <path clip-path="url(#pd61168c6cd)" d="M 263.272253 121.39044 +L 263.263045 121.376174 " style="fill:none;stroke:#000000;stroke-width:0.021293;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.078806 146.971654 -L 329.045348 146.917574 + <path clip-path="url(#pd61168c6cd)" d="M 263.263045 121.376174 +L 263.236279 121.334532 " style="fill:none;stroke:#000000;stroke-width:0.021308;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.045348 146.917574 -L 329.024877 146.882618 + <path clip-path="url(#pd61168c6cd)" d="M 263.236279 121.334532 +L 263.219902 121.307616 " style="fill:none;stroke:#000000;stroke-width:0.02136;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.024877 146.882618 -L 329.032977 146.89248 + <path clip-path="url(#pd61168c6cd)" d="M 263.219902 121.307616 +L 263.226382 121.31521 " style="fill:none;stroke:#000000;stroke-width:0.021402;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.032977 146.89248 -L 329.065093 146.941673 + <path clip-path="url(#pd61168c6cd)" d="M 263.226382 121.31521 +L 263.252074 121.353088 " style="fill:none;stroke:#000000;stroke-width:0.021396;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.065093 146.941673 -L 329.091687 146.984365 + <path clip-path="url(#pd61168c6cd)" d="M 263.252074 121.353088 +L 263.273349 121.385961 " style="fill:none;stroke:#000000;stroke-width:0.021349;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.091687 146.984365 -L 329.081757 146.970149 + <path clip-path="url(#pd61168c6cd)" d="M 263.273349 121.385961 +L 263.265405 121.375015 " style="fill:none;stroke:#000000;stroke-width:0.021312;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.081757 146.970149 -L 329.049659 146.919654 + <path clip-path="url(#pd61168c6cd)" d="M 263.265405 121.375015 +L 263.239727 121.336134 " style="fill:none;stroke:#000000;stroke-width:0.02132;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.049659 146.919654 -L 329.028601 146.884977 + <path clip-path="url(#pd61168c6cd)" d="M 263.239727 121.336134 +L 263.222881 121.309432 " style="fill:none;stroke:#000000;stroke-width:0.021366;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.028601 146.884977 -L 329.03457 146.892445 + <path clip-path="url(#pd61168c6cd)" d="M 263.222881 121.309432 +L 263.227656 121.315182 " style="fill:none;stroke:#000000;stroke-width:0.021405;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.03457 146.892445 -L 329.063998 146.938048 + <path clip-path="url(#pd61168c6cd)" d="M 263.227656 121.315182 +L 263.251199 121.350297 " style="fill:none;stroke:#000000;stroke-width:0.0214;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.063998 146.938048 -L 329.08983 146.979892 + <path clip-path="url(#pd61168c6cd)" d="M 263.251199 121.350297 +L 263.271864 121.382517 " style="fill:none;stroke:#000000;stroke-width:0.021356;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.08983 146.979892 -L 329.082024 146.969297 + <path clip-path="url(#pd61168c6cd)" d="M 263.271864 121.382517 +L 263.26562 121.374358 " style="fill:none;stroke:#000000;stroke-width:0.021318;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.082024 146.969297 -L 329.051825 146.92211 + <path clip-path="url(#pd61168c6cd)" d="M 263.26562 121.374358 +L 263.24146 121.338024 " style="fill:none;stroke:#000000;stroke-width:0.021323;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.051825 146.92211 -L 329.030742 146.88771 + <path clip-path="url(#pd61168c6cd)" d="M 263.24146 121.338024 +L 263.224594 121.311537 " style="fill:none;stroke:#000000;stroke-width:0.021365;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.030742 146.88771 -L 329.035118 146.892907 + <path clip-path="url(#pd61168c6cd)" d="M 263.224594 121.311537 +L 263.228094 121.315539 " style="fill:none;stroke:#000000;stroke-width:0.021403;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.035118 146.892907 -L 329.062314 146.935083 + <path clip-path="url(#pd61168c6cd)" d="M 263.228094 121.315539 +L 263.249851 121.348014 " style="fill:none;stroke:#000000;stroke-width:0.0214;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.062314 146.935083 -L 329.087522 146.9759 + <path clip-path="url(#pd61168c6cd)" d="M 263.249851 121.348014 +L 263.270018 121.379443 " style="fill:none;stroke:#000000;stroke-width:0.021359;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.087522 146.9759 -L 329.081736 146.968473 + <path clip-path="url(#pd61168c6cd)" d="M 263.270018 121.379443 +L 263.265389 121.373724 " style="fill:none;stroke:#000000;stroke-width:0.021322;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.081736 146.968473 -L 329.053469 146.924432 + <path clip-path="url(#pd61168c6cd)" d="M 263.265389 121.373724 +L 263.242775 121.339813 " style="fill:none;stroke:#000000;stroke-width:0.021325;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.053469 146.924432 -L 329.032526 146.890402 + <path clip-path="url(#pd61168c6cd)" d="M 263.242775 121.339813 +L 263.226021 121.31361 " style="fill:none;stroke:#000000;stroke-width:0.021364;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.032526 146.890402 -L 329.035522 146.893534 + <path clip-path="url(#pd61168c6cd)" d="M 263.226021 121.31361 +L 263.228418 121.316021 " style="fill:none;stroke:#000000;stroke-width:0.021401;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.035522 146.893534 -L 329.060691 146.932506 + <path clip-path="url(#pd61168c6cd)" d="M 263.228418 121.316021 +L 263.248553 121.34603 " style="fill:none;stroke:#000000;stroke-width:0.0214;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.060691 146.932506 -L 329.085259 146.972207 + <path clip-path="url(#pd61168c6cd)" d="M 263.248553 121.34603 +L 263.268207 121.376599 " style="fill:none;stroke:#000000;stroke-width:0.021362;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.085259 146.972207 -L 329.08129 146.96758 + <path clip-path="url(#pd61168c6cd)" d="M 263.268207 121.376599 +L 263.265032 121.373037 " style="fill:none;stroke:#000000;stroke-width:0.021325;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.08129 146.96758 -L 329.054897 146.926547 + <path clip-path="url(#pd61168c6cd)" d="M 263.265032 121.373037 +L 263.243917 121.341441 " style="fill:none;stroke:#000000;stroke-width:0.021326;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.054897 146.926547 -L 329.03418 146.892985 + <path clip-path="url(#pd61168c6cd)" d="M 263.243917 121.341441 +L 263.227344 121.315598 " style="fill:none;stroke:#000000;stroke-width:0.021362;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.03418 146.892985 -L 329.03594 146.89425 + <path clip-path="url(#pd61168c6cd)" d="M 263.227344 121.315598 +L 263.228752 121.316572 " style="fill:none;stroke:#000000;stroke-width:0.021398;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.03594 146.89425 -L 329.059228 146.930236 + <path clip-path="url(#pd61168c6cd)" d="M 263.228752 121.316572 +L 263.247382 121.344282 " style="fill:none;stroke:#000000;stroke-width:0.021399;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.059228 146.930236 -L 329.083121 146.968763 + <path clip-path="url(#pd61168c6cd)" d="M 263.247382 121.344282 +L 263.266496 121.373948 " style="fill:none;stroke:#000000;stroke-width:0.021364;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.083121 146.968763 -L 329.08077 146.966614 + <path clip-path="url(#pd61168c6cd)" d="M 263.266496 121.373948 +L 263.264616 121.372292 " style="fill:none;stroke:#000000;stroke-width:0.021328;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.08077 146.966614 -L 329.056177 146.928456 + <path clip-path="url(#pd61168c6cd)" d="M 263.264616 121.372292 +L 263.244941 121.342911 " style="fill:none;stroke:#000000;stroke-width:0.021327;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.056177 146.928456 -L 329.03575 146.895449 + <path clip-path="url(#pd61168c6cd)" d="M 263.244941 121.342911 +L 263.2286 121.317495 " style="fill:none;stroke:#000000;stroke-width:0.02136;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.03575 146.895449 -L 329.036395 146.895032 + <path clip-path="url(#pd61168c6cd)" d="M 263.2286 121.317495 +L 263.229116 121.317174 " style="fill:none;stroke:#000000;stroke-width:0.021395;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.036395 146.895032 -L 329.057925 146.928231 + <path clip-path="url(#pd61168c6cd)" d="M 263.229116 121.317174 +L 263.24634 121.342738 " style="fill:none;stroke:#000000;stroke-width:0.021398;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.057925 146.928231 -L 329.081114 146.965544 + <path clip-path="url(#pd61168c6cd)" d="M 263.24634 121.342738 +L 263.264891 121.371469 " style="fill:none;stroke:#000000;stroke-width:0.021366;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.081114 146.965544 -L 329.0802 146.965584 + <path clip-path="url(#pd61168c6cd)" d="M 263.264891 121.371469 +L 263.26416 121.371499 " style="fill:none;stroke:#000000;stroke-width:0.021331;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.0802 146.965584 -L 329.057329 146.930173 + <path clip-path="url(#pd61168c6cd)" d="M 263.26416 121.371499 +L 263.245863 121.344234 " style="fill:none;stroke:#000000;stroke-width:0.021328;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.057329 146.930173 -L 329.037245 146.897798 + <path clip-path="url(#pd61168c6cd)" d="M 263.245863 121.344234 +L 263.229796 121.319304 " style="fill:none;stroke:#000000;stroke-width:0.021359;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.037245 146.897798 -L 329.036885 146.895866 + <path clip-path="url(#pd61168c6cd)" d="M 263.229796 121.319304 +L 263.229508 121.317817 " style="fill:none;stroke:#000000;stroke-width:0.021393;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.036885 146.895866 -L 329.056768 146.926459 + <path clip-path="url(#pd61168c6cd)" d="M 263.229508 121.317817 +L 263.245415 121.341373 " style="fill:none;stroke:#000000;stroke-width:0.021397;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.056768 146.926459 -L 329.079231 146.962531 + <path clip-path="url(#pd61168c6cd)" d="M 263.245415 121.341373 +L 263.263385 121.369149 " style="fill:none;stroke:#000000;stroke-width:0.021367;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.079231 146.962531 -L 329.079589 146.964503 + <path clip-path="url(#pd61168c6cd)" d="M 263.263385 121.369149 +L 263.263671 121.370667 " style="fill:none;stroke:#000000;stroke-width:0.021333;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.079589 146.964503 -L 329.058366 146.931714 + <path clip-path="url(#pd61168c6cd)" d="M 263.263671 121.370667 +L 263.246692 121.34542 " style="fill:none;stroke:#000000;stroke-width:0.021329;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.058366 146.931714 -L 329.038671 146.900036 + <path clip-path="url(#pd61168c6cd)" d="M 263.246692 121.34542 +L 263.230937 121.321028 " style="fill:none;stroke:#000000;stroke-width:0.021357;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.038671 146.900036 -L 329.037403 146.896744 + <path clip-path="url(#pd61168c6cd)" d="M 263.230937 121.321028 +L 263.229923 121.318493 " style="fill:none;stroke:#000000;stroke-width:0.02139;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.037403 146.896744 -L 329.055744 146.924896 + <path clip-path="url(#pd61168c6cd)" d="M 263.229923 121.318493 +L 263.244595 121.34017 " style="fill:none;stroke:#000000;stroke-width:0.021396;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.055744 146.924896 -L 329.077465 146.959711 + <path clip-path="url(#pd61168c6cd)" d="M 263.244595 121.34017 +L 263.261972 121.366977 " style="fill:none;stroke:#000000;stroke-width:0.021369;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.077465 146.959711 -L 329.078947 146.963382 + <path clip-path="url(#pd61168c6cd)" d="M 263.261972 121.366977 +L 263.263158 121.369804 " style="fill:none;stroke:#000000;stroke-width:0.021336;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.078947 146.963382 -L 329.059296 146.933092 + <path clip-path="url(#pd61168c6cd)" d="M 263.263158 121.369804 +L 263.247437 121.346481 " style="fill:none;stroke:#000000;stroke-width:0.02133;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.059296 146.933092 -L 329.04003 146.902168 + <path clip-path="url(#pd61168c6cd)" d="M 263.247437 121.346481 +L 263.232024 121.322669 " style="fill:none;stroke:#000000;stroke-width:0.021356;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.04003 146.902168 -L 329.037946 146.897656 + <path clip-path="url(#pd61168c6cd)" d="M 263.232024 121.322669 +L 263.230357 121.319195 " style="fill:none;stroke:#000000;stroke-width:0.021388;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.037946 146.897656 -L 329.054838 146.923519 + <path clip-path="url(#pd61168c6cd)" d="M 263.230357 121.319195 +L 263.24387 121.339109 " style="fill:none;stroke:#000000;stroke-width:0.021395;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.054838 146.923519 -L 329.075807 146.957068 + <path clip-path="url(#pd61168c6cd)" d="M 263.24387 121.339109 +L 263.260646 121.364943 " style="fill:none;stroke:#000000;stroke-width:0.02137;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.075807 146.957068 -L 329.07828 146.962231 + <path clip-path="url(#pd61168c6cd)" d="M 263.260646 121.364943 +L 263.262624 121.368918 " style="fill:none;stroke:#000000;stroke-width:0.021338;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.07828 146.962231 -L 329.060128 146.934319 + <path clip-path="url(#pd61168c6cd)" d="M 263.262624 121.368918 +L 263.248103 121.347426 " style="fill:none;stroke:#000000;stroke-width:0.021331;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.060128 146.934319 -L 329.041326 146.904198 + <path clip-path="url(#pd61168c6cd)" d="M 263.248103 121.347426 +L 263.233061 121.324232 " style="fill:none;stroke:#000000;stroke-width:0.021355;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.041326 146.904198 -L 329.038508 146.898594 + <path clip-path="url(#pd61168c6cd)" d="M 263.233061 121.324232 +L 263.230807 121.319918 " style="fill:none;stroke:#000000;stroke-width:0.021386;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.038508 146.898594 -L 329.054038 146.92231 + <path clip-path="url(#pd61168c6cd)" d="M 263.230807 121.319918 +L 263.243231 121.338178 " style="fill:none;stroke:#000000;stroke-width:0.021394;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.054038 146.92231 -L 329.074251 146.954593 + <path clip-path="url(#pd61168c6cd)" d="M 263.243231 121.338178 +L 263.259401 121.363036 " style="fill:none;stroke:#000000;stroke-width:0.021371;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.074251 146.954593 -L 329.077594 146.961057 + <path clip-path="url(#pd61168c6cd)" d="M 263.259401 121.363036 +L 263.262075 121.368014 " style="fill:none;stroke:#000000;stroke-width:0.02134;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.077594 146.961057 -L 329.06087 146.935406 + <path clip-path="url(#pd61168c6cd)" d="M 263.262075 121.368014 +L 263.248696 121.348263 " style="fill:none;stroke:#000000;stroke-width:0.021333;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.06087 146.935406 -L 329.04256 146.906129 + <path clip-path="url(#pd61168c6cd)" d="M 263.248696 121.348263 +L 263.234048 121.32572 " style="fill:none;stroke:#000000;stroke-width:0.021354;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.04256 146.906129 -L 329.039086 146.899554 + <path clip-path="url(#pd61168c6cd)" d="M 263.234048 121.32572 +L 263.231269 121.320657 " style="fill:none;stroke:#000000;stroke-width:0.021384;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.039086 146.899554 -L 329.053335 146.921252 + <path clip-path="url(#pd61168c6cd)" d="M 263.231269 121.320657 +L 263.242668 121.337364 " style="fill:none;stroke:#000000;stroke-width:0.021393;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.053335 146.921252 -L 329.072791 146.952273 + <path clip-path="url(#pd61168c6cd)" d="M 263.242668 121.337364 +L 263.258232 121.36125 " style="fill:none;stroke:#000000;stroke-width:0.021372;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.072791 146.952273 -L 329.076893 146.959869 + <path clip-path="url(#pd61168c6cd)" d="M 263.258232 121.36125 +L 263.261515 121.367099 " style="fill:none;stroke:#000000;stroke-width:0.021342;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.076893 146.959869 -L 329.061527 146.936365 + <path clip-path="url(#pd61168c6cd)" d="M 263.261515 121.367099 +L 263.249222 121.349001 " style="fill:none;stroke:#000000;stroke-width:0.021334;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.061527 146.936365 -L 329.043734 146.907966 + <path clip-path="url(#pd61168c6cd)" d="M 263.249222 121.349001 +L 263.234988 121.327134 " style="fill:none;stroke:#000000;stroke-width:0.021354;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.043734 146.907966 -L 329.039676 146.900529 + <path clip-path="url(#pd61168c6cd)" d="M 263.234988 121.327134 +L 263.23174 121.321407 " style="fill:none;stroke:#000000;stroke-width:0.021382;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.039676 146.900529 -L 329.05272 146.920332 + <path clip-path="url(#pd61168c6cd)" d="M 263.23174 121.321407 +L 263.242176 121.336656 " style="fill:none;stroke:#000000;stroke-width:0.021392;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.05272 146.920332 -L 329.07142 146.9501 + <path clip-path="url(#pd61168c6cd)" d="M 263.242176 121.336656 +L 263.257136 121.359577 " style="fill:none;stroke:#000000;stroke-width:0.021373;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.07142 146.9501 -L 329.076183 146.958673 + <path clip-path="url(#pd61168c6cd)" d="M 263.257136 121.359577 +L 263.260947 121.366178 " style="fill:none;stroke:#000000;stroke-width:0.021344;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.076183 146.958673 -L 329.062107 146.937204 + <path clip-path="url(#pd61168c6cd)" d="M 263.260947 121.366178 +L 263.249685 121.349647 " style="fill:none;stroke:#000000;stroke-width:0.021335;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.062107 146.937204 -L 329.044851 146.90971 + <path clip-path="url(#pd61168c6cd)" d="M 263.249685 121.349647 +L 263.235881 121.328477 " style="fill:none;stroke:#000000;stroke-width:0.021353;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.044851 146.90971 -L 329.040274 146.901514 + <path clip-path="url(#pd61168c6cd)" d="M 263.235881 121.328477 +L 263.232219 121.322166 " style="fill:none;stroke:#000000;stroke-width:0.02138;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.040274 146.901514 -L 329.052184 146.919537 + <path clip-path="url(#pd61168c6cd)" d="M 263.232219 121.322166 +L 263.241748 121.336043 " style="fill:none;stroke:#000000;stroke-width:0.02139;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.052184 146.919537 -L 329.070134 146.948064 + <path clip-path="url(#pd61168c6cd)" d="M 263.241748 121.336043 +L 263.256107 121.358009 " style="fill:none;stroke:#000000;stroke-width:0.021373;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.070134 146.948064 -L 329.075468 146.957475 + <path clip-path="url(#pd61168c6cd)" d="M 263.256107 121.358009 +L 263.260374 121.365256 " style="fill:none;stroke:#000000;stroke-width:0.021346;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.075468 146.957475 -L 329.062614 146.937932 + <path clip-path="url(#pd61168c6cd)" d="M 263.260374 121.365256 +L 263.250091 121.350208 " style="fill:none;stroke:#000000;stroke-width:0.021336;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.062614 146.937932 -L 329.045913 146.911366 + <path clip-path="url(#pd61168c6cd)" d="M 263.250091 121.350208 +L 263.23673 121.329752 " style="fill:none;stroke:#000000;stroke-width:0.021352;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.045913 146.911366 -L 329.040878 146.902505 + <path clip-path="url(#pd61168c6cd)" d="M 263.23673 121.329752 +L 263.232702 121.322929 " style="fill:none;stroke:#000000;stroke-width:0.021379;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.040878 146.902505 -L 329.051721 146.918855 + <path clip-path="url(#pd61168c6cd)" d="M 263.232702 121.322929 +L 263.241377 121.335518 " style="fill:none;stroke:#000000;stroke-width:0.021389;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.051721 146.918855 -L 329.068927 146.946158 + <path clip-path="url(#pd61168c6cd)" d="M 263.241377 121.335518 +L 263.255142 121.356542 " style="fill:none;stroke:#000000;stroke-width:0.021374;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.068927 146.946158 -L 329.074751 146.956279 + <path clip-path="url(#pd61168c6cd)" d="M 263.255142 121.356542 +L 263.2598 121.364335 " style="fill:none;stroke:#000000;stroke-width:0.021348;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.074751 146.956279 -L 329.063054 146.938558 + <path clip-path="url(#pd61168c6cd)" d="M 263.2598 121.364335 +L 263.250443 121.35069 " style="fill:none;stroke:#000000;stroke-width:0.021337;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.063054 146.938558 -L 329.04692 146.912935 + <path clip-path="url(#pd61168c6cd)" d="M 263.250443 121.35069 +L 263.237536 121.33096 " style="fill:none;stroke:#000000;stroke-width:0.021352;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.04692 146.912935 -L 329.041485 146.903498 + <path clip-path="url(#pd61168c6cd)" d="M 263.237536 121.33096 +L 263.233188 121.323694 " style="fill:none;stroke:#000000;stroke-width:0.021377;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.041485 146.903498 -L 329.051324 146.918275 + <path clip-path="url(#pd61168c6cd)" d="M 263.233188 121.323694 +L 263.241059 121.335072 " style="fill:none;stroke:#000000;stroke-width:0.021388;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.051324 146.918275 -L 329.067796 146.944374 + <path clip-path="url(#pd61168c6cd)" d="M 263.241059 121.335072 +L 263.254237 121.355168 " style="fill:none;stroke:#000000;stroke-width:0.021374;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.067796 146.944374 -L 329.074034 146.95509 + <path clip-path="url(#pd61168c6cd)" d="M 263.254237 121.355168 +L 263.259227 121.363419 " style="fill:none;stroke:#000000;stroke-width:0.021349;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.074034 146.95509 -L 329.063432 146.939089 + <path clip-path="url(#pd61168c6cd)" d="M 263.259227 121.363419 +L 263.250746 121.351099 " style="fill:none;stroke:#000000;stroke-width:0.021338;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.063432 146.939089 -L 329.047875 146.914422 + <path clip-path="url(#pd61168c6cd)" d="M 263.250746 121.351099 +L 263.2383 121.332105 " style="fill:none;stroke:#000000;stroke-width:0.021352;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.047875 146.914422 -L 329.042093 146.90449 + <path clip-path="url(#pd61168c6cd)" d="M 263.2383 121.332105 +L 263.233674 121.324457 " style="fill:none;stroke:#000000;stroke-width:0.021376;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.042093 146.90449 -L 329.050987 146.91779 + <path clip-path="url(#pd61168c6cd)" d="M 263.233674 121.324457 +L 263.240789 121.334698 " style="fill:none;stroke:#000000;stroke-width:0.021387;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.050987 146.91779 -L 329.066736 146.942705 + <path clip-path="url(#pd61168c6cd)" d="M 263.240789 121.334698 +L 263.253389 121.353883 " style="fill:none;stroke:#000000;stroke-width:0.021375;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.066736 146.942705 -L 329.073321 146.953912 + <path clip-path="url(#pd61168c6cd)" d="M 263.253389 121.353883 +L 263.258657 121.362512 " style="fill:none;stroke:#000000;stroke-width:0.021351;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.073321 146.953912 -L 329.063753 146.939532 + <path clip-path="url(#pd61168c6cd)" d="M 263.258657 121.362512 +L 263.251003 121.35144 " style="fill:none;stroke:#000000;stroke-width:0.021339;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.063753 146.939532 -L 329.048779 146.915827 + <path clip-path="url(#pd61168c6cd)" d="M 263.251003 121.35144 +L 263.239023 121.333187 " style="fill:none;stroke:#000000;stroke-width:0.021351;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.048779 146.915827 -L 329.042699 146.905477 + <path clip-path="url(#pd61168c6cd)" d="M 263.239023 121.333187 +L 263.234159 121.325217 " style="fill:none;stroke:#000000;stroke-width:0.021374;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.042699 146.905477 -L 329.050705 146.917389 + <path clip-path="url(#pd61168c6cd)" d="M 263.234159 121.325217 +L 263.240564 121.33439 " style="fill:none;stroke:#000000;stroke-width:0.021386;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.050705 146.917389 -L 329.065744 146.941145 + <path clip-path="url(#pd61168c6cd)" d="M 263.240564 121.33439 +L 263.252595 121.352682 " style="fill:none;stroke:#000000;stroke-width:0.021375;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.065744 146.941145 -L 329.072614 146.952749 + <path clip-path="url(#pd61168c6cd)" d="M 263.252595 121.352682 +L 263.258092 121.361617 " style="fill:none;stroke:#000000;stroke-width:0.021352;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.072614 146.952749 -L 329.064021 146.939895 + <path clip-path="url(#pd61168c6cd)" d="M 263.258092 121.361617 +L 263.251217 121.351719 " style="fill:none;stroke:#000000;stroke-width:0.021341;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.064021 146.939895 -L 329.049634 146.917155 + <path clip-path="url(#pd61168c6cd)" d="M 263.251217 121.351719 +L 263.239707 121.334209 " style="fill:none;stroke:#000000;stroke-width:0.021351;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.049634 146.917155 -L 329.043303 146.906457 + <path clip-path="url(#pd61168c6cd)" d="M 263.239707 121.334209 +L 263.234642 121.325972 " style="fill:none;stroke:#000000;stroke-width:0.021373;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.043303 146.906457 -L 329.050473 146.917067 + <path clip-path="url(#pd61168c6cd)" d="M 263.234642 121.325972 +L 263.240379 121.334142 " style="fill:none;stroke:#000000;stroke-width:0.021385;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.050473 146.917067 -L 329.064816 146.939688 + <path clip-path="url(#pd61168c6cd)" d="M 263.240379 121.334142 +L 263.251852 121.35156 " style="fill:none;stroke:#000000;stroke-width:0.021375;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.064816 146.939688 -L 329.071916 146.951602 + <path clip-path="url(#pd61168c6cd)" d="M 263.251852 121.35156 +L 263.257533 121.360734 " style="fill:none;stroke:#000000;stroke-width:0.021354;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.071916 146.951602 -L 329.06424 146.940183 + <path clip-path="url(#pd61168c6cd)" d="M 263.257533 121.360734 +L 263.251392 121.351941 " style="fill:none;stroke:#000000;stroke-width:0.021342;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.06424 146.940183 -L 329.050442 146.918407 + <path clip-path="url(#pd61168c6cd)" d="M 263.251392 121.351941 +L 263.240354 121.335173 " style="fill:none;stroke:#000000;stroke-width:0.021351;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.050442 146.918407 -L 329.043902 146.907427 + <path clip-path="url(#pd61168c6cd)" d="M 263.240354 121.335173 +L 263.235121 121.326719 " style="fill:none;stroke:#000000;stroke-width:0.021372;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.043902 146.907427 -L 329.050287 146.916816 + <path clip-path="url(#pd61168c6cd)" d="M 263.235121 121.326719 +L 263.24023 121.333948 " style="fill:none;stroke:#000000;stroke-width:0.021384;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.050287 146.916816 -L 329.063948 146.938329 + <path clip-path="url(#pd61168c6cd)" d="M 263.24023 121.333948 +L 263.251158 121.350513 " style="fill:none;stroke:#000000;stroke-width:0.021376;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.063948 146.938329 -L 329.071227 146.950476 + <path clip-path="url(#pd61168c6cd)" d="M 263.251158 121.350513 +L 263.256982 121.359867 " style="fill:none;stroke:#000000;stroke-width:0.021355;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.071227 146.950476 -L 329.064413 146.940402 + <path clip-path="url(#pd61168c6cd)" d="M 263.256982 121.359867 +L 263.25153 121.352109 " style="fill:none;stroke:#000000;stroke-width:0.021343;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.064413 146.940402 -L 329.051204 146.919586 + <path clip-path="url(#pd61168c6cd)" d="M 263.25153 121.352109 +L 263.240963 121.336081 " style="fill:none;stroke:#000000;stroke-width:0.021351;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.051204 146.919586 -L 329.044494 146.908384 + <path clip-path="url(#pd61168c6cd)" d="M 263.240963 121.336081 +L 263.235595 121.327456 " style="fill:none;stroke:#000000;stroke-width:0.021371;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.044494 146.908384 -L 329.050144 146.91663 + <path clip-path="url(#pd61168c6cd)" d="M 263.235595 121.327456 +L 263.240115 121.333805 " style="fill:none;stroke:#000000;stroke-width:0.021383;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.050144 146.91663 -L 329.063137 146.937062 + <path clip-path="url(#pd61168c6cd)" d="M 263.240115 121.333805 +L 263.25051 121.349538 " style="fill:none;stroke:#000000;stroke-width:0.021376;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.063137 146.937062 -L 329.07055 146.949372 + <path clip-path="url(#pd61168c6cd)" d="M 263.25051 121.349538 +L 263.25644 121.359016 " style="fill:none;stroke:#000000;stroke-width:0.021356;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.07055 146.949372 -L 329.064545 146.940558 + <path clip-path="url(#pd61168c6cd)" d="M 263.25644 121.359016 +L 263.251636 121.352229 " style="fill:none;stroke:#000000;stroke-width:0.021344;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.064545 146.940558 -L 329.051921 146.920695 + <path clip-path="url(#pd61168c6cd)" d="M 263.251636 121.352229 +L 263.241537 121.336935 " style="fill:none;stroke:#000000;stroke-width:0.021351;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.051921 146.920695 -L 329.045079 146.909328 + <path clip-path="url(#pd61168c6cd)" d="M 263.241537 121.336935 +L 263.236063 121.328182 " style="fill:none;stroke:#000000;stroke-width:0.02137;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.045079 146.909328 -L 329.050038 146.916502 + <path clip-path="url(#pd61168c6cd)" d="M 263.236063 121.328182 +L 263.240031 121.333707 " style="fill:none;stroke:#000000;stroke-width:0.021382;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.050038 146.916502 -L 329.062381 146.935882 + <path clip-path="url(#pd61168c6cd)" d="M 263.240031 121.333707 +L 263.249905 121.348629 " style="fill:none;stroke:#000000;stroke-width:0.021376;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.062381 146.935882 -L 329.069886 146.948292 + <path clip-path="url(#pd61168c6cd)" d="M 263.249905 121.348629 +L 263.255909 121.358185 " style="fill:none;stroke:#000000;stroke-width:0.021357;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.069886 146.948292 -L 329.064638 146.940655 + <path clip-path="url(#pd61168c6cd)" d="M 263.255909 121.358185 +L 263.251711 121.352305 " style="fill:none;stroke:#000000;stroke-width:0.021345;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.064638 146.940655 -L 329.052595 146.921736 + <path clip-path="url(#pd61168c6cd)" d="M 263.251711 121.352305 +L 263.242076 121.337736 " style="fill:none;stroke:#000000;stroke-width:0.021351;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.052595 146.921736 -L 329.045655 146.910255 + <path clip-path="url(#pd61168c6cd)" d="M 263.242076 121.337736 +L 263.236524 121.328896 " style="fill:none;stroke:#000000;stroke-width:0.021369;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.045655 146.910255 -L 329.049968 146.916429 + <path clip-path="url(#pd61168c6cd)" d="M 263.236524 121.328896 +L 263.239974 121.33365 " style="fill:none;stroke:#000000;stroke-width:0.021381;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.049968 146.916429 -L 329.061677 146.934785 + <path clip-path="url(#pd61168c6cd)" d="M 263.239974 121.33365 +L 263.249342 121.347784 " style="fill:none;stroke:#000000;stroke-width:0.021376;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.061677 146.934785 -L 329.069237 146.947237 + <path clip-path="url(#pd61168c6cd)" d="M 263.249342 121.347784 +L 263.255389 121.357373 " style="fill:none;stroke:#000000;stroke-width:0.021358;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.069237 146.947237 -L 329.064696 146.9407 + <path clip-path="url(#pd61168c6cd)" d="M 263.255389 121.357373 +L 263.251757 121.352339 " style="fill:none;stroke:#000000;stroke-width:0.021346;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.064696 146.9407 -L 329.053228 146.922711 + <path clip-path="url(#pd61168c6cd)" d="M 263.251757 121.352339 +L 263.242583 121.338487 " style="fill:none;stroke:#000000;stroke-width:0.021351;"/> - <path clip-path="url(#p6928b274a4)" d="M 329.053228 146.922711 -L 329.046222 146.911165 + <path clip-path="url(#pd61168c6cd)" d="M 263.242583 121.338487 +L 263.236977 121.329597 " style="fill:none;stroke:#000000;stroke-width:0.021368;"/> - <path clip-path="url(#p6928b274a4)" d="M 518.4 267.246079 -L 516.130705 266.717711 -" style="fill:none;stroke:#000000;stroke-width:3.333196;"/> - <path clip-path="url(#p6928b274a4)" d="M 516.130705 266.717711 -L 498.933214 262.513849 -" style="fill:none;stroke:#000000;stroke-width:3.278448;"/> - <path clip-path="url(#p6928b274a4)" d="M 498.933214 262.513849 -L 481.917355 257.890909 + <path clip-path="url(#pd61168c6cd)" d="M 414.72 213.973597 +L 412.908584 213.570587 +" style="fill:none;stroke:#000000;stroke-width:3.333154;"/> + <path clip-path="url(#pd61168c6cd)" d="M 412.908584 213.570587 +L 399.146571 210.343664 +" style="fill:none;stroke:#000000;stroke-width:3.278537;"/> + <path clip-path="url(#pd61168c6cd)" d="M 399.146571 210.343664 +L 385.533884 206.784 " style="fill:none;stroke:#000000;stroke-width:2.878906;"/> - <path clip-path="url(#p6928b274a4)" d="M 481.917355 257.890909 -L 465.144648 252.764829 + <path clip-path="url(#pd61168c6cd)" d="M 385.533884 206.784 +L 372.115718 202.836918 " style="fill:none;stroke:#000000;stroke-width:2.513701;"/> - <path clip-path="url(#p6928b274a4)" d="M 465.144648 252.764829 -L 448.689788 247.057322 + <path clip-path="url(#pd61168c6cd)" d="M 372.115718 202.836918 +L 358.951831 198.442138 " style="fill:none;stroke:#000000;stroke-width:2.183136;"/> - <path clip-path="url(#p6928b274a4)" d="M 448.689788 247.057322 -L 432.648637 240.686318 + <path clip-path="url(#pd61168c6cd)" d="M 358.951831 198.442138 +L 346.11891 193.536465 " style="fill:none;stroke:#000000;stroke-width:1.886417;"/> - <path clip-path="url(#p6928b274a4)" d="M 432.648637 240.686318 -L 417.139307 233.573062 + <path clip-path="url(#pd61168c6cd)" d="M 346.11891 193.536465 +L 333.711446 188.059258 " style="fill:none;stroke:#000000;stroke-width:1.622407;"/> - <path clip-path="url(#p6928b274a4)" d="M 417.139307 233.573062 -L 402.297528 225.655419 + <path clip-path="url(#pd61168c6cd)" d="M 333.711446 188.059258 +L 321.838022 181.962673 " style="fill:none;stroke:#000000;stroke-width:1.390128;"/> - <path clip-path="url(#p6928b274a4)" d="M 402.297528 225.655419 -L 388.265796 216.899297 + <path clip-path="url(#pd61168c6cd)" d="M 321.838022 181.962673 +L 310.612637 175.220459 " style="fill:none;stroke:#000000;stroke-width:1.185867;"/> - <path clip-path="url(#p6928b274a4)" d="M 518.4 253.982567 -L 515.633151 253.249435 -" style="fill:none;stroke:#000000;stroke-width:3.300073;"/> - <path clip-path="url(#p6928b274a4)" d="M 515.633151 253.249435 -L 498.662769 248.525677 -" style="fill:none;stroke:#000000;stroke-width:3.233182;"/> - <path clip-path="url(#p6928b274a4)" d="M 498.662769 248.525677 -L 481.917355 243.345455 + <path clip-path="url(#pd61168c6cd)" d="M 414.72 203.759687 +L 412.511051 203.200102 +" style="fill:none;stroke:#000000;stroke-width:3.300022;"/> + <path clip-path="url(#pd61168c6cd)" d="M 412.511051 203.200102 +L 398.930215 199.572771 +" style="fill:none;stroke:#000000;stroke-width:3.23328;"/> + <path clip-path="url(#pd61168c6cd)" d="M 398.930215 199.572771 +L 385.533884 195.584 " style="fill:none;stroke:#000000;stroke-width:2.838526;"/> - <path clip-path="url(#p6928b274a4)" d="M 481.917355 243.345455 -L 465.465127 237.631682 + <path clip-path="url(#pd61168c6cd)" d="M 385.533884 195.584 +L 372.372102 191.184395 " style="fill:none;stroke:#000000;stroke-width:2.477618;"/> - <path clip-path="url(#p6928b274a4)" d="M 465.465127 237.631682 -L 449.384363 231.318188 + <path clip-path="url(#pd61168c6cd)" d="M 372.372102 191.184395 +L 359.50749 186.323005 " style="fill:none;stroke:#000000;stroke-width:2.150426;"/> - <path clip-path="url(#p6928b274a4)" d="M 449.384363 231.318188 -L 433.768597 224.342449 + <path clip-path="url(#pd61168c6cd)" d="M 359.50749 186.323005 +L 347.014878 180.951686 " style="fill:none;stroke:#000000;stroke-width:1.855526;"/> - <path clip-path="url(#p6928b274a4)" d="M 518.4 240.423705 -L 515.223964 239.500586 -" style="fill:none;stroke:#000000;stroke-width:3.25958;"/> - <path clip-path="url(#p6928b274a4)" d="M 515.223964 239.500586 -L 498.4454 234.382915 -" style="fill:none;stroke:#000000;stroke-width:3.182391;"/> - <path clip-path="url(#p6928b274a4)" d="M 498.4454 234.382915 -L 481.917355 228.8 + <path clip-path="url(#pd61168c6cd)" d="M 414.72 193.320163 +L 412.183553 192.614661 +" style="fill:none;stroke:#000000;stroke-width:3.25952;"/> + <path clip-path="url(#pd61168c6cd)" d="M 412.183553 192.614661 +L 398.75632 188.682845 +" style="fill:none;stroke:#000000;stroke-width:3.182482;"/> + <path clip-path="url(#pd61168c6cd)" d="M 398.75632 188.682845 +L 385.533884 184.384 " style="fill:none;stroke:#000000;stroke-width:2.790223;"/> - <path clip-path="url(#p6928b274a4)" d="M 481.917355 228.8 -L 465.705646 222.687958 + <path clip-path="url(#pd61168c6cd)" d="M 385.533884 184.384 +L 372.564517 179.677728 " style="fill:none;stroke:#000000;stroke-width:2.430651;"/> - <path clip-path="url(#p6928b274a4)" d="M 465.705646 222.687958 -L 449.880841 215.997604 + <path clip-path="url(#pd61168c6cd)" d="M 372.564517 179.677728 +L 359.904672 174.526155 " style="fill:none;stroke:#000000;stroke-width:2.10309;"/> - <path clip-path="url(#p6928b274a4)" d="M 449.880841 215.997604 -L 434.521655 208.687407 + <path clip-path="url(#pd61168c6cd)" d="M 359.904672 174.526155 +L 347.617324 168.897303 " style="fill:none;stroke:#000000;stroke-width:1.8054;"/> - <path clip-path="url(#p6928b274a4)" d="M 434.521655 208.687407 -L 419.708935 200.731173 + <path clip-path="url(#pd61168c6cd)" d="M 347.617324 168.897303 +L 335.767148 162.771003 " style="fill:none;stroke:#000000;stroke-width:1.535365;"/> - <path clip-path="url(#p6928b274a4)" d="M 419.708935 200.731173 -L 405.514149 192.126772 + <path clip-path="url(#pd61168c6cd)" d="M 335.767148 162.771003 +L 324.41132 156.145614 " style="fill:none;stroke:#000000;stroke-width:1.289143;"/> - <path clip-path="url(#p6928b274a4)" d="M 405.514149 192.126772 -L 391.983501 182.903055 + <path clip-path="url(#pd61168c6cd)" d="M 324.41132 156.145614 +L 313.586801 149.043352 " style="fill:none;stroke:#000000;stroke-width:1.062205;"/> - <path clip-path="url(#p6928b274a4)" d="M 391.983501 182.903055 -L 379.114906 173.126366 + <path clip-path="url(#pd61168c6cd)" d="M 313.586801 149.043352 +L 303.291925 141.515302 " style="fill:none;stroke:#000000;stroke-width:0.849357;"/> - <path clip-path="url(#p6928b274a4)" d="M 379.114906 173.126366 -L 366.803957 162.926681 + <path clip-path="url(#pd61168c6cd)" d="M 303.291925 141.515302 +L 293.443166 133.661545 " style="fill:none;stroke:#000000;stroke-width:0.643983;"/> - <path clip-path="url(#p6928b274a4)" d="M 366.803957 162.926681 -L 354.655401 152.611829 + <path clip-path="url(#pd61168c6cd)" d="M 293.443166 133.661545 +L 283.724321 125.719108 " style="fill:none;stroke:#000000;stroke-width:0.440425;"/> - <path clip-path="url(#p6928b274a4)" d="M 354.655401 152.611829 -L 354.655401 152.611829 + <path clip-path="url(#pd61168c6cd)" d="M 283.724321 125.719108 +L 283.724321 125.719108 " style="fill:none;stroke:#000000;stroke-width:0.234133;"/> - <path clip-path="url(#p6928b274a4)" d="M 354.655401 152.611829 -L 349.961903 148.83673 + <path clip-path="url(#pd61168c6cd)" d="M 283.724321 125.719108 +L 279.969522 122.812282 " style="fill:none;stroke:#000000;stroke-width:0.234133;"/> - <path clip-path="url(#p6928b274a4)" d="M 349.961903 148.83673 -L 349.961903 148.83673 + <path clip-path="url(#pd61168c6cd)" d="M 279.969522 122.812282 +L 279.969522 122.812282 " style="fill:none;stroke:#000000;stroke-width:0.15636;"/> - <path clip-path="url(#p6928b274a4)" d="M 349.961903 148.83673 -L 346.860255 146.608121 + <path clip-path="url(#pd61168c6cd)" d="M 279.969522 122.812282 +L 277.488204 121.096253 " style="fill:none;stroke:#000000;stroke-width:0.15636;"/> - <path clip-path="url(#p6928b274a4)" d="M 346.860255 146.608121 -L 346.860255 146.608121 + <path clip-path="url(#pd61168c6cd)" d="M 277.488204 121.096253 +L 277.488204 121.096253 " style="fill:none;stroke:#000000;stroke-width:0.10869;"/> - <path clip-path="url(#p6928b274a4)" d="M 346.860255 146.608121 -L 343.917158 144.894543 + <path clip-path="url(#pd61168c6cd)" d="M 277.488204 121.096253 +L 275.133726 119.776798 " style="fill:none;stroke:#000000;stroke-width:0.10869;"/> - <path clip-path="url(#p6928b274a4)" d="M 343.917158 144.894543 -L 343.917158 144.894543 + <path clip-path="url(#pd61168c6cd)" d="M 275.133726 119.776798 +L 275.133726 119.776798 " style="fill:none;stroke:#000000;stroke-width:0.06932;"/> - <path clip-path="url(#p6928b274a4)" d="M 343.917158 144.894543 -L 341.228043 143.91559 + <path clip-path="url(#pd61168c6cd)" d="M 275.133726 119.776798 +L 272.982435 119.023004 " style="fill:none;stroke:#000000;stroke-width:0.06932;"/> - <path clip-path="url(#p6928b274a4)" d="M 341.228043 143.91559 -L 341.228043 143.91559 + <path clip-path="url(#pd61168c6cd)" d="M 272.982435 119.023004 +L 272.982435 119.023004 " style="fill:none;stroke:#000000;stroke-width:0.045297;"/> - <path clip-path="url(#p6928b274a4)" d="M 341.228043 143.91559 -L 338.858071 143.723049 + <path clip-path="url(#pd61168c6cd)" d="M 272.982435 119.023004 +L 271.086457 118.874748 " style="fill:none;stroke:#000000;stroke-width:0.045297;"/> - <path clip-path="url(#p6928b274a4)" d="M 518.4 226.533706 -L 514.943218 225.465942 -" style="fill:none;stroke:#000000;stroke-width:3.208525;"/> - <path clip-path="url(#p6928b274a4)" d="M 514.943218 225.465942 -L 498.302454 220.085116 -" style="fill:none;stroke:#000000;stroke-width:3.1238;"/> - <path clip-path="url(#p6928b274a4)" d="M 498.302454 220.085116 -L 481.917355 214.254545 + <path clip-path="url(#pd61168c6cd)" d="M 414.72 182.626198 +L 411.95857 181.809231 +" style="fill:none;stroke:#000000;stroke-width:3.208457;"/> + <path clip-path="url(#pd61168c6cd)" d="M 411.95857 181.809231 +L 398.641963 177.67354 +" style="fill:none;stroke:#000000;stroke-width:3.123876;"/> + <path clip-path="url(#pd61168c6cd)" d="M 398.641963 177.67354 +L 385.533884 173.184 " style="fill:none;stroke:#000000;stroke-width:2.731193;"/> - <path clip-path="url(#p6928b274a4)" d="M 481.917355 214.254545 -L 465.844691 207.925373 + <path clip-path="url(#pd61168c6cd)" d="M 385.533884 173.184 +L 372.675753 168.310538 " style="fill:none;stroke:#000000;stroke-width:2.369706;"/> - <path clip-path="url(#p6928b274a4)" d="M 465.844691 207.925373 -L 450.140029 201.066035 + <path clip-path="url(#pd61168c6cd)" d="M 372.675753 168.310538 +L 360.112023 163.028847 " style="fill:none;stroke:#000000;stroke-width:2.038146;"/> - <path clip-path="url(#p6928b274a4)" d="M 450.140029 201.066035 -L 434.859881 193.655203 + <path clip-path="url(#pd61168c6cd)" d="M 360.112023 163.028847 +L 347.887905 157.322506 " style="fill:none;stroke:#000000;stroke-width:1.733939;"/> - <path clip-path="url(#p6928b274a4)" d="M 518.4 212.269054 -L 514.825124 211.130221 -" style="fill:none;stroke:#000000;stroke-width:3.14407;"/> - <path clip-path="url(#p6928b274a4)" d="M 514.825124 211.130221 -L 498.251868 205.625215 -" style="fill:none;stroke:#000000;stroke-width:3.055494;"/> - <path clip-path="url(#p6928b274a4)" d="M 498.251868 205.625215 -L 481.917355 199.709091 + <path clip-path="url(#pd61168c6cd)" d="M 414.72 171.642858 +L 411.86398 170.771164 +" style="fill:none;stroke:#000000;stroke-width:3.143991;"/> + <path clip-path="url(#pd61168c6cd)" d="M 411.86398 170.771164 +L 398.601495 166.539416 +" style="fill:none;stroke:#000000;stroke-width:3.05556;"/> + <path clip-path="url(#pd61168c6cd)" d="M 398.601495 166.539416 +L 385.533884 161.984 " style="fill:none;stroke:#000000;stroke-width:2.659431;"/> - <path clip-path="url(#p6928b274a4)" d="M 481.917355 199.709091 -L 465.865206 193.347433 + <path clip-path="url(#pd61168c6cd)" d="M 385.533884 161.984 +L 372.692165 157.085524 " style="fill:none;stroke:#000000;stroke-width:2.292805;"/> - <path clip-path="url(#p6928b274a4)" d="M 465.865206 193.347433 -L 450.130837 186.527078 + <path clip-path="url(#pd61168c6cd)" d="M 372.692165 157.085524 +L 360.10467 151.83385 " style="fill:none;stroke:#000000;stroke-width:1.954364;"/> - <path clip-path="url(#p6928b274a4)" d="M 450.130837 186.527078 -L 434.74144 179.250396 + <path clip-path="url(#pd61168c6cd)" d="M 360.10467 151.83385 +L 347.793152 146.230805 " style="fill:none;stroke:#000000;stroke-width:1.641002;"/> - <path clip-path="url(#p6928b274a4)" d="M 434.74144 179.250396 -L 419.702585 171.54645 + <path clip-path="url(#pd61168c6cd)" d="M 347.793152 146.230805 +L 335.762068 140.298766 " style="fill:none;stroke:#000000;stroke-width:1.350395;"/> - <path clip-path="url(#p6928b274a4)" d="M 419.702585 171.54645 -L 404.973886 163.490432 + <path clip-path="url(#pd61168c6cd)" d="M 335.762068 140.298766 +L 323.979108 134.095633 " style="fill:none;stroke:#000000;stroke-width:1.078385;"/> - <path clip-path="url(#p6928b274a4)" d="M 404.973886 163.490432 -L 390.418003 155.247062 + <path clip-path="url(#pd61168c6cd)" d="M 323.979108 134.095633 +L 312.334403 127.748238 " style="fill:none;stroke:#000000;stroke-width:0.821905;"/> - <path clip-path="url(#p6928b274a4)" d="M 518.4 197.578902 -L 514.897469 196.464016 -" style="fill:none;stroke:#000000;stroke-width:3.06388;"/> - <path clip-path="url(#p6928b274a4)" d="M 514.897469 196.464016 -L 498.307238 190.988665 -" style="fill:none;stroke:#000000;stroke-width:2.975988;"/> - <path clip-path="url(#p6928b274a4)" d="M 498.307238 190.988665 -L 481.917355 185.163636 + <path clip-path="url(#pd61168c6cd)" d="M 414.72 160.329961 +L 411.922381 159.47722 +" style="fill:none;stroke:#000000;stroke-width:3.063774;"/> + <path clip-path="url(#pd61168c6cd)" d="M 411.922381 159.47722 +L 398.64579 155.269272 +" style="fill:none;stroke:#000000;stroke-width:2.976051;"/> + <path clip-path="url(#pd61168c6cd)" d="M 398.64579 155.269272 +L 385.533884 150.784 " style="fill:none;stroke:#000000;stroke-width:2.573831;"/> - <path clip-path="url(#p6928b274a4)" d="M 481.917355 185.163636 -L 465.754586 178.97032 + <path clip-path="url(#pd61168c6cd)" d="M 385.533884 150.784 +L 372.603669 146.015146 " style="fill:none;stroke:#000000;stroke-width:2.199628;"/> - <path clip-path="url(#p6928b274a4)" d="M 465.754586 178.97032 -L 449.829201 172.418779 + <path clip-path="url(#pd61168c6cd)" d="M 372.603669 146.015146 +L 359.863361 140.97046 " style="fill:none;stroke:#000000;stroke-width:1.852182;"/> - <path clip-path="url(#p6928b274a4)" d="M 449.829201 172.418779 -L 434.13282 165.543401 + <path clip-path="url(#pd61168c6cd)" d="M 359.863361 140.97046 +L 347.306256 135.676419 " style="fill:none;stroke:#000000;stroke-width:1.528625;"/> - <path clip-path="url(#p6928b274a4)" d="M 518.4 182.398426 -L 515.182298 181.412418 -" style="fill:none;stroke:#000000;stroke-width:2.966243;"/> - <path clip-path="url(#p6928b274a4)" d="M 515.182298 181.412418 -L 498.478587 176.146645 -" style="fill:none;stroke:#000000;stroke-width:2.884498;"/> - <path clip-path="url(#p6928b274a4)" d="M 498.478587 176.146645 -L 481.917355 170.618182 + <path clip-path="url(#pd61168c6cd)" d="M 414.72 148.637621 +L 412.151386 147.885007 +" style="fill:none;stroke:#000000;stroke-width:2.966087;"/> + <path clip-path="url(#pd61168c6cd)" d="M 412.151386 147.885007 +L 398.78287 143.840917 +" style="fill:none;stroke:#000000;stroke-width:2.884563;"/> + <path clip-path="url(#pd61168c6cd)" d="M 398.78287 143.840917 +L 385.533884 139.584 " style="fill:none;stroke:#000000;stroke-width:2.474386;"/> - <path clip-path="url(#p6928b274a4)" d="M 481.917355 170.618182 -L 465.505329 164.829171 + <path clip-path="url(#pd61168c6cd)" d="M 385.533884 139.584 +L 372.404264 135.126462 " style="fill:none;stroke:#000000;stroke-width:2.091265;"/> - <path clip-path="url(#p6928b274a4)" d="M 465.505329 164.829171 -L 449.224276 158.822301 + <path clip-path="url(#pd61168c6cd)" d="M 372.404264 135.126462 +L 359.379421 130.501172 " style="fill:none;stroke:#000000;stroke-width:1.734366;"/> - <path clip-path="url(#p6928b274a4)" d="M 449.224276 158.822301 -L 433.025391 152.683718 + <path clip-path="url(#pd61168c6cd)" d="M 359.379421 130.501172 +L 346.420312 125.774463 " style="fill:none;stroke:#000000;stroke-width:1.401487;"/> - <path clip-path="url(#p6928b274a4)" d="M 433.025391 152.683718 -L 416.801553 146.587938 + <path clip-path="url(#pd61168c6cd)" d="M 346.420312 125.774463 +L 333.441242 121.080712 " style="fill:none;stroke:#000000;stroke-width:1.091088;"/> - <path clip-path="url(#p6928b274a4)" d="M 416.801553 146.587938 -L 400.335919 140.909161 + <path clip-path="url(#pd61168c6cd)" d="M 333.441242 121.080712 +L 320.268736 116.708054 " style="fill:none;stroke:#000000;stroke-width:0.803315;"/> - <path clip-path="url(#p6928b274a4)" d="M 400.335919 140.909161 -L 400.335919 140.909161 + <path clip-path="url(#pd61168c6cd)" d="M 320.268736 116.708054 +L 320.268736 116.708054 " style="fill:none;stroke:#000000;stroke-width:0.539657;"/> - <path clip-path="url(#p6928b274a4)" d="M 400.335919 140.909161 -L 386.852856 137.203235 + <path clip-path="url(#pd61168c6cd)" d="M 320.268736 116.708054 +L 309.482285 113.854491 " style="fill:none;stroke:#000000;stroke-width:0.539657;"/> - <path clip-path="url(#p6928b274a4)" d="M 386.852856 137.203235 -L 386.852856 137.203235 + <path clip-path="url(#pd61168c6cd)" d="M 309.482285 113.854491 +L 309.482285 113.854491 " style="fill:none;stroke:#000000;stroke-width:0.354039;"/> - <path clip-path="url(#p6928b274a4)" d="M 518.4 166.645673 -L 515.688899 165.884143 -" style="fill:none;stroke:#000000;stroke-width:2.850569;"/> - <path clip-path="url(#p6928b274a4)" d="M 515.688899 165.884143 -L 498.768291 161.050102 -" style="fill:none;stroke:#000000;stroke-width:2.781269;"/> - <path clip-path="url(#p6928b274a4)" d="M 498.768291 161.050102 -L 481.917355 156.072727 + <path clip-path="url(#pd61168c6cd)" d="M 414.72 136.504462 +L 412.557756 135.925022 +" style="fill:none;stroke:#000000;stroke-width:2.850361;"/> + <path clip-path="url(#pd61168c6cd)" d="M 412.557756 135.925022 +L 399.014633 132.216579 +" style="fill:none;stroke:#000000;stroke-width:2.781324;"/> + <path clip-path="url(#pd61168c6cd)" d="M 399.014633 132.216579 +L 385.533884 128.384 " style="fill:none;stroke:#000000;stroke-width:2.362332;"/> - <path clip-path="url(#p6928b274a4)" d="M 481.917355 156.072727 -L 465.122598 150.982616 + <path clip-path="url(#pd61168c6cd)" d="M 385.533884 128.384 +L 372.098078 124.464614 " style="fill:none;stroke:#000000;stroke-width:1.970792;"/> - <path clip-path="url(#p6928b274a4)" d="M 465.122598 150.982616 -L 448.338651 145.872349 + <path clip-path="url(#pd61168c6cd)" d="M 372.098078 124.464614 +L 358.670921 120.529708 " style="fill:none;stroke:#000000;stroke-width:1.60621;"/> - <path clip-path="url(#p6928b274a4)" d="M 448.338651 145.872349 -L 431.482884 140.907973 + <path clip-path="url(#pd61168c6cd)" d="M 358.670921 120.529708 +L 345.186307 116.70714 " style="fill:none;stroke:#000000;stroke-width:1.267823;"/> - <path clip-path="url(#p6928b274a4)" d="M 518.4 150.214983 -L 516.395172 149.736884 -" style="fill:none;stroke:#000000;stroke-width:2.718507;"/> - <path clip-path="url(#p6928b274a4)" d="M 516.395172 149.736884 -L 499.158824 145.625513 -" style="fill:none;stroke:#000000;stroke-width:2.667297;"/> - <path clip-path="url(#p6928b274a4)" d="M 499.158824 145.625513 -L 481.917355 141.527273 + <path clip-path="url(#pd61168c6cd)" d="M 414.72 123.853086 +L 413.122328 123.490301 +" style="fill:none;stroke:#000000;stroke-width:2.718287;"/> + <path clip-path="url(#pd61168c6cd)" d="M 413.122328 123.490301 +L 399.32706 120.339645 +" style="fill:none;stroke:#000000;stroke-width:2.667317;"/> + <path clip-path="url(#pd61168c6cd)" d="M 399.32706 120.339645 +L 385.533884 117.184 " style="fill:none;stroke:#000000;stroke-width:2.241083;"/> - <path clip-path="url(#p6928b274a4)" d="M 481.917355 141.527273 -L 464.641645 137.516411 + <path clip-path="url(#pd61168c6cd)" d="M 385.533884 117.184 +L 371.713316 114.095637 " style="fill:none;stroke:#000000;stroke-width:1.844068;"/> - <path clip-path="url(#p6928b274a4)" d="M 464.641645 137.516411 -L 447.275763 133.751426 + <path clip-path="url(#pd61168c6cd)" d="M 371.713316 114.095637 +L 357.82061 111.196598 " style="fill:none;stroke:#000000;stroke-width:1.476665;"/> - <path clip-path="url(#p6928b274a4)" d="M 447.275763 133.751426 -L 429.742457 130.504311 + <path clip-path="url(#pd61168c6cd)" d="M 357.82061 111.196598 +L 343.793965 108.69632 " style="fill:none;stroke:#000000;stroke-width:1.140153;"/> - <path clip-path="url(#p6928b274a4)" d="M 429.742457 130.504311 -L 411.970786 128.26096 + <path clip-path="url(#pd61168c6cd)" d="M 343.793965 108.69632 +L 329.576629 106.968939 " style="fill:none;stroke:#000000;stroke-width:0.837291;"/> - <path clip-path="url(#p6928b274a4)" d="M 411.970786 128.26096 -L 411.970786 128.26096 + <path clip-path="url(#pd61168c6cd)" d="M 329.576629 106.968939 +L 329.576629 106.968939 " style="fill:none;stroke:#000000;stroke-width:0.575081;"/> - <path clip-path="url(#p6928b274a4)" d="M 411.970786 128.26096 -L 398.670232 127.60023 + <path clip-path="url(#pd61168c6cd)" d="M 329.576629 106.968939 +L 318.936186 106.460177 " style="fill:none;stroke:#000000;stroke-width:0.575081;"/> - <path clip-path="url(#p6928b274a4)" d="M 398.670232 127.60023 -L 398.670232 127.60023 + <path clip-path="url(#pd61168c6cd)" d="M 318.936186 106.460177 +L 318.936186 106.460177 " style="fill:none;stroke:#000000;stroke-width:0.411849;"/> - <path clip-path="url(#p6928b274a4)" d="M 398.670232 127.60023 -L 387.292224 128.066251 + <path clip-path="url(#pd61168c6cd)" d="M 318.936186 106.460177 +L 309.833779 106.819013 " style="fill:none;stroke:#000000;stroke-width:0.411849;"/> - <path clip-path="url(#p6928b274a4)" d="M 387.292224 128.066251 -L 375.682328 129.898823 + <path clip-path="url(#pd61168c6cd)" d="M 309.833779 106.819013 +L 300.545863 108.230093 " style="fill:none;stroke:#000000;stroke-width:0.297732;"/> - <path clip-path="url(#p6928b274a4)" d="M 375.682328 129.898823 -L 365.977975 132.441802 + <path clip-path="url(#pd61168c6cd)" d="M 300.545863 108.230093 +L 292.78238 110.188187 " style="fill:none;stroke:#000000;stroke-width:0.205019;"/> - <path clip-path="url(#p6928b274a4)" d="M 518.4 132.9712 -L 517.205638 132.762428 -" style="fill:none;stroke:#000000;stroke-width:2.575504;"/> - <path clip-path="url(#p6928b274a4)" d="M 517.205638 132.762428 -L 499.589432 129.769828 -" style="fill:none;stroke:#000000;stroke-width:2.545452;"/> - <path clip-path="url(#p6928b274a4)" d="M 499.589432 129.769828 -L 481.917355 126.981818 + <path clip-path="url(#pd61168c6cd)" d="M 414.72 110.58509 +L 413.767223 110.426114 +" style="fill:none;stroke:#000000;stroke-width:2.57539;"/> + <path clip-path="url(#pd61168c6cd)" d="M 413.767223 110.426114 +L 399.671545 108.130768 +" style="fill:none;stroke:#000000;stroke-width:2.545438;"/> + <path clip-path="url(#pd61168c6cd)" d="M 399.671545 108.130768 +L 385.533884 105.984 " style="fill:none;stroke:#000000;stroke-width:2.116828;"/> - <path clip-path="url(#p6928b274a4)" d="M 481.917355 126.981818 -L 464.163833 124.534386 + <path clip-path="url(#pd61168c6cd)" d="M 385.533884 105.984 +L 371.331066 104.099477 " style="fill:none;stroke:#000000;stroke-width:1.720963;"/> - <path clip-path="url(#p6928b274a4)" d="M 518.4 114.734837 -L 517.863004 114.690266 -" style="fill:none;stroke:#000000;stroke-width:2.434748;"/> - <path clip-path="url(#p6928b274a4)" d="M 517.863004 114.690266 -L 499.910388 113.363387 -" style="fill:none;stroke:#000000;stroke-width:2.421693;"/> - <path clip-path="url(#p6928b274a4)" d="M 499.910388 113.363387 -L 481.917355 112.436364 + <path clip-path="url(#pd61168c6cd)" d="M 414.72 96.567555 +L 414.288606 96.532293 +" style="fill:none;stroke:#000000;stroke-width:2.434873;"/> + <path clip-path="url(#pd61168c6cd)" d="M 414.288606 96.532293 +L 399.92831 95.497808 +" style="fill:none;stroke:#000000;stroke-width:2.421757;"/> + <path clip-path="url(#pd61168c6cd)" d="M 399.92831 95.497808 +L 385.533884 94.784 " style="fill:none;stroke:#000000;stroke-width:2.000597;"/> - <path clip-path="url(#p6928b274a4)" d="M 481.917355 112.436364 -L 463.896186 112.102011 + <path clip-path="url(#pd61168c6cd)" d="M 385.533884 94.784 +L 371.116948 94.526548 " style="fill:none;stroke:#000000;stroke-width:1.617258;"/> - <path clip-path="url(#p6928b274a4)" d="M 463.896186 112.102011 -L 445.888787 112.570751 + <path clip-path="url(#pd61168c6cd)" d="M 371.116948 94.526548 +L 356.71103 94.887478 " style="fill:none;stroke:#000000;stroke-width:1.273932;"/> - <path clip-path="url(#p6928b274a4)" d="M 445.888787 112.570751 -L 427.991578 114.107594 + <path clip-path="url(#pd61168c6cd)" d="M 356.71103 94.887478 +L 342.393262 96.070847 " style="fill:none;stroke:#000000;stroke-width:0.972949;"/> - <path clip-path="url(#p6928b274a4)" d="M 427.991578 114.107594 -L 410.398281 116.98178 + <path clip-path="url(#pd61168c6cd)" d="M 342.393262 96.070847 +L 328.318625 98.283971 " style="fill:none;stroke:#000000;stroke-width:0.717454;"/> - <path clip-path="url(#p6928b274a4)" d="M 518.4 95.281874 -L 517.818768 95.308789 -" style="fill:none;stroke:#000000;stroke-width:2.323708;"/> - <path clip-path="url(#p6928b274a4)" d="M 517.818768 95.308789 -L 499.835375 96.34405 -" style="fill:none;stroke:#000000;stroke-width:2.31033;"/> - <path clip-path="url(#p6928b274a4)" d="M 499.835375 96.34405 -L 481.917355 97.890909 + <path clip-path="url(#pd61168c6cd)" d="M 414.72 81.627438 +L 414.258747 81.644656 +" style="fill:none;stroke:#000000;stroke-width:2.323961;"/> + <path clip-path="url(#pd61168c6cd)" d="M 414.258747 81.644656 +L 399.8683 82.392918 +" style="fill:none;stroke:#000000;stroke-width:2.310672;"/> + <path clip-path="url(#pd61168c6cd)" d="M 399.8683 82.392918 +L 385.533884 83.584 " style="fill:none;stroke:#000000;stroke-width:1.912477;"/> - <path clip-path="url(#p6928b274a4)" d="M 481.917355 97.890909 -L 464.131155 100.144872 + <path clip-path="url(#pd61168c6cd)" d="M 385.533884 83.584 +L 371.304924 85.319552 " style="fill:none;stroke:#000000;stroke-width:1.554804;"/> - <path clip-path="url(#p6928b274a4)" d="M 464.131155 100.144872 -L 446.55274 103.212437 + <path clip-path="url(#pd61168c6cd)" d="M 371.304924 85.319552 +L 357.242192 87.681576 " style="fill:none;stroke:#000000;stroke-width:1.238422;"/> - <path clip-path="url(#p6928b274a4)" d="M 518.4 74.34269 -L 516.251082 74.821334 -" style="fill:none;stroke:#000000;stroke-width:2.294393;"/> - <path clip-path="url(#p6928b274a4)" d="M 516.251082 74.821334 -L 498.990104 78.862225 -" style="fill:none;stroke:#000000;stroke-width:2.247317;"/> - <path clip-path="url(#p6928b274a4)" d="M 498.990104 78.862225 -L 481.917355 83.345455 + <path clip-path="url(#pd61168c6cd)" d="M 414.72 65.526843 +L 413.021293 65.875039 +" style="fill:none;stroke:#000000;stroke-width:2.294184;"/> + <path clip-path="url(#pd61168c6cd)" d="M 413.021293 65.875039 +L 399.192083 68.931913 +" style="fill:none;stroke:#000000;stroke-width:2.24778;"/> + <path clip-path="url(#pd61168c6cd)" d="M 399.192083 68.931913 +L 385.533884 72.384 " style="fill:none;stroke:#000000;stroke-width:1.885327;"/> - <path clip-path="url(#p6928b274a4)" d="M 481.917355 83.345455 -L 465.106021 88.378549 + <path clip-path="url(#pd61168c6cd)" d="M 385.533884 72.384 +L 372.084817 76.259483 " style="fill:none;stroke:#000000;stroke-width:1.559201;"/> - <path clip-path="url(#p6928b274a4)" d="M 496.853818 43.2 -L 494.937392 44.595509 -" style="fill:none;stroke:#000000;stroke-width:2.208568;"/> - <path clip-path="url(#p6928b274a4)" d="M 494.937392 44.595509 -L 481.917355 54.254545 -" style="fill:none;stroke:#000000;stroke-width:2.160633;"/> - <path clip-path="url(#p6928b274a4)" d="M 481.917355 54.254545 -L 468.92311 63.934916 + <path clip-path="url(#pd61168c6cd)" d="M 397.137021 41.472 +L 395.819725 42.447701 +" style="fill:none;stroke:#000000;stroke-width:2.203072;"/> + <path clip-path="url(#pd61168c6cd)" d="M 395.819725 42.447701 +L 385.533884 49.984 +" style="fill:none;stroke:#000000;stroke-width:2.160938;"/> + <path clip-path="url(#pd61168c6cd)" d="M 385.533884 49.984 +L 375.138488 57.437885 " style="fill:none;stroke:#000000;stroke-width:1.841399;"/> - <path clip-path="url(#p6928b274a4)" d="M 468.92311 63.934916 -L 455.784009 73.49404 + <path clip-path="url(#pd61168c6cd)" d="M 375.138488 57.437885 +L 364.627207 64.798411 " style="fill:none;stroke:#000000;stroke-width:1.546731;"/> - <path clip-path="url(#p6928b274a4)" d="M 455.784009 73.49404 -L 442.48404 82.910897 + <path clip-path="url(#pd61168c6cd)" d="M 364.627207 64.798411 +L 353.987232 72.04939 " style="fill:none;stroke:#000000;stroke-width:1.277972;"/> - <path clip-path="url(#p6928b274a4)" d="M 400.388213 43.2 -L 399.933884 54.254545 -" style="fill:none;stroke:#000000;stroke-width:1.933859;"/> - <path clip-path="url(#p6928b274a4)" d="M 399.933884 54.254545 -L 398.799486 68.18132 + <path clip-path="url(#pd61168c6cd)" d="M 319.947107 49.984 +L 319.039589 60.707616 " style="fill:none;stroke:#000000;stroke-width:1.609418;"/> - <path clip-path="url(#p6928b274a4)" d="M 398.799486 68.18132 -L 396.377394 82.00003 + <path clip-path="url(#pd61168c6cd)" d="M 319.039589 60.707616 +L 317.101915 71.348023 " style="fill:none;stroke:#000000;stroke-width:1.236546;"/> - <path clip-path="url(#p6928b274a4)" d="M 396.377394 82.00003 -L 392.105904 95.524733 + <path clip-path="url(#pd61168c6cd)" d="M 317.101915 71.348023 +L 313.684723 81.762045 " style="fill:none;stroke:#000000;stroke-width:0.909463;"/> - <path clip-path="url(#p6928b274a4)" d="M 392.105904 95.524733 -L 392.105904 95.524733 + <path clip-path="url(#pd61168c6cd)" d="M 313.684723 81.762045 +L 313.684723 81.762045 " style="fill:none;stroke:#000000;stroke-width:0.633862;"/> - <path clip-path="url(#p6928b274a4)" d="M 392.105904 95.524733 -L 387.552324 105.074298 + <path clip-path="url(#pd61168c6cd)" d="M 313.684723 81.762045 +L 310.04186 89.11521 " style="fill:none;stroke:#000000;stroke-width:0.633862;"/> - <path clip-path="url(#p6928b274a4)" d="M 356.400441 43.2 -L 358.942149 54.254545 -" style="fill:none;stroke:#000000;stroke-width:2.14288;"/> - <path clip-path="url(#p6928b274a4)" d="M 358.942149 54.254545 -L 361.961099 68.02021 + <path clip-path="url(#pd61168c6cd)" d="M 287.153719 49.984 +L 289.568879 60.583562 " style="fill:none;stroke:#000000;stroke-width:1.798071;"/> - <path clip-path="url(#p6928b274a4)" d="M 361.961099 68.02021 -L 364.566101 81.835173 + <path clip-path="url(#pd61168c6cd)" d="M 289.568879 60.583562 +L 291.652881 71.221083 " style="fill:none;stroke:#000000;stroke-width:1.399053;"/> - <path clip-path="url(#p6928b274a4)" d="M 364.566101 81.835173 -L 366.337751 95.7217 + <path clip-path="url(#pd61168c6cd)" d="M 291.652881 71.221083 +L 293.0702 81.913709 " style="fill:none;stroke:#000000;stroke-width:1.034552;"/> - <path clip-path="url(#p6928b274a4)" d="M 366.337751 95.7217 -L 366.34516 109.641585 + <path clip-path="url(#pd61168c6cd)" d="M 293.0702 81.913709 +L 293.076128 92.63202 " style="fill:none;stroke:#000000;stroke-width:0.707959;"/> - <path clip-path="url(#p6928b274a4)" d="M 366.34516 109.641585 -L 366.34516 109.641585 + <path clip-path="url(#pd61168c6cd)" d="M 293.076128 92.63202 +L 293.076128 92.63202 " style="fill:none;stroke:#000000;stroke-width:0.427534;"/> - <path clip-path="url(#p6928b274a4)" d="M 366.34516 109.641585 -L 365.107971 117.47277 + <path clip-path="url(#pd61168c6cd)" d="M 293.076128 92.63202 +L 292.086377 98.662033 " style="fill:none;stroke:#000000;stroke-width:0.427534;"/> - <path clip-path="url(#p6928b274a4)" d="M 365.107971 117.47277 -L 365.107971 117.47277 + <path clip-path="url(#pd61168c6cd)" d="M 292.086377 98.662033 +L 292.086377 98.662033 " style="fill:none;stroke:#000000;stroke-width:0.294499;"/> - <path clip-path="url(#p6928b274a4)" d="M 314.231734 43.2 -L 317.950413 54.254545 -" style="fill:none;stroke:#000000;stroke-width:2.343596;"/> - <path clip-path="url(#p6928b274a4)" d="M 317.950413 54.254545 -L 322.602998 67.745295 + <path clip-path="url(#pd61168c6cd)" d="M 254.360331 49.984 +L 258.082399 60.371877 " style="fill:none;stroke:#000000;stroke-width:1.996415;"/> - <path clip-path="url(#p6928b274a4)" d="M 322.602998 67.745295 -L 327.452935 81.194344 + <path clip-path="url(#pd61168c6cd)" d="M 258.082399 60.371877 +L 261.962348 70.727645 " style="fill:none;stroke:#000000;stroke-width:1.600045;"/> - <path clip-path="url(#p6928b274a4)" d="M 327.452935 81.194344 -L 332.444442 94.612351 + <path clip-path="url(#pd61168c6cd)" d="M 261.962348 70.727645 +L 265.955554 81.05951 " style="fill:none;stroke:#000000;stroke-width:1.23464;"/> - <path clip-path="url(#p6928b274a4)" d="M 332.444442 94.612351 -L 337.421518 108.033391 + <path clip-path="url(#pd61168c6cd)" d="M 265.955554 81.05951 +L 269.937215 91.393711 " style="fill:none;stroke:#000000;stroke-width:0.899472;"/> - <path clip-path="url(#p6928b274a4)" d="M 273.460453 43.2 -L 276.958678 54.254545 -" style="fill:none;stroke:#000000;stroke-width:2.498686;"/> - <path clip-path="url(#p6928b274a4)" d="M 276.958678 54.254545 -L 281.411841 67.7852 + <path clip-path="url(#pd61168c6cd)" d="M 221.566942 49.984 +L 225.129473 60.402604 " style="fill:none;stroke:#000000;stroke-width:2.155666;"/> - <path clip-path="url(#p6928b274a4)" d="M 281.411841 67.7852 -L 286.216043 81.243462 + <path clip-path="url(#pd61168c6cd)" d="M 225.129473 60.402604 +L 228.972834 70.765465 " style="fill:none;stroke:#000000;stroke-width:1.763697;"/> - <path clip-path="url(#p6928b274a4)" d="M 286.216043 81.243462 -L 291.429099 94.609855 + <path clip-path="url(#pd61168c6cd)" d="M 228.972834 70.765465 +L 233.143279 81.057588 " style="fill:none;stroke:#000000;stroke-width:1.403885;"/> - <path clip-path="url(#p6928b274a4)" d="M 291.429099 94.609855 -L 297.128451 107.856152 + <path clip-path="url(#pd61168c6cd)" d="M 233.143279 81.057588 +L 237.702761 91.257237 " style="fill:none;stroke:#000000;stroke-width:1.075555;"/> - <path clip-path="url(#p6928b274a4)" d="M 297.128451 107.856152 -L 303.423908 120.938623 + <path clip-path="url(#pd61168c6cd)" d="M 237.702761 91.257237 +L 242.739127 101.33074 " style="fill:none;stroke:#000000;stroke-width:0.777843;"/> - <path clip-path="url(#p6928b274a4)" d="M 303.423908 120.938623 -L 310.523708 133.768548 + <path clip-path="url(#pd61168c6cd)" d="M 242.739127 101.33074 +L 248.418967 111.209782 " style="fill:none;stroke:#000000;stroke-width:0.509479;"/> - <path clip-path="url(#p6928b274a4)" d="M 310.523708 133.768548 -L 310.523708 133.768548 + <path clip-path="url(#pd61168c6cd)" d="M 248.418967 111.209782 +L 248.418967 111.209782 " style="fill:none;stroke:#000000;stroke-width:0.269252;"/> - <path clip-path="url(#p6928b274a4)" d="M 233.785921 43.2 -L 235.966942 54.254545 -" style="fill:none;stroke:#000000;stroke-width:2.620011;"/> - <path clip-path="url(#p6928b274a4)" d="M 235.966942 54.254545 -L 238.7183 68.054565 + <path clip-path="url(#pd61168c6cd)" d="M 188.773554 49.984 +L 190.97464 60.610015 " style="fill:none;stroke:#000000;stroke-width:2.281712;"/> - <path clip-path="url(#p6928b274a4)" d="M 238.7183 68.054565 -L 241.506168 81.850065 + <path clip-path="url(#pd61168c6cd)" d="M 190.97464 60.610015 +L 193.204935 71.23255 " style="fill:none;stroke:#000000;stroke-width:1.888999;"/> - <path clip-path="url(#p6928b274a4)" d="M 241.506168 81.850065 -L 244.270081 95.648175 + <path clip-path="url(#pd61168c6cd)" d="M 193.204935 71.23255 +L 195.416065 81.857095 " style="fill:none;stroke:#000000;stroke-width:1.5295;"/> - <path clip-path="url(#p6928b274a4)" d="M 244.270081 95.648175 -L 246.884738 109.463295 + <path clip-path="url(#pd61168c6cd)" d="M 195.416065 81.857095 +L 197.507791 92.494737 " style="fill:none;stroke:#000000;stroke-width:1.203146;"/> - <path clip-path="url(#p6928b274a4)" d="M 246.884738 109.463295 -L 249.059249 123.321403 + <path clip-path="url(#pd61168c6cd)" d="M 197.507791 92.494737 +L 199.247399 103.165481 " style="fill:none;stroke:#000000;stroke-width:0.910269;"/> - <path clip-path="url(#p6928b274a4)" d="M 249.059249 123.321403 -L 250.041925 137.2461 + <path clip-path="url(#pd61168c6cd)" d="M 199.247399 103.165481 +L 200.03354 113.887497 " style="fill:none;stroke:#000000;stroke-width:0.652056;"/> - <path clip-path="url(#p6928b274a4)" d="M 250.041925 137.2461 -L 250.041925 137.2461 + <path clip-path="url(#pd61168c6cd)" d="M 200.03354 113.887497 +L 200.03354 113.887497 " style="fill:none;stroke:#000000;stroke-width:0.433685;"/> - <path clip-path="url(#p6928b274a4)" d="M 250.041925 137.2461 -L 249.223248 146.024459 + <path clip-path="url(#pd61168c6cd)" d="M 200.03354 113.887497 +L 199.378599 120.646833 " style="fill:none;stroke:#000000;stroke-width:0.433685;"/> - <path clip-path="url(#p6928b274a4)" d="M 249.223248 146.024459 -L 249.223248 146.024459 + <path clip-path="url(#pd61168c6cd)" d="M 199.378599 120.646833 +L 199.378599 120.646833 " style="fill:none;stroke:#000000;stroke-width:0.325523;"/> - <path clip-path="url(#p6928b274a4)" d="M 249.223248 146.024459 -L 246.992106 152.711736 + <path clip-path="url(#pd61168c6cd)" d="M 199.378599 120.646833 +L 197.593685 125.796037 " style="fill:none;stroke:#000000;stroke-width:0.325523;"/> - <path clip-path="url(#p6928b274a4)" d="M 246.992106 152.711736 -L 242.531124 158.96907 + <path clip-path="url(#pd61168c6cd)" d="M 197.593685 125.796037 +L 194.024899 130.614184 " style="fill:none;stroke:#000000;stroke-width:0.26899;"/> - <path clip-path="url(#p6928b274a4)" d="M 242.531124 158.96907 -L 237.139883 163.43572 + <path clip-path="url(#pd61168c6cd)" d="M 194.024899 130.614184 +L 189.711907 134.053505 " style="fill:none;stroke:#000000;stroke-width:0.252276;"/> - <path clip-path="url(#p6928b274a4)" d="M 237.139883 163.43572 -L 230.499426 167.267704 + <path clip-path="url(#pd61168c6cd)" d="M 189.711907 134.053505 +L 184.399541 137.004132 " style="fill:none;stroke:#000000;stroke-width:0.273404;"/> - <path clip-path="url(#p6928b274a4)" d="M 230.499426 167.267704 -L 221.8033 171.057726 + <path clip-path="url(#pd61168c6cd)" d="M 184.399541 137.004132 +L 177.44264 139.922449 " style="fill:none;stroke:#000000;stroke-width:0.318493;"/> - <path clip-path="url(#p6928b274a4)" d="M 221.8033 171.057726 -L 210.085428 175.116943 + <path clip-path="url(#pd61168c6cd)" d="M 177.44264 139.922449 +L 168.068343 143.048046 " style="fill:none;stroke:#000000;stroke-width:0.392062;"/> - <path clip-path="url(#p6928b274a4)" d="M 194.987947 43.2 -L 194.975207 54.254545 -" style="fill:none;stroke:#000000;stroke-width:2.744976;"/> - <path clip-path="url(#p6928b274a4)" d="M 194.975207 54.254545 -L 194.641645 68.212917 + <path clip-path="url(#pd61168c6cd)" d="M 155.980165 49.984 +L 155.713316 60.731946 " style="fill:none;stroke:#000000;stroke-width:2.417376;"/> - <path clip-path="url(#p6928b274a4)" d="M 194.641645 68.212917 -L 193.478107 82.141841 + <path clip-path="url(#pd61168c6cd)" d="M 155.713316 60.731946 +L 154.782486 71.457218 " style="fill:none;stroke:#000000;stroke-width:2.037783;"/> - <path clip-path="url(#p6928b274a4)" d="M 193.478107 82.141841 -L 191.032343 95.962792 + <path clip-path="url(#pd61168c6cd)" d="M 154.782486 71.457218 +L 152.825874 82.09935 " style="fill:none;stroke:#000000;stroke-width:1.701266;"/> - <path clip-path="url(#p6928b274a4)" d="M 191.032343 95.962792 -L 186.627241 109.47137 + <path clip-path="url(#pd61168c6cd)" d="M 152.825874 82.09935 +L 149.301793 92.500955 " style="fill:none;stroke:#000000;stroke-width:1.416549;"/> - <path clip-path="url(#p6928b274a4)" d="M 186.627241 109.47137 -L 186.627241 109.47137 + <path clip-path="url(#pd61168c6cd)" d="M 149.301793 92.500955 +L 149.301793 92.500955 " style="fill:none;stroke:#000000;stroke-width:1.199855;"/> - <path clip-path="url(#p6928b274a4)" d="M 186.627241 109.47137 -L 181.378993 119.403341 + <path clip-path="url(#pd61168c6cd)" d="M 149.301793 92.500955 +L 145.103195 100.148573 " style="fill:none;stroke:#000000;stroke-width:1.199855;"/> - <path clip-path="url(#p6928b274a4)" d="M 252.75865 210.833455 -L 239.097538 208.183632 + <path clip-path="url(#pd61168c6cd)" d="M 202.20692 170.54976 +L 191.27803 168.509396 " style="fill:none;stroke:#000000;stroke-width:0.383477;"/> - <path clip-path="url(#p6928b274a4)" d="M 239.097538 208.183632 -L 225.395984 207.229081 + <path clip-path="url(#pd61168c6cd)" d="M 191.27803 168.509396 +L 180.316787 167.774392 " style="fill:none;stroke:#000000;stroke-width:0.426046;"/> - <path clip-path="url(#p6928b274a4)" d="M 225.395984 207.229081 -L 225.395984 207.229081 + <path clip-path="url(#pd61168c6cd)" d="M 180.316787 167.774392 +L 180.316787 167.774392 " style="fill:none;stroke:#000000;stroke-width:0.507511;"/> - <path clip-path="url(#p6928b274a4)" d="M 225.395984 207.229081 -L 207.397494 207.715818 + <path clip-path="url(#pd61168c6cd)" d="M 180.316787 167.774392 +L 165.917995 168.14918 " style="fill:none;stroke:#000000;stroke-width:0.507511;"/> - <path clip-path="url(#p6928b274a4)" d="M 207.397494 207.715818 -L 189.497658 209.381146 + <path clip-path="url(#pd61168c6cd)" d="M 165.917995 168.14918 +L 151.598126 169.431482 " style="fill:none;stroke:#000000;stroke-width:0.662977;"/> - <path clip-path="url(#p6928b274a4)" d="M 189.497658 209.381146 -L 171.705896 211.662845 + <path clip-path="url(#pd61168c6cd)" d="M 151.598126 169.431482 +L 137.364717 171.188391 " style="fill:none;stroke:#000000;stroke-width:0.86209;"/> - <path clip-path="url(#p6928b274a4)" d="M 171.705896 211.662845 -L 153.983471 214.254545 + <path clip-path="url(#pd61168c6cd)" d="M 137.364717 171.188391 +L 123.186777 173.184 " style="fill:none;stroke:#000000;stroke-width:1.09812;"/> - <path clip-path="url(#p6928b274a4)" d="M 153.983471 214.254545 -L 136.298066 216.995292 + <path clip-path="url(#pd61168c6cd)" d="M 123.186777 173.184 +L 109.038453 175.294375 " style="fill:none;stroke:#000000;stroke-width:1.368356;"/> - <path clip-path="url(#p6928b274a4)" d="M 205.450503 125.903727 -L 201.049002 134.021233 + <path clip-path="url(#pd61168c6cd)" d="M 164.360402 105.15387 +L 160.839202 111.40435 " style="fill:none;stroke:#000000;stroke-width:0.822324;"/> - <path clip-path="url(#p6928b274a4)" d="M 201.049002 134.021233 -L 194.975207 141.527273 + <path clip-path="url(#pd61168c6cd)" d="M 160.839202 111.40435 +L 155.980165 117.184 " style="fill:none;stroke:#000000;stroke-width:0.756727;"/> - <path clip-path="url(#p6928b274a4)" d="M 194.975207 141.527273 -L 194.975207 141.527273 + <path clip-path="url(#pd61168c6cd)" d="M 155.980165 117.184 +L 155.980165 117.184 " style="fill:none;stroke:#000000;stroke-width:0.742786;"/> - <path clip-path="url(#p6928b274a4)" d="M 194.975207 141.527273 -L 194.975207 141.527273 + <path clip-path="url(#pd61168c6cd)" d="M 155.980165 117.184 +L 155.980165 117.184 " style="fill:none;stroke:#000000;stroke-width:0.742786;"/> - <path clip-path="url(#p6928b274a4)" d="M 194.975207 141.527273 -L 187.071167 148.3471 + <path clip-path="url(#pd61168c6cd)" d="M 155.980165 117.184 +L 149.656934 122.435267 " style="fill:none;stroke:#000000;stroke-width:0.742786;"/> - <path clip-path="url(#p6928b274a4)" d="M 187.071167 148.3471 -L 178.075631 154.078084 + <path clip-path="url(#pd61168c6cd)" d="M 149.656934 122.435267 +L 142.460505 126.848125 " style="fill:none;stroke:#000000;stroke-width:0.783596;"/> - <path clip-path="url(#p6928b274a4)" d="M 297.719164 263.836201 -L 281.709286 261.995521 + <path clip-path="url(#pd61168c6cd)" d="M 238.175331 211.361875 +L 225.367429 209.944551 " style="fill:none;stroke:#000000;stroke-width:0.547397;"/> - <path clip-path="url(#p6928b274a4)" d="M 281.709286 261.995521 -L 265.289378 261.366931 + <path clip-path="url(#pd61168c6cd)" d="M 225.367429 209.944551 +L 212.231502 209.460537 " style="fill:none;stroke:#000000;stroke-width:0.540844;"/> - <path clip-path="url(#p6928b274a4)" d="M 265.289378 261.366931 -L 247.332787 262.268313 + <path clip-path="url(#pd61168c6cd)" d="M 212.231502 209.460537 +L 197.86623 210.154601 " style="fill:none;stroke:#000000;stroke-width:0.572683;"/> - <path clip-path="url(#p6928b274a4)" d="M 247.332787 262.268313 -L 229.59215 264.671622 + <path clip-path="url(#pd61168c6cd)" d="M 197.86623 210.154601 +L 183.67372 212.005149 " style="fill:none;stroke:#000000;stroke-width:0.65673;"/> - <path clip-path="url(#p6928b274a4)" d="M 229.59215 264.671622 -L 212.149149 268.184876 + <path clip-path="url(#pd61168c6cd)" d="M 183.67372 212.005149 +L 169.719319 214.710354 " style="fill:none;stroke:#000000;stroke-width:0.789861;"/> - <path clip-path="url(#p6928b274a4)" d="M 212.149149 268.184876 -L 194.975207 272.436364 + <path clip-path="url(#pd61168c6cd)" d="M 169.719319 214.710354 +L 155.980165 217.984 " style="fill:none;stroke:#000000;stroke-width:0.965749;"/> - <path clip-path="url(#p6928b274a4)" d="M 194.975207 272.436364 -L 178.001583 277.154008 + <path clip-path="url(#pd61168c6cd)" d="M 155.980165 217.984 +L 142.401266 221.616586 " style="fill:none;stroke:#000000;stroke-width:1.1787;"/> - <path clip-path="url(#p6928b274a4)" d="M 245.59949 272.415383 -L 228.345439 276.42726 + <path clip-path="url(#pd61168c6cd)" d="M 196.479592 217.967845 +L 182.676351 221.05699 " style="fill:none;stroke:#000000;stroke-width:0.735499;"/> - <path clip-path="url(#p6928b274a4)" d="M 228.345439 276.42726 -L 211.498018 281.391204 + <path clip-path="url(#pd61168c6cd)" d="M 182.676351 221.05699 +L 169.198415 224.879227 " style="fill:none;stroke:#000000;stroke-width:0.88889;"/> - <path clip-path="url(#p6928b274a4)" d="M 211.498018 281.391204 -L 194.975207 286.981818 + <path clip-path="url(#pd61168c6cd)" d="M 169.198415 224.879227 +L 155.980165 229.184 " style="fill:none;stroke:#000000;stroke-width:1.081614;"/> - <path clip-path="url(#p6928b274a4)" d="M 194.975207 286.981818 -L 178.687985 292.976534 + <path clip-path="url(#pd61168c6cd)" d="M 155.980165 229.184 +L 142.950388 233.799931 " style="fill:none;stroke:#000000;stroke-width:1.308751;"/> - <path clip-path="url(#p6928b274a4)" d="M 333.34558 296.278471 -L 319.648163 298.589575 + <path clip-path="url(#pd61168c6cd)" d="M 266.676464 236.342423 +L 255.71853 238.121973 " style="fill:none;stroke:#000000;stroke-width:0.790574;"/> - <path clip-path="url(#p6928b274a4)" d="M 319.648163 298.589575 -L 305.982752 302.335568 + <path clip-path="url(#pd61168c6cd)" d="M 255.71853 238.121973 +L 244.786202 241.006387 " style="fill:none;stroke:#000000;stroke-width:0.776558;"/> - <path clip-path="url(#p6928b274a4)" d="M 305.982752 302.335568 -L 291.678749 308.063176 + <path clip-path="url(#pd61168c6cd)" d="M 244.786202 241.006387 +L 233.342999 245.416646 " style="fill:none;stroke:#000000;stroke-width:0.807871;"/> - <path clip-path="url(#p6928b274a4)" d="M 291.678749 308.063176 -L 276.958678 316.072727 + <path clip-path="url(#pd61168c6cd)" d="M 233.342999 245.416646 +L 221.566942 251.584 " style="fill:none;stroke:#000000;stroke-width:0.897159;"/> - <path clip-path="url(#p6928b274a4)" d="M 276.958678 126.981818 -L 282.20796 140.338425 + <path clip-path="url(#pd61168c6cd)" d="M 221.566942 105.984 +L 225.766368 116.268587 " style="fill:none;stroke:#000000;stroke-width:0.500333;"/> - <path clip-path="url(#p6928b274a4)" d="M 282.20796 140.338425 -L 287.168741 153.746226 + <path clip-path="url(#pd61168c6cd)" d="M 225.766368 116.268587 +L 229.734993 126.592594 " style="fill:none;stroke:#000000;stroke-width:0.277165;"/> - <path clip-path="url(#p6928b274a4)" d="M 287.168741 153.746226 -L 287.168741 153.746226 + <path clip-path="url(#pd61168c6cd)" d="M 229.734993 126.592594 +L 229.734993 126.592594 " style="fill:none;stroke:#000000;stroke-width:0.083893;"/> - <path clip-path="url(#p6928b274a4)" d="M 287.168741 153.746226 -L 287.909285 156.943959 + <path clip-path="url(#pd61168c6cd)" d="M 229.734993 126.592594 +L 230.327428 129.054848 " style="fill:none;stroke:#000000;stroke-width:0.083893;"/> - <path clip-path="url(#p6928b274a4)" d="M 287.909285 156.943959 -L 287.909285 156.943959 + <path clip-path="url(#pd61168c6cd)" d="M 230.327428 129.054848 +L 230.327428 129.054848 " style="fill:none;stroke:#000000;stroke-width:0.04487;"/> - <path clip-path="url(#p6928b274a4)" d="M 287.909285 156.943959 -L 287.685261 158.922153 + <path clip-path="url(#pd61168c6cd)" d="M 230.327428 129.054848 +L 230.148209 130.578058 " style="fill:none;stroke:#000000;stroke-width:0.04487;"/> - <path clip-path="url(#p6928b274a4)" d="M 287.685261 158.922153 -L 287.685261 158.922153 + <path clip-path="url(#pd61168c6cd)" d="M 230.148209 130.578058 +L 230.148209 130.578058 " style="fill:none;stroke:#000000;stroke-width:0.028733;"/> - <path clip-path="url(#p6928b274a4)" d="M 287.685261 158.922153 -L 286.544803 160.20187 + <path clip-path="url(#pd61168c6cd)" d="M 230.148209 130.578058 +L 229.235842 131.56344 " style="fill:none;stroke:#000000;stroke-width:0.028733;"/> - <path clip-path="url(#p6928b274a4)" d="M 286.544803 160.20187 -L 284.754453 161.20875 + <path clip-path="url(#pd61168c6cd)" d="M 229.235842 131.56344 +L 227.803563 132.338738 " style="fill:none;stroke:#000000;stroke-width:0.028891;"/> - <path clip-path="url(#p6928b274a4)" d="M 284.754453 161.20875 -L 281.790903 162.340716 + <path clip-path="url(#pd61168c6cd)" d="M 227.803563 132.338738 +L 225.432723 133.210352 " style="fill:none;stroke:#000000;stroke-width:0.028741;"/> - <path clip-path="url(#p6928b274a4)" d="M 281.790903 162.340716 -L 276.853773 163.927625 + <path clip-path="url(#pd61168c6cd)" d="M 225.432723 133.210352 +L 221.483019 134.432271 " style="fill:none;stroke:#000000;stroke-width:0.03556;"/> - <path clip-path="url(#p6928b274a4)" d="M 276.853773 163.927625 -L 267.134664 166.772023 + <path clip-path="url(#pd61168c6cd)" d="M 221.483019 134.432271 +L 213.707731 136.622458 " style="fill:none;stroke:#000000;stroke-width:0.053671;"/> </g> <g id="patch_3"> - <path clip-path="url(#p6928b274a4)" d="M 277.30808 280.760991 -Q 274.976017 281.257689 273.354204 281.603113 + <path clip-path="url(#pd61168c6cd)" d="M 221.451212 224.474989 +Q 219.97964 224.776661 219.219456 224.932499 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:0.649517;"/> - <path clip-path="url(#p6928b274a4)" d="M 277.683081 282.725981 -L 273.354204 281.603113 -L 276.849824 278.813733 -L 277.683081 282.725981 + <path clip-path="url(#pd61168c6cd)" d="M 223.539612 226.08846 +L 219.219456 224.932499 +L 222.736319 222.16995 +L 223.539612 226.08846 z " style="stroke:#000000;stroke-linecap:round;stroke-width:0.649517;"/> </g> <g id="patch_4"> - <path clip-path="url(#p6928b274a4)" d="M 198.575853 347.174053 -Q 197.088117 348.469866 197.396851 348.20096 + <path clip-path="url(#pd61168c6cd)" d="M 158.533084 275.806658 +Q 157.668842 276.531181 158.630284 275.725172 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2.130849;"/> - <path clip-path="url(#p6928b274a4)" d="M 201.726721 347.081929 -L 197.396851 348.20096 -L 199.099548 344.065645 -L 201.726721 347.081929 + <path clip-path="url(#pd61168c6cd)" d="M 162.980503 274.688065 +L 158.630284 275.725172 +L 160.41073 271.622732 +L 162.980503 274.688065 z " style="stroke:#000000;stroke-linecap:round;stroke-width:2.130849;"/> </g> <g id="patch_5"> - <path clip-path="url(#p6928b274a4)" d="M 311.990352 315.414142 -Q 310.293285 316.332789 309.531341 316.745241 + <path clip-path="url(#pd61168c6cd)" d="M 249.225137 251.268177 +Q 248.233182 251.785001 248.184244 251.810498 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:0.951078;"/> - <path clip-path="url(#p6928b274a4)" d="M 314.001115 316.599909 -L 309.531341 316.745241 -L 312.096939 313.082222 -L 314.001115 316.599909 + <path clip-path="url(#pd61168c6cd)" d="M 252.655759 251.735948 +L 248.184244 251.810498 +L 250.807513 248.188557 +L 252.655759 251.735948 z " style="stroke:#000000;stroke-linecap:round;stroke-width:0.951078;"/> </g> <g id="patch_6"> - <path clip-path="url(#p6928b274a4)" d="M 414.567278 327.666362 -Q 412.748836 328.010562 412.769355 328.006678 + <path clip-path="url(#pd61168c6cd)" d="M 331.257778 260.583252 +Q 330.197974 260.776332 330.979476 260.633955 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:1.674022;"/> - <path clip-path="url(#p6928b274a4)" d="M 417.071529 329.227863 -L 412.769355 328.006678 -L 416.327607 325.29765 -L 417.071529 329.227863 + <path clip-path="url(#pd61168c6cd)" d="M 335.27317 261.88463 +L 330.979476 260.633955 +L 334.556232 257.949404 +L 335.27317 261.88463 z " style="stroke:#000000;stroke-linecap:round;stroke-width:1.674022;"/> </g> <g id="patch_7"> - <path clip-path="url(#p6928b274a4)" d="M 406.148958 353.527304 -Q 404.650482 354.26003 405.059904 354.059831 + <path clip-path="url(#pd61168c6cd)" d="M 324.54847 280.59849 +Q 323.721752 280.98758 324.816627 280.472284 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:1.899564;"/> - <path clip-path="url(#p6928b274a4)" d="M 409.531865 354.099427 -L 405.059904 354.059831 -L 407.774758 350.50602 -L 409.531865 354.099427 + <path clip-path="url(#pd61168c6cd)" d="M 329.2875 280.578529 +L 324.816627 280.472284 +L 327.584147 276.959332 +L 329.2875 280.578529 z " style="stroke:#000000;stroke-linecap:round;stroke-width:1.899564;"/> </g> <g id="patch_8"> - <path clip-path="url(#p6928b274a4)" d="M 484.884365 370.630242 -Q 482.774857 371.281769 484.087338 370.876406 + <path clip-path="url(#pd61168c6cd)" d="M 387.52407 293.707266 +Q 386.223412 294.093914 388.35576 293.460029 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:3.203376;"/> - <path clip-path="url(#p6928b274a4)" d="M 488.499402 371.606946 -L 484.087338 370.876406 -L 487.319008 367.785078 -L 488.499402 371.606946 + <path clip-path="url(#pd61168c6cd)" d="M 392.759827 294.237329 +L 388.35576 293.460029 +L 391.620039 290.403155 +L 392.759827 294.237329 z " style="stroke:#000000;stroke-linecap:round;stroke-width:3.203376;"/> </g> <g id="patch_9"> - <path clip-path="url(#p6928b274a4)" d="M 92.782345 64.062 -Q 91.678121 65.239064 92.920668 63.914552 + <path clip-path="url(#pd61168c6cd)" d="M 73.924585 57.844862 +Q 73.343553 58.440996 75.156616 56.580808 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:3.067927;"/> - <path clip-path="url(#p6928b274a4)" d="M 97.116015 62.365661 -L 92.920668 63.914552 -L 94.198763 59.62894 -L 97.116015 62.365661 + <path clip-path="url(#pd61168c6cd)" d="M 79.380765 55.112284 +L 75.156616 56.580808 +L 76.516287 52.320374 +L 79.380765 55.112284 z " style="stroke:#000000;stroke-linecap:round;stroke-width:3.067927;"/> </g> <g id="patch_10"> - <path clip-path="url(#p6928b274a4)" d="M 98.282903 96.062223 -Q 96.595102 97.259115 97.148547 96.866643 + <path clip-path="url(#pd61168c6cd)" d="M 78.278983 82.412988 +Q 77.277119 83.096811 78.544617 82.231679 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2.457522;"/> - <path clip-path="url(#p6928b274a4)" d="M 101.568313 96.184241 -L 97.148547 96.866643 -L 99.254485 92.921389 -L 101.568313 96.184241 + <path clip-path="url(#pd61168c6cd)" d="M 82.975899 81.628573 +L 78.544617 82.231679 +L 80.720902 78.32479 +L 82.975899 81.628573 z " style="stroke:#000000;stroke-linecap:round;stroke-width:2.457522;"/> </g> <g id="patch_11"> - <path clip-path="url(#p6928b274a4)" d="M 138.772082 103.713278 -Q 137.854489 104.620309 138.340376 104.140015 + <path clip-path="url(#pd61168c6cd)" d="M 110.706832 88.362958 +Q 110.284422 88.764848 111.291732 87.806472 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:1.765089;"/> - <path clip-path="url(#p6928b274a4)" d="M 142.591132 102.750383 -L 138.340376 104.140015 -L 139.779124 99.905631 -L 142.591132 102.750383 + <path clip-path="url(#pd61168c6cd)" d="M 115.568253 86.498279 +L 111.291732 87.806472 +L 112.811091 83.600339 +L 115.568253 86.498279 z " style="stroke:#000000;stroke-linecap:round;stroke-width:1.765089;"/> </g> <g id="patch_12"> - <path clip-path="url(#p6928b274a4)" d="M 119.375568 139.688258 -Q 117.2607 140.578452 116.964391 140.703175 + <path clip-path="url(#pd61168c6cd)" d="M 95.123323 115.920749 +Q 93.808867 116.453284 94.323127 116.244938 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:1.764789;"/> - <path clip-path="url(#p6928b274a4)" d="M 121.427014 140.994714 -L 116.964391 140.703175 -L 119.875196 137.308 -L 121.427014 140.994714 + <path clip-path="url(#pd61168c6cd)" d="M 98.781413 116.596624 +L 94.323127 116.244938 +L 97.279447 112.88932 +L 98.781413 116.596624 z " style="stroke:#000000;stroke-linecap:round;stroke-width:1.764789;"/> </g> <g id="patch_13"> - <path clip-path="url(#p6928b274a4)" d="M 121.102687 157.366347 -Q 118.834948 158.080045 118.393945 158.218837 + <path clip-path="url(#pd61168c6cd)" d="M 96.490742 129.49865 +Q 95.064387 129.930717 95.470855 129.807591 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:1.712888;"/> - <path clip-path="url(#p6928b274a4)" d="M 122.809851 158.92578 -L 118.393945 158.218837 -L 121.609044 155.110278 -L 122.809851 158.92578 + <path clip-path="url(#pd61168c6cd)" d="M 99.878888 130.562071 +L 95.470855 129.807591 +L 98.719259 126.733852 +L 99.878888 130.562071 z " style="stroke:#000000;stroke-linecap:round;stroke-width:1.712888;"/> </g> <g id="patch_14"> - <path clip-path="url(#p6928b274a4)" d="M 122.144825 174.354027 -Q 119.783754 174.920893 119.291385 175.039105 + <path clip-path="url(#pd61168c6cd)" d="M 97.32563 142.550777 +Q 95.827169 142.897049 96.201167 142.810624 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:1.718915;"/> - <path clip-path="url(#p6928b274a4)" d="M 123.647765 176.050024 -L 119.291385 175.039105 -L 122.713948 172.160553 -L 123.647765 176.050024 + <path clip-path="url(#pd61168c6cd)" d="M 100.548765 143.858665 +L 96.201167 142.810624 +L 99.648159 139.96137 +L 100.548765 143.858665 z " style="stroke:#000000;stroke-linecap:round;stroke-width:1.718915;"/> </g> <g id="patch_15"> - <path clip-path="url(#p6928b274a4)" d="M 269.859097 197.491334 -Q 269.57985 197.35368 269.592053 197.359695 + <path clip-path="url(#pd61168c6cd)" d="M 215.517848 160.101047 +Q 214.761166 159.742031 214.298054 159.522302 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:0.290633;"/> - <path clip-path="url(#p6928b274a4)" d="M 272.295536 200.922163 -L 269.592053 197.359695 -L 274.064117 197.334389 -L 272.295536 200.922163 + <path clip-path="url(#pd61168c6cd)" d="M 217.054599 163.043872 +L 214.298054 159.522302 +L 218.769237 159.430008 +L 217.054599 163.043872 z " style="stroke:#000000;stroke-linecap:round;stroke-width:0.290633;"/> </g> <g id="patch_16"> - <path clip-path="url(#p6928b274a4)" d="M 193.867057 224.781371 -Q 191.394301 225.057093 189.885321 225.22535 + <path clip-path="url(#pd61168c6cd)" d="M 154.696256 181.332305 +Q 153.116222 181.501878 152.500399 181.567969 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:0.867369;"/> - <path clip-path="url(#p6928b274a4)" d="M 194.082318 226.769763 -L 189.885321 225.22535 -L 193.63905 222.7944 -L 194.082318 226.769763 + <path clip-path="url(#pd61168c6cd)" d="M 156.690979 183.129711 +L 152.500399 181.567969 +L 156.26414 179.15255 +L 156.690979 183.129711 z " style="stroke:#000000;stroke-linecap:round;stroke-width:0.867369;"/> </g> <g id="patch_17"> - <path clip-path="url(#p6928b274a4)" d="M 157.118979 254.69584 -Q 154.71639 255.178939 153.978273 255.327355 + <path clip-path="url(#pd61168c6cd)" d="M 125.306501 204.39902 +Q 123.778758 204.69469 123.917872 204.667767 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:1.518547;"/> - <path clip-path="url(#p6928b274a4)" d="M 158.294041 256.499596 -L 153.978273 255.327355 -L 157.505526 252.578085 -L 158.294041 256.499596 + <path clip-path="url(#pd61168c6cd)" d="M 128.225019 205.871299 +L 123.917872 204.667767 +L 127.464986 201.944169 +L 128.225019 205.871299 z " style="stroke:#000000;stroke-linecap:round;stroke-width:1.518547;"/> </g> <g id="patch_18"> - <path clip-path="url(#p6928b274a4)" d="M 121.634113 274.797665 -Q 119.281482 275.377553 119.381966 275.352785 + <path clip-path="url(#pd61168c6cd)" d="M 96.917919 219.894577 +Q 95.427568 220.248151 96.395519 220.018512 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2.259803;"/> - <path clip-path="url(#p6928b274a4)" d="M 123.744371 276.337378 -L 119.381966 275.352785 -L 122.787084 272.453617 -L 123.744371 276.337378 + <path clip-path="url(#pd61168c6cd)" d="M 100.74916 221.041161 +L 96.395519 220.018512 +L 99.825822 217.149189 +L 100.74916 221.041161 z " style="stroke:#000000;stroke-linecap:round;stroke-width:2.259803;"/> </g> <g id="patch_19"> - <path clip-path="url(#p6928b274a4)" d="M 103.91174 292.389528 -Q 101.606711 293.052717 102.263186 292.86384 + <path clip-path="url(#pd61168c6cd)" d="M 82.739756 233.455837 +Q 81.287108 233.858111 82.80433 233.437954 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2.756305;"/> - <path clip-path="url(#p6928b274a4)" d="M 106.66024 293.679881 -L 102.263186 292.86384 -L 105.554251 289.835822 -L 106.66024 293.679881 + <path clip-path="url(#pd61168c6cd)" d="M 87.19301 234.297892 +L 82.80433 233.437954 +L 86.125488 230.442973 +L 87.19301 234.297892 z " style="stroke:#000000;stroke-linecap:round;stroke-width:2.756305;"/> </g> <g id="patch_20"> - <path clip-path="url(#p6928b274a4)" d="M 103.224431 305.642715 -Q 100.983109 306.394559 101.820711 306.113588 + <path clip-path="url(#pd61168c6cd)" d="M 82.191669 243.678123 +Q 80.784722 244.132381 82.468222 243.588833 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2.904683;"/> - <path clip-path="url(#p6928b274a4)" d="M 106.249094 306.737627 -L 101.820711 306.113588 -L 104.976972 302.945305 -L 106.249094 306.737627 + <path clip-path="url(#pd61168c6cd)" d="M 86.889237 244.263091 +L 82.468222 243.588833 +L 85.660237 240.456575 +L 86.889237 244.263091 z " style="stroke:#000000;stroke-linecap:round;stroke-width:2.904683;"/> </g> <g id="patch_21"> - <path clip-path="url(#p6928b274a4)" d="M 118.506248 312.565209 -Q 116.34185 313.408321 116.98066 313.159481 + <path clip-path="url(#pd61168c6cd)" d="M 94.421091 249.027149 +Q 93.070394 249.533564 94.536595 248.983844 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2.690775;"/> - <path clip-path="url(#p6928b274a4)" d="M 121.433803 313.571203 -L 116.98066 313.159481 -L 119.981923 309.843999 -L 121.433803 313.571203 + <path clip-path="url(#pd61168c6cd)" d="M 98.984129 249.452287 +L 94.536595 248.983844 +L 97.57987 245.706882 +L 98.984129 249.452287 z " style="stroke:#000000;stroke-linecap:round;stroke-width:2.690775;"/> </g> <g id="patch_22"> - <path clip-path="url(#p6928b274a4)" d="M 117.042028 325.049527 -Q 114.963509 325.978721 115.824883 325.593647 + <path clip-path="url(#pd61168c6cd)" d="M 93.255356 258.658897 +Q 91.9704 259.21179 93.643523 258.491876 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2.880315;"/> - <path clip-path="url(#p6928b274a4)" d="M 120.292837 325.787021 -L 115.824883 325.593647 -L 118.660354 322.135309 -L 120.292837 325.787021 + <path clip-path="url(#pd61168c6cd)" d="M 98.108316 258.748043 +L 93.643523 258.491876 +L 96.527332 255.073742 +L 98.108316 258.748043 z " style="stroke:#000000;stroke-linecap:round;stroke-width:2.880315;"/> </g> <g id="patch_23"> - <path clip-path="url(#p6928b274a4)" d="M 425.841892 315.329264 -Q 423.342091 315.445722 422.778511 315.471977 + <path clip-path="url(#pd61168c6cd)" d="M 340.272831 251.0295 +Q 338.672468 251.10126 339.00848 251.086193 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:1.733687;"/> - <path clip-path="url(#p6928b274a4)" d="M 426.86725 317.283665 -L 422.778511 315.471977 -L 426.681104 313.287999 -L 426.86725 317.283665 + <path clip-path="url(#pd61168c6cd)" d="M 343.094054 252.905006 +L 339.00848 251.086193 +L 342.914875 248.909022 +L 343.094054 252.905006 z " style="stroke:#000000;stroke-linecap:round;stroke-width:1.733687;"/> </g> <g id="patch_24"> - <path clip-path="url(#p6928b274a4)" d="M 497.547926 289.678657 -Q 495.118772 289.25954 495.940135 289.401255 + <path clip-path="url(#pd61168c6cd)" d="M 397.646395 231.195477 +Q 396.097539 230.938265 397.802664 231.221428 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2.950307;"/> - <path clip-path="url(#p6928b274a4)" d="M 499.541847 292.052231 -L 495.940135 289.401255 -L 500.221943 288.110471 -L 499.541847 292.052231 + <path clip-path="url(#pd61168c6cd)" d="M 401.420978 233.849698 +L 397.802664 231.221428 +L 402.076268 229.903738 +L 401.420978 233.849698 z " style="stroke:#000000;stroke-linecap:round;stroke-width:2.950307;"/> </g> <g id="patch_25"> - <path clip-path="url(#p6928b274a4)" d="M 382.793038 235.885665 -Q 380.980277 234.756304 380.138305 234.231751 + <path clip-path="url(#pd61168c6cd)" d="M 305.877989 189.626224 +Q 304.786362 188.971638 304.675668 188.905261 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:1.023024;"/> - <path clip-path="url(#p6928b274a4)" d="M 382.475775 238.044392 -L 380.138305 234.231751 -L 384.5909 234.64936 -L 382.475775 238.044392 + <path clip-path="url(#pd61168c6cd)" d="M 307.077639 192.6776 +L 304.675668 188.905261 +L 309.134721 189.247088 +L 307.077639 192.6776 z " style="stroke:#000000;stroke-linecap:round;stroke-width:1.023024;"/> </g> <g id="patch_26"> - <path clip-path="url(#p6928b274a4)" d="M 463.2525 252.108521 -Q 461.029892 251.337591 461.113324 251.36653 + <path clip-path="url(#pd61168c6cd)" d="M 370.216339 202.202808 +Q 368.823916 201.737946 369.746699 202.046018 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2.183136;"/> - <path clip-path="url(#p6928b274a4)" d="M 464.237034 254.56691 -L 461.113324 251.36653 -L 465.547854 250.78779 -L 464.237034 254.56691 + <path clip-path="url(#pd61168c6cd)" d="M 372.907503 205.209769 +L 369.746699 202.046018 +L 374.174182 201.415626 +L 372.907503 205.209769 z " style="stroke:#000000;stroke-linecap:round;stroke-width:2.183136;"/> </g> <g id="patch_27"> - <path clip-path="url(#p6928b274a4)" d="M 480.02551 242.688427 -Q 477.803258 241.91665 478.197751 242.053656 + <path clip-path="url(#pd61168c6cd)" d="M 383.634809 194.949194 +Q 382.242609 194.483821 383.477579 194.896637 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2.477618;"/> - <path clip-path="url(#p6928b274a4)" d="M 481.320215 245.255252 -L 478.197751 242.053656 -L 482.632507 241.476642 -L 481.320215 245.255252 + <path clip-path="url(#pd61168c6cd)" d="M 386.637188 198.061581 +L 383.477579 194.896637 +L 387.9053 194.267917 +L 386.637188 198.061581 z " style="stroke:#000000;stroke-linecap:round;stroke-width:2.477618;"/> </g> <g id="patch_28"> - <path clip-path="url(#p6928b274a4)" d="M 432.760475 207.741439 -Q 430.818566 206.698397 430.38891 206.46762 + <path clip-path="url(#pd61168c6cd)" d="M 345.838062 167.977461 +Q 344.653829 167.365237 344.994466 167.541339 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:1.535365;"/> - <path clip-path="url(#p6928b274a4)" d="M 432.966395 210.122285 -L 430.38891 206.46762 -L 434.859133 206.598432 -L 432.966395 210.122285 + <path clip-path="url(#pd61168c6cd)" d="M 347.629236 171.154922 +L 344.994466 167.541339 +L 349.466194 167.601672 +L 347.629236 171.154922 z " style="stroke:#000000;stroke-linecap:round;stroke-width:1.535365;"/> </g> <g id="patch_29"> - <path clip-path="url(#p6928b274a4)" d="M 480.05346 213.520572 -Q 477.897025 212.6714 478.205755 212.792973 + <path clip-path="url(#pd61168c6cd)" d="M 383.666065 172.476063 +Q 382.318626 171.96536 383.448621 172.393648 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2.369706;"/> - <path clip-path="url(#p6928b274a4)" d="M 481.194785 216.119488 -L 478.205755 212.792973 -L 482.660385 212.397659 -L 481.194785 216.119488 + <path clip-path="url(#pd61168c6cd)" d="M 386.480144 175.681485 +L 383.448621 172.393648 +L 387.897804 171.941132 +L 386.480144 175.681485 z " style="stroke:#000000;stroke-linecap:round;stroke-width:2.369706;"/> </g> <g id="patch_30"> - <path clip-path="url(#p6928b274a4)" d="M 464.032859 192.553168 -Q 461.933337 191.643091 461.838616 191.602033 + <path clip-path="url(#pd61168c6cd)" d="M 370.84522 156.314953 +Q 369.544617 155.772324 370.260587 156.071036 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:1.954364;"/> - <path clip-path="url(#p6928b274a4)" d="M 464.713233 195.027901 -L 461.838616 191.602033 -L 466.304081 191.35786 -L 464.713233 195.027901 + <path clip-path="url(#pd61168c6cd)" d="M 373.182087 159.457013 +L 370.260587 156.071036 +L 374.722268 155.765423 +L 373.182087 159.457013 z " style="stroke:#000000;stroke-linecap:round;stroke-width:1.954364;"/> </g> <g id="patch_31"> - <path clip-path="url(#p6928b274a4)" d="M 480.050903 184.448441 -Q 477.876587 183.615278 477.998709 183.662073 + <path clip-path="url(#pd61168c6cd)" d="M 383.655594 150.091259 +Q 382.300601 149.591518 383.252943 149.942755 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2.199628;"/> - <path clip-path="url(#p6928b274a4)" d="M 481.018251 186.960917 -L 477.998709 183.662073 -L 482.449509 183.225746 -L 481.018251 186.960917 + <path clip-path="url(#pd61168c6cd)" d="M 386.313775 153.203324 +L 383.252943 149.942755 +L 387.697897 149.450431 +L 386.313775 153.203324 z " style="stroke:#000000;stroke-linecap:round;stroke-width:2.199628;"/> </g> <g id="patch_32"> - <path clip-path="url(#p6928b274a4)" d="M 463.625218 164.135507 -Q 461.431933 163.326298 461.057858 163.188283 + <path clip-path="url(#pd61168c6cd)" d="M 370.518587 134.456834 +Q 369.147281 133.969865 369.60326 134.131789 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:1.734366;"/> - <path clip-path="url(#p6928b274a4)" d="M 464.118306 166.449212 -L 461.057858 163.188283 -L 465.50287 162.696483 -L 464.118306 166.449212 + <path clip-path="url(#pd61168c6cd)" d="M 372.703366 137.355039 +L 369.60326 134.131789 +L 374.041924 133.585654 +L 372.703366 137.355039 z " style="stroke:#000000;stroke-linecap:round;stroke-width:1.734366;"/> </g> <g id="patch_33"> - <path clip-path="url(#p6928b274a4)" d="M 480.002523 155.492385 -Q 477.718755 154.800226 477.543679 154.747165 + <path clip-path="url(#pd61168c6cd)" d="M 383.614952 127.824224 +Q 382.173855 127.403839 382.848008 127.600498 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:1.970792;"/> - <path clip-path="url(#p6928b274a4)" d="M 480.791629 157.821383 -L 477.543679 154.747165 -L 481.951824 153.993336 -L 480.791629 157.821383 + <path clip-path="url(#pd61168c6cd)" d="M 386.127881 130.640635 +L 382.848008 127.600498 +L 387.248041 126.800681 +L 386.127881 130.640635 z " style="stroke:#000000;stroke-linecap:round;stroke-width:1.970792;"/> </g> <g id="patch_34"> - <path clip-path="url(#p6928b274a4)" d="M 445.310971 133.387552 -Q 442.894782 132.940082 441.73201 132.72474 + <path clip-path="url(#pd61168c6cd)" d="M 355.851538 110.845607 +Q 354.313386 110.571428 354.030183 110.520946 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:1.140153;"/> - <path clip-path="url(#p6928b274a4)" d="M 445.300929 135.419701 -L 441.73201 132.72474 -L 446.029331 131.486581 -L 445.300929 135.419701 + <path clip-path="url(#pd61168c6cd)" d="M 357.617139 113.191854 +L 354.030183 110.520946 +L 358.319083 109.253926 +L 357.617139 113.191854 z " style="stroke:#000000;stroke-linecap:round;stroke-width:1.140153;"/> </g> <g id="patch_35"> - <path clip-path="url(#p6928b274a4)" d="M 497.617718 129.458764 -Q 495.172638 129.073019 495.065328 129.056089 + <path clip-path="url(#pd61168c6cd)" d="M 397.693791 107.830451 +Q 396.136389 107.593963 396.91885 107.712778 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2.116828;"/> - <path clip-path="url(#p6928b274a4)" d="M 498.704788 131.655 -L 495.065328 129.056089 -L 499.328132 127.703868 -L 498.704788 131.655 + <path clip-path="url(#pd61168c6cd)" d="M 400.573264 110.290618 +L 396.91885 107.712778 +L 401.173771 106.33595 +L 400.573264 110.290618 z " style="stroke:#000000;stroke-linecap:round;stroke-width:2.116828;"/> </g> <g id="patch_36"> - <path clip-path="url(#p6928b274a4)" d="M 479.915492 112.399222 -Q 477.412133 112.352777 476.716612 112.339873 + <path clip-path="url(#pd61168c6cd)" d="M 383.531141 94.748236 +Q 381.9285 94.719617 382.133719 94.723281 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:1.617258;"/> - <path clip-path="url(#p6928b274a4)" d="M 480.678823 114.413729 -L 476.716612 112.339873 -L 480.753024 110.414417 -L 480.678823 114.413729 + <path clip-path="url(#pd61168c6cd)" d="M 386.097372 96.794381 +L 382.133719 94.723281 +L 386.168791 92.795019 +L 386.097372 96.794381 z " style="stroke:#000000;stroke-linecap:round;stroke-width:1.617258;"/> </g> <g id="patch_37"> - <path clip-path="url(#p6928b274a4)" d="M 497.84497 96.515881 -Q 495.355939 96.730759 494.9972 96.761729 + <path clip-path="url(#pd61168c6cd)" d="M 397.87702 82.558379 +Q 396.286079 82.690574 396.82601 82.64571 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:1.912477;"/> - <path clip-path="url(#p6928b274a4)" d="M 499.154397 98.410278 -L 494.9972 96.761729 -L 498.810357 94.4251 -L 499.154397 98.410278 + <path clip-path="url(#pd61168c6cd)" d="M 400.977886 84.307613 +L 396.82601 82.64571 +L 400.646658 80.32135 +L 400.977886 84.307613 z " style="stroke:#000000;stroke-linecap:round;stroke-width:1.912477;"/> </g> <g id="patch_38"> - <path clip-path="url(#p6928b274a4)" d="M 497.051913 79.371185 -Q 494.720963 79.983283 494.428752 80.060016 + <path clip-path="url(#pd61168c6cd)" d="M 397.254726 69.421577 +Q 395.776216 69.795268 396.341302 69.652443 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:1.885327;"/> - <path clip-path="url(#p6928b274a4)" d="M 498.805554 80.978494 -L 494.428752 80.060016 -L 497.789616 77.109661 -L 498.805554 80.978494 + <path clip-path="url(#pd61168c6cd)" d="M 400.709436 70.611298 +L 396.341302 69.652443 +L 399.729266 66.733248 +L 400.709436 70.611298 z " style="stroke:#000000;stroke-linecap:round;stroke-width:1.885327;"/> </g> <g id="patch_39"> - <path clip-path="url(#p6928b274a4)" d="M 480.315282 55.448048 -Q 478.669656 56.673996 478.675003 56.670013 + <path clip-path="url(#pd61168c6cd)" d="M 383.907066 51.150489 +Q 382.935884 51.846863 383.637794 51.343567 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:1.841399;"/> - <path clip-path="url(#p6928b274a4)" d="M 483.07756 55.884205 -L 478.675003 56.670013 -L 480.687891 52.676483 -L 483.07756 55.884205 + <path clip-path="url(#pd61168c6cd)" d="M 388.053928 50.638045 +L 383.637794 51.343567 +L 385.723056 47.387347 +L 388.053928 50.638045 z " style="stroke:#000000;stroke-linecap:round;stroke-width:1.841399;"/> </g> <g id="patch_40"> - <path clip-path="url(#p6928b274a4)" d="M 398.45474 70.148192 -Q 398.194596 71.632385 398.173133 71.754837 + <path clip-path="url(#pd61168c6cd)" d="M 318.681479 62.674117 +Q 318.555337 63.366801 318.676883 62.699353 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:1.236546;"/> - <path clip-path="url(#p6928b274a4)" d="M 400.833679 68.160189 -L 398.173133 71.754837 -L 396.893742 67.469611 -L 400.833679 68.160189 + <path clip-path="url(#pd61168c6cd)" d="M 321.361159 59.12239 +L 318.676883 62.699353 +L 317.425878 58.405755 +L 321.361159 59.12239 z " style="stroke:#000000;stroke-linecap:round;stroke-width:1.236546;"/> </g> <g id="patch_41"> - <path clip-path="url(#p6928b274a4)" d="M 362.331879 69.986549 -Q 362.612578 71.475165 362.603436 71.42668 -" style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:1.399053;"/> - <path clip-path="url(#p6928b274a4)" d="M 363.827607 67.125354 -L 362.603436 71.42668 -L 359.896877 67.866547 -L 363.827607 67.125354 + <path clip-path="url(#pd61168c6cd)" d="M 291.915514 73.202456 +Q 292.007202 73.894174 291.946902 73.439258 +" style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:1.034552;"/> + <path clip-path="url(#pd61168c6cd)" d="M 293.403953 69.211137 +L 291.946902 73.439258 +L 289.438637 69.736745 +L 293.403953 69.211137 z -" style="stroke:#000000;stroke-linecap:round;stroke-width:1.399053;"/> +" style="stroke:#000000;stroke-linecap:round;stroke-width:1.034552;"/> </g> <g id="patch_42"> - <path clip-path="url(#p6928b274a4)" d="M 323.281469 69.626717 -Q 323.815737 71.108262 323.743151 70.906979 + <path clip-path="url(#pd61168c6cd)" d="M 258.784313 62.24532 +Q 259.052116 62.960099 258.692284 61.99969 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:1.600045;"/> - <path clip-path="url(#p6928b274a4)" d="M 324.267628 66.465704 -L 323.743151 70.906979 -L 320.504817 67.822632 -L 324.267628 66.465704 + <path clip-path="url(#pd61168c6cd)" d="M 259.161753 57.552264 +L 258.692284 61.99969 +L 255.416025 58.955659 +L 259.161753 57.552264 z " style="stroke:#000000;stroke-linecap:round;stroke-width:1.600045;"/> </g> <g id="patch_43"> - <path clip-path="url(#p6928b274a4)" d="M 286.942765 83.106794 -Q 287.519649 84.585937 287.526214 84.602769 + <path clip-path="url(#pd61168c6cd)" d="M 229.723229 72.617344 +Q 230.014571 73.336338 229.716457 72.60063 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:1.403885;"/> - <path clip-path="url(#p6928b274a4)" d="M 287.936094 80.149456 -L 287.526214 84.602769 -L 284.209492 81.602877 -L 287.936094 80.149456 + <path clip-path="url(#pd61168c6cd)" d="M 230.067873 68.142322 +L 229.716457 72.60063 +L 226.36066 69.644513 +L 230.067873 68.142322 z " style="stroke:#000000;stroke-linecap:round;stroke-width:1.403885;"/> </g> <g id="patch_44"> - <path clip-path="url(#p6928b274a4)" d="M 247.194245 111.435775 -Q 247.427798 112.924199 247.503589 113.407214 + <path clip-path="url(#pd61168c6cd)" d="M 197.829296 94.466845 +Q 197.942543 95.161503 197.892039 94.85171 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:0.910269;"/> - <path clip-path="url(#p6928b274a4)" d="M 248.85935 109.145534 -L 247.503589 113.407214 -L 244.907702 109.765597 -L 248.85935 109.145534 + <path clip-path="url(#pd61168c6cd)" d="M 199.222372 90.582025 +L 197.892039 94.85171 +L 195.27449 91.225632 +L 199.222372 90.582025 z " style="stroke:#000000;stroke-linecap:round;stroke-width:0.910269;"/> </g> <g id="patch_45"> - <path clip-path="url(#p6928b274a4)" d="M 194.474898 70.209079 -Q 194.350675 71.696172 194.416108 70.912863 -" style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:2.037783;"/> - <path clip-path="url(#p6928b274a4)" d="M 196.742142 67.093234 -L 194.416108 70.912863 -L 192.756025 66.760258 -L 196.742142 67.093234 + <path clip-path="url(#pd61168c6cd)" d="M 154.420876 73.424038 +Q 154.293501 74.116834 154.510069 72.938911 +" style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:1.701266;"/> + <path clip-path="url(#pd61168c6cd)" d="M 157.200397 69.366499 +L 154.510069 72.938911 +L 153.266335 68.643201 +L 157.200397 69.366499 z -" style="stroke:#000000;stroke-linecap:round;stroke-width:2.037783;"/> +" style="stroke:#000000;stroke-linecap:round;stroke-width:1.701266;"/> </g> <g id="patch_46"> - <path clip-path="url(#p6928b274a4)" d="M 205.409109 207.900809 -Q 202.922604 208.132144 201.174143 208.294813 + <path clip-path="url(#pd61168c6cd)" d="M 163.928736 168.327312 +Q 162.33941 168.469632 161.48836 168.545841 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:0.662977;"/> - <path clip-path="url(#p6928b274a4)" d="M 205.342215 209.91567 -L 201.174143 208.294813 -L 204.971672 205.93287 -L 205.342215 209.91567 + <path clip-path="url(#pd61168c6cd)" d="M 165.650799 170.181109 +L 161.48836 168.545841 +L 165.294038 166.197051 +L 165.650799 170.181109 z " style="stroke:#000000;stroke-linecap:round;stroke-width:0.662977;"/> </g> <g id="patch_47"> - <path clip-path="url(#p6928b274a4)" d="M 193.460394 142.834295 -Q 192.999848 143.231668 193.168064 143.086526 + <path clip-path="url(#pd61168c6cd)" d="M 154.439495 118.463483 +Q 154.396755 118.498978 154.992891 118.003904 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:0.742786;"/> - <path clip-path="url(#p6928b274a4)" d="M 197.503105 141.9877 -L 193.168064 143.086526 -L 194.890028 138.959198 -L 197.503105 141.9877 + <path clip-path="url(#pd61168c6cd)" d="M 159.347871 116.986972 +L 154.992891 118.003904 +L 156.792333 113.909761 +L 159.347871 116.986972 z " style="stroke:#000000;stroke-linecap:round;stroke-width:0.742786;"/> </g> <g id="patch_48"> - <path clip-path="url(#p6928b274a4)" d="M 245.353424 262.536456 -Q 242.898857 262.868974 241.171892 263.102925 + <path clip-path="url(#pd61168c6cd)" d="M 195.880803 210.413479 +Q 194.317359 210.617335 193.481998 210.726257 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:0.65673;"/> - <path clip-path="url(#p6928b274a4)" d="M 245.404171 264.54785 -L 241.171892 263.102925 -L 244.8672 260.584056 -L 245.404171 264.54785 + <path clip-path="url(#pd61168c6cd)" d="M 197.707012 212.192291 +L 193.481998 210.726257 +L 197.189834 208.225866 +L 197.707012 212.192291 z " style="stroke:#000000;stroke-linecap:round;stroke-width:0.65673;"/> </g> <g id="patch_49"> - <path clip-path="url(#p6928b274a4)" d="M 209.606124 282.03134 -Q 207.368398 282.788491 206.276158 283.158059 + <path clip-path="url(#pd61168c6cd)" d="M 167.297646 225.498248 +Q 165.892956 225.955712 165.638107 226.038709 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:1.081614;"/> - <path clip-path="url(#p6928b274a4)" d="M 210.706157 283.77052 -L 206.276158 283.158059 -L 209.424126 279.981536 -L 210.706157 283.77052 + <path clip-path="url(#pd61168c6cd)" d="M 170.060817 226.701757 +L 165.638107 226.038709 +L 168.822172 222.89837 +L 170.060817 226.701757 z " style="stroke:#000000;stroke-linecap:round;stroke-width:1.081614;"/> </g> <g id="patch_50"> - <path clip-path="url(#p6928b274a4)" d="M 304.1284 303.078088 -Q 302.406923 303.767401 301.523949 304.120962 + <path clip-path="url(#pd61168c6cd)" d="M 242.92277 241.724562 +Q 241.926202 242.108643 241.772434 242.167906 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:0.807871;"/> - <path clip-path="url(#p6928b274a4)" d="M 305.980771 304.490739 -L 301.523949 304.120962 -L 304.493864 300.77737 -L 305.980771 304.490739 + <path clip-path="url(#pd61168c6cd)" d="M 246.224069 242.595623 +L 241.772434 242.167906 +L 244.785588 238.863228 +L 246.224069 242.595623 z " style="stroke:#000000;stroke-linecap:round;stroke-width:0.807871;"/> </g> <g id="patch_51"> - <path clip-path="url(#p6928b274a4)" d="M 282.901936 142.214077 -Q 283.448415 143.691078 283.887364 144.877453 + <path clip-path="url(#pd61168c6cd)" d="M 226.484324 118.136285 +Q 226.758248 118.848872 226.920984 119.272213 " style="fill:none;stroke:#000000;stroke-linecap:round;stroke-width:0.277165;"/> - <path clip-path="url(#p6928b274a4)" d="M 284.375083 140.431991 -L 283.887364 144.877453 -L 280.623626 141.820001 -L 284.375083 140.431991 + <path clip-path="url(#pd61168c6cd)" d="M 227.352565 114.82095 +L 226.920984 119.272213 +L 223.618922 116.25619 +L 227.352565 114.82095 z " style="stroke:#000000;stroke-linecap:round;stroke-width:0.277165;"/> </g> <g id="patch_52"> - <path d="M 72 388.8 -L 72 43.2 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> + <path d="M 57.6 307.584 +L 57.6 41.472 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> </g> <g id="patch_53"> - <path d="M 518.4 388.8 -L 518.4 43.2 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> + <path d="M 414.72 307.584 +L 414.72 41.472 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> </g> <g id="patch_54"> - <path d="M 72 388.8 -L 518.4 388.8 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> + <path d="M 57.6 307.584 +L 414.72 307.584 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> </g> <g id="patch_55"> - <path d="M 72 43.2 -L 518.4 43.2 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> - <g id="matplotlib.axis_1"> - <g id="xtick_1"> - <g id="line2d_1"> - <defs> - <path d="M 0 0 -L 0 -4 -" id="mdc091b85c7" style="stroke:#000000;stroke-width:0.5;"/> - </defs> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#mdc091b85c7" y="388.8"/> - </g> - </g> - <g id="line2d_2"> - <defs> - <path d="M 0 0 -L 0 4 -" id="ma1220d0c6a" style="stroke:#000000;stroke-width:0.5;"/> - </defs> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#ma1220d0c6a" y="43.2"/> - </g> - </g> - <g id="text_1"> - <!-- −3 --> - <defs> - <path d="M 10.59375 35.5 -L 73.1875 35.5 -L 73.1875 27.203125 -L 10.59375 27.203125 -z -" id="DejaVuSans-2212"/> - <path d="M 40.578125 39.3125 -Q 47.65625 37.796875 51.625 33 -Q 55.609375 28.21875 55.609375 21.1875 -Q 55.609375 10.40625 48.1875 4.484375 -Q 40.765625 -1.421875 27.09375 -1.421875 -Q 22.515625 -1.421875 17.65625 -0.515625 -Q 12.796875 0.390625 7.625 2.203125 -L 7.625 11.71875 -Q 11.71875 9.328125 16.59375 8.109375 -Q 21.484375 6.890625 26.8125 6.890625 -Q 36.078125 6.890625 40.9375 10.546875 -Q 45.796875 14.203125 45.796875 21.1875 -Q 45.796875 27.640625 41.28125 31.265625 -Q 36.765625 34.90625 28.71875 34.90625 -L 20.21875 34.90625 -L 20.21875 43.015625 -L 29.109375 43.015625 -Q 36.375 43.015625 40.234375 45.921875 -Q 44.09375 48.828125 44.09375 54.296875 -Q 44.09375 59.90625 40.109375 62.90625 -Q 36.140625 65.921875 28.71875 65.921875 -Q 24.65625 65.921875 20.015625 65.03125 -Q 15.375 64.15625 9.8125 62.3125 -L 9.8125 71.09375 -Q 15.4375 72.65625 20.34375 73.4375 -Q 25.25 74.21875 29.59375 74.21875 -Q 40.828125 74.21875 47.359375 69.109375 -Q 53.90625 64.015625 53.90625 55.328125 -Q 53.90625 49.265625 50.4375 45.09375 -Q 46.96875 40.921875 40.578125 39.3125 -" id="DejaVuSans-33"/> - </defs> - <g transform="translate(63.154688 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-33"/> - </g> - </g> - </g> - <g id="xtick_2"> - <g id="line2d_3"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="146.4" xlink:href="#mdc091b85c7" y="388.8"/> - </g> - </g> - <g id="line2d_4"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="146.4" xlink:href="#ma1220d0c6a" y="43.2"/> - </g> - </g> - <g id="text_2"> - <!-- −2 --> - <defs> - <path d="M 19.1875 8.296875 -L 53.609375 8.296875 -L 53.609375 0 -L 7.328125 0 -L 7.328125 8.296875 -Q 12.9375 14.109375 22.625 23.890625 -Q 32.328125 33.6875 34.8125 36.53125 -Q 39.546875 41.84375 41.421875 45.53125 -Q 43.3125 49.21875 43.3125 52.78125 -Q 43.3125 58.59375 39.234375 62.25 -Q 35.15625 65.921875 28.609375 65.921875 -Q 23.96875 65.921875 18.8125 64.3125 -Q 13.671875 62.703125 7.8125 59.421875 -L 7.8125 69.390625 -Q 13.765625 71.78125 18.9375 73 -Q 24.125 74.21875 28.421875 74.21875 -Q 39.75 74.21875 46.484375 68.546875 -Q 53.21875 62.890625 53.21875 53.421875 -Q 53.21875 48.921875 51.53125 44.890625 -Q 49.859375 40.875 45.40625 35.40625 -Q 44.1875 33.984375 37.640625 27.21875 -Q 31.109375 20.453125 19.1875 8.296875 -" id="DejaVuSans-32"/> - </defs> - <g transform="translate(137.554688 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-32"/> - </g> - </g> - </g> - <g id="xtick_3"> - <g id="line2d_5"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="220.8" xlink:href="#mdc091b85c7" y="388.8"/> - </g> - </g> - <g id="line2d_6"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="220.8" xlink:href="#ma1220d0c6a" y="43.2"/> - </g> - </g> - <g id="text_3"> - <!-- −1 --> - <defs> - <path d="M 12.40625 8.296875 -L 28.515625 8.296875 -L 28.515625 63.921875 -L 10.984375 60.40625 -L 10.984375 69.390625 -L 28.421875 72.90625 -L 38.28125 72.90625 -L 38.28125 8.296875 -L 54.390625 8.296875 -L 54.390625 0 -L 12.40625 0 -z -" id="DejaVuSans-31"/> - </defs> - <g transform="translate(211.954688 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-31"/> - </g> - </g> - </g> - <g id="xtick_4"> - <g id="line2d_7"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="295.2" xlink:href="#mdc091b85c7" y="388.8"/> - </g> - </g> - <g id="line2d_8"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="295.2" xlink:href="#ma1220d0c6a" y="43.2"/> - </g> - </g> - <g id="text_4"> - <!-- 0 --> - <defs> - <path d="M 31.78125 66.40625 -Q 24.171875 66.40625 20.328125 58.90625 -Q 16.5 51.421875 16.5 36.375 -Q 16.5 21.390625 20.328125 13.890625 -Q 24.171875 6.390625 31.78125 6.390625 -Q 39.453125 6.390625 43.28125 13.890625 -Q 47.125 21.390625 47.125 36.375 -Q 47.125 51.421875 43.28125 58.90625 -Q 39.453125 66.40625 31.78125 66.40625 -M 31.78125 74.21875 -Q 44.046875 74.21875 50.515625 64.515625 -Q 56.984375 54.828125 56.984375 36.375 -Q 56.984375 17.96875 50.515625 8.265625 -Q 44.046875 -1.421875 31.78125 -1.421875 -Q 19.53125 -1.421875 13.0625 8.265625 -Q 6.59375 17.96875 6.59375 36.375 -Q 6.59375 54.828125 13.0625 64.515625 -Q 19.53125 74.21875 31.78125 74.21875 -" id="DejaVuSans-30"/> - </defs> - <g transform="translate(291.3825 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="xtick_5"> - <g id="line2d_9"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="369.6" xlink:href="#mdc091b85c7" y="388.8"/> - </g> - </g> - <g id="line2d_10"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="369.6" xlink:href="#ma1220d0c6a" y="43.2"/> - </g> - </g> - <g id="text_5"> - <!-- 1 --> - <g transform="translate(365.7825 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-31"/> - </g> - </g> - </g> - <g id="xtick_6"> - <g id="line2d_11"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="444" xlink:href="#mdc091b85c7" y="388.8"/> - </g> - </g> - <g id="line2d_12"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="444" xlink:href="#ma1220d0c6a" y="43.2"/> - </g> - </g> - <g id="text_6"> - <!-- 2 --> - <g transform="translate(440.1825 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-32"/> - </g> - </g> - </g> - <g id="xtick_7"> - <g id="line2d_13"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#mdc091b85c7" y="388.8"/> - </g> - </g> - <g id="line2d_14"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#ma1220d0c6a" y="43.2"/> - </g> - </g> - <g id="text_7"> - <!-- 3 --> - <g transform="translate(514.5825 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-33"/> - </g> - </g> - </g> - </g> - <g id="matplotlib.axis_2"> - <g id="ytick_1"> - <g id="line2d_15"> - <defs> - <path d="M 0 0 -L 4 0 -" id="mcbf388efae" style="stroke:#000000;stroke-width:0.5;"/> - </defs> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#mcbf388efae" y="388.8"/> - </g> - </g> - <g id="line2d_16"> - <defs> - <path d="M 0 0 -L -4 0 -" id="m023b109de9" style="stroke:#000000;stroke-width:0.5;"/> - </defs> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m023b109de9" y="388.8"/> - </g> - </g> - <g id="text_8"> - <!-- −3 --> - <g transform="translate(50.309375 393.359062)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-33"/> - </g> - </g> - </g> - <g id="ytick_2"> - <g id="line2d_17"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#mcbf388efae" y="331.2"/> - </g> - </g> - <g id="line2d_18"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m023b109de9" y="331.2"/> - </g> - </g> - <g id="text_9"> - <!-- −2 --> - <g transform="translate(50.309375 335.759063)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-32"/> - </g> - </g> - </g> - <g id="ytick_3"> - <g id="line2d_19"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#mcbf388efae" y="273.6"/> - </g> - </g> - <g id="line2d_20"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m023b109de9" y="273.6"/> - </g> - </g> - <g id="text_10"> - <!-- −1 --> - <g transform="translate(50.309375 278.159063)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-31"/> - </g> - </g> - </g> - <g id="ytick_4"> - <g id="line2d_21"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#mcbf388efae" y="216"/> - </g> - </g> - <g id="line2d_22"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m023b109de9" y="216"/> - </g> - </g> - <g id="text_11"> - <!-- 0 --> - <g transform="translate(60.365 220.559063)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="ytick_5"> - <g id="line2d_23"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#mcbf388efae" y="158.4"/> - </g> - </g> - <g id="line2d_24"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m023b109de9" y="158.4"/> - </g> - </g> - <g id="text_12"> - <!-- 1 --> - <g transform="translate(60.365 162.959062)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-31"/> - </g> - </g> - </g> - <g id="ytick_6"> - <g id="line2d_25"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#mcbf388efae" y="100.8"/> - </g> - </g> - <g id="line2d_26"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m023b109de9" y="100.8"/> - </g> - </g> - <g id="text_13"> - <!-- 2 --> - <g transform="translate(60.365 105.359062)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-32"/> - </g> - </g> - </g> - <g id="ytick_7"> - <g id="line2d_27"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#mcbf388efae" y="43.2"/> - </g> - </g> - <g id="line2d_28"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m023b109de9" y="43.2"/> - </g> - </g> - <g id="text_14"> - <!-- 3 --> - <g transform="translate(60.365 47.759062)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-33"/> - </g> - </g> - </g> + <path d="M 57.6 41.472 +L 414.72 41.472 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> </g> </g> </g> <defs> - <clipPath id="p6928b274a4"> - <rect height="345.6" width="446.4" x="72" y="43.2"/> + <clipPath id="pd61168c6cd"> + <rect height="266.112" width="357.12" x="57.6" y="41.472"/> </clipPath> </defs> </svg> diff --git a/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_masks_and_nans.pdf b/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_masks_and_nans.pdf index b635b4f3c7bcadfce07af4ba344d3445700760bd..d06b6cf7159ce7e9094c8578f644d7cd8a54b62c 100644 GIT binary patch literal 26465 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 literal 31240 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 W4IG`X%nk$dLBV*;%u>qIc>f1QGGIvn diff --git a/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_masks_and_nans.png b/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_masks_and_nans.png index 88610c78abfac676b2697de8d96e1e49f8538464..3a273017491d3fcbe10084933690b7d795bd3208 100644 GIT binary patch literal 102574 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 literal 130872 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 aHA#@cBda$B>_k}LrSMu+wp9B4m;VRoz}qtb diff --git a/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_masks_and_nans.svg b/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_masks_and_nans.svg index b4d4d4b270f6..f027722f3e91 100644 --- a/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_masks_and_nans.svg +++ b/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_masks_and_nans.svg @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="utf-8" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<!-- Created with matplotlib (http://matplotlib.org/) --> -<svg height="432pt" version="1.1" viewBox="0 0 576 432" width="576pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<!-- Created with matplotlib (https://matplotlib.org/) --> +<svg height="345.6pt" version="1.1" viewBox="0 0 460.8 345.6" width="460.8pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <defs> <style type="text/css"> *{stroke-linecap:butt;stroke-linejoin:round;} @@ -10,3961 +10,3570 @@ </defs> <g id="figure_1"> <g id="patch_1"> - <path d="M 0 432 -L 576 432 -L 576 0 + <path d="M 0 345.6 +L 460.8 345.6 +L 460.8 0 L 0 0 z " style="fill:#ffffff;"/> </g> <g id="axes_1"> <g id="patch_2"> - <path d="M 72 388.8 -L 518.4 388.8 -L 518.4 43.2 -L 72 43.2 + <path d="M 57.6 307.584 +L 414.72 307.584 +L 414.72 41.472 +L 57.6 41.472 z " style="fill:#ffffff;"/> </g> + <g id="matplotlib.axis_1"> + <g id="xtick_1"> + <g id="line2d_1"> + <defs> + <path d="M 0 0 +L 0 3.5 +" id="m6f0d3f11d0" style="stroke:#000000;stroke-width:0.8;"/> + </defs> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m6f0d3f11d0" y="307.584"/> + </g> + </g> + </g> + <g id="xtick_2"> + <g id="line2d_2"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="117.12" xlink:href="#m6f0d3f11d0" y="307.584"/> + </g> + </g> + </g> + <g id="xtick_3"> + <g id="line2d_3"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="176.64" xlink:href="#m6f0d3f11d0" y="307.584"/> + </g> + </g> + </g> + <g id="xtick_4"> + <g id="line2d_4"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="236.16" xlink:href="#m6f0d3f11d0" y="307.584"/> + </g> + </g> + </g> + <g id="xtick_5"> + <g id="line2d_5"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="295.68" xlink:href="#m6f0d3f11d0" y="307.584"/> + </g> + </g> + </g> + <g id="xtick_6"> + <g id="line2d_6"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="355.2" xlink:href="#m6f0d3f11d0" y="307.584"/> + </g> + </g> + </g> + <g id="xtick_7"> + <g id="line2d_7"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="414.72" xlink:href="#m6f0d3f11d0" y="307.584"/> + </g> + </g> + </g> + </g> + <g id="matplotlib.axis_2"> + <g id="ytick_1"> + <g id="line2d_8"> + <defs> + <path d="M 0 0 +L -3.5 0 +" id="mca33449b8b" style="stroke:#000000;stroke-width:0.8;"/> + </defs> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mca33449b8b" y="307.584"/> + </g> + </g> + </g> + <g id="ytick_2"> + <g id="line2d_9"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mca33449b8b" y="263.232"/> + </g> + </g> + </g> + <g id="ytick_3"> + <g id="line2d_10"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mca33449b8b" y="218.88"/> + </g> + </g> + </g> + <g id="ytick_4"> + <g id="line2d_11"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mca33449b8b" y="174.528"/> + </g> + </g> + </g> + <g id="ytick_5"> + <g id="line2d_12"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mca33449b8b" y="130.176"/> + </g> + </g> + </g> + <g id="ytick_6"> + <g id="line2d_13"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mca33449b8b" y="85.824"/> + </g> + </g> + </g> + <g id="ytick_7"> + <g id="line2d_14"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mca33449b8b" y="41.472"/> + </g> + </g> + </g> + </g> <g id="LineCollection_1"> - <path clip-path="url(#pc9763b54a5)" d="M 518.4 306.375739 -L 516.749934 306.206344 -" style="fill:none;stroke:#e4eff9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 516.749934 306.206344 -L 501.854982 304.650683 -" style="fill:none;stroke:#e3eef8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 501.854982 304.650683 -L 486.968789 303.046179 -" style="fill:none;stroke:#d3e4f3;"/> - <path clip-path="url(#pc9763b54a5)" d="M 486.968789 303.046179 -L 472.090359 301.398838 -" style="fill:none;stroke:#c4daee;"/> - <path clip-path="url(#pc9763b54a5)" d="M 472.090359 301.398838 -L 457.2192 299.713629 -" style="fill:none;stroke:#aed1e7;"/> - <path clip-path="url(#pc9763b54a5)" d="M 457.2192 299.713629 -L 442.353599 297.999109 -" style="fill:none;stroke:#99c7e0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 442.353599 297.999109 -L 427.491018 296.270649 -" style="fill:none;stroke:#82bbdb;"/> - <path clip-path="url(#pc9763b54a5)" d="M 427.491018 296.270649 -L 412.626246 294.553655 -" style="fill:none;stroke:#6caed6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 412.626246 294.553655 -L 397.752139 292.889608 -" style="fill:none;stroke:#5ca4d0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 397.752139 292.889608 -L 382.857427 291.344853 -" style="fill:none;stroke:#4f9bcb;"/> - <path clip-path="url(#pc9763b54a5)" d="M 382.857427 291.344853 -L 367.928292 290.02285 -" style="fill:none;stroke:#4493c7;"/> - <path clip-path="url(#pc9763b54a5)" d="M 367.928292 290.02285 -L 352.956265 289.08544 -" style="fill:none;stroke:#3b8bc2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 352.956265 289.08544 -L 337.947437 288.761406 -" style="fill:none;stroke:#3585bf;"/> - <path clip-path="url(#pc9763b54a5)" d="M 337.947437 288.761406 -L 323.00551 289.346339 -" style="fill:none;stroke:#3080bd;"/> - <path clip-path="url(#pc9763b54a5)" d="M 323.00551 289.346339 -L 308.839927 291.048902 -" style="fill:none;stroke:#2d7dbb;"/> - <path clip-path="url(#pc9763b54a5)" d="M 308.839927 291.048902 -L 294.552367 294.180127 -" style="fill:none;stroke:#2c7cba;"/> - <path clip-path="url(#pc9763b54a5)" d="M 294.552367 294.180127 -L 280.766305 298.743075 -" style="fill:none;stroke:#2c7cba;"/> - <path clip-path="url(#pc9763b54a5)" d="M 280.766305 298.743075 -L 267.739022 304.509486 -" style="fill:none;stroke:#2e7ebc;"/> - <path clip-path="url(#pc9763b54a5)" d="M 267.739022 304.509486 -L 255.465571 311.205077 -" style="fill:none;stroke:#3181bd;"/> - <path clip-path="url(#pc9763b54a5)" d="M 255.465571 311.205077 -L 243.858229 318.586112 -" style="fill:none;stroke:#3686c0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 243.858229 318.586112 -L 232.812964 326.471447 -" style="fill:none;stroke:#3b8bc2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 232.812964 326.471447 -L 222.235279 334.734127 -" style="fill:none;stroke:#4191c6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 222.235279 334.734127 -L 212.048982 343.287818 -" style="fill:none;stroke:#4a98c9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 212.048982 343.287818 -L 202.193797 352.071705 -" style="fill:none;stroke:#549fcd;"/> - <path clip-path="url(#pc9763b54a5)" d="M 202.193797 352.071705 -L 192.62264 361.042244 -" style="fill:none;stroke:#5fa6d1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 192.62264 361.042244 -L 183.29943 370.168268 -" style="fill:none;stroke:#69add5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 183.29943 370.168268 -L 174.196716 379.426757 -" style="fill:none;stroke:#77b5d9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 174.196716 379.426757 -L 165.291536 388.8 -" style="fill:none;stroke:#85bcdc;"/> - <path clip-path="url(#pc9763b54a5)" d="M 165.291536 388.8 -L 165.291536 388.8 -" style="fill:none;stroke:#95c5df;"/> - <path clip-path="url(#pc9763b54a5)" d="M 310.025218 299.083112 -L 296.244069 303.643138 -" style="fill:none;stroke:#2e7ebc;"/> - <path clip-path="url(#pc9763b54a5)" d="M 296.244069 303.643138 -L 283.327446 309.542192 -" style="fill:none;stroke:#2f7fbc;"/> - <path clip-path="url(#pc9763b54a5)" d="M 283.327446 309.542192 -L 271.310981 316.50475 -" style="fill:none;stroke:#3181bd;"/> - <path clip-path="url(#pc9763b54a5)" d="M 271.310981 316.50475 -L 260.119746 324.2572 -" style="fill:none;stroke:#3484bf;"/> - <path clip-path="url(#pc9763b54a5)" d="M 260.119746 324.2572 -L 249.633943 332.585313 -" style="fill:none;stroke:#3989c1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 249.633943 332.585313 -L 239.73925 341.339143 -" style="fill:none;stroke:#3e8ec4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 239.73925 341.339143 -L 230.339047 350.415577 -" style="fill:none;stroke:#4493c7;"/> - <path clip-path="url(#pc9763b54a5)" d="M 230.339047 350.415577 -L 221.356991 359.743339 -" style="fill:none;stroke:#4b98ca;"/> - <path clip-path="url(#pc9763b54a5)" d="M 221.356991 359.743339 -L 212.734094 369.272433 -" style="fill:none;stroke:#549fcd;"/> - <path clip-path="url(#pc9763b54a5)" d="M 212.734094 369.272433 -L 204.423418 378.966796 -" style="fill:none;stroke:#5da5d1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 204.423418 378.966796 -L 196.388715 388.8 -" style="fill:none;stroke:#66abd4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 196.388715 388.8 -L 196.388715 388.8 -" style="fill:none;stroke:#72b2d8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 196.388715 388.8 -L 196.388715 388.8 -" style="fill:none;stroke:#72b2d8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 444.402894 303.399129 -L 429.453203 302.207897 -" style="fill:none;stroke:#87bddc;"/> - <path clip-path="url(#pc9763b54a5)" d="M 429.453203 302.207897 -L 414.485981 301.156105 -" style="fill:none;stroke:#72b2d8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 414.485981 301.156105 -L 399.49698 300.330302 -" style="fill:none;stroke:#61a7d2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 399.49698 300.330302 -L 384.485858 299.857946 -" style="fill:none;stroke:#539ecd;"/> - <path clip-path="url(#pc9763b54a5)" d="M 384.485858 299.857946 -L 369.467357 299.923363 -" style="fill:none;stroke:#4896c8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 369.467357 299.923363 -L 354.49754 300.779864 -" style="fill:none;stroke:#3f8fc5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 354.49754 300.779864 -L 340.418806 302.613586 -" style="fill:none;stroke:#3989c1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 340.418806 302.613586 -L 327.060509 305.595208 -" style="fill:none;stroke:#3585bf;"/> - <path clip-path="url(#pc9763b54a5)" d="M 327.060509 305.595208 -L 313.755503 310.087873 -" style="fill:none;stroke:#3282be;"/> - <path clip-path="url(#pc9763b54a5)" d="M 313.755503 310.087873 -L 300.952343 316.124926 -" style="fill:none;stroke:#3282be;"/> - <path clip-path="url(#pc9763b54a5)" d="M 300.952343 316.124926 -L 289.188032 323.334806 -" style="fill:none;stroke:#3282be;"/> - <path clip-path="url(#pc9763b54a5)" d="M 289.188032 323.334806 -L 278.407372 331.424589 -" style="fill:none;stroke:#3585bf;"/> - <path clip-path="url(#pc9763b54a5)" d="M 278.407372 331.424589 -L 268.478078 340.149755 -" style="fill:none;stroke:#3888c1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 268.478078 340.149755 -L 259.262132 349.33598 -" style="fill:none;stroke:#3c8cc3;"/> - <path clip-path="url(#pc9763b54a5)" d="M 259.262132 349.33598 -L 250.64142 358.863974 -" style="fill:none;stroke:#4090c5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 250.64142 358.863974 -L 242.519145 368.652221 -" style="fill:none;stroke:#4695c8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 242.519145 368.652221 -L 234.820204 378.6443 -" style="fill:none;stroke:#4d99ca;"/> - <path clip-path="url(#pc9763b54a5)" d="M 234.820204 378.6443 -L 227.485893 388.8 -" style="fill:none;stroke:#549fcd;"/> - <path clip-path="url(#pc9763b54a5)" d="M 227.485893 388.8 -L 227.485893 388.8 -" style="fill:none;stroke:#5ca4d0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 227.485893 388.8 -L 227.485893 388.8 -" style="fill:none;stroke:#5ca4d0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 360.168296 310.570143 -L 346.816148 313.685385 -" style="fill:none;stroke:#3e8ec4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 346.816148 313.685385 -L 333.854902 318.161689 -" style="fill:none;stroke:#3a8ac2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 333.854902 318.161689 -L 321.133492 324.295379 -" style="fill:none;stroke:#3888c1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 321.133492 324.295379 -L 309.548584 331.67028 -" style="fill:none;stroke:#3787c0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 309.548584 331.67028 -L 299.074282 339.993976 -" style="fill:none;stroke:#3888c1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 299.074282 339.993976 -L 289.582381 349.00408 -" style="fill:none;stroke:#3989c1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 289.582381 349.00408 -L 280.917196 358.50454 -" style="fill:none;stroke:#3c8cc3;"/> - <path clip-path="url(#pc9763b54a5)" d="M 280.917196 358.50454 -L 272.93538 368.360043 -" style="fill:none;stroke:#4090c5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 272.93538 368.360043 -L 265.521242 378.479399 -" style="fill:none;stroke:#4493c7;"/> - <path clip-path="url(#pc9763b54a5)" d="M 265.521242 378.479399 -L 258.583072 388.8 -" style="fill:none;stroke:#4a98c9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 258.583072 388.8 -L 258.583072 388.8 -" style="fill:none;stroke:#4f9bcb;"/> - <path clip-path="url(#pc9763b54a5)" d="M 258.583072 388.8 -L 258.583072 388.8 -" style="fill:none;stroke:#4f9bcb;"/> - <path clip-path="url(#pc9763b54a5)" d="M 518.4 318.077136 -L 517.850213 318.0473 -" style="fill:none;stroke:#e7f1fa;"/> - <path clip-path="url(#pc9763b54a5)" d="M 517.850213 318.0473 -L 502.855533 317.254583 -" style="fill:none;stroke:#e7f0fa;"/> - <path clip-path="url(#pc9763b54a5)" d="M 502.855533 317.254583 -L 487.855047 316.534261 -" style="fill:none;stroke:#d7e6f5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 487.855047 316.534261 -L 472.84548 315.938369 -" style="fill:none;stroke:#c9ddf0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 472.84548 315.938369 -L 457.825918 315.518542 -" style="fill:none;stroke:#b5d4e9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 457.825918 315.518542 -L 442.798903 315.348178 -" style="fill:none;stroke:#a1cbe2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 442.798903 315.348178 -L 427.773609 315.530111 -" style="fill:none;stroke:#8abfdd;"/> - <path clip-path="url(#pc9763b54a5)" d="M 427.773609 315.530111 -L 412.775748 316.207929 -" style="fill:none;stroke:#75b4d8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 412.775748 316.207929 -L 397.862661 317.575041 -" style="fill:none;stroke:#65aad4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 397.862661 317.575041 -L 383.151623 319.874436 -" style="fill:none;stroke:#58a1cf;"/> - <path clip-path="url(#pc9763b54a5)" d="M 383.151623 319.874436 -L 369.49654 323.174143 -" style="fill:none;stroke:#4e9acb;"/> - <path clip-path="url(#pc9763b54a5)" d="M 369.49654 323.174143 -L 356.517188 327.70539 -" style="fill:none;stroke:#4695c8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 356.517188 327.70539 -L 343.802489 333.849472 -" style="fill:none;stroke:#4191c6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 343.802489 333.849472 -L 332.252574 341.255259 -" style="fill:none;stroke:#3f8fc5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 332.252574 341.255259 -L 321.890557 349.659422 -" style="fill:none;stroke:#3e8ec4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 321.890557 349.659422 -L 312.608354 358.796982 -" style="fill:none;stroke:#3f8fc5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 312.608354 358.796982 -L 304.246241 368.457663 -" style="fill:none;stroke:#4090c5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 304.246241 368.457663 -L 296.647814 378.492537 -" style="fill:none;stroke:#4292c6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 296.647814 378.492537 -L 289.680251 388.8 -" style="fill:none;stroke:#4695c8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 289.680251 388.8 -L 289.680251 388.8 -" style="fill:none;stroke:#4a98c9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 289.680251 388.8 -L 289.680251 388.8 -" style="fill:none;stroke:#4a98c9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 362.044718 335.774367 -L 349.864989 342.541836 -" style="fill:none;stroke:#4896c8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 349.864989 342.541836 -L 338.881671 350.452499 -" style="fill:none;stroke:#4493c7;"/> - <path clip-path="url(#pc9763b54a5)" d="M 338.881671 350.452499 -L 329.068188 359.246569 -" style="fill:none;stroke:#4292c6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.068188 359.246569 -L 320.294063 368.682514 -" style="fill:none;stroke:#4493c7;"/> - <path clip-path="url(#pc9763b54a5)" d="M 320.294063 368.682514 -L 312.39766 378.576693 -" style="fill:none;stroke:#4594c7;"/> - <path clip-path="url(#pc9763b54a5)" d="M 312.39766 378.576693 -L 305.22884 388.8 -" style="fill:none;stroke:#4896c8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 305.22884 388.8 -L 305.22884 388.8 -" style="fill:none;stroke:#4a98c9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 305.22884 388.8 -L 305.22884 388.8 -" style="fill:none;stroke:#4a98c9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 518.4 328.900791 -L 518.077156 328.898698 -" style="fill:none;stroke:#eaf2fb;"/> - <path clip-path="url(#pc9763b54a5)" d="M 518.077156 328.898698 -L 503.047727 328.872729 -" style="fill:none;stroke:#e9f2fa;"/> - <path clip-path="url(#pc9763b54a5)" d="M 503.047727 328.872729 -L 488.02078 329.0498 -" style="fill:none;stroke:#d9e8f5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 488.02078 329.0498 -L 473.005567 329.530491 -" style="fill:none;stroke:#ccdff1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 473.005567 329.530491 -L 458.023051 330.415438 -" style="fill:none;stroke:#bad6eb;"/> - <path clip-path="url(#pc9763b54a5)" d="M 458.023051 330.415438 -L 443.112998 331.837308 -" style="fill:none;stroke:#a6cee4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 443.112998 331.837308 -L 428.348877 333.965274 -" style="fill:none;stroke:#92c4de;"/> - <path clip-path="url(#pc9763b54a5)" d="M 428.348877 333.965274 -L 413.857206 336.997756 -" style="fill:none;stroke:#7fb9da;"/> - <path clip-path="url(#pc9763b54a5)" d="M 413.857206 336.997756 -L 399.837998 341.134546 -" style="fill:none;stroke:#6fb0d7;"/> - <path clip-path="url(#pc9763b54a5)" d="M 399.837998 341.134546 -L 386.613039 346.486949 -" style="fill:none;stroke:#64a9d3;"/> - <path clip-path="url(#pc9763b54a5)" d="M 386.613039 346.486949 -L 374.308331 353.122532 -" style="fill:none;stroke:#5ba3d0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 374.308331 353.122532 -L 363.15408 360.888889 -" style="fill:none;stroke:#56a0ce;"/> - <path clip-path="url(#pc9763b54a5)" d="M 363.15408 360.888889 -L 353.174825 369.568392 -" style="fill:none;stroke:#529dcc;"/> - <path clip-path="url(#pc9763b54a5)" d="M 353.174825 369.568392 -L 344.280302 378.934842 -" style="fill:none;stroke:#519ccc;"/> - <path clip-path="url(#pc9763b54a5)" d="M 344.280302 378.934842 -L 336.326019 388.8 -" style="fill:none;stroke:#4f9bcb;"/> - <path clip-path="url(#pc9763b54a5)" d="M 336.326019 388.8 -L 336.326019 388.8 -" style="fill:none;stroke:#519ccc;"/> - <path clip-path="url(#pc9763b54a5)" d="M 336.326019 388.8 -L 336.326019 388.8 -" style="fill:none;stroke:#519ccc;"/> - <path clip-path="url(#pc9763b54a5)" d="M 518.4 338.228184 -L 512.041488 338.48585 -" style="fill:none;stroke:#ecf4fb;"/> - <path clip-path="url(#pc9763b54a5)" d="M 512.041488 338.48585 -L 497.04738 339.262249 -" style="fill:none;stroke:#e5eff9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 497.04738 339.262249 -L 482.097739 340.4366 -" style="fill:none;stroke:#d6e6f4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 482.097739 340.4366 -L 467.232707 342.124306 -" style="fill:none;stroke:#c9ddf0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 467.232707 342.124306 -L 452.521598 344.469415 -" style="fill:none;stroke:#b7d4ea;"/> - <path clip-path="url(#pc9763b54a5)" d="M 452.521598 344.469415 -L 438.075499 347.638735 -" style="fill:none;stroke:#a5cde3;"/> - <path clip-path="url(#pc9763b54a5)" d="M 438.075499 347.638735 -L 424.064034 351.803358 -" style="fill:none;stroke:#94c4df;"/> - <path clip-path="url(#pc9763b54a5)" d="M 424.064034 351.803358 -L 410.708732 357.095599 -" style="fill:none;stroke:#82bbdb;"/> - <path clip-path="url(#pc9763b54a5)" d="M 410.708732 357.095599 -L 398.244844 363.557182 -" style="fill:none;stroke:#75b4d8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 398.244844 363.557182 -L 386.849496 371.112451 -" style="fill:none;stroke:#6aaed6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 386.849496 371.112451 -L 376.590331 379.593507 -" style="fill:none;stroke:#65aad4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 376.590331 379.593507 -L 367.423197 388.8 -" style="fill:none;stroke:#61a7d2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 367.423197 388.8 -L 367.423197 388.8 -" style="fill:none;stroke:#5fa6d1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 367.423197 388.8 -L 367.423197 388.8 -" style="fill:none;stroke:#5fa6d1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 428.862587 359.396701 -L 415.867977 365.20218 -" style="fill:none;stroke:#8cc0dd;"/> - <path clip-path="url(#pc9763b54a5)" d="M 415.867977 365.20218 -L 403.814364 372.118073 -" style="fill:none;stroke:#7fb9da;"/> - <path clip-path="url(#pc9763b54a5)" d="M 403.814364 372.118073 -L 392.839178 380.040979 -" style="fill:none;stroke:#74b3d8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 392.839178 380.040979 -L 382.971787 388.8 -" style="fill:none;stroke:#6dafd7;"/> - <path clip-path="url(#pc9763b54a5)" d="M 382.971787 388.8 -L 382.971787 388.8 -" style="fill:none;stroke:#69add5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 382.971787 388.8 -L 382.971787 388.8 -" style="fill:none;stroke:#69add5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 518.4 353.933884 -L 508.025633 355.311462 -" style="fill:none;stroke:#eff6fc;"/> - <path clip-path="url(#pc9763b54a5)" d="M 508.025633 355.311462 -L 493.28588 357.56358 -" style="fill:none;stroke:#e5eff9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 493.28588 357.56358 -L 478.742131 360.47234 -" style="fill:none;stroke:#d7e6f5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 478.742131 360.47234 -L 464.506994 364.174889 -" style="fill:none;stroke:#cadef0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 464.506994 364.174889 -L 450.736044 368.802017 -" style="fill:none;stroke:#bcd7eb;"/> - <path clip-path="url(#pc9763b54a5)" d="M 450.736044 368.802017 -L 437.618132 374.447204 -" style="fill:none;stroke:#add0e6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 437.618132 374.447204 -L 425.347052 381.134193 -" style="fill:none;stroke:#9fcae1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 425.347052 381.134193 -L 414.068966 388.8 -" style="fill:none;stroke:#92c4de;"/> - <path clip-path="url(#pc9763b54a5)" d="M 414.068966 388.8 -L 414.068966 388.8 -" style="fill:none;stroke:#87bddc;"/> - <path clip-path="url(#pc9763b54a5)" d="M 518.4 364.897002 -L 513.53293 365.769311 -" style="fill:none;stroke:#f2f7fd;"/> - <path clip-path="url(#pc9763b54a5)" d="M 513.53293 365.769311 -L 499.000938 368.715984 -" style="fill:none;stroke:#edf4fc;"/> - <path clip-path="url(#pc9763b54a5)" d="M 499.000938 368.715984 -L 484.751524 372.389849 -" style="fill:none;stroke:#dfebf7;"/> - <path clip-path="url(#pc9763b54a5)" d="M 484.751524 372.389849 -L 470.917798 376.908594 -" style="fill:none;stroke:#d3e3f3;"/> - <path clip-path="url(#pc9763b54a5)" d="M 470.917798 376.908594 -L 457.66437 382.365083 -" style="fill:none;stroke:#c8dcf0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 457.66437 382.365083 -L 445.166144 388.8 -" style="fill:none;stroke:#b9d6ea;"/> - <path clip-path="url(#pc9763b54a5)" d="M 445.166144 388.8 -L 445.166144 388.8 -" style="fill:none;stroke:#add0e6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 518.4 375.438722 -L 517.859984 375.564558 -" style="fill:none;stroke:#f5f9fe;"/> - <path clip-path="url(#pc9763b54a5)" d="M 517.859984 375.564558 -L 503.59354 379.209904 -" style="fill:none;stroke:#f4f9fe;"/> - <path clip-path="url(#pc9763b54a5)" d="M 503.59354 379.209904 -L 489.673183 383.571831 -" style="fill:none;stroke:#e6f0f9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 489.673183 383.571831 -L 476.263323 388.8 -" style="fill:none;stroke:#d9e8f5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 476.263323 388.8 -L 476.263323 388.8 -" style="fill:none;stroke:#cfe1f2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 100.385985 43.2 -L 97.708831 47.341699 -" style="fill:none;stroke:#5da5d1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 97.708831 47.341699 -L 90.37584 57.48308 -" style="fill:none;stroke:#63a8d3;"/> - <path clip-path="url(#pc9763b54a5)" d="M 90.37584 57.48308 -L 81.794696 67.01687 -" style="fill:none;stroke:#74b3d8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 81.794696 67.01687 -L 72 75.821944 -" style="fill:none;stroke:#8abfdd;"/> - <path clip-path="url(#pc9763b54a5)" d="M 72 75.821944 -L 72 75.821944 -" style="fill:none;stroke:#a3cce3;"/> - <path clip-path="url(#pc9763b54a5)" d="M 72 75.821944 -L 72 75.821944 -" style="fill:none;stroke:#a3cce3;"/> - <path clip-path="url(#pc9763b54a5)" d="M 122.946988 43.2 -L 122.760433 43.618908 -" style="fill:none;stroke:#3d8dc4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 122.760433 43.618908 -L 117.406093 54.483542 -" style="fill:none;stroke:#3d8dc4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 117.406093 54.483542 -L 110.926607 64.966307 -" style="fill:none;stroke:#4896c8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 110.926607 64.966307 -L 103.108108 74.883167 -" style="fill:none;stroke:#56a0ce;"/> - <path clip-path="url(#pc9763b54a5)" d="M 103.108108 74.883167 -L 93.932228 84.074951 -" style="fill:none;stroke:#65aad4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 93.932228 84.074951 -L 83.498618 92.426168 -" style="fill:none;stroke:#7ab6d9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 83.498618 92.426168 -L 72 99.897179 -" style="fill:none;stroke:#92c4de;"/> - <path clip-path="url(#pc9763b54a5)" d="M 72 99.897179 -L 72 99.897179 -" style="fill:none;stroke:#abd0e6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 72 99.897179 -L 72 99.897179 -" style="fill:none;stroke:#abd0e6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 114.651376 79.720914 -L 105.810076 89.103853 -" style="fill:none;stroke:#56a0ce;"/> - <path clip-path="url(#pc9763b54a5)" d="M 105.810076 89.103853 -L 95.613312 97.624488 -" style="fill:none;stroke:#66abd4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 95.613312 97.624488 -L 84.260442 105.224488 -" style="fill:none;stroke:#7cb7da;"/> - <path clip-path="url(#pc9763b54a5)" d="M 84.260442 105.224488 -L 72 111.934796 -" style="fill:none;stroke:#97c6df;"/> - <path clip-path="url(#pc9763b54a5)" d="M 72 111.934796 -L 72 111.934796 -" style="fill:none;stroke:#afd1e7;"/> - <path clip-path="url(#pc9763b54a5)" d="M 72 111.934796 -L 72 111.934796 -" style="fill:none;stroke:#afd1e7;"/> - <path clip-path="url(#pc9763b54a5)" d="M 158.721829 43.2 -L 157.71734 48.051178 -" style="fill:none;stroke:#1c6ab0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 157.71734 48.051178 -L 154.911705 59.476523 -" style="fill:none;stroke:#1d6cb1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 154.911705 59.476523 -L 151.104933 70.722491 -" style="fill:none;stroke:#2272b6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 151.104933 70.722491 -L 146.039907 81.661002 -" style="fill:none;stroke:#2a7ab9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 146.039907 81.661002 -L 139.585108 91.950672 -" style="fill:none;stroke:#3181bd;"/> - <path clip-path="url(#pc9763b54a5)" d="M 139.585108 91.950672 -L 131.4964 101.581689 -" style="fill:none;stroke:#3b8bc2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 131.4964 101.581689 -L 121.731642 110.392219 -" style="fill:none;stroke:#4695c8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 121.731642 110.392219 -L 110.596107 118.174306 -" style="fill:none;stroke:#57a0ce;"/> - <path clip-path="url(#pc9763b54a5)" d="M 110.596107 118.174306 -L 98.407259 124.956015 -" style="fill:none;stroke:#6aaed6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 98.407259 124.956015 -L 85.46472 130.853017 -" style="fill:none;stroke:#84bcdb;"/> - <path clip-path="url(#pc9763b54a5)" d="M 85.46472 130.853017 -L 72 136.010031 -" style="fill:none;stroke:#a0cbe2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 72 136.010031 -L 72 136.010031 -" style="fill:none;stroke:#b9d6ea;"/> - <path clip-path="url(#pc9763b54a5)" d="M 72 136.010031 -L 72 136.010031 -" style="fill:none;stroke:#b9d6ea;"/> - <path clip-path="url(#pc9763b54a5)" d="M 166.816208 67.623031 -L 163.451653 78.953215 -" style="fill:none;stroke:#1c6bb0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 163.451653 78.953215 -L 158.786418 89.995692 -" style="fill:none;stroke:#2171b5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 158.786418 89.995692 -L 152.907035 99.989149 -" style="fill:none;stroke:#2979b9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 152.907035 99.989149 -L 145.407172 109.341564 -" style="fill:none;stroke:#3181bd;"/> - <path clip-path="url(#pc9763b54a5)" d="M 145.407172 109.341564 -L 135.790169 118.241947 -" style="fill:none;stroke:#3a8ac2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 135.790169 118.241947 -L 124.675585 126.036814 -" style="fill:none;stroke:#4896c8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 124.675585 126.036814 -L 112.438272 132.763991 -" style="fill:none;stroke:#5aa2cf;"/> - <path clip-path="url(#pc9763b54a5)" d="M 112.438272 132.763991 -L 99.424379 138.564929 -" style="fill:none;stroke:#6dafd7;"/> - <path clip-path="url(#pc9763b54a5)" d="M 99.424379 138.564929 -L 85.888543 143.608622 -" style="fill:none;stroke:#89bedc;"/> - <path clip-path="url(#pc9763b54a5)" d="M 85.888543 143.608622 -L 72 148.047649 -" style="fill:none;stroke:#a4cce3;"/> - <path clip-path="url(#pc9763b54a5)" d="M 72 148.047649 -L 72 148.047649 -" style="fill:none;stroke:#bdd7ec;"/> - <path clip-path="url(#pc9763b54a5)" d="M 72 148.047649 -L 72 148.047649 -" style="fill:none;stroke:#bdd7ec;"/> - <path clip-path="url(#pc9763b54a5)" d="M 183.360935 43.2 -L 183.352614 43.383279 -" style="fill:none;stroke:#0d57a1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 183.352614 43.383279 -L 182.649439 55.00537 -" style="fill:none;stroke:#0d57a1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 182.649439 55.00537 -L 181.44859 66.600826 -" style="fill:none;stroke:#105ba4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 181.44859 66.600826 -L 179.488273 78.131365 -" style="fill:none;stroke:#135fa7;"/> - <path clip-path="url(#pc9763b54a5)" d="M 179.488273 78.131365 -L 176.485643 89.521426 -" style="fill:none;stroke:#1764ab;"/> - <path clip-path="url(#pc9763b54a5)" d="M 176.485643 89.521426 -L 172.326973 100.109181 -" style="fill:none;stroke:#1c6ab0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 172.326973 100.109181 -L 166.948301 109.669934 -" style="fill:none;stroke:#2070b4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 166.948301 109.669934 -L 159.926661 118.625729 -" style="fill:none;stroke:#2777b8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 159.926661 118.625729 -L 150.580415 127.287257 -" style="fill:none;stroke:#3080bd;"/> - <path clip-path="url(#pc9763b54a5)" d="M 150.580415 127.287257 -L 139.370456 134.994281 -" style="fill:none;stroke:#3b8bc2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 139.370456 134.994281 -L 126.989194 141.559076 -" style="fill:none;stroke:#4a98c9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 126.989194 141.559076 -L 113.834937 147.16653 -" style="fill:none;stroke:#5ca4d0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 113.834937 147.16653 -L 100.181318 152.017357 -" style="fill:none;stroke:#72b2d8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 100.181318 152.017357 -L 86.201156 156.280682 -" style="fill:none;stroke:#8dc1dd;"/> - <path clip-path="url(#pc9763b54a5)" d="M 86.201156 156.280682 -L 72 160.085266 -" style="fill:none;stroke:#a9cfe5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 72 160.085266 -L 72 160.085266 -" style="fill:none;stroke:#c2d9ee;"/> - <path clip-path="url(#pc9763b54a5)" d="M 72 160.085266 -L 72 160.085266 -" style="fill:none;stroke:#c2d9ee;"/> - <path clip-path="url(#pc9763b54a5)" d="M 195.823194 43.2 -L 195.847738 44.298632 -" style="fill:none;stroke:#084f99;"/> - <path clip-path="url(#pc9763b54a5)" d="M 195.847738 44.298632 -L 195.981353 55.933502 -" style="fill:none;stroke:#084f99;"/> - <path clip-path="url(#pc9763b54a5)" d="M 195.981353 55.933502 -L 195.762393 67.566514 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 195.762393 67.566514 -L 194.998916 79.184036 -" style="fill:none;stroke:#0c56a0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 194.998916 79.184036 -L 193.452497 90.751436 -" style="fill:none;stroke:#0f5aa3;"/> - <path clip-path="url(#pc9763b54a5)" d="M 193.452497 90.751436 -L 190.791812 102.135571 -" style="fill:none;stroke:#125ea6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 190.791812 102.135571 -L 187.111646 112.034626 -" style="fill:none;stroke:#1764ab;"/> - <path clip-path="url(#pc9763b54a5)" d="M 187.111646 112.034626 -L 182.172817 120.984315 -" style="fill:none;stroke:#1b69af;"/> - <path clip-path="url(#pc9763b54a5)" d="M 182.172817 120.984315 -L 175.477039 129.442704 -" style="fill:none;stroke:#206fb4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 175.477039 129.442704 -L 166.190654 137.737052 -" style="fill:none;stroke:#2676b8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 166.190654 137.737052 -L 154.690341 145.178218 -" style="fill:none;stroke:#3181bd;"/> - <path clip-path="url(#pc9763b54a5)" d="M 154.690341 145.178218 -L 142.024446 151.409302 -" style="fill:none;stroke:#3d8dc4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 142.024446 151.409302 -L 128.642239 156.685882 -" style="fill:none;stroke:#4d99ca;"/> - <path clip-path="url(#pc9763b54a5)" d="M 128.642239 156.685882 -L 114.819364 161.241748 -" style="fill:none;stroke:#60a7d2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 114.819364 161.241748 -L 100.714724 165.254164 -" style="fill:none;stroke:#77b5d9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 100.714724 165.254164 -L 86.422559 168.850917 -" style="fill:none;stroke:#92c4de;"/> - <path clip-path="url(#pc9763b54a5)" d="M 86.422559 168.850917 -L 72 172.122884 -" style="fill:none;stroke:#add0e6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 72 172.122884 -L 72 172.122884 -" style="fill:none;stroke:#c6dbef;"/> - <path clip-path="url(#pc9763b54a5)" d="M 72 172.122884 -L 72 172.122884 -" style="fill:none;stroke:#c6dbef;"/> - <path clip-path="url(#pc9763b54a5)" d="M 208.533238 43.2 -L 208.993333 48.652035 -" style="fill:none;stroke:#08488e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 208.993333 48.652035 -L 209.876204 60.267558 -" style="fill:none;stroke:#084990;"/> - <path clip-path="url(#pc9763b54a5)" d="M 209.876204 60.267558 -L 210.512397 71.892302 -" style="fill:none;stroke:#084c95;"/> - <path clip-path="url(#pc9763b54a5)" d="M 210.512397 71.892302 -L 210.778504 83.524733 -" style="fill:none;stroke:#084f99;"/> - <path clip-path="url(#pc9763b54a5)" d="M 210.778504 83.524733 -L 210.480511 95.154515 -" style="fill:none;stroke:#09529d;"/> - <path clip-path="url(#pc9763b54a5)" d="M 210.480511 95.154515 -L 209.309294 106.74559 -" style="fill:none;stroke:#0c56a0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 209.309294 106.74559 -L 207.135103 117.002648 -" style="fill:none;stroke:#0f5aa3;"/> - <path clip-path="url(#pc9763b54a5)" d="M 207.135103 117.002648 -L 203.904425 125.9031 -" style="fill:none;stroke:#125ea6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 203.904425 125.9031 -L 199.306472 134.027477 -" style="fill:none;stroke:#1663aa;"/> - <path clip-path="url(#pc9763b54a5)" d="M 199.306472 134.027477 -L 192.628773 141.909862 -" style="fill:none;stroke:#1a68ae;"/> - <path clip-path="url(#pc9763b54a5)" d="M 192.628773 141.909862 -L 182.706784 149.852546 -" style="fill:none;stroke:#1f6eb3;"/> - <path clip-path="url(#pc9763b54a5)" d="M 182.706784 149.852546 -L 170.599837 156.692272 -" style="fill:none;stroke:#2777b8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 170.599837 156.692272 -L 157.468758 162.322795 -" style="fill:none;stroke:#3383be;"/> - <path clip-path="url(#pc9763b54a5)" d="M 157.468758 162.322795 -L 143.763001 167.08118 -" style="fill:none;stroke:#3f8fc5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 143.763001 167.08118 -L 129.719546 171.217037 -" style="fill:none;stroke:#519ccc;"/> - <path clip-path="url(#pc9763b54a5)" d="M 129.719546 171.217037 -L 115.463914 174.89784 -" style="fill:none;stroke:#64a9d3;"/> - <path clip-path="url(#pc9763b54a5)" d="M 115.463914 174.89784 -L 101.06681 178.235353 -" style="fill:none;stroke:#7cb7da;"/> - <path clip-path="url(#pc9763b54a5)" d="M 101.06681 178.235353 -L 86.570121 181.305346 -" style="fill:none;stroke:#99c7e0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 86.570121 181.305346 -L 72 184.160502 -" style="fill:none;stroke:#b2d2e8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 72 184.160502 -L 72 184.160502 -" style="fill:none;stroke:#c9ddf0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 72 184.160502 -L 72 184.160502 -" style="fill:none;stroke:#c9ddf0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 222.276261 43.2 -L 223.473845 51.325484 -" style="fill:none;stroke:#084184;"/> - <path clip-path="url(#pc9763b54a5)" d="M 223.473845 51.325484 -L 225.148953 62.889128 -" style="fill:none;stroke:#084387;"/> - <path clip-path="url(#pc9763b54a5)" d="M 225.148953 62.889128 -L 226.738078 74.459911 -" style="fill:none;stroke:#08458a;"/> - <path clip-path="url(#pc9763b54a5)" d="M 226.738078 74.459911 -L 228.171757 86.042303 -" style="fill:none;stroke:#08488e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 228.171757 86.042303 -L 229.338308 97.642085 -" style="fill:none;stroke:#084b93;"/> - <path clip-path="url(#pc9763b54a5)" d="M 229.338308 97.642085 -L 230.042359 109.262779 -" style="fill:none;stroke:#084e98;"/> - <path clip-path="url(#pc9763b54a5)" d="M 230.042359 109.262779 -L 229.925233 120.889532 -" style="fill:none;stroke:#08519c;"/> - <path clip-path="url(#pc9763b54a5)" d="M 229.925233 120.889532 -L 228.800434 130.245802 -" style="fill:none;stroke:#0b559f;"/> - <path clip-path="url(#pc9763b54a5)" d="M 228.800434 130.245802 -L 226.636669 138.164633 -" style="fill:none;stroke:#0e58a2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 226.636669 138.164633 -L 223.134809 145.336612 -" style="fill:none;stroke:#105ba4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 223.134809 145.336612 -L 217.536692 152.325215 -" style="fill:none;stroke:#135fa7;"/> - <path clip-path="url(#pc9763b54a5)" d="M 217.536692 152.325215 -L 210.280295 158.262659 -" style="fill:none;stroke:#1663aa;"/> - <path clip-path="url(#pc9763b54a5)" d="M 210.280295 158.262659 -L 210.280295 158.262659 -" style="fill:none;stroke:#1b69af;"/> - <path clip-path="url(#pc9763b54a5)" d="M 210.280295 158.262659 -L 200.163962 164.065363 -" style="fill:none;stroke:#1b69af;"/> - <path clip-path="url(#pc9763b54a5)" d="M 200.163962 164.065363 -L 200.163962 164.065363 -" style="fill:none;stroke:#2070b4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 200.163962 164.065363 -L 186.994027 169.630854 -" style="fill:none;stroke:#2070b4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 186.994027 169.630854 -L 173.207437 174.244347 -" style="fill:none;stroke:#2b7bba;"/> - <path clip-path="url(#pc9763b54a5)" d="M 173.207437 174.244347 -L 159.097074 178.241366 -" style="fill:none;stroke:#3686c0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 159.097074 178.241366 -L 144.796116 181.815815 -" style="fill:none;stroke:#4493c7;"/> - <path clip-path="url(#pc9763b54a5)" d="M 144.796116 181.815815 -L 130.371904 185.082956 -" style="fill:none;stroke:#549fcd;"/> - <path clip-path="url(#pc9763b54a5)" d="M 130.371904 185.082956 -L 115.861553 188.114428 -" style="fill:none;stroke:#68acd5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 115.861553 188.114428 -L 101.287297 190.957225 -" style="fill:none;stroke:#82bbdb;"/> - <path clip-path="url(#pc9763b54a5)" d="M 101.287297 190.957225 -L 86.663464 193.643826 -" style="fill:none;stroke:#9dcae1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 86.663464 193.643826 -L 72 196.198119 -" style="fill:none;stroke:#b5d4e9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 72 196.198119 -L 72 196.198119 -" style="fill:none;stroke:#cbdef1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 72 196.198119 -L 72 196.198119 -" style="fill:none;stroke:#cbdef1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 280.885761 179.411869 -L 275.763598 176.084257 + <path clip-path="url(#pe144b463bf)" d="M 414.72 244.121179 +L 413.399398 243.990008 +" style="fill:none;stroke:#e4eff9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 413.399398 243.990008 +L 401.483986 242.789026 +" style="fill:none;stroke:#e3eef8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 401.483986 242.789026 +L 389.575031 241.553558 +" style="fill:none;stroke:#d3e4f3;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 389.575031 241.553558 +L 377.672287 240.285105 +" style="fill:none;stroke:#c4daee;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 377.672287 240.285105 +L 365.77536 238.987495 +" style="fill:none;stroke:#aed1e7;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 365.77536 238.987495 +L 353.882879 237.667314 +" style="fill:none;stroke:#99c7e0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 353.882879 237.667314 +L 341.992814 236.3364 +" style="fill:none;stroke:#82bbdb;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 341.992814 236.3364 +L 330.100996 235.014314 +" style="fill:none;stroke:#6caed6;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 330.100996 235.014314 +L 318.201711 233.732998 +" style="fill:none;stroke:#5ca4d0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 318.201711 233.732998 +L 306.285942 232.543537 +" style="fill:none;stroke:#4f9bcb;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 306.285942 232.543537 +L 294.342633 231.525595 +" style="fill:none;stroke:#4493c7;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 294.342633 231.525595 +L 282.365012 230.803789 +" style="fill:none;stroke:#3b8bc2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 282.365012 230.803789 +L 270.35795 230.554283 +" style="fill:none;stroke:#3585bf;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 270.35795 230.554283 +L 258.404408 231.004681 +" style="fill:none;stroke:#3080bd;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 258.404408 231.004681 +L 247.071941 232.315655 +" style="fill:none;stroke:#2d7dbb;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 247.071941 232.315655 +L 235.641894 234.726698 +" style="fill:none;stroke:#2c7cba;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 235.641894 234.726698 +L 224.613044 238.240168 +" style="fill:none;stroke:#2c7cba;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 224.613044 238.240168 +L 214.191217 242.680304 +" style="fill:none;stroke:#2e7ebc;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 214.191217 242.680304 +L 204.372457 247.835909 +" style="fill:none;stroke:#3181bd;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 204.372457 247.835909 +L 195.086583 253.519306 +" style="fill:none;stroke:#3686c0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 195.086583 253.519306 +L 186.250371 259.591014 +" style="fill:none;stroke:#3b8bc2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 186.250371 259.591014 +L 177.788223 265.953278 +" style="fill:none;stroke:#4191c6;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 177.788223 265.953278 +L 169.639185 272.53962 +" style="fill:none;stroke:#4a98c9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 169.639185 272.53962 +L 161.755038 279.303213 +" style="fill:none;stroke:#549fcd;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 161.755038 279.303213 +L 154.098112 286.210528 +" style="fill:none;stroke:#5fa6d1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 154.098112 286.210528 +L 146.639544 293.237566 +" style="fill:none;stroke:#69add5;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 146.639544 293.237566 +L 139.357372 300.366603 +" style="fill:none;stroke:#77b5d9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 139.357372 300.366603 +L 132.233229 307.584 +" style="fill:none;stroke:#85bcdc;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 132.233229 307.584 +L 132.233229 307.584 +" style="fill:none;stroke:#95c5df;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 248.020174 238.501996 +L 236.995255 242.013216 +" style="fill:none;stroke:#2e7ebc;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 236.995255 242.013216 +L 226.661957 246.555487 +" style="fill:none;stroke:#2f7fbc;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 226.661957 246.555487 +L 217.048785 251.916658 +" style="fill:none;stroke:#3181bd;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 217.048785 251.916658 +L 208.095797 257.886044 +" style="fill:none;stroke:#3484bf;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 208.095797 257.886044 +L 199.707155 264.298691 +" style="fill:none;stroke:#3989c1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 199.707155 264.298691 +L 191.7914 271.03914 +" style="fill:none;stroke:#3e8ec4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 191.7914 271.03914 +L 184.271238 278.027994 +" style="fill:none;stroke:#4493c7;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 184.271238 278.027994 +L 177.085593 285.210371 +" style="fill:none;stroke:#4b98ca;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 177.085593 285.210371 +L 170.187275 292.547773 +" style="fill:none;stroke:#549fcd;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 170.187275 292.547773 +L 163.538734 300.012433 +" style="fill:none;stroke:#5da5d1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 163.538734 300.012433 +L 157.110972 307.584 +" style="fill:none;stroke:#66abd4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 157.110972 307.584 +L 157.110972 307.584 +" style="fill:none;stroke:#72b2d8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 157.110972 307.584 +L 157.110972 307.584 +" style="fill:none;stroke:#72b2d8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 355.522315 241.82533 +L 343.562562 240.90808 +" style="fill:none;stroke:#87bddc;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 343.562562 240.90808 +L 331.588785 240.098201 +" style="fill:none;stroke:#72b2d8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 331.588785 240.098201 +L 319.597584 239.462333 +" style="fill:none;stroke:#61a7d2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 319.597584 239.462333 +L 307.588687 239.098618 +" style="fill:none;stroke:#539ecd;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 307.588687 239.098618 +L 295.573885 239.14899 +" style="fill:none;stroke:#4896c8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 295.573885 239.14899 +L 283.598032 239.808495 +" style="fill:none;stroke:#3f8fc5;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 283.598032 239.808495 +L 272.335045 241.220461 +" style="fill:none;stroke:#3989c1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 272.335045 241.220461 +L 261.648407 243.51631 +" style="fill:none;stroke:#3585bf;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 261.648407 243.51631 +L 251.004402 246.975662 +" style="fill:none;stroke:#3282be;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 251.004402 246.975662 +L 240.761875 251.624193 +" style="fill:none;stroke:#3282be;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 240.761875 251.624193 +L 231.350426 257.1758 +" style="fill:none;stroke:#3282be;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 231.350426 257.1758 +L 222.725898 263.404934 +" style="fill:none;stroke:#3585bf;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 222.725898 263.404934 +L 214.782462 270.123312 +" style="fill:none;stroke:#3888c1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 214.782462 270.123312 +L 207.409705 277.196705 +" style="fill:none;stroke:#3c8cc3;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 207.409705 277.196705 +L 200.513136 284.53326 +" style="fill:none;stroke:#4090c5;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 200.513136 284.53326 +L 194.015316 292.07021 +" style="fill:none;stroke:#4695c8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 194.015316 292.07021 +L 187.856163 299.764111 +" style="fill:none;stroke:#4d99ca;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 187.856163 299.764111 +L 181.988715 307.584 +" style="fill:none;stroke:#549fcd;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 181.988715 307.584 +L 181.988715 307.584 +" style="fill:none;stroke:#5ca4d0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 181.988715 307.584 +L 181.988715 307.584 +" style="fill:none;stroke:#5ca4d0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 288.134637 247.34701 +L 277.452918 249.745746 +" style="fill:none;stroke:#3e8ec4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 277.452918 249.745746 +L 267.083922 253.192501 +" style="fill:none;stroke:#3a8ac2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 267.083922 253.192501 +L 256.906794 257.915442 +" style="fill:none;stroke:#3888c1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 256.906794 257.915442 +L 247.638868 263.594116 +" style="fill:none;stroke:#3787c0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 247.638868 263.594116 +L 239.259426 270.003361 +" style="fill:none;stroke:#3888c1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 239.259426 270.003361 +L 231.665905 276.941141 +" style="fill:none;stroke:#3989c1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 231.665905 276.941141 +L 224.733757 284.256496 +" style="fill:none;stroke:#3c8cc3;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 224.733757 284.256496 +L 218.348304 291.845233 +" style="fill:none;stroke:#4090c5;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 218.348304 291.845233 +L 212.416993 299.637137 +" style="fill:none;stroke:#4493c7;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 212.416993 299.637137 +L 206.866458 307.584 +" style="fill:none;stroke:#4a98c9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 206.866458 307.584 +L 206.866458 307.584 +" style="fill:none;stroke:#4f9bcb;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 206.866458 307.584 +L 206.866458 307.584 +" style="fill:none;stroke:#4f9bcb;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 414.72 253.140063 +L 414.27905 253.116187 +" style="fill:none;stroke:#e7f1fa;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 414.27905 253.116187 +L 402.284426 252.494029 +" style="fill:none;stroke:#e7f0fa;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 402.284426 252.494029 +L 390.284037 251.939381 +" style="fill:none;stroke:#d7e6f5;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 390.284037 251.939381 +L 378.276384 251.480544 +" style="fill:none;stroke:#c9ddf0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 378.276384 251.480544 +L 366.260734 251.157277 +" style="fill:none;stroke:#b5d4e9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 366.260734 251.157277 +L 354.239123 251.026097 +" style="fill:none;stroke:#a1cbe2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 354.239123 251.026097 +L 342.218887 251.166186 +" style="fill:none;stroke:#8abfdd;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 342.218887 251.166186 +L 330.220599 251.688106 +" style="fill:none;stroke:#75b4d8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 330.220599 251.688106 +L 318.290129 252.740782 +" style="fill:none;stroke:#65aad4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 318.290129 252.740782 +L 306.521299 254.511316 +" style="fill:none;stroke:#58a1cf;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 306.521299 254.511316 +L 295.597232 257.05209 +" style="fill:none;stroke:#4e9acb;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 295.597232 257.05209 +L 285.21375 260.541151 +" style="fill:none;stroke:#4695c8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 285.21375 260.541151 +L 275.041991 265.272093 +" style="fill:none;stroke:#4191c6;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 275.041991 265.272093 +L 265.802059 270.974549 +" style="fill:none;stroke:#3f8fc5;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 265.802059 270.974549 +L 257.512446 277.445755 +" style="fill:none;stroke:#3e8ec4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 257.512446 277.445755 +L 250.086683 284.481676 +" style="fill:none;stroke:#3f8fc5;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 250.086683 284.481676 +L 243.396993 291.9204 +" style="fill:none;stroke:#4090c5;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 243.396993 291.9204 +L 237.318251 299.647254 +" style="fill:none;stroke:#4292c6;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 237.318251 299.647254 +L 231.744201 307.584 +" style="fill:none;stroke:#4695c8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 231.744201 307.584 +L 231.744201 307.584 +" style="fill:none;stroke:#4a98c9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 231.744201 307.584 +L 231.744201 307.584 +" style="fill:none;stroke:#4a98c9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 289.635775 266.754262 +L 279.891991 271.965214 +" style="fill:none;stroke:#4896c8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 279.891991 271.965214 +L 271.105337 278.056424 +" style="fill:none;stroke:#4493c7;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 271.105337 278.056424 +L 263.25455 284.827858 +" style="fill:none;stroke:#4292c6;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.25455 284.827858 +L 256.23525 292.093535 +" style="fill:none;stroke:#4493c7;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 256.23525 292.093535 +L 249.918128 299.712053 +" style="fill:none;stroke:#4594c7;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 249.918128 299.712053 +L 244.183072 307.584 +" style="fill:none;stroke:#4896c8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 244.183072 307.584 +L 244.183072 307.584 +" style="fill:none;stroke:#4a98c9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 244.183072 307.584 +L 244.183072 307.584 +" style="fill:none;stroke:#4a98c9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 414.72 261.48246 +L 414.461433 261.480012 +" style="fill:none;stroke:#eaf2fb;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 414.461433 261.480012 +L 402.438181 261.440002 +" style="fill:none;stroke:#e9f2fa;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 402.438181 261.440002 +L 390.416624 261.576346 +" style="fill:none;stroke:#d9e8f5;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 390.416624 261.576346 +L 378.404454 261.946478 +" style="fill:none;stroke:#ccdff1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 378.404454 261.946478 +L 366.418441 262.627887 +" style="fill:none;stroke:#bad6eb;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 366.418441 262.627887 +L 354.490398 263.722727 +" style="fill:none;stroke:#a6cee4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 354.490398 263.722727 +L 342.679101 265.361261 +" style="fill:none;stroke:#92c4de;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 342.679101 265.361261 +L 331.085765 267.696272 +" style="fill:none;stroke:#7fb9da;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 331.085765 267.696272 +L 319.870398 270.881601 +" style="fill:none;stroke:#6fb0d7;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 319.870398 270.881601 +L 309.290431 275.00295 +" style="fill:none;stroke:#64a9d3;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 309.290431 275.00295 +L 299.446665 280.11235 +" style="fill:none;stroke:#5ba3d0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 299.446665 280.11235 +L 290.523264 286.092445 +" style="fill:none;stroke:#56a0ce;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 290.523264 286.092445 +L 282.53986 292.775662 +" style="fill:none;stroke:#529dcc;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 282.53986 292.775662 +L 275.424241 299.987828 +" style="fill:none;stroke:#519ccc;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 275.424241 299.987828 +L 269.060815 307.584 +" style="fill:none;stroke:#4f9bcb;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 269.060815 307.584 +L 269.060815 307.584 +" style="fill:none;stroke:#519ccc;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 269.060815 307.584 +L 269.060815 307.584 +" style="fill:none;stroke:#519ccc;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 414.72 268.643702 +L 409.633191 268.842104 +" style="fill:none;stroke:#ecf4fb;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 409.633191 268.842104 +L 397.637904 269.439932 +" style="fill:none;stroke:#e5eff9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 397.637904 269.439932 +L 385.678191 270.344182 +" style="fill:none;stroke:#d6e6f4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 385.678191 270.344182 +L 373.786165 271.643716 +" style="fill:none;stroke:#c9ddf0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 373.786165 271.643716 +L 362.017278 273.44945 +" style="fill:none;stroke:#b7d4ea;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 362.017278 273.44945 +L 350.460399 275.889826 +" style="fill:none;stroke:#a5cde3;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 350.460399 275.889826 +L 339.251227 279.096586 +" style="fill:none;stroke:#94c4df;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 339.251227 279.096586 +L 328.566986 283.171611 +" style="fill:none;stroke:#82bbdb;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 328.566986 283.171611 +L 318.595875 288.14703 +" style="fill:none;stroke:#75b4d8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 318.595875 288.14703 +L 309.479597 293.964587 +" style="fill:none;stroke:#6aaed6;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 309.479597 293.964587 +L 301.272265 300.495001 +" style="fill:none;stroke:#65aad4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 301.272265 300.495001 +L 293.938558 307.584 +" style="fill:none;stroke:#61a7d2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 293.938558 307.584 +L 293.938558 307.584 +" style="fill:none;stroke:#5fa6d1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 293.938558 307.584 +L 293.938558 307.584 +" style="fill:none;stroke:#5fa6d1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 343.09007 284.94346 +L 332.694381 289.413679 +" style="fill:none;stroke:#8cc0dd;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 332.694381 289.413679 +L 323.051491 294.738916 +" style="fill:none;stroke:#7fb9da;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 323.051491 294.738916 +L 314.271342 300.839554 +" style="fill:none;stroke:#74b3d8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 314.271342 300.839554 +L 306.377429 307.584 +" style="fill:none;stroke:#6dafd7;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 306.377429 307.584 +L 306.377429 307.584 +" style="fill:none;stroke:#69add5;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 306.377429 307.584 +L 306.377429 307.584 +" style="fill:none;stroke:#69add5;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 406.420507 281.797826 +L 394.628704 283.531956 +" style="fill:none;stroke:#e5eff9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 394.628704 283.531956 +L 382.993705 285.771702 +" style="fill:none;stroke:#d7e6f5;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 382.993705 285.771702 +L 371.605595 288.622665 +" style="fill:none;stroke:#cadef0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 371.605595 288.622665 +L 360.588835 292.185553 +" style="fill:none;stroke:#bcd7eb;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 360.588835 292.185553 +L 350.094506 296.532347 +" style="fill:none;stroke:#add0e6;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 350.094506 296.532347 +L 340.277642 301.681328 +" style="fill:none;stroke:#9fcae1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 340.277642 301.681328 +L 331.255172 307.584 +" style="fill:none;stroke:#92c4de;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 331.255172 307.584 +L 331.255172 307.584 +" style="fill:none;stroke:#87bddc;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 414.72 289.178691 +L 410.826344 289.85037 +" style="fill:none;stroke:#f2f7fd;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 410.826344 289.85037 +L 399.20075 292.119307 +" style="fill:none;stroke:#edf4fc;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 399.20075 292.119307 +L 387.80122 294.948183 +" style="fill:none;stroke:#dfebf7;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 387.80122 294.948183 +L 376.734238 298.427617 +" style="fill:none;stroke:#d3e3f3;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 376.734238 298.427617 +L 366.131496 302.629114 +" style="fill:none;stroke:#c8dcf0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 366.131496 302.629114 +L 356.132915 307.584 +" style="fill:none;stroke:#b9d6ea;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 356.132915 307.584 +L 356.132915 307.584 +" style="fill:none;stroke:#add0e6;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 414.72 297.347768 +L 414.305448 297.437245 +" style="fill:none;stroke:#f5f9fe;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 414.305448 297.437245 +L 402.874832 300.199626 +" style="fill:none;stroke:#f4f9fe;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 402.874832 300.199626 +L 391.738546 303.55831 +" style="fill:none;stroke:#e6f0f9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 391.738546 303.55831 +L 381.010658 307.584 +" style="fill:none;stroke:#d9e8f5;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 381.010658 307.584 +L 381.010658 307.584 +" style="fill:none;stroke:#cfe1f2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 80.308788 41.472 +L 78.167065 44.661108 +" style="fill:none;stroke:#5da5d1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 78.167065 44.661108 +L 72.300672 52.469972 +" style="fill:none;stroke:#63a8d3;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 72.300672 52.469972 +L 65.435757 59.81099 +" style="fill:none;stroke:#74b3d8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 65.435757 59.81099 +L 57.6 66.590897 +" style="fill:none;stroke:#8abfdd;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 57.6 66.590897 +L 57.6 66.590897 +" style="fill:none;stroke:#a3cce3;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 57.6 66.590897 +L 57.6 66.590897 +" style="fill:none;stroke:#a3cce3;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 98.265411 41.472 +L 98.131292 41.775428 +" style="fill:none;stroke:#3d8dc4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 98.131292 41.775428 +L 93.924875 50.160327 +" style="fill:none;stroke:#3d8dc4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 93.924875 50.160327 +L 88.741286 58.232056 +" style="fill:none;stroke:#4896c8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 88.741286 58.232056 +L 82.486487 65.868039 +" style="fill:none;stroke:#56a0ce;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 82.486487 65.868039 +L 75.145782 72.945712 +" style="fill:none;stroke:#65aad4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 75.145782 72.945712 +L 66.798895 79.376149 +" style="fill:none;stroke:#7ab6d9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 66.798895 79.376149 +L 57.6 85.128828 +" style="fill:none;stroke:#92c4de;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 57.6 85.128828 +L 57.6 85.128828 +" style="fill:none;stroke:#abd0e6;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 57.6 85.128828 +L 57.6 85.128828 +" style="fill:none;stroke:#abd0e6;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 91.7211 69.593104 +L 84.648061 76.817967 +" style="fill:none;stroke:#56a0ce;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 84.648061 76.817967 +L 76.49065 83.378856 +" style="fill:none;stroke:#66abd4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 76.49065 83.378856 +L 67.408353 89.230856 +" style="fill:none;stroke:#7cb7da;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 67.408353 89.230856 +L 57.6 94.397793 +" style="fill:none;stroke:#97c6df;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 57.6 94.397793 +L 57.6 94.397793 +" style="fill:none;stroke:#afd1e7;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 57.6 94.397793 +L 57.6 94.397793 +" style="fill:none;stroke:#afd1e7;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 126.977463 41.472 +L 126.173872 45.207407 +" style="fill:none;stroke:#1c6ab0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 126.173872 45.207407 +L 123.929364 54.004923 +" style="fill:none;stroke:#1d6cb1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 123.929364 54.004923 +L 120.883947 62.664318 +" style="fill:none;stroke:#2272b6;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 120.883947 62.664318 +L 116.831926 71.086972 +" style="fill:none;stroke:#2a7ab9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 116.831926 71.086972 +L 111.668087 79.010018 +" style="fill:none;stroke:#3181bd;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 111.668087 79.010018 +L 105.19712 86.425901 +" style="fill:none;stroke:#3b8bc2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 105.19712 86.425901 +L 97.385313 93.210009 +" style="fill:none;stroke:#4695c8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 97.385313 93.210009 +L 88.476886 99.202215 +" style="fill:none;stroke:#57a0ce;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 88.476886 99.202215 +L 78.725807 104.424132 +" style="fill:none;stroke:#6aaed6;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 78.725807 104.424132 +L 68.371776 108.964823 +" style="fill:none;stroke:#84bcdb;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 68.371776 108.964823 +L 57.6 112.935724 +" style="fill:none;stroke:#a0cbe2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 57.6 112.935724 +L 57.6 112.935724 +" style="fill:none;stroke:#b9d6ea;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 57.6 112.935724 +L 57.6 112.935724 +" style="fill:none;stroke:#b9d6ea;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 133.452966 60.277734 +L 130.761323 69.001976 +" style="fill:none;stroke:#1c6bb0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 130.761323 69.001976 +L 127.029135 77.504683 +" style="fill:none;stroke:#2171b5;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 127.029135 77.504683 +L 122.325628 85.199645 +" style="fill:none;stroke:#2979b9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 122.325628 85.199645 +L 116.325738 92.401004 +" style="fill:none;stroke:#3181bd;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 116.325738 92.401004 +L 108.632136 99.254299 +" style="fill:none;stroke:#3a8ac2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 108.632136 99.254299 +L 99.740468 105.256347 +" style="fill:none;stroke:#4896c8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 99.740468 105.256347 +L 89.950617 110.436273 +" style="fill:none;stroke:#5aa2cf;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 89.950617 110.436273 +L 79.539503 114.902995 +" style="fill:none;stroke:#6dafd7;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 79.539503 114.902995 +L 68.710834 118.786639 +" style="fill:none;stroke:#89bedc;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 68.710834 118.786639 +L 57.6 122.20469 +" style="fill:none;stroke:#a4cce3;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 57.6 122.20469 +L 57.6 122.20469 +" style="fill:none;stroke:#bdd7ec;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 57.6 122.20469 +L 57.6 122.20469 +" style="fill:none;stroke:#bdd7ec;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 146.643688 41.472 +L 146.638411 41.612122 +" style="fill:none;stroke:#0d57a1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 146.638411 41.612122 +L 146.119551 50.562135 +" style="fill:none;stroke:#0d57a1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 146.119551 50.562135 +L 145.158872 59.490636 +" style="fill:none;stroke:#105ba4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 145.158872 59.490636 +L 143.590618 68.369151 +" style="fill:none;stroke:#135fa7;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 143.590618 68.369151 +L 141.188514 77.139498 +" style="fill:none;stroke:#1764ab;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 141.188514 77.139498 +L 137.861578 85.29207 +" style="fill:none;stroke:#1c6ab0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 137.861578 85.29207 +L 133.558641 92.653849 +" style="fill:none;stroke:#2070b4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 133.558641 92.653849 +L 127.941329 99.549811 +" style="fill:none;stroke:#2777b8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 127.941329 99.549811 +L 120.464332 106.219188 +" style="fill:none;stroke:#3080bd;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 120.464332 106.219188 +L 111.496365 112.153597 +" style="fill:none;stroke:#3b8bc2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 111.496365 112.153597 +L 101.591355 117.208489 +" style="fill:none;stroke:#4a98c9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 101.591355 117.208489 +L 91.06795 121.526228 +" style="fill:none;stroke:#5ca4d0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 91.06795 121.526228 +L 80.145054 125.261365 +" style="fill:none;stroke:#72b2d8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 80.145054 125.261365 +L 68.960925 128.544125 +" style="fill:none;stroke:#8dc1dd;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 68.960925 128.544125 +L 57.6 131.473655 +" style="fill:none;stroke:#a9cfe5;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 57.6 131.473655 +L 57.6 131.473655 +" style="fill:none;stroke:#c2d9ee;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 57.6 131.473655 +L 57.6 131.473655 +" style="fill:none;stroke:#c2d9ee;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 156.629887 41.472 +L 156.653985 42.318312 +" style="fill:none;stroke:#084f99;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 156.653985 42.318312 +L 156.785082 51.276796 +" style="fill:none;stroke:#084f99;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 156.785082 51.276796 +L 156.609914 60.234216 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 156.609914 60.234216 +L 155.999133 69.179708 +" style="fill:none;stroke:#0c56a0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 155.999133 69.179708 +L 154.761997 78.086606 +" style="fill:none;stroke:#0f5aa3;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 154.761997 78.086606 +L 152.63345 86.852389 +" style="fill:none;stroke:#125ea6;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 152.63345 86.852389 +L 149.689317 94.474662 +" style="fill:none;stroke:#1764ab;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 149.689317 94.474662 +L 145.738254 101.365923 +" style="fill:none;stroke:#1b69af;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 145.738254 101.365923 +L 140.381631 107.878882 +" style="fill:none;stroke:#206fb4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 140.381631 107.878882 +L 132.952523 114.26553 +" style="fill:none;stroke:#2676b8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 132.952523 114.26553 +L 123.752273 119.995228 +" style="fill:none;stroke:#3181bd;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 123.752273 119.995228 +L 113.619557 124.793163 +" style="fill:none;stroke:#3d8dc4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 113.619557 124.793163 +L 102.913791 128.856129 +" style="fill:none;stroke:#4d99ca;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 102.913791 128.856129 +L 91.855491 132.364146 +" style="fill:none;stroke:#60a7d2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 91.855491 132.364146 +L 80.57178 135.453706 +" style="fill:none;stroke:#77b5d9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 80.57178 135.453706 +L 69.138047 138.223206 +" style="fill:none;stroke:#92c4de;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 69.138047 138.223206 +L 57.6 140.742621 +" style="fill:none;stroke:#add0e6;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 57.6 140.742621 +L 57.6 140.742621 +" style="fill:none;stroke:#c6dbef;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 57.6 140.742621 +L 57.6 140.742621 +" style="fill:none;stroke:#c6dbef;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 166.82659 41.472 +L 167.194666 45.670067 +" style="fill:none;stroke:#08488e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 167.194666 45.670067 +L 167.900964 54.614019 +" style="fill:none;stroke:#084990;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 167.900964 54.614019 +L 168.409918 63.565072 +" style="fill:none;stroke:#084c95;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 168.409918 63.565072 +L 168.622804 72.522045 +" style="fill:none;stroke:#084f99;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 168.622804 72.522045 +L 168.384408 81.476976 +" style="fill:none;stroke:#09529d;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 168.384408 81.476976 +L 167.447435 90.402104 +" style="fill:none;stroke:#0c56a0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 167.447435 90.402104 +L 165.708082 98.300039 +" style="fill:none;stroke:#0f5aa3;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 165.708082 98.300039 +L 163.12354 105.153387 +" style="fill:none;stroke:#125ea6;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 163.12354 105.153387 +L 159.445178 111.409157 +" style="fill:none;stroke:#1663aa;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 159.445178 111.409157 +L 154.103018 117.478594 +" style="fill:none;stroke:#1a68ae;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 154.103018 117.478594 +L 146.165427 123.59446 +" style="fill:none;stroke:#1f6eb3;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 146.165427 123.59446 +L 136.47987 128.86105 +" style="fill:none;stroke:#2777b8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 136.47987 128.86105 +L 125.975006 133.196552 +" style="fill:none;stroke:#3383be;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 125.975006 133.196552 +L 115.010401 136.860509 +" style="fill:none;stroke:#3f8fc5;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 115.010401 136.860509 +L 103.775637 140.045119 +" style="fill:none;stroke:#519ccc;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 103.775637 140.045119 +L 92.371131 142.879337 +" style="fill:none;stroke:#64a9d3;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 92.371131 142.879337 +L 80.853448 145.449222 +" style="fill:none;stroke:#7cb7da;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 80.853448 145.449222 +L 69.256097 147.813117 +" style="fill:none;stroke:#99c7e0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 69.256097 147.813117 +L 57.6 150.011586 +" style="fill:none;stroke:#b2d2e8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 57.6 150.011586 +L 57.6 150.011586 +" style="fill:none;stroke:#c9ddf0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 57.6 150.011586 +L 57.6 150.011586 +" style="fill:none;stroke:#c9ddf0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 178.779076 47.728623 +L 180.119163 56.632628 +" style="fill:none;stroke:#084387;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 180.119163 56.632628 +L 181.390463 65.542131 +" style="fill:none;stroke:#08458a;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 181.390463 65.542131 +L 182.537406 74.460573 +" style="fill:none;stroke:#08488e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 182.537406 74.460573 +L 183.470646 83.392405 +" style="fill:none;stroke:#084b93;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 183.470646 83.392405 +L 184.033887 92.34034 +" style="fill:none;stroke:#084e98;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 184.033887 92.34034 +L 183.940186 101.292939 +" style="fill:none;stroke:#08519c;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 183.940186 101.292939 +L 183.040347 108.497267 +" style="fill:none;stroke:#0b559f;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 183.040347 108.497267 +L 181.309335 114.594767 +" style="fill:none;stroke:#0e58a2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 181.309335 114.594767 +L 178.507847 120.117192 +" style="fill:none;stroke:#105ba4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 178.507847 120.117192 +L 174.029354 125.498415 +" style="fill:none;stroke:#135fa7;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 174.029354 125.498415 +L 168.224236 130.070247 +" style="fill:none;stroke:#1663aa;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 168.224236 130.070247 +L 168.224236 130.070247 +" style="fill:none;stroke:#1b69af;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 168.224236 130.070247 +L 160.13117 134.538329 +" style="fill:none;stroke:#1b69af;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 160.13117 134.538329 +L 160.13117 134.538329 +" style="fill:none;stroke:#2070b4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 160.13117 134.538329 +L 149.595222 138.823757 +" style="fill:none;stroke:#2070b4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 149.595222 138.823757 +L 138.565949 142.376147 +" style="fill:none;stroke:#2b7bba;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 138.565949 142.376147 +L 127.27766 145.453852 +" style="fill:none;stroke:#3686c0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 127.27766 145.453852 +L 115.836893 148.206178 +" style="fill:none;stroke:#4493c7;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 115.836893 148.206178 +L 104.297523 150.721876 +" style="fill:none;stroke:#549fcd;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 104.297523 150.721876 +L 92.689242 153.056109 +" style="fill:none;stroke:#68acd5;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 92.689242 153.056109 +L 81.029838 155.245064 +" style="fill:none;stroke:#82bbdb;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 81.029838 155.245064 +L 69.330771 157.313746 +" style="fill:none;stroke:#9dcae1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 69.330771 157.313746 +L 57.6 159.280552 +" style="fill:none;stroke:#b5d4e9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 57.6 159.280552 +L 57.6 159.280552 +" style="fill:none;stroke:#cbdef1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 57.6 159.280552 +L 57.6 159.280552 +" style="fill:none;stroke:#cbdef1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 224.708609 146.355139 +L 220.610879 143.792878 " style="fill:none;"/> - <path clip-path="url(#pc9763b54a5)" d="M 275.763598 176.084257 -L 268.971528 173.657875 -" style="fill:none;stroke:#0e59a2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 268.971528 173.657875 -L 261.792079 173.039157 -" style="fill:none;stroke:#0e59a2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 261.792079 173.039157 -L 261.792079 173.039157 -" style="fill:none;stroke:#0f5aa3;"/> - <path clip-path="url(#pc9763b54a5)" d="M 261.792079 173.039157 -L 247.003215 174.745539 -" style="fill:none;stroke:#0f5aa3;"/> - <path clip-path="url(#pc9763b54a5)" d="M 247.003215 174.745539 -L 232.472819 177.633289 -" style="fill:none;stroke:#135fa7;"/> - <path clip-path="url(#pc9763b54a5)" d="M 232.472819 177.633289 -L 218.005476 180.756499 -" style="fill:none;stroke:#1764ab;"/> - <path clip-path="url(#pc9763b54a5)" d="M 218.005476 180.756499 -L 203.533428 183.885527 -" style="fill:none;stroke:#1d6cb1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 203.533428 183.885527 -L 189.035547 186.949952 -" style="fill:none;stroke:#2474b7;"/> - <path clip-path="url(#pc9763b54a5)" d="M 189.035547 186.949952 -L 174.505615 189.925572 -" style="fill:none;stroke:#2f7fbc;"/> - <path clip-path="url(#pc9763b54a5)" d="M 174.505615 189.925572 -L 159.943581 192.806549 -" style="fill:none;stroke:#3a8ac2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 159.943581 192.806549 -L 145.351246 195.593988 -" style="fill:none;stroke:#4896c8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 145.351246 195.593988 -L 130.730318 198.290297 -" style="fill:none;stroke:#5aa2cf;"/> - <path clip-path="url(#pc9763b54a5)" d="M 130.730318 198.290297 -L 116.082584 200.898301 -" style="fill:none;stroke:#6dafd7;"/> - <path clip-path="url(#pc9763b54a5)" d="M 116.082584 200.898301 -L 101.410141 203.421923 -" style="fill:none;stroke:#87bddc;"/> - <path clip-path="url(#pc9763b54a5)" d="M 101.410141 203.421923 -L 86.715301 205.86627 -" style="fill:none;stroke:#a3cce3;"/> - <path clip-path="url(#pc9763b54a5)" d="M 86.715301 205.86627 -L 72 208.235737 -" style="fill:none;stroke:#bad6eb;"/> - <path clip-path="url(#pc9763b54a5)" d="M 72 208.235737 -L 72 208.235737 -" style="fill:none;stroke:#cee0f2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 72 208.235737 -L 72 208.235737 -" style="fill:none;stroke:#cee0f2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 234.633779 198.88365 -L 219.635737 198.853563 -" style="fill:none;stroke:#1c6ab0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 219.635737 198.853563 -L 204.688274 199.992821 -" style="fill:none;stroke:#2070b4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 204.688274 199.992821 -L 189.836573 201.764266 -" style="fill:none;stroke:#2979b9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 189.836573 201.764266 -L 175.055189 203.869091 -" style="fill:none;stroke:#3383be;"/> - <path clip-path="url(#pc9763b54a5)" d="M 175.055189 203.869091 -L 160.315638 206.145698 -" style="fill:none;stroke:#3e8ec4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 160.315638 206.145698 -L 145.597721 208.505287 -" style="fill:none;stroke:#4d99ca;"/> - <path clip-path="url(#pc9763b54a5)" d="M 145.597721 208.505287 -L 130.887491 210.8938 -" style="fill:none;stroke:#5da5d1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 130.887491 210.8938 -L 116.176723 213.280404 -" style="fill:none;stroke:#72b2d8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 116.176723 213.280404 -L 101.460466 215.6466 -" style="fill:none;stroke:#8dc1dd;"/> - <path clip-path="url(#pc9763b54a5)" d="M 101.460466 215.6466 -L 86.735436 217.979837 -" style="fill:none;stroke:#a6cee4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 86.735436 217.979837 -L 72 220.273354 -" style="fill:none;stroke:#bed8ec;"/> - <path clip-path="url(#pc9763b54a5)" d="M 72 220.273354 -L 72 220.273354 -" style="fill:none;stroke:#d1e2f3;"/> - <path clip-path="url(#pc9763b54a5)" d="M 72 220.273354 -L 72 220.273354 -" style="fill:none;stroke:#d1e2f3;"/> - <path clip-path="url(#pc9763b54a5)" d="M 234.938269 213.364843 -L 219.960339 212.736006 -" style="fill:none;stroke:#1f6eb3;"/> - <path clip-path="url(#pc9763b54a5)" d="M 219.960339 212.736006 -L 204.960801 213.301501 -" style="fill:none;stroke:#2474b7;"/> - <path clip-path="url(#pc9763b54a5)" d="M 204.960801 213.301501 -L 190.032843 214.623553 -" style="fill:none;stroke:#2d7dbb;"/> - <path clip-path="url(#pc9763b54a5)" d="M 190.032843 214.623553 -L 175.181225 216.4035 -" style="fill:none;stroke:#3686c0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 175.181225 216.4035 -L 160.387241 218.456146 -" style="fill:none;stroke:#4191c6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 160.387241 218.456146 -L 145.630624 220.66579 -" style="fill:none;stroke:#519ccc;"/> - <path clip-path="url(#pc9763b54a5)" d="M 145.630624 220.66579 -L 130.896016 222.962367 -" style="fill:none;stroke:#63a8d3;"/> - <path clip-path="url(#pc9763b54a5)" d="M 130.896016 222.962367 -L 116.172145 225.300045 -" style="fill:none;stroke:#79b5d9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 116.172145 225.300045 -L 101.451224 227.648857 -" style="fill:none;stroke:#92c4de;"/> - <path clip-path="url(#pc9763b54a5)" d="M 101.451224 227.648857 -L 86.728311 229.990149 -" style="fill:none;stroke:#abd0e6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 86.728311 229.990149 -L 72 232.310972 -" style="fill:none;stroke:#c3daee;"/> - <path clip-path="url(#pc9763b54a5)" d="M 72 232.310972 -L 72 232.310972 -" style="fill:none;stroke:#d3e4f3;"/> - <path clip-path="url(#pc9763b54a5)" d="M 72 232.310972 -L 72 232.310972 -" style="fill:none;stroke:#d3e4f3;"/> - <path clip-path="url(#pc9763b54a5)" d="M 175.020493 227.839146 -L 160.23519 229.928246 -" style="fill:none;stroke:#4695c8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 160.23519 229.928246 -L 145.49335 232.195885 -" style="fill:none;stroke:#56a0ce;"/> - <path clip-path="url(#pc9763b54a5)" d="M 145.49335 232.195885 -L 130.778867 234.568363 -" style="fill:none;stroke:#68acd5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 130.778867 234.568363 -L 116.079872 236.997926 -" style="fill:none;stroke:#7fb9da;"/> - <path clip-path="url(#pc9763b54a5)" d="M 116.079872 236.997926 -L 101.387509 239.451468 -" style="fill:none;stroke:#99c7e0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 101.387509 239.451468 -L 86.695555 241.906514 -" style="fill:none;stroke:#afd1e7;"/> - <path clip-path="url(#pc9763b54a5)" d="M 86.695555 241.906514 -L 72 244.348589 -" style="fill:none;stroke:#c7dbef;"/> - <path clip-path="url(#pc9763b54a5)" d="M 72 244.348589 -L 72 244.348589 -" style="fill:none;stroke:#d6e6f4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 72 244.348589 -L 72 244.348589 -" style="fill:none;stroke:#d6e6f4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 234.275977 233.809863 -L 219.263966 233.832896 -" style="fill:none;stroke:#2474b7;"/> - <path clip-path="url(#pc9763b54a5)" d="M 219.263966 233.832896 -L 204.293892 234.788195 -" style="fill:none;stroke:#2c7cba;"/> - <path clip-path="url(#pc9763b54a5)" d="M 204.293892 234.788195 -L 189.411031 236.390352 -" style="fill:none;stroke:#3484bf;"/> - <path clip-path="url(#pc9763b54a5)" d="M 189.411031 236.390352 -L 174.612732 238.419214 -" style="fill:none;stroke:#3d8dc4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 174.612732 238.419214 -L 159.880702 240.722848 -" style="fill:none;stroke:#4a98c9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 159.880702 240.722848 -L 145.195082 243.199253 -" style="fill:none;stroke:#5aa2cf;"/> - <path clip-path="url(#pc9763b54a5)" d="M 145.195082 243.199253 -L 130.538756 245.778378 -" style="fill:none;stroke:#6caed6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 130.538756 245.778378 -L 115.899088 248.413872 -" style="fill:none;stroke:#84bcdb;"/> - <path clip-path="url(#pc9763b54a5)" d="M 115.899088 248.413872 -L 101.26696 251.074283 -" style="fill:none;stroke:#9dcae1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 101.26696 251.074283 -L 86.635544 253.737014 -" style="fill:none;stroke:#b4d3e9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 86.635544 253.737014 -L 72 256.386207 -" style="fill:none;stroke:#caddf0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 72 256.386207 -L 72 256.386207 -" style="fill:none;stroke:#d9e7f5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 72 256.386207 -L 72 256.386207 -" style="fill:none;stroke:#d9e7f5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 159.318693 250.977318 -L 144.728366 253.770828 -" style="fill:none;stroke:#5fa6d1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 144.728366 253.770828 -L 130.167588 256.655936 -" style="fill:none;stroke:#72b2d8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 130.167588 256.655936 -L 115.622724 259.589184 -" style="fill:none;stroke:#8abfdd;"/> - <path clip-path="url(#pc9763b54a5)" d="M 115.622724 259.589184 -L 101.084133 262.541064 -" style="fill:none;stroke:#a3cce3;"/> - <path clip-path="url(#pc9763b54a5)" d="M 101.084133 262.541064 -L 86.544937 265.490985 -" style="fill:none;stroke:#b9d6ea;"/> - <path clip-path="url(#pc9763b54a5)" d="M 86.544937 265.490985 -L 72 268.423824 -" style="fill:none;stroke:#cddff1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 72 268.423824 -L 72 268.423824 -" style="fill:none;stroke:#dce9f6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 72 268.423824 -L 72 268.423824 -" style="fill:none;stroke:#dce9f6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 405.147379 284.003223 -L 390.589943 281.111588 -" style="fill:none;stroke:#529dcc;"/> - <path clip-path="url(#pc9763b54a5)" d="M 390.589943 281.111588 -L 376.098315 278.03253 -" style="fill:none;stroke:#4594c7;"/> - <path clip-path="url(#pc9763b54a5)" d="M 376.098315 278.03253 -L 361.676188 274.766653 -" style="fill:none;stroke:#3b8bc2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 361.676188 274.766653 -L 347.319564 271.33383 -" style="fill:none;stroke:#3484bf;"/> - <path clip-path="url(#pc9763b54a5)" d="M 347.319564 271.33383 -L 333.009336 267.787799 -" style="fill:none;stroke:#2d7dbb;"/> - <path clip-path="url(#pc9763b54a5)" d="M 333.009336 267.787799 -L 318.702548 264.235413 -" style="fill:none;stroke:#2777b8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 318.702548 264.235413 -L 304.328182 260.85706 -" style="fill:none;stroke:#2474b7;"/> - <path clip-path="url(#pc9763b54a5)" d="M 304.328182 260.85706 -L 289.799645 257.918147 -" style="fill:none;stroke:#2171b5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 289.799645 257.918147 -L 275.055771 255.741393 -" style="fill:none;stroke:#2070b4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 275.055771 255.741393 -L 260.123625 254.619559 -" style="fill:none;stroke:#2171b5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 260.123625 254.619559 -L 245.119729 254.675043 -" style="fill:none;stroke:#2373b6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 245.119729 254.675043 -L 230.178544 255.81292 -" style="fill:none;stroke:#2777b8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 230.178544 255.81292 -L 215.381184 257.811341 -" style="fill:none;stroke:#2e7ebc;"/> - <path clip-path="url(#pc9763b54a5)" d="M 215.381184 257.811341 -L 200.742061 260.431654 -" style="fill:none;stroke:#3585bf;"/> - <path clip-path="url(#pc9763b54a5)" d="M 200.742061 260.431654 -L 186.238462 263.47838 -" style="fill:none;stroke:#3d8dc4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 186.238462 263.47838 -L 171.838217 266.809568 -" style="fill:none;stroke:#4997c9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 171.838217 266.809568 -L 157.510715 270.325118 -" style="fill:none;stroke:#58a1cf;"/> - <path clip-path="url(#pc9763b54a5)" d="M 157.510715 270.325118 -L 143.2305 273.954593 -" style="fill:none;stroke:#68acd5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 143.2305 273.954593 -L 128.97782 277.648422 -" style="fill:none;stroke:#7db8da;"/> - <path clip-path="url(#pc9763b54a5)" d="M 128.97782 277.648422 -L 114.737913 281.371604 -" style="fill:none;stroke:#95c5df;"/> - <path clip-path="url(#pc9763b54a5)" d="M 114.737913 281.371604 -L 100.499886 285.099034 -" style="fill:none;stroke:#abd0e6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 100.499886 285.099034 -L 86.255811 288.812574 -" style="fill:none;stroke:#c2d9ee;"/> - <path clip-path="url(#pc9763b54a5)" d="M 86.255811 288.812574 -L 72 292.49906 -" style="fill:none;stroke:#d2e3f3;"/> - <path clip-path="url(#pc9763b54a5)" d="M 72 292.49906 -L 72 292.49906 -" style="fill:none;stroke:#e1edf8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 72 292.49906 -L 72 292.49906 -" style="fill:none;stroke:#e1edf8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 170.34983 275.610212 -L 156.239662 279.617265 -" style="fill:none;stroke:#5ca4d0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 156.239662 279.617265 -L 142.17567 283.721306 -" style="fill:none;stroke:#6dafd7;"/> - <path clip-path="url(#pc9763b54a5)" d="M 142.17567 283.721306 -L 128.137708 287.878851 -" style="fill:none;stroke:#84bcdb;"/> - <path clip-path="url(#pc9763b54a5)" d="M 128.137708 287.878851 -L 114.111058 292.059093 -" style="fill:none;stroke:#9cc9e1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 114.111058 292.059093 -L 100.08454 296.239386 -" style="fill:none;stroke:#b0d2e7;"/> - <path clip-path="url(#pc9763b54a5)" d="M 100.08454 296.239386 -L 86.04959 300.40275 -" style="fill:none;stroke:#c7dbef;"/> - <path clip-path="url(#pc9763b54a5)" d="M 86.04959 300.40275 -L 72 304.536677 -" style="fill:none;stroke:#d5e5f4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 72 304.536677 -L 72 304.536677 -" style="fill:none;stroke:#e4eff9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 72 304.536677 -L 72 304.536677 -" style="fill:none;stroke:#e4eff9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 401.00532 353.789459 -L 388.686714 360.414105 -" style="fill:none;stroke:#69add5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 388.686714 360.414105 -L 377.47866 368.135428 -" style="fill:none;stroke:#61a7d2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 377.47866 368.135428 -L 367.423197 376.762382 -" style="fill:none;stroke:#5da5d1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 367.423197 376.762382 -L 358.452969 386.08498 -" style="fill:none;stroke:#5aa2cf;"/> - <path clip-path="url(#pc9763b54a5)" d="M 358.452969 386.08498 -L 358.452969 386.08498 -" style="fill:none;stroke:#58a1cf;"/> - <path clip-path="url(#pc9763b54a5)" d="M 358.452969 386.08498 -L 356.189289 388.716856 -" style="fill:none;stroke:#58a1cf;"/> - <path clip-path="url(#pc9763b54a5)" d="M 356.189289 388.716856 -L 356.189289 388.716856 -" style="fill:none;stroke:#58a1cf;"/> - <path clip-path="url(#pc9763b54a5)" d="M 356.189289 388.716856 -L 356.189289 388.716856 -" style="fill:none;stroke:#58a1cf;"/> - <path clip-path="url(#pc9763b54a5)" d="M 518.4 294.204076 -L 507.360502 292.49906 -" style="fill:none;stroke:#e1edf8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 507.360502 292.49906 -L 492.641538 290.145865 -" style="fill:none;stroke:#d6e5f4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 492.641538 290.145865 -L 477.969402 287.623296 -" style="fill:none;stroke:#c7dcef;"/> - <path clip-path="url(#pc9763b54a5)" d="M 477.969402 287.623296 -L 463.355663 284.905859 -" style="fill:none;stroke:#b2d2e8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 463.355663 284.905859 -L 448.815567 281.963132 -" style="fill:none;stroke:#9cc9e1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 448.815567 281.963132 -L 434.369249 278.757117 -" style="fill:none;stroke:#84bcdb;"/> - <path clip-path="url(#pc9763b54a5)" d="M 434.369249 278.757117 -L 420.043788 275.242743 -" style="fill:none;stroke:#6dafd7;"/> - <path clip-path="url(#pc9763b54a5)" d="M 420.043788 275.242743 -L 405.875413 271.367355 -" style="fill:none;stroke:#5ca4d0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 405.875413 271.367355 -L 391.911715 267.071196 -" style="fill:none;stroke:#4e9acb;"/> - <path clip-path="url(#pc9763b54a5)" d="M 391.911715 267.071196 -L 378.213926 262.290718 -" style="fill:none;stroke:#4191c6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 378.213926 262.290718 -L 364.857174 256.966471 -" style="fill:none;stroke:#3888c1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 364.857174 256.966471 -L 351.925244 251.048949 -" style="fill:none;stroke:#3080bd;"/> - <path clip-path="url(#pc9763b54a5)" d="M 518.4 282.628233 -L 507.360502 280.461442 -" style="fill:none;stroke:#dfebf7;"/> - <path clip-path="url(#pc9763b54a5)" d="M 507.360502 280.461442 -L 492.830327 277.487452 -" style="fill:none;stroke:#d3e4f3;"/> - <path clip-path="url(#pc9763b54a5)" d="M 492.830327 277.487452 -L 478.390432 274.261773 -" style="fill:none;stroke:#c3daee;"/> - <path clip-path="url(#pc9763b54a5)" d="M 478.390432 274.261773 -L 464.064901 270.744898 -" style="fill:none;stroke:#add0e6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 464.064901 270.744898 -L 449.885447 266.890652 -" style="fill:none;stroke:#97c6df;"/> - <path clip-path="url(#pc9763b54a5)" d="M 449.885447 266.890652 -L 435.893798 262.646208 -" style="fill:none;stroke:#7fb9da;"/> - <path clip-path="url(#pc9763b54a5)" d="M 435.893798 262.646208 -L 422.144198 257.954071 -" style="fill:none;stroke:#69add5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 422.144198 257.954071 -L 408.705995 252.751458 -" style="fill:none;stroke:#58a1cf;"/> - <path clip-path="url(#pc9763b54a5)" d="M 408.705995 252.751458 -L 395.664202 246.977886 -" style="fill:none;stroke:#4997c9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 395.664202 246.977886 -L 383.117244 240.583451 -" style="fill:none;stroke:#3d8dc4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 383.117244 240.583451 -L 371.169596 233.536281 -" style="fill:none;stroke:#3484bf;"/> - <path clip-path="url(#pc9763b54a5)" d="M 371.169596 233.536281 -L 359.919237 225.833044 -" style="fill:none;stroke:#2c7cba;"/> - <path clip-path="url(#pc9763b54a5)" d="M 359.919237 225.833044 -L 349.445871 217.49863 -" style="fill:none;stroke:#2474b7;"/> - <path clip-path="url(#pc9763b54a5)" d="M 518.4 270.99594 -L 507.360502 268.423824 -" style="fill:none;stroke:#dceaf6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 507.360502 268.423824 -L 493.025089 264.930435 -" style="fill:none;stroke:#d0e2f2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 493.025089 264.930435 -L 478.82002 261.132309 -" style="fill:none;stroke:#bfd8ed;"/> - <path clip-path="url(#pc9763b54a5)" d="M 478.82002 261.132309 -L 464.778574 256.986641 -" style="fill:none;stroke:#a9cfe5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 464.778574 256.986641 -L 450.943254 252.445536 -" style="fill:none;stroke:#92c4de;"/> - <path clip-path="url(#pc9763b54a5)" d="M 450.943254 252.445536 -L 437.366817 247.459733 -" style="fill:none;stroke:#79b5d9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 437.366817 247.459733 -L 424.114399 241.978029 -" style="fill:none;stroke:#64a9d3;"/> - <path clip-path="url(#pc9763b54a5)" d="M 424.114399 241.978029 -L 411.262214 235.953986 -" style="fill:none;stroke:#549fcd;"/> - <path clip-path="url(#pc9763b54a5)" d="M 411.262214 235.953986 -L 398.895116 229.351351 -" style="fill:none;stroke:#4594c7;"/> - <path clip-path="url(#pc9763b54a5)" d="M 398.895116 229.351351 -L 387.101576 222.148548 -" style="fill:none;stroke:#3a8ac2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 387.101576 222.148548 -L 375.964068 214.34554 -" style="fill:none;stroke:#3181bd;"/> - <path clip-path="url(#pc9763b54a5)" d="M 375.964068 214.34554 -L 365.548465 205.966318 -" style="fill:none;stroke:#2777b8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 365.548465 205.966318 -L 355.896876 197.055371 -" style="fill:none;stroke:#2070b4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 355.896876 197.055371 -L 347.030481 187.667367 -" style="fill:none;stroke:#1b69af;"/> - <path clip-path="url(#pc9763b54a5)" d="M 347.030481 187.667367 -L 338.955591 177.860292 -" style="fill:none;stroke:#1764ab;"/> - <path clip-path="url(#pc9763b54a5)" d="M 338.955591 177.860292 -L 331.6989 167.678324 -" style="fill:none;stroke:#125ea6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 331.6989 167.678324 -L 325.543583 157.081205 -" style="fill:none;stroke:#0e59a2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 325.543583 157.081205 -L 325.543583 157.081205 -" style="fill:none;stroke:#0b559f;"/> - <path clip-path="url(#pc9763b54a5)" d="M 325.543583 157.081205 -L 324.21927 154.279854 -" style="fill:none;stroke:#0b559f;"/> - <path clip-path="url(#pc9763b54a5)" d="M 324.21927 154.279854 -L 324.21927 154.279854 -" style="fill:none;stroke:#0a549e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 324.21927 154.279854 -L 323.349781 151.787382 -" style="fill:none;stroke:#0a549e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 323.349781 151.787382 -L 323.349781 151.787382 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 323.349781 151.787382 -L 323.260973 150.187167 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 323.260973 150.187167 -L 323.260973 150.187167 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 323.260973 150.187167 -L 323.765053 149.265196 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 323.765053 149.265196 -L 324.951087 148.698655 -" style="fill:none;stroke:#09529d;"/> - <path clip-path="url(#pc9763b54a5)" d="M 324.951087 148.698655 -L 325.785371 148.2968 -" style="fill:none;stroke:#09529d;"/> - <path clip-path="url(#pc9763b54a5)" d="M 325.785371 148.2968 -L 326.334739 147.935988 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 326.334739 147.935988 -L 326.825697 147.642291 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 326.825697 147.642291 -L 327.182033 147.421345 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 327.182033 147.421345 -L 327.588913 147.280299 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 327.588913 147.280299 -L 328.052934 147.27256 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 328.052934 147.27256 -L 328.052934 147.27256 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 328.052934 147.27256 -L 328.299418 147.217114 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 328.299418 147.217114 -L 328.471395 147.157894 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 328.471395 147.157894 -L 328.586608 147.090537 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 328.586608 147.090537 -L 328.674932 147.034375 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 328.674932 147.034375 -L 328.757371 147.006276 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 328.757371 147.006276 -L 328.837704 147.006181 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 328.837704 147.006181 -L 328.904074 147.012936 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 328.904074 147.012936 -L 328.941939 146.999077 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 328.941939 146.999077 -L 328.955163 146.96407 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 328.955163 146.96407 -L 328.963208 146.932761 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 328.963208 146.932761 -L 328.981166 146.925521 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 328.981166 146.925521 -L 329.010645 146.943592 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.010645 146.943592 -L 329.038668 146.965855 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.038668 146.965855 -L 329.047029 146.963493 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.047029 146.963493 -L 329.03718 146.936365 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.03718 146.936365 -L 329.027147 146.910856 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.027147 146.910856 -L 329.03059 146.908081 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.03059 146.908081 -L 329.048109 146.929545 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.048109 146.929545 -L 329.066426 146.954704 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.066426 146.954704 -L 329.068459 146.955891 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.068459 146.955891 -L 329.054419 146.932049 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.054419 146.932049 -L 329.040668 146.908239 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.040668 146.908239 -L 329.040375 146.905513 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.040375 146.905513 -L 329.054461 146.926144 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.054461 146.926144 -L 329.070537 146.95114 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.070537 146.95114 -L 329.072016 146.953883 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.072016 146.953883 -L 329.058089 146.932036 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.058089 146.932036 -L 329.043925 146.909001 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.043925 146.909001 -L 329.042479 146.905578 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.042479 146.905578 -L 329.055118 146.92476 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.055118 146.92476 -L 329.070385 146.949048 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.070385 146.949048 -L 329.072296 146.952879 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.072296 146.952879 -L 329.059229 146.932728 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.059229 146.932728 -L 329.045275 146.910326 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.045275 146.910326 -L 329.043193 146.906141 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.043193 146.906141 -L 329.05479 146.92383 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.05479 146.92383 -L 329.0695 146.947304 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.0695 146.947304 -L 329.071965 146.952043 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.071965 146.952043 -L 329.059858 146.933474 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.059858 146.933474 -L 329.046244 146.911701 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.046244 146.911701 -L 329.043663 146.90681 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.043663 146.90681 -L 329.054331 146.923063 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.054331 146.923063 -L 329.068526 146.945698 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.068526 146.945698 -L 329.071511 146.951226 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.071511 146.951226 -L 329.060349 146.93416 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.060349 146.93416 -L 329.047111 146.913034 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.047111 146.913034 -L 329.044097 146.90751 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.044097 146.90751 -L 329.053895 146.922399 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.053895 146.922399 -L 329.06758 146.944189 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.06758 146.944189 -L 329.071029 146.950405 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.071029 146.950405 -L 329.060771 146.934769 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.060771 146.934769 -L 329.047928 146.914309 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.047928 146.914309 -L 329.04453 146.908222 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.04453 146.908222 -L 329.053507 146.921821 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.053507 146.921821 -L 329.066681 146.942766 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.066681 146.942766 -L 329.070535 146.949578 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.070535 146.949578 -L 329.06114 146.935302 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.06114 146.935302 -L 329.048705 146.915523 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.048705 146.915523 -L 329.044968 146.908943 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.044968 146.908943 -L 329.053167 146.921321 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.053167 146.921321 -L 329.065832 146.941425 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.065832 146.941425 -L 329.070037 146.948748 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.070037 146.948748 -L 329.061463 146.935763 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.061463 146.935763 -L 329.049445 146.916679 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.049445 146.916679 -L 329.045409 146.909667 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.045409 146.909667 -L 329.052873 146.920892 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.052873 146.920892 -L 329.065029 146.940161 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.065029 146.940161 -L 329.069537 146.947919 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.069537 146.947919 -L 329.061742 146.936158 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.061742 146.936158 -L 329.050149 146.917776 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.050149 146.917776 -L 329.045853 146.910394 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.045853 146.910394 -L 329.052621 146.92053 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.052621 146.92053 -L 329.064273 146.938971 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.064273 146.938971 -L 329.069037 146.947093 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.069037 146.947093 -L 329.061981 146.936491 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.061981 146.936491 -L 329.050817 146.918817 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.050817 146.918817 -L 329.046298 146.911119 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.046298 146.911119 -L 329.052408 146.920228 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.052408 146.920228 -L 329.063561 146.937853 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.063561 146.937853 -L 329.068539 146.946274 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.068539 146.946274 -L 329.062181 146.936765 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.062181 146.936765 -L 329.05145 146.919802 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.05145 146.919802 -L 329.046741 146.91184 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.046741 146.91184 -L 329.052231 146.919982 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.052231 146.919982 -L 329.062892 146.936804 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.062892 146.936804 -L 329.068044 146.945463 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.068044 146.945463 -L 329.062347 146.936987 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.062347 146.936987 -L 329.05205 146.920734 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.05205 146.920734 -L 329.047182 146.912556 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.047182 146.912556 -L 329.052088 146.919787 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.052088 146.919787 -L 329.062263 146.935819 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.062263 146.935819 -L 329.067555 146.944663 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.067555 146.944663 -L 329.06248 146.937158 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.06248 146.937158 -L 329.052616 146.921613 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.052616 146.921613 -L 329.04762 146.913265 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.04762 146.913265 -L 329.051975 146.91964 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.051975 146.91964 -L 329.061673 146.934898 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.061673 146.934898 -L 329.067072 146.943875 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.067072 146.943875 -L 329.062583 146.937283 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.062583 146.937283 -L 329.053151 146.922441 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.053151 146.922441 -L 329.048053 146.913965 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.048053 146.913965 -L 329.05189 146.919536 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.05189 146.919536 -L 329.06112 146.934036 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.06112 146.934036 -L 329.066596 146.943102 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.066596 146.943102 -L 329.062658 146.937366 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.062658 146.937366 -L 329.053655 146.923219 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.053655 146.923219 -L 329.04848 146.914654 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.04848 146.914654 -L 329.051831 146.919471 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.051831 146.919471 -L 329.060604 146.933231 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.060604 146.933231 -L 329.06613 146.942344 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.06613 146.942344 -L 329.062707 146.93741 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.062707 146.93741 -L 329.054128 146.92395 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.054128 146.92395 -L 329.048901 146.915332 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.048901 146.915332 -L 329.051796 146.919443 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.051796 146.919443 -L 329.060121 146.932481 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.060121 146.932481 -L 329.065672 146.941604 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.065672 146.941604 -L 329.062733 146.937419 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.062733 146.937419 -L 329.054572 146.924634 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.054572 146.924634 -L 329.049314 146.915996 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.049314 146.915996 -L 329.051783 146.919448 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.051783 146.919448 -L 329.059671 146.931784 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.059671 146.931784 -L 329.065225 146.940881 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.065225 146.940881 -L 329.062737 146.937394 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.062737 146.937394 -L 329.054988 146.925274 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.054988 146.925274 -L 329.04972 146.916646 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.04972 146.916646 -L 329.051789 146.919484 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.051789 146.919484 -L 329.059252 146.931136 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.059252 146.931136 -L 329.064789 146.940178 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.064789 146.940178 -L 329.062721 146.93734 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.062721 146.93734 -L 329.055377 146.925871 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.055377 146.925871 -L 329.050116 146.917281 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.050116 146.917281 -L 329.051813 146.919546 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.051813 146.919546 -L 329.058863 146.930535 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.058863 146.930535 -L 329.064364 146.939495 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.064364 146.939495 -L 329.062687 146.937259 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.062687 146.937259 -L 329.055739 146.926426 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.055739 146.926426 -L 329.050503 146.9179 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.050503 146.9179 -L 329.051854 146.919633 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.051854 146.919633 -L 329.058502 146.929979 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.058502 146.929979 -L 329.063951 146.938832 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.063951 146.938832 -L 329.062637 146.937154 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.062637 146.937154 -L 329.056076 146.926941 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.056076 146.926941 -L 329.050881 146.918502 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.050881 146.918502 -L 329.051909 146.919743 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.051909 146.919743 -L 329.058169 146.929467 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.058169 146.929467 -L 329.06355 146.93819 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.06355 146.93819 -L 329.062572 146.937027 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.062572 146.937027 -L 329.056388 146.927417 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.056388 146.927417 -L 329.051248 146.919087 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.051248 146.919087 -L 329.051978 146.919872 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.051978 146.919872 -L 329.057861 146.928995 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.057861 146.928995 -L 329.063162 146.937569 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.063162 146.937569 -L 329.062494 146.93688 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.062494 146.93688 -L 329.056677 146.927857 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.056677 146.927857 -L 329.051604 146.919655 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.051604 146.919655 -L 329.052059 146.920019 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.052059 146.920019 -L 329.057578 146.928562 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.057578 146.928562 -L 329.062787 146.93697 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.062787 146.93697 -L 329.062404 146.936716 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.062404 146.936716 -L 329.056944 146.928262 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 518.4 259.30624 -L 507.360502 256.386207 -" style="fill:none;stroke:#d9e8f5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 507.360502 256.386207 -L 493.209231 252.468788 -" style="fill:none;stroke:#cde0f1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 493.209231 252.468788 -L 479.219778 248.21832 -" style="fill:none;stroke:#bad6eb;"/> - <path clip-path="url(#pc9763b54a5)" d="M 479.219778 248.21832 -L 465.429706 243.595093 -" style="fill:none;stroke:#a5cde3;"/> - <path clip-path="url(#pc9763b54a5)" d="M 465.429706 243.595093 -L 451.885345 238.556436 -" style="fill:none;stroke:#8cc0dd;"/> - <path clip-path="url(#pc9763b54a5)" d="M 451.885345 238.556436 -L 438.641106 233.061701 -" style="fill:none;stroke:#74b3d8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 438.641106 233.061701 -L 425.759755 227.073739 -" style="fill:none;stroke:#60a7d2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 425.759755 227.073739 -L 413.310655 220.562094 -" style="fill:none;stroke:#519ccc;"/> - <path clip-path="url(#pc9763b54a5)" d="M 413.310655 220.562094 -L 401.364643 213.508975 -" style="fill:none;stroke:#4191c6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 401.364643 213.508975 -L 389.985934 205.915151 -" style="fill:none;stroke:#3787c0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 389.985934 205.915151 -L 379.227756 197.797612 -" style="fill:none;stroke:#2d7dbb;"/> - <path clip-path="url(#pc9763b54a5)" d="M 379.227756 197.797612 -L 369.12451 189.190142 -" style="fill:none;stroke:#2474b7;"/> - <path clip-path="url(#pc9763b54a5)" d="M 369.12451 189.190142 -L 359.68363 180.142622 -" style="fill:none;stroke:#1e6db2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 359.68363 180.142622 -L 350.886088 170.713814 -" style="fill:none;stroke:#1966ad;"/> - <path clip-path="url(#pc9763b54a5)" d="M 350.886088 170.713814 -L 342.67896 160.969727 -" style="fill:none;stroke:#1460a8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 518.4 247.55292 -L 507.360502 244.348589 -" style="fill:none;stroke:#d7e6f5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 507.360502 244.348589 -L 493.368897 240.10187 -" style="fill:none;stroke:#cbdef1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 493.368897 240.10187 -L 479.559812 235.511871 -" style="fill:none;stroke:#b7d4ea;"/> - <path clip-path="url(#pc9763b54a5)" d="M 479.559812 235.511871 -L 465.971025 230.544316 -" style="fill:none;stroke:#a0cbe2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 465.971025 230.544316 -L 452.646551 225.165816 -" style="fill:none;stroke:#87bddc;"/> - <path clip-path="url(#pc9763b54a5)" d="M 452.646551 225.165816 -L 439.636441 219.345336 -" style="fill:none;stroke:#6fb0d7;"/> - <path clip-path="url(#pc9763b54a5)" d="M 439.636441 219.345336 -L 426.994672 213.058174 -" style="fill:none;stroke:#5ca4d0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 426.994672 213.058174 -L 414.776741 206.287933 -" style="fill:none;stroke:#4b98ca;"/> - <path clip-path="url(#pc9763b54a5)" d="M 414.776741 206.287933 -L 403.032785 199.032888 -" style="fill:none;stroke:#3e8ec4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 403.032785 199.032888 -L 391.80259 191.305977 -" style="fill:none;stroke:#3484bf;"/> - <path clip-path="url(#pc9763b54a5)" d="M 391.80259 191.305977 -L 381.108523 183.135646 -" style="fill:none;stroke:#2a7ab9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 381.108523 183.135646 -L 370.942895 174.57011 -" style="fill:none;stroke:#2171b5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 370.942895 174.57011 -L 361.251924 165.679508 -" style="fill:none;stroke:#1b69af;"/> - <path clip-path="url(#pc9763b54a5)" d="M 361.251924 165.679508 -L 351.868471 156.591756 -" style="fill:none;stroke:#1562a9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 518.4 235.733811 -L 507.360502 232.310972 -" style="fill:none;stroke:#d4e4f4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 507.360502 232.310972 -L 493.494998 227.823144 -" style="fill:none;stroke:#c8dcf0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 493.494998 227.823144 -L 479.820647 222.997311 -" style="fill:none;stroke:#b2d2e8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 479.820647 222.997311 -L 466.372379 217.805451 -" style="fill:none;stroke:#9cc9e1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 466.372379 217.805451 -L 453.188814 212.222234 -" style="fill:none;stroke:#82bbdb;"/> - <path clip-path="url(#pc9763b54a5)" d="M 453.188814 212.222234 -L 440.311039 206.227278 -" style="fill:none;stroke:#6aaed6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 440.311039 206.227278 -L 427.781272 199.805986 -" style="fill:none;stroke:#58a1cf;"/> - <path clip-path="url(#pc9763b54a5)" d="M 427.781272 199.805986 -L 415.637187 192.955198 -" style="fill:none;stroke:#4896c8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 415.637187 192.955198 -L 403.90579 185.686514 -" style="fill:none;stroke:#3b8bc2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 403.90579 185.686514 -L 392.597047 178.026364 -" style="fill:none;stroke:#3080bd;"/> - <path clip-path="url(#pc9763b54a5)" d="M 392.597047 178.026364 -L 381.688605 170.02528 -" style="fill:none;stroke:#2676b8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 518.4 211.876286 -L 507.360502 208.235737 -" style="fill:none;stroke:#cfe1f2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 507.360502 208.235737 -L 493.615536 203.530347 -" style="fill:none;stroke:#c1d9ed;"/> - <path clip-path="url(#pc9763b54a5)" d="M 493.615536 203.530347 -L 480.046153 198.529215 -" style="fill:none;stroke:#a9cfe5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 480.046153 198.529215 -L 466.674303 193.219162 -" style="fill:none;stroke:#91c3de;"/> - <path clip-path="url(#pc9763b54a5)" d="M 466.674303 193.219162 -L 453.520326 187.592654 -" style="fill:none;stroke:#77b5d9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 453.520326 187.592654 -L 440.600557 181.649943 -" style="fill:none;stroke:#61a7d2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 440.600557 181.649943 -L 427.923794 175.401182 -" style="fill:none;stroke:#4f9bcb;"/> - <path clip-path="url(#pc9763b54a5)" d="M 427.923794 175.401182 -L 415.481936 168.87503 -" style="fill:none;stroke:#3f8fc5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 415.481936 168.87503 -L 403.236496 162.129517 -" style="fill:none;stroke:#3383be;"/> - <path clip-path="url(#pc9763b54a5)" d="M 403.236496 162.129517 -L 391.092038 155.275141 -" style="fill:none;stroke:#2979b9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 391.092038 155.275141 -L 378.826571 148.555275 -" style="fill:none;stroke:#1f6eb3;"/> - <path clip-path="url(#pc9763b54a5)" d="M 378.826571 148.555275 -L 365.884378 142.738667 -" style="fill:none;stroke:#1865ac;"/> - <path clip-path="url(#pc9763b54a5)" d="M 365.884378 142.738667 -L 365.884378 142.738667 -" style="fill:none;stroke:#125da6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 365.884378 142.738667 -L 360.132564 140.821489 -" style="fill:none;stroke:#125da6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 360.132564 140.821489 -L 360.132564 140.821489 -" style="fill:none;stroke:#0f5aa3;"/> - <path clip-path="url(#pc9763b54a5)" d="M 360.132564 140.821489 -L 354.860254 139.877252 -" style="fill:none;stroke:#0f5aa3;"/> - <path clip-path="url(#pc9763b54a5)" d="M 354.860254 139.877252 -L 354.860254 139.877252 -" style="fill:none;stroke:#0e58a2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 354.860254 139.877252 -L 350.130135 139.900502 -" style="fill:none;stroke:#0e58a2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 350.130135 139.900502 -L 345.522215 140.81974 -" style="fill:none;stroke:#0c56a0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 518.4 187.691999 -L 507.360502 184.160502 -" style="fill:none;stroke:#caddf0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 507.360502 184.160502 -L 493.529481 179.607583 -" style="fill:none;stroke:#b8d5ea;"/> - <path clip-path="url(#pc9763b54a5)" d="M 493.529481 179.607583 -L 479.819341 174.840651 -" style="fill:none;stroke:#a0cbe2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 479.819341 174.840651 -L 466.232519 169.866693 -" style="fill:none;stroke:#85bcdc;"/> - <path clip-path="url(#pc9763b54a5)" d="M 466.232519 169.866693 -L 452.764877 164.702037 -" style="fill:none;stroke:#6aaed6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 452.764877 164.702037 -L 439.399449 159.3806 -" style="fill:none;stroke:#57a0ce;"/> - <path clip-path="url(#pc9763b54a5)" d="M 439.399449 159.3806 -L 426.098375 153.963598 -" style="fill:none;stroke:#4594c7;"/> - <path clip-path="url(#pc9763b54a5)" d="M 426.098375 153.963598 -L 412.787059 148.562573 -" style="fill:none;stroke:#3787c0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 412.787059 148.562573 -L 399.32604 143.397781 -" style="fill:none;stroke:#2b7bba;"/> - <path clip-path="url(#pc9763b54a5)" d="M 399.32604 143.397781 -L 385.467397 138.95876 -" style="fill:none;stroke:#2070b4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 385.467397 138.95876 -L 385.467397 138.95876 -" style="fill:none;stroke:#1966ad;"/> - <path clip-path="url(#pc9763b54a5)" d="M 385.467397 138.95876 -L 375.870896 136.799403 -" style="fill:none;stroke:#1966ad;"/> - <path clip-path="url(#pc9763b54a5)" d="M 375.870896 136.799403 -L 375.870896 136.799403 -" style="fill:none;stroke:#1460a8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 518.4 175.462702 -L 507.360502 172.122884 -" style="fill:none;stroke:#c7dbef;"/> - <path clip-path="url(#pc9763b54a5)" d="M 507.360502 172.122884 -L 493.403745 167.805418 -" style="fill:none;stroke:#b3d3e8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 493.403745 167.805418 -L 479.528551 163.333292 -" style="fill:none;stroke:#9cc9e1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 479.528551 163.333292 -L 465.727323 158.725848 -" style="fill:none;stroke:#7fb9da;"/> - <path clip-path="url(#pc9763b54a5)" d="M 465.727323 158.725848 -L 451.982015 154.019267 -" style="fill:none;stroke:#65aad4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 451.982015 154.019267 -L 438.258132 149.276224 -" style="fill:none;stroke:#529dcc;"/> - <path clip-path="url(#pc9763b54a5)" d="M 518.4 163.130749 -L 507.360502 160.085266 -" style="fill:none;stroke:#c3daee;"/> - <path clip-path="url(#pc9763b54a5)" d="M 507.360502 160.085266 -L 493.225462 156.130356 -" style="fill:none;stroke:#afd1e7;"/> - <path clip-path="url(#pc9763b54a5)" d="M 493.225462 156.130356 -L 479.128874 152.093969 -" style="fill:none;stroke:#95c5df;"/> - <path clip-path="url(#pc9763b54a5)" d="M 479.128874 152.093969 -L 465.053222 148.013606 -" style="fill:none;stroke:#79b5d9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 518.4 150.69104 -L 507.360502 148.047649 -" style="fill:none;stroke:#bed8ec;"/> - <path clip-path="url(#pc9763b54a5)" d="M 507.360502 148.047649 -L 493.004383 144.602009 -" style="fill:none;stroke:#aacfe5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 493.004383 144.602009 -L 478.644345 141.166356 -" style="fill:none;stroke:#8fc2de;"/> - <path clip-path="url(#pc9763b54a5)" d="M 478.644345 141.166356 -L 464.256964 137.800792 -" style="fill:none;stroke:#72b2d8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 464.256964 137.800792 -L 449.808716 134.598523 -" style="fill:none;stroke:#5ca4d0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 449.808716 134.598523 -L 435.255578 131.705971 -" style="fill:none;stroke:#4896c8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 435.255578 131.705971 -L 420.549732 129.357341 -" style="fill:none;stroke:#3888c1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 420.549732 129.357341 -L 405.664019 127.928325 -" style="fill:none;stroke:#2b7bba;"/> - <path clip-path="url(#pc9763b54a5)" d="M 405.664019 127.928325 -L 405.664019 127.928325 -" style="fill:none;stroke:#206fb4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 405.664019 127.928325 -L 393.086189 127.780598 -" style="fill:none;stroke:#206fb4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 393.086189 127.780598 -L 393.086189 127.780598 -" style="fill:none;stroke:#1967ad;"/> - <path clip-path="url(#pc9763b54a5)" d="M 393.086189 127.780598 -L 382.378018 128.691048 -" style="fill:none;stroke:#1967ad;"/> - <path clip-path="url(#pc9763b54a5)" d="M 518.4 125.44531 -L 507.360502 123.972414 -" style="fill:none;stroke:#b4d3e9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 507.360502 123.972414 -L 492.528252 122.097229 -" style="fill:none;stroke:#a1cbe2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 492.528252 122.097229 -L 477.650006 120.458943 -" style="fill:none;stroke:#84bcdb;"/> - <path clip-path="url(#pc9763b54a5)" d="M 477.650006 120.458943 -L 462.718358 119.160006 -" style="fill:none;stroke:#68acd5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 462.718358 119.160006 -L 447.735187 118.3395 -" style="fill:none;stroke:#539ecd;"/> - <path clip-path="url(#pc9763b54a5)" d="M 447.735187 118.3395 -L 432.724347 118.181586 -" style="fill:none;stroke:#4090c5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 518.4 112.619276 -L 507.360502 111.934796 -" style="fill:none;stroke:#b0d2e7;"/> - <path clip-path="url(#pc9763b54a5)" d="M 507.360502 111.934796 -L 492.366445 111.164327 -" style="fill:none;stroke:#9dcae1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 492.366445 111.164327 -L 477.35104 110.742141 -" style="fill:none;stroke:#7db8da;"/> - <path clip-path="url(#pc9763b54a5)" d="M 477.35104 110.742141 -L 462.328787 110.771168 -" style="fill:none;stroke:#64a9d3;"/> - <path clip-path="url(#pc9763b54a5)" d="M 462.328787 110.771168 -L 447.332918 111.377542 -" style="fill:none;stroke:#4f9bcb;"/> - <path clip-path="url(#pc9763b54a5)" d="M 447.332918 111.377542 -L 432.421772 112.704566 -" style="fill:none;stroke:#3d8dc4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 432.421772 112.704566 -L 417.694361 114.895587 -" style="fill:none;stroke:#3080bd;"/> - <path clip-path="url(#pc9763b54a5)" d="M 518.4 99.642596 -L 507.360502 99.897179 -" style="fill:none;stroke:#abd0e6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 507.360502 99.897179 -L 492.351692 100.446801 -" style="fill:none;stroke:#97c6df;"/> - <path clip-path="url(#pc9763b54a5)" d="M 492.351692 100.446801 -L 477.381227 101.418537 -" style="fill:none;stroke:#79b5d9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 477.381227 101.418537 -L 462.479758 102.892018 -" style="fill:none;stroke:#60a7d2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 462.479758 102.892018 -L 447.701981 104.953828 -" style="fill:none;stroke:#4b98ca;"/> - <path clip-path="url(#pc9763b54a5)" d="M 518.4 73.178641 -L 507.360502 75.821944 -" style="fill:none;stroke:#a1cbe2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 507.360502 75.821944 -L 493.085996 79.448618 -" style="fill:none;stroke:#8cc0dd;"/> - <path clip-path="url(#pc9763b54a5)" d="M 493.085996 79.448618 -L 478.972095 83.429953 -" style="fill:none;stroke:#71b1d7;"/> - <path clip-path="url(#pc9763b54a5)" d="M 478.972095 83.429953 -L 465.040208 87.775863 -" style="fill:none;stroke:#5ca4d0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 465.040208 87.775863 -L 451.306797 92.489015 -" style="fill:none;stroke:#4a98c9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 518.4 59.659483 -L 507.360502 63.784326 -" style="fill:none;stroke:#9cc9e1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 507.360502 63.784326 -L 493.909229 68.966727 -" style="fill:none;stroke:#85bcdc;"/> - <path clip-path="url(#pc9763b54a5)" d="M 493.909229 68.966727 -L 480.608308 74.375252 -" style="fill:none;stroke:#6dafd7;"/> - <path clip-path="url(#pc9763b54a5)" d="M 480.608308 74.375252 -L 467.462044 80.003445 -" style="fill:none;stroke:#5ba3d0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 504.852618 43.2 -L 503.261757 44.21418 -" style="fill:none;stroke:#77b5d9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 503.261757 44.21418 -L 491.811912 51.746708 -" style="fill:none;stroke:#74b3d8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 491.811912 51.746708 -L 480.489721 59.392906 -" style="fill:none;stroke:#63a8d3;"/> - <path clip-path="url(#pc9763b54a5)" d="M 480.489721 59.392906 -L 469.137248 67.012322 -" style="fill:none;stroke:#549fcd;"/> - <path clip-path="url(#pc9763b54a5)" d="M 485.82944 43.2 -L 476.263323 51.746708 -" style="fill:none;stroke:#57a0ce;"/> - <path clip-path="url(#pc9763b54a5)" d="M 476.263323 51.746708 -L 466.307858 60.457916 -" style="fill:none;stroke:#4b98ca;"/> - <path clip-path="url(#pc9763b54a5)" d="M 466.307858 60.457916 -L 456.142794 69.021262 -" style="fill:none;stroke:#4191c6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 456.142794 69.021262 -L 445.759482 77.425625 -" style="fill:none;stroke:#3989c1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 445.759482 77.425625 -L 435.148566 85.654052 -" style="fill:none;stroke:#3282be;"/> - <path clip-path="url(#pc9763b54a5)" d="M 435.148566 85.654052 -L 424.301197 93.688472 -" style="fill:none;stroke:#2a7ab9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 424.301197 93.688472 -L 413.201793 101.505686 -" style="fill:none;stroke:#2373b6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 413.201793 101.505686 -L 401.826677 109.078142 -" style="fill:none;stroke:#1e6db2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 401.826677 109.078142 -L 390.151551 116.366612 -" style="fill:none;stroke:#1967ad;"/> - <path clip-path="url(#pc9763b54a5)" d="M 432.546977 43.2 -L 429.617555 51.746708 -" style="fill:none;stroke:#1c6bb0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 429.617555 51.746708 -L 425.330051 62.889819 -" style="fill:none;stroke:#1c6bb0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 425.330051 62.889819 -L 420.182715 73.808691 -" style="fill:none;stroke:#1c6bb0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 420.182715 73.808691 -L 414.058235 84.419119 -" style="fill:none;stroke:#1c6ab0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 398.669903 43.2 -L 398.520376 51.746708 -" style="fill:none;stroke:#09529d;"/> - <path clip-path="url(#pc9763b54a5)" d="M 398.520376 51.746708 -L 397.97821 63.370751 -" style="fill:none;stroke:#0a549e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 397.97821 63.370751 -L 396.674498 74.955793 -" style="fill:none;stroke:#0d57a1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 396.674498 74.955793 -L 394.332076 86.434609 -" style="fill:none;stroke:#0f5aa3;"/> - <path clip-path="url(#pc9763b54a5)" d="M 394.332076 86.434609 -L 390.580507 97.669969 -" style="fill:none;stroke:#115ca5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 382.119216 43.2 -L 382.971787 51.746708 -" style="fill:none;stroke:#08488e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 382.971787 51.746708 -L 383.893782 63.359157 -" style="fill:none;stroke:#084b93;"/> - <path clip-path="url(#pc9763b54a5)" d="M 383.893782 63.359157 -L 384.255391 74.987581 -" style="fill:none;stroke:#084f99;"/> - <path clip-path="url(#pc9763b54a5)" d="M 384.255391 74.987581 -L 383.786523 86.608083 -" style="fill:none;stroke:#09529d;"/> - <path clip-path="url(#pc9763b54a5)" d="M 365.795799 43.2 -L 367.423197 51.746708 -" style="fill:none;stroke:#084082;"/> - <path clip-path="url(#pc9763b54a5)" d="M 367.423197 51.746708 -L 369.483816 63.272506 -" style="fill:none;stroke:#084387;"/> - <path clip-path="url(#pc9763b54a5)" d="M 369.483816 63.272506 -L 371.205047 74.830412 -" style="fill:none;stroke:#08478d;"/> - <path clip-path="url(#pc9763b54a5)" d="M 371.205047 74.830412 -L 372.372759 86.426546 -" style="fill:none;stroke:#084c95;"/> - <path clip-path="url(#pc9763b54a5)" d="M 372.372759 86.426546 -L 372.617028 98.048322 -" style="fill:none;stroke:#08509b;"/> - <path clip-path="url(#pc9763b54a5)" d="M 372.617028 98.048322 -L 371.245568 109.593511 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 371.245568 109.593511 -L 371.245568 109.593511 -" style="fill:none;stroke:#0c56a0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 371.245568 109.593511 -L 369.001293 117.228659 -" style="fill:none;stroke:#0c56a0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 369.001293 117.228659 -L 369.001293 117.228659 -" style="fill:none;stroke:#0d57a1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 369.001293 117.228659 -L 365.828414 123.388294 -" style="fill:none;stroke:#0d57a1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 365.828414 123.388294 -L 360.935717 129.142242 -" style="fill:none;stroke:#0e58a2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 333.73353 43.2 -L 336.326019 51.746708 -" style="fill:none;stroke:#083471;"/> - <path clip-path="url(#pc9763b54a5)" d="M 336.326019 51.746708 -L 339.78167 63.071214 -" style="fill:none;stroke:#083776;"/> - <path clip-path="url(#pc9763b54a5)" d="M 339.78167 63.071214 -L 343.249365 74.393484 -" style="fill:none;stroke:#083c7d;"/> - <path clip-path="url(#pc9763b54a5)" d="M 343.249365 74.393484 -L 346.653695 85.727194 -" style="fill:none;stroke:#084184;"/> - <path clip-path="url(#pc9763b54a5)" d="M 346.653695 85.727194 -L 349.847067 97.096565 -" style="fill:none;stroke:#08458a;"/> - <path clip-path="url(#pc9763b54a5)" d="M 349.847067 97.096565 -L 352.520538 108.541309 -" style="fill:none;stroke:#084a91;"/> - <path clip-path="url(#pc9763b54a5)" d="M 352.520538 108.541309 -L 353.867896 120.097774 -" style="fill:none;stroke:#084e98;"/> - <path clip-path="url(#pc9763b54a5)" d="M 353.867896 120.097774 -L 353.867896 120.097774 -" style="fill:none;stroke:#09529d;"/> - <path clip-path="url(#pc9763b54a5)" d="M 353.867896 120.097774 -L 353.62143 126.079466 -" style="fill:none;stroke:#09529d;"/> - <path clip-path="url(#pc9763b54a5)" d="M 353.62143 126.079466 -L 353.62143 126.079466 -" style="fill:none;stroke:#0a549e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 317.959512 43.2 -L 320.777429 51.746708 -" style="fill:none;stroke:#08316d;"/> - <path clip-path="url(#pc9763b54a5)" d="M 320.777429 51.746708 -L 324.56207 63.007981 -" style="fill:none;stroke:#083471;"/> - <path clip-path="url(#pc9763b54a5)" d="M 324.56207 63.007981 -L 328.470441 74.243921 -" style="fill:none;stroke:#083877;"/> - <path clip-path="url(#pc9763b54a5)" d="M 328.470441 74.243921 -L 332.473768 85.459804 -" style="fill:none;stroke:#083c7d;"/> - <path clip-path="url(#pc9763b54a5)" d="M 332.473768 85.459804 -L 336.5105 96.668381 -" style="fill:none;stroke:#084184;"/> - <path clip-path="url(#pc9763b54a5)" d="M 336.5105 96.668381 -L 340.442387 107.898461 -" style="fill:none;stroke:#08468b;"/> - <path clip-path="url(#pc9763b54a5)" d="M 340.442387 107.898461 -L 343.906361 119.214697 -" style="fill:none;stroke:#084a91;"/> - <path clip-path="url(#pc9763b54a5)" d="M 343.906361 119.214697 -L 343.906361 119.214697 -" style="fill:none;stroke:#084e98;"/> - <path clip-path="url(#pc9763b54a5)" d="M 286.853477 43.2 -L 289.680251 51.746708 -" style="fill:none;stroke:#08306b;"/> - <path clip-path="url(#pc9763b54a5)" d="M 289.680251 51.746708 -L 293.518633 62.996858 -" style="fill:none;stroke:#08326e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 293.518633 62.996858 -L 297.589198 74.197909 -" style="fill:none;stroke:#083573;"/> - <path clip-path="url(#pc9763b54a5)" d="M 297.589198 74.197909 -L 301.915235 85.341332 -" style="fill:none;stroke:#083979;"/> - <path clip-path="url(#pc9763b54a5)" d="M 301.915235 85.341332 -L 306.522054 96.416963 -" style="fill:none;stroke:#083c7d;"/> - <path clip-path="url(#pc9763b54a5)" d="M 306.522054 96.416963 -L 311.434936 107.413298 -" style="fill:none;stroke:#084184;"/> - <path clip-path="url(#pc9763b54a5)" d="M 311.434936 107.413298 -L 316.674354 118.318713 -" style="fill:none;stroke:#084488;"/> - <path clip-path="url(#pc9763b54a5)" d="M 316.674354 118.318713 -L 322.240511 129.126376 -" style="fill:none;stroke:#08488e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 322.240511 129.126376 -L 327.971666 139.880216 -" style="fill:none;stroke:#084c95;"/> - <path clip-path="url(#pc9763b54a5)" d="M 327.971666 139.880216 -L 327.971666 139.880216 -" style="fill:none;stroke:#08509b;"/> - <path clip-path="url(#pc9763b54a5)" d="M 271.495416 43.2 -L 274.131661 51.746708 -" style="fill:none;stroke:#08316d;"/> - <path clip-path="url(#pc9763b54a5)" d="M 274.131661 51.746708 -L 277.729031 63.044487 -" style="fill:none;stroke:#083370;"/> - <path clip-path="url(#pc9763b54a5)" d="M 277.729031 63.044487 -L 281.554998 74.297055 -" style="fill:none;stroke:#083674;"/> - <path clip-path="url(#pc9763b54a5)" d="M 281.554998 74.297055 -L 285.640246 85.494732 -" style="fill:none;stroke:#083979;"/> - <path clip-path="url(#pc9763b54a5)" d="M 285.640246 85.494732 -L 290.021865 96.624853 -" style="fill:none;stroke:#083c7d;"/> - <path clip-path="url(#pc9763b54a5)" d="M 290.021865 96.624853 -L 294.747228 107.670045 -" style="fill:none;stroke:#084082;"/> - <path clip-path="url(#pc9763b54a5)" d="M 294.747228 107.670045 -L 299.881962 118.604613 -" style="fill:none;stroke:#084488;"/> - <path clip-path="url(#pc9763b54a5)" d="M 299.881962 118.604613 -L 305.534076 129.383849 -" style="fill:none;stroke:#08478d;"/> - <path clip-path="url(#pc9763b54a5)" d="M 305.534076 129.383849 -L 311.972064 139.889418 -" style="fill:none;stroke:#084a91;"/> - <path clip-path="url(#pc9763b54a5)" d="M 311.972064 139.889418 -L 311.972064 139.889418 -" style="fill:none;stroke:#084e98;"/> - <path clip-path="url(#pc9763b54a5)" d="M 256.254178 43.2 -L 258.583072 51.746708 -" style="fill:none;stroke:#083471;"/> - <path clip-path="url(#pc9763b54a5)" d="M 258.583072 51.746708 -L 261.772687 63.117751 -" style="fill:none;stroke:#083674;"/> - <path clip-path="url(#pc9763b54a5)" d="M 261.772687 63.117751 -L 265.148519 74.456471 -" style="fill:none;stroke:#083979;"/> - <path clip-path="url(#pc9763b54a5)" d="M 265.148519 74.456471 -L 268.732187 85.756745 -" style="fill:none;stroke:#083c7d;"/> - <path clip-path="url(#pc9763b54a5)" d="M 268.732187 85.756745 -L 272.550594 97.010655 -" style="fill:none;stroke:#083e81;"/> - <path clip-path="url(#pc9763b54a5)" d="M 272.550594 97.010655 -L 276.637723 108.207643 -" style="fill:none;stroke:#084285;"/> - <path clip-path="url(#pc9763b54a5)" d="M 276.637723 108.207643 -L 281.036817 119.333234 -" style="fill:none;stroke:#08458a;"/> - <path clip-path="url(#pc9763b54a5)" d="M 281.036817 119.333234 -L 285.808174 130.365851 -" style="fill:none;stroke:#08488e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 285.808174 130.365851 -L 291.057316 141.265846 -" style="fill:none;stroke:#084b93;"/> - <path clip-path="url(#pc9763b54a5)" d="M 291.057316 141.265846 -L 297.24146 151.849539 -" style="fill:none;stroke:#084e98;"/> - <path clip-path="url(#pc9763b54a5)" d="M 297.24146 151.849539 -L 297.24146 151.849539 -" style="fill:none;stroke:#08519c;"/> - <path clip-path="url(#pc9763b54a5)" d="M 297.24146 151.849539 -L 299.244802 154.352014 -" style="fill:none;stroke:#08519c;"/> - <path clip-path="url(#pc9763b54a5)" d="M 299.244802 154.352014 -L 299.244802 154.352014 -" style="fill:none;stroke:#08519c;"/> - <path clip-path="url(#pc9763b54a5)" d="M 299.244802 154.352014 -L 300.664224 155.319948 -" style="fill:none;stroke:#08519c;"/> - <path clip-path="url(#pc9763b54a5)" d="M 300.664224 155.319948 -L 302.000152 155.504281 -" style="fill:none;stroke:#09529d;"/> - <path clip-path="url(#pc9763b54a5)" d="M 302.000152 155.504281 -L 303.330833 155.384051 -" style="fill:none;stroke:#09529d;"/> - <path clip-path="url(#pc9763b54a5)" d="M 303.330833 155.384051 -L 305.144463 154.870104 -" style="fill:none;stroke:#09529d;"/> - <path clip-path="url(#pc9763b54a5)" d="M 305.144463 154.870104 -L 307.752867 153.927051 -" style="fill:none;stroke:#09529d;"/> - <path clip-path="url(#pc9763b54a5)" d="M 307.752867 153.927051 -L 309.975533 153.238459 -" style="fill:none;stroke:#09529d;"/> - <path clip-path="url(#pc9763b54a5)" d="M 309.975533 153.238459 -L 312.563319 152.31716 -" style="fill:none;stroke:#09529d;"/> - <path clip-path="url(#pc9763b54a5)" d="M 312.563319 152.31716 -L 312.563319 152.31716 -" style="fill:none;stroke:#09529d;"/> - <path clip-path="url(#pc9763b54a5)" d="M 241.11827 43.2 -L 243.034483 51.746708 -" style="fill:none;stroke:#083979;"/> - <path clip-path="url(#pc9763b54a5)" d="M 243.034483 51.746708 -L 245.651748 63.205077 -" style="fill:none;stroke:#083a7a;"/> - <path clip-path="url(#pc9763b54a5)" d="M 245.651748 63.205077 -L 248.365664 74.649929 -" style="fill:none;stroke:#083d7f;"/> - <path clip-path="url(#pc9763b54a5)" d="M 248.365664 74.649929 -L 251.17266 86.081272 -" style="fill:none;stroke:#084184;"/> - <path clip-path="url(#pc9763b54a5)" d="M 251.17266 86.081272 -L 254.059155 97.500549 -" style="fill:none;stroke:#084387;"/> - <path clip-path="url(#pc9763b54a5)" d="M 254.059155 97.500549 -L 256.9969 108.912144 -" style="fill:none;stroke:#08468b;"/> - <path clip-path="url(#pc9763b54a5)" d="M 256.9969 108.912144 -L 259.913094 120.32668 -" style="fill:none;stroke:#08488e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 259.913094 120.32668 -L 262.628872 131.769033 -" style="fill:none;stroke:#084b93;"/> - <path clip-path="url(#pc9763b54a5)" d="M 262.628872 131.769033 -L 264.642165 143.289701 -" style="fill:none;stroke:#084e98;"/> - <path clip-path="url(#pc9763b54a5)" d="M 264.642165 143.289701 -L 264.642165 143.289701 -" style="fill:none;stroke:#08519c;"/> - <path clip-path="url(#pc9763b54a5)" d="M 264.642165 143.289701 -L 264.836245 151.369115 -" style="fill:none;stroke:#08519c;"/> - <path clip-path="url(#pc9763b54a5)" d="M 264.836245 151.369115 -L 264.836245 151.369115 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 264.836245 151.369115 -L 263.587265 156.63978 -" style="fill:none;stroke:#0a539e;"/> - <path clip-path="url(#pc9763b54a5)" d="M 263.587265 156.63978 -L 263.587265 156.63978 -" style="fill:none;stroke:#0b559f;"/> - <path clip-path="url(#pc9763b54a5)" d="M 263.587265 156.63978 -L 260.929514 160.835978 -" style="fill:none;stroke:#0b559f;"/> - <path clip-path="url(#pc9763b54a5)" d="M 260.929514 160.835978 -L 256.785568 164.33158 -" style="fill:none;stroke:#0d57a1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 299.855942 266.659566 -L 284.947248 265.326652 -" style="fill:none;stroke:#2373b6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 284.947248 265.326652 -L 269.951035 265.062547 -" style="fill:none;stroke:#2373b6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 269.951035 265.062547 -L 254.995839 265.988965 -" style="fill:none;stroke:#2474b7;"/> - <path clip-path="url(#pc9763b54a5)" d="M 254.995839 265.988965 -L 240.217913 268.025518 -" style="fill:none;stroke:#2777b8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 240.217913 268.025518 -L 225.684289 270.956862 -" style="fill:none;stroke:#2d7dbb;"/> - <path clip-path="url(#pc9763b54a5)" d="M 225.684289 270.956862 -L 211.393768 274.547363 -" style="fill:none;stroke:#3484bf;"/> - <path clip-path="url(#pc9763b54a5)" d="M 211.393768 274.547363 -L 197.30856 278.600827 -" style="fill:none;stroke:#3c8cc3;"/> - <path clip-path="url(#pc9763b54a5)" d="M 197.30856 278.600827 -L 183.380837 282.971177 -" style="fill:none;stroke:#4695c8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 183.380837 282.971177 -L 169.566144 287.553734 -" style="fill:none;stroke:#539ecd;"/> - <path clip-path="url(#pc9763b54a5)" d="M 169.566144 287.553734 -L 155.829611 292.275648 -" style="fill:none;stroke:#63a8d3;"/> - <path clip-path="url(#pc9763b54a5)" d="M 155.829611 292.275648 -L 142.143969 297.085164 -" style="fill:none;stroke:#74b3d8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 142.143969 297.085164 -L 128.487079 301.943847 -" style="fill:none;stroke:#8abfdd;"/> - <path clip-path="url(#pc9763b54a5)" d="M 128.487079 301.943847 -L 114.843194 306.824393 -" style="fill:none;stroke:#a1cbe2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 114.843194 306.824393 -L 101.200096 311.706341 -" style="fill:none;stroke:#b5d4e9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 101.200096 311.706341 -L 87.548589 316.574295 -" style="fill:none;stroke:#c9ddf0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 280.421847 291.513609 -L 266.740966 296.280457 -" style="fill:none;stroke:#2c7cba;"/> - <path clip-path="url(#pc9763b54a5)" d="M 266.740966 296.280457 -L 253.729567 302.077499 -" style="fill:none;stroke:#2f7fbc;"/> - <path clip-path="url(#pc9763b54a5)" d="M 253.729567 302.077499 -L 241.334195 308.645389 -" style="fill:none;stroke:#3484bf;"/> - <path clip-path="url(#pc9763b54a5)" d="M 241.334195 308.645389 -L 229.468227 315.780271 -" style="fill:none;stroke:#3989c1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 229.468227 315.780271 -L 218.041257 323.334831 -" style="fill:none;stroke:#4090c5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 218.041257 323.334831 -L 206.976554 331.207007 -" style="fill:none;stroke:#4997c9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 206.976554 331.207007 -L 196.211741 339.325494 -" style="fill:none;stroke:#539ecd;"/> - <path clip-path="url(#pc9763b54a5)" d="M 196.211741 339.325494 -L 185.698799 347.640087 -" style="fill:none;stroke:#5da5d1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 185.698799 347.640087 -L 175.401784 356.115447 -" style="fill:none;stroke:#6aaed6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 175.401784 356.115447 -L 165.291536 364.724765 -" style="fill:none;stroke:#79b5d9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 460.236944 43.2 -L 459.990177 43.549365 -" style="fill:none;stroke:#3585bf;"/> - <path clip-path="url(#pc9763b54a5)" d="M 459.990177 43.549365 -L 452.743228 53.741618 -" style="fill:none;stroke:#3585bf;"/> - <path clip-path="url(#pc9763b54a5)" d="M 452.743228 53.741618 -L 445.166144 63.784326 -" style="fill:none;stroke:#3181bd;"/> - <path clip-path="url(#pc9763b54a5)" d="M 445.166144 63.784326 -L 437.016959 73.552607 -" style="fill:none;stroke:#2d7dbb;"/> - <path clip-path="url(#pc9763b54a5)" d="M 142.326926 43.2 -L 138.847415 52.731138 -" style="fill:none;stroke:#2a7ab9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 138.847415 52.731138 -L 134.194357 63.784326 -" style="fill:none;stroke:#3080bd;"/> - <path clip-path="url(#pc9763b54a5)" d="M 134.194357 63.784326 -L 128.270007 74.462734 -" style="fill:none;stroke:#3888c1;"/> - <path clip-path="url(#pc9763b54a5)" d="M 128.270007 74.462734 -L 120.906999 84.585343 -" style="fill:none;stroke:#4191c6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 120.906999 84.585343 -L 112.049734 93.958855 -" style="fill:none;stroke:#4e9acb;"/> - <path clip-path="url(#pc9763b54a5)" d="M 209.478427 321.150239 -L 198.09632 328.746949 -" style="fill:none;stroke:#4e9acb;"/> - <path clip-path="url(#pc9763b54a5)" d="M 198.09632 328.746949 -L 186.963679 336.563201 -" style="fill:none;stroke:#58a1cf;"/> - <path clip-path="url(#pc9763b54a5)" d="M 186.963679 336.563201 -L 176.039262 344.554013 -" style="fill:none;stroke:#65aad4;"/> - <path clip-path="url(#pc9763b54a5)" d="M 176.039262 344.554013 -L 165.291536 352.687147 -" style="fill:none;stroke:#74b3d8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 243.034483 87.859561 -L 245.338209 99.357904 -" style="fill:none;stroke:#08468b;"/> - <path clip-path="url(#pc9763b54a5)" d="M 245.338209 99.357904 -L 247.512108 110.871086 -" style="fill:none;stroke:#084990;"/> - <path clip-path="url(#pc9763b54a5)" d="M 247.512108 110.871086 -L 249.371222 122.415603 -" style="fill:none;stroke:#084c95;"/> - <path clip-path="url(#pc9763b54a5)" d="M 249.371222 122.415603 -L 250.504758 134.010372 -" style="fill:none;stroke:#084e98;"/> - <path clip-path="url(#pc9763b54a5)" d="M 250.504758 134.010372 -L 249.890974 145.593722 -" style="fill:none;stroke:#09529d;"/> - <path clip-path="url(#pc9763b54a5)" d="M 249.890974 145.593722 -L 249.890974 145.593722 -" style="fill:none;stroke:#0b559f;"/> - <path clip-path="url(#pc9763b54a5)" d="M 249.890974 145.593722 -L 247.82988 152.331649 -" style="fill:none;stroke:#0b559f;"/> - <path clip-path="url(#pc9763b54a5)" d="M 247.82988 152.331649 -L 247.82988 152.331649 -" style="fill:none;stroke:#0e58a2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 247.82988 152.331649 -L 244.351324 157.79006 -" style="fill:none;stroke:#0e58a2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 244.351324 157.79006 -L 239.283374 162.481922 -" style="fill:none;stroke:#0f5aa3;"/> - <path clip-path="url(#pc9763b54a5)" d="M 200.395273 289.06621 -L 186.944275 294.255115 -" style="fill:none;stroke:#4896c8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 186.944275 294.255115 -L 173.634195 299.65856 -" style="fill:none;stroke:#549fcd;"/> - <path clip-path="url(#pc9763b54a5)" d="M 173.634195 299.65856 -L 160.425264 305.209443 -" style="fill:none;stroke:#63a8d3;"/> - <path clip-path="url(#pc9763b54a5)" d="M 160.425264 305.209443 -L 147.286366 310.859531 -" style="fill:none;stroke:#74b3d8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 147.286366 310.859531 -L 134.194357 316.574295 -" style="fill:none;stroke:#89bedc;"/> - <path clip-path="url(#pc9763b54a5)" d="M 357.719956 282.353867 -L 342.901432 280.428409 -" style="fill:none;stroke:#3484bf;"/> - <path clip-path="url(#pc9763b54a5)" d="M 342.901432 280.428409 -L 328.01311 278.888546 -" style="fill:none;stroke:#2f7fbc;"/> - <path clip-path="url(#pc9763b54a5)" d="M 328.01311 278.888546 -L 313.045853 277.995124 -" style="fill:none;stroke:#2b7bba;"/> - <path clip-path="url(#pc9763b54a5)" d="M 313.045853 277.995124 -L 298.04273 278.053021 -" style="fill:none;stroke:#2777b8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 298.04273 278.053021 -L 283.13717 279.327172 -" style="fill:none;stroke:#2676b8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 283.13717 279.327172 -L 268.517835 281.913093 -" style="fill:none;stroke:#2777b8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 268.517835 281.913093 -L 254.328062 285.692655 -" style="fill:none;stroke:#2a7ab9;"/> - <path clip-path="url(#pc9763b54a5)" d="M 254.328062 285.692655 -L 240.615747 290.429799 -" style="fill:none;stroke:#2f7fbc;"/> - <path clip-path="url(#pc9763b54a5)" d="M 240.615747 290.429799 -L 227.346647 295.880931 -" style="fill:none;stroke:#3484bf;"/> - <path clip-path="url(#pc9763b54a5)" d="M 227.346647 295.880931 -L 214.44976 301.84944 -" style="fill:none;stroke:#3b8bc2;"/> - <path clip-path="url(#pc9763b54a5)" d="M 214.44976 301.84944 -L 201.852074 308.192783 -" style="fill:none;stroke:#4292c6;"/> - <path clip-path="url(#pc9763b54a5)" d="M 201.852074 308.192783 -L 189.492256 314.811574 -" style="fill:none;stroke:#4e9acb;"/> - <path clip-path="url(#pc9763b54a5)" d="M 189.492256 314.811574 -L 177.318846 321.6348 -" style="fill:none;stroke:#5aa2cf;"/> - <path clip-path="url(#pc9763b54a5)" d="M 177.318846 321.6348 -L 165.291536 328.611912 -" style="fill:none;stroke:#68acd5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 214.917373 123.097939 -L 211.945457 131.555262 -" style="fill:none;stroke:#115ca5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 211.945457 131.555262 -L 207.565658 139.301475 -" style="fill:none;stroke:#1460a8;"/> - <path clip-path="url(#pc9763b54a5)" d="M 207.565658 139.301475 -L 201.054574 146.81385 -" style="fill:none;stroke:#1865ac;"/> - <path clip-path="url(#pc9763b54a5)" d="M 201.054574 146.81385 -L 192.942128 153.248049 -" style="fill:none;stroke:#1c6bb0;"/> - <path clip-path="url(#pc9763b54a5)" d="M 192.942128 153.248049 -L 192.942128 153.248049 -" style="fill:none;stroke:#2171b5;"/> - <path clip-path="url(#pc9763b54a5)" d="M 192.942128 153.248049 -L 180.840125 160.085266 -" style="fill:none;stroke:#2171b5;"/> + <path clip-path="url(#pe144b463bf)" d="M 220.610879 143.792878 +L 215.177222 141.924563 +" style="fill:none;stroke:#0e59a2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 215.177222 141.924563 +L 209.433664 141.448151 +" style="fill:none;stroke:#0e59a2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 209.433664 141.448151 +L 209.433664 141.448151 +" style="fill:none;stroke:#0f5aa3;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 209.433664 141.448151 +L 197.602572 142.762065 +" style="fill:none;stroke:#0f5aa3;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 197.602572 142.762065 +L 185.978255 144.985633 +" style="fill:none;stroke:#135fa7;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 185.978255 144.985633 +L 174.404381 147.390504 +" style="fill:none;stroke:#1764ab;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 174.404381 147.390504 +L 162.826743 149.799856 +" style="fill:none;stroke:#1d6cb1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 162.826743 149.799856 +L 151.228437 152.159463 +" style="fill:none;stroke:#2474b7;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 151.228437 152.159463 +L 139.604492 154.45069 +" style="fill:none;stroke:#2f7fbc;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 139.604492 154.45069 +L 127.954865 156.669043 +" style="fill:none;stroke:#3a8ac2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 127.954865 156.669043 +L 116.280997 158.815371 +" style="fill:none;stroke:#4896c8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 116.280997 158.815371 +L 104.584254 160.891529 +" style="fill:none;stroke:#5aa2cf;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 104.584254 160.891529 +L 92.866067 162.899692 +" style="fill:none;stroke:#6dafd7;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 92.866067 162.899692 +L 81.128113 164.842881 +" style="fill:none;stroke:#87bddc;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 81.128113 164.842881 +L 69.37224 166.725028 +" style="fill:none;stroke:#a3cce3;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 69.37224 166.725028 +L 57.6 168.549517 +" style="fill:none;stroke:#bad6eb;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 57.6 168.549517 +L 57.6 168.549517 +" style="fill:none;stroke:#cee0f2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 57.6 168.549517 +L 57.6 168.549517 +" style="fill:none;stroke:#cee0f2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 187.707023 161.348411 +L 175.70859 161.325243 +" style="fill:none;stroke:#1c6ab0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 175.70859 161.325243 +L 163.75062 162.202472 +" style="fill:none;stroke:#2070b4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 163.75062 162.202472 +L 151.869258 163.566485 +" style="fill:none;stroke:#2979b9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 151.869258 163.566485 +L 140.044152 165.1872 +" style="fill:none;stroke:#3383be;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 140.044152 165.1872 +L 128.25251 166.940187 +" style="fill:none;stroke:#3e8ec4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 128.25251 166.940187 +L 116.478177 168.757071 +" style="fill:none;stroke:#4d99ca;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 116.478177 168.757071 +L 104.709993 170.596226 +" style="fill:none;stroke:#5da5d1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 104.709993 170.596226 +L 92.941378 172.433911 +" style="fill:none;stroke:#72b2d8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 92.941378 172.433911 +L 81.168373 174.255882 +" style="fill:none;stroke:#8dc1dd;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 81.168373 174.255882 +L 69.388349 176.052474 +" style="fill:none;stroke:#a6cee4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 69.388349 176.052474 +L 57.6 177.818483 +" style="fill:none;stroke:#bed8ec;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 57.6 177.818483 +L 57.6 177.818483 +" style="fill:none;stroke:#d1e2f3;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 57.6 177.818483 +L 57.6 177.818483 +" style="fill:none;stroke:#d1e2f3;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 187.950615 172.498929 +L 175.968271 172.014725 +" style="fill:none;stroke:#1f6eb3;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 175.968271 172.014725 +L 163.968641 172.450155 +" style="fill:none;stroke:#2474b7;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 163.968641 172.450155 +L 152.026275 173.468135 +" style="fill:none;stroke:#2d7dbb;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 152.026275 173.468135 +L 140.14498 174.838695 +" style="fill:none;stroke:#3686c0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 140.14498 174.838695 +L 128.309793 176.419232 +" style="fill:none;stroke:#4191c6;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 128.309793 176.419232 +L 116.504499 178.120658 +" style="fill:none;stroke:#519ccc;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 116.504499 178.120658 +L 104.716813 179.889022 +" style="fill:none;stroke:#63a8d3;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 104.716813 179.889022 +L 92.937716 181.689035 +" style="fill:none;stroke:#79b5d9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 92.937716 181.689035 +L 81.160979 183.49762 +" style="fill:none;stroke:#92c4de;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 81.160979 183.49762 +L 69.382649 185.300414 +" style="fill:none;stroke:#abd0e6;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 69.382649 185.300414 +L 57.6 187.087448 +" style="fill:none;stroke:#c3daee;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 57.6 187.087448 +L 57.6 187.087448 +" style="fill:none;stroke:#d3e4f3;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 57.6 187.087448 +L 57.6 187.087448 +" style="fill:none;stroke:#d3e4f3;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 140.016395 183.644142 +L 128.188152 185.252749 +" style="fill:none;stroke:#4695c8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 128.188152 185.252749 +L 116.39468 186.998832 +" style="fill:none;stroke:#56a0ce;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 116.39468 186.998832 +L 104.623093 188.825639 +" style="fill:none;stroke:#68acd5;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 104.623093 188.825639 +L 92.863897 190.696403 +" style="fill:none;stroke:#7fb9da;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 92.863897 190.696403 +L 81.110007 192.58563 +" style="fill:none;stroke:#99c7e0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 81.110007 192.58563 +L 69.356444 194.476016 +" style="fill:none;stroke:#afd1e7;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 69.356444 194.476016 +L 57.6 196.356414 +" style="fill:none;stroke:#c7dbef;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 57.6 196.356414 +L 57.6 196.356414 +" style="fill:none;stroke:#d6e6f4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 57.6 196.356414 +L 57.6 196.356414 +" style="fill:none;stroke:#d6e6f4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 187.420782 188.241594 +L 175.411173 188.25933 +" style="fill:none;stroke:#2474b7;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 175.411173 188.25933 +L 163.435114 188.99491 +" style="fill:none;stroke:#2c7cba;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 163.435114 188.99491 +L 151.528825 190.228571 +" style="fill:none;stroke:#3484bf;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 151.528825 190.228571 +L 139.690186 191.790795 +" style="fill:none;stroke:#3d8dc4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 139.690186 191.790795 +L 127.904562 193.564593 +" style="fill:none;stroke:#4a98c9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 127.904562 193.564593 +L 116.156066 195.471425 +" style="fill:none;stroke:#5aa2cf;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 116.156066 195.471425 +L 104.431005 197.457351 +" style="fill:none;stroke:#6caed6;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 104.431005 197.457351 +L 92.71927 199.486682 +" style="fill:none;stroke:#84bcdb;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 92.71927 199.486682 +L 81.013568 201.535198 +" style="fill:none;stroke:#9dcae1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 81.013568 201.535198 +L 69.308435 203.585501 +" style="fill:none;stroke:#b4d3e9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 69.308435 203.585501 +L 57.6 205.625379 +" style="fill:none;stroke:#caddf0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 57.6 205.625379 +L 57.6 205.625379 +" style="fill:none;stroke:#d9e7f5;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 57.6 205.625379 +L 57.6 205.625379 +" style="fill:none;stroke:#d9e7f5;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 127.454954 201.460535 +L 115.782693 203.611538 +" style="fill:none;stroke:#5fa6d1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 115.782693 203.611538 +L 104.13407 205.833071 +" style="fill:none;stroke:#72b2d8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 104.13407 205.833071 +L 92.498179 208.091671 +" style="fill:none;stroke:#8abfdd;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 92.498179 208.091671 +L 80.867306 210.364619 +" style="fill:none;stroke:#a3cce3;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 80.867306 210.364619 +L 69.235949 212.636059 +" style="fill:none;stroke:#b9d6ea;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 69.235949 212.636059 +L 57.6 214.894345 +" style="fill:none;stroke:#cddff1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 57.6 214.894345 +L 57.6 214.894345 +" style="fill:none;stroke:#dce9f6;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 57.6 214.894345 +L 57.6 214.894345 +" style="fill:none;stroke:#dce9f6;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 324.117903 226.890482 +L 312.471955 224.663923 +" style="fill:none;stroke:#529dcc;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 312.471955 224.663923 +L 300.878652 222.293048 +" style="fill:none;stroke:#4594c7;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 300.878652 222.293048 +L 289.34095 219.778323 +" style="fill:none;stroke:#3b8bc2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 289.34095 219.778323 +L 277.855651 217.135049 +" style="fill:none;stroke:#3484bf;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 277.855651 217.135049 +L 266.407469 214.404605 +" style="fill:none;stroke:#2d7dbb;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 266.407469 214.404605 +L 254.962038 211.669268 +" style="fill:none;stroke:#2777b8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 254.962038 211.669268 +L 243.462546 209.067936 +" style="fill:none;stroke:#2474b7;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 243.462546 209.067936 +L 231.839716 206.804973 +" style="fill:none;stroke:#2171b5;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 231.839716 206.804973 +L 220.044616 205.128872 +" style="fill:none;stroke:#2070b4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 220.044616 205.128872 +L 208.0989 204.26506 +" style="fill:none;stroke:#2171b5;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 208.0989 204.26506 +L 196.095784 204.307783 +" style="fill:none;stroke:#2373b6;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 196.095784 204.307783 +L 184.142835 205.183948 +" style="fill:none;stroke:#2777b8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 184.142835 205.183948 +L 172.304947 206.722733 +" style="fill:none;stroke:#2e7ebc;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 172.304947 206.722733 +L 160.593649 208.740373 +" style="fill:none;stroke:#3585bf;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 160.593649 208.740373 +L 148.99077 211.086353 +" style="fill:none;stroke:#3d8dc4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 148.99077 211.086353 +L 137.470573 213.651367 +" style="fill:none;stroke:#4997c9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 137.470573 213.651367 +L 126.008572 216.358341 +" style="fill:none;stroke:#58a1cf;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 126.008572 216.358341 +L 114.5844 219.153037 +" style="fill:none;stroke:#68acd5;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 114.5844 219.153037 +L 103.182256 221.997285 +" style="fill:none;stroke:#7db8da;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 103.182256 221.997285 +L 91.79033 224.864135 +" style="fill:none;stroke:#95c5df;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 91.79033 224.864135 +L 80.399909 227.734256 +" style="fill:none;stroke:#abd0e6;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 80.399909 227.734256 +L 69.004648 230.593682 +" style="fill:none;stroke:#c2d9ee;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 69.004648 230.593682 +L 57.6 233.432276 +" style="fill:none;stroke:#d2e3f3;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 57.6 233.432276 +L 57.6 233.432276 +" style="fill:none;stroke:#e1edf8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 57.6 233.432276 +L 57.6 233.432276 +" style="fill:none;stroke:#e1edf8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 136.279864 220.427863 +L 124.99173 223.513294 +" style="fill:none;stroke:#5ca4d0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 124.99173 223.513294 +L 113.740536 226.673406 +" style="fill:none;stroke:#6dafd7;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 113.740536 226.673406 +L 102.510167 229.874716 +" style="fill:none;stroke:#84bcdb;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 102.510167 229.874716 +L 91.288847 233.093501 +" style="fill:none;stroke:#9cc9e1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 91.288847 233.093501 +L 80.067632 236.312327 +" style="fill:none;stroke:#b0d2e7;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 80.067632 236.312327 +L 68.839672 239.518117 +" style="fill:none;stroke:#c7dbef;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 68.839672 239.518117 +L 57.6 242.701241 +" style="fill:none;stroke:#d5e5f4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 57.6 242.701241 +L 57.6 242.701241 +" style="fill:none;stroke:#e4eff9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 57.6 242.701241 +L 57.6 242.701241 +" style="fill:none;stroke:#e4eff9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 320.804256 280.625883 +L 310.949371 285.726861 +" style="fill:none;stroke:#69add5;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 310.949371 285.726861 +L 301.982928 291.672279 +" style="fill:none;stroke:#61a7d2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 301.982928 291.672279 +L 293.938558 298.315034 +" style="fill:none;stroke:#5da5d1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 293.938558 298.315034 +L 286.762375 305.493434 +" style="fill:none;stroke:#5aa2cf;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 286.762375 305.493434 +L 286.762375 305.493434 +" style="fill:none;stroke:#58a1cf;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 286.762375 305.493434 +L 284.951432 307.519979 +" style="fill:none;stroke:#58a1cf;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 284.951432 307.519979 +L 284.951432 307.519979 +" style="fill:none;stroke:#58a1cf;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 284.951432 307.519979 +L 284.951432 307.519979 +" style="fill:none;stroke:#58a1cf;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 405.888401 233.432276 +L 394.11323 231.620316 +" style="fill:none;stroke:#d6e5f4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 394.11323 231.620316 +L 382.375521 229.677938 +" style="fill:none;stroke:#c7dcef;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 382.375521 229.677938 +L 370.68453 227.585511 +" style="fill:none;stroke:#b2d2e8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 370.68453 227.585511 +L 359.052454 225.319611 +" style="fill:none;stroke:#9cc9e1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 359.052454 225.319611 +L 347.495399 222.85098 +" style="fill:none;stroke:#84bcdb;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 347.495399 222.85098 +L 336.03503 220.144912 +" style="fill:none;stroke:#6dafd7;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 336.03503 220.144912 +L 324.70033 217.160863 +" style="fill:none;stroke:#5ca4d0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 324.70033 217.160863 +L 313.529372 213.852821 +" style="fill:none;stroke:#4e9acb;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 313.529372 213.852821 +L 302.571141 210.171853 +" style="fill:none;stroke:#4191c6;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 302.571141 210.171853 +L 291.885739 206.072183 +" style="fill:none;stroke:#3888c1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 291.885739 206.072183 +L 281.540195 201.515691 +" style="fill:none;stroke:#3080bd;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 405.888401 224.16331 +L 394.264262 221.873338 +" style="fill:none;stroke:#d3e4f3;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 394.264262 221.873338 +L 382.712346 219.389565 +" style="fill:none;stroke:#c3daee;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 382.712346 219.389565 +L 371.251921 216.681571 +" style="fill:none;stroke:#add0e6;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 371.251921 216.681571 +L 359.908357 213.713802 +" style="fill:none;stroke:#97c6df;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 359.908357 213.713802 +L 348.715038 210.44558 +" style="fill:none;stroke:#7fb9da;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 348.715038 210.44558 +L 337.715358 206.832634 +" style="fill:none;stroke:#69add5;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 337.715358 206.832634 +L 326.964796 202.826623 +" style="fill:none;stroke:#58a1cf;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 326.964796 202.826623 +L 316.531362 198.380972 +" style="fill:none;stroke:#4997c9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 316.531362 198.380972 +L 306.493795 193.457258 +" style="fill:none;stroke:#3d8dc4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 306.493795 193.457258 +L 296.935677 188.030936 +" style="fill:none;stroke:#3484bf;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 296.935677 188.030936 +L 287.935389 182.099444 +" style="fill:none;stroke:#2c7cba;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 287.935389 182.099444 +L 279.556697 175.681945 +" style="fill:none;stroke:#2474b7;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 405.888401 214.894345 +L 394.420071 212.204435 +" style="fill:none;stroke:#d0e2f2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 394.420071 212.204435 +L 383.056016 209.279878 +" style="fill:none;stroke:#bfd8ed;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 383.056016 209.279878 +L 371.822859 206.087713 +" style="fill:none;stroke:#a9cfe5;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 371.822859 206.087713 +L 360.754603 202.591063 +" style="fill:none;stroke:#92c4de;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 360.754603 202.591063 +L 349.893454 198.751994 +" style="fill:none;stroke:#79b5d9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 349.893454 198.751994 +L 339.291519 194.531083 +" style="fill:none;stroke:#64a9d3;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 339.291519 194.531083 +L 329.009771 189.892569 +" style="fill:none;stroke:#549fcd;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 329.009771 189.892569 +L 319.116092 184.80854 +" style="fill:none;stroke:#4594c7;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 319.116092 184.80854 +L 309.681261 179.262382 +" style="fill:none;stroke:#3a8ac2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 309.681261 179.262382 +L 300.771254 173.254066 +" style="fill:none;stroke:#3181bd;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 300.771254 173.254066 +L 292.438772 166.802065 +" style="fill:none;stroke:#2777b8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 292.438772 166.802065 +L 284.717501 159.940636 +" style="fill:none;stroke:#2070b4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 284.717501 159.940636 +L 277.624385 152.711872 +" style="fill:none;stroke:#1b69af;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 277.624385 152.711872 +L 271.164473 145.160425 +" style="fill:none;stroke:#1764ab;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 271.164473 145.160425 +L 265.35912 137.32031 +" style="fill:none;stroke:#125ea6;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 265.35912 137.32031 +L 260.434866 129.160528 +" style="fill:none;stroke:#0e59a2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 260.434866 129.160528 +L 260.434866 129.160528 +" style="fill:none;stroke:#0b559f;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 260.434866 129.160528 +L 259.375416 127.003488 +" style="fill:none;stroke:#0b559f;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 259.375416 127.003488 +L 259.375416 127.003488 +" style="fill:none;stroke:#0a549e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 259.375416 127.003488 +L 258.679825 125.084284 +" style="fill:none;stroke:#0a549e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 258.679825 125.084284 +L 258.679825 125.084284 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 258.679825 125.084284 +L 258.608778 123.852118 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 258.608778 123.852118 +L 258.608778 123.852118 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 258.608778 123.852118 +L 259.012042 123.142201 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 259.012042 123.142201 +L 259.960869 122.705964 +" style="fill:none;stroke:#09529d;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 259.960869 122.705964 +L 260.628296 122.396536 +" style="fill:none;stroke:#09529d;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 260.628296 122.396536 +L 261.067791 122.11871 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 261.067791 122.11871 +L 261.460557 121.892564 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 261.460557 121.892564 +L 261.745626 121.722435 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 261.745626 121.722435 +L 262.071131 121.61383 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 262.071131 121.61383 +L 262.442348 121.607871 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 262.442348 121.607871 +L 262.442348 121.607871 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 262.442348 121.607871 +L 262.639535 121.565178 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 262.639535 121.565178 +L 262.777116 121.519579 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 262.777116 121.519579 +L 262.869286 121.467713 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 262.869286 121.467713 +L 262.939946 121.424469 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 262.939946 121.424469 +L 263.005896 121.402832 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.005896 121.402832 +L 263.070163 121.402759 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.070163 121.402759 +L 263.123259 121.40796 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.123259 121.40796 +L 263.153551 121.397289 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.153551 121.397289 +L 263.16413 121.370334 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.16413 121.370334 +L 263.170566 121.346226 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.170566 121.346226 +L 263.184933 121.340651 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.184933 121.340651 +L 263.208516 121.354566 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.208516 121.354566 +L 263.230935 121.371708 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.230935 121.371708 +L 263.237623 121.36989 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.237623 121.36989 +L 263.229744 121.349001 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.229744 121.349001 +L 263.221718 121.329359 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.221718 121.329359 +L 263.224472 121.327222 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.224472 121.327222 +L 263.238487 121.343749 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.238487 121.343749 +L 263.253141 121.363122 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.253141 121.363122 +L 263.254767 121.364036 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.254767 121.364036 +L 263.243535 121.345678 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.243535 121.345678 +L 263.232534 121.327344 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.232534 121.327344 +L 263.2323 121.325245 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.2323 121.325245 +L 263.243568 121.341131 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.243568 121.341131 +L 263.25643 121.360378 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.25643 121.360378 +L 263.257613 121.36249 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.257613 121.36249 +L 263.246471 121.345668 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.246471 121.345668 +L 263.23514 121.327931 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.23514 121.327931 +L 263.233983 121.325295 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.233983 121.325295 +L 263.244095 121.340065 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.244095 121.340065 +L 263.256308 121.358767 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.256308 121.358767 +L 263.257837 121.361717 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.257837 121.361717 +L 263.247383 121.346201 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.247383 121.346201 +L 263.23622 121.328951 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.23622 121.328951 +L 263.234555 121.325729 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.234555 121.325729 +L 263.243832 121.339349 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.243832 121.339349 +L 263.2556 121.357424 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.2556 121.357424 +L 263.257572 121.361073 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.257572 121.361073 +L 263.247887 121.346775 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.247887 121.346775 +L 263.236995 121.33001 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.236995 121.33001 +L 263.234931 121.326244 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.234931 121.326244 +L 263.243465 121.338759 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.243465 121.338759 +L 263.254821 121.356188 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.254821 121.356188 +L 263.257209 121.360444 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.257209 121.360444 +L 263.248279 121.347303 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.248279 121.347303 +L 263.237689 121.331036 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.237689 121.331036 +L 263.235278 121.326782 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.235278 121.326782 +L 263.243116 121.338247 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.243116 121.338247 +L 263.254064 121.355026 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.254064 121.355026 +L 263.256823 121.359812 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.256823 121.359812 +L 263.248617 121.347772 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.248617 121.347772 +L 263.238343 121.332018 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.238343 121.332018 +L 263.235624 121.327331 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.235624 121.327331 +L 263.242806 121.337802 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.242806 121.337802 +L 263.253345 121.35393 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.253345 121.35393 +L 263.256428 121.359175 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.256428 121.359175 +L 263.248912 121.348182 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.248912 121.348182 +L 263.238964 121.332953 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.238964 121.332953 +L 263.235974 121.327886 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.235974 121.327886 +L 263.242534 121.337417 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.242534 121.337417 +L 263.252665 121.352897 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.252665 121.352897 +L 263.25603 121.358536 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.25603 121.358536 +L 263.24917 121.348538 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.24917 121.348538 +L 263.239556 121.333843 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.239556 121.333843 +L 263.236328 121.328444 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.236328 121.328444 +L 263.242298 121.337087 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.242298 121.337087 +L 263.252024 121.351924 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.252024 121.351924 +L 263.25563 121.357898 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.25563 121.357898 +L 263.249394 121.348842 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.249394 121.348842 +L 263.240119 121.334688 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.240119 121.334688 +L 263.236683 121.329003 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.236683 121.329003 +L 263.242097 121.336808 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.242097 121.336808 +L 263.251419 121.351008 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.251419 121.351008 +L 263.25523 121.357262 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.25523 121.357262 +L 263.249584 121.349098 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.249584 121.349098 +L 263.240653 121.335489 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.240653 121.335489 +L 263.237038 121.329561 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.237038 121.329561 +L 263.241926 121.336575 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.241926 121.336575 +L 263.250849 121.350147 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.250849 121.350147 +L 263.254831 121.356631 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.254831 121.356631 +L 263.249745 121.349309 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.249745 121.349309 +L 263.24116 121.336248 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.24116 121.336248 +L 263.237393 121.330117 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.237393 121.330117 +L 263.241785 121.336386 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.241785 121.336386 +L 263.250314 121.349339 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.250314 121.349339 +L 263.254436 121.356006 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.254436 121.356006 +L 263.249878 121.34948 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.249878 121.34948 +L 263.24164 121.336965 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.24164 121.336965 +L 263.237746 121.330668 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.237746 121.330668 +L 263.24167 121.336236 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.24167 121.336236 +L 263.24981 121.348581 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.24981 121.348581 +L 263.254044 121.35539 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.254044 121.35539 +L 263.249984 121.349612 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.249984 121.349612 +L 263.242093 121.337642 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.242093 121.337642 +L 263.238096 121.331214 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.238096 121.331214 +L 263.24158 121.336123 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.24158 121.336123 +L 263.249338 121.347871 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.249338 121.347871 +L 263.253658 121.354784 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.253658 121.354784 +L 263.250066 121.349708 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.250066 121.349708 +L 263.242521 121.338279 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.242521 121.338279 +L 263.238442 121.331753 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.238442 121.331753 +L 263.241512 121.336043 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.241512 121.336043 +L 263.248896 121.347208 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.248896 121.347208 +L 263.253277 121.354188 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.253277 121.354188 +L 263.250126 121.349772 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.250126 121.349772 +L 263.242924 121.338879 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.242924 121.338879 +L 263.238784 121.332284 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.238784 121.332284 +L 263.241465 121.335993 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.241465 121.335993 +L 263.248483 121.346588 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.248483 121.346588 +L 263.252904 121.353605 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.252904 121.353605 +L 263.250166 121.349806 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.250166 121.349806 +L 263.243302 121.339441 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.243302 121.339441 +L 263.239121 121.332805 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.239121 121.332805 +L 263.241437 121.335971 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.241437 121.335971 +L 263.248097 121.346011 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.248097 121.346011 +L 263.252538 121.353035 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.252538 121.353035 +L 263.250186 121.349812 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.250186 121.349812 +L 263.243658 121.339968 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.243658 121.339968 +L 263.239452 121.333317 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.239452 121.333317 +L 263.241426 121.335975 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.241426 121.335975 +L 263.247737 121.345473 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.247737 121.345473 +L 263.25218 121.352479 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.25218 121.352479 +L 263.250189 121.349794 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.250189 121.349794 +L 263.24399 121.340461 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.24399 121.340461 +L 263.239776 121.333817 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.239776 121.333817 +L 263.241431 121.336002 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.241431 121.336002 +L 263.247402 121.344974 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.247402 121.344974 +L 263.251831 121.351937 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.251831 121.351937 +L 263.250177 121.349752 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.250177 121.349752 +L 263.244301 121.34092 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.244301 121.34092 +L 263.240093 121.334306 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.240093 121.334306 +L 263.241451 121.33605 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.241451 121.33605 +L 263.24709 121.344512 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.24709 121.344512 +L 263.251491 121.351411 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.251491 121.351411 +L 263.25015 121.34969 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.25015 121.34969 +L 263.244591 121.341348 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.244591 121.341348 +L 263.240403 121.334783 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.240403 121.334783 +L 263.241483 121.336118 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.241483 121.336118 +L 263.246802 121.344084 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.246802 121.344084 +L 263.251161 121.350901 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.251161 121.350901 +L 263.25011 121.349608 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.25011 121.349608 +L 263.244861 121.341744 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.244861 121.341744 +L 263.240705 121.335247 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.240705 121.335247 +L 263.241528 121.336202 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.241528 121.336202 +L 263.246535 121.34369 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.246535 121.34369 +L 263.25084 121.350406 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.25084 121.350406 +L 263.250058 121.34951 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.250058 121.34951 +L 263.245111 121.342111 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.245111 121.342111 +L 263.240998 121.335697 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.240998 121.335697 +L 263.241583 121.336301 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.241583 121.336301 +L 263.246289 121.343326 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.246289 121.343326 +L 263.25053 121.349928 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.25053 121.349928 +L 263.249995 121.349397 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.249995 121.349397 +L 263.245342 121.34245 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.245342 121.34245 +L 263.241284 121.336134 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.241284 121.336134 +L 263.241647 121.336414 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.241647 121.336414 +L 263.246062 121.342993 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.246062 121.342993 +L 263.25023 121.349467 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.25023 121.349467 +L 263.249923 121.349271 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.249923 121.349271 +L 263.245555 121.342761 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 405.888401 205.625379 +L 394.567385 202.608967 +" style="fill:none;stroke:#cde0f1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 394.567385 202.608967 +L 383.375822 199.336106 +" style="fill:none;stroke:#bad6eb;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 383.375822 199.336106 +L 372.343765 195.776221 +" style="fill:none;stroke:#a5cde3;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 372.343765 195.776221 +L 361.508276 191.896455 +" style="fill:none;stroke:#8cc0dd;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 361.508276 191.896455 +L 350.912885 187.66551 +" style="fill:none;stroke:#74b3d8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 350.912885 187.66551 +L 340.607804 183.054779 +" style="fill:none;stroke:#60a7d2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 340.607804 183.054779 +L 330.648524 178.040812 +" style="fill:none;stroke:#519ccc;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 330.648524 178.040812 +L 321.091714 172.609911 +" style="fill:none;stroke:#4191c6;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 321.091714 172.609911 +L 311.988747 166.762666 +" style="fill:none;stroke:#3787c0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 311.988747 166.762666 +L 303.382204 160.512161 +" style="fill:none;stroke:#2d7dbb;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 303.382204 160.512161 +L 295.299608 153.884409 +" style="fill:none;stroke:#2474b7;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 295.299608 153.884409 +L 287.746904 146.917819 +" style="fill:none;stroke:#1e6db2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 287.746904 146.917819 +L 280.70887 139.657637 +" style="fill:none;stroke:#1966ad;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 280.70887 139.657637 +L 274.143168 132.15469 +" style="fill:none;stroke:#1460a8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 405.888401 196.356414 +L 394.695118 193.08644 +" style="fill:none;stroke:#cbdef1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 394.695118 193.08644 +L 383.64785 189.55214 +" style="fill:none;stroke:#b7d4ea;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 383.64785 189.55214 +L 372.77682 185.727123 +" style="fill:none;stroke:#a0cbe2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 372.77682 185.727123 +L 362.117241 181.585679 +" style="fill:none;stroke:#87bddc;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 362.117241 181.585679 +L 351.709153 177.103909 +" style="fill:none;stroke:#6fb0d7;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 351.709153 177.103909 +L 341.595738 172.262794 +" style="fill:none;stroke:#5ca4d0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 341.595738 172.262794 +L 331.821393 167.049708 +" style="fill:none;stroke:#4b98ca;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 331.821393 167.049708 +L 322.426228 161.463324 +" style="fill:none;stroke:#3e8ec4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 322.426228 161.463324 +L 313.442072 155.513602 +" style="fill:none;stroke:#3484bf;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 313.442072 155.513602 +L 304.886819 149.222448 +" style="fill:none;stroke:#2a7ab9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 304.886819 149.222448 +L 296.754316 142.626985 +" style="fill:none;stroke:#2171b5;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 296.754316 142.626985 +L 289.001539 135.781221 +" style="fill:none;stroke:#1b69af;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 289.001539 135.781221 +L 281.494777 128.783652 +" style="fill:none;stroke:#1562a9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 405.888401 187.087448 +L 394.795998 183.631821 +" style="fill:none;stroke:#c8dcf0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 394.795998 183.631821 +L 383.856518 179.915929 +" style="fill:none;stroke:#b2d2e8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 383.856518 179.915929 +L 373.097903 175.918198 +" style="fill:none;stroke:#9cc9e1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 373.097903 175.918198 +L 362.551051 171.61912 +" style="fill:none;stroke:#82bbdb;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 362.551051 171.61912 +L 352.248831 167.003004 +" style="fill:none;stroke:#6aaed6;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 352.248831 167.003004 +L 342.225018 162.058609 +" style="fill:none;stroke:#58a1cf;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 342.225018 162.058609 +L 332.509749 156.783503 +" style="fill:none;stroke:#4896c8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 332.509749 156.783503 +L 323.124632 151.186615 +" style="fill:none;stroke:#3b8bc2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 323.124632 151.186615 +L 314.077638 145.2883 +" style="fill:none;stroke:#3080bd;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 314.077638 145.2883 +L 305.350884 139.127466 +" style="fill:none;stroke:#2676b8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 405.888401 168.549517 +L 394.892429 164.926367 +" style="fill:none;stroke:#c1d9ed;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 394.892429 164.926367 +L 384.036922 161.075496 +" style="fill:none;stroke:#a9cfe5;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 384.036922 161.075496 +L 373.339442 156.986755 +" style="fill:none;stroke:#91c3de;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 373.339442 156.986755 +L 362.816261 152.654343 +" style="fill:none;stroke:#77b5d9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 362.816261 152.654343 +L 352.480446 148.078456 +" style="fill:none;stroke:#61a7d2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 352.480446 148.078456 +L 342.339035 143.26691 +" style="fill:none;stroke:#4f9bcb;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 342.339035 143.26691 +L 332.385548 138.241773 +" style="fill:none;stroke:#3f8fc5;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 332.385548 138.241773 +L 322.589197 133.047728 +" style="fill:none;stroke:#3383be;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 322.589197 133.047728 +L 312.873631 127.769858 +" style="fill:none;stroke:#2979b9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 312.873631 127.769858 +L 303.061257 122.595561 +" style="fill:none;stroke:#1f6eb3;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 303.061257 122.595561 +L 292.707503 118.116774 +" style="fill:none;stroke:#1865ac;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 292.707503 118.116774 +L 292.707503 118.116774 +" style="fill:none;stroke:#125da6;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 292.707503 118.116774 +L 288.106051 116.640546 +" style="fill:none;stroke:#125da6;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 288.106051 116.640546 +L 288.106051 116.640546 +" style="fill:none;stroke:#0f5aa3;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 288.106051 116.640546 +L 283.888203 115.913484 +" style="fill:none;stroke:#0f5aa3;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 283.888203 115.913484 +L 283.888203 115.913484 +" style="fill:none;stroke:#0e58a2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 283.888203 115.913484 +L 280.104108 115.931386 +" style="fill:none;stroke:#0e58a2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 280.104108 115.931386 +L 276.417772 116.6392 +" style="fill:none;stroke:#0c56a0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 405.888401 150.011586 +L 394.823585 146.505839 +" style="fill:none;stroke:#b8d5ea;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 394.823585 146.505839 +L 383.855473 142.835301 +" style="fill:none;stroke:#a0cbe2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 383.855473 142.835301 +L 372.986015 139.005353 +" style="fill:none;stroke:#85bcdc;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 372.986015 139.005353 +L 362.211902 135.028569 +" style="fill:none;stroke:#6aaed6;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 362.211902 135.028569 +L 351.519559 130.931062 +" style="fill:none;stroke:#57a0ce;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 351.519559 130.931062 +L 340.8787 126.75997 +" style="fill:none;stroke:#4594c7;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 340.8787 126.75997 +L 330.229648 122.601181 +" style="fill:none;stroke:#3787c0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 330.229648 122.601181 +L 319.460832 118.624291 +" style="fill:none;stroke:#2b7bba;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 319.460832 118.624291 +L 308.373917 115.206245 +" style="fill:none;stroke:#2070b4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 308.373917 115.206245 +L 308.373917 115.206245 +" style="fill:none;stroke:#1966ad;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 308.373917 115.206245 +L 300.696717 113.54354 +" style="fill:none;stroke:#1966ad;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 300.696717 113.54354 +L 300.696717 113.54354 +" style="fill:none;stroke:#1460a8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 405.888401 140.742621 +L 394.722996 137.418172 +" style="fill:none;stroke:#b3d3e8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 394.722996 137.418172 +L 383.622841 133.974634 +" style="fill:none;stroke:#9cc9e1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 383.622841 133.974634 +L 372.581858 130.426903 +" style="fill:none;stroke:#7fb9da;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 372.581858 130.426903 +L 361.585612 126.802836 +" style="fill:none;stroke:#65aad4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 361.585612 126.802836 +L 350.606506 123.150692 +" style="fill:none;stroke:#529dcc;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 405.888401 122.20469 +L 394.403507 119.551547 +" style="fill:none;stroke:#aacfe5;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 394.403507 119.551547 +L 382.915476 116.906094 +" style="fill:none;stroke:#8fc2de;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 382.915476 116.906094 +L 371.405572 114.31461 +" style="fill:none;stroke:#72b2d8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 371.405572 114.31461 +L 359.846973 111.848863 +" style="fill:none;stroke:#5ca4d0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 359.846973 111.848863 +L 348.204462 109.621597 +" style="fill:none;stroke:#4896c8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 348.204462 109.621597 +L 336.439785 107.813153 +" style="fill:none;stroke:#3888c1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 336.439785 107.813153 +L 324.531215 106.712811 +" style="fill:none;stroke:#2b7bba;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 324.531215 106.712811 +L 324.531215 106.712811 +" style="fill:none;stroke:#206fb4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 324.531215 106.712811 +L 314.468951 106.599061 +" style="fill:none;stroke:#206fb4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 314.468951 106.599061 +L 314.468951 106.599061 +" style="fill:none;stroke:#1967ad;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 314.468951 106.599061 +L 305.902415 107.300107 +" style="fill:none;stroke:#1967ad;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 405.888401 103.666759 +L 394.022601 102.222866 +" style="fill:none;stroke:#a1cbe2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 394.022601 102.222866 +L 382.120005 100.961386 +" style="fill:none;stroke:#84bcdb;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 382.120005 100.961386 +L 370.174686 99.961204 +" style="fill:none;stroke:#68acd5;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 370.174686 99.961204 +L 358.188149 99.329415 +" style="fill:none;stroke:#539ecd;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 358.188149 99.329415 +L 346.179478 99.207821 +" style="fill:none;stroke:#4090c5;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 405.888401 94.397793 +L 393.893156 93.804532 +" style="fill:none;stroke:#9dcae1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 393.893156 93.804532 +L 381.880832 93.479449 +" style="fill:none;stroke:#7db8da;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 381.880832 93.479449 +L 369.863029 93.501799 +" style="fill:none;stroke:#64a9d3;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 369.863029 93.501799 +L 357.866334 93.968707 +" style="fill:none;stroke:#4f9bcb;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 357.866334 93.968707 +L 345.937418 94.990516 +" style="fill:none;stroke:#3d8dc4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 345.937418 94.990516 +L 334.155488 96.677602 +" style="fill:none;stroke:#3080bd;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 405.888401 85.128828 +L 393.881354 85.552037 +" style="fill:none;stroke:#97c6df;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 393.881354 85.552037 +L 381.904982 86.300273 +" style="fill:none;stroke:#79b5d9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 381.904982 86.300273 +L 369.983806 87.434854 +" style="fill:none;stroke:#60a7d2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 369.983806 87.434854 +L 358.161585 89.022448 +" style="fill:none;stroke:#4b98ca;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 405.888401 66.590897 +L 394.468797 69.383436 +" style="fill:none;stroke:#8cc0dd;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 394.468797 69.383436 +L 383.177676 72.449064 +" style="fill:none;stroke:#71b1d7;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 383.177676 72.449064 +L 372.032167 75.795415 +" style="fill:none;stroke:#5ca4d0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 372.032167 75.795415 +L 361.045437 79.424541 +" style="fill:none;stroke:#4a98c9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 405.888401 48.052966 +L 395.991188 53.135668 +" style="fill:none;stroke:#81badb;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 395.991188 53.135668 +L 386.155378 58.284622 +" style="fill:none;stroke:#6aaed6;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 386.155378 58.284622 +L 376.37634 63.492298 +" style="fill:none;stroke:#5aa2cf;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 376.37634 63.492298 +L 366.647362 68.750154 +" style="fill:none;stroke:#4b98ca;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 381.010658 48.052966 +L 373.046286 54.760595 +" style="fill:none;stroke:#4b98ca;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 373.046286 54.760595 +L 364.914235 61.354372 +" style="fill:none;stroke:#4191c6;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 364.914235 61.354372 +L 356.607585 67.825731 +" style="fill:none;stroke:#3989c1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 356.607585 67.825731 +L 348.118853 74.16162 +" style="fill:none;stroke:#3282be;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 348.118853 74.16162 +L 339.440958 80.348124 +" style="fill:none;stroke:#2a7ab9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 339.440958 80.348124 +L 330.561434 86.367378 +" style="fill:none;stroke:#2373b6;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 330.561434 86.367378 +L 321.461342 92.198169 +" style="fill:none;stroke:#1e6db2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 321.461342 92.198169 +L 312.121241 97.810292 +" style="fill:none;stroke:#1967ad;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 331.255172 48.052966 +L 329.409589 56.901323 +" style="fill:none;stroke:#135fa7;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 329.409589 56.901323 +L 326.858201 65.64877 +" style="fill:none;stroke:#1460a8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 326.858201 65.64877 +L 323.430941 74.222819 +" style="fill:none;stroke:#1561a9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 323.430941 74.222819 +L 318.940954 82.50651 +" style="fill:none;stroke:#1562a9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 306.377429 48.052966 +L 307.115026 56.994551 +" style="fill:none;stroke:#084b93;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 307.115026 56.994551 +L 307.404313 65.948437 +" style="fill:none;stroke:#084f99;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 307.404313 65.948437 +L 307.029218 74.896224 +" style="fill:none;stroke:#09529d;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 307.029218 74.896224 +L 305.650114 83.780647 +" style="fill:none;stroke:#0c56a0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 293.938558 48.052966 +L 295.587053 56.92783 +" style="fill:none;stroke:#084387;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 295.587053 56.92783 +L 296.964038 65.827417 +" style="fill:none;stroke:#08478d;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 296.964038 65.827417 +L 297.898207 74.75644 +" style="fill:none;stroke:#084c95;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 297.898207 74.75644 +L 298.093622 83.705208 +" style="fill:none;stroke:#08509b;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 298.093622 83.705208 +L 296.996454 92.595003 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 296.996454 92.595003 +L 296.996454 92.595003 +" style="fill:none;stroke:#0c56a0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 296.996454 92.595003 +L 295.201035 98.474068 +" style="fill:none;stroke:#0c56a0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 295.201035 98.474068 +L 295.201035 98.474068 +" style="fill:none;stroke:#0d57a1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 295.201035 98.474068 +L 292.662731 103.216987 +" style="fill:none;stroke:#0d57a1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 292.662731 103.216987 +L 288.748574 107.647526 +" style="fill:none;stroke:#0e58a2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 269.060815 48.052966 +L 271.825336 56.772835 +" style="fill:none;stroke:#083776;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 271.825336 56.772835 +L 274.599492 65.490983 +" style="fill:none;stroke:#083c7d;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 274.599492 65.490983 +L 277.322956 74.217939 +" style="fill:none;stroke:#084184;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 277.322956 74.217939 +L 279.877654 82.972355 +" style="fill:none;stroke:#08458a;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 279.877654 82.972355 +L 282.01643 91.784808 +" style="fill:none;stroke:#084a91;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 282.01643 91.784808 +L 283.094317 100.683286 +" style="fill:none;stroke:#084e98;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 283.094317 100.683286 +L 283.094317 100.683286 +" style="fill:none;stroke:#09529d;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 283.094317 100.683286 +L 282.897144 105.289189 +" style="fill:none;stroke:#09529d;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 282.897144 105.289189 +L 282.897144 105.289189 +" style="fill:none;stroke:#0a549e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 256.621944 48.052966 +L 259.649656 56.724145 +" style="fill:none;stroke:#083471;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 259.649656 56.724145 +L 262.776353 65.375819 +" style="fill:none;stroke:#083877;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 262.776353 65.375819 +L 265.979014 74.012049 +" style="fill:none;stroke:#083c7d;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 265.979014 74.012049 +L 269.2084 82.642654 +" style="fill:none;stroke:#084184;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 269.2084 82.642654 +L 272.353909 91.289815 +" style="fill:none;stroke:#08468b;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 272.353909 91.289815 +L 275.125089 100.003317 +" style="fill:none;stroke:#084a91;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 275.125089 100.003317 +L 275.125089 100.003317 +" style="fill:none;stroke:#084e98;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 231.744201 48.052966 +L 234.814906 56.71558 +" style="fill:none;stroke:#08326e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 234.814906 56.71558 +L 238.071358 65.34039 +" style="fill:none;stroke:#083573;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 238.071358 65.34039 +L 241.532188 73.920826 +" style="fill:none;stroke:#083979;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 241.532188 73.920826 +L 245.217643 82.449061 +" style="fill:none;stroke:#083c7d;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 245.217643 82.449061 +L 249.147949 90.916239 +" style="fill:none;stroke:#084184;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 249.147949 90.916239 +L 253.339483 99.313409 +" style="fill:none;stroke:#084488;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 253.339483 99.313409 +L 257.792409 107.635309 +" style="fill:none;stroke:#08488e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 257.792409 107.635309 +L 262.377332 115.915767 +" style="fill:none;stroke:#084c95;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 262.377332 115.915767 +L 262.377332 115.915767 +" style="fill:none;stroke:#08509b;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 219.305329 48.052966 +L 222.183225 56.752255 +" style="fill:none;stroke:#083370;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 222.183225 56.752255 +L 225.243998 65.416733 +" style="fill:none;stroke:#083674;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 225.243998 65.416733 +L 228.512197 74.038944 +" style="fill:none;stroke:#083979;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 228.512197 74.038944 +L 232.017492 82.609137 +" style="fill:none;stroke:#083c7d;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 232.017492 82.609137 +L 235.797782 91.113935 +" style="fill:none;stroke:#084082;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 235.797782 91.113935 +L 239.905569 99.533552 +" style="fill:none;stroke:#084488;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 239.905569 99.533552 +L 244.427261 107.833564 +" style="fill:none;stroke:#08478d;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 244.427261 107.833564 +L 249.577651 115.922852 +" style="fill:none;stroke:#084a91;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 249.577651 115.922852 +L 249.577651 115.922852 +" style="fill:none;stroke:#084e98;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 206.866458 48.052966 +L 209.41815 56.808668 +" style="fill:none;stroke:#083674;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 209.41815 56.808668 +L 212.118815 65.539483 +" style="fill:none;stroke:#083979;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 212.118815 65.539483 +L 214.985749 74.240694 +" style="fill:none;stroke:#083c7d;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 214.985749 74.240694 +L 218.040475 82.906205 +" style="fill:none;stroke:#083e81;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 218.040475 82.906205 +L 221.310178 91.527885 +" style="fill:none;stroke:#084285;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 221.310178 91.527885 +L 224.829454 100.09459 +" style="fill:none;stroke:#08458a;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 224.829454 100.09459 +L 228.646539 108.589705 +" style="fill:none;stroke:#08488e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 228.646539 108.589705 +L 232.845853 116.982702 +" style="fill:none;stroke:#084b93;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 232.845853 116.982702 +L 237.793168 125.132145 +" style="fill:none;stroke:#084e98;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 237.793168 125.132145 +L 237.793168 125.132145 +" style="fill:none;stroke:#08519c;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 237.793168 125.132145 +L 239.395841 127.059051 +" style="fill:none;stroke:#08519c;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 239.395841 127.059051 +L 239.395841 127.059051 +" style="fill:none;stroke:#08519c;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 239.395841 127.059051 +L 240.531379 127.80436 +" style="fill:none;stroke:#08519c;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 240.531379 127.80436 +L 241.600122 127.946296 +" style="fill:none;stroke:#09529d;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 241.600122 127.946296 +L 242.664666 127.853719 +" style="fill:none;stroke:#09529d;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 242.664666 127.853719 +L 244.11557 127.45798 +" style="fill:none;stroke:#09529d;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 244.11557 127.45798 +L 246.202294 126.731829 +" style="fill:none;stroke:#09529d;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 246.202294 126.731829 +L 247.980426 126.201614 +" style="fill:none;stroke:#09529d;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 247.980426 126.201614 +L 250.050656 125.492213 +" style="fill:none;stroke:#09529d;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 250.050656 125.492213 +L 250.050656 125.492213 +" style="fill:none;stroke:#09529d;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 194.427586 48.052966 +L 196.521398 56.875909 +" style="fill:none;stroke:#083a7a;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 196.521398 56.875909 +L 198.692531 65.688446 +" style="fill:none;stroke:#083d7f;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 198.692531 65.688446 +L 200.938128 74.490579 +" style="fill:none;stroke:#084184;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 200.938128 74.490579 +L 203.247324 83.283422 +" style="fill:none;stroke:#084387;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 203.247324 83.283422 +L 205.59752 92.070351 +" style="fill:none;stroke:#08468b;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 205.59752 92.070351 +L 207.930475 100.859544 +" style="fill:none;stroke:#08488e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 207.930475 100.859544 +L 210.103098 109.670156 +" style="fill:none;stroke:#084b93;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 210.103098 109.670156 +L 211.713732 118.54107 +" style="fill:none;stroke:#084e98;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 211.713732 118.54107 +L 211.713732 118.54107 +" style="fill:none;stroke:#08519c;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 211.713732 118.54107 +L 211.868996 124.762219 +" style="fill:none;stroke:#08519c;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 211.868996 124.762219 +L 211.868996 124.762219 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 211.868996 124.762219 +L 210.869812 128.82063 +" style="fill:none;stroke:#0a539e;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 210.869812 128.82063 +L 210.869812 128.82063 +" style="fill:none;stroke:#0b559f;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 210.869812 128.82063 +L 208.743611 132.051703 +" style="fill:none;stroke:#0b559f;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 208.743611 132.051703 +L 205.428454 134.743317 +" style="fill:none;stroke:#0d57a1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 239.884754 213.535866 +L 227.957799 212.509522 +" style="fill:none;stroke:#2373b6;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 227.957799 212.509522 +L 215.960828 212.306161 +" style="fill:none;stroke:#2373b6;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 215.960828 212.306161 +L 203.996671 213.019503 +" style="fill:none;stroke:#2474b7;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 203.996671 213.019503 +L 192.17433 214.587649 +" style="fill:none;stroke:#2777b8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 192.17433 214.587649 +L 180.547432 216.844784 +" style="fill:none;stroke:#2d7dbb;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 180.547432 216.844784 +L 169.115015 219.60947 +" style="fill:none;stroke:#3484bf;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 169.115015 219.60947 +L 157.846848 222.730637 +" style="fill:none;stroke:#3c8cc3;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 157.846848 222.730637 +L 146.704669 226.095806 +" style="fill:none;stroke:#4695c8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 146.704669 226.095806 +L 135.652915 229.624375 +" style="fill:none;stroke:#539ecd;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 135.652915 229.624375 +L 124.663688 233.260249 +" style="fill:none;stroke:#63a8d3;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 124.663688 233.260249 +L 113.715175 236.963576 +" style="fill:none;stroke:#74b3d8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 113.715175 236.963576 +L 102.789663 240.704762 +" style="fill:none;stroke:#8abfdd;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 102.789663 240.704762 +L 91.874555 244.462782 +" style="fill:none;stroke:#a1cbe2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 91.874555 244.462782 +L 80.960077 248.221882 +" style="fill:none;stroke:#b5d4e9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 80.960077 248.221882 +L 70.038871 251.970207 +" style="fill:none;stroke:#c9ddf0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 224.337478 232.673479 +L 213.392773 236.343952 +" style="fill:none;stroke:#2c7cba;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 213.392773 236.343952 +L 202.983653 240.807674 +" style="fill:none;stroke:#2f7fbc;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 202.983653 240.807674 +L 193.067356 245.86495 +" style="fill:none;stroke:#3484bf;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 193.067356 245.86495 +L 183.574581 251.358809 +" style="fill:none;stroke:#3989c1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 183.574581 251.358809 +L 174.433005 257.17582 +" style="fill:none;stroke:#4090c5;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 174.433005 257.17582 +L 165.581243 263.237395 +" style="fill:none;stroke:#4997c9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 165.581243 263.237395 +L 156.969393 269.48863 +" style="fill:none;stroke:#539ecd;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 156.969393 269.48863 +L 148.559039 275.890867 +" style="fill:none;stroke:#5da5d1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 148.559039 275.890867 +L 140.321427 282.416894 +" style="fill:none;stroke:#6aaed6;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 140.321427 282.416894 +L 132.233229 289.046069 +" style="fill:none;stroke:#79b5d9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 367.962413 41.472 +L 367.824946 41.675617 +" style="fill:none;stroke:#3585bf;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 367.824946 41.675617 +L 362.194582 49.589046 +" style="fill:none;stroke:#3585bf;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 362.194582 49.589046 +L 356.132915 57.321931 +" style="fill:none;stroke:#3181bd;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 356.132915 57.321931 +L 349.613567 64.843508 +" style="fill:none;stroke:#2d7dbb;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 111.077932 48.810976 +L 107.355486 57.321931 +" style="fill:none;stroke:#3080bd;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 107.355486 57.321931 +L 102.616006 65.544305 +" style="fill:none;stroke:#3888c1;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 102.616006 65.544305 +L 96.725599 73.338714 +" style="fill:none;stroke:#4191c6;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 96.725599 73.338714 +L 89.639787 80.556318 +" style="fill:none;stroke:#4e9acb;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 167.582742 255.493684 +L 158.477056 261.343151 +" style="fill:none;stroke:#4e9acb;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 158.477056 261.343151 +L 149.570943 267.361665 +" style="fill:none;stroke:#58a1cf;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 149.570943 267.361665 +L 140.83141 273.51459 +" style="fill:none;stroke:#65aad4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 140.83141 273.51459 +L 132.233229 279.777103 +" style="fill:none;stroke:#74b3d8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 414.72 135.012359 +L 413.634375 134.726733 +" style="fill:none;stroke:#c3daee;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 413.634375 134.726733 +L 402.318308 131.698013 +" style="fill:none;stroke:#c1d9ed;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 402.318308 131.698013 +L 391.042745 128.586641 +" style="fill:none;stroke:#a8cee4;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 391.042745 128.586641 +L 379.79911 125.411764 +" style="fill:none;stroke:#8dc1dd;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 379.79911 125.411764 +L 368.571787 122.20469 +" style="fill:none;stroke:#71b1d7;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 194.427586 75.859862 +L 196.270567 84.713586 +" style="fill:none;stroke:#08468b;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 196.270567 84.713586 +L 198.009686 93.578736 +" style="fill:none;stroke:#084990;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 198.009686 93.578736 +L 199.496978 102.468014 +" style="fill:none;stroke:#084c95;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 199.496978 102.468014 +L 200.403806 111.395987 +" style="fill:none;stroke:#084e98;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 200.403806 111.395987 +L 199.912779 120.315166 +" style="fill:none;stroke:#09529d;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 199.912779 120.315166 +L 199.912779 120.315166 +" style="fill:none;stroke:#0b559f;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 199.912779 120.315166 +L 198.263904 125.50337 +" style="fill:none;stroke:#0b559f;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 198.263904 125.50337 +L 198.263904 125.50337 +" style="fill:none;stroke:#0e58a2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 198.263904 125.50337 +L 195.481059 129.706346 +" style="fill:none;stroke:#0e58a2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 195.481059 129.706346 +L 191.426699 133.31908 +" style="fill:none;stroke:#0f5aa3;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 160.316218 230.788981 +L 149.55542 234.784439 +" style="fill:none;stroke:#4896c8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 149.55542 234.784439 +L 138.907356 238.945091 +" style="fill:none;stroke:#549fcd;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 138.907356 238.945091 +L 128.340211 243.219271 +" style="fill:none;stroke:#63a8d3;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 128.340211 243.219271 +L 117.829093 247.569839 +" style="fill:none;stroke:#74b3d8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 117.829093 247.569839 +L 107.355486 251.970207 +" style="fill:none;stroke:#89bedc;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 286.175964 225.620478 +L 274.321145 224.137875 +" style="fill:none;stroke:#3484bf;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 274.321145 224.137875 +L 262.410488 222.95218 +" style="fill:none;stroke:#2f7fbc;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 262.410488 222.95218 +L 250.436682 222.264246 +" style="fill:none;stroke:#2b7bba;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 250.436682 222.264246 +L 238.434184 222.308826 +" style="fill:none;stroke:#2777b8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 238.434184 222.308826 +L 226.509736 223.289922 +" style="fill:none;stroke:#2676b8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 226.509736 223.289922 +L 214.814268 225.281082 +" style="fill:none;stroke:#2777b8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 214.814268 225.281082 +L 203.46245 228.191344 +" style="fill:none;stroke:#2a7ab9;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 203.46245 228.191344 +L 192.492598 231.838945 +" style="fill:none;stroke:#2f7fbc;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 192.492598 231.838945 +L 181.877318 236.036317 +" style="fill:none;stroke:#3484bf;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 181.877318 236.036317 +L 171.559808 240.632069 +" style="fill:none;stroke:#3b8bc2;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 171.559808 240.632069 +L 161.481659 245.516443 +" style="fill:none;stroke:#4292c6;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 161.481659 245.516443 +L 151.593805 250.612912 +" style="fill:none;stroke:#4e9acb;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 151.593805 250.612912 +L 141.855077 255.866796 +" style="fill:none;stroke:#5aa2cf;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 141.855077 255.866796 +L 132.233229 261.239172 +" style="fill:none;stroke:#68acd5;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 171.933898 102.993413 +L 169.556365 109.505552 +" style="fill:none;stroke:#115ca5;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 169.556365 109.505552 +L 166.052527 115.470136 +" style="fill:none;stroke:#1460a8;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 166.052527 115.470136 +L 160.843659 121.254664 +" style="fill:none;stroke:#1865ac;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 160.843659 121.254664 +L 154.353703 126.208998 +" style="fill:none;stroke:#1c6bb0;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 154.353703 126.208998 +L 154.353703 126.208998 +" style="fill:none;stroke:#2171b5;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 154.353703 126.208998 +L 144.6721 131.473655 +" style="fill:none;stroke:#2171b5;stroke-width:1.5;"/> </g> <g id="patch_3"> - <path clip-path="url(#pc9763b54a5)" d="M 321.016934 289.585346 -Q 319.463546 289.772048 319.020204 289.825333 -" style="fill:none;stroke:#2d7dbb;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 323.230284 291.333717 -L 319.020204 289.825333 -L 322.752959 287.362299 -L 323.230284 291.333717 + <path clip-path="url(#pe144b463bf)" d="M 256.41514 231.234806 +Q 255.56951 231.332631 256.38982 231.237735 +" style="fill:none;stroke:#2d7dbb;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 260.593154 232.764818 +L 256.38982 231.237735 +L 260.133488 228.791318 +L 260.593154 232.764818 z -" style="fill:#2d7dbb;stroke:#2d7dbb;stroke-linecap:round;"/> +" style="fill:#2d7dbb;stroke:#2d7dbb;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_4"> - <path clip-path="url(#pc9763b54a5)" d="M 248.133796 333.912493 -Q 247.159222 334.774698 247.022016 334.896084 -" style="fill:none;stroke:#3e8ec4;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 251.343096 333.743578 -L 247.022016 334.896084 -L 248.692659 330.747716 -L 251.343096 333.743578 + <path clip-path="url(#pe144b463bf)" d="M 198.186232 265.593792 +Q 197.728113 265.983891 198.546845 265.286722 +" style="fill:none;stroke:#3e8ec4;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 202.888955 264.216169 +L 198.546845 265.286722 +L 200.295669 261.170702 +L 202.888955 264.216169 z -" style="fill:#3e8ec4;stroke:#3e8ec4;stroke-linecap:round;"/> +" style="fill:#3e8ec4;stroke:#3e8ec4;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_5"> - <path clip-path="url(#pc9763b54a5)" d="M 311.945681 310.941255 -Q 310.553356 311.597776 310.172282 311.777463 -" style="fill:none;stroke:#3282be;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 314.643232 311.880472 -L 310.172282 311.777463 -L 312.937259 308.262509 -L 314.643232 311.880472 + <path clip-path="url(#pe144b463bf)" d="M 249.181452 247.803001 +Q 248.442231 248.138494 249.230142 247.780903 +" style="fill:none;stroke:#3282be;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 253.699117 247.949015 +L 249.230142 247.780903 +L 252.046017 244.30659 +L 253.699117 247.949015 z -" style="fill:#3282be;stroke:#3282be;stroke-linecap:round;"/> +" style="fill:#3282be;stroke:#3282be;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_6"> - <path clip-path="url(#pc9763b54a5)" d="M 297.625933 341.368809 -Q 296.703313 342.244598 296.591574 342.350665 -" style="fill:none;stroke:#3989c1;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 300.869591 341.047372 -L 296.591574 342.350665 -L 298.115751 338.146276 -L 300.869591 341.047372 + <path clip-path="url(#pe144b463bf)" d="M 237.781878 271.353315 +Q 237.359482 271.739235 238.175194 270.993964 +" style="fill:none;stroke:#3989c1;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 242.477274 269.772448 +L 238.175194 270.993964 +L 239.779229 266.81939 +L 242.477274 269.772448 z -" style="fill:#3989c1;stroke:#3989c1;stroke-linecap:round;"/> +" style="fill:#3989c1;stroke:#3989c1;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_7"> - <path clip-path="url(#pc9763b54a5)" d="M 395.883711 317.884359 -Q 394.183844 318.150055 393.588598 318.243095 -" style="fill:none;stroke:#58a1cf;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 397.849472 319.601386 -L 393.588598 318.243095 -L 397.231756 315.649371 -L 397.849472 319.601386 + <path clip-path="url(#pe144b463bf)" d="M 316.31046 253.038608 +Q 315.34762 253.183461 316.043168 253.07882 +" style="fill:none;stroke:#58a1cf;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 320.296194 254.46149 +L 316.043168 253.07882 +L 319.701119 250.506002 +L 320.296194 254.46149 z -" style="fill:#58a1cf;stroke:#58a1cf;stroke-linecap:round;"/> +" style="fill:#58a1cf;stroke:#58a1cf;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_8"> - <path clip-path="url(#pc9763b54a5)" d="M 327.707941 360.709417 -Q 326.875863 361.604258 326.805118 361.680339 -" style="fill:none;stroke:#4493c7;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 330.993596 360.112967 -L 326.805118 361.680339 -L 328.064308 357.389134 -L 330.993596 360.112967 + <path clip-path="url(#pe144b463bf)" d="M 261.866456 286.264674 +Q 261.500778 286.643188 262.300328 285.815574 +" style="fill:none;stroke:#4493c7;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 266.51795 284.328408 +L 262.300328 285.815574 +L 263.641168 281.549177 +L 266.51795 284.328408 z -" style="fill:#4493c7;stroke:#4493c7;stroke-linecap:round;"/> +" style="fill:#4493c7;stroke:#4493c7;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_9"> - <path clip-path="url(#pc9763b54a5)" d="M 426.39236 334.374689 -Q 424.725243 334.723544 424.152457 334.843404 -" style="fill:none;stroke:#7fb9da;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 428.477297 335.98172 -L 424.152457 334.843404 -L 427.658014 332.066522 -L 428.477297 335.98172 + <path clip-path="url(#pe144b463bf)" d="M 340.717631 265.75632 +Q 339.779431 265.945283 340.485267 265.803121 +" style="fill:none;stroke:#7fb9da;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 344.801413 266.973969 +L 340.485267 265.803121 +L 344.011633 263.052713 +L 344.801413 266.973969 z -" style="fill:#7fb9da;stroke:#7fb9da;stroke-linecap:round;"/> +" style="fill:#7fb9da;stroke:#7fb9da;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_10"> - <path clip-path="url(#pc9763b54a5)" d="M 436.156448 348.209134 -Q 434.570586 348.680499 434.056419 348.833325 -" style="fill:none;stroke:#94c4df;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 438.460457 349.61079 -L 434.056419 348.833325 -L 437.320814 345.776574 -L 438.460457 349.61079 + <path clip-path="url(#pe144b463bf)" d="M 348.536559 276.440205 +Q 347.657709 276.69163 348.391227 276.481782 +" style="fill:none;stroke:#94c4df;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 352.787046 277.304445 +L 348.391227 276.481782 +L 351.686848 273.458725 +L 352.787046 277.304445 z -" style="fill:#94c4df;stroke:#94c4df;stroke-linecap:round;"/> +" style="fill:#94c4df;stroke:#94c4df;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_11"> - <path clip-path="url(#pc9763b54a5)" d="M 402.193273 373.288326 -Q 401.069949 374.099246 400.853133 374.255764 -" style="fill:none;stroke:#74b3d8;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 405.266987 373.536116 -L 400.853133 374.255764 -L 402.925727 370.292892 -L 405.266987 373.536116 + <path clip-path="url(#pe144b463bf)" d="M 321.407357 295.881296 +Q 320.856292 296.264188 321.682463 295.690147 +" style="fill:none;stroke:#74b3d8;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 326.108571 295.050177 +L 321.682463 295.690147 +L 323.826152 291.765278 +L 326.108571 295.050177 z -" style="fill:#74b3d8;stroke:#74b3d8;stroke-linecap:round;"/> +" style="fill:#74b3d8;stroke:#74b3d8;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_12"> - <path clip-path="url(#pc9763b54a5)" d="M 462.614161 364.810893 -Q 461.06493 365.331445 460.575507 365.495894 -" style="fill:none;stroke:#bcd7eb;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 465.004203 366.117706 -L 460.575507 365.495894 -L 463.730174 362.326024 -L 465.004203 366.117706 + <path clip-path="url(#pe144b463bf)" d="M 369.704021 289.237646 +Q 368.853392 289.512744 369.598442 289.27179 +" style="fill:none;stroke:#bcd7eb;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 374.019786 289.943892 +L 369.598442 289.27179 +L 372.788929 286.137976 +L 374.019786 289.943892 z -" style="fill:#bcd7eb;stroke:#bcd7eb;stroke-linecap:round;"/> +" style="fill:#bcd7eb;stroke:#bcd7eb;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_13"> - <path clip-path="url(#pc9763b54a5)" d="M 482.850063 373.010955 -Q 481.29377 373.519314 480.80025 373.680521 -" style="fill:none;stroke:#d3e3f3;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 485.223544 374.339659 -L 480.80025 373.680521 -L 483.981537 370.537368 -L 485.223544 374.339659 + <path clip-path="url(#pe144b463bf)" d="M 385.890976 295.54876 +Q 385.032932 295.818527 385.774732 295.585306 +" style="fill:none;stroke:#d3e3f3;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 390.190433 296.293537 +L 385.774732 295.585306 +L 388.990737 292.477685 +L 390.190433 296.293537 z -" style="fill:#d3e3f3;stroke:#d3e3f3;stroke-linecap:round;"/> +" style="fill:#d3e3f3;stroke:#d3e3f3;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_14"> - <path clip-path="url(#pc9763b54a5)" d="M 501.686967 379.807326 -Q 500.113885 380.30025 499.607684 380.458867 -" style="fill:none;stroke:#e6f0f9;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 504.022707 381.171314 -L 499.607684 380.458867 -L 502.826655 377.354317 -L 504.022707 381.171314 + <path clip-path="url(#pe144b463bf)" d="M 400.958064 300.77772 +Q 400.089793 301.039589 400.827137 300.817207 +" style="fill:none;stroke:#e6f0f9;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 405.234256 301.57701 +L 400.827137 300.817207 +L 404.07925 297.747393 +L 405.234256 301.57701 z -" style="fill:#e6f0f9;stroke:#e6f0f9;stroke-linecap:round;"/> +" style="fill:#e6f0f9;stroke:#e6f0f9;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_15"> - <path clip-path="url(#pc9763b54a5)" d="M 89.037132 58.970407 -Q 88.231423 59.865563 88.173675 59.929722 -" style="fill:none;stroke:#74b3d8;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 92.336191 58.294651 -L 88.173675 59.929722 -L 89.363128 55.618666 -L 92.336191 58.294651 + <path clip-path="url(#pe144b463bf)" d="M 70.936404 53.928856 +Q 70.585984 54.303579 71.381031 53.453393 +" style="fill:none;stroke:#74b3d8;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 75.573921 51.897864 +L 71.381031 53.453393 +L 72.652341 49.165763 +L 75.573921 51.897864 z -" style="fill:#74b3d8;stroke:#74b3d8;stroke-linecap:round;"/> +" style="fill:#74b3d8;stroke:#74b3d8;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_16"> - <path clip-path="url(#pc9763b54a5)" d="M 109.687788 66.537606 -Q 108.971935 67.445582 108.948288 67.475576 -" style="fill:none;stroke:#56a0ce;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 112.995377 65.572667 -L 108.948288 67.475576 -L 109.854214 63.096159 -L 112.995377 65.572667 + <path clip-path="url(#pe144b463bf)" d="M 87.473834 59.779387 +Q 87.17686 60.141939 87.942588 59.207122 +" style="fill:none;stroke:#56a0ce;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 92.024483 57.380066 +L 87.942588 59.207122 +L 88.93008 54.845373 +L 92.024483 57.380066 z -" style="fill:#56a0ce;stroke:#56a0ce;stroke-linecap:round;"/> +" style="fill:#56a0ce;stroke:#56a0ce;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_17"> - <path clip-path="url(#pc9763b54a5)" d="M 93.953066 98.735914 -Q 92.774487 99.524895 92.52498 99.691923 -" style="fill:none;stroke:#7cb7da;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 96.961512 99.128733 -L 92.52498 99.691923 -L 94.736347 95.804783 -L 96.961512 99.128733 + <path clip-path="url(#pe144b463bf)" d="M 74.807675 84.463247 +Q 74.220131 84.84182 75.04234 84.312046 +" style="fill:none;stroke:#7cb7da;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 79.488066 83.826741 +L 75.04234 84.312046 +L 77.321532 80.464282 +L 79.488066 83.826741 z -" style="fill:#7cb7da;stroke:#7cb7da;stroke-linecap:round;"/> +" style="fill:#7cb7da;stroke:#7cb7da;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_18"> - <path clip-path="url(#pc9763b54a5)" d="M 138.299525 93.481383 -Q 137.562685 94.358719 137.544886 94.379912 -" style="fill:none;stroke:#3b8bc2;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 141.648919 92.603141 -L 137.544886 94.379912 -L 138.585888 90.030623 -L 141.648919 92.603141 + <path clip-path="url(#pe144b463bf)" d="M 110.350512 80.51999 +Q 110.049902 80.864496 110.851907 79.945379 +" style="fill:none;stroke:#3b8bc2;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 114.988753 78.246408 +L 110.851907 79.945379 +L 111.974838 75.616519 +L 114.988753 78.246408 z -" style="fill:#3b8bc2;stroke:#3b8bc2;stroke-linecap:round;"/> +" style="fill:#3b8bc2;stroke:#3b8bc2;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_19"> - <path clip-path="url(#pc9763b54a5)" d="M 134.153916 119.389482 -Q 133.010918 120.191088 132.783281 120.350734 -" style="fill:none;stroke:#4896c8;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 137.206552 119.691436 -L 132.783281 120.350734 -L 134.909805 116.416538 -L 137.206552 119.691436 + <path clip-path="url(#pe144b463bf)" d="M 106.975802 100.372356 +Q 106.410547 100.753914 107.235301 100.19719 +" style="fill:none;stroke:#4896c8;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 111.669633 99.616937 +L 107.235301 100.19719 +L 109.431698 96.301572 +L 111.669633 99.616937 z -" style="fill:#4896c8;stroke:#4896c8;stroke-linecap:round;"/> +" style="fill:#4896c8;stroke:#4896c8;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_20"> - <path clip-path="url(#pc9763b54a5)" d="M 158.459465 119.985437 -Q 157.590671 120.790581 157.541915 120.835766 -" style="fill:none;stroke:#3080bd;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 161.835226 119.583777 -L 157.541915 120.835766 -L 159.11631 116.649923 -L 161.835226 119.583777 + <path clip-path="url(#pe144b463bf)" d="M 126.44812 100.881733 +Q 126.072078 101.217157 126.947553 100.436246 +" style="fill:none;stroke:#3080bd;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 131.263903 99.266151 +L 126.947553 100.436246 +L 128.601287 96.281109 +L 131.263903 99.266151 z -" style="fill:#3080bd;stroke:#3080bd;stroke-linecap:round;"/> +" style="fill:#3080bd;stroke:#3080bd;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_21"> - <path clip-path="url(#pc9763b54a5)" d="M 173.9875 130.773121 -Q 173.15751 131.514445 173.161373 131.510995 -" style="fill:none;stroke:#2676b8;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 177.476949 130.338048 -L 173.161373 131.510995 -L 174.812362 127.354766 -L 177.476949 130.338048 + <path clip-path="url(#pe144b463bf)" d="M 138.861711 109.185525 +Q 138.522015 109.477556 139.454035 108.676317 +" style="fill:none;stroke:#2676b8;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 143.791056 107.585331 +L 139.454035 108.676317 +L 141.183458 104.552109 +L 143.791056 107.585331 z -" style="fill:#2676b8;stroke:#2676b8;stroke-linecap:round;"/> +" style="fill:#2676b8;stroke:#2676b8;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_22"> - <path clip-path="url(#pc9763b54a5)" d="M 191.06635 143.160602 -Q 190.148669 143.895218 190.103808 143.93113 -" style="fill:none;stroke:#1f6eb3;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 194.47638 142.992719 -L 190.103808 143.93113 -L 191.976623 139.870026 -L 194.47638 142.992719 + <path clip-path="url(#pe144b463bf)" d="M 152.517826 118.699975 +Q 152.118619 119.007562 153.047871 118.291578 +" style="fill:none;stroke:#1f6eb3;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 157.43711 117.434502 +L 153.047871 118.291578 +L 154.995753 114.265941 +L 157.43711 117.434502 z -" style="fill:#1f6eb3;stroke:#1f6eb3;stroke-linecap:round;"/> +" style="fill:#1f6eb3;stroke:#1f6eb3;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_23"> - <path clip-path="url(#pc9763b54a5)" d="M 215.98833 153.59214 -Q 215.723273 153.80902 216.323503 153.31789 -" style="fill:none;stroke:#1663aa;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 220.685776 152.332712 -L 216.323503 153.31789 -L 218.152725 149.236965 -L 220.685776 152.332712 + <path clip-path="url(#pe144b463bf)" d="M 166.473636 131.036732 +Q 166.201218 131.187131 167.396963 130.526975 +" style="fill:none;stroke:#1b69af;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 171.865378 130.344576 +L 167.396963 130.526975 +L 169.932093 126.842803 +L 171.865378 130.344576 z -" style="fill:#1663aa;stroke:#1663aa;stroke-linecap:round;"/> +" style="fill:#1b69af;stroke:#1b69af;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_24"> - <path clip-path="url(#pc9763b54a5)" d="M 187.073864 187.35169 -Q 185.402346 187.694004 184.826129 187.812009 -" style="fill:none;stroke:#2f7fbc;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 189.146056 188.96883 -L 184.826129 187.812009 -L 188.343542 185.050161 -L 189.146056 188.96883 + <path clip-path="url(#pe144b463bf)" d="M 149.267464 152.545996 +Q 148.321638 152.73243 149.021202 152.594537 +" style="fill:none;stroke:#2f7fbc;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 153.332472 153.783215 +L 149.021202 152.594537 +L 152.558906 149.858728 +L 153.332472 153.783215 z -" style="fill:#2f7fbc;stroke:#2f7fbc;stroke-linecap:round;"/> +" style="fill:#2f7fbc;stroke:#2f7fbc;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_25"> - <path clip-path="url(#pc9763b54a5)" d="M 158.342948 206.461961 -Q 156.637384 206.735398 156.035757 206.831852 -" style="fill:none;stroke:#4d99ca;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 160.30192 208.173437 -L 156.035757 206.831852 -L 159.668723 204.223872 -L 160.30192 208.173437 + <path clip-path="url(#pe144b463bf)" d="M 126.277665 167.244923 +Q 125.309136 167.394376 125.998042 167.288072 +" style="fill:none;stroke:#4d99ca;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 130.256261 168.654662 +L 125.998042 167.288072 +L 129.646245 164.70145 +L 130.256261 168.654662 z -" style="fill:#4d99ca;stroke:#4d99ca;stroke-linecap:round;"/> +" style="fill:#4d99ca;stroke:#4d99ca;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_26"> - <path clip-path="url(#pc9763b54a5)" d="M 158.409364 218.752311 -Q 156.699315 219.008373 156.094973 219.098866 -" style="fill:none;stroke:#519ccc;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 160.347046 220.484462 -L 156.094973 219.098866 -L 159.754694 216.528565 -L 160.347046 220.484462 + <path clip-path="url(#pe144b463bf)" d="M 126.329754 176.704603 +Q 125.358679 176.844558 126.047504 176.745282 +" style="fill:none;stroke:#519ccc;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 130.291897 178.154228 +L 126.047504 176.745282 +L 129.721296 174.195136 +L 130.291897 178.154228 z -" style="fill:#519ccc;stroke:#519ccc;stroke-linecap:round;"/> +" style="fill:#519ccc;stroke:#519ccc;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_27"> - <path clip-path="url(#pc9763b54a5)" d="M 128.808713 234.894005 -Q 127.105342 235.175551 126.505038 235.274774 -" style="fill:none;stroke:#7fb9da;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 130.777643 236.595701 -L 126.505038 235.274774 -L 130.125342 232.649246 -L 130.777643 236.595701 + <path clip-path="url(#pe144b463bf)" d="M 102.650787 189.139412 +Q 101.683503 189.293297 102.372442 189.183694 +" style="fill:none;stroke:#7fb9da;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 106.636992 190.530401 +L 102.372442 189.183694 +L 106.008537 186.580079 +L 106.636992 190.530401 z -" style="fill:#7fb9da;stroke:#7fb9da;stroke-linecap:round;"/> +" style="fill:#7fb9da;stroke:#7fb9da;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_28"> - <path clip-path="url(#pc9763b54a5)" d="M 157.905171 241.055977 -Q 156.208241 241.342127 155.61378 241.44237 -" style="fill:none;stroke:#5aa2cf;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 159.890655 242.749405 -L 155.61378 241.44237 -L 159.225533 238.805091 -L 159.890655 242.749405 + <path clip-path="url(#pe144b463bf)" d="M 125.928313 193.885346 +Q 124.967137 194.04135 125.661349 193.928676 +" style="fill:none;stroke:#5aa2cf;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 129.930098 195.262011 +L 125.661349 193.928676 +L 129.289266 191.313678 +L 129.930098 195.262011 z -" style="fill:#5aa2cf;stroke:#5aa2cf;stroke-linecap:round;"/> +" style="fill:#5aa2cf;stroke:#5aa2cf;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_29"> - <path clip-path="url(#pc9763b54a5)" d="M 113.659872 259.987716 -Q 111.987358 260.3273 111.410521 260.444419 -" style="fill:none;stroke:#a3cce3;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 115.728493 261.608517 -L 111.410521 260.444419 -L 114.932582 257.6885 -L 115.728493 261.608517 + <path clip-path="url(#pe144b463bf)" d="M 90.536037 208.47512 +Q 89.589647 208.660067 90.289173 208.523363 +" style="fill:none;stroke:#a3cce3;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 94.598504 209.719051 +L 90.289173 208.523363 +L 93.831322 205.793311 +L 94.598504 209.719051 z -" style="fill:#a3cce3;stroke:#a3cce3;stroke-linecap:round;"/> +" style="fill:#a3cce3;stroke:#a3cce3;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_30"> - <path clip-path="url(#pc9763b54a5)" d="M 243.12441 254.827 -Q 241.382642 254.959648 240.75568 255.007396 -" style="fill:none;stroke:#2777b8;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 244.896005 256.697872 -L 240.75568 255.007396 -L 244.592256 252.709422 -L 244.896005 256.697872 + <path clip-path="url(#pe144b463bf)" d="M 194.102653 204.453882 +Q 193.108762 204.526735 193.787435 204.476988 +" style="fill:none;stroke:#2777b8;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 197.922942 206.179216 +L 193.787435 204.476988 +L 197.630521 202.189919 +L 197.922942 206.179216 z -" style="fill:#2777b8;stroke:#2777b8;stroke-linecap:round;"/> +" style="fill:#2777b8;stroke:#2777b8;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_31"> - <path clip-path="url(#pc9763b54a5)" d="M 126.223427 288.449348 -Q 124.631221 288.92386 124.110478 289.079052 -" style="fill:none;stroke:#9cc9e1;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 128.51508 289.853314 -L 124.110478 289.079052 -L 127.372649 286.019928 -L 128.51508 289.853314 + <path clip-path="url(#pe144b463bf)" d="M 100.589721 230.425587 +Q 99.705007 230.679363 100.432334 230.470733 +" style="fill:none;stroke:#9cc9e1;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 104.828732 231.2903 +L 100.432334 230.470733 +L 103.725826 227.445355 +L 104.828732 231.2903 z -" style="fill:#9cc9e1;stroke:#9cc9e1;stroke-linecap:round;"/> +" style="fill:#9cc9e1;stroke:#9cc9e1;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_32"> - <path clip-path="url(#pc9763b54a5)" d="M 375.959048 369.439159 -Q 374.963825 370.292998 374.817143 370.418842 -" style="fill:none;stroke:#5da5d1;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 379.155255 369.332204 -L 374.817143 370.418842 -L 376.5507 366.296369 -L 379.155255 369.332204 + <path clip-path="url(#pe144b463bf)" d="M 300.441221 292.945366 +Q 299.972498 293.332421 300.796922 292.651641 +" style="fill:none;stroke:#5da5d1;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 305.154724 291.646874 +L 300.796922 292.651641 +L 302.60779 288.562539 +L 305.154724 291.646874 z -" style="fill:#5da5d1;stroke:#5da5d1;stroke-linecap:round;"/> +" style="fill:#5da5d1;stroke:#5da5d1;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_33"> - <path clip-path="url(#pc9763b54a5)" d="M 432.428177 278.280927 -Q 430.787485 277.878426 430.23263 277.742307 -" style="fill:none;stroke:#6dafd7;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 433.640919 280.637745 -L 430.23263 277.742307 -L 434.593954 276.752938 -L 433.640919 280.637745 + <path clip-path="url(#pe144b463bf)" d="M 345.55083 222.391821 +Q 344.632153 222.174899 345.345643 222.343371 +" style="fill:none;stroke:#6dafd7;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 348.778981 225.209063 +L 345.345643 222.343371 +L 349.6982 221.316116 +L 348.778981 225.209063 z -" style="fill:#6dafd7;stroke:#6dafd7;stroke-linecap:round;"/> +" style="fill:#6dafd7;stroke:#6dafd7;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_34"> - <path clip-path="url(#pc9763b54a5)" d="M 434.003899 262.001269 -Q 432.457071 261.473404 431.96836 261.306628 -" style="fill:none;stroke:#69add5;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 435.108063 264.491321 -L 431.96836 261.306628 -L 436.399936 260.705682 -L 435.108063 264.491321 + <path clip-path="url(#pe144b463bf)" d="M 346.816412 209.821959 +Q 345.967102 209.542996 346.711097 209.787368 +" style="fill:none;stroke:#69add5;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 349.887237 212.935723 +L 346.711097 209.787368 +L 351.135465 209.135469 +L 349.887237 212.935723 z -" style="fill:#69add5;stroke:#69add5;stroke-linecap:round;"/> +" style="fill:#69add5;stroke:#69add5;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_35"> - <path clip-path="url(#pc9763b54a5)" d="M 397.187701 228.308562 -Q 395.946032 227.550223 395.658518 227.374626 -" style="fill:none;stroke:#3a8ac2;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 398.029766 231.166352 -L 395.658518 227.374626 -L 400.114647 227.752663 -L 398.029766 231.166352 + <path clip-path="url(#pe144b463bf)" d="M 317.390827 183.794362 +Q 316.758209 183.422485 317.571349 183.90048 +" style="fill:none;stroke:#3a8ac2;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 320.006152 187.651712 +L 317.571349 183.90048 +L 322.033216 184.203377 +L 320.006152 187.651712 z -" style="fill:#3a8ac2;stroke:#3a8ac2;stroke-linecap:round;"/> +" style="fill:#3a8ac2;stroke:#3a8ac2;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_36"> - <path clip-path="url(#pc9763b54a5)" d="M 423.987825 226.146911 -Q 422.646386 225.445256 422.295642 225.261795 -" style="fill:none;stroke:#519ccc;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 424.913083 228.88795 -L 422.295642 225.261795 -L 426.767031 225.343534 -L 424.913083 228.88795 + <path clip-path="url(#pe144b463bf)" d="M 338.820677 182.155056 +Q 338.117639 181.801113 338.912529 182.201298 +" style="fill:none;stroke:#519ccc;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 341.585949 185.786382 +L 338.912529 182.201298 +L 343.384648 182.213613 +L 341.585949 185.786382 z -" style="fill:#519ccc;stroke:#519ccc;stroke-linecap:round;"/> +" style="fill:#519ccc;stroke:#519ccc;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_37"> - <path clip-path="url(#pc9763b54a5)" d="M 425.243714 212.087927 -Q 423.939291 211.365116 423.612799 211.184199 -" style="fill:none;stroke:#4b98ca;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 426.142182 214.872318 -L 423.612799 211.184199 -L 428.080924 211.373564 -L 426.142182 214.872318 + <path clip-path="url(#pe144b463bf)" d="M 339.832251 171.32225 +Q 339.15352 170.960253 339.954534 171.387469 +" style="fill:none;stroke:#4b98ca;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 342.54274 175.034549 +L 339.954534 171.387469 +L 344.425122 171.505152 +L 342.54274 175.034549 z -" style="fill:#4b98ca;stroke:#4b98ca;stroke-linecap:round;"/> +" style="fill:#4b98ca;stroke:#4b98ca;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_38"> - <path clip-path="url(#pc9763b54a5)" d="M 451.374733 211.37773 -Q 449.96787 210.722797 449.574594 210.539716 -" style="fill:none;stroke:#6aaed6;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 452.356833 214.041021 -L 449.574594 210.539716 -L 454.044982 210.414707 -L 452.356833 214.041021 + <path clip-path="url(#pe144b463bf)" d="M 360.727538 170.802059 +Q 359.975254 170.464983 360.753413 170.813652 +" style="fill:none;stroke:#6aaed6;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 363.585931 174.274409 +L 360.753413 170.813652 +L 365.221529 170.624092 +L 363.585931 174.274409 z -" style="fill:#6aaed6;stroke:#6aaed6;stroke-linecap:round;"/> +" style="fill:#6aaed6;stroke:#6aaed6;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_39"> - <path clip-path="url(#pc9763b54a5)" d="M 438.808603 180.766634 -Q 437.434463 180.089279 437.063143 179.906244 -" style="fill:none;stroke:#4f9bcb;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 439.766673 183.468677 -L 437.063143 179.906244 -L 441.535207 179.88088 -L 439.766673 183.468677 + <path clip-path="url(#pe144b463bf)" d="M 340.552948 142.365182 +Q 339.850318 142.010451 340.644766 142.411538 +" style="fill:none;stroke:#3f8fc5;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 343.314138 145.999636 +L 340.644766 142.411538 +L 345.116868 142.428898 +L 343.314138 145.999636 z -" style="fill:#4f9bcb;stroke:#4f9bcb;stroke-linecap:round;"/> +" style="fill:#3f8fc5;stroke:#3f8fc5;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_40"> - <path clip-path="url(#pc9763b54a5)" d="M 450.908205 163.962805 -Q 449.42481 163.372192 448.980145 163.195148 -" style="fill:none;stroke:#57a0ce;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 451.956602 166.532917 -L 448.980145 163.195148 -L 453.436234 162.816644 -L 451.956602 166.532917 + <path clip-path="url(#pe144b463bf)" d="M 360.34544 134.313306 +Q 359.538379 134.004025 360.297317 134.294864 +" style="fill:none;stroke:#57a0ce;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 363.316759 137.593799 +L 360.297317 134.294864 +L 364.74813 133.858671 +L 363.316759 137.593799 z -" style="fill:#57a0ce;stroke:#57a0ce;stroke-linecap:round;"/> +" style="fill:#57a0ce;stroke:#57a0ce;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_41"> - <path clip-path="url(#pc9763b54a5)" d="M 477.631556 162.699993 -Q 476.07892 162.181656 475.586781 162.017359 -" style="fill:none;stroke:#7fb9da;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 478.747608 165.181087 -L 475.586781 162.017359 -L 480.014259 161.386934 -L 478.747608 165.181087 + <path clip-path="url(#pe144b463bf)" d="M 381.717085 133.36227 +Q 380.861057 133.087207 381.601677 133.325186 +" style="fill:none;stroke:#7fb9da;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 384.79807 136.452977 +L 381.601677 133.325186 +L 386.021745 132.644746 +L 384.79807 136.452977 z -" style="fill:#7fb9da;stroke:#7fb9da;stroke-linecap:round;"/> +" style="fill:#7fb9da;stroke:#7fb9da;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_42"> - <path clip-path="url(#pc9763b54a5)" d="M 491.301635 155.579492 -Q 489.70149 155.121309 489.176185 154.970894 -" style="fill:none;stroke:#95c5df;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 492.471095 157.994727 -L 489.176185 154.970894 -L 493.572197 154.149265 -L 492.471095 157.994727 + <path clip-path="url(#pe144b463bf)" d="M 357.882868 111.473121 +Q 356.93553 111.291891 357.635374 111.425774 +" style="fill:none;stroke:#4896c8;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 361.188334 114.14174 +L 357.635374 111.425774 +L 361.939923 110.212985 +L 361.188334 114.14174 z -" style="fill:#95c5df;stroke:#95c5df;stroke-linecap:round;"/> +" style="fill:#4896c8;stroke:#4896c8;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_43"> - <path clip-path="url(#pc9763b54a5)" d="M 462.30631 137.368455 -Q 460.646763 137.000637 460.078762 136.874747 -" style="fill:none;stroke:#5ca4d0;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 463.551221 139.692908 -L 460.078762 136.874747 -L 464.416766 135.787676 -L 463.551221 139.692908 + <path clip-path="url(#pe144b463bf)" d="M 380.128146 100.794608 +Q 379.13489 100.711443 379.812836 100.768207 +" style="fill:none;stroke:#68acd5;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 383.632012 103.094985 +L 379.812836 100.768207 +L 383.965764 99.108933 +L 383.632012 103.094985 z -" style="fill:#5ca4d0;stroke:#5ca4d0;stroke-linecap:round;"/> +" style="fill:#68acd5;stroke:#68acd5;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_44"> - <path clip-path="url(#pc9763b54a5)" d="M 475.65596 120.285477 -Q 473.915304 120.134053 473.288476 120.079524 -" style="fill:none;stroke:#68acd5;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 477.100096 122.418659 -L 473.288476 120.079524 -L 477.446756 118.433709 -L 477.100096 122.418659 + <path clip-path="url(#pe144b463bf)" d="M 379.882755 93.483165 +Q 378.878091 93.485033 379.550474 93.483783 +" style="fill:none;stroke:#64a9d3;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 383.554187 95.47634 +L 379.550474 93.483783 +L 383.546748 91.476347 +L 383.554187 95.47634 z -" style="fill:#68acd5;stroke:#68acd5;stroke-linecap:round;"/> +" style="fill:#64a9d3;stroke:#64a9d3;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_45"> - <path clip-path="url(#pc9763b54a5)" d="M 475.35223 110.746003 -Q 473.595986 110.749397 472.957775 110.75063 -" style="fill:none;stroke:#64a9d3;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 476.961632 112.742897 -L 472.957775 110.75063 -L 476.953903 108.742905 -L 476.961632 112.742897 + <path clip-path="url(#pe144b463bf)" d="M 391.884317 85.676804 +Q 390.888479 85.73902 391.566428 85.696664 +" style="fill:none;stroke:#79b5d9;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 395.683353 87.443354 +L 391.566428 85.696664 +L 395.433935 83.451138 +L 395.683353 87.443354 z -" style="fill:#64a9d3;stroke:#64a9d3;stroke-linecap:round;"/> +" style="fill:#79b5d9;stroke:#79b5d9;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_46"> - <path clip-path="url(#pc9763b54a5)" d="M 490.352463 100.576571 -Q 488.607282 100.689851 487.977787 100.730712 -" style="fill:none;stroke:#79b5d9;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 492.098934 102.467416 -L 487.977787 100.730712 -L 491.839839 98.475817 -L 492.098934 102.467416 + <path clip-path="url(#pe144b463bf)" d="M 392.536405 69.908095 +Q 391.646188 70.149796 392.374428 69.952074 +" style="fill:none;stroke:#71b1d7;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 396.75872 70.83411 +L 392.374428 69.952074 +L 395.710632 66.973862 +L 396.75872 70.83411 z -" style="fill:#79b5d9;stroke:#79b5d9;stroke-linecap:round;"/> +" style="fill:#71b1d7;stroke:#71b1d7;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_47"> - <path clip-path="url(#pc9763b54a5)" d="M 491.159807 79.991969 -Q 489.557697 80.443902 489.031628 80.592299 -" style="fill:none;stroke:#71b1d7;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 493.424374 81.431216 -L 489.031628 80.592299 -L 492.33841 77.581452 -L 493.424374 81.431216 + <path clip-path="url(#pe144b463bf)" d="M 394.221414 54.062128 +Q 393.534298 54.421827 394.332961 54.003735 +" style="fill:none;stroke:#6aaed6;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 398.804322 53.920489 +L 394.332961 54.003735 +L 396.949181 50.376698 +L 398.804322 53.920489 z -" style="fill:#71b1d7;stroke:#71b1d7;stroke-linecap:round;"/> +" style="fill:#6aaed6;stroke:#6aaed6;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_48"> - <path clip-path="url(#pc9763b54a5)" d="M 492.055024 69.720699 -Q 490.583126 70.319214 490.146913 70.49659 -" style="fill:none;stroke:#6dafd7;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 494.605646 70.842569 -L 490.146913 70.49659 -L 493.098936 67.137191 -L 494.605646 70.842569 + <path clip-path="url(#pe144b463bf)" d="M 355.005586 69.021445 +Q 354.485628 69.409535 355.309637 68.794504 +" style="fill:none;stroke:#3282be;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 359.711478 68.004695 +L 355.309637 68.794504 +L 357.318894 64.799146 +L 359.711478 68.004695 z -" style="fill:#6dafd7;stroke:#6dafd7;stroke-linecap:round;"/> +" style="fill:#3282be;stroke:#3282be;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_49"> - <path clip-path="url(#pc9763b54a5)" d="M 490.156152 52.86489 -Q 488.980758 53.658667 488.731904 53.826725 -" style="fill:none;stroke:#63a8d3;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 493.166114 53.245531 -L 488.731904 53.826725 -L 490.927475 49.930641 -L 493.166114 53.245531 + <path clip-path="url(#pe144b463bf)" d="M 328.850227 58.819099 +Q 328.772578 59.08532 329.164511 57.741574 +" style="fill:none;stroke:#1460a8;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 332.204528 54.46159 +L 329.164511 57.741574 +L 328.364534 53.34157 +L 332.204528 54.46159 z -" style="fill:#63a8d3;stroke:#63a8d3;stroke-linecap:round;"/> +" style="fill:#1460a8;stroke:#1460a8;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_50"> - <path clip-path="url(#pc9763b54a5)" d="M 444.176652 78.653059 -Q 443.106033 79.48329 442.918924 79.628387 -" style="fill:none;stroke:#3282be;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 447.305474 78.757647 -L 442.918924 79.628387 -L 444.854262 75.596704 -L 447.305474 78.757647 + <path clip-path="url(#pe144b463bf)" d="M 307.179579 58.992562 +Q 307.187322 59.232224 307.14091 57.79571 +" style="fill:none;stroke:#084f99;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 309.0107 53.733213 +L 307.14091 57.79571 +L 305.012786 53.862379 +L 309.0107 53.733213 z -" style="fill:#3282be;stroke:#3282be;stroke-linecap:round;"/> +" style="fill:#084f99;stroke:#084f99;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_51"> - <path clip-path="url(#pc9763b54a5)" d="M 424.47677 64.699857 -Q 424.042473 65.621116 424.084917 65.53108 -" style="fill:none;stroke:#1c6bb0;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 427.599618 62.765782 -L 424.084917 65.53108 -L 423.981499 61.06014 -L 427.599618 62.765782 + <path clip-path="url(#pe144b463bf)" d="M 297.941813 76.753309 +Q 297.947043 76.992834 297.915661 75.555708 +" style="fill:none;stroke:#08509b;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 299.827856 71.512998 +L 297.915661 75.555708 +L 295.828809 71.600326 +L 299.827856 71.512998 z -" style="fill:#1c6bb0;stroke:#1c6bb0;stroke-linecap:round;"/> +" style="fill:#08509b;stroke:#08509b;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_52"> - <path clip-path="url(#pc9763b54a5)" d="M 397.754453 65.359102 -Q 397.652236 66.267422 397.675046 66.064721 -" style="fill:none;stroke:#0d57a1;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 400.109814 62.313467 -L 397.675046 66.064721 -L 396.134904 61.866154 -L 400.109814 62.313467 + <path clip-path="url(#pe144b463bf)" d="M 277.883043 76.137242 +Q 277.961844 76.407276 277.570846 75.067406 +" style="fill:none;stroke:#08458a;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 278.370231 70.667294 +L 277.570846 75.067406 +L 274.530388 71.787831 +L 278.370231 70.667294 z -" style="fill:#0d57a1;stroke:#0d57a1;stroke-linecap:round;"/> +" style="fill:#08458a;stroke:#08458a;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_53"> - <path clip-path="url(#pc9763b54a5)" d="M 383.956022 65.360631 -Q 383.984216 66.267273 383.977659 66.056422 -" style="fill:none;stroke:#084f99;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 385.852365 61.996191 -L 383.977659 66.056422 -L 381.854298 62.120518 -L 385.852365 61.996191 + <path clip-path="url(#pe144b463bf)" d="M 263.472243 67.252344 +Q 263.577023 67.534891 263.09869 66.245027 +" style="fill:none;stroke:#083c7d;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 263.583093 61.799202 +L 263.09869 66.245027 +L 259.832672 63.190009 +L 263.583093 61.799202 z -" style="fill:#084f99;stroke:#084f99;stroke-linecap:round;"/> +" style="fill:#083c7d;stroke:#083c7d;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_54"> - <path clip-path="url(#pc9763b54a5)" d="M 372.414802 88.426876 -Q 372.433847 89.333 372.429398 89.121337 -" style="fill:none;stroke:#08509b;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 374.344902 85.080193 -L 372.429398 89.121337 -L 370.345785 85.164247 -L 374.344902 85.080193 + <path clip-path="url(#pe144b463bf)" d="M 242.325785 75.757228 +Q 242.45334 76.052395 241.915625 74.808108 +" style="fill:none;stroke:#083c7d;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 242.164766 70.342918 +L 241.915625 74.808108 +L 238.492957 71.929681 +L 242.164766 70.342918 z -" style="fill:#08509b;stroke:#08509b;stroke-linecap:round;"/> +" style="fill:#083c7d;stroke:#083c7d;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_55"> - <path clip-path="url(#pc9763b54a5)" d="M 343.825342 76.311028 -Q 344.10084 77.228218 344.054708 77.074635 -" style="fill:none;stroke:#084184;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 344.819465 72.668373 -L 344.054708 77.074635 -L 340.988553 73.819072 -L 344.819465 72.668373 + <path clip-path="url(#pe144b463bf)" d="M 229.270422 75.89275 +Q 229.389384 76.183603 228.873467 74.922222 +" style="fill:none;stroke:#083c7d;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 229.210338 70.462792 +L 228.873467 74.922222 +L 225.508046 71.977066 +L 229.210338 70.462792 z -" style="fill:#084184;stroke:#084184;stroke-linecap:round;"/> +" style="fill:#083c7d;stroke:#083c7d;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_56"> - <path clip-path="url(#pc9763b54a5)" d="M 329.141897 76.1251 -Q 329.471201 77.047692 329.424665 76.917315 -" style="fill:none;stroke:#083c7d;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 329.963627 72.477775 -L 329.424665 76.917315 -L 326.19641 73.822421 -L 329.963627 72.477775 + <path clip-path="url(#pe144b463bf)" d="M 222.071428 93.380937 +Q 222.190864 93.671671 221.673031 92.411151 +" style="fill:none;stroke:#08458a;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 222.003036 87.951208 +L 221.673031 92.411151 +L 218.303079 89.471182 +L 222.003036 87.951208 z -" style="fill:#083c7d;stroke:#083c7d;stroke-linecap:round;"/> +" style="fill:#08458a;stroke:#08458a;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_57"> - <path clip-path="url(#pc9763b54a5)" d="M 302.683413 87.188172 -Q 303.066471 88.109114 303.020154 87.997759 -" style="fill:none;stroke:#083c7d;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 303.330602 83.536411 -L 303.020154 87.997759 -L 299.637345 85.072592 -L 303.330602 83.536411 + <path clip-path="url(#pe144b463bf)" d="M 203.764872 85.218435 +Q 203.834865 85.480125 203.471537 84.121713 +" style="fill:none;stroke:#08468b;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 204.370092 79.740777 +L 203.471537 84.121713 +L 200.505921 80.774308 +L 204.370092 79.740777 z -" style="fill:#083c7d;stroke:#083c7d;stroke-linecap:round;"/> +" style="fill:#08468b;stroke:#08468b;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_58"> - <path clip-path="url(#pc9763b54a5)" d="M 286.373012 87.356093 -Q 286.735387 88.276592 286.688216 88.156769 -" style="fill:none;stroke:#083c7d;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 287.083966 83.702178 -L 286.688216 88.156769 -L 283.361993 85.167415 -L 287.083966 83.702178 + <path clip-path="url(#pe144b463bf)" d="M 155.934507 223.308204 +Q 155.060909 223.572049 155.792739 223.351021 +" style="fill:none;stroke:#4695c8;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 160.200153 224.109116 +L 155.792739 223.351021 +L 159.043664 220.279948 +L 160.200153 224.109116 z -" style="fill:#083c7d;stroke:#083c7d;stroke-linecap:round;"/> +" style="fill:#4695c8;stroke:#4695c8;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_59"> - <path clip-path="url(#pc9763b54a5)" d="M 273.236106 98.888666 -Q 273.572304 99.809703 273.525137 99.680488 -" style="fill:none;stroke:#084285;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 274.032323 95.237205 -L 273.525137 99.680488 -L 270.274823 96.608769 -L 274.032323 95.237205 + <path clip-path="url(#pe144b463bf)" d="M 172.784105 258.304966 +Q 172.221387 258.690308 173.042379 258.128104 +" style="fill:none;stroke:#4997c9;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 177.472736 257.518242 +L 173.042379 258.128104 +L 175.212704 254.2179 +L 177.472736 257.518242 z -" style="fill:#084285;stroke:#084285;stroke-linecap:round;"/> +" style="fill:#4997c9;stroke:#4997c9;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_60"> - <path clip-path="url(#pc9763b54a5)" d="M 254.557625 99.436842 -Q 254.793118 100.35161 254.749878 100.183645 -" style="fill:none;stroke:#08468b;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 255.689501 95.811334 -L 254.749878 100.183645 -L 251.815803 96.80856 -L 255.689501 95.811334 + <path clip-path="url(#pe144b463bf)" d="M 360.960346 51.163564 +Q 360.678751 51.522796 361.431777 50.562158 +" style="fill:none;stroke:#3181bd;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 365.473532 48.647943 +L 361.431777 50.562158 +L 362.325458 46.180226 +L 365.473532 48.647943 z -" style="fill:#08468b;stroke:#08468b;stroke-linecap:round;"/> +" style="fill:#3181bd;stroke:#3181bd;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_61"> - <path clip-path="url(#pc9763b54a5)" d="M 195.400979 279.199403 -Q 193.827064 279.693279 193.319897 279.852421 -" style="fill:none;stroke:#4695c8;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 197.735204 280.563103 -L 193.319897 279.852421 -L 196.537627 276.746585 -L 197.735204 280.563103 + <path clip-path="url(#pe144b463bf)" d="M 106.358066 59.052323 +Q 106.171114 59.37666 106.821666 58.248039 +" style="fill:none;stroke:#3888c1;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 110.551982 55.781312 +L 106.821666 58.248039 +L 107.086474 53.78375 +L 110.551982 55.781312 z -" style="fill:#4695c8;stroke:#4695c8;stroke-linecap:round;"/> +" style="fill:#3888c1;stroke:#3888c1;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_62"> - <path clip-path="url(#pc9763b54a5)" d="M 216.412346 324.493748 -Q 215.274478 325.303304 215.047604 325.464717 -" style="fill:none;stroke:#4997c9;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 219.46631 324.775487 -L 215.047604 325.464717 -L 217.147444 321.516215 -L 219.46631 324.775487 + <path clip-path="url(#pe144b463bf)" d="M 147.934414 268.513836 +Q 147.385898 268.90001 148.208672 268.320749 +" style="fill:none;stroke:#65aad4;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 152.630738 267.653413 +L 148.208672 268.320749 +L 150.328042 264.382695 +L 152.630738 267.653413 z -" style="fill:#4997c9;stroke:#4997c9;stroke-linecap:round;"/> +" style="fill:#65aad4;stroke:#65aad4;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_63"> - <path clip-path="url(#pc9763b54a5)" d="M 451.53896 55.337761 -Q 450.848727 56.2526 450.831873 56.274938 -" style="fill:none;stroke:#3181bd;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 454.837587 54.286405 -L 450.831873 56.274938 -L 451.644476 51.877248 -L 454.837587 54.286405 + <path clip-path="url(#pe144b463bf)" d="M 400.388579 131.165525 +Q 399.499588 130.920217 400.22723 131.121002 +" style="fill:none;stroke:#a8cee4;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 403.551127 134.112943 +L 400.22723 131.121002 +L 404.61512 130.257049 +L 403.551127 134.112943 z -" style="fill:#3181bd;stroke:#3181bd;stroke-linecap:round;"/> +" style="fill:#a8cee4;stroke:#a8cee4;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_64"> - <path clip-path="url(#pc9763b54a5)" d="M 133.22384 65.533645 -Q 132.713283 66.453904 132.745125 66.39651 -" style="fill:none;stroke:#3888c1;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 136.434547 63.869028 -L 132.745125 66.39651 -L 132.936792 61.928483 -L 136.434547 63.869028 + <path clip-path="url(#pe144b463bf)" d="M 199.699332 104.460242 +Q 199.723604 104.699211 199.578408 103.269714 +" style="fill:none;stroke:#084e98;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 201.163964 99.088085 +L 199.578408 103.269714 +L 197.184439 99.492292 +L 201.163964 99.088085 z -" style="fill:#3888c1;stroke:#3888c1;stroke-linecap:round;"/> +" style="fill:#084e98;stroke:#084e98;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_65"> - <path clip-path="url(#pc9763b54a5)" d="M 185.350087 337.743484 -Q 184.231959 338.561355 184.016223 338.719158 -" style="fill:none;stroke:#65aad4;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 188.425483 337.971879 -L 184.016223 338.719158 -L 186.063955 334.743382 -L 188.425483 337.971879 + <path clip-path="url(#pe144b463bf)" d="M 137.05243 239.695369 +Q 136.263908 240.014308 137.030077 239.70441 +" style="fill:none;stroke:#63a8d3;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 141.488163 240.058619 +L 137.030077 239.70441 +L 139.988296 236.350466 +L 141.488163 240.058619 z -" style="fill:#65aad4;stroke:#65aad4;stroke-linecap:round;"/> +" style="fill:#63a8d3;stroke:#63a8d3;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_66"> - <path clip-path="url(#pc9763b54a5)" d="M 249.565772 124.405623 -Q 249.654647 125.314706 249.634737 125.111059 -" style="fill:none;stroke:#084e98;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 251.236053 120.935441 -L 249.634737 125.111059 -L 247.255032 121.324636 -L 251.236053 120.935441 + <path clip-path="url(#pe144b463bf)" d="M 201.563615 228.822728 +Q 200.717872 229.103948 201.463511 228.856014 +" style="fill:none;stroke:#2f7fbc;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 205.890231 229.491745 +L 201.463511 228.856014 +L 204.628128 225.696077 +L 205.890231 229.491745 z -" style="fill:#084e98;stroke:#084e98;stroke-linecap:round;"/> +" style="fill:#2f7fbc;stroke:#2f7fbc;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_67"> - <path clip-path="url(#pc9763b54a5)" d="M 171.792813 300.432377 -Q 170.333421 301.045668 169.904749 301.225812 -" style="fill:none;stroke:#63a8d3;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 174.367202 301.519947 -L 169.904749 301.225812 -L 172.817528 297.83233 -L 174.367202 301.519947 + <path clip-path="url(#pe144b463bf)" d="M 164.712159 116.958635 +Q 164.080126 117.660517 164.570313 117.116157 +" style="fill:none;stroke:#1865ac;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#pe144b463bf)" d="M 168.733196 115.482019 +L 164.570313 117.116157 +L 165.760733 112.805368 +L 168.733196 115.482019 z -" style="fill:#63a8d3;stroke:#63a8d3;stroke-linecap:round;"/> +" style="fill:#1865ac;stroke:#1865ac;stroke-linecap:round;stroke-width:1.5;"/> </g> <g id="patch_68"> - <path clip-path="url(#pc9763b54a5)" d="M 252.436593 286.346094 -Q 250.898461 286.877467 250.417079 287.043768 -" style="fill:none;stroke:#2f7fbc;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 254.850887 287.62802 -L 250.417079 287.043768 -L 253.544766 283.847273 -L 254.850887 287.62802 -z -" style="fill:#2f7fbc;stroke:#2f7fbc;stroke-linecap:round;"/> + <path d="M 57.6 307.584 +L 57.6 41.472 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> </g> <g id="patch_69"> - <path clip-path="url(#pc9763b54a5)" d="M 206.252632 140.816421 -Q 205.936783 141.180842 206.353192 140.700396 -" style="fill:none;stroke:#1865ac;stroke-linecap:round;"/> - <path clip-path="url(#pc9763b54a5)" d="M 210.48434 138.987614 -L 206.353192 140.700396 -L 207.461655 136.367809 -L 210.48434 138.987614 -z -" style="fill:#1865ac;stroke:#1865ac;stroke-linecap:round;"/> + <path d="M 414.72 307.584 +L 414.72 41.472 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> </g> <g id="patch_70"> - <path d="M 72 388.8 -L 72 43.2 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> + <path d="M 57.6 307.584 +L 414.72 307.584 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> </g> <g id="patch_71"> - <path d="M 518.4 388.8 -L 518.4 43.2 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> - <g id="patch_72"> - <path d="M 72 388.8 -L 518.4 388.8 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> - <g id="patch_73"> - <path d="M 72 43.2 -L 518.4 43.2 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> - <g id="matplotlib.axis_1"> - <g id="xtick_1"> - <g id="line2d_1"> - <defs> - <path d="M 0 0 -L 0 -4 -" id="ma030f7706f" style="stroke:#000000;stroke-width:0.5;"/> - </defs> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#ma030f7706f" y="388.8"/> - </g> - </g> - <g id="line2d_2"> - <defs> - <path d="M 0 0 -L 0 4 -" id="m53895f10b2" style="stroke:#000000;stroke-width:0.5;"/> - </defs> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m53895f10b2" y="43.2"/> - </g> - </g> - <g id="text_1"> - <!-- −3 --> - <defs> - <path d="M 10.59375 35.5 -L 73.1875 35.5 -L 73.1875 27.203125 -L 10.59375 27.203125 -z -" id="DejaVuSans-2212"/> - <path d="M 40.578125 39.3125 -Q 47.65625 37.796875 51.625 33 -Q 55.609375 28.21875 55.609375 21.1875 -Q 55.609375 10.40625 48.1875 4.484375 -Q 40.765625 -1.421875 27.09375 -1.421875 -Q 22.515625 -1.421875 17.65625 -0.515625 -Q 12.796875 0.390625 7.625 2.203125 -L 7.625 11.71875 -Q 11.71875 9.328125 16.59375 8.109375 -Q 21.484375 6.890625 26.8125 6.890625 -Q 36.078125 6.890625 40.9375 10.546875 -Q 45.796875 14.203125 45.796875 21.1875 -Q 45.796875 27.640625 41.28125 31.265625 -Q 36.765625 34.90625 28.71875 34.90625 -L 20.21875 34.90625 -L 20.21875 43.015625 -L 29.109375 43.015625 -Q 36.375 43.015625 40.234375 45.921875 -Q 44.09375 48.828125 44.09375 54.296875 -Q 44.09375 59.90625 40.109375 62.90625 -Q 36.140625 65.921875 28.71875 65.921875 -Q 24.65625 65.921875 20.015625 65.03125 -Q 15.375 64.15625 9.8125 62.3125 -L 9.8125 71.09375 -Q 15.4375 72.65625 20.34375 73.4375 -Q 25.25 74.21875 29.59375 74.21875 -Q 40.828125 74.21875 47.359375 69.109375 -Q 53.90625 64.015625 53.90625 55.328125 -Q 53.90625 49.265625 50.4375 45.09375 -Q 46.96875 40.921875 40.578125 39.3125 -" id="DejaVuSans-33"/> - </defs> - <g transform="translate(63.154688 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-33"/> - </g> - </g> - </g> - <g id="xtick_2"> - <g id="line2d_3"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="146.4" xlink:href="#ma030f7706f" y="388.8"/> - </g> - </g> - <g id="line2d_4"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="146.4" xlink:href="#m53895f10b2" y="43.2"/> - </g> - </g> - <g id="text_2"> - <!-- −2 --> - <defs> - <path d="M 19.1875 8.296875 -L 53.609375 8.296875 -L 53.609375 0 -L 7.328125 0 -L 7.328125 8.296875 -Q 12.9375 14.109375 22.625 23.890625 -Q 32.328125 33.6875 34.8125 36.53125 -Q 39.546875 41.84375 41.421875 45.53125 -Q 43.3125 49.21875 43.3125 52.78125 -Q 43.3125 58.59375 39.234375 62.25 -Q 35.15625 65.921875 28.609375 65.921875 -Q 23.96875 65.921875 18.8125 64.3125 -Q 13.671875 62.703125 7.8125 59.421875 -L 7.8125 69.390625 -Q 13.765625 71.78125 18.9375 73 -Q 24.125 74.21875 28.421875 74.21875 -Q 39.75 74.21875 46.484375 68.546875 -Q 53.21875 62.890625 53.21875 53.421875 -Q 53.21875 48.921875 51.53125 44.890625 -Q 49.859375 40.875 45.40625 35.40625 -Q 44.1875 33.984375 37.640625 27.21875 -Q 31.109375 20.453125 19.1875 8.296875 -" id="DejaVuSans-32"/> - </defs> - <g transform="translate(137.554688 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-32"/> - </g> - </g> - </g> - <g id="xtick_3"> - <g id="line2d_5"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="220.8" xlink:href="#ma030f7706f" y="388.8"/> - </g> - </g> - <g id="line2d_6"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="220.8" xlink:href="#m53895f10b2" y="43.2"/> - </g> - </g> - <g id="text_3"> - <!-- −1 --> - <defs> - <path d="M 12.40625 8.296875 -L 28.515625 8.296875 -L 28.515625 63.921875 -L 10.984375 60.40625 -L 10.984375 69.390625 -L 28.421875 72.90625 -L 38.28125 72.90625 -L 38.28125 8.296875 -L 54.390625 8.296875 -L 54.390625 0 -L 12.40625 0 -z -" id="DejaVuSans-31"/> - </defs> - <g transform="translate(211.954688 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-31"/> - </g> - </g> - </g> - <g id="xtick_4"> - <g id="line2d_7"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="295.2" xlink:href="#ma030f7706f" y="388.8"/> - </g> - </g> - <g id="line2d_8"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="295.2" xlink:href="#m53895f10b2" y="43.2"/> - </g> - </g> - <g id="text_4"> - <!-- 0 --> - <defs> - <path d="M 31.78125 66.40625 -Q 24.171875 66.40625 20.328125 58.90625 -Q 16.5 51.421875 16.5 36.375 -Q 16.5 21.390625 20.328125 13.890625 -Q 24.171875 6.390625 31.78125 6.390625 -Q 39.453125 6.390625 43.28125 13.890625 -Q 47.125 21.390625 47.125 36.375 -Q 47.125 51.421875 43.28125 58.90625 -Q 39.453125 66.40625 31.78125 66.40625 -M 31.78125 74.21875 -Q 44.046875 74.21875 50.515625 64.515625 -Q 56.984375 54.828125 56.984375 36.375 -Q 56.984375 17.96875 50.515625 8.265625 -Q 44.046875 -1.421875 31.78125 -1.421875 -Q 19.53125 -1.421875 13.0625 8.265625 -Q 6.59375 17.96875 6.59375 36.375 -Q 6.59375 54.828125 13.0625 64.515625 -Q 19.53125 74.21875 31.78125 74.21875 -" id="DejaVuSans-30"/> - </defs> - <g transform="translate(291.3825 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="xtick_5"> - <g id="line2d_9"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="369.6" xlink:href="#ma030f7706f" y="388.8"/> - </g> - </g> - <g id="line2d_10"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="369.6" xlink:href="#m53895f10b2" y="43.2"/> - </g> - </g> - <g id="text_5"> - <!-- 1 --> - <g transform="translate(365.7825 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-31"/> - </g> - </g> - </g> - <g id="xtick_6"> - <g id="line2d_11"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="444" xlink:href="#ma030f7706f" y="388.8"/> - </g> - </g> - <g id="line2d_12"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="444" xlink:href="#m53895f10b2" y="43.2"/> - </g> - </g> - <g id="text_6"> - <!-- 2 --> - <g transform="translate(440.1825 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-32"/> - </g> - </g> - </g> - <g id="xtick_7"> - <g id="line2d_13"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#ma030f7706f" y="388.8"/> - </g> - </g> - <g id="line2d_14"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m53895f10b2" y="43.2"/> - </g> - </g> - <g id="text_7"> - <!-- 3 --> - <g transform="translate(514.5825 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-33"/> - </g> - </g> - </g> - </g> - <g id="matplotlib.axis_2"> - <g id="ytick_1"> - <g id="line2d_15"> - <defs> - <path d="M 0 0 -L 4 0 -" id="m65babe4432" style="stroke:#000000;stroke-width:0.5;"/> - </defs> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m65babe4432" y="388.8"/> - </g> - </g> - <g id="line2d_16"> - <defs> - <path d="M 0 0 -L -4 0 -" id="m63b23f055a" style="stroke:#000000;stroke-width:0.5;"/> - </defs> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m63b23f055a" y="388.8"/> - </g> - </g> - <g id="text_8"> - <!-- −3 --> - <g transform="translate(50.309375 393.359062)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-33"/> - </g> - </g> - </g> - <g id="ytick_2"> - <g id="line2d_17"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m65babe4432" y="331.2"/> - </g> - </g> - <g id="line2d_18"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m63b23f055a" y="331.2"/> - </g> - </g> - <g id="text_9"> - <!-- −2 --> - <g transform="translate(50.309375 335.759063)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-32"/> - </g> - </g> - </g> - <g id="ytick_3"> - <g id="line2d_19"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m65babe4432" y="273.6"/> - </g> - </g> - <g id="line2d_20"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m63b23f055a" y="273.6"/> - </g> - </g> - <g id="text_10"> - <!-- −1 --> - <g transform="translate(50.309375 278.159063)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-31"/> - </g> - </g> - </g> - <g id="ytick_4"> - <g id="line2d_21"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m65babe4432" y="216"/> - </g> - </g> - <g id="line2d_22"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m63b23f055a" y="216"/> - </g> - </g> - <g id="text_11"> - <!-- 0 --> - <g transform="translate(60.365 220.559063)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="ytick_5"> - <g id="line2d_23"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m65babe4432" y="158.4"/> - </g> - </g> - <g id="line2d_24"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m63b23f055a" y="158.4"/> - </g> - </g> - <g id="text_12"> - <!-- 1 --> - <g transform="translate(60.365 162.959062)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-31"/> - </g> - </g> - </g> - <g id="ytick_6"> - <g id="line2d_25"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m65babe4432" y="100.8"/> - </g> - </g> - <g id="line2d_26"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m63b23f055a" y="100.8"/> - </g> - </g> - <g id="text_13"> - <!-- 2 --> - <g transform="translate(60.365 105.359062)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-32"/> - </g> - </g> - </g> - <g id="ytick_7"> - <g id="line2d_27"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m65babe4432" y="43.2"/> - </g> - </g> - <g id="line2d_28"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m63b23f055a" y="43.2"/> - </g> - </g> - <g id="text_14"> - <!-- 3 --> - <g transform="translate(60.365 47.759062)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-33"/> - </g> - </g> - </g> + <path d="M 57.6 41.472 +L 414.72 41.472 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> </g> </g> </g> <defs> - <clipPath id="pc9763b54a5"> - <rect height="345.6" width="446.4" x="72" y="43.2"/> + <clipPath id="pe144b463bf"> + <rect height="266.112" width="357.12" x="57.6" y="41.472"/> </clipPath> </defs> </svg> diff --git a/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_maxlength.png b/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_maxlength.png index 2ccb71c0581f5c62862f8bc13ec3bb48eaf80c7c..a71e6ee9022624cf07c2041375665e8c22e21151 100644 GIT binary patch literal 37561 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 literal 39960 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 kc;QmsUr9RS-D=TWD0Z#&t2=ra9h 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 diff --git a/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_startpoints.pdf b/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_startpoints.pdf index c312bb6d357e3cde6c3ae42c1f2991944cadee1c..60d0bd0af49bb914ec20ebddba23ff246fce67de 100644 GIT binary patch delta 6804 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 VeEj~AtBkn#Ef5cnx}FB;KLF%jY3=|3 literal 11224 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 K<5Sa9hx{*SfzjXq diff --git a/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_startpoints.png b/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_startpoints.png index 734179dc3a7d39309b9c18cf573904374e662e46..ef60a9e7e3c82daf8951e6ec2129099819801ad8 100644 GIT binary patch literal 31493 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 M|4gnz#^l}q0F9XM-T(jq literal 35460 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 diff --git a/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_startpoints.svg b/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_startpoints.svg index 38bb079de5f7..1e484908206c 100644 --- a/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_startpoints.svg +++ b/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_startpoints.svg @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="utf-8" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<!-- Created with matplotlib (http://matplotlib.org/) --> -<svg height="432pt" version="1.1" viewBox="0 0 576 432" width="576pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<!-- Created with matplotlib (https://matplotlib.org/) --> +<svg height="345.6pt" version="1.1" viewBox="0 0 460.8 345.6" width="460.8pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <defs> <style type="text/css"> *{stroke-linecap:butt;stroke-linejoin:round;} @@ -10,1764 +10,1485 @@ </defs> <g id="figure_1"> <g id="patch_1"> - <path d="M 0 432 -L 576 432 -L 576 0 + <path d="M 0 345.6 +L 460.8 345.6 +L 460.8 0 L 0 0 z " style="fill:#ffffff;"/> </g> <g id="axes_1"> <g id="patch_2"> - <path d="M 72 388.8 -L 518.4 388.8 -L 518.4 43.2 -L 72 43.2 + <path d="M 57.6 307.584 +L 414.72 307.584 +L 414.72 41.472 +L 57.6 41.472 z " style="fill:#ffffff;"/> - </g> - <g id="LineCollection_1"> - <path clip-path="url(#pcf856b1a24)" d="M 518.4 304.162788 -L 504.948064 302.610918 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 504.948064 302.610918 -L 490.088938 300.862607 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 490.088938 300.862607 -L 475.243975 299.044117 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 475.243975 299.044117 -L 460.41447 297.152527 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 460.41447 297.152527 -L 445.601306 295.185804 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 445.601306 295.185804 -L 430.805235 293.145265 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 430.805235 293.145265 -L 416.025078 291.034985 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 416.025078 291.034985 -L 401.259092 288.867614 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 401.259092 288.867614 -L 386.50206 286.668932 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 386.50206 286.668932 -L 371.741896 284.48203 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 371.741896 284.48203 -L 356.961702 282.384158 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 356.961702 282.384158 -L 342.134481 280.499086 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 342.134481 280.499086 -L 327.236383 279.019607 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 327.236383 279.019607 -L 312.26226 278.212395 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 312.26226 278.212395 -L 297.262245 278.383299 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 297.262245 278.383299 -L 282.376926 279.78764 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 282.376926 279.78764 -L 267.797159 282.504715 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 267.797159 282.504715 -L 253.660972 286.403474 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 253.660972 286.403474 -L 240.007147 291.242389 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 240.007147 291.242389 -L 226.796668 296.779903 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 226.796668 296.779903 -L 213.959787 302.824862 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 213.959787 302.824862 -L 201.421529 309.237478 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 201.421529 309.237478 -L 189.119477 315.920508 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 189.119477 315.920508 -L 177.003441 322.805118 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 177.003441 322.805118 -L 165.034148 329.842208 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 165.034148 329.842208 -L 153.181663 336.997047 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 153.181663 336.997047 -L 141.422196 344.243309 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 141.422196 344.243309 -L 129.736946 351.561072 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 129.736946 351.561072 -L 118.111347 358.9356 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 118.111347 358.9356 -L 106.533512 366.355042 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 106.533512 366.355042 -L 94.993966 373.810303 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 94.993966 373.810303 -L 83.48492 381.293926 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 83.48492 381.293926 -L 72 388.8 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 183.966414 305.859803 -L 171.2 312 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 171.2 312 -L 158.543273 318.275321 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 158.543273 318.275321 -L 145.967578 324.647131 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 145.967578 324.647131 -L 133.450083 331.087207 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 133.450083 331.087207 -L 120.973134 337.574474 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 120.973134 337.574474 -L 108.522871 344.092704 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 108.522871 344.092704 -L 96.08826 350.629026 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 96.08826 350.629026 -L 83.660802 357.173569 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 338.849895 273.640674 -L 324.237932 270.927077 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 324.237932 270.927077 -L 309.534137 268.552344 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 309.534137 268.552344 -L 294.693751 266.790685 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 294.693751 266.790685 -L 279.727541 265.94802 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 279.727541 265.94802 -L 264.731392 266.253746 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 264.731392 266.253746 -L 249.850678 267.746229 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 249.850678 267.746229 -L 235.194652 270.272887 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 235.194652 270.272887 -L 220.8 273.6 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 220.8 273.6 -L 206.645333 277.506023 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 206.645333 277.506023 -L 192.685211 281.813432 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 192.685211 281.813432 -L 178.870509 286.394561 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 178.870509 286.394561 -L 165.158177 291.158142 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 165.158177 291.158142 -L 151.515714 296.040847 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 151.515714 296.040847 -L 137.917675 300.997203 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 137.917675 300.997203 -L 124.343889 305.993501 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 124.343889 305.993501 -L 110.779817 311.005512 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 110.779817 311.005512 -L 97.213911 316.014722 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 97.213911 316.014722 -L 83.637888 321.007467 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 437.509533 286.451231 -L 422.931312 283.623918 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 422.931312 283.623918 -L 408.431314 280.56403 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 408.431314 280.56403 -L 394.029343 277.239326 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 394.029343 277.239326 -L 379.74921 273.614558 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 379.74921 273.614558 -L 365.618694 269.656289 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 365.618694 269.656289 -L 351.66613 265.33924 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 351.66613 265.33924 -L 337.912724 260.657215 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 337.912724 260.657215 -L 324.358582 255.637331 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 324.358582 255.637331 -L 310.964674 250.363815 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 310.964674 250.363815 -L 297.629231 245.001815 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 297.629231 245.001815 -L 284.178669 239.820256 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 284.178669 239.820256 -L 270.4 235.2 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 270.4 235.2 -L 256.126275 231.610593 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 256.126275 231.610593 -L 241.404362 229.387264 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 241.404362 229.387264 -L 226.436986 228.56311 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 226.436986 228.56311 -L 211.42633 228.888664 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 211.42633 228.888664 -L 196.476301 230.040434 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 196.476301 230.040434 -L 181.61001 231.739933 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 181.61001 231.739933 -L 166.81642 233.791877 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 166.81642 233.791877 -L 152.076557 236.066555 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 152.076557 236.066555 -L 137.372074 238.475637 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 137.372074 238.475637 -L 122.689052 240.962308 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 122.689052 240.962308 -L 108.017217 243.488304 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 108.017217 243.488304 -L 93.348748 246.026061 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 93.348748 246.026061 -L 78.678386 248.557279 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 78.678386 248.557279 -L 78.678386 248.557279 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 78.678386 248.557279 -L 73.216353 249.495452 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 73.216353 249.495452 -L 73.216353 249.495452 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 73.216353 249.495452 -L 73.216353 249.495452 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 518.4 285.644376 -L 508.183141 283.754053 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 508.183141 283.754053 -L 493.598495 280.94419 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 493.598495 280.94419 -L 479.091834 277.903245 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 479.091834 277.903245 -L 464.683872 274.594398 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 464.683872 274.594398 -L 450.402038 270.974055 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 450.402038 270.974055 -L 436.282674 266.991467 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 436.282674 266.991467 -L 422.373812 262.589238 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 422.373812 262.589238 -L 408.737884 257.70458 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 408.737884 257.70458 -L 395.453686 252.272811 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 395.453686 252.272811 -L 382.616156 246.233501 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 382.616156 246.233501 -L 370.329832 239.545167 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 370.329832 239.545167 -L 358.699544 232.188584 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 358.699544 232.188584 -L 347.813811 224.178359 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 347.813811 224.178359 -L 337.731315 215.560073 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 337.731315 215.560073 -L 328.466034 206.407425 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 328.466034 206.407425 -L 320 196.8 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 320 196.8 -L 312.273431 186.823934 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 312.273431 186.823934 -L 305.202381 176.55978 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 305.202381 176.55978 -L 298.654145 166.090034 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 298.654145 166.090034 -L 298.654145 166.090034 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 298.654145 166.090034 -L 297.044808 163.393137 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 297.044808 163.393137 -L 297.044808 163.393137 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 297.044808 163.393137 -L 295.458687 160.84962 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 295.458687 160.84962 -L 295.458687 160.84962 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 295.458687 160.84962 -L 294.491423 159.753845 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 294.491423 159.753845 -L 294.491423 159.753845 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 294.491423 159.753845 -L 293.853761 159.427644 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 293.853761 159.427644 -L 293.166253 159.467475 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 293.166253 159.467475 -L 292.293456 159.616113 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 292.293456 159.616113 -L 291.05554 159.926684 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 291.05554 159.926684 -L 288.957138 160.575572 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 288.957138 160.575572 -L 284.99596 161.821806 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 284.99596 161.821806 -L 279.404973 163.431156 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 279.404973 163.431156 -L 271.429646 165.672792 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 271.429646 165.672792 -L 257.62832 169.466201 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 257.62832 169.466201 -L 243.445909 173.21317 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 243.445909 173.21317 -L 229.166704 176.80093 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 229.166704 176.80093 -L 214.812543 180.231076 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 214.812543 180.231076 -L 200.396749 183.514791 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 200.396749 183.514791 -L 185.928528 186.663156 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 185.928528 186.663156 -L 171.414882 189.686364 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 171.414882 189.686364 -L 156.861957 192.594548 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 156.861957 192.594548 -L 142.274168 195.395967 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 142.274168 195.395967 -L 127.654846 198.09742 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 127.654846 198.09742 -L 113.007009 200.705066 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 113.007009 200.705066 -L 98.33351 203.224992 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 98.33351 203.224992 -L 83.636998 205.663261 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 518.4 233.37308 -L 505.644864 229.336439 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 505.644864 229.336439 -L 491.821855 224.770709 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 491.821855 224.770709 -L 478.194392 219.865877 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 478.194392 219.865877 -L 464.79676 214.595887 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 464.79676 214.595887 -L 451.666278 208.937891 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 451.666278 208.937891 -L 438.842215 202.87396 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 438.842215 202.87396 -L 426.363303 196.393295 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 426.363303 196.393295 -L 414.262529 189.496222 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 414.262529 189.496222 -L 402.559958 182.198802 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 402.559958 182.198802 -L 391.254284 174.535134 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 391.254284 174.535134 -L 380.305899 166.566073 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 380.305899 166.566073 -L 369.6 158.4 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 369.6 158.4 -L 358.782636 150.33077 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 358.782636 150.33077 -L 358.782636 150.33077 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 358.782636 150.33077 -L 352.478121 146.190287 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 352.478121 146.190287 -L 352.478121 146.190287 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 352.478121 146.190287 -L 348.938249 144.299134 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 348.938249 144.299134 -L 348.938249 144.299134 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 348.938249 144.299134 -L 345.617826 143.101246 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 345.617826 143.101246 -L 345.617826 143.101246 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 345.617826 143.101246 -L 342.441607 142.730834 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 342.441607 142.730834 -L 339.503414 143.182129 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 339.503414 143.182129 -L 337.188411 143.761138 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 337.188411 143.761138 -L 334.755791 144.853225 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 334.755791 144.853225 -L 334.755791 144.853225 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 334.755791 144.853225 -L 333.314233 145.340156 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 333.314233 145.340156 -L 332.331174 145.558844 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 332.331174 145.558844 -L 331.56061 145.758798 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 331.56061 145.758798 -L 330.868026 146.057481 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 330.868026 146.057481 -L 330.369526 146.468751 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 330.369526 146.468751 -L 330.369526 146.468751 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 330.369526 146.468751 -L 330.036479 146.573635 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 330.036479 146.573635 -L 329.789113 146.654943 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.789113 146.654943 -L 329.611811 146.731059 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.611811 146.731059 -L 329.486369 146.798134 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.486369 146.798134 -L 329.387333 146.839646 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.387333 146.839646 -L 329.303332 146.853797 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.303332 146.853797 -L 329.235138 146.856743 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.235138 146.856743 -L 329.187117 146.866026 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.187117 146.866026 -L 329.158909 146.887369 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.158909 146.887369 -L 329.142666 146.91213 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.142666 146.91213 -L 329.126704 146.924764 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.126704 146.924764 -L 329.105818 146.919771 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.105818 146.919771 -L 329.085472 146.908282 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.085472 146.908282 -L 329.073709 146.905121 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.073709 146.905121 -L 329.072932 146.915713 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.072932 146.915713 -L 329.077508 146.932265 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.077508 146.932265 -L 329.077641 146.939843 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.077641 146.939843 -L 329.069226 146.932063 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.069226 146.932063 -L 329.058179 146.918385 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.058179 146.918385 -L 329.053051 146.912745 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.053051 146.912745 -L 329.056945 146.920706 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.056945 146.920706 -L 329.065061 146.93524 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.065061 146.93524 -L 329.068308 146.942083 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.068308 146.942083 -L 329.06264 146.934491 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.06264 146.934491 -L 329.053589 146.920876 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.053589 146.920876 -L 329.049555 146.914611 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.049555 146.914611 -L 329.0539 146.921458 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.0539 146.921458 -L 329.06235 146.93511 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.06235 146.93511 -L 329.066283 146.941976 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.066283 146.941976 -L 329.061543 146.93508 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.061543 146.93508 -L 329.053141 146.921942 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.053141 146.921942 -L 329.049203 146.915421 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.049203 146.915421 -L 329.053248 146.921468 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.053248 146.921468 -L 329.061449 146.934453 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.061449 146.934453 -L 329.065599 146.941444 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.065599 146.941444 -L 329.06143 146.935302 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.06143 146.935302 -L 329.05343 146.922712 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.05343 146.922712 -L 329.049425 146.916033 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.049425 146.916033 -L 329.053054 146.921372 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.053054 146.921372 -L 329.060903 146.933737 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.060903 146.933737 -L 329.065164 146.940842 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.065164 146.940842 -L 329.061477 146.935425 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.061477 146.935425 -L 329.053833 146.923396 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.053833 146.923396 -L 329.04975 146.916604 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.04975 146.916604 -L 329.052962 146.921285 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.052962 146.921285 -L 329.060445 146.933049 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.060445 146.933049 -L 329.064779 146.940236 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.064779 146.940236 -L 329.061535 146.935504 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.061535 146.935504 -L 329.054237 146.924032 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.054237 146.924032 -L 329.050089 146.917161 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.050089 146.917161 -L 329.052905 146.921225 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.052905 146.921225 -L 329.060027 146.932402 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.060027 146.932402 -L 329.064408 146.939638 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.064408 146.939638 -L 329.061579 146.935549 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.061579 146.935549 -L 329.054621 146.924628 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.054621 146.924628 -L 329.050427 146.917707 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.050427 146.917707 -L 329.052871 146.921194 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.052871 146.921194 -L 329.059637 146.931797 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.059637 146.931797 -L 329.064046 146.939051 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.064046 146.939051 -L 329.061605 146.935565 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.061605 146.935565 -L 329.054983 146.925187 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.054983 146.925187 -L 329.05076 146.918243 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.05076 146.918243 -L 329.052854 146.92119 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.052854 146.92119 -L 329.059272 146.931232 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.059272 146.931232 -L 329.063691 146.938478 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.063691 146.938478 -L 329.061614 146.935554 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.061614 146.935554 -L 329.055322 146.925709 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.055322 146.925709 -L 329.051087 146.918768 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.051087 146.918768 -L 329.052854 146.921211 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.052854 146.921211 -L 329.058933 146.930707 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.058933 146.930707 -L 329.063345 146.93792 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.063345 146.93792 -L 329.061606 146.935519 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.061606 146.935519 -L 329.055639 146.926197 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.055639 146.926197 -L 329.051407 146.919282 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.051407 146.919282 -L 329.052869 146.921254 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.052869 146.921254 -L 329.058617 146.930219 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.058617 146.930219 -L 329.063006 146.937376 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.063006 146.937376 -L 329.061584 146.935462 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.061584 146.935462 -L 329.055935 146.926652 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.055935 146.926652 -L 329.05172 146.919783 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.05172 146.919783 -L 329.052897 146.921317 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.052897 146.921317 -L 329.058324 146.929767 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.058324 146.929767 -L 329.062677 146.936847 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.062677 146.936847 -L 329.061548 146.935385 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.061548 146.935385 -L 329.056211 146.927074 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.056211 146.927074 -L 329.052026 146.920271 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.052026 146.920271 -L 329.052938 146.921399 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.052938 146.921399 -L 329.058052 146.92935 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.058052 146.92935 -L 329.062357 146.936334 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.062357 146.936334 -L 329.061501 146.93529 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.061501 146.93529 -L 329.056467 146.927464 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.056467 146.927464 -L 329.052323 146.920745 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.052323 146.920745 -L 329.052989 146.921498 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.052989 146.921498 -L 329.057801 146.928964 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.057801 146.928964 -L 329.062047 146.935838 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.062047 146.935838 -L 329.061442 146.935179 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.061442 146.935179 -L 329.056704 146.927826 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.056704 146.927826 -L 329.052612 146.921205 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.052612 146.921205 -L 329.053051 146.921611 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.053051 146.921611 -L 329.057569 146.92861 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.057569 146.92861 -L 329.061747 146.935358 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.061747 146.935358 -L 329.061374 146.935053 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.061374 146.935053 -L 329.056923 146.928158 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.056923 146.928158 -L 329.052892 146.921651 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.052892 146.921651 -L 329.053121 146.921737 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.053121 146.921737 -L 329.057356 146.928285 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.057356 146.928285 -L 329.061457 146.934895 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.061457 146.934895 -L 329.061297 146.934915 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.061297 146.934915 -L 329.057124 146.928464 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.057124 146.928464 -L 329.053164 146.922082 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.053164 146.922082 -L 329.053199 146.921875 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.053199 146.921875 -L 329.05716 146.927988 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.05716 146.927988 -L 329.061177 146.934449 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.061177 146.934449 -L 329.061212 146.934766 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.061212 146.934766 -L 329.057309 146.928743 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.057309 146.928743 -L 329.053426 146.922498 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.053426 146.922498 -L 329.053284 146.922023 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.053284 146.922023 -L 329.056982 146.927718 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.056982 146.927718 -L 329.060907 146.934021 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.060907 146.934021 -L 329.061121 146.934607 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.061121 146.934607 -L 329.057478 146.928997 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.057478 146.928997 -L 329.053679 146.922899 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.053679 146.922899 -L 329.053375 146.92218 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.053375 146.92218 -L 329.056819 146.927473 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.056819 146.927473 -L 329.060647 146.933609 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.060647 146.933609 -L 329.061024 146.934439 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.061024 146.934439 -L 329.057632 146.929228 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.057632 146.929228 -L 329.053923 146.923285 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.053923 146.923285 -L 329.053472 146.922344 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.053472 146.922344 -L 329.056672 146.927251 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.056672 146.927251 -L 329.060398 146.933214 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.060398 146.933214 -L 329.060922 146.934265 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.060922 146.934265 -L 329.057772 146.929437 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.057772 146.929437 -L 329.054158 146.923656 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.054158 146.923656 -L 329.053572 146.922514 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.053572 146.922514 -L 329.056539 146.927052 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.056539 146.927052 -L 329.060159 146.932836 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.060159 146.932836 -L 329.060815 146.934085 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.060815 146.934085 -L 329.057898 146.929624 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.057898 146.929624 -L 329.054383 146.924011 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.054383 146.924011 -L 329.053677 146.92269 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.053677 146.92269 -L 329.05642 146.926875 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.05642 146.926875 -L 329.059931 146.932474 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.059931 146.932474 -L 329.060705 146.9339 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.060705 146.9339 -L 329.058011 146.92979 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.058011 146.92979 -L 329.054599 146.924351 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.054599 146.924351 -L 329.053785 146.92287 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.053785 146.92287 -L 329.056313 146.926717 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.056313 146.926717 -L 329.059712 146.932129 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.059712 146.932129 -L 329.060593 146.933711 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.060593 146.933711 -L 329.058112 146.929938 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.058112 146.929938 -L 329.054806 146.924677 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.054806 146.924677 -L 329.053895 146.923053 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.053895 146.923053 -L 329.056219 146.926578 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.056219 146.926578 -L 329.059503 146.931801 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.059503 146.931801 -L 329.060478 146.93352 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.060478 146.93352 -L 329.058201 146.930068 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.058201 146.930068 -L 329.055004 146.924987 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.055004 146.924987 -L 329.054007 146.923239 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.054007 146.923239 -L 329.056135 146.926457 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.056135 146.926457 -L 329.059305 146.931488 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.059305 146.931488 -L 329.060362 146.933327 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.060362 146.933327 -L 329.058279 146.930181 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.058279 146.930181 -L 329.055193 146.925283 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.055193 146.925283 -L 329.05412 146.923426 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.05412 146.923426 -L 329.056063 146.926352 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.056063 146.926352 -L 329.059115 146.931191 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.059115 146.931191 -L 329.060244 146.933133 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.060244 146.933133 -L 329.058347 146.930278 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.058347 146.930278 -L 329.055372 146.925564 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.055372 146.925564 -L 329.054234 146.923614 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.054234 146.923614 -L 329.056 146.926262 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.056 146.926262 -L 329.058936 146.930909 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.058936 146.930909 -L 329.060126 146.932939 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.060126 146.932939 -L 329.058405 146.93036 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.058405 146.93036 -L 329.055543 146.925831 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.055543 146.925831 -L 329.054349 146.923801 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.054349 146.923801 -L 329.055947 146.926188 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.055947 146.926188 -L 329.058766 146.930643 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.058766 146.930643 -L 329.060008 146.932745 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.060008 146.932745 -L 329.058454 146.930428 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.058454 146.930428 -L 329.055705 146.926084 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.055705 146.926084 -L 329.054464 146.923989 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.054464 146.923989 -L 329.055902 146.926126 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.055902 146.926126 -L 329.058604 146.930391 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.058604 146.930391 -L 329.05989 146.932553 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.05989 146.932553 -L 329.058495 146.930483 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.058495 146.930483 -L 329.055859 146.926324 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.055859 146.926324 -L 329.054578 146.924175 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.054578 146.924175 -L 329.055866 146.926077 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.055866 146.926077 -L 329.058452 146.930153 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.058452 146.930153 -L 329.059773 146.932362 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.059773 146.932362 -L 329.058528 146.930526 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.058528 146.930526 -L 329.056004 146.92655 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.056004 146.92655 -L 329.054691 146.924359 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.054691 146.924359 -L 329.055837 146.92604 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.055837 146.92604 -L 329.058308 146.929929 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.058308 146.929929 -L 329.059657 146.932173 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.059657 146.932173 -L 329.058554 146.930558 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.058554 146.930558 -L 329.056142 146.926763 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.056142 146.926763 -L 329.054804 146.924542 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.054804 146.924542 -L 329.055815 146.926014 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.055815 146.926014 -L 329.058173 146.929718 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.058173 146.929718 -L 329.059542 146.931987 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.059542 146.931987 -L 329.058572 146.930579 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.058572 146.930579 -L 329.056271 146.926964 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.056271 146.926964 -L 329.054915 146.924721 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.054915 146.924721 -L 329.0558 146.925997 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.0558 146.925997 -L 329.058045 146.929521 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.058045 146.929521 -L 329.059429 146.931804 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.059429 146.931804 -L 329.058585 146.930591 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.058585 146.930591 -L 329.056392 146.927152 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 329.056392 146.927152 -L 329.055024 146.924898 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 518.4 128.960684 -L 508.608556 127.476408 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 508.608556 127.476408 -L 493.839437 125.321441 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 493.839437 125.321441 -L 479.025132 123.362785 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 479.025132 123.362785 -L 464.153364 121.69564 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 464.153364 121.69564 -L 449.215109 120.450909 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 449.215109 120.450909 -L 434.215271 119.80699 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 434.215271 119.80699 -L 419.2 120 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 419.2 120 -L 404.320386 121.370913 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 404.320386 121.370913 -L 389.888485 124.066571 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 389.888485 124.066571 -L 377.507408 127.50507 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 377.507408 127.50507 -L 366.196934 131.544726 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 366.196934 131.544726 -L 355.493595 135.968971 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 355.493595 135.968971 -L 355.493595 135.968971 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 355.493595 135.968971 -L 346.943646 139.622685 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 346.943646 139.622685 -L 346.943646 139.622685 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 346.943646 139.622685 -L 341.513077 141.852684 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 341.513077 141.852684 -L 341.513077 141.852684 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 518.4 63.960088 -L 509.625838 66.818669 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 509.625838 66.818669 -L 495.855668 71.476375 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 495.855668 71.476375 -L 482.244572 76.40432 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 482.244572 76.40432 -L 468.8 81.6 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 468.8 81.6 -L 455.534945 87.061237 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 455.534945 87.061237 -L 442.44761 92.76681 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 442.44761 92.76681 -L 429.529391 98.694873 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 429.529391 98.694873 -L 416.771002 104.811853 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 416.771002 104.811853 -L 404.149306 111.070354 -" style="fill:none;stroke:#0000ff;"/> - <path clip-path="url(#pcf856b1a24)" d="M 404.149306 111.070354 -L 391.611035 117.411768 -" style="fill:none;stroke:#0000ff;"/> - </g> - <g id="patch_3"> - <path clip-path="url(#pcf856b1a24)" d="M 280.408515 280.154472 -Q 278.731264 280.467043 278.153124 280.574785 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;"/> - <path clip-path="url(#pcf856b1a24)" d="M 282.451833 281.808114 -L 278.153124 280.574785 -L 281.719013 277.875815 -L 282.451833 281.808114 -z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;"/> - </g> - <g id="patch_4"> - <path clip-path="url(#pcf856b1a24)" d="M 131.674189 332.010565 -Q 130.329749 332.709593 129.977272 332.89286 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;"/> - <path clip-path="url(#pcf856b1a24)" d="M 134.448848 332.822093 -L 129.977272 332.89286 -L 132.603605 329.273139 -L 134.448848 332.822093 -z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;"/> - </g> - <g id="patch_5"> - <path clip-path="url(#pcf856b1a24)" d="M 204.733314 278.095978 -Q 203.155738 278.582741 202.646496 278.739868 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;"/> - <path clip-path="url(#pcf856b1a24)" d="M 207.058359 279.471623 -L 202.646496 278.739868 -L 205.879018 275.64943 -L 207.058359 279.471623 -z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;"/> - </g> - <g id="patch_6"> - <path clip-path="url(#pcf856b1a24)" d="M 268.458969 234.71189 -Q 266.831466 234.302622 266.288239 234.166017 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;"/> - <path clip-path="url(#pcf856b1a24)" d="M 269.679711 237.081137 -L 266.288239 234.166017 -L 270.655218 233.201912 -L 269.679711 237.081137 -z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;"/> - </g> - <g id="patch_7"> - <path clip-path="url(#pcf856b1a24)" d="M 311.139232 185.177559 -Q 310.504897 184.256776 310.50484 184.256694 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;"/> - <path clip-path="url(#pcf856b1a24)" d="M 311.127101 188.685327 -L 310.50484 184.256694 -L 314.421103 186.416065 -L 311.127101 188.685327 -z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;"/> - </g> - <g id="patch_8"> - <path clip-path="url(#pcf856b1a24)" d="M 424.623225 195.401504 -Q 423.337288 194.668559 423.022686 194.489245 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;"/> - <path clip-path="url(#pcf856b1a24)" d="M 425.507475 198.207555 -L 423.022686 194.489245 -L 427.488207 194.732401 -L 425.507475 198.207555 -z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;"/> - </g> - <g id="patch_9"> - <path clip-path="url(#pcf856b1a24)" d="M 432.21739 119.832672 -Q 430.461963 119.855236 429.824477 119.863431 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;"/> - <path clip-path="url(#pcf856b1a24)" d="M 433.849853 121.811853 -L 429.824477 119.863431 -L 433.798441 117.812183 -L 433.849853 121.811853 -z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;"/> - </g> - <g id="patch_10"> - <path clip-path="url(#pcf856b1a24)" d="M 453.704124 87.859405 -Q 452.264727 88.486926 451.850203 88.667643 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;"/> - <path clip-path="url(#pcf856b1a24)" d="M 456.31617 88.902453 -L 451.850203 88.667643 -L 454.717632 85.235755 -L 456.31617 88.902453 -z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;"/> - </g> - <g id="line2d_1"> - <defs> - <path d="M 0 3 -C 0.795609 3 1.55874 2.683901 2.12132 2.12132 -C 2.683901 1.55874 3 0.795609 3 0 -C 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132 -C 1.55874 -2.683901 0.795609 -3 0 -3 -C -0.795609 -3 -1.55874 -2.683901 -2.12132 -2.12132 -C -2.683901 -1.55874 -3 -0.795609 -3 0 -C -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 -C -1.55874 2.683901 -0.795609 3 0 3 -z -" id="m20130d66e3" style="stroke:#000000;stroke-width:0.5;"/> - </defs> - <g clip-path="url(#pcf856b1a24)"> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m20130d66e3" y="388.8"/> - <use style="stroke:#000000;stroke-width:0.5;" x="121.6" xlink:href="#m20130d66e3" y="350.4"/> - <use style="stroke:#000000;stroke-width:0.5;" x="171.2" xlink:href="#m20130d66e3" y="312"/> - <use style="stroke:#000000;stroke-width:0.5;" x="220.8" xlink:href="#m20130d66e3" y="273.6"/> - <use style="stroke:#000000;stroke-width:0.5;" x="270.4" xlink:href="#m20130d66e3" y="235.2"/> - <use style="stroke:#000000;stroke-width:0.5;" x="320" xlink:href="#m20130d66e3" y="196.8"/> - <use style="stroke:#000000;stroke-width:0.5;" x="369.6" xlink:href="#m20130d66e3" y="158.4"/> - <use style="stroke:#000000;stroke-width:0.5;" x="419.2" xlink:href="#m20130d66e3" y="120"/> - <use style="stroke:#000000;stroke-width:0.5;" x="468.8" xlink:href="#m20130d66e3" y="81.6"/> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m20130d66e3" y="43.2"/> - </g> - </g> - <g id="patch_11"> - <path d="M 72 388.8 -L 72 43.2 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> - <g id="patch_12"> - <path d="M 518.4 388.8 -L 518.4 43.2 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> - <g id="patch_13"> - <path d="M 72 388.8 -L 518.4 388.8 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> - <g id="patch_14"> - <path d="M 72 43.2 -L 518.4 43.2 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> </g> <g id="matplotlib.axis_1"> <g id="xtick_1"> - <g id="line2d_2"> - <defs> - <path d="M 0 0 -L 0 -4 -" id="mf22af69df9" style="stroke:#000000;stroke-width:0.5;"/> - </defs> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#mf22af69df9" y="388.8"/> - </g> - </g> - <g id="line2d_3"> + <g id="line2d_1"> <defs> <path d="M 0 0 -L 0 4 -" id="m07af173e06" style="stroke:#000000;stroke-width:0.5;"/> +L 0 3.5 +" id="m6fa6f7c42e" style="stroke:#000000;stroke-width:0.8;"/> </defs> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m07af173e06" y="43.2"/> - </g> - </g> - <g id="text_1"> - <!-- −3 --> - <defs> - <path d="M 10.59375 35.5 -L 73.1875 35.5 -L 73.1875 27.203125 -L 10.59375 27.203125 -z -" id="DejaVuSans-2212"/> - <path d="M 40.578125 39.3125 -Q 47.65625 37.796875 51.625 33 -Q 55.609375 28.21875 55.609375 21.1875 -Q 55.609375 10.40625 48.1875 4.484375 -Q 40.765625 -1.421875 27.09375 -1.421875 -Q 22.515625 -1.421875 17.65625 -0.515625 -Q 12.796875 0.390625 7.625 2.203125 -L 7.625 11.71875 -Q 11.71875 9.328125 16.59375 8.109375 -Q 21.484375 6.890625 26.8125 6.890625 -Q 36.078125 6.890625 40.9375 10.546875 -Q 45.796875 14.203125 45.796875 21.1875 -Q 45.796875 27.640625 41.28125 31.265625 -Q 36.765625 34.90625 28.71875 34.90625 -L 20.21875 34.90625 -L 20.21875 43.015625 -L 29.109375 43.015625 -Q 36.375 43.015625 40.234375 45.921875 -Q 44.09375 48.828125 44.09375 54.296875 -Q 44.09375 59.90625 40.109375 62.90625 -Q 36.140625 65.921875 28.71875 65.921875 -Q 24.65625 65.921875 20.015625 65.03125 -Q 15.375 64.15625 9.8125 62.3125 -L 9.8125 71.09375 -Q 15.4375 72.65625 20.34375 73.4375 -Q 25.25 74.21875 29.59375 74.21875 -Q 40.828125 74.21875 47.359375 69.109375 -Q 53.90625 64.015625 53.90625 55.328125 -Q 53.90625 49.265625 50.4375 45.09375 -Q 46.96875 40.921875 40.578125 39.3125 -" id="DejaVuSans-33"/> - </defs> - <g transform="translate(63.154688 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-33"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m6fa6f7c42e" y="307.584"/> </g> </g> </g> <g id="xtick_2"> - <g id="line2d_4"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="146.4" xlink:href="#mf22af69df9" y="388.8"/> - </g> - </g> - <g id="line2d_5"> + <g id="line2d_2"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="146.4" xlink:href="#m07af173e06" y="43.2"/> - </g> - </g> - <g id="text_2"> - <!-- −2 --> - <defs> - <path d="M 19.1875 8.296875 -L 53.609375 8.296875 -L 53.609375 0 -L 7.328125 0 -L 7.328125 8.296875 -Q 12.9375 14.109375 22.625 23.890625 -Q 32.328125 33.6875 34.8125 36.53125 -Q 39.546875 41.84375 41.421875 45.53125 -Q 43.3125 49.21875 43.3125 52.78125 -Q 43.3125 58.59375 39.234375 62.25 -Q 35.15625 65.921875 28.609375 65.921875 -Q 23.96875 65.921875 18.8125 64.3125 -Q 13.671875 62.703125 7.8125 59.421875 -L 7.8125 69.390625 -Q 13.765625 71.78125 18.9375 73 -Q 24.125 74.21875 28.421875 74.21875 -Q 39.75 74.21875 46.484375 68.546875 -Q 53.21875 62.890625 53.21875 53.421875 -Q 53.21875 48.921875 51.53125 44.890625 -Q 49.859375 40.875 45.40625 35.40625 -Q 44.1875 33.984375 37.640625 27.21875 -Q 31.109375 20.453125 19.1875 8.296875 -" id="DejaVuSans-32"/> - </defs> - <g transform="translate(137.554688 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-32"/> + <use style="stroke:#000000;stroke-width:0.8;" x="117.12" xlink:href="#m6fa6f7c42e" y="307.584"/> </g> </g> </g> <g id="xtick_3"> - <g id="line2d_6"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="220.8" xlink:href="#mf22af69df9" y="388.8"/> - </g> - </g> - <g id="line2d_7"> + <g id="line2d_3"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="220.8" xlink:href="#m07af173e06" y="43.2"/> - </g> - </g> - <g id="text_3"> - <!-- −1 --> - <defs> - <path d="M 12.40625 8.296875 -L 28.515625 8.296875 -L 28.515625 63.921875 -L 10.984375 60.40625 -L 10.984375 69.390625 -L 28.421875 72.90625 -L 38.28125 72.90625 -L 38.28125 8.296875 -L 54.390625 8.296875 -L 54.390625 0 -L 12.40625 0 -z -" id="DejaVuSans-31"/> - </defs> - <g transform="translate(211.954688 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-31"/> + <use style="stroke:#000000;stroke-width:0.8;" x="176.64" xlink:href="#m6fa6f7c42e" y="307.584"/> </g> </g> </g> <g id="xtick_4"> - <g id="line2d_8"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="295.2" xlink:href="#mf22af69df9" y="388.8"/> - </g> - </g> - <g id="line2d_9"> + <g id="line2d_4"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="295.2" xlink:href="#m07af173e06" y="43.2"/> - </g> - </g> - <g id="text_4"> - <!-- 0 --> - <defs> - <path d="M 31.78125 66.40625 -Q 24.171875 66.40625 20.328125 58.90625 -Q 16.5 51.421875 16.5 36.375 -Q 16.5 21.390625 20.328125 13.890625 -Q 24.171875 6.390625 31.78125 6.390625 -Q 39.453125 6.390625 43.28125 13.890625 -Q 47.125 21.390625 47.125 36.375 -Q 47.125 51.421875 43.28125 58.90625 -Q 39.453125 66.40625 31.78125 66.40625 -M 31.78125 74.21875 -Q 44.046875 74.21875 50.515625 64.515625 -Q 56.984375 54.828125 56.984375 36.375 -Q 56.984375 17.96875 50.515625 8.265625 -Q 44.046875 -1.421875 31.78125 -1.421875 -Q 19.53125 -1.421875 13.0625 8.265625 -Q 6.59375 17.96875 6.59375 36.375 -Q 6.59375 54.828125 13.0625 64.515625 -Q 19.53125 74.21875 31.78125 74.21875 -" id="DejaVuSans-30"/> - </defs> - <g transform="translate(291.3825 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-30"/> + <use style="stroke:#000000;stroke-width:0.8;" x="236.16" xlink:href="#m6fa6f7c42e" y="307.584"/> </g> </g> </g> <g id="xtick_5"> - <g id="line2d_10"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="369.6" xlink:href="#mf22af69df9" y="388.8"/> - </g> - </g> - <g id="line2d_11"> + <g id="line2d_5"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="369.6" xlink:href="#m07af173e06" y="43.2"/> - </g> - </g> - <g id="text_5"> - <!-- 1 --> - <g transform="translate(365.7825 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-31"/> + <use style="stroke:#000000;stroke-width:0.8;" x="295.68" xlink:href="#m6fa6f7c42e" y="307.584"/> </g> </g> </g> <g id="xtick_6"> - <g id="line2d_12"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="444" xlink:href="#mf22af69df9" y="388.8"/> - </g> - </g> - <g id="line2d_13"> + <g id="line2d_6"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="444" xlink:href="#m07af173e06" y="43.2"/> - </g> - </g> - <g id="text_6"> - <!-- 2 --> - <g transform="translate(440.1825 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-32"/> + <use style="stroke:#000000;stroke-width:0.8;" x="355.2" xlink:href="#m6fa6f7c42e" y="307.584"/> </g> </g> </g> <g id="xtick_7"> - <g id="line2d_14"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#mf22af69df9" y="388.8"/> - </g> - </g> - <g id="line2d_15"> + <g id="line2d_7"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m07af173e06" y="43.2"/> - </g> - </g> - <g id="text_7"> - <!-- 3 --> - <g transform="translate(514.5825 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-33"/> + <use style="stroke:#000000;stroke-width:0.8;" x="414.72" xlink:href="#m6fa6f7c42e" y="307.584"/> </g> </g> </g> </g> <g id="matplotlib.axis_2"> <g id="ytick_1"> - <g id="line2d_16"> - <defs> - <path d="M 0 0 -L 4 0 -" id="mec6ca699ca" style="stroke:#000000;stroke-width:0.5;"/> - </defs> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#mec6ca699ca" y="388.8"/> - </g> - </g> - <g id="line2d_17"> + <g id="line2d_8"> <defs> <path d="M 0 0 -L -4 0 -" id="m129b10d335" style="stroke:#000000;stroke-width:0.5;"/> +L -3.5 0 +" id="m78f8f0da60" style="stroke:#000000;stroke-width:0.8;"/> </defs> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m129b10d335" y="388.8"/> - </g> - </g> - <g id="text_8"> - <!-- −3 --> - <g transform="translate(50.309375 393.359062)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-33"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m78f8f0da60" y="307.584"/> </g> </g> </g> <g id="ytick_2"> - <g id="line2d_18"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#mec6ca699ca" y="331.2"/> - </g> - </g> - <g id="line2d_19"> + <g id="line2d_9"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m129b10d335" y="331.2"/> - </g> - </g> - <g id="text_9"> - <!-- −2 --> - <g transform="translate(50.309375 335.759063)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-32"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m78f8f0da60" y="263.232"/> </g> </g> </g> <g id="ytick_3"> - <g id="line2d_20"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#mec6ca699ca" y="273.6"/> - </g> - </g> - <g id="line2d_21"> + <g id="line2d_10"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m129b10d335" y="273.6"/> - </g> - </g> - <g id="text_10"> - <!-- −1 --> - <g transform="translate(50.309375 278.159063)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-31"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m78f8f0da60" y="218.88"/> </g> </g> </g> <g id="ytick_4"> - <g id="line2d_22"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#mec6ca699ca" y="216"/> - </g> - </g> - <g id="line2d_23"> + <g id="line2d_11"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m129b10d335" y="216"/> - </g> - </g> - <g id="text_11"> - <!-- 0 --> - <g transform="translate(60.365 220.559063)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-30"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m78f8f0da60" y="174.528"/> </g> </g> </g> <g id="ytick_5"> - <g id="line2d_24"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#mec6ca699ca" y="158.4"/> - </g> - </g> - <g id="line2d_25"> + <g id="line2d_12"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m129b10d335" y="158.4"/> - </g> - </g> - <g id="text_12"> - <!-- 1 --> - <g transform="translate(60.365 162.959062)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-31"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m78f8f0da60" y="130.176"/> </g> </g> </g> <g id="ytick_6"> - <g id="line2d_26"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#mec6ca699ca" y="100.8"/> - </g> - </g> - <g id="line2d_27"> + <g id="line2d_13"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m129b10d335" y="100.8"/> - </g> - </g> - <g id="text_13"> - <!-- 2 --> - <g transform="translate(60.365 105.359062)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-32"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m78f8f0da60" y="85.824"/> </g> </g> </g> <g id="ytick_7"> - <g id="line2d_28"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#mec6ca699ca" y="43.2"/> - </g> - </g> - <g id="line2d_29"> + <g id="line2d_14"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m129b10d335" y="43.2"/> - </g> - </g> - <g id="text_14"> - <!-- 3 --> - <g transform="translate(60.365 47.759062)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-33"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m78f8f0da60" y="41.472"/> </g> </g> </g> </g> + <g id="LineCollection_1"> + <path clip-path="url(#p462ec8223d)" d="M 403.958451 241.218407 +L 392.071151 239.872207 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 392.071151 239.872207 +L 380.19518 238.47197 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 380.19518 238.47197 +L 368.331576 237.015446 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 368.331576 237.015446 +L 356.481045 235.501069 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 356.481045 235.501069 +L 344.644188 233.929854 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 344.644188 233.929854 +L 332.820063 232.304938 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 332.820063 232.304938 +L 321.007274 230.636063 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 321.007274 230.636063 +L 309.201648 228.943078 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 309.201648 228.943078 +L 297.393517 227.259163 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 297.393517 227.259163 +L 285.569362 225.643802 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 285.569362 225.643802 +L 273.707585 224.192296 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 273.707585 224.192296 +L 261.789106 223.053097 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 261.789106 223.053097 +L 249.809808 222.431544 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 249.809808 222.431544 +L 237.809796 222.56314 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 237.809796 222.56314 +L 225.901541 223.644483 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 225.901541 223.644483 +L 214.237727 225.73663 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 214.237727 225.73663 +L 202.928778 228.738675 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 202.928778 228.738675 +L 192.005717 232.46464 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 192.005717 232.46464 +L 181.437335 236.728525 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 181.437335 236.728525 +L 171.16783 241.383144 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 171.16783 241.383144 +L 161.137224 246.320858 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 161.137224 246.320858 +L 151.295581 251.466791 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 151.295581 251.466791 +L 141.602753 256.767941 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 141.602753 256.767941 +L 132.027318 262.1865 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 132.027318 262.1865 +L 122.545331 267.695727 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 122.545331 267.695727 +L 113.137757 273.275348 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 113.137757 273.275348 +L 103.789557 278.910025 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 103.789557 278.910025 +L 94.489078 284.588412 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 94.489078 284.588412 +L 85.22681 290.301383 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 85.22681 290.301383 +L 75.995173 296.041933 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 75.995173 296.041933 +L 66.787936 301.804323 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 66.787936 301.804323 +L 57.6 307.584 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 147.173131 243.720049 +L 136.96 248.448 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 136.96 248.448 +L 126.834618 253.279997 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 126.834618 253.279997 +L 116.774062 258.186291 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 116.774062 258.186291 +L 106.760066 263.145149 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 106.760066 263.145149 +L 96.778507 268.140345 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 96.778507 268.140345 +L 86.818297 273.159382 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 86.818297 273.159382 +L 76.870608 278.19235 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 76.870608 278.19235 +L 66.928641 283.231648 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 271.079916 218.911319 +L 259.390346 216.82185 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 259.390346 216.82185 +L 247.627309 214.993305 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 247.627309 214.993305 +L 235.755001 213.636828 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 235.755001 213.636828 +L 223.782033 212.987975 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 223.782033 212.987975 +L 211.785114 213.223384 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 211.785114 213.223384 +L 199.880543 214.372596 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 199.880543 214.372596 +L 188.155722 216.318123 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 188.155722 216.318123 +L 176.64 218.88 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 176.64 218.88 +L 165.316266 221.887638 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 165.316266 221.887638 +L 154.148169 225.204343 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 154.148169 225.204343 +L 143.096407 228.731812 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 143.096407 228.731812 +L 132.126542 232.399769 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 132.126542 232.399769 +L 121.212571 236.159452 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 121.212571 236.159452 +L 110.33414 239.975846 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 110.33414 239.975846 +L 99.475111 243.822996 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 99.475111 243.822996 +L 88.623854 247.682244 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 88.623854 247.682244 +L 77.771129 251.539336 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 77.771129 251.539336 +L 66.910311 255.383749 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 350.007627 228.775448 +L 338.345049 226.598417 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 338.345049 226.598417 +L 326.745051 224.242303 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 326.745051 224.242303 +L 315.223474 221.682281 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 315.223474 221.682281 +L 303.799368 218.89121 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 303.799368 218.89121 +L 292.494955 215.843342 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 292.494955 215.843342 +L 281.332904 212.519215 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 281.332904 212.519215 +L 270.330179 208.914055 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 270.330179 208.914055 +L 259.486866 205.048745 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 259.486866 205.048745 +L 248.771739 200.988137 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 248.771739 200.988137 +L 238.103385 196.859398 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 238.103385 196.859398 +L 227.342935 192.869597 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 227.342935 192.869597 +L 216.32 189.312 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 216.32 189.312 +L 204.90102 186.548157 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 204.90102 186.548157 +L 193.12349 184.836193 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 193.12349 184.836193 +L 181.149589 184.201595 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 181.149589 184.201595 +L 169.141064 184.452271 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 169.141064 184.452271 +L 157.18104 185.339134 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 157.18104 185.339134 +L 145.288008 186.647749 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 145.288008 186.647749 +L 133.453136 188.227745 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 133.453136 188.227745 +L 121.661246 189.979248 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 121.661246 189.979248 +L 109.897659 191.83424 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 109.897659 191.83424 +L 98.151241 193.748977 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 98.151241 193.748977 +L 86.413773 195.693994 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 86.413773 195.693994 +L 74.678999 197.648067 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 74.678999 197.648067 +L 62.942709 199.597105 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 62.942709 199.597105 +L 62.942709 199.597105 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 62.942709 199.597105 +L 58.573082 200.319498 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 58.573082 200.319498 +L 58.573082 200.319498 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 58.573082 200.319498 +L 58.573082 200.319498 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 406.546512 226.698621 +L 394.878796 224.535027 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 394.878796 224.535027 +L 383.273467 222.193499 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 383.273467 222.193499 +L 371.747097 219.645686 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 371.747097 219.645686 +L 360.32163 216.858022 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 360.32163 216.858022 +L 349.02614 213.79143 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 349.02614 213.79143 +L 337.89905 210.401713 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 337.89905 210.401713 +L 326.990307 206.640527 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 326.990307 206.640527 +L 316.362949 202.458065 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 316.362949 202.458065 +L 306.092925 197.807796 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 306.092925 197.807796 +L 296.263865 192.657779 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 296.263865 192.657779 +L 286.959635 186.993209 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 286.959635 186.993209 +L 278.251049 180.825337 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 278.251049 180.825337 +L 270.185052 174.189256 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 270.185052 174.189256 +L 262.772827 167.141718 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 262.772827 167.141718 +L 256 159.744 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 256 159.744 +L 249.818744 152.062429 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 249.818744 152.062429 +L 244.161905 144.159031 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 244.161905 144.159031 +L 238.923316 136.097326 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 238.923316 136.097326 +L 238.923316 136.097326 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 238.923316 136.097326 +L 237.635846 134.020715 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 237.635846 134.020715 +L 237.635846 134.020715 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 237.635846 134.020715 +L 236.36695 132.062207 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 236.36695 132.062207 +L 236.36695 132.062207 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 236.36695 132.062207 +L 235.593139 131.218461 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 235.593139 131.218461 +L 235.593139 131.218461 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 235.593139 131.218461 +L 235.083009 130.967286 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 235.083009 130.967286 +L 234.533002 130.997956 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 234.533002 130.997956 +L 233.834765 131.112407 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 233.834765 131.112407 +L 232.844432 131.351547 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 232.844432 131.351547 +L 231.16571 131.85119 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 231.16571 131.85119 +L 227.996768 132.81079 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 227.996768 132.81079 +L 223.523979 134.04999 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 223.523979 134.04999 +L 217.143717 135.776049 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 217.143717 135.776049 +L 206.102656 138.696975 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 206.102656 138.696975 +L 194.756727 141.582141 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 194.756727 141.582141 +L 183.333363 144.344716 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 183.333363 144.344716 +L 171.850034 146.985929 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 171.850034 146.985929 +L 160.317399 149.514389 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 160.317399 149.514389 +L 148.742822 151.93863 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 148.742822 151.93863 +L 137.131905 154.2665 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 137.131905 154.2665 +L 125.489565 156.505802 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 125.489565 156.505802 +L 113.819334 158.662895 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 113.819334 158.662895 +L 102.123877 160.743014 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 102.123877 160.743014 +L 90.405607 162.750901 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 90.405607 162.750901 +L 78.666808 164.691244 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 78.666808 164.691244 +L 66.909598 166.568711 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 404.515891 184.797058 +L 393.457484 181.281446 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 393.457484 181.281446 +L 382.555514 177.504725 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 382.555514 177.504725 +L 371.837408 173.446833 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 371.837408 173.446833 +L 361.333022 169.090176 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 361.333022 169.090176 +L 351.073772 164.42095 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 351.073772 164.42095 +L 341.090642 159.430837 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 341.090642 159.430837 +L 331.410023 154.120091 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 331.410023 154.120091 +L 322.047966 148.501077 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 322.047966 148.501077 +L 313.003427 142.600053 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 313.003427 142.600053 +L 304.244719 136.463876 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 304.244719 136.463876 +L 295.68 130.176 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 295.68 130.176 +L 287.026109 123.962693 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 287.026109 123.962693 +L 287.026109 123.962693 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 287.026109 123.962693 +L 281.982497 120.774521 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 281.982497 120.774521 +L 281.982497 120.774521 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 281.982497 120.774521 +L 279.150599 119.318333 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 279.150599 119.318333 +L 279.150599 119.318333 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 279.150599 119.318333 +L 276.494261 118.39596 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 276.494261 118.39596 +L 276.494261 118.39596 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 276.494261 118.39596 +L 273.953286 118.110742 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 273.953286 118.110742 +L 271.602731 118.458239 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 271.602731 118.458239 +L 269.750729 118.904077 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 269.750729 118.904077 +L 267.804633 119.744983 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 267.804633 119.744983 +L 267.804633 119.744983 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 267.804633 119.744983 +L 266.651386 120.11992 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 266.651386 120.11992 +L 265.864939 120.28831 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 265.864939 120.28831 +L 265.248488 120.442275 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 265.248488 120.442275 +L 264.694421 120.67226 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 264.694421 120.67226 +L 264.295621 120.988938 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 264.295621 120.988938 +L 264.295621 120.988938 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 264.295621 120.988938 +L 264.029183 121.069699 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 264.029183 121.069699 +L 263.831291 121.132306 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.831291 121.132306 +L 263.689449 121.190915 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.689449 121.190915 +L 263.589095 121.242563 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.589095 121.242563 +L 263.509867 121.274527 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.509867 121.274527 +L 263.442665 121.285424 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.442665 121.285424 +L 263.38811 121.287692 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.38811 121.287692 +L 263.349694 121.29484 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.349694 121.29484 +L 263.327127 121.311274 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.327127 121.311274 +L 263.314133 121.33034 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.314133 121.33034 +L 263.301363 121.340068 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.301363 121.340068 +L 263.284655 121.336223 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.284655 121.336223 +L 263.268378 121.327377 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.268378 121.327377 +L 263.258968 121.324943 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.258968 121.324943 +L 263.258345 121.333099 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.258345 121.333099 +L 263.262006 121.345844 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.262006 121.345844 +L 263.262113 121.351679 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.262113 121.351679 +L 263.255381 121.345688 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.255381 121.345688 +L 263.246543 121.335157 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.246543 121.335157 +L 263.242441 121.330814 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.242441 121.330814 +L 263.245556 121.336944 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.245556 121.336944 +L 263.252048 121.348135 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.252048 121.348135 +L 263.254646 121.353404 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.254646 121.353404 +L 263.250112 121.347558 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.250112 121.347558 +L 263.242871 121.337075 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.242871 121.337075 +L 263.239644 121.33225 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.239644 121.33225 +L 263.24312 121.337523 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.24312 121.337523 +L 263.24988 121.348035 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.24988 121.348035 +L 263.253026 121.353321 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.253026 121.353321 +L 263.249235 121.348012 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.249235 121.348012 +L 263.242513 121.337895 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.242513 121.337895 +L 263.239363 121.332874 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.239363 121.332874 +L 263.242598 121.33753 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.242598 121.33753 +L 263.249159 121.347529 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.249159 121.347529 +L 263.252479 121.352912 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.252479 121.352912 +L 263.249144 121.348182 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.249144 121.348182 +L 263.242744 121.338489 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.242744 121.338489 +L 263.23954 121.333346 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.23954 121.333346 +L 263.242443 121.337456 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.242443 121.337456 +L 263.248722 121.346978 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.248722 121.346978 +L 263.252131 121.352448 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.252131 121.352448 +L 263.249182 121.348278 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.249182 121.348278 +L 263.243066 121.339015 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.243066 121.339015 +L 263.2398 121.333785 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.2398 121.333785 +L 263.242369 121.337389 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.242369 121.337389 +L 263.248356 121.346448 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.248356 121.346448 +L 263.251823 121.351981 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.251823 121.351981 +L 263.249228 121.348338 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.249228 121.348338 +L 263.243389 121.339505 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.243389 121.339505 +L 263.240071 121.334214 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.240071 121.334214 +L 263.242324 121.337343 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.242324 121.337343 +L 263.248021 121.34595 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.248021 121.34595 +L 263.251527 121.351521 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.251527 121.351521 +L 263.249263 121.348373 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.249263 121.348373 +L 263.243697 121.339964 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.243697 121.339964 +L 263.240342 121.334634 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.240342 121.334634 +L 263.242296 121.337319 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.242296 121.337319 +L 263.247709 121.345484 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.247709 121.345484 +L 263.251237 121.35107 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.251237 121.35107 +L 263.249284 121.348385 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.249284 121.348385 +L 263.243986 121.340394 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.243986 121.340394 +L 263.240608 121.335047 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.240608 121.335047 +L 263.242283 121.337316 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.242283 121.337316 +L 263.247418 121.345049 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.247418 121.345049 +L 263.250953 121.350628 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.250953 121.350628 +L 263.249291 121.348377 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.249291 121.348377 +L 263.244257 121.340796 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.244257 121.340796 +L 263.24087 121.335452 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.24087 121.335452 +L 263.242283 121.337332 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.242283 121.337332 +L 263.247146 121.344645 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.247146 121.344645 +L 263.250676 121.350198 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.250676 121.350198 +L 263.249285 121.34835 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.249285 121.34835 +L 263.244511 121.341172 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.244511 121.341172 +L 263.241126 121.335847 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.241126 121.335847 +L 263.242295 121.337365 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.242295 121.337365 +L 263.246894 121.344269 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.246894 121.344269 +L 263.250405 121.349779 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.250405 121.349779 +L 263.249267 121.348306 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.249267 121.348306 +L 263.244748 121.341522 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.244748 121.341522 +L 263.241376 121.336233 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.241376 121.336233 +L 263.242318 121.337414 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.242318 121.337414 +L 263.246659 121.343921 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.246659 121.343921 +L 263.250142 121.349372 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.250142 121.349372 +L 263.249239 121.348247 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.249239 121.348247 +L 263.244969 121.341847 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.244969 121.341847 +L 263.241621 121.336609 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.241621 121.336609 +L 263.24235 121.337477 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.24235 121.337477 +L 263.246441 121.343599 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.246441 121.343599 +L 263.249886 121.348977 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.249886 121.348977 +L 263.249201 121.348173 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.249201 121.348173 +L 263.245173 121.342148 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.245173 121.342148 +L 263.241858 121.336974 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.241858 121.336974 +L 263.242391 121.337553 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.242391 121.337553 +L 263.24624 121.343303 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.24624 121.343303 +L 263.249638 121.348595 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.249638 121.348595 +L 263.249154 121.348088 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.249154 121.348088 +L 263.245363 121.342426 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.245363 121.342426 +L 263.24209 121.337328 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.24209 121.337328 +L 263.242441 121.33764 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.242441 121.33764 +L 263.246055 121.34303 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.246055 121.34303 +L 263.249398 121.348226 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.249398 121.348226 +L 263.249099 121.347991 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.249099 121.347991 +L 263.245538 121.342682 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.245538 121.342682 +L 263.242314 121.337671 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.242314 121.337671 +L 263.242497 121.337738 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.242497 121.337738 +L 263.245885 121.34278 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.245885 121.34278 +L 263.249165 121.347869 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.249165 121.347869 +L 263.249037 121.347885 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.249037 121.347885 +L 263.2457 121.342917 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.2457 121.342917 +L 263.242531 121.338003 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.242531 121.338003 +L 263.242559 121.337844 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.242559 121.337844 +L 263.245728 121.342551 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.245728 121.342551 +L 263.248941 121.347526 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.248941 121.347526 +L 263.24897 121.34777 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.24897 121.34777 +L 263.245848 121.343132 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.245848 121.343132 +L 263.242741 121.338324 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.242741 121.338324 +L 263.242627 121.337958 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.242627 121.337958 +L 263.245586 121.342343 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.245586 121.342343 +L 263.248725 121.347196 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.248725 121.347196 +L 263.248897 121.347647 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.248897 121.347647 +L 263.245983 121.343328 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.245983 121.343328 +L 263.242943 121.338632 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.242943 121.338632 +L 263.2427 121.338078 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.2427 121.338078 +L 263.245456 121.342154 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.245456 121.342154 +L 263.248518 121.346879 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.248518 121.346879 +L 263.248819 121.347518 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.248819 121.347518 +L 263.246106 121.343506 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.246106 121.343506 +L 263.243139 121.33893 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.243139 121.33893 +L 263.242777 121.338205 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.242777 121.338205 +L 263.245338 121.341983 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.245338 121.341983 +L 263.248319 121.346575 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.248319 121.346575 +L 263.248737 121.347384 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.248737 121.347384 +L 263.246218 121.343666 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.246218 121.343666 +L 263.243326 121.339215 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.243326 121.339215 +L 263.242858 121.338336 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.242858 121.338336 +L 263.245231 121.34183 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.245231 121.34183 +L 263.248127 121.346283 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.248127 121.346283 +L 263.248652 121.347245 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.248652 121.347245 +L 263.246318 121.34381 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.246318 121.34381 +L 263.243507 121.339489 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.243507 121.339489 +L 263.242942 121.338471 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.242942 121.338471 +L 263.245136 121.341693 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.245136 121.341693 +L 263.247944 121.346005 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.247944 121.346005 +L 263.248564 121.347103 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.248564 121.347103 +L 263.246409 121.343939 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.246409 121.343939 +L 263.24368 121.339751 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.24368 121.339751 +L 263.243028 121.33861 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.243028 121.33861 +L 263.245051 121.341572 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.245051 121.341572 +L 263.24777 121.34574 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.24777 121.34574 +L 263.248474 121.346958 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.248474 121.346958 +L 263.246489 121.344052 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.246489 121.344052 +L 263.243845 121.340001 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.243845 121.340001 +L 263.243116 121.338751 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.243116 121.338751 +L 263.244975 121.341465 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.244975 121.341465 +L 263.247603 121.345487 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.247603 121.345487 +L 263.248382 121.34681 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.248382 121.34681 +L 263.246561 121.344152 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.246561 121.344152 +L 263.244003 121.34024 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.244003 121.34024 +L 263.243205 121.338894 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.243205 121.338894 +L 263.244908 121.341372 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.244908 121.341372 +L 263.247444 121.345246 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.247444 121.345246 +L 263.248289 121.346662 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.248289 121.346662 +L 263.246623 121.344239 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.246623 121.344239 +L 263.244154 121.340468 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.244154 121.340468 +L 263.243296 121.339038 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.243296 121.339038 +L 263.24485 121.341291 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.24485 121.341291 +L 263.247292 121.345017 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.247292 121.345017 +L 263.248195 121.346513 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.248195 121.346513 +L 263.246677 121.344314 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.246677 121.344314 +L 263.244298 121.340684 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.244298 121.340684 +L 263.243387 121.339182 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.243387 121.339182 +L 263.2448 121.341222 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.2448 121.341222 +L 263.247149 121.3448 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.247149 121.3448 +L 263.248101 121.346363 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.248101 121.346363 +L 263.246724 121.344377 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.246724 121.344377 +L 263.244434 121.34089 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.244434 121.34089 +L 263.243479 121.339327 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.243479 121.339327 +L 263.244758 121.341164 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.244758 121.341164 +L 263.247012 121.344595 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.247012 121.344595 +L 263.248006 121.346214 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.248006 121.346214 +L 263.246764 121.344429 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.246764 121.344429 +L 263.244564 121.341085 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.244564 121.341085 +L 263.243571 121.339471 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.243571 121.339471 +L 263.244722 121.341117 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.244722 121.341117 +L 263.246883 121.344401 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.246883 121.344401 +L 263.247912 121.346066 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.247912 121.346066 +L 263.246796 121.344472 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.246796 121.344472 +L 263.244687 121.341269 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.244687 121.341269 +L 263.243662 121.339615 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.243662 121.339615 +L 263.244693 121.34108 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.244693 121.34108 +L 263.246762 121.344218 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.246762 121.344218 +L 263.247818 121.345919 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.247818 121.345919 +L 263.246822 121.344505 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.246822 121.344505 +L 263.244803 121.341444 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.244803 121.341444 +L 263.243753 121.339757 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.243753 121.339757 +L 263.24467 121.341051 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.24467 121.341051 +L 263.246647 121.344045 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.246647 121.344045 +L 263.247726 121.345773 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.247726 121.345773 +L 263.246843 121.344529 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.246843 121.344529 +L 263.244913 121.341608 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.244913 121.341608 +L 263.243843 121.339897 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.243843 121.339897 +L 263.244652 121.341031 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.244652 121.341031 +L 263.246538 121.343883 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.246538 121.343883 +L 263.247634 121.34563 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.247634 121.34563 +L 263.246858 121.344546 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.246858 121.344546 +L 263.245017 121.341762 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.245017 121.341762 +L 263.243932 121.340036 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.243932 121.340036 +L 263.24464 121.341018 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.24464 121.341018 +L 263.246436 121.343731 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.246436 121.343731 +L 263.247543 121.345489 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.247543 121.345489 +L 263.246868 121.344555 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.246868 121.344555 +L 263.245114 121.341907 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 263.245114 121.341907 +L 263.24402 121.340172 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 414.72 107.507727 +L 406.886845 106.364834 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 406.886845 106.364834 +L 395.07155 104.705509 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 395.07155 104.705509 +L 383.220105 103.197345 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 383.220105 103.197345 +L 371.322691 101.913643 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 371.322691 101.913643 +L 359.372087 100.9552 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 359.372087 100.9552 +L 347.372217 100.459383 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 347.372217 100.459383 +L 335.36 100.608 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 335.36 100.608 +L 323.456309 101.663603 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 323.456309 101.663603 +L 311.910788 103.73926 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 311.910788 103.73926 +L 302.005926 106.386904 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 302.005926 106.386904 +L 292.957547 109.497439 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 292.957547 109.497439 +L 284.394876 112.904108 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 284.394876 112.904108 +L 284.394876 112.904108 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 284.394876 112.904108 +L 277.554917 115.717467 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 277.554917 115.717467 +L 277.554917 115.717467 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 277.554917 115.717467 +L 273.210461 117.434567 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 273.210461 117.434567 +L 273.210461 117.434567 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 414.72 57.457268 +L 407.70067 59.658376 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 407.70067 59.658376 +L 396.684535 63.244809 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 396.684535 63.244809 +L 385.795658 67.039326 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 385.795658 67.039326 +L 375.04 71.04 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 375.04 71.04 +L 364.427956 75.245153 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 364.427956 75.245153 +L 353.958088 79.638444 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 353.958088 79.638444 +L 343.623513 84.203052 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 343.623513 84.203052 +L 333.416801 88.913127 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 333.416801 88.913127 +L 323.319444 93.732173 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 323.319444 93.732173 +L 313.288828 98.615061 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5;"/> + </g> + <g id="patch_3"> + <path clip-path="url(#p462ec8223d)" d="M 212.302284 226.250408 +Q 211.410661 226.487096 212.13995 226.293501 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 216.519194 227.200266 +L 212.13995 226.293501 +L 215.492908 223.334165 +L 216.519194 227.200266 +z +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:1.5;"/> + </g> + <g id="patch_4"> + <path clip-path="url(#p462ec8223d)" d="M 104.973815 264.039065 +Q 104.265001 264.393786 105.055921 263.997975 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 109.528057 263.996393 +L 105.055921 263.997975 +L 107.737937 260.419317 +L 109.528057 263.996393 +z +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:1.5;"/> + </g> + <g id="patch_5"> + <path clip-path="url(#p462ec8223d)" d="M 163.399476 222.456887 +Q 162.523847 222.716931 163.255871 222.499535 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 167.65973 223.278009 +L 163.255871 222.499535 +L 166.520966 219.443532 +L 167.65973 223.278009 +z +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:1.5;"/> + </g> + <g id="patch_6"> + <path clip-path="url(#p462ec8223d)" d="M 214.376878 188.841688 +Q 213.466549 188.621352 214.186207 188.795538 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 217.603456 191.680396 +L 214.186207 188.795538 +L 218.544443 187.792654 +L 217.603456 191.680396 +z +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:1.5;"/> + </g> + <g id="patch_7"> + <path clip-path="url(#p462ec8223d)" d="M 248.655888 150.437756 +Q 248.40459 150.086657 249.129377 151.099286 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 249.831136 155.51602 +L 249.129377 151.099286 +L 253.08382 153.187919 +L 249.831136 155.51602 +z +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:1.5;"/> + </g> + <g id="patch_8"> + <path clip-path="url(#p462ec8223d)" d="M 329.693494 153.089847 +Q 329.069617 152.715402 329.88368 153.203994 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 332.284132 156.977299 +L 329.88368 153.203994 +L 334.342595 153.547615 +L 332.284132 156.977299 +z +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:1.5;"/> + </g> + <g id="patch_9"> + <path clip-path="url(#p462ec8223d)" d="M 345.375069 100.484092 +Q 344.370871 100.496516 345.043596 100.488193 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 349.068033 102.438555 +L 345.043596 100.488193 +L 349.018548 98.438861 +L 349.068033 102.438555 +z +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:1.5;"/> + </g> + <g id="patch_10"> + <path clip-path="url(#p462ec8223d)" d="M 362.584994 76.018484 +Q 361.811531 76.343038 362.584494 76.018693 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:1.5;"/> + <path clip-path="url(#p462ec8223d)" d="M 367.04679 76.315197 +L 362.584494 76.018693 +L 365.499074 72.626758 +L 367.04679 76.315197 +z +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:1.5;"/> + </g> + <g id="line2d_15"> + <defs> + <path d="M 0 3 +C 0.795609 3 1.55874 2.683901 2.12132 2.12132 +C 2.683901 1.55874 3 0.795609 3 0 +C 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132 +C 1.55874 -2.683901 0.795609 -3 0 -3 +C -0.795609 -3 -1.55874 -2.683901 -2.12132 -2.12132 +C -2.683901 -1.55874 -3 -0.795609 -3 0 +C -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 +C -1.55874 2.683901 -0.795609 3 0 3 +z +" id="m801944ab1f" style="stroke:#000000;"/> + </defs> + <g clip-path="url(#p462ec8223d)"> + <use style="stroke:#000000;" x="57.6" xlink:href="#m801944ab1f" y="307.584"/> + <use style="stroke:#000000;" x="97.28" xlink:href="#m801944ab1f" y="278.016"/> + <use style="stroke:#000000;" x="136.96" xlink:href="#m801944ab1f" y="248.448"/> + <use style="stroke:#000000;" x="176.64" xlink:href="#m801944ab1f" y="218.88"/> + <use style="stroke:#000000;" x="216.32" xlink:href="#m801944ab1f" y="189.312"/> + <use style="stroke:#000000;" x="256" xlink:href="#m801944ab1f" y="159.744"/> + <use style="stroke:#000000;" x="295.68" xlink:href="#m801944ab1f" y="130.176"/> + <use style="stroke:#000000;" x="335.36" xlink:href="#m801944ab1f" y="100.608"/> + <use style="stroke:#000000;" x="375.04" xlink:href="#m801944ab1f" y="71.04"/> + <use style="stroke:#000000;" x="414.72" xlink:href="#m801944ab1f" y="41.472"/> + </g> + </g> + <g id="patch_11"> + <path d="M 57.6 307.584 +L 57.6 41.472 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> + <g id="patch_12"> + <path d="M 414.72 307.584 +L 414.72 41.472 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> + <g id="patch_13"> + <path d="M 57.6 307.584 +L 414.72 307.584 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> + <g id="patch_14"> + <path d="M 57.6 41.472 +L 414.72 41.472 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> </g> </g> <defs> - <clipPath id="pcf856b1a24"> - <rect height="345.6" width="446.4" x="72" y="43.2"/> + <clipPath id="p462ec8223d"> + <rect height="266.112" width="357.12" x="57.6" y="41.472"/> </clipPath> </defs> </svg> diff --git a/lib/matplotlib/tests/baseline_images/test_transforms/pre_transform_data.pdf b/lib/matplotlib/tests/baseline_images/test_transforms/pre_transform_data.pdf index 95155db23c990e97ed3a69f466aca2de298cab48..f65e0cd9e57e7d3c1186a954e57605291f8bc1f9 100644 GIT binary patch literal 30058 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 literal 34664 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 N7YZ${l!`RU{{ej|EJFYQ diff --git a/lib/matplotlib/tests/baseline_images/test_transforms/pre_transform_data.png b/lib/matplotlib/tests/baseline_images/test_transforms/pre_transform_data.png index 9a3c3186ea5730ff34c0816543e8133ba2e0d687..9429546bb10a49f4571c00d7db07a094e9aa541a 100644 GIT binary patch literal 62875 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 D;gT5G literal 76374 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%0D7~{eqr=d)fKyFqE7ll8q8bvnl<k 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 diff --git a/lib/matplotlib/tests/baseline_images/test_transforms/pre_transform_data.svg b/lib/matplotlib/tests/baseline_images/test_transforms/pre_transform_data.svg index 64674b5f5bd2..1144e3c0b141 100644 --- a/lib/matplotlib/tests/baseline_images/test_transforms/pre_transform_data.svg +++ b/lib/matplotlib/tests/baseline_images/test_transforms/pre_transform_data.svg @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="utf-8" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<!-- Created with matplotlib (http://matplotlib.org/) --> -<svg height="432pt" version="1.1" viewBox="0 0 576 432" width="576pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<!-- Created with matplotlib (https://matplotlib.org/) --> +<svg height="345.6pt" version="1.1" viewBox="0 0 460.8 345.6" width="460.8pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <defs> <style type="text/css"> *{stroke-linecap:butt;stroke-linejoin:round;} @@ -10,5233 +10,4854 @@ </defs> <g id="figure_1"> <g id="patch_1"> - <path d="M 0 432 -L 576 432 -L 576 0 + <path d="M 0 345.6 +L 460.8 345.6 +L 460.8 0 L 0 0 z " style="fill:#ffffff;"/> </g> <g id="axes_1"> <g id="patch_2"> - <path d="M 72 388.8 -L 518.4 388.8 -L 518.4 43.2 -L 72 43.2 + <path d="M 57.6 307.584 +L 414.72 307.584 +L 414.72 41.472 +L 57.6 41.472 z " style="fill:#ffffff;"/> </g> <g id="PathCollection_1"> - <path clip-path="url(#p9ae4ea3394)" d="M 133.693349 371.640811 -L 173.829205 371.640811 -L 213.965061 371.640811 -L 254.100917 371.640811 -L 294.236773 371.640811 -L 334.37263 371.640811 -L 294.236773 367.749791 -L 254.100917 363.858771 -L 213.965061 359.967751 -L 173.829205 356.07673 -L 133.693349 352.18571 -L 93.557493 348.29469 -L 93.557493 371.640811 + <path clip-path="url(#pc5c1e84671)" d="M 107.388585 293.937231 +L 139.581439 293.937231 +L 171.774292 293.937231 +L 203.967146 293.937231 +L 236.16 293.937231 +L 268.352854 293.937231 +L 236.16 290.952 +L 203.967146 287.966769 +L 171.774292 284.981538 +L 139.581439 281.996308 +L 107.388585 279.011077 +L 75.195731 276.025846 +L 75.195731 293.937231 z -" style="fill:#0000c8;"/> +" style="fill:#48186a;"/> </g> <g id="PathCollection_2"> - <path clip-path="url(#p9ae4ea3394)" d="M 133.693349 352.18571 -L 173.829205 356.07673 -L 213.965061 359.967751 -L 254.100917 363.858771 -L 294.236773 367.749791 -L 334.37263 371.640811 -L 374.508486 371.640811 -L 374.508486 352.18571 -L 334.37263 348.29469 -L 294.236773 344.403669 -L 254.100917 340.512649 -L 213.965061 336.621629 -L 173.829205 332.730609 -L 133.693349 328.839588 -L 93.557493 324.948568 -L 93.557493 340.512649 -L 93.557493 348.29469 + <path clip-path="url(#pc5c1e84671)" d="M 107.388585 279.011077 +L 139.581439 281.996308 +L 171.774292 284.981538 +L 203.967146 287.966769 +L 236.16 290.952 +L 268.352854 293.937231 +L 300.545708 293.937231 +L 300.545708 279.011077 +L 268.352854 276.025846 +L 236.16 273.040615 +L 203.967146 270.055385 +L 171.774292 267.070154 +L 139.581439 264.084923 +L 107.388585 261.099692 +L 75.195731 258.114462 +L 75.195731 270.055385 +L 75.195731 276.025846 z -" style="fill:#0040ff;"/> +" style="fill:#424086;"/> </g> <g id="PathCollection_3"> - <path clip-path="url(#p9ae4ea3394)" d="M 294.236773 344.403669 -L 334.37263 348.29469 -L 374.508486 352.18571 -L 374.508486 340.512649 -L 374.508486 328.839588 -L 334.37263 324.948568 -L 294.236773 321.057548 -L 254.100917 317.166527 -L 213.965061 313.275507 -L 173.829205 309.384487 -L 133.693349 305.493467 -L 93.557493 301.602446 -L 93.557493 309.384487 -L 93.557493 324.948568 -L 133.693349 328.839588 -L 173.829205 332.730609 -L 213.965061 336.621629 -L 254.100917 340.512649 + <path clip-path="url(#pc5c1e84671)" d="M 236.16 273.040615 +L 268.352854 276.025846 +L 300.545708 279.011077 +L 300.545708 270.055385 +L 300.545708 261.099692 +L 268.352854 258.114462 +L 236.16 255.129231 +L 203.967146 252.144 +L 171.774292 249.158769 +L 139.581439 246.173538 +L 107.388585 243.188308 +L 75.195731 240.203077 +L 75.195731 246.173538 +L 75.195731 258.114462 +L 107.388585 261.099692 +L 139.581439 264.084923 +L 171.774292 267.070154 +L 203.967146 270.055385 z -" style="fill:#00c0ff;"/> +" style="fill:#33638d;"/> </g> <g id="PathCollection_4"> - <path clip-path="url(#p9ae4ea3394)" d="M 213.965061 313.275507 -L 254.100917 317.166527 -L 294.236773 321.057548 -L 334.37263 324.948568 -L 374.508486 328.839588 -L 374.508486 309.384487 -L 374.508486 305.493467 -L 334.37263 301.602446 -L 294.236773 297.711426 -L 254.100917 293.820406 -L 213.965061 289.929385 -L 173.829205 286.038365 -L 133.693349 282.147345 -L 93.557493 278.256325 -L 93.557493 301.602446 -L 133.693349 305.493467 -L 173.829205 309.384487 + <path clip-path="url(#pc5c1e84671)" d="M 171.774292 249.158769 +L 203.967146 252.144 +L 236.16 255.129231 +L 268.352854 258.114462 +L 300.545708 261.099692 +L 300.545708 246.173538 +L 300.545708 243.188308 +L 268.352854 240.203077 +L 236.16 237.217846 +L 203.967146 234.232615 +L 171.774292 231.247385 +L 139.581439 228.262154 +L 107.388585 225.276923 +L 75.195731 222.291692 +L 75.195731 240.203077 +L 107.388585 243.188308 +L 139.581439 246.173538 z -" style="fill:#49ffad;"/> +" style="fill:#26828e;"/> </g> <g id="PathCollection_5"> - <path clip-path="url(#p9ae4ea3394)" d="M 133.693349 282.147345 -L 173.829205 286.038365 -L 213.965061 289.929385 -L 254.100917 293.820406 -L 294.236773 297.711426 -L 334.37263 301.602446 -L 374.508486 305.493467 -L 374.508486 282.147345 -L 334.37263 278.256325 -L 294.236773 274.365304 -L 254.100917 270.474284 -L 213.965061 266.583264 -L 173.829205 262.692243 -L 133.693349 258.801223 -L 93.557493 254.910203 -L 93.557493 278.256325 + <path clip-path="url(#pc5c1e84671)" d="M 107.388585 225.276923 +L 139.581439 228.262154 +L 171.774292 231.247385 +L 203.967146 234.232615 +L 236.16 237.217846 +L 268.352854 240.203077 +L 300.545708 243.188308 +L 300.545708 225.276923 +L 268.352854 222.291692 +L 236.16 219.306462 +L 203.967146 216.321231 +L 171.774292 213.336 +L 139.581439 210.350769 +L 107.388585 207.365538 +L 75.195731 204.380308 +L 75.195731 222.291692 z -" style="fill:#b1ff46;"/> +" style="fill:#1fa088;"/> </g> <g id="PathCollection_6"> - <path clip-path="url(#p9ae4ea3394)" d="M 374.508486 282.147345 -L 374.508486 278.256325 -L 374.508486 258.801223 -L 334.37263 254.910203 -L 294.236773 251.019183 -L 254.100917 247.128162 -L 213.965061 243.237142 -L 173.829205 239.346122 -L 133.693349 235.455101 -L 93.557493 231.564081 -L 93.557493 247.128162 -L 93.557493 254.910203 -L 133.693349 258.801223 -L 173.829205 262.692243 -L 213.965061 266.583264 -L 254.100917 270.474284 -L 294.236773 274.365304 -L 334.37263 278.256325 + <path clip-path="url(#pc5c1e84671)" d="M 300.545708 225.276923 +L 300.545708 222.291692 +L 300.545708 207.365538 +L 268.352854 204.380308 +L 236.16 201.395077 +L 203.967146 198.409846 +L 171.774292 195.424615 +L 139.581439 192.439385 +L 107.388585 189.454154 +L 75.195731 186.468923 +L 75.195731 198.409846 +L 75.195731 204.380308 +L 107.388585 207.365538 +L 139.581439 210.350769 +L 171.774292 213.336 +L 203.967146 216.321231 +L 236.16 219.306462 +L 268.352854 222.291692 z -" style="fill:#ffd000;"/> +" style="fill:#3fbc73;"/> </g> <g id="PathCollection_7"> - <path clip-path="url(#p9ae4ea3394)" d="M 294.236773 251.019183 -L 334.37263 254.910203 -L 374.508486 258.801223 -L 374.508486 247.128162 -L 374.508486 235.455101 -L 334.37263 231.564081 -L 294.236773 227.673061 -L 254.100917 223.782041 -L 213.965061 219.89102 -L 173.829205 216 -L 133.693349 216 -L 93.557493 216 -L 93.557493 231.564081 -L 133.693349 235.455101 -L 173.829205 239.346122 -L 213.965061 243.237142 -L 254.100917 247.128162 + <path clip-path="url(#pc5c1e84671)" d="M 236.16 201.395077 +L 268.352854 204.380308 +L 300.545708 207.365538 +L 300.545708 198.409846 +L 300.545708 189.454154 +L 268.352854 186.468923 +L 236.16 183.483692 +L 203.967146 180.498462 +L 171.774292 177.513231 +L 139.581439 174.528 +L 107.388585 174.528 +L 75.195731 174.528 +L 75.195731 186.468923 +L 107.388585 189.454154 +L 139.581439 192.439385 +L 171.774292 195.424615 +L 203.967146 198.409846 z -" style="fill:#ff5900;"/> +" style="fill:#84d44b;"/> </g> <g id="PathCollection_8"> - <path clip-path="url(#p9ae4ea3394)" d="M 213.965061 219.89102 -L 254.100917 223.782041 -L 294.236773 227.673061 -L 334.37263 231.564081 -L 374.508486 235.455101 -L 374.508486 216 -L 334.37263 216 -L 294.236773 216 -L 254.100917 216 -L 213.965061 216 -L 173.829205 216 + <path clip-path="url(#pc5c1e84671)" d="M 171.774292 177.513231 +L 203.967146 180.498462 +L 236.16 183.483692 +L 268.352854 186.468923 +L 300.545708 189.454154 +L 300.545708 174.528 +L 268.352854 174.528 +L 236.16 174.528 +L 203.967146 174.528 +L 171.774292 174.528 +L 139.581439 174.528 z -" style="fill:#c40000;"/> +" style="fill:#d8e219;"/> </g> <g id="QuadMesh_1"> - <path clip-path="url(#p9ae4ea3394)" d="M 93.557493 200.435919 -L 120.31473 200.435919 -L 120.31473 190.708368 -L 93.557493 190.708368 -L 93.557493 200.435919 -" style="fill:#000080;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 120.31473 200.435919 -L 147.071968 200.435919 -L 147.071968 190.708368 -L 120.31473 190.708368 -L 120.31473 200.435919 -" style="fill:#000096;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 147.071968 200.435919 -L 173.829205 200.435919 -L 173.829205 190.708368 -L 147.071968 190.708368 -L 147.071968 200.435919 -" style="fill:#0000ad;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 173.829205 200.435919 -L 200.586443 200.435919 -L 200.586443 190.708368 -L 173.829205 190.708368 -L 173.829205 200.435919 -" style="fill:#0000c8;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 200.586443 200.435919 -L 227.34368 200.435919 -L 227.34368 190.708368 -L 200.586443 190.708368 -L 200.586443 200.435919 -" style="fill:#0000df;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 227.34368 200.435919 -L 254.100917 200.435919 -L 254.100917 190.708368 -L 227.34368 190.708368 -L 227.34368 200.435919 -" style="fill:#0000fa;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 93.557493 190.708368 -L 120.31473 190.708368 -L 120.31473 180.980817 -L 93.557493 180.980817 -L 93.557493 190.708368 -" style="fill:#0000ff;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 120.31473 190.708368 -L 147.071968 190.708368 -L 147.071968 180.980817 -L 120.31473 180.980817 -L 120.31473 190.708368 -" style="fill:#0018ff;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 147.071968 190.708368 -L 173.829205 190.708368 -L 173.829205 180.980817 -L 147.071968 180.980817 -L 147.071968 190.708368 -" style="fill:#002cff;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 173.829205 190.708368 -L 200.586443 190.708368 -L 200.586443 180.980817 -L 173.829205 180.980817 -L 173.829205 190.708368 -" style="fill:#0044ff;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 200.586443 190.708368 -L 227.34368 190.708368 -L 227.34368 180.980817 -L 200.586443 180.980817 -L 200.586443 190.708368 -" style="fill:#0058ff;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 227.34368 190.708368 -L 254.100917 190.708368 -L 254.100917 180.980817 -L 227.34368 180.980817 -L 227.34368 190.708368 -" style="fill:#006cff;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 93.557493 180.980817 -L 120.31473 180.980817 -L 120.31473 171.253267 -L 93.557493 171.253267 -L 93.557493 180.980817 -" style="fill:#0084ff;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 120.31473 180.980817 -L 147.071968 180.980817 -L 147.071968 171.253267 -L 120.31473 171.253267 -L 120.31473 180.980817 -" style="fill:#0098ff;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 147.071968 180.980817 -L 173.829205 180.980817 -L 173.829205 171.253267 -L 147.071968 171.253267 -L 147.071968 180.980817 -" style="fill:#00b0ff;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 173.829205 180.980817 -L 200.586443 180.980817 -L 200.586443 171.253267 -L 173.829205 171.253267 -L 173.829205 180.980817 -" style="fill:#00c4ff;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 200.586443 180.980817 -L 227.34368 180.980817 -L 227.34368 171.253267 -L 200.586443 171.253267 -L 200.586443 180.980817 -" style="fill:#00dcfe;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 227.34368 180.980817 -L 254.100917 180.980817 -L 254.100917 171.253267 -L 227.34368 171.253267 -L 227.34368 180.980817 -" style="fill:#09f0ee;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 93.557493 171.253267 -L 120.31473 171.253267 -L 120.31473 161.525716 -L 93.557493 161.525716 -L 93.557493 171.253267 -" style="fill:#1cffdb;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 120.31473 171.253267 -L 147.071968 171.253267 -L 147.071968 161.525716 -L 120.31473 161.525716 -L 120.31473 171.253267 -" style="fill:#2cffca;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 147.071968 171.253267 -L 173.829205 171.253267 -L 173.829205 161.525716 -L 147.071968 161.525716 -L 147.071968 171.253267 -" style="fill:#3cffba;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 173.829205 171.253267 -L 200.586443 171.253267 -L 200.586443 161.525716 -L 173.829205 161.525716 -L 173.829205 171.253267 -" style="fill:#50ffa7;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 200.586443 171.253267 -L 227.34368 171.253267 -L 227.34368 161.525716 -L 200.586443 161.525716 -L 200.586443 171.253267 -" style="fill:#60ff97;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 227.34368 171.253267 -L 254.100917 171.253267 -L 254.100917 161.525716 -L 227.34368 161.525716 -L 227.34368 171.253267 -" style="fill:#73ff83;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 93.557493 161.525716 -L 120.31473 161.525716 -L 120.31473 151.798165 -L 93.557493 151.798165 -L 93.557493 161.525716 -" style="fill:#83ff73;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 120.31473 161.525716 -L 147.071968 161.525716 -L 147.071968 151.798165 -L 120.31473 151.798165 -L 120.31473 161.525716 -" style="fill:#97ff60;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 147.071968 161.525716 -L 173.829205 161.525716 -L 173.829205 151.798165 -L 147.071968 151.798165 -L 147.071968 161.525716 -" style="fill:#a7ff50;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 173.829205 161.525716 -L 200.586443 161.525716 -L 200.586443 151.798165 -L 173.829205 151.798165 -L 173.829205 161.525716 -" style="fill:#baff3c;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 200.586443 161.525716 -L 227.34368 161.525716 -L 227.34368 151.798165 -L 200.586443 151.798165 -L 200.586443 161.525716 -" style="fill:#caff2c;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 227.34368 161.525716 -L 254.100917 161.525716 -L 254.100917 151.798165 -L 227.34368 151.798165 -L 227.34368 161.525716 -" style="fill:#dbff1c;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 93.557493 151.798165 -L 120.31473 151.798165 -L 120.31473 142.070615 -L 93.557493 142.070615 -L 93.557493 151.798165 -" style="fill:#eeff09;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 120.31473 151.798165 -L 147.071968 151.798165 -L 147.071968 142.070615 -L 120.31473 142.070615 -L 120.31473 151.798165 -" style="fill:#feed00;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 147.071968 151.798165 -L 173.829205 151.798165 -L 173.829205 142.070615 -L 147.071968 142.070615 -L 147.071968 151.798165 -" style="fill:#ffd700;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 173.829205 151.798165 -L 200.586443 151.798165 -L 200.586443 142.070615 -L 173.829205 142.070615 -L 173.829205 151.798165 -" style="fill:#ffc400;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 200.586443 151.798165 -L 227.34368 151.798165 -L 227.34368 142.070615 -L 200.586443 142.070615 -L 200.586443 151.798165 -" style="fill:#ffae00;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 227.34368 151.798165 -L 254.100917 151.798165 -L 254.100917 142.070615 -L 227.34368 142.070615 -L 227.34368 151.798165 -" style="fill:#ff9c00;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 93.557493 142.070615 -L 120.31473 142.070615 -L 120.31473 132.343064 -L 93.557493 132.343064 -L 93.557493 142.070615 -" style="fill:#ff8600;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 120.31473 142.070615 -L 147.071968 142.070615 -L 147.071968 132.343064 -L 120.31473 132.343064 -L 120.31473 142.070615 -" style="fill:#ff7300;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 147.071968 142.070615 -L 173.829205 142.070615 -L 173.829205 132.343064 -L 147.071968 132.343064 -L 147.071968 142.070615 -" style="fill:#ff6000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 173.829205 142.070615 -L 200.586443 142.070615 -L 200.586443 132.343064 -L 173.829205 132.343064 -L 173.829205 142.070615 -" style="fill:#ff4a00;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 200.586443 142.070615 -L 227.34368 142.070615 -L 227.34368 132.343064 -L 200.586443 132.343064 -L 200.586443 142.070615 -" style="fill:#ff3800;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 227.34368 142.070615 -L 254.100917 142.070615 -L 254.100917 132.343064 -L 227.34368 132.343064 -L 227.34368 142.070615 -" style="fill:#ff2200;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 93.557493 132.343064 -L 120.31473 132.343064 -L 120.31473 122.615513 -L 93.557493 122.615513 -L 93.557493 132.343064 -" style="fill:#fa0f00;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 120.31473 132.343064 -L 147.071968 132.343064 -L 147.071968 122.615513 -L 120.31473 122.615513 -L 120.31473 132.343064 -" style="fill:#df0000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 147.071968 132.343064 -L 173.829205 132.343064 -L 173.829205 122.615513 -L 147.071968 122.615513 -L 147.071968 132.343064 -" style="fill:#c80000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 173.829205 132.343064 -L 200.586443 132.343064 -L 200.586443 122.615513 -L 173.829205 122.615513 -L 173.829205 132.343064 -" style="fill:#ad0000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 200.586443 132.343064 -L 227.34368 132.343064 -L 227.34368 122.615513 -L 200.586443 122.615513 -L 200.586443 132.343064 -" style="fill:#960000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 227.34368 132.343064 -L 254.100917 132.343064 -L 254.100917 122.615513 -L 227.34368 122.615513 -L 227.34368 132.343064 -" style="fill:#800000;"/> + <path clip-path="url(#pc5c1e84671)" d="M 75.195731 162.587077 +L 96.657634 162.587077 +L 96.657634 155.124 +L 75.195731 155.124 +L 75.195731 162.587077 +" style="fill:#440154;"/> + <path clip-path="url(#pc5c1e84671)" d="M 96.657634 162.587077 +L 118.119536 162.587077 +L 118.119536 155.124 +L 96.657634 155.124 +L 96.657634 162.587077 +" style="fill:#46085c;"/> + <path clip-path="url(#pc5c1e84671)" d="M 118.119536 162.587077 +L 139.581439 162.587077 +L 139.581439 155.124 +L 118.119536 155.124 +L 118.119536 162.587077 +" style="fill:#471063;"/> + <path clip-path="url(#pc5c1e84671)" d="M 139.581439 162.587077 +L 161.043341 162.587077 +L 161.043341 155.124 +L 139.581439 155.124 +L 139.581439 162.587077 +" style="fill:#48186a;"/> + <path clip-path="url(#pc5c1e84671)" d="M 161.043341 162.587077 +L 182.505244 162.587077 +L 182.505244 155.124 +L 161.043341 155.124 +L 161.043341 162.587077 +" style="fill:#481f70;"/> + <path clip-path="url(#pc5c1e84671)" d="M 182.505244 162.587077 +L 203.967146 162.587077 +L 203.967146 155.124 +L 182.505244 155.124 +L 182.505244 162.587077 +" style="fill:#482677;"/> + <path clip-path="url(#pc5c1e84671)" d="M 75.195731 155.124 +L 96.657634 155.124 +L 96.657634 147.660923 +L 75.195731 147.660923 +L 75.195731 155.124 +" style="fill:#472d7b;"/> + <path clip-path="url(#pc5c1e84671)" d="M 96.657634 155.124 +L 118.119536 155.124 +L 118.119536 147.660923 +L 96.657634 147.660923 +L 96.657634 155.124 +" style="fill:#463480;"/> + <path clip-path="url(#pc5c1e84671)" d="M 118.119536 155.124 +L 139.581439 155.124 +L 139.581439 147.660923 +L 118.119536 147.660923 +L 118.119536 155.124 +" style="fill:#443a83;"/> + <path clip-path="url(#pc5c1e84671)" d="M 139.581439 155.124 +L 161.043341 155.124 +L 161.043341 147.660923 +L 139.581439 147.660923 +L 139.581439 155.124 +" style="fill:#424186;"/> + <path clip-path="url(#pc5c1e84671)" d="M 161.043341 155.124 +L 182.505244 155.124 +L 182.505244 147.660923 +L 161.043341 147.660923 +L 161.043341 155.124 +" style="fill:#3f4788;"/> + <path clip-path="url(#pc5c1e84671)" d="M 182.505244 155.124 +L 203.967146 155.124 +L 203.967146 147.660923 +L 182.505244 147.660923 +L 182.505244 155.124 +" style="fill:#3d4d8a;"/> + <path clip-path="url(#pc5c1e84671)" d="M 75.195731 147.660923 +L 96.657634 147.660923 +L 96.657634 140.197846 +L 75.195731 140.197846 +L 75.195731 147.660923 +" style="fill:#3a538b;"/> + <path clip-path="url(#pc5c1e84671)" d="M 96.657634 147.660923 +L 118.119536 147.660923 +L 118.119536 140.197846 +L 96.657634 140.197846 +L 96.657634 147.660923 +" style="fill:#38598c;"/> + <path clip-path="url(#pc5c1e84671)" d="M 118.119536 147.660923 +L 139.581439 147.660923 +L 139.581439 140.197846 +L 118.119536 140.197846 +L 118.119536 147.660923 +" style="fill:#355f8d;"/> + <path clip-path="url(#pc5c1e84671)" d="M 139.581439 147.660923 +L 161.043341 147.660923 +L 161.043341 140.197846 +L 139.581439 140.197846 +L 139.581439 147.660923 +" style="fill:#32648e;"/> + <path clip-path="url(#pc5c1e84671)" d="M 161.043341 147.660923 +L 182.505244 147.660923 +L 182.505244 140.197846 +L 161.043341 140.197846 +L 161.043341 147.660923 +" style="fill:#306a8e;"/> + <path clip-path="url(#pc5c1e84671)" d="M 182.505244 147.660923 +L 203.967146 147.660923 +L 203.967146 140.197846 +L 182.505244 140.197846 +L 182.505244 147.660923 +" style="fill:#2e6f8e;"/> + <path clip-path="url(#pc5c1e84671)" d="M 75.195731 140.197846 +L 96.657634 140.197846 +L 96.657634 132.734769 +L 75.195731 132.734769 +L 75.195731 140.197846 +" style="fill:#2b748e;"/> + <path clip-path="url(#pc5c1e84671)" d="M 96.657634 140.197846 +L 118.119536 140.197846 +L 118.119536 132.734769 +L 96.657634 132.734769 +L 96.657634 140.197846 +" style="fill:#29798e;"/> + <path clip-path="url(#pc5c1e84671)" d="M 118.119536 140.197846 +L 139.581439 140.197846 +L 139.581439 132.734769 +L 118.119536 132.734769 +L 118.119536 140.197846 +" style="fill:#277e8e;"/> + <path clip-path="url(#pc5c1e84671)" d="M 139.581439 140.197846 +L 161.043341 140.197846 +L 161.043341 132.734769 +L 139.581439 132.734769 +L 139.581439 140.197846 +" style="fill:#25838e;"/> + <path clip-path="url(#pc5c1e84671)" d="M 161.043341 140.197846 +L 182.505244 140.197846 +L 182.505244 132.734769 +L 161.043341 132.734769 +L 161.043341 140.197846 +" style="fill:#23888e;"/> + <path clip-path="url(#pc5c1e84671)" d="M 182.505244 140.197846 +L 203.967146 140.197846 +L 203.967146 132.734769 +L 182.505244 132.734769 +L 182.505244 140.197846 +" style="fill:#218e8d;"/> + <path clip-path="url(#pc5c1e84671)" d="M 75.195731 132.734769 +L 96.657634 132.734769 +L 96.657634 125.271692 +L 75.195731 125.271692 +L 75.195731 132.734769 +" style="fill:#20928c;"/> + <path clip-path="url(#pc5c1e84671)" d="M 96.657634 132.734769 +L 118.119536 132.734769 +L 118.119536 125.271692 +L 96.657634 125.271692 +L 96.657634 132.734769 +" style="fill:#1f988b;"/> + <path clip-path="url(#pc5c1e84671)" d="M 118.119536 132.734769 +L 139.581439 132.734769 +L 139.581439 125.271692 +L 118.119536 125.271692 +L 118.119536 132.734769 +" style="fill:#1e9d89;"/> + <path clip-path="url(#pc5c1e84671)" d="M 139.581439 132.734769 +L 161.043341 132.734769 +L 161.043341 125.271692 +L 139.581439 125.271692 +L 139.581439 132.734769 +" style="fill:#1fa287;"/> + <path clip-path="url(#pc5c1e84671)" d="M 161.043341 132.734769 +L 182.505244 132.734769 +L 182.505244 125.271692 +L 161.043341 125.271692 +L 161.043341 132.734769 +" style="fill:#22a785;"/> + <path clip-path="url(#pc5c1e84671)" d="M 182.505244 132.734769 +L 203.967146 132.734769 +L 203.967146 125.271692 +L 182.505244 125.271692 +L 182.505244 132.734769 +" style="fill:#25ac82;"/> + <path clip-path="url(#pc5c1e84671)" d="M 75.195731 125.271692 +L 96.657634 125.271692 +L 96.657634 117.808615 +L 75.195731 117.808615 +L 75.195731 125.271692 +" style="fill:#2cb17e;"/> + <path clip-path="url(#pc5c1e84671)" d="M 96.657634 125.271692 +L 118.119536 125.271692 +L 118.119536 117.808615 +L 96.657634 117.808615 +L 96.657634 125.271692 +" style="fill:#32b67a;"/> + <path clip-path="url(#pc5c1e84671)" d="M 118.119536 125.271692 +L 139.581439 125.271692 +L 139.581439 117.808615 +L 118.119536 117.808615 +L 118.119536 125.271692 +" style="fill:#3bbb75;"/> + <path clip-path="url(#pc5c1e84671)" d="M 139.581439 125.271692 +L 161.043341 125.271692 +L 161.043341 117.808615 +L 139.581439 117.808615 +L 139.581439 125.271692 +" style="fill:#44bf70;"/> + <path clip-path="url(#pc5c1e84671)" d="M 161.043341 125.271692 +L 182.505244 125.271692 +L 182.505244 117.808615 +L 161.043341 117.808615 +L 161.043341 125.271692 +" style="fill:#50c46a;"/> + <path clip-path="url(#pc5c1e84671)" d="M 182.505244 125.271692 +L 203.967146 125.271692 +L 203.967146 117.808615 +L 182.505244 117.808615 +L 182.505244 125.271692 +" style="fill:#5ac864;"/> + <path clip-path="url(#pc5c1e84671)" d="M 75.195731 117.808615 +L 96.657634 117.808615 +L 96.657634 110.345538 +L 75.195731 110.345538 +L 75.195731 117.808615 +" style="fill:#67cc5c;"/> + <path clip-path="url(#pc5c1e84671)" d="M 96.657634 117.808615 +L 118.119536 117.808615 +L 118.119536 110.345538 +L 96.657634 110.345538 +L 96.657634 117.808615 +" style="fill:#73d056;"/> + <path clip-path="url(#pc5c1e84671)" d="M 118.119536 117.808615 +L 139.581439 117.808615 +L 139.581439 110.345538 +L 118.119536 110.345538 +L 118.119536 117.808615 +" style="fill:#7fd34e;"/> + <path clip-path="url(#pc5c1e84671)" d="M 139.581439 117.808615 +L 161.043341 117.808615 +L 161.043341 110.345538 +L 139.581439 110.345538 +L 139.581439 117.808615 +" style="fill:#8ed645;"/> + <path clip-path="url(#pc5c1e84671)" d="M 161.043341 117.808615 +L 182.505244 117.808615 +L 182.505244 110.345538 +L 161.043341 110.345538 +L 161.043341 117.808615 +" style="fill:#9bd93c;"/> + <path clip-path="url(#pc5c1e84671)" d="M 182.505244 117.808615 +L 203.967146 117.808615 +L 203.967146 110.345538 +L 182.505244 110.345538 +L 182.505244 117.808615 +" style="fill:#aadc32;"/> + <path clip-path="url(#pc5c1e84671)" d="M 75.195731 110.345538 +L 96.657634 110.345538 +L 96.657634 102.882462 +L 75.195731 102.882462 +L 75.195731 110.345538 +" style="fill:#b8de29;"/> + <path clip-path="url(#pc5c1e84671)" d="M 96.657634 110.345538 +L 118.119536 110.345538 +L 118.119536 102.882462 +L 96.657634 102.882462 +L 96.657634 110.345538 +" style="fill:#c8e020;"/> + <path clip-path="url(#pc5c1e84671)" d="M 118.119536 110.345538 +L 139.581439 110.345538 +L 139.581439 102.882462 +L 118.119536 102.882462 +L 118.119536 110.345538 +" style="fill:#d5e21a;"/> + <path clip-path="url(#pc5c1e84671)" d="M 139.581439 110.345538 +L 161.043341 110.345538 +L 161.043341 102.882462 +L 139.581439 102.882462 +L 139.581439 110.345538 +" style="fill:#e5e419;"/> + <path clip-path="url(#pc5c1e84671)" d="M 161.043341 110.345538 +L 182.505244 110.345538 +L 182.505244 102.882462 +L 161.043341 102.882462 +L 161.043341 110.345538 +" style="fill:#f1e51d;"/> + <path clip-path="url(#pc5c1e84671)" d="M 182.505244 110.345538 +L 203.967146 110.345538 +L 203.967146 102.882462 +L 182.505244 102.882462 +L 182.505244 110.345538 +" style="fill:#fde725;"/> </g> <g id="PathCollection_9"> <defs> - <path d="M 0 2.236068 -C 0.593012 2.236068 1.161816 2.000462 1.581139 1.581139 -C 2.000462 1.161816 2.236068 0.593012 2.236068 0 -C 2.236068 -0.593012 2.000462 -1.161816 1.581139 -1.581139 -C 1.161816 -2.000462 0.593012 -2.236068 0 -2.236068 -C -0.593012 -2.236068 -1.161816 -2.000462 -1.581139 -1.581139 -C -2.000462 -1.161816 -2.236068 -0.593012 -2.236068 0 -C -2.236068 0.593012 -2.000462 1.161816 -1.581139 1.581139 -C -1.161816 2.000462 -0.593012 2.236068 0 2.236068 + <path d="M 0 3 +C 0.795609 3 1.55874 2.683901 2.12132 2.12132 +C 2.683901 1.55874 3 0.795609 3 0 +C 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132 +C 1.55874 -2.683901 0.795609 -3 0 -3 +C -0.795609 -3 -1.55874 -2.683901 -2.12132 -2.12132 +C -2.683901 -1.55874 -3 -0.795609 -3 0 +C -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 +C -1.55874 2.683901 -0.795609 3 0 3 z -" id="meff777c5d4" style="stroke:#000000;"/> +" id="mfd12c44519" style="stroke:#1f77b4;"/> </defs> - <g clip-path="url(#p9ae4ea3394)"> - <use style="fill:#0000ff;stroke:#000000;" x="93.557493" xlink:href="#meff777c5d4" y="60.359189"/> - <use style="fill:#0000ff;stroke:#000000;" x="101.748484" xlink:href="#meff777c5d4" y="66.711875"/> - <use style="fill:#0000ff;stroke:#000000;" x="109.939475" xlink:href="#meff777c5d4" y="73.064561"/> - <use style="fill:#0000ff;stroke:#000000;" x="118.130466" xlink:href="#meff777c5d4" y="79.417247"/> - <use style="fill:#0000ff;stroke:#000000;" x="126.321457" xlink:href="#meff777c5d4" y="85.769933"/> - <use style="fill:#0000ff;stroke:#000000;" x="134.512448" xlink:href="#meff777c5d4" y="92.122619"/> - <use style="fill:#0000ff;stroke:#000000;" x="142.703439" xlink:href="#meff777c5d4" y="98.475306"/> - <use style="fill:#0000ff;stroke:#000000;" x="150.89443" xlink:href="#meff777c5d4" y="104.827992"/> - <use style="fill:#0000ff;stroke:#000000;" x="159.085421" xlink:href="#meff777c5d4" y="111.180678"/> - <use style="fill:#0000ff;stroke:#000000;" x="167.276412" xlink:href="#meff777c5d4" y="117.533364"/> - <use style="fill:#0000ff;stroke:#000000;" x="175.467403" xlink:href="#meff777c5d4" y="123.88605"/> - <use style="fill:#0000ff;stroke:#000000;" x="183.658394" xlink:href="#meff777c5d4" y="130.238737"/> - <use style="fill:#0000ff;stroke:#000000;" x="191.849385" xlink:href="#meff777c5d4" y="136.591423"/> - <use style="fill:#0000ff;stroke:#000000;" x="200.040376" xlink:href="#meff777c5d4" y="142.944109"/> - <use style="fill:#0000ff;stroke:#000000;" x="208.231367" xlink:href="#meff777c5d4" y="149.296795"/> - <use style="fill:#0000ff;stroke:#000000;" x="216.422359" xlink:href="#meff777c5d4" y="155.649481"/> - <use style="fill:#0000ff;stroke:#000000;" x="224.61335" xlink:href="#meff777c5d4" y="162.002167"/> - <use style="fill:#0000ff;stroke:#000000;" x="232.804341" xlink:href="#meff777c5d4" y="168.354854"/> - <use style="fill:#0000ff;stroke:#000000;" x="240.995332" xlink:href="#meff777c5d4" y="174.70754"/> - <use style="fill:#0000ff;stroke:#000000;" x="249.186323" xlink:href="#meff777c5d4" y="181.060226"/> - <use style="fill:#0000ff;stroke:#000000;" x="257.377314" xlink:href="#meff777c5d4" y="187.412912"/> - <use style="fill:#0000ff;stroke:#000000;" x="265.568305" xlink:href="#meff777c5d4" y="193.765598"/> - <use style="fill:#0000ff;stroke:#000000;" x="273.759296" xlink:href="#meff777c5d4" y="200.118285"/> - <use style="fill:#0000ff;stroke:#000000;" x="281.950287" xlink:href="#meff777c5d4" y="206.470971"/> - <use style="fill:#0000ff;stroke:#000000;" x="290.141278" xlink:href="#meff777c5d4" y="212.823657"/> - <use style="fill:#0000ff;stroke:#000000;" x="298.332269" xlink:href="#meff777c5d4" y="219.176343"/> - <use style="fill:#0000ff;stroke:#000000;" x="306.52326" xlink:href="#meff777c5d4" y="225.529029"/> - <use style="fill:#0000ff;stroke:#000000;" x="314.714251" xlink:href="#meff777c5d4" y="231.881715"/> - <use style="fill:#0000ff;stroke:#000000;" x="322.905242" xlink:href="#meff777c5d4" y="238.234402"/> - <use style="fill:#0000ff;stroke:#000000;" x="331.096233" xlink:href="#meff777c5d4" y="244.587088"/> - <use style="fill:#0000ff;stroke:#000000;" x="339.287224" xlink:href="#meff777c5d4" y="250.939774"/> - <use style="fill:#0000ff;stroke:#000000;" x="347.478215" xlink:href="#meff777c5d4" y="257.29246"/> - <use style="fill:#0000ff;stroke:#000000;" x="355.669206" xlink:href="#meff777c5d4" y="263.645146"/> - <use style="fill:#0000ff;stroke:#000000;" x="363.860197" xlink:href="#meff777c5d4" y="269.997833"/> - <use style="fill:#0000ff;stroke:#000000;" x="372.051188" xlink:href="#meff777c5d4" y="276.350519"/> - <use style="fill:#0000ff;stroke:#000000;" x="380.24218" xlink:href="#meff777c5d4" y="282.703205"/> - <use style="fill:#0000ff;stroke:#000000;" x="388.433171" xlink:href="#meff777c5d4" y="289.055891"/> - <use style="fill:#0000ff;stroke:#000000;" x="396.624162" xlink:href="#meff777c5d4" y="295.408577"/> - <use style="fill:#0000ff;stroke:#000000;" x="404.815153" xlink:href="#meff777c5d4" y="301.761263"/> - <use style="fill:#0000ff;stroke:#000000;" x="413.006144" xlink:href="#meff777c5d4" y="308.11395"/> - <use style="fill:#0000ff;stroke:#000000;" x="421.197135" xlink:href="#meff777c5d4" y="314.466636"/> - <use style="fill:#0000ff;stroke:#000000;" x="429.388126" xlink:href="#meff777c5d4" y="320.819322"/> - <use style="fill:#0000ff;stroke:#000000;" x="437.579117" xlink:href="#meff777c5d4" y="327.172008"/> - <use style="fill:#0000ff;stroke:#000000;" x="445.770108" xlink:href="#meff777c5d4" y="333.524694"/> - <use style="fill:#0000ff;stroke:#000000;" x="453.961099" xlink:href="#meff777c5d4" y="339.877381"/> - <use style="fill:#0000ff;stroke:#000000;" x="462.15209" xlink:href="#meff777c5d4" y="346.230067"/> - <use style="fill:#0000ff;stroke:#000000;" x="470.343081" xlink:href="#meff777c5d4" y="352.582753"/> - <use style="fill:#0000ff;stroke:#000000;" x="478.534072" xlink:href="#meff777c5d4" y="358.935439"/> - <use style="fill:#0000ff;stroke:#000000;" x="486.725063" xlink:href="#meff777c5d4" y="365.288125"/> - <use style="fill:#0000ff;stroke:#000000;" x="494.916054" xlink:href="#meff777c5d4" y="371.640811"/> + <g clip-path="url(#pc5c1e84671)"> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="75.195731" xlink:href="#mfd12c44519" y="55.118769"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="81.765701" xlink:href="#mfd12c44519" y="59.992615"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="88.335671" xlink:href="#mfd12c44519" y="64.866462"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="94.905642" xlink:href="#mfd12c44519" y="69.740308"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="101.475612" xlink:href="#mfd12c44519" y="74.614154"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="108.045582" xlink:href="#mfd12c44519" y="79.488"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="114.615552" xlink:href="#mfd12c44519" y="84.361846"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="121.185522" xlink:href="#mfd12c44519" y="89.235692"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="127.755492" xlink:href="#mfd12c44519" y="94.109538"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="134.325463" xlink:href="#mfd12c44519" y="98.983385"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="140.895433" xlink:href="#mfd12c44519" y="103.857231"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="147.465403" xlink:href="#mfd12c44519" y="108.731077"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="154.035373" xlink:href="#mfd12c44519" y="113.604923"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="160.605343" xlink:href="#mfd12c44519" y="118.478769"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="167.175313" xlink:href="#mfd12c44519" y="123.352615"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="173.745284" xlink:href="#mfd12c44519" y="128.226462"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="180.315254" xlink:href="#mfd12c44519" y="133.100308"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="186.885224" xlink:href="#mfd12c44519" y="137.974154"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="193.455194" xlink:href="#mfd12c44519" y="142.848"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="200.025164" xlink:href="#mfd12c44519" y="147.721846"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="206.595134" xlink:href="#mfd12c44519" y="152.595692"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="213.165104" xlink:href="#mfd12c44519" y="157.469538"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="219.735075" xlink:href="#mfd12c44519" y="162.343385"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="226.305045" xlink:href="#mfd12c44519" y="167.217231"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="232.875015" xlink:href="#mfd12c44519" y="172.091077"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="239.444985" xlink:href="#mfd12c44519" y="176.964923"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="246.014955" xlink:href="#mfd12c44519" y="181.838769"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="252.584925" xlink:href="#mfd12c44519" y="186.712615"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="259.154896" xlink:href="#mfd12c44519" y="191.586462"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="265.724866" xlink:href="#mfd12c44519" y="196.460308"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="272.294836" xlink:href="#mfd12c44519" y="201.334154"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="278.864806" xlink:href="#mfd12c44519" y="206.208"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="285.434776" xlink:href="#mfd12c44519" y="211.081846"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="292.004746" xlink:href="#mfd12c44519" y="215.955692"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="298.574716" xlink:href="#mfd12c44519" y="220.829538"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="305.144687" xlink:href="#mfd12c44519" y="225.703385"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="311.714657" xlink:href="#mfd12c44519" y="230.577231"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="318.284627" xlink:href="#mfd12c44519" y="235.451077"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="324.854597" xlink:href="#mfd12c44519" y="240.324923"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="331.424567" xlink:href="#mfd12c44519" y="245.198769"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="337.994537" xlink:href="#mfd12c44519" y="250.072615"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="344.564508" xlink:href="#mfd12c44519" y="254.946462"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="351.134478" xlink:href="#mfd12c44519" y="259.820308"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="357.704448" xlink:href="#mfd12c44519" y="264.694154"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="364.274418" xlink:href="#mfd12c44519" y="269.568"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="370.844388" xlink:href="#mfd12c44519" y="274.441846"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="377.414358" xlink:href="#mfd12c44519" y="279.315692"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="383.984329" xlink:href="#mfd12c44519" y="284.189538"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="390.554299" xlink:href="#mfd12c44519" y="289.063385"/> + <use style="fill:#1f77b4;stroke:#1f77b4;" x="397.124269" xlink:href="#mfd12c44519" y="293.937231"/> </g> </g> <g id="Quiver_1"> - <path clip-path="url(#p9ae4ea3394)" d="M 414.350556 183.223819 -L 441.905033 178.311787 -L 439.669442 175.309535 -L 457.030988 177.315731 -L 441.432159 185.197648 -L 442.492605 181.607824 -L 414.938128 186.519856 -L 414.350556 183.223819 + <path clip-path="url(#pc5c1e84671)" d="M 332.503532 149.327739 +L 354.547114 145.398113 +L 352.758642 142.996312 +L 366.647878 144.601268 +L 354.168815 150.906802 +L 355.017172 148.034943 +L 332.97359 151.964569 +L 332.503532 149.327739 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 427.066803 183.216917 -L 451.392059 179.512542 -L 449.233098 176.45472 -L 466.538363 178.899283 -L 450.745218 186.384244 -L 451.896098 182.822383 -L 427.570843 186.526758 -L 427.066803 183.216917 + <path clip-path="url(#pc5c1e84671)" d="M 342.70311 149.322217 +L 362.163314 146.358717 +L 360.436146 143.91246 +L 374.280358 145.86811 +L 361.645841 151.856079 +L 362.566546 149.00659 +L 343.106342 151.97009 +L 342.70311 149.322217 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 439.847119 183.204233 -L 457.911535 181.620681 -L 455.951561 178.431655 -L 473.066164 181.972624 -L 456.828668 188.437285 -L 458.203904 184.95589 -L 440.139488 186.539443 -L 439.847119 183.204233 + <path clip-path="url(#pc5c1e84671)" d="M 352.953942 149.31207 +L 367.405475 148.045228 +L 365.837496 145.494008 +L 379.529178 148.326783 +L 366.539182 153.498511 +L 367.63937 150.713396 +L 353.187838 151.980238 +L 352.953942 149.31207 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 452.760359 183.200399 -L 462.271905 183.727204 -L 460.785615 180.291753 -L 477.222276 186.231808 -L 460.230171 190.320383 -L 462.086757 187.070081 -L 452.575211 186.543276 -L 452.760359 183.200399 + <path clip-path="url(#pc5c1e84671)" d="M 363.311114 149.309003 +L 370.920351 149.730447 +L 369.731319 146.982086 +L 382.880648 151.73413 +L 369.286964 155.00499 +L 370.772233 152.404748 +L 363.162995 151.983305 +L 363.311114 149.309003 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 465.980643 183.42115 -L 467.431331 184.059528 -L 467.257399 180.519774 -L 479.849143 191.255615 -L 463.427132 189.223901 -L 466.154576 186.960903 -L 464.703888 186.322525 -L 465.980643 183.42115 + <path clip-path="url(#pc5c1e84671)" d="M 373.913921 149.485604 +L 375.074471 149.996306 +L 374.935325 147.164503 +L 385.008721 155.753176 +L 371.871112 154.127804 +L 374.053067 152.317406 +L 372.892517 151.806704 +L 373.913921 149.485604 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 479.184283 184.479468 -L 479.576653 185.647005 -L 481.519357 183.694729 -L 481.940443 196.547205 -L 474.514136 186.048947 -L 477.241579 186.431744 -L 476.84921 185.264207 -L 479.184283 184.479468 + <path clip-path="url(#pc5c1e84671)" d="M 384.503412 150.332258 +L 384.817308 151.266288 +L 386.371471 149.704467 +L 386.70834 159.986448 +L 380.767295 151.587841 +L 382.949249 151.894079 +L 382.635354 150.96005 +L 384.503412 150.332258 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 492.262271 185.44985 -L 491.315979 188.021879 -L 495.036078 187.606861 -L 484.542821 201.583257 -L 485.609818 184.138785 -L 488.173892 186.865854 -L 489.120184 184.293825 -L 492.262271 185.44985 + <path clip-path="url(#pc5c1e84671)" d="M 394.992382 151.108564 +L 394.235349 153.166187 +L 397.211428 152.834173 +L 388.816822 164.015289 +L 389.67042 150.059712 +L 391.721679 152.241367 +L 392.478713 150.183744 +L 394.992382 151.108564 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 413.840421 163.743618 -L 432.898498 153.30918 -L 429.822328 151.176444 -L 446.917372 147.542223 -L 434.645852 159.986413 -L 434.506339 156.245836 -L 415.448262 166.680274 -L 413.840421 163.743618 + <path clip-path="url(#pc5c1e84671)" d="M 332.095425 134.38822 +L 347.341886 126.04067 +L 344.88095 124.334481 +L 358.556986 121.427105 +L 348.739769 131.382457 +L 348.628159 128.389995 +L 333.381698 136.737545 +L 332.095425 134.38822 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 426.509081 163.746819 -L 442.42887 154.948321 -L 439.344261 152.82781 -L 456.424748 149.125776 -L 444.202709 161.618568 -L 444.048353 157.878574 -L 428.128564 166.677072 -L 426.509081 163.746819 + <path clip-path="url(#pc5c1e84671)" d="M 342.256933 134.390782 +L 354.992763 127.351983 +L 352.525076 125.655574 +L 366.189466 122.693947 +L 356.411835 132.68818 +L 356.28835 129.696185 +L 343.552519 136.734984 +L 342.256933 134.390782 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 439.167876 163.755599 -L 449.020001 158.171617 -L 445.912799 156.084351 -L 462.952548 152.199116 -L 450.865364 164.822431 -L 450.670856 161.08431 -L 440.818731 166.668292 -L 439.167876 163.755599 + <path clip-path="url(#pc5c1e84671)" d="M 352.410548 134.397805 +L 360.292248 129.930619 +L 357.806486 128.260807 +L 371.438285 125.152619 +L 361.768538 135.251271 +L 361.612932 132.260774 +L 353.731232 136.72796 +L 352.410548 134.397805 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 451.800032 163.780415 -L 453.35713 162.836547 -L 450.190093 160.841238 -L 467.108661 156.4583 -L 455.396611 169.430423 -L 455.092636 165.699608 -L 453.535538 166.643477 -L 451.800032 163.780415 + <path clip-path="url(#pc5c1e84671)" d="M 362.542852 134.417658 +L 363.78853 133.662563 +L 361.254901 132.066316 +L 374.789755 128.559966 +L 365.420115 138.937665 +L 365.176935 135.953013 +L 363.931257 136.708107 +L 362.542852 134.417658 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 464.969282 164.77262 -L 465.408608 164.399636 -L 464.223314 163.893967 -L 469.735528 161.482107 -L 466.461217 166.529924 -L 466.154576 165.278288 -L 465.715249 165.651272 -L 464.969282 164.77262 + <path clip-path="url(#pc5c1e84671)" d="M 373.104832 135.211422 +L 373.456293 134.913035 +L 372.508057 134.5085 +L 376.917828 132.579012 +L 374.29838 136.617265 +L 374.053067 135.615956 +L 373.701606 135.914344 +L 373.104832 135.211422 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 478.172922 165.830938 -L 477.55393 165.987113 -L 478.485272 167.068921 -L 471.826827 166.773698 -L 477.548221 163.35497 -L 477.241579 164.749129 -L 477.860571 164.592954 -L 478.172922 165.830938 + <path clip-path="url(#pc5c1e84671)" d="M 383.694323 136.058076 +L 383.19913 136.183016 +L 383.944204 137.048463 +L 378.617448 136.812284 +L 383.194563 134.077302 +L 382.949249 135.192629 +L 383.444443 135.067689 +L 383.694323 136.058076 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 491.320575 166.763138 -L 489.019284 167.696814 -L 491.829172 170.169852 -L 474.429205 171.809749 -L 488.053087 160.862697 -L 487.760589 164.59443 -L 490.06188 163.660753 -L 491.320575 166.763138 + <path clip-path="url(#pc5c1e84671)" d="M 394.239025 136.803836 +L 392.397993 137.550777 +L 394.645903 139.529207 +L 380.72593 140.841125 +L 391.625035 132.083484 +L 391.391037 135.06887 +L 393.232069 134.321929 +L 394.239025 136.803836 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 413.352087 144.487933 -L 426.32876 128.729235 -L 422.680129 127.893247 -L 437.198105 118.163064 -L 430.433657 134.277974 -L 428.913269 130.857477 -L 415.936597 146.616175 -L 413.352087 144.487933 + <path clip-path="url(#pc5c1e84671)" d="M 331.704758 119.628314 +L 342.086095 107.021356 +L 339.167191 106.352566 +L 350.781572 98.56842 +L 345.370013 111.460348 +L 344.153703 108.72395 +L 333.772365 121.330908 +L 331.704758 119.628314 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 425.980434 144.546573 -L 436.317762 130.786632 -L 432.635504 130.114058 -L 446.705481 119.746617 -L 440.665835 136.146945 -L 438.994539 132.797594 -L 428.657211 146.557535 -L 425.980434 144.546573 + <path clip-path="url(#pc5c1e84671)" d="M 341.834015 119.675226 +L 350.103877 108.667274 +L 347.158071 108.129215 +L 358.414052 99.835262 +L 353.582335 112.955524 +L 352.245299 110.276044 +L 343.975436 121.283996 +L 341.834015 119.675226 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 438.546773 144.709543 -L 444.204153 134.996225 -L 440.468581 134.757734 -L 453.233281 122.819957 -L 449.147766 139.812799 -L 447.097215 136.681246 -L 441.439835 146.394565 -L 438.546773 144.709543 + <path clip-path="url(#pc5c1e84671)" d="M 351.913665 119.805603 +L 356.43957 112.034948 +L 353.451111 111.844155 +L 363.662872 102.293934 +L 360.39446 115.888207 +L 358.754019 113.382965 +L 354.228115 121.15362 +L 351.913665 119.805603 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 451.045924 145.137512 -L 452.036659 141.261344 -L 448.378396 142.054121 -L 457.389394 127.079141 -L 458.109559 144.54137 -L 455.28038 142.090427 -L 454.289645 145.966595 -L 451.045924 145.137512 + <path clip-path="url(#pc5c1e84671)" d="M 361.939566 120.147978 +L 362.732154 117.047043 +L 359.805544 117.681265 +L 367.014342 105.701281 +L 367.590474 119.671065 +L 365.32713 117.71031 +L 364.534543 120.811245 +L 361.939566 120.147978 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 463.997355 146.084654 -L 463.464754 144.739744 -L 461.307534 147.149855 -L 460.016261 132.102948 -L 469.376997 143.954252 -L 466.154576 143.674543 -L 466.687176 145.019453 -L 463.997355 146.084654 + <path clip-path="url(#pc5c1e84671)" d="M 372.32729 120.905692 +L 371.90121 119.829763 +L 370.175433 121.757853 +L 369.142415 109.720327 +L 376.631004 119.20137 +L 374.053067 118.977603 +L 374.479147 120.053531 +L 372.32729 120.905692 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 477.25295 147.041648 -L 474.75011 145.758304 -L 474.71211 149.501289 -L 462.10756 137.394539 -L 479.294891 140.563725 -L 476.277704 142.779116 -L 478.780543 144.06246 -L 477.25295 147.041648 + <path clip-path="url(#pc5c1e84671)" d="M 382.958346 121.671287 +L 380.956074 120.644612 +L 380.925674 123.639 +L 370.842034 113.953599 +L 384.591899 116.488948 +L 382.178149 118.261261 +L 384.18042 119.287936 +L 382.958346 121.671287 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 490.491544 147.214102 -L 479.468685 145.889785 -L 480.731367 149.413563 -L 464.709938 142.43059 -L 481.929465 139.441277 -L 479.868051 142.565689 -L 490.89091 143.890006 -L 490.491544 147.214102 + <path clip-path="url(#pc5c1e84671)" d="M 393.575801 121.80925 +L 384.757514 120.749796 +L 385.767659 123.568819 +L 372.950516 117.982441 +L 386.726137 115.59099 +L 385.077006 118.09052 +L 393.895294 119.149973 +L 393.575801 121.80925 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 413.156145 125.125647 -L 423.236118 105.555277 -L 419.493209 105.510444 -L 431.622952 92.928019 -L 428.422391 110.109535 -L 426.212512 107.088308 -L 416.132539 126.658677 -L 413.156145 125.125647 + <path clip-path="url(#pc5c1e84671)" d="M 331.548004 104.783128 +L 339.611982 89.126833 +L 336.617655 89.090966 +L 346.32145 79.025026 +L 343.761001 92.770239 +L 341.993097 90.353257 +L 333.929119 106.009552 +L 331.548004 104.783128 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 425.786658 125.217812 -L 433.529014 107.626703 -L 429.790335 107.810168 -L 441.130328 94.511572 -L 438.983322 111.856267 -L 436.593343 108.975403 -L 428.850987 126.566512 -L 425.786658 125.217812 + <path clip-path="url(#pc5c1e84671)" d="M 341.678994 104.85686 +L 347.872879 90.783973 +L 344.881935 90.930745 +L 353.95393 80.291868 +L 352.236325 94.167624 +L 350.324342 91.862933 +L 344.130457 105.93582 +L 341.678994 104.85686 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 438.37749 125.454644 -L 442.104653 111.689718 -L 438.435508 112.430496 -L 447.658128 97.584913 -L 448.13039 115.055604 -L 445.336281 112.564754 -L 441.609117 126.32968 -L 438.37749 125.454644 + <path clip-path="url(#pc5c1e84671)" d="M 351.778239 105.046326 +L 354.75997 94.034385 +L 351.824653 94.627008 +L 359.202749 82.750541 +L 359.580559 96.727094 +L 357.345272 94.734414 +L 354.363541 105.746354 +L 351.778239 105.046326 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 450.994838 125.95154 -L 450.675699 116.959994 -L 447.389184 118.751697 -L 451.814241 101.844097 -L 457.426863 118.395427 -L 454.021592 116.841237 -L 454.340731 125.832784 -L 450.994838 125.95154 + <path clip-path="url(#pc5c1e84671)" d="M 361.898697 105.443843 +L 361.643386 98.250606 +L 359.014174 99.683968 +L 362.554219 86.157888 +L 367.044317 99.398953 +L 364.3201 98.155601 +L 364.575412 105.348837 +L 361.898697 105.443843 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 463.889819 126.724433 -L 460.479104 120.772192 -L 458.406483 123.889181 -L 454.441108 106.867904 -L 467.121161 118.895552 -L 463.383997 119.107649 -L 466.794712 125.05989 -L 463.889819 126.724433 + <path clip-path="url(#pc5c1e84671)" d="M 372.241262 106.062157 +L 369.51269 101.300364 +L 367.854593 103.793955 +L 364.682292 90.176933 +L 374.826335 99.799053 +L 371.836604 99.96873 +L 374.565176 104.730523 +L 372.241262 106.062157 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 477.115177 127.30264 -L 468.32514 121.684098 -L 467.932479 125.406624 -L 456.532408 112.159494 -L 473.341897 116.943756 -L 470.128279 118.863142 -L 478.918316 124.481684 -L 477.115177 127.30264 + <path clip-path="url(#pc5c1e84671)" d="M 382.848127 106.524723 +L 375.816098 102.029889 +L 375.501969 105.00791 +L 366.381912 94.410206 +L 379.829503 98.237615 +L 377.25861 99.773124 +L 384.290639 104.267958 +L 382.848127 106.524723 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 490.246471 127.505998 -L 473.214558 122.812186 -L 473.938882 126.484615 -L 459.134786 117.195546 -L 476.607418 116.801596 -L 474.10407 119.584513 -L 491.135983 124.278325 -L 490.246471 127.505998 + <path clip-path="url(#pc5c1e84671)" d="M 393.379743 106.687409 +L 379.754212 102.932359 +L 380.333671 105.870302 +L 368.490394 98.439047 +L 382.4685 98.123887 +L 380.465821 100.350221 +L 394.091352 104.105271 +L 393.379743 106.687409 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 413.176868 105.42679 -L 423.626057 86.389805 -L 419.885631 86.246319 -L 432.342849 73.988024 -L 428.690471 91.079198 -L 426.561004 88.000765 -L 416.111815 107.03775 -L 413.176868 105.42679 + <path clip-path="url(#pc5c1e84671)" d="M 331.564583 89.668685 +L 339.923934 74.439097 +L 336.931592 74.324308 +L 346.897367 64.517673 +L 343.975465 78.190611 +L 342.271891 75.727865 +L 333.91254 90.957453 +L 331.564583 89.668685 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 425.806117 105.515334 -L 433.885099 88.468996 -L 430.142752 88.547831 -L 441.850225 75.571577 -L 439.218988 92.849444 -L 436.910511 89.902867 -L 428.831529 106.949205 -L 425.806117 105.515334 + <path clip-path="url(#pc5c1e84671)" d="M 341.694561 89.73952 +L 348.157747 76.102449 +L 345.163869 76.165517 +L 354.529847 65.784515 +L 352.424858 79.606808 +L 350.578076 77.249546 +L 344.11489 90.886617 +L 341.694561 89.73952 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 438.391647 105.745473 -L 442.395193 92.573031 -L 438.705083 93.201094 -L 448.378025 78.644917 -L 448.315023 96.121877 -L 445.598507 93.546626 -L 441.59496 106.719067 -L 438.391647 105.745473 + <path clip-path="url(#pc5c1e84671)" d="M 351.789565 89.923631 +L 354.992402 79.385678 +L 352.040313 79.888128 +L 359.778667 68.243187 +L 359.728266 82.224755 +L 357.555053 80.164554 +L 354.352215 90.702507 +L 351.789565 89.923631 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 450.993812 106.24186 -L 450.946477 97.979444 -L 447.608122 99.672597 -L 452.534138 82.904101 -L 457.651957 99.615056 -L 454.294422 97.960264 -L 454.341757 106.22268 -L 450.993812 106.24186 + <path clip-path="url(#pc5c1e84671)" d="M 361.897876 90.320741 +L 361.860008 83.710808 +L 359.189324 85.065331 +L 363.130137 71.650534 +L 367.224392 85.019298 +L 364.538364 83.695464 +L 364.576232 90.305397 +L 361.897876 90.320741 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 463.879339 107.045979 -L 461.021464 101.907953 -L 458.909321 104.998298 -L 455.161005 87.927908 -L 467.686878 100.116041 -L 463.947316 100.280534 -L 466.805192 105.41856 -L 463.879339 107.045979 + <path clip-path="url(#pc5c1e84671)" d="M 372.232878 90.964036 +L 369.946577 86.853615 +L 368.256863 89.325892 +L 365.25821 75.66958 +L 375.278909 85.420086 +L 372.287259 85.55168 +L 374.57356 89.662101 +L 372.232878 90.964036 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 477.12781 107.650744 -L 469.129631 102.638402 -L 468.770232 106.364287 -L 457.252304 93.219499 -L 474.103851 97.853444 -L 470.907504 99.801455 -L 478.905683 104.813796 -L 477.12781 107.650744 + <path clip-path="url(#pc5c1e84671)" d="M 382.858234 91.447848 +L 376.459691 87.437975 +L 376.172171 90.418682 +L 366.95783 79.902852 +L 380.439067 83.610008 +L 377.881989 85.168417 +L 384.280532 89.17829 +L 382.858234 91.447848 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 490.272 107.852925 -L 474.021356 103.64925 -L 474.803557 107.309788 -L 459.854682 98.25555 -L 477.31892 97.585855 -L 474.85981 100.407939 -L 491.110454 104.611614 -L 490.272 107.852925 + <path clip-path="url(#pc5c1e84671)" d="M 393.400166 91.609593 +L 380.39965 88.246653 +L 381.025411 91.175084 +L 369.066312 83.931693 +L 383.037702 83.395937 +L 381.070414 85.653604 +L 394.070929 89.016544 +L 393.400166 91.609593 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 413.435532 85.414339 -L 427.448895 70.786591 -L 423.873236 69.679324 -L 439.080054 61.065337 -L 431.126098 76.627557 -L 429.866516 73.102669 -L 415.853152 87.730417 -L 413.435532 85.414339 + <path clip-path="url(#pc5c1e84671)" d="M 331.771513 74.303367 +L 342.982204 62.601168 +L 340.121677 61.715355 +L 352.287131 54.824165 +L 345.923966 67.273941 +L 344.916301 64.45403 +L 333.70561 76.156229 +L 331.771513 74.303367 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 426.067745 85.460137 -L 437.326183 72.79635 -L 433.711786 71.822946 -L 448.58743 62.64889 -L 441.218253 78.496392 -L 439.828339 75.020832 -L 428.569901 87.684619 -L 426.067745 85.460137 + <path clip-path="url(#pc5c1e84671)" d="M 341.903863 74.340005 +L 350.910614 64.208975 +L 348.019096 63.430252 +L 359.919611 56.091007 +L 354.02427 68.769009 +L 352.912338 65.988561 +L 343.905588 76.11959 +L 341.903863 74.340005 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 438.638188 85.589557 -L 444.914725 76.935452 -L 441.221673 76.324926 -L 455.11523 65.72223 -L 449.352368 82.221852 -L 447.624957 78.901094 -L 441.34842 87.555199 -L 438.638188 85.589557 + <path clip-path="url(#pc5c1e84671)" d="M 351.986797 74.443541 +L 357.008027 67.520257 +L 354.053585 67.031836 +L 365.168431 58.54968 +L 360.558141 71.749377 +L 359.176213 69.092771 +L 354.154983 76.016054 +L 351.986797 74.443541 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 451.112456 85.953324 -L 452.144526 83.36032 -L 448.414815 83.677541 -L 459.271343 69.981415 -L 457.746788 87.391866 -L 455.255184 84.598429 -L 454.223113 87.191432 -L 451.112456 85.953324 + <path clip-path="url(#pc5c1e84671)" d="M 361.992791 74.734554 +L 362.818448 72.660152 +L 359.834678 72.913928 +L 368.519901 61.957027 +L 367.300257 75.885388 +L 365.306974 73.650638 +L 364.481317 75.725041 +L 361.992791 74.734554 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 464.18555 86.916783 -L 463.841144 85.760068 -L 461.872119 87.605595 -L 461.89821 75.005222 -L 468.812412 85.539161 -L 466.154576 85.071257 -L 466.498981 86.227972 -L 464.18555 86.916783 + <path clip-path="url(#pc5c1e84671)" d="M 372.477846 75.505322 +L 372.202322 74.57995 +L 370.627101 76.056371 +L 370.647974 65.976073 +L 376.179336 74.403224 +L 374.053067 74.028901 +L 374.328591 74.954273 +L 372.477846 75.505322 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 477.38919 87.975102 -L 475.986466 87.347545 -L 476.134077 90.780549 -L 463.989509 80.296812 -L 479.899416 82.364207 -L 477.241579 84.542098 -L 478.644303 85.169654 -L 477.38919 87.975102 + <path clip-path="url(#pc5c1e84671)" d="M 383.067338 76.351977 +L 381.945159 75.849931 +L 382.063247 78.596334 +L 372.347594 70.209345 +L 385.075519 71.863261 +L 382.949249 73.605573 +L 384.071428 74.107619 +L 383.067338 76.351977 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 490.605241 88.244168 -L 481.552013 87.778528 -L 483.051831 91.208095 -L 466.591887 85.332864 -L 483.567747 81.177354 -L 481.723985 84.434948 -L 490.777213 84.900588 -L 490.605241 88.244168 + <path clip-path="url(#pc5c1e84671)" d="M 393.666759 76.56723 +L 386.424176 76.194718 +L 387.62403 78.938371 +L 374.456076 74.238186 +L 388.036764 70.913778 +L 386.561754 73.519854 +L 393.804336 73.892365 +L 393.666759 76.56723 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 413.965278 65.382405 -L 434.78551 56.142192 -L 431.897301 53.761094 -L 449.235303 51.560695 -L 435.971686 62.94158 -L 436.143639 59.202354 -L 415.323406 68.442567 -L 413.965278 65.382405 + <path clip-path="url(#pc5c1e84671)" d="M 332.19531 58.922462 +L 348.851496 51.530291 +L 346.540929 49.625413 +L 360.411331 47.865093 +L 349.800437 56.969801 +L 349.937999 53.97842 +L 333.281813 61.370591 +L 332.19531 58.922462 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 426.647021 65.379202 -L 444.271326 57.657183 -L 441.394439 55.262418 -L 458.742679 53.144247 -L 445.425251 64.462118 -L 445.614931 60.723749 -L 427.990625 68.445769 -L 426.647021 65.379202 + <path clip-path="url(#pc5c1e84671)" d="M 342.367284 58.9199 +L 356.466729 52.742284 +L 354.165219 50.826472 +L 368.043811 49.131936 +L 357.389868 58.186232 +L 357.541612 55.195537 +L 343.442167 61.373153 +L 342.367284 58.9199 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 439.34101 65.370802 -L 450.743032 60.54655 -L 447.896761 58.115477 -L 465.270479 56.217588 -L 451.810524 67.365579 -L 452.04762 63.629917 -L 440.645598 68.45417 -L 439.34101 65.370802 + <path clip-path="url(#pc5c1e84671)" d="M 352.549055 58.913179 +L 361.670673 55.053778 +L 359.393655 53.108919 +L 373.29263 51.590608 +L 362.524667 60.509001 +L 362.714343 57.520472 +L 353.592725 61.379873 +L 352.549055 58.913179 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 452.067664 65.349754 -L 454.761882 64.315121 -L 451.99891 61.789776 -L 469.426592 60.476772 -L 455.599631 71.166169 -L 455.962123 67.440585 -L 453.267905 68.475218 -L 452.067664 65.349754 + <path clip-path="url(#pc5c1e84671)" d="M 362.756958 58.896341 +L 364.912333 58.068634 +L 362.701955 56.048359 +L 376.6441 54.997955 +L 365.582531 63.549473 +L 365.872525 60.569006 +L 363.71715 61.396712 +L 362.756958 58.896341 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 465.201075 66.241367 -L 465.872194 66.100176 -L 464.918693 64.899128 -L 472.053459 65.500579 -L 465.765838 68.925844 -L 466.154576 67.442415 -L 465.483456 67.583605 -L 465.201075 66.241367 + <path clip-path="url(#pc5c1e84671)" d="M 373.290266 59.609631 +L 373.827162 59.496678 +L 373.064361 58.53584 +L 378.772173 59.017001 +L 373.742076 61.757213 +L 374.053067 60.570469 +L 373.516171 60.683422 +L 373.290266 59.609631 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 478.404715 67.299685 -L 478.017516 67.687653 -L 479.180651 68.074082 -L 474.144759 70.792169 -L 476.852841 65.75089 -L 477.241579 66.913255 -L 477.628778 66.525287 -L 478.404715 67.299685 + <path clip-path="url(#pc5c1e84671)" d="M 383.879758 60.456285 +L 383.569999 60.76666 +L 384.500507 61.075803 +L 380.471793 63.250273 +L 382.638259 59.217249 +L 382.949249 60.147142 +L 383.259008 59.836767 +L 383.879758 60.456285 "/> - <path clip-path="url(#p9ae4ea3394)" d="M 491.582801 68.306895 -L 490.188392 69.198468 -L 493.365948 71.095713 -L 476.747137 75.828221 -L 488.016507 62.729259 -L 488.405245 66.40965 -L 489.799654 65.518077 -L 491.582801 68.306895 + <path clip-path="url(#pc5c1e84671)" d="M 394.448806 61.262054 +L 393.333279 61.975312 +L 395.875324 63.493108 +L 382.580275 67.279114 +L 391.595771 56.799945 +L 391.906761 59.744258 +L 393.022289 59.030999 +L 394.448806 61.262054 "/> </g> <g id="Barbs_1"> - <path clip-path="url(#p9ae4ea3394)" d="M 294.236773 184.871838 -L 269.749135 185.650027 -L 274.340568 185.504116 -L 272.654452 180.655225 -L 274.340568 185.504116 + <path clip-path="url(#pc5c1e84671)" d="M 236.16 150.646154 +L 211.672362 151.424343 +L 216.263794 151.278432 +L 214.577679 146.429541 +L 216.263794 151.278432 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 306.911254 184.871838 -L 282.41784 185.439859 -L 287.010355 185.333355 -L 285.365912 180.470173 -L 287.010355 185.333355 + <path clip-path="url(#pc5c1e84671)" d="M 246.326164 150.646154 +L 221.83275 151.214175 +L 226.425265 151.107671 +L 224.780822 146.244489 +L 226.425265 151.107671 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 319.585735 184.871838 -L 295.086459 185.060103 -L 299.680073 185.024803 -L 298.111215 180.136715 -L 299.680073 185.024803 + <path clip-path="url(#pc5c1e84671)" d="M 256.492329 150.646154 +L 231.993052 150.834419 +L 236.586666 150.799119 +L 235.017809 145.911031 +L 236.586666 150.799119 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 332.260216 181.196838 -L 331.124579 181.376705 -L 330.100105 181.8987 -L 329.287079 182.711727 -L 328.765083 183.7362 -L 328.585216 184.871838 -L 328.765083 186.007475 -L 329.287079 187.031949 -L 330.100105 187.844975 -L 331.124579 188.36697 -L 332.260216 188.546838 -L 333.395854 188.36697 -L 334.420327 187.844975 -L 335.233354 187.031949 -L 335.755349 186.007475 -L 335.935216 184.871838 -L 335.755349 183.7362 -L 335.233354 182.711727 -L 334.420327 181.8987 -L 333.395854 181.376705 -L 332.260216 181.196838 -L 332.260216 181.196838 -L 333.395854 181.376705 -L 334.420327 181.8987 -L 335.233354 182.711727 -L 335.755349 183.7362 -L 335.935216 184.871838 -L 335.755349 186.007475 -L 335.233354 187.031949 -L 334.420327 187.844975 -L 333.395854 188.36697 -L 332.260216 188.546838 -L 331.124579 188.36697 -L 330.100105 187.844975 -L 329.287079 187.031949 -L 328.765083 186.007475 -L 328.585216 184.871838 -L 328.765083 183.7362 -L 329.287079 182.711727 -L 330.100105 181.8987 -L 331.124579 181.376705 -L 332.260216 181.196838 + <path clip-path="url(#pc5c1e84671)" d="M 266.658493 146.971154 +L 265.522856 147.151021 +L 264.498382 147.673016 +L 263.685356 148.486043 +L 263.16336 149.510516 +L 262.983493 150.646154 +L 263.16336 151.781791 +L 263.685356 152.806265 +L 264.498382 153.619291 +L 265.522856 154.141287 +L 266.658493 154.321154 +L 267.79413 154.141287 +L 268.818604 153.619291 +L 269.63163 152.806265 +L 270.153626 151.781791 +L 270.333493 150.646154 +L 270.153626 149.510516 +L 269.63163 148.486043 +L 268.818604 147.673016 +L 267.79413 147.151021 +L 266.658493 146.971154 +L 266.658493 146.971154 +L 267.79413 147.151021 +L 268.818604 147.673016 +L 269.63163 148.486043 +L 270.153626 149.510516 +L 270.333493 150.646154 +L 270.153626 151.781791 +L 269.63163 152.806265 +L 268.818604 153.619291 +L 267.79413 154.141287 +L 266.658493 154.321154 +L 265.522856 154.141287 +L 264.498382 153.619291 +L 263.685356 152.806265 +L 263.16336 151.781791 +L 262.983493 150.646154 +L 263.16336 149.510516 +L 263.685356 148.486043 +L 264.498382 147.673016 +L 265.522856 147.151021 +L 266.658493 146.971154 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 344.934697 181.196838 -L 343.79906 181.376705 -L 342.774586 181.8987 -L 341.96156 182.711727 -L 341.439564 183.7362 -L 341.259697 184.871838 -L 341.439564 186.007475 -L 341.96156 187.031949 -L 342.774586 187.844975 -L 343.79906 188.36697 -L 344.934697 188.546838 -L 346.070334 188.36697 -L 347.094808 187.844975 -L 347.907834 187.031949 -L 348.42983 186.007475 -L 348.609697 184.871838 -L 348.42983 183.7362 -L 347.907834 182.711727 -L 347.094808 181.8987 -L 346.070334 181.376705 -L 344.934697 181.196838 -L 344.934697 181.196838 -L 346.070334 181.376705 -L 347.094808 181.8987 -L 347.907834 182.711727 -L 348.42983 183.7362 -L 348.609697 184.871838 -L 348.42983 186.007475 -L 347.907834 187.031949 -L 347.094808 187.844975 -L 346.070334 188.36697 -L 344.934697 188.546838 -L 343.79906 188.36697 -L 342.774586 187.844975 -L 341.96156 187.031949 -L 341.439564 186.007475 -L 341.259697 184.871838 -L 341.439564 183.7362 -L 341.96156 182.711727 -L 342.774586 181.8987 -L 343.79906 181.376705 -L 344.934697 181.196838 + <path clip-path="url(#pc5c1e84671)" d="M 276.824657 146.971154 +L 275.68902 147.151021 +L 274.664547 147.673016 +L 273.85152 148.486043 +L 273.329525 149.510516 +L 273.149657 150.646154 +L 273.329525 151.781791 +L 273.85152 152.806265 +L 274.664547 153.619291 +L 275.68902 154.141287 +L 276.824657 154.321154 +L 277.960295 154.141287 +L 278.984768 153.619291 +L 279.797795 152.806265 +L 280.31979 151.781791 +L 280.499657 150.646154 +L 280.31979 149.510516 +L 279.797795 148.486043 +L 278.984768 147.673016 +L 277.960295 147.151021 +L 276.824657 146.971154 +L 276.824657 146.971154 +L 277.960295 147.151021 +L 278.984768 147.673016 +L 279.797795 148.486043 +L 280.31979 149.510516 +L 280.499657 150.646154 +L 280.31979 151.781791 +L 279.797795 152.806265 +L 278.984768 153.619291 +L 277.960295 154.141287 +L 276.824657 154.321154 +L 275.68902 154.141287 +L 274.664547 153.619291 +L 273.85152 152.806265 +L 273.329525 151.781791 +L 273.149657 150.646154 +L 273.329525 149.510516 +L 273.85152 148.486043 +L 274.664547 147.673016 +L 275.68902 147.151021 +L 276.824657 146.971154 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 357.609178 181.196838 -L 356.47354 181.376705 -L 355.449067 181.8987 -L 354.63604 182.711727 -L 354.114045 183.7362 -L 353.934178 184.871838 -L 354.114045 186.007475 -L 354.63604 187.031949 -L 355.449067 187.844975 -L 356.47354 188.36697 -L 357.609178 188.546838 -L 358.744815 188.36697 -L 359.769289 187.844975 -L 360.582315 187.031949 -L 361.104311 186.007475 -L 361.284178 184.871838 -L 361.104311 183.7362 -L 360.582315 182.711727 -L 359.769289 181.8987 -L 358.744815 181.376705 -L 357.609178 181.196838 -L 357.609178 181.196838 -L 358.744815 181.376705 -L 359.769289 181.8987 -L 360.582315 182.711727 -L 361.104311 183.7362 -L 361.284178 184.871838 -L 361.104311 186.007475 -L 360.582315 187.031949 -L 359.769289 187.844975 -L 358.744815 188.36697 -L 357.609178 188.546838 -L 356.47354 188.36697 -L 355.449067 187.844975 -L 354.63604 187.031949 -L 354.114045 186.007475 -L 353.934178 184.871838 -L 354.114045 183.7362 -L 354.63604 182.711727 -L 355.449067 181.8987 -L 356.47354 181.376705 -L 357.609178 181.196838 + <path clip-path="url(#pc5c1e84671)" d="M 286.990822 146.971154 +L 285.855184 147.151021 +L 284.830711 147.673016 +L 284.017684 148.486043 +L 283.495689 149.510516 +L 283.315822 150.646154 +L 283.495689 151.781791 +L 284.017684 152.806265 +L 284.830711 153.619291 +L 285.855184 154.141287 +L 286.990822 154.321154 +L 288.126459 154.141287 +L 289.150933 153.619291 +L 289.963959 152.806265 +L 290.485954 151.781791 +L 290.665822 150.646154 +L 290.485954 149.510516 +L 289.963959 148.486043 +L 289.150933 147.673016 +L 288.126459 147.151021 +L 286.990822 146.971154 +L 286.990822 146.971154 +L 288.126459 147.151021 +L 289.150933 147.673016 +L 289.963959 148.486043 +L 290.485954 149.510516 +L 290.665822 150.646154 +L 290.485954 151.781791 +L 289.963959 152.806265 +L 289.150933 153.619291 +L 288.126459 154.141287 +L 286.990822 154.321154 +L 285.855184 154.141287 +L 284.830711 153.619291 +L 284.017684 152.806265 +L 283.495689 151.781791 +L 283.315822 150.646154 +L 283.495689 149.510516 +L 284.017684 148.486043 +L 284.830711 147.673016 +L 285.855184 147.151021 +L 286.990822 146.971154 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 370.283659 181.196838 -L 369.148021 181.376705 -L 368.123548 181.8987 -L 367.310521 182.711727 -L 366.788526 183.7362 -L 366.608659 184.871838 -L 366.788526 186.007475 -L 367.310521 187.031949 -L 368.123548 187.844975 -L 369.148021 188.36697 -L 370.283659 188.546838 -L 371.419296 188.36697 -L 372.44377 187.844975 -L 373.256796 187.031949 -L 373.778792 186.007475 -L 373.958659 184.871838 -L 373.778792 183.7362 -L 373.256796 182.711727 -L 372.44377 181.8987 -L 371.419296 181.376705 -L 370.283659 181.196838 -L 370.283659 181.196838 -L 371.419296 181.376705 -L 372.44377 181.8987 -L 373.256796 182.711727 -L 373.778792 183.7362 -L 373.958659 184.871838 -L 373.778792 186.007475 -L 373.256796 187.031949 -L 372.44377 187.844975 -L 371.419296 188.36697 -L 370.283659 188.546838 -L 369.148021 188.36697 -L 368.123548 187.844975 -L 367.310521 187.031949 -L 366.788526 186.007475 -L 366.608659 184.871838 -L 366.788526 183.7362 -L 367.310521 182.711727 -L 368.123548 181.8987 -L 369.148021 181.376705 -L 370.283659 181.196838 + <path clip-path="url(#pc5c1e84671)" d="M 297.156986 146.971154 +L 296.021349 147.151021 +L 294.996875 147.673016 +L 294.183849 148.486043 +L 293.661853 149.510516 +L 293.481986 150.646154 +L 293.661853 151.781791 +L 294.183849 152.806265 +L 294.996875 153.619291 +L 296.021349 154.141287 +L 297.156986 154.321154 +L 298.292624 154.141287 +L 299.317097 153.619291 +L 300.130124 152.806265 +L 300.652119 151.781791 +L 300.831986 150.646154 +L 300.652119 149.510516 +L 300.130124 148.486043 +L 299.317097 147.673016 +L 298.292624 147.151021 +L 297.156986 146.971154 +L 297.156986 146.971154 +L 298.292624 147.151021 +L 299.317097 147.673016 +L 300.130124 148.486043 +L 300.652119 149.510516 +L 300.831986 150.646154 +L 300.652119 151.781791 +L 300.130124 152.806265 +L 299.317097 153.619291 +L 298.292624 154.141287 +L 297.156986 154.321154 +L 296.021349 154.141287 +L 294.996875 153.619291 +L 294.183849 152.806265 +L 293.661853 151.781791 +L 293.481986 150.646154 +L 293.661853 149.510516 +L 294.183849 148.486043 +L 294.996875 147.673016 +L 296.021349 147.151021 +L 297.156986 146.971154 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 294.236773 165.211946 -L 270.768508 172.246895 -L 275.168808 170.927842 -L 272.295051 166.673873 -L 275.168808 170.927842 + <path clip-path="url(#pc5c1e84671)" d="M 236.16 135.562883 +L 212.691734 142.597832 +L 217.092034 141.278779 +L 214.218278 137.02481 +L 217.092034 141.278779 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 306.911254 165.211946 -L 283.479961 172.369073 -L 287.873328 171.027112 -L 284.977447 166.788174 -L 287.873328 171.027112 + <path clip-path="url(#pc5c1e84671)" d="M 246.326164 135.562883 +L 222.894871 142.72001 +L 227.288238 141.378049 +L 224.392357 137.13911 +L 227.288238 141.378049 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 319.585735 161.536946 -L 318.450098 161.716813 -L 317.425624 162.238808 -L 316.612598 163.051835 -L 316.090603 164.076308 -L 315.910735 165.211946 -L 316.090603 166.347583 -L 316.612598 167.372057 -L 317.425624 168.185083 -L 318.450098 168.707078 -L 319.585735 168.886946 -L 320.721373 168.707078 -L 321.745846 168.185083 -L 322.558873 167.372057 -L 323.080868 166.347583 -L 323.260735 165.211946 -L 323.080868 164.076308 -L 322.558873 163.051835 -L 321.745846 162.238808 -L 320.721373 161.716813 -L 319.585735 161.536946 -L 319.585735 161.536946 -L 320.721373 161.716813 -L 321.745846 162.238808 -L 322.558873 163.051835 -L 323.080868 164.076308 -L 323.260735 165.211946 -L 323.080868 166.347583 -L 322.558873 167.372057 -L 321.745846 168.185083 -L 320.721373 168.707078 -L 319.585735 168.886946 -L 318.450098 168.707078 -L 317.425624 168.185083 -L 316.612598 167.372057 -L 316.090603 166.347583 -L 315.910735 165.211946 -L 316.090603 164.076308 -L 316.612598 163.051835 -L 317.425624 162.238808 -L 318.450098 161.716813 -L 319.585735 161.536946 + <path clip-path="url(#pc5c1e84671)" d="M 256.492329 131.887883 +L 255.356691 132.06775 +L 254.332218 132.589745 +L 253.519191 133.402772 +L 252.997196 134.427245 +L 252.817329 135.562883 +L 252.997196 136.69852 +L 253.519191 137.722993 +L 254.332218 138.53602 +L 255.356691 139.058015 +L 256.492329 139.237883 +L 257.627966 139.058015 +L 258.652439 138.53602 +L 259.465466 137.722993 +L 259.987461 136.69852 +L 260.167329 135.562883 +L 259.987461 134.427245 +L 259.465466 133.402772 +L 258.652439 132.589745 +L 257.627966 132.06775 +L 256.492329 131.887883 +L 256.492329 131.887883 +L 257.627966 132.06775 +L 258.652439 132.589745 +L 259.465466 133.402772 +L 259.987461 134.427245 +L 260.167329 135.562883 +L 259.987461 136.69852 +L 259.465466 137.722993 +L 258.652439 138.53602 +L 257.627966 139.058015 +L 256.492329 139.237883 +L 255.356691 139.058015 +L 254.332218 138.53602 +L 253.519191 137.722993 +L 252.997196 136.69852 +L 252.817329 135.562883 +L 252.997196 134.427245 +L 253.519191 133.402772 +L 254.332218 132.589745 +L 255.356691 132.06775 +L 256.492329 131.887883 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 332.260216 161.536946 -L 331.124579 161.716813 -L 330.100105 162.238808 -L 329.287079 163.051835 -L 328.765083 164.076308 -L 328.585216 165.211946 -L 328.765083 166.347583 -L 329.287079 167.372057 -L 330.100105 168.185083 -L 331.124579 168.707078 -L 332.260216 168.886946 -L 333.395854 168.707078 -L 334.420327 168.185083 -L 335.233354 167.372057 -L 335.755349 166.347583 -L 335.935216 165.211946 -L 335.755349 164.076308 -L 335.233354 163.051835 -L 334.420327 162.238808 -L 333.395854 161.716813 -L 332.260216 161.536946 -L 332.260216 161.536946 -L 333.395854 161.716813 -L 334.420327 162.238808 -L 335.233354 163.051835 -L 335.755349 164.076308 -L 335.935216 165.211946 -L 335.755349 166.347583 -L 335.233354 167.372057 -L 334.420327 168.185083 -L 333.395854 168.707078 -L 332.260216 168.886946 -L 331.124579 168.707078 -L 330.100105 168.185083 -L 329.287079 167.372057 -L 328.765083 166.347583 -L 328.585216 165.211946 -L 328.765083 164.076308 -L 329.287079 163.051835 -L 330.100105 162.238808 -L 331.124579 161.716813 -L 332.260216 161.536946 + <path clip-path="url(#pc5c1e84671)" d="M 266.658493 131.887883 +L 265.522856 132.06775 +L 264.498382 132.589745 +L 263.685356 133.402772 +L 263.16336 134.427245 +L 262.983493 135.562883 +L 263.16336 136.69852 +L 263.685356 137.722993 +L 264.498382 138.53602 +L 265.522856 139.058015 +L 266.658493 139.237883 +L 267.79413 139.058015 +L 268.818604 138.53602 +L 269.63163 137.722993 +L 270.153626 136.69852 +L 270.333493 135.562883 +L 270.153626 134.427245 +L 269.63163 133.402772 +L 268.818604 132.589745 +L 267.79413 132.06775 +L 266.658493 131.887883 +L 266.658493 131.887883 +L 267.79413 132.06775 +L 268.818604 132.589745 +L 269.63163 133.402772 +L 270.153626 134.427245 +L 270.333493 135.562883 +L 270.153626 136.69852 +L 269.63163 137.722993 +L 268.818604 138.53602 +L 267.79413 139.058015 +L 266.658493 139.237883 +L 265.522856 139.058015 +L 264.498382 138.53602 +L 263.685356 137.722993 +L 263.16336 136.69852 +L 262.983493 135.562883 +L 263.16336 134.427245 +L 263.685356 133.402772 +L 264.498382 132.589745 +L 265.522856 132.06775 +L 266.658493 131.887883 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 344.934697 161.536946 -L 343.79906 161.716813 -L 342.774586 162.238808 -L 341.96156 163.051835 -L 341.439564 164.076308 -L 341.259697 165.211946 -L 341.439564 166.347583 -L 341.96156 167.372057 -L 342.774586 168.185083 -L 343.79906 168.707078 -L 344.934697 168.886946 -L 346.070334 168.707078 -L 347.094808 168.185083 -L 347.907834 167.372057 -L 348.42983 166.347583 -L 348.609697 165.211946 -L 348.42983 164.076308 -L 347.907834 163.051835 -L 347.094808 162.238808 -L 346.070334 161.716813 -L 344.934697 161.536946 -L 344.934697 161.536946 -L 346.070334 161.716813 -L 347.094808 162.238808 -L 347.907834 163.051835 -L 348.42983 164.076308 -L 348.609697 165.211946 -L 348.42983 166.347583 -L 347.907834 167.372057 -L 347.094808 168.185083 -L 346.070334 168.707078 -L 344.934697 168.886946 -L 343.79906 168.707078 -L 342.774586 168.185083 -L 341.96156 167.372057 -L 341.439564 166.347583 -L 341.259697 165.211946 -L 341.439564 164.076308 -L 341.96156 163.051835 -L 342.774586 162.238808 -L 343.79906 161.716813 -L 344.934697 161.536946 + <path clip-path="url(#pc5c1e84671)" d="M 276.824657 131.887883 +L 275.68902 132.06775 +L 274.664547 132.589745 +L 273.85152 133.402772 +L 273.329525 134.427245 +L 273.149657 135.562883 +L 273.329525 136.69852 +L 273.85152 137.722993 +L 274.664547 138.53602 +L 275.68902 139.058015 +L 276.824657 139.237883 +L 277.960295 139.058015 +L 278.984768 138.53602 +L 279.797795 137.722993 +L 280.31979 136.69852 +L 280.499657 135.562883 +L 280.31979 134.427245 +L 279.797795 133.402772 +L 278.984768 132.589745 +L 277.960295 132.06775 +L 276.824657 131.887883 +L 276.824657 131.887883 +L 277.960295 132.06775 +L 278.984768 132.589745 +L 279.797795 133.402772 +L 280.31979 134.427245 +L 280.499657 135.562883 +L 280.31979 136.69852 +L 279.797795 137.722993 +L 278.984768 138.53602 +L 277.960295 139.058015 +L 276.824657 139.237883 +L 275.68902 139.058015 +L 274.664547 138.53602 +L 273.85152 137.722993 +L 273.329525 136.69852 +L 273.149657 135.562883 +L 273.329525 134.427245 +L 273.85152 133.402772 +L 274.664547 132.589745 +L 275.68902 132.06775 +L 276.824657 131.887883 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 357.609178 161.536946 -L 356.47354 161.716813 -L 355.449067 162.238808 -L 354.63604 163.051835 -L 354.114045 164.076308 -L 353.934178 165.211946 -L 354.114045 166.347583 -L 354.63604 167.372057 -L 355.449067 168.185083 -L 356.47354 168.707078 -L 357.609178 168.886946 -L 358.744815 168.707078 -L 359.769289 168.185083 -L 360.582315 167.372057 -L 361.104311 166.347583 -L 361.284178 165.211946 -L 361.104311 164.076308 -L 360.582315 163.051835 -L 359.769289 162.238808 -L 358.744815 161.716813 -L 357.609178 161.536946 -L 357.609178 161.536946 -L 358.744815 161.716813 -L 359.769289 162.238808 -L 360.582315 163.051835 -L 361.104311 164.076308 -L 361.284178 165.211946 -L 361.104311 166.347583 -L 360.582315 167.372057 -L 359.769289 168.185083 -L 358.744815 168.707078 -L 357.609178 168.886946 -L 356.47354 168.707078 -L 355.449067 168.185083 -L 354.63604 167.372057 -L 354.114045 166.347583 -L 353.934178 165.211946 -L 354.114045 164.076308 -L 354.63604 163.051835 -L 355.449067 162.238808 -L 356.47354 161.716813 -L 357.609178 161.536946 + <path clip-path="url(#pc5c1e84671)" d="M 286.990822 131.887883 +L 285.855184 132.06775 +L 284.830711 132.589745 +L 284.017684 133.402772 +L 283.495689 134.427245 +L 283.315822 135.562883 +L 283.495689 136.69852 +L 284.017684 137.722993 +L 284.830711 138.53602 +L 285.855184 139.058015 +L 286.990822 139.237883 +L 288.126459 139.058015 +L 289.150933 138.53602 +L 289.963959 137.722993 +L 290.485954 136.69852 +L 290.665822 135.562883 +L 290.485954 134.427245 +L 289.963959 133.402772 +L 289.150933 132.589745 +L 288.126459 132.06775 +L 286.990822 131.887883 +L 286.990822 131.887883 +L 288.126459 132.06775 +L 289.150933 132.589745 +L 289.963959 133.402772 +L 290.485954 134.427245 +L 290.665822 135.562883 +L 290.485954 136.69852 +L 289.963959 137.722993 +L 289.150933 138.53602 +L 288.126459 139.058015 +L 286.990822 139.237883 +L 285.855184 139.058015 +L 284.830711 138.53602 +L 284.017684 137.722993 +L 283.495689 136.69852 +L 283.315822 135.562883 +L 283.495689 134.427245 +L 284.017684 133.402772 +L 284.830711 132.589745 +L 285.855184 132.06775 +L 286.990822 131.887883 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 370.283659 161.536946 -L 369.148021 161.716813 -L 368.123548 162.238808 -L 367.310521 163.051835 -L 366.788526 164.076308 -L 366.608659 165.211946 -L 366.788526 166.347583 -L 367.310521 167.372057 -L 368.123548 168.185083 -L 369.148021 168.707078 -L 370.283659 168.886946 -L 371.419296 168.707078 -L 372.44377 168.185083 -L 373.256796 167.372057 -L 373.778792 166.347583 -L 373.958659 165.211946 -L 373.778792 164.076308 -L 373.256796 163.051835 -L 372.44377 162.238808 -L 371.419296 161.716813 -L 370.283659 161.536946 -L 370.283659 161.536946 -L 371.419296 161.716813 -L 372.44377 162.238808 -L 373.256796 163.051835 -L 373.778792 164.076308 -L 373.958659 165.211946 -L 373.778792 166.347583 -L 373.256796 167.372057 -L 372.44377 168.185083 -L 371.419296 168.707078 -L 370.283659 168.886946 -L 369.148021 168.707078 -L 368.123548 168.185083 -L 367.310521 167.372057 -L 366.788526 166.347583 -L 366.608659 165.211946 -L 366.788526 164.076308 -L 367.310521 163.051835 -L 368.123548 162.238808 -L 369.148021 161.716813 -L 370.283659 161.536946 + <path clip-path="url(#pc5c1e84671)" d="M 297.156986 131.887883 +L 296.021349 132.06775 +L 294.996875 132.589745 +L 294.183849 133.402772 +L 293.661853 134.427245 +L 293.481986 135.562883 +L 293.661853 136.69852 +L 294.183849 137.722993 +L 294.996875 138.53602 +L 296.021349 139.058015 +L 297.156986 139.237883 +L 298.292624 139.058015 +L 299.317097 138.53602 +L 300.130124 137.722993 +L 300.652119 136.69852 +L 300.831986 135.562883 +L 300.652119 134.427245 +L 300.130124 133.402772 +L 299.317097 132.589745 +L 298.292624 132.06775 +L 297.156986 131.887883 +L 297.156986 131.887883 +L 298.292624 132.06775 +L 299.317097 132.589745 +L 300.130124 133.402772 +L 300.652119 134.427245 +L 300.831986 135.562883 +L 300.652119 136.69852 +L 300.130124 137.722993 +L 299.317097 138.53602 +L 298.292624 139.058015 +L 297.156986 139.237883 +L 296.021349 139.058015 +L 294.996875 138.53602 +L 294.183849 137.722993 +L 293.661853 136.69852 +L 293.481986 135.562883 +L 293.661853 134.427245 +L 294.183849 133.402772 +L 294.996875 132.589745 +L 296.021349 132.06775 +L 297.156986 131.887883 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 294.236773 145.552054 -L 280.486703 165.829764 -L 283.064841 162.027694 -L 278.149919 160.545036 -L 283.064841 162.027694 + <path clip-path="url(#pc5c1e84671)" d="M 236.16 120.479611 +L 222.409929 140.757322 +L 224.988067 136.955251 +L 220.073146 135.472594 +L 224.988067 136.955251 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 306.911254 145.552054 -L 294.869146 166.888352 -L 297.127041 162.887796 -L 292.10715 161.812893 -L 297.127041 162.887796 + <path clip-path="url(#pc5c1e84671)" d="M 246.326164 120.479611 +L 234.284056 141.81591 +L 236.541951 137.815354 +L 231.52206 136.740451 +L 236.541951 137.815354 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 319.585735 141.877054 -L 318.450098 142.056921 -L 317.425624 142.578916 -L 316.612598 143.391943 -L 316.090603 144.416416 -L 315.910735 145.552054 -L 316.090603 146.687691 -L 316.612598 147.712165 -L 317.425624 148.525191 -L 318.450098 149.047186 -L 319.585735 149.227054 -L 320.721373 149.047186 -L 321.745846 148.525191 -L 322.558873 147.712165 -L 323.080868 146.687691 -L 323.260735 145.552054 -L 323.080868 144.416416 -L 322.558873 143.391943 -L 321.745846 142.578916 -L 320.721373 142.056921 -L 319.585735 141.877054 -L 319.585735 141.877054 -L 320.721373 142.056921 -L 321.745846 142.578916 -L 322.558873 143.391943 -L 323.080868 144.416416 -L 323.260735 145.552054 -L 323.080868 146.687691 -L 322.558873 147.712165 -L 321.745846 148.525191 -L 320.721373 149.047186 -L 319.585735 149.227054 -L 318.450098 149.047186 -L 317.425624 148.525191 -L 316.612598 147.712165 -L 316.090603 146.687691 -L 315.910735 145.552054 -L 316.090603 144.416416 -L 316.612598 143.391943 -L 317.425624 142.578916 -L 318.450098 142.056921 -L 319.585735 141.877054 + <path clip-path="url(#pc5c1e84671)" d="M 256.492329 116.804611 +L 255.356691 116.984479 +L 254.332218 117.506474 +L 253.519191 118.319501 +L 252.997196 119.343974 +L 252.817329 120.479611 +L 252.997196 121.615249 +L 253.519191 122.639722 +L 254.332218 123.452749 +L 255.356691 123.974744 +L 256.492329 124.154611 +L 257.627966 123.974744 +L 258.652439 123.452749 +L 259.465466 122.639722 +L 259.987461 121.615249 +L 260.167329 120.479611 +L 259.987461 119.343974 +L 259.465466 118.319501 +L 258.652439 117.506474 +L 257.627966 116.984479 +L 256.492329 116.804611 +L 256.492329 116.804611 +L 257.627966 116.984479 +L 258.652439 117.506474 +L 259.465466 118.319501 +L 259.987461 119.343974 +L 260.167329 120.479611 +L 259.987461 121.615249 +L 259.465466 122.639722 +L 258.652439 123.452749 +L 257.627966 123.974744 +L 256.492329 124.154611 +L 255.356691 123.974744 +L 254.332218 123.452749 +L 253.519191 122.639722 +L 252.997196 121.615249 +L 252.817329 120.479611 +L 252.997196 119.343974 +L 253.519191 118.319501 +L 254.332218 117.506474 +L 255.356691 116.984479 +L 256.492329 116.804611 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 332.260216 141.877054 -L 331.124579 142.056921 -L 330.100105 142.578916 -L 329.287079 143.391943 -L 328.765083 144.416416 -L 328.585216 145.552054 -L 328.765083 146.687691 -L 329.287079 147.712165 -L 330.100105 148.525191 -L 331.124579 149.047186 -L 332.260216 149.227054 -L 333.395854 149.047186 -L 334.420327 148.525191 -L 335.233354 147.712165 -L 335.755349 146.687691 -L 335.935216 145.552054 -L 335.755349 144.416416 -L 335.233354 143.391943 -L 334.420327 142.578916 -L 333.395854 142.056921 -L 332.260216 141.877054 -L 332.260216 141.877054 -L 333.395854 142.056921 -L 334.420327 142.578916 -L 335.233354 143.391943 -L 335.755349 144.416416 -L 335.935216 145.552054 -L 335.755349 146.687691 -L 335.233354 147.712165 -L 334.420327 148.525191 -L 333.395854 149.047186 -L 332.260216 149.227054 -L 331.124579 149.047186 -L 330.100105 148.525191 -L 329.287079 147.712165 -L 328.765083 146.687691 -L 328.585216 145.552054 -L 328.765083 144.416416 -L 329.287079 143.391943 -L 330.100105 142.578916 -L 331.124579 142.056921 -L 332.260216 141.877054 + <path clip-path="url(#pc5c1e84671)" d="M 266.658493 116.804611 +L 265.522856 116.984479 +L 264.498382 117.506474 +L 263.685356 118.319501 +L 263.16336 119.343974 +L 262.983493 120.479611 +L 263.16336 121.615249 +L 263.685356 122.639722 +L 264.498382 123.452749 +L 265.522856 123.974744 +L 266.658493 124.154611 +L 267.79413 123.974744 +L 268.818604 123.452749 +L 269.63163 122.639722 +L 270.153626 121.615249 +L 270.333493 120.479611 +L 270.153626 119.343974 +L 269.63163 118.319501 +L 268.818604 117.506474 +L 267.79413 116.984479 +L 266.658493 116.804611 +L 266.658493 116.804611 +L 267.79413 116.984479 +L 268.818604 117.506474 +L 269.63163 118.319501 +L 270.153626 119.343974 +L 270.333493 120.479611 +L 270.153626 121.615249 +L 269.63163 122.639722 +L 268.818604 123.452749 +L 267.79413 123.974744 +L 266.658493 124.154611 +L 265.522856 123.974744 +L 264.498382 123.452749 +L 263.685356 122.639722 +L 263.16336 121.615249 +L 262.983493 120.479611 +L 263.16336 119.343974 +L 263.685356 118.319501 +L 264.498382 117.506474 +L 265.522856 116.984479 +L 266.658493 116.804611 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 344.934697 141.877054 -L 343.79906 142.056921 -L 342.774586 142.578916 -L 341.96156 143.391943 -L 341.439564 144.416416 -L 341.259697 145.552054 -L 341.439564 146.687691 -L 341.96156 147.712165 -L 342.774586 148.525191 -L 343.79906 149.047186 -L 344.934697 149.227054 -L 346.070334 149.047186 -L 347.094808 148.525191 -L 347.907834 147.712165 -L 348.42983 146.687691 -L 348.609697 145.552054 -L 348.42983 144.416416 -L 347.907834 143.391943 -L 347.094808 142.578916 -L 346.070334 142.056921 -L 344.934697 141.877054 -L 344.934697 141.877054 -L 346.070334 142.056921 -L 347.094808 142.578916 -L 347.907834 143.391943 -L 348.42983 144.416416 -L 348.609697 145.552054 -L 348.42983 146.687691 -L 347.907834 147.712165 -L 347.094808 148.525191 -L 346.070334 149.047186 -L 344.934697 149.227054 -L 343.79906 149.047186 -L 342.774586 148.525191 -L 341.96156 147.712165 -L 341.439564 146.687691 -L 341.259697 145.552054 -L 341.439564 144.416416 -L 341.96156 143.391943 -L 342.774586 142.578916 -L 343.79906 142.056921 -L 344.934697 141.877054 + <path clip-path="url(#pc5c1e84671)" d="M 276.824657 116.804611 +L 275.68902 116.984479 +L 274.664547 117.506474 +L 273.85152 118.319501 +L 273.329525 119.343974 +L 273.149657 120.479611 +L 273.329525 121.615249 +L 273.85152 122.639722 +L 274.664547 123.452749 +L 275.68902 123.974744 +L 276.824657 124.154611 +L 277.960295 123.974744 +L 278.984768 123.452749 +L 279.797795 122.639722 +L 280.31979 121.615249 +L 280.499657 120.479611 +L 280.31979 119.343974 +L 279.797795 118.319501 +L 278.984768 117.506474 +L 277.960295 116.984479 +L 276.824657 116.804611 +L 276.824657 116.804611 +L 277.960295 116.984479 +L 278.984768 117.506474 +L 279.797795 118.319501 +L 280.31979 119.343974 +L 280.499657 120.479611 +L 280.31979 121.615249 +L 279.797795 122.639722 +L 278.984768 123.452749 +L 277.960295 123.974744 +L 276.824657 124.154611 +L 275.68902 123.974744 +L 274.664547 123.452749 +L 273.85152 122.639722 +L 273.329525 121.615249 +L 273.149657 120.479611 +L 273.329525 119.343974 +L 273.85152 118.319501 +L 274.664547 117.506474 +L 275.68902 116.984479 +L 276.824657 116.804611 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 357.609178 141.877054 -L 356.47354 142.056921 -L 355.449067 142.578916 -L 354.63604 143.391943 -L 354.114045 144.416416 -L 353.934178 145.552054 -L 354.114045 146.687691 -L 354.63604 147.712165 -L 355.449067 148.525191 -L 356.47354 149.047186 -L 357.609178 149.227054 -L 358.744815 149.047186 -L 359.769289 148.525191 -L 360.582315 147.712165 -L 361.104311 146.687691 -L 361.284178 145.552054 -L 361.104311 144.416416 -L 360.582315 143.391943 -L 359.769289 142.578916 -L 358.744815 142.056921 -L 357.609178 141.877054 -L 357.609178 141.877054 -L 358.744815 142.056921 -L 359.769289 142.578916 -L 360.582315 143.391943 -L 361.104311 144.416416 -L 361.284178 145.552054 -L 361.104311 146.687691 -L 360.582315 147.712165 -L 359.769289 148.525191 -L 358.744815 149.047186 -L 357.609178 149.227054 -L 356.47354 149.047186 -L 355.449067 148.525191 -L 354.63604 147.712165 -L 354.114045 146.687691 -L 353.934178 145.552054 -L 354.114045 144.416416 -L 354.63604 143.391943 -L 355.449067 142.578916 -L 356.47354 142.056921 -L 357.609178 141.877054 + <path clip-path="url(#pc5c1e84671)" d="M 286.990822 116.804611 +L 285.855184 116.984479 +L 284.830711 117.506474 +L 284.017684 118.319501 +L 283.495689 119.343974 +L 283.315822 120.479611 +L 283.495689 121.615249 +L 284.017684 122.639722 +L 284.830711 123.452749 +L 285.855184 123.974744 +L 286.990822 124.154611 +L 288.126459 123.974744 +L 289.150933 123.452749 +L 289.963959 122.639722 +L 290.485954 121.615249 +L 290.665822 120.479611 +L 290.485954 119.343974 +L 289.963959 118.319501 +L 289.150933 117.506474 +L 288.126459 116.984479 +L 286.990822 116.804611 +L 286.990822 116.804611 +L 288.126459 116.984479 +L 289.150933 117.506474 +L 289.963959 118.319501 +L 290.485954 119.343974 +L 290.665822 120.479611 +L 290.485954 121.615249 +L 289.963959 122.639722 +L 289.150933 123.452749 +L 288.126459 123.974744 +L 286.990822 124.154611 +L 285.855184 123.974744 +L 284.830711 123.452749 +L 284.017684 122.639722 +L 283.495689 121.615249 +L 283.315822 120.479611 +L 283.495689 119.343974 +L 284.017684 118.319501 +L 284.830711 117.506474 +L 285.855184 116.984479 +L 286.990822 116.804611 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 370.283659 141.877054 -L 369.148021 142.056921 -L 368.123548 142.578916 -L 367.310521 143.391943 -L 366.788526 144.416416 -L 366.608659 145.552054 -L 366.788526 146.687691 -L 367.310521 147.712165 -L 368.123548 148.525191 -L 369.148021 149.047186 -L 370.283659 149.227054 -L 371.419296 149.047186 -L 372.44377 148.525191 -L 373.256796 147.712165 -L 373.778792 146.687691 -L 373.958659 145.552054 -L 373.778792 144.416416 -L 373.256796 143.391943 -L 372.44377 142.578916 -L 371.419296 142.056921 -L 370.283659 141.877054 -L 370.283659 141.877054 -L 371.419296 142.056921 -L 372.44377 142.578916 -L 373.256796 143.391943 -L 373.778792 144.416416 -L 373.958659 145.552054 -L 373.778792 146.687691 -L 373.256796 147.712165 -L 372.44377 148.525191 -L 371.419296 149.047186 -L 370.283659 149.227054 -L 369.148021 149.047186 -L 368.123548 148.525191 -L 367.310521 147.712165 -L 366.788526 146.687691 -L 366.608659 145.552054 -L 366.788526 144.416416 -L 367.310521 143.391943 -L 368.123548 142.578916 -L 369.148021 142.056921 -L 370.283659 141.877054 + <path clip-path="url(#pc5c1e84671)" d="M 297.156986 116.804611 +L 296.021349 116.984479 +L 294.996875 117.506474 +L 294.183849 118.319501 +L 293.661853 119.343974 +L 293.481986 120.479611 +L 293.661853 121.615249 +L 294.183849 122.639722 +L 294.996875 123.452749 +L 296.021349 123.974744 +L 297.156986 124.154611 +L 298.292624 123.974744 +L 299.317097 123.452749 +L 300.130124 122.639722 +L 300.652119 121.615249 +L 300.831986 120.479611 +L 300.652119 119.343974 +L 300.130124 118.319501 +L 299.317097 117.506474 +L 298.292624 116.984479 +L 297.156986 116.804611 +L 297.156986 116.804611 +L 298.292624 116.984479 +L 299.317097 117.506474 +L 300.130124 118.319501 +L 300.652119 119.343974 +L 300.831986 120.479611 +L 300.652119 121.615249 +L 300.130124 122.639722 +L 299.317097 123.452749 +L 298.292624 123.974744 +L 297.156986 124.154611 +L 296.021349 123.974744 +L 294.996875 123.452749 +L 294.183849 122.639722 +L 293.661853 121.615249 +L 293.481986 120.479611 +L 293.661853 119.343974 +L 294.183849 118.319501 +L 294.996875 117.506474 +L 296.021349 116.984479 +L 297.156986 116.804611 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 294.236773 125.892162 -L 287.954482 149.573015 -L 289.132412 145.132855 -L 284.003598 145.35645 -L 289.132412 145.132855 + <path clip-path="url(#pc5c1e84671)" d="M 236.16 105.39634 +L 229.877709 129.077193 +L 231.055638 124.637033 +L 225.926824 124.860629 +L 231.055638 124.637033 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 306.911254 125.892162 -L 302.25189 149.945027 -L 303.125521 145.435115 -L 298.023738 146.006546 -L 303.125521 145.435115 + <path clip-path="url(#pc5c1e84671)" d="M 246.326164 105.39634 +L 241.6668 129.449205 +L 242.540431 124.939293 +L 237.438648 125.510724 +L 242.540431 124.939293 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 319.585735 125.892162 -L 317.794259 150.326576 -L 318.130161 145.745124 -L 313.131311 146.913979 -L 318.130161 145.745124 + <path clip-path="url(#pc5c1e84671)" d="M 256.492329 105.39634 +L 254.700853 129.830755 +L 255.036754 125.249302 +L 250.037904 126.418158 +L 255.036754 125.249302 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 332.260216 122.217162 -L 331.124579 122.397029 -L 330.100105 122.919024 -L 329.287079 123.732051 -L 328.765083 124.756524 -L 328.585216 125.892162 -L 328.765083 127.027799 -L 329.287079 128.052273 -L 330.100105 128.865299 -L 331.124579 129.387294 -L 332.260216 129.567162 -L 333.395854 129.387294 -L 334.420327 128.865299 -L 335.233354 128.052273 -L 335.755349 127.027799 -L 335.935216 125.892162 -L 335.755349 124.756524 -L 335.233354 123.732051 -L 334.420327 122.919024 -L 333.395854 122.397029 -L 332.260216 122.217162 -L 332.260216 122.217162 -L 333.395854 122.397029 -L 334.420327 122.919024 -L 335.233354 123.732051 -L 335.755349 124.756524 -L 335.935216 125.892162 -L 335.755349 127.027799 -L 335.233354 128.052273 -L 334.420327 128.865299 -L 333.395854 129.387294 -L 332.260216 129.567162 -L 331.124579 129.387294 -L 330.100105 128.865299 -L 329.287079 128.052273 -L 328.765083 127.027799 -L 328.585216 125.892162 -L 328.765083 124.756524 -L 329.287079 123.732051 -L 330.100105 122.919024 -L 331.124579 122.397029 -L 332.260216 122.217162 + <path clip-path="url(#pc5c1e84671)" d="M 266.658493 101.72134 +L 265.522856 101.901207 +L 264.498382 102.423203 +L 263.685356 103.236229 +L 263.16336 104.260703 +L 262.983493 105.39634 +L 263.16336 106.531978 +L 263.685356 107.556451 +L 264.498382 108.369478 +L 265.522856 108.891473 +L 266.658493 109.07134 +L 267.79413 108.891473 +L 268.818604 108.369478 +L 269.63163 107.556451 +L 270.153626 106.531978 +L 270.333493 105.39634 +L 270.153626 104.260703 +L 269.63163 103.236229 +L 268.818604 102.423203 +L 267.79413 101.901207 +L 266.658493 101.72134 +L 266.658493 101.72134 +L 267.79413 101.901207 +L 268.818604 102.423203 +L 269.63163 103.236229 +L 270.153626 104.260703 +L 270.333493 105.39634 +L 270.153626 106.531978 +L 269.63163 107.556451 +L 268.818604 108.369478 +L 267.79413 108.891473 +L 266.658493 109.07134 +L 265.522856 108.891473 +L 264.498382 108.369478 +L 263.685356 107.556451 +L 263.16336 106.531978 +L 262.983493 105.39634 +L 263.16336 104.260703 +L 263.685356 103.236229 +L 264.498382 102.423203 +L 265.522856 101.901207 +L 266.658493 101.72134 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 344.934697 122.217162 -L 343.79906 122.397029 -L 342.774586 122.919024 -L 341.96156 123.732051 -L 341.439564 124.756524 -L 341.259697 125.892162 -L 341.439564 127.027799 -L 341.96156 128.052273 -L 342.774586 128.865299 -L 343.79906 129.387294 -L 344.934697 129.567162 -L 346.070334 129.387294 -L 347.094808 128.865299 -L 347.907834 128.052273 -L 348.42983 127.027799 -L 348.609697 125.892162 -L 348.42983 124.756524 -L 347.907834 123.732051 -L 347.094808 122.919024 -L 346.070334 122.397029 -L 344.934697 122.217162 -L 344.934697 122.217162 -L 346.070334 122.397029 -L 347.094808 122.919024 -L 347.907834 123.732051 -L 348.42983 124.756524 -L 348.609697 125.892162 -L 348.42983 127.027799 -L 347.907834 128.052273 -L 347.094808 128.865299 -L 346.070334 129.387294 -L 344.934697 129.567162 -L 343.79906 129.387294 -L 342.774586 128.865299 -L 341.96156 128.052273 -L 341.439564 127.027799 -L 341.259697 125.892162 -L 341.439564 124.756524 -L 341.96156 123.732051 -L 342.774586 122.919024 -L 343.79906 122.397029 -L 344.934697 122.217162 + <path clip-path="url(#pc5c1e84671)" d="M 276.824657 101.72134 +L 275.68902 101.901207 +L 274.664547 102.423203 +L 273.85152 103.236229 +L 273.329525 104.260703 +L 273.149657 105.39634 +L 273.329525 106.531978 +L 273.85152 107.556451 +L 274.664547 108.369478 +L 275.68902 108.891473 +L 276.824657 109.07134 +L 277.960295 108.891473 +L 278.984768 108.369478 +L 279.797795 107.556451 +L 280.31979 106.531978 +L 280.499657 105.39634 +L 280.31979 104.260703 +L 279.797795 103.236229 +L 278.984768 102.423203 +L 277.960295 101.901207 +L 276.824657 101.72134 +L 276.824657 101.72134 +L 277.960295 101.901207 +L 278.984768 102.423203 +L 279.797795 103.236229 +L 280.31979 104.260703 +L 280.499657 105.39634 +L 280.31979 106.531978 +L 279.797795 107.556451 +L 278.984768 108.369478 +L 277.960295 108.891473 +L 276.824657 109.07134 +L 275.68902 108.891473 +L 274.664547 108.369478 +L 273.85152 107.556451 +L 273.329525 106.531978 +L 273.149657 105.39634 +L 273.329525 104.260703 +L 273.85152 103.236229 +L 274.664547 102.423203 +L 275.68902 101.901207 +L 276.824657 101.72134 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 357.609178 122.217162 -L 356.47354 122.397029 -L 355.449067 122.919024 -L 354.63604 123.732051 -L 354.114045 124.756524 -L 353.934178 125.892162 -L 354.114045 127.027799 -L 354.63604 128.052273 -L 355.449067 128.865299 -L 356.47354 129.387294 -L 357.609178 129.567162 -L 358.744815 129.387294 -L 359.769289 128.865299 -L 360.582315 128.052273 -L 361.104311 127.027799 -L 361.284178 125.892162 -L 361.104311 124.756524 -L 360.582315 123.732051 -L 359.769289 122.919024 -L 358.744815 122.397029 -L 357.609178 122.217162 -L 357.609178 122.217162 -L 358.744815 122.397029 -L 359.769289 122.919024 -L 360.582315 123.732051 -L 361.104311 124.756524 -L 361.284178 125.892162 -L 361.104311 127.027799 -L 360.582315 128.052273 -L 359.769289 128.865299 -L 358.744815 129.387294 -L 357.609178 129.567162 -L 356.47354 129.387294 -L 355.449067 128.865299 -L 354.63604 128.052273 -L 354.114045 127.027799 -L 353.934178 125.892162 -L 354.114045 124.756524 -L 354.63604 123.732051 -L 355.449067 122.919024 -L 356.47354 122.397029 -L 357.609178 122.217162 + <path clip-path="url(#pc5c1e84671)" d="M 286.990822 101.72134 +L 285.855184 101.901207 +L 284.830711 102.423203 +L 284.017684 103.236229 +L 283.495689 104.260703 +L 283.315822 105.39634 +L 283.495689 106.531978 +L 284.017684 107.556451 +L 284.830711 108.369478 +L 285.855184 108.891473 +L 286.990822 109.07134 +L 288.126459 108.891473 +L 289.150933 108.369478 +L 289.963959 107.556451 +L 290.485954 106.531978 +L 290.665822 105.39634 +L 290.485954 104.260703 +L 289.963959 103.236229 +L 289.150933 102.423203 +L 288.126459 101.901207 +L 286.990822 101.72134 +L 286.990822 101.72134 +L 288.126459 101.901207 +L 289.150933 102.423203 +L 289.963959 103.236229 +L 290.485954 104.260703 +L 290.665822 105.39634 +L 290.485954 106.531978 +L 289.963959 107.556451 +L 289.150933 108.369478 +L 288.126459 108.891473 +L 286.990822 109.07134 +L 285.855184 108.891473 +L 284.830711 108.369478 +L 284.017684 107.556451 +L 283.495689 106.531978 +L 283.315822 105.39634 +L 283.495689 104.260703 +L 284.017684 103.236229 +L 284.830711 102.423203 +L 285.855184 101.901207 +L 286.990822 101.72134 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 370.283659 125.892162 -L 345.854016 127.747579 -L 350.434574 127.399689 -L 348.536638 122.629724 -L 350.434574 127.399689 + <path clip-path="url(#pc5c1e84671)" d="M 297.156986 105.39634 +L 272.727344 107.251758 +L 277.307902 106.903867 +L 275.409966 102.133902 +L 277.307902 106.903867 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 294.236773 106.23227 -L 287.169229 129.69074 -L 288.494394 125.292277 -L 283.360978 125.344922 -L 288.494394 125.292277 + <path clip-path="url(#pc5c1e84671)" d="M 236.16 90.313069 +L 229.092456 113.771539 +L 230.41762 109.373076 +L 225.284205 109.425721 +L 230.41762 109.373076 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 306.911254 106.23227 -L 301.54182 130.136646 -L 302.548589 125.654575 -L 297.432124 126.074712 -L 302.548589 125.654575 + <path clip-path="url(#pc5c1e84671)" d="M 246.326164 90.313069 +L 240.95673 114.217445 +L 241.963499 109.735374 +L 236.847034 110.155511 +L 241.963499 109.735374 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 319.585735 106.23227 -L 317.332128 130.628402 -L 317.75468 126.054127 -L 312.734603 127.128164 -L 317.75468 126.054127 + <path clip-path="url(#pc5c1e84671)" d="M 256.492329 90.313069 +L 254.238722 114.709201 +L 254.661273 110.134926 +L 249.641196 111.208963 +L 254.661273 110.134926 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 332.260216 102.55727 -L 331.124579 102.737137 -L 330.100105 103.259132 -L 329.287079 104.072159 -L 328.765083 105.096632 -L 328.585216 106.23227 -L 328.765083 107.367907 -L 329.287079 108.392381 -L 330.100105 109.205407 -L 331.124579 109.727403 -L 332.260216 109.90727 -L 333.395854 109.727403 -L 334.420327 109.205407 -L 335.233354 108.392381 -L 335.755349 107.367907 -L 335.935216 106.23227 -L 335.755349 105.096632 -L 335.233354 104.072159 -L 334.420327 103.259132 -L 333.395854 102.737137 -L 332.260216 102.55727 -L 332.260216 102.55727 -L 333.395854 102.737137 -L 334.420327 103.259132 -L 335.233354 104.072159 -L 335.755349 105.096632 -L 335.935216 106.23227 -L 335.755349 107.367907 -L 335.233354 108.392381 -L 334.420327 109.205407 -L 333.395854 109.727403 -L 332.260216 109.90727 -L 331.124579 109.727403 -L 330.100105 109.205407 -L 329.287079 108.392381 -L 328.765083 107.367907 -L 328.585216 106.23227 -L 328.765083 105.096632 -L 329.287079 104.072159 -L 330.100105 103.259132 -L 331.124579 102.737137 -L 332.260216 102.55727 + <path clip-path="url(#pc5c1e84671)" d="M 266.658493 86.638069 +L 265.522856 86.817936 +L 264.498382 87.339931 +L 263.685356 88.152958 +L 263.16336 89.177431 +L 262.983493 90.313069 +L 263.16336 91.448706 +L 263.685356 92.47318 +L 264.498382 93.286206 +L 265.522856 93.808202 +L 266.658493 93.988069 +L 267.79413 93.808202 +L 268.818604 93.286206 +L 269.63163 92.47318 +L 270.153626 91.448706 +L 270.333493 90.313069 +L 270.153626 89.177431 +L 269.63163 88.152958 +L 268.818604 87.339931 +L 267.79413 86.817936 +L 266.658493 86.638069 +L 266.658493 86.638069 +L 267.79413 86.817936 +L 268.818604 87.339931 +L 269.63163 88.152958 +L 270.153626 89.177431 +L 270.333493 90.313069 +L 270.153626 91.448706 +L 269.63163 92.47318 +L 268.818604 93.286206 +L 267.79413 93.808202 +L 266.658493 93.988069 +L 265.522856 93.808202 +L 264.498382 93.286206 +L 263.685356 92.47318 +L 263.16336 91.448706 +L 262.983493 90.313069 +L 263.16336 89.177431 +L 263.685356 88.152958 +L 264.498382 87.339931 +L 265.522856 86.817936 +L 266.658493 86.638069 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 344.934697 102.55727 -L 343.79906 102.737137 -L 342.774586 103.259132 -L 341.96156 104.072159 -L 341.439564 105.096632 -L 341.259697 106.23227 -L 341.439564 107.367907 -L 341.96156 108.392381 -L 342.774586 109.205407 -L 343.79906 109.727403 -L 344.934697 109.90727 -L 346.070334 109.727403 -L 347.094808 109.205407 -L 347.907834 108.392381 -L 348.42983 107.367907 -L 348.609697 106.23227 -L 348.42983 105.096632 -L 347.907834 104.072159 -L 347.094808 103.259132 -L 346.070334 102.737137 -L 344.934697 102.55727 -L 344.934697 102.55727 -L 346.070334 102.737137 -L 347.094808 103.259132 -L 347.907834 104.072159 -L 348.42983 105.096632 -L 348.609697 106.23227 -L 348.42983 107.367907 -L 347.907834 108.392381 -L 347.094808 109.205407 -L 346.070334 109.727403 -L 344.934697 109.90727 -L 343.79906 109.727403 -L 342.774586 109.205407 -L 341.96156 108.392381 -L 341.439564 107.367907 -L 341.259697 106.23227 -L 341.439564 105.096632 -L 341.96156 104.072159 -L 342.774586 103.259132 -L 343.79906 102.737137 -L 344.934697 102.55727 + <path clip-path="url(#pc5c1e84671)" d="M 276.824657 86.638069 +L 275.68902 86.817936 +L 274.664547 87.339931 +L 273.85152 88.152958 +L 273.329525 89.177431 +L 273.149657 90.313069 +L 273.329525 91.448706 +L 273.85152 92.47318 +L 274.664547 93.286206 +L 275.68902 93.808202 +L 276.824657 93.988069 +L 277.960295 93.808202 +L 278.984768 93.286206 +L 279.797795 92.47318 +L 280.31979 91.448706 +L 280.499657 90.313069 +L 280.31979 89.177431 +L 279.797795 88.152958 +L 278.984768 87.339931 +L 277.960295 86.817936 +L 276.824657 86.638069 +L 276.824657 86.638069 +L 277.960295 86.817936 +L 278.984768 87.339931 +L 279.797795 88.152958 +L 280.31979 89.177431 +L 280.499657 90.313069 +L 280.31979 91.448706 +L 279.797795 92.47318 +L 278.984768 93.286206 +L 277.960295 93.808202 +L 276.824657 93.988069 +L 275.68902 93.808202 +L 274.664547 93.286206 +L 273.85152 92.47318 +L 273.329525 91.448706 +L 273.149657 90.313069 +L 273.329525 89.177431 +L 273.85152 88.152958 +L 274.664547 87.339931 +L 275.68902 86.817936 +L 276.824657 86.638069 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 357.609178 102.55727 -L 356.47354 102.737137 -L 355.449067 103.259132 -L 354.63604 104.072159 -L 354.114045 105.096632 -L 353.934178 106.23227 -L 354.114045 107.367907 -L 354.63604 108.392381 -L 355.449067 109.205407 -L 356.47354 109.727403 -L 357.609178 109.90727 -L 358.744815 109.727403 -L 359.769289 109.205407 -L 360.582315 108.392381 -L 361.104311 107.367907 -L 361.284178 106.23227 -L 361.104311 105.096632 -L 360.582315 104.072159 -L 359.769289 103.259132 -L 358.744815 102.737137 -L 357.609178 102.55727 -L 357.609178 102.55727 -L 358.744815 102.737137 -L 359.769289 103.259132 -L 360.582315 104.072159 -L 361.104311 105.096632 -L 361.284178 106.23227 -L 361.104311 107.367907 -L 360.582315 108.392381 -L 359.769289 109.205407 -L 358.744815 109.727403 -L 357.609178 109.90727 -L 356.47354 109.727403 -L 355.449067 109.205407 -L 354.63604 108.392381 -L 354.114045 107.367907 -L 353.934178 106.23227 -L 354.114045 105.096632 -L 354.63604 104.072159 -L 355.449067 103.259132 -L 356.47354 102.737137 -L 357.609178 102.55727 + <path clip-path="url(#pc5c1e84671)" d="M 286.990822 86.638069 +L 285.855184 86.817936 +L 284.830711 87.339931 +L 284.017684 88.152958 +L 283.495689 89.177431 +L 283.315822 90.313069 +L 283.495689 91.448706 +L 284.017684 92.47318 +L 284.830711 93.286206 +L 285.855184 93.808202 +L 286.990822 93.988069 +L 288.126459 93.808202 +L 289.150933 93.286206 +L 289.963959 92.47318 +L 290.485954 91.448706 +L 290.665822 90.313069 +L 290.485954 89.177431 +L 289.963959 88.152958 +L 289.150933 87.339931 +L 288.126459 86.817936 +L 286.990822 86.638069 +L 286.990822 86.638069 +L 288.126459 86.817936 +L 289.150933 87.339931 +L 289.963959 88.152958 +L 290.485954 89.177431 +L 290.665822 90.313069 +L 290.485954 91.448706 +L 289.963959 92.47318 +L 289.150933 93.286206 +L 288.126459 93.808202 +L 286.990822 93.988069 +L 285.855184 93.808202 +L 284.830711 93.286206 +L 284.017684 92.47318 +L 283.495689 91.448706 +L 283.315822 90.313069 +L 283.495689 89.177431 +L 284.017684 88.152958 +L 284.830711 87.339931 +L 285.855184 86.817936 +L 286.990822 86.638069 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 370.283659 106.23227 -L 345.838325 107.868006 -L 350.421825 107.561305 -L 348.566844 102.774472 -L 350.421825 107.561305 + <path clip-path="url(#pc5c1e84671)" d="M 297.156986 90.313069 +L 272.711652 91.948805 +L 277.295152 91.642104 +L 275.440171 86.855271 +L 277.295152 91.642104 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 294.236773 86.572378 -L 277.670784 104.622807 -L 280.776907 101.238351 -L 276.131447 99.053305 -L 280.776907 101.238351 + <path clip-path="url(#pc5c1e84671)" d="M 236.16 75.229798 +L 219.59401 93.280226 +L 222.700133 89.895771 +L 218.054673 87.710725 +L 222.700133 89.895771 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 306.911254 86.572378 -L 291.719387 105.793647 -L 294.567862 102.189659 -L 289.774117 100.352615 -L 294.567862 102.189659 + <path clip-path="url(#pc5c1e84671)" d="M 246.326164 75.229798 +L 231.134297 94.451066 +L 233.982772 90.847078 +L 229.189027 89.010034 +L 233.982772 90.847078 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 319.585735 82.897378 -L 318.450098 83.077245 -L 317.425624 83.59924 -L 316.612598 84.412267 -L 316.090603 85.43674 -L 315.910735 86.572378 -L 316.090603 87.708015 -L 316.612598 88.732489 -L 317.425624 89.545515 -L 318.450098 90.067511 -L 319.585735 90.247378 -L 320.721373 90.067511 -L 321.745846 89.545515 -L 322.558873 88.732489 -L 323.080868 87.708015 -L 323.260735 86.572378 -L 323.080868 85.43674 -L 322.558873 84.412267 -L 321.745846 83.59924 -L 320.721373 83.077245 -L 319.585735 82.897378 -L 319.585735 82.897378 -L 320.721373 83.077245 -L 321.745846 83.59924 -L 322.558873 84.412267 -L 323.080868 85.43674 -L 323.260735 86.572378 -L 323.080868 87.708015 -L 322.558873 88.732489 -L 321.745846 89.545515 -L 320.721373 90.067511 -L 319.585735 90.247378 -L 318.450098 90.067511 -L 317.425624 89.545515 -L 316.612598 88.732489 -L 316.090603 87.708015 -L 315.910735 86.572378 -L 316.090603 85.43674 -L 316.612598 84.412267 -L 317.425624 83.59924 -L 318.450098 83.077245 -L 319.585735 82.897378 + <path clip-path="url(#pc5c1e84671)" d="M 256.492329 71.554798 +L 255.356691 71.734665 +L 254.332218 72.25666 +L 253.519191 73.069687 +L 252.997196 74.09416 +L 252.817329 75.229798 +L 252.997196 76.365435 +L 253.519191 77.389908 +L 254.332218 78.202935 +L 255.356691 78.72493 +L 256.492329 78.904798 +L 257.627966 78.72493 +L 258.652439 78.202935 +L 259.465466 77.389908 +L 259.987461 76.365435 +L 260.167329 75.229798 +L 259.987461 74.09416 +L 259.465466 73.069687 +L 258.652439 72.25666 +L 257.627966 71.734665 +L 256.492329 71.554798 +L 256.492329 71.554798 +L 257.627966 71.734665 +L 258.652439 72.25666 +L 259.465466 73.069687 +L 259.987461 74.09416 +L 260.167329 75.229798 +L 259.987461 76.365435 +L 259.465466 77.389908 +L 258.652439 78.202935 +L 257.627966 78.72493 +L 256.492329 78.904798 +L 255.356691 78.72493 +L 254.332218 78.202935 +L 253.519191 77.389908 +L 252.997196 76.365435 +L 252.817329 75.229798 +L 252.997196 74.09416 +L 253.519191 73.069687 +L 254.332218 72.25666 +L 255.356691 71.734665 +L 256.492329 71.554798 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 332.260216 82.897378 -L 331.124579 83.077245 -L 330.100105 83.59924 -L 329.287079 84.412267 -L 328.765083 85.43674 -L 328.585216 86.572378 -L 328.765083 87.708015 -L 329.287079 88.732489 -L 330.100105 89.545515 -L 331.124579 90.067511 -L 332.260216 90.247378 -L 333.395854 90.067511 -L 334.420327 89.545515 -L 335.233354 88.732489 -L 335.755349 87.708015 -L 335.935216 86.572378 -L 335.755349 85.43674 -L 335.233354 84.412267 -L 334.420327 83.59924 -L 333.395854 83.077245 -L 332.260216 82.897378 -L 332.260216 82.897378 -L 333.395854 83.077245 -L 334.420327 83.59924 -L 335.233354 84.412267 -L 335.755349 85.43674 -L 335.935216 86.572378 -L 335.755349 87.708015 -L 335.233354 88.732489 -L 334.420327 89.545515 -L 333.395854 90.067511 -L 332.260216 90.247378 -L 331.124579 90.067511 -L 330.100105 89.545515 -L 329.287079 88.732489 -L 328.765083 87.708015 -L 328.585216 86.572378 -L 328.765083 85.43674 -L 329.287079 84.412267 -L 330.100105 83.59924 -L 331.124579 83.077245 -L 332.260216 82.897378 + <path clip-path="url(#pc5c1e84671)" d="M 266.658493 71.554798 +L 265.522856 71.734665 +L 264.498382 72.25666 +L 263.685356 73.069687 +L 263.16336 74.09416 +L 262.983493 75.229798 +L 263.16336 76.365435 +L 263.685356 77.389908 +L 264.498382 78.202935 +L 265.522856 78.72493 +L 266.658493 78.904798 +L 267.79413 78.72493 +L 268.818604 78.202935 +L 269.63163 77.389908 +L 270.153626 76.365435 +L 270.333493 75.229798 +L 270.153626 74.09416 +L 269.63163 73.069687 +L 268.818604 72.25666 +L 267.79413 71.734665 +L 266.658493 71.554798 +L 266.658493 71.554798 +L 267.79413 71.734665 +L 268.818604 72.25666 +L 269.63163 73.069687 +L 270.153626 74.09416 +L 270.333493 75.229798 +L 270.153626 76.365435 +L 269.63163 77.389908 +L 268.818604 78.202935 +L 267.79413 78.72493 +L 266.658493 78.904798 +L 265.522856 78.72493 +L 264.498382 78.202935 +L 263.685356 77.389908 +L 263.16336 76.365435 +L 262.983493 75.229798 +L 263.16336 74.09416 +L 263.685356 73.069687 +L 264.498382 72.25666 +L 265.522856 71.734665 +L 266.658493 71.554798 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 344.934697 82.897378 -L 343.79906 83.077245 -L 342.774586 83.59924 -L 341.96156 84.412267 -L 341.439564 85.43674 -L 341.259697 86.572378 -L 341.439564 87.708015 -L 341.96156 88.732489 -L 342.774586 89.545515 -L 343.79906 90.067511 -L 344.934697 90.247378 -L 346.070334 90.067511 -L 347.094808 89.545515 -L 347.907834 88.732489 -L 348.42983 87.708015 -L 348.609697 86.572378 -L 348.42983 85.43674 -L 347.907834 84.412267 -L 347.094808 83.59924 -L 346.070334 83.077245 -L 344.934697 82.897378 -L 344.934697 82.897378 -L 346.070334 83.077245 -L 347.094808 83.59924 -L 347.907834 84.412267 -L 348.42983 85.43674 -L 348.609697 86.572378 -L 348.42983 87.708015 -L 347.907834 88.732489 -L 347.094808 89.545515 -L 346.070334 90.067511 -L 344.934697 90.247378 -L 343.79906 90.067511 -L 342.774586 89.545515 -L 341.96156 88.732489 -L 341.439564 87.708015 -L 341.259697 86.572378 -L 341.439564 85.43674 -L 341.96156 84.412267 -L 342.774586 83.59924 -L 343.79906 83.077245 -L 344.934697 82.897378 + <path clip-path="url(#pc5c1e84671)" d="M 276.824657 71.554798 +L 275.68902 71.734665 +L 274.664547 72.25666 +L 273.85152 73.069687 +L 273.329525 74.09416 +L 273.149657 75.229798 +L 273.329525 76.365435 +L 273.85152 77.389908 +L 274.664547 78.202935 +L 275.68902 78.72493 +L 276.824657 78.904798 +L 277.960295 78.72493 +L 278.984768 78.202935 +L 279.797795 77.389908 +L 280.31979 76.365435 +L 280.499657 75.229798 +L 280.31979 74.09416 +L 279.797795 73.069687 +L 278.984768 72.25666 +L 277.960295 71.734665 +L 276.824657 71.554798 +L 276.824657 71.554798 +L 277.960295 71.734665 +L 278.984768 72.25666 +L 279.797795 73.069687 +L 280.31979 74.09416 +L 280.499657 75.229798 +L 280.31979 76.365435 +L 279.797795 77.389908 +L 278.984768 78.202935 +L 277.960295 78.72493 +L 276.824657 78.904798 +L 275.68902 78.72493 +L 274.664547 78.202935 +L 273.85152 77.389908 +L 273.329525 76.365435 +L 273.149657 75.229798 +L 273.329525 74.09416 +L 273.85152 73.069687 +L 274.664547 72.25666 +L 275.68902 71.734665 +L 276.824657 71.554798 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 357.609178 82.897378 -L 356.47354 83.077245 -L 355.449067 83.59924 -L 354.63604 84.412267 -L 354.114045 85.43674 -L 353.934178 86.572378 -L 354.114045 87.708015 -L 354.63604 88.732489 -L 355.449067 89.545515 -L 356.47354 90.067511 -L 357.609178 90.247378 -L 358.744815 90.067511 -L 359.769289 89.545515 -L 360.582315 88.732489 -L 361.104311 87.708015 -L 361.284178 86.572378 -L 361.104311 85.43674 -L 360.582315 84.412267 -L 359.769289 83.59924 -L 358.744815 83.077245 -L 357.609178 82.897378 -L 357.609178 82.897378 -L 358.744815 83.077245 -L 359.769289 83.59924 -L 360.582315 84.412267 -L 361.104311 85.43674 -L 361.284178 86.572378 -L 361.104311 87.708015 -L 360.582315 88.732489 -L 359.769289 89.545515 -L 358.744815 90.067511 -L 357.609178 90.247378 -L 356.47354 90.067511 -L 355.449067 89.545515 -L 354.63604 88.732489 -L 354.114045 87.708015 -L 353.934178 86.572378 -L 354.114045 85.43674 -L 354.63604 84.412267 -L 355.449067 83.59924 -L 356.47354 83.077245 -L 357.609178 82.897378 + <path clip-path="url(#pc5c1e84671)" d="M 286.990822 71.554798 +L 285.855184 71.734665 +L 284.830711 72.25666 +L 284.017684 73.069687 +L 283.495689 74.09416 +L 283.315822 75.229798 +L 283.495689 76.365435 +L 284.017684 77.389908 +L 284.830711 78.202935 +L 285.855184 78.72493 +L 286.990822 78.904798 +L 288.126459 78.72493 +L 289.150933 78.202935 +L 289.963959 77.389908 +L 290.485954 76.365435 +L 290.665822 75.229798 +L 290.485954 74.09416 +L 289.963959 73.069687 +L 289.150933 72.25666 +L 288.126459 71.734665 +L 286.990822 71.554798 +L 286.990822 71.554798 +L 288.126459 71.734665 +L 289.150933 72.25666 +L 289.963959 73.069687 +L 290.485954 74.09416 +L 290.665822 75.229798 +L 290.485954 76.365435 +L 289.963959 77.389908 +L 289.150933 78.202935 +L 288.126459 78.72493 +L 286.990822 78.904798 +L 285.855184 78.72493 +L 284.830711 78.202935 +L 284.017684 77.389908 +L 283.495689 76.365435 +L 283.315822 75.229798 +L 283.495689 74.09416 +L 284.017684 73.069687 +L 284.830711 72.25666 +L 285.855184 71.734665 +L 286.990822 71.554798 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 370.283659 82.897378 -L 369.148021 83.077245 -L 368.123548 83.59924 -L 367.310521 84.412267 -L 366.788526 85.43674 -L 366.608659 86.572378 -L 366.788526 87.708015 -L 367.310521 88.732489 -L 368.123548 89.545515 -L 369.148021 90.067511 -L 370.283659 90.247378 -L 371.419296 90.067511 -L 372.44377 89.545515 -L 373.256796 88.732489 -L 373.778792 87.708015 -L 373.958659 86.572378 -L 373.778792 85.43674 -L 373.256796 84.412267 -L 372.44377 83.59924 -L 371.419296 83.077245 -L 370.283659 82.897378 -L 370.283659 82.897378 -L 371.419296 83.077245 -L 372.44377 83.59924 -L 373.256796 84.412267 -L 373.778792 85.43674 -L 373.958659 86.572378 -L 373.778792 87.708015 -L 373.256796 88.732489 -L 372.44377 89.545515 -L 371.419296 90.067511 -L 370.283659 90.247378 -L 369.148021 90.067511 -L 368.123548 89.545515 -L 367.310521 88.732489 -L 366.788526 87.708015 -L 366.608659 86.572378 -L 366.788526 85.43674 -L 367.310521 84.412267 -L 368.123548 83.59924 -L 369.148021 83.077245 -L 370.283659 82.897378 + <path clip-path="url(#pc5c1e84671)" d="M 297.156986 71.554798 +L 296.021349 71.734665 +L 294.996875 72.25666 +L 294.183849 73.069687 +L 293.661853 74.09416 +L 293.481986 75.229798 +L 293.661853 76.365435 +L 294.183849 77.389908 +L 294.996875 78.202935 +L 296.021349 78.72493 +L 297.156986 78.904798 +L 298.292624 78.72493 +L 299.317097 78.202935 +L 300.130124 77.389908 +L 300.652119 76.365435 +L 300.831986 75.229798 +L 300.652119 74.09416 +L 300.130124 73.069687 +L 299.317097 72.25666 +L 298.292624 71.734665 +L 297.156986 71.554798 +L 297.156986 71.554798 +L 298.292624 71.734665 +L 299.317097 72.25666 +L 300.130124 73.069687 +L 300.652119 74.09416 +L 300.831986 75.229798 +L 300.652119 76.365435 +L 300.130124 77.389908 +L 299.317097 78.202935 +L 298.292624 78.72493 +L 297.156986 78.904798 +L 296.021349 78.72493 +L 294.996875 78.202935 +L 294.183849 77.389908 +L 293.661853 76.365435 +L 293.481986 75.229798 +L 293.661853 74.09416 +L 294.183849 73.069687 +L 294.996875 72.25666 +L 296.021349 71.734665 +L 297.156986 71.554798 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 294.236773 66.912486 -L 270.198627 71.647201 -L 274.70578 70.759442 -L 272.256453 66.247732 -L 274.70578 70.759442 + <path clip-path="url(#pc5c1e84671)" d="M 236.16 60.146526 +L 212.121854 64.881241 +L 216.629006 63.993482 +L 214.179679 59.481772 +L 216.629006 63.993482 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 306.911254 66.912486 -L 282.8506 71.531457 -L 287.361972 70.6654 -L 284.934387 66.141955 -L 287.361972 70.6654 + <path clip-path="url(#pc5c1e84671)" d="M 246.326164 60.146526 +L 222.26551 64.765497 +L 226.776882 63.89944 +L 224.349297 59.375995 +L 226.776882 63.89944 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 319.585735 63.237486 -L 318.450098 63.417353 -L 317.425624 63.939348 -L 316.612598 64.752375 -L 316.090603 65.776848 -L 315.910735 66.912486 -L 316.090603 68.048123 -L 316.612598 69.072597 -L 317.425624 69.885623 -L 318.450098 70.407619 -L 319.585735 70.587486 -L 320.721373 70.407619 -L 321.745846 69.885623 -L 322.558873 69.072597 -L 323.080868 68.048123 -L 323.260735 66.912486 -L 323.080868 65.776848 -L 322.558873 64.752375 -L 321.745846 63.939348 -L 320.721373 63.417353 -L 319.585735 63.237486 -L 319.585735 63.237486 -L 320.721373 63.417353 -L 321.745846 63.939348 -L 322.558873 64.752375 -L 323.080868 65.776848 -L 323.260735 66.912486 -L 323.080868 68.048123 -L 322.558873 69.072597 -L 321.745846 69.885623 -L 320.721373 70.407619 -L 319.585735 70.587486 -L 318.450098 70.407619 -L 317.425624 69.885623 -L 316.612598 69.072597 -L 316.090603 68.048123 -L 315.910735 66.912486 -L 316.090603 65.776848 -L 316.612598 64.752375 -L 317.425624 63.939348 -L 318.450098 63.417353 -L 319.585735 63.237486 + <path clip-path="url(#pc5c1e84671)" d="M 256.492329 56.471526 +L 255.356691 56.651394 +L 254.332218 57.173389 +L 253.519191 57.986416 +L 252.997196 59.010889 +L 252.817329 60.146526 +L 252.997196 61.282164 +L 253.519191 62.306637 +L 254.332218 63.119664 +L 255.356691 63.641659 +L 256.492329 63.821526 +L 257.627966 63.641659 +L 258.652439 63.119664 +L 259.465466 62.306637 +L 259.987461 61.282164 +L 260.167329 60.146526 +L 259.987461 59.010889 +L 259.465466 57.986416 +L 258.652439 57.173389 +L 257.627966 56.651394 +L 256.492329 56.471526 +L 256.492329 56.471526 +L 257.627966 56.651394 +L 258.652439 57.173389 +L 259.465466 57.986416 +L 259.987461 59.010889 +L 260.167329 60.146526 +L 259.987461 61.282164 +L 259.465466 62.306637 +L 258.652439 63.119664 +L 257.627966 63.641659 +L 256.492329 63.821526 +L 255.356691 63.641659 +L 254.332218 63.119664 +L 253.519191 62.306637 +L 252.997196 61.282164 +L 252.817329 60.146526 +L 252.997196 59.010889 +L 253.519191 57.986416 +L 254.332218 57.173389 +L 255.356691 56.651394 +L 256.492329 56.471526 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 332.260216 63.237486 -L 331.124579 63.417353 -L 330.100105 63.939348 -L 329.287079 64.752375 -L 328.765083 65.776848 -L 328.585216 66.912486 -L 328.765083 68.048123 -L 329.287079 69.072597 -L 330.100105 69.885623 -L 331.124579 70.407619 -L 332.260216 70.587486 -L 333.395854 70.407619 -L 334.420327 69.885623 -L 335.233354 69.072597 -L 335.755349 68.048123 -L 335.935216 66.912486 -L 335.755349 65.776848 -L 335.233354 64.752375 -L 334.420327 63.939348 -L 333.395854 63.417353 -L 332.260216 63.237486 -L 332.260216 63.237486 -L 333.395854 63.417353 -L 334.420327 63.939348 -L 335.233354 64.752375 -L 335.755349 65.776848 -L 335.935216 66.912486 -L 335.755349 68.048123 -L 335.233354 69.072597 -L 334.420327 69.885623 -L 333.395854 70.407619 -L 332.260216 70.587486 -L 331.124579 70.407619 -L 330.100105 69.885623 -L 329.287079 69.072597 -L 328.765083 68.048123 -L 328.585216 66.912486 -L 328.765083 65.776848 -L 329.287079 64.752375 -L 330.100105 63.939348 -L 331.124579 63.417353 -L 332.260216 63.237486 + <path clip-path="url(#pc5c1e84671)" d="M 266.658493 56.471526 +L 265.522856 56.651394 +L 264.498382 57.173389 +L 263.685356 57.986416 +L 263.16336 59.010889 +L 262.983493 60.146526 +L 263.16336 61.282164 +L 263.685356 62.306637 +L 264.498382 63.119664 +L 265.522856 63.641659 +L 266.658493 63.821526 +L 267.79413 63.641659 +L 268.818604 63.119664 +L 269.63163 62.306637 +L 270.153626 61.282164 +L 270.333493 60.146526 +L 270.153626 59.010889 +L 269.63163 57.986416 +L 268.818604 57.173389 +L 267.79413 56.651394 +L 266.658493 56.471526 +L 266.658493 56.471526 +L 267.79413 56.651394 +L 268.818604 57.173389 +L 269.63163 57.986416 +L 270.153626 59.010889 +L 270.333493 60.146526 +L 270.153626 61.282164 +L 269.63163 62.306637 +L 268.818604 63.119664 +L 267.79413 63.641659 +L 266.658493 63.821526 +L 265.522856 63.641659 +L 264.498382 63.119664 +L 263.685356 62.306637 +L 263.16336 61.282164 +L 262.983493 60.146526 +L 263.16336 59.010889 +L 263.685356 57.986416 +L 264.498382 57.173389 +L 265.522856 56.651394 +L 266.658493 56.471526 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 344.934697 63.237486 -L 343.79906 63.417353 -L 342.774586 63.939348 -L 341.96156 64.752375 -L 341.439564 65.776848 -L 341.259697 66.912486 -L 341.439564 68.048123 -L 341.96156 69.072597 -L 342.774586 69.885623 -L 343.79906 70.407619 -L 344.934697 70.587486 -L 346.070334 70.407619 -L 347.094808 69.885623 -L 347.907834 69.072597 -L 348.42983 68.048123 -L 348.609697 66.912486 -L 348.42983 65.776848 -L 347.907834 64.752375 -L 347.094808 63.939348 -L 346.070334 63.417353 -L 344.934697 63.237486 -L 344.934697 63.237486 -L 346.070334 63.417353 -L 347.094808 63.939348 -L 347.907834 64.752375 -L 348.42983 65.776848 -L 348.609697 66.912486 -L 348.42983 68.048123 -L 347.907834 69.072597 -L 347.094808 69.885623 -L 346.070334 70.407619 -L 344.934697 70.587486 -L 343.79906 70.407619 -L 342.774586 69.885623 -L 341.96156 69.072597 -L 341.439564 68.048123 -L 341.259697 66.912486 -L 341.439564 65.776848 -L 341.96156 64.752375 -L 342.774586 63.939348 -L 343.79906 63.417353 -L 344.934697 63.237486 + <path clip-path="url(#pc5c1e84671)" d="M 276.824657 56.471526 +L 275.68902 56.651394 +L 274.664547 57.173389 +L 273.85152 57.986416 +L 273.329525 59.010889 +L 273.149657 60.146526 +L 273.329525 61.282164 +L 273.85152 62.306637 +L 274.664547 63.119664 +L 275.68902 63.641659 +L 276.824657 63.821526 +L 277.960295 63.641659 +L 278.984768 63.119664 +L 279.797795 62.306637 +L 280.31979 61.282164 +L 280.499657 60.146526 +L 280.31979 59.010889 +L 279.797795 57.986416 +L 278.984768 57.173389 +L 277.960295 56.651394 +L 276.824657 56.471526 +L 276.824657 56.471526 +L 277.960295 56.651394 +L 278.984768 57.173389 +L 279.797795 57.986416 +L 280.31979 59.010889 +L 280.499657 60.146526 +L 280.31979 61.282164 +L 279.797795 62.306637 +L 278.984768 63.119664 +L 277.960295 63.641659 +L 276.824657 63.821526 +L 275.68902 63.641659 +L 274.664547 63.119664 +L 273.85152 62.306637 +L 273.329525 61.282164 +L 273.149657 60.146526 +L 273.329525 59.010889 +L 273.85152 57.986416 +L 274.664547 57.173389 +L 275.68902 56.651394 +L 276.824657 56.471526 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 357.609178 63.237486 -L 356.47354 63.417353 -L 355.449067 63.939348 -L 354.63604 64.752375 -L 354.114045 65.776848 -L 353.934178 66.912486 -L 354.114045 68.048123 -L 354.63604 69.072597 -L 355.449067 69.885623 -L 356.47354 70.407619 -L 357.609178 70.587486 -L 358.744815 70.407619 -L 359.769289 69.885623 -L 360.582315 69.072597 -L 361.104311 68.048123 -L 361.284178 66.912486 -L 361.104311 65.776848 -L 360.582315 64.752375 -L 359.769289 63.939348 -L 358.744815 63.417353 -L 357.609178 63.237486 -L 357.609178 63.237486 -L 358.744815 63.417353 -L 359.769289 63.939348 -L 360.582315 64.752375 -L 361.104311 65.776848 -L 361.284178 66.912486 -L 361.104311 68.048123 -L 360.582315 69.072597 -L 359.769289 69.885623 -L 358.744815 70.407619 -L 357.609178 70.587486 -L 356.47354 70.407619 -L 355.449067 69.885623 -L 354.63604 69.072597 -L 354.114045 68.048123 -L 353.934178 66.912486 -L 354.114045 65.776848 -L 354.63604 64.752375 -L 355.449067 63.939348 -L 356.47354 63.417353 -L 357.609178 63.237486 + <path clip-path="url(#pc5c1e84671)" d="M 286.990822 56.471526 +L 285.855184 56.651394 +L 284.830711 57.173389 +L 284.017684 57.986416 +L 283.495689 59.010889 +L 283.315822 60.146526 +L 283.495689 61.282164 +L 284.017684 62.306637 +L 284.830711 63.119664 +L 285.855184 63.641659 +L 286.990822 63.821526 +L 288.126459 63.641659 +L 289.150933 63.119664 +L 289.963959 62.306637 +L 290.485954 61.282164 +L 290.665822 60.146526 +L 290.485954 59.010889 +L 289.963959 57.986416 +L 289.150933 57.173389 +L 288.126459 56.651394 +L 286.990822 56.471526 +L 286.990822 56.471526 +L 288.126459 56.651394 +L 289.150933 57.173389 +L 289.963959 57.986416 +L 290.485954 59.010889 +L 290.665822 60.146526 +L 290.485954 61.282164 +L 289.963959 62.306637 +L 289.150933 63.119664 +L 288.126459 63.641659 +L 286.990822 63.821526 +L 285.855184 63.641659 +L 284.830711 63.119664 +L 284.017684 62.306637 +L 283.495689 61.282164 +L 283.315822 60.146526 +L 283.495689 59.010889 +L 284.017684 57.986416 +L 284.830711 57.173389 +L 285.855184 56.651394 +L 286.990822 56.471526 z " style="stroke:#000000;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 370.283659 63.237486 -L 369.148021 63.417353 -L 368.123548 63.939348 -L 367.310521 64.752375 -L 366.788526 65.776848 -L 366.608659 66.912486 -L 366.788526 68.048123 -L 367.310521 69.072597 -L 368.123548 69.885623 -L 369.148021 70.407619 -L 370.283659 70.587486 -L 371.419296 70.407619 -L 372.44377 69.885623 -L 373.256796 69.072597 -L 373.778792 68.048123 -L 373.958659 66.912486 -L 373.778792 65.776848 -L 373.256796 64.752375 -L 372.44377 63.939348 -L 371.419296 63.417353 -L 370.283659 63.237486 -L 370.283659 63.237486 -L 371.419296 63.417353 -L 372.44377 63.939348 -L 373.256796 64.752375 -L 373.778792 65.776848 -L 373.958659 66.912486 -L 373.778792 68.048123 -L 373.256796 69.072597 -L 372.44377 69.885623 -L 371.419296 70.407619 -L 370.283659 70.587486 -L 369.148021 70.407619 -L 368.123548 69.885623 -L 367.310521 69.072597 -L 366.788526 68.048123 -L 366.608659 66.912486 -L 366.788526 65.776848 -L 367.310521 64.752375 -L 368.123548 63.939348 -L 369.148021 63.417353 -L 370.283659 63.237486 + <path clip-path="url(#pc5c1e84671)" d="M 297.156986 56.471526 +L 296.021349 56.651394 +L 294.996875 57.173389 +L 294.183849 57.986416 +L 293.661853 59.010889 +L 293.481986 60.146526 +L 293.661853 61.282164 +L 294.183849 62.306637 +L 294.996875 63.119664 +L 296.021349 63.641659 +L 297.156986 63.821526 +L 298.292624 63.641659 +L 299.317097 63.119664 +L 300.130124 62.306637 +L 300.652119 61.282164 +L 300.831986 60.146526 +L 300.652119 59.010889 +L 300.130124 57.986416 +L 299.317097 57.173389 +L 298.292624 56.651394 +L 297.156986 56.471526 +L 297.156986 56.471526 +L 298.292624 56.651394 +L 299.317097 57.173389 +L 300.130124 57.986416 +L 300.652119 59.010889 +L 300.831986 60.146526 +L 300.652119 61.282164 +L 300.130124 62.306637 +L 299.317097 63.119664 +L 298.292624 63.641659 +L 297.156986 63.821526 +L 296.021349 63.641659 +L 294.996875 63.119664 +L 294.183849 62.306637 +L 293.661853 61.282164 +L 293.481986 60.146526 +L 293.661853 59.010889 +L 294.183849 57.986416 +L 294.996875 57.173389 +L 296.021349 56.651394 +L 297.156986 56.471526 z " style="stroke:#000000;"/> </g> + <g id="matplotlib.axis_1"> + <g id="xtick_1"> + <g id="line2d_1"> + <defs> + <path d="M 0 0 +L 0 3.5 +" id="mb271a9d6e5" style="stroke:#000000;stroke-width:0.8;"/> + </defs> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="75.195731" xlink:href="#mb271a9d6e5" y="307.584"/> + </g> + </g> + </g> + <g id="xtick_2"> + <g id="line2d_2"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="139.581439" xlink:href="#mb271a9d6e5" y="307.584"/> + </g> + </g> + </g> + <g id="xtick_3"> + <g id="line2d_3"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="203.967146" xlink:href="#mb271a9d6e5" y="307.584"/> + </g> + </g> + </g> + <g id="xtick_4"> + <g id="line2d_4"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="268.352854" xlink:href="#mb271a9d6e5" y="307.584"/> + </g> + </g> + </g> + <g id="xtick_5"> + <g id="line2d_5"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="332.738561" xlink:href="#mb271a9d6e5" y="307.584"/> + </g> + </g> + </g> + <g id="xtick_6"> + <g id="line2d_6"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="397.124269" xlink:href="#mb271a9d6e5" y="307.584"/> + </g> + </g> + </g> + </g> + <g id="matplotlib.axis_2"> + <g id="ytick_1"> + <g id="line2d_7"> + <defs> + <path d="M 0 0 +L -3.5 0 +" id="mb85e8d2779" style="stroke:#000000;stroke-width:0.8;"/> + </defs> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mb85e8d2779" y="293.937231"/> + </g> + </g> + </g> + <g id="ytick_2"> + <g id="line2d_8"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mb85e8d2779" y="246.173538"/> + </g> + </g> + </g> + <g id="ytick_3"> + <g id="line2d_9"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mb85e8d2779" y="198.409846"/> + </g> + </g> + </g> + <g id="ytick_4"> + <g id="line2d_10"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mb85e8d2779" y="150.646154"/> + </g> + </g> + </g> + <g id="ytick_5"> + <g id="line2d_11"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mb85e8d2779" y="102.882462"/> + </g> + </g> + </g> + <g id="ytick_6"> + <g id="line2d_12"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mb85e8d2779" y="55.118769"/> + </g> + </g> + </g> + </g> <g id="LineCollection_1"> - <path clip-path="url(#p9ae4ea3394)" d="M 414.644342 340.512649 -L 418.010586 340.044564 -" style="fill:none;stroke:#0000ff;stroke-width:6.547107;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 418.010586 340.044564 -L 421.3764 339.573076 -" style="fill:none;stroke:#0000ff;stroke-width:6.317222;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 421.3764 339.573076 -L 424.742041 339.102352 -" style="fill:none;stroke:#0000ff;stroke-width:6.023941;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 424.742041 339.102352 -L 428.107793 338.636988 -" style="fill:none;stroke:#0000ff;stroke-width:5.673534;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 428.107793 338.636988 -L 431.473975 338.182287 -" style="fill:none;stroke:#0000ff;stroke-width:5.272956;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 431.473975 338.182287 -L 434.840952 337.745189 -" style="fill:none;stroke:#0000ff;stroke-width:4.828948;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 434.840952 337.745189 -L 438.209098 337.333989 -" style="fill:none;stroke:#0000ff;stroke-width:4.345551;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 438.209098 337.333989 -L 441.578784 336.958257 -" style="fill:none;stroke:#0000ff;stroke-width:3.847165;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 441.578784 336.958257 -L 444.950385 336.630418 -" style="fill:none;stroke:#0000ff;stroke-width:3.343969;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 444.950385 336.630418 -L 448.324216 336.367259 -" style="fill:none;stroke:#0000ff;stroke-width:2.846269;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 448.324216 336.367259 -L 451.700148 336.192793 -" style="fill:none;stroke:#0000ff;stroke-width:2.365672;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 451.700148 336.192793 -L 455.077159 336.140994 -" style="fill:none;stroke:#0000ff;stroke-width:1.923491;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 455.077159 336.140994 -L 458.452434 336.260806 -" style="fill:none;stroke:#0000ff;stroke-width:1.526813;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 458.452434 336.260806 -L 461.818975 336.625979 -" style="fill:none;stroke:#0000ff;stroke-width:1.185167;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 461.818975 336.625979 -L 465.160288 337.347932 -" style="fill:none;stroke:#0000ff;stroke-width:0.908099;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 465.160288 337.347932 -L 468.433089 338.582073 -" style="fill:none;stroke:#0000ff;stroke-width:0.709489;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 468.433089 338.582073 -L 471.447369 340.408155 -" style="fill:none;stroke:#0000ff;stroke-width:0.613298;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 435.768477 340.512649 -L 439.143383 340.233609 -" style="fill:none;stroke:#0000ff;stroke-width:4.4898;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 439.143383 340.233609 -L 442.519613 340.005935 -" style="fill:none;stroke:#0000ff;stroke-width:3.98708;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 442.519613 340.005935 -L 445.897154 339.845264 -" style="fill:none;stroke:#0000ff;stroke-width:3.484569;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 445.897154 339.845264 -L 449.275699 339.772226 -" style="fill:none;stroke:#0000ff;stroke-width:2.992787;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 449.275699 339.772226 -L 452.654365 339.814715 -" style="fill:none;stroke:#0000ff;stroke-width:2.522237;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 452.654365 339.814715 -L 456.030421 340.01215 -" style="fill:none;stroke:#0000ff;stroke-width:2.083646;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 456.030421 340.01215 -L 459.397819 340.419043 -" style="fill:none;stroke:#0000ff;stroke-width:1.702916;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 440.301875 331.952915 -L 443.65487 331.322882 -" style="fill:none;stroke:#0000ff;stroke-width:3.097266;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 443.65487 331.322882 -L 447.008404 330.708569 -" style="fill:none;stroke:#0000ff;stroke-width:2.60138;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 447.008404 330.708569 -L 450.363123 330.119372 -" style="fill:none;stroke:#0000ff;stroke-width:2.123086;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 450.363123 330.119372 -L 453.719941 329.56917 -" style="fill:none;stroke:#0000ff;stroke-width:1.672187;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 453.719941 329.56917 -L 457.080206 329.080634 -" style="fill:none;stroke:#0000ff;stroke-width:1.257663;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 457.080206 329.080634 -L 460.445274 328.695052 -" style="fill:none;stroke:#0000ff;stroke-width:0.888315;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 460.445274 328.695052 -L 463.814565 328.495031 -" style="fill:none;stroke:#0000ff;stroke-width:0.58805;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 463.814565 328.495031 -L 466.499733 328.582076 -" style="fill:none;stroke:#0000ff;stroke-width:0.359314;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 466.499733 328.582076 -L 468.634302 328.943999 -" style="fill:none;stroke:#0000ff;stroke-width:0.228591;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 468.634302 328.943999 -L 470.501204 329.643205 -" style="fill:none;stroke:#0000ff;stroke-width:0.16462;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 470.501204 329.643205 -L 472.305931 330.894049 -" style="fill:none;stroke:#0000ff;stroke-width:0.14362;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 472.305931 330.894049 -L 473.900455 332.685525 -" style="fill:none;stroke:#0000ff;stroke-width:0.160322;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 473.900455 332.685525 -L 473.900455 332.685525 -" style="fill:none;stroke:#0000ff;stroke-width:0.191274;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 473.900455 332.685525 -L 476.093775 336.369997 -" style="fill:none;stroke:#0000ff;stroke-width:0.191274;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 476.093775 336.369997 -L 478.016746 340.512649 -" style="fill:none;stroke:#0000ff;stroke-width:0.35226;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 494.916054 323.509744 -L 494.116679 323.857685 -" style="fill:none;stroke:#0000ff;stroke-width:1.475715;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 494.116679 323.857685 -L 490.893817 325.36634 -" style="fill:none;stroke:#0000ff;stroke-width:1.380802;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 490.893817 325.36634 -L 488.111874 326.928224 -" style="fill:none;stroke:#0000ff;stroke-width:1.003439;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 488.111874 326.928224 -L 486.0161 328.40471 -" style="fill:none;stroke:#0000ff;stroke-width:0.723954;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 486.0161 328.40471 -L 484.428395 329.858015 -" style="fill:none;stroke:#0000ff;stroke-width:0.554257;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 484.428395 329.858015 -L 483.252714 331.317985 -" style="fill:none;stroke:#0000ff;stroke-width:0.469881;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 483.252714 331.317985 -L 482.327173 333.012782 -" style="fill:none;stroke:#0000ff;stroke-width:0.417044;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 482.327173 333.012782 -L 481.651168 335.258933 -" style="fill:none;stroke:#0000ff;stroke-width:0.387232;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 481.651168 335.258933 -L 481.40868 337.653571 -" style="fill:none;stroke:#0000ff;stroke-width:0.425825;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 481.40868 337.653571 -L 481.40868 337.653571 -" style="fill:none;stroke:#0000ff;stroke-width:0.508418;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 481.40868 337.653571 -L 481.537435 340.512649 -" style="fill:none;stroke:#0000ff;stroke-width:0.508418;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 481.537435 340.512649 -L 481.537435 340.512649 -" style="fill:none;stroke:#0000ff;stroke-width:0.619042;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 481.537435 340.512649 -L 481.537435 340.512649 -" style="fill:none;stroke:#0000ff;stroke-width:0.619042;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 494.916054 331.469202 -L 492.77068 333.871703 -" style="fill:none;stroke:#0000ff;stroke-width:1.351319;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 492.77068 333.871703 -L 491.042654 335.988024 -" style="fill:none;stroke:#0000ff;stroke-width:1.146641;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 491.042654 335.988024 -L 489.704747 338.053072 -" style="fill:none;stroke:#0000ff;stroke-width:1.037353;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 489.704747 338.053072 -L 488.578814 340.512649 -" style="fill:none;stroke:#0000ff;stroke-width:0.98805;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 488.578814 340.512649 -L 488.578814 340.512649 -" style="fill:none;stroke:#0000ff;stroke-width:0.977177;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 488.578814 340.512649 -L 488.578814 340.512649 -" style="fill:none;stroke:#0000ff;stroke-width:0.977177;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 414.644342 220.368865 -L 417.944098 219.234225 -" style="fill:none;stroke:#0000ff;stroke-width:5.244379;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 417.944098 219.234225 -L 421.244234 218.102249 -" style="fill:none;stroke:#0000ff;stroke-width:5.176332;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 421.244234 218.102249 -L 424.544889 216.973927 -" style="fill:none;stroke:#0000ff;stroke-width:5.048716;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 424.544889 216.973927 -L 427.399436 216 -" style="fill:none;stroke:#0000ff;stroke-width:4.86474;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 414.644342 225.829946 -L 417.918946 224.546769 -" style="fill:none;stroke:#0000ff;stroke-width:4.862339;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 417.918946 224.546769 -L 421.20588 223.3369 -" style="fill:none;stroke:#0000ff;stroke-width:4.781139;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 421.20588 223.3369 -L 424.502734 222.186163 -" style="fill:none;stroke:#0000ff;stroke-width:4.638333;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 424.502734 222.186163 -L 427.804056 221.062541 -" style="fill:none;stroke:#0000ff;stroke-width:4.44675;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 427.804056 221.062541 -L 431.106244 219.945065 -" style="fill:none;stroke:#0000ff;stroke-width:4.222007;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 431.106244 219.945065 -L 434.409539 218.835495 -" style="fill:none;stroke:#0000ff;stroke-width:3.945429;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 434.409539 218.835495 -L 437.714215 217.735887 -" style="fill:none;stroke:#0000ff;stroke-width:3.628311;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 437.714215 217.735887 -L 441.020602 216.648743 -" style="fill:none;stroke:#0000ff;stroke-width:3.285267;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 441.020602 216.648743 -L 443.006897 216 -" style="fill:none;stroke:#0000ff;stroke-width:2.923125;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 414.644342 236.752108 -L 417.773653 234.780494 -" style="fill:none;stroke:#0000ff;stroke-width:4.446391;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 417.773653 234.780494 -L 420.932949 232.93045 -" style="fill:none;stroke:#0000ff;stroke-width:4.34173;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 420.932949 232.93045 -L 424.118117 231.193692 -" style="fill:none;stroke:#0000ff;stroke-width:4.211008;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 424.118117 231.193692 -L 427.327473 229.56085 -" style="fill:none;stroke:#0000ff;stroke-width:4.027247;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 427.327473 229.56085 -L 430.557734 228.027366 -" style="fill:none;stroke:#0000ff;stroke-width:3.791613;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 430.557734 228.027366 -L 433.805296 226.591719 -" style="fill:none;stroke:#0000ff;stroke-width:3.525366;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 433.805296 226.591719 -L 437.068954 225.252892 -" style="fill:none;stroke:#0000ff;stroke-width:3.232689;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 437.068954 225.252892 -L 440.348784 224.011296 -" style="fill:none;stroke:#0000ff;stroke-width:2.907051;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 440.348784 224.011296 -L 443.645324 222.870033 -" style="fill:none;stroke:#0000ff;stroke-width:2.554828;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 443.645324 222.870033 -L 446.953711 221.80164 -" style="fill:none;stroke:#0000ff;stroke-width:2.186015;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 446.953711 221.80164 -L 450.267658 220.771581 -" style="fill:none;stroke:#0000ff;stroke-width:1.836625;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 450.267658 220.771581 -L 453.585928 219.775795 -" style="fill:none;stroke:#0000ff;stroke-width:1.504501;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 453.585928 219.775795 -L 456.910035 218.828114 -" style="fill:none;stroke:#0000ff;stroke-width:1.189309;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 456.910035 218.828114 -L 460.242244 217.952816 -" style="fill:none;stroke:#0000ff;stroke-width:0.897659;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 460.242244 217.952816 -L 463.585876 217.197301 -" style="fill:none;stroke:#0000ff;stroke-width:0.655501;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 463.585876 217.197301 -L 466.943221 216.676298 -" style="fill:none;stroke:#0000ff;stroke-width:0.454075;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 466.943221 216.676298 -L 466.943221 216.676298 -" style="fill:none;stroke:#0000ff;stroke-width:0.2956;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 466.943221 216.676298 -L 469.393914 216.623047 -" style="fill:none;stroke:#0000ff;stroke-width:0.2956;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 469.393914 216.623047 -L 469.393914 216.623047 -" style="fill:none;stroke:#0000ff;stroke-width:0.199283;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 469.393914 216.623047 -L 470.607287 216.824575 -" style="fill:none;stroke:#0000ff;stroke-width:0.199283;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 470.607287 216.824575 -L 470.607287 216.824575 -" style="fill:none;stroke:#0000ff;stroke-width:0.172749;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 470.607287 216.824575 -L 471.59205 217.270737 -" style="fill:none;stroke:#0000ff;stroke-width:0.172749;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 471.59205 217.270737 -L 472.328828 218.025108 -" style="fill:none;stroke:#0000ff;stroke-width:0.148884;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 472.328828 218.025108 -L 472.778509 218.96868 -" style="fill:none;stroke:#0000ff;stroke-width:0.122695;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 472.778509 218.96868 -L 473.051643 220.133189 -" style="fill:none;stroke:#0000ff;stroke-width:0.097299;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 473.051643 220.133189 -L 473.209625 221.589877 -" style="fill:none;stroke:#0000ff;stroke-width:0.070208;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 473.209625 221.589877 -L 473.209625 221.589877 -" style="fill:none;stroke:#0000ff;stroke-width:0.038879;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 473.209625 221.589877 -L 473.218952 222.792529 -" style="fill:none;stroke:#0000ff;stroke-width:0.038879;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 473.218952 222.792529 -L 473.218952 222.792529 -" style="fill:none;stroke:#0000ff;stroke-width:0.0204;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 473.218952 222.792529 -L 473.070603 223.547559 -" style="fill:none;stroke:#0000ff;stroke-width:0.0204;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 473.070603 223.547559 -L 472.879183 224.003486 -" style="fill:none;stroke:#0000ff;stroke-width:0.025258;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 472.879183 224.003486 -L 472.574361 224.44203 -" style="fill:none;stroke:#0000ff;stroke-width:0.028269;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 472.574361 224.44203 -L 472.260744 224.741158 -" style="fill:none;stroke:#0000ff;stroke-width:0.031112;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 472.260744 224.741158 -L 472.021138 224.890839 -" style="fill:none;stroke:#0000ff;stroke-width:0.03294;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 472.021138 224.890839 -L 471.899313 224.938752 -" style="fill:none;stroke:#0000ff;stroke-width:0.033828;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 471.899313 224.938752 -L 471.854238 224.95232 -" style="fill:none;stroke:#0000ff;stroke-width:0.034131;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 471.854238 224.95232 -L 471.837808 224.95563 -" style="fill:none;stroke:#0000ff;stroke-width:0.034223;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 471.837808 224.95563 -L 471.831943 224.956171 -" style="fill:none;stroke:#0000ff;stroke-width:0.034251;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 471.831943 224.956171 -L 471.8299 224.956106 -" style="fill:none;stroke:#0000ff;stroke-width:0.034258;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 471.8299 224.956106 -L 471.829209 224.95598 -" style="fill:none;stroke:#0000ff;stroke-width:0.03426;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 471.829209 224.95598 -L 471.828984 224.955896 -" style="fill:none;stroke:#0000ff;stroke-width:0.03426;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 471.828984 224.955896 -L 471.828914 224.955851 -" style="fill:none;stroke:#0000ff;stroke-width:0.03426;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 471.828914 224.955851 -L 471.828894 224.95583 -" style="fill:none;stroke:#0000ff;stroke-width:0.03426;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 471.828894 224.95583 -L 471.828888 224.95582 -" style="fill:none;stroke:#0000ff;stroke-width:0.03426;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 471.828888 224.95582 -L 471.828887 224.955816 -" style="fill:none;stroke:#0000ff;stroke-width:0.03426;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 471.828887 224.955816 -L 471.828887 224.955814 -" style="fill:none;stroke:#0000ff;stroke-width:0.03426;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 471.828887 224.955814 -L 471.828888 224.955814 -" style="fill:none;stroke:#0000ff;stroke-width:0.03426;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 471.828888 224.955814 -L 471.828888 224.955813 -" style="fill:none;stroke:#0000ff;stroke-width:0.03426;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 471.828888 224.955813 -L 471.828888 224.955813 -" style="fill:none;stroke:#0000ff;stroke-width:0.03426;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 471.828888 224.955813 -L 471.828888 224.955813 -" style="fill:none;stroke:#0000ff;stroke-width:0.03426;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 471.828888 224.955813 -L 471.828888 224.955813 -" style="fill:none;stroke:#0000ff;stroke-width:0.03426;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 471.828888 224.955813 -L 471.828888 224.955813 -" style="fill:none;stroke:#0000ff;stroke-width:0.03426;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 471.828888 224.955813 -L 471.828888 224.955813 -" style="fill:none;stroke:#0000ff;stroke-width:0.03426;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 471.828888 224.955813 -L 471.828888 224.955813 -" style="fill:none;stroke:#0000ff;stroke-width:0.03426;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 471.828888 224.955813 -L 471.828888 224.955813 -" style="fill:none;stroke:#0000ff;stroke-width:0.03426;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 471.828888 224.955813 -L 471.828888 224.955813 -" style="fill:none;stroke:#0000ff;stroke-width:0.03426;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 471.828888 224.955813 -L 471.828888 224.955813 -" style="fill:none;stroke:#0000ff;stroke-width:0.03426;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 471.828888 224.955813 -L 471.828888 224.955813 -" style="fill:none;stroke:#0000ff;stroke-width:0.03426;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 471.828888 224.955813 -L 471.828888 224.955813 -" style="fill:none;stroke:#0000ff;stroke-width:0.03426;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 471.828888 224.955813 -L 471.828888 224.955813 -" style="fill:none;stroke:#0000ff;stroke-width:0.03426;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 471.828888 224.955813 -L 471.828888 224.955813 -" style="fill:none;stroke:#0000ff;stroke-width:0.03426;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 471.828888 224.955813 -L 471.828888 224.955813 -" style="fill:none;stroke:#0000ff;stroke-width:0.03426;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 414.644342 242.213189 -L 417.664633 239.868623 -" style="fill:none;stroke:#0000ff;stroke-width:4.406761;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 417.664633 239.868623 -L 420.728494 237.670323 -" style="fill:none;stroke:#0000ff;stroke-width:4.292078;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 420.728494 237.670323 -L 423.831704 235.601936 -" style="fill:none;stroke:#0000ff;stroke-width:4.131791;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 414.644342 247.67427 -L 417.534504 244.967636 -" style="fill:none;stroke:#0000ff;stroke-width:4.470328;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 417.534504 244.967636 -L 420.483012 242.413391 -" style="fill:none;stroke:#0000ff;stroke-width:4.316706;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 420.483012 242.413391 -L 423.482886 240.008172 -" style="fill:none;stroke:#0000ff;stroke-width:4.126079;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 414.644342 258.596433 -L 417.252735 255.26626 -" style="fill:none;stroke:#0000ff;stroke-width:4.702659;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 417.252735 255.26626 -L 419.928968 252.070874 -" style="fill:none;stroke:#0000ff;stroke-width:4.521477;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 419.928968 252.070874 -L 422.674965 249.021224 -" style="fill:none;stroke:#0000ff;stroke-width:4.32069;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 422.674965 249.021224 -L 425.486301 246.120878 -" style="fill:none;stroke:#0000ff;stroke-width:4.083667;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 425.486301 246.120878 -L 428.359455 243.3736 -" style="fill:none;stroke:#0000ff;stroke-width:3.826816;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 428.359455 243.3736 -L 431.289844 240.775224 -" style="fill:none;stroke:#0000ff;stroke-width:3.541421;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 431.289844 240.775224 -L 434.271514 238.326583 -" style="fill:none;stroke:#0000ff;stroke-width:3.245841;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 434.271514 238.326583 -L 437.301536 236.019923 -" style="fill:none;stroke:#0000ff;stroke-width:2.930897;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 437.301536 236.019923 -L 440.375047 233.85646 -" style="fill:none;stroke:#0000ff;stroke-width:2.59034;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 440.375047 233.85646 -L 443.485905 231.839656 -" style="fill:none;stroke:#0000ff;stroke-width:2.269729;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 443.485905 231.839656 -L 446.634367 229.965065 -" style="fill:none;stroke:#0000ff;stroke-width:1.938984;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 446.634367 229.965065 -L 449.819058 228.236207 -" style="fill:none;stroke:#0000ff;stroke-width:1.601871;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 449.819058 228.236207 -L 453.033918 226.665764 -" style="fill:none;stroke:#0000ff;stroke-width:1.287416;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 453.033918 226.665764 -L 456.275734 225.269752 -" style="fill:none;stroke:#0000ff;stroke-width:0.998595;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 456.275734 225.269752 -L 459.547235 224.072099 -" style="fill:none;stroke:#0000ff;stroke-width:0.732707;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 459.547235 224.072099 -L 462.853676 223.11853 -" style="fill:none;stroke:#0000ff;stroke-width:0.498569;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 462.853676 223.11853 -L 466.195635 222.470473 -" style="fill:none;stroke:#0000ff;stroke-width:0.298028;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 414.644342 269.518595 -L 417.050162 265.837426 -" style="fill:none;stroke:#0000ff;stroke-width:4.8901;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 417.050162 265.837426 -L 419.485206 262.203142 -" style="fill:none;stroke:#0000ff;stroke-width:4.750051;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 419.485206 262.203142 -L 421.966939 258.648086 -" style="fill:none;stroke:#0000ff;stroke-width:4.583886;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 421.966939 258.648086 -L 424.506234 255.192744 -" style="fill:none;stroke:#0000ff;stroke-width:4.357622;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 424.506234 255.192744 -L 427.111143 251.859987 -" style="fill:none;stroke:#0000ff;stroke-width:4.102027;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 427.111143 251.859987 -L 429.785887 248.663274 -" style="fill:none;stroke:#0000ff;stroke-width:3.8223;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 429.785887 248.663274 -L 432.529426 245.61396 -" style="fill:none;stroke:#0000ff;stroke-width:3.503797;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 432.529426 245.61396 -L 435.342021 242.721323 -" style="fill:none;stroke:#0000ff;stroke-width:3.18979;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 435.342021 242.721323 -L 438.218583 239.987264 -" style="fill:none;stroke:#0000ff;stroke-width:2.845824;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 438.218583 239.987264 -L 441.154214 237.417927 -" style="fill:none;stroke:#0000ff;stroke-width:2.515591;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 441.154214 237.417927 -L 444.14786 235.008257 -" style="fill:none;stroke:#0000ff;stroke-width:2.173963;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 414.644342 274.979676 -L 417.012732 271.23965 -" style="fill:none;stroke:#0000ff;stroke-width:4.914099;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 417.012732 271.23965 -L 419.378993 267.496959 -" style="fill:none;stroke:#0000ff;stroke-width:4.806784;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 419.378993 267.496959 -L 421.760689 263.778897 -" style="fill:none;stroke:#0000ff;stroke-width:4.678638;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 421.760689 263.778897 -L 424.17787 260.118626 -" style="fill:none;stroke:#0000ff;stroke-width:4.480727;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 424.17787 260.118626 -L 426.644857 256.54044 -" style="fill:none;stroke:#0000ff;stroke-width:4.249587;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 414.644342 280.440757 -L 417.034642 276.735115 -" style="fill:none;stroke:#0000ff;stroke-width:4.86568;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 417.034642 276.735115 -L 419.382958 272.965224 -" style="fill:none;stroke:#0000ff;stroke-width:4.806822;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 419.382958 272.965224 -L 421.706224 269.158065 -" style="fill:none;stroke:#0000ff;stroke-width:4.714424;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 421.706224 269.158065 -L 424.028555 265.350762 -" style="fill:none;stroke:#0000ff;stroke-width:4.566459;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 424.028555 265.350762 -L 426.370933 261.573821 -" style="fill:none;stroke:#0000ff;stroke-width:4.364802;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 426.370933 261.573821 -L 428.754025 257.861557 -" style="fill:none;stroke:#0000ff;stroke-width:4.126984;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 428.754025 257.861557 -L 431.197242 254.247602 -" style="fill:none;stroke:#0000ff;stroke-width:3.839527;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 431.197242 254.247602 -L 433.709944 250.753277 -" style="fill:none;stroke:#0000ff;stroke-width:3.531708;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 433.709944 250.753277 -L 436.300279 247.402545 -" style="fill:none;stroke:#0000ff;stroke-width:3.195096;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 414.644342 285.901838 -L 417.107823 282.315787 -" style="fill:none;stroke:#0000ff;stroke-width:4.771198;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 417.107823 282.315787 -L 419.494215 278.605 -" style="fill:none;stroke:#0000ff;stroke-width:4.745546;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 419.494215 278.605 -L 421.814461 274.794223 -" style="fill:none;stroke:#0000ff;stroke-width:4.684275;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 421.814461 274.794223 -L 424.089155 270.917501 -" style="fill:none;stroke:#0000ff;stroke-width:4.586196;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 424.089155 270.917501 -L 426.344855 267.014999 -" style="fill:none;stroke:#0000ff;stroke-width:4.425647;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 426.344855 267.014999 -L 428.602246 263.115959 -" style="fill:none;stroke:#0000ff;stroke-width:4.228137;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 428.602246 263.115959 -L 430.890435 259.263359 -" style="fill:none;stroke:#0000ff;stroke-width:3.981155;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 414.644342 291.362919 -L 417.223882 287.980938 -" style="fill:none;stroke:#0000ff;stroke-width:4.651121;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 417.223882 287.980938 -L 419.704508 284.423422 -" style="fill:none;stroke:#0000ff;stroke-width:4.629511;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 419.704508 284.423422 -L 422.088519 280.710715 -" style="fill:none;stroke:#0000ff;stroke-width:4.587919;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 422.088519 280.710715 -L 424.382724 276.86289 -" style="fill:none;stroke:#0000ff;stroke-width:4.518533;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 424.382724 276.86289 -L 426.606771 272.916913 -" style="fill:none;stroke:#0000ff;stroke-width:4.405973;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 426.606771 272.916913 -L 428.778735 268.901879 -" style="fill:none;stroke:#0000ff;stroke-width:4.256073;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 428.778735 268.901879 -L 430.932645 264.864639 -" style="fill:none;stroke:#0000ff;stroke-width:4.065909;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 414.644342 296.824 -L 417.369709 293.731935 -" style="fill:none;stroke:#0000ff;stroke-width:4.53097;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 417.369709 293.731935 -L 419.991925 290.431717 -" style="fill:none;stroke:#0000ff;stroke-width:4.485282;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 419.991925 290.431717 -L 422.50028 286.924821 -" style="fill:none;stroke:#0000ff;stroke-width:4.440132;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 422.50028 286.924821 -L 424.887452 283.218735 -" style="fill:none;stroke:#0000ff;stroke-width:4.377263;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 424.887452 283.218735 -L 427.15741 279.33833 -" style="fill:none;stroke:#0000ff;stroke-width:4.290369;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 427.15741 279.33833 -L 429.316284 275.307798 -" style="fill:none;stroke:#0000ff;stroke-width:4.184557;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 429.316284 275.307798 -L 431.391995 271.172222 -" style="fill:none;stroke:#0000ff;stroke-width:4.048264;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 431.391995 271.172222 -L 433.418755 266.980261 -" style="fill:none;stroke:#0000ff;stroke-width:3.862081;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 433.418755 266.980261 -L 435.429547 262.77071 -" style="fill:none;stroke:#0000ff;stroke-width:3.640694;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 435.429547 262.77071 -L 437.469943 258.600373 -" style="fill:none;stroke:#0000ff;stroke-width:3.377069;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 437.469943 258.600373 -L 439.573986 254.511171 -" style="fill:none;stroke:#0000ff;stroke-width:3.071671;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 439.573986 254.511171 -L 441.771143 250.546203 -" style="fill:none;stroke:#0000ff;stroke-width:2.743636;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 441.771143 250.546203 -L 444.083473 246.753108 -" style="fill:none;stroke:#0000ff;stroke-width:2.398164;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 444.083473 246.753108 -L 446.520044 243.151967 -" style="fill:none;stroke:#0000ff;stroke-width:2.049468;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 446.520044 243.151967 -L 449.080216 239.779158 -" style="fill:none;stroke:#0000ff;stroke-width:1.706723;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 449.080216 239.779158 -L 451.762732 236.647231 -" style="fill:none;stroke:#0000ff;stroke-width:1.388199;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 451.762732 236.647231 -L 454.55639 233.773484 -" style="fill:none;stroke:#0000ff;stroke-width:1.080167;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 454.55639 233.773484 -L 457.447465 231.178544 -" style="fill:none;stroke:#0000ff;stroke-width:0.819387;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 457.447465 231.178544 -L 460.445176 228.862657 -" style="fill:none;stroke:#0000ff;stroke-width:0.577535;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 414.644342 307.746163 -L 417.662331 305.394564 -" style="fill:none;stroke:#0000ff;stroke-width:4.40669;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 417.662331 305.394564 -L 420.611703 302.849032 -" style="fill:none;stroke:#0000ff;stroke-width:4.291206;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 420.611703 302.849032 -L 423.475373 300.076366 -" style="fill:none;stroke:#0000ff;stroke-width:4.149172;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 423.475373 300.076366 -L 426.229648 297.051718 -" style="fill:none;stroke:#0000ff;stroke-width:4.004157;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 426.229648 297.051718 -L 428.844296 293.743338 -" style="fill:none;stroke:#0000ff;stroke-width:3.86044;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 428.844296 293.743338 -L 431.290413 290.137972 -" style="fill:none;stroke:#0000ff;stroke-width:3.725967;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 431.290413 290.137972 -L 433.538932 286.237607 -" style="fill:none;stroke:#0000ff;stroke-width:3.616446;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 433.538932 286.237607 -L 435.572646 282.060281 -" style="fill:none;stroke:#0000ff;stroke-width:3.513902;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 435.572646 282.060281 -L 437.402053 277.660825 -" style="fill:none;stroke:#0000ff;stroke-width:3.428706;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 437.402053 277.660825 -L 439.06423 273.104899 -" style="fill:none;stroke:#0000ff;stroke-width:3.316989;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 439.06423 273.104899 -L 440.607192 268.447716 -" style="fill:none;stroke:#0000ff;stroke-width:3.185718;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 440.607192 268.447716 -L 442.109731 263.763074 -" style="fill:none;stroke:#0000ff;stroke-width:3.02161;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 442.109731 263.763074 -L 443.653869 259.117183 -" style="fill:none;stroke:#0000ff;stroke-width:2.787672;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 443.653869 259.117183 -L 445.29422 254.555837 -" style="fill:none;stroke:#0000ff;stroke-width:2.515365;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 445.29422 254.555837 -L 447.083476 250.140511 -" style="fill:none;stroke:#0000ff;stroke-width:2.214733;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 447.083476 250.140511 -L 449.061795 245.941478 -" style="fill:none;stroke:#0000ff;stroke-width:1.88832;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 414.644342 313.207244 -L 417.7782 311.257438 -" style="fill:none;stroke:#0000ff;stroke-width:4.490704;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 417.7782 311.257438 -L 420.868041 309.148137 -" style="fill:none;stroke:#0000ff;stroke-width:4.320976;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 420.868041 309.148137 -L 423.901948 306.849047 -" style="fill:none;stroke:#0000ff;stroke-width:4.113111;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 414.644342 318.668325 -L 417.866059 317.099228 -" style="fill:none;stroke:#0000ff;stroke-width:4.690057;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 417.866059 317.099228 -L 421.063569 315.414204 -" style="fill:none;stroke:#0000ff;stroke-width:4.475168;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 421.063569 315.414204 -L 424.230509 313.592201 -" style="fill:none;stroke:#0000ff;stroke-width:4.212262;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 424.230509 313.592201 -L 427.355394 311.60954 -" style="fill:none;stroke:#0000ff;stroke-width:3.926891;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 427.355394 311.60954 -L 430.422951 309.429083 -" style="fill:none;stroke:#0000ff;stroke-width:3.64128;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 430.422951 309.429083 -L 433.41139 306.996662 -" style="fill:none;stroke:#0000ff;stroke-width:3.324308;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 433.41139 306.996662 -L 436.283338 304.256955 -" style="fill:none;stroke:#0000ff;stroke-width:3.021864;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 436.283338 304.256955 -L 438.982817 301.127352 -" style="fill:none;stroke:#0000ff;stroke-width:2.770307;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 438.982817 301.127352 -L 441.426102 297.537684 -" style="fill:none;stroke:#0000ff;stroke-width:2.54968;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 441.426102 297.537684 -L 443.392176 293.730072 -" style="fill:none;stroke:#0000ff;stroke-width:2.421083;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 443.392176 293.730072 -L 444.832386 289.974212 -" style="fill:none;stroke:#0000ff;stroke-width:2.362147;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 444.832386 289.974212 -L 445.941925 286.021965 -" style="fill:none;stroke:#0000ff;stroke-width:2.367076;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 445.941925 286.021965 -L 446.788796 281.779035 -" style="fill:none;stroke:#0000ff;stroke-width:2.401455;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 446.788796 281.779035 -L 447.468408 277.032449 -" style="fill:none;stroke:#0000ff;stroke-width:2.452545;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 447.468408 277.032449 -L 448.047165 271.881304 -" style="fill:none;stroke:#0000ff;stroke-width:2.462214;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 448.047165 271.881304 -L 448.587589 266.71455 -" style="fill:none;stroke:#0000ff;stroke-width:2.42313;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 448.587589 266.71455 -L 449.197701 261.574419 -" style="fill:none;stroke:#0000ff;stroke-width:2.319087;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 449.197701 261.574419 -L 449.987455 256.513906 -" style="fill:none;stroke:#0000ff;stroke-width:2.149327;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 449.987455 256.513906 -L 451.047866 251.599178 -" style="fill:none;stroke:#0000ff;stroke-width:1.9059;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 451.047866 251.599178 -L 452.428549 246.89118 -" style="fill:none;stroke:#0000ff;stroke-width:1.626135;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 452.428549 246.89118 -L 454.026214 242.715934 -" style="fill:none;stroke:#0000ff;stroke-width:1.325577;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 454.026214 242.715934 -L 455.842383 238.988536 -" style="fill:none;stroke:#0000ff;stroke-width:1.051937;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 455.842383 238.988536 -L 457.814061 235.716833 -" style="fill:none;stroke:#0000ff;stroke-width:0.816871;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 414.644342 324.129406 -L 417.92827 322.90367 -" style="fill:none;stroke:#0000ff;stroke-width:5.007593;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 417.92827 322.90367 -L 421.200822 321.603371 -" style="fill:none;stroke:#0000ff;stroke-width:4.764791;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 421.200822 321.603371 -L 424.459216 320.217481 -" style="fill:none;stroke:#0000ff;stroke-width:4.467114;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 424.459216 320.217481 -L 427.698049 318.73185 -" style="fill:none;stroke:#0000ff;stroke-width:4.138204;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 427.698049 318.73185 -L 430.911044 317.125414 -" style="fill:none;stroke:#0000ff;stroke-width:3.790758;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 430.911044 317.125414 -L 434.090492 315.366057 -" style="fill:none;stroke:#0000ff;stroke-width:3.405451;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 434.090492 315.366057 -L 437.222122 313.409898 -" style="fill:none;stroke:#0000ff;stroke-width:3.001347;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 437.222122 313.409898 -L 440.278174 311.19962 -" style="fill:none;stroke:#0000ff;stroke-width:2.616814;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 440.278174 311.19962 -L 443.214567 308.640576 -" style="fill:none;stroke:#0000ff;stroke-width:2.272668;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 443.214567 308.640576 -L 445.946831 305.604381 -" style="fill:none;stroke:#0000ff;stroke-width:1.959816;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 445.946831 305.604381 -L 445.946831 305.604381 -" style="fill:none;stroke:#0000ff;stroke-width:1.740901;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 445.946831 305.604381 -L 447.844708 302.820096 -" style="fill:none;stroke:#0000ff;stroke-width:1.740901;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 447.844708 302.820096 -L 449.449179 299.571231 -" style="fill:none;stroke:#0000ff;stroke-width:1.635274;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 449.449179 299.571231 -L 450.53076 296.354852 -" style="fill:none;stroke:#0000ff;stroke-width:1.609838;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 450.53076 296.354852 -L 451.238613 293.070173 -" style="fill:none;stroke:#0000ff;stroke-width:1.656127;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 451.238613 293.070173 -L 451.672267 289.541635 -" style="fill:none;stroke:#0000ff;stroke-width:1.73776;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 451.672267 289.541635 -L 451.88177 285.576118 -" style="fill:none;stroke:#0000ff;stroke-width:1.850877;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 451.88177 285.576118 -L 451.888358 280.79311 -" style="fill:none;stroke:#0000ff;stroke-width:1.973248;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 451.888358 280.79311 -L 451.749353 275.58051 -" style="fill:none;stroke:#0000ff;stroke-width:2.107155;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 451.749353 275.58051 -L 451.609366 270.371114 -" style="fill:none;stroke:#0000ff;stroke-width:2.186705;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 414.644342 329.590487 -L 417.969694 328.663176 -" style="fill:none;stroke:#0000ff;stroke-width:5.435987;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 417.969694 328.663176 -L 421.290686 327.694606 -" style="fill:none;stroke:#0000ff;stroke-width:5.184034;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 421.290686 327.694606 -L 424.606139 326.681024 -" style="fill:none;stroke:#0000ff;stroke-width:4.873051;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 424.606139 326.681024 -L 427.914066 325.616775 -" style="fill:none;stroke:#0000ff;stroke-width:4.526299;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 427.914066 325.616775 -L 431.212946 324.494252 -" style="fill:none;stroke:#0000ff;stroke-width:4.141458;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 431.212946 324.494252 -L 434.501117 323.302609 -" style="fill:none;stroke:#0000ff;stroke-width:3.715285;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 434.501117 323.302609 -L 437.776126 322.025586 -" style="fill:none;stroke:#0000ff;stroke-width:3.259193;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 437.776126 322.025586 -L 441.033784 320.63862 -" style="fill:none;stroke:#0000ff;stroke-width:2.791991;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 441.033784 320.63862 -L 444.262011 319.106571 -" style="fill:none;stroke:#0000ff;stroke-width:2.328331;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 444.262011 319.106571 -L 447.440841 317.371028 -" style="fill:none;stroke:#0000ff;stroke-width:1.907181;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 447.440841 317.371028 -L 450.537628 315.324458 -" style="fill:none;stroke:#0000ff;stroke-width:1.517837;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 450.537628 315.324458 -L 453.465082 312.781182 -" style="fill:none;stroke:#0000ff;stroke-width:1.170965;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 453.465082 312.781182 -L 453.465082 312.781182 -" style="fill:none;stroke:#0000ff;stroke-width:0.914477;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 453.465082 312.781182 -L 455.255137 310.624828 -" style="fill:none;stroke:#0000ff;stroke-width:0.914477;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 455.255137 310.624828 -L 455.255137 310.624828 -" style="fill:none;stroke:#0000ff;stroke-width:0.815284;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 455.255137 310.624828 -L 456.525231 308.444369 -" style="fill:none;stroke:#0000ff;stroke-width:0.815284;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 456.525231 308.444369 -L 457.475578 305.865278 -" style="fill:none;stroke:#0000ff;stroke-width:0.765183;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 457.475578 305.865278 -L 457.976595 303.354214 -" style="fill:none;stroke:#0000ff;stroke-width:0.798623;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 457.976595 303.354214 -L 458.170232 300.726948 -" style="fill:none;stroke:#0000ff;stroke-width:0.876037;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 458.170232 300.726948 -L 458.115114 297.831023 -" style="fill:none;stroke:#0000ff;stroke-width:0.97841;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 458.115114 297.831023 -L 457.796242 294.330081 -" style="fill:none;stroke:#0000ff;stroke-width:1.12203;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 457.796242 294.330081 -L 457.20563 290.160385 -" style="fill:none;stroke:#0000ff;stroke-width:1.303662;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 457.20563 290.160385 -L 456.356542 285.117533 -" style="fill:none;stroke:#0000ff;stroke-width:1.514551;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 456.356542 285.117533 -L 455.478455 280.093582 -" style="fill:none;stroke:#0000ff;stroke-width:1.744724;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 414.644342 335.051568 -L 417.995657 334.376407 -" style="fill:none;stroke:#0000ff;stroke-width:5.958059;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 417.995657 334.376407 -L 421.345634 333.683612 -" style="fill:none;stroke:#0000ff;stroke-width:5.711985;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 421.345634 333.683612 -L 424.693831 332.973618 -" style="fill:none;stroke:#0000ff;stroke-width:5.408622;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 424.693831 332.973618 -L 428.040001 332.246945 -" style="fill:none;stroke:#0000ff;stroke-width:5.056674;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 428.040001 332.246945 -L 431.384273 331.504618 -" style="fill:none;stroke:#0000ff;stroke-width:4.656526;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 431.384273 331.504618 -L 434.726811 330.747849 -" style="fill:none;stroke:#0000ff;stroke-width:4.21366;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 494.916054 320.11466 -L 493.09148 320.67744 -" style="fill:none;stroke:#0000ff;stroke-width:1.594012;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 493.09148 320.67744 -L 489.787775 321.755392 -" style="fill:none;stroke:#0000ff;stroke-width:1.361471;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 489.787775 321.755392 -L 486.512647 322.970693 -" style="fill:none;stroke:#0000ff;stroke-width:0.982125;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 486.512647 322.970693 -L 483.602568 324.258933 -" style="fill:none;stroke:#0000ff;stroke-width:0.654611;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 483.602568 324.258933 -L 481.562763 325.400334 -" style="fill:none;stroke:#0000ff;stroke-width:0.426686;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 481.562763 325.400334 -L 480.133818 326.456224 -" style="fill:none;stroke:#0000ff;stroke-width:0.287501;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 480.133818 326.456224 -L 479.086251 327.539924 -" style="fill:none;stroke:#0000ff;stroke-width:0.214108;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 479.086251 327.539924 -L 478.268472 328.878465 -" style="fill:none;stroke:#0000ff;stroke-width:0.164945;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 478.268472 328.878465 -L 477.764764 330.679611 -" style="fill:none;stroke:#0000ff;stroke-width:0.158599;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 477.764764 330.679611 -L 477.703622 332.61605 -" style="fill:none;stroke:#0000ff;stroke-width:0.184136;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 477.703622 332.61605 -L 477.703622 332.61605 -" style="fill:none;stroke:#0000ff;stroke-width:0.226133;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 477.703622 332.61605 -L 478.016746 335.051568 -" style="fill:none;stroke:#0000ff;stroke-width:0.226133;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 478.016746 335.051568 -L 478.016746 335.051568 -" style="fill:none;stroke:#0000ff;stroke-width:0.304457;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 478.016746 335.051568 -L 478.016746 335.051568 -" style="fill:none;stroke:#0000ff;stroke-width:0.304457;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 472.606703 323.113303 -L 472.606703 323.113303 -" style="fill:none;stroke:#0000ff;stroke-width:0.032784;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 472.606703 323.113303 -L 472.389627 323.542531 -" style="fill:none;stroke:#0000ff;stroke-width:0.032784;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 472.389627 323.542531 -L 472.455617 324.068937 -" style="fill:none;stroke:#0000ff;stroke-width:0.03516;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 472.455617 324.068937 -L 472.651405 324.712015 -" style="fill:none;stroke:#0000ff;stroke-width:0.037471;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 472.651405 324.712015 -L 472.917644 325.457737 -" style="fill:none;stroke:#0000ff;stroke-width:0.039677;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 472.917644 325.457737 -L 473.18928 326.183176 -" style="fill:none;stroke:#0000ff;stroke-width:0.041527;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 473.18928 326.183176 -L 473.620834 327.312056 -" style="fill:none;stroke:#0000ff;stroke-width:0.042637;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 473.620834 327.312056 -L 473.620834 327.312056 -" style="fill:none;stroke:#0000ff;stroke-width:0.043041;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 473.620834 327.312056 -L 474.496057 329.590487 -" style="fill:none;stroke:#0000ff;stroke-width:0.043041;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 474.496057 329.590487 -L 474.496057 329.590487 -" style="fill:none;stroke:#0000ff;stroke-width:0.11335;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 494.916054 312.931463 -L 492.099503 313.207244 -" style="fill:none;stroke:#0000ff;stroke-width:2.019077;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 492.099503 313.207244 -L 488.727221 313.511062 -" style="fill:none;stroke:#0000ff;stroke-width:1.65861;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 488.727221 313.511062 -L 485.352242 313.714005 -" style="fill:none;stroke:#0000ff;stroke-width:1.260357;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 485.352242 313.714005 -L 481.975284 313.722924 -" style="fill:none;stroke:#0000ff;stroke-width:0.912809;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 481.975284 313.722924 -L 478.606867 313.411849 -" style="fill:none;stroke:#0000ff;stroke-width:0.62714;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 478.606867 313.411849 -L 475.29021 312.554952 -" style="fill:none;stroke:#0000ff;stroke-width:0.428657;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 475.29021 312.554952 -L 475.29021 312.554952 -" style="fill:none;stroke:#0000ff;stroke-width:0.324306;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 475.29021 312.554952 -L 472.987618 311.427748 -" style="fill:none;stroke:#0000ff;stroke-width:0.324306;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 472.987618 311.427748 -L 470.797416 309.713802 -" style="fill:none;stroke:#0000ff;stroke-width:0.302006;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 470.797416 309.713802 -L 469.006861 307.70807 -" style="fill:none;stroke:#0000ff;stroke-width:0.337594;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 469.006861 307.70807 -L 467.360933 305.305367 -" style="fill:none;stroke:#0000ff;stroke-width:0.397459;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 467.360933 305.305367 -L 465.719024 302.363846 -" style="fill:none;stroke:#0000ff;stroke-width:0.530981;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 465.719024 302.363846 -L 463.942501 298.608084 -" style="fill:none;stroke:#0000ff;stroke-width:0.681395;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 463.942501 298.608084 -L 462.14286 294.258523 -" style="fill:none;stroke:#0000ff;stroke-width:0.910086;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 462.14286 294.258523 -L 460.483249 289.748411 -" style="fill:none;stroke:#0000ff;stroke-width:1.171487;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 460.483249 289.748411 -L 458.965424 285.120619 -" style="fill:none;stroke:#0000ff;stroke-width:1.424815;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 494.916054 307.763006 -L 492.099503 307.746163 -" style="fill:none;stroke:#0000ff;stroke-width:2.41221;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 492.099503 307.746163 -L 488.720424 307.678754 -" style="fill:none;stroke:#0000ff;stroke-width:2.054205;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 488.720424 307.678754 -L 485.345174 307.459948 -" style="fill:none;stroke:#0000ff;stroke-width:1.656803;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 485.345174 307.459948 -L 481.981397 306.991861 -" style="fill:none;stroke:#0000ff;stroke-width:1.311878;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 481.981397 306.991861 -L 478.647627 306.174307 -" style="fill:none;stroke:#0000ff;stroke-width:1.031861;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 478.647627 306.174307 -L 475.384465 304.876283 -" style="fill:none;stroke:#0000ff;stroke-width:0.842139;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 475.384465 304.876283 -L 472.261357 302.965059 -" style="fill:none;stroke:#0000ff;stroke-width:0.745619;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 472.261357 302.965059 -L 469.68754 300.721131 -" style="fill:none;stroke:#0000ff;stroke-width:0.736845;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 469.68754 300.721131 -L 467.457398 298.150752 -" style="fill:none;stroke:#0000ff;stroke-width:0.791617;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 494.916054 302.510531 -L 492.099503 302.285081 -" style="fill:none;stroke:#0000ff;stroke-width:2.873565;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 492.099503 302.285081 -L 488.727344 301.959996 -" style="fill:none;stroke:#0000ff;stroke-width:2.516366;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 488.727344 301.959996 -L 485.364483 301.4683 -" style="fill:none;stroke:#0000ff;stroke-width:2.118624;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 485.364483 301.4683 -L 482.021389 300.721248 -" style="fill:none;stroke:#0000ff;stroke-width:1.771927;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 482.021389 300.721248 -L 478.716979 299.646363 -" style="fill:none;stroke:#0000ff;stroke-width:1.48908;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 478.716979 299.646363 -L 475.4843 298.158421 -" style="fill:none;stroke:#0000ff;stroke-width:1.296158;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 475.4843 298.158421 -L 472.370368 296.17628 -" style="fill:none;stroke:#0000ff;stroke-width:1.19115;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 472.370368 296.17628 -L 469.462882 293.684523 -" style="fill:none;stroke:#0000ff;stroke-width:1.168358;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 469.462882 293.684523 -L 466.923121 290.859277 -" style="fill:none;stroke:#0000ff;stroke-width:1.212031;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 466.923121 290.859277 -L 464.643506 287.685805 -" style="fill:none;stroke:#0000ff;stroke-width:1.330373;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 464.643506 287.685805 -L 462.518388 284.043182 -" style="fill:none;stroke:#0000ff;stroke-width:1.471247;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 462.518388 284.043182 -L 460.593723 280.016964 -" style="fill:none;stroke:#0000ff;stroke-width:1.619704;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 460.593723 280.016964 -L 458.855048 275.566893 -" style="fill:none;stroke:#0000ff;stroke-width:1.754928;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 458.855048 275.566893 -L 457.39948 270.877358 -" style="fill:none;stroke:#0000ff;stroke-width:1.87011;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 457.39948 270.877358 -L 456.264953 266.008236 -" style="fill:none;stroke:#0000ff;stroke-width:1.888469;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 456.264953 266.008236 -L 455.498479 261.111768 -" style="fill:none;stroke:#0000ff;stroke-width:1.849723;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 455.498479 261.111768 -L 455.141586 256.379319 -" style="fill:none;stroke:#0000ff;stroke-width:1.745609;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 455.141586 256.379319 -L 455.185799 252.067691 -" style="fill:none;stroke:#0000ff;stroke-width:1.571064;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 455.185799 252.067691 -L 455.56857 248.105203 -" style="fill:none;stroke:#0000ff;stroke-width:1.375042;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 455.56857 248.105203 -L 456.28791 244.332573 -" style="fill:none;stroke:#0000ff;stroke-width:1.171063;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 456.28791 244.332573 -L 457.263745 240.974622 -" style="fill:none;stroke:#0000ff;stroke-width:0.965036;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 494.916054 297.200976 -L 492.099503 296.824 -" style="fill:none;stroke:#0000ff;stroke-width:3.341137;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 492.099503 296.824 -L 488.736582 296.316945 -" style="fill:none;stroke:#0000ff;stroke-width:2.98191;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 488.736582 296.316945 -L 485.386802 295.643338 -" style="fill:none;stroke:#0000ff;stroke-width:2.581648;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 485.386802 295.643338 -L 482.061588 294.722619 -" style="fill:none;stroke:#0000ff;stroke-width:2.231408;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 482.061588 294.722619 -L 478.778248 293.497756 -" style="fill:none;stroke:#0000ff;stroke-width:1.942567;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 478.778248 293.497756 -L 475.564207 291.907123 -" style="fill:none;stroke:#0000ff;stroke-width:1.731488;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 494.916054 291.848503 -L 492.099503 291.362919 -" style="fill:none;stroke:#0000ff;stroke-width:3.779435;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 492.099503 291.362919 -L 488.74531 290.728688 -" style="fill:none;stroke:#0000ff;stroke-width:3.411211;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 488.74531 290.728688 -L 485.406406 289.933301 -" style="fill:none;stroke:#0000ff;stroke-width:3.000127;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 485.406406 289.933301 -L 482.09436 288.902896 -" style="fill:none;stroke:#0000ff;stroke-width:2.636678;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 482.09436 288.902896 -L 478.82518 287.588068 -" style="fill:none;stroke:#0000ff;stroke-width:2.331488;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 478.82518 287.588068 -L 475.622686 285.937843 -" style="fill:none;stroke:#0000ff;stroke-width:2.101672;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 475.622686 285.937843 -L 472.518001 283.899762 -" style="fill:none;stroke:#0000ff;stroke-width:1.930148;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 472.518001 283.899762 -L 469.547166 281.425521 -" style="fill:none;stroke:#0000ff;stroke-width:1.828363;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 469.547166 281.425521 -L 466.760866 278.489312 -" style="fill:none;stroke:#0000ff;stroke-width:1.788643;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 466.760866 278.489312 -L 464.263894 275.177765 -" style="fill:none;stroke:#0000ff;stroke-width:1.778709;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 464.263894 275.177765 -L 462.092263 271.548701 -" style="fill:none;stroke:#0000ff;stroke-width:1.805285;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 462.092263 271.548701 -L 460.294859 267.74158 -" style="fill:none;stroke:#0000ff;stroke-width:1.788626;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 460.294859 267.74158 -L 458.826218 263.675259 -" style="fill:none;stroke:#0000ff;stroke-width:1.771177;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 494.916054 286.461998 -L 492.099503 285.901838 -" style="fill:none;stroke:#0000ff;stroke-width:4.152591;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 492.099503 285.901838 -L 488.752274 285.182362 -" style="fill:none;stroke:#0000ff;stroke-width:3.767505;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 488.752274 285.182362 -L 485.421297 284.308636 -" style="fill:none;stroke:#0000ff;stroke-width:3.336222;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 485.421297 284.308636 -L 482.117982 283.211162 -" style="fill:none;stroke:#0000ff;stroke-width:2.949362;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 482.117982 283.211162 -L 478.857376 281.844682 -" style="fill:none;stroke:#0000ff;stroke-width:2.616409;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 478.857376 281.844682 -L 475.661447 280.161819 -" style="fill:none;stroke:#0000ff;stroke-width:2.363967;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 494.916054 281.046923 -L 492.099503 280.440757 -" style="fill:none;stroke:#0000ff;stroke-width:4.426488;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 492.099503 280.440757 -L 488.756909 279.670183 -" style="fill:none;stroke:#0000ff;stroke-width:4.018843;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 488.756909 279.670183 -L 485.430754 278.752131 -" style="fill:none;stroke:#0000ff;stroke-width:3.560624;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 485.430754 278.752131 -L 482.132191 277.619651 -" style="fill:none;stroke:#0000ff;stroke-width:3.143388;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 482.132191 277.619651 -L 478.875549 276.22968 -" style="fill:none;stroke:#0000ff;stroke-width:2.775225;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 478.875549 276.22968 -L 475.682171 274.534325 -" style="fill:none;stroke:#0000ff;stroke-width:2.482686;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 475.682171 274.534325 -L 472.579751 272.483409 -" style="fill:none;stroke:#0000ff;stroke-width:2.243936;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 472.579751 272.483409 -L 469.604346 270.019145 -" style="fill:none;stroke:#0000ff;stroke-width:2.025722;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 469.604346 270.019145 -L 466.814578 267.092404 -" style="fill:none;stroke:#0000ff;stroke-width:1.8602;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 466.814578 267.092404 -L 464.369173 263.794382 -" style="fill:none;stroke:#0000ff;stroke-width:1.742456;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 464.369173 263.794382 -L 462.410122 260.346415 -" style="fill:none;stroke:#0000ff;stroke-width:1.614541;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 462.410122 260.346415 -L 460.913383 256.795307 -" style="fill:none;stroke:#0000ff;stroke-width:1.498523;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 460.913383 256.795307 -L 459.879597 253.261543 -" style="fill:none;stroke:#0000ff;stroke-width:1.355555;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 459.879597 253.261543 -L 459.276472 249.829729 -" style="fill:none;stroke:#0000ff;stroke-width:1.221103;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 459.276472 249.829729 -L 459.064557 246.50212 -" style="fill:none;stroke:#0000ff;stroke-width:1.071298;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 459.064557 246.50212 -L 459.205443 243.379906 -" style="fill:none;stroke:#0000ff;stroke-width:0.922695;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 459.205443 243.379906 -L 459.670858 240.382841 -" style="fill:none;stroke:#0000ff;stroke-width:0.772483;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 459.670858 240.382841 -L 460.421487 237.598061 -" style="fill:none;stroke:#0000ff;stroke-width:0.635919;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 460.421487 237.598061 -L 461.468439 234.922704 -" style="fill:none;stroke:#0000ff;stroke-width:0.503183;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 461.468439 234.922704 -L 462.766003 232.459633 -" style="fill:none;stroke:#0000ff;stroke-width:0.375074;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 462.766003 232.459633 -L 464.247074 230.275562 -" style="fill:none;stroke:#0000ff;stroke-width:0.29002;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 464.247074 230.275562 -L 466.073689 228.186674 -" style="fill:none;stroke:#0000ff;stroke-width:0.192142;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 466.073689 228.186674 -L 467.922748 226.567538 -" style="fill:none;stroke:#0000ff;stroke-width:0.112323;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 494.916054 275.606315 -L 492.099503 274.979676 -" style="fill:none;stroke:#0000ff;stroke-width:4.550228;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 492.099503 274.979676 -L 488.758949 274.187829 -" style="fill:none;stroke:#0000ff;stroke-width:4.140045;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 488.758949 274.187829 -L 485.434515 273.254437 -" style="fill:none;stroke:#0000ff;stroke-width:3.653474;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 485.434515 273.254437 -L 482.137066 272.11369 -" style="fill:none;stroke:#0000ff;stroke-width:3.204752;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 482.137066 272.11369 -L 478.880518 270.722809 -" style="fill:none;stroke:#0000ff;stroke-width:2.800481;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 478.880518 270.722809 -L 475.686179 269.031852 -" style="fill:none;stroke:#0000ff;stroke-width:2.466832;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 494.916054 270.135308 -L 492.099503 269.518595 -" style="fill:none;stroke:#0000ff;stroke-width:4.510378;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 492.099503 269.518595 -L 488.757834 268.738186 -" style="fill:none;stroke:#0000ff;stroke-width:4.080521;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 488.757834 268.738186 -L 485.431941 267.817347 -" style="fill:none;stroke:#0000ff;stroke-width:3.595713;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 485.431941 267.817347 -L 482.132155 266.692979 -" style="fill:none;stroke:#0000ff;stroke-width:3.130867;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 482.132155 266.692979 -L 478.872121 265.322094 -" style="fill:none;stroke:#0000ff;stroke-width:2.697138;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 478.872121 265.322094 -L 475.673658 263.651009 -" style="fill:none;stroke:#0000ff;stroke-width:2.329548;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 475.673658 263.651009 -L 472.568082 261.61515 -" style="fill:none;stroke:#0000ff;stroke-width:2.017622;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 472.568082 261.61515 -L 469.600825 259.132479 -" style="fill:none;stroke:#0000ff;stroke-width:1.751701;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 469.600825 259.132479 -L 466.85858 256.1154 -" style="fill:none;stroke:#0000ff;stroke-width:1.490698;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 466.85858 256.1154 -L 464.74961 252.978422 -" style="fill:none;stroke:#0000ff;stroke-width:1.294753;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 464.74961 252.978422 -L 463.2404 249.834991 -" style="fill:none;stroke:#0000ff;stroke-width:1.110718;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 463.2404 249.834991 -L 462.264307 246.756957 -" style="fill:none;stroke:#0000ff;stroke-width:0.961393;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 494.916054 264.639472 -L 492.099503 264.057514 -" style="fill:none;stroke:#0000ff;stroke-width:4.326779;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 492.099503 264.057514 -L 488.75386 263.319584 -" style="fill:none;stroke:#0000ff;stroke-width:3.883519;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 488.75386 263.319584 -L 485.423023 262.443185 -" style="fill:none;stroke:#0000ff;stroke-width:3.382241;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 494.916054 259.116591 -L 492.099503 258.596433 -" style="fill:none;stroke:#0000ff;stroke-width:4.015341;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 492.099503 258.596433 -L 488.747563 257.932457 -" style="fill:none;stroke:#0000ff;stroke-width:3.569631;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 488.747563 257.932457 -L 485.408901 257.132452 -" style="fill:none;stroke:#0000ff;stroke-width:3.064702;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 485.408901 257.132452 -L 482.093416 256.127024 -" style="fill:none;stroke:#0000ff;stroke-width:2.593689;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 482.093416 256.127024 -L 478.815276 254.866068 -" style="fill:none;stroke:#0000ff;stroke-width:2.160596;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 478.815276 254.866068 -L 475.598871 253.285517 -" style="fill:none;stroke:#0000ff;stroke-width:1.783768;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 475.598871 253.285517 -L 472.485447 251.293689 -" style="fill:none;stroke:#0000ff;stroke-width:1.447806;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 472.485447 251.293689 -L 469.546917 248.751226 -" style="fill:none;stroke:#0000ff;stroke-width:1.155632;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 469.546917 248.751226 -L 469.546917 248.751226 -" style="fill:none;stroke:#0000ff;stroke-width:0.896053;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 469.546917 248.751226 -L 467.635729 246.513322 -" style="fill:none;stroke:#0000ff;stroke-width:0.896053;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 467.635729 246.513322 -L 467.635729 246.513322 -" style="fill:none;stroke:#0000ff;stroke-width:0.755514;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 467.635729 246.513322 -L 466.202238 244.227949 -" style="fill:none;stroke:#0000ff;stroke-width:0.755514;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 466.202238 244.227949 -L 465.07344 241.521341 -" style="fill:none;stroke:#0000ff;stroke-width:0.623952;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 465.07344 241.521341 -L 464.504705 238.989379 -" style="fill:none;stroke:#0000ff;stroke-width:0.493627;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 464.504705 238.989379 -L 464.364609 236.739226 -" style="fill:none;stroke:#0000ff;stroke-width:0.409172;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 464.364609 236.739226 -L 464.556285 234.573467 -" style="fill:none;stroke:#0000ff;stroke-width:0.325189;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 494.916054 253.562271 -L 492.099503 253.135352 -" style="fill:none;stroke:#0000ff;stroke-width:3.601896;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 492.099503 253.135352 -L 488.739442 252.582278 -" style="fill:none;stroke:#0000ff;stroke-width:3.167339;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 488.739442 252.582278 -L 485.39072 251.894463 -" style="fill:none;stroke:#0000ff;stroke-width:2.674747;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 485.39072 251.894463 -L 482.062423 251.00028 -" style="fill:none;stroke:#0000ff;stroke-width:2.215293;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 482.062423 251.00028 -L 478.768856 249.843244 -" style="fill:none;stroke:#0000ff;stroke-width:1.792325;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 478.768856 249.843244 -L 475.53732 248.344295 -" style="fill:none;stroke:#0000ff;stroke-width:1.428169;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 494.916054 247.96917 -L 492.099503 247.67427 -" style="fill:none;stroke:#0000ff;stroke-width:3.121343;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 492.099503 247.67427 -L 488.730425 247.278042 -" style="fill:none;stroke:#0000ff;stroke-width:2.711219;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 488.730425 247.278042 -L 485.370213 246.746999 -" style="fill:none;stroke:#0000ff;stroke-width:2.246609;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 485.370213 246.746999 -L 482.026799 246.007473 -" style="fill:none;stroke:#0000ff;stroke-width:1.815089;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 494.916054 242.325542 -L 492.099503 242.213189 -" style="fill:none;stroke:#0000ff;stroke-width:2.617134;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 492.099503 242.213189 -L 488.722204 242.033694 -" style="fill:none;stroke:#0000ff;stroke-width:2.240138;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 488.722204 242.033694 -L 485.35035 241.717403 -" style="fill:none;stroke:#0000ff;stroke-width:1.814824;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 485.35035 241.717403 -L 481.990373 241.189701 -" style="fill:none;stroke:#0000ff;stroke-width:1.42291;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 481.990373 241.189701 -L 478.655753 240.380202 -" style="fill:none;stroke:#0000ff;stroke-width:1.068736;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 478.655753 240.380202 -L 475.379 239.172277 -" style="fill:none;stroke:#0000ff;stroke-width:0.773003;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 475.379 239.172277 -L 475.379 239.172277 -" style="fill:none;stroke:#0000ff;stroke-width:0.531841;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 475.379 239.172277 -L 472.794031 237.75574 -" style="fill:none;stroke:#0000ff;stroke-width:0.531841;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 472.794031 237.75574 -L 472.794031 237.75574 -" style="fill:none;stroke:#0000ff;stroke-width:0.364014;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 472.794031 237.75574 -L 470.932137 236.272092 -" style="fill:none;stroke:#0000ff;stroke-width:0.364014;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 470.932137 236.272092 -L 470.932137 236.272092 -" style="fill:none;stroke:#0000ff;stroke-width:0.256736;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 470.932137 236.272092 -L 469.623824 234.736685 -" style="fill:none;stroke:#0000ff;stroke-width:0.256736;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 469.623824 234.736685 -L 469.623824 234.736685 -" style="fill:none;stroke:#0000ff;stroke-width:0.182321;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 469.623824 234.736685 -L 468.848391 233.330257 -" style="fill:none;stroke:#0000ff;stroke-width:0.182321;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 468.848391 233.330257 -L 468.392969 231.775294 -" style="fill:none;stroke:#0000ff;stroke-width:0.155134;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 468.392969 231.775294 -L 468.300633 230.327417 -" style="fill:none;stroke:#0000ff;stroke-width:0.12412;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 468.300633 230.327417 -L 468.518429 228.908877 -" style="fill:none;stroke:#0000ff;stroke-width:0.091096;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 494.916054 236.608002 -L 492.099503 236.752108 -" style="fill:none;stroke:#0000ff;stroke-width:2.151257;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 492.099503 236.752108 -L 488.722515 236.876214 -" style="fill:none;stroke:#0000ff;stroke-width:1.815193;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 488.722515 236.876214 -L 485.345742 236.859176 -" style="fill:none;stroke:#0000ff;stroke-width:1.435947;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 485.345742 236.859176 -L 481.972792 236.627321 -" style="fill:none;stroke:#0000ff;stroke-width:1.087406;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 481.972792 236.627321 -L 478.614761 236.101561 -" style="fill:none;stroke:#0000ff;stroke-width:0.773895;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 494.916054 230.794176 -L 492.099503 231.291027 -" style="fill:none;stroke:#0000ff;stroke-width:1.766619;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 492.099503 231.291027 -L 488.74252 231.824426 -" style="fill:none;stroke:#0000ff;stroke-width:1.470621;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 488.74252 231.824426 -L 485.378898 232.208091 -" style="fill:none;stroke:#0000ff;stroke-width:1.138713;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 485.378898 232.208091 -L 482.010012 232.377537 -" style="fill:none;stroke:#0000ff;stroke-width:0.83531;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 482.010012 232.377537 -L 478.644018 232.251469 -" style="fill:none;stroke:#0000ff;stroke-width:0.566622;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 478.644018 232.251469 -L 475.310759 231.665209 -" style="fill:none;stroke:#0000ff;stroke-width:0.35483;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 475.310759 231.665209 -L 475.310759 231.665209 -" style="fill:none;stroke:#0000ff;stroke-width:0.197236;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 475.310759 231.665209 -L 473.241022 230.915053 -" style="fill:none;stroke:#0000ff;stroke-width:0.197236;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 473.241022 230.915053 -L 473.241022 230.915053 -" style="fill:none;stroke:#0000ff;stroke-width:0.114179;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 473.241022 230.915053 -L 471.872807 230.072557 -" style="fill:none;stroke:#0000ff;stroke-width:0.114179;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 471.872807 230.072557 -L 471.872807 230.072557 -" style="fill:none;stroke:#0000ff;stroke-width:0.077794;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 471.872807 230.072557 -L 470.978419 229.147431 -" style="fill:none;stroke:#0000ff;stroke-width:0.077794;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 470.978419 229.147431 -L 470.978419 229.147431 -" style="fill:none;stroke:#0000ff;stroke-width:0.045466;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 494.916054 224.836055 -L 492.099503 225.829946 -" style="fill:none;stroke:#0000ff;stroke-width:1.495679;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 492.099503 225.829946 -L 488.802968 226.90931 -" style="fill:none;stroke:#0000ff;stroke-width:1.227552;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 488.802968 226.90931 -L 485.485166 227.818184 -" style="fill:none;stroke:#0000ff;stroke-width:0.930199;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 485.485166 227.818184 -L 482.144457 228.512134 -" style="fill:none;stroke:#0000ff;stroke-width:0.6567;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 494.916054 217.203484 -L 491.793772 218.751802 -" style="fill:none;stroke:#0000ff;stroke-width:1.346004;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 491.793772 218.751802 -L 488.578814 220.368865 -" style="fill:none;stroke:#0000ff;stroke-width:1.054601;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 488.578814 220.368865 -L 485.378074 222.051033 -" style="fill:none;stroke:#0000ff;stroke-width:0.774154;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 416.0219 302.517766 -L 418.900563 299.781796 -" style="fill:none;stroke:#0000ff;stroke-width:4.379954;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 418.900563 299.781796 -L 421.68572 296.824 -" style="fill:none;stroke:#0000ff;stroke-width:4.296092;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 421.68572 296.824 -L 424.355579 293.620293 -" style="fill:none;stroke:#0000ff;stroke-width:4.189167;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 424.355579 293.620293 -L 426.890164 290.162054 -" style="fill:none;stroke:#0000ff;stroke-width:4.083729;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 426.890164 290.162054 -L 429.268573 286.447475 -" style="fill:none;stroke:#0000ff;stroke-width:3.986572;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 429.268573 286.447475 -L 431.478657 282.488324 -" style="fill:none;stroke:#0000ff;stroke-width:3.882122;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 431.478657 282.488324 -L 433.524272 278.321408 -" style="fill:none;stroke:#0000ff;stroke-width:3.785809;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 442.809855 324.129406 -L 446.0946 322.929201 -" style="fill:none;stroke:#0000ff;stroke-width:2.274569;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 446.0946 322.929201 -L 449.360543 321.608516 -" style="fill:none;stroke:#0000ff;stroke-width:1.818911;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 449.360543 321.608516 -L 452.593271 320.10729 -" style="fill:none;stroke:#0000ff;stroke-width:1.387273;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 452.593271 320.10729 -L 455.748819 318.314287 -" style="fill:none;stroke:#0000ff;stroke-width:1.008815;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 455.748819 318.314287 -L 458.716812 315.982425 -" style="fill:none;stroke:#0000ff;stroke-width:0.718177;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 458.716812 315.982425 -L 458.716812 315.982425 -" style="fill:none;stroke:#0000ff;stroke-width:0.496781;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 458.716812 315.982425 -L 460.218706 314.215621 -" style="fill:none;stroke:#0000ff;stroke-width:0.496781;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 460.218706 314.215621 -L 460.218706 314.215621 -" style="fill:none;stroke:#0000ff;stroke-width:0.40754;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 460.218706 314.215621 -L 461.2146 312.423971 -" style="fill:none;stroke:#0000ff;stroke-width:0.40754;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 461.2146 312.423971 -L 461.869667 310.336772 -" style="fill:none;stroke:#0000ff;stroke-width:0.398866;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 461.869667 310.336772 -L 462.132487 308.267358 -" style="fill:none;stroke:#0000ff;stroke-width:0.43584;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 462.132487 308.267358 -L 462.124323 306.04225 -" style="fill:none;stroke:#0000ff;stroke-width:0.487967;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 462.124323 306.04225 -L 461.867618 303.45481 -" style="fill:none;stroke:#0000ff;stroke-width:0.581981;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 461.867618 303.45481 -L 461.32204 300.275707 -" style="fill:none;stroke:#0000ff;stroke-width:0.707184;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 453.371922 324.129406 -L 456.655699 322.97027 -" style="fill:none;stroke:#0000ff;stroke-width:1.055024;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 456.655699 322.97027 -L 459.906499 321.617376 -" style="fill:none;stroke:#0000ff;stroke-width:0.707814;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 459.906499 321.617376 -L 463.043138 319.846053 -" style="fill:none;stroke:#0000ff;stroke-width:0.42808;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 463.043138 319.846053 -L 463.043138 319.846053 -" style="fill:none;stroke:#0000ff;stroke-width:0.236418;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 463.043138 319.846053 -L 464.487049 318.614246 -" style="fill:none;stroke:#0000ff;stroke-width:0.236418;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 464.487049 318.614246 -L 464.487049 318.614246 -" style="fill:none;stroke:#0000ff;stroke-width:0.179775;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 464.487049 318.614246 -L 465.440667 317.325931 -" style="fill:none;stroke:#0000ff;stroke-width:0.179775;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 465.440667 317.325931 -L 465.440667 317.325931 -" style="fill:none;stroke:#0000ff;stroke-width:0.152931;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 465.440667 317.325931 -L 465.980462 315.97104 -" style="fill:none;stroke:#0000ff;stroke-width:0.152931;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 465.980462 315.97104 -L 466.203157 314.378485 -" style="fill:none;stroke:#0000ff;stroke-width:0.158756;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 466.203157 314.378485 -L 466.144829 312.704501 -" style="fill:none;stroke:#0000ff;stroke-width:0.174191;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 466.144829 312.704501 -L 465.855809 310.767993 -" style="fill:none;stroke:#0000ff;stroke-width:0.232085;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 465.855809 310.767993 -L 465.254069 308.175091 -" style="fill:none;stroke:#0000ff;stroke-width:0.302694;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 465.254069 308.175091 -L 464.338851 304.945069 -" style="fill:none;stroke:#0000ff;stroke-width:0.397852;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 464.338851 304.945069 -L 462.91307 300.360802 -" style="fill:none;stroke:#0000ff;stroke-width:0.576096;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 488.578814 318.668325 -L 485.241805 319.424099 -" style="fill:none;stroke:#0000ff;stroke-width:0.988604;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 485.241805 319.424099 -L 481.90388 320.172918 -" style="fill:none;stroke:#0000ff;stroke-width:0.653559;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 481.90388 320.172918 -L 478.562106 320.901821 -" style="fill:none;stroke:#0000ff;stroke-width:0.374526;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 428.727098 302.285081 -L 431.491106 299.284685 -" style="fill:none;stroke:#0000ff;stroke-width:3.53833;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 431.491106 299.284685 -L 434.086195 295.947037 -" style="fill:none;stroke:#0000ff;stroke-width:3.349686;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 434.086195 295.947037 -L 436.46037 292.238079 -" style="fill:none;stroke:#0000ff;stroke-width:3.188308;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 436.46037 292.238079 -L 438.560152 288.151438 -" style="fill:none;stroke:#0000ff;stroke-width:3.072239;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 438.560152 288.151438 -L 440.309926 283.870621 -" style="fill:none;stroke:#0000ff;stroke-width:3.002602;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 440.309926 283.870621 -L 441.836305 279.211231 -" style="fill:none;stroke:#0000ff;stroke-width:2.949675;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 441.836305 279.211231 -L 443.123687 274.37977 -" style="fill:none;stroke:#0000ff;stroke-width:2.902145;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 443.123687 274.37977 -L 444.269169 269.45477 -" style="fill:none;stroke:#0000ff;stroke-width:2.835894;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 444.269169 269.45477 -L 445.378181 264.513985 -" style="fill:none;stroke:#0000ff;stroke-width:2.707108;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 445.378181 264.513985 -L 446.539538 259.619431 -" style="fill:none;stroke:#0000ff;stroke-width:2.523048;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 442.809855 313.207244 -L 445.79157 310.785803 -" style="fill:none;stroke:#0000ff;stroke-width:1.984222;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 445.79157 310.785803 -L 448.572999 307.858576 -" style="fill:none;stroke:#0000ff;stroke-width:1.675911;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 448.572999 307.858576 -L 448.572999 307.858576 -" style="fill:none;stroke:#0000ff;stroke-width:1.420672;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 448.572999 307.858576 -L 450.39669 305.265285 -" style="fill:none;stroke:#0000ff;stroke-width:1.420672;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 450.39669 305.265285 -L 451.919669 302.201258 -" style="fill:none;stroke:#0000ff;stroke-width:1.339003;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 451.919669 302.201258 -L 452.894077 299.190226 -" style="fill:none;stroke:#0000ff;stroke-width:1.3109;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 452.894077 299.190226 -L 453.485992 296.135242 -" style="fill:none;stroke:#0000ff;stroke-width:1.356337;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 473.997491 243.825463 -L 471.740047 242.272966 -" style="fill:none;stroke:#0000ff;stroke-width:0.732387;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 471.740047 242.272966 -L 469.967998 240.646099 -" style="fill:none;stroke:#0000ff;stroke-width:0.569639;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 469.967998 240.646099 -L 468.606493 238.943584 -" style="fill:none;stroke:#0000ff;stroke-width:0.447127;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 468.606493 238.943584 -L 467.454679 236.752108 -" style="fill:none;stroke:#0000ff;stroke-width:0.363759;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 467.454679 236.752108 -L 467.454679 236.752108 -" style="fill:none;stroke:#0000ff;stroke-width:0.274494;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 467.454679 236.752108 -L 467.454679 236.752108 -" style="fill:none;stroke:#0000ff;stroke-width:0.274494;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 467.454679 236.752108 -L 466.951097 235.104207 -" style="fill:none;stroke:#0000ff;stroke-width:0.274494;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 433.275145 312.473083 -L 436.332082 310.263739 -" style="fill:none;stroke:#0000ff;stroke-width:3.049175;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 436.332082 310.263739 -L 439.289166 307.746163 -" style="fill:none;stroke:#0000ff;stroke-width:2.710205;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 439.289166 307.746163 -L 442.084858 304.831307 -" style="fill:none;stroke:#0000ff;stroke-width:2.384187;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 435.089854 252.349659 -L 437.57375 248.805668 -" style="fill:none;stroke:#0000ff;stroke-width:3.110198;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 437.57375 248.805668 -L 440.145803 245.422135 -" style="fill:none;stroke:#0000ff;stroke-width:2.755801;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 440.145803 245.422135 -L 442.809855 242.213189 -" style="fill:none;stroke:#0000ff;stroke-width:2.409923;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 442.809855 242.213189 -L 445.561208 239.196863 -" style="fill:none;stroke:#0000ff;stroke-width:2.048741;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 445.561208 239.196863 -L 448.397584 236.383934 -" style="fill:none;stroke:#0000ff;stroke-width:1.72584;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 448.397584 236.383934 -L 451.312898 233.777336 -" style="fill:none;stroke:#0000ff;stroke-width:1.388088;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 433.887797 273.871861 -L 435.768477 269.518595 -" style="fill:none;stroke:#0000ff;stroke-width:3.655185;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 435.768477 269.518595 -L 437.603408 265.121187 -" style="fill:none;stroke:#0000ff;stroke-width:3.465176;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 437.603408 265.121187 -L 439.440042 260.729975 -" style="fill:none;stroke:#0000ff;stroke-width:3.224755;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 453.278433 268.710453 -L 452.982652 263.510066 -" style="fill:none;stroke:#0000ff;stroke-width:2.062678;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 452.982652 263.510066 -L 452.990509 258.293471 -" style="fill:none;stroke:#0000ff;stroke-width:1.948223;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 452.990509 258.293471 -L 453.371922 253.135352 -" style="fill:none;stroke:#0000ff;stroke-width:1.764811;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 453.371922 253.135352 -L 453.371922 253.135352 -" style="fill:none;stroke:#0000ff;stroke-width:1.52934;"/> + <path clip-path="url(#pc5c1e84671)" d="M 332.738561 270.055385 +L 335.438616 269.696265 +" style="fill:none;stroke:#1f77b4;stroke-width:6.547107;"/> + <path clip-path="url(#pc5c1e84671)" d="M 335.438616 269.696265 +L 338.138326 269.334534 +" style="fill:none;stroke:#1f77b4;stroke-width:6.317222;"/> + <path clip-path="url(#pc5c1e84671)" d="M 338.138326 269.334534 +L 340.837897 268.97339 +" style="fill:none;stroke:#1f77b4;stroke-width:6.023941;"/> + <path clip-path="url(#pc5c1e84671)" d="M 340.837897 268.97339 +L 343.537556 268.616358 +" style="fill:none;stroke:#1f77b4;stroke-width:5.673534;"/> + <path clip-path="url(#pc5c1e84671)" d="M 343.537556 268.616358 +L 346.237561 268.267507 +" style="fill:none;stroke:#1f77b4;stroke-width:5.272956;"/> + <path clip-path="url(#pc5c1e84671)" d="M 346.237561 268.267507 +L 348.938204 267.93216 +" style="fill:none;stroke:#1f77b4;stroke-width:4.828948;"/> + <path clip-path="url(#pc5c1e84671)" d="M 348.938204 267.93216 +L 351.639784 267.616684 +" style="fill:none;stroke:#1f77b4;stroke-width:4.345551;"/> + <path clip-path="url(#pc5c1e84671)" d="M 351.639784 267.616684 +L 354.342599 267.328419 +" style="fill:none;stroke:#1f77b4;stroke-width:3.847165;"/> + <path clip-path="url(#pc5c1e84671)" d="M 354.342599 267.328419 +L 357.04695 267.076897 +" style="fill:none;stroke:#1f77b4;stroke-width:3.343969;"/> + <path clip-path="url(#pc5c1e84671)" d="M 357.04695 267.076897 +L 359.753091 266.874999 +" style="fill:none;stroke:#1f77b4;stroke-width:2.846269;"/> + <path clip-path="url(#pc5c1e84671)" d="M 359.753091 266.874999 +L 362.460916 266.741146 +" style="fill:none;stroke:#1f77b4;stroke-width:2.365672;"/> + <path clip-path="url(#pc5c1e84671)" d="M 362.460916 266.741146 +L 365.169607 266.701406 +" style="fill:none;stroke:#1f77b4;stroke-width:1.923491;"/> + <path clip-path="url(#pc5c1e84671)" d="M 365.169607 266.701406 +L 367.876905 266.793327 +" style="fill:none;stroke:#1f77b4;stroke-width:1.526813;"/> + <path clip-path="url(#pc5c1e84671)" d="M 367.876905 266.793327 +L 370.577197 267.073491 +" style="fill:none;stroke:#1f77b4;stroke-width:1.185167;"/> + <path clip-path="url(#pc5c1e84671)" d="M 370.577197 267.073491 +L 373.257255 267.627381 +" style="fill:none;stroke:#1f77b4;stroke-width:0.908099;"/> + <path clip-path="url(#pc5c1e84671)" d="M 373.257255 267.627381 +L 375.882359 268.574227 +" style="fill:none;stroke:#1f77b4;stroke-width:0.709489;"/> + <path clip-path="url(#pc5c1e84671)" d="M 375.882359 268.574227 +L 378.300105 269.975216 +" style="fill:none;stroke:#1f77b4;stroke-width:0.613298;"/> + <path clip-path="url(#pc5c1e84671)" d="M 349.682169 270.055385 +L 352.389171 269.841302 +" style="fill:none;stroke:#1f77b4;stroke-width:4.4898;"/> + <path clip-path="url(#pc5c1e84671)" d="M 352.389171 269.841302 +L 355.097235 269.666629 +" style="fill:none;stroke:#1f77b4;stroke-width:3.98708;"/> + <path clip-path="url(#pc5c1e84671)" d="M 355.097235 269.666629 +L 357.806351 269.54336 +" style="fill:none;stroke:#1f77b4;stroke-width:3.484569;"/> + <path clip-path="url(#pc5c1e84671)" d="M 357.806351 269.54336 +L 360.516272 269.487324 +" style="fill:none;stroke:#1f77b4;stroke-width:2.992787;"/> + <path clip-path="url(#pc5c1e84671)" d="M 360.516272 269.487324 +L 363.22629 269.519923 +" style="fill:none;stroke:#1f77b4;stroke-width:2.522237;"/> + <path clip-path="url(#pc5c1e84671)" d="M 363.22629 269.519923 +L 365.934215 269.671397 +" style="fill:none;stroke:#1f77b4;stroke-width:2.083646;"/> + <path clip-path="url(#pc5c1e84671)" d="M 365.934215 269.671397 +L 368.635195 269.983569 +" style="fill:none;stroke:#1f77b4;stroke-width:1.702916;"/> + <path clip-path="url(#pc5c1e84671)" d="M 353.318394 263.488269 +L 356.007822 263.004901 +" style="fill:none;stroke:#1f77b4;stroke-width:3.097266;"/> + <path clip-path="url(#pc5c1e84671)" d="M 356.007822 263.004901 +L 358.697682 262.533594 +" style="fill:none;stroke:#1f77b4;stroke-width:2.60138;"/> + <path clip-path="url(#pc5c1e84671)" d="M 358.697682 262.533594 +L 361.388492 262.081556 +" style="fill:none;stroke:#1f77b4;stroke-width:2.123086;"/> + <path clip-path="url(#pc5c1e84671)" d="M 361.388492 262.081556 +L 364.080986 261.659435 +" style="fill:none;stroke:#1f77b4;stroke-width:1.672187;"/> + <path clip-path="url(#pc5c1e84671)" d="M 364.080986 261.659435 +L 366.776245 261.284625 +" style="fill:none;stroke:#1f77b4;stroke-width:1.257663;"/> + <path clip-path="url(#pc5c1e84671)" d="M 366.776245 261.284625 +L 369.475356 260.988802 +" style="fill:none;stroke:#1f77b4;stroke-width:0.888315;"/> + <path clip-path="url(#pc5c1e84671)" d="M 369.475356 260.988802 +L 372.177854 260.835344 +" style="fill:none;stroke:#1f77b4;stroke-width:0.58805;"/> + <path clip-path="url(#pc5c1e84671)" d="M 372.177854 260.835344 +L 374.33162 260.902126 +" style="fill:none;stroke:#1f77b4;stroke-width:0.359314;"/> + <path clip-path="url(#pc5c1e84671)" d="M 374.33162 260.902126 +L 376.043752 261.179798 +" style="fill:none;stroke:#1f77b4;stroke-width:0.228591;"/> + <path clip-path="url(#pc5c1e84671)" d="M 376.043752 261.179798 +L 377.541188 261.716235 +" style="fill:none;stroke:#1f77b4;stroke-width:0.16462;"/> + <path clip-path="url(#pc5c1e84671)" d="M 377.541188 261.716235 +L 378.988754 262.675896 +" style="fill:none;stroke:#1f77b4;stroke-width:0.14362;"/> + <path clip-path="url(#pc5c1e84671)" d="M 378.988754 262.675896 +L 380.267718 264.050334 +" style="fill:none;stroke:#1f77b4;stroke-width:0.160322;"/> + <path clip-path="url(#pc5c1e84671)" d="M 380.267718 264.050334 +L 380.267718 264.050334 +" style="fill:none;stroke:#1f77b4;stroke-width:0.191274;"/> + <path clip-path="url(#pc5c1e84671)" d="M 380.267718 264.050334 +L 382.026973 266.877099 +" style="fill:none;stroke:#1f77b4;stroke-width:0.191274;"/> + <path clip-path="url(#pc5c1e84671)" d="M 382.026973 266.877099 +L 383.569383 270.055385 +" style="fill:none;stroke:#1f77b4;stroke-width:0.35226;"/> + <path clip-path="url(#pc5c1e84671)" d="M 396.486356 257.28606 +L 393.898313 258.435897 +" style="fill:none;stroke:#1f77b4;stroke-width:1.380921;"/> + <path clip-path="url(#pc5c1e84671)" d="M 393.898313 258.435897 +L 391.666656 259.633274 +" style="fill:none;stroke:#1f77b4;stroke-width:1.003446;"/> + <path clip-path="url(#pc5c1e84671)" d="M 391.666656 259.633274 +L 389.985641 260.76605 +" style="fill:none;stroke:#1f77b4;stroke-width:0.723954;"/> + <path clip-path="url(#pc5c1e84671)" d="M 389.985641 260.76605 +L 388.712148 261.88104 +" style="fill:none;stroke:#1f77b4;stroke-width:0.554257;"/> + <path clip-path="url(#pc5c1e84671)" d="M 388.712148 261.88104 +L 387.769138 263.001144 +" style="fill:none;stroke:#1f77b4;stroke-width:0.469881;"/> + <path clip-path="url(#pc5c1e84671)" d="M 387.769138 263.001144 +L 387.026764 264.301409 +" style="fill:none;stroke:#1f77b4;stroke-width:0.417044;"/> + <path clip-path="url(#pc5c1e84671)" d="M 387.026764 264.301409 +L 386.484542 266.02468 +" style="fill:none;stroke:#1f77b4;stroke-width:0.387232;"/> + <path clip-path="url(#pc5c1e84671)" d="M 386.484542 266.02468 +L 386.290043 267.86187 +" style="fill:none;stroke:#1f77b4;stroke-width:0.425825;"/> + <path clip-path="url(#pc5c1e84671)" d="M 386.290043 267.86187 +L 386.290043 267.86187 +" style="fill:none;stroke:#1f77b4;stroke-width:0.508418;"/> + <path clip-path="url(#pc5c1e84671)" d="M 386.290043 267.86187 +L 386.393318 270.055385 +" style="fill:none;stroke:#1f77b4;stroke-width:0.508418;"/> + <path clip-path="url(#pc5c1e84671)" d="M 386.393318 270.055385 +L 386.393318 270.055385 +" style="fill:none;stroke:#1f77b4;stroke-width:0.619042;"/> + <path clip-path="url(#pc5c1e84671)" d="M 386.393318 270.055385 +L 386.393318 270.055385 +" style="fill:none;stroke:#1f77b4;stroke-width:0.619042;"/> + <path clip-path="url(#pc5c1e84671)" d="M 332.738561 177.879838 +L 335.399163 177.118734 +" style="fill:none;stroke:#1f77b4;stroke-width:5.244379;"/> + <path clip-path="url(#pc5c1e84671)" d="M 335.399163 177.118734 +L 338.065036 176.399725 +" style="fill:none;stroke:#1f77b4;stroke-width:5.163474;"/> + <path clip-path="url(#pc5c1e84671)" d="M 338.065036 176.399725 +L 340.736108 175.723 +" style="fill:none;stroke:#1f77b4;stroke-width:5.017784;"/> + <path clip-path="url(#pc5c1e84671)" d="M 340.736108 175.723 +L 343.412369 175.089561 +" style="fill:none;stroke:#1f77b4;stroke-width:4.810794;"/> + <path clip-path="url(#pc5c1e84671)" d="M 332.738561 182.069636 +L 335.365112 181.085169 +" style="fill:none;stroke:#1f77b4;stroke-width:4.862339;"/> + <path clip-path="url(#pc5c1e84671)" d="M 335.365112 181.085169 +L 338.001552 180.156945 +" style="fill:none;stroke:#1f77b4;stroke-width:4.781139;"/> + <path clip-path="url(#pc5c1e84671)" d="M 338.001552 180.156945 +L 340.64703 179.282763 +" style="fill:none;stroke:#1f77b4;stroke-width:4.638333;"/> + <path clip-path="url(#pc5c1e84671)" d="M 340.64703 179.282763 +L 343.300057 178.461616 +" style="fill:none;stroke:#1f77b4;stroke-width:4.445709;"/> + <path clip-path="url(#pc5c1e84671)" d="M 343.300057 178.461616 +L 345.959634 177.693735 +" style="fill:none;stroke:#1f77b4;stroke-width:4.216076;"/> + <path clip-path="url(#pc5c1e84671)" d="M 345.959634 177.693735 +L 348.625745 176.980694 +" style="fill:none;stroke:#1f77b4;stroke-width:3.929263;"/> + <path clip-path="url(#pc5c1e84671)" d="M 348.625745 176.980694 +L 351.298428 176.325246 +" style="fill:none;stroke:#1f77b4;stroke-width:3.596666;"/> + <path clip-path="url(#pc5c1e84671)" d="M 351.298428 176.325246 +L 353.977756 175.731424 +" style="fill:none;stroke:#1f77b4;stroke-width:3.233726;"/> + <path clip-path="url(#pc5c1e84671)" d="M 353.977756 175.731424 +L 356.663832 175.204979 +" style="fill:none;stroke:#1f77b4;stroke-width:2.848272;"/> + <path clip-path="url(#pc5c1e84671)" d="M 356.663832 175.204979 +L 359.356727 174.754284 +" style="fill:none;stroke:#1f77b4;stroke-width:2.448654;"/> + <path clip-path="url(#pc5c1e84671)" d="M 332.738561 190.449231 +L 335.248573 188.936588 +" style="fill:none;stroke:#1f77b4;stroke-width:4.446391;"/> + <path clip-path="url(#pc5c1e84671)" d="M 335.248573 188.936588 +L 337.782635 187.517215 +" style="fill:none;stroke:#1f77b4;stroke-width:4.34173;"/> + <path clip-path="url(#pc5c1e84671)" d="M 337.782635 187.517215 +L 340.337449 186.184757 +" style="fill:none;stroke:#1f77b4;stroke-width:4.211008;"/> + <path clip-path="url(#pc5c1e84671)" d="M 340.337449 186.184757 +L 342.911664 184.932024 +" style="fill:none;stroke:#1f77b4;stroke-width:4.027247;"/> + <path clip-path="url(#pc5c1e84671)" d="M 342.911664 184.932024 +L 345.502647 183.755519 +" style="fill:none;stroke:#1f77b4;stroke-width:3.791613;"/> + <path clip-path="url(#pc5c1e84671)" d="M 345.502647 183.755519 +L 348.107507 182.654076 +" style="fill:none;stroke:#1f77b4;stroke-width:3.525366;"/> + <path clip-path="url(#pc5c1e84671)" d="M 348.107507 182.654076 +L 350.725278 181.626914 +" style="fill:none;stroke:#1f77b4;stroke-width:3.232689;"/> + <path clip-path="url(#pc5c1e84671)" d="M 350.725278 181.626914 +L 353.35602 180.674349 +" style="fill:none;stroke:#1f77b4;stroke-width:2.907051;"/> + <path clip-path="url(#pc5c1e84671)" d="M 353.35602 180.674349 +L 356.000165 179.79876 +" style="fill:none;stroke:#1f77b4;stroke-width:2.554828;"/> + <path clip-path="url(#pc5c1e84671)" d="M 356.000165 179.79876 +L 358.656493 179.005186 +" style="fill:none;stroke:#1f77b4;stroke-width:2.186015;"/> + <path clip-path="url(#pc5c1e84671)" d="M 358.656493 179.005186 +L 361.323044 178.301679 +" style="fill:none;stroke:#1f77b4;stroke-width:1.834196;"/> + <path clip-path="url(#pc5c1e84671)" d="M 361.323044 178.301679 +L 363.999108 177.700191 +" style="fill:none;stroke:#1f77b4;stroke-width:1.494831;"/> + <path clip-path="url(#pc5c1e84671)" d="M 363.999108 177.700191 +L 366.684513 177.218788 +" style="fill:none;stroke:#1f77b4;stroke-width:1.168011;"/> + <path clip-path="url(#pc5c1e84671)" d="M 366.684513 177.218788 +L 369.378047 176.886553 +" style="fill:none;stroke:#1f77b4;stroke-width:0.862059;"/> + <path clip-path="url(#pc5c1e84671)" d="M 369.378047 176.886553 +L 372.075532 176.7524 +" style="fill:none;stroke:#1f77b4;stroke-width:0.603096;"/> + <path clip-path="url(#pc5c1e84671)" d="M 372.075532 176.7524 +L 374.763441 176.909915 +" style="fill:none;stroke:#1f77b4;stroke-width:0.387327;"/> + <path clip-path="url(#pc5c1e84671)" d="M 374.763441 176.909915 +L 374.763441 176.909915 +" style="fill:none;stroke:#1f77b4;stroke-width:0.218364;"/> + <path clip-path="url(#pc5c1e84671)" d="M 374.763441 176.909915 +L 376.766313 177.332214 +" style="fill:none;stroke:#1f77b4;stroke-width:0.218364;"/> + <path clip-path="url(#pc5c1e84671)" d="M 376.766313 177.332214 +L 376.766313 177.332214 +" style="fill:none;stroke:#1f77b4;stroke-width:0.113747;"/> + <path clip-path="url(#pc5c1e84671)" d="M 376.766313 177.332214 +L 377.983531 177.829376 +" style="fill:none;stroke:#1f77b4;stroke-width:0.113747;"/> + <path clip-path="url(#pc5c1e84671)" d="M 377.983531 177.829376 +L 377.983531 177.829376 +" style="fill:none;stroke:#1f77b4;stroke-width:0.083254;"/> + <path clip-path="url(#pc5c1e84671)" d="M 377.983531 177.829376 +L 378.832678 178.428632 +" style="fill:none;stroke:#1f77b4;stroke-width:0.083254;"/> + <path clip-path="url(#pc5c1e84671)" d="M 378.832678 178.428632 +L 378.832678 178.428632 +" style="fill:none;stroke:#1f77b4;stroke-width:0.05705;"/> + <path clip-path="url(#pc5c1e84671)" d="M 378.832678 178.428632 +L 379.323551 179.053451 +" style="fill:none;stroke:#1f77b4;stroke-width:0.05705;"/> + <path clip-path="url(#pc5c1e84671)" d="M 379.323551 179.053451 +L 379.323551 179.053451 +" style="fill:none;stroke:#1f77b4;stroke-width:0.035343;"/> + <path clip-path="url(#pc5c1e84671)" d="M 379.323551 179.053451 +L 379.530267 179.678922 +" style="fill:none;stroke:#1f77b4;stroke-width:0.035343;"/> + <path clip-path="url(#pc5c1e84671)" d="M 379.530267 179.678922 +L 379.520914 180.202673 +" style="fill:none;stroke:#1f77b4;stroke-width:0.021014;"/> + <path clip-path="url(#pc5c1e84671)" d="M 379.520914 180.202673 +L 379.423676 180.562782 +" style="fill:none;stroke:#1f77b4;stroke-width:0.024762;"/> + <path clip-path="url(#pc5c1e84671)" d="M 379.423676 180.562782 +L 379.232258 180.910333 +" style="fill:none;stroke:#1f77b4;stroke-width:0.027626;"/> + <path clip-path="url(#pc5c1e84671)" d="M 379.232258 180.910333 +L 378.997208 181.173467 +" style="fill:none;stroke:#1f77b4;stroke-width:0.030454;"/> + <path clip-path="url(#pc5c1e84671)" d="M 378.997208 181.173467 +L 378.789567 181.322753 +" style="fill:none;stroke:#1f77b4;stroke-width:0.032523;"/> + <path clip-path="url(#pc5c1e84671)" d="M 378.789567 181.322753 +L 378.674517 181.376595 +" style="fill:none;stroke:#1f77b4;stroke-width:0.033654;"/> + <path clip-path="url(#pc5c1e84671)" d="M 378.674517 181.376595 +L 378.631266 181.393102 +" style="fill:none;stroke:#1f77b4;stroke-width:0.034072;"/> + <path clip-path="url(#pc5c1e84671)" d="M 378.631266 181.393102 +L 378.615182 181.397778 +" style="fill:none;stroke:#1f77b4;stroke-width:0.034203;"/> + <path clip-path="url(#pc5c1e84671)" d="M 378.615182 181.397778 +L 378.609311 181.398922 +" style="fill:none;stroke:#1f77b4;stroke-width:0.034243;"/> + <path clip-path="url(#pc5c1e84671)" d="M 378.609311 181.398922 +L 378.607213 181.399112 +" style="fill:none;stroke:#1f77b4;stroke-width:0.034256;"/> + <path clip-path="url(#pc5c1e84671)" d="M 378.607213 181.399112 +L 378.606482 181.399091 +" style="fill:none;stroke:#1f77b4;stroke-width:0.034259;"/> + <path clip-path="url(#pc5c1e84671)" d="M 378.606482 181.399091 +L 378.606235 181.399049 +" style="fill:none;stroke:#1f77b4;stroke-width:0.03426;"/> + <path clip-path="url(#pc5c1e84671)" d="M 378.606235 181.399049 +L 378.606154 181.39902 +" style="fill:none;stroke:#1f77b4;stroke-width:0.03426;"/> + <path clip-path="url(#pc5c1e84671)" d="M 378.606154 181.39902 +L 378.606129 181.399005 +" style="fill:none;stroke:#1f77b4;stroke-width:0.03426;"/> + <path clip-path="url(#pc5c1e84671)" d="M 378.606129 181.399005 +L 378.606122 181.398998 +" style="fill:none;stroke:#1f77b4;stroke-width:0.03426;"/> + <path clip-path="url(#pc5c1e84671)" d="M 378.606122 181.398998 +L 378.60612 181.398994 +" style="fill:none;stroke:#1f77b4;stroke-width:0.03426;"/> + <path clip-path="url(#pc5c1e84671)" d="M 378.60612 181.398994 +L 378.60612 181.398993 +" style="fill:none;stroke:#1f77b4;stroke-width:0.03426;"/> + <path clip-path="url(#pc5c1e84671)" d="M 378.60612 181.398993 +L 378.60612 181.398992 +" style="fill:none;stroke:#1f77b4;stroke-width:0.03426;"/> + <path clip-path="url(#pc5c1e84671)" d="M 378.60612 181.398992 +L 378.60612 181.398992 +" style="fill:none;stroke:#1f77b4;stroke-width:0.03426;"/> + <path clip-path="url(#pc5c1e84671)" d="M 378.60612 181.398992 +L 378.60612 181.398992 +" style="fill:none;stroke:#1f77b4;stroke-width:0.03426;"/> + <path clip-path="url(#pc5c1e84671)" d="M 378.60612 181.398992 +L 378.60612 181.398992 +" style="fill:none;stroke:#1f77b4;stroke-width:0.03426;"/> + <path clip-path="url(#pc5c1e84671)" d="M 378.60612 181.398992 +L 378.60612 181.398992 +" style="fill:none;stroke:#1f77b4;stroke-width:0.03426;"/> + <path clip-path="url(#pc5c1e84671)" d="M 378.60612 181.398992 +L 378.60612 181.398992 +" style="fill:none;stroke:#1f77b4;stroke-width:0.03426;"/> + <path clip-path="url(#pc5c1e84671)" d="M 378.60612 181.398992 +L 378.60612 181.398992 +" style="fill:none;stroke:#1f77b4;stroke-width:0.03426;"/> + <path clip-path="url(#pc5c1e84671)" d="M 378.60612 181.398992 +L 378.60612 181.398992 +" style="fill:none;stroke:#1f77b4;stroke-width:0.03426;"/> + <path clip-path="url(#pc5c1e84671)" d="M 378.60612 181.398992 +L 378.60612 181.398992 +" style="fill:none;stroke:#1f77b4;stroke-width:0.03426;"/> + <path clip-path="url(#pc5c1e84671)" d="M 378.60612 181.398992 +L 378.60612 181.398992 +" style="fill:none;stroke:#1f77b4;stroke-width:0.03426;"/> + <path clip-path="url(#pc5c1e84671)" d="M 378.60612 181.398992 +L 378.60612 181.398992 +" style="fill:none;stroke:#1f77b4;stroke-width:0.03426;"/> + <path clip-path="url(#pc5c1e84671)" d="M 378.60612 181.398992 +L 378.60612 181.398992 +" style="fill:none;stroke:#1f77b4;stroke-width:0.03426;"/> + <path clip-path="url(#pc5c1e84671)" d="M 378.60612 181.398992 +L 378.60612 181.398992 +" style="fill:none;stroke:#1f77b4;stroke-width:0.03426;"/> + <path clip-path="url(#pc5c1e84671)" d="M 378.60612 181.398992 +L 378.60612 181.398992 +" style="fill:none;stroke:#1f77b4;stroke-width:0.03426;"/> + <path clip-path="url(#pc5c1e84671)" d="M 378.60612 181.398992 +L 378.60612 181.398992 +" style="fill:none;stroke:#1f77b4;stroke-width:0.03426;"/> + <path clip-path="url(#pc5c1e84671)" d="M 378.60612 181.398992 +L 378.60612 181.398992 +" style="fill:none;stroke:#1f77b4;stroke-width:0.03426;"/> + <path clip-path="url(#pc5c1e84671)" d="M 378.60612 181.398992 +L 378.60612 181.398992 +" style="fill:none;stroke:#1f77b4;stroke-width:0.03426;"/> + <path clip-path="url(#pc5c1e84671)" d="M 332.738561 194.639028 +L 335.161128 192.840253 +" style="fill:none;stroke:#1f77b4;stroke-width:4.406761;"/> + <path clip-path="url(#pc5c1e84671)" d="M 335.161128 192.840253 +L 337.618642 191.153694 +" style="fill:none;stroke:#1f77b4;stroke-width:4.292078;"/> + <path clip-path="url(#pc5c1e84671)" d="M 337.618642 191.153694 +L 340.107718 189.566807 +" style="fill:none;stroke:#1f77b4;stroke-width:4.131791;"/> + <path clip-path="url(#pc5c1e84671)" d="M 332.738561 198.828826 +L 335.056752 196.752268 +" style="fill:none;stroke:#1f77b4;stroke-width:4.470328;"/> + <path clip-path="url(#pc5c1e84671)" d="M 335.056752 196.752268 +L 337.421742 194.792625 +" style="fill:none;stroke:#1f77b4;stroke-width:4.316706;"/> + <path clip-path="url(#pc5c1e84671)" d="M 337.421742 194.792625 +L 339.827932 192.947316 +" style="fill:none;stroke:#1f77b4;stroke-width:4.126079;"/> + <path clip-path="url(#pc5c1e84671)" d="M 332.738561 207.208421 +L 334.830746 204.653478 +" style="fill:none;stroke:#1f77b4;stroke-width:4.702659;"/> + <path clip-path="url(#pc5c1e84671)" d="M 334.830746 204.653478 +L 336.977344 202.201945 +" style="fill:none;stroke:#1f77b4;stroke-width:4.521477;"/> + <path clip-path="url(#pc5c1e84671)" d="M 336.977344 202.201945 +L 339.179901 199.862222 +" style="fill:none;stroke:#1f77b4;stroke-width:4.32069;"/> + <path clip-path="url(#pc5c1e84671)" d="M 339.179901 199.862222 +L 341.434865 197.637047 +" style="fill:none;stroke:#1f77b4;stroke-width:4.083667;"/> + <path clip-path="url(#pc5c1e84671)" d="M 341.434865 197.637047 +L 343.739414 195.529307 +" style="fill:none;stroke:#1f77b4;stroke-width:3.826816;"/> + <path clip-path="url(#pc5c1e84671)" d="M 343.739414 195.529307 +L 346.08987 193.535806 +" style="fill:none;stroke:#1f77b4;stroke-width:3.541421;"/> + <path clip-path="url(#pc5c1e84671)" d="M 346.08987 193.535806 +L 348.481459 191.657184 +" style="fill:none;stroke:#1f77b4;stroke-width:3.245841;"/> + <path clip-path="url(#pc5c1e84671)" d="M 348.481459 191.657184 +L 350.911831 189.887491 +" style="fill:none;stroke:#1f77b4;stroke-width:2.930897;"/> + <path clip-path="url(#pc5c1e84671)" d="M 350.911831 189.887491 +L 353.377086 188.22766 +" style="fill:none;stroke:#1f77b4;stroke-width:2.59034;"/> + <path clip-path="url(#pc5c1e84671)" d="M 353.377086 188.22766 +L 355.872295 186.680347 +" style="fill:none;stroke:#1f77b4;stroke-width:2.269729;"/> + <path clip-path="url(#pc5c1e84671)" d="M 355.872295 186.680347 +L 358.397667 185.242141 +" style="fill:none;stroke:#1f77b4;stroke-width:1.938984;"/> + <path clip-path="url(#pc5c1e84671)" d="M 358.397667 185.242141 +L 360.952099 183.915743 +" style="fill:none;stroke:#1f77b4;stroke-width:1.601871;"/> + <path clip-path="url(#pc5c1e84671)" d="M 360.952099 183.915743 +L 363.530729 182.710883 +" style="fill:none;stroke:#1f77b4;stroke-width:1.287416;"/> + <path clip-path="url(#pc5c1e84671)" d="M 363.530729 182.710883 +L 366.13098 181.639849 +" style="fill:none;stroke:#1f77b4;stroke-width:0.998595;"/> + <path clip-path="url(#pc5c1e84671)" d="M 366.13098 181.639849 +L 368.755041 180.720997 +" style="fill:none;stroke:#1f77b4;stroke-width:0.732707;"/> + <path clip-path="url(#pc5c1e84671)" d="M 368.755041 180.720997 +L 371.407128 179.989409 +" style="fill:none;stroke:#1f77b4;stroke-width:0.498569;"/> + <path clip-path="url(#pc5c1e84671)" d="M 332.738561 215.588016 +L 334.668263 212.763786 +" style="fill:none;stroke:#1f77b4;stroke-width:4.8901;"/> + <path clip-path="url(#pc5c1e84671)" d="M 334.668263 212.763786 +L 336.621404 209.975526 +" style="fill:none;stroke:#1f77b4;stroke-width:4.750051;"/> + <path clip-path="url(#pc5c1e84671)" d="M 336.621404 209.975526 +L 338.611995 207.24805 +" style="fill:none;stroke:#1f77b4;stroke-width:4.583886;"/> + <path clip-path="url(#pc5c1e84671)" d="M 338.611995 207.24805 +L 340.648756 204.597076 +" style="fill:none;stroke:#1f77b4;stroke-width:4.357622;"/> + <path clip-path="url(#pc5c1e84671)" d="M 340.648756 204.597076 +L 342.738146 202.040151 +" style="fill:none;stroke:#1f77b4;stroke-width:4.102027;"/> + <path clip-path="url(#pc5c1e84671)" d="M 342.738146 202.040151 +L 344.88355 199.5876 +" style="fill:none;stroke:#1f77b4;stroke-width:3.8223;"/> + <path clip-path="url(#pc5c1e84671)" d="M 344.88355 199.5876 +L 347.084135 197.248135 +" style="fill:none;stroke:#1f77b4;stroke-width:3.503797;"/> + <path clip-path="url(#pc5c1e84671)" d="M 347.084135 197.248135 +L 349.34011 195.028874 +" style="fill:none;stroke:#1f77b4;stroke-width:3.18979;"/> + <path clip-path="url(#pc5c1e84671)" d="M 349.34011 195.028874 +L 351.647391 192.931275 +" style="fill:none;stroke:#1f77b4;stroke-width:2.845824;"/> + <path clip-path="url(#pc5c1e84671)" d="M 351.647391 192.931275 +L 354.002053 190.960054 +" style="fill:none;stroke:#1f77b4;stroke-width:2.515591;"/> + <path clip-path="url(#pc5c1e84671)" d="M 354.002053 190.960054 +L 356.403248 189.11133 +" style="fill:none;stroke:#1f77b4;stroke-width:2.173963;"/> + <path clip-path="url(#pc5c1e84671)" d="M 332.738561 219.777814 +L 334.63824 216.908428 +" style="fill:none;stroke:#1f77b4;stroke-width:4.914099;"/> + <path clip-path="url(#pc5c1e84671)" d="M 334.63824 216.908428 +L 336.536211 214.036996 +" style="fill:none;stroke:#1f77b4;stroke-width:4.806784;"/> + <path clip-path="url(#pc5c1e84671)" d="M 336.536211 214.036996 +L 338.446563 211.184461 +" style="fill:none;stroke:#1f77b4;stroke-width:4.678638;"/> + <path clip-path="url(#pc5c1e84671)" d="M 338.446563 211.184461 +L 340.385377 208.376264 +" style="fill:none;stroke:#1f77b4;stroke-width:4.480727;"/> + <path clip-path="url(#pc5c1e84671)" d="M 340.385377 208.376264 +L 342.36414 205.631042 +" style="fill:none;stroke:#1f77b4;stroke-width:4.249587;"/> + <path clip-path="url(#pc5c1e84671)" d="M 332.738561 223.967611 +L 334.655814 221.124605 +" style="fill:none;stroke:#1f77b4;stroke-width:4.86568;"/> + <path clip-path="url(#pc5c1e84671)" d="M 334.655814 221.124605 +L 336.539391 218.232305 +" style="fill:none;stroke:#1f77b4;stroke-width:4.806822;"/> + <path clip-path="url(#pc5c1e84671)" d="M 336.539391 218.232305 +L 338.402877 215.311414 +" style="fill:none;stroke:#1f77b4;stroke-width:4.714424;"/> + <path clip-path="url(#pc5c1e84671)" d="M 338.402877 215.311414 +L 340.265611 212.390412 +" style="fill:none;stroke:#1f77b4;stroke-width:4.566459;"/> + <path clip-path="url(#pc5c1e84671)" d="M 340.265611 212.390412 +L 342.144426 209.492704 +" style="fill:none;stroke:#1f77b4;stroke-width:4.364802;"/> + <path clip-path="url(#pc5c1e84671)" d="M 342.144426 209.492704 +L 344.055897 206.644617 +" style="fill:none;stroke:#1f77b4;stroke-width:4.126984;"/> + <path clip-path="url(#pc5c1e84671)" d="M 344.055897 206.644617 +L 346.015594 203.871953 +" style="fill:none;stroke:#1f77b4;stroke-width:3.839527;"/> + <path clip-path="url(#pc5c1e84671)" d="M 346.015594 203.871953 +L 348.031025 201.191072 +" style="fill:none;stroke:#1f77b4;stroke-width:3.531708;"/> + <path clip-path="url(#pc5c1e84671)" d="M 348.031025 201.191072 +L 350.108725 198.620355 +" style="fill:none;stroke:#1f77b4;stroke-width:3.195096;"/> + <path clip-path="url(#pc5c1e84671)" d="M 332.738561 228.157409 +L 334.714513 225.406154 +" style="fill:none;stroke:#1f77b4;stroke-width:4.771198;"/> + <path clip-path="url(#pc5c1e84671)" d="M 334.714513 225.406154 +L 336.628631 222.5592 +" style="fill:none;stroke:#1f77b4;stroke-width:4.745546;"/> + <path clip-path="url(#pc5c1e84671)" d="M 336.628631 222.5592 +L 338.489693 219.635532 +" style="fill:none;stroke:#1f77b4;stroke-width:4.684275;"/> + <path clip-path="url(#pc5c1e84671)" d="M 338.489693 219.635532 +L 340.314219 216.661271 +" style="fill:none;stroke:#1f77b4;stroke-width:4.586196;"/> + <path clip-path="url(#pc5c1e84671)" d="M 340.314219 216.661271 +L 342.123509 213.667232 +" style="fill:none;stroke:#1f77b4;stroke-width:4.425647;"/> + <path clip-path="url(#pc5c1e84671)" d="M 342.123509 213.667232 +L 343.934156 210.675848 +" style="fill:none;stroke:#1f77b4;stroke-width:4.228137;"/> + <path clip-path="url(#pc5c1e84671)" d="M 343.934156 210.675848 +L 345.769506 207.720094 +" style="fill:none;stroke:#1f77b4;stroke-width:3.981155;"/> + <path clip-path="url(#pc5c1e84671)" d="M 332.738561 232.347206 +L 334.807603 229.752516 +" style="fill:none;stroke:#1f77b4;stroke-width:4.651121;"/> + <path clip-path="url(#pc5c1e84671)" d="M 334.807603 229.752516 +L 336.797306 227.023153 +" style="fill:none;stroke:#1f77b4;stroke-width:4.629511;"/> + <path clip-path="url(#pc5c1e84671)" d="M 336.797306 227.023153 +L 338.709514 224.174726 +" style="fill:none;stroke:#1f77b4;stroke-width:4.587919;"/> + <path clip-path="url(#pc5c1e84671)" d="M 338.709514 224.174726 +L 340.549689 221.222635 +" style="fill:none;stroke:#1f77b4;stroke-width:4.518533;"/> + <path clip-path="url(#pc5c1e84671)" d="M 340.549689 221.222635 +L 342.333591 218.195241 +" style="fill:none;stroke:#1f77b4;stroke-width:4.405973;"/> + <path clip-path="url(#pc5c1e84671)" d="M 342.333591 218.195241 +L 344.075717 215.114865 +" style="fill:none;stroke:#1f77b4;stroke-width:4.256073;"/> + <path clip-path="url(#pc5c1e84671)" d="M 344.075717 215.114865 +L 345.803362 212.017453 +" style="fill:none;stroke:#1f77b4;stroke-width:4.065909;"/> + <path clip-path="url(#pc5c1e84671)" d="M 332.738561 236.537004 +L 334.92457 234.16474 +" style="fill:none;stroke:#1f77b4;stroke-width:4.53097;"/> + <path clip-path="url(#pc5c1e84671)" d="M 334.92457 234.16474 +L 337.027842 231.632779 +" style="fill:none;stroke:#1f77b4;stroke-width:4.485282;"/> + <path clip-path="url(#pc5c1e84671)" d="M 337.027842 231.632779 +L 339.039787 228.942252 +" style="fill:none;stroke:#1f77b4;stroke-width:4.440132;"/> + <path clip-path="url(#pc5c1e84671)" d="M 339.039787 228.942252 +L 340.95453 226.098905 +" style="fill:none;stroke:#1f77b4;stroke-width:4.377263;"/> + <path clip-path="url(#pc5c1e84671)" d="M 340.95453 226.098905 +L 342.775257 223.121818 +" style="fill:none;stroke:#1f77b4;stroke-width:4.290369;"/> + <path clip-path="url(#pc5c1e84671)" d="M 342.775257 223.121818 +L 344.506884 220.029553 +" style="fill:none;stroke:#1f77b4;stroke-width:4.184557;"/> + <path clip-path="url(#pc5c1e84671)" d="M 344.506884 220.029553 +L 346.171805 216.856696 +" style="fill:none;stroke:#1f77b4;stroke-width:4.048264;"/> + <path clip-path="url(#pc5c1e84671)" d="M 346.171805 216.856696 +L 347.797464 213.64058 +" style="fill:none;stroke:#1f77b4;stroke-width:3.862081;"/> + <path clip-path="url(#pc5c1e84671)" d="M 347.797464 213.64058 +L 349.410314 210.410969 +" style="fill:none;stroke:#1f77b4;stroke-width:3.640694;"/> + <path clip-path="url(#pc5c1e84671)" d="M 349.410314 210.410969 +L 351.04691 207.211444 +" style="fill:none;stroke:#1f77b4;stroke-width:3.377069;"/> + <path clip-path="url(#pc5c1e84671)" d="M 351.04691 207.211444 +L 352.734556 204.074167 +" style="fill:none;stroke:#1f77b4;stroke-width:3.071671;"/> + <path clip-path="url(#pc5c1e84671)" d="M 352.734556 204.074167 +L 354.49689 201.032202 +" style="fill:none;stroke:#1f77b4;stroke-width:2.743636;"/> + <path clip-path="url(#pc5c1e84671)" d="M 354.49689 201.032202 +L 356.351603 198.122101 +" style="fill:none;stroke:#1f77b4;stroke-width:2.398164;"/> + <path clip-path="url(#pc5c1e84671)" d="M 356.351603 198.122101 +L 358.305969 195.359268 +" style="fill:none;stroke:#1f77b4;stroke-width:2.049468;"/> + <path clip-path="url(#pc5c1e84671)" d="M 358.305969 195.359268 +L 360.359476 192.771614 +" style="fill:none;stroke:#1f77b4;stroke-width:1.706723;"/> + <path clip-path="url(#pc5c1e84671)" d="M 360.359476 192.771614 +L 362.511115 190.368768 +" style="fill:none;stroke:#1f77b4;stroke-width:1.388199;"/> + <path clip-path="url(#pc5c1e84671)" d="M 362.511115 190.368768 +L 364.7519 188.164 +" style="fill:none;stroke:#1f77b4;stroke-width:1.080167;"/> + <path clip-path="url(#pc5c1e84671)" d="M 364.7519 188.164 +L 367.070822 186.173135 +" style="fill:none;stroke:#1f77b4;stroke-width:0.819387;"/> + <path clip-path="url(#pc5c1e84671)" d="M 367.070822 186.173135 +L 369.475278 184.396363 +" style="fill:none;stroke:#1f77b4;stroke-width:0.577535;"/> + <path clip-path="url(#pc5c1e84671)" d="M 332.738561 244.916599 +L 335.159282 243.112429 +" style="fill:none;stroke:#1f77b4;stroke-width:4.40669;"/> + <path clip-path="url(#pc5c1e84671)" d="M 335.159282 243.112429 +L 337.524965 241.15947 +" style="fill:none;stroke:#1f77b4;stroke-width:4.291206;"/> + <path clip-path="url(#pc5c1e84671)" d="M 337.524965 241.15947 +L 339.821905 239.032253 +" style="fill:none;stroke:#1f77b4;stroke-width:4.149172;"/> + <path clip-path="url(#pc5c1e84671)" d="M 339.821905 239.032253 +L 342.031102 236.711712 +" style="fill:none;stroke:#1f77b4;stroke-width:4.004157;"/> + <path clip-path="url(#pc5c1e84671)" d="M 342.031102 236.711712 +L 344.128303 234.173488 +" style="fill:none;stroke:#1f77b4;stroke-width:3.86044;"/> + <path clip-path="url(#pc5c1e84671)" d="M 344.128303 234.173488 +L 346.090327 231.407415 +" style="fill:none;stroke:#1f77b4;stroke-width:3.725967;"/> + <path clip-path="url(#pc5c1e84671)" d="M 346.090327 231.407415 +L 347.893858 228.415014 +" style="fill:none;stroke:#1f77b4;stroke-width:3.616446;"/> + <path clip-path="url(#pc5c1e84671)" d="M 347.893858 228.415014 +L 349.525093 225.210127 +" style="fill:none;stroke:#1f77b4;stroke-width:3.513902;"/> + <path clip-path="url(#pc5c1e84671)" d="M 349.525093 225.210127 +L 350.992455 221.834819 +" style="fill:none;stroke:#1f77b4;stroke-width:3.428706;"/> + <path clip-path="url(#pc5c1e84671)" d="M 350.992455 221.834819 +L 352.325683 218.339466 +" style="fill:none;stroke:#1f77b4;stroke-width:3.316989;"/> + <path clip-path="url(#pc5c1e84671)" d="M 352.325683 218.339466 +L 353.563288 214.766427 +" style="fill:none;stroke:#1f77b4;stroke-width:3.185718;"/> + <path clip-path="url(#pc5c1e84671)" d="M 353.563288 214.766427 +L 354.76847 211.172322 +" style="fill:none;stroke:#1f77b4;stroke-width:3.02161;"/> + <path clip-path="url(#pc5c1e84671)" d="M 354.76847 211.172322 +L 356.007019 207.607946 +" style="fill:none;stroke:#1f77b4;stroke-width:2.787672;"/> + <path clip-path="url(#pc5c1e84671)" d="M 356.007019 207.607946 +L 357.32274 204.108435 +" style="fill:none;stroke:#1f77b4;stroke-width:2.515365;"/> + <path clip-path="url(#pc5c1e84671)" d="M 357.32274 204.108435 +L 358.757897 200.720951 +" style="fill:none;stroke:#1f77b4;stroke-width:2.214733;"/> + <path clip-path="url(#pc5c1e84671)" d="M 358.757897 200.720951 +L 360.3447 197.49941 +" style="fill:none;stroke:#1f77b4;stroke-width:1.88832;"/> + <path clip-path="url(#pc5c1e84671)" d="M 332.738561 249.106397 +L 335.25222 247.610486 +" style="fill:none;stroke:#1f77b4;stroke-width:4.490704;"/> + <path clip-path="url(#pc5c1e84671)" d="M 335.25222 247.610486 +L 337.730572 245.992208 +" style="fill:none;stroke:#1f77b4;stroke-width:4.320976;"/> + <path clip-path="url(#pc5c1e84671)" d="M 337.730572 245.992208 +L 340.164061 244.228323 +" style="fill:none;stroke:#1f77b4;stroke-width:4.113111;"/> + <path clip-path="url(#pc5c1e84671)" d="M 332.738561 253.296194 +L 335.322691 252.092367 +" style="fill:none;stroke:#1f77b4;stroke-width:4.690057;"/> + <path clip-path="url(#pc5c1e84671)" d="M 335.322691 252.092367 +L 337.887405 250.799599 +" style="fill:none;stroke:#1f77b4;stroke-width:4.475168;"/> + <path clip-path="url(#pc5c1e84671)" d="M 337.887405 250.799599 +L 340.427598 249.40174 +" style="fill:none;stroke:#1f77b4;stroke-width:4.212262;"/> + <path clip-path="url(#pc5c1e84671)" d="M 340.427598 249.40174 +L 342.934059 247.880622 +" style="fill:none;stroke:#1f77b4;stroke-width:3.926891;"/> + <path clip-path="url(#pc5c1e84671)" d="M 342.934059 247.880622 +L 345.394538 246.207753 +" style="fill:none;stroke:#1f77b4;stroke-width:3.64128;"/> + <path clip-path="url(#pc5c1e84671)" d="M 345.394538 246.207753 +L 347.791556 244.341574 +" style="fill:none;stroke:#1f77b4;stroke-width:3.324308;"/> + <path clip-path="url(#pc5c1e84671)" d="M 347.791556 244.341574 +L 350.095138 242.239643 +" style="fill:none;stroke:#1f77b4;stroke-width:3.021864;"/> + <path clip-path="url(#pc5c1e84671)" d="M 350.095138 242.239643 +L 352.260381 239.83858 +" style="fill:none;stroke:#1f77b4;stroke-width:2.770307;"/> + <path clip-path="url(#pc5c1e84671)" d="M 352.260381 239.83858 +L 354.220134 237.084549 +" style="fill:none;stroke:#1f77b4;stroke-width:2.54968;"/> + <path clip-path="url(#pc5c1e84671)" d="M 354.220134 237.084549 +L 355.797115 234.163311 +" style="fill:none;stroke:#1f77b4;stroke-width:2.421083;"/> + <path clip-path="url(#pc5c1e84671)" d="M 355.797115 234.163311 +L 356.952304 231.281776 +" style="fill:none;stroke:#1f77b4;stroke-width:2.362147;"/> + <path clip-path="url(#pc5c1e84671)" d="M 356.952304 231.281776 +L 357.842262 228.249572 +" style="fill:none;stroke:#1f77b4;stroke-width:2.367076;"/> + <path clip-path="url(#pc5c1e84671)" d="M 357.842262 228.249572 +L 358.521534 224.994352 +" style="fill:none;stroke:#1f77b4;stroke-width:2.401455;"/> + <path clip-path="url(#pc5c1e84671)" d="M 358.521534 224.994352 +L 359.066649 221.352723 +" style="fill:none;stroke:#1f77b4;stroke-width:2.452545;"/> + <path clip-path="url(#pc5c1e84671)" d="M 359.066649 221.352723 +L 359.530868 217.400711 +" style="fill:none;stroke:#1f77b4;stroke-width:2.462214;"/> + <path clip-path="url(#pc5c1e84671)" d="M 359.530868 217.400711 +L 359.964342 213.436724 +" style="fill:none;stroke:#1f77b4;stroke-width:2.42313;"/> + <path clip-path="url(#pc5c1e84671)" d="M 359.964342 213.436724 +L 360.45371 209.493163 +" style="fill:none;stroke:#1f77b4;stroke-width:2.319087;"/> + <path clip-path="url(#pc5c1e84671)" d="M 360.45371 209.493163 +L 361.08717 205.610685 +" style="fill:none;stroke:#1f77b4;stroke-width:2.149327;"/> + <path clip-path="url(#pc5c1e84671)" d="M 361.08717 205.610685 +L 361.937722 201.840055 +" style="fill:none;stroke:#1f77b4;stroke-width:1.9059;"/> + <path clip-path="url(#pc5c1e84671)" d="M 361.937722 201.840055 +L 363.045165 198.228031 +" style="fill:none;stroke:#1f77b4;stroke-width:1.626135;"/> + <path clip-path="url(#pc5c1e84671)" d="M 363.045165 198.228031 +L 364.326647 195.02474 +" style="fill:none;stroke:#1f77b4;stroke-width:1.325577;"/> + <path clip-path="url(#pc5c1e84671)" d="M 364.326647 195.02474 +L 365.783391 192.165041 +" style="fill:none;stroke:#1f77b4;stroke-width:1.051937;"/> + <path clip-path="url(#pc5c1e84671)" d="M 365.783391 192.165041 +L 367.364868 189.654957 +" style="fill:none;stroke:#1f77b4;stroke-width:0.816871;"/> + <path clip-path="url(#pc5c1e84671)" d="M 332.738561 257.485992 +L 335.37259 256.545594 +" style="fill:none;stroke:#1f77b4;stroke-width:5.007593;"/> + <path clip-path="url(#pc5c1e84671)" d="M 335.37259 256.545594 +L 337.997495 255.547992 +" style="fill:none;stroke:#1f77b4;stroke-width:4.764791;"/> + <path clip-path="url(#pc5c1e84671)" d="M 337.997495 255.547992 +L 340.611043 254.484723 +" style="fill:none;stroke:#1f77b4;stroke-width:4.467114;"/> + <path clip-path="url(#pc5c1e84671)" d="M 340.611043 254.484723 +L 343.208902 253.344931 +" style="fill:none;stroke:#1f77b4;stroke-width:4.138204;"/> + <path clip-path="url(#pc5c1e84671)" d="M 343.208902 253.344931 +L 345.786036 252.112457 +" style="fill:none;stroke:#1f77b4;stroke-width:3.790758;"/> + <path clip-path="url(#pc5c1e84671)" d="M 345.786036 252.112457 +L 348.336262 250.76266 +" style="fill:none;stroke:#1f77b4;stroke-width:3.405451;"/> + <path clip-path="url(#pc5c1e84671)" d="M 348.336262 250.76266 +L 350.848133 249.261875 +" style="fill:none;stroke:#1f77b4;stroke-width:3.001347;"/> + <path clip-path="url(#pc5c1e84671)" d="M 350.848133 249.261875 +L 353.299384 247.566128 +" style="fill:none;stroke:#1f77b4;stroke-width:2.616814;"/> + <path clip-path="url(#pc5c1e84671)" d="M 353.299384 247.566128 +L 355.654656 245.602802 +" style="fill:none;stroke:#1f77b4;stroke-width:2.272668;"/> + <path clip-path="url(#pc5c1e84671)" d="M 355.654656 245.602802 +L 357.846197 243.273403 +" style="fill:none;stroke:#1f77b4;stroke-width:1.959816;"/> + <path clip-path="url(#pc5c1e84671)" d="M 357.846197 243.273403 +L 357.846197 243.273403 +" style="fill:none;stroke:#1f77b4;stroke-width:1.740901;"/> + <path clip-path="url(#pc5c1e84671)" d="M 357.846197 243.273403 +L 359.368479 241.13727 +" style="fill:none;stroke:#1f77b4;stroke-width:1.740901;"/> + <path clip-path="url(#pc5c1e84671)" d="M 359.368479 241.13727 +L 360.65542 238.644707 +" style="fill:none;stroke:#1f77b4;stroke-width:1.635274;"/> + <path clip-path="url(#pc5c1e84671)" d="M 360.65542 238.644707 +L 361.522953 236.177069 +" style="fill:none;stroke:#1f77b4;stroke-width:1.609838;"/> + <path clip-path="url(#pc5c1e84671)" d="M 361.522953 236.177069 +L 362.09072 233.657029 +" style="fill:none;stroke:#1f77b4;stroke-width:1.656127;"/> + <path clip-path="url(#pc5c1e84671)" d="M 362.09072 233.657029 +L 362.438552 230.949899 +" style="fill:none;stroke:#1f77b4;stroke-width:1.73776;"/> + <path clip-path="url(#pc5c1e84671)" d="M 362.438552 230.949899 +L 362.606594 227.907513 +" style="fill:none;stroke:#1f77b4;stroke-width:1.850877;"/> + <path clip-path="url(#pc5c1e84671)" d="M 362.606594 227.907513 +L 362.611879 224.23794 +" style="fill:none;stroke:#1f77b4;stroke-width:1.973248;"/> + <path clip-path="url(#pc5c1e84671)" d="M 362.611879 224.23794 +L 362.500383 220.23878 +" style="fill:none;stroke:#1f77b4;stroke-width:2.107155;"/> + <path clip-path="url(#pc5c1e84671)" d="M 362.500383 220.23878 +L 362.3881 216.242078 +" style="fill:none;stroke:#1f77b4;stroke-width:2.186705;"/> + <path clip-path="url(#pc5c1e84671)" d="M 332.738561 261.675789 +L 335.405816 260.964347 +" style="fill:none;stroke:#1f77b4;stroke-width:5.435987;"/> + <path clip-path="url(#pc5c1e84671)" d="M 335.405816 260.964347 +L 338.069574 260.22125 +" style="fill:none;stroke:#1f77b4;stroke-width:5.184034;"/> + <path clip-path="url(#pc5c1e84671)" d="M 338.069574 260.22125 +L 340.72889 259.44362 +" style="fill:none;stroke:#1f77b4;stroke-width:4.873051;"/> + <path clip-path="url(#pc5c1e84671)" d="M 340.72889 259.44362 +L 343.382168 258.627117 +" style="fill:none;stroke:#1f77b4;stroke-width:4.526299;"/> + <path clip-path="url(#pc5c1e84671)" d="M 343.382168 258.627117 +L 346.02819 257.765906 +" style="fill:none;stroke:#1f77b4;stroke-width:4.141458;"/> + <path clip-path="url(#pc5c1e84671)" d="M 346.02819 257.765906 +L 348.665623 256.851665 +" style="fill:none;stroke:#1f77b4;stroke-width:3.715285;"/> + <path clip-path="url(#pc5c1e84671)" d="M 348.665623 256.851665 +L 351.292499 255.871919 +" style="fill:none;stroke:#1f77b4;stroke-width:3.259193;"/> + <path clip-path="url(#pc5c1e84671)" d="M 351.292499 255.871919 +L 353.905456 254.807825 +" style="fill:none;stroke:#1f77b4;stroke-width:2.791991;"/> + <path clip-path="url(#pc5c1e84671)" d="M 353.905456 254.807825 +L 356.494808 253.632422 +" style="fill:none;stroke:#1f77b4;stroke-width:2.328331;"/> + <path clip-path="url(#pc5c1e84671)" d="M 356.494808 253.632422 +L 359.044538 252.300895 +" style="fill:none;stroke:#1f77b4;stroke-width:1.907181;"/> + <path clip-path="url(#pc5c1e84671)" d="M 359.044538 252.300895 +L 361.528462 250.730745 +" style="fill:none;stroke:#1f77b4;stroke-width:1.517837;"/> + <path clip-path="url(#pc5c1e84671)" d="M 361.528462 250.730745 +L 363.876564 248.779518 +" style="fill:none;stroke:#1f77b4;stroke-width:1.170965;"/> + <path clip-path="url(#pc5c1e84671)" d="M 363.876564 248.779518 +L 363.876564 248.779518 +" style="fill:none;stroke:#1f77b4;stroke-width:0.914477;"/> + <path clip-path="url(#pc5c1e84671)" d="M 363.876564 248.779518 +L 365.312362 247.125141 +" style="fill:none;stroke:#1f77b4;stroke-width:0.914477;"/> + <path clip-path="url(#pc5c1e84671)" d="M 365.312362 247.125141 +L 365.312362 247.125141 +" style="fill:none;stroke:#1f77b4;stroke-width:0.815284;"/> + <path clip-path="url(#pc5c1e84671)" d="M 365.312362 247.125141 +L 366.331101 245.452271 +" style="fill:none;stroke:#1f77b4;stroke-width:0.815284;"/> + <path clip-path="url(#pc5c1e84671)" d="M 366.331101 245.452271 +L 367.093372 243.473565 +" style="fill:none;stroke:#1f77b4;stroke-width:0.765183;"/> + <path clip-path="url(#pc5c1e84671)" d="M 367.093372 243.473565 +L 367.495236 241.547051 +" style="fill:none;stroke:#1f77b4;stroke-width:0.798623;"/> + <path clip-path="url(#pc5c1e84671)" d="M 367.495236 241.547051 +L 367.650551 239.531385 +" style="fill:none;stroke:#1f77b4;stroke-width:0.876037;"/> + <path clip-path="url(#pc5c1e84671)" d="M 367.650551 239.531385 +L 367.606342 237.309602 +" style="fill:none;stroke:#1f77b4;stroke-width:0.97841;"/> + <path clip-path="url(#pc5c1e84671)" d="M 367.606342 237.309602 +L 367.350575 234.623643 +" style="fill:none;stroke:#1f77b4;stroke-width:1.12203;"/> + <path clip-path="url(#pc5c1e84671)" d="M 367.350575 234.623643 +L 366.876847 231.42461 +" style="fill:none;stroke:#1f77b4;stroke-width:1.303662;"/> + <path clip-path="url(#pc5c1e84671)" d="M 366.876847 231.42461 +L 366.195796 227.555682 +" style="fill:none;stroke:#1f77b4;stroke-width:1.514551;"/> + <path clip-path="url(#pc5c1e84671)" d="M 366.195796 227.555682 +L 365.491485 223.701255 +" style="fill:none;stroke:#1f77b4;stroke-width:1.744724;"/> + <path clip-path="url(#pc5c1e84671)" d="M 332.738561 265.865587 +L 335.426642 265.347596 +" style="fill:none;stroke:#1f77b4;stroke-width:5.958059;"/> + <path clip-path="url(#pc5c1e84671)" d="M 335.426642 265.347596 +L 338.113649 264.816077 +" style="fill:none;stroke:#1f77b4;stroke-width:5.711985;"/> + <path clip-path="url(#pc5c1e84671)" d="M 338.113649 264.816077 +L 340.799227 264.271362 +" style="fill:none;stroke:#1f77b4;stroke-width:5.408622;"/> + <path clip-path="url(#pc5c1e84671)" d="M 340.799227 264.271362 +L 343.48318 263.713851 +" style="fill:none;stroke:#1f77b4;stroke-width:5.056674;"/> + <path clip-path="url(#pc5c1e84671)" d="M 343.48318 263.713851 +L 346.165611 263.144331 +" style="fill:none;stroke:#1f77b4;stroke-width:4.656526;"/> + <path clip-path="url(#pc5c1e84671)" d="M 346.165611 263.144331 +L 348.846651 262.56373 +" style="fill:none;stroke:#1f77b4;stroke-width:4.21366;"/> + <path clip-path="url(#pc5c1e84671)" d="M 395.659551 254.82805 +L 393.010891 255.664624 +" style="fill:none;stroke:#1f77b4;stroke-width:1.361958;"/> + <path clip-path="url(#pc5c1e84671)" d="M 393.010891 255.664624 +L 390.38392 256.597015 +" style="fill:none;stroke:#1f77b4;stroke-width:0.982125;"/> + <path clip-path="url(#pc5c1e84671)" d="M 390.38392 256.597015 +L 388.049754 257.585367 +" style="fill:none;stroke:#1f77b4;stroke-width:0.654611;"/> + <path clip-path="url(#pc5c1e84671)" d="M 388.049754 257.585367 +L 386.413633 258.461061 +" style="fill:none;stroke:#1f77b4;stroke-width:0.426686;"/> + <path clip-path="url(#pc5c1e84671)" d="M 386.413633 258.461061 +L 385.26748 259.271151 +" style="fill:none;stroke:#1f77b4;stroke-width:0.287501;"/> + <path clip-path="url(#pc5c1e84671)" d="M 385.26748 259.271151 +L 384.427229 260.102577 +" style="fill:none;stroke:#1f77b4;stroke-width:0.214108;"/> + <path clip-path="url(#pc5c1e84671)" d="M 384.427229 260.102577 +L 383.771291 261.129519 +" style="fill:none;stroke:#1f77b4;stroke-width:0.164945;"/> + <path clip-path="url(#pc5c1e84671)" d="M 383.771291 261.129519 +L 383.367268 262.511377 +" style="fill:none;stroke:#1f77b4;stroke-width:0.158599;"/> + <path clip-path="url(#pc5c1e84671)" d="M 383.367268 262.511377 +L 383.318227 263.997033 +" style="fill:none;stroke:#1f77b4;stroke-width:0.184136;"/> + <path clip-path="url(#pc5c1e84671)" d="M 383.318227 263.997033 +L 383.318227 263.997033 +" style="fill:none;stroke:#1f77b4;stroke-width:0.226133;"/> + <path clip-path="url(#pc5c1e84671)" d="M 383.318227 263.997033 +L 383.569383 265.865587 +" style="fill:none;stroke:#1f77b4;stroke-width:0.226133;"/> + <path clip-path="url(#pc5c1e84671)" d="M 383.569383 265.865587 +L 383.569383 265.865587 +" style="fill:none;stroke:#1f77b4;stroke-width:0.304457;"/> + <path clip-path="url(#pc5c1e84671)" d="M 383.569383 265.865587 +L 383.569383 265.865587 +" style="fill:none;stroke:#1f77b4;stroke-width:0.304457;"/> + <path clip-path="url(#pc5c1e84671)" d="M 397.083165 261.391997 +L 395.068651 262.801634 +" style="fill:none;stroke:#1f77b4;stroke-width:1.352166;"/> + <path clip-path="url(#pc5c1e84671)" d="M 395.068651 262.801634 +L 393.508794 264.16576 +" style="fill:none;stroke:#1f77b4;stroke-width:1.105774;"/> + <path clip-path="url(#pc5c1e84671)" d="M 393.508794 264.16576 +L 392.041187 265.865587 +" style="fill:none;stroke:#1f77b4;stroke-width:0.929263;"/> + <path clip-path="url(#pc5c1e84671)" d="M 392.041187 265.865587 +L 392.041187 265.865587 +" style="fill:none;stroke:#1f77b4;stroke-width:0.824431;"/> + <path clip-path="url(#pc5c1e84671)" d="M 392.041187 265.865587 +L 392.041187 265.865587 +" style="fill:none;stroke:#1f77b4;stroke-width:0.824431;"/> + <path clip-path="url(#pc5c1e84671)" d="M 392.041187 265.865587 +L 391.042447 267.504593 +" style="fill:none;stroke:#1f77b4;stroke-width:0.824431;"/> + <path clip-path="url(#pc5c1e84671)" d="M 391.042447 267.504593 +L 390.265503 269.501962 +" style="fill:none;stroke:#1f77b4;stroke-width:0.794675;"/> + <path clip-path="url(#pc5c1e84671)" d="M 379.230003 256.706427 +L 379.230003 256.706427 +" style="fill:none;stroke:#1f77b4;stroke-width:0.032784;"/> + <path clip-path="url(#pc5c1e84671)" d="M 379.230003 256.706427 +L 379.055887 257.035735 +" style="fill:none;stroke:#1f77b4;stroke-width:0.032784;"/> + <path clip-path="url(#pc5c1e84671)" d="M 379.055887 257.035735 +L 379.108817 257.4396 +" style="fill:none;stroke:#1f77b4;stroke-width:0.03516;"/> + <path clip-path="url(#pc5c1e84671)" d="M 379.108817 257.4396 +L 379.265858 257.932976 +" style="fill:none;stroke:#1f77b4;stroke-width:0.037471;"/> + <path clip-path="url(#pc5c1e84671)" d="M 379.265858 257.932976 +L 379.479408 258.505102 +" style="fill:none;stroke:#1f77b4;stroke-width:0.039677;"/> + <path clip-path="url(#pc5c1e84671)" d="M 379.479408 258.505102 +L 379.697287 259.061666 +" style="fill:none;stroke:#1f77b4;stroke-width:0.041527;"/> + <path clip-path="url(#pc5c1e84671)" d="M 379.697287 259.061666 +L 380.043435 259.927754 +" style="fill:none;stroke:#1f77b4;stroke-width:0.042637;"/> + <path clip-path="url(#pc5c1e84671)" d="M 380.043435 259.927754 +L 380.043435 259.927754 +" style="fill:none;stroke:#1f77b4;stroke-width:0.043041;"/> + <path clip-path="url(#pc5c1e84671)" d="M 380.043435 259.927754 +L 380.745449 261.675789 +" style="fill:none;stroke:#1f77b4;stroke-width:0.043041;"/> + <path clip-path="url(#pc5c1e84671)" d="M 380.745449 261.675789 +L 380.745449 261.675789 +" style="fill:none;stroke:#1f77b4;stroke-width:0.11335;"/> + <path clip-path="url(#pc5c1e84671)" d="M 394.865121 249.106397 +L 392.161109 249.35881 +" style="fill:none;stroke:#1f77b4;stroke-width:1.65861;"/> + <path clip-path="url(#pc5c1e84671)" d="M 392.161109 249.35881 +L 389.454051 249.516212 +" style="fill:none;stroke:#1f77b4;stroke-width:1.258762;"/> + <path clip-path="url(#pc5c1e84671)" d="M 389.454051 249.516212 +L 386.745347 249.525124 +" style="fill:none;stroke:#1f77b4;stroke-width:0.91117;"/> + <path clip-path="url(#pc5c1e84671)" d="M 386.745347 249.525124 +L 384.043387 249.288903 +" style="fill:none;stroke:#1f77b4;stroke-width:0.625445;"/> + <path clip-path="url(#pc5c1e84671)" d="M 384.043387 249.288903 +L 381.382809 248.633942 +" style="fill:none;stroke:#1f77b4;stroke-width:0.426925;"/> + <path clip-path="url(#pc5c1e84671)" d="M 381.382809 248.633942 +L 381.382809 248.633942 +" style="fill:none;stroke:#1f77b4;stroke-width:0.322547;"/> + <path clip-path="url(#pc5c1e84671)" d="M 381.382809 248.633942 +L 379.537716 247.771536 +" style="fill:none;stroke:#1f77b4;stroke-width:0.322547;"/> + <path clip-path="url(#pc5c1e84671)" d="M 379.537716 247.771536 +L 377.78257 246.45867 +" style="fill:none;stroke:#1f77b4;stroke-width:0.300255;"/> + <path clip-path="url(#pc5c1e84671)" d="M 377.78257 246.45867 +L 376.348618 244.922282 +" style="fill:none;stroke:#1f77b4;stroke-width:0.335903;"/> + <path clip-path="url(#pc5c1e84671)" d="M 376.348618 244.922282 +L 375.030467 243.081511 +" style="fill:none;stroke:#1f77b4;stroke-width:0.395039;"/> + <path clip-path="url(#pc5c1e84671)" d="M 375.030467 243.081511 +L 373.715724 240.827975 +" style="fill:none;stroke:#1f77b4;stroke-width:0.528387;"/> + <path clip-path="url(#pc5c1e84671)" d="M 373.715724 240.827975 +L 372.292123 237.948852 +" style="fill:none;stroke:#1f77b4;stroke-width:0.678741;"/> + <path clip-path="url(#pc5c1e84671)" d="M 372.292123 237.948852 +L 370.848434 234.612108 +" style="fill:none;stroke:#1f77b4;stroke-width:0.906737;"/> + <path clip-path="url(#pc5c1e84671)" d="M 370.848434 234.612108 +L 369.51703 231.152143 +" style="fill:none;stroke:#1f77b4;stroke-width:1.168507;"/> + <path clip-path="url(#pc5c1e84671)" d="M 369.51703 231.152143 +L 368.299093 227.601896 +" style="fill:none;stroke:#1f77b4;stroke-width:1.421622;"/> + <path clip-path="url(#pc5c1e84671)" d="M 394.865121 244.916599 +L 392.154931 244.887811 +" style="fill:none;stroke:#1f77b4;stroke-width:2.054205;"/> + <path clip-path="url(#pc5c1e84671)" d="M 392.154931 244.887811 +L 389.447593 244.721198 +" style="fill:none;stroke:#1f77b4;stroke-width:1.654416;"/> + <path clip-path="url(#pc5c1e84671)" d="M 389.447593 244.721198 +L 386.749413 244.363412 +" style="fill:none;stroke:#1f77b4;stroke-width:1.30948;"/> + <path clip-path="url(#pc5c1e84671)" d="M 386.749413 244.363412 +L 384.075253 243.737484 +" style="fill:none;stroke:#1f77b4;stroke-width:1.029459;"/> + <path clip-path="url(#pc5c1e84671)" d="M 384.075253 243.737484 +L 381.457709 242.742666 +" style="fill:none;stroke:#1f77b4;stroke-width:0.839752;"/> + <path clip-path="url(#pc5c1e84671)" d="M 381.457709 242.742666 +L 378.952621 241.276783 +" style="fill:none;stroke:#1f77b4;stroke-width:0.743289;"/> + <path clip-path="url(#pc5c1e84671)" d="M 378.952621 241.276783 +L 376.8898 239.556428 +" style="fill:none;stroke:#1f77b4;stroke-width:0.734641;"/> + <path clip-path="url(#pc5c1e84671)" d="M 376.8898 239.556428 +L 375.102484 237.585562 +" style="fill:none;stroke:#1f77b4;stroke-width:0.789306;"/> + <path clip-path="url(#pc5c1e84671)" d="M 394.865121 240.726802 +L 392.159726 240.501661 +" style="fill:none;stroke:#1f77b4;stroke-width:2.516366;"/> + <path clip-path="url(#pc5c1e84671)" d="M 392.159726 240.501661 +L 389.462339 240.125411 +" style="fill:none;stroke:#1f77b4;stroke-width:2.115985;"/> + <path clip-path="url(#pc5c1e84671)" d="M 389.462339 240.125411 +L 386.780775 239.553151 +" style="fill:none;stroke:#1f77b4;stroke-width:1.769328;"/> + <path clip-path="url(#pc5c1e84671)" d="M 386.780775 239.553151 +L 384.130214 238.72919 +" style="fill:none;stroke:#1f77b4;stroke-width:1.486451;"/> + <path clip-path="url(#pc5c1e84671)" d="M 384.130214 238.72919 +L 381.537201 237.588109 +" style="fill:none;stroke:#1f77b4;stroke-width:1.293575;"/> + <path clip-path="url(#pc5c1e84671)" d="M 381.537201 237.588109 +L 379.039515 236.067518 +" style="fill:none;stroke:#1f77b4;stroke-width:1.188666;"/> + <path clip-path="url(#pc5c1e84671)" d="M 379.039515 236.067518 +L 376.708714 234.156664 +" style="fill:none;stroke:#1f77b4;stroke-width:1.166013;"/> + <path clip-path="url(#pc5c1e84671)" d="M 376.708714 234.156664 +L 374.672639 231.989832 +" style="fill:none;stroke:#1f77b4;stroke-width:1.209988;"/> + <path clip-path="url(#pc5c1e84671)" d="M 374.672639 231.989832 +L 372.845037 229.555941 +" style="fill:none;stroke:#1f77b4;stroke-width:1.32838;"/> + <path clip-path="url(#pc5c1e84671)" d="M 372.845037 229.555941 +L 371.140419 226.760794 +" style="fill:none;stroke:#1f77b4;stroke-width:1.469771;"/> + <path clip-path="url(#pc5c1e84671)" d="M 371.140419 226.760794 +L 369.597014 223.672549 +" style="fill:none;stroke:#1f77b4;stroke-width:1.618301;"/> + <path clip-path="url(#pc5c1e84671)" d="M 369.597014 223.672549 +L 368.202301 220.258502 +" style="fill:none;stroke:#1f77b4;stroke-width:1.754237;"/> + <path clip-path="url(#pc5c1e84671)" d="M 368.202301 220.258502 +L 367.034407 216.660951 +" style="fill:none;stroke:#1f77b4;stroke-width:1.869439;"/> + <path clip-path="url(#pc5c1e84671)" d="M 367.034407 216.660951 +L 366.122597 212.921631 +" style="fill:none;stroke:#1f77b4;stroke-width:1.888685;"/> + <path clip-path="url(#pc5c1e84671)" d="M 366.122597 212.921631 +L 365.506036 209.161142 +" style="fill:none;stroke:#1f77b4;stroke-width:1.850654;"/> + <path clip-path="url(#pc5c1e84671)" d="M 365.506036 209.161142 +L 365.218531 205.527118 +" style="fill:none;stroke:#1f77b4;stroke-width:1.746933;"/> + <path clip-path="url(#pc5c1e84671)" d="M 365.218531 205.527118 +L 365.25291 202.219317 +" style="fill:none;stroke:#1f77b4;stroke-width:1.5723;"/> + <path clip-path="url(#pc5c1e84671)" d="M 365.25291 202.219317 +L 365.558985 199.176033 +" style="fill:none;stroke:#1f77b4;stroke-width:1.376517;"/> + <path clip-path="url(#pc5c1e84671)" d="M 365.558985 199.176033 +L 366.135224 196.279407 +" style="fill:none;stroke:#1f77b4;stroke-width:1.172342;"/> + <path clip-path="url(#pc5c1e84671)" d="M 366.135224 196.279407 +L 366.916879 193.702708 +" style="fill:none;stroke:#1f77b4;stroke-width:0.966296;"/> + <path clip-path="url(#pc5c1e84671)" d="M 394.865121 236.537004 +L 392.166566 236.172547 +" style="fill:none;stroke:#1f77b4;stroke-width:2.98191;"/> + <path clip-path="url(#pc5c1e84671)" d="M 392.166566 236.172547 +L 389.479668 235.656386 +" style="fill:none;stroke:#1f77b4;stroke-width:2.578838;"/> + <path clip-path="url(#pc5c1e84671)" d="M 389.479668 235.656386 +L 386.812463 234.95059 +" style="fill:none;stroke:#1f77b4;stroke-width:2.228663;"/> + <path clip-path="url(#pc5c1e84671)" d="M 386.812463 234.95059 +L 384.178845 234.011275 +" style="fill:none;stroke:#1f77b4;stroke-width:1.939904;"/> + <path clip-path="url(#pc5c1e84671)" d="M 384.178845 234.011275 +L 381.600835 232.79111 +" style="fill:none;stroke:#1f77b4;stroke-width:1.729173;"/> + <path clip-path="url(#pc5c1e84671)" d="M 394.865121 232.347206 +L 392.173175 231.885049 +" style="fill:none;stroke:#1f77b4;stroke-width:3.411211;"/> + <path clip-path="url(#pc5c1e84671)" d="M 392.173175 231.885049 +L 389.495013 231.275192 +" style="fill:none;stroke:#1f77b4;stroke-width:2.997595;"/> + <path clip-path="url(#pc5c1e84671)" d="M 389.495013 231.275192 +L 386.838392 230.484975 +" style="fill:none;stroke:#1f77b4;stroke-width:2.634225;"/> + <path clip-path="url(#pc5c1e84671)" d="M 386.838392 230.484975 +L 384.216167 229.476397 +" style="fill:none;stroke:#1f77b4;stroke-width:2.329131;"/> + <path clip-path="url(#pc5c1e84671)" d="M 384.216167 229.476397 +L 381.647455 228.210331 +" style="fill:none;stroke:#1f77b4;stroke-width:2.09999;"/> + <path clip-path="url(#pc5c1e84671)" d="M 381.647455 228.210331 +L 379.157239 226.646572 +" style="fill:none;stroke:#1f77b4;stroke-width:1.928572;"/> + <path clip-path="url(#pc5c1e84671)" d="M 379.157239 226.646572 +L 376.774455 224.748046 +" style="fill:none;stroke:#1f77b4;stroke-width:1.826903;"/> + <path clip-path="url(#pc5c1e84671)" d="M 376.774455 224.748046 +L 374.539723 222.495051 +" style="fill:none;stroke:#1f77b4;stroke-width:1.788042;"/> + <path clip-path="url(#pc5c1e84671)" d="M 374.539723 222.495051 +L 372.537348 219.954392 +" style="fill:none;stroke:#1f77b4;stroke-width:1.778137;"/> + <path clip-path="url(#pc5c1e84671)" d="M 372.537348 219.954392 +L 370.795753 217.170255 +" style="fill:none;stroke:#1f77b4;stroke-width:1.804771;"/> + <path clip-path="url(#pc5c1e84671)" d="M 370.795753 217.170255 +L 369.353365 214.2483 +" style="fill:none;stroke:#1f77b4;stroke-width:1.788877;"/> + <path clip-path="url(#pc5c1e84671)" d="M 369.353365 214.2483 +L 368.174436 211.126614 +" style="fill:none;stroke:#1f77b4;stroke-width:1.772111;"/> + <path clip-path="url(#pc5c1e84671)" d="M 394.865121 228.157409 +L 392.178506 227.629581 +" style="fill:none;stroke:#1f77b4;stroke-width:3.767505;"/> + <path clip-path="url(#pc5c1e84671)" d="M 392.178506 227.629581 +L 389.506722 226.959413 +" style="fill:none;stroke:#1f77b4;stroke-width:3.334333;"/> + <path clip-path="url(#pc5c1e84671)" d="M 389.506722 226.959413 +L 386.857128 226.117541 +" style="fill:none;stroke:#1f77b4;stroke-width:2.947553;"/> + <path clip-path="url(#pc5c1e84671)" d="M 386.857128 226.117541 +L 384.241797 225.069221 +" style="fill:none;stroke:#1f77b4;stroke-width:2.614693;"/> + <path clip-path="url(#pc5c1e84671)" d="M 384.241797 225.069221 +L 381.678368 223.778045 +" style="fill:none;stroke:#1f77b4;stroke-width:2.362301;"/> + <path clip-path="url(#pc5c1e84671)" d="M 394.865121 223.967611 +L 392.18208 223.400306 +" style="fill:none;stroke:#1f77b4;stroke-width:4.018843;"/> + <path clip-path="url(#pc5c1e84671)" d="M 392.18208 223.400306 +L 389.514182 222.69596 +" style="fill:none;stroke:#1f77b4;stroke-width:3.55962;"/> + <path clip-path="url(#pc5c1e84671)" d="M 389.514182 222.69596 +L 386.868423 221.827071 +" style="fill:none;stroke:#1f77b4;stroke-width:3.14245;"/> + <path clip-path="url(#pc5c1e84671)" d="M 386.868423 221.827071 +L 384.256295 220.760594 +" style="fill:none;stroke:#1f77b4;stroke-width:2.774362;"/> + <path clip-path="url(#pc5c1e84671)" d="M 384.256295 220.760594 +L 381.694934 219.459736 +" style="fill:none;stroke:#1f77b4;stroke-width:2.481849;"/> + <path clip-path="url(#pc5c1e84671)" d="M 381.694934 219.459736 +L 379.206561 217.886019 +" style="fill:none;stroke:#1f77b4;stroke-width:2.244042;"/> + <path clip-path="url(#pc5c1e84671)" d="M 379.206561 217.886019 +L 376.820096 215.995175 +" style="fill:none;stroke:#1f77b4;stroke-width:2.025881;"/> + <path clip-path="url(#pc5c1e84671)" d="M 376.820096 215.995175 +L 374.582492 213.749569 +" style="fill:none;stroke:#1f77b4;stroke-width:1.860353;"/> + <path clip-path="url(#pc5c1e84671)" d="M 374.582492 213.749569 +L 372.620732 211.218768 +" style="fill:none;stroke:#1f77b4;stroke-width:1.743358;"/> + <path clip-path="url(#pc5c1e84671)" d="M 372.620732 211.218768 +L 371.049064 208.57319 +" style="fill:none;stroke:#1f77b4;stroke-width:1.615448;"/> + <path clip-path="url(#pc5c1e84671)" d="M 371.049064 208.57319 +L 369.847658 205.847424 +" style="fill:none;stroke:#1f77b4;stroke-width:1.499873;"/> + <path clip-path="url(#pc5c1e84671)" d="M 369.847658 205.847424 +L 369.017803 203.135814 +" style="fill:none;stroke:#1f77b4;stroke-width:1.356908;"/> + <path clip-path="url(#pc5c1e84671)" d="M 369.017803 203.135814 +L 368.533076 200.500774 +" style="fill:none;stroke:#1f77b4;stroke-width:1.222627;"/> + <path clip-path="url(#pc5c1e84671)" d="M 368.533076 200.500774 +L 368.362328 197.947073 +" style="fill:none;stroke:#1f77b4;stroke-width:1.072732;"/> + <path clip-path="url(#pc5c1e84671)" d="M 368.362328 197.947073 +L 368.474683 195.549457 +" style="fill:none;stroke:#1f77b4;stroke-width:0.92405;"/> + <path clip-path="url(#pc5c1e84671)" d="M 368.474683 195.549457 +L 368.847219 193.249366 +" style="fill:none;stroke:#1f77b4;stroke-width:0.773774;"/> + <path clip-path="url(#pc5c1e84671)" d="M 368.847219 193.249366 +L 369.448961 191.110768 +" style="fill:none;stroke:#1f77b4;stroke-width:0.636991;"/> + <path clip-path="url(#pc5c1e84671)" d="M 369.448961 191.110768 +L 370.288156 189.057087 +" style="fill:none;stroke:#1f77b4;stroke-width:0.50424;"/> + <path clip-path="url(#pc5c1e84671)" d="M 370.288156 189.057087 +L 371.328776 187.165732 +" style="fill:none;stroke:#1f77b4;stroke-width:0.37563;"/> + <path clip-path="url(#pc5c1e84671)" d="M 371.328776 187.165732 +L 372.515004 185.490659 +" style="fill:none;stroke:#1f77b4;stroke-width:0.290616;"/> + <path clip-path="url(#pc5c1e84671)" d="M 372.515004 185.490659 +L 373.980637 183.885566 +" style="fill:none;stroke:#1f77b4;stroke-width:0.192907;"/> + <path clip-path="url(#pc5c1e84671)" d="M 373.980637 183.885566 +L 375.465448 182.640497 +" style="fill:none;stroke:#1f77b4;stroke-width:0.112517;"/> + <path clip-path="url(#pc5c1e84671)" d="M 394.865121 219.777814 +L 392.183663 219.193972 +" style="fill:none;stroke:#1f77b4;stroke-width:4.140045;"/> + <path clip-path="url(#pc5c1e84671)" d="M 392.183663 219.193972 +L 389.517164 218.477706 +" style="fill:none;stroke:#1f77b4;stroke-width:3.653456;"/> + <path clip-path="url(#pc5c1e84671)" d="M 389.517164 218.477706 +L 386.872319 217.602337 +" style="fill:none;stroke:#1f77b4;stroke-width:3.204768;"/> + <path clip-path="url(#pc5c1e84671)" d="M 386.872319 217.602337 +L 384.260288 216.535043 +" style="fill:none;stroke:#1f77b4;stroke-width:2.800542;"/> + <path clip-path="url(#pc5c1e84671)" d="M 384.260288 216.535043 +L 381.698167 215.237506 +" style="fill:none;stroke:#1f77b4;stroke-width:2.466884;"/> + <path clip-path="url(#pc5c1e84671)" d="M 394.865121 215.588016 +L 392.182802 215.01298 +" style="fill:none;stroke:#1f77b4;stroke-width:4.080521;"/> + <path clip-path="url(#pc5c1e84671)" d="M 392.182802 215.01298 +L 389.515142 214.306275 +" style="fill:none;stroke:#1f77b4;stroke-width:3.595702;"/> + <path clip-path="url(#pc5c1e84671)" d="M 389.515142 214.306275 +L 386.868441 213.443337 +" style="fill:none;stroke:#1f77b4;stroke-width:3.131792;"/> + <path clip-path="url(#pc5c1e84671)" d="M 386.868441 213.443337 +L 384.253635 212.391268 +" style="fill:none;stroke:#1f77b4;stroke-width:2.698064;"/> + <path clip-path="url(#pc5c1e84671)" d="M 384.253635 212.391268 +L 381.688223 211.108891 +" style="fill:none;stroke:#1f77b4;stroke-width:2.330425;"/> + <path clip-path="url(#pc5c1e84671)" d="M 381.688223 211.108891 +L 379.197329 209.546676 +" style="fill:none;stroke:#1f77b4;stroke-width:2.018506;"/> + <path clip-path="url(#pc5c1e84671)" d="M 379.197329 209.546676 +L 376.817379 207.641757 +" style="fill:none;stroke:#1f77b4;stroke-width:1.753159;"/> + <path clip-path="url(#pc5c1e84671)" d="M 376.817379 207.641757 +L 374.617812 205.326995 +" style="fill:none;stroke:#1f77b4;stroke-width:1.492087;"/> + <path clip-path="url(#pc5c1e84671)" d="M 374.617812 205.326995 +L 372.925591 202.91992 +" style="fill:none;stroke:#1f77b4;stroke-width:1.296138;"/> + <path clip-path="url(#pc5c1e84671)" d="M 372.925591 202.91992 +L 371.713968 200.507115 +" style="fill:none;stroke:#1f77b4;stroke-width:1.112329;"/> + <path clip-path="url(#pc5c1e84671)" d="M 371.713968 200.507115 +L 370.930024 198.144678 +" style="fill:none;stroke:#1f77b4;stroke-width:0.962913;"/> + <path clip-path="url(#pc5c1e84671)" d="M 394.865121 207.208421 +L 392.174934 206.72256 +" style="fill:none;stroke:#1f77b4;stroke-width:3.569631;"/> + <path clip-path="url(#pc5c1e84671)" d="M 392.174934 206.72256 +L 389.497053 206.108314 +" style="fill:none;stroke:#1f77b4;stroke-width:3.066443;"/> + <path clip-path="url(#pc5c1e84671)" d="M 389.497053 206.108314 +L 386.837778 205.33647 +" style="fill:none;stroke:#1f77b4;stroke-width:2.595363;"/> + <path clip-path="url(#pc5c1e84671)" d="M 386.837778 205.33647 +L 384.208476 204.368544 +" style="fill:none;stroke:#1f77b4;stroke-width:2.162212;"/> + <path clip-path="url(#pc5c1e84671)" d="M 384.208476 204.368544 +L 381.628707 203.155425 +" style="fill:none;stroke:#1f77b4;stroke-width:1.785627;"/> + <path clip-path="url(#pc5c1e84671)" d="M 381.628707 203.155425 +L 379.13153 201.626909 +" style="fill:none;stroke:#1f77b4;stroke-width:1.44958;"/> + <path clip-path="url(#pc5c1e84671)" d="M 379.13153 201.626909 +L 376.774573 199.676223 +" style="fill:none;stroke:#1f77b4;stroke-width:1.157335;"/> + <path clip-path="url(#pc5c1e84671)" d="M 376.774573 199.676223 +L 376.774573 199.676223 +" style="fill:none;stroke:#1f77b4;stroke-width:0.897685;"/> + <path clip-path="url(#pc5c1e84671)" d="M 376.774573 199.676223 +L 375.240469 197.958267 +" style="fill:none;stroke:#1f77b4;stroke-width:0.897685;"/> + <path clip-path="url(#pc5c1e84671)" d="M 375.240469 197.958267 +L 375.240469 197.958267 +" style="fill:none;stroke:#1f77b4;stroke-width:0.756983;"/> + <path clip-path="url(#pc5c1e84671)" d="M 375.240469 197.958267 +L 374.089717 196.204032 +" style="fill:none;stroke:#1f77b4;stroke-width:0.756983;"/> + <path clip-path="url(#pc5c1e84671)" d="M 374.089717 196.204032 +L 373.183129 194.126469 +" style="fill:none;stroke:#1f77b4;stroke-width:0.625318;"/> + <path clip-path="url(#pc5c1e84671)" d="M 373.183129 194.126469 +L 372.725762 192.182378 +" style="fill:none;stroke:#1f77b4;stroke-width:0.494733;"/> + <path clip-path="url(#pc5c1e84671)" d="M 372.725762 192.182378 +L 372.612514 190.455436 +" style="fill:none;stroke:#1f77b4;stroke-width:0.410245;"/> + <path clip-path="url(#pc5c1e84671)" d="M 372.612514 190.455436 +L 372.765407 188.792181 +" style="fill:none;stroke:#1f77b4;stroke-width:0.326286;"/> + <path clip-path="url(#pc5c1e84671)" d="M 394.865121 203.018623 +L 392.168769 202.617627 +" style="fill:none;stroke:#1f77b4;stroke-width:3.167339;"/> + <path clip-path="url(#pc5c1e84671)" d="M 392.168769 202.617627 +L 389.482827 202.089265 +" style="fill:none;stroke:#1f77b4;stroke-width:2.676972;"/> + <path clip-path="url(#pc5c1e84671)" d="M 389.482827 202.089265 +L 386.813288 201.402586 +" style="fill:none;stroke:#1f77b4;stroke-width:2.217392;"/> + <path clip-path="url(#pc5c1e84671)" d="M 386.813288 201.402586 +L 384.171623 200.51428 +" style="fill:none;stroke:#1f77b4;stroke-width:1.794307;"/> + <path clip-path="url(#pc5c1e84671)" d="M 384.171623 200.51428 +L 381.579727 199.363694 +" style="fill:none;stroke:#1f77b4;stroke-width:1.430012;"/> + <path clip-path="url(#pc5c1e84671)" d="M 394.865121 198.828826 +L 392.162018 198.54758 +" style="fill:none;stroke:#1f77b4;stroke-width:2.711219;"/> + <path clip-path="url(#pc5c1e84671)" d="M 392.162018 198.54758 +L 389.466856 198.139277 +" style="fill:none;stroke:#1f77b4;stroke-width:2.248936;"/> + <path clip-path="url(#pc5c1e84671)" d="M 389.466856 198.139277 +L 386.785192 197.571042 +" style="fill:none;stroke:#1f77b4;stroke-width:1.817234;"/> + <path clip-path="url(#pc5c1e84671)" d="M 394.865121 194.639028 +L 392.156052 194.522709 +" style="fill:none;stroke:#1f77b4;stroke-width:2.240138;"/> + <path clip-path="url(#pc5c1e84671)" d="M 392.156052 194.522709 +L 389.451517 194.27894 +" style="fill:none;stroke:#1f77b4;stroke-width:1.816851;"/> + <path clip-path="url(#pc5c1e84671)" d="M 389.451517 194.27894 +L 386.756539 193.872991 +" style="fill:none;stroke:#1f77b4;stroke-width:1.424718;"/> + <path clip-path="url(#pc5c1e84671)" d="M 386.756539 193.872991 +L 384.081939 193.250898 +" style="fill:none;stroke:#1f77b4;stroke-width:1.070338;"/> + <path clip-path="url(#pc5c1e84671)" d="M 384.081939 193.250898 +L 381.453786 192.323281 +" style="fill:none;stroke:#1f77b4;stroke-width:0.774416;"/> + <path clip-path="url(#pc5c1e84671)" d="M 381.453786 192.323281 +L 381.453786 192.323281 +" style="fill:none;stroke:#1f77b4;stroke-width:0.533086;"/> + <path clip-path="url(#pc5c1e84671)" d="M 381.453786 192.323281 +L 379.379295 191.235288 +" style="fill:none;stroke:#1f77b4;stroke-width:0.533086;"/> + <path clip-path="url(#pc5c1e84671)" d="M 379.379295 191.235288 +L 379.379295 191.235288 +" style="fill:none;stroke:#1f77b4;stroke-width:0.365065;"/> + <path clip-path="url(#pc5c1e84671)" d="M 379.379295 191.235288 +L 377.884905 190.095913 +" style="fill:none;stroke:#1f77b4;stroke-width:0.365065;"/> + <path clip-path="url(#pc5c1e84671)" d="M 377.884905 190.095913 +L 377.884905 190.095913 +" style="fill:none;stroke:#1f77b4;stroke-width:0.257643;"/> + <path clip-path="url(#pc5c1e84671)" d="M 377.884905 190.095913 +L 376.834549 188.916827 +" style="fill:none;stroke:#1f77b4;stroke-width:0.257643;"/> + <path clip-path="url(#pc5c1e84671)" d="M 376.834549 188.916827 +L 376.834549 188.916827 +" style="fill:none;stroke:#1f77b4;stroke-width:0.182736;"/> + <path clip-path="url(#pc5c1e84671)" d="M 376.834549 188.916827 +L 376.211804 187.836932 +" style="fill:none;stroke:#1f77b4;stroke-width:0.182736;"/> + <path clip-path="url(#pc5c1e84671)" d="M 376.211804 187.836932 +L 375.845693 186.643261 +" style="fill:none;stroke:#1f77b4;stroke-width:0.155614;"/> + <path clip-path="url(#pc5c1e84671)" d="M 375.845693 186.643261 +L 375.77078 185.531574 +" style="fill:none;stroke:#1f77b4;stroke-width:0.124595;"/> + <path clip-path="url(#pc5c1e84671)" d="M 375.77078 185.531574 +L 375.944987 184.440789 +" style="fill:none;stroke:#1f77b4;stroke-width:0.091574;"/> + <path clip-path="url(#pc5c1e84671)" d="M 394.865121 190.449231 +L 392.157048 190.562989 +" style="fill:none;stroke:#1f77b4;stroke-width:1.815193;"/> + <path clip-path="url(#pc5c1e84671)" d="M 392.157048 190.562989 +L 389.448569 190.548736 +" style="fill:none;stroke:#1f77b4;stroke-width:1.437804;"/> + <path clip-path="url(#pc5c1e84671)" d="M 389.448569 190.548736 +L 386.743189 190.36969 +" style="fill:none;stroke:#1f77b4;stroke-width:1.089037;"/> + <path clip-path="url(#pc5c1e84671)" d="M 386.743189 190.36969 +L 384.049819 189.965211 +" style="fill:none;stroke:#1f77b4;stroke-width:0.775311;"/> + <path clip-path="url(#pc5c1e84671)" d="M 394.865121 186.259433 +L 392.173439 186.681389 +" style="fill:none;stroke:#1f77b4;stroke-width:1.470621;"/> + <path clip-path="url(#pc5c1e84671)" d="M 392.173439 186.681389 +L 389.475431 186.974611 +" style="fill:none;stroke:#1f77b4;stroke-width:1.139741;"/> + <path clip-path="url(#pc5c1e84671)" d="M 389.475431 186.974611 +L 386.773226 187.103497 +" style="fill:none;stroke:#1f77b4;stroke-width:0.836157;"/> + <path clip-path="url(#pc5c1e84671)" d="M 386.773226 187.103497 +L 384.073379 187.005691 +" style="fill:none;stroke:#1f77b4;stroke-width:0.567302;"/> + <path clip-path="url(#pc5c1e84671)" d="M 384.073379 187.005691 +L 381.399842 186.554943 +" style="fill:none;stroke:#1f77b4;stroke-width:0.355383;"/> + <path clip-path="url(#pc5c1e84671)" d="M 381.399842 186.554943 +L 381.399842 186.554943 +" style="fill:none;stroke:#1f77b4;stroke-width:0.197658;"/> + <path clip-path="url(#pc5c1e84671)" d="M 381.399842 186.554943 +L 379.738769 185.978514 +" style="fill:none;stroke:#1f77b4;stroke-width:0.197658;"/> + <path clip-path="url(#pc5c1e84671)" d="M 379.738769 185.978514 +L 379.738769 185.978514 +" style="fill:none;stroke:#1f77b4;stroke-width:0.114488;"/> + <path clip-path="url(#pc5c1e84671)" d="M 379.738769 185.978514 +L 378.640528 185.331291 +" style="fill:none;stroke:#1f77b4;stroke-width:0.114488;"/> + <path clip-path="url(#pc5c1e84671)" d="M 378.640528 185.331291 +L 378.640528 185.331291 +" style="fill:none;stroke:#1f77b4;stroke-width:0.078042;"/> + <path clip-path="url(#pc5c1e84671)" d="M 378.640528 185.331291 +L 377.922538 184.620732 +" style="fill:none;stroke:#1f77b4;stroke-width:0.078042;"/> + <path clip-path="url(#pc5c1e84671)" d="M 377.922538 184.620732 +L 377.922538 184.620732 +" style="fill:none;stroke:#1f77b4;stroke-width:0.04567;"/> + <path clip-path="url(#pc5c1e84671)" d="M 394.865121 182.069636 +L 392.220878 182.900107 +" style="fill:none;stroke:#1f77b4;stroke-width:1.227552;"/> + <path clip-path="url(#pc5c1e84671)" d="M 392.220878 182.900107 +L 389.559632 183.597111 +" style="fill:none;stroke:#1f77b4;stroke-width:0.930279;"/> + <path clip-path="url(#pc5c1e84671)" d="M 389.559632 183.597111 +L 386.880014 184.129224 +" style="fill:none;stroke:#1f77b4;stroke-width:0.656753;"/> + <path clip-path="url(#pc5c1e84671)" d="M 391.612169 176.103097 +L 389.217252 177.879838 +" style="fill:none;stroke:#1f77b4;stroke-width:0.723759;"/> + <path clip-path="url(#pc5c1e84671)" d="M 389.217252 177.879838 +L 386.742694 179.443205 +" style="fill:none;stroke:#1f77b4;stroke-width:0.500934;"/> + <path clip-path="url(#pc5c1e84671)" d="M 386.742694 179.443205 +L 384.210303 180.741966 +" style="fill:none;stroke:#1f77b4;stroke-width:0.290005;"/> + <path clip-path="url(#pc5c1e84671)" d="M 333.843497 240.905319 +L 336.152464 238.806256 +" style="fill:none;stroke:#1f77b4;stroke-width:4.379954;"/> + <path clip-path="url(#pc5c1e84671)" d="M 336.152464 238.806256 +L 338.38643 236.537004 +" style="fill:none;stroke:#1f77b4;stroke-width:4.296092;"/> + <path clip-path="url(#pc5c1e84671)" d="M 338.38643 236.537004 +L 340.527916 234.079087 +" style="fill:none;stroke:#1f77b4;stroke-width:4.189167;"/> + <path clip-path="url(#pc5c1e84671)" d="M 340.527916 234.079087 +L 342.560899 231.425891 +" style="fill:none;stroke:#1f77b4;stroke-width:4.083729;"/> + <path clip-path="url(#pc5c1e84671)" d="M 342.560899 231.425891 +L 344.468615 228.576027 +" style="fill:none;stroke:#1f77b4;stroke-width:3.986572;"/> + <path clip-path="url(#pc5c1e84671)" d="M 344.468615 228.576027 +L 346.241317 225.538526 +" style="fill:none;stroke:#1f77b4;stroke-width:3.882122;"/> + <path clip-path="url(#pc5c1e84671)" d="M 346.241317 225.538526 +L 347.882099 222.341625 +" style="fill:none;stroke:#1f77b4;stroke-width:3.785809;"/> + <path clip-path="url(#pc5c1e84671)" d="M 355.330038 257.485992 +L 357.964722 256.565182 +" style="fill:none;stroke:#1f77b4;stroke-width:2.274569;"/> + <path clip-path="url(#pc5c1e84671)" d="M 357.964722 256.565182 +L 360.584326 255.551939 +" style="fill:none;stroke:#1f77b4;stroke-width:1.818911;"/> + <path clip-path="url(#pc5c1e84671)" d="M 360.584326 255.551939 +L 363.177287 254.400183 +" style="fill:none;stroke:#1f77b4;stroke-width:1.387273;"/> + <path clip-path="url(#pc5c1e84671)" d="M 363.177287 254.400183 +L 365.708343 253.024573 +" style="fill:none;stroke:#1f77b4;stroke-width:1.008815;"/> + <path clip-path="url(#pc5c1e84671)" d="M 365.708343 253.024573 +L 368.088962 251.235545 +" style="fill:none;stroke:#1f77b4;stroke-width:0.718177;"/> + <path clip-path="url(#pc5c1e84671)" d="M 368.088962 251.235545 +L 368.088962 251.235545 +" style="fill:none;stroke:#1f77b4;stroke-width:0.496781;"/> + <path clip-path="url(#pc5c1e84671)" d="M 368.088962 251.235545 +L 369.293627 249.880035 +" style="fill:none;stroke:#1f77b4;stroke-width:0.496781;"/> + <path clip-path="url(#pc5c1e84671)" d="M 369.293627 249.880035 +L 369.293627 249.880035 +" style="fill:none;stroke:#1f77b4;stroke-width:0.40754;"/> + <path clip-path="url(#pc5c1e84671)" d="M 369.293627 249.880035 +L 370.09243 248.505462 +" style="fill:none;stroke:#1f77b4;stroke-width:0.40754;"/> + <path clip-path="url(#pc5c1e84671)" d="M 370.09243 248.505462 +L 370.617857 246.904142 +" style="fill:none;stroke:#1f77b4;stroke-width:0.398866;"/> + <path clip-path="url(#pc5c1e84671)" d="M 370.617857 246.904142 +L 370.828665 245.316466 +" style="fill:none;stroke:#1f77b4;stroke-width:0.43584;"/> + <path clip-path="url(#pc5c1e84671)" d="M 370.828665 245.316466 +L 370.822116 243.60934 +" style="fill:none;stroke:#1f77b4;stroke-width:0.487967;"/> + <path clip-path="url(#pc5c1e84671)" d="M 370.822116 243.60934 +L 370.616214 241.624229 +" style="fill:none;stroke:#1f77b4;stroke-width:0.581981;"/> + <path clip-path="url(#pc5c1e84671)" d="M 370.616214 241.624229 +L 370.178608 239.185189 +" style="fill:none;stroke:#1f77b4;stroke-width:0.707184;"/> + <path clip-path="url(#pc5c1e84671)" d="M 363.801841 257.485992 +L 366.435749 256.596691 +" style="fill:none;stroke:#1f77b4;stroke-width:1.055024;"/> + <path clip-path="url(#pc5c1e84671)" d="M 366.435749 256.596691 +L 369.043206 255.558737 +" style="fill:none;stroke:#1f77b4;stroke-width:0.707814;"/> + <path clip-path="url(#pc5c1e84671)" d="M 369.043206 255.558737 +L 371.559095 254.19976 +" style="fill:none;stroke:#1f77b4;stroke-width:0.42808;"/> + <path clip-path="url(#pc5c1e84671)" d="M 371.559095 254.19976 +L 371.559095 254.19976 +" style="fill:none;stroke:#1f77b4;stroke-width:0.236418;"/> + <path clip-path="url(#pc5c1e84671)" d="M 371.559095 254.19976 +L 372.717252 253.254705 +" style="fill:none;stroke:#1f77b4;stroke-width:0.236418;"/> + <path clip-path="url(#pc5c1e84671)" d="M 372.717252 253.254705 +L 372.717252 253.254705 +" style="fill:none;stroke:#1f77b4;stroke-width:0.179775;"/> + <path clip-path="url(#pc5c1e84671)" d="M 372.717252 253.254705 +L 373.482146 252.266296 +" style="fill:none;stroke:#1f77b4;stroke-width:0.179775;"/> + <path clip-path="url(#pc5c1e84671)" d="M 373.482146 252.266296 +L 373.482146 252.266296 +" style="fill:none;stroke:#1f77b4;stroke-width:0.152931;"/> + <path clip-path="url(#pc5c1e84671)" d="M 373.482146 252.266296 +L 373.915114 251.22681 +" style="fill:none;stroke:#1f77b4;stroke-width:0.152931;"/> + <path clip-path="url(#pc5c1e84671)" d="M 373.915114 251.22681 +L 374.093737 250.004985 +" style="fill:none;stroke:#1f77b4;stroke-width:0.158756;"/> + <path clip-path="url(#pc5c1e84671)" d="M 374.093737 250.004985 +L 374.046953 248.720687 +" style="fill:none;stroke:#1f77b4;stroke-width:0.174191;"/> + <path clip-path="url(#pc5c1e84671)" d="M 374.046953 248.720687 +L 373.815131 247.234979 +" style="fill:none;stroke:#1f77b4;stroke-width:0.232085;"/> + <path clip-path="url(#pc5c1e84671)" d="M 373.815131 247.234979 +L 373.332476 245.245678 +" style="fill:none;stroke:#1f77b4;stroke-width:0.302694;"/> + <path clip-path="url(#pc5c1e84671)" d="M 373.332476 245.245678 +L 372.598383 242.767572 +" style="fill:none;stroke:#1f77b4;stroke-width:0.397852;"/> + <path clip-path="url(#pc5c1e84671)" d="M 372.598383 242.767572 +L 371.454768 239.250474 +" style="fill:none;stroke:#1f77b4;stroke-width:0.576096;"/> + <path clip-path="url(#pc5c1e84671)" d="M 392.041187 253.296194 +L 389.364582 253.876032 +" style="fill:none;stroke:#1f77b4;stroke-width:0.988604;"/> + <path clip-path="url(#pc5c1e84671)" d="M 389.364582 253.876032 +L 386.687242 254.450533 +" style="fill:none;stroke:#1f77b4;stroke-width:0.653559;"/> + <path clip-path="url(#pc5c1e84671)" d="M 386.687242 254.450533 +L 384.006814 255.009756 +" style="fill:none;stroke:#1f77b4;stroke-width:0.374526;"/> + <path clip-path="url(#pc5c1e84671)" d="M 344.034299 240.726802 +L 346.251302 238.424867 +" style="fill:none;stroke:#1f77b4;stroke-width:3.53833;"/> + <path clip-path="url(#pc5c1e84671)" d="M 346.251302 238.424867 +L 348.332815 235.864189 +" style="fill:none;stroke:#1f77b4;stroke-width:3.349686;"/> + <path clip-path="url(#pc5c1e84671)" d="M 348.332815 235.864189 +L 350.237134 233.018638 +" style="fill:none;stroke:#1f77b4;stroke-width:3.188308;"/> + <path clip-path="url(#pc5c1e84671)" d="M 350.237134 233.018638 +L 351.921364 229.883325 +" style="fill:none;stroke:#1f77b4;stroke-width:3.072239;"/> + <path clip-path="url(#pc5c1e84671)" d="M 351.921364 229.883325 +L 353.324852 226.599038 +" style="fill:none;stroke:#1f77b4;stroke-width:3.002602;"/> + <path clip-path="url(#pc5c1e84671)" d="M 353.324852 226.599038 +L 354.549156 223.024307 +" style="fill:none;stroke:#1f77b4;stroke-width:2.949675;"/> + <path clip-path="url(#pc5c1e84671)" d="M 354.549156 223.024307 +L 355.581762 219.317559 +" style="fill:none;stroke:#1f77b4;stroke-width:2.902145;"/> + <path clip-path="url(#pc5c1e84671)" d="M 355.581762 219.317559 +L 356.500549 215.539049 +" style="fill:none;stroke:#1f77b4;stroke-width:2.835894;"/> + <path clip-path="url(#pc5c1e84671)" d="M 356.500549 215.539049 +L 357.390085 211.748428 +" style="fill:none;stroke:#1f77b4;stroke-width:2.707108;"/> + <path clip-path="url(#pc5c1e84671)" d="M 357.390085 211.748428 +L 358.321606 207.993276 +" style="fill:none;stroke:#1f77b4;stroke-width:2.523048;"/> + <path clip-path="url(#pc5c1e84671)" d="M 355.330038 249.106397 +L 357.721663 247.248642 +" style="fill:none;stroke:#1f77b4;stroke-width:1.984222;"/> + <path clip-path="url(#pc5c1e84671)" d="M 357.721663 247.248642 +L 359.952638 245.002844 +" style="fill:none;stroke:#1f77b4;stroke-width:1.675911;"/> + <path clip-path="url(#pc5c1e84671)" d="M 359.952638 245.002844 +L 359.952638 245.002844 +" style="fill:none;stroke:#1f77b4;stroke-width:1.420672;"/> + <path clip-path="url(#pc5c1e84671)" d="M 359.952638 245.002844 +L 361.415416 243.013244 +" style="fill:none;stroke:#1f77b4;stroke-width:1.420672;"/> + <path clip-path="url(#pc5c1e84671)" d="M 361.415416 243.013244 +L 362.636993 240.662492 +" style="fill:none;stroke:#1f77b4;stroke-width:1.339003;"/> + <path clip-path="url(#pc5c1e84671)" d="M 362.636993 240.662492 +L 363.418563 238.352396 +" style="fill:none;stroke:#1f77b4;stroke-width:1.3109;"/> + <path clip-path="url(#pc5c1e84671)" d="M 363.418563 238.352396 +L 363.893336 236.008581 +" style="fill:none;stroke:#1f77b4;stroke-width:1.356337;"/> + <path clip-path="url(#pc5c1e84671)" d="M 380.34555 195.875982 +L 378.534861 194.68489 +" style="fill:none;stroke:#1f77b4;stroke-width:0.732387;"/> + <path clip-path="url(#pc5c1e84671)" d="M 378.534861 194.68489 +L 377.113505 193.43674 +" style="fill:none;stroke:#1f77b4;stroke-width:0.569639;"/> + <path clip-path="url(#pc5c1e84671)" d="M 377.113505 193.43674 +L 376.021446 192.130554 +" style="fill:none;stroke:#1f77b4;stroke-width:0.447127;"/> + <path clip-path="url(#pc5c1e84671)" d="M 376.021446 192.130554 +L 375.097579 190.449231 +" style="fill:none;stroke:#1f77b4;stroke-width:0.363759;"/> + <path clip-path="url(#pc5c1e84671)" d="M 375.097579 190.449231 +L 375.097579 190.449231 +" style="fill:none;stroke:#1f77b4;stroke-width:0.274494;"/> + <path clip-path="url(#pc5c1e84671)" d="M 375.097579 190.449231 +L 375.097579 190.449231 +" style="fill:none;stroke:#1f77b4;stroke-width:0.274494;"/> + <path clip-path="url(#pc5c1e84671)" d="M 375.097579 190.449231 +L 374.693658 189.184944 +" style="fill:none;stroke:#1f77b4;stroke-width:0.274494;"/> + <path clip-path="url(#pc5c1e84671)" d="M 347.682275 248.543141 +L 350.134235 246.848109 +" style="fill:none;stroke:#1f77b4;stroke-width:3.049175;"/> + <path clip-path="url(#pc5c1e84671)" d="M 350.134235 246.848109 +L 352.506103 244.916599 +" style="fill:none;stroke:#1f77b4;stroke-width:2.710205;"/> + <path clip-path="url(#pc5c1e84671)" d="M 352.506103 244.916599 +L 354.74852 242.680292 +" style="fill:none;stroke:#1f77b4;stroke-width:2.384187;"/> + <path clip-path="url(#pc5c1e84671)" d="M 349.137847 202.415832 +L 351.130173 199.696846 +" style="fill:none;stroke:#1f77b4;stroke-width:3.110198;"/> + <path clip-path="url(#pc5c1e84671)" d="M 351.130173 199.696846 +L 353.193209 197.100965 +" style="fill:none;stroke:#1f77b4;stroke-width:2.755801;"/> + <path clip-path="url(#pc5c1e84671)" d="M 353.193209 197.100965 +L 355.330038 194.639028 +" style="fill:none;stroke:#1f77b4;stroke-width:2.409923;"/> + <path clip-path="url(#pc5c1e84671)" d="M 355.330038 194.639028 +L 357.53689 192.324872 +" style="fill:none;stroke:#1f77b4;stroke-width:2.048741;"/> + <path clip-path="url(#pc5c1e84671)" d="M 357.53689 192.324872 +L 359.811939 190.166764 +" style="fill:none;stroke:#1f77b4;stroke-width:1.72584;"/> + <path clip-path="url(#pc5c1e84671)" d="M 359.811939 190.166764 +L 362.150304 188.166955 +" style="fill:none;stroke:#1f77b4;stroke-width:1.388088;"/> + <path clip-path="url(#pc5c1e84671)" d="M 348.17368 218.927887 +L 349.682169 215.588016 +" style="fill:none;stroke:#1f77b4;stroke-width:3.655185;"/> + <path clip-path="url(#pc5c1e84671)" d="M 349.682169 215.588016 +L 351.153962 212.21428 +" style="fill:none;stroke:#1f77b4;stroke-width:3.465176;"/> + <path clip-path="url(#pc5c1e84671)" d="M 351.153962 212.21428 +L 352.62712 208.845296 +" style="fill:none;stroke:#1f77b4;stroke-width:3.224755;"/> + <path clip-path="url(#pc5c1e84671)" d="M 363.726853 214.968001 +L 363.489609 210.978211 +" style="fill:none;stroke:#1f77b4;stroke-width:2.062678;"/> + <path clip-path="url(#pc5c1e84671)" d="M 363.489609 210.978211 +L 363.495911 206.975986 +" style="fill:none;stroke:#1f77b4;stroke-width:1.948223;"/> + <path clip-path="url(#pc5c1e84671)" d="M 363.495911 206.975986 +L 363.801841 203.018623 +" style="fill:none;stroke:#1f77b4;stroke-width:1.764811;"/> + <path clip-path="url(#pc5c1e84671)" d="M 363.801841 203.018623 +L 363.801841 203.018623 +" style="fill:none;stroke:#1f77b4;stroke-width:1.52934;"/> </g> <g id="patch_3"> - <path clip-path="url(#p9ae4ea3394)" d="M 441.578784 336.958257 -Q 442.421684 336.876297 439.543463 337.156163 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:3.343969;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 435.368681 335.552668 -L 439.543463 337.156163 -L 435.755798 339.533892 -L 435.368681 335.552668 + <path clip-path="url(#pc5c1e84671)" d="M 354.342599 267.328419 +Q 355.018687 267.265538 351.97217 267.548884 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:3.343969;"/> + <path clip-path="url(#pc5c1e84671)" d="M 347.804145 265.927905 +L 351.97217 267.548884 +L 348.174572 269.910716 +L 347.804145 265.927905 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:3.343969;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:3.343969;"/> </g> <g id="patch_4"> - <path clip-path="url(#p9ae4ea3394)" d="M 445.897154 339.845264 -Q 446.74179 339.827004 444.24117 339.881063 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:2.992787;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 440.198878 337.967982 -L 444.24117 339.881063 -L 440.28533 341.967047 -L 440.198878 337.967982 + <path clip-path="url(#pc5c1e84671)" d="M 357.806351 269.54336 +Q 358.483832 269.529351 355.815989 269.584516 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:2.992787;"/> + <path clip-path="url(#pc5c1e84671)" d="M 351.775497 267.667637 +L 355.815989 269.584516 +L 351.85819 271.666782 +L 351.775497 267.667637 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:2.992787;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:2.992787;"/> </g> <g id="patch_5"> - <path clip-path="url(#p9ae4ea3394)" d="M 460.445274 328.695052 -Q 461.287597 328.645046 461.473615 328.634003 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:0.58805;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 457.362123 326.874564 -L 461.473615 328.634003 -L 457.599168 330.867534 -L 457.362123 326.874564 + <path clip-path="url(#pc5c1e84671)" d="M 369.475356 260.988802 +Q 370.150981 260.950438 370.170203 260.949346 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:0.58805;"/> + <path clip-path="url(#pc5c1e84671)" d="M 366.063252 259.179332 +L 370.170203 260.949346 +L 366.290021 263.172899 +L 366.063252 259.179332 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:0.58805;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:0.58805;"/> </g> <g id="patch_6"> - <path clip-path="url(#p9ae4ea3394)" d="M 484.428395 329.858015 -Q 484.134475 330.223007 484.170048 330.178831 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:0.469881;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 488.23656 328.317788 -L 484.170048 330.178831 -L 485.12112 325.808996 -L 488.23656 328.317788 + <path clip-path="url(#pc5c1e84671)" d="M 388.712148 261.88104 +Q 388.476395 262.161066 388.578985 262.039209 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:0.469881;"/> + <path clip-path="url(#pc5c1e84671)" d="M 392.685132 260.26733 +L 388.578985 262.039209 +L 389.62517 257.691164 +L 392.685132 260.26733 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:0.469881;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:0.469881;"/> </g> <g id="patch_7"> - <path clip-path="url(#p9ae4ea3394)" d="M 492.77068 333.871703 -Q 492.338673 334.400784 492.71748 333.936857 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:1.146641;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 496.796525 332.103447 -L 492.71748 333.936857 -L 493.698179 329.573575 -L 496.796525 332.103447 + <path clip-path="url(#pc5c1e84671)" d="M 335.399163 177.118734 +Q 336.065631 176.938981 331.158327 178.262523 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:5.163474;"/> + <path clip-path="url(#pc5c1e84671)" d="M 326.77552 177.373137 +L 331.158327 178.262523 +L 327.817134 181.235136 +L 326.77552 177.373137 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:1.146641;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:5.163474;"/> </g> <g id="patch_8"> - <path clip-path="url(#p9ae4ea3394)" d="M 417.944098 219.234225 -Q 418.769132 218.951231 414.119933 220.545947 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:5.176332;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 409.68742 219.951953 -L 414.119933 220.545947 -L 410.98523 223.735561 -L 409.68742 219.951953 + <path clip-path="url(#pc5c1e84671)" d="M 343.300057 178.461616 +Q 343.964951 178.269645 340.101111 179.385224 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:4.216076;"/> + <path clip-path="url(#pc5c1e84671)" d="M 335.703299 178.573279 +L 340.101111 179.385224 +L 336.812868 182.416306 +L 335.703299 178.573279 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:5.176332;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:4.216076;"/> </g> <g id="patch_9"> - <path clip-path="url(#p9ae4ea3394)" d="M 427.804056 221.062541 -Q 428.629603 220.783172 424.983884 222.0169 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:4.222007;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 420.553859 221.404627 -L 424.983884 222.0169 -L 421.836051 225.193556 -L 420.553859 221.404627 + <path clip-path="url(#pc5c1e84671)" d="M 356.000165 179.79876 +Q 356.664247 179.600367 354.986559 180.101574 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:2.186015;"/> + <path clip-path="url(#pc5c1e84671)" d="M 350.581441 179.330253 +L 354.986559 180.101574 +L 351.726432 183.162876 +L 350.581441 179.330253 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:4.222007;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:2.186015;"/> </g> <g id="patch_10"> - <path clip-path="url(#p9ae4ea3394)" d="M 443.645324 222.870033 -Q 444.472421 222.602935 442.973745 223.086909 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:2.186015;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 438.552689 222.412921 -L 442.973745 223.086909 -L 439.781921 226.219362 -L 438.552689 222.412921 + <path clip-path="url(#pc5c1e84671)" d="M 335.161128 192.840253 +Q 335.775506 192.418613 332.433323 194.712308 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:4.292078;"/> + <path clip-path="url(#pc5c1e84671)" d="M 328.00359 195.326686 +L 332.433323 194.712308 +L 330.266986 198.624721 +L 328.00359 195.326686 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:2.186015;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:4.292078;"/> </g> <g id="patch_11"> - <path clip-path="url(#p9ae4ea3394)" d="M 417.664633 239.868623 -Q 418.430598 239.319048 415.297633 241.566929 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:4.292078;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 410.881712 242.273781 -L 415.297633 241.566929 -L 413.213562 245.523777 -L 410.881712 242.273781 + <path clip-path="url(#pc5c1e84671)" d="M 335.056752 196.752268 +Q 335.647999 196.262358 332.523011 198.851739 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:4.316706;"/> + <path clip-path="url(#pc5c1e84671)" d="M 328.16691 199.863854 +L 332.523011 198.851739 +L 330.719043 202.943889 +L 328.16691 199.863854 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:4.292078;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:4.316706;"/> </g> <g id="patch_12"> - <path clip-path="url(#p9ae4ea3394)" d="M 417.534504 244.967636 -Q 418.271631 244.329075 415.360942 246.850558 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:4.316706;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 411.028082 247.957954 -L 415.360942 246.850558 -L 413.647143 250.981284 -L 411.028082 247.957954 + <path clip-path="url(#pc5c1e84671)" d="M 348.481459 191.657184 +Q 349.089052 191.214761 347.047659 192.701216 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:2.930897;"/> + <path clip-path="url(#pc5c1e84671)" d="M 342.636797 193.438982 +L 347.047659 192.701216 +L 344.991354 196.672565 +L 342.636797 193.438982 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:4.316706;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:2.930897;"/> </g> <g id="patch_13"> - <path clip-path="url(#p9ae4ea3394)" d="M 434.271514 238.326583 -Q 435.029019 237.749918 433.17922 239.158111 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:2.930897;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 428.785072 239.989651 -L 433.17922 239.158111 -L 431.207963 243.172354 -L 428.785072 239.989651 + <path clip-path="url(#pc5c1e84671)" d="M 342.738146 202.040151 +Q 343.274497 201.427013 340.997184 204.030359 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:3.8223;"/> + <path clip-path="url(#pc5c1e84671)" d="M 336.858238 205.72421 +L 340.997184 204.030359 +L 339.868897 208.357826 +L 336.858238 205.72421 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:2.930897;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:3.8223;"/> </g> <g id="patch_14"> - <path clip-path="url(#p9ae4ea3394)" d="M 428.393662 250.327188 -Q 428.421088 250.29441 425.706172 253.539135 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:3.8223;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 421.605427 255.32348 -L 425.706172 253.539135 -L 424.673201 257.890338 -L 421.605427 255.32348 + <path clip-path="url(#pc5c1e84671)" d="M 336.536211 214.036996 +Q 337.013799 213.323863 334.580688 216.95698 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:4.678638;"/> + <path clip-path="url(#pc5c1e84671)" d="M 330.693137 219.167625 +L 334.580688 216.95698 +L 334.016673 221.393408 +L 330.693137 219.167625 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:3.8223;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:4.678638;"/> </g> <g id="patch_15"> - <path clip-path="url(#p9ae4ea3394)" d="M 420.455873 265.815843 -Q 420.512857 265.726886 417.748322 270.042596 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:4.678638;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 413.90663 272.332008 -L 417.748322 270.042596 -L 417.274837 274.489596 -L 413.90663 272.332008 + <path clip-path="url(#pc5c1e84671)" d="M 340.265611 212.390412 +Q 340.735315 211.665985 338.550143 215.036189 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:4.364802;"/> + <path clip-path="url(#pc5c1e84671)" d="M 334.695885 217.304382 +L 338.550143 215.036189 +L 338.052142 219.480511 +L 334.695885 217.304382 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:4.678638;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:4.364802;"/> </g> <g id="patch_16"> - <path clip-path="url(#p9ae4ea3394)" d="M 425.083082 263.650401 -Q 425.141413 263.556346 422.627744 267.609482 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:4.364802;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 418.819877 269.954722 -L 422.627744 267.609482 -L 422.219216 272.06292 -L 418.819877 269.954722 + <path clip-path="url(#pc5c1e84671)" d="M 338.489693 219.635532 +Q 338.945824 218.891967 336.720807 222.519092 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:4.586196;"/> + <path clip-path="url(#pc5c1e84671)" d="M 332.924437 224.882897 +L 336.720807 222.519092 +L 336.334028 226.974472 +L 332.924437 224.882897 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:4.364802;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:4.586196;"/> </g> <g id="patch_17"> - <path clip-path="url(#p9ae4ea3394)" d="M 422.825189 273.071656 -Q 422.888499 272.963759 420.356909 277.278304 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:4.586196;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 416.607636 279.716122 -L 420.356909 277.278304 -L 420.0576 281.740413 -L 416.607636 279.716122 + <path clip-path="url(#pc5c1e84671)" d="M 338.709514 224.174726 +Q 339.169558 223.436703 336.957214 226.985843 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:4.518533;"/> + <path clip-path="url(#pc5c1e84671)" d="M 333.143999 229.322378 +L 336.957214 226.985843 +L 336.538513 231.438336 +L 333.143999 229.322378 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:4.586196;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:4.518533;"/> </g> <g id="patch_18"> - <path clip-path="url(#p9ae4ea3394)" d="M 423.112397 278.993473 -Q 423.174009 278.890138 420.648479 283.12594 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:4.518533;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 416.882183 285.537375 -L 420.648479 283.12594 -L 420.31785 287.585838 -L 416.882183 285.537375 + <path clip-path="url(#pc5c1e84671)" d="M 349.410314 210.410969 +Q 349.819463 209.611088 348.50919 212.172655 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:3.377069;"/> + <path clip-path="url(#pc5c1e84671)" d="M 344.907033 214.823026 +L 348.50919 212.172655 +L 348.468193 216.644603 +L 344.907033 214.823026 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:4.518533;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:3.377069;"/> </g> <g id="patch_19"> - <path clip-path="url(#p9ae4ea3394)" d="M 436.308272 260.974696 -Q 436.379009 260.830119 434.790401 264.077049 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:3.377069;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 431.23597 266.791089 -L 434.790401 264.077049 -L 434.828975 268.549019 -L 431.23597 266.791089 + <path clip-path="url(#pc5c1e84671)" d="M 349.525093 225.210127 +Q 349.891934 224.3663 348.730436 227.03804 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:3.428706;"/> + <path clip-path="url(#pc5c1e84671)" d="M 345.301508 229.909007 +L 348.730436 227.03804 +L 348.969853 231.503763 +L 345.301508 229.909007 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:3.377069;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:3.428706;"/> </g> <g id="patch_20"> - <path clip-path="url(#p9ae4ea3394)" d="M 436.339067 280.21715 -Q 436.413208 280.038852 435.015498 283.400141 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:3.428706;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 431.632978 286.325642 -L 435.015498 283.400141 -L 435.326387 287.861457 -L 431.632978 286.325642 + <path clip-path="url(#pc5c1e84671)" d="M 335.25222 247.610486 +Q 335.871808 247.205916 332.446365 249.442611 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:4.320976;"/> + <path clip-path="url(#pc5c1e84671)" d="M 328.003671 249.954926 +L 332.446365 249.442611 +L 330.190601 253.304155 +L 328.003671 249.954926 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:3.428706;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:4.320976;"/> </g> <g id="patch_21"> - <path clip-path="url(#p9ae4ea3394)" d="M 417.7782 311.257438 -Q 418.55066 310.730112 415.333176 312.926551 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:4.320976;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 410.901937 313.529979 -L 415.333176 312.926551 -L 413.157176 316.833599 -L 410.901937 313.529979 + <path clip-path="url(#pc5c1e84671)" d="M 358.521534 224.994352 +Q 358.657813 224.083945 358.388161 225.885353 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:2.452545;"/> + <path clip-path="url(#pc5c1e84671)" d="M 355.818036 229.545197 +L 358.388161 225.885353 +L 359.773962 230.137359 +L 355.818036 229.545197 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:4.320976;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:2.452545;"/> </g> <g id="patch_22"> - <path clip-path="url(#p9ae4ea3394)" d="M 447.072189 279.799746 -Q 447.100395 279.602744 446.739964 282.12009 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:2.452545;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 444.193219 285.796242 -L 446.739964 282.12009 -L 448.152839 286.363176 -L 444.193219 285.796242 + <path clip-path="url(#pc5c1e84671)" d="M 357.846197 243.273403 +Q 358.226767 242.73937 357.477757 243.790414 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:1.740901;"/> + <path clip-path="url(#pc5c1e84671)" d="M 353.52763 245.887195 +L 357.477757 243.790414 +L 356.785106 248.208585 +L 353.52763 245.887195 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:2.452545;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:1.740901;"/> </g> <g id="patch_23"> - <path clip-path="url(#p9ae4ea3394)" d="M 445.946831 305.604381 -Q 446.4213 304.90831 445.799495 305.820531 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:1.740901;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 441.89396 307.999245 -L 445.799495 305.820531 -L 445.199146 310.252188 -L 441.89396 307.999245 + <path clip-path="url(#pc5c1e84671)" d="M 361.528462 250.730745 +Q 362.115487 250.242938 361.69561 250.591848 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:1.170965;"/> + <path clip-path="url(#pc5c1e84671)" d="M 357.340937 251.610091 +L 361.69561 250.591848 +L 359.8974 254.686533 +L 357.340937 251.610091 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:1.740901;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:1.170965;"/> </g> <g id="patch_24"> - <path clip-path="url(#p9ae4ea3394)" d="M 450.537628 315.324458 -Q 451.269491 314.688639 451.013051 314.911425 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:1.170965;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 446.681765 316.024961 -L 451.013051 314.911425 -L 449.305108 319.044575 -L 446.681765 316.024961 + <path clip-path="url(#pc5c1e84671)" d="M 340.799227 264.271362 +Q 341.470215 264.131984 336.605828 265.142415 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:5.056674;"/> + <path clip-path="url(#pc5c1e84671)" d="M 332.28267 263.997729 +L 336.605828 265.142415 +L 333.096185 267.91413 +L 332.28267 263.997729 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:1.170965;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:5.056674;"/> </g> <g id="patch_25"> - <path clip-path="url(#p9ae4ea3394)" d="M 424.693831 332.973618 -Q 425.530373 332.79195 420.842157 333.810068 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:5.056674;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 416.508831 332.7045 -L 420.842157 333.810068 -L 417.357706 336.613388 -L 416.508831 332.7045 + <path clip-path="url(#pc5c1e84671)" d="M 386.413633 258.461061 +Q 386.127095 258.663583 386.103047 258.68058 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:0.287501;"/> + <path clip-path="url(#pc5c1e84671)" d="M 390.523876 258.005104 +L 386.103047 258.68058 +L 388.215164 254.738631 +L 390.523876 258.005104 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:5.056674;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:0.287501;"/> </g> <g id="patch_26"> - <path clip-path="url(#p9ae4ea3394)" d="M 483.602568 324.258933 -Q 483.092617 324.544283 482.998972 324.596684 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:0.426686;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 487.466272 324.388767 -L 482.998972 324.596684 -L 485.513018 320.898093 -L 487.466272 324.388767 + <path clip-path="url(#pc5c1e84671)" d="M 393.508794 264.16576 +Q 393.141892 264.590717 393.453955 264.229277 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:0.929263;"/> + <path clip-path="url(#pc5c1e84671)" d="M 397.581834 262.508633 +L 393.453955 264.229277 +L 394.554167 259.894587 +L 397.581834 262.508633 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:0.426686;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:0.929263;"/> </g> <g id="patch_27"> - <path clip-path="url(#p9ae4ea3394)" d="M 473.18928 326.183176 -Q 473.297169 326.465396 473.388035 326.703089 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:0.042637;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 473.827853 322.252633 -L 473.388035 326.703089 -L 470.091561 323.680961 -L 473.827853 322.252633 + <path clip-path="url(#pc5c1e84671)" d="M 379.697287 259.061666 +Q 379.783824 259.278188 379.852669 259.450445 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:0.042637;"/> + <path clip-path="url(#pc5c1e84671)" d="M 380.225334 254.993863 +L 379.852669 259.450445 +L 376.511003 256.478364 +L 380.225334 254.993863 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:0.042637;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:0.042637;"/> </g> <g id="patch_28"> - <path clip-path="url(#p9ae4ea3394)" d="M 469.006861 307.70807 -Q 468.595379 307.107394 468.435032 306.873322 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:0.397459;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 469.04563 311.303578 -L 468.435032 306.873322 -L 472.345596 309.042997 -L 469.04563 311.303578 + <path clip-path="url(#pc5c1e84671)" d="M 376.348618 244.922282 +Q 376.01908 244.462089 375.946684 244.360989 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:0.395039;"/> + <path clip-path="url(#pc5c1e84671)" d="M 376.649432 248.777566 +L 375.946684 244.360989 +L 379.901594 246.448737 +L 376.649432 248.777566 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:0.397459;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:0.395039;"/> </g> <g id="patch_29"> - <path clip-path="url(#p9ae4ea3394)" d="M 481.981397 306.991861 -Q 481.147954 306.787472 481.434968 306.857858 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:1.031861;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 484.843502 309.753008 -L 481.434968 306.857858 -L 485.796208 305.868121 -L 484.843502 309.753008 + <path clip-path="url(#pc5c1e84671)" d="M 384.075253 243.737484 +Q 383.420867 243.48878 383.644106 243.573623 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:0.839752;"/> + <path clip-path="url(#pc5c1e84671)" d="M 386.672638 246.864214 +L 383.644106 243.573623 +L 388.093698 243.125152 +L 386.672638 246.864214 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:1.031861;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:0.839752;"/> </g> <g id="patch_30"> - <path clip-path="url(#p9ae4ea3394)" d="M 459.865313 278.152628 -Q 459.794849 277.972278 460.438416 279.619461 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:1.754928;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 460.031221 284.073021 -L 460.438416 279.619461 -L 463.756946 282.617353 -L 460.031221 284.073021 + <path clip-path="url(#pc5c1e84671)" d="M 369.597014 223.672549 +Q 369.248336 222.819037 369.641384 223.781159 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:1.754237;"/> + <path clip-path="url(#pc5c1e84671)" d="M 369.302647 228.240448 +L 369.641384 223.781159 +L 373.005573 226.727722 +L 369.302647 228.240448 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:1.754928;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:1.754237;"/> </g> <g id="patch_31"> - <path clip-path="url(#p9ae4ea3394)" d="M 485.386802 295.643338 -Q 484.555498 295.413158 486.12852 295.848712 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:2.231408;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 489.449774 298.843586 -L 486.12852 295.848712 -L 490.517171 294.988633 -L 489.449774 298.843586 + <path clip-path="url(#pc5c1e84671)" d="M 389.479668 235.656386 +Q 388.812867 235.479937 390.554876 235.940908 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:2.228663;"/> + <path clip-path="url(#pc5c1e84671)" d="M 393.910148 238.897621 +L 390.554876 235.940908 +L 394.933409 235.030718 +L 393.910148 238.897621 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:2.231408;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:2.228663;"/> </g> <g id="patch_32"> - <path clip-path="url(#p9ae4ea3394)" d="M 472.518001 283.899762 -Q 471.775292 283.281202 472.603338 283.970834 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:1.828363;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 474.397038 288.067497 -L 472.603338 283.970834 -L 476.956888 284.993872 -L 474.397038 288.067497 + <path clip-path="url(#pc5c1e84671)" d="M 379.157239 226.646572 +Q 378.561543 226.171941 379.563318 226.970123 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:1.826903;"/> + <path clip-path="url(#pc5c1e84671)" d="M 381.445415 231.026933 +L 379.563318 226.970123 +L 383.938025 227.898531 +L 381.445415 231.026933 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:1.828363;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:1.826903;"/> </g> <g id="patch_33"> - <path clip-path="url(#p9ae4ea3394)" d="M 485.421297 284.308636 -Q 484.595468 284.034268 486.898941 284.799559 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:2.949362;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 490.064347 287.958706 -L 486.898941 284.799559 -L 491.325502 284.162722 -L 490.064347 287.958706 + <path clip-path="url(#pc5c1e84671)" d="M 389.506722 226.959413 +Q 388.844323 226.748945 391.322662 227.536402 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:2.947553;"/> + <path clip-path="url(#pc5c1e84671)" d="M 394.52922 230.653771 +L 391.322662 227.536402 +L 395.740492 226.841577 +L 394.52922 230.653771 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:2.949362;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:2.947553;"/> </g> <g id="patch_34"> - <path clip-path="url(#p9ae4ea3394)" d="M 462.410122 260.346415 -Q 462.035937 259.458638 462.31247 260.11473 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:1.498523;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 462.023067 264.577492 -L 462.31247 260.11473 -L 465.709038 263.02391 -L 462.023067 264.577492 + <path clip-path="url(#pc5c1e84671)" d="M 371.049064 208.57319 +Q 370.748712 207.891748 371.124692 208.744777 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:1.499873;"/> + <path clip-path="url(#pc5c1e84671)" d="M 370.907856 213.211653 +L 371.124692 208.744777 +L 374.568091 211.598371 +L 370.907856 213.211653 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:1.498523;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:1.499873;"/> </g> <g id="patch_35"> - <path clip-path="url(#p9ae4ea3394)" d="M 485.434515 273.254437 -Q 484.610153 272.969251 487.171911 273.855487 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:3.204752;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 490.298221 277.053327 -L 487.171911 273.855487 -L 491.60597 273.273143 -L 490.298221 277.053327 + <path clip-path="url(#pc5c1e84671)" d="M 389.517164 218.477706 +Q 388.855953 218.258864 391.596314 219.165846 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:3.204768;"/> + <path clip-path="url(#pc5c1e84671)" d="M 394.76531 222.321391 +L 391.596314 219.165846 +L 396.022147 218.523976 +L 394.76531 222.321391 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:3.204752;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:3.204768;"/> </g> <g id="patch_36"> - <path clip-path="url(#p9ae4ea3394)" d="M 475.673658 263.651009 -Q 474.897264 263.142044 476.007407 263.869798 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:2.017622;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 478.25618 267.735419 -L 476.007407 263.869798 -L 480.449167 264.390152 -L 478.25618 267.735419 + <path clip-path="url(#pc5c1e84671)" d="M 381.688223 211.108891 +Q 381.065499 210.718337 382.354636 211.526846 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:2.018506;"/> + <path clip-path="url(#pc5c1e84671)" d="M 384.680678 215.346471 +L 382.354636 211.526846 +L 386.805961 211.957787 +L 384.680678 215.346471 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:2.017622;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:2.018506;"/> </g> <g id="patch_37"> - <path clip-path="url(#p9ae4ea3394)" d="M 492.099503 264.057514 -Q 491.263092 263.873031 494.666677 264.623741 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:3.883519;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 498.142017 267.438349 -L 494.666677 264.623741 -L 499.003567 263.532234 -L 498.142017 267.438349 + <path clip-path="url(#pc5c1e84671)" d="M 379.13153 201.626909 +Q 378.542291 201.139237 378.949874 201.476566 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:1.157335;"/> + <path clip-path="url(#pc5c1e84671)" d="M 380.756212 205.567671 +L 378.949874 201.476566 +L 383.306562 202.486159 +L 380.756212 205.567671 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:3.883519;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:1.157335;"/> </g> <g id="patch_38"> - <path clip-path="url(#p9ae4ea3394)" d="M 475.598871 253.285517 -Q 474.820515 252.78756 475.405693 253.16193 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:1.447806;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 477.69734 257.002289 -L 475.405693 253.16193 -L 479.852968 253.632828 -L 477.69734 257.002289 + <path clip-path="url(#pc5c1e84671)" d="M 389.482827 202.089265 +Q 388.815443 201.917595 390.549019 202.363518 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:2.217392;"/> + <path clip-path="url(#pc5c1e84671)" d="M 393.924676 205.296936 +L 390.549019 202.363518 +L 394.921147 201.423043 +L 393.924676 205.296936 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:1.447806;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:2.217392;"/> </g> <g id="patch_39"> - <path clip-path="url(#p9ae4ea3394)" d="M 485.39072 251.894463 -Q 484.558646 251.670917 486.118524 252.089996 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:2.215293;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 489.462619 255.059345 -L 486.118524 252.089996 -L 490.50046 251.196329 -L 489.462619 255.059345 + <path clip-path="url(#pc5c1e84671)" d="M 392.162018 198.54758 +Q 391.488228 198.445504 393.300458 198.720047 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:2.248936;"/> + <path clip-path="url(#pc5c1e84671)" d="M 396.955761 201.296626 +L 393.300458 198.720047 +L 397.554903 197.341752 +L 396.955761 201.296626 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:2.215293;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:2.248936;"/> </g> <g id="patch_40"> - <path clip-path="url(#p9ae4ea3394)" d="M 488.730425 247.278042 -Q 487.890372 247.145281 489.531313 247.404613 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:2.246609;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 493.170074 250.0045 -L 489.531313 247.404613 -L 493.794479 246.053536 -L 493.170074 250.0045 + <path clip-path="url(#pc5c1e84671)" d="M 384.081939 193.250898 +Q 383.424901 193.018994 383.584322 193.075262 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:0.774416;"/> + <path clip-path="url(#pc5c1e84671)" d="M 386.690607 196.292559 +L 383.584322 193.075262 +L 388.02193 192.520612 +L 386.690607 196.292559 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:2.246609;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:0.774416;"/> </g> <g id="patch_41"> - <path clip-path="url(#p9ae4ea3394)" d="M 478.655753 240.380202 -Q 477.836565 240.078221 477.828277 240.075165 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:0.773003;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 480.889625 243.335249 -L 477.828277 240.075165 -L 482.273153 239.582137 -L 480.889625 243.335249 + <path clip-path="url(#pc5c1e84671)" d="M 389.448569 190.548736 +Q 388.772224 190.503974 389.310801 190.539618 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:1.089037;"/> + <path clip-path="url(#pc5c1e84671)" d="M 393.169997 192.799399 +L 389.310801 190.539618 +L 393.434144 188.80813 +L 393.169997 192.799399 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:0.773003;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:1.089037;"/> </g> <g id="patch_42"> - <path clip-path="url(#p9ae4ea3394)" d="M 488.722515 236.876214 -Q 487.878322 236.871955 488.639546 236.875796 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:1.435947;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 492.629404 238.895953 -L 488.639546 236.875796 -L 492.649587 234.896004 -L 492.629404 238.895953 + <path clip-path="url(#pc5c1e84671)" d="M 386.773226 187.103497 +Q 386.098264 187.079045 386.05715 187.077556 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:0.567302;"/> + <path clip-path="url(#pc5c1e84671)" d="M 389.982122 189.221056 +L 386.05715 187.077556 +L 390.126933 185.223678 +L 389.982122 189.221056 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:1.435947;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:0.567302;"/> </g> <g id="patch_43"> - <path clip-path="url(#p9ae4ea3394)" d="M 485.378898 232.208091 -Q 484.536676 232.250453 484.627181 232.2459 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:0.83531;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 488.722599 234.04244 -L 484.627181 232.2459 -L 488.521663 230.04749 -L 488.722599 234.04244 + <path clip-path="url(#pc5c1e84671)" d="M 392.220878 182.900107 +Q 391.555566 183.074358 391.896402 182.98509 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:0.930279;"/> + <path clip-path="url(#pc5c1e84671)" d="M 396.272613 183.906378 +L 391.896402 182.98509 +L 395.25916 180.036894 +L 396.272613 183.906378 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:0.83531;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:0.930279;"/> </g> <g id="patch_44"> - <path clip-path="url(#p9ae4ea3394)" d="M 488.802968 226.90931 -Q 487.973518 227.136529 488.147107 227.088976 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:0.930199;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 492.533383 227.961091 -L 488.147107 227.088976 -L 491.476565 224.103224 -L 492.533383 227.961091 + <path clip-path="url(#pc5c1e84671)" d="M 389.217252 177.879838 +Q 388.598613 178.27068 388.453456 178.362386 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:0.500934;"/> + <path clip-path="url(#pc5c1e84671)" d="M 392.903335 177.916765 +L 388.453456 178.362386 +L 390.766886 174.53511 +L 392.903335 177.916765 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:0.930199;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:0.500934;"/> </g> <g id="patch_45"> - <path clip-path="url(#p9ae4ea3394)" d="M 491.793772 218.751802 -Q 490.990032 219.156068 491.239634 219.030523 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:1.054601;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 495.711758 219.01987 -L 491.239634 219.030523 -L 493.914386 215.446433 -L 495.711758 219.01987 + <path clip-path="url(#pc5c1e84671)" d="M 340.527916 234.079087 +Q 341.036162 233.415788 338.767438 236.376643 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:4.083729;"/> + <path clip-path="url(#pc5c1e84671)" d="M 334.747027 238.335287 +L 338.767438 236.376643 +L 337.922107 240.768159 +L 334.747027 238.335287 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:1.054601;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:4.083729;"/> </g> <g id="patch_46"> - <path clip-path="url(#p9ae4ea3394)" d="M 425.53624 292.009375 -Q 425.579556 291.950274 422.923863 295.573755 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:4.083729;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 418.946158 297.617737 -L 422.923863 295.573755 -L 422.172426 299.982308 -L 418.946158 297.617737 + <path clip-path="url(#pc5c1e84671)" d="M 368.088962 251.235545 +Q 368.390128 250.896667 368.322335 250.972949 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:0.496781;"/> + <path clip-path="url(#pc5c1e84671)" d="M 364.17022 252.634258 +L 368.322335 250.972949 +L 367.160112 255.291426 +L 364.17022 252.634258 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:4.083729;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:0.496781;"/> </g> <g id="patch_47"> - <path clip-path="url(#p9ae4ea3394)" d="M 458.716812 315.982425 -Q 459.092286 315.540724 459.108028 315.522205 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:0.496781;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 454.993492 317.274515 -L 459.108028 315.522205 -L 458.041155 319.86522 -L 454.993492 317.274515 + <path clip-path="url(#pc5c1e84671)" d="M 373.915114 251.22681 +Q 373.95977 250.921354 373.97875 250.791525 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:0.158756;"/> + <path clip-path="url(#pc5c1e84671)" d="M 371.421162 254.460141 +L 373.97875 250.791525 +L 375.37909 255.038765 +L 371.421162 254.460141 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:0.496781;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:0.158756;"/> </g> <g id="patch_48"> - <path clip-path="url(#p9ae4ea3394)" d="M 465.980462 315.97104 -Q 466.036136 315.572901 466.067229 315.350547 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:0.158756;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 463.53255 319.035028 -L 466.067229 315.350547 -L 467.494007 319.588978 -L 463.53255 319.035028 + <path clip-path="url(#pc5c1e84671)" d="M 389.364582 253.876032 +Q 388.695247 254.019657 388.74035 254.009979 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:0.653559;"/> + <path clip-path="url(#pc5c1e84671)" d="M 393.070931 255.126253 +L 388.74035 254.009979 +L 392.231718 251.215278 +L 393.070931 255.126253 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:0.158756;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:0.653559;"/> </g> <g id="patch_49"> - <path clip-path="url(#p9ae4ea3394)" d="M 485.241805 319.424099 -Q 484.407324 319.611304 484.285823 319.638561 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:0.653559;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 488.626608 320.714473 -L 484.285823 319.638561 -L 487.751024 316.81148 -L 488.626608 320.714473 + <path clip-path="url(#pc5c1e84671)" d="M 353.324852 226.599038 +Q 353.630928 225.705355 352.868464 227.931601 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:2.949675;"/> + <path clip-path="url(#pc5c1e84671)" d="M 349.68031 231.067788 +L 352.868464 227.931601 +L 353.464521 232.363837 +L 349.68031 231.067788 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:0.653559;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:2.949675;"/> </g> <g id="patch_50"> - <path clip-path="url(#p9ae4ea3394)" d="M 440.931508 281.973194 -Q 441.002312 281.75706 440.046455 284.674885 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:2.949675;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 436.900588 287.853488 -L 440.046455 284.674885 -L 440.701817 289.098741 -L 436.900588 287.853488 + <path clip-path="url(#pc5c1e84671)" d="M 359.952638 245.002844 +Q 360.318333 244.505444 359.743167 245.287758 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:1.420672;"/> + <path clip-path="url(#pc5c1e84671)" d="M 355.762411 247.325793 +L 359.743167 245.287758 +L 358.985141 249.695183 +L 355.762411 247.325793 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:2.949675;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:1.420672;"/> </g> <g id="patch_51"> - <path clip-path="url(#p9ae4ea3394)" d="M 448.572999 307.858576 -Q 449.028922 307.210253 448.571162 307.861188 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:1.420672;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 444.634241 309.982663 -L 448.571162 307.861188 -L 447.90619 312.283609 -L 444.634241 309.982663 + <path clip-path="url(#pc5c1e84671)" d="M 377.113505 193.43674 +Q 376.84049 193.110194 376.888124 193.167167 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:0.447127;"/> + <path clip-path="url(#pc5c1e84671)" d="M 377.91943 197.518765 +L 376.888124 193.167167 +L 380.988186 194.95308 +L 377.91943 197.518765 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:1.420672;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:0.447127;"/> </g> <g id="patch_52"> - <path clip-path="url(#p9ae4ea3394)" d="M 469.967998 240.646099 -Q 469.627621 240.22047 469.599461 240.185257 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:0.447127;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 470.53571 244.558292 -L 469.599461 240.185257 -L 473.659639 242.060079 -L 470.53571 244.558292 + <path clip-path="url(#pc5c1e84671)" d="M 350.134235 246.848109 +Q 350.727202 246.365232 348.970583 247.795719 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:2.710205;"/> + <path clip-path="url(#pc5c1e84671)" d="M 344.60602 248.770698 +L 348.970583 247.795719 +L 347.131829 251.872357 +L 344.60602 248.770698 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:0.447127;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:2.710205;"/> </g> <g id="patch_53"> - <path clip-path="url(#p9ae4ea3394)" d="M 436.332082 310.263739 -Q 437.071353 309.634345 435.503432 310.969227 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:2.710205;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 431.161228 312.039397 -L 435.503432 310.969227 -L 433.754245 315.085092 -L 431.161228 312.039397 + <path clip-path="url(#pc5c1e84671)" d="M 353.193209 197.100965 +Q 353.727416 196.485481 352.495508 197.904818 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:2.409923;"/> + <path clip-path="url(#pc5c1e84671)" d="M 348.363158 199.614696 +L 352.495508 197.904818 +L 351.384 202.236624 +L 348.363158 199.614696 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:2.710205;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:2.409923;"/> </g> <g id="patch_54"> - <path clip-path="url(#p9ae4ea3394)" d="M 441.423195 243.883471 -Q 441.450512 243.850566 439.756774 245.890735 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:2.409923;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 435.662925 247.690847 -L 439.756774 245.890735 -L 438.740555 250.245881 -L 435.662925 247.690847 + <path clip-path="url(#pc5c1e84671)" d="M 349.682169 215.588016 +Q 350.050117 214.744582 348.868945 217.452138 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:3.465176;"/> + <path clip-path="url(#pc5c1e84671)" d="M 345.436362 220.318734 +L 348.868945 217.452138 +L 349.102672 221.918163 +L 345.436362 220.318734 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:2.409923;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:3.465176;"/> </g> <g id="patch_55"> - <path clip-path="url(#p9ae4ea3394)" d="M 436.537213 267.676322 -Q 436.611577 267.498106 435.194016 270.895288 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:3.465176;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 431.807885 273.816608 -L 435.194016 270.895288 -L 435.499394 275.356985 -L 431.807885 273.816608 + <path clip-path="url(#pc5c1e84671)" d="M 363.492754 208.981007 +Q 363.492757 208.979053 363.48933 211.155275 +" style="fill:none;stroke:#1f77b4;stroke-linecap:round;stroke-width:1.948223;"/> + <path clip-path="url(#pc5c1e84671)" d="M 361.483034 215.152121 +L 363.48933 211.155275 +L 365.483029 215.158419 +L 361.483034 215.152121 z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:3.465176;"/> +" style="fill:#1f77b4;stroke:#1f77b4;stroke-linecap:round;stroke-width:1.948223;"/> </g> <g id="patch_56"> - <path clip-path="url(#p9ae4ea3394)" d="M 452.985664 261.510541 -Q 452.986122 261.206155 452.9833 263.079945 -" style="fill:none;stroke:#0000ff;stroke-linecap:round;stroke-width:1.948223;"/> - <path clip-path="url(#p9ae4ea3394)" d="M 450.977278 267.076928 -L 452.9833 263.079945 -L 454.977273 267.082953 -L 450.977278 267.076928 -z -" style="fill:#0000ff;stroke:#0000ff;stroke-linecap:round;stroke-width:1.948223;"/> + <path d="M 57.6 307.584 +L 57.6 41.472 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> </g> <g id="patch_57"> - <path d="M 72 388.8 -L 72 43.2 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> + <path d="M 414.72 307.584 +L 414.72 41.472 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> </g> <g id="patch_58"> - <path d="M 518.4 388.8 -L 518.4 43.2 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> + <path d="M 57.6 307.584 +L 414.72 307.584 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> </g> <g id="patch_59"> - <path d="M 72 388.8 -L 518.4 388.8 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> - <g id="patch_60"> - <path d="M 72 43.2 -L 518.4 43.2 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> - <g id="matplotlib.axis_1"> - <g id="xtick_1"> - <g id="line2d_1"> - <defs> - <path d="M 0 0 -L 0 -4 -" id="m41b0efa5af" style="stroke:#000000;stroke-width:0.5;"/> - </defs> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="93.557493" xlink:href="#m41b0efa5af" y="388.8"/> - </g> - </g> - <g id="line2d_2"> - <defs> - <path d="M 0 0 -L 0 4 -" id="m80dd548a08" style="stroke:#000000;stroke-width:0.5;"/> - </defs> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="93.557493" xlink:href="#m80dd548a08" y="43.2"/> - </g> - </g> - <g id="text_1"> - <!-- 0 --> - <defs> - <path d="M 31.78125 66.40625 -Q 24.171875 66.40625 20.328125 58.90625 -Q 16.5 51.421875 16.5 36.375 -Q 16.5 21.390625 20.328125 13.890625 -Q 24.171875 6.390625 31.78125 6.390625 -Q 39.453125 6.390625 43.28125 13.890625 -Q 47.125 21.390625 47.125 36.375 -Q 47.125 51.421875 43.28125 58.90625 -Q 39.453125 66.40625 31.78125 66.40625 -M 31.78125 74.21875 -Q 44.046875 74.21875 50.515625 64.515625 -Q 56.984375 54.828125 56.984375 36.375 -Q 56.984375 17.96875 50.515625 8.265625 -Q 44.046875 -1.421875 31.78125 -1.421875 -Q 19.53125 -1.421875 13.0625 8.265625 -Q 6.59375 17.96875 6.59375 36.375 -Q 6.59375 54.828125 13.0625 64.515625 -Q 19.53125 74.21875 31.78125 74.21875 -" id="DejaVuSans-30"/> - </defs> - <g transform="translate(89.739993 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="xtick_2"> - <g id="line2d_3"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="173.829205" xlink:href="#m41b0efa5af" y="388.8"/> - </g> - </g> - <g id="line2d_4"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="173.829205" xlink:href="#m80dd548a08" y="43.2"/> - </g> - </g> - <g id="text_2"> - <!-- 20 --> - <defs> - <path d="M 19.1875 8.296875 -L 53.609375 8.296875 -L 53.609375 0 -L 7.328125 0 -L 7.328125 8.296875 -Q 12.9375 14.109375 22.625 23.890625 -Q 32.328125 33.6875 34.8125 36.53125 -Q 39.546875 41.84375 41.421875 45.53125 -Q 43.3125 49.21875 43.3125 52.78125 -Q 43.3125 58.59375 39.234375 62.25 -Q 35.15625 65.921875 28.609375 65.921875 -Q 23.96875 65.921875 18.8125 64.3125 -Q 13.671875 62.703125 7.8125 59.421875 -L 7.8125 69.390625 -Q 13.765625 71.78125 18.9375 73 -Q 24.125 74.21875 28.421875 74.21875 -Q 39.75 74.21875 46.484375 68.546875 -Q 53.21875 62.890625 53.21875 53.421875 -Q 53.21875 48.921875 51.53125 44.890625 -Q 49.859375 40.875 45.40625 35.40625 -Q 44.1875 33.984375 37.640625 27.21875 -Q 31.109375 20.453125 19.1875 8.296875 -" id="DejaVuSans-32"/> - </defs> - <g transform="translate(166.194205 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-32"/> - <use x="63.623047" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="xtick_3"> - <g id="line2d_5"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="254.100917" xlink:href="#m41b0efa5af" y="388.8"/> - </g> - </g> - <g id="line2d_6"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="254.100917" xlink:href="#m80dd548a08" y="43.2"/> - </g> - </g> - <g id="text_3"> - <!-- 40 --> - <defs> - <path d="M 37.796875 64.3125 -L 12.890625 25.390625 -L 37.796875 25.390625 -z -M 35.203125 72.90625 -L 47.609375 72.90625 -L 47.609375 25.390625 -L 58.015625 25.390625 -L 58.015625 17.1875 -L 47.609375 17.1875 -L 47.609375 0 -L 37.796875 0 -L 37.796875 17.1875 -L 4.890625 17.1875 -L 4.890625 26.703125 -z -" id="DejaVuSans-34"/> - </defs> - <g transform="translate(246.465917 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-34"/> - <use x="63.623047" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="xtick_4"> - <g id="line2d_7"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="334.37263" xlink:href="#m41b0efa5af" y="388.8"/> - </g> - </g> - <g id="line2d_8"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="334.37263" xlink:href="#m80dd548a08" y="43.2"/> - </g> - </g> - <g id="text_4"> - <!-- 60 --> - <defs> - <path d="M 33.015625 40.375 -Q 26.375 40.375 22.484375 35.828125 -Q 18.609375 31.296875 18.609375 23.390625 -Q 18.609375 15.53125 22.484375 10.953125 -Q 26.375 6.390625 33.015625 6.390625 -Q 39.65625 6.390625 43.53125 10.953125 -Q 47.40625 15.53125 47.40625 23.390625 -Q 47.40625 31.296875 43.53125 35.828125 -Q 39.65625 40.375 33.015625 40.375 -M 52.59375 71.296875 -L 52.59375 62.3125 -Q 48.875 64.0625 45.09375 64.984375 -Q 41.3125 65.921875 37.59375 65.921875 -Q 27.828125 65.921875 22.671875 59.328125 -Q 17.53125 52.734375 16.796875 39.40625 -Q 19.671875 43.65625 24.015625 45.921875 -Q 28.375 48.1875 33.59375 48.1875 -Q 44.578125 48.1875 50.953125 41.515625 -Q 57.328125 34.859375 57.328125 23.390625 -Q 57.328125 12.15625 50.6875 5.359375 -Q 44.046875 -1.421875 33.015625 -1.421875 -Q 20.359375 -1.421875 13.671875 8.265625 -Q 6.984375 17.96875 6.984375 36.375 -Q 6.984375 53.65625 15.1875 63.9375 -Q 23.390625 74.21875 37.203125 74.21875 -Q 40.921875 74.21875 44.703125 73.484375 -Q 48.484375 72.75 52.59375 71.296875 -" id="DejaVuSans-36"/> - </defs> - <g transform="translate(326.73763 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-36"/> - <use x="63.623047" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="xtick_5"> - <g id="line2d_9"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="414.644342" xlink:href="#m41b0efa5af" y="388.8"/> - </g> - </g> - <g id="line2d_10"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="414.644342" xlink:href="#m80dd548a08" y="43.2"/> - </g> - </g> - <g id="text_5"> - <!-- 80 --> - <defs> - <path d="M 31.78125 34.625 -Q 24.75 34.625 20.71875 30.859375 -Q 16.703125 27.09375 16.703125 20.515625 -Q 16.703125 13.921875 20.71875 10.15625 -Q 24.75 6.390625 31.78125 6.390625 -Q 38.8125 6.390625 42.859375 10.171875 -Q 46.921875 13.96875 46.921875 20.515625 -Q 46.921875 27.09375 42.890625 30.859375 -Q 38.875 34.625 31.78125 34.625 -M 21.921875 38.8125 -Q 15.578125 40.375 12.03125 44.71875 -Q 8.5 49.078125 8.5 55.328125 -Q 8.5 64.0625 14.71875 69.140625 -Q 20.953125 74.21875 31.78125 74.21875 -Q 42.671875 74.21875 48.875 69.140625 -Q 55.078125 64.0625 55.078125 55.328125 -Q 55.078125 49.078125 51.53125 44.71875 -Q 48 40.375 41.703125 38.8125 -Q 48.828125 37.15625 52.796875 32.3125 -Q 56.78125 27.484375 56.78125 20.515625 -Q 56.78125 9.90625 50.3125 4.234375 -Q 43.84375 -1.421875 31.78125 -1.421875 -Q 19.734375 -1.421875 13.25 4.234375 -Q 6.78125 9.90625 6.78125 20.515625 -Q 6.78125 27.484375 10.78125 32.3125 -Q 14.796875 37.15625 21.921875 38.8125 -M 18.3125 54.390625 -Q 18.3125 48.734375 21.84375 45.5625 -Q 25.390625 42.390625 31.78125 42.390625 -Q 38.140625 42.390625 41.71875 45.5625 -Q 45.3125 48.734375 45.3125 54.390625 -Q 45.3125 60.0625 41.71875 63.234375 -Q 38.140625 66.40625 31.78125 66.40625 -Q 25.390625 66.40625 21.84375 63.234375 -Q 18.3125 60.0625 18.3125 54.390625 -" id="DejaVuSans-38"/> - </defs> - <g transform="translate(407.009342 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-38"/> - <use x="63.623047" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="xtick_6"> - <g id="line2d_11"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="494.916054" xlink:href="#m41b0efa5af" y="388.8"/> - </g> - </g> - <g id="line2d_12"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="494.916054" xlink:href="#m80dd548a08" y="43.2"/> - </g> - </g> - <g id="text_6"> - <!-- 100 --> - <defs> - <path d="M 12.40625 8.296875 -L 28.515625 8.296875 -L 28.515625 63.921875 -L 10.984375 60.40625 -L 10.984375 69.390625 -L 28.421875 72.90625 -L 38.28125 72.90625 -L 38.28125 8.296875 -L 54.390625 8.296875 -L 54.390625 0 -L 12.40625 0 -z -" id="DejaVuSans-31"/> - </defs> - <g transform="translate(483.463554 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-31"/> - <use x="63.623047" xlink:href="#DejaVuSans-30"/> - <use x="127.246094" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - </g> - <g id="matplotlib.axis_2"> - <g id="ytick_1"> - <g id="line2d_13"> - <defs> - <path d="M 0 0 -L 4 0 -" id="m49ab0988c4" style="stroke:#000000;stroke-width:0.5;"/> - </defs> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m49ab0988c4" y="371.640811"/> - </g> - </g> - <g id="line2d_14"> - <defs> - <path d="M 0 0 -L -4 0 -" id="m67cbd1d5f8" style="stroke:#000000;stroke-width:0.5;"/> - </defs> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m67cbd1d5f8" y="371.640811"/> - </g> - </g> - <g id="text_7"> - <!-- 0 --> - <g transform="translate(60.365 376.199874)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="ytick_2"> - <g id="line2d_15"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m49ab0988c4" y="309.384487"/> - </g> - </g> - <g id="line2d_16"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m67cbd1d5f8" y="309.384487"/> - </g> - </g> - <g id="text_8"> - <!-- 20 --> - <g transform="translate(52.73 313.943549)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-32"/> - <use x="63.623047" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="ytick_3"> - <g id="line2d_17"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m49ab0988c4" y="247.128162"/> - </g> - </g> - <g id="line2d_18"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m67cbd1d5f8" y="247.128162"/> - </g> - </g> - <g id="text_9"> - <!-- 40 --> - <g transform="translate(52.73 251.687225)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-34"/> - <use x="63.623047" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="ytick_4"> - <g id="line2d_19"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m49ab0988c4" y="184.871838"/> - </g> - </g> - <g id="line2d_20"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m67cbd1d5f8" y="184.871838"/> - </g> - </g> - <g id="text_10"> - <!-- 60 --> - <g transform="translate(52.73 189.4309)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-36"/> - <use x="63.623047" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="ytick_5"> - <g id="line2d_21"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m49ab0988c4" y="122.615513"/> - </g> - </g> - <g id="line2d_22"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m67cbd1d5f8" y="122.615513"/> - </g> - </g> - <g id="text_11"> - <!-- 80 --> - <g transform="translate(52.73 127.174576)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-38"/> - <use x="63.623047" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="ytick_6"> - <g id="line2d_23"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m49ab0988c4" y="60.359189"/> - </g> - </g> - <g id="line2d_24"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m67cbd1d5f8" y="60.359189"/> - </g> - </g> - <g id="text_12"> - <!-- 100 --> - <g transform="translate(45.095 64.918251)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-31"/> - <use x="63.623047" xlink:href="#DejaVuSans-30"/> - <use x="127.246094" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> + <path d="M 57.6 41.472 +L 414.72 41.472 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> </g> </g> </g> <defs> - <clipPath id="p9ae4ea3394"> - <rect height="345.6" width="446.4" x="72" y="43.2"/> + <clipPath id="pc5c1e84671"> + <rect height="266.112" width="357.12" x="57.6" y="41.472"/> </clipPath> </defs> </svg> diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py index 47c5d15682a4..c235e98fc99a 100644 --- a/lib/matplotlib/tests/test_streamplot.py +++ b/lib/matplotlib/tests/test_streamplot.py @@ -27,7 +27,8 @@ def swirl_velocity_field(): return x, y, U, V -@image_comparison(baseline_images=['streamplot_startpoints']) +@image_comparison(baseline_images=['streamplot_startpoints'], + remove_text=True, style='mpl20') def test_startpoints(): X, Y, U, V = velocity_field() start_x = np.linspace(X.min(), X.max(), 10) @@ -38,7 +39,7 @@ def test_startpoints(): @image_comparison(baseline_images=['streamplot_colormap'], - tol=.04, remove_text=True) + tol=.04, remove_text=True, style='mpl20') def test_colormap(): X, Y, U, V = velocity_field() plt.streamplot(X, Y, U, V, color=U, density=0.6, linewidth=2, @@ -46,7 +47,8 @@ def test_colormap(): plt.colorbar() -@image_comparison(baseline_images=['streamplot_linewidth']) +@image_comparison(baseline_images=['streamplot_linewidth'], + remove_text=True, style='mpl20') def test_linewidth(): X, Y, U, V = velocity_field() speed = np.sqrt(U*U + V*V) @@ -57,7 +59,8 @@ def test_linewidth(): @image_comparison(baseline_images=['streamplot_masks_and_nans'], - tol=0.04 if on_win else 0) + tol=0.04 if on_win else 0, + remove_text=True, style='mpl20') def test_masks_and_nans(): X, Y, U, V = velocity_field() mask = np.zeros(U.shape, dtype=bool) @@ -69,7 +72,7 @@ def test_masks_and_nans(): @image_comparison(baseline_images=['streamplot_maxlength'], - extensions=['png']) + extensions=['png'], remove_text=True, style='mpl20') def test_maxlength(): x, y, U, V = swirl_velocity_field() plt.streamplot(x, y, U, V, maxlength=10., start_points=[[0., 1.5]], @@ -77,7 +80,7 @@ def test_maxlength(): @image_comparison(baseline_images=['streamplot_direction'], - extensions=['png']) + extensions=['png'], remove_text=True, style='mpl20') def test_direction(): x, y, U, V = swirl_velocity_field() plt.streamplot(x, y, U, V, integration_direction='backward', diff --git a/lib/matplotlib/tests/test_transforms.py b/lib/matplotlib/tests/test_transforms.py index 52d2f2bfa749..6275d5b546bb 100644 --- a/lib/matplotlib/tests/test_transforms.py +++ b/lib/matplotlib/tests/test_transforms.py @@ -70,7 +70,7 @@ def _as_mpl_transform(self, axes): @image_comparison(baseline_images=['pre_transform_data'], - tol=0.08) + tol=0.08, remove_text=True, style='mpl20') def test_pre_transform_plotting(): # a catch-all for as many as possible plot layouts which handle # pre-transforming the data NOTE: The axis range is important in this From 624ba7a98e681185b8767ade373f23082eaf4fa1 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Tue, 19 Jun 2018 09:53:26 -0700 Subject: [PATCH 0805/1161] TST: Fix streamplot test images --- .../test_pickle/multi_pickle.png | Bin 79401 -> 78871 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/matplotlib/tests/baseline_images/test_pickle/multi_pickle.png b/lib/matplotlib/tests/baseline_images/test_pickle/multi_pickle.png index 0f5ab85ea029646161eb35c34c76afc4058cdbb2..c1b2e7872fdb6d2dde52e6d4b65b70b413910881 100644 GIT binary patch delta 61519 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 T)d*`Ag;G_%eI2i8{_Ot%CGgal delta 62055 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�+Z-z0EF1$ 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 Zs$h4PQ|dqW5-5M5cH`dlJY}<|{|^W;evSYD From 9cd3fbeda67639ecffbb5de70b858e51dc2f89e5 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sun, 10 Jun 2018 11:01:36 +0200 Subject: [PATCH 0806/1161] Figure equality-based tests. Implement a `check_figures_equal` decorator, which allows tests where both the reference and the test image are generated. The idea is to allow tests of the form "this feature should be equivalent to that (usually more complex) way of achieving the same thing" without further bloating the test image directory. The saved images are properly created in the `result_images` folder, but cannot be "accepted" or "rejected" using the triage_tests UI (as there is indeed no reference image to be saved in the repo). Includes an example use case. --- lib/matplotlib/testing/decorators.py | 40 ++++++++++++++++++++++++++++ lib/matplotlib/tests/test_axes.py | 19 +++++-------- tools/triage_tests.py | 36 ++++++++++++++++--------- 3 files changed, 70 insertions(+), 25 deletions(-) diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py index 97fcf23a4cb7..85b8d5e87d6b 100644 --- a/lib/matplotlib/testing/decorators.py +++ b/lib/matplotlib/testing/decorators.py @@ -407,6 +407,46 @@ def image_comparison(baseline_images, extensions=None, tol=0, savefig_kwargs=savefig_kwarg, style=style) +def check_figures_equal(*, extensions=("png", "pdf", "svg"), tol=0): + """ + Decorator for test cases that generate and compare two figures. + + The decorated function must take two arguments, *fig_test* and *fig_ref*, + and draw the test and reference images on them. After the function + returns, the figures are saved and compared. + + Arguments + --------- + extensions : list, default: ["png", "pdf", "svg"] + The extensions to test. + tol : float + The RMS threshold above which the test is considered failed. + """ + + def decorator(func): + import pytest + + _, result_dir = map(Path, _image_directories(func)) + + @pytest.mark.parametrize("ext", extensions) + def wrapper(ext): + fig_test = plt.figure("test") + fig_ref = plt.figure("reference") + func(fig_test, fig_ref) + test_image_path = str( + result_dir / (func.__name__ + "." + ext)) + ref_image_path = str( + result_dir / (func.__name__ + "-expected." + ext)) + fig_test.savefig(test_image_path) + fig_ref.savefig(ref_image_path) + _raise_on_image_difference( + ref_image_path, test_image_path, tol=tol) + + return wrapper + + return decorator + + def _image_directories(func): """ Compute the baseline and result image directories for testing *func*. diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index 83a3973f032c..fda0fe0f362b 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -14,7 +14,7 @@ import warnings import matplotlib -from matplotlib.testing.decorators import image_comparison +from matplotlib.testing.decorators import image_comparison, check_figures_equal import matplotlib.pyplot as plt import matplotlib.markers as mmarkers import matplotlib.patches as mpatches @@ -5702,18 +5702,11 @@ def test_plot_columns_cycle_deprecation(): plt.plot(np.zeros((2, 2)), np.zeros((2, 3))) -def test_markerfacecolor_none_alpha(): - fig1, ax1 = plt.subplots() - ax1.plot(0, "o", mfc="none", alpha=.5) - buf1 = io.BytesIO() - fig1.savefig(buf1) - - fig2, ax2 = plt.subplots() - ax2.plot(0, "o", mfc="w", alpha=.5) - buf2 = io.BytesIO() - fig2.savefig(buf2) - - assert buf1.getvalue() == buf2.getvalue() +# pdf and svg tests fail using travis' old versions of gs and inkscape. +@check_figures_equal(extensions=["png"]) +def test_markerfacecolor_none_alpha(fig_test, fig_ref): + fig_test.subplots().plot(0, "o", mfc="none", alpha=.5) + fig_ref.subplots().plot(0, "o", mfc="w", alpha=.5) def test_tick_padding_tightbbox(): diff --git a/tools/triage_tests.py b/tools/triage_tests.py index c8c60f8142b2..cac1bc38b660 100644 --- a/tools/triage_tests.py +++ b/tools/triage_tests.py @@ -192,14 +192,22 @@ def set_large_image(self, index): self.thumbnails[self.current_thumbnail].setFrameShape(1) def accept_test(self): - self.entries[self.current_entry].accept() + entry = self.entries[self.current_entry] + if entry.status == 'autogen': + print('Cannot accept autogenerated test cases.') + return + entry.accept() self.filelist.currentItem().setText( self.entries[self.current_entry].display) # Auto-move to the next entry self.set_entry(min((self.current_entry + 1), len(self.entries) - 1)) def reject_test(self): - self.entries[self.current_entry].reject() + entry = self.entries[self.current_entry] + if entry.status == 'autogen': + print('Cannot reject autogenerated test cases.') + return + entry.reject() self.filelist.currentItem().setText( self.entries[self.current_entry].display) # Auto-move to the next entry @@ -261,11 +269,14 @@ def __init__(self, path, root, source): ] self.thumbnails = [os.path.join(self.dir, x) for x in self.thumbnails] - self.status = 'unknown' - - if self.same(os.path.join(self.dir, self.generated), + if not Path(self.destdir, self.generated).exists(): + # This case arises from a check_figures_equal test. + self.status = 'autogen' + elif self.same(os.path.join(self.dir, self.generated), os.path.join(self.destdir, self.generated)): self.status = 'accept' + else: + self.status = 'unknown' def same(self, a, b): """ @@ -297,16 +308,18 @@ def display(self): Get the display string for this entry. This is the text that appears in the list widget. """ - status_map = {'unknown': '\N{BALLOT BOX}', - 'accept': '\N{BALLOT BOX WITH CHECK}', - 'reject': '\N{BALLOT BOX WITH X}'} + status_map = { + 'unknown': '\N{BALLOT BOX}', + 'accept': '\N{BALLOT BOX WITH CHECK}', + 'reject': '\N{BALLOT BOX WITH X}', + 'autogen': '\N{WHITE SQUARE CONTAINING BLACK SMALL SQUARE}', + } box = status_map[self.status] return '{} {} [{}]'.format(box, self.name, self.extension) def accept(self): """ - Accept this test by copying the generated result to the - source tree. + Accept this test by copying the generated result to the source tree. """ a = os.path.join(self.dir, self.generated) b = os.path.join(self.destdir, self.generated) @@ -315,8 +328,7 @@ def accept(self): def reject(self): """ - Reject this test by copying the expected result to the - source tree. + Reject this test by copying the expected result to the source tree. """ a = os.path.join(self.dir, self.expected) b = os.path.join(self.destdir, self.generated) From 999d69daa301bac388a4f7e9998899db7d302ab3 Mon Sep 17 00:00:00 2001 From: fredrik-1 <sandquist.fredrik@gmail.com> Date: Wed, 20 Jun 2018 10:43:48 +0200 Subject: [PATCH 0807/1161] changed text alias --- lib/matplotlib/artist.py | 2 +- lib/matplotlib/text.py | 46 ++++++++++++++++++++++------------------ 2 files changed, 26 insertions(+), 22 deletions(-) diff --git a/lib/matplotlib/artist.py b/lib/matplotlib/artist.py index c3a536c3560f..b0469e872705 100644 --- a/lib/matplotlib/artist.py +++ b/lib/matplotlib/artist.py @@ -1098,7 +1098,7 @@ def get_aliases(self): if not self.is_alias(func): continue docstring = func.__doc__ - fullname = docstring[10:] + fullname = docstring.replace('`', '')[10:] aliases.setdefault(fullname[4:], {})[name[4:]] = None return aliases diff --git a/lib/matplotlib/text.py b/lib/matplotlib/text.py index bc78acc40cb4..3a64c135b851 100644 --- a/lib/matplotlib/text.py +++ b/lib/matplotlib/text.py @@ -107,17 +107,17 @@ def _get_textbox(text, renderer): @cbook._define_aliases({ - "family": ["fontfamily"], + "fontfamily": ["family"], "fontproperties": ["font_properties"], "horizontalalignment": ["ha"], "multialignment": ["ma"], - "name": ["fontname"], - "size": ["fontsize"], - "stretch": ["fontstretch"], - "style": ["fontstyle"], - "variant": ["fontvariant"], + "fontname": ["name"], + "fontsize": ["size"], + "fontstretch": ["stretch"], + "fontstyle": ["style"], + "fontvariant": ["variant"], "verticalalignment": ["va"], - "weight": ["fontweight"], + "fontweight": ["weight"], }) class Text(Artist): """Handle storing and drawing of text in window or data coordinates.""" @@ -764,27 +764,27 @@ def get_fontproperties(self): "Return the :class:`~font_manager.FontProperties` object" return self._fontproperties - def get_family(self): + def get_fontfamily(self): "Return the list of font families used for font lookup" return self._fontproperties.get_family() - def get_name(self): + def get_fontname(self): "Return the font name as string" return self._fontproperties.get_name() - def get_style(self): + def get_fontstyle(self): "Return the font style as string" return self._fontproperties.get_style() - def get_size(self): + def get_fontsize(self): "Return the font size as integer" return self._fontproperties.get_size_in_points() - def get_variant(self): + def get_fontvariant(self): "Return the font variant as a string" return self._fontproperties.get_variant() - def get_weight(self): + def get_fontweight(self): "Get the font weight as string or number" return self._fontproperties.get_weight() @@ -957,7 +957,7 @@ def set_linespacing(self, spacing): self._linespacing = spacing self.stale = True - def set_family(self, fontname): + def set_fontfamily(self, fontname): """ Set the font family. May be either a single string, or a list of strings in decreasing priority. Each string may be either a real font @@ -970,7 +970,7 @@ def set_family(self, fontname): self._fontproperties.set_family(fontname) self.stale = True - def set_variant(self, variant): + def set_fontvariant(self, variant): """ Set the font variant, either 'normal' or 'small-caps'. @@ -979,7 +979,7 @@ def set_variant(self, variant): self._fontproperties.set_variant(variant) self.stale = True - def set_style(self, fontstyle): + def set_fontstyle(self, fontstyle): """ Set the font style. @@ -988,7 +988,7 @@ def set_style(self, fontstyle): self._fontproperties.set_style(fontstyle) self.stale = True - def set_size(self, fontsize): + def set_fontsize(self, fontsize): """ Set the font size. May be either a size string, relative to the default font size, or an absolute font size in points. @@ -999,7 +999,7 @@ def set_size(self, fontsize): self._fontproperties.set_size(fontsize) self.stale = True - def set_weight(self, weight): + def set_fontweight(self, weight): """ Set the font weight. @@ -1011,7 +1011,7 @@ def set_weight(self, weight): self._fontproperties.set_weight(weight) self.stale = True - def set_stretch(self, stretch): + def set_fontstretch(self, stretch): """ Set the font stretch (horizontal condensation or expansion). @@ -1152,8 +1152,12 @@ def get_usetex(self): else: return self._usetex - def set_name(self, fontname): # One-way alias only: the getter differs. - """alias for set_family""" + def set_fontname(self, fontname): + """ + alias for set_family + + One-way alias only: the getter differs. + """ return self.set_family(fontname) From bb46650d353757bed4d6dfcf54d1c42999a28e79 Mon Sep 17 00:00:00 2001 From: ImportanceOfBeingErnest <elch.rz@ruetz-online.de> Date: Wed, 20 Jun 2018 14:06:57 +0200 Subject: [PATCH 0808/1161] Doc: beautify usetex demo example --- .../usetex_demo.py | 84 ++++++++----------- 1 file changed, 37 insertions(+), 47 deletions(-) diff --git a/examples/text_labels_and_annotations/usetex_demo.py b/examples/text_labels_and_annotations/usetex_demo.py index 86d4587c6dc4..390ddea6c646 100644 --- a/examples/text_labels_and_annotations/usetex_demo.py +++ b/examples/text_labels_and_annotations/usetex_demo.py @@ -3,77 +3,67 @@ Usetex Demo =========== +Shows how to use latex in a plot. + +Also refer to the :doc:`/tutorials/text/usetex` guide. """ -import matplotlib -matplotlib.rc('text', usetex=True) -import matplotlib.pyplot as plt + import numpy as np +import matplotlib.pyplot as plt +plt.rc('text', usetex=True) # interface tracking profiles N = 500 delta = 0.6 X = np.linspace(-1, 1, N) plt.plot(X, (1 - np.tanh(4 * X / delta)) / 2, # phase field tanh profiles - X, (X + 1) / 2, # level set distance function - X, (1.4 + np.tanh(4 * X / delta)) / 4, # composition profile + X, (1.4 + np.tanh(4 * X / delta)) / 4, "C2", # composition profile X, X < 0, 'k--') # sharp interface # legend -plt.legend(('phase field', 'level set', 'composition', 'sharp interface'), - shadow=True, loc=(0.01, 0.55)) - -ltext = plt.gca().get_legend().get_texts() -plt.setp(ltext[0], fontsize=20) -plt.setp(ltext[1], fontsize=20) -plt.setp(ltext[2], fontsize=20) -plt.setp(ltext[3], fontsize=20) +plt.legend(('phase field', 'level set', 'sharp interface'), + shadow=True, loc=(0.01, 0.48), handlelength=1.5, fontsize=16) # the arrow -height = 0.1 -offset = 0.02 -plt.plot((-delta / 2., delta / 2), (height, height), 'k', linewidth=2) -plt.plot((-delta / 2, -delta / 2 + offset * 2), (height, height - offset), - 'k', linewidth=2) -plt.plot((-delta / 2, -delta / 2 + offset * 2), (height, height + offset), - 'k', linewidth=2) -plt.plot((delta / 2, delta / 2 - offset * 2), (height, height - offset), - 'k', linewidth=2) -plt.plot((delta / 2, delta / 2 - offset * 2), (height, height + offset), - 'k', linewidth=2) -plt.text(-0.06, height - 0.06, r'$\delta$', {'color': 'k', 'fontsize': 24}) +plt.annotate("", xy=(-delta / 2., 0.1), xycoords='data', + xytext=(delta / 2., 0.1), textcoords='data', + arrowprops=dict(arrowstyle="<->", connectionstyle="arc3")) +plt.text(0, 0.1, r'$\delta$', + {'color': 'k', 'fontsize': 24, 'ha' : 'center', 'va' : 'center', + 'bbox' : dict(boxstyle="round", fc="w", ec="k", pad=0.2)}) -# X-axis label -plt.xticks((-1, 0, 1), ('-1', '0', '1'), color='k', size=20) +# Use tex in labels +plt.xticks((-1, 0, 1), ('$-1$', r'$\pm 0$', '$+1$'), color='k', size=20) -# Left Y-axis labels -plt.ylabel(r'\bf{phase field} $\phi$', {'color': 'b', 'fontsize': 20}) -plt.yticks((0, 0.5, 1), ('0', '.5', '1'), color='k', size=20) +# Left Y-axis labels, combine math mode and text mode +plt.ylabel(r'\bf{phase field} $\phi$', {'color': 'C0', 'fontsize': 20}) +plt.yticks((0, 0.5, 1), (r'\bf{0}', r'\bf{.5}', r'\bf{1}'), color='k', size=20) # Right Y-axis labels -plt.text(1.05, 0.5, r"\bf{level set} $\phi$", {'color': 'g', 'fontsize': 20}, +plt.text(1.02, 0.5, r"\bf{level set} $\phi$", {'color': 'C2', 'fontsize': 20}, horizontalalignment='left', verticalalignment='center', rotation=90, - clip_on=False) -plt.text(1.01, -0.02, "-1", {'color': 'k', 'fontsize': 20}) -plt.text(1.01, 0.98, "1", {'color': 'k', 'fontsize': 20}) -plt.text(1.01, 0.48, "0", {'color': 'k', 'fontsize': 20}) + clip_on=False, + transform=plt.gca().transAxes) +# Use multiline environment inside a `text`. # level set equations -plt.text(0.1, 0.85, - r'$|\nabla\phi| = 1,$ \newline $ \frac{\partial \phi}{\partial t}' - r'+ U|\nabla \phi| = 0$', - {'color': 'g', 'fontsize': 20}) +eq1 = r"\begin{eqnarray*}" + \ + r"|\nabla\phi| &=& 1,\\" + \ + r"\frac{\partial \phi}{\partial t} + U|\nabla \phi| &=& 0 " + \ + r"\end{eqnarray*}" +plt.text(1, 0.9, eq1, {'color': 'C2', 'fontsize': 18}, va="top", ha="right") # phase field equations -plt.text(0.2, 0.15, - r'$\mathcal{F} = \int f\left( \phi, c \right) dV,$ \newline ' - r'$ \frac{ \partial \phi } { \partial t } = -M_{ \phi } ' - r'\frac{ \delta \mathcal{F} } { \delta \phi }$', - {'color': 'b', 'fontsize': 20}) +eq2 = r'\begin{eqnarray*}' + \ + r'\mathcal{F} &=& \int f\left( \phi, c \right) dV, \\ ' + \ + r'\frac{ \partial \phi } { \partial t } &=& -M_{ \phi } ' + \ + r'\frac{ \delta \mathcal{F} } { \delta \phi }' + \ + r'\end{eqnarray*}' +plt.text(0.18, 0.18, eq2, {'color': 'C0', 'fontsize': 16}) -# these went wrong in pdf in a previous version -plt.text(-.9, .42, r'gamma: $\gamma$', {'color': 'r', 'fontsize': 20}) -plt.text(-.9, .36, r'Omega: $\Omega$', {'color': 'b', 'fontsize': 20}) +plt.text(-1, .30, r'gamma: $\gamma$', {'color': 'r', 'fontsize': 20}) +plt.text(-1, .18, r'Omega: $\Omega$', {'color': 'b', 'fontsize': 20}) plt.show() From 0c1b027522e946a2e08ccbee30ed875acc5e8d55 Mon Sep 17 00:00:00 2001 From: Paramonov Andrey <Paramonov Andrey> Date: Wed, 20 Jun 2018 23:58:51 +0300 Subject: [PATCH 0809/1161] Fix tests --- lib/matplotlib/colors.py | 1 + lib/matplotlib/tests/test_colors.py | 17 ++++++++++------- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/lib/matplotlib/colors.py b/lib/matplotlib/colors.py index c3c779b38266..03d3856a0b9b 100644 --- a/lib/matplotlib/colors.py +++ b/lib/matplotlib/colors.py @@ -1202,6 +1202,7 @@ def __call__(self, value, clip=None): mask=mask) resdat = result.data resdat -= vmin + resdat[resdat < 0] = 0 np.power(resdat, gamma, resdat) resdat /= (vmax - vmin) ** gamma diff --git a/lib/matplotlib/tests/test_colors.py b/lib/matplotlib/tests/test_colors.py index 3b507e8fbd21..90b11866fdc7 100644 --- a/lib/matplotlib/tests/test_colors.py +++ b/lib/matplotlib/tests/test_colors.py @@ -192,6 +192,15 @@ def test_PowerNorm(): assert pnorm(a[-1], clip=True) == expected[-1] +def test_PowerNorm_translation_invariance(): + a = np.array([0, 1/2, 1], dtype=float) + expected = [0, 1/8, 1] + pnorm = mcolors.PowerNorm(vmin=0, vmax=1, gamma=3) + assert_array_almost_equal(pnorm(a), expected) + pnorm = mcolors.PowerNorm(vmin=-2, vmax=-1, gamma=3) + assert_array_almost_equal(pnorm(a - 2), expected) + + def test_Normalize(): norm = mcolors.Normalize() vals = np.arange(-10, 10, 1, dtype=float) @@ -711,13 +720,7 @@ def __add__(self, other): mcolors.SymLogNorm(3, vmax=5, linscale=1), mcolors.PowerNorm(1)]: assert_array_equal(norm(data.view(MyArray)), norm(data)) - if isinstance(norm, mcolors.PowerNorm): - assert len(recwarn) == 1 - warn = recwarn.pop(UserWarning) - assert ('Power-law scaling on negative values is ill-defined' - in str(warn.message)) - else: - assert len(recwarn) == 0 + assert len(recwarn) == 0 recwarn.clear() From 1af7495e8d2b9e053a84cad79b9c84dde454f73b Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sat, 16 Jun 2018 19:13:21 +0200 Subject: [PATCH 0810/1161] Link rcParams role to docs --- doc/_static/mpl.css | 8 ++++---- doc/sphinxext/custom_roles.py | 9 ++++++++- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/doc/_static/mpl.css b/doc/_static/mpl.css index 9ffe1335fce5..93a7f84518f9 100644 --- a/doc/_static/mpl.css +++ b/doc/_static/mpl.css @@ -23,6 +23,10 @@ a { text-decoration: none; } +a:hover { + color: #2491CF; +} + div.highlight-python a { color: #CA7900; } @@ -35,10 +39,6 @@ strong { font-weight: strong; } -a:hover { - color: #2491CF; -} - pre { font-family: Monaco, Menlo, Consolas, 'Courier New', monospace; font-size: 0.90em; diff --git a/doc/sphinxext/custom_roles.py b/doc/sphinxext/custom_roles.py index 67492c0d5ac7..8e9ddea9fa46 100644 --- a/doc/sphinxext/custom_roles.py +++ b/doc/sphinxext/custom_roles.py @@ -3,7 +3,14 @@ def rcparam_role(name, rawtext, text, lineno, inliner, options={}, content=[]): rendered = nodes.Text('rcParams["{}"]'.format(text)) - return [nodes.literal(rawtext, rendered)], [] + + rel_source = inliner.document.attributes['source'].split('/doc/', 1)[1] + levels = rel_source.count('/') + refuri = ('../' * levels + + 'tutorials/introductory/customizing.html#matplotlib-rcparams') + + ref = nodes.reference(rawtext, rendered, refuri=refuri) + return [nodes.literal('', '', ref)], [] def setup(app): From d6797ffc1ba86f357a0256222cbe35f85be679f3 Mon Sep 17 00:00:00 2001 From: Katrin Leinweber <9948149+katrinleinweber@users.noreply.github.com> Date: Thu, 21 Jun 2018 07:14:08 +0200 Subject: [PATCH 0811/1161] Hyperlink DOIs against preferred resolver --- doc/citing.rst | 2 +- doc/faq/howto_faq.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/citing.rst b/doc/citing.rst index d22673c53503..682e05b973d2 100644 --- a/doc/citing.rst +++ b/doc/citing.rst @@ -5,7 +5,7 @@ Citing Matplotlib If Matplotlib contributes to a project that leads to a scientific publication, please acknowledge this fact by citing `Hunter et al (2007) -<http://doi.org/10.1109/MCSE.2007.55>`_ using this ready-made BibTeX entry: +<https://doi.org/10.1109/MCSE.2007.55>`_ using this ready-made BibTeX entry: .. code-block:: bibtex diff --git a/doc/faq/howto_faq.rst b/doc/faq/howto_faq.rst index 83cff0830b39..f1ddfe8bd8e5 100644 --- a/doc/faq/howto_faq.rst +++ b/doc/faq/howto_faq.rst @@ -744,7 +744,7 @@ Cite Matplotlib If you want to refer to Matplotlib in a publication, you can use "Matplotlib: A 2D Graphics Environment" by J. D. Hunter In Computing in Science & Engineering, Vol. 9, No. 3. (2007), pp. 90-95 (see `this -reference page <http://dx.doi.org/10.1109/MCSE.2007.55>`_):: +reference page <https://doi.org/10.1109/MCSE.2007.55>`_):: @article{Hunter:2007, Address = {10662 LOS VAQUEROS CIRCLE, PO BOX 3014, LOS ALAMITOS, CA 90720-1314 USA}, From c76a337d74f57ef91a84ec28beca4b23e55e968d Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Fri, 22 Jun 2018 02:50:08 +0200 Subject: [PATCH 0812/1161] remove-pylab-references --- examples/user_interfaces/pylab_with_gtk_sgskip.py | 8 ++++---- lib/matplotlib/__init__.py | 4 ++-- lib/matplotlib/backends/backend_template.py | 6 +++--- lib/matplotlib/figure.py | 2 +- lib/matplotlib/mlab.py | 14 +++++++------- lib/matplotlib/pyplot.py | 2 +- lib/matplotlib/quiver.py | 4 ++-- lib/matplotlib/widgets.py | 15 +++++---------- lib/mpl_toolkits/axes_grid1/colorbar.py | 4 ++-- setup.py | 3 +-- 10 files changed, 28 insertions(+), 34 deletions(-) diff --git a/examples/user_interfaces/pylab_with_gtk_sgskip.py b/examples/user_interfaces/pylab_with_gtk_sgskip.py index 4308107afc76..093105f1bd46 100644 --- a/examples/user_interfaces/pylab_with_gtk_sgskip.py +++ b/examples/user_interfaces/pylab_with_gtk_sgskip.py @@ -1,9 +1,9 @@ """ -============== -Pylab With GTK -============== +=============== +Pyplot With GTK +=============== -An example of how to use pylab to manage your figure windows, but +An example of how to use pyplot to manage your figure windows, but modify the GUI by accessing the underlying gtk widgets """ import matplotlib diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 6820021537a8..2e4ee4edb393 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -28,7 +28,7 @@ Modules include: :mod:`matplotlib.axes` - defines the :class:`~matplotlib.axes.Axes` class. Most pylab + defines the :class:`~matplotlib.axes.Axes` class. Most pyplot commands are wrappers for :class:`~matplotlib.axes.Axes` methods. The axes module is the highest level of OO access to the library. @@ -90,7 +90,7 @@ a function for setting the matplotlib backend. If used, this function must be called immediately after importing matplotlib for the first time. In particular, it must be called - **before** importing pylab (if pylab is imported). + **before** importing pyplot (if pyplot is imported). matplotlib was initially written by John D. Hunter (1968-2012) and is now developed and maintained by a host of others. diff --git a/lib/matplotlib/backends/backend_template.py b/lib/matplotlib/backends/backend_template.py index 384a69850230..65a782a66089 100644 --- a/lib/matplotlib/backends/backend_template.py +++ b/lib/matplotlib/backends/backend_template.py @@ -21,8 +21,8 @@ import matplotlib matplotlib.use('xxx') - from pylab import * - plot([1,2,3]) + import matplotlib.pyplot as plt + plt.plot([1,2,3]) show() matplotlib also supports external backends, so you can place you can @@ -175,7 +175,7 @@ def draw_if_interactive(): def show(block=None): """ For image backends - is not required - For GUI backends - show() is usually the last line of a pylab script and + For GUI backends - show() is usually the last line of a pyplot script and tells the backend that it is time to draw. In interactive mode, this may be a do nothing func. See the GTK backend for an example of how to handle interactive versus batch mode diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index 134e727fef97..8403ccf15a68 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -1892,7 +1892,7 @@ def colorbar(self, mappable, cax=None, ax=None, use_gridspec=True, **kw): """ Create a colorbar for a ScalarMappable instance, *mappable*. - Documentation for the pylab thin wrapper: + Documentation for the pyplot thin wrapper: %(colorbar_doc)s """ if ax is None: diff --git a/lib/matplotlib/mlab.py b/lib/matplotlib/mlab.py index cbb479ab359a..f857cc79fcc5 100644 --- a/lib/matplotlib/mlab.py +++ b/lib/matplotlib/mlab.py @@ -841,15 +841,15 @@ def _single_spectrum_helper(x, mode, Fs=None, window=None, pad_to=None, The function applied to each segment before fft-ing, designed to remove the mean or linear trend. Unlike in MATLAB, where the *detrend* parameter is a vector, in - matplotlib is it a function. The :mod:`~matplotlib.pylab` - module defines :func:`~matplotlib.pylab.detrend_none`, - :func:`~matplotlib.pylab.detrend_mean`, and - :func:`~matplotlib.pylab.detrend_linear`, but you can use + matplotlib is it a function. The :mod:`~matplotlib.mlab` + module defines :func:`~matplotlib.mlab.detrend_none`, + :func:`~matplotlib.mlab.detrend_mean`, and + :func:`~matplotlib.mlab.detrend_linear`, but you can use a custom function as well. You can also use a string to choose one of the functions. 'default', 'constant', and 'mean' call - :func:`~matplotlib.pylab.detrend_mean`. 'linear' calls - :func:`~matplotlib.pylab.detrend_linear`. 'none' calls - :func:`~matplotlib.pylab.detrend_none`. + :func:`~matplotlib.mlab.detrend_mean`. 'linear' calls + :func:`~matplotlib.mlab.detrend_linear`. 'none' calls + :func:`~matplotlib.mlab.detrend_none`. scale_by_freq : bool, optional Specifies whether the resulting density values should be scaled diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index 58df65f89ce6..b8fa2065d17b 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -2117,7 +2117,7 @@ def plotfile(fname, cols=(0,), plotfuncs=None, columns. *comments*, *skiprows*, *checkrows*, *delimiter*, and *names* - are all passed on to :func:`matplotlib.pylab.csv2rec` to + are all passed on to :func:`matplotlib.mlab.csv2rec` to load the data into a record array. If *newfig* is *True*, the plot always will be made in a new figure; diff --git a/lib/matplotlib/quiver.py b/lib/matplotlib/quiver.py index 65a34c0874cb..cc295a2a79b9 100644 --- a/lib/matplotlib/quiver.py +++ b/lib/matplotlib/quiver.py @@ -439,7 +439,7 @@ def __init__(self, ax, *args, """ The constructor takes one required argument, an Axes instance, followed by the args and kwargs described - by the following pylab interface documentation: + by the following pyplot interface documentation: %s """ self.ax = ax @@ -912,7 +912,7 @@ def __init__(self, ax, *args, """ The constructor takes one required argument, an Axes instance, followed by the args and kwargs described - by the following pylab interface documentation: + by the following pyplot interface documentation: %(barbs_doc)s """ self.sizes = sizes or dict() diff --git a/lib/matplotlib/widgets.py b/lib/matplotlib/widgets.py index 72ed42237b03..d78ee8f5e080 100644 --- a/lib/matplotlib/widgets.py +++ b/lib/matplotlib/widgets.py @@ -1332,18 +1332,13 @@ class MultiCursor(Widget): Example usage:: from matplotlib.widgets import MultiCursor - from pylab import figure, show, np + import matplotlib.pyplot as plt + import numpy as np + fig, (ax1, ax2) = plt.subplots(nrows=2, sharex=True) t = np.arange(0.0, 2.0, 0.01) - s1 = np.sin(2*np.pi*t) - s2 = np.sin(4*np.pi*t) - fig = figure() - ax1 = fig.add_subplot(211) - ax1.plot(t, s1) - - - ax2 = fig.add_subplot(212, sharex=ax1) - ax2.plot(t, s2) + ax1.plot(t, np.sin(2*np.pi*t)) + ax2.plot(t, np.sin(4*np.pi*t)) multi = MultiCursor(fig.canvas, (ax1, ax2), color='r', lw=1, horizOn=False, vertOn=True) diff --git a/lib/mpl_toolkits/axes_grid1/colorbar.py b/lib/mpl_toolkits/axes_grid1/colorbar.py index 6b33b57ad6d6..8683cca7c54c 100644 --- a/lib/mpl_toolkits/axes_grid1/colorbar.py +++ b/lib/mpl_toolkits/axes_grid1/colorbar.py @@ -295,7 +295,7 @@ class ColorbarBase(cm.ScalarMappable): Draw a colorbar in an existing axes. This is a base class for the :class:`Colorbar` class, which is the - basis for the :func:`~matplotlib.pyplot.colorbar` method and pylab + basis for the :func:`~matplotlib.pyplot.colorbar` method and pyplot function. It is also useful by itself for showing a colormap. If the *cmap* @@ -799,7 +799,7 @@ def colorbar(mappable, cax=None, ax=None, **kw): """ Create a colorbar for a ScalarMappable instance. - Documentation for the pylab thin wrapper: + Documentation for the pyplot thin wrapper: %s """ diff --git a/setup.py b/setup.py index 0f21795ff23b..7d23246f8647 100644 --- a/setup.py +++ b/setup.py @@ -255,8 +255,7 @@ def run(self): Matplotlib strives to produce publication quality 2D graphics for interactive graphing, scientific publishing, user interface development and web application servers targeting multiple user - interfaces and hardcopy output formats. There is a 'pylab' mode - which emulates MATLAB graphics. + interfaces and hardcopy output formats. """, license="BSD", packages=packages, From c46bdb2313475c77bd47bc41530763253fb45a6d Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Fri, 22 Jun 2018 12:26:54 +0200 Subject: [PATCH 0813/1161] Make a travis pip install file --- .travis.yml | 5 +---- requirements/testing/travis_all.txt | 4 ++++ 2 files changed, 5 insertions(+), 4 deletions(-) create mode 100644 requirements/testing/travis_all.txt diff --git a/.travis.yml b/.travis.yml index 855a850329b7..67073d0cb9cd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -145,19 +145,16 @@ install: python -mpip install --upgrade pip setuptools wheel - | # Install dependencies from PyPI. + python -mpip install --upgrade $PRE -r requirements/testing/travis_all.txt python -mpip install --upgrade $PRE \ - codecov \ - coverage \ $CYCLER \ $DATEUTIL \ $NOSE \ $NUMPY \ $PANDAS \ $JUPYTER \ - pillow \ $PYPARSING \ $SPHINX \ - tornado # GUI toolkits are pip-installable only for some versions of Python so # don't fail if we can't install them. Make it easier to check whether the # install was successful by trying to import the toolkit (sometimes, the diff --git a/requirements/testing/travis_all.txt b/requirements/testing/travis_all.txt new file mode 100644 index 000000000000..addec799b0a6 --- /dev/null +++ b/requirements/testing/travis_all.txt @@ -0,0 +1,4 @@ +codecov +coverage +pillow +tornado From c971b92be8daf1d2582c3803215095bf5adb0c70 Mon Sep 17 00:00:00 2001 From: y1thof <tim.hoffmann@zeiss.com> Date: Fri, 22 Jun 2018 09:26:56 +0200 Subject: [PATCH 0814/1161] remove more pylab references --- lib/matplotlib/backends/backend_template.py | 2 +- lib/matplotlib/mlab.py | 14 +++-- lib/matplotlib/widgets.py | 64 ++++++++++----------- tutorials/intermediate/artists.py | 8 +-- tutorials/introductory/usage.py | 3 +- 5 files changed, 47 insertions(+), 44 deletions(-) diff --git a/lib/matplotlib/backends/backend_template.py b/lib/matplotlib/backends/backend_template.py index 65a782a66089..1702c9fe85bb 100644 --- a/lib/matplotlib/backends/backend_template.py +++ b/lib/matplotlib/backends/backend_template.py @@ -23,7 +23,7 @@ matplotlib.use('xxx') import matplotlib.pyplot as plt plt.plot([1,2,3]) - show() + plt.show() matplotlib also supports external backends, so you can place you can use any module in your PYTHONPATH with the syntax:: diff --git a/lib/matplotlib/mlab.py b/lib/matplotlib/mlab.py index f857cc79fcc5..1cc3b434d2ee 100644 --- a/lib/matplotlib/mlab.py +++ b/lib/matplotlib/mlab.py @@ -4000,13 +4000,15 @@ def offset_line(y, yerr): * A tuple of length 2. In this case, yerr[0] is the error below *y* and yerr[1] is error above *y*. For example:: - from pylab import * - x = linspace(0, 2*pi, num=100, endpoint=True) - y = sin(x) + import numpy as np + import matplotlib.pyplot as plt + + x = np.linspace(0, 2*np.pi, num=100, endpoint=True) + y = np.sin(x) y_minus, y_plus = mlab.offset_line(y, 0.1) - plot(x, y) - fill_between(x, ym, y2=yp) - show() + plt.plot(x, y) + plt.fill_between(x, y_minus, y2=y_plus) + plt.show() """ if cbook.is_numlike(yerr) or (cbook.iterable(yerr) and diff --git a/lib/matplotlib/widgets.py b/lib/matplotlib/widgets.py index d78ee8f5e080..bd9c58c50625 100644 --- a/lib/matplotlib/widgets.py +++ b/lib/matplotlib/widgets.py @@ -1342,7 +1342,7 @@ class MultiCursor(Widget): multi = MultiCursor(fig.canvas, (ax1, ax2), color='r', lw=1, horizOn=False, vertOn=True) - show() + plt.show() """ def __init__(self, canvas, axes, useblit=True, horizOn=False, vertOn=True, @@ -1954,33 +1954,33 @@ class RectangleSelector(_SelectorWidget): Example usage:: - from matplotlib.widgets import RectangleSelector - from pylab import * + import numpy as np + import matplotlib.pyplot as plt + from matplotlib.widgets import RectangleSelector def onselect(eclick, erelease): - 'eclick and erelease are matplotlib events at press and release' - print(' startposition : (%f, %f)' % (eclick.xdata, eclick.ydata)) - print(' endposition : (%f, %f)' % (erelease.xdata, erelease.ydata)) - print(' used button : ', eclick.button) + "eclick and erelease are matplotlib events at press and release." + print('startposition: (%f, %f)' % (eclick.xdata, eclick.ydata)) + print('endposition : (%f, %f)' % (erelease.xdata, erelease.ydata)) + print('used button : ', eclick.button) def toggle_selector(event): - print(' Key pressed.') + print('Key pressed.') if event.key in ['Q', 'q'] and toggle_selector.RS.active: - print(' RectangleSelector deactivated.') + print('RectangleSelector deactivated.') toggle_selector.RS.set_active(False) if event.key in ['A', 'a'] and not toggle_selector.RS.active: - print(' RectangleSelector activated.') + print('RectangleSelector activated.') toggle_selector.RS.set_active(True) - x = arange(100)/(99.0) - y = sin(x) - fig = figure - ax = subplot(111) - ax.plot(x,y) + x = np.arange(100.) / 99 + y = np.sin(x) + fig, ax = plt.subplots() + ax.plot(x, y) toggle_selector.RS = RectangleSelector(ax, onselect, drawtype='line') - connect('key_press_event', toggle_selector) - show() + fig.canvas.connect('key_press_event', toggle_selector) + plt.show() """ _shape_klass = Rectangle @@ -2385,33 +2385,33 @@ class EllipseSelector(RectangleSelector): Example usage:: - from matplotlib.widgets import EllipseSelector - from pylab import * + import numpy as np + import matplotlib.pyplot as plt + from matplotlib.widgets import EllipseSelector def onselect(eclick, erelease): - 'eclick and erelease are matplotlib events at press and release' - print(' startposition : (%f, %f)' % (eclick.xdata, eclick.ydata)) - print(' endposition : (%f, %f)' % (erelease.xdata, erelease.ydata)) - print(' used button : ', eclick.button) + "eclick and erelease are matplotlib events at press and release." + print('startposition: (%f, %f)' % (eclick.xdata, eclick.ydata)) + print('endposition : (%f, %f)' % (erelease.xdata, erelease.ydata)) + print('used button : ', eclick.button) def toggle_selector(event): print(' Key pressed.') if event.key in ['Q', 'q'] and toggle_selector.ES.active: - print(' EllipseSelector deactivated.') + print('EllipseSelector deactivated.') toggle_selector.RS.set_active(False) if event.key in ['A', 'a'] and not toggle_selector.ES.active: - print(' EllipseSelector activated.') + print('EllipseSelector activated.') toggle_selector.ES.set_active(True) - x = arange(100)/(99.0) - y = sin(x) - fig = figure - ax = subplot(111) - ax.plot(x,y) + x = np.arange(100.) / 99 + y = np.sin(x) + fig, ax = plt.subplots() + ax.plot(x, y) toggle_selector.ES = EllipseSelector(ax, onselect, drawtype='line') - connect('key_press_event', toggle_selector) - show() + fig.canvas.connect('key_press_event', toggle_selector) + plt.show() """ _shape_klass = Ellipse diff --git a/tutorials/intermediate/artists.py b/tutorials/intermediate/artists.py index aa5e04418edb..3ee20a910d73 100644 --- a/tutorials/intermediate/artists.py +++ b/tutorials/intermediate/artists.py @@ -218,7 +218,7 @@ class in the matplotlib API, and the one you will be working with most # If you are working interactively at the python shell, a handy way to # inspect the ``Artist`` properties is to use the # :func:`matplotlib.artist.getp` function (simply -# :func:`~matplotlib.pylab.getp` in pylab), which lists the properties +# :func:`~matplotlib.pyplot.getp` in pyplot), which lists the properties # and their values. This works for classes derived from ``Artist`` as # well, e.g., ``Figure`` and ``Rectangle``. Here are the ``Figure`` rectangle # properties mentioned above: @@ -556,9 +556,9 @@ class in the matplotlib API, and the one you will be working with most # the ticks are placed and how they are represented as strings. # # Each ``Axis`` object contains a :attr:`~matplotlib.axis.Axis.label` attribute -# (this is what :mod:`~matplotlib.pylab` modifies in calls to -# :func:`~matplotlib.pylab.xlabel` and :func:`~matplotlib.pylab.ylabel`) as well -# as a list of major and minor ticks. The ticks are +# (this is what :mod:`~matplotlib.pyplot` modifies in calls to +# :func:`~matplotlib.pyplot.xlabel` and :func:`~matplotlib.pyplot.ylabel`) as +# well as a list of major and minor ticks. The ticks are # :class:`~matplotlib.axis.XTick` and :class:`~matplotlib.axis.YTick` instances, # which contain the actual line and text primitives that render the ticks and # ticklabels. Because the ticks are dynamically created as needed (e.g., when diff --git a/tutorials/introductory/usage.py b/tutorials/introductory/usage.py index c1f9a9f0ce7a..43e803855b95 100644 --- a/tutorials/introductory/usage.py +++ b/tutorials/introductory/usage.py @@ -184,7 +184,8 @@ # :mod:`pylab` is a convenience module that bulk imports # :mod:`matplotlib.pyplot` (for plotting) and :mod:`numpy` # (for mathematics and working with arrays) in a single name space. -# Although many examples use :mod:`pylab`, it is no longer recommended. +# pylab is deprecated and its use is strongly discouraged because +# of namespace pollution. Use pyplot instead. # # For non-interactive plotting it is suggested # to use pyplot to create the figures and then the OO interface for From 4a7268ef720b7d9507283e62fcd47c21eb780e8b Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Fri, 22 Jun 2018 14:18:18 +0200 Subject: [PATCH 0815/1161] Try using custom file for 3.5 build --- .travis.yml | 4 ++-- requirements/testing/travis35.txt | 10 ++++++++++ requirements/testing/travis_all.txt | 2 ++ 3 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 requirements/testing/travis35.txt diff --git a/.travis.yml b/.travis.yml index 67073d0cb9cd..a5717d30a585 100644 --- a/.travis.yml +++ b/.travis.yml @@ -49,10 +49,8 @@ env: - secure: E7OCdqhZ+PlwJcn+Hd6ns9TDJgEUXiUNEI0wu7xjxB2vBRRIKtZMbuaZjd+iKDqCKuVOJKu0ClBUYxmgmpLicTwi34CfTUYt6D4uhrU+8hBBOn1iiK51cl/aBvlUUrqaRLVhukNEBGZcyqAjXSA/Qsnp2iELEmAfOUa92ZYo1sk= - secure: dfjNqGKzQG5bu3FnDNwLG8H/C4QoieFo4PfFmZPdM2RY7WIzukwKFNT6kiDfOrpwt+2bR7FhzjOGlDECGtlGOtYPN8XuXGjhcP4a4IfakdbDfF+D3NPIpf5VlE6776k0VpvcZBTMYJKNFIMc7QPkOwjvNJ2aXyfe3hBuGlKJzQU= # Variables controlling Python dependencies. - - CYCLER=cycler - DATEUTIL=python-dateutil - NOSE= - - NUMPY=numpy - PANDAS= - JUPYTER= - PYPARSING=pyparsing @@ -92,6 +90,7 @@ matrix: - PYTEST_COV=pytest-cov==2.3.1 - PYTEST_TIMEOUT=pytest-timeout==1.2.1 # Newer pytest-timeouts don't support pytest 3.4. - SPHINX=sphinx==1.3 + - EXTRAREQS='requirements/testing/travis35.txt' - python: 3.5 env: # - PYTHONOPTIMIZE=2 # This currently doesn't work. @@ -146,6 +145,7 @@ install: - | # Install dependencies from PyPI. python -mpip install --upgrade $PRE -r requirements/testing/travis_all.txt + python -mpip install --upgrade -r $EXTRAREQS python -mpip install --upgrade $PRE \ $CYCLER \ $DATEUTIL \ diff --git a/requirements/testing/travis35.txt b/requirements/testing/travis35.txt new file mode 100644 index 000000000000..293018fac860 --- /dev/null +++ b/requirements/testing/travis35.txt @@ -0,0 +1,10 @@ +cycler==0.10 +python-dateutil==2.1 +nose +numpy==1.10.0 +pandas<0.21.0 +pyparsing==2.0.1 +pytest==3.4 +pytest-cov==2.3.1 +pytest-timeout==1.2.1 +sphinx==1.3 diff --git a/requirements/testing/travis_all.txt b/requirements/testing/travis_all.txt index addec799b0a6..660a56136796 100644 --- a/requirements/testing/travis_all.txt +++ b/requirements/testing/travis_all.txt @@ -1,4 +1,6 @@ codecov coverage +cycler +numpy pillow tornado From 2e98b39459965d17cde88b9db62afceb5234c8ea Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Fri, 22 Jun 2018 14:29:35 +0200 Subject: [PATCH 0816/1161] Convert all environment variables to pip requirements files --- .travis.yml | 46 ++--------------------------- requirements/testing/travis35.txt | 4 ++- requirements/testing/travis36.txt | 5 ++++ requirements/testing/travis_all.txt | 13 ++++++++ 4 files changed, 23 insertions(+), 45 deletions(-) create mode 100644 requirements/testing/travis36.txt diff --git a/.travis.yml b/.travis.yml index a5717d30a585..76caead4030e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -48,19 +48,6 @@ env: - secure: RgJI7BBL8aX5FTOQe7xiXqWHMxWokd6GNUWp1NUV2mRLXPb9dI0RXqZt3UJwKTAzf1z/OtlHDmEkBoTVK81E9iUxK5npwyyjhJ8yTJmwfQtQF2n51Q1Ww9p+XSLORrOzZc7kAo6Kw6FIXN1pfctgYq2bQkrwJPRx/oPR8f6hcbY= - secure: E7OCdqhZ+PlwJcn+Hd6ns9TDJgEUXiUNEI0wu7xjxB2vBRRIKtZMbuaZjd+iKDqCKuVOJKu0ClBUYxmgmpLicTwi34CfTUYt6D4uhrU+8hBBOn1iiK51cl/aBvlUUrqaRLVhukNEBGZcyqAjXSA/Qsnp2iELEmAfOUa92ZYo1sk= - secure: dfjNqGKzQG5bu3FnDNwLG8H/C4QoieFo4PfFmZPdM2RY7WIzukwKFNT6kiDfOrpwt+2bR7FhzjOGlDECGtlGOtYPN8XuXGjhcP4a4IfakdbDfF+D3NPIpf5VlE6776k0VpvcZBTMYJKNFIMc7QPkOwjvNJ2aXyfe3hBuGlKJzQU= - # Variables controlling Python dependencies. - - DATEUTIL=python-dateutil - - NOSE= - - PANDAS= - - JUPYTER= - - PYPARSING=pyparsing - # pytest-timeout master depends on pytest>=3.6. Testing with pytest 3.4 is - # still supported; this is tested by the first matrix entry. - - PYTEST='pytest>=3.6' - - PYTEST_COV=pytest-cov - - PYTEST_PEP8= - - PYTEST_TIMEOUT=pytest-timeout - - SPHINX=sphinx # Variables controlling the build. - MPLLOCALFREETYPE=1 # Variables controlling the test run. @@ -80,16 +67,6 @@ matrix: - python: 3.5 # pytest-cov>=2.3.1 due to https://github.com/pytest-dev/pytest-cov/issues/124. env: - - CYCLER=cycler==0.10 - - DATEUTIL=python-dateutil==2.1 - - NOSE=nose - - NUMPY=numpy==1.10.0 - - PANDAS='pandas<0.21.0' - - PYPARSING=pyparsing==2.0.1 - - PYTEST=pytest==3.4 - - PYTEST_COV=pytest-cov==2.3.1 - - PYTEST_TIMEOUT=pytest-timeout==1.2.1 # Newer pytest-timeouts don't support pytest 3.4. - - SPHINX=sphinx==1.3 - EXTRAREQS='requirements/testing/travis35.txt' - python: 3.5 env: @@ -97,10 +74,8 @@ matrix: - python: 3.6 env: - DELETE_FONT_CACHE=1 - - PANDAS='pandas<0.21.0' - - JUPYTER='jupyter' - - PYTEST_PEP8=pytest-pep8 - PYTEST_ADDOPTS="$PYTEST_ADDOPTS --pep8" + - EXTRAREQS='requirements/testing/travis36.txt' - python: "nightly" env: PRE=--pre - os: osx @@ -145,16 +120,7 @@ install: - | # Install dependencies from PyPI. python -mpip install --upgrade $PRE -r requirements/testing/travis_all.txt - python -mpip install --upgrade -r $EXTRAREQS - python -mpip install --upgrade $PRE \ - $CYCLER \ - $DATEUTIL \ - $NOSE \ - $NUMPY \ - $PANDAS \ - $JUPYTER \ - $PYPARSING \ - $SPHINX \ + python -mpip install --upgrade $PRE -r $EXTRAREQS # GUI toolkits are pip-installable only for some versions of Python so # don't fail if we can't install them. Make it easier to check whether the # install was successful by trying to import the toolkit (sometimes, the @@ -175,14 +141,6 @@ install: echo 'wxPython is available' || echo 'wxPython is not available' - python -mpip install $PRE \ - $PYTEST \ - $PYTEST_COV \ - pytest-faulthandler \ - $PYTEST_PEP8 \ - pytest-rerunfailures \ - $PYTEST_TIMEOUT \ - pytest-xdist - | # Install matplotlib python -mpip install -ve . diff --git a/requirements/testing/travis35.txt b/requirements/testing/travis35.txt index 293018fac860..689c034091ea 100644 --- a/requirements/testing/travis35.txt +++ b/requirements/testing/travis35.txt @@ -1,3 +1,5 @@ +# Extra pip requirements for the first travis python 3.5 build + cycler==0.10 python-dateutil==2.1 nose @@ -6,5 +8,5 @@ pandas<0.21.0 pyparsing==2.0.1 pytest==3.4 pytest-cov==2.3.1 -pytest-timeout==1.2.1 +pytest-timeout==1.2.1 # Newer pytest-timeouts don't support pytest 3.4. sphinx==1.3 diff --git a/requirements/testing/travis36.txt b/requirements/testing/travis36.txt new file mode 100644 index 000000000000..1b8dd3e3ff7b --- /dev/null +++ b/requirements/testing/travis36.txt @@ -0,0 +1,5 @@ +# Extra pip requirements for the travis python 3.6 build + +pandas<0.21.0 +jupyter +pytest-pep8 diff --git a/requirements/testing/travis_all.txt b/requirements/testing/travis_all.txt index 660a56136796..aff3cab60ec6 100644 --- a/requirements/testing/travis_all.txt +++ b/requirements/testing/travis_all.txt @@ -1,6 +1,19 @@ +# pip requirements for all the travis builds + codecov coverage cycler numpy pillow +pyparsing +# pytest-timeout master depends on pytest>=3.6. Testing with pytest 3.4 is +# still supported; this is tested by the first travis python 3.5 build +pytest>=3.6 +pytest-cov +pytest-faulthandler +pytest-rerunfailures +pytest-timeout +pytest-xdist +python-dateutil +sphinx tornado From 0901f79ba1b00603dda7647c9b94f1b4576e3d03 Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Fri, 22 Jun 2018 14:46:59 +0200 Subject: [PATCH 0817/1161] Use pip version file --- .travis.yml | 11 +++++++---- requirements/testing/travis35.txt | 1 - 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 76caead4030e..7012db537751 100644 --- a/.travis.yml +++ b/.travis.yml @@ -50,6 +50,10 @@ env: - secure: dfjNqGKzQG5bu3FnDNwLG8H/C4QoieFo4PfFmZPdM2RY7WIzukwKFNT6kiDfOrpwt+2bR7FhzjOGlDECGtlGOtYPN8XuXGjhcP4a4IfakdbDfF+D3NPIpf5VlE6776k0VpvcZBTMYJKNFIMc7QPkOwjvNJ2aXyfe3hBuGlKJzQU= # Variables controlling the build. - MPLLOCALFREETYPE=1 + # Variable for the location of an extra pip requirement file + - EXTRAREQS= + # Variable for the location of a pip version file + - PINNEDVERS= # Variables controlling the test run. - DELETE_FONT_CACHE= - NO_AT_BRIDGE=1 # Necessary for GTK3 interactive test. @@ -67,7 +71,7 @@ matrix: - python: 3.5 # pytest-cov>=2.3.1 due to https://github.com/pytest-dev/pytest-cov/issues/124. env: - - EXTRAREQS='requirements/testing/travis35.txt' + - PINNEDVERS='-c requirements/testing/travis35.txt' - python: 3.5 env: # - PYTHONOPTIMIZE=2 # This currently doesn't work. @@ -75,7 +79,7 @@ matrix: env: - DELETE_FONT_CACHE=1 - PYTEST_ADDOPTS="$PYTEST_ADDOPTS --pep8" - - EXTRAREQS='requirements/testing/travis36.txt' + - EXTRAREQS='-r requirements/testing/travis36.txt' - python: "nightly" env: PRE=--pre - os: osx @@ -119,8 +123,7 @@ install: python -mpip install --upgrade pip setuptools wheel - | # Install dependencies from PyPI. - python -mpip install --upgrade $PRE -r requirements/testing/travis_all.txt - python -mpip install --upgrade $PRE -r $EXTRAREQS + python -mpip install --upgrade $PRE -r requirements/testing/travis_all.txt $EXTRAREQS $PINNEDVERS # GUI toolkits are pip-installable only for some versions of Python so # don't fail if we can't install them. Make it easier to check whether the # install was successful by trying to import the toolkit (sometimes, the diff --git a/requirements/testing/travis35.txt b/requirements/testing/travis35.txt index 689c034091ea..67a58014dab0 100644 --- a/requirements/testing/travis35.txt +++ b/requirements/testing/travis35.txt @@ -2,7 +2,6 @@ cycler==0.10 python-dateutil==2.1 -nose numpy==1.10.0 pandas<0.21.0 pyparsing==2.0.1 From ce0c2a251f8cb0a4fe767e816ff1381a82095486 Mon Sep 17 00:00:00 2001 From: dahlbaek <30782351+dahlbaek@users.noreply.github.com> Date: Fri, 22 Jun 2018 10:13:55 +0200 Subject: [PATCH 0818/1161] Use NULL character instead of recasting NULL NULL is implementation dependent, so (char)NULL may cause problems. The null character, '\0', is always well defined. --- extern/ttconv/pprdrv_tt.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/extern/ttconv/pprdrv_tt.cpp b/extern/ttconv/pprdrv_tt.cpp index 58a0531e9169..a8428942ffe7 100644 --- a/extern/ttconv/pprdrv_tt.cpp +++ b/extern/ttconv/pprdrv_tt.cpp @@ -245,7 +245,7 @@ void Read_name(struct TTFONT *font) { font->Copyright = (char*)calloc(sizeof(char),length+1); strncpy(font->Copyright,(const char*)strings+offset,length); - font->Copyright[length]=(char)NULL; + font->Copyright[length]='\0'; replace_newlines_with_spaces(font->Copyright); #ifdef DEBUG_TRUETYPE @@ -261,7 +261,7 @@ void Read_name(struct TTFONT *font) free(font->FamilyName); font->FamilyName = (char*)calloc(sizeof(char),length+1); strncpy(font->FamilyName,(const char*)strings+offset,length); - font->FamilyName[length]=(char)NULL; + font->FamilyName[length]='\0'; replace_newlines_with_spaces(font->FamilyName); #ifdef DEBUG_TRUETYPE @@ -277,7 +277,7 @@ void Read_name(struct TTFONT *font) free(font->Style); font->Style = (char*)calloc(sizeof(char),length+1); strncpy(font->Style,(const char*)strings+offset,length); - font->Style[length]=(char)NULL; + font->Style[length]='\0'; replace_newlines_with_spaces(font->Style); #ifdef DEBUG_TRUETYPE @@ -293,7 +293,7 @@ void Read_name(struct TTFONT *font) free(font->FullName); font->FullName = (char*)calloc(sizeof(char),length+1); strncpy(font->FullName,(const char*)strings+offset,length); - font->FullName[length]=(char)NULL; + font->FullName[length]='\0'; replace_newlines_with_spaces(font->FullName); #ifdef DEBUG_TRUETYPE @@ -309,7 +309,7 @@ void Read_name(struct TTFONT *font) free(font->Version); font->Version = (char*)calloc(sizeof(char),length+1); strncpy(font->Version,(const char*)strings+offset,length); - font->Version[length]=(char)NULL; + font->Version[length]='\0'; replace_newlines_with_spaces(font->Version); #ifdef DEBUG_TRUETYPE @@ -325,7 +325,7 @@ void Read_name(struct TTFONT *font) free(font->PostName); font->PostName = (char*)calloc(sizeof(char),length+1); strncpy(font->PostName,(const char*)strings+offset,length); - font->PostName[length]=(char)NULL; + font->PostName[length]='\0'; replace_newlines_with_spaces(font->PostName); #ifdef DEBUG_TRUETYPE @@ -340,7 +340,7 @@ void Read_name(struct TTFONT *font) free(font->PostName); font->PostName = (char*)calloc(sizeof(char),length+1); utf16be_to_ascii(font->PostName, (char *)strings+offset, length); - font->PostName[length/2]=(char)NULL; + font->PostName[length/2]='\0'; replace_newlines_with_spaces(font->PostName); #ifdef DEBUG_TRUETYPE @@ -355,7 +355,7 @@ void Read_name(struct TTFONT *font) { font->Trademark = (char*)calloc(sizeof(char),length+1); strncpy(font->Trademark,(const char*)strings+offset,length); - font->Trademark[length]=(char)NULL; + font->Trademark[length]='\0'; replace_newlines_with_spaces(font->Trademark); #ifdef DEBUG_TRUETYPE @@ -1041,7 +1041,7 @@ const char *ttfont_CharStrings_getname(struct TTFONT *font, int charindex) } strncpy(temp,ptr,len); /* Copy the pascal string into */ - temp[len]=(char)NULL; /* a buffer and make it ASCIIz. */ + temp[len]='\0'; /* a buffer and make it ASCIIz. */ return temp; } From 89846f1a1cf7638dd2aa34685b9ac18f181662be Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sun, 15 Oct 2017 23:30:04 -0700 Subject: [PATCH 0819/1161] Don't mark a patch transform as set if the parent transform is not set. When updating a patch from another artist, if the other artist's transform is marked as "uninitialized" (`_transformSet == False`), then don't mark the updatee's transform as set either. Typically, this occurs if the updator has not been added to an Axes yet; its transform will be set when that adding occurs. In that case, the updatee's transform also needs to be set when actually being added to an Axes. --- lib/matplotlib/patches.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index 2dc4cae18266..0d7efe0e064d 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -175,6 +175,9 @@ def update_from(self, other): self._us_dashes = other._us_dashes self.set_linewidth(other._linewidth) # also sets dash properties self.set_transform(other.get_data_transform()) + # If the transform of other needs further initialization, then it will + # be the case for this artist too. + self._transformSet = other.is_transform_set() def get_extents(self): """ From f4d158d448f6c3e6fb692d58d67efc5f1f8ec8f3 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sat, 21 Oct 2017 00:32:20 -0700 Subject: [PATCH 0820/1161] Add tests for Shadow class. --- lib/matplotlib/patches.py | 11 +++----- lib/matplotlib/tests/test_patches.py | 39 ++++++++++++++++++++++------ 2 files changed, 34 insertions(+), 16 deletions(-) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index 0d7efe0e064d..4f8a55ec96ee 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -588,14 +588,9 @@ def _update(self): if self.props is not None: self.update(self.props) else: - r, g, b, a = colors.to_rgba(self.patch.get_facecolor()) - rho = 0.3 - r = rho * r - g = rho * g - b = rho * b - - self.set_facecolor((r, g, b, 0.5)) - self.set_edgecolor((r, g, b, 0.5)) + color = .3 * np.asarray(colors.to_rgb(self.patch.get_facecolor())) + self.set_facecolor(color) + self.set_edgecolor(color) self.set_alpha(0.5) def _update_transform(self, renderer): diff --git a/lib/matplotlib/tests/test_patches.py b/lib/matplotlib/tests/test_patches.py index da880df39874..f81e066046d4 100644 --- a/lib/matplotlib/tests/test_patches.py +++ b/lib/matplotlib/tests/test_patches.py @@ -5,15 +5,12 @@ from numpy.testing import assert_almost_equal, assert_array_equal import pytest -from matplotlib.patches import Polygon -from matplotlib.patches import Rectangle -from matplotlib.testing.decorators import image_comparison +from matplotlib.patches import Polygon, Rectangle +from matplotlib.testing.decorators import image_comparison, check_figures_equal import matplotlib.pyplot as plt -import matplotlib.patches as mpatches -import matplotlib.collections as mcollections -from matplotlib import path as mpath -from matplotlib import transforms as mtransforms -import matplotlib.style as mstyle +from matplotlib import ( + collections as mcollections, colors as mcolors, patches as mpatches, + path as mpath, style as mstyle, transforms as mtransforms) import sys on_win = (sys.platform == 'win32') @@ -443,3 +440,29 @@ def test_contains_points(): expected = path.contains_points(points, transform, radius) result = ell.contains_points(points) assert np.all(result == expected) + + +# Currently fails with pdf/svg, probably because some parts assume a dpi of 72. +@check_figures_equal(extensions=["png"]) +def test_shadow(fig_test, fig_ref): + xy = np.array([.2, .3]) + dxy = np.array([.1, .2]) + # We need to work around the nonsensical (dpi-dependent) interpretation of + # offsets by the Shadow class... + plt.rcParams["savefig.dpi"] = "figure" + # Test image. + a1 = fig_test.subplots() + rect = mpatches.Rectangle(xy=xy, width=.5, height=.5) + shadow = mpatches.Shadow(rect, ox=dxy[0], oy=dxy[1]) + a1.add_patch(rect) + a1.add_patch(shadow) + # Reference image. + a2 = fig_ref.subplots() + rect = mpatches.Rectangle(xy=xy, width=.5, height=.5) + shadow = mpatches.Rectangle( + xy=xy + fig_ref.dpi / 72 * dxy, width=.5, height=.5, + fc=np.asarray(mcolors.to_rgb(rect.get_fc())) * .3, + ec=np.asarray(mcolors.to_rgb(rect.get_fc())) * .3, + alpha=.5) + a2.add_patch(shadow) + a2.add_patch(rect) From 9600f61e43b850b8513bb430e1225230b0c10b17 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sun, 24 Jun 2018 01:07:41 +0200 Subject: [PATCH 0821/1161] Update a test to a figure-equality test. Also minor cleanups to test_lines.py. --- lib/matplotlib/tests/test_lines.py | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py index a1ba6e764188..4b83ac05899a 100644 --- a/lib/matplotlib/tests/test_lines.py +++ b/lib/matplotlib/tests/test_lines.py @@ -4,15 +4,16 @@ from io import BytesIO import itertools -import matplotlib.lines as mlines -import pytest -from timeit import repeat -import numpy as np +import timeit + from cycler import cycler +import numpy as np +import pytest import matplotlib +import matplotlib.lines as mlines import matplotlib.pyplot as plt -from matplotlib.testing.decorators import image_comparison +from matplotlib.testing.decorators import image_comparison, check_figures_equal # Runtimes on a loaded system are inherently flaky. Not so much that a rerun @@ -45,7 +46,7 @@ def test_invisible_Line_rendering(): # [here Interactive panning and zooming is pretty responsive] # Time the canvas drawing: - t_no_line = min(repeat(fig.canvas.draw, number=1, repeat=3)) + t_no_line = min(timeit.repeat(fig.canvas.draw, number=1, repeat=3)) # (gives about 25 ms) # Add the big invisible Line: @@ -53,7 +54,7 @@ def test_invisible_Line_rendering(): # [Now interactive panning and zooming is very slow] # Time the canvas drawing: - t_unvisible_line = min(repeat(fig.canvas.draw, number=1, repeat=3)) + t_unvisible_line = min(timeit.repeat(fig.canvas.draw, number=1, repeat=3)) # gives about 290 ms for N = 10**7 pts slowdown_factor = (t_unvisible_line/t_no_line) @@ -199,13 +200,7 @@ def test_nan_is_sorted(): assert not line._is_sorted([3, 5] + [np.nan] * 100 + [0, 2]) -def test_step_markers(): - fig, ax = plt.subplots() - ax.step([0, 1], "-o") - buf1 = BytesIO() - fig.savefig(buf1) - fig, ax = plt.subplots() - ax.plot([0, 0, 1], [0, 1, 1], "-o", markevery=[0, 2]) - buf2 = BytesIO() - fig.savefig(buf2) - assert buf1.getvalue() == buf2.getvalue() +@check_figures_equal() +def test_step_markers(fig_test, fig_ref): + fig_test.subplots().step([0, 1], "-o") + fig_ref.subplots().plot([0, 0, 1], [0, 1, 1], "-o", markevery=[0, 2]) From 07ede1437ba9cd6a6cbc91612c0b522a211f3211 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Thu, 7 Jun 2018 14:33:16 +0200 Subject: [PATCH 0822/1161] Various fixes to deprecated and warn_deprecated. - Make `pending=True` actually emit a PendingDeprecationWarning, as advertised, and make it incompatible with `removal`, which seems semantically reasonable (`removal` itself is a new API in 3.0 so that's not an API break). - Restore use of %-formatting instead of .format for the message formatting, to restore accidentally broken backcompat (which was never released). - Restore support for the `addendum` kwarg, whose effect had accidentally been removed. - The `@deprecated` decorator has always ignored `obj_type` (forcefully overwriting it with the type of whatever is actually being decorated) so we may as well make it not support `obj_type` at all. - Remove a Py2 branch. --- .../2018-02-15-AL-deprecations.rst | 3 +- lib/matplotlib/cbook/deprecation.py | 67 +++++++++++-------- 2 files changed, 40 insertions(+), 30 deletions(-) diff --git a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst index 64c82e4cb358..5d799c5587ec 100644 --- a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst +++ b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst @@ -42,4 +42,5 @@ The following rcParams are deprecated: - ``pgf.debug`` (the pgf backend relies on logging), The following keyword arguments are deprecated: -- passing ``verts`` to ``scatter`` (use ``marker`` instead), +- passing ``verts`` to ``Axes.scatter`` (use ``marker`` instead), +- passing ``obj_type`` to ``cbook.deprecated``, diff --git a/lib/matplotlib/cbook/deprecation.py b/lib/matplotlib/cbook/deprecation.py index 30accf7c1ca5..ae7f51d598c6 100644 --- a/lib/matplotlib/cbook/deprecation.py +++ b/lib/matplotlib/cbook/deprecation.py @@ -14,7 +14,6 @@ class MatplotlibDeprecationWarning(UserWarning): https://docs.python.org/dev/whatsnew/2.7.html#the-future-for-python-2-x """ - pass mplDeprecation = MatplotlibDeprecationWarning @@ -28,29 +27,34 @@ def _generate_deprecation_message( removal = {"2.2": "in 3.1", "3.0": "in 3.2"}.get( since, "two minor releases later") elif removal: + if pending: + raise ValueError( + "A pending deprecation cannot have a scheduled removal") removal = "in {}".format(removal) if not message: message = ( - "The {name} {obj_type}" + "The %(name)s %(obj_type)s" + (" will be deprecated in a future version" if pending else - (" was deprecated in Matplotlib {since}" - + (" and will be removed {removal}" + (" was deprecated in Matplotlib %(since)s" + + (" and will be removed %(removal)s" if removal else ""))) + "." - + (" Use {alternative} instead." if alternative else "")) + + (" Use %(alternative)s instead." if alternative else "")) - return message.format(func=name, name=name, obj_type=obj_type, since=since, - removal=removal, alternative=alternative) + return ( + message % dict(func=name, name=name, obj_type=obj_type, since=since, + removal=removal, alternative=alternative) + + addendum) def warn_deprecated( since, message='', name='', alternative='', pending=False, obj_type='attribute', addendum='', *, removal=''): """ - Used to display deprecation warning in a standard way. + Used to display deprecation in a standard way. Parameters ---------- @@ -69,18 +73,19 @@ def warn_deprecated( The name of the deprecated object. alternative : str, optional - An alternative function that the user may use in place of the - deprecated function. The deprecation warning will tell the user - about this alternative if provided. + An alternative API that the user may use in place of the deprecated + API. The deprecation warning will tell the user about this alternative + if provided. pending : bool, optional If True, uses a PendingDeprecationWarning instead of a - DeprecationWarning. + DeprecationWarning. Cannot be used together with *removal*. removal : str, optional The expected removal version. With the default (an empty string), a removal version is automatically computed from *since*. Set to other - Falsy values to not schedule a removal date. + Falsy values to not schedule a removal date. Cannot be used together + with *pending*. obj_type : str, optional The object type being deprecated. @@ -101,7 +106,9 @@ def warn_deprecated( message = _generate_deprecation_message( since, message, name, alternative, pending, obj_type, removal=removal) message = '\n' + message - warnings.warn(message, mplDeprecation, stacklevel=2) + category = (PendingDeprecationWarning if pending + else MatplotlibDeprecationWarning) + warnings.warn(message, category, stacklevel=2) def deprecated(since, message='', name='', alternative='', pending=False, @@ -120,8 +127,7 @@ def deprecated(since, message='', name='', alternative='', pending=False, specifier `%(name)s` may be used for the name of the object, and `%(alternative)s` may be used in the deprecation message to insert the name of an alternative to the deprecated - object. `%(obj_type)s` may be used to insert a friendly name - for the type of object being deprecated. + object. name : str, optional The name of the deprecated object; if not provided the name @@ -135,18 +141,19 @@ def new_function(): oldFunction = new_function alternative : str, optional - An alternative object that the user may use in place of the - deprecated object. The deprecation warning will tell the user - about this alternative if provided. + An alternative API that the user may use in place of the deprecated + API. The deprecation warning will tell the user about this alternative + if provided. pending : bool, optional If True, uses a PendingDeprecationWarning instead of a - DeprecationWarning. + DeprecationWarning. Cannot be used together with *removal*. removal : str, optional The expected removal version. With the default (an empty string), a removal version is automatically computed from *since*. Set to other - Falsy values to not schedule a removal date. + Falsy values to not schedule a removal date. Cannot be used together + with *pending*. addendum : str, optional Additional text appended directly to the final message. @@ -159,9 +166,14 @@ def new_function(): @deprecated('1.4.0') def the_function_to_deprecate(): pass - """ + if obj_type is not None: + warn_deprecated( + "3.0", "Passing 'obj_type' to the 'deprecated' decorator has no " + "effect, and is deprecated since Matplotlib %(since)s; support " + "for it will be removed %(removal)s.") + def deprecate(obj, message=message, name=name, alternative=alternative, pending=pending, addendum=addendum): @@ -174,12 +186,7 @@ def deprecate(obj, message=message, name=name, alternative=alternative, func = obj.__init__ def finalize(wrapper, new_doc): - try: - obj.__doc__ = new_doc - except (AttributeError, TypeError): - # cls.__doc__ is not writeable on Py2. - # TypeError occurs on PyPy - pass + obj.__doc__ = new_doc obj.__init__ = wrapper return obj else: @@ -204,9 +211,11 @@ def finalize(wrapper, new_doc): message = _generate_deprecation_message( since, message, name, alternative, pending, obj_type, addendum, removal=removal) + category = (PendingDeprecationWarning if pending + else MatplotlibDeprecationWarning) def wrapper(*args, **kwargs): - warnings.warn(message, mplDeprecation, stacklevel=2) + warnings.warn(message, category, stacklevel=2) return func(*args, **kwargs) old_doc = textwrap.dedent(old_doc or '').strip('\n') From c5a041ddc59bdae4a9309c11a40ba84764bfa588 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sun, 24 Jun 2018 01:38:50 +0200 Subject: [PATCH 0823/1161] Fix CI install of wxpython. --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 7012db537751..59be49011f60 100644 --- a/.travis.yml +++ b/.travis.yml @@ -138,7 +138,7 @@ install: echo 'PyQt5 is available' || echo 'PyQt5 is not available' python -mpip install -U \ - --no-index -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-14.04 \ + -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-14.04 \ wxPython && python -c 'import wx' && echo 'wxPython is available' || From 260e6d611afae9adaac528c28a4879097c357b74 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade <quantum.analyst@gmail.com> Date: Sun, 24 Jun 2018 16:20:36 -0400 Subject: [PATCH 0824/1161] Fix import of PyQt5 5.11. sip is not really required by this code when using PyQt5, and 5.11 now no longer requires it nor provides it globally [1]. Also, move the PyQt/PySide shim bits to the end to be near the Qt5/Qt4 shim. [1] http://pyqt.sourceforge.net/Docs/PyQt5/incompatibilities.html#pyqt-v5-11 --- lib/matplotlib/backends/qt_compat.py | 55 +++++++++++++--------------- 1 file changed, 26 insertions(+), 29 deletions(-) diff --git a/lib/matplotlib/backends/qt_compat.py b/lib/matplotlib/backends/qt_compat.py index e02e881a3969..759fe24a7a66 100644 --- a/lib/matplotlib/backends/qt_compat.py +++ b/lib/matplotlib/backends/qt_compat.py @@ -98,7 +98,7 @@ _sip_imported = False # Now perform the imports. -if QT_API in (QT_API_PYQT, QT_API_PYQTv2, QT_API_PYQT5): +if QT_API in (QT_API_PYQT, QT_API_PYQTv2): try: import sip _sip_imported = True @@ -131,18 +131,20 @@ except: res = 'QVariant API v2 specification failed. Defaulting to v1.' _log.info(cond + res) - if QT_API == QT_API_PYQT5: - try: - from PyQt5 import QtCore, QtGui, QtWidgets - _getSaveFileName = QtWidgets.QFileDialog.getSaveFileName - except ImportError: - if _fallback_to_qt4: - # fell through, tried PyQt5, failed fall back to PyQt4 - QT_API = QT_API_PYQT - QT_RC_MAJOR_VERSION = 4 - else: - raise +if QT_API == QT_API_PYQT5: + try: + from PyQt5 import QtCore, QtGui, QtWidgets + _getSaveFileName = QtWidgets.QFileDialog.getSaveFileName + except ImportError: + if _fallback_to_qt4: + # fell through, tried PyQt5, failed fall back to PyQt4 + QT_API = QT_API_PYQT + QT_RC_MAJOR_VERSION = 4 + else: + raise + +if _sip_imported: # needs to be if so we can re-test the value of QT_API which may # have been changed in the above if block if QT_API in [QT_API_PYQT, QT_API_PYQTv2]: # PyQt4 API @@ -164,23 +166,6 @@ def _getSaveFileName(*args, **kwargs): # call to getapi() can fail in older versions of sip def _getSaveFileName(*args, **kwargs): return QtGui.QFileDialog.getSaveFileName(*args, **kwargs), None - try: - # Alias PyQt-specific functions for PySide compatibility. - QtCore.Signal = QtCore.pyqtSignal - try: - QtCore.Slot = QtCore.pyqtSlot - except AttributeError: - # Not a perfect match but works in simple cases - QtCore.Slot = QtCore.pyqtSignature - - QtCore.Property = QtCore.pyqtProperty - __version__ = QtCore.PYQT_VERSION_STR - except NameError: - # QtCore did not get imported, fall back to pyside - if QT_RC_MAJOR_VERSION == 5: - QT_API = QT_API_PYSIDE2 - else: - QT_API = QT_API_PYSIDE if QT_API == QT_API_PYSIDE2: @@ -207,6 +192,18 @@ def _getSaveFileName(*args, **kwargs): _getSaveFileName = QtGui.QFileDialog.getSaveFileName +if QT_API in (QT_API_PYQT, QT_API_PYQTv2, QT_API_PYQT5): + # Alias PyQt-specific functions for PySide compatibility. + QtCore.Signal = QtCore.pyqtSignal + try: + QtCore.Slot = QtCore.pyqtSlot + except AttributeError: + # Not a perfect match but works in simple cases + QtCore.Slot = QtCore.pyqtSignature + + QtCore.Property = QtCore.pyqtProperty + __version__ = QtCore.PYQT_VERSION_STR + # Apply shim to Qt4 APIs to make them look like Qt5 if QT_API in (QT_API_PYQT, QT_API_PYQTv2, QT_API_PYSIDE): '''Import all used QtGui objects into QtWidgets From 26fbd92763c57df541af0314838f5804bc8fa67a Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade <quantum.analyst@gmail.com> Date: Sun, 24 Jun 2018 16:21:04 -0400 Subject: [PATCH 0825/1161] Remove unnecessary Qt signal connection. This fails with PyQt5.11, but is also unnecessary. `_destroying` is set to True before this signal is connected, so the callback simply returns immediately. Thus, just remove the connection entirely. --- lib/matplotlib/backends/backend_qt5.py | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/matplotlib/backends/backend_qt5.py b/lib/matplotlib/backends/backend_qt5.py index ddbdf56e8177..6287c706091d 100644 --- a/lib/matplotlib/backends/backend_qt5.py +++ b/lib/matplotlib/backends/backend_qt5.py @@ -671,7 +671,6 @@ def destroy(self, *args): if self.window._destroying: return self.window._destroying = True - self.window.destroyed.connect(self._widgetclosed) if self.toolbar: self.toolbar.destroy() self.window.close() From 4af7f5eb4d835b37bde823f3d991fc8120d31c1d Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Sun, 24 Jun 2018 13:55:46 -0700 Subject: [PATCH 0826/1161] DOC: add API note --- doc/api/next_api_changes/2018-06-24-PM-JMK.rst | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 doc/api/next_api_changes/2018-06-24-PM-JMK.rst diff --git a/doc/api/next_api_changes/2018-06-24-PM-JMK.rst b/doc/api/next_api_changes/2018-06-24-PM-JMK.rst new file mode 100644 index 000000000000..0044c8b13a15 --- /dev/null +++ b/doc/api/next_api_changes/2018-06-24-PM-JMK.rst @@ -0,0 +1,5 @@ +Streamplot last row and column fixed +------------------------------------ + +A bug was fixed where the last row and column of data in +`~.Axes.axes.streamplot` were being dropped. From 9643a577fb74595f492b298de84b221d319ff35d Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Mon, 25 Jun 2018 00:03:34 +0200 Subject: [PATCH 0827/1161] Treat empty $MPLBACKEND as an unset value. This allows one to temporarily unset the environment variable with `MPLBACKEND= python ...`, and is consistent with standard behavior. --- lib/matplotlib/__init__.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 2e4ee4edb393..2019eebfe8cb 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -1365,10 +1365,8 @@ def use(arg, warn=True, force=False): importlib.reload(sys.modules['matplotlib.backends']) -try: +if os.environ.get('MPLBACKEND'): use(os.environ['MPLBACKEND']) -except KeyError: - pass def get_backend(): From 4be0b728880cd76663885f03ae4e099c27338172 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Thu, 7 Jun 2018 17:51:04 +0200 Subject: [PATCH 0828/1161] Simplify _get_config_or_cache_dir logic. 1. In get_home, we shouldn't check for $TMP, but instead let this case fall through to _create_config_or_cache_dir. 2. When checking for $XDG_{CONFIG,CACHE}_HOME and $MPLCONFIGDIR, consider empty strings as equivalent to unset (which is standard behavior, e.g. one could write `XDG_CONFIG_HOME= python ...` and expect things to behave as if `XDG_CONFIG_HOME` was indeed unset). 3. The logic in _get_config_or_cache_dir can greatly simplified: try to create a candidate, generating it on the way if necessary; if it cannot be created or is not writable, fallback to a temporary directory. --- lib/matplotlib/__init__.py | 99 +++++++++++++------------------------- 1 file changed, 34 insertions(+), 65 deletions(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 2e4ee4edb393..c5289ae3312c 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -216,13 +216,6 @@ def compare_versions(a, b): sys.argv = ['modpython'] -def _is_writable_dir(p): - """ - p is a string pointing to a putative writable dir -- return True p - is such a string, else False - """ - return os.access(p, os.W_OK) and os.path.isdir(p) - _verbose_msg = """\ matplotlib.verbose is deprecated; Command line argument --verbose-LEVEL is deprecated. @@ -552,26 +545,22 @@ def checkdep_usetex(s): def _get_home(): - """Find user's home directory if possible. - Otherwise, returns None. + """ + Return the user's home directory. - :see: - http://mail.python.org/pipermail/python-list/2005-February/325395.html + If the user's home directory cannot be found, return None. """ - path = os.path.expanduser("~") - if os.path.isdir(path): - return path - for evar in ('HOME', 'USERPROFILE', 'TMP'): - path = os.environ.get(evar) - if path is not None and os.path.isdir(path): - return path - return None + try: + return str(Path.home()) + except Exception: + return None + +get_home = _wrap('$HOME=%s', _get_home, always=False) def _create_tmp_config_dir(): """ - If the config directory can not be created, create a temporary - directory. + If the config directory can not be created, create a temporary directory. """ configdir = os.environ['MPLCONFIGDIR'] = ( tempfile.mkdtemp(prefix='matplotlib-')) @@ -579,21 +568,16 @@ def _create_tmp_config_dir(): return configdir -get_home = _wrap('$HOME=%s', _get_home, always=False) - - def _get_xdg_config_dir(): """ Returns the XDG configuration directory, according to the `XDG base directory spec <http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html>`_. """ - path = os.environ.get('XDG_CONFIG_HOME') - if path is None: - path = get_home() - if path is not None: - path = os.path.join(path, '.config') - return path + return (os.environ.get('XDG_CONFIG_HOME') + or (Path(get_home(), ".config") + if get_home() + else None)) def _get_xdg_cache_dir(): @@ -602,43 +586,31 @@ def _get_xdg_cache_dir(): base directory spec <http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html>`_. """ - path = os.environ.get('XDG_CACHE_HOME') - if path is None: - path = get_home() - if path is not None: - path = os.path.join(path, '.cache') - return path + return (os.environ.get('XDG_CACHE_HOME') + or (Path(get_home(), ".cache") + if get_home() + else None)) def _get_config_or_cache_dir(xdg_base): configdir = os.environ.get('MPLCONFIGDIR') - if configdir is not None: - configdir = os.path.abspath(configdir) - Path(configdir).mkdir(parents=True, exist_ok=True) - if not _is_writable_dir(configdir): - return _create_tmp_config_dir() - return configdir - - p = None - h = get_home() - if h is not None: - p = os.path.join(h, '.matplotlib') - if sys.platform.startswith(('linux', 'freebsd')): - p = None - if xdg_base is not None: - p = os.path.join(xdg_base, 'matplotlib') - - if p is not None: - if os.path.exists(p): - if _is_writable_dir(p): - return p + configdir = ( + Path(configdir).resolve() + if configdir + else Path(xdg_base, "matplotlib") + if sys.platform.startswith(('linux', 'freebsd')) and xdg_base + else Path(get_home(), ".matplotlib") + if get_home() + else None) + + if configdir: + try: + configdir.mkdir(parents=True, exist_ok=True) + except OSError: + pass else: - try: - Path(p).mkdir(parents=True, exist_ok=True) - except OSError: - pass - else: - return p + if os.access(str(configdir), os.W_OK) and configdir.is_dir(): + return str(configdir) return _create_tmp_config_dir() @@ -650,12 +622,9 @@ def _get_configdir(): The directory is chosen as follows: 1. If the MPLCONFIGDIR environment variable is supplied, choose that. - 2a. On Linux, follow the XDG specification and look first in `$XDG_CONFIG_HOME`, if defined, or `$HOME/.config`. - 2b. On other platforms, choose `$HOME/.matplotlib`. - 3. If the chosen directory exists and is writable, use that as the configuration directory. 4. If possible, create a temporary directory, and use it as the From 5840fee323ab3d2c8dfd1cf64c5c4ecca79e8fc7 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Thu, 7 Jun 2018 18:12:10 +0200 Subject: [PATCH 0829/1161] Simplify caching of directories retrieval. --- lib/matplotlib/__init__.py | 58 +++++++++++++------------------ lib/matplotlib/style/core.py | 2 +- lib/matplotlib/testing/compare.py | 16 ++++----- 3 files changed, 31 insertions(+), 45 deletions(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index c5289ae3312c..6ea313990433 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -386,27 +386,22 @@ def ge(self, level): verbose = Verbose() -def _wrap(fmt, func, level=logging.DEBUG, always=True): - """ - return a callable function that wraps func and reports its - output through logger - - if always is True, the report will occur on every function - call; otherwise only on the first time the function is called - """ - assert callable(func) - - def wrapper(*args, **kwargs): - ret = func(*args, **kwargs) - - if (always or not wrapper._spoke): - _log.log(level, fmt % ret) - spoke = True - if not wrapper._spoke: - wrapper._spoke = spoke +def _logged_cached(fmt, func=None): + if func is None: + return functools.partial(_logged_cached, fmt) + + called = False + ret = None + + @functools.wraps(func) + def wrapper(): + nonlocal called, ret + if not called: + ret = func() + called = True + _log.debug(fmt, ret) return ret - wrapper._spoke = False - wrapper.__doc__ = func.__doc__ + return wrapper @@ -544,7 +539,8 @@ def checkdep_usetex(s): return flag -def _get_home(): +@_logged_cached('$HOME=%s') +def get_home(): """ Return the user's home directory. @@ -555,8 +551,6 @@ def _get_home(): except Exception: return None -get_home = _wrap('$HOME=%s', _get_home, always=False) - def _create_tmp_config_dir(): """ @@ -615,7 +609,8 @@ def _get_config_or_cache_dir(xdg_base): return _create_tmp_config_dir() -def _get_configdir(): +@_logged_cached('CONFIGDIR=%s') +def get_configdir(): """ Return the string representing the configuration directory. @@ -633,10 +628,9 @@ def _get_configdir(): """ return _get_config_or_cache_dir(_get_xdg_config_dir()) -get_configdir = _wrap('CONFIGDIR=%s', _get_configdir, always=False) - -def _get_cachedir(): +@_logged_cached('CACHEDIR=%s') +def get_cachedir(): """ Return the location of the cache directory. @@ -645,8 +639,6 @@ def _get_cachedir(): """ return _get_config_or_cache_dir(_get_xdg_cache_dir()) -get_cachedir = _wrap('CACHEDIR=%s', _get_cachedir, always=False) - def _decode_filesystem_path(path): if not isinstance(path, str): @@ -698,14 +690,12 @@ def _get_data_path(): raise RuntimeError('Could not find the matplotlib data files') -def _get_data_path_cached(): +@_logged_cached('matplotlib data path: %s') +def get_data_path(): if defaultParams['datapath'][0] is None: defaultParams['datapath'][0] = _get_data_path() return defaultParams['datapath'][0] -get_data_path = _wrap('matplotlib data path %s', _get_data_path_cached, - always=False) - def get_py2exe_datafiles(): data_path = Path(get_data_path()) @@ -756,7 +746,7 @@ def gen_candidates(): else: yield matplotlibrc yield os.path.join(matplotlibrc, 'matplotlibrc') - yield os.path.join(_get_configdir(), 'matplotlibrc') + yield os.path.join(get_configdir(), 'matplotlibrc') yield os.path.join(get_data_path(), 'matplotlibrc') for fname in gen_candidates(): diff --git a/lib/matplotlib/style/core.py b/lib/matplotlib/style/core.py index 27cc8339c242..d7c59f844563 100644 --- a/lib/matplotlib/style/core.py +++ b/lib/matplotlib/style/core.py @@ -25,7 +25,7 @@ BASE_LIBRARY_PATH = os.path.join(mpl.get_data_path(), 'stylelib') # Users may want multiple library paths, so store a list of paths. -USER_LIBRARY_PATHS = [os.path.join(mpl._get_configdir(), 'stylelib')] +USER_LIBRARY_PATHS = [os.path.join(mpl.get_configdir(), 'stylelib')] STYLE_EXTENSION = 'mplstyle' STYLE_FILE_PATTERN = re.compile(r'([\S]+).%s$' % STYLE_EXTENSION) diff --git a/lib/matplotlib/testing/compare.py b/lib/matplotlib/testing/compare.py index 0f5e149a567b..6413916916c2 100644 --- a/lib/matplotlib/testing/compare.py +++ b/lib/matplotlib/testing/compare.py @@ -18,8 +18,7 @@ import matplotlib from matplotlib.testing.exceptions import ImageComparisonFailure -from matplotlib import _png -from matplotlib import _get_cachedir +from matplotlib import _png, cbook from matplotlib import cbook __all__ = ['compare_float', 'compare_images', 'comparable_formats'] @@ -79,7 +78,7 @@ def compare_float(expected, actual, relTol=None, absTol=None): def get_cache_dir(): - cachedir = _get_cachedir() + cachedir = matplotlib.get_cachedir() if cachedir is None: raise RuntimeError('Could not find a suitable configuration directory') cache_dir = os.path.join(cachedir, 'test_cache') @@ -293,15 +292,12 @@ def comparable_formats(): def convert(filename, cache): """ - Convert the named file into a png file. Returns the name of the - created file. + Convert the named file to png; return the name of the created file. If *cache* is True, the result of the conversion is cached in - `matplotlib._get_cachedir() + '/test_cache/'`. The caching is based - on a hash of the exact contents of the input file. The is no limit - on the size of the cache, so it may need to be manually cleared - periodically. - + `matplotlib.get_cachedir() + '/test_cache/'`. The caching is based on a + hash of the exact contents of the input file. There is no limit on the + size of the cache, so it may need to be manually cleared periodically. """ base, extension = filename.rsplit('.', 1) if extension not in converter: From 0764eb2b69d308b7b90f03c1bf1d2360990e119b Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Mon, 25 Jun 2018 13:15:38 +0200 Subject: [PATCH 0830/1161] Remove various mentions of the now removed GTK(2) backend. --- lib/matplotlib/backends/backend_template.py | 34 +++++++++------------ lib/matplotlib/path.py | 2 +- tutorials/introductory/usage.py | 2 -- 3 files changed, 15 insertions(+), 23 deletions(-) diff --git a/lib/matplotlib/backends/backend_template.py b/lib/matplotlib/backends/backend_template.py index 1702c9fe85bb..a4ae747816f0 100644 --- a/lib/matplotlib/backends/backend_template.py +++ b/lib/matplotlib/backends/backend_template.py @@ -135,17 +135,17 @@ def points_to_pixels(self, points): class GraphicsContextTemplate(GraphicsContextBase): """ - The graphics context provides the color, line styles, etc... See the gtk + The graphics context provides the color, line styles, etc... See the cairo and postscript backends for examples of mapping the graphics context attributes (cap styles, join styles, line widths, colors) to a particular - backend. In GTK this is done by wrapping a gtk.gdk.GC object and + backend. In cairo this is done by wrapping a cairo.Context object and forwarding the appropriate calls to it using a dictionary mapping styles to gdk constants. In Postscript, all the work is done by the renderer, mapping line styles to postscript calls. If it's more appropriate to do the mapping at the renderer level (as in the postscript backend), you don't need to override any of the GC methods. - If it's more appropriate to wrap an instance (as in the GTK backend) and + If it's more appropriate to wrap an instance (as in the cairo backend) and do the mapping here, you'll need to override several of the setter methods. @@ -153,8 +153,6 @@ class GraphicsContextTemplate(GraphicsContextBase): interval, e.g., (0.5, 0.0, 1.0). You may need to map this to colors appropriate for your backend. """ - pass - ######################################################################## @@ -166,19 +164,18 @@ class GraphicsContextTemplate(GraphicsContextBase): def draw_if_interactive(): """ - For image backends - is not required + For image backends - is not required. For GUI backends - this should be overridden if drawing should be done in - interactive python mode + interactive python mode. """ def show(block=None): """ - For image backends - is not required + For image backends - is not required. For GUI backends - show() is usually the last line of a pyplot script and - tells the backend that it is time to draw. In interactive mode, this may - be a do nothing func. See the GTK backend for an example of how to handle - interactive versus batch mode + tells the backend that it is time to draw. In interactive mode, this + should do nothing. """ for manager in Gcf.get_all_fig_managers(): # do something to display the GUI @@ -189,12 +186,11 @@ def new_figure_manager(num, *args, FigureClass=Figure, **kwargs): """ Create a new figure manager instance """ - # May be implemented via the `_new_figure_manager_template` helper. # If a main-level app must be created, this (and # new_figure_manager_given_figure) is the usual place to do it -- see # backend_wx, backend_wxagg and backend_tkagg for examples. Not all GUIs - # require explicit instantiation of a main-level app (egg backend_gtk, - # backend_gtkagg) for pylab. + # require explicit instantiation of a main-level app (e.g., backend_gtk3) + # for pylab. thisFig = FigureClass(*args, **kwargs) return new_figure_manager_given_figure(num, thisFig) @@ -203,7 +199,6 @@ def new_figure_manager_given_figure(num, figure): """ Create a new figure manager instance for the given figure. """ - # May be implemented via the `_new_figure_manager_template` helper. canvas = FigureCanvasTemplate(figure) manager = FigureManagerTemplate(canvas, num) return manager @@ -212,19 +207,18 @@ def new_figure_manager_given_figure(num, figure): class FigureCanvasTemplate(FigureCanvasBase): """ The canvas the figure renders into. Calls the draw and print fig - methods, creates the renderers, etc... + methods, creates the renderers, etc. - Note GUI templates will want to connect events for button presses, + Note: GUI templates will want to connect events for button presses, mouse movements and key presses to functions that call the base class methods button_press_event, button_release_event, - motion_notify_event, key_press_event, and key_release_event. See, - e.g., backend_gtk.py, backend_wx.py and backend_tkagg.py + motion_notify_event, key_press_event, and key_release_event. See the + implementations of the interactive backends for examples. Attributes ---------- figure : `matplotlib.figure.Figure` A high-level Figure instance - """ def draw(self): diff --git a/lib/matplotlib/path.py b/lib/matplotlib/path.py index 589606d777ea..ab9c271460bc 100644 --- a/lib/matplotlib/path.py +++ b/lib/matplotlib/path.py @@ -578,7 +578,7 @@ def to_polygons(self, transform=None, width=0, height=0, closed_only=True): polygon/polyline is an Nx2 array of vertices. In other words, each polygon has no ``MOVETO`` instructions or curves. This is useful for displaying in backends that do not support - compound paths or Bezier curves, such as GDK. + compound paths or Bezier curves. If *width* and *height* are both non-zero then the lines will be simplified so that vertices outside of (0, 0), (width, diff --git a/tutorials/introductory/usage.py b/tutorials/introductory/usage.py index 43e803855b95..33860d5280bc 100644 --- a/tutorials/introductory/usage.py +++ b/tutorials/introductory/usage.py @@ -449,8 +449,6 @@ def my_plotter(ax, data1, data2, param_dict): # .. _`Portable Document Format`: https://en.wikipedia.org/wiki/Portable_Document_Format # .. _`Scalable Vector Graphics`: https://en.wikipedia.org/wiki/Scalable_Vector_Graphics # .. _`Cairo graphics`: https://wwW.cairographics.org -# .. _`Gimp Drawing Kit`: https://en.wikipedia.org/wiki/GDK -# .. _PyGTK: http://www.pygtk.org # .. _PyGObject: https://wiki.gnome.org/action/show/Projects/PyGObject # .. _pycairo: https://www.cairographics.org/pycairo/ # .. _cairocffi: https://pythonhosted.org/cairocffi/ From 8be4eaedee52043aa1eef4890e73fb3b357ca1e4 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Mon, 25 Jun 2018 00:21:31 +0200 Subject: [PATCH 0831/1161] Fixes following PR review. --- lib/matplotlib/__init__.py | 34 +++++++++++++++++++++---------- lib/matplotlib/cbook/__init__.py | 2 +- lib/matplotlib/testing/compare.py | 1 - 3 files changed, 24 insertions(+), 13 deletions(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 6ea313990433..07beae316f5a 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -387,7 +387,19 @@ def ge(self, level): def _logged_cached(fmt, func=None): - if func is None: + """ + Decorator that logs a function's return value, and memoizes that value. + + After :: + + @_logged_cached(fmt) + def func(): ... + + the first call to *func* will log its return value at the DEBUG level using + %-format string *fmt*, and memoize it; later calls to *func* will directly + return that value. + """ + if func is None: # Return the actual decorator. return functools.partial(_logged_cached, fmt) called = False @@ -569,7 +581,7 @@ def _get_xdg_config_dir(): <http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html>`_. """ return (os.environ.get('XDG_CONFIG_HOME') - or (Path(get_home(), ".config") + or (str(Path(get_home(), ".config")) if get_home() else None)) @@ -581,21 +593,21 @@ def _get_xdg_cache_dir(): <http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html>`_. """ return (os.environ.get('XDG_CACHE_HOME') - or (Path(get_home(), ".cache") + or (str(Path(get_home(), ".cache")) if get_home() else None)) def _get_config_or_cache_dir(xdg_base): configdir = os.environ.get('MPLCONFIGDIR') - configdir = ( - Path(configdir).resolve() - if configdir - else Path(xdg_base, "matplotlib") - if sys.platform.startswith(('linux', 'freebsd')) and xdg_base - else Path(get_home(), ".matplotlib") - if get_home() - else None) + if configdir: + configdir = Path(configdir).resolve() + elif sys.platform.startswith(('linux', 'freebsd')) and xdg_base: + configdir = Path(xdg_base, "matplotlib") + elif get_home(): + configdir = Path(get_home(), ".matplotlib") + else: + configdir = None if configdir: try: diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index 7abcac3e66d8..02f8c1ff6c63 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -1984,7 +1984,7 @@ class so far, an alias named ``get_alias`` will be defined; the same will can be used by `~.normalize_kwargs` (which assumes that higher priority aliases come last). """ - if cls is None: + if cls is None: # Return the actual class decorator. return functools.partial(_define_aliases, alias_d) def make_alias(name): # Enforce a closure over *name*. diff --git a/lib/matplotlib/testing/compare.py b/lib/matplotlib/testing/compare.py index 6413916916c2..d9528e3a4e2b 100644 --- a/lib/matplotlib/testing/compare.py +++ b/lib/matplotlib/testing/compare.py @@ -19,7 +19,6 @@ import matplotlib from matplotlib.testing.exceptions import ImageComparisonFailure from matplotlib import _png, cbook -from matplotlib import cbook __all__ = ['compare_float', 'compare_images', 'comparable_formats'] From 8c9d66ac0b8e7363678b6e18c4f34ba16bb9e37c Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Tue, 26 Jun 2018 10:24:08 +0100 Subject: [PATCH 0832/1161] Skip 3D rotation example in sphinx gallery --- examples/mplot3d/{rotate_axes3d.py => rotate_axes3d_sgskip.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename examples/mplot3d/{rotate_axes3d.py => rotate_axes3d_sgskip.py} (100%) diff --git a/examples/mplot3d/rotate_axes3d.py b/examples/mplot3d/rotate_axes3d_sgskip.py similarity index 100% rename from examples/mplot3d/rotate_axes3d.py rename to examples/mplot3d/rotate_axes3d_sgskip.py From 4059c341d5812bf38f3371c1e74009b70bd8cfed Mon Sep 17 00:00:00 2001 From: fredrik-1 <sandquist.fredrik@gmail.com> Date: Tue, 26 Jun 2018 10:08:11 +0200 Subject: [PATCH 0833/1161] changed docstrings in Text --- lib/matplotlib/text.py | 165 ++++++++++++++++++++++++++++++----------- 1 file changed, 122 insertions(+), 43 deletions(-) diff --git a/lib/matplotlib/text.py b/lib/matplotlib/text.py index c07ebd5228a2..e9aca8b91da8 100644 --- a/lib/matplotlib/text.py +++ b/lib/matplotlib/text.py @@ -143,7 +143,7 @@ def __init__(self, **kwargs ): """ - Create a `Text` instance at *x*, *y* with string *text*. + Create a `.Text` instance at *x*, *y* with string *text*. Valid kwargs are %(Text)s @@ -200,7 +200,9 @@ def contains(self, mouseevent): In the case of text, a hit is true anywhere in the axis-aligned bounding-box containing the text. - Returns True or False. + Returns + ------- + bool : bool """ if callable(self._contains): return self._contains(self, mouseevent) @@ -430,17 +432,19 @@ def _get_layout(self, renderer): def set_bbox(self, rectprops): """ - Draw a bounding box around self. rectprops are any settable - properties for a FancyBboxPatch, e.g., facecolor='red', alpha=0.5. - - t.set_bbox(dict(facecolor='red', alpha=0.5)) - - The default boxstyle is 'square'. The mutation - scale of the FancyBboxPatch is set to the fontsize. + Draw a bounding box around self. Parameters ---------- - rectprops : FancyBboxPatch prop dict + rectprops : dict with properties for `.patches.FancyBboxPatch` + The default boxstyle is 'square'. The mutation + scale of the `.patches.FancyBboxPatch` is set to the fontsize. + + Examples + -------- + :: + + t.set_bbox(dict(facecolor='red', alpha=0.5)) """ if rectprops is not None: @@ -476,7 +480,8 @@ def set_bbox(self, rectprops): def get_bbox_patch(self): """ - Return the bbox Patch, or None if the FancyBboxPatch is not made. + Return the bbox Patch, or None if the `.patches.FancyBboxPatch` + is not made. """ return self._bbox_patch @@ -510,7 +515,8 @@ def update_bbox_position_size(self, renderer): def _draw_bbox(self, renderer, posx, posy): """ - Update the location and size of the bbox (FancyBboxPatch), and draw. + Update the location and size of the bbox (`.patches.FancyBboxPatch`), + and draw. """ x_box, y_box, w_box, h_box = _get_textbox(self, renderer) @@ -532,11 +538,11 @@ def _update_clip_properties(self): def set_clip_box(self, clipbox): """ - Set the artist's clip :class:`~matplotlib.transforms.Bbox`. + Set the artist's clip `~.transforms.Bbox`. Parameters ---------- - clipbox : matplotlib.transforms.Bbox + clipbox : `matplotlib.transforms.Bbox` """ super().set_clip_box(clipbox) self._update_clip_properties() @@ -545,10 +551,10 @@ def set_clip_path(self, path, transform=None): """ Set the artist's clip path, which may be: - * a :class:`~matplotlib.patches.Patch` (or subclass) instance + * a `~matplotlib.patches.Patch` (or subclass) instance - * a :class:`~matplotlib.path.Path` instance, in which case - an optional :class:`~matplotlib.transforms.Transform` + * a `~matplotlib.path.Path` instance, in which case + an optional `~matplotlib.transforms.Transform` instance may be provided, which will be applied to the path before using it for clipping. @@ -558,9 +564,8 @@ def set_clip_path(self, path, transform=None): rectangle, this method will set the clipping box to the corresponding rectangle and set the clipping path to *None*. - ACCEPTS: [ (:class:`~matplotlib.path.Path`, - :class:`~matplotlib.transforms.Transform`) | - :class:`~matplotlib.patches.Patch` | None ] + ACCEPTS: { (`.path.Path`, `.transforms.Transform`), + `.patches.Patch`, None } """ super().set_clip_path(path, transform) self._update_clip_properties() @@ -689,7 +694,7 @@ def _get_wrapped_text(self): @artist.allow_rasterization def draw(self, renderer): """ - Draws the :class:`Text` object to the given *renderer*. + Draws the `.Text` object to the given *renderer*. """ if renderer is not None: self._renderer = renderer @@ -761,35 +766,77 @@ def get_color(self): return self._color def get_fontproperties(self): - "Return the :class:`~font_manager.FontProperties` object" + "Return the `.font_manager.FontProperties` object" return self._fontproperties def get_fontfamily(self): - "Return the list of font families used for font lookup" + """ + Return the list of font families used for font lookup + + See Also + -------- + .font_manager.FontProperties.get_family + """ return self._fontproperties.get_family() def get_fontname(self): - "Return the font name as string" + """ + Return the font name as string + + See Also + -------- + .font_manager.FontProperties.get_name + """ return self._fontproperties.get_name() def get_fontstyle(self): - "Return the font style as string" + """ + Return the font style as string + + See Also + -------- + .font_manager.FontProperties.get_style + """ return self._fontproperties.get_style() def get_fontsize(self): - "Return the font size as integer" + """ + Return the font size as integer + + See Also + -------- + .font_manager.FontProperties.get_size_in_points + """ return self._fontproperties.get_size_in_points() def get_fontvariant(self): - "Return the font variant as a string" + """ + Return the font variant as a string + + See Also + -------- + .font_manager.FontProperties.get_variant + """ return self._fontproperties.get_variant() def get_fontweight(self): - "Get the font weight as string or number" + """ + Get the font weight as string or number + + See Also + -------- + .font_manager.FontProperties.get_weight + """ return self._fontproperties.get_weight() def get_stretch(self): - 'Get the font stretch as a string or number' + """ + Get the font stretch as a string or number + + See Also + -------- + .font_manager.FontProperties.get_stretch + """ return self._fontproperties.get_stretch() def get_horizontalalignment(self): @@ -844,7 +891,7 @@ def get_verticalalignment(self): def get_window_extent(self, renderer=None, dpi=None): ''' - Return a :class:`~matplotlib.transforms.Bbox` object bounding + Return a `~matplotlib.transforms.Bbox` object bounding the text, in display units. In addition to being used internally, this is useful for @@ -853,9 +900,9 @@ def get_window_extent(self, renderer=None, dpi=None): *renderer* defaults to the _renderer attribute of the text object. This is not assigned until the first execution of :meth:`draw`, so you must use this kwarg if you want - to call :meth:`get_window_extent` prior to the first - :meth:`draw`. For getting web page regions, it is - simpler to call the method after saving the figure. + to call `.get_window_extent` prior to the first `draw`. For + getting web page regions, it is simpler to call the method after + saving the figure. *dpi* defaults to self.figure.dpi; the renderer dpi is irrelevant. For the web application, if figure.dpi is not @@ -889,14 +936,13 @@ def set_backgroundcolor(self, color): """ Set the background color of the text by updating the bbox. - .. seealso:: - - :meth:`set_bbox` - To change the position of the bounding box. - Parameters ---------- color : color + + See Also + -------- + .set_bbox : To change the position of the bounding box """ if self._bbox_patch is None: self.set_bbox(dict(facecolor=color, edgecolor=color)) @@ -946,7 +992,7 @@ def set_multialignment(self, align): Parameters ---------- - align: {'left', 'right', 'center'} + align : {'left', 'right', 'center'} """ legal = ('center', 'right', 'left') if align not in legal: @@ -978,6 +1024,10 @@ def set_fontfamily(self, fontname): ---------- fontname : {FONTNAME, 'serif', 'sans-serif', 'cursive', 'fantasy', \ 'monospace'} + + See Also + -------- + .font_manager.FontProperties.set_family """ self._fontproperties.set_family(fontname) self.stale = True @@ -989,6 +1039,10 @@ def set_fontvariant(self, variant): Parameters ---------- variant : {'normal', 'small-caps'} + + See Also + -------- + .font_manager.FontProperties.set_variant """ self._fontproperties.set_variant(variant) self.stale = True @@ -1000,6 +1054,10 @@ def set_fontstyle(self, fontstyle): Parameters ---------- fontstyle : {'normal', 'italic', 'oblique'} + + See Also + -------- + .font_manager.FontProperties.set_style """ self._fontproperties.set_style(fontstyle) self.stale = True @@ -1013,6 +1071,10 @@ def set_fontsize(self, fontsize): ---------- fontsize : {size in points, 'xx-small', 'x-small', 'small', 'medium', \ 'large', 'x-large', 'xx-large'} + + See Also + -------- + .font_manager.FontProperties.set_size """ self._fontproperties.set_size(fontsize) self.stale = True @@ -1026,6 +1088,10 @@ def set_fontweight(self, weight): weight : {a numeric value in range 0-1000, 'ultralight', 'light', \ 'normal', 'regular', 'book', 'medium', 'roman', 'semibold', 'demibold', \ 'demi', 'bold', 'heavy', 'extra bold', 'black'} + + See Also + -------- + .font_manager.FontProperties.set_weight """ self._fontproperties.set_weight(weight) self.stale = True @@ -1039,6 +1105,10 @@ def set_fontstretch(self, stretch): stretch : {a numeric value in range 0-1000, 'ultra-condensed', \ 'extra-condensed', 'condensed', 'semi-condensed', 'normal', 'semi-expanded', \ 'expanded', 'extra-expanded', 'ultra-expanded'} + + See Also + -------- + .font_manager.FontProperties.set_stretch """ self._fontproperties.set_stretch(stretch) self.stale = True @@ -1144,12 +1214,11 @@ def is_math_text(s, usetex=None): def set_fontproperties(self, fp): """ - Set the font properties that control the text. *fp* must be a - :class:`matplotlib.font_manager.FontProperties` object. + Set the font properties that control the text. Parameters ---------- - fp : matplotlib.font_manager.FontProperties + fp : `.font_manager.FontProperties` """ if isinstance(fp, str): fp = FontProperties(fp) @@ -1184,9 +1253,19 @@ def get_usetex(self): def set_fontname(self, fontname): """ - alias for set_family + alias for `.set_family` One-way alias only: the getter differs. + + Parameters + ---------- + fontname : {FONTNAME, 'serif', 'sans-serif', 'cursive', 'fantasy', \ +'monospace'} + + See Also + -------- + .font_manager.FontProperties.set_family + """ return self.set_family(fontname) From e75dacac2ab0bb8dc234c4d3dbc18d79f9b84bf1 Mon Sep 17 00:00:00 2001 From: fredrik-1 <sandquist.fredrik@gmail.com> Date: Sat, 23 Jun 2018 18:12:51 +0200 Subject: [PATCH 0834/1161] fixed the windows path in rc_role --- doc/sphinxext/custom_roles.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/doc/sphinxext/custom_roles.py b/doc/sphinxext/custom_roles.py index 8e9ddea9fa46..2232f1032424 100644 --- a/doc/sphinxext/custom_roles.py +++ b/doc/sphinxext/custom_roles.py @@ -1,10 +1,13 @@ from docutils import nodes +from os.path import sep def rcparam_role(name, rawtext, text, lineno, inliner, options={}, content=[]): rendered = nodes.Text('rcParams["{}"]'.format(text)) - rel_source = inliner.document.attributes['source'].split('/doc/', 1)[1] + source = inliner.document.attributes['source'].replace(sep, '/') + rel_source = source.split('/doc/', 1)[1] + levels = rel_source.count('/') refuri = ('../' * levels + 'tutorials/introductory/customizing.html#matplotlib-rcparams') From 7ba2d9a12a78d37f4cf59f202e9f943a30c94bda Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Fri, 27 Apr 2018 16:56:38 +0100 Subject: [PATCH 0835/1161] Move remaining examples from api/ --- doc/api/pyplot_summary.rst | 2 -- doc/faq/howto_faq.rst | 7 ++++--- doc/users/prev_whats_new/whats_new_1.1.rst | 9 +++++---- doc/users/prev_whats_new/whats_new_1.4.rst | 4 ++-- doc/users/prev_whats_new/whats_new_1.5.rst | 4 ++-- examples/api/README.txt | 18 ------------------ .../image_zcoord.py | 0 .../watermark_image.py | 2 +- .../filled_step.py | 0 .../joinstyle.py | 0 .../scatter_piecharts.py | 0 .../span_regions.py | 2 +- examples/{api => misc}/agg_oo_sgskip.py | 0 examples/{api => misc}/histogram_path.py | 0 examples/{api => misc}/logos2.py | 0 examples/{api => scales}/power_norm.py | 0 .../patch_collection.py | 0 .../quad_bezier.py | 0 .../{api => specialty_plots}/radar_chart.py | 0 .../{api => specialty_plots}/sankey_basics.py | 0 .../{api => specialty_plots}/sankey_links.py | 0 .../sankey_rankine.py | 0 examples/{api => specialty_plots}/skewt.py | 0 .../two_scales.py | 3 +-- examples/test2.png | Bin 0 -> 1199 bytes .../font_family_rc_sgskip.py | 0 .../font_file.py | 0 .../legend.py | 2 +- .../line_with_text.py | 0 .../mathtext_asarray.py | 0 .../unicode_minus.py | 0 .../watermark_text.py | 6 +----- lib/matplotlib/axes/_axes.py | 2 +- lib/matplotlib/path.py | 2 +- lib/matplotlib/sankey.py | 2 +- tutorials/introductory/lifecycle.py | 4 +--- tutorials/introductory/sample_plots.py | 4 ++-- 37 files changed, 24 insertions(+), 49 deletions(-) delete mode 100644 examples/api/README.txt rename examples/{api => images_contours_and_fields}/image_zcoord.py (100%) rename examples/{api => images_contours_and_fields}/watermark_image.py (96%) rename examples/{api => lines_bars_and_markers}/filled_step.py (100%) rename examples/{api => lines_bars_and_markers}/joinstyle.py (100%) rename examples/{api => lines_bars_and_markers}/scatter_piecharts.py (100%) rename examples/{api => lines_bars_and_markers}/span_regions.py (98%) rename examples/{api => misc}/agg_oo_sgskip.py (100%) rename examples/{api => misc}/histogram_path.py (100%) rename examples/{api => misc}/logos2.py (100%) rename examples/{api => scales}/power_norm.py (100%) rename examples/{api => shapes_and_collections}/patch_collection.py (100%) rename examples/{api => shapes_and_collections}/quad_bezier.py (100%) rename examples/{api => specialty_plots}/radar_chart.py (100%) rename examples/{api => specialty_plots}/sankey_basics.py (100%) rename examples/{api => specialty_plots}/sankey_links.py (100%) rename examples/{api => specialty_plots}/sankey_rankine.py (100%) rename examples/{api => specialty_plots}/skewt.py (100%) rename examples/{api => subplots_axes_and_figures}/two_scales.py (94%) create mode 100644 examples/test2.png rename examples/{api => text_labels_and_annotations}/font_family_rc_sgskip.py (100%) rename examples/{api => text_labels_and_annotations}/font_file.py (100%) rename examples/{api => text_labels_and_annotations}/legend.py (95%) rename examples/{api => text_labels_and_annotations}/line_with_text.py (100%) rename examples/{api => text_labels_and_annotations}/mathtext_asarray.py (100%) rename examples/{api => text_labels_and_annotations}/unicode_minus.py (100%) rename examples/{api => text_labels_and_annotations}/watermark_text.py (88%) diff --git a/doc/api/pyplot_summary.rst b/doc/api/pyplot_summary.rst index 4b290d5452af..99660f45864d 100644 --- a/doc/api/pyplot_summary.rst +++ b/doc/api/pyplot_summary.rst @@ -28,8 +28,6 @@ While it is easy to quickly generate plots with the we recommend using the object-oriented approach for more control and customization of your plots. See the methods in the :meth:`matplotlib.axes.Axes` class for many of the same plotting functions. -For examples of the OO approach to Matplotlib, see the -:ref:`API Examples<api_examples>`. Colors in Matplotlib -------------------- diff --git a/doc/faq/howto_faq.rst b/doc/faq/howto_faq.rst index f1ddfe8bd8e5..12633e8b2d91 100644 --- a/doc/faq/howto_faq.rst +++ b/doc/faq/howto_faq.rst @@ -137,7 +137,7 @@ Finally, the multipage pdf object has to be closed:: pp.close() The same can be done using the pgf backend:: - + from matplotlib.backends.backend_pgf import PdfPages @@ -415,7 +415,8 @@ locators as desired because the two axes are independent. .. only:: html - See :doc:`/gallery/api/two_scales` for a complete example + See :doc:`/gallery/subplots_axes_and_figures/two_scales` for a + complete example. .. _howto-batch: @@ -661,7 +662,7 @@ For more on configuring your backend, see Alternatively, you can avoid pylab/pyplot altogether, which will give you a little more control, by calling the API directly as shown in -:doc:`/gallery/api/agg_oo_sgskip`. +:doc:`/gallery/misc/agg_oo_sgskip`. You can either generate hardcopy on the filesystem by calling savefig:: diff --git a/doc/users/prev_whats_new/whats_new_1.1.rst b/doc/users/prev_whats_new/whats_new_1.1.rst index cf9d38dd234a..502f63e4e0cc 100644 --- a/doc/users/prev_whats_new/whats_new_1.1.rst +++ b/doc/users/prev_whats_new/whats_new_1.1.rst @@ -17,11 +17,12 @@ Sankey Diagrams Kevin Davies has extended Yannick Copin's original Sankey example into a module (:mod:`~matplotlib.sankey`) and provided new examples -(:doc:`/gallery/api/sankey_basics`, :doc:`/gallery/api/sankey_links`, -:doc:`/gallery/api/sankey_rankine`). +(:doc:`/gallery/specialty_plots/sankey_basics`, +:doc:`/gallery/specialty_plots/sankey_links`, +:doc:`/gallery/specialty_plots/sankey_rankine`). -.. figure:: ../../gallery/api/images/sphx_glr_sankey_rankine_001.png - :target: ../../gallery/api/sankey_rankine.html +.. figure:: ../../gallery/specialty_plots/images/sphx_glr_sankey_rankine_001.png + :target: ../../gallery/specialty_plots/sankey_rankine.html :align: center :scale: 50 diff --git a/doc/users/prev_whats_new/whats_new_1.4.rst b/doc/users/prev_whats_new/whats_new_1.4.rst index 48dbd8266e22..70146e1e8c57 100644 --- a/doc/users/prev_whats_new/whats_new_1.4.rst +++ b/doc/users/prev_whats_new/whats_new_1.4.rst @@ -160,8 +160,8 @@ matplotlib internals were cleaned up to support using such transforms in :class:`~matplotlib.Axes`. This transform is important for some plot types, specifically the Skew-T used in meteorology. -.. figure:: ../../gallery/api/images/sphx_glr_skewt_001.png - :target: ../../gallery/api/skewt.html +.. figure:: ../../gallery/specialty_plots/images/sphx_glr_skewt_001.png + :target: ../../gallery/specialty_plots/skewt.html :align: center :scale: 50 diff --git a/doc/users/prev_whats_new/whats_new_1.5.rst b/doc/users/prev_whats_new/whats_new_1.5.rst index 854cb889f746..9e7ca186252b 100644 --- a/doc/users/prev_whats_new/whats_new_1.5.rst +++ b/doc/users/prev_whats_new/whats_new_1.5.rst @@ -377,8 +377,8 @@ kwargs names is not ideal, but `Axes.fill_between` already has a This is particularly useful for plotting pre-binned histograms. -.. figure:: ../../gallery/api/images/sphx_glr_filled_step_001.png - :target: ../../gallery/api/filled_step.html +.. figure:: ../../gallery/lines_bars_and_markers/images/sphx_glr_filled_step_001.png + :target: ../../gallery/lines_bars_and_markers/filled_step.html :align: center :scale: 50 diff --git a/examples/api/README.txt b/examples/api/README.txt deleted file mode 100644 index c0359dc24319..000000000000 --- a/examples/api/README.txt +++ /dev/null @@ -1,18 +0,0 @@ -.. _api_examples: - -Matplotlib API -============== - -These examples use the Matplotlib api rather than the pylab/pyplot -procedural state machine. For robust, production level scripts, or -for applications or web application servers, we recommend you use the -Matplotlib API directly as it gives you the maximum control over your -figures, axes and plottng commands. - -The example agg_oo.py is the simplest example of using the Agg backend -which is readily ported to other output formats. This example is a -good starting point if your are a web application developer. Many of -the other examples in this directory use ``matplotlib.pyplot`` just to -create the figure and show calls, and use the API for everything else. -This is a good solution for production quality scripts. For full -fledged GUI applications, see the user_interfaces examples. diff --git a/examples/api/image_zcoord.py b/examples/images_contours_and_fields/image_zcoord.py similarity index 100% rename from examples/api/image_zcoord.py rename to examples/images_contours_and_fields/image_zcoord.py diff --git a/examples/api/watermark_image.py b/examples/images_contours_and_fields/watermark_image.py similarity index 96% rename from examples/api/watermark_image.py rename to examples/images_contours_and_fields/watermark_image.py index a3246e7ae0d9..91cf43302668 100644 --- a/examples/api/watermark_image.py +++ b/examples/images_contours_and_fields/watermark_image.py @@ -3,7 +3,7 @@ Watermark image =============== -Use a PNG file as a watermark +Using a PNG file as a watermark. """ import numpy as np import matplotlib.cbook as cbook diff --git a/examples/api/filled_step.py b/examples/lines_bars_and_markers/filled_step.py similarity index 100% rename from examples/api/filled_step.py rename to examples/lines_bars_and_markers/filled_step.py diff --git a/examples/api/joinstyle.py b/examples/lines_bars_and_markers/joinstyle.py similarity index 100% rename from examples/api/joinstyle.py rename to examples/lines_bars_and_markers/joinstyle.py diff --git a/examples/api/scatter_piecharts.py b/examples/lines_bars_and_markers/scatter_piecharts.py similarity index 100% rename from examples/api/scatter_piecharts.py rename to examples/lines_bars_and_markers/scatter_piecharts.py diff --git a/examples/api/span_regions.py b/examples/lines_bars_and_markers/span_regions.py similarity index 98% rename from examples/api/span_regions.py rename to examples/lines_bars_and_markers/span_regions.py index 04ff7561800c..e1a9b85c1407 100644 --- a/examples/api/span_regions.py +++ b/examples/lines_bars_and_markers/span_regions.py @@ -4,7 +4,7 @@ ================ Illustrate some helper functions for shading regions where a logical -mask is True +mask is True. See :meth:`matplotlib.collections.BrokenBarHCollection.span_where` """ diff --git a/examples/api/agg_oo_sgskip.py b/examples/misc/agg_oo_sgskip.py similarity index 100% rename from examples/api/agg_oo_sgskip.py rename to examples/misc/agg_oo_sgskip.py diff --git a/examples/api/histogram_path.py b/examples/misc/histogram_path.py similarity index 100% rename from examples/api/histogram_path.py rename to examples/misc/histogram_path.py diff --git a/examples/api/logos2.py b/examples/misc/logos2.py similarity index 100% rename from examples/api/logos2.py rename to examples/misc/logos2.py diff --git a/examples/api/power_norm.py b/examples/scales/power_norm.py similarity index 100% rename from examples/api/power_norm.py rename to examples/scales/power_norm.py diff --git a/examples/api/patch_collection.py b/examples/shapes_and_collections/patch_collection.py similarity index 100% rename from examples/api/patch_collection.py rename to examples/shapes_and_collections/patch_collection.py diff --git a/examples/api/quad_bezier.py b/examples/shapes_and_collections/quad_bezier.py similarity index 100% rename from examples/api/quad_bezier.py rename to examples/shapes_and_collections/quad_bezier.py diff --git a/examples/api/radar_chart.py b/examples/specialty_plots/radar_chart.py similarity index 100% rename from examples/api/radar_chart.py rename to examples/specialty_plots/radar_chart.py diff --git a/examples/api/sankey_basics.py b/examples/specialty_plots/sankey_basics.py similarity index 100% rename from examples/api/sankey_basics.py rename to examples/specialty_plots/sankey_basics.py diff --git a/examples/api/sankey_links.py b/examples/specialty_plots/sankey_links.py similarity index 100% rename from examples/api/sankey_links.py rename to examples/specialty_plots/sankey_links.py diff --git a/examples/api/sankey_rankine.py b/examples/specialty_plots/sankey_rankine.py similarity index 100% rename from examples/api/sankey_rankine.py rename to examples/specialty_plots/sankey_rankine.py diff --git a/examples/api/skewt.py b/examples/specialty_plots/skewt.py similarity index 100% rename from examples/api/skewt.py rename to examples/specialty_plots/skewt.py diff --git a/examples/api/two_scales.py b/examples/subplots_axes_and_figures/two_scales.py similarity index 94% rename from examples/api/two_scales.py rename to examples/subplots_axes_and_figures/two_scales.py index 6a0017e5b891..6238732e47f9 100644 --- a/examples/api/two_scales.py +++ b/examples/subplots_axes_and_figures/two_scales.py @@ -3,8 +3,7 @@ Plots with different scales =========================== -Demonstrate how to do two plots on the same axes with different left and -right scales. +Two plots on the same axes with different left and right scales. The trick is to use *two different axes* that share the same *x* axis. You can use separate `matplotlib.ticker` formatters and locators as diff --git a/examples/test2.png b/examples/test2.png new file mode 100644 index 0000000000000000000000000000000000000000..68c75e2ad2adfab5346dd7ed6be62ac49bc0a617 GIT binary patch literal 1199 zcmV;g1W@~lP)<h;3K|Lk000e1NJLTq002Y)001cn1^@s6jCqeX00004b3#c}2nYxW zd<bNS000DLNkl<ZXo2n8X{c3I6bJC%%j!8~Xp@18Mw1cPtQBP_CWWDWsA#SaS_Bb= z5tTtoAJPWvLqSEQA0nkF$gpUnur#yD=2<JX;h7CqYG(Ffo!7fw?t6Ei`|def_=nBD zcb~QP+V_9=UVE**Pm5`GpaMJ9Xgdxo@itz|%7kv%n1(G?<&AFi*9;t~<F_ppzxN#2 zxrT5n2I68o-${o((GP9doG^f8IHltIrUacva5A1tkb4WqW}k;*Ir>n0hNR$he2c+} z@_*sGit=NFcI#mXCU>WUMhVG_Lj-}JV>b3J$j<#3gHerkPzE7O#PS=5%W)`P6ic%R zOcBKF(};2{AJS|*UGe!nyos-I8Xhaa-fGOjZMZP6a#>5J5^Y$4{R*^kHzwl5yo%d` zkp9B?ttimOFJhKV%d1!hA-4)AHxwt}39Q0Xb@Zl+nB}}qo?nzbzpj(#4+#f5GS6Vk zAY?G+;Zw{N{$niusH3+yt4Gv$))zDI1!i@kzf{B*lkyC<45xZ_gL<!vps&_He52U9 zCt_n4eY}7(#O~IW+`rfsJ|q>tiCyV%>{`)&Fs{I}m|v%lmqbLJ>|D2JLST`IR}QOa zyAv(AGC_Y?R-cq=@V`I^9m{5d$cgU4M+y3$h`j0eRD(tMkS$H<qa~{=9c!y_plz6* z*v}@BG8~v{xCla8>Wd`fOMEY8$Q104OYn1!K33}>w60?<YRT-5Co8@$!8>?gM>g6Q z3ljQTEdJrC;*92joMTxderHl{QxqYSMeNazv0}FvAp)s>SSMnVdh2_Un039y?(%oe zv24id-BN^$BIGPvN22Spx;3-eZg+wDamw<no{Lu+7|Z&s?vo;11R<^113y)?^$=U& zN|A-G&DtwZu4<tLSBa?hng++y?kAH@>53p^Pmx?zVzY=PhKR^<K-S)->%*eU#FCmW z$ZQ0?vikQF;UadK4dTqT7S`Zhk?cL1$*r%F8HDq35H1kQ<o0fir+qBHrU(}?L)Hoh z*xq-4v4jZ6HcA9cZ~#88(jSMLMV>M*t5XiLJHr66<bFsIE-JZu6-S8EvAyt!@FQ@K zm?cDx@l2KOgIQ@728ygW2}KcdAI=qod?v`Lh4C8ChEvcBdyA|$2}KdIP(+nop)c;W z^={N`3>Q1q!c>JKle;-}p0C5>1==TqL3lY;VSCSZyNl7nX@8iiPy`{>_qcgVGtoor zSP$n>DuR%fPD*clg_&K*G!tXQHa|O$QkhHUT5<4O7AA?4_goQf8Hdb7$Ua<LK@2Ow z-XNSRUVF%evS!Fk+)$D&Vm96(F4uFRj2SXoy#DY3jw!+3a2zei!Ez<aAY`P-N5%^$ zw~NSfyOXeWhMwXA>r9FFFx4o7kQrGaUW*u}7&72`T#auU?VuJR8^zu0Ec}_Z-6R}h zHRe~yz@;L8*;cqkTyWLHQ6g<1;+0jh^OBYwZy|1t|9j}38#@T8!aty7-3{!nb?pEE N002ovPDHLkV1hk%JTU+O literal 0 HcmV?d00001 diff --git a/examples/api/font_family_rc_sgskip.py b/examples/text_labels_and_annotations/font_family_rc_sgskip.py similarity index 100% rename from examples/api/font_family_rc_sgskip.py rename to examples/text_labels_and_annotations/font_family_rc_sgskip.py diff --git a/examples/api/font_file.py b/examples/text_labels_and_annotations/font_file.py similarity index 100% rename from examples/api/font_file.py rename to examples/text_labels_and_annotations/font_file.py diff --git a/examples/api/legend.py b/examples/text_labels_and_annotations/legend.py similarity index 95% rename from examples/api/legend.py rename to examples/text_labels_and_annotations/legend.py index 8a5c25a3a699..7e6162a51c25 100644 --- a/examples/api/legend.py +++ b/examples/text_labels_and_annotations/legend.py @@ -24,7 +24,7 @@ legend = ax.legend(loc='upper center', shadow=True, fontsize='x-large') # Put a nicer background color on the legend. -legend.get_frame().set_facecolor('#00FFCC') +legend.get_frame().set_facecolor('C0') plt.show() diff --git a/examples/api/line_with_text.py b/examples/text_labels_and_annotations/line_with_text.py similarity index 100% rename from examples/api/line_with_text.py rename to examples/text_labels_and_annotations/line_with_text.py diff --git a/examples/api/mathtext_asarray.py b/examples/text_labels_and_annotations/mathtext_asarray.py similarity index 100% rename from examples/api/mathtext_asarray.py rename to examples/text_labels_and_annotations/mathtext_asarray.py diff --git a/examples/api/unicode_minus.py b/examples/text_labels_and_annotations/unicode_minus.py similarity index 100% rename from examples/api/unicode_minus.py rename to examples/text_labels_and_annotations/unicode_minus.py diff --git a/examples/api/watermark_text.py b/examples/text_labels_and_annotations/watermark_text.py similarity index 88% rename from examples/api/watermark_text.py rename to examples/text_labels_and_annotations/watermark_text.py index a5dbdb2ddef9..a4909b9696e9 100644 --- a/examples/api/watermark_text.py +++ b/examples/text_labels_and_annotations/watermark_text.py @@ -3,12 +3,9 @@ Text watermark ============== -Use a Text as a watermark +Adding a text watermark. """ import numpy as np -#import matplotlib -#matplotlib.use('Agg') - import matplotlib.pyplot as plt # Fixing random state for reproducibility @@ -19,7 +16,6 @@ ax.plot(np.random.rand(20), '-o', ms=20, lw=2, alpha=0.7, mfc='orange') ax.grid() -# position bottom right fig.text(0.95, 0.05, 'Property of MPL', fontsize=50, color='gray', ha='right', va='bottom', alpha=0.5) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index d0e5fd415a32..b719cc84d4e0 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -368,7 +368,7 @@ def legend(self, *args, **kwargs): Examples -------- - .. plot:: gallery/api/legend.py + .. plot:: gallery/text_labels_and_annotations/legend.py """ handles, labels, extra_args, kwargs = mlegend._parse_legend_args( diff --git a/lib/matplotlib/path.py b/lib/matplotlib/path.py index ab9c271460bc..e2cee67974bf 100644 --- a/lib/matplotlib/path.py +++ b/lib/matplotlib/path.py @@ -303,7 +303,7 @@ def make_compound_path_from_polys(cls, XY): numsides x 2) numpy array of vertices. Return object is a :class:`Path` - .. plot:: gallery/api/histogram_path.py + .. plot:: gallery/misc/histogram_path.py """ diff --git a/lib/matplotlib/sankey.py b/lib/matplotlib/sankey.py index 8e3d3c28c7ef..72460f4a0ed2 100644 --- a/lib/matplotlib/sankey.py +++ b/lib/matplotlib/sankey.py @@ -118,7 +118,7 @@ def __init__(self, ax=None, scale=1.0, unit='', format='%G', gap=0.25, **Examples:** - .. plot:: gallery/api/sankey_basics.py + .. plot:: gallery/specialty_plots/sankey_basics.py """ # Check the arguments. if gap < 0: diff --git a/tutorials/introductory/lifecycle.py b/tutorials/introductory/lifecycle.py index c8af6d5c6183..515c3b1c75f6 100644 --- a/tutorials/introductory/lifecycle.py +++ b/tutorials/introductory/lifecycle.py @@ -36,9 +36,7 @@ "axis", which refers to the x/y axis of a plot). We call methods that do the plotting directly from the Axes, which gives -us much more flexibility and power in customizing our plot. See the -:ref:`object-oriented examples <api_examples>` for many examples of how -this approach is used. +us much more flexibility and power in customizing our plot. .. note:: diff --git a/tutorials/introductory/sample_plots.py b/tutorials/introductory/sample_plots.py index 97ad1a96948f..f185d17f80ce 100644 --- a/tutorials/introductory/sample_plots.py +++ b/tutorials/introductory/sample_plots.py @@ -333,8 +333,8 @@ generates figure legends, with MATLAB-compatible legend-placement functions. -.. figure:: ../../gallery/api/images/sphx_glr_legend_001.png - :target: ../../gallery/api/legend.html +.. figure:: ../../gallery/text_labels_and_annotations/images/sphx_glr_legend_001.png + :target: ../../gallery/text_labels_and_annotations/legend.html :align: center :scale: 50 From 31f53812521248dd53110373ae9cb257fc0fba78 Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Thu, 24 May 2018 10:45:36 +0100 Subject: [PATCH 0836/1161] Remove api folder mention in examples README --- examples/README | 2 -- 1 file changed, 2 deletions(-) diff --git a/examples/README b/examples/README index 1e89277d289b..746f2e334664 100644 --- a/examples/README +++ b/examples/README @@ -16,8 +16,6 @@ Below is a brief description of the different directories found here: * animation - Dynamic plots, see the documentation at http://matplotlib.org/api/animation_api.html - * api - working with the Matplotlib API directly. - * axes_grid1 - Examples related to the axes_grid1 toolkit. * axisartist - Examples related to the axisartist toolkit. From a351d21feeec8d635e4844bf079c057d3be2314f Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Tue, 26 Jun 2018 10:23:43 +0100 Subject: [PATCH 0837/1161] Fix link --- examples/text_labels_and_annotations/font_file.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/examples/text_labels_and_annotations/font_file.py b/examples/text_labels_and_annotations/font_file.py index 8dc8cddc5315..ed1341c14356 100644 --- a/examples/text_labels_and_annotations/font_file.py +++ b/examples/text_labels_and_annotations/font_file.py @@ -10,7 +10,8 @@ Here, we use the Computer Modern roman font (``cmr10``) shipped with Matplotlib. -For a more flexible solution, see :doc:`/gallery/api/font_family_rc_sgskip` and +For a more flexible solution, see +:doc:`/gallery/text_labels_and_annotations/font_family_rc_sgskip` and :doc:`/gallery/text_labels_and_annotations/fonts_demo`. """ From 26c21b0fe9c0656927ed7f8f143603d36b4f69a7 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Tue, 26 Jun 2018 18:49:31 +0200 Subject: [PATCH 0838/1161] Remove embedding_in_tk_canvas, which demonstrated a private API. --- .../embedding_in_tk_canvas_sgskip.py | 65 ------------------- 1 file changed, 65 deletions(-) delete mode 100644 examples/user_interfaces/embedding_in_tk_canvas_sgskip.py diff --git a/examples/user_interfaces/embedding_in_tk_canvas_sgskip.py b/examples/user_interfaces/embedding_in_tk_canvas_sgskip.py deleted file mode 100644 index b82483d3ab09..000000000000 --- a/examples/user_interfaces/embedding_in_tk_canvas_sgskip.py +++ /dev/null @@ -1,65 +0,0 @@ -""" -====================== -Embedding in Tk Canvas -====================== - -Embedding plots in a Tk Canvas. -""" - -import tkinter - -import numpy as np -import matplotlib as mpl -import matplotlib.backends.tkagg as tkagg -from matplotlib.backends.backend_agg import FigureCanvasAgg - - -def draw_figure(canvas, figure, loc=(0, 0)): - """ Draw a matplotlib figure onto a Tk canvas - - loc: location of top-left corner of figure on canvas in pixels. - Inspired by matplotlib source: lib/matplotlib/backends/backend_tkagg.py - """ - figure_canvas_agg = FigureCanvasAgg(figure) - figure_canvas_agg.draw() - figure_x, figure_y, figure_w, figure_h = figure.bbox.bounds - figure_w, figure_h = int(figure_w), int(figure_h) - photo = tkinter.PhotoImage(master=canvas, width=figure_w, height=figure_h) - - # Position: convert from top-left anchor to center anchor - canvas.create_image(loc[0] + figure_w/2, loc[1] + figure_h/2, image=photo) - - # Unfortunately, there's no accessor for the pointer to the native renderer - tkagg.blit(photo, figure_canvas_agg.get_renderer()._renderer, colormode=2) - - # Return a handle which contains a reference to the photo object - # which must be kept live or else the picture disappears - return photo - -# Create a canvas -w, h = 300, 200 -window = tkinter.Tk() -window.title("A figure in a canvas") -canvas = tkinter.Canvas(window, width=w, height=h) -canvas.pack() - -# Generate some example data -X = np.linspace(0, 2 * np.pi, 50) -Y = np.sin(X) - -# Create the figure we desire to add to an existing canvas -fig = mpl.figure.Figure(figsize=(2, 1)) -ax = fig.add_axes([0, 0, 1, 1]) -ax.plot(X, Y) - -# Keep this handle alive, or else figure will disappear -fig_x, fig_y = 100, 100 -fig_photo = draw_figure(canvas, fig, loc=(fig_x, fig_y)) -fig_w, fig_h = fig_photo.width(), fig_photo.height() - -# Add more elements to the canvas, potentially on top of the figure -canvas.create_line(200, 50, fig_x + fig_w / 2, fig_y + fig_h / 2) -canvas.create_text(200, 50, text="Zero-crossing", anchor="s") - -# Let Tk take over -tkinter.mainloop() From 6cde4bf2858a8c12e5229da571ae13a42a9f1100 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sat, 23 Jun 2018 20:01:39 +0200 Subject: [PATCH 0839/1161] add __repr__ to GridSpecBase --- lib/matplotlib/gridspec.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib/matplotlib/gridspec.py b/lib/matplotlib/gridspec.py index c4f2bf7f703b..efcfb1e879c8 100644 --- a/lib/matplotlib/gridspec.py +++ b/lib/matplotlib/gridspec.py @@ -44,6 +44,18 @@ def __init__(self, nrows, ncols, height_ratios=None, width_ratios=None): self.set_height_ratios(height_ratios) self.set_width_ratios(width_ratios) + def __repr__(self): + height_arg = (', height_ratios=%r' % self._row_height_ratios + if self._row_height_ratios is not None else '') + width_arg = (', width_ratios=%r' % self._col_width_ratios + if self._col_width_ratios is not None else '') + return '{clsname}({nrows}, {ncols}{optionals})'.format( + clsname=self.__class__.__name__, + nrows=self._nrows, + ncols=self._ncols, + optionals=height_arg + width_arg, + ) + def get_geometry(self): 'get the geometry of the grid, e.g., 2,3' return self._nrows, self._ncols From 3ee83539f0a962a10f42e41c13f2d922c9ce9584 Mon Sep 17 00:00:00 2001 From: joelostblom <joel.ostblom@gmail.com> Date: Tue, 26 Jun 2018 19:16:49 -0400 Subject: [PATCH 0840/1161] Update legend loc default value in docstring --- lib/matplotlib/legend.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/legend.py b/lib/matplotlib/legend.py index 25a57a5e6e98..f9c104fd9b35 100644 --- a/lib/matplotlib/legend.py +++ b/lib/matplotlib/legend.py @@ -111,7 +111,7 @@ def _update_bbox_to_anchor(self, loc_in_canvas): _legend_kw_doc = ''' -loc : int or string or pair of floats, default: 'upper right' +loc : int or string or pair of floats, default: :rc:`legend.loc` The location of the legend. Possible codes are: =============== ============= From 5a01cb8d278e178df12b29aa8dd337b0eee05e26 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Wed, 27 Jun 2018 15:00:03 +0200 Subject: [PATCH 0841/1161] Raise ImportError on failure to import backends. This will make backend fallback logic easier (try a backend, if it raises ImportError, move to the next one). --- doc/api/next_api_changes/2018-06-27-AL.rst | 6 ++++++ lib/matplotlib/backends/backend_gtk3.py | 17 +++++++++++------ src/_macosx.m | 15 +++++++++------ 3 files changed, 26 insertions(+), 12 deletions(-) create mode 100644 doc/api/next_api_changes/2018-06-27-AL.rst diff --git a/doc/api/next_api_changes/2018-06-27-AL.rst b/doc/api/next_api_changes/2018-06-27-AL.rst new file mode 100644 index 000000000000..74c32d357386 --- /dev/null +++ b/doc/api/next_api_changes/2018-06-27-AL.rst @@ -0,0 +1,6 @@ +Changes to backend loading +`````````````````````````` + +Failure to load backend modules (``macosx`` on non-framework builds and +``gtk3`` when running headless) now raises `ImportError` (instead of +`RuntimeError` and `TypeError`, respectively. diff --git a/lib/matplotlib/backends/backend_gtk3.py b/lib/matplotlib/backends/backend_gtk3.py index 08aaaea2be9a..68af0c19a301 100644 --- a/lib/matplotlib/backends/backend_gtk3.py +++ b/lib/matplotlib/backends/backend_gtk3.py @@ -23,13 +23,18 @@ # see http://groups.google.com/groups?q=screen+dpi+x11&hl=en&lr=&ie=UTF-8&oe=UTF-8&safe=off&selm=7077.26e81ad5%40swift.cs.tcd.ie&rnum=5 for some info about screen dpi PIXELS_PER_INCH = 96 -cursord = { - cursors.MOVE : Gdk.Cursor.new(Gdk.CursorType.FLEUR), - cursors.HAND : Gdk.Cursor.new(Gdk.CursorType.HAND2), - cursors.POINTER : Gdk.Cursor.new(Gdk.CursorType.LEFT_PTR), - cursors.SELECT_REGION : Gdk.Cursor.new(Gdk.CursorType.TCROSS), - cursors.WAIT : Gdk.Cursor.new(Gdk.CursorType.WATCH), +try: + cursord = { + cursors.MOVE : Gdk.Cursor.new(Gdk.CursorType.FLEUR), + cursors.HAND : Gdk.Cursor.new(Gdk.CursorType.HAND2), + cursors.POINTER : Gdk.Cursor.new(Gdk.CursorType.LEFT_PTR), + cursors.SELECT_REGION : Gdk.Cursor.new(Gdk.CursorType.TCROSS), + cursors.WAIT : Gdk.Cursor.new(Gdk.CursorType.WATCH), } +except TypeError as exc: + # Happens when running headless. Convert to ImportError to cooperate with + # backend switching. + raise ImportError(exc) class TimerGTK3(TimerBase): diff --git a/src/_macosx.m b/src/_macosx.m index 09c80e616cce..2cc9182aa383 100644 --- a/src/_macosx.m +++ b/src/_macosx.m @@ -3025,15 +3025,15 @@ static bool verify_framework(void) && GetCurrentProcess(&psn)==noErr && SetFrontProcess(&psn)==noErr) return true; #endif - PyErr_SetString(PyExc_RuntimeError, + PyErr_SetString(PyExc_ImportError, "Python is not installed as a framework. The Mac OS X backend will " "not be able to function correctly if Python is not installed as a " "framework. See the Python documentation for more information on " "installing Python as a framework on Mac OS X. Please either reinstall " "Python as a framework, or try one of the other backends. If you are " - "using (Ana)Conda please install python.app and replace the use of 'python' " - "with 'pythonw'. See 'Working with Matplotlib on OSX' " - "in the Matplotlib FAQ for more information."); + "using (Ana)Conda please install python.app and replace the use of " + "'python' with 'pythonw'. See 'Working with Matplotlib on OSX' in the " + "Matplotlib FAQ for more information."); return false; } @@ -3041,7 +3041,10 @@ static bool verify_framework(void) {"show", (PyCFunction)show, METH_NOARGS, - "Show all the figures and enter the main loop.\nThis function does not return until all Matplotlib windows are closed,\nand is normally not needed in interactive sessions." + "Show all the figures and enter the main loop.\n" + "\n" + "This function does not return until all Matplotlib windows are closed,\n" + "and is normally not needed in interactive sessions." }, {"choose_save_file", (PyCFunction)choose_save_file, @@ -3053,7 +3056,7 @@ static bool verify_framework(void) METH_VARARGS, "Sets the active cursor." }, - {NULL, NULL, 0, NULL}/* sentinel */ + {NULL, NULL, 0, NULL} /* sentinel */ }; static struct PyModuleDef moduledef = { From 40c9fdd59cb6518cf0353845d1c89572924e2a74 Mon Sep 17 00:00:00 2001 From: joelostblom <joel.ostblom@gmail.com> Date: Wed, 27 Jun 2018 09:40:34 -0400 Subject: [PATCH 0842/1161] State default rcParam values --- lib/matplotlib/legend.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/legend.py b/lib/matplotlib/legend.py index f9c104fd9b35..6821d39566cc 100644 --- a/lib/matplotlib/legend.py +++ b/lib/matplotlib/legend.py @@ -111,7 +111,8 @@ def _update_bbox_to_anchor(self, loc_in_canvas): _legend_kw_doc = ''' -loc : int or string or pair of floats, default: :rc:`legend.loc` +loc : int or string or pair of floats, default: :rc:`legend.loc` ('best' for \ +axes, 'upper right' for figures) The location of the legend. Possible codes are: =============== ============= From 083535603f61fe49decc319fa16fef992e3ad18b Mon Sep 17 00:00:00 2001 From: joelostblom <joel.ostblom@gmail.com> Date: Wed, 27 Jun 2018 10:08:45 -0400 Subject: [PATCH 0843/1161] Add missing `.` to rcParam --- lib/matplotlib/figure.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index 81ecfe9781bd..c96d787d46a4 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -700,7 +700,7 @@ def suptitle(self, t, **kwargs): The font size of the text. See `.Text.set_size` for possible values. - fontweight, weight : default: :rc:`figuretitleweight` + fontweight, weight : default: :rc:`figure.titleweight` The font weight of the text. See `.Text.set_weight` for possible values. From 168990b5ee184080aec9ac5ee67ce6b16fe78d2d Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Wed, 27 Jun 2018 16:16:48 +0200 Subject: [PATCH 0844/1161] Small cleanups. Splitting them out of the backend switching PR. - Removed `matplotlib.sphinxext.plot_directive.sphinx_version` -- it's unused, and less accurate than `sphinx.version_info` (it's limited to major.minor). - Small reorderings in `testing/__init__.py` -- in particular, one comment was misplaced. - In `test_rcparams.py`, move the global setting of `text.usetex` and `lines.linewidth` to the sole test that actually works with them. Note that changes to rcParams are cleared at the end of every test function by an autouse fixture. --- .../2018-02-26-AL-removals.rst | 4 +++ lib/matplotlib/sphinxext/plot_directive.py | 6 ----- lib/matplotlib/testing/__init__.py | 9 +++---- lib/matplotlib/tests/test_rcparams.py | 25 ++++++++----------- setup.py | 5 +--- 5 files changed, 19 insertions(+), 30 deletions(-) diff --git a/doc/api/next_api_changes/2018-02-26-AL-removals.rst b/doc/api/next_api_changes/2018-02-26-AL-removals.rst index b94d32bd8a90..a8b7cc789fcc 100644 --- a/doc/api/next_api_changes/2018-02-26-AL-removals.rst +++ b/doc/api/next_api_changes/2018-02-26-AL-removals.rst @@ -36,3 +36,7 @@ The following deprecated API elements have been removed: - passing non-numbers to ``EngFormatter.format_eng``, - passing ``frac`` to ``PolarAxes.set_theta_grids``, - any mention of idle events, + +The following API elements have been removed: + +- ``matplotlib.sphinxext.sphinx_version``, diff --git a/lib/matplotlib/sphinxext/plot_directive.py b/lib/matplotlib/sphinxext/plot_directive.py index 85aec8940ca2..da081d00b2e4 100644 --- a/lib/matplotlib/sphinxext/plot_directive.py +++ b/lib/matplotlib/sphinxext/plot_directive.py @@ -153,12 +153,6 @@ align = Image.align import sphinx -sphinx_version = sphinx.__version__.split(".") -# The split is necessary for sphinx beta versions where the string is -# '6b1' -sphinx_version = tuple([int(re.split('[^0-9]', x)[0]) - for x in sphinx_version[:2]]) - import jinja2 # Sphinx dependency. import matplotlib diff --git a/lib/matplotlib/testing/__init__.py b/lib/matplotlib/testing/__init__.py index ffc2c7fee03c..759ea5ca9f65 100644 --- a/lib/matplotlib/testing/__init__.py +++ b/lib/matplotlib/testing/__init__.py @@ -1,4 +1,5 @@ import functools +import locale import warnings import matplotlib as mpl @@ -24,8 +25,6 @@ def set_reproducibility_for_testing(): def setup(): # The baseline images are created in this locale, so we should use # it during all of the tests. - import locale - from matplotlib.backends import backend_agg, backend_pdf, backend_svg try: locale.setlocale(locale.LC_ALL, 'en_US.UTF-8') @@ -35,15 +34,15 @@ def setup(): except locale.Error: warnings.warn( "Could not set locale to English/United States. " - "Some date-related tests may fail") + "Some date-related tests may fail.") mpl.use('Agg', warn=False) # use Agg backend for these tests - # These settings *must* be hardcoded for running the comparison tests and - # are not necessarily the default values as specified in rcsetup.py with warnings.catch_warnings(): warnings.simplefilter("ignore", MatplotlibDeprecationWarning) mpl.rcdefaults() # Start with all defaults + # These settings *must* be hardcoded for running the comparison tests and + # are not necessarily the default values as specified in rcsetup.py. set_font_settings_for_testing() set_reproducibility_for_testing() diff --git a/lib/matplotlib/tests/test_rcparams.py b/lib/matplotlib/tests/test_rcparams.py index 2d2bac44ed29..d78c033b53da 100644 --- a/lib/matplotlib/tests/test_rcparams.py +++ b/lib/matplotlib/tests/test_rcparams.py @@ -1,4 +1,7 @@ from collections import OrderedDict +import copy +from itertools import chain +import locale import os from unittest import mock import warnings @@ -9,7 +12,6 @@ import matplotlib as mpl import matplotlib.pyplot as plt import matplotlib.colors as mcolors -from itertools import chain import numpy as np from matplotlib.rcsetup import (validate_bool_maybe_none, validate_stringlist, @@ -25,15 +27,13 @@ _validate_linestyle) -mpl.rc('text', usetex=False) -mpl.rc('lines', linewidth=22) - -fname = os.path.join(os.path.dirname(__file__), 'test_rcparams.rc') - - def test_rcparams(): + mpl.rc('text', usetex=False) + mpl.rc('lines', linewidth=22) + usetex = mpl.rcParams['text.usetex'] linewidth = mpl.rcParams['lines.linewidth'] + fname = os.path.join(os.path.dirname(__file__), 'test_rcparams.rc') # test context given dictionary with mpl.rc_context(rc={'text.usetex': not usetex}): @@ -51,11 +51,8 @@ def test_rcparams(): assert mpl.rcParams['lines.linewidth'] == linewidth # test rc_file - try: - mpl.rc_file(fname) - assert mpl.rcParams['lines.linewidth'] == 33 - finally: - mpl.rcParams['lines.linewidth'] = linewidth + mpl.rc_file(fname) + assert mpl.rcParams['lines.linewidth'] == 33 def test_RcParams_class(): @@ -131,8 +128,7 @@ def test_Bug_2543(): mpl.rcParams[key] = _copy[key] mpl.rcParams['text.dvipnghack'] = None with mpl.rc_context(): - from copy import deepcopy - _deep_copy = deepcopy(mpl.rcParams) + _deep_copy = copy.deepcopy(mpl.rcParams) # real test is that this does not raise assert validate_bool_maybe_none(None) is None assert validate_bool_maybe_none("none") is None @@ -194,7 +190,6 @@ def test_mec_rcparams(): def test_Issue_1713(): utf32_be = os.path.join(os.path.dirname(__file__), 'test_utf32_be_rcparams.rc') - import locale with mock.patch('locale.getpreferredencoding', return_value='UTF-32-BE'): rc = mpl.rc_params_from_file(utf32_be, True, False) assert rc.get('timezone') == 'UTC' diff --git a/setup.py b/setup.py index 7d23246f8647..03ca28762231 100644 --- a/setup.py +++ b/setup.py @@ -241,10 +241,8 @@ def run(self): for mod in ext_modules: mod.finalize() - extra_args = {} - # Finally, pass this all along to distutils to do the heavy lifting. - distrib = setup( + setup( name="matplotlib", version=__version__, description="Python plotting package", @@ -278,5 +276,4 @@ def run(self): # check for zip safety. zip_safe=False, cmdclass=cmdclass, - **extra_args ) From a3ed0fdfea83dec89becc50088025009b30aa9e1 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Thu, 28 Jun 2018 14:11:59 +0200 Subject: [PATCH 0845/1161] Replace an unnecessary zip() in mplot3d by numpy ops. Collection.set_offsets ensures that `offsets` is a numpy array, so at least in the case where the array is not empty, `xs` and `ys` can just be views. Probably a tiny bit faster. --- lib/mpl_toolkits/mplot3d/art3d.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/mpl_toolkits/mplot3d/art3d.py b/lib/mpl_toolkits/mplot3d/art3d.py index 7a669e46dac6..a2084da837f6 100644 --- a/lib/mpl_toolkits/mplot3d/art3d.py +++ b/lib/mpl_toolkits/mplot3d/art3d.py @@ -380,7 +380,7 @@ def set_3d_properties(self, zs, zdir): self.update_scalarmappable() offsets = self.get_offsets() if len(offsets) > 0: - xs, ys = zip(*offsets) + xs, ys = offsets.T else: xs = [] ys = [] @@ -446,7 +446,7 @@ def set_3d_properties(self, zs, zdir): self.update_scalarmappable() offsets = self.get_offsets() if len(offsets) > 0: - xs, ys = zip(*offsets) + xs, ys = offsets.T else: xs = [] ys = [] From d15c344aae80504cbe4d32b9becb4b237160de45 Mon Sep 17 00:00:00 2001 From: Taras Kuzyo <kuzyo.taras@gmail.com> Date: Thu, 28 Jun 2018 19:32:53 +0300 Subject: [PATCH 0846/1161] Ensuring both x and y attrs of LocationEvent are int --- lib/matplotlib/backend_bases.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/backend_bases.py b/lib/matplotlib/backend_bases.py index 54728fe05d6b..29bebe7131d9 100644 --- a/lib/matplotlib/backend_bases.py +++ b/lib/matplotlib/backend_bases.py @@ -1365,8 +1365,8 @@ def __init__(self, name, canvas, x, y, guiEvent=None): *x*, *y* in figure coords, 0,0 = bottom, left """ Event.__init__(self, name, canvas, guiEvent=guiEvent) - self.x = x # x position - pixels from left of canvas - self.y = y # y position - pixels from right of canvas + self.x = int(x) # x position - pixels from left of canvas + self.y = int(y) # y position - pixels from right of canvas self.inaxes = None # the Axes instance if mouse us over axes self.xdata = None # x coord of mouse in data coords self.ydata = None # y coord of mouse in data coords From 25b736a0e2c865f31b4559de4613a3775155c064 Mon Sep 17 00:00:00 2001 From: Harshal Prakash Patankar <15175620+pharshalp@users.noreply.github.com> Date: Thu, 28 Jun 2018 16:14:51 -0400 Subject: [PATCH 0847/1161] add documentation for quality in savefig (#11529) * add documentation for quality in savefig based on the discussion here https://github.com/matplotlib/matplotlib/issues/458 and also using some of the lines from https://matplotlib.org/api/backend_agg_api.html?highlight=print_jpeg#matplotlib.backends.backend_agg.FigureCanvasAgg.print_jpeg --- lib/matplotlib/figure.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index c96d787d46a4..c811a334190f 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -1812,6 +1812,13 @@ def savefig(self, fname, *, frameon=None, transparent=None, **kwargs): The resolution in dots per inch. If *None*, defaults to :rc:`savefig.dpi`. If 'figure', uses the figure's dpi value. + quality : [ *None* | 1 <= scalar <= 100 ] + The image quality, on a scale from 1 (worst) to 95 (best). + Applicable only if *format* is jpg or jpeg, ignored otherwise. + If *None*, defaults to :rc:`savefig.jpeg_quality` (95 by default). + Values above 95 should be avoided; 100 completely disables the + JPEG quantization stage. + facecolor : color spec or None, optional The facecolor of the figure; if *None*, defaults to :rc:`savefig.facecolor`. From a894b95f4ac1d95d347d347ae3180ddfafd64384 Mon Sep 17 00:00:00 2001 From: Harnesser <harnesser+github@gmail.com> Date: Thu, 28 Jun 2018 21:26:34 +0100 Subject: [PATCH 0848/1161] Fix the display of negative radian values --- examples/units/basic_units.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/examples/units/basic_units.py b/examples/units/basic_units.py index 13ecf6efdd31..aae4325fd3f2 100644 --- a/examples/units/basic_units.py +++ b/examples/units/basic_units.py @@ -297,13 +297,21 @@ def __call__(self, operation, units): # radians formatting def rad_fn(x, pos=None): - n = int((x / np.pi) * 2.0 + 0.25) + if x >= 0: + n = int((x / np.pi) * 2.0 + 0.25) + else: + n = int((x / np.pi) * 2.0 - 0.25) + if n == 0: return '0' elif n == 1: return r'$\pi/2$' elif n == 2: return r'$\pi$' + elif n == -1: + return r'$-\pi/2$' + elif n == -2: + return r'$-\pi$' elif n % 2 == 0: return r'$%s\pi$' % (n//2,) else: From a20f6e1b51fa781cc3503c83f9692607683f411f Mon Sep 17 00:00:00 2001 From: Taras Kuzyo <kuzyo.taras@gmail.com> Date: Fri, 29 Jun 2018 09:48:54 +0300 Subject: [PATCH 0849/1161] taking into account possible None values of x and y --- lib/matplotlib/backend_bases.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/backend_bases.py b/lib/matplotlib/backend_bases.py index 29bebe7131d9..05b94fe4bb3f 100644 --- a/lib/matplotlib/backend_bases.py +++ b/lib/matplotlib/backend_bases.py @@ -1342,10 +1342,10 @@ class LocationEvent(Event): Attributes ---------- - x : scalar + x : int x position - pixels from left of canvas - y : scalar + y : int y position - pixels from bottom of canvas inaxes : bool @@ -1365,8 +1365,8 @@ def __init__(self, name, canvas, x, y, guiEvent=None): *x*, *y* in figure coords, 0,0 = bottom, left """ Event.__init__(self, name, canvas, guiEvent=guiEvent) - self.x = int(x) # x position - pixels from left of canvas - self.y = int(y) # y position - pixels from right of canvas + self.x = int(x) if x is not None else 0 # x position - pixels from left of canvas + self.y = int(y) if y is not None else 0 # y position - pixels from right of canvas self.inaxes = None # the Axes instance if mouse us over axes self.xdata = None # x coord of mouse in data coords self.ydata = None # y coord of mouse in data coords From b3be888cc658e69419d92a7312ff9caaf4e08dd5 Mon Sep 17 00:00:00 2001 From: Taras Kuzyo <kuzyo.taras@gmail.com> Date: Fri, 29 Jun 2018 10:40:20 +0300 Subject: [PATCH 0850/1161] E501 check --- lib/matplotlib/backend_bases.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/backend_bases.py b/lib/matplotlib/backend_bases.py index 05b94fe4bb3f..f9094107d347 100644 --- a/lib/matplotlib/backend_bases.py +++ b/lib/matplotlib/backend_bases.py @@ -1365,8 +1365,10 @@ def __init__(self, name, canvas, x, y, guiEvent=None): *x*, *y* in figure coords, 0,0 = bottom, left """ Event.__init__(self, name, canvas, guiEvent=guiEvent) - self.x = int(x) if x is not None else 0 # x position - pixels from left of canvas - self.y = int(y) if y is not None else 0 # y position - pixels from right of canvas + # x position - pixels from left of canvas + self.x = int(x) if x is not None else 0 + # y position - pixels from right of canvas + self.y = int(y) if y is not None else 0 self.inaxes = None # the Axes instance if mouse us over axes self.xdata = None # x coord of mouse in data coords self.ydata = None # y coord of mouse in data coords From ff1cee39feb626fddd827b998a4a8af9023cf712 Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Fri, 29 Jun 2018 11:54:45 +0100 Subject: [PATCH 0851/1161] Fix invalid value warning when autoscaling with no data limits --- lib/matplotlib/axes/_base.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index c201c09b9189..71edc6281d6a 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -2429,7 +2429,13 @@ def handle_single_axis(scale, autoscaleon, shared_axes, interval, do_upper_margin = not np.any(np.isclose(x1, stickies)) x0, x1 = axis._scale.limit_range_for_scale(x0, x1, minpos) x0t, x1t = transform.transform([x0, x1]) - delta = (x1t - x0t) * margin + + if (np.isfinite(x1t) and np.isfinite(x0t)): + delta = (x1t - x0t) * margin + else: + # If at least one bound isn't finite, set margin to zero + delta = 0 + if do_lower_margin: x0t -= delta if do_upper_margin: From 9c9d78c029cf091c89cd49a6038555260eb37f6f Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Fri, 29 Jun 2018 11:59:53 +0100 Subject: [PATCH 0852/1161] Also skip wire3d, and add comments --- examples/mplot3d/rotate_axes3d_sgskip.py | 3 +++ .../{wire3d_animation.py => wire3d_animation_sgskip.py} | 3 +++ 2 files changed, 6 insertions(+) rename examples/mplot3d/{wire3d_animation.py => wire3d_animation_sgskip.py} (90%) diff --git a/examples/mplot3d/rotate_axes3d_sgskip.py b/examples/mplot3d/rotate_axes3d_sgskip.py index aa12f3ce9a9a..666bb68f6cd7 100644 --- a/examples/mplot3d/rotate_axes3d_sgskip.py +++ b/examples/mplot3d/rotate_axes3d_sgskip.py @@ -6,6 +6,9 @@ A very simple animation of a rotating 3D plot. See wire3d_animation_demo for another simple example of animating a 3D plot. + +(This example is skipped when building the documentation gallery because it +intentionally takes a long time to run) ''' from mpl_toolkits.mplot3d import axes3d diff --git a/examples/mplot3d/wire3d_animation.py b/examples/mplot3d/wire3d_animation_sgskip.py similarity index 90% rename from examples/mplot3d/wire3d_animation.py rename to examples/mplot3d/wire3d_animation_sgskip.py index f52fa46d49b0..303a2817a0df 100644 --- a/examples/mplot3d/wire3d_animation.py +++ b/examples/mplot3d/wire3d_animation_sgskip.py @@ -4,6 +4,9 @@ ========================== A very simple 'animation' of a 3D plot. See also rotate_axes3d_demo. + +(This example is skipped when building the documentation gallery because it +intentionally takes a long time to run) """ From 3c3c44d263e6a4314a543afc4d86e6224b108709 Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Fri, 29 Jun 2018 14:55:49 +0100 Subject: [PATCH 0853/1161] Re-enable pep8 on examples folder --- examples/axisartist/demo_parasite_axes.py | 2 +- examples/axisartist/demo_parasite_axes2.py | 2 +- .../images_contours_and_fields/barb_demo.py | 1 - .../image_masked.py | 1 - .../images_contours_and_fields/pcolor_demo.py | 2 +- .../plot_streamplot.py | 1 - .../quiver_simple_demo.py | 1 - .../marker_reference.py | 5 +- examples/misc/histogram_path.py | 18 +++---- examples/pyplots/align_ylabels.py | 7 +-- examples/pyplots/pyplot_scales.py | 2 +- examples/specialty_plots/sankey_links.py | 1 - .../usetex_demo.py | 4 +- examples/units/basic_units.py | 2 +- pytest.ini | 54 +++++++++---------- 15 files changed, 49 insertions(+), 54 deletions(-) diff --git a/examples/axisartist/demo_parasite_axes.py b/examples/axisartist/demo_parasite_axes.py index 55c3d6e815d7..d7e852f96fe6 100644 --- a/examples/axisartist/demo_parasite_axes.py +++ b/examples/axisartist/demo_parasite_axes.py @@ -4,7 +4,7 @@ ================== Create a parasite axes. Such axes would share the x scale with a host axes, -but show a different scale in y direction. +but show a different scale in y direction. Note that this approach uses the `~mpl_toolkits.axes_grid1.parasite_axes`\' `~.mpl_toolkits.axes_grid1.parasite_axes.HostAxes` and diff --git a/examples/axisartist/demo_parasite_axes2.py b/examples/axisartist/demo_parasite_axes2.py index c89614658f9b..b2bf3b4b66da 100644 --- a/examples/axisartist/demo_parasite_axes2.py +++ b/examples/axisartist/demo_parasite_axes2.py @@ -14,7 +14,7 @@ Note that this approach uses the `mpl_toolkits.axes_grid1.parasite_axes`\' `~mpl_toolkits.axes_grid1.parasite_axes.host_subplot` and -`mpl_toolkits.axisartist.axislines.Axes`. An alternative approach using the +`mpl_toolkits.axisartist.axislines.Axes`. An alternative approach using the `~mpl_toolkits.axes_grid1.parasite_axes`\'s `~.mpl_toolkits.axes_grid1.parasite_axes.HostAxes` and `~.mpl_toolkits.axes_grid1.parasite_axes.ParasiteAxes` is the diff --git a/examples/images_contours_and_fields/barb_demo.py b/examples/images_contours_and_fields/barb_demo.py index 00331d64a703..950acc281fd0 100644 --- a/examples/images_contours_and_fields/barb_demo.py +++ b/examples/images_contours_and_fields/barb_demo.py @@ -65,4 +65,3 @@ import matplotlib matplotlib.axes.Axes.barbs matplotlib.pyplot.barbs - diff --git a/examples/images_contours_and_fields/image_masked.py b/examples/images_contours_and_fields/image_masked.py index af718c8536b7..b8f13c5726c8 100644 --- a/examples/images_contours_and_fields/image_masked.py +++ b/examples/images_contours_and_fields/image_masked.py @@ -91,4 +91,3 @@ matplotlib.pyplot.colorbar matplotlib.colors.BoundaryNorm matplotlib.colorbar.ColorbarBase.set_label - diff --git a/examples/images_contours_and_fields/pcolor_demo.py b/examples/images_contours_and_fields/pcolor_demo.py index 551b3238d145..2ddc0f3b5a4d 100644 --- a/examples/images_contours_and_fields/pcolor_demo.py +++ b/examples/images_contours_and_fields/pcolor_demo.py @@ -6,7 +6,7 @@ Generating images with :meth:`~.axes.Axes.pcolor`. Pcolor allows you to generate 2-D image-style plots. Below we will show how -to do so in Matplotlib. +to do so in Matplotlib. """ import matplotlib.pyplot as plt import numpy as np diff --git a/examples/images_contours_and_fields/plot_streamplot.py b/examples/images_contours_and_fields/plot_streamplot.py index 2f577c76d421..5f142899c86e 100644 --- a/examples/images_contours_and_fields/plot_streamplot.py +++ b/examples/images_contours_and_fields/plot_streamplot.py @@ -85,4 +85,3 @@ matplotlib.pyplot.streamplot matplotlib.gridspec matplotlib.gridspec.GridSpec - diff --git a/examples/images_contours_and_fields/quiver_simple_demo.py b/examples/images_contours_and_fields/quiver_simple_demo.py index 61d5e8ff5f63..0393a4857cbd 100644 --- a/examples/images_contours_and_fields/quiver_simple_demo.py +++ b/examples/images_contours_and_fields/quiver_simple_demo.py @@ -36,4 +36,3 @@ matplotlib.pyplot.quiver matplotlib.axes.Axes.quiverkey matplotlib.pyplot.quiverkey - diff --git a/examples/lines_bars_and_markers/marker_reference.py b/examples/lines_bars_and_markers/marker_reference.py index 715e8d685a80..829557c4647a 100644 --- a/examples/lines_bars_and_markers/marker_reference.py +++ b/examples/lines_bars_and_markers/marker_reference.py @@ -65,7 +65,6 @@ def split_list(a_list): plt.show() - ############################################################################### # Plot all filled markers. @@ -86,8 +85,8 @@ def split_list(a_list): # # # Use :doc:`MathText </tutorials/text/mathtext>`, to use custom marker symbols, -# like e.g. ``"$\u266B$"``. For an overview over the STIX font symbols refer to the -# `STIX font table <http://www.stixfonts.org/allGlyphs.html>`_. +# like e.g. ``"$\u266B$"``. For an overview over the STIX font symbols refer +# to the `STIX font table <http://www.stixfonts.org/allGlyphs.html>`_. # Also see the :doc:`/gallery/text_labels_and_annotations/stix_fonts_demo`. diff --git a/examples/misc/histogram_path.py b/examples/misc/histogram_path.py index 1aeefb56a97e..4eb4d68ba2d5 100644 --- a/examples/misc/histogram_path.py +++ b/examples/misc/histogram_path.py @@ -65,14 +65,14 @@ codes = np.ones(nverts, int) * path.Path.LINETO codes[0::5] = path.Path.MOVETO codes[4::5] = path.Path.CLOSEPOLY -verts[0::5,0] = left -verts[0::5,1] = bottom -verts[1::5,0] = left -verts[1::5,1] = top -verts[2::5,0] = right -verts[2::5,1] = top -verts[3::5,0] = right -verts[3::5,1] = bottom +verts[0::5, 0] = left +verts[0::5, 1] = bottom +verts[1::5, 0] = left +verts[1::5, 1] = top +verts[2::5, 0] = right +verts[2::5, 1] = top +verts[3::5, 0] = right +verts[3::5, 1] = bottom barpath = path.Path(verts, codes) @@ -95,6 +95,6 @@ matplotlib.axes.Axes.add_patch matplotlib.collections.PathCollection -# This example shows an alternative to +# This example shows an alternative to matplotlib.collections.PolyCollection matplotlib.axes.Axes.hist diff --git a/examples/pyplots/align_ylabels.py b/examples/pyplots/align_ylabels.py index fed5d83c5ce5..09711eef28aa 100644 --- a/examples/pyplots/align_ylabels.py +++ b/examples/pyplots/align_ylabels.py @@ -10,6 +10,7 @@ import numpy as np import matplotlib.pyplot as plt + def make_plot(axs): box = dict(facecolor='yellow', pad=5, alpha=0.2) @@ -22,7 +23,7 @@ def make_plot(axs): ax1.set_ylim(0, 2000) ax3 = axs[1, 0] - ax3.set_ylabel('misaligned 2',bbox=box) + ax3.set_ylabel('misaligned 2', bbox=box) ax3.plot(np.random.rand(10)) ax2 = axs[0, 1] @@ -35,14 +36,14 @@ def make_plot(axs): ax4.plot(np.random.rand(10)) ax4.set_ylabel('aligned 2', bbox=box) -# Plot 1: +# Plot 1: fig, axs = plt.subplots(2, 2) fig.subplots_adjust(left=0.2, wspace=0.6) make_plot(axs) # just align the last column of axes: -fig.align_ylabels(axs[:,1]) +fig.align_ylabels(axs[:, 1]) plt.show() ############################################################################# diff --git a/examples/pyplots/pyplot_scales.py b/examples/pyplots/pyplot_scales.py index 910d11323dbe..a45647b88dda 100644 --- a/examples/pyplots/pyplot_scales.py +++ b/examples/pyplots/pyplot_scales.py @@ -79,4 +79,4 @@ matplotlib.pyplot.gca matplotlib.pyplot.yscale matplotlib.ticker.NullFormatter -matplotlib.axis.Axis.set_minor_formatter +matplotlib.axis.Axis.set_minor_formatter diff --git a/examples/specialty_plots/sankey_links.py b/examples/specialty_plots/sankey_links.py index d53d8e34b172..7221d3592058 100644 --- a/examples/specialty_plots/sankey_links.py +++ b/examples/specialty_plots/sankey_links.py @@ -73,4 +73,3 @@ def corner(sankey): matplotlib.sankey.Sankey matplotlib.sankey.Sankey.add matplotlib.sankey.Sankey.finish - diff --git a/examples/text_labels_and_annotations/usetex_demo.py b/examples/text_labels_and_annotations/usetex_demo.py index 390ddea6c646..6d5392edadb4 100644 --- a/examples/text_labels_and_annotations/usetex_demo.py +++ b/examples/text_labels_and_annotations/usetex_demo.py @@ -29,8 +29,8 @@ xytext=(delta / 2., 0.1), textcoords='data', arrowprops=dict(arrowstyle="<->", connectionstyle="arc3")) plt.text(0, 0.1, r'$\delta$', - {'color': 'k', 'fontsize': 24, 'ha' : 'center', 'va' : 'center', - 'bbox' : dict(boxstyle="round", fc="w", ec="k", pad=0.2)}) + {'color': 'k', 'fontsize': 24, 'ha': 'center', 'va': 'center', + 'bbox': dict(boxstyle="round", fc="w", ec="k", pad=0.2)}) # Use tex in labels plt.xticks((-1, 0, 1), ('$-1$', r'$\pm 0$', '$+1$'), color='k', size=20) diff --git a/examples/units/basic_units.py b/examples/units/basic_units.py index aae4325fd3f2..ed6990e1aa40 100644 --- a/examples/units/basic_units.py +++ b/examples/units/basic_units.py @@ -301,7 +301,7 @@ def rad_fn(x, pos=None): n = int((x / np.pi) * 2.0 + 0.25) else: n = int((x / np.pi) * 2.0 - 0.25) - + if n == 0: return '0' elif n == 1: diff --git a/pytest.ini b/pytest.ini index 42660b6cdee8..c372f3404d1b 100644 --- a/pytest.ini +++ b/pytest.ini @@ -1,5 +1,5 @@ [pytest] -testpaths = lib +testpaths = lib examples python_files = test_*.py markers = @@ -99,29 +99,29 @@ pep8ignore = doc/* E302 E501 tutorials/* E402 E501 - *examples/* E501 E402 - *examples/misc/table_demo.py E201 - *examples/images_contours_and_fields/tricontour_demo.py E201 - *examples/images_contours_and_fields/tripcolor_demo.py E201 - *examples/images_contours_and_fields/triplot_demo.py E201 - *examples/pyplots/align_ylabels.py E231 - *examples/pyplots/annotate_transform.py E228 E251 - *examples/pyplots/annotation_basic.py E231 - *examples/pyplots/annotation_polar.py E231 - *examples/pyplots/auto_subplots_adjust.py E231 E261 E302 W391 - *examples/pyplots/boxplot_demo_pyplot.py E231 - *examples/pyplots/compound_path_demo.py E231 - *examples/pyplots/fig_axes_customize_simple.py E261 - *examples/pyplots/pyplot_formatstr.py E231 - *examples/pyplots/pyplot_mathtext.py E231 - *examples/pyplots/pyplot_simple.py E231 - *examples/pyplots/pyplot_two_subplots.py E302 - *examples/pyplots/text_commands.py E231 - *examples/pyplots/text_layout.py E231 - *examples/pyplots/whats_new_1_subplot3d.py W391 - *examples/pyplots/whats_new_98_4_fancy.py E225 E261 E302 - *examples/pyplots/whats_new_98_4_fill_between.py E225 - *examples/pyplots/whats_new_98_4_legend.py E228 - *examples/pyplots/whats_new_99_axes_grid.py E225 E231 E302 E303 - *examples/pyplots/whats_new_99_spines.py E231 E261 - *examples/shapes_and_collections/artist_reference.py E203 + examples/* E501 E402 + examples/misc/table_demo.py E201 + examples/images_contours_and_fields/tricontour_demo.py E201 + examples/images_contours_and_fields/tripcolor_demo.py E201 + examples/images_contours_and_fields/triplot_demo.py E201 + examples/pyplots/align_ylabels.py E231 + examples/pyplots/annotate_transform.py E228 E251 + examples/pyplots/annotation_basic.py E231 + examples/pyplots/annotation_polar.py E231 + examples/pyplots/auto_subplots_adjust.py E231 E261 E302 W391 + examples/pyplots/boxplot_demo_pyplot.py E231 + examples/pyplots/compound_path_demo.py E231 + examples/pyplots/fig_axes_customize_simple.py E261 + examples/pyplots/pyplot_formatstr.py E231 + examples/pyplots/pyplot_mathtext.py E231 + examples/pyplots/pyplot_simple.py E231 + examples/pyplots/pyplot_two_subplots.py E302 + examples/pyplots/text_commands.py E231 + examples/pyplots/text_layout.py E231 + examples/pyplots/whats_new_1_subplot3d.py W391 + examples/pyplots/whats_new_98_4_fancy.py E225 E261 E302 + examples/pyplots/whats_new_98_4_fill_between.py E225 + examples/pyplots/whats_new_98_4_legend.py E228 + examples/pyplots/whats_new_99_axes_grid.py E225 E231 E302 E303 + examples/pyplots/whats_new_99_spines.py E231 E261 + examples/shapes_and_collections/artist_reference.py E203 From 43f19261665476de97143306ed32b803b46d375c Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Fri, 29 Jun 2018 15:15:12 +0100 Subject: [PATCH 0854/1161] Fix multiple imports --- examples/pyplots/whats_new_1_subplot3d.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/examples/pyplots/whats_new_1_subplot3d.py b/examples/pyplots/whats_new_1_subplot3d.py index 5372ad10e0f1..0e69530deec4 100644 --- a/examples/pyplots/whats_new_1_subplot3d.py +++ b/examples/pyplots/whats_new_1_subplot3d.py @@ -45,7 +45,8 @@ # The use of the following functions, methods, classes and modules is shown # in this example: -import matplotlib, mpl_toolkits +import matplotlib +import mpl_toolkits matplotlib.figure.Figure.add_subplot mpl_toolkits.mplot3d.axes3d.Axes3D.plot_surface mpl_toolkits.mplot3d.axes3d.Axes3D.plot_wireframe From bda50d0f607a64dbef07b5ed6672259aedc58345 Mon Sep 17 00:00:00 2001 From: Taras Kuzyo <kuzyo.taras@gmail.com> Date: Fri, 29 Jun 2018 20:30:01 +0300 Subject: [PATCH 0855/1161] passing through None --- lib/matplotlib/backend_bases.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/backend_bases.py b/lib/matplotlib/backend_bases.py index f9094107d347..c1ab1620c111 100644 --- a/lib/matplotlib/backend_bases.py +++ b/lib/matplotlib/backend_bases.py @@ -1366,9 +1366,9 @@ def __init__(self, name, canvas, x, y, guiEvent=None): """ Event.__init__(self, name, canvas, guiEvent=guiEvent) # x position - pixels from left of canvas - self.x = int(x) if x is not None else 0 + self.x = int(x) if x is not None else x # y position - pixels from right of canvas - self.y = int(y) if y is not None else 0 + self.y = int(y) if y is not None else y self.inaxes = None # the Axes instance if mouse us over axes self.xdata = None # x coord of mouse in data coords self.ydata = None # y coord of mouse in data coords From 8853a3f8fa0de8c45677a699cf495bb2a951f9ed Mon Sep 17 00:00:00 2001 From: Taras Kuzyo <kuzyo.taras@gmail.com> Date: Fri, 29 Jun 2018 20:30:11 +0300 Subject: [PATCH 0856/1161] passing through None --- lib/matplotlib/backend_bases.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/backend_bases.py b/lib/matplotlib/backend_bases.py index c1ab1620c111..e0ea6cea5de5 100644 --- a/lib/matplotlib/backend_bases.py +++ b/lib/matplotlib/backend_bases.py @@ -1342,10 +1342,10 @@ class LocationEvent(Event): Attributes ---------- - x : int + x : scalar x position - pixels from left of canvas - y : int + y : scalar y position - pixels from bottom of canvas inaxes : bool From 509efc549629d3c75ebf7bc10356c2f8d4cde4d2 Mon Sep 17 00:00:00 2001 From: fredrik-1 <sandquist.fredrik@gmail.com> Date: Thu, 28 Jun 2018 10:57:07 +0200 Subject: [PATCH 0857/1161] adding axes to modules --- doc/api/axes_api.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/api/axes_api.rst b/doc/api/axes_api.rst index fad2ea637088..0cee178cd623 100644 --- a/doc/api/axes_api.rst +++ b/doc/api/axes_api.rst @@ -4,6 +4,10 @@ axes .. currentmodule:: matplotlib.axes +.. automodule:: matplotlib.axes + :no-members: + :no-undoc-members: + .. autoclass:: Axes :no-members: :no-undoc-members: From 56875796786b2d08fb8628e37e5746c4f522e49f Mon Sep 17 00:00:00 2001 From: Paul Hobson <pmhobson@gmail.com> Date: Fri, 29 Jun 2018 10:31:30 -0700 Subject: [PATCH 0858/1161] DOC: talk about sticky edges in Axes.margins starts to address the confusion mentioned in #11534 --- .../subplots_axes_and_figures/axes_margins.py | 68 ++++++++++++++++-- lib/matplotlib/axes/_base.py | 71 ++++++++++++------- 2 files changed, 107 insertions(+), 32 deletions(-) diff --git a/examples/subplots_axes_and_figures/axes_margins.py b/examples/subplots_axes_and_figures/axes_margins.py index 451725d360f0..b0ba8798c4ab 100644 --- a/examples/subplots_axes_and_figures/axes_margins.py +++ b/examples/subplots_axes_and_figures/axes_margins.py @@ -1,10 +1,14 @@ """ -===================================== -Zooming in and out using Axes.margins -===================================== +===================================================================== +Zooming in and out using Axes.margins and the subject of "stickiness" +===================================================================== + +The first figure in this example shows how to zoom in and out of a +plot using `~.Axes.margins` instead of `~.Axes.set_xlim` and +`~.Axes.set_ylim`. The second figure demonstrates the concept of +edge "stickiness" introduced by certain methods and artists and how +to effectively work around that. -This example shows how to zoom in and out of a plot using `~.Axes.margins` -instead of `~.Axes.set_xlim` and `~.Axes.set_ylim`. """ import numpy as np @@ -32,3 +36,57 @@ def f(t): ax3.set_title('Zoomed in') plt.show() + + +############################################################################# +# +# On the "stickiness" of certain plotting methods +# """"""""""""""""""""""""""""""""""""""""""""""" +# +# Some plotting functions make the axis limits "sticky" or immune to the will +# of the `~.Axes.margins` methods. For instance, `~.Axes.imshow` and +# `~.Axes.pcolor` expect the user to want the limits to be tight around the +# pixels shown in the plot. If this behavior is not desired, you need to set +# `~.Axes.use_sticky_edges` to `False`. Consider the following example: + +y, x = np.mgrid[:5, 1:6] +poly_coords = [ + (0.25, 2.75), (3.25, 2.75), + (2.25, 0.75), (0.25, 0.75) +] +fig, (ax1, ax2) = plt.subplots(ncols=2) + +# Here we set the stickiness of the axes object... +# ax1 we'll leave as the default, which uses sticky edges +# and we'll turn off stickiness for ax2 +ax2.use_sticky_edges = False + +for ax, status in zip((ax1, ax2), ('Is', 'Is Not')): + cells = ax.pcolor(x, y, x+y, cmap='inferno') # sticky + ax.add_patch( + plt.Polygon(poly_coords, color='forestgreen', alpha=0.5) + ) # not sticky + ax.margins(x=0.1, y=0.05) + ax.set_aspect('equal') + ax.set_title('{} Sticky'.format(status)) + +plt.show() + + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods is shown +# in this example: + +import matplotlib +matplotlib.axes.Axes.margins +matplotlib.pyplot.margins +matplotlib.axes.Axes.use_sticky_edges +matplotlib.axes.Axes.pcolor +matplotlib.pyplot.pcolor +matplotlib.pyplot.Polygon diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index c201c09b9189..79f05b3c9824 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -2227,41 +2227,58 @@ def margins(self, *margins, x=None, y=None, tight=True): """ Set or retrieve autoscaling margins. - signatures:: + The padding added to each limit of the axes is the *margin* + times the data interval. All input parameters must be floats + within the range [0, 1]. Passing both positional and keyword + arguments is invalid and will raise a TypeError. If no + arguments (positional or otherwise) are provided, the current + margins will remain in place and simply be returned. - margins() - - returns xmargin, ymargin - - :: - - margins(margin) - - margins(xmargin, ymargin) + Specifying any margin changes only the autoscaling; for example, + if *xmargin* is not None, then *xmargin* times the X data + interval will be added to each end of that interval before + it is used in autoscaling. - margins(x=xmargin, y=ymargin) + Parameters + ---------- + args : float, optional + If a single positional argument is provided, it specifies + both margins of the x-axis and y-axis limits. If two + positional arguments are provided, they will be interpreted + as *xmargin*, *ymargin*. If setting the margin on a single + axis is desired, use the keyword arguments described below. + + x, y : float, optional + Specific margin values for the x-axis and y-axis, + respectively. These cannot be used with positional + arguments, but can be used individually to alter on e.g., + only the y-axis. + + tight : bool, default is True + The *tight* parameter is passed to :meth:`autoscale_view`, + which is executed after a margin is changed; the default + here is *True*, on the assumption that when margins are + specified, no additional padding to match tick marks is + usually desired. Set *tight* to *None* will preserve + the previous setting. - margins(..., tight=False) - All three forms above set the xmargin and ymargin parameters. - All keyword parameters are optional. A single positional argument - specifies both xmargin and ymargin. The padding added to the end of - each interval is *margin* times the data interval. The *margin* must - be a float in the range [0, 1]. Passing both positional and keyword - arguments for xmargin and/or ymargin is invalid. + Returns + ------- + xmargin, ymargin : float - The *tight* parameter is passed to :meth:`autoscale_view` - , which is executed after a margin is changed; the default here is - *True*, on the assumption that when margins are specified, no - additional padding to match tick marks is usually desired. Setting - *tight* to *None* will preserve the previous setting. + Notes + ----- + If a previously used Axes method such as :meth:`pcolor` has set + :attr:`use_sticky_edges` to `True`, only the limits not set by + the "sticky artists" will be modified. To force all of the + margins to be set, set :attr:`use_sticky_edges` to `False` + before calling :meth:`margins`. - Specifying any margin changes only the autoscaling; for example, - if *xmargin* is not None, then *xmargin* times the X data - interval will be added to each end of that interval before - it is used in autoscaling. + .. plot:: gallery/subplots_axes_and_figures/axes_margins.py """ + if margins and x is not None and y is not None: raise TypeError('Cannot pass both positional and keyword ' 'arguments for x and/or y.') From e0b7cc7dc8afbf95aabfba6ec4a46382b0df326d Mon Sep 17 00:00:00 2001 From: Paul Hobson <pmhobson@gmail.com> Date: Fri, 29 Jun 2018 14:47:12 -0700 Subject: [PATCH 0859/1161] DOC: remove redundant example reference in docstring --- examples/subplots_axes_and_figures/axes_margins.py | 2 +- lib/matplotlib/axes/_base.py | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/examples/subplots_axes_and_figures/axes_margins.py b/examples/subplots_axes_and_figures/axes_margins.py index b0ba8798c4ab..5580aaadbb51 100644 --- a/examples/subplots_axes_and_figures/axes_margins.py +++ b/examples/subplots_axes_and_figures/axes_margins.py @@ -54,7 +54,7 @@ def f(t): (0.25, 2.75), (3.25, 2.75), (2.25, 0.75), (0.25, 0.75) ] -fig, (ax1, ax2) = plt.subplots(ncols=2) +fig, (ax1, ax2) = plt.subplots(ncols=2) # Here we set the stickiness of the axes object... # ax1 we'll leave as the default, which uses sticky edges diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 79f05b3c9824..8b7e13f5105f 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -2275,8 +2275,6 @@ def margins(self, *margins, x=None, y=None, tight=True): margins to be set, set :attr:`use_sticky_edges` to `False` before calling :meth:`margins`. - .. plot:: gallery/subplots_axes_and_figures/axes_margins.py - """ if margins and x is not None and y is not None: From 6361307ef4fb9312a432ae8e981359beb6fba18e Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sun, 24 Jun 2018 02:57:52 +0200 Subject: [PATCH 0860/1161] Update the documentation guidelines --- doc/_static/mpl.css | 4 + doc/devel/documenting_mpl.rst | 255 +++++++++++++++++++++------------- 2 files changed, 164 insertions(+), 95 deletions(-) diff --git a/doc/_static/mpl.css b/doc/_static/mpl.css index 9ffe1335fce5..903c3318d0c6 100644 --- a/doc/_static/mpl.css +++ b/doc/_static/mpl.css @@ -147,6 +147,10 @@ dl.glossary dt { font-size: 1.1em; } +dl.docutils dt { + font-weight: bold; +} + pre a { color: inherit; text-decoration: none; diff --git a/doc/devel/documenting_mpl.rst b/doc/devel/documenting_mpl.rst index 3c04891ab02e..139b5b300636 100644 --- a/doc/devel/documenting_mpl.rst +++ b/doc/devel/documenting_mpl.rst @@ -4,6 +4,13 @@ Writing documentation ===================== +.. contents:: Contents + :depth: 2 + :local: + :backlinks: top + :class: multicol-toc + + Getting started =============== @@ -213,6 +220,7 @@ is better than: In addition, since underscores are widely used by Sphinx itself, use hyphens to separate words. +.. _referring-to-other-code: Referring to other code ----------------------- @@ -220,31 +228,44 @@ Referring to other code To link to other methods, classes, or modules in Matplotlib you can use back ticks, for example: -.. code-block:: python +.. code-block:: rst - `~matplotlib.collections.LineCollection` + `matplotlib.collections.LineCollection` -returns a link to the documentation of -`~matplotlib.collections.LineCollection`. For the full path of the -class to be shown, omit the tilde: +generates a link like this: `matplotlib.collections.LineCollection`. -.. code-block:: python +*Note:* We use the sphinx setting ``default_role = 'obj'`` so that you don't +have to use qualifiers like ``:class:``, ``:func:``, ``:meth:`` and the likes. - `matplotlib.collections.LineCollection` +Often, you don't want to show the full package and module name. As long as the +target is unanbigous you can simply leave them out: + +.. code-block:: rst -to get `matplotlib.collections.LineCollection`. It is often not -necessary to fully specify the class hierarchy unless there is a namespace -collision between two packages: + `.LineCollection` -.. code-block:: python +and the link still works: `.LineCollection`. + +If there are multiple code elements with the same name (e.g. ``plot()`` is a +method in multiple classes), you'll have to extend the definition: + +.. code-block:: rst + + `.pyplot.plot` or `.Axes.plot` + +These will show up as `.pyplot.plot` or `.Axes.plot`. To still show only the +last segment you can add a tilde as prefix: + +.. code-block:: rst - `~.LineCollection` + `~.pyplot.plot` or `~.Axes.plot` -links just as well: `~.LineCollection`. +will render as `~.pyplot.plot` or `~.Axes.plot`. -Other packages can also be linked via ``intersphinx``: +Other packages can also be linked via +`intersphinx <http://www.sphinx-doc.org/en/master/ext/intersphinx.html>`_: -.. code-block:: Python +.. code-block:: rst `numpy.mean` @@ -296,13 +317,19 @@ when the documentation is built. Writing docstrings ================== -Much of the documentation lives in "docstrings". These are comment blocks -in source code that explain how the code works. All new or edited docstrings -should conform to the numpydoc guidelines. These split the docstring into a -number of sections - see the `numpy documentation howto`_ -for more details and a guide to how docstrings should be formatted. Much of -the ReST_ syntax discussed above (:ref:writing-rest-pages) can be used for -links and references. These docstrings eventually populate the +Most of the API documentation is written in docstrings. These are comment +blocks in source code that explain how the code works. + +.. note:: + + Some parts of the documentation do not yet conform to the current + documentation style. If in doubt, follow the rules given here and not what + you may see in the source code. Pull requests updating docstrings to + the current style are very welcome. + +All new or edited docstrings should conform to the `numpydoc docstring guide`_. +Much of the ReST_ syntax discussed above (:ref:`writing-rest-pages`) can be +used for links and references. These docstrings eventually populate the :file:`doc/api` directory and form the reference documentation for the library. @@ -313,21 +340,21 @@ An example docstring looks like: .. code-block:: python - def hlines(self, y, xmin, xmax, colors='k', linestyles='solid', - label='', **kwargs): + def hlines(self, y, xmin, xmax, colors='k', linestyles='solid', + label='', **kwargs): """ Plot horizontal lines at each *y* from *xmin* to *xmax*. Parameters ---------- - y : scalar or sequence of scalar + y : float or array-like y-indexes where to plot the lines. - xmin, xmax : scalar or 1D array_like + xmin, xmax : float or array-like Respective beginning and end of each line. If scalars are - provided, all lines will have same length. + provided, all lines will have the same length. - colors : array_like of colors, optional, default: 'k' + colors : array-like of colors, optional, default: 'k' linestyles : {'solid', 'dashed', 'dashdot', 'dotted'}, optional @@ -352,104 +379,137 @@ See the `~.Axes.hlines` documentation for how this renders. The Sphinx_ website also contains plenty of documentation_ concerning ReST markup and working with Sphinx in general. -.. note:: - - Some parts of the documentation do not yet conform to the current - documentation style. If in doubt, follow the rules given here and not what - you may see in the source code. Pull requests updating docstrings to - the current style are very welcome. - Formatting conventions ---------------------- -The basic docstring conventions are covered in the `numpy documentation howto`_ +The basic docstring conventions are covered in the `numpydoc docstring guide`_ and the Sphinx_ documentation. Some Matplotlib-specific formatting conventions to keep in mind: -* Matplotlib does not have a convention whether to use single-quotes or - double-quotes. There is a mixture of both in the current code. +Function arguments + Function arguments and keywords within docstrings should be referred to + using the ``*emphasis*`` role. This will keep Matplotlib's documentation + consistent with Python's documentation: -* Long parameter lists should be wrapped using a ``\`` for continuation and - starting on the new line without any indent: + .. code-block:: rst - .. code-block:: python + If *linestyles* is *None*, the 'solid' is used. - def add_axes(self, *args, **kwargs): - """ - ... + Do not use the ```default role``` or the ````literal```` role: - Parameters - ---------- - projection : - {'aitoff', 'hammer', 'lambert', 'mollweide', 'polar', \ - 'rectilinear'}, optional - The projection type of the axes. + .. code-block:: rst - ... - """ + Neither `argument` nor ``argument`` should be used. - Alternatively, you can describe the valid parameter values in a dedicated - section of the docstring. -* Generally, do not add markup to types for ``Parameters`` and ``Returns``. - This is usually not needed because Sphinx will link them automatically and - would unnecessarily clutter the docstring. However, it does seem to fail in - some situations. If you encounter such a case, you are allowed to add markup: +Quotes for strings + Matplotlib does not have a convention whether to use single-quotes or + double-quotes. There is a mixture of both in the current code. - .. code-block:: rst + Use simple single or double quotes when giving string values, e.g.:: rst - Returns - ------- - lines : `~matplotlib.collections.LineCollection` + .. code-block:: rst -* rcParams can be referenced with the custom ``:rc:`` role: - :literal:`:rc:\`foo\`` yields ``rcParams["foo"]``. + If 'tight', try to figure out the tight bbox of the figure. -Deprecated formatting conventions ---------------------------------- -* Formerly, we have used square brackets for explicit parameter lists - ``['solid' | 'dashed' | 'dotted']``. With numpydoc we have switched to their - standard using curly braces ``{'solid', 'dashed', 'dotted'}``. +Parameter type descriptions + The main goal for parameter type descriptions is to be readable and + understandable by humans. If the possible types are too complex use a + simplification for the type description and explain the type more + precisely in the text. -Linking to other code ---------------------- -To link to other methods, classes, or modules in Matplotlib you can encase -the name to refer to in back ticks, for example: + Generally, the `numpydoc docstring guide`_ conventions apply. The following + rules expand on them where the numpydoc conventions are not specific. -.. code-block:: python + Use ``float`` for a type that can be any number. - `~matplotlib.collections.LineCollection` + Use ``array-like`` for homogeneous numeric sequences, which could + typically be a numpy.array. Dimensionality may be specified using ``2D``, + ``3D``, ``n-dimensional``. If you need to have variables denoting the + sizes of the dimensions, use capital letters in brackets + (``array-like (M, N)``). When refering to them in the text they are easier + read and no special formatting is needed. -It is also possible to add links to code in Python, Numpy, Scipy, or Pandas. -Sometimes it is tricky to get external Sphinx linking to work; to check that -a something exists to link to the following shell command outputs a list of all -objects that can be referenced (in this case for Numpy):: + ``float`` is the implicit default dtype for array-likes. For other dtypes + use ``array-like of int``. - python -m sphinx.ext.intersphinx 'https://docs.scipy.org/doc/numpy/objects.inv' + Some possible uses:: + 2D array-like + array-like (N) + array-like (M, N) + array-like (M, N, 3) + array-like of int -Function arguments ------------------- -Function arguments and keywords within docstrings should be referred to using -the ``*emphasis*`` role. This will keep Matplotlib's documentation consistent -with Python's documentation: + Non-numeric homogeneous sequences are described as lists, e.g.:: -.. code-block:: rst + list of str + list of `.Artist` - Here is a description of *argument* +Referencing types + Generally, the rules from referring-to-other-code_ apply. More specifically: -Do not use the ```default role```: + Use full references ```~matplotlib.colors.Normalize``` with an + abbreviation tilde in parameter types. While the full name helps the + reader of plain text docstrings, the HTML does not need to show the full + name as it links to it. Hence, the ``~``-shortening keeps it more readable. + Use abbreviated links ```.Normalize``` in the text. -.. code-block:: rst + .. code-block:: rst - Do not describe `argument` like this. + norm : `~matplotlib.colors.Normalize`, optional + A `.Normalize` instance is used to scale luminance data to 0, 1. -nor the ````literal```` role: +``See also`` sections + Sphinx automatically links code elements in the definition blocks of ``See + also`` sections. No need to use backticks there:: -.. code-block:: rst + See also + -------- + vlines : vertical lines + axhline: horizontal line across the axes - Do not describe ``argument`` like this. +Wrapping parameter lists + Long parameter lists should be wrapped using a ``\`` for continuation and + starting on the new line without any indent: + + .. code-block:: python + + def add_axes(self, *args, **kwargs): + """ + ... + + Parameters + ---------- + projection : + {'aitoff', 'hammer', 'lambert', 'mollweide', 'polar', \ + 'rectilinear'}, optional + The projection type of the axes. + + ... + """ + + Alternatively, you can describe the valid parameter values in a dedicated + section of the docstring. + +rcParams + rcParams can be referenced with the custom ``:rc:`` role: + :literal:`:rc:\`foo\`` yields ``rcParams["foo"]``. Use `= [default-val]` + to indicate the default value of the parameter. The default value should be + literal, i.e. enclosed in double backticks. For simplicity these may be + omitted for string default values. + + .. code-block:: rst + + If not provided, defaults to :rc:`figure.figsize` = ``[6.4, 4.8]``. + If not provided, defaults to :rc:`figure.facecolor` = 'w'. + +Deprecated formatting conventions +--------------------------------- +Formerly, we have used square brackets for explicit parameter lists +``['solid' | 'dashed' | 'dotted']``. With numpydoc we have switched to their +standard using curly braces ``{'solid', 'dashed', 'dotted'}``. Setters and getters ------------------- @@ -460,6 +520,12 @@ By convention, these setters and getters are named ``set_PROPERTYNAME`` and ``get_PROPERTYNAME``; the list of properties thusly defined on an artist and their values can be listed by the `~.pyplot.setp` and `~.pyplot.getp` functions. +.. note:: + + ``ACCEPTS`` blocks have recently become optional. You may now use a + numpydoc ``Parameters`` block because the accepted values can now be read + from the type description of the first parameter. + Property setter methods should indicate the values they accept using a (legacy) special block in the docstring, starting with ``ACCEPTS``, as follows: @@ -493,7 +559,6 @@ Sphinx by making it a ReST comment (i.e. use ``.. ACCEPTS:``): """ - Keyword arguments ----------------- @@ -812,4 +877,4 @@ Some helpful functions:: .. _index: http://www.sphinx-doc.org/markup/para.html#index-generating-markup .. _`Sphinx Gallery`: https://sphinx-gallery.readthedocs.io/en/latest/ .. _references: http://www.sphinx-doc.org/en/stable/markup/inline.html -.. _`numpy documentation howto`: https://github.com/numpy/numpy/blob/master/doc/HOWTO_DOCUMENT.rst.txt +.. _`numpydoc docstring guide`: https://numpydoc.readthedocs.io/en/latest/format.html From 93ebee6ddc3214303a18287528e9afc30adeb46b Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Wed, 27 Jun 2018 15:16:26 +0200 Subject: [PATCH 0861/1161] Add private API retrieving the current event loop and backend GUI info. Work towards implementation of backend switching. Note that the API is kept private for now as the lack of extensibility is a bit unsatisfying; perhaps we'll figure out a better way to do it if other custom implementers (e.g., code editors?) get interested in looking into it. The `required_event_loop` variable could be made private for now, or not... --- doc/api/next_api_changes/2018-06-27-AL.rst | 7 +++ lib/matplotlib/backends/__init__.py | 50 ++++++++++++++++++++++ lib/matplotlib/backends/_backend_tk.py | 1 + lib/matplotlib/backends/backend_gtk3.py | 1 + lib/matplotlib/backends/backend_macosx.py | 1 + lib/matplotlib/backends/backend_qt4.py | 2 +- lib/matplotlib/backends/backend_qt5.py | 1 + lib/matplotlib/backends/backend_wx.py | 1 + src/_macosx.m | 15 +++++++ 9 files changed, 78 insertions(+), 1 deletion(-) diff --git a/doc/api/next_api_changes/2018-06-27-AL.rst b/doc/api/next_api_changes/2018-06-27-AL.rst index 74c32d357386..51a8171bf02d 100644 --- a/doc/api/next_api_changes/2018-06-27-AL.rst +++ b/doc/api/next_api_changes/2018-06-27-AL.rst @@ -4,3 +4,10 @@ Changes to backend loading Failure to load backend modules (``macosx`` on non-framework builds and ``gtk3`` when running headless) now raises `ImportError` (instead of `RuntimeError` and `TypeError`, respectively. + +Third-party backends that integrate with an interactive framework are now +encouraged to define the ``required_interactive_framework`` global value to one +of the following values: "qt5", "qt4", "gtk3", "wx", "tk", or "macosx". This +information will be used to determine whether it is possible to switch from a +backend to another (specifically, whether they use the same interactive +framework). diff --git a/lib/matplotlib/backends/__init__.py b/lib/matplotlib/backends/__init__.py index e506d3100927..2467a4235373 100644 --- a/lib/matplotlib/backends/__init__.py +++ b/lib/matplotlib/backends/__init__.py @@ -1,5 +1,7 @@ import importlib import logging +import os +import sys import traceback import matplotlib @@ -14,6 +16,54 @@ if not line.startswith(' File "<frozen importlib._bootstrap')) +def _get_running_interactive_framework(): + """ + Return the interactive framework whose event loop is currently running, if + any, or "headless" if no event loop can be started, or None. + + Returns + ------- + Optional[str] + One of the following values: "qt5", "qt4", "gtk3", "wx", "tk", + "macosx", "headless", ``None``. + """ + QtWidgets = (sys.modules.get("PyQt5.QtWidgets") + or sys.modules.get("PySide2.QtWidgets")) + if QtWidgets and QtWidgets.QApplication.instance(): + return "qt5" + QtGui = (sys.modules.get("PyQt4.QtGui") + or sys.modules.get("PySide.QtGui")) + if QtGui and QtGui.QApplication.instance(): + return "qt4" + Gtk = (sys.modules.get("gi.repository.Gtk") + or sys.modules.get("pgi.repository.Gtk")) + if Gtk and Gtk.main_level(): + return "gtk3" + wx = sys.modules.get("wx") + if wx and wx.GetApp(): + return "wx" + tkinter = sys.modules.get("tkinter") + if tkinter: + for frame in sys._current_frames().values(): + while frame: + if frame.f_code == tkinter.mainloop.__code__: + return "tk" + frame = frame.f_back + try: + from matplotlib.backends import _macosx + except ImportError: + pass + else: + # Note that the NSApp event loop is also running when a non-native + # toolkit (e.g. Qt5) is active, but in that case we want to report the + # other toolkit; thus, this check comes after the other toolkits. + if _macosx.event_loop_is_running(): + return "macosx" + if sys.platform.startswith("linux") and not os.environ.get("DISPLAY"): + return "headless" + return None + + def pylab_setup(name=None): """ Return new_figure_manager, draw_if_interactive and show for pyplot. diff --git a/lib/matplotlib/backends/_backend_tk.py b/lib/matplotlib/backends/_backend_tk.py index 4fb68a835fb7..caa29e446de0 100644 --- a/lib/matplotlib/backends/_backend_tk.py +++ b/lib/matplotlib/backends/_backend_tk.py @@ -994,6 +994,7 @@ def trigger(self, *args): @_Backend.export class _BackendTk(_Backend): + required_interactive_framework = "tk" FigureManager = FigureManagerTk @classmethod diff --git a/lib/matplotlib/backends/backend_gtk3.py b/lib/matplotlib/backends/backend_gtk3.py index 68af0c19a301..41a72c1cbdf4 100644 --- a/lib/matplotlib/backends/backend_gtk3.py +++ b/lib/matplotlib/backends/backend_gtk3.py @@ -976,6 +976,7 @@ def error_msg_gtk(msg, parent=None): @_Backend.export class _BackendGTK3(_Backend): + required_interactive_framework = "gtk3" FigureCanvas = FigureCanvasGTK3 FigureManager = FigureManagerGTK3 diff --git a/lib/matplotlib/backends/backend_macosx.py b/lib/matplotlib/backends/backend_macosx.py index f10c1e2a69c0..ab7601f63bcd 100644 --- a/lib/matplotlib/backends/backend_macosx.py +++ b/lib/matplotlib/backends/backend_macosx.py @@ -185,6 +185,7 @@ def set_message(self, message): @_Backend.export class _BackendMac(_Backend): + required_interactive_framework = "macosx" FigureCanvas = FigureCanvasMac FigureManager = FigureManagerMac diff --git a/lib/matplotlib/backends/backend_qt4.py b/lib/matplotlib/backends/backend_qt4.py index 15bbb1f76e91..f51066f7d57d 100644 --- a/lib/matplotlib/backends/backend_qt4.py +++ b/lib/matplotlib/backends/backend_qt4.py @@ -7,4 +7,4 @@ @_BackendQT5.export class _BackendQT4(_BackendQT5): - pass + required_interactive_framework = "qt4" diff --git a/lib/matplotlib/backends/backend_qt5.py b/lib/matplotlib/backends/backend_qt5.py index ddbdf56e8177..545724b26ff6 100644 --- a/lib/matplotlib/backends/backend_qt5.py +++ b/lib/matplotlib/backends/backend_qt5.py @@ -1109,6 +1109,7 @@ def exception_handler(type, value, tb): @_Backend.export class _BackendQT5(_Backend): + required_interactive_framework = "qt5" FigureCanvas = FigureCanvasQT FigureManager = FigureManagerQT diff --git a/lib/matplotlib/backends/backend_wx.py b/lib/matplotlib/backends/backend_wx.py index 7c684e76cdd9..657e543f45c3 100644 --- a/lib/matplotlib/backends/backend_wx.py +++ b/lib/matplotlib/backends/backend_wx.py @@ -1930,6 +1930,7 @@ def OnPrintPage(self, page): @_Backend.export class _BackendWx(_Backend): + required_interactive_framework = "wx" FigureCanvas = FigureCanvasWx FigureManager = FigureManagerWx _frame_class = FigureFrameWx diff --git a/src/_macosx.m b/src/_macosx.m index 2cc9182aa383..c3ebac8c35c1 100644 --- a/src/_macosx.m +++ b/src/_macosx.m @@ -2789,6 +2789,16 @@ - (int)index } @end +static PyObject* +event_loop_is_running(PyObject* self) +{ + if ([NSApp isRunning]) { + Py_RETURN_TRUE; + } else { + Py_RETURN_FALSE; + } +} + static PyObject* show(PyObject* self) { @@ -3038,6 +3048,11 @@ static bool verify_framework(void) } static struct PyMethodDef methods[] = { + {"event_loop_is_running", + (PyCFunction)event_loop_is_running, + METH_NOARGS, + "Return whether the NSApp main event loop is currently running." + }, {"show", (PyCFunction)show, METH_NOARGS, From 5ab478a8bafd909111e74a64cce1c4f4c46b0985 Mon Sep 17 00:00:00 2001 From: fredrik-1 <sandquist.fredrik@gmail.com> Date: Fri, 29 Jun 2018 20:42:30 +0200 Subject: [PATCH 0862/1161] doc_changes_thetagrids --- lib/matplotlib/projections/polar.py | 85 +++++++++++------- lib/matplotlib/pyplot.py | 135 +++++++++++++++++----------- 2 files changed, 138 insertions(+), 82 deletions(-) diff --git a/lib/matplotlib/projections/polar.py b/lib/matplotlib/projections/polar.py index 0bcf3f0d5098..cc077f9667c1 100644 --- a/lib/matplotlib/projections/polar.py +++ b/lib/matplotlib/projections/polar.py @@ -1221,27 +1221,39 @@ def set_rscale(self, *args, **kwargs): def set_rticks(self, *args, **kwargs): return Axes.set_yticks(self, *args, **kwargs) - @docstring.dedent_interpd def set_thetagrids(self, angles, labels=None, fmt=None, **kwargs): """ - Set the angles at which to place the theta grids (these - gridlines are equal along the theta dimension). *angles* is in - degrees. + Set the theta gridlines in a polar plot. - *labels*, if not None, is a ``len(angles)`` list of strings of - the labels to use at each angle. - - If *labels* is None, the labels will be ``fmt %% angle`` - - Return value is a list of tuples (*line*, *label*), where - *line* is :class:`~matplotlib.lines.Line2D` instances and the - *label* is :class:`~matplotlib.text.Text` instances. + Parameters + ---------- + angles : tuple with floats, degrees + The angles of the theta gridlines. - kwargs are optional text properties for the labels: + labels : tuple with strings or None + The labels to use at each theta gridline. The + `.projections.polar.ThetaFormatter` will be used if None. - %(Text)s + fmt : str or None + Format string used in `matplotlib.ticker.FormatStrFormatter`. + For example '%f'. Note that the angle that is used is in + radians. - ACCEPTS: sequence of floats + Returns + ------- + lines, labels : list of `.lines.Line2D`, list of `.text.Text` + *lines* are the theta gridlines and *labels* are the tick labels. + + Other Parameters + ---------------- + **kwargs + *kwargs* are optional `~.Text` properties for the labels. + + See Also + -------- + .PolarAxes.set_rgrids + .Axis.get_gridlines + .Axis.get_ticklabels """ # Make sure we take into account unitized data @@ -1256,29 +1268,42 @@ def set_thetagrids(self, angles, labels=None, fmt=None, **kwargs): t.update(kwargs) return self.xaxis.get_ticklines(), self.xaxis.get_ticklabels() - @docstring.dedent_interpd def set_rgrids(self, radii, labels=None, angle=None, fmt=None, **kwargs): """ - Set the radial locations and labels of the *r* grids. - - The labels will appear at radial distances *radii* at the - given *angle* in degrees. + Set the radial gridlines on a polar plot. - *labels*, if not None, is a ``len(radii)`` list of strings of the - labels to use at each radius. - - If *labels* is None, the built-in formatter will be used. + Parameters + ---------- + radii : tuple with floats + The radii for the radial gridlines - Return value is a list of tuples (*line*, *label*), where - *line* is :class:`~matplotlib.lines.Line2D` instances and the - *label* is :class:`~matplotlib.text.Text` instances. + labels : tuple with strings or None + The labels to use at each radial gridline. The + `matplotlib.ticker.ScalarFormatter` will be used if None. - kwargs are optional text properties for the labels: + angle : float + The angular position of the radius labels in degrees. - %(Text)s + fmt : str or None + Format string used in `matplotlib.ticker.FormatStrFormatter`. + For example '%f'. - ACCEPTS: sequence of floats + Returns + ------- + lines, labels : list of `.lines.Line2D`, list of `.text.Text` + *lines* are the radial gridlines and *labels* are the tick labels. + + Other Parameters + ---------------- + **kwargs + *kwargs* are optional `~.Text` properties for the labels. + + See Also + -------- + .PolarAxes.set_thetagrids + .Axis.get_gridlines + .Axis.get_ticklabels """ # Make sure we take into account unitized data radii = self.convert_xunits(radii) diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index b8fa2065d17b..18c84c1d2d20 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -1531,36 +1531,62 @@ def yticks(ticks=None, labels=None, **kwargs): return locs, silent_list('Text yticklabel', labels) - def rgrids(*args, **kwargs): """ - Get or set the radial gridlines on a polar plot. + Get or set the radial gridlines on the current polar plot. + + Call signatures:: + + lines, labels = rgrids() + lines, labels = rgrids(radii, labels=None, angle=22.5, fmt=None, **kwargs) + + When called with no arguments, `.rgrids` simply returns the tuple + (*lines*, *labels*). When called with arguments, the labels will + appear at the specified radial distances and angle. - call signatures:: + Parameters + ---------- + radii : tuple with floats + The radii for the radial gridlines + + labels : tuple with strings or None + The labels to use at each radial gridline. The + `matplotlib.ticker.ScalarFormatter` will be used if None. - lines, labels = rgrids() - lines, labels = rgrids(radii, labels=None, angle=22.5, **kwargs) + angle : float + The angular position of the radius labels in degrees. - When called with no arguments, :func:`rgrid` simply returns the - tuple (*lines*, *labels*), where *lines* is an array of radial - gridlines (:class:`~matplotlib.lines.Line2D` instances) and - *labels* is an array of tick labels - (:class:`~matplotlib.text.Text` instances). When called with - arguments, the labels will appear at the specified radial - distances and angles. + fmt : str or None + Format string used in `matplotlib.ticker.FormatStrFormatter`. + For example '%f'. - *labels*, if not *None*, is a len(*radii*) list of strings of the - labels to use at each angle. + Returns + ------- + lines, labels : list of `.lines.Line2D`, list of `.text.Text` + *lines* are the radial gridlines and *labels* are the tick labels. - If *labels* is None, the rformatter will be used + Other Parameters + ---------------- + **kwargs + *kwargs* are optional `~.Text` properties for the labels. - Examples:: + Examples + -------- + :: - # set the locations of the radial gridlines and labels + # set the locations of the radial gridlines lines, labels = rgrids( (0.25, 0.5, 1.0) ) - # set the locations and labels of the radial gridlines and labels - lines, labels = rgrids( (0.25, 0.5, 1.0), ('Tom', 'Dick', 'Harry' ) + # set the locations and labels of the radial gridlines + lines, labels = rgrids( (0.25, 0.5, 1.0), ('Tom', 'Dick', 'Harry' )) + + See Also + -------- + .pyplot.thetagrids + .projections.polar.PolarAxes.set_rgrids + .Axis.get_gridlines + .Axis.get_ticklabels + """ ax = gca() @@ -1575,57 +1601,62 @@ def rgrids(*args, **kwargs): return ( silent_list('Line2D rgridline', lines), silent_list('Text rgridlabel', labels) ) - def thetagrids(*args, **kwargs): """ - Get or set the theta locations of the gridlines in a polar plot. + Get or set the theta gridlines on the current polar plot. - If no arguments are passed, return a tuple (*lines*, *labels*) - where *lines* is an array of radial gridlines - (:class:`~matplotlib.lines.Line2D` instances) and *labels* is an - array of tick labels (:class:`~matplotlib.text.Text` instances):: - - lines, labels = thetagrids() - - Otherwise the syntax is:: - - lines, labels = thetagrids(angles, labels=None, fmt='%d', frac = 1.1) - - set the angles at which to place the theta grids (these gridlines - are equal along the theta dimension). - - *angles* is in degrees. + Call signatures:: - *labels*, if not *None*, is a len(angles) list of strings of the - labels to use at each angle. + lines, labels = thetagrids() + lines, labels = thetagrids(angles, labels=None, fmt=None, **kwargs) - If *labels* is *None*, the labels will be ``fmt%angle``. + When called with no arguments, `.thetagrids` simply returns the tuple + (*lines*, *labels*). When called with arguments, the labels will + appear at the specified angles. - *frac* is the fraction of the polar axes radius at which to place - the label (1 is the edge). e.g., 1.05 is outside the axes and 0.95 - is inside the axes. + Parameters + ---------- + angles : tuple with floats, degrees + The angles of the theta gridlines. - Return value is a list of tuples (*lines*, *labels*): + labels : tuple with strings or None + The labels to use at each radial gridline. The + `.projections.polar.ThetaFormatter` will be used if None. - - *lines* are :class:`~matplotlib.lines.Line2D` instances + fmt : str or None + Format string used in `matplotlib.ticker.FormatStrFormatter`. + For example '%f'. Note that the angle in radians will be used. - - *labels* are :class:`~matplotlib.text.Text` instances. + Returns + ------- + lines, labels : list of `.lines.Line2D`, list of `.text.Text` + *lines* are the theta gridlines and *labels* are the tick labels. - Note that on input, the *labels* argument is a list of strings, - and on output it is a list of :class:`~matplotlib.text.Text` - instances. + Other Parameters + ---------------- + **kwargs + *kwargs* are optional `~.Text` properties for the labels. - Examples:: + Examples + -------- + :: - # set the locations of the radial gridlines and labels + # set the locations of the angular gridlines lines, labels = thetagrids( range(45,360,90) ) - # set the locations and labels of the radial gridlines and labels + # set the locations and labels of the angular gridlines lines, labels = thetagrids( range(45,360,90), ('NE', 'NW', 'SW','SE') ) + + See Also + -------- + .pyplot.rgrids + .projections.polar.PolarAxes.set_thetagrids + .Axis.get_gridlines + .Axis.get_ticklabels """ ax = gca() if not isinstance(ax, PolarAxes): - raise RuntimeError('rgrids only defined for polar axes') + raise RuntimeError('thetagrids only defined for polar axes') if len(args)==0: lines = ax.xaxis.get_ticklines() labels = ax.xaxis.get_ticklabels() From 8c8427f5c88c70d190bdd88b9da47ee3cbdc0e25 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sat, 27 Jan 2018 16:11:14 -0800 Subject: [PATCH 0863/1161] Use Integral and Real in typechecks rather than explicit types. See https://docs.python.org/3/library/numbers.html https://github.com/numpy/numpy/blob/master/doc/release/1.9.0-notes.rst When using numpy >=1.9, this will make numpy ints and floats pass the relevant typechecks as well. --- lib/matplotlib/axes/_base.py | 13 ++---- .../backends/qt_editor/formlayout.py | 21 +++++---- lib/matplotlib/blocking_input.py | 2 - lib/matplotlib/contour.py | 3 +- lib/matplotlib/figure.py | 5 +- lib/matplotlib/lines.py | 46 ++++++++----------- lib/matplotlib/widgets.py | 7 +-- lib/mpl_toolkits/axes_grid1/axes_grid.py | 6 +-- 8 files changed, 48 insertions(+), 55 deletions(-) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 71edc6281d6a..c592e2647650 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -2,6 +2,7 @@ import itertools import logging import math +from numbers import Real from operator import attrgetter import types import warnings @@ -10,7 +11,7 @@ import matplotlib -from matplotlib import cbook +from matplotlib import cbook, rcParams from matplotlib.cbook import (_check_1d, _string_to_bool, iterable, index_of, get_label) from matplotlib import docstring @@ -30,13 +31,10 @@ from matplotlib.artist import allow_rasterization from matplotlib.legend import Legend -from matplotlib.rcsetup import cycler -from matplotlib.rcsetup import validate_axisbelow +from matplotlib.rcsetup import cycler, validate_axisbelow _log = logging.getLogger(__name__) -rcParams = matplotlib.rcParams - def _process_plot_format(fmt): """ @@ -3009,9 +3007,8 @@ def _validate_converted_limits(self, limit, convert): """ if limit is not None: converted_limit = convert(limit) - if (isinstance(converted_limit, float) and - (not np.isreal(converted_limit) or - not np.isfinite(converted_limit))): + if (isinstance(converted_limit, Real) + and not np.isfinite(converted_limit)): raise ValueError("Axis limits cannot be NaN or Inf") return converted_limit diff --git a/lib/matplotlib/backends/qt_editor/formlayout.py b/lib/matplotlib/backends/qt_editor/formlayout.py index 3b4007adc421..ee2eb6beae10 100644 --- a/lib/matplotlib/backends/qt_editor/formlayout.py +++ b/lib/matplotlib/backends/qt_editor/formlayout.py @@ -42,6 +42,7 @@ import copy import datetime +from numbers import Integral, Real import warnings from matplotlib import colors as mcolors @@ -137,7 +138,7 @@ def tuple_to_qfont(tup): """ if not (isinstance(tup, tuple) and len(tup) == 4 and font_is_installed(tup[0]) - and isinstance(tup[1], int) + and isinstance(tup[1], Integral) and isinstance(tup[2], bool) and isinstance(tup[3], bool)): return None @@ -256,7 +257,7 @@ def setup(self): selindex = value.index(selindex) elif selindex in keys: selindex = keys.index(selindex) - elif not isinstance(selindex, int): + elif not isinstance(selindex, Integral): warnings.warn( "index '%s' is invalid (label: %s, value: %s)" % (selindex, label, value), stacklevel=2) @@ -268,7 +269,11 @@ def setup(self): field.setCheckState(QtCore.Qt.Checked) else: field.setCheckState(QtCore.Qt.Unchecked) - elif isinstance(value, float): + elif isinstance(value, Integral): + field = QtWidgets.QSpinBox(self) + field.setRange(-1e9, 1e9) + field.setValue(value) + elif isinstance(value, Real): field = QtWidgets.QLineEdit(repr(value), self) field.setCursorPosition(0) field.setValidator(QtGui.QDoubleValidator(field)) @@ -276,10 +281,6 @@ def setup(self): dialog = self.get_dialog() dialog.register_float_field(field) field.textChanged.connect(lambda text: dialog.update_buttons()) - elif isinstance(value, int): - field = QtWidgets.QSpinBox(self) - field.setRange(-1e9, 1e9) - field.setValue(value) elif isinstance(value, datetime.datetime): field = QtWidgets.QDateTimeEdit(self) field.setDateTime(value) @@ -310,10 +311,10 @@ def get(self): value = value[index] elif isinstance(value, bool): value = field.checkState() == QtCore.Qt.Checked - elif isinstance(value, float): - value = float(str(field.text())) - elif isinstance(value, int): + elif isinstance(value, Integral): value = int(field.value()) + elif isinstance(value, Real): + value = float(str(field.text())) elif isinstance(value, datetime.datetime): value = field.dateTime().toPyDateTime() elif isinstance(value, datetime.date): diff --git a/lib/matplotlib/blocking_input.py b/lib/matplotlib/blocking_input.py index cee9dcfed60f..d5e9257c10fe 100644 --- a/lib/matplotlib/blocking_input.py +++ b/lib/matplotlib/blocking_input.py @@ -23,8 +23,6 @@ from numbers import Integral import matplotlib.lines as mlines -import numpy as np - _log = logging.getLogger(__name__) diff --git a/lib/matplotlib/contour.py b/lib/matplotlib/contour.py index 8393a4b2b066..81eedc06fe2d 100644 --- a/lib/matplotlib/contour.py +++ b/lib/matplotlib/contour.py @@ -2,6 +2,7 @@ These are classes to support contour plotting and labelling for the Axes class. """ +from numbers import Integral import warnings import numpy as np @@ -1205,7 +1206,7 @@ def _contour_level_args(self, z, args): else: level_arg = args[0] try: - if type(level_arg) == int: + if isinstance(level_arg, Integral): lev = self._autolev(level_arg) else: lev = np.asarray(level_arg).astype(np.float64) diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index c811a334190f..72375d3fd034 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -12,6 +12,7 @@ """ import logging +from numbers import Integral import warnings import numpy as np @@ -1213,7 +1214,7 @@ def add_subplot(self, *args, **kwargs): if not len(args): return - if len(args) == 1 and isinstance(args[0], int): + if len(args) == 1 and isinstance(args[0], Integral): if not 100 <= args[0] <= 999: raise ValueError("Integer subplot specification must be a " "three-digit number, not {}".format(args[0])) @@ -1335,7 +1336,7 @@ def subplots(self, nrows=1, ncols=1, sharex=False, sharey=False, # In most cases, no error will ever occur, but mysterious behavior # will result because what was intended to be the subplot index is # instead treated as a bool for sharex. - if isinstance(sharex, int): + if isinstance(sharex, Integral): warnings.warn( "sharex argument to subplots() was an integer. " "Did you intend to use subplot() (without 's')?") diff --git a/lib/matplotlib/lines.py b/lib/matplotlib/lines.py index 95ba91af12ce..2de67b64c814 100644 --- a/lib/matplotlib/lines.py +++ b/lib/matplotlib/lines.py @@ -4,7 +4,7 @@ """ # TODO: expose cap and join style attrs -from numbers import Number +from numbers import Integral, Number, Real import warnings import numpy as np @@ -127,41 +127,37 @@ def _slice_or_none(in_v, slc): return None return in_v[slc] - # if just a float, assume starting at 0.0 and make a tuple - if isinstance(markevery, float): - markevery = (0.0, markevery) # if just an int, assume starting at 0 and make a tuple - elif isinstance(markevery, int): + if isinstance(markevery, Integral): markevery = (0, markevery) - # if just an numpy int, assume starting at 0 and make a tuple - elif isinstance(markevery, np.integer): - markevery = (0, markevery.item()) + # if just a float, assume starting at 0.0 and make a tuple + elif isinstance(markevery, Real): + markevery = (0.0, markevery) if isinstance(markevery, tuple): if len(markevery) != 2: - raise ValueError('`markevery` is a tuple but its ' - 'len is not 2; ' - 'markevery=%s' % (markevery,)) + raise ValueError('`markevery` is a tuple but its len is not 2; ' + 'markevery={}'.format(markevery)) start, step = markevery # if step is an int, old behavior - if isinstance(step, int): - #tuple of 2 int is for backwards compatibility, - if not(isinstance(start, int)): - raise ValueError('`markevery` is a tuple with ' - 'len 2 and second element is an int, but ' - 'the first element is not an int; ' - 'markevery=%s' % (markevery,)) + if isinstance(step, Integral): + # tuple of 2 int is for backwards compatibility, + if not isinstance(start, Integral): + raise ValueError( + '`markevery` is a tuple with len 2 and second element is ' + 'an int, but the first element is not an int; markevery={}' + .format(markevery)) # just return, we are done here return Path(verts[slice(start, None, step)], _slice_or_none(codes, slice(start, None, step))) - elif isinstance(step, float): - if not isinstance(start, (int, float)): + elif isinstance(step, Real): + if not isinstance(start, Real): raise ValueError( '`markevery` is a tuple with len 2 and second element is ' 'a float, but the first element is not a float or an int; ' - 'markevery=%s' % (markevery,)) + 'markevery={}'.format(markevery)) # calc cumulative distance along path (in display coords): disp_coords = affine.transform(tpath.vertices) delta = np.empty((len(disp_coords), 2)) @@ -192,14 +188,12 @@ def _slice_or_none(in_v, slc): elif isinstance(markevery, slice): # mazol tov, it's already a slice, just return - return Path(verts[markevery], - _slice_or_none(codes, markevery)) + return Path(verts[markevery], _slice_or_none(codes, markevery)) elif iterable(markevery): #fancy indexing try: - return Path(verts[markevery], - _slice_or_none(codes, markevery)) + return Path(verts[markevery], _slice_or_none(codes, markevery)) except (ValueError, IndexError): raise ValueError('`markevery` is iterable but ' @@ -822,7 +816,7 @@ def draw(self, renderer): subsampled = tpath snap = marker.get_snap_threshold() - if type(snap) == float: + if isinstance(snap, Real): snap = renderer.points_to_pixels(self._markersize) >= snap gc.set_snap(snap) gc.set_joinstyle(marker.get_joinstyle()) diff --git a/lib/matplotlib/widgets.py b/lib/matplotlib/widgets.py index bd9c58c50625..0da7f2cde84b 100644 --- a/lib/matplotlib/widgets.py +++ b/lib/matplotlib/widgets.py @@ -10,12 +10,13 @@ """ import copy +from numbers import Integral import numpy as np -from matplotlib import rcParams -from .patches import Circle, Rectangle, Ellipse +from . import rcParams from .lines import Line2D +from .patches import Circle, Rectangle, Ellipse from .transforms import blended_transform_factory @@ -1454,7 +1455,7 @@ def __init__(self, ax, onselect, useblit=False, button=None, self.background = None self.artists = [] - if isinstance(button, int): + if isinstance(button, Integral): self.validButtons = [button] else: self.validButtons = button diff --git a/lib/mpl_toolkits/axes_grid1/axes_grid.py b/lib/mpl_toolkits/axes_grid1/axes_grid.py index 7125704d3b4e..d640c8870e67 100644 --- a/lib/mpl_toolkits/axes_grid1/axes_grid.py +++ b/lib/mpl_toolkits/axes_grid1/axes_grid.py @@ -185,9 +185,9 @@ def __init__(self, fig, axes_class = self._defaultLocatableAxesClass axes_class_args = {} else: - if (type(axes_class)) == type and \ - issubclass(axes_class, - self._defaultLocatableAxesClass.Axes): + if (isinstance(axes_class, type) + and issubclass(axes_class, + self._defaultLocatableAxesClass.Axes)): axes_class_args = {} else: axes_class, axes_class_args = axes_class From 359b5017268b64e0338ad77dd96c5b6c5488feab Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Mon, 22 Jan 2018 17:38:25 -0800 Subject: [PATCH 0864/1161] Fix gtk3agg alpha channel. The gtk3agg backend works by drawing the ARGB32 buffer (from Agg) onto a cairo context (passed by gtk3). However, cairo wants a *premultiplied* ARGB32 buffer (i.e., where 100% blue with 50% transparency is represented by (r=0%, g=0%, b=50%, a=50%) instead of (r=0%, g=0%, b=100%, a=50%), which we didn't do before. This is only apparent if the entire buffer contains some transparency, e.g. if the figure background is transparent. Consider e.g. under gtk3agg: from pylab import * rcParams["figure.facecolor"] = (0, 0, 0, 0) gca() show() Without the patch, the area surrounding the axes is white (because of the misinterpretation of premultiplied alpha). With the patch, it is (correctly) gray, which is the background color of the gtk widget. (Note that when running the example under qt5agg or tkagg, the situation is complicated by the fact that these backends themselves set the widget background color to white rather than gray.) As a comparison point, qt5agg builds the QImage using Format_ARGB32, instead of Format_ARB32_Premultiplied; i.e. Qt provides its own conversion from non-premultiplied to premultiplied. The premultiplication step involves allocating a full new buffer, so check whether there is actually any transparency before doing it. --- lib/matplotlib/backends/backend_gtk3agg.py | 28 ++++++++++++++++------ 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/lib/matplotlib/backends/backend_gtk3agg.py b/lib/matplotlib/backends/backend_gtk3agg.py index f54849cf049c..c7b79c75a109 100644 --- a/lib/matplotlib/backends/backend_gtk3agg.py +++ b/lib/matplotlib/backends/backend_gtk3agg.py @@ -1,6 +1,8 @@ -import numpy as np +import sys import warnings +import numpy as np + from . import backend_agg, backend_cairo, backend_gtk3 from ._gtk3_compat import gi from .backend_cairo import cairo @@ -31,7 +33,7 @@ def _render_figure(self, width, height): backend_agg.FigureCanvasAgg.draw(self) def on_draw_event(self, widget, ctx): - """ GtkDrawable draw event, like expose_event in GTK 2.X + """GtkDrawable draw event, like expose_event in GTK 2.X. """ allocation = self.get_allocation() w, h = allocation.width, allocation.height @@ -45,17 +47,29 @@ def on_draw_event(self, widget, ctx): ctx = backend_cairo._to_context(ctx) for bbox in bbox_queue: - area = self.copy_from_bbox(bbox) - buf = np.fromstring(area.to_string_argb(), dtype='uint8') - x = int(bbox.x0) y = h - int(bbox.y1) width = int(bbox.x1) - int(bbox.x0) height = int(bbox.y1) - int(bbox.y0) + buf = (np.fromstring(self.copy_from_bbox(bbox).to_string_argb(), + dtype='uint8') + .reshape((width, height, 4))) + # cairo wants premultiplied alpha. Only bother doing the + # conversion when the alpha channel is not fully opaque, as the + # cost is not negligible. (The unsafe cast is needed to do the + # multiplication in-place in an integer buffer.) + if sys.byteorder == "little": + rgb24 = buf[..., :-1] + alpha8 = buf[..., -1:] + else: + alpha8 = buf[..., :1] + rgb24 = buf[..., 1:] + if alpha8.min() != 0xff: + np.multiply(rgb24, alpha8 / 0xff, out=rgb24, casting="unsafe") + image = cairo.ImageSurface.create_for_data( - buf.ravel().data, cairo.FORMAT_ARGB32, - width, height, width * 4) + buf.ravel().data, cairo.FORMAT_ARGB32, width, height) ctx.set_source_surface(image, x, y) ctx.paint() From 91850cc6f638cb9dab8a6788e5b060f46aac29b7 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Mon, 22 Jan 2018 19:13:30 -0800 Subject: [PATCH 0865/1161] Apply gtk3 background. Currently, gtk3 widget backgrounds are not being applied (which only matters if the figure patch is partially transparent). The lines added by this PR are equivalent to the call to `painter.eraseRect(self.rect())` in the qt5agg backend (compare http://doc.qt.io/qt-5/qpainter.html#eraseRect and https://developer.gnome.org/gtk3/stable/GtkStyleContext.html#gtk-render-background). As an example, run import os; os.environ["MPLBACKEND"] = "gtk3cairo" from pylab import * from gi.repository import Gtk rcParams["figure.facecolor"] = (0, 0, 0, 0) css = Gtk.CssProvider() css.load_from_data(b"* {background-color: red;}") gcf().canvas.get_style_context().add_provider( css, Gtk.STYLE_PROVIDER_PRIORITY_USER) gca() show() Without this patch, the red background is not drawn. --- lib/matplotlib/backends/backend_gtk3agg.py | 6 +++++- lib/matplotlib/backends/backend_gtk3cairo.py | 5 ++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/backends/backend_gtk3agg.py b/lib/matplotlib/backends/backend_gtk3agg.py index f54849cf049c..47430c3709d7 100644 --- a/lib/matplotlib/backends/backend_gtk3agg.py +++ b/lib/matplotlib/backends/backend_gtk3agg.py @@ -4,7 +4,7 @@ from . import backend_agg, backend_cairo, backend_gtk3 from ._gtk3_compat import gi from .backend_cairo import cairo -from .backend_gtk3 import _BackendGTK3 +from .backend_gtk3 import Gtk, _BackendGTK3 from matplotlib import transforms # The following combinations are allowed: @@ -38,6 +38,10 @@ def on_draw_event(self, widget, ctx): if not len(self._bbox_queue): self._render_figure(w, h) + Gtk.render_background( + self.get_style_context(), ctx, + allocation.x, allocation.y, + allocation.width, allocation.height) bbox_queue = [transforms.Bbox([[0, 0], [w, h]])] else: bbox_queue = self._bbox_queue diff --git a/lib/matplotlib/backends/backend_gtk3cairo.py b/lib/matplotlib/backends/backend_gtk3cairo.py index fee4ff96c282..dcbf02eb5024 100644 --- a/lib/matplotlib/backends/backend_gtk3cairo.py +++ b/lib/matplotlib/backends/backend_gtk3cairo.py @@ -1,7 +1,7 @@ from . import backend_cairo, backend_gtk3 from ._gtk3_compat import gi from .backend_cairo import cairo -from .backend_gtk3 import _BackendGTK3 +from .backend_gtk3 import Gtk, _BackendGTK3 from matplotlib.backend_bases import cursors @@ -39,6 +39,9 @@ def on_draw_event(self, widget, ctx): # toolbar.set_cursor(cursors.WAIT) self._renderer.set_context(ctx) allocation = self.get_allocation() + Gtk.render_background( + self.get_style_context(), ctx, + allocation.x, allocation.y, allocation.width, allocation.height) self._render_figure(allocation.width, allocation.height) # if toolbar: # toolbar.set_cursor(toolbar._lastCursor) From dbc4290baee9fc5440ddd7d2eb6255f9d56c2f74 Mon Sep 17 00:00:00 2001 From: fredrik-1 <sandquist.fredrik@gmail.com> Date: Thu, 14 Jun 2018 14:26:06 +0200 Subject: [PATCH 0866/1161] doc changes in add_subplot and add_axes --- lib/matplotlib/axes/_base.py | 70 +++---- lib/matplotlib/axes/_subplots.py | 2 + lib/matplotlib/figure.py | 231 ++++++++++++++++----- lib/matplotlib/pyplot.py | 343 ++++++++++++++++++++----------- 4 files changed, 421 insertions(+), 225 deletions(-) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index c201c09b9189..d2736bb412e7 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -408,8 +408,6 @@ def __str__(self): return "{0}({1[0]:g},{1[1]:g};{1[2]:g}x{1[3]:g})".format( type(self).__name__, self._position.bounds) - @docstring.Substitution(scale=' | '.join( - [repr(x) for x in mscale.get_scale_names()])) def __init__(self, fig, rect, facecolor=None, # defaults to rc axes.facecolor frameon=True, @@ -421,52 +419,32 @@ def __init__(self, fig, rect, **kwargs ): """ - Build an `~axes.Axes` instance in - `~matplotlib.figure.Figure` *fig* with - *rect=[left, bottom, width, height]* in - `~matplotlib.figure.Figure` coordinates + Build an axes in a figure. - Optional keyword arguments: + Parameters + ---------- + fig : `~matplotlib.figure.Figure` + The axes is build in the `.Figure` *fig*. + + rect : [left, bottom, width, height] + The axes is build in the rectangle *rect*. *rect* is in + `.Figure` coordinates. + + sharex, sharey : `~.axes.Axes`, optional + The x or y `~.matplotlib.axis` is shared with the x or + y axis in the input `~.axes.Axes`. - ================ ========================================= - Keyword Description - ================ ========================================= - *adjustable* [ 'box' | 'datalim' ] - *alpha* float: the alpha transparency (can be None) - *anchor* [ 'C', 'SW', 'S', 'SE', 'E', 'NE', 'N', - 'NW', 'W' ] - *aspect* [ 'auto' | 'equal' | aspect_ratio ] - *autoscale_on* bool; whether to autoscale the *viewlim* - *axisbelow* [ bool | 'line' ] draw the grids - and ticks below or above most other artists, - or below lines but above patches - *cursor_props* a (*float*, *color*) tuple - *figure* a :class:`~matplotlib.figure.Figure` - instance - *frame_on* bool; whether to draw the axes frame - *label* the axes label - *navigate* bool - *navigate_mode* [ 'PAN' | 'ZOOM' | None ] the navigation - toolbar button status - *position* [left, bottom, width, height] in - class:`~matplotlib.figure.Figure` coords - *sharex* an class:`~matplotlib.axes.Axes` instance - to share the x-axis with - *sharey* an class:`~matplotlib.axes.Axes` instance - to share the y-axis with - *title* the title string - *visible* bool, whether the axes is visible - *xlabel* the xlabel - *xlim* (*xmin*, *xmax*) view limits - *xscale* [%(scale)s] - *xticklabels* sequence of strings - *xticks* sequence of floats - *ylabel* the ylabel strings - *ylim* (*ymin*, *ymax*) view limits - *yscale* [%(scale)s] - *yticklabels* sequence of strings - *yticks* sequence of floats - ================ ========================================= + frameon : bool, optional + True means that the axes frame is visible. + + **kwargs + Other optional keyword arguments: + %(Axes)s + + Returns + ------- + axes : `~.axes.Axes` + The new `~.axes.Axes` object. """ martist.Artist.__init__(self) diff --git a/lib/matplotlib/axes/_subplots.py b/lib/matplotlib/axes/_subplots.py index d0bc0e43a9c7..accdeb456f1b 100644 --- a/lib/matplotlib/axes/_subplots.py +++ b/lib/matplotlib/axes/_subplots.py @@ -215,4 +215,6 @@ def _picklable_subplot_class_constructor(axes_class): docstring.interpd.update(Axes=martist.kwdoc(Axes)) +docstring.dedent_interpd(Axes.__init__) + docstring.interpd.update(Subplot=martist.kwdoc(Axes)) diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index c811a334190f..b76f4ec3eb4c 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -1044,70 +1044,97 @@ def fixlist(args): key = fixlist(args), fixitems(kwargs.items()) return key + @docstring.dedent_interpd def add_axes(self, *args, **kwargs): """ Add an axes to the figure. - Call signature:: + Call signatures:: add_axes(rect, projection=None, polar=False, **kwargs) + add_axes(ax) Parameters ---------- + rect : sequence of float The dimensions [left, bottom, width, height] of the new axes. All quantities are in fractions of figure width and height. projection : {None, 'aitoff', 'hammer', 'lambert', 'mollweide', \ -'polar', rectilinear'}, optional - The projection type of the axes. +'polar', 'rectilinear', str}, optional + The projection type of the `~.axes.Axes`. *str* is the name of + a custom projection, see `~matplotlib.projections`. The default + None results in a 'rectilinear' projection. polar : boolean, optional If True, equivalent to projection='polar'. + sharex, sharey : `~.axes.Axes`, optional + Share the x or y `~matplotlib.axis` with sharex and/or sharey. + The axis will have the same limits, ticks, and scale as the axis + of the shared axes. + + label : str + A label for the returned axes. + + Other Parameters + ---------------- **kwargs This method also takes the keyword arguments for - :class:`~matplotlib.axes.Axes`. + the returned axes class. The keyword arguments for the + rectilinear axes class `~.axes.Axes` can be found in + the following table but there might also be other keyword + arguments if another projection is used, see the actual axes + class. + %(Axes)s Returns ------- - axes : Axes - The added axes. + axes : `~.axes.Axes` (or a subclass of `~.axes.Axes`) + The returned axes class depends on the projection used. It is + `~.axes.Axes` if rectilinear projection are used and + `.projections.polar.PolarAxes` if polar projection + are used. + + Notes + ----- + If the figure already has an axes with key (*args*, + *kwargs*) then it will simply make that axes current and + return it. This behavior is deprecated. Meanwhile, if you do + not want this behavior (i.e., you want to force the creation of a + new axes), you must use a unique set of args and kwargs. The axes + *label* attribute has been exposed for this purpose: if you want + two axes that are otherwise identical to be added to the figure, + make sure you give them unique labels. + + In rare circumstances, `.add_axes` may be called with a single + argument, a axes instance already created in the present figure but + not in the figure's list of axes. + + See Also + -------- + .Figure.add_subplot + .pyplot.subplot + .pyplot.axes + .Figure.subplots + .pyplot.subplots Examples -------- Some simple examples:: rect = l, b, w, h - fig.add_axes(rect) + fig.plt.figure(1) + fig.add_axes(rect,label=label1) + fig.add_axes(rect,label=label2) fig.add_axes(rect, frameon=False, facecolor='g') fig.add_axes(rect, polar=True) - fig.add_axes(rect, projection='polar') + ax=fig.add_axes(rect, projection='polar') + fig.delaxes(ax) fig.add_axes(ax) - - If the figure already has an axes with the same parameters, then it - will simply make that axes current and return it. This behavior - has been deprecated as of Matplotlib 2.1. Meanwhile, if you do - not want this behavior (i.e., you want to force the creation of a - new Axes), you must use a unique set of args and kwargs. The axes - :attr:`~matplotlib.axes.Axes.label` attribute has been exposed for this - purpose: if you want two axes that are otherwise identical to be added - to the figure, make sure you give them unique labels:: - - fig.add_axes(rect, label='axes1') - fig.add_axes(rect, label='axes2') - - In rare circumstances, add_axes may be called with a single - argument, an Axes instance already created in the present - figure but not in the figure's list of axes. For example, - if an axes has been removed with :meth:`delaxes`, it can - be restored with:: - - fig.add_axes(ax) - - In all cases, the :class:`~matplotlib.axes.Axes` instance - will be returned. """ + if not len(args): return @@ -1149,66 +1176,118 @@ def add_axes(self, *args, **kwargs): a.stale_callback = _stale_figure_callback return a + @docstring.dedent_interpd def add_subplot(self, *args, **kwargs): """ - Add a subplot. + Add an `~.axes.Axes` to the figure as part of a subplot arrangement. Call signatures:: add_subplot(nrows, ncols, index, **kwargs) add_subplot(pos, **kwargs) + add_subplot(ax) Parameters ---------- *args Either a 3-digit integer or three separate integers describing the position of the subplot. If the three - integers are R, C, and P in order, the subplot will take - the Pth position on a grid with R rows and C columns. + integers are *nrows*, *ncols*, and *index* in order, the + subplot will take the *index* position on a grid with *nrows* + rows and *ncols* columns. *index* starts at 1 in the upper left + corner and increases to the right. + + *pos* is a three digit integer, where the first digit is the + number of rows, the second the number of columns, and the third + the index of the subplot. i.e. fig.add_subplot(235) is the same as + fig.add_subplot(2, 3, 5). Note that all integers must be less than + 10 for this form to work. projection : {None, 'aitoff', 'hammer', 'lambert', 'mollweide', \ -'polar', rectilinear'}, optional - The projection type of the axes. +'polar', 'rectilinear', str}, optional + The projection type of the subplot (`~.axes.Axes`). *str* is the + name of a custom projection, see `~matplotlib.projections`. The + default None results in a 'rectilinear' projection. polar : boolean, optional If True, equivalent to projection='polar'. + sharex, sharey : `~.axes.Axes`, optional + Share the x or y `~matplotlib.axis` with sharex and/or sharey. + The axis will have the same limits, ticks, and scale as the axis + of the shared axes. + + label : str + A label for the returned axes. + + Other Parameters + ---------------- **kwargs This method also takes the keyword arguments for - :class:`~matplotlib.axes.Axes`. + the returned axes base class. The keyword arguments for the + rectilinear base class `~.axes.Axes` can be found in + the following table but there might also be other keyword + arguments if another projection is used. + %(Axes)s Returns ------- - axes : Axes - The axes of the subplot. + axes : an `.axes.SubplotBase` subclass of `~.axes.Axes` (or a \ + subclass of `~.axes.Axes`) + + The axes of the subplot. The returned axes base class depends on + the projection used. It is `~.axes.Axes` if rectilinear projection + are used and `.projections.polar.PolarAxes` if polar projection + are used. The returned axes is then a subplot subclass of the + base class. Notes ----- If the figure already has a subplot with key (*args*, *kwargs*) then it will simply make that subplot current and - return it. This behavior is deprecated. + return it. This behavior is deprecated. Meanwhile, if you do + not want this behavior (i.e., you want to force the creation of a + new suplot), you must use a unique set of args and kwargs. The axes + *label* attribute has been exposed for this purpose: if you want + two subplots that are otherwise identical to be added to the figure, + make sure you give them unique labels. + + In rare circumstances, `.add_subplot` may be called with a single + argument, a subplot axes instance already created in the + present figure but not in the figure's list of axes. + + See Also + -------- + .Figure.add_axes + .pyplot.subplot + .pyplot.axes + .Figure.subplots + .pyplot.subplots Examples -------- :: - fig.add_subplot(111) + fig=plt.figure(1) + fig.add_subplot(221) # equivalent but more general - fig.add_subplot(1, 1, 1) + ax1=fig.add_subplot(2, 2, 1) - # add subplot with red background - fig.add_subplot(212, facecolor='r') + # add a subplot with no frame + ax2=fig.add_subplot(222, frameon=False) # add a polar subplot - fig.add_subplot(111, projection='polar') + fig.add_subplot(223, projection='polar') - # add Subplot instance sub - fig.add_subplot(sub) + # add a red subplot that share the x-axis with ax1 + fig.add_subplot(224, sharex=ax1, facecolor='red') - See Also - -------- - matplotlib.pyplot.subplot : for an explanation of the args. + #delete x2 from the figure + fig.delaxes(ax2) + + #add x2 to the figure again + fig.add_subplot(ax2) """ if not len(args): return @@ -1284,7 +1363,7 @@ def subplots(self, nrows=1, ncols=1, sharex=False, sharey=False, labels of the bottom subplot are created. Similarly, when subplots have a shared y-axis along a row, only the y tick labels of the first column subplot are created. To later turn other subplots' - ticklabels on, use :meth:`~matplotlib.axes.Axes.tick_params`. + ticklabels on, use `~matplotlib.axes.Axes.tick_params`. squeeze : bool, optional, default: True - If True, extra dimensions are squeezed out from the returned @@ -1313,16 +1392,58 @@ def subplots(self, nrows=1, ncols=1, sharex=False, sharey=False, Returns ------- - ax : Axes object or array of Axes objects. + ax : `~.axes.Axes` object or array of Axes objects. *ax* can be either a single `~matplotlib.axes.Axes` object or an array of Axes objects if more than one subplot was created. The dimensions of the resulting array can be controlled with the squeeze keyword, see above. - See Also + Examples -------- - :func:`.pyplot.subplots`: docstring includes examples. - """ + :: + + # First create some toy data: + x = np.linspace(0, 2*np.pi, 400) + y = np.sin(x**2) + + # Create a figure + plt.figure(1, clear=True) + + # Creates a subplot + ax = fig.subplots() + ax.plot(x, y) + ax.set_title('Simple plot') + + # Creates two subplots and unpacks the output array immediately + ax1, ax2 = fig.subplots(1, 2, sharey=True) + ax1.plot(x, y) + ax1.set_title('Sharing Y axis') + ax2.scatter(x, y) + + # Creates four polar axes, and accesses them through the + # returned array + axes = fig.subplots(2, 2, subplot_kw=dict(polar=True)) + axes[0, 0].plot(x, y) + axes[1, 1].scatter(x, y) + + # Share a X axis with each column of subplots + fig.subplots(2, 2, sharex='col') + + # Share a Y axis with each row of subplots + fig.subplots(2, 2, sharey='row') + + # Share both X and Y axes with all subplots + fig.subplots(2, 2, sharex='all', sharey='all') + + # Note that this is the same as + fig.subplots(2, 2, sharex=True, sharey=True) + + See Also + -------- + .pyplot.subplots + .Figure.add_subplot + .pyplot.subplot + """ if isinstance(sharex, bool): sharex = "all" if sharex else "none" diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index b8fa2065d17b..3959bf12eaf7 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -415,7 +415,7 @@ def figure(num=None, # autoincrement if None, else integer from 1-N Parameters ---------- - num : integer or string, optional, default: none + num : integer or string, optional, default: None If not provided, a new figure will be created, and the figure number will be incremented. The figure objects holds this number in a `number` attribute. @@ -769,14 +769,20 @@ def figlegend(*args, **kwargs): ## Axes ## - +@docstring.dedent_interpd def axes(arg=None, **kwargs): """ Add an axes to the current figure and make it the current axes. + Call signatures:: + + plt.axes() + plt.axes(rect, projection=None, polar=False, **kwargs) + plt.axes(ax) + Parameters ---------- - arg : None or 4-tuple or Axes + arg : { None, 4-tuple, Axes } The exact behavior of this function depends on the type: - *None*: A new full window axes is added using @@ -784,48 +790,79 @@ def axes(arg=None, **kwargs): - 4-tuple of floats *rect* = ``[left, bottom, width, height]``. A new axes is added with dimensions *rect* in normalized (0, 1) units using `~.Figure.add_axes` on the current figure. - - `~matplotlib.axes.Axes`: This is equivalent to `.pyplot.sca`. + - `~.axes.Axes`: This is equivalent to `.pyplot.sca`. It sets the current axes to *arg*. Note: This implicitly changes the current figure to the parent of *arg*. - .. note:: The use of an Axes as an argument is deprecated and will be - removed in v3.0. Please use `.pyplot.sca` instead. + .. note:: The use of an `.axes.Axes` as an argument is deprecated + and will be removed in v3.0. Please use `.pyplot.sca` + instead. + + projection : {None, 'aitoff', 'hammer', 'lambert', 'mollweide', \ +'polar', 'rectilinear', str}, optional + The projection type of the `~.axes.Axes`. *str* is the name of + a costum projection, see `~matplotlib.projections`. The default + None results in a 'rectilinear' projection. + + polar : boolean, optional + If True, equivalent to projection='polar'. + + sharex, sharey : `~.axes.Axes`, optional + Share the x or y `~matplotlib.axis` with sharex and/or sharey. + The axis will have the same limits, ticks, and scale as the axis + of the shared axes. + + + label : str + A label for the returned axes. Other Parameters ---------------- - **kwargs : - For allowed keyword arguments see `.pyplot.subplot` and - `.Figure.add_axes` respectively. Some common keyword arguments are - listed below: - - ========= =========== ================================================= - kwarg Accepts Description - ========= =========== ================================================= - facecolor color the axes background color - frameon bool whether to display the frame - sharex otherax share x-axis with *otherax* - sharey otherax share y-axis with *otherax* - polar bool whether to use polar axes - aspect [str | num] ['equal', 'auto'] or a number. If a number, the - ratio of y-unit/x-unit in screen-space. See also - `~.Axes.set_aspect`. - ========= =========== ================================================= + **kwargs + This method also takes the keyword arguments for + the returned axes class. The keyword arguments for the + rectilinear axes class `~.axes.Axes` can be found in + the following table but there might also be other keyword + arguments if another projection is used, see the actual axes + class. + %(Axes)s Returns ------- - axes : Axes - The created or activated axes. + axes : `~.axes.Axes` (or a subclass of `~.axes.Axes`) + The returned axes class depends on the projection used. It is + `~.axes.Axes` if rectilinear projection are used and + `.projections.polar.PolarAxes` if polar projection + are used. - Examples - -------- - Creating a new full window axes:: + Notes + ----- + If the figure already has a axes with key (*args*, + *kwargs*) then it will simply make that axes current and + return it. This behavior is deprecated. Meanwhile, if you do + not want this behavior (i.e., you want to force the creation of a + new axes), you must use a unique set of args and kwargs. The axes + *label* attribute has been exposed for this purpose: if you want + two axes that are otherwise identical to be added to the figure, + make sure you give them unique labels. - >>> plt.axes() + See Also + -------- + .Figure.add_axes + .pyplot.subplot + .Figure.add_subplot + .Figure.subplots + .pyplot.subplots - Creating a new axes with specified dimensions and some kwargs:: + Examples + -------- + :: - >>> plt.axes((left, bottom, width, height), facecolor='w') + #Creating a new full window axes + plt.axes() + #Creating a new axes with specified dimensions and some kwargs + plt.axes((left, bottom, width, height), facecolor='w') """ if arg is None: @@ -893,75 +930,135 @@ def gca(**kwargs): ## More ways of creating axes ## - +@docstring.dedent_interpd def subplot(*args, **kwargs): """ - Return a subplot axes at the given grid position. - - Call signature:: + Add a subplot to the current figure. - subplot(nrows, ncols, index, **kwargs) + Wrapper of `.Figure.add_subplot` with a difference in behavior + explained in the notes section. - In the current figure, create and return an `~matplotlib.axes.Axes`, - at position *index* of a (virtual) grid of *nrows* by *ncols* axes. - Indexes go from 1 to ``nrows * ncols``, incrementing in row-major order. + Call signatures:: - If *nrows*, *ncols* and *index* are all less than 10, they can also be - given as a single, concatenated, three-digit number. + subplot(nrows, ncols, index, **kwargs) + subplot(pos, **kwargs) + subplot(ax) - For example, ``subplot(2, 3, 3)`` and ``subplot(233)`` both create an - `matplotlib.axes.Axes` at the top right corner of the current figure, - occupying half of the figure height and a third of the figure width. + Parameters + ---------- + *args + Either a 3-digit integer or three separate integers + describing the position of the subplot. If the three + integers are *nrows*, *ncols*, and *index* in order, the + subplot will take the *index* position on a grid with *nrows* + rows and *ncols* columns. *index* starts at 1 in the upper left + corner and increases to the right. + + *pos* is a three digit integer, where the first digit is the + number of rows, the second the number of columns, and the third + the index of the subplot. i.e. fig.add_subplot(235) is the same as + fig.add_subplot(2, 3, 5). Note that all integers must be less than + 10 for this form to work. + + projection : {None, 'aitoff', 'hammer', 'lambert', 'mollweide', \ +'polar', 'rectilinear', str}, optional + The projection type of the subplot (`~.axes.Axes`). *str* is the name + of a costum projection, see `~matplotlib.projections`. The default + None results in a 'rectilinear' projection. + + polar : boolean, optional + If True, equivalent to projection='polar'. + + sharex, sharey : `~.axes.Axes`, optional + Share the x or y `~matplotlib.axis` with sharex and/or sharey. The + axis will have the same limits, ticks, and scale as the axis of the + shared axes. + + label : str + A label for the returned axes. - .. note:: + Other Parameters + ---------------- + **kwargs + This method also takes the keyword arguments for + the returned axes base class. The keyword arguments for the + rectilinear base class `~.axes.Axes` can be found in + the following table but there might also be other keyword + arguments if another projection is used. + %(Axes)s - Creating a subplot will delete any pre-existing subplot that overlaps - with it beyond sharing a boundary:: + Returns + ------- + axes : an `.axes.SubplotBase` subclass of `~.axes.Axes` (or a subclass \ + of `~.axes.Axes`) - import matplotlib.pyplot as plt - # plot a line, implicitly creating a subplot(111) - plt.plot([1,2,3]) - # now create a subplot which represents the top plot of a grid - # with 2 rows and 1 column. Since this subplot will overlap the - # first, the plot (and its axes) previously created, will be removed - plt.subplot(211) - plt.plot(range(12)) - plt.subplot(212, facecolor='y') # creates 2nd subplot with yellow background + The axes of the subplot. The returned axes base class depends on + the projection used. It is `~.axes.Axes` if rectilinear projection + are used and `.projections.polar.PolarAxes` if polar projection + are used. The returned axes is then a subplot subclass of the + base class. - If you do not want this behavior, use the - :meth:`~matplotlib.figure.Figure.add_subplot` method or the - :func:`~matplotlib.pyplot.axes` function instead. + Notes + ----- + Creating a subplot will delete any pre-existing subplot that overlaps + with it beyond sharing a boundary:: + + import matplotlib.pyplot as plt + # plot a line, implicitly creating a subplot(111) + plt.plot([1,2,3]) + # now create a subplot which represents the top plot of a grid + # with 2 rows and 1 column. Since this subplot will overlap the + # first, the plot (and its axes) previously created, will be removed + plt.subplot(211) + + If you do not want this behavior, use the `.Figure.add_subplot` method + or the `.pyplot.axes` function instead. + + If the figure already has a subplot with key (*args*, + *kwargs*) then it will simply make that subplot current and + return it. This behavior is deprecated. Meanwhile, if you do + not want this behavior (i.e., you want to force the creation of a + new suplot), you must use a unique set of args and kwargs. The axes + *label* attribute has been exposed for this purpose: if you want + two subplots that are otherwise identical to be added to the figure, + make sure you give them unique labels. + + In rare circumstances, `.add_subplot` may be called with a single + argument, a subplot axes instance already created in the + present figure but not in the figure's list of axes. - Keyword arguments: + See Also + -------- + .Figure.add_subplot + .pyplot.subplots + .pyplot.axes + .Figure.subplots - *facecolor*: - The background color of the subplot, which can be any valid - color specifier. See :mod:`matplotlib.colors` for more - information. + Examples + -------- + :: - *polar*: - A boolean flag indicating whether the subplot plot should be - a polar projection. Defaults to *False*. + plt.subplot(221) - *projection*: - A string giving the name of a custom projection to be used - for the subplot. This projection must have been previously - registered. See :mod:`matplotlib.projections`. + # equivalent but more general + ax1=plt.subplot(2, 2, 1) - .. seealso:: + # add a subplot with no frame + ax2=plt.subplot(222, frameon=False) - :func:`~matplotlib.pyplot.axes` - For additional information on :func:`axes` and - :func:`subplot` keyword arguments. + # add a polar subplot + plt.subplot(223, projection='polar') - :file:`gallery/pie_and_polar_charts/polar_scatter.py` - For an example + # add a red subplot that shares the x-axis with ax1 + plt.subplot(224, sharex=ax1, facecolor='red') - **Example:** + #delete ax2 from the figure + plt.delaxes(ax2) - .. plot:: gallery/subplots_axes_and_figures/subplot.py + #add ax2 to the figure again + plt.subplot(ax2) + """ - """ # if subplot called without arguments, create subplot(1,1,1) if len(args) == 0: args = (1, 1, 1) @@ -1019,7 +1116,7 @@ def subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, labels of the bottom subplot are created. Similarly, when subplots have a shared y-axis along a row, only the y tick labels of the first column subplot are created. To later turn other subplots' ticklabels - on, use :meth:`~matplotlib.axes.Axes.tick_params`. + on, use `~matplotlib.axes.Axes.tick_params`. squeeze : bool, optional, default: True - If True, extra dimensions are squeezed out from the returned @@ -1035,9 +1132,12 @@ def subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, always a 2D array containing Axes instances, even if it ends up being 1x1. + num : integer or string, optional, default: None + A `.pyplot.figure` keyword that sets the figure number or label. + subplot_kw : dict, optional Dict with keywords passed to the - :meth:`~matplotlib.figure.Figure.add_subplot` call used to create each + `~matplotlib.figure.Figure.add_subplot` call used to create each subplot. gridspec_kw : dict, optional @@ -1046,13 +1146,13 @@ def subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, **fig_kw : All additional keyword arguments are passed to the - :func:`.pyplot.figure` call. + `.pyplot.figure` call. Returns ------- - fig : `~matplotlib.figure.Figure` + fig : `~.figure.Figure` - ax : Axes object or array of Axes objects. + ax : `.axes.Axes` object or array of Axes objects. *ax* can be either a single `~matplotlib.axes.Axes` object or an array of Axes objects if more than one subplot was created. The dimensions of the resulting array can be controlled with the squeeze @@ -1060,57 +1160,52 @@ def subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, Examples -------- - First create some toy data: - - >>> x = np.linspace(0, 2*np.pi, 400) - >>> y = np.sin(x**2) - - Creates just a figure and only one subplot - - >>> fig, ax = plt.subplots() - >>> ax.plot(x, y) - >>> ax.set_title('Simple plot') + :: - Creates two subplots and unpacks the output array immediately + #First create some toy data: + x = np.linspace(0, 2*np.pi, 400) + y = np.sin(x**2) - >>> f, (ax1, ax2) = plt.subplots(1, 2, sharey=True) - >>> ax1.plot(x, y) - >>> ax1.set_title('Sharing Y axis') - >>> ax2.scatter(x, y) + #Creates just a figure and only one subplot + fig, ax = plt.subplots() + ax.plot(x, y) + ax.set_title('Simple plot') - Creates four polar axes, and accesses them through the returned array + #Creates two subplots and unpacks the output array immediately + f, (ax1, ax2) = plt.subplots(1, 2, sharey=True) + ax1.plot(x, y) + ax1.set_title('Sharing Y axis') + ax2.scatter(x, y) - >>> fig, axes = plt.subplots(2, 2, subplot_kw=dict(polar=True)) - >>> axes[0, 0].plot(x, y) - >>> axes[1, 1].scatter(x, y) + #Creates four polar axes, and accesses them through the returned array + fig, axes = plt.subplots(2, 2, subplot_kw=dict(polar=True)) + axes[0, 0].plot(x, y) + axes[1, 1].scatter(x, y) - Share a X axis with each column of subplots + #Share a X axis with each column of subplots + plt.subplots(2, 2, sharex='col') - >>> plt.subplots(2, 2, sharex='col') + #Share a Y axis with each row of subplots + plt.subplots(2, 2, sharey='row') - Share a Y axis with each row of subplots + #Share both X and Y axes with all subplots + plt.subplots(2, 2, sharex='all', sharey='all') - >>> plt.subplots(2, 2, sharey='row') + #Note that this is the same as + plt.subplots(2, 2, sharex=True, sharey=True) - Share both X and Y axes with all subplots - - >>> plt.subplots(2, 2, sharex='all', sharey='all') - - Note that this is the same as - - >>> plt.subplots(2, 2, sharex=True, sharey=True) - - Creates figure number 10 with a single subplot - and clears it if it already exists. - - >>> fig, ax=plt.subplots(num=10, clear=True) + #Creates figure number 10 with a single subplot + #and clears it if it already exists. + fig, ax=plt.subplots(num=10, clear=True) See Also -------- - :func:`.pyplot.figure` - :func:`.pyplot.subplot` - :meth:`.Figure.add_subplot` - :meth:`.Figure.subplots` + .pyplot.figure + .pyplot.subplot + .pyplot.axes + .Figure.subplots + .Figure.add_subplot + """ fig = figure(**fig_kw) axs = fig.subplots(nrows=nrows, ncols=ncols, sharex=sharex, sharey=sharey, From fff96784e92ea3d4aba41b6ac3025b84c83dce4d Mon Sep 17 00:00:00 2001 From: Taras Kuzyo <kuzyo.taras@gmail.com> Date: Sun, 1 Jul 2018 00:31:30 +0300 Subject: [PATCH 0867/1161] added a test case for x and y args of LocationEvent --- lib/matplotlib/tests/test_backend_bases.py | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/lib/matplotlib/tests/test_backend_bases.py b/lib/matplotlib/tests/test_backend_bases.py index cd8db6bc08ef..e9ee4cccfb99 100644 --- a/lib/matplotlib/tests/test_backend_bases.py +++ b/lib/matplotlib/tests/test_backend_bases.py @@ -1,5 +1,6 @@ from matplotlib.backend_bases import FigureCanvasBase from matplotlib.backend_bases import RendererBase +from matplotlib.backend_bases import LocationEvent import matplotlib.pyplot as plt import matplotlib.transforms as transforms @@ -77,3 +78,25 @@ def test_non_gui_warning(): assert len(rec) == 1 assert ('Matplotlib is currently using pdf, which is a non-GUI backend' in str(rec[0].message)) + + +def test_location_event_position(): + # LocationEvent should cast its x and y arguments + # to int unless it is None + fig = plt.figure() + canvas = FigureCanvasBase(fig) + test_positions = [(42, 24), (None, 42), (None, None), + (200, 100.01), (205.75, 2.0)] + for x, y in test_positions: + event = LocationEvent("test_event", canvas, x, y) + if x is None: + assert event.x is None + else: + assert event.x == int(x) + assert isinstance(event.x, int) + if y is None: + assert event.y is None + else: + assert event.y == int(y) + assert isinstance(event.y, int) + From 51f8468b3b2d10882dc3e0d6d1459f22e8ddcd5b Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Fri, 25 Aug 2017 18:21:47 -0700 Subject: [PATCH 0868/1161] axisbelow should just set zorder. --- lib/matplotlib/axes/_base.py | 39 +++++++++++++------------ lib/matplotlib/tests/test_image.py | 1 - lib/mpl_toolkits/mplot3d/axes3d.py | 47 +++++++----------------------- 3 files changed, 30 insertions(+), 57 deletions(-) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 71edc6281d6a..0d3aec618a82 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -477,7 +477,6 @@ def __init__(self, fig, rect, if self._position.width < 0 or self._position.height < 0: raise ValueError('Width and height specified must be non-negative') self._originalPosition = self._position.frozen() - # self.set_axes(self) self.axes = self self._aspect = 'auto' self._adjustable = 'box' @@ -501,7 +500,7 @@ def __init__(self, fig, rect, facecolor = rcParams['axes.facecolor'] self._facecolor = facecolor self._frameon = frameon - self._axisbelow = rcParams['axes.axisbelow'] + self.set_axisbelow(rcParams['axes.axisbelow']) self._rasterization_zorder = None self._connected = {} # a dict from events to (id, func) @@ -2537,18 +2536,7 @@ def draw(self, renderer=None, inframe=False): self._update_title_position(renderer) - if self.axison and not inframe: - if self._axisbelow is True: - self.xaxis.set_zorder(0.5) - self.yaxis.set_zorder(0.5) - elif self._axisbelow is False: - self.xaxis.set_zorder(2.5) - self.yaxis.set_zorder(2.5) - else: - # 'line': above patches, below lines - self.xaxis.set_zorder(1.5) - self.yaxis.set_zorder(1.5) - else: + if not self.axison or inframe: for _axis in self._get_axis_list(): artists.remove(_axis) @@ -2620,9 +2608,7 @@ def get_renderer_cache(self): # Axes rectangle characteristics def get_frame_on(self): - """ - Get whether the axes rectangle patch is drawn. - """ + """Get whether the axes rectangle patch is drawn.""" return self._frameon def set_frame_on(self, b): @@ -2644,13 +2630,26 @@ def get_axisbelow(self): def set_axisbelow(self, b): """ - Set whether axis ticks and gridlines are above or below most artists. + Set the zorder for the axes ticks and gridlines. + + ``True`` corresponds to a zorder of 0.5, ``False`` to a zorder of 2.5, + and ``"line"`` to a zorder of 1.5. Parameters ---------- b : bool or 'line' """ - self._axisbelow = validate_axisbelow(b) + self._axisbelow = axisbelow = validate_axisbelow(b) + if axisbelow is True: + zorder = 0.5 + elif axisbelow is False: + zorder = 2.5 + elif axisbelow == "line": + zorder = 1.5 + else: + raise ValueError("Unexpected axisbelow value") + for axis in self._get_axis_list(): + axis.set_zorder(zorder) self.stale = True @docstring.dedent_interpd @@ -2678,6 +2677,8 @@ def grid(self, b=None, which='major', axis='both', **kwargs): %(Line2D)s + Note that the grid will be drawn according to the axes' zorder and not + its own. """ if len(kwargs): b = True diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py index 82c44ffad0ca..85d5761cc7de 100644 --- a/lib/matplotlib/tests/test_image.py +++ b/lib/matplotlib/tests/test_image.py @@ -786,7 +786,6 @@ def test_imshow_masked_interpolation(): N = 20 n = colors.Normalize(vmin=0, vmax=N*N-1) - # data = np.random.random((N, N))*N*N data = np.arange(N*N, dtype='float').reshape(N, N) data[5, 5] = -1 diff --git a/lib/mpl_toolkits/mplot3d/axes3d.py b/lib/mpl_toolkits/mplot3d/axes3d.py index 16bb0ebec65e..d9e24280535c 100644 --- a/lib/mpl_toolkits/mplot3d/axes3d.py +++ b/lib/mpl_toolkits/mplot3d/axes3d.py @@ -272,28 +272,28 @@ def draw(self, renderer): renderer.eye = self.eye renderer.get_axis_position = self.get_axis_position - # Calculate projection of collections and zorder them + # Calculate projection of collections and patches and zorder them. + # Make sure they are drawn above the grids. + zorder_offset = max(axis.get_zorder() + for axis in self._get_axis_list()) + 1 for i, col in enumerate( sorted(self.collections, key=lambda col: col.do_3d_projection(renderer), reverse=True)): - col.zorder = i - - # Calculate projection of patches and zorder them + col.zorder = zorder_offset + i for i, patch in enumerate( sorted(self.patches, key=lambda patch: patch.do_3d_projection(renderer), reverse=True)): - patch.zorder = i + patch.zorder = zorder_offset + i if self._axis3don: - axes = (self.xaxis, self.yaxis, self.zaxis) # Draw panes first - for ax in axes: - ax.draw_pane(renderer) + for axis in self._get_axis_list(): + axis.draw_pane(renderer) # Then axes - for ax in axes: - ax.draw(renderer) + for axis in self._get_axis_list(): + axis.draw(renderer) # Then rest super().draw(renderer) @@ -1283,33 +1283,6 @@ def set_frame_on(self, b): self._frameon = bool(b) self.stale = True - def get_axisbelow(self): - """ - Get whether axis below is true or not. - - For axes3d objects, this will always be *True* - - .. versionadded :: 1.1.0 - This function was added for completeness. - """ - return True - - def set_axisbelow(self, b): - """ - Set whether axis ticks and gridlines are above or below most artists. - - For axes3d objects, this will ignore any settings and just use *True* - - .. versionadded :: 1.1.0 - This function was added for completeness. - - Parameters - ---------- - b : bool - """ - self._axisbelow = True - self.stale = True - def grid(self, b=True, **kwargs): ''' Set / unset 3D grid. From eae165d9175572c0734a5e5daa0c8591186e9240 Mon Sep 17 00:00:00 2001 From: Taras Kuzyo <kuzyo.taras@gmail.com> Date: Sun, 1 Jul 2018 01:07:04 +0300 Subject: [PATCH 0869/1161] PEP8-check fixes --- lib/matplotlib/tests/test_backend_bases.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/tests/test_backend_bases.py b/lib/matplotlib/tests/test_backend_bases.py index e9ee4cccfb99..048da404c81f 100644 --- a/lib/matplotlib/tests/test_backend_bases.py +++ b/lib/matplotlib/tests/test_backend_bases.py @@ -78,14 +78,14 @@ def test_non_gui_warning(): assert len(rec) == 1 assert ('Matplotlib is currently using pdf, which is a non-GUI backend' in str(rec[0].message)) - - + + def test_location_event_position(): # LocationEvent should cast its x and y arguments # to int unless it is None fig = plt.figure() canvas = FigureCanvasBase(fig) - test_positions = [(42, 24), (None, 42), (None, None), + test_positions = [(42, 24), (None, 42), (None, None), (200, 100.01), (205.75, 2.0)] for x, y in test_positions: event = LocationEvent("test_event", canvas, x, y) @@ -99,4 +99,3 @@ def test_location_event_position(): else: assert event.y == int(y) assert isinstance(event.y, int) - From 422f987b3f0ef2506dfe1b02286299cccd3cac70 Mon Sep 17 00:00:00 2001 From: Nelle Varoquaux <nelle.varoquaux@gmail.com> Date: Sat, 30 Jun 2018 15:15:41 -0700 Subject: [PATCH 0870/1161] DOC nitpicks --- lib/matplotlib/axes/_base.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 0d3aec618a82..8ac56ab9bdb6 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -2632,12 +2632,12 @@ def set_axisbelow(self, b): """ Set the zorder for the axes ticks and gridlines. - ``True`` corresponds to a zorder of 0.5, ``False`` to a zorder of 2.5, - and ``"line"`` to a zorder of 1.5. - Parameters ---------- b : bool or 'line' + ``True`` corresponds to a zorder of 0.5, ``False`` to a zorder of + 2.5, and ``"line"`` to a zorder of 1.5. + """ self._axisbelow = axisbelow = validate_axisbelow(b) if axisbelow is True: From aaff40014b474d58eb3ef97f3f0dbe664fa05d69 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Tue, 22 May 2018 12:51:24 -0700 Subject: [PATCH 0871/1161] Maintain artist addition order in Axes.mouseover_set. --- .../2018-02-26-AL-removals.rst | 9 ++++++++ lib/matplotlib/artist.py | 6 +++--- lib/matplotlib/axes/_base.py | 13 ++++++++---- lib/matplotlib/backend_bases.py | 2 +- lib/matplotlib/backend_tools.py | 2 +- lib/matplotlib/cbook/__init__.py | 21 +++++++++++++++++++ lib/matplotlib/tests/test_artist.py | 6 +++--- 7 files changed, 47 insertions(+), 12 deletions(-) diff --git a/doc/api/next_api_changes/2018-02-26-AL-removals.rst b/doc/api/next_api_changes/2018-02-26-AL-removals.rst index a8b7cc789fcc..d7ae9530f1d1 100644 --- a/doc/api/next_api_changes/2018-02-26-AL-removals.rst +++ b/doc/api/next_api_changes/2018-02-26-AL-removals.rst @@ -1,3 +1,12 @@ +Modified APIs +------------- + +The following APIs have been modified: + +- ``Axes.mouseover_set`` is now a frozenset, and deprecated. Directly + manipulate the artist's ``.mouseover`` attribute to change their mouseover + status. + Removal of deprecated APIs -------------------------- diff --git a/lib/matplotlib/artist.py b/lib/matplotlib/artist.py index 823f253627b6..b2d7f971c973 100644 --- a/lib/matplotlib/artist.py +++ b/lib/matplotlib/artist.py @@ -148,7 +148,7 @@ def remove(self): _ax_flag = False if hasattr(self, 'axes') and self.axes: # remove from the mouse hit list - self.axes.mouseover_set.discard(self) + self.axes._mouseover_set.discard(self) # mark the axes as stale self.axes.stale = True # decouple the artist from the axes @@ -1028,9 +1028,9 @@ def mouseover(self, val): ax = self.axes if ax: if val: - ax.mouseover_set.add(self) + ax._mouseover_set.add(self) else: - ax.mouseover_set.discard(self) + ax._mouseover_set.discard(self) class ArtistInspector(object): diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 5a656b8977be..181293b7983c 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -12,8 +12,8 @@ import matplotlib from matplotlib import cbook, rcParams -from matplotlib.cbook import (_check_1d, _string_to_bool, iterable, - index_of, get_label) +from matplotlib.cbook import ( + _OrderedSet, _check_1d, _string_to_bool, iterable, index_of, get_label) from matplotlib import docstring import matplotlib.colors as mcolors import matplotlib.lines as mlines @@ -907,7 +907,7 @@ def _set_artist_props(self, a): a.axes = self if a.mouseover: - self.mouseover_set.add(a) + self._mouseover_set.add(a) def _gen_axes_patch(self): """ @@ -1022,7 +1022,7 @@ def cla(self): self.tables = [] self.artists = [] self.images = [] - self.mouseover_set = set() + self._mouseover_set = _OrderedSet() self._current_image = None # strictly for pyplot via _sci, _gci self.legend_ = None self.collections = [] # collection.Collection instances @@ -1089,6 +1089,11 @@ def cla(self): self.stale = True + @property + @cbook.deprecated("3.0") + def mouseover_set(self): + return frozenset(self._mouseover_set) + def clear(self): """Clear the axes.""" self.cla() diff --git a/lib/matplotlib/backend_bases.py b/lib/matplotlib/backend_bases.py index 54728fe05d6b..7909f97c42ab 100644 --- a/lib/matplotlib/backend_bases.py +++ b/lib/matplotlib/backend_bases.py @@ -2705,7 +2705,7 @@ def mouse_move(self, event): except (ValueError, OverflowError): pass else: - artists = [a for a in event.inaxes.mouseover_set + artists = [a for a in event.inaxes._mouseover_set if a.contains(event) and a.get_visible()] if artists: diff --git a/lib/matplotlib/backend_tools.py b/lib/matplotlib/backend_tools.py index 803ce1c02c26..f7e2a9b50b5c 100644 --- a/lib/matplotlib/backend_tools.py +++ b/lib/matplotlib/backend_tools.py @@ -337,7 +337,7 @@ def send_message(self, event): except (ValueError, OverflowError): pass else: - artists = [a for a in event.inaxes.mouseover_set + artists = [a for a in event.inaxes._mouseover_set if a.contains(event) and a.get_visible()] if artists: diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index 7abcac3e66d8..b25543ea1e20 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -2047,3 +2047,24 @@ def _warn_external(message, category=None): break frame = frame.f_back warnings.warn(message, category, stacklevel) + + +class _OrderedSet(collections.MutableSet): + def __init__(self): + self._od = collections.OrderedDict() + + def __contains__(self, key): + return key in self._od + + def __iter__(self): + return iter(self._od) + + def __len__(self): + return len(self._od) + + def add(self, key): + self._od.pop(key, None) + self._od[key] = None + + def discard(self, key): + self._od.pop(key, None) diff --git a/lib/matplotlib/tests/test_artist.py b/lib/matplotlib/tests/test_artist.py index c7a4b565c510..4b4c76ce293d 100644 --- a/lib/matplotlib/tests/test_artist.py +++ b/lib/matplotlib/tests/test_artist.py @@ -185,8 +185,8 @@ def test_remove(): assert not ax.stale assert not ln.stale - assert im in ax.mouseover_set - assert ln not in ax.mouseover_set + assert im in ax._mouseover_set + assert ln not in ax._mouseover_set assert im.axes is ax im.remove() @@ -196,7 +196,7 @@ def test_remove(): assert art.axes is None assert art.figure is None - assert im not in ax.mouseover_set + assert im not in ax._mouseover_set assert fig.stale assert ax.stale From cb58589806ca5a6f73d0ee3d5eb9e9ee354ae757 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Tue, 3 Apr 2018 10:09:29 -0700 Subject: [PATCH 0872/1161] Cache various dviread constructs globally. Previously, caching was done at the level of the renderer, so new renderers would have to reconstruct the PsfontsMap and Adobe encoding tables. Using a global cache greatly improves the performance: something like rcdefaults() gca().text(.5, .5, "$foo$", usetex=True) %timeit savefig("/tmp/test.svg") goes from ~187ms to ~37ms. %timeit savefig("/tmp/test.pdf") goes from ~124ms to ~53ms. Also moves TextToPath's _get_ps_font_map_and_encoding to use a standard lru_cache. --- .../2018-02-15-AL-deprecations.rst | 14 +- lib/matplotlib/backends/backend_pdf.py | 10 +- lib/matplotlib/dviread.py | 28 ++-- lib/matplotlib/texmanager.py | 4 - lib/matplotlib/textpath.py | 121 ++++++++---------- 5 files changed, 83 insertions(+), 94 deletions(-) diff --git a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst index 5d799c5587ec..27e189eb92b4 100644 --- a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst +++ b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst @@ -11,8 +11,12 @@ The following modules are deprecated: The following classes, methods, functions, and attributes are deprecated: - ``afm.parse_afm``, +- ``backend_pdf.PdfFile.texFontMap``, - ``backend_pgf.get_texcommand``, - ``backend_ps.get_bbox``, +- ``backend_qt5.FigureCanvasQT.keyAutoRepeat`` (directly check + ``event.guiEvent.isAutoRepeat()`` in the event handler to decide whether to + handle autorepeated key presses). - ``backend_qt5.error_msg_qt``, ``backend_qt5.exception_handler``, - ``backend_wx.FigureCanvasWx.macros``, - ``cbook.GetRealpathAndStat``, ``cbook.Locked``, @@ -22,7 +26,11 @@ The following classes, methods, functions, and attributes are deprecated: - ``contour.ContourLabeler.cl``, ``.cl_xy``, and ``.cl_cvalues``, - ``dates.DateFormatter.strftime_pre_1900``, ``dates.DateFormatter.strftime``, - ``font_manager.TempCache``, +- ``image._ImageBase.iterpnames``, use the ``interpolation_names`` property + instead. (this affects classes that inherit from ``_ImageBase`` including + :class:`FigureImage`, :class:`BboxImage`, and :class:`AxesImage`), - ``mathtext.unichr_safe`` (use ``chr`` instead), +- ``patches.Polygon.xy``, - ``table.Table.get_child_artists`` (use ``get_children`` instead), - ``testing.compare.ImageComparisonTest``, ``testing.compare.compare_float``, - ``testing.decorators.CleanupTest``, @@ -30,13 +38,9 @@ The following classes, methods, functions, and attributes are deprecated: - ``FigureCanvasQT.keyAutoRepeat`` (directly check ``event.guiEvent.isAutoRepeat()`` in the event handler to decide whether to handle autorepeated key presses). -- ``FigureCanvasWx.macros``, -- ``_ImageBase.iterpnames``, use the ``interpolation_names`` property instead. - (this affects classes that inherit from ``_ImageBase`` including - :class:`FigureImage`, :class:`BboxImage`, and :class:`AxesImage`), -- ``patches.Polygon.xy``, - ``texmanager.dvipng_hack_alpha``, - ``text.Annotation.arrow``, +- ``textpath.TextToPath.tex_font_map``, The following rcParams are deprecated: - ``pgf.debug`` (the pgf backend relies on logging), diff --git a/lib/matplotlib/backends/backend_pdf.py b/lib/matplotlib/backends/backend_pdf.py index aed2795f1145..a8b6a7e8250b 100644 --- a/lib/matplotlib/backends/backend_pdf.py +++ b/lib/matplotlib/backends/backend_pdf.py @@ -655,14 +655,11 @@ def fontName(self, fontprop): return Fx @property + @cbook.deprecated("3.0") def texFontMap(self): # lazy-load texFontMap, it takes a while to parse # and usetex is a relatively rare use case - if self._texFontMap is None: - self._texFontMap = dviread.PsfontsMap( - dviread.find_tex_file('pdftex.map')) - - return self._texFontMap + return dviread.PsfontsMap(dviread.find_tex_file('pdftex.map')) def dviFontName(self, dvifont): """ @@ -675,7 +672,8 @@ def dviFontName(self, dvifont): if dvi_info is not None: return dvi_info.pdfname - psfont = self.texFontMap[dvifont.texname] + tex_font_map = dviread.PsfontsMap(dviread.find_tex_file('pdftex.map')) + psfont = tex_font_map[dvifont.texname] if psfont.filename is None: raise ValueError( "No usable font file found for {} (TeX: {}); " diff --git a/lib/matplotlib/dviread.py b/lib/matplotlib/dviread.py index a702f5585bc7..448b3011e71f 100644 --- a/lib/matplotlib/dviread.py +++ b/lib/matplotlib/dviread.py @@ -9,14 +9,14 @@ # iterate over pages: for page in dvi: w, h, d = page.width, page.height, page.descent - for x,y,font,glyph,width in page.text: + for x, y, font, glyph, width in page.text: fontname = font.texname pointsize = font.size ... - for x,y,height,width in page.boxes: + for x, y, height, width in page.boxes: ... - """ + from collections import namedtuple import enum from functools import lru_cache, partial, wraps @@ -34,6 +34,10 @@ _log = logging.getLogger(__name__) +# Many dvi related files are looked for by external processes, require +# additional parsing, and are used many times per rendering, which is why they +# are cached using lru_cache(). + # Dvi is a bytecode format documented in # http://mirrors.ctan.org/systems/knuth/dist/texware/dvitype.web # http://texdoc.net/texmf-dist/doc/generic/knuth/texware/dvitype.pdf @@ -808,14 +812,14 @@ class PsfontsMap(object): """ __slots__ = ('_font', '_filename') - def __init__(self, filename): + @lru_cache() + def __new__(cls, filename): + self = object.__new__(cls) self._font = {} - self._filename = filename - if isinstance(filename, bytes): - encoding = sys.getfilesystemencoding() or 'utf-8' - self._filename = filename.decode(encoding, errors='replace') + self._filename = os.fsdecode(filename) with open(filename, 'rb') as file: self._parse(file) + return self def __getitem__(self, texname): assert isinstance(texname, bytes) @@ -956,7 +960,8 @@ def __init__(self, filename): def __iter__(self): yield from self.encoding - def _parse(self, file): + @staticmethod + def _parse(file): result = [] lines = (line.split(b'%', 1)[0].strip() for line in file) @@ -975,6 +980,7 @@ def _parse(self, file): return re.findall(br'/([^][{}<>\s]+)', data) +@lru_cache() def find_tex_file(filename, format=None): """ Find a file in the texmf tree. @@ -1016,10 +1022,6 @@ def find_tex_file(filename, format=None): return result.decode('ascii') -# With multiple text objects per figure (e.g., tick labels) we may end -# up reading the same tfm and vf files many times, so we implement a -# simple cache. TODO: is this worth making persistent? - @lru_cache() def _fontfile(cls, suffix, texname): filename = find_tex_file(texname + suffix) diff --git a/lib/matplotlib/texmanager.py b/lib/matplotlib/texmanager.py index 085a65f49e9a..3858f01c3dc6 100644 --- a/lib/matplotlib/texmanager.py +++ b/lib/matplotlib/texmanager.py @@ -29,17 +29,13 @@ """ import copy -import distutils.version import glob import hashlib import logging import os from pathlib import Path import re -import shutil import subprocess -import sys -import warnings import numpy as np diff --git a/lib/matplotlib/textpath.py b/lib/matplotlib/textpath.py index cd44f1fa0c79..2e7f92500ba7 100644 --- a/lib/matplotlib/textpath.py +++ b/lib/matplotlib/textpath.py @@ -1,20 +1,26 @@ from collections import OrderedDict +import functools import urllib.parse import warnings import numpy as np -from matplotlib.path import Path -from matplotlib import rcParams -import matplotlib.font_manager as font_manager -from matplotlib.ft2font import KERNING_DEFAULT, LOAD_NO_HINTING -from matplotlib.ft2font import LOAD_TARGET_LIGHT -from matplotlib.mathtext import MathTextParser -import matplotlib.dviread as dviread +from matplotlib import cbook, dviread, font_manager, rcParams from matplotlib.font_manager import FontProperties, get_font +from matplotlib.ft2font import ( + KERNING_DEFAULT, LOAD_NO_HINTING, LOAD_TARGET_LIGHT) +from matplotlib.mathtext import MathTextParser +from matplotlib.path import Path from matplotlib.transforms import Affine2D +@functools.lru_cache(1) +def _get_adobe_standard_encoding(): + enc_name = dviread.find_tex_file('8a.enc') + enc = dviread.Encoding(enc_name) + return {c: i for i, c in enumerate(enc.encoding)} + + class TextToPath(object): """ A class that convert a given text to a path using ttf fonts. @@ -25,19 +31,12 @@ class TextToPath(object): def __init__(self): self.mathtext_parser = MathTextParser('path') - self.tex_font_map = None - - from matplotlib.cbook import maxdict - self._ps_fontd = maxdict(50) - self._texmanager = None - self._adobe_standard_encoding = None - - def _get_adobe_standard_encoding(self): - enc_name = dviread.find_tex_file('8a.enc') - enc = dviread.Encoding(enc_name) - return {c: i for i, c in enumerate(enc.encoding)} + @property + @cbook.deprecated("3.0") + def tex_font_map(self): + return dviread.PsfontsMap(dviread.find_tex_file('pdftex.map')) def _get_font(self, prop): """ @@ -281,13 +280,6 @@ def get_glyphs_tex(self, prop, s, glyph_map=None, texmanager = self.get_texmanager() - if self.tex_font_map is None: - self.tex_font_map = dviread.PsfontsMap( - dviread.find_tex_file('pdftex.map')) - - if self._adobe_standard_encoding is None: - self._adobe_standard_encoding = self._get_adobe_standard_encoding() - fontsize = prop.get_size_in_points() if hasattr(texmanager, "get_dvi"): dvifilelike = texmanager.get_dvi(s, self.FONT_SCALE) @@ -312,46 +304,7 @@ def get_glyphs_tex(self, prop, s, glyph_map=None, # characters into strings. # oldfont, seq = None, [] for x1, y1, dvifont, glyph, width in page.text: - font_and_encoding = self._ps_fontd.get(dvifont.texname) - font_bunch = self.tex_font_map[dvifont.texname] - - if font_and_encoding is None: - if font_bunch.filename is None: - raise ValueError( - ("No usable font file found for %s (%s). " - "The font may lack a Type-1 version.") - % (font_bunch.psname, dvifont.texname)) - - font = get_font(font_bunch.filename) - - for charmap_name, charmap_code in [("ADOBE_CUSTOM", - 1094992451), - ("ADOBE_STANDARD", - 1094995778)]: - try: - font.select_charmap(charmap_code) - except (ValueError, RuntimeError): - pass - else: - break - else: - charmap_name = "" - warnings.warn("No supported encoding in font (%s)." % - font_bunch.filename) - - if charmap_name == "ADOBE_STANDARD" and font_bunch.encoding: - enc0 = dviread.Encoding(font_bunch.encoding) - enc = {i: self._adobe_standard_encoding.get(c, None) - for i, c in enumerate(enc0.encoding)} - else: - enc = {} - self._ps_fontd[dvifont.texname] = font, enc - - else: - font, enc = font_and_encoding - - ft2font_flag = LOAD_TARGET_LIGHT - + font, enc = self._get_ps_font_and_encoding(dvifont.texname) char_id = self._get_char_id_ps(font, glyph) if char_id not in glyph_map: @@ -362,12 +315,13 @@ def get_glyphs_tex(self, prop, s, glyph_map=None, else: charcode = glyph + ft2font_flag = LOAD_TARGET_LIGHT if charcode is not None: glyph0 = font.load_char(charcode, flags=ft2font_flag) else: warnings.warn("The glyph (%d) of font (%s) cannot be " "converted with the encoding. Glyph may " - "be wrong" % (glyph, font_bunch.filename)) + "be wrong" % (glyph, font.fname)) glyph0 = font.load_char(glyph, flags=ft2font_flag) @@ -391,6 +345,41 @@ def get_glyphs_tex(self, prop, s, glyph_map=None, return (list(zip(glyph_ids, xpositions, ypositions, sizes)), glyph_map_new, myrects) + @staticmethod + @functools.lru_cache(50) + def _get_ps_font_and_encoding(texname): + tex_font_map = dviread.PsfontsMap(dviread.find_tex_file('pdftex.map')) + font_bunch = tex_font_map[texname] + if font_bunch.filename is None: + raise ValueError( + ("No usable font file found for %s (%s). " + "The font may lack a Type-1 version.") + % (font_bunch.psname, texname)) + + font = get_font(font_bunch.filename) + + for charmap_name, charmap_code in [("ADOBE_CUSTOM", 1094992451), + ("ADOBE_STANDARD", 1094995778)]: + try: + font.select_charmap(charmap_code) + except (ValueError, RuntimeError): + pass + else: + break + else: + charmap_name = "" + warnings.warn("No supported encoding in font (%s)." % + font_bunch.filename) + + if charmap_name == "ADOBE_STANDARD" and font_bunch.encoding: + enc0 = dviread.Encoding(font_bunch.encoding) + enc = {i: _get_adobe_standard_encoding().get(c, None) + for i, c in enumerate(enc0.encoding)} + else: + enc = {} + + return font, enc + text_to_path = TextToPath() From 859a412be0034297550530ff4f6dbdf72a2ca2ef Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sat, 3 Mar 2018 00:35:59 -0800 Subject: [PATCH 0873/1161] Restore axes sharedness when unpickling. Previously, pickling and unpickling shared axes would result in axes sharing a ticker instance (because that's how shared axes are set up), but without changes of one's xlims propagated to the other. The reason is that that sharedness information is stored in AxesBase._shared_x_axes, which does *not* get pickled together with the Axes instance: the latter only has a textual reference "I am an instance of AxesBase", so the Grouper information is lost. To keep the Grouper information valid, additionally pickle the current group of shared axes together with the Axes, and restore that information upon unpickling. --- lib/matplotlib/axes/_base.py | 20 ++++++++++++++------ lib/matplotlib/tests/test_pickle.py | 7 +++++++ 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 181293b7983c..4b89640ffcc5 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -542,17 +542,25 @@ def __getstate__(self): # The renderer should be re-created by the figure, and then cached at # that point. state = super().__getstate__() - state['_cachedRenderer'] = None - state.pop('_layoutbox') - state.pop('_poslayoutbox') - + for key in ['_cachedRenderer', '_layoutbox', '_poslayoutbox']: + state[key] = None + # Prune the sharing & twinning info to only contain the current group. + for grouper_name in [ + '_shared_x_axes', '_shared_y_axes', '_twinned_axes']: + grouper = getattr(self, grouper_name) + state[grouper_name] = (grouper.get_siblings(self) + if self in grouper else None) return state def __setstate__(self, state): + # Merge the grouping info back into the global groupers. + for grouper_name in [ + '_shared_x_axes', '_shared_y_axes', '_twinned_axes']: + siblings = state.pop(grouper_name) + if siblings: + getattr(self, grouper_name).join(*siblings) self.__dict__ = state self._stale = True - self._layoutbox = None - self._poslayoutbox = None def get_window_extent(self, *args, **kwargs): """ diff --git a/lib/matplotlib/tests/test_pickle.py b/lib/matplotlib/tests/test_pickle.py index 719dc7356fc8..1ba2e097181e 100644 --- a/lib/matplotlib/tests/test_pickle.py +++ b/lib/matplotlib/tests/test_pickle.py @@ -185,3 +185,10 @@ def test_rrulewrapper(): except RecursionError: print('rrulewrapper pickling test failed') raise + + +def test_shared(): + fig, axs = plt.subplots(2, sharex=True) + fig = pickle.loads(pickle.dumps(fig)) + fig.axes[0].set_xlim(10, 20) + assert fig.axes[1].get_xlim() == (10, 20) From 1eed932a8e92945c626c31538f9553c985ed054b Mon Sep 17 00:00:00 2001 From: ImportanceOfBeingErnest <elch.rz@ruetz-online.de> Date: Sun, 1 Jul 2018 14:52:38 +0200 Subject: [PATCH 0874/1161] Doc fix x(filled) marker image --- lib/matplotlib/markers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/markers.py b/lib/matplotlib/markers.py index 81e8d086e47f..493a9e932b82 100644 --- a/lib/matplotlib/markers.py +++ b/lib/matplotlib/markers.py @@ -28,7 +28,7 @@ ``"H"`` |m16| hexagon2 ``"+"`` |m17| plus ``"x"`` |m18| x -``"X"`` |m21| x (filled) +``"X"`` |m24| x (filled) ``"D"`` |m19| diamond ``"d"`` |m20| thin_diamond ``"|"`` |m21| vline From b100c00f5224ee76f4af99dd654cc1f795363490 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Wed, 23 May 2018 17:00:36 -0700 Subject: [PATCH 0875/1161] Prefer warn_deprecated instead of warnings.warn. warn_deprecated has the advantage of always listing the deprecation version and removal version. Hopefully, in the future it will also be able to set the stacklevel more systematically. Redesign the way deprecation of rcParams is done to make it use warn_deprecated. Merge obsolete_set into deprecated_ignore_map as they are semantically similar, it's just that there's no alternative rcParam for obsolete_set. Rename deprecated_set to deprecated_remain_as_none as the former name really doesn't say anything about the deprecation semantics. text.dvipnghack and axes.hold should be completely removed but that'll be another PR. --- .../2018-02-15-AL-deprecations.rst | 3 + lib/matplotlib/__init__.py | 148 ++++++++++-------- lib/matplotlib/axes/_base.py | 4 +- lib/matplotlib/axes/_subplots.py | 1 - lib/matplotlib/cbook/deprecation.py | 9 +- lib/matplotlib/gridspec.py | 9 +- lib/matplotlib/tests/test_rcparams.py | 6 +- 7 files changed, 97 insertions(+), 83 deletions(-) diff --git a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst index 5d799c5587ec..df34bd47dab4 100644 --- a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst +++ b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst @@ -10,6 +10,9 @@ The following modules are deprecated: The following classes, methods, functions, and attributes are deprecated: +- ``RcParams.msg_depr``, ``RcParams.msg_depr_ignore``, + ``RcParams.msg_depr_set``, ``RcParams.msg_obsolete``, + ``RcParams.msg_backend_obsolete``, - ``afm.parse_afm``, - ``backend_pgf.get_texcommand``, - ``backend_ps.get_bbox``, diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 2019eebfe8cb..52205228271e 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -123,11 +123,11 @@ import importlib import inspect from inspect import Parameter -import itertools import locale import logging import os from pathlib import Path +import pprint import re import shutil import stat @@ -800,23 +800,29 @@ def gen_candidates(): return fname -# names of keys to deprecate -# the values are a tuple of (new_name, f_old_2_new, f_new_2_old) -# the inverse function may be `None` +# rcParams deprecated and automatically mapped to another key. +# Values are tuples of (version, new_name, f_old2new, f_new2old). _deprecated_map = {} -_deprecated_ignore_map = {'nbagg.transparent': 'figure.facecolor'} +# rcParams deprecated; some can manually be mapped to another key. +# Values are tuples of (version, new_name_or_None). +_deprecated_ignore_map = { + 'text.dvipnghack': ('2.1', None), + 'nbagg.transparent': ('2.2', 'figure.facecolor'), + 'plugins.directory': ('2.2', None), + 'pgf.debug': ('3.0', None), +} -_obsolete_set = {'pgf.debug', 'plugins.directory', 'text.dvipnghack'} +# rcParams deprecated; can use None to suppress warnings; remain actually +# listed in the rcParams (not included in _all_deprecated). +# Values are typles of (version,) +_deprecated_remain_as_none = { + 'axes.hold': ('2.1',), + 'backend.qt4': ('2.2',), + 'backend.qt5': ('2.2',), +} -# The following may use a value of None to suppress the warning. -# do NOT include in _all_deprecated -_deprecated_set = {'axes.hold', - 'backend.qt4', - 'backend.qt5'} - -_all_deprecated = set(itertools.chain( - _deprecated_ignore_map, _deprecated_map, _obsolete_set)) +_all_deprecated = {*_deprecated_map, *_deprecated_ignore_map} class RcParams(MutableMapping, dict): @@ -831,16 +837,35 @@ class RcParams(MutableMapping, dict): validate = {key: converter for key, (default, converter) in defaultParams.items() if key not in _all_deprecated} - msg_depr = "%s is deprecated and replaced with %s; please use the latter." - msg_depr_set = ("%s is deprecated. Please remove it from your " - "matplotlibrc and/or style files.") - msg_depr_ignore = "%s is deprecated and ignored. Use %s instead." - msg_obsolete = ("%s is obsolete. Please remove it from your matplotlibrc " - "and/or style files.") - msg_backend_obsolete = ("The {} rcParam was deprecated in version 2.2. In" - " order to force the use of a specific Qt binding," - " either import that binding first, or set the " - "QT_API environment variable.") + + @property + @cbook.deprecated("3.0") + def msg_depr(self): + return "%s is deprecated and replaced with %s; please use the latter." + + @property + @cbook.deprecated("3.0") + def msg_depr_ignore(self): + return "%s is deprecated and ignored. Use %s instead." + + @property + @cbook.deprecated("3.0") + def msg_depr_set(self): + return ("%s is deprecated. Please remove it from your matplotlibrc " + "and/or style files.") + + @property + @cbook.deprecated("3.0") + def msg_obsolete(self): + return ("%s is obsolete. Please remove it from your matplotlibrc " + "and/or style files.") + + @property + @cbook.deprecated("3.0") + def msg_backend_obsolete(self): + return ("The {} rcParam was deprecated in version 2.2. In order to " + "force the use of a specific Qt binding, either import that " + "binding first, or set the QT_API environment variable.") # validate values on the way in def __init__(self, *args, **kwargs): @@ -849,26 +874,25 @@ def __init__(self, *args, **kwargs): def __setitem__(self, key, val): try: if key in _deprecated_map: - alt_key, alt_val, inverse_alt = _deprecated_map[key] - warnings.warn(self.msg_depr % (key, alt_key), - mplDeprecation) + version, alt_key, alt_val, inverse_alt = _deprecated_map[key] + cbook.warn_deprecated( + version, key, obj_type="rcparam", alternative=alt_key) key = alt_key val = alt_val(val) - elif key in _deprecated_set and val is not None: + elif key in _deprecated_remain_as_none and val is not None: + version, = _deprecated_remain_as_none[key] + addendum = None if key.startswith('backend'): - warnings.warn(self.msg_backend_obsolete.format(key), - mplDeprecation) - else: - warnings.warn(self.msg_depr_set % key, - mplDeprecation) + addendum = ( + "In order to force the use of a specific Qt binding, " + "either import that binding first, or set the QT_API " + "environment variable.") + cbook.warn_deprecated( + "2.2", key, obj_type="rcparam", addendum=addendum) elif key in _deprecated_ignore_map: - alt = _deprecated_ignore_map[key] - warnings.warn(self.msg_depr_ignore % (key, alt), - mplDeprecation) - return - elif key in _obsolete_set: - warnings.warn(self.msg_obsolete % (key, ), - mplDeprecation) + version, alt_key = _deprecated_ignore_map[key] + cbook.warn_deprecated( + version, key, obj_type="rcparam", alternative=alt_key) return try: cval = self.validate[key](val) @@ -881,42 +905,30 @@ def __setitem__(self, key, val): 'list of valid parameters.' % (key,)) def __getitem__(self, key): - inverse_alt = None if key in _deprecated_map: - alt_key, alt_val, inverse_alt = _deprecated_map[key] - warnings.warn(self.msg_depr % (key, alt_key), - mplDeprecation) - key = alt_key + version, alt_key, alt_val, inverse_alt = _deprecated_map[key] + cbook.warn_deprecated( + version, key, obj_type="rcparam", alternative=alt_key) + return inverse_alt(dict.__getitem__(self, alt_key)) elif key in _deprecated_ignore_map: - alt = _deprecated_ignore_map[key] - warnings.warn(self.msg_depr_ignore % (key, alt), - mplDeprecation) - key = alt - - elif key in _obsolete_set: - warnings.warn(self.msg_obsolete % (key, ), - mplDeprecation) - return None - - val = dict.__getitem__(self, key) - if inverse_alt is not None: - return inverse_alt(val) - else: - return val + version, alt_key = _deprecated_ignore_map[key] + cbook.warn_deprecated( + version, key, obj_type, alternative=alt_key) + return dict.__getitem__(self, alt_key) if alt_key else None + + return dict.__getitem__(self, key) def __repr__(self): - import pprint class_name = self.__class__.__name__ indent = len(class_name) + 1 repr_split = pprint.pformat(dict(self), indent=1, width=80 - indent).split('\n') repr_indented = ('\n' + ' ' * indent).join(repr_split) - return '{0}({1})'.format(class_name, repr_indented) + return '{}({})'.format(class_name, repr_indented) def __str__(self): - return '\n'.join('{0}: {1}'.format(k, v) - for k, v in sorted(self.items())) + return '\n'.join(map('{0[0]}: {0[1]}'.format, sorted(self.items()))) def __iter__(self): """Yield sorted list of keys.""" @@ -1043,10 +1055,10 @@ def _rc_params_in_file(fname, fail_on_error=False): warnings.warn('Bad val "%s" on %s\n\t%s' % (val, error_details, msg)) elif key in _deprecated_ignore_map: - warnings.warn('%s is deprecated. Update your matplotlibrc to use ' - '%s instead.' % (key, _deprecated_ignore_map[key]), - mplDeprecation) - + version, alt_key = _deprecated_ignore_map[key] + cbook.warn_deprecated( + version, key, alternative=alt_key, + addendum="Please update your matplotlibrc.") else: print(""" Bad key "%s" on line %d in diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 181293b7983c..60d2cea20ad8 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -1310,8 +1310,8 @@ def set_adjustable(self, adjustable, share=False): and independently on each Axes as it is drawn. """ if adjustable == 'box-forced': - warnings.warn("The 'box-forced' keyword argument is deprecated" - " since 2.2.", cbook.mplDeprecation, stacklevel=2) + cbook.warn_deprecated( + "2.2", "box-forced", obj_type="keyword argument") if adjustable not in ('box', 'datalim', 'box-forced'): raise ValueError("argument must be 'box', or 'datalim'") if share: diff --git a/lib/matplotlib/axes/_subplots.py b/lib/matplotlib/axes/_subplots.py index accdeb456f1b..725fcb59b12f 100644 --- a/lib/matplotlib/axes/_subplots.py +++ b/lib/matplotlib/axes/_subplots.py @@ -4,7 +4,6 @@ from matplotlib import docstring import matplotlib.artist as martist from matplotlib.axes._axes import Axes -from matplotlib.cbook import mplDeprecation from matplotlib.gridspec import GridSpec, SubplotSpec import matplotlib._layoutbox as layoutbox diff --git a/lib/matplotlib/cbook/deprecation.py b/lib/matplotlib/cbook/deprecation.py index ae7f51d598c6..6ba7ba589ec3 100644 --- a/lib/matplotlib/cbook/deprecation.py +++ b/lib/matplotlib/cbook/deprecation.py @@ -42,7 +42,8 @@ def _generate_deprecation_message( if removal else ""))) + "." - + (" Use %(alternative)s instead." if alternative else "")) + + (" Use %(alternative)s instead." if alternative else "") + + (" %(addendum)s" if addendum else "")) return ( message % dict(func=name, name=name, obj_type=obj_type, since=since, @@ -103,9 +104,9 @@ def warn_deprecated( obj_type='module') """ - message = _generate_deprecation_message( - since, message, name, alternative, pending, obj_type, removal=removal) - message = '\n' + message + message = '\n' + _generate_deprecation_message( + since, message, name, alternative, pending, obj_type, addendum, + removal=removal) category = (PendingDeprecationWarning if pending else MatplotlibDeprecationWarning) warnings.warn(message, category, stacklevel=2) diff --git a/lib/matplotlib/gridspec.py b/lib/matplotlib/gridspec.py index efcfb1e879c8..baaab83a217e 100644 --- a/lib/matplotlib/gridspec.py +++ b/lib/matplotlib/gridspec.py @@ -23,7 +23,6 @@ from matplotlib import _pylab_helpers, tight_layout, rcParams from matplotlib.transforms import Bbox import matplotlib._layoutbox as layoutbox -from matplotlib.cbook import mplDeprecation _log = logging.getLogger(__name__) @@ -277,8 +276,8 @@ def get_subplot_params(self, figure=None, fig=None): parameters are from rcParams unless a figure attribute is set. """ if fig is not None: - warnings.warn("the 'fig' kwarg is deprecated " - "use 'figure' instead", mplDeprecation) + cbook.warn_deprecated("2.2", "fig", obj_type="keyword argument", + alternative="figure") if figure is None: figure = fig @@ -367,8 +366,8 @@ def get_subplot_params(self, figure=None, fig=None): """Return a dictionary of subplot layout parameters. """ if fig is not None: - warnings.warn("the 'fig' kwarg is deprecated " - "use 'figure' instead", mplDeprecation) + cbook.warn_deprecated("2.2", "fig", obj_type="keyword argument", + alternative="figure") if figure is None: figure = fig diff --git a/lib/matplotlib/tests/test_rcparams.py b/lib/matplotlib/tests/test_rcparams.py index d78c033b53da..8b28f0a1af1f 100644 --- a/lib/matplotlib/tests/test_rcparams.py +++ b/lib/matplotlib/tests/test_rcparams.py @@ -453,7 +453,7 @@ def test_rcparams_reset_after_fail(): def test_if_rctemplate_is_up_to_date(): # This tests if the matplotlibrc.template file contains all valid rcParams. - deprecated = {*mpl._all_deprecated, *mpl._deprecated_set} + deprecated = {*mpl._all_deprecated, *mpl._deprecated_remain_as_none} path_to_rc = os.path.join(mpl.get_data_path(), 'matplotlibrc') with open(path_to_rc, "r") as f: rclines = f.readlines() @@ -472,8 +472,8 @@ def test_if_rctemplate_is_up_to_date(): if not found: missing.update({k: v}) if missing: - raise ValueError("The following params are missing " + - "in the matplotlibrc.template file: {}" + raise ValueError("The following params are missing in the " + "matplotlibrc.template file: {}" .format(missing.items())) From ac7e8309aa3dc9573229b2d95f88338a1b1a6ef0 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sun, 17 Jun 2018 19:29:41 +0200 Subject: [PATCH 0876/1161] Cleanup Matplotlib API docs --- doc/_templates/layout.html | 2 +- doc/api/api_overview.rst | 55 ++++++++++++++++++++++++++++++++++++++ doc/api/index.rst | 26 +++++++----------- doc/api/pyplot_summary.rst | 32 +++++++--------------- doc/contents.rst | 3 +-- doc/users/index.rst | 2 +- 6 files changed, 78 insertions(+), 42 deletions(-) create mode 100644 doc/api/api_overview.rst diff --git a/doc/_templates/layout.html b/doc/_templates/layout.html index 7e1b67f7ff42..7129a559cbef 100644 --- a/doc/_templates/layout.html +++ b/doc/_templates/layout.html @@ -40,7 +40,7 @@ <h3>{{ _('Navigation') }}</h3> <li><a href="{{ pathto('index') }}">home</a>| </li> <li><a href="{{ pathto('gallery/index') }}">examples</a>| </li> <li><a href="{{ pathto('tutorials/index') }}">tutorials</a>| </li> - <li><a href="{{ pathto('api/pyplot_summary') }}">pyplot</a>| </li> + <li><a href="{{ pathto('api/api_overview') }}">API</a>| </li> <li><a href="{{ pathto('contents') }}">docs</a> »</li> {%- for parent in parents %} diff --git a/doc/api/api_overview.rst b/doc/api/api_overview.rst new file mode 100644 index 000000000000..0b735010cbdb --- /dev/null +++ b/doc/api/api_overview.rst @@ -0,0 +1,55 @@ +API Overview +============ + +Below we describe several common approaches to plotting with Matplotlib. + +.. contents:: + +The pyplot API +-------------- + +`matplotlib.pyplot` is a collection of command style functions that make +Matplotlib work like MATLAB. Each pyplot function makes some change to a +figure: e.g., creates a figure, creates a plotting area in a figure, plots +some lines in a plotting area, decorates the plot with labels, etc. + +`.pyplot` is mainly intended for interactive plots and simple cases of +programmatic plot generation. + +Further reading: + +- The `matplotlib.pyplot` function reference +- :doc:`/tutorials/introductory/pyplot` +- :ref:`Pyplot examples <pyplots_examples>` + +The object-oriented API +----------------------- + +At its core, Matbplotlib is object-oriented. We recommend directly working +with the objects, if you need more control and customization of your plots. + +In many cases you will create a `.Figure` and one or more +`~matplotlib.axes.Axes` using `.pyplot.subplots` and from then on only work +on these objects. However, it's also possible to create `.Figure`\ s +explicitly (e.g. when including them in GUI applications). + +Further reading: + +- `matplotlib.axes.Axes` and `matplotlib.figure.Figure` for an overview of + plotting functions. +- Most of the :ref:`examples <examples-index>` use the object-oriented approach + (except for the pyplot section). + + +The pylab API (disapproved) +--------------------------- + +.. warning:: + Since heavily importing into the global namespace may result in unexpected + behavior, the use of pylab is strongly discouraged. Use `matplotlib.pyplot` + instead. + +`matplotlib.pylab` is a module that includes `matplotlib.pyplot`, `numpy` +and some additional functions within a single namespace. It's original puropse +was to mimic a MATLAB-like way of working by importing all functions into the +global namespace. This is considered bad style nowadays. diff --git a/doc/api/index.rst b/doc/api/index.rst index 685d2f457cff..2646cb783bcd 100644 --- a/doc/api/index.rst +++ b/doc/api/index.rst @@ -4,17 +4,20 @@ The Matplotlib API #################### -.. only:: html +.. toctree:: + :maxdepth: 1 + + api_overview.rst + api_changes.rst - :Release: |version| - :Date: |today| +Modules +======= .. toctree:: :maxdepth: 1 - pyplot_summary.rst - api_changes.rst matplotlib_configuration_api.rst + pyplot_summary.rst afm_api.rst animation_api.rst artist_api.rst @@ -60,22 +63,13 @@ units_api.rst widgets_api.rst -.. currentmodule:: matplotlib - -.. autosummary:: - :toctree: _as_gen - :template: autofunctions.rst - - pyplot - - Toolkits --------- +======== .. toctree:: :maxdepth: 1 - + toolkits/index.rst toolkits/mplot3d.rst toolkits/axes_grid1.rst toolkits/axisartist.rst diff --git a/doc/api/pyplot_summary.rst b/doc/api/pyplot_summary.rst index 99660f45864d..95f516935837 100644 --- a/doc/api/pyplot_summary.rst +++ b/doc/api/pyplot_summary.rst @@ -1,33 +1,19 @@ -Below we describe several common approaches to plotting with Matplotlib. +Pyplot function overview +------------------------ -.. contents:: +.. currentmodule:: matplotlib -The Pyplot API --------------- +.. autosummary:: + :toctree: _as_gen + :template: autofunctions.rst + + pyplot -The :mod:`matplotlib.pyplot` module contains functions that allow you to generate -many kinds of plots quickly. For examples that showcase the use -of the :mod:`matplotlib.pyplot` module, see the -:doc:`/tutorials/introductory/pyplot` -or the :ref:`pyplots_examples`. We also recommend that you look into -the object-oriented approach to plotting, described below. .. currentmodule:: matplotlib.pyplot .. autofunction:: plotting -The Object-Oriented API ------------------------ - -Most of these functions also exist as methods in the -:class:`matplotlib.axes.Axes` class. You can use them with the -"Object Oriented" approach to Matplotlib. - -While it is easy to quickly generate plots with the -:mod:`matplotlib.pyplot` module, -we recommend using the object-oriented approach for more control -and customization of your plots. See the methods in the -:meth:`matplotlib.axes.Axes` class for many of the same plotting functions. Colors in Matplotlib -------------------- @@ -38,4 +24,6 @@ Below we list several ways in which color can be utilized in Matplotlib. For a more in-depth look at colormaps, see the :doc:`/tutorials/colors/colormaps` tutorial. +.. currentmodule:: matplotlib.pyplot + .. autofunction:: colormaps diff --git a/doc/contents.rst b/doc/contents.rst index 140b365b6ca5..8102de243339 100644 --- a/doc/contents.rst +++ b/doc/contents.rst @@ -16,10 +16,9 @@ Overview users/index.rst faq/index.rst - api/toolkits/index.rst + api/index.rst resources/index.rst thirdpartypackages/index.rst - api/index.rst devel/index.rst glossary/index.rst diff --git a/doc/users/index.rst b/doc/users/index.rst index 3dd0ed44f74b..60eaf7fb6d4a 100644 --- a/doc/users/index.rst +++ b/doc/users/index.rst @@ -12,11 +12,11 @@ User's Guide .. toctree:: :maxdepth: 2 - history.rst installing.rst ../tutorials/index.rst interactive.rst whats_new.rst + history.rst github_stats.rst license.rst credits.rst From a009ffdcdb83c8b422f90452452c17c833e6fe32 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Mon, 2 Jul 2018 00:40:16 +0200 Subject: [PATCH 0877/1161] Fix example links --- doc/devel/add_new_projection.rst | 4 ++-- doc/devel/documenting_mpl.rst | 20 ++++++++++---------- lib/matplotlib/collections.py | 12 ++++++------ lib/matplotlib/dates.py | 2 +- lib/matplotlib/pyplot.py | 4 ++-- 5 files changed, 21 insertions(+), 21 deletions(-) diff --git a/doc/devel/add_new_projection.rst b/doc/devel/add_new_projection.rst index 9ef7c8f27ac0..3370a0997112 100644 --- a/doc/devel/add_new_projection.rst +++ b/doc/devel/add_new_projection.rst @@ -62,7 +62,7 @@ Once the class is defined, it must be registered with matplotlib so that the user can select it. A full-fledged and heavily annotated example is in -:file:`examples/api/custom_scale_example.py`. There are also some classes +:doc:`/gallery/scales/custom_scale`. There are also some classes in :mod:`matplotlib.scale` that may be used as starting points. @@ -123,7 +123,7 @@ Once the projection axes is defined, it can be used in one of two ways: A full-fledged and heavily annotated example is in -:file:`examples/api/custom_projection_example.py`. The polar plot +:doc:`/gallery/misc/custom_projection`. The polar plot functionality in :mod:`matplotlib.projections.polar` may also be of interest. diff --git a/doc/devel/documenting_mpl.rst b/doc/devel/documenting_mpl.rst index 139b5b300636..acef194ed9d0 100644 --- a/doc/devel/documenting_mpl.rst +++ b/doc/devel/documenting_mpl.rst @@ -34,11 +34,11 @@ the docstrings of the classes in the Matplotlib library. Except for :file:`doc/api/api_changes/`, these ``.rst`` files are created when the documentation is built. -Similarly, the contents of :file:`docs/gallery` and :file:`docs/tutorials` are +Similarly, the contents of :file:`doc/gallery` and :file:`doc/tutorials` are generated by the `Sphinx Gallery`_ from the sources in :file:`examples` and :file:`tutorials`. These sources consist of python scripts that have ReST_ documentation built into their comments. Don't directly edit the -``.rst`` files in :file:`docs/gallery` and :file:`docs/tutorials` as they are +``.rst`` files in :file:`doc/gallery` and :file:`doc/tutorials` as they are regenerated when the documentation are built. Installing dependencies @@ -305,7 +305,7 @@ so plots from the examples directory can be included using .. code-block:: rst - .. plot:: gallery/pylab_examples/simple_plot.py + .. plot:: gallery/lines_bars_and_markers/simple_plot.py Note that the python script that generates the plot is referred to, rather than any plot that is created. Sphinx-gallery will provide the correct reference @@ -631,22 +631,22 @@ Adding figures As above (see :ref:`rst-figures-and-includes`), figures in the examples gallery can be referenced with a `:plot:` directive pointing to the python script that created the figure. For instance the `~.Axes.legend` docstring references -the file :file:`examples/api/legend.py`: +the file :file:`examples/text_labels_and_annotations/legend.py`: .. code-block:: python """ - ... + ... Examples -------- - .. plot:: gallery/api/legend.py + .. plot:: gallery/text_labels_and_annotations/legend.py """ -Note that ``examples/api/legend.py`` has been mapped to -``gallery/api/legend.py``, a redirection that may be fixed in future -re-organization of the docs. +Note that ``examples/text_labels_and_annotations/legend.py`` has been mapped to +``gallery/text_labels_and_annotations/legend.py``, a redirection that may be +fixed in future re-organization of the docs. Plots can also be directly placed inside docstrings. Details are in :doc:`/devel/plot_directive`. A short example is: @@ -654,7 +654,7 @@ Plots can also be directly placed inside docstrings. Details are in .. code-block:: python """ - ... + ... Examples -------- diff --git a/lib/matplotlib/collections.py b/lib/matplotlib/collections.py index 6dc4ec4152ff..22b33bd35981 100644 --- a/lib/matplotlib/collections.py +++ b/lib/matplotlib/collections.py @@ -1048,7 +1048,7 @@ def __init__(self, %(Collection)s - Example: see :file:`examples/dynamic_collection.py` for + Example: see :doc:`/gallery/event_handling/lasso_demo` for a complete example:: offsets = np.random.rand(20,2) @@ -1058,11 +1058,11 @@ def __init__(self, collection = RegularPolyCollection( numsides=5, # a pentagon rotation=0, sizes=(50,), - facecolors = facecolors, - edgecolors = (black,), - linewidths = (1,), - offsets = offsets, - transOffset = ax.transData, + facecolors=facecolors, + edgecolors=(black,), + linewidths=(1,), + offsets=offsets, + transOffset=ax.transData, ) """ Collection.__init__(self, **kwargs) diff --git a/lib/matplotlib/dates.py b/lib/matplotlib/dates.py index 5b7e46af5ad5..0af5f0f93807 100644 --- a/lib/matplotlib/dates.py +++ b/lib/matplotlib/dates.py @@ -358,7 +358,7 @@ class bytespdate2num(strpdate2num): """ Use this class to parse date strings to matplotlib datenums when you know the date format string of the date you are parsing. See - :file:`examples/misc/load_converter.py`. + :doc:`/gallery/misc/load_converter.py`. """ def __init__(self, fmt, encoding='utf-8'): """ diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index cb5f585ce366..045b56c0e076 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -1284,8 +1284,8 @@ def twinx(ax=None): .. seealso:: - :file:`examples/api_examples/two_scales.py` - For an example + :doc:`/gallery/subplots_axes_and_figures/two_scales` + """ if ax is None: ax = gca() From a1419ccfdc9ec3a147a81ee7f703f2a16ccefa74 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Tue, 15 May 2018 03:44:01 +0200 Subject: [PATCH 0878/1161] Remove mplDeprecation which is just an alias to MatplotlibDeprecationWarning --- doc/api/next_api_changes/2018-05-16-TH.rst | 7 +++++++ lib/matplotlib/__init__.py | 7 ++++--- lib/matplotlib/axes/_axes.py | 2 +- lib/matplotlib/cbook/__init__.py | 4 ++-- lib/matplotlib/cbook/deprecation.py | 1 + lib/matplotlib/gridspec.py | 2 +- lib/matplotlib/pyplot.py | 4 ++-- lib/matplotlib/tests/test_cycles.py | 1 - 8 files changed, 18 insertions(+), 10 deletions(-) create mode 100644 doc/api/next_api_changes/2018-05-16-TH.rst diff --git a/doc/api/next_api_changes/2018-05-16-TH.rst b/doc/api/next_api_changes/2018-05-16-TH.rst new file mode 100644 index 000000000000..3576ab427160 --- /dev/null +++ b/doc/api/next_api_changes/2018-05-16-TH.rst @@ -0,0 +1,7 @@ +``matplotlib.cbook.deprecation.mplDeprecation`` is deprecated +------------------------------------------------------------- + +:class:`matplotlib.cbook.deprecation.mplDeprecation` will be removed in +future versions. It is just an alias for +:class:`matplotlib.cbook.deprecation.MatplotlibDeprecationWarning`. +Please use the :class:`~.MatplotlibDeprecationWarning` directly if neccessary. diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 52205228271e..fc94bca96313 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -140,7 +140,8 @@ # definitions, so it is safe to import from it here. from . import cbook from matplotlib.cbook import ( - mplDeprecation, dedent, get_label, sanitize_sequence) + MatplotlibDeprecationWarning, dedent, get_label, sanitize_sequence) +from matplotlib.cbook import mplDeprecation # deprecated from matplotlib.rcsetup import defaultParams, validate_backend, cycler import numpy @@ -1092,7 +1093,7 @@ def rc_params_from_file(fname, fail_on_error=False, use_default_template=True): iter_params = defaultParams.items() with warnings.catch_warnings(): - warnings.simplefilter("ignore", mplDeprecation) + warnings.simplefilter("ignore", MatplotlibDeprecationWarning) config = RcParams([(key, default) for key, (default, _) in iter_params if key not in _all_deprecated]) config.update(config_from_file) @@ -1133,7 +1134,7 @@ def rc_params_from_file(fname, fail_on_error=False, use_default_template=True): rcParamsOrig = rcParams.copy() with warnings.catch_warnings(): - warnings.simplefilter("ignore", mplDeprecation) + warnings.simplefilter("ignore", MatplotlibDeprecationWarning) rcParamsDefault = RcParams([(key, default) for key, (default, converter) in defaultParams.items() if key not in _all_deprecated]) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index b719cc84d4e0..1f7a49b9e477 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -34,7 +34,7 @@ import matplotlib.transforms as mtransforms import matplotlib.tri as mtri from matplotlib.cbook import ( - mplDeprecation, warn_deprecated, STEP_LOOKUP_MAP, iterable, + MatplotlibDeprecationWarning, warn_deprecated, STEP_LOOKUP_MAP, iterable, safe_first_element) from matplotlib.container import BarContainer, ErrorbarContainer, StemContainer from matplotlib.axes._base import _AxesBase, _process_plot_format diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index b25543ea1e20..643206a016ee 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -31,8 +31,8 @@ import numpy as np import matplotlib -from .deprecation import deprecated, warn_deprecated -from .deprecation import mplDeprecation, MatplotlibDeprecationWarning +from .deprecation import ( + mplDeprecation, deprecated, warn_deprecated, MatplotlibDeprecationWarning) @deprecated("3.0") diff --git a/lib/matplotlib/cbook/deprecation.py b/lib/matplotlib/cbook/deprecation.py index 6ba7ba589ec3..2e1ea8d910c4 100644 --- a/lib/matplotlib/cbook/deprecation.py +++ b/lib/matplotlib/cbook/deprecation.py @@ -17,6 +17,7 @@ class MatplotlibDeprecationWarning(UserWarning): mplDeprecation = MatplotlibDeprecationWarning +"""mplDeprecation is deprecated. Use MatplotlibDeprecationWarning instead.""" def _generate_deprecation_message( diff --git a/lib/matplotlib/gridspec.py b/lib/matplotlib/gridspec.py index baaab83a217e..f85f061f0528 100644 --- a/lib/matplotlib/gridspec.py +++ b/lib/matplotlib/gridspec.py @@ -20,7 +20,7 @@ import numpy as np import matplotlib as mpl -from matplotlib import _pylab_helpers, tight_layout, rcParams +from matplotlib import _pylab_helpers, cbook, tight_layout, rcParams from matplotlib.transforms import Bbox import matplotlib._layoutbox as layoutbox diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index cb5f585ce366..3d0906726442 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -2276,9 +2276,9 @@ def plotfile(fname, cols=(0,), plotfuncs=None, if plotfuncs is None: plotfuncs = dict() - from matplotlib.cbook import mplDeprecation + from matplotlib.cbook import MatplotlibDeprecationWarning with warnings.catch_warnings(): - warnings.simplefilter('ignore', mplDeprecation) + warnings.simplefilter('ignore', MatplotlibDeprecationWarning) r = mlab.csv2rec(fname, comments=comments, skiprows=skiprows, checkrows=checkrows, delimiter=delimiter, names=names) diff --git a/lib/matplotlib/tests/test_cycles.py b/lib/matplotlib/tests/test_cycles.py index ac876ee7fa3c..0d1cecfec6eb 100644 --- a/lib/matplotlib/tests/test_cycles.py +++ b/lib/matplotlib/tests/test_cycles.py @@ -1,7 +1,6 @@ import warnings from matplotlib.testing.decorators import image_comparison -from matplotlib.cbook import MatplotlibDeprecationWarning import matplotlib.pyplot as plt import numpy as np import pytest From 857354469ac30d35303b26dfde32c16d248c32f9 Mon Sep 17 00:00:00 2001 From: fredrik-1 <sandquist.fredrik@gmail.com> Date: Fri, 15 Jun 2018 22:56:51 +0200 Subject: [PATCH 0879/1161] changed paths in kwdocs --- lib/matplotlib/artist.py | 42 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 38 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/artist.py b/lib/matplotlib/artist.py index b2d7f971c973..cc1bf0b8c136 100644 --- a/lib/matplotlib/artist.py +++ b/lib/matplotlib/artist.py @@ -1035,7 +1035,7 @@ def mouseover(self, val): class ArtistInspector(object): """ - A helper class to inspect an :class:`~matplotlib.artist.Artist` and return + A helper class to inspect an `~matplotlib.artist.Artist` and return information about its settable properties and their current values. """ @@ -1146,9 +1146,23 @@ def _get_setters_and_targets(self): if name in cls.__dict__: source_class = cls.__module__ + "." + cls.__name__ break + source_class = self._replace_path(source_class) setters.append((name[4:], source_class + "." + name)) return setters + def _replace_path(self, source_class): + """ + Changes the full path to the public API path that is used + in sphinx. This is needed for links to work. + """ + + replace_dict = {'_base._AxesBase': 'Axes', + '_axes.Axes': 'Axes'} + + for key, value in replace_dict.items(): + source_class = source_class.replace(key, value) + return source_class + def get_setters(self): """ Get the attribute strings with setters for object. e.g., for a line, @@ -1443,12 +1457,32 @@ def setp(obj, *args, **kwargs): return list(cbook.flatten(ret)) -def kwdoc(a): +def kwdoc(artist): + """ + Inspect an `~matplotlib.artist.Artist` class and return + information about its settable properties and their current values. + + It use the class `.ArtistInspector`. + + Parameters + ---------- + artist : `~matplotlib.artist.Artist` or an iterable of `Artist`\s + + Returns + ------- + string + Returns a string with a list or rst table with the settable properties + of the *artist*. The formating depends on the value of + :rc:`docstring.hardcopy`. False result in a list that is intended for + easy reading as a docstring and True result in a rst table intended + for rendering the documentation with sphinx. + """ hardcopy = matplotlib.rcParams['docstring.hardcopy'] if hardcopy: - return '\n'.join(ArtistInspector(a).pprint_setters_rest( + return '\n'.join(ArtistInspector(artist).pprint_setters_rest( leadingspace=4)) else: - return '\n'.join(ArtistInspector(a).pprint_setters(leadingspace=2)) + return '\n'.join(ArtistInspector(artist).pprint_setters( + leadingspace=2)) docstring.interpd.update(Artist=kwdoc(Artist)) From bdde7e00717be58a29db39bc8be4f4e66fe6178c Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Mon, 2 Jul 2018 03:10:15 +0200 Subject: [PATCH 0880/1161] Some docstring cleanup in ticker --- lib/matplotlib/ticker.py | 65 +++++++++++++++++++++++----------------- 1 file changed, 37 insertions(+), 28 deletions(-) diff --git a/lib/matplotlib/ticker.py b/lib/matplotlib/ticker.py index acce04792666..18f8a57acb6f 100644 --- a/lib/matplotlib/ticker.py +++ b/lib/matplotlib/ticker.py @@ -259,7 +259,7 @@ class Formatter(TickHelper): def __call__(self, x, pos=None): """ - Return the format for tick value `x` at position pos. + Return the format for tick value *x* at position pos. ``pos=None`` indicates an unspecified location. """ raise NotImplementedError('Derived must override') @@ -577,14 +577,16 @@ def set_powerlimits(self, lims): """ Sets size thresholds for scientific notation. - ``lims`` is a two-element sequence containing the powers of 10 - that determine the switchover threshold. Numbers below - ``10**lims[0]`` and above ``10**lims[1]`` will be displayed in - scientific notation. + Parameters + ---------- + lims : (min_exp, max_exp) + A tuple containing the powers of 10 that determine the switchover + threshold. Numbers below ``10**min_exp`` and above ``10**max_exp`` + will be displayed in scientific notation. - For example, ``formatter.set_powerlimits((-3, 4))`` sets the - pre-2007 default in which scientific notation is used for - numbers less than 1e-3 or greater than 1e4. + For example, ``formatter.set_powerlimits((-3, 4))`` sets the + pre-2007 default in which scientific notation is used for + numbers less than 1e-3 or greater than 1e4. .. seealso:: Method :meth:`set_scientific` """ @@ -878,7 +880,7 @@ def __init__(self, base=10.0, labelOnlyBase=False, def base(self, base): """ - change the `base` for labeling. + Change the *base* for labeling. .. warning:: Should always match the base used for :class:`LogLocator` @@ -902,7 +904,7 @@ def set_locs(self, locs=None): """ Use axis view limits to control which ticks are labeled. - The ``locs`` parameter is ignored in the present algorithm. + The *locs* parameter is ignored in the present algorithm. """ if np.isinf(self.minor_thresholds[0]): @@ -969,7 +971,7 @@ def _num_to_string(self, x, vmin, vmax): def __call__(self, x, pos=None): """ - Return the format for tick val `x`. + Return the format for tick val *x*. """ if x == 0.0: # Symlog return '0' @@ -1069,9 +1071,9 @@ def _non_decade_format(self, sign_string, base, fx, usetex): def __call__(self, x, pos=None): """ - Return the format for tick value `x`. + Return the format for tick value *x*. - The position `pos` is ignored. + The position *pos* is ignored. """ usetex = rcParams['text.usetex'] min_exp = rcParams['axes.formatter.min_exponent'] @@ -1121,7 +1123,7 @@ def __call__(self, x, pos=None): class LogFormatterSciNotation(LogFormatterMathtext): """ - Format values following scientific notation in a logarithmic axis + Format values following scientific notation in a logarithmic axis. """ def _non_decade_format(self, sign_string, base, fx, usetex): @@ -1282,20 +1284,27 @@ class PercentFormatter(Formatter): """ Format numbers as a percentage. - How the number is converted into a percentage is determined by the - `xmax` parameter. `xmax` is the data value that corresponds to 100%. - Percentages are computed as ``x / xmax * 100``. So if the data is - already scaled to be percentages, `xmax` will be 100. Another common - situation is where `xmax` is 1.0. - - `symbol` is a string which will be appended to the label. It may be - `None` or empty to indicate that no symbol should be used. LaTeX - special characters are escaped in `symbol` whenever latex mode is - enabled, unless `is_latex` is `True`. - - `decimals` is the number of decimal places to place after the point. - If it is set to `None` (the default), the number will be computed - automatically. + Parameters + ---------- + xmax : float + Determines how the number is converted into a percentage. + *xmax* is the data value that corresponds to 100%. + Percentages are computed as ``x / xmax * 100``. So if the data is + already scaled to be percentages, *xmax* will be 100. Another common + situation is where `xmax` is 1.0. + + decimals : None or int + The number of decimal places to place after the point. + If *None* (the default), the number will be computed automatically. + + symbol : string or None + A string that will be appended to the label. It may be + *None* or empty to indicate that no symbol should be used. LaTeX + special characters are escaped in *symbol* whenever latex mode is + enabled, unless *is_latex* is *True*. + + is_latex : bool + If *False*, reserved LaTeX characters in *symbol* will be escaped. """ def __init__(self, xmax=100, decimals=None, symbol='%', is_latex=False): self.xmax = xmax + 0.0 From ba268c7f5183a7a51d6755af49419aa4dfd2b7e2 Mon Sep 17 00:00:00 2001 From: daronjp <daronjp@gmail.com> Date: Mon, 2 Jul 2018 15:26:50 -0700 Subject: [PATCH 0881/1161] Fix spelling in title --- examples/ticks_and_spines/scalarformatter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/ticks_and_spines/scalarformatter.py b/examples/ticks_and_spines/scalarformatter.py index 87b6c1717f9c..b17bc345e538 100644 --- a/examples/ticks_and_spines/scalarformatter.py +++ b/examples/ticks_and_spines/scalarformatter.py @@ -1,6 +1,6 @@ """ ========================================= -Tick formatting using the ScalarFromatter +Tick formatting using the ScalarFormatter ========================================= The example shows use of ScalarFormatter with different settings. From 10c04ca1701f6513ce3d2a417f95ec68f6c57a30 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Mon, 2 Jul 2018 02:45:47 +0200 Subject: [PATCH 0882/1161] Use numpydoc-style parameter lists for choices --- lib/matplotlib/axes/_axes.py | 4 ++-- lib/matplotlib/axes/_base.py | 12 ++++++------ lib/matplotlib/collections.py | 30 +++++++++++++++++------------- lib/matplotlib/legend.py | 2 +- lib/matplotlib/patches.py | 3 +-- lib/matplotlib/scale.py | 4 ++-- lib/matplotlib/stackplot.py | 2 +- 7 files changed, 30 insertions(+), 27 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index b719cc84d4e0..4cb515cbb7e9 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -757,7 +757,7 @@ def hlines(self, y, xmin, xmax, colors='k', linestyles='solid', colors : array_like of colors, optional, default: 'k' - linestyles : ['solid' | 'dashed' | 'dashdot' | 'dotted'], optional + linestyles : {'solid', 'dashed', 'dashdot', 'dotted'}, optional label : string, optional, default: '' @@ -835,7 +835,7 @@ def vlines(self, x, ymin, ymax, colors='k', linestyles='solid', colors : array_like of colors, optional, default: 'k' - linestyles : ['solid' | 'dashed' | 'dashdot' | 'dotted'], optional + linestyles : {'solid', 'dashed', 'dashdot', 'dotted'}, optional label : string, optional, default: '' diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 60d2cea20ad8..02975f269dcc 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -845,7 +845,7 @@ def set_position(self, pos, which='both'): pos : [left, bottom, width, height] or `~matplotlib.transforms.Bbox` The new position of the in `.Figure` coordinates. - which : ['both' | 'active' | 'original'], optional + which : {'both', 'active', 'original'}, optional Determines which position variables to change. """ @@ -1210,7 +1210,7 @@ def set_aspect(self, aspect, adjustable=None, anchor=None, share=False): Parameters ---------- - aspect : ['auto' | 'equal'] or num + aspect : {'auto', 'equal'} or num Possible values: ======== ================================================ @@ -1223,7 +1223,7 @@ def set_aspect(self, aspect, adjustable=None, anchor=None, share=False): aspect='equal'. ======== ================================================ - adjustable : None or ['box' | 'datalim'], optional + adjustable : None or {'box', 'datalim'}, optional If not ``None``, this defines which parameter will be adjusted to meet the required aspect. See `.set_adjustable` for further details. @@ -1284,7 +1284,7 @@ def set_adjustable(self, adjustable, share=False): Parameters ---------- - adjustable : ['box' | 'datalim'] + adjustable : {'box', 'datalim'} If 'box', change the physical dimensions of the Axes. If 'datalim', change the ``x`` or ``y`` data limits. @@ -2313,7 +2313,7 @@ def autoscale(self, enable=True, axis='both', tight=None): True (default) turns autoscaling on, False turns it off. None leaves the autoscaling state unchanged. - axis : ['both' | 'x' | 'y'], optional + axis : {'both', 'x', 'y'}, optional which axis to operate on; default is 'both' tight: bool or None, optional @@ -2782,7 +2782,7 @@ def locator_params(self, axis='both', tight=None, **kwargs): Parameters ---------- - axis : ['both' | 'x' | 'y'], optional + axis : {'both', 'x', 'y'}, optional The axis on which to operate. tight : bool or None, optional diff --git a/lib/matplotlib/collections.py b/lib/matplotlib/collections.py index 22b33bd35981..d2f7c11ba305 100644 --- a/lib/matplotlib/collections.py +++ b/lib/matplotlib/collections.py @@ -557,7 +557,7 @@ def set_capstyle(self, cs): Parameters ---------- - cs : ['butt' | 'round' | 'projecting'] + cs : {'butt', 'round', 'projecting'} The capstyle """ if cs in ('butt', 'round', 'projecting'): @@ -575,7 +575,7 @@ def set_joinstyle(self, js): Parameters ---------- - js : ['miter' | 'round' | 'bevel'] + js : {'miter', 'round', 'bevel'} The joinstyle """ if js in ('miter', 'round', 'bevel'): @@ -1568,28 +1568,32 @@ class EllipseCollection(Collection): @docstring.dedent_interpd def __init__(self, widths, heights, angles, units='points', **kwargs): """ - *widths*: sequence - lengths of first axes (e.g., major axis lengths) + Parameters + ---------- + widths : array-like + The lengths of the first axes (e.g., major axis lengths). - *heights*: sequence - lengths of second axes + heights : array-like + The lengths of second axes. - *angles*: sequence - angles of first axes, degrees CCW from the X-axis + angles : array-like + The angles of the first axes, degrees CCW from the x-axis. - *units*: ['points' | 'inches' | 'dots' | 'width' | 'height' - | 'x' | 'y' | 'xy'] + units : {'points', 'inches', 'dots', 'width', 'height', 'x', 'y', 'xy'} - units in which majors and minors are given; 'width' and + The units in which majors and minors are given; 'width' and 'height' refer to the dimensions of the axes, while 'x' and 'y' refer to the *offsets* data units. 'xy' differs from all others in that the angle as plotted varies with the aspect ratio, and equals the specified angle only when the aspect ratio is unity. Hence it behaves the same as the :class:`~matplotlib.patches.Ellipse` with - axes.transData as its transform. + ``axes.transData`` as its transform. - Additional kwargs inherited from the base :class:`Collection`: + Other Parameters + ---------------- + **kwargs + Additional kwargs inherited from the base :class:`Collection`. %(Collection)s """ diff --git a/lib/matplotlib/legend.py b/lib/matplotlib/legend.py index 6821d39566cc..2364a2c63df6 100644 --- a/lib/matplotlib/legend.py +++ b/lib/matplotlib/legend.py @@ -1126,7 +1126,7 @@ def set_draggable(self, state, use_blit=False, update='loc'): use_blit : bool, optional Use blitting for faster image composition. For details see :ref:`func-animation`. - update : ['loc' | 'bbox'], optional + update : {'loc', 'bbox'}, optional The legend parameter to be changed when dragged: - 'loc': update the *loc* parameter of the legend diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index 2dc4cae18266..617f82cb264e 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -234,8 +234,7 @@ def get_linewidth(self): def get_linestyle(self): """ - Return the linestyle. Will be one of ['solid' | 'dashed' | - 'dashdot' | 'dotted'] + Return the linestyle. """ return self._linestyle diff --git a/lib/matplotlib/scale.py b/lib/matplotlib/scale.py index a63ef7c485d8..c4c0cdd92851 100644 --- a/lib/matplotlib/scale.py +++ b/lib/matplotlib/scale.py @@ -220,7 +220,7 @@ def __init__(self, axis, **kwargs): *basex*/*basey*: The base of the logarithm - *nonposx*/*nonposy*: ['mask' | 'clip' ] + *nonposx*/*nonposy*: {'mask', 'clip'} non-positive values in *x* or *y* can be masked as invalid, or clipped to a very small positive number @@ -507,7 +507,7 @@ class LogitScale(ScaleBase): def __init__(self, axis, nonpos='mask'): """ - *nonpos*: ['mask' | 'clip' ] + *nonpos*: {'mask', 'clip'} values beyond ]0, 1[ can be masked as invalid, or clipped to a number very close to 0 or 1 """ diff --git a/lib/matplotlib/stackplot.py b/lib/matplotlib/stackplot.py index 74dde21b2139..2848d4a5cfa1 100644 --- a/lib/matplotlib/stackplot.py +++ b/lib/matplotlib/stackplot.py @@ -29,7 +29,7 @@ def stackplot(axes, x, *args, stackplot(x, y) # where y is MxN stackplot(x, y1, y2, y3, y4) # where y1, y2, y3, y4, are all 1xNm - baseline : ['zero' | 'sym' | 'wiggle' | 'weighted_wiggle'] + baseline : {'zero', 'sym', 'wiggle', 'weighted_wiggle'} Method used to calculate the baseline: - ``'zero'``: Constant zero baseline, i.e. a simple stacked plot. From 1039c7147c5f56544f90f2ccf6b1e5787ae66648 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Tue, 3 Jul 2018 15:58:38 +0200 Subject: [PATCH 0883/1161] triinterpolate cleanups. - Use raw-strings for TeX equations in docstrings and reindent an equation in a more legible manner. - Remove unused _inv22_vectorized. --- lib/matplotlib/tri/triinterpolate.py | 33 ++++++++-------------------- 1 file changed, 9 insertions(+), 24 deletions(-) diff --git a/lib/matplotlib/tri/triinterpolate.py b/lib/matplotlib/tri/triinterpolate.py index cc19edbefa4e..fd801b55d0d0 100644 --- a/lib/matplotlib/tri/triinterpolate.py +++ b/lib/matplotlib/tri/triinterpolate.py @@ -82,7 +82,7 @@ def __init__(self, triangulation, z, trifinder=None): """ - _docstringgradient = """ + _docstringgradient = r""" Returns a list of 2 masked arrays containing interpolated derivatives at the specified x,y points. @@ -99,8 +99,8 @@ def __init__(self, triangulation, z, trifinder=None): corresponding to (x,y) points outside of the triangulation are masked out. The first returned array contains the values of - :math:`\\frac{\\partial z}{\\partial x}` and the second those of - :math:`\\frac{\\partial z}{\\partial y}`. + :math:`\frac{\partial z}{\partial x}` and the second those of + :math:`\frac{\partial z}{\partial y}`. """ @@ -292,7 +292,7 @@ def _interpolate_single_key(self, return_key, tri_index, x, y): class CubicTriInterpolator(TriInterpolator): - """ + r""" A CubicTriInterpolator performs cubic interpolation on triangular grids. In one-dimension - on a segment - a cubic interpolating function is @@ -367,11 +367,11 @@ class CubicTriInterpolator(TriInterpolator): .. math:: - E(z) = \\ \\frac{1}{2} \\int_{\\Omega} \\left( - \\left( \\frac{\\partial^2{z}}{\\partial{x}^2} \\right)^2 + - \\left( \\frac{\\partial^2{z}}{\\partial{y}^2} \\right)^2 + - 2\\left( \\frac{\\partial^2{z}}{\\partial{y}\\partial{x}} - \\right)^2 \\right) dx\\,dy + E(z) = \frac{1}{2} \int_{\Omega} \left( + \left( \frac{\partial^2{z}}{\partial{x}^2} \right)^2 + + \left( \frac{\partial^2{z}}{\partial{y}^2} \right)^2 + + 2\left( \frac{\partial^2{z}}{\partial{y}\partial{x}} \right)^2 + \right) dx\,dy If the case *kind* ='geom' is chosen by the user, a simple geometric approximation is used (weighted average of the triangle normal @@ -1376,7 +1376,6 @@ def _cg(A, b, x0=None, tol=1.e-10, maxiter=1000): # The following private functions: -# :func:`_inv22_vectorized` # :func:`_safe_inv22_vectorized` # :func:`_pseudo_inv22sym_vectorized` # :func:`_prod_vectorized` @@ -1387,20 +1386,6 @@ def _cg(A, b, x0=None, tol=1.e-10, maxiter=1000): # :func:`_extract_submatrices` # provide fast numpy implementation of some standard operations on arrays of # matrices - stored as (:, n_rows, n_cols)-shaped np.arrays. -def _inv22_vectorized(M): - """ - Inversion of arrays of (2,2) matrices. - """ - assert (M.ndim == 3) - assert (M.shape[-2:] == (2, 2)) - M_inv = np.empty_like(M) - delta_inv = np.reciprocal(M[:, 0, 0]*M[:, 1, 1] - M[:, 0, 1]*M[:, 1, 0]) - M_inv[:, 0, 0] = M[:, 1, 1]*delta_inv - M_inv[:, 0, 1] = -M[:, 0, 1]*delta_inv - M_inv[:, 1, 0] = -M[:, 1, 0]*delta_inv - M_inv[:, 1, 1] = M[:, 0, 0]*delta_inv - return M_inv - # Development note: Dealing with pathologic 'flat' triangles in the # CubicTriInterpolator code and impact on (2,2)-matrix inversion functions From 578af6bee340077515d47e289b29dfeff4501f9f Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Wed, 4 Jul 2018 01:11:42 +0200 Subject: [PATCH 0884/1161] Update docstring of pyplot.matshow() --- lib/matplotlib/pyplot.py | 41 ++++++++++++++++++++++++++-------------- 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index 045b56c0e076..e9b632ae5808 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -2148,7 +2148,7 @@ def imsave(fname, arr, **kwargs): return matplotlib.image.imsave(fname, arr, **kwargs) -def matshow(A, fignum=None, **kw): +def matshow(A, fignum=None, **kwargs): """ Display an array as a matrix in a new figure window. @@ -2159,21 +2159,34 @@ def matshow(A, fignum=None, **kw): Tick labels for the xaxis are placed on top. - With the exception of *fignum*, keyword arguments are passed to - :func:`~matplotlib.pyplot.imshow`. You may set the *origin* - kwarg to "lower" if you want the first row in the array to be - at the bottom instead of the top. + Parameters + ---------- + A : array-like(M, N) + The matrix to be displayed. + + fignum : None or int or False + If *None*, create a new figure window with automatic numbering. + + If *fignum* is an integer, draw into the figure with the given number + (create it if it does not exist). + + If 0 or *False*, use the current axes if it exists instead of creating + a new figure. + + .. note:: + Because of how `.Axes.matshow` tries to set the figure aspect + ratio to be the one of the array, strange things may happen if you + reuse an existing figure. - *fignum*: [ None | integer | False ] - By default, :func:`matshow` creates a new figure window with - automatic numbering. If *fignum* is given as an integer, the - created figure will use this figure number. Because of how - :func:`matshow` tries to set the figure aspect ratio to be the - one of the array, if you provide the number of an already - existing figure, strange things may happen. + Returns + ------- + image : `~matplotlib.image.AxesImage` + + Other Parameters + ---------------- + **kwargs : `~matplotlib.axes.Axes.imshow` arguments - If *fignum* is *False* or 0, a new figure window will **NOT** be created. """ A = np.asanyarray(A) if fignum is False or fignum is 0: @@ -2183,7 +2196,7 @@ def matshow(A, fignum=None, **kw): fig = figure(fignum, figsize=figaspect(A)) ax = fig.add_axes([0.15, 0.09, 0.775, 0.775]) - im = ax.matshow(A, **kw) + im = ax.matshow(A, **kwargs) sci(im) return im From f6bdcb5fe60fabe8fa2093981383b5e23a109fce Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Tue, 3 Jul 2018 22:58:47 +0200 Subject: [PATCH 0885/1161] Update pyplot.close docstring --- lib/matplotlib/pyplot.py | 59 +++++++++++++++++++--------------------- 1 file changed, 28 insertions(+), 31 deletions(-) diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index 045b56c0e076..30a0a577dcb2 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -608,49 +608,46 @@ def disconnect(cid): return get_current_fig_manager().canvas.mpl_disconnect(cid) -def close(*args): +def close(fig=None): """ Close a figure window. - ``close()`` by itself closes the current figure - - ``close(fig)`` closes the `.Figure` instance *fig* - - ``close(num)`` closes the figure number *num* + Parameters + ---------- + fig : None or int or str or `.Figure` + The figure to close. There are a number of ways to specify this: - ``close(name)`` where *name* is a string, closes figure with that label + - *None*: the current figure + - `.Figure`: the given `.Figure` instance + - ``int``: a figure number + - ``str``: a figure name + - 'all': all figures - ``close('all')`` closes all the figure windows """ - - if len(args) == 0: + if fig is None: figManager = _pylab_helpers.Gcf.get_active() if figManager is None: return else: _pylab_helpers.Gcf.destroy(figManager.num) - elif len(args) == 1: - arg = args[0] - if arg == 'all': - _pylab_helpers.Gcf.destroy_all() - elif isinstance(arg, int): - _pylab_helpers.Gcf.destroy(arg) - elif hasattr(arg, 'int'): - # if we are dealing with a type UUID, we - # can use its integer representation - _pylab_helpers.Gcf.destroy(arg.int) - elif isinstance(arg, str): - allLabels = get_figlabels() - if arg in allLabels: - num = get_fignums()[allLabels.index(arg)] - _pylab_helpers.Gcf.destroy(num) - elif isinstance(arg, Figure): - _pylab_helpers.Gcf.destroy_fig(arg) - else: - raise TypeError('Unrecognized argument type %s to close' - % type(arg)) + elif fig == 'all': + _pylab_helpers.Gcf.destroy_all() + elif isinstance(fig, int): + _pylab_helpers.Gcf.destroy(fig) + elif hasattr(fig, 'int'): + # if we are dealing with a type UUID, we + # can use its integer representation + _pylab_helpers.Gcf.destroy(fig.int) + elif isinstance(fig, str): + allLabels = get_figlabels() + if fig in allLabels: + num = get_fignums()[allLabels.index(fig)] + _pylab_helpers.Gcf.destroy(num) + elif isinstance(fig, Figure): + _pylab_helpers.Gcf.destroy_fig(fig) else: - raise TypeError('close takes 0 or 1 arguments') + raise TypeError("close() argument must be a Figure, an int, a string, " + "or None, not '%s'") def clf(): From d5dae3c7c528ded2e11d578f7a388dcaa953575d Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Mon, 2 Jul 2018 19:09:55 -0700 Subject: [PATCH 0886/1161] FIX: make sure colorbars don't have bad major ticks over the extend limits --- lib/matplotlib/colorbar.py | 3 +- .../test_colorbar/colorbar_single_scatter.png | Bin 1857 -> 1946 bytes .../test_streamplot/streamplot_colormap.pdf | Bin 15476 -> 15466 bytes .../test_streamplot/streamplot_colormap.png | Bin 62772 -> 62755 bytes .../test_streamplot/streamplot_colormap.svg | 1513 ++++++++--------- lib/matplotlib/tests/test_colorbar.py | 4 +- 6 files changed, 757 insertions(+), 763 deletions(-) diff --git a/lib/matplotlib/colorbar.py b/lib/matplotlib/colorbar.py index 3dd1b9a4149a..702d7dba955d 100644 --- a/lib/matplotlib/colorbar.py +++ b/lib/matplotlib/colorbar.py @@ -240,7 +240,8 @@ def __init__(self, colorbar): def tick_values(self, vmin, vmax): vmin = max(vmin, self._colorbar.norm.vmin) vmax = min(vmax, self._colorbar.norm.vmax) - return ticker.MaxNLocator.tick_values(self, vmin, vmax) + ticks = ticker.MaxNLocator.tick_values(self, vmin, vmax) + return ticks[(ticks >= vmin) & (ticks <= vmax)] class _ColorbarLogLocator(ticker.LogLocator): diff --git a/lib/matplotlib/tests/baseline_images/test_colorbar/colorbar_single_scatter.png b/lib/matplotlib/tests/baseline_images/test_colorbar/colorbar_single_scatter.png index 1ff3c2422e46eaedf2231b8970a0d55ddb55c74b..84e95b527442b571534d6bec4771945ff7a9ee35 100644 GIT binary patch delta 98 zcmX@eH;aFQM>vCTiEBhjaDG}zd16s2LvCV8K~8>2PG*uqS!z*nW`3T6ksb&Z<QJD1 rnwXeqr<<B2nVFd+87Ao{WR#Q?Sn2B{H0k9RrR$&B$#H(8+ix}iisT}_ delta 10 RcmbQme~@p2$Hs*}*#H=31fl={ diff --git a/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_colormap.pdf b/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_colormap.pdf index 6e5599a1faae19b4086ee0aeadbedd23865af255..afc2f296647518cc975528719c0a7291b7b5ea1c 100644 GIT binary patch delta 218 zcmexT@v36OVRJ!|2iMh~{=e$mT3q~FKC!>$-sF4ca*QUM|C*aJry7_j7=VC6o&pz` zVQ6A(Y=kLhYK$RfVv4EG#2kw{%gNKN{cQ~mFibEtGQ$wFw7_tYse##KWg8Dp3o|ZN JRabvEE&wQ5HQ@jN delta 225 zcmaD=@ugzJVRNfHjZeED%Y5Ulk`(=Lo&ELytF|4<WxwU^m-Ig7O3h0tE-6Y)%muOX zld`xB4HXO&zzkyx)6JjFO_?<fO%x13Kp{_o3(PPyF*Y&66f>I~Xf3R1hACrWVT_^L q)L?S2wZEv50j7-c<d4?EqLvu8ni`l-mbCHUv^3*VRdw}u;{pKrwLUxm diff --git a/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_colormap.png b/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_colormap.png index 1138993dbad8b6fc8272a1c86b653bca2fdad659..fed48765d45e4c7f8670003ffe7d097005cb2414 100644 GIT binary patch delta 60042 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 B<hB3+ delta 60060 zcmcG#Wmr^E8#X#K#0=ftAf3{kDoQITU4nE<=cYkP1*BmBrDLQeoB<?MQa~C8Q5b2Z zYv$nlzUTLMew^>R_K$tdkG0pV=UGqO_x+S_;k9hxWjp{sdZi;QE+r``=J+g7LfBct zNlNyqjI5NT2&ap`zmKB0xTn3pkB7IvhwD=@@8{0qcyN&8s}e`x>D%SiV!v^P{Dy7C z7*5#DquJH_YK!3C+s$*r4Kbp`*Pz5NE#msW@do_gTl)Xg%E15CfA@dh0`Pz5SpUx- z{@-_j|NktzrgIFjpov6sAXjaJ*k9Zc5Ed?X7)o==f76#ubmL0D(;Bu-OiYZdtWx^z zi*N&*hg2|p;B{O1_Ju}?CleEsqod<3Ps{r%+#pNT_37&Pa?ong*0X<JSfBg)HFfC8 zj_V80l5uThr1{QLUU&V{l9iCK@V0f=;h55g?S`(`a$;{;^=AWAW|Cb*SutP{aq-Ha z{gte&tc;Qp@7<qWIei70GxD`0R##*l&6Zx9wZitmR~EPMBV_4#$VUBp-Z){qyg!7w zezc^;+4%v|cL#Qj4m+3`A|b^N#$Cl5l+4g@s0&&IEIPhHfFI?mu7y(rNS3_zpW}0- z9)$KBZOtTKU!EEp8QIOV5)cq%WvNSY=-P-MZ4GFYc>e%<C?!D=1kxwTB{%!&0Tl*t zI0DS;FM>3OyhPjA#N(TA8nWo$FfB2#^Gj@o@Dufh+k48AAA*Exef(3g@jnT;c*tgh zIoEvQ02G5ZBTEw$H2b84qD61xHE@u$!~j|v2u7tg(qEg^Jocos8KNcLnmQS`GQO*S zW}TBXPCdNrT{Go%a_&E*ynPbS`rLf$6TqQ9+CJ%fk~CdkF31``>FWq=eV^p!0}X-K z)oovw$^3+HfD&1Ku7_#s?ouuYb`m8{R8WC)_b`egNkj#y=W0Ho)Xj(e#*>HG*;~jq z$0{tJ;uw2zXMl7(JrC&k@6Ecr@@e1*Rm`C}PCB0CH~t9tmVyrDqZpVv7dbZonkowL z)|g?J*^{Rww9d^fS}xHTu#nl4WcmxuYwC`xPWuCLBGX+~%-2kwFE4MWr?9hyn~@#I z!xJBMyjelb+}<pC>&6w6VR1Dhu?{}lD>rGpL%Efq67^dT!Mw3Vx*|Fe#?5-o;v-Mf z-1?i$$5G=gA>rG(%S!Ds$ix)DVD;T2!65%TBjmgE#9%Cz*@!3{FGXi9rUBngWt_v< zmXcVLMSIr%vwv=6ZRqOMbC1G;pWVSX#ym`dN)(;{RprHkSeYhHvp(&Zc*MyVs?U)v zkH-`{7qk!FIq;52dT7CE-H)75)Ixz4IxzB*;sM*Btg{`L6g7evK`S7cb8h(iK011R zt(wHnmS|^{Fr;X=z*ZBb$$AG=A$<A0w+vbRzMssP{qaiC9kX-z#R=1q=4910AAkZA zak`3tEX$#ksN1TF-;G5<MW_dZb0i{qYZmyugf(B#*|sPZZPdbe*=%AlDT8uh(=(#J z==(5vw#k6p0G_zi6kvI>T|E*1bm#m8)#*Gvmra&v?L5YuS!x5hpYH_f2eYG|+yW`E zKK2?Qxv)CE%=%^^!;dG<vY!4h?@P?YU{aj@9&)Wn3GU{76uOD^>D7|hF{!FTc&kuD z=znlRB-qSxVjj}6B%8-^4nRpq{Y<(>$Gudj4H*;LYg^kUz+?c1s*^qexrLyW>80gd zmW_MzH_8<>SV%60P-1APojNgt|I?8(2lPi1(L0oN_SfORj)l$Xdp15N7y}f>-h@HK zWn$c*c=;rd9>bS*%>Y4vR#>z5OPi7_ii2AnzVc=SwYciRe42zSq4R)zje#JvDyw9u zh7-=DvBDRShT<dfdWfyU*40W3T-M3JNq-@3)wEI8(XUXC?3fTV_u&~IIN!2dw)I-J z_nL~&AR~|N`s~@lhw}ryW9$gIK~vE$*$#&7DXU_B*c-h!&o<naq9ZIS=vY1;k6xt| zyB3REQmqh?6TDhPwcDgx7iCH4JGWTzf{wqOjaL9PP`(&>F~emGkURk|NFzJ;+?9Bi z8}@+usJ|`|9UF$SrR!Po!?!vUAZ1-WbKliej{1*h;B7k#{edE`m9q0Q*LB4H@KDEO zQ`{L(#47%NmalnNk6Im@dvo_bOuzA*sLhWQTb{Uw=f#;z_<|FD0>*x31X6D9-!2hg z65Yu9H+kC@cY+su%{SMh8Y)_eS9r|N2n76i*Ew<zA5IDV3^9NPiqr$_;2N1ZtY>Vx zT(bUD>GMqHQ+X!Ex1Vjg%)q&`%=qw0g#5P!<tXz67`_?FMMIXD_A$7j{!|_hR_P`9 zs-AK_qw_res4`UiY8w`e;1`K_Vht>|(z7ejVM8oTu3X7;{n?hf$oa6!5uZvprSblN zD)5xvu!W1V#?6X@yop$YbieNWRt(3@V$LU4Z?&sRRr7<=^>1Q>uJzgz<W@~-Ynd98 zCo6_z+N^|PK|#<eg+v}4j3<Cck2f?Y)%ua8&yQ1*rLS2-PPJRbJ4*P4C_t~d_-w<| z$myy$+@Gh;5>ld4zmnt5BoD4of%JT9c^w`6&$XZuGk3TVJz%ie*Ro1x<Se6-YJAf# zx1~P<7+Jy6cX<Y%D6(~@<^4b%o+2;v1=5x<9W(LKQ`PL8RT4g;vMrxpdVp3Lt9}zl zyHbV<31LCp`d7<DyE&tPpZ#yC$wPHskq~7e?90%;nZ~~Ql6Q?~c!Kz%pYGz@)y%hp zA*s^|e}DG<RI>E)8?Y@~@AuaACF@|Uc@yn5E!)C<)wOAeIKMR)$b{dX=V0tU3i0vq zuN#*cs`$v>N1=^VYfH*}I>=GbTwDP|62B5>LGDZZ>9=f*ns@{QBJGRyyXFpWO@~)< zLwAdeKr6@-^tQSB8<I$W=+&wlV}!;<ccW~=f1)+Wcywfu;^P~0Smu6=rEGsvvV~Kl z|LvXJcY`6<r9m$jKMwpzCBvn8UVXUpM>M8}$q3sWBI^(q)YhqoCPx{`e9z%UVh`#m znPIOAsA;oQ9s+l3z#j=k#Ol|TX^uZH!^kr=CpyWWEyKfUP1>4lhOlHtfBnp4SY_Wn zPgc)A80bM<UMB1x?~zxofSF`Z4(aeoZnBY%>`21?YEp4m6FTlP`#=e6FzjVN>13T4 zAEe&P=<}<0!g9*N`1!oZ+_7R7z~19@m(a&2@%9922AE+jc+ak0OQUfFy7OhE)qIv- zj5L&H1+ih2V*<hK^Sk_{olv1vfN(dzwlq{`)#^Qztf}}G?N3mjqj2cLEDx>mb&OpQ zUa&YAOG;}_*I8El7Tw5^IKJ<C^|2lQW7xpQ<6Fu9@ga~Nod$;<vIE<?7}y)Ps_7K@ zR8|h?CgPQ{yVRVqcR)RRATH(lg`w|n^}#g(;?Nofc}41DIbqJ@2vc`<K71{+6#^0^ z25alUp9%!~p@Pakv^i{p`MM~Kl!#^)8Irnl%!ZBBXf(ZG;<3X8pX)0XI>sQUYUCgH z<QJAGZR$a{@L%a~%(v#>Tvy=H`grTJ?nMCIdWeqQURNtv{(Nzq8~@MD^#bqSr~a92 zgg<vax*C+p$jj;IvEv;{{(a>8NfbSzw^VG7PcEQFt-%{RBA!6b-v<XY-VhPg1h8oi zA}has5~Ddj0a^S6Pj{+2l2Io3@T^tFc@_wQNK(mpN=g^L))SC>mcDX`B83wl0qN?e zu};1PBB!Zv@3@KnNp}lvzfGUPqb>4AJZB-LMrj%qe7XdN@AFhm>3X}NJAAA$jX0ua z9GqIk&9?)-?SpwP|I<HusbR~xoob6RPBsRHGC^G3H9Lx9?vh-~7cZTHSJ={|51gvc zJdxRpkUUZnRtR%?C4*So4rM$6BJnM;#EGhJu9Vj#v%;u+@-Wu^b7=6iB<i;M3)HaC zvA4sMMA~|a2@(Nt1Q$kQW>MZgtdbc*nG_BhqbF7$C0KBUBS9uns?e6q^^YR1OBCvu z0C-?Q)MxLAwA|Ih0}GSQOzFxk;iTXhdBE)==-2Jc*W!<xhQ@wPx+?%hYj2@;XS}~l z(37lhNmD4HMBv5I2D$@e$=z{7fVGqVyuQhUH~bLJtfVZV`huL>DRZVI;na@FU%t06 z#H}A`*8pni$Ah^cnL(;a9@6t?@)MUDj`(-p3<BMPtd)0%UhLud7cx1lFaP{LWhKqu zVVnBF$gANxlpWQ&u>iEaJYmGv&qMdGS&Nx0ZLiplr8?|oQaYp~R+KXD{<jQSc!7l2 zT;Im8ojI=(ws(wCv2Z`>8#LrJ!}Iets$T`&TOlNHrHy><r0K-NwGy4K?wqNdU7G6? z>P`a2lTW-eM3vc((u+R0mn32`kdgVr2##dl^3zydeNF=`JcxR)!u3}S^Xk^@w4T+_ z!`akZ%8N@O4g_|NMInLppDrKx7dn4qc<+CA*8ZI208@%M`;5WPc=4cX;(ab?L=8J> z;+~|z)Vn4Ef-iLhtjou`*ua&l`5pD9e7#4RYk69wj%l66s}%QSjh^t$IG!k-Eua$N zv*IHK{gM=bogPg7sXZG?k%E)b#<jt7^AkpXe#BBAZ>W0k0qlrLUv&kM$~sZO%&(+w zTey^;uhK|Un3<B<0|%VTcGKL_Z?%w9*j16%FjV_)7#$ql_-LKuxX{`7pMw*_Qn&QZ zjnDC!>~Ze&T8&R8UI|cr!V~zUfe*J1KNkpBvrYx1NYH(9sO3AUO%-!EysQQz2X7)1 zJTAK>o|-JZPAWx|t~6Q$^Xz$>dmTtxs(((F!Y&0Qy@*$J46Sds4^zc_ytO+J7tO<Q z%c-Ag{d{KiftQMC{^=P;zOYVCnovJE6wG7!8YkD5|I)lFMT8UgDNAfX5;Ak}o9&>H z3IY6X#vF60C9pi{owJQ@Ci9ME0RLx$Y#!z?j-jJNmCX>$gqm-d63apESxN}^+NWKM zyU+B#){9NSPaBy5*@sWHPzF+3DA`-lAbG-vrcVcs^z6u3jZ<hi?$F<I^@iBN9Imyp zTfRMIseITjC;fCvRUK4$7ebkWO9Uwbae%~Zn|WNV3Ad5uDz5#e3h@va=@GApw^Zvm z!|Sk9q;0WJujG`bp^AFa?9I|0>FS@p(qY?=mMVzUS7xS;0@<!W_w{w_R0|%*bsvu> zUd@(;i2Ma9di({sF-_`y8{YbK=dtmp(2uW|p;gbKo@~nq5nONMd-$iiK5nN5{0mM- zUA3ac+*r?9jgw`SC`RxNq=Y_3c`Nq*H847<`Fr5Pl%b@$r)x>}SZQtDRpN3M0c3V= z`1i*tp*!g$FxrCF#k)zThAxns9X@)`!mb8BG1amMFiPNxm7MP7B3))=`vw^-m<8!A z_wF`V-`Hjiv*i;bZwmP12b=)?DI{>3FXqfdn@Fm9^IWnNPkUKaUENTEv~D1rs_839 zmFsOBJsqX%5AW)C)4KQ%w7{66Qq3tUZ#`2Mik%2>pX*WaD_AGFa7la)wEtq3)6|rF z<6|az!Q1{z5BjsgvC!`SuCc}48Jl1ap&bi?6*e>mvWYCdDh6m&$`m7{<N664_CSU) zMR)4#4E1Weiuw2=Snqqn=3ZH@y61=lo<JJfDJFj2p{!?Y>2<3Uhp2p}2p1j9q<+xC zs`v5)tf+sK@V%L38?4u_XJ<OuJIhUn_+??{D{v;ah~$%+L$a^rL7E%!k?&XM+M#0r zfmi`q5ryvV1@P!UDTf<W4-e%~4up8fHIb5p^%>g4DAQa_iA6H@VJ~K_@+AHec7&>= zAmt*q%;JUY_Y>WA_8{@=`H`yCA4n<Sc}ysfW3;SJEBTcEmiQ9mv1Ih97=hM^Dhfdi z@Wp-?t&lsAgXi3`bKo=*)?tYHsPsWbhM|^PgB%bdEOP4Tl#Uc{p$VtI8Z&<&57Whx zHj>7A`jyR6^x%ux5NK7r8xJexe9OfR8m*{cWmh9=V}3z#zPy$&Kk+{Lk$~vC=lmn* z0Y_GTeec`*$7Oq`wM$WPZ`_=kPPLL4=QFIw-ZxCCzg1kAM0tR#6gUz1SGHO%nIGCH zK79f7>_D4Yn7I@Qgy1}?)!wcsjzqVeb~hup4if^uEQtL0LH=*HM8eS#sI%Y<V(eqF ztwT89%2<(}5Z|sf7o7fi8?O=|<-cNRQmhP&_#O4%QbU@?mO%Lr&)n1L*)Q7=WG<OC zvuoma>LXaUpP1b(sJx2LC}FM-$In~<omaC0ZZ?dMSmpDseKU99y~$DFe5wwyMEQ|A z8bqZy)D;YE1>G4^7x{`$=%ZJ*XQ(<K8fEuQ6_qRD^Ql4tQ85q<j;K*@GoMa~J}#OR z=lva1`|9*XnyDtP-BMe)!;WsGi(o~bPzU*NRvMaeMrYLlxoF|0a+mqnv;j#VX%c`= zIfU6mTF2w3f84gShH2(WiAV=S8%rA-dxwu0?UC$|EUIbI?lSRU?G@s8>(AZz+HxY! zJp&{8+aU$1Yqsw$@}Go*Eh;__dXjRP7ZKIb)%eIpeS{oYKVVj-mQZfEsHB`HT06CD z10J%lIXF}tzmRP;drZz(qy)rtu)x4UIG&>ri(?mqptg~y9E!wW6pv;H-mUwb{mGHQ zYCK*tr;KyrflQD>WDbt<4*D6kl)GRJINFyKazogJbUUoITb%;Bo1*m0#m@t8#~j3x z`d4HRf>CY#y;;z|l5XNc4?mp${tO41{^ajJ%<8nP92m~qun5J-0ctdi<S;ybOY%W* zA$*G{F&w>3hMnq_t2w_smxjuZNf?CRnl`^h#hO{}AVs6WidViugVQ@0PnZZj+~JQ6 zGPpjp!NvUOngU9!^aV$*h_3c;Rn5I^P>`}4x%R<6#VB@u&S|&&U)o{n_93d1(R9l@ z_gN;zgv2QTZKvK*r($J$jlNeU@bN4@+i%?5_GcFfnDeACu5yRJfkBJ3Sb~H4q%<jg z>g9mBt2LKnRdwx=eFI5*^e_cljU}eB%9=<q>Y)#V?N@5WM-RydCuv$1#@K9mOV+Hf ziFdZ}F88BATLMV76NBjGSWdgAxe5=zIP@K*abx}hhtu`%6flZ)Aw)LJr0!3*5>ImR z86u(Ok+p7DL}WY=qoi1vx|G>v^+nz*lG#Yoo^;6}FT}mw%UV%Si31V&4Ou^r*(U5N zV*I|DATt;bc+)-VL$)I$d(`z3?(%$UoIiQ|0OZC#EMbp)RzCL|{HZJ=$^o3t%)fq4 zd_@iP?Nic4K;dlP!Yvp6+)+yIPOKitE9eX9{-ZIA*JsP?T)V{u^DgyD_fqkPdFzfv zHeoalnD>q4?JzI-I1Ck5Mh{lf?KXJP!jESqiPz46e)Hzii7!Y$4Hu4ozHKObb)|)o z8)OaZB$sN8U;a81GRb*135<}<o_$3Z07_+><s1ZwL@d2uRihDW4}XW#%ZpsSVgD1o zI_I8!doHF&FE9*rQ$sxo2DN%<;X^L&C3)zLq&2?~g;`L@7&gylffob^A24AKX)KMC z6{upYxe!b-CI6~FNkjLm;x`mbmC})`<R?g|eZR0}FnRFH8!Yo5aC5G8@C7iM`|Epj z5p{?zdo1zu%MpcnCCLvk?G17>L2AY1Ga5Fr`st0%*OEB8@!I!FEMt)*lEfp;6bGXm zD5PoXr46aIo(1kij_dM1ipY9QYRJjq%+z=@;B(V+9LL<Zr{lL_5_jt8*wrQYNp~(( z<biJoDxT^PcSVw6{9V%HDRRKdq3nf3ulVcc>@Z>ZOWAPoOG%%f(&6J`IwfgoO14Ee zK;i)Q_+XGR_f$B0mn35fFY<`I@JjJ#?%Z0X3g`d)<LviW3C!8qxJ=HjZEv0Jy>Y`x zLPavqtMfYomgL*TMh>Q8DOa@$fx@Q!Z8>lcCdbrhZW?Nx{4!t#tCmavXLDiqDa2n0 zPVz_av4+Ay)3sdP70=9v@@bUEWkn#C)Y$s4Q3bRR!E6^A(UfIKn&y>&ChSX|MrxJ0 zm}lVZ`cI!X=q@!doyo<X(#V_~#VaS{_-F<)DSoNlfHKxlhQ>Ip*E>aGFwNK-uZY#s z57%1mVplx}T5FzDNNn*jDvv5(!j;XFBdJ8+N$gN$cs{!C(!W}Dxi$C8-@PB{qfUsJ zC*m|x!}pjneX2qO@#8u(|G~9T;gdqBqOD+X?X7WFyGoHXe71eWz=7MS(d9h9W#q#1 zbf-_Iml2;U>!&Jeq?vO)?qXKi7!~01JTUXwe)IG-uou|*ZFt2%tEmgs0WEcrC{&{0 zQ+;FODQd~`&kr&x_VIVKz6BhN+&Z%t^H&3h8b&|h3)y%&e<Zn+S2-9Gi$)ZTytizo zYh#)ZZGd1rwcglU9)dKlBcixy!XVp<_{C8*Je(%)zO-Y&D9l?*Y|}4U_q%X<;pZm> z2s5CdiY7{3;PXu$(ZKc}H$Ic0=4&TWA$>Q_%ukL94$;Y>$?1=TOuf-KU4PW``g{6+ zafqpS75A*OL+1IIUrOjYxlwUH%DSj`w|9TuQ>*KIncF)EecZ;SUb5Zm+24M;Kx(HA z?g-2Gw$+V>PSEjy`kjbT`sl8<KR>Af?U=h?W%wOO%Ev5g8efFwOtA&&MgKK=ef<i& z6#Lla!<!VMR5f?#N;+4^<5Us@0>kv_27dPZiks;4`M=Q#<!?9c791#P;$gbEoX}6# z%r*7%Ek)G1++9n}V`aRThO$FmcH&ve?*`NKFk$5ifd$-F<h|4~W6IsTjsR3qlsd}d zwo6ZbZcy-#Hnt*^y<_JVZ%vzxJ8F`JHDX%6W#S--?}5iXMDdS6pRlK|)fC^k{!QeB z32OX9hkA5EutI@Vhd2GuU-JwH4XMMKaa6vu{pNGbbH0>|#E>>Q98KT74V%VV&hqFs zV<#FG>}b<d9LHNn3b-F75CG(J(MUzNk`7~GE#zdYLASU-V5{3qt82eM&o^auN+2lu zk~7;klg>|5vv|G5AI2!bm#T(-izUR+=9E$G-2ERO`FdG6`>a-4=b^tEbwe(JLeWTx z`}m_=hUU-6{d6wzXphkZ*yFwm?P)VVO{C?>dzSRAfl0Y)psfi<VWJr~CGd{gW~OOp zDOf&Hi0VEb5yR(T5V+78GWaI`fTf<F)MMkOZKxMeOxw|2u_?>KCU#OkU~6<?yN)C{ zr2J3IVplWQs`&ybR4(uS=YGeP@vv+u*<$qB7rTuQlqa=^T(iA!-H~S7zuqwB;<O*h zoL!9}Z3RGI7voV{#%-!5eIZl?rQiWbQ;%^D`f8MKQI)xAmEdV|q*6XPg&edV#(Iz5 z!<`s!h#2L#4b}_|1|7q)u#57OCMS(Iq$w#k$hddRdoAy?QLA>*sr(m8AT@5|wMIIs zP`6xvx{H;}fu-8?4eS-jBb+ldGU;>u7PD4*6cEH0ccM8%oved`OF9RnD@td+ewH8m z_!8vqs~<h$yskF;v};p)sGgT}hY^<ls)H&&CwzCn3|v)tAGB9OKE^uCTDOILcBDV5 z7&mSI8alCk{9WlP64`@ei+Pp=YAIk_MKup;wN9=!4Y_o9@Hx`STz9@fxC?emP^<QU z0s2)kOI4FuDWzT_@7#iC?Yq1OOy&vJV^PYPBv0h-jkZ%tYHprq_S$F5A8HA}(-5ii zFP>z_ycjs7@gbEp;HEUcNw}f*=->4`q;;;hZBWE8AhS?K`=u5tl(G%?@Y(R?toonj zlSYmEDttsJo1V~zMn*<KO91Zr1RDec-f$IY?l@jb273ujGulKK522ow<d*DS&etQt z@)WJA#w_v)jcuZrZuN)1$Joyu<X}Q@tNG4K?7yVS)~{&l3;0=$ry6*#Ju?St9!Wrd zoD-a-7|@kcpcEt(!YoRO@w8R(BWj89l<JAc3zFO+__n6&6AWnP?2dYq#3)^$gaBtD zGsXs07+OFQmW~=ddZZZ{+49!(UP9JySK%b+gxL4dhs8*XKeO(nR<ix!e@s8%>8K_b zCmIDrYA+M0=zD?b{%GY)nN(Hx-w|l~6T8B~10oTjje5lh#)!0d732A`>nvlngbCo= z(-`@q=m)Zv_Kb6$P8t|mVw4X+x6>gUy0R|rS*iSbLQ?N9Xk&A8R_P9?jqMJ|BDJBP z!4Or>uhp<N^IL^J^5V9mg^@tWu0OfX6Bt;@RO{0xk4GS9SyHT$-U_6@I1Sf*(@K{< zZD0<&&>U3X-grqDMb0usNIMDwae^M)(J&!^zadMDbYrz}wHBDUi7&t)_Vd9k<$PxM z=yyiKK+;s=_KBsR->t;)J(@vF*OYOAHNI;feq6hc-={}VLT_4J>Z$~s4SAzY?MX(x zHAs8aqv#CJ?AncI);4<FtIf&45IX$cD30y^z~*F34*|c$_S*ey5WdgMUS(a({TK0v z)1lx1SVUI0N<AfOf+^4@OIo<+Lhh4l>JTA*=k-CSTgdb?vu)WuFllyQ!-6Q2fdDo$ z!jB|oVv7>&LKhYpg-nkZFG;s42<Iuha2_6Rb{hMukBG2eKQ;YWrTn^{tx^9H2gkCj zcM-s6@=&cEPZdpb=?T+BiLW~qWa|g(o=fD@FGF1_p*}-Blt8u7x`C<2MybA<cuT~m zOMdBSn7Z)UiOSibz?_>SjnhvQT_Y-lB5!q3?oH6R=ar2URm!FD;v9uZ4(LbJ)p~uA z@Z&I0Z}GoA?tK(h8)<~5wc6%ekG8(D2`Bov22n!K9MF+>+_#~bxmRS%`z_8kToJD* zZ_e^FL^kt2z_@~>QB5Q2@mHa32qEdDaJ>p}I>6pVgt=b3&s*D}=OqrTFfyMl{<tz= zsSlW*3T!g^<e8~fa&iBf^tC(&xrzA{k(Qc9J%@>dW<TBXWWK4&q4oSMb0PQ{Bql=O zs_hqm{d0dKeR==J8ex|JhO}KEiTG3u2?+{v-=qP)l{nrlgrQ__5^HmnNW8On%#2j| zY??BISO|TS$ilwq*Vl<N>`05IuHN5`n(4l1A6abY_awQE)!8pQs}@_kU}*&hCH98? zG6!J-&ZtWhEl^n>>NByrkv$samPD(C)*sgK16O@O1r)9kESD-G<S+T0YHb8_uhA{= z9>76#=BwSRuG`KI%o^}qwu<3wVY-FyL0G`hf6Y_=V|*>n4@+*U-)?gydZ9G(K`_)t znLhF(S*X58*bfSLIJ>-3?faQa9A|47sMX5n==S&b-xjV5#xkqJlqB3a;Okbf9V7GB zXlISnJcn5wN$>c=_ENaC?;q$FJmM&tBb94?)qLqi@AR}T9Jo*xcu4h)h6qgJd*f?_ z=|!ZMDI%j+4F_M%C64L0PZuMOozIjv7O`_(=)MrNOL^uVj~akgdCm1UdX+5N<M6Ba zz>gw=6~pPdDF(&srOprEvj3(YOumy?*MUJF_2eJjAb<Z5-geN9Mxv3TY<Bx`tP!QM zI&K~PWwsPCcQGK+4c)-q4vkz=k=Qu>K3<>`sK&6onWggSBI0qzf}{joF$P}^UxlR4 z9W_7I_rc)tC4f^80jtQ}@}BY|z_&G7NBN;YaE27rL)c(7tEQu6J?)_q6+0wG;o|ZO z4`10>CuWcL7uu>L9$9az(2;i`&Skmnt5%>hVWn=~BjZh&v$slIwkIaUo)lD3qG;^p z{^nj6%kSEdD}A36+j_&6i2ySn29YZyru7ey;NaB^1g@BrYunA<C;%Ev7p1(5K>jgr zGP_l9rf^f?Kl!&+v4;y1t%+hyY%#*UQoQFf(h1up2dkxn8kzWT_c9?Dws}}7Q%!Mc z|EIvX-#Q*0mS0<((uz(sf9cKajXs3k6{S?IFUo&(cI1q})?duFk0mZ?l|OCh)Jxrd z(Z%=**j(fQ+y^F2TMWPg4><pkqis=(-pHZ??=*VjlmDnPba_MdI+rd8Fp49WD&YaP zM+={j{TR!-5~Z1}amXs6j94zQIo?j5oK^J-tSEjX?nrk$YS^n4S=Yg2|HRbxhT`wr zeqDkTWbN13u5JqK_fv1wu{m-hKd>SPKB_@(irmBz*}ZDQZ34Sr5MB_thQ1F@u(jG* zzkb@+lxR0;%V`pEaNWorOTi%(G`7{VvCvFH^&cX)Eh;4?CE=1Y&7%xkY>rV3_hk{e zusmA$nP@ki`hC2Jd?#E|aqmPbY-73~y^0^q>DQtlE0ccPWy6Md6ONI01m1(DrG2hp z5W`pp5WaKl=F!jH&`9EsN)I6i3d3jCiwwd~h*1azSz8EWD_z$$)pL(I3U`JzP?mR8 zgnO!kzQ0vZ^Y2;NO&a|v&SuKzikgAi!+Vr$oBnlbV|$<?kDceYV6xm0gbXElUnMeO zpFPc{;IE<l-;3$`&jt`B8oPa^8#IoPZLGz41^ve5tHP9Ovm$>27(9^KE1(A6&jbrj zfJ-vJ2|fU;WwHu=2SBwss5NNQI<le|I+37fC((x*ul7X;_~FAVGzRI69J0iSm7(T< z`-Mz>wt-=;gEmF~M#&u|wEqXXzkCG_UA#M%<d!x{XPp~yWjy6i8>f6TW=65cL@^Uj zZ!{D6gjydrQS;+1;~CzfUAB1pnlfXmq@9bbVx(C0Wm7v~st;*oN=RstL9}$6`E~0J zd4ev6SiIU=V>v4cv9~+DYvd<P8HWP64pp};-n9})^B;w>%Gwf-abqG4-M&wT6kh!P z5}oEy7Sp(XTgX@IzS@7$6+0pGW3}MzCOplL6sY%dE&CY{ItU}r^pC<(u_xJ))dMf_ zDXVO0fCk=oc2;;?9rs%wN!3d0X8LueN*pw+)8VT@#uYv<2KYlx^C-jdj;tv!U`u?r z@>-rfAL_SXRd=!73cU_w#^V=F=%Yesq^CZ)$yHqBp53fKJ~c5)yB($Ld~d+^p<0I% zIK{Q{^7^S@2<VE}ZE4LB6a4bp9iayr3<X&NM#L3jG-int6dU!Gg333=W%O^pg&uCj z6E*kZ<+hY&kmN;$4^|H&p>xB+w{YD7EsR#&Jy;5n!1ZEUOE>!hbW4XGR$I<SpPlyh zv9Rp5yZ-K8v_HJQ0m1B1c=~GIbRWskOe9PWy;9T4T{m2y?9|N>zoaS+bcEn_qyx~= z`%hur(9Q=)k_H-$?b5;0Q!eVto*Yh?sJ7f1<$^RfXt%G6#HNE98%`>6tv=KJJQUrc zZNG4Ibd!%-*;I2u!W_}_n_9PAR+m^Jp;THfw6-J)g2U7^0ad{iH4N&<&ku5qg2b)J zFF6QTbsk^yLe7w}69%o5YU~CDfNpOTG2U!^MCuLZ8dy}LCIPaCb-SclYfzRYf&K%1 zxM_lO&p}uAlq0~C7s>Y-|0ed!98P&7ZO<)&0g)Zc(y>#Km@lFyBfHk5N~w@f4Vsvs z9F;@%BtRxEu*!Grj!*7HsORc3;*_uIT!#oniEwB3*ds6KjP=%-0vgjt@yX}2h)AJv z(YA7vdpC*vO!#nz_(te9swwMl_W5P{+Hry1Y(A!SBwYU5D>uAH=i)xUP7aE{GRiw$ zaeN!fKOS|3{XSm5jlfo5LRPy_%aa!&EM;3$82O-=3bF-Tt1R<)k2%yg<_1d?5G+a7 z9elMSjuGPcE6^T*xTWytt|C-@0}q}5b_<U<#!l=tKKCaL<)|l!FcsxMLgi4M8#M-V zN*D2-In>x&N9|901bw)?pb%D(G;wO9c4Ipb@ypi8lQwr$l{VDMdAytKp@OjDSe{$j zXm^RU?-aoY2HERSZ7!Fh>A40<iK>O<0DH6>EYhWTcccL5m67aGM#oG%$@o_W{Q>2_ zXoRR<(TrRq5?_CRKFpYVB5=f%-PtNLF!=jmo_7*kWIfbRgo`CDIN{y1#jo{#au}pU z6Kd-Y%;#7fQJOG`wigz0`sFGFs%T{;HkKNBuZ?E-28XlkO;WB9SVS-I|8}`Y<tlYh zNP(@KnFDZ&!DG$NHa8l{UdcP4{OE@M9PvI&Wb|LQ$?f<7pE27tO!BwcukW{P5$MpZ zk9)_eczj4=F`AcHSt!oSEKuxD%4>n*r<mZ^Dt>ZzMydZ1yFtV*e2SkB8x+kzofqnp z90jMLDjZk$xbHbC$$R`A>*N#MFSjA?rBH9g2lQX!h&2~@Y?Moh{#7~@MWAtOW;#HO zqA*-(sfRG_gS^T>Nke}VE|y^S;i=f|gXg(_D~^ANW8$}{lj7{o3D8n*Sh}?MUJ7%i zAY~zk6Wp)d7F^?-rNb?T7(&dEp^vnmVNtWZBKf|{l|u8R6<T3dzB(EOJsA~+X+8z+ z!_1OmgF&NqQ)MoRja1Gz<*lYO3pGDAFKbkMJ1QTz*GPsWOY2+>eZRGe*L*L^o58;b zv@$+@oZ{v4)89|hE3;I{31{2z;1cKN`!lB5xh13d(q~wq{=Bh~AJksZ)fOB)2E}E% zvF4I9G0Z6;Z*I2MYxTGriI#M-7m(O{PSHC-n;>4GH7|6Ad0I6``k@GAORTL1>i24M z#*U6hk003VUXU(DEfQ#d1m_Lt_k0WGo-tCfO<lf5O^shEuo6uA>VD#gY7X=FsJxNC z$$&A$7C|tt#9>t*+W9WRf3}srv2CyUX|HR0g{_mfNGJKKD!J_vu{}`I`8`CEHH??E zWA3Ajha&vgloI17L(Aqo&Yb@gw}{426gOn})yeo_=qBG+#uwSL3Lf3m*#}kxkAX*< z9~rnV8BQ8BDC0JG*l)sb6Lf;~+xrSzk;h%=<te){vWI_W?Ilux3DrMPqc)JxENghg zI$-Brs5u;nI2Amo2Oin~E~Kf?<7wO0zDKgXIuHutktI=&8gZTU9i7sdAc@H+9{#s7 zH)xUhQnrsLu}|%yZzTY+rV{MS=<%|8RrUvAhYOLvLf=ZOXK2OR_8PO94>SJPU28)T znN^Kn3~q(Kj6V&UoY=LCZ!|8;mCqXWA5-5KZRqdyq^%_fBA^<-(Oj^Y35!>hK9=0n z(d__nSn3mdoC^CKb5F@Kok1}9MbT5-0>ozSujcw`>?Pa{kG7&p_|EV3N#D)wI^6`K z{l{uW)+UBaZ{WYG#aKhLues0`O$`a~wfg!HVrBaHFY$wuT9iu!y^_a4v0B$+u4$N# z6`A!)9tLHg=uwFa?_6wL)IZIhhi>?}ghw%p%4$2^^M^0!6AQt{II{VoU0c&(s1!v# z2R7xMo%~S`F|o(V{qNLbiA}hg_dHNV>6um@B7e5Nu9>;{`d^K+(sYF6^@gcXO3uUZ zst%%~=LbE+A-JlNIqqAD4O%`>6H(L8vf%X_7XeVR4&5XZy~}t)Z8EEY8^HoaB*kMH z^X0$$t+R@M)!x|kKd3UQt*`ioCf|kHHcq174%yF*KRQfcZ-_SU??p<5j^+_88^ky8 z*YeaRUT?pAw?mL*Qtg|l+w1xY{$dB3;w3!R@M7MF7H>Nn)ZEN+U(`a@(FP)u4weDX zVMI;Fb8U^S<=WFHu{9rzTv_8v-6(w3qGOc`J_4N4kJdNY1A=qpuys7f&wd5TQ`N{| zBsAIX_M<#C#a%QgAEm)iZR+y)Q{#yUWOSG!eql8g5Pgj}Ag!|C==tuzoD#_uP`^Tc zXV%_O@2q|5`1>eb8eK0DF={R%>J`8y<Ua4!)F6w`X>@qY(OP(=Y=fFe{rE=}x;DR3 zc>?-lkF-|>YULkO$<mShc!)JfF3GXH?YTB7Mb{tWbk^`u4wDs&RoR1mqtc)EW`D<S zk)f@~)WYfgw2ZHN-3jb>Urp7XBk{O6cJiSZBjv}DL3RIAEw%-ocqRbOL$U2||2S`4 zQQfm4B4_c7bPGhqWR_l81~h!IKhv5}8|}WE?T12Ir26rzKamRk%cm1;>R*TerPLF2 zuvrOGM(t6dRqyde$9;^S;P&D0#3@>^lwKps7?1J?OMHK7jF}BH5*4qYe^c?CQP0UO zFoxb~wLkJyIy>-AS2zXO&omDjjE5@Z%5qfhLX-RYxX@orPKDc1-_zkg@#b!mXwGb1 zd}1g?re?zyX#OiL^{9`FMI3OQ9kma(U-KR0Xd##-J+@XY&hbXn9`Xi&9Q_mCb7)Ko zgl%{eb>XPkEPr3eUO*<YQS9m<ZE>H}ho3oLx%qw1hMCU-cbcPWOJZ*10=~X<F_jEw zvx8RKqzda?v+_;%s`8Vclq+yH7bv>?*#Fi}aRNY}t=>tG5H9=m){ST<wy31K+>4yQ z<1lM38K1e$cK#ECDVM?>5b;gNI=67sn_YrOI_PvLs;YBdQ4}Rsl@wbAIR5O-@Y|&U zE^~UXj8Wb|Qqhj8&l2e{i{to}Xz5e2tO(+e%;@I=%8Lu<ntZ_^-&pTb<_)ViJ1?pE z4<S5EZz180>MOD6VZ-H63zGOvExTr}Gd}e}c&rxuBL~VH)<9lOk?usV(N45g#Y_E& z9o6%7o1{M<k2>=Ru|W8ZmMf8%Xf~9XKm$QW6;%(sVEek3X=%5<b1|z#5ieC7w<5S# z@qSavESN7Y1@REO=Cj0~k^O_-`#nZ+C(<UwJaFj-80q$dulfn;dGbc<qg9^}@y<ql z@^HD$t9*2?TPP6zi}5oj4pP&5D(Q$*4%l`TrCp`L<;iTSAGf1NVpAfwhIfJv=JLuM zNfQAQVrXqSE`D-bCTxqO@7p^gY{XQX>IX8XE2>adk{*8bk{1(xq#d3HUT(=r(0>FZ z>U&fW%gBXF_+j|<9!XDn?2V$Q*p)JJ@kCanlal)$x6aVI-AI_5w~^w*3!%C$tJG9# z*PrZoMPjXydt2kZNR!kqWFh?39J7}oEf59oL&@MCt>^P|3E$1z@FcQ^;_k_in+kB5 zUGMge|1ymKvTGzyPCTg58$7&|xd7nm#wHwU6y2(q$eYLFdXgz3SB4G2Y98lSY=?Uf zA<e<kN5w9%zV|{kTrH&kZ7VCJqJ?sCasl`bCt-AK5PmEjVM*o%g_R0K7{HQl??Y6o z8UmE)(jwWcT+c*5`iJ_nYV>?Q4w>#AJx-+(gCZXW_Dhi#ve7hWiru*IDHWQz{<XU1 zSFRTPCD9#kk!fuT%^_DE{0rF{A78EcPJ1<zMw6kF%IVe=_5?;&X#6_Yrq4Fexc<tL z)H$4NRSiEm(in$)=Of_{sN5q$UbB?X@^H;{8nKaJ>rR9NS*kzT?GsJ7D?7fMXVBGf ziN8^EYeQrZ7&XKJdsWiBX{I@h1_#o%rD#aW5^YR-Nrpf_pF1Y-S0S(2(AqCS4Fi>i zc{yg>;5oTwtPI;+FbioU)QUco$!){FLy0r&(T~7y4?r=0Ax{92o1?G13*t-e$Ga|h zS-frk7_`v-@I{}6J!Y}C?e-^PA)M^ob-p5~@Z3m(Ua=7JVcjIB$Ryl;T3Y_fbmE!F zhyq7VTh(@iVd5n4aQ!d!+~0WW*aEf0rrbMBDi9_5+V!tc5LqX=DSO`v&Gf6x7|7}G zv<K|!jqQ<q!S{fBgiK7X2j@JuQY*H<O{zTXwh{j~ERvIxS>hcNT(v;rccUNWi2tH8 zQORNAVZ!yQywUWBxRS>BtGpYcJdBxsm6WSIN|HGxjPT-m+C?opVW)&lxI#KyJcyRG zp!TJSW$)f9>Laq+_YX@(kk`||8XUB1++@A)5{`)eu?hrISI2$ZgPX>@At`DbI#Qw+ z;k6=IX|%&B3zR@t;wc-H&pvd&&@p><obaO=e&&IZH|S}cOGT2>uaeI!qB|-%yIx)Q zW-DcLE_uWyoPL_uopVj1jv3(Ziz3P>Al%O+v%7G<XYALFcmBYG=J<(5uQ}8f`M)6@ zYB@mUE!hvS9#lsTRS2MR#x*(lrVHj7LQ|q>u#lo}x02gJl|;IU+ahRt-YhZ<szR6f z-nl&<Ek8;f+<z<<9kH)fd03a%wb6``ch@XWAK*_t0mW>I7lgdpBB?X2Iq{h{tqgs< zi|0&E%hpJ4R614TT^54~7sC&XUJW*^o(CXm%4Ot++L%Z}e>IZMV!LIA61>kC(2xof z?!%Io#Lw^mkV#J8n-7CFz2bJ8&$m9b>zLNG1@AMrg{8;!8rvTbNucF@bl>=v-HaAZ z)70Le<2Qpn5=5`Dvh5*MBNr?pKy#$1+9+7N7-}3z)-&}su(+YW!gQ^6`|)U_1wd#; zP|jg;{P9~6!H3B=-q6?c90?JGOe&)#a*x2<FQX)a6V#FND=8IKd1PIr;!eH$aExJv z$Zf$GUHAy>x-%^%E%{LwyGH4@(IMVWA$So74Rg{y{XO_&<e?~2@_39_Wpw2PwzZ9R zHBumt;h1{Q3{sRHH$Zl)phL<Y4dC;_5(_~p35%ArYJ`?5QQie;uriD8tk7HfKcEHu zTM%KjM}6Mco5%YhP4**?C4Tc^rp0Bp-C?$Z;Q?$OX%FDTTZ9f+G8IGp<xY#ftz>d~ zAfM!=L2N^g)}-L~UCX+>be)h}AFctAeAc=akID%M(xDygek<;crps-7ASWiwvBs3w zh1roJN{bN1HLHPO4U7aWu0|Je)KE%Rl`O8BByPlvWoA1g&gzbY)@XH|xJZ@t*+5w0 zxfV*rk+^Ir`)#>N=U7!U1uZsjNJ!BdLhy@{{7-z$gfK6T=naqgf5vAP?oLo7+s4dO zpvJO~_kRUMzd*+M&H|bSiPLqBx7$8akTgJS^{CcAGN2~YHJn2CniZ1t+qHfRPx_hi zV~&+D;kSc3&D4N^l!@{D+(OZ1XBdhceZM8Qg}~7ok4_D`44!FJkA|UI`mI4dVvn@v zpj~S5yWah2I1RXoN_nE)sa`<1p9(Eo`3Wg~Nm22@lKbajAXdxJ1R52@P*+_430;$i z@OD3%f2o4NJPrW)v(eJU#`0+dM(=)Qh%@2jLf>+Eql64q8wrD`0{GoflP~+v1y}(R z)(F>&-G_g6<KH2pkH_ydhA5(Lr)wce9<?{Td2~Wlr>qcKtU#M~MOY~NW@t{?d>1?& zg;k>V#)BFGf4FyUyU_=R!-&149pXRJ{OS9cj6yPU|C)#(k>{0aehg2v-w)>{Y)6vK z6tF}#EZ)rsktglMe{T6|R&UmRliBRJnmX2fBdW1%&6&*r6V^f<8*3O9ITZD^dpN3| z3oWM)1D6PMq1#e|LG|jh_Wjhk$60Q(ZR^PwrxZ*8)EFSsGSr>7$+|~$ZZ|-KI1<mG zGk#h&R4uXLI=olh+1i@*g%@!#G<ld3De?S6Xl8rzRwH~%$|o=;M)x%hV1z6|NIkH0 z`Y{aMR8I<rj|p?c#&kXEyj7a#Vt|p>VC!d(`}<2sulw5bAd(@%YxDWswPbh%^hlna z@ERW=SAZ_bw&v;4>c{RSR<ED2aMGGwHkvZ8{YbUd{4`faMbw`VzZHzbnUIW<uqXJM zzCA&5QQg89`6t}XGs)@i&dEMlbfmrBoxroo|BEG6v*ZmtQj&f5)g$9R><JQNyGrLd zv0~4SpiR4gl6G((->tln0x+BTHVGL+GJr4<(#s|6H-@m(Z{ll@hUJw*!q$o=efzHC zM7eJOqi|Z7){H~ODT~ir``bRHzS8<LBqGYx2}@+z+u4ju$3)?{>OUFei%!)JdjUSf zA9P6R4VzBCJ}&E6ngHq)4UjZ$-G~#vUu;$iG=U9is@sim+$7ZfJDPV2C-841jKGih zg0(6Ba$W|v>OXzy`w8Wh8adI`=9b17#j69p@MGv)dndMMhu!DLc7|uas)E#?9Mmbl z=J4EXmKu3NB*egQs!=L}Z5#eWR3<RMm>uQ#z?6bBs+Pjh8YCl*XTV;dmH+?pja89M z&l`1)YhLppz)RN_vpF16z-Km4tk>hAq*TP-U9&?-@NDg6sgT)ajN<dqKDcf+qlltN z>$Vq>`MJao|A43k@s2HHUc%Y&Sn&FzE>#T#j4H~Big=m<z)MRIoJGx%a7vMB-RdOg zm9k&kw;O+bae8qDOS`7=SLK#**G;e!tdpm@y4N1PvnKIV#is%V&^$f?1=#i~E#Z^X zY&p*yf-3Sr_`{bnac!D*;Nbn}!jkEIn{W9rj~KFkuG3qX6SKc-m){K{)fkVVjOSr< z$GmkB?B9`u(brp%Gf&I{k&24x30eR#UPWuM<9mynA)dLf)1}+>rdPWEkd_-_O&;rZ z_5&%g_DE(=i5r*^b}KBh6<TZeG`QYg9_r1#ga?Paea{vtB|gJy8#x3^N?rD^l|%^> z1dM8S+2MfcxmVD;YEna9MbHVnH0hBiN38b#5F(9W5|f?@#h$26a-~MX8zG2qty*jY zg%)<8-jp&ozCxq@_7>wMrAMUgi(XNV>Nx5smE`I7Xux#h(&QJ@P9W>_&J#<$nzowq zCj3GspXud{A}32`cmNJb|6dKb`4Jn~a2G#apYE8(exLa4?<wNX@=ej68s)Gbt6JHz zBBzWKGmCh)rCSRw-t#%rJ9s<nZhQj6M9PR=Fv;svmWDEN8yuuSO?@x0$S*j&vlK_l z{med1Cva<~pq3QSn_pljZm%>fPbg`KZ<T=yb04s^!`s2J;Gf0-p;wy)$v3K?kPH>3 zz-1Vn_e~c+E%Fd)+p`jr@}y;al)R}Eb-*(7{#2<|+-Eu2s7DIx?q}g!cDIxJAAC}O zW^9}E^<>~+@7KW(JF`REEo_<JOZ#s$K9fR>{`T8+0MJQp$sWU-nRSL&WktaAMso~7 z+aL^z&xv_MK)?{Y_?Du5%Y4%JyNREN#ofxF(nDy*?ZHlk8nu{+c1;%<gr)V@YtbW; z0=dLmnxkN%PBo5Efz!qqvhv<buc=1Qaevkd<<Oigl;D1JZM8}VGrp9`5P7e%KMi@Q zK2JP66F{Yv6^rs25eVBv4;WTqbK&`=`vnwCcO|w086)vJzD--sTWQiE{_4!Jtse{K z<0m4CnOvK41Wal^!57~KT3A+UrgA|p>+r@wemiaV+*D()0RkK(J7Q;tAkP?%&iS6r z{iiYZ^-VLa`68@Gjn*2r>}|N}6W&Q#6%{lD^sji6f850TVzj%QU=8DGjQa7=^Y7~P zcg=}L%}DAG-YaebxqR{PMM-Lim+%hO=EX;ETM)7xt76NTcA>%=BJB9q{)f75^%eU^ z71NoE+IQog6F8g8?JJr1+RTtPZW(le^V}}p9(H5iD-{Fg;Tj~{<C-`Z<T?MODM{D| zaM|{?)t0)6nutViDWQ<;7s}wYC;7V`&|+oz2>L5;>a6-Ips_7D##>F~B1f^4m0a6~ zoJTBr>B*A>A?tteaia7^3$2CTFh%W(NuT%ErP%!-4gzg!l0-v1Lu!@iZ!g%ydu!Y| zpN6}25Zhr$CeBl)8@{@QAC^Dhoi_#+-UhwBn`J{%N(TR>nUk}#IEWsOW*6@pLkfUl zMi;DSa=lS<y^kHo6)kx3*l;C1&E)An+%6A#x_nR7W9|?Uv5Oc9$h=iwR<qdhn%?!) z?P-}_u3EfoGjb8UYYFdw>S|JR68g?&pJU}&WQ%w9cKFOUJ~n&^9Lvk|Gl&AXkP%}% z67F;&Mfh}iW#a=B4OdJj5zxd)uxC9+T>ggUh`E`UUGm@}bQp)GhCiEUWxop&@{i#L zh4H-0Lmbk~b-~<T=G*!`Pb|HOgi2f<dZ%^c^o(0vyBfpi6VsbAkOUktdu6mt-SgXM z;^|mzic?%OVTApx8!XIP6ljZXt>&DG{*o5LK6CSn=3AyOg~D+mzgB&Mxj%_P+XXJ` z-?gvJGdMLyKQq2VoLhRTJ|gWq63Ri2We5a_<_iX{3E5b&`m8pk5?2=YyQwr2{P)L8 z;b@S6YSa@uQx5f5@^4tm?;lgL>l>j1{kckZpRCq&*YDHTC$^lI0To{5Yr;ExNnsq) zJxe+7g)s)|PSSRu{jXd<RVL&!-aU|1-*poRWA`6|<0i*4wHcNOvrAqaeiTMIB#h?F z^F6ji58s6g(|T6gC0P^O$dX3-;<r3D3T2F;UObr>(Ti5G?fvKt|9fY9du=_Ak~LJO z<FpvJe<Mjg>mgN*0{mz>)U_*e5`f}+CO`Ys#(Nj34i0%o2TB&qub{#Gp&i?tDai5n zpKM2O&xH_pD3H9wflK`E%A}r+bFC#$X<dP7RiKaR5z?+PtlC!(s7-KS{;~gusrQa& zvwi=EBVw=Eds9k{+G+<yttdrpt(MlV+T$V;tJPZ7ff{X<s#V0EwMr4KJ!7lA#mq0g zKllB8p1=I(b>@1V$8o&Zaa~A6QLeMb>V8fg)gL?6{AZ^Ad_!L=HgBl3xr5uiNfhtj zVzcM}m`Njy2R57J4@ol{`CL5Ch*VmmohOQRoLGLI5Hm=+H(g}Zb4N5YI&4!l|BQMr z?<76uy4gq~Olh6Vm?nXJALkPJQ@(BDb=}W2`)2xPa<*`l=XDgS+!!qzD-uFdqZ3ws zI2q@FD6elhlbg7Fq>tJg=%}6G1ixRKIqXIqDOofSa`)bd$-8{7qSke!)1tpnwQ_Bl zxBANrc_I^}_;)(C#FbZANOm*$FP;?Gi6BEd@4#OZh4WgS%NJ`cKzu9O&Fmp(K;-l@ z?8ocxtgXm?XvBRF1U+vcis?sTez!<`lqEb~lnET-WSYlEOnXjBrjGdae0kL3F`FFc z%~_)B!0%A+t)>@A)JgklA604ngYzR^L*oGU(^;p<k8NtnZ6ZVqtdWs=9W3{~yK<t> z-{z=MzVj)VB=T}aY~RPubUc>h;5DNmX@NtAdt26@OqSFOW}Z7^D3u~am?Rj&YfU)> zks7xJkV`GH<SAQ>UGZvdR?;V-1rqe5y%l^90OhbVRqA&T#+9}j@z(D|GQ6UqV<25n zfJh1?m;l~O%R;ZaY!jDi?uaX#)CC`++HLuEEq69&i+iiCewxI#T)@$NL!Y0-6a+)h zczx7q!r_mrVZ--)Oa2gF(mmY{S=3CyE{^B?A)C;~G7&}5A-aT@ZF|DJqP}EnaZ?Wi zz4cZg1T>gFJKFs@6yR%jy0{*9q8krQPi^|(G$Q)u^2Wz&(Q1yc(_00yl$(`6$L>YA z^qRn%r)t!1#jYiMrb-}z=Q5gnsLqY$Gw=zkhKAJxsMNx~QY&U{4+dNig}dVv>P6OR zjsolL_mP?28ON~><P=n`;^@$k;c0!~MmK;NqJ1ZIJLw>RdKfEXi90Dg(_H0EA2kTj zAXAl!{UQwCWyYyNO0*x?my8!!c<PXsnhPL3QK{n8jW90e+OiW7QAt+EuUZzY<Chgm zVP`E!WuH#FRgH$wQBOK1q5=%XEv7Q|q0v!uNAEp@qJn}P0DqaKXTVOKR0}W%Tu_Fx zXb+a7x1Vv5#lLQ=DdLlcjZ_^gafr>0)hAt2t`-?zI8aC*c#^-L2zOui5+Yu-CuFK4 zM}u=Ti0JE)x|P)*jAK1M6dcz;POqW88omYQVyxZAS8kHqyG#c?`DKap`MHf%YYH7* zT9u3Vae3@Mb{dVlJ)J@%hytKSry4s|j!S&?H;DiVZKj<=!eIqJ5Ec&JXaMR1YR7g( zmkN&1M%rHrY}J9UHG??|sV&6fvaabk&VPbpTWlK=hu$Lvd10qr*g0yO52e`^8trOy z#M`TPhgCNcg<5~q=N<?STGnbkrL3XenDPICYJ!*;kyT>lK&RI#054T-X0A=T7#TR3 zCSDCIqnZAx2WEeT>n(}@RV)L^t6}L?V)ELr^;Q8PIqs2*%w>N#$Iet%tNKcd<fT1g zpwWU-5LU$u$*vOcjyO96OOpV4>cT{bE@jz(st$dEipOTA>zTeJ*wE$qB5Ep}4<1PG z-K&o{+pxTK4C}E4k`4vgp5rNEO`_fb&e$xdBCj2|-alRqaW0aByK`Tgm;fiXpVj#r zd=oH8VkWA)mfWD6$2Men`AZ_=?ngx7gh0f7R5)MPttD+MN<D8Rf*YPqR={^;ysA<9 z_t0i{s3#*>?n(REuCH%3NneU7Eri6qbxK|Jtfy>|dH_Hp6~(}qWHU$(b7sik2oP(! zMyY?v{aD;)c6E_bJ6~)5f%H6hhq4TRubw!XXD?lQ%@)36y6-L~5?8|#qfX**efnDi zkKUj-+=-e;lf-#8a<*!^PACKJBWMvJ+<#VrZu%Bq0(zlCfrn-CDcrH13}J{N)vu*7 ziSS%o2Ld(Pn|x1o(Z`Uz+fMt{^P)ez!qwz%>d>1u&>{p~GA!vMDb*-+K{l<0teZD> z9=%;^9cGN_W6JZ!8TnNB=AOPsqA6cQP!w)!-g)*^LGltBu0mbMse0-^a2f)RvB6j& z{Nl<Im>a<;<0t2bC*<I*vR#ff&83OjPuj1E0e{<EFRB{h__}r;S=}`j!>@sNnl=CQ z-V2@dr-n4UkDq4T-l1k{;_DADMMca8gaLtsGJmSh6*@D-8b%=$M#iC%{>@z4Sz5D4 zqwJ6S*opX%Rdv%!%F0~c=Lc{5OTa$K)Zm>fx}X~}37|@ZB^Wbpg-aH4AUxXW-bc5A z!o1|QYx<#dGU~*h!Tatr(R^M!I{hRfWN{CxNIlg*8poUpV(@|mcWGV$Q5B`+IPzd- z1W&~#M^AIqc|GcrN6Yduedj4ddH%cR7C4c-F<5?TAbLW6-foE~x3@*@M+5l-ZDB4N z=3(O@BIsKYWP$u@FNzuN2rl3Y;jIB^D!hzrldH*Zd$T6bfYcY9aogB=kTOrGtpA-d z_jqV@>?lPm?GDCK+N188`Pdy$1b;NB;VymTi=U4+Jf#E)jr*g!(~dIsDaVyCi3x%8 zvnMRoB{mEpJk$}O(|(_yi^IzTf3T~=uyZ1pSsD}4<YTi`P!yduCYqbpSsr+ht#!E> z2|4@$uZ5^yNyv<*xe7lKcDh!y^ls>U{M0_*@0H4;BbDSJ^hl(j9%l&Kq<Q~ZbC}La zlzs`@@Rd3NgM(ohlkjo4TFOge;&dCu{9^KY3cIt`s9sG+66Q&#Q3%_vND%e6&8ft^ zn}sI7I25In7H;@5xqeUI#sV#3`byRHR{1$jj7(HH%wr3ab}w}u>Fz$8>sEnJwdLAu zQqub&I|fQ)ZJg_#O?B}DTKnpRy}2vrj5}4nPu>2+!hHgtorDv8=&)p@JPk7!cw#JC zBNREQQ+~0o%Eob&(B3N#M9#3SF5X~ivkYi7@$Gxuok99o!>1W~8Uak7$Ywbgpajcv zdYL!7`>@wrPklXgmmJ0vsW><U=ZKwgGCNsr^~$n9<OdC{Uu4)|4i|1h3VRrgtEFaX zu_YY(Z?_az+Jxk2k<|j)6EBl$*<hsF#*Diw9N_Xmt&J?~a-@7h@h6X~E)G+5j+?X; zh1h!wj@`oETF!vVh%WP$!IcQwnndtRcC12SxJGl`G_0LHq1B&Di7pB=Q2+4Hs{@~T zn*uxP+r&CTy%i5^_pWBv*k^`jlF+Y*psR``ZR1+jF7k>4P{?i1)GPTVZ0Via_WVl0 zTJwg`z-oQeudI)RR|(Luy%{=bY~&&|o>VWcA;^1DG8xGTpc-qdC)DHphb#<4QM< zPLs;b<q~_QgAST?mX4sed&(7~RutEaE*OL8mAak1%ViP6qx%|Cc*O9L7I)6(2|;rX zup=t!5yo2rBEd9R%S{qoBMifZ_!uDT?C-7DZ1j~B8-Ai^(Jj=fG-P=i23YMj)7w2a zTaw2Enum{rJFA$zE}Rc;?kIZ6a;(j@Fee?RKdQHs6q7Zg@2V3Ui_kb%Cc1U>L*=D1 z8+F+M56%Z1rb=?#vK#N0U7|0;MM;||0AjWgG=P^;DX4*Gby`w>l;MdBB&4SoHb}y+ zv<*r4T&l;_(aWKY^CrX#dy$nD{NW7x6Gz)XFJRxK{E4){fkMPP_PI}Yea^nCT`C{; zy3h5BgZJxDeiqJf(r53Hb!zsZBik$(Ha`u^a|n%IUq-!zML%>8QJ95C;uwCX`tC7b z0^uc!0s2Xod|YowCq9pGAi7#RVx2LY`AzfOJ6&#Lhf1rD7c+{AK3-Cg#CDtv((C|B zMnSGZ8z)*qzpdc#GWG<Jg|yida<m%pY*#D3vt<Sa9~RO}@1)6-ie+zZF(&buQG{j= zRaB4FQF#(As)A$h<*sG-Z;vuRjWE??d#oef6~E4>26^&O^W<||cB!}=&6YIl%ZgS! z{e5k!6UC>-PYcyr@#^=r>4d2y9JK-Suo6gh@_d7rqQ$w`Kn+@F6TC~104wsFG6S9Q zOF6I2-qhk+kuRM)Z|)?rhNtk*UW@$noo}F@<@Z>j&j~A(%XLj9nOdVSYV^MIJ{bl> z(>7!V{|ZoY=iop#QQA0Ax-0B-z-LiJ)Wj>?eiL%>S$ks`8q8mF@GJYb10c6Z?(Q(? zD$r+OE=Pn7WLF|#Gml(N%;q4k;ZW^6i2C(9-syQy2fQ)wFpN*YUo9W8PQIh+h<hXd zQBL``E}ve@2Q1M1Nu#Rl#zRx+k2h!MeCXKv1KBjqQ&7^E#0T3iqEe}ceZ{OaM~r;8 z7|5=Z>Fn*!XwJM&3bB1AcOB?$(S0~d8Lq|^M3dsk6#s=YzK*uDiO4I!$nd^&OYWzg zfuf|w#uNDgKBa|-H$JRE2U|j?0f$8Akg%`aI+kWsP1WM+kuRSAUEdz1Y*|y)$CpCG zPdw9fU?g*{S{w4v@T)afg(q%&Qa9H*W&y_U6^&A;c4>_jVb#V@gMmtsoDgP<3&^m0 zlmhzIusSxFD9DlW{qMfsLD%7lZyo6+6Gj93=dn3Mt14_bAxN{!g^du!3*)GFiFw>d z%D7pNi<+anAZD%_J0U7EpJ#|<aSuWZP-R9>k)CiGg_lH09~twLZa$iOE!1sChrbqC z*-T)|yGY;a)<v>bpfvDGvK1r;W(p%LHeiY%PM-8G=ahdmw6;PfDtBYAPz<vAkpvx8 zoiT(8SH<$<nMF^C+~!L^9Yy9$@-I63P*jA486fH!;V1P<j{_4njW1@Fj~^jg*YEM4 zs`eAzk?PSa?2CFXswsZ^myT=H&6wlDhm2fVLj75%T1FghK#19sqn_|2RjRebN1mBr zr?J~R*+O``6rx|v$SgW-?YD)^+qFpt*Ktp^Ydaen%P!@|j{W>zgA-++XA+z9pfEva zrM;9JVjzulEznFZxu)LDzdz&yNlq(B<VbUZQfcqCzJgu-r^E0l!S*AsjXPMzM|l6E zn@^eH-`Em>CSp&@RX^j=A$4dN9r7o!D^)dy+8=&VZFX?Mf6cwm2h2)`!9^VlWBsqz zWIHG9qzNTG)^wz-iA;4IU`2{}#q8<Ms|FE4)Ctwo<*L0I0H<Rb!R)Xuv5z_oEwwbg z?UcJN=EFfkyoDg=yesQ&+IAG|v*Bu<-AQv(l?u@20asOcE^o%o8;#*eH>@Fbb<3ku z=SY0cEU5fbu`JJH8lwiXn9AgULeBCc(78S-QP5`r5H~vkl4-qUj2zZYYPuEIbnpsp z?^d@wO{Qv^VCUUb-bT>Y<sk<p-k9l_T%sOJ*x)hz8<Wt2l)&s&c(nuW7^TYBo}HQv zoGh$U<~*r|hTkbdO4-}iBtlBZvC1seA#O_Kbz#oJa%tq*H^SquHYQB^m~Cn^Qkyu> z`y`URl<gQCZtp|qt24joBxZ0s)jTlkU8An%P~`sA&t$uz)QYvoUY|Pk-Hb1>gG9Rt zci$C174V9t-$r!yFobL-?~8aenx_Q<9_;{|5sn(sHTkf=zd$U~c)K<II2ZkO|LlUa zg|W-CSyC4Mf7f#pjLC_e;=Us8xb@=5&yA$(S&BdXZ$7s)hT2JHA&M_(&ADUvx$J6! z?d*aw3v5Lb)0eX=<Gpbj4KM#$Q&pd+P`z|VQXsdylL`}gBs#>)0I)Qf7bFtV(iCTp zLZWgDg0l_5ZglbGYOc}Sb~`tk&x(<?ueCp2zgImVf(^`2U07Bl7D+60R=ue`H8R5p z{S~K0_JdAy`7B=@?<;+2wNsX?k%^`}QYVg`ee{i_2+?{RC-kd-2K}~Lc1_%Q(sgG= zkXtXK%Mqk_tzx#W4v4fT!N$svx70Hct#*roF_d+>AWH(F5=UVT9Z9N$J!e<uNd{M7 z8z)c|?sLJ73U$34g*$OgdE2@^dWM-`{+-9<?};5Aer&xir`boEy84^P{Y>3hI%ojA zP1WN5g?wIVV;Xi)WoMqGFIr3iwNx{XRQhNmorX}Ldny6~isKT7^A!LGZV<nB)G_Lw zd#y^rG(}feg5Qc;+^uB20`@h2Vfr=N_<%9+s^D*yibmy2`Hfob8j8q*CfO}la`oN- zKbCDoUp34i_520T1>dfHTwTpslhJ!6^6f+x+h$LCK+x`726tG#U3a5}K+}i`G;R7{ zng);r&_{-FyLi(hq&!hO>+UZx&eE%4aalyf{h-f0TgStxZr!o-*~p!unZeV#9vZMD zOWr_W$Y^-((+>E_XJ7X~VK%XerUCyrXqY-H;!G)3!%^_<LQVi#4*0d354RX?we$RM z;oE6x>*PN`r}qkG$?o*#&XZvjmw7Fs_W{20L#`v?p!bti*`{9K@?m`(zC1^aI6L8i zn&C-4e*q`ZEAjSi;_4a`-gT$}1O4n{m1frmp-$_c;C@DxcR1KiZ?ylc$YPUS#bPGg z1PV$?O4+*gV~Je9D|>6}D|#03-X(T4^7f?oN=6AK5;U-CI|${^&p?-C<dAEk-UCR& z;AnX$<rn;7u%{X<Gooo9Jb7Gu0z0ta$C37dvVBfQd~W2FB2s3NpGrOC`|^T_;L+R4 z(5Dg*JFp4MId^s#IKjbl0l^q#LXQ{-RjASNS2gLo!Vj}w=rgVO#gk%^cB=@-@;FdS z``w>+_zURXt(CmnUSCFGN5S(`fWMrM$F_~<TuIVCl!@(kUyunxYh8kO5(9cvoggPc zfp?b}^E3{>zJb#awSKU+9w;vqL2II5bY>pRgq|io2~Ki<u47f`jFXW5L$b3GBa?)0 zAQk6vpRxLgm|$t1$m?u-e&%$}jP($l{b5p81PXH`bg-BIcCaYGL(0!r;p5lXA)0yF zcB-C$>TqxCJZM<?iZ*_Cp0fltn*0=wzNxd5evO`4&SqYj(Cc!FiVf$$@Cp(ckp#a) zji5eoHsPk<a0@Huv^C*)@jX5x=V4aizyoPyIPuo~&1zZ$1~7(CYdC-$4?SP$kwxc{ z($dAAQV(t&^8m=H`{UMRQmA?1dDZiXxQNNRDuWd0t7VA4euxrI?qlP<wS9I<14AUL z-%_7}>xAYqn62ksjeZTT1&ME2J!|>#0&JLqJu7m;<8@Soh?XT|tFl|_26Dcjwo6RO zGXu#oLsf9LClML(gh~%3RC*}$zm<M1<gGA3K`CQ=PwD}|Aa{=#!2Eza8#%4>fUf^; zAMyGrN8eZE#1j)DI!?aip8GUe^!EtEXcSaVkBf(5uTSDnF81!uJ5nCT(14vNm&jko zx!CLGX%%PeSU?2VUp{+73?K7hCC=|NJkBsxM2b&yNyBH+!?)xJi6h2xIA1CWi_ZZq z*G%pvewaZ<&{;Q?JVzxRJF-=C+4ULmrqx3N?CEaY|K;ZD$hNO`koDjsqz+NS6VOOy z>kt`p%e>i9F0&DOPx4zf;1tdr=68K@3*io+*cO_zV{FFG1;2*Ty{P_~^#`&b8T;p0 z>udNen~6K1CUF9NH6_s3e-M))AXOox<&a>o^T{jn*A#l2#Cec2oWGrpd9rTqzOIQl z$$mjEs!gNAtl_4|@o6H_qtAbM5;Y+9SHFhOFfL6#-q;-CjcKUOGs^7YJP5|DX!Aoh zJIW1n<`sQ;4xq>%79wnX>$IY$I+>xSs5h_DFZMKQ$$xR|?-uf1HbcW|3G;995)}Fz zJSof4c|r0%s|Hf}QHBKVAfRqqymFWAymAw7Z?*Eh^E3a6-#guJbV{84!BnuDV*!^p zg$gg4^$ZY0#$|i<W98N^aJO5FZu}4ty9d8Foe3tzfe=B5BJphcNlLu95t~MnROb+8 z$%591tKe)G(wbso3%jBNh(r|`sXKgTOyTK4bLh@KG1JWzeoVJ>49UI<4U@q2L92WT z%;wSDqBi{KeW4UV1uV;RC{vc>LJdJa2>+rW6^_m@QWigC_Hm0V&;(2S&_ib2#;v>F zqrR?m)b=pPl#<NK{^a~{Ps2mQG3*hM4-Lv!yd^L#c)?BFd6Wi7sva8}byawN!eX}p z9nWfJ9Z>^~<K_NXP~cmBNCmtEoNSp^THd{Mn*IzQ7tl>HmCp3z%nTHPbZ?t`S`p!1 z5Y&~3?*4u+w564mm7V=7ydpQz|KuXi?Hgfx0h|(HoVoeYLZ3?BLqkca--CT!DZ3WE zp6G8K$}wpHgSYr`36=<SW13Pc^r<>z0D;|aEzH<^eW)NrL79!1zoPz-U&iv!>hsk7 zT&%M1mOQh7MCDMG?g?f0o2&iu5l{dl1DF~hDl_=-;)4N{k;xgY-+z)XOk5jNApSzj z*|i%p_>3Q?N;R_2!4<|JeX}#9Q}fro9qxxS*6DnJK~fXbWdvJ~jM0VUjP%^2vone7 zdUgMK_hbP&+T0$53>O`*`<!2~FQWW4Wf3+f{@X=;1)-JMk`gJE`r|7G)O*iQ_9b|& zbGry#U0mrf&z?km^8sRK2c?yY8sk(YA$<WB5%&2mAVeW{OxbFM`&@>rdZo(V0=Pam z+v$VMUhg?7`J~Ulq(-N^ZyX-3PK>wp(5TL3xxJv}{&iW}=Q_?oU>4W44Es?%KXoh+ zXLD~{DkRzxN1R^F;#sZFR!d?B>*M^K3kk3Teag_aU7{9jj@fbl>1clWc+9tojZt%f zDBe*MU)0Cj%P?_B_Z(5d0`pK@2IxHEg<6v(c1G*V7Oav(imu9T#nxJqp0NE%1jEZg zHzfb6W(p)Zfl1KNM8bOqr8{B=IG(<OS8^mgzYIGRA&lN1WQcsKK~_0!j}KS7{|b>f zp_)Y07h=q|>`t||lm5v)rHHpmfiEI!wD&&c4>Etxg_y<A@y&~nmq`QLIVIquEQ;Zq zqr|1xrRRAuZ{DWpI#Sh_#++YazQ!<v6r}<ieR&xl7PVyjB(_tPT$?p=!lYGy_+)2W zwrpFrZdjwNC~dLr-Am_b5xDcy>EL_J)EQ#EI|0m*-aq(2yzsF9fn|bz={ffR_gvMA zyr~TLe!mZ`D8QZrY=F`(Xi&X5Pe1JFxl@($UlGrqZQr_T0o*V<;8<keFD|s>Tl3z@ zbemKbrg&izEq4FOD&_=w`Za9f^(9!Z6uM&4n&hKzai<)4YB!b&p}9HR7CA2M5`U6B zOE3m&IKQdOAL^=6?^6A&c3F3K9>_{MtRmDg2iqlO5S<+0ea&5TjLd!IFbv;vv+}U) zu(`}tdFt%`_7ph6oRkQc^B>l)9t8(L2-oK}Ki<3Bk?aJo8BUKhMb`E8ZQrTa#@51i zNCqH*Dwkk$C}33^s2Oke#tp$Api-kV7BExyJxPHJ6YnzS8@rSxyDuXuOKO4}h>G(D zB=9K5M&2V6hNvr`@NMK9x}UtJDcJ7)B!$@_R&}zQ*JPUa;)Jx8^^(Fgg6L2mLUp-k z<F{cOheu~^6UhKJPQ<xw8oNApSxb;ERt-d7m{A_-rsT*l{%Vdi_H!~&I;W>o*+P7E zBn%xlxzk#`w#ZPY14^Z8wwrib;w`|U-7zrdwifOT``~AJz7+C9h4H;E%bE^tO!&Or zm*@tvCGKWCnSgLomrl1M_$1p}J$*%5-&)}O7-SL#Q7(O}@!}Rq^m~+Zw$EDgpQ&x< zGY|774ZqHWCaV4^ki1u(sV&92H*)y3rYC3cb<e0<!eMx?8|1Eyk_>vpI9dSlz_jI= zS=o_%K`DA5gp1oCM!PlF>{_H{jy0%W-<USjqjKkhX1Hszd9;HLmajR>4h>)l>bz>Z zrbc6b^`pq!TV27~bo9L*8H+ZKM1|3sucaoEi*#r;YDFDs$UevWy^^K2r<-BC#w&$a z(QoV@;yG7Co@YO}pJgX@4yFM*7pI!yrMFCb&+RySoO@OE&w7SdSRkqDD1CNfk2;t? z(fOI&#w?_kjNk(C`)u8p-lg^N{hDSSPz91qYX#%V?h*ZCc#tH3JYpxp%3n>2;>2E7 z0;Q>}NTV2xAK!t;4sRi(?|^jerRHf6=5;~<<^p=f^rK6CS{MzWtQhAv+6t{7IN!v) zP&x%=N?%e-I!lMK)>xYbi>yCTI!aTrQvP0c2OF6F;QlKQ2KqLeh3slQrss}VZ#P)C zm47PRwJdN?`5?D^qg-O+acpLk@l|~kVZ-`8ZwIZG;7mBSLBy%eQ^4^H@jr<7FW}Xr zkG#2N_#83d1}uqd3|%&ID3Ysx7s7$NL|Zu<Uwr}i{KTA$GUzV}!_2w<M2OfWlStlH zw|*N&9--f~OJk!X$1FDT41Fxb_HE=z@>K($MOvltRoOpO-$w}lw70WJRp<%H$b)BS z!?H5SX=1rY!vq+2Osj-$A6glw%MYWNd$`P-7M&UkI4${=9XI!#g@4C3eCGSJ{61A1 z10%=@j<2;q>Usal2|g2)Ej=FH7p!{<T6Z~yN^<RE>8oTRSG2M#P^(n8WJ<A(uz`G> zUw7m17)Eo^5$mbF3$LL1)dglKXylh<&OGZ;jL=pWdKp7{|IQ2bW7trA`b&{NSZoIX z|Hh@7nj^&BSxh>coStZvA^0W6f(PoEDDwQ08J2HbqfYT6j4ETB#FNpn9~tU&4)$4# zkr->ZfRSIpPc+PyY8Zu6c21L<$k;?|#t|T<I{{+q{Rc5ksEFJ!+Pg&jM^Esm1^@-} zxaH`GdHu}q6$iMJa@`>t@Z$>-P<s28$~ZSL`B<8%k-vYq30lECMLOx#lsRdf+<obn ziy!5l^_F}^aC_hK$;So!RD?dU?;3cDY@&Rj3TEehhEB~EJzUOq84sfQRJJc5IxafV zPXygnrLOCJ0*rt0pl3>{9vNCuA@4sWg>~90<X0_jp_-S!M}6u8&MwH>DnC1K*qNy` zvN~H4)o2o$-kbmEfi|V4Cr##*B+_B4+2<aW+*78dLd2XE!m$P#&Y#-aG3wQOXO)P6 z)B`9iE+r=jE=2`RCfHM!APYl~Y>!(WupyhsBUo%&CIs=a-8IIUMbl2J4|ilL6uiwV zm&)$v1BE@Yos6B=qI3MNahf`kg)VEh^5$?*>;8ZSOFYN3WlEg43A1A{v1OZP$r{jh z);fAq&3W0JKUa!uk0f#Hca<s|f&nKcqdK~npA0bgCj}m{-9OwD3*hd*&TlF~yI@vA zg1+{%jx?$+q<gh`CC8!FGF5Z7gUB-=bE!a%DMQWCuWWlQ^@BTY8l{qVE7d;7>Dwzu z%e}jOD!8aheE0{;M5&$9dUx5SjlG(JpB&3U^gR$!!JKDlC2=jV<ED7V1TzDG!rV<y z6#2uy={a^;Ryd$Ylz$Fx+D$L5xJENFfI@iYtB-=%o(k$X(5ep#JQ<srU&96PL(GB8 zwTTPo?{k+DYGNs4TVPDW*xQ5~1h?$Q-?{G~0urXUWo~>K8jOeC4e1&PLcVKv7-NU3 zejD|y7afa_xu(zSdTV$-RGu2wssPiHX-U2dcV;4Ps^EY4w!x2mt;5o1IADRxoZp$G z;A`CN(b3i|@!S?Si95=z1-v=i%s~3f;Em?8rH7b1@#s_$p>WD%mi#QDU16VD@R+<K z?mD`CT#sBUn=LMjirCdw{dFzZ^fjc@#Jm3OZ~+q7yhn4s<UIlm{X&4DzW<qgJW?R{ zUcOKj7f;66eDYgp|8pbF256YGEBW9G=kNmBj44D~ev&U-=CceC?2gEpWyQ+&-k2L= znFv!-nzHB(Y&nBIsc!HaT8Ybn7W=-~>2k)3k0d_Av^CWx9jBIS(|m7^yi~MSe;6$0 zQDc{8=HY_Ll3tcrN0cNSwfu_D=R$hs21Kn>8pmgCcGRJE&IC6d>3B)#HrLGXz*R6j zSA-x`im#f1;Xo;h@ds@60Vj#0^W*){`2plNntXI839O5<oK=CM?Fynk@f^)$!keHT z-7xv?xK>9Cs|NKEbaVMBYjq^@k+T|przEM2aVoY)QC;&SL@7uzhjp{Yk#9$4y)*5g z3?I;a**2uOs1{e#wRhcLzU;!Q8`m?$D$UV<&Ksm>1E_lqI#{RZ*C$^(5YMd{?XNTS zwi4d0{3G1cvFI@N(aV;h$ySw?ruD~U1l!1pU>lhdM5=%6>Zci?G$GMmnY%~d(6B8p zjQ@@Vw-croy6834p9RVN(E8&#!&k9xq)TL5ApfcY+;&c-YSuo@(>;EI5ljeAN_D%^ z{{-HVk!;8L9p^%u?S~QxFU_c)8zY{#+a&p39i@lxzkiEV>41+bv}=g<n6h2fYr5vo zGbD6~6Mt@h?leD&!NYpHruINwZX$!nZ>pV!RC~M7qy`8nDbz)?{B|iBhxk-&NQ<&! z>(^k6$i$4eM+~7u_7Xaz$iE#Dpxn3uS{LIBjs5ZMbrsE*J(Y-?3)IdZoLYibH5|f7 zZypzHLQy>W{n~Kcl^~PIf?0`|i+y!GJx!1BA&VS4>Z9MvZSNICe_zNQVT)vVLPs5B z`o5eqSxD)L1k(lIgjci^F2LuT%)EUH-zK|0FgV0|A=KXJHeGM?&D4X!3Q*YH<=zv0 z9!4?5lD1JK9+Q1PC--YGKm(_s&LUoEBAszgFCD-A#Soil27mWpjY^d`r8=_JY0bRQ zX`{nuP8+INZhI+Z@t;KMl=}MaXJ+<YKlD4a9~G^lRPqoDkr`}}MxP<uSuiwwB#cDm zcM?f#Y-B5&5tf4t7zE<Ut^Kavg(xdlhZ{3Od}CX#j?I5U=N&=0I6S}I=sc&5kRiLW z>h6TsDHs=-AR@d&Y+xz=X}>k-s_`{|{#dKccEqztA?+D9>FX7WSK3#;FJ`xV2j`|Y zK+*DtwSK7c5cA(1R9Dn!7FNbJ2p~^lXT~MDTJD~})Unhe;M%qqh~3tOTTP!|j_vxi zMoVAb#*CH4_*4BI!YPCy{OR8z>~z@sbyTaLzk7;8FHoz~q<ey_JRV;4>0)K-A_uRO z`k)lAw3D*?y0Gn!VINQT8;ZKryv-r9Jgdmqx39$4e)G$t{hKGq?gb!hIY+;K!rt$$ zGtUH6NVH%wHQm<2kQ_-y+Dw|YCU_kUtRym5qo*P(e1lkNtes4Hk%8@^!v7P4FvaZ| zls#QWUhp)`>DNol=ua+W-3^?hss%S=+tZ_)-Nu9*9b$svcQ{eB)5IjyuW4x=jT{;l z(EWLrE`HB9(c)FxnyFJqC_H8K{B08Xn_xgAGgP)FbTTZSz*nSt_&|7qnf#B1;WYC1 z=WaRkAISt#v<7-exlQh*t}zlzb{2D1F&=O`S8lOa`$gZ=nx>&0rTk2GsK<Ywbm((D zdV(`A{Y~`)aRVQvpF%=J)Nx7)J61U_UqyIr_PzC`NMje*!x^E*niuIzL?;Pr&;1Iz zokxvC^UX=F?>9>MP9C=NvP5#Ut-xjt`Bzmj)~l1&H6#jl6!OaX>ecYLMsBd4c8loF z>gWmD%~xh4oI;>9vY=Pj(fImTfFl49IOpJuZv^Exkq}L<2L@7l5__CdL=ckdB8tt+ zbHpptq_W%5IhP8yga{{d2*B`n&IC9<Y^2@0jnv&<mE_00*ha-n^pkBeQVrgBZg=Cy zwK2BdeHa@+g6hXGYju*qEACX@>6gYDlE3+Vc>P;x?ClS{IV*CawhtO|5Uax2z~rxn zq?)#n*qf0fZh!t%Lr+zO@T$51Y_Efl{r5C-mc)0vcfl%P9uTksoD7GypsF;dcHp_u zci#SA#SzA%u$dloX+0?dug?~yanRgy?w>tHCBBW?0F1*qtn@?J`h&oBA^HaT28fGw zBy_4G??gV4(WvIO2c6!_^zg@oPRaVWQ;Pq8!5&(#j?bdQF4HRL&(H2jk>+)3F1p2W z&?E!#*xWQT^HqMf$JjA>c+<}z)*}w2>Xdx$hrVcpRjVMyc}Y~Nl=ckJE?*_m?n(M` zZm+cdp2SCE5+Qy&GH;Rros*RxcoJH>j;rp|k$QX&qf`Za7TgNPrY{dyyPS54mS2jq zV~=y;5j7W~nGM)4GH~0nVhIDE9X;zaatlCV-0N_QY()Zz6c4rJvpM3&El7;*NVu(M zI2yhY0N-SA{efQiJ7F6L6P92){VzsiE;aE9`}=K%iCZN!)a(Na`^*Sp%D$g_b&Sja z94_oem79yf-Q`oyYSevluPQ@y|5E^C?VlTuRbnIk+(xVE{Dt9lTweks@jwUG-C1H> z65nv6yNNSFL;jFtmTu1bUGowF)F0q;hTee2AMjDn5cMnUIQ9i|nMgucN}~Cks|%XN z6-Am*+M|AAdJc<z(8K443oNCv#jaI=+I$4tFB6;e{sM7?<M&n!=IAg<*7-D~x6|um z6N5q{#CDb`zLb+ah{Xs1SYa`D6`Q8gmcIAUb(onAolgu+VvkH+-gXk43T1**QSq-+ zL9$8Nk|fH1z)>8U9FJX^^<1}Djl8KfDmrgMQI8k_m+ndrRjXOHjKdGBgZIybw5HX4 zo)I5Id|tA~+N#!c#F76#<r2N1x%FDJBg8~lD1Z{#4x0pQErclc9FdI1$i!J@=^ak~ zdws2NszO&-pUL3SJ4m_vQYpKKTVz^1yuz?D+AAt<U@_}Ma;7QYA+5OzVJEEe$>d#` zmf2)@#_;JoQvso35?Api&8-M(+NP1Z*$%pgTWCq&r{)R2orYDr-M$Tf`PK5K9{Y2p zr7`xR+1e4HT5pchm_e$3pxZe2mp<^g8}ol|uv1U<Q+jm@Mx)6Z2Q|U<25{aytk1XL zR@4`Z0wbaon}Ts~hS1w8=}^C2c4B{(zR*sB<4BS<JIZ3BC0&R4<|>gJMDH@)d6j6* z|BB8fsma4j2JdcET6vBd|3s8xYs<hAEAY+#k&mcZoJq9~c>~GmjN~>~qDv!%-n+P_ znwL4V+?%tr%(veop1;mG4i;`f9%30>rpKyC%7nlN5_Wg`Z63bGJL>(_<+aIMzZsb~ z>p?RwD4*91e%pL#dr!J$OT&3|+h?-t+r?yM5hznC8kAZ3e-`nr)~qeSO&rzY&J=Rz zDs1Bp?<3E0Dt7*_UduVZBK?wldllI15FNFKWo{~DRI^uK-O`D@bvXYUK6~CUUS)$> z(hMgZdf;=*+Ml_ULfWMwc);55gi<M>c83n)!zu8qz2*(O^4&)6+n?X;9UX>J!93x{ zc{si9a5^zGh(jO84faR_-Y>3FC5^Y=dbcBgkmY_7^eWa_JN2<3&!Dt3am|l3kKmPP zADo1FX!nPt8qN3RlQ1hX+u2BCsc3ZP(5$PRkpswAMwoQFm5>ZmCrImICjUz71d1I% zi1m1)f253BYz!~?Uxo>`#$%E^7@ivIW*VADjegu*be#ljKF5R<7_w3%y3<ibS)d#C zSHcEJ@rEdk97B!C;?k?bDtvw{tItRDR(z7BC#E<Wgf%F$H9<qr3a&8M?m7#Q3@_pG zU<QL)%M!5<9y)w4;WJ3uRpRoVvbpoU3=fNA_K&W9Puu}S+iJWiqgNGJv@Xn9hFs%@ z)QKhYg#c?edcPpw7zU%s8I%ty+{i>=dtUq?S2eOh*RcqiX@Xk79P)QYfOSC=<k2iW zw{w=IEw~@w>oat3d@xKe=DPEoXuB25Oy&^XF~@!t;$WI^)8plrtfUC$Ay;%$z6?)d z&<n+cRznm%N21U)_JAFe#6Q8|7-vU0WB!v95INTH*%Kz1B2hR`tb+AS)h$9c5}d$F zkPg_Mk5QH=bRS<aND7cz4C9*+b7i~ag!EN<G{gvq+EKLrE}lK|d^SG~uVK&g2DwU| zbZy7o$G5zTopT|{RJynJGW!bB$t5Lx^gbB@%w#7Mz|4QQk06Dx7l<?Y1BQl2S_U#{ zThZUNVUQRR@@LkrH4yd=dpp1K75YcK&ti%Pt+Yp?;X9A^BVJ2ms+><Ol%w&?&>(qS zKROFD%tCJHbYC;JhlDgjWO++0g-Av!`rE9|q&z99H?hdu3%A26A1qga+_L-u8|imN z8^_*i2_a&xCU%oB;fcpq03n+P8B@Afub4O5`eNI;V;?>=Z)nnXB7LUJrbNg{KP3Kp zbV9bGiE!k9fC=HRth8IMYE>;pe4MOGWD>}qg%n&*Z#RF0q_ZGgte`Chx9sfP`m1-T z-&RL9S;Q45-@V6)KClwCr>^Q;Bjt&QyZ_{0Q3s!@3j<#fPtwHQ;|WrNJq2^3*?X~7 zJPBmlZHBGT_07n3xMX_?6lQ5si7N9(49+s_WKdG{7K>Mn@DPGXKcm143ZFX}Z<c_Y z<M#%Z$XBb%Hf?e1B%<mg=M$LmHUXs;(ps)fg46VWcL=R*pZw#C)w^rzy|h)?fnR~E zVl=o;trqgtRERq9^GUSX-e<}`i9;)zbDy!VAQ2L1=Jj8?U*7C77ylltp^0fSg|*1% zq>PJ+J>p*v5Itd-iivN@Xfo9rGq<l+AK_(9ZcU6pwFZ8VJYKRF(e!)=jk<Avb0Ue8 z|A=bR+JMGp3}9!vki7h9AM-uuHNOi`ckZW5Sw}i{B>y#t{+8{>7WN4GpP6(Qp4jF` zB7{ee7bFz5*}p}Ntz?ZPRZIJ*brK;u?a2^cB~o|P;10sQgx-^Ks!=*N1c``Wj^2ja zCM^M)Gtb}^A5P?7>#v?EK^&yeR~}@TBT}U_x7M8s7{bGOV<V&j?E$+xo`}i{<E3HJ zFi5Lq{_RK45{%36cJzrf(%4|Ooyzll(CRw2<rUnP_Jp&YHFJ&^*6xXZJ79*9Z%NnP z88w8b|307SHbg<Gx1E1{tpA&5FeebK*Z<`iOvH%_ilW;tlA86nNJ4X^?|$?n<e!Zy z25H6QaqWOSE8*)bErMSIA@>d}3G%k(_xRU2kG1#R`{$qvyx`JQEAsb2#NT)os<gLJ zMBagFh`LpAC9f&<0A7k+mBngnFw-S<p;g92bW>E)`eHU&dwoSHZKk!y+OuG41_!jK zORZo|acp1q_nz0e4XEbz0&%D13aG+I!qp~900DnBYeMRR%Mvv53U=whzsEu1xa&MO zI>ch;`VJEFtQi`3`JG^V41QVhYCaUN%zqLMMKBi`h0pxf47IbK2wN<C3es%t^4Tyk zS6RIhcV4-!9;ZyFZ7-%1LC3+_WTjl%THe)O+ru7nP7<L&Ig~{0vt!mB^nHjmKv*aO zAmLb=US;y+K0mwqHH1X$9ge2RA}Qz<6cO(7f~T5@zzR$WtiaI{^1qnr>LD1Ok|S0c ze`f%9H{z@Nz?rW0s^}^}ifkwEeebH#@ntl%aE2f0v~<%9Ot%o=j`hcQ=XO66CDWbN zTuzMCsw6InDe$gi@fpPFerM4F#QT<$`4%LVPRiZf!<=zfb}Dmq|E$I)g-LzBv^y7R z!F|F$jt=R5p|34*es=w92(ws*1;(t<`KP?kr7ZMD!P&?t#ot4A6AnoTvH!C<P*7U> zxoO7YPF`Lf;*#(+&=;)jPLU~sutjFM@y_Buu&dXr7$G!KNoKGe0QG`tSkBHf38vku zZs8fd5e#n}9{Ri+9Z?Fy6z_Q$r=Nq_M<YKndNxz>FT3uqlT9)hki|;I+`j+IbCgIx zFUQbvvM>0F@<zk0kH<ti&trCbTUGi4{BCd@4wvl;S~r5eBp6+Y$!Ge~2~ATcf3Nor z-*h6t*%|_zy`u{P{^D7==#%}G{VBhJs<mxjskjmz6E5VGT2h5x*z#8N>UB7}X~8v1 z4OK(M{eU4%OS{G3rp9&DdxGVjH^9Gg9rOC_samQNwhMc`?NqrZ{d;n+5fQ7pIscI& zCdgU?ZMRy)7fflvX}%J4r43Vs-Egf}?mcQjkLOb=^aGdDTZ-g2eiIHXKnQ%#5nJzb zSa1r~$0IjBNN;%5`0zY`OY-i$nY;DBIsA88FDpSKcgTH5MGu}Fwfu;7!c;XWKH(bj zRIE}%WLO_Qj|HC3zlo^Jm4HSBcFZdL8PZ(65P<6}cuwP(*ZDSK(rgkAGpWuPUi9I% zEbuypu}sP!td5%K2lLGfihdc9k6yPtX+5$?m^;s7AG5L@3Ll&`zsNRsGqx8#-{<-0 zg{%VPn@2=A9?nv&Oq26WpLzHH)eW~dnGXq2`RQNJJK&h;tJ1jL>e3b}@1R7D6H0X5 z+{vlZU?cddSq-Ie0gm(A784O$qS7%C9mN|p>#^QhGDZDpCAtY#sn(@Ab?Zbt!dm-K zt2>B+GCdwWD$Q0!X?Hf}W#UP)(ZE1y`R<go85I4qJGa0o4^24|P6ISh)jsMgtquJ? zl!0Q~U>ug{{p-&fkrMRee|sk(WJ8D=_&%g6ul^i-U>jN>50zm%1riZEW}O4c*g2`$ zQzkA}ZM950auEkep~*q8P?Y;M>ac;jUyp|C`TaRo6LcrT*{B_8`g2E0Z6(E0od@LH zx>-Gs+4Sv*w}?FzKWkC_IBwZx`E+^3Gcr<^=~;s?A+CHTg}dM$tN3yv|BABHUKAZ0 zYf@f>A=L9fkxRgmuebMWaqNb+&r>O`NpW@itlS{am4O@eTC;O~9S*b3*u0Og;AJUw z)ZKM@aaCgXWgfkbf?gDlwN<6PBTl-(T-hll+kep>Q1+SnGUkbyA0!}~%)j#%Q^^I2 z{GihLX`ztTDNO0WZ9l>lAiqI{=x2#NhIYufN!}%!I}QZqw!L$5OHQh~>0#t1O&oR} zyqPY9@+csbhy1^64_x86{N=V1dO+w%=2)|z-wfJ#HP;L~ktbbO??_cNBT61moJf<h zC?*;S71o`FjWp&L+gjwc>EXh94flt+qtg6x`6q`~u2UjP$neiv<lA~sy_)uDXq0>> z;HmQ(TF$-Uc|W(#k9P4AbLsz5RR5H?VZpPWR_|jTn`Jm@?`-V+)beOp^xU~h$DDV) z1VA9zdIW-9`X9lrJd-hGV0zd(sMaSDit4IY@Y&I1Q(<U(XMGGN6`MV0u8TdrpQLQH zNbAvlUrq-g+hVygTdYC*qa4Wp=56fDD~WVkot~~&v&*In&DS1Q9}L)wP6iOOkjegf zFHs8~4}3@)I4->MVx5xv!|%3bN9Xa$By{nKyol?YFdDlc4IPml^{W4H27*A3n}FS` zCf=NX3RC~f5=b6>>Ak_LSsWFy3sq(ixXGcR7ikJ4ZL*f;IMJr?m^9GVnr7^s7Eb5l zIiXKtA2<>yY@&O77dczq=(ocj6q@O%AMxaVp*F!9vZf?jneggAXD;)9I60bmG51vs z>#UvK{yRRcxXsk(H(tkcKVQg*W%B!iREk96bHY&mP8iCl|G4aDhsts6@4HdNfT9%t zmVh2bE~_%bDP8%q*?7b&eNs$%6q=kPAt%>5lX#U%r`YCIC+?A|+b_#%x1!8;sV6I% zKAcV&Hr4375Ji`tQFTn_+1o~OHZDz7{cy5+?H2g>k^jqN>8CH3++R`IGYdIV3*T(E zdqqWkCWW+f$sibdU*l2lSiJZc0K!IcDu8n0wB<KdOnBmSLRPkBUU2PEglFfb&uG^- zqx*!*m_)dYH2+Bt0VGbEH3p0FHb<}zn#DT%{wgVux+fo!#AOod=C90`6jWi{MVBr9 zl;q={BSNT1ZegfJ@rH34qfuBEnytb4{h{ErGNnVg1No#2Q6?bFY0Zx^rhA|j58Lm& z5hBhMF;h2tm3&??GL&xD|MzHXR8g)^Awlww)`*Fyo_N@Ffb!W%UJjR!>j@X5p+2Ld z#=qR{MIk(fMq6fQTerQnkDLdO*KX>+5$fIfpCwL!7bcBvQjSrk=hmrX`*+qtY*1** zlv#%Kq;>!wSNy~;NocP5PB7%luiUk`U47QrmvnNAcbiR)^`*J0Htx<6yu{-Dv&^%| zPzyij)$3fUq_#Xre%1#-+hB%fhW8p(6Afv@xc{6@InV9>$1{ZK*$PCj=#Qt1QISe; z)zO<ocoTkP<aK=H3OqRcDQAN70}W?k62j*jp8(acIhNmQS_aZ5DmyRIy&XuRgj#3h z%l7GNmORHVy*9-_ylDjRU-+LYd8~u^Ox$ti+{X-mXmm4diw^2%ynZG`u|{PCF8zk; z{#{j3Ob%5dU;91LJQLSRWrt{=<8nKvmN`^DiL8j-iC6Jotsg6iK7E?(^+{42NE2Ka zBa+R1qK11<(q!K1{iQ6;UoR;Mt!cg6lm7NJOcJs4xh2$NWx$YhjMX`T+%hzND$>C~ z;cm&WKB<xq_hNP2kpHvDoN;Iv5zdsTiux1d?^)!~3g5hfevt9`<T#!|sF|;yD6_$7 zsva61%^);F^*4q1*Jex?00I95siOoy4|G!ami)$^W{-Kf3th74*9^LJxIZ3V*I%qc z-6DRU43%M#t7LiFhjid`+gQxLYLFu#7vDPZ{L0GP{LJ9QAYs_%)^fPy95$2(XUv!_ z$$xY=bm5drBlc@BHkteZKB0K?azG1re}14*aF0c^e<9~dbPY2W@JqK(_q?70ahE6m z+@OF7(mtS)#zq7$Kfby_S>4vD3?FXS^J#gIbU;x<Vx#f7ad0Gh|Bspb6k)OLJ)tZ- z|9{ad)0fRsdU}NPJAt9Sbt^#nkGAf9DlSzfT0S5AB8R0XnkmOJ6FZc53X-Y{YEIv+ zG@;W09BKUDUU9arAnO^Gn+@?Kv>RvkgA6eSMfZ&)t_B5~U*3=2OLn@-w1-i7aqAS{ zA{BL%xZP88l(IUq#x(XT3dl><FuID)x?^HXp|Y%XDqx-+%9gn+kIZt-Q1*;+AR7?U zv|#ud#MBlWaGc<A%bO`uBKT<B^{ocbv_vcp9I*Wb3<QD?il*&(sp%_|CZv5C&~0m2 zKf=U}bv;)_*~Hb}j9Qt#z35-zovD^2WOnC+$1A8QGiM8Y@~BbFimk~US2)fQ&GO`Z zbf%ROv(krMRKZKWn#AJsnV(0y@bbn@_lp&+DO<GT_uY=NB}+FqhFT6hNT|s}g9<>) z6Bf_av+qBq%OH{Ei5@ect^GvEwFNa39xitWn2^clccDaoKx2dsI5Z6D5KT?%_w`#M zYoXFTF2noJRn>GH^a?Dn%0^ssbn#A6J$-PrO<dcWS|-ErV^*J+6$5oc1gTngCxce6 zgpnfqaLH#8uY=KFJR2Ei+%h--vL?}>p+e2y&6}IHwd_GxAunT%6<gxv^R{<v=fn2s zu(RJK9@EHU*+IiMiRyt`r92UGex-A;a46!Fe&tzXUGD&~y1IHo)OW3aQ!9z9oH^G% z#g9#jsJoj4Twde*8OnVws|qMnyNO&cflazS%LyxnBE?+eF1s%Qcg!p8<!Shk(Blz* zzV-+*^}Ub7tCk!IPWK(n?|Fc@F}RET?FZ72>6Iqu@T5OLv9nRrFQap{4hrp^55R0; zQUxJpabJoMKy&1<x28eBzI*tB^QoY81g+BHrBpZ}r7|NDO|oMzOy2&#CD(LtSuV%k zaqEw1pL^9f;Gh7p_Pjs)PGPGe3php_>+}2bs3zu)c0Wh=De<>U<U7Xvm50SK5slrY z2D!?pS?y(e<28z++}Tvj_S>01spDzktQk*;PqQezKJb6|F;eP!?fC^sSnQ;$+NU1^ znjbeJ3rlC^rS~3@uktH1PilWgaci{pjPf08?z>0KNgEt$DeYVO>~Fn4{PCB%HWH@f z@qg5n%Yi@&wJ#k~F)HPp3FgSE+^g3Ya`SXeR7OGMT+R%^QQupov_2aDp*BF|rDn&8 z+^DZA?zOCjc|IzH=WgEqE}_381WAGNx2xShK3g!Vk$p=pt)6)t-0!#Y-p_SQD(Odq z-(sKwtb>6(^(;;iI8*%SxcUB#QC6OaPuDZ3Jmt|A)3XnImvs4R)cn3%@eBH9Ok;a$ z=Q~VH5*40Q&!QH*5z5t?X=KOo>aZ!XNJSMbkYh4<bwHo!DX5vD<>*GijN4>|m80Cw zzMKtPsJag6B&DNuLYhLnL;{7_d*ruRkRgwXrxJB2J45LaP&)e>&0rl!FL(FTx<NC` z6UTso1dqs`Y(Bj1*hQlaD+AeYo~S8}lTJy24sjH@mxGHfFB4dn;81KMwBEjt-y}~0 zi|$_e2)YqDK<Ts|VLMpV6HEA1boOT&M0<IX3`L3vtVc(mE6}Ymguy^j!aaADa`l?! z`n+W1S4IAApf~h0Et$E9M=kTMS&Q|&z4jy@WJZV@&1Tu$U28(vXL9(o=DN?+zVw01 zar>O;tI4@8SEoKbCz*mn4hf?s{cCIn+1OefEqyg5*4PBvV)Y4hDtjBm-68@hE9B_e z%k@xO70)?PaZ^TmV!%(6(nMUO9^^rrw3MNuuknUJW@I7r(G;otc7cCuH2)cKocf@j zZ!Kc)r0nFT^xa<vkejW@W4=Sx;||O>I?E}t|Hsr@#znb(@53}hcXxxdAOg}uDIiF9 z3rIJTH!w6xhzimrpnwe0APs_a2}6gHL+8-{`~1%NKA-31yxMc`wf0)qb*;7cdLmz2 z$>PsFbVbwC^y))n(bNHqYqWdfaY1?CzLec_a(2lb<*Gd`|8lguJPNGCM||OTZzvUT z52evvzmR=5YPN(}naGJ7mhDN^6oh@b1x_Nn*a9OT1pT65v!TR7p|C>ZFZ3En{jErT z;%G$U=pIC#s^!$=WHyZbpqjRTRJKetS3I#EO53-9=+)7OwG(}<+}L%-WILeFxC(&8 z`&kJjjZLGqx8lgRLj-ZBg5KiTI(7|dtoHD;F0|+pKSh84n&O}BDZ)T_cTCg(=~V-k z(7^jqItlFeN@n94pCDed`ApU=Lh(HYz6J_MEXs44?p=M*>0r{-&1!gdQUSJv1?~re zspdwylna(P`qef`O0nH5tdGl>m4;TN(6v>Bn$5ylo2Wdg!ZJGlGA!>78}}J&=z|J) zf29zmg9Tx!1&Liruu4_F8TKJC3fc_NKtFZ-$Ajjv;B_O0rvuZ_(Akbrg80bOrzvu? z-q{dXOmHuY5}vIQr4J7;&Nx9ak$lj-2c?+49LdXzcpw>$H`a(9vm~6*ev0z|e>ae- zeu*t?B+g5xhT-@Qz36UjX-NUfPyv`yB5xc1^mTa&D_k*N^sey&+#IgPkiqt77WrBa zZ5GT@OI)8##rK=%8vj`E7aj(xnNk5z#m~oV{5!m$OR}C-5c2jxuwO84n58;rv6lWz zk1c!k{&yy)Euys@(|rn7xD<Il0#a39n4|{^iYTQAdPEiY&vzaL%u(x=hFS!?5a73g z#zZ#h7Zcz;Bjo}_6hmG0a7<*AE?7i&O57;kFJKI-<Tvd4F-nlDw(%YBUJ{(SSPu&7 zv}g|p(uon5v=PToE;4BN&{Z@Vo#LCO1xgHoj}3$fXlXx1zd5A7IcBSsn5)Oe?mj(H zsj}Wba=*XcGDQC|4t`3^f1e_G<KXTVzDA^zO#<{Hd#jtVelimbmtTeD3U#puQ;%!p zVZpwC-aS)+q6@S`O!0d!Q9L$7vaMF-yw+tjx-;%vucyD4%3I(6h_WmAoOfSy2cgHx zw6r|Yfy70v*vHWdD?hZwP}YnZb4|S-rV;g1*tXL-uiX=3;G2O?>yiHDIGMsJEXR{r z#08?O>}n`R4w2StY56`r+6L>-P`8GNcFW31oX#k-)r|Itk(P}~B6TBNfot>rmFbt~ zdweE^Mu)}aY(lewZ2$A;75LIn<y&}5?5@FCb+GEO2xN(a88`OJ_nF0(baADT*(a2g z*#7O9mkkJFug|&ofA$+bG{ceyfsQGE)I~xL;T|&h)mXw0k2%t7a_i6~p?VLbP(nfa z%nmFcOXT-?qg!K2S6qByly*2=w5{$$)dhXGxl`iTYfp0fb}X3Cao+0jTpfHvTc`a+ z<s?@}PbnMH`Qk1+fzCgKHwbIK!v7B*6V@aPEZZgY#6$b?Icn9-_*hOHID1`%h1E4x zvvSH{-Sw1|6wRRq6}e=LNp#)o?^l%U_Zo%R!`SNB4;&5xLrD@CO14gh7nWSNXKUgt z$Aiiq>|aMWk4GzQVA0Ca9fN8UUyAs|<NK8$`cQ(3ACwQ;8$2e_)M~TdQ!DAR`Idby zh9YzzPh(T;MJrr+g46(!PnIt_rfgF?G3#v+HMA}fXj=;she&5%Qn}|Jy5gQHkw3DO zS+x>X>}@ajE0-!=l7$kp=_y}ZUSbhpu$ggzUwYU!D?N@ETg?EVyT%tki#(#ww3Y7K zJElHQtFhn)0#QE(L&P+~+XxH+qQvFMw;H?ikLZtlK4}#ir-=f@mcpJ}=k8P;4B4#V z9?$*_1Rb4^=LQbqzRsbyoJ1cQP!iw#T_H`})r#ExmGTI0LN(r_=v{ZWYj_FMSR)<1 z1avV-5>A<AQ<tmEt~^HXR#rI`Z4z&}r30bcZIyMpa&}sTR5DCW)HU31M%lx><a>sq z5n`<SzM|Q{?pxoF(D7j%mpTq*1uT0xVwlJA;_7~Gtx?z2e8H6SXE-<M&js{9%#?gt z3r{C4t4$l7&<Uk+>c3H)jlU8>KF{!G!fKJ?c6?!gA>W26-%4<1fN8~&g_WoO#8-na zoZLeR3?7UjMLC2oZUYrPA%qN7151ZbQzT3WmQu$6gQ^6}ZtkPTS5Gp|VlSk-g~?CO zo7aVWd9ip<qj2`PrZ<%g1;ft>pWsXJ{!E?B_p96UVdwtxkXBS>w{}I47oQP@k>HNr z`Wx5(FD32SN8t0DFE@D8cPzEWS`>KNv3$bNx!L{XQd_!;FoNmPhDwsRu<ZtLPz&^R z<n<qK0Ee5S;+8nKojMbF)wZAA-jQeJyJZO41DONb<LSTlP^iM7Er!_yI#*eq+p`5n zSkC$Ut>kq$TAgtsYmFIR^SVZBB5oPSGNC3tJwnP}8qgjA&k1H6Md}si9TExmqvo)! zcmF_zok)9fxuZnR?ICZxJSswMoG1Zk*N3Wdzf3gsYkqr~t+rNwi??4W>gDjv^5D0T zVt-vTj>(k?{Q%A2^zH*~aMYk164s^cu`=|8bsE!43NsCFUy7{${G9;H%9&uwDnjQ6 zm{g>BAS?5_Xt#8H;l!SYZ_kHV;s<hsg3c#=ig%gt+zfPDP2b<TD9m7Ml>@k8xvB)I z9BlqFJsXOexvv>B1vU<+s%TEo_-UZG(r1B_@{w-_EiO(__z8HX(~8{zI`=tSg1aBk z;xf^_96Ry{71B4RMS?$jH5qeGv_UHgh9k+UpbO@sz3Z--1UAE3I&O~~1z8EbStz01 zxfvgITB$zD5oO7fozS$5<A61rb&+d#b^nteDvo2n(JzLh_xRnAYFaRwB+n1+RJv$f zOHu#ehvv$a5NtahMuatgh@dRFnd4B*N9N@oSfN0qBUjM46zS_YSvjWb-q<n;$i%G^ z)fchtuTe1v(S#CrBtxwgaU&*#)uqky^-CfFiracRSCYJjt@ghFAiM&Iw+RIlURWOh zZ1?_K@XT0hS)7tPhIcaWIjXA(Kg!}FmoT6$Zu4bgtBt{|b|sFsPjpRpR!2VRIGpva zC4qN_W+ZPWK#y?&J?23Dzf?}y0abXB-=zGZb?3KEi;2L(R`Q!PHfc?&R)h>>G-YDr z`H;m}tv;~Fv@1YO@UrB0BGt%}^8E90288{G13_N&7<rPXMySz)w{3V5w@mm}RFj;| zznbxWE)a{F<i?j*5*xN+lv~D}Gwb2UJdgdeAD!xmdj4%9^I@Z%^pv53J>!rtjI@uY zrO^QGehUlzCi%bQr;ffG{f!&ZPJA9fuuKnZRqWkMDXykSV!ta@oX}U##b4#yk2mt( z@}*R~mH;)R$<)&%+nBEb))!Wth~jA;bG+>a=&AB(?}qEnvC4i&^BE~6(Od3n;r;%> z)eKx#|6<3riH6SR0PETI{4aeWi#?*YPOop)+ftPrfG_<_l6wNQfp7FIb@B6ivQhwy zEi|=Ov`j6X2F&v+-RP<?+}jc>^f)F#`>K|nw?{d{n_NrUMpTsGxGn-#P6GO8XxO?! zF}rGPwo#=VzQhg`l&$D5+dIyq4T<P!y}pokq8LYe93FOTXxnV-!Q0i6o&oA?K2hK< zRCz^$SMjjN@<6tLrj~=YGhbjU2)zFm{(W7i4PV!%pf26*V>4bnjFW#>BNIbf*hK5W zk%x18^l?D`4u9Qq3N+}q=v`bDOEn<BoJ^t}gCQ?=Bxt^Vl_tS$0Vj}GC25whrHzKY zF`&uK%!%<$6SIRQ!LQle_|f5iR`&;2=lO5-FyZjZYr*f1WNp9zQ9b`1+S)@lxU$SN zj*?Pt<)Mn><>(E6{DI9*<niMI)Qfr9>^ioTBbxpnxRHNkX!69y8x%TSKz^{bRo&pb zA>}!=%=YS?qb(+)MJaA2$)hK5;x(f2sSL9yK~f8Ki8)02evir*gmaxB25S4y4NxD@ z9^g;y1CbN!N~mY)&|9?mnP{G_u}>nl^u?O7J@K(^>_+TfJU^)sCm6edsxtfBBJ>Xr zV&0gsjcNCEkKvdth2NAGgtohx{oGc<(klt%mVg(h1mX;66s!cy*Qcmw_|pxwQ9mq2 zEvBpeFAtz<(db+9A6k8A{Z4gWei8H#a1t*bC7no@!(6jJ$nEJHo9Wu;DLAF79%#y1 z;S?3f_GfZpLQS1=zhQ!(x%C71ru?q+6WWn>%u$`pn&T6-EQVnajpc{|rt>}MPkgfM zFfQdQHE9-*4atB}5cj_*xT1%FFeRbl|9u%ug^a>FS5Xil%(dkTnFQDbmO_u7aegZ< zVoYELpBcw6+}7`U*sGK}rP1obAfqPY-+3Njb4zi4DG|#ktnAr;lzaWKlouZS=;n^N z;*zpC=x;6|VGQ189NSuU6Z>p!@*0RX2k<Z?t?={ZIk3mjf0&{n2MavuC<Q6{Fu79f z;d$LNT29$1t?sKDIRKWT<wv9zyO%`elYDTtM(bF;+(Q~wIds_blRQiJG-m&y*t7en z67u=_sZX{}lDC|rcRz9};r<aRoogS?_q@OqO#cGsWuvT&TI&CZ=nN!(mhkrzx9F<2 zp}S^LsWGRgzev+R6R($yMn$Ezr4<{1>%B!<&xGm#7d397y8>*HUScv7>HPmdnm+is zsFT2VH;vo}$|8S!M-x5PiH)yVjE~U8XAt$T#6=v4hpsp@rAZ<~{|tTw)6Fw*qhtTK z(W2<$^!cu^2O+)u`E_}h!E<Qpd1!hgF}0#fSL|tvG*!xL{8K_??1<W>dbuM_uo**A zc|C|*$jDkkaU8?=x{M1bjm}pWDd{doT6Y=b=3Uu{ca(Vans-L_)<4Ndi|XsDHj2B9 zg!Tn<|Ah8bV!Vz9X(q>iG}AK+&A(phm$L!tnPFnZeJB|t{-;USU~2nO%48^q1x=pv znl>-KK7bxgqA)L1C+7-aVI{?+1}Jn1j9#Qj5%d!F5~w6wyP<RDpqYhHxkX6#H=&g* zu%2(8pN^Vaq4O`%$ig1A?9Ka(!a66dr?Ev4(D}797^On|V>Zy%=I0LX-^f~n7Q2k< zUxb()Bpyn#fj=Jm7G_8a9%*at*)|YB-x~jNo`w}392t`&0P73Qtu2DA`0pjEt=z|0 z=j{$zA#cv|R7lklW+7Au(DClECK9Dmg+1wUYB6-x1>#rfsL`)By@Xte*0+5+ho3@& zyC4}MvYI!TQ6%0#$aKaq+~vy_mHCAft+Yz0vd}IsX>x2b4g2eb=oGmDpK8-p&_5Tz zNKpMxBmh8gCb>Rb!K-6{VV2%Gy}p(q4f$$#dYj$on=1Jz_@g9u^1G9Z8@w7a>A?a! z65sd6Nro!zEM4CfL50QTELw<(uyu$+HjX-SEtsa~kP-5XvTucR^a8($UJqA4gb<rV zQ7zf`0o$(>KMMOrh%|{ts@RuVbmVf(+k^SiSO6aqDZ1JH9%+NX%e|kUoaQwo@wlRH zyZ&~O!yB7K#x9A(=x5xlUN!+w^h=N{YZw2kZ>+>E4RKTK^69+vKzf%|eQ)LVz?m|` zTUn{Dmkl}E9=T@Y%<V+rxIHNdO@9!yN8O2hfcrU**$T~#*GYOsUA`}pyi;H75b$dy z6U8<akhO{MQo`!)GftBF%6gSWn|TI5@Zk+%rVkn-n~Lce<7c}zjAKTALYYStP}Bo> z$mPg)R(tb*zDGfx|Db1ox4@jsMAZxTE#PgLJ_{R8ajkO{2`)4Pv_GRg`+@fl4paBo z_(psb>x6vxqP{BX{Nqv;HUts{@RfEojw_*JM#CZUvtI{Tbl!L0cjyd_8A6C$^1U93 zSHyf2v}HD#^oYGMZPte{;jnGzC&q?*iei2F9l>oZGi^LVBDX*O?RWglLnPQn8H3r% za`v&P$<eajUPS+bWm8df=moZ@0IshkD_&9|uTFz*oON$H;x8GNx-{N*zytPI@79I3 zwO;2G-~BboT#)OdQlhBwO$gl(IN7W<67BbA_%4BQJ!$>9XyLnT^qP^_S(>h`FG9)l z;Mw~Eo;|()&feD9@WKSzykS{uunMv>|KM6hiNkuxxBnB~ABWC<J66siS^4n4hh@fC z3?4CCULt?^$8gSou$(q#`WeW$i#bO^!T4P>if(M;4~$QQUP&zaZ#1zUODqvArGRuL zqVimm=_~CHiGo@+uiL!xxDoRlQu$5nh-us>^l>p(2WjQMc!7robLUD&gF43&v{`QR z>}m<jodqX1pe&D8#OxnJgj|YR1nHNZSP%Z%(-{T*uk%1R^26LS<2x>aTSokk2~ttA zPib9KI|;0JH6fm1U9Ui|;{v_z{{KhJ3LE0)Y82I%mnv`N`6Tduj(`=tpCge&=Hp17 zBlq(k1js5qJ)NN&9Nkf@8pYF%M-_(ARh6FMG?PkyjnyTYyCy5_J!r9do3D7h<bW6) zr{w~CoB8vlUJ+*;@l(>JaL>5R2lgUCILg|veA<iNeE~v2_=N>;5ZPQ1rwMUF^bmtJ zcu8KON9?F6p?NXop7?J&L8WX^bRD|Lv1WCo<Td5NY-dpcj$sH_O#I_Jj1tRtfBLw) zhE95Pj!=Kt;K{<lvGHKswguxhfbpO8BvGnQ&<n4;8#`y~yV4(AjGjsP%VA;%%un~e zjfF#;hH!o4`2rOPgMVtm5U<u~#pp0N%xS6`#`FkVoL4)HteugYPw7SN8O6FM^dv1# zBd-R6RYeuo8+1-(7*UJ$S|EH9B5#d6nv|i)D;J@&-fSo|f};R6QBC(@ld6u|EEx(j zKzycqKt&1X1lS3!-AKS)nd{5;c>;n5;eSXZ0x#c?z=WbA%A;iKC=JD(fRS|&*|oVl zFRlPNPZX)`Bz^Rv-?HH_y5u^kqmjOb%#<MC3tPN0{O1STaSZ^A=L__wC{Kd@5WVoW z)=qNF+d?%suxqD7=p3rgT${-j%xrH#ylVMSb4P&wT<H$5zI`&L%Xd!IUW(C0A;V;H zU;C(g$7A(k)Mn3i%uILiM?JNwme+vbf>1cIuek&R7@3}c(&EYr!`@kNT&4`Jsy0mI zljrQ__Sfhg7MnkNwj*X%QD|hJNW~03w3f+0#+n2H{r3Et1@<WZ-s+bW{sjCA6(Rc% zBP0mdl4DVzB1)|M=G?t=zanOB#`>aN(TboTtzhnZf^kvwRFe`;Y%YOfn7GlHeN<Pk zP78s<;`+7|adMIbTLeQ`%)F(~+(9~MW_Hlbj{i%~kAl%P7@?xjZk)0!=C3qRV39sZ zn|m6Tt;V{km>wH2W#byX@u)BW{t8?C8-|`()TUBs#O+x#r2)<#?I?J`elj>6$FHj` zTIW!D*UEjFnG&6jrsJ@j6(K^<^uMzI`s;&FVmw~-|08cH7+c+7h31NfEyN(P015G4 z`)q;H7q)YQ-~{S<xvSyDUV^*#=sRK9Q2Ai1*q0{up2R(QD>-<XSqb^C<tT?^r(4hW zR-x9Y4@x+8eIV9}ckwJov;2qFnE!{ez|AL3z<8Tg8FXnl=kZ`!>(p3Xj!E}91)o)B zfWjZ{qnn>vpoFYxA#$nJ|6`<8K34gr{SghIusEu7EjA^*2iQEd|Mr1&Bt}6vv!o!y z<{qCdGMGBN?blsq)Kev_8X?%2@<ku77d^=I2tcid;6I^V0Y5*z$Rj569&fwclrYDj z)ry9eINpbC-8c2e<B;$i!y(nwJFYQIsY}lDjI*)E=Tu!W2K9+T72{Y+L!!V=iq}x} zl9=Np0{!JOgl?e$5%!o?3yo09V2DOjo&f_YLs9xS?*D^!lnTPd<z&y=W8RH+jA1dg z4%K1AF>*x-uZvf6#5Smh_jtW=8-p`C17y00+6cK#UuUSz>12vmjTw|NC5aw!3r?a! ztGhhk>l_!^WoLr{PsMIr`pD#eg2B8E4CVy?go7akfuqoh&mPO#g#pCM&pvMH=t%bv z)5r6e23<af#o6S(HCdC!=(ZW-D-1_``n>;GgJf0MmSn?yh>3J9`qw8Yh0U&&@+*YU z1_3nyal2M-X~Xkx6&wg;U<>=<_~*lG7W~-SkCn@t8aDtvUwEvdkr9oBg$3?tR#w(^ zlj)l7)jK&CCEU)#z!Yyr&Y_RcdNuw|uN3b#UbGx4=L73S4^kjot(zeQAu6(tmvKs~ ze^0E!0zMpQ?G%k*j2k@hjUtyX+1$*2UJ5Nu<KVsvr|jrniRZ~(NmXM$@}*T1j%5#B zh1npYQ-DBGPOUVk9eJ=4PIpSV@)1`pdP-0s@1#}qL{-lew#P^W?-Aqk9du0%jhZiE zTLrPNQLC{`uWjNRSU1s_aazyNN<M%7B}M*C`B|Pa`w_*0H0~iI&k*_z{lMU$o9zeL z@H^Npx(wl8;kGPE`|TFUL*aK5JgMrOvR=9**7|_{``wj8y<!k0z@YEi*godU@r7C@ z7lv13zah$}RWYTm89zpNFWn+s;gvHnnDmeYDlQS6NLvM@LO_f%d#bwYKlLZZpU-*k zsOv+q_I{65&)w1Ug)YV0Mt*y?B>+p(_1YDvlO=f*H8Ri*>>-+TT6)^#Si9JxMM-JP z0estwCLubEKdb_nT``I}+1V^SQbDQZ;ar%k*g9*LL)^UATI$Q+qQ_pE*p!Sb>Ha{h zm786C7mDfmqI;DcUrkiMjGwcfa?zGja<?@{@)iV%!nN*(>)%}RwyKdNddSpX#LPG5 z62lkLgTWpobQpryQzzjN1Dx)Mt}L+*fP&|4YA;VJ3Ihxl|F>iiCHA=o`9#Alh11?= zBVGYA)qA{{9D&cH1{u;e-GMsS@?MrG(l^0SHzUd|1SZj7zSk$odYXj#viPy@t7H2` zzZKP+dFLRIH>6KIoiG$Bishzp&Md3&q8g>FozU!xB>mI(eSD0BFZNP5`hY2XK{J)@ zw;fKwqJ#|SHlIjSu}v>GU$Cd5gpY-@d;G-rBivXBj>_k4mYEsxIE2Hq`K`C`*oUKg z9%T^0kH`(~(7sYDToH}c;?Sq#uOfF``lp}u!`4{s%T$g9`gF=qRusR{yw;0V!Dr}| zfkH9CK-g-2YFK{|eJ(p@3Cvy8d;a8hS`v8nSadSqwk~C|Kb2G#ye$=HcS;-A9}{jp zbLUDPFP0)3{tg{9wU^Ld9o#M=r7Zzue{-z;(x7z?YgpB}9sQ*e@FYfInJV>XKUIw% z&HmhT9m7&QrHuQ8{i08yhnFodf=q}cPys_p1@GzJy>zd@dAK{U%ux)ttGa3o75069 zMmtb{^HiK6|5Z8fv=avFL$eQEu)b7M){Bh~ugU&rAjueiUhvufW$>{B=h58aVe*N` z$4ZdI0N{-pzr`8cU#Qk~w{`I<IYdFSM>7^Nt8`VEO!jVl5WF`fZTuef>3q+j$hd5x znr7}?;Ti}VD^WP{cjBwHdiyOSKd_Ydx((i{{kkMH*=CBj`cV$(;;-qzrPX3)A;AFk zgb|8sEBMo4UJ6IC@TPYh^UfV@vLPiHz+sEp3VX?z=H<~9YOJgJag4y}aPTCKl5sQd zQH|UD5RTI#k=DG*t9`ls+B{fUMnRqN`vhh{wsMtDWXpF<Rmoha=PfKF)tlF3&D5SG z-ySXLd;2+gtPUlj0lhv9JK94j`0eeZRH*gPOQjofpO^H+0TbVu9&A9@)k3S@*L4%F z+OY+F*MOcptyL_<6?Ud9&Z(Nt(kg5iQ^jw9P7;gM&9^_Fw-gbGHZ5PZcO&h2L#{*% z$Uj%NG5@CSDYPs`?g$>ahiL!o^P~>(B}?bkrB18G6j99_i!KdOkq|j3lbC&5@#D!c z(7D9Z4}%Pc5}sfXN@GS+MA7=ckJlG+ki}9}{A+yCizIQvWc6<3&90p0cW~m@`#fe! znstt7i<w0`GgIcP|4Nb+figFM`~iL{E*Mu^KLZ0vb{wU`(*xi7j*V!gs|0|m6_}24 zfX-3&H<5pT9;?u#k~=R_-*qQkum;uWvafM#;YK5W9?@x}G$BPw>Tpk=KzI6xJ;FQu zrrighUQpRS?p;u`sfPqK7<-D!xOmjtb>Wq~mEkhPKtrXP+dCsg(M9SFGZ1!4G^;_( zG>geghjuvwEwp{8v^omE!{kMg6EdC8*pEc<ov<FTLlV6}{}K~?V!f=UbFOso>s?W4 z$4WWtI{6sa`MoLqUdPjXt`WuZ=s58gF}VfPS<O*c(<V=CEYNE&-X)a2Oy>P;ctU{b zo8l>rrJS%$4g0CMCJE902z2+8^MNM|Ot29N!-b{7_Z&{&>OHh+g^E3nKak1~-5xRR zO;tq}@)XP+ud+O$HWfVir4$>V+cw3|YFoT%`<_t_T{>=*qBnCy8Z1`jGrCi?G#cCO zM9Q`+sTH|}I{kP6!%enhLl8_{s4v7)D*QrIN0%{u^)>1yIT~dEP$L>*dpn~vqEJLR z4}vMd2ctXg4hm3wWoFYwq8JnRSYM2kc6~2_KORv%(4C_~-=d6yz~ntrZw;wkQ^)(8 zB<bo!+gXqLGturSQqw`38;H~!fmFuN{Q-C5%0>*Xm*msKv0Yqi(B8~&)_y4p?opU% zDKuYGZ`FSYrwj!MQ_8+<k2dMIrVZmMw!&5Pe$nwFT9shjq>%85QRQP_g*|^sIJR?r zSzo<n&@sbBoUXm>8%DyTqTo~NB$#>={p@DyzoBXCAmfeBP1e@-{14L8)*+@rNosB@ zYzm<m&rij(9JKTKr%Z_33ggc%T0KtS#m5+PVpG0#fSf;4iS6Y(-s#$zuS&0Vh#Mjc zHbuTOJ4+<mLaC#86upx^zai@@qvVTei+V5lR36mVjRqPzzhA<4q3TIdF*)^nN8M4U zT5aSwFN3*N@qB-G<r*oE&&<~MG84>RC>)zStV{ZP2+;_CL!rE_DhmB$dA-zirBvPh z^l>vSFR)Cs8zU=Q??advT`c;Qw!}Co^{Fl)7dZ<Q1eW9anEY~NYew&?rb%*%cB4|9 z#s?q2WG2jFySEO0cdm=LWqjY}mM0^*?c3i*v*s{x&k=tz=ENqU_nvIC?Chsd*?hq> z8yCS^fry`$@8TOCcjQtP8dFd^&g&rrW69!=0|10xKb!SGK5^=Inv-%*Byfu+AxPaq zX-q*1dGW<_!_hX(DrEt_R8;$3VcZUWfH`kT1H!{LO~NzPw<qQy?~0NYm^k0ke9o$g z7;#8NwFWWhyHWJ*xQ*%C+|%!!>3r9ubm{t28I$V6>P|?=Of>$zZ){y1{XJngrGk|* z@WOfq-&mT(@RnvSYq#oGHdf7M=cxu;P<XZ{`OKsN$^0F9Z<W%7ufZLLQg30>YJh@q zj2iU4x+^3;^3AJ4<H;q+bwj!LYaPPiUsec1+?MnNaz^6MAEn}K##5x9^{=eF*!fee zdGy(UJ++bX^7#qZ*8sDPv*FlVE>OLM0XEYHBG(USAO5^Odb%sR9ewI{jY}(VIhUEh z#!LLrBgUp7T&S}~^ok?lDd&j0Ims6qrTn3YP4O;UYlQEMidP=+^sXH@XZP`p0v+es zXWv`#5@zCTwG>D>NobTL?Q11VlE~lDJ}_!yq5h8hf6=uyXBx-2P5}fpROfp@vu8$7 z#Ma)Rl;y78gCm&)3@WS6jh2Gn&NVaPI{iPGRTsF=LqA9+6)McTJAw01s=S!Q-E{&q z@ECCL`T`|>7Dd2~`?J{+9=V+r_Q4%U2$#@4JSninW#p{`h|&~m4R*u*tmf)_iS}D( zL=3-a?o<5}Za_x#mX-*9i3^}^G5f8sR9oFzR5AZ-;BRMnGe<=Qb3cE2FjW<+70`i> zywsuZ&%ph|91HIRyA(EGP;OO($M_j`H82wrh02$D<xnbUlQZ+wrwnD|O@7lww#*fH zr>j5&b&Z=SzT$U|y}Xw`qbhX0oduO;bWOSxIi>ft`*sphYE7qVX@GhNSS4JFEbJHw zLBJtlw~uS5=B&gx)zp_O_<I^`;seIpNbvV#Cob#H;`^XWHKdQnr7l21yJB4J`PT_7 zalPWu7YvU9Yg`Nd=vp38#L);oQZa0DZ7=QYcim7LoNn$o+qbh=kAnAl;kLN7(_j)b z7N{^Ic``HK(8~pU(arc+Ik37SFm`zvDfxeCfG<3^<SS*^4J0gs<nt4oE?=|D#OG0T z=>$iEw8F8{Kggi`yCL-cw*;C@&Y{W@Zvaqf@gKR*vW;oIkEjgj&gf%B-ZKJP9=)bl z59DF~<x*9vvty>kxyW}>TfNUCGJX|q{q5q(Q(-{+1(+0S%5;Nm?FuA(3wY01of3Kv zG_`jw62E`x+p&L(^KQaz9e(X~tOGfPC9D2px-s5o9tZTl3dR-|G<|)=wY0R9RhWM2 zKwT(qj_Cw)NwPl9)kjA`RYm^ha25++*h2`t-B&;{mvfWW)J~#v>B4$&Ie*d_S-E1| zA4m&)zvHZ*^TyFKvzg4xA9+Y3E`tAj4zGZ3Brw!tCI2)O=L3Q3=L1$#^)|Gw8vSho zI`(#2rafOjrI&c`sgwfA-qR%XT_@z%?;Kk4i$HY6*u-$}E}Qg#h9s2OAN74vf<nea zgae1NaQElxXEKQ_A;U*xZ*YvyU|ZW}ZIDx-b;yfOp5b{5{_`KC>_40$6n^^~A7>k{ z2F&1J+7RfpVo5CGX<<9(NI+ti3GME1nk6?E`Vcrz?$K37BW(4NdLtN>EI&fsiVwt` zmKO(AOw}dPb%i3|pMd3@a-AXT-KcyKZ8dMymXbAs_C?UdG`ljql<^~tl19<(nJOmm zeh-84vf=sK462hSj;4qg9-5QV#+9dJCwy`>p@zTxWF24qmuGNXXdy2gX@t5oL0q+( zTA>);$P|p0Udj$Xv7WRl*m*L4#kL9E*CUl$2)y`uMJ=%`;7_#8&Cc-io`HN*@<1-P z!!<l1xxk(8{e5XVLGfwR+i%o}L+J`2kXV|2Wlbf;?|W&HH}h($h<73HG%vpR?=KIX z1mo6KY$XxtsnCx9JF@s+&$~!i@Q?WUYdw;guzZB0^{OJr(^`>cCBM)v39NtB=(LU3 z3yRb441&d!(rp>EdFF`4s(B%WxE!oMd9a?@krtz1Dar->4~DNqYNcrd<$*Vi3>YD= zkDI>`oVSwnYAanck6|f!Vr;pjPHZ~NA*~k&;rm=$wWcZ-s1E?1wUv`NX&UP@_vGvt z2QlATuyEqY_AhA6QSrgNxoS#j%cV#{kAzyEOL-1_5ZR+V_%t)4rAATlnjtI@o&Frm zi=VsW8@k`Pu>IxL_z5^mD6Rt5eYez4t4XD?yz{~f(i3G3bG(H)cEj-M<;ynUnCjUC zf2=54fwqJ%m;*~OYo!H~I~N+FN(%zCz60Zep$;6rk4&F|#3uUvw&3Qp8yl>^J2nG@ zl$0|mQ(@l6EkEO(=VA5lrUFcVp{T2_B_qAZh6;ggh$k}QrT`;mj(GZSqcP`~_;m5h zV7-h^#+$0*8l5ocx<0-yF}ICEC_K)oAy$I*Z2b_K2*1(Va;<h_kfz&M0<ndpbc5qp z{_u71&VrxFU&*n1;)qp|9ZT9kTr6p?Z~C|Nh}RtAZiYzTrzzmfr>3cvpm-8oJO1}= z#4Y#O7T0d`08S3!EC54+CG}y046QL;!paY0x+Mu_qeXQKbi_pse6Q*ero#rVCRpV( zv(wnoUmrS!627gjBB-94H>cq*ezqp}FIni)_M?IOrtY=d|8!ytEj35~warXWZZ#kg zXR~yJU3k%%>E+n@G@$d)q>Z0B$$B^ZZL(6Q7_ifoxN|155kz|t=VP?A!(css3*RJ~ zYHy^cJ?H7aEIrt#wsne>ty1`PVqI3_rXkJnoh2M$Cqt11HaNt_2#&$&=<$21y|T8B z-aH|D26)}clBiMV_>U65$SlWgtAETa5P`B8dHZxi{$Bz&X41pm^)x*mn~8%b$Pmb; z#HN<Pxm@mK$%DQ4cq!;0=6bIfxBQKnMKeM=;~Y1`=Lu)BH!!rMwC(}F!Eve|5TlXB zcWA}_C6*Jwq7reOY%|C-W?<(BJ_fPs7nim3Be;noRQCN3v|vjNyEFqBj;;{t8jb9d z-71r)LlG)x>*J4oyX&^LydvMzMI69Zs8opBSG1J{c3npDhIEp6NVP75aBVQ*?6T7z zwpSM;fj~*T7pC!f82r#TQ{8lFoVO&#SHgsep|>!#dzhJeExL$>{MQSxGtBXDbaW-k z=ZB-^@?+sH9+HGUVGE*BkI1vUj?vNh_d?UkoE=_|J9qD4WktSsRB;83bpb&4w}#)+ zZlr$~asM2|qUD_I|2Dy7IEcWs3a>Vq!j9_BP-8<<FKZsyPD3w45MhoaN0VJEgKXDw zal2e9u?>1CYRXod?cYe5C?2PtXNL&$xDnVJe*I4b@pa@aw2;#k+uUr8f^s@Tc^<?2 zoyrp6O$H{9%=CrNumfAfv@YNzn85T_wzwKk>2HX114l4O{#Ial;+FmT!q29E1mgV& zC=IeS!D=XtoUjkJu$35U!YmnvS+fjXuM2=miBQys28Gz)hlXp_g)_nueN7kTmKgk1 z<ncwgOay}EtY;zpq3B%`*}=jA<F#ZGmYBm?Z0<PX6{LyeF+&t<G{An(l;pnZGQ{t) zwE<g&U_5cShS7(O8#j`Df#FYTVPfPT<`}-m-Cs+46Rdj)O)y<^N`ISfoc*$ttpdA3 z?a@HpmBOH9^;2T+V_z3yamC2>qeBysi|3-F2TpnK7Y)(*Jt8NnemCbsGLAXl+|`^I zUPRKy@S~o%0+}$t1TcHHk}+!2k3G_o{6rL4a45<fq?E%y+e|U>EtZT#0iiScbCb~4 zr}se7zP@s+cSG@YCNPvrq!BKq-96L}D_~-OC&QGg%<hE=O5D*&)Qx~dtpuWhE__JJ zb6lRSn}mDmNrG(*lSfB$aEJAy(+^?b6DU;d*$WgirWpJ}0Ia#r*<yfCWG@tQHcm4C zGh`e&^IfGfaUlBWKxwF_EpO9>GY>7jPBNgkp`kF5Qe};$pZWht+^L@?w{Zg`w}t$4 zFVw2E=h-Eu69Rp(D)yFtsyRhD;|`y&W$aQ`I#@oU?s4QednTyX1Y@W!?k_N_27tXC zU1}=qo4`J!ccwyhqg~H!{#i|k7kX!S-mT`lBFz6#V!3Z!x9~xC;b#8V*DJ`!w|}oP ze$eUBxQ3BS-0Bfp_=~M2dk%?_t`)ZigAKS!cY->{xu!Itj1D0fM`=0#SiO;1!jedE zeyX`lCgU*I<J;~B^&1fK{a-?J5eKF_){IuKjS4=ih1G>C#KplfI7N1%IsNMrdumIU z|9*Pi8ga{SGkZ4XREHt`fWV;*?+cIgeb^a;b?@gf+YisU|2)Vzet>nkLYno3!e17n zC9it#jNvGtzis9|=$4Z_{x2`6kXPwc6SRd9hlR2b%6bQ^k3{$!MB<gA`icQx#{!R- zvy1NY8A+6%Aq83!5RFHoWL@TS05(}5u@Sz>#;54)j`QzltPutyt?4aJ#vB`0b^AKV zLY}y$u<^j$L=E=T)8yTM8I6bP3+wBLs4ElWc{>+wH?*N<%8@3Dhdi&j<vdDG9TCU$ z`ar=nmnQWWi!}=o^I5<Iv%D%|;NW+2<1gF(#}l}d`Jl`=1J$_^?)d)IoC1r3C2I8o z>_Q}u?`cUT=h?;u(Q@1`NO@a$)jhTf(sf>mWA!h?%20a;tMH=3NE)rQ^=vErh|4Qi zf_aX>W}+zNgl2}*<l7ycp(UU9wV&9PP=Dyc_qdKerzM;x`vB~Axy)}o&AO|F^wEfq z*HduEdR~ESkXzbxb@RTXaI?Un%FXPCR1zs6xh)L|(8DmSp_2$f4|G&ap$O>mr237t zK9VV0{xZEC)Ah<qp_t&D?GZ!%iX!5U61Uwsmb0stgw-$HzIo}{843K{7NUV$tCXQ8 zM`!|^RWdyTOf{_g{)pURFJ}kvrAj6+VtgbFC%IL*up`#*Di!WddZcq%?luoUvJG2) zlepM2-=Ab<(`i*8&LR{@{k*9=^g_;D6UX>O+xWJuS)EM;%Rv^8!re=&nF<)%Yq)-i z2w||MZVmrc+Knh>8vqC6HIm!$@4m*s&%^ei*}_o-_S15cp0RuVFFB=AQgz%ouJ&nn zIFS-a{v?Wy(am`MAlrxLZ|>GoG!xbQN=<P7%9FbN`9ACOGh5W`eAzN~VikESu*j(u zIk^G7ahh2GeFwg;Dq?(obau87=D<O@fWuYw)$hw@_utF5G&GYJ`MVsvjkwbMzpsE} zZPra2$l*#`3wb=r<idih&$r3#vF#9RW%Y-wx@e1_9`luDwcF8V7;M1_SI7vW%MOyV zZw&lq0L2bDBNYIQcHfT=r<gaQ=nm54dkM2FVV?tF)zGO|7}h(OB6}XBE0IgOHDrd1 z=z=Z!mx=w6ba_|q?($HIiY8j;3gB2dsgcB+`Go0Hr4??Ldvvn_h_z|Id&G`kXk4CP zYpQO!QpE33)x3P7p~6U2gKC+z@CaDaX28!!mnE%$<*zIyM?~DED|SAW4S)5j{t1Wd z=@?Yz=CGUi2fW7&<e5UJ7H|{?YD)^yI$SUKfLiEA%sfPl@R^r~Inyv4K)ph3ON|AT zomE3uZu(Xb{JjZw9)&MiZaj(Jo8bBGLdKElYlVx?rID+fi3MwpUb)!>cunlRiB%(_ zF8mQ692FC}<O{hW+-=y<`<2;7;twOv2ygk_(3yI<GuQrLL(Zj-jnrvmrpTV<)DZ`- zU7;Mo&?&PzKN@goULFCUkq+KB?|yj*F*cDr^b5tawVI%%1jo*cWU>knDuGfp5lm-r z9DL4fs&(>pHfQ+y`ns};3RA_$R^Se7yD^$H#wD<dy>G+t`(5t_6I&g4vQkmbCce<> zMMrdaodw?_bCSxRj#cfXyXanMSAeIT{FO=o*>3XcW>$XrQ=pOs5E}}^k2DuIpM^7p z$uMLFB>K3K+Ak9pRRs*+E-3DK8;3G)x%38lGHPCvlRE@Ue1mpQVfPAmo~!*9JV#?! z>qc#|&8pF?NT$Us!uLXH!-zSxrN7VUP;NPe$2@#NA1qbR9A2W3>bdknGbgECwW`WR zx)ynAQCM3?2!!k@t`&T9Um0xv<v(6aNkdLW^^zl;{9X}1znoV%COJ1&<v__O*3E3m zxAFM7<US+B)8`<wP~naSekh0VsMAwXAkBVFk$s7#%-#671X@r;{PBhkUtSN%j?>L| zp!D<Uw-%4>hQq;iYj_B66bStY*aAzC``fOXLG!-iz{?YxZoi$6ugN%Ut{U3L?F`SD zT$_nZE9>P66Jo%sF!J6$Oey?p-Qne{!kOk3!N%%}13oghM>=|hbt+#GeuEZvCimBg z0TlE;D2%f41mUbjE>8Tl*ly7mg<3^qYHp)_vLoYVXR@P@KK4Zvr2OXoJCZMdYBwrf zGkdqW1;}W=BJ%o^?%V`X{zv-Gi7)IZp#p==fmPy(d#$PDYDnYGbK1wlVn<Y!r2N4F zRo^S+H^?RLz0`+}HO(=r9Yt?YYECsficEe|LxI>zwiZ6xDiOolopaYxsC1Dqne5|7 z$|&_am0rTZ(TLl7ib(ODD)_A;;;b=fIA5wrr5&AmaB10Px}L_+0z!02O3N2?Q+Q(C zm6&GM@ltqQKCy3f2u5Sn<x!Q;6y{JKD8g5?TF4R-c=W$&cPZ<E=D{tsWz)0bfV6`S zAu8tYcWbxudS}}3jfZ11i9WrMCSj$thn;HZmT5tqjD!(X0bjPAFuGSzj%;a#o&4w& zX(OGq=#*)jox;F!gOXOVWxoSv6xu48=iH+0W0D*i5}WDtj>y3R=QLxsMO{L^$rUiD zOU&0@2!*hGT*?=E6E_sDN3EEhydOHR&pPqrRJAu<=a|}lab+okm@1T`;u=$5NEfL) z5@ojm^?b9rcFdW8fs1c_(NL&gxeAvn*p$IfbN4cNO%4bv|BLFRVF5;+SR{hGXvS@% zAAc+dX9-c{n&XXIw#m+JXs;j{3I@N=)oT%mF-P0&`|UB;I&f4p;nvHPPJd>^<q0Kb zvuvcl(%}m%y+8j5?N8jm%dGDhIB}y1`g;TA^p%?nDkt32IZq^Qdv~CGH)uJoVEj<I z6sp6F1x`rNNEU{*)h5?~sE**cDpIVU{!deI)g>`=d)mY9NBFIPjWV#6m5-`R^Xe8v z$4<-Z)<AbjLv}Nwze|Jkh@%&z$@a)#b<GGzq=oh{qQ|CX_GqC;r)~A{l2B;NbaEui ztbNL2I6d5RNn`1?K_5(u=q&|q7)%G<<}tdhr#_?vQ*ic+KPKn-uO35!ne#mM`Q}f{ z`pUu8y%y_D`uQu0swjCGoTt!5nnVuTv%~glo68z!3uSV16uN!h?p$ydq0U%e0%Drp z_!5$hDs-{)<SG#|4n*H=IQ7I)?b>BwbARXfXD8YHQcPT_TbdRKVb%=m1{!>j6|uvk zUDFo@m0k6ML5(SGqDHV0wYGi`8MK2)>alJc!BQ)YVc1JE`8(ytbGrWAtxt_fQFH9o zV?`6rj&I3IJFyQGl?#yv?U!0xW!o*G7mwTc!yPaynz6pN(QJYQIastu`^?q+b{vlW zF_-f%iS?Lk1|V(Kv+t4d7QW|ae8KAbNa5Hu5zU$P4<TC^R9o(9VqSd#tYiP5YV1*1 zjUyL=)dqC?BkK#KJohF=*2R}UF?{BQA7P?4xT_7Q;x08yWr+Ijuxs5>V=fP(tvrw| zvhJKiL0xBFjTm4yv?Bfh9`JCTj7uiYp+oS$0ORl%r#IUSJ%L>UWHs^wR+snIy?bMD ztxA^#;y)g+A7-p`MAwlT3$Ss>uvVe?qc6$9{IG?LB#nRlH3*Yw?{M$Q;V;ZF_d0SB zA?$BgxY;3f7w(JG3^`hdXL$uH6m>#2Smwuk#m_yp2_I!yuWs8OAlxH4*iHy(!B;s6 za|m8+@5lGfW@y3vnRl<vvvH$3hCEou6OBY4yM9k^H(5^X>Ah3d6Rr3`aW3?|lEsTk zGZcdzCzxC4R{=PU6)HHz65dP?rntpTB3xDnk(*|Hb&KHZg7&a)3~C-=jUT5YwxWwf z^wSFRV)a8iRD+_}jGQtys#_(X8^8`o=xbA+b*|1a>t?QVpI}*iL!-D^LUKL9b$E8k z-asFx!t7%i{etHD&NFKk3;B)gX_{h1cFqwM=kSrM`E>08EL>#FgnCBYHF9|~eCd0T ztWC-Nue>(8V-{E>P0v`!<9I!rjl`6{z1_!m&owah4Hew#TBm-`An+}H{s0B78>m0| z%{vg=SJF3|>YPGg%N36frSTDmOz>k$w--n|o^G$Am4R6B-WkZ{$sEK40*NJll)0OH zPK@+fj#|)Ipy@j&S&en+A>~upsrKAwhn%dsEjGUxN&z_DkI-z+u~vIaTvCqyd^sFJ zb$B9>8sK@%K$<lJy>mdN12><v;7D0xpY}cT$wU2&E6z8KT^H@Xub(7f44>(|AiPfK zsV<~_AdsAeRD8_%ECDyH63V4R0E<=7_g&_CIM5~}0`dMSEu3`sU#Wb{-QPVDxTP`_ zuCA276KK5U>!;uQ)W}#+N4=DTYeoY#6@rsYlyvs8K(n)s0VE%OMJWBp#qwz)dE5~c zZDiL11&klOeC$cFTV3Hajn!36z<Q=R`tx_%1PQuIaf!(ZuBeRLJ{A$FJd=Z9Ouo9d z+BT!}bmsvOIY;Dd5l(!(9~pmfmHbyaEpt)F3Wp<E{>SA|0)|%I*9DWrr8f3d)^>Sz z9Q6mxWY}OKWQsfwao;5Lcg(Kg=VBJFdVJa`h;IU37~lxs61Cmx+=wC_b}1WA=rY!N zPa3X@UQ7M(;}bWXFx#ESppnDoS=evmtanH=-mN~OsuMaG71?|_hSSJ{V^p(_S7yP( z4342^Zi0=TxoWn)Xc;(Pu%8{2a8EEU*d;kG&9LbPia?-WdGpc|(kHif{j}Gj_iA*t za!|#&B+#RC7a7z(GKL-e7`p0QRu%J79&g;`$<V6aTO9I9>qAfVVc52#=~Hv<f|Cf& zEAsd>@P>u6Y39lvkM$ive#2a|TfYcuP=0kPaj}MddNyPDaB}kSY<Y@mFcr3v%+i^W zwm?G^TY%Ztj*-x&k93eDPWw6-3*6qH?>~|GTIjZNC@f0~!Gg3#TNbB}Ww90zU=>3q zLa4qxXv3e_jSF8lP|VEN=Zo}(pl?qU^D1YaK4--%cD%T@lUO!!ez%w=IJ?>Q%{=#$ z*2bHxloR^_vB}lg<dr3+$|ZR;OBP(&CC{Xy`CQJ8kD14}!9|8f-{=U<AwUzs{5KY_ zRQOj8bI}|Q<UXG8P|T)fwFS$=`N~^(aCox>XPJ+;#_4yDyj<?%@bhqB3I?nW`IcS9 zyImKTn&GkvQ0`mlzkD132_pO2p692UDb`(oV6&PMiyYa9k(hN}a*&2zZ(A|=>1mB_ z3|)JA8Wj^#@|8!*INr);0<)ZGl&@0IbUai!TrG*M-o|J+)&&WBY{@cOGGR7h?9Rx$ z$V#sxH*nng6t9o!Lm{db;Z$s-bOi&JQu&kkyq`MLRBSyI>whFQ>D+g|L`*-$4nup1 ztJq6+zBgI3uyAxbBXgUt!!UoQqOHoIJQO9{-Dyq#>6j>rS|eYb0JuIM9<QXuWXOH* zG6^BGNkK)W<EO(OcIrsb4*Z4{eh{?s;fZ?v01xfV_ce_s9d;kHRCA?;2ko6GCEu%b z_wBWKy|&BWWmdf(>-RLAliG1h#0kT&3kHLDQ#u)87gb$r+&UF}KSU<0RlVNXvHhUv zu`pV{dCP`+(w8$WK?|%LkT6$W;6;6h77STaiJNpgMQQNoJ2}pWR=u;cnX#6<O*2ey zm#a0$341qrAgan?E{B7Zi;y?^au%lj2mAHrI7aLDPMv1rzrM#cO-#{m&=SPe(aK^^ zN^Q>jNbmZ`-Tbo3iI_hyq0FaGUr)UExZHSv8Z_vy4-FLWv&sdI$NV_{KKNAa&%6-z zd9=H=W{1O!RXnFSI6%-=yz5&S>8m;Glp;=XD|F_i^WEPyx0n6>#a5*H^h8{iINCYW zHY%F1?xK7rHK#^e8L_~CfT>pyBz~#`l0J_C-H+$V`9;_CyR?<51JA#YC9fD3K<&P2 za0AoI!ne)5bVLcjP)NlAH+QUD$h!Xgi{{JME)T{13qeQSIDMY6h`DcJ@bd9vr^n25 zZ)<MjW{+NazUJoaDXV3VMnX3qIpaU(SYx*_;di@|G$Ng1{0jbS|6PtoxTZz$MmV)g z1&i#UrqOiQs~RQ*dfiI&?bY-0JgdS;`S8K^&bnb80SX{MG0zHn-s%N|QHSryF(a>A zclO650f}dyL#4mdCwYW7mhO)EouIMEtG`D3`99W4<9RsB2@g#y5i6XXh#YN)trv}1 z!J3Wsip)0%TPEkG@)51|A5N58c0GK#J$!E6Y@E3CIb$|KxuroU-y-Druh=?jaAiwZ ziBiCWs38gX;yqG07FvE)#Ua^Fn4~E}wUGad9Rh!`W~`x{6V>XFrTd@__qVT{)#Xor zgiC#O=|ImA!5!f*&y`R~36t_c3v|<OQD{6v<6laz1FY|DQ9h5d=ZN`!B?C#ZH2O}& zzopAQvqe8ByDG+N^uqskS1IS78||&d+VIwqG>Y^d82wd5iJQ7eVi`(v)%N*Yj>V8* z#`VK&M8)q99yXcBb=`PeE$xwK9?t6v>-o2Y9}MI<$Pc=Y>pgGtA6!%EcUrmQ{+jpS z6xn@9;OndvY0I=blUK_LzNVhTIxEg(B|!N#?CXK-K6C7{)s%$QduA+ypUB{3{ihc; zdclq7Er6lX4wsXRMh?eb!W&h|1`7W$f_v8pNfIhZ=3p+v*IL*P(`plG|9O<YyrrB@ zZNe34JsZcrTW@no26<q2V7c{Yia2BPB$aO&Z_K@7uQcSXDmW3ai^tiIXgNwkPfV^Z z7gUM-qsoKzrOYh1m~jFJwx=!1do1;`<N)0@{U%?lvYVvP>r;UkO2j0E?elW){jWL~ zYN6>eJ(e+UZmhq=Ta6o;rgCzn1|O`scg1{Mak;|m8>ZONiXQ0B2IykB$oIQDqv6OW zjSlrV-_=EKd~lCHMD65EseMwVySLM{m%~F-q31-Kf-c>h??;>w;vi6THxhTNe86%< zVtyo(t_AH|xDDlQZprVu42a-Q$D4@k?0ktN^M#TDxu*Pi>V6}WhJ8~mF6MeaLv#`a z>(H`$m>n*2pKAA+*3R7jYw4=Pnry%SMo2dT(g=uvgmfdIAdPf~NJzg(De=&#go@HN z1Zf6JOqziTA~7UJ!;l`Z(Ky)n?fbsJ=en=!`D?qjbD#S@=kqzGDkW!Mj~VxRb;jRG z_bu-?-FiJ~dQOewn-{4)_3=F&193h4jgpgB%+zv-E9Z>;4bhns_1&vS^<#i+P7}y7 zfKJ^@>)j^z#ij-2yIWKs^81VNpWIO^MlHk}Sasd^Vcb+hKYZ5SY5u9tu~eCPrmHc- zIkGunR-7U+U^rqZcbIrr6l(>|e^420;E;2v9z}#&ZnA5CW8aw@A?1{`QO!EZ%mk^b z=uEoQ6qd=!In*jV-jWdbeFr$#`4sl_GsmUjHXx<v@i2}B?YbF`9oraiVekQ^Cu_Gr zS42BXijx1k*S2<Up7wp%589NO^rp25*SdIxm^P{85)$b<><)^m7VBt(r#3-Od(&XV zuR4iFrHQJ)@lx1or>90vH1tg4(9e`$W=@fwDI2u{1w8Tl$G~efN{ZppAY#imR__Xz z3*Ce{>_6@uVi#)(Y+P_f7TsBv{k~*t#^;t<P3+07^Nu3t9RSzqNZjHCYG1J0q4SGY zy)(j_k~Q?LX7>Fb4?(wo^MfI^GMsLEiqgP`)&k6G4>pX$vUy_rn*KkHw^>c<Z9KwF zx4Ic?LdGH-bOBO7PBJD#%h`Skm4@WU#>eP}7D;Gwzk73VS&2Xcsixl_X#Xht)Cc){ z)mmm7bm+NGwri0%t>QVc@z8HML2%Z~$R`$pfU>MxwEtsPKfii~rC93r`NRZ(&F<I5 zor6b>dloHRXXouHF25Y8IlI827YQXoPuOmXzXu_%e+P8?VWe)D;CiSzOGG5q+Gh*< z<a2LZ1QS7iulM*k$ypo{HBXeLoc4^_xo@#pN2GS;y4jbkfW;R3wYxL31y@(H9XLI+ zkEu=_$3~)5jUBbEx1?Njsy_Aq6cVY>-o1YEk3S8^<0%<3#c=Oqnl+l%cJv$lv^Zn` zl~b_QDKNs|-!BmU9FJLlXrAeIWi+D#=3PhzP3(s&Dpt+trk`3-g2O4)*d9G8{C^ej z8Rbj(SsJw0Y>oWuw1vMLF|$1&a7sVyOKM}p@T8;=;YCL#KSGqPpdTN(UPbMf0@Y?0 z+E4Rnq>JzO<#=qy+sk`dhNrPLn0c5f@KjluJfLzPB1xSdqLL@HQyx~tTubmJ+liuj zAd8C34&hUPB^5+k%_{OW&r-KF1!ZWKF%j$-xR&AyJTc+N*S!ze<RVB9vszuQ?r#ts znQ|?Xdp67(3^5$EuPQ`4ciUXQnVP}M@Hp0Jx)?ul#VhM|zvqzUTet01qg?>t1<Pd@ zbNq6w_LS>cgi>z%vl+U%;grMDyx*az<wEf8QfzPYhFGA#w-WMmxTUi*joy#yqnBm$ zT7O*Nu-KEmTLV6r{<53hNso)BDmc1?)MH2XP(LKCPJfaLxV;^SWAS%D&poo$q#jLF zcXVl?NQ}A$7T)_UA&`jI2W?RU%&V@a(v$^dQ&}}sm^%saVUF0CGqquVs&`&i%3cCn zJvXS!kKzhBXi{~o;y24^Ai9d@UfriJ(0OKmJr+Csvq=A}?0OD5urN1h9a-UuvI=f6 z@Ar1wfCU#8st>X2`d&fB*;^K-fW(H}<&pa2<hJFzHKm!~OwfXCj)+Yl`K`oTSiZ)d zYW|jQqX##4eyuLZ;(7zaUWL{_6myiqGAaLUd+wBzYFS0p7~j;6^Em_UC1>YeuFslv zA~oTovF{Lxf%cX3U_o4U)lpCF3Io3=+v!+}U#uebQqe3F(bPS6D(RoBscC~$%+RR} z$_o4Tj)&vg0dgu7K((5k%H!uUUPs`3i(||zD=o}2{|M|p_{s(yawaf-xp7ErTN|yH z$w8x9*_SaUa1dwB$4Dmd9%7(4pP`_)80)B##+I7){@;!7t@B%M!1l!WOi;vzD{x$r z%Awtn0spK^5Bt)6hFK{$-aK9=X_MigEm}H`aN;)mA^}Wt_=GBkUXSEy&F{j%OSIs+ zr)bj`j*j3>_F7*Is7ldrc?Go)KY(6PD_!t4^QhC<4l-wU^|kr>cqni)i$z;O%asQ` zA10(Lc-cZSoiRzMBEgQ3j|^xhxUFovcMu%asJSY73BuBz>>oxGN7PpT-{Y1RH!z7O z2g=+|EbE~UpGSBpe`q{<QJH#SiOq4PHlRT!#&E%<r2qIAJ=X?N1_i6{7E`C|+AW!? z-=GsaPwl84`aXY8o+i_N-u%+|{7-1T<0c?xTI|e>fuHDQ(o>uy`|xR-6lDu@n7b|) z1kHZ19-LsX4~)IE^TWwXGRJUHzWT==3vBL#;R&d}R4X}S3V3Nw)HmxHEcvC!Y1g7O zd9q}aF<&C%_ARih^|MWCqvupN!+b;OI{M$vz8x8*m@Aosj@}q`VP!VC_evKLUeEby zuqu*$O73ui+i6P)yi)QW_2ns3%&9gas(7www<=Bd`lWELu6Jr^TxQpC*8rbRFYvY; zx)_a0Dq^gfnCr7l8R-8cF9vhjwTf_4XZ5basPFEr2H1|Xe3YsVcC{O{0c+pVAyBt& z>jX1%+g6bDr0Vg;j7TxCMw{S`ln-?)>mKU<Yw3p#GW?UO)dg_bVv#SjuAU-1AN~OT z>N=D2X%Z9Jl_E1=)?=e7vUUOGyKFnh@d&$>qQx(#VaCxoUu7Ej5ue>ObP0+{!n+%j zD@MeCpM+zZ%EqMP4SQ;QOQIOnoHnbMlXiGP&TWwXyI66k%LRxX+4tFWszoo%n?S=F z3=vwHmf>_o3e70+ris=_IykqCHe{wB>i<|yS@!DRkV1`qPjR8S1CZA*$N#`jVwl__ zng4|jxz~x!ZC5R9)tu)KavE}p9_(m*iz53~yy=`a>QLH~C&Dfdv-iz2cbqEIXxnQ@ zE;-;?@2@`N+mCYGu8vcPdJ2hBtx~5PYW?hDqVtR@T%fM<G!}ZI!P+t*D!zR^@;ZHP zeF<%GDdw)<-7BCkrfEWF2M+<T?9udLx%IHRzXGg*l|;dB6GG2h7z$+#_sl<1h1gLN z9>`u1&Y)T|SNu^b-<BfJTOf0YjUKa()aZ;%R_*cvQZ?ZutB*I`mb_;)ENW|+NCeqq zfu%H9xElAZaBD8T0GD{-KajD_>@y4|UHZ?1hbCt0Kn;%@LTbeW6@UD-Lt68GfyOsF z&MWpE1`2=&S!MUjJ8`c;J56-V37%{g86SP|fvt?`l+GM|bkF#L4O8QCk^E!^FC&yU z4P@`o2)q1lh&EG=fhGA|F$lN!J`3EAWQbJhup<W;jL`av3#C7mPTtLek&C~?w&tZD z6wUerP#*{HBYI13F^jG@GMuPB@|iA{&d`U&#rqdG1!Gt9gg_ylOerf}P(~gq;n&sg zJ{R+8BkyMOY&PS)ay88Ax52laxKwNpuxj1(o?+v>Y*VWJy}~O`QBv@7rBFvlpWj=t z=GZyjK~(J1TPByFP2y0;5|DS>LmvH2Vvk86sg`Rpv{l>ZPf9TX#~P4l!t#@;9Jl~o zB*Tj|r&<6z@7)#s)(LT8edDwJ;_|8WJ9WBv1BG7;ks=~}tqrdD6f-s3i?dx6`AMWs z!6UQs;Ehvw9tUmEVIuW;*q-H8SFl~z^x%(Qj6yG2##UBLg$^uhz4|9h-+FV}J!=3c zSvIs=vTp<uCB4qqpLt;KRDX({X2!Mz;YY`pU9GEL1c4`MlfbEyI{nO|Ke2{VUtLwc z!=*Hj=XZ1A%SG;uk>%C_8tlP4Y9rOK3-*<_v!iP(c01*?T?=zG0~(gd0A6CUa>NB1 zsnJ{A7Ua{~emZzf!a5da;%mFN4J?tjjQ=@wu7~<LY{`v%Sv)d5Y&Pa(azN#j2K6_i zc6P%CU6_5sQ>^<1df`X5bJ~w@a{pxs+cSeNEiE$M_`5cy{&l%Enq~C{ai<gx{t?4E z$lBCKLV2UwjrO1;Rck`$s8C8p--Z)cj`Q?&^j5|tbyIt-sAlY(I%Iha$cA~z_2ml$ z1!svxZpPXuJh}6<xt?gnCDbhm%CVct+KANCJq!D^Ycq<V%*RBm0^F|oli&8uduGbP zfyT~*n`|1{5FM+k=ZayhUkJLjR{fE9c2H{uS*yZJa-a70sm4s>ae+Hc@70u<JYfl` zK(FDm(){h2Zyh;q>+?X+Is4u-qGlerdY^&U8eN~iDobsr5%<)Ya;+-*@o@2PQ=>mi zVqjtc5_LvudbO}SEAUlA&X0DASi8o>)Ae+3t7IEpR#wJWb9!(99~ekh7Jg9i4ur^a zRHi7?K~0v}J8hY9+@1Q8&iQ#<`V$wo{IA(5FPRWdkH5{cr5=DZta1o`%?ze^T;#P_ zk%nbhfjmtwOJP68S*<gK-0#rsU3|Zz5-4AFl@xvPp0~21KXgL$#%!uqz0`^SRd3MO ztA=*^ItHsHBn+Pz$+&dg+^8T;tdrh@dzZ2|O@?y?Yh<fxTl<TLtdz+2IN|r7MF<os z_}{WyU_T_QegyQK@M%P4J~UI`BJi+=BY^Pf*WDDP4)?w>VGoi{ydbf&TN?=%jlNud z^Hn50M_w(+g$4d_$*=66hMpg3C+Lc;_|9<DAVE?S!vlhF%ZlHkpgY#PsH3kUM!CJ; zUa{2sIVzD*fr`HGhe{uKyu6!EcJ7&S=BfQK@Yh_&Gjc$~zmkV(bDORoh)=e@Go;x_ zw$W8b4#1;JF^*`qN=ylOUIQ`Y1jNg*89kft+y2hzrV=<yw4@T`rmDQK9NxQLD_Ec< z7~h67DJXWK-Za{jja*Mmra5+^c`DbN(areGB<pA@d8OglcbS(~v@wQ}yPz`I!+C~0 zt6eJvu*+T_j+&0{8<}Rk^&PHwBA}pO`|BNpN;Lfm&aM?YbK{#vtiYZXmf|fVgKtdo z%Cy+bd@B|GZgP3K2oSw=&wGMr$i~|Da>!=T95eOFFb8{v%=R7Ja+wxbk(*Effmns~ z?`v6tA!Ua8amswXj!m6m-+#fq#39W|l`k9tCFt+Yg}V|)qf8(SG}$0s0<%d-l5S{t z!A~m30qXLyXTK~uw=%|8_*@8E?zugW%oE+Ya~Tk367UDZ59!3?-t+zswKJGMwrX2& zy<P4egkM?huY5I$H|ep^Fy|?#%T!OWZ<=|m9HDeTDke-7gC-TpsX07}M&Jx7d4bX^ z&+I?qsOjnyG_C#$xe#gka_lKz^^;LMtH&g1yClGV%vVC~=OEwX_dP!*SauZRH|nSK z)_pQ=V7KK+wlJ70GtliX^i&|8*{*r%QpHO*g$MJ^vS}q0F>Hhcwbtw1TOW%U3N<Nz z1eoc4xAVb7owxO5Cp3=NBAz9O_5iF`i{PH)Ns=L5%)NwnV+77feSJ$b!5oRmio7v& z))H9qTX0qUtH%rM`fYOgTWDmf0I?0fyrJj>X?#d=c2_GMkzW$&(3(hkTb9^;*7#|S z%=U!2(7t|XzZmiKt|jf%m9ws3Vl-|IsTTV~2ZDy-mXYtu%X_h-jb2CZ0cT57y$Kml zgAeg+0*E?!IUjoE-KZM#7h9~L*L8*@_w+(nL1|P;=nC44{eA2Yp)LRKxK95gHynRU z85_iihokFSu*2u~VPlTA(hq3}`LxM7-7S*m9WmT&VUxiW))-PLqZg;hnF&7km1(We zqS`xhgrx(EH$-wv&=YO};Q8R<DKUE`=Oh7_P$>R28pt0^5O1tcIi=7(IWUvE-*f6O zA<AYQ68Eg)s9rq^f~LOxUZ1M&Y&5o3k7%+`<cPmq1KhJ;tc_SN1Ml215bTw3V8&&b zmqlrL`2Ci5(*F;Vm)+%bn=;B(;LbGq+e&iSKVVpD-E<5C+@-yHI@5J+Pnqt>8{T)U z6ijn`@;skCwn*0P-E6a0lN$o>i{?EJm#Vryc2Ge+<)H&P;vR@*bfQivt8m|5=qjCJ z#)e_X!DUPt(co@!fm0Go4l44HVbd@S*}_aJr-979{t~z<EM||3E@)TwrJ}Ho<ZsTJ zHxmuf4u&s*I1e7wYM9mO5PfN_!0q?b?EyGOh01pyI<;T^Arv&-H=y37Ntikk@cWdl zfhM;1l6HMKS0a-5J`;p^_idnWP0<w}RSz{FJzrxVEEy$Et|v{SOCoh}{f1=xP2qV- z(K<4rQ8{9^b#*<$_Ok}&Y`gK>?!yK)L4lC`P`Jx3z>~Yo`50Og{7wbop10mcD(m1V z<hMl;H?lH~@fiq&u<T~4!8lCtRV33N_lVW)xE6o8K0ZOz4%^@(^SvKavR}zw=2D4t zC-lBx1W5BGgO=O}Rx$A33PBzvM2nV~Gp+Mk7q?6_??o<}yqC|3MM-lzW!@4e?|R}1 zXD}e8NyHKX3j;57;?~9vj#3hpB)~B>er&}S`?sHv{fnmc{`q?+ZJ)aGjZf%eN`Ir2 zO!n%!E647+l@p*rsSrhq9GQ#q5DSTzXusz_A1<csSCd@^`Sk=nXY@LSoK#@8IYBAV zZmWYnDx@%ba=w*`@tJ<K<u097@@$75@YL`H=)$-ohVGTwKO7OB6AgGnUrQ`SEK^O| zc!PiJjBgNDJv7>vubGN;ISRMbZ~Zv1f0cbDS+xFrAn168ED5~@G$dYNfAK4QIY!|K zwWa2&n{<$pwS9lv9$WGl5qfpP3#c07A+y|5hIC`WqH77bcCMT$JxifU|9}gi8?FBz z1<nH>mB(uFeGSY%9p0dD_tX)m3F{;%7<MRdqP8AUf-a+6zmZf0uE!r5FZZ{$t)OZT zp)E1Qi`vHtOLQUP!9jlV=NpMK#-$f;a7DpyZ;W1E6JaMhdya_nX9F&06hTok-<%&I zzt3rnPvcsOGC>z38T3G%?1SYMW+Fm+o7=7i(PWKrCeFTECxqHgG6xi7$Pe>Us>ANZ z`QVn(8=BG$Gz&_lQ}W!@McvJknw5h3`f<??ZrdR<pZ5>O)l5yjf77dUlNisd6ZBd- zRM$otG{ltQx4Rit25(;BiYyJNFVCrl6$&y%A31-D5cPo1<^%5(T{mk6&}9oNBeT;K zfSasa##3XXS7L}NmXJ#XuGedkOsUz{iOU?aD3|qi`qB3X+PSlH0~;<nCL&7A;v4Y> z1tcpQ#F<^k{#Td={vRLsVXhXp$E}u6r2-QHV?kSu=cUk$j%<HX9P^zQyf;m2gEO=d zzT#`ORaadZ^+2L9eo{pT<N|En<*QLT-<I3XDkLjl?~5PfZxl+@{89!pm)JU{Zr%nz z=RRi`8s`6xe4aC0^XHhOxfxgk8uCuua3T)6{$<fwS5mo$mG_eFgSqp6EnD{wykPRo zCs&tO-D0`iD`4O<R;FKEfGj`0y|Dts1#;0dK!IAc`5q*br929(gmu|#P8$;Bw^1hY z5nb2xG_8>V`;3?A-GU!~er_D_8+nSg+$_X(MVgQUk2bAld%jW=4!1gg$qC<>eiOIn zDKgGlM~k=ChGZ;<N9w;!InnI<IEKQJTZM1tb8gd6CZ0;w_BN!E0}s8f|A+Ow8Gr$L zxUUoH%Qm~sp9%z&^!UZE!;}g*h^F|R*!qUBQacN$?OW@|17p(e5bOPO`s4E%9K~hz zUgNn{{elOlWy`p7UbadTr-`H`QlqVO%4jne*VRf&kS{{-a8b&KEXhZD%Ly&pAlF?I z)U1de+u#7ByNU_aO!oF4AuU)Nu$9{QJeTc~{KF%-3v?B?B(ibsa)ER-0J-CHoEXs5 zJMh}+DuaI?Tt@(B8$AM-v{ARX4L|gru_lk#e(9A72)DLAkxYvwWj1<BdAOe9#!?z1 zi=M;#ffjns){qN}rCO0y#Od6_PN}Gl82jR$RzV1i9=#ZFN!rv=^_~F$<<rIyvwD1G zo4zl`NxU(_Z`}6lA(ZC`ke}vt!CExN&%VMOfZiJuqoJ4uvp+icxoa;k4L{X`Tb{MS zX*Vg`M}#$Evv{l+b76(~@tErs6~IYIjMU{M-A5y|+M;^tA31Ni$-hgo&(6wR*NG`= zIgFv3DCAB{Qa7eHjSA2f{C|Zq&?YhBpr`Tj36)2~(>%<os@C^7)1}?z{Bo~?qD%Qh zvptHe&6>#9n)w;#yVtS)d=j$(XaVd{&a~#k{pIBCJ^oXun2isqQ%~?Eh2?qB%dS$W zVM~fZ^zMAgu?k-BetsrlqndvG+7_~P90cT&=g4bJ0^vT>-m!}fapTR+rE}hcdn<ao z>O<bKCk?&E69Jcge<6Ce$N(l^w<|x1^CKy;=o~FGooI}^;aNccmj)tL)UGdSH33C< z(S8WW3Jadz1VbJskj1tJoiKN@QR|)hhDKlOPn3e^C$zk0cKgjgbKGQYQ%Y}SOZk1s zeo3+yh?~NOn##W*LmX-%Tv9@v^be$u9(?tmyJJ=^Mr*rs-oa$r5dZSQ&YXy1GY)=0 zYHg<K$&ml)arIeCx2Wc*q?uqWs7+ie30Z>wd*ft``)iw?)20}O)$#-^+F|DCZlQfC zwCkC6&eU6r%@xcVr|qOwdR0yx`F;$-OZ1!_m^{;H4Zg_F-*8eV*0>w5@6$^}!he+s zRAu6EBKO&dfOYYXYq%2aHaI+>`pX-sC<W5?uE$OtpYMvHj$$UDii(O6M-E$uKbm?Z z)#>Y#o-Q`i36D_pLbj(%XkF#{`r?8{LkM+%Kty!C0e*FGb^l(jo$JIZ7xAEwpC18& zFBS2-<e@3rDz`jLUXKSKg2@27eU)2#86Bkx&~hJX9bt*ETb0&*`;$(D0EFA!wW;SY z%&V!!uLZ4zH(j1m;;B08&j0*&Ughf@s&0JDw$NEOMWmbt#Ss@yw|5c;zRV{4KZ9zQ zrhD#29d%kf2LYSa2@N|^jZFcK&^=WoswgaIr%^2OqA&3QqPZz_kA!=c(xM~3egsY0 zFfzGmTXn*Mf;?p%QC02izDDxeZaKg+(t8I+Y8f@#jn{9evLJf>J9GW)J6nYc>sytK zUiL3tI$2n!|89NJT#COx(LOB`UE26wc%$n%>vWz3i?<4u0XnJ`vkdg~t?s)%EV_vy zFFoP`?&I}O8<MtlP#fe`Gxy13m%0%stF6EEtU>Y1*E8<_&r*t9N}$O02YRc(jR9@e z$U9`+c9h`fb-ov?q7kZO(7dqw8?>=w$a_{i(|@^X5~Q3HpG@5NMi<$~rMV;PaXw($ z2ya&I9ihWX#ILs00fCB5d8T;WHKnmhsb0Q7U*FA|PEuvVEo9iS-TC|nJ;Wl{j?om+ z6A*V;@!R<j$y=rRVEI(mVOPR-mPmk2<Yc|jSqvwVi7w)9KMn1%Hh2%pqRptv7Yp4a zvU<Jy*X<YEbg;i4Zk_P1iMsZ5E6e_WC~!WH^4ydiP>MFM<+@A1ROq@m+W`Wuz?fDW znlkVqdqOqWi5<<+Sy=7@Q>IbJdvsDCqU88_ZXtn(jqdkQQKj~j$uz8BmbVD!Pe>=w zoXP%LPY-%p-#+S0Oo6Knyr5XJ*82&zjG?(SL?gq3xp#T%vd}T$*}~he0u64~Q73s@ z<W~amp^%e1(N{rA-Q3xyi0Q5AEmEgYocoBixw-3NICjGJW$O4&ZA+}cMCn6f6!LZ= zDUs?n<+AQ`z)w>0#{!b)J6_&Xa9rzIUBba)3;Fn`+TIUzj8*+qtRmrk<za6*Du+Uy z6H%$hdAjWf48uEh#-fV6v?F@<%TS3#24JEh#xUG+6R$$5lc^#jVYT>k<&!%BMwIrd zPiRp+qvgck&Sk-p+@jmR@ALfKxRa(!$#pF!yy}aKz}BUB#CC+x(t$_gq+f#dhz;Zy z_a-&LgfBkOB|+BH>tusEQELM7JaF@dNB9#Nl7B;UyqWJ&6X9;{vz)buWAHj4i}A^N zfMaaSvz1ijq{}c!J|FH?%b!Buwm_IAEon(2vv9R*QtxcDlxT0AcHef^=C|BrxheB& z+eM%+M6D<g)Ex40;h9KxN)=^jQIE!loobi)WTBZrwq9g0nX^j3YFngskqxbnj=qk_ zi)C<z5fL_6n(}IholhL)_PPUxsGKFD*3@c-6tAnnUHs%O)##^VYU|UldE>>7OURV# z9d8QC{b#PLQfyTF2|V^~7N)ssG+!K)cZgxv&Nr?ZvvzQa_WqfYUWXK(7_Za*N&&_| z6?o|j%FZrswXPC;==Qr05M6@#L>DWR1Yg9zNONy@PcIBl7z3VH#QX{DFJWm3?rJ!p zgWUA&?PA$ck>)T!e-*eTzgYs8vv)jk8Z4sP{NtHTL!8~{D4sGL-v`IF03mlT55HvR zG@agycvMMepEu&2s4k95K?QBrSi7teJ2R4sDgOi27AX9{qLyCN+s(6*p%UZ0%gQ0W zfJ+GomNDWY=>hVDGxjx@lTD^J*$KphazHaTS0E<gHfa!Tu1AcC2Z0I~KMfJct=e;l zm_WzR7uC;yTG1}KNF_#0Ndjb65yYu#ezP%*wt79S|NA3<T7t32oduV!LL5^-Ibrz2 zIN+l!yQoT0+YvV|Cu4KQQ&s2w5i6MLnrCNzItL`IeCI0^Jn#6&d2e66(WLh1=QVYa zdz-N1Jb%VF@0tG1PLbso5Qs~h6kLd{x}BA$F$Y?sNtF6u0v!LX4N-|Fz4hXaq2##= z=Lb6j2!D=+p1|mN(0opO^_8VJS;H0Wf&Nav{TZ~+1@-pj(EPOT-H46kEpPPvsNZK8 zF_nt`rJisUJwdw!Qz;=d0G}OUOtC+*325%d{7s@`<SFB&{q!Q<^g;BzW}Eg24+O>f z(wHRV{CRWIpV}4Y@^;Bt<{I?*5?6Yo7yY+__?~<`<U2bKFFELU0jrW9uJ&n-kF$W> z(|?(+b5Y?HJzh~lRd)BNtk%0x?B%m~V0pUFAVAmQQpl5uMZ{z+fkC4&TrrVRTj_I? z*O+;YWwp^$RSk_|2!tQ%(i0HsKu*K9whUZ-M<RbRH>QTX14)ze@_;+TF}%VCA68bs zr>+fs>QAN>xz595{Q2?suOZva1cHgoNCDMawAorTVlc9F@B%`tZg|ug@z4Ge&}F#4 zz*aa`Y;tgLAav`N{bB|T1|tLPa*e=Vv2WfmXqYN>DB3_BCGmz5Sv@^HoeYB)Zw;0x z(mUB-cQU+=yw$LHd~%Z2Yh3=5%9@czfcVoX)rpw@e{a-dwOb~IO5;mKL7u$4ymG$N zw5F!WV&j}Mt#|(}LCp1}o0tUR3S#|2b)S;>>AvrStc^{vM`_^q*dr?T;VZDuU>aRX Sg?>GV_~<_{xewKLjsHLE_rM4M diff --git a/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_colormap.svg b/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_colormap.svg index 2536535c152a..ae46e125d162 100644 --- a/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_colormap.svg +++ b/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_colormap.svg @@ -32,52 +32,52 @@ z <defs> <path d="M 0 0 L 0 3.5 -" id="mf13e769f21" style="stroke:#000000;stroke-width:0.8;"/> +" id="mf0a5eaf736" style="stroke:#000000;stroke-width:0.8;"/> </defs> <g> - <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mf13e769f21" y="307.584"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mf0a5eaf736" y="307.584"/> </g> </g> </g> <g id="xtick_2"> <g id="line2d_2"> <g> - <use style="stroke:#000000;stroke-width:0.8;" x="105.216" xlink:href="#mf13e769f21" y="307.584"/> + <use style="stroke:#000000;stroke-width:0.8;" x="105.216" xlink:href="#mf0a5eaf736" y="307.584"/> </g> </g> </g> <g id="xtick_3"> <g id="line2d_3"> <g> - <use style="stroke:#000000;stroke-width:0.8;" x="152.832" xlink:href="#mf13e769f21" y="307.584"/> + <use style="stroke:#000000;stroke-width:0.8;" x="152.832" xlink:href="#mf0a5eaf736" y="307.584"/> </g> </g> </g> <g id="xtick_4"> <g id="line2d_4"> <g> - <use style="stroke:#000000;stroke-width:0.8;" x="200.448" xlink:href="#mf13e769f21" y="307.584"/> + <use style="stroke:#000000;stroke-width:0.8;" x="200.448" xlink:href="#mf0a5eaf736" y="307.584"/> </g> </g> </g> <g id="xtick_5"> <g id="line2d_5"> <g> - <use style="stroke:#000000;stroke-width:0.8;" x="248.064" xlink:href="#mf13e769f21" y="307.584"/> + <use style="stroke:#000000;stroke-width:0.8;" x="248.064" xlink:href="#mf0a5eaf736" y="307.584"/> </g> </g> </g> <g id="xtick_6"> <g id="line2d_6"> <g> - <use style="stroke:#000000;stroke-width:0.8;" x="295.68" xlink:href="#mf13e769f21" y="307.584"/> + <use style="stroke:#000000;stroke-width:0.8;" x="295.68" xlink:href="#mf0a5eaf736" y="307.584"/> </g> </g> </g> <g id="xtick_7"> <g id="line2d_7"> <g> - <use style="stroke:#000000;stroke-width:0.8;" x="343.296" xlink:href="#mf13e769f21" y="307.584"/> + <use style="stroke:#000000;stroke-width:0.8;" x="343.296" xlink:href="#mf0a5eaf736" y="307.584"/> </g> </g> </g> @@ -88,1950 +88,1950 @@ L 0 3.5 <defs> <path d="M 0 0 L -3.5 0 -" id="mbacbe03e86" style="stroke:#000000;stroke-width:0.8;"/> +" id="m22c199e351" style="stroke:#000000;stroke-width:0.8;"/> </defs> <g> - <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mbacbe03e86" y="307.584"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m22c199e351" y="307.584"/> </g> </g> </g> <g id="ytick_2"> <g id="line2d_9"> <g> - <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mbacbe03e86" y="263.232"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m22c199e351" y="263.232"/> </g> </g> </g> <g id="ytick_3"> <g id="line2d_10"> <g> - <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mbacbe03e86" y="218.88"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m22c199e351" y="218.88"/> </g> </g> </g> <g id="ytick_4"> <g id="line2d_11"> <g> - <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mbacbe03e86" y="174.528"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m22c199e351" y="174.528"/> </g> </g> </g> <g id="ytick_5"> <g id="line2d_12"> <g> - <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mbacbe03e86" y="130.176"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m22c199e351" y="130.176"/> </g> </g> </g> <g id="ytick_6"> <g id="line2d_13"> <g> - <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mbacbe03e86" y="85.824"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m22c199e351" y="85.824"/> </g> </g> </g> <g id="ytick_7"> <g id="line2d_14"> <g> - <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mbacbe03e86" y="41.472"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m22c199e351" y="41.472"/> </g> </g> </g> </g> <g id="LineCollection_1"> - <path clip-path="url(#p1f31122917)" d="M 328.183755 240.303724 + <path clip-path="url(#p39d06bc184)" d="M 328.183755 240.303724 L 312.348941 237.9695 " style="fill:none;stroke:#ff3800;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 312.348941 237.9695 + <path clip-path="url(#p39d06bc184)" d="M 312.348941 237.9695 L 296.542006 235.479533 " style="fill:none;stroke:#ff5600;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 296.542006 235.479533 + <path clip-path="url(#p39d06bc184)" d="M 296.542006 235.479533 L 280.764417 232.83537 " style="fill:none;stroke:#ff6f00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 280.764417 232.83537 + <path clip-path="url(#p39d06bc184)" d="M 280.764417 232.83537 L 265.011741 230.066738 " style="fill:none;stroke:#ff8500;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 265.011741 230.066738 + <path clip-path="url(#p39d06bc184)" d="M 265.011741 230.066738 L 249.265052 227.269851 " style="fill:none;stroke:#ff9800;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 249.265052 227.269851 + <path clip-path="url(#p39d06bc184)" d="M 249.265052 227.269851 L 233.712932 224.719327 " style="fill:none;stroke:#ffa600;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 233.712932 224.719327 + <path clip-path="url(#p39d06bc184)" d="M 233.712932 224.719327 L 221.647559 223.194513 " style="fill:none;stroke:#ffb100;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 221.647559 223.194513 + <path clip-path="url(#p39d06bc184)" d="M 221.647559 223.194513 L 211.289814 222.516729 " style="fill:none;stroke:#ffb600;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 211.289814 222.516729 + <path clip-path="url(#p39d06bc184)" d="M 211.289814 222.516729 L 201.589017 222.680932 " style="fill:none;stroke:#ffb900;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 201.589017 222.680932 + <path clip-path="url(#p39d06bc184)" d="M 201.589017 222.680932 L 191.738945 223.856483 " style="fill:none;stroke:#ffba00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 191.738945 223.856483 + <path clip-path="url(#p39d06bc184)" d="M 191.738945 223.856483 L 180.986744 226.425721 " style="fill:none;stroke:#ffb900;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 180.986744 226.425721 + <path clip-path="url(#p39d06bc184)" d="M 180.986744 226.425721 L 170.822692 230.085307 " style="fill:none;stroke:#ffb500;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 170.822692 230.085307 + <path clip-path="url(#p39d06bc184)" d="M 170.822692 230.085307 L 170.822692 230.085307 " style="fill:none;stroke:#ffb000;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 170.822692 230.085307 + <path clip-path="url(#p39d06bc184)" d="M 170.822692 230.085307 L 159.519218 235.352011 " style="fill:none;stroke:#ffb000;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 159.519218 235.352011 + <path clip-path="url(#p39d06bc184)" d="M 159.519218 235.352011 L 159.519218 235.352011 " style="fill:none;stroke:#ffa800;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 159.519218 235.352011 + <path clip-path="url(#p39d06bc184)" d="M 159.519218 235.352011 L 145.799028 243.055973 " style="fill:none;stroke:#ffa800;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 145.799028 243.055973 + <path clip-path="url(#p39d06bc184)" d="M 145.799028 243.055973 L 132.581284 251.499093 " style="fill:none;stroke:#ff9b00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 132.581284 251.499093 + <path clip-path="url(#p39d06bc184)" d="M 132.581284 251.499093 L 119.702471 260.38905 " style="fill:none;stroke:#ff8c00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 119.702471 260.38905 + <path clip-path="url(#p39d06bc184)" d="M 119.702471 260.38905 L 107.052376 269.56097 " style="fill:none;stroke:#ff7a00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 107.052376 269.56097 + <path clip-path="url(#p39d06bc184)" d="M 107.052376 269.56097 L 94.558427 278.917598 " style="fill:none;stroke:#ff6600;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 94.558427 278.917598 + <path clip-path="url(#p39d06bc184)" d="M 94.558427 278.917598 L 82.17206 288.39779 " style="fill:none;stroke:#ff5000;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 82.17206 288.39779 + <path clip-path="url(#p39d06bc184)" d="M 82.17206 288.39779 L 69.860334 297.96212 " style="fill:none;stroke:#ff3700;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 69.860334 297.96212 + <path clip-path="url(#p39d06bc184)" d="M 69.860334 297.96212 L 57.6 307.584 " style="fill:none;stroke:#ff1c00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 97.837247 287.030351 + <path clip-path="url(#p39d06bc184)" d="M 97.837247 287.030351 L 86.146691 297.24838 " style="fill:none;stroke:#ff5200;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 86.146691 297.24838 + <path clip-path="url(#p39d06bc184)" d="M 86.146691 297.24838 L 74.575401 307.584 " style="fill:none;stroke:#ff3b00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 74.575401 307.584 + <path clip-path="url(#p39d06bc184)" d="M 74.575401 307.584 L 74.575401 307.584 " style="fill:none;stroke:#ff2200;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 74.575401 307.584 + <path clip-path="url(#p39d06bc184)" d="M 74.575401 307.584 L 74.575401 307.584 " style="fill:none;stroke:#ff2200;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 74.575401 307.584 + <path clip-path="url(#p39d06bc184)" d="M 74.575401 307.584 L 74.575401 307.584 " style="fill:none;stroke:#ff2200;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 171.840206 238.972368 + <path clip-path="url(#p39d06bc184)" d="M 171.840206 238.972368 L 171.840206 238.972368 " style="fill:none;stroke:#ffad00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 171.840206 238.972368 + <path clip-path="url(#p39d06bc184)" d="M 171.840206 238.972368 L 160.900472 245.735927 " style="fill:none;stroke:#ffad00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 160.900472 245.735927 + <path clip-path="url(#p39d06bc184)" d="M 160.900472 245.735927 L 160.900472 245.735927 " style="fill:none;stroke:#ffa500;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 160.900472 245.735927 + <path clip-path="url(#p39d06bc184)" d="M 160.900472 245.735927 L 148.274666 254.920706 " style="fill:none;stroke:#ffa500;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 148.274666 254.920706 + <path clip-path="url(#p39d06bc184)" d="M 148.274666 254.920706 L 136.243708 264.783074 " style="fill:none;stroke:#ff9900;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 136.243708 264.783074 + <path clip-path="url(#p39d06bc184)" d="M 136.243708 264.783074 L 124.645165 275.089035 " style="fill:none;stroke:#ff8b00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 124.645165 275.089035 + <path clip-path="url(#p39d06bc184)" d="M 124.645165 275.089035 L 113.373419 285.706061 " style="fill:none;stroke:#ff7a00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 113.373419 285.706061 + <path clip-path="url(#p39d06bc184)" d="M 113.373419 285.706061 L 102.357732 296.554423 " style="fill:none;stroke:#ff6800;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 102.357732 296.554423 + <path clip-path="url(#p39d06bc184)" d="M 102.357732 296.554423 L 91.550802 307.584 " style="fill:none;stroke:#ff5500;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 91.550802 307.584 + <path clip-path="url(#p39d06bc184)" d="M 91.550802 307.584 L 91.550802 307.584 " style="fill:none;stroke:#ff4000;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 91.550802 307.584 + <path clip-path="url(#p39d06bc184)" d="M 91.550802 307.584 L 91.550802 307.584 " style="fill:none;stroke:#ff4000;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 91.550802 307.584 + <path clip-path="url(#p39d06bc184)" d="M 91.550802 307.584 L 91.550802 307.584 " style="fill:none;stroke:#ff4000;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 139.539274 273.366697 + <path clip-path="url(#p39d06bc184)" d="M 139.539274 273.366697 L 128.837558 284.4816 " style="fill:none;stroke:#ff8a00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 128.837558 284.4816 + <path clip-path="url(#p39d06bc184)" d="M 128.837558 284.4816 L 118.523211 295.91125 " style="fill:none;stroke:#ff7b00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 118.523211 295.91125 + <path clip-path="url(#p39d06bc184)" d="M 118.523211 295.91125 L 108.526203 307.584 " style="fill:none;stroke:#ff6b00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 108.526203 307.584 + <path clip-path="url(#p39d06bc184)" d="M 108.526203 307.584 L 108.526203 307.584 " style="fill:none;stroke:#ff5900;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 108.526203 307.584 + <path clip-path="url(#p39d06bc184)" d="M 108.526203 307.584 L 108.526203 307.584 " style="fill:none;stroke:#ff5900;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 108.526203 307.584 + <path clip-path="url(#p39d06bc184)" d="M 108.526203 307.584 L 108.526203 307.584 " style="fill:none;stroke:#ff5900;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 225.592693 236.790709 + <path clip-path="url(#p39d06bc184)" d="M 225.592693 236.790709 L 216.843461 238.594806 " style="fill:none;stroke:#ffb000;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 216.843461 238.594806 + <path clip-path="url(#p39d06bc184)" d="M 216.843461 238.594806 L 208.125369 241.501147 " style="fill:none;stroke:#ffb200;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 208.125369 241.501147 + <path clip-path="url(#p39d06bc184)" d="M 208.125369 241.501147 L 199.008758 245.934386 " style="fill:none;stroke:#ffb200;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 199.008758 245.934386 + <path clip-path="url(#p39d06bc184)" d="M 199.008758 245.934386 L 189.263792 252.400085 " style="fill:none;stroke:#ffb100;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 189.263792 252.400085 + <path clip-path="url(#p39d06bc184)" d="M 189.263792 252.400085 L 180.564816 259.745308 " style="fill:none;stroke:#ffad00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 180.564816 259.745308 + <path clip-path="url(#p39d06bc184)" d="M 180.564816 259.745308 L 180.564816 259.745308 " style="fill:none;stroke:#ffa900;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 180.564816 259.745308 + <path clip-path="url(#p39d06bc184)" d="M 180.564816 259.745308 L 169.785419 270.773957 " style="fill:none;stroke:#ffa900;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 169.785419 270.773957 + <path clip-path="url(#p39d06bc184)" d="M 169.785419 270.773957 L 159.991921 282.585401 " style="fill:none;stroke:#ffa000;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 159.991921 282.585401 + <path clip-path="url(#p39d06bc184)" d="M 159.991921 282.585401 L 150.942693 294.906055 " style="fill:none;stroke:#ff9600;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 150.942693 294.906055 + <path clip-path="url(#p39d06bc184)" d="M 150.942693 294.906055 L 142.477005 307.584 " style="fill:none;stroke:#ff8c00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 142.477005 307.584 + <path clip-path="url(#p39d06bc184)" d="M 142.477005 307.584 L 142.477005 307.584 " style="fill:none;stroke:#ff8000;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 142.477005 307.584 + <path clip-path="url(#p39d06bc184)" d="M 142.477005 307.584 L 142.477005 307.584 " style="fill:none;stroke:#ff8000;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 224.969443 252.988991 + <path clip-path="url(#p39d06bc184)" d="M 224.969443 252.988991 L 216.574861 257.860101 " style="fill:none;stroke:#ffaa00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 216.574861 257.860101 + <path clip-path="url(#p39d06bc184)" d="M 216.574861 257.860101 L 207.92672 264.631527 " style="fill:none;stroke:#ffaa00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 207.92672 264.631527 + <path clip-path="url(#p39d06bc184)" d="M 207.92672 264.631527 L 200.349177 272.243075 " style="fill:none;stroke:#ffa900;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 200.349177 272.243075 + <path clip-path="url(#p39d06bc184)" d="M 200.349177 272.243075 L 200.349177 272.243075 " style="fill:none;stroke:#ffa700;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 200.349177 272.243075 + <path clip-path="url(#p39d06bc184)" d="M 200.349177 272.243075 L 192.560699 281.816279 " style="fill:none;stroke:#ffa700;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 192.560699 281.816279 + <path clip-path="url(#p39d06bc184)" d="M 192.560699 281.816279 L 192.560699 281.816279 " style="fill:none;stroke:#ffa300;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 192.560699 281.816279 + <path clip-path="url(#p39d06bc184)" d="M 192.560699 281.816279 L 184.016791 294.437019 " style="fill:none;stroke:#ffa300;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 184.016791 294.437019 + <path clip-path="url(#p39d06bc184)" d="M 184.016791 294.437019 L 176.427807 307.584 " style="fill:none;stroke:#ff9c00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 176.427807 307.584 + <path clip-path="url(#p39d06bc184)" d="M 176.427807 307.584 L 176.427807 307.584 " style="fill:none;stroke:#ff9500;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 176.427807 307.584 + <path clip-path="url(#p39d06bc184)" d="M 176.427807 307.584 L 176.427807 307.584 " style="fill:none;stroke:#ff9500;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 217.115698 273.847104 + <path clip-path="url(#p39d06bc184)" d="M 217.115698 273.847104 L 209.862124 282.024647 " style="fill:none;stroke:#ffa400;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 209.862124 282.024647 + <path clip-path="url(#p39d06bc184)" d="M 209.862124 282.024647 L 209.862124 282.024647 " style="fill:none;stroke:#ffa200;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 209.862124 282.024647 + <path clip-path="url(#p39d06bc184)" d="M 209.862124 282.024647 L 201.020471 294.455448 " style="fill:none;stroke:#ffa200;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 201.020471 294.455448 + <path clip-path="url(#p39d06bc184)" d="M 201.020471 294.455448 L 193.403209 307.584 " style="fill:none;stroke:#ff9e00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 193.403209 307.584 + <path clip-path="url(#p39d06bc184)" d="M 193.403209 307.584 L 193.403209 307.584 " style="fill:none;stroke:#ff9900;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 193.403209 307.584 + <path clip-path="url(#p39d06bc184)" d="M 193.403209 307.584 L 193.403209 307.584 " style="fill:none;stroke:#ff9900;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 343.296 256.468645 + <path clip-path="url(#p39d06bc184)" d="M 343.296 256.468645 L 334.138159 256.133087 " style="fill:none;stroke:#ff1300;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 334.138159 256.133087 + <path clip-path="url(#p39d06bc184)" d="M 334.138159 256.133087 L 318.114095 255.72869 " style="fill:none;stroke:#ff2600;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 318.114095 255.72869 + <path clip-path="url(#p39d06bc184)" d="M 318.114095 255.72869 L 302.087997 255.834555 " style="fill:none;stroke:#ff4500;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 302.087997 255.834555 + <path clip-path="url(#p39d06bc184)" d="M 302.087997 255.834555 L 288.789042 256.554044 " style="fill:none;stroke:#ff5f00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 288.789042 256.554044 + <path clip-path="url(#p39d06bc184)" d="M 288.789042 256.554044 L 277.491908 257.87222 " style="fill:none;stroke:#ff7200;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 277.491908 257.87222 + <path clip-path="url(#p39d06bc184)" d="M 277.491908 257.87222 L 267.586635 259.816652 " style="fill:none;stroke:#ff8000;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 267.586635 259.816652 + <path clip-path="url(#p39d06bc184)" d="M 267.586635 259.816652 L 258.607464 262.474397 " style="fill:none;stroke:#ff8a00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 258.607464 262.474397 + <path clip-path="url(#p39d06bc184)" d="M 258.607464 262.474397 L 250.17799 266.019375 " style="fill:none;stroke:#ff9100;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 250.17799 266.019375 + <path clip-path="url(#p39d06bc184)" d="M 250.17799 266.019375 L 241.991522 270.740073 " style="fill:none;stroke:#ff9600;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 241.991522 270.740073 + <path clip-path="url(#p39d06bc184)" d="M 241.991522 270.740073 L 233.779839 277.088763 " style="fill:none;stroke:#ff9a00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 233.779839 277.088763 + <path clip-path="url(#p39d06bc184)" d="M 233.779839 277.088763 L 225.490281 285.534359 " style="fill:none;stroke:#ff9c00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 225.490281 285.534359 + <path clip-path="url(#p39d06bc184)" d="M 225.490281 285.534359 L 218.42229 294.685878 " style="fill:none;stroke:#ff9d00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 218.42229 294.685878 + <path clip-path="url(#p39d06bc184)" d="M 218.42229 294.685878 L 218.42229 294.685878 " style="fill:none;stroke:#ff9c00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 218.42229 294.685878 + <path clip-path="url(#p39d06bc184)" d="M 218.42229 294.685878 L 210.37861 307.584 " style="fill:none;stroke:#ff9c00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 210.37861 307.584 + <path clip-path="url(#p39d06bc184)" d="M 210.37861 307.584 L 210.37861 307.584 " style="fill:none;stroke:#ff9800;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 210.37861 307.584 + <path clip-path="url(#p39d06bc184)" d="M 210.37861 307.584 L 210.37861 307.584 " style="fill:none;stroke:#ff9800;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 343.296 267.636774 + <path clip-path="url(#p39d06bc184)" d="M 343.296 267.636774 L 332.999268 268.238327 " style="fill:none;stroke:#ff0f00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 332.999268 268.238327 + <path clip-path="url(#p39d06bc184)" d="M 332.999268 268.238327 L 318.403149 269.449254 " style="fill:none;stroke:#ff2400;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 318.403149 269.449254 + <path clip-path="url(#p39d06bc184)" d="M 318.403149 269.449254 L 305.957755 271.21451 " style="fill:none;stroke:#ff3f00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 305.957755 271.21451 + <path clip-path="url(#p39d06bc184)" d="M 305.957755 271.21451 L 295.079206 273.5587 " style="fill:none;stroke:#ff5300;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 295.079206 273.5587 + <path clip-path="url(#p39d06bc184)" d="M 295.079206 273.5587 L 285.313284 276.554712 " style="fill:none;stroke:#ff6300;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 285.313284 276.554712 + <path clip-path="url(#p39d06bc184)" d="M 285.313284 276.554712 L 276.314973 280.33205 " style="fill:none;stroke:#ff6f00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 276.314973 280.33205 + <path clip-path="url(#p39d06bc184)" d="M 276.314973 280.33205 L 267.788072 285.110812 " style="fill:none;stroke:#ff7800;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 267.788072 285.110812 + <path clip-path="url(#p39d06bc184)" d="M 267.788072 285.110812 L 259.488475 291.228434 " style="fill:none;stroke:#ff8000;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 259.488475 291.228434 + <path clip-path="url(#p39d06bc184)" d="M 259.488475 291.228434 L 251.311793 299.077217 " style="fill:none;stroke:#ff8500;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 251.311793 299.077217 + <path clip-path="url(#p39d06bc184)" d="M 251.311793 299.077217 L 244.329412 307.584 " style="fill:none;stroke:#ff8900;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 244.329412 307.584 + <path clip-path="url(#p39d06bc184)" d="M 244.329412 307.584 L 244.329412 307.584 " style="fill:none;stroke:#ff8b00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 244.329412 307.584 + <path clip-path="url(#p39d06bc184)" d="M 244.329412 307.584 L 244.329412 307.584 " style="fill:none;stroke:#ff8b00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 244.329412 307.584 + <path clip-path="url(#p39d06bc184)" d="M 244.329412 307.584 L 244.329412 307.584 " style="fill:none;stroke:#ff8b00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 294.799274 284.403261 + <path clip-path="url(#p39d06bc184)" d="M 294.799274 284.403261 L 285.667195 288.578914 " style="fill:none;stroke:#ff5f00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 285.667195 288.578914 + <path clip-path="url(#p39d06bc184)" d="M 285.667195 288.578914 L 277.011216 293.777179 " style="fill:none;stroke:#ff6a00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 277.011216 293.777179 + <path clip-path="url(#p39d06bc184)" d="M 277.011216 293.777179 L 268.645972 300.300444 " style="fill:none;stroke:#ff7200;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 268.645972 300.300444 + <path clip-path="url(#p39d06bc184)" d="M 268.645972 300.300444 L 261.304813 307.584 " style="fill:none;stroke:#ff7900;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 261.304813 307.584 + <path clip-path="url(#p39d06bc184)" d="M 261.304813 307.584 L 261.304813 307.584 " style="fill:none;stroke:#ff7d00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 261.304813 307.584 + <path clip-path="url(#p39d06bc184)" d="M 261.304813 307.584 L 261.304813 307.584 " style="fill:none;stroke:#ff7d00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 261.304813 307.584 + <path clip-path="url(#p39d06bc184)" d="M 261.304813 307.584 L 261.304813 307.584 " style="fill:none;stroke:#ff7d00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 343.296 288.544435 + <path clip-path="url(#p39d06bc184)" d="M 343.296 288.544435 L 335.540249 290.395725 " style="fill:none;stroke:#ff0700;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 335.540249 290.395725 + <path clip-path="url(#p39d06bc184)" d="M 335.540249 290.395725 L 324.108331 293.575835 " style="fill:none;stroke:#ff1600;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 324.108331 293.575835 + <path clip-path="url(#p39d06bc184)" d="M 324.108331 293.575835 L 313.768812 297.40487 " style="fill:none;stroke:#ff2b00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 313.768812 297.40487 + <path clip-path="url(#p39d06bc184)" d="M 313.768812 297.40487 L 304.215169 302.01832 " style="fill:none;stroke:#ff3c00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 304.215169 302.01832 + <path clip-path="url(#p39d06bc184)" d="M 304.215169 302.01832 L 295.255615 307.584 " style="fill:none;stroke:#ff4a00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 295.255615 307.584 + <path clip-path="url(#p39d06bc184)" d="M 295.255615 307.584 L 295.255615 307.584 " style="fill:none;stroke:#ff5500;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 295.255615 307.584 + <path clip-path="url(#p39d06bc184)" d="M 295.255615 307.584 L 295.255615 307.584 " style="fill:none;stroke:#ff5500;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 295.255615 307.584 + <path clip-path="url(#p39d06bc184)" d="M 295.255615 307.584 L 295.255615 307.584 " style="fill:none;stroke:#ff5500;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 78.749671 41.472 + <path clip-path="url(#p39d06bc184)" d="M 78.749671 41.472 L 76.292796 46.132603 " style="fill:none;stroke:#ff9000;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 76.292796 46.132603 + <path clip-path="url(#p39d06bc184)" d="M 76.292796 46.132603 L 71.079809 54.83878 " style="fill:none;stroke:#ff8a00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 71.079809 54.83878 + <path clip-path="url(#p39d06bc184)" d="M 71.079809 54.83878 L 64.812052 63.005159 " style="fill:none;stroke:#ff7c00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 64.812052 63.005159 + <path clip-path="url(#p39d06bc184)" d="M 64.812052 63.005159 L 57.6 70.407529 " style="fill:none;stroke:#ff6d00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 57.6 70.407529 + <path clip-path="url(#p39d06bc184)" d="M 57.6 70.407529 L 57.6 70.407529 " style="fill:none;stroke:#ff5b00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 57.6 70.407529 + <path clip-path="url(#p39d06bc184)" d="M 57.6 70.407529 L 57.6 70.407529 " style="fill:none;stroke:#ff5b00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 57.6 70.407529 + <path clip-path="url(#p39d06bc184)" d="M 57.6 70.407529 L 57.6 70.407529 " style="fill:none;stroke:#ff5b00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 91.162806 41.472 + <path clip-path="url(#p39d06bc184)" d="M 91.162806 41.472 L 89.006903 46.844222 " style="fill:none;stroke:#ffa600;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 89.006903 46.844222 + <path clip-path="url(#p39d06bc184)" d="M 89.006903 46.844222 L 84.814376 55.924235 " style="fill:none;stroke:#ffa000;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 84.814376 55.924235 + <path clip-path="url(#p39d06bc184)" d="M 84.814376 55.924235 L 79.770352 64.279228 " style="fill:none;stroke:#ff9500;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 79.770352 64.279228 + <path clip-path="url(#p39d06bc184)" d="M 79.770352 64.279228 L 73.615057 72.14811 " style="fill:none;stroke:#ff8900;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 73.615057 72.14811 + <path clip-path="url(#p39d06bc184)" d="M 73.615057 72.14811 L 66.01125 79.677299 " style="fill:none;stroke:#ff7b00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 66.01125 79.677299 + <path clip-path="url(#p39d06bc184)" d="M 66.01125 79.677299 L 57.6 86.219294 " style="fill:none;stroke:#ff6900;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 57.6 86.219294 + <path clip-path="url(#p39d06bc184)" d="M 57.6 86.219294 L 57.6 86.219294 " style="fill:none;stroke:#ff5500;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 57.6 86.219294 + <path clip-path="url(#p39d06bc184)" d="M 57.6 86.219294 L 57.6 86.219294 " style="fill:none;stroke:#ff5500;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 57.6 86.219294 + <path clip-path="url(#p39d06bc184)" d="M 57.6 86.219294 L 57.6 86.219294 " style="fill:none;stroke:#ff5500;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 95.332995 66.080361 + <path clip-path="url(#p39d06bc184)" d="M 95.332995 66.080361 L 90.609866 74.085302 " style="fill:none;stroke:#ffa300;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 90.609866 74.085302 + <path clip-path="url(#p39d06bc184)" d="M 90.609866 74.085302 L 84.739761 81.646377 " style="fill:none;stroke:#ff9800;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 84.739761 81.646377 + <path clip-path="url(#p39d06bc184)" d="M 84.739761 81.646377 L 77.288768 88.965603 " style="fill:none;stroke:#ff8b00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 77.288768 88.965603 + <path clip-path="url(#p39d06bc184)" d="M 77.288768 88.965603 L 67.775221 96.093453 " style="fill:none;stroke:#ff7b00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 67.775221 96.093453 + <path clip-path="url(#p39d06bc184)" d="M 67.775221 96.093453 L 57.6 102.031059 " style="fill:none;stroke:#ff6600;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 57.6 102.031059 + <path clip-path="url(#p39d06bc184)" d="M 57.6 102.031059 L 57.6 102.031059 " style="fill:none;stroke:#ff4f00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 57.6 102.031059 + <path clip-path="url(#p39d06bc184)" d="M 57.6 102.031059 L 57.6 102.031059 " style="fill:none;stroke:#ff4f00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 57.6 102.031059 + <path clip-path="url(#p39d06bc184)" d="M 57.6 102.031059 L 57.6 102.031059 " style="fill:none;stroke:#ff4f00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 130.192533 54.224943 + <path clip-path="url(#p39d06bc184)" d="M 130.192533 54.224943 L 129.066804 65.928513 " style="fill:none;stroke:#ffd500;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 129.066804 65.928513 + <path clip-path="url(#p39d06bc184)" d="M 129.066804 65.928513 L 127.360239 75.737473 " style="fill:none;stroke:#ffd000;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 127.360239 75.737473 + <path clip-path="url(#p39d06bc184)" d="M 127.360239 75.737473 L 125.038879 84.201369 " style="fill:none;stroke:#ffca00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 125.038879 84.201369 + <path clip-path="url(#p39d06bc184)" d="M 125.038879 84.201369 L 122.001095 91.738986 " style="fill:none;stroke:#ffc400;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 122.001095 91.738986 + <path clip-path="url(#p39d06bc184)" d="M 122.001095 91.738986 L 118.034763 98.695893 " style="fill:none;stroke:#ffbe00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 118.034763 98.695893 + <path clip-path="url(#p39d06bc184)" d="M 118.034763 98.695893 L 112.731466 105.388966 " style="fill:none;stroke:#ffb600;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 112.731466 105.388966 + <path clip-path="url(#p39d06bc184)" d="M 112.731466 105.388966 L 105.557182 111.94903 " style="fill:none;stroke:#ffad00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 105.557182 111.94903 + <path clip-path="url(#p39d06bc184)" d="M 105.557182 111.94903 L 97.518927 117.439411 " style="fill:none;stroke:#ffa100;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 97.518927 117.439411 + <path clip-path="url(#p39d06bc184)" d="M 97.518927 117.439411 L 97.518927 117.439411 " style="fill:none;stroke:#ff9300;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 97.518927 117.439411 + <path clip-path="url(#p39d06bc184)" d="M 97.518927 117.439411 L 87.407823 122.777069 " style="fill:none;stroke:#ff9300;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 87.407823 122.777069 + <path clip-path="url(#p39d06bc184)" d="M 87.407823 122.777069 L 87.407823 122.777069 " style="fill:none;stroke:#ff8000;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 87.407823 122.777069 + <path clip-path="url(#p39d06bc184)" d="M 87.407823 122.777069 L 72.73882 128.760569 " style="fill:none;stroke:#ff8000;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 72.73882 128.760569 + <path clip-path="url(#p39d06bc184)" d="M 72.73882 128.760569 L 57.6 133.654588 " style="fill:none;stroke:#ff6300;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 57.6 133.654588 + <path clip-path="url(#p39d06bc184)" d="M 57.6 133.654588 L 57.6 133.654588 " style="fill:none;stroke:#ff4200;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 57.6 133.654588 + <path clip-path="url(#p39d06bc184)" d="M 57.6 133.654588 L 57.6 133.654588 " style="fill:none;stroke:#ff4200;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 144.521515 41.472 + <path clip-path="url(#p39d06bc184)" d="M 144.521515 41.472 L 145.008011 49.388057 " style="fill:none;stroke:#ffe800;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 145.008011 49.388057 + <path clip-path="url(#p39d06bc184)" d="M 145.008011 49.388057 L 145.683769 64.305241 " style="fill:none;stroke:#ffe500;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 145.683769 64.305241 + <path clip-path="url(#p39d06bc184)" d="M 145.683769 64.305241 L 145.707328 77.017376 " style="fill:none;stroke:#ffe000;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 145.707328 77.017376 + <path clip-path="url(#p39d06bc184)" d="M 145.707328 77.017376 L 145.079992 87.132671 " style="fill:none;stroke:#ffdb00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 145.079992 87.132671 + <path clip-path="url(#p39d06bc184)" d="M 145.079992 87.132671 L 143.840881 95.470094 " style="fill:none;stroke:#ffd700;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 143.840881 95.470094 + <path clip-path="url(#p39d06bc184)" d="M 143.840881 95.470094 L 141.953914 102.625197 " style="fill:none;stroke:#ffd300;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 141.953914 102.625197 + <path clip-path="url(#p39d06bc184)" d="M 141.953914 102.625197 L 139.268979 109.054916 " style="fill:none;stroke:#ffce00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 139.268979 109.054916 + <path clip-path="url(#p39d06bc184)" d="M 139.268979 109.054916 L 135.434548 115.16566 " style="fill:none;stroke:#ffc900;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 135.434548 115.16566 + <path clip-path="url(#p39d06bc184)" d="M 135.434548 115.16566 L 129.866604 121.200708 " style="fill:none;stroke:#ffc300;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 129.866604 121.200708 + <path clip-path="url(#p39d06bc184)" d="M 129.866604 121.200708 L 123.350584 126.225401 " style="fill:none;stroke:#ffbb00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 123.350584 126.225401 + <path clip-path="url(#p39d06bc184)" d="M 123.350584 126.225401 L 123.350584 126.225401 " style="fill:none;stroke:#ffb200;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 123.350584 126.225401 + <path clip-path="url(#p39d06bc184)" d="M 123.350584 126.225401 L 114.821044 131.141206 " style="fill:none;stroke:#ffb200;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 114.821044 131.141206 + <path clip-path="url(#p39d06bc184)" d="M 114.821044 131.141206 L 114.821044 131.141206 " style="fill:none;stroke:#ffa600;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 114.821044 131.141206 + <path clip-path="url(#p39d06bc184)" d="M 114.821044 131.141206 L 103.463057 136.149188 " style="fill:none;stroke:#ffa600;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 103.463057 136.149188 + <path clip-path="url(#p39d06bc184)" d="M 103.463057 136.149188 L 103.463057 136.149188 " style="fill:none;stroke:#ff9400;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 103.463057 136.149188 + <path clip-path="url(#p39d06bc184)" d="M 103.463057 136.149188 L 88.441339 141.337632 " style="fill:none;stroke:#ff9400;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 88.441339 141.337632 + <path clip-path="url(#p39d06bc184)" d="M 88.441339 141.337632 L 73.106144 145.679296 " style="fill:none;stroke:#ff7b00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 73.106144 145.679296 + <path clip-path="url(#p39d06bc184)" d="M 73.106144 145.679296 L 57.6 149.466353 " style="fill:none;stroke:#ff5d00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 57.6 149.466353 + <path clip-path="url(#p39d06bc184)" d="M 57.6 149.466353 L 57.6 149.466353 " style="fill:none;stroke:#ff3c00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 57.6 149.466353 + <path clip-path="url(#p39d06bc184)" d="M 57.6 149.466353 L 57.6 149.466353 " style="fill:none;stroke:#ff3c00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 163.553257 56.203049 + <path clip-path="url(#p39d06bc184)" d="M 163.553257 56.203049 L 166.019989 70.95807 " style="fill:none;stroke:#fff000;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 166.019989 70.95807 + <path clip-path="url(#p39d06bc184)" d="M 166.019989 70.95807 L 168.448412 85.718116 " style="fill:none;stroke:#ffeb00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 168.448412 85.718116 + <path clip-path="url(#p39d06bc184)" d="M 168.448412 85.718116 L 170.398749 99.139861 " style="fill:none;stroke:#ffe700;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 170.398749 99.139861 + <path clip-path="url(#p39d06bc184)" d="M 170.398749 99.139861 L 171.322046 108.386244 " style="fill:none;stroke:#ffe300;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 171.322046 108.386244 + <path clip-path="url(#p39d06bc184)" d="M 171.322046 108.386244 L 171.483321 115.237725 " style="fill:none;stroke:#ffdf00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 171.483321 115.237725 + <path clip-path="url(#p39d06bc184)" d="M 171.483321 115.237725 L 170.985536 120.651515 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 170.985536 120.651515 + <path clip-path="url(#p39d06bc184)" d="M 170.985536 120.651515 L 169.748856 125.325788 " style="fill:none;stroke:#ffda00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 169.748856 125.325788 + <path clip-path="url(#p39d06bc184)" d="M 169.748856 125.325788 L 167.265514 129.926957 " style="fill:none;stroke:#ffd800;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 167.265514 129.926957 + <path clip-path="url(#p39d06bc184)" d="M 167.265514 129.926957 L 163.643361 133.767933 " style="fill:none;stroke:#ffd500;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 163.643361 133.767933 + <path clip-path="url(#p39d06bc184)" d="M 163.643361 133.767933 L 163.643361 133.767933 " style="fill:none;stroke:#ffd200;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 163.643361 133.767933 + <path clip-path="url(#p39d06bc184)" d="M 163.643361 133.767933 L 158.210779 137.497401 " style="fill:none;stroke:#ffd200;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 158.210779 137.497401 + <path clip-path="url(#p39d06bc184)" d="M 158.210779 137.497401 L 158.210779 137.497401 " style="fill:none;stroke:#ffcd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 158.210779 137.497401 + <path clip-path="url(#p39d06bc184)" d="M 158.210779 137.497401 L 150.149154 141.390468 " style="fill:none;stroke:#ffcd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 150.149154 141.390468 + <path clip-path="url(#p39d06bc184)" d="M 150.149154 141.390468 L 150.149154 141.390468 " style="fill:none;stroke:#ffc600;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 150.149154 141.390468 + <path clip-path="url(#p39d06bc184)" d="M 150.149154 141.390468 L 135.202173 146.743897 " style="fill:none;stroke:#ffc600;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 135.202173 146.743897 + <path clip-path="url(#p39d06bc184)" d="M 135.202173 146.743897 L 119.903255 151.194389 " style="fill:none;stroke:#ffb700;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 119.903255 151.194389 + <path clip-path="url(#p39d06bc184)" d="M 119.903255 151.194389 L 104.445499 155.150444 " style="fill:none;stroke:#ffa400;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 104.445499 155.150444 + <path clip-path="url(#p39d06bc184)" d="M 104.445499 155.150444 L 88.892406 158.770522 " style="fill:none;stroke:#ff8e00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 88.892406 158.770522 + <path clip-path="url(#p39d06bc184)" d="M 88.892406 158.770522 L 73.271866 162.130913 " style="fill:none;stroke:#ff7500;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 73.271866 162.130913 + <path clip-path="url(#p39d06bc184)" d="M 73.271866 162.130913 L 57.6 165.278118 " style="fill:none;stroke:#ff5700;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 57.6 165.278118 + <path clip-path="url(#p39d06bc184)" d="M 57.6 165.278118 L 57.6 165.278118 " style="fill:none;stroke:#ff3600;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 57.6 165.278118 + <path clip-path="url(#p39d06bc184)" d="M 57.6 165.278118 L 57.6 165.278118 " style="fill:none;stroke:#ff3600;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 265.590935 218.432601 + <path clip-path="url(#p39d06bc184)" d="M 265.590935 218.432601 L 251.555059 213.30366 " style="fill:none;stroke:#ff9b00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 251.555059 213.30366 + <path clip-path="url(#p39d06bc184)" d="M 251.555059 213.30366 L 238.584455 207.603086 " style="fill:none;stroke:#ffaa00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 238.584455 207.603086 + <path clip-path="url(#p39d06bc184)" d="M 238.584455 207.603086 L 225.256127 200.528604 " style="fill:none;stroke:#ffb500;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 225.256127 200.528604 + <path clip-path="url(#p39d06bc184)" d="M 225.256127 200.528604 L 212.017066 192.134065 " style="fill:none;stroke:#ffbe00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 212.017066 192.134065 + <path clip-path="url(#p39d06bc184)" d="M 212.017066 192.134065 L 199.26791 183.085964 " style="fill:none;stroke:#ffc500;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 199.26791 183.085964 + <path clip-path="url(#p39d06bc184)" d="M 199.26791 183.085964 L 190.772493 177.108686 " style="fill:none;stroke:#ffc900;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 190.772493 177.108686 + <path clip-path="url(#p39d06bc184)" d="M 190.772493 177.108686 L 183.752823 172.78036 " style="fill:none;stroke:#ffcb00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 183.752823 172.78036 + <path clip-path="url(#p39d06bc184)" d="M 183.752823 172.78036 L 176.939445 169.488157 " style="fill:none;stroke:#ffcb00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 176.939445 169.488157 + <path clip-path="url(#p39d06bc184)" d="M 176.939445 169.488157 L 169.288478 167.032063 " style="fill:none;stroke:#ffca00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 169.288478 167.032063 + <path clip-path="url(#p39d06bc184)" d="M 169.288478 167.032063 L 161.392821 165.763062 " style="fill:none;stroke:#ffc800;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 161.392821 165.763062 + <path clip-path="url(#p39d06bc184)" d="M 161.392821 165.763062 L 161.392821 165.763062 " style="fill:none;stroke:#ffc400;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 161.392821 165.763062 + <path clip-path="url(#p39d06bc184)" d="M 161.392821 165.763062 L 152.2161 165.494956 " style="fill:none;stroke:#ffc400;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 152.2161 165.494956 + <path clip-path="url(#p39d06bc184)" d="M 152.2161 165.494956 L 152.2161 165.494956 " style="fill:none;stroke:#ffbe00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 152.2161 165.494956 + <path clip-path="url(#p39d06bc184)" d="M 152.2161 165.494956 L 136.271008 166.818742 " style="fill:none;stroke:#ffbe00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 136.271008 166.818742 + <path clip-path="url(#p39d06bc184)" d="M 136.271008 166.818742 L 120.459334 169.266263 " style="fill:none;stroke:#ffb000;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 120.459334 169.266263 + <path clip-path="url(#p39d06bc184)" d="M 120.459334 169.266263 L 104.725703 172.132866 " style="fill:none;stroke:#ff9e00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 104.725703 172.132866 + <path clip-path="url(#p39d06bc184)" d="M 104.725703 172.132866 L 89.019986 175.131581 " style="fill:none;stroke:#ff8800;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 89.019986 175.131581 + <path clip-path="url(#p39d06bc184)" d="M 89.019986 175.131581 L 73.315629 178.136595 " style="fill:none;stroke:#ff6f00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 73.315629 178.136595 + <path clip-path="url(#p39d06bc184)" d="M 73.315629 178.136595 L 57.6 181.089882 " style="fill:none;stroke:#ff5100;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 57.6 181.089882 + <path clip-path="url(#p39d06bc184)" d="M 57.6 181.089882 L 57.6 181.089882 " style="fill:none;stroke:#ff3000;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 57.6 181.089882 + <path clip-path="url(#p39d06bc184)" d="M 57.6 181.089882 L 57.6 181.089882 " style="fill:none;stroke:#ff3000;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 179.959645 185.443997 + <path clip-path="url(#p39d06bc184)" d="M 179.959645 185.443997 L 170.928461 183.002253 " style="fill:none;stroke:#ffc500;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 170.928461 183.002253 + <path clip-path="url(#p39d06bc184)" d="M 170.928461 183.002253 L 160.161698 181.533759 " style="fill:none;stroke:#ffc200;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 160.161698 181.533759 + <path clip-path="url(#p39d06bc184)" d="M 160.161698 181.533759 L 149.60646 181.380782 " style="fill:none;stroke:#ffbd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 149.60646 181.380782 + <path clip-path="url(#p39d06bc184)" d="M 149.60646 181.380782 L 149.60646 181.380782 " style="fill:none;stroke:#ffb600;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 149.60646 181.380782 + <path clip-path="url(#p39d06bc184)" d="M 149.60646 181.380782 L 136.210238 182.417083 " style="fill:none;stroke:#ffb600;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 136.210238 182.417083 + <path clip-path="url(#p39d06bc184)" d="M 136.210238 182.417083 L 136.210238 182.417083 " style="fill:none;stroke:#ffaa00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 136.210238 182.417083 + <path clip-path="url(#p39d06bc184)" d="M 136.210238 182.417083 L 120.370161 184.687484 " style="fill:none;stroke:#ffaa00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 120.370161 184.687484 + <path clip-path="url(#p39d06bc184)" d="M 120.370161 184.687484 L 104.630262 187.520759 " style="fill:none;stroke:#ff9800;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 104.630262 187.520759 + <path clip-path="url(#p39d06bc184)" d="M 104.630262 187.520759 L 88.941706 190.595657 " style="fill:none;stroke:#ff8200;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 88.941706 190.595657 + <path clip-path="url(#p39d06bc184)" d="M 88.941706 190.595657 L 73.271306 193.750594 " style="fill:none;stroke:#ff6900;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 73.271306 193.750594 + <path clip-path="url(#p39d06bc184)" d="M 73.271306 193.750594 L 57.6 196.901647 " style="fill:none;stroke:#ff4b00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 57.6 196.901647 + <path clip-path="url(#p39d06bc184)" d="M 57.6 196.901647 L 57.6 196.901647 " style="fill:none;stroke:#ff2a00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 57.6 196.901647 + <path clip-path="url(#p39d06bc184)" d="M 57.6 196.901647 L 57.6 196.901647 " style="fill:none;stroke:#ff2a00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 57.6 196.901647 + <path clip-path="url(#p39d06bc184)" d="M 57.6 196.901647 L 57.6 196.901647 " style="fill:none;stroke:#ff2a00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 193.74311 198.836505 + <path clip-path="url(#p39d06bc184)" d="M 193.74311 198.836505 L 184.09866 196.016704 " style="fill:none;stroke:#ffc300;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 184.09866 196.016704 + <path clip-path="url(#p39d06bc184)" d="M 184.09866 196.016704 L 174.173169 194.084543 " style="fill:none;stroke:#ffc200;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 174.173169 194.084543 + <path clip-path="url(#p39d06bc184)" d="M 174.173169 194.084543 L 162.646594 193.178876 " style="fill:none;stroke:#ffc000;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 162.646594 193.178876 + <path clip-path="url(#p39d06bc184)" d="M 162.646594 193.178876 L 151.444751 193.527412 " style="fill:none;stroke:#ffba00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 151.444751 193.527412 + <path clip-path="url(#p39d06bc184)" d="M 151.444751 193.527412 L 151.444751 193.527412 " style="fill:none;stroke:#ffb300;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 151.444751 193.527412 + <path clip-path="url(#p39d06bc184)" d="M 151.444751 193.527412 L 135.561159 195.429117 " style="fill:none;stroke:#ffb300;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 135.561159 195.429117 + <path clip-path="url(#p39d06bc184)" d="M 135.561159 195.429117 L 119.840287 198.3363 " style="fill:none;stroke:#ffa500;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 119.840287 198.3363 + <path clip-path="url(#p39d06bc184)" d="M 119.840287 198.3363 L 104.230135 201.73593 " style="fill:none;stroke:#ff9200;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 104.230135 201.73593 + <path clip-path="url(#p39d06bc184)" d="M 104.230135 201.73593 L 88.675188 205.351984 " style="fill:none;stroke:#ff7c00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 88.675188 205.351984 + <path clip-path="url(#p39d06bc184)" d="M 88.675188 205.351984 L 73.138925 209.037665 " style="fill:none;stroke:#ff6200;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 73.138925 209.037665 + <path clip-path="url(#p39d06bc184)" d="M 73.138925 209.037665 L 57.6 212.713412 " style="fill:none;stroke:#ff4500;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 57.6 212.713412 + <path clip-path="url(#p39d06bc184)" d="M 57.6 212.713412 L 57.6 212.713412 " style="fill:none;stroke:#ff2400;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 57.6 212.713412 + <path clip-path="url(#p39d06bc184)" d="M 57.6 212.713412 L 57.6 212.713412 " style="fill:none;stroke:#ff2400;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 57.6 212.713412 + <path clip-path="url(#p39d06bc184)" d="M 57.6 212.713412 L 57.6 212.713412 " style="fill:none;stroke:#ff2400;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 231.317678 217.909778 + <path clip-path="url(#p39d06bc184)" d="M 231.317678 217.909778 L 215.896 213.885032 " style="fill:none;stroke:#ffb400;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 215.896 213.885032 + <path clip-path="url(#p39d06bc184)" d="M 215.896 213.885032 L 204.210719 211.205888 " style="fill:none;stroke:#ffbb00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 204.210719 211.205888 + <path clip-path="url(#p39d06bc184)" d="M 204.210719 211.205888 L 193.835713 209.475389 " style="fill:none;stroke:#ffbe00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 193.835713 209.475389 + <path clip-path="url(#p39d06bc184)" d="M 193.835713 209.475389 L 183.511944 208.649202 " style="fill:none;stroke:#ffbf00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 183.511944 208.649202 + <path clip-path="url(#p39d06bc184)" d="M 183.511944 208.649202 L 172.024958 208.930721 " style="fill:none;stroke:#ffbd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 172.024958 208.930721 + <path clip-path="url(#p39d06bc184)" d="M 172.024958 208.930721 L 160.89453 210.37479 " style="fill:none;stroke:#ffb900;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 160.89453 210.37479 + <path clip-path="url(#p39d06bc184)" d="M 160.89453 210.37479 L 160.89453 210.37479 " style="fill:none;stroke:#ffb300;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 160.89453 210.37479 + <path clip-path="url(#p39d06bc184)" d="M 160.89453 210.37479 L 147.760874 213.233153 " style="fill:none;stroke:#ffb300;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 147.760874 213.233153 + <path clip-path="url(#p39d06bc184)" d="M 147.760874 213.233153 L 147.760874 213.233153 " style="fill:none;stroke:#ffa900;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 147.760874 213.233153 + <path clip-path="url(#p39d06bc184)" d="M 147.760874 213.233153 L 132.451377 217.640359 " style="fill:none;stroke:#ffa900;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 132.451377 217.640359 + <path clip-path="url(#p39d06bc184)" d="M 132.451377 217.640359 L 117.358069 222.668607 " style="fill:none;stroke:#ff9900;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 117.358069 222.668607 + <path clip-path="url(#p39d06bc184)" d="M 117.358069 222.668607 L 102.382126 227.997006 " style="fill:none;stroke:#ff8600;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 102.382126 227.997006 + <path clip-path="url(#p39d06bc184)" d="M 102.382126 227.997006 L 87.455941 233.446299 " style="fill:none;stroke:#ff6f00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 87.455941 233.446299 + <path clip-path="url(#p39d06bc184)" d="M 87.455941 233.446299 L 72.537114 238.913312 " style="fill:none;stroke:#ff5600;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 72.537114 238.913312 + <path clip-path="url(#p39d06bc184)" d="M 72.537114 238.913312 L 57.6 244.336941 " style="fill:none;stroke:#ff3800;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 57.6 244.336941 + <path clip-path="url(#p39d06bc184)" d="M 57.6 244.336941 L 57.6 244.336941 " style="fill:none;stroke:#ff1800;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 57.6 244.336941 + <path clip-path="url(#p39d06bc184)" d="M 57.6 244.336941 L 57.6 244.336941 " style="fill:none;stroke:#ff1800;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 57.6 244.336941 + <path clip-path="url(#p39d06bc184)" d="M 57.6 244.336941 L 57.6 244.336941 " style="fill:none;stroke:#ff1800;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 100.88334 240.615424 + <path clip-path="url(#p39d06bc184)" d="M 100.88334 240.615424 L 86.456208 247.127648 " style="fill:none;stroke:#ff6800;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 86.456208 247.127648 + <path clip-path="url(#p39d06bc184)" d="M 86.456208 247.127648 L 72.037544 253.656264 " style="fill:none;stroke:#ff4f00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 72.037544 253.656264 + <path clip-path="url(#p39d06bc184)" d="M 72.037544 253.656264 L 57.6 260.148706 " style="fill:none;stroke:#ff3200;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 57.6 260.148706 + <path clip-path="url(#p39d06bc184)" d="M 57.6 260.148706 L 57.6 260.148706 " style="fill:none;stroke:#ff1200;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 57.6 260.148706 + <path clip-path="url(#p39d06bc184)" d="M 57.6 260.148706 L 57.6 260.148706 " style="fill:none;stroke:#ff1200;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 57.6 260.148706 + <path clip-path="url(#p39d06bc184)" d="M 57.6 260.148706 L 57.6 260.148706 " style="fill:none;stroke:#ff1200;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 99.027949 253.204393 + <path clip-path="url(#p39d06bc184)" d="M 99.027949 253.204393 L 85.207246 260.771554 " style="fill:none;stroke:#ff6100;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 85.207246 260.771554 + <path clip-path="url(#p39d06bc184)" d="M 85.207246 260.771554 L 71.407151 268.371395 " style="fill:none;stroke:#ff4700;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 71.407151 268.371395 + <path clip-path="url(#p39d06bc184)" d="M 71.407151 268.371395 L 57.6 275.960471 " style="fill:none;stroke:#ff2b00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 57.6 275.960471 + <path clip-path="url(#p39d06bc184)" d="M 57.6 275.960471 L 57.6 275.960471 " style="fill:none;stroke:#ff0c00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 57.6 275.960471 + <path clip-path="url(#p39d06bc184)" d="M 57.6 275.960471 L 57.6 275.960471 " style="fill:none;stroke:#ff0c00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 57.6 275.960471 + <path clip-path="url(#p39d06bc184)" d="M 57.6 275.960471 L 57.6 275.960471 " style="fill:none;stroke:#ff0c00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 329.206417 212.713412 + <path clip-path="url(#p39d06bc184)" d="M 329.206417 212.713412 L 314.079049 207.781073 " style="fill:none;stroke:#ff4100;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 314.079049 207.781073 + <path clip-path="url(#p39d06bc184)" d="M 314.079049 207.781073 L 299.278035 202.060772 " style="fill:none;stroke:#ff5e00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 299.278035 202.060772 + <path clip-path="url(#p39d06bc184)" d="M 299.278035 202.060772 L 284.954051 195.37879 " style="fill:none;stroke:#ff7800;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 284.954051 195.37879 + <path clip-path="url(#p39d06bc184)" d="M 284.954051 195.37879 L 271.314691 187.56209 " style="fill:none;stroke:#ff8f00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 271.314691 187.56209 + <path clip-path="url(#p39d06bc184)" d="M 271.314691 187.56209 L 259.662786 179.326663 " style="fill:none;stroke:#ffa100;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 259.662786 179.326663 + <path clip-path="url(#p39d06bc184)" d="M 259.662786 179.326663 L 249.651441 170.678378 " style="fill:none;stroke:#ffb000;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 249.651441 170.678378 + <path clip-path="url(#p39d06bc184)" d="M 249.651441 170.678378 L 240.866707 161.479663 " style="fill:none;stroke:#ffbc00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 240.866707 161.479663 + <path clip-path="url(#p39d06bc184)" d="M 240.866707 161.479663 L 233.040799 151.591142 " style="fill:none;stroke:#ffc500;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 233.040799 151.591142 + <path clip-path="url(#p39d06bc184)" d="M 233.040799 151.591142 L 226.065263 140.906162 " style="fill:none;stroke:#ffcd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 226.065263 140.906162 + <path clip-path="url(#p39d06bc184)" d="M 226.065263 140.906162 L 226.065263 140.906162 " style="fill:none;stroke:#ffd400;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 226.065263 140.906162 + <path clip-path="url(#p39d06bc184)" d="M 226.065263 140.906162 L 220.96515 131.244509 " style="fill:none;stroke:#ffd400;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 220.96515 131.244509 + <path clip-path="url(#p39d06bc184)" d="M 220.96515 131.244509 L 220.96515 131.244509 " style="fill:none;stroke:#ffda00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 220.96515 131.244509 + <path clip-path="url(#p39d06bc184)" d="M 220.96515 131.244509 L 219.890408 128.849758 " style="fill:none;stroke:#ffda00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 219.890408 128.849758 + <path clip-path="url(#p39d06bc184)" d="M 219.890408 128.849758 L 219.890408 128.849758 " style="fill:none;stroke:#ffdb00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 219.890408 128.849758 + <path clip-path="url(#p39d06bc184)" d="M 219.890408 128.849758 L 219.059496 126.706484 " style="fill:none;stroke:#ffdb00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 219.059496 126.706484 + <path clip-path="url(#p39d06bc184)" d="M 219.059496 126.706484 L 219.059496 126.706484 " style="fill:none;stroke:#ffdc00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 219.059496 126.706484 + <path clip-path="url(#p39d06bc184)" d="M 219.059496 126.706484 L 218.539582 124.812949 " style="fill:none;stroke:#ffdc00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 218.539582 124.812949 + <path clip-path="url(#p39d06bc184)" d="M 218.539582 124.812949 L 218.539582 124.812949 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 218.539582 124.812949 + <path clip-path="url(#p39d06bc184)" d="M 218.539582 124.812949 L 218.544566 123.678079 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 218.544566 123.678079 + <path clip-path="url(#p39d06bc184)" d="M 218.544566 123.678079 L 219.03786 123.031326 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 219.03786 123.031326 + <path clip-path="url(#p39d06bc184)" d="M 219.03786 123.031326 L 219.03786 123.031326 " style="fill:none;stroke:#ffde00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 219.03786 123.031326 + <path clip-path="url(#p39d06bc184)" d="M 219.03786 123.031326 L 219.633426 122.556722 " style="fill:none;stroke:#ffde00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 219.633426 122.556722 + <path clip-path="url(#p39d06bc184)" d="M 219.633426 122.556722 L 220.085876 122.258806 " style="fill:none;stroke:#ffde00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 220.085876 122.258806 + <path clip-path="url(#p39d06bc184)" d="M 220.085876 122.258806 L 220.466626 122.017656 " style="fill:none;stroke:#ffde00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 220.466626 122.017656 + <path clip-path="url(#p39d06bc184)" d="M 220.466626 122.017656 L 220.772865 121.825449 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 220.772865 121.825449 + <path clip-path="url(#p39d06bc184)" d="M 220.772865 121.825449 L 221.030531 121.683526 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 221.030531 121.683526 + <path clip-path="url(#p39d06bc184)" d="M 221.030531 121.683526 L 221.303677 121.609649 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 221.303677 121.609649 + <path clip-path="url(#p39d06bc184)" d="M 221.303677 121.609649 L 221.577966 121.637576 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 221.577966 121.637576 + <path clip-path="url(#p39d06bc184)" d="M 221.577966 121.637576 L 221.577966 121.637576 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 221.577966 121.637576 + <path clip-path="url(#p39d06bc184)" d="M 221.577966 121.637576 L 221.672629 121.544084 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 221.672629 121.544084 + <path clip-path="url(#p39d06bc184)" d="M 221.672629 121.544084 L 221.737118 121.456396 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 221.737118 121.456396 + <path clip-path="url(#p39d06bc184)" d="M 221.737118 121.456396 L 221.808104 121.410862 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 221.808104 121.410862 + <path clip-path="url(#p39d06bc184)" d="M 221.808104 121.410862 L 221.894196 121.418591 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 221.894196 121.418591 + <path clip-path="url(#p39d06bc184)" d="M 221.894196 121.418591 L 221.980513 121.460439 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 221.980513 121.460439 + <path clip-path="url(#p39d06bc184)" d="M 221.980513 121.460439 L 222.028067 121.464405 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.028067 121.464405 + <path clip-path="url(#p39d06bc184)" d="M 222.028067 121.464405 L 222.028232 121.403923 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.028232 121.403923 + <path clip-path="url(#p39d06bc184)" d="M 222.028232 121.403923 L 222.019157 121.339685 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.019157 121.339685 + <path clip-path="url(#p39d06bc184)" d="M 222.019157 121.339685 L 222.027685 121.31563 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.027685 121.31563 + <path clip-path="url(#p39d06bc184)" d="M 222.027685 121.31563 L 222.060577 121.343442 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.060577 121.343442 + <path clip-path="url(#p39d06bc184)" d="M 222.060577 121.343442 L 222.106826 121.404182 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.106826 121.404182 + <path clip-path="url(#p39d06bc184)" d="M 222.106826 121.404182 L 222.127431 121.424919 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.127431 121.424919 + <path clip-path="url(#p39d06bc184)" d="M 222.127431 121.424919 L 222.107441 121.37475 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.107441 121.37475 + <path clip-path="url(#p39d06bc184)" d="M 222.107441 121.37475 L 222.082375 121.316383 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.082375 121.316383 + <path clip-path="url(#p39d06bc184)" d="M 222.082375 121.316383 L 222.076741 121.295763 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.076741 121.295763 + <path clip-path="url(#p39d06bc184)" d="M 222.076741 121.295763 L 222.096484 121.325101 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.096484 121.325101 + <path clip-path="url(#p39d06bc184)" d="M 222.096484 121.325101 L 222.132258 121.387279 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.132258 121.387279 + <path clip-path="url(#p39d06bc184)" d="M 222.132258 121.387279 L 222.147013 121.413384 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.147013 121.413384 + <path clip-path="url(#p39d06bc184)" d="M 222.147013 121.413384 L 222.124908 121.370337 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.124908 121.370337 + <path clip-path="url(#p39d06bc184)" d="M 222.124908 121.370337 L 222.097037 121.315052 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.097037 121.315052 + <path clip-path="url(#p39d06bc184)" d="M 222.097037 121.315052 L 222.087845 121.294144 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.087845 121.294144 + <path clip-path="url(#p39d06bc184)" d="M 222.087845 121.294144 L 222.103253 121.32052 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.103253 121.32052 + <path clip-path="url(#p39d06bc184)" d="M 222.103253 121.32052 L 222.134593 121.378921 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.134593 121.378921 + <path clip-path="url(#p39d06bc184)" d="M 222.134593 121.378921 L 222.148899 121.407235 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.148899 121.407235 + <path clip-path="url(#p39d06bc184)" d="M 222.148899 121.407235 L 222.12891 121.370376 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.12891 121.370376 + <path clip-path="url(#p39d06bc184)" d="M 222.12891 121.370376 L 222.101592 121.317893 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.101592 121.317893 + <path clip-path="url(#p39d06bc184)" d="M 222.101592 121.317893 L 222.091126 121.29606 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.091126 121.29606 + <path clip-path="url(#p39d06bc184)" d="M 222.091126 121.29606 L 222.104157 121.3189 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.104157 121.3189 + <path clip-path="url(#p39d06bc184)" d="M 222.104157 121.3189 L 222.132824 121.373045 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.132824 121.373045 + <path clip-path="url(#p39d06bc184)" d="M 222.132824 121.373045 L 222.147468 121.402452 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.147468 121.402452 + <path clip-path="url(#p39d06bc184)" d="M 222.147468 121.402452 L 222.130096 121.37096 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.130096 121.37096 + <path clip-path="url(#p39d06bc184)" d="M 222.130096 121.37096 L 222.103982 121.321196 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.103982 121.321196 + <path clip-path="url(#p39d06bc184)" d="M 222.103982 121.321196 L 222.092883 121.298565 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.092883 121.298565 + <path clip-path="url(#p39d06bc184)" d="M 222.092883 121.298565 L 222.104036 121.318093 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.104036 121.318093 + <path clip-path="url(#p39d06bc184)" d="M 222.104036 121.318093 L 222.130547 121.368233 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.130547 121.368233 + <path clip-path="url(#p39d06bc184)" d="M 222.130547 121.368233 L 222.145516 121.398211 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.145516 121.398211 + <path clip-path="url(#p39d06bc184)" d="M 222.145516 121.398211 L 222.130609 121.371441 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.130609 121.371441 + <path clip-path="url(#p39d06bc184)" d="M 222.130609 121.371441 L 222.105805 121.324324 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.105805 121.324324 + <path clip-path="url(#p39d06bc184)" d="M 222.105805 121.324324 L 222.094287 121.30108 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.094287 121.30108 + <path clip-path="url(#p39d06bc184)" d="M 222.094287 121.30108 L 222.103814 121.317632 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.103814 121.317632 + <path clip-path="url(#p39d06bc184)" d="M 222.103814 121.317632 L 222.128414 121.3641 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.128414 121.3641 + <path clip-path="url(#p39d06bc184)" d="M 222.128414 121.3641 L 222.143578 121.394316 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.143578 121.394316 + <path clip-path="url(#p39d06bc184)" d="M 222.143578 121.394316 L 222.13089 121.371728 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.13089 121.371728 + <path clip-path="url(#p39d06bc184)" d="M 222.13089 121.371728 L 222.10739 121.327185 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.10739 121.327185 + <path clip-path="url(#p39d06bc184)" d="M 222.10739 121.327185 L 222.095572 121.3035 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.095572 121.3035 + <path clip-path="url(#p39d06bc184)" d="M 222.095572 121.3035 L 222.103657 121.317388 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.103657 121.317388 + <path clip-path="url(#p39d06bc184)" d="M 222.103657 121.317388 L 222.126514 121.36049 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.126514 121.36049 + <path clip-path="url(#p39d06bc184)" d="M 222.126514 121.36049 L 222.141746 121.390697 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.141746 121.390697 + <path clip-path="url(#p39d06bc184)" d="M 222.141746 121.390697 L 222.131042 121.371831 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.131042 121.371831 + <path clip-path="url(#p39d06bc184)" d="M 222.131042 121.371831 L 222.108818 121.329787 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.108818 121.329787 + <path clip-path="url(#p39d06bc184)" d="M 222.108818 121.329787 L 222.096788 121.305814 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.096788 121.305814 + <path clip-path="url(#p39d06bc184)" d="M 222.096788 121.305814 L 222.10358 121.31731 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.10358 121.31731 + <path clip-path="url(#p39d06bc184)" d="M 222.10358 121.31731 L 222.124832 121.357314 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.124832 121.357314 + <path clip-path="url(#p39d06bc184)" d="M 222.124832 121.357314 L 222.140026 121.387322 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.140026 121.387322 + <path clip-path="url(#p39d06bc184)" d="M 222.140026 121.387322 L 222.131096 121.371773 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.131096 121.371773 + <path clip-path="url(#p39d06bc184)" d="M 222.131096 121.371773 L 222.110115 121.332153 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.110115 121.332153 + <path clip-path="url(#p39d06bc184)" d="M 222.110115 121.332153 L 222.09795 121.308027 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.09795 121.308027 + <path clip-path="url(#p39d06bc184)" d="M 222.09795 121.308027 L 222.103575 121.317368 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.103575 121.317368 + <path clip-path="url(#p39d06bc184)" d="M 222.103575 121.317368 L 222.12334 121.354506 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.12334 121.354506 + <path clip-path="url(#p39d06bc184)" d="M 222.12334 121.354506 L 222.138412 121.384166 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.138412 121.384166 + <path clip-path="url(#p39d06bc184)" d="M 222.138412 121.384166 L 222.131071 121.37158 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.131071 121.37158 + <path clip-path="url(#p39d06bc184)" d="M 222.131071 121.37158 L 222.111296 121.334306 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.111296 121.334306 + <path clip-path="url(#p39d06bc184)" d="M 222.111296 121.334306 L 222.099061 121.310142 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.099061 121.310142 + <path clip-path="url(#p39d06bc184)" d="M 222.099061 121.310142 L 222.10363 121.317538 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.10363 121.317538 + <path clip-path="url(#p39d06bc184)" d="M 222.10363 121.317538 L 222.122014 121.352016 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.122014 121.352016 + <path clip-path="url(#p39d06bc184)" d="M 222.122014 121.352016 L 222.136896 121.381209 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.136896 121.381209 + <path clip-path="url(#p39d06bc184)" d="M 222.136896 121.381209 L 222.130978 121.371273 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.130978 121.371273 + <path clip-path="url(#p39d06bc184)" d="M 222.130978 121.371273 L 222.112372 121.336265 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.112372 121.336265 + <path clip-path="url(#p39d06bc184)" d="M 222.112372 121.336265 L 222.100125 121.312166 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.100125 121.312166 + <path clip-path="url(#p39d06bc184)" d="M 222.100125 121.312166 L 222.103737 121.317802 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.103737 121.317802 + <path clip-path="url(#p39d06bc184)" d="M 222.103737 121.317802 L 222.120831 121.349802 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.120831 121.349802 + <path clip-path="url(#p39d06bc184)" d="M 222.120831 121.349802 L 222.135471 121.378436 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.135471 121.378436 + <path clip-path="url(#p39d06bc184)" d="M 222.135471 121.378436 L 222.130828 121.370868 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.130828 121.370868 + <path clip-path="url(#p39d06bc184)" d="M 222.130828 121.370868 L 222.113352 121.338047 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.113352 121.338047 + <path clip-path="url(#p39d06bc184)" d="M 222.113352 121.338047 L 222.101144 121.314103 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.101144 121.314103 + <path clip-path="url(#p39d06bc184)" d="M 222.101144 121.314103 L 222.103886 121.318144 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.103886 121.318144 + <path clip-path="url(#p39d06bc184)" d="M 222.103886 121.318144 L 222.119776 121.347832 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.119776 121.347832 + <path clip-path="url(#p39d06bc184)" d="M 222.119776 121.347832 L 222.13413 121.375833 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.13413 121.375833 + <path clip-path="url(#p39d06bc184)" d="M 222.13413 121.375833 L 222.13063 121.370382 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.13063 121.370382 + <path clip-path="url(#p39d06bc184)" d="M 222.13063 121.370382 L 222.114245 121.339667 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.114245 121.339667 + <path clip-path="url(#p39d06bc184)" d="M 222.114245 121.339667 L 222.10212 121.315958 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.10212 121.315958 + <path clip-path="url(#p39d06bc184)" d="M 222.10212 121.315958 L 222.104073 121.318553 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.104073 121.318553 + <path clip-path="url(#p39d06bc184)" d="M 222.104073 121.318553 L 222.118833 121.346077 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.118833 121.346077 + <path clip-path="url(#p39d06bc184)" d="M 222.118833 121.346077 L 222.132866 121.373386 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.132866 121.373386 + <path clip-path="url(#p39d06bc184)" d="M 222.132866 121.373386 L 222.130391 121.369826 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.130391 121.369826 + <path clip-path="url(#p39d06bc184)" d="M 222.130391 121.369826 L 222.115057 121.341137 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.115057 121.341137 + <path clip-path="url(#p39d06bc184)" d="M 222.115057 121.341137 L 222.103055 121.317732 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.103055 121.317732 + <path clip-path="url(#p39d06bc184)" d="M 222.103055 121.317732 L 222.10429 121.319017 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.10429 121.319017 + <path clip-path="url(#p39d06bc184)" d="M 222.10429 121.319017 L 222.11799 121.344513 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.11799 121.344513 + <path clip-path="url(#p39d06bc184)" d="M 222.11799 121.344513 L 222.131676 121.371085 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.131676 121.371085 + <path clip-path="url(#p39d06bc184)" d="M 222.131676 121.371085 L 222.130118 121.369213 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.130118 121.369213 + <path clip-path="url(#p39d06bc184)" d="M 222.130118 121.369213 L 222.115795 121.342469 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.115795 121.342469 + <path clip-path="url(#p39d06bc184)" d="M 222.115795 121.342469 L 222.103951 121.31943 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.103951 121.31943 + <path clip-path="url(#p39d06bc184)" d="M 222.103951 121.31943 L 222.104534 121.319529 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.104534 121.319529 + <path clip-path="url(#p39d06bc184)" d="M 222.104534 121.319529 L 222.117237 121.343121 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.117237 121.343121 + <path clip-path="url(#p39d06bc184)" d="M 222.117237 121.343121 L 222.130553 121.36892 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.130553 121.36892 + <path clip-path="url(#p39d06bc184)" d="M 222.130553 121.36892 L 222.129815 121.368553 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.129815 121.368553 + <path clip-path="url(#p39d06bc184)" d="M 222.129815 121.368553 L 222.116464 121.343673 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.116464 121.343673 + <path clip-path="url(#p39d06bc184)" d="M 222.116464 121.343673 L 222.104808 121.321053 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.104808 121.321053 + <path clip-path="url(#p39d06bc184)" d="M 222.104808 121.321053 L 222.1048 121.32008 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.1048 121.32008 + <path clip-path="url(#p39d06bc184)" d="M 222.1048 121.32008 L 222.116565 121.341881 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.116565 121.341881 + <path clip-path="url(#p39d06bc184)" d="M 222.116565 121.341881 L 222.129495 121.366883 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.129495 121.366883 + <path clip-path="url(#p39d06bc184)" d="M 222.129495 121.366883 L 222.129487 121.367852 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.129487 121.367852 + <path clip-path="url(#p39d06bc184)" d="M 222.129487 121.367852 L 222.11707 121.344759 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.11707 121.344759 + <path clip-path="url(#p39d06bc184)" d="M 222.11707 121.344759 L 222.105628 121.322605 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.105628 121.322605 + <path clip-path="url(#p39d06bc184)" d="M 222.105628 121.322605 L 222.105085 121.320663 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.105085 121.320663 + <path clip-path="url(#p39d06bc184)" d="M 222.105085 121.320663 L 222.115966 121.34078 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.115966 121.34078 + <path clip-path="url(#p39d06bc184)" d="M 222.115966 121.34078 L 222.128498 121.364967 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.128498 121.364967 + <path clip-path="url(#p39d06bc184)" d="M 222.128498 121.364967 L 222.12914 121.367121 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.12914 121.367121 + <path clip-path="url(#p39d06bc184)" d="M 222.12914 121.367121 L 222.117615 121.345735 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.117615 121.345735 + <path clip-path="url(#p39d06bc184)" d="M 222.117615 121.345735 L 222.106413 121.324088 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.106413 121.324088 + <path clip-path="url(#p39d06bc184)" d="M 222.106413 121.324088 L 222.105385 121.321273 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.105385 121.321273 + <path clip-path="url(#p39d06bc184)" d="M 222.105385 121.321273 L 222.115432 121.339804 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.115432 121.339804 + <path clip-path="url(#p39d06bc184)" d="M 222.115432 121.339804 L 222.127557 121.363163 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.127557 121.363163 + <path clip-path="url(#p39d06bc184)" d="M 222.127557 121.363163 L 222.128777 121.366363 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.128777 121.366363 + <path clip-path="url(#p39d06bc184)" d="M 222.128777 121.366363 L 222.118106 121.346609 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.118106 121.346609 + <path clip-path="url(#p39d06bc184)" d="M 222.118106 121.346609 L 222.107162 121.325503 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.107162 121.325503 + <path clip-path="url(#p39d06bc184)" d="M 222.107162 121.325503 L 222.105698 121.321905 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.105698 121.321905 + <path clip-path="url(#p39d06bc184)" d="M 222.105698 121.321905 L 222.114959 121.338942 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.114959 121.338942 + <path clip-path="url(#p39d06bc184)" d="M 222.114959 121.338942 L 222.126671 121.361465 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.126671 121.361465 + <path clip-path="url(#p39d06bc184)" d="M 222.126671 121.361465 L 222.128401 121.365587 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.128401 121.365587 + <path clip-path="url(#p39d06bc184)" d="M 222.128401 121.365587 L 222.118546 121.347388 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.118546 121.347388 + <path clip-path="url(#p39d06bc184)" d="M 222.118546 121.347388 L 222.107878 121.326853 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.107878 121.326853 + <path clip-path="url(#p39d06bc184)" d="M 222.107878 121.326853 L 222.106022 121.322554 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.106022 121.322554 + <path clip-path="url(#p39d06bc184)" d="M 222.106022 121.322554 L 222.11454 121.338184 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.11454 121.338184 + <path clip-path="url(#p39d06bc184)" d="M 222.11454 121.338184 L 222.125835 121.359869 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.125835 121.359869 + <path clip-path="url(#p39d06bc184)" d="M 222.125835 121.359869 L 222.128014 121.364797 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.128014 121.364797 + <path clip-path="url(#p39d06bc184)" d="M 222.128014 121.364797 L 222.118937 121.348078 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.118937 121.348078 + <path clip-path="url(#p39d06bc184)" d="M 222.118937 121.348078 L 222.108561 121.32814 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.108561 121.32814 + <path clip-path="url(#p39d06bc184)" d="M 222.108561 121.32814 L 222.106353 121.323217 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.106353 121.323217 + <path clip-path="url(#p39d06bc184)" d="M 222.106353 121.323217 L 222.114171 121.337519 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.114171 121.337519 + <path clip-path="url(#p39d06bc184)" d="M 222.114171 121.337519 L 222.125048 121.358367 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.125048 121.358367 + <path clip-path="url(#p39d06bc184)" d="M 222.125048 121.358367 L 222.127621 121.363997 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.127621 121.363997 + <path clip-path="url(#p39d06bc184)" d="M 222.127621 121.363997 L 222.119284 121.348685 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.119284 121.348685 + <path clip-path="url(#p39d06bc184)" d="M 222.119284 121.348685 L 222.109212 121.329364 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.109212 121.329364 + <path clip-path="url(#p39d06bc184)" d="M 222.109212 121.329364 L 222.106691 121.323889 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.106691 121.323889 + <path clip-path="url(#p39d06bc184)" d="M 222.106691 121.323889 L 222.113848 121.33694 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.113848 121.33694 + <path clip-path="url(#p39d06bc184)" d="M 222.113848 121.33694 L 222.124307 121.356956 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.124307 121.356956 + <path clip-path="url(#p39d06bc184)" d="M 222.124307 121.356956 L 222.127222 121.363192 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.127222 121.363192 + <path clip-path="url(#p39d06bc184)" d="M 222.127222 121.363192 L 222.11959 121.349216 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.11959 121.349216 + <path clip-path="url(#p39d06bc184)" d="M 222.11959 121.349216 L 222.109831 121.330529 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.109831 121.330529 + <path clip-path="url(#p39d06bc184)" d="M 222.109831 121.330529 L 222.107034 121.324567 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.107034 121.324567 + <path clip-path="url(#p39d06bc184)" d="M 222.107034 121.324567 L 222.113566 121.33644 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.113566 121.33644 + <path clip-path="url(#p39d06bc184)" d="M 222.113566 121.33644 L 222.12361 121.35563 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.12361 121.35563 + <path clip-path="url(#p39d06bc184)" d="M 222.12361 121.35563 L 222.12682 121.362386 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.12682 121.362386 + <path clip-path="url(#p39d06bc184)" d="M 222.12682 121.362386 L 222.119857 121.349676 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.119857 121.349676 + <path clip-path="url(#p39d06bc184)" d="M 222.119857 121.349676 L 222.11042 121.331635 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.11042 121.331635 + <path clip-path="url(#p39d06bc184)" d="M 222.11042 121.331635 L 222.10738 121.32525 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.10738 121.32525 + <path clip-path="url(#p39d06bc184)" d="M 222.10738 121.32525 L 222.113323 121.336012 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.113323 121.336012 + <path clip-path="url(#p39d06bc184)" d="M 222.113323 121.336012 L 222.122954 121.354386 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.122954 121.354386 + <path clip-path="url(#p39d06bc184)" d="M 222.122954 121.354386 L 222.126418 121.361581 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.126418 121.361581 + <path clip-path="url(#p39d06bc184)" d="M 222.126418 121.361581 L 222.120088 121.35007 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.120088 121.35007 + <path clip-path="url(#p39d06bc184)" d="M 222.120088 121.35007 L 222.11098 121.332685 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.11098 121.332685 + <path clip-path="url(#p39d06bc184)" d="M 222.11098 121.332685 L 222.107727 121.325933 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.107727 121.325933 + <path clip-path="url(#p39d06bc184)" d="M 222.107727 121.325933 L 222.113115 121.33565 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.113115 121.33565 + <path clip-path="url(#p39d06bc184)" d="M 222.113115 121.33565 L 222.122338 121.353218 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.122338 121.353218 + <path clip-path="url(#p39d06bc184)" d="M 222.122338 121.353218 L 222.126016 121.360781 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.126016 121.360781 + <path clip-path="url(#p39d06bc184)" d="M 222.126016 121.360781 L 222.120285 121.350402 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.120285 121.350402 + <path clip-path="url(#p39d06bc184)" d="M 222.120285 121.350402 L 222.111511 121.333679 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.111511 121.333679 + <path clip-path="url(#p39d06bc184)" d="M 222.111511 121.333679 L 222.108074 121.326614 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.108074 121.326614 + <path clip-path="url(#p39d06bc184)" d="M 222.108074 121.326614 L 222.112939 121.335348 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.112939 121.335348 + <path clip-path="url(#p39d06bc184)" d="M 222.112939 121.335348 L 222.12176 121.352124 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 222.12176 121.352124 + <path clip-path="url(#p39d06bc184)" d="M 222.12176 121.352124 L 222.125616 121.359988 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 329.206417 196.901647 + <path clip-path="url(#p39d06bc184)" d="M 329.206417 196.901647 L 314.450736 191.077219 " style="fill:none;stroke:#ff4700;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 314.450736 191.077219 + <path clip-path="url(#p39d06bc184)" d="M 314.450736 191.077219 L 300.115913 184.408943 " style="fill:none;stroke:#ff6400;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 329.206417 181.089882 + <path clip-path="url(#p39d06bc184)" d="M 329.206417 181.089882 L 314.694291 174.756362 " style="fill:none;stroke:#ff4d00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 314.694291 174.756362 + <path clip-path="url(#p39d06bc184)" d="M 314.694291 174.756362 L 300.613233 167.632473 " style="fill:none;stroke:#ff6a00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 300.613233 167.632473 + <path clip-path="url(#p39d06bc184)" d="M 300.613233 167.632473 L 287.072966 159.654215 " style="fill:none;stroke:#ff8300;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 287.072966 159.654215 + <path clip-path="url(#p39d06bc184)" d="M 287.072966 159.654215 L 274.171617 150.806394 " style="fill:none;stroke:#ff9a00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 274.171617 150.806394 + <path clip-path="url(#p39d06bc184)" d="M 274.171617 150.806394 L 261.94693 141.159172 " style="fill:none;stroke:#ffad00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 261.94693 141.159172 + <path clip-path="url(#p39d06bc184)" d="M 261.94693 141.159172 L 250.263623 130.940054 " style="fill:none;stroke:#ffbd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 250.263623 130.940054 + <path clip-path="url(#p39d06bc184)" d="M 250.263623 130.940054 L 250.263623 130.940054 " style="fill:none;stroke:#ffca00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 250.263623 130.940054 + <path clip-path="url(#p39d06bc184)" d="M 250.263623 130.940054 L 241.069131 123.057099 " style="fill:none;stroke:#ffca00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 241.069131 123.057099 + <path clip-path="url(#p39d06bc184)" d="M 241.069131 123.057099 L 241.069131 123.057099 " style="fill:none;stroke:#ffd400;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 241.069131 123.057099 + <path clip-path="url(#p39d06bc184)" d="M 241.069131 123.057099 L 238.54602 121.086115 " style="fill:none;stroke:#ffd400;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 238.54602 121.086115 + <path clip-path="url(#p39d06bc184)" d="M 238.54602 121.086115 L 238.54602 121.086115 " style="fill:none;stroke:#ffd600;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 238.54602 121.086115 + <path clip-path="url(#p39d06bc184)" d="M 238.54602 121.086115 L 235.956289 119.387621 " style="fill:none;stroke:#ffd600;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 235.956289 119.387621 + <path clip-path="url(#p39d06bc184)" d="M 235.956289 119.387621 L 235.956289 119.387621 " style="fill:none;stroke:#ffd800;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 329.206417 165.278118 + <path clip-path="url(#p39d06bc184)" d="M 329.206417 165.278118 L 314.765377 158.80226 " style="fill:none;stroke:#ff5300;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 314.765377 158.80226 + <path clip-path="url(#p39d06bc184)" d="M 314.765377 158.80226 L 300.690629 151.662656 " style="fill:none;stroke:#ff7000;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 300.690629 151.662656 + <path clip-path="url(#p39d06bc184)" d="M 300.690629 151.662656 L 287.029015 143.858328 " style="fill:none;stroke:#ff8900;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 287.029015 143.858328 + <path clip-path="url(#p39d06bc184)" d="M 287.029015 143.858328 L 273.771929 135.468119 " style="fill:none;stroke:#ffa000;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 329.206417 149.466353 + <path clip-path="url(#p39d06bc184)" d="M 329.206417 149.466353 L 314.637065 143.240165 " style="fill:none;stroke:#ff5900;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 314.637065 143.240165 + <path clip-path="url(#p39d06bc184)" d="M 314.637065 143.240165 L 300.304271 136.554191 " style="fill:none;stroke:#ff7600;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 329.206417 133.654588 + <path clip-path="url(#p39d06bc184)" d="M 329.206417 133.654588 L 314.301317 128.15632 " style="fill:none;stroke:#ff5f00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 314.301317 128.15632 + <path clip-path="url(#p39d06bc184)" d="M 314.301317 128.15632 L 299.456976 122.516442 " style="fill:none;stroke:#ff7d00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 299.456976 122.516442 + <path clip-path="url(#p39d06bc184)" d="M 299.456976 122.516442 L 284.550487 117.023997 " style="fill:none;stroke:#ff9700;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 284.550487 117.023997 + <path clip-path="url(#p39d06bc184)" d="M 284.550487 117.023997 L 284.550487 117.023997 " style="fill:none;stroke:#ffad00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 284.550487 117.023997 + <path clip-path="url(#p39d06bc184)" d="M 284.550487 117.023997 L 271.81374 113.006897 " style="fill:none;stroke:#ffad00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 271.81374 113.006897 + <path clip-path="url(#p39d06bc184)" d="M 271.81374 113.006897 L 271.81374 113.006897 " style="fill:none;stroke:#ffbe00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 271.81374 113.006897 + <path clip-path="url(#p39d06bc184)" d="M 271.81374 113.006897 L 263.889938 111.141499 " style="fill:none;stroke:#ffbe00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 263.889938 111.141499 + <path clip-path="url(#p39d06bc184)" d="M 263.889938 111.141499 L 263.889938 111.141499 " style="fill:none;stroke:#ffc600;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 263.889938 111.141499 + <path clip-path="url(#p39d06bc184)" d="M 263.889938 111.141499 L 257.114822 110.269189 " style="fill:none;stroke:#ffc600;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 257.114822 110.269189 + <path clip-path="url(#p39d06bc184)" d="M 257.114822 110.269189 L 257.114822 110.269189 " style="fill:none;stroke:#ffcd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 329.206417 117.842824 + <path clip-path="url(#p39d06bc184)" d="M 329.206417 117.842824 L 313.802168 113.707127 " style="fill:none;stroke:#ff6500;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 313.802168 113.707127 + <path clip-path="url(#p39d06bc184)" d="M 313.802168 113.707127 L 298.301397 109.910737 " style="fill:none;stroke:#ff8300;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 298.301397 109.910737 + <path clip-path="url(#p39d06bc184)" d="M 298.301397 109.910737 L 282.593859 107.023637 " style="fill:none;stroke:#ff9d00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 282.593859 107.023637 + <path clip-path="url(#p39d06bc184)" d="M 282.593859 107.023637 L 282.593859 107.023637 " style="fill:none;stroke:#ffb300;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 282.593859 107.023637 + <path clip-path="url(#p39d06bc184)" d="M 282.593859 107.023637 L 273.062798 106.020244 " style="fill:none;stroke:#ffb300;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 273.062798 106.020244 + <path clip-path="url(#p39d06bc184)" d="M 273.062798 106.020244 L 273.062798 106.020244 " style="fill:none;stroke:#ffbf00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 273.062798 106.020244 + <path clip-path="url(#p39d06bc184)" d="M 273.062798 106.020244 L 264.927631 105.943465 " style="fill:none;stroke:#ffbf00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 264.927631 105.943465 + <path clip-path="url(#p39d06bc184)" d="M 264.927631 105.943465 L 264.927631 105.943465 " style="fill:none;stroke:#ffc700;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 264.927631 105.943465 + <path clip-path="url(#p39d06bc184)" d="M 264.927631 105.943465 L 257.810006 106.672893 " style="fill:none;stroke:#ffc700;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 257.810006 106.672893 + <path clip-path="url(#p39d06bc184)" d="M 257.810006 106.672893 L 250.675463 108.377844 " style="fill:none;stroke:#ffce00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 329.206417 86.219294 + <path clip-path="url(#p39d06bc184)" d="M 329.206417 86.219294 L 313.238331 87.395332 " style="fill:none;stroke:#ff7100;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 313.238331 87.395332 + <path clip-path="url(#p39d06bc184)" d="M 313.238331 87.395332 L 297.435105 89.745971 " style="fill:none;stroke:#ff8e00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 297.435105 89.745971 + <path clip-path="url(#p39d06bc184)" d="M 297.435105 89.745971 L 284.13118 92.864979 " style="fill:none;stroke:#ffa600;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 343.296 46.333156 + <path clip-path="url(#p39d06bc184)" d="M 343.296 46.333156 L 342.767098 46.635462 " style="fill:none;stroke:#ff6400;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 342.767098 46.635462 + <path clip-path="url(#p39d06bc184)" d="M 342.767098 46.635462 L 329.206417 54.595765 " style="fill:none;stroke:#ff6500;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 329.206417 54.595765 + <path clip-path="url(#p39d06bc184)" d="M 329.206417 54.595765 L 315.831468 62.820802 " style="fill:none;stroke:#ff7e00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 315.831468 62.820802 + <path clip-path="url(#p39d06bc184)" d="M 315.831468 62.820802 L 302.615682 71.266714 " style="fill:none;stroke:#ff9300;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 278.280214 54.595765 + <path clip-path="url(#p39d06bc184)" d="M 278.280214 54.595765 L 278.280214 54.595765 " style="fill:none;stroke:#ffcd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 278.280214 54.595765 + <path clip-path="url(#p39d06bc184)" d="M 278.280214 54.595765 L 275.241667 65.63614 " style="fill:none;stroke:#ffcd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 275.241667 65.63614 + <path clip-path="url(#p39d06bc184)" d="M 275.241667 65.63614 L 270.839266 76.801605 " style="fill:none;stroke:#ffcc00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 270.839266 76.801605 + <path clip-path="url(#p39d06bc184)" d="M 270.839266 76.801605 L 265.942833 85.874802 " style="fill:none;stroke:#ffcd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 265.942833 85.874802 + <path clip-path="url(#p39d06bc184)" d="M 265.942833 85.874802 L 260.675381 93.319742 " style="fill:none;stroke:#ffce00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 244.329412 54.595765 + <path clip-path="url(#p39d06bc184)" d="M 244.329412 54.595765 L 246.502918 69.386749 " style="fill:none;stroke:#ffec00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 246.502918 69.386749 + <path clip-path="url(#p39d06bc184)" d="M 246.502918 69.386749 L 247.531174 84.265114 " style="fill:none;stroke:#ffe500;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 247.531174 84.265114 + <path clip-path="url(#p39d06bc184)" d="M 247.531174 84.265114 L 247.531174 84.265114 " style="fill:none;stroke:#ffde00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 247.531174 84.265114 + <path clip-path="url(#p39d06bc184)" d="M 247.531174 84.265114 L 247.291923 91.925466 " style="fill:none;stroke:#ffde00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 247.291923 91.925466 + <path clip-path="url(#p39d06bc184)" d="M 247.291923 91.925466 L 247.291923 91.925466 " style="fill:none;stroke:#ffdc00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 227.354011 54.595765 + <path clip-path="url(#p39d06bc184)" d="M 227.354011 54.595765 L 231.102382 69.115062 " style="fill:none;stroke:#fff500;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 231.102382 69.115062 + <path clip-path="url(#p39d06bc184)" d="M 231.102382 69.115062 L 234.63998 83.678093 " style="fill:none;stroke:#ffee00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 234.63998 83.678093 + <path clip-path="url(#p39d06bc184)" d="M 234.63998 83.678093 L 234.63998 83.678093 " style="fill:none;stroke:#ffe600;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 193.403209 54.595765 + <path clip-path="url(#p39d06bc184)" d="M 193.403209 54.595765 L 197.662483 68.990847 " style="fill:none;stroke:#fffa00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 197.662483 68.990847 + <path clip-path="url(#p39d06bc184)" d="M 197.662483 68.990847 L 202.418102 83.249533 " style="fill:none;stroke:#fff500;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 202.418102 83.249533 + <path clip-path="url(#p39d06bc184)" d="M 202.418102 83.249533 L 207.794029 97.314046 " style="fill:none;stroke:#ffef00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 201.807716 41.472 + <path clip-path="url(#p39d06bc184)" d="M 201.807716 41.472 L 201.848086 41.621802 " style="fill:none;stroke:#ffff00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 201.848086 41.621802 + <path clip-path="url(#p39d06bc184)" d="M 201.848086 41.621802 L 205.926444 56.062863 " style="fill:none;stroke:#ffff00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 205.926444 56.062863 + <path clip-path="url(#p39d06bc184)" d="M 205.926444 56.062863 L 210.37861 70.407529 " style="fill:none;stroke:#fffa00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 115.713875 41.472 + <path clip-path="url(#p39d06bc184)" d="M 115.713875 41.472 L 114.192817 49.861053 " style="fill:none;stroke:#ffc900;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 114.192817 49.861053 + <path clip-path="url(#p39d06bc184)" d="M 114.192817 49.861053 L 111.899158 60.152651 " style="fill:none;stroke:#ffc400;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 111.899158 60.152651 + <path clip-path="url(#p39d06bc184)" d="M 111.899158 60.152651 L 108.526203 70.407529 " style="fill:none;stroke:#ffbd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 108.526203 70.407529 + <path clip-path="url(#p39d06bc184)" d="M 108.526203 70.407529 L 108.526203 70.407529 " style="fill:none;stroke:#ffb500;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 108.526203 70.407529 + <path clip-path="url(#p39d06bc184)" d="M 108.526203 70.407529 L 108.526203 70.407529 " style="fill:none;stroke:#ffb500;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 108.526203 70.407529 + <path clip-path="url(#p39d06bc184)" d="M 108.526203 70.407529 L 104.449421 79.066364 " style="fill:none;stroke:#ffb500;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 98.246821 95.914139 + <path clip-path="url(#p39d06bc184)" d="M 98.246821 95.914139 L 91.550802 102.031059 " style="fill:none;stroke:#ff9c00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 91.550802 102.031059 + <path clip-path="url(#p39d06bc184)" d="M 91.550802 102.031059 L 91.550802 102.031059 " style="fill:none;stroke:#ff8f00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 91.550802 102.031059 + <path clip-path="url(#p39d06bc184)" d="M 91.550802 102.031059 L 91.550802 102.031059 " style="fill:none;stroke:#ff8f00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 91.550802 102.031059 + <path clip-path="url(#p39d06bc184)" d="M 91.550802 102.031059 L 83.174247 107.946166 " style="fill:none;stroke:#ff8f00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 83.174247 107.946166 + <path clip-path="url(#p39d06bc184)" d="M 83.174247 107.946166 L 74.378194 112.871142 " style="fill:none;stroke:#ff7e00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 74.378194 112.871142 + <path clip-path="url(#p39d06bc184)" d="M 74.378194 112.871142 L 63.95508 117.624519 " style="fill:none;stroke:#ff6c00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 63.95508 117.624519 + <path clip-path="url(#p39d06bc184)" d="M 63.95508 117.624519 L 63.95508 117.624519 " style="fill:none;stroke:#ff5600;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 63.95508 117.624519 + <path clip-path="url(#p39d06bc184)" d="M 63.95508 117.624519 L 59.446557 119.416332 " style="fill:none;stroke:#ff5600;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 59.446557 119.416332 + <path clip-path="url(#p39d06bc184)" d="M 59.446557 119.416332 L 59.446557 119.416332 " style="fill:none;stroke:#ff4c00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 59.446557 119.416332 + <path clip-path="url(#p39d06bc184)" d="M 59.446557 119.416332 L 59.446557 119.416332 " style="fill:none;stroke:#ff4c00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 295.255615 244.336941 + <path clip-path="url(#p39d06bc184)" d="M 295.255615 244.336941 L 279.25866 243.386564 " style="fill:none;stroke:#ff6e00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 279.25866 243.386564 + <path clip-path="url(#p39d06bc184)" d="M 279.25866 243.386564 L 263.236948 243.119134 " style="fill:none;stroke:#ff8300;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 263.236948 243.119134 + <path clip-path="url(#p39d06bc184)" d="M 263.236948 243.119134 L 247.266148 244.147971 " style="fill:none;stroke:#ff9400;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 247.266148 244.147971 + <path clip-path="url(#p39d06bc184)" d="M 247.266148 244.147971 L 247.266148 244.147971 " style="fill:none;stroke:#ffa100;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 247.266148 244.147971 + <path clip-path="url(#p39d06bc184)" d="M 247.266148 244.147971 L 236.588045 246.081395 " style="fill:none;stroke:#ffa100;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 295.255615 212.713412 + <path clip-path="url(#p39d06bc184)" d="M 295.255615 212.713412 L 280.516618 206.861667 " style="fill:none;stroke:#ff7a00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 280.516618 206.861667 + <path clip-path="url(#p39d06bc184)" d="M 280.516618 206.861667 L 266.344922 199.911524 " style="fill:none;stroke:#ff9000;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 266.344922 199.911524 + <path clip-path="url(#p39d06bc184)" d="M 266.344922 199.911524 L 253.750733 192.179026 " style="fill:none;stroke:#ffa200;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 253.750733 192.179026 + <path clip-path="url(#p39d06bc184)" d="M 253.750733 192.179026 L 243.160322 184.073399 " style="fill:none;stroke:#ffb000;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 243.160322 184.073399 + <path clip-path="url(#p39d06bc184)" d="M 243.160322 184.073399 L 234.052136 175.488317 " style="fill:none;stroke:#ffbb00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 234.052136 175.488317 + <path clip-path="url(#p39d06bc184)" d="M 234.052136 175.488317 L 226.022468 166.265823 " style="fill:none;stroke:#ffc300;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 226.022468 166.265823 + <path clip-path="url(#p39d06bc184)" d="M 226.022468 166.265823 L 218.765407 156.164087 " style="fill:none;stroke:#ffcb00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 218.765407 156.164087 + <path clip-path="url(#p39d06bc184)" d="M 218.765407 156.164087 L 212.195303 145.032609 " style="fill:none;stroke:#ffd100;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 212.195303 145.032609 + <path clip-path="url(#p39d06bc184)" d="M 212.195303 145.032609 L 212.195303 145.032609 " style="fill:none;stroke:#ffd700;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 212.195303 145.032609 + <path clip-path="url(#p39d06bc184)" d="M 212.195303 145.032609 L 207.647671 135.356416 " style="fill:none;stroke:#ffd700;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 207.647671 135.356416 + <path clip-path="url(#p39d06bc184)" d="M 207.647671 135.356416 L 207.647671 135.356416 " style="fill:none;stroke:#ffdb00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 207.647671 135.356416 + <path clip-path="url(#p39d06bc184)" d="M 207.647671 135.356416 L 206.731431 132.899087 " style="fill:none;stroke:#ffdb00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 206.731431 132.899087 + <path clip-path="url(#p39d06bc184)" d="M 206.731431 132.899087 L 206.731431 132.899087 " style="fill:none;stroke:#ffdc00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 206.731431 132.899087 + <path clip-path="url(#p39d06bc184)" d="M 206.731431 132.899087 L 206.157191 130.847314 " style="fill:none;stroke:#ffdc00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 206.157191 130.847314 + <path clip-path="url(#p39d06bc184)" d="M 206.157191 130.847314 L 206.157191 130.847314 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 206.157191 130.847314 + <path clip-path="url(#p39d06bc184)" d="M 206.157191 130.847314 L 206.068357 129.392111 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 206.068357 129.392111 + <path clip-path="url(#p39d06bc184)" d="M 206.068357 129.392111 L 206.068357 129.392111 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 206.068357 129.392111 + <path clip-path="url(#p39d06bc184)" d="M 206.068357 129.392111 L 206.445839 128.502855 " style="fill:none;stroke:#ffdd00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 206.445839 128.502855 + <path clip-path="url(#p39d06bc184)" d="M 206.445839 128.502855 L 207.435234 127.80883 " style="fill:none;stroke:#ffde00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 207.435234 127.80883 + <path clip-path="url(#p39d06bc184)" d="M 207.435234 127.80883 L 208.501498 127.21238 " style="fill:none;stroke:#ffde00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 208.501498 127.21238 + <path clip-path="url(#p39d06bc184)" d="M 208.501498 127.21238 L 209.647484 126.644273 " style="fill:none;stroke:#ffde00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 209.647484 126.644273 + <path clip-path="url(#p39d06bc184)" d="M 209.647484 126.644273 L 211.067576 126.020096 " style="fill:none;stroke:#ffde00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 211.067576 126.020096 + <path clip-path="url(#p39d06bc184)" d="M 211.067576 126.020096 L 211.067576 126.020096 " style="fill:none;stroke:#ffde00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 159.452406 86.219294 + <path clip-path="url(#p39d06bc184)" d="M 159.452406 86.219294 L 159.818416 101.133076 " style="fill:none;stroke:#ffe200;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 159.818416 101.133076 + <path clip-path="url(#p39d06bc184)" d="M 159.818416 101.133076 L 159.818416 101.133076 " style="fill:none;stroke:#ffdc00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 159.818416 101.133076 + <path clip-path="url(#p39d06bc184)" d="M 159.818416 101.133076 L 159.026105 109.83611 " style="fill:none;stroke:#ffdc00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 159.026105 109.83611 + <path clip-path="url(#p39d06bc184)" d="M 159.026105 109.83611 L 159.026105 109.83611 " style="fill:none;stroke:#ffd800;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 159.026105 109.83611 + <path clip-path="url(#p39d06bc184)" d="M 159.026105 109.83611 L 157.334772 116.686545 " style="fill:none;stroke:#ffd800;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 157.334772 116.686545 + <path clip-path="url(#p39d06bc184)" d="M 157.334772 116.686545 L 157.334772 116.686545 " style="fill:none;stroke:#ffd500;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 157.334772 116.686545 + <path clip-path="url(#p39d06bc184)" d="M 157.334772 116.686545 L 154.771432 122.246186 " style="fill:none;stroke:#ffd500;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 278.280214 165.278118 + <path clip-path="url(#p39d06bc184)" d="M 278.280214 165.278118 L 265.888525 155.826094 " style="fill:none;stroke:#ffa200;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 265.888525 155.826094 + <path clip-path="url(#p39d06bc184)" d="M 265.888525 155.826094 L 255.030474 146.07166 " style="fill:none;stroke:#ffb300;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 176.537375 41.472 + <path clip-path="url(#p39d06bc184)" d="M 176.537375 41.472 L 177.168832 44.284341 " style="fill:none;stroke:#fffb00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 177.168832 44.284341 + <path clip-path="url(#p39d06bc184)" d="M 177.168832 44.284341 L 180.60673 58.869311 " style="fill:none;stroke:#fffa00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 180.60673 58.869311 + <path clip-path="url(#p39d06bc184)" d="M 180.60673 58.869311 L 184.397907 73.377707 " style="fill:none;stroke:#fff600;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 184.397907 73.377707 + <path clip-path="url(#p39d06bc184)" d="M 184.397907 73.377707 L 188.622538 87.780993 " style="fill:none;stroke:#fff100;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 188.622538 87.780993 + <path clip-path="url(#p39d06bc184)" d="M 188.622538 87.780993 L 193.403209 102.031059 " style="fill:none;stroke:#ffed00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 193.403209 102.031059 + <path clip-path="url(#p39d06bc184)" d="M 193.403209 102.031059 L 198.974409 116.025528 " style="fill:none;stroke:#ffe800;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 198.974409 116.025528 + <path clip-path="url(#p39d06bc184)" d="M 198.974409 116.025528 L 198.974409 116.025528 " style="fill:none;stroke:#ffe300;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 198.974409 116.025528 + <path clip-path="url(#p39d06bc184)" d="M 198.974409 116.025528 L 200.264568 118.852958 " style="fill:none;stroke:#ffe300;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 200.264568 118.852958 + <path clip-path="url(#p39d06bc184)" d="M 200.264568 118.852958 L 200.264568 118.852958 " style="fill:none;stroke:#ffe200;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 200.264568 118.852958 + <path clip-path="url(#p39d06bc184)" d="M 200.264568 118.852958 L 201.488351 121.35021 " style="fill:none;stroke:#ffe200;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 201.488351 121.35021 + <path clip-path="url(#p39d06bc184)" d="M 201.488351 121.35021 L 201.488351 121.35021 " style="fill:none;stroke:#ffe100;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 261.304813 165.278118 + <path clip-path="url(#p39d06bc184)" d="M 261.304813 165.278118 L 250.099319 154.626443 " style="fill:none;stroke:#ffb400;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 250.099319 154.626443 + <path clip-path="url(#p39d06bc184)" d="M 250.099319 154.626443 L 241.245454 144.545486 " style="fill:none;stroke:#ffc100;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 199.391704 138.653423 + <path clip-path="url(#p39d06bc184)" d="M 199.391704 138.653423 L 197.530796 136.032143 " style="fill:none;stroke:#ffda00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 197.530796 136.032143 + <path clip-path="url(#p39d06bc184)" d="M 197.530796 136.032143 L 195.762781 134.333826 " style="fill:none;stroke:#ffdb00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 195.762781 134.333826 + <path clip-path="url(#p39d06bc184)" d="M 195.762781 134.333826 L 193.403209 133.654588 " style="fill:none;stroke:#ffdc00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 193.403209 133.654588 + <path clip-path="url(#p39d06bc184)" d="M 193.403209 133.654588 L 193.403209 133.654588 " style="fill:none;stroke:#ffdc00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 193.403209 133.654588 + <path clip-path="url(#p39d06bc184)" d="M 193.403209 133.654588 L 193.403209 133.654588 " style="fill:none;stroke:#ffdc00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 193.403209 133.654588 + <path clip-path="url(#p39d06bc184)" d="M 193.403209 133.654588 L 193.403209 133.654588 " style="fill:none;stroke:#ffdc00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 193.403209 133.654588 + <path clip-path="url(#p39d06bc184)" d="M 193.403209 133.654588 L 193.403209 133.654588 " style="fill:none;stroke:#ffdc00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 193.403209 133.654588 + <path clip-path="url(#p39d06bc184)" d="M 193.403209 133.654588 L 190.56145 134.278278 " style="fill:none;stroke:#ffdc00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 190.56145 134.278278 + <path clip-path="url(#p39d06bc184)" d="M 190.56145 134.278278 L 187.859216 135.036377 " style="fill:none;stroke:#ffdb00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 187.859216 135.036377 + <path clip-path="url(#p39d06bc184)" d="M 187.859216 135.036377 L 182.670039 136.71178 " style="fill:none;stroke:#ffda00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 182.670039 136.71178 + <path clip-path="url(#p39d06bc184)" d="M 182.670039 136.71178 L 171.265835 140.361645 " style="fill:none;stroke:#ffd800;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 171.265835 140.361645 + <path clip-path="url(#p39d06bc184)" d="M 171.265835 140.361645 L 156.043018 144.955466 " style="fill:none;stroke:#ffd300;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 212.437403 172.260389 + <path clip-path="url(#p39d06bc184)" d="M 212.437403 172.260389 L 203.283956 161.205077 " style="fill:none;stroke:#ffcc00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 203.283956 161.205077 + <path clip-path="url(#p39d06bc184)" d="M 203.283956 161.205077 L 193.403209 149.466353 " style="fill:none;stroke:#ffd100;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 193.403209 149.466353 + <path clip-path="url(#p39d06bc184)" d="M 193.403209 149.466353 L 193.403209 149.466353 " style="fill:none;stroke:#ffd600;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 193.403209 149.466353 + <path clip-path="url(#p39d06bc184)" d="M 193.403209 149.466353 L 190.226245 146.372663 " style="fill:none;stroke:#ffd600;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 190.226245 146.372663 + <path clip-path="url(#p39d06bc184)" d="M 190.226245 146.372663 L 190.226245 146.372663 " style="fill:none;stroke:#ffd600;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 190.226245 146.372663 + <path clip-path="url(#p39d06bc184)" d="M 190.226245 146.372663 L 186.487327 143.797489 " style="fill:none;stroke:#ffd600;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 186.487327 143.797489 + <path clip-path="url(#p39d06bc184)" d="M 186.487327 143.797489 L 186.487327 143.797489 " style="fill:none;stroke:#ffd700;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 186.487327 143.797489 + <path clip-path="url(#p39d06bc184)" d="M 186.487327 143.797489 L 182.720965 142.429537 " style="fill:none;stroke:#ffd700;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 182.720965 142.429537 + <path clip-path="url(#p39d06bc184)" d="M 182.720965 142.429537 L 178.64974 142.014631 " style="fill:none;stroke:#ffd600;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 178.64974 142.014631 + <path clip-path="url(#p39d06bc184)" d="M 178.64974 142.014631 L 174.271407 142.316733 " style="fill:none;stroke:#ffd500;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 174.271407 142.316733 + <path clip-path="url(#p39d06bc184)" d="M 174.271407 142.316733 L 168.574348 143.300982 " style="fill:none;stroke:#ffd400;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 210.37861 181.089882 + <path clip-path="url(#p39d06bc184)" d="M 210.37861 181.089882 L 199.184914 170.401705 " style="fill:none;stroke:#ffc900;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 199.184914 170.401705 + <path clip-path="url(#p39d06bc184)" d="M 199.184914 170.401705 L 187.622047 160.091773 " style="fill:none;stroke:#ffce00;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 187.622047 160.091773 + <path clip-path="url(#p39d06bc184)" d="M 187.622047 160.091773 L 187.622047 160.091773 " style="fill:none;stroke:#ffd100;stroke-width:2;"/> </g> <g id="patch_3"> - <path clip-path="url(#p1f31122917)" d="M 179.103318 227.103852 + <path clip-path="url(#p39d06bc184)" d="M 179.103318 227.103852 Q 178.445793 227.340595 179.892122 226.819842 " style="fill:none;stroke:#ffb500;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 184.333135 227.346535 + <path clip-path="url(#p39d06bc184)" d="M 184.333135 227.346535 L 179.892122 226.819842 L 182.978084 223.583047 L 184.333135 227.346535 @@ -2039,10 +2039,10 @@ z " style="fill:#ffb500;stroke:#ffb500;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_4"> - <path clip-path="url(#p1f31122917)" d="M 84.652255 298.583229 + <path clip-path="url(#p39d06bc184)" d="M 84.652255 298.583229 Q 83.251535 299.834369 83.518489 299.595923 " style="fill:none;stroke:#ff3b00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 87.83404 298.422882 + <path clip-path="url(#p39d06bc184)" d="M 87.83404 298.422882 L 83.518489 299.595923 L 85.169387 295.439658 L 87.83404 298.422882 @@ -2050,10 +2050,10 @@ z " style="fill:#ff3b00;stroke:#ff3b00;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_5"> - <path clip-path="url(#p1f31122917)" d="M 134.751415 266.109061 + <path clip-path="url(#p39d06bc184)" d="M 134.751415 266.109061 Q 133.345548 267.358253 133.611216 267.122193 " style="fill:none;stroke:#ff8b00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 137.929796 265.960358 + <path clip-path="url(#p39d06bc184)" d="M 137.929796 265.960358 L 133.611216 267.122193 L 135.272896 262.970227 L 137.929796 265.960358 @@ -2061,10 +2061,10 @@ z " style="fill:#ff8b00;stroke:#ff8b00;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_6"> - <path clip-path="url(#p1f31122917)" d="M 127.495383 285.968905 + <path clip-path="url(#p39d06bc184)" d="M 127.495383 285.968905 Q 126.257558 287.340579 126.517801 287.052195 " style="fill:none;stroke:#ff7b00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 130.682428 285.422508 + <path clip-path="url(#p39d06bc184)" d="M 130.682428 285.422508 L 126.517801 287.052195 L 127.712828 282.742681 L 130.682428 285.422508 @@ -2072,10 +2072,10 @@ z " style="fill:#ff7b00;stroke:#ff7b00;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_7"> - <path clip-path="url(#p1f31122917)" d="M 179.167389 261.175048 + <path clip-path="url(#p39d06bc184)" d="M 179.167389 261.175048 Q 177.870096 262.502338 178.135768 262.230523 " style="fill:none;stroke:#ffa900;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 182.361969 260.767915 + <path clip-path="url(#p39d06bc184)" d="M 182.361969 260.767915 L 178.135768 262.230523 L 179.501401 257.971997 L 182.361969 260.767915 @@ -2083,10 +2083,10 @@ z " style="fill:#ffa900;stroke:#ffa900;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_8"> - <path clip-path="url(#p1f31122917)" d="M 199.088493 273.792644 + <path clip-path="url(#p39d06bc184)" d="M 199.088493 273.792644 Q 198.4031 274.635094 199.128873 273.743011 " style="fill:none;stroke:#ffa700;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 203.204659 271.902366 + <path clip-path="url(#p39d06bc184)" d="M 203.204659 271.902366 L 199.128873 273.743011 L 200.101829 269.377995 L 203.204659 271.902366 @@ -2094,10 +2094,10 @@ z " style="fill:#ffa700;stroke:#ffa700;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_9"> - <path clip-path="url(#p1f31122917)" d="M 208.702952 283.654368 + <path clip-path="url(#p39d06bc184)" d="M 208.702952 283.654368 Q 207.651036 285.133295 207.895168 284.790062 " style="fill:none;stroke:#ffa200;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 211.843395 282.689704 + <path clip-path="url(#p39d06bc184)" d="M 211.843395 282.689704 L 207.895168 284.790062 L 208.583818 280.371266 L 211.843395 282.689704 @@ -2105,10 +2105,10 @@ z " style="fill:#ffa200;stroke:#ffa200;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_10"> - <path clip-path="url(#p1f31122917)" d="M 265.67067 260.383758 + <path clip-path="url(#p39d06bc184)" d="M 265.67067 260.383758 Q 265.342684 260.480839 267.158815 259.943282 " style="fill:none;stroke:#ff8a00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 271.561964 260.725765 + <path clip-path="url(#p39d06bc184)" d="M 271.561964 260.725765 L 267.158815 259.943282 L 270.42669 256.890253 L 271.561964 260.725765 @@ -2116,10 +2116,10 @@ z " style="fill:#ff8a00;stroke:#ff8a00;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_11"> - <path clip-path="url(#p1f31122917)" d="M 293.167031 274.145322 + <path clip-path="url(#p39d06bc184)" d="M 293.167031 274.145322 Q 292.637569 274.307751 294.245841 273.814362 " style="fill:none;stroke:#ff6300;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 298.656516 274.553245 + <path clip-path="url(#p39d06bc184)" d="M 298.656516 274.553245 L 294.245841 273.814362 L 297.483352 270.729152 L 298.656516 274.553245 @@ -2127,10 +2127,10 @@ z " style="fill:#ff6300;stroke:#ff6300;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_12"> - <path clip-path="url(#p1f31122917)" d="M 275.432521 295.008254 + <path clip-path="url(#p39d06bc184)" d="M 275.432521 295.008254 Q 274.920127 295.407822 276.171044 294.43235 " style="fill:none;stroke:#ff7200;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 280.555223 293.549757 + <path clip-path="url(#p39d06bc184)" d="M 280.555223 293.549757 L 276.171044 294.43235 L 278.095477 290.395451 L 280.555223 293.549757 @@ -2138,10 +2138,10 @@ z " style="fill:#ff7200;stroke:#ff7200;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_13"> - <path clip-path="url(#p1f31122917)" d="M 322.232778 294.270408 + <path clip-path="url(#p39d06bc184)" d="M 322.232778 294.270408 Q 321.52343 294.533101 322.910979 294.01925 " style="fill:none;stroke:#ff2b00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 327.356586 294.505647 + <path clip-path="url(#p39d06bc184)" d="M 327.356586 294.505647 L 322.910979 294.01925 L 325.967461 290.754603 L 327.356586 294.505647 @@ -2149,10 +2149,10 @@ z " style="fill:#ff2b00;stroke:#ff2b00;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_14"> - <path clip-path="url(#p1f31122917)" d="M 69.863289 56.423807 + <path clip-path="url(#p39d06bc184)" d="M 69.863289 56.423807 Q 69.514082 56.878795 70.526309 55.559945 " style="fill:none;stroke:#ff7c00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 74.548284 53.604511 + <path clip-path="url(#p39d06bc184)" d="M 74.548284 53.604511 L 70.526309 55.559945 L 71.375147 51.169105 L 74.548284 53.604511 @@ -2160,10 +2160,10 @@ z " style="fill:#ff7c00;stroke:#ff7c00;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_15"> - <path clip-path="url(#p1f31122917)" d="M 78.541096 65.850699 + <path clip-path="url(#p39d06bc184)" d="M 78.541096 65.850699 Q 78.233332 66.244143 79.303264 64.87635 " style="fill:none;stroke:#ff8900;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 83.343059 62.958004 + <path clip-path="url(#p39d06bc184)" d="M 83.343059 62.958004 L 79.303264 64.87635 L 80.192464 60.493506 L 83.343059 62.958004 @@ -2171,10 +2171,10 @@ z " style="fill:#ff8900;stroke:#ff8900;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_16"> - <path clip-path="url(#p1f31122917)" d="M 83.311775 83.049109 + <path clip-path="url(#p39d06bc184)" d="M 83.311775 83.049109 Q 82.875383 83.477784 84.034171 82.339489 " style="fill:none;stroke:#ff8b00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 88.289259 80.963179 + <path clip-path="url(#p39d06bc184)" d="M 88.289259 80.963179 L 84.034171 82.339489 L 85.486176 78.109633 L 88.289259 80.963179 @@ -2182,10 +2182,10 @@ z " style="fill:#ff8b00;stroke:#ff8b00;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_17"> - <path clip-path="url(#p1f31122917)" d="M 111.256674 106.737495 + <path clip-path="url(#p39d06bc184)" d="M 111.256674 106.737495 Q 110.937965 107.028918 112.269456 105.811422 " style="fill:none;stroke:#ffad00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 116.571043 104.588168 + <path clip-path="url(#p39d06bc184)" d="M 116.571043 104.588168 L 112.269456 105.811422 L 113.871806 101.6362 L 116.571043 104.588168 @@ -2193,10 +2193,10 @@ z " style="fill:#ffad00;stroke:#ffad00;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_18"> - <path clip-path="url(#p1f31122917)" d="M 134.077905 116.636114 + <path clip-path="url(#p39d06bc184)" d="M 134.077905 116.636114 Q 134.043058 116.673884 135.52447 115.068194 " style="fill:none;stroke:#ffc300;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 139.70679 113.484467 + <path clip-path="url(#p39d06bc184)" d="M 139.70679 113.484467 L 135.52447 115.068194 L 136.76688 110.772101 L 139.70679 113.484467 @@ -2204,10 +2204,10 @@ z " style="fill:#ffc300;stroke:#ffc300;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_19"> - <path clip-path="url(#p1f31122917)" d="M 156.411872 138.366117 + <path clip-path="url(#p39d06bc184)" d="M 156.411872 138.366117 Q 156.196092 138.47032 157.993884 137.602142 " style="fill:none;stroke:#ffcd00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 162.465597 137.663688 + <path clip-path="url(#p39d06bc184)" d="M 162.465597 137.663688 L 157.993884 137.602142 L 160.726148 134.0617 L 162.465597 137.663688 @@ -2215,10 +2215,10 @@ z " style="fill:#ffcd00;stroke:#ffcd00;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_20"> - <path clip-path="url(#p1f31122917)" d="M 167.310708 166.714193 + <path clip-path="url(#p39d06bc184)" d="M 167.310708 166.714193 Q 166.325679 166.555878 167.548385 166.752393 " style="fill:none;stroke:#ffc800;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 171.180332 169.361791 + <path clip-path="url(#p39d06bc184)" d="M 171.180332 169.361791 L 167.548385 166.752393 L 171.815072 165.412474 L 171.180332 169.361791 @@ -2226,10 +2226,10 @@ z " style="fill:#ffc800;stroke:#ffc800;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_21"> - <path clip-path="url(#p1f31122917)" d="M 118.398831 185.042335 + <path clip-path="url(#p39d06bc184)" d="M 118.398831 185.042335 Q 116.433105 185.396178 116.668077 185.353881 " style="fill:none;stroke:#ff9800;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 120.959123 186.613611 + <path clip-path="url(#p39d06bc184)" d="M 120.959123 186.613611 L 116.668077 185.353881 L 120.250489 182.676882 L 120.959123 186.613611 @@ -2237,10 +2237,10 @@ z " style="fill:#ff9800;stroke:#ff9800;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_22"> - <path clip-path="url(#p1f31122917)" d="M 133.592212 195.793224 + <path clip-path="url(#p39d06bc184)" d="M 133.592212 195.793224 Q 131.628862 196.156297 131.8643 196.112759 " style="fill:none;stroke:#ffa500;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 136.161295 197.352046 + <path clip-path="url(#p39d06bc184)" d="M 136.161295 197.352046 L 131.8643 196.112759 L 135.433927 193.418735 L 136.161295 197.352046 @@ -2248,10 +2248,10 @@ z " style="fill:#ffa500;stroke:#ffa500;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_23"> - <path clip-path="url(#p1f31122917)" d="M 145.835974 213.787281 + <path clip-path="url(#p39d06bc184)" d="M 145.835974 213.787281 Q 143.932087 214.335361 144.177002 214.264856 " style="fill:none;stroke:#ffa900;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 148.574176 215.080246 + <path clip-path="url(#p39d06bc184)" d="M 148.574176 215.080246 L 144.177002 214.264856 L 147.467618 211.236351 L 148.574176 215.080246 @@ -2259,10 +2259,10 @@ z " style="fill:#ffa900;stroke:#ffa900;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_24"> - <path clip-path="url(#p1f31122917)" d="M 84.636274 247.951694 + <path clip-path="url(#p39d06bc184)" d="M 84.636274 247.951694 Q 82.853404 248.758959 83.107522 248.643897 " style="fill:none;stroke:#ff4f00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 87.576348 248.815927 + <path clip-path="url(#p39d06bc184)" d="M 87.576348 248.815927 L 83.107522 248.643897 L 85.926441 245.172054 L 87.576348 248.815927 @@ -2270,10 +2270,10 @@ z " style="fill:#ff4f00;stroke:#ff4f00;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_25"> - <path clip-path="url(#p1f31122917)" d="M 83.45865 261.734522 + <path clip-path="url(#p39d06bc184)" d="M 83.45865 261.734522 Q 81.759526 262.670245 82.019094 262.527299 " style="fill:none;stroke:#ff4700;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 86.487699 262.349623 + <path clip-path="url(#p39d06bc184)" d="M 86.487699 262.349623 L 82.019094 262.527299 L 84.558116 258.845809 L 86.487699 262.349623 @@ -2281,10 +2281,10 @@ z " style="fill:#ff4700;stroke:#ff4700;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_26"> - <path clip-path="url(#p1f31122917)" d="M 258.149841 178.019708 + <path clip-path="url(#p39d06bc184)" d="M 258.149841 178.019708 Q 257.158984 177.163758 257.860257 177.769552 " style="fill:none;stroke:#ffb000;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 259.579808 181.897886 + <path clip-path="url(#p39d06bc184)" d="M 259.579808 181.897886 L 257.860257 177.769552 L 262.194655 178.870912 L 259.579808 181.897886 @@ -2292,10 +2292,10 @@ z " style="fill:#ffb000;stroke:#ffb000;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_27"> - <path clip-path="url(#p1f31122917)" d="M 327.343945 196.166484 + <path clip-path="url(#p39d06bc184)" d="M 327.343945 196.166484 Q 325.51671 195.445229 325.769374 195.544962 " style="fill:none;stroke:#ff4700;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 328.755697 198.873907 + <path clip-path="url(#p39d06bc184)" d="M 328.755697 198.873907 L 325.769374 195.544962 L 330.224323 195.15327 L 328.755697 198.873907 @@ -2303,10 +2303,10 @@ z " style="fill:#ff4700;stroke:#ff4700;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_28"> - <path clip-path="url(#p1f31122917)" d="M 285.42565 158.524476 + <path clip-path="url(#p39d06bc184)" d="M 285.42565 158.524476 Q 283.848376 157.442772 284.115172 157.625742 " style="fill:none;stroke:#ff9a00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 286.282787 161.537449 + <path clip-path="url(#p39d06bc184)" d="M 286.282787 161.537449 L 284.115172 157.625742 L 288.545106 158.238674 L 286.282787 161.537449 @@ -2314,10 +2314,10 @@ z " style="fill:#ff9a00;stroke:#ff9a00;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_29"> - <path clip-path="url(#p1f31122917)" d="M 312.98198 157.897608 + <path clip-path="url(#p39d06bc184)" d="M 312.98198 157.897608 Q 311.246475 157.01725 311.505142 157.148462 " style="fill:none;stroke:#ff7000;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 314.16765 160.741657 + <path clip-path="url(#p39d06bc184)" d="M 314.16765 160.741657 L 311.505142 157.148462 L 315.977203 157.174372 L 314.16765 160.741657 @@ -2325,10 +2325,10 @@ z " style="fill:#ff7000;stroke:#ff7000;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_30"> - <path clip-path="url(#p1f31122917)" d="M 312.82797 142.396257 + <path clip-path="url(#p39d06bc184)" d="M 312.82797 142.396257 Q 311.055718 141.569535 311.309897 141.688105 " style="fill:none;stroke:#ff7600;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 314.089393 145.191589 + <path clip-path="url(#p39d06bc184)" d="M 314.089393 145.191589 L 311.309897 141.688105 L 315.780382 141.566599 L 314.089393 145.191589 @@ -2336,10 +2336,10 @@ z " style="fill:#ff7600;stroke:#ff7600;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_31"> - <path clip-path="url(#p1f31122917)" d="M 297.582747 121.825863 + <path clip-path="url(#p39d06bc184)" d="M 297.582747 121.825863 Q 295.731702 121.143827 295.978829 121.234884 " style="fill:none;stroke:#ff9700;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 299.040679 124.494496 + <path clip-path="url(#p39d06bc184)" d="M 299.040679 124.494496 L 295.978829 121.234884 L 300.423629 120.741171 L 299.040679 124.494496 @@ -2347,10 +2347,10 @@ z " style="fill:#ff9700;stroke:#ff9700;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_32"> - <path clip-path="url(#p1f31122917)" d="M 296.33412 109.549145 + <path clip-path="url(#p39d06bc184)" d="M 296.33412 109.549145 Q 294.375309 109.189109 294.615726 109.233298 " style="fill:none;stroke:#ff9d00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 298.188273 111.923448 + <path clip-path="url(#p39d06bc184)" d="M 298.188273 111.923448 L 294.615726 109.233298 L 298.911374 107.98935 L 298.188273 111.923448 @@ -2358,10 +2358,10 @@ z " style="fill:#ff9d00;stroke:#ff9d00;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_33"> - <path clip-path="url(#p1f31122917)" d="M 311.25907 87.689736 + <path clip-path="url(#p39d06bc184)" d="M 311.25907 87.689736 Q 309.288326 87.982873 309.529318 87.947027 " style="fill:none;stroke:#ff8e00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 313.78004 89.33676 + <path clip-path="url(#p39d06bc184)" d="M 313.78004 89.33676 L 309.529318 87.947027 L 313.191538 85.380289 L 313.78004 89.33676 @@ -2369,10 +2369,10 @@ z " style="fill:#ff8e00;stroke:#ff8e00;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_34"> - <path clip-path="url(#p1f31122917)" d="M 327.50516 55.641967 + <path clip-path="url(#p39d06bc184)" d="M 327.50516 55.641967 Q 325.862971 56.651845 326.12551 56.490395 " style="fill:none;stroke:#ff7e00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 330.580459 56.098699 + <path clip-path="url(#p39d06bc184)" d="M 330.580459 56.098699 L 326.12551 56.490395 L 328.485123 52.691418 L 330.580459 56.098699 @@ -2380,10 +2380,10 @@ z " style="fill:#ff7e00;stroke:#ff7e00;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_35"> - <path clip-path="url(#p1f31122917)" d="M 274.507575 67.49796 + <path clip-path="url(#p39d06bc184)" d="M 274.507575 67.49796 Q 274.141514 68.426371 274.595654 67.274573 " style="fill:none;stroke:#ffcc00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 277.923468 64.286991 + <path clip-path="url(#p39d06bc184)" d="M 277.923468 64.286991 L 274.595654 67.274573 L 274.202277 62.819772 L 277.923468 64.286991 @@ -2391,10 +2391,10 @@ z " style="fill:#ffcc00;stroke:#ffcc00;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_36"> - <path clip-path="url(#p1f31122917)" d="M 246.640739 71.380944 + <path clip-path="url(#p39d06bc184)" d="M 246.640739 71.380944 Q 246.759896 73.105102 246.724886 72.598512 " style="fill:none;stroke:#ffe500;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 248.444341 68.470138 + <path clip-path="url(#p39d06bc184)" d="M 248.444341 68.470138 L 246.724886 72.598512 L 244.45386 68.745923 L 248.444341 68.470138 @@ -2402,10 +2402,10 @@ z " style="fill:#ffe500;stroke:#ffe500;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_37"> - <path clip-path="url(#p1f31122917)" d="M 227.854587 56.534743 + <path clip-path="url(#p39d06bc184)" d="M 227.854587 56.534743 Q 228.291553 58.227329 228.169571 57.754834 " style="fill:none;stroke:#fff500;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 229.106203 53.381881 + <path clip-path="url(#p39d06bc184)" d="M 229.106203 53.381881 L 228.169571 57.754834 L 225.233187 54.381757 L 229.106203 53.381881 @@ -2413,10 +2413,10 @@ z " style="fill:#fff500;stroke:#fff500;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_38"> - <path clip-path="url(#p1f31122917)" d="M 198.29525 70.88806 + <path clip-path="url(#p39d06bc184)" d="M 198.29525 70.88806 Q 198.851227 72.555035 198.699732 72.100812 " style="fill:none;stroke:#fff500;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 199.331427 67.673514 + <path clip-path="url(#p39d06bc184)" d="M 199.331427 67.673514 L 198.699732 72.100812 L 195.536911 68.939078 L 199.331427 67.673514 @@ -2424,10 +2424,10 @@ z " style="fill:#fff500;stroke:#fff500;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_39"> - <path clip-path="url(#p1f31122917)" d="M 202.390739 43.543281 + <path clip-path="url(#p39d06bc184)" d="M 202.390739 43.543281 Q 202.867537 45.231577 202.73661 44.767975 " style="fill:none;stroke:#ffff00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 203.574193 40.374974 + <path clip-path="url(#p39d06bc184)" d="M 203.574193 40.374974 L 202.73661 44.767975 L 199.724759 41.462108 L 203.574193 40.374974 @@ -2435,10 +2435,10 @@ z " style="fill:#ffff00;stroke:#ffff00;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_40"> - <path clip-path="url(#p1f31122917)" d="M 111.27414 62.052908 + <path clip-path="url(#p39d06bc184)" d="M 111.27414 62.052908 Q 111.055939 62.716308 111.536388 61.255588 " style="fill:none;stroke:#ffbd00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 114.686041 58.080736 + <path clip-path="url(#p39d06bc184)" d="M 114.686041 58.080736 L 111.536388 61.255588 L 110.886298 56.830954 L 114.686041 58.080736 @@ -2446,10 +2446,10 @@ z " style="fill:#ffbd00;stroke:#ffbd00;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_41"> - <path clip-path="url(#p1f31122917)" d="M 81.426203 108.924909 + <path clip-path="url(#p39d06bc184)" d="M 81.426203 108.924909 Q 80.974619 109.177754 82.474095 108.338187 " style="fill:none;stroke:#ff7e00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 86.941341 108.1291 + <path clip-path="url(#p39d06bc184)" d="M 86.941341 108.1291 L 82.474095 108.338187 L 84.987173 104.638938 L 86.941341 108.1291 @@ -2457,10 +2457,10 @@ z " style="fill:#ff7e00;stroke:#ff7e00;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_42"> - <path clip-path="url(#p1f31122917)" d="M 277.259857 243.353201 + <path clip-path="url(#p39d06bc184)" d="M 277.259857 243.353201 Q 275.253393 243.31971 275.482685 243.323537 " style="fill:none;stroke:#ff8300;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 279.448749 245.390016 + <path clip-path="url(#p39d06bc184)" d="M 279.448749 245.390016 L 275.482685 243.323537 L 279.515507 241.390573 L 279.448749 245.390016 @@ -2468,10 +2468,10 @@ z " style="fill:#ff8300;stroke:#ff8300;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_43"> - <path clip-path="url(#p1f31122917)" d="M 241.703813 182.700541 + <path clip-path="url(#p39d06bc184)" d="M 241.703813 182.700541 Q 240.88253 181.926426 241.688421 182.686033 " style="fill:none;stroke:#ffbb00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 243.227397 186.885027 + <path clip-path="url(#p39d06bc184)" d="M 243.227397 186.885027 L 241.688421 182.686033 L 245.971002 183.974249 L 243.227397 186.885027 @@ -2479,10 +2479,10 @@ z " style="fill:#ffbb00;stroke:#ffbb00;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_44"> - <path clip-path="url(#p1f31122917)" d="M 159.636973 103.126105 + <path clip-path="url(#p39d06bc184)" d="M 159.636973 103.126105 Q 159.620409 103.308058 159.806574 101.263153 " style="fill:none;stroke:#ffdc00;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 162.160991 97.460954 + <path clip-path="url(#p39d06bc184)" d="M 162.160991 97.460954 L 159.806574 101.263153 L 158.177464 97.0983 L 162.160991 97.460954 @@ -2490,10 +2490,10 @@ z " style="fill:#ffdc00;stroke:#ffdc00;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_45"> - <path clip-path="url(#p1f31122917)" d="M 276.691924 164.066616 + <path clip-path="url(#p39d06bc184)" d="M 276.691924 164.066616 Q 275.183445 162.915991 275.452862 163.121495 " style="fill:none;stroke:#ffa200;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 277.420302 167.13761 + <path clip-path="url(#p39d06bc184)" d="M 277.420302 167.13761 L 275.452862 163.121495 L 279.846218 163.957212 L 277.420302 167.13761 @@ -2501,10 +2501,10 @@ z " style="fill:#ffa200;stroke:#ffa200;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_46"> - <path clip-path="url(#p1f31122917)" d="M 184.960022 75.29416 + <path clip-path="url(#p39d06bc184)" d="M 184.960022 75.29416 Q 185.453921 76.97804 185.318472 76.516246 " style="fill:none;stroke:#fff100;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 186.111809 72.115039 + <path clip-path="url(#p39d06bc184)" d="M 186.111809 72.115039 L 185.318472 76.516246 L 182.27351 73.240852 L 186.111809 72.115039 @@ -2512,10 +2512,10 @@ z " style="fill:#fff100;stroke:#fff100;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_47"> - <path clip-path="url(#p1f31122917)" d="M 259.857619 163.90245 + <path clip-path="url(#p39d06bc184)" d="M 259.857619 163.90245 Q 258.505238 162.616909 258.773539 162.871949 " style="fill:none;stroke:#ffb400;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 260.294765 167.077406 + <path clip-path="url(#p39d06bc184)" d="M 260.294765 167.077406 L 258.773539 162.871949 L 263.05064 164.178243 L 260.294765 167.077406 @@ -2523,10 +2523,10 @@ z " style="fill:#ffb400;stroke:#ffb400;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_48"> - <path clip-path="url(#p1f31122917)" d="M 180.762842 137.32217 + <path clip-path="url(#p39d06bc184)" d="M 180.762842 137.32217 Q 179.815969 137.625213 180.998752 137.246668 " style="fill:none;stroke:#ffd800;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 185.418029 137.93223 + <path clip-path="url(#p39d06bc184)" d="M 185.418029 137.93223 L 180.998752 137.246668 L 184.198768 134.122584 L 185.418029 137.93223 @@ -2534,10 +2534,10 @@ z " style="fill:#ffd800;stroke:#ffd800;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_49"> - <path clip-path="url(#p1f31122917)" d="M 201.998204 159.677553 + <path clip-path="url(#p39d06bc184)" d="M 201.998204 159.677553 Q 200.8142 158.270908 201.070143 158.574979 " style="fill:none;stroke:#ffd100;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 202.115889 162.923129 + <path clip-path="url(#p39d06bc184)" d="M 202.115889 162.923129 L 201.070143 158.574979 L 205.176111 160.347272 L 202.115889 162.923129 @@ -2545,10 +2545,10 @@ z " style="fill:#ffd100;stroke:#ffd100;stroke-linecap:round;stroke-width:2;"/> </g> <g id="patch_50"> - <path clip-path="url(#p1f31122917)" d="M 208.932939 179.7095 + <path clip-path="url(#p39d06bc184)" d="M 208.932939 179.7095 Q 207.579956 178.417618 207.844207 178.669935 " style="fill:none;stroke:#ffc900;stroke-linecap:round;stroke-width:2;"/> - <path clip-path="url(#p1f31122917)" d="M 209.356031 182.878782 + <path clip-path="url(#p39d06bc184)" d="M 209.356031 182.878782 L 207.844207 178.669935 L 212.118378 179.985784 L 209.356031 182.878782 @@ -2578,7 +2578,7 @@ L 343.296 41.472 </g> <g id="axes_2"> <g id="patch_55"> - <path clip-path="url(#p0d7d147e35)" d="M 361.152 307.584 + <path clip-path="url(#pf970e9a322)" d="M 361.152 307.584 L 361.152 306.5445 L 361.152 42.5115 L 361.152 41.472 @@ -2589,7 +2589,7 @@ L 374.4576 307.584 z " style="fill:#ffffff;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.01;"/> </g> - <image height="265.68" id="image2737410948" transform="scale(1 -1)translate(0 -265.68)" width="12.96" x="361.44" xlink:href="data:image/png;base64, + <image height="265.68" id="image1f2d1ecdde" transform="scale(1 -1)translate(0 -265.68)" width="12.96" x="361.44" xlink:href="data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAABIAAAFxCAYAAAB+2fgXAAAABHNCSVQICAgIfAhkiAAAAPdJREFUeJztkMENwzAAhJyq+6/cjsDHj3CCAZDg+Z3zOxf4nueG5qLoc0dTmlM0/Kg0pjSjaPhRaUxpRtHwo9KY0oyi4UelMe9L6xFTGlOaUTT8qDSmNKNo+FFpTGlG0fCj0pjSjKLhR6UxpRlFw49KY0ozioYflcaUZhQNPyqNKc0oGn5UGlOaUTT8qDSmNKNo+FFpTGlG0fCj0pjSjKLhR6UxpRlFw49KY0ozioYflcaUZhQNPyqNKc0oGn5UGlOaUTT8qDTmfWk9YkpjSjOKhh+VxpRmFA0/Ko0pzSgaflQaU5pRNPyoNKY0o2j4UWlMaUbRtUd/Wd8H3aIvcBQAAAAASUVORK5CYII=" y="-41.76"/> <g id="matplotlib.axis_3"/> <g id="matplotlib.axis_4"> @@ -2598,59 +2598,52 @@ iVBORw0KGgoAAAANSUhEUgAAABIAAAFxCAYAAAB+2fgXAAAABHNCSVQICAgIfAhkiAAAAPdJREFUeJzt <defs> <path d="M 0 0 L 3.5 0 -" id="m90785db178" style="stroke:#000000;stroke-width:0.8;"/> +" id="m0e5c641dd6" style="stroke:#000000;stroke-width:0.8;"/> </defs> <g> - <use style="stroke:#000000;stroke-width:0.8;" x="374.4576" xlink:href="#m90785db178" y="289.842114"/> + <use style="stroke:#000000;stroke-width:0.8;" x="374.4576" xlink:href="#m0e5c641dd6" y="289.842114"/> </g> </g> </g> <g id="ytick_9"> <g id="line2d_16"> <g> - <use style="stroke:#000000;stroke-width:0.8;" x="374.4576" xlink:href="#m90785db178" y="254.358342"/> + <use style="stroke:#000000;stroke-width:0.8;" x="374.4576" xlink:href="#m0e5c641dd6" y="254.358342"/> </g> </g> </g> <g id="ytick_10"> <g id="line2d_17"> <g> - <use style="stroke:#000000;stroke-width:0.8;" x="374.4576" xlink:href="#m90785db178" y="218.874569"/> + <use style="stroke:#000000;stroke-width:0.8;" x="374.4576" xlink:href="#m0e5c641dd6" y="218.874569"/> </g> </g> </g> <g id="ytick_11"> <g id="line2d_18"> <g> - <use style="stroke:#000000;stroke-width:0.8;" x="374.4576" xlink:href="#m90785db178" y="183.390797"/> + <use style="stroke:#000000;stroke-width:0.8;" x="374.4576" xlink:href="#m0e5c641dd6" y="183.390797"/> </g> </g> </g> <g id="ytick_12"> <g id="line2d_19"> <g> - <use style="stroke:#000000;stroke-width:0.8;" x="374.4576" xlink:href="#m90785db178" y="147.907025"/> + <use style="stroke:#000000;stroke-width:0.8;" x="374.4576" xlink:href="#m0e5c641dd6" y="147.907025"/> </g> </g> </g> <g id="ytick_13"> <g id="line2d_20"> <g> - <use style="stroke:#000000;stroke-width:0.8;" x="374.4576" xlink:href="#m90785db178" y="112.423253"/> + <use style="stroke:#000000;stroke-width:0.8;" x="374.4576" xlink:href="#m0e5c641dd6" y="112.423253"/> </g> </g> </g> <g id="ytick_14"> <g id="line2d_21"> <g> - <use style="stroke:#000000;stroke-width:0.8;" x="374.4576" xlink:href="#m90785db178" y="76.93948"/> - </g> - </g> - </g> - <g id="ytick_15"> - <g id="line2d_22"> - <g> - <use style="stroke:#000000;stroke-width:0.8;" x="374.4576" xlink:href="#m90785db178" y="41.455708"/> + <use style="stroke:#000000;stroke-width:0.8;" x="374.4576" xlink:href="#m0e5c641dd6" y="76.93948"/> </g> </g> </g> @@ -2670,10 +2663,10 @@ z </g> </g> <defs> - <clipPath id="p1f31122917"> + <clipPath id="p39d06bc184"> <rect height="266.112" width="285.696" x="57.6" y="41.472"/> </clipPath> - <clipPath id="p0d7d147e35"> + <clipPath id="pf970e9a322"> <rect height="266.112" width="13.3056" x="361.152" y="41.472"/> </clipPath> </defs> diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py index fd5e379cd2d4..e9c83841b45c 100644 --- a/lib/matplotlib/tests/test_colorbar.py +++ b/lib/matplotlib/tests/test_colorbar.py @@ -288,9 +288,9 @@ def test_colorbar_autoticks(): cbar2 = fig.colorbar(pcm, ax=ax[1], extend='both', orientation='vertical', shrink=0.4) np.testing.assert_almost_equal(cbar.ax.yaxis.get_ticklocs(), - np.arange(-15, 16., 5.)) + np.arange(-10, 11., 5.)) np.testing.assert_almost_equal(cbar2.ax.yaxis.get_ticklocs(), - np.arange(-20, 21., 10.)) + np.arange(-10, 11., 10.)) def test_colorbar_autotickslog(): From 6c37203d4de8d6f6d59b1a28899d363257d0566f Mon Sep 17 00:00:00 2001 From: 816-8055 <816_8055@online.de> Date: Wed, 4 Jul 2018 07:48:05 +0000 Subject: [PATCH 0887/1161] Update _backend_tk.py Added reason for change as a comment --- lib/matplotlib/backends/_backend_tk.py | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/matplotlib/backends/_backend_tk.py b/lib/matplotlib/backends/_backend_tk.py index b54c7ef302c9..1d93bdd609e4 100644 --- a/lib/matplotlib/backends/_backend_tk.py +++ b/lib/matplotlib/backends/_backend_tk.py @@ -473,6 +473,7 @@ def __init__(self, canvas, num, window): self.window.withdraw() self.set_window_title("Figure %d" % num) self.canvas = canvas + # packing toolbar first, because if space is getting low, last packed widget is getting shrunk first (-> the canvas) self.toolbar = self._get_toolbar() self.canvas._tkcanvas.pack(side=Tk.TOP, fill=Tk.BOTH, expand=1) self._num = num From ed56906f9c0e924a66ee69724253953f18c1834f Mon Sep 17 00:00:00 2001 From: fredrik-1 <sandquist.fredrik@gmail.com> Date: Tue, 3 Jul 2018 09:51:55 +0200 Subject: [PATCH 0888/1161] Figure.text changes --- lib/matplotlib/figure.py | 63 ++++++++++++++++++++++++++++++---------- 1 file changed, 47 insertions(+), 16 deletions(-) diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index 9ba419848b9d..385395c0d448 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -41,7 +41,7 @@ from matplotlib.patches import Rectangle from matplotlib.projections import (get_projection_names, process_projection_requirements) -from matplotlib.text import Text, _process_text_args +from matplotlib.text import Text, TextWithDash from matplotlib.transforms import (Affine2D, Bbox, BboxTransformTo, TransformedBbox) import matplotlib._layoutbox as layoutbox @@ -1716,32 +1716,63 @@ def legend(self, *args, **kwargs): return l @docstring.dedent_interpd - def text(self, x, y, s, *args, **kwargs): + def text(self, x, y, s, fontdict=None, withdash=False, **kwargs): """ Add text to figure. - Call signature:: + Parameters + ---------- + x, y : float + The position to place the text. By default, this is in figure + coordinates, floats in [0, 1]. The coordinate system can be changed + using the *transform* keyword. + + s : str + The text string. - text(x, y, s, fontdict=None, **kwargs) + fontdict : dictionary, optional, default: None + A dictionary to override the default text properties. If fontdict + is None, the defaults are determined by your rc parameters. A + property in *kwargs* override the same property in fontdict. - Add text to figure at location *x*, *y* (relative 0-1 - coords). See :func:`~matplotlib.pyplot.text` for the meaning - of the other arguments. + withdash : boolean, optional, default: False + Creates a `~matplotlib.text.TextWithDash` instance instead of a + `~matplotlib.text.Text` instance. + + Other Parameters + ---------------- + **kwargs : `~matplotlib.text.Text` properties + Other miscellaneous text parameters. + %(Text)s - kwargs control the :class:`~matplotlib.text.Text` properties: + Returns + ------- + text : `~.text.Text` - %(Text)s + See Also + -------- + .Axes.text + .pyplot.text """ + default = dict(transform=self.transFigure) + + if withdash: + text = TextWithDash(x=x, y=y, text=s) + else: + text = Text(x=x, y=y, text=s) + + text.update(default) + if fontdict is not None: + text.update(fontdict) + text.update(kwargs) - override = _process_text_args({}, *args, **kwargs) - t = Text(x=x, y=y, text=s) + text.set_figure(self) + text.stale_callback = _stale_figure_callback - t.update(override) - self._set_artist_props(t) - self.texts.append(t) - t._remove_method = self.texts.remove + self.texts.append(text) + text._remove_method = self.texts.remove self.stale = True - return t + return text def _set_artist_props(self, a): if a != self: From b1cde413ad8f22f1bc37414d952ed9ce9a90cb4d Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Tue, 3 Jul 2018 11:29:17 +0200 Subject: [PATCH 0889/1161] Cleanups. - faulthandler is present in all versions of Python we support; no need for `try... except ImportError` anymore. - LooseVersions can directly be compared to strings (it casts the other argument to a LooseVersion). - Move the gi+cairocffi incompatibility check (duplicated between backend_gtk3agg and backend_gtk3cairo) to the common _gtk3_compat. - Replace HAS_CAIRO_CFFI with checking `cairo.__name__`, which is consistent with e.g. the check on `gi.__name__`. - Inline the (single-used, internal) pilread (I think the new version is also more readable as we don't need to handle None as special value). - Replace HAS_NATGRID by pytest.importorskip. --- .../2018-02-26-AL-removals.rst | 3 ++- doc/sphinxext/mock_gui_toolkits.py | 2 +- lib/matplotlib/__init__.py | 20 ++++++++----------- lib/matplotlib/backend_bases.py | 2 +- lib/matplotlib/backends/_gtk3_compat.py | 11 +++++++++- lib/matplotlib/backends/backend_cairo.py | 8 +++----- lib/matplotlib/backends/backend_gtk3agg.py | 11 ---------- lib/matplotlib/backends/backend_gtk3cairo.py | 12 ----------- lib/matplotlib/image.py | 19 ++++++------------ lib/matplotlib/tests/test_image.py | 2 +- lib/matplotlib/tests/test_mlab.py | 10 ++-------- 11 files changed, 34 insertions(+), 66 deletions(-) diff --git a/doc/api/next_api_changes/2018-02-26-AL-removals.rst b/doc/api/next_api_changes/2018-02-26-AL-removals.rst index d7ae9530f1d1..cef1b3932613 100644 --- a/doc/api/next_api_changes/2018-02-26-AL-removals.rst +++ b/doc/api/next_api_changes/2018-02-26-AL-removals.rst @@ -48,4 +48,5 @@ The following deprecated API elements have been removed: The following API elements have been removed: -- ``matplotlib.sphinxext.sphinx_version``, +- ``backend_cairo.HAS_CAIRO_CFFI``, +- ``sphinxext.sphinx_version``, diff --git a/doc/sphinxext/mock_gui_toolkits.py b/doc/sphinxext/mock_gui_toolkits.py index 097a3409b167..bb76c68da301 100644 --- a/doc/sphinxext/mock_gui_toolkits.py +++ b/doc/sphinxext/mock_gui_toolkits.py @@ -3,7 +3,7 @@ class MyCairoCffi(MagicMock): - pass + __name__ = "cairocffi" class MyPyQt4(MagicMock): diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 52205228271e..57b69ed30cd7 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -1417,19 +1417,15 @@ def tk_window_focus(): def _init_tests(): - try: + # CPython's faulthandler since v3.6 handles exceptions on Windows + # https://bugs.python.org/issue23848 but until v3.6.4 it was printing + # non-fatal exceptions https://bugs.python.org/issue30557 + import platform + if not (sys.platform == 'win32' and + (3, 6) < sys.version_info < (3, 6, 4) and + platform.python_implementation() == 'CPython'): import faulthandler - except ImportError: - pass - else: - # CPython's faulthandler since v3.6 handles exceptions on Windows - # https://bugs.python.org/issue23848 but until v3.6.4 it was - # printing non-fatal exceptions https://bugs.python.org/issue30557 - import platform - if not (sys.platform == 'win32' and - (3, 6) < sys.version_info < (3, 6, 4) and - platform.python_implementation() == 'CPython'): - faulthandler.enable() + faulthandler.enable() # The version of FreeType to install locally for running the # tests. This must match the value in `setupext.py` diff --git a/lib/matplotlib/backend_bases.py b/lib/matplotlib/backend_bases.py index 2cfb02457e4e..a194b985b587 100644 --- a/lib/matplotlib/backend_bases.py +++ b/lib/matplotlib/backend_bases.py @@ -54,7 +54,7 @@ from PIL import Image from PIL import PILLOW_VERSION from distutils.version import LooseVersion - if LooseVersion(PILLOW_VERSION) >= LooseVersion("3.4"): + if LooseVersion(PILLOW_VERSION) >= "3.4": _has_pil = True else: _has_pil = False diff --git a/lib/matplotlib/backends/_gtk3_compat.py b/lib/matplotlib/backends/_gtk3_compat.py index e134ccdf078c..5670e5375497 100644 --- a/lib/matplotlib/backends/_gtk3_compat.py +++ b/lib/matplotlib/backends/_gtk3_compat.py @@ -14,7 +14,6 @@ import importlib import sys - if "gi" in sys.modules: import gi elif "pgi" in sys.modules: @@ -28,6 +27,16 @@ except ImportError: raise ImportError("The Gtk3 backend requires PyGObject or pgi") +from .backend_cairo import cairo # noqa +# The following combinations are allowed: +# gi + pycairo +# gi + cairocffi +# pgi + cairocffi +# (pgi doesn't work with pycairo) +# We always try to import cairocffi first so if a check below fails it means +# that cairocffi was unavailable to start with. +if gi.__name__ == "pgi" and cairo.__name__ == "cairo": + raise ImportError("pgi and pycairo are not compatible") gi.require_version("Gtk", "3.0") globals().update( diff --git a/lib/matplotlib/backends/backend_cairo.py b/lib/matplotlib/backends/backend_cairo.py index 258237d741f4..7631c5d2b89b 100644 --- a/lib/matplotlib/backends/backend_cairo.py +++ b/lib/matplotlib/backends/backend_cairo.py @@ -24,14 +24,11 @@ raise ImportError("cairo backend requires that cairocffi or pycairo " "is installed") else: - HAS_CAIRO_CFFI = False if cairo.version_info < (1, 11, 0): # Introduced create_for_data for Py3. raise ImportError( "cairo {} is installed; cairo>=1.11.0 is required" .format(cairo.version)) -else: - HAS_CAIRO_CFFI = True backend_version = cairo.version @@ -65,7 +62,7 @@ def _premultiplied_argb32_to_unmultiplied_rgba8888(buf): return rgba -if HAS_CAIRO_CFFI: +if cairo.__name__ == "cairocffi": # Convert a pycairo context to a cairocffi one. def _to_context(ctx): if not isinstance(ctx, cairo.Context): @@ -177,7 +174,8 @@ def _append_paths_fast(ctx, paths, transforms, clip=None): cairo.cairo.cairo_append_path(ctx._pointer, ptr) -_append_paths = _append_paths_fast if HAS_CAIRO_CFFI else _append_paths_slow +_append_paths = (_append_paths_fast if cairo.__name__ == "cairocffi" + else _append_paths_slow) def _append_path(ctx, path, transform, clip=None): diff --git a/lib/matplotlib/backends/backend_gtk3agg.py b/lib/matplotlib/backends/backend_gtk3agg.py index d982d98e2369..66f7e151a48a 100644 --- a/lib/matplotlib/backends/backend_gtk3agg.py +++ b/lib/matplotlib/backends/backend_gtk3agg.py @@ -1,5 +1,4 @@ import sys -import warnings import numpy as np @@ -9,16 +8,6 @@ from .backend_gtk3 import Gtk, _BackendGTK3 from matplotlib import transforms -# The following combinations are allowed: -# gi + pycairo -# gi + cairocffi -# pgi + cairocffi -# (pgi doesn't work with pycairo) -# We always try to import cairocffi first so if a check below fails it means -# that cairocffi was unavailable to start with. -if gi.__name__ == "pgi" and cairo.__name__ == "cairo": - raise ImportError("pgi and pycairo are not compatible") - class FigureCanvasGTK3Agg(backend_gtk3.FigureCanvasGTK3, backend_agg.FigureCanvasAgg): diff --git a/lib/matplotlib/backends/backend_gtk3cairo.py b/lib/matplotlib/backends/backend_gtk3cairo.py index dcbf02eb5024..1d7416826e09 100644 --- a/lib/matplotlib/backends/backend_gtk3cairo.py +++ b/lib/matplotlib/backends/backend_gtk3cairo.py @@ -1,21 +1,9 @@ from . import backend_cairo, backend_gtk3 from ._gtk3_compat import gi -from .backend_cairo import cairo from .backend_gtk3 import Gtk, _BackendGTK3 from matplotlib.backend_bases import cursors -# The following combinations are allowed: -# gi + pycairo -# gi + cairocffi -# pgi + cairocffi -# (pgi doesn't work with pycairo) -# We always try to import cairocffi first so if a check below fails it means -# that cairocffi was unavailable to start with. -if gi.__name__ == "pgi" and cairo.__name__ == "cairo": - raise ImportError("pgi and pycairo are not compatible") - - class RendererGTK3Cairo(backend_cairo.RendererCairo): def set_context(self, ctx): self.gc.ctx = backend_cairo._to_context(ctx) diff --git a/lib/matplotlib/image.py b/lib/matplotlib/image.py index 5e25d7aa2531..a41428a5f345 100644 --- a/lib/matplotlib/image.py +++ b/lib/matplotlib/image.py @@ -1331,15 +1331,6 @@ def imread(fname, format=None): .. _Pillow documentation: http://pillow.readthedocs.io/en/latest/ """ - def pilread(fname): - """try to load the image with PIL or return None""" - try: - from PIL import Image - except ImportError: - return None - with Image.open(fname) as image: - return pil_to_array(image) - handlers = {'png': _png.read_png, } if format is None: if isinstance(fname, str): @@ -1358,13 +1349,15 @@ def pilread(fname): else: ext = format - if ext not in handlers: - im = pilread(fname) - if im is None: + if ext not in handlers: # Try to load the image with PIL. + try: + from PIL import Image + except ImportError: raise ValueError('Only know how to handle extensions: %s; ' 'with Pillow installed matplotlib can handle ' 'more images' % list(handlers)) - return im + with Image.open(fname) as image: + return pil_to_array(image) handler = handlers[ext] diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py index 85d5761cc7de..3897bacd50e8 100644 --- a/lib/matplotlib/tests/test_image.py +++ b/lib/matplotlib/tests/test_image.py @@ -115,7 +115,7 @@ def test_image_python_io(): def test_imread_pil_uint16(): img = plt.imread(os.path.join(os.path.dirname(__file__), 'baseline_images', 'test_image', 'uint16.tif')) - assert (img.dtype == np.uint16) + assert img.dtype == np.uint16 assert np.sum(img) == 134184960 diff --git a/lib/matplotlib/tests/test_mlab.py b/lib/matplotlib/tests/test_mlab.py index ea4ba461442c..6109d326f4a0 100644 --- a/lib/matplotlib/tests/test_mlab.py +++ b/lib/matplotlib/tests/test_mlab.py @@ -13,13 +13,6 @@ from matplotlib.cbook.deprecation import MatplotlibDeprecationWarning -try: - from mpl_toolkits.natgrid import _natgrid - HAS_NATGRID = True -except ImportError: - HAS_NATGRID = False - - ''' A lot of mlab.py has been deprecated in Matplotlib 2.2 and is scheduled for removal in the future. The tests that use deprecated methods have a block @@ -2174,8 +2167,9 @@ def get_z(x, y): np.ma.getmask(correct_zi_masked)) -@pytest.mark.xfail(not HAS_NATGRID, reason='natgrid not installed') def test_griddata_nn(): + pytest.importorskip('mpl_toolkits.natgrid') + # z is a linear function of x and y. def get_z(x, y): return 3.0*x - y From 63f53e391a6365f91cf56438ed4292159418669f Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sun, 13 May 2018 16:04:10 -0700 Subject: [PATCH 0890/1161] Deprecate the examples.directory rcParam. It is always found in the sample_data subdirectory relative to what the ``datapath`` rcParam indicates now. The latter should already provide enough flexibility for downstream packagers that want to tear the package apart... --- .../next_api_changes/2018-02-15-AL-deprecations.rst | 1 + lib/matplotlib/__init__.py | 12 +++++++++++- lib/matplotlib/cbook/__init__.py | 3 ++- lib/matplotlib/tests/test_rcparams.py | 2 +- matplotlibrc.template | 3 --- 5 files changed, 15 insertions(+), 6 deletions(-) diff --git a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst index df34bd47dab4..a34615e18dee 100644 --- a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst +++ b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst @@ -42,6 +42,7 @@ The following classes, methods, functions, and attributes are deprecated: - ``text.Annotation.arrow``, The following rcParams are deprecated: +- ``examples.directory`` (use ``datapath`` instead), - ``pgf.debug`` (the pgf backend relies on logging), The following keyword arguments are deprecated: diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 52205228271e..477f4e68d918 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -894,6 +894,10 @@ def __setitem__(self, key, val): cbook.warn_deprecated( version, key, obj_type="rcparam", alternative=alt_key) return + elif key == 'examples.directory': + cbook.warn_deprecated( + "3.0", "{} is deprecated; in the future, examples will be " + "found relative to the 'datapath' directory.".format(key)) try: cval = self.validate[key](val) except ValueError as ve: @@ -917,6 +921,11 @@ def __getitem__(self, key): version, key, obj_type, alternative=alt_key) return dict.__getitem__(self, alt_key) if alt_key else None + elif key == 'examples.directory': + cbook.warn_deprecated( + "3.0", "{} is deprecated; in the future, examples will be " + "found relative to the 'datapath' directory.".format(key)) + return dict.__getitem__(self, key) def __repr__(self): @@ -1116,7 +1125,8 @@ def rc_params_from_file(fname, fail_on_error=False, use_default_template=True): # this is the instance used by the matplotlib classes rcParams = rc_params() -if rcParams['examples.directory']: +# Don't trigger deprecation warning when just fetching. +if dict.__getitem__(rcParams, 'examples.directory'): # paths that are intended to be relative to matplotlib_fname() # are allowed for the examples.directory parameter. # However, we will need to fully qualify the path because diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index b25543ea1e20..059560ecbf45 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -522,7 +522,8 @@ def get_sample_data(fname, asfileobj=True): If the filename ends in .gz, the file is implicitly ungzipped. """ - if matplotlib.rcParams['examples.directory']: + # Don't trigger deprecation warning when just fetching. + if dict.__getitem__(matplotlib.rcParams, 'examples.directory'): root = matplotlib.rcParams['examples.directory'] else: root = os.path.join(matplotlib._get_data_path(), 'sample_data') diff --git a/lib/matplotlib/tests/test_rcparams.py b/lib/matplotlib/tests/test_rcparams.py index 8b28f0a1af1f..6a0040d1e0d8 100644 --- a/lib/matplotlib/tests/test_rcparams.py +++ b/lib/matplotlib/tests/test_rcparams.py @@ -463,7 +463,7 @@ def test_if_rctemplate_is_up_to_date(): continue if k in deprecated: continue - if "verbose" in k: + if k.startswith(("verbose.", "examples.directory")): continue found = False for line in rclines: diff --git a/matplotlibrc.template b/matplotlibrc.template index 6d8654d05eeb..cf777b901ec2 100644 --- a/matplotlibrc.template +++ b/matplotlibrc.template @@ -594,9 +594,6 @@ backend : $TEMPLATE_BACKEND #keymap.all_axes : a ## enable all axes #keymap.copy : ctrl+c, cmd+c ## Copy figure to clipboard -## Control location of examples data files -#examples.directory : ## directory to look in for custom installation - ###ANIMATION settings #animation.html : none ## How to display the animation as HTML in ## the IPython notebook. 'html5' uses From a1a04fa14b9de4f0093d489b0e4429af915167de Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Wed, 4 Jul 2018 16:15:47 +0200 Subject: [PATCH 0891/1161] More simplifications to FreeType setup on Windows. - VS2010 is now always True -> perform constant folding. - Remove unused fixproj, tar_extract, zip_extract, DEPSSRC, DEPSBUILD, PYVER. - prepare_build_cmd is only called once so no need to cache VCVARSALL. - Remove unused imports. --- setup_external_compile.py | 45 +++------------------------------------ setupext.py | 10 +++------ 2 files changed, 6 insertions(+), 49 deletions(-) diff --git a/setup_external_compile.py b/setup_external_compile.py index 4ee60120f1b9..40f5e8f4aa89 100644 --- a/setup_external_compile.py +++ b/setup_external_compile.py @@ -19,54 +19,15 @@ - VS 2010, 64 bit -- Windows SDK v7.1 """ -import sys import platform -import os -import glob -import shutil -import zipfile -import tarfile import distutils.msvc9compiler as msvc -def fixproj(project_file, bit_target): - """ - :param bit_target: one of 'Win32' or 'x64' - """ - with open(project_file, 'r') as fd: - content = '\n'.join(line.strip() for line in fd if line.strip()) - content = content.replace('Win32', bit_target).replace('x64', bit_target) - with open(project_file, 'w') as fd: - fd.write(content) - -def tar_extract(tar_file, target): - with tarfile.open(tar_file, 'r:gz') as tgz: - tgz.extractall(target) - -def zip_extract(zip_file, target): - with zipfile.ZipFile(zip_file) as zf: - zf.extractall(target) - # Configuration selection & declaration: -DEPSSRC = os.path.join(os.path.dirname(os.path.normpath(__file__)), - 'deps_source') -DEPSBUILD = os.path.join(os.path.dirname(os.path.normpath(__file__)), 'build') X64 = platform.architecture()[0] == '64bit' -PYVER = sys.version_info[:2] -VS2010 = PYVER >= (3, 3) xXX = 'x64' if X64 else 'x86' -# If not VS2010, then use VS2008 - -VCVARSALL = None def prepare_build_cmd(build_cmd, **kwargs): - global VCVARSALL + VCVARSALL = msvc.find_vcvarsall(10.0) if VCVARSALL == None: - candidate = msvc.find_vcvarsall(10.0 if VS2010 else 9.0) - if candidate == None: - raise RuntimeError('Microsoft VS {} required' - .format('2010' if VS2010 else '2008')) - else: - VCVARSALL = candidate - - return build_cmd.format( - vcvarsall=VCVARSALL, xXX=xXX, **kwargs) + raise RuntimeError('Microsoft VS 2010 required') + return build_cmd.format(vcvarsall=VCVARSALL, xXX=xXX, **kwargs) diff --git a/setupext.py b/setupext.py index 4c48fcdee630..752ef3246cae 100644 --- a/setupext.py +++ b/setupext.py @@ -1132,19 +1132,15 @@ def do_custom_build(self): %MSBUILD% "builds\windows\{vc20xx}\freetype.sln" ^ /t:Clean;Build /p:Configuration="{config}";Platform={WinXX} """ - from setup_external_compile import fixproj, prepare_build_cmd, VS2010, X64, xXX + from setup_external_compile import prepare_build_cmd, X64, xXX # Note: freetype has no build profile for 2014, so we don't bother... - vc = 'vc2010' if VS2010 else 'vc2008' + vc = 'vc2010' WinXX = 'x64' if X64 else 'Win32' - # This is only false for py2.7, even on py3.5... - if not VS2010: - fixproj(os.path.join(src_path, 'builds', 'windows', vc, 'freetype.sln'), WinXX) - fixproj(os.path.join(src_path, 'builds', 'windows', vc, 'freetype.vcproj'), WinXX) cmdfile = os.path.join("build", "build_freetype.cmd") with open(cmdfile, 'w') as cmd: cmd.write(prepare_build_cmd(FREETYPE_BUILD_CMD, vc20xx=vc, WinXX=WinXX, - config='Release' if VS2010 else 'LIB Release')) + config='Release')) shutil.rmtree(str(Path(src_path, "objs")), ignore_errors=True) subprocess.check_call([os.path.abspath(cmdfile)], From 64ee57416c2aa85a83ae6dddaf8adba0def6e913 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Wed, 4 Jul 2018 18:09:35 +0200 Subject: [PATCH 0892/1161] Cleanup stix_fonts_demo example. - The `s` variable conditionally defined was never used. - The `'--latex' in sys.argv` branch (which dates back to the origin of the example, a567601), likely never worked (\mathbb requires \usepackage{amsfonts}), so just kill it. - Saving the figure doesn't really help with the example and tends to clutter the source tree when running the example, so don't do it. --- .../stix_fonts_demo.py | 47 ++++--------------- 1 file changed, 8 insertions(+), 39 deletions(-) diff --git a/examples/text_labels_and_annotations/stix_fonts_demo.py b/examples/text_labels_and_annotations/stix_fonts_demo.py index f2e5e8455b32..59f2ed330478 100644 --- a/examples/text_labels_and_annotations/stix_fonts_demo.py +++ b/examples/text_labels_and_annotations/stix_fonts_demo.py @@ -5,14 +5,10 @@ """ -import subprocess -import sys -import re -import gc import matplotlib.pyplot as plt import numpy as np -stests = [ +tests = [ r'$\mathcircled{123} \mathrm{\mathcircled{123}}' r' \mathbf{\mathcircled{123}}$', r'$\mathsf{Sans \Omega} \mathrm{\mathsf{Sans \Omega}}' @@ -25,39 +21,12 @@ r'$\mathfrak{Fraktur} \mathbf{\mathfrak{Fraktur}}$', r'$\mathscr{Script}$'] -if sys.maxunicode > 0xffff: - s = r'Direct Unicode: $\u23ce \mathrm{\ue0f2 \U0001D538}$' +plt.figure(figsize=(8, (len(tests) * 1) + 2)) +plt.plot([0, 0], 'r') +plt.axis([0, 3, -len(tests), 0]) +plt.yticks(-np.arange(len(tests))) +for i, s in enumerate(tests): + plt.text(0.1, -i, s, fontsize=32) -def doall(): - tests = stests - - plt.figure(figsize=(8, (len(tests) * 1) + 2)) - plt.plot([0, 0], 'r') - plt.grid(False) - plt.axis([0, 3, -len(tests), 0]) - plt.yticks(np.arange(len(tests)) * -1) - for i, s in enumerate(tests): - plt.text(0.1, -i, s, fontsize=32) - - plt.savefig('stix_fonts_example') - plt.show() - - -if '--latex' in sys.argv: - fd = open("stix_fonts_examples.ltx", "w") - fd.write("\\documentclass{article}\n") - fd.write("\\begin{document}\n") - fd.write("\\begin{enumerate}\n") - - for i, s in enumerate(stests): - s = re.sub(r"(?<!\\)\$", "$$", s) - fd.write("\\item %s\n" % s) - - fd.write("\\end{enumerate}\n") - fd.write("\\end{document}\n") - fd.close() - - subprocess.call(["pdflatex", "stix_fonts_examples.ltx"]) -else: - doall() +plt.show() From 03378833c6f65e6dcb4928812f5cbe379c84c7a0 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Thu, 16 Nov 2017 09:14:58 -0800 Subject: [PATCH 0893/1161] FIX: Change default Autodatelocator *interval_multiples* Also make monthly byranges be 1 and 15 --- doc/api/next_api_changes/2018-07-02-JMK.rst | 37 + lib/matplotlib/dates.py | 14 +- .../test_axes/pcolor_datetime_axis.png | Bin 36647 -> 26249 bytes .../test_axes/pcolormesh_datetime_axis.png | Bin 36647 -> 26249 bytes .../baseline_images/test_axes/single_date.pdf | Bin 10337 -> 0 bytes .../baseline_images/test_axes/single_date.png | Bin 29239 -> 15710 bytes .../baseline_images/test_axes/single_date.svg | 1259 ----------------- .../test_contour/contour_datetime_axis.png | Bin 56789 -> 48820 bytes .../test_dates/date_axhline.png | Bin 26570 -> 21790 bytes .../test_dates/date_axhspan.png | Bin 21765 -> 21360 bytes .../test_dates/date_axvline.png | Bin 15972 -> 15897 bytes .../test_dates/date_inverted_limit.png | Bin 26467 -> 21707 bytes lib/matplotlib/tests/test_axes.py | 7 +- lib/matplotlib/tests/test_contour.py | 2 +- lib/matplotlib/tests/test_dates.py | 12 +- setup.cfg.template | 2 +- 16 files changed, 62 insertions(+), 1271 deletions(-) create mode 100644 doc/api/next_api_changes/2018-07-02-JMK.rst delete mode 100644 lib/matplotlib/tests/baseline_images/test_axes/single_date.pdf delete mode 100644 lib/matplotlib/tests/baseline_images/test_axes/single_date.svg diff --git a/doc/api/next_api_changes/2018-07-02-JMK.rst b/doc/api/next_api_changes/2018-07-02-JMK.rst new file mode 100644 index 000000000000..20f591fbd69b --- /dev/null +++ b/doc/api/next_api_changes/2018-07-02-JMK.rst @@ -0,0 +1,37 @@ +Changed default `AutoDateLocator` kwarg ``interval_multiples`` to ``True`` +-------------------------------------------------------------------------- + +The default value of the tick locator for dates, `.dates.AutoDateLocator` +kwarg ``interval_multiples`` was set to ``False`` which leads to not-nice +looking automatic ticks in many instances. The much nicer +``interval_multiples=True`` is the new default. See below to get the +old behavior back: + + .. plot:: + + import matplotlib.pyplot as plt + import datetime + import matplotlib.dates as mdates + + t0 = datetime.datetime(2009, 8, 20, 1, 10, 12) + tf = datetime.datetime(2009, 8, 20, 1, 42, 11) + + + fig, axs = plt.subplots(1, 2, constrained_layout=True) + ax = axs[0] + ax.axhspan(t0, tf, facecolor="blue", alpha=0.25) + ax.set_ylim(t0 - datetime.timedelta(minutes=3), + tf + datetime.timedelta(minutes=3)) + ax.set_title('NEW DEFAULT') + + ax = axs[1] + ax.axhspan(t0, tf, facecolor="blue", alpha=0.25) + ax.set_ylim(t0 - datetime.timedelta(minutes=3), + tf + datetime.timedelta(minutes=3)) + # old behavior + locator = mdates.AutoDateLocator(interval_multiples=False, ) + ax.yaxis.set_major_locator(locator) + ax.yaxis.set_major_formatter(mdates.AutoDateFormatter(locator)) + + ax.set_title('OLD') + plt.show() diff --git a/lib/matplotlib/dates.py b/lib/matplotlib/dates.py index 0af5f0f93807..71177a9eaaa0 100644 --- a/lib/matplotlib/dates.py +++ b/lib/matplotlib/dates.py @@ -1158,7 +1158,7 @@ class AutoDateLocator(DateLocator): locations. """ def __init__(self, tz=None, minticks=5, maxticks=None, - interval_multiples=False): + interval_multiples=True): """ *minticks* is the minimum number of ticks desired, which is used to select the type of ticking (yearly, monthly, etc.). @@ -1234,6 +1234,12 @@ def __init__(self, tz=None, minticks=5, maxticks=None, MICROSECONDLY: [1, 2, 5, 10, 20, 50, 100, 200, 500, 1000, 2000, 5000, 10000, 20000, 50000, 100000, 200000, 500000, 1000000]} + if interval_multiples: + # Swap "3" for "4" in the DAILY list; If we use 3 we get bad + # tick loc for months w/ 31 days: 1, 4,..., 28, 31, 1 + # If we use 4 then we get: 1, 5, ... 25, 29, 1 + self.intervald[DAILY] = [1, 2, 4, 7, 14, 21] + self._byranges = [None, range(1, 13), range(1, 32), range(0, 24), range(0, 60), range(0, 60), None] @@ -1338,7 +1344,11 @@ def get_locator(self, dmin, dmax): self._freq = freq if self._byranges[i] and self.interval_multiples: - byranges[i] = self._byranges[i][::interval] + if i == DAILY and interval == 14: + # just make first and 15th. Avoids 30th. + byranges[i] = [1, 15] + else: + byranges[i] = self._byranges[i][::interval] interval = 1 else: byranges[i] = self._byranges[i] diff --git a/lib/matplotlib/tests/baseline_images/test_axes/pcolor_datetime_axis.png b/lib/matplotlib/tests/baseline_images/test_axes/pcolor_datetime_axis.png index c5901ad07c984ed400032741cfbcd7ce13eff748..e9156247021590b4fac5a0fc34e8ca0faf48f3eb 100644 GIT binary patch literal 26249 zcmd43by!u~+CDrH6@zdg2#ACWl~j;!P!@t9B`w_`-5n}QiGZYp2uLd3jnW|9EJ{M8 zOBS(+Z%nuD^B&)`&+q%L@1GynwXZF#m}8DP#`E0I{oMBmke8JpICuFR1VIG%B~cF{ z=!6dh;Y^)54gSK_Gd2tUchdgueWf$t$K#BlKluHujikCg1QF@M|KVhaq?>_1DmaL% zIVf5iJ2>mv89|nM4mK9n4i;wmv`$8L_GZ>rwCuOoZ?WC7v9@>MzRi2f(8!66*+gIe zw!SeRFSj8Jt*L{94L>XEzdm@&+RlWv-KNMCf@q=ps5?q7@yp|$E+lj1BI|2ktP0LP z@s(t_ec=T0$9GW~yS*m@S(QIMzWJ~}uvl3^bYIaRwb#vUs+;c7io&w;c@^_wePwNn zp57EvqPxmWOz+R6`3&A5mZS|;)t&rybciS{xK=lIwXm{q>rj&{+IXimL4YINB+>QT z8+UvJ;sOGJ2s4RkmG$ulKg2<}qDb%)@)ZgNzqS}0z%MXFT1-??#PL|)yLaz&C+`eC zJ~<oh>Y+S?ZzQv-{@O$}FLt@`wqZ-?H6tlhzvF4^6IYRsIqYU7Er#=OQd3j?QOJy( zoTe@>49A$~&N$>#QNjO`O5jp<b~Xbe<EP2vBj+!PA~cHWvNCqxP$>SYlMhfo$|<d@ z5RQ(H86Q73lvtu|jt_TcBt-TR+}0ELPz;~_jT28GCT8Y*x9!J*8x0rB4l!s2W#!1( zF9H4zywEk|{@9O&KHD+d=Ej=0+?JP7Cn<TXP`p=~USF5CL0gty6%e3=*jzUaXXoc< z8p(7XsI;L_TAy)f5j}eFupyh?`}ALDLPYMFn=`kywdt=>zIcM5yZ0_R8L7@ljBq?_ zeS+_Flu=Sz+UaVy?WcO=t+IYC_NbE`9UTlzOi#_6*7lZbJh3)Q*`?EQlLt5My(E89 zI^lL63QbI;8M-ARLbJWSE%A~R|1<*sw1JLB)N>(s%saV6;bj5;*LAHm^*4DT!P8t^ zTnx8v$vRy|y;arH8vklFZh$!VoK5fZ$z2a&!NVVY&;@KL?~fWj1m7ZFOO@*un@MN9 zReOkkg@p4CmDOjQsoUQNK9E7WoK5v1FH=f($bR%3`Wy%<Z%M9EXJL}69w=jVYvcxm z$E2NANEb8xvrW%KVS>^F6N?ne#a-Vi1l>}e{pjR-_joebq%iBSj@sR#lq$YjgVbHp zI6KF)Nn08F>F5gDGVT#eMEsH2vUR=y3W<0S%XwB=S=nW)gC{I{2;)4Qt0Mx5T3X(e zl9o1DF*i34d34Tr@S{2dD{F}7`0%j*6I{H}MS%mn?E6Kj&N(Y-Jsw!kd%Uc=m6mL( zJ3Yj!M&6e=-<y6|rFR=;4Meo&Po|Sse=b2A&-q%Ep7IeE(y%POx!j{)X=z(>C~T-Z z7-mvO#C5ISi-w&yrN;?PTzg2hikke&eFdU^hLPs+GOV*6CWm4xaL7C`0%IjKp{b9p zjJ|IM7=J(QqmpI?W$ZcL9M3(+EX@O<O01yoOG%Y4=i7Ufb=q2b2-tA>Bt)puMn+2& zPpEOmZM!+doUhF8J8s}OppE)XIRn=`<^_g}%r2_rY6pWg&@@5GX?o$@xpR3=E011Y z<~k>eP95J~8k!k3&lS=i6Q%VLeK&(+mA+<EFv&*Z`C@maIoSC7D@NwNqob`;%caE; zS{ac>$7{V`RPdp~6`H=$nuf%S`QzLveutlo-uWF0UlWint+i)gu@2D=JfeH!=|}0h z^_d5uKyOv{^>h_x)ZAq`zquRCb6cB~l8OqvXW3*f@{BuN{MMBil9k2ef96|f!udYV z+h)D*4bx>&?>|$BB9ps>jt{o{@1>OOP6y3sd+&brvu&nw*2OH33|BZZgJ&5Q9{%jh zmj^7`Rb}<TS5c_US0H{QcZnk<YT~0JBcG>AM<;^~;=Z%m*qtO6_9n9mC5?(W0q@U; zOiWC76%-T-`e>1h>^V5sK-k$N?}UgEsceXGs^u5Mwc!K)Orwti1q|sbD#tqf4+U<^ zU`dsgEOF}anKtE>`20_=OeS3ZlIOj16XIlAo$X{>QRQjjBy}dEY|A<;uVR#!{mH5Q zo4+Do86KWb!29o_IFN!-v-QGgTwo{7_q!&SWrK-uAU2}!H!8F7wN|gz=JZ)@Eb)JF ztIcULh?47ZjjNcshjv{OaK|RNoENY~Cg1vcUH9JtBz!CIzzLxM5HJN_{1HEYzdQ); zPl`V9Znu0tAs0zw!T{I3mFVn#(x-%(y*`;P9}Ck=i{?so&hRe|SymnjWAF3qF0WbF zCJSenF_@2mh;Bn7s#VY@$wUZUY-tTVf^->zrXTY=ygNT|SdS5q6dh7G7jV*%ADVcm zw1?+o`r?p~8Y0{!P2_}PNvL?BT>_c;Y!=#8HPT~lg~sOro?jV!9?ieLij-1>qb&+G zd;1EQdIZ81AI}H;ilVLup%A2oW*bQI-(GI7yMRb#msU5pdAWGJU%r2dBRMekiJoOE zgLv>A87fgDMyAB%st5*Qp+;+wkc?zwTFCbcKH5^_0Tw-yp0N_m<Op$He~<B_gG%_L zU!J#tVk8$|X{uYxsCy{)CE;pi;AU8?oo77vfoTbPgu%9yXcB%G=50uidr<08AyVxb zsGke&p5IUgos$<qc9}C__lf*T(NuOiBy#$XhtqpRY~$$2_1N58;nAbOiE8&|?c>>S zxjd7uw`C>O?mPF)%*>J%;Rh&{QA7pZdQ@~~Zf-8)gSq?gmNaX%FLQ1cJLc%i8;*RB zJv&2Vul$n7V`a8#RW7!l?XSb1dS6t1QuE=%rxMhzCn>otcrD^ItjbT_ym>R<`^o`4 zePr)f@Tb1_q~Ji{kM}!$!5U#Ge!l{Bzf%67qIa;n!N9;!Cr+m2yOdi?{UV9^_zr58 zK_P0Pr)a1jUn#<oJ@R@crz7MUIO-JzPo>%&tffq2dU__9rCW?fqq&si?8`&-j~^N( z83gFlFpa)wJSsUuEl+*LtfdgQ?$a~8l(I7NL+nm-)J+XGqc)PC!2mO2LWC9iq<i7h z6qyi8F+AKG2|x4B^<`-N6CTY=?EYpuYcr{;<`aR{GF&=|SIa-#zjeg<@!5a7hOFjJ zX70C8BP4TDQP~+%8UU*;P5;Fm1<uP*gk!X_@)3@xM}-G6u+RzeXXqTmd8a(^NP@&< z7Sau{x<_X*VofvFRp^3D&VjEcAFbs?QBY7Iub^N%j5GC7y-;3Tn;Kh@nR&Lcu`xg@ z%%9l*`g?zd1Y2mge7w?mrtS%DOKU5iMI0P8X+!Hi`ZM&X-3|1wqP1+VD=H~TE+`<@ zD6znSEGBEHA|oS*i_OVmV`JCBV^7Y>A&fH8TN=!c5p-pD+gS|`Vy)qAeRENPJ>QoE z;d*D35E}ZZ{!Fj_#n+b{oe=aT<~DBq3xaxFB0(R?YflpoX6e5V<<cB@iO33Wp!$b~ zW(HJs8bL^m2B?GK&AkxnVDsGSOJXnZ?>jM}P_OQzrR$=#-56)j%w2F=9Sc}Nml|}v z6$0?!ZlbU!aSRor{7s233G<l?3R(Bj6ruwAJ8L0|azc^MM34oR>r<b0_lIg<oxfEE zsjI8Uup6DrsXf}K^XdX=J~TR-4BH&n?9VXL>vTHQzvZkJ<5kB8q$eZh5-t=^PRNs3 za3e7@v3i#GnXvYVSUaV(0+L8M#XNNd&PNJ~<ob(kECFWT=zwWDosFd=g`P`La^S;< z2yyj{P^06W^J}W`3hLtkv7mWziuj@5#WN>E<KifHLi`!t@Z!cuj!N(|cFy8JfgBDH zTf~Npk%!_&%MED#`Ep{28bw>7p`)IOk^8oK<t?v%`Ae@<iUuwP4_<ouiotsXSD{h; zpk_9)5zTm292N1H7grMHa3LxbiDaDuu=6`D3;45kopc=vg{OCx5xIE+4z3aK<QyGh z=>-Tt7@qmP)A4B$3j94vl=1`kFPTOcg&%PiA9`HHTHX}b5)oC;l~YE`h56nxGW}+| zymrT^L)6F!$|rGzQZU}Nc}CvpD2y2sRT@2<cK&DVldcPR@A*EwpgPHtW>E72^fE7p zJU^3R86T>_2j5+rlTor8f3yFiWo~U}3Kl0z;wB^OWD&!yR;WUn7rGEQycU(5UG-87 z)lVA#E3^GWf^fNb2BE;z*T3CYqB_QFj9O{t`dmTT`^EndV?2B$BOM$2#HWPt-Jzh; zj(X-2^msUNE1#rzpVJbD_Pr_1KtImQ;mIdGo>z`+z$$<d`|pg?`Q*my@Mt?|z#svt zlh<^@ffPN}C8BFt4Ml3^h7u}GZ>>N+<ZTsCD%Q2$wKvNzXJt%p+=ng%FWQZeDGU-Q zX*JpYaHBvdj820&{!f|UccO?B_4j`m!|-?;#|IHSYW=a?_5niG^Vyr}(`<?g-d*XY z=NXoutTeeRRqFTc@nVxLl@va7$@eef`j|F&E&C^DldAOdjjbJIyJx<F7u<hHKAN~O zqOWr1aD4m=s@ZGy_ugLB^5`h!@)Vxq5ROde&oXg7Ay4*r@ZON68+q2YK!ruo^LIBJ z3pKzbF<j|z6a>(|9snBf^LJ(QzjH%1*}3O=c5_n8<CSD4iJsgq@F`xuXMxi?F}<Y; zM0WF$uh-$e-c;Qa-mNbj`Hu&(%666(7v)t{USuk!>wkKBid@)(_Y#X*XuRRiPceW` zNlQtsx6p;??yi4jU}j!ghqDRd%*pj5>>3>?L28c=*K7ewHUO!BoYzK|nEeKF@pN+8 z?IydlvO<K)gzmRe5wax4RhG2X)7KKi&e<c|DBDOXHS9UwBn>~0N><~5$YZBFV@s}L zv2qw@>(~cknKnfN`aiz+lmXl)Q2mjT&@bPxm3YhvZQ0V<c^Z1~R*+(EZ_j0;k?dju z6L_);cT+)<3iCMFXg0O9434AV#K)z(_fk|`yiu=~l^h>Qj^9*c_4u(JryNp>I)~;) zvO`n}hmXWV9UUU5rK>B%T}VVk1fy*Nr--Vms^Qw{X?=;UYsn2W`+8va%5_4q#^^Ft zLUm?3Wd066hxs5&M09lX&+l})kfGj=n=!Zr?c<f04{gT;Zj)P1>Wb7<$QRa|yK^qt zjE*u7eK9?MhuJ9-(bLEs`8*-zYGPJ(mdy_wEenA%uNeQTx^NDk!~JbssDE&<sajh@ zgVH^h<B2F#US4i{?9WhbbI68peL|1t^XxRi-8*-126MD1-EWfP>w^#RE`2O~9YcXg zEyw}4hLqwm6M!r%EyazDu9sMhoPdUFJO$u7(|qVwOj<ykRmIt@`7Q}%Wm42h`}xl2 zX0b7xW)EL;&?hSm3~bkfoGK$D11{?Sn$dCy%26*oJ<}8%<SAs(gb&qeIgda0qjoz} zXwua*n5_YWlKA*5hQ`MF8`F(c{7%SZCoL@zLF)-Yuu9U+MU=`fsU?Hduh2N%>z`)) z&Pp$nLgkA%!(*)3<I^YPqo(YQk5IJ}LteeI*#spKOa99FVuAcVI9O~0e`v{;PD$zt zwB9Sty3&20hJ~5=yma&}aTyr`%<6bhl9(TogM;G<1#uYqN|jexQ4uG`&C+rOA^qvv z!D)76a?1L_g|du{GxUib?0DWN2PH7FFO)6*3<EA+01`T|!L!9G2~r$m>!)Ht0Lccw zL-N@RW<j}{Ln&&NJs5((Vxbo$7v8=8-WeSKv2SQl8~afPz?ZrG1XH!438j+Kr<hXD z{wI!tnj#NCz=vz^J3pVN4_rmug7f6>0)hD73Iuj(>;oHdcWFhu?jwB#x@3=gh0}a9 zFZ2)B5K<h}0*%JpB<6wJOV1L_%#BAUI~7*88pJT@M}Y&RAe{ERt6yr-^7)5I^BV<Q zpSXXGp3ENCr@*GjSb+y3zdE<~)b3Qtg08KJn7S`o-pWl;J!9l0L#YfZI+Q|1P*h7j z53Lkc)yFb@8j|i|esf350*QS5XW022p5gnEGD>C`#Q#2c!h8_NeDKGM$fY2z#suXs zNBqV#?qtl++&$8z^56_7&pdrJ<LDzjaY70V`h-tpl6uO=0Q1_LLqzs}1%3P9-}+~g zk)aKkoz=I3@**}O&ll@`?<B+TEC1Y?R*+YiRl)Y|)@MtUX9Y%Y{+s}=kDNl0Kx}4v zBU%4kvU<$;;DpyfhW-;?1j6&lA9J-%%m$LK0!zq+M)r$hg$<~^cw2@==<y|5QxjfP zVNpXt?Xs96NB6^`QxLPoajB9J-I#T4wp_jiZuiaeJs&4}ih^H6wEOp7F!}FQ)9>4H z#-R^o2s-}(1cCDclz{?k!pEnz+^>rjdPa!n%FHD=-b1MlkKiwD=CeD@YbTfW5kV}q zhm)$Fc!|@ib+?MU@)F%q<>LYV83ezs*aV;r;8rp+GXvajUN|$=uP7(;@E!`a(XUEK zQaE$3|I?_KtU~`HM^VU2B~8cMbQlp~aa-|E@|~Etzz=7q75j0N8j4A5aYRW}sW|hw zR4I{d&9-TDazqe~_krz~1Oc*<k&*l%DJiKuv%a)z#^NBY&9Z=(adZK!R4ab03>Utj zgdp!C0+Ya5=HTn!`(z%^2VG)W4<qm8Ws7+GPQDmnPyQ26L<{<m$s~=bbf^eIK~FN9 z$r{hwUI#8ODL78!p2n{mE4RPx_QTY-{;Mn+@7WzrF0RHyI^-G!hcW)6N00Q6d3WiM zr5iu+rz}gyFYRncFe<X?H=JPs<<2B_Vu!ydk;j_)+m|=t@0Q<Hpb2~`tlps<oUJlH zK##Y`8png8R=c?lD%@;|72Z-lk8s32Y~%N#sMwuW9Q&01u`fM<07}lr%_v*yB2yV` z1Jx8norojYf1f_VH(XAbf|Qgrp+*G6d`@oerXyulReD}Aq|~VuX^EVg{l|g_>-A?& zKa;TN`hW*xK}b-N^KxTnf&icv`WCQ%2k{n-B54Vqk`H*UuCDpspf))BCB{F4PEO~9 zcA3r9reI1x9Ng3I0K(syaA#dyTx7GIZZJ&0hhmhfbU0~R>Gr#<Xg#8p&*wY=y<=Rp z7_IfarH76FM&)Vx{@ae?t)SZn7!hKwb}1!kDUZ=PYD{SfgT8rGrfIaRX;hf0eo&^G z@N1^$9pNo~xOJz_U(#Ld&t${LMLxar?6h9%>+2xFOFKPA%@Rv!@SiBs64G_VK}ubJ zOAY1d)KXVEt$YTzr64cw16W1j5k^E<`xVOt82xP?T&@E&(KJ|ub5kMy7V6-Rva+&t z)i1$SgNAi=q_l*8i=&_j;2L_>@^o>)s+!ut+Jb~_FxM8T$$uA>GqV8W<wx+p7kqH* zP!A_N(pi=*cr}LAS+w*_>Ray)3eQn#dW|PIzQ{DseU*DN&4P)3iPU-h&FFAoB_WPz zk$5iYUQAdhlauoTx|DSvvl17PD1+*!ayc9G7qSF6Jwld5^)l-AQqG$lQaqDm0+|HC zIXXH-kLL3{5%1)R<abs4x~9hKT-!UG9EXI1w|u8}`Wm>95?*d0WPc*m-@E%CD3hos z_h~J!8j-hsZbxX@8q!O1Ib>F+Mfha0xMi~_LPiRfmJ}x~J(M%?L{*bN+uXv;i`13x zDn!`<KIt6%-4A2-8xVv8n7&!Pg|}{oDAM8y{KkMBOu(JMi_!!4Q@>qnX$`+Gt})OT zSVUhWYbhYE@wJtX73U&c3K0B8xBozc{PA)gp)N8YhdYX4i9syll=HxLW5fd^f?G0o z^o_2X_FSS<c?jU?w;2Zy0!xIIWs;eU2lM-&m3yOJ^}QC>GW02?A2OEkL_Hsje4EOj zS4y0A(b12-LFDNDt-GXe*_!nSmBgn%@asQ?{9nZV@0SO09vI0E5hx8nefDK-v<M`z ztkXFZDyIS57l`5Uyo+*|S9(u<YeinaEJyA7*Q2%<6v1Ucsuda&fMsaY#+d%@<3|>F z#h%Ywqeb#;{lM2{Ao-jctsQvw;*F`y^tYdfYA{@5Uf7jZ*&zRiSFnUgI{~>aNO=Ey z%I?%NqV=zSG|72+7uKqGs5|-QuV{Mh&6Rym4tkwHjYws{P@!g>-oC~0SS_Eo8Fw5? z0`G*_K>HxxdBW8Na24V40G_e`^)@Q#QPgvpIBrL^Qbho~0|NuE8Hoel(Gw4mirb}q z!ph3(9s|i;FE6jLC4h1>a&y;yxIg_w`}C9U@={aNJxKJV-r#Losi$W~rTF}>trCTL z;)P+ar>seGy`_S2>g;@yfDTH3jq344m1_)#iLBqy@e9)NL|Vki;MmwpfNy;dSio2o zQfg|1^*klAHkKinPy!?m9w3@#v~#nw#cRC|`48W!7aAv3RS9Ao#l&#ImX%jlo@>GB z@9*~o_*h9*m5zsJh%28$#5KSAk`AgHe0g$mvQ^iN&BO9Fn;F~o_=^|g_?pcvEE)jm z0e3PS%{6(z)w<d6UtZxOHXq7q%r2d{?C!ZTTD-fcT06S1bMgev$rDcqbLZ#g_%`nh z-vU?2-<54LKA3I9JUl=pR#ztdkFORO`&dopvcrQ16GMW4>QyVXqVg#bzz*i>gv43b z@U^}H(aB))4$5kNghCX8X%lXXVIPH*dslgQ$gn$W&7Ys2zpdZk|1;9Q1ka#6!5Xl` zh2aS(b}f&MMmT%rR4g(b?06sZz)yZ)2kRjW_kO%;ISkC`XDa!eOPihTR~IhS3cP<j z`L$^#ijV#Vx4o>U1rJ+8`;O?(%@~?K^jCq7_+#7si=0eLl4qDTJpfPG<42DK;H+OA zU0L+UMpeXxH<N^<H%tk?&zXYOFC@u-&m(eJBdl~@Ysymou>L{k@Z4Gr)~dAW6$+_V z<H46xxyoO)(L_0Zxl-sTkd&DX<k>OT`2+}RFQ~YA^omMgy|ng_pgroQ7@!t?Rz2lQ z!?A;{hv&-NC;6*&6rWIr+@ud-<e`=u^P@5l$R|ozCW=2gkQKOlJ2*I)-F6y9!Sy)e z3a`yO^i1t$8#6oT<t+52hu~l4lsxdNWznfQh?#j5bsf-&p#c}^rJS5f;LDGPT2^@< z%+S~kD68JLvdW2wjJyxHq|~IOB=j`Q%(I*IUZW6n$-}2$M}bzuY?t?uy@iNcl;eYq zgt1cD6;;H}nnwDLIg<@Kf9}Waxu%%_EZbW}Y<KHX-9p!zLj%s#{L#@)t+cIeeneDM zpjqrD*tt&T2hG&(56+!GZ`AaXq5u>@0ryhiOYwo0UkIbsHR3S(w=Q@0e=N|EX*q-` zDJwTtdw-<K!y~*B3gCyNmsib8N*-BZ>@tTd=-?TFGPuBPd(j|p+^YE%6}!v2Zu!?2 zl<$j+m1E=L=G-T-Z?8Cy*={Zuc2V1V(C=g`VwD>Xv4abTvFFB|Ecjd>lyAFC3m-fU z|9jkxVBBxrSNY19aw^|vWl4Eq3KQ>ZYrkC{&QC#4PdW~16`1xUmkoIxZ6&r}kJd!? zm@1(vj{LBFiAPGZd~+mw;5Gp^16|0{k2<y5!h5q9&8)11OB%#yn<%X#L=G3^@^ecq z(Kozmb&dcb7wF%xxt2BXLACuXeLSs3sa3FhHE7$}?JuM^d*$X>(STuxgJF;V8n(;N zVQ+w8znt$Eb|?_B+20b-a<zlV3H^+~BeeBq0Nn6HMMXNKrS}8SF172E;c?VBu;INj zWDF(={^Isvo(Tpy!3|%)a60i}06TF55T|d(JhnPE6OZ>2?HWl{TNu;hk)YzW`}&;B ziC3(@$=XCc%J=S7KAS0@c-tllcKdG+(6%8Y$K%eEr1fmG^+X~s53eA?KIGOs0?$`j zWPYlXju;RZlAu3Vx{Q8iP`cKIN$kn_fZet!x1Ox2Mq?~ZHi*2|)G#Zb^3fu+poAT= z#B!1Hj#%>!nDCD1@Q$eR4#<_|d)pM~*ksAsREWTYLgg29LgJ+MbUDrx*iVL=v#q_Q z);eHyy!`m6IIG_6i76+OoX~beOd2ELW|vBKSG>=(N3)XEvl#-Y%no|A3nPW;ns%+% zHvwz%!C(ztDu+T{x~0jG9&Z;2CkeYr&z;uk#vr4{KvH(yI;ea)kokQ@MTK-ZK*I>c z+2?ojoxmL19qrAxgRZcEhosre+GMTH(@*c>z4jOEMvS5xr;F#k7Bkb^%IDuQCwgK= z6lSc^B{I}ryLy=)KMGpJ<*aH5<X2Yc5Rug$y0~t((ucTCQZpVu6IjYwM%Oo5nVN=j zbO~<7z&os9(k83Rrl8iQAlD`<(Z=9-%CL4yDRD~4`vU&yxky#*FtAu<PZLqIgx`=^ z<lH$wig)R^7QkTd0CQQ608-7>z6oHi-H?`ZD+pAxZOpk508W?pZJ%(*EQf7%iRg3+ ztW{Zs9AnVd?Xg_u`a1A{?d<K1zJ7kbIJ`6IUF%<TX!{_JTgGcEZnEL#pyzyobHn^r zD+ui)H_J<%g+T*Q(Sj-{ff3s|O++KC>9rB0131LCNajZHwhV=o+36tGC~I#ldb8o8 zTuX)H68!PnqwQR}rem;wu6geNK!C>tY6l6;lOM-RoeZ3fYN;8$uqA|k_02`rE8iv~ zJ>B0AM;Wz(cK%hb+S>O2wq6QEK*D_$@6dbS?r?jkU5rTRn$FQ?^juM&?2<$GaAcP? z>t;W+jwiDFMAM;1JU@451x*iR1Cimf{P$I|A6-XoL~E(!XflGWdWlt=1&K5t{1|45 zE}>F9cqX3GGdyCapb$0&VuDs+HDLM>h>>b{XU%0BUKY@dfBohSW9`8lD-k8yYBfyq z8m9SpcP6Ag^r{#f9Ci>h)Hjc!!5h>Lfb5}-$a`1p4WE750j9JzQcmPh3G_4HgI!`v zHJ=3j2`}AEIK+SkD=QEPye>8$qP|U2i7jEy=fZBAZlGD)uZ(>%$7J8|Ua2Xjbl+Ya z&>GFn{M_nQpDA45di1%q=5v78=itL<;fGHZJ)edjegb_6+Ba|BY{JbM?GIU5#9$Y1 z59x%o7bjr0&_RN?p&}M(WSBqv$Zu8ucxVPT9~BFY$NCd^^T4aWxtPqXlI}66TOO*Z zF&H$xMD%ga0T99eZP)KnrBgPXgj7DN^{nI{?>37_9UmPU0s3mZz;d+f4A>Ov6r84^ z7NbQAc_L`5gM5Q#Y7Cafefc&cGjouZ_TmFEv1f4Vgwq59LBVYi^B|sg!{6xq@+vx~ z!OHpl;V9KcNQrgj<;m3=p-0Pf9VEjexvk#}YriTbel_&|YN+$oP~>aV(Wh3gPnp7> z0*>Atx^r8OUaLJ^u{OwscPs!GbRgkO>zT-}tctO2H9&defGdMnNcc^Sl7{Ld_>qBL z^W1YX?F(V7{5c5%&TYPDFE+5@@2xu5QVQgSaMehnN1WNnBk*WE<WD^D(R3bnv^6(* zbsh6o$o<+C!uDrG!VF*qrO76Y>OHYmohj{dSe~fXz_0for*PtoJ&22oyH1YZ2Ba+X z!ijQ6Ga^S~s8?f8t{hB&_y#WIx{w-8h!u+U{1A{mo;$j$HB#y{Q|g^PQW`r}SpXnH z_~8ph&lll`&%-^RD<1k%V)5v)r_%RN(qo^AtqH@SMA&oxiW5QVug7X3VgrD91E<X1 zcCI&-Gn?f|f%vVmsS|H*8{AtC`39%1c<-Y<yU%CoTin;Ghb%WzdQ3m!0=hQ}2rHTr zMy{B{Yh2`buM6JT08Y+1*J8Cwt>Z95=`wLQ5<NCs5h8V!#NGp0$`4gkZUA01JpHZP zqW>OEmQb{{#|$Mqz~dt|p6-6!@NIcc)#0GA#mpOGNuiG?AJ3E)R$3S5AFmxB<$?`P z5x>k6zsM24%o@MUO#D9+LY4^ct_c{0cNFMMN*fp$_<gcc-ANjH-w3f02VBWddu^ni zKa~F94U#_I=IOy!;_*v!`|SbMcAlDz;Nc;FIHQ4XLg12jUz$vT#R$8EzV%p{g0{=o z=fg&kt1rF3tH)g2<Kf|H9(*+%FgY>=I)RAVN!H^nk>iW*xt<-0=H?$jlCRM)7#bQ1 zl0=v2lvt>j&QDO+CMVx5wl3a4JDMzGIM&kA(o%9lq^{9p3DWmpHU^Oi4C?sS>oxD6 zOWzLwDxP-7!)FPe8NuiY*5MJq(P3mK25)qD<ykci*f(~dj%lhM(&o<ar0EUYGX^<c zU?e0(;8Gm7<>#lT&eI~v1zp(i>%Vt5vEh@y0O>E#zDtM<emV*|Iw5^>B2<9nfP4Ux zK}0}60QhBM{Cc0sH3>aEz0&4m5N`<T*}6drRg0RFTxRuLkmlW+4bOMo`errBownCF zlaers0dazyP1k2-7Xm5g>kd|r{4`5D%zeYnP(U>3wS->X?FsSn4W{Io9<%Qf51|&4 z*U_2G&Sz#~vH^FH?0tMh&TXLv&yIJU4^Eb+InR;E(FPHma9dhhY%D5wmPalE`sw=x zX84IOQ)`UYE&*v*)!w(bS3k(0Je#j~CBTf8Yy+UM0rFQ_mba;?X<ji=u`T*IXL(ty zG9Qig1>2T)kOq)LSq4F89`rTD^V!<~2%`@G+;EjEhgJF9rT&2dxFaj-<irh-ia<lM z*fqPNk@2@4oA+BgJ1>C@1ORA0N03+-xzqCSRo1HYyUVs5L1e5^7iD?xG=<Qx0+<$Q z^49epXf^Y*+;C*CiL;k$-0c!Mu7X*q>LIV_7(H^k3D@~Xrg{Mi^vXs;rx0n`#@c8w zUwSV_@_8-JH;-jL9xko`NwmdEo?iVdX#GaIua--IZ!`qWmWLV|%!Y~PKl!_GI61>{ zA9M<$L9M4=;b5jo*<SD-EV8!tb|Y|Sc0fndkmetKON)t2)8<J;M1&;BOoAYKoef(1 zHm1mRl;Au;vD5D}*B&h`EBnf0j#(!ROg#P7{Bi2Zg)vZO9OsP3*k@UW7#<U_%^P%; zgG%!fb}m{6Ovg124#m?1mr0mUiSg%9LEJn%?I3sSo19EfaEg5p!*)j)Tu2R!$Pmy+ z0AS75N2&2?&N=<8$9Niu{OV!MEW4!3_s3LhVkDa;A^X*d_@P`KR={v>{^*l)_Lsq= z9zZZD3Gc}_+?KI0Ftv65aiywd7e+fEnmLrYe=INOvy$5DZcLMH0wtf-t2GA;Q2g=l zC`~ohE)5Q<49zV!tz4ZR+xXg4t5G^PcI3r`5wHs1<asjYJn88I7G)^V6lH6aPA{Y< zHUY+r4UnGXFK`e~^vHRE25<u)p&2l5pTNtn0LexTg}!-1p`mFJYix1H4C|fn5=`y* zmC1!+tB^H^)y%qJ?;)!%Bf;qU*5NNBd+|hvSCR}uyT7LO0zNS{FON;-pfD-v&T8$k z*KHZa3745*wMxv>6dKPTVI(9ZEpp!beZw4Q(1{m^M@F88Z;Z!RqJI{&)^XsDR_2@H z%Y|a>+3nI+!+UY-VAKR73@m2lVpvH#0niEB0Vvq!kD!}gBq^q$1z9LM-mZ;t^Lt82 z8^~S^Lz?y-dd%4Z6q6n0l|o>}I%7-jpRyYBvikA{{fy7OI@h)`f*SGy#ot3sO&0In zdK%PhP_Y3#KCmLiybhOif+P<reBi`r#aH_+*8F{H>UGBdJkY`+?B!DF1)Qn$L@y?t z<Ncwz%E`kVP;Ugbkm2<J)NBMIhV2Th8&%6r3K8CC$o%_@(q{w`+?i}<F!lzWW7J>x zDEJh2Zim!Jb@Rb6>Nv`%v6>zUOFdzl$YQJv0cI`{^2lG`0#HT*P)U_*HI&%5Kw2pX zI;(&jCza)2xF#_Z9Tio<4G4ny61j=LZaug5$jt&<e%-{1=-cvk&5iNv9#EM{7j@P8 z=kqbVw#XX~Vthd2%DNfWMMHTF3Dxk*r^&><7#q_R+!?dq1u77ITQ|&dfDP}<gM))% zb24q0s~|qCsU7sm3J_3GP~?0WU)d;M2`{z0A@}yBp*?`|kFhHwg?KPw0HV9Z(Cn9$ zPx0Yl9HIQ4!O_<opfdY;Sy<K@14wkBN%at>@mhaI(?E!9FVM&9#H^t60n&t3rmK}} zO@KaN1Fb;7(BnV=us(nK^u&+Vae=FUPbJ97|5`loGwHHj9NkO;G``{Y?j$?FhPC_A zcrhT6KvNfK?YX3}dAQ~+k~0pF$E=^oK@v#SlcB0Qp2{ecw&%7oAK2({(GA1BXLv+W z@G3kT0B-|ocvX3#-=E;I65;s<-&6I(kc+}y>k|tWeu)50z#(9GNWghD;yi1Wd<}qL z&ZatAS~pp14+;(dQ4mu3ToCd1xc^uJBTJsaL%i(J%X=yLRAbt+3bR21KBMR{u!nk6 zB#2-N1dc=8R%75+tZNUQG^?J~b}j5$b%N=KH&Ut0zt$7@GJ;}TL&&8|Xs2cUYrVlK zTB7V}Do{#geaLwYsxCz!Zn{Ava*!7fBC_3d0DY4c+1fIe81bKX4n3WTl+ZXobO4sa zEFgfgz|)adQHg?aGisX17gP8I0D8_<_fo5ICb;U~jIM1cmR9oMnP0{H93uJ#X_+my z{PwS9_+r{|NvjU1jo>v7lw7ZL4yMUmz&P?;w~Rs8*p&0!R1mrzXaOK7N&XC!XV6SI zJ2&TO8lCaacTAQ1fli{m;2J=hK=v}DeLOF6%!srMaeyaJ)8^Bul4&jb4lbA;kk-;l znEBt2;zM?}qt>qtnf_2mOkyY%X9^^O_f=JzfH<86vgEV_fZ445xWgn-Fo|;Z<Ow*0 zBLZ~fN4vXefn+)Y^s6Od`e!&#FTc5#_kRT=kY%0z=S46Xcs?L{)V}}t@d3=G?R8jt z(eX^Uq<|Z4W%b@`SBt~o8o|6q2iH&wpisKa;?Y)>GT<6>WVO5E78@D=E0mUkX&jpS zYv0*3ZF3nWx<R|`I!6WdI2&O3>vRfkJ=m+KIif{cnh>pMdmlP7GBAW<S1SQe00_$q zaW`^ua%4^a`S~piEJED{EM^uKFFifsRTgvG;C)Sv_T8jV|DtgmPOCBA^4ZtYhC8d{ z$jwG|lz~CY7y#P6A5>Z22)Y)Kzql$L#d2TrpD$3cn&*t8s-!g4EOK-k6#g&at-CwE z=7k55^E)trBF8r^?S`SDp(sior~&}3{;s6t5}4c5(C(oZBq}RQc=__>?%v*~UBX!W zwW=*bm{$Ey5fX3^_!Hj8o~l3R3+!omp6?b)yNe%k+sx7vZon*^;CdadT|EJhzaBYQ z*$3hP625=;PV{K0_DC94lYuC5Uel%!aw{6MYrmN<5ahHraq}X*Yy=3RuAqjzNc^97 z705?Pt37&98Ccw{t*v2TE7GrSb9C~GSygS^Lm>7-j(3S#J31o0L0&>`iuW{w8C0zS z1$VROWKtKd0}RTX-G9!ZW%#+Vvcs_$j#4~(jGK<wczPd2T{Dfhpp$%&2%&LX1S313 zWf6$X%*?Q_^?vODWKgK?%=bvpL;`a9zPb4lg89jRNt|Gy3s7F6L@m6J05SGuc*(kY zI||O4HCqX5EiVWtXF(Mh3NlhTSVkfHVt-)=IA{t`{e{0u6DjS#VRSoNTi*1BWV5pY zf{ER*<$~+pT(tOX5W3-b-A|+iCLG1Z#S>%&&~t`=FOP*?+4;AB-C<#P{u>Vav>!(1 z&@M<2ZP7J9u8)*hYAhE&qq$mWHC|Ds(NP@#6S(|&aVK_ed*jZC8bXcJry-X16HpcK zKrpbdGyuk;ySv*5PO7lPTlnyYB2?EBMi&+r_n`)Nr1kHZ)Atw5{Ta#V4LD4`J)qV# ziEx1nE>Kh(E%c^7R8qS3{Q2`upj3B6GxY!CN9P+FoD4c=y(Flhl9CcBfMvm+0IJ2! zI$R<L^Ampoz7UXi5&-Ihkr%ovm`{Kr4v_sNl;HMt%}=i{=^R%)NE8;b8W(l8``2P{ z@JP3p`wRAr0G!5mJAXWeqdf5{(ypkzp~sX&II%0gz5D-gg&RACTtAiC$v?izIh_DX zb;GT19dLcY&dzSrL}8)}N*voYzq?mIYL*kjdi4>L#Nex9FRn2v0;%c@kihlK-+Of> zfPj+wT~QH9nB>WUfq~tTF0U8xG(+;Ls(yeENiHrXy?*`rE_U+x)!x>;0U%oLcgFim z&igxphGZ2?D5JErs9-&jC7OH8`}pu@4b~CIg9{mV#s>gVD^Tcv)ULh^$ljAyATI(& z{W_mL5=jMjG=+HpkcJ8J{9I7BpGJHFI2G~F@~-emc7#H-4Z+myJeKo7?EpJL@arX= z_)%}^kfxwfrl5d$P>Ag^;jtKoAl`-d;p-dCG%4U7jEs!(cL?h1062w}xedIqR#=w} zQ*5L@TxdcBs;&B(XAEcKR|UpEv)MpiQSsUI^t566omp2fEmT&6yea_a)&piK&>E1B z<hS)tPPi@IghWAKPP6jhzypY9X>Jex_N#P+_`gcH=;^0n1G(UX_P{BKJa}WBZYE>p z@RX;62(5_RfM9Q>UzR5WtKxugOzwy4q^qd{AI@znHK-Jw@{xR-`q+B=W!9+44}9wC zo;z;ySLBP=h6>dOymUi^O3;Lz6WM`6*9ujJgbi}D4t2d>t(3^zyd))i%!w%-*1DT? z0l-EmvC9uY-^-AG;Yq&<9(tri!kri{^Gl#$GtlAT=GF(gzmk2z<2%vsEf*}0%X9vV zMWvRW{k1`@+-<k#mZcqSXGg5gL!NFWqgEQjDUD9(X$!1pOWjAhM2PCK<O^U|vALJB zQgYo3D=?N>Q!fMCepaHb4qALB^KL_&j<~mWmz~QjMQEi5#@f2)E_QSiK-mw*A^EMP zM-@7xDp6LDzr{GzJtXE#(G{IixhG5~!BdAnd*#r@B04gA>9pHPhvqw7_~W*rOG9MY zE1m5bVD$px`7RK#O?Yg{%+3`j_ybyn2$I*(2<q+aRl|;sj;2IC1!&;RNq*`nr+q>| zgoyQ+_)mI`nZ8(!DPUh&6Va*j(vTi`{zx5je5=C(5IE?g+u1A92Yd*$C5PKEjpk{$ z;We>>LI<n>ecuu0d+K+Q*W=D*!91)U7ZHxg%fZtElY4}4<^yzUGGI>gcR<bR3lQ-~ ztx9gpBR2Ae{p}^&L3NYsbXu_F7uE*b^NiWxYP+v+31Wr~Of4)>K&A)pCXliIS)Es) zNRNC78#n&{7+SRD0KWU*h8E2fiT{J4<;Lq&=EEl$ISv7Oz<8pdC7gEnP$jWcwJBt{ zmP#j~9cR4!Rb*1T&}^v=I}Y^dpn{!a+e<6BnI$oq(>GJV%EP8as9U$vNE$_n_C!S- z`V5OW5s1_1GVHT*yuR#>UGzd`w1_EuW4c_V^Y&Uy(vtLL(o_%j2iQZ|w9M~f_(mfv zj)}U_hczi9xSq{D{~uKtzeO5w{OS!zCZr`P79$Y16mbkzz+RtsaD>FNICYucE~aNv znC`6%;k?{;L|fH%dG!(qW3lMm45G)E+b)+fzT>)bN<Mm-^K~F@-ATKGcgzsbbwtGy zQhmQ`JCt`wNZjo>IQnXwtiQOFL|hw(Hde3p8J-WW*Z7t}+`su(5JUgB`B#4Hu7N0i zk;B#Kla|r8X9tB)_w&2mZJ3(S<bs-l3q?l9*UE23<5s-E-B{>MWl3C>vrbGN6@kbD zIqZHKS?1rw7VhFEo$-+}0y4CQUt*8@Sc<yE#m7L_nhcT-aICzlK5C^;)P>uImLN+7 zgWZZshYdOr@<6w$S!9X;@k&8;2$MGtoCjxBwOx&t58rT@=<jXLwR}04?j0?&oyl|A znD(8Qf<Gl`=6<&9{ri(4f}3XmQnnf9E*-Nw|F>uiNb)7o6m>l*61Wif<LmgduwMA_ zeKgKHst+pJpLaKAU_n#Rt%@^4I^II~V$M7CuvQ%H;so)6<}L{tSqk70hYO6(r#*P{ zbV%Es0N~eUy;}Nz$%>^=S*Tf~WR|`Zvs}i@*$hjDOwtd{&fUQRo77G59#bgqsf2Z3 zr;>+TEbvb)zJ8c?__^n5y_XORy~sF=!m^k+I&XOL(kI-uXLJOvP7o|OY4Y?0Fl;7} zIj4@wdF)9TorKfA5J>p-fLtUF)28ehSm0psTiR#*fHlur#1-XK+`vi6pg04y6}V?H z9YeIjTEYnNbOHz=-VCB`)*yfK_fVWV;&Hr3!v&MVWr+#A2nAJelP($Uw<_@g(8<Wi z;9Z7n{`NHfRC!FJQYBGm8;BpGB071YgR#}|N?X93&(6+XDUqSQAWC~dQdb2PVfxeX z5L#lS`$$7WL0vrn5H=80Vm<i^fPv-F;`2aK>;gKD3aYAj?FD&`ODeF28?1&VU|fy= z={@;nfx+_u4X;mto`fL{1Q~ycc>=pxp5Rf7UL*b_=e2q92Z-}twKSlIf?Ql$+5lz2 zblJ=+Y2dq!c#t9y(o{U89R$N30a7Hg`TffEDd2-5vGc9``VR&c3Ta93xPi{N`xU5C z;fLKS`^;a{7dGusxwrwP@cYPh;)iXUvi_si)(nf=6bP(sM_$Rb$io52zilbGata*s z3U3MZ7mZ&x7S*nxHo|gux4Scd8C5}?G1EVpMX9CW82fyOndlW~M2R^FM#NuXTMDct z|65ncCWcIY_0yaZcofJ181!j;DhMAqQz#~tl$P-zotC3L|HvdkX%*mIDp5@=UYeF5 zF#2jLu3_0@YI*g$|7Nt%1?Bk0HR&UDLHNEXZNcXL?ML}3PyRX2KG8k_{)C^wW1T$( z>xCI%`%pR6FXb3MEHUj3NE`LZGS*e<QQ7H9&Rm&4KVogpxVVqg=H{6->J@mcpC}@q zX6%SsX%JsY<@5z<1w6LLz;~m8ah5VnOzYKi`_pw%bu#{^=>|<XiqY#hg;RHCDG(7C z__-6BYR{V-+*}HL9Mm;(w__Buza&^e^UkgR_2#Bb(DZBkca^@lP?G<l72{}IJ1?+8 z{J)iwX#quH<^#oHb+onuU!DJGh`FyL>Dgb_6s@J$<Q|`r3q`=1!ZQk_x#mBuDUGpQ zzpN=FPhb6?tSR<FIRC|(^10`KSX1`i{I;e5GtvJI)|7Q(n-hF)jCc^T4b!%}*evke zVS_6~Wpghg#O2}J#SH54lcHMba+F%73wjy1CchW-4B`}#gsh(M2~D=5Wu3WzaQrPs z{%sn)kCm<)2$<B*|E&cW7{~x(GBYzqU{<5r(FQ~*XwAb|CmskC$k`1gUl;r|FUA)o z;J~pT;3YrM@SFa^(bWJn1Je_^A3lhwt5bkZW+1Fr1w<f_kKVC+{nNbo4t$CQ5LR>{ zf=@vao$~SH$9gP>NhgZ-LLGLkHUub;VV<wKgJ<&P#!RyT0KoTKfasRef4Ygh{mrP? zJvG;7Zzhj4ebY)3V=5>^J?=39ADlIV;<8mohv5r-vPXfBJRx0EU{@G@vAiZSl3QiQ zPLTS!XVo8M6xjW|@}t1&zj*Q;vOtbPosBHPt)trmjoqHn(aSs>rsSt#Gd(Q*GX}X5 zHCqK-m>$<a2OshQq;A>J*4CE6n&XXsr5L*#caT#26QcJ}3tz%<Mf)t`b|b_F+x#V$ zt2@8M@elz5z?QRAjJUU0_2WFwkFKTuoTb~OOSeaBK6!aKCK>w;VN3_V78R@Jyy?00 zRArfoE;-1O>AZl1SRmfVyXw6AKDSD!f-c>>>*~q}w8s#{TK$7Kr)slp7z<7?AQy0A zfdf16iLQAcV`D_Th2hrnO8Er@Ut@T*4|aPA4+0Mw=!i;6xPgzxxFhy?Q&ZD$ElB-8 zeKh8^Pb`2DF`;JC3s)T=Uf5R-BKV2YNiPA=7$%NqL?{daMG>!QH!bK)=mJ4t{tys7 z!aBafPX495NwUA~d%fqaY3bm!j-v}sHh{6SQTrvR4)D})=FzHj`ot+S=Flet4-<Sh zEiy*H`4(u)y}uv+I-U=anw2vldI|q@Pk%qjPcvYz6TuWvpRietl?@MZ7=M8vSYP4t zJ;{&F9b;iJUO@^ZO~A5w$JqD=&}58#ZMp#4T&kZe#|#oN51o)!Qb4n2scByB>BsNC z$--41SbhfJOPLN)sEyd8^Go9QA?&E!XlC)JC_AcrCMQV{DRsRQ)$n?qj@nCrYggNC zA(hH%lUGee<x<owt-#pW%dmq>%#Tpq*x2|4$2DZ>!XklTp>YRzJg&=2fM)}+L?HYc zB8&iFrlJqP<N_#~pJ{7qin0Yhq9Au@aF9Bm<iXDzZ6hdxL{{?RNudlCRpH5#;)0_- zl`l^yF!;IvkMUi;vKUGTzY%E(Wr>el0<T3SX^=Cz=1zVYx?AO`3h{V(Sorf;^r$&a ziB)ZOre+-#!P0148%Cx3s3e3xFEsAwSHWsVhYRpB{b`0#AX^7U96OFbtS_ZbY6BC! zBu`6f)%yK+mzz)d<R!Nh{iF9~j$fa{ur@nYO)H7<G8F-T)vK{nu;UW!n}4!=uipqo z+1cIZff&w9m|t?l^+7y*%gUgt8%KD_nL9$fj9@N}C-Ql0hrb;f<#6_m9(K?4k}NI| zX1k`VHxNKk$*SznDuz+0{ulqrIKp&s?pYd_^c~K2QBG<8&uw$pV@JKRTKHp4+$a^W z?d-{cbAtDjDg{ybD<qaT8#$^vfaMaWuC1Fzp{JpEGOAtT*YNp%dv*R0h5jD?JNG<+ zciI^QV$L<XF`Wb39FdNPN{w@nBf&ko#lB)90aZ})dIZJ>_dL+LB|InA&vm{KJ<3e| zJx7gJ7KPH8`os4K8|5QpN!sa9`Cl5kS#B!`8xsS!RqUxVqZEWaEI0F)S+U*y_(ddO zwCB*rH<d&Df1s_G6j{)aL;GFM56+yHDOcy%lR1B*``?GG{MKs!uC;y(;<f6|UTd5F zya)=3&z&!(J1e_t?+j_Tc3aRG^_VNVnj|24NS(OrD?C2pkC#U?tp31-+O3awlqWx> zmkH!auW&5SQ!7|G{|6V6py$~#a4rMjgluz9oxq8ATg<%Q2CV6C-4^`yU40Rbd1Zx) zB#p5ID;)Kt?N%V=hsY_gFy4-67kbcWN4&v!?hf<xqrftVHqeMZb~twK24Ze&xGyXn z&nHCWh!>nC5wyI#JZuiQFmMirB5@&Xy|jx0FGFm`U&w*(k7>m0LYVY=8xAbn{^@{m zne+K?4w!VyXTMb3K%9X}y^mt_RVDOqS@}QMVY)zg|JyRs2^$%{54*aZUN1pg1!3I) zkqmQFmw>f%&2!D2YP2hs>pVCDAU`)QHa4E>B)<zDCD@eC^HCM}Mcm#BW7Vb$gj)5v z%;YSHxpD<bb>7ijmXirdL9D`!R32@2J7R|++R?k+ft5!ddPey_tdh&^L{Slef<n+A zh8UVNCx=@vx@ux0p8+eL{(NTw9B1Jk49wyJeZ}`5?qwdn{ttl>0S{<yhs*8h?d<Gc zC!7O{`ISiAcb0oCpqQz^;F5C8K#+{3NZ%2DmhVc}7ykWj$&R)3Dkgm(q`dYxhbbe6 zVYjI8@Gmz@&O=j^JuX!QXMUrSrjTT0Mb!P-1umcSWVcX&4q|DCJu0@~%o^A%4@mz9 zfB9J|?VzHYG;n+5@B`?i=)ORqsK6}R0MBa-zatZnr}*o3zq_MWV0adsmGe5`GNRl! zff-Lz_%15537BO7yJRqwqXpjt&?ege;|jgNb)=LnxNHL`NZEj96V`Z4xUbDc;v(&+ zfKTd4$*FNqEJg+#eKSj31!i%fZVTQR1loMG$quktFpN0&%7rkrEqs849U;6$3ZEx5 z_JS=D&tkZuIPrOHC{l&(ftI_YhvjV}Mc4Y8WZ!3*!PyJ~I8gFUx9pbYm%d8*uqg}< zAPXqlWX8boTOD~iR|NMsI2|`5<nZsJ?1>*Aqr@HWW(x9ga?;zx?z_ic6v8tnySsrk zo4y=2)kB%eCpYw$#~b<Q2L8i~@%v>XU1CWM38EJTtJ)}4%C6Rj1X_=C8L#UynNu^h zlZdJ-DrlU(L#d;@h|?XJ!4@BMxJP7j%PS)Fiobuw)88Q#KA(jot;P=W3luQl%yW<v z0+Ca{_QkZ6AM9{pKA-jBT&%hceeMm0(X6*B@2iu)_LnFYk!lP5ifcpv63_p;`TY;a z3kz<zWHNIwZ5w~v1;B1Nx}LqRsQ&bhVyK$>nMXy9{*nF9V~h8AsdU6Nd^I#oA6=Y0 zx1bMX`w)D)592TmJ-zs4TqbV<O9CsrpniJN5<ZvBul@H^XXwM7%r@l{yZMV&II(f` zA-_%{`I%k+ryKu|0sR^F`F%3KEPU?Cx~%I)82#qPUDW4R*{j<O`vjhedeOJou;-*W zF;u^7_*Z^CgQl%$AMul*SiS>RJ*)x;div{NN!sDSHWOpuM!|o6x9mr+^lc!|7u@bw z+#MaNd4aaB6&f)^C<OlHiCCbhlc4b=0Rl@L;e&NCl1rDSt9K^q`R3!FwX@b<0j)N0 zx(yxh?bST<AL|5;L(o~g0{2A0J5NAxH({$&fCvyG7Oy$zl9if%zO9hM2OLrX^liJ| zKu_0Ltqoi*aQn1x?d<7iz$urXOG!zI10j6Xn|&D0B2Ag+XkV9!h=O6SM!&3~8vvxl zFtCz<!?}KAVIV4-T-f=Aa~Ib4C-XjsT?uG;`|X=C=*eDRHpyS3l_CQ0`RtOw!(bCU zpR^IDZESZ>t$)LWK>y!IawH|;fN-9Xm1Q>zJ%0T7uC49utPdYRPiZN3_+?_%uyzpZ zucm@R>AWp(=9qKYMwwA(KtM<Q4A)=$Iqz!OOa)g?96ZKC6FJas!!0f@wuRAFvQDj6 zf|uM+!1aCI4G8$@Xna?InwctS&CsGrPTPXDQSQe`CFMRL4|OTr1$tv&Ri9Ag`ozTB zzMc)X3&FJU>Ne2XPJb-ylzIq=mBnG_3kv+;oRJF<Oh3&hdQ$_1Ic~R;$s|lI1K&M8 z9|y4Ef+M$DRy=?!`)$JVwbwvuwRaA5Tj8U-^p6hq)JiNUytY5+z{j<e7=UxPe)(5a z`~KAwOcy&ah-?GrE`?}(i;n?aD%<?=x(lq6xQFHY`)<JVqYIAn_&!o-QqXr58LbOj zY8rnnYZo_ypXV!(*@8^-@2Jd-f#e+D<=Xsw1km&#l6x{zMEv-tYf@Lg&E9UDVZ2>N zl*tU*1t<m*{^c#f%6h;rfny1n4uBa5meioL^XbCQM6v3;0&?@!Jfc*Q!ChvRk9B~x zvjtM{6QF6hSh6eNv|KlNgyCV)D8UEK8>nLE&baKV2K^56)T-yw4=<ThR)Qt*f@xze zg0?hHFIO6Vdl**EGy>|Sts&r|QGbSl9Vich7#+y`T7ca4J#a*@gKA_0dsyJHw`uUo zTs;aLt9IvxY&-*yjoE?AJBgKS9BqVnw<xP>T?f7eSa&MqesqlK6ynX=#GhFkVY#Y_ zpL*6Qn0EH_&E(g#Gex1IXShi-8(S=|Z4>ujB{6w~WSn6bko7w!No9ENd@=)R=>7ZR zY?rQbPD4^BUtWE8zl{nvrlG?Kx7B!OfyO~@SksvYu+~PClOjMgB<$)jxh6O-P&waA zqw-<EdcQe@rWu%*5EK*v-@lvs`uWWO5!oPi%7MS~eQrT%*8aKmwd}>3%Q#jB(%Ui9 zyl>z8t!6AHwF$~sAJ<TXot-+~19~QK5Z;A`hK4#rc0Hh`^&0S=3FgtwSIaZ)K?1KU z5wLZ{2)T2EUT@8<1#T`bz|Rq!Ie)&sKU2|mb&Ricr?TQ%wbROF7?Z%YJmBu?o}VYP znQcKdG&Si1Nw!w6lY+MPtCki?STC42VgYK$#*1=-PZE!Qq`Lr@P36ZwM>`iY%@0P~ zk+J-1wCeC^M*uC$&cOj+7IfjgKl$L`0-NkA&mlO{3!L~jVmSinhOpPKPx#g2)a?*B zgZGmIOYtjep>q(gJB9^_nO*?(eG=&Snm6IRPfs@hvX1?wf&%uK4r4Hpc#y+!O@a5Z z7fM__si>&m(p623e0pYP`<PW{DW#y4343mR_2-1XGLQyC{Pzh}KihKl-MAGvY9SK+ z;vwj-uGJn>*KG$g-nelZ2rGBuYR0XcHPWl9u54^<NXp4IgQmT1;fTjzjm_5+)E?`1 zeuixz!S{uaTmV}4JEo=#ufxMNsIIzwSo^%-kPP+}044PRfB;?LT)vgWz8?|Ii!?J{ zuY<B9XGpg*o-a?0Mf)&;vOWbINCbgzKj=kM7Hb_k91@V#V2Xv-$XK<1Xjr3rYd5NM zeqiod4iP55dsk=e$#sIsUQF3I<IDL-^&}>G-fz#^H2<Hzt^^#)y>CCZ(1vu%7g2dj z+o{7VDSL?|SrQ>jX+dN}I22MRO65qKL{qXvsKh84ONyv0V~HVC3PWR^A(P>~pH8Q* z_q$Htb-7$Fm-#=>^M8K--+JFSi%XK}!^Qh^9tmFdRto|a$WUa9fvEr{Z#QzM&6_uq z)6tA!F@>4pz(q;Kz945|MeG8NlR(=^TuWKFaG?+ctGe5Z^sKC`NQ21E?d|OqBH+`W z0<iKMXj!0-Dd2onyn6MFRdQmmW~0=*@v&ju-@V-+Hi^^P(~Bd%aM?0RWL}=Ru|qbK zJq;NE<?0_js!i^hWA#S?e8q-6dls$Qm0xow1l=QY+;;Q}hsMe3IOwfYJCd8tVHZ5F zLNILm_}2f!<nwzY$uy3;L#EAHB|Uo8PoI5=iV#B5pfUE9#u<Y*q_GQEeCgL$rY;F1 z*@OTt0I_)*^I=kY32@f~@m<p}0Vi)51IwX;3Bbk&$GUFxW>-~KO3#~j=16bj@0kKP z9U`CZ1NaOJBj>|fcB5bbNKBnt3Zhi!-2SYAIK5DMh+>qAb2BYjNnSn*>@5*uXlO`! z_G~z-B`ly|7L#2Ua=K5Y5(WkanwYdl@ZlTvVYBLH8*OZCB2<KenGWW;$Jhsr`C0Z% z&d4fW<Mv59H&59sm2n!$YKf=DmsVS4s@huXeWxm)Sj7F3emLA!H|?d^jyS5ClvBvq zK2rXVq%)A6_dOpfVj`oW4*J%0S50V1OQuP(a;kNsASTn3jTd|0r9_zgbI@3c)=>W! zRaGaNJ&pYRH3${}#>N;rT;Y0`y`yv+S7GK-@$x0tL~HeGOmQtO-=%obzV>riEEj~u zJV!6{LV%aq@{@>rGV|x3L#*>pW5!JY6>>xX<S>bjtf;Ik1*7N$T7XngaG{lQc-rgB z$W<1>@W6L`iZ&0W>Q@>IvRU0V(W!;JP0V<@e@Z{!uJd`=XbSD^=g~Y`q6c^y?Wy#6 zVwWD>T>fwC&Oa*eTExgI3>)lQl~yTw>Gykko=p`M7k5R;!+!t?6$6Gk`ZZ0jGNyTt zwjbZDzm-VXrUFRPpD{7VodrF%aBzH=bwS*vF#10)Ui^@!OA(w&Lp!s0&;13svn8>T zU>kNn2r;F9em`xxyvB3{laQtf_*x%WZBklV#p+z2`7-p$i7x=O%bkgeVhWgvJ?4qp zkJ_q>z*j+o?(W2}mBY?Vn@>y{aD)RQgbR`rsEqE9p#3`VkVbba=uXR?sOi5;qxS^2 zFke5^;-?hH(nr*PIOb~KkNNVUVqP48-%pU=@rN>Ovu~xRPlcq8+o-&?d9YlCXqjlu zCbX-7nXs_3dY^X`d<!{f2SMj_3UyunD#yns>+7xEuAL&emr8FO8^p7ej;&Q!cR@hu zZYx*|p`9-OzOA+oK>~82G0B(@kGpc`J!*p_o!(PGXJZ@{mg3I8v^(M5xyhCmdv$ym zBS7*@;O$9JJBUYvg>XK&1_{UFgglRb8<fQHaxQEbO{OLG6gUMl9K4@=sr$J#+dCce z%(a)9GpDg{-Nm<kMItd_SBb|{UO)2fa#4#L=#2M%JR{}8g;`tU)Wpymty_ByMz;tj z8JaF69Bn+MpQ6bnx*4fbNDF7ul;g8Jm>ho+e}nUfp_JADf+W9CBkLn@xtd3MtRu82 z&RjHiRsBEh9RGAc?<wFfTHN+oSFV6S+kxWo8JHRlnH^@{g|&2l&b9JmyiG`+YBS!F z4xfSVf*X_L<z4g<(f@sIwT|mbRF$kd!_&7~ToPY9!9fE<E+!@hinWK<H1l#Jjz2e3 z74r1(=ov`dvMqJH^8_I8%FCBe1?Mn<xgM?K5`d$5P2lT20|MwGd+yx1$|@?xr~QGh z!3#~9y!+l<aM^hG@^PfOJzeJmZ?!k}Vqfsa#yQ@hjCS9I;k`M{luvI|i#%*?Y=rZj zzCabIC^&#Ucg~!k1_y7R<LB+nBOe^MZ)dQ_EZa_3wpv{JA9(r7q0&RN6;)GrtRtt2 z{$nf?sltXMAH!92xHj?@@#1ei3YG+e<DflDR<`Y}Z<|I%!^WGg;bg<~N)X@2&+%q{ z{#BCmD@&X?d-h*u4ExL^_j&HujAllhz(?Fc4zRYfGeLM&M}fX*5g%`@!Xvj1q1}X` zt``4l@BN+QS){Z_o%%UoHw>{or$^v{w~$PQ1WljP{#@0#Yf4I)=_4g2CF&RmNApfc zBDJpY)QC-S|KPWNnYQ+I6ccV>na!R*-;889-$_f0#MSQr5rV6;Z8@c-8@6oSdK>X3 z0TO$hfc{kign{4&2XkK0Sf~6o@MA!pGqr0&2r&o9`A~9$Y}(5i=H-`ZOdhZ$-EgYg zFU&PGM4a4y;g@s|M|=A%h(miWNg?e^QVh!IZOPJR-%M@E+6n-#<z;ciNT-7$3u0dw z0_?1|SVe{L;YBPPi7pqDl^QJR1{uiuRCA>VJ6C2tJUPd&%ahSg_H9UGRyTVJRy<ER z>ay{4w36QBdBsoU$6=U)ENFMjLwB%!p8=CDJ!@87&t9ub{Og7CmXiP*>K{3h%M8xS z0L|+un(bVzry2E~S=lWGGOT<@U#{ovAi3T0($$WmyS8r^Vex6X<hYj1`2E;cCr_Sq zd0%!q|LB;SX!UL_A&5O~w6dCoY4nLT2OC|0+=q-+0dxJfR9T?;AYiFVqT9h68|B-U zF=^iAq$G@Aw*~4C7x<#Kl<MXJOCE_}%-31NN{ZIq07V1JXj?!B0&Cl?SB}oP0m{Wb z1)bf^ZoF=`m%esD+b{^YM>wF{ZD6RA{vCi}ex{3Pzl)a8T}-hI4338wO3$4e0nau* zS~S_v<g-4ZqN-{ma0Lalo$mdwIm>zLg1e~RaA@E%Y4o2+wu&#Hd-NNHb@;!k&57x) zm1Twnj%0Ts&Af^FA`o&C_U_XXT|Y~@96P3i?id*|fc~%KoJo{7S9=TT$I{YLdq*7` z2Z!E~ONXms&35$oj=Z*W&eaGw*6{WmQO;@EpL2is<$cAl$Acw41s^+`d2|`y2>DY* z5_{n<A7VB#RZ{Y1U7b}Bu9ilpC!&Jcd@V(WfXQPDWgsr4cpIYzOXN>&P*^iGoUNd6 z_r@+ywK%Tq7RSl-`mRq2Idl)NK7M+kywG{(8sln(-kVkq+8Lv*hxHcu9Y2(CD98k^ zV&$BukYV$ThBLryh#{r{KgVeDZKH5udJ<An<q!5%aSup8PLzGqSR20O*z32CdhsZQ z8b)ER0?nYyL6KdF11mpEZ8Rr9%Q}I$4~U&e{)F#Fs4kN@0Kjp}Il7y&gg`<$t?K%m z1?H&n;lpa^)iV1M8ozFg<BgnvzFbvdh2HYoocfL0;z5m+@*3IVj`C<%(uN@V8`kMt zzAaJvG^tmE!JsHB#7W=8<aEf3F^CWWpwOfYgZ6F0QwMvUCCd3e+?71(>f?!PT2;BC z13;DLBMc9|ag8q7pCja^Xh=35{rny>`5?#D^{?>*J6y2=pDxfn(4WrR5xn;M&5WKr zP!f7|y`HJXeBdGYp;`&sXrn|843Z7pxEN%HYEh6xrj3<VI|G1T|K`nRr1On>Xhj)d z@mt6$=K(oyCAfN3E)TnB$_dW;x_gjA%V>&@I&dc<a3=Teqh|Jqqzk%2pbeh`Ces8M z<A**S&wGs~Cf_U|4C}Qm02y7X4j6)G^M=%I33W%HOlj_4kT7MYLfUGOwNfDXw2ToQ z6_w;v7<8Ze+R@pg-8a|7)HEs4Xy2i<bZ0ES!`iwAJdTRz<Tm5U7Io}3TTq)RTMUV| zT1b?4XNL+_@cP=~!^6Y70Yz;Pk72Ou#a|=9ErVt@F0~nm^P59MhwU-<ZK$u8maz;8 z(fuPLf&r9A?4jCkTiANgRaCPvI_cZPNoraP@>(x|q&HnjR{`f)>AaHOOyV<OpM%Jk zI)E+mb65>+53*C0Vt(U1Bv(ZU0Km@yqCeyQ{rjkgBF~;J15x(zCem2Qmz{l1hP6}g zd}6ZV`*k%rOQhM2QTi<&f$%@jYQI}V_hZjO*`<nRn@#Txy--C^O3FwgA<eX+VB@z% zG8%0;Z4#8bO2*YzQiBTJcCv0u<B0VNGYd<y;<bfe*%FT$P0Y=WN#QGW<Zh>=+``z7 zpbW4K))va^rP}}V%^2mMzaYt~OE#5}m(OS?9(;6sB0q25S3yQJb1;=Gfne*YvNFT7 za;h7Oc0I|gJ`w@LYb70#le}{A{SXBmQ=Kwj^T0W0Bb-&j@VZM$VU6hun$jr8(55F? zy3)IhMWDLw^TiXB`j`9vO)5yxc#lnga!Zu*Y+IpFWTxtHxGe<%t23PnuK|0dud?kr z8FCPOBd@KNQUWcY*Q_dzAjHzi{}CV~gC^Q68B2_qXUP3VZ3t>hu5Q)}ARR%|^B;Fk z`C)NWToQwA2-TS^r^24RakLslD1w+(vP-rW!_jNk#beZfI^5@D<u4z<9aqQPub$Rb zu*#YK^7S{XRNi;4W}U7XF%8n?frEPx9aw9N#%4@_b3wCDMM(^PtpT*eq17c)EI4Te z?*+vC6XXf76FD#lCO*$41Kbb(VBdiQIm4t&(0SLq*-km|RFiBmBh}m$oJf*DMWTes zMgq{-JHbb%pFc>2RHSQP>!ZjsXFRrdfwnw<<(z34fM?#&PPh86EiS^m;@*#IpU2v0 z2j<O_HrE~d7ieD5;0_Ashj3Y>06OVZhdx#b5ze84+=(@Vz-t%m_^$=O+qBWZ^=&F) z2%bm`_`MJ{Co3YrK><J&r3j`{#T5gIWy_W!=_YE9&bD-PJO^Hx5Q(G%K9A}?Zvu>G z|EPa5Eb4)CEG>?c*sh&BH<Ov#CL^Od2y<+OBn>F^Gn90%qg=U@l5z^D=uO1ZB}-00 zD1?pMzL=0;W@xxSCoVD)C7rQN#w7p`x{-MJb=NEm`VeD$v8TMO>>lr%_aS{c&7HAi z{oxN1E502u<<H0S_WuE1o6)Xa3M542mlZZFc!G!&cakVag1QF=DC4;IDK$r<snE5P z!48*!Z<XY1XKiVD9Js<o>gr_w+kn=MVDt~+Lt^4)gXlf<XpmJr#W`%d94)_gCY#MB z!sa?3m4SMV<}to{SZBO09SlCXb%$>=yX<wPERuh=S$ZwwQz%%BPo?P0>?C=h58W9A z(H=Ufv&YpHacw&7%fyoje(%-ab_;uII79>p+ur%fLHQh^p%Uh$!{3K7Ad26*D@vLa z0%iO&Bs^!pG@NG~tq9#d(aS6C>exy<{$6HBZ^p=>?_RY}vbywDgfZ>-9bj$z{M3Py zlcbKR4Z_qGEnX~!%G@i2^J&@F+$IZYmB(L+2Lj_=WC2kJ-gQ1pl4JpY^L6S5(v-7* zhw@%b$y!&f8J+X@>G^&<HG^#K{F?YIhcaB(=j9R^3B#0;nXeuACr-sCW8>HckL1Os zmut}UVI$ZY8u}q^v2t@uYqDLCLFOX=C$4Vs8eEz92T>er_a4(kl3ojuYAC4-&xsPd z5yHRIzW?S=?mQq`!?;>FbbSKR;;8}8pwCbzvrs6ogsh?deK3D;>&tVW`Hs5za#yx0 z1afDv1f%WIXlp)BSj#fECX+JKcpCmnl6W26cFB2xeTrV^6U8Rnh??f=GI&LV!i$3G zng8F~1LaAQ)CCgZ_@WHgyxUPs{<J^>FK8<vW*{wUAT2ySj+pxOx1w@tLbLH3Q3HwJ z_6jfk`XOnT3Q-I4&qNm%|M_jD4Pgsq^}l}hB(ZTx*k3COo%*K*Cq?#8eq5&ecz}g} P8$+0E+Gd!w!6p1ZTV0<A literal 36647 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 @G-RhkTvtW*BSNtuyF7Act75i`&KpTp z%@^g5GPlfP-VaR#k!uK&dg}gr+7j6>OY#)4M)t#weXE}yypQNVYV{G^3l;Qx^QtA# z+Kyefya7^)zPKVE4NXmaC393CpiMB|O~ZnCj^L;3*RPj*9=a7xtEj530UmYT`TdI= zAHNy{E=(U+GY$wxtqO#%^xWod`s8*O=0G<ltk2eaumAXk@Ks&ixNjxBeKrQ=`ot@o z39bnq60&h782m<k;stgyj@Tv6wl|3xvT@oS#$tL97;9P(;l~D`$}YqwBcuI*=-w>7 z_R7jiCu?OpJ3EV+J4{j&QXgg685}2{&`WZJvuf3~SZvQl4A|FEG+Men-hm-?f%W1J zg0o#Xo6Zho2B%rv$229qyz$V)7Xum;)H#tw4|@`acj(c+LH)JfLlpo3oW^aF5fKr@ zn3ud2^vA$MU1op8BX^6~en6}roRg8Xi?$Q@vg7L8J6lq)o*>TOscKH9-Gd=-EI86l zOHI`t!K8yLk)MvP&S~{CcNc|+)LG-Yy9@0><oq>iI*ux7Bm+(kWzxoLEk>Le@Hzq* zX+;i?z%es3v$SN{l2i|R`MAmb<+66GaRgxbtfM(HJX!?U%AqJ^)e2`BN7hZT?F3|D zU?k<ktf>^gT3qVWGu!#1ogwI}c+~X^scl>{UhCc>32A|P5`5BOo6lI_adx9Vjh?#q znJXCmVNU@t`{snX0?WSp#aW#3)rtDSd1!O2N8}Ia{~N$z+1%WusEo9y%bTkaH1jL$ zNzKjej2C>J(r7s{0t5CNN?H^mJ!!OHEtmu~XcekG!^<VbbnhGIF70+tf}u*aSoBMy zV?B*b(6WBV(I>jT9!Q+4!O)U%&~J<>*cVdUW>iz+6oKvTGt(Mv?0m;s(nF1F1q=W} z9(xXyyjJAaL&Y6VOd-tm!%42tb0P%Y!*UNE`~vmzr&Cl4ZGF(d?V|GXA*-d+&eIhz zawojB*fudEFu@teZc?3a4i+DbD&ai*3#^uSnUlt~*NJaXuiJp5tgxMrBd9dD-CM+E z^US9&xAp66l$Ar5x?UtXQ%S*TE)dZDG#UaG*eTB=ub+jhnD1SG@AGG7DUB-YNj)7y zg{r?*(;!qIZzPN6fLYagq&zY$Eo~PtU}0_8fY#+sijv+}#~=nnE+lU)DD0ysy6NCV zRc3Z&(n70eT64b+GD-{VwZe(dP;dq6MkWGXL!4z<@+I%{>P^?X7Gs8s+TK*Or0<P; z7_XC;{2U^RTna2{+ai-(j~WgAMkF9W9NDvdO>!-L!W=NZwDryp#khV8rw5ohhOCO) zDocD54J$v0PL{!(J@VBb=dv)~>Ublxl0h~G1~&lpjxIk>0tu6n$0A~wzaXQhxrNX$ ze<&&aMIWpS1VbR3^Earj?ZAmAVVMY)?_kpGqet)lP|>?--k~c$T)*68XcWg~`fjOw z3PfroSn0V=g$cQBn3Q!5l|LJp=<eq|W40a>E7oj<VdgNLDKUGpJe$KHD8J;x7B?cI z_I6mpXr@k4M(Ar3D3YA-g%lv>BK_JB2;`ydxzuS%3h=!_j{1E-EbH#>?!J*<p#DHe zN-70_HQsWtP*Gj|D)zZ^U7*XGB9?Oy)k!%F?gs!Jrkab?Ea)MyqiD5g+si}xXgv0~ zz+LgoX?f@YXi`amWV{d2=$CXQAt517?bZXBe6y^PtsFr+D5-<n<p;=^CcpyV^d{BM zvGbuiSPD|M3G5~?H;h<8=_W{N!Mu_3sbP`4QBv|T?qI6(hI(l1j0I-3aEp5i$CB`x z<lvywt*fm`B1<X2lmR?oARi!z3iQyyiY3D??(5J~`xX3%kQBTS9ty^QH7I8;g+$77 zq{G7k{_<P^iDpNhyb>_M`NNWKLl}`!%T*D(N#9{}+CFtlmFRuII`%Lac$7jBK+s(Q z6FQMty45t5<pwKN%v_5P%ncTwECC^CU=~avE_A_B-ZA|4uOSyULFSukXt<9k;(a|m ztDsCE_!5N3#UCXhz);G8QXqmv_=gVzl-3z174T9fdk7p5R-m1zpVEBA?Gi20_ng^O zkU26~@zlAD*D<s7wIoh|{g;!9Z+|__TDcc_-#*{PxK@2SYKS!_Rf-ocUhs2s_Y_`X z;j}k3WkhHZlz!(nmcU*Bb<gFN#o70^iId2o+bs9al_r8kfGXLoy^BUk-qq6MNs!PA zW&Nf|(DRw~hzsXA*TJ0b0+WVNBOhFf+<grvC!X#3o&W&U%fuu{Zdzdd(21R!9W(lb z*r13?T16w*^F<?0M#(f}ZpoE`f}mmj$X0s=Mu|t3?QWI(E{BSmS{DRjUtb20rhI(` z9Ou!Xw{1Xmp)23CD+TJ)g_k}iBqlaO<~~{t_WBWVTOWFnJ0_q=#>||z`)Wi2aUKmv z4j$ZXn1-sfh}>qJ@k^d25#o@U!---ro&0{d9MvBolSG_n1Of~q>eo|w#XwJ2Goa)X z0mgkNd+F|HMCd|f9R0dCrmImi?U)$|-fN&z)j}Mm{kP5slv%Oi>30Cc5Vg~J#I=5z zxfBs^AiW^z?*I%zztgfRn~;<a+RPeIg~$@y>d!zxR0(UH?kII(=cT88Umh%yU;m3! z;b;9`+h4pda5FURW$SM`B~S%J9H#(S{Q`v_k-zwOdBY>gRtk}B#LDH;1wK*H(XAns zG*u*iwnGmZNO|ooEux1T1oF{5fl#^~d4k;yiHwbfWyAM>IS)9Y#=@A@KqRI{I6u_x zb|AMLfDvlYDy$782*g$pOv>$_n3(7aSfQ}*XRhHT=oncikQb_MVYTM}c`(xXSF22| zNU!r>tu3_q_^u<d#-Ti?Q>F^d#Q^8GR~>C;flng{k4mJar3LUsOA9bDs&y#;x(wu- z9>8L-2V!3j_}sBi2PqX}aq`Bs^Fg0`P+(v|*>*|tzpZed>b6<1bSbhLZbASn{MFzy z1tq0#fH24Ax{~docD$7E1rlB`qH1w+cBx{Z5DCHzCFb8cXf98ExZt~)Rt5~St)T%i zG$2HilM^YEzj*$9v2u@@ogJx>0rP+w`VO%9oTtK)%d8pyVDCDy9zYyvSYH-O%*PjF zEgH)2ce9=a>q!*9Jsr5?e!ROWodQirZX2_AAcZQctKSE=0~(#LUyth_9Gu)5&D#ae zJH*tM{ZtqVKfx{k!d3KlLqENI4Ujbss1c!{;Hc@kzKV>5_3sIn3YD$~MC3+fY7qI$ z1^%wd|HRt@Mw9#oG~#Ylf}K3;Ge}R}(t@BZDD73QH8JlZ)wrlAQctMkAW-+j(~xTz z!1gb;kbHp5iP;c|Ga~mRy^+d1SRxTM=3sZ-GFVMnd6wyaxqug;NO%HqayPSVc^okV zc^(umtxj)8ZEgK!k)J#`;!oR87Y%`H!}^9yMR4NSp*v(pPD5?;E6{)mj~3a0x*77w z6-Zz~EX0>~cZ#P3Tw4E^>)w9fNdN*OK0eOXTS!OPEYS4tEmp#p^BexfB%D~gPE30j z_ozSfY6^Nl97U2MsMi)nfn7@f-a+@{g2s$nte|s{hr9bpfgT2W*yvx>_y5a}hP{$} zi?cau(H(Te(1?ip&|3Pv<)P8!|6*gqUZHdRYv)bfYvzA)bpO9GQiEIi>mXuv$OpL= zTug~DIi(<u&3(|aGF>hI9~$Y1u~06=h-tF!wWC;!O}p^+k5rX31`yfZwwGl=4l>|~ zWZ>owLmrs{<wkfWhnAMKsi|qcaXTd-&3GuZ3wR#z39q+sZVcJCn+`!Y)e>R|M#Vgz zdI^SzA5g4B!~WTT(wYK1(M1^ITfTW8n;RG%EZVieWOo9UGPEQSAMWC!g&T;HrX305 z4!_6l;Ao*xA5VPl-qvE;A3-VaE-+U^`qT089YIw<t`UlsIl{?MsxEbyyNmdeL9kIu zlf_2;zJJp3gf;42ECzuU`^=fk_#F^~=3udNfzPmP27S_U_imU98kS9vuDq{&w@xXV zLbeLUV64l$IoR2QeSNQ7xuPk=d;NO#mi?b!Q@0^uAp)=9EG*&AKpQ*sgM}r~Xz&1| z(S*drz2m!(?UeQO<RN|#UcLHreCEGD{$?cb9O_=`KRo{C9Ac!UkSCL@fHt7#NFze$ zrw7Pz>$$IDzk2=p3VsN<nb|-GVl_(-*1&WP!2@+ndeb$m2A-h2_0s?P%$qqLWcaP8 z!OUF*&%6->#|!kFM6Ru^nLs_E8!T;u?N9Xe;b{}a#l_+}e>T@;S*K;03lBd6GZ&Z5 zm{@WVGn5=Yu<6V@#FGB~;uVJ32JD#D(-m!Cx6LQzAc)Vu-#B@m9%H>piO*_VnXdI# zeMpQ(AnFd+P-7*h3`@{i{EoD1=qg7xc8in;44Fm8rcLcGu~$BbOgdQV2{4B4TGl;v z80@^=xi-?)kTml_;21||=u7im*K6&US)rBM_);zY;r-AM>HPd)duW<>l{EJqp-wm# zo4&8g5+sA(xLx2G#lQzm+4Km)0Twnl+mW~dR80}e=HTwaCBH8sBI2<4Gl#eUsxpZn z6BX?a^mbvNh2KDqm$TL~F!-eK-*2>_b8X|swF#4n$;9aQTD^UZGg{(T6d(Gun_XA< z?R;4leH4Q3klTt~eq!4l?0c8iZ;wBGCfeZv0~^a%%mK|kMwSvxSAnfEZRj=fYhuFh zVnxG}sB{RM0(_NC)a@4D&;B1g{pLlNP%Si{(|7mubSxE(%E1avgbE_yGgeVnKY#y( z&``nwz`an)2A{Uw<auyEcY<Bmz={LqEs3<Wqu|*q7r>59Z3zwqC<IG@_b2rId;NV4 zD8jZza{BoC60>RF2U#Zpo|>RwWJE_qLIRCU0!Z^vx$AoVfIAA+iZr$$k8pS-Oz{YC zb3O<yWyrII299i?K!!BInjRhO=0i1vhDJ(8<`by*3Q)!$3OtMYO^xhE6wJ}$Xw~Si znWW_8u5^t&q-~#&kPr=KVrp^4p<+igr%{W|!opLjzYEP7u6uk;({j5Z!Z)^KFW9Y* z8x2u&v%5+pbeEfQ9(<l|y&po_7tya_HL??gIZcUvY}D&U`>_KGrtm<S5C^C_w6e)y zqddCy`SdNRI<O`W#Ao|1CSB~^Brf-M{G@)(ukr%LO;uvoz@Or?FHQ#qU|;D_*pp*X z`t2nD4SJSKpFMZg@nj%KC8!+kx?U|%U2axgeyn`4*DtICn@01_r$Jlgvwv%$93y1G z<FcEyvpafUrcC5F@m)GrFLRQlFD0cy&eJIC4*g4WanYN!G^E!LI*2+Hh)NPLH*kx0 z-rFSoPPRm&gE0MFosWqMm<o5BX>v++#zP$Lh%X%%InVr33^P9dy7FH5nHbM`YH6ml z#S4#WUx^c*@$b=e7r(4|^XNyRCer|M`1o4qhh7@C{GT^f($y=N7y{IZh+M_d+1<Gf zY=YOHHpE4)tl*tIQ_bEej?=zv+g?YP^}Wz;+{`4u^K{(Ob!aF)%R`MuqiJX!COc~v zj7w*mb-#Y#H)8u4`-_?F@WbxY;y3g-!s-lt2NF*u6V`ubi0huLoRXRtP$>?p^Bb3r zR_-%-QZZ1>tW1@x6oVPqdf$Cn@3}Y}5{(|nJ_TohAIqQKmm#U(hwxa40Uz=8y-#*> zRy6t(4%y|CuXMh~Igfk=-}KwrmnYxJe~fka9}e>*T?BRUgByW<TDOlXeQGeP8Wqz` z|A~t-=-woTU{>E|1<I#VrHsL{ytjW5GOCjGsceSRc7C@0vZj9fwz8Sb8*bY<oz=*3 zF#`MHERj&nPsQg`i6+|2DU-FWC&FG6IZ3PiLCAQyAjkNolBu@;c;f@r1FVRvdSAFQ zy+*S_>#n61bhPMP!A{*qXYPa#6yFF>(W|;a<Nntx=6do^SNwl<<G<u)3l)u9f7%fU z#;c{^6+EHe=;WL)izL}n9_{DV6JQP&wtPb3xJluuQlv%vV7^S!)xsxAb1EmvX^Hzb zkE-nuU+wTyakM~pK#9(TrR-+-mqNh;<>W7cN`q*v3M;eBB5dQH1w*$a&DgfS^2Cxg zxmka6RuS0@5zoXG)6cf0&Ue+qQe4>i;<eFEXEzndecJys6Zp5`7`iab(_$g0`B@}C z>BXM<CQjbw$}BUDo#vq(|Dd=B?|LZT<_p!~R&DgBigCG$2Xwtk5A(-^I%ztee!Vl5 zvot^4q%W(e^U#RNInvjH`}RohJYhX!uU?Pz=exEs^SJZ=f>F)<1&^0&ocy2B?8bJR zS=xn;P_(`$bmj^sD4=N7|Nfbatu$?*IPP5*m)uj?H)`bJ>~K{#ME>VFbjS03e$NND z5lH)|^mG|`cmX^3zqWSwz-VO%hFjS>Xb5Qz<Q+*_xaH?tL%hI%A7Y<#>cUr`mImD^ ziqJu^SYZj)FxexUqbYW;5E5ON_{JT?T#84J&rb^9$A_<rK_r#Ii0Hr*yBLACuO(6) zrqr%1^`wQ93(f9-5qkaj<=$mD{@=b2HBke2qyaqQ4ovQayN9=L3ss=eI5|OA@bO1q zQr-n!G8bSRBT)N21z%s9E69Z%W}mtc0;b~!Mn*}0kaFFBsH6n-V@5mh@ucAe_%b}n zhClBozzpI(gJ#hN;7SIdvyI!8OvXBogiJMuHv=L!1Xsqpckepu<bN{ITnO}<_d2Gf zS!+-2A~`ZoQMT=}8djI|V<1o8TdVQH2}`xSFOLJKeTFE=GoxVO3xm>7Gw8CcUVB{_ z1CXsO4_+>yKWQ}tWqlFYj8~z1(jI+PD}ir0#;@h>X8dPkj?ntJr7r>+AqI?Ul+g@f zQWN9wTo1_rzo+%9^Y@<OiTvE+E%>POMoU<|;PgI!-?ihztoT@Cw8Vk<Z8ci+`4lr& zE~WECDZO$%4-*9B3XI|u$?0icF`5+=dhix#Mt)MKpCDZLG|xAzt&<30uNGsqA072L zrT5s$(yRGRNNaaTA`LC2YRe7$U((t6@cf)Yw77VqF~-AaGyXEZ_>Epg8k(n%uo51C zPJ8wBb*myjNohY{@;8p5z73Q=y-n7jxZ>YD^$z->v^*HlXnenu-|SGnMFB^DAS)ZV z2zmt?&GY}%_SJD&rEAv+#wenLN(dq$U@(MqgNkAxh#(*mBBeY6BGP3dAdN^!DAK9Y zErOIF2A$FfNJ@izYjbAKIqy01&HJ9;_kRB{Gdk>NKYQQz73*4S-KMSVgLS&LN5HML z?8hj2s+9TXIkVh;+HW2C*`VdU2TgH5!L^76eZ(Ksoc`{e)EB*ptF<)WUVjz&8D^Bj zD>j&P^!4|<yHz3!v$L`u!K`FI%IDeLpn{5CEON}fHC%scWO4`f14iQJjrA#ZJoEQ& zl-U*yy2j0+kE~)2v&muNR;RUif(#4|Pn~dGjANmuZrMz%qI9fRKM>)nYHBhT`LMRu z7QNKu*`c-2{ZHYYx8ya|&is(4E$^Dj${RR^zo~VFWWSM%b?>m_&|W$JUP;+y^Xc=O zX1Ywn>JNAcWbe#7W0!o8(^|QX!BG|Q&GwyTgR<E9K414&_2dnUNupzp$*nnCGWA+V zQbIJ_6u)2jV4kLC+$#~UUHYU!{Os^?)BQg}Gel!7q+FTR8JbeVdm@gSJUm4;vHL&B zIDZdV|AWM}Q-5aNxtH}J^p|KdUi@;>eS<#bS%V0H!?V$g9~1jj`(MQ^)*tZk@=;-A z+{e?eAfUCw^h&b*!DLUx^Lw8PeRcbs!^3nYP=G_xDSo8^IZ4AINxz{yq48{k#RiYw z^SdhC-7?e}V>OMH3=<mihuBHO2G2}rC|!qh4k;(aU6?fK&D$m&BbfTEk%Mh8u>A9e zKl0L_WYYiSd;L8j6M5-*-p;g^S9mRHCsmn~9OQMe1~|((pVBAgq^G%^yrw|c|Egl? zz*s%0N6*V1FT5$Zxu>nB`LwcbMZZUJyMJm$pny+UDz%?Lb?^5SMT;;KCe=Oa4M$AF zhRbUcB|?)Ld3FjZ?fBs>!Mpo(ueWhRf3APMN%WalS&3s;brN!3*yZ*xpJ}k*@Q)H4 za|@&M<9+=9?W^8Pb4%!`iK&rG-XQTjX>5q=ikXcLm-Q^oVXFsp)yGfw4yP-O8ttV^ zlgv`9uTVQU)`}F?StdM}m_PC4Wa7;My@S+a_xE1UvpJ_8ttoP0q)F_Z1#N?5_+y)M z<Ed)8B=H+Cj@)%J?{iM?c@|`!J%5pXsHaS-CW!sm@=E{V<G{cw1cex&k7tYGii&h} zKpI;BYl{Or9A!TzB75f7tH=`D|0)YL*4I~J`q~Eqw*RLW@@JHl{UjIq0;VeW`BdW1 z5|>`$3LA;MG|8c{&duH34}JA}%vpHhYOC<5E8C!I#{%4I4QGZMAZ@2@NjLUc{<=xV zw_>k@LY8?~>ZBVkKuKJHNNm3+Dnu(T^Z{2Vm(-FqSb>wpXo2F=*|yhZ*#fH5fWb%? zor>oONE}2!x<awTK;C<gA7&uc_{vUZN@vdo0zX(7dg1e%I6qrd<s0$Sat7wtW$%uH zQq9KZ9~jusM}oadXWC9`<!NLfw^1+iquXDDg@*dFtLR(fD>Q@W)z$YSz3yP{YE7+W zjQOVa^4QNMW@<l|tYq<ntJ%ZRb*6zaiTTzerMP_em5RiBuPqynM7AZKCUJ{1EM3NJ z9X?E_nDD;eWJ;*cG-CW(ixt~v?n?Pa1_7IsiFd7ctvjf^NBuHedghY2>0!&5i&lY+ zNmN`Z<57DqwrQ`ht6QH`-Fu0rs#^aH`*FMLcMJ}Aas9B=s@Q$Zpn7Xpo8q|SJ_q^b z;|JC0Muy{iqSRCGCH7X=y9U~vV~o=@XPk5SdA|7Z@u;(&4GEg28W-#mKj);`vmf-5 z=sKPv{6s#%3(T0f2mYyosc(EN+yypP(|8SEE&0%U)3z+&bjYoBx_4;|zI~&k1q`el zkVZpGdm246hq(CpL+sRk&dD$2<Yvn^vRCrt_U%CH=@0IM$U-Zq28JJ>9iiPrL#^C* z86FX@MTA+7Jn{Eu1Nr$$CaLMP>G!5IY9y_=J>s`c#wv!Jbbq3zeju}!7<(OL$sY#= z5zqZK^cct@8P@{BWL$LQ<X|bx1s~KYtfu#%kQ+iG^!n;2Hb_zYA@`}Otn`JS&PBU< zIk_kL_}H7m!Yu1TA-DjO-hMS4*Mu7}8yi2E6L`ag3Za6hh{Z)o`<pKo82S;gTK6#u zU-yMN`i%Eew*y*4eIv%m=t~y(cz(`;1x|6qFSlfyN3yfCS7H)S#^?DfGZVG){2!mk z3ZU-*cy4OU8>yAct`J|IxoC6vzjP}T92$s{2pzc{H8eJTLK13L@?Dn0e%1Ml9&Tl! z^d#31!{<3FX<_O<svZ66a(zjuoYn&4QAJPfPKEsp|2Q3!e$&W(kJ?_6i<L+3t?_56 zni4|e_fze+mwHHXYJ2pmy3FK_kd7C8e)-n_(c^NOxTJ=6o(iaGDPzuEYrj~f%3#x3 z&qThXTY%{7&|^{mCq33*WCoj~*;EZoj>p+7>1O0I^*A`Q*t1PUER&ow6D7u;Jgrpi zu(&7}eXcMpFk&o9IxDHwY=Di8DSy`iuQTo{GRi`Z?FlrAbP6#&q74l38mrMKv1&tG zMKk+Ny@$OA5?!iqjbBZ*|CZz}5hq;Jkr4hlXF1)Ym%rXxa6DK!S@6RJ<ALo0?tjnU zZvTUh@h`s3zde-S^EV34YgeuZy1zQkSzew<l~kwdBN->HI;`NCB78WjysUZJqxZCe z0c|inX<+V4RatYuuwjPai${$XY-~51Yi1N{RZ@x*XH=}TLV85s3F#22Ekyj;V$!*k zbQ-+SCiMo(&?r%!W0pFn@eV)ldZ(GU`nXkes^^dQ^&j=bfAI~8_a$)2^l3|NL3^3T zyN;T(J{MFYW2Lj+luc^BdYbFD=$)S^(c%%@wr(NW{gsh-i^nS?{$l>ajkBsF@u-0% zLPuhAxa|VnHIwX5Um(SdG1Xp3Td@wE_7@t=YznhEYO%*|^8a2=bvwu&g*%ljpvy0# zO+;1#=`<8b>w(v6%>^B!@2{fvKjL8sC%lwN2sd0r-Q8N(!ny8s*`q^frF>z?HQ!FV zvs6V<u8)@pB1?KS+n-~K^Yb}78~+`m-gTbm{P8QSR|3(ERb#xEEWL{@%B_sZ3NplH z^1D`2x9$-=XFoH{0e-+^@b*3pA7f+lIItGvN(VEKJ=4y&=7+E<7eG44zJ14FJHP_3 zP(NT~Zf=zX-D`d`<8k)qpG^OjBqFm?@+NeTU5IJibLKYD<NP+N#W7{~LR^z+x0PVn zZnDcWM+gt*J6rckYV6p#vmaIiwa#^5CKzJW&2}@+?G_~;YfITDE55^xiCPVK_#(As z8e9V==c9UZtU38r09H&VnVNsnXs|RiO5GrFywTeihGr*WNbSxXtviGl6s5lMAYP{} zZzR$rVr=?g)N0tF^HM@y4kj)MjRzYn@<>mIEy}sPxjGL{=@>MAx=|8z`I^6<A1l## zAzFj1aHrwnF}Yn9Ybo*$mD`C3rJEM{9kk4wsg(_g_~zkwT~-jT5rJS?pTVq;=rz=s zw;}rJ5z%i`(PpXjn33}24n;j8I$ZyV2p*uYz8e!HKm5T3&|Mi;zX?H;-B|8mva}>y z)XNIu%@8k`g@;Em!nS8KH2jmDPeMWtg8ZD^4tgx@-rcx^we-R(%)<KedJF%;OqvTf zh+l!9Kc7dN6o`?-N!4AtlPBc*wy!M<)Cp{u!tjH8owWTP8d#$LZQ03udJSLtCk)DQ z^App0>~g~^$rsL?v?{XV<gX2jW80};JNhvxuOrn>_27V7NTpzUc34Qv)gIqKo6j`L zT{G%dA_ml!?}Ig;Y5Lq+<yRev9JWZ*(J=aOCYK0kDWdWX;tArZqH3mLhdLw*NA{|J znaw^oGQah|$F=@q5C2<~Dh>Z=T3WNM%jn6S;nZ}t#?ellYit5lWf}s5%{4s3M%Kj_ zI;tC^xT{9adUA_cL{!&~E~kc)j7F?YLPEq71BNYzJ2z`*(grW&M};QXpZ!+kdSNhb zK{RQXPx|SZ@#L}T^C_a<lK<<s{RgV2+>sygR<Y3i)dkxA#t{0XLyfrgphp*SjpFyF zUl^>a(GW-uP7A47;Vf?r53#4+tV${zBXNCBJxF6MqnKYeE_=@Bt^5D_?S+3lRrCEP zX)gSp`{=;qhE11`C0hB;1RUUh<sJIY_%Be)lfPiDbq1LF0hrqc{ia)_h3PwUPZ{sg z<>^w6FV}JvLz6Dx2g%@*uKWd2y;^=ByY7f8dxlfZx9?XH9QEBG0v9Y#y(cQ75L7gt zd&JIT=5#c8_&#}Wnb!W=hD7`jx~ZY^Z@>Qrlz~1BX#GzGa8_a3(GOZpkdpL*92m%l z<~nR58y?Eb?V4TN-;bzH{!%dUmh!x|Huobs-Y3Dql##c>!o#@%#IMyzm?d&cA7zW0 zDF0)BUVi_C+dnk)P^l}`bgmP$O6M<K;(|*=`cNfWeF~zpaI)C<_E%AGJpc^|<#t%M z0oZuTq<-PTOxJ4M;^KhGr(!X0nh?eJR-d&}s_}!jJ}7PEtnKSm@5CE#Lk;&%zm-xk z)-kC6bOXiadfY<{!qZtZB}K(q=Rz@T_?7WhhYq>LY0mN!=VQOz3>Q>S!jC4(nE|l+ zU$VC`H#REMC~BnF=<DPd57$!8i8Fk_qa{$Z9IaH&YzMRHf{5H##1lHhTgZ;Sz#kLS z&-(0a#xQ5_M<A?53zRJVSPcO~ImhGi@4s(vp9cpSq1?ikFF!8L3>X*~RDxT7%>KHZ zoZo~S6TbX|^po)~x;@ca+<|356~1{)US8|qEGlJ(VnsPQZlZ8}O$0DL!|GiLNKhDA zei@uq*LAu8w;WC=j<f&iNv<W0=Ce*tg<Bbg6`;rKgAYN{kMC{j&Z|pZ?+K9$0oSyH zuA#=vMy;&z_sided1Wr#RQezRq@nhMx-u7p%zolPj`_d8DJgVduK-`3vaonXTvXh8 zbf}3w=sgGc8$c!@xI1`--ZiJg%-v&42iHJy<t@$BfB};W#1F$%o`{9-?YSzzfZ#Nu z<R1`lOjxF4@XO|=U#5fU#zL&qUUYjHi<Dtd%MIGzkE8`M7A%wiiSYuJ#o6y%;8F*n zj6ZnbfG<)va?BAKX)gZoCnM3hnt{ZRkfbxc3)<L1uR&Z(NJ^rtTD}#jv|nrA+G}ks z^mdgxrxBl=Tn4(AMHNTTGjzW5F013Kda#P++e$%5WXRrpx0ZMO#~M-Rvb6dnC6hmR z(XUE!;DJMI$H-N7^lhAb9Vd>^yWT-V(T&tjb{oU(n&86}u$LoNGWUPIuSa7GEmCzJ z3Im6E+XcSs$nRSx!nTzHBj6p3j9lQN1p<gum*a6HR{(!}D?Ohqcz}m?@7_%=yS3D< zSs|`p{93Bo+K++ZC<kZjx^%VxyBf+lh5V*ZZqGA2Skuatz6U;j{HFh=-Rk$7xf4(? zUx8EXd}DUe13XLH{96ri8&dw|b>s~i&q;Fehg1~YsLOC*@{&WM292{6H#4|mbLLTA zZ0trt6jJWZL|Mwm=Qw`@j^6s9O*Lb%-fS$+-E_(_^APcaU!AUFI^7|HCZtAxZ_|O0 zl8tf!zz2I^R3HapJdU9uCzI~5IR*;L8;lx#0|M?rgxw7gpn_PEw?-PNK<+9*Bzi0S zk8qb1n432g5!o>v#wR~;+&V&K;N%@Wil`D0wfNwmz`lR~J|Q6*c>k6FQCOGZc*Jp` zKS+8tH6`U8pytc;8#`TASJWyr1HWbb5dj;jwX|>5)s5LH2Jf3@lc+mr8U4nB+4t8Z zY^<*30TH61A8AYpctA;44Y5z3%j%rVaXHQQp;$;f+1NVko`cvF_=qR(q?}yQe9t3X z-S4li&VF3YM%H@Z+Y=}O@8U=iMzV9t%6Fj2W##6kf>p;svS*-wS2eq)UAUFs5g#A_ zhRLS=j;E(5XLw%2KSjKhnug<Z%cBv4_r>^mUr&ee%b%~<$bJ%UYZBsHeGKAp=E!zU zr^GP`ppHY9gi5(_pe`jTsT4j76M#A1@@++p9QFG34zuhwe}$yqcjX^jGjC8`Sy^vH zk}H)uKT>62gGk+G(&NbcG$`Kgeg)MxXR@5}6ZimS<>k1N<5F8!Ida81$Bv641+r#f z?xW!)_yA-)zb(3gk1)~mh_?rl1~FL7`&fT(?S56UH(hY;-E!5vD*Sy@iRpRQJQ|gZ ztMR+*L*;e~Bk7!<izA;PR4SNlB~{kdRe-0Cqgv!)cOkg&V||^93wRyJ!Qk`_5BI{y zaLUXPH`ndT=o=B?jj!5+Y#200!q#dP7#SJi4ng9StdOj*t|A^Fgt>=JTLs$&)-B?2 z5`0e!FINX9s~y5DoS1dfK%`^~Eu@o~3x4`NetaJnv=>RgHi~B~59=ytsJtk0CSF;9 zM{)#qzPBkOtIxq$p7t-_)D|jX77t0KNz=}P-L86<AxR+Pxiv_3PD{%(a%I%m?a`xB zB$d8t)n{=}rD4B<^9g{XZ7)C@G5>R}*axF&dl$9d@oct#eSDK){JibcWJ_tvTcm_p zoNr(SVeP{ux-k581*nXE!NG1&j;_BwPTIDeN&G%G4iTh8p>0i<S?Yes?5anPxCbDs zGquy>Pr^*En4wP2;JR7e7Y6teYvwR}?T1)B8HBbliQjsIdHgGk^&``^?-BhKnWzF@ zZ)A=gQcX=wy)b$>rmDINPQ;X7M;>v=$S@Q08NRC@Sr9cJ?zOLM>%R22trIxd-1+-P zw^a<G!`{?*VZbEJk}?m$-(iq`Q5JN^J~ev_K#2H8V6%-vuCU}pXoI$vz5!?$y6owK z{8m|A{T60mPG+k>fIfke3$5ZtU8kAAxmghLNOj3@X*NJ0o!T?Kr;US%Sxfi`i-rs8 zEyCMBx_C9O;DP4Y-Ck)r@GRTgA6b{XIoq81^OrA&uQ&5Kf;QLLrVHoJ=;-LLsF<cY z)igCdFv+_DGTl53NGQlU<ETg`CVZHR7#JJBh>k9k7{FaO=i8*sb%Foe3~X~&A?Uqf z6$+Vtu>rBHGpRgzgW2$_xHNdtV(kWeNP_Jn2ZY{jjNWaQ%}5BGPk1pr=&kUfm|r|t zgyxBL|Nc#oejdchRE62#kbc1{gpzOa=N=_vCve!m!X(Rl((7!5h{m@M878Tc6|=QO z<+K(;U^RF>-1wc)l{w35$yDV)G5?w7+ZkUWU7R0HuOo9@VK`bB#Uyq!+D5+Cm2yF% zYhfE6F$BTz0NO%EC%xu|Ghe0TyyMAVF8bHBK*hkGdxq*O2ZcmowjGZfGI(!Ro7p`* zdU}{n7}Z4(wvBp#0!453os={DlZ3K!pt7LygJt!eQ`>>nwZbO1HQU?=^jC7(^fcCG zIIH=9y}26%726*7{WsuAf#Rb-Zbel<s_T-9$_uIN?zl7S7scOS?ss*FZP5yPAG6G$ zCNR=Goja1pf2Z=2lG?!V6>H}^ACx%=kAwJxggb5D8?(&X%|sw-xeHG{+d+om8d*y= zp*n98&TJ9@+HhcYylXt%_`o#Vck`Hzk@x_y)O88*@v`vCgF_+(!{EgqkQlMSP|;D^ z?|FCAQxy#jHy{SoF!p$!r9g)Dz>8|%4Z;I`l*g?%mBK{tfN(>WRyfOm^0hEK`@+^5 zLR~_;G&f#>XmF|a7bDKgwf5x67gZEBm2O*+PSe$$p(S70mm*#a4b>je8)T@JzWA%- zlL*5K+pl*vW%SwcM>>p&DFpMaBMSMh$d~#9VUWX;gW>MnA6(lTy4gA6!wh+|OYOP7 z8wwOSzvRB|6KIM#y6_7U;^H=P2}uaN;ypFTpkcc5Fv4xjLGS*Ac3p2=mAq`Tzg zB!#AYFE%x!c>y)NPwM?cf`T4mAkE6fg~J~lxPRg;ZCbXlyfXm9^ln&;y@8b89X2`m zo%cNXHA{Bw&nvlkd5KuhhlPMY#y7u$N$xt4^>;qZU;{l#*-zHmR3EvzY%HI=pX|WF zgC$_m#X6n+X0LC6J3y3qgfej_WbZLIvx=v=4jfopvk+-uw90z$;AU))&9)tjPt`A8 zbO*wG1^g~-8^q#i=_n=-$?P^SXhSgF+=!va@mset=33X2=fCJPH^Mk0dkh}C`j}kX zg8i%v3oL)J#)bwx^lX)I8VlWgr4!uujAS}o1XZ9UCLi=dCXczBJjcXO4~RvrBgAkw zpy7;y9BO_xyVwgf$6Xj++}5MF#j{&3+IK-)+Y4`5AA{N(xmwKtwC83X!m7snwSL^- z-C$`aaee^-BKE<xZT+nZ?vGeQAaw&2n#7SPjG%Z;OT526Ryf!B$lS4)k=UPi5%Ko% z@@_}Q!ARb@%Z^ge229DJh9o-L-!yJFB&qKc5uwB1g2>$&B%5);m%KK^L~31Q^1=Nn z``?5L#e6|0Ky1(wzO6_a$G#cQOBAod1Z1tK#2e~?`0NDaEAWutP|Eibdd*_p4}(e( z@B80kK0H}C?zA0kLFI=J<)HQN`Mi*;#p5{JVm#kDSM(6wlPCRQa`+dOVM|SVnLARz zBL7I;`rE{71O`{W-Fbo{8QS0_qjmsjwsWGt3^3qX>qO9uY<M{r`n=L$X(QtBdi0gY zpoE*i&DfiFAwZ-SEt(+sF0G^kfV)kU9w1)6L&^W?`LRs~Mn*jk=ya}HX%#!KOtf|V zqy^dh4IGXp2uEdu5JX(UaRn$}Lv--^sjG_5a^a2iP>+7Tmw9!_a*1NQ<ZYN{5q|kY zxfMRl^5EJN88Nbr@Csywr(x9zxsuAQ4`<d7U0U0zLZs6{a6=%@gu{Zvgdhi%jbCV} z2dK>Czl{1Fa~ZIKNF5!~cJzF6xoT+reE?W~g(05NxoI56=m|5(Qa(@Gy7Xcn9yruE zz+?l(EwLhkf(8jURC9Sv%}^VkyO)hpFJ*6Y)tm3j?J%nWgn)k?4Z1AsL*mRKm3v^L zJ7A-~Hl+AG;r$8408xjdC~X@gAvXofxJZNRx$-mPKH-9bn?*0<=Hc;H$z@R`vZnk& zb^lFRjcy?db=X<m#@437)W;SSTxCto);<l2+8;G9EQ}Ntx5X-i^jL1&3vI6?#4YnE z1Kp#dqKqm+tDJB)Bkmo{g!N>dB1OEK8NZ;J7KPD9()16J>~68nOcGsBZ*QT^c_;x3 zbn|gElpg&?;yjKomZrf8Bq^Z}rnZ;jn^a4+v_}#qwX9O&$}6tF3*8b^PSV5rp8uxg z;sFhE0UpaxeZo%o95nUJWk<&>*p)jB%mqX)M^`yqMHb|P%1#TtqH|qoSAoP>4h5cm z#U=B?ex^$oE<8YYq6apPG-E&lf~XW>OH~T*?)RJ(lW!?`-|%f6r=a*5rtUI0lxsN$ zqZ6`udx|VLG29w!Cu%$_AF{jYCyo^wF$_MiuNC|N_ZzdyCeQs!753L8WmtZYVkaGM zrS0}m$TE=)br4UDiXw;K&C~+>fw~Q|Zz#4ugXT-rW-LrsW)*UNVwIT{Ef|48QT?=K zzMq$hHx=J8IxbEh&U=U$YgIFvvf?hub}i1^w7S_BQC$K|(C;a8C%X-!k1cqa=-eo9 zX5c3Da!?+QAI`qDZt3Yr$Otm%=2E_i^vIQ(B>^bqd@vcU2@~51AB(KHYn|nT@hMu_ zZ5^X$Jh7V|!2b9*t(=cb5;Kln*yo>c;wEaYihLgOs`a6|O3;O~YAbQ~3-9s}YWOU+ zZN}b2QoU~eTx#6FO{t@WvE)u&o{3L%wrQ%W_Bp8>xY0e+0K`?J$We@Jb@iD@MCAUo zN%4sSt@7z{%vuZJ^HNz;QwCw$%WGdaBZI={9i%T+FQL027B94m*otH@S~?1gz^$dS zs5nn}(i6Fq<?F(_+NMQUhE9v=c8f*G)SHZ+6kGlXdkWR^MobCk(G(SAqf~u?MUC=G z9`XX7!XKYGdt0lg9d&yx84`uQh}K#DJep~wSxwmxdM&I;<7E@&#|-Z_(^}i1#233X zv#!cwDNR5o{uS}390Nb%$rgZ{Wa^y{Foj5G#kwl?*x;CCRz6)oX|`lgG}q}M-31M` z4_3_9-TdnjVm6UEBDq}cDv~0~BBB<6uc2#K$eRZ}1ttxNYL;;dA$PH5dysthVe3!U zt0;AYy(|ifHL4PdQoe$xKQew?eR!HMz9D)Sv<*Gp5@WKU=K@Ut&Xq&%sz;P#M9v}0 z(7Meqkk?^$y)BE1)R;Ueo!6y-oeOpSJq*c(7g|BV_iS#~kOW!3Gjgy_3xfTZ5DOHb z59A&YuBfq}5^3tcxxwn}f~EJdR}sr0BS66J=0)75r0R2}Vw^y{q$gslkMoaxj*H*o zr1g)!ij~Z#e5h%e`Lf$;SZrfmcpLWI3z#G4^!cAD7*CoU{BXzEIidjFe6|LiB=Ac@ zWAF?anXnRY-MX6`D;GY>$?%|Q7?qu(<<;@TG-RKc*lwr{i1-!Zym$@D0;$T%$~Wi> z3+s{>rkAGU8XcUy2VLNP;*P~jMB<cz_?k&@(2f9{!1Mm@G)qlZ1Pg`em>9jUZ|<Bt zb*coOAU*04ZQskm%W_4w%wD|e^0Lvh*iQCFqo<5riI%{f8eaO5chf5=4U>4Gyz!*i ztSnlH*lF>6BaB9_z8vv<m@0nSzBy{m^ack(JVYe#1;6eD#vs07VWWkX<bs9INF<UU zx>*RgmdMB*w4?Bu&~~=ftiO%J%OHQ)hFWXGjqcs|iPQ))JR+<iL|Q-!UCfUjcO`TL zGK^noXdYnSYFX9_0Y;dRzT$$v#|V2fmU^eW@1^`_ZPiXlzlB{mQqvP=N?+ky!%D0S z7!@*txlMo%n9LJRKB8EQL|4|$Rp|Pj;r+Pz_{{x$b!}M+urNC!`2?Jk?9Atuc_6)X z!$~!cgA!enBODSDxv4sZc@6CY!P-i9`Zijg&9wHGa$$kjRN%9;xW<9uD!A=z9=0cB zsW=DFFEH={e36MK4q8YFc29xL1oqR>*Ri)I<D>;8g~^Dj-q+XnYsV0mZ?6;lsh2;z z2Pyyo+QcK>WulHHHo(t?Iv1c4S`Obcot=J*m$5^k^)9nX=Mj-d1C*pE?Xqs7TI*~o z5OKVp#c`*8(N+KS>C=30Qc?&P&#c{wIDX9@K9+@%cjr*8G83o85=S(&!>kUq-A2$* zym9RCZ<-mEX$4KXE*<0cbe=*xPwMbBDv<0VGy|aP%MjXGxlA@a5|b%D7NV=C$4ZoA z&yquMYH>}tM0Sh#@U_pOOScXQkWSbzaY(Thtpn3#J5bQWm>G_nN?4B){WLW*vk%z% zf^FAa0A|6K{T&K&y2!Sb1=S5M{8Ds}2E9MSQ{gVOZP%M$t|Kt3LZ7c2Uq>Fjlp7&m z=7XLExRt%`-rjDpSS(#ySG}(Q1Gk+X!=`kM*g-tQ8_*l|qU<6o;yF>g)G>~P{Bz== zOh(88e192`zHmNc4yJK@@Vp%#I7;ONG=v_eTPJ+>dhOh=C>SzgQ@o^21TJXtoTYB| zn49SvHL5(zg(`=tI&?~88hbBT@Y?y0_`^X_`jO2!6IFVM^7FOk&b@`-0Z~2BqtE%C z)mA_fZAN`0OVTS1I^(%liU9(ua!_~1Ry0fJii2yX!{S_RMkTX5oR_|1Q(l|Cw`;j- zdU+X7=qtt)bGyeETA>4dfI1&+rp$#Um6fIQNZ(1Rd0U7g5|IR*6MLOXFU)rMATS)4 z&zT)=pafuF-t}`<giJP4+KCS~Z)7PV19x;D88vyHb`nZA!iUs+!+|0Eg+{8Y&he>1 zviyX>)Jg`g04X*_ytRGl{JI&TW3x1qRFyD+p{AkfFZ|MfaTzUGDOzc4=kHFv7mm3A zCi|6+Zg9nM7>xnK);2En)E{;p=Y^(WQz>$rQi+ulASSAGqUgMG<;sl~!=P@+c8^`Z z{u>Sk8*6%T=w}~Fz&&`fGaq;n=-^{8^`W?%*%$#o^0c0C_M{l$pFtoF;{}p7Z$ZfX z1%I_6Erv~9P0bbFn^Xj>jYRzr#=$7%C0CcHJFhD#CnY45q}NG5BGNgQ^-}({0pXW| z+3@U0jOx$6tg;&WErKHSr0U2T*R*jbtj2q<BUC?3Vm~OL9U}^2H=NlJDH3YW;7vU6 zAZ_aq8?W`2XTL?Cr(`VJER5TQ)6MEVDB+TIi}xaU7$nt2Cp31J+ce`eMcilWvYWBX z6sn2_1Fcf4ZtHvt;1?|TJ;bAwfrJmA1Z3*o+b{^fGMaYX&OBBN-+@vX5#Pr2gN6Wn z3T?EsdFU`4c+}qBu9mjB!9Fg}sHR>$P)MIs$*?w9D)P_>hp+fHEe$0jL~W~#f`Wpo zIzAQS$|CH)1wf{k>0ReIc11{RMg=?%lV5LiCX%p?IBVUj_44vMg1Drrrq+X2=pB*C z(3_&>$XMXK;v#?obpi@l2N}aCL}-oNn;f?(nYrNl;)Re{EMs36*$$lR7s$E}aC5&y z-qy!&!wk4$aIhv+h?1x`L0!K0WC>uELl?a*d|Fuc?W2H+t^1rYU<_iMpq+Q?+N|QK zW9Ul=Bml$&GOhXeGMG4Aesg<WrxU$o*Cs97l~K6Ry25~&Al^yKjG)SxTUZ}=xsS-x zTLf*;AEJm7%#0<MszAu>^tmpW9zh;LDpg8Q)>ew><wd(JP$zj0EigVeQi&gj{s{9F z&0mR>2`$l75#OLmxvopXnsD+Ezcq9lV=z{6aRzLn*`E=2{hHeMZy0My-vo500$aOd zz#)#j)-qS?Y-e&F_<Tf_Iy>5uVw7McOgIYQA*?PHuTJk(dN~EG<0%tS2tn6Mi3mOI zta<5->PYx-=;jl9zpjQV*Q#g>82xnKN;>CFMz$^Fl-v<jG84SgnkNjDE{&chOf!GH z%oeEi!9PC?{?)iCmCR&65W}MYiVJ)cDCl@{5FtDnMYh3cQy$%-@8idP(~qNC2-lll z5dPp)Aa7>IgE>XdwCW2qut?UESPjzgmW1m~T`J*vBMT>Pj6xm}h$?EN6BrK8&6Jf? zo7#FerCfSQ<iY8uU1iAKsFBPs!+93r+jP?EOUmT(q?eCR1zhWgR$hF0`4K$1p3i4^ zkE7xwOrn0fl(n^Mu`!zn71NqO@!AF!;x!v)`pi>}i%PUqej3>q4Th3Z4;Mx(SD99h z+MA3R3WJfxfkSGyzM1<Vf1pwIKtlb|uW!TKaZI2-j0@1c0ic~AeNP;K|8*}^jJ804 z4x@Nt=itzTCXcl?3HctA9s;R>wg50!xJ_$~K)_}#Tj5fK2{`mP8-|4IL-QwW-suVS z=LJR}#B8f8HzKlIsgR<+$<riaIP`D;_MGYzS?0_YPJxd|icF@dc3a9rSsmPo^I>@M zNBMt@w(LY`r1-it5R1x#MO?gf(7PIozcB5dpeLoo9bv~~2{Pu^Q~NDjUK^5qogNBq zY4ThOXq)irhC^<N2MyPacQoqHFe%FcRb+YbK3||#UHC`TN1&y%N=xqra*wZ!u#h?D z7cOi2p$WP5FycB2Iw3puf^Op}nb~H2dVYgnhy@JAKLdP?wuyd;Y<Inj;<a|B{fOC^ z)u+VekR;=6C7Mb<`|O?5kll{xD(!_k*2yzxri&In2kiC`iaExT`EfcEiHdlIrn6pI zrcUjKEOtCWl-Opam<3wEL2TclLt9X{n$8-kl!SJnZodJs?ULXJNd0FelsLYmmrGi8 zqvCToIgJ_4t6SgB6RQ)c7ehN~X65fbvcpW5&1%<&X5&Oj6%yyig3HMvvQsswbb&Ph zVpT}xUE;02El5E-KT)~G@ug{IZb7EsBr|`f?nT*~2aoJgRMEpd$EF?Sz(@3GfWph; zUP2U@X=lviTjR<&9vmaC?t_aJOCK&%Fza2|D`CAA9wU=WF*>GpFogY-pt8Rmr&6XA z(Pjhh_$o3LQUyh4&XhfW0Hep*;AN?b#E~imvzJXfZ*==a0V5$i^M>a(IGo+^G-Pq& zlRUE?mZG%zkSVbanIvt0#p<kp^}<Vt{>IO^-@RzVIKU)jzYC{PltP6$iGy?;bUBCX zGWD|to&*LijB5W{T|nTbu;M90=UQl~x>C>Ll6pK)=tZav+{a>we`0XmFZ9BHFhu^@ z$U6njU)zOxm6)goumIhLHby^(`OF^7r90)fGdM4P#K#<l>9Ki*wu(ycm+$#nJUI78 z$><E@#!x-ZrkZdy7t2enC2h%I2rUEaBAP;2v-lt~UhgXE$j?1bVm#`~)|5V}i)C@H zF`zg%V!^dXe=~(tMTyB>^6;b<t-4lQ^gC$5`U-VmdPL+1ECnXAquH@X4}KiUn0!A< zE|q<!UWY8UtAP1xgp9fH_7g@VA(4+(z2-W-+xvfU%}PD~W;t|nf1Qdh3jBMEceb1M z=W3;*n#`KgOiC~s@suepy_~$;W#nq<_=cLa-LD_InafJjjiVj<gmKvq*xd|Loy7tM z&>mk$GI`3FCZH1d<tF3Qt~3-zSAe<ajJ|$9f$_%+6w5<6M5OEK>IRAIN%>zkjwBdx z4KSt-imK+4@xgF)eB=p%3ZQ=IM&DfyJ-nmN0PW@)owz%ltb9-Du2Q5pIG0q`htnmO zw|9}0Z6aDWX}@)HE_vqQEqmGOvDYR$IUqe({q8@<kmx-Q4mg08)9>zG@^7t~Nf;cu zwSA{W(b5GQHV(3AKp&q|wIy0!>fIwyoX<s04yP0p9>a{J8nu>T_uB{jwi91D#Q;9F z3Z#URMEe$>wgeB7KnNyC40iCUUgNN!_^-sGi9v9C(uXrQKMgK1rtVJ~AZ1(b@xUa2 z17exiKrMIU5h3ke%(?NLD2{HzTdNuk6}y;NZUd&p+Hnz)G5NE@5s@EiZmcq833d`+ zQRf+n^YcK{IrbXm81F3W(LTN>nbIlos85IiE^-0%;`_wK^BQ~#ujlM91H|HvqhDEt zg=v9_4#8*i=VDW_t09O66t&k!F<&VMh(f({=RIP%!foouLQ9QRqgL&JGm3Qr7Qh*P z_tB4UWtMIqJo~i!<#g)UNIfyfelbS!vn#26lp%KFC{xVDE;Xu3lnE~(oBvHaZx`r( z#LiK^bm<X{81~`w!P}V~$@GJuYrZc)=_TfOj~_p_H8(d)CMY&kY6GD{By<GOfEQ$E z&N@@>CwK=X)ia}OCO451Rwee^eRk)ispJo0e4CeceBih<Q?>&>npT+VB#v_;dI^@p zhpDmXXU5i3l0nd)g9aJvvf{RkGjBVn5scL}S$lWeoCYt1VYJ=V1-&W8vsNYq9pU@q zrqBBZFcua!n-f3X&3m2US27^tJ8_hl2Oa<cAxrBL2POifeE`5Nvx?DWA2&v$B_Dod z=ZGByAA#zGS+D%S+wa?B*PfA@!3levOHJ#i*^0f}3cb(UruUs4f{jcNb~UhNPd7JW z4Z59#m27lgo+fc5SS}{Y(eSwG6p@XIjfFhfa~Vg^2jJysfdsyD7Eh`nuw~w>Q<2~! z9Sdoj_wx0^P}?cIRjO{YWxW$OKkw8?PRGcB<MHRLgyD^FHqQw20f?Nx67@Y!ckv4g z^CapxgoaL$L&S0Q^ssT|fs-Sr3}JvyFJMIAQRks}zJL5r2r2)VomYDL3bJ4%T>?Ca zfG6iAk7om_Au<YlZA#E6`4F8Td~eD*g0$`uz;n*a?(=}|x0X&6Jx}O%y%?c=1(<}1 z-QPYZLf>KVZ#)yrw|he9TI>`<_W508y(Wvfmk*SDMC~aGPgu;q*F0{t(BKm!+&Krr zDzB`p>@w)OqIOg4WM7eL-@=FPHVQ3~mUWrHIkE8c{%!F44~B<<+DQgqxZVQ$-vO{= z{vEILIy^W4biJ6crq}U=BU>CJ+BRTo(Xp{tpjzyVd<6r1{6`N4^_xEa*tdz%B`f21 z#+aS=_wb~@5pXtJ8t51diWz##89f-4Vu3YE8PUmtmPNb;G6HWQdjo4eZy=|=u8d}H zfVkWPMu-35D=@w?m!H$jWOO=f1~({cmmFv9a{h8^>0a~8w~7g~_8e-^Q-g67!`#vM z)YNjAWfC|cYK4lW*aTQ#F#*5QK!CJa#uNx~jha|s#LSjhUH{JgV7q{KA*s{>*}XnA zdIW<2Tre^+j2Brkw{whG<l^Ew1~?ChDCh~&tIL*=!0?RE{62ACBLg=48x@9~pNpNj zb#&qS5G(>h#4KYmc*h}AX9%Gx3~pEvU~yV8FM2aJw%0&oA=rBiQtx}Tjr$SU=N9aM zHR*-?B_D>LyPioAmYQ&j*aFPCMxc(2Yz(K}pesP3(t`?s7`6b!XZZ9dkHGji=O0ut z17=p7CW$JCf*!t~M6=?Ex{G+a#Eb?-tsbCn*kaxLZ>U&Rdou)C&|bmWa|=+lSFlqX z|BlR%RsCPNYyU!);&Ax*`8L@b01OuIxwBco<{?`2&d&Mt*nLueLSag-G$3e-U&gE+ zv+4f8q?7iWZQ3bRj2z%E|HM%66h=7Mv5M_x*>cAp^f^sD`LmTp5UfB^1efi6-<Q`r zI?S@&+z7rH-ns$&`^j0N>F)kBQ}U0s^Un`%yQbO;<4@x_I~?toAxsZCeZ10D{v^U& z{5$3CK+FBqCVQM-O^(Hx15937TidklPY5Ib;H4>hIBp~xGO_M-n$yNp^1)i#OvcTW z``_H%u9l47W&M5E9pxcD{%_>`{}Ju^5B~7Ky8`^bU1r&(XFU3luS>i!alGoO<BD>r IM=#&~KY!S_%m4rY diff --git a/lib/matplotlib/tests/baseline_images/test_axes/pcolormesh_datetime_axis.png b/lib/matplotlib/tests/baseline_images/test_axes/pcolormesh_datetime_axis.png index c5901ad07c984ed400032741cfbcd7ce13eff748..e9156247021590b4fac5a0fc34e8ca0faf48f3eb 100644 GIT binary patch literal 26249 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 P8$+0E+Gd!w!6p1ZTV0<A literal 36647 zcmcG$1z44P);_!yF%KY8N()Md(hceclt#K$x;v#zN<b8(*#ZhkcZZ;KNlPQ$NH=`z zVdl&`@65dOe*gbBAJ=uZ`)oE({9>*9zSq4TKLt5SoQtFvQ79D7gZt=*C=?bo3Uylj z{8{)U%IUcc{By?s?gQoX@Z)~oz!(1ig3WymdlU-qG4kK36wzc;6p9-40DVW<C1!Eh z)kV2y_}uT&*2<O3Vjrj<>k)|IFr8AQp(ZZa@uyb5S(%a%<zFb?;ai#ixxm-Fx;KUT zqsYbF3ry6~*!_fI-p^h(#PRhv#zl_qOA6@IEwq$y&a@5f9}3~gFBo{PSIkTgz31oL z9!b2#NdOmvLV2GN(X>8!hq`)>j{4*sHO~M1CJ@t0HfC9QxTQ5v=^;2ZHKiyc^M{Vd zW{*QNYf-+7?!9|h8M+lwxa53dckbNba-3I|l9law6mSY9bg51eh0<5DA=9lNwr>~C zH|t@#c;Q0)NX1j7J9kb+%Fw|#KjV<`D4@}2@bP<kdmn0Qk}mb<`8<61Fr~OSB8W;< zu3c#T58>@0d(xuQC^5mSlBZCp<VXDR@)(hg4oND-2M;bB{{Duite_y)F0#+EG*A$r z>+%bGaQy>|#@#Zfr3A-?-VQh+qo80krRUCL&3qGl3LzJTZ^S5+$)yPf6l#p@GRbUj z2ASj1Ko~BShzuG%T;`k%f6^5v{M4eIk&!W;O{et7Vt?LTEAMExnG)RC739VyzVcGD zUA}tt{;5-^&}fIf4O0QHBcVVl(UE2Tj*gDd&`^WzdO{S6^f5U$>K3l{%goNLr9nnf zQOtB(tTY<!>gtL{hrWILW4z?Tg$o<2^;AW>nso2|3M~gE-~&Q(^2HBJ*eLz9%*>>N z19vHD>BQn<z6@R;-&;Yay`5LT+jb8=I-PJAhI07nN=0{;o~YYmPQ9;hN<zYOU*DRV z8ciWlA)%Q0g@rGLg&$61VQC$>4;ET-nfJ16TXCUK_!*i7{zh#vUp9>%!6jx*F;1lL z)|^2rXlPuMjpFh%GdG_LV6Xi6<A(wb&Dy&8&}XB(67j&z+Y9zld7cABFrB1)HXpkN zLqkIDNQbjImdfF<as+-b|5Rue1}~JNo-szPQ9biTmvT$&$#0g%`o<g@*u8w;UgQ?+ z`+-ldm-Rl26*WFZD>dn|!RR$QV#yc2vps(#j0%L4@O0lG>>E7hnldhzyC6+vS6av( zOW1V4Ga+1RId|36)!Nvg%U(M6_%+*dw_$ww8)M%O{w>XUuf}~nZ!|UB)EuZU$tA5W zPvk~hU+#Dz*XzMdEJ;VR7omClftdWo1z+!`CaEYPR}NUv9c{6KU%ZZw3Nf{Hbyx5e zZEbA>N)r-j{NKE}p{F;hs@LaM`t|EGEJl9*{<$UilrUB4UVu#E6zP`?P2@#Y6B9SN zY@2Vp*3sISF~2amo<ZZs(72l`Ry}%$3x8Mginw6Eb7?@WqA1P9z#H>3+HuyMH{*-5 zQC@2Se|*lK^pxwXQw&rvvN1qy-gi1uj`DO+WMHRx82`92WBb>Z!-dQKi4B(%CeJ*( zo5O#j13TfqXu_n;OjBy?=uI?QSsWcdd4R9YKx~}2$v5A6>y+(7M@MeiSb?x0N?|FC z$JVu*H~Wt}uJPGW@9ymU$kDIY?4}fSdUF<!lEwUQ>skMsPIiofnwn(MsHfo4U{NrS z#ZNK)y8MGu9wsJ#*pem_b%DxiYQ|3w8bWA8qobvjl4L?k8c`@p?7wa#dZC@M7x|70 zs!=?aq*IfV3UYEmOUBjJ)m+AH<TNyz#WvTGg*Dw0c`q_DQdwJDW^Qhdkc32XeY&;F zZ2c69%f}XW4BWu;O$YDIg}$!6&4ndTVlp!G{cn*UK1ei&vnTJa&vXqGnEUxM+`b)B zXwiT7_U+qNgO%4fjf$5Fgc-X`N+itERFRinArEpQ`{aWL%6I#1XG&acIj!DCg$vOt znvLXNJ9@Zo^yz+}dCMXTueE!<{3*QWVLygbN=u{UV)!7E-Qjxl74?wt^Y9E6zuilT zAo2%3cvQWMHOi<Tyw+sK=z7J3a}B!zKeC91q^e6to|9w;5i-+u@Wv;8Z=%V<FFWs{ z@YOa)jD}Qd)X(tZ$g=5G4|Zi<g<Dz8c!qZ!Yl@x<+)$^FP-BhQ#z<8Q<ZzUVp_zTl zjmS6AJ7>QKK7a8-OI!N_3KjH??;`4>Xz_W9lSuuknwOf=WU^su^56^B7p5!qe&GUD zy5sDbii%HT4_b6z$er)=_mq`KbKTu3vrmX;vJ;m#ylS&b|4Zgq*1n(bR$7X1dV*># zkC(;`)go!3cWfys*eH|@wu~4YA7Y2Dl}_LoH+8`iLuIC-%oajc;yzX>mbbna8Ff?G zg1(F36jQ5{+$>i5wy%1==as7F%lZ4i2QGGqkPcC+I%mwzI6PkxWW0K=>MNuA|C(C< zP1gArzf!&1hf_Uu&(AkSvs~HXrXCGV4z>=NU*@d&LwpVTN`Wj!YPsUA(~bn0fhrwi z3{3cG3ru^>*XKKnWQsp1hhEHLk^MCPqipN#qj>+qY2Wa>(Psqj1U?!vY;>%du>7c? zp;)9|Ek;A&*F$_h^CMe%Ldh7_*Riim@uf!|URP3;(Df4B)(_73RubUr+!6jRGhWYr z8Nc!rBqaFpyY<&MrvIro2l*o?n=m&^Gv?>D=FGLyUzD@kZcu7CG0GJerWmK&SYCG| z&aAjU{L(z}jI$k|4sqKbbJ48YWQtn!+R`}VpUun;u@~w*nB%T>h@lO~H}~lFn$xc^ zr}^QhrCnwwpya(7T$FTrb(Moh*CK|EkaFd_=d}dK>gOJ;w<Ijw7l*eK6k=0vt0X+C zcCNldgm(D;Ir<6T&e=03xBIF3%zx;O)NE<IQGbWoYUjZDRn1lGys4~NX|#jlfeqs< zO=Xm;viFWeK&Fu#nvkyep|!975#cy<aRL|q<~19sVxIhJ8tpWHlkkU}cHsmaB1D^| zs_g3Yd`JG2OkvL*6PQyjWtzx|283z&-^IrAyC~=vSnx~4PK^r>U%Nxd`@1UFHf^3l zthHKBX`C{HGQEe)AB5@5H_~5bUiouk|HXXT;P`qE4QUIw@7xLt5AWJpo%jN9#7T6t z;wdi#z5JAbz`)OgR%NoiMyF9OEN>D~sJd4dd<pFA?M*jkJCq+jeDc&{sws^1$fk0$ zS8Jn9a3w#5O2nP-$mX<nJc1TbGGZ}fGc%H1$@0mHi4uyImaK=%&Q<2?B^7R)2};R} zD@}<E{$;%QsIQ5Ce*Z_B8oOqtJ3l_Y$7(GJg~(_-UKt7MBO`Kp?*NEw+1YP%^YXrw zmuoM`o<jYWLa@}vIfBc){Pxp-)YjK`ja9#36cC7_laG_x-QCr+CPsPpeMO>={EpQi z&TCu>Dd`U^@z?LYe%o)6)Gm4)qw96(h(NeR$>4{|%F5@mvcr6zM^(*x9hbbAov-?2 zhVLk=dY42yGThhK|GRWETkVBD;tfK*R&9qcT^d+fVQyI1YV$W~)`)ZzOK+>IW3Dr) zDsC&~_?Jejt?1alF_A4i)HmdQ9{J9cGsr*amD$<5rxNs&XBB8P=>?2*ucXr^BrxRU z@T5mOr<<^8(npu1Whv;~9TSfi5O+AhTiRhX-{L+pPnB8h!<Bt>di-p#=uz>omwY70 ztG(?Nc|75b%ZCek#|e;9oPS^BB~auovZO*?{r09h@Hk4q&d+30YrrCy6Tw^b5h0yB zSzl;((X=FHx%{Qil(KI`3P0sR5^DTCpZpQXTUjq5dx=rqIu-K0zTSsW{Ca?R?Hnlz zb@uh2pHIHP6QR!Qm!Xw-^TSOEg(^Qmk{(~VspXoQni2*EGzDzO0Shnv%z444XH`yP zvpiJdu(hbMw`A=l?L6#AvN_k~LrO|&vcI*oQB-vpDB!$|BvDN(5tR2dTqx=)866y~ zq2Xh0F2|skv7w=&swy!)erptW!1L$NXTSRqa6R3!C@Zy{sOwnBs*;NpaC}!<fkMTd zg(U8s^Z4}mr_Ro;70Ii_#1bVXB?z)6Vbew~8Udvw^qyp@D3owDtcyn$5#GfQ+}(v> z@t9X!L!opLK<zE^i^kz3NW48uaQUxqk{``URQM0TE<a0@L&Rh@DEg}0l8z`cT)Df> zpUUi&;&}4MmuTN(E36dN6t=hXFF8FLS+vunKDwCJymkLI;44<`LBvS@AT%w3cz{~q z=wh$V7D-wfA@h5Yk<@GE_iAycYi{M(^4z++c(vCe{r#tB?yu&}^iRK>cYDLftV}}6 zRGjqor_o)4|9=8lht#Z@Z)Rp%QsI5^>2@Zw_JD9zAIVF7y7vjST4Q_}Zi%J$$|n+e zwmxTG;pz3qd!<r&y{6y-mfWQtM?V&Vw(l1!mrUPk)AMchp3i*ACScX1dqG$#JII$o zCSArMrs6F%&&cj;mwKsL$LCnDO?0^Z0+V~5J#p0W(Y~C@*%RqEo2$UeRl`etGTi@; z&HanK`ae@Y93<s-gt_$ermBlqaHyB7ZuwWD(b!C8-&DFUW-dyjm8bi}i?=Ki#-u8k zM0!mWa-v)_{BKtFbgPEAh-O|snEK!(%pBvo_k<N+=SpT@kz2Juhpj?(roi2FIfq|H z9Yn3-^=w4?l-P|KWiqyR9gPXTueDr%qW?+5#)3$vqg={HeEnjz=!XQy&xALXouk+Y zI=1f?{5U`AeR8MXToM22H=aO_i=~jYN>nh#^yEdYxit2I%y<Z4lA`5Xe@!Au7kr)T z%6)Igm}4}^E;DFrNsbrv5YlKrjjVZPF3l*F&8Er687$>D`_4u<U&7%)g>&oTWeQ&L z`Ya6g0vGAJLFvhTmIVZ672uz`>!|WvU;ouuF#`m&4^a%NDa$O8zOzr`HBDYxi=Et~ z80iT#L!rb-*>`h0^CqXKJAZxifjAyh7fdDZ0lafH=Jo5dniX!`6nr+`u*ps4yT61+ zMWt5vLjIxrcloFHpE$R!`>MFxbfocY$xPh)ihcn1SSR3~kcEC{cei6>uFJI6pJ=0r zIV*p+{HFAWADKF3Cc~wU`OYi4O>J#SK2)9&#H^a=b9j`Y#kCMtPPhTY-j})+ZXIh= z&5Xjrv1k9d`eS<i1G}DFpN=!du-igLVSSv}k?Y0t=RXoLt2X>pMxla{V2V(I9LR!Q z5TQ*Ec2=E&B_$=59zMJRDuHAoD;DZE?nxTMA-GJ^+}un{lkoE8OJY&!`}eaC$x$dx zgieT!A_wvJzeq!K@sfFoosx?SUr%43lBH$FV(V$tZ_>XU!MWP*wrEwIju}t1)<Mf& z#3sMxpcHHPbBeuDujP+DO!G`8Iaf+|?heieab*N`p3TY4ea%)A;y7IEY^Q?Gw#k^C zFGG(r|Gt7Bc}DFXn_c#@4|n~n4|l&)aL<RH^M*~IhWVI&&b_L?(@|=dlk0yzN1$U> z)j`~T^<LzCi+G#eGkD+T{Y~OaF>byYCY~h$WB$`3PaJPPpD+!9w?XMIJ<VDl3lvQI z4(mG_l2&YY;LC_<v+xw=aFURa6zymzD&mVvNW9CkmZY6*MR&JulAS}n<}j#xM9QI` zJ*-a>texN$=q{beYWD}o7rzPpI3*sAzX@>)jtq+V94uLx(m_0jC0A{i^9<|UyWn6v z3PGpz+V&s{L5UaV@T@+A=9P}*ms!X!Y{W!F;-HM=+fGQNrlsWxdrmgsH?_8YW>iWt zDRzWe$3rqf<u6z@hLC{(zr^y{f+*p%`14LUyB-})LW%v%I}C=3RlE2toop1^e!3;T zrA3B`jV)<o!@)lwAklSw+O%XBR5gSEA*qIsk(TxaWJ!zT*sw5h4Gj%68j&(CUb>W+ zpU;IrpH_@0rZ-auv=u);zkI`HVt+rs4udifY_Lz1sBdS!KluDPXc+eftU*vF#OdW? zK7Ra2O?vAQiqU_3Is?{|JF*(yz<T1nh>M%_>C=r2UM$pCa|C7mpwfPcd$K1xADuq^ z4{yduFAtk2C~9RS6lzBg!0eV{YH1noi)U2%YjSrx1dvvjHjjt&5OvfPh&tksWU?+@ zxv5J=t!tjZ7higJo+U;@%C)9oPYvL!+eg2k3V=Cd#dAM}u{5uE_;hs8Y%f0|PA53* zX{OX;#(LG{FO_vUmD!JojAUY5|JA&I%Kel~@9|gjY-w)yP{1Jng3fQ${0CwB_0s3; zA<mfzlq{;MsZSo*WvFuY&8sn&j$6I*m+2r1_XCXQlb0Ky^WD76KLbJR{k1ogNr<Q` z6U|mjlmyXu5lj&NZ!6dwBtFT>oxhqRkh7c-H0wW|;MHW1Wy0n*8_;{mqG~ip$fT^M z4m6X#Fu~P8+fO03M7Nd7i285&4gcSytpB55A^DA4S~nnbT>6vMO^0d~SHJr%8f#~B zdLF_Xadn!9MNuWQQe|j#0h5_wRyTZW%7D8HBL^uyP5qg$oCUU1hX4&tlahV;y#;i= zUdO6ZzMR99W3`Ab#dXzWBl63KD!xH^z(sQF)jB*#Z^BLSvok5Aq_arbu(Xy?tDfWe zbF%((oa)a>U+r?k`l>Ro(yf}7lA)lukfoUM@%7bJ&G-IG8AR-#o0-fYw<RbWL@9R@ zr=+OlwQ6>!HXb|>&sg>gN=$G}(6=sm6l;O=#IT2{PP0RYNkG-Vw~<os-p!d;(ruUC z$2iMn<68X2Ie)Sh?!UP3=NqN$p|1uU9iZK49rkyBQDPJk(On}xg>oT5a?u`eA+pJt z86`J2w=~hgJYziIJtzkh5-~gheoA26*DlD$3H2}E78PBzL!l)9viaVOTTM<(ybujV zp_mZ864{Q+5{{0J4hK870`}8ydZSOH#==fw6doP5)dnE@sIxevXoNF?mfKmjQkk|% z2bV!~av3jH3Wlk<xI(8}qa}HVY_Mu;Ydad>)0;NFyZINnDoXfiVV%}_)L8$?F~e(G z(l;fpK5H~c01l*JV{<E3#G|xlhWxMc5L(!eA*Em5=V)6`3mr~zlg3{`F-;}YBqM4` zB}X8O&QgU@JzLJ9R)@xs**$Hy$3HV6tx(lLkAI-IoE!K?Dl;w9PgxL|k|rk&s&Rh2 z-mh2ekYgX%MF(5<Phd>q77riX@WNcYGR)mtmY;~OXY3Gg4z_IdvoijO)y|*yde$P( zHox*s!({A4N-~Jk@4mwwg)%D5W)zLkyl+H<uDK+%Z$vXsXWoSp%gT)D*vVq-!cPdK zE$F92#?9M7*q96G(&YILrxkKZVeHIPAq{TyBmuPvs~=D(7kXseM(_wOKY%c70-9ZS zh8FMqP)S~IG!|;i@nn>c4D#X}mHXSw;_-{5!fsrksdmD!&ar##UWyg<iqn0%#GS#5 zhx$5kGOg?~Vnfu_)ZU0{pPG?TAWTd}C7)Hf$0WS*;~uHiHI%pW2?x~!u2G$9*gTu% zb;vvgs|Q4Caliskp3v;>jJ@H7Wpc78kmKE8VDJTq@p01#E}HdZvR?+j`$set^ZYXz z4wG4$O1D|hEA*gN7L8J?C-BcSqgT2eQ%-&<nzxEH#giVCE32p}=QQGGd>SO~Q1KF1 zyGQr1FEAb_VIpKv@Ad2seQ9jMxerl?53j4!3rJilRCI_T%wS$6Nh7%V^s{rnV*!OI z_JGenqq)Dqy8n-FL^F6%+MjjBGoq{%;u8w*h+7ss(h2i#xlB}GwgtdP(~GE}`njXo z08`WhG~6(=@?!Euq7u3eZKB8@xZD#dG6{o>06$0kgRsqxGJTEwDV1`AA9rj$7-=)B zUP>oE6l8u{)qTGA8PUHHMgH$(uk0(ORwg;A#RJ-`suZeu9K})J#M897(M1|*ho6#E zaaae^=r|?CGe*8#YcGE`tIodvbFENc>g7n0(#n$HTxZ5D8h5OJOvV44od54WY0zD# z6ngkVq5wrbik-nL=7X-k^9F+&xiFEU`7eStqq>#D#;l^-@!|HDPoG{QdP$yfds24x ztqk5v03rSov)r-9>8z^`c>>A#->GKl$|4Zt&6__+xy=ZnAjX^Ixl-4+_37`53nTZU zZIxf*@3E}CotcZgDqnE{Vw=sc8f>@U)#n&lSp$K=iwin0e>&XXR`T=|5kA_Pu#(}a zLFs?jrY%rOgO?sb6W$>ITX!+ylxsr51QTC)tIvGL8F8JVNd599zBYj5Jw|Ur!|K6< z2VDAfe`uCDv8pI5o0Pu-9EbB~R6hH3d-?P1tO==zd-3oD0iDdp(o%uFy@f390S**u z#Tx<IRRFYKl$Q%h-M??LTD+M9Z%fF|pvDYOA_K|t^Qp5$L`0Afl8J+Te0&ByN22EE z=Z}v>J1()9-#;4X(=;Gu?YnQ;!vrsu<a(ahtcBh?O{AQs-O!l4-rmJ&IPF@`H{S@S z!4ee}<%n)&r7RLL62_F292^`RA5{gbe9D46CmSiz%>7WSpb1{c>Z8rGDpcQFNSX-# z*BB^S#U%$P#{B^>&lkkH@$qruU=kvtez+n8OBR?B-Mn!FLVUJX5kBh87bps>t*^si z%Pz>8k|5|=d4wa#jRRuMqu*oI8%O&qO0u#z*x1<pl%h_H5lb@}egI)3IgO?IB~Z86 ztarZS!a%xkSYMSCzQ%Uf`2|EoB^@0K%b(fR%d2=IJKm*^3lfMbWYP?(5EcSg4<ANE z7L1&)Ff}px2!v0`*7kPA;nrYxk+q)NL?G|%ir2AV#nIlv#@GuyvkE_8YJZz7x@37w zQrU8808*7jqn|x{w(*@n{>OT|Xx8cnNPy@55)&`@Mo&#oKZF|U=F(s|4J|E2>h0*( z$%O^!n>TL~0>t-Ecw77AIu+G+?CoUnqz=2lZq*Frh1K3Lr*H+TKn6U~U-YUx2`MR; z3%43aFcN$cZ+(R1+q?Jq=D%b+52u4L%4OEg;6q2%BBSSZ$SwT)D;9DG^P^RwpOcf{ zHyY4TQBmcpv#^bd{C(}vERtDzeQVf#y*1x`*Df_H%UOEgU`3vmoVMX!T(a@J2l=MU zAC&Q_ss1GFx-D4ea3@7P_I@89tsJjG##2`$teglEjEL-ilH=m>-!D95SfpacG{jG6 z($y_#q+Ze5`+~2J%lwyQ_@g*pYf2JA!dsm7FedF0w_jkLKF!C@E>H4z3#y<cOx$UI zBQ9B-?qo;0QAt*u>OHlJ3JVLHTv?HaLg;5nDvwZK(iIc|j3L(9KRyCSeyFWYew!0m zM!|m_E6}ii>Q66#*1tOL>+U(+pIpagS^4>)twwoERjo#x$2$|jLY@aMl~W(Ic7To- zYLw3QJ^%Zi)5D=g+`rWIG>$m(Z-XTf;eB6OSGR4j$hzpzSu3^_D#At9qitWld`V}x z7<~2ib1W<@*Pq#s-64bpw{vM`h76>tATNfQEV+Zp+d`}yAwEJIiV9ee{x4p<xby5B z<yb_-Roz^J3!Hhwi)CNzXWCXL8{hNu^GEVp4tyVVU&lE<T=AN*8ZKS^nWMj3^Xd|1 zv}yjIK}n@qTf?A8e#KS7gm$f5u${s3%*><HG}W*(TpQkAC#R%rgDQGVL_`D3u)%a8 zo-dWxLC12{!u-4oKs31O6+j-tni+prafVeBu(&lR+<x8?9p^lA?Q`ImP&(GQ5rD)K zu@p+-rd>(0`H!kkgKkQGIC^|Yg|8TWX?SCyFW9%iiOS5&%d2$UpV`-Uc7LVHx=8i! z%e<P?O*Ca5Zta|R$wFp^T_sFu&v&|={bbzRzXo;zS17Hwv}kK+G(wql0!Bu}W(>v2 z$;-u+pJM5jnNa)W7nGbUkB|2G+1N5`Wpoz)F3A7$p?!g@il?Tgy3Dl2mK(K_9<4RA z4<4p2gMd7ilEM%t;ArNPrKP6_I{X2rC>SJQK$4S_?NwBWv{;B`IST$-13f8(ekjRp zu+lR${G7R-&nK}_DIYR3AVj;NICP<T6N2e8rDVBP%c9{rNFl~B0;+_syf)MHRv}PF z?1o1=c418}m#s_#Q`XHh!r|m~+DmF`Zr&Ys9-R_BoRc4_^76vP!I=^dAU2IUnP8%Q z^-<)Mn3452KO`nyo#PY-&S&~u@Rj1`=5}AmD6#|C=C$+7M_XOJ0V=`d*RD0f59@N= zqr-XY(Mpe@L`gh3DXDQ70OG8t^WBVbP*AR~t6Li?vELoEt|~Z8&&_@4W_0h~3pz*_ zB>PwQ)!9#O62h>2tbj_9Ys*?Ne#MH?WPGsO9-rBb2=A19>roNh3m1NY!t_(P@=5JQ z<bObi7$D9wUG}4o8}s%?9RX=*Y6&a~Y;J3th74z9RnC0R)wM+O?=sWh_80zuuh2>x zrxaPW@U2t$28aIE+snhq!W^lHjwCalX=#BtdQdNV6asO?r6*OzNe^4oxC>@<0)&O- zj>L0bki!q6M-N_029g>+&6sZQqdBQxGjHWo+8dsPs>c|b_OA7a%~8qfLzpXXSVwSO zmF~N_mPr-`$SvXGP8-L$zK&dK=Wl6kox1bl?8$y>iR8?v+=5-Fp-2cb`t92{%RIM# zh_NTT1#h3wH7>3`{aEDUz}GXMu#oFZ#&||a22-};<Kqk2j-yA)UGs+9&*6}Mha5Eq zA@24%d)^GFj-E>eeLtbt!D}_t&{9Rt^6J&A13>5jApf=aC;aY`7qyK3Wgha6t0Eg# z;GC<(Y~n`>8L@%Y9yLAWlKHP+f3{LQfg302%y#bFIeP~OE-FE%maTI7IG5){;=c@= zKNPqGu2k*^5nQ?AvbQnk6ubh4pEBo_HvRgbDU9b{<JQjdaM@?$-o8HbPRLa`!8yU3 z?~tGXh9x!k!_B@0o?wlm+X>qq{z84zw->5{IhrXXt10QIE%~7Gf-JG$zrML19~~Cf ziyr*G7v%3h4s7PfmOAhaNePKHUwqmf&^R9%6?#~zYiTtjn;j;Tjg_^a=ip$y-5tp2 zpcm|V8z-m24Vk?D^alV$YDMZqdZm#_>b&^#w$6;H?VDK-3=N(~cUQfl$pwP9s_HDn zx&S+ZDTSlj<Aj@As@!Y0Az$0u*>UJO_NZu|_%5cx^^C+7UD{&!3;S}~(yhx^B`7(K zWTHuUG}yD>#ePxIg4>No{5L0o5LC_u0r>!Z^a{-IY$A>2nWe|4J6}WXQp92QGUu@! zZhS#k5Gi+4VS-Utko*2pQC<QAaufE3hBrBRN3=@K`!WyqM~_EnIsePn^Up!{BP-M^ zl_By8yKRiYT-9tvY<f2|HvW3LT;c=s_W0ZDRq#)hK$sD7`TYnob-tS6e<8hp-cNUM z;eesBv8|6EKQ6bMk}{fBZNKggpl1harISF9J%7C-DgOA;o0T}=cb{iMWbX_p*;4J6 zZq65s+w&Y$GLwx{Te+iKYi6=j=jwa+Gn<<XwknT4K{7KNoUtGiUjt9q_kw}~iyZY& zn`8mCHGr6=-_y$v49qXf7~7X~%LjW*cYc<R!C=}UqZK-pa<&g1sRHic=J+Nn#>C8A z0y+88rAx7?c}{!IqaNX~#TS<wer(KSFfuWXBcC`g4cugXAGr$!;&RA1V22V~87@=P zT!xsl)68Bqi6?sSmYIpkBG{ShYDyz31H)KM40&67yEX5(u*jBy4SFNXz0i<7f;=Y= zDdGjjOKnFX#Fl!112ICb@2ZaW%o$z9#l;WWy^h|4X7Yg1wYQ~D_h}%#OvG2D(D}{z zr(&Lbd#qqRd<%CfrS%@h)+4Uvs0MaA*2uS81aHU3pB$}Yj$1&=B_|~O4&i?W*nr@n z08|u(3>q$L%~UzeUGV~^T{#4rGOQZ6Y;G>D-?YI(HL$snjFBuC`|e$2SXk{hAH12D zFV9rYB}MOm&|<&mWZyPTOhU4LiM{+QqVk`^#?DD#aBt=A`?*}d6f^{ad|OM)B$T(| z<Doob`8ZLp$}WP_#)EsX?#+8K5gKloz3r-FOW&jKE!vuzO##HL??#dhbguUQ`0<sD z*J|<{rHi-M!K&mh3&}xaj>w(e8O#hUj;+<zUvJ-Dj^i{A>N@Q0C{Img8Y#A=O-@S6 zO<)kR9uXR(A6Rb4Q)kiE(P>@i%bMx#R^Hm&ETD*PX{%7Q<H{>8{>ihvySKOY_WHe( zgTfJt@^dOH<B%{1V>8Ri)<OpIc<9lS9Q9%#dl=X0Ym~xn`E2`d7HtW;IlrHoga|qg zCV;@FTZ@fVdp%h@P*9mTg>^O?w%CAq7XN`nYEsf`sAaf7iPwTB+O<B2qHrCLlY>Ju z{imrgb&@=$ZFO~(oSeJ`Tu;vPfzf%9EiJ&prpCq|9ra{+)&h03;ghypP7D@ls(89R zJ$ih!UH)|2s;#N%2}Fst$wu5NS9=~_PR{pFH|J~DXWD1L4QcD<Ccx}p1ADO`_H;*w z_oPLV>Y<-Tw20xSqwndmn0Ip!Wu}2t!n6nh9gOd@$@hRzh&5{0%!<rY<$9YSKQnWH zacfj9tb*s*m&iq8+e3u%`dc9CPl6RO+{43zpOMk8YHyyosIc9FXB{f!J0nk541u*# z^4s089xe?tZi{I|u6k|FF5H-dQxu57P_jIgC!hjXFh>*y*v_;>>T6AW4f7!MsB?7H z+#oUX*uM5#t`y@P`r!i-rb{3Zl|TM=c5tG<zu)~E4zJC_hwr{+Ij&7UK=25H!Vz`= zIgFf&s(qz=U9QaWaBp*>3UH~=<C-&+0uBsb5cRB@^VL}ne%!;e&C;#V{DZE|J!-;Y z8FWF&oSy5gyi1f`YmM~C*(^9Bwc}t$HISqWGd!@oT6HkRPJa3Fk0;k@)C}D2dOi8j zm;9z16Hzdyl-u3cx2_~F48vptqdw};B}-00(W+HsWoR@b!te0O11@jU^Kj1=aKlni z7|ioJAn4usv@9o6U0q#Dc`(ZniJRJs3hvG2CRSA;rVEItJ3B5g$GO6uqaNF~GBR&0 z15c|NSq<dFcXOIyUB`rkRQo6V%n1L;gXd9K;2{wJdwvD>ymUCh+a&8Za&bZk+$y&m z<SE0zhPIKAIJ>{UFX&$MGFW8K7tR1k2-!uV2fy%~B3sWf!QA%r^awdEs(a4FI`4eL z6Ey(ZrVD<)@UXCgpQ^^38A~Q{kufnX5JL+G&%st5pNV@KB)Y%I$;QTJRiG-noFE<m z6l)|${~TxDQq4A0d*trlAA@@?8kCc?k6xYt8;RYcM<17D%^V#ImW&~U^1?!ebe}n2 z$kQ6ygNd5q@n{+LNHxt&Kk6>e$lX&~x9m-jFHu^rd>a|r=(Y2Wsu=cEk>y|=xEjX6 z;ZU%9P?+B%VqQ_;flRuV_B|zl%-~!66>VMF|I3Ll${FMudl>#*fGPz&s%mQMNwU#= z^z`*sk2ykw%#*lR07o6nh#r^JI+er9PiOF7dT~l}D=pD7zp`W>n1AGMIQCC}fB#}2 zKmh)-w2Fcvb-E;nhmE6VO3K=~+M@-XGY9wIaLY@0nU07UZEr_TFNF*ne-)fFJKZ_Z zXA8s;VO?c{cQo*_=`rr_z_;84us-iz)-kw(?LlcCb)AWI2hB&zXuV4>ic%Y3G&vbr zGqRFkYKlhOm?7Ep{0i{VYBreWX&+=^Wc-CsEAboL9+8o|pTl*>VMc>|eaFDd3s?}6 zoz>uUA?_nd`wYwB?8jIz&Rz!-RF+wh@85p|9Z1N2T4tosGJ45;WO_d(Q9GcvbDmKG z0HL9to}O;@qi0LbW*#HeFV2+!`v;C@vOv;iz)>`UfokCJ0A`@cvWdbYHN#_Z8JVbF zH|MS7Ub~E;;pCVKD+y(-<QI?`2H7qeS_xGNfLII4fTNMq0iN6Xmd1M2HrB!%NAGcF zO3E0R!)?G|(hh|^08Wpc2mBKE^D@d;s*dB{zklyq^YQ}hNInQ~fNo*4B5O8;R&p&| z&vVXUKSGOYA=+%Ou63_&j_P<v(nlkxu%pyk*L8|$Ykhq}`03V9N^297vH5v3BscHx z?yjn+>GULICJHUAN3AG1Z$?hL_8!h;igc;QmF>x_mrrXC>qTe<O}H&^s^-=y+OX@$ zhykZ`1>3nh?29$;Q&<QrJ*Xwob5M7Nthbt?m`E;?yfI!I5EC73-mG2WR-iKtHt?mm zQAlEtmxUZ=6#!jxa&meBLM10At^?6<n!W1ao#^f)fe&XS*|`~R^WOYuLDw|{N-mSj zRlC#CNH}A!*tnusZ1W63i%>m%EUst~u#vxM>T`b?W}W}WjhDbFYPUzdMC<G8?fWuy zb|LE+iYpewEFuZ$w*4TMLKn<z4Wi3r=~azv&3W2GSU`5Uh}V&O00t?}9v&X<hN<c1 zRK(F*W@Kf}KrMI;)@Y}Zm3j9Dy`(+J64LvjwEI6P4jV%XlRkeg$rruND@R>q(O(lR zymeJR;?^^-?XuBTs46d-4Rs`^r(G)3GS`3HHPKy))5}`~X>a2DcQhq9$(Kq=B}d5B z2aQ{!MLgW1C!U8j8jMR)y1t~Pr7eNAj*JzoUWAuK^H`ek4n~#(T!C#D%MU(x{U=ZO zphB$YxohY-86wHY#unuB$F(Q>My(;E7+U>`O~>@(r$+~_km{$B<J?k*$wPQNk9KFs z2?)Nym=}8NH?$l~1dG~1e*+#Vmv3T1f(uM6?vw@#F@l$2V`mP_@9Xp!leg+S$zp78 zw1;`rMQ)WORH<V|NBAl|_MO7FB7vM8ZFI@+hDcJHI+8nX^6B3+C&%V@xP3~a(Bj%Q z2o3bIQQr~kne#$#Ai~P5<s!5we}G026B_!xYPZ!oqQ7MQ3M=s?cAe7vZ!$(mibV36 z$NtuB`w8CjctXEX=gywB1MJ0j>(*OX01FBT6TWAu1N3}<X9v>Yl~I?8KoBEL_rD(j z^p5%Pq0ZCOvrzu+px{TrCWH)GwzEQz0FU*$wb#DZ@<0KzC{$duA3m%>;t{ZvWsvBc zmxua$M}q7`_hxD3WMn44eia*}ik@zF1&d)n&_0AB4NmlqPJvXw$HVghlx-&;x&E9& zN3et}O&3a7dfCzSg?Xe_cvu`_<v1;AhHoct4VbmEva&jwdX>7Y(jcP6-Mgoe!9e&W zT%`~guLsG>_x9Y1HW)R?uTe!=k#U~jNN{BrzN(Dr9|_lWYy4GSQ*#$V6Od%`w3U^= z8@I<zK@-Ru$Y0S`rH%1}&jsG8DJXp99d;m)j}waAUKzFCww$U9B(t0;=RJH`$lCU1 zQ`Q_BD-hvJ$gn9Cmy_Hw(XmrYS=pfM(ulR^IvFzYh*05PPvQLg%{9&)FiAqT{|cf7 z?v%&DYCUeSbLK2(+hj>Xdw#evg*n&}bb5_rOsVqrjygy9tSt4wmjT0<$Tr6b<X8ws zRJC4l;YLP5nbMaz&fI#%x8D}%sR6(siWk(>@`Rmsem{=mv!#JKUi-kRr5S6AXnu<; zEA7@5n;(WJf`(M8Lu3}JpLitZdmVcM^_*hWD*O#3+H(I)U*smCKvRJyjVBm`;3x@8 z8&{bZcq;bh(~#t(TQP96M61vuXJ2XqNej$b<?mpbeQ&AyL*jU+UKBF)5hT0*$J2Vp zdup)R0HE&pGiQ$Z5zr41lbFpz-uwk|-(E`UA_nrBxRw_<DA&OPS(2LC6fZAF-fAf) z>t)BY4XlT4PASL;lq&zO&Q9%KOw4e7=B#{6pfm2Jix<bM4wtM8>qU0Pu;45!B{P&- zR8EeVceVXF*>iJOfRTXIV|+9nZEYcH?sgb3Ahh5KvAk{Xr^ohiy`rKb#mN2Y5TS(y z>;BwVFsP<#)`$I@eR}N>!L)UCM}DoyZ>&f|8w5nRO$1n0x~x7ayVf?TQSb7;@jFD! zoZ*@RwJhD3ckgOeDz+&(IqB)>)*#tOmK^$(<kcq(h|qFWrp|E&O==8o%q3$|mpK!> zMA7>JoRJ{(7nXUz^ic#RX6S@Bv5XjtRh4_5&b1mAfE<)lF_-IflvQ;U<%2_32kEr% zQdX23oP>{>`m2-I{JVEoM)FMwvb0M&mzkwHS`bAelC0|PA9#2(>FF$<v++JZ+uMV) zN~TFYVTtvRj$)7u=_8_Id&Bv=FFv9%Xzka0`{oM8hr%u1!wCeHWD=U$N3TqPr!%fT zkj&UTd{cI(H$w~3;-Gh5FSQz|zaSIhjoQ{zxQ~CopbOCm(mu0ldbXj~xdO1BdO}p_ z@9PVPTx3}#Xg-b5ykEb5;l@f$-M7+$Xm4z<(~(TxXyN9$GT)P?(}_WEA+n9iCcV)# z@2LCxiShA8Hm(9WzRap4x60`#a|@5}VIER+Auy%l*>I=>(c^VdZBR|3d99~O^xSiX ztvk{6Bh%JDNm$gs`X@NJ1Q<)MLDR}WLZ)d|wmJ*K`R%~36&@OzA5A|XVZNW9yuuax zJ++nW_LG;aSwP9E4%VcPpaimWxIJ1_VGE>x2<i)R^77W(5tk`e(ED$qR#iT=r!*4G zahh!>-}kaLA~&{LlsDUZLpxyt891O%fwRrq)AjJoB#?3g$fL;$>Z3Qffarn-+ztV$ z9LjCPX|`>ELeAlmH>jwnxQ~53bu_%<Sq}v0<plzPa^IgFEr26V)~j<Q(oY7n`!15q znmGc3dQMIb?x<UP$Pgl{fq-3{p8kgF>Edlz`Bbix_+@>O+~&m2D<iQW_h^48v-x#* z@YS=E)LmP<dUUvNne{kF-KFl$wV}__;i{vdT!uO7fKh$gWB9*;SSdv==){6|_14!y z+!vd!ErB!bBhYR~e&tFHd*x2TuzBD$&bnn>xy%O3z^J21i)Glq{9wsY!Pq%bAyqG{ z{*)w9{;u96=P&q6^1VyEkunEh@Uwy416p#K;I-B`;pnXLHK{VusLXjK4t_ymj=`!N z$ibwNXtWJ9?d|XF*-1(HFKtiym-j9cMu2pKhzVp?#qr<FlVe&rp;X7F3XOH_h{6U5 zX|VN5tA*L_+7tw(V+c4omceOjOiWCg83-bi7d;HUckiC1v$=V|tPA~sv35xPq6-GU zm0*d}?8x(0z$S??$6%B?UnkOs!^}PL$830?yqMF<NGsF~guoRxs4u&+V+TRo1{5_5 zj0`6)r452@tcLhJK?Ov(9E{JC?XZM_7ElcBfovg~9k4WZjok0cX%YadkwwZo;_~gY z<<dw+*>GwiR6QR7{*{xJok9dxB#$FWb=^-VY|w$q8VH!azCOa<reT^8lvMMcPWFkH z*D+6fv{mqCu=S%y)S{c+N`;~VvgeQvv @G-RhkTvtW*BSNtuyF7Act75i`&KpTp z%@^g5GPlfP-VaR#k!uK&dg}gr+7j6>OY#)4M)t#weXE}yypQNVYV{G^3l;Qx^QtA# z+Kyefya7^)zPKVE4NXmaC393CpiMB|O~ZnCj^L;3*RPj*9=a7xtEj530UmYT`TdI= zAHNy{E=(U+GY$wxtqO#%^xWod`s8*O=0G<ltk2eaumAXk@Ks&ixNjxBeKrQ=`ot@o z39bnq60&h782m<k;stgyj@Tv6wl|3xvT@oS#$tL97;9P(;l~D`$}YqwBcuI*=-w>7 z_R7jiCu?OpJ3EV+J4{j&QXgg685}2{&`WZJvuf3~SZvQl4A|FEG+Men-hm-?f%W1J zg0o#Xo6Zho2B%rv$229qyz$V)7Xum;)H#tw4|@`acj(c+LH)JfLlpo3oW^aF5fKr@ zn3ud2^vA$MU1op8BX^6~en6}roRg8Xi?$Q@vg7L8J6lq)o*>TOscKH9-Gd=-EI86l zOHI`t!K8yLk)MvP&S~{CcNc|+)LG-Yy9@0><oq>iI*ux7Bm+(kWzxoLEk>Le@Hzq* zX+;i?z%es3v$SN{l2i|R`MAmb<+66GaRgxbtfM(HJX!?U%AqJ^)e2`BN7hZT?F3|D zU?k<ktf>^gT3qVWGu!#1ogwI}c+~X^scl>{UhCc>32A|P5`5BOo6lI_adx9Vjh?#q znJXCmVNU@t`{snX0?WSp#aW#3)rtDSd1!O2N8}Ia{~N$z+1%WusEo9y%bTkaH1jL$ zNzKjej2C>J(r7s{0t5CNN?H^mJ!!OHEtmu~XcekG!^<VbbnhGIF70+tf}u*aSoBMy zV?B*b(6WBV(I>jT9!Q+4!O)U%&~J<>*cVdUW>iz+6oKvTGt(Mv?0m;s(nF1F1q=W} z9(xXyyjJAaL&Y6VOd-tm!%42tb0P%Y!*UNE`~vmzr&Cl4ZGF(d?V|GXA*-d+&eIhz zawojB*fudEFu@teZc?3a4i+DbD&ai*3#^uSnUlt~*NJaXuiJp5tgxMrBd9dD-CM+E z^US9&xAp66l$Ar5x?UtXQ%S*TE)dZDG#UaG*eTB=ub+jhnD1SG@AGG7DUB-YNj)7y zg{r?*(;!qIZzPN6fLYagq&zY$Eo~PtU}0_8fY#+sijv+}#~=nnE+lU)DD0ysy6NCV zRc3Z&(n70eT64b+GD-{VwZe(dP;dq6MkWGXL!4z<@+I%{>P^?X7Gs8s+TK*Or0<P; z7_XC;{2U^RTna2{+ai-(j~WgAMkF9W9NDvdO>!-L!W=NZwDryp#khV8rw5ohhOCO) zDocD54J$v0PL{!(J@VBb=dv)~>Ublxl0h~G1~&lpjxIk>0tu6n$0A~wzaXQhxrNX$ ze<&&aMIWpS1VbR3^Earj?ZAmAVVMY)?_kpGqet)lP|>?--k~c$T)*68XcWg~`fjOw z3PfroSn0V=g$cQBn3Q!5l|LJp=<eq|W40a>E7oj<VdgNLDKUGpJe$KHD8J;x7B?cI z_I6mpXr@k4M(Ar3D3YA-g%lv>BK_JB2;`ydxzuS%3h=!_j{1E-EbH#>?!J*<p#DHe zN-70_HQsWtP*Gj|D)zZ^U7*XGB9?Oy)k!%F?gs!Jrkab?Ea)MyqiD5g+si}xXgv0~ zz+LgoX?f@YXi`amWV{d2=$CXQAt517?bZXBe6y^PtsFr+D5-<n<p;=^CcpyV^d{BM zvGbuiSPD|M3G5~?H;h<8=_W{N!Mu_3sbP`4QBv|T?qI6(hI(l1j0I-3aEp5i$CB`x z<lvywt*fm`B1<X2lmR?oARi!z3iQyyiY3D??(5J~`xX3%kQBTS9ty^QH7I8;g+$77 zq{G7k{_<P^iDpNhyb>_M`NNWKLl}`!%T*D(N#9{}+CFtlmFRuII`%Lac$7jBK+s(Q z6FQMty45t5<pwKN%v_5P%ncTwECC^CU=~avE_A_B-ZA|4uOSyULFSukXt<9k;(a|m ztDsCE_!5N3#UCXhz);G8QXqmv_=gVzl-3z174T9fdk7p5R-m1zpVEBA?Gi20_ng^O zkU26~@zlAD*D<s7wIoh|{g;!9Z+|__TDcc_-#*{PxK@2SYKS!_Rf-ocUhs2s_Y_`X z;j}k3WkhHZlz!(nmcU*Bb<gFN#o70^iId2o+bs9al_r8kfGXLoy^BUk-qq6MNs!PA zW&Nf|(DRw~hzsXA*TJ0b0+WVNBOhFf+<grvC!X#3o&W&U%fuu{Zdzdd(21R!9W(lb z*r13?T16w*^F<?0M#(f}ZpoE`f}mmj$X0s=Mu|t3?QWI(E{BSmS{DRjUtb20rhI(` z9Ou!Xw{1Xmp)23CD+TJ)g_k}iBqlaO<~~{t_WBWVTOWFnJ0_q=#>||z`)Wi2aUKmv z4j$ZXn1-sfh}>qJ@k^d25#o@U!---ro&0{d9MvBolSG_n1Of~q>eo|w#XwJ2Goa)X z0mgkNd+F|HMCd|f9R0dCrmImi?U)$|-fN&z)j}Mm{kP5slv%Oi>30Cc5Vg~J#I=5z zxfBs^AiW^z?*I%zztgfRn~;<a+RPeIg~$@y>d!zxR0(UH?kII(=cT88Umh%yU;m3! z;b;9`+h4pda5FURW$SM`B~S%J9H#(S{Q`v_k-zwOdBY>gRtk}B#LDH;1wK*H(XAns zG*u*iwnGmZNO|ooEux1T1oF{5fl#^~d4k;yiHwbfWyAM>IS)9Y#=@A@KqRI{I6u_x zb|AMLfDvlYDy$782*g$pOv>$_n3(7aSfQ}*XRhHT=oncikQb_MVYTM}c`(xXSF22| zNU!r>tu3_q_^u<d#-Ti?Q>F^d#Q^8GR~>C;flng{k4mJar3LUsOA9bDs&y#;x(wu- z9>8L-2V!3j_}sBi2PqX}aq`Bs^Fg0`P+(v|*>*|tzpZed>b6<1bSbhLZbASn{MFzy z1tq0#fH24Ax{~docD$7E1rlB`qH1w+cBx{Z5DCHzCFb8cXf98ExZt~)Rt5~St)T%i zG$2HilM^YEzj*$9v2u@@ogJx>0rP+w`VO%9oTtK)%d8pyVDCDy9zYyvSYH-O%*PjF zEgH)2ce9=a>q!*9Jsr5?e!ROWodQirZX2_AAcZQctKSE=0~(#LUyth_9Gu)5&D#ae zJH*tM{ZtqVKfx{k!d3KlLqENI4Ujbss1c!{;Hc@kzKV>5_3sIn3YD$~MC3+fY7qI$ z1^%wd|HRt@Mw9#oG~#Ylf}K3;Ge}R}(t@BZDD73QH8JlZ)wrlAQctMkAW-+j(~xTz z!1gb;kbHp5iP;c|Ga~mRy^+d1SRxTM=3sZ-GFVMnd6wyaxqug;NO%HqayPSVc^okV zc^(umtxj)8ZEgK!k)J#`;!oR87Y%`H!}^9yMR4NSp*v(pPD5?;E6{)mj~3a0x*77w z6-Zz~EX0>~cZ#P3Tw4E^>)w9fNdN*OK0eOXTS!OPEYS4tEmp#p^BexfB%D~gPE30j z_ozSfY6^Nl97U2MsMi)nfn7@f-a+@{g2s$nte|s{hr9bpfgT2W*yvx>_y5a}hP{$} zi?cau(H(Te(1?ip&|3Pv<)P8!|6*gqUZHdRYv)bfYvzA)bpO9GQiEIi>mXuv$OpL= zTug~DIi(<u&3(|aGF>hI9~$Y1u~06=h-tF!wWC;!O}p^+k5rX31`yfZwwGl=4l>|~ zWZ>owLmrs{<wkfWhnAMKsi|qcaXTd-&3GuZ3wR#z39q+sZVcJCn+`!Y)e>R|M#Vgz zdI^SzA5g4B!~WTT(wYK1(M1^ITfTW8n;RG%EZVieWOo9UGPEQSAMWC!g&T;HrX305 z4!_6l;Ao*xA5VPl-qvE;A3-VaE-+U^`qT089YIw<t`UlsIl{?MsxEbyyNmdeL9kIu zlf_2;zJJp3gf;42ECzuU`^=fk_#F^~=3udNfzPmP27S_U_imU98kS9vuDq{&w@xXV zLbeLUV64l$IoR2QeSNQ7xuPk=d;NO#mi?b!Q@0^uAp)=9EG*&AKpQ*sgM}r~Xz&1| z(S*drz2m!(?UeQO<RN|#UcLHreCEGD{$?cb9O_=`KRo{C9Ac!UkSCL@fHt7#NFze$ zrw7Pz>$$IDzk2=p3VsN<nb|-GVl_(-*1&WP!2@+ndeb$m2A-h2_0s?P%$qqLWcaP8 z!OUF*&%6->#|!kFM6Ru^nLs_E8!T;u?N9Xe;b{}a#l_+}e>T@;S*K;03lBd6GZ&Z5 zm{@WVGn5=Yu<6V@#FGB~;uVJ32JD#D(-m!Cx6LQzAc)Vu-#B@m9%H>piO*_VnXdI# zeMpQ(AnFd+P-7*h3`@{i{EoD1=qg7xc8in;44Fm8rcLcGu~$BbOgdQV2{4B4TGl;v z80@^=xi-?)kTml_;21||=u7im*K6&US)rBM_);zY;r-AM>HPd)duW<>l{EJqp-wm# zo4&8g5+sA(xLx2G#lQzm+4Km)0Twnl+mW~dR80}e=HTwaCBH8sBI2<4Gl#eUsxpZn z6BX?a^mbvNh2KDqm$TL~F!-eK-*2>_b8X|swF#4n$;9aQTD^UZGg{(T6d(Gun_XA< z?R;4leH4Q3klTt~eq!4l?0c8iZ;wBGCfeZv0~^a%%mK|kMwSvxSAnfEZRj=fYhuFh zVnxG}sB{RM0(_NC)a@4D&;B1g{pLlNP%Si{(|7mubSxE(%E1avgbE_yGgeVnKY#y( z&``nwz`an)2A{Uw<auyEcY<Bmz={LqEs3<Wqu|*q7r>59Z3zwqC<IG@_b2rId;NV4 zD8jZza{BoC60>RF2U#Zpo|>RwWJE_qLIRCU0!Z^vx$AoVfIAA+iZr$$k8pS-Oz{YC zb3O<yWyrII299i?K!!BInjRhO=0i1vhDJ(8<`by*3Q)!$3OtMYO^xhE6wJ}$Xw~Si znWW_8u5^t&q-~#&kPr=KVrp^4p<+igr%{W|!opLjzYEP7u6uk;({j5Z!Z)^KFW9Y* z8x2u&v%5+pbeEfQ9(<l|y&po_7tya_HL??gIZcUvY}D&U`>_KGrtm<S5C^C_w6e)y zqddCy`SdNRI<O`W#Ao|1CSB~^Brf-M{G@)(ukr%LO;uvoz@Or?FHQ#qU|;D_*pp*X z`t2nD4SJSKpFMZg@nj%KC8!+kx?U|%U2axgeyn`4*DtICn@01_r$Jlgvwv%$93y1G z<FcEyvpafUrcC5F@m)GrFLRQlFD0cy&eJIC4*g4WanYN!G^E!LI*2+Hh)NPLH*kx0 z-rFSoPPRm&gE0MFosWqMm<o5BX>v++#zP$Lh%X%%InVr33^P9dy7FH5nHbM`YH6ml z#S4#WUx^c*@$b=e7r(4|^XNyRCer|M`1o4qhh7@C{GT^f($y=N7y{IZh+M_d+1<Gf zY=YOHHpE4)tl*tIQ_bEej?=zv+g?YP^}Wz;+{`4u^K{(Ob!aF)%R`MuqiJX!COc~v zj7w*mb-#Y#H)8u4`-_?F@WbxY;y3g-!s-lt2NF*u6V`ubi0huLoRXRtP$>?p^Bb3r zR_-%-QZZ1>tW1@x6oVPqdf$Cn@3}Y}5{(|nJ_TohAIqQKmm#U(hwxa40Uz=8y-#*> zRy6t(4%y|CuXMh~Igfk=-}KwrmnYxJe~fka9}e>*T?BRUgByW<TDOlXeQGeP8Wqz` z|A~t-=-woTU{>E|1<I#VrHsL{ytjW5GOCjGsceSRc7C@0vZj9fwz8Sb8*bY<oz=*3 zF#`MHERj&nPsQg`i6+|2DU-FWC&FG6IZ3PiLCAQyAjkNolBu@;c;f@r1FVRvdSAFQ zy+*S_>#n61bhPMP!A{*qXYPa#6yFF>(W|;a<Nntx=6do^SNwl<<G<u)3l)u9f7%fU z#;c{^6+EHe=;WL)izL}n9_{DV6JQP&wtPb3xJluuQlv%vV7^S!)xsxAb1EmvX^Hzb zkE-nuU+wTyakM~pK#9(TrR-+-mqNh;<>W7cN`q*v3M;eBB5dQH1w*$a&DgfS^2Cxg zxmka6RuS0@5zoXG)6cf0&Ue+qQe4>i;<eFEXEzndecJys6Zp5`7`iab(_$g0`B@}C z>BXM<CQjbw$}BUDo#vq(|Dd=B?|LZT<_p!~R&DgBigCG$2Xwtk5A(-^I%ztee!Vl5 zvot^4q%W(e^U#RNInvjH`}RohJYhX!uU?Pz=exEs^SJZ=f>F)<1&^0&ocy2B?8bJR zS=xn;P_(`$bmj^sD4=N7|Nfbatu$?*IPP5*m)uj?H)`bJ>~K{#ME>VFbjS03e$NND z5lH)|^mG|`cmX^3zqWSwz-VO%hFjS>Xb5Qz<Q+*_xaH?tL%hI%A7Y<#>cUr`mImD^ ziqJu^SYZj)FxexUqbYW;5E5ON_{JT?T#84J&rb^9$A_<rK_r#Ii0Hr*yBLACuO(6) zrqr%1^`wQ93(f9-5qkaj<=$mD{@=b2HBke2qyaqQ4ovQayN9=L3ss=eI5|OA@bO1q zQr-n!G8bSRBT)N21z%s9E69Z%W}mtc0;b~!Mn*}0kaFFBsH6n-V@5mh@ucAe_%b}n zhClBozzpI(gJ#hN;7SIdvyI!8OvXBogiJMuHv=L!1Xsqpckepu<bN{ITnO}<_d2Gf zS!+-2A~`ZoQMT=}8djI|V<1o8TdVQH2}`xSFOLJKeTFE=GoxVO3xm>7Gw8CcUVB{_ z1CXsO4_+>yKWQ}tWqlFYj8~z1(jI+PD}ir0#;@h>X8dPkj?ntJr7r>+AqI?Ul+g@f zQWN9wTo1_rzo+%9^Y@<OiTvE+E%>POMoU<|;PgI!-?ihztoT@Cw8Vk<Z8ci+`4lr& zE~WECDZO$%4-*9B3XI|u$?0icF`5+=dhix#Mt)MKpCDZLG|xAzt&<30uNGsqA072L zrT5s$(yRGRNNaaTA`LC2YRe7$U((t6@cf)Yw77VqF~-AaGyXEZ_>Epg8k(n%uo51C zPJ8wBb*myjNohY{@;8p5z73Q=y-n7jxZ>YD^$z->v^*HlXnenu-|SGnMFB^DAS)ZV z2zmt?&GY}%_SJD&rEAv+#wenLN(dq$U@(MqgNkAxh#(*mBBeY6BGP3dAdN^!DAK9Y zErOIF2A$FfNJ@izYjbAKIqy01&HJ9;_kRB{Gdk>NKYQQz73*4S-KMSVgLS&LN5HML z?8hj2s+9TXIkVh;+HW2C*`VdU2TgH5!L^76eZ(Ksoc`{e)EB*ptF<)WUVjz&8D^Bj zD>j&P^!4|<yHz3!v$L`u!K`FI%IDeLpn{5CEON}fHC%scWO4`f14iQJjrA#ZJoEQ& zl-U*yy2j0+kE~)2v&muNR;RUif(#4|Pn~dGjANmuZrMz%qI9fRKM>)nYHBhT`LMRu z7QNKu*`c-2{ZHYYx8ya|&is(4E$^Dj${RR^zo~VFWWSM%b?>m_&|W$JUP;+y^Xc=O zX1Ywn>JNAcWbe#7W0!o8(^|QX!BG|Q&GwyTgR<E9K414&_2dnUNupzp$*nnCGWA+V zQbIJ_6u)2jV4kLC+$#~UUHYU!{Os^?)BQg}Gel!7q+FTR8JbeVdm@gSJUm4;vHL&B zIDZdV|AWM}Q-5aNxtH}J^p|KdUi@;>eS<#bS%V0H!?V$g9~1jj`(MQ^)*tZk@=;-A z+{e?eAfUCw^h&b*!DLUx^Lw8PeRcbs!^3nYP=G_xDSo8^IZ4AINxz{yq48{k#RiYw z^SdhC-7?e}V>OMH3=<mihuBHO2G2}rC|!qh4k;(aU6?fK&D$m&BbfTEk%Mh8u>A9e zKl0L_WYYiSd;L8j6M5-*-p;g^S9mRHCsmn~9OQMe1~|((pVBAgq^G%^yrw|c|Egl? zz*s%0N6*V1FT5$Zxu>nB`LwcbMZZUJyMJm$pny+UDz%?Lb?^5SMT;;KCe=Oa4M$AF zhRbUcB|?)Ld3FjZ?fBs>!Mpo(ueWhRf3APMN%WalS&3s;brN!3*yZ*xpJ}k*@Q)H4 za|@&M<9+=9?W^8Pb4%!`iK&rG-XQTjX>5q=ikXcLm-Q^oVXFsp)yGfw4yP-O8ttV^ zlgv`9uTVQU)`}F?StdM}m_PC4Wa7;My@S+a_xE1UvpJ_8ttoP0q)F_Z1#N?5_+y)M z<Ed)8B=H+Cj@)%J?{iM?c@|`!J%5pXsHaS-CW!sm@=E{V<G{cw1cex&k7tYGii&h} zKpI;BYl{Or9A!TzB75f7tH=`D|0)YL*4I~J`q~Eqw*RLW@@JHl{UjIq0;VeW`BdW1 z5|>`$3LA;MG|8c{&duH34}JA}%vpHhYOC<5E8C!I#{%4I4QGZMAZ@2@NjLUc{<=xV zw_>k@LY8?~>ZBVkKuKJHNNm3+Dnu(T^Z{2Vm(-FqSb>wpXo2F=*|yhZ*#fH5fWb%? zor>oONE}2!x<awTK;C<gA7&uc_{vUZN@vdo0zX(7dg1e%I6qrd<s0$Sat7wtW$%uH zQq9KZ9~jusM}oadXWC9`<!NLfw^1+iquXDDg@*dFtLR(fD>Q@W)z$YSz3yP{YE7+W zjQOVa^4QNMW@<l|tYq<ntJ%ZRb*6zaiTTzerMP_em5RiBuPqynM7AZKCUJ{1EM3NJ z9X?E_nDD;eWJ;*cG-CW(ixt~v?n?Pa1_7IsiFd7ctvjf^NBuHedghY2>0!&5i&lY+ zNmN`Z<57DqwrQ`ht6QH`-Fu0rs#^aH`*FMLcMJ}Aas9B=s@Q$Zpn7Xpo8q|SJ_q^b z;|JC0Muy{iqSRCGCH7X=y9U~vV~o=@XPk5SdA|7Z@u;(&4GEg28W-#mKj);`vmf-5 z=sKPv{6s#%3(T0f2mYyosc(EN+yypP(|8SEE&0%U)3z+&bjYoBx_4;|zI~&k1q`el zkVZpGdm246hq(CpL+sRk&dD$2<Yvn^vRCrt_U%CH=@0IM$U-Zq28JJ>9iiPrL#^C* z86FX@MTA+7Jn{Eu1Nr$$CaLMP>G!5IY9y_=J>s`c#wv!Jbbq3zeju}!7<(OL$sY#= z5zqZK^cct@8P@{BWL$LQ<X|bx1s~KYtfu#%kQ+iG^!n;2Hb_zYA@`}Otn`JS&PBU< zIk_kL_}H7m!Yu1TA-DjO-hMS4*Mu7}8yi2E6L`ag3Za6hh{Z)o`<pKo82S;gTK6#u zU-yMN`i%Eew*y*4eIv%m=t~y(cz(`;1x|6qFSlfyN3yfCS7H)S#^?DfGZVG){2!mk z3ZU-*cy4OU8>yAct`J|IxoC6vzjP}T92$s{2pzc{H8eJTLK13L@?Dn0e%1Ml9&Tl! z^d#31!{<3FX<_O<svZ66a(zjuoYn&4QAJPfPKEsp|2Q3!e$&W(kJ?_6i<L+3t?_56 zni4|e_fze+mwHHXYJ2pmy3FK_kd7C8e)-n_(c^NOxTJ=6o(iaGDPzuEYrj~f%3#x3 z&qThXTY%{7&|^{mCq33*WCoj~*;EZoj>p+7>1O0I^*A`Q*t1PUER&ow6D7u;Jgrpi zu(&7}eXcMpFk&o9IxDHwY=Di8DSy`iuQTo{GRi`Z?FlrAbP6#&q74l38mrMKv1&tG zMKk+Ny@$OA5?!iqjbBZ*|CZz}5hq;Jkr4hlXF1)Ym%rXxa6DK!S@6RJ<ALo0?tjnU zZvTUh@h`s3zde-S^EV34YgeuZy1zQkSzew<l~kwdBN->HI;`NCB78WjysUZJqxZCe z0c|inX<+V4RatYuuwjPai${$XY-~51Yi1N{RZ@x*XH=}TLV85s3F#22Ekyj;V$!*k zbQ-+SCiMo(&?r%!W0pFn@eV)ldZ(GU`nXkes^^dQ^&j=bfAI~8_a$)2^l3|NL3^3T zyN;T(J{MFYW2Lj+luc^BdYbFD=$)S^(c%%@wr(NW{gsh-i^nS?{$l>ajkBsF@u-0% zLPuhAxa|VnHIwX5Um(SdG1Xp3Td@wE_7@t=YznhEYO%*|^8a2=bvwu&g*%ljpvy0# zO+;1#=`<8b>w(v6%>^B!@2{fvKjL8sC%lwN2sd0r-Q8N(!ny8s*`q^frF>z?HQ!FV zvs6V<u8)@pB1?KS+n-~K^Yb}78~+`m-gTbm{P8QSR|3(ERb#xEEWL{@%B_sZ3NplH z^1D`2x9$-=XFoH{0e-+^@b*3pA7f+lIItGvN(VEKJ=4y&=7+E<7eG44zJ14FJHP_3 zP(NT~Zf=zX-D`d`<8k)qpG^OjBqFm?@+NeTU5IJibLKYD<NP+N#W7{~LR^z+x0PVn zZnDcWM+gt*J6rckYV6p#vmaIiwa#^5CKzJW&2}@+?G_~;YfITDE55^xiCPVK_#(As z8e9V==c9UZtU38r09H&VnVNsnXs|RiO5GrFywTeihGr*WNbSxXtviGl6s5lMAYP{} zZzR$rVr=?g)N0tF^HM@y4kj)MjRzYn@<>mIEy}sPxjGL{=@>MAx=|8z`I^6<A1l## zAzFj1aHrwnF}Yn9Ybo*$mD`C3rJEM{9kk4wsg(_g_~zkwT~-jT5rJS?pTVq;=rz=s zw;}rJ5z%i`(PpXjn33}24n;j8I$ZyV2p*uYz8e!HKm5T3&|Mi;zX?H;-B|8mva}>y z)XNIu%@8k`g@;Em!nS8KH2jmDPeMWtg8ZD^4tgx@-rcx^we-R(%)<KedJF%;OqvTf zh+l!9Kc7dN6o`?-N!4AtlPBc*wy!M<)Cp{u!tjH8owWTP8d#$LZQ03udJSLtCk)DQ z^App0>~g~^$rsL?v?{XV<gX2jW80};JNhvxuOrn>_27V7NTpzUc34Qv)gIqKo6j`L zT{G%dA_ml!?}Ig;Y5Lq+<yRev9JWZ*(J=aOCYK0kDWdWX;tArZqH3mLhdLw*NA{|J znaw^oGQah|$F=@q5C2<~Dh>Z=T3WNM%jn6S;nZ}t#?ellYit5lWf}s5%{4s3M%Kj_ zI;tC^xT{9adUA_cL{!&~E~kc)j7F?YLPEq71BNYzJ2z`*(grW&M};QXpZ!+kdSNhb zK{RQXPx|SZ@#L}T^C_a<lK<<s{RgV2+>sygR<Y3i)dkxA#t{0XLyfrgphp*SjpFyF zUl^>a(GW-uP7A47;Vf?r53#4+tV${zBXNCBJxF6MqnKYeE_=@Bt^5D_?S+3lRrCEP zX)gSp`{=;qhE11`C0hB;1RUUh<sJIY_%Be)lfPiDbq1LF0hrqc{ia)_h3PwUPZ{sg z<>^w6FV}JvLz6Dx2g%@*uKWd2y;^=ByY7f8dxlfZx9?XH9QEBG0v9Y#y(cQ75L7gt zd&JIT=5#c8_&#}Wnb!W=hD7`jx~ZY^Z@>Qrlz~1BX#GzGa8_a3(GOZpkdpL*92m%l z<~nR58y?Eb?V4TN-;bzH{!%dUmh!x|Huobs-Y3Dql##c>!o#@%#IMyzm?d&cA7zW0 zDF0)BUVi_C+dnk)P^l}`bgmP$O6M<K;(|*=`cNfWeF~zpaI)C<_E%AGJpc^|<#t%M z0oZuTq<-PTOxJ4M;^KhGr(!X0nh?eJR-d&}s_}!jJ}7PEtnKSm@5CE#Lk;&%zm-xk z)-kC6bOXiadfY<{!qZtZB}K(q=Rz@T_?7WhhYq>LY0mN!=VQOz3>Q>S!jC4(nE|l+ zU$VC`H#REMC~BnF=<DPd57$!8i8Fk_qa{$Z9IaH&YzMRHf{5H##1lHhTgZ;Sz#kLS z&-(0a#xQ5_M<A?53zRJVSPcO~ImhGi@4s(vp9cpSq1?ikFF!8L3>X*~RDxT7%>KHZ zoZo~S6TbX|^po)~x;@ca+<|356~1{)US8|qEGlJ(VnsPQZlZ8}O$0DL!|GiLNKhDA zei@uq*LAu8w;WC=j<f&iNv<W0=Ce*tg<Bbg6`;rKgAYN{kMC{j&Z|pZ?+K9$0oSyH zuA#=vMy;&z_sided1Wr#RQezRq@nhMx-u7p%zolPj`_d8DJgVduK-`3vaonXTvXh8 zbf}3w=sgGc8$c!@xI1`--ZiJg%-v&42iHJy<t@$BfB};W#1F$%o`{9-?YSzzfZ#Nu z<R1`lOjxF4@XO|=U#5fU#zL&qUUYjHi<Dtd%MIGzkE8`M7A%wiiSYuJ#o6y%;8F*n zj6ZnbfG<)va?BAKX)gZoCnM3hnt{ZRkfbxc3)<L1uR&Z(NJ^rtTD}#jv|nrA+G}ks z^mdgxrxBl=Tn4(AMHNTTGjzW5F013Kda#P++e$%5WXRrpx0ZMO#~M-Rvb6dnC6hmR z(XUE!;DJMI$H-N7^lhAb9Vd>^yWT-V(T&tjb{oU(n&86}u$LoNGWUPIuSa7GEmCzJ z3Im6E+XcSs$nRSx!nTzHBj6p3j9lQN1p<gum*a6HR{(!}D?Ohqcz}m?@7_%=yS3D< zSs|`p{93Bo+K++ZC<kZjx^%VxyBf+lh5V*ZZqGA2Skuatz6U;j{HFh=-Rk$7xf4(? zUx8EXd}DUe13XLH{96ri8&dw|b>s~i&q;Fehg1~YsLOC*@{&WM292{6H#4|mbLLTA zZ0trt6jJWZL|Mwm=Qw`@j^6s9O*Lb%-fS$+-E_(_^APcaU!AUFI^7|HCZtAxZ_|O0 zl8tf!zz2I^R3HapJdU9uCzI~5IR*;L8;lx#0|M?rgxw7gpn_PEw?-PNK<+9*Bzi0S zk8qb1n432g5!o>v#wR~;+&V&K;N%@Wil`D0wfNwmz`lR~J|Q6*c>k6FQCOGZc*Jp` zKS+8tH6`U8pytc;8#`TASJWyr1HWbb5dj;jwX|>5)s5LH2Jf3@lc+mr8U4nB+4t8Z zY^<*30TH61A8AYpctA;44Y5z3%j%rVaXHQQp;$;f+1NVko`cvF_=qR(q?}yQe9t3X z-S4li&VF3YM%H@Z+Y=}O@8U=iMzV9t%6Fj2W##6kf>p;svS*-wS2eq)UAUFs5g#A_ zhRLS=j;E(5XLw%2KSjKhnug<Z%cBv4_r>^mUr&ee%b%~<$bJ%UYZBsHeGKAp=E!zU zr^GP`ppHY9gi5(_pe`jTsT4j76M#A1@@++p9QFG34zuhwe}$yqcjX^jGjC8`Sy^vH zk}H)uKT>62gGk+G(&NbcG$`Kgeg)MxXR@5}6ZimS<>k1N<5F8!Ida81$Bv641+r#f z?xW!)_yA-)zb(3gk1)~mh_?rl1~FL7`&fT(?S56UH(hY;-E!5vD*Sy@iRpRQJQ|gZ ztMR+*L*;e~Bk7!<izA;PR4SNlB~{kdRe-0Cqgv!)cOkg&V||^93wRyJ!Qk`_5BI{y zaLUXPH`ndT=o=B?jj!5+Y#200!q#dP7#SJi4ng9StdOj*t|A^Fgt>=JTLs$&)-B?2 z5`0e!FINX9s~y5DoS1dfK%`^~Eu@o~3x4`NetaJnv=>RgHi~B~59=ytsJtk0CSF;9 zM{)#qzPBkOtIxq$p7t-_)D|jX77t0KNz=}P-L86<AxR+Pxiv_3PD{%(a%I%m?a`xB zB$d8t)n{=}rD4B<^9g{XZ7)C@G5>R}*axF&dl$9d@oct#eSDK){JibcWJ_tvTcm_p zoNr(SVeP{ux-k581*nXE!NG1&j;_BwPTIDeN&G%G4iTh8p>0i<S?Yes?5anPxCbDs zGquy>Pr^*En4wP2;JR7e7Y6teYvwR}?T1)B8HBbliQjsIdHgGk^&``^?-BhKnWzF@ zZ)A=gQcX=wy)b$>rmDINPQ;X7M;>v=$S@Q08NRC@Sr9cJ?zOLM>%R22trIxd-1+-P zw^a<G!`{?*VZbEJk}?m$-(iq`Q5JN^J~ev_K#2H8V6%-vuCU}pXoI$vz5!?$y6owK z{8m|A{T60mPG+k>fIfke3$5ZtU8kAAxmghLNOj3@X*NJ0o!T?Kr;US%Sxfi`i-rs8 zEyCMBx_C9O;DP4Y-Ck)r@GRTgA6b{XIoq81^OrA&uQ&5Kf;QLLrVHoJ=;-LLsF<cY z)igCdFv+_DGTl53NGQlU<ETg`CVZHR7#JJBh>k9k7{FaO=i8*sb%Foe3~X~&A?Uqf z6$+Vtu>rBHGpRgzgW2$_xHNdtV(kWeNP_Jn2ZY{jjNWaQ%}5BGPk1pr=&kUfm|r|t zgyxBL|Nc#oejdchRE62#kbc1{gpzOa=N=_vCve!m!X(Rl((7!5h{m@M878Tc6|=QO z<+K(;U^RF>-1wc)l{w35$yDV)G5?w7+ZkUWU7R0HuOo9@VK`bB#Uyq!+D5+Cm2yF% zYhfE6F$BTz0NO%EC%xu|Ghe0TyyMAVF8bHBK*hkGdxq*O2ZcmowjGZfGI(!Ro7p`* zdU}{n7}Z4(wvBp#0!453os={DlZ3K!pt7LygJt!eQ`>>nwZbO1HQU?=^jC7(^fcCG zIIH=9y}26%726*7{WsuAf#Rb-Zbel<s_T-9$_uIN?zl7S7scOS?ss*FZP5yPAG6G$ zCNR=Goja1pf2Z=2lG?!V6>H}^ACx%=kAwJxggb5D8?(&X%|sw-xeHG{+d+om8d*y= zp*n98&TJ9@+HhcYylXt%_`o#Vck`Hzk@x_y)O88*@v`vCgF_+(!{EgqkQlMSP|;D^ z?|FCAQxy#jHy{SoF!p$!r9g)Dz>8|%4Z;I`l*g?%mBK{tfN(>WRyfOm^0hEK`@+^5 zLR~_;G&f#>XmF|a7bDKgwf5x67gZEBm2O*+PSe$$p(S70mm*#a4b>je8)T@JzWA%- zlL*5K+pl*vW%SwcM>>p&DFpMaBMSMh$d~#9VUWX;gW>MnA6(lTy4gA6!wh+|OYOP7 z8wwOSzvRB|6KIM#y6_7U;^H=P2}uaN;ypFTpkcc5Fv4xjLGS*Ac3p2=mAq`Tzg zB!#AYFE%x!c>y)NPwM?cf`T4mAkE6fg~J~lxPRg;ZCbXlyfXm9^ln&;y@8b89X2`m zo%cNXHA{Bw&nvlkd5KuhhlPMY#y7u$N$xt4^>;qZU;{l#*-zHmR3EvzY%HI=pX|WF zgC$_m#X6n+X0LC6J3y3qgfej_WbZLIvx=v=4jfopvk+-uw90z$;AU))&9)tjPt`A8 zbO*wG1^g~-8^q#i=_n=-$?P^SXhSgF+=!va@mset=33X2=fCJPH^Mk0dkh}C`j}kX zg8i%v3oL)J#)bwx^lX)I8VlWgr4!uujAS}o1XZ9UCLi=dCXczBJjcXO4~RvrBgAkw zpy7;y9BO_xyVwgf$6Xj++}5MF#j{&3+IK-)+Y4`5AA{N(xmwKtwC83X!m7snwSL^- z-C$`aaee^-BKE<xZT+nZ?vGeQAaw&2n#7SPjG%Z;OT526Ryf!B$lS4)k=UPi5%Ko% z@@_}Q!ARb@%Z^ge229DJh9o-L-!yJFB&qKc5uwB1g2>$&B%5);m%KK^L~31Q^1=Nn z``?5L#e6|0Ky1(wzO6_a$G#cQOBAod1Z1tK#2e~?`0NDaEAWutP|Eibdd*_p4}(e( z@B80kK0H}C?zA0kLFI=J<)HQN`Mi*;#p5{JVm#kDSM(6wlPCRQa`+dOVM|SVnLARz zBL7I;`rE{71O`{W-Fbo{8QS0_qjmsjwsWGt3^3qX>qO9uY<M{r`n=L$X(QtBdi0gY zpoE*i&DfiFAwZ-SEt(+sF0G^kfV)kU9w1)6L&^W?`LRs~Mn*jk=ya}HX%#!KOtf|V zqy^dh4IGXp2uEdu5JX(UaRn$}Lv--^sjG_5a^a2iP>+7Tmw9!_a*1NQ<ZYN{5q|kY zxfMRl^5EJN88Nbr@Csywr(x9zxsuAQ4`<d7U0U0zLZs6{a6=%@gu{Zvgdhi%jbCV} z2dK>Czl{1Fa~ZIKNF5!~cJzF6xoT+reE?W~g(05NxoI56=m|5(Qa(@Gy7Xcn9yruE zz+?l(EwLhkf(8jURC9Sv%}^VkyO)hpFJ*6Y)tm3j?J%nWgn)k?4Z1AsL*mRKm3v^L zJ7A-~Hl+AG;r$8408xjdC~X@gAvXofxJZNRx$-mPKH-9bn?*0<=Hc;H$z@R`vZnk& zb^lFRjcy?db=X<m#@437)W;SSTxCto);<l2+8;G9EQ}Ntx5X-i^jL1&3vI6?#4YnE z1Kp#dqKqm+tDJB)Bkmo{g!N>dB1OEK8NZ;J7KPD9()16J>~68nOcGsBZ*QT^c_;x3 zbn|gElpg&?;yjKomZrf8Bq^Z}rnZ;jn^a4+v_}#qwX9O&$}6tF3*8b^PSV5rp8uxg z;sFhE0UpaxeZo%o95nUJWk<&>*p)jB%mqX)M^`yqMHb|P%1#TtqH|qoSAoP>4h5cm z#U=B?ex^$oE<8YYq6apPG-E&lf~XW>OH~T*?)RJ(lW!?`-|%f6r=a*5rtUI0lxsN$ zqZ6`udx|VLG29w!Cu%$_AF{jYCyo^wF$_MiuNC|N_ZzdyCeQs!753L8WmtZYVkaGM zrS0}m$TE=)br4UDiXw;K&C~+>fw~Q|Zz#4ugXT-rW-LrsW)*UNVwIT{Ef|48QT?=K zzMq$hHx=J8IxbEh&U=U$YgIFvvf?hub}i1^w7S_BQC$K|(C;a8C%X-!k1cqa=-eo9 zX5c3Da!?+QAI`qDZt3Yr$Otm%=2E_i^vIQ(B>^bqd@vcU2@~51AB(KHYn|nT@hMu_ zZ5^X$Jh7V|!2b9*t(=cb5;Kln*yo>c;wEaYihLgOs`a6|O3;O~YAbQ~3-9s}YWOU+ zZN}b2QoU~eTx#6FO{t@WvE)u&o{3L%wrQ%W_Bp8>xY0e+0K`?J$We@Jb@iD@MCAUo zN%4sSt@7z{%vuZJ^HNz;QwCw$%WGdaBZI={9i%T+FQL027B94m*otH@S~?1gz^$dS zs5nn}(i6Fq<?F(_+NMQUhE9v=c8f*G)SHZ+6kGlXdkWR^MobCk(G(SAqf~u?MUC=G z9`XX7!XKYGdt0lg9d&yx84`uQh}K#DJep~wSxwmxdM&I;<7E@&#|-Z_(^}i1#233X zv#!cwDNR5o{uS}390Nb%$rgZ{Wa^y{Foj5G#kwl?*x;CCRz6)oX|`lgG}q}M-31M` z4_3_9-TdnjVm6UEBDq}cDv~0~BBB<6uc2#K$eRZ}1ttxNYL;;dA$PH5dysthVe3!U zt0;AYy(|ifHL4PdQoe$xKQew?eR!HMz9D)Sv<*Gp5@WKU=K@Ut&Xq&%sz;P#M9v}0 z(7Meqkk?^$y)BE1)R;Ueo!6y-oeOpSJq*c(7g|BV_iS#~kOW!3Gjgy_3xfTZ5DOHb z59A&YuBfq}5^3tcxxwn}f~EJdR}sr0BS66J=0)75r0R2}Vw^y{q$gslkMoaxj*H*o zr1g)!ij~Z#e5h%e`Lf$;SZrfmcpLWI3z#G4^!cAD7*CoU{BXzEIidjFe6|LiB=Ac@ zWAF?anXnRY-MX6`D;GY>$?%|Q7?qu(<<;@TG-RKc*lwr{i1-!Zym$@D0;$T%$~Wi> z3+s{>rkAGU8XcUy2VLNP;*P~jMB<cz_?k&@(2f9{!1Mm@G)qlZ1Pg`em>9jUZ|<Bt zb*coOAU*04ZQskm%W_4w%wD|e^0Lvh*iQCFqo<5riI%{f8eaO5chf5=4U>4Gyz!*i ztSnlH*lF>6BaB9_z8vv<m@0nSzBy{m^ack(JVYe#1;6eD#vs07VWWkX<bs9INF<UU zx>*RgmdMB*w4?Bu&~~=ftiO%J%OHQ)hFWXGjqcs|iPQ))JR+<iL|Q-!UCfUjcO`TL zGK^noXdYnSYFX9_0Y;dRzT$$v#|V2fmU^eW@1^`_ZPiXlzlB{mQqvP=N?+ky!%D0S z7!@*txlMo%n9LJRKB8EQL|4|$Rp|Pj;r+Pz_{{x$b!}M+urNC!`2?Jk?9Atuc_6)X z!$~!cgA!enBODSDxv4sZc@6CY!P-i9`Zijg&9wHGa$$kjRN%9;xW<9uD!A=z9=0cB zsW=DFFEH={e36MK4q8YFc29xL1oqR>*Ri)I<D>;8g~^Dj-q+XnYsV0mZ?6;lsh2;z z2Pyyo+QcK>WulHHHo(t?Iv1c4S`Obcot=J*m$5^k^)9nX=Mj-d1C*pE?Xqs7TI*~o z5OKVp#c`*8(N+KS>C=30Qc?&P&#c{wIDX9@K9+@%cjr*8G83o85=S(&!>kUq-A2$* zym9RCZ<-mEX$4KXE*<0cbe=*xPwMbBDv<0VGy|aP%MjXGxlA@a5|b%D7NV=C$4ZoA z&yquMYH>}tM0Sh#@U_pOOScXQkWSbzaY(Thtpn3#J5bQWm>G_nN?4B){WLW*vk%z% zf^FAa0A|6K{T&K&y2!Sb1=S5M{8Ds}2E9MSQ{gVOZP%M$t|Kt3LZ7c2Uq>Fjlp7&m z=7XLExRt%`-rjDpSS(#ySG}(Q1Gk+X!=`kM*g-tQ8_*l|qU<6o;yF>g)G>~P{Bz== zOh(88e192`zHmNc4yJK@@Vp%#I7;ONG=v_eTPJ+>dhOh=C>SzgQ@o^21TJXtoTYB| zn49SvHL5(zg(`=tI&?~88hbBT@Y?y0_`^X_`jO2!6IFVM^7FOk&b@`-0Z~2BqtE%C z)mA_fZAN`0OVTS1I^(%liU9(ua!_~1Ry0fJii2yX!{S_RMkTX5oR_|1Q(l|Cw`;j- zdU+X7=qtt)bGyeETA>4dfI1&+rp$#Um6fIQNZ(1Rd0U7g5|IR*6MLOXFU)rMATS)4 z&zT)=pafuF-t}`<giJP4+KCS~Z)7PV19x;D88vyHb`nZA!iUs+!+|0Eg+{8Y&he>1 zviyX>)Jg`g04X*_ytRGl{JI&TW3x1qRFyD+p{AkfFZ|MfaTzUGDOzc4=kHFv7mm3A zCi|6+Zg9nM7>xnK);2En)E{;p=Y^(WQz>$rQi+ulASSAGqUgMG<;sl~!=P@+c8^`Z z{u>Sk8*6%T=w}~Fz&&`fGaq;n=-^{8^`W?%*%$#o^0c0C_M{l$pFtoF;{}p7Z$ZfX z1%I_6Erv~9P0bbFn^Xj>jYRzr#=$7%C0CcHJFhD#CnY45q}NG5BGNgQ^-}({0pXW| z+3@U0jOx$6tg;&WErKHSr0U2T*R*jbtj2q<BUC?3Vm~OL9U}^2H=NlJDH3YW;7vU6 zAZ_aq8?W`2XTL?Cr(`VJER5TQ)6MEVDB+TIi}xaU7$nt2Cp31J+ce`eMcilWvYWBX z6sn2_1Fcf4ZtHvt;1?|TJ;bAwfrJmA1Z3*o+b{^fGMaYX&OBBN-+@vX5#Pr2gN6Wn z3T?EsdFU`4c+}qBu9mjB!9Fg}sHR>$P)MIs$*?w9D)P_>hp+fHEe$0jL~W~#f`Wpo zIzAQS$|CH)1wf{k>0ReIc11{RMg=?%lV5LiCX%p?IBVUj_44vMg1Drrrq+X2=pB*C z(3_&>$XMXK;v#?obpi@l2N}aCL}-oNn;f?(nYrNl;)Re{EMs36*$$lR7s$E}aC5&y z-qy!&!wk4$aIhv+h?1x`L0!K0WC>uELl?a*d|Fuc?W2H+t^1rYU<_iMpq+Q?+N|QK zW9Ul=Bml$&GOhXeGMG4Aesg<WrxU$o*Cs97l~K6Ry25~&Al^yKjG)SxTUZ}=xsS-x zTLf*;AEJm7%#0<MszAu>^tmpW9zh;LDpg8Q)>ew><wd(JP$zj0EigVeQi&gj{s{9F z&0mR>2`$l75#OLmxvopXnsD+Ezcq9lV=z{6aRzLn*`E=2{hHeMZy0My-vo500$aOd zz#)#j)-qS?Y-e&F_<Tf_Iy>5uVw7McOgIYQA*?PHuTJk(dN~EG<0%tS2tn6Mi3mOI zta<5->PYx-=;jl9zpjQV*Q#g>82xnKN;>CFMz$^Fl-v<jG84SgnkNjDE{&chOf!GH z%oeEi!9PC?{?)iCmCR&65W}MYiVJ)cDCl@{5FtDnMYh3cQy$%-@8idP(~qNC2-lll z5dPp)Aa7>IgE>XdwCW2qut?UESPjzgmW1m~T`J*vBMT>Pj6xm}h$?EN6BrK8&6Jf? zo7#FerCfSQ<iY8uU1iAKsFBPs!+93r+jP?EOUmT(q?eCR1zhWgR$hF0`4K$1p3i4^ zkE7xwOrn0fl(n^Mu`!zn71NqO@!AF!;x!v)`pi>}i%PUqej3>q4Th3Z4;Mx(SD99h z+MA3R3WJfxfkSGyzM1<Vf1pwIKtlb|uW!TKaZI2-j0@1c0ic~AeNP;K|8*}^jJ804 z4x@Nt=itzTCXcl?3HctA9s;R>wg50!xJ_$~K)_}#Tj5fK2{`mP8-|4IL-QwW-suVS z=LJR}#B8f8HzKlIsgR<+$<riaIP`D;_MGYzS?0_YPJxd|icF@dc3a9rSsmPo^I>@M zNBMt@w(LY`r1-it5R1x#MO?gf(7PIozcB5dpeLoo9bv~~2{Pu^Q~NDjUK^5qogNBq zY4ThOXq)irhC^<N2MyPacQoqHFe%FcRb+YbK3||#UHC`TN1&y%N=xqra*wZ!u#h?D z7cOi2p$WP5FycB2Iw3puf^Op}nb~H2dVYgnhy@JAKLdP?wuyd;Y<Inj;<a|B{fOC^ z)u+VekR;=6C7Mb<`|O?5kll{xD(!_k*2yzxri&In2kiC`iaExT`EfcEiHdlIrn6pI zrcUjKEOtCWl-Opam<3wEL2TclLt9X{n$8-kl!SJnZodJs?ULXJNd0FelsLYmmrGi8 zqvCToIgJ_4t6SgB6RQ)c7ehN~X65fbvcpW5&1%<&X5&Oj6%yyig3HMvvQsswbb&Ph zVpT}xUE;02El5E-KT)~G@ug{IZb7EsBr|`f?nT*~2aoJgRMEpd$EF?Sz(@3GfWph; zUP2U@X=lviTjR<&9vmaC?t_aJOCK&%Fza2|D`CAA9wU=WF*>GpFogY-pt8Rmr&6XA z(Pjhh_$o3LQUyh4&XhfW0Hep*;AN?b#E~imvzJXfZ*==a0V5$i^M>a(IGo+^G-Pq& zlRUE?mZG%zkSVbanIvt0#p<kp^}<Vt{>IO^-@RzVIKU)jzYC{PltP6$iGy?;bUBCX zGWD|to&*LijB5W{T|nTbu;M90=UQl~x>C>Ll6pK)=tZav+{a>we`0XmFZ9BHFhu^@ z$U6njU)zOxm6)goumIhLHby^(`OF^7r90)fGdM4P#K#<l>9Ki*wu(ycm+$#nJUI78 z$><E@#!x-ZrkZdy7t2enC2h%I2rUEaBAP;2v-lt~UhgXE$j?1bVm#`~)|5V}i)C@H zF`zg%V!^dXe=~(tMTyB>^6;b<t-4lQ^gC$5`U-VmdPL+1ECnXAquH@X4}KiUn0!A< zE|q<!UWY8UtAP1xgp9fH_7g@VA(4+(z2-W-+xvfU%}PD~W;t|nf1Qdh3jBMEceb1M z=W3;*n#`KgOiC~s@suepy_~$;W#nq<_=cLa-LD_InafJjjiVj<gmKvq*xd|Loy7tM z&>mk$GI`3FCZH1d<tF3Qt~3-zSAe<ajJ|$9f$_%+6w5<6M5OEK>IRAIN%>zkjwBdx z4KSt-imK+4@xgF)eB=p%3ZQ=IM&DfyJ-nmN0PW@)owz%ltb9-Du2Q5pIG0q`htnmO zw|9}0Z6aDWX}@)HE_vqQEqmGOvDYR$IUqe({q8@<kmx-Q4mg08)9>zG@^7t~Nf;cu zwSA{W(b5GQHV(3AKp&q|wIy0!>fIwyoX<s04yP0p9>a{J8nu>T_uB{jwi91D#Q;9F z3Z#URMEe$>wgeB7KnNyC40iCUUgNN!_^-sGi9v9C(uXrQKMgK1rtVJ~AZ1(b@xUa2 z17exiKrMIU5h3ke%(?NLD2{HzTdNuk6}y;NZUd&p+Hnz)G5NE@5s@EiZmcq833d`+ zQRf+n^YcK{IrbXm81F3W(LTN>nbIlos85IiE^-0%;`_wK^BQ~#ujlM91H|HvqhDEt zg=v9_4#8*i=VDW_t09O66t&k!F<&VMh(f({=RIP%!foouLQ9QRqgL&JGm3Qr7Qh*P z_tB4UWtMIqJo~i!<#g)UNIfyfelbS!vn#26lp%KFC{xVDE;Xu3lnE~(oBvHaZx`r( z#LiK^bm<X{81~`w!P}V~$@GJuYrZc)=_TfOj~_p_H8(d)CMY&kY6GD{By<GOfEQ$E z&N@@>CwK=X)ia}OCO451Rwee^eRk)ispJo0e4CeceBih<Q?>&>npT+VB#v_;dI^@p zhpDmXXU5i3l0nd)g9aJvvf{RkGjBVn5scL}S$lWeoCYt1VYJ=V1-&W8vsNYq9pU@q zrqBBZFcua!n-f3X&3m2US27^tJ8_hl2Oa<cAxrBL2POifeE`5Nvx?DWA2&v$B_Dod z=ZGByAA#zGS+D%S+wa?B*PfA@!3levOHJ#i*^0f}3cb(UruUs4f{jcNb~UhNPd7JW z4Z59#m27lgo+fc5SS}{Y(eSwG6p@XIjfFhfa~Vg^2jJysfdsyD7Eh`nuw~w>Q<2~! z9Sdoj_wx0^P}?cIRjO{YWxW$OKkw8?PRGcB<MHRLgyD^FHqQw20f?Nx67@Y!ckv4g z^CapxgoaL$L&S0Q^ssT|fs-Sr3}JvyFJMIAQRks}zJL5r2r2)VomYDL3bJ4%T>?Ca zfG6iAk7om_Au<YlZA#E6`4F8Td~eD*g0$`uz;n*a?(=}|x0X&6Jx}O%y%?c=1(<}1 z-QPYZLf>KVZ#)yrw|he9TI>`<_W508y(Wvfmk*SDMC~aGPgu;q*F0{t(BKm!+&Krr zDzB`p>@w)OqIOg4WM7eL-@=FPHVQ3~mUWrHIkE8c{%!F44~B<<+DQgqxZVQ$-vO{= z{vEILIy^W4biJ6crq}U=BU>CJ+BRTo(Xp{tpjzyVd<6r1{6`N4^_xEa*tdz%B`f21 z#+aS=_wb~@5pXtJ8t51diWz##89f-4Vu3YE8PUmtmPNb;G6HWQdjo4eZy=|=u8d}H zfVkWPMu-35D=@w?m!H$jWOO=f1~({cmmFv9a{h8^>0a~8w~7g~_8e-^Q-g67!`#vM z)YNjAWfC|cYK4lW*aTQ#F#*5QK!CJa#uNx~jha|s#LSjhUH{JgV7q{KA*s{>*}XnA zdIW<2Tre^+j2Brkw{whG<l^Ew1~?ChDCh~&tIL*=!0?RE{62ACBLg=48x@9~pNpNj zb#&qS5G(>h#4KYmc*h}AX9%Gx3~pEvU~yV8FM2aJw%0&oA=rBiQtx}Tjr$SU=N9aM zHR*-?B_D>LyPioAmYQ&j*aFPCMxc(2Yz(K}pesP3(t`?s7`6b!XZZ9dkHGji=O0ut z17=p7CW$JCf*!t~M6=?Ex{G+a#Eb?-tsbCn*kaxLZ>U&Rdou)C&|bmWa|=+lSFlqX z|BlR%RsCPNYyU!);&Ax*`8L@b01OuIxwBco<{?`2&d&Mt*nLueLSag-G$3e-U&gE+ zv+4f8q?7iWZQ3bRj2z%E|HM%66h=7Mv5M_x*>cAp^f^sD`LmTp5UfB^1efi6-<Q`r zI?S@&+z7rH-ns$&`^j0N>F)kBQ}U0s^Un`%yQbO;<4@x_I~?toAxsZCeZ10D{v^U& z{5$3CK+FBqCVQM-O^(Hx15937TidklPY5Ib;H4>hIBp~xGO_M-n$yNp^1)i#OvcTW z``_H%u9l47W&M5E9pxcD{%_>`{}Ju^5B~7Ky8`^bU1r&(XFU3luS>i!alGoO<BD>r IM=#&~KY!S_%m4rY diff --git a/lib/matplotlib/tests/baseline_images/test_axes/single_date.pdf b/lib/matplotlib/tests/baseline_images/test_axes/single_date.pdf deleted file mode 100644 index 35043f5508544bc40429f78a25a5c191a92d9c0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10337 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 A9smFU diff --git a/lib/matplotlib/tests/baseline_images/test_axes/single_date.png b/lib/matplotlib/tests/baseline_images/test_axes/single_date.png index 08d8390448ddfcbb99e4b719e789c6a730c2e197..9df3334340c22426cdb6c7be9f552b32e239fd9b 100644 GIT binary patch literal 15710 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 literal 29239 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 diff --git a/lib/matplotlib/tests/baseline_images/test_axes/single_date.svg b/lib/matplotlib/tests/baseline_images/test_axes/single_date.svg deleted file mode 100644 index b6a1c013fc2b..000000000000 --- a/lib/matplotlib/tests/baseline_images/test_axes/single_date.svg +++ /dev/null @@ -1,1259 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" - "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<!-- Created with matplotlib (http://matplotlib.org/) --> -<svg height="432pt" version="1.1" viewBox="0 0 576 432" width="576pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> - <defs> - <style type="text/css"> -*{stroke-linecap:butt;stroke-linejoin:round;} - </style> - </defs> - <g id="figure_1"> - <g id="patch_1"> - <path d="M 0 432 -L 576 432 -L 576 0 -L 0 0 -z -" style="fill:#ffffff;"/> - </g> - <g id="axes_1"> - <g id="patch_2"> - <path d="M 72 200.290909 -L 518.4 200.290909 -L 518.4 43.2 -L 72 43.2 -z -" style="fill:#ffffff;"/> - </g> - <g id="line2d_1"> - <defs> - <path d="M 0 3 -C 0.795609 3 1.55874 2.683901 2.12132 2.12132 -C 2.683901 1.55874 3 0.795609 3 0 -C 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132 -C 1.55874 -2.683901 0.795609 -3 0 -3 -C -0.795609 -3 -1.55874 -2.683901 -2.12132 -2.12132 -C -2.683901 -1.55874 -3 -0.795609 -3 0 -C -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 -C -1.55874 2.683901 -0.795609 3 0 3 -z -" id="m13dbebc4a0" style="stroke:#000000;stroke-width:0.5;"/> - </defs> - <g clip-path="url(#p1004852053)"> - <use style="fill:#ff0000;stroke:#000000;stroke-width:0.5;" x="295.2" xlink:href="#m13dbebc4a0" y="122.643117"/> - </g> - </g> - <g id="patch_3"> - <path d="M 72 200.290909 -L 72 43.2 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> - <g id="patch_4"> - <path d="M 518.4 200.290909 -L 518.4 43.2 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> - <g id="patch_5"> - <path d="M 72 200.290909 -L 518.4 200.290909 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> - <g id="patch_6"> - <path d="M 72 43.2 -L 518.4 43.2 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> - <g id="matplotlib.axis_1"> - <g id="xtick_1"> - <g id="line2d_2"> - <defs> - <path d="M 0 0 -L 0 -4 -" id="m9cd27ffc35" style="stroke:#000000;stroke-width:0.5;"/> - </defs> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="127.035616" xlink:href="#m9cd27ffc35" y="200.290909"/> - </g> - </g> - <g id="line2d_3"> - <defs> - <path d="M 0 0 -L 0 4 -" id="m079465b72d" style="stroke:#000000;stroke-width:0.5;"/> - </defs> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="127.035616" xlink:href="#m079465b72d" y="43.2"/> - </g> - </g> - <g id="text_1"> - <!-- Mar 1976 --> - <defs> - <path d="M 9.8125 72.90625 -L 24.515625 72.90625 -L 43.109375 23.296875 -L 61.8125 72.90625 -L 76.515625 72.90625 -L 76.515625 0 -L 66.890625 0 -L 66.890625 64.015625 -L 48.09375 14.015625 -L 38.1875 14.015625 -L 19.390625 64.015625 -L 19.390625 0 -L 9.8125 0 -z -" id="DejaVuSans-4d"/> - <path d="M 34.28125 27.484375 -Q 23.390625 27.484375 19.1875 25 -Q 14.984375 22.515625 14.984375 16.5 -Q 14.984375 11.71875 18.140625 8.90625 -Q 21.296875 6.109375 26.703125 6.109375 -Q 34.1875 6.109375 38.703125 11.40625 -Q 43.21875 16.703125 43.21875 25.484375 -L 43.21875 27.484375 -z -M 52.203125 31.203125 -L 52.203125 0 -L 43.21875 0 -L 43.21875 8.296875 -Q 40.140625 3.328125 35.546875 0.953125 -Q 30.953125 -1.421875 24.3125 -1.421875 -Q 15.921875 -1.421875 10.953125 3.296875 -Q 6 8.015625 6 15.921875 -Q 6 25.140625 12.171875 29.828125 -Q 18.359375 34.515625 30.609375 34.515625 -L 43.21875 34.515625 -L 43.21875 35.40625 -Q 43.21875 41.609375 39.140625 45 -Q 35.0625 48.390625 27.6875 48.390625 -Q 23 48.390625 18.546875 47.265625 -Q 14.109375 46.140625 10.015625 43.890625 -L 10.015625 52.203125 -Q 14.9375 54.109375 19.578125 55.046875 -Q 24.21875 56 28.609375 56 -Q 40.484375 56 46.34375 49.84375 -Q 52.203125 43.703125 52.203125 31.203125 -" id="DejaVuSans-61"/> - <path d="M 41.109375 46.296875 -Q 39.59375 47.171875 37.8125 47.578125 -Q 36.03125 48 33.890625 48 -Q 26.265625 48 22.1875 43.046875 -Q 18.109375 38.09375 18.109375 28.8125 -L 18.109375 0 -L 9.078125 0 -L 9.078125 54.6875 -L 18.109375 54.6875 -L 18.109375 46.1875 -Q 20.953125 51.171875 25.484375 53.578125 -Q 30.03125 56 36.53125 56 -Q 37.453125 56 38.578125 55.875 -Q 39.703125 55.765625 41.0625 55.515625 -z -" id="DejaVuSans-72"/> - <path id="DejaVuSans-20"/> - <path d="M 12.40625 8.296875 -L 28.515625 8.296875 -L 28.515625 63.921875 -L 10.984375 60.40625 -L 10.984375 69.390625 -L 28.421875 72.90625 -L 38.28125 72.90625 -L 38.28125 8.296875 -L 54.390625 8.296875 -L 54.390625 0 -L 12.40625 0 -z -" id="DejaVuSans-31"/> - <path d="M 10.984375 1.515625 -L 10.984375 10.5 -Q 14.703125 8.734375 18.5 7.8125 -Q 22.3125 6.890625 25.984375 6.890625 -Q 35.75 6.890625 40.890625 13.453125 -Q 46.046875 20.015625 46.78125 33.40625 -Q 43.953125 29.203125 39.59375 26.953125 -Q 35.25 24.703125 29.984375 24.703125 -Q 19.046875 24.703125 12.671875 31.3125 -Q 6.296875 37.9375 6.296875 49.421875 -Q 6.296875 60.640625 12.9375 67.421875 -Q 19.578125 74.21875 30.609375 74.21875 -Q 43.265625 74.21875 49.921875 64.515625 -Q 56.59375 54.828125 56.59375 36.375 -Q 56.59375 19.140625 48.40625 8.859375 -Q 40.234375 -1.421875 26.421875 -1.421875 -Q 22.703125 -1.421875 18.890625 -0.6875 -Q 15.09375 0.046875 10.984375 1.515625 -M 30.609375 32.421875 -Q 37.25 32.421875 41.125 36.953125 -Q 45.015625 41.5 45.015625 49.421875 -Q 45.015625 57.28125 41.125 61.84375 -Q 37.25 66.40625 30.609375 66.40625 -Q 23.96875 66.40625 20.09375 61.84375 -Q 16.21875 57.28125 16.21875 49.421875 -Q 16.21875 41.5 20.09375 36.953125 -Q 23.96875 32.421875 30.609375 32.421875 -" id="DejaVuSans-39"/> - <path d="M 8.203125 72.90625 -L 55.078125 72.90625 -L 55.078125 68.703125 -L 28.609375 0 -L 18.3125 0 -L 43.21875 64.59375 -L 8.203125 64.59375 -z -" id="DejaVuSans-37"/> - <path d="M 33.015625 40.375 -Q 26.375 40.375 22.484375 35.828125 -Q 18.609375 31.296875 18.609375 23.390625 -Q 18.609375 15.53125 22.484375 10.953125 -Q 26.375 6.390625 33.015625 6.390625 -Q 39.65625 6.390625 43.53125 10.953125 -Q 47.40625 15.53125 47.40625 23.390625 -Q 47.40625 31.296875 43.53125 35.828125 -Q 39.65625 40.375 33.015625 40.375 -M 52.59375 71.296875 -L 52.59375 62.3125 -Q 48.875 64.0625 45.09375 64.984375 -Q 41.3125 65.921875 37.59375 65.921875 -Q 27.828125 65.921875 22.671875 59.328125 -Q 17.53125 52.734375 16.796875 39.40625 -Q 19.671875 43.65625 24.015625 45.921875 -Q 28.375 48.1875 33.59375 48.1875 -Q 44.578125 48.1875 50.953125 41.515625 -Q 57.328125 34.859375 57.328125 23.390625 -Q 57.328125 12.15625 50.6875 5.359375 -Q 44.046875 -1.421875 33.015625 -1.421875 -Q 20.359375 -1.421875 13.671875 8.265625 -Q 6.984375 17.96875 6.984375 36.375 -Q 6.984375 53.65625 15.1875 63.9375 -Q 23.390625 74.21875 37.203125 74.21875 -Q 40.921875 74.21875 44.703125 73.484375 -Q 48.484375 72.75 52.59375 71.296875 -" id="DejaVuSans-36"/> - </defs> - <g transform="translate(98.538429 213.409034)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-4d"/> - <use x="86.279297" xlink:href="#DejaVuSans-61"/> - <use x="147.558594" xlink:href="#DejaVuSans-72"/> - <use x="188.671875" xlink:href="#DejaVuSans-20"/> - <use x="220.458984" xlink:href="#DejaVuSans-31"/> - <use x="284.082031" xlink:href="#DejaVuSans-39"/> - <use x="347.705078" xlink:href="#DejaVuSans-37"/> - <use x="411.328125" xlink:href="#DejaVuSans-36"/> - </g> - </g> - </g> - <g id="xtick_2"> - <g id="line2d_4"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="183.294247" xlink:href="#m9cd27ffc35" y="200.290909"/> - </g> - </g> - <g id="line2d_5"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="183.294247" xlink:href="#m079465b72d" y="43.2"/> - </g> - </g> - <g id="text_2"> - <!-- Sep 1976 --> - <defs> - <path d="M 53.515625 70.515625 -L 53.515625 60.890625 -Q 47.90625 63.578125 42.921875 64.890625 -Q 37.9375 66.21875 33.296875 66.21875 -Q 25.25 66.21875 20.875 63.09375 -Q 16.5 59.96875 16.5 54.203125 -Q 16.5 49.359375 19.40625 46.890625 -Q 22.3125 44.4375 30.421875 42.921875 -L 36.375 41.703125 -Q 47.40625 39.59375 52.65625 34.296875 -Q 57.90625 29 57.90625 20.125 -Q 57.90625 9.515625 50.796875 4.046875 -Q 43.703125 -1.421875 29.984375 -1.421875 -Q 24.8125 -1.421875 18.96875 -0.25 -Q 13.140625 0.921875 6.890625 3.21875 -L 6.890625 13.375 -Q 12.890625 10.015625 18.65625 8.296875 -Q 24.421875 6.59375 29.984375 6.59375 -Q 38.421875 6.59375 43.015625 9.90625 -Q 47.609375 13.234375 47.609375 19.390625 -Q 47.609375 24.75 44.3125 27.78125 -Q 41.015625 30.8125 33.5 32.328125 -L 27.484375 33.5 -Q 16.453125 35.6875 11.515625 40.375 -Q 6.59375 45.0625 6.59375 53.421875 -Q 6.59375 63.09375 13.40625 68.65625 -Q 20.21875 74.21875 32.171875 74.21875 -Q 37.3125 74.21875 42.625 73.28125 -Q 47.953125 72.359375 53.515625 70.515625 -" id="DejaVuSans-53"/> - <path d="M 56.203125 29.59375 -L 56.203125 25.203125 -L 14.890625 25.203125 -Q 15.484375 15.921875 20.484375 11.0625 -Q 25.484375 6.203125 34.421875 6.203125 -Q 39.59375 6.203125 44.453125 7.46875 -Q 49.3125 8.734375 54.109375 11.28125 -L 54.109375 2.78125 -Q 49.265625 0.734375 44.1875 -0.34375 -Q 39.109375 -1.421875 33.890625 -1.421875 -Q 20.796875 -1.421875 13.15625 6.1875 -Q 5.515625 13.8125 5.515625 26.8125 -Q 5.515625 40.234375 12.765625 48.109375 -Q 20.015625 56 32.328125 56 -Q 43.359375 56 49.78125 48.890625 -Q 56.203125 41.796875 56.203125 29.59375 -M 47.21875 32.234375 -Q 47.125 39.59375 43.09375 43.984375 -Q 39.0625 48.390625 32.421875 48.390625 -Q 24.90625 48.390625 20.390625 44.140625 -Q 15.875 39.890625 15.1875 32.171875 -z -" id="DejaVuSans-65"/> - <path d="M 18.109375 8.203125 -L 18.109375 -20.796875 -L 9.078125 -20.796875 -L 9.078125 54.6875 -L 18.109375 54.6875 -L 18.109375 46.390625 -Q 20.953125 51.265625 25.265625 53.625 -Q 29.59375 56 35.59375 56 -Q 45.5625 56 51.78125 48.09375 -Q 58.015625 40.1875 58.015625 27.296875 -Q 58.015625 14.40625 51.78125 6.484375 -Q 45.5625 -1.421875 35.59375 -1.421875 -Q 29.59375 -1.421875 25.265625 0.953125 -Q 20.953125 3.328125 18.109375 8.203125 -M 48.6875 27.296875 -Q 48.6875 37.203125 44.609375 42.84375 -Q 40.53125 48.484375 33.40625 48.484375 -Q 26.265625 48.484375 22.1875 42.84375 -Q 18.109375 37.203125 18.109375 27.296875 -Q 18.109375 17.390625 22.1875 11.75 -Q 26.265625 6.109375 33.40625 6.109375 -Q 40.53125 6.109375 44.609375 11.75 -Q 48.6875 17.390625 48.6875 27.296875 -" id="DejaVuSans-70"/> - </defs> - <g transform="translate(154.807372 213.409034)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-53"/> - <use x="63.476562" xlink:href="#DejaVuSans-65"/> - <use x="125" xlink:href="#DejaVuSans-70"/> - <use x="188.476562" xlink:href="#DejaVuSans-20"/> - <use x="220.263672" xlink:href="#DejaVuSans-31"/> - <use x="283.886719" xlink:href="#DejaVuSans-39"/> - <use x="347.509766" xlink:href="#DejaVuSans-37"/> - <use x="411.132812" xlink:href="#DejaVuSans-36"/> - </g> - </g> - </g> - <g id="xtick_3"> - <g id="line2d_6"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="238.635616" xlink:href="#m9cd27ffc35" y="200.290909"/> - </g> - </g> - <g id="line2d_7"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="238.635616" xlink:href="#m079465b72d" y="43.2"/> - </g> - </g> - <g id="text_3"> - <!-- Mar 1977 --> - <g transform="translate(210.138429 213.409034)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-4d"/> - <use x="86.279297" xlink:href="#DejaVuSans-61"/> - <use x="147.558594" xlink:href="#DejaVuSans-72"/> - <use x="188.671875" xlink:href="#DejaVuSans-20"/> - <use x="220.458984" xlink:href="#DejaVuSans-31"/> - <use x="284.082031" xlink:href="#DejaVuSans-39"/> - <use x="347.705078" xlink:href="#DejaVuSans-37"/> - <use x="411.328125" xlink:href="#DejaVuSans-37"/> - </g> - </g> - </g> - <g id="xtick_4"> - <g id="line2d_8"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="294.894247" xlink:href="#m9cd27ffc35" y="200.290909"/> - </g> - </g> - <g id="line2d_9"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="294.894247" xlink:href="#m079465b72d" y="43.2"/> - </g> - </g> - <g id="text_4"> - <!-- Sep 1977 --> - <g transform="translate(266.407372 213.409034)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-53"/> - <use x="63.476562" xlink:href="#DejaVuSans-65"/> - <use x="125" xlink:href="#DejaVuSans-70"/> - <use x="188.476562" xlink:href="#DejaVuSans-20"/> - <use x="220.263672" xlink:href="#DejaVuSans-31"/> - <use x="283.886719" xlink:href="#DejaVuSans-39"/> - <use x="347.509766" xlink:href="#DejaVuSans-37"/> - <use x="411.132812" xlink:href="#DejaVuSans-37"/> - </g> - </g> - </g> - <g id="xtick_5"> - <g id="line2d_10"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="350.235616" xlink:href="#m9cd27ffc35" y="200.290909"/> - </g> - </g> - <g id="line2d_11"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="350.235616" xlink:href="#m079465b72d" y="43.2"/> - </g> - </g> - <g id="text_5"> - <!-- Mar 1978 --> - <defs> - <path d="M 31.78125 34.625 -Q 24.75 34.625 20.71875 30.859375 -Q 16.703125 27.09375 16.703125 20.515625 -Q 16.703125 13.921875 20.71875 10.15625 -Q 24.75 6.390625 31.78125 6.390625 -Q 38.8125 6.390625 42.859375 10.171875 -Q 46.921875 13.96875 46.921875 20.515625 -Q 46.921875 27.09375 42.890625 30.859375 -Q 38.875 34.625 31.78125 34.625 -M 21.921875 38.8125 -Q 15.578125 40.375 12.03125 44.71875 -Q 8.5 49.078125 8.5 55.328125 -Q 8.5 64.0625 14.71875 69.140625 -Q 20.953125 74.21875 31.78125 74.21875 -Q 42.671875 74.21875 48.875 69.140625 -Q 55.078125 64.0625 55.078125 55.328125 -Q 55.078125 49.078125 51.53125 44.71875 -Q 48 40.375 41.703125 38.8125 -Q 48.828125 37.15625 52.796875 32.3125 -Q 56.78125 27.484375 56.78125 20.515625 -Q 56.78125 9.90625 50.3125 4.234375 -Q 43.84375 -1.421875 31.78125 -1.421875 -Q 19.734375 -1.421875 13.25 4.234375 -Q 6.78125 9.90625 6.78125 20.515625 -Q 6.78125 27.484375 10.78125 32.3125 -Q 14.796875 37.15625 21.921875 38.8125 -M 18.3125 54.390625 -Q 18.3125 48.734375 21.84375 45.5625 -Q 25.390625 42.390625 31.78125 42.390625 -Q 38.140625 42.390625 41.71875 45.5625 -Q 45.3125 48.734375 45.3125 54.390625 -Q 45.3125 60.0625 41.71875 63.234375 -Q 38.140625 66.40625 31.78125 66.40625 -Q 25.390625 66.40625 21.84375 63.234375 -Q 18.3125 60.0625 18.3125 54.390625 -" id="DejaVuSans-38"/> - </defs> - <g transform="translate(321.738429 213.409034)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-4d"/> - <use x="86.279297" xlink:href="#DejaVuSans-61"/> - <use x="147.558594" xlink:href="#DejaVuSans-72"/> - <use x="188.671875" xlink:href="#DejaVuSans-20"/> - <use x="220.458984" xlink:href="#DejaVuSans-31"/> - <use x="284.082031" xlink:href="#DejaVuSans-39"/> - <use x="347.705078" xlink:href="#DejaVuSans-37"/> - <use x="411.328125" xlink:href="#DejaVuSans-38"/> - </g> - </g> - </g> - <g id="xtick_6"> - <g id="line2d_12"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="406.494247" xlink:href="#m9cd27ffc35" y="200.290909"/> - </g> - </g> - <g id="line2d_13"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="406.494247" xlink:href="#m079465b72d" y="43.2"/> - </g> - </g> - <g id="text_6"> - <!-- Sep 1978 --> - <g transform="translate(378.007372 213.409034)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-53"/> - <use x="63.476562" xlink:href="#DejaVuSans-65"/> - <use x="125" xlink:href="#DejaVuSans-70"/> - <use x="188.476562" xlink:href="#DejaVuSans-20"/> - <use x="220.263672" xlink:href="#DejaVuSans-31"/> - <use x="283.886719" xlink:href="#DejaVuSans-39"/> - <use x="347.509766" xlink:href="#DejaVuSans-37"/> - <use x="411.132812" xlink:href="#DejaVuSans-38"/> - </g> - </g> - </g> - <g id="xtick_7"> - <g id="line2d_14"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="461.835616" xlink:href="#m9cd27ffc35" y="200.290909"/> - </g> - </g> - <g id="line2d_15"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="461.835616" xlink:href="#m079465b72d" y="43.2"/> - </g> - </g> - <g id="text_7"> - <!-- Mar 1979 --> - <g transform="translate(433.338429 213.409034)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-4d"/> - <use x="86.279297" xlink:href="#DejaVuSans-61"/> - <use x="147.558594" xlink:href="#DejaVuSans-72"/> - <use x="188.671875" xlink:href="#DejaVuSans-20"/> - <use x="220.458984" xlink:href="#DejaVuSans-31"/> - <use x="284.082031" xlink:href="#DejaVuSans-39"/> - <use x="347.705078" xlink:href="#DejaVuSans-37"/> - <use x="411.328125" xlink:href="#DejaVuSans-39"/> - </g> - </g> - </g> - <g id="xtick_8"> - <g id="line2d_16"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.094247" xlink:href="#m9cd27ffc35" y="200.290909"/> - </g> - </g> - <g id="line2d_17"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.094247" xlink:href="#m079465b72d" y="43.2"/> - </g> - </g> - <g id="text_8"> - <!-- Sep 1979 --> - <g transform="translate(489.607372 213.409034)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-53"/> - <use x="63.476562" xlink:href="#DejaVuSans-65"/> - <use x="125" xlink:href="#DejaVuSans-70"/> - <use x="188.476562" xlink:href="#DejaVuSans-20"/> - <use x="220.263672" xlink:href="#DejaVuSans-31"/> - <use x="283.886719" xlink:href="#DejaVuSans-39"/> - <use x="347.509766" xlink:href="#DejaVuSans-37"/> - <use x="411.132812" xlink:href="#DejaVuSans-39"/> - </g> - </g> - </g> - </g> - <g id="matplotlib.axis_2"> - <g id="ytick_1"> - <g id="line2d_18"> - <defs> - <path d="M 0 0 -L 4 0 -" id="m34ca560bde" style="stroke:#000000;stroke-width:0.5;"/> - </defs> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m34ca560bde" y="200.290909"/> - </g> - </g> - <g id="line2d_19"> - <defs> - <path d="M 0 0 -L -4 0 -" id="m3441777f0b" style="stroke:#000000;stroke-width:0.5;"/> - </defs> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m3441777f0b" y="200.290909"/> - </g> - </g> - <g id="text_9"> - <!-- −69 --> - <defs> - <path d="M 10.59375 35.5 -L 73.1875 35.5 -L 73.1875 27.203125 -L 10.59375 27.203125 -z -" id="DejaVuSans-2212"/> - </defs> - <g transform="translate(42.674375 204.849972)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-36"/> - <use x="147.412109" xlink:href="#DejaVuSans-39"/> - </g> - </g> - </g> - <g id="ytick_2"> - <g id="line2d_20"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m34ca560bde" y="177.849351"/> - </g> - </g> - <g id="line2d_21"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m3441777f0b" y="177.849351"/> - </g> - </g> - <g id="text_10"> - <!-- −68 --> - <g transform="translate(42.674375 182.408413)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-36"/> - <use x="147.412109" xlink:href="#DejaVuSans-38"/> - </g> - </g> - </g> - <g id="ytick_3"> - <g id="line2d_22"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m34ca560bde" y="155.407792"/> - </g> - </g> - <g id="line2d_23"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m3441777f0b" y="155.407792"/> - </g> - </g> - <g id="text_11"> - <!-- −67 --> - <g transform="translate(42.674375 159.966855)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-36"/> - <use x="147.412109" xlink:href="#DejaVuSans-37"/> - </g> - </g> - </g> - <g id="ytick_4"> - <g id="line2d_24"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m34ca560bde" y="132.966234"/> - </g> - </g> - <g id="line2d_25"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m3441777f0b" y="132.966234"/> - </g> - </g> - <g id="text_12"> - <!-- −66 --> - <g transform="translate(42.674375 137.525296)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-36"/> - <use x="147.412109" xlink:href="#DejaVuSans-36"/> - </g> - </g> - </g> - <g id="ytick_5"> - <g id="line2d_26"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m34ca560bde" y="110.524675"/> - </g> - </g> - <g id="line2d_27"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m3441777f0b" y="110.524675"/> - </g> - </g> - <g id="text_13"> - <!-- −65 --> - <defs> - <path d="M 10.796875 72.90625 -L 49.515625 72.90625 -L 49.515625 64.59375 -L 19.828125 64.59375 -L 19.828125 46.734375 -Q 21.96875 47.46875 24.109375 47.828125 -Q 26.265625 48.1875 28.421875 48.1875 -Q 40.625 48.1875 47.75 41.5 -Q 54.890625 34.8125 54.890625 23.390625 -Q 54.890625 11.625 47.5625 5.09375 -Q 40.234375 -1.421875 26.90625 -1.421875 -Q 22.3125 -1.421875 17.546875 -0.640625 -Q 12.796875 0.140625 7.71875 1.703125 -L 7.71875 11.625 -Q 12.109375 9.234375 16.796875 8.0625 -Q 21.484375 6.890625 26.703125 6.890625 -Q 35.15625 6.890625 40.078125 11.328125 -Q 45.015625 15.765625 45.015625 23.390625 -Q 45.015625 31 40.078125 35.4375 -Q 35.15625 39.890625 26.703125 39.890625 -Q 22.75 39.890625 18.8125 39.015625 -Q 14.890625 38.140625 10.796875 36.28125 -z -" id="DejaVuSans-35"/> - </defs> - <g transform="translate(42.674375 115.083738)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-36"/> - <use x="147.412109" xlink:href="#DejaVuSans-35"/> - </g> - </g> - </g> - <g id="ytick_6"> - <g id="line2d_28"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m34ca560bde" y="88.083117"/> - </g> - </g> - <g id="line2d_29"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m3441777f0b" y="88.083117"/> - </g> - </g> - <g id="text_14"> - <!-- −64 --> - <defs> - <path d="M 37.796875 64.3125 -L 12.890625 25.390625 -L 37.796875 25.390625 -z -M 35.203125 72.90625 -L 47.609375 72.90625 -L 47.609375 25.390625 -L 58.015625 25.390625 -L 58.015625 17.1875 -L 47.609375 17.1875 -L 47.609375 0 -L 37.796875 0 -L 37.796875 17.1875 -L 4.890625 17.1875 -L 4.890625 26.703125 -z -" id="DejaVuSans-34"/> - </defs> - <g transform="translate(42.674375 92.642179)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-36"/> - <use x="147.412109" xlink:href="#DejaVuSans-34"/> - </g> - </g> - </g> - <g id="ytick_7"> - <g id="line2d_30"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m34ca560bde" y="65.641558"/> - </g> - </g> - <g id="line2d_31"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m3441777f0b" y="65.641558"/> - </g> - </g> - <g id="text_15"> - <!-- −63 --> - <defs> - <path d="M 40.578125 39.3125 -Q 47.65625 37.796875 51.625 33 -Q 55.609375 28.21875 55.609375 21.1875 -Q 55.609375 10.40625 48.1875 4.484375 -Q 40.765625 -1.421875 27.09375 -1.421875 -Q 22.515625 -1.421875 17.65625 -0.515625 -Q 12.796875 0.390625 7.625 2.203125 -L 7.625 11.71875 -Q 11.71875 9.328125 16.59375 8.109375 -Q 21.484375 6.890625 26.8125 6.890625 -Q 36.078125 6.890625 40.9375 10.546875 -Q 45.796875 14.203125 45.796875 21.1875 -Q 45.796875 27.640625 41.28125 31.265625 -Q 36.765625 34.90625 28.71875 34.90625 -L 20.21875 34.90625 -L 20.21875 43.015625 -L 29.109375 43.015625 -Q 36.375 43.015625 40.234375 45.921875 -Q 44.09375 48.828125 44.09375 54.296875 -Q 44.09375 59.90625 40.109375 62.90625 -Q 36.140625 65.921875 28.71875 65.921875 -Q 24.65625 65.921875 20.015625 65.03125 -Q 15.375 64.15625 9.8125 62.3125 -L 9.8125 71.09375 -Q 15.4375 72.65625 20.34375 73.4375 -Q 25.25 74.21875 29.59375 74.21875 -Q 40.828125 74.21875 47.359375 69.109375 -Q 53.90625 64.015625 53.90625 55.328125 -Q 53.90625 49.265625 50.4375 45.09375 -Q 46.96875 40.921875 40.578125 39.3125 -" id="DejaVuSans-33"/> - </defs> - <g transform="translate(42.674375 70.200621)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-36"/> - <use x="147.412109" xlink:href="#DejaVuSans-33"/> - </g> - </g> - </g> - <g id="ytick_8"> - <g id="line2d_32"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m34ca560bde" y="43.2"/> - </g> - </g> - <g id="line2d_33"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m3441777f0b" y="43.2"/> - </g> - </g> - <g id="text_16"> - <!-- −62 --> - <defs> - <path d="M 19.1875 8.296875 -L 53.609375 8.296875 -L 53.609375 0 -L 7.328125 0 -L 7.328125 8.296875 -Q 12.9375 14.109375 22.625 23.890625 -Q 32.328125 33.6875 34.8125 36.53125 -Q 39.546875 41.84375 41.421875 45.53125 -Q 43.3125 49.21875 43.3125 52.78125 -Q 43.3125 58.59375 39.234375 62.25 -Q 35.15625 65.921875 28.609375 65.921875 -Q 23.96875 65.921875 18.8125 64.3125 -Q 13.671875 62.703125 7.8125 59.421875 -L 7.8125 69.390625 -Q 13.765625 71.78125 18.9375 73 -Q 24.125 74.21875 28.421875 74.21875 -Q 39.75 74.21875 46.484375 68.546875 -Q 53.21875 62.890625 53.21875 53.421875 -Q 53.21875 48.921875 51.53125 44.890625 -Q 49.859375 40.875 45.40625 35.40625 -Q 44.1875 33.984375 37.640625 27.21875 -Q 31.109375 20.453125 19.1875 8.296875 -" id="DejaVuSans-32"/> - </defs> - <g transform="translate(42.674375 47.759063)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-36"/> - <use x="147.412109" xlink:href="#DejaVuSans-32"/> - </g> - </g> - </g> - </g> - </g> - <g id="axes_2"> - <g id="patch_7"> - <path d="M 72 388.8 -L 518.4 388.8 -L 518.4 231.709091 -L 72 231.709091 -z -" style="fill:#ffffff;"/> - </g> - <g id="line2d_34"> - <g clip-path="url(#pc483d8f8ff)"> - <use style="fill:#ff0000;stroke:#000000;stroke-width:0.5;" x="306.15912" xlink:href="#m13dbebc4a0" y="311.152208"/> - </g> - </g> - <g id="patch_8"> - <path d="M 72 388.8 -L 72 231.709091 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> - <g id="patch_9"> - <path d="M 518.4 388.8 -L 518.4 231.709091 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> - <g id="patch_10"> - <path d="M 72 388.8 -L 518.4 388.8 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> - <g id="patch_11"> - <path d="M 72 231.709091 -L 518.4 231.709091 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> - <g id="matplotlib.axis_3"> - <g id="xtick_9"> - <g id="line2d_35"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m9cd27ffc35" y="388.8"/> - </g> - </g> - <g id="line2d_36"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m079465b72d" y="231.709091"/> - </g> - </g> - <g id="text_17"> - <!-- 680000 --> - <defs> - <path d="M 31.78125 66.40625 -Q 24.171875 66.40625 20.328125 58.90625 -Q 16.5 51.421875 16.5 36.375 -Q 16.5 21.390625 20.328125 13.890625 -Q 24.171875 6.390625 31.78125 6.390625 -Q 39.453125 6.390625 43.28125 13.890625 -Q 47.125 21.390625 47.125 36.375 -Q 47.125 51.421875 43.28125 58.90625 -Q 39.453125 66.40625 31.78125 66.40625 -M 31.78125 74.21875 -Q 44.046875 74.21875 50.515625 64.515625 -Q 56.984375 54.828125 56.984375 36.375 -Q 56.984375 17.96875 50.515625 8.265625 -Q 44.046875 -1.421875 31.78125 -1.421875 -Q 19.53125 -1.421875 13.0625 8.265625 -Q 6.59375 17.96875 6.59375 36.375 -Q 6.59375 54.828125 13.0625 64.515625 -Q 19.53125 74.21875 31.78125 74.21875 -" id="DejaVuSans-30"/> - </defs> - <g transform="translate(49.095 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-36"/> - <use x="63.623047" xlink:href="#DejaVuSans-38"/> - <use x="127.246094" xlink:href="#DejaVuSans-30"/> - <use x="190.869141" xlink:href="#DejaVuSans-30"/> - <use x="254.492188" xlink:href="#DejaVuSans-30"/> - <use x="318.115234" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="xtick_10"> - <g id="line2d_37"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="127.8" xlink:href="#m9cd27ffc35" y="388.8"/> - </g> - </g> - <g id="line2d_38"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="127.8" xlink:href="#m079465b72d" y="231.709091"/> - </g> - </g> - <g id="text_18"> - <!-- 690000 --> - <g transform="translate(104.895 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-36"/> - <use x="63.623047" xlink:href="#DejaVuSans-39"/> - <use x="127.246094" xlink:href="#DejaVuSans-30"/> - <use x="190.869141" xlink:href="#DejaVuSans-30"/> - <use x="254.492188" xlink:href="#DejaVuSans-30"/> - <use x="318.115234" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="xtick_11"> - <g id="line2d_39"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="183.6" xlink:href="#m9cd27ffc35" y="388.8"/> - </g> - </g> - <g id="line2d_40"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="183.6" xlink:href="#m079465b72d" y="231.709091"/> - </g> - </g> - <g id="text_19"> - <!-- 700000 --> - <g transform="translate(160.695 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-37"/> - <use x="63.623047" xlink:href="#DejaVuSans-30"/> - <use x="127.246094" xlink:href="#DejaVuSans-30"/> - <use x="190.869141" xlink:href="#DejaVuSans-30"/> - <use x="254.492188" xlink:href="#DejaVuSans-30"/> - <use x="318.115234" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="xtick_12"> - <g id="line2d_41"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="239.4" xlink:href="#m9cd27ffc35" y="388.8"/> - </g> - </g> - <g id="line2d_42"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="239.4" xlink:href="#m079465b72d" y="231.709091"/> - </g> - </g> - <g id="text_20"> - <!-- 710000 --> - <g transform="translate(216.495 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-37"/> - <use x="63.623047" xlink:href="#DejaVuSans-31"/> - <use x="127.246094" xlink:href="#DejaVuSans-30"/> - <use x="190.869141" xlink:href="#DejaVuSans-30"/> - <use x="254.492188" xlink:href="#DejaVuSans-30"/> - <use x="318.115234" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="xtick_13"> - <g id="line2d_43"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="295.2" xlink:href="#m9cd27ffc35" y="388.8"/> - </g> - </g> - <g id="line2d_44"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="295.2" xlink:href="#m079465b72d" y="231.709091"/> - </g> - </g> - <g id="text_21"> - <!-- 720000 --> - <g transform="translate(272.295 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-37"/> - <use x="63.623047" xlink:href="#DejaVuSans-32"/> - <use x="127.246094" xlink:href="#DejaVuSans-30"/> - <use x="190.869141" xlink:href="#DejaVuSans-30"/> - <use x="254.492188" xlink:href="#DejaVuSans-30"/> - <use x="318.115234" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="xtick_14"> - <g id="line2d_45"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="351" xlink:href="#m9cd27ffc35" y="388.8"/> - </g> - </g> - <g id="line2d_46"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="351" xlink:href="#m079465b72d" y="231.709091"/> - </g> - </g> - <g id="text_22"> - <!-- 730000 --> - <g transform="translate(328.095 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-37"/> - <use x="63.623047" xlink:href="#DejaVuSans-33"/> - <use x="127.246094" xlink:href="#DejaVuSans-30"/> - <use x="190.869141" xlink:href="#DejaVuSans-30"/> - <use x="254.492188" xlink:href="#DejaVuSans-30"/> - <use x="318.115234" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="xtick_15"> - <g id="line2d_47"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="406.8" xlink:href="#m9cd27ffc35" y="388.8"/> - </g> - </g> - <g id="line2d_48"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="406.8" xlink:href="#m079465b72d" y="231.709091"/> - </g> - </g> - <g id="text_23"> - <!-- 740000 --> - <g transform="translate(383.895 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-37"/> - <use x="63.623047" xlink:href="#DejaVuSans-34"/> - <use x="127.246094" xlink:href="#DejaVuSans-30"/> - <use x="190.869141" xlink:href="#DejaVuSans-30"/> - <use x="254.492188" xlink:href="#DejaVuSans-30"/> - <use x="318.115234" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="xtick_16"> - <g id="line2d_49"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="462.6" xlink:href="#m9cd27ffc35" y="388.8"/> - </g> - </g> - <g id="line2d_50"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="462.6" xlink:href="#m079465b72d" y="231.709091"/> - </g> - </g> - <g id="text_24"> - <!-- 750000 --> - <g transform="translate(439.695 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-37"/> - <use x="63.623047" xlink:href="#DejaVuSans-35"/> - <use x="127.246094" xlink:href="#DejaVuSans-30"/> - <use x="190.869141" xlink:href="#DejaVuSans-30"/> - <use x="254.492188" xlink:href="#DejaVuSans-30"/> - <use x="318.115234" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="xtick_17"> - <g id="line2d_51"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m9cd27ffc35" y="388.8"/> - </g> - </g> - <g id="line2d_52"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m079465b72d" y="231.709091"/> - </g> - </g> - <g id="text_25"> - <!-- 760000 --> - <g transform="translate(495.495 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-37"/> - <use x="63.623047" xlink:href="#DejaVuSans-36"/> - <use x="127.246094" xlink:href="#DejaVuSans-30"/> - <use x="190.869141" xlink:href="#DejaVuSans-30"/> - <use x="254.492188" xlink:href="#DejaVuSans-30"/> - <use x="318.115234" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - </g> - <g id="matplotlib.axis_4"> - <g id="ytick_9"> - <g id="line2d_53"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m34ca560bde" y="388.8"/> - </g> - </g> - <g id="line2d_54"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m3441777f0b" y="388.8"/> - </g> - </g> - <g id="text_26"> - <!-- −69 --> - <g transform="translate(42.674375 393.359063)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-36"/> - <use x="147.412109" xlink:href="#DejaVuSans-39"/> - </g> - </g> - </g> - <g id="ytick_10"> - <g id="line2d_55"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m34ca560bde" y="366.358442"/> - </g> - </g> - <g id="line2d_56"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m3441777f0b" y="366.358442"/> - </g> - </g> - <g id="text_27"> - <!-- −68 --> - <g transform="translate(42.674375 370.917504)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-36"/> - <use x="147.412109" xlink:href="#DejaVuSans-38"/> - </g> - </g> - </g> - <g id="ytick_11"> - <g id="line2d_57"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m34ca560bde" y="343.916883"/> - </g> - </g> - <g id="line2d_58"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m3441777f0b" y="343.916883"/> - </g> - </g> - <g id="text_28"> - <!-- −67 --> - <g transform="translate(42.674375 348.475946)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-36"/> - <use x="147.412109" xlink:href="#DejaVuSans-37"/> - </g> - </g> - </g> - <g id="ytick_12"> - <g id="line2d_59"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m34ca560bde" y="321.475325"/> - </g> - </g> - <g id="line2d_60"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m3441777f0b" y="321.475325"/> - </g> - </g> - <g id="text_29"> - <!-- −66 --> - <g transform="translate(42.674375 326.034387)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-36"/> - <use x="147.412109" xlink:href="#DejaVuSans-36"/> - </g> - </g> - </g> - <g id="ytick_13"> - <g id="line2d_61"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m34ca560bde" y="299.033766"/> - </g> - </g> - <g id="line2d_62"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m3441777f0b" y="299.033766"/> - </g> - </g> - <g id="text_30"> - <!-- −65 --> - <g transform="translate(42.674375 303.592829)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-36"/> - <use x="147.412109" xlink:href="#DejaVuSans-35"/> - </g> - </g> - </g> - <g id="ytick_14"> - <g id="line2d_63"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m34ca560bde" y="276.592208"/> - </g> - </g> - <g id="line2d_64"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m3441777f0b" y="276.592208"/> - </g> - </g> - <g id="text_31"> - <!-- −64 --> - <g transform="translate(42.674375 281.15127)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-36"/> - <use x="147.412109" xlink:href="#DejaVuSans-34"/> - </g> - </g> - </g> - <g id="ytick_15"> - <g id="line2d_65"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m34ca560bde" y="254.150649"/> - </g> - </g> - <g id="line2d_66"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m3441777f0b" y="254.150649"/> - </g> - </g> - <g id="text_32"> - <!-- −63 --> - <g transform="translate(42.674375 258.709712)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-36"/> - <use x="147.412109" xlink:href="#DejaVuSans-33"/> - </g> - </g> - </g> - <g id="ytick_16"> - <g id="line2d_67"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m34ca560bde" y="231.709091"/> - </g> - </g> - <g id="line2d_68"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m3441777f0b" y="231.709091"/> - </g> - </g> - <g id="text_33"> - <!-- −62 --> - <g transform="translate(42.674375 236.268153)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-36"/> - <use x="147.412109" xlink:href="#DejaVuSans-32"/> - </g> - </g> - </g> - </g> - </g> - </g> - <defs> - <clipPath id="p1004852053"> - <rect height="157.090909" width="446.4" x="72" y="43.2"/> - </clipPath> - <clipPath id="pc483d8f8ff"> - <rect height="157.090909" width="446.4" x="72" y="231.709091"/> - </clipPath> - </defs> -</svg> diff --git a/lib/matplotlib/tests/baseline_images/test_contour/contour_datetime_axis.png b/lib/matplotlib/tests/baseline_images/test_contour/contour_datetime_axis.png index 91d04aa441e580f4c9335c2b64f4d228e6cea1ad..75b36281aa540fd3c615ec75cd11dd1d9d5d20ee 100644 GIT binary patch literal 48820 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 literal 56789 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ⅇP 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¬*T+(-dZh}e%GJ}8QuY<K})blMR_W2)lf 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 Jh`sdue*lKs8h8Kz diff --git a/lib/matplotlib/tests/baseline_images/test_dates/date_axhline.png b/lib/matplotlib/tests/baseline_images/test_dates/date_axhline.png index 8077953f5a5759fcbe3e1a0bb1d5602d24d5ccb6..57c4ad763f37debcb7a5b7bf080c318323a93251 100644 GIT binary patch literal 21790 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 literal 26570 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 J_28-B{tGQafwuqv diff --git a/lib/matplotlib/tests/baseline_images/test_dates/date_axhspan.png b/lib/matplotlib/tests/baseline_images/test_dates/date_axhspan.png index 2b3faae7396c1c5985a0ff92f7877b055b435909..f13d879e9f5388774c966e533685fc242b55b2b9 100644 GIT binary patch literal 21360 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 P;-DUvJ(hUn+?D?Ubzx_F literal 21765 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 diff --git a/lib/matplotlib/tests/baseline_images/test_dates/date_axvline.png b/lib/matplotlib/tests/baseline_images/test_dates/date_axvline.png index 856b6cab10a0eb4476b5d14411e0ef3535c7befa..f6b19c37af88a9ebefed4c25b7f9e41da091cd58 100644 GIT binary patch literal 15897 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 literal 15972 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 UXx)4qJ4De?(^1X(@$Aq42R<9v5dZ)H diff --git a/lib/matplotlib/tests/baseline_images/test_dates/date_inverted_limit.png b/lib/matplotlib/tests/baseline_images/test_dates/date_inverted_limit.png index 4e55706c55fd9b02b369ae27d2add4cce49c37d2..4b8d15155717a5f5d3b7a8240be4e859ba70885c 100644 GIT binary patch literal 21707 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 literal 26467 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 ZH;8MUe%zz71Ixrfk&rzbfBN#B{{?DDlH33Q diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index fda0fe0f362b..e1788f26290f 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -551,7 +551,8 @@ def test_single_point(): plt.plot('b', 'b', 'o', data=data) -@image_comparison(baseline_images=['single_date']) +@image_comparison(baseline_images=['single_date'], extensions=['png'], + style='mpl20') def test_single_date(): time1 = [721964.0] data1 = [-65.54] @@ -1156,7 +1157,7 @@ def test_pcolormesh(): @image_comparison(baseline_images=['pcolormesh_datetime_axis'], - extensions=['png'], remove_text=False) + extensions=['png'], remove_text=False, style='mpl20') def test_pcolormesh_datetime_axis(): fig = plt.figure() fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15) @@ -1182,7 +1183,7 @@ def test_pcolormesh_datetime_axis(): @image_comparison(baseline_images=['pcolor_datetime_axis'], - extensions=['png'], remove_text=False) + extensions=['png'], remove_text=False, style='mpl20') def test_pcolor_datetime_axis(): fig = plt.figure() fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15) diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py index 7c451ca16c77..9709a151a350 100644 --- a/lib/matplotlib/tests/test_contour.py +++ b/lib/matplotlib/tests/test_contour.py @@ -224,7 +224,7 @@ def test_given_colors_levels_and_extends(): @image_comparison(baseline_images=['contour_datetime_axis'], - extensions=['png'], remove_text=False) + extensions=['png'], remove_text=False, style='mpl20') def test_contour_datetime_axis(): fig = plt.figure() fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15) diff --git a/lib/matplotlib/tests/test_dates.py b/lib/matplotlib/tests/test_dates.py index e9b2e18c56f9..67b902f121a1 100644 --- a/lib/matplotlib/tests/test_dates.py +++ b/lib/matplotlib/tests/test_dates.py @@ -322,7 +322,7 @@ def test_empty_date_with_year_formatter(): def test_auto_date_locator(): def _create_auto_date_locator(date1, date2): - locator = mdates.AutoDateLocator() + locator = mdates.AutoDateLocator(interval_multiples=False) locator.create_dummy_axis() locator.set_view_interval(mdates.date2num(date1), mdates.date2num(date2)) @@ -423,10 +423,12 @@ def _create_auto_date_locator(date1, date2): '1997-05-01 00:00:00+00:00', '1997-05-22 00:00:00+00:00'] ], [datetime.timedelta(days=40), - ['1997-01-01 00:00:00+00:00', '1997-01-08 00:00:00+00:00', - '1997-01-15 00:00:00+00:00', '1997-01-22 00:00:00+00:00', - '1997-01-29 00:00:00+00:00', '1997-02-01 00:00:00+00:00', - '1997-02-08 00:00:00+00:00'] + ['1997-01-01 00:00:00+00:00', '1997-01-05 00:00:00+00:00', + '1997-01-09 00:00:00+00:00', '1997-01-13 00:00:00+00:00', + '1997-01-17 00:00:00+00:00', '1997-01-21 00:00:00+00:00', + '1997-01-25 00:00:00+00:00', '1997-01-29 00:00:00+00:00', + '1997-02-01 00:00:00+00:00', '1997-02-05 00:00:00+00:00', + '1997-02-09 00:00:00+00:00'] ], [datetime.timedelta(hours=40), ['1997-01-01 00:00:00+00:00', '1997-01-01 04:00:00+00:00', diff --git a/setup.cfg.template b/setup.cfg.template index 8d4669492afb..7ccfb7edcbe4 100644 --- a/setup.cfg.template +++ b/setup.cfg.template @@ -18,7 +18,7 @@ [status] # To suppress display of the dependencies and their versions # at the top of the build log, uncomment the following line: -#suppress = True +#suppress = True [packages] # There are a number of subpackages of Matplotlib that are considered From 740ec166081dbb4d3cf9b971eb167fe45e706302 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Wed, 4 Jul 2018 12:43:23 -0700 Subject: [PATCH 0894/1161] DOC: add tutorial and example --- .../next_whats_new/subplot_get_gridspec.rst | 2 +- .../gridspec_and_subplots.py | 24 +++++++++++++++++++ tutorials/intermediate/gridspec.py | 16 +++++++++++++ 3 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 examples/subplots_axes_and_figures/gridspec_and_subplots.py diff --git a/doc/users/next_whats_new/subplot_get_gridspec.rst b/doc/users/next_whats_new/subplot_get_gridspec.rst index 9d6cfde3e387..2f6841303b42 100644 --- a/doc/users/next_whats_new/subplot_get_gridspec.rst +++ b/doc/users/next_whats_new/subplot_get_gridspec.rst @@ -2,7 +2,7 @@ Add ``ax.get_gridspec`` to `.SubplotBase` ----------------------------------------- New method `.SubplotBase.get_gridspec` is added so that users can -easily get the gridspec that went into making as axes: +easily get the gridspec that went into making an axes: .. code:: diff --git a/examples/subplots_axes_and_figures/gridspec_and_subplots.py b/examples/subplots_axes_and_figures/gridspec_and_subplots.py new file mode 100644 index 000000000000..a263ef8893a2 --- /dev/null +++ b/examples/subplots_axes_and_figures/gridspec_and_subplots.py @@ -0,0 +1,24 @@ +""" +================================================== +Combining two subplots using subplots and GridSpec +================================================== + +Sometimes we want to combine two subplots in an axes layout created with +`~.Figure.subplots`. We can get the `~.gridspec.GridSpec` from the axes +and then remove the covered axes and fill the gap with a new bigger axes. +Here we create a layout with the bottom two axes in the last column combined. + +See: :doc:`/tutorials/intermediate/gridspec` +""" +import matplotlib.pyplot as plt + +fig, axs = plt.subplots(ncols=3, nrows=3) +gs = axs[1, 2].get_gridspec() +# remove the underlying axes +for ax in axs[1:, -1]: + ax.remove() +axbig = fig.add_subplot(gs[1:, -1]) +axbig.annotate('Big Axes \nGridSpec[1:, -1]', (0.1, 0.5), + xycoords='axes fraction', va='center') + +fig.tight_layout() diff --git a/tutorials/intermediate/gridspec.py b/tutorials/intermediate/gridspec.py index 54e874bcd499..64f444e4c73a 100644 --- a/tutorials/intermediate/gridspec.py +++ b/tutorials/intermediate/gridspec.py @@ -122,6 +122,22 @@ fig5.tight_layout() +############################################################################ +# The ``subplots`` and ``gridspec`` methods can be combined since it is +# sometimes more convenient to make most of the subplots using ``subplots`` +# and then remove some and combine them. Here we create a layout with +# the bottom two axes in the last column combined. + +fig, axs = plt.subplots(ncols=3, nrows=3) +gs = axs[1, 2].get_gridspec() +# remove the underlying axes +for ax in axs[1:, -1]: + ax.remove() +axbig = fig.add_subplot(gs[1:, -1]) +axbig.annotate('Big Axes \nGridSpec[1:, -1]', (0.1, 0.5), + xycoords='axes fraction', va='center') + +fig.tight_layout() ############################################################################### # Fine Adjustments to a Gridspec Layout From b71fd6ad032539000401ce59648979c8487280dc Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Wed, 4 Jul 2018 21:33:11 +0200 Subject: [PATCH 0895/1161] Inline setup_external_compile into setupext. --- pytest.ini | 1 - setup_external_compile.py | 33 --------------------------------- setupext.py | 23 ++++++++++++----------- 3 files changed, 12 insertions(+), 45 deletions(-) delete mode 100644 setup_external_compile.py diff --git a/pytest.ini b/pytest.ini index c372f3404d1b..fd510238c86b 100644 --- a/pytest.ini +++ b/pytest.ini @@ -12,7 +12,6 @@ pep8ignore = setup.py E402 setupext.py E301 E302 E501 - setup_external_compile.py E302 E711 versioneer.py ALL # External file. tools/gh_api.py ALL # External file. diff --git a/setup_external_compile.py b/setup_external_compile.py deleted file mode 100644 index 40f5e8f4aa89..000000000000 --- a/setup_external_compile.py +++ /dev/null @@ -1,33 +0,0 @@ -# This file is copied from https://github.com/jbmohler/matplotlib-winbuild -# Only the needed functions were kept. -""" -This file extracts and builds library dependencies libpng, zlib, & freetype2 on -MS Windows. It also extract tcl/tk for the header files. - -There are four possible build targets -- one for each permutation of VS 2008, -2010 and 32/64 bit. This builds the configuration that matches the Python -install that is executing. - -For Python 2.6, 2.7, 3.2: - -- VS 2008, 32 bit -- Windows SDK v7.0 -- VS 2008, 64 bit -- Windows SDK v7.0 - -For Python 3.3, 3.4: - -- VS 2010, 32 bit -- Windows SDK v7.1 -- VS 2010, 64 bit -- Windows SDK v7.1 -""" - -import platform -import distutils.msvc9compiler as msvc - -# Configuration selection & declaration: -X64 = platform.architecture()[0] == '64bit' -xXX = 'x64' if X64 else 'x86' - -def prepare_build_cmd(build_cmd, **kwargs): - VCVARSALL = msvc.find_vcvarsall(10.0) - if VCVARSALL == None: - raise RuntimeError('Microsoft VS 2010 required') - return build_cmd.format(vcvarsall=VCVARSALL, xXX=xXX, **kwargs) diff --git a/setupext.py b/setupext.py index 752ef3246cae..fbf8a8f599c6 100644 --- a/setupext.py +++ b/setupext.py @@ -1124,26 +1124,27 @@ def do_custom_build(self): subprocess.check_call(["make"], env=env, cwd=src_path) else: # compilation on windows + shutil.rmtree(str(Path(src_path, "objs")), ignore_errors=True) FREETYPE_BUILD_CMD = r""" call "%ProgramFiles%\Microsoft SDKs\Windows\v7.0\Bin\SetEnv.Cmd" ^ /Release /{xXX} /xp call "{vcvarsall}" {xXX} set MSBUILD=C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe %MSBUILD% "builds\windows\{vc20xx}\freetype.sln" ^ - /t:Clean;Build /p:Configuration="{config}";Platform={WinXX} + /t:Clean;Build /p:Configuration="Release";Platform={WinXX} """ - from setup_external_compile import prepare_build_cmd, X64, xXX + import distutils.msvc9compiler as msvc # Note: freetype has no build profile for 2014, so we don't bother... vc = 'vc2010' - WinXX = 'x64' if X64 else 'Win32' - - cmdfile = os.path.join("build", "build_freetype.cmd") - with open(cmdfile, 'w') as cmd: - cmd.write(prepare_build_cmd(FREETYPE_BUILD_CMD, vc20xx=vc, WinXX=WinXX, - config='Release')) - - shutil.rmtree(str(Path(src_path, "objs")), ignore_errors=True) - subprocess.check_call([os.path.abspath(cmdfile)], + WinXX = 'x64' if platform.architecture()[0] == '64bit' else 'Win32' + xXX = 'x64' if platform.architecture()[0] == '64bit' else 'x86' + vcvarsall = msvc.find_vcvarsall(10.0) + if vcvarsall is None: + raise RuntimeError('Microsoft VS 2010 required') + cmdfile = Path("build/build_freetype.cmd") + cmdfile.write_text(FREETYPE_BUILD_CMD.format( + vc20xx=vc, WinXX=WinXX, xXX=xXX, vcvarsall=vcvarsall)) + subprocess.check_call([str(cmdfile.resolve())], shell=True, cwd=src_path) # Move to the corresponding Unix build path. Path(src_path, "objs/.libs").mkdir() From 34c59dd29265d209d0509cc61317d188db750455 Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Thu, 5 Jul 2018 12:03:37 +0100 Subject: [PATCH 0896/1161] Add parameter doc to save_diff_image --- lib/matplotlib/testing/compare.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/matplotlib/testing/compare.py b/lib/matplotlib/testing/compare.py index 0f5e149a567b..a553980e3ed8 100644 --- a/lib/matplotlib/testing/compare.py +++ b/lib/matplotlib/testing/compare.py @@ -451,6 +451,16 @@ def compare_images(expected, actual, tol, in_decorator=False): def save_diff_image(expected, actual, output): + ''' + Parameters + ---------- + expected : str + File path of expected image. + actual : str + File path of actual image. + output : str + File path to save difference image to. + ''' # Drop alpha channels, similarly to compare_images. expectedImage = _png.read_png(expected)[..., :3] actualImage = _png.read_png(actual)[..., :3] From f434d6d3fd62abac5a74a52b018ceb006896b261 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Thu, 15 Feb 2018 10:52:11 +0100 Subject: [PATCH 0897/1161] Use TemporaryDirectory instead of mkdtemp in a few places. --- lib/matplotlib/backends/backend_pgf.py | 4 ++-- lib/matplotlib/tests/test_animation.py | 1 - lib/matplotlib/tests/test_backend_bases.py | 25 +++++++--------------- lib/matplotlib/tests/test_style.py | 25 ++++++++++------------ 4 files changed, 21 insertions(+), 34 deletions(-) diff --git a/lib/matplotlib/backends/backend_pgf.py b/lib/matplotlib/backends/backend_pgf.py index fda2ac34fe8d..a093bd6a99d0 100644 --- a/lib/matplotlib/backends/backend_pgf.py +++ b/lib/matplotlib/backends/backend_pgf.py @@ -311,12 +311,12 @@ def _cleanup(self): self.latex.communicate() self.latex_stdin_utf8.close() self.latex.stdout.close() - except: + except Exception: pass try: self._shutil.rmtree(self.tmpdir) LatexManager._unclean_instances.discard(self) - except: + except Exception: sys.stderr.write("error deleting tmp directory %s\n" % self.tmpdir) def __del__(self): diff --git a/lib/matplotlib/tests/test_animation.py b/lib/matplotlib/tests/test_animation.py index bc3832a6ed57..4e77883b732e 100644 --- a/lib/matplotlib/tests/test_animation.py +++ b/lib/matplotlib/tests/test_animation.py @@ -1,7 +1,6 @@ import os from pathlib import Path import sys -import tempfile import numpy as np import pytest diff --git a/lib/matplotlib/tests/test_backend_bases.py b/lib/matplotlib/tests/test_backend_bases.py index 048da404c81f..5310db42f956 100644 --- a/lib/matplotlib/tests/test_backend_bases.py +++ b/lib/matplotlib/tests/test_backend_bases.py @@ -1,15 +1,10 @@ -from matplotlib.backend_bases import FigureCanvasBase -from matplotlib.backend_bases import RendererBase -from matplotlib.backend_bases import LocationEvent - +from matplotlib.backend_bases import ( + FigureCanvasBase, LocationEvent, RendererBase) import matplotlib.pyplot as plt import matplotlib.transforms as transforms import matplotlib.path as path import numpy as np -import os -import shutil -import tempfile import pytest @@ -52,16 +47,12 @@ def check(master_transform, paths, all_transforms, check(id, paths, tforms, offsets, facecolors[0:1], edgecolors) -def test_get_default_filename(): - try: - test_dir = tempfile.mkdtemp() - plt.rcParams['savefig.directory'] = test_dir - fig = plt.figure() - canvas = FigureCanvasBase(fig) - filename = canvas.get_default_filename() - assert filename == 'image.png' - finally: - shutil.rmtree(test_dir) +def test_get_default_filename(tmpdir): + plt.rcParams['savefig.directory'] = str(tmpdir) + fig = plt.figure() + canvas = FigureCanvasBase(fig) + filename = canvas.get_default_filename() + assert filename == 'image.png' @pytest.mark.backend('pdf') diff --git a/lib/matplotlib/tests/test_style.py b/lib/matplotlib/tests/test_style.py index 9ce753349ccd..5c3d59a286f4 100644 --- a/lib/matplotlib/tests/test_style.py +++ b/lib/matplotlib/tests/test_style.py @@ -2,8 +2,9 @@ from contextlib import contextmanager import gc import os +from pathlib import Path import shutil -import tempfile +from tempfile import TemporaryDirectory import warnings import pytest @@ -12,6 +13,7 @@ from matplotlib import pyplot as plt, style from matplotlib.style.core import USER_LIBRARY_PATHS, STYLE_EXTENSION + PARAM = 'image.cmap' VALUE = 'pink' DUMMY_SETTINGS = {PARAM: VALUE} @@ -23,21 +25,16 @@ def temp_style(style_name, settings=None): if not settings: settings = DUMMY_SETTINGS temp_file = '%s.%s' % (style_name, STYLE_EXTENSION) - - # Write style settings to file in the temp directory. - tempdir = tempfile.mkdtemp() - with open(os.path.join(tempdir, temp_file), 'w') as f: - for k, v in settings.items(): - f.write('%s: %s' % (k, v)) - - # Add temp directory to style path and reload so we can access this style. - USER_LIBRARY_PATHS.append(tempdir) - style.reload_library() - try: - yield + with TemporaryDirectory() as tmpdir: + # Write style settings to file in the tmpdir. + Path(tmpdir, temp_file).write_text( + "\n".join(map("{0[0]}: {0[1]}".format, settings.items()))) + # Add tmpdir to style path and reload so we can access this style. + USER_LIBRARY_PATHS.append(tmpdir) + style.reload_library() + yield finally: - shutil.rmtree(tempdir) style.reload_library() From c59f1b7666ebfb9abe153075305115901a19e93c Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Mon, 25 Jun 2018 13:30:05 +0200 Subject: [PATCH 0898/1161] Bump pgi requirement to 0.0.11.2. This version of pgi fixes a bug in the calling of callbacks, which affected timers in the GTK3 backends. Remove a special-casing in the test suite accordingly (in test_backends_interactive.py). --- .travis.yml | 6 ++--- INSTALL.rst | 17 +++++++----- lib/matplotlib/backends/_gtk3_compat.py | 4 ++- .../tests/test_backends_interactive.py | 27 +++++++++---------- 4 files changed, 28 insertions(+), 26 deletions(-) diff --git a/.travis.yml b/.travis.yml index 59be49011f60..f92e87b1021a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -129,15 +129,15 @@ install: # install was successful by trying to import the toolkit (sometimes, the # install appears to be successful but shared libraries cannot be loaded at # runtime, so an actual import is a better check). - python -mpip install cairocffi pgi && + python -mpip install --upgrade cairocffi>=0.8 pgi>=0.0.11.2 && python -c 'import pgi as gi; gi.require_version("Gtk", "3.0"); from pgi.repository import Gtk' && echo 'pgi is available' || echo 'pgi is not available' - python -mpip install pyqt5 && + python -mpip install --upgrade pyqt5 && python -c 'import PyQt5.QtCore' && echo 'PyQt5 is available' || echo 'PyQt5 is not available' - python -mpip install -U \ + python -mpip install --upgrade \ -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-14.04 \ wxPython && python -c 'import wx' && diff --git a/INSTALL.rst b/INSTALL.rst index d83228dfafd1..2f57527115d8 100644 --- a/INSTALL.rst +++ b/INSTALL.rst @@ -150,14 +150,17 @@ Optionally, you can also install a number of packages to enable better user interface toolkits. See :ref:`what-is-a-backend` for more details on the optional Matplotlib backends and the capabilities they provide. -* :term:`tk` (>= 8.3, != 8.6.0 or 8.6.1): for the TkAgg backend; +* :term:`tk` (>= 8.3, != 8.6.0 or 8.6.1): for the Tk-based backends; * `PyQt4 <https://pypi.python.org/pypi/PyQt4>`_ (>= 4.4) or - `PySide <https://pypi.python.org/pypi/PySide>`_: for the Qt4Agg backend; -* `PyQt5 <https://pypi.python.org/pypi/PyQt5>`_: for the Qt5Agg backend; -* :term:`wxpython` (>= 4): for the WX or WXAgg backend; -* `cairocffi <https://cairocffi.readthedocs.io/en/latest/>`_ (>=0.8) or + `PySide <https://pypi.python.org/pypi/PySide>`_: for the Qt4-based backends; +* `PyQt5 <https://pypi.python.org/pypi/PyQt5>`_: for the Qt5-based backends; +* `PyGObject <https://pypi.org/project/PyGObject/>`_ or + `pgi <https://pypi.org/project/pgi/>`_ (>= 0.0.11.2): for the GTK3-based + backends; +* :term:`wxpython` (>= 4): for the WX-based backends; +* `cairocffi <https://cairocffi.readthedocs.io/en/latest/>`_ (>= 0.8) or `pycairo <https://pypi.python.org/pypi/pycairo>`_: for the cairo-based - backends (the latter is required for GTK3Cairo); + backends; * `Tornado <https://pypi.python.org/pypi/tornado>`_: for the WebAgg backend; For better support of animation output format and image file formats, LaTeX, @@ -167,7 +170,7 @@ etc., you can install the following: <https://libav.org/avconv.html>`_: for saving movies; * `ImageMagick <https://www.imagemagick.org/script/index.php>`_: for saving animated gifs; -* `Pillow <https://pillow.readthedocs.io/en/latest/>`_ (>=3.4): for a larger +* `Pillow <https://pillow.readthedocs.io/en/latest/>`_ (>= 3.4): for a larger selection of image file formats: JPEG, BMP, and TIFF image files; * `LaTeX <https://miktex.org/>`_ and `GhostScript <https://ghostscript.com/download/>`_ (for rendering text with LaTeX). diff --git a/lib/matplotlib/backends/_gtk3_compat.py b/lib/matplotlib/backends/_gtk3_compat.py index 5670e5375497..e0ac33c8d343 100644 --- a/lib/matplotlib/backends/_gtk3_compat.py +++ b/lib/matplotlib/backends/_gtk3_compat.py @@ -25,7 +25,7 @@ try: import pgi as gi except ImportError: - raise ImportError("The Gtk3 backend requires PyGObject or pgi") + raise ImportError("The GTK3 backends require PyGObject or pgi") from .backend_cairo import cairo # noqa # The following combinations are allowed: @@ -38,6 +38,8 @@ if gi.__name__ == "pgi" and cairo.__name__ == "cairo": raise ImportError("pgi and pycairo are not compatible") +if gi.__name__ == "pgi" and gi.version_info < (0, 0, 11, 2): + raise ImportError("The GTK3 backends are incompatible with pgi<0.0.11.2") gi.require_version("Gtk", "3.0") globals().update( {name: diff --git a/lib/matplotlib/tests/test_backends_interactive.py b/lib/matplotlib/tests/test_backends_interactive.py index 0d4d41420839..775ae88846a7 100644 --- a/lib/matplotlib/tests/test_backends_interactive.py +++ b/lib/matplotlib/tests/test_backends_interactive.py @@ -17,7 +17,8 @@ def _get_testable_interactive_backends(): backends = [] - for deps, backend in [(["cairocffi", "pgi"], "gtk3agg"), + # gtk3agg fails on Travis, needs to be investigated. + for deps, backend in [ # (["cairocffi", "pgi"], "gtk3agg"), (["cairocffi", "pgi"], "gtk3cairo"), (["PyQt5"], "qt5agg"), (["cairocffi", "PyQt5"], "qt5cairo"), @@ -34,16 +35,15 @@ def _get_testable_interactive_backends(): return backends -# 1. Using a timer not only allows testing of timers (on other backends), but -# is also necessary on gtk3 and wx, where a direct call to -# key_press_event("q") from draw_event causes breakage due to the canvas -# widget being deleted too early. -# 2. On gtk3, we cannot even test the timer setup (on Travis, which uses pgi) -# due to https://github.com/pygobject/pgi/issues/45. So we just cleanly -# exit from the draw_event. +# Using a timer not only allows testing of timers (on other backends), but is +# also necessary on gtk3 and wx, where a direct call to key_press_event("q") +# from draw_event causes breakage due to the canvas widget being deleted too +# early. Also, gtk3 redefines key_press_event with a different signature, so +# we directly invoke it from the superclass instead. _test_script = """\ import sys from matplotlib import pyplot as plt, rcParams +from matplotlib.backend_bases import FigureCanvasBase rcParams.update({ "webagg.open_in_browser": False, "webagg.port_retries": 1, @@ -53,13 +53,10 @@ def _get_testable_interactive_backends(): ax = fig.add_subplot(111) ax.plot([0, 1], [2, 3]) -if rcParams["backend"].startswith("GTK3"): - fig.canvas.mpl_connect("draw_event", lambda event: sys.exit(0)) -else: - timer = fig.canvas.new_timer(1) - timer.add_callback(fig.canvas.key_press_event, "q") - # Trigger quitting upon draw. - fig.canvas.mpl_connect("draw_event", lambda event: timer.start()) +timer = fig.canvas.new_timer(1) +timer.add_callback(FigureCanvasBase.key_press_event, fig.canvas, "q") +# Trigger quitting upon draw. +fig.canvas.mpl_connect("draw_event", lambda event: timer.start()) plt.show() """ From 33a2624d79665079026a726c6489b99b18c37902 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Fri, 8 Jun 2018 22:38:32 +0200 Subject: [PATCH 0899/1161] Also use TemporaryDirectory instead of mkstemp in backend_ps. --- lib/matplotlib/backends/backend_ps.py | 21 +++++++-------------- lib/matplotlib/tests/test_style.py | 2 +- 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/lib/matplotlib/backends/backend_ps.py b/lib/matplotlib/backends/backend_ps.py index ab52fbc53034..307de8d5a088 100644 --- a/lib/matplotlib/backends/backend_ps.py +++ b/lib/matplotlib/backends/backend_ps.py @@ -13,7 +13,7 @@ import shutil import subprocess import sys -from tempfile import mkstemp +from tempfile import TemporaryDirectory import time import numpy as np @@ -1150,19 +1150,15 @@ def print_figure_impl(fh): if rcParams['ps.usedistiller']: # We are going to use an external program to process the output. # Write to a temporary file. - fd, tmpfile = mkstemp() - try: - with open(fd, 'w', encoding='latin-1') as fh: + with TemporaryDirectory() as tmpdir: + tmpfile = os.path.join(tmpdir, "tmp.ps") + with open(tmpfile, 'w', encoding='latin-1') as fh: print_figure_impl(fh) if rcParams['ps.usedistiller'] == 'ghostscript': gs_distill(tmpfile, isEPSF, ptype=papertype, bbox=bbox) elif rcParams['ps.usedistiller'] == 'xpdf': xpdf_distill(tmpfile, isEPSF, ptype=papertype, bbox=bbox) - _move_path_to_path_or_stream(tmpfile, outfile) - finally: - if os.path.isfile(tmpfile): - os.unlink(tmpfile) else: # Write directly to outfile. @@ -1255,9 +1251,9 @@ def write(self, *kl, **kwargs): # write to a temp file, we'll move it to outfile when done - fd, tmpfile = mkstemp() - try: - with open(fd, 'w', encoding='latin-1') as fh: + with TemporaryDirectory() as tmpdir: + tmpfile = os.path.join(tmpdir, "tmp.ps") + with open(tmpfile, 'w', encoding='latin-1') as fh: # write the Encapsulated PostScript headers print("%!PS-Adobe-3.0 EPSF-3.0", file=fh) if title: @@ -1344,9 +1340,6 @@ def write(self, *kl, **kwargs): rotated=psfrag_rotated) _move_path_to_path_or_stream(tmpfile, outfile) - finally: - if os.path.isfile(tmpfile): - os.unlink(tmpfile) def convert_psfrags(tmpfile, psfrags, font_preamble, custom_preamble, diff --git a/lib/matplotlib/tests/test_style.py b/lib/matplotlib/tests/test_style.py index 5c3d59a286f4..f7b1a4a65af1 100644 --- a/lib/matplotlib/tests/test_style.py +++ b/lib/matplotlib/tests/test_style.py @@ -29,7 +29,7 @@ def temp_style(style_name, settings=None): with TemporaryDirectory() as tmpdir: # Write style settings to file in the tmpdir. Path(tmpdir, temp_file).write_text( - "\n".join(map("{0[0]}: {0[1]}".format, settings.items()))) + "\n".join("{}: {}".format(k, v) for k, v in settings.items())) # Add tmpdir to style path and reload so we can access this style. USER_LIBRARY_PATHS.append(tmpdir) style.reload_library() From 365d54c7eadcad1d9ff065299f75da7ca5f80d28 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Thu, 5 Jul 2018 23:45:31 +0200 Subject: [PATCH 0900/1161] Use plt.subplots() --- .../lines_bars_and_markers/simple_plot.py | 2 - examples/misc/load_converter.py | 3 +- examples/pyplots/annotate_transform.py | 3 +- examples/pyplots/auto_subplots_adjust.py | 3 +- .../tick_labels_from_values.py | 3 +- lib/matplotlib/lines.py | 3 +- lib/matplotlib/mlab.py | 3 +- lib/matplotlib/tests/test_artist.py | 3 +- lib/matplotlib/tests/test_axes.py | 117 +++++------------- lib/matplotlib/tests/test_backend_svg.py | 3 +- .../tests/test_backends_interactive.py | 3 +- lib/matplotlib/tests/test_colorbar.py | 3 +- .../tests/test_constrainedlayout.py | 1 - lib/matplotlib/tests/test_contour.py | 24 ++-- lib/matplotlib/tests/test_cycles.py | 18 +-- lib/matplotlib/tests/test_image.py | 40 ++---- lib/matplotlib/tests/test_tightlayout.py | 6 +- lib/matplotlib/tests/test_ttconv.py | 3 +- tutorials/advanced/path_tutorial.py | 10 +- tutorials/advanced/transforms_tutorial.py | 13 +- tutorials/intermediate/artists.py | 7 +- tutorials/introductory/usage.py | 3 +- tutorials/text/pgf.py | 6 +- 23 files changed, 85 insertions(+), 195 deletions(-) diff --git a/examples/lines_bars_and_markers/simple_plot.py b/examples/lines_bars_and_markers/simple_plot.py index 20f2875d6a9d..f51e16015b2e 100644 --- a/examples/lines_bars_and_markers/simple_plot.py +++ b/examples/lines_bars_and_markers/simple_plot.py @@ -14,8 +14,6 @@ t = np.arange(0.0, 2.0, 0.01) s = 1 + np.sin(2 * np.pi * t) -# Note that using plt.subplots below is equivalent to using -# fig = plt.figure() and then ax = fig.add_subplot(111) fig, ax = plt.subplots() ax.plot(t, s) diff --git a/examples/misc/load_converter.py b/examples/misc/load_converter.py index 86a92ab72359..33a482cb27b7 100644 --- a/examples/misc/load_converter.py +++ b/examples/misc/load_converter.py @@ -17,8 +17,7 @@ converters={0: bytespdate2num('%d-%b-%y')}, skiprows=1, usecols=(0, 2), unpack=True) -fig = plt.figure() -ax = fig.add_subplot(111) +fig, ax = plt.subplots() ax.plot_date(dates, closes, '-') fig.autofmt_xdate() plt.show() diff --git a/examples/pyplots/annotate_transform.py b/examples/pyplots/annotate_transform.py index 67e7d6536289..249dee2efdc1 100644 --- a/examples/pyplots/annotate_transform.py +++ b/examples/pyplots/annotate_transform.py @@ -13,8 +13,7 @@ x = np.arange(0, 10, 0.005) y = np.exp(-x/2.) * np.sin(2*np.pi*x) -fig = plt.figure() -ax = fig.add_subplot(111) +fig, ax = plt.subplots() ax.plot(x, y) ax.set_xlim(0, 10) ax.set_ylim(-1, 1) diff --git a/examples/pyplots/auto_subplots_adjust.py b/examples/pyplots/auto_subplots_adjust.py index 7b13cda9e90b..574fb15a8bb3 100644 --- a/examples/pyplots/auto_subplots_adjust.py +++ b/examples/pyplots/auto_subplots_adjust.py @@ -13,8 +13,7 @@ """ import matplotlib.pyplot as plt import matplotlib.transforms as mtransforms -fig = plt.figure() -ax = fig.add_subplot(111) +fig, ax = plt.subplots() ax.plot(range(10)) ax.set_yticks((2,5,7)) labels = ax.set_yticklabels(('really, really, really', 'long', 'labels')) diff --git a/examples/ticks_and_spines/tick_labels_from_values.py b/examples/ticks_and_spines/tick_labels_from_values.py index fca78eb46ff1..c504796b7a1b 100644 --- a/examples/ticks_and_spines/tick_labels_from_values.py +++ b/examples/ticks_and_spines/tick_labels_from_values.py @@ -17,8 +17,7 @@ import matplotlib.pyplot as plt from matplotlib.ticker import FuncFormatter, MaxNLocator -fig = plt.figure() -ax = fig.add_subplot(111) +fig, ax = plt.subplots() xs = range(26) ys = range(26) labels = list('abcdefghijklmnopqrstuvwxyz') diff --git a/lib/matplotlib/lines.py b/lib/matplotlib/lines.py index 2de67b64c814..3f30770767d3 100644 --- a/lib/matplotlib/lines.py +++ b/lib/matplotlib/lines.py @@ -1372,8 +1372,7 @@ def process_selected(self, ind, xs, ys): self.markers.set_data(xs, ys) self.canvas.draw() - fig = plt.figure() - ax = fig.add_subplot(111) + fig, ax = plt.subplots() x, y = np.random.rand(2, 30) line, = ax.plot(x, y, 'bs-', picker=5) diff --git a/lib/matplotlib/mlab.py b/lib/matplotlib/mlab.py index 1cc3b434d2ee..477397915d26 100644 --- a/lib/matplotlib/mlab.py +++ b/lib/matplotlib/mlab.py @@ -3876,8 +3876,7 @@ def cross_from_below(x, threshold): t = np.arange(0.0, 2.0, 0.1) s = np.sin(2*np.pi*t) - fig = plt.figure() - ax = fig.add_subplot(111) + fig, ax = plt.subplots() ax.plot(t, s, '-o') ax.axhline(0.5) ax.axhline(-0.5) diff --git a/lib/matplotlib/tests/test_artist.py b/lib/matplotlib/tests/test_artist.py index 4b4c76ce293d..283db9abe97e 100644 --- a/lib/matplotlib/tests/test_artist.py +++ b/lib/matplotlib/tests/test_artist.py @@ -129,8 +129,7 @@ def test_cull_markers(): x = np.random.random(20000) y = np.random.random(20000) - fig = plt.figure() - ax = fig.add_subplot(111) + fig, ax = plt.subplots() ax.plot(x, y, 'k.') ax.set_xlim(2, 3) diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index c8993dfaeb2f..093c89d7c0b9 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -821,9 +821,7 @@ def test_axhspan_epoch(): remove_text=True, extensions=['png']) def test_hexbin_extent(): # this test exposes sf bug 2856228 - fig = plt.figure() - - ax = fig.add_subplot(111) + fig, ax = plt.subplots() data = (np.arange(2000) / 2000).reshape((2, 1000)) x, y = data @@ -832,8 +830,7 @@ def test_hexbin_extent(): # Reuse testcase from above for a labeled data test data = {"x": x, "y": y} - fig = plt.figure() - ax = fig.add_subplot(111) + fig, ax = plt.subplots() ax.hexbin("x", "y", extent=[.1, .3, .6, .7], data=data) @@ -852,9 +849,7 @@ def __init__(self, x, y): self.x = x self.y = y - fig = plt.figure() - - ax = fig.add_subplot(111) + fig, ax = plt.subplots() data = (np.arange(200) / 200).reshape((2, 100)) x, y = data hb = ax.hexbin(x, y, extent=[.1, .3, .6, .7], picker=-1) @@ -867,14 +862,13 @@ def __init__(self, x, y): extensions=['png']) def test_hexbin_log(): # Issue #1636 - fig = plt.figure() - np.random.seed(0) n = 100000 x = np.random.standard_normal(n) y = 2.0 + 3.0 * x + 4.0 * np.random.standard_normal(n) y = np.power(2, y * 0.5) - ax = fig.add_subplot(111) + + fig, ax = plt.subplots() ax.hexbin(x, y, yscale='log') @@ -882,8 +876,7 @@ def test_inverted_limits(): # Test gh:1553 # Calling invert_xaxis prior to plotting should not disable autoscaling # while still maintaining the inverted direction - fig = plt.figure() - ax = fig.gca() + fig, ax = plt.subplots() ax.invert_xaxis() ax.plot([-5, -3, 2, 4], [1, 2, -3, 5]) @@ -891,8 +884,7 @@ def test_inverted_limits(): assert ax.get_ylim() == (-3, 5) plt.close() - fig = plt.figure() - ax = fig.gca() + fig, ax = plt.subplots() ax.invert_yaxis() ax.plot([-5, -3, 2, 4], [1, 2, -3, 5]) @@ -908,8 +900,7 @@ def test_nonfinite_limits(): with np.errstate(divide='ignore'): y = np.log(x) x[len(x)//2] = np.nan - fig = plt.figure() - ax = fig.add_subplot(111) + fig, ax = plt.subplots() ax.plot(x, y) @@ -924,9 +915,7 @@ def test_imshow(): r = np.sqrt(x**2+y**2-x*y) # Create a contour plot at N/4 and extract both the clip path and transform - fig = plt.figure() - ax = fig.add_subplot(111) - + fig, ax = plt.subplots() ax.imshow(r) # Reuse testcase from above for a labeled data test @@ -948,8 +937,7 @@ def test_imshow_clip(): r = np.sqrt(x**2+y**2-x*y) # Create a contour plot at N/4 and extract both the clip path and transform - fig = plt.figure() - ax = fig.add_subplot(111) + fig, ax = plt.subplots() c = ax.contour(r, [N/4]) x = c.collections[0] @@ -970,8 +958,7 @@ def test_polycollection_joinstyle(): from matplotlib import collections as mcoll - fig = plt.figure() - ax = fig.add_subplot(111) + fig, ax = plt.subplots() verts = np.array([[1, 1], [1, 2], [2, 2], [2, 1]]) c = mcoll.PolyCollection([verts], linewidths=40) ax.add_collection(c) @@ -991,8 +978,7 @@ def test_polycollection_joinstyle(): ] ) def test_fill_between_input(x, y1, y2): - fig = plt.figure() - ax = fig.add_subplot(211) + fig, ax = plt.subplots() with pytest.raises(ValueError): ax.fill_between(x, y1, y2) @@ -1009,8 +995,7 @@ def test_fill_between_input(x, y1, y2): ] ) def test_fill_betweenx_input(y, x1, x2): - fig = plt.figure() - ax = fig.add_subplot(211) + fig, ax = plt.subplots() with pytest.raises(ValueError): ax.fill_betweenx(y, x1, x2) @@ -1022,23 +1007,21 @@ def test_fill_between_interpolate(): y1 = np.sin(2*np.pi*x) y2 = 1.2*np.sin(4*np.pi*x) - fig = plt.figure() - ax = fig.add_subplot(211) - ax.plot(x, y1, x, y2, color='black') - ax.fill_between(x, y1, y2, where=y2 >= y1, facecolor='white', hatch='/', - interpolate=True) - ax.fill_between(x, y1, y2, where=y2 <= y1, facecolor='red', - interpolate=True) + fig, (ax1, ax2) = plt.subplots(2, 1, sharex=True) + ax1.plot(x, y1, x, y2, color='black') + ax1.fill_between(x, y1, y2, where=y2 >= y1, facecolor='white', hatch='/', + interpolate=True) + ax1.fill_between(x, y1, y2, where=y2 <= y1, facecolor='red', + interpolate=True) # Test support for masked arrays. y2 = np.ma.masked_greater(y2, 1.0) # Test that plotting works for masked arrays with the first element masked y2[0] = np.ma.masked - ax1 = fig.add_subplot(212, sharex=ax) - ax1.plot(x, y1, x, y2, color='black') - ax1.fill_between(x, y1, y2, where=y2 >= y1, facecolor='green', + ax2.plot(x, y1, x, y2, color='black') + ax2.fill_between(x, y1, y2, where=y2 >= y1, facecolor='green', interpolate=True) - ax1.fill_between(x, y1, y2, where=y2 <= y1, facecolor='red', + ax2.fill_between(x, y1, y2, where=y2 <= y1, facecolor='red', interpolate=True) @@ -1049,8 +1032,7 @@ def test_fill_between_interpolate_decreasing(): t = np.array([9.4, 7, 2.2]) prof = np.array([7.9, 6.6, 3.8]) - fig = plt.figure(figsize=(9, 9)) - ax = fig.add_subplot(1, 1, 1) + fig, ax = plt.subplots(figsize=(9, 9)) ax.plot(t, p, 'tab:red') ax.plot(prof, p, 'k') @@ -1069,8 +1051,7 @@ def test_symlog(): x = np.array([0, 1, 2, 4, 6, 9, 12, 24]) y = np.array([1000000, 500000, 100000, 100, 5, 0, 0, 0]) - fig = plt.figure() - ax = fig.add_subplot(111) + fig, ax = plt.subplots() ax.plot(x, y) ax.set_yscale('symlog') ax.set_xscale('linear') @@ -1083,37 +1064,12 @@ def test_symlog2(): # Numbers from -50 to 50, with 0.1 as step x = np.arange(-50, 50, 0.001) - fig = plt.figure() - ax = fig.add_subplot(511) - # Plots a simple linear function 'f(x) = x' - ax.plot(x, x) - ax.set_xscale('symlog', linthreshx=20.0) - ax.grid(True) - - ax = fig.add_subplot(512) - # Plots a simple linear function 'f(x) = x' - ax.plot(x, x) - ax.set_xscale('symlog', linthreshx=2.0) - ax.grid(True) - - ax = fig.add_subplot(513) - # Plots a simple linear function 'f(x) = x' - ax.plot(x, x) - ax.set_xscale('symlog', linthreshx=1.0) - ax.grid(True) - - ax = fig.add_subplot(514) - # Plots a simple linear function 'f(x) = x' - ax.plot(x, x) - ax.set_xscale('symlog', linthreshx=0.1) - ax.grid(True) - - ax = fig.add_subplot(515) - # Plots a simple linear function 'f(x) = x' - ax.plot(x, x) - ax.set_xscale('symlog', linthreshx=0.01) - ax.grid(True) - ax.set_ylim(-0.1, 0.1) + fig, axs = plt.subplots(5, 1) + for ax, linthreshx in zip(axs, [20., 2., 1., 0.1, 0.01]): + ax.plot(x, x) + ax.set_xscale('symlog', linthreshx=linthreshx) + ax.grid(True) + axs[-1].set_ylim(-0.1, 0.1) def test_pcolorargs_5205(): @@ -1145,15 +1101,10 @@ def test_pcolormesh(): # The color array can include masked values: Zm = ma.masked_where(np.abs(Qz) < 0.5 * np.max(Qz), Z) - fig = plt.figure() - ax = fig.add_subplot(131) - ax.pcolormesh(Qx, Qz, Z, lw=0.5, edgecolors='k') - - ax = fig.add_subplot(132) - ax.pcolormesh(Qx, Qz, Z, lw=2, edgecolors=['b', 'w']) - - ax = fig.add_subplot(133) - ax.pcolormesh(Qx, Qz, Z, shading="gouraud") + fig, (ax1, ax2, ax3) = plt.subplots(1, 3) + ax1.pcolormesh(Qx, Qz, Z, lw=0.5, edgecolors='k') + ax2.pcolormesh(Qx, Qz, Z, lw=2, edgecolors=['b', 'w']) + ax3.pcolormesh(Qx, Qz, Z, shading="gouraud") @image_comparison(baseline_images=['pcolormesh_datetime_axis'], diff --git a/lib/matplotlib/tests/test_backend_svg.py b/lib/matplotlib/tests/test_backend_svg.py index 2dc364404087..861c8922a8c6 100644 --- a/lib/matplotlib/tests/test_backend_svg.py +++ b/lib/matplotlib/tests/test_backend_svg.py @@ -18,8 +18,7 @@ def test_visibility(): - fig = plt.figure() - ax = fig.add_subplot(111) + fig, ax = plt.subplots() x = np.linspace(0, 4 * np.pi, 50) y = np.sin(x) diff --git a/lib/matplotlib/tests/test_backends_interactive.py b/lib/matplotlib/tests/test_backends_interactive.py index 0d4d41420839..7e6922ebcd43 100644 --- a/lib/matplotlib/tests/test_backends_interactive.py +++ b/lib/matplotlib/tests/test_backends_interactive.py @@ -49,8 +49,7 @@ def _get_testable_interactive_backends(): "webagg.port_retries": 1, }) -fig = plt.figure() -ax = fig.add_subplot(111) +fig, ax = plt.subplots() ax.plot([0, 1], [2, 3]) if rcParams["backend"].startswith("GTK3"): diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py index e9c83841b45c..d956209c599b 100644 --- a/lib/matplotlib/tests/test_colorbar.py +++ b/lib/matplotlib/tests/test_colorbar.py @@ -210,8 +210,7 @@ def test_remove_from_figure(use_gridspec): """ Test `remove_from_figure` with the specified ``use_gridspec`` setting """ - fig = plt.figure() - ax = fig.add_subplot(111) + fig, ax = plt.subplots() sc = ax.scatter([1, 2], [3, 4], cmap="spring") sc.set_array(np.array([5, 6])) pre_figbox = np.array(ax.figbox) diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py index 07950ee38bf5..c1ad1050c374 100644 --- a/lib/matplotlib/tests/test_constrainedlayout.py +++ b/lib/matplotlib/tests/test_constrainedlayout.py @@ -163,7 +163,6 @@ def test_constrained_layout9(): 'Test for handling suptitle and for sharex and sharey' fig, axs = plt.subplots(2, 2, constrained_layout=True, sharex=False, sharey=False) - # ax = fig.add_subplot(111) for ax in axs.flatten(): pcm = example_pcolor(ax, fontsize=24) ax.set_xlabel('') diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py index 9709a151a350..76af52341de9 100644 --- a/lib/matplotlib/tests/test_contour.py +++ b/lib/matplotlib/tests/test_contour.py @@ -15,8 +15,7 @@ def test_contour_shape_1d_valid(): y = np.arange(9) z = np.random.random((9, 10)) - fig = plt.figure() - ax = fig.add_subplot(111) + fig, ax = plt.subplots() ax.contour(x, y, z) @@ -27,8 +26,7 @@ def test_contour_shape_2d_valid(): xg, yg = np.meshgrid(x, y) z = np.random.random((9, 10)) - fig = plt.figure() - ax = fig.add_subplot(111) + fig, ax = plt.subplots() ax.contour(xg, yg, z) @@ -38,8 +36,7 @@ def test_contour_shape_mismatch_1(): y = np.arange(9) z = np.random.random((9, 10)) - fig = plt.figure() - ax = fig.add_subplot(111) + fig, ax = plt.subplots() with pytest.raises(TypeError) as excinfo: ax.contour(x, y, z) @@ -52,8 +49,7 @@ def test_contour_shape_mismatch_2(): y = np.arange(10) z = np.random.random((9, 10)) - fig = plt.figure() - ax = fig.add_subplot(111) + fig, ax = plt.subplots() with pytest.raises(TypeError) as excinfo: ax.contour(x, y, z) @@ -67,8 +63,7 @@ def test_contour_shape_mismatch_3(): xg, yg = np.meshgrid(x, y) z = np.random.random((9, 10)) - fig = plt.figure() - ax = fig.add_subplot(111) + fig, ax = plt.subplots() with pytest.raises(TypeError) as excinfo: ax.contour(xg, y, z) @@ -85,8 +80,7 @@ def test_contour_shape_mismatch_4(): b = np.random.random((9, 9)) z = np.random.random((9, 10)) - fig = plt.figure() - ax = fig.add_subplot(111) + fig, ax = plt.subplots() with pytest.raises(TypeError) as excinfo: ax.contour(b, g, z) @@ -105,8 +99,7 @@ def test_contour_shape_invalid_1(): y = np.random.random((3, 3, 3)) z = np.random.random((9, 10)) - fig = plt.figure() - ax = fig.add_subplot(111) + fig, ax = plt.subplots() with pytest.raises(TypeError) as excinfo: ax.contour(x, y, z) @@ -119,8 +112,7 @@ def test_contour_shape_invalid_2(): y = np.random.random((3, 3, 3)) z = np.random.random((3, 3, 3)) - fig = plt.figure() - ax = fig.add_subplot(111) + fig, ax = plt.subplots() with pytest.raises(TypeError) as excinfo: ax.contour(x, y, z) diff --git a/lib/matplotlib/tests/test_cycles.py b/lib/matplotlib/tests/test_cycles.py index ac876ee7fa3c..d1992e045507 100644 --- a/lib/matplotlib/tests/test_cycles.py +++ b/lib/matplotlib/tests/test_cycles.py @@ -12,8 +12,7 @@ @image_comparison(baseline_images=['color_cycle_basic'], remove_text=True, extensions=['png']) def test_colorcycle_basic(): - fig = plt.figure() - ax = fig.add_subplot(111) + fig, ax = plt.subplots() ax.set_prop_cycle(cycler('color', ['r', 'g', 'y'])) xs = np.arange(10) ys = 0.25 * xs + 2 @@ -30,8 +29,7 @@ def test_colorcycle_basic(): @image_comparison(baseline_images=['marker_cycle', 'marker_cycle'], remove_text=True, extensions=['png']) def test_marker_cycle(): - fig = plt.figure() - ax = fig.add_subplot(111) + fig, ax = plt.subplots() ax.set_prop_cycle(cycler('c', ['r', 'g', 'y']) + cycler('marker', ['.', '*', 'x'])) xs = np.arange(10) @@ -45,8 +43,7 @@ def test_marker_cycle(): ax.plot(xs, ys, label='red2 dot', lw=4, ms=16) ax.legend(loc='upper left') - fig = plt.figure() - ax = fig.add_subplot(111) + fig, ax = plt.subplots() # Test keyword arguments, numpy arrays, and generic iterators ax.set_prop_cycle(c=np.array(['r', 'g', 'y']), marker=iter(['.', '*', 'x'])) @@ -65,8 +62,7 @@ def test_marker_cycle(): @image_comparison(baseline_images=['lineprop_cycle_basic'], remove_text=True, extensions=['png']) def test_linestylecycle_basic(): - fig = plt.figure() - ax = fig.add_subplot(111) + fig, ax = plt.subplots() ax.set_prop_cycle(cycler('ls', ['-', '--', ':'])) xs = np.arange(10) ys = 0.25 * xs + 2 @@ -83,8 +79,7 @@ def test_linestylecycle_basic(): @image_comparison(baseline_images=['fill_cycle_basic'], remove_text=True, extensions=['png']) def test_fillcycle_basic(): - fig = plt.figure() - ax = fig.add_subplot(111) + fig, ax = plt.subplots() ax.set_prop_cycle(cycler('c', ['r', 'g', 'y']) + cycler('hatch', ['xx', 'O', '|-']) + cycler('linestyle', ['-', '--', ':'])) @@ -103,8 +98,7 @@ def test_fillcycle_basic(): @image_comparison(baseline_images=['fill_cycle_ignore'], remove_text=True, extensions=['png']) def test_fillcycle_ignore(): - fig = plt.figure() - ax = fig.add_subplot(111) + fig, ax = plt.subplots() ax.set_prop_cycle(cycler('color', ['r', 'g', 'y']) + cycler('hatch', ['xx', 'O', '|-']) + cycler('marker', ['.', '*', 'D'])) diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py index 3897bacd50e8..d47e2c9b7748 100644 --- a/lib/matplotlib/tests/test_image.py +++ b/lib/matplotlib/tests/test_image.py @@ -102,8 +102,7 @@ def test_figimage1(): def test_image_python_io(): - fig = plt.figure() - ax = fig.add_subplot(111) + fig, ax = plt.subplots() ax.plot([1,2,3]) buffer = io.BytesIO() fig.savefig(buffer) @@ -282,8 +281,7 @@ def test_image_clip(): def test_image_cliprect(): import matplotlib.patches as patches - fig = plt.figure() - ax = fig.add_subplot(111) + fig, ax = plt.subplots() d = [[1,2],[3,4]] im = ax.imshow(d, extent=(0,5,0,5)) @@ -294,12 +292,8 @@ def test_image_cliprect(): @image_comparison(baseline_images=['imshow'], remove_text=True, style='mpl20') def test_imshow(): - import numpy as np - import matplotlib.pyplot as plt - - fig = plt.figure() + fig, ax = plt.subplots() arr = np.arange(100).reshape((10, 10)) - ax = fig.add_subplot(111) ax.imshow(arr, interpolation="bilinear", extent=(1,2,1,2)) ax.set_xlim(0,3) ax.set_ylim(0,3) @@ -326,8 +320,7 @@ def test_image_shift(): tMin=734717.945208 tMax=734717.946366 - fig = plt.figure() - ax = fig.add_subplot(111) + fig, ax = plt.subplots() ax.imshow(imgData, norm=LogNorm(), interpolation='none', extent=(tMin, tMax, 1, 100)) ax.set_aspect('auto') @@ -365,8 +358,7 @@ def test_image_edges(): remove_text=True, style='mpl20') def test_image_composite_background(): - fig = plt.figure() - ax = fig.add_subplot(111) + fig, ax = plt.subplots() arr = np.arange(12).reshape(4, 3) ax.imshow(arr, extent=[0, 2, 15, 0]) ax.imshow(arr, extent=[4, 6, 15, 0]) @@ -381,8 +373,7 @@ def test_image_composite_alpha(): Tests that the alpha value is recognized and correctly applied in the process of compositing images together. """ - fig = plt.figure() - ax = fig.add_subplot(111) + fig, ax = plt.subplots() arr = np.zeros((11, 21, 4)) arr[:, :, 0] = 1 arr[:, :, 3] = np.concatenate((np.arange(0, 1.1, 0.1), np.arange(0, 1, 0.1)[::-1])) @@ -410,9 +401,6 @@ def test_rasterize_dpi(): # when images end up in the wrong place in case of non-standard dpi setting. # Instead of high-res rasterization i use low-res. Therefore the fact that the # resolution is non-standard is easily checked by image_comparison. - import numpy as np - import matplotlib.pyplot as plt - img = np.asarray([[1, 2], [3, 4]]) fig, axes = plt.subplots(1, 3, figsize = (3, 1)) @@ -442,7 +430,7 @@ def test_bbox_image_inverted(): # This is just used to produce an image to feed to BboxImage image = np.arange(100).reshape((10, 10)) - ax = plt.subplot(111) + fig, ax = plt.subplots() bbox_im = BboxImage( TransformedBbox(Bbox([[100, 100], [0, 0]]), ax.transData)) bbox_im.set_data(image) @@ -467,8 +455,7 @@ def test_get_window_extent_for_AxisImage(): im = np.array([[0.25, 0.75, 1.0, 0.75], [0.1, 0.65, 0.5, 0.4], [0.6, 0.3, 0.0, 0.2], [0.7, 0.9, 0.4, 0.6]]) - fig = plt.figure(figsize=(10, 10), dpi=100) - ax = plt.subplot() + fig, ax = plt.subplots(figsize=(10, 10), dpi=100) ax.set_position([0, 0, 1, 1]) ax.set_xlim(0, 1) ax.set_ylim(0, 1) @@ -489,8 +476,7 @@ def test_zoom_and_clip_upper_origin(): image = np.arange(100) image = image.reshape((10, 10)) - fig = plt.figure() - ax = fig.add_subplot(111) + fig, ax = plt.subplots() ax.imshow(image) ax.set_ylim(2.0, -0.5) ax.set_xlim(-0.5, 2.0) @@ -633,9 +619,7 @@ def test_log_scale_image(recwarn): Z = np.zeros((10, 10)) Z[::2] = 1 - fig = plt.figure() - ax = fig.add_subplot(111) - + fig, ax = plt.subplots() ax.imshow(Z, extent=[1, 100, 1, 100], cmap='viridis', vmax=1, vmin=-1) ax.set_yscale('log') @@ -920,8 +904,8 @@ def test_composite(fmt, counted, composite_image, count): # (on a single set of axes) into a single composite image. X, Y = np.meshgrid(np.arange(-5, 5, 1), np.arange(-5, 5, 1)) Z = np.sin(Y ** 2) - fig = plt.figure() - ax = fig.add_subplot(1, 1, 1) + + fig, ax = plt.subplots() ax.set_xlim(0, 3) ax.imshow(Z, extent=[0, 1, 0, 1]) ax.imshow(Z[::-1], extent=[2, 3, 0, 1]) diff --git a/lib/matplotlib/tests/test_tightlayout.py b/lib/matplotlib/tests/test_tightlayout.py index 68139fc68c81..6bb0a5670adb 100644 --- a/lib/matplotlib/tests/test_tightlayout.py +++ b/lib/matplotlib/tests/test_tightlayout.py @@ -19,8 +19,7 @@ def example_plot(ax, fontsize=12): @image_comparison(baseline_images=['tight_layout1']) def test_tight_layout1(): 'Test tight_layout for a single subplot' - fig = plt.figure() - ax = fig.add_subplot(111) + fig, ax = plt.subplots() example_plot(ax, fontsize=24) plt.tight_layout() @@ -133,9 +132,8 @@ def test_tight_layout6(): @image_comparison(baseline_images=['tight_layout7']) def test_tight_layout7(): # tight layout with left and right titles - fig = plt.figure() fontsize = 24 - ax = fig.add_subplot(111) + fig, ax = plt.subplots() ax.plot([1, 2]) ax.locator_params(nbins=3) ax.set_xlabel('x-label', fontsize=fontsize) diff --git a/lib/matplotlib/tests/test_ttconv.py b/lib/matplotlib/tests/test_ttconv.py index 6bb6feac74d5..31214e5ed2e9 100644 --- a/lib/matplotlib/tests/test_ttconv.py +++ b/lib/matplotlib/tests/test_ttconv.py @@ -12,8 +12,7 @@ def test_truetype_conversion(): fontname = os.path.abspath(fontname) fontprop = FontProperties(fname=fontname, size=80) matplotlib.rcParams['pdf.fonttype'] = 3 - fig = plt.figure() - ax = fig.add_subplot(111) + fig, ax = plt.subplots() ax.text(0, 0, "ABCDE", fontproperties=fontprop) ax.set_xticks([]) ax.set_yticks([]) diff --git a/tutorials/advanced/path_tutorial.py b/tutorials/advanced/path_tutorial.py index a440a8b2aeaf..e0444c5e1cae 100644 --- a/tutorials/advanced/path_tutorial.py +++ b/tutorials/advanced/path_tutorial.py @@ -36,8 +36,7 @@ path = Path(verts, codes) -fig = plt.figure() -ax = fig.add_subplot(111) +fig, ax = plt.subplots() patch = patches.PathPatch(path, facecolor='orange', lw=2) ax.add_patch(patch) ax.set_xlim(-2, 2) @@ -91,8 +90,7 @@ path = Path(verts, codes) -fig = plt.figure() -ax = fig.add_subplot(111) +fig, ax = plt.subplots() patch = patches.PathPatch(path, facecolor='none', lw=2) ax.add_patch(patch) @@ -182,9 +180,7 @@ import matplotlib.patches as patches import matplotlib.path as path -fig = plt.figure() -ax = fig.add_subplot(111) - +fig, ax = plt.subplots() # Fixing random state for reproducibility np.random.seed(19680801) diff --git a/tutorials/advanced/transforms_tutorial.py b/tutorials/advanced/transforms_tutorial.py index 5e0d8dc5e85c..de12aeec7e0a 100644 --- a/tutorials/advanced/transforms_tutorial.py +++ b/tutorials/advanced/transforms_tutorial.py @@ -92,8 +92,7 @@ x = np.arange(0, 10, 0.005) y = np.exp(-x/2.) * np.sin(2*np.pi*x) -fig = plt.figure() -ax = fig.add_subplot(111) +fig, ax = plt.subplots() ax.plot(x, y) ax.set_xlim(0, 10) ax.set_ylim(-1, 1) @@ -141,8 +140,7 @@ x = np.arange(0, 10, 0.005) y = np.exp(-x/2.) * np.sin(2*np.pi*x) -fig = plt.figure() -ax = fig.add_subplot(111) +fig, ax = plt.subplots() ax.plot(x, y) ax.set_xlim(0, 10) ax.set_ylim(-1, 1) @@ -244,8 +242,7 @@ # move, but the circle will remain fixed because it is not in `data` # coordinates and will always remain at the center of the axes. -fig = plt.figure() -ax = fig.add_subplot(111) +fig, ax = plt.subplots() x, y = 10*np.random.rand(2, 1000) ax.plot(x, y, 'go', alpha=0.2) # plot some data in data coordinates @@ -278,9 +275,7 @@ import matplotlib.transforms as transforms -fig = plt.figure() -ax = fig.add_subplot(111) - +fig, ax = plt.subplots() x = np.random.randn(1000) ax.hist(x, 30) diff --git a/tutorials/intermediate/artists.py b/tutorials/intermediate/artists.py index 3ee20a910d73..14f8f830bfad 100644 --- a/tutorials/intermediate/artists.py +++ b/tutorials/intermediate/artists.py @@ -437,9 +437,7 @@ class in the matplotlib API, and the one you will be working with most # # .. sourcecode:: ipython # -# In [261]: fig = plt.figure() -# -# In [262]: ax = fig.add_subplot(111) +# In [262]: fig, ax = plt.subplots() # # # create a rectangle instance # In [263]: rect = matplotlib.patches.Rectangle( (1,1), width=5, height=12) @@ -683,8 +681,7 @@ class in the matplotlib API, and the one you will be working with most # Fixing random state for reproducibility np.random.seed(19680801) -fig = plt.figure() -ax = fig.add_subplot(111) +fig, ax = plt.subplots() ax.plot(100*np.random.rand(20)) formatter = ticker.FormatStrFormatter('$%1.2f') diff --git a/tutorials/introductory/usage.py b/tutorials/introductory/usage.py index 33860d5280bc..7aa538c66bf1 100644 --- a/tutorials/introductory/usage.py +++ b/tutorials/introductory/usage.py @@ -221,8 +221,7 @@ x = np.arange(0, 10, 0.2) y = np.sin(x) -fig = plt.figure() -ax = fig.add_subplot(111) +fig, ax = plt.subplots() ax.plot(x, y) plt.show() diff --git a/tutorials/text/pgf.py b/tutorials/text/pgf.py index 54118744a74e..ec71c58281c1 100644 --- a/tutorials/text/pgf.py +++ b/tutorials/text/pgf.py @@ -69,13 +69,11 @@ with PdfPages('multipage.pdf', metadata={'author': 'Me'}) as pdf: - fig1 = plt.figure() - ax1 = fig1.add_subplot(1, 1, 1) + fig1, ax1 = plt.subplots() ax1.plot([1, 5, 3]) pdf.savefig(fig1) - fig2 = plt.figure() - ax2 = fig2.add_subplot(1, 1, 1) + fig2, ax2 = plt.subplots() ax2.plot([1, 5, 3]) pdf.savefig(fig2) From b30632f3870682f1a31875b634da9662165e1586 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Fri, 6 Jul 2018 08:43:52 +0200 Subject: [PATCH 0901/1161] Some doc cleanup of Triangulation --- lib/matplotlib/tri/triangulation.py | 33 +++++++++++++++++------------ 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/lib/matplotlib/tri/triangulation.py b/lib/matplotlib/tri/triangulation.py index bc20b2f14380..3374e2dfe86d 100644 --- a/lib/matplotlib/tri/triangulation.py +++ b/lib/matplotlib/tri/triangulation.py @@ -12,19 +12,23 @@ class Triangulation(object): Parameters ---------- - x, y : array_like of shape (npoints) + x, y : array-like of shape (npoints) Coordinates of grid points. triangles : integer array_like of shape (ntri, 3), optional For each triangle, the indices of the three points that make up the triangle, ordered in an anticlockwise manner. If not specified, the Delaunay triangulation is calculated. - mask : boolean array_like of shape (ntri), optional + mask : boolean array-like of shape (ntri), optional Which triangles are masked out. Attributes ---------- - `edges` - `neighbors` + edges : int array of shape (nedges, 2) + See `~.Triangulation.edges` + neighbors : int array of shape (ntri, 3) + See `~.Triangulation.neighbors` + mask : bool array of shape (ntri, 3) + Masked out triangles. is_delaunay : bool Whether the Triangulation is a calculated Delaunay triangulation (where `triangles` was not specified) or not. @@ -76,29 +80,32 @@ def __init__(self, x, y, triangles=None, mask=None): def calculate_plane_coefficients(self, z): """ Calculate plane equation coefficients for all unmasked triangles from - the point (x,y) coordinates and specified z-array of shape (npoints). - Returned array has shape (npoints,3) and allows z-value at (x,y) + the point (x, y) coordinates and specified z-array of shape (npoints). + The returned array has shape (npoints, 3) and allows z-value at (x, y) position in triangle tri to be calculated using - z = array[tri,0]*x + array[tri,1]*y + array[tri,2]. + ``z = array[tri, 0] * x + array[tri, 1] * y + array[tri, 2]``. """ return self.get_cpp_triangulation().calculate_plane_coefficients(z) @property def edges(self): """ - Return integer array of shape (nedges,2) containing all edges of + Return integer array of shape (nedges, 2) containing all edges of non-masked triangles. - Each edge is the start point index and end point index. Each - edge (start,end and end,start) appears only once. + Each row defines an edge by it's start point index and end point + index. Each edge appears only once, i.e. for an edge between points + *i* and *j*, there will only be either *(i, j)* or *(j, i)*. """ if self._edges is None: self._edges = self.get_cpp_triangulation().get_edges() return self._edges def get_cpp_triangulation(self): - # Return the underlying C++ Triangulation object, creating it - # if necessary. + """ + Return the underlying C++ Triangulation object, creating it + if necessary. + """ if self._cpp_triangulation is None: self._cpp_triangulation = _tri.Triangulation( self.x, self.y, self.triangles, self.mask, self._edges, @@ -175,7 +182,7 @@ def get_trifinder(self): @property def neighbors(self): """ - Return integer array of shape (ntri,3) containing neighbor + Return integer array of shape (ntri, 3) containing neighbor triangles. For each triangle, the indices of the three triangles that From 50fad1a2e3975c5b70b831141accf0da429e42ee Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Fri, 6 Jul 2018 09:25:49 -0700 Subject: [PATCH 0902/1161] DOC: warn if user is using constrained layout and tries to use subplots_adjust --- lib/matplotlib/figure.py | 6 ++++++ lib/matplotlib/tests/test_figure.py | 8 ++++++++ 2 files changed, 14 insertions(+) diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index 385395c0d448..6fdf1265ff3b 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -2092,6 +2092,12 @@ def subplots_adjust(self, left=None, bottom=None, right=None, top=None, *None*) and update the subplot locations. """ + if self.get_constrained_layout(): + self.set_constrained_layout(False) + warnings.warn("This figure was using constrained_layout==True, " + "but that is incompatible with subplots_adjust and " + "or tight_layout: setting " + "constrained_layout==False. ") self.subplotpars.update(left, bottom, right, top, wspace, hspace) for ax in self.axes: if not isinstance(ax, SubplotBase): diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py index d0079012a5e6..de5a6c8aa0dd 100644 --- a/lib/matplotlib/tests/test_figure.py +++ b/lib/matplotlib/tests/test_figure.py @@ -373,6 +373,14 @@ def test_figure_repr(): assert repr(fig) == "<Figure size 100x200 with 0 Axes>" +def test_warn_cl_plus_tl(): + fig, ax = plt.subplots(constrained_layout=True) + with pytest.warns(UserWarning): + # this should warn, + fig.subplots_adjust(top=0.8) + assert not(fig.get_constrained_layout()) + + @pytest.mark.skipif(sys.version_info < (3, 6), reason="requires Python 3.6+") @pytest.mark.parametrize("fmt", ["png", "pdf", "ps", "eps", "svg"]) def test_fspath(fmt, tmpdir): From 618588dcf98a32cc2c8e3d9e766b416ca8f3c9ac Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Fri, 6 Jul 2018 09:30:55 -0700 Subject: [PATCH 0903/1161] DOC: change some examples to use constrained_layout=True --- examples/color/color_cycler.py | 4 +-- .../contourf_demo.py | 9 +++---- .../image_nonuniform.py | 3 +-- examples/lines_bars_and_markers/psd_demo.py | 22 ++++++++-------- .../subplots_axes_and_figures/figure_title.py | 25 ++++++++----------- .../legend_demo.py | 7 ++---- 6 files changed, 30 insertions(+), 40 deletions(-) diff --git a/examples/color/color_cycler.py b/examples/color/color_cycler.py index 57a69400426f..fe1ee0a49454 100644 --- a/examples/color/color_cycler.py +++ b/examples/color/color_cycler.py @@ -27,7 +27,7 @@ plt.rc('lines', linewidth=4) plt.rc('axes', prop_cycle=(cycler(color=['r', 'g', 'b', 'y']) + cycler(linestyle=['-', '--', ':', '-.']))) -fig, (ax0, ax1) = plt.subplots(nrows=2) +fig, (ax0, ax1) = plt.subplots(nrows=2, constrained_layout=True) ax0.plot(yy) ax0.set_title('Set default color cycle to rgby') @@ -41,8 +41,6 @@ ax1.plot(yy) ax1.set_title('Set axes color cycle to cmyk') -# Tweak spacing between subplots to prevent labels from overlapping -fig.subplots_adjust(hspace=0.3) plt.show() ############################################################################# diff --git a/examples/images_contours_and_fields/contourf_demo.py b/examples/images_contours_and_fields/contourf_demo.py index 04e3dd6bdd0e..e6a145063921 100644 --- a/examples/images_contours_and_fields/contourf_demo.py +++ b/examples/images_contours_and_fields/contourf_demo.py @@ -38,7 +38,7 @@ # occur on nice boundaries, but we do it here for purposes # of illustration. -fig1, ax2 = plt.subplots() +fig1, ax2 = plt.subplots(constrained_layout=True) CS = ax2.contourf(X, Y, Z, 10, cmap=plt.cm.bone, origin=origin) # Note that in the following, we explicitly pass in a subset of @@ -58,7 +58,7 @@ # Add the contour line levels to the colorbar cbar.add_lines(CS2) -fig2, ax2 = plt.subplots() +fig2, ax2 = plt.subplots(constrained_layout=True) # Now make a contour plot with the levels specified, # and with the colormap generated automatically from a list # of colors. @@ -95,12 +95,11 @@ # no effect: # cmap.set_bad("red") -fig3, axs = plt.subplots(2, 2) -fig3.subplots_adjust(hspace=0.3) +fig, axs = plt.subplots(2, 2, constrained_layout=True) for ax, extend in zip(axs.ravel(), extends): cs = ax.contourf(X, Y, Z, levels, cmap=cmap, extend=extend, origin=origin) - fig3.colorbar(cs, ax=ax, shrink=0.9) + fig.colorbar(cs, ax=ax, shrink=0.9) ax.set_title("extend = %s" % extend) ax.locator_params(nbins=4) diff --git a/examples/images_contours_and_fields/image_nonuniform.py b/examples/images_contours_and_fields/image_nonuniform.py index e1123840f4a3..b429826c8285 100644 --- a/examples/images_contours_and_fields/image_nonuniform.py +++ b/examples/images_contours_and_fields/image_nonuniform.py @@ -25,8 +25,7 @@ z = np.sqrt(x[np.newaxis, :]**2 + y[:, np.newaxis]**2) -fig, axs = plt.subplots(nrows=2, ncols=2) -fig.subplots_adjust(bottom=0.07, hspace=0.3) +fig, axs = plt.subplots(nrows=2, ncols=2, constrained_layout=True) fig.suptitle('NonUniformImage class', fontsize='large') ax = axs[0, 0] im = NonUniformImage(ax, interpolation=interp, extent=(-4, 4, -4, 4), diff --git a/examples/lines_bars_and_markers/psd_demo.py b/examples/lines_bars_and_markers/psd_demo.py index a96d98149365..cd0d35882630 100644 --- a/examples/lines_bars_and_markers/psd_demo.py +++ b/examples/lines_bars_and_markers/psd_demo.py @@ -12,11 +12,11 @@ import matplotlib.pyplot as plt import numpy as np import matplotlib.mlab as mlab +import matplotlib.gridspec as gridspec # Fixing random state for reproducibility np.random.seed(19680801) - dt = 0.01 t = np.arange(0, 10, dt) nse = np.random.randn(len(t)) @@ -59,14 +59,16 @@ y = y + np.random.randn(*t.shape) # Plot the raw time series -fig = plt.figure() -fig.subplots_adjust(hspace=0.45, wspace=0.3) -ax = fig.add_subplot(2, 1, 1) +fig = plt.figure(constrained_layout=True) +gs = gridspec.GridSpec(2, 3, figure=fig) +ax = fig.add_subplot(gs[0, :]) ax.plot(t, y) +ax.set_xlabel('time [s]') +ax.set_ylabel('signal') # Plot the PSD with different amounts of zero padding. This uses the entire # time series at once -ax2 = fig.add_subplot(2, 3, 4) +ax2 = fig.add_subplot(gs[1, 0]) ax2.psd(y, NFFT=len(t), pad_to=len(t), Fs=fs) ax2.psd(y, NFFT=len(t), pad_to=len(t) * 2, Fs=fs) ax2.psd(y, NFFT=len(t), pad_to=len(t) * 4, Fs=fs) @@ -74,7 +76,7 @@ # Plot the PSD with different block sizes, Zero pad to the length of the # original data sequence. -ax3 = fig.add_subplot(2, 3, 5, sharex=ax2, sharey=ax2) +ax3 = fig.add_subplot(gs[1, 1], sharex=ax2, sharey=ax2) ax3.psd(y, NFFT=len(t), pad_to=len(t), Fs=fs) ax3.psd(y, NFFT=len(t) // 2, pad_to=len(t), Fs=fs) ax3.psd(y, NFFT=len(t) // 4, pad_to=len(t), Fs=fs) @@ -82,7 +84,7 @@ plt.title('block size') # Plot the PSD with different amounts of overlap between blocks -ax4 = fig.add_subplot(2, 3, 6, sharex=ax2, sharey=ax2) +ax4 = fig.add_subplot(gs[1, 2], sharex=ax2, sharey=ax2) ax4.psd(y, NFFT=len(t) // 2, pad_to=len(t), noverlap=0, Fs=fs) ax4.psd(y, NFFT=len(t) // 2, pad_to=len(t), noverlap=int(0.05 * len(t) / 2.), Fs=fs) @@ -106,9 +108,8 @@ xn = (A * np.sin(2 * np.pi * f * t)).sum(axis=0) xn += 5 * np.random.randn(*t.shape) -fig, (ax0, ax1) = plt.subplots(ncols=2) +fig, (ax0, ax1) = plt.subplots(ncols=2, constrained_layout=True) -fig.subplots_adjust(hspace=0.45, wspace=0.3) yticks = np.arange(-50, 30, 10) yrange = (yticks[0], yticks[-1]) xticks = np.arange(0, 550, 100) @@ -147,9 +148,8 @@ f = np.array([150, 140]).reshape(-1, 1) xn = (A * np.exp(2j * np.pi * f * t)).sum(axis=0) + 5 * prng.randn(*t.shape) -fig, (ax0, ax1) = plt.subplots(ncols=2) +fig, (ax0, ax1) = plt.subplots(ncols=2, constrained_layout=True) -fig.subplots_adjust(hspace=0.45, wspace=0.3) yticks = np.arange(-50, 30, 10) yrange = (yticks[0], yticks[-1]) xticks = np.arange(-500, 550, 200) diff --git a/examples/subplots_axes_and_figures/figure_title.py b/examples/subplots_axes_and_figures/figure_title.py index c4c2408b92b7..cb96d5bacde9 100644 --- a/examples/subplots_axes_and_figures/figure_title.py +++ b/examples/subplots_axes_and_figures/figure_title.py @@ -20,19 +20,16 @@ def f(t): t3 = np.arange(0.0, 2.0, 0.01) -plt.subplot(121) -plt.plot(t1, f(t1), 'o', t2, f(t2), '-') -plt.title('subplot 1') -plt.ylabel('Damped oscillation') -plt.suptitle('This is a somewhat long figure title', fontsize=16) - - -plt.subplot(122) -plt.plot(t3, np.cos(2*np.pi*t3), '--') -plt.xlabel('time (s)') -plt.title('subplot 2') -plt.ylabel('Undamped') - -plt.subplots_adjust(left=0.2, wspace=0.8, top=0.8) +fig, axs = plt.subplots(2, 1, constrained_layout=True) +axs[0].plot(t1, f(t1), 'o', t2, f(t2), '-') +axs[0].set_title('subplot 1') +axs[0].set_xlabel('distance (m)') +axs[0].set_ylabel('Damped oscillation') +fig.suptitle('This is a somewhat long figure title', fontsize=16) + +axs[1].plot(t3, np.cos(2*np.pi*t3), '--') +axs[1].set_xlabel('time (s)') +axs[1].set_title('subplot 2') +axs[1].set_ylabel('Undamped') plt.show() diff --git a/examples/text_labels_and_annotations/legend_demo.py b/examples/text_labels_and_annotations/legend_demo.py index 2b4636834147..18ebc827ef8c 100644 --- a/examples/text_labels_and_annotations/legend_demo.py +++ b/examples/text_labels_and_annotations/legend_demo.py @@ -63,7 +63,7 @@ ############################################################################### # Here we attach legends to more complex plots. -fig, axes = plt.subplots(3, 1) +fig, axes = plt.subplots(3, 1, constrained_layout=True) top_ax, middle_ax, bottom_ax = axes top_ax.bar([0, 1, 2], [0.2, 0.3, 0.1], width=0.4, label="Bar 1", @@ -81,13 +81,12 @@ bottom_ax.stem([0.3, 1.5, 2.7], [1, 3.6, 2.7], label="stem test") bottom_ax.legend() -plt.subplots_adjust(hspace=0.7) plt.show() ############################################################################### # Now we'll showcase legend entries with more than one legend key. -fig, (ax1, ax2) = plt.subplots(2, 1) +fig, (ax1, ax2) = plt.subplots(2, 1, constrained_layout=True) # First plot: two legend keys for a single entry p1 = ax1.scatter([1], [5], c='r', marker='s', s=100) @@ -114,7 +113,6 @@ l = ax2.legend([(rpos, rneg), (rneg, rpos)], ['pad!=0', 'pad=0'], handler_map={(rpos, rneg): HandlerTuple(ndivide=None), (rneg, rpos): HandlerTuple(ndivide=None, pad=0.)}) - plt.show() ############################################################################### @@ -172,7 +170,6 @@ def create_artists(self, legend, orig_handle, for i, color, style in zip(range(5), colors, styles): ax.plot(x, np.sin(x) - .1 * i, c=color, ls=style) - # make proxy artists # make list of one line -- doesn't matter what the coordinates are line = [[(0, 0)]] From 3186b633c004a4e485dd0d15dbc78f9039db3161 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sat, 7 Jul 2018 01:34:14 +0200 Subject: [PATCH 0904/1161] Remove some extra spaces in docstrings/comments. --- .../tricontour_smooth_delaunay.py | 2 +- examples/misc/svg_filter_line.py | 2 +- examples/misc/svg_filter_pie.py | 2 +- .../specialty_plots/leftventricle_bulleye.py | 2 +- examples/specialty_plots/radar_chart.py | 2 +- lib/matplotlib/axes/_axes.py | 11 ++++----- lib/matplotlib/backend_bases.py | 2 +- lib/matplotlib/backend_managers.py | 2 +- lib/matplotlib/backends/backend_ps.py | 2 +- lib/matplotlib/category.py | 2 +- lib/matplotlib/cbook/__init__.py | 7 +++--- lib/matplotlib/cbook/deprecation.py | 2 +- lib/matplotlib/mlab.py | 2 +- lib/matplotlib/offsetbox.py | 2 +- lib/matplotlib/patches.py | 2 +- lib/matplotlib/tests/test_triangulation.py | 8 +++---- lib/matplotlib/tri/triinterpolate.py | 23 +++++++++---------- lib/matplotlib/tri/trirefine.py | 6 ++--- lib/matplotlib/tri/tritools.py | 9 ++++---- lib/mpl_toolkits/axes_grid1/axes_size.py | 2 +- lib/mpl_toolkits/mplot3d/art3d.py | 2 +- lib/mpl_toolkits/mplot3d/axes3d.py | 2 +- tutorials/introductory/pyplot.py | 2 +- tutorials/introductory/sample_plots.py | 11 ++++----- tutorials/text/usetex.py | 2 +- tutorials/toolkits/axes_grid.py | 4 ++-- tutorials/toolkits/axisartist.py | 8 +++---- 27 files changed, 59 insertions(+), 64 deletions(-) diff --git a/examples/images_contours_and_fields/tricontour_smooth_delaunay.py b/examples/images_contours_and_fields/tricontour_smooth_delaunay.py index 6b3566fd64d4..22d5c95609a5 100644 --- a/examples/images_contours_and_fields/tricontour_smooth_delaunay.py +++ b/examples/images_contours_and_fields/tricontour_smooth_delaunay.py @@ -61,7 +61,7 @@ def experiment_res(x, y): min_circle_ratio = .01 # Minimum circle ratio - border triangles with circle # ratio below this will be masked if they touch a - # border. Suggested value 0.01 ; Use -1 to keep + # border. Suggested value 0.01; use -1 to keep # all triangles. # Random points diff --git a/examples/misc/svg_filter_line.py b/examples/misc/svg_filter_line.py index 72c601b6b2f7..dc098f5276f9 100644 --- a/examples/misc/svg_filter_line.py +++ b/examples/misc/svg_filter_line.py @@ -61,7 +61,7 @@ # filter definition for a gaussian blur filter_def = """ - <defs xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'> + <defs xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'> <filter id='dropshadow' height='1.2' width='1.2'> <feGaussianBlur result='blur' stdDeviation='3'/> </filter> diff --git a/examples/misc/svg_filter_pie.py b/examples/misc/svg_filter_pie.py index 47f24b7595a9..b97f13f1cbad 100644 --- a/examples/misc/svg_filter_pie.py +++ b/examples/misc/svg_filter_pie.py @@ -58,7 +58,7 @@ # that, Inkscape's exporting also may not support it. filter_def = """ - <defs xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'> + <defs xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'> <filter id='dropshadow' height='1.2' width='1.2'> <feGaussianBlur result='blur' stdDeviation='2'/> </filter> diff --git a/examples/specialty_plots/leftventricle_bulleye.py b/examples/specialty_plots/leftventricle_bulleye.py index 9269c007b9d4..7940a38cdb79 100644 --- a/examples/specialty_plots/leftventricle_bulleye.py +++ b/examples/specialty_plots/leftventricle_bulleye.py @@ -61,7 +61,7 @@ def bullseye_plot(ax, data, segBold=None, cmap=None, norm=None): for i in range(r.shape[0]): ax.plot(theta, np.repeat(r[i], theta.shape), '-k', lw=linewidth) - # Create the bounds for the segments 1-12 + # Create the bounds for the segments 1-12 for i in range(6): theta_i = np.deg2rad(i * 60) ax.plot([theta_i, theta_i], [r[1], 1], '-k', lw=linewidth) diff --git a/examples/specialty_plots/radar_chart.py b/examples/specialty_plots/radar_chart.py index 5a1b798da274..9a68474cfa82 100644 --- a/examples/specialty_plots/radar_chart.py +++ b/examples/specialty_plots/radar_chart.py @@ -121,7 +121,7 @@ def unit_poly_verts(theta): def example_data(): # The following data is from the Denver Aerosol Sources and Health study. - # See doi:10.1016/j.atmosenv.2008.12.017 + # See doi:10.1016/j.atmosenv.2008.12.017 # # The data are pollution source profile estimates for five modeled # pollution sources (e.g., cars, wood-burning, etc) that emit 7-9 chemical diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 4cb515cbb7e9..8a9ca79f2793 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -1136,7 +1136,7 @@ def plot(self, *args, scalex=True, scaley=True, **kwargs): >>> plot(y, 'r+') # ditto, but with red plusses You can use `.Line2D` properties as keyword arguments for more - control on the appearance. Line properties and *fmt* can be mixed. + control on the appearance. Line properties and *fmt* can be mixed. The following two calls yield identical results: >>> plot(x, y, 'go--', linewidth=2, markersize=12) @@ -3155,16 +3155,15 @@ def boxplot(self, x, notch=None, sym=None, vert=None, whis=None, labels : sequence, optional Labels for each dataset. Length must be compatible with - dimensions of ``x``. + dimensions of ``x``. manage_xticks : bool, optional (True) If the function should adjust the xlim and xtick locations. autorange : bool, optional (False) - When `True` and the data are distributed such that the 25th and + When `True` and the data are distributed such that the 25th and 75th percentiles are equal, ``whis`` is set to ``'range'`` such - that the whisker ends are at the minimum and maximum of the - data. + that the whisker ends are at the minimum and maximum of the data. meanline : bool, optional (False) If `True` (and ``showmeans`` is `True`), will try to render @@ -5728,7 +5727,7 @@ def pcolorfast(self, *args, alpha=None, norm=None, cmap=None, vmin=None, It's designed to provide the fastest pcolor-type plotting with the Agg backend. To achieve this, it uses different algorithms internally depending on the complexity of the input grid (regular rectangular, - non-regular rectangular or arbitrary quadrilateral). + non-regular rectangular or arbitrary quadrilateral). .. warning:: diff --git a/lib/matplotlib/backend_bases.py b/lib/matplotlib/backend_bases.py index a194b985b587..43f22e3f4f90 100644 --- a/lib/matplotlib/backend_bases.py +++ b/lib/matplotlib/backend_bases.py @@ -2596,7 +2596,7 @@ class NavigationToolbar2(object): # ) toolitems = ( ('Home', 'Reset original view', 'home', 'home'), - ('Back', 'Back to previous view', 'back', 'back'), + ('Back', 'Back to previous view', 'back', 'back'), ('Forward', 'Forward to next view', 'forward', 'forward'), (None, None, None, None), ('Pan', 'Pan axes with left mouse, zoom with right', 'move', 'pan'), diff --git a/lib/matplotlib/backend_managers.py b/lib/matplotlib/backend_managers.py index 53e1ee38dd7b..d1e88df41127 100644 --- a/lib/matplotlib/backend_managers.py +++ b/lib/matplotlib/backend_managers.py @@ -22,7 +22,7 @@ def __init__(self, name, sender, tool, data=None): class ToolTriggerEvent(ToolEvent): - """Event to inform that a tool has been triggered""" + """Event to inform that a tool has been triggered""" def __init__(self, name, sender, tool, canvasevent=None, data=None): ToolEvent.__init__(self, name, sender, tool, data) self.canvasevent = canvasevent diff --git a/lib/matplotlib/backends/backend_ps.py b/lib/matplotlib/backends/backend_ps.py index ab52fbc53034..b72dca86e852 100644 --- a/lib/matplotlib/backends/backend_ps.py +++ b/lib/matplotlib/backends/backend_ps.py @@ -1571,7 +1571,7 @@ def get_bbox_header(lbrt, rotated=False): l, b, r, t = lbrt if rotated: - rotate = "%.2f %.2f translate\n90 rotate" % (l+r, 0) + rotate = "%.2f %.2f translate\n90 rotate" % (l+r, 0) else: rotate = "" bbox_info = '%%%%BoundingBox: %d %d %d %d' % (l, b, np.ceil(r), np.ceil(t)) diff --git a/lib/matplotlib/category.py b/lib/matplotlib/category.py index e8aef52e07fb..22a0f2939acc 100644 --- a/lib/matplotlib/category.py +++ b/lib/matplotlib/category.py @@ -24,7 +24,7 @@ class StrCategoryConverter(units.ConversionInterface): @staticmethod def convert(value, unit, axis): """Converts strings in value to floats using - mapping information store in the unit object + mapping information store in the unit object. Parameters ---------- diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index 059560ecbf45..d7df6210be50 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -1177,10 +1177,9 @@ def boxplot_stats(X, whis=1.5, bootstrap=None, labels=None, dimensions of `X`. autorange : bool, optional (False) - When `True` and the data are distributed such that the 25th and - 75th percentiles are equal, ``whis`` is set to ``'range'`` such - that the whisker ends are at the minimum and maximum of the - data. + When `True` and the data are distributed such that the 25th and 75th + percentiles are equal, ``whis`` is set to ``'range'`` such that the + whisker ends are at the minimum and maximum of the data. Returns ------- diff --git a/lib/matplotlib/cbook/deprecation.py b/lib/matplotlib/cbook/deprecation.py index 6ba7ba589ec3..abfe1034e4c6 100644 --- a/lib/matplotlib/cbook/deprecation.py +++ b/lib/matplotlib/cbook/deprecation.py @@ -55,7 +55,7 @@ def warn_deprecated( since, message='', name='', alternative='', pending=False, obj_type='attribute', addendum='', *, removal=''): """ - Used to display deprecation in a standard way. + Used to display deprecation in a standard way. Parameters ---------- diff --git a/lib/matplotlib/mlab.py b/lib/matplotlib/mlab.py index 1cc3b434d2ee..1d2177db15f2 100644 --- a/lib/matplotlib/mlab.py +++ b/lib/matplotlib/mlab.py @@ -117,7 +117,7 @@ Import record array from CSV file with type inspection :func:`rec_append_fields` - Adds field(s)/array(s) to record array + Adds field(s)/array(s) to record array :func:`rec_drop_fields` Drop fields from record array diff --git a/lib/matplotlib/offsetbox.py b/lib/matplotlib/offsetbox.py index edc10750d361..75d910936555 100644 --- a/lib/matplotlib/offsetbox.py +++ b/lib/matplotlib/offsetbox.py @@ -842,7 +842,7 @@ def draw(self, renderer): class AuxTransformBox(OffsetBox): """ - Offset Box with the aux_transform . Its children will be + Offset Box with the aux_transform. Its children will be transformed with the aux_transform first then will be offseted. The absolute coordinate of the aux_transform is meaning as it will be automatically adjust so that the left-lower corner diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index 617f82cb264e..52aa0367356b 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -2562,7 +2562,7 @@ def get_y(self): return self._y def get_width(self): - "Return the width of the rectangle" + "Return the width of the rectangle" return self._width def get_height(self): diff --git a/lib/matplotlib/tests/test_triangulation.py b/lib/matplotlib/tests/test_triangulation.py index 115df141608c..e116b2066bdf 100644 --- a/lib/matplotlib/tests/test_triangulation.py +++ b/lib/matplotlib/tests/test_triangulation.py @@ -562,14 +562,14 @@ def poisson_sparse_matrix(n, m): def test_triinterpcubic_geom_weights(): # Tests to check computation of weights for _DOF_estimator_geom: # The weight sum per triangle can be 1. (in case all angles < 90 degrees) - # or (2*w_i) where w_i = 1-alpha_i/np.pi is the weight of apex i ; alpha_i + # or (2*w_i) where w_i = 1-alpha_i/np.pi is the weight of apex i; alpha_i # is the apex angle > 90 degrees. (ax, ay) = (0., 1.687) x = np.array([ax, 0.5*ax, 0., 1.]) y = np.array([ay, -ay, 0., 0.]) z = np.zeros(4, dtype=np.float64) triangles = [[0, 2, 3], [1, 3, 2]] - sum_w = np.zeros([4, 2]) # 4 possibilities ; 2 triangles + sum_w = np.zeros([4, 2]) # 4 possibilities; 2 triangles for theta in np.linspace(0., 2*np.pi, 14): # rotating the figure... x_rot = np.cos(theta)*x + np.sin(theta)*y y_rot = -np.sin(theta)*x + np.cos(theta)*y @@ -594,7 +594,7 @@ def test_triinterp_colinear(): # # Note that the LinearTriInterpolator and the CubicTriInterpolator with # kind='min_E' or 'geom' still pass a linear patch test. - # We also test interpolation inside a flat triangle, by forcing + # We also test interpolation inside a flat triangle, by forcing # *tri_index* in a call to :meth:`_interpolate_multikeys`. # If +ve, triangulation is OK, if -ve triangulation invalid, @@ -604,7 +604,7 @@ def test_triinterp_colinear(): x0 = np.array([1.5, 0, 1, 2, 3, 1.5, 1.5]) y0 = np.array([-1, 0, 0, 0, 0, delta, 1]) - # We test different affine transformations of the initial figure ; to + # We test different affine transformations of the initial figure; to # avoid issues related to round-off errors we only use integer # coefficients (otherwise the Triangulation might become invalid even with # delta == 0). diff --git a/lib/matplotlib/tri/triinterpolate.py b/lib/matplotlib/tri/triinterpolate.py index fd801b55d0d0..1a062208e8de 100644 --- a/lib/matplotlib/tri/triinterpolate.py +++ b/lib/matplotlib/tri/triinterpolate.py @@ -76,9 +76,8 @@ def __init__(self, triangulation, z, trifinder=None): Returns ------- z : np.ma.array - Masked array of the same shape as *x* and *y* ; values - corresponding to (*x*, *y*) points outside of the triangulation - are masked out. + Masked array of the same shape as *x* and *y*; values corresponding + to (*x*, *y*) points outside of the triangulation are masked out. """ @@ -95,7 +94,7 @@ def __init__(self, triangulation, z, trifinder=None): Returns ------- dzdx, dzdy : np.ma.array - 2 masked arrays of the same shape as *x* and *y* ; values + 2 masked arrays of the same shape as *x* and *y*; values corresponding to (x,y) points outside of the triangulation are masked out. The first returned array contains the values of @@ -466,7 +465,7 @@ def _compute_dof(self, kind, dz=None): Choice of the _DOF_estimator subclass to perform the gradient estimation. dz: tuple of array_likes (dzdx, dzdy), optional - Used only if *kind=user ; in this case passed to the + Used only if *kind*=user; in this case passed to the :class:`_DOF_estimator_user`. Returns @@ -486,7 +485,7 @@ def _compute_dof(self, kind, dz=None): elif kind == 'min_E': TE = _DOF_estimator_min_E(self) else: - raise ValueError("CubicTriInterpolator *kind* proposed: {0} ; " + raise ValueError("CubicTriInterpolator *kind* proposed: {0}; " "should be one of: " "'user', 'geom', 'min_E'".format(kind)) return TE.compute_dof_from_df() @@ -919,7 +918,7 @@ def get_Hrot_from_J(self, J, return_area=False): to global coordinates. if *return_area* is True, returns also the triangle area (0.5*det(J)) """ - # Here we try to deal with the simplest colinear cases ; a null + # Here we try to deal with the simplest colinear cases; a null # energy and area is imposed. J_inv = _safe_inv22_vectorized(J) Ji00 = J_inv[:, 0, 0] @@ -1138,7 +1137,7 @@ def compute_geom_weights(self): # In the below formula we could take modulo 2. but # modulo 1. is safer regarding round-off errors (flat triangles). angle = np.abs(np.mod((alpha2-alpha1) / np.pi, 1.)) - # Weight proportional to angle up np.pi/2 ; null weight for + # Weight proportional to angle up np.pi/2; null weight for # degenerated cases 0. and np.pi (Note that `angle` is normalized # by np.pi) weights[:, ipt] = 0.5 - np.abs(angle-0.5) @@ -1201,9 +1200,9 @@ def compute_dz(self): J, eccs, triangles, Uc) # Building sparse matrix and solving minimization problem - # We could use scipy.sparse direct solver ; however to avoid this + # We could use scipy.sparse direct solver; however to avoid this # external dependency an implementation of a simple PCG solver with - # a simplendiagonal Jocabi preconditioner is implemented. + # a simple diagonal Jacobi preconditioner is implemented. tol = 1.e-10 n_dof = Ff.shape[0] Kff_coo = _Sparse_Matrix_coo(Kff_vals, Kff_rows, Kff_cols, @@ -1435,7 +1434,7 @@ def _safe_inv22_vectorized(M): prod1 = M[:, 0, 0]*M[:, 1, 1] delta = prod1 - M[:, 0, 1]*M[:, 1, 0] - # We set delta_inv to 0. in case of a rank deficient matrix ; a + # We set delta_inv to 0. in case of a rank deficient matrix; a # rank-deficient input matrix *M* will lead to a null matrix in output rank2 = (np.abs(delta) > 1e-8*np.abs(prod1)) if np.all(rank2): @@ -1455,7 +1454,7 @@ def _safe_inv22_vectorized(M): def _pseudo_inv22sym_vectorized(M): """ - Inversion of arrays of (2,2) SYMMETRIC matrices ; returns the + Inversion of arrays of (2,2) SYMMETRIC matrices; returns the (Moore-Penrose) pseudo-inverse for rank-deficient matrices. In case M is of rank 1, we have M = trace(M) x P where P is the orthogonal diff --git a/lib/matplotlib/tri/trirefine.py b/lib/matplotlib/tri/trirefine.py index e198e1366da8..73c9494061f9 100644 --- a/lib/matplotlib/tri/trirefine.py +++ b/lib/matplotlib/tri/trirefine.py @@ -232,7 +232,7 @@ def _refine_triangulation_once(triangulation, ancestors=None): # Each edge belongs to 1 triangle (if border edge) or is shared by 2 # masked_triangles (interior edge). # We first build 2 * ntri arrays of edge starting nodes (edge_elems, - # edge_apexes) ; we then extract only the masters to avoid overlaps. + # edge_apexes); we then extract only the masters to avoid overlaps. # The so-called 'master' is the triangle with biggest index # The 'slave' is the triangle with lower index # (can be -1 if border edge) @@ -257,7 +257,7 @@ def _refine_triangulation_once(triangulation, ancestors=None): refi_x[npts:] = x_add refi_y[npts:] = y_add - # Building the new masked_triangles ; each old masked_triangles hosts + # Building the new masked_triangles; each old masked_triangles hosts # 4 new masked_triangles # there are 6 pts to identify per 'old' triangle, 3 new_pt_corner and # 3 new_pt_midside @@ -267,7 +267,7 @@ def _refine_triangulation_once(triangulation, ancestors=None): # of elem ielem ? # If ielem is the apex master: simple count, given the way refi_x was # built. - # If ielem is the apex slave: yet we do not know ; but we will soon + # If ielem is the apex slave: yet we do not know; but we will soon # using the neighbors table. new_pt_midside = np.empty([ntri, 3], dtype=np.int32) cum_sum = npts diff --git a/lib/matplotlib/tri/tritools.py b/lib/matplotlib/tri/tritools.py index 2e5bc1f3d7f7..a40c1565063f 100644 --- a/lib/matplotlib/tri/tritools.py +++ b/lib/matplotlib/tri/tritools.py @@ -127,14 +127,13 @@ def get_flat_tri_mask(self, min_circle_ratio=0.01, rescale=True): triangulation from its border-located flat triangles (according to their :meth:`circle_ratios`). This mask is meant to be subsequently applied to the triangulation - using :func:`matplotlib.tri.Triangulation.set_mask` . + using :func:`matplotlib.tri.Triangulation.set_mask`. *new_mask* is an extension of the initial triangulation mask in the sense that an initially masked triangle will remain masked. - The *new_mask* array is computed recursively ; at each step flat - triangles are removed only if they share a side with the current - mesh border. Thus no new holes in the triangulated domain will be - created. + The *new_mask* array is computed recursively; at each step flat + triangles are removed only if they share a side with the current mesh + border. Thus no new holes in the triangulated domain will be created. Parameters ---------- diff --git a/lib/mpl_toolkits/axes_grid1/axes_size.py b/lib/mpl_toolkits/axes_grid1/axes_size.py index e8ec8b203727..74df33256c6c 100644 --- a/lib/mpl_toolkits/axes_grid1/axes_size.py +++ b/lib/mpl_toolkits/axes_grid1/axes_size.py @@ -53,7 +53,7 @@ def get_size(self, renderer): class Fixed(_Base): - "Simple fixed size with absolute part = *fixed_size* and relative part = 0" + "Simple fixed size with absolute part = *fixed_size* and relative part = 0" def __init__(self, fixed_size): self.fixed_size = fixed_size diff --git a/lib/mpl_toolkits/mplot3d/art3d.py b/lib/mpl_toolkits/mplot3d/art3d.py index a2084da837f6..796cb8dff4d4 100644 --- a/lib/mpl_toolkits/mplot3d/art3d.py +++ b/lib/mpl_toolkits/mplot3d/art3d.py @@ -486,7 +486,7 @@ def patch_collection_2d_to_3d(col, zs=0, zdir='z', depthshade=True): Parameters ---------- za - The location or locations to place the patches in the collection along + The location or locations to place the patches in the collection along the *zdir* axis. Default: 0. zdir The axis in which to place the patches. Default: "z". diff --git a/lib/mpl_toolkits/mplot3d/axes3d.py b/lib/mpl_toolkits/mplot3d/axes3d.py index d9e24280535c..334dc42dc650 100644 --- a/lib/mpl_toolkits/mplot3d/axes3d.py +++ b/lib/mpl_toolkits/mplot3d/axes3d.py @@ -1364,7 +1364,7 @@ def locator_params(self, axis='both', tight=None, **kwargs): Convenience method for controlling tick locators. See :meth:`matplotlib.axes.Axes.locator_params` for full - documentation Note that this is for Axes3D objects, + documentation. Note that this is for Axes3D objects, therefore, setting *axis* to 'both' will result in the parameters being set for all three axes. Also, *axis* can also take a value of 'z' to apply parameters to the diff --git a/tutorials/introductory/pyplot.py b/tutorials/introductory/pyplot.py index bcb58bdf63a1..75aa2a23a26b 100644 --- a/tutorials/introductory/pyplot.py +++ b/tutorials/introductory/pyplot.py @@ -12,7 +12,7 @@ # =============== # # :mod:`matplotlib.pyplot` is a collection of command style functions -# that make matplotlib work like MATLAB. +# that make matplotlib work like MATLAB. # Each ``pyplot`` function makes # some change to a figure: e.g., creates a figure, creates a plotting area # in a figure, plots some lines in a plotting area, decorates the plot diff --git a/tutorials/introductory/sample_plots.py b/tutorials/introductory/sample_plots.py index f185d17f80ce..f1a1542ebec6 100644 --- a/tutorials/introductory/sample_plots.py +++ b/tutorials/introductory/sample_plots.py @@ -11,7 +11,7 @@ Line Plot ========= -Here's how to create a line plot with text labels using +Here's how to create a line plot with text labels using :func:`~matplotlib.pyplot.plot`. .. figure:: ../../gallery/lines_bars_and_markers/images/sphx_glr_simple_plot_001.png @@ -147,11 +147,10 @@ Ellipses ======== -In support of the -`Phoenix <http://www.jpl.nasa.gov/news/phoenix/main.php>`_ mission to -Mars (which used Matplotlib to display ground tracking of spacecraft), -Michael Droettboom built on work by Charlie Moad to provide an extremely -accurate 8-spline approximation to elliptical arcs (see +In support of the `Phoenix <http://www.jpl.nasa.gov/news/phoenix/main.php>`_ +mission to Mars (which used Matplotlib to display ground tracking of +spacecraft), Michael Droettboom built on work by Charlie Moad to provide +an extremely accurate 8-spline approximation to elliptical arcs (see :class:`~matplotlib.patches.Arc`), which are insensitive to zoom level. .. figure:: ../../gallery/shapes_and_collections/images/sphx_glr_ellipse_demo_001.png diff --git a/tutorials/text/usetex.py b/tutorials/text/usetex.py index c0abd48aaad4..78808be4acbb 100644 --- a/tutorials/text/usetex.py +++ b/tutorials/text/usetex.py @@ -60,7 +60,7 @@ TeX Demo -Note that display math mode (``$$ e=mc^2 $$``) is not supported, but adding the +Note that display math mode (``$$ e=mc^2 $$``) is not supported, but adding the command ``\displaystyle``, as in `tex_demo.py`, will produce the same results. diff --git a/tutorials/toolkits/axes_grid.py b/tutorials/toolkits/axes_grid.py index 5cca8dc269df..a5e8072a9301 100644 --- a/tutorials/toolkits/axes_grid.py +++ b/tutorials/toolkits/axes_grid.py @@ -127,10 +127,10 @@ data limits (similar to aspect parameter in mpl). *share_all* - if True, xaxis and yaxis of all axes are shared. + if True, xaxis and yaxis of all axes are shared. *direction* - direction of increasing axes number. For "row", + direction of increasing axes number. For "row", +---------+---------+ | grid[0] | grid[1] | diff --git a/tutorials/toolkits/axisartist.py b/tutorials/toolkits/axisartist.py index 6807102f9550..f32d81bab0d4 100644 --- a/tutorials/toolkits/axisartist.py +++ b/tutorials/toolkits/axisartist.py @@ -479,8 +479,8 @@ Demo Ticklabel Alignment -Adjusting pad --------------- +Adjusting pad +------------- To change the pad between ticks and ticklabels :: @@ -509,7 +509,7 @@ transform of the axes itself (ax.transData) is still rectilinear (image) coordinate. :: - from mpl_toolkits.axisartist.grid_helper_curvelinear \ + from mpl_toolkits.axisartist.grid_helper_curvelinear \ import GridHelperCurveLinear from mpl_toolkits.axisartist import Subplot @@ -535,7 +535,7 @@ def inv_tr(x,y): cycles. In those cases, a more customized version of grid helper is required. :: - import mpl_toolkits.axisartist.angle_helper as angle_helper + import mpl_toolkits.axisartist.angle_helper as angle_helper # PolarAxes.PolarTransform takes radian. However, we want our coordinate # system in degree From 486ce4023443b0387524bede25f1a4d0c42e0fd9 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sat, 7 Jul 2018 11:36:19 +0200 Subject: [PATCH 0905/1161] Skip wx interactive tests on OSX. It appears that they never worked and were just spuriously skipped before on CI. Make the skip explicit and unbreak the build. --- lib/matplotlib/tests/test_backends_interactive.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/matplotlib/tests/test_backends_interactive.py b/lib/matplotlib/tests/test_backends_interactive.py index 7e6922ebcd43..29ee4db3fc0b 100644 --- a/lib/matplotlib/tests/test_backends_interactive.py +++ b/lib/matplotlib/tests/test_backends_interactive.py @@ -29,6 +29,8 @@ def _get_testable_interactive_backends(): reason = "No $DISPLAY" elif any(importlib.util.find_spec(dep) is None for dep in deps): reason = "Missing dependency" + elif "wx" in deps and sys.platform == "darwin": + reason = "wx backends known not to work on OSX" backends.append(pytest.mark.skip(reason=reason)(backend) if reason else backend) return backends From 63671b409f61e279b7f2a0918b53b4c3465a1242 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sat, 7 Jul 2018 11:49:40 +0200 Subject: [PATCH 0906/1161] Some more docstring cleanups. I quietly stayed off the debate of whether to use triple-quoted strings for single line docstrings... (I think yes, but that'll be for some other day.) --- lib/matplotlib/patches.py | 26 +++++++++++++------------- lib/matplotlib/tri/triinterpolate.py | 4 ++-- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index 52aa0367356b..d38676382eac 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -672,7 +672,7 @@ def __init__(self, xy, width, height, angle=0.0, **kwargs): def get_path(self): """ - Return the vertices of the rectangle + Return the vertices of the rectangle. """ return Path.unit_rectangle() @@ -696,9 +696,9 @@ def _update_y1(self): self._y1 = self._y0 + self._height def _convert_units(self): - ''' - Convert bounds of the rectangle - ''' + """ + Convert bounds of the rectangle. + """ x0 = self.convert_xunits(self._x0) y0 = self.convert_yunits(self._y0) x1 = self.convert_xunits(self._x1) @@ -710,33 +710,33 @@ def get_patch_transform(self): return self._rect_transform def get_x(self): - "Return the left coord of the rectangle" + "Return the left coord of the rectangle." return self._x0 def get_y(self): - "Return the bottom coord of the rectangle" + "Return the bottom coord of the rectangle." return self._y0 def get_xy(self): - "Return the left and bottom coords of the rectangle" + "Return the left and bottom coords of the rectangle." return self._x0, self._y0 def get_width(self): - "Return the width of the rectangle" + "Return the width of the rectangle." return self._width def get_height(self): - "Return the height of the rectangle" + "Return the height of the rectangle." return self._height def set_x(self, x): - "Set the left coord of the rectangle" + "Set the left coord of the rectangle." self._x0 = x self._update_x1() self.stale = True def set_y(self, y): - "Set the bottom coord of the rectangle" + "Set the bottom coord of the rectangle." self._y0 = y self._update_y1() self.stale = True @@ -755,13 +755,13 @@ def set_xy(self, xy): self.stale = True def set_width(self, w): - "Set the width of the rectangle" + "Set the width of the rectangle." self._width = w self._update_x1() self.stale = True def set_height(self, h): - "Set the height of the rectangle" + "Set the height of the rectangle." self._height = h self._update_y1() self.stale = True diff --git a/lib/matplotlib/tri/triinterpolate.py b/lib/matplotlib/tri/triinterpolate.py index 1a062208e8de..1aefc77e64a6 100644 --- a/lib/matplotlib/tri/triinterpolate.py +++ b/lib/matplotlib/tri/triinterpolate.py @@ -1138,8 +1138,8 @@ def compute_geom_weights(self): # modulo 1. is safer regarding round-off errors (flat triangles). angle = np.abs(np.mod((alpha2-alpha1) / np.pi, 1.)) # Weight proportional to angle up np.pi/2; null weight for - # degenerated cases 0. and np.pi (Note that `angle` is normalized - # by np.pi) + # degenerated cases 0 and np.pi (note that `angle` is normalized + # by np.pi). weights[:, ipt] = 0.5 - np.abs(angle-0.5) return weights From ae6eaf03575ea42d815a37af14f25821d2420e62 Mon Sep 17 00:00:00 2001 From: pharshalp <pharshalp@gmail.com> Date: Thu, 5 Jul 2018 22:44:50 -0400 Subject: [PATCH 0907/1161] Added _ColorbarAutoMinorLocator and minorticks_on/off Added a missing blank line before class definition added a test for minorticks_on/off Renamed the test for colorbar minorticks_on/off and added helpful comment Cleaned up the __call__ method for _ColorbarAutoMinorLocator as per the suggestion of @jklymak Added whats new entry making sure that minorticks_on/off doesn't act on a logarithmic colorbar axis Added _ColorbarAutoMinorLocator, minorticks_on/off, test_colorbar_minorticks_on_off and whats new entry Added an example showing off the utility of cbar.minorticks_on() Cleaning up --- .../next_whats_new/colorbar_minor_ticks.rst | 10 ++++ examples/color/colorbar_basics.py | 9 +++- lib/matplotlib/colorbar.py | 53 +++++++++++++++++++ lib/matplotlib/tests/test_colorbar.py | 25 +++++++++ 4 files changed, 96 insertions(+), 1 deletion(-) create mode 100644 doc/users/next_whats_new/colorbar_minor_ticks.rst diff --git a/doc/users/next_whats_new/colorbar_minor_ticks.rst b/doc/users/next_whats_new/colorbar_minor_ticks.rst new file mode 100644 index 000000000000..a8b47a940875 --- /dev/null +++ b/doc/users/next_whats_new/colorbar_minor_ticks.rst @@ -0,0 +1,10 @@ +Add ``minorticks_on()/off()`` methods for colorbar +-------------------------------------------------- + +A new method :meth:`.Colobar.minorticks_on` is +introduced to correctly display minor ticks on the colorbar. This method +doesn't allow the minor ticks to extend into the regions beyond vmin and vmax +when the extend `kwarg` (used while creating the colorbar) is set to 'both', +'max' or 'min'. +A complementary method :meth:`.Colobar.minorticks_off` +is introduced to remove the minor ticks on the colorbar. diff --git a/examples/color/colorbar_basics.py b/examples/color/colorbar_basics.py index 6ba4d00477b6..adc9733f6a67 100644 --- a/examples/color/colorbar_basics.py +++ b/examples/color/colorbar_basics.py @@ -20,7 +20,7 @@ Zpos = np.ma.masked_less(Z, 0) Zneg = np.ma.masked_greater(Z, 0) -fig, (ax1, ax2) = plt.subplots(figsize=(8, 3), ncols=2) +fig, (ax1, ax2, ax3) = plt.subplots(figsize=(13, 3), ncols=3) # plot just the positive data and save the # color "mappable" object returned by ax1.imshow @@ -35,6 +35,13 @@ neg = ax2.imshow(Zneg, cmap='Reds_r', interpolation='none') fig.colorbar(neg, ax=ax2) +# Plot both positive and negative values betwen +/- 1.2 +pos_neg_clipped = ax3.imshow(Z, cmap='RdBu', vmin=-1.2, vmax=1.2, + interpolation='none') +# Add minorticks on the colorbar to make it easy to read the +# values off the colorbar. +cbar = fig.colorbar(pos_neg_clipped, ax=ax3, extend='both') +cbar.minorticks_on() plt.show() ############################################################################# diff --git a/lib/matplotlib/colorbar.py b/lib/matplotlib/colorbar.py index 702d7dba955d..0670383e5b2e 100644 --- a/lib/matplotlib/colorbar.py +++ b/lib/matplotlib/colorbar.py @@ -244,6 +244,32 @@ def tick_values(self, vmin, vmax): return ticks[(ticks >= vmin) & (ticks <= vmax)] +class _ColorbarAutoMinorLocator(ticker.AutoMinorLocator): + """ + AutoMinorLocator for Colorbar + + This locator is just a `.AutoMinorLocator` except the min and max are + clipped by the norm's min and max (i.e. vmin/vmax from the + image/pcolor/contour object). This is necessary so that the minorticks + don't extrude into the "extend regions". + """ + + def __init__(self, colorbar, n=None): + """ + This ticker needs to know the *colorbar* so that it can access + its *vmin* and *vmax*. + """ + self._colorbar = colorbar + self.ndivs = n + ticker.AutoMinorLocator.__init__(self, n=None) + + def __call__(self): + vmin = self._colorbar.norm.vmin + vmax = self._colorbar.norm.vmax + ticks = ticker.AutoMinorLocator.__call__(self) + return ticks[(ticks >= vmin) & (ticks <= vmax)] + + class _ColorbarLogLocator(ticker.LogLocator): """ LogLocator for Colorbarbar @@ -1164,6 +1190,33 @@ def remove(self): # use_gridspec was True ax.set_subplotspec(subplotspec) + def minorticks_on(self): + """ + Turns on the minor ticks on the colorbar without extruding + into the "extend regions". + """ + ax = self.ax + long_axis = ax.yaxis if self.orientation == 'vertical' else ax.xaxis + + if long_axis.get_scale() == 'log': + warnings.warn('minorticks_on() has no effect on a ' + 'logarithmic colorbar axis') + else: + long_axis.set_minor_locator(_ColorbarAutoMinorLocator(self)) + + def minorticks_off(self): + """ + Turns off the minor ticks on the colorbar. + """ + ax = self.ax + long_axis = ax.yaxis if self.orientation == 'vertical' else ax.xaxis + + if long_axis.get_scale() == 'log': + warnings.warn('minorticks_off() has no effect on a ' + 'logarithmic colorbar axis') + else: + long_axis.set_minor_locator(ticker.NullLocator()) + @docstring.Substitution(make_axes_kw_doc) def make_axes(parents, location=None, orientation=None, fraction=0.15, diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py index d956209c599b..450d73e69697 100644 --- a/lib/matplotlib/tests/test_colorbar.py +++ b/lib/matplotlib/tests/test_colorbar.py @@ -270,6 +270,31 @@ def test_colorbar_ticks(): assert len(cbar.ax.xaxis.get_ticklocs()) == len(clevs) +def test_colorbar_minorticks_on_off(): + # test for github issue #11510 and PR #11584 + np.random.seed(seed=12345) + data = np.random.randn(20, 20) + with rc_context({'_internal.classic_mode': False}): + fig, ax = plt.subplots() + # purposefully setting vmin and vmax to odd fractions + # so as to check for the correct locations of the minor ticks + im = ax.pcolormesh(data, vmin=-2.3, vmax=3.3) + + cbar = fig.colorbar(im, extend='both') + cbar.minorticks_on() + correct_minorticklocs = np.array([-2.2, -1.8, -1.6, -1.4, -1.2, -0.8, + -0.6, -0.4, -0.2, 0.2, 0.4, 0.6, + 0.8, 1.2, 1.4, 1.6, 1.8, 2.2, 2.4, + 2.6, 2.8, 3.2]) + # testing after minorticks_on() + np.testing.assert_almost_equal(cbar.ax.yaxis.get_minorticklocs(), + correct_minorticklocs) + cbar.minorticks_off() + # testing after minorticks_off() + np.testing.assert_almost_equal(cbar.ax.yaxis.get_minorticklocs(), + np.array([])) + + def test_colorbar_autoticks(): # Test new autotick modes. Needs to be classic because # non-classic doesn't go this route. From cac3be2c2374a31c613d6a8e9a42dfb4b83615c3 Mon Sep 17 00:00:00 2001 From: cclauss <cclauss@bluewin.ch> Date: Mon, 2 Apr 2018 07:26:22 +0200 Subject: [PATCH 0908/1161] Run flake8 instead of pep8 on Python 3.6 As discussed at https://github.com/matplotlib/matplotlib/pull/10938#issuecomment-377855594 _undefined names_ have [occurred often in the past](https://github.com/matplotlib/matplotlib/pulls?q=is%3Apr+author%3Acclauss+is%3Aclosed) and this change would help to avoid recurrence in the future. --- .travis.yml | 5 ++--- pytest.ini | 4 ++-- requirements/testing/travis36.txt | 2 +- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 59be49011f60..9ca5c96541ca 100644 --- a/.travis.yml +++ b/.travis.yml @@ -63,8 +63,7 @@ env: - NPROC=2 - OPENBLAS_NUM_THREADS=1 - PYTHONFAULTHANDLER=1 - - PYTEST_ADDOPTS="-rawR --maxfail=50 --timeout=300 --durations=25 --cov-report= --cov=lib -n $NPROC" - - RUN_PEP8= + - PYTEST_ADDOPTS="-rawR --maxfail=50 --timeout=350 --durations=25 --cov-report= --cov=lib -n $NPROC" matrix: include: @@ -78,7 +77,7 @@ matrix: - python: 3.6 env: - DELETE_FONT_CACHE=1 - - PYTEST_ADDOPTS="$PYTEST_ADDOPTS --pep8" + - PYTEST_ADDOPTS="$PYTEST_ADDOPTS --flake8" - EXTRAREQS='-r requirements/testing/travis36.txt' - python: "nightly" env: PRE=--pre diff --git a/pytest.ini b/pytest.ini index fd510238c86b..314d36c73815 100644 --- a/pytest.ini +++ b/pytest.ini @@ -7,8 +7,8 @@ markers = network: Mark a test that uses the network. style: Set alternate Matplotlib style temporarily. -pep8ignore = - * E111 E114 E115 E116 E121 E122 E123 E124 E125 E126 E127 E128 E129 E131 E226 E240 E241 E242 E243 E244 E245 E246 E247 E248 E249 E265 E266 E704 W503 +flake8-ignore = + * E111 E114 E115 E116 E121 E122 E123 E124 E125 E126 E127 E128 E129 E131 E226 E240 E241 E242 E243 E244 E245 E246 E247 E248 E249 E265 E266 E305 E306 E704 E722 E741 F401 F403 F811 F841 W503 setup.py E402 setupext.py E301 E302 E501 diff --git a/requirements/testing/travis36.txt b/requirements/testing/travis36.txt index 1b8dd3e3ff7b..f7fe1f5a6058 100644 --- a/requirements/testing/travis36.txt +++ b/requirements/testing/travis36.txt @@ -2,4 +2,4 @@ pandas<0.21.0 jupyter -pytest-pep8 +pytest-flake8 From 5e859f80892efe78cf3b6e93e3cfd193d5d6d913 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade <quantum.analyst@gmail.com> Date: Sat, 7 Jul 2018 15:25:57 -0400 Subject: [PATCH 0909/1161] Fix undefined names. Fixes #11550. --- lib/matplotlib/__init__.py | 2 +- lib/matplotlib/gridspec.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 29fc2f1388db..28b0d63c3f0d 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -918,7 +918,7 @@ def __getitem__(self, key): elif key in _deprecated_ignore_map: version, alt_key = _deprecated_ignore_map[key] cbook.warn_deprecated( - version, key, obj_type, alternative=alt_key) + version, key, obj_type="rcparam", alternative=alt_key) return dict.__getitem__(self, alt_key) if alt_key else None elif key == 'examples.directory': diff --git a/lib/matplotlib/gridspec.py b/lib/matplotlib/gridspec.py index baaab83a217e..f85f061f0528 100644 --- a/lib/matplotlib/gridspec.py +++ b/lib/matplotlib/gridspec.py @@ -20,7 +20,7 @@ import numpy as np import matplotlib as mpl -from matplotlib import _pylab_helpers, tight_layout, rcParams +from matplotlib import _pylab_helpers, cbook, tight_layout, rcParams from matplotlib.transforms import Bbox import matplotlib._layoutbox as layoutbox From cdcb282521a26fafc2565285f997365b242d3b80 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade <quantum.analyst@gmail.com> Date: Sat, 7 Jul 2018 15:38:03 -0400 Subject: [PATCH 0910/1161] STY: Fix some whitespace issues. --- doc/conf.py | 2 -- doc/sphinxext/gallery_order.py | 2 +- doc/users/generate_credits.py | 2 +- setupext.py | 4 ++-- tools/memleak.py | 1 - tutorials/intermediate/constrainedlayout_guide.py | 2 +- tutorials/intermediate/tight_layout_guide.py | 4 ++-- 7 files changed, 7 insertions(+), 10 deletions(-) diff --git a/doc/conf.py b/doc/conf.py index 9275fcc2b7b3..8e9e7134a8e9 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -95,7 +95,6 @@ def _check_deps(): } - # Sphinx gallery configuration sphinx_gallery_conf = { 'examples_dirs': ['../examples', '../tutorials'], @@ -149,7 +148,6 @@ def _check_deps(): 'team; 2012 - 2018 The Matplotlib development team') - # The default replacements for |version| and |release|, also used in various # other places throughout the built documents. # diff --git a/doc/sphinxext/gallery_order.py b/doc/sphinxext/gallery_order.py index 06f6c207ce2d..40c9b82be61c 100644 --- a/doc/sphinxext/gallery_order.py +++ b/doc/sphinxext/gallery_order.py @@ -69,7 +69,7 @@ def __call__(self, item): class MplExplicitSubOrder(object): """ for use within the 'within_subsection_order' key """ def __init__(self, src_dir): - self.src_dir = src_dir #src_dir is unused here + self.src_dir = src_dir # src_dir is unused here self.ordered_list = explicit_subsection_order def __call__(self, item): diff --git a/doc/users/generate_credits.py b/doc/users/generate_credits.py index ae48a4ff87c9..a81d9c5cb8f7 100755 --- a/doc/users/generate_credits.py +++ b/doc/users/generate_credits.py @@ -63,7 +63,7 @@ def check_duplicates(): contributors = [line.split('\t', 1)[1].strip() for line in lines if line] emails = [re.match('.*<(.*)>', line).group(1) for line in contributors] email_counter = Counter(emails) - + if email_counter.most_common(1)[0][1] > 1: print('DUPLICATE CHECK: The following email addesses are used with more ' 'than one name.\nConsider adding them to .mailmap.\n') diff --git a/setupext.py b/setupext.py index fbf8a8f599c6..ce1d807c9c60 100644 --- a/setupext.py +++ b/setupext.py @@ -1115,8 +1115,8 @@ def do_custom_build(self): if sys.platform != 'win32': # compilation on all other platforms than windows - env={**os.environ, - "CFLAGS": "{} -fPIC".format(os.environ.get("CFLAGS", ""))} + env = {**os.environ, + "CFLAGS": "{} -fPIC".format(os.environ.get("CFLAGS", ""))} subprocess.check_call( ["./configure", "--with-zlib=no", "--with-bzip2=no", "--with-png=no", "--with-harfbuzz=no"], diff --git a/tools/memleak.py b/tools/memleak.py index 32af8d0d8176..df86ea4ce08b 100755 --- a/tools/memleak.py +++ b/tools/memleak.py @@ -127,7 +127,6 @@ def __call__(self): help="Turn on interactive mode to actually open " "windows. Only works with some GUI backends.") - args = parser.parse_args() import matplotlib diff --git a/tutorials/intermediate/constrainedlayout_guide.py b/tutorials/intermediate/constrainedlayout_guide.py index 74e5e13d4abf..179b520761c3 100644 --- a/tutorials/intermediate/constrainedlayout_guide.py +++ b/tutorials/intermediate/constrainedlayout_guide.py @@ -126,7 +126,7 @@ def example_plot(ax, fontsize=12, nodec=False): arr = np.arange(100).reshape((10, 10)) norm = mcolors.Normalize(vmin=0., vmax=100.) # see note above: this makes all pcolormesh calls consistent: -pc_kwargs = {'rasterized':True, 'cmap':'viridis', 'norm':norm} +pc_kwargs = {'rasterized': True, 'cmap': 'viridis', 'norm': norm} fig, ax = plt.subplots(figsize=(4, 4), constrained_layout=True) im = ax.pcolormesh(arr, **pc_kwargs) fig.colorbar(im, ax=ax, shrink=0.6) diff --git a/tutorials/intermediate/tight_layout_guide.py b/tutorials/intermediate/tight_layout_guide.py index b31b65ae4788..333333bda7c1 100644 --- a/tutorials/intermediate/tight_layout_guide.py +++ b/tutorials/intermediate/tight_layout_guide.py @@ -10,8 +10,8 @@ feature and may not work for some cases. It only checks the extents of ticklabels, axis labels, and titles. -An alternative to *tight_layout* is -:doc:`constrained_layout</tutorials/intermediate/constrainedlayout_guide>`. +An alternative to *tight_layout* is :doc:`constrained_layout +</tutorials/intermediate/constrainedlayout_guide>`. Simple Example From 34d8eb2adc8dec8cb7542c24a587e567921df5e7 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade <quantum.analyst@gmail.com> Date: Sat, 7 Jul 2018 16:29:43 -0400 Subject: [PATCH 0911/1161] Use raw strings to avoid invalid escape sequences. --- examples/lines_bars_and_markers/marker_reference.py | 2 +- examples/recipes/fill_between_alpha.py | 2 +- examples/recipes/placing_text_boxes.py | 5 ++++- examples/scales/power_norm.py | 2 +- examples/text_labels_and_annotations/arrow_demo.py | 2 +- examples/ticks_and_spines/spines_bounds.py | 2 +- lib/matplotlib/sphinxext/plot_directive.py | 2 +- tests.py | 2 +- tutorials/text/annotations.py | 2 +- tutorials/text/pgf.py | 2 +- tutorials/text/usetex.py | 2 +- tutorials/toolkits/axes_grid.py | 2 +- tutorials/toolkits/axisartist.py | 2 +- 13 files changed, 16 insertions(+), 13 deletions(-) diff --git a/examples/lines_bars_and_markers/marker_reference.py b/examples/lines_bars_and_markers/marker_reference.py index 829557c4647a..c275f5d503f5 100644 --- a/examples/lines_bars_and_markers/marker_reference.py +++ b/examples/lines_bars_and_markers/marker_reference.py @@ -34,7 +34,7 @@ def nice_repr(text): def math_repr(text): tx = repr(text).lstrip('u').strip("'").strip("$") - return "'\${}\$'".format(tx) + return r"'\${}\$'".format(tx) def split_list(a_list): diff --git a/examples/recipes/fill_between_alpha.py b/examples/recipes/fill_between_alpha.py index ec004af3b031..dc0eaaf9326d 100644 --- a/examples/recipes/fill_between_alpha.py +++ b/examples/recipes/fill_between_alpha.py @@ -81,7 +81,7 @@ ax.plot(t, mu2, lw=2, label='mean population 2', color='yellow') ax.fill_between(t, mu1+sigma1, mu1-sigma1, facecolor='blue', alpha=0.5) ax.fill_between(t, mu2+sigma2, mu2-sigma2, facecolor='yellow', alpha=0.5) -ax.set_title('random walkers empirical $\mu$ and $\pm \sigma$ interval') +ax.set_title(r'random walkers empirical $\mu$ and $\pm \sigma$ interval') ax.legend(loc='upper left') ax.set_xlabel('num steps') ax.set_ylabel('position') diff --git a/examples/recipes/placing_text_boxes.py b/examples/recipes/placing_text_boxes.py index 51a6c143742f..ef64337f0075 100644 --- a/examples/recipes/placing_text_boxes.py +++ b/examples/recipes/placing_text_boxes.py @@ -20,7 +20,10 @@ mu = x.mean() median = np.median(x) sigma = x.std() -textstr = '$\mu=%.2f$\n$\mathrm{median}=%.2f$\n$\sigma=%.2f$' % (mu, median, sigma) +textstr = '\n'.join(( + r'$\mu=%.2f$' % (mu, ), + r'$\mathrm{median}=%.2f$' % (median, ), + r'$\sigma=%.2f$' % (sigma, ))) ax.hist(x, 50) # these are matplotlib.patch.Patch properties diff --git a/examples/scales/power_norm.py b/examples/scales/power_norm.py index e22cc590e181..25db8bd2834a 100644 --- a/examples/scales/power_norm.py +++ b/examples/scales/power_norm.py @@ -25,7 +25,7 @@ axes[0, 0].hist2d(data[:, 0], data[:, 1], bins=100) for ax, gamma in zip(axes.flat[1:], gammas): - ax.set_title('Power law $(\gamma=%1.1f)$' % gamma) + ax.set_title(r'Power law $(\gamma=%1.1f)$' % gamma) ax.hist2d(data[:, 0], data[:, 1], bins=100, norm=mcolors.PowerNorm(gamma)) diff --git a/examples/text_labels_and_annotations/arrow_demo.py b/examples/text_labels_and_annotations/arrow_demo.py index 00d4a57f6fc0..49b07205d0c8 100644 --- a/examples/text_labels_and_annotations/arrow_demo.py +++ b/examples/text_labels_and_annotations/arrow_demo.py @@ -213,7 +213,7 @@ def draw_arrow(pair, alpha=alpha, ec=ec, labelcolor=labelcolor): coords = np.dot(orig_position, M) + [[x_pos, y_pos]] x, y = np.ravel(coords) orig_label = rate_labels[pair] - label = '$%s_{_{\mathrm{%s}}}$' % (orig_label[0], orig_label[1:]) + label = r'$%s_{_{\mathrm{%s}}}$' % (orig_label[0], orig_label[1:]) plt.text(x, y, label, size=label_text_size, ha='center', va='center', color=labelcolor or fc) diff --git a/examples/ticks_and_spines/spines_bounds.py b/examples/ticks_and_spines/spines_bounds.py index fd66eb5612bd..be4f9935e281 100644 --- a/examples/ticks_and_spines/spines_bounds.py +++ b/examples/ticks_and_spines/spines_bounds.py @@ -22,7 +22,7 @@ # set ticks and tick labels ax.set_xlim((0, 2*np.pi)) ax.set_xticks([0, np.pi, 2*np.pi]) -ax.set_xticklabels(['0', '$\pi$', '2$\pi$']) +ax.set_xticklabels(['0', r'$\pi$', r'2$\pi$']) ax.set_ylim((-1.5, 1.5)) ax.set_yticks([-1, 0, 1]) diff --git a/lib/matplotlib/sphinxext/plot_directive.py b/lib/matplotlib/sphinxext/plot_directive.py index da081d00b2e4..92d094d0410a 100644 --- a/lib/matplotlib/sphinxext/plot_directive.py +++ b/lib/matplotlib/sphinxext/plot_directive.py @@ -340,7 +340,7 @@ def remove_coding(text): Remove the coding comment, which six.exec\_ doesn't like. """ cbook.warn_deprecated('3.0', name='remove_coding', removal='3.1') - sub_re = re.compile("^#\s*-\*-\s*coding:\s*.*-\*-$", flags=re.MULTILINE) + sub_re = re.compile(r"^#\s*-\*-\s*coding:\s*.*-\*-$", flags=re.MULTILINE) return sub_re.sub("", text) #------------------------------------------------------------------------------ diff --git a/tests.py b/tests.py index 5817b6c0a9ee..f09e10be04b2 100755 --- a/tests.py +++ b/tests.py @@ -33,7 +33,7 @@ category=DeprecationWarning) warnings.filterwarnings( 'default', - '.*inspect.getargspec\(\) is deprecated.*', + r'.*inspect.getargspec\(\) is deprecated.*', category=DeprecationWarning) from matplotlib import test diff --git a/tutorials/text/annotations.py b/tutorials/text/annotations.py index 43f26648b2f8..945460b0bd9e 100644 --- a/tutorials/text/annotations.py +++ b/tutorials/text/annotations.py @@ -1,4 +1,4 @@ -""" +r""" Annotations =========== diff --git a/tutorials/text/pgf.py b/tutorials/text/pgf.py index ec71c58281c1..31b413d065a8 100644 --- a/tutorials/text/pgf.py +++ b/tutorials/text/pgf.py @@ -1,4 +1,4 @@ -""" +r""" ********************************* Typesetting With XeLaTeX/LuaLaTeX ********************************* diff --git a/tutorials/text/usetex.py b/tutorials/text/usetex.py index 78808be4acbb..1af699dc4224 100644 --- a/tutorials/text/usetex.py +++ b/tutorials/text/usetex.py @@ -1,4 +1,4 @@ -""" +r""" ************************* Text rendering With LaTeX ************************* diff --git a/tutorials/toolkits/axes_grid.py b/tutorials/toolkits/axes_grid.py index a5e8072a9301..55645da3efb5 100644 --- a/tutorials/toolkits/axes_grid.py +++ b/tutorials/toolkits/axes_grid.py @@ -1,4 +1,4 @@ -""" +r""" ============================== Overview of axes_grid1 toolkit ============================== diff --git a/tutorials/toolkits/axisartist.py b/tutorials/toolkits/axisartist.py index f32d81bab0d4..9465ab02551a 100644 --- a/tutorials/toolkits/axisartist.py +++ b/tutorials/toolkits/axisartist.py @@ -1,4 +1,4 @@ -""" +r""" ============================== Overview of axisartist toolkit ============================== From 99a6b8ac7d1c9ffd38fd255c17860281a0c5e1c0 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade <quantum.analyst@gmail.com> Date: Sat, 7 Jul 2018 16:46:05 -0400 Subject: [PATCH 0912/1161] STY: Use consistent (class)method parameter names. --- examples/units/basic_units.py | 10 +++++----- lib/matplotlib/patches.py | 20 ++++++++++---------- lib/matplotlib/tests/test_animation.py | 2 +- lib/mpl_toolkits/axes_grid1/axes_size.py | 16 ++++++++-------- 4 files changed, 24 insertions(+), 24 deletions(-) diff --git a/examples/units/basic_units.py b/examples/units/basic_units.py index ed6990e1aa40..826f543e9c3d 100644 --- a/examples/units/basic_units.py +++ b/examples/units/basic_units.py @@ -25,13 +25,13 @@ def __get__(self, obj, objtype=None): class TaggedValueMeta(type): - def __init__(cls, name, bases, dict): - for fn_name in cls._proxies: + def __init__(self, name, bases, dict): + for fn_name in self._proxies: try: - dummy = getattr(cls, fn_name) + dummy = getattr(self, fn_name) except AttributeError: - setattr(cls, fn_name, - ProxyDelegate(fn_name, cls._proxies[fn_name])) + setattr(self, fn_name, + ProxyDelegate(fn_name, self._proxies[fn_name])) class PassThroughProxy(object): diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index d38676382eac..ed941afc6d38 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -1858,7 +1858,7 @@ class _Style(object): where actual styles are declared as subclass of it, and it provides some helper functions. """ - def __new__(self, stylename, **kw): + def __new__(cls, stylename, **kw): """ return the instance of the subclass with the given style name. """ @@ -1869,7 +1869,7 @@ def __new__(self, stylename, **kw): _list = stylename.replace(" ", "").split(",") _name = _list[0].lower() try: - _cls = self._style_list[_name] + _cls = cls._style_list[_name] except KeyError: raise ValueError("Unknown style : %s" % stylename) @@ -1883,29 +1883,29 @@ def __new__(self, stylename, **kw): return _cls(**_args) @classmethod - def get_styles(klass): + def get_styles(cls): """ A class method which returns a dictionary of available styles. """ - return klass._style_list + return cls._style_list @classmethod - def pprint_styles(klass): + def pprint_styles(cls): """ A class method which returns a string of the available styles. """ - return _pprint_styles(klass._style_list) + return _pprint_styles(cls._style_list) @classmethod - def register(klass, name, style): + def register(cls, name, style): """ Register a new style. """ - if not issubclass(style, klass._Base): + if not issubclass(style, cls._Base): raise ValueError("%s must be a subclass of %s" % (style, - klass._Base)) - klass._style_list[name] = style + cls._Base)) + cls._style_list[name] = style def _register_style(style_list, cls=None, *, name=None): diff --git a/lib/matplotlib/tests/test_animation.py b/lib/matplotlib/tests/test_animation.py index 4e77883b732e..54bca6d3553a 100644 --- a/lib/matplotlib/tests/test_animation.py +++ b/lib/matplotlib/tests/test_animation.py @@ -109,7 +109,7 @@ def __init__(self, fps=None, codec=None, bitrate=None, pass @classmethod - def isAvailable(self): + def isAvailable(cls): return True diff --git a/lib/mpl_toolkits/axes_grid1/axes_size.py b/lib/mpl_toolkits/axes_grid1/axes_size.py index 74df33256c6c..64558e3393fa 100644 --- a/lib/mpl_toolkits/axes_grid1/axes_size.py +++ b/lib/mpl_toolkits/axes_grid1/axes_size.py @@ -290,17 +290,17 @@ def get_size(self, renderer): class GetExtentHelper(object): - def _get_left(tight_bbox, axes_bbox): - return axes_bbox.xmin - tight_bbox.xmin + def _get_left(self, axes_bbox): + return axes_bbox.xmin - self.xmin - def _get_right(tight_bbox, axes_bbox): - return tight_bbox.xmax - axes_bbox.xmax + def _get_right(self, axes_bbox): + return self.xmax - axes_bbox.xmax - def _get_bottom(tight_bbox, axes_bbox): - return axes_bbox.ymin - tight_bbox.ymin + def _get_bottom(self, axes_bbox): + return axes_bbox.ymin - self.ymin - def _get_top(tight_bbox, axes_bbox): - return tight_bbox.ymax - axes_bbox.ymax + def _get_top(self, axes_bbox): + return self.ymax - axes_bbox.ymax _get_func_map = dict(left=_get_left, right=_get_right, From d09bfdff6fc71c302ca6e3317cb1dd2ca29ca375 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade <quantum.analyst@gmail.com> Date: Sat, 7 Jul 2018 16:48:51 -0400 Subject: [PATCH 0913/1161] STY: Fix N813 camelcase imported as lowercase. --- lib/matplotlib/tests/test_font_manager.py | 4 ++-- lib/matplotlib/tests/test_pickle.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/tests/test_font_manager.py b/lib/matplotlib/tests/test_font_manager.py index 84186c0f176a..703a4e6e3359 100644 --- a/lib/matplotlib/tests/test_font_manager.py +++ b/lib/matplotlib/tests/test_font_manager.py @@ -8,7 +8,7 @@ from matplotlib.font_manager import ( findfont, FontProperties, fontManager, json_dump, json_load, get_font, - get_fontconfig_fonts, is_opentype_cff_font, fontManager as fm) + get_fontconfig_fonts, is_opentype_cff_font) from matplotlib import rc_context has_fclist = shutil.which('fc-list') is not None @@ -67,7 +67,7 @@ def test_otf(): if os.path.exists(fname): assert is_opentype_cff_font(fname) - otf_files = [f for f in fm.ttffiles if 'otf' in f] + otf_files = [f for f in fontManager.ttffiles if 'otf' in f] for f in otf_files: with open(f, 'rb') as fd: res = fd.read(4) == b'OTTO' diff --git a/lib/matplotlib/tests/test_pickle.py b/lib/matplotlib/tests/test_pickle.py index 1ba2e097181e..029fd8bd37e6 100644 --- a/lib/matplotlib/tests/test_pickle.py +++ b/lib/matplotlib/tests/test_pickle.py @@ -111,11 +111,11 @@ def test_complete(): def test_no_pyplot(): # tests pickle-ability of a figure not created with pyplot - from matplotlib.backends.backend_pdf import FigureCanvasPdf as fc + from matplotlib.backends.backend_pdf import FigureCanvasPdf from matplotlib.figure import Figure fig = Figure() - _ = fc(fig) + _ = FigureCanvasPdf(fig) ax = fig.add_subplot(1, 1, 1) ax.plot([1, 2, 3], [1, 2, 3]) pickle.dump(fig, BytesIO(), pickle.HIGHEST_PROTOCOL) From 6123369893c53b984d378a63f99f4458ec63294b Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade <quantum.analyst@gmail.com> Date: Sun, 8 Jul 2018 13:44:14 -0400 Subject: [PATCH 0914/1161] TST: Run flake8 outside of pytest. --- .flake8 | 112 ++++++++++++++++++++++++++++ .travis.yml | 16 ++-- pytest.ini | 120 +----------------------------- requirements/testing/travis36.txt | 5 +- 4 files changed, 127 insertions(+), 126 deletions(-) create mode 100644 .flake8 diff --git a/.flake8 b/.flake8 new file mode 100644 index 000000000000..0c9fcd3fc117 --- /dev/null +++ b/.flake8 @@ -0,0 +1,112 @@ +[flake8] +ignore = + # Normal default + E121,E123,E126,E226,E24,E704,W503,W504, + # Additional ignores: + E111, E114, E115, E116, E122, E124, E125, E127, E128, E129, E131, + E265, E266, + E305, E306, + E722, E741, + F401, F403, F811, F841, + # Some new flake8 ignores: + N801, N802, N803, N806, N812, + +exclude = + .git + build + # External files. + versioneer.py + tools/gh_api.py + tools/github_stats.py + +per-file-ignores = + setup.py: E402 + setupext.py: E302, E501 + + tools/compare_backend_driver_results.py: E501 + tools/subset.py: E221, E231, E251, E261, E302, E501, E701 + + matplotlib/_cm.py: E202, E203 + matplotlib/_mathtext_data.py: E203, E261 + matplotlib/backend_bases.py: E225 + matplotlib/backends/_backend_tk.py: E203, E222, E225, E231, E271, E301, E303, E401, E501, E701 + matplotlib/backends/backend_agg.py: E261, E302, E303, E701 + matplotlib/backends/backend_cairo.py: E203, E221, E261, E303, E402, E711 + matplotlib/backends/backend_gtk3.py: E203, E221, E222, E225, E251, E261, E501 + matplotlib/backends/backend_macosx.py: E231, E261 + matplotlib/backends/backend_pgf.py: E303, E731 + matplotlib/backends/backend_ps.py: E203, E225, E228, E231, E261, E262, E302, E303, E501, E701 + matplotlib/backends/backend_svg.py: E203, E225, E228, E231, E261, E302, E501 + matplotlib/backends/qt_editor/formlayout.py: E301, E501 + matplotlib/backends/tkagg.py: E231, E302, E701 + matplotlib/backends/windowing.py: E301, E302 + matplotlib/font_manager.py: E203, E221, E225, E251, E261, E262, E302, E501 + matplotlib/fontconfig_pattern.py: E201, E203, E221, E222, E225, E302 + matplotlib/legend_handler.py: E201, E501 + matplotlib/mathtext.py: E201, E202, E203, E211, E221, E222, E225, E231, E251, E261, E301, E302, E303, E402, E501 + matplotlib/patheffects.py: E231 + matplotlib/projections/geo.py: E203, E221, E231, E261, E502 + matplotlib/pylab.py: E501 + matplotlib/pyplot.py: E201, E202, E221, E222, E225, E231, E251, E261, E302, E501, E701 + matplotlib/rcsetup.py: E203, E225, E261, E302, E501 + matplotlib/sphinxext/mathmpl.py: E302 + matplotlib/sphinxext/only_directives.py: E302 + matplotlib/sphinxext/plot_directive.py: E261, E302, E402 + matplotlib/tests/test_image.py: E225, E231, E251, E302, E501 + matplotlib/tests/test_lines.py: E231, E261 + matplotlib/tests/test_mathtext.py: E261, E501 + matplotlib/transforms.py: E201, E202, E203, E501 + matplotlib/tri/triinterpolate.py: E201, E221 + matplotlib/type1font.py: E731 + + mpl_toolkits/__init__.py: E261 + mpl_toolkits/axes_grid/axes_divider.py: E501 + mpl_toolkits/axes_grid/axes_rgb.py: E302, E501 + mpl_toolkits/axes_grid1/axes_divider.py: E402, E501 + mpl_toolkits/axes_grid1/axes_grid.py: E225 + mpl_toolkits/axes_grid1/axes_rgb.py: E231 + mpl_toolkits/axes_grid1/axes_size.py: E261, E501 + mpl_toolkits/axes_grid1/colorbar.py: E225, E231, E261, E262, E302, E303, E501, E701 + mpl_toolkits/axes_grid1/inset_locator.py: E501 + mpl_toolkits/axes_grid1/mpl_axes.py: E303, E501 + mpl_toolkits/axes_grid1/parasite_axes.py: E225, E231, E302, E303, E501 + mpl_toolkits/axisartist/angle_helper.py: E201, E203, E221, E222, E225, E231, E251, E261, E262, E302, E303, E501 + mpl_toolkits/axisartist/axis_artist.py: E201, E202, E221, E225, E228, E231, E251, E261, E262, E302, E303, E402, E501, E701, E711 + mpl_toolkits/axisartist/axisline_style.py: E231, E261, E262, E302, E303 + mpl_toolkits/axisartist/axislines.py: E225, E231, E261, E303, E501 + mpl_toolkits/axisartist/clip_path.py: E225, E302, E303, E501 + mpl_toolkits/axisartist/floating_axes.py: E225, E231, E261, E262, E302, E303, E402, E501 + mpl_toolkits/axisartist/grid_finder.py: E231, E261, E302, E303, E402 + mpl_toolkits/axisartist/grid_helper_curvelinear.py: E225, E231, E261, E262, E271, E302, E303, E501 + mpl_toolkits/mplot3d/art3d.py: E203, E222, E225, E231 + mpl_toolkits/mplot3d/axes3d.py: E203, E231, E303, E402, E501, E701 + mpl_toolkits/mplot3d/axis3d.py: E231, E302 + mpl_toolkits/mplot3d/proj3d.py: E231, E302, E303 + mpl_toolkits/tests/test_axes_grid1.py: E201, E202 + mpl_toolkits/tests/test_mplot3d.py: E231, E302 + + doc/**: E302, E501 + doc/conf.py: E402 + tutorials/**: E402, E501 + + examples/**: E501, E402 + examples/images_contours_and_fields/tricontour_demo.py: E201 + examples/images_contours_and_fields/tripcolor_demo.py: E201 + examples/images_contours_and_fields/triplot_demo.py: E201 + examples/misc/table_demo.py: E201 + examples/pyplots/annotate_transform.py: E228, E251 + examples/pyplots/annotation_polar.py: E231 + examples/pyplots/auto_subplots_adjust.py: E231, E261, E302 + examples/pyplots/boxplot_demo_pyplot.py: E231 + examples/pyplots/compound_path_demo.py: E231 + examples/pyplots/fig_axes_customize_simple.py: E261 + examples/pyplots/pyplot_formatstr.py: E231 + examples/pyplots/pyplot_mathtext.py: E231 + examples/pyplots/pyplot_simple.py: E231 + examples/pyplots/pyplot_two_subplots.py: E302 + examples/pyplots/text_commands.py: E231 + examples/pyplots/text_layout.py: E231 + examples/pyplots/whats_new_98_4_fancy.py: E225, E261, E302 + examples/pyplots/whats_new_98_4_fill_between.py: E225 + examples/pyplots/whats_new_98_4_legend.py: E228 + examples/pyplots/whats_new_99_spines.py: E231, E261 diff --git a/.travis.yml b/.travis.yml index 9ca5c96541ca..bb928ebd2599 100644 --- a/.travis.yml +++ b/.travis.yml @@ -63,7 +63,8 @@ env: - NPROC=2 - OPENBLAS_NUM_THREADS=1 - PYTHONFAULTHANDLER=1 - - PYTEST_ADDOPTS="-rawR --maxfail=50 --timeout=350 --durations=25 --cov-report= --cov=lib -n $NPROC" + - PYTEST_ADDOPTS="-rawR --maxfail=50 --timeout=300 --durations=25 --cov-report= --cov=lib -n $NPROC" + - RUN_FLAKE8= matrix: include: @@ -77,8 +78,8 @@ matrix: - python: 3.6 env: - DELETE_FONT_CACHE=1 - - PYTEST_ADDOPTS="$PYTEST_ADDOPTS --flake8" - EXTRAREQS='-r requirements/testing/travis36.txt' + - RUN_FLAKE8=1 - python: "nightly" env: PRE=--pre - os: osx @@ -156,9 +157,14 @@ before_script: | rm -rf ~/.cache/matplotlib fi -script: | - echo "Calling pytest with the following arguments: $PYTEST_ADDOPTS" - python -mpytest +script: + - | + echo "Calling pytest with the following arguments: $PYTEST_ADDOPTS" + python -mpytest + - | + if [[ $RUN_FLAKE8 == 1 ]]; then + flake8 --statistics && echo "Flake8 passed without any issues!" + fi before_cache: | rm -rf $HOME/.cache/matplotlib/tex.cache diff --git a/pytest.ini b/pytest.ini index 314d36c73815..fdad48c2e92f 100644 --- a/pytest.ini +++ b/pytest.ini @@ -1,126 +1,8 @@ [pytest] -testpaths = lib examples +testpaths = lib python_files = test_*.py markers = backend: Set alternate Matplotlib backend temporarily. network: Mark a test that uses the network. style: Set alternate Matplotlib style temporarily. - -flake8-ignore = - * E111 E114 E115 E116 E121 E122 E123 E124 E125 E126 E127 E128 E129 E131 E226 E240 E241 E242 E243 E244 E245 E246 E247 E248 E249 E265 E266 E305 E306 E704 E722 E741 F401 F403 F811 F841 W503 - - setup.py E402 - setupext.py E301 E302 E501 - - versioneer.py ALL # External file. - tools/gh_api.py ALL # External file. - tools/github_stats.py ALL # External file. - - tools/subset.py E221 E231 E251 E261 E302 E501 E701 E703 - - matplotlib/backends/qt_editor/formlayout.py E301 E402 E501 - matplotlib/backends/backend_agg.py E225 E228 E231 E261 E301 E302 E303 E701 - matplotlib/backends/backend_cairo.py E203 E211 E221 E231 E261 E272 E302 E303 E401 E402 E701 E711 - matplotlib/backends/backend_gtk3.py E201 E202 E203 E211 E221 E222 E225 E231 E251 E261 E262 E301 E302 E401 E402 E501 E701 - matplotlib/backends/backend_macosx.py E222 E225 E231 E261 E701 E711 - matplotlib/backends/backend_pgf.py E261 E302 E303 E731 - matplotlib/backends/backend_ps.py E202 E203 E225 E228 E231 E261 E262 E271 E301 E302 E303 E401 E402 E501 E701 - matplotlib/backends/backend_svg.py E203 E221 E225 E228 E231 E261 E302 E401 E501 - matplotlib/backends/backend_template.py E302 E303 - matplotlib/backends/_backend_tk.py E201 E202 E203 E222 E225 E231 E251 E271 E301 E302 E303 E401 E501 E701 W293 - matplotlib/backends/tkagg.py E231 E302 E701 - matplotlib/backends/windowing.py E301 E302 - matplotlib/backend_bases.py E225 E712 - matplotlib/projections/__init__.py E302 - matplotlib/projections/geo.py E203 E221 E231 E261 E302 E402 E502 - matplotlib/sphinxext/mathmpl.py E302 - matplotlib/sphinxext/only_directives.py E302 - matplotlib/sphinxext/plot_directive.py E261 E301 E302 E401 E402 - matplotlib/testing/decorators.py E301 E303 - matplotlib/testing/jpl_units/__init__.py E201 E202 E302 - matplotlib/testing/jpl_units/Duration.py E201 E202 E302 - matplotlib/testing/jpl_units/Epoch.py E201 E202 E203 E302 E501 - matplotlib/testing/jpl_units/EpochConverter.py E201 E202 E251 E302 E711 - matplotlib/testing/jpl_units/StrConverter.py E201 E202 E221 E302 E303 - matplotlib/testing/jpl_units/UnitDbl.py E201 E202 E203 - matplotlib/testing/jpl_units/UnitDblConverter.py E201 E202 E203 E251 E302 E711 - matplotlib/testing/jpl_units/UnitDblFormatter.py E201 E202 E251 E302 - matplotlib/tests/test_image.py E225 E231 E251 E302 E303 E501 - matplotlib/tests/test_lines.py E231 E261 - matplotlib/tests/test_mathtext.py E261 E302 E501 - matplotlib/tri/triinterpolate.py E201 E221 - matplotlib/_cm.py E101 E202 E203 W191 - matplotlib/_mathtext_data.py E203 E231 E261 - matplotlib/font_manager.py E201 E203 E221 E225 E228 E231 E251 E261 E262 E302 E402 E501 - matplotlib/fontconfig_pattern.py E201 E203 E221 E222 E225 E302 E401 E501 - matplotlib/legend_handler.py E201 E301 E303 E501 - matplotlib/mathtext.py E201 E202 E203 E211 E221 E222 E225 E228 E231 E251 E261 E301 E302 E303 E401 E402 E501 - matplotlib/patheffects.py E231 - matplotlib/pylab.py E401 E402 E501 - matplotlib/pyplot.py E201 E202 E203 E221 E222 E225 E231 E251 E261 E302 E303 E501 E701 E713 - matplotlib/rcsetup.py E203 E225 E261 E302 E501 - matplotlib/stackplot.py E251 - matplotlib/transforms.py E201 E202 E203 E302 E501 - matplotlib/type1font.py E222 E731 - - mpl_toolkits/axes_grid/axes_divider.py E501 - mpl_toolkits/axes_grid/axes_grid.py E225 E302 - mpl_toolkits/axes_grid/axes_rgb.py E302 E501 - mpl_toolkits/axes_grid/parasite_axes.py E501 - mpl_toolkits/axes_grid1/axes_divider.py E402 E501 - mpl_toolkits/axes_grid1/axes_grid.py E225 W391 - mpl_toolkits/axes_grid1/axes_rgb.py E231 E501 - mpl_toolkits/axes_grid1/axes_size.py E225 E261 E302 E303 E501 - mpl_toolkits/axes_grid1/colorbar.py E225 E231 E261 E262 E302 E303 E501 E701 - mpl_toolkits/axes_grid1/inset_locator.py E501 - mpl_toolkits/axes_grid1/mpl_axes.py E302 E303 E501 - mpl_toolkits/axes_grid1/parasite_axes.py E225 E231 E302 E303 E402 E501 - mpl_toolkits/axisartist/angle_helper.py E201 E203 E221 E222 E225 E231 E251 E261 E262 E302 E303 E402 E501 - mpl_toolkits/axisartist/axes_grid.py E225 E302 - mpl_toolkits/axisartist/axis_artist.py E201 E202 E221 E225 E228 E231 E251 E261 E262 E302 E303 E402 E501 E701 E702 E711 - mpl_toolkits/axisartist/axisline_style.py E231 E261 E262 E302 E303 - mpl_toolkits/axisartist/axislines.py E225 E231 E261 E262 E302 E303 E501 E711 - mpl_toolkits/axisartist/clip_path.py E225 E228 E302 E303 E501 E502 - mpl_toolkits/axisartist/floating_axes.py E201 E225 E231 E261 E262 E271 E302 E303 E402 E501 - mpl_toolkits/axisartist/grid_finder.py E231 E261 E302 E303 E402 - mpl_toolkits/axisartist/grid_helper_curvelinear.py E221 E225 E231 E251 E261 E262 E271 E302 E303 E501 - mpl_toolkits/mplot3d/art3d.py E203 E222 E225 E231 - mpl_toolkits/mplot3d/axes3d.py E203 E225 E231 E271 E303 E402 E501 E502 E701 - mpl_toolkits/mplot3d/axis3d.py E201 E202 E203 E222 E231 E302 E303 E502 - mpl_toolkits/mplot3d/proj3d.py E231 E302 E303 - mpl_toolkits/tests/test_axes_grid1.py E201 E202 - mpl_toolkits/tests/test_mplot3d.py E231 E302 - mpl_toolkits/__init__.py E261 - mpl_toolkits/exceltools.py E201 E202 E225 E228 E302 E303 E501 E701 - mpl_toolkits/gtktools.py E221 E222 E225 E228 E231 E251 E261 E301 E302 E303 E401 E501 E701 - - doc/* E302 E501 - tutorials/* E402 E501 - - examples/* E501 E402 - examples/misc/table_demo.py E201 - examples/images_contours_and_fields/tricontour_demo.py E201 - examples/images_contours_and_fields/tripcolor_demo.py E201 - examples/images_contours_and_fields/triplot_demo.py E201 - examples/pyplots/align_ylabels.py E231 - examples/pyplots/annotate_transform.py E228 E251 - examples/pyplots/annotation_basic.py E231 - examples/pyplots/annotation_polar.py E231 - examples/pyplots/auto_subplots_adjust.py E231 E261 E302 W391 - examples/pyplots/boxplot_demo_pyplot.py E231 - examples/pyplots/compound_path_demo.py E231 - examples/pyplots/fig_axes_customize_simple.py E261 - examples/pyplots/pyplot_formatstr.py E231 - examples/pyplots/pyplot_mathtext.py E231 - examples/pyplots/pyplot_simple.py E231 - examples/pyplots/pyplot_two_subplots.py E302 - examples/pyplots/text_commands.py E231 - examples/pyplots/text_layout.py E231 - examples/pyplots/whats_new_1_subplot3d.py W391 - examples/pyplots/whats_new_98_4_fancy.py E225 E261 E302 - examples/pyplots/whats_new_98_4_fill_between.py E225 - examples/pyplots/whats_new_98_4_legend.py E228 - examples/pyplots/whats_new_99_axes_grid.py E225 E231 E302 E303 - examples/pyplots/whats_new_99_spines.py E231 E261 - examples/shapes_and_collections/artist_reference.py E203 diff --git a/requirements/testing/travis36.txt b/requirements/testing/travis36.txt index f7fe1f5a6058..70d746b82b51 100644 --- a/requirements/testing/travis36.txt +++ b/requirements/testing/travis36.txt @@ -1,5 +1,6 @@ # Extra pip requirements for the travis python 3.6 build -pandas<0.21.0 +flake8 +flake8-per-file-ignores jupyter -pytest-flake8 +pandas<0.21.0 From f7486e7350d8be81f012a3b21d77d2435ba52937 Mon Sep 17 00:00:00 2001 From: Sourav Singh <ssouravsingh12@gmail.com> Date: Sun, 8 Jul 2018 23:20:20 +0530 Subject: [PATCH 0915/1161] Fix figure window icon (#11165) * Update _backend_tk.py * Fix problems with windowing * MNT: restore context manager --- lib/matplotlib/backends/_backend_tk.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/backends/_backend_tk.py b/lib/matplotlib/backends/_backend_tk.py index b96c3925878f..03b5007d37f2 100644 --- a/lib/matplotlib/backends/_backend_tk.py +++ b/lib/matplotlib/backends/_backend_tk.py @@ -1008,14 +1008,14 @@ def new_figure_manager_given_figure(cls, num, figure): window.withdraw() # Put a mpl icon on the window rather than the default tk icon. - # Tkinter doesn't allow colour icons on linux systems, but tk>=8.5 has - # a iconphoto command which we call directly. Source: + # Tkinter doesn't allow colour icons on linux systems, but tk>=8.5 + # has a iconphoto command which we call directly. Source: # http://mail.python.org/pipermail/tkinter-discuss/2006-November/000954.html icon_fname = os.path.join( rcParams['datapath'], 'images', 'matplotlib.ppm') - icon_img = Tk.PhotoImage(file=icon_fname) + icon_img = Tk.PhotoImage(file=icon_fname, master=window) try: - window.tk.call('wm', 'iconphoto', window._w, icon_img) + window.iconphoto(False, icon_img) except Exception as exc: # log the failure (due e.g. to Tk version), but carry on _log.info('Could not load matplotlib icon: %s', exc) From 5129b0b836fe1e7fd38047f540f54f85046ade14 Mon Sep 17 00:00:00 2001 From: Paul Ganssle <paul@ganssle.io> Date: Fri, 1 Jun 2018 09:15:10 -0400 Subject: [PATCH 0916/1161] Remove pytz dependency from axis.py --- lib/matplotlib/axis.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/axis.py b/lib/matplotlib/axis.py index ecdeed49ebd8..54e697a2e481 100644 --- a/lib/matplotlib/axis.py +++ b/lib/matplotlib/axis.py @@ -1747,8 +1747,8 @@ def axis_date(self, tz=None): # the registered converter can be selected, and the "units" attribute, # which is the timezone, can be set. if isinstance(tz, str): - import pytz - tz = pytz.timezone(tz) + import dateutil.tz + tz = dateutil.tz.gettz(tz) self.update_units(datetime.datetime(2009, 1, 1, 0, 0, 0, 0, tz)) def get_tick_space(self): From eec4a5ab9e533947316bb7ed4158af16ac4df5b9 Mon Sep 17 00:00:00 2001 From: Paul Ganssle <paul@ganssle.io> Date: Fri, 1 Jun 2018 09:16:07 -0400 Subject: [PATCH 0917/1161] Remove pytz from dates.py --- lib/matplotlib/dates.py | 33 +++++++-------------------------- 1 file changed, 7 insertions(+), 26 deletions(-) diff --git a/lib/matplotlib/dates.py b/lib/matplotlib/dates.py index 71177a9eaaa0..80d790ded87c 100644 --- a/lib/matplotlib/dates.py +++ b/lib/matplotlib/dates.py @@ -1,7 +1,6 @@ """ Matplotlib provides sophisticated date plotting capabilities, standing on the -shoulders of python :mod:`datetime`, the add-on modules :mod:`pytz` and -:mod:`dateutil`. +shoulders of python :mod:`datetime` and the add-on module :mod:`dateutil`. .. _date-format: @@ -46,11 +45,9 @@ All the Matplotlib date converters, tickers and formatters are timezone aware. If no explicit timezone is provided, the rcParam ``timezone`` is assumend. If -you want to use a custom time zone, pass a :class:`pytz.timezone` instance +you want to use a custom time zone, pass a :class:`datetime.tzinfo` instance with the tz keyword argument to :func:`num2date`, :func:`.plot_date`, and any custom date tickers or locators you create. -See `pytz <http://pythonhosted.org/pytz/>`_ for information on :mod:`pytz` and -timezone handling. A wide range of specific and general purpose date tick locators and formatters are provided in this module. See @@ -58,7 +55,7 @@ and formatters. These are described below. -The `dateutil module <https://dateutil.readthedocs.io/en/stable/>`_ provides +The `dateutil module <https://dateutil.readthedocs.io>`_ provides additional code to handle date ticking, making it easy to place ticks on any kinds of dates. See examples below. @@ -110,7 +107,7 @@ :class:`matplotlib.dates.rrulewrapper`. The :class:`rrulewrapper` is a simple wrapper around a :class:`dateutil.rrule` (`dateutil - <https://dateutil.readthedocs.io/en/stable/>`_) which allow almost + <https://dateutil.readthedocs.io>`_) which allow almost arbitrary date tick specifications. See `rrule example <../gallery/ticks_and_spines/date_demo_rrule.html>`_. @@ -149,6 +146,7 @@ SECONDLY) from dateutil.relativedelta import relativedelta import dateutil.parser +import dateutil.tz import numpy as np import matplotlib @@ -175,23 +173,7 @@ _log = logging.getLogger(__name__) -# Make a simple UTC instance so we don't always have to import -# pytz. From the python datetime library docs: - -class _UTC(datetime.tzinfo): - """UTC""" - - def utcoffset(self, dt): - return datetime.timedelta(0) - - def tzname(self, dt): - return "UTC" - - def dst(self, dt): - return datetime.timedelta(0) - - -UTC = _UTC() +UTC = datetime.timezone.utc def _get_rc_timezone(): @@ -201,8 +183,7 @@ def _get_rc_timezone(): s = matplotlib.rcParams['timezone'] if s == 'UTC': return UTC - import pytz - return pytz.timezone(s) + return dateutil.tz.gettz(s) """ From d6339b5eee3b9be9367358dc256633aaee07f185 Mon Sep 17 00:00:00 2001 From: Paul Ganssle <paul@ganssle.io> Date: Fri, 1 Jun 2018 09:39:16 -0400 Subject: [PATCH 0918/1161] TST: Remove pytz as hard dependency in tests --- lib/matplotlib/tests/test_axes.py | 17 +++++++----- lib/matplotlib/tests/test_dates.py | 44 +++++++++++++++++++++++------- 2 files changed, 44 insertions(+), 17 deletions(-) diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index 093c89d7c0b9..ed28e1c6a2a2 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -4,7 +4,7 @@ import datetime -import pytz +import dateutil.tz as dutz import numpy as np from numpy import ma @@ -5331,8 +5331,9 @@ def test_bar_uint8(): @image_comparison(baseline_images=['date_timezone_x'], extensions=['png']) def test_date_timezone_x(): # Tests issue 5575 - time_index = [pytz.timezone('Canada/Eastern').localize(datetime.datetime( - year=2016, month=2, day=22, hour=x)) for x in range(3)] + time_index = [datetime.datetime(2016, 2, 22, hour=x, + tzinfo=dutz.gettz('Canada/Eastern')) + for x in range(3)] # Same Timezone fig = plt.figure(figsize=(20, 12)) @@ -5348,8 +5349,9 @@ def test_date_timezone_x(): extensions=['png']) def test_date_timezone_y(): # Tests issue 5575 - time_index = [pytz.timezone('Canada/Eastern').localize(datetime.datetime( - year=2016, month=2, day=22, hour=x)) for x in range(3)] + time_index = [datetime.datetime(2016, 2, 22, hour=x, + tzinfo=dutz.gettz('Canada/Eastern')) + for x in range(3)] # Same Timezone fig = plt.figure(figsize=(20, 12)) @@ -5366,8 +5368,9 @@ def test_date_timezone_y(): extensions=['png']) def test_date_timezone_x_and_y(): # Tests issue 5575 - time_index = [pytz.timezone('UTC').localize(datetime.datetime( - year=2016, month=2, day=22, hour=x)) for x in range(3)] + UTC = datetime.timezone.utc + time_index = [datetime.datetime(2016, 2, 22, hour=x, tzinfo=UTC) + for x in range(3)] # Same Timezone fig = plt.figure(figsize=(20, 12)) diff --git a/lib/matplotlib/tests/test_dates.py b/lib/matplotlib/tests/test_dates.py index 67b902f121a1..db153be5ff97 100644 --- a/lib/matplotlib/tests/test_dates.py +++ b/lib/matplotlib/tests/test_dates.py @@ -2,10 +2,10 @@ import tempfile from unittest.mock import Mock -import dateutil +import dateutil.tz +import dateutil.rrule import numpy as np import pytest -import pytz from matplotlib.testing.decorators import image_comparison import matplotlib.pyplot as plt @@ -13,6 +13,14 @@ import matplotlib.dates as mdates +def __has_pytz(): + try: + import pytz + return True + except ImportError: + return False + + def test_date_numpyx(): # test that numpy dates work properly... base = datetime.datetime(2017, 1, 1) @@ -180,8 +188,8 @@ def test_RRuleLocator(): def test_RRuleLocator_dayrange(): loc = mdates.DayLocator() - x1 = datetime.datetime(year=1, month=1, day=1, tzinfo=pytz.UTC) - y1 = datetime.datetime(year=1, month=1, day=16, tzinfo=pytz.UTC) + x1 = datetime.datetime(year=1, month=1, day=1, tzinfo=mdates.UTC) + y1 = datetime.datetime(year=1, month=1, day=16, tzinfo=mdates.UTC) loc.tick_values(x1, y1) # On success, no overflow error shall be thrown @@ -482,8 +490,8 @@ def test_date_inverted_limit(): def _test_date2num_dst(date_range, tz_convert): # Timezones - BRUSSELS = pytz.timezone('Europe/Brussels') - UTC = pytz.UTC + BRUSSELS = dateutil.tz.gettz('Europe/Brussels') + UTC = mdates.UTC # Create a list of timezone-aware datetime objects in UTC # Interval is 0b0.0000011 days, to prevent float rounding issues @@ -575,10 +583,7 @@ def tz_convert(*args): _test_date2num_dst(pd.date_range, tz_convert) -@pytest.mark.parametrize("attach_tz, get_tz", [ - (lambda dt, zi: zi.localize(dt), lambda n: pytz.timezone(n)), - (lambda dt, zi: dt.replace(tzinfo=zi), lambda n: dateutil.tz.gettz(n))]) -def test_rrulewrapper(attach_tz, get_tz): +def _test_rrulewrapper(attach_tz, get_tz): SYD = get_tz('Australia/Sydney') dtstart = attach_tz(datetime.datetime(2017, 4, 1, 0), SYD) @@ -593,6 +598,25 @@ def test_rrulewrapper(attach_tz, get_tz): assert act == exp +def test_rrulewrapper(): + def attach_tz(dt, zi): + return dt.replace(tzinfo=zi) + + _test_rrulewrapper(attach_tz, dateutil.tz.gettz) + + +@pytest.mark.pytz +@pytest.mark.skipif(not __has_pytz(), reason="Requires pytz") +def test_rrulewrapper_pytz(): + # Test to make sure pytz zones are supported in rrules + import pytz + + def attach_tz(dt, zi): + return zi.localize(dt) + + _test_rrulewrapper(attach_tz, pytz.timezone) + + def test_DayLocator(): with pytest.raises(ValueError): mdates.DayLocator(interval=-1) From 23b41b15f6eb659b4b550baf96eb9aa65a57dda4 Mon Sep 17 00:00:00 2001 From: Paul Ganssle <paul@ganssle.io> Date: Fri, 1 Jun 2018 09:39:45 -0400 Subject: [PATCH 0919/1161] Remove pytz from build dependencies --- setupext.py | 1 - 1 file changed, 1 deletion(-) diff --git a/setupext.py b/setupext.py index ce1d807c9c60..03abbc77636f 100644 --- a/setupext.py +++ b/setupext.py @@ -1341,7 +1341,6 @@ def get_install_requires(self): "kiwisolver>=1.0.1", "pyparsing>=2.0.1,!=2.0.4,!=2.1.2,!=2.1.6", "python-dateutil>=2.1", - "pytz", ] From 75c5c48b5d8195fd38285e06a693719c63e6460c Mon Sep 17 00:00:00 2001 From: Paul Ganssle <paul@ganssle.io> Date: Fri, 1 Jun 2018 09:39:56 -0400 Subject: [PATCH 0920/1161] DOC: Remove pytz from documentation --- INSTALL.rst | 1 - build_alllocal.cmd | 2 +- doc/glossary/index.rst | 6 ------ 3 files changed, 1 insertion(+), 8 deletions(-) diff --git a/INSTALL.rst b/INSTALL.rst index d83228dfafd1..2df97b6f7d7d 100644 --- a/INSTALL.rst +++ b/INSTALL.rst @@ -144,7 +144,6 @@ Matplotlib requires the following dependencies: * `dateutil <https://pypi.python.org/pypi/python-dateutil>`_ (>= 2.1) * `kiwisolver <https://github.com/nucleic/kiwi>`_ (>= 1.0.0) * `pyparsing <https://pyparsing.wikispaces.com/>`_ -* `pytz <http://pytz.sourceforge.net/>`_ Optionally, you can also install a number of packages to enable better user interface toolkits. See :ref:`what-is-a-backend` for more details on the diff --git a/build_alllocal.cmd b/build_alllocal.cmd index 56e2968a195f..54bc69432fb7 100644 --- a/build_alllocal.cmd +++ b/build_alllocal.cmd @@ -1,6 +1,6 @@ :: This assumes you have installed all the dependencies via conda packages: :: # create a new environment with the required packages -:: conda create -n "matplotlib_build" python=3.5 numpy python-dateutil pyparsing pytz tornado cycler tk libpng zlib freetype +:: conda create -n "matplotlib_build" python=3.5 numpy python-dateutil pyparsing tornado cycler tk libpng zlib freetype :: activate matplotlib_build :: if you want qt backend, you also have to install pyqt :: conda install pyqt diff --git a/doc/glossary/index.rst b/doc/glossary/index.rst index 544e78b95acd..b951faef48e1 100644 --- a/doc/glossary/index.rst +++ b/doc/glossary/index.rst @@ -90,12 +90,6 @@ Glossary language widely used for scripting, application development, web application servers, scientific computing and more. - pytz - `pytz <http://pythonhosted.org/pytz/>`_ provides the Olson tz - database in Python. it allows accurate and cross platform - timezone calculations and solves the issue of ambiguous times at - the end of daylight savings - Qt `Qt <https://www.qt.io/>`__ is a cross-platform application framework for desktop and embedded development. From f8e76bff09131b1f1f327efb6f2f89b0d59a2e92 Mon Sep 17 00:00:00 2001 From: Paul Ganssle <paul@ganssle.io> Date: Fri, 1 Jun 2018 10:05:02 -0400 Subject: [PATCH 0921/1161] DOC: Add API changes entry for pytz removal --- doc/api/next_api_changes/2018-06-01-PG-pytz-ectomy.rst | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 doc/api/next_api_changes/2018-06-01-PG-pytz-ectomy.rst diff --git a/doc/api/next_api_changes/2018-06-01-PG-pytz-ectomy.rst b/doc/api/next_api_changes/2018-06-01-PG-pytz-ectomy.rst new file mode 100644 index 000000000000..ebaa2f620648 --- /dev/null +++ b/doc/api/next_api_changes/2018-06-01-PG-pytz-ectomy.rst @@ -0,0 +1,4 @@ +Removed ``pytz`` as a dependency +-------------------------------- + +Since ``dateutil`` and ``pytz`` both provide time zones, and matplotlib already depends on ``dateutil``, matplotlib will now use ``dateutil`` time zones internally and drop the redundant dependency on ``pytz``. While ``dateutil`` time zones are preferred (and currently recommended in the Python documentation), the explicit use of ``pytz`` zones is still supported. From 1364784212db062c67864b8ca0bd149bf13c2912 Mon Sep 17 00:00:00 2001 From: Paul Ganssle <paul@ganssle.io> Date: Fri, 1 Jun 2018 10:05:24 -0400 Subject: [PATCH 0922/1161] CI: Add separate test environment for pytz The separate tests with and without pytz are done to try to minimize the possibility of implicit dependencies on pytz. Run the second test in it's own entry in the script section of the travis file so that it does not mask failures from other sections. --- .travis.yml | 4 ++++ requirements/testing/travis_all.txt | 1 + tox.ini | 8 ++++++++ 3 files changed, 13 insertions(+) diff --git a/.travis.yml b/.travis.yml index bb928ebd2599..b586846373bd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -158,14 +158,18 @@ before_script: | fi script: + # each script we want to run need to go in it's own section and the program you want + # to fail travis need to be the last thing called - | echo "Calling pytest with the following arguments: $PYTEST_ADDOPTS" python -mpytest + - tox -e pytz - | if [[ $RUN_FLAKE8 == 1 ]]; then flake8 --statistics && echo "Flake8 passed without any issues!" fi + before_cache: | rm -rf $HOME/.cache/matplotlib/tex.cache rm -rf $HOME/.cache/matplotlib/test_cache diff --git a/requirements/testing/travis_all.txt b/requirements/testing/travis_all.txt index aff3cab60ec6..8f1eaab21a40 100644 --- a/requirements/testing/travis_all.txt +++ b/requirements/testing/travis_all.txt @@ -17,3 +17,4 @@ pytest-xdist python-dateutil sphinx tornado +tox diff --git a/tox.ini b/tox.ini index 2193faf4af15..f48969ecc28b 100644 --- a/tox.ini +++ b/tox.ini @@ -18,3 +18,11 @@ commands = pytest --pyargs matplotlib deps = pytest + +[testenv:pytz] +changedir = /tmp +commands = + pytest -m pytz {toxinidir} +deps = + pytest + pytz From ab92163d6a8077bc22951562886099cf0e48469c Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Thu, 5 Jul 2018 22:15:47 -0400 Subject: [PATCH 0923/1161] CI: only install sphinx on py35 build Sphinx pulls in pytz which we want to avoid to test running without it. The sphinx related code is well tested by the circle CI that builds the docs. --- requirements/testing/travis_all.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/requirements/testing/travis_all.txt b/requirements/testing/travis_all.txt index 8f1eaab21a40..364e43fd8875 100644 --- a/requirements/testing/travis_all.txt +++ b/requirements/testing/travis_all.txt @@ -15,6 +15,5 @@ pytest-rerunfailures pytest-timeout pytest-xdist python-dateutil -sphinx tornado tox From 07fdbe828000514e81081e2ff9d2c664922afe02 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Fri, 6 Jul 2018 09:08:50 -0400 Subject: [PATCH 0924/1161] TST: skip sphinx tests if no sphinx installed --- lib/matplotlib/sphinxext/tests/test_tinypages.py | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/matplotlib/sphinxext/tests/test_tinypages.py b/lib/matplotlib/sphinxext/tests/test_tinypages.py index 9ec300894760..7a149059ce10 100644 --- a/lib/matplotlib/sphinxext/tests/test_tinypages.py +++ b/lib/matplotlib/sphinxext/tests/test_tinypages.py @@ -16,6 +16,7 @@ def test_tinypages(tmpdir): + pytest.importorskip('sphinx') html_dir = pjoin(str(tmpdir), 'html') doctree_dir = pjoin(str(tmpdir), 'doctrees') # Build the pages with warnings turned into errors From 3abe21872cf528c3623d342a5ea8f398e9b5ad5b Mon Sep 17 00:00:00 2001 From: Eric Firing <efiring@hawaii.edu> Date: Wed, 28 Jun 2017 13:31:04 -0400 Subject: [PATCH 0925/1161] ENH: improve contourf color autoscaling Contour level auto-selection: clip unused Locator output: Locator.tick_values() returns levels beyond the data limits. In the case of LogLocator with a small data range, the overrun can be large because it is expanding to the decade points. In addition, no account was being taken of the "extend" kwarg. With this changeset, the outermost levels will be the miminum required to include the data interval in the default case, and will be reduced when "extend" is used so that some of the data range will fall in the extended sections. This is expected to be rare, however; normally the "extend" kwarg would be used only when levels are explicitly set, not auto-selected with a Locator. The contour_hatching test results were modified. The difference was reduced by putting the hatches in the same order as they were in the reference figure, but the images still don't match because the gray shades have changed, as expected. (Note that in the original and new reference figures the pdf and svg backends handle the alpha differently than the agg backend. This is unrelated to the PR.) For logscale contour colors, interpolate in screen space by taking the geometric mean of adjacent levels. The test_contour.py::test_contourf_log_extension code and image have been modified for this change in colors, and to make the behavior more clear in the case where levels are not specified. Add a note to next_api_changes. Treat contour levels (almost) the same as contourf levels Update additional test images affected by the contour color changes. mplot3d: don't assume every contour level has a line. --- .../2018-06-09-EF-contour_levels.rst | 16 + lib/matplotlib/contour.py | 58 +- .../test_axes/contour_colorbar.pdf | Bin 111921 -> 109374 bytes .../test_axes/contour_colorbar.png | Bin 161094 -> 120422 bytes .../test_axes/contour_colorbar.svg | 35517 ++++++++-------- .../test_axes/contour_hatching.pdf | Bin 43183 -> 38851 bytes .../test_axes/contour_hatching.png | Bin 64427 -> 41498 bytes .../test_axes/contour_hatching.svg | 12531 +++--- .../test_contour/contour_datetime_axis.png | Bin 48820 -> 48968 bytes .../contour_labels_size_color.png | Bin 6309 -> 6096 bytes .../test_contour/contour_log_extension.png | Bin 8697 -> 9036 bytes .../test_contour/contour_manual_labels.pdf | Bin 5366 -> 5369 bytes .../test_contour/contour_manual_labels.png | Bin 15273 -> 15342 bytes .../test_contour/contour_manual_labels.svg | 131 +- .../contour_test_label_transforms.png | Bin 53162 -> 59612 bytes .../test_lines/line_collection_dashes.pdf | Bin 15532 -> 15289 bytes .../test_lines/line_collection_dashes.png | Bin 162716 -> 168090 bytes .../test_lines/line_collection_dashes.svg | 4486 +- .../test_patheffects/collection.pdf | Bin 131045 -> 128303 bytes .../test_patheffects/collection.png | Bin 321390 -> 244602 bytes .../test_patheffects/collection.svg | 28715 +++++++------ lib/matplotlib/tests/test_axes.py | 8 +- lib/matplotlib/tests/test_contour.py | 4 +- lib/matplotlib/tests/test_lines.py | 3 +- lib/matplotlib/tests/test_patheffects.py | 2 +- lib/mpl_toolkits/mplot3d/axes3d.py | 7 +- .../test_mplot3d/contour3d.pdf | Bin 24391 -> 25170 bytes .../test_mplot3d/contour3d.png | Bin 77702 -> 83161 bytes .../test_mplot3d/contour3d.svg | 4685 +- .../test_mplot3d/tricontour.png | Bin 71222 -> 71328 bytes lib/mpl_toolkits/tests/test_mplot3d.py | 3 +- 31 files changed, 42694 insertions(+), 43472 deletions(-) create mode 100644 doc/api/next_api_changes/2018-06-09-EF-contour_levels.rst diff --git a/doc/api/next_api_changes/2018-06-09-EF-contour_levels.rst b/doc/api/next_api_changes/2018-06-09-EF-contour_levels.rst new file mode 100644 index 000000000000..9e18dbbe8cb6 --- /dev/null +++ b/doc/api/next_api_changes/2018-06-09-EF-contour_levels.rst @@ -0,0 +1,16 @@ +Contour color autoscaling improvements +-------------------------------------- + +Selection of contour levels is now the same for contour and +contourf; previously, for contour, levels outside the data range were +deleted. (Exception: if no contour levels are found within the +data range, the `levels` attribute is replaced with a list holding +only the minimum of the data range.) + +When contour is called with levels specified as a target number rather +than a list, and the 'extend' kwarg is used, the levels are now chosen +such that some data typically will fall in the extended range. + +When contour is called with a `LogNorm` or a `LogLocator`, it will now +select colors using the geometric mean rather than the arithmetic mean +of the contour levels. diff --git a/lib/matplotlib/contour.py b/lib/matplotlib/contour.py index 81eedc06fe2d..3eede0126d4e 100644 --- a/lib/matplotlib/contour.py +++ b/lib/matplotlib/contour.py @@ -1174,6 +1174,9 @@ def _autolev(self, N): """ Select contour levels to span the data. + The target number of levels, *N*, is used only when the + scale is not log and default locator is used. + We need two more levels for filled contours than for line contours, because for the latter we need to specify the lower and upper boundary of each range. For example, @@ -1181,6 +1184,7 @@ def _autolev(self, N): one contour line, but two filled regions, and therefore three levels to provide boundaries for both regions. """ + self._auto = True if self.locator is None: if self.logscale: self.locator = ticker.LogLocator() @@ -1188,8 +1192,27 @@ def _autolev(self, N): self.locator = ticker.MaxNLocator(N + 1, min_n_ticks=1) lev = self.locator.tick_values(self.zmin, self.zmax) - self._auto = True - return lev + + try: + if self.locator._symmetric: + return lev + except AttributeError: + pass + + # Trim excess levels the locator may have supplied. + under = np.nonzero(lev < self.zmin)[0] + i0 = under[-1] if len(under) else 0 + over = np.nonzero(lev > self.zmax)[0] + i1 = over[0] + 1 if len(over) else len(lev) + if self.extend in ('min', 'both'): + i0 += 1 + if self.extend in ('max', 'both'): + i1 -= 1 + + if i1 - i0 < 3: + i0, i1 = 0, len(lev) + + return lev[i0:i1] def _contour_level_args(self, z, args): """ @@ -1220,8 +1243,8 @@ def _contour_level_args(self, z, args): if not self.filled: inside = (self.levels > self.zmin) & (self.levels < self.zmax) - self.levels = self.levels[inside] - if len(self.levels) == 0: + levels_in = self.levels[inside] + if len(levels_in) == 0: self.levels = [self.zmin] warnings.warn("No contour levels were found" " within the data range.") @@ -1246,27 +1269,28 @@ def _process_levels(self): # (Colorbar needs this even for line contours.) self._levels = list(self.levels) + if self.logscale: + lower, upper = 1e-250, 1e250 + else: + lower, upper = -1e250, 1e250 + if self.extend in ('both', 'min'): - self._levels.insert(0, min(self.levels[0], self.zmin) - 1) + self._levels.insert(0, lower) if self.extend in ('both', 'max'): - self._levels.append(max(self.levels[-1], self.zmax) + 1) + self._levels.append(upper) self._levels = np.asarray(self._levels) if not self.filled: self.layers = self.levels return - # layer values are mid-way between levels - self.layers = 0.5 * (self._levels[:-1] + self._levels[1:]) - # ...except that extended layers must be outside the - # normed range: - if self.extend in ('both', 'min'): - if self.logscale: - self.layers[0] = 1e-150 - else: - self.layers[0] = -1e150 - if self.extend in ('both', 'max'): - self.layers[-1] = 1e150 + # Layer values are mid-way between levels in screen space. + if self.logscale: + # Avoid overflow by taking sqrt before multiplying. + self.layers = (np.sqrt(self._levels[:-1]) + * np.sqrt(self._levels[1:])) + else: + self.layers = 0.5 * (self._levels[:-1] + self._levels[1:]) def _process_colors(self): """ diff --git a/lib/matplotlib/tests/baseline_images/test_axes/contour_colorbar.pdf b/lib/matplotlib/tests/baseline_images/test_axes/contour_colorbar.pdf index 39a7fac1c5b78ba63ec9c3c8e9b6d15eca80e255..f4090c83aad37a8323ad202943923dd6a1bd91d2 100644 GIT binary patch delta 105448 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%0Dq8=^&y|hfwv8^4R$MzCs{1!z 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 OVi0m39u;j>^8W$MC|u+K delta 108068 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 diff --git a/lib/matplotlib/tests/baseline_images/test_axes/contour_colorbar.png b/lib/matplotlib/tests/baseline_images/test_axes/contour_colorbar.png index 4097aad6bc124663b78c0e25f7f5906c281b5f8c..abca7ea4a6bbd7af9c2d4778d51b579ccfa7e95c 100644 GIT binary patch literal 120422 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 literal 161094 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 }7kqtPs@H4-1JhVMH;pMl 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 Ye{|iB%Yak~3<4e%1r7Of*=Irj0{~+E2LJ#7 diff --git a/lib/matplotlib/tests/baseline_images/test_axes/contour_colorbar.svg b/lib/matplotlib/tests/baseline_images/test_axes/contour_colorbar.svg index def44e917861..b60e679f6b3a 100644 --- a/lib/matplotlib/tests/baseline_images/test_axes/contour_colorbar.svg +++ b/lib/matplotlib/tests/baseline_images/test_axes/contour_colorbar.svg @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="utf-8" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<!-- Created with matplotlib (http://matplotlib.org/) --> -<svg height="432pt" version="1.1" viewBox="0 0 576 432" width="576pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<!-- Created with matplotlib (https://matplotlib.org/) --> +<svg height="345.6pt" version="1.1" viewBox="0 0 460.8 345.6" width="460.8pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <defs> <style type="text/css"> *{stroke-linecap:butt;stroke-linejoin:round;} @@ -10,17697 +10,14403 @@ </defs> <g id="figure_1"> <g id="patch_1"> - <path d="M 0 432 -L 576 432 -L 576 0 + <path d="M 0 345.6 +L 460.8 345.6 +L 460.8 0 L 0 0 z " style="fill:#ffffff;"/> </g> <g id="axes_1"> <g id="patch_2"> - <path d="M 72 388.8 -L 429.12 388.8 -L 429.12 43.2 -L 72 43.2 + <path d="M 57.6 307.584 +L 343.296 307.584 +L 343.296 41.472 +L 57.6 41.472 z " style="fill:#ffffff;"/> </g> <g id="PathCollection_1"> - <path clip-path="url(#p553f52e075)" d="M 72.646316 353.94958 -L 74.396779 353.438244 -L 76.793557 352.518166 -L 79.190336 351.380795 -L 79.78522 351.045378 -L 81.587114 349.912956 -L 83.983893 348.172468 -L 84.021969 348.141176 -L 86.380671 345.940617 -L 87.058018 345.236975 -L 88.77745 343.16057 -L 89.401167 342.332773 -L 91.174228 339.507797 -L 91.219964 339.428571 -L 92.552826 336.52437 -L 93.535979 333.620168 -L 93.571007 333.458441 -L 94.122339 330.715966 -L 94.37482 327.811765 -L 94.294798 324.907563 -L 93.882632 322.003361 -L 93.571007 320.784385 -L 93.106865 319.09916 -L 91.954783 316.194958 -L 91.174228 314.682782 -L 90.393019 313.290756 -L 88.77745 310.944504 -L 88.355214 310.386555 -L 86.380671 308.176236 -L 85.690465 307.482353 -L 83.983893 305.988335 -L 82.16097 304.578151 -L 81.587114 304.183436 -L 79.190336 302.756694 -L 77.029182 301.67395 -L 76.793557 301.567247 -L 74.396779 300.689227 -L 72 300.021097 -L 72 301.67395 -L 72 304.578151 -L 72 307.482353 -L 72 310.386555 -L 72 313.290756 -L 72 316.194958 -L 72 319.09916 -L 72 322.003361 -L 72 324.907563 -L 72 327.811765 -L 72 330.715966 -L 72 333.620168 -L 72 336.52437 -L 72 339.428571 -L 72 342.332773 -L 72 345.236975 -L 72 348.141176 -L 72 351.045378 -L 72 353.94958 -L 72 354.121478 + <path clip-path="url(#p0bba778d2e)" d="M 58.117053 280.749176 +L 59.517423 280.355448 +L 61.434846 279.646988 +L 63.352268 278.771212 +L 63.828176 278.512941 +L 65.269691 277.640976 +L 67.187114 276.3008 +L 67.217575 276.276706 +L 69.104537 274.582275 +L 69.646414 274.040471 +L 71.02196 272.441639 +L 71.520933 271.804235 +L 72.939383 269.629004 +L 72.975971 269.568 +L 74.042261 267.331765 +L 74.828783 265.095529 +L 74.856805 264.971 +L 75.297871 262.859294 +L 75.499856 260.623059 +L 75.435838 258.386824 +L 75.106106 256.150588 +L 74.856805 255.211977 +L 74.485492 253.914353 +L 73.563826 251.678118 +L 72.939383 250.513742 +L 72.314415 249.441882 +L 71.02196 247.635268 +L 70.684171 247.205647 +L 69.104537 245.503702 +L 68.552372 244.969412 +L 67.187114 243.819018 +L 65.728776 242.733176 +L 65.269691 242.429245 +L 63.352268 241.330654 +L 61.623345 240.496941 +L 61.434846 240.41478 +L 59.517423 239.738704 +L 57.6 239.224244 +L 57.6 240.496941 +L 57.6 242.733176 +L 57.6 244.969412 +L 57.6 247.205647 +L 57.6 249.441882 +L 57.6 251.678118 +L 57.6 253.914353 +L 57.6 256.150588 +L 57.6 258.386824 +L 57.6 260.623059 +L 57.6 262.859294 +L 57.6 265.095529 +L 57.6 267.331765 +L 57.6 269.568 +L 57.6 271.804235 +L 57.6 274.040471 +L 57.6 276.276706 +L 57.6 278.512941 +L 57.6 280.749176 +L 57.6 280.881538 z " style="fill:#67001f;"/> - <path clip-path="url(#p553f52e075)" d="M 340.439195 354.249325 -L 342.835973 354.63395 -L 345.232752 354.815005 -L 347.62953 354.791969 -L 350.026309 354.564907 -L 352.423087 354.134473 -L 353.123646 353.94958 -L 354.819866 353.457896 -L 357.216644 352.543139 -L 359.613423 351.411017 -L 360.264396 351.045378 -L 362.010201 349.952397 -L 364.40698 348.217549 -L 364.500173 348.141176 -L 366.803758 345.998052 -L 367.53819 345.236975 -L 369.200537 343.234417 -L 369.881365 342.332773 -L 371.597315 339.604692 -L 371.699182 339.428571 -L 373.034607 336.52437 -L 373.994094 333.695513 -L 374.01781 333.620168 -L 374.602657 330.715966 -L 374.855571 327.811765 -L 374.775411 324.907563 -L 374.362539 322.003361 -L 373.994094 320.564596 -L 373.58971 319.09916 -L 372.435414 316.194958 -L 371.597315 314.574417 -L 370.875363 313.290756 -L 369.200537 310.863698 -L 368.838567 310.386555 -L 366.803758 308.114346 -L 366.173351 307.482353 -L 364.40698 305.940311 -L 362.640412 304.578151 -L 362.010201 304.146078 -L 359.613423 302.724786 -L 357.506231 301.67395 -L 357.216644 301.543416 -L 354.819866 300.670474 -L 352.423087 300.007476 -L 350.026309 299.556334 -L 347.62953 299.318347 -L 345.232752 299.294202 -L 342.835973 299.483968 -L 340.439195 299.887099 -L 338.042416 300.502431 -L 335.645638 301.328193 -L 334.844037 301.67395 -L 333.248859 302.435167 -L 330.852081 303.805781 -L 329.69039 304.578151 -L 328.455302 305.501698 -L 326.12569 307.482353 -L 326.058523 307.547931 -L 323.661745 310.163241 -L 323.476094 310.386555 -L 321.430794 313.290756 -L 321.264966 313.579663 -L 319.887742 316.194958 -L 318.868188 318.714201 -L 318.723888 319.09916 -L 317.968075 322.003361 -L 317.548489 324.907563 -L 317.467026 327.811765 -L 317.724053 330.715966 -L 318.318409 333.620168 -L 318.868188 335.338861 -L 319.27762 336.52437 -L 320.6374 339.428571 -L 321.264966 340.494153 -L 322.445234 342.332773 -L 323.661745 343.911376 -L 324.787848 345.236975 -L 326.058523 346.523691 -L 327.843721 348.141176 -L 328.455302 348.629283 -L 330.852081 350.311665 -L 332.067363 351.045378 -L 333.248859 351.68534 -L 335.645638 352.768671 -L 338.042416 353.633987 -L 339.215488 353.94958 + <path clip-path="url(#p0bba778d2e)" d="M 272.351356 280.97998 +L 274.268779 281.276142 +L 276.186201 281.415554 +L 278.103624 281.397816 +L 280.021047 281.222978 +L 281.93847 280.891544 +L 282.498917 280.749176 +L 283.855893 280.37058 +L 285.773315 279.666217 +L 287.690738 278.794483 +L 288.211517 278.512941 +L 289.608161 277.671346 +L 291.525584 276.335513 +L 291.600139 276.276706 +L 293.443007 274.6265 +L 294.030552 274.040471 +L 295.36043 272.498501 +L 295.905092 271.804235 +L 297.277852 269.703613 +L 297.359346 269.568 +L 298.427685 267.331765 +L 299.195275 265.153545 +L 299.214248 265.095529 +L 299.682125 262.859294 +L 299.884457 260.623059 +L 299.820329 258.386824 +L 299.490031 256.150588 +L 299.195275 255.042739 +L 298.871768 253.914353 +L 297.948331 251.678118 +L 297.277852 250.430301 +L 296.70029 249.441882 +L 295.36043 247.573047 +L 295.070853 247.205647 +L 293.443007 245.456046 +L 292.93868 244.969412 +L 291.525584 243.782039 +L 290.11233 242.733176 +L 289.608161 242.40048 +L 287.690738 241.306085 +L 286.004985 240.496941 +L 285.773315 240.39643 +L 283.855893 239.724265 +L 281.93847 239.213757 +L 280.021047 238.866377 +L 278.103624 238.683127 +L 276.186201 238.664536 +L 274.268779 238.810656 +L 272.351356 239.121066 +L 270.433933 239.594872 +L 268.51651 240.230708 +L 267.87523 240.496941 +L 266.599087 241.083078 +L 264.681664 242.138452 +L 263.752312 242.733176 +L 262.764242 243.444307 +L 260.900552 244.969412 +L 260.846819 245.019907 +L 258.929396 247.033696 +L 258.780875 247.205647 +L 257.144635 249.441882 +L 257.011973 249.66434 +L 255.910193 251.678118 +L 255.09455 253.617935 +L 254.979111 253.914353 +L 254.37446 256.150588 +L 254.038791 258.386824 +L 253.973621 260.623059 +L 254.179242 262.859294 +L 254.654728 265.095529 +L 255.09455 266.418923 +L 255.422096 267.331765 +L 256.50992 269.568 +L 257.011973 270.388498 +L 257.956187 271.804235 +L 258.929396 273.019759 +L 259.830278 274.040471 +L 260.846819 275.031242 +L 262.274977 276.276706 +L 262.764242 276.652548 +L 264.681664 277.947982 +L 265.65389 278.512941 +L 266.599087 279.005712 +L 268.51651 279.839877 +L 270.433933 280.50617 +L 271.37239 280.749176 z " style="fill:#67001f;"/> - <path clip-path="url(#p553f52e075)" d="M 74.396779 81.993171 -L 76.793557 81.113596 -L 77.143989 80.954622 -L 79.190336 79.927296 -L 81.587114 78.497631 -L 82.235959 78.05042 -L 83.983893 76.695008 -L 85.7488 75.146218 -L 86.380671 74.509175 -L 88.400247 72.242017 -L 88.77745 71.741854 -L 90.427114 69.337815 -L 91.174228 68.000773 -L 91.979673 66.433613 -L 93.125174 63.529412 -L 93.571007 61.897062 -L 93.893441 60.62521 -L 94.299371 57.721008 -L 94.373138 54.816807 -L 94.114409 51.912605 -L 93.571007 49.238033 -L 93.520744 49.008403 -L 92.530967 46.104202 -L 91.191579 43.2 -L 91.174228 43.2 -L 88.77745 43.2 -L 86.380671 43.2 -L 83.983893 43.2 -L 81.587114 43.2 -L 79.190336 43.2 -L 76.793557 43.2 -L 74.396779 43.2 -L 72 43.2 -L 72 46.104202 -L 72 49.008403 -L 72 51.912605 -L 72 54.816807 -L 72 57.721008 -L 72 60.62521 -L 72 63.529412 -L 72 66.433613 -L 72 69.337815 -L 72 72.242017 -L 72 75.146218 -L 72 78.05042 -L 72 80.954622 -L 72 82.662484 + <path clip-path="url(#p0bba778d2e)" d="M 59.517423 71.342742 +L 61.434846 70.665469 +L 61.715192 70.543059 +L 63.352268 69.752018 +L 65.269691 68.651176 +L 65.788768 68.306824 +L 67.187114 67.263156 +L 68.59904 66.070588 +L 69.104537 65.580065 +L 70.720197 63.834353 +L 71.02196 63.449227 +L 72.341691 61.598118 +L 72.939383 60.568595 +L 73.583739 59.361882 +L 74.500139 57.125647 +L 74.856805 55.868738 +L 75.114753 54.889412 +L 75.439497 52.653176 +L 75.498511 50.416941 +L 75.291527 48.180706 +L 74.856805 46.121285 +L 74.816595 45.944471 +L 74.024773 43.708235 +L 72.953263 41.472 +L 72.939383 41.472 +L 71.02196 41.472 +L 69.104537 41.472 +L 67.187114 41.472 +L 65.269691 41.472 +L 63.352268 41.472 +L 61.434846 41.472 +L 59.517423 41.472 +L 57.6 41.472 +L 57.6 43.708235 +L 57.6 45.944471 +L 57.6 48.180706 +L 57.6 50.416941 +L 57.6 52.653176 +L 57.6 54.889412 +L 57.6 57.125647 +L 57.6 59.361882 +L 57.6 61.598118 +L 57.6 63.834353 +L 57.6 66.070588 +L 57.6 68.306824 +L 57.6 70.543059 +L 57.6 71.858113 z " style="fill:#67001f;"/> - <path clip-path="url(#p553f52e075)" d="M 335.645638 81.353074 -L 338.042416 82.180297 -L 340.439195 82.796719 -L 342.835973 83.200563 -L 345.232752 83.390665 -L 347.62953 83.366478 -L 350.026309 83.12807 -L 352.423087 82.676129 -L 354.819866 82.011957 -L 357.216644 81.13747 -L 357.621571 80.954622 -L 359.613423 79.959269 -L 362.010201 78.535065 -L 362.715646 78.05042 -L 364.40698 76.743147 -L 366.231849 75.146218 -L 366.803758 74.571241 -L 368.88371 72.242017 -L 369.200537 71.822939 -L 370.909532 69.337815 -L 371.597315 68.109608 -L 372.460352 66.433613 -L 373.608054 63.529412 -L 373.994094 62.118698 -L 374.373366 60.62521 -L 374.779993 57.721008 -L 374.853887 54.816807 -L 374.594713 51.912605 -L 374.003644 49.008403 -L 373.994094 48.978267 -L 373.012705 46.104202 -L 371.670743 43.2 -L 371.597315 43.2 -L 369.200537 43.2 -L 366.803758 43.2 -L 364.40698 43.2 -L 362.010201 43.2 -L 359.613423 43.2 -L 357.216644 43.2 -L 354.819866 43.2 -L 352.423087 43.2 -L 350.026309 43.2 -L 347.62953 43.2 -L 345.232752 43.2 -L 342.835973 43.2 -L 340.439195 43.2 -L 338.042416 43.2 -L 335.645638 43.2 -L 333.248859 43.2 -L 330.852081 43.2 -L 328.455302 43.2 -L 326.058523 43.2 -L 323.661745 43.2 -L 321.264966 43.2 -L 320.666358 43.2 -L 319.299921 46.104202 -L 318.868188 47.345917 -L 318.332806 49.008403 -L 317.732126 51.912605 -L 317.468738 54.816807 -L 317.543833 57.721008 -L 317.957072 60.62521 -L 318.706588 63.529412 -L 318.868188 63.963001 -L 319.862348 66.433613 -L 321.264966 69.108674 -L 321.395922 69.337815 -L 323.434186 72.242017 -L 323.661745 72.516519 -L 326.058523 75.139267 -L 326.065623 75.146218 -L 328.455302 77.182811 -L 329.612811 78.05042 -L 330.852081 78.876059 -L 333.248859 80.249482 -L 334.723503 80.954622 + <path clip-path="url(#p0bba778d2e)" d="M 268.51651 70.849867 +L 270.433933 71.486829 +L 272.351356 71.961474 +L 274.268779 72.272434 +L 276.186201 72.418812 +L 278.103624 72.400188 +L 280.021047 72.216614 +L 281.93847 71.868619 +L 283.855893 71.357207 +L 285.773315 70.683852 +L 286.097257 70.543059 +L 287.690738 69.776637 +L 289.608161 68.68 +L 290.172516 68.306824 +L 291.525584 67.300223 +L 292.98548 66.070588 +L 293.443007 65.627855 +L 295.106968 63.834353 +L 295.36043 63.511663 +L 296.727625 61.598118 +L 297.277852 60.652398 +L 297.968282 59.361882 +L 298.886444 57.125647 +L 299.195275 56.039397 +L 299.498693 54.889412 +L 299.823994 52.653176 +L 299.883109 50.416941 +L 299.675771 48.180706 +L 299.202915 45.944471 +L 299.195275 45.921266 +L 298.410164 43.708235 +L 297.336595 41.472 +L 297.277852 41.472 +L 295.36043 41.472 +L 293.443007 41.472 +L 291.525584 41.472 +L 289.608161 41.472 +L 287.690738 41.472 +L 285.773315 41.472 +L 283.855893 41.472 +L 281.93847 41.472 +L 280.021047 41.472 +L 278.103624 41.472 +L 276.186201 41.472 +L 274.268779 41.472 +L 272.351356 41.472 +L 270.433933 41.472 +L 268.51651 41.472 +L 266.599087 41.472 +L 264.681664 41.472 +L 262.764242 41.472 +L 260.846819 41.472 +L 258.929396 41.472 +L 257.011973 41.472 +L 256.533086 41.472 +L 255.439937 43.708235 +L 255.09455 44.664356 +L 254.666245 45.944471 +L 254.1857 48.180706 +L 253.97499 50.416941 +L 254.035067 52.653176 +L 254.365658 54.889412 +L 254.96527 57.125647 +L 255.09455 57.459511 +L 255.889879 59.361882 +L 257.011973 61.421679 +L 257.116738 61.598118 +L 258.747349 63.834353 +L 258.929396 64.045719 +L 260.846819 66.065236 +L 260.852499 66.070588 +L 262.764242 67.638764 +L 263.690248 68.306824 +L 264.681664 68.942565 +L 266.599087 70.000101 +L 267.778802 70.543059 z " style="fill:#67001f;"/> </g> <g id="PathCollection_2"> - <path clip-path="url(#p553f52e075)" d="M 74.396779 366.070902 -L 76.2865 365.566387 -L 76.793557 365.423454 -L 79.190336 364.588278 -L 81.587114 363.59595 -L 83.538961 362.662185 -L 83.983893 362.435658 -L 86.380671 361.054706 -L 88.4019 359.757983 -L 88.77745 359.499262 -L 91.174228 357.684578 -L 92.183487 356.853782 -L 93.571007 355.614527 -L 95.301319 353.94958 -L 95.967785 353.24524 -L 97.915165 351.045378 -L 98.364564 350.479525 -L 100.113935 348.141176 -L 100.761342 347.158756 -L 101.961609 345.236975 -L 103.158121 343.009928 -L 103.504816 342.332773 -L 104.743419 339.428571 -L 105.554899 337.035234 -L 105.720786 336.52437 -L 106.4164 333.620168 -L 106.86144 330.715966 -L 107.053896 327.811765 -L 106.992898 324.907563 -L 106.678722 322.003361 -L 106.112787 319.09916 -L 105.554899 317.111496 -L 105.286289 316.194958 -L 104.17879 313.290756 -L 103.158121 311.109343 -L 102.803237 310.386555 -L 101.11997 307.482353 -L 100.761342 306.943536 -L 99.100186 304.578151 -L 98.364564 303.646786 -L 96.710393 301.67395 -L 95.967785 300.873408 -L 93.881892 298.769748 -L 93.571007 298.482524 -L 91.174228 296.427131 -L 90.462249 295.865546 -L 88.77745 294.634381 -L 86.380671 293.040753 -L 86.247691 292.961345 -L 83.983893 291.69683 -L 81.587114 290.513815 -L 80.518045 290.057143 -L 79.190336 289.522122 -L 76.793557 288.709256 -L 74.396779 288.051687 -L 72 287.55131 -L 72 290.057143 -L 72 292.961345 -L 72 295.865546 -L 72 298.769748 -L 72 300.021097 -L 74.396779 300.689227 -L 76.793557 301.567247 -L 77.029182 301.67395 -L 79.190336 302.756694 -L 81.587114 304.183436 -L 82.16097 304.578151 -L 83.983893 305.988335 -L 85.690465 307.482353 -L 86.380671 308.176236 -L 88.355214 310.386555 -L 88.77745 310.944504 -L 90.393019 313.290756 -L 91.174228 314.682782 -L 91.954783 316.194958 -L 93.106865 319.09916 -L 93.571007 320.784385 -L 93.882632 322.003361 -L 94.294798 324.907563 -L 94.37482 327.811765 -L 94.122339 330.715966 -L 93.571007 333.458441 -L 93.535979 333.620168 -L 92.552826 336.52437 -L 91.219964 339.428571 -L 91.174228 339.507797 -L 89.401167 342.332773 -L 88.77745 343.16057 -L 87.058018 345.236975 -L 86.380671 345.940617 -L 84.021969 348.141176 -L 83.983893 348.172468 -L 81.587114 349.912956 -L 79.78522 351.045378 -L 79.190336 351.380795 -L 76.793557 352.518166 -L 74.396779 353.438244 -L 72.646316 353.94958 -L 72 354.121478 -L 72 356.853782 -L 72 359.757983 -L 72 362.662185 -L 72 365.566387 -L 72 366.557826 + <path clip-path="url(#p0bba778d2e)" d="M 59.517423 290.082595 +L 61.0292 289.694118 +L 61.434846 289.58406 +L 63.352268 288.940974 +L 65.269691 288.176881 +L 66.831168 287.457882 +L 67.187114 287.283456 +L 69.104537 286.220123 +L 70.72152 285.221647 +L 71.02196 285.022432 +L 72.939383 283.625125 +L 73.746789 282.985412 +L 74.856805 282.031186 +L 76.241055 280.749176 +L 76.774228 280.206835 +L 78.332132 278.512941 +L 78.691651 278.077234 +L 80.091148 276.276706 +L 80.609074 275.520242 +L 81.569287 274.040471 +L 82.526497 272.325645 +L 82.803853 271.804235 +L 83.794735 269.568 +L 84.443919 267.72513 +L 84.576629 267.331765 +L 85.13312 265.095529 +L 85.489152 262.859294 +L 85.643117 260.623059 +L 85.594318 258.386824 +L 85.342977 256.150588 +L 84.890229 253.914353 +L 84.443919 252.383852 +L 84.229031 251.678118 +L 83.343032 249.441882 +L 82.526497 247.762194 +L 82.24259 247.205647 +L 80.895976 244.969412 +L 80.609074 244.554523 +L 79.280148 242.733176 +L 78.691651 242.016025 +L 77.368314 240.496941 +L 76.774228 239.880524 +L 75.105513 238.260706 +L 74.856805 238.039543 +L 72.939383 236.456891 +L 72.369799 236.024471 +L 71.02196 235.076473 +L 69.104537 233.849379 +L 68.998153 233.788235 +L 67.187114 232.814559 +L 65.269691 231.903637 +L 64.414436 231.552 +L 63.352268 231.140034 +L 61.434846 230.514127 +L 59.517423 230.007799 +L 57.6 229.622509 +L 57.6 231.552 +L 57.6 233.788235 +L 57.6 236.024471 +L 57.6 238.260706 +L 57.6 239.224244 +L 59.517423 239.738704 +L 61.434846 240.41478 +L 61.623345 240.496941 +L 63.352268 241.330654 +L 65.269691 242.429245 +L 65.728776 242.733176 +L 67.187114 243.819018 +L 68.552372 244.969412 +L 69.104537 245.503702 +L 70.684171 247.205647 +L 71.02196 247.635268 +L 72.314415 249.441882 +L 72.939383 250.513742 +L 73.563826 251.678118 +L 74.485492 253.914353 +L 74.856805 255.211977 +L 75.106106 256.150588 +L 75.435838 258.386824 +L 75.499856 260.623059 +L 75.297871 262.859294 +L 74.856805 264.971 +L 74.828783 265.095529 +L 74.042261 267.331765 +L 72.975971 269.568 +L 72.939383 269.629004 +L 71.520933 271.804235 +L 71.02196 272.441639 +L 69.646414 274.040471 +L 69.104537 274.582275 +L 67.217575 276.276706 +L 67.187114 276.3008 +L 65.269691 277.640976 +L 63.828176 278.512941 +L 63.352268 278.771212 +L 61.434846 279.646988 +L 59.517423 280.355448 +L 58.117053 280.749176 +L 57.6 280.881538 +L 57.6 282.985412 +L 57.6 285.221647 +L 57.6 287.457882 +L 57.6 289.694118 +L 57.6 290.457526 z " style="fill:#67001f;"/> - <path clip-path="url(#p553f52e075)" d="M 335.645638 365.605232 -L 338.042416 366.207036 -L 340.439195 366.655482 -L 342.835973 366.949278 -L 345.232752 367.087577 -L 347.62953 367.06998 -L 350.026309 366.896539 -L 352.423087 366.567753 -L 354.819866 366.084569 -L 356.772069 365.566387 -L 357.216644 365.441792 -L 359.613423 364.61047 -L 362.010201 363.621933 -L 364.022883 362.662185 -L 364.40698 362.467264 -L 366.803758 361.090176 -L 368.885367 359.757983 -L 369.200537 359.54139 -L 371.597315 357.730623 -L 372.664557 356.853782 -L 373.994094 355.668592 -L 375.783659 353.94958 -L 376.390872 353.30896 -L 378.39774 351.045378 -L 378.787651 350.555181 -L 380.596114 348.141176 -L 381.18443 347.249655 -L 382.443026 345.236975 -L 383.581208 343.121117 -L 383.98528 342.332773 -L 385.22526 339.428571 -L 385.977987 337.210985 -L 386.201165 336.52437 -L 386.897471 333.620168 -L 387.342955 330.715966 -L 387.535602 327.811765 -L 387.474544 324.907563 -L 387.160055 322.003361 -L 386.593556 319.09916 -L 385.977987 316.908168 -L 385.768733 316.194958 -L 384.660003 313.290756 -L 383.581208 310.987675 -L 383.285697 310.386555 -L 381.600344 307.482353 -L 381.18443 306.85824 -L 379.580965 304.578151 -L 378.787651 303.575125 -L 377.191115 301.67395 -L 376.390872 300.812601 -L 374.361797 298.769748 -L 373.994094 298.430612 -L 371.597315 296.379162 -L 370.944742 295.865546 -L 369.200537 294.593721 -L 366.803758 293.003991 -L 366.73214 292.961345 -L 364.40698 291.666188 -L 362.010201 290.487007 -L 361.00003 290.057143 -L 359.613423 289.500522 -L 357.216644 288.691408 -L 354.819866 288.037643 -L 352.423087 287.541109 -L 350.026309 287.203239 -L 349.349938 287.152941 -L 347.62953 287.031345 -L 345.232752 287.014158 -L 342.835973 287.149236 -L 342.805023 287.152941 -L 340.439195 287.450956 -L 338.042416 287.911792 -L 335.645638 288.530223 -L 333.248859 289.304467 -L 331.304529 290.057143 -L 330.852081 290.242811 -L 328.455302 291.386331 -L 326.058523 292.686525 -L 325.605236 292.961345 -L 323.661745 294.220991 -L 321.359988 295.865546 -L 321.264966 295.938827 -L 318.868188 297.953532 -L 317.968829 298.769748 -L 316.471409 300.253214 -L 315.132259 301.67395 -L 314.074631 302.915326 -L 312.742307 304.578151 -L 311.677852 306.072287 -L 310.727169 307.482353 -L 309.281074 309.945421 -L 309.034589 310.386555 -L 307.659928 313.290756 -L 306.884295 315.301321 -L 306.554527 316.194958 -L 305.7309 319.09916 -L 305.15907 322.003361 -L 304.841622 324.907563 -L 304.779988 327.811765 -L 304.974449 330.715966 -L 305.424124 333.620168 -L 306.126983 336.52437 -L 306.884295 338.832547 -L 307.088733 339.428571 -L 308.34174 342.332773 -L 309.281074 344.146359 -L 309.874619 345.236975 -L 311.677852 348.087233 -L 311.713914 348.141176 -L 313.917998 351.045378 -L 314.074631 351.230541 -L 316.471409 353.895143 -L 316.523847 353.94958 -L 318.868188 356.165465 -L 319.654419 356.853782 -L 321.264966 358.153301 -L 323.432648 359.757983 -L 323.661745 359.915919 -L 326.058523 361.414798 -L 328.287761 362.662185 -L 328.455302 362.750276 -L 330.852081 363.858616 -L 333.248859 364.811907 -L 335.522062 365.566387 + <path clip-path="url(#p0bba778d2e)" d="M 268.51651 289.724029 +L 270.433933 290.187418 +L 272.351356 290.532721 +L 274.268779 290.758944 +L 276.186201 290.865434 +L 278.103624 290.851885 +L 280.021047 290.718335 +L 281.93847 290.46517 +L 283.855893 290.093118 +L 285.417655 289.694118 +L 285.773315 289.59818 +L 287.690738 288.958062 +L 289.608161 288.196888 +L 291.218307 287.457882 +L 291.525584 287.307794 +L 293.443007 286.247435 +L 295.108294 285.221647 +L 295.36043 285.05487 +L 297.277852 283.66058 +L 298.131646 282.985412 +L 299.195275 282.072816 +L 300.626928 280.749176 +L 301.112698 280.255899 +L 302.718192 278.512941 +L 303.030121 278.135489 +L 304.476891 276.276706 +L 304.947544 275.590235 +L 305.95442 274.040471 +L 306.864966 272.41126 +L 307.188224 271.804235 +L 308.180208 269.568 +L 308.782389 267.860458 +L 308.960932 267.331765 +L 309.517977 265.095529 +L 309.874364 262.859294 +L 310.028482 260.623059 +L 309.979635 258.386824 +L 309.728044 256.150588 +L 309.274845 253.914353 +L 308.782389 252.227289 +L 308.614987 251.678118 +L 307.728003 249.441882 +L 306.864966 247.66851 +L 306.628557 247.205647 +L 305.280275 244.969412 +L 304.947544 244.488845 +L 303.664772 242.733176 +L 303.030121 241.960846 +L 301.752892 240.496941 +L 301.112698 239.833703 +L 299.489437 238.260706 +L 299.195275 237.999571 +L 297.277852 236.419955 +L 296.755794 236.024471 +L 295.36043 235.045165 +L 293.443007 233.821073 +L 293.385712 233.788235 +L 291.525584 232.790965 +L 289.608161 231.882995 +L 288.800024 231.552 +L 287.690738 231.123402 +L 285.773315 230.500384 +L 283.855893 229.996985 +L 281.93847 229.614654 +L 280.021047 229.354494 +L 279.479951 229.315765 +L 278.103624 229.222136 +L 276.186201 229.208902 +L 274.268779 229.312911 +L 274.244018 229.315765 +L 272.351356 229.545236 +L 270.433933 229.90008 +L 268.51651 230.376272 +L 266.599087 230.972439 +L 265.043623 231.552 +L 264.681664 231.694964 +L 262.764242 232.575475 +L 260.846819 233.576624 +L 260.484189 233.788235 +L 258.929396 234.758163 +L 257.08799 236.024471 +L 257.011973 236.080897 +L 255.09455 237.63222 +L 254.375064 238.260706 +L 253.177128 239.402974 +L 252.105807 240.496941 +L 251.259705 241.452801 +L 250.193846 242.733176 +L 249.342282 243.883661 +L 248.581735 244.969412 +L 247.424859 246.865974 +L 247.227671 247.205647 +L 246.127942 249.441882 +L 245.507436 250.990017 +L 245.243621 251.678118 +L 244.58472 253.914353 +L 244.127256 256.150588 +L 243.873297 258.386824 +L 243.823991 260.623059 +L 243.979559 262.859294 +L 244.339299 265.095529 +L 244.901587 267.331765 +L 245.507436 269.109061 +L 245.670986 269.568 +L 246.673392 271.804235 +L 247.424859 273.200697 +L 247.899695 274.040471 +L 249.342282 276.23517 +L 249.371131 276.276706 +L 251.134398 278.512941 +L 251.259705 278.655517 +L 253.177128 280.70726 +L 253.219077 280.749176 +L 255.09455 282.455408 +L 255.723535 282.985412 +L 257.011973 283.986041 +L 258.746118 285.221647 +L 258.929396 285.343258 +L 260.846819 286.497395 +L 262.630209 287.457882 +L 262.764242 287.525712 +L 264.681664 288.379134 +L 266.599087 289.113168 +L 268.41765 289.694118 z -M 339.215488 353.94958 -L 338.042416 353.633987 -L 335.645638 352.768671 -L 333.248859 351.68534 -L 332.067363 351.045378 -L 330.852081 350.311665 -L 328.455302 348.629283 -L 327.843721 348.141176 -L 326.058523 346.523691 -L 324.787848 345.236975 -L 323.661745 343.911376 -L 322.445234 342.332773 -L 321.264966 340.494153 -L 320.6374 339.428571 -L 319.27762 336.52437 -L 318.868188 335.338861 -L 318.318409 333.620168 -L 317.724053 330.715966 -L 317.467026 327.811765 -L 317.548489 324.907563 -L 317.968075 322.003361 -L 318.723888 319.09916 -L 318.868188 318.714201 -L 319.887742 316.194958 -L 321.264966 313.579663 -L 321.430794 313.290756 -L 323.476094 310.386555 -L 323.661745 310.163241 -L 326.058523 307.547931 -L 326.12569 307.482353 -L 328.455302 305.501698 -L 329.69039 304.578151 -L 330.852081 303.805781 -L 333.248859 302.435167 -L 334.844037 301.67395 -L 335.645638 301.328193 -L 338.042416 300.502431 -L 340.439195 299.887099 -L 342.835973 299.483968 -L 345.232752 299.294202 -L 347.62953 299.318347 -L 350.026309 299.556334 -L 352.423087 300.007476 -L 354.819866 300.670474 -L 357.216644 301.543416 -L 357.506231 301.67395 -L 359.613423 302.724786 -L 362.010201 304.146078 -L 362.640412 304.578151 -L 364.40698 305.940311 -L 366.173351 307.482353 -L 366.803758 308.114346 -L 368.838567 310.386555 -L 369.200537 310.863698 -L 370.875363 313.290756 -L 371.597315 314.574417 -L 372.435414 316.194958 -L 373.58971 319.09916 -L 373.994094 320.564596 -L 374.362539 322.003361 -L 374.775411 324.907563 -L 374.855571 327.811765 -L 374.602657 330.715966 -L 374.01781 333.620168 -L 373.994094 333.695513 -L 373.034607 336.52437 -L 371.699182 339.428571 -L 371.597315 339.604692 -L 369.881365 342.332773 -L 369.200537 343.234417 -L 367.53819 345.236975 -L 366.803758 345.998052 -L 364.500173 348.141176 -L 364.40698 348.217549 -L 362.010201 349.952397 -L 360.264396 351.045378 -L 359.613423 351.411017 -L 357.216644 352.543139 -L 354.819866 353.457896 -L 353.123646 353.94958 -L 352.423087 354.134473 -L 350.026309 354.564907 -L 347.62953 354.791969 -L 345.232752 354.815005 -L 342.835973 354.63395 -L 340.439195 354.249325 +M 271.37239 280.749176 +L 270.433933 280.50617 +L 268.51651 279.839877 +L 266.599087 279.005712 +L 265.65389 278.512941 +L 264.681664 277.947982 +L 262.764242 276.652548 +L 262.274977 276.276706 +L 260.846819 275.031242 +L 259.830278 274.040471 +L 258.929396 273.019759 +L 257.956187 271.804235 +L 257.011973 270.388498 +L 256.50992 269.568 +L 255.422096 267.331765 +L 255.09455 266.418923 +L 254.654728 265.095529 +L 254.179242 262.859294 +L 253.973621 260.623059 +L 254.038791 258.386824 +L 254.37446 256.150588 +L 254.979111 253.914353 +L 255.09455 253.617935 +L 255.910193 251.678118 +L 257.011973 249.66434 +L 257.144635 249.441882 +L 258.780875 247.205647 +L 258.929396 247.033696 +L 260.846819 245.019907 +L 260.900552 244.969412 +L 262.764242 243.444307 +L 263.752312 242.733176 +L 264.681664 242.138452 +L 266.599087 241.083078 +L 267.87523 240.496941 +L 268.51651 240.230708 +L 270.433933 239.594872 +L 272.351356 239.121066 +L 274.268779 238.810656 +L 276.186201 238.664536 +L 278.103624 238.683127 +L 280.021047 238.866377 +L 281.93847 239.213757 +L 283.855893 239.724265 +L 285.773315 240.39643 +L 286.004985 240.496941 +L 287.690738 241.306085 +L 289.608161 242.40048 +L 290.11233 242.733176 +L 291.525584 243.782039 +L 292.93868 244.969412 +L 293.443007 245.456046 +L 295.070853 247.205647 +L 295.36043 247.573047 +L 296.70029 249.441882 +L 297.277852 250.430301 +L 297.948331 251.678118 +L 298.871768 253.914353 +L 299.195275 255.042739 +L 299.490031 256.150588 +L 299.820329 258.386824 +L 299.884457 260.623059 +L 299.682125 262.859294 +L 299.214248 265.095529 +L 299.195275 265.153545 +L 298.427685 267.331765 +L 297.359346 269.568 +L 297.277852 269.703613 +L 295.905092 271.804235 +L 295.36043 272.498501 +L 294.030552 274.040471 +L 293.443007 274.6265 +L 291.600139 276.276706 +L 291.525584 276.335513 +L 289.608161 277.671346 +L 288.211517 278.512941 +L 287.690738 278.794483 +L 285.773315 279.666217 +L 283.855893 280.37058 +L 282.498917 280.749176 +L 281.93847 280.891544 +L 280.021047 281.222978 +L 278.103624 281.397816 +L 276.186201 281.415554 +L 274.268779 281.276142 +L 272.351356 280.97998 z " style="fill:#67001f;"/> - <path clip-path="url(#p553f52e075)" d="M 342.835973 95.532674 -L 345.232752 95.667871 -L 347.62953 95.650669 -L 350.026309 95.481117 -L 350.067226 95.47563 -L 352.423087 95.143187 -L 354.819866 94.646144 -L 357.216644 93.991708 -L 359.613423 93.181764 -L 361.132282 92.571429 -L 362.010201 92.197404 -L 364.40698 91.016837 -L 366.803758 89.680218 -L 366.824673 89.667227 -L 369.200537 88.08925 -L 371.016905 86.763025 -L 371.597315 86.305502 -L 373.994094 84.250893 -L 374.418535 83.858824 -L 376.390872 81.869578 -L 377.239417 80.954622 -L 378.787651 79.107187 -L 379.621761 78.05042 -L 381.18443 75.823019 -L 381.634377 75.146218 -L 383.31495 72.242017 -L 383.581208 71.698533 -L 384.683197 69.337815 -L 385.787143 66.433613 -L 385.977987 65.779412 -L 386.606523 63.529412 -L 387.168302 60.62521 -L 387.478033 57.721008 -L 387.534319 54.816807 -L 387.336904 51.912605 -L 386.886681 49.008403 -L 386.185683 46.104202 -L 385.977987 45.46833 -L 385.204267 43.2 -L 383.581208 43.2 -L 381.18443 43.2 -L 378.787651 43.2 -L 376.390872 43.2 -L 373.994094 43.2 -L 371.670743 43.2 -L 373.012705 46.104202 -L 373.994094 48.978267 -L 374.003644 49.008403 -L 374.594713 51.912605 -L 374.853887 54.816807 -L 374.779993 57.721008 -L 374.373366 60.62521 -L 373.994094 62.118698 -L 373.608054 63.529412 -L 372.460352 66.433613 -L 371.597315 68.109608 -L 370.909532 69.337815 -L 369.200537 71.822939 -L 368.88371 72.242017 -L 366.803758 74.571241 -L 366.231849 75.146218 -L 364.40698 76.743147 -L 362.715646 78.05042 -L 362.010201 78.535065 -L 359.613423 79.959269 -L 357.621571 80.954622 -L 357.216644 81.13747 -L 354.819866 82.011957 -L 352.423087 82.676129 -L 350.026309 83.12807 -L 347.62953 83.366478 -L 345.232752 83.390665 -L 342.835973 83.200563 -L 340.439195 82.796719 -L 338.042416 82.180297 -L 335.645638 81.353074 -L 334.723503 80.954622 -L 333.248859 80.249482 -L 330.852081 78.876059 -L 329.612811 78.05042 -L 328.455302 77.182811 -L 326.065623 75.146218 -L 326.058523 75.139267 -L 323.661745 72.516519 -L 323.434186 72.242017 -L 321.395922 69.337815 -L 321.264966 69.108674 -L 319.862348 66.433613 -L 318.868188 63.963001 -L 318.706588 63.529412 -L 317.957072 60.62521 -L 317.543833 57.721008 -L 317.468738 54.816807 -L 317.732126 51.912605 -L 318.332806 49.008403 -L 318.868188 47.345917 -L 319.299921 46.104202 -L 320.666358 43.2 -L 318.868188 43.2 -L 316.471409 43.2 -L 314.074631 43.2 -L 311.677852 43.2 -L 309.281074 43.2 -L 307.109946 43.2 -L 306.884295 43.854668 -L 306.142611 46.104202 -L 305.435016 49.008403 -L 304.980556 51.912605 -L 304.781284 54.816807 -L 304.838099 57.721008 -L 305.150745 60.62521 -L 305.71781 63.529412 -L 306.536732 66.433613 -L 306.884295 67.379554 -L 307.63649 69.337815 -L 309.006422 72.242017 -L 309.281074 72.734958 -L 310.692737 75.146218 -L 311.677852 76.610855 -L 312.700979 78.05042 -L 314.074631 79.768339 -L 315.083254 80.954622 -L 316.471409 82.429956 -L 317.911168 83.858824 -L 318.868188 84.728707 -L 321.264966 86.746516 -L 321.286341 86.763025 -L 323.661745 88.462481 -L 325.518034 89.667227 -L 326.058523 89.9953 -L 328.455302 91.297023 -L 330.852081 92.441886 -L 331.167387 92.571429 -L 333.248859 93.378021 -L 335.645638 94.153058 -L 338.042416 94.772124 -L 340.439195 95.233433 -L 342.35994 95.47563 + <path clip-path="url(#p0bba778d2e)" d="M 274.268779 81.768159 +L 276.186201 81.872261 +L 278.103624 81.859015 +L 280.021047 81.72846 +L 280.053781 81.724235 +L 281.93847 81.468254 +L 283.855893 81.085531 +L 285.773315 80.581615 +L 287.690738 79.957958 +L 288.905826 79.488 +L 289.608161 79.200001 +L 291.525584 78.290964 +L 293.443007 77.261768 +L 293.459738 77.251765 +L 295.36043 76.036723 +L 296.813524 75.015529 +L 297.277852 74.663237 +L 299.195275 73.081187 +L 299.534828 72.779294 +L 301.112698 71.247575 +L 301.791534 70.543059 +L 303.030121 69.120534 +L 303.697409 68.306824 +L 304.947544 66.591724 +L 305.307501 66.070588 +L 306.65196 63.834353 +L 306.864966 63.415871 +L 307.746558 61.598118 +L 308.629714 59.361882 +L 308.782389 58.858147 +L 309.285218 57.125647 +L 309.734641 54.889412 +L 309.982427 52.653176 +L 310.027455 50.416941 +L 309.869523 48.180706 +L 309.509345 45.944471 +L 308.948546 43.708235 +L 308.782389 43.218614 +L 308.163413 41.472 +L 306.864966 41.472 +L 304.947544 41.472 +L 303.030121 41.472 +L 301.112698 41.472 +L 299.195275 41.472 +L 297.336595 41.472 +L 298.410164 43.708235 +L 299.195275 45.921266 +L 299.202915 45.944471 +L 299.675771 48.180706 +L 299.883109 50.416941 +L 299.823994 52.653176 +L 299.498693 54.889412 +L 299.195275 56.039397 +L 298.886444 57.125647 +L 297.968282 59.361882 +L 297.277852 60.652398 +L 296.727625 61.598118 +L 295.36043 63.511663 +L 295.106968 63.834353 +L 293.443007 65.627855 +L 292.98548 66.070588 +L 291.525584 67.300223 +L 290.172516 68.306824 +L 289.608161 68.68 +L 287.690738 69.776637 +L 286.097257 70.543059 +L 285.773315 70.683852 +L 283.855893 71.357207 +L 281.93847 71.868619 +L 280.021047 72.216614 +L 278.103624 72.400188 +L 276.186201 72.418812 +L 274.268779 72.272434 +L 272.351356 71.961474 +L 270.433933 71.486829 +L 268.51651 70.849867 +L 267.778802 70.543059 +L 266.599087 70.000101 +L 264.681664 68.942565 +L 263.690248 68.306824 +L 262.764242 67.638764 +L 260.852499 66.070588 +L 260.846819 66.065236 +L 258.929396 64.045719 +L 258.747349 63.834353 +L 257.116738 61.598118 +L 257.011973 61.421679 +L 255.889879 59.361882 +L 255.09455 57.459511 +L 254.96527 57.125647 +L 254.365658 54.889412 +L 254.035067 52.653176 +L 253.97499 50.416941 +L 254.1857 48.180706 +L 254.666245 45.944471 +L 255.09455 44.664356 +L 255.439937 43.708235 +L 256.533086 41.472 +L 255.09455 41.472 +L 253.177128 41.472 +L 251.259705 41.472 +L 249.342282 41.472 +L 247.424859 41.472 +L 245.687957 41.472 +L 245.507436 41.976094 +L 244.914089 43.708235 +L 244.348013 45.944471 +L 243.984445 48.180706 +L 243.825027 50.416941 +L 243.870479 52.653176 +L 244.120596 54.889412 +L 244.574248 57.125647 +L 245.229386 59.361882 +L 245.507436 60.090257 +L 246.109192 61.598118 +L 247.205138 63.834353 +L 247.424859 64.213918 +L 248.55419 66.070588 +L 249.342282 67.198358 +L 250.160783 68.306824 +L 251.259705 69.629621 +L 252.066603 70.543059 +L 253.177128 71.679066 +L 254.328935 72.779294 +L 255.09455 73.449104 +L 257.011973 75.002817 +L 257.029073 75.015529 +L 258.929396 76.324111 +L 260.414428 77.251765 +L 260.846819 77.504381 +L 262.764242 78.506708 +L 264.681664 79.388252 +L 264.93391 79.488 +L 266.599087 80.109076 +L 268.51651 80.705855 +L 270.433933 81.182535 +L 272.351356 81.537743 +L 273.887952 81.724235 z " style="fill:#67001f;"/> - <path clip-path="url(#p553f52e075)" d="M 74.396779 94.632085 -L 76.793557 93.973842 -L 79.190336 93.160142 -L 80.649791 92.571429 -L 81.587114 92.170564 -L 83.983893 90.986159 -L 86.34234 89.667227 -L 86.380671 89.644307 -L 88.77745 88.048536 -L 90.534255 86.763025 -L 91.174228 86.257459 -L 93.571007 84.198901 -L 93.938533 83.858824 -L 95.967785 81.808663 -L 96.758621 80.954622 -L 98.364564 79.03538 -L 99.140925 78.05042 -L 100.761342 75.737518 -L 101.153961 75.146218 -L 102.832455 72.242017 -L 103.158121 71.576446 -L 104.201959 69.337815 -L 105.304678 66.433613 -L 105.554899 65.574915 -L 106.125741 63.529412 -L 106.686961 60.62521 -L 106.996384 57.721008 -L 107.052614 54.816807 -L 106.855395 51.912605 -L 106.40562 49.008403 -L 105.70532 46.104202 -L 105.554899 45.643224 -L 104.722449 43.2 -L 103.158121 43.2 -L 100.761342 43.2 -L 98.364564 43.2 -L 95.967785 43.2 -L 93.571007 43.2 -L 91.191579 43.2 -L 92.530967 46.104202 -L 93.520744 49.008403 -L 93.571007 49.238033 -L 94.114409 51.912605 -L 94.373138 54.816807 -L 94.299371 57.721008 -L 93.893441 60.62521 -L 93.571007 61.897062 -L 93.125174 63.529412 -L 91.979673 66.433613 -L 91.174228 68.000773 -L 90.427114 69.337815 -L 88.77745 71.741854 -L 88.400247 72.242017 -L 86.380671 74.509175 -L 85.7488 75.146218 -L 83.983893 76.695008 -L 82.235959 78.05042 -L 81.587114 78.497631 -L 79.190336 79.927296 -L 77.143989 80.954622 -L 76.793557 81.113596 -L 74.396779 81.993171 -L 72 82.662484 -L 72 83.858824 -L 72 86.763025 -L 72 89.667227 -L 72 92.571429 -L 72 95.132976 + <path clip-path="url(#p0bba778d2e)" d="M 59.517423 81.074706 +L 61.434846 80.567858 +L 63.352268 79.94131 +L 64.519833 79.488 +L 65.269691 79.179334 +L 67.187114 78.267342 +L 69.073872 77.251765 +L 69.104537 77.234116 +L 71.02196 76.005373 +L 72.427404 75.015529 +L 72.939383 74.626244 +L 74.856805 73.041154 +L 75.150826 72.779294 +L 76.774228 71.200671 +L 77.406897 70.543059 +L 78.691651 69.065243 +L 79.31274 68.306824 +L 80.609074 66.525889 +L 80.923169 66.070588 +L 82.265964 63.834353 +L 82.526497 63.321864 +L 83.361567 61.598118 +L 84.243742 59.361882 +L 84.443919 58.700684 +L 84.900593 57.125647 +L 85.349568 54.889412 +L 85.597107 52.653176 +L 85.642091 50.416941 +L 85.484316 48.180706 +L 85.124496 45.944471 +L 84.564256 43.708235 +L 84.443919 43.353283 +L 83.777959 41.472 +L 82.526497 41.472 +L 80.609074 41.472 +L 78.691651 41.472 +L 76.774228 41.472 +L 74.856805 41.472 +L 72.953263 41.472 +L 74.024773 43.708235 +L 74.816595 45.944471 +L 74.856805 46.121285 +L 75.291527 48.180706 +L 75.498511 50.416941 +L 75.439497 52.653176 +L 75.114753 54.889412 +L 74.856805 55.868738 +L 74.500139 57.125647 +L 73.583739 59.361882 +L 72.939383 60.568595 +L 72.341691 61.598118 +L 71.02196 63.449227 +L 70.720197 63.834353 +L 69.104537 65.580065 +L 68.59904 66.070588 +L 67.187114 67.263156 +L 65.788768 68.306824 +L 65.269691 68.651176 +L 63.352268 69.752018 +L 61.715192 70.543059 +L 61.434846 70.665469 +L 59.517423 71.342742 +L 57.6 71.858113 +L 57.6 72.779294 +L 57.6 75.015529 +L 57.6 77.251765 +L 57.6 79.488 +L 57.6 81.460391 z " style="fill:#67001f;"/> </g> <g id="PathCollection_3"> - <path clip-path="url(#p553f52e075)" d="M 74.396779 376.229096 -L 76.793557 375.663167 -L 79.190336 374.963583 -L 81.164314 374.278992 -L 81.587114 374.127165 -L 83.983893 373.132667 -L 86.380671 372.007213 -L 87.59023 371.37479 -L 88.77745 370.728214 -L 91.174228 369.293632 -L 92.438983 368.470588 -L 93.571007 367.698291 -L 95.967785 365.936673 -L 96.439103 365.566387 -L 98.364564 363.969201 -L 99.848807 362.662185 -L 100.761342 361.807 -L 102.833527 359.757983 -L 103.158121 359.413325 -L 105.455251 356.853782 -L 105.554899 356.733312 -L 107.760126 353.94958 -L 107.951678 353.684004 -L 109.782674 351.045378 -L 110.348456 350.136581 -L 111.548667 348.141176 -L 112.745235 345.882761 -L 113.077112 345.236975 -L 114.361004 342.332773 -L 115.142013 340.211929 -L 115.422861 339.428571 -L 116.250625 336.52437 -L 116.861204 333.620168 -L 117.251841 330.715966 -L 117.42077 327.811765 -L 117.367229 324.907563 -L 117.091459 322.003361 -L 116.594706 319.09916 -L 115.879214 316.194958 -L 115.142013 313.895296 -L 114.942954 313.290756 -L 113.769635 310.386555 -L 112.745235 308.238581 -L 112.37341 307.482353 -L 110.733617 304.578151 -L 110.348456 303.97162 -L 108.838267 301.67395 -L 107.951678 300.454701 -L 106.678157 298.769748 -L 105.554899 297.408306 -L 104.225833 295.865546 -L 103.158121 294.717323 -L 101.444657 292.961345 -L 100.761342 292.306296 -L 98.364564 290.128716 -L 98.280934 290.057143 -L 95.967785 288.189625 -L 94.595242 287.152941 -L 93.571007 286.417671 -L 91.174228 284.820614 -L 90.24113 284.248739 -L 88.77745 283.390343 -L 86.380671 282.111374 -L 84.780556 281.344538 -L 83.983893 280.976928 -L 81.587114 279.999655 -L 79.190336 279.153886 -L 76.793557 278.442058 -L 76.786388 278.440336 -L 74.396779 277.884365 -L 72 277.460029 -L 72 278.440336 -L 72 281.344538 -L 72 284.248739 -L 72 287.152941 -L 72 287.55131 -L 74.396779 288.051687 -L 76.793557 288.709256 -L 79.190336 289.522122 -L 80.518045 290.057143 -L 81.587114 290.513815 -L 83.983893 291.69683 -L 86.247691 292.961345 -L 86.380671 293.040753 -L 88.77745 294.634381 -L 90.462249 295.865546 -L 91.174228 296.427131 -L 93.571007 298.482524 -L 93.881892 298.769748 -L 95.967785 300.873408 -L 96.710393 301.67395 -L 98.364564 303.646786 -L 99.100186 304.578151 -L 100.761342 306.943536 -L 101.11997 307.482353 -L 102.803237 310.386555 -L 103.158121 311.109343 -L 104.17879 313.290756 -L 105.286289 316.194958 -L 105.554899 317.111496 -L 106.112787 319.09916 -L 106.678722 322.003361 -L 106.992898 324.907563 -L 107.053896 327.811765 -L 106.86144 330.715966 -L 106.4164 333.620168 -L 105.720786 336.52437 -L 105.554899 337.035234 -L 104.743419 339.428571 -L 103.504816 342.332773 -L 103.158121 343.009928 -L 101.961609 345.236975 -L 100.761342 347.158756 -L 100.113935 348.141176 -L 98.364564 350.479525 -L 97.915165 351.045378 -L 95.967785 353.24524 -L 95.301319 353.94958 -L 93.571007 355.614527 -L 92.183487 356.853782 -L 91.174228 357.684578 -L 88.77745 359.499262 -L 88.4019 359.757983 -L 86.380671 361.054706 -L 83.983893 362.435658 -L 83.538961 362.662185 -L 81.587114 363.59595 -L 79.190336 364.588278 -L 76.793557 365.423454 -L 76.2865 365.566387 -L 74.396779 366.070902 -L 72 366.557826 -L 72 368.470588 -L 72 371.37479 -L 72 374.278992 -L 72 376.65974 + <path clip-path="url(#p0bba778d2e)" d="M 59.517423 297.904404 +L 61.434846 297.468638 +L 63.352268 296.929959 +L 64.931451 296.402824 +L 65.269691 296.285917 +L 67.187114 295.520154 +L 69.104537 294.653554 +L 70.072184 294.166588 +L 71.02196 293.668725 +L 72.939383 292.564097 +L 73.951186 291.930353 +L 74.856805 291.335684 +L 76.774228 289.979238 +L 77.151282 289.694118 +L 78.691651 288.464284 +L 79.879046 287.457882 +L 80.609074 286.79939 +L 82.266822 285.221647 +L 82.526497 284.95626 +L 84.364201 282.985412 +L 84.443919 282.892651 +L 86.208101 280.749176 +L 86.361342 280.544683 +L 87.826139 278.512941 +L 88.278765 277.813167 +L 89.238933 276.276706 +L 90.196188 274.537726 +L 90.461689 274.040471 +L 91.488803 271.804235 +L 92.113611 270.171185 +L 92.338289 269.568 +L 93.0005 267.331765 +L 93.488963 265.095529 +L 93.801473 262.859294 +L 93.936616 260.623059 +L 93.893783 258.386824 +L 93.673167 256.150588 +L 93.275765 253.914353 +L 92.703371 251.678118 +L 92.113611 249.907378 +L 91.954363 249.441882 +L 91.015708 247.205647 +L 90.196188 245.551707 +L 89.898728 244.969412 +L 88.586893 242.733176 +L 88.278765 242.266147 +L 87.070613 240.496941 +L 86.361342 239.55812 +L 85.342526 238.260706 +L 84.443919 237.212395 +L 83.380666 236.024471 +L 82.526497 235.140339 +L 81.155726 233.788235 +L 80.609074 233.283848 +L 78.691651 231.607111 +L 78.624747 231.552 +L 76.774228 230.114011 +L 75.676193 229.315765 +L 74.856805 228.749607 +L 72.939383 227.519873 +L 72.192904 227.079529 +L 71.02196 226.418564 +L 69.104537 225.433758 +L 67.824445 224.843294 +L 67.187114 224.560235 +L 65.269691 223.807734 +L 63.352268 223.156492 +L 61.434846 222.608385 +L 61.429111 222.607059 +L 59.517423 222.178961 +L 57.6 221.852222 +L 57.6 222.607059 +L 57.6 224.843294 +L 57.6 227.079529 +L 57.6 229.315765 +L 57.6 229.622509 +L 59.517423 230.007799 +L 61.434846 230.514127 +L 63.352268 231.140034 +L 64.414436 231.552 +L 65.269691 231.903637 +L 67.187114 232.814559 +L 68.998153 233.788235 +L 69.104537 233.849379 +L 71.02196 235.076473 +L 72.369799 236.024471 +L 72.939383 236.456891 +L 74.856805 238.039543 +L 75.105513 238.260706 +L 76.774228 239.880524 +L 77.368314 240.496941 +L 78.691651 242.016025 +L 79.280148 242.733176 +L 80.609074 244.554523 +L 80.895976 244.969412 +L 82.24259 247.205647 +L 82.526497 247.762194 +L 83.343032 249.441882 +L 84.229031 251.678118 +L 84.443919 252.383852 +L 84.890229 253.914353 +L 85.342977 256.150588 +L 85.594318 258.386824 +L 85.643117 260.623059 +L 85.489152 262.859294 +L 85.13312 265.095529 +L 84.576629 267.331765 +L 84.443919 267.72513 +L 83.794735 269.568 +L 82.803853 271.804235 +L 82.526497 272.325645 +L 81.569287 274.040471 +L 80.609074 275.520242 +L 80.091148 276.276706 +L 78.691651 278.077234 +L 78.332132 278.512941 +L 76.774228 280.206835 +L 76.241055 280.749176 +L 74.856805 282.031186 +L 73.746789 282.985412 +L 72.939383 283.625125 +L 71.02196 285.022432 +L 70.72152 285.221647 +L 69.104537 286.220123 +L 67.187114 287.283456 +L 66.831168 287.457882 +L 65.269691 288.176881 +L 63.352268 288.940974 +L 61.434846 289.58406 +L 61.0292 289.694118 +L 59.517423 290.082595 +L 57.6 290.457526 +L 57.6 291.930353 +L 57.6 294.166588 +L 57.6 296.402824 +L 57.6 298.236 z " style="fill:#67001f;"/> - <path clip-path="url(#p553f52e075)" d="M 330.852081 374.352383 -L 333.248859 375.150905 -L 335.645638 375.817249 -L 338.042416 376.349495 -L 340.439195 376.746109 -L 342.835973 377.005947 -L 345.232752 377.128261 -L 347.62953 377.112698 -L 350.026309 376.959304 -L 352.423087 376.668519 -L 354.819866 376.241183 -L 357.216644 375.678527 -L 359.613423 374.982172 -L 361.648778 374.278992 -L 362.010201 374.149701 -L 364.40698 373.158426 -L 366.803758 372.036121 -L 368.071707 371.37479 -L 369.200537 370.761518 -L 371.597315 369.330033 -L 372.920544 368.470588 -L 373.994094 367.739588 -L 376.390872 365.980989 -L 376.919408 365.566387 -L 378.787651 364.019042 -L 380.33062 362.662185 -L 381.18443 361.863137 -L 383.316024 359.757983 -L 383.581208 359.476755 -L 385.937883 356.853782 -L 385.977987 356.805353 -L 388.242536 353.94958 -L 388.374765 353.766434 -L 390.264641 351.045378 -L 390.771544 350.231881 -L 392.030069 348.141176 -L 393.168322 345.994522 -L 393.557906 345.236975 -L 394.842694 342.332773 -L 395.565101 340.372431 -L 395.903698 339.428571 -L 396.731966 336.52437 -L 397.342917 333.620168 -L 397.733792 330.715966 -L 397.902824 327.811765 -L 397.849251 324.907563 -L 397.573312 322.003361 -L 397.076257 319.09916 -L 396.360329 316.194958 -L 395.565101 313.715793 -L 395.425049 313.290756 -L 394.250912 310.386555 -L 393.168322 308.118149 -L 392.855464 307.482353 -L 391.214375 304.578151 -L 390.771544 303.881353 -L 389.319393 301.67395 -L 388.374765 300.376039 -L 387.159489 298.769748 -L 385.977987 297.339135 -L 384.707098 295.865546 -L 383.581208 294.656103 -L 381.925433 292.961345 -L 381.18443 292.251873 -L 378.787651 290.077293 -L 378.764071 290.057143 -L 376.390872 288.144085 -L 375.076371 287.152941 -L 373.994094 286.377335 -L 371.597315 284.783342 -L 370.723145 284.248739 -L 369.200537 283.357712 -L 366.803758 282.081871 -L 365.260889 281.344538 -L 364.40698 280.951615 -L 362.010201 279.977509 -L 359.613423 279.134971 -L 357.263687 278.440336 -L 357.216644 278.426869 -L 354.819866 277.872454 -L 352.423087 277.451378 -L 350.026309 277.164853 -L 347.62953 277.013706 -L 345.232752 276.998371 -L 342.835973 277.118893 -L 340.439195 277.374925 -L 338.042416 277.765729 -L 335.645638 278.290178 -L 335.097505 278.440336 -L 333.248859 278.963285 -L 330.852081 279.775782 -L 328.455302 280.720429 -L 327.062613 281.344538 -L 326.058523 281.811862 -L 323.661745 283.058577 -L 321.586142 284.248739 -L 321.264966 284.441198 -L 318.868188 286.006641 -L 317.242636 287.152941 -L 316.471409 287.725147 -L 314.074631 289.629506 -L 313.568471 290.057143 -L 311.677852 291.750395 -L 310.398272 292.961345 -L 309.281074 294.09161 -L 307.612338 295.865546 -L 306.884295 296.700932 -L 305.159641 298.769748 -L 304.487517 299.649846 -L 303.001982 301.67395 -L 302.090738 303.047583 -L 301.110764 304.578151 -L 299.69396 307.066855 -L 299.464745 307.482353 -L 298.069584 310.386555 -L 297.297181 312.284561 -L 296.898893 313.290756 -L 295.961952 316.194958 -L 295.241894 319.09916 -L 294.900403 321.082984 -L 294.74575 322.003361 -L 294.474841 324.907563 -L 294.422243 327.811765 -L 294.588195 330.715966 -L 294.900403 333.078729 -L 294.973695 333.620168 -L 295.588172 336.52437 -L 296.421219 339.428571 -L 297.297181 341.856364 -L 297.4739 342.332773 -L 298.76716 345.236975 -L 299.69396 347.027337 -L 300.288978 348.141176 -L 302.050254 351.045378 -L 302.090738 351.105269 -L 304.082818 353.94958 -L 304.487517 354.475687 -L 306.391025 356.853782 -L 306.884295 357.421757 -L 309.005388 359.757983 -L 309.281074 360.040756 -L 311.677852 362.380405 -L 311.982872 362.662185 -L 314.074631 364.477946 -L 315.40792 365.566387 -L 316.471409 366.388663 -L 318.868188 368.119124 -L 319.393763 368.470588 -L 321.264966 369.664176 -L 323.661745 371.066816 -L 324.241866 371.37479 -L 326.058523 372.300683 -L 328.455302 373.393687 -L 330.662611 374.278992 + <path clip-path="url(#p0bba778d2e)" d="M 264.681664 296.459335 +L 266.599087 297.074197 +L 268.51651 297.587282 +L 270.433933 297.997111 +L 272.351356 298.302504 +L 274.268779 298.502579 +L 276.186201 298.596761 +L 278.103624 298.584778 +L 280.021047 298.466664 +L 281.93847 298.24276 +L 283.855893 297.913711 +L 285.773315 297.480466 +L 287.690738 296.944273 +L 289.319023 296.402824 +L 289.608161 296.30327 +L 291.525584 295.539988 +L 293.443007 294.675813 +L 294.457366 294.166588 +L 295.36043 293.694369 +L 297.277852 292.592125 +L 298.336435 291.930353 +L 299.195275 291.367483 +L 301.112698 290.013361 +L 301.535526 289.694118 +L 303.030121 288.502662 +L 304.264496 287.457882 +L 304.947544 286.842615 +L 306.652819 285.221647 +L 306.864966 285.005102 +L 308.750307 282.985412 +L 308.782389 282.948122 +L 310.594029 280.749176 +L 310.699812 280.608154 +L 312.211713 278.512941 +L 312.617235 277.886548 +L 313.624055 276.276706 +L 314.534658 274.623782 +L 314.846325 274.040471 +L 315.874155 271.804235 +L 316.452081 270.294772 +L 316.722958 269.568 +L 317.385573 267.331765 +L 317.874334 265.095529 +L 318.187034 262.859294 +L 318.32226 260.623059 +L 318.2794 258.386824 +L 318.05865 256.150588 +L 317.661005 253.914353 +L 317.088263 251.678118 +L 316.452081 249.769161 +L 316.340039 249.441882 +L 315.40073 247.205647 +L 314.534658 245.458975 +L 314.284371 244.969412 +L 312.9715 242.733176 +L 312.617235 242.196641 +L 311.455515 240.496941 +L 310.699812 239.49755 +L 309.727591 238.260706 +L 308.782389 237.159134 +L 307.765678 236.024471 +L 306.864966 235.0932 +L 305.540347 233.788235 +L 304.947544 233.241942 +L 303.030121 231.567516 +L 303.011256 231.552 +L 301.112698 230.078945 +L 300.061097 229.315765 +L 299.195275 228.718548 +L 297.277852 227.491173 +L 296.578516 227.079529 +L 295.36043 226.393438 +L 293.443007 225.411041 +L 292.208711 224.843294 +L 291.525584 224.540744 +L 289.608161 223.790682 +L 287.690738 223.141928 +L 285.81095 222.607059 +L 285.773315 222.596689 +L 283.855893 222.16979 +L 281.93847 221.845561 +L 280.021047 221.624937 +L 278.103624 221.508553 +L 276.186201 221.496746 +L 274.268779 221.589548 +L 272.351356 221.786693 +L 270.433933 222.087611 +L 268.51651 222.491437 +L 268.078004 222.607059 +L 266.599087 223.00973 +L 264.681664 223.635352 +L 262.764242 224.36273 +L 261.65009 224.843294 +L 260.846819 225.203133 +L 258.929396 226.163104 +L 257.268914 227.079529 +L 257.011973 227.227722 +L 255.09455 228.433113 +L 253.794109 229.315765 +L 253.177128 229.756363 +L 251.259705 231.22272 +L 250.854777 231.552 +L 249.342282 232.855804 +L 248.318618 233.788235 +L 247.424859 234.65854 +L 246.089871 236.024471 +L 245.507436 236.667717 +L 244.127713 238.260706 +L 243.590013 238.938381 +L 242.401586 240.496941 +L 241.672591 241.554639 +L 240.888611 242.733176 +L 239.755168 244.649478 +L 239.571796 244.969412 +L 238.455667 247.205647 +L 237.837745 248.667112 +L 237.519114 249.441882 +L 236.769562 251.678118 +L 236.193515 253.914353 +L 235.920322 255.441897 +L 235.7966 256.150588 +L 235.579873 258.386824 +L 235.537794 260.623059 +L 235.670556 262.859294 +L 235.920322 264.678621 +L 235.978956 265.095529 +L 236.470537 267.331765 +L 237.136975 269.568 +L 237.837745 271.437401 +L 237.97912 271.804235 +L 239.013728 274.040471 +L 239.755168 275.41905 +L 240.231182 276.276706 +L 241.640203 278.512941 +L 241.672591 278.559057 +L 243.266255 280.749176 +L 243.590013 281.154279 +L 245.11282 282.985412 +L 245.507436 283.422753 +L 247.20431 285.221647 +L 247.424859 285.439382 +L 249.342282 287.240912 +L 249.586297 287.457882 +L 251.259705 288.856019 +L 252.326336 289.694118 +L 253.177128 290.32727 +L 255.09455 291.659726 +L 255.51501 291.930353 +L 257.011973 292.849416 +L 258.929396 293.929448 +L 259.393493 294.166588 +L 260.846819 294.879526 +L 262.764242 295.721139 +L 264.530089 296.402824 z -M 335.522062 365.566387 -L 333.248859 364.811907 -L 330.852081 363.858616 -L 328.455302 362.750276 -L 328.287761 362.662185 -L 326.058523 361.414798 -L 323.661745 359.915919 -L 323.432648 359.757983 -L 321.264966 358.153301 -L 319.654419 356.853782 -L 318.868188 356.165465 -L 316.523847 353.94958 -L 316.471409 353.895143 -L 314.074631 351.230541 -L 313.917998 351.045378 -L 311.713914 348.141176 -L 311.677852 348.087233 -L 309.874619 345.236975 -L 309.281074 344.146359 -L 308.34174 342.332773 -L 307.088733 339.428571 -L 306.884295 338.832547 -L 306.126983 336.52437 -L 305.424124 333.620168 -L 304.974449 330.715966 -L 304.779988 327.811765 -L 304.841622 324.907563 -L 305.15907 322.003361 -L 305.7309 319.09916 -L 306.554527 316.194958 -L 306.884295 315.301321 -L 307.659928 313.290756 -L 309.034589 310.386555 -L 309.281074 309.945421 -L 310.727169 307.482353 -L 311.677852 306.072287 -L 312.742307 304.578151 -L 314.074631 302.915326 -L 315.132259 301.67395 -L 316.471409 300.253214 -L 317.968829 298.769748 -L 318.868188 297.953532 -L 321.264966 295.938827 -L 321.359988 295.865546 -L 323.661745 294.220991 -L 325.605236 292.961345 -L 326.058523 292.686525 -L 328.455302 291.386331 -L 330.852081 290.242811 -L 331.304529 290.057143 -L 333.248859 289.304467 -L 335.645638 288.530223 -L 338.042416 287.911792 -L 340.439195 287.450956 -L 342.805023 287.152941 -L 342.835973 287.149236 -L 345.232752 287.014158 -L 347.62953 287.031345 -L 349.349938 287.152941 -L 350.026309 287.203239 -L 352.423087 287.541109 -L 354.819866 288.037643 -L 357.216644 288.691408 -L 359.613423 289.500522 -L 361.00003 290.057143 -L 362.010201 290.487007 -L 364.40698 291.666188 -L 366.73214 292.961345 -L 366.803758 293.003991 -L 369.200537 294.593721 -L 370.944742 295.865546 -L 371.597315 296.379162 -L 373.994094 298.430612 -L 374.361797 298.769748 -L 376.390872 300.812601 -L 377.191115 301.67395 -L 378.787651 303.575125 -L 379.580965 304.578151 -L 381.18443 306.85824 -L 381.600344 307.482353 -L 383.285697 310.386555 -L 383.581208 310.987675 -L 384.660003 313.290756 -L 385.768733 316.194958 -L 385.977987 316.908168 -L 386.593556 319.09916 -L 387.160055 322.003361 -L 387.474544 324.907563 -L 387.535602 327.811765 -L 387.342955 330.715966 -L 386.897471 333.620168 -L 386.201165 336.52437 -L 385.977987 337.210985 -L 385.22526 339.428571 -L 383.98528 342.332773 -L 383.581208 343.121117 -L 382.443026 345.236975 -L 381.18443 347.249655 -L 380.596114 348.141176 -L 378.787651 350.555181 -L 378.39774 351.045378 -L 376.390872 353.30896 -L 375.783659 353.94958 -L 373.994094 355.668592 -L 372.664557 356.853782 -L 371.597315 357.730623 -L 369.200537 359.54139 -L 368.885367 359.757983 -L 366.803758 361.090176 -L 364.40698 362.467264 -L 364.022883 362.662185 -L 362.010201 363.621933 -L 359.613423 364.61047 -L 357.216644 365.441792 -L 356.772069 365.566387 -L 354.819866 366.084569 -L 352.423087 366.567753 -L 350.026309 366.896539 -L 347.62953 367.06998 -L 345.232752 367.087577 -L 342.835973 366.949278 -L 340.439195 366.655482 -L 338.042416 366.207036 -L 335.645638 365.605232 +M 268.41765 289.694118 +L 266.599087 289.113168 +L 264.681664 288.379134 +L 262.764242 287.525712 +L 262.630209 287.457882 +L 260.846819 286.497395 +L 258.929396 285.343258 +L 258.746118 285.221647 +L 257.011973 283.986041 +L 255.723535 282.985412 +L 255.09455 282.455408 +L 253.219077 280.749176 +L 253.177128 280.70726 +L 251.259705 278.655517 +L 251.134398 278.512941 +L 249.371131 276.276706 +L 249.342282 276.23517 +L 247.899695 274.040471 +L 247.424859 273.200697 +L 246.673392 271.804235 +L 245.670986 269.568 +L 245.507436 269.109061 +L 244.901587 267.331765 +L 244.339299 265.095529 +L 243.979559 262.859294 +L 243.823991 260.623059 +L 243.873297 258.386824 +L 244.127256 256.150588 +L 244.58472 253.914353 +L 245.243621 251.678118 +L 245.507436 250.990017 +L 246.127942 249.441882 +L 247.227671 247.205647 +L 247.424859 246.865974 +L 248.581735 244.969412 +L 249.342282 243.883661 +L 250.193846 242.733176 +L 251.259705 241.452801 +L 252.105807 240.496941 +L 253.177128 239.402974 +L 254.375064 238.260706 +L 255.09455 237.63222 +L 257.011973 236.080897 +L 257.08799 236.024471 +L 258.929396 234.758163 +L 260.484189 233.788235 +L 260.846819 233.576624 +L 262.764242 232.575475 +L 264.681664 231.694964 +L 265.043623 231.552 +L 266.599087 230.972439 +L 268.51651 230.376272 +L 270.433933 229.90008 +L 272.351356 229.545236 +L 274.244018 229.315765 +L 274.268779 229.312911 +L 276.186201 229.208902 +L 278.103624 229.222136 +L 279.479951 229.315765 +L 280.021047 229.354494 +L 281.93847 229.614654 +L 283.855893 229.996985 +L 285.773315 230.500384 +L 287.690738 231.123402 +L 288.800024 231.552 +L 289.608161 231.882995 +L 291.525584 232.790965 +L 293.385712 233.788235 +L 293.443007 233.821073 +L 295.36043 235.045165 +L 296.755794 236.024471 +L 297.277852 236.419955 +L 299.195275 237.999571 +L 299.489437 238.260706 +L 301.112698 239.833703 +L 301.752892 240.496941 +L 303.030121 241.960846 +L 303.664772 242.733176 +L 304.947544 244.488845 +L 305.280275 244.969412 +L 306.628557 247.205647 +L 306.864966 247.66851 +L 307.728003 249.441882 +L 308.614987 251.678118 +L 308.782389 252.227289 +L 309.274845 253.914353 +L 309.728044 256.150588 +L 309.979635 258.386824 +L 310.028482 260.623059 +L 309.874364 262.859294 +L 309.517977 265.095529 +L 308.960932 267.331765 +L 308.782389 267.860458 +L 308.180208 269.568 +L 307.188224 271.804235 +L 306.864966 272.41126 +L 305.95442 274.040471 +L 304.947544 275.590235 +L 304.476891 276.276706 +L 303.030121 278.135489 +L 302.718192 278.512941 +L 301.112698 280.255899 +L 300.626928 280.749176 +L 299.195275 282.072816 +L 298.131646 282.985412 +L 297.277852 283.66058 +L 295.36043 285.05487 +L 295.108294 285.221647 +L 293.443007 286.247435 +L 291.525584 287.307794 +L 291.218307 287.457882 +L 289.608161 288.196888 +L 287.690738 288.958062 +L 285.773315 289.59818 +L 285.417655 289.694118 +L 283.855893 290.093118 +L 281.93847 290.46517 +L 280.021047 290.718335 +L 278.103624 290.851885 +L 276.186201 290.865434 +L 274.268779 290.758944 +L 272.351356 290.532721 +L 270.433933 290.187418 +L 268.51651 289.724029 z " style="fill:#67001f;"/> - <path clip-path="url(#p553f52e075)" d="M 74.396779 104.798331 -L 76.793557 104.240383 -L 76.974773 104.188235 -L 79.190336 103.529795 -L 81.587114 102.683469 -L 83.983893 101.705553 -L 84.896786 101.284034 -L 86.380671 100.572352 -L 88.77745 99.292397 -L 90.332298 98.379832 -L 91.174228 97.863372 -L 93.571007 96.264891 -L 94.669471 95.47563 -L 95.967785 94.494006 -L 98.346692 92.571429 -L 98.364564 92.556115 -L 100.761342 90.375976 -L 101.499807 89.667227 -L 103.158121 87.965482 -L 104.274762 86.763025 -L 105.554899 85.274774 -L 106.721332 83.858824 -L 107.951678 82.228112 -L 108.876072 80.954622 -L 110.348456 78.70988 -L 110.766371 78.05042 -L 112.402245 75.146218 -L 112.745235 74.446653 -L 113.793676 72.242017 -L 114.962959 69.337815 -L 115.142013 68.791673 -L 115.894672 66.433613 -L 116.606076 63.529412 -L 117.09869 60.62521 -L 117.370289 57.721008 -L 117.419645 54.816807 -L 117.246535 51.912605 -L 116.851742 49.008403 -L 116.237049 46.104202 -L 115.405233 43.2 -L 115.142013 43.2 -L 112.745235 43.2 -L 110.348456 43.2 -L 107.951678 43.2 -L 105.554899 43.2 -L 104.722449 43.2 -L 105.554899 45.643224 -L 105.70532 46.104202 -L 106.40562 49.008403 -L 106.855395 51.912605 -L 107.052614 54.816807 -L 106.996384 57.721008 -L 106.686961 60.62521 -L 106.125741 63.529412 -L 105.554899 65.574915 -L 105.304678 66.433613 -L 104.201959 69.337815 -L 103.158121 71.576446 -L 102.832455 72.242017 -L 101.153961 75.146218 -L 100.761342 75.737518 -L 99.140925 78.05042 -L 98.364564 79.03538 -L 96.758621 80.954622 -L 95.967785 81.808663 -L 93.938533 83.858824 -L 93.571007 84.198901 -L 91.174228 86.257459 -L 90.534255 86.763025 -L 88.77745 88.048536 -L 86.380671 89.644307 -L 86.34234 89.667227 -L 83.983893 90.986159 -L 81.587114 92.170564 -L 80.649791 92.571429 -L 79.190336 93.160142 -L 76.793557 93.973842 -L 74.396779 94.632085 -L 72 95.132976 -L 72 95.47563 -L 72 98.379832 -L 72 101.284034 -L 72 104.188235 -L 72 105.222902 + <path clip-path="url(#p0bba778d2e)" d="M 59.517423 88.902715 +L 61.434846 88.473095 +L 61.579818 88.432941 +L 63.352268 87.925942 +L 65.269691 87.274271 +L 67.187114 86.521276 +L 67.917429 86.196706 +L 69.104537 85.648711 +L 71.02196 84.663146 +L 72.265839 83.960471 +L 72.939383 83.562797 +L 74.856805 82.331966 +L 75.735577 81.724235 +L 76.774228 80.968385 +L 78.677353 79.488 +L 78.691651 79.476209 +L 80.609074 77.797501 +L 81.199846 77.251765 +L 82.526497 75.941421 +L 83.41981 75.015529 +L 84.443919 73.869576 +L 85.377066 72.779294 +L 86.361342 71.523646 +L 87.100858 70.543059 +L 88.278765 68.814608 +L 88.613097 68.306824 +L 89.921796 66.070588 +L 90.196188 65.531923 +L 91.034941 63.834353 +L 91.970367 61.598118 +L 92.113611 61.177588 +L 92.715738 59.361882 +L 93.284861 57.125647 +L 93.678952 54.889412 +L 93.896231 52.653176 +L 93.935716 50.416941 +L 93.797228 48.180706 +L 93.481393 45.944471 +L 92.989639 43.708235 +L 92.324186 41.472 +L 92.113611 41.472 +L 90.196188 41.472 +L 88.278765 41.472 +L 86.361342 41.472 +L 84.443919 41.472 +L 83.777959 41.472 +L 84.443919 43.353283 +L 84.564256 43.708235 +L 85.124496 45.944471 +L 85.484316 48.180706 +L 85.642091 50.416941 +L 85.597107 52.653176 +L 85.349568 54.889412 +L 84.900593 57.125647 +L 84.443919 58.700684 +L 84.243742 59.361882 +L 83.361567 61.598118 +L 82.526497 63.321864 +L 82.265964 63.834353 +L 80.923169 66.070588 +L 80.609074 66.525889 +L 79.31274 68.306824 +L 78.691651 69.065243 +L 77.406897 70.543059 +L 76.774228 71.200671 +L 75.150826 72.779294 +L 74.856805 73.041154 +L 72.939383 74.626244 +L 72.427404 75.015529 +L 71.02196 76.005373 +L 69.104537 77.234116 +L 69.073872 77.251765 +L 67.187114 78.267342 +L 65.269691 79.179334 +L 64.519833 79.488 +L 63.352268 79.94131 +L 61.434846 80.567858 +L 59.517423 81.074706 +L 57.6 81.460391 +L 57.6 81.724235 +L 57.6 83.960471 +L 57.6 86.196706 +L 57.6 88.432941 +L 57.6 89.229635 z " style="fill:#67001f;"/> - <path clip-path="url(#p553f52e075)" d="M 335.645638 104.392293 -L 338.042416 104.917033 -L 340.439195 105.308053 -L 342.835973 105.564226 -L 345.232752 105.684815 -L 347.62953 105.669472 -L 350.026309 105.518241 -L 352.423087 105.231557 -L 354.819866 104.810248 -L 357.216644 104.255527 -L 357.451569 104.188235 -L 359.613423 103.548722 -L 362.010201 102.70563 -L 364.40698 101.730882 -L 365.377445 101.284034 -L 366.803758 100.601877 -L 369.200537 99.325054 -L 370.814511 98.379832 -L 371.597315 97.900677 -L 373.994094 96.305262 -L 375.150728 95.47563 -L 376.390872 94.539593 -L 378.787651 92.605544 -L 378.82747 92.571429 -L 381.18443 90.430463 -L 381.980652 89.667227 -L 383.581208 88.026784 -L 384.756082 86.763025 -L 385.977987 85.344051 -L 387.202708 83.858824 -L 388.374765 82.306913 -L 389.357232 80.954622 -L 390.771544 78.800332 -L 391.247155 78.05042 -L 392.884322 75.146218 -L 393.168322 74.567427 -L 394.27497 72.242017 -L 395.445068 69.337815 -L 395.565101 68.971953 -L 396.375797 66.433613 -L 397.087634 63.529412 -L 397.580548 60.62521 -L 397.852312 57.721008 -L 397.901698 54.816807 -L 397.728483 51.912605 -L 397.333449 49.008403 -L 396.718382 46.104202 -L 395.886059 43.2 -L 395.565101 43.2 -L 393.168322 43.2 -L 390.771544 43.2 -L 388.374765 43.2 -L 385.977987 43.2 -L 385.204267 43.2 -L 385.977987 45.46833 -L 386.185683 46.104202 -L 386.886681 49.008403 -L 387.336904 51.912605 -L 387.534319 54.816807 -L 387.478033 57.721008 -L 387.168302 60.62521 -L 386.606523 63.529412 -L 385.977987 65.779412 -L 385.787143 66.433613 -L 384.683197 69.337815 -L 383.581208 71.698533 -L 383.31495 72.242017 -L 381.634377 75.146218 -L 381.18443 75.823019 -L 379.621761 78.05042 -L 378.787651 79.107187 -L 377.239417 80.954622 -L 376.390872 81.869578 -L 374.418535 83.858824 -L 373.994094 84.250893 -L 371.597315 86.305502 -L 371.016905 86.763025 -L 369.200537 88.08925 -L 366.824673 89.667227 -L 366.803758 89.680218 -L 364.40698 91.016837 -L 362.010201 92.197404 -L 361.132282 92.571429 -L 359.613423 93.181764 -L 357.216644 93.991708 -L 354.819866 94.646144 -L 352.423087 95.143187 -L 350.067226 95.47563 -L 350.026309 95.481117 -L 347.62953 95.650669 -L 345.232752 95.667871 -L 342.835973 95.532674 -L 342.35994 95.47563 -L 340.439195 95.233433 -L 338.042416 94.772124 -L 335.645638 94.153058 -L 333.248859 93.378021 -L 331.167387 92.571429 -L 330.852081 92.441886 -L 328.455302 91.297023 -L 326.058523 89.9953 -L 325.518034 89.667227 -L 323.661745 88.462481 -L 321.286341 86.763025 -L 321.264966 86.746516 -L 318.868188 84.728707 -L 317.911168 83.858824 -L 316.471409 82.429956 -L 315.083254 80.954622 -L 314.074631 79.768339 -L 312.700979 78.05042 -L 311.677852 76.610855 -L 310.692737 75.146218 -L 309.281074 72.734958 -L 309.006422 72.242017 -L 307.63649 69.337815 -L 306.884295 67.379554 -L 306.536732 66.433613 -L 305.71781 63.529412 -L 305.150745 60.62521 -L 304.838099 57.721008 -L 304.781284 54.816807 -L 304.980556 51.912605 -L 305.435016 49.008403 -L 306.142611 46.104202 -L 306.884295 43.854668 -L 307.109946 43.2 -L 306.884295 43.2 -L 304.487517 43.2 -L 302.090738 43.2 -L 299.69396 43.2 -L 297.297181 43.2 -L 296.438959 43.2 -L 295.601834 46.104202 -L 294.983218 49.008403 -L 294.900403 49.613748 -L 294.593407 51.912605 -L 294.423349 54.816807 -L 294.471835 57.721008 -L 294.738646 60.62521 -L 294.900403 61.595955 -L 295.230451 63.529412 -L 295.946396 66.433613 -L 296.879292 69.337815 -L 297.297181 70.397171 -L 298.045367 72.242017 -L 299.436572 75.146218 -L 299.69396 75.613904 -L 301.077738 78.05042 -L 302.090738 79.63581 -L 302.963825 80.954622 -L 304.487517 83.034392 -L 305.116016 83.858824 -L 306.884295 85.983237 -L 307.56284 86.763025 -L 309.281074 88.592036 -L 310.342407 89.667227 -L 311.677852 90.93253 -L 313.505634 92.571429 -L 314.074631 93.052648 -L 316.471409 94.95896 -L 317.16707 95.47563 -L 318.868188 96.676288 -L 321.264966 98.243127 -L 321.492898 98.379832 -L 323.661745 99.624419 -L 326.058523 100.872095 -L 326.942933 101.284034 -L 328.455302 101.962221 -L 330.852081 102.907489 -L 333.248859 103.720521 -L 334.901161 104.188235 + <path clip-path="url(#p0bba778d2e)" d="M 268.51651 88.590066 +L 270.433933 88.994115 +L 272.351356 89.2952 +L 274.268779 89.492454 +L 276.186201 89.585308 +L 278.103624 89.573493 +L 280.021047 89.457045 +L 281.93847 89.236299 +L 283.855893 88.911891 +L 285.773315 88.484756 +L 285.961255 88.432941 +L 287.690738 87.940516 +L 289.608161 87.291335 +L 291.525584 86.540779 +L 292.301956 86.196706 +L 293.443007 85.671445 +L 295.36043 84.688291 +L 296.651608 83.960471 +L 297.277852 83.591522 +L 299.195275 82.363052 +L 300.120582 81.724235 +L 301.112698 81.003486 +L 303.030121 79.514269 +L 303.061976 79.488 +L 304.947544 77.839457 +L 305.584521 77.251765 +L 306.864966 75.988624 +L 307.804865 75.015529 +L 308.782389 73.922919 +L 309.762166 72.779294 +L 310.699812 71.584323 +L 311.485786 70.543059 +L 312.617235 68.884256 +L 312.997724 68.306824 +L 314.307458 66.070588 +L 314.534658 65.624919 +L 315.419976 63.834353 +L 316.356054 61.598118 +L 316.452081 61.316404 +L 317.100637 59.361882 +L 317.670107 57.125647 +L 318.064439 54.889412 +L 318.28185 52.653176 +L 318.321359 50.416941 +L 318.182787 48.180706 +L 317.86676 45.944471 +L 317.374705 43.708235 +L 316.708847 41.472 +L 316.452081 41.472 +L 314.534658 41.472 +L 312.617235 41.472 +L 310.699812 41.472 +L 308.782389 41.472 +L 308.163413 41.472 +L 308.782389 43.218614 +L 308.948546 43.708235 +L 309.509345 45.944471 +L 309.869523 48.180706 +L 310.027455 50.416941 +L 309.982427 52.653176 +L 309.734641 54.889412 +L 309.285218 57.125647 +L 308.782389 58.858147 +L 308.629714 59.361882 +L 307.746558 61.598118 +L 306.864966 63.415871 +L 306.65196 63.834353 +L 305.307501 66.070588 +L 304.947544 66.591724 +L 303.697409 68.306824 +L 303.030121 69.120534 +L 301.791534 70.543059 +L 301.112698 71.247575 +L 299.534828 72.779294 +L 299.195275 73.081187 +L 297.277852 74.663237 +L 296.813524 75.015529 +L 295.36043 76.036723 +L 293.459738 77.251765 +L 293.443007 77.261768 +L 291.525584 78.290964 +L 289.608161 79.200001 +L 288.905826 79.488 +L 287.690738 79.957958 +L 285.773315 80.581615 +L 283.855893 81.085531 +L 281.93847 81.468254 +L 280.053781 81.724235 +L 280.021047 81.72846 +L 278.103624 81.859015 +L 276.186201 81.872261 +L 274.268779 81.768159 +L 273.887952 81.724235 +L 272.351356 81.537743 +L 270.433933 81.182535 +L 268.51651 80.705855 +L 266.599087 80.109076 +L 264.93391 79.488 +L 264.681664 79.388252 +L 262.764242 78.506708 +L 260.846819 77.504381 +L 260.414428 77.251765 +L 258.929396 76.324111 +L 257.029073 75.015529 +L 257.011973 75.002817 +L 255.09455 73.449104 +L 254.328935 72.779294 +L 253.177128 71.679066 +L 252.066603 70.543059 +L 251.259705 69.629621 +L 250.160783 68.306824 +L 249.342282 67.198358 +L 248.55419 66.070588 +L 247.424859 64.213918 +L 247.205138 63.834353 +L 246.109192 61.598118 +L 245.507436 60.090257 +L 245.229386 59.361882 +L 244.574248 57.125647 +L 244.120596 54.889412 +L 243.870479 52.653176 +L 243.825027 50.416941 +L 243.984445 48.180706 +L 244.348013 45.944471 +L 244.914089 43.708235 +L 245.507436 41.976094 +L 245.687957 41.472 +L 245.507436 41.472 +L 243.590013 41.472 +L 241.672591 41.472 +L 239.755168 41.472 +L 237.837745 41.472 +L 237.151167 41.472 +L 236.481467 43.708235 +L 235.986574 45.944471 +L 235.920322 46.410586 +L 235.674726 48.180706 +L 235.538679 50.416941 +L 235.577468 52.653176 +L 235.790917 54.889412 +L 235.920322 55.636885 +L 236.184361 57.125647 +L 236.757117 59.361882 +L 237.503434 61.598118 +L 237.837745 62.413821 +L 238.436294 63.834353 +L 239.549257 66.070588 +L 239.755168 66.430706 +L 240.862191 68.306824 +L 241.672591 69.527574 +L 242.37106 70.543059 +L 243.590013 72.144482 +L 244.092813 72.779294 +L 245.507436 74.415093 +L 246.050272 75.015529 +L 247.424859 76.423868 +L 248.273926 77.251765 +L 249.342282 78.226048 +L 250.804507 79.488 +L 251.259705 79.858539 +L 253.177128 81.326399 +L 253.733656 81.724235 +L 255.09455 82.648742 +L 257.011973 83.855208 +L 257.194318 83.960471 +L 258.929396 84.918803 +L 260.846819 85.879513 +L 261.554346 86.196706 +L 262.764242 86.71891 +L 264.681664 87.446767 +L 266.599087 88.072801 +L 267.920929 88.432941 z " style="fill:#67001f;"/> </g> <g id="PathCollection_4"> - <path clip-path="url(#p553f52e075)" d="M 342.835973 386.094705 -L 345.232752 386.206871 -L 347.62953 386.1926 -L 350.026309 386.051932 -L 351.42967 385.895798 -L 352.423087 385.783687 -L 354.819866 385.386182 -L 357.216644 384.862803 -L 359.613423 384.215058 -L 362.010201 383.444814 -L 363.230006 382.991597 -L 364.40698 382.545881 -L 366.803758 381.518254 -L 369.200537 380.373612 -L 369.745691 380.087395 -L 371.597315 379.091602 -L 373.994094 377.689861 -L 374.798063 377.183193 -L 376.390872 376.149575 -L 378.787651 374.486764 -L 379.069716 374.278992 -L 381.18443 372.666072 -L 382.788756 371.37479 -L 383.581208 370.710422 -L 385.977987 368.601568 -L 386.120536 368.470588 -L 388.374765 366.299149 -L 389.106543 365.566387 -L 390.771544 363.806054 -L 391.816739 362.662185 -L 393.168322 361.087996 -L 394.275853 359.757983 -L 395.565101 358.095458 -L 396.50245 356.853782 -L 397.961879 354.756201 -L 398.510138 353.94958 -L 400.307417 351.045378 -L 400.358658 350.953088 -L 401.88894 348.141176 -L 402.755436 346.33363 -L 403.272395 345.236975 -L 404.450072 342.332773 -L 405.152215 340.254127 -L 405.427291 339.428571 -L 406.196602 336.52437 -L 406.764066 333.620168 -L 407.127118 330.715966 -L 407.284118 327.811765 -L 407.234358 324.907563 -L 406.978061 322.003361 -L 406.516386 319.09916 -L 405.851419 316.194958 -L 405.152215 313.848103 -L 404.983877 313.290756 -L 403.907626 310.386555 -L 402.755436 307.752735 -L 402.635152 307.482353 -L 401.151498 304.578151 -L 400.358658 303.19823 -L 399.465172 301.67395 -L 397.961879 299.355836 -L 397.572816 298.769748 -L 395.565101 295.999086 -L 395.465697 295.865546 -L 393.168322 293.00625 -L 393.131121 292.961345 -L 390.771544 290.297041 -L 390.551618 290.057143 -L 388.374765 287.817134 -L 387.703788 287.152941 -L 385.977987 285.529249 -L 384.556678 284.248739 -L 383.581208 283.407777 -L 381.18443 281.438949 -L 381.063143 281.344538 -L 378.787651 279.63905 -L 377.089542 278.440336 -L 376.390872 277.962721 -L 373.994094 276.430168 -L 372.487453 275.536134 -L 371.597315 275.021858 -L 369.200537 273.748519 -L 366.890012 272.631933 -L 366.803758 272.591141 -L 364.40698 271.573512 -L 362.010201 270.674693 -L 359.613423 269.897272 -L 358.99188 269.727731 -L 357.216644 269.251522 -L 354.819866 268.732026 -L 352.423087 268.33747 -L 350.026309 268.068991 -L 347.62953 267.927363 -L 345.232752 267.912994 -L 342.835973 268.025926 -L 340.439195 268.265833 -L 338.042416 268.632023 -L 335.645638 269.123441 -L 333.291479 269.727731 -L 333.248859 269.738856 -L 330.852081 270.488557 -L 328.455302 271.360194 -L 326.058523 272.351255 -L 325.451169 272.631933 -L 323.661745 273.47695 -L 321.264966 274.724629 -L 319.834754 275.536134 -L 318.868188 276.099416 -L 316.471409 277.607449 -L 315.23531 278.440336 -L 314.074631 279.247922 -L 311.677852 281.021178 -L 311.264232 281.344538 -L 309.281074 282.954742 -L 307.764338 284.248739 -L 306.884295 285.033359 -L 304.610221 287.152941 -L 304.487517 287.273272 -L 302.090738 289.719037 -L 301.770948 290.057143 -L 299.69396 292.38498 -L 299.195631 292.961345 -L 297.297181 295.308664 -L 296.859095 295.865546 -L 294.900403 298.553049 -L 294.746237 298.769748 -L 292.853474 301.67395 -L 292.503624 302.26783 -L 291.17059 304.578151 -L 290.106846 306.651605 -L 289.688043 307.482353 -L 288.4131 310.386555 -L 287.710067 312.276996 -L 287.33844 313.290756 -L 286.470742 316.194958 -L 285.803898 319.09916 -L 285.34092 322.003361 -L 285.313289 322.315587 -L 285.086482 324.907563 -L 285.037143 327.811765 -L 285.192814 330.715966 -L 285.313289 331.687916 -L 285.55552 333.620168 -L 286.124585 336.52437 -L 286.896067 339.428571 -L 287.710067 341.864664 -L 287.868745 342.332773 -L 289.050567 345.236975 -L 290.106846 347.469863 -L 290.430022 348.141176 -L 292.01723 351.045378 -L 292.503624 351.843839 -L 293.813271 353.94958 -L 294.900403 355.541075 -L 295.819011 356.853782 -L 297.297181 358.800632 -L 298.044478 359.757983 -L 299.69396 361.725838 -L 300.503901 362.662185 -L 302.090738 364.385958 -L 303.216621 365.566387 -L 304.487517 366.828389 -L 306.208371 368.470588 -L 306.884295 369.085861 -L 309.281074 371.172789 -L 309.52484 371.37479 -L 311.677852 373.087637 -L 313.260228 374.278992 -L 314.074631 374.871164 -L 316.471409 376.510129 -L 317.525469 377.183193 -L 318.868188 378.015846 -L 321.264966 379.39248 -L 322.583698 380.087395 -L 323.661745 380.641986 -L 326.058523 381.760497 -L 328.455302 382.761295 -L 329.08241 382.991597 -L 330.852081 383.629232 -L 333.248859 384.372012 -L 335.645638 384.991841 -L 338.042416 385.486933 -L 340.439195 385.855861 -L 340.835232 385.895798 + <path clip-path="url(#p0bba778d2e)" d="M 274.268779 305.500923 +L 276.186201 305.587291 +L 278.103624 305.576302 +L 280.021047 305.467988 +L 281.143736 305.347765 +L 281.93847 305.261439 +L 283.855893 304.95536 +L 285.773315 304.552358 +L 287.690738 304.053595 +L 289.608161 303.460507 +L 290.584004 303.111529 +L 291.525584 302.768328 +L 293.443007 301.977055 +L 295.36043 301.095681 +L 295.796553 300.875294 +L 297.277852 300.108534 +L 299.195275 299.029193 +L 299.838451 298.639059 +L 301.112698 297.843173 +L 303.030121 296.562808 +L 303.255773 296.402824 +L 304.947544 295.160875 +L 306.231005 294.166588 +L 306.864966 293.655025 +L 308.782389 292.031207 +L 308.896429 291.930353 +L 310.699812 290.258345 +L 311.285234 289.694118 +L 312.617235 288.338662 +L 313.453391 287.457882 +L 314.534658 286.245757 +L 315.420683 285.221647 +L 316.452081 283.941503 +L 317.20196 282.985412 +L 318.369503 281.370275 +L 318.808111 280.749176 +L 320.245934 278.512941 +L 320.286926 278.441878 +L 321.511152 276.276706 +L 322.204349 274.884895 +L 322.617916 274.040471 +L 323.560058 271.804235 +L 324.121772 270.203678 +L 324.341833 269.568 +L 324.957282 267.331765 +L 325.411253 265.095529 +L 325.701694 262.859294 +L 325.827295 260.623059 +L 325.787486 258.386824 +L 325.582449 256.150588 +L 325.213109 253.914353 +L 324.681135 251.678118 +L 324.121772 249.871039 +L 323.987102 249.441882 +L 323.126101 247.205647 +L 322.204349 245.177606 +L 322.108122 244.969412 +L 320.921199 242.733176 +L 320.286926 241.670637 +L 319.572138 240.496941 +L 318.369503 238.711994 +L 318.058253 238.260706 +L 316.452081 236.127296 +L 316.372557 236.024471 +L 314.534658 233.822813 +L 314.504897 233.788235 +L 312.617235 231.736721 +L 312.441295 231.552 +L 310.699812 229.827193 +L 310.16303 229.315765 +L 308.782389 228.065521 +L 307.645343 227.079529 +L 306.864966 226.431988 +L 304.947544 224.915991 +L 304.850515 224.843294 +L 303.030121 223.530069 +L 301.671634 222.607059 +L 301.112698 222.239295 +L 299.195275 221.059229 +L 297.989962 220.370824 +L 297.277852 219.974831 +L 295.36043 218.99436 +L 293.512009 218.134588 +L 293.443007 218.103179 +L 291.525584 217.319605 +L 289.608161 216.627513 +L 287.690738 216.0289 +L 287.193504 215.898353 +L 285.773315 215.531672 +L 283.855893 215.13166 +L 281.93847 214.827852 +L 280.021047 214.621123 +L 278.103624 214.51207 +L 276.186201 214.501006 +L 274.268779 214.587963 +L 272.351356 214.772691 +L 270.433933 215.054657 +L 268.51651 215.43305 +L 266.633183 215.898353 +L 266.599087 215.906919 +L 264.681664 216.484189 +L 262.764242 217.155349 +L 260.846819 217.918466 +L 260.360935 218.134588 +L 258.929396 218.785251 +L 257.011973 219.745965 +L 255.867803 220.370824 +L 255.09455 220.804551 +L 253.177128 221.965735 +L 252.188248 222.607059 +L 251.259705 223.2289 +L 249.342282 224.594307 +L 249.011386 224.843294 +L 247.424859 226.083151 +L 246.211471 227.079529 +L 245.507436 227.683687 +L 243.688176 229.315765 +L 243.590013 229.408419 +L 241.672591 231.291658 +L 241.416759 231.552 +L 239.755168 233.344434 +L 239.356505 233.788235 +L 237.837745 235.595671 +L 237.487276 236.024471 +L 235.920322 238.093848 +L 235.79699 238.260706 +L 234.282779 240.496941 +L 234.002899 240.954229 +L 232.936472 242.733176 +L 232.085477 244.329736 +L 231.750434 244.969412 +L 230.73048 247.205647 +L 230.168054 248.661287 +L 229.870752 249.441882 +L 229.176594 251.678118 +L 228.643118 253.914353 +L 228.272736 256.150588 +L 228.250631 256.391002 +L 228.069186 258.386824 +L 228.029714 260.623059 +L 228.154252 262.859294 +L 228.250631 263.607695 +L 228.444416 265.095529 +L 228.899668 267.331765 +L 229.516854 269.568 +L 230.168054 271.443792 +L 230.294996 271.804235 +L 231.240454 274.040471 +L 232.085477 275.759795 +L 232.344018 276.276706 +L 233.613784 278.512941 +L 234.002899 279.127756 +L 235.050617 280.749176 +L 235.920322 281.974628 +L 236.655209 282.985412 +L 237.837745 284.484487 +L 238.435583 285.221647 +L 239.755168 286.736896 +L 240.403121 287.457882 +L 241.672591 288.785188 +L 242.573297 289.694118 +L 243.590013 290.665859 +L 244.966696 291.930353 +L 245.507436 292.404113 +L 247.424859 294.011048 +L 247.619872 294.166588 +L 249.342282 295.485481 +L 250.608182 296.402824 +L 251.259705 296.858796 +L 253.177128 298.120799 +L 254.020375 298.639059 +L 255.09455 299.280202 +L 257.011973 300.34021 +L 258.066958 300.875294 +L 258.929396 301.302329 +L 260.846819 302.163583 +L 262.764242 302.934197 +L 263.265928 303.111529 +L 264.681664 303.602509 +L 266.599087 304.174449 +L 268.51651 304.651718 +L 270.433933 305.032938 +L 272.351356 305.317013 +L 272.668185 305.347765 z -M 330.662611 374.278992 -L 328.455302 373.393687 -L 326.058523 372.300683 -L 324.241866 371.37479 -L 323.661745 371.066816 -L 321.264966 369.664176 -L 319.393763 368.470588 -L 318.868188 368.119124 -L 316.471409 366.388663 -L 315.40792 365.566387 -L 314.074631 364.477946 -L 311.982872 362.662185 -L 311.677852 362.380405 -L 309.281074 360.040756 -L 309.005388 359.757983 -L 306.884295 357.421757 -L 306.391025 356.853782 -L 304.487517 354.475687 -L 304.082818 353.94958 -L 302.090738 351.105269 -L 302.050254 351.045378 -L 300.288978 348.141176 -L 299.69396 347.027337 -L 298.76716 345.236975 -L 297.4739 342.332773 -L 297.297181 341.856364 -L 296.421219 339.428571 -L 295.588172 336.52437 -L 294.973695 333.620168 -L 294.900403 333.078729 -L 294.588195 330.715966 -L 294.422243 327.811765 -L 294.474841 324.907563 -L 294.74575 322.003361 -L 294.900403 321.082984 -L 295.241894 319.09916 -L 295.961952 316.194958 -L 296.898893 313.290756 -L 297.297181 312.284561 -L 298.069584 310.386555 -L 299.464745 307.482353 -L 299.69396 307.066855 -L 301.110764 304.578151 -L 302.090738 303.047583 -L 303.001982 301.67395 -L 304.487517 299.649846 -L 305.159641 298.769748 -L 306.884295 296.700932 -L 307.612338 295.865546 -L 309.281074 294.09161 -L 310.398272 292.961345 -L 311.677852 291.750395 -L 313.568471 290.057143 -L 314.074631 289.629506 -L 316.471409 287.725147 -L 317.242636 287.152941 -L 318.868188 286.006641 -L 321.264966 284.441198 -L 321.586142 284.248739 -L 323.661745 283.058577 -L 326.058523 281.811862 -L 327.062613 281.344538 -L 328.455302 280.720429 -L 330.852081 279.775782 -L 333.248859 278.963285 -L 335.097505 278.440336 -L 335.645638 278.290178 -L 338.042416 277.765729 -L 340.439195 277.374925 -L 342.835973 277.118893 -L 345.232752 276.998371 -L 347.62953 277.013706 -L 350.026309 277.164853 -L 352.423087 277.451378 -L 354.819866 277.872454 -L 357.216644 278.426869 -L 357.263687 278.440336 -L 359.613423 279.134971 -L 362.010201 279.977509 -L 364.40698 280.951615 -L 365.260889 281.344538 -L 366.803758 282.081871 -L 369.200537 283.357712 -L 370.723145 284.248739 -L 371.597315 284.783342 -L 373.994094 286.377335 -L 375.076371 287.152941 -L 376.390872 288.144085 -L 378.764071 290.057143 -L 378.787651 290.077293 -L 381.18443 292.251873 -L 381.925433 292.961345 -L 383.581208 294.656103 -L 384.707098 295.865546 -L 385.977987 297.339135 -L 387.159489 298.769748 -L 388.374765 300.376039 -L 389.319393 301.67395 -L 390.771544 303.881353 -L 391.214375 304.578151 -L 392.855464 307.482353 -L 393.168322 308.118149 -L 394.250912 310.386555 -L 395.425049 313.290756 -L 395.565101 313.715793 -L 396.360329 316.194958 -L 397.076257 319.09916 -L 397.573312 322.003361 -L 397.849251 324.907563 -L 397.902824 327.811765 -L 397.733792 330.715966 -L 397.342917 333.620168 -L 396.731966 336.52437 -L 395.903698 339.428571 -L 395.565101 340.372431 -L 394.842694 342.332773 -L 393.557906 345.236975 -L 393.168322 345.994522 -L 392.030069 348.141176 -L 390.771544 350.231881 -L 390.264641 351.045378 -L 388.374765 353.766434 -L 388.242536 353.94958 -L 385.977987 356.805353 -L 385.937883 356.853782 -L 383.581208 359.476755 -L 383.316024 359.757983 -L 381.18443 361.863137 -L 380.33062 362.662185 -L 378.787651 364.019042 -L 376.919408 365.566387 -L 376.390872 365.980989 -L 373.994094 367.739588 -L 372.920544 368.470588 -L 371.597315 369.330033 -L 369.200537 370.761518 -L 368.071707 371.37479 -L 366.803758 372.036121 -L 364.40698 373.158426 -L 362.010201 374.149701 -L 361.648778 374.278992 -L 359.613423 374.982172 -L 357.216644 375.678527 -L 354.819866 376.241183 -L 352.423087 376.668519 -L 350.026309 376.959304 -L 347.62953 377.112698 -L 345.232752 377.128261 -L 342.835973 377.005947 -L 340.439195 376.746109 -L 338.042416 376.349495 -L 335.645638 375.817249 -L 333.248859 375.150905 -L 330.852081 374.352383 +M 264.530089 296.402824 +L 262.764242 295.721139 +L 260.846819 294.879526 +L 259.393493 294.166588 +L 258.929396 293.929448 +L 257.011973 292.849416 +L 255.51501 291.930353 +L 255.09455 291.659726 +L 253.177128 290.32727 +L 252.326336 289.694118 +L 251.259705 288.856019 +L 249.586297 287.457882 +L 249.342282 287.240912 +L 247.424859 285.439382 +L 247.20431 285.221647 +L 245.507436 283.422753 +L 245.11282 282.985412 +L 243.590013 281.154279 +L 243.266255 280.749176 +L 241.672591 278.559057 +L 241.640203 278.512941 +L 240.231182 276.276706 +L 239.755168 275.41905 +L 239.013728 274.040471 +L 237.97912 271.804235 +L 237.837745 271.437401 +L 237.136975 269.568 +L 236.470537 267.331765 +L 235.978956 265.095529 +L 235.920322 264.678621 +L 235.670556 262.859294 +L 235.537794 260.623059 +L 235.579873 258.386824 +L 235.7966 256.150588 +L 235.920322 255.441897 +L 236.193515 253.914353 +L 236.769562 251.678118 +L 237.519114 249.441882 +L 237.837745 248.667112 +L 238.455667 247.205647 +L 239.571796 244.969412 +L 239.755168 244.649478 +L 240.888611 242.733176 +L 241.672591 241.554639 +L 242.401586 240.496941 +L 243.590013 238.938381 +L 244.127713 238.260706 +L 245.507436 236.667717 +L 246.089871 236.024471 +L 247.424859 234.65854 +L 248.318618 233.788235 +L 249.342282 232.855804 +L 250.854777 231.552 +L 251.259705 231.22272 +L 253.177128 229.756363 +L 253.794109 229.315765 +L 255.09455 228.433113 +L 257.011973 227.227722 +L 257.268914 227.079529 +L 258.929396 226.163104 +L 260.846819 225.203133 +L 261.65009 224.843294 +L 262.764242 224.36273 +L 264.681664 223.635352 +L 266.599087 223.00973 +L 268.078004 222.607059 +L 268.51651 222.491437 +L 270.433933 222.087611 +L 272.351356 221.786693 +L 274.268779 221.589548 +L 276.186201 221.496746 +L 278.103624 221.508553 +L 280.021047 221.624937 +L 281.93847 221.845561 +L 283.855893 222.16979 +L 285.773315 222.596689 +L 285.81095 222.607059 +L 287.690738 223.141928 +L 289.608161 223.790682 +L 291.525584 224.540744 +L 292.208711 224.843294 +L 293.443007 225.411041 +L 295.36043 226.393438 +L 296.578516 227.079529 +L 297.277852 227.491173 +L 299.195275 228.718548 +L 300.061097 229.315765 +L 301.112698 230.078945 +L 303.011256 231.552 +L 303.030121 231.567516 +L 304.947544 233.241942 +L 305.540347 233.788235 +L 306.864966 235.0932 +L 307.765678 236.024471 +L 308.782389 237.159134 +L 309.727591 238.260706 +L 310.699812 239.49755 +L 311.455515 240.496941 +L 312.617235 242.196641 +L 312.9715 242.733176 +L 314.284371 244.969412 +L 314.534658 245.458975 +L 315.40073 247.205647 +L 316.340039 249.441882 +L 316.452081 249.769161 +L 317.088263 251.678118 +L 317.661005 253.914353 +L 318.05865 256.150588 +L 318.2794 258.386824 +L 318.32226 260.623059 +L 318.187034 262.859294 +L 317.874334 265.095529 +L 317.385573 267.331765 +L 316.722958 269.568 +L 316.452081 270.294772 +L 315.874155 271.804235 +L 314.846325 274.040471 +L 314.534658 274.623782 +L 313.624055 276.276706 +L 312.617235 277.886548 +L 312.211713 278.512941 +L 310.699812 280.608154 +L 310.594029 280.749176 +L 308.782389 282.948122 +L 308.750307 282.985412 +L 306.864966 285.005102 +L 306.652819 285.221647 +L 304.947544 286.842615 +L 304.264496 287.457882 +L 303.030121 288.502662 +L 301.535526 289.694118 +L 301.112698 290.013361 +L 299.195275 291.367483 +L 298.336435 291.930353 +L 297.277852 292.592125 +L 295.36043 293.694369 +L 294.457366 294.166588 +L 293.443007 294.675813 +L 291.525584 295.539988 +L 289.608161 296.30327 +L 289.319023 296.402824 +L 287.690738 296.944273 +L 285.773315 297.480466 +L 283.855893 297.913711 +L 281.93847 298.24276 +L 280.021047 298.466664 +L 278.103624 298.584778 +L 276.186201 298.596761 +L 274.268779 298.502579 +L 272.351356 298.302504 +L 270.433933 297.997111 +L 268.51651 297.587282 +L 266.599087 297.074197 +L 264.681664 296.459335 z " style="fill:#67001f;"/> - <path clip-path="url(#p553f52e075)" d="M 74.396779 385.374938 -L 76.793557 384.848514 -L 79.190336 384.197766 -L 81.587114 383.424569 -L 82.748653 382.991597 -L 83.983893 382.522295 -L 86.380671 381.491785 -L 88.77745 380.344336 -L 89.265786 380.087395 -L 91.174228 379.058825 -L 93.571007 377.65439 -L 94.317411 377.183193 -L 95.967785 376.110381 -L 98.364564 374.445014 -L 98.58964 374.278992 -L 100.761342 372.620321 -L 102.306911 371.37479 -L 103.158121 370.660277 -L 105.554899 368.549078 -L 105.640238 368.470588 -L 107.951678 366.241821 -L 108.625605 365.566387 -L 110.348456 363.743272 -L 111.335505 362.662185 -L 112.745235 361.018975 -L 113.794559 359.757983 -L 115.142013 358.019186 -L 116.021249 356.853782 -L 117.538792 354.671346 -L 118.029117 353.94958 -L 119.825451 351.045378 -L 119.93557 350.846937 -L 121.407427 348.141176 -L 122.332349 346.21089 -L 122.791279 345.236975 -L 123.968521 342.332773 -L 124.729128 340.080219 -L 124.946193 339.428571 -L 125.715278 336.52437 -L 126.282575 333.620168 -L 126.64552 330.715966 -L 126.802474 327.811765 -L 126.752728 324.907563 -L 126.496507 322.003361 -L 126.034968 319.09916 -L 125.370197 316.194958 -L 124.729128 314.042598 -L 124.50213 313.290756 -L 123.426276 310.386555 -L 122.332349 307.884996 -L 122.153306 307.482353 -L 120.670314 304.578151 -L 119.93557 303.298776 -L 118.983649 301.67395 -L 117.538792 299.444773 -L 117.090963 298.769748 -L 115.142013 296.078544 -L 114.983573 295.865546 -L 112.745235 293.077784 -L 112.648849 292.961345 -L 110.348456 290.361816 -L 110.069396 290.057143 -L 107.951678 287.876046 -L 107.221914 287.152941 -L 105.554899 285.582995 -L 104.07558 284.248739 -L 103.158121 283.456909 -L 100.761342 281.485642 -L 100.580321 281.344538 -L 98.364564 279.68153 -L 96.608976 278.440336 -L 95.967785 278.00134 -L 93.571007 276.466157 -L 92.006722 275.536134 -L 91.174228 275.054237 -L 88.77745 273.778143 -L 86.411425 272.631933 -L 86.380671 272.617353 -L 83.983893 271.596869 -L 81.587114 270.695127 -L 79.190336 269.914725 -L 78.507974 269.727731 -L 76.793557 269.265704 -L 74.396779 268.743186 -L 72 268.345576 -L 72 269.727731 -L 72 272.631933 -L 72 275.536134 -L 72 277.460029 -L 74.396779 277.884365 -L 76.786388 278.440336 -L 76.793557 278.442058 -L 79.190336 279.153886 -L 81.587114 279.999655 -L 83.983893 280.976928 -L 84.780556 281.344538 -L 86.380671 282.111374 -L 88.77745 283.390343 -L 90.24113 284.248739 -L 91.174228 284.820614 -L 93.571007 286.417671 -L 94.595242 287.152941 -L 95.967785 288.189625 -L 98.280934 290.057143 -L 98.364564 290.128716 -L 100.761342 292.306296 -L 101.444657 292.961345 -L 103.158121 294.717323 -L 104.225833 295.865546 -L 105.554899 297.408306 -L 106.678157 298.769748 -L 107.951678 300.454701 -L 108.838267 301.67395 -L 110.348456 303.97162 -L 110.733617 304.578151 -L 112.37341 307.482353 -L 112.745235 308.238581 -L 113.769635 310.386555 -L 114.942954 313.290756 -L 115.142013 313.895296 -L 115.879214 316.194958 -L 116.594706 319.09916 -L 117.091459 322.003361 -L 117.367229 324.907563 -L 117.42077 327.811765 -L 117.251841 330.715966 -L 116.861204 333.620168 -L 116.250625 336.52437 -L 115.422861 339.428571 -L 115.142013 340.211929 -L 114.361004 342.332773 -L 113.077112 345.236975 -L 112.745235 345.882761 -L 111.548667 348.141176 -L 110.348456 350.136581 -L 109.782674 351.045378 -L 107.951678 353.684004 -L 107.760126 353.94958 -L 105.554899 356.733312 -L 105.455251 356.853782 -L 103.158121 359.413325 -L 102.833527 359.757983 -L 100.761342 361.807 -L 99.848807 362.662185 -L 98.364564 363.969201 -L 96.439103 365.566387 -L 95.967785 365.936673 -L 93.571007 367.698291 -L 92.438983 368.470588 -L 91.174228 369.293632 -L 88.77745 370.728214 -L 87.59023 371.37479 -L 86.380671 372.007213 -L 83.983893 373.132667 -L 81.587114 374.127165 -L 81.164314 374.278992 -L 79.190336 374.963583 -L 76.793557 375.663167 -L 74.396779 376.229096 -L 72 376.65974 -L 72 377.183193 -L 72 380.087395 -L 72 382.991597 -L 72 385.775521 + <path clip-path="url(#p0bba778d2e)" d="M 59.517423 304.946703 +L 61.434846 304.541356 +L 63.352268 304.04028 +L 65.269691 303.444918 +L 66.198922 303.111529 +L 67.187114 302.750167 +L 69.104537 301.956674 +L 71.02196 301.073139 +L 71.412629 300.875294 +L 72.939383 300.083296 +L 74.856805 299.00188 +L 75.453929 298.639059 +L 76.774228 297.812994 +L 78.691651 296.530661 +L 78.871712 296.402824 +L 80.609074 295.125647 +L 81.845529 294.166588 +L 82.526497 293.616414 +L 84.443919 291.99079 +L 84.51219 291.930353 +L 86.361342 290.214202 +L 86.900484 289.694118 +L 88.278765 288.290319 +L 89.068404 287.457882 +L 90.196188 286.192611 +L 91.035647 285.221647 +L 92.113611 283.882773 +L 92.816999 282.985412 +L 94.031034 281.304937 +L 94.423294 280.749176 +L 95.860361 278.512941 +L 95.948456 278.360141 +L 97.125942 276.276706 +L 97.865879 274.790385 +L 98.233023 274.040471 +L 99.174817 271.804235 +L 99.783302 270.069768 +L 99.956955 269.568 +L 100.572222 267.331765 +L 101.02606 265.095529 +L 101.316416 262.859294 +L 101.441979 260.623059 +L 101.402183 258.386824 +L 101.197206 256.150588 +L 100.827974 253.914353 +L 100.296157 251.678118 +L 99.783302 250.0208 +L 99.601704 249.441882 +L 98.741021 247.205647 +L 97.865879 245.279447 +L 97.722645 244.969412 +L 96.536251 242.733176 +L 95.948456 241.748057 +L 95.186919 240.496941 +L 94.031034 238.780475 +L 93.67277 238.260706 +L 92.113611 236.188479 +L 91.986858 236.024471 +L 90.196188 233.877894 +L 90.119079 233.788235 +L 88.278765 231.786598 +L 88.055517 231.552 +L 86.361342 229.872555 +L 85.777531 229.315765 +L 84.443919 228.106906 +L 83.260464 227.079529 +L 82.526497 226.46982 +L 80.609074 224.951944 +L 80.464257 224.843294 +L 78.691651 223.562778 +L 77.287181 222.607059 +L 76.774228 222.269032 +L 74.856805 221.086941 +L 73.605377 220.370824 +L 72.939383 219.999762 +L 71.02196 219.01717 +L 69.12914 218.134588 +L 69.104537 218.123362 +L 67.187114 217.337589 +L 65.269691 216.643248 +L 63.352268 216.042338 +L 62.806379 215.898353 +L 61.434846 215.542592 +L 59.517423 215.140253 +L 57.6 214.834094 +L 57.6 215.898353 +L 57.6 218.134588 +L 57.6 220.370824 +L 57.6 221.852222 +L 59.517423 222.178961 +L 61.429111 222.607059 +L 61.434846 222.608385 +L 63.352268 223.156492 +L 65.269691 223.807734 +L 67.187114 224.560235 +L 67.824445 224.843294 +L 69.104537 225.433758 +L 71.02196 226.418564 +L 72.192904 227.079529 +L 72.939383 227.519873 +L 74.856805 228.749607 +L 75.676193 229.315765 +L 76.774228 230.114011 +L 78.624747 231.552 +L 78.691651 231.607111 +L 80.609074 233.283848 +L 81.155726 233.788235 +L 82.526497 235.140339 +L 83.380666 236.024471 +L 84.443919 237.212395 +L 85.342526 238.260706 +L 86.361342 239.55812 +L 87.070613 240.496941 +L 88.278765 242.266147 +L 88.586893 242.733176 +L 89.898728 244.969412 +L 90.196188 245.551707 +L 91.015708 247.205647 +L 91.954363 249.441882 +L 92.113611 249.907378 +L 92.703371 251.678118 +L 93.275765 253.914353 +L 93.673167 256.150588 +L 93.893783 258.386824 +L 93.936616 260.623059 +L 93.801473 262.859294 +L 93.488963 265.095529 +L 93.0005 267.331765 +L 92.338289 269.568 +L 92.113611 270.171185 +L 91.488803 271.804235 +L 90.461689 274.040471 +L 90.196188 274.537726 +L 89.238933 276.276706 +L 88.278765 277.813167 +L 87.826139 278.512941 +L 86.361342 280.544683 +L 86.208101 280.749176 +L 84.443919 282.892651 +L 84.364201 282.985412 +L 82.526497 284.95626 +L 82.266822 285.221647 +L 80.609074 286.79939 +L 79.879046 287.457882 +L 78.691651 288.464284 +L 77.151282 289.694118 +L 76.774228 289.979238 +L 74.856805 291.335684 +L 73.951186 291.930353 +L 72.939383 292.564097 +L 71.02196 293.668725 +L 70.072184 294.166588 +L 69.104537 294.653554 +L 67.187114 295.520154 +L 65.269691 296.285917 +L 64.931451 296.402824 +L 63.352268 296.929959 +L 61.434846 297.468638 +L 59.517423 297.904404 +L 57.6 298.236 +L 57.6 298.639059 +L 57.6 300.875294 +L 57.6 303.111529 +L 57.6 305.255151 z " style="fill:#67001f;"/> - <path clip-path="url(#p553f52e075)" d="M 74.396779 113.939871 -L 76.793557 113.417212 -L 78.70911 112.90084 -L 79.190336 112.768918 -L 81.587114 111.988235 -L 83.983893 111.086167 -L 86.380671 110.065315 -L 86.525479 109.996639 -L 88.77745 108.905185 -L 91.174228 107.628511 -L 92.099893 107.092437 -L 93.571007 106.217324 -L 95.967785 104.681291 -L 96.687537 104.188235 -L 98.364564 103.001803 -L 100.65178 101.284034 -L 100.761342 101.198565 -L 103.158121 99.22578 -L 104.13753 98.379832 -L 105.554899 97.100311 -L 107.278495 95.47563 -L 107.951678 94.807907 -L 110.120943 92.571429 -L 110.348456 92.322741 -L 112.695634 89.667227 -L 112.745235 89.607226 -L 115.025821 86.763025 -L 115.142013 86.606583 -L 117.12886 83.858824 -L 117.538792 83.239828 -L 119.017347 80.954622 -L 119.93557 79.384103 -L 120.699936 78.05042 -L 122.179384 75.146218 -L 122.332349 74.801243 -L 123.44832 72.242017 -L 124.520473 69.337815 -L 124.729128 68.643732 -L 125.384559 66.433613 -L 126.045533 63.529412 -L 126.503226 60.62521 -L 126.755571 57.721008 -L 126.801428 54.816807 -L 126.64059 51.912605 -L 126.273783 49.008403 -L 125.702665 46.104202 -L 124.929815 43.2 -L 124.729128 43.2 -L 122.332349 43.2 -L 119.93557 43.2 -L 117.538792 43.2 -L 115.405233 43.2 -L 116.237049 46.104202 -L 116.851742 49.008403 -L 117.246535 51.912605 -L 117.419645 54.816807 -L 117.370289 57.721008 -L 117.09869 60.62521 -L 116.606076 63.529412 -L 115.894672 66.433613 -L 115.142013 68.791673 -L 114.962959 69.337815 -L 113.793676 72.242017 -L 112.745235 74.446653 -L 112.402245 75.146218 -L 110.766371 78.05042 -L 110.348456 78.70988 -L 108.876072 80.954622 -L 107.951678 82.228112 -L 106.721332 83.858824 -L 105.554899 85.274774 -L 104.274762 86.763025 -L 103.158121 87.965482 -L 101.499807 89.667227 -L 100.761342 90.375976 -L 98.364564 92.556115 -L 98.346692 92.571429 -L 95.967785 94.494006 -L 94.669471 95.47563 -L 93.571007 96.264891 -L 91.174228 97.863372 -L 90.332298 98.379832 -L 88.77745 99.292397 -L 86.380671 100.572352 -L 84.896786 101.284034 -L 83.983893 101.705553 -L 81.587114 102.683469 -L 79.190336 103.529795 -L 76.974773 104.188235 -L 76.793557 104.240383 -L 74.396779 104.798331 -L 72 105.222902 -L 72 107.092437 -L 72 109.996639 -L 72 112.90084 -L 72 114.337589 + <path clip-path="url(#p0bba778d2e)" d="M 59.517423 95.941701 +L 61.434846 95.539253 +L 62.967288 95.141647 +L 63.352268 95.040067 +L 65.269691 94.438941 +L 67.187114 93.744349 +L 69.104537 92.958293 +L 69.220383 92.905412 +L 71.02196 92.064992 +L 72.939383 91.081953 +L 73.679914 90.669176 +L 74.856805 89.995339 +L 76.774228 88.812594 +L 77.350029 88.432941 +L 78.691651 87.519389 +L 80.521424 86.196706 +L 80.609074 86.130895 +L 82.526497 84.611851 +L 83.310024 83.960471 +L 84.443919 82.97524 +L 85.822796 81.724235 +L 86.361342 81.210088 +L 88.096754 79.488 +L 88.278765 79.296511 +L 90.156507 77.251765 +L 90.196188 77.205564 +L 92.020657 75.015529 +L 92.113611 74.895069 +L 93.703088 72.779294 +L 94.031034 72.302667 +L 95.213878 70.543059 +L 95.948456 69.333759 +L 96.559949 68.306824 +L 97.743507 66.070588 +L 97.865879 65.804957 +L 98.758656 63.834353 +L 99.616378 61.598118 +L 99.783302 61.063674 +L 100.307647 59.361882 +L 100.836426 57.125647 +L 101.202581 54.889412 +L 101.404457 52.653176 +L 101.441143 50.416941 +L 101.312472 48.180706 +L 101.019027 45.944471 +L 100.562132 43.708235 +L 99.943852 41.472 +L 99.783302 41.472 +L 97.865879 41.472 +L 95.948456 41.472 +L 94.031034 41.472 +L 92.324186 41.472 +L 92.989639 43.708235 +L 93.481393 45.944471 +L 93.797228 48.180706 +L 93.935716 50.416941 +L 93.896231 52.653176 +L 93.678952 54.889412 +L 93.284861 57.125647 +L 92.715738 59.361882 +L 92.113611 61.177588 +L 91.970367 61.598118 +L 91.034941 63.834353 +L 90.196188 65.531923 +L 89.921796 66.070588 +L 88.613097 68.306824 +L 88.278765 68.814608 +L 87.100858 70.543059 +L 86.361342 71.523646 +L 85.377066 72.779294 +L 84.443919 73.869576 +L 83.41981 75.015529 +L 82.526497 75.941421 +L 81.199846 77.251765 +L 80.609074 77.797501 +L 78.691651 79.476209 +L 78.677353 79.488 +L 76.774228 80.968385 +L 75.735577 81.724235 +L 74.856805 82.331966 +L 72.939383 83.562797 +L 72.265839 83.960471 +L 71.02196 84.663146 +L 69.104537 85.648711 +L 67.917429 86.196706 +L 67.187114 86.521276 +L 65.269691 87.274271 +L 63.352268 87.925942 +L 61.579818 88.432941 +L 61.434846 88.473095 +L 59.517423 88.902715 +L 57.6 89.229635 +L 57.6 90.669176 +L 57.6 92.905412 +L 57.6 95.141647 +L 57.6 96.247944 z " style="fill:#67001f;"/> - <path clip-path="url(#p553f52e075)" d="M 333.248859 112.944117 -L 335.645638 113.559514 -L 338.042416 114.051065 -L 340.439195 114.417354 -L 342.835973 114.657326 -L 345.232752 114.770288 -L 347.62953 114.755915 -L 350.026309 114.614249 -L 352.423087 114.345697 -L 354.819866 113.951035 -L 357.216644 113.431398 -L 359.193949 112.90084 -L 359.613423 112.786377 -L 362.010201 112.008676 -L 364.40698 111.109532 -L 366.803758 110.091536 -L 367.004345 109.996639 -L 369.200537 108.934823 -L 371.597315 107.660905 -L 372.580802 107.092437 -L 373.994094 106.253333 -L 376.390872 104.719932 -L 377.168224 104.188235 -L 378.787651 103.044311 -L 381.134701 101.284034 -L 381.18443 101.245294 -L 383.581208 99.27495 -L 384.618697 98.379832 -L 385.977987 97.154106 -L 387.760426 95.47563 -L 388.374765 94.866879 -L 390.603211 92.571429 -L 390.771544 92.387593 -L 393.168322 89.678103 -L 393.177653 89.667227 -L 395.507974 86.763025 -L 395.565101 86.686163 -L 397.610737 83.858824 -L 397.961879 83.328923 -L 399.498888 80.954622 -L 400.358658 79.484855 -L 401.181134 78.05042 -L 402.661242 75.146218 -L 402.755436 74.93388 -L 403.929679 72.242017 -L 405.002227 69.337815 -L 405.152215 68.839071 -L 405.865786 66.433613 -L 406.526954 63.529412 -L 406.984782 60.62521 -L 407.237202 57.721008 -L 407.283073 54.816807 -L 407.122187 51.912605 -L 406.755272 49.008403 -L 406.183985 46.104202 -L 405.410908 43.2 -L 405.152215 43.2 -L 402.755436 43.2 -L 400.358658 43.2 -L 397.961879 43.2 -L 395.886059 43.2 -L 396.718382 46.104202 -L 397.333449 49.008403 -L 397.728483 51.912605 -L 397.901698 54.816807 -L 397.852312 57.721008 -L 397.580548 60.62521 -L 397.087634 63.529412 -L 396.375797 66.433613 -L 395.565101 68.971953 -L 395.445068 69.337815 -L 394.27497 72.242017 -L 393.168322 74.567427 -L 392.884322 75.146218 -L 391.247155 78.05042 -L 390.771544 78.800332 -L 389.357232 80.954622 -L 388.374765 82.306913 -L 387.202708 83.858824 -L 385.977987 85.344051 -L 384.756082 86.763025 -L 383.581208 88.026784 -L 381.980652 89.667227 -L 381.18443 90.430463 -L 378.82747 92.571429 -L 378.787651 92.605544 -L 376.390872 94.539593 -L 375.150728 95.47563 -L 373.994094 96.305262 -L 371.597315 97.900677 -L 370.814511 98.379832 -L 369.200537 99.325054 -L 366.803758 100.601877 -L 365.377445 101.284034 -L 364.40698 101.730882 -L 362.010201 102.70563 -L 359.613423 103.548722 -L 357.451569 104.188235 -L 357.216644 104.255527 -L 354.819866 104.810248 -L 352.423087 105.231557 -L 350.026309 105.518241 -L 347.62953 105.669472 -L 345.232752 105.684815 -L 342.835973 105.564226 -L 340.439195 105.308053 -L 338.042416 104.917033 -L 335.645638 104.392293 -L 334.901161 104.188235 -L 333.248859 103.720521 -L 330.852081 102.907489 -L 328.455302 101.962221 -L 326.942933 101.284034 -L 326.058523 100.872095 -L 323.661745 99.624419 -L 321.492898 98.379832 -L 321.264966 98.243127 -L 318.868188 96.676288 -L 317.16707 95.47563 -L 316.471409 94.95896 -L 314.074631 93.052648 -L 313.505634 92.571429 -L 311.677852 90.93253 -L 310.342407 89.667227 -L 309.281074 88.592036 -L 307.56284 86.763025 -L 306.884295 85.983237 -L 305.116016 83.858824 -L 304.487517 83.034392 -L 302.963825 80.954622 -L 302.090738 79.63581 -L 301.077738 78.05042 -L 299.69396 75.613904 -L 299.436572 75.146218 -L 298.045367 72.242017 -L 297.297181 70.397171 -L 296.879292 69.337815 -L 295.946396 66.433613 -L 295.230451 63.529412 -L 294.900403 61.595955 -L 294.738646 60.62521 -L 294.471835 57.721008 -L 294.423349 54.816807 -L 294.593407 51.912605 -L 294.900403 49.613748 -L 294.983218 49.008403 -L 295.601834 46.104202 -L 296.438959 43.2 -L 294.900403 43.2 -L 292.503624 43.2 -L 290.106846 43.2 -L 287.710067 43.2 -L 286.912497 43.2 -L 286.137237 46.104202 -L 285.564338 49.008403 -L 285.313289 50.989919 -L 285.197704 51.912605 -L 285.03818 54.816807 -L 285.083662 57.721008 -L 285.313289 60.385517 -L 285.33418 60.62521 -L 285.793301 63.529412 -L 286.456335 66.433613 -L 287.320288 69.337815 -L 287.710067 70.404762 -L 288.39097 72.242017 -L 289.662297 75.146218 -L 290.106846 76.030149 -L 291.140829 78.05042 -L 292.503624 80.417162 -L 292.81959 80.954622 -L 294.709008 83.858824 -L 294.900403 84.128267 -L 296.817701 86.763025 -L 297.297181 87.373346 -L 299.14992 89.667227 -L 299.69396 90.2972 -L 301.720735 92.571429 -L 302.090738 92.963025 -L 304.487517 95.411299 -L 304.553049 95.47563 -L 306.884295 97.650437 -L 307.701668 98.379832 -L 309.281074 99.728334 -L 311.195629 101.284034 -L 311.677852 101.661274 -L 314.074631 103.435696 -L 315.155484 104.188235 -L 316.471409 105.075401 -L 318.868188 106.584267 -L 319.739701 107.092437 -L 321.264966 107.958268 -L 323.661745 109.206515 -L 325.334164 109.996639 -L 326.058523 110.331509 -L 328.455302 111.322928 -L 330.852081 112.194879 -L 333.108208 112.90084 + <path clip-path="url(#p0bba778d2e)" d="M 266.599087 95.17497 +L 268.51651 95.648826 +L 270.433933 96.02732 +L 272.351356 96.309363 +L 274.268779 96.494141 +L 276.186201 96.581122 +L 278.103624 96.570055 +L 280.021047 96.460972 +L 281.93847 96.254187 +L 283.855893 95.950297 +L 285.773315 95.550177 +L 287.355159 95.141647 +L 287.690738 95.05351 +L 289.608161 94.454681 +L 291.525584 93.76234 +L 293.443007 92.978483 +L 293.603476 92.905412 +L 295.36043 92.087813 +L 297.277852 91.106897 +L 298.064642 90.669176 +L 299.195275 90.023067 +L 301.112698 88.842348 +L 301.734579 88.432941 +L 303.030121 87.55212 +L 304.907761 86.196706 +L 304.947544 86.166876 +L 306.864966 84.649712 +L 307.694958 83.960471 +L 308.782389 83.016661 +L 310.208341 81.724235 +L 310.699812 81.255497 +L 312.482569 79.488 +L 312.617235 79.346446 +L 314.534658 77.260139 +L 314.542122 77.251765 +L 316.40638 75.015529 +L 316.452081 74.956346 +L 318.088589 72.779294 +L 318.369503 72.37127 +L 319.59911 70.543059 +L 320.286926 69.411338 +L 320.944907 68.306824 +L 322.128994 66.070588 +L 322.204349 65.907088 +L 323.143743 63.834353 +L 324.001782 61.598118 +L 324.121772 61.214084 +L 324.692629 59.361882 +L 325.221563 57.125647 +L 325.587826 54.889412 +L 325.789762 52.653176 +L 325.826458 50.416941 +L 325.69775 48.180706 +L 325.404218 45.944471 +L 324.947188 43.708235 +L 324.328726 41.472 +L 324.121772 41.472 +L 322.204349 41.472 +L 320.286926 41.472 +L 318.369503 41.472 +L 316.708847 41.472 +L 317.374705 43.708235 +L 317.86676 45.944471 +L 318.182787 48.180706 +L 318.321359 50.416941 +L 318.28185 52.653176 +L 318.064439 54.889412 +L 317.670107 57.125647 +L 317.100637 59.361882 +L 316.452081 61.316404 +L 316.356054 61.598118 +L 315.419976 63.834353 +L 314.534658 65.624919 +L 314.307458 66.070588 +L 312.997724 68.306824 +L 312.617235 68.884256 +L 311.485786 70.543059 +L 310.699812 71.584323 +L 309.762166 72.779294 +L 308.782389 73.922919 +L 307.804865 75.015529 +L 306.864966 75.988624 +L 305.584521 77.251765 +L 304.947544 77.839457 +L 303.061976 79.488 +L 303.030121 79.514269 +L 301.112698 81.003486 +L 300.120582 81.724235 +L 299.195275 82.363052 +L 297.277852 83.591522 +L 296.651608 83.960471 +L 295.36043 84.688291 +L 293.443007 85.671445 +L 292.301956 86.196706 +L 291.525584 86.540779 +L 289.608161 87.291335 +L 287.690738 87.940516 +L 285.961255 88.432941 +L 285.773315 88.484756 +L 283.855893 88.911891 +L 281.93847 89.236299 +L 280.021047 89.457045 +L 278.103624 89.573493 +L 276.186201 89.585308 +L 274.268779 89.492454 +L 272.351356 89.2952 +L 270.433933 88.994115 +L 268.51651 88.590066 +L 267.920929 88.432941 +L 266.599087 88.072801 +L 264.681664 87.446767 +L 262.764242 86.71891 +L 261.554346 86.196706 +L 260.846819 85.879513 +L 258.929396 84.918803 +L 257.194318 83.960471 +L 257.011973 83.855208 +L 255.09455 82.648742 +L 253.733656 81.724235 +L 253.177128 81.326399 +L 251.259705 79.858539 +L 250.804507 79.488 +L 249.342282 78.226048 +L 248.273926 77.251765 +L 247.424859 76.423868 +L 246.050272 75.015529 +L 245.507436 74.415093 +L 244.092813 72.779294 +L 243.590013 72.144482 +L 242.37106 70.543059 +L 241.672591 69.527574 +L 240.862191 68.306824 +L 239.755168 66.430706 +L 239.549257 66.070588 +L 238.436294 63.834353 +L 237.837745 62.413821 +L 237.503434 61.598118 +L 236.757117 59.361882 +L 236.184361 57.125647 +L 235.920322 55.636885 +L 235.790917 54.889412 +L 235.577468 52.653176 +L 235.538679 50.416941 +L 235.674726 48.180706 +L 235.920322 46.410586 +L 235.986574 45.944471 +L 236.481467 43.708235 +L 237.151167 41.472 +L 235.920322 41.472 +L 234.002899 41.472 +L 232.085477 41.472 +L 230.168054 41.472 +L 229.529997 41.472 +L 228.90979 43.708235 +L 228.451471 45.944471 +L 228.250631 47.470237 +L 228.158163 48.180706 +L 228.030544 50.416941 +L 228.06693 52.653176 +L 228.250631 54.704848 +L 228.267344 54.889412 +L 228.63464 57.125647 +L 229.165068 59.361882 +L 229.85623 61.598118 +L 230.168054 62.419667 +L 230.712776 63.834353 +L 231.729838 66.070588 +L 232.085477 66.751215 +L 232.912663 68.306824 +L 234.002899 70.129214 +L 234.255672 70.543059 +L 235.767206 72.779294 +L 235.920322 72.986765 +L 237.454161 75.015529 +L 237.837745 75.485476 +L 239.319936 77.251765 +L 239.755168 77.736844 +L 241.376588 79.488 +L 241.672591 79.78953 +L 243.590013 81.6747 +L 243.64244 81.724235 +L 245.507436 83.398837 +L 246.161334 83.960471 +L 247.424859 84.998817 +L 248.956503 86.196706 +L 249.342282 86.487181 +L 251.259705 87.853486 +L 252.124387 88.432941 +L 253.177128 89.116059 +L 255.09455 90.277886 +L 255.791761 90.669176 +L 257.011973 91.335867 +L 258.929396 92.297017 +L 260.267331 92.905412 +L 260.846819 93.163262 +L 262.764242 93.926654 +L 264.681664 94.598057 +L 266.486567 95.141647 z " style="fill:#67001f;"/> </g> <g id="PathCollection_5"> - <path clip-path="url(#p553f52e075)" d="M 74.396779 388.8 -L 76.793557 388.8 -L 79.190336 388.8 -L 81.587114 388.8 -L 83.983893 388.8 -L 86.380671 388.8 -L 88.77745 388.8 -L 89.657986 388.8 -L 91.174228 388.028351 -L 93.571007 386.702183 -L 94.923756 385.895798 -L 95.967785 385.264511 -L 98.364564 383.715397 -L 99.419456 382.991597 -L 100.761342 382.05317 -L 103.158121 380.284615 -L 103.412824 380.087395 -L 105.554899 378.388396 -L 107.010135 377.183193 -L 107.951678 376.38026 -L 110.322253 374.278992 -L 110.348456 374.254942 -L 112.745235 371.978093 -L 113.361239 371.37479 -L 115.142013 369.558153 -L 116.179923 368.470588 -L 117.538792 366.977843 -L 118.794092 365.566387 -L 119.93557 364.211249 -L 121.214648 362.662185 -L 122.332349 361.22162 -L 123.44913 359.757983 -L 124.729128 357.956597 -L 125.502163 356.853782 -L 127.125906 354.34045 -L 127.375774 353.94958 -L 129.066124 351.045378 -L 129.522685 350.171048 -L 130.574622 348.141176 -L 131.900352 345.236975 -L 131.919463 345.188306 -L 133.035547 342.332773 -L 133.981091 339.428571 -L 134.316242 338.133733 -L 134.732059 336.52437 -L 135.285551 333.620168 -L 135.639664 330.715966 -L 135.792799 327.811765 -L 135.744263 324.907563 -L 135.494277 322.003361 -L 135.043969 319.09916 -L 134.395375 316.194958 -L 134.316242 315.922646 -L 133.550056 313.290756 -L 132.51271 310.386555 -L 131.919463 308.979578 -L 131.285202 307.482353 -L 129.872392 304.578151 -L 129.522685 303.938973 -L 128.273988 301.67395 -L 127.125906 299.79159 -L 126.496046 298.769748 -L 124.729128 296.143749 -L 124.539375 295.865546 -L 122.401246 292.961345 -L 122.332349 292.873806 -L 120.078151 290.057143 -L 119.93557 289.889079 -L 117.567571 287.152941 -L 117.538792 287.121336 -L 115.142013 284.549759 -L 114.853836 284.248739 -L 112.745235 282.141094 -L 111.923639 281.344538 -L 110.348456 279.874091 -L 108.758767 278.440336 -L 107.951678 277.735415 -L 105.554899 275.72142 -L 105.324661 275.536134 -L 103.158121 273.838575 -L 101.542096 272.631933 -L 100.761342 272.061429 -L 98.364564 270.401589 -L 97.3316 269.727731 -L 95.967785 268.852794 -L 93.571007 267.414301 -L 92.510548 266.823529 -L 91.174228 266.087954 -L 88.77745 264.874493 -L 86.704017 263.919328 -L 86.380671 263.771467 -L 83.983893 262.787157 -L 81.587114 261.91738 -L 79.190336 261.164641 -L 78.624687 261.015126 -L 76.793557 260.532479 -L 74.396779 260.021431 -L 72 259.632549 -L 72 261.015126 -L 72 263.919328 -L 72 266.823529 -L 72 268.345576 -L 74.396779 268.743186 -L 76.793557 269.265704 -L 78.507974 269.727731 -L 79.190336 269.914725 -L 81.587114 270.695127 -L 83.983893 271.596869 -L 86.380671 272.617353 -L 86.411425 272.631933 -L 88.77745 273.778143 -L 91.174228 275.054237 -L 92.006722 275.536134 -L 93.571007 276.466157 -L 95.967785 278.00134 -L 96.608976 278.440336 -L 98.364564 279.68153 -L 100.580321 281.344538 -L 100.761342 281.485642 -L 103.158121 283.456909 -L 104.07558 284.248739 -L 105.554899 285.582995 -L 107.221914 287.152941 -L 107.951678 287.876046 -L 110.069396 290.057143 -L 110.348456 290.361816 -L 112.648849 292.961345 -L 112.745235 293.077784 -L 114.983573 295.865546 -L 115.142013 296.078544 -L 117.090963 298.769748 -L 117.538792 299.444773 -L 118.983649 301.67395 -L 119.93557 303.298776 -L 120.670314 304.578151 -L 122.153306 307.482353 -L 122.332349 307.884996 -L 123.426276 310.386555 -L 124.50213 313.290756 -L 124.729128 314.042598 -L 125.370197 316.194958 -L 126.034968 319.09916 -L 126.496507 322.003361 -L 126.752728 324.907563 -L 126.802474 327.811765 -L 126.64552 330.715966 -L 126.282575 333.620168 -L 125.715278 336.52437 -L 124.946193 339.428571 -L 124.729128 340.080219 -L 123.968521 342.332773 -L 122.791279 345.236975 -L 122.332349 346.21089 -L 121.407427 348.141176 -L 119.93557 350.846937 -L 119.825451 351.045378 -L 118.029117 353.94958 -L 117.538792 354.671346 -L 116.021249 356.853782 -L 115.142013 358.019186 -L 113.794559 359.757983 -L 112.745235 361.018975 -L 111.335505 362.662185 -L 110.348456 363.743272 -L 108.625605 365.566387 -L 107.951678 366.241821 -L 105.640238 368.470588 -L 105.554899 368.549078 -L 103.158121 370.660277 -L 102.306911 371.37479 -L 100.761342 372.620321 -L 98.58964 374.278992 -L 98.364564 374.445014 -L 95.967785 376.110381 -L 94.317411 377.183193 -L 93.571007 377.65439 -L 91.174228 379.058825 -L 89.265786 380.087395 -L 88.77745 380.344336 -L 86.380671 381.491785 -L 83.983893 382.522295 -L 82.748653 382.991597 -L 81.587114 383.424569 -L 79.190336 384.197766 -L 76.793557 384.848514 -L 74.396779 385.374938 -L 72 385.775521 -L 72 385.895798 -L 72 388.8 + <path clip-path="url(#p0bba778d2e)" d="M 59.517423 307.584 +L 61.434846 307.584 +L 63.352268 307.584 +L 65.269691 307.584 +L 67.187114 307.584 +L 69.104537 307.584 +L 71.02196 307.584 +L 71.726389 307.584 +L 72.939383 306.98983 +L 74.856805 305.968681 +L 75.939005 305.347765 +L 76.774228 304.861673 +L 78.691651 303.668855 +L 79.535565 303.111529 +L 80.609074 302.388941 +L 82.526497 301.027154 +L 82.730259 300.875294 +L 84.443919 299.567065 +L 85.608108 298.639059 +L 86.361342 298.0208 +L 88.257803 296.402824 +L 88.278765 296.384306 +L 90.196188 294.631132 +L 90.688992 294.166588 +L 92.113611 292.767778 +L 92.943938 291.930353 +L 94.031034 290.780939 +L 95.035274 289.694118 +L 95.948456 288.650661 +L 96.971719 287.457882 +L 97.865879 286.348647 +L 98.759304 285.221647 +L 99.783302 283.834579 +L 100.40173 282.985412 +L 101.700725 281.050146 +L 101.900619 280.749176 +L 103.2529 278.512941 +L 103.618148 277.839707 +L 104.459697 276.276706 +L 105.520281 274.040471 +L 105.53557 274.002995 +L 106.428438 271.804235 +L 107.184873 269.568 +L 107.452993 268.570974 +L 107.785647 267.331765 +L 108.228441 265.095529 +L 108.511731 262.859294 +L 108.634239 260.623059 +L 108.595411 258.386824 +L 108.395422 256.150588 +L 108.035176 253.914353 +L 107.5163 251.678118 +L 107.452993 251.468437 +L 106.840045 249.441882 +L 106.010168 247.205647 +L 105.53557 246.122275 +L 105.028162 244.969412 +L 103.897914 242.733176 +L 103.618148 242.241009 +L 102.619191 240.496941 +L 101.700725 239.047524 +L 101.196837 238.260706 +L 99.783302 236.238686 +L 99.6315 236.024471 +L 97.920997 233.788235 +L 97.865879 233.72083 +L 96.062521 231.552 +L 95.948456 231.422591 +L 94.054057 229.315765 +L 94.031034 229.291429 +L 92.113611 227.311315 +L 91.883069 227.079529 +L 90.196188 225.456642 +L 89.538911 224.843294 +L 88.278765 223.71105 +L 87.007014 222.607059 +L 86.361342 222.06427 +L 84.443919 220.513493 +L 84.259728 220.370824 +L 82.526497 219.063703 +L 81.233677 218.134588 +L 80.609074 217.6953 +L 78.691651 216.417224 +L 77.86528 215.898353 +L 76.774228 215.224652 +L 74.856805 214.117011 +L 74.008438 213.662118 +L 72.939383 213.095724 +L 71.02196 212.161359 +L 69.363214 211.425882 +L 69.104537 211.31203 +L 67.187114 210.554111 +L 65.269691 209.884382 +L 63.352268 209.304774 +L 62.899749 209.189647 +L 61.434846 208.818009 +L 59.517423 208.424502 +L 57.6 208.125063 +L 57.6 209.189647 +L 57.6 211.425882 +L 57.6 213.662118 +L 57.6 214.834094 +L 59.517423 215.140253 +L 61.434846 215.542592 +L 62.806379 215.898353 +L 63.352268 216.042338 +L 65.269691 216.643248 +L 67.187114 217.337589 +L 69.104537 218.123362 +L 69.12914 218.134588 +L 71.02196 219.01717 +L 72.939383 219.999762 +L 73.605377 220.370824 +L 74.856805 221.086941 +L 76.774228 222.269032 +L 77.287181 222.607059 +L 78.691651 223.562778 +L 80.464257 224.843294 +L 80.609074 224.951944 +L 82.526497 226.46982 +L 83.260464 227.079529 +L 84.443919 228.106906 +L 85.777531 229.315765 +L 86.361342 229.872555 +L 88.055517 231.552 +L 88.278765 231.786598 +L 90.119079 233.788235 +L 90.196188 233.877894 +L 91.986858 236.024471 +L 92.113611 236.188479 +L 93.67277 238.260706 +L 94.031034 238.780475 +L 95.186919 240.496941 +L 95.948456 241.748057 +L 96.536251 242.733176 +L 97.722645 244.969412 +L 97.865879 245.279447 +L 98.741021 247.205647 +L 99.601704 249.441882 +L 99.783302 250.0208 +L 100.296157 251.678118 +L 100.827974 253.914353 +L 101.197206 256.150588 +L 101.402183 258.386824 +L 101.441979 260.623059 +L 101.316416 262.859294 +L 101.02606 265.095529 +L 100.572222 267.331765 +L 99.956955 269.568 +L 99.783302 270.069768 +L 99.174817 271.804235 +L 98.233023 274.040471 +L 97.865879 274.790385 +L 97.125942 276.276706 +L 95.948456 278.360141 +L 95.860361 278.512941 +L 94.423294 280.749176 +L 94.031034 281.304937 +L 92.816999 282.985412 +L 92.113611 283.882773 +L 91.035647 285.221647 +L 90.196188 286.192611 +L 89.068404 287.457882 +L 88.278765 288.290319 +L 86.900484 289.694118 +L 86.361342 290.214202 +L 84.51219 291.930353 +L 84.443919 291.99079 +L 82.526497 293.616414 +L 81.845529 294.166588 +L 80.609074 295.125647 +L 78.871712 296.402824 +L 78.691651 296.530661 +L 76.774228 297.812994 +L 75.453929 298.639059 +L 74.856805 299.00188 +L 72.939383 300.083296 +L 71.412629 300.875294 +L 71.02196 301.073139 +L 69.104537 301.956674 +L 67.187114 302.750167 +L 66.198922 303.111529 +L 65.269691 303.444918 +L 63.352268 304.04028 +L 61.434846 304.541356 +L 59.517423 304.946703 +L 57.6 305.255151 +L 57.6 305.347765 +L 57.6 307.584 z " style="fill:#67001f;"/> - <path clip-path="url(#p553f52e075)" d="M 318.868188 387.043496 -L 321.264966 388.343411 -L 322.182566 388.8 -L 323.661745 388.8 -L 326.058523 388.8 -L 328.455302 388.8 -L 330.852081 388.8 -L 333.248859 388.8 -L 335.645638 388.8 -L 338.042416 388.8 -L 340.439195 388.8 -L 342.835973 388.8 -L 345.232752 388.8 -L 347.62953 388.8 -L 350.026309 388.8 -L 352.423087 388.8 -L 354.819866 388.8 -L 357.216644 388.8 -L 359.613423 388.8 -L 362.010201 388.8 -L 364.40698 388.8 -L 366.803758 388.8 -L 369.200537 388.8 -L 370.13874 388.8 -L 371.597315 388.059301 -L 373.994094 386.735678 -L 375.405449 385.895798 -L 376.390872 385.300969 -L 378.787651 383.754232 -L 379.900677 382.991597 -L 381.18443 382.095062 -L 383.581208 380.328695 -L 383.893185 380.087395 -L 385.977987 378.43566 -L 387.491798 377.183193 -L 388.374765 376.430962 -L 390.771544 374.308355 -L 390.803574 374.278992 -L 393.168322 372.034344 -L 393.842232 371.37479 -L 395.565101 369.618449 -L 396.661221 368.470588 -L 397.961879 367.042659 -L 399.275516 365.566387 -L 400.358658 364.28118 -L 401.696076 362.662185 -L 402.755436 361.297421 -L 403.930488 359.757983 -L 405.152215 358.039239 -L 405.983424 356.853782 -L 407.548993 354.431209 -L 407.856948 353.94958 -L 409.547674 351.045378 -L 409.945772 350.283174 -L 411.055982 348.141176 -L 412.34255 345.323187 -L 412.381725 345.236975 -L 413.516921 342.332773 -L 414.46254 339.428571 -L 414.739329 338.359296 -L 415.21343 336.52437 -L 415.766927 333.620168 -L 416.121043 330.715966 -L 416.27418 327.811765 -L 416.225644 324.907563 -L 415.975655 322.003361 -L 415.525344 319.09916 -L 414.876743 316.194958 -L 414.739329 315.722095 -L 414.031471 313.290756 -L 412.994042 310.386555 -L 412.34255 308.841563 -L 411.76667 307.482353 -L 410.353647 304.578151 -L 409.945772 303.832768 -L 408.755362 301.67395 -L 407.548993 299.696464 -L 406.977601 298.769748 -L 405.152215 296.057654 -L 405.021136 295.865546 -L 402.882218 292.961345 -L 402.755436 292.800319 -L 400.559071 290.057143 -L 400.358658 289.821016 -L 398.048349 287.152941 -L 397.961879 287.05803 -L 395.565101 284.48802 -L 395.335869 284.248739 -L 393.168322 282.083684 -L 392.405338 281.344538 -L 390.771544 279.820581 -L 389.239823 278.440336 -L 388.374765 277.685456 -L 385.977987 275.673465 -L 385.807148 275.536134 -L 383.581208 273.793971 -L 382.022993 272.631933 -L 381.18443 272.019945 -L 378.787651 270.362392 -L 377.813277 269.727731 -L 376.390872 268.816607 -L 373.994094 267.380578 -L 372.992247 266.823529 -L 371.597315 266.057164 -L 369.200537 264.846322 -L 367.183321 263.919328 -L 366.803758 263.746185 -L 364.40698 262.764629 -L 362.010201 261.89767 -L 359.613423 261.147807 -L 359.109134 261.015126 -L 357.216644 260.518608 -L 354.819866 260.010516 -L 352.423087 259.624621 -L 350.026309 259.362036 -L 347.62953 259.223517 -L 345.232752 259.209464 -L 342.835973 259.319916 -L 340.439195 259.554556 -L 338.042416 259.912708 -L 335.645638 260.393338 -L 333.248859 260.995063 -L 333.182172 261.015126 -L 330.852081 261.718132 -L 328.455302 262.558872 -L 326.058523 263.514802 -L 325.151007 263.919328 -L 323.661745 264.588082 -L 321.264966 265.774524 -L 319.320752 266.823529 -L 318.868188 267.070658 -L 316.471409 268.483711 -L 314.501045 269.727731 -L 314.074631 270.001494 -L 311.677852 271.637699 -L 310.29957 272.631933 -L 309.281074 273.382684 -L 306.884295 275.239054 -L 306.517395 275.536134 -L 304.487517 277.224244 -L 303.082221 278.440336 -L 302.090738 279.326324 -L 299.910907 281.344538 -L 299.69396 281.553149 -L 297.297181 283.931491 -L 296.986208 284.248739 -L 294.900403 286.47247 -L 294.277364 287.152941 -L 292.503624 289.19119 -L 291.765529 290.057143 -L 290.106846 292.120029 -L 289.442118 292.961345 -L 287.710067 295.304858 -L 287.301583 295.865546 -L 285.341382 298.769748 -L 285.313289 298.815184 -L 283.565557 301.67395 -L 282.91651 302.848486 -L 281.968636 304.578151 -L 280.553528 307.482353 -L 280.519732 307.562003 -L 279.3277 310.386555 -L 278.289421 313.290756 -L 278.122953 313.862072 -L 277.444904 316.194958 -L 276.796196 319.09916 -L 276.345809 322.003361 -L 276.095779 324.907563 -L 276.047235 327.811765 -L 276.200396 330.715966 -L 276.554572 333.620168 -L 277.108161 336.52437 -L 277.858663 339.428571 -L 278.122953 340.241636 -L 278.804393 342.332773 -L 279.940519 345.236975 -L 280.519732 346.510632 -L 281.265264 348.141176 -L 282.772752 351.045378 -L 282.91651 351.293851 -L 284.465896 353.94958 -L 285.313289 355.272036 -L 286.338364 356.853782 -L 287.710067 358.804576 -L 288.390158 359.757983 -L 290.106846 361.999132 -L 290.623704 362.662185 -L 292.503624 364.928293 -L 293.044077 365.566387 -L 294.900403 367.642185 -L 295.659325 368.470588 -L 297.297181 370.175919 -L 298.480959 371.37479 -L 299.69396 372.554176 -L 301.524632 374.278992 -L 302.090738 374.79411 -L 304.487517 376.89903 -L 304.824205 377.183193 -L 306.884295 378.871739 -L 308.434803 380.087395 -L 309.281074 380.735143 -L 311.677852 382.481064 -L 312.418425 382.991597 -L 314.074631 384.111798 -L 316.471409 385.636353 -L 316.908207 385.895798 + <path clip-path="url(#p0bba778d2e)" d="M 255.09455 306.231492 +L 257.011973 307.232427 +L 257.746053 307.584 +L 258.929396 307.584 +L 260.846819 307.584 +L 262.764242 307.584 +L 264.681664 307.584 +L 266.599087 307.584 +L 268.51651 307.584 +L 270.433933 307.584 +L 272.351356 307.584 +L 274.268779 307.584 +L 276.186201 307.584 +L 278.103624 307.584 +L 280.021047 307.584 +L 281.93847 307.584 +L 283.855893 307.584 +L 285.773315 307.584 +L 287.690738 307.584 +L 289.608161 307.584 +L 291.525584 307.584 +L 293.443007 307.584 +L 295.36043 307.584 +L 296.110992 307.584 +L 297.277852 307.013662 +L 299.195275 305.994472 +L 300.324359 305.347765 +L 301.112698 304.889746 +L 303.030121 303.698759 +L 303.920541 303.111529 +L 304.947544 302.421198 +L 306.864966 301.061095 +L 307.114548 300.875294 +L 308.782389 299.603458 +L 309.993438 298.639059 +L 310.699812 298.05984 +L 312.617235 296.425433 +L 312.64286 296.402824 +L 314.534658 294.674445 +L 315.073785 294.166588 +L 316.452081 292.814206 +L 317.328977 291.930353 +L 318.369503 290.830848 +L 319.420412 289.694118 +L 320.286926 288.704509 +L 321.35686 287.457882 +L 322.204349 286.407014 +L 323.144391 285.221647 +L 324.121772 283.898214 +L 324.786739 282.985412 +L 326.039195 281.120031 +L 326.285558 280.749176 +L 327.638139 278.512941 +L 327.956617 277.926044 +L 328.844786 276.276706 +L 329.87404 274.106854 +L 329.90538 274.040471 +L 330.813537 271.804235 +L 331.570032 269.568 +L 331.791463 268.744658 +L 332.170744 267.331765 +L 332.613542 265.095529 +L 332.896835 262.859294 +L 333.019344 260.623059 +L 332.980515 258.386824 +L 332.780524 256.150588 +L 332.420275 253.914353 +L 331.901394 251.678118 +L 331.791463 251.314013 +L 331.225177 249.441882 +L 330.395234 247.205647 +L 329.87404 246.016003 +L 329.413336 244.969412 +L 328.282918 242.733176 +L 327.956617 242.159232 +L 327.004289 240.496941 +L 326.039195 238.974277 +L 325.582081 238.260706 +L 324.121772 236.172393 +L 324.016909 236.024471 +L 322.305774 233.788235 +L 322.204349 233.664245 +L 320.447257 231.552 +L 320.286926 231.370182 +L 318.438679 229.315765 +L 318.369503 229.242683 +L 316.452081 227.263775 +L 316.268695 227.079529 +L 314.534658 225.412437 +L 313.92427 224.843294 +L 312.617235 223.669847 +L 311.391859 222.607059 +L 310.699812 222.025801 +L 308.782389 220.476568 +L 308.645718 220.370824 +L 306.864966 219.029357 +L 305.618394 218.134588 +L 304.947544 217.663358 +L 303.030121 216.387042 +L 302.250622 215.898353 +L 301.112698 215.196788 +L 299.195275 214.091045 +L 298.393798 213.662118 +L 297.277852 213.072016 +L 295.36043 212.139668 +L 293.746657 211.425882 +L 293.443007 211.292562 +L 291.525584 210.536764 +L 289.608161 209.869206 +L 287.690738 209.291812 +L 287.287307 209.189647 +L 285.773315 208.807328 +L 283.855893 208.416097 +L 281.93847 208.118958 +L 280.021047 207.916768 +L 278.103624 207.810108 +L 276.186201 207.799287 +L 274.268779 207.884335 +L 272.351356 208.065008 +L 270.433933 208.340785 +L 268.51651 208.71087 +L 266.599087 209.174198 +L 266.545737 209.189647 +L 264.681664 209.730962 +L 262.764242 210.378331 +L 260.846819 211.114397 +L 260.120806 211.425882 +L 258.929396 211.940823 +L 257.011973 212.854383 +L 255.456602 213.662118 +L 255.09455 213.852407 +L 253.177128 214.940457 +L 251.600836 215.898353 +L 251.259705 216.10915 +L 249.342282 217.369028 +L 248.239656 218.134588 +L 247.424859 218.712667 +L 245.507436 220.142071 +L 245.213916 220.370824 +L 243.590013 221.670668 +L 242.465777 222.607059 +L 241.672591 223.28927 +L 239.928726 224.843294 +L 239.755168 225.003925 +L 237.837745 226.835248 +L 237.588966 227.079529 +L 235.920322 228.791802 +L 235.421891 229.315765 +L 234.002899 230.885216 +L 233.412423 231.552 +L 232.085477 233.140422 +L 231.553694 233.788235 +L 230.168054 235.59274 +L 229.841267 236.024471 +L 228.273106 238.260706 +L 228.250631 238.295691 +L 226.852446 240.496941 +L 226.333208 241.401334 +L 225.574909 242.733176 +L 224.442822 244.969412 +L 224.415785 245.030742 +L 223.46216 247.205647 +L 222.631537 249.441882 +L 222.498362 249.881795 +L 221.955924 251.678118 +L 221.436956 253.914353 +L 221.076647 256.150588 +L 220.876623 258.386824 +L 220.837788 260.623059 +L 220.960317 262.859294 +L 221.243658 265.095529 +L 221.686529 267.331765 +L 222.28693 269.568 +L 222.498362 270.19406 +L 223.043514 271.804235 +L 223.952415 274.040471 +L 224.415785 275.021186 +L 225.012212 276.276706 +L 226.218201 278.512941 +L 226.333208 278.704265 +L 227.572717 280.749176 +L 228.250631 281.767468 +L 229.070692 282.985412 +L 230.168054 284.487524 +L 230.712126 285.221647 +L 232.085477 286.947332 +L 232.498963 287.457882 +L 234.002899 289.202786 +L 234.435261 289.694118 +L 235.920322 291.292482 +L 236.52746 291.930353 +L 237.837745 293.243457 +L 238.784767 294.166588 +L 239.755168 295.074715 +L 241.219706 296.402824 +L 241.672591 296.799465 +L 243.590013 298.420253 +L 243.859364 298.639059 +L 245.507436 299.939239 +L 246.747842 300.875294 +L 247.424859 301.37406 +L 249.342282 302.718419 +L 249.93474 303.111529 +L 251.259705 303.974085 +L 253.177128 305.147992 +L 253.526566 305.347765 z -M 340.835232 385.895798 -L 340.439195 385.855861 -L 338.042416 385.486933 -L 335.645638 384.991841 -L 333.248859 384.372012 -L 330.852081 383.629232 -L 329.08241 382.991597 -L 328.455302 382.761295 -L 326.058523 381.760497 -L 323.661745 380.641986 -L 322.583698 380.087395 -L 321.264966 379.39248 -L 318.868188 378.015846 -L 317.525469 377.183193 -L 316.471409 376.510129 -L 314.074631 374.871164 -L 313.260228 374.278992 -L 311.677852 373.087637 -L 309.52484 371.37479 -L 309.281074 371.172789 -L 306.884295 369.085861 -L 306.208371 368.470588 -L 304.487517 366.828389 -L 303.216621 365.566387 -L 302.090738 364.385958 -L 300.503901 362.662185 -L 299.69396 361.725838 -L 298.044478 359.757983 -L 297.297181 358.800632 -L 295.819011 356.853782 -L 294.900403 355.541075 -L 293.813271 353.94958 -L 292.503624 351.843839 -L 292.01723 351.045378 -L 290.430022 348.141176 -L 290.106846 347.469863 -L 289.050567 345.236975 -L 287.868745 342.332773 -L 287.710067 341.864664 -L 286.896067 339.428571 -L 286.124585 336.52437 -L 285.55552 333.620168 -L 285.313289 331.687916 -L 285.192814 330.715966 -L 285.037143 327.811765 -L 285.086482 324.907563 -L 285.313289 322.315587 -L 285.34092 322.003361 -L 285.803898 319.09916 -L 286.470742 316.194958 -L 287.33844 313.290756 -L 287.710067 312.276996 -L 288.4131 310.386555 -L 289.688043 307.482353 -L 290.106846 306.651605 -L 291.17059 304.578151 -L 292.503624 302.26783 -L 292.853474 301.67395 -L 294.746237 298.769748 -L 294.900403 298.553049 -L 296.859095 295.865546 -L 297.297181 295.308664 -L 299.195631 292.961345 -L 299.69396 292.38498 -L 301.770948 290.057143 -L 302.090738 289.719037 -L 304.487517 287.273272 -L 304.610221 287.152941 -L 306.884295 285.033359 -L 307.764338 284.248739 -L 309.281074 282.954742 -L 311.264232 281.344538 -L 311.677852 281.021178 -L 314.074631 279.247922 -L 315.23531 278.440336 -L 316.471409 277.607449 -L 318.868188 276.099416 -L 319.834754 275.536134 -L 321.264966 274.724629 -L 323.661745 273.47695 -L 325.451169 272.631933 -L 326.058523 272.351255 -L 328.455302 271.360194 -L 330.852081 270.488557 -L 333.248859 269.738856 -L 333.291479 269.727731 -L 335.645638 269.123441 -L 338.042416 268.632023 -L 340.439195 268.265833 -L 342.835973 268.025926 -L 345.232752 267.912994 -L 347.62953 267.927363 -L 350.026309 268.068991 -L 352.423087 268.33747 -L 354.819866 268.732026 -L 357.216644 269.251522 -L 358.99188 269.727731 -L 359.613423 269.897272 -L 362.010201 270.674693 -L 364.40698 271.573512 -L 366.803758 272.591141 -L 366.890012 272.631933 -L 369.200537 273.748519 -L 371.597315 275.021858 -L 372.487453 275.536134 -L 373.994094 276.430168 -L 376.390872 277.962721 -L 377.089542 278.440336 -L 378.787651 279.63905 -L 381.063143 281.344538 -L 381.18443 281.438949 -L 383.581208 283.407777 -L 384.556678 284.248739 -L 385.977987 285.529249 -L 387.703788 287.152941 -L 388.374765 287.817134 -L 390.551618 290.057143 -L 390.771544 290.297041 -L 393.131121 292.961345 -L 393.168322 293.00625 -L 395.465697 295.865546 -L 395.565101 295.999086 -L 397.572816 298.769748 -L 397.961879 299.355836 -L 399.465172 301.67395 -L 400.358658 303.19823 -L 401.151498 304.578151 -L 402.635152 307.482353 -L 402.755436 307.752735 -L 403.907626 310.386555 -L 404.983877 313.290756 -L 405.152215 313.848103 -L 405.851419 316.194958 -L 406.516386 319.09916 -L 406.978061 322.003361 -L 407.234358 324.907563 -L 407.284118 327.811765 -L 407.127118 330.715966 -L 406.764066 333.620168 -L 406.196602 336.52437 -L 405.427291 339.428571 -L 405.152215 340.254127 -L 404.450072 342.332773 -L 403.272395 345.236975 -L 402.755436 346.33363 -L 401.88894 348.141176 -L 400.358658 350.953088 -L 400.307417 351.045378 -L 398.510138 353.94958 -L 397.961879 354.756201 -L 396.50245 356.853782 -L 395.565101 358.095458 -L 394.275853 359.757983 -L 393.168322 361.087996 -L 391.816739 362.662185 -L 390.771544 363.806054 -L 389.106543 365.566387 -L 388.374765 366.299149 -L 386.120536 368.470588 -L 385.977987 368.601568 -L 383.581208 370.710422 -L 382.788756 371.37479 -L 381.18443 372.666072 -L 379.069716 374.278992 -L 378.787651 374.486764 -L 376.390872 376.149575 -L 374.798063 377.183193 -L 373.994094 377.689861 -L 371.597315 379.091602 -L 369.745691 380.087395 -L 369.200537 380.373612 -L 366.803758 381.518254 -L 364.40698 382.545881 -L 363.230006 382.991597 -L 362.010201 383.444814 -L 359.613423 384.215058 -L 357.216644 384.862803 -L 354.819866 385.386182 -L 352.423087 385.783687 -L 351.42967 385.895798 -L 350.026309 386.051932 -L 347.62953 386.1926 -L 345.232752 386.206871 -L 342.835973 386.094705 +M 272.668185 305.347765 +L 272.351356 305.317013 +L 270.433933 305.032938 +L 268.51651 304.651718 +L 266.599087 304.174449 +L 264.681664 303.602509 +L 263.265928 303.111529 +L 262.764242 302.934197 +L 260.846819 302.163583 +L 258.929396 301.302329 +L 258.066958 300.875294 +L 257.011973 300.34021 +L 255.09455 299.280202 +L 254.020375 298.639059 +L 253.177128 298.120799 +L 251.259705 296.858796 +L 250.608182 296.402824 +L 249.342282 295.485481 +L 247.619872 294.166588 +L 247.424859 294.011048 +L 245.507436 292.404113 +L 244.966696 291.930353 +L 243.590013 290.665859 +L 242.573297 289.694118 +L 241.672591 288.785188 +L 240.403121 287.457882 +L 239.755168 286.736896 +L 238.435583 285.221647 +L 237.837745 284.484487 +L 236.655209 282.985412 +L 235.920322 281.974628 +L 235.050617 280.749176 +L 234.002899 279.127756 +L 233.613784 278.512941 +L 232.344018 276.276706 +L 232.085477 275.759795 +L 231.240454 274.040471 +L 230.294996 271.804235 +L 230.168054 271.443792 +L 229.516854 269.568 +L 228.899668 267.331765 +L 228.444416 265.095529 +L 228.250631 263.607695 +L 228.154252 262.859294 +L 228.029714 260.623059 +L 228.069186 258.386824 +L 228.250631 256.391002 +L 228.272736 256.150588 +L 228.643118 253.914353 +L 229.176594 251.678118 +L 229.870752 249.441882 +L 230.168054 248.661287 +L 230.73048 247.205647 +L 231.750434 244.969412 +L 232.085477 244.329736 +L 232.936472 242.733176 +L 234.002899 240.954229 +L 234.282779 240.496941 +L 235.79699 238.260706 +L 235.920322 238.093848 +L 237.487276 236.024471 +L 237.837745 235.595671 +L 239.356505 233.788235 +L 239.755168 233.344434 +L 241.416759 231.552 +L 241.672591 231.291658 +L 243.590013 229.408419 +L 243.688176 229.315765 +L 245.507436 227.683687 +L 246.211471 227.079529 +L 247.424859 226.083151 +L 249.011386 224.843294 +L 249.342282 224.594307 +L 251.259705 223.2289 +L 252.188248 222.607059 +L 253.177128 221.965735 +L 255.09455 220.804551 +L 255.867803 220.370824 +L 257.011973 219.745965 +L 258.929396 218.785251 +L 260.360935 218.134588 +L 260.846819 217.918466 +L 262.764242 217.155349 +L 264.681664 216.484189 +L 266.599087 215.906919 +L 266.633183 215.898353 +L 268.51651 215.43305 +L 270.433933 215.054657 +L 272.351356 214.772691 +L 274.268779 214.587963 +L 276.186201 214.501006 +L 278.103624 214.51207 +L 280.021047 214.621123 +L 281.93847 214.827852 +L 283.855893 215.13166 +L 285.773315 215.531672 +L 287.193504 215.898353 +L 287.690738 216.0289 +L 289.608161 216.627513 +L 291.525584 217.319605 +L 293.443007 218.103179 +L 293.512009 218.134588 +L 295.36043 218.99436 +L 297.277852 219.974831 +L 297.989962 220.370824 +L 299.195275 221.059229 +L 301.112698 222.239295 +L 301.671634 222.607059 +L 303.030121 223.530069 +L 304.850515 224.843294 +L 304.947544 224.915991 +L 306.864966 226.431988 +L 307.645343 227.079529 +L 308.782389 228.065521 +L 310.16303 229.315765 +L 310.699812 229.827193 +L 312.441295 231.552 +L 312.617235 231.736721 +L 314.504897 233.788235 +L 314.534658 233.822813 +L 316.372557 236.024471 +L 316.452081 236.127296 +L 318.058253 238.260706 +L 318.369503 238.711994 +L 319.572138 240.496941 +L 320.286926 241.670637 +L 320.921199 242.733176 +L 322.108122 244.969412 +L 322.204349 245.177606 +L 323.126101 247.205647 +L 323.987102 249.441882 +L 324.121772 249.871039 +L 324.681135 251.678118 +L 325.213109 253.914353 +L 325.582449 256.150588 +L 325.787486 258.386824 +L 325.827295 260.623059 +L 325.701694 262.859294 +L 325.411253 265.095529 +L 324.957282 267.331765 +L 324.341833 269.568 +L 324.121772 270.203678 +L 323.560058 271.804235 +L 322.617916 274.040471 +L 322.204349 274.884895 +L 321.511152 276.276706 +L 320.286926 278.441878 +L 320.245934 278.512941 +L 318.808111 280.749176 +L 318.369503 281.370275 +L 317.20196 282.985412 +L 316.452081 283.941503 +L 315.420683 285.221647 +L 314.534658 286.245757 +L 313.453391 287.457882 +L 312.617235 288.338662 +L 311.285234 289.694118 +L 310.699812 290.258345 +L 308.896429 291.930353 +L 308.782389 292.031207 +L 306.864966 293.655025 +L 306.231005 294.166588 +L 304.947544 295.160875 +L 303.255773 296.402824 +L 303.030121 296.562808 +L 301.112698 297.843173 +L 299.838451 298.639059 +L 299.195275 299.029193 +L 297.277852 300.108534 +L 295.796553 300.875294 +L 295.36043 301.095681 +L 293.443007 301.977055 +L 291.525584 302.768328 +L 290.584004 303.111529 +L 289.608161 303.460507 +L 287.690738 304.053595 +L 285.773315 304.552358 +L 283.855893 304.95536 +L 281.93847 305.261439 +L 281.143736 305.347765 +L 280.021047 305.467988 +L 278.103624 305.576302 +L 276.186201 305.587291 +L 274.268779 305.500923 z " style="fill:#67001f;"/> - <path clip-path="url(#p553f52e075)" d="M 74.396779 122.661741 -L 76.793557 122.150687 -L 78.831791 121.613445 -L 79.190336 121.518664 -L 81.587114 120.765853 -L 83.983893 119.895991 -L 86.380671 118.911586 -L 86.823117 118.709244 -L 88.77745 117.80878 -L 91.174228 116.595097 -L 92.609259 115.805042 -L 93.571007 115.269117 -L 95.967785 113.830234 -L 97.416093 112.90084 -L 98.364564 112.281878 -L 100.761342 110.621439 -L 101.616095 109.996639 -L 103.158121 108.844726 -L 105.393493 107.092437 -L 105.554899 106.962473 -L 107.951678 104.947363 -L 108.82035 104.188235 -L 110.348456 102.809116 -L 111.981092 101.284034 -L 112.745235 100.542609 -L 114.907327 98.379832 -L 115.142013 98.134468 -L 117.538792 95.560598 -L 117.616093 95.47563 -L 119.93557 92.792809 -L 120.123191 92.571429 -L 122.332349 89.807799 -L 122.442856 89.667227 -L 124.578114 86.763025 -L 124.729128 86.541278 -L 126.531257 83.858824 -L 127.125906 82.892397 -L 128.305698 80.954622 -L 129.522685 78.742594 -L 129.900613 78.05042 -L 131.310046 75.146218 -L 131.919463 73.703549 -L 132.533965 72.242017 -L 133.567743 69.337815 -L 134.316242 66.755536 -L 134.409387 66.433613 -L 135.054277 63.529412 -L 135.500833 60.62521 -L 135.747037 57.721008 -L 135.791779 54.816807 -L 135.634854 51.912605 -L 135.276973 49.008403 -L 134.719752 46.104202 -L 134.316242 44.550077 -L 133.965083 43.2 -L 131.919463 43.2 -L 129.522685 43.2 -L 127.125906 43.2 -L 124.929815 43.2 -L 125.702665 46.104202 -L 126.273783 49.008403 -L 126.64059 51.912605 -L 126.801428 54.816807 -L 126.755571 57.721008 -L 126.503226 60.62521 -L 126.045533 63.529412 -L 125.384559 66.433613 -L 124.729128 68.643732 -L 124.520473 69.337815 -L 123.44832 72.242017 -L 122.332349 74.801243 -L 122.179384 75.146218 -L 120.699936 78.05042 -L 119.93557 79.384103 -L 119.017347 80.954622 -L 117.538792 83.239828 -L 117.12886 83.858824 -L 115.142013 86.606583 -L 115.025821 86.763025 -L 112.745235 89.607226 -L 112.695634 89.667227 -L 110.348456 92.322741 -L 110.120943 92.571429 -L 107.951678 94.807907 -L 107.278495 95.47563 -L 105.554899 97.100311 -L 104.13753 98.379832 -L 103.158121 99.22578 -L 100.761342 101.198565 -L 100.65178 101.284034 -L 98.364564 103.001803 -L 96.687537 104.188235 -L 95.967785 104.681291 -L 93.571007 106.217324 -L 92.099893 107.092437 -L 91.174228 107.628511 -L 88.77745 108.905185 -L 86.525479 109.996639 -L 86.380671 110.065315 -L 83.983893 111.086167 -L 81.587114 111.988235 -L 79.190336 112.768918 -L 78.70911 112.90084 -L 76.793557 113.417212 -L 74.396779 113.939871 -L 72 114.337589 -L 72 115.805042 -L 72 118.709244 -L 72 121.613445 -L 72 123.050627 + <path clip-path="url(#p0bba778d2e)" d="M 59.517423 102.657541 +L 61.434846 102.264029 +L 63.065433 101.850353 +L 63.352268 101.777371 +L 65.269691 101.197707 +L 67.187114 100.527913 +L 69.104537 99.769921 +L 69.458494 99.614118 +L 71.02196 98.92076 +L 72.939383 97.986225 +L 74.087407 97.377882 +L 74.856805 96.96522 +L 76.774228 95.85728 +L 77.932875 95.141647 +L 78.691651 94.665046 +L 80.609074 93.386508 +L 81.292876 92.905412 +L 82.526497 92.018439 +L 84.314795 90.669176 +L 84.443919 90.569104 +L 86.361342 89.01747 +L 87.05628 88.432941 +L 88.278765 87.371019 +L 89.584873 86.196706 +L 90.196188 85.625809 +L 91.925862 83.960471 +L 92.113611 83.771541 +L 94.031034 81.789661 +L 94.092874 81.724235 +L 95.948456 79.658463 +L 96.098553 79.488 +L 97.865879 77.360006 +L 97.954285 77.251765 +L 99.662491 75.015529 +L 99.783302 74.844784 +L 101.225006 72.779294 +L 101.700725 72.035146 +L 102.644559 70.543059 +L 103.618148 68.839798 +L 103.92049 68.306824 +L 105.048037 66.070588 +L 105.53557 64.959732 +L 106.027172 63.834353 +L 106.854194 61.598118 +L 107.452993 59.609763 +L 107.52751 59.361882 +L 108.043422 57.125647 +L 108.400666 54.889412 +L 108.59763 52.653176 +L 108.633423 50.416941 +L 108.507883 48.180706 +L 108.221579 45.944471 +L 107.775802 43.708235 +L 107.452993 42.511559 +L 107.172066 41.472 +L 105.53557 41.472 +L 103.618148 41.472 +L 101.700725 41.472 +L 99.943852 41.472 +L 100.562132 43.708235 +L 101.019027 45.944471 +L 101.312472 48.180706 +L 101.441143 50.416941 +L 101.404457 52.653176 +L 101.202581 54.889412 +L 100.836426 57.125647 +L 100.307647 59.361882 +L 99.783302 61.063674 +L 99.616378 61.598118 +L 98.758656 63.834353 +L 97.865879 65.804957 +L 97.743507 66.070588 +L 96.559949 68.306824 +L 95.948456 69.333759 +L 95.213878 70.543059 +L 94.031034 72.302667 +L 93.703088 72.779294 +L 92.113611 74.895069 +L 92.020657 75.015529 +L 90.196188 77.205564 +L 90.156507 77.251765 +L 88.278765 79.296511 +L 88.096754 79.488 +L 86.361342 81.210088 +L 85.822796 81.724235 +L 84.443919 82.97524 +L 83.310024 83.960471 +L 82.526497 84.611851 +L 80.609074 86.130895 +L 80.521424 86.196706 +L 78.691651 87.519389 +L 77.350029 88.432941 +L 76.774228 88.812594 +L 74.856805 89.995339 +L 73.679914 90.669176 +L 72.939383 91.081953 +L 71.02196 92.064992 +L 69.220383 92.905412 +L 69.104537 92.958293 +L 67.187114 93.744349 +L 65.269691 94.438941 +L 63.352268 95.040067 +L 62.967288 95.141647 +L 61.434846 95.539253 +L 59.517423 95.941701 +L 57.6 96.247944 +L 57.6 97.377882 +L 57.6 99.614118 +L 57.6 101.850353 +L 57.6 102.956983 z " style="fill:#67001f;"/> - <path clip-path="url(#p553f52e075)" d="M 333.248859 121.688098 -L 335.645638 122.289829 -L 338.042416 122.770466 -L 340.439195 123.128621 -L 342.835973 123.363264 -L 345.232752 123.473718 -L 347.62953 123.459664 -L 350.026309 123.321143 -L 352.423087 123.058555 -L 354.819866 122.672656 -L 357.216644 122.164558 -L 359.317199 121.613445 -L 359.613423 121.5355 -L 362.010201 120.785565 -L 364.40698 119.918522 -L 366.803758 118.936871 -L 367.302713 118.709244 -L 369.200537 117.836955 -L 371.597315 116.625893 -L 373.091148 115.805042 -L 373.994094 115.302849 -L 376.390872 113.86643 -L 377.8979 112.90084 -L 378.787651 112.321089 -L 381.18443 110.662938 -L 382.097083 109.996639 -L 383.581208 108.889351 -L 385.876057 107.092437 -L 385.977987 107.010455 -L 388.374765 104.99735 -L 389.301461 104.188235 -L 390.771544 102.862661 -L 392.462836 101.284034 -L 393.168322 100.600063 -L 395.389398 98.379832 -L 395.565101 98.196263 -L 397.961879 95.623961 -L 398.096896 95.47563 -L 400.358658 92.860942 -L 400.604131 92.571429 -L 402.755436 89.881373 -L 402.923843 89.667227 -L 405.059889 86.763025 -L 405.152215 86.627506 -L 407.012822 83.858824 -L 407.548993 82.987692 -L 408.787079 80.954622 -L 409.945772 78.849016 -L 410.381872 78.05042 -L 411.791517 75.146218 -L 412.34255 73.841956 -L 413.015299 72.242017 -L 414.049159 69.337815 -L 414.739329 66.956956 -L 414.890756 66.433613 -L 415.535651 63.529412 -L 415.982211 60.62521 -L 416.228418 57.721008 -L 416.273159 54.816807 -L 416.116234 51.912605 -L 415.758349 49.008403 -L 415.201124 46.104202 -L 414.739329 44.325613 -L 414.446531 43.2 -L 412.34255 43.2 -L 409.945772 43.2 -L 407.548993 43.2 -L 405.410908 43.2 -L 406.183985 46.104202 -L 406.755272 49.008403 -L 407.122187 51.912605 -L 407.283073 54.816807 -L 407.237202 57.721008 -L 406.984782 60.62521 -L 406.526954 63.529412 -L 405.865786 66.433613 -L 405.152215 68.839071 -L 405.002227 69.337815 -L 403.929679 72.242017 -L 402.755436 74.93388 -L 402.661242 75.146218 -L 401.181134 78.05042 -L 400.358658 79.484855 -L 399.498888 80.954622 -L 397.961879 83.328923 -L 397.610737 83.858824 -L 395.565101 86.686163 -L 395.507974 86.763025 -L 393.177653 89.667227 -L 393.168322 89.678103 -L 390.771544 92.387593 -L 390.603211 92.571429 -L 388.374765 94.866879 -L 387.760426 95.47563 -L 385.977987 97.154106 -L 384.618697 98.379832 -L 383.581208 99.27495 -L 381.18443 101.245294 -L 381.134701 101.284034 -L 378.787651 103.044311 -L 377.168224 104.188235 -L 376.390872 104.719932 -L 373.994094 106.253333 -L 372.580802 107.092437 -L 371.597315 107.660905 -L 369.200537 108.934823 -L 367.004345 109.996639 -L 366.803758 110.091536 -L 364.40698 111.109532 -L 362.010201 112.008676 -L 359.613423 112.786377 -L 359.193949 112.90084 -L 357.216644 113.431398 -L 354.819866 113.951035 -L 352.423087 114.345697 -L 350.026309 114.614249 -L 347.62953 114.755915 -L 345.232752 114.770288 -L 342.835973 114.657326 -L 340.439195 114.417354 -L 338.042416 114.051065 -L 335.645638 113.559514 -L 333.248859 112.944117 -L 333.108208 112.90084 -L 330.852081 112.194879 -L 328.455302 111.322928 -L 326.058523 110.331509 -L 325.334164 109.996639 -L 323.661745 109.206515 -L 321.264966 107.958268 -L 319.739701 107.092437 -L 318.868188 106.584267 -L 316.471409 105.075401 -L 315.155484 104.188235 -L 314.074631 103.435696 -L 311.677852 101.661274 -L 311.195629 101.284034 -L 309.281074 99.728334 -L 307.701668 98.379832 -L 306.884295 97.650437 -L 304.553049 95.47563 -L 304.487517 95.411299 -L 302.090738 92.963025 -L 301.720735 92.571429 -L 299.69396 90.2972 -L 299.14992 89.667227 -L 297.297181 87.373346 -L 296.817701 86.763025 -L 294.900403 84.128267 -L 294.709008 83.858824 -L 292.81959 80.954622 -L 292.503624 80.417162 -L 291.140829 78.05042 -L 290.106846 76.030149 -L 289.662297 75.146218 -L 288.39097 72.242017 -L 287.710067 70.404762 -L 287.320288 69.337815 -L 286.456335 66.433613 -L 285.793301 63.529412 -L 285.33418 60.62521 -L 285.313289 60.385517 -L 285.083662 57.721008 -L 285.03818 54.816807 -L 285.197704 51.912605 -L 285.313289 50.989919 -L 285.564338 49.008403 -L 286.137237 46.104202 -L 286.912497 43.2 -L 285.313289 43.2 -L 282.91651 43.2 -L 280.519732 43.2 -L 278.122953 43.2 -L 277.874645 43.2 -L 277.12047 46.104202 -L 276.563151 49.008403 -L 276.205207 51.912605 -L 276.048255 54.816807 -L 276.093004 57.721008 -L 276.339252 60.62521 -L 276.785886 63.529412 -L 277.430889 66.433613 -L 278.122953 68.825041 -L 278.271719 69.337815 -L 279.306425 72.242017 -L 280.519732 75.125155 -L 280.528644 75.146218 -L 281.94037 78.05042 -L 282.91651 79.835316 -L 283.533772 80.954622 -L 285.306143 83.858824 -L 285.313289 83.869547 -L 287.263248 86.763025 -L 287.710067 87.377157 -L 289.400346 89.667227 -L 290.106846 90.562462 -L 291.720278 92.571429 -L 292.503624 93.491414 -L 294.228574 95.47563 -L 294.900403 96.210043 -L 296.933799 98.379832 -L 297.297181 98.750833 -L 299.69396 101.131006 -L 299.852979 101.284034 -L 302.090738 103.357243 -L 303.020066 104.188235 -L 304.487517 105.458818 -L 306.450787 107.092437 -L 306.884295 107.44361 -L 309.281074 109.300824 -L 310.224612 109.996639 -L 311.677852 111.045323 -L 314.074631 112.682118 -L 314.415191 112.90084 -L 316.471409 114.199417 -L 318.868188 115.612852 -L 319.220048 115.805042 -L 321.264966 116.908584 -L 323.661745 118.095243 -L 325.028826 118.709244 -L 326.058523 119.168276 -L 328.455302 120.124299 -L 330.852081 120.96512 -L 333.000728 121.613445 + <path clip-path="url(#p0bba778d2e)" d="M 266.599087 101.907835 +L 268.51651 102.371169 +L 270.433933 102.741258 +L 272.351356 103.017038 +L 274.268779 103.197713 +L 276.186201 103.282763 +L 278.103624 103.271941 +L 280.021047 103.16528 +L 281.93847 102.963088 +L 283.855893 102.665945 +L 285.773315 102.27471 +L 287.453759 101.850353 +L 287.690738 101.790335 +L 289.608161 101.212885 +L 291.525584 100.545262 +L 293.443007 99.789391 +L 293.84217 99.614118 +L 295.36043 98.942456 +L 297.277852 98.009937 +L 298.472918 97.377882 +L 299.195275 96.991193 +L 301.112698 95.885151 +L 302.31832 95.141647 +L 303.030121 94.695239 +L 304.947544 93.418462 +L 305.677667 92.905412 +L 306.864966 92.0528 +L 308.700846 90.669176 +L 308.782389 90.60605 +L 310.699812 89.05596 +L 311.441169 88.432941 +L 312.617235 87.412249 +L 313.970269 86.196706 +L 314.534658 85.670048 +L 316.311518 83.960471 +L 316.452081 83.819123 +L 318.369503 81.83845 +L 318.477517 81.724235 +L 320.286926 79.710925 +L 320.483305 79.488 +L 322.204349 77.416657 +L 322.339074 77.251765 +L 324.047911 75.015529 +L 324.121772 74.911179 +L 325.610257 72.779294 +L 326.039195 72.108523 +L 327.029663 70.543059 +L 327.956617 68.921743 +L 328.305498 68.306824 +L 329.433214 66.070588 +L 329.87404 65.066306 +L 330.412239 63.834353 +L 331.239327 61.598118 +L 331.791463 59.764856 +L 331.912605 59.361882 +L 332.428521 57.125647 +L 332.785769 54.889412 +L 332.982734 52.653176 +L 333.018528 50.416941 +L 332.892987 48.180706 +L 332.60668 45.944471 +L 332.160899 43.708235 +L 331.791463 42.338722 +L 331.557225 41.472 +L 329.87404 41.472 +L 327.956617 41.472 +L 326.039195 41.472 +L 324.328726 41.472 +L 324.947188 43.708235 +L 325.404218 45.944471 +L 325.69775 48.180706 +L 325.826458 50.416941 +L 325.789762 52.653176 +L 325.587826 54.889412 +L 325.221563 57.125647 +L 324.692629 59.361882 +L 324.121772 61.214084 +L 324.001782 61.598118 +L 323.143743 63.834353 +L 322.204349 65.907088 +L 322.128994 66.070588 +L 320.944907 68.306824 +L 320.286926 69.411338 +L 319.59911 70.543059 +L 318.369503 72.37127 +L 318.088589 72.779294 +L 316.452081 74.956346 +L 316.40638 75.015529 +L 314.542122 77.251765 +L 314.534658 77.260139 +L 312.617235 79.346446 +L 312.482569 79.488 +L 310.699812 81.255497 +L 310.208341 81.724235 +L 308.782389 83.016661 +L 307.694958 83.960471 +L 306.864966 84.649712 +L 304.947544 86.166876 +L 304.907761 86.196706 +L 303.030121 87.55212 +L 301.734579 88.432941 +L 301.112698 88.842348 +L 299.195275 90.023067 +L 298.064642 90.669176 +L 297.277852 91.106897 +L 295.36043 92.087813 +L 293.603476 92.905412 +L 293.443007 92.978483 +L 291.525584 93.76234 +L 289.608161 94.454681 +L 287.690738 95.05351 +L 287.355159 95.141647 +L 285.773315 95.550177 +L 283.855893 95.950297 +L 281.93847 96.254187 +L 280.021047 96.460972 +L 278.103624 96.570055 +L 276.186201 96.581122 +L 274.268779 96.494141 +L 272.351356 96.309363 +L 270.433933 96.02732 +L 268.51651 95.648826 +L 266.599087 95.17497 +L 266.486567 95.141647 +L 264.681664 94.598057 +L 262.764242 93.926654 +L 260.846819 93.163262 +L 260.267331 92.905412 +L 258.929396 92.297017 +L 257.011973 91.335867 +L 255.791761 90.669176 +L 255.09455 90.277886 +L 253.177128 89.116059 +L 252.124387 88.432941 +L 251.259705 87.853486 +L 249.342282 86.487181 +L 248.956503 86.196706 +L 247.424859 84.998817 +L 246.161334 83.960471 +L 245.507436 83.398837 +L 243.64244 81.724235 +L 243.590013 81.6747 +L 241.672591 79.78953 +L 241.376588 79.488 +L 239.755168 77.736844 +L 239.319936 77.251765 +L 237.837745 75.485476 +L 237.454161 75.015529 +L 235.920322 72.986765 +L 235.767206 72.779294 +L 234.255672 70.543059 +L 234.002899 70.129214 +L 232.912663 68.306824 +L 232.085477 66.751215 +L 231.729838 66.070588 +L 230.712776 63.834353 +L 230.168054 62.419667 +L 229.85623 61.598118 +L 229.165068 59.361882 +L 228.63464 57.125647 +L 228.267344 54.889412 +L 228.250631 54.704848 +L 228.06693 52.653176 +L 228.030544 50.416941 +L 228.158163 48.180706 +L 228.250631 47.470237 +L 228.451471 45.944471 +L 228.90979 43.708235 +L 229.529997 41.472 +L 228.250631 41.472 +L 226.333208 41.472 +L 224.415785 41.472 +L 222.498362 41.472 +L 222.299716 41.472 +L 221.696376 43.708235 +L 221.250521 45.944471 +L 220.964166 48.180706 +L 220.838604 50.416941 +L 220.874403 52.653176 +L 221.071402 54.889412 +L 221.428709 57.125647 +L 221.944711 59.361882 +L 222.498362 61.203282 +L 222.617375 61.598118 +L 223.44514 63.834353 +L 224.415785 66.054369 +L 224.422915 66.070588 +L 225.552296 68.306824 +L 226.333208 69.681193 +L 226.827018 70.543059 +L 228.244914 72.779294 +L 228.250631 72.787551 +L 229.810599 75.015529 +L 230.168054 75.488411 +L 231.520277 77.251765 +L 232.085477 77.941096 +L 233.376222 79.488 +L 234.002899 80.196389 +L 235.382859 81.724235 +L 235.920322 82.289733 +L 237.547039 83.960471 +L 237.837745 84.246141 +L 239.755168 86.078875 +L 239.882384 86.196706 +L 241.672591 87.793077 +L 242.416053 88.432941 +L 243.590013 89.41129 +L 245.16063 90.669176 +L 245.507436 90.93958 +L 247.424859 92.369635 +L 248.17969 92.905412 +L 249.342282 93.712898 +L 251.259705 94.973231 +L 251.532152 95.141647 +L 253.177128 96.141551 +L 255.09455 97.229896 +L 255.376039 97.377882 +L 257.011973 98.22761 +L 258.929396 99.141337 +L 260.023061 99.614118 +L 260.846819 99.967573 +L 262.764242 100.70371 +L 264.681664 101.351142 +L 266.400582 101.850353 z " style="fill:#67001f;"/> </g> <g id="PathCollection_6"> - <path clip-path="url(#p553f52e075)" d="M 91.174228 388.8 -L 93.571007 388.8 -L 95.967785 388.8 -L 98.364564 388.8 -L 100.761342 388.8 -L 103.158121 388.8 -L 103.679328 388.8 -L 105.554899 387.395284 -L 107.472326 385.895798 -L 107.951678 385.51555 -L 110.348456 383.539359 -L 110.990309 382.991597 -L 112.745235 381.465121 -L 114.281572 380.087395 -L 115.142013 379.297012 -L 117.382359 377.183193 -L 117.538792 377.03121 -L 119.93557 374.647765 -L 120.299089 374.278992 -L 122.332349 372.143246 -L 123.051805 371.37479 -L 124.729128 369.508674 -L 125.649588 368.470588 -L 127.125906 366.725088 -L 128.095615 365.566387 -L 129.522685 363.765978 -L 130.390966 362.662185 -L 131.919463 360.594297 -L 132.534745 359.757983 -L 134.316242 357.157752 -L 134.52413 356.853782 -L 136.354738 353.94958 -L 136.71302 353.325292 -L 138.022916 351.045378 -L 139.109799 348.936788 -L 139.52154 348.141176 -L 140.845446 345.236975 -L 141.506577 343.551031 -L 141.987618 342.332773 -L 142.942862 339.428571 -L 143.702285 336.52437 -L 143.903356 335.481916 -L 144.266011 333.620168 -L 144.627947 330.715966 -L 144.784465 327.811765 -L 144.734857 324.907563 -L 144.479349 322.003361 -L 144.019094 319.09916 -L 143.903356 318.592123 -L 143.361539 316.194958 -L 142.507405 313.290756 -L 141.506577 310.517246 -L 141.459741 310.386555 -L 140.231143 307.482353 -L 139.109799 305.174119 -L 138.821429 304.578151 -L 137.240986 301.67395 -L 136.71302 300.797015 -L 135.493828 298.769748 -L 134.316242 296.975966 -L 133.585968 295.865546 -L 131.919463 293.51792 -L 131.522514 292.961345 -L 129.522685 290.338389 -L 129.306617 290.057143 -L 127.125906 287.379427 -L 126.939498 287.152941 -L 124.729128 284.600424 -L 124.420415 284.248739 -L 122.332349 281.97254 -L 121.746543 281.344538 -L 119.93557 279.475231 -L 118.912787 278.440336 -L 117.538792 277.094 -L 115.911471 275.536134 -L 115.142013 274.818939 -L 112.745235 272.644015 -L 112.731508 272.631933 -L 110.348456 270.579267 -L 109.325224 269.727731 -L 107.951678 268.603618 -L 105.690873 266.823529 -L 105.554899 266.717745 -L 103.158121 264.931958 -L 101.731931 263.919328 -L 100.761342 263.23525 -L 98.364564 261.634247 -L 97.380629 261.015126 -L 95.967785 260.128633 -L 93.571007 258.721717 -L 92.45 258.110924 -L 91.174228 257.414626 -L 88.77745 256.211446 -L 86.577804 255.206723 -L 86.380671 255.116116 -L 83.983893 254.12677 -L 81.587114 253.252543 -L 79.190336 252.495954 -L 78.46226 252.302521 -L 76.793557 251.854356 -L 74.396779 251.333631 -L 72 250.937385 -L 72 252.302521 -L 72 255.206723 -L 72 258.110924 -L 72 259.632549 -L 74.396779 260.021431 -L 76.793557 260.532479 -L 78.624687 261.015126 -L 79.190336 261.164641 -L 81.587114 261.91738 -L 83.983893 262.787157 -L 86.380671 263.771467 -L 86.704017 263.919328 -L 88.77745 264.874493 -L 91.174228 266.087954 -L 92.510548 266.823529 -L 93.571007 267.414301 -L 95.967785 268.852794 -L 97.3316 269.727731 -L 98.364564 270.401589 -L 100.761342 272.061429 -L 101.542096 272.631933 -L 103.158121 273.838575 -L 105.324661 275.536134 -L 105.554899 275.72142 -L 107.951678 277.735415 -L 108.758767 278.440336 -L 110.348456 279.874091 -L 111.923639 281.344538 -L 112.745235 282.141094 -L 114.853836 284.248739 -L 115.142013 284.549759 -L 117.538792 287.121336 -L 117.567571 287.152941 -L 119.93557 289.889079 -L 120.078151 290.057143 -L 122.332349 292.873806 -L 122.401246 292.961345 -L 124.539375 295.865546 -L 124.729128 296.143749 -L 126.496046 298.769748 -L 127.125906 299.79159 -L 128.273988 301.67395 -L 129.522685 303.938973 -L 129.872392 304.578151 -L 131.285202 307.482353 -L 131.919463 308.979578 -L 132.51271 310.386555 -L 133.550056 313.290756 -L 134.316242 315.922646 -L 134.395375 316.194958 -L 135.043969 319.09916 -L 135.494277 322.003361 -L 135.744263 324.907563 -L 135.792799 327.811765 -L 135.639664 330.715966 -L 135.285551 333.620168 -L 134.732059 336.52437 -L 134.316242 338.133733 -L 133.981091 339.428571 -L 133.035547 342.332773 -L 131.919463 345.188306 -L 131.900352 345.236975 -L 130.574622 348.141176 -L 129.522685 350.171048 -L 129.066124 351.045378 -L 127.375774 353.94958 -L 127.125906 354.34045 -L 125.502163 356.853782 -L 124.729128 357.956597 -L 123.44913 359.757983 -L 122.332349 361.22162 -L 121.214648 362.662185 -L 119.93557 364.211249 -L 118.794092 365.566387 -L 117.538792 366.977843 -L 116.179923 368.470588 -L 115.142013 369.558153 -L 113.361239 371.37479 -L 112.745235 371.978093 -L 110.348456 374.254942 -L 110.322253 374.278992 -L 107.951678 376.38026 -L 107.010135 377.183193 -L 105.554899 378.388396 -L 103.412824 380.087395 -L 103.158121 380.284615 -L 100.761342 382.05317 -L 99.419456 382.991597 -L 98.364564 383.715397 -L 95.967785 385.264511 -L 94.923756 385.895798 -L 93.571007 386.702183 -L 91.174228 388.028351 -L 89.657986 388.8 + <path clip-path="url(#p0bba778d2e)" d="M 72.939383 307.584 +L 74.856805 307.584 +L 76.774228 307.584 +L 78.691651 307.584 +L 80.609074 307.584 +L 82.526497 307.584 +L 82.943462 307.584 +L 84.443919 306.502368 +L 85.977861 305.347765 +L 86.361342 305.054974 +L 88.278765 303.533306 +L 88.792247 303.111529 +L 90.196188 301.936143 +L 91.425258 300.875294 +L 92.113611 300.266699 +L 93.905887 298.639059 +L 94.031034 298.522032 +L 95.948456 296.686779 +L 96.239271 296.402824 +L 97.865879 294.758299 +L 98.441444 294.166588 +L 99.783302 292.729679 +L 100.519671 291.930353 +L 101.700725 290.586318 +L 102.476492 289.694118 +L 103.618148 288.307803 +L 104.312773 287.457882 +L 105.53557 285.865609 +L 106.027796 285.221647 +L 107.452993 283.219469 +L 107.619304 282.985412 +L 109.08379 280.749176 +L 109.370416 280.268475 +L 110.418333 278.512941 +L 111.287839 276.889327 +L 111.617232 276.276706 +L 112.676357 274.040471 +L 113.205262 272.742294 +L 113.590094 271.804235 +L 114.35429 269.568 +L 114.961828 267.331765 +L 115.122685 266.529075 +L 115.412809 265.095529 +L 115.702358 262.859294 +L 115.827572 260.623059 +L 115.787886 258.386824 +L 115.583479 256.150588 +L 115.215275 253.914353 +L 115.122685 253.523934 +L 114.689231 251.678118 +L 114.005924 249.441882 +L 113.205262 247.306279 +L 113.167793 247.205647 +L 112.184915 244.969412 +L 111.287839 243.192071 +L 111.057144 242.733176 +L 109.792788 240.496941 +L 109.370416 239.821702 +L 108.395062 238.260706 +L 107.452993 236.879494 +L 106.868774 236.024471 +L 105.53557 234.216799 +L 105.218012 233.788235 +L 103.618148 231.768559 +L 103.445294 231.552 +L 101.700725 229.490159 +L 101.551599 229.315765 +L 99.783302 227.350326 +L 99.536332 227.079529 +L 97.865879 225.326856 +L 97.397235 224.843294 +L 95.948456 223.403928 +L 95.130229 222.607059 +L 94.031034 221.57038 +L 92.729177 220.370824 +L 92.113611 219.818583 +L 90.196188 218.143892 +L 90.185206 218.134588 +L 88.278765 216.554036 +L 87.460179 215.898353 +L 86.361342 215.032786 +L 84.552698 213.662118 +L 84.443919 213.580663 +L 82.526497 212.205608 +L 81.385545 211.425882 +L 80.609074 210.899142 +L 78.691651 209.66637 +L 77.904503 209.189647 +L 76.774228 208.507047 +L 74.856805 207.423722 +L 73.96 206.953412 +L 72.939383 206.417262 +L 71.02196 205.490813 +L 69.262243 204.717176 +L 69.104537 204.647409 +L 67.187114 203.885613 +L 65.269691 203.212458 +L 63.352268 202.629885 +L 62.769808 202.480941 +L 61.434846 202.135854 +L 59.517423 201.734896 +L 57.6 201.429786 +L 57.6 202.480941 +L 57.6 204.717176 +L 57.6 206.953412 +L 57.6 208.125063 +L 59.517423 208.424502 +L 61.434846 208.818009 +L 62.899749 209.189647 +L 63.352268 209.304774 +L 65.269691 209.884382 +L 67.187114 210.554111 +L 69.104537 211.31203 +L 69.363214 211.425882 +L 71.02196 212.161359 +L 72.939383 213.095724 +L 74.008438 213.662118 +L 74.856805 214.117011 +L 76.774228 215.224652 +L 77.86528 215.898353 +L 78.691651 216.417224 +L 80.609074 217.6953 +L 81.233677 218.134588 +L 82.526497 219.063703 +L 84.259728 220.370824 +L 84.443919 220.513493 +L 86.361342 222.06427 +L 87.007014 222.607059 +L 88.278765 223.71105 +L 89.538911 224.843294 +L 90.196188 225.456642 +L 91.883069 227.079529 +L 92.113611 227.311315 +L 94.031034 229.291429 +L 94.054057 229.315765 +L 95.948456 231.422591 +L 96.062521 231.552 +L 97.865879 233.72083 +L 97.920997 233.788235 +L 99.6315 236.024471 +L 99.783302 236.238686 +L 101.196837 238.260706 +L 101.700725 239.047524 +L 102.619191 240.496941 +L 103.618148 242.241009 +L 103.897914 242.733176 +L 105.028162 244.969412 +L 105.53557 246.122275 +L 106.010168 247.205647 +L 106.840045 249.441882 +L 107.452993 251.468437 +L 107.5163 251.678118 +L 108.035176 253.914353 +L 108.395422 256.150588 +L 108.595411 258.386824 +L 108.634239 260.623059 +L 108.511731 262.859294 +L 108.228441 265.095529 +L 107.785647 267.331765 +L 107.452993 268.570974 +L 107.184873 269.568 +L 106.428438 271.804235 +L 105.53557 274.002995 +L 105.520281 274.040471 +L 104.459697 276.276706 +L 103.618148 277.839707 +L 103.2529 278.512941 +L 101.900619 280.749176 +L 101.700725 281.050146 +L 100.40173 282.985412 +L 99.783302 283.834579 +L 98.759304 285.221647 +L 97.865879 286.348647 +L 96.971719 287.457882 +L 95.948456 288.650661 +L 95.035274 289.694118 +L 94.031034 290.780939 +L 92.943938 291.930353 +L 92.113611 292.767778 +L 90.688992 294.166588 +L 90.196188 294.631132 +L 88.278765 296.384306 +L 88.257803 296.402824 +L 86.361342 298.0208 +L 85.608108 298.639059 +L 84.443919 299.567065 +L 82.730259 300.875294 +L 82.526497 301.027154 +L 80.609074 302.388941 +L 79.535565 303.111529 +L 78.691651 303.668855 +L 76.774228 304.861673 +L 75.939005 305.347765 +L 74.856805 305.968681 +L 72.939383 306.98983 +L 71.726389 307.584 z " style="fill:#67001f;"/> - <path clip-path="url(#p553f52e075)" d="M 304.487517 385.99666 -L 306.884295 387.851691 -L 308.165199 388.8 -L 309.281074 388.8 -L 311.677852 388.8 -L 314.074631 388.8 -L 316.471409 388.8 -L 318.868188 388.8 -L 321.264966 388.8 -L 322.182566 388.8 -L 321.264966 388.343411 -L 318.868188 387.043496 -L 316.908207 385.895798 -L 316.471409 385.636353 -L 314.074631 384.111798 -L 312.418425 382.991597 -L 311.677852 382.481064 -L 309.281074 380.735143 -L 308.434803 380.087395 -L 306.884295 378.871739 -L 304.824205 377.183193 -L 304.487517 376.89903 -L 302.090738 374.79411 -L 301.524632 374.278992 -L 299.69396 372.554176 -L 298.480959 371.37479 -L 297.297181 370.175919 -L 295.659325 368.470588 -L 294.900403 367.642185 -L 293.044077 365.566387 -L 292.503624 364.928293 -L 290.623704 362.662185 -L 290.106846 361.999132 -L 288.390158 359.757983 -L 287.710067 358.804576 -L 286.338364 356.853782 -L 285.313289 355.272036 -L 284.465896 353.94958 -L 282.91651 351.293851 -L 282.772752 351.045378 -L 281.265264 348.141176 -L 280.519732 346.510632 -L 279.940519 345.236975 -L 278.804393 342.332773 -L 278.122953 340.241636 -L 277.858663 339.428571 -L 277.108161 336.52437 -L 276.554572 333.620168 -L 276.200396 330.715966 -L 276.047235 327.811765 -L 276.095779 324.907563 -L 276.345809 322.003361 -L 276.796196 319.09916 -L 277.444904 316.194958 -L 278.122953 313.862072 -L 278.289421 313.290756 -L 279.3277 310.386555 -L 280.519732 307.562003 -L 280.553528 307.482353 -L 281.968636 304.578151 -L 282.91651 302.848486 -L 283.565557 301.67395 -L 285.313289 298.815184 -L 285.341382 298.769748 -L 287.301583 295.865546 -L 287.710067 295.304858 -L 289.442118 292.961345 -L 290.106846 292.120029 -L 291.765529 290.057143 -L 292.503624 289.19119 -L 294.277364 287.152941 -L 294.900403 286.47247 -L 296.986208 284.248739 -L 297.297181 283.931491 -L 299.69396 281.553149 -L 299.910907 281.344538 -L 302.090738 279.326324 -L 303.082221 278.440336 -L 304.487517 277.224244 -L 306.517395 275.536134 -L 306.884295 275.239054 -L 309.281074 273.382684 -L 310.29957 272.631933 -L 311.677852 271.637699 -L 314.074631 270.001494 -L 314.501045 269.727731 -L 316.471409 268.483711 -L 318.868188 267.070658 -L 319.320752 266.823529 -L 321.264966 265.774524 -L 323.661745 264.588082 -L 325.151007 263.919328 -L 326.058523 263.514802 -L 328.455302 262.558872 -L 330.852081 261.718132 -L 333.182172 261.015126 -L 333.248859 260.995063 -L 335.645638 260.393338 -L 338.042416 259.912708 -L 340.439195 259.554556 -L 342.835973 259.319916 -L 345.232752 259.209464 -L 347.62953 259.223517 -L 350.026309 259.362036 -L 352.423087 259.624621 -L 354.819866 260.010516 -L 357.216644 260.518608 -L 359.109134 261.015126 -L 359.613423 261.147807 -L 362.010201 261.89767 -L 364.40698 262.764629 -L 366.803758 263.746185 -L 367.183321 263.919328 -L 369.200537 264.846322 -L 371.597315 266.057164 -L 372.992247 266.823529 -L 373.994094 267.380578 -L 376.390872 268.816607 -L 377.813277 269.727731 -L 378.787651 270.362392 -L 381.18443 272.019945 -L 382.022993 272.631933 -L 383.581208 273.793971 -L 385.807148 275.536134 -L 385.977987 275.673465 -L 388.374765 277.685456 -L 389.239823 278.440336 -L 390.771544 279.820581 -L 392.405338 281.344538 -L 393.168322 282.083684 -L 395.335869 284.248739 -L 395.565101 284.48802 -L 397.961879 287.05803 -L 398.048349 287.152941 -L 400.358658 289.821016 -L 400.559071 290.057143 -L 402.755436 292.800319 -L 402.882218 292.961345 -L 405.021136 295.865546 -L 405.152215 296.057654 -L 406.977601 298.769748 -L 407.548993 299.696464 -L 408.755362 301.67395 -L 409.945772 303.832768 -L 410.353647 304.578151 -L 411.76667 307.482353 -L 412.34255 308.841563 -L 412.994042 310.386555 -L 414.031471 313.290756 -L 414.739329 315.722095 -L 414.876743 316.194958 -L 415.525344 319.09916 -L 415.975655 322.003361 -L 416.225644 324.907563 -L 416.27418 327.811765 -L 416.121043 330.715966 -L 415.766927 333.620168 -L 415.21343 336.52437 -L 414.739329 338.359296 -L 414.46254 339.428571 -L 413.516921 342.332773 -L 412.381725 345.236975 -L 412.34255 345.323187 -L 411.055982 348.141176 -L 409.945772 350.283174 -L 409.547674 351.045378 -L 407.856948 353.94958 -L 407.548993 354.431209 -L 405.983424 356.853782 -L 405.152215 358.039239 -L 403.930488 359.757983 -L 402.755436 361.297421 -L 401.696076 362.662185 -L 400.358658 364.28118 -L 399.275516 365.566387 -L 397.961879 367.042659 -L 396.661221 368.470588 -L 395.565101 369.618449 -L 393.842232 371.37479 -L 393.168322 372.034344 -L 390.803574 374.278992 -L 390.771544 374.308355 -L 388.374765 376.430962 -L 387.491798 377.183193 -L 385.977987 378.43566 -L 383.893185 380.087395 -L 383.581208 380.328695 -L 381.18443 382.095062 -L 379.900677 382.991597 -L 378.787651 383.754232 -L 376.390872 385.300969 -L 375.405449 385.895798 -L 373.994094 386.735678 -L 371.597315 388.059301 -L 370.13874 388.8 -L 371.597315 388.8 -L 373.994094 388.8 -L 376.390872 388.8 -L 378.787651 388.8 -L 381.18443 388.8 -L 383.581208 388.8 -L 384.159985 388.8 -L 385.977987 387.439914 -L 387.95445 385.895798 -L 388.374765 385.562713 -L 390.771544 383.588277 -L 391.47127 382.991597 -L 393.168322 381.516627 -L 394.763206 380.087395 -L 395.565101 379.351305 -L 397.86439 377.183193 -L 397.961879 377.088535 -L 400.358658 374.706343 -L 400.780107 374.278992 -L 402.755436 372.205023 -L 403.533017 371.37479 -L 405.152215 369.574006 -L 406.130893 368.470588 -L 407.548993 366.794414 -L 408.576949 365.566387 -L 409.945772 363.839846 -L 410.872299 362.662185 -L 412.34255 360.673396 -L 413.01608 359.757983 -L 414.739329 357.242968 -L 415.005499 356.853782 -L 416.836124 353.94958 -L 417.136107 353.42688 -L 418.504285 351.045378 -L 419.532886 349.049736 -L 420.003018 348.141176 -L 421.32675 345.236975 -L 421.929664 343.699286 -L 422.469136 342.332773 -L 423.424186 339.428571 -L 424.183455 336.52437 -L 424.326443 335.782896 -L 424.747611 333.620168 -L 425.109447 330.715966 -L 425.265922 327.811765 -L 425.216328 324.907563 -L 424.96089 322.003361 -L 424.500762 319.09916 -L 424.326443 318.335275 -L 423.842778 316.194958 -L 422.988818 313.290756 -L 421.941042 310.386555 -L 421.929664 310.35984 -L 420.712528 307.482353 -L 419.532886 305.053797 -L 419.30275 304.578151 -L 417.722403 301.67395 -L 417.136107 300.700072 -L 415.975206 298.769748 -L 414.739329 296.88719 -L 414.067386 295.865546 -L 412.34255 293.435942 -L 412.004017 292.961345 -L 409.945772 290.262177 -L 409.788219 290.057143 -L 407.548993 287.308185 -L 407.421183 287.152941 -L 405.152215 284.533527 -L 404.902132 284.248739 -L 402.755436 281.909492 -L 402.228208 281.344538 -L 400.358658 279.415627 -L 399.394272 278.440336 -L 397.961879 277.037515 -L 396.392605 275.536134 -L 395.565101 274.765305 -L 393.212474 272.631933 -L 393.168322 272.592752 -L 390.771544 270.529893 -L 389.806784 269.727731 -L 388.374765 268.556805 -L 386.171221 266.823529 -L 385.977987 266.673346 -L 383.581208 264.889543 -L 382.213063 263.919328 -L 381.18443 263.195237 -L 378.787651 261.59644 -L 377.862381 261.015126 -L 376.390872 260.09324 -L 373.994094 258.688734 -L 372.931583 258.110924 -L 371.597315 257.384097 -L 369.200537 256.183514 -L 367.056798 255.206723 -L 366.803758 255.090705 -L 364.40698 254.104127 -L 362.010201 253.232733 -L 359.613423 252.479034 -L 358.945954 252.302521 -L 357.216644 251.840223 -L 354.819866 251.322509 -L 352.423087 250.929307 -L 350.026309 250.661749 -L 347.62953 250.520607 -L 345.232752 250.506287 -L 342.835973 250.618831 -L 340.439195 250.857915 -L 338.042416 251.222849 -L 335.645638 251.712581 -L 333.339472 252.302521 -L 333.248859 252.325451 -L 330.852081 253.052276 -L 328.455302 253.897317 -L 326.058523 254.858138 -L 325.280486 255.206723 -L 323.661745 255.927462 -L 321.264966 257.103852 -L 319.382523 258.110924 -L 318.868188 258.385618 -L 316.471409 259.767652 -L 314.451226 261.015126 -L 314.074631 261.248334 -L 311.677852 262.82654 -L 310.107274 263.919328 -L 309.281074 264.498443 -L 306.884295 266.263699 -L 306.157208 266.823529 -L 304.487517 268.124641 -L 302.510496 269.727731 -L 302.090738 270.073836 -L 299.69396 272.121405 -L 299.11487 272.631933 -L 297.297181 274.269423 -L 295.92949 275.536134 -L 294.900403 276.515051 -L 292.924727 278.440336 -L 292.503624 278.864088 -L 290.106846 281.326528 -L 290.08962 281.344538 -L 287.710067 283.928436 -L 287.419302 284.248739 -L 285.313289 286.673188 -L 284.901239 287.152941 -L 282.91651 289.584259 -L 282.533692 290.057143 -L 280.519732 292.694344 -L 280.316929 292.961345 -L 278.253477 295.865546 -L 278.122953 296.063837 -L 276.346258 298.769748 -L 275.726174 299.800639 -L 274.598947 301.67395 -L 273.329396 304.008132 -L 273.018351 304.578151 -L 271.609274 307.482353 -L 270.932617 309.083888 -L 270.378827 310.386555 -L 269.332933 313.290756 -L 268.535839 316.006445 -L 268.480001 316.194958 -L 267.818895 319.09916 -L 267.359901 322.003361 -L 267.105093 324.907563 -L 267.055622 327.811765 -L 267.21171 330.715966 -L 267.572654 333.620168 -L 268.136822 336.52437 -L 268.535839 338.039483 -L 268.898347 339.428571 -L 269.851682 342.332773 -L 270.932617 345.075776 -L 270.99575 345.236975 -L 272.317977 348.141176 -L 273.329396 350.098034 -L 273.817443 351.045378 -L 275.485106 353.94958 -L 275.726174 354.331816 -L 277.316127 356.853782 -L 278.122953 358.033303 -L 279.305644 359.757983 -L 280.519732 361.406733 -L 281.449219 362.662185 -L 282.91651 364.524435 -L 283.744352 365.566387 -L 285.313289 367.436679 -L 286.190479 368.470588 -L 287.710067 370.179037 -L 288.789028 371.37479 -L 290.106846 372.776906 -L 291.543556 374.278992 -L 292.503624 375.248396 -L 294.459977 377.183193 -L 294.900403 377.606201 -L 297.297181 379.853276 -L 297.553912 380.087395 -L 299.69396 381.992605 -L 300.85195 382.991597 -L 302.090738 384.040124 -L 304.36228 385.895798 + <path clip-path="url(#p0bba778d2e)" d="M 243.590013 305.425428 +L 245.507436 306.853802 +L 246.532159 307.584 +L 247.424859 307.584 +L 249.342282 307.584 +L 251.259705 307.584 +L 253.177128 307.584 +L 255.09455 307.584 +L 257.011973 307.584 +L 257.746053 307.584 +L 257.011973 307.232427 +L 255.09455 306.231492 +L 253.526566 305.347765 +L 253.177128 305.147992 +L 251.259705 303.974085 +L 249.93474 303.111529 +L 249.342282 302.718419 +L 247.424859 301.37406 +L 246.747842 300.875294 +L 245.507436 299.939239 +L 243.859364 298.639059 +L 243.590013 298.420253 +L 241.672591 296.799465 +L 241.219706 296.402824 +L 239.755168 295.074715 +L 238.784767 294.166588 +L 237.837745 293.243457 +L 236.52746 291.930353 +L 235.920322 291.292482 +L 234.435261 289.694118 +L 234.002899 289.202786 +L 232.498963 287.457882 +L 232.085477 286.947332 +L 230.712126 285.221647 +L 230.168054 284.487524 +L 229.070692 282.985412 +L 228.250631 281.767468 +L 227.572717 280.749176 +L 226.333208 278.704265 +L 226.218201 278.512941 +L 225.012212 276.276706 +L 224.415785 275.021186 +L 223.952415 274.040471 +L 223.043514 271.804235 +L 222.498362 270.19406 +L 222.28693 269.568 +L 221.686529 267.331765 +L 221.243658 265.095529 +L 220.960317 262.859294 +L 220.837788 260.623059 +L 220.876623 258.386824 +L 221.076647 256.150588 +L 221.436956 253.914353 +L 221.955924 251.678118 +L 222.498362 249.881795 +L 222.631537 249.441882 +L 223.46216 247.205647 +L 224.415785 245.030742 +L 224.442822 244.969412 +L 225.574909 242.733176 +L 226.333208 241.401334 +L 226.852446 240.496941 +L 228.250631 238.295691 +L 228.273106 238.260706 +L 229.841267 236.024471 +L 230.168054 235.59274 +L 231.553694 233.788235 +L 232.085477 233.140422 +L 233.412423 231.552 +L 234.002899 230.885216 +L 235.421891 229.315765 +L 235.920322 228.791802 +L 237.588966 227.079529 +L 237.837745 226.835248 +L 239.755168 225.003925 +L 239.928726 224.843294 +L 241.672591 223.28927 +L 242.465777 222.607059 +L 243.590013 221.670668 +L 245.213916 220.370824 +L 245.507436 220.142071 +L 247.424859 218.712667 +L 248.239656 218.134588 +L 249.342282 217.369028 +L 251.259705 216.10915 +L 251.600836 215.898353 +L 253.177128 214.940457 +L 255.09455 213.852407 +L 255.456602 213.662118 +L 257.011973 212.854383 +L 258.929396 211.940823 +L 260.120806 211.425882 +L 260.846819 211.114397 +L 262.764242 210.378331 +L 264.681664 209.730962 +L 266.545737 209.189647 +L 266.599087 209.174198 +L 268.51651 208.71087 +L 270.433933 208.340785 +L 272.351356 208.065008 +L 274.268779 207.884335 +L 276.186201 207.799287 +L 278.103624 207.810108 +L 280.021047 207.916768 +L 281.93847 208.118958 +L 283.855893 208.416097 +L 285.773315 208.807328 +L 287.287307 209.189647 +L 287.690738 209.291812 +L 289.608161 209.869206 +L 291.525584 210.536764 +L 293.443007 211.292562 +L 293.746657 211.425882 +L 295.36043 212.139668 +L 297.277852 213.072016 +L 298.393798 213.662118 +L 299.195275 214.091045 +L 301.112698 215.196788 +L 302.250622 215.898353 +L 303.030121 216.387042 +L 304.947544 217.663358 +L 305.618394 218.134588 +L 306.864966 219.029357 +L 308.645718 220.370824 +L 308.782389 220.476568 +L 310.699812 222.025801 +L 311.391859 222.607059 +L 312.617235 223.669847 +L 313.92427 224.843294 +L 314.534658 225.412437 +L 316.268695 227.079529 +L 316.452081 227.263775 +L 318.369503 229.242683 +L 318.438679 229.315765 +L 320.286926 231.370182 +L 320.447257 231.552 +L 322.204349 233.664245 +L 322.305774 233.788235 +L 324.016909 236.024471 +L 324.121772 236.172393 +L 325.582081 238.260706 +L 326.039195 238.974277 +L 327.004289 240.496941 +L 327.956617 242.159232 +L 328.282918 242.733176 +L 329.413336 244.969412 +L 329.87404 246.016003 +L 330.395234 247.205647 +L 331.225177 249.441882 +L 331.791463 251.314013 +L 331.901394 251.678118 +L 332.420275 253.914353 +L 332.780524 256.150588 +L 332.980515 258.386824 +L 333.019344 260.623059 +L 332.896835 262.859294 +L 332.613542 265.095529 +L 332.170744 267.331765 +L 331.791463 268.744658 +L 331.570032 269.568 +L 330.813537 271.804235 +L 329.90538 274.040471 +L 329.87404 274.106854 +L 328.844786 276.276706 +L 327.956617 277.926044 +L 327.638139 278.512941 +L 326.285558 280.749176 +L 326.039195 281.120031 +L 324.786739 282.985412 +L 324.121772 283.898214 +L 323.144391 285.221647 +L 322.204349 286.407014 +L 321.35686 287.457882 +L 320.286926 288.704509 +L 319.420412 289.694118 +L 318.369503 290.830848 +L 317.328977 291.930353 +L 316.452081 292.814206 +L 315.073785 294.166588 +L 314.534658 294.674445 +L 312.64286 296.402824 +L 312.617235 296.425433 +L 310.699812 298.05984 +L 309.993438 298.639059 +L 308.782389 299.603458 +L 307.114548 300.875294 +L 306.864966 301.061095 +L 304.947544 302.421198 +L 303.920541 303.111529 +L 303.030121 303.698759 +L 301.112698 304.889746 +L 300.324359 305.347765 +L 299.195275 305.994472 +L 297.277852 307.013662 +L 296.110992 307.584 +L 297.277852 307.584 +L 299.195275 307.584 +L 301.112698 307.584 +L 303.030121 307.584 +L 304.947544 307.584 +L 306.864966 307.584 +L 307.327988 307.584 +L 308.782389 306.536733 +L 310.36356 305.347765 +L 310.699812 305.091289 +L 312.617235 303.570974 +L 313.177016 303.111529 +L 314.534658 301.975803 +L 315.810565 300.875294 +L 316.452081 300.308505 +L 318.291512 298.639059 +L 318.369503 298.566172 +L 320.286926 296.731884 +L 320.624086 296.402824 +L 322.204349 294.805867 +L 322.826414 294.166588 +L 324.121772 292.779985 +L 324.904715 291.930353 +L 326.039195 290.639699 +L 326.861559 289.694118 +L 327.956617 288.364681 +L 328.697839 287.457882 +L 329.87404 285.926515 +L 330.412864 285.221647 +L 331.791463 283.285085 +L 332.004399 282.985412 +L 333.468899 280.749176 +L 333.708886 280.346697 +L 334.803428 278.512941 +L 335.626309 276.976297 +L 336.002414 276.276706 +L 337.0614 274.040471 +L 337.543732 272.85645 +L 337.975308 271.804235 +L 338.739349 269.568 +L 339.346764 267.331765 +L 339.461154 266.76083 +L 339.798089 265.095529 +L 340.087558 262.859294 +L 340.212738 260.623059 +L 340.173063 258.386824 +L 339.968712 256.150588 +L 339.600609 253.914353 +L 339.461154 253.326162 +L 339.074222 251.678118 +L 338.391054 249.441882 +L 337.552833 247.205647 +L 337.543732 247.185077 +L 336.570022 244.969412 +L 335.626309 243.099424 +L 335.4422 242.733176 +L 334.177922 240.496941 +L 333.708886 239.747055 +L 332.780165 238.260706 +L 331.791463 236.811137 +L 331.253909 236.024471 +L 329.87404 234.153676 +L 329.603214 233.788235 +L 327.956617 231.709876 +L 327.830575 231.552 +L 326.039195 229.435302 +L 325.936946 229.315765 +L 324.121772 227.298816 +L 323.921706 227.079529 +L 322.204349 225.278309 +L 321.782566 224.843294 +L 320.286926 223.358033 +L 319.515418 222.607059 +L 318.369503 221.526887 +L 317.114084 220.370824 +L 316.452081 219.777285 +L 314.569979 218.134588 +L 314.534658 218.104419 +L 312.617235 216.516017 +L 311.845427 215.898353 +L 310.699812 214.99674 +L 308.936977 213.662118 +L 308.782389 213.546476 +L 306.864966 212.172948 +L 305.770451 211.425882 +L 304.947544 210.868332 +L 303.030121 209.637259 +L 302.289905 209.189647 +L 301.112698 208.479795 +L 299.195275 207.398326 +L 298.345266 206.953412 +L 297.277852 206.393755 +L 295.36043 205.469306 +L 293.645438 204.717176 +L 293.443007 204.627842 +L 291.525584 203.868178 +L 289.608161 203.197204 +L 287.690738 202.616856 +L 287.156764 202.480941 +L 285.773315 202.124972 +L 283.855893 201.726332 +L 281.93847 201.423566 +L 280.021047 201.217547 +L 278.103624 201.108867 +L 276.186201 201.097841 +L 274.268779 201.1845 +L 272.351356 201.368594 +L 270.433933 201.649593 +L 268.51651 202.026687 +L 266.671578 202.480941 +L 266.599087 202.498597 +L 264.681664 203.058253 +L 262.764242 203.708934 +L 260.846819 204.448766 +L 260.224389 204.717176 +L 258.929396 205.272145 +L 257.011973 206.177966 +L 255.506018 206.953412 +L 255.09455 207.164926 +L 253.177128 208.229092 +L 251.560981 209.189647 +L 251.259705 209.369217 +L 249.342282 210.584436 +L 248.085819 211.425882 +L 247.424859 211.871801 +L 245.507436 213.231048 +L 244.925767 213.662118 +L 243.590013 214.663974 +L 242.008397 215.898353 +L 241.672591 216.164854 +L 239.755168 217.741482 +L 239.291896 218.134588 +L 237.837745 219.395456 +L 236.743592 220.370824 +L 235.920322 221.12459 +L 234.339782 222.607059 +L 234.002899 222.933348 +L 232.085477 224.829427 +L 232.071696 224.843294 +L 230.168054 226.832896 +L 229.935442 227.079529 +L 228.250631 228.946355 +L 227.920991 229.315765 +L 226.333208 231.18788 +L 226.026954 231.552 +L 224.415785 233.582645 +L 224.253544 233.788235 +L 222.602782 236.024471 +L 222.498362 236.177155 +L 221.077007 238.260706 +L 220.58094 239.054492 +L 219.679158 240.496941 +L 218.663517 242.294261 +L 218.414681 242.733176 +L 217.287419 244.969412 +L 216.746094 246.202594 +L 216.303062 247.205647 +L 215.466347 249.441882 +L 214.828671 251.532962 +L 214.784001 251.678118 +L 214.255116 253.914353 +L 213.887921 256.150588 +L 213.684075 258.386824 +L 213.644497 260.623059 +L 213.769368 262.859294 +L 214.058123 265.095529 +L 214.509458 267.331765 +L 214.828671 268.498402 +L 215.118677 269.568 +L 215.881346 271.804235 +L 216.746094 273.916348 +L 216.7966 274.040471 +L 217.854381 276.276706 +L 218.663517 277.783486 +L 219.053955 278.512941 +L 220.388085 280.749176 +L 220.58094 281.043498 +L 221.852902 282.985412 +L 222.498362 283.893644 +L 223.444515 285.221647 +L 224.415785 286.491185 +L 225.159375 287.457882 +L 226.333208 288.891815 +L 226.995482 289.694118 +L 228.250631 291.134243 +L 228.952383 291.930353 +L 230.168054 293.245858 +L 231.031222 294.166588 +L 232.085477 295.246217 +L 233.234845 296.402824 +L 234.002899 297.149265 +L 235.567982 298.639059 +L 235.920322 298.964774 +L 237.837745 300.695022 +L 238.04313 300.875294 +L 239.755168 302.342306 +L 240.68156 303.111529 +L 241.672591 303.918895 +L 243.489824 305.347765 z " style="fill:#67001f;"/> - <path clip-path="url(#p553f52e075)" d="M 74.396779 131.349658 -L 76.793557 130.829061 -L 78.666938 130.32605 -L 79.190336 130.187018 -L 81.587114 129.430549 -L 83.983893 128.556461 -L 86.380671 127.567273 -L 86.697122 127.421849 -L 88.77745 126.471696 -L 91.174228 125.268604 -L 92.550249 124.517647 -L 93.571007 123.96147 -L 95.967785 122.554538 -L 97.467629 121.613445 -L 98.364564 121.049013 -L 100.761342 119.447855 -L 101.809204 118.709244 -L 103.158121 117.751304 -L 105.554899 115.965191 -L 105.760714 115.805042 -L 107.951678 114.079478 -L 109.391457 112.90084 -L 110.348456 112.104136 -L 112.745235 110.038902 -L 112.792809 109.996639 -L 115.142013 107.863916 -L 115.969334 107.092437 -L 117.538792 105.589133 -L 118.967679 104.188235 -L 119.93557 103.208239 -L 121.798502 101.284034 -L 122.332349 100.711292 -L 124.469462 98.379832 -L 124.729128 98.083759 -L 126.985643 95.47563 -L 127.125906 95.305035 -L 129.349853 92.571429 -L 129.522685 92.346196 -L 131.562823 89.667227 -L 131.919463 89.166497 -L 133.623321 86.763025 -L 134.316242 85.707779 -L 135.528182 83.858824 -L 136.71302 81.885191 -L 137.272287 80.954622 -L 138.849499 78.05042 -L 139.109799 77.511175 -L 140.255953 75.146218 -L 141.481067 72.242017 -L 141.506577 72.170587 -L 142.525273 69.337815 -L 143.375721 66.433613 -L 143.903356 64.085781 -L 144.029629 63.529412 -L 144.486049 60.62521 -L 144.737692 57.721008 -L 144.783422 54.816807 -L 144.623031 51.912605 -L 144.257244 49.008403 -L 143.903356 47.20382 -L 143.68983 46.104202 -L 142.92669 43.2 -L 141.506577 43.2 -L 139.109799 43.2 -L 136.71302 43.2 -L 134.316242 43.2 -L 133.965083 43.2 -L 134.316242 44.550077 -L 134.719752 46.104202 -L 135.276973 49.008403 -L 135.634854 51.912605 -L 135.791779 54.816807 -L 135.747037 57.721008 -L 135.500833 60.62521 -L 135.054277 63.529412 -L 134.409387 66.433613 -L 134.316242 66.755536 -L 133.567743 69.337815 -L 132.533965 72.242017 -L 131.919463 73.703549 -L 131.310046 75.146218 -L 129.900613 78.05042 -L 129.522685 78.742594 -L 128.305698 80.954622 -L 127.125906 82.892397 -L 126.531257 83.858824 -L 124.729128 86.541278 -L 124.578114 86.763025 -L 122.442856 89.667227 -L 122.332349 89.807799 -L 120.123191 92.571429 -L 119.93557 92.792809 -L 117.616093 95.47563 -L 117.538792 95.560598 -L 115.142013 98.134468 -L 114.907327 98.379832 -L 112.745235 100.542609 -L 111.981092 101.284034 -L 110.348456 102.809116 -L 108.82035 104.188235 -L 107.951678 104.947363 -L 105.554899 106.962473 -L 105.393493 107.092437 -L 103.158121 108.844726 -L 101.616095 109.996639 -L 100.761342 110.621439 -L 98.364564 112.281878 -L 97.416093 112.90084 -L 95.967785 113.830234 -L 93.571007 115.269117 -L 92.609259 115.805042 -L 91.174228 116.595097 -L 88.77745 117.80878 -L 86.823117 118.709244 -L 86.380671 118.911586 -L 83.983893 119.895991 -L 81.587114 120.765853 -L 79.190336 121.518664 -L 78.831791 121.613445 -L 76.793557 122.150687 -L 74.396779 122.661741 -L 72 123.050627 -L 72 124.517647 -L 72 127.421849 -L 72 130.32605 -L 72 131.745807 + <path clip-path="url(#p0bba778d2e)" d="M 59.517423 109.347237 +L 61.434846 108.946377 +L 62.93355 108.559059 +L 63.352268 108.452003 +L 65.269691 107.869523 +L 67.187114 107.196475 +L 69.104537 106.4348 +L 69.357697 106.322824 +L 71.02196 105.591206 +L 72.939383 104.664825 +L 74.040199 104.086588 +L 74.856805 103.658332 +L 76.774228 102.574994 +L 77.974103 101.850353 +L 78.691651 101.41574 +L 80.609074 100.182849 +L 81.447363 99.614118 +L 82.526497 98.876504 +L 84.443919 97.501197 +L 84.608571 97.377882 +L 86.361342 96.049198 +L 87.513166 95.141647 +L 88.278765 94.528185 +L 90.196188 92.937954 +L 90.234247 92.905412 +L 92.113611 91.263215 +L 92.775467 90.669176 +L 94.031034 89.511633 +L 95.174143 88.432941 +L 95.948456 87.678344 +L 97.438802 86.196706 +L 97.865879 85.755695 +L 99.57557 83.960471 +L 99.783302 83.732494 +L 101.588514 81.724235 +L 101.700725 81.592877 +L 103.479882 79.488 +L 103.618148 79.314571 +L 105.250259 77.251765 +L 105.53557 76.866203 +L 106.898656 75.015529 +L 107.452993 74.20299 +L 108.422545 72.779294 +L 109.370416 71.259597 +L 109.81783 70.543059 +L 111.079599 68.306824 +L 111.287839 67.891605 +L 112.204762 66.070588 +L 113.184854 63.834353 +L 113.205262 63.779352 +L 114.020219 61.598118 +L 114.700576 59.361882 +L 115.122685 57.554051 +L 115.223703 57.125647 +L 115.588839 54.889412 +L 115.790154 52.653176 +L 115.826738 50.416941 +L 115.698425 48.180706 +L 115.405796 45.944471 +L 115.122685 44.554941 +L 114.951864 43.708235 +L 114.341352 41.472 +L 113.205262 41.472 +L 111.287839 41.472 +L 109.370416 41.472 +L 107.452993 41.472 +L 107.172066 41.472 +L 107.452993 42.511559 +L 107.775802 43.708235 +L 108.221579 45.944471 +L 108.507883 48.180706 +L 108.633423 50.416941 +L 108.59763 52.653176 +L 108.400666 54.889412 +L 108.043422 57.125647 +L 107.52751 59.361882 +L 107.452993 59.609763 +L 106.854194 61.598118 +L 106.027172 63.834353 +L 105.53557 64.959732 +L 105.048037 66.070588 +L 103.92049 68.306824 +L 103.618148 68.839798 +L 102.644559 70.543059 +L 101.700725 72.035146 +L 101.225006 72.779294 +L 99.783302 74.844784 +L 99.662491 75.015529 +L 97.954285 77.251765 +L 97.865879 77.360006 +L 96.098553 79.488 +L 95.948456 79.658463 +L 94.092874 81.724235 +L 94.031034 81.789661 +L 92.113611 83.771541 +L 91.925862 83.960471 +L 90.196188 85.625809 +L 89.584873 86.196706 +L 88.278765 87.371019 +L 87.05628 88.432941 +L 86.361342 89.01747 +L 84.443919 90.569104 +L 84.314795 90.669176 +L 82.526497 92.018439 +L 81.292876 92.905412 +L 80.609074 93.386508 +L 78.691651 94.665046 +L 77.932875 95.141647 +L 76.774228 95.85728 +L 74.856805 96.96522 +L 74.087407 97.377882 +L 72.939383 97.986225 +L 71.02196 98.92076 +L 69.458494 99.614118 +L 69.104537 99.769921 +L 67.187114 100.527913 +L 65.269691 101.197707 +L 63.352268 101.777371 +L 63.065433 101.850353 +L 61.434846 102.264029 +L 59.517423 102.657541 +L 57.6 102.956983 +L 57.6 104.086588 +L 57.6 106.322824 +L 57.6 108.559059 +L 57.6 109.652271 z " style="fill:#67001f;"/> - <path clip-path="url(#p553f52e075)" d="M 333.248859 130.357833 -L 335.645638 130.970802 -L 338.042416 131.460413 -L 340.439195 131.825257 -L 342.835973 132.064282 -L 345.232752 132.176798 -L 347.62953 132.162482 -L 350.026309 132.021375 -L 352.423087 131.753883 -L 354.819866 131.360777 -L 357.216644 130.843191 -L 359.151581 130.32605 -L 359.613423 130.203935 -L 362.010201 129.450357 -L 364.40698 128.579101 -L 366.803758 127.592681 -L 367.176409 127.421849 -L 369.200537 126.499626 -L 371.597315 125.299131 -L 373.032025 124.517647 -L 373.994094 123.994453 -L 376.390872 122.589931 -L 377.949515 121.613445 -L 378.787651 121.086824 -L 381.18443 119.487873 -L 382.290432 118.709244 -L 383.581208 117.793727 -L 385.977987 116.009598 -L 386.241132 115.805042 -L 388.374765 114.126303 -L 389.873076 112.90084 -L 390.771544 112.153528 -L 393.168322 110.089925 -L 393.273405 109.996639 -L 395.565101 107.917575 -L 396.450503 107.092437 -L 397.961879 105.645649 -L 399.449193 104.188235 -L 400.358658 103.267881 -L 402.28019 101.284034 -L 402.755436 100.774389 -L 404.951198 98.379832 -L 405.152215 98.150715 -L 407.467341 95.47563 -L 407.548993 95.37635 -L 409.831464 92.571429 -L 409.945772 92.422498 -L 412.044332 89.667227 -L 412.34255 89.248585 -L 414.104741 86.763025 -L 414.739329 85.796691 -L 416.00956 83.858824 -L 417.136107 81.982307 -L 417.753702 80.954622 -L 419.330818 78.05042 -L 419.532886 77.631784 -L 420.737334 75.146218 -L 421.929664 72.319361 -L 421.962511 72.242017 -L 423.006682 69.337815 -L 423.856957 66.433613 -L 424.326443 64.344104 -L 424.511294 63.529412 -L 424.967589 60.62521 -L 425.219163 57.721008 -L 425.26488 54.816807 -L 425.104533 51.912605 -L 424.738847 49.008403 -L 424.326443 46.904854 -L 424.171002 46.104202 -L 423.408017 43.2 -L 421.929664 43.2 -L 419.532886 43.2 -L 417.136107 43.2 -L 414.739329 43.2 -L 414.446531 43.2 -L 414.739329 44.325613 -L 415.201124 46.104202 -L 415.758349 49.008403 -L 416.116234 51.912605 -L 416.273159 54.816807 -L 416.228418 57.721008 -L 415.982211 60.62521 -L 415.535651 63.529412 -L 414.890756 66.433613 -L 414.739329 66.956956 -L 414.049159 69.337815 -L 413.015299 72.242017 -L 412.34255 73.841956 -L 411.791517 75.146218 -L 410.381872 78.05042 -L 409.945772 78.849016 -L 408.787079 80.954622 -L 407.548993 82.987692 -L 407.012822 83.858824 -L 405.152215 86.627506 -L 405.059889 86.763025 -L 402.923843 89.667227 -L 402.755436 89.881373 -L 400.604131 92.571429 -L 400.358658 92.860942 -L 398.096896 95.47563 -L 397.961879 95.623961 -L 395.565101 98.196263 -L 395.389398 98.379832 -L 393.168322 100.600063 -L 392.462836 101.284034 -L 390.771544 102.862661 -L 389.301461 104.188235 -L 388.374765 104.99735 -L 385.977987 107.010455 -L 385.876057 107.092437 -L 383.581208 108.889351 -L 382.097083 109.996639 -L 381.18443 110.662938 -L 378.787651 112.321089 -L 377.8979 112.90084 -L 376.390872 113.86643 -L 373.994094 115.302849 -L 373.091148 115.805042 -L 371.597315 116.625893 -L 369.200537 117.836955 -L 367.302713 118.709244 -L 366.803758 118.936871 -L 364.40698 119.918522 -L 362.010201 120.785565 -L 359.613423 121.5355 -L 359.317199 121.613445 -L 357.216644 122.164558 -L 354.819866 122.672656 -L 352.423087 123.058555 -L 350.026309 123.321143 -L 347.62953 123.459664 -L 345.232752 123.473718 -L 342.835973 123.363264 -L 340.439195 123.128621 -L 338.042416 122.770466 -L 335.645638 122.289829 -L 333.248859 121.688098 -L 333.000728 121.613445 -L 330.852081 120.96512 -L 328.455302 120.124299 -L 326.058523 119.168276 -L 325.028826 118.709244 -L 323.661745 118.095243 -L 321.264966 116.908584 -L 319.220048 115.805042 -L 318.868188 115.612852 -L 316.471409 114.199417 -L 314.415191 112.90084 -L 314.074631 112.682118 -L 311.677852 111.045323 -L 310.224612 109.996639 -L 309.281074 109.300824 -L 306.884295 107.44361 -L 306.450787 107.092437 -L 304.487517 105.458818 -L 303.020066 104.188235 -L 302.090738 103.357243 -L 299.852979 101.284034 -L 299.69396 101.131006 -L 297.297181 98.750833 -L 296.933799 98.379832 -L 294.900403 96.210043 -L 294.228574 95.47563 -L 292.503624 93.491414 -L 291.720278 92.571429 -L 290.106846 90.562462 -L 289.400346 89.667227 -L 287.710067 87.377157 -L 287.263248 86.763025 -L 285.313289 83.869547 -L 285.306143 83.858824 -L 283.533772 80.954622 -L 282.91651 79.835316 -L 281.94037 78.05042 -L 280.528644 75.146218 -L 280.519732 75.125155 -L 279.306425 72.242017 -L 278.271719 69.337815 -L 278.122953 68.825041 -L 277.430889 66.433613 -L 276.785886 63.529412 -L 276.339252 60.62521 -L 276.093004 57.721008 -L 276.048255 54.816807 -L 276.205207 51.912605 -L 276.563151 49.008403 -L 277.12047 46.104202 -L 277.874645 43.2 -L 275.726174 43.2 -L 273.329396 43.2 -L 270.932617 43.2 -L 268.914487 43.2 -L 268.535839 44.643867 -L 268.149366 46.104202 -L 267.581397 49.008403 -L 267.216613 51.912605 -L 267.056662 54.816807 -L 267.102266 57.721008 -L 267.353219 60.62521 -L 267.808389 63.529412 -L 268.465718 66.433613 -L 268.535839 66.671374 -L 269.315101 69.337815 -L 270.357397 72.242017 -L 270.932617 73.598942 -L 271.584496 75.146218 -L 272.990205 78.05042 -L 273.329396 78.673294 -L 274.567663 80.954622 -L 275.726174 82.883332 -L 276.311898 83.858824 -L 278.122953 86.621313 -L 278.216091 86.763025 -L 280.276773 89.667227 -L 280.519732 89.987473 -L 282.490714 92.571429 -L 282.91651 93.097941 -L 284.855471 95.47563 -L 285.313289 96.009146 -L 287.370766 98.379832 -L 287.710067 98.75389 -L 290.038324 101.284034 -L 290.106846 101.355723 -L 292.503624 103.819783 -L 292.869533 104.188235 -L 294.900403 106.168402 -L 295.871258 107.092437 -L 297.297181 108.413682 -L 299.053536 109.996639 -L 299.69396 110.561442 -L 302.090738 112.609749 -L 302.443647 112.90084 -L 304.487517 114.558584 -L 306.08664 115.805042 -L 306.884295 116.41932 -L 309.281074 118.184898 -L 310.028999 118.709244 -L 311.677852 119.856605 -L 314.074631 121.434963 -L 314.362825 121.613445 -L 316.471409 122.915523 -L 318.868188 124.297573 -L 319.28025 124.517647 -L 321.264966 125.579356 -L 323.661745 126.755659 -L 325.158081 127.421849 -L 326.058523 127.825211 -L 328.455302 128.785878 -L 330.852081 129.630784 -L 333.145156 130.32605 + <path clip-path="url(#p0bba778d2e)" d="M 266.599087 108.583532 +L 268.51651 109.055517 +L 270.433933 109.432518 +L 272.351356 109.713448 +L 274.268779 109.897497 +L 276.186201 109.984135 +L 278.103624 109.973111 +L 280.021047 109.864459 +L 281.93847 109.65849 +L 283.855893 109.355799 +L 285.773315 108.957257 +L 287.321265 108.559059 +L 287.690738 108.46503 +L 289.608161 107.884775 +L 291.525584 107.213908 +L 293.443007 106.454364 +L 293.741127 106.322824 +L 295.36043 105.612712 +L 297.277852 104.688331 +L 298.42562 104.086588 +L 299.195275 103.683729 +L 301.112698 102.602247 +L 302.359612 101.850353 +L 303.030121 101.444854 +L 304.947544 100.213662 +L 305.832345 99.614118 +L 306.864966 98.90917 +L 308.782389 97.535391 +L 308.992906 97.377882 +L 310.699812 96.085253 +L 311.898461 95.141647 +L 312.617235 94.566217 +L 314.534658 92.977242 +L 314.618724 92.905412 +L 316.452081 91.304533 +L 317.160403 90.669176 +L 318.369503 89.55515 +L 319.559355 88.432941 +L 320.286926 87.724268 +L 321.824152 86.196706 +L 322.204349 85.80428 +L 323.960958 83.960471 +L 324.121772 83.784051 +L 325.973873 81.724235 +L 326.039195 81.64779 +L 327.865172 79.488 +L 327.956617 79.373323 +L 329.635466 77.251765 +L 329.87404 76.929411 +L 331.283793 75.015529 +L 331.791463 74.271452 +L 332.807648 72.779294 +L 333.708886 71.334376 +L 334.202962 70.543059 +L 335.464654 68.306824 +L 335.626309 67.984474 +L 336.589867 66.070588 +L 337.543732 63.893908 +L 337.570008 63.834353 +L 338.405346 61.598118 +L 339.085565 59.361882 +L 339.461154 57.75296 +L 339.609035 57.125647 +L 339.974071 54.889412 +L 340.17533 52.653176 +L 340.211904 50.416941 +L 340.083626 48.180706 +L 339.791078 45.944471 +L 339.461154 44.324737 +L 339.336802 43.708235 +L 338.726414 41.472 +L 337.543732 41.472 +L 335.626309 41.472 +L 333.708886 41.472 +L 331.791463 41.472 +L 331.557225 41.472 +L 331.791463 42.338722 +L 332.160899 43.708235 +L 332.60668 45.944471 +L 332.892987 48.180706 +L 333.018528 50.416941 +L 332.982734 52.653176 +L 332.785769 54.889412 +L 332.428521 57.125647 +L 331.912605 59.361882 +L 331.791463 59.764856 +L 331.239327 61.598118 +L 330.412239 63.834353 +L 329.87404 65.066306 +L 329.433214 66.070588 +L 328.305498 68.306824 +L 327.956617 68.921743 +L 327.029663 70.543059 +L 326.039195 72.108523 +L 325.610257 72.779294 +L 324.121772 74.911179 +L 324.047911 75.015529 +L 322.339074 77.251765 +L 322.204349 77.416657 +L 320.483305 79.488 +L 320.286926 79.710925 +L 318.477517 81.724235 +L 318.369503 81.83845 +L 316.452081 83.819123 +L 316.311518 83.960471 +L 314.534658 85.670048 +L 313.970269 86.196706 +L 312.617235 87.412249 +L 311.441169 88.432941 +L 310.699812 89.05596 +L 308.782389 90.60605 +L 308.700846 90.669176 +L 306.864966 92.0528 +L 305.677667 92.905412 +L 304.947544 93.418462 +L 303.030121 94.695239 +L 302.31832 95.141647 +L 301.112698 95.885151 +L 299.195275 96.991193 +L 298.472918 97.377882 +L 297.277852 98.009937 +L 295.36043 98.942456 +L 293.84217 99.614118 +L 293.443007 99.789391 +L 291.525584 100.545262 +L 289.608161 101.212885 +L 287.690738 101.790335 +L 287.453759 101.850353 +L 285.773315 102.27471 +L 283.855893 102.665945 +L 281.93847 102.963088 +L 280.021047 103.16528 +L 278.103624 103.271941 +L 276.186201 103.282763 +L 274.268779 103.197713 +L 272.351356 103.017038 +L 270.433933 102.741258 +L 268.51651 102.371169 +L 266.599087 101.907835 +L 266.400582 101.850353 +L 264.681664 101.351142 +L 262.764242 100.70371 +L 260.846819 99.967573 +L 260.023061 99.614118 +L 258.929396 99.141337 +L 257.011973 98.22761 +L 255.376039 97.377882 +L 255.09455 97.229896 +L 253.177128 96.141551 +L 251.532152 95.141647 +L 251.259705 94.973231 +L 249.342282 93.712898 +L 248.17969 92.905412 +L 247.424859 92.369635 +L 245.507436 90.93958 +L 245.16063 90.669176 +L 243.590013 89.41129 +L 242.416053 88.432941 +L 241.672591 87.793077 +L 239.882384 86.196706 +L 239.755168 86.078875 +L 237.837745 84.246141 +L 237.547039 83.960471 +L 235.920322 82.289733 +L 235.382859 81.724235 +L 234.002899 80.196389 +L 233.376222 79.488 +L 232.085477 77.941096 +L 231.520277 77.251765 +L 230.168054 75.488411 +L 229.810599 75.015529 +L 228.250631 72.787551 +L 228.244914 72.779294 +L 226.827018 70.543059 +L 226.333208 69.681193 +L 225.552296 68.306824 +L 224.422915 66.070588 +L 224.415785 66.054369 +L 223.44514 63.834353 +L 222.617375 61.598118 +L 222.498362 61.203282 +L 221.944711 59.361882 +L 221.428709 57.125647 +L 221.071402 54.889412 +L 220.874403 52.653176 +L 220.838604 50.416941 +L 220.964166 48.180706 +L 221.250521 45.944471 +L 221.696376 43.708235 +L 222.299716 41.472 +L 220.58094 41.472 +L 218.663517 41.472 +L 216.746094 41.472 +L 215.13159 41.472 +L 214.828671 42.583778 +L 214.519493 43.708235 +L 214.065118 45.944471 +L 213.77329 48.180706 +L 213.645329 50.416941 +L 213.681813 52.653176 +L 213.882576 54.889412 +L 214.246711 57.125647 +L 214.772574 59.361882 +L 214.828671 59.544958 +L 215.452081 61.598118 +L 216.285917 63.834353 +L 216.746094 64.879185 +L 217.267596 66.070588 +L 218.392164 68.306824 +L 218.663517 68.786436 +L 219.65413 70.543059 +L 220.58094 72.028166 +L 221.049518 72.779294 +L 222.498362 74.906411 +L 222.572873 75.015529 +L 224.221418 77.251765 +L 224.415785 77.498354 +L 225.992572 79.488 +L 226.333208 79.893414 +L 227.884377 81.724235 +L 228.250631 82.135042 +L 229.896613 83.960471 +L 230.168054 84.248496 +L 232.030659 86.196706 +L 232.085477 86.251907 +L 234.002899 88.149233 +L 234.295626 88.432941 +L 235.920322 89.95767 +L 236.697006 90.669176 +L 237.837745 91.686535 +L 239.242829 92.905412 +L 239.755168 93.34031 +L 241.672591 94.917507 +L 241.954918 95.141647 +L 243.590013 96.41811 +L 244.869312 97.377882 +L 245.507436 97.850876 +L 247.424859 99.210372 +L 248.023199 99.614118 +L 249.342282 100.497586 +L 251.259705 101.712921 +L 251.49026 101.850353 +L 253.177128 102.852953 +L 255.09455 103.917131 +L 255.4242 104.086588 +L 257.011973 104.904104 +L 258.929396 105.809858 +L 260.126465 106.322824 +L 260.846819 106.633412 +L 262.764242 107.373126 +L 264.681664 108.023704 +L 266.516125 108.559059 z " style="fill:#67001f;"/> </g> <g id="PathCollection_7"> - <path clip-path="url(#p553f52e075)" d="M 105.554899 388.8 -L 107.951678 388.8 -L 110.348456 388.8 -L 112.745235 388.8 -L 114.511688 388.8 -L 115.142013 388.253264 -L 117.538792 386.117873 -L 117.782313 385.895798 -L 119.93557 383.903994 -L 120.902461 382.991597 -L 122.332349 381.616342 -L 123.895688 380.087395 -L 124.729128 379.252459 -L 126.766786 377.183193 -L 127.125906 376.807669 -L 129.518705 374.278992 -L 129.522685 374.274637 -L 131.919463 371.631987 -L 132.151642 371.37479 -L 134.316242 368.877154 -L 134.667968 368.470588 -L 136.71302 365.992347 -L 137.064911 365.566387 -L 139.109799 362.952858 -L 139.338137 362.662185 -L 141.48185 359.757983 -L 141.506577 359.722011 -L 143.491847 356.853782 -L 143.903356 356.208718 -L 145.358817 353.94958 -L 146.300134 352.344835 -L 147.072249 351.045378 -L 148.620421 348.141176 -L 148.696913 347.978279 -L 150.004858 345.236975 -L 151.093691 342.584108 -L 151.198844 342.332773 -L 152.210976 339.428571 -L 153.015624 336.52437 -L 153.49047 334.2009 -L 153.611851 333.620168 -L 154.000209 330.715966 -L 154.168153 327.811765 -L 154.114924 324.907563 -L 153.840763 322.003361 -L 153.49047 319.943404 -L 153.350097 319.09916 -L 152.654586 316.194958 -L 151.749586 313.290756 -L 151.093691 311.575292 -L 150.64781 310.386555 -L 149.361897 307.482353 -L 148.696913 306.174526 -L 147.898067 304.578151 -L 146.300134 301.738897 -L 146.264049 301.67395 -L 144.478889 298.769748 -L 143.903356 297.912002 -L 142.543686 295.865546 -L 141.506577 294.419395 -L 140.468129 292.961345 -L 139.109799 291.177319 -L 138.26031 290.057143 -L 136.71302 288.132413 -L 135.926489 287.152941 -L 134.316242 285.247063 -L 133.471266 284.248739 -L 131.919463 282.494326 -L 130.897689 281.344538 -L 129.522685 279.854738 -L 128.207307 278.440336 -L 127.125906 277.314267 -L 125.400166 275.536134 -L 124.729128 274.862952 -L 122.474762 272.631933 -L 122.332349 272.494008 -L 119.93557 270.211234 -L 119.417701 269.727731 -L 117.538792 268.002601 -L 116.224368 266.823529 -L 115.142013 265.864205 -L 112.888124 263.919328 -L 112.745235 263.796935 -L 110.348456 261.805627 -L 109.363657 261.015126 -L 107.951678 259.884926 -L 105.648033 258.110924 -L 105.554899 258.039082 -L 103.158121 256.268424 -L 101.650043 255.206723 -L 100.761342 254.577156 -L 98.364564 252.967963 -L 97.312397 252.302521 -L 95.967785 251.442863 -L 93.571007 250.009304 -L 92.470489 249.398319 -L 91.174228 248.667402 -L 88.77745 247.424362 -L 86.806164 246.494118 -L 86.380671 246.289196 -L 83.983893 245.252523 -L 81.587114 244.336475 -L 79.330079 243.589916 -L 79.190336 243.542503 -L 76.793557 242.858094 -L 74.396779 242.30444 -L 72 241.883137 -L 72 243.589916 -L 72 246.494118 -L 72 249.398319 -L 72 250.937385 -L 74.396779 251.333631 -L 76.793557 251.854356 -L 78.46226 252.302521 -L 79.190336 252.495954 -L 81.587114 253.252543 -L 83.983893 254.12677 -L 86.380671 255.116116 -L 86.577804 255.206723 -L 88.77745 256.211446 -L 91.174228 257.414626 -L 92.45 258.110924 -L 93.571007 258.721717 -L 95.967785 260.128633 -L 97.380629 261.015126 -L 98.364564 261.634247 -L 100.761342 263.23525 -L 101.731931 263.919328 -L 103.158121 264.931958 -L 105.554899 266.717745 -L 105.690873 266.823529 -L 107.951678 268.603618 -L 109.325224 269.727731 -L 110.348456 270.579267 -L 112.731508 272.631933 -L 112.745235 272.644015 -L 115.142013 274.818939 -L 115.911471 275.536134 -L 117.538792 277.094 -L 118.912787 278.440336 -L 119.93557 279.475231 -L 121.746543 281.344538 -L 122.332349 281.97254 -L 124.420415 284.248739 -L 124.729128 284.600424 -L 126.939498 287.152941 -L 127.125906 287.379427 -L 129.306617 290.057143 -L 129.522685 290.338389 -L 131.522514 292.961345 -L 131.919463 293.51792 -L 133.585968 295.865546 -L 134.316242 296.975966 -L 135.493828 298.769748 -L 136.71302 300.797015 -L 137.240986 301.67395 -L 138.821429 304.578151 -L 139.109799 305.174119 -L 140.231143 307.482353 -L 141.459741 310.386555 -L 141.506577 310.517246 -L 142.507405 313.290756 -L 143.361539 316.194958 -L 143.903356 318.592123 -L 144.019094 319.09916 -L 144.479349 322.003361 -L 144.734857 324.907563 -L 144.784465 327.811765 -L 144.627947 330.715966 -L 144.266011 333.620168 -L 143.903356 335.481916 -L 143.702285 336.52437 -L 142.942862 339.428571 -L 141.987618 342.332773 -L 141.506577 343.551031 -L 140.845446 345.236975 -L 139.52154 348.141176 -L 139.109799 348.936788 -L 138.022916 351.045378 -L 136.71302 353.325292 -L 136.354738 353.94958 -L 134.52413 356.853782 -L 134.316242 357.157752 -L 132.534745 359.757983 -L 131.919463 360.594297 -L 130.390966 362.662185 -L 129.522685 363.765978 -L 128.095615 365.566387 -L 127.125906 366.725088 -L 125.649588 368.470588 -L 124.729128 369.508674 -L 123.051805 371.37479 -L 122.332349 372.143246 -L 120.299089 374.278992 -L 119.93557 374.647765 -L 117.538792 377.03121 -L 117.382359 377.183193 -L 115.142013 379.297012 -L 114.281572 380.087395 -L 112.745235 381.465121 -L 110.990309 382.991597 -L 110.348456 383.539359 -L 107.951678 385.51555 -L 107.472326 385.895798 -L 105.554899 387.395284 -L 103.679328 388.8 + <path clip-path="url(#p0bba778d2e)" d="M 84.443919 307.584 +L 86.361342 307.584 +L 88.278765 307.584 +L 90.196188 307.584 +L 91.60935 307.584 +L 92.113611 307.163013 +L 94.031034 305.518762 +L 94.225851 305.347765 +L 95.948456 303.814076 +L 96.721969 303.111529 +L 97.865879 302.052583 +L 99.11655 300.875294 +L 99.783302 300.232393 +L 101.413428 298.639059 +L 101.700725 298.349905 +L 103.614964 296.402824 +L 103.618148 296.39947 +L 105.53557 294.36463 +L 105.721314 294.166588 +L 107.452993 292.243409 +L 107.734374 291.930353 +L 109.370416 290.022107 +L 109.651929 289.694118 +L 111.287839 287.6817 +L 111.47051 287.457882 +L 113.18548 285.221647 +L 113.205262 285.193948 +L 114.793478 282.985412 +L 115.122685 282.488713 +L 116.287054 280.749176 +L 117.040107 279.513523 +L 117.657799 278.512941 +L 118.896337 276.276706 +L 118.95753 276.151275 +L 120.003886 274.040471 +L 120.874953 271.997764 +L 120.959075 271.804235 +L 121.768781 269.568 +L 122.4125 267.331765 +L 122.792376 265.542693 +L 122.889481 265.095529 +L 123.200167 262.859294 +L 123.334523 260.623059 +L 123.29194 258.386824 +L 123.07261 256.150588 +L 122.792376 254.564421 +L 122.680078 253.914353 +L 122.123669 251.678118 +L 121.399669 249.441882 +L 120.874953 248.120975 +L 120.518248 247.205647 +L 119.489518 244.969412 +L 118.95753 243.962385 +L 118.318453 242.733176 +L 117.040107 240.54695 +L 117.01124 240.496941 +L 115.583112 238.260706 +L 115.122685 237.600242 +L 114.034949 236.024471 +L 113.205262 234.910934 +L 112.374503 233.788235 +L 111.287839 232.414535 +L 110.608248 231.552 +L 109.370416 230.069958 +L 108.741191 229.315765 +L 107.452993 227.848239 +L 106.777013 227.079529 +L 105.53557 225.728631 +L 104.718152 224.843294 +L 103.618148 223.696148 +L 102.565845 222.607059 +L 101.700725 221.739985 +L 100.320133 220.370824 +L 99.783302 219.852473 +L 97.97981 218.134588 +L 97.865879 218.028386 +L 95.948456 216.27065 +L 95.53416 215.898353 +L 94.031034 214.570002 +L 92.979494 213.662118 +L 92.113611 212.923438 +L 90.310499 211.425882 +L 90.196188 211.33164 +L 88.278765 209.798333 +L 87.490926 209.189647 +L 86.361342 208.319393 +L 84.518426 206.953412 +L 84.443919 206.898093 +L 82.526497 205.534687 +L 81.320035 204.717176 +L 80.609074 204.23241 +L 78.691651 202.993331 +L 77.849918 202.480941 +L 76.774228 201.819005 +L 74.856805 200.715164 +L 73.976391 200.244706 +L 72.939383 199.681899 +L 71.02196 198.724759 +L 69.444931 198.008471 +L 69.104537 197.850681 +L 67.187114 197.052443 +L 65.269691 196.347086 +L 63.464063 195.772235 +L 63.352268 195.735727 +L 61.434846 195.208732 +L 59.517423 194.782419 +L 57.6 194.458015 +L 57.6 195.772235 +L 57.6 198.008471 +L 57.6 200.244706 +L 57.6 201.429786 +L 59.517423 201.734896 +L 61.434846 202.135854 +L 62.769808 202.480941 +L 63.352268 202.629885 +L 65.269691 203.212458 +L 67.187114 203.885613 +L 69.104537 204.647409 +L 69.262243 204.717176 +L 71.02196 205.490813 +L 72.939383 206.417262 +L 73.96 206.953412 +L 74.856805 207.423722 +L 76.774228 208.507047 +L 77.904503 209.189647 +L 78.691651 209.66637 +L 80.609074 210.899142 +L 81.385545 211.425882 +L 82.526497 212.205608 +L 84.443919 213.580663 +L 84.552698 213.662118 +L 86.361342 215.032786 +L 87.460179 215.898353 +L 88.278765 216.554036 +L 90.185206 218.134588 +L 90.196188 218.143892 +L 92.113611 219.818583 +L 92.729177 220.370824 +L 94.031034 221.57038 +L 95.130229 222.607059 +L 95.948456 223.403928 +L 97.397235 224.843294 +L 97.865879 225.326856 +L 99.536332 227.079529 +L 99.783302 227.350326 +L 101.551599 229.315765 +L 101.700725 229.490159 +L 103.445294 231.552 +L 103.618148 231.768559 +L 105.218012 233.788235 +L 105.53557 234.216799 +L 106.868774 236.024471 +L 107.452993 236.879494 +L 108.395062 238.260706 +L 109.370416 239.821702 +L 109.792788 240.496941 +L 111.057144 242.733176 +L 111.287839 243.192071 +L 112.184915 244.969412 +L 113.167793 247.205647 +L 113.205262 247.306279 +L 114.005924 249.441882 +L 114.689231 251.678118 +L 115.122685 253.523934 +L 115.215275 253.914353 +L 115.583479 256.150588 +L 115.787886 258.386824 +L 115.827572 260.623059 +L 115.702358 262.859294 +L 115.412809 265.095529 +L 115.122685 266.529075 +L 114.961828 267.331765 +L 114.35429 269.568 +L 113.590094 271.804235 +L 113.205262 272.742294 +L 112.676357 274.040471 +L 111.617232 276.276706 +L 111.287839 276.889327 +L 110.418333 278.512941 +L 109.370416 280.268475 +L 109.08379 280.749176 +L 107.619304 282.985412 +L 107.452993 283.219469 +L 106.027796 285.221647 +L 105.53557 285.865609 +L 104.312773 287.457882 +L 103.618148 288.307803 +L 102.476492 289.694118 +L 101.700725 290.586318 +L 100.519671 291.930353 +L 99.783302 292.729679 +L 98.441444 294.166588 +L 97.865879 294.758299 +L 96.239271 296.402824 +L 95.948456 296.686779 +L 94.031034 298.522032 +L 93.905887 298.639059 +L 92.113611 300.266699 +L 91.425258 300.875294 +L 90.196188 301.936143 +L 88.792247 303.111529 +L 88.278765 303.533306 +L 86.361342 305.054974 +L 85.977861 305.347765 +L 84.443919 306.502368 +L 82.943462 307.584 z " style="fill:#67001f;"/> - <path clip-path="url(#p553f52e075)" d="M 294.900403 386.656679 -L 297.297181 388.778527 -L 297.322117 388.8 -L 299.69396 388.8 -L 302.090738 388.8 -L 304.487517 388.8 -L 306.884295 388.8 -L 308.165199 388.8 -L 306.884295 387.851691 -L 304.487517 385.99666 -L 304.36228 385.895798 -L 302.090738 384.040124 -L 300.85195 382.991597 -L 299.69396 381.992605 -L 297.553912 380.087395 -L 297.297181 379.853276 -L 294.900403 377.606201 -L 294.459977 377.183193 -L 292.503624 375.248396 -L 291.543556 374.278992 -L 290.106846 372.776906 -L 288.789028 371.37479 -L 287.710067 370.179037 -L 286.190479 368.470588 -L 285.313289 367.436679 -L 283.744352 365.566387 -L 282.91651 364.524435 -L 281.449219 362.662185 -L 280.519732 361.406733 -L 279.305644 359.757983 -L 278.122953 358.033303 -L 277.316127 356.853782 -L 275.726174 354.331816 -L 275.485106 353.94958 -L 273.817443 351.045378 -L 273.329396 350.098034 -L 272.317977 348.141176 -L 270.99575 345.236975 -L 270.932617 345.075776 -L 269.851682 342.332773 -L 268.898347 339.428571 -L 268.535839 338.039483 -L 268.136822 336.52437 -L 267.572654 333.620168 -L 267.21171 330.715966 -L 267.055622 327.811765 -L 267.105093 324.907563 -L 267.359901 322.003361 -L 267.818895 319.09916 -L 268.480001 316.194958 -L 268.535839 316.006445 -L 269.332933 313.290756 -L 270.378827 310.386555 -L 270.932617 309.083888 -L 271.609274 307.482353 -L 273.018351 304.578151 -L 273.329396 304.008132 -L 274.598947 301.67395 -L 275.726174 299.800639 -L 276.346258 298.769748 -L 278.122953 296.063837 -L 278.253477 295.865546 -L 280.316929 292.961345 -L 280.519732 292.694344 -L 282.533692 290.057143 -L 282.91651 289.584259 -L 284.901239 287.152941 -L 285.313289 286.673188 -L 287.419302 284.248739 -L 287.710067 283.928436 -L 290.08962 281.344538 -L 290.106846 281.326528 -L 292.503624 278.864088 -L 292.924727 278.440336 -L 294.900403 276.515051 -L 295.92949 275.536134 -L 297.297181 274.269423 -L 299.11487 272.631933 -L 299.69396 272.121405 -L 302.090738 270.073836 -L 302.510496 269.727731 -L 304.487517 268.124641 -L 306.157208 266.823529 -L 306.884295 266.263699 -L 309.281074 264.498443 -L 310.107274 263.919328 -L 311.677852 262.82654 -L 314.074631 261.248334 -L 314.451226 261.015126 -L 316.471409 259.767652 -L 318.868188 258.385618 -L 319.382523 258.110924 -L 321.264966 257.103852 -L 323.661745 255.927462 -L 325.280486 255.206723 -L 326.058523 254.858138 -L 328.455302 253.897317 -L 330.852081 253.052276 -L 333.248859 252.325451 -L 333.339472 252.302521 -L 335.645638 251.712581 -L 338.042416 251.222849 -L 340.439195 250.857915 -L 342.835973 250.618831 -L 345.232752 250.506287 -L 347.62953 250.520607 -L 350.026309 250.661749 -L 352.423087 250.929307 -L 354.819866 251.322509 -L 357.216644 251.840223 -L 358.945954 252.302521 -L 359.613423 252.479034 -L 362.010201 253.232733 -L 364.40698 254.104127 -L 366.803758 255.090705 -L 367.056798 255.206723 -L 369.200537 256.183514 -L 371.597315 257.384097 -L 372.931583 258.110924 -L 373.994094 258.688734 -L 376.390872 260.09324 -L 377.862381 261.015126 -L 378.787651 261.59644 -L 381.18443 263.195237 -L 382.213063 263.919328 -L 383.581208 264.889543 -L 385.977987 266.673346 -L 386.171221 266.823529 -L 388.374765 268.556805 -L 389.806784 269.727731 -L 390.771544 270.529893 -L 393.168322 272.592752 -L 393.212474 272.631933 -L 395.565101 274.765305 -L 396.392605 275.536134 -L 397.961879 277.037515 -L 399.394272 278.440336 -L 400.358658 279.415627 -L 402.228208 281.344538 -L 402.755436 281.909492 -L 404.902132 284.248739 -L 405.152215 284.533527 -L 407.421183 287.152941 -L 407.548993 287.308185 -L 409.788219 290.057143 -L 409.945772 290.262177 -L 412.004017 292.961345 -L 412.34255 293.435942 -L 414.067386 295.865546 -L 414.739329 296.88719 -L 415.975206 298.769748 -L 417.136107 300.700072 -L 417.722403 301.67395 -L 419.30275 304.578151 -L 419.532886 305.053797 -L 420.712528 307.482353 -L 421.929664 310.35984 -L 421.941042 310.386555 -L 422.988818 313.290756 -L 423.842778 316.194958 -L 424.326443 318.335275 -L 424.500762 319.09916 -L 424.96089 322.003361 -L 425.216328 324.907563 -L 425.265922 327.811765 -L 425.109447 330.715966 -L 424.747611 333.620168 -L 424.326443 335.782896 -L 424.183455 336.52437 -L 423.424186 339.428571 -L 422.469136 342.332773 -L 421.929664 343.699286 -L 421.32675 345.236975 -L 420.003018 348.141176 -L 419.532886 349.049736 -L 418.504285 351.045378 -L 417.136107 353.42688 -L 416.836124 353.94958 -L 415.005499 356.853782 -L 414.739329 357.242968 -L 413.01608 359.757983 -L 412.34255 360.673396 -L 410.872299 362.662185 -L 409.945772 363.839846 -L 408.576949 365.566387 -L 407.548993 366.794414 -L 406.130893 368.470588 -L 405.152215 369.574006 -L 403.533017 371.37479 -L 402.755436 372.205023 -L 400.780107 374.278992 -L 400.358658 374.706343 -L 397.961879 377.088535 -L 397.86439 377.183193 -L 395.565101 379.351305 -L 394.763206 380.087395 -L 393.168322 381.516627 -L 391.47127 382.991597 -L 390.771544 383.588277 -L 388.374765 385.562713 -L 387.95445 385.895798 -L 385.977987 387.439914 -L 384.159985 388.8 -L 385.977987 388.8 -L 388.374765 388.8 -L 390.771544 388.8 -L 393.168322 388.8 -L 394.993483 388.8 -L 395.565101 388.304531 -L 397.961879 386.170441 -L 398.263204 385.895798 -L 400.358658 383.958483 -L 401.383748 382.991597 -L 402.755436 381.672907 -L 404.377211 380.087395 -L 405.152215 379.311287 -L 407.24842 377.183193 -L 407.548993 376.868983 -L 409.945772 374.33666 -L 409.999937 374.278992 -L 412.34255 371.696451 -L 412.632946 371.37479 -L 414.739329 368.944521 -L 415.149338 368.470588 -L 417.136107 366.062998 -L 417.546339 365.566387 -L 419.532886 363.027267 -L 419.819639 362.662185 -L 421.929664 359.803245 -L 421.963299 359.757983 -L 423.97306 356.853782 -L 424.326443 356.299721 -L 425.840116 353.94958 -L 426.723221 352.44366 -L 427.553766 351.045378 -L 429.101397 348.141176 -L 429.12 348.101546 -L 429.12 345.236975 -L 429.12 342.332773 -L 429.12 339.428571 -L 429.12 336.52437 -L 429.12 333.620168 -L 429.12 330.715966 -L 429.12 327.811765 -L 429.12 324.907563 -L 429.12 322.003361 -L 429.12 319.09916 -L 429.12 316.194958 -L 429.12 313.290756 -L 429.12 310.386555 -L 429.12 307.482353 -L 429.12 306.058857 -L 428.379295 304.578151 -L 426.745381 301.67395 -L 426.723221 301.638347 -L 424.960431 298.769748 -L 424.326443 297.824625 -L 423.025091 295.865546 -L 421.929664 294.337766 -L 420.949482 292.961345 -L 419.532886 291.100548 -L 418.741665 290.057143 -L 417.136107 288.059809 -L 416.407871 287.152941 -L 414.739329 285.178084 -L 413.952674 284.248739 -L 412.34255 282.428534 -L 411.379098 281.344538 -L 409.945772 279.79178 -L 408.688665 278.440336 -L 407.548993 277.253851 -L 405.881398 275.536134 -L 405.152215 274.804838 -L 402.955761 272.631933 -L 402.755436 272.437993 -L 400.358658 270.156237 -L 399.899452 269.727731 -L 397.961879 267.949673 -L 396.705693 266.823529 -L 395.565101 265.813203 -L 393.368786 263.919328 -L 393.168322 263.747739 -L 390.771544 261.758003 -L 389.845251 261.015126 -L 388.374765 259.839141 -L 386.128339 258.110924 -L 385.977987 257.995059 -L 383.581208 256.226368 -L 382.131074 255.206723 -L 381.18443 254.536938 -L 378.787651 252.929962 -L 377.794045 252.302521 -L 376.390872 251.4068 -L 373.994094 249.975697 -L 372.952111 249.398319 -L 371.597315 248.635861 -L 369.200537 247.395505 -L 367.285719 246.494118 -L 366.803758 246.262569 -L 364.40698 245.228796 -L 362.010201 244.315717 -L 359.807509 243.589916 -L 359.613423 243.524317 -L 357.216644 242.843067 -L 354.819866 242.292615 -L 352.423087 241.874548 -L 350.026309 241.590071 -L 347.62953 241.440004 -L 345.232752 241.424779 -L 342.835973 241.54444 -L 340.439195 241.798642 -L 338.042416 242.186652 -L 335.645638 242.707353 -L 333.248859 243.359244 -L 332.541142 243.589916 -L 330.852081 244.126628 -L 328.455302 245.012093 -L 326.058523 246.018877 -L 325.046217 246.494118 -L 323.661745 247.13097 -L 321.264966 248.346332 -L 319.361621 249.398319 -L 318.868188 249.66684 -L 316.471409 251.075046 -L 314.520557 252.302521 -L 314.074631 252.580075 -L 311.677852 254.166355 -L 310.190223 255.206723 -L 309.281074 255.838582 -L 306.884295 257.588883 -L 306.200494 258.110924 -L 304.487517 259.416464 -L 302.471706 261.015126 -L 302.090738 261.318112 -L 299.69396 263.293099 -L 298.957526 263.919328 -L 297.297181 265.34166 -L 295.614596 266.823529 -L 294.900403 267.460115 -L 292.503624 269.648659 -L 292.418807 269.727731 -L 290.106846 271.919449 -L 289.368315 272.631933 -L 287.710067 274.26665 -L 286.440679 275.536134 -L 285.313289 276.694142 -L 283.632396 278.440336 -L 282.91651 279.2083 -L 280.941671 281.344538 -L 280.519732 281.81857 -L 278.368283 284.248739 -L 278.122953 284.538332 -L 275.913521 287.152941 -L 275.726174 287.386204 -L 273.580179 290.057143 -L 273.329396 290.388017 -L 271.372589 292.961345 -L 270.932617 293.579878 -L 269.296726 295.865546 -L 268.535839 297.01306 -L 267.360359 298.769748 -L 266.13906 300.762088 -L 265.573281 301.67395 -L 263.944514 304.578151 -L 263.742282 304.9837 -L 262.477238 307.482353 -L 261.345503 310.049324 -L 261.194071 310.386555 -L 260.089314 313.290756 -L 259.188913 316.194958 -L 258.948725 317.20302 -L 258.487057 319.09916 -L 257.996125 322.003361 -L 257.723586 324.907563 -L 257.670672 327.811765 -L 257.837622 330.715966 -L 258.223682 333.620168 -L 258.827107 336.52437 -L 258.948725 336.956124 -L 259.630269 339.428571 -L 260.637258 342.332773 -L 261.345503 344.034269 -L 261.837027 345.236975 -L 263.216768 348.141176 -L 263.742282 349.115538 -L 264.767443 351.045378 -L 266.13906 353.361893 -L 266.482843 353.94958 -L 268.348762 356.853782 -L 268.535839 357.122146 -L 270.35661 359.757983 -L 270.932617 360.534515 -L 272.501147 362.662185 -L 273.329396 363.717877 -L 274.774926 365.566387 -L 275.726174 366.718493 -L 277.172263 368.470588 -L 278.122953 369.569314 -L 279.689092 371.37479 -L 280.519732 372.29411 -L 282.322869 374.278992 -L 282.91651 374.910105 -L 285.07254 377.183193 -L 285.313289 377.429691 -L 287.710067 379.856083 -L 287.941862 380.087395 -L 290.106846 382.196546 -L 290.937355 382.991597 -L 292.503624 384.462697 -L 294.061437 385.895798 + <path clip-path="url(#p0bba778d2e)" d="M 235.920322 305.933643 +L 237.837745 307.567466 +L 237.857694 307.584 +L 239.755168 307.584 +L 241.672591 307.584 +L 243.590013 307.584 +L 245.507436 307.584 +L 246.532159 307.584 +L 245.507436 306.853802 +L 243.590013 305.425428 +L 243.489824 305.347765 +L 241.672591 303.918895 +L 240.68156 303.111529 +L 239.755168 302.342306 +L 238.04313 300.875294 +L 237.837745 300.695022 +L 235.920322 298.964774 +L 235.567982 298.639059 +L 234.002899 297.149265 +L 233.234845 296.402824 +L 232.085477 295.246217 +L 231.031222 294.166588 +L 230.168054 293.245858 +L 228.952383 291.930353 +L 228.250631 291.134243 +L 226.995482 289.694118 +L 226.333208 288.891815 +L 225.159375 287.457882 +L 224.415785 286.491185 +L 223.444515 285.221647 +L 222.498362 283.893644 +L 221.852902 282.985412 +L 220.58094 281.043498 +L 220.388085 280.749176 +L 219.053955 278.512941 +L 218.663517 277.783486 +L 217.854381 276.276706 +L 216.7966 274.040471 +L 216.746094 273.916348 +L 215.881346 271.804235 +L 215.118677 269.568 +L 214.828671 268.498402 +L 214.509458 267.331765 +L 214.058123 265.095529 +L 213.769368 262.859294 +L 213.644497 260.623059 +L 213.684075 258.386824 +L 213.887921 256.150588 +L 214.255116 253.914353 +L 214.784001 251.678118 +L 214.828671 251.532962 +L 215.466347 249.441882 +L 216.303062 247.205647 +L 216.746094 246.202594 +L 217.287419 244.969412 +L 218.414681 242.733176 +L 218.663517 242.294261 +L 219.679158 240.496941 +L 220.58094 239.054492 +L 221.077007 238.260706 +L 222.498362 236.177155 +L 222.602782 236.024471 +L 224.253544 233.788235 +L 224.415785 233.582645 +L 226.026954 231.552 +L 226.333208 231.18788 +L 227.920991 229.315765 +L 228.250631 228.946355 +L 229.935442 227.079529 +L 230.168054 226.832896 +L 232.071696 224.843294 +L 232.085477 224.829427 +L 234.002899 222.933348 +L 234.339782 222.607059 +L 235.920322 221.12459 +L 236.743592 220.370824 +L 237.837745 219.395456 +L 239.291896 218.134588 +L 239.755168 217.741482 +L 241.672591 216.164854 +L 242.008397 215.898353 +L 243.590013 214.663974 +L 244.925767 213.662118 +L 245.507436 213.231048 +L 247.424859 211.871801 +L 248.085819 211.425882 +L 249.342282 210.584436 +L 251.259705 209.369217 +L 251.560981 209.189647 +L 253.177128 208.229092 +L 255.09455 207.164926 +L 255.506018 206.953412 +L 257.011973 206.177966 +L 258.929396 205.272145 +L 260.224389 204.717176 +L 260.846819 204.448766 +L 262.764242 203.708934 +L 264.681664 203.058253 +L 266.599087 202.498597 +L 266.671578 202.480941 +L 268.51651 202.026687 +L 270.433933 201.649593 +L 272.351356 201.368594 +L 274.268779 201.1845 +L 276.186201 201.097841 +L 278.103624 201.108867 +L 280.021047 201.217547 +L 281.93847 201.423566 +L 283.855893 201.726332 +L 285.773315 202.124972 +L 287.156764 202.480941 +L 287.690738 202.616856 +L 289.608161 203.197204 +L 291.525584 203.868178 +L 293.443007 204.627842 +L 293.645438 204.717176 +L 295.36043 205.469306 +L 297.277852 206.393755 +L 298.345266 206.953412 +L 299.195275 207.398326 +L 301.112698 208.479795 +L 302.289905 209.189647 +L 303.030121 209.637259 +L 304.947544 210.868332 +L 305.770451 211.425882 +L 306.864966 212.172948 +L 308.782389 213.546476 +L 308.936977 213.662118 +L 310.699812 214.99674 +L 311.845427 215.898353 +L 312.617235 216.516017 +L 314.534658 218.104419 +L 314.569979 218.134588 +L 316.452081 219.777285 +L 317.114084 220.370824 +L 318.369503 221.526887 +L 319.515418 222.607059 +L 320.286926 223.358033 +L 321.782566 224.843294 +L 322.204349 225.278309 +L 323.921706 227.079529 +L 324.121772 227.298816 +L 325.936946 229.315765 +L 326.039195 229.435302 +L 327.830575 231.552 +L 327.956617 231.709876 +L 329.603214 233.788235 +L 329.87404 234.153676 +L 331.253909 236.024471 +L 331.791463 236.811137 +L 332.780165 238.260706 +L 333.708886 239.747055 +L 334.177922 240.496941 +L 335.4422 242.733176 +L 335.626309 243.099424 +L 336.570022 244.969412 +L 337.543732 247.185077 +L 337.552833 247.205647 +L 338.391054 249.441882 +L 339.074222 251.678118 +L 339.461154 253.326162 +L 339.600609 253.914353 +L 339.968712 256.150588 +L 340.173063 258.386824 +L 340.212738 260.623059 +L 340.087558 262.859294 +L 339.798089 265.095529 +L 339.461154 266.76083 +L 339.346764 267.331765 +L 338.739349 269.568 +L 337.975308 271.804235 +L 337.543732 272.85645 +L 337.0614 274.040471 +L 336.002414 276.276706 +L 335.626309 276.976297 +L 334.803428 278.512941 +L 333.708886 280.346697 +L 333.468899 280.749176 +L 332.004399 282.985412 +L 331.791463 283.285085 +L 330.412864 285.221647 +L 329.87404 285.926515 +L 328.697839 287.457882 +L 327.956617 288.364681 +L 326.861559 289.694118 +L 326.039195 290.639699 +L 324.904715 291.930353 +L 324.121772 292.779985 +L 322.826414 294.166588 +L 322.204349 294.805867 +L 320.624086 296.402824 +L 320.286926 296.731884 +L 318.369503 298.566172 +L 318.291512 298.639059 +L 316.452081 300.308505 +L 315.810565 300.875294 +L 314.534658 301.975803 +L 313.177016 303.111529 +L 312.617235 303.570974 +L 310.699812 305.091289 +L 310.36356 305.347765 +L 308.782389 306.536733 +L 307.327988 307.584 +L 308.782389 307.584 +L 310.699812 307.584 +L 312.617235 307.584 +L 314.534658 307.584 +L 315.994786 307.584 +L 316.452081 307.202489 +L 318.369503 305.55924 +L 318.610563 305.347765 +L 320.286926 303.856032 +L 321.106999 303.111529 +L 322.204349 302.096138 +L 323.501769 300.875294 +L 324.121772 300.277691 +L 325.798736 298.639059 +L 326.039195 298.397117 +L 327.956617 296.447229 +L 327.999949 296.402824 +L 329.87404 294.414268 +L 330.106357 294.166588 +L 331.791463 292.295281 +L 332.119471 291.930353 +L 333.708886 290.076509 +L 334.037071 289.694118 +L 335.626309 287.738996 +L 335.855711 287.457882 +L 337.543732 285.256499 +L 337.570639 285.221647 +L 339.178448 282.985412 +L 339.461154 282.558785 +L 340.672093 280.749176 +L 341.378577 279.589618 +L 342.043013 278.512941 +L 343.281118 276.276706 +L 343.296 276.24619 +L 343.296 274.040471 +L 343.296 271.804235 +L 343.296 269.568 +L 343.296 267.331765 +L 343.296 265.095529 +L 343.296 262.859294 +L 343.296 260.623059 +L 343.296 258.386824 +L 343.296 256.150588 +L 343.296 253.914353 +L 343.296 251.678118 +L 343.296 249.441882 +L 343.296 247.205647 +L 343.296 244.969412 +L 343.296 243.87332 +L 342.703436 242.733176 +L 341.396305 240.496941 +L 341.378577 240.469527 +L 339.968345 238.260706 +L 339.461154 237.532961 +L 338.420072 236.024471 +L 337.543732 234.84808 +L 336.759586 233.788235 +L 335.626309 232.355422 +L 334.993332 231.552 +L 333.708886 230.014053 +L 333.126297 229.315765 +L 331.791463 227.795125 +L 331.16214 227.079529 +L 329.87404 225.677971 +L 329.103279 224.843294 +L 327.956617 223.647671 +L 326.950932 222.607059 +L 326.039195 221.693465 +L 324.705118 220.370824 +L 324.121772 219.807725 +L 322.364609 218.134588 +L 322.204349 217.985254 +L 320.286926 216.228303 +L 319.919562 215.898353 +L 318.369503 214.529248 +L 317.364554 213.662118 +L 316.452081 212.884166 +L 314.695029 211.425882 +L 314.534658 211.293759 +L 312.617235 209.761662 +L 311.876201 209.189647 +L 310.699812 208.284139 +L 308.902671 206.953412 +L 308.782389 206.864195 +L 306.864966 205.502304 +L 305.704859 204.717176 +L 304.947544 204.201442 +L 303.030121 202.96407 +L 302.235236 202.480941 +L 301.112698 201.791236 +L 299.195275 200.689287 +L 298.361689 200.244706 +L 297.277852 199.657613 +L 295.36043 198.702539 +L 293.828575 198.008471 +L 293.443007 197.830178 +L 291.525584 197.034173 +L 289.608161 196.331102 +L 287.846007 195.772235 +L 287.690738 195.721724 +L 285.773315 195.197161 +L 283.855893 194.773314 +L 281.93847 194.451402 +L 280.021047 194.232355 +L 278.103624 194.116803 +L 276.186201 194.10508 +L 274.268779 194.197219 +L 272.351356 194.392954 +L 270.433933 194.691722 +L 268.51651 195.092662 +L 266.599087 195.594618 +L 266.032914 195.772235 +L 264.681664 196.185504 +L 262.764242 196.867312 +L 260.846819 197.642535 +L 260.036974 198.008471 +L 258.929396 198.498847 +L 257.011973 199.434675 +L 255.489297 200.244706 +L 255.09455 200.451467 +L 253.177128 201.535785 +L 251.616446 202.480941 +L 251.259705 202.694658 +L 249.342282 203.916093 +L 248.152179 204.717176 +L 247.424859 205.203708 +L 245.507436 206.55144 +L 244.960395 206.953412 +L 243.590013 207.958677 +L 241.977365 209.189647 +L 241.672591 209.422947 +L 239.755168 210.943687 +L 239.166021 211.425882 +L 237.837745 212.521078 +L 236.491677 213.662118 +L 235.920322 214.152289 +L 234.002899 215.837467 +L 233.935046 215.898353 +L 232.085477 217.585975 +L 231.494652 218.134588 +L 230.168054 219.39332 +L 229.152543 220.370824 +L 228.250631 221.262489 +L 226.905917 222.607059 +L 226.333208 223.198391 +L 224.753337 224.843294 +L 224.415785 225.208299 +L 222.694626 227.079529 +L 222.498362 227.302516 +L 220.730817 229.315765 +L 220.58094 229.495377 +L 218.864143 231.552 +L 218.663517 231.806773 +L 217.098071 233.788235 +L 216.746094 234.264506 +L 215.437381 236.024471 +L 214.828671 236.908056 +L 213.888288 238.260706 +L 212.911248 239.794808 +L 212.458625 240.496941 +L 211.155611 242.733176 +L 210.993826 243.045449 +L 209.98179 244.969412 +L 209.076403 246.94598 +L 208.955257 247.205647 +L 208.071451 249.441882 +L 207.351131 251.678118 +L 207.15898 252.454325 +L 206.789646 253.914353 +L 206.3969 256.150588 +L 206.178869 258.386824 +L 206.136538 260.623059 +L 206.270098 262.859294 +L 206.578945 265.095529 +L 207.061686 267.331765 +L 207.15898 267.664216 +L 207.704215 269.568 +L 208.509806 271.804235 +L 209.076403 273.114387 +L 209.469621 274.040471 +L 210.573415 276.276706 +L 210.993826 277.026964 +L 211.813954 278.512941 +L 212.911248 280.296657 +L 213.186275 280.749176 +L 214.67901 282.985412 +L 214.828671 283.192052 +L 216.285288 285.221647 +L 216.746094 285.819577 +L 218.000918 287.457882 +L 218.663517 288.270765 +L 219.819941 289.694118 +L 220.58094 290.581239 +L 221.737811 291.930353 +L 222.498362 292.776371 +L 223.751273 294.166588 +L 224.415785 294.874465 +L 225.858295 296.402824 +L 226.333208 296.888781 +L 228.058032 298.639059 +L 228.250631 298.828862 +L 230.168054 300.697184 +L 230.35349 300.875294 +L 232.085477 302.49934 +L 232.749884 303.111529 +L 234.002899 304.244277 +L 235.249149 305.347765 z " style="fill:#67001f;"/> - <path clip-path="url(#p553f52e075)" d="M 74.396779 140.37881 -L 76.793557 139.825447 -L 79.190336 139.141398 -L 79.493316 139.038655 -L 81.587114 138.346387 -L 83.983893 137.430732 -L 86.380671 136.394504 -L 86.920864 136.134454 -L 88.77745 135.25863 -L 91.174228 134.016008 -L 92.568212 133.230252 -L 93.571007 132.673659 -L 95.967785 131.240453 -L 97.398377 130.32605 -L 98.364564 129.715085 -L 100.761342 128.106148 -L 101.727458 127.421849 -L 103.158121 126.414722 -L 105.554899 124.644195 -L 105.718962 124.517647 -L 107.951678 122.798247 -L 109.431856 121.613445 -L 110.348456 120.877616 -L 112.745235 118.886116 -L 112.951707 118.709244 -L 115.142013 116.818887 -L 116.285671 115.805042 -L 117.538792 114.680657 -L 119.476738 112.90084 -L 119.93557 112.472302 -L 122.332349 110.188705 -L 122.530593 109.996639 -L 124.729128 107.819882 -L 125.453927 107.092437 -L 127.125906 105.368745 -L 128.25896 104.188235 -L 129.522685 102.828482 -L 130.947189 101.284034 -L 131.919463 100.189105 -L 133.518558 98.379832 -L 134.316242 97.436542 -L 135.97151 95.47563 -L 136.71302 94.551277 -L 138.302988 92.571429 -L 139.109799 91.50628 -L 140.508383 89.667227 -L 141.506577 88.263811 -L 142.581421 86.763025 -L 143.903356 84.770301 -L 144.514002 83.858824 -L 146.296007 80.954622 -L 146.300134 80.947179 -L 147.927096 78.05042 -L 148.696913 76.508371 -L 149.387864 75.146218 -L 150.67013 72.242017 -L 151.093691 71.108888 -L 151.768518 69.337815 -L 152.669612 66.433613 -L 153.36115 63.529412 -L 153.49047 62.745109 -L 153.847952 60.62521 -L 154.117967 57.721008 -L 154.167035 54.816807 -L 153.994935 51.912605 -L 153.602444 49.008403 -L 153.49047 48.476262 -L 153.002428 46.104202 -L 152.19384 43.2 -L 151.093691 43.2 -L 148.696913 43.2 -L 146.300134 43.2 -L 143.903356 43.2 -L 142.92669 43.2 -L 143.68983 46.104202 -L 143.903356 47.20382 -L 144.257244 49.008403 -L 144.623031 51.912605 -L 144.783422 54.816807 -L 144.737692 57.721008 -L 144.486049 60.62521 -L 144.029629 63.529412 -L 143.903356 64.085781 -L 143.375721 66.433613 -L 142.525273 69.337815 -L 141.506577 72.170587 -L 141.481067 72.242017 -L 140.255953 75.146218 -L 139.109799 77.511175 -L 138.849499 78.05042 -L 137.272287 80.954622 -L 136.71302 81.885191 -L 135.528182 83.858824 -L 134.316242 85.707779 -L 133.623321 86.763025 -L 131.919463 89.166497 -L 131.562823 89.667227 -L 129.522685 92.346196 -L 129.349853 92.571429 -L 127.125906 95.305035 -L 126.985643 95.47563 -L 124.729128 98.083759 -L 124.469462 98.379832 -L 122.332349 100.711292 -L 121.798502 101.284034 -L 119.93557 103.208239 -L 118.967679 104.188235 -L 117.538792 105.589133 -L 115.969334 107.092437 -L 115.142013 107.863916 -L 112.792809 109.996639 -L 112.745235 110.038902 -L 110.348456 112.104136 -L 109.391457 112.90084 -L 107.951678 114.079478 -L 105.760714 115.805042 -L 105.554899 115.965191 -L 103.158121 117.751304 -L 101.809204 118.709244 -L 100.761342 119.447855 -L 98.364564 121.049013 -L 97.467629 121.613445 -L 95.967785 122.554538 -L 93.571007 123.96147 -L 92.550249 124.517647 -L 91.174228 125.268604 -L 88.77745 126.471696 -L 86.697122 127.421849 -L 86.380671 127.567273 -L 83.983893 128.556461 -L 81.587114 129.430549 -L 79.190336 130.187018 -L 78.666938 130.32605 -L 76.793557 130.829061 -L 74.396779 131.349658 -L 72 131.745807 -L 72 133.230252 -L 72 136.134454 -L 72 139.038655 -L 72 140.799891 + <path clip-path="url(#p0bba778d2e)" d="M 59.517423 116.299684 +L 61.434846 115.873594 +L 63.352268 115.346877 +L 63.594653 115.267765 +L 65.269691 114.734718 +L 67.187114 114.029664 +L 69.104537 113.231768 +L 69.536691 113.031529 +L 71.02196 112.357145 +L 72.939383 111.400326 +L 74.054569 110.795294 +L 74.856805 110.366717 +L 76.774228 109.263149 +L 77.918702 108.559059 +L 78.691651 108.088615 +L 80.609074 106.849734 +L 81.381966 106.322824 +L 82.526497 105.547336 +L 84.443919 104.18403 +L 84.57517 104.086588 +L 86.361342 102.76265 +L 87.545484 101.850353 +L 88.278765 101.283764 +L 90.196188 99.750309 +L 90.361365 99.614118 +L 92.113611 98.158543 +L 93.028537 97.377882 +L 94.031034 96.512106 +L 95.58139 95.141647 +L 95.948456 94.811673 +L 97.865879 93.053303 +L 98.024475 92.905412 +L 99.783302 91.22931 +L 100.363142 90.669176 +L 101.700725 89.341934 +L 102.607168 88.432941 +L 103.618148 87.385931 +L 104.757752 86.196706 +L 105.53557 85.353611 +L 106.814847 83.960471 +L 107.452993 83.234138 +L 108.777208 81.724235 +L 109.370416 81.012483 +L 110.642391 79.488 +L 111.287839 78.667836 +L 112.406706 77.251765 +L 113.205262 76.171134 +L 114.065137 75.015529 +L 115.122685 73.481132 +L 115.611202 72.779294 +L 117.036806 70.543059 +L 117.040107 70.537327 +L 118.341677 68.306824 +L 118.95753 67.119446 +L 119.510291 66.070588 +L 120.536104 63.834353 +L 120.874953 62.961844 +L 121.414814 61.598118 +L 122.13569 59.361882 +L 122.68892 57.125647 +L 122.792376 56.521734 +L 123.078362 54.889412 +L 123.294373 52.653176 +L 123.333628 50.416941 +L 123.195948 48.180706 +L 122.881955 45.944471 +L 122.792376 45.534722 +L 122.401942 43.708235 +L 121.755072 41.472 +L 120.874953 41.472 +L 118.95753 41.472 +L 117.040107 41.472 +L 115.122685 41.472 +L 114.341352 41.472 +L 114.951864 43.708235 +L 115.122685 44.554941 +L 115.405796 45.944471 +L 115.698425 48.180706 +L 115.826738 50.416941 +L 115.790154 52.653176 +L 115.588839 54.889412 +L 115.223703 57.125647 +L 115.122685 57.554051 +L 114.700576 59.361882 +L 114.020219 61.598118 +L 113.205262 63.779352 +L 113.184854 63.834353 +L 112.204762 66.070588 +L 111.287839 67.891605 +L 111.079599 68.306824 +L 109.81783 70.543059 +L 109.370416 71.259597 +L 108.422545 72.779294 +L 107.452993 74.20299 +L 106.898656 75.015529 +L 105.53557 76.866203 +L 105.250259 77.251765 +L 103.618148 79.314571 +L 103.479882 79.488 +L 101.700725 81.592877 +L 101.588514 81.724235 +L 99.783302 83.732494 +L 99.57557 83.960471 +L 97.865879 85.755695 +L 97.438802 86.196706 +L 95.948456 87.678344 +L 95.174143 88.432941 +L 94.031034 89.511633 +L 92.775467 90.669176 +L 92.113611 91.263215 +L 90.234247 92.905412 +L 90.196188 92.937954 +L 88.278765 94.528185 +L 87.513166 95.141647 +L 86.361342 96.049198 +L 84.608571 97.377882 +L 84.443919 97.501197 +L 82.526497 98.876504 +L 81.447363 99.614118 +L 80.609074 100.182849 +L 78.691651 101.41574 +L 77.974103 101.850353 +L 76.774228 102.574994 +L 74.856805 103.658332 +L 74.040199 104.086588 +L 72.939383 104.664825 +L 71.02196 105.591206 +L 69.357697 106.322824 +L 69.104537 106.4348 +L 67.187114 107.196475 +L 65.269691 107.869523 +L 63.352268 108.452003 +L 62.93355 108.559059 +L 61.434846 108.946377 +L 59.517423 109.347237 +L 57.6 109.652271 +L 57.6 110.795294 +L 57.6 113.031529 +L 57.6 115.267765 +L 57.6 116.623916 z " style="fill:#67001f;"/> - <path clip-path="url(#p553f52e075)" d="M 333.248859 139.324561 -L 335.645638 139.976109 -L 338.042416 140.496536 -L 340.439195 140.884342 -L 342.835973 141.138411 -L 345.232752 141.258009 -L 347.62953 141.242792 -L 350.026309 141.092803 -L 352.423087 140.808476 -L 354.819866 140.390629 -L 357.216644 139.840467 -L 359.613423 139.159575 -L 359.971372 139.038655 -L 362.010201 138.367137 -L 364.40698 137.454449 -L 366.803758 136.42112 -L 367.400699 136.134454 -L 369.200537 135.287477 -L 371.597315 134.047538 -L 373.050022 133.230252 -L 373.994094 132.707258 -L 376.390872 131.276507 -L 377.880157 130.32605 -L 378.787651 129.753079 -L 381.18443 128.14636 -L 382.208584 127.421849 -L 383.581208 126.456774 -L 385.977987 124.688214 -L 386.199339 124.517647 -L 388.374765 122.844033 -L 389.91351 121.613445 -L 390.771544 120.925245 -L 393.168322 118.935317 -L 393.432414 118.709244 -L 395.565101 116.869899 -L 396.767034 115.805042 -L 397.961879 114.733599 -L 399.95852 112.90084 -L 400.358658 112.527319 -L 402.755436 110.24474 -L 403.011613 109.996639 -L 405.152215 107.878023 -L 405.935175 107.092437 -L 407.548993 105.429194 -L 408.740331 104.188235 -L 409.945772 102.891481 -L 411.428606 101.284034 -L 412.34255 100.254947 -L 413.99997 98.379832 -L 414.739329 97.505583 -L 416.452893 95.47563 -L 417.136107 94.623955 -L 418.784341 92.571429 -L 419.532886 91.583142 -L 420.98973 89.667227 -L 421.929664 88.345549 -L 423.062819 86.763025 -L 424.326443 84.857813 -L 424.995534 83.858824 -L 426.723221 81.04237 -L 426.777742 80.954622 -L 428.408314 78.05042 -L 429.12 76.624317 -L 429.12 75.146218 -L 429.12 72.242017 -L 429.12 69.337815 -L 429.12 66.433613 -L 429.12 63.529412 -L 429.12 60.62521 -L 429.12 57.721008 -L 429.12 54.816807 -L 429.12 51.912605 -L 429.12 49.008403 -L 429.12 46.104202 -L 429.12 43.2 -L 426.723221 43.2 -L 424.326443 43.2 -L 423.408017 43.2 -L 424.171002 46.104202 -L 424.326443 46.904854 -L 424.738847 49.008403 -L 425.104533 51.912605 -L 425.26488 54.816807 -L 425.219163 57.721008 -L 424.967589 60.62521 -L 424.511294 63.529412 -L 424.326443 64.344104 -L 423.856957 66.433613 -L 423.006682 69.337815 -L 421.962511 72.242017 -L 421.929664 72.319361 -L 420.737334 75.146218 -L 419.532886 77.631784 -L 419.330818 78.05042 -L 417.753702 80.954622 -L 417.136107 81.982307 -L 416.00956 83.858824 -L 414.739329 85.796691 -L 414.104741 86.763025 -L 412.34255 89.248585 -L 412.044332 89.667227 -L 409.945772 92.422498 -L 409.831464 92.571429 -L 407.548993 95.37635 -L 407.467341 95.47563 -L 405.152215 98.150715 -L 404.951198 98.379832 -L 402.755436 100.774389 -L 402.28019 101.284034 -L 400.358658 103.267881 -L 399.449193 104.188235 -L 397.961879 105.645649 -L 396.450503 107.092437 -L 395.565101 107.917575 -L 393.273405 109.996639 -L 393.168322 110.089925 -L 390.771544 112.153528 -L 389.873076 112.90084 -L 388.374765 114.126303 -L 386.241132 115.805042 -L 385.977987 116.009598 -L 383.581208 117.793727 -L 382.290432 118.709244 -L 381.18443 119.487873 -L 378.787651 121.086824 -L 377.949515 121.613445 -L 376.390872 122.589931 -L 373.994094 123.994453 -L 373.032025 124.517647 -L 371.597315 125.299131 -L 369.200537 126.499626 -L 367.176409 127.421849 -L 366.803758 127.592681 -L 364.40698 128.579101 -L 362.010201 129.450357 -L 359.613423 130.203935 -L 359.151581 130.32605 -L 357.216644 130.843191 -L 354.819866 131.360777 -L 352.423087 131.753883 -L 350.026309 132.021375 -L 347.62953 132.162482 -L 345.232752 132.176798 -L 342.835973 132.064282 -L 340.439195 131.825257 -L 338.042416 131.460413 -L 335.645638 130.970802 -L 333.248859 130.357833 -L 333.145156 130.32605 -L 330.852081 129.630784 -L 328.455302 128.785878 -L 326.058523 127.825211 -L 325.158081 127.421849 -L 323.661745 126.755659 -L 321.264966 125.579356 -L 319.28025 124.517647 -L 318.868188 124.297573 -L 316.471409 122.915523 -L 314.362825 121.613445 -L 314.074631 121.434963 -L 311.677852 119.856605 -L 310.028999 118.709244 -L 309.281074 118.184898 -L 306.884295 116.41932 -L 306.08664 115.805042 -L 304.487517 114.558584 -L 302.443647 112.90084 -L 302.090738 112.609749 -L 299.69396 110.561442 -L 299.053536 109.996639 -L 297.297181 108.413682 -L 295.871258 107.092437 -L 294.900403 106.168402 -L 292.869533 104.188235 -L 292.503624 103.819783 -L 290.106846 101.355723 -L 290.038324 101.284034 -L 287.710067 98.75389 -L 287.370766 98.379832 -L 285.313289 96.009146 -L 284.855471 95.47563 -L 282.91651 93.097941 -L 282.490714 92.571429 -L 280.519732 89.987473 -L 280.276773 89.667227 -L 278.216091 86.763025 -L 278.122953 86.621313 -L 276.311898 83.858824 -L 275.726174 82.883332 -L 274.567663 80.954622 -L 273.329396 78.673294 -L 272.990205 78.05042 -L 271.584496 75.146218 -L 270.932617 73.598942 -L 270.357397 72.242017 -L 269.315101 69.337815 -L 268.535839 66.671374 -L 268.465718 66.433613 -L 267.808389 63.529412 -L 267.353219 60.62521 -L 267.102266 57.721008 -L 267.056662 54.816807 -L 267.216613 51.912605 -L 267.581397 49.008403 -L 268.149366 46.104202 -L 268.535839 44.643867 -L 268.914487 43.2 -L 268.535839 43.2 -L 266.13906 43.2 -L 263.742282 43.2 -L 261.345503 43.2 -L 259.647317 43.2 -L 258.948725 45.721949 -L 258.840524 46.104202 -L 258.233033 49.008403 -L 257.842866 51.912605 -L 257.671784 54.816807 -L 257.720562 57.721008 -L 257.988978 60.62521 -L 258.47582 63.529412 -L 258.948725 65.482865 -L 259.173963 66.433613 -L 260.070478 69.337815 -L 261.171435 72.242017 -L 261.345503 72.63076 -L 262.451382 75.146218 -L 263.742282 77.70205 -L 263.915586 78.05042 -L 265.541022 80.954622 -L 266.13906 81.920181 -L 267.325343 83.858824 -L 268.535839 85.670628 -L 269.259065 86.763025 -L 270.932617 89.104456 -L 271.332386 89.667227 -L 273.329396 92.29651 -L 273.537523 92.571429 -L 275.726174 95.298251 -L 275.868492 95.47563 -L 278.122953 98.145906 -L 278.320948 98.379832 -L 280.519732 100.865381 -L 280.892091 101.284034 -L 282.91651 103.475345 -L 283.580621 104.188235 -L 285.313289 105.989213 -L 286.38675 107.092437 -L 287.710067 108.416457 -L 289.312267 109.996639 -L 290.106846 110.763471 -L 292.360664 112.90084 -L 292.503624 113.034154 -L 294.900403 115.223289 -L 295.552901 115.805042 -L 297.297181 117.341528 -L 298.893479 118.709244 -L 299.69396 119.39 -L 302.090738 121.365178 -L 302.402874 121.613445 -L 304.487517 123.266715 -L 306.128826 124.517647 -L 306.884295 125.09436 -L 309.281074 126.844533 -L 310.111806 127.421849 -L 311.677852 128.516884 -L 314.074631 130.10291 -L 314.433192 130.32605 -L 316.471409 131.60818 -L 318.868188 133.016038 -L 319.261924 133.230252 -L 321.264966 134.33697 -L 323.661745 135.551923 -L 324.928551 136.134454 -L 326.058523 136.664707 -L 328.455302 137.671059 -L 330.852081 138.556144 -L 332.37122 139.038655 + <path clip-path="url(#p0bba778d2e)" d="M 266.599087 115.487912 +L 268.51651 115.989604 +L 270.433933 116.390332 +L 272.351356 116.688944 +L 274.268779 116.884576 +L 276.186201 116.976667 +L 278.103624 116.964949 +L 280.021047 116.849458 +L 281.93847 116.630526 +L 283.855893 116.308784 +L 285.773315 115.885159 +L 287.690738 115.360873 +L 287.977098 115.267765 +L 289.608161 114.750695 +L 291.525584 114.047926 +L 293.443007 113.252262 +L 293.920559 113.031529 +L 295.36043 112.379358 +L 297.277852 111.424604 +L 298.440018 110.795294 +L 299.195275 110.392588 +L 301.112698 109.29091 +L 302.304126 108.559059 +L 303.030121 108.117871 +L 304.947544 106.880697 +L 305.766867 106.322824 +L 306.864966 105.579716 +L 308.782389 104.217925 +L 308.959471 104.086588 +L 310.699812 102.797905 +L 311.930808 101.850353 +L 312.617235 101.320439 +L 314.534658 99.788194 +L 314.745931 99.614118 +L 316.452081 98.197822 +L 317.413627 97.377882 +L 318.369503 96.552871 +L 319.966816 95.141647 +L 320.286926 94.854035 +L 322.204349 93.09645 +L 322.40929 92.905412 +L 324.121772 91.274078 +L 324.74814 90.669176 +L 326.039195 89.388479 +L 326.992264 88.432941 +L 327.956617 87.43444 +L 329.142885 86.196706 +L 329.87404 85.404309 +L 331.199976 83.960471 +L 331.791463 83.287299 +L 333.162314 81.724235 +L 333.708886 81.068445 +L 335.027473 79.488 +L 335.626309 78.727019 +L 336.791784 77.251765 +L 337.543732 76.234073 +L 338.450255 75.015529 +L 339.461154 73.548516 +L 339.996427 72.779294 +L 341.378577 70.610625 +L 341.422193 70.543059 +L 342.726651 68.306824 +L 343.296 67.208724 +L 343.296 66.070588 +L 343.296 63.834353 +L 343.296 61.598118 +L 343.296 59.361882 +L 343.296 57.125647 +L 343.296 54.889412 +L 343.296 52.653176 +L 343.296 50.416941 +L 343.296 48.180706 +L 343.296 45.944471 +L 343.296 43.708235 +L 343.296 41.472 +L 341.378577 41.472 +L 339.461154 41.472 +L 338.726414 41.472 +L 339.336802 43.708235 +L 339.461154 44.324737 +L 339.791078 45.944471 +L 340.083626 48.180706 +L 340.211904 50.416941 +L 340.17533 52.653176 +L 339.974071 54.889412 +L 339.609035 57.125647 +L 339.461154 57.75296 +L 339.085565 59.361882 +L 338.405346 61.598118 +L 337.570008 63.834353 +L 337.543732 63.893908 +L 336.589867 66.070588 +L 335.626309 67.984474 +L 335.464654 68.306824 +L 334.202962 70.543059 +L 333.708886 71.334376 +L 332.807648 72.779294 +L 331.791463 74.271452 +L 331.283793 75.015529 +L 329.87404 76.929411 +L 329.635466 77.251765 +L 327.956617 79.373323 +L 327.865172 79.488 +L 326.039195 81.64779 +L 325.973873 81.724235 +L 324.121772 83.784051 +L 323.960958 83.960471 +L 322.204349 85.80428 +L 321.824152 86.196706 +L 320.286926 87.724268 +L 319.559355 88.432941 +L 318.369503 89.55515 +L 317.160403 90.669176 +L 316.452081 91.304533 +L 314.618724 92.905412 +L 314.534658 92.977242 +L 312.617235 94.566217 +L 311.898461 95.141647 +L 310.699812 96.085253 +L 308.992906 97.377882 +L 308.782389 97.535391 +L 306.864966 98.90917 +L 305.832345 99.614118 +L 304.947544 100.213662 +L 303.030121 101.444854 +L 302.359612 101.850353 +L 301.112698 102.602247 +L 299.195275 103.683729 +L 298.42562 104.086588 +L 297.277852 104.688331 +L 295.36043 105.612712 +L 293.741127 106.322824 +L 293.443007 106.454364 +L 291.525584 107.213908 +L 289.608161 107.884775 +L 287.690738 108.46503 +L 287.321265 108.559059 +L 285.773315 108.957257 +L 283.855893 109.355799 +L 281.93847 109.65849 +L 280.021047 109.864459 +L 278.103624 109.973111 +L 276.186201 109.984135 +L 274.268779 109.897497 +L 272.351356 109.713448 +L 270.433933 109.432518 +L 268.51651 109.055517 +L 266.599087 108.583532 +L 266.516125 108.559059 +L 264.681664 108.023704 +L 262.764242 107.373126 +L 260.846819 106.633412 +L 260.126465 106.322824 +L 258.929396 105.809858 +L 257.011973 104.904104 +L 255.4242 104.086588 +L 255.09455 103.917131 +L 253.177128 102.852953 +L 251.49026 101.850353 +L 251.259705 101.712921 +L 249.342282 100.497586 +L 248.023199 99.614118 +L 247.424859 99.210372 +L 245.507436 97.850876 +L 244.869312 97.377882 +L 243.590013 96.41811 +L 241.954918 95.141647 +L 241.672591 94.917507 +L 239.755168 93.34031 +L 239.242829 92.905412 +L 237.837745 91.686535 +L 236.697006 90.669176 +L 235.920322 89.95767 +L 234.295626 88.432941 +L 234.002899 88.149233 +L 232.085477 86.251907 +L 232.030659 86.196706 +L 230.168054 84.248496 +L 229.896613 83.960471 +L 228.250631 82.135042 +L 227.884377 81.724235 +L 226.333208 79.893414 +L 225.992572 79.488 +L 224.415785 77.498354 +L 224.221418 77.251765 +L 222.572873 75.015529 +L 222.498362 74.906411 +L 221.049518 72.779294 +L 220.58094 72.028166 +L 219.65413 70.543059 +L 218.663517 68.786436 +L 218.392164 68.306824 +L 217.267596 66.070588 +L 216.746094 64.879185 +L 216.285917 63.834353 +L 215.452081 61.598118 +L 214.828671 59.544958 +L 214.772574 59.361882 +L 214.246711 57.125647 +L 213.882576 54.889412 +L 213.681813 52.653176 +L 213.645329 50.416941 +L 213.77329 48.180706 +L 214.065118 45.944471 +L 214.519493 43.708235 +L 214.828671 42.583778 +L 215.13159 41.472 +L 214.828671 41.472 +L 212.911248 41.472 +L 210.993826 41.472 +L 209.076403 41.472 +L 207.717854 41.472 +L 207.15898 43.413901 +L 207.072419 43.708235 +L 206.586426 45.944471 +L 206.274293 48.180706 +L 206.137428 50.416941 +L 206.17645 52.653176 +L 206.391182 54.889412 +L 206.780656 57.125647 +L 207.15898 58.629806 +L 207.339171 59.361882 +L 208.056383 61.598118 +L 208.937148 63.834353 +L 209.076403 64.133685 +L 209.961105 66.070588 +L 210.993826 68.038578 +L 211.132469 68.306824 +L 212.432818 70.543059 +L 212.911248 71.286539 +L 213.860274 72.779294 +L 214.828671 74.174384 +L 215.407252 75.015529 +L 216.746094 76.818431 +L 217.065909 77.251765 +L 218.663517 79.276312 +L 218.830019 79.488 +L 220.58094 81.587653 +L 220.694794 81.724235 +L 222.498362 83.780348 +L 222.656758 83.960471 +L 224.415785 85.874344 +L 224.713672 86.196706 +L 226.333208 87.884016 +L 226.864497 88.432941 +L 228.250631 89.819694 +L 229.1094 90.669176 +L 230.168054 91.688672 +L 231.449814 92.905412 +L 232.085477 93.495873 +L 233.888531 95.141647 +L 234.002899 95.244299 +L 235.920322 96.929933 +L 236.442321 97.377882 +L 237.837745 98.560976 +L 239.114784 99.614118 +L 239.755168 100.1383 +L 241.672591 101.659187 +L 241.922299 101.850353 +L 243.590013 103.12337 +L 244.903061 104.086588 +L 245.507436 104.530657 +L 247.424859 105.87829 +L 248.089444 106.322824 +L 249.342282 107.166 +L 251.259705 108.387241 +L 251.546553 108.559059 +L 253.177128 109.546298 +L 255.09455 110.630349 +L 255.409539 110.795294 +L 257.011973 111.647467 +L 258.929396 112.582981 +L 259.942841 113.031529 +L 260.846819 113.439825 +L 262.764242 114.214715 +L 264.681664 114.896231 +L 265.896976 115.267765 z " style="fill:#67001f;"/> </g> <g id="PathCollection_8"> - <path clip-path="url(#p553f52e075)" d="M 115.142013 388.8 -L 117.538792 388.8 -L 119.93557 388.8 -L 122.332349 388.8 -L 124.106688 388.8 -L 124.729128 388.211193 -L 127.125906 385.912879 -L 127.143531 385.895798 -L 129.522685 383.557051 -L 130.093552 382.991597 -L 131.919463 381.148213 -L 132.96532 380.087395 -L 134.316242 378.68381 -L 135.757979 377.183193 -L 136.71302 376.159621 -L 138.469665 374.278992 -L 139.109799 373.569393 -L 141.097479 371.37479 -L 141.506577 370.904306 -L 143.63742 368.470588 -L 143.903356 368.152163 -L 146.084283 365.566387 -L 146.300134 365.296177 -L 148.431502 362.662185 -L 148.696913 362.313118 -L 150.67095 359.757983 -L 151.093691 359.170405 -L 152.792654 356.853782 -L 153.49047 355.821398 -L 154.784436 353.94958 -L 155.887248 352.197435 -L 156.631418 351.045378 -L 158.284027 348.19371 -L 158.315386 348.141176 -L 159.842456 345.236975 -L 160.680805 343.383535 -L 161.172267 342.332773 -L 162.303773 339.428571 -L 163.077584 336.930324 -L 163.208146 336.52437 -L 163.897118 333.620168 -L 164.337909 330.715966 -L 164.528528 327.811765 -L 164.468112 324.907563 -L 164.156936 322.003361 -L 163.596404 319.09916 -L 163.077584 317.232869 -L 162.799704 316.194958 -L 161.787965 313.290756 -L 160.680805 310.700527 -L 160.55102 310.386555 -L 159.133883 307.482353 -L 158.284027 305.965706 -L 157.529183 304.578151 -L 155.887248 301.894517 -L 155.755754 301.67395 -L 153.84027 298.769748 -L 153.49047 298.283893 -L 151.788027 295.865546 -L 151.093691 294.951777 -L 149.609938 292.961345 -L 148.696913 291.815629 -L 147.31776 290.057143 -L 146.300134 288.833133 -L 144.921108 287.152941 -L 143.903356 285.974371 -L 142.427807 284.248739 -L 141.506577 283.217806 -L 139.844164 281.344538 -L 139.109799 280.547767 -L 137.175163 278.440336 -L 136.71302 277.952822 -L 134.424615 275.536134 -L 134.316242 275.424703 -L 131.919463 272.964696 -L 131.593732 272.631933 -L 129.522685 270.56141 -L 128.682431 269.727731 -L 127.125906 268.208994 -L 125.690883 266.823529 -L 124.729128 265.906058 -L 122.61799 263.919328 -L 122.332349 263.652495 -L 119.93557 261.45064 -L 119.451958 261.015126 -L 117.538792 259.297103 -L 116.186765 258.110924 -L 115.142013 257.192773 -L 112.820743 255.206723 -L 112.745235 255.141715 -L 110.348456 253.140219 -L 109.310171 252.302521 -L 107.951678 251.194541 -L 105.662529 249.398319 -L 105.554899 249.312544 -L 103.158121 247.483229 -L 101.798205 246.494118 -L 100.761342 245.724453 -L 98.364564 244.038281 -L 97.687994 243.589916 -L 95.967785 242.42058 -L 93.571007 240.896368 -L 93.214139 240.685714 -L 91.174228 239.444007 -L 88.77745 238.102116 -L 88.148105 237.781513 -L 86.380671 236.847782 -L 83.983893 235.710612 -L 81.996296 234.877311 -L 81.587114 234.698321 -L 79.190336 233.790971 -L 76.793557 233.027315 -L 74.396779 232.409554 -L 72.171519 231.973109 -L 72 231.937777 -L 72 231.973109 -L 72 234.877311 -L 72 237.781513 -L 72 240.685714 -L 72 241.883137 -L 74.396779 242.30444 -L 76.793557 242.858094 -L 79.190336 243.542503 -L 79.330079 243.589916 -L 81.587114 244.336475 -L 83.983893 245.252523 -L 86.380671 246.289196 -L 86.806164 246.494118 -L 88.77745 247.424362 -L 91.174228 248.667402 -L 92.470489 249.398319 -L 93.571007 250.009304 -L 95.967785 251.442863 -L 97.312397 252.302521 -L 98.364564 252.967963 -L 100.761342 254.577156 -L 101.650043 255.206723 -L 103.158121 256.268424 -L 105.554899 258.039082 -L 105.648033 258.110924 -L 107.951678 259.884926 -L 109.363657 261.015126 -L 110.348456 261.805627 -L 112.745235 263.796935 -L 112.888124 263.919328 -L 115.142013 265.864205 -L 116.224368 266.823529 -L 117.538792 268.002601 -L 119.417701 269.727731 -L 119.93557 270.211234 -L 122.332349 272.494008 -L 122.474762 272.631933 -L 124.729128 274.862952 -L 125.400166 275.536134 -L 127.125906 277.314267 -L 128.207307 278.440336 -L 129.522685 279.854738 -L 130.897689 281.344538 -L 131.919463 282.494326 -L 133.471266 284.248739 -L 134.316242 285.247063 -L 135.926489 287.152941 -L 136.71302 288.132413 -L 138.26031 290.057143 -L 139.109799 291.177319 -L 140.468129 292.961345 -L 141.506577 294.419395 -L 142.543686 295.865546 -L 143.903356 297.912002 -L 144.478889 298.769748 -L 146.264049 301.67395 -L 146.300134 301.738897 -L 147.898067 304.578151 -L 148.696913 306.174526 -L 149.361897 307.482353 -L 150.64781 310.386555 -L 151.093691 311.575292 -L 151.749586 313.290756 -L 152.654586 316.194958 -L 153.350097 319.09916 -L 153.49047 319.943404 -L 153.840763 322.003361 -L 154.114924 324.907563 -L 154.168153 327.811765 -L 154.000209 330.715966 -L 153.611851 333.620168 -L 153.49047 334.2009 -L 153.015624 336.52437 -L 152.210976 339.428571 -L 151.198844 342.332773 -L 151.093691 342.584108 -L 150.004858 345.236975 -L 148.696913 347.978279 -L 148.620421 348.141176 -L 147.072249 351.045378 -L 146.300134 352.344835 -L 145.358817 353.94958 -L 143.903356 356.208718 -L 143.491847 356.853782 -L 141.506577 359.722011 -L 141.48185 359.757983 -L 139.338137 362.662185 -L 139.109799 362.952858 -L 137.064911 365.566387 -L 136.71302 365.992347 -L 134.667968 368.470588 -L 134.316242 368.877154 -L 132.151642 371.37479 -L 131.919463 371.631987 -L 129.522685 374.274637 -L 129.518705 374.278992 -L 127.125906 376.807669 -L 126.766786 377.183193 -L 124.729128 379.252459 -L 123.895688 380.087395 -L 122.332349 381.616342 -L 120.902461 382.991597 -L 119.93557 383.903994 -L 117.782313 385.895798 -L 117.538792 386.117873 -L 115.142013 388.253264 -L 114.511688 388.8 + <path clip-path="url(#p0bba778d2e)" d="M 92.113611 307.584 +L 94.031034 307.584 +L 95.948456 307.584 +L 97.865879 307.584 +L 99.285351 307.584 +L 99.783302 307.130619 +L 101.700725 305.360916 +L 101.714825 305.347765 +L 103.618148 303.546929 +L 104.074842 303.111529 +L 105.53557 301.692124 +L 106.372256 300.875294 +L 107.452993 299.794534 +L 108.606383 298.639059 +L 109.370416 297.850908 +L 110.775732 296.402824 +L 111.287839 295.856432 +L 112.877983 294.166588 +L 113.205262 293.804316 +L 114.909936 291.930353 +L 115.122685 291.685166 +L 116.867426 289.694118 +L 117.040107 289.486056 +L 118.745202 287.457882 +L 118.95753 287.189101 +L 120.53676 285.221647 +L 120.874953 284.769212 +L 122.234124 282.985412 +L 122.792376 282.190476 +L 123.827549 280.749176 +L 124.709799 279.400025 +L 125.305135 278.512941 +L 126.627221 276.317156 +L 126.652309 276.276706 +L 127.873965 274.040471 +L 128.544644 272.613322 +L 128.937813 271.804235 +L 129.843019 269.568 +L 130.462067 267.644349 +L 130.566517 267.331765 +L 131.117695 265.095529 +L 131.470327 262.859294 +L 131.622822 260.623059 +L 131.57449 258.386824 +L 131.325549 256.150588 +L 130.877123 253.914353 +L 130.462067 252.477309 +L 130.239763 251.678118 +L 129.430372 249.441882 +L 128.544644 247.447406 +L 128.440816 247.205647 +L 127.307107 244.969412 +L 126.627221 243.801594 +L 126.023347 242.733176 +L 124.709799 240.666778 +L 124.604603 240.496941 +L 123.072216 238.260706 +L 122.792376 237.886598 +L 121.430422 236.024471 +L 120.874953 235.320869 +L 119.687951 233.788235 +L 118.95753 232.906034 +L 117.854208 231.552 +L 117.040107 230.609513 +L 115.936886 229.315765 +L 115.122685 228.408266 +L 113.942245 227.079529 +L 113.205262 226.285711 +L 111.875331 224.843294 +L 111.287839 224.229781 +L 109.740131 222.607059 +L 109.370416 222.231673 +L 107.539692 220.370824 +L 107.452993 220.285021 +L 105.53557 218.390816 +L 105.274985 218.134588 +L 103.618148 216.540286 +L 102.945945 215.898353 +L 101.700725 214.728926 +L 100.552706 213.662118 +L 99.783302 212.955664 +L 98.094392 211.425882 +L 97.865879 211.220421 +L 95.948456 209.524993 +L 95.561566 209.189647 +L 94.031034 207.866769 +L 92.949412 206.953412 +L 92.113611 206.246435 +L 90.256595 204.717176 +L 90.196188 204.66712 +L 88.278765 203.125969 +L 87.448137 202.480941 +L 86.361342 201.627797 +L 84.530023 200.244706 +L 84.443919 200.178659 +L 82.526497 198.770086 +L 81.438564 198.008471 +L 80.609074 197.415829 +L 78.691651 196.117476 +L 78.150395 195.772235 +L 76.774228 194.871846 +L 74.856805 193.698204 +L 74.571311 193.536 +L 72.939383 192.579885 +L 71.02196 191.54663 +L 70.518484 191.299765 +L 69.104537 190.580792 +L 67.187114 189.705171 +L 65.597037 189.063529 +L 65.269691 188.925707 +L 63.352268 188.227048 +L 61.434846 187.639033 +L 59.517423 187.163357 +L 57.737215 186.827294 +L 57.6 186.800088 +L 57.6 186.827294 +L 57.6 189.063529 +L 57.6 191.299765 +L 57.6 193.536 +L 57.6 194.458015 +L 59.517423 194.782419 +L 61.434846 195.208732 +L 63.352268 195.735727 +L 63.464063 195.772235 +L 65.269691 196.347086 +L 67.187114 197.052443 +L 69.104537 197.850681 +L 69.444931 198.008471 +L 71.02196 198.724759 +L 72.939383 199.681899 +L 73.976391 200.244706 +L 74.856805 200.715164 +L 76.774228 201.819005 +L 77.849918 202.480941 +L 78.691651 202.993331 +L 80.609074 204.23241 +L 81.320035 204.717176 +L 82.526497 205.534687 +L 84.443919 206.898093 +L 84.518426 206.953412 +L 86.361342 208.319393 +L 87.490926 209.189647 +L 88.278765 209.798333 +L 90.196188 211.33164 +L 90.310499 211.425882 +L 92.113611 212.923438 +L 92.979494 213.662118 +L 94.031034 214.570002 +L 95.53416 215.898353 +L 95.948456 216.27065 +L 97.865879 218.028386 +L 97.97981 218.134588 +L 99.783302 219.852473 +L 100.320133 220.370824 +L 101.700725 221.739985 +L 102.565845 222.607059 +L 103.618148 223.696148 +L 104.718152 224.843294 +L 105.53557 225.728631 +L 106.777013 227.079529 +L 107.452993 227.848239 +L 108.741191 229.315765 +L 109.370416 230.069958 +L 110.608248 231.552 +L 111.287839 232.414535 +L 112.374503 233.788235 +L 113.205262 234.910934 +L 114.034949 236.024471 +L 115.122685 237.600242 +L 115.583112 238.260706 +L 117.01124 240.496941 +L 117.040107 240.54695 +L 118.318453 242.733176 +L 118.95753 243.962385 +L 119.489518 244.969412 +L 120.518248 247.205647 +L 120.874953 248.120975 +L 121.399669 249.441882 +L 122.123669 251.678118 +L 122.680078 253.914353 +L 122.792376 254.564421 +L 123.07261 256.150588 +L 123.29194 258.386824 +L 123.334523 260.623059 +L 123.200167 262.859294 +L 122.889481 265.095529 +L 122.792376 265.542693 +L 122.4125 267.331765 +L 121.768781 269.568 +L 120.959075 271.804235 +L 120.874953 271.997764 +L 120.003886 274.040471 +L 118.95753 276.151275 +L 118.896337 276.276706 +L 117.657799 278.512941 +L 117.040107 279.513523 +L 116.287054 280.749176 +L 115.122685 282.488713 +L 114.793478 282.985412 +L 113.205262 285.193948 +L 113.18548 285.221647 +L 111.47051 287.457882 +L 111.287839 287.6817 +L 109.651929 289.694118 +L 109.370416 290.022107 +L 107.734374 291.930353 +L 107.452993 292.243409 +L 105.721314 294.166588 +L 105.53557 294.36463 +L 103.618148 296.39947 +L 103.614964 296.402824 +L 101.700725 298.349905 +L 101.413428 298.639059 +L 99.783302 300.232393 +L 99.11655 300.875294 +L 97.865879 302.052583 +L 96.721969 303.111529 +L 95.948456 303.814076 +L 94.225851 305.347765 +L 94.031034 305.518762 +L 92.113611 307.163013 +L 91.60935 307.584 z " style="fill:#a51429;"/> - <path clip-path="url(#p553f52e075)" d="M 285.313289 386.490007 -L 287.710067 388.781178 -L 287.730041 388.8 -L 290.106846 388.8 -L 292.503624 388.8 -L 294.900403 388.8 -L 297.297181 388.8 -L 297.322117 388.8 -L 297.297181 388.778527 -L 294.900403 386.656679 -L 294.061437 385.895798 -L 292.503624 384.462697 -L 290.937355 382.991597 -L 290.106846 382.196546 -L 287.941862 380.087395 -L 287.710067 379.856083 -L 285.313289 377.429691 -L 285.07254 377.183193 -L 282.91651 374.910105 -L 282.322869 374.278992 -L 280.519732 372.29411 -L 279.689092 371.37479 -L 278.122953 369.569314 -L 277.172263 368.470588 -L 275.726174 366.718493 -L 274.774926 365.566387 -L 273.329396 363.717877 -L 272.501147 362.662185 -L 270.932617 360.534515 -L 270.35661 359.757983 -L 268.535839 357.122146 -L 268.348762 356.853782 -L 266.482843 353.94958 -L 266.13906 353.361893 -L 264.767443 351.045378 -L 263.742282 349.115538 -L 263.216768 348.141176 -L 261.837027 345.236975 -L 261.345503 344.034269 -L 260.637258 342.332773 -L 259.630269 339.428571 -L 258.948725 336.956124 -L 258.827107 336.52437 -L 258.223682 333.620168 -L 257.837622 330.715966 -L 257.670672 327.811765 -L 257.723586 324.907563 -L 257.996125 322.003361 -L 258.487057 319.09916 -L 258.948725 317.20302 -L 259.188913 316.194958 -L 260.089314 313.290756 -L 261.194071 310.386555 -L 261.345503 310.049324 -L 262.477238 307.482353 -L 263.742282 304.9837 -L 263.944514 304.578151 -L 265.573281 301.67395 -L 266.13906 300.762088 -L 267.360359 298.769748 -L 268.535839 297.01306 -L 269.296726 295.865546 -L 270.932617 293.579878 -L 271.372589 292.961345 -L 273.329396 290.388017 -L 273.580179 290.057143 -L 275.726174 287.386204 -L 275.913521 287.152941 -L 278.122953 284.538332 -L 278.368283 284.248739 -L 280.519732 281.81857 -L 280.941671 281.344538 -L 282.91651 279.2083 -L 283.632396 278.440336 -L 285.313289 276.694142 -L 286.440679 275.536134 -L 287.710067 274.26665 -L 289.368315 272.631933 -L 290.106846 271.919449 -L 292.418807 269.727731 -L 292.503624 269.648659 -L 294.900403 267.460115 -L 295.614596 266.823529 -L 297.297181 265.34166 -L 298.957526 263.919328 -L 299.69396 263.293099 -L 302.090738 261.318112 -L 302.471706 261.015126 -L 304.487517 259.416464 -L 306.200494 258.110924 -L 306.884295 257.588883 -L 309.281074 255.838582 -L 310.190223 255.206723 -L 311.677852 254.166355 -L 314.074631 252.580075 -L 314.520557 252.302521 -L 316.471409 251.075046 -L 318.868188 249.66684 -L 319.361621 249.398319 -L 321.264966 248.346332 -L 323.661745 247.13097 -L 325.046217 246.494118 -L 326.058523 246.018877 -L 328.455302 245.012093 -L 330.852081 244.126628 -L 332.541142 243.589916 -L 333.248859 243.359244 -L 335.645638 242.707353 -L 338.042416 242.186652 -L 340.439195 241.798642 -L 342.835973 241.54444 -L 345.232752 241.424779 -L 347.62953 241.440004 -L 350.026309 241.590071 -L 352.423087 241.874548 -L 354.819866 242.292615 -L 357.216644 242.843067 -L 359.613423 243.524317 -L 359.807509 243.589916 -L 362.010201 244.315717 -L 364.40698 245.228796 -L 366.803758 246.262569 -L 367.285719 246.494118 -L 369.200537 247.395505 -L 371.597315 248.635861 -L 372.952111 249.398319 -L 373.994094 249.975697 -L 376.390872 251.4068 -L 377.794045 252.302521 -L 378.787651 252.929962 -L 381.18443 254.536938 -L 382.131074 255.206723 -L 383.581208 256.226368 -L 385.977987 257.995059 -L 386.128339 258.110924 -L 388.374765 259.839141 -L 389.845251 261.015126 -L 390.771544 261.758003 -L 393.168322 263.747739 -L 393.368786 263.919328 -L 395.565101 265.813203 -L 396.705693 266.823529 -L 397.961879 267.949673 -L 399.899452 269.727731 -L 400.358658 270.156237 -L 402.755436 272.437993 -L 402.955761 272.631933 -L 405.152215 274.804838 -L 405.881398 275.536134 -L 407.548993 277.253851 -L 408.688665 278.440336 -L 409.945772 279.79178 -L 411.379098 281.344538 -L 412.34255 282.428534 -L 413.952674 284.248739 -L 414.739329 285.178084 -L 416.407871 287.152941 -L 417.136107 288.059809 -L 418.741665 290.057143 -L 419.532886 291.100548 -L 420.949482 292.961345 -L 421.929664 294.337766 -L 423.025091 295.865546 -L 424.326443 297.824625 -L 424.960431 298.769748 -L 426.723221 301.638347 -L 426.745381 301.67395 -L 428.379295 304.578151 -L 429.12 306.058857 -L 429.12 304.578151 -L 429.12 301.67395 -L 429.12 298.769748 -L 429.12 295.865546 -L 429.12 292.961345 -L 429.12 291.741826 -L 427.799191 290.057143 -L 426.723221 288.762505 -L 425.402527 287.152941 -L 424.326443 285.906478 -L 422.909235 284.248739 -L 421.929664 283.152295 -L 420.325599 281.344538 -L 419.532886 280.484347 -L 417.656584 278.440336 -L 417.136107 277.891253 -L 414.905983 275.536134 -L 414.739329 275.364779 -L 412.34255 272.904968 -L 412.075245 272.631933 -L 409.945772 270.503318 -L 409.163895 269.727731 -L 407.548993 268.152384 -L 406.1722 266.823529 -L 405.152215 265.850796 -L 403.099042 263.919328 -L 402.755436 263.598465 -L 400.358658 261.397593 -L 399.933728 261.015126 -L 397.961879 259.245337 -L 396.668067 258.110924 -L 395.565101 257.142203 -L 393.301359 255.206723 -L 393.168322 255.092266 -L 390.771544 253.092351 -L 389.791718 252.302521 -L 388.374765 251.147889 -L 386.14285 249.398319 -L 385.977987 249.267063 -L 383.581208 247.439779 -L 382.279419 246.494118 -L 381.18443 245.682311 -L 378.787651 243.998462 -L 378.170219 243.589916 -L 376.390872 242.382236 -L 373.994094 240.860636 -L 373.69719 240.685714 -L 371.597315 239.409958 -L 369.200537 238.070965 -L 368.63095 237.781513 -L 366.803758 236.818574 -L 364.40698 235.684585 -L 362.475203 234.877311 -L 362.010201 234.674563 -L 359.613423 233.770679 -L 357.216644 233.010548 -L 354.819866 232.39636 -L 352.645174 231.973109 -L 352.423087 231.927712 -L 350.026309 231.594331 -L 347.62953 231.418466 -L 345.232752 231.400624 -L 342.835973 231.540855 -L 340.439195 231.838756 -L 339.731024 231.973109 -L 338.042416 232.278128 -L 335.645638 232.85912 -L 333.248859 233.586493 -L 330.852081 234.458148 -L 329.860752 234.877311 -L 328.455302 235.446875 -L 326.058523 236.551257 -L 323.669559 237.781513 -L 323.661745 237.785393 -L 321.264966 239.097404 -L 318.868188 240.52746 -L 318.622523 240.685714 -L 316.471409 242.029503 -L 314.13891 243.589916 -L 314.074631 243.631838 -L 311.677852 245.294001 -L 310.040141 246.494118 -L 309.281074 247.039146 -L 306.884295 248.847431 -L 306.185847 249.398319 -L 304.487517 250.717208 -L 302.52569 252.302521 -L 302.090738 252.650211 -L 299.69396 254.635301 -L 299.025398 255.206723 -L 297.297181 256.674655 -L 295.652439 258.110924 -L 294.900403 258.766526 -L 292.503624 260.907026 -L 292.385069 261.015126 -L 290.106846 263.098302 -L 289.22453 263.919328 -L 287.710067 265.339022 -L 286.149056 266.823529 -L 285.313289 267.627926 -L 283.156149 269.727731 -L 282.91651 269.964934 -L 280.519732 272.357214 -L 280.245981 272.631933 -L 278.122953 274.809012 -L 277.415659 275.536134 -L 275.726174 277.320014 -L 274.664734 278.440336 -L 273.329396 279.895735 -L 271.995763 281.344538 -L 270.932617 282.54405 -L 269.412373 284.248739 -L 268.535839 285.275886 -L 266.919353 287.152941 -L 266.13906 288.106255 -L 264.52279 290.057143 -L 263.742282 291.055822 -L 262.230257 292.961345 -L 261.345503 294.153327 -L 260.051069 295.865546 -L 258.948725 297.439441 -L 257.996615 298.769748 -L 256.551946 300.973155 -L 256.080809 301.67395 -L 254.316003 304.578151 -L 254.155168 304.875822 -L 252.705873 307.482353 -L 251.758389 309.439188 -L 251.284537 310.386555 -L 250.053984 313.290756 -L 249.361611 315.295677 -L 249.039492 316.194958 -L 248.24002 319.09916 -L 247.684962 322.003361 -L 247.376823 324.907563 -L 247.316998 327.811765 -L 247.505755 330.715966 -L 247.942242 333.620168 -L 248.624488 336.52437 -L 249.361611 338.838894 -L 249.542668 339.428571 -L 250.664321 342.332773 -L 251.758389 344.69248 -L 252.002773 345.236975 -L 253.518049 348.141176 -L 254.155168 349.216806 -L 255.207665 351.045378 -L 256.551946 353.140715 -L 257.058038 353.94958 -L 258.948725 356.700885 -L 259.051546 356.853782 -L 261.170604 359.757983 -L 261.345503 359.981207 -L 263.407906 362.662185 -L 263.742282 363.070617 -L 265.754739 365.566387 -L 266.13906 366.017802 -L 268.20215 368.470588 -L 268.535839 368.849006 -L 270.74287 371.37479 -L 270.932617 371.583266 -L 273.329396 374.232917 -L 273.370938 374.278992 -L 275.726174 376.801837 -L 276.082061 377.183193 -L 278.122953 379.307061 -L 278.874683 380.087395 -L 280.519732 381.754479 -L 281.747116 382.991597 -L 282.91651 384.148021 -L 284.698688 385.895798 + <path clip-path="url(#p0bba778d2e)" d="M 228.250631 305.805305 +L 230.168054 307.569507 +L 230.184033 307.584 +L 232.085477 307.584 +L 234.002899 307.584 +L 235.920322 307.584 +L 237.837745 307.584 +L 237.857694 307.584 +L 237.837745 307.567466 +L 235.920322 305.933643 +L 235.249149 305.347765 +L 234.002899 304.244277 +L 232.749884 303.111529 +L 232.085477 302.49934 +L 230.35349 300.875294 +L 230.168054 300.697184 +L 228.250631 298.828862 +L 228.058032 298.639059 +L 226.333208 296.888781 +L 225.858295 296.402824 +L 224.415785 294.874465 +L 223.751273 294.166588 +L 222.498362 292.776371 +L 221.737811 291.930353 +L 220.58094 290.581239 +L 219.819941 289.694118 +L 218.663517 288.270765 +L 218.000918 287.457882 +L 216.746094 285.819577 +L 216.285288 285.221647 +L 214.828671 283.192052 +L 214.67901 282.985412 +L 213.186275 280.749176 +L 212.911248 280.296657 +L 211.813954 278.512941 +L 210.993826 277.026964 +L 210.573415 276.276706 +L 209.469621 274.040471 +L 209.076403 273.114387 +L 208.509806 271.804235 +L 207.704215 269.568 +L 207.15898 267.664216 +L 207.061686 267.331765 +L 206.578945 265.095529 +L 206.270098 262.859294 +L 206.136538 260.623059 +L 206.178869 258.386824 +L 206.3969 256.150588 +L 206.789646 253.914353 +L 207.15898 252.454325 +L 207.351131 251.678118 +L 208.071451 249.441882 +L 208.955257 247.205647 +L 209.076403 246.94598 +L 209.98179 244.969412 +L 210.993826 243.045449 +L 211.155611 242.733176 +L 212.458625 240.496941 +L 212.911248 239.794808 +L 213.888288 238.260706 +L 214.828671 236.908056 +L 215.437381 236.024471 +L 216.746094 234.264506 +L 217.098071 233.788235 +L 218.663517 231.806773 +L 218.864143 231.552 +L 220.58094 229.495377 +L 220.730817 229.315765 +L 222.498362 227.302516 +L 222.694626 227.079529 +L 224.415785 225.208299 +L 224.753337 224.843294 +L 226.333208 223.198391 +L 226.905917 222.607059 +L 228.250631 221.262489 +L 229.152543 220.370824 +L 230.168054 219.39332 +L 231.494652 218.134588 +L 232.085477 217.585975 +L 233.935046 215.898353 +L 234.002899 215.837467 +L 235.920322 214.152289 +L 236.491677 213.662118 +L 237.837745 212.521078 +L 239.166021 211.425882 +L 239.755168 210.943687 +L 241.672591 209.422947 +L 241.977365 209.189647 +L 243.590013 207.958677 +L 244.960395 206.953412 +L 245.507436 206.55144 +L 247.424859 205.203708 +L 248.152179 204.717176 +L 249.342282 203.916093 +L 251.259705 202.694658 +L 251.616446 202.480941 +L 253.177128 201.535785 +L 255.09455 200.451467 +L 255.489297 200.244706 +L 257.011973 199.434675 +L 258.929396 198.498847 +L 260.036974 198.008471 +L 260.846819 197.642535 +L 262.764242 196.867312 +L 264.681664 196.185504 +L 266.032914 195.772235 +L 266.599087 195.594618 +L 268.51651 195.092662 +L 270.433933 194.691722 +L 272.351356 194.392954 +L 274.268779 194.197219 +L 276.186201 194.10508 +L 278.103624 194.116803 +L 280.021047 194.232355 +L 281.93847 194.451402 +L 283.855893 194.773314 +L 285.773315 195.197161 +L 287.690738 195.721724 +L 287.846007 195.772235 +L 289.608161 196.331102 +L 291.525584 197.034173 +L 293.443007 197.830178 +L 293.828575 198.008471 +L 295.36043 198.702539 +L 297.277852 199.657613 +L 298.361689 200.244706 +L 299.195275 200.689287 +L 301.112698 201.791236 +L 302.235236 202.480941 +L 303.030121 202.96407 +L 304.947544 204.201442 +L 305.704859 204.717176 +L 306.864966 205.502304 +L 308.782389 206.864195 +L 308.902671 206.953412 +L 310.699812 208.284139 +L 311.876201 209.189647 +L 312.617235 209.761662 +L 314.534658 211.293759 +L 314.695029 211.425882 +L 316.452081 212.884166 +L 317.364554 213.662118 +L 318.369503 214.529248 +L 319.919562 215.898353 +L 320.286926 216.228303 +L 322.204349 217.985254 +L 322.364609 218.134588 +L 324.121772 219.807725 +L 324.705118 220.370824 +L 326.039195 221.693465 +L 326.950932 222.607059 +L 327.956617 223.647671 +L 329.103279 224.843294 +L 329.87404 225.677971 +L 331.16214 227.079529 +L 331.791463 227.795125 +L 333.126297 229.315765 +L 333.708886 230.014053 +L 334.993332 231.552 +L 335.626309 232.355422 +L 336.759586 233.788235 +L 337.543732 234.84808 +L 338.420072 236.024471 +L 339.461154 237.532961 +L 339.968345 238.260706 +L 341.378577 240.469527 +L 341.396305 240.496941 +L 342.703436 242.733176 +L 343.296 243.87332 +L 343.296 242.733176 +L 343.296 240.496941 +L 343.296 238.260706 +L 343.296 236.024471 +L 343.296 233.788235 +L 343.296 232.849206 +L 342.239353 231.552 +L 341.378577 230.555129 +L 340.322022 229.315765 +L 339.461154 228.355988 +L 338.327388 227.079529 +L 337.543732 226.235267 +L 336.260479 224.843294 +L 335.626309 224.180948 +L 334.125268 222.607059 +L 333.708886 222.184264 +L 331.924787 220.370824 +L 331.791463 220.23888 +L 329.87404 218.344825 +L 329.660196 218.134588 +L 327.956617 216.495555 +L 327.331116 215.898353 +L 326.039195 214.685336 +L 324.93776 213.662118 +L 324.121772 212.913113 +L 322.479234 211.425882 +L 322.204349 211.178818 +L 320.286926 209.484146 +L 319.946982 209.189647 +L 318.369503 207.82691 +L 317.334454 206.953412 +L 316.452081 206.207496 +L 314.641087 204.717176 +L 314.534658 204.629045 +L 312.617235 203.089111 +L 311.833374 202.480941 +L 310.699812 201.591875 +L 308.91428 200.244706 +L 308.782389 200.143638 +L 306.864966 198.73663 +L 305.823535 198.008471 +L 304.947544 197.38338 +L 303.030121 196.086816 +L 302.536175 195.772235 +L 301.112698 194.842322 +L 299.195275 193.67069 +L 298.957752 193.536 +L 297.277852 192.553668 +L 295.36043 191.522643 +L 294.90476 191.299765 +L 293.443007 190.558302 +L 291.525584 189.68513 +L 289.980162 189.063529 +L 289.608161 188.907414 +L 287.690738 188.211423 +L 285.773315 187.626122 +L 283.855893 187.153197 +L 282.116139 186.827294 +L 281.93847 186.792338 +L 280.021047 186.535635 +L 278.103624 186.400219 +L 276.186201 186.38648 +L 274.268779 186.494459 +L 272.351356 186.723842 +L 271.784819 186.827294 +L 270.433933 187.062159 +L 268.51651 187.509523 +L 266.599087 188.069599 +L 264.681664 188.740774 +L 263.888601 189.063529 +L 262.764242 189.502094 +L 260.846819 190.352468 +L 258.935647 191.299765 +L 258.929396 191.302753 +L 257.011973 192.313001 +L 255.09455 193.414144 +L 254.898018 193.536 +L 253.177128 194.570717 +L 251.311128 195.772235 +L 251.259705 195.804516 +L 249.342282 197.08438 +L 248.032113 198.008471 +L 247.424859 198.428142 +L 245.507436 199.820522 +L 244.948677 200.244706 +L 243.590013 201.26025 +L 242.020552 202.480941 +L 241.672591 202.748662 +L 239.755168 204.277182 +L 239.220319 204.717176 +L 237.837745 205.847484 +L 236.521951 206.953412 +L 235.920322 207.458225 +L 234.002899 209.10641 +L 233.908055 209.189647 +L 232.085477 210.793693 +L 231.379624 211.425882 +L 230.168054 212.519047 +L 228.919245 213.662118 +L 228.250631 214.281503 +L 226.524919 215.898353 +L 226.333208 216.080999 +L 224.415785 217.923055 +L 224.196785 218.134588 +L 222.498362 219.810939 +L 221.932527 220.370824 +L 220.58094 221.744411 +L 219.731787 222.607059 +L 218.663517 223.727716 +L 217.59661 224.843294 +L 216.746094 225.766919 +L 215.529898 227.079529 +L 214.828671 227.870432 +L 213.535482 229.315765 +L 212.911248 230.049816 +L 211.618232 231.552 +L 210.993826 232.320983 +L 209.784206 233.788235 +L 209.076403 234.706061 +L 208.040855 236.024471 +L 207.15898 237.23637 +L 206.397292 238.260706 +L 205.241557 239.95733 +L 204.864648 240.496941 +L 203.452802 242.733176 +L 203.324134 242.962383 +L 202.164698 244.969412 +L 201.406711 246.476175 +L 201.027629 247.205647 +L 200.043187 249.441882 +L 199.489289 250.985671 +L 199.231594 251.678118 +L 198.592016 253.914353 +L 198.147969 256.150588 +L 197.901459 258.386824 +L 197.853598 260.623059 +L 198.004604 262.859294 +L 198.353794 265.095529 +L 198.89959 267.331765 +L 199.489289 269.113949 +L 199.634134 269.568 +L 200.531456 271.804235 +L 201.406711 273.62121 +L 201.602218 274.040471 +L 202.814439 276.276706 +L 203.324134 277.10494 +L 204.166132 278.512941 +L 205.241557 280.12635 +L 205.64643 280.749176 +L 207.15898 282.867682 +L 207.241237 282.985412 +L 208.936483 285.221647 +L 209.076403 285.39353 +L 210.726325 287.457882 +L 210.993826 287.772375 +L 212.603791 289.694118 +L 212.911248 290.041707 +L 214.56172 291.930353 +L 214.828671 292.221735 +L 216.594296 294.166588 +L 216.746094 294.327115 +L 218.663517 296.367346 +L 218.69675 296.402824 +L 220.58094 298.345414 +L 220.865649 298.639059 +L 222.498362 300.274437 +L 223.099746 300.875294 +L 224.415785 302.158949 +L 225.397693 303.111529 +L 226.333208 304.001976 +L 227.75895 305.347765 z " style="fill:#a51429;"/> - <path clip-path="url(#p553f52e075)" d="M 395.565101 388.8 -L 397.961879 388.8 -L 400.358658 388.8 -L 402.755436 388.8 -L 404.58829 388.8 -L 405.152215 388.266743 -L 407.548993 385.969105 -L 407.624654 385.895798 -L 409.945772 383.614607 -L 410.574841 382.991597 -L 412.34255 381.207239 -L 413.446689 380.087395 -L 414.739329 378.74447 -L 416.239359 377.183193 -L 417.136107 376.222106 -L 418.951007 374.278992 -L 419.532886 373.63393 -L 421.578749 371.37479 -L 421.929664 370.971167 -L 424.118603 368.470588 -L 424.326443 368.221675 -L 426.565383 365.566387 -L 426.723221 365.368744 -L 428.912544 362.662185 -L 429.12 362.389244 -L 429.12 359.757983 -L 429.12 356.853782 -L 429.12 353.94958 -L 429.12 351.045378 -L 429.12 348.141176 -L 429.12 348.101546 -L 429.101397 348.141176 -L 427.553766 351.045378 -L 426.723221 352.44366 -L 425.840116 353.94958 -L 424.326443 356.299721 -L 423.97306 356.853782 -L 421.963299 359.757983 -L 421.929664 359.803245 -L 419.819639 362.662185 -L 419.532886 363.027267 -L 417.546339 365.566387 -L 417.136107 366.062998 -L 415.149338 368.470588 -L 414.739329 368.944521 -L 412.632946 371.37479 -L 412.34255 371.696451 -L 409.999937 374.278992 -L 409.945772 374.33666 -L 407.548993 376.868983 -L 407.24842 377.183193 -L 405.152215 379.311287 -L 404.377211 380.087395 -L 402.755436 381.672907 -L 401.383748 382.991597 -L 400.358658 383.958483 -L 398.263204 385.895798 -L 397.961879 386.170441 -L 395.565101 388.304531 -L 394.993483 388.8 + <path clip-path="url(#p0bba778d2e)" d="M 316.452081 307.584 +L 318.369503 307.584 +L 320.286926 307.584 +L 322.204349 307.584 +L 323.670632 307.584 +L 324.121772 307.173392 +L 326.039195 305.404211 +L 326.099723 305.347765 +L 327.956617 303.591247 +L 328.459873 303.111529 +L 329.87404 301.737574 +L 330.757351 300.875294 +L 331.791463 299.841242 +L 332.991487 298.639059 +L 333.708886 297.899021 +L 335.160806 296.402824 +L 335.626309 295.906126 +L 337.262999 294.166588 +L 337.543732 293.855798 +L 339.294883 291.930353 +L 339.461154 291.73869 +L 341.252306 289.694118 +L 341.378577 289.541933 +L 343.130035 287.457882 +L 343.296 287.247718 +L 343.296 285.221647 +L 343.296 282.985412 +L 343.296 280.749176 +L 343.296 278.512941 +L 343.296 276.276706 +L 343.296 276.24619 +L 343.281118 276.276706 +L 342.043013 278.512941 +L 341.378577 279.589618 +L 340.672093 280.749176 +L 339.461154 282.558785 +L 339.178448 282.985412 +L 337.570639 285.221647 +L 337.543732 285.256499 +L 335.855711 287.457882 +L 335.626309 287.738996 +L 334.037071 289.694118 +L 333.708886 290.076509 +L 332.119471 291.930353 +L 331.791463 292.295281 +L 330.106357 294.166588 +L 329.87404 294.414268 +L 327.999949 296.402824 +L 327.956617 296.447229 +L 326.039195 298.397117 +L 325.798736 298.639059 +L 324.121772 300.277691 +L 323.501769 300.875294 +L 322.204349 302.096138 +L 321.106999 303.111529 +L 320.286926 303.856032 +L 318.610563 305.347765 +L 318.369503 305.55924 +L 316.452081 307.202489 +L 315.994786 307.584 z " style="fill:#a51429;"/> - <path clip-path="url(#p553f52e075)" d="M 72.443697 150.655462 -L 74.396779 150.272729 -L 76.793557 149.655497 -L 79.190336 148.892496 -L 81.587114 147.985924 -L 82.12403 147.751261 -L 83.983893 146.972088 -L 86.380671 145.835757 -L 88.253535 144.847059 -L 88.77745 144.580332 -L 91.174228 143.239285 -L 93.305375 141.942857 -L 93.571007 141.786141 -L 95.967785 140.262732 -L 97.769469 139.038655 -L 98.364564 138.644454 -L 100.761342 136.959005 -L 101.872622 136.134454 -L 103.158121 135.199783 -L 105.554899 133.371083 -L 105.731672 133.230252 -L 107.951678 131.488714 -L 109.37757 130.32605 -L 110.348456 129.542855 -L 112.745235 127.541679 -L 112.884443 127.421849 -L 115.142013 125.490441 -L 116.249024 124.517647 -L 117.538792 123.386078 -L 119.512747 121.613445 -L 119.93557 121.232638 -L 122.332349 119.03057 -L 122.676291 118.709244 -L 124.729128 116.777026 -L 125.747841 115.805042 -L 127.125906 114.474208 -L 128.737985 112.90084 -L 129.522685 112.122 -L 131.647817 109.996639 -L 131.919463 109.719002 -L 134.316242 107.257876 -L 134.477068 107.092437 -L 136.71302 104.729836 -L 137.226151 104.188235 -L 139.109799 102.134997 -L 139.893596 101.284034 -L 141.506577 99.465067 -L 142.475584 98.379832 -L 143.903356 96.708586 -L 144.967124 95.47563 -L 146.300134 93.849837 -L 147.361898 92.571429 -L 148.696913 90.86722 -L 149.65207 89.667227 -L 151.093691 87.730712 -L 151.82801 86.763025 -L 153.49047 84.397837 -L 153.877946 83.858824 -L 155.790045 80.954622 -L 155.887248 80.79124 -L 157.560742 78.05042 -L 158.284027 76.717691 -L 159.1625 75.146218 -L 160.575618 72.242017 -L 160.680805 71.986673 -L 161.80913 69.337815 -L 162.816503 66.433613 -L 163.077584 65.452845 -L 163.609235 63.529412 -L 164.165096 60.62521 -L 164.471565 57.721008 -L 164.527258 54.816807 -L 164.331922 51.912605 -L 163.886441 49.008403 -L 163.192827 46.104202 -L 163.077584 45.747624 -L 162.284617 43.2 -L 160.680805 43.2 -L 158.284027 43.2 -L 155.887248 43.2 -L 153.49047 43.2 -L 152.19384 43.2 -L 153.002428 46.104202 -L 153.49047 48.476262 -L 153.602444 49.008403 -L 153.994935 51.912605 -L 154.167035 54.816807 -L 154.117967 57.721008 -L 153.847952 60.62521 -L 153.49047 62.745109 -L 153.36115 63.529412 -L 152.669612 66.433613 -L 151.768518 69.337815 -L 151.093691 71.108888 -L 150.67013 72.242017 -L 149.387864 75.146218 -L 148.696913 76.508371 -L 147.927096 78.05042 -L 146.300134 80.947179 -L 146.296007 80.954622 -L 144.514002 83.858824 -L 143.903356 84.770301 -L 142.581421 86.763025 -L 141.506577 88.263811 -L 140.508383 89.667227 -L 139.109799 91.50628 -L 138.302988 92.571429 -L 136.71302 94.551277 -L 135.97151 95.47563 -L 134.316242 97.436542 -L 133.518558 98.379832 -L 131.919463 100.189105 -L 130.947189 101.284034 -L 129.522685 102.828482 -L 128.25896 104.188235 -L 127.125906 105.368745 -L 125.453927 107.092437 -L 124.729128 107.819882 -L 122.530593 109.996639 -L 122.332349 110.188705 -L 119.93557 112.472302 -L 119.476738 112.90084 -L 117.538792 114.680657 -L 116.285671 115.805042 -L 115.142013 116.818887 -L 112.951707 118.709244 -L 112.745235 118.886116 -L 110.348456 120.877616 -L 109.431856 121.613445 -L 107.951678 122.798247 -L 105.718962 124.517647 -L 105.554899 124.644195 -L 103.158121 126.414722 -L 101.727458 127.421849 -L 100.761342 128.106148 -L 98.364564 129.715085 -L 97.398377 130.32605 -L 95.967785 131.240453 -L 93.571007 132.673659 -L 92.568212 133.230252 -L 91.174228 134.016008 -L 88.77745 135.25863 -L 86.920864 136.134454 -L 86.380671 136.394504 -L 83.983893 137.430732 -L 81.587114 138.346387 -L 79.493316 139.038655 -L 79.190336 139.141398 -L 76.793557 139.825447 -L 74.396779 140.37881 -L 72 140.799891 -L 72 141.942857 -L 72 144.847059 -L 72 147.751261 -L 72 150.655462 -L 72 150.746772 + <path clip-path="url(#p0bba778d2e)" d="M 57.954958 124.212706 +L 59.517423 123.918001 +L 61.434846 123.442733 +L 63.352268 122.855222 +L 65.269691 122.157161 +L 65.699224 121.976471 +L 67.187114 121.376507 +L 69.104537 120.501533 +L 70.602828 119.740235 +L 71.02196 119.534856 +L 72.939383 118.50225 +L 74.6443 117.504 +L 74.856805 117.383328 +L 76.774228 116.210303 +L 78.215576 115.267765 +L 78.691651 114.964229 +L 80.609074 113.666434 +L 81.498098 113.031529 +L 82.526497 112.311833 +L 84.443919 110.903734 +L 84.585337 110.795294 +L 86.361342 109.454309 +L 87.502056 108.559059 +L 88.278765 107.955999 +L 90.196188 106.415093 +L 90.307554 106.322824 +L 92.113611 104.83564 +L 92.999219 104.086588 +L 94.031034 103.21528 +L 95.610198 101.850353 +L 95.948456 101.557131 +L 97.865879 99.861539 +L 98.141033 99.614118 +L 99.783302 98.12631 +L 100.598272 97.377882 +L 101.700725 96.35314 +L 102.990388 95.141647 +L 103.618148 94.54194 +L 105.318254 92.905412 +L 105.53557 92.691632 +L 107.452993 90.796565 +L 107.581654 90.669176 +L 109.370416 88.849974 +L 109.780921 88.432941 +L 111.287839 86.851947 +L 111.914876 86.196706 +L 113.205262 84.796102 +L 113.980467 83.960471 +L 115.122685 82.673611 +L 115.973699 81.724235 +L 117.040107 80.472375 +L 117.889519 79.488 +L 118.95753 78.175759 +L 119.721656 77.251765 +L 120.874953 75.760648 +L 121.462408 75.015529 +L 122.792376 73.194335 +L 123.102357 72.779294 +L 124.632036 70.543059 +L 124.709799 70.417255 +L 126.048593 68.306824 +L 126.627221 67.280622 +L 127.33 66.070588 +L 128.460495 63.834353 +L 128.544644 63.637738 +L 129.447304 61.598118 +L 130.253202 59.361882 +L 130.462067 58.606691 +L 130.887388 57.125647 +L 131.332077 54.889412 +L 131.577252 52.653176 +L 131.621806 50.416941 +L 131.465538 48.180706 +L 131.109153 45.944471 +L 130.554262 43.708235 +L 130.462067 43.43367 +L 129.827693 41.472 +L 128.544644 41.472 +L 126.627221 41.472 +L 124.709799 41.472 +L 122.792376 41.472 +L 121.755072 41.472 +L 122.401942 43.708235 +L 122.792376 45.534722 +L 122.881955 45.944471 +L 123.195948 48.180706 +L 123.333628 50.416941 +L 123.294373 52.653176 +L 123.078362 54.889412 +L 122.792376 56.521734 +L 122.68892 57.125647 +L 122.13569 59.361882 +L 121.414814 61.598118 +L 120.874953 62.961844 +L 120.536104 63.834353 +L 119.510291 66.070588 +L 118.95753 67.119446 +L 118.341677 68.306824 +L 117.040107 70.537327 +L 117.036806 70.543059 +L 115.611202 72.779294 +L 115.122685 73.481132 +L 114.065137 75.015529 +L 113.205262 76.171134 +L 112.406706 77.251765 +L 111.287839 78.667836 +L 110.642391 79.488 +L 109.370416 81.012483 +L 108.777208 81.724235 +L 107.452993 83.234138 +L 106.814847 83.960471 +L 105.53557 85.353611 +L 104.757752 86.196706 +L 103.618148 87.385931 +L 102.607168 88.432941 +L 101.700725 89.341934 +L 100.363142 90.669176 +L 99.783302 91.22931 +L 98.024475 92.905412 +L 97.865879 93.053303 +L 95.948456 94.811673 +L 95.58139 95.141647 +L 94.031034 96.512106 +L 93.028537 97.377882 +L 92.113611 98.158543 +L 90.361365 99.614118 +L 90.196188 99.750309 +L 88.278765 101.283764 +L 87.545484 101.850353 +L 86.361342 102.76265 +L 84.57517 104.086588 +L 84.443919 104.18403 +L 82.526497 105.547336 +L 81.381966 106.322824 +L 80.609074 106.849734 +L 78.691651 108.088615 +L 77.918702 108.559059 +L 76.774228 109.263149 +L 74.856805 110.366717 +L 74.054569 110.795294 +L 72.939383 111.400326 +L 71.02196 112.357145 +L 69.536691 113.031529 +L 69.104537 113.231768 +L 67.187114 114.029664 +L 65.269691 114.734718 +L 63.594653 115.267765 +L 63.352268 115.346877 +L 61.434846 115.873594 +L 59.517423 116.299684 +L 57.6 116.623916 +L 57.6 117.504 +L 57.6 119.740235 +L 57.6 121.976471 +L 57.6 124.212706 +L 57.6 124.283014 z " style="fill:#a51429;"/> - <path clip-path="url(#p553f52e075)" d="M 340.439195 150.845695 -L 342.835973 151.143302 -L 345.232752 151.283395 -L 347.62953 151.26557 -L 350.026309 151.089879 -L 352.423087 150.756827 -L 352.919459 150.655462 -L 354.819866 150.285912 -L 357.216644 149.67225 -L 359.613423 148.912771 -L 362.010201 148.009661 -L 362.603352 147.751261 -L 364.40698 146.998095 -L 366.803758 145.864944 -L 368.736639 144.847059 -L 369.200537 144.611464 -L 371.597315 143.273313 -L 373.788602 141.942857 -L 373.994094 141.821854 -L 376.390872 140.301055 -L 378.25182 139.038655 -L 378.787651 138.684255 -L 381.18443 137.001128 -L 382.353929 136.134454 -L 383.581208 135.243218 -L 385.977987 133.416549 -L 386.212061 133.230252 -L 388.374765 131.535354 -L 389.859177 130.32605 -L 390.771544 129.590716 -L 393.168322 127.59112 -L 393.365103 127.421849 -L 395.565101 125.541007 -L 396.730364 124.517647 -L 397.961879 123.437844 -L 399.994548 121.613445 -L 400.358658 121.28569 -L 402.755436 119.084605 -L 403.157365 118.709244 -L 405.152215 116.832299 -L 406.229174 115.805042 -L 407.548993 114.530834 -L 409.219462 112.90084 -L 409.945772 112.180113 -L 412.129339 109.996639 -L 412.34255 109.778758 -L 414.739329 107.317827 -L 414.958437 107.092437 -L 417.136107 104.79144 -L 417.707569 104.188235 -L 419.532886 102.198458 -L 420.375024 101.284034 -L 421.929664 99.530629 -L 422.957003 98.379832 -L 424.326443 96.776539 -L 425.448531 95.47563 -L 426.723221 93.920539 -L 427.843314 92.571429 -L 429.12 90.941109 -L 429.12 89.667227 -L 429.12 86.763025 -L 429.12 83.858824 -L 429.12 80.954622 -L 429.12 78.05042 -L 429.12 76.624317 -L 428.408314 78.05042 -L 426.777742 80.954622 -L 426.723221 81.04237 -L 424.995534 83.858824 -L 424.326443 84.857813 -L 423.062819 86.763025 -L 421.929664 88.345549 -L 420.98973 89.667227 -L 419.532886 91.583142 -L 418.784341 92.571429 -L 417.136107 94.623955 -L 416.452893 95.47563 -L 414.739329 97.505583 -L 413.99997 98.379832 -L 412.34255 100.254947 -L 411.428606 101.284034 -L 409.945772 102.891481 -L 408.740331 104.188235 -L 407.548993 105.429194 -L 405.935175 107.092437 -L 405.152215 107.878023 -L 403.011613 109.996639 -L 402.755436 110.24474 -L 400.358658 112.527319 -L 399.95852 112.90084 -L 397.961879 114.733599 -L 396.767034 115.805042 -L 395.565101 116.869899 -L 393.432414 118.709244 -L 393.168322 118.935317 -L 390.771544 120.925245 -L 389.91351 121.613445 -L 388.374765 122.844033 -L 386.199339 124.517647 -L 385.977987 124.688214 -L 383.581208 126.456774 -L 382.208584 127.421849 -L 381.18443 128.14636 -L 378.787651 129.753079 -L 377.880157 130.32605 -L 376.390872 131.276507 -L 373.994094 132.707258 -L 373.050022 133.230252 -L 371.597315 134.047538 -L 369.200537 135.287477 -L 367.400699 136.134454 -L 366.803758 136.42112 -L 364.40698 137.454449 -L 362.010201 138.367137 -L 359.971372 139.038655 -L 359.613423 139.159575 -L 357.216644 139.840467 -L 354.819866 140.390629 -L 352.423087 140.808476 -L 350.026309 141.092803 -L 347.62953 141.242792 -L 345.232752 141.258009 -L 342.835973 141.138411 -L 340.439195 140.884342 -L 338.042416 140.496536 -L 335.645638 139.976109 -L 333.248859 139.324561 -L 332.37122 139.038655 -L 330.852081 138.556144 -L 328.455302 137.671059 -L 326.058523 136.664707 -L 324.928551 136.134454 -L 323.661745 135.551923 -L 321.264966 134.33697 -L 319.261924 133.230252 -L 318.868188 133.016038 -L 316.471409 131.60818 -L 314.433192 130.32605 -L 314.074631 130.10291 -L 311.677852 128.516884 -L 310.111806 127.421849 -L 309.281074 126.844533 -L 306.884295 125.09436 -L 306.128826 124.517647 -L 304.487517 123.266715 -L 302.402874 121.613445 -L 302.090738 121.365178 -L 299.69396 119.39 -L 298.893479 118.709244 -L 297.297181 117.341528 -L 295.552901 115.805042 -L 294.900403 115.223289 -L 292.503624 113.034154 -L 292.360664 112.90084 -L 290.106846 110.763471 -L 289.312267 109.996639 -L 287.710067 108.416457 -L 286.38675 107.092437 -L 285.313289 105.989213 -L 283.580621 104.188235 -L 282.91651 103.475345 -L 280.892091 101.284034 -L 280.519732 100.865381 -L 278.320948 98.379832 -L 278.122953 98.145906 -L 275.868492 95.47563 -L 275.726174 95.298251 -L 273.537523 92.571429 -L 273.329396 92.29651 -L 271.332386 89.667227 -L 270.932617 89.104456 -L 269.259065 86.763025 -L 268.535839 85.670628 -L 267.325343 83.858824 -L 266.13906 81.920181 -L 265.541022 80.954622 -L 263.915586 78.05042 -L 263.742282 77.70205 -L 262.451382 75.146218 -L 261.345503 72.63076 -L 261.171435 72.242017 -L 260.070478 69.337815 -L 259.173963 66.433613 -L 258.948725 65.482865 -L 258.47582 63.529412 -L 257.988978 60.62521 -L 257.720562 57.721008 -L 257.671784 54.816807 -L 257.842866 51.912605 -L 258.233033 49.008403 -L 258.840524 46.104202 -L 258.948725 45.721949 -L 259.647317 43.2 -L 258.948725 43.2 -L 256.551946 43.2 -L 254.155168 43.2 -L 251.758389 43.2 -L 249.561658 43.2 -L 249.361611 43.848351 -L 248.639657 46.104202 -L 247.952815 49.008403 -L 247.511683 51.912605 -L 247.318255 54.816807 -L 247.373404 57.721008 -L 247.676881 60.62521 -L 248.227315 63.529412 -L 249.022219 66.433613 -L 249.361611 67.385222 -L 250.033003 69.337815 -L 251.259323 72.242017 -L 251.758389 73.242631 -L 252.677477 75.146218 -L 254.155168 77.810186 -L 254.284659 78.05042 -L 256.045857 80.954622 -L 256.551946 81.708739 -L 257.959162 83.858824 -L 258.948725 85.24359 -L 260.011289 86.763025 -L 261.345503 88.530237 -L 262.188306 89.667227 -L 263.742282 91.62792 -L 264.478807 92.571429 -L 266.13906 94.577462 -L 266.873463 95.47563 -L 268.535839 97.407694 -L 269.364691 98.379832 -L 270.932617 100.139342 -L 271.946393 101.284034 -L 273.329396 102.787457 -L 274.613773 104.188235 -L 275.726174 105.362994 -L 277.363197 107.092437 -L 278.122953 107.873847 -L 280.1921 109.996639 -L 280.519732 110.325547 -L 282.91651 112.718691 -L 283.100463 112.90084 -L 285.313289 115.055433 -L 286.091921 115.805042 -L 287.710067 117.344165 -L 289.166002 118.709244 -L 290.106846 119.584816 -L 292.3252 121.613445 -L 292.503624 121.776135 -L 294.900403 123.91666 -L 295.589782 124.517647 -L 297.297181 126.008521 -L 298.961234 127.421849 -L 299.69396 128.048012 -L 302.090738 130.032786 -L 302.457664 130.32605 -L 304.487517 131.965929 -L 306.115984 133.230252 -L 306.884295 133.836039 -L 309.281074 135.643717 -L 309.964759 136.134454 -L 311.677852 137.389273 -L 314.057224 139.038655 -L 314.074631 139.051031 -L 316.471409 140.653602 -L 318.536312 141.942857 -L 318.868188 142.156514 -L 321.264966 143.58567 -L 323.570718 144.847059 -L 323.661745 144.898695 -L 326.058523 146.132063 -L 328.455302 147.23563 -L 329.728606 147.751261 -L 330.852081 148.225891 -L 333.248859 149.096799 -L 335.645638 149.823548 -L 338.042416 150.404042 -L 339.435492 150.655462 + <path clip-path="url(#p0bba778d2e)" d="M 272.351356 124.359185 +L 274.268779 124.588342 +L 276.186201 124.696214 +L 278.103624 124.682489 +L 280.021047 124.547206 +L 281.93847 124.290757 +L 282.335567 124.212706 +L 283.855893 123.928152 +L 285.773315 123.455633 +L 287.690738 122.870833 +L 289.608161 122.175439 +L 290.082681 121.976471 +L 291.525584 121.396534 +L 293.443007 120.524007 +L 294.989311 119.740235 +L 295.36043 119.558827 +L 297.277852 118.528451 +L 299.030882 117.504 +L 299.195275 117.410828 +L 301.112698 116.239812 +L 302.601456 115.267765 +L 303.030121 114.994877 +L 304.947544 113.698869 +L 305.883143 113.031529 +L 306.864966 112.345278 +L 308.782389 110.938743 +L 308.969649 110.795294 +L 310.699812 109.490223 +L 311.887341 108.559059 +L 312.617235 107.992851 +L 314.534658 106.453162 +L 314.692082 106.322824 +L 316.452081 104.874576 +L 317.384291 104.086588 +L 318.369503 103.25514 +L 319.995639 101.850353 +L 320.286926 101.597981 +L 322.204349 99.903146 +L 322.525892 99.614118 +L 324.121772 98.16887 +L 324.983339 97.377882 +L 326.039195 96.396742 +L 327.375569 95.141647 +L 327.956617 94.586687 +L 329.703471 92.905412 +L 329.87404 92.737644 +L 331.791463 90.842727 +L 331.96675 90.669176 +L 333.708886 88.897409 +L 334.166056 88.432941 +L 335.626309 86.900813 +L 336.300019 86.196706 +L 337.543732 84.846584 +L 338.365602 83.960471 +L 339.461154 82.725935 +L 340.358825 81.724235 +L 341.378577 80.526815 +L 342.274651 79.488 +L 343.296 78.232654 +L 343.296 77.251765 +L 343.296 75.015529 +L 343.296 72.779294 +L 343.296 70.543059 +L 343.296 68.306824 +L 343.296 67.208724 +L 342.726651 68.306824 +L 341.422193 70.543059 +L 341.378577 70.610625 +L 339.996427 72.779294 +L 339.461154 73.548516 +L 338.450255 75.015529 +L 337.543732 76.234073 +L 336.791784 77.251765 +L 335.626309 78.727019 +L 335.027473 79.488 +L 333.708886 81.068445 +L 333.162314 81.724235 +L 331.791463 83.287299 +L 331.199976 83.960471 +L 329.87404 85.404309 +L 329.142885 86.196706 +L 327.956617 87.43444 +L 326.992264 88.432941 +L 326.039195 89.388479 +L 324.74814 90.669176 +L 324.121772 91.274078 +L 322.40929 92.905412 +L 322.204349 93.09645 +L 320.286926 94.854035 +L 319.966816 95.141647 +L 318.369503 96.552871 +L 317.413627 97.377882 +L 316.452081 98.197822 +L 314.745931 99.614118 +L 314.534658 99.788194 +L 312.617235 101.320439 +L 311.930808 101.850353 +L 310.699812 102.797905 +L 308.959471 104.086588 +L 308.782389 104.217925 +L 306.864966 105.579716 +L 305.766867 106.322824 +L 304.947544 106.880697 +L 303.030121 108.117871 +L 302.304126 108.559059 +L 301.112698 109.29091 +L 299.195275 110.392588 +L 298.440018 110.795294 +L 297.277852 111.424604 +L 295.36043 112.379358 +L 293.920559 113.031529 +L 293.443007 113.252262 +L 291.525584 114.047926 +L 289.608161 114.750695 +L 287.977098 115.267765 +L 287.690738 115.360873 +L 285.773315 115.885159 +L 283.855893 116.308784 +L 281.93847 116.630526 +L 280.021047 116.849458 +L 278.103624 116.964949 +L 276.186201 116.976667 +L 274.268779 116.884576 +L 272.351356 116.688944 +L 270.433933 116.390332 +L 268.51651 115.989604 +L 266.599087 115.487912 +L 265.896976 115.267765 +L 264.681664 114.896231 +L 262.764242 114.214715 +L 260.846819 113.439825 +L 259.942841 113.031529 +L 258.929396 112.582981 +L 257.011973 111.647467 +L 255.409539 110.795294 +L 255.09455 110.630349 +L 253.177128 109.546298 +L 251.546553 108.559059 +L 251.259705 108.387241 +L 249.342282 107.166 +L 248.089444 106.322824 +L 247.424859 105.87829 +L 245.507436 104.530657 +L 244.903061 104.086588 +L 243.590013 103.12337 +L 241.922299 101.850353 +L 241.672591 101.659187 +L 239.755168 100.1383 +L 239.114784 99.614118 +L 237.837745 98.560976 +L 236.442321 97.377882 +L 235.920322 96.929933 +L 234.002899 95.244299 +L 233.888531 95.141647 +L 232.085477 93.495873 +L 231.449814 92.905412 +L 230.168054 91.688672 +L 229.1094 90.669176 +L 228.250631 89.819694 +L 226.864497 88.432941 +L 226.333208 87.884016 +L 224.713672 86.196706 +L 224.415785 85.874344 +L 222.656758 83.960471 +L 222.498362 83.780348 +L 220.694794 81.724235 +L 220.58094 81.587653 +L 218.830019 79.488 +L 218.663517 79.276312 +L 217.065909 77.251765 +L 216.746094 76.818431 +L 215.407252 75.015529 +L 214.828671 74.174384 +L 213.860274 72.779294 +L 212.911248 71.286539 +L 212.432818 70.543059 +L 211.132469 68.306824 +L 210.993826 68.038578 +L 209.961105 66.070588 +L 209.076403 64.133685 +L 208.937148 63.834353 +L 208.056383 61.598118 +L 207.339171 59.361882 +L 207.15898 58.629806 +L 206.780656 57.125647 +L 206.391182 54.889412 +L 206.17645 52.653176 +L 206.137428 50.416941 +L 206.274293 48.180706 +L 206.586426 45.944471 +L 207.072419 43.708235 +L 207.15898 43.413901 +L 207.717854 41.472 +L 207.15898 41.472 +L 205.241557 41.472 +L 203.324134 41.472 +L 201.406711 41.472 +L 199.649326 41.472 +L 199.489289 41.97123 +L 198.911726 43.708235 +L 198.362252 45.944471 +L 198.009347 48.180706 +L 197.854604 50.416941 +L 197.898723 52.653176 +L 198.141505 54.889412 +L 198.581852 57.125647 +L 199.217776 59.361882 +L 199.489289 60.094621 +L 200.026402 61.598118 +L 201.007458 63.834353 +L 201.406711 64.604826 +L 202.141982 66.070588 +L 203.324134 68.121844 +L 203.427727 68.306824 +L 204.836685 70.543059 +L 205.241557 71.123729 +L 206.367329 72.779294 +L 207.15898 73.845564 +L 208.009031 75.015529 +L 209.076403 76.376282 +L 209.750645 77.251765 +L 210.993826 78.761498 +L 211.583045 79.488 +L 212.911248 81.032646 +L 213.498771 81.724235 +L 214.828671 83.211925 +L 215.491753 83.960471 +L 216.746094 85.315293 +L 217.557115 86.196706 +L 218.663517 87.354342 +L 219.691019 88.432941 +L 220.58094 89.337506 +L 221.890557 90.669176 +L 222.498362 91.270863 +L 224.15368 92.905412 +L 224.415785 93.158671 +L 226.333208 95.001392 +L 226.480371 95.141647 +L 228.250631 96.800684 +L 228.873537 97.377882 +L 230.168054 98.563007 +L 231.332802 99.614118 +L 232.085477 100.288308 +L 233.86016 101.850353 +L 234.002899 101.975624 +L 235.920322 103.623828 +L 236.471826 104.086588 +L 237.837745 105.234561 +L 239.168987 106.322824 +L 239.755168 106.804969 +L 241.672591 108.333245 +L 241.966131 108.559059 +L 243.590013 109.821766 +L 244.892787 110.795294 +L 245.507436 111.26175 +L 247.424859 112.653662 +L 247.971807 113.031529 +L 249.342282 113.99774 +L 251.245779 115.267765 +L 251.259705 115.277294 +L 253.177128 116.511274 +L 254.82905 117.504 +L 255.09455 117.668515 +L 257.011973 118.768966 +L 258.856574 119.740235 +L 258.929396 119.779995 +L 260.846819 120.729688 +L 262.764242 121.579435 +L 263.782885 121.976471 +L 264.681664 122.341936 +L 266.599087 123.012535 +L 268.51651 123.572132 +L 270.433933 124.019112 +L 271.548394 124.212706 z " style="fill:#a51429;"/> </g> <g id="PathCollection_9"> - <path clip-path="url(#p553f52e075)" d="M 124.729128 388.8 -L 127.125906 388.8 -L 129.522685 388.8 -L 131.919463 388.8 -L 133.168768 388.8 -L 134.316242 387.674235 -L 136.125739 385.895798 -L 136.71302 385.310313 -L 139.041406 382.991597 -L 139.109799 382.922178 -L 141.506577 380.499131 -L 141.916671 380.087395 -L 143.903356 378.044223 -L 144.748875 377.183193 -L 146.300134 375.556553 -L 147.534274 374.278992 -L 148.696913 373.032799 -L 150.268648 371.37479 -L 151.093691 370.468239 -L 152.946897 368.470588 -L 153.49047 367.856309 -L 155.562864 365.566387 -L 155.887248 365.18794 -L 158.109093 362.662185 -L 158.284027 362.450551 -L 160.576521 359.757983 -L 160.680805 359.626458 -L 162.954057 356.853782 -L 163.077584 356.69031 -L 165.228015 353.94958 -L 165.474362 353.604741 -L 167.381342 351.045378 -L 167.871141 350.31267 -L 169.392533 348.141176 -L 170.267919 346.722739 -L 171.234099 345.236975 -L 172.664698 342.67959 -L 172.870344 342.332773 -L 174.304812 339.428571 -L 175.061477 337.501623 -L 175.47096 336.52437 -L 176.368578 333.620168 -L 176.942857 330.715966 -L 177.191201 327.811765 -L 177.11249 324.907563 -L 176.707078 322.003361 -L 175.976797 319.09916 -L 175.061477 316.571923 -L 174.933529 316.194958 -L 173.650896 313.290756 -L 172.664698 311.470812 -L 172.110402 310.386555 -L 170.357784 307.482353 -L 170.267919 307.352679 -L 168.443152 304.578151 -L 167.871141 303.80483 -L 166.367281 301.67395 -L 165.474362 300.530341 -L 164.156376 298.769748 -L 163.077584 297.449595 -L 161.83094 295.865546 -L 160.680805 294.511618 -L 159.407236 292.961345 -L 158.284027 291.682391 -L 156.898319 290.057143 -L 155.887248 288.938479 -L 154.314772 287.152941 -L 153.49047 286.263334 -L 151.665247 284.248739 -L 151.093691 283.645071 -L 148.956864 281.344538 -L 148.696913 281.075067 -L 146.300134 278.550538 -L 146.196847 278.440336 -L 143.903356 276.070624 -L 143.391132 275.536134 -L 141.506577 273.621506 -L 140.539248 272.631933 -L 139.109799 271.200876 -L 137.644166 269.727731 -L 136.71302 268.807332 -L 134.708257 266.823529 -L 134.316242 266.440237 -L 131.919463 264.100971 -L 131.732481 263.919328 -L 129.522685 261.788403 -L 128.714667 261.015126 -L 127.125906 259.498965 -L 125.655946 258.110924 -L 124.729128 257.234271 -L 122.556207 255.206723 -L 122.332349 254.996535 -L 119.93557 252.783416 -L 119.404283 252.302521 -L 117.538792 250.595586 -L 116.199489 249.398319 -L 115.142013 248.438199 -L 112.942656 246.494118 -L 112.745235 246.316019 -L 110.348456 244.218778 -L 109.604597 243.589916 -L 107.951678 242.156555 -L 106.188687 240.685714 -L 105.554899 240.140453 -L 103.158121 238.165664 -L 102.668864 237.781513 -L 100.761342 236.228292 -L 99.010723 234.877311 -L 98.364564 234.357034 -L 95.967785 232.539141 -L 95.170081 231.973109 -L 93.571007 230.781376 -L 91.174228 229.12338 -L 91.088615 229.068908 -L 88.77745 227.513124 -L 86.575965 226.164706 -L 86.380671 226.037112 -L 83.983893 224.630778 -L 81.587114 223.388083 -L 81.302795 223.260504 -L 79.190336 222.23995 -L 76.793557 221.265414 -L 74.396779 220.477061 -L 73.914312 220.356303 -L 72 219.834836 -L 72 220.356303 -L 72 223.260504 -L 72 226.164706 -L 72 229.068908 -L 72 231.937777 -L 72.171519 231.973109 -L 74.396779 232.409554 -L 76.793557 233.027315 -L 79.190336 233.790971 -L 81.587114 234.698321 -L 81.996296 234.877311 -L 83.983893 235.710612 -L 86.380671 236.847782 -L 88.148105 237.781513 -L 88.77745 238.102116 -L 91.174228 239.444007 -L 93.214139 240.685714 -L 93.571007 240.896368 -L 95.967785 242.42058 -L 97.687994 243.589916 -L 98.364564 244.038281 -L 100.761342 245.724453 -L 101.798205 246.494118 -L 103.158121 247.483229 -L 105.554899 249.312544 -L 105.662529 249.398319 -L 107.951678 251.194541 -L 109.310171 252.302521 -L 110.348456 253.140219 -L 112.745235 255.141715 -L 112.820743 255.206723 -L 115.142013 257.192773 -L 116.186765 258.110924 -L 117.538792 259.297103 -L 119.451958 261.015126 -L 119.93557 261.45064 -L 122.332349 263.652495 -L 122.61799 263.919328 -L 124.729128 265.906058 -L 125.690883 266.823529 -L 127.125906 268.208994 -L 128.682431 269.727731 -L 129.522685 270.56141 -L 131.593732 272.631933 -L 131.919463 272.964696 -L 134.316242 275.424703 -L 134.424615 275.536134 -L 136.71302 277.952822 -L 137.175163 278.440336 -L 139.109799 280.547767 -L 139.844164 281.344538 -L 141.506577 283.217806 -L 142.427807 284.248739 -L 143.903356 285.974371 -L 144.921108 287.152941 -L 146.300134 288.833133 -L 147.31776 290.057143 -L 148.696913 291.815629 -L 149.609938 292.961345 -L 151.093691 294.951777 -L 151.788027 295.865546 -L 153.49047 298.283893 -L 153.84027 298.769748 -L 155.755754 301.67395 -L 155.887248 301.894517 -L 157.529183 304.578151 -L 158.284027 305.965706 -L 159.133883 307.482353 -L 160.55102 310.386555 -L 160.680805 310.700527 -L 161.787965 313.290756 -L 162.799704 316.194958 -L 163.077584 317.232869 -L 163.596404 319.09916 -L 164.156936 322.003361 -L 164.468112 324.907563 -L 164.528528 327.811765 -L 164.337909 330.715966 -L 163.897118 333.620168 -L 163.208146 336.52437 -L 163.077584 336.930324 -L 162.303773 339.428571 -L 161.172267 342.332773 -L 160.680805 343.383535 -L 159.842456 345.236975 -L 158.315386 348.141176 -L 158.284027 348.19371 -L 156.631418 351.045378 -L 155.887248 352.197435 -L 154.784436 353.94958 -L 153.49047 355.821398 -L 152.792654 356.853782 -L 151.093691 359.170405 -L 150.67095 359.757983 -L 148.696913 362.313118 -L 148.431502 362.662185 -L 146.300134 365.296177 -L 146.084283 365.566387 -L 143.903356 368.152163 -L 143.63742 368.470588 -L 141.506577 370.904306 -L 141.097479 371.37479 -L 139.109799 373.569393 -L 138.469665 374.278992 -L 136.71302 376.159621 -L 135.757979 377.183193 -L 134.316242 378.68381 -L 132.96532 380.087395 -L 131.919463 381.148213 -L 130.093552 382.991597 -L 129.522685 383.557051 -L 127.143531 385.895798 -L 127.125906 385.912879 -L 124.729128 388.211193 -L 124.106688 388.8 + <path clip-path="url(#p0bba778d2e)" d="M 99.783302 307.584 +L 101.700725 307.584 +L 103.618148 307.584 +L 105.53557 307.584 +L 106.535015 307.584 +L 107.452993 306.717161 +L 108.900591 305.347765 +L 109.370416 304.896941 +L 111.233125 303.111529 +L 111.287839 303.058077 +L 113.205262 301.192331 +L 113.533336 300.875294 +L 115.122685 299.302052 +L 115.7991 298.639059 +L 117.040107 297.386546 +L 118.027419 296.402824 +L 118.95753 295.443255 +L 120.214918 294.166588 +L 120.874953 293.468544 +L 122.357518 291.930353 +L 122.792376 291.457358 +L 124.450291 289.694118 +L 124.709799 289.402714 +L 126.487275 287.457882 +L 126.627221 287.294924 +L 128.461217 285.221647 +L 128.544644 285.120373 +L 130.363245 282.985412 +L 130.462067 282.859538 +L 132.182412 280.749176 +L 132.37949 280.48365 +L 133.905073 278.512941 +L 134.296913 277.948756 +L 135.514026 276.276706 +L 136.214336 275.184509 +L 136.987279 274.040471 +L 138.131758 272.071284 +L 138.296275 271.804235 +L 139.44385 269.568 +L 140.049181 268.08425 +L 140.376768 267.331765 +L 141.094863 265.095529 +L 141.554285 262.859294 +L 141.752961 260.623059 +L 141.689992 258.386824 +L 141.365662 256.150588 +L 140.781438 253.914353 +L 140.049181 251.968381 +L 139.946823 251.678118 +L 138.920717 249.441882 +L 138.131758 248.040525 +L 137.688322 247.205647 +L 136.286228 244.969412 +L 136.214336 244.869563 +L 134.754521 242.733176 +L 134.296913 242.137719 +L 133.093825 240.496941 +L 132.37949 239.616362 +L 131.325101 238.260706 +L 130.462067 237.244188 +L 129.464752 236.024471 +L 128.544644 234.981946 +L 127.525789 233.788235 +L 126.627221 232.803441 +L 125.518655 231.552 +L 124.709799 230.690629 +L 123.451818 229.315765 +L 122.792376 228.630767 +L 121.332198 227.079529 +L 120.874953 226.614705 +L 119.165491 224.843294 +L 118.95753 224.635801 +L 117.040107 222.691914 +L 116.957478 222.607059 +L 115.122685 220.782381 +L 114.712906 220.370824 +L 113.205262 218.89656 +L 112.431399 218.134588 +L 111.287839 217.032675 +L 110.115333 215.898353 +L 109.370416 215.189646 +L 107.766606 213.662118 +L 107.452993 213.366982 +L 105.53557 211.565747 +L 105.385985 211.425882 +L 103.618148 209.78507 +L 102.971734 209.189647 +L 101.700725 208.022203 +L 100.524757 206.953412 +L 99.783302 206.278389 +L 98.044965 204.717176 +L 97.865879 204.555332 +L 95.948456 202.85123 +L 95.523426 202.480941 +L 94.031034 201.166601 +L 92.959592 200.244706 +L 92.113611 199.505413 +L 90.354125 198.008471 +L 90.196188 197.871335 +L 88.278765 196.256459 +L 87.683678 195.772235 +L 86.361342 194.668547 +L 84.950949 193.536 +L 84.443919 193.116149 +L 82.526497 191.595561 +L 82.135091 191.299765 +L 80.609074 190.103785 +L 79.208579 189.063529 +L 78.691651 188.662916 +L 76.774228 187.263139 +L 76.136065 186.827294 +L 74.856805 185.90966 +L 72.939383 184.633003 +L 72.870892 184.591059 +L 71.02196 183.393105 +L 69.260772 182.354824 +L 69.104537 182.256576 +L 67.187114 181.173699 +L 65.269691 180.216824 +L 65.042236 180.118588 +L 63.352268 179.332762 +L 61.434846 178.582369 +L 59.517423 177.975337 +L 59.13145 177.882353 +L 57.6 177.480824 +L 57.6 177.882353 +L 57.6 180.118588 +L 57.6 182.354824 +L 57.6 184.591059 +L 57.6 186.800088 +L 57.737215 186.827294 +L 59.517423 187.163357 +L 61.434846 187.639033 +L 63.352268 188.227048 +L 65.269691 188.925707 +L 65.597037 189.063529 +L 67.187114 189.705171 +L 69.104537 190.580792 +L 70.518484 191.299765 +L 71.02196 191.54663 +L 72.939383 192.579885 +L 74.571311 193.536 +L 74.856805 193.698204 +L 76.774228 194.871846 +L 78.150395 195.772235 +L 78.691651 196.117476 +L 80.609074 197.415829 +L 81.438564 198.008471 +L 82.526497 198.770086 +L 84.443919 200.178659 +L 84.530023 200.244706 +L 86.361342 201.627797 +L 87.448137 202.480941 +L 88.278765 203.125969 +L 90.196188 204.66712 +L 90.256595 204.717176 +L 92.113611 206.246435 +L 92.949412 206.953412 +L 94.031034 207.866769 +L 95.561566 209.189647 +L 95.948456 209.524993 +L 97.865879 211.220421 +L 98.094392 211.425882 +L 99.783302 212.955664 +L 100.552706 213.662118 +L 101.700725 214.728926 +L 102.945945 215.898353 +L 103.618148 216.540286 +L 105.274985 218.134588 +L 105.53557 218.390816 +L 107.452993 220.285021 +L 107.539692 220.370824 +L 109.370416 222.231673 +L 109.740131 222.607059 +L 111.287839 224.229781 +L 111.875331 224.843294 +L 113.205262 226.285711 +L 113.942245 227.079529 +L 115.122685 228.408266 +L 115.936886 229.315765 +L 117.040107 230.609513 +L 117.854208 231.552 +L 118.95753 232.906034 +L 119.687951 233.788235 +L 120.874953 235.320869 +L 121.430422 236.024471 +L 122.792376 237.886598 +L 123.072216 238.260706 +L 124.604603 240.496941 +L 124.709799 240.666778 +L 126.023347 242.733176 +L 126.627221 243.801594 +L 127.307107 244.969412 +L 128.440816 247.205647 +L 128.544644 247.447406 +L 129.430372 249.441882 +L 130.239763 251.678118 +L 130.462067 252.477309 +L 130.877123 253.914353 +L 131.325549 256.150588 +L 131.57449 258.386824 +L 131.622822 260.623059 +L 131.470327 262.859294 +L 131.117695 265.095529 +L 130.566517 267.331765 +L 130.462067 267.644349 +L 129.843019 269.568 +L 128.937813 271.804235 +L 128.544644 272.613322 +L 127.873965 274.040471 +L 126.652309 276.276706 +L 126.627221 276.317156 +L 125.305135 278.512941 +L 124.709799 279.400025 +L 123.827549 280.749176 +L 122.792376 282.190476 +L 122.234124 282.985412 +L 120.874953 284.769212 +L 120.53676 285.221647 +L 118.95753 287.189101 +L 118.745202 287.457882 +L 117.040107 289.486056 +L 116.867426 289.694118 +L 115.122685 291.685166 +L 114.909936 291.930353 +L 113.205262 293.804316 +L 112.877983 294.166588 +L 111.287839 295.856432 +L 110.775732 296.402824 +L 109.370416 297.850908 +L 108.606383 298.639059 +L 107.452993 299.794534 +L 106.372256 300.875294 +L 105.53557 301.692124 +L 104.074842 303.111529 +L 103.618148 303.546929 +L 101.714825 305.347765 +L 101.700725 305.360916 +L 99.783302 307.130619 +L 99.285351 307.584 z " style="fill:#e48066;"/> - <path clip-path="url(#p553f52e075)" d="M 275.726174 385.90753 -L 278.122953 388.262753 -L 278.671052 388.8 -L 280.519732 388.8 -L 282.91651 388.8 -L 285.313289 388.8 -L 287.710067 388.8 -L 287.730041 388.8 -L 287.710067 388.781178 -L 285.313289 386.490007 -L 284.698688 385.895798 -L 282.91651 384.148021 -L 281.747116 382.991597 -L 280.519732 381.754479 -L 278.874683 380.087395 -L 278.122953 379.307061 -L 276.082061 377.183193 -L 275.726174 376.801837 -L 273.370938 374.278992 -L 273.329396 374.232917 -L 270.932617 371.583266 -L 270.74287 371.37479 -L 268.535839 368.849006 -L 268.20215 368.470588 -L 266.13906 366.017802 -L 265.754739 365.566387 -L 263.742282 363.070617 -L 263.407906 362.662185 -L 261.345503 359.981207 -L 261.170604 359.757983 -L 259.051546 356.853782 -L 258.948725 356.700885 -L 257.058038 353.94958 -L 256.551946 353.140715 -L 255.207665 351.045378 -L 254.155168 349.216806 -L 253.518049 348.141176 -L 252.002773 345.236975 -L 251.758389 344.69248 -L 250.664321 342.332773 -L 249.542668 339.428571 -L 249.361611 338.838894 -L 248.624488 336.52437 -L 247.942242 333.620168 -L 247.505755 330.715966 -L 247.316998 327.811765 -L 247.376823 324.907563 -L 247.684962 322.003361 -L 248.24002 319.09916 -L 249.039492 316.194958 -L 249.361611 315.295677 -L 250.053984 313.290756 -L 251.284537 310.386555 -L 251.758389 309.439188 -L 252.705873 307.482353 -L 254.155168 304.875822 -L 254.316003 304.578151 -L 256.080809 301.67395 -L 256.551946 300.973155 -L 257.996615 298.769748 -L 258.948725 297.439441 -L 260.051069 295.865546 -L 261.345503 294.153327 -L 262.230257 292.961345 -L 263.742282 291.055822 -L 264.52279 290.057143 -L 266.13906 288.106255 -L 266.919353 287.152941 -L 268.535839 285.275886 -L 269.412373 284.248739 -L 270.932617 282.54405 -L 271.995763 281.344538 -L 273.329396 279.895735 -L 274.664734 278.440336 -L 275.726174 277.320014 -L 277.415659 275.536134 -L 278.122953 274.809012 -L 280.245981 272.631933 -L 280.519732 272.357214 -L 282.91651 269.964934 -L 283.156149 269.727731 -L 285.313289 267.627926 -L 286.149056 266.823529 -L 287.710067 265.339022 -L 289.22453 263.919328 -L 290.106846 263.098302 -L 292.385069 261.015126 -L 292.503624 260.907026 -L 294.900403 258.766526 -L 295.652439 258.110924 -L 297.297181 256.674655 -L 299.025398 255.206723 -L 299.69396 254.635301 -L 302.090738 252.650211 -L 302.52569 252.302521 -L 304.487517 250.717208 -L 306.185847 249.398319 -L 306.884295 248.847431 -L 309.281074 247.039146 -L 310.040141 246.494118 -L 311.677852 245.294001 -L 314.074631 243.631838 -L 314.13891 243.589916 -L 316.471409 242.029503 -L 318.622523 240.685714 -L 318.868188 240.52746 -L 321.264966 239.097404 -L 323.661745 237.785393 -L 323.669559 237.781513 -L 326.058523 236.551257 -L 328.455302 235.446875 -L 329.860752 234.877311 -L 330.852081 234.458148 -L 333.248859 233.586493 -L 335.645638 232.85912 -L 338.042416 232.278128 -L 339.731024 231.973109 -L 340.439195 231.838756 -L 342.835973 231.540855 -L 345.232752 231.400624 -L 347.62953 231.418466 -L 350.026309 231.594331 -L 352.423087 231.927712 -L 352.645174 231.973109 -L 354.819866 232.39636 -L 357.216644 233.010548 -L 359.613423 233.770679 -L 362.010201 234.674563 -L 362.475203 234.877311 -L 364.40698 235.684585 -L 366.803758 236.818574 -L 368.63095 237.781513 -L 369.200537 238.070965 -L 371.597315 239.409958 -L 373.69719 240.685714 -L 373.994094 240.860636 -L 376.390872 242.382236 -L 378.170219 243.589916 -L 378.787651 243.998462 -L 381.18443 245.682311 -L 382.279419 246.494118 -L 383.581208 247.439779 -L 385.977987 249.267063 -L 386.14285 249.398319 -L 388.374765 251.147889 -L 389.791718 252.302521 -L 390.771544 253.092351 -L 393.168322 255.092266 -L 393.301359 255.206723 -L 395.565101 257.142203 -L 396.668067 258.110924 -L 397.961879 259.245337 -L 399.933728 261.015126 -L 400.358658 261.397593 -L 402.755436 263.598465 -L 403.099042 263.919328 -L 405.152215 265.850796 -L 406.1722 266.823529 -L 407.548993 268.152384 -L 409.163895 269.727731 -L 409.945772 270.503318 -L 412.075245 272.631933 -L 412.34255 272.904968 -L 414.739329 275.364779 -L 414.905983 275.536134 -L 417.136107 277.891253 -L 417.656584 278.440336 -L 419.532886 280.484347 -L 420.325599 281.344538 -L 421.929664 283.152295 -L 422.909235 284.248739 -L 424.326443 285.906478 -L 425.402527 287.152941 -L 426.723221 288.762505 -L 427.799191 290.057143 -L 429.12 291.741826 -L 429.12 290.057143 -L 429.12 287.152941 -L 429.12 284.248739 -L 429.12 281.344538 -L 429.12 281.014099 -L 426.723221 278.488688 -L 426.677916 278.440336 -L 424.326443 276.010047 -L 423.872365 275.536134 -L 421.929664 273.562032 -L 421.020592 272.631933 -L 419.532886 271.142358 -L 418.125559 269.727731 -L 417.136107 268.74964 -L 415.189628 266.823529 -L 414.739329 266.383254 -L 412.34255 264.044174 -L 412.214016 263.919328 -L 409.945772 261.73237 -L 409.196139 261.015126 -L 407.548993 259.443598 -L 406.137252 258.110924 -L 405.152215 257.179477 -L 403.037236 255.206723 -L 402.755436 254.942229 -L 400.358658 252.730097 -L 399.886027 252.302521 -L 397.961879 250.54284 -L 396.680799 249.398319 -L 395.565101 248.385953 -L 393.423357 246.494118 -L 393.168322 246.264205 -L 390.771544 244.16862 -L 390.086406 243.589916 -L 388.374765 242.106953 -L 386.669531 240.685714 -L 385.977987 240.091355 -L 383.581208 238.118759 -L 383.151156 237.781513 -L 381.18443 236.182065 -L 379.49138 234.877311 -L 378.787651 234.31146 -L 376.390872 232.496358 -L 375.652197 231.973109 -L 373.994094 230.739501 -L 371.597315 229.084686 -L 371.572463 229.068908 -L 369.200537 227.475669 -L 367.054955 226.164706 -L 366.803758 226.00099 -L 364.40698 224.598591 -L 362.010201 223.359923 -L 361.78779 223.260504 -L 359.613423 222.214055 -L 357.216644 221.244016 -L 354.819866 220.460223 -L 354.401458 220.356303 -L 352.423087 219.821526 -L 350.026309 219.380673 -L 347.62953 219.148114 -L 345.232752 219.12452 -L 342.835973 219.309958 -L 340.439195 219.703894 -L 338.042416 220.305193 -L 337.890609 220.356303 -L 335.645638 221.050773 -L 333.248859 221.979006 -L 330.852081 223.091366 -L 330.538625 223.260504 -L 328.455302 224.304615 -L 326.058523 225.670401 -L 325.282372 226.164706 -L 323.661745 227.132313 -L 321.264966 228.709803 -L 320.764395 229.068908 -L 318.868188 230.354662 -L 316.657447 231.973109 -L 316.471409 232.102783 -L 314.074631 233.891854 -L 312.833062 234.877311 -L 311.677852 235.756111 -L 309.281074 237.682738 -L 309.16413 237.781513 -L 306.884295 239.638353 -L 305.654209 240.685714 -L 304.487517 241.649037 -L 302.228525 243.589916 -L 302.090738 243.705329 -L 299.69396 245.78538 -L 298.902596 246.494118 -L 297.297181 247.902916 -L 295.639633 249.398319 -L 294.900403 250.054962 -L 292.503624 252.235997 -L 292.432022 252.302521 -L 290.106846 254.439507 -L 289.286554 255.206723 -L 287.710067 256.67204 -L 286.184102 258.110924 -L 285.313289 258.930653 -L 283.123836 261.015126 -L 282.91651 261.21307 -L 280.519732 263.52055 -L 280.107755 263.919328 -L 278.122953 265.854765 -L 277.131967 266.823529 -L 275.726174 268.21438 -L 274.195986 269.727731 -L 273.329396 270.599239 -L 271.30156 272.631933 -L 270.932617 273.009838 -L 268.535839 275.449742 -L 268.450196 275.536134 -L 266.13906 277.93064 -L 265.641116 278.440336 -L 263.742282 280.4474 -L 262.880538 281.344538 -L 261.345503 283.004272 -L 260.173225 284.248739 -L 258.948725 285.607187 -L 257.524922 287.152941 -L 256.551946 288.264328 -L 254.942578 290.057143 -L 254.155168 290.98699 -L 252.434631 292.961345 -L 251.758389 293.790919 -L 250.011383 295.865546 -L 249.361611 296.698433 -L 247.685515 298.769748 -L 246.964832 299.741944 -L 245.472789 301.67395 -L 244.568054 302.970038 -L 243.393013 304.578151 -L 242.171275 306.458625 -L 241.471415 307.482353 -L 239.774497 310.332786 -L 239.74062 310.386555 -L 238.190552 313.290756 -L 237.377718 315.159324 -L 236.897834 316.194958 -L 235.863614 319.09916 -L 235.145574 322.003361 -L 234.98094 323.202837 -L 234.729859 324.907563 -L 234.646812 327.811765 -L 234.908837 330.715966 -L 234.98094 331.061562 -L 235.4784 333.620168 -L 236.360972 336.52437 -L 237.377718 338.992252 -L 237.546473 339.428571 -L 238.959364 342.332773 -L 239.774497 343.728472 -L 240.606946 345.236975 -L 242.171275 347.675519 -L 242.455164 348.141176 -L 244.46519 351.045378 -L 244.568054 351.178718 -L 246.610109 353.94958 -L 246.964832 354.387817 -L 248.880786 356.853782 -L 249.361611 357.424155 -L 251.258397 359.757983 -L 251.758389 360.330886 -L 253.727963 362.662185 -L 254.155168 363.137331 -L 256.277424 365.566387 -L 256.551946 365.863979 -L 258.89698 368.470588 -L 258.948725 368.525451 -L 261.345503 371.122239 -L 261.574365 371.37479 -L 263.742282 373.671528 -L 264.307034 374.278992 -L 266.13906 376.182133 -L 267.091113 377.183193 -L 268.535839 378.658464 -L 269.922487 380.087395 -L 270.932617 381.103602 -L 272.797775 382.991597 -L 273.329396 383.519572 -L 275.714232 385.895798 + <path clip-path="url(#p0bba778d2e)" d="M 220.58094 305.356798 +L 222.498362 307.17032 +L 222.936841 307.584 +L 224.415785 307.584 +L 226.333208 307.584 +L 228.250631 307.584 +L 230.168054 307.584 +L 230.184033 307.584 +L 230.168054 307.569507 +L 228.250631 305.805305 +L 227.75895 305.347765 +L 226.333208 304.001976 +L 225.397693 303.111529 +L 224.415785 302.158949 +L 223.099746 300.875294 +L 222.498362 300.274437 +L 220.865649 298.639059 +L 220.58094 298.345414 +L 218.69675 296.402824 +L 218.663517 296.367346 +L 216.746094 294.327115 +L 216.594296 294.166588 +L 214.828671 292.221735 +L 214.56172 291.930353 +L 212.911248 290.041707 +L 212.603791 289.694118 +L 210.993826 287.772375 +L 210.726325 287.457882 +L 209.076403 285.39353 +L 208.936483 285.221647 +L 207.241237 282.985412 +L 207.15898 282.867682 +L 205.64643 280.749176 +L 205.241557 280.12635 +L 204.166132 278.512941 +L 203.324134 277.10494 +L 202.814439 276.276706 +L 201.602218 274.040471 +L 201.406711 273.62121 +L 200.531456 271.804235 +L 199.634134 269.568 +L 199.489289 269.113949 +L 198.89959 267.331765 +L 198.353794 265.095529 +L 198.004604 262.859294 +L 197.853598 260.623059 +L 197.901459 258.386824 +L 198.147969 256.150588 +L 198.592016 253.914353 +L 199.231594 251.678118 +L 199.489289 250.985671 +L 200.043187 249.441882 +L 201.027629 247.205647 +L 201.406711 246.476175 +L 202.164698 244.969412 +L 203.324134 242.962383 +L 203.452802 242.733176 +L 204.864648 240.496941 +L 205.241557 239.95733 +L 206.397292 238.260706 +L 207.15898 237.23637 +L 208.040855 236.024471 +L 209.076403 234.706061 +L 209.784206 233.788235 +L 210.993826 232.320983 +L 211.618232 231.552 +L 212.911248 230.049816 +L 213.535482 229.315765 +L 214.828671 227.870432 +L 215.529898 227.079529 +L 216.746094 225.766919 +L 217.59661 224.843294 +L 218.663517 223.727716 +L 219.731787 222.607059 +L 220.58094 221.744411 +L 221.932527 220.370824 +L 222.498362 219.810939 +L 224.196785 218.134588 +L 224.415785 217.923055 +L 226.333208 216.080999 +L 226.524919 215.898353 +L 228.250631 214.281503 +L 228.919245 213.662118 +L 230.168054 212.519047 +L 231.379624 211.425882 +L 232.085477 210.793693 +L 233.908055 209.189647 +L 234.002899 209.10641 +L 235.920322 207.458225 +L 236.521951 206.953412 +L 237.837745 205.847484 +L 239.220319 204.717176 +L 239.755168 204.277182 +L 241.672591 202.748662 +L 242.020552 202.480941 +L 243.590013 201.26025 +L 244.948677 200.244706 +L 245.507436 199.820522 +L 247.424859 198.428142 +L 248.032113 198.008471 +L 249.342282 197.08438 +L 251.259705 195.804516 +L 251.311128 195.772235 +L 253.177128 194.570717 +L 254.898018 193.536 +L 255.09455 193.414144 +L 257.011973 192.313001 +L 258.929396 191.302753 +L 258.935647 191.299765 +L 260.846819 190.352468 +L 262.764242 189.502094 +L 263.888601 189.063529 +L 264.681664 188.740774 +L 266.599087 188.069599 +L 268.51651 187.509523 +L 270.433933 187.062159 +L 271.784819 186.827294 +L 272.351356 186.723842 +L 274.268779 186.494459 +L 276.186201 186.38648 +L 278.103624 186.400219 +L 280.021047 186.535635 +L 281.93847 186.792338 +L 282.116139 186.827294 +L 283.855893 187.153197 +L 285.773315 187.626122 +L 287.690738 188.211423 +L 289.608161 188.907414 +L 289.980162 189.063529 +L 291.525584 189.68513 +L 293.443007 190.558302 +L 294.90476 191.299765 +L 295.36043 191.522643 +L 297.277852 192.553668 +L 298.957752 193.536 +L 299.195275 193.67069 +L 301.112698 194.842322 +L 302.536175 195.772235 +L 303.030121 196.086816 +L 304.947544 197.38338 +L 305.823535 198.008471 +L 306.864966 198.73663 +L 308.782389 200.143638 +L 308.91428 200.244706 +L 310.699812 201.591875 +L 311.833374 202.480941 +L 312.617235 203.089111 +L 314.534658 204.629045 +L 314.641087 204.717176 +L 316.452081 206.207496 +L 317.334454 206.953412 +L 318.369503 207.82691 +L 319.946982 209.189647 +L 320.286926 209.484146 +L 322.204349 211.178818 +L 322.479234 211.425882 +L 324.121772 212.913113 +L 324.93776 213.662118 +L 326.039195 214.685336 +L 327.331116 215.898353 +L 327.956617 216.495555 +L 329.660196 218.134588 +L 329.87404 218.344825 +L 331.791463 220.23888 +L 331.924787 220.370824 +L 333.708886 222.184264 +L 334.125268 222.607059 +L 335.626309 224.180948 +L 336.260479 224.843294 +L 337.543732 226.235267 +L 338.327388 227.079529 +L 339.461154 228.355988 +L 340.322022 229.315765 +L 341.378577 230.555129 +L 342.239353 231.552 +L 343.296 232.849206 +L 343.296 231.552 +L 343.296 229.315765 +L 343.296 227.079529 +L 343.296 224.843294 +L 343.296 224.588857 +L 341.378577 222.64429 +L 341.342333 222.607059 +L 339.461154 220.735736 +L 339.097892 220.370824 +L 337.543732 218.850765 +L 336.816474 218.134588 +L 335.626309 216.987616 +L 334.500447 215.898353 +L 333.708886 215.145223 +L 332.151703 213.662118 +L 331.791463 213.323106 +L 329.87404 211.522014 +L 329.771213 211.425882 +L 327.956617 209.741925 +L 327.356911 209.189647 +L 326.039195 207.97957 +L 324.909802 206.953412 +L 324.121772 206.236198 +L 322.429789 204.717176 +L 322.204349 204.513516 +L 320.286926 202.810175 +L 319.908822 202.480941 +L 318.369503 201.125987 +L 317.34464 200.244706 +L 316.452081 199.465184 +L 314.738686 198.008471 +L 314.534658 197.831438 +L 312.617235 196.217837 +L 312.069125 195.772235 +L 310.699812 194.630354 +L 309.335625 193.536 +L 308.782389 193.078343 +L 306.864966 191.559445 +L 306.520925 191.299765 +L 304.947544 190.06819 +L 303.593104 189.063529 +L 303.030121 188.627825 +L 301.112698 187.230196 +L 300.521758 186.827294 +L 299.195275 185.877416 +L 297.277852 184.603208 +L 297.257971 184.591059 +L 295.36043 183.364265 +L 293.643964 182.354824 +L 293.443007 182.228762 +L 291.525584 181.148915 +L 289.608161 180.19514 +L 289.430232 180.118588 +L 287.690738 179.312822 +L 285.773315 178.565893 +L 283.855893 177.962372 +L 283.521166 177.882353 +L 281.93847 177.470575 +L 280.021047 177.131118 +L 278.103624 176.952048 +L 276.186201 176.93388 +L 274.268779 177.076668 +L 272.351356 177.379999 +L 270.433933 177.842999 +L 270.312487 177.882353 +L 268.51651 178.417095 +L 266.599087 179.131835 +L 264.681664 179.988352 +L 264.4309 180.118588 +L 262.764242 180.922554 +L 260.846819 181.974209 +L 260.225898 182.354824 +L 258.929396 183.099881 +L 257.011973 184.314549 +L 256.611516 184.591059 +L 255.09455 185.58109 +L 253.325958 186.827294 +L 253.177128 186.927143 +L 251.259705 188.304728 +L 250.26645 189.063529 +L 249.342282 189.740205 +L 247.424859 191.223708 +L 247.331304 191.299765 +L 245.507436 192.729532 +L 244.523367 193.536 +L 243.590013 194.277759 +L 241.78282 195.772235 +L 241.672591 195.861103 +L 239.755168 197.462743 +L 239.122077 198.008471 +L 237.837745 199.093246 +L 236.511706 200.244706 +L 235.920322 200.75032 +L 234.002899 202.429718 +L 233.945617 202.480941 +L 232.085477 204.126421 +L 231.429243 204.717176 +L 230.168054 205.845471 +L 228.947282 206.953412 +L 228.250631 207.584603 +L 226.499069 209.189647 +L 226.333208 209.342064 +L 224.415785 211.118824 +L 224.086204 211.425882 +L 222.498362 212.916169 +L 221.705573 213.662118 +L 220.58094 214.733072 +L 219.356789 215.898353 +L 218.663517 216.569414 +L 217.041248 218.134588 +L 216.746094 218.425576 +L 214.828671 220.304301 +L 214.760157 220.370824 +L 212.911248 222.214593 +L 212.512893 222.607059 +L 210.993826 224.152498 +L 210.304431 224.843294 +L 209.076403 226.12129 +L 208.13858 227.079529 +L 207.15898 228.125534 +L 206.019937 229.315765 +L 205.241557 230.171532 +L 203.954063 231.552 +L 203.324134 232.267982 +L 201.947705 233.788235 +L 201.406711 234.427008 +L 200.009106 236.024471 +L 199.489289 236.665794 +L 198.148412 238.260706 +L 197.571866 239.009297 +L 196.378231 240.496941 +L 195.654443 241.49493 +L 194.71441 242.733176 +L 193.73702 244.181141 +L 193.177132 244.969412 +L 191.819597 247.164246 +L 191.792496 247.205647 +L 190.552442 249.441882 +L 189.902174 250.880679 +L 189.518267 251.678118 +L 188.690891 253.914353 +L 188.116459 256.150588 +L 187.984752 257.074184 +L 187.783888 258.386824 +L 187.71745 260.623059 +L 187.927069 262.859294 +L 187.984752 263.125403 +L 188.38272 265.095529 +L 189.088778 267.331765 +L 189.902174 269.232034 +L 190.037178 269.568 +L 191.167491 271.804235 +L 191.819597 272.878923 +L 192.485557 274.040471 +L 193.73702 275.91815 +L 193.964131 276.276706 +L 195.572152 278.512941 +L 195.654443 278.615613 +L 197.288087 280.749176 +L 197.571866 281.086619 +L 199.104629 282.985412 +L 199.489289 283.4246 +L 201.006718 285.221647 +L 201.406711 285.662783 +L 202.98237 287.457882 +L 203.324134 287.823745 +L 205.021939 289.694118 +L 205.241557 289.923264 +L 207.117584 291.930353 +L 207.15898 291.972598 +L 209.076403 293.972124 +L 209.259492 294.166588 +L 210.993826 295.935077 +L 211.445627 296.402824 +L 212.911248 297.868242 +L 213.672891 298.639059 +L 214.828671 299.775018 +L 215.93799 300.875294 +L 216.746094 301.657774 +L 218.23822 303.111529 +L 218.663517 303.51807 +L 220.571385 305.347765 z " style="fill:#e48066;"/> - <path clip-path="url(#p553f52e075)" d="M 405.152215 388.8 -L 407.548993 388.8 -L 409.945772 388.8 -L 412.34255 388.8 -L 413.650153 388.8 -L 414.739329 387.731514 -L 416.607123 385.895798 -L 417.136107 385.368436 -L 419.522714 382.991597 -L 419.532886 382.981271 -L 421.929664 380.557905 -L 422.398203 380.087395 -L 424.326443 378.103928 -L 425.230343 377.183193 -L 426.723221 375.617339 -L 428.015629 374.278992 -L 429.12 373.094841 -L 429.12 371.37479 -L 429.12 368.470588 -L 429.12 365.566387 -L 429.12 362.662185 -L 429.12 362.389244 -L 428.912544 362.662185 -L 426.723221 365.368744 -L 426.565383 365.566387 -L 424.326443 368.221675 -L 424.118603 368.470588 -L 421.929664 370.971167 -L 421.578749 371.37479 -L 419.532886 373.63393 -L 418.951007 374.278992 -L 417.136107 376.222106 -L 416.239359 377.183193 -L 414.739329 378.74447 -L 413.446689 380.087395 -L 412.34255 381.207239 -L 410.574841 382.991597 -L 409.945772 383.614607 -L 407.624654 385.895798 -L 407.548993 385.969105 -L 405.152215 388.266743 -L 404.58829 388.8 + <path clip-path="url(#p0bba778d2e)" d="M 324.121772 307.584 +L 326.039195 307.584 +L 327.956617 307.584 +L 329.87404 307.584 +L 330.920122 307.584 +L 331.791463 306.761266 +L 333.285698 305.347765 +L 333.708886 304.941696 +L 335.618171 303.111529 +L 335.626309 303.103579 +L 337.543732 301.237587 +L 337.918562 300.875294 +L 339.461154 299.348024 +L 340.184274 298.639059 +L 341.378577 297.433351 +L 342.412503 296.402824 +L 343.296 295.491028 +L 343.296 294.166588 +L 343.296 291.930353 +L 343.296 289.694118 +L 343.296 287.457882 +L 343.296 287.247718 +L 343.130035 287.457882 +L 341.378577 289.541933 +L 341.252306 289.694118 +L 339.461154 291.73869 +L 339.294883 291.930353 +L 337.543732 293.855798 +L 337.262999 294.166588 +L 335.626309 295.906126 +L 335.160806 296.402824 +L 333.708886 297.899021 +L 332.991487 298.639059 +L 331.791463 299.841242 +L 330.757351 300.875294 +L 329.87404 301.737574 +L 328.459873 303.111529 +L 327.956617 303.591247 +L 326.099723 305.347765 +L 326.039195 305.404211 +L 324.121772 307.173392 +L 323.670632 307.584 z " style="fill:#e48066;"/> - <path clip-path="url(#p553f52e075)" d="M 74.124027 162.272269 -L 74.396779 162.204102 -L 76.793557 161.416918 -L 79.190336 160.443826 -L 81.42037 159.368067 -L 81.587114 159.293343 -L 83.983893 158.052257 -L 86.380671 156.647745 -L 86.66248 156.463866 -L 88.77745 155.169905 -L 91.172223 153.559664 -L 91.174228 153.558389 -L 93.571007 151.902031 -L 95.245313 150.655462 -L 95.967785 150.143252 -L 98.364564 148.326919 -L 99.080117 147.751261 -L 100.761342 146.45479 -L 102.737268 144.847059 -L 103.158121 144.516824 -L 105.554899 142.543277 -L 106.253239 141.942857 -L 107.951678 140.526617 -L 109.668465 139.038655 -L 110.348456 138.464034 -L 112.745235 136.367693 -L 113.00389 136.134454 -L 115.142013 134.245134 -L 116.26018 133.230252 -L 117.538792 132.087521 -L 119.464359 130.32605 -L 119.93557 129.899602 -L 122.332349 127.686835 -L 122.614615 127.421849 -L 124.729128 125.448946 -L 125.713791 124.517647 -L 127.125906 123.184212 -L 128.77187 121.613445 -L 129.522685 120.894842 -L 131.78896 118.709244 -L 131.919463 118.582443 -L 134.316242 116.24275 -L 134.763829 115.805042 -L 136.71302 113.875708 -L 137.699004 112.90084 -L 139.109799 111.482303 -L 140.593259 109.996639 -L 141.506577 109.061894 -L 143.444218 107.092437 -L 143.903356 106.613075 -L 146.248904 104.188235 -L 146.300134 104.13354 -L 148.696913 101.60735 -L 149.008602 101.284034 -L 151.093691 99.037474 -L 151.71587 98.379832 -L 153.49047 96.419366 -L 154.364147 95.47563 -L 155.887248 93.744384 -L 156.946302 92.571429 -L 158.284027 91.000614 -L 159.453667 89.667227 -L 160.680805 88.171464 -L 161.875639 86.763025 -L 163.077584 85.23342 -L 164.199139 83.858824 -L 165.474362 82.152338 -L 166.407875 80.954622 -L 167.871141 78.877012 -L 168.481305 78.05042 -L 170.267919 75.327395 -L 170.393176 75.146218 -L 172.140824 72.242017 -L 172.664698 71.213729 -L 173.677728 69.337815 -L 174.954826 66.433613 -L 175.061477 66.117588 -L 175.993513 63.529412 -L 176.717709 60.62521 -L 177.116988 57.721008 -L 177.189547 54.816807 -L 176.935057 51.912605 -L 176.354668 49.008403 -L 175.451002 46.104202 -L 175.061477 45.179107 -L 174.280526 43.2 -L 172.664698 43.2 -L 170.267919 43.2 -L 167.871141 43.2 -L 165.474362 43.2 -L 163.077584 43.2 -L 162.284617 43.2 -L 163.077584 45.747624 -L 163.192827 46.104202 -L 163.886441 49.008403 -L 164.331922 51.912605 -L 164.527258 54.816807 -L 164.471565 57.721008 -L 164.165096 60.62521 -L 163.609235 63.529412 -L 163.077584 65.452845 -L 162.816503 66.433613 -L 161.80913 69.337815 -L 160.680805 71.986673 -L 160.575618 72.242017 -L 159.1625 75.146218 -L 158.284027 76.717691 -L 157.560742 78.05042 -L 155.887248 80.79124 -L 155.790045 80.954622 -L 153.877946 83.858824 -L 153.49047 84.397837 -L 151.82801 86.763025 -L 151.093691 87.730712 -L 149.65207 89.667227 -L 148.696913 90.86722 -L 147.361898 92.571429 -L 146.300134 93.849837 -L 144.967124 95.47563 -L 143.903356 96.708586 -L 142.475584 98.379832 -L 141.506577 99.465067 -L 139.893596 101.284034 -L 139.109799 102.134997 -L 137.226151 104.188235 -L 136.71302 104.729836 -L 134.477068 107.092437 -L 134.316242 107.257876 -L 131.919463 109.719002 -L 131.647817 109.996639 -L 129.522685 112.122 -L 128.737985 112.90084 -L 127.125906 114.474208 -L 125.747841 115.805042 -L 124.729128 116.777026 -L 122.676291 118.709244 -L 122.332349 119.03057 -L 119.93557 121.232638 -L 119.512747 121.613445 -L 117.538792 123.386078 -L 116.249024 124.517647 -L 115.142013 125.490441 -L 112.884443 127.421849 -L 112.745235 127.541679 -L 110.348456 129.542855 -L 109.37757 130.32605 -L 107.951678 131.488714 -L 105.731672 133.230252 -L 105.554899 133.371083 -L 103.158121 135.199783 -L 101.872622 136.134454 -L 100.761342 136.959005 -L 98.364564 138.644454 -L 97.769469 139.038655 -L 95.967785 140.262732 -L 93.571007 141.786141 -L 93.305375 141.942857 -L 91.174228 143.239285 -L 88.77745 144.580332 -L 88.253535 144.847059 -L 86.380671 145.835757 -L 83.983893 146.972088 -L 82.12403 147.751261 -L 81.587114 147.985924 -L 79.190336 148.892496 -L 76.793557 149.655497 -L 74.396779 150.272729 -L 72.443697 150.655462 -L 72 150.746772 -L 72 153.559664 -L 72 156.463866 -L 72 159.368067 -L 72 162.272269 -L 72 162.849878 + <path clip-path="url(#p0bba778d2e)" d="M 59.299221 133.157647 +L 59.517423 133.105159 +L 61.434846 132.499027 +L 63.352268 131.749746 +L 65.136296 130.921412 +L 65.269691 130.863874 +L 67.187114 129.908238 +L 69.104537 128.826763 +L 69.329984 128.685176 +L 71.02196 127.688826 +L 72.937779 126.448941 +L 72.939383 126.44796 +L 74.856805 125.172564 +L 76.19625 124.212706 +L 76.774228 123.818304 +L 78.691651 122.419727 +L 79.264094 121.976471 +L 80.609074 120.978188 +L 82.189814 119.740235 +L 82.526497 119.485955 +L 84.443919 117.966323 +L 85.002592 117.504 +L 86.361342 116.413495 +L 87.734772 115.267765 +L 88.278765 114.825306 +L 90.196188 113.211123 +L 90.403112 113.031529 +L 92.113611 111.576753 +L 93.008144 110.795294 +L 94.031034 109.915392 +L 95.571488 108.559059 +L 95.948456 108.230693 +L 97.865879 106.526863 +L 98.091692 106.322824 +L 99.783302 104.803688 +L 100.571033 104.086588 +L 101.700725 103.059844 +L 103.017496 101.850353 +L 103.618148 101.297028 +L 105.431168 99.614118 +L 105.53557 99.516481 +L 107.452993 97.714917 +L 107.811063 97.377882 +L 109.370416 95.892295 +L 110.159203 95.141647 +L 111.287839 94.049373 +L 112.474608 92.905412 +L 113.205262 92.185658 +L 114.755374 90.669176 +L 115.122685 90.300068 +L 116.999123 88.432941 +L 117.040107 88.390826 +L 118.95753 86.445659 +L 119.206882 86.196706 +L 120.874953 84.466855 +L 121.372696 83.960471 +L 122.792376 82.450912 +L 123.491318 81.724235 +L 124.709799 80.391176 +L 125.557042 79.488 +L 126.627221 78.278473 +L 127.562934 77.251765 +L 128.544644 76.100027 +L 129.500511 75.015529 +L 130.462067 73.837734 +L 131.359311 72.779294 +L 132.37949 71.4653 +L 133.1263 70.543059 +L 134.296913 68.943299 +L 134.785044 68.306824 +L 136.214336 66.210094 +L 136.314541 66.070588 +L 137.712659 63.834353 +L 138.131758 63.042571 +L 138.942183 61.598118 +L 139.96386 59.361882 +L 140.049181 59.118543 +L 140.79481 57.125647 +L 141.374167 54.889412 +L 141.693591 52.653176 +L 141.751637 50.416941 +L 141.548045 48.180706 +L 141.083734 45.944471 +L 140.360802 43.708235 +L 140.049181 42.995912 +L 139.424421 41.472 +L 138.131758 41.472 +L 136.214336 41.472 +L 134.296913 41.472 +L 132.37949 41.472 +L 130.462067 41.472 +L 129.827693 41.472 +L 130.462067 43.43367 +L 130.554262 43.708235 +L 131.109153 45.944471 +L 131.465538 48.180706 +L 131.621806 50.416941 +L 131.577252 52.653176 +L 131.332077 54.889412 +L 130.887388 57.125647 +L 130.462067 58.606691 +L 130.253202 59.361882 +L 129.447304 61.598118 +L 128.544644 63.637738 +L 128.460495 63.834353 +L 127.33 66.070588 +L 126.627221 67.280622 +L 126.048593 68.306824 +L 124.709799 70.417255 +L 124.632036 70.543059 +L 123.102357 72.779294 +L 122.792376 73.194335 +L 121.462408 75.015529 +L 120.874953 75.760648 +L 119.721656 77.251765 +L 118.95753 78.175759 +L 117.889519 79.488 +L 117.040107 80.472375 +L 115.973699 81.724235 +L 115.122685 82.673611 +L 113.980467 83.960471 +L 113.205262 84.796102 +L 111.914876 86.196706 +L 111.287839 86.851947 +L 109.780921 88.432941 +L 109.370416 88.849974 +L 107.581654 90.669176 +L 107.452993 90.796565 +L 105.53557 92.691632 +L 105.318254 92.905412 +L 103.618148 94.54194 +L 102.990388 95.141647 +L 101.700725 96.35314 +L 100.598272 97.377882 +L 99.783302 98.12631 +L 98.141033 99.614118 +L 97.865879 99.861539 +L 95.948456 101.557131 +L 95.610198 101.850353 +L 94.031034 103.21528 +L 92.999219 104.086588 +L 92.113611 104.83564 +L 90.307554 106.322824 +L 90.196188 106.415093 +L 88.278765 107.955999 +L 87.502056 108.559059 +L 86.361342 109.454309 +L 84.585337 110.795294 +L 84.443919 110.903734 +L 82.526497 112.311833 +L 81.498098 113.031529 +L 80.609074 113.666434 +L 78.691651 114.964229 +L 78.215576 115.267765 +L 76.774228 116.210303 +L 74.856805 117.383328 +L 74.6443 117.504 +L 72.939383 118.50225 +L 71.02196 119.534856 +L 70.602828 119.740235 +L 69.104537 120.501533 +L 67.187114 121.376507 +L 65.699224 121.976471 +L 65.269691 122.157161 +L 63.352268 122.855222 +L 61.434846 123.442733 +L 59.517423 123.918001 +L 57.954958 124.212706 +L 57.6 124.283014 +L 57.6 126.448941 +L 57.6 128.685176 +L 57.6 130.921412 +L 57.6 133.157647 +L 57.6 133.602406 z " style="fill:#e48066;"/> - <path clip-path="url(#p553f52e075)" d="M 338.042416 162.380321 -L 340.439195 162.980597 -L 342.835973 163.373863 -L 345.232752 163.558985 -L 347.62953 163.535431 -L 350.026309 163.303268 -L 352.423087 162.863165 -L 354.612796 162.272269 -L 354.819866 162.220915 -L 357.216644 161.438283 -L 359.613423 160.469683 -L 361.905816 159.368067 -L 362.010201 159.321467 -L 364.40698 158.084403 -L 366.803758 156.68382 -L 367.141682 156.463866 -L 369.200537 155.207317 -L 371.597315 153.599208 -L 371.651511 153.559664 -L 373.994094 151.943864 -L 375.727558 150.655462 -L 376.390872 150.185999 -L 378.787651 148.372453 -L 379.560869 147.751261 -L 381.18443 146.500983 -L 383.219645 144.847059 -L 383.581208 144.563699 -L 385.977987 142.592344 -L 386.734148 141.942857 -L 388.374765 140.576193 -L 390.15033 139.038655 -L 390.771544 138.51417 -L 393.168322 136.419484 -L 393.484633 136.134454 -L 395.565101 134.297362 -L 396.741527 133.230252 -L 397.961879 132.140254 -L 399.946135 130.32605 -L 400.358658 129.952912 -L 402.755436 127.741133 -L 403.095665 127.421849 -L 405.152215 125.503736 -L 406.195115 124.517647 -L 407.548993 123.239581 -L 409.253354 121.613445 -L 409.945772 120.95088 -L 412.270502 118.709244 -L 412.34255 118.639251 -L 414.739329 116.299743 -L 415.2452 115.805042 -L 417.136107 113.933416 -L 418.180394 112.90084 -L 419.532886 111.540842 -L 421.074596 109.996639 -L 421.929664 109.121395 -L 423.92544 107.092437 -L 424.326443 106.673686 -L 426.723221 104.195202 -L 426.730045 104.188235 -L 429.12 101.668357 -L 429.12 101.284034 -L 429.12 98.379832 -L 429.12 95.47563 -L 429.12 92.571429 -L 429.12 90.941109 -L 427.843314 92.571429 -L 426.723221 93.920539 -L 425.448531 95.47563 -L 424.326443 96.776539 -L 422.957003 98.379832 -L 421.929664 99.530629 -L 420.375024 101.284034 -L 419.532886 102.198458 -L 417.707569 104.188235 -L 417.136107 104.79144 -L 414.958437 107.092437 -L 414.739329 107.317827 -L 412.34255 109.778758 -L 412.129339 109.996639 -L 409.945772 112.180113 -L 409.219462 112.90084 -L 407.548993 114.530834 -L 406.229174 115.805042 -L 405.152215 116.832299 -L 403.157365 118.709244 -L 402.755436 119.084605 -L 400.358658 121.28569 -L 399.994548 121.613445 -L 397.961879 123.437844 -L 396.730364 124.517647 -L 395.565101 125.541007 -L 393.365103 127.421849 -L 393.168322 127.59112 -L 390.771544 129.590716 -L 389.859177 130.32605 -L 388.374765 131.535354 -L 386.212061 133.230252 -L 385.977987 133.416549 -L 383.581208 135.243218 -L 382.353929 136.134454 -L 381.18443 137.001128 -L 378.787651 138.684255 -L 378.25182 139.038655 -L 376.390872 140.301055 -L 373.994094 141.821854 -L 373.788602 141.942857 -L 371.597315 143.273313 -L 369.200537 144.611464 -L 368.736639 144.847059 -L 366.803758 145.864944 -L 364.40698 146.998095 -L 362.603352 147.751261 -L 362.010201 148.009661 -L 359.613423 148.912771 -L 357.216644 149.67225 -L 354.819866 150.285912 -L 352.919459 150.655462 -L 352.423087 150.756827 -L 350.026309 151.089879 -L 347.62953 151.26557 -L 345.232752 151.283395 -L 342.835973 151.143302 -L 340.439195 150.845695 -L 339.435492 150.655462 -L 338.042416 150.404042 -L 335.645638 149.823548 -L 333.248859 149.096799 -L 330.852081 148.225891 -L 329.728606 147.751261 -L 328.455302 147.23563 -L 326.058523 146.132063 -L 323.661745 144.898695 -L 323.570718 144.847059 -L 321.264966 143.58567 -L 318.868188 142.156514 -L 318.536312 141.942857 -L 316.471409 140.653602 -L 314.074631 139.051031 -L 314.057224 139.038655 -L 311.677852 137.389273 -L 309.964759 136.134454 -L 309.281074 135.643717 -L 306.884295 133.836039 -L 306.115984 133.230252 -L 304.487517 131.965929 -L 302.457664 130.32605 -L 302.090738 130.032786 -L 299.69396 128.048012 -L 298.961234 127.421849 -L 297.297181 126.008521 -L 295.589782 124.517647 -L 294.900403 123.91666 -L 292.503624 121.776135 -L 292.3252 121.613445 -L 290.106846 119.584816 -L 289.166002 118.709244 -L 287.710067 117.344165 -L 286.091921 115.805042 -L 285.313289 115.055433 -L 283.100463 112.90084 -L 282.91651 112.718691 -L 280.519732 110.325547 -L 280.1921 109.996639 -L 278.122953 107.873847 -L 277.363197 107.092437 -L 275.726174 105.362994 -L 274.613773 104.188235 -L 273.329396 102.787457 -L 271.946393 101.284034 -L 270.932617 100.139342 -L 269.364691 98.379832 -L 268.535839 97.407694 -L 266.873463 95.47563 -L 266.13906 94.577462 -L 264.478807 92.571429 -L 263.742282 91.62792 -L 262.188306 89.667227 -L 261.345503 88.530237 -L 260.011289 86.763025 -L 258.948725 85.24359 -L 257.959162 83.858824 -L 256.551946 81.708739 -L 256.045857 80.954622 -L 254.284659 78.05042 -L 254.155168 77.810186 -L 252.677477 75.146218 -L 251.758389 73.242631 -L 251.259323 72.242017 -L 250.033003 69.337815 -L 249.361611 67.385222 -L 249.022219 66.433613 -L 248.227315 63.529412 -L 247.676881 60.62521 -L 247.373404 57.721008 -L 247.318255 54.816807 -L 247.511683 51.912605 -L 247.952815 49.008403 -L 248.639657 46.104202 -L 249.361611 43.848351 -L 249.561658 43.2 -L 249.361611 43.2 -L 246.964832 43.2 -L 244.568054 43.2 -L 242.171275 43.2 -L 239.774497 43.2 -L 237.570393 43.2 -L 237.377718 43.69574 -L 236.380596 46.104202 -L 235.492077 49.008403 -L 234.98094 51.609678 -L 234.917066 51.912605 -L 234.648557 54.816807 -L 234.725113 57.721008 -L 234.98094 59.48464 -L 235.135121 60.62521 -L 235.847178 63.529412 -L 236.87549 66.433613 -L 237.377718 67.522166 -L 238.164124 69.337815 -L 239.708859 72.242017 -L 239.774497 72.346491 -L 241.436502 75.146218 -L 242.171275 76.223591 -L 243.355323 78.05042 -L 244.568054 79.713514 -L 245.432638 80.954622 -L 246.964832 82.942131 -L 247.64317 83.858824 -L 249.361611 85.985739 -L 249.967074 86.763025 -L 251.758389 88.893132 -L 252.388559 89.667227 -L 254.155168 91.696833 -L 254.894921 92.571429 -L 256.551946 94.419227 -L 257.475839 95.47563 -L 258.948725 97.076097 -L 260.122859 98.379832 -L 261.345503 99.678765 -L 262.829022 101.284034 -L 263.742282 102.235429 -L 265.588569 104.188235 -L 266.13906 104.752031 -L 268.396732 107.092437 -L 268.535839 107.232826 -L 270.932617 109.673839 -L 271.247617 109.996639 -L 273.329396 112.084157 -L 274.141178 112.90084 -L 275.726174 114.468821 -L 277.076385 115.805042 -L 278.122953 116.828329 -L 280.05149 118.709244 -L 280.519732 119.162527 -L 282.91651 121.47023 -L 283.066498 121.613445 -L 285.313289 123.752531 -L 286.126076 124.517647 -L 287.710067 126.011136 -L 289.227919 127.421849 -L 290.106846 128.243774 -L 292.372855 130.32605 -L 292.503624 130.447515 -L 294.900403 132.628012 -L 295.578556 133.230252 -L 297.297181 134.780237 -L 298.840916 136.134454 -L 299.69396 136.898104 -L 302.090738 138.977263 -L 302.164064 139.038655 -L 304.487517 141.033868 -L 305.588984 141.942857 -L 306.884295 143.045061 -L 309.098186 144.847059 -L 309.281074 145.001418 -L 311.677852 146.926623 -L 312.762666 147.751261 -L 314.074631 148.791699 -L 316.471409 150.579237 -L 316.580861 150.655462 -L 318.868188 152.328324 -L 320.685941 153.559664 -L 321.264966 153.97458 -L 323.661745 155.550284 -L 325.193619 156.463866 -L 326.058523 157.013981 -L 328.455302 158.377998 -L 330.433357 159.368067 -L 330.852081 159.593672 -L 333.248859 160.704383 -L 335.645638 161.63124 -L 337.720927 162.272269 + <path clip-path="url(#p0bba778d2e)" d="M 270.433933 133.240847 +L 272.351356 133.70306 +L 274.268779 134.005874 +L 276.186201 134.148419 +L 278.103624 134.130282 +L 280.021047 133.951516 +L 281.93847 133.612637 +L 283.690237 133.157647 +L 283.855893 133.118105 +L 285.773315 132.515478 +L 287.690738 131.769656 +L 289.524653 130.921412 +L 289.608161 130.88553 +L 291.525584 129.93299 +L 293.443007 128.854541 +L 293.713345 128.685176 +L 295.36043 127.717634 +L 297.277852 126.47939 +L 297.321209 126.448941 +L 299.195275 125.204775 +L 300.582046 124.212706 +L 301.112698 123.851219 +L 303.030121 122.454789 +L 303.648695 121.976471 +L 304.947544 121.013757 +L 306.575716 119.740235 +L 306.864966 119.522048 +L 308.782389 118.004105 +L 309.387319 117.504 +L 310.699812 116.451669 +L 312.120264 115.267765 +L 312.617235 114.863911 +L 314.534658 113.251003 +L 314.787707 113.031529 +L 316.452081 111.616969 +L 317.393221 110.795294 +L 318.369503 109.955996 +L 319.956908 108.559059 +L 320.286926 108.271742 +L 322.204349 106.568672 +L 322.476532 106.322824 +L 324.121772 104.845876 +L 324.956092 104.086588 +L 326.039195 103.102477 +L 327.402683 101.850353 +L 327.956617 101.340178 +L 329.816402 99.614118 +L 329.87404 99.560223 +L 331.791463 97.758802 +L 332.19616 97.377882 +L 333.708886 95.93673 +L 334.544315 95.141647 +L 335.626309 94.094448 +L 336.859677 92.905412 +L 337.543732 92.231474 +L 339.140352 90.669176 +L 339.461154 90.346738 +L 341.378577 88.438306 +L 341.384036 88.432941 +L 343.296 86.492635 +L 343.296 86.196706 +L 343.296 83.960471 +L 343.296 81.724235 +L 343.296 79.488 +L 343.296 78.232654 +L 342.274651 79.488 +L 341.378577 80.526815 +L 340.358825 81.724235 +L 339.461154 82.725935 +L 338.365602 83.960471 +L 337.543732 84.846584 +L 336.300019 86.196706 +L 335.626309 86.900813 +L 334.166056 88.432941 +L 333.708886 88.897409 +L 331.96675 90.669176 +L 331.791463 90.842727 +L 329.87404 92.737644 +L 329.703471 92.905412 +L 327.956617 94.586687 +L 327.375569 95.141647 +L 326.039195 96.396742 +L 324.983339 97.377882 +L 324.121772 98.16887 +L 322.525892 99.614118 +L 322.204349 99.903146 +L 320.286926 101.597981 +L 319.995639 101.850353 +L 318.369503 103.25514 +L 317.384291 104.086588 +L 316.452081 104.874576 +L 314.692082 106.322824 +L 314.534658 106.453162 +L 312.617235 107.992851 +L 311.887341 108.559059 +L 310.699812 109.490223 +L 308.969649 110.795294 +L 308.782389 110.938743 +L 306.864966 112.345278 +L 305.883143 113.031529 +L 304.947544 113.698869 +L 303.030121 114.994877 +L 302.601456 115.267765 +L 301.112698 116.239812 +L 299.195275 117.410828 +L 299.030882 117.504 +L 297.277852 118.528451 +L 295.36043 119.558827 +L 294.989311 119.740235 +L 293.443007 120.524007 +L 291.525584 121.396534 +L 290.082681 121.976471 +L 289.608161 122.175439 +L 287.690738 122.870833 +L 285.773315 123.455633 +L 283.855893 123.928152 +L 282.335567 124.212706 +L 281.93847 124.290757 +L 280.021047 124.547206 +L 278.103624 124.682489 +L 276.186201 124.696214 +L 274.268779 124.588342 +L 272.351356 124.359185 +L 271.548394 124.212706 +L 270.433933 124.019112 +L 268.51651 123.572132 +L 266.599087 123.012535 +L 264.681664 122.341936 +L 263.782885 121.976471 +L 262.764242 121.579435 +L 260.846819 120.729688 +L 258.929396 119.779995 +L 258.856574 119.740235 +L 257.011973 118.768966 +L 255.09455 117.668515 +L 254.82905 117.504 +L 253.177128 116.511274 +L 251.259705 115.277294 +L 251.245779 115.267765 +L 249.342282 113.99774 +L 247.971807 113.031529 +L 247.424859 112.653662 +L 245.507436 111.26175 +L 244.892787 110.795294 +L 243.590013 109.821766 +L 241.966131 108.559059 +L 241.672591 108.333245 +L 239.755168 106.804969 +L 239.168987 106.322824 +L 237.837745 105.234561 +L 236.471826 104.086588 +L 235.920322 103.623828 +L 234.002899 101.975624 +L 233.86016 101.850353 +L 232.085477 100.288308 +L 231.332802 99.614118 +L 230.168054 98.563007 +L 228.873537 97.377882 +L 228.250631 96.800684 +L 226.480371 95.141647 +L 226.333208 95.001392 +L 224.415785 93.158671 +L 224.15368 92.905412 +L 222.498362 91.270863 +L 221.890557 90.669176 +L 220.58094 89.337506 +L 219.691019 88.432941 +L 218.663517 87.354342 +L 217.557115 86.196706 +L 216.746094 85.315293 +L 215.491753 83.960471 +L 214.828671 83.211925 +L 213.498771 81.724235 +L 212.911248 81.032646 +L 211.583045 79.488 +L 210.993826 78.761498 +L 209.750645 77.251765 +L 209.076403 76.376282 +L 208.009031 75.015529 +L 207.15898 73.845564 +L 206.367329 72.779294 +L 205.241557 71.123729 +L 204.836685 70.543059 +L 203.427727 68.306824 +L 203.324134 68.121844 +L 202.141982 66.070588 +L 201.406711 64.604826 +L 201.007458 63.834353 +L 200.026402 61.598118 +L 199.489289 60.094621 +L 199.217776 59.361882 +L 198.581852 57.125647 +L 198.141505 54.889412 +L 197.898723 52.653176 +L 197.854604 50.416941 +L 198.009347 48.180706 +L 198.362252 45.944471 +L 198.911726 43.708235 +L 199.489289 41.97123 +L 199.649326 41.472 +L 199.489289 41.472 +L 197.571866 41.472 +L 195.654443 41.472 +L 193.73702 41.472 +L 191.819597 41.472 +L 190.056315 41.472 +L 189.902174 41.85372 +L 189.104476 43.708235 +L 188.393661 45.944471 +L 187.984752 47.947452 +L 187.933653 48.180706 +L 187.718846 50.416941 +L 187.78009 52.653176 +L 187.984752 54.011173 +L 188.108096 54.889412 +L 188.677742 57.125647 +L 189.500392 59.361882 +L 189.902174 60.200068 +L 190.531299 61.598118 +L 191.767087 63.834353 +L 191.819597 63.914798 +L 193.149202 66.070588 +L 193.73702 66.900165 +L 194.684259 68.306824 +L 195.654443 69.587406 +L 196.34611 70.543059 +L 197.571866 72.073441 +L 198.114536 72.779294 +L 199.489289 74.417019 +L 199.973659 75.015529 +L 201.406711 76.655711 +L 201.910847 77.251765 +L 203.324134 78.814561 +L 203.915937 79.488 +L 205.241557 80.910804 +L 205.980671 81.724235 +L 207.15898 82.956595 +L 208.098287 83.960471 +L 209.076403 84.960649 +L 210.263217 86.196706 +L 210.993826 86.929281 +L 212.470855 88.432941 +L 212.911248 88.867064 +L 214.717385 90.669176 +L 214.828671 90.777276 +L 216.746094 92.656856 +L 216.998094 92.905412 +L 218.663517 94.512801 +L 219.312942 95.141647 +L 220.58094 96.348992 +L 221.661108 97.377882 +L 222.498362 98.165813 +L 224.041192 99.614118 +L 224.415785 99.963146 +L 226.333208 101.740077 +L 226.453199 101.850353 +L 228.250631 103.497449 +L 228.900861 104.086588 +L 230.168054 105.236575 +L 231.382335 106.322824 +L 232.085477 106.955706 +L 233.898284 108.559059 +L 234.002899 108.652586 +L 235.920322 110.33157 +L 236.462844 110.795294 +L 237.837745 111.988782 +L 239.072732 113.031529 +L 239.755168 113.61954 +L 241.672591 115.220493 +L 241.731251 115.267765 +L 243.590013 116.804079 +L 244.471187 117.504 +L 245.507436 118.352697 +L 247.278549 119.740235 +L 247.424859 119.859092 +L 249.342282 121.341499 +L 250.210133 121.976471 +L 251.259705 122.777608 +L 253.177128 124.154013 +L 253.264688 124.212706 +L 255.09455 125.500809 +L 256.548753 126.448941 +L 257.011973 126.768426 +L 258.929396 127.981719 +L 260.154896 128.685176 +L 260.846819 129.108765 +L 262.764242 130.159058 +L 264.346686 130.921412 +L 264.681664 131.095127 +L 266.599087 131.950375 +L 268.51651 132.664055 +L 270.176742 133.157647 z " style="fill:#e48066;"/> </g> <g id="PathCollection_10"> - <path clip-path="url(#p553f52e075)" d="M 134.316242 388.8 -L 136.71302 388.8 -L 139.109799 388.8 -L 141.506577 388.8 -L 142.122206 388.8 -L 143.903356 387.070292 -L 145.124759 385.895798 -L 146.300134 384.749343 -L 148.125565 382.991597 -L 148.696913 382.430852 -L 151.093691 380.115803 -L 151.123671 380.087395 -L 153.49047 377.790113 -L 154.129966 377.183193 -L 155.887248 375.465889 -L 157.133696 374.278992 -L 158.284027 373.144805 -L 160.133165 371.37479 -L 160.680805 370.828768 -L 163.077584 368.517746 -L 163.128367 368.470588 -L 165.474362 366.186696 -L 166.138935 365.566387 -L 167.871141 363.859278 -L 169.144239 362.662185 -L 170.267919 361.537726 -L 172.14194 359.757983 -L 172.664698 359.224875 -L 175.061477 356.918947 -L 175.133753 356.853782 -L 177.458255 354.579832 -L 178.150981 353.94958 -L 179.855034 352.246781 -L 181.15918 351.045378 -L 182.251812 349.923453 -L 184.15421 348.141176 -L 184.648591 347.615367 -L 187.045369 345.318323 -L 187.141023 345.236975 -L 189.442148 342.962029 -L 190.173593 342.332773 -L 191.838926 340.612884 -L 193.19131 339.428571 -L 194.235705 338.278137 -L 196.182549 336.52437 -L 196.632483 335.974887 -L 199.029262 333.708414 -L 199.161507 333.620168 -L 201.42604 331.258266 -L 202.322506 330.715966 -L 203.822819 328.617243 -L 205.932352 327.811765 -L 203.822819 325.270383 -L 203.740613 324.907563 -L 201.42604 322.9242 -L 200.802773 322.003361 -L 199.029262 320.54874 -L 197.782114 319.09916 -L 196.632483 318.171436 -L 194.735999 316.194958 -L 194.235705 315.794254 -L 191.838926 313.446877 -L 191.703759 313.290756 -L 189.442148 311.161756 -L 188.725557 310.386555 -L 187.045369 308.846804 -L 185.724167 307.482353 -L 184.648591 306.515069 -L 182.707824 304.578151 -L 182.251812 304.173493 -L 179.855034 301.842419 -L 179.695345 301.67395 -L 177.458255 299.54069 -L 176.706349 298.769748 -L 175.061477 297.224747 -L 173.705378 295.865546 -L 172.664698 294.899206 -L 170.695849 292.961345 -L 170.267919 292.56735 -L 167.871141 290.242128 -L 167.689211 290.057143 -L 165.474362 287.932694 -L 164.694941 287.152941 -L 163.077584 285.615077 -L 161.693679 284.248739 -L 160.680805 283.29182 -L 158.687518 281.344538 -L 158.284027 280.965001 -L 155.887248 278.642789 -L 155.683646 278.440336 -L 153.49047 276.32845 -L 152.685941 275.536134 -L 151.093691 274.009397 -L 149.684375 272.631933 -L 148.696913 271.687422 -L 146.680549 269.727731 -L 146.300134 269.36414 -L 143.903356 267.043679 -L 143.678196 266.823529 -L 141.506577 264.725543 -L 140.677807 263.919328 -L 139.109799 262.405202 -L 137.675987 261.015126 -L 136.71302 260.084169 -L 134.67417 258.110924 -L 134.316242 257.763925 -L 131.919463 255.444477 -L 131.67263 255.206723 -L 129.522685 253.122907 -L 128.669805 252.302521 -L 127.125906 250.801271 -L 125.667768 249.398319 -L 124.729128 248.481072 -L 122.667993 246.494118 -L 122.332349 246.163895 -L 119.93557 243.844906 -L 119.666721 243.589916 -L 117.538792 241.519724 -L 116.661327 240.685714 -L 115.142013 239.196577 -L 113.659067 237.781513 -L 112.745235 236.877205 -L 110.661689 234.877311 -L 110.348456 234.563615 -L 107.951678 232.244546 -L 107.660089 231.973109 -L 105.554899 229.914851 -L 104.651455 229.068908 -L 103.158121 227.58953 -L 101.64885 226.164706 -L 100.761342 225.270991 -L 98.654749 223.260504 -L 98.364564 222.962329 -L 95.967785 220.642433 -L 95.651802 220.356303 -L 93.571007 218.305645 -L 92.637932 217.452101 -L 91.174228 215.9761 -L 89.63439 214.547899 -L 88.77745 213.657971 -L 86.645763 211.643697 -L 86.380671 211.357688 -L 83.983893 209.035321 -L 83.638386 208.739496 -L 81.587114 206.682161 -L 80.611455 205.835294 -L 79.190336 204.338461 -L 77.602731 202.931092 -L 76.793557 202.013842 -L 74.626759 200.026891 -L 74.396779 199.732655 -L 72 197.399266 -L 72 200.026891 -L 72 202.931092 -L 72 205.835294 -L 72 208.739496 -L 72 211.643697 -L 72 214.547899 -L 72 217.452101 -L 72 219.834836 -L 73.914312 220.356303 -L 74.396779 220.477061 -L 76.793557 221.265414 -L 79.190336 222.23995 -L 81.302795 223.260504 -L 81.587114 223.388083 -L 83.983893 224.630778 -L 86.380671 226.037112 -L 86.575965 226.164706 -L 88.77745 227.513124 -L 91.088615 229.068908 -L 91.174228 229.12338 -L 93.571007 230.781376 -L 95.170081 231.973109 -L 95.967785 232.539141 -L 98.364564 234.357034 -L 99.010723 234.877311 -L 100.761342 236.228292 -L 102.668864 237.781513 -L 103.158121 238.165664 -L 105.554899 240.140453 -L 106.188687 240.685714 -L 107.951678 242.156555 -L 109.604597 243.589916 -L 110.348456 244.218778 -L 112.745235 246.316019 -L 112.942656 246.494118 -L 115.142013 248.438199 -L 116.199489 249.398319 -L 117.538792 250.595586 -L 119.404283 252.302521 -L 119.93557 252.783416 -L 122.332349 254.996535 -L 122.556207 255.206723 -L 124.729128 257.234271 -L 125.655946 258.110924 -L 127.125906 259.498965 -L 128.714667 261.015126 -L 129.522685 261.788403 -L 131.732481 263.919328 -L 131.919463 264.100971 -L 134.316242 266.440237 -L 134.708257 266.823529 -L 136.71302 268.807332 -L 137.644166 269.727731 -L 139.109799 271.200876 -L 140.539248 272.631933 -L 141.506577 273.621506 -L 143.391132 275.536134 -L 143.903356 276.070624 -L 146.196847 278.440336 -L 146.300134 278.550538 -L 148.696913 281.075067 -L 148.956864 281.344538 -L 151.093691 283.645071 -L 151.665247 284.248739 -L 153.49047 286.263334 -L 154.314772 287.152941 -L 155.887248 288.938479 -L 156.898319 290.057143 -L 158.284027 291.682391 -L 159.407236 292.961345 -L 160.680805 294.511618 -L 161.83094 295.865546 -L 163.077584 297.449595 -L 164.156376 298.769748 -L 165.474362 300.530341 -L 166.367281 301.67395 -L 167.871141 303.80483 -L 168.443152 304.578151 -L 170.267919 307.352679 -L 170.357784 307.482353 -L 172.110402 310.386555 -L 172.664698 311.470812 -L 173.650896 313.290756 -L 174.933529 316.194958 -L 175.061477 316.571923 -L 175.976797 319.09916 -L 176.707078 322.003361 -L 177.11249 324.907563 -L 177.191201 327.811765 -L 176.942857 330.715966 -L 176.368578 333.620168 -L 175.47096 336.52437 -L 175.061477 337.501623 -L 174.304812 339.428571 -L 172.870344 342.332773 -L 172.664698 342.67959 -L 171.234099 345.236975 -L 170.267919 346.722739 -L 169.392533 348.141176 -L 167.871141 350.31267 -L 167.381342 351.045378 -L 165.474362 353.604741 -L 165.228015 353.94958 -L 163.077584 356.69031 -L 162.954057 356.853782 -L 160.680805 359.626458 -L 160.576521 359.757983 -L 158.284027 362.450551 -L 158.109093 362.662185 -L 155.887248 365.18794 -L 155.562864 365.566387 -L 153.49047 367.856309 -L 152.946897 368.470588 -L 151.093691 370.468239 -L 150.268648 371.37479 -L 148.696913 373.032799 -L 147.534274 374.278992 -L 146.300134 375.556553 -L 144.748875 377.183193 -L 143.903356 378.044223 -L 141.916671 380.087395 -L 141.506577 380.499131 -L 139.109799 382.922178 -L 139.041406 382.991597 -L 136.71302 385.310313 -L 136.125739 385.895798 -L 134.316242 387.674235 -L 133.168768 388.8 + <path clip-path="url(#p0bba778d2e)" d="M 107.452993 307.584 +L 109.370416 307.584 +L 111.287839 307.584 +L 113.205262 307.584 +L 113.697765 307.584 +L 115.122685 306.252125 +L 116.099808 305.347765 +L 117.040107 304.464994 +L 118.500452 303.111529 +L 118.95753 302.679756 +L 120.874953 300.897168 +L 120.898937 300.875294 +L 122.792376 299.106387 +L 123.303973 298.639059 +L 124.709799 297.316734 +L 125.706957 296.402824 +L 126.627221 295.5295 +L 128.106532 294.166588 +L 128.544644 293.746151 +L 130.462067 291.966664 +L 130.502693 291.930353 +L 132.37949 290.171756 +L 132.911148 289.694118 +L 134.296913 288.379644 +L 135.315391 287.457882 +L 136.214336 286.592049 +L 137.713552 285.221647 +L 138.131758 284.811154 +L 140.049181 283.035589 +L 140.107003 282.985412 +L 141.966604 281.234471 +L 142.520785 280.749176 +L 143.884027 279.438021 +L 144.927344 278.512941 +L 145.80145 277.649058 +L 147.323368 276.276706 +L 147.718872 275.871833 +L 149.636295 274.103109 +L 149.712819 274.040471 +L 151.553718 272.288762 +L 152.138875 271.804235 +L 153.471141 270.47992 +L 154.553048 269.568 +L 155.388564 268.682166 +L 156.946039 267.331765 +L 157.305987 266.908663 +L 159.223409 265.163479 +L 159.329206 265.095529 +L 161.140832 263.276865 +L 161.858005 262.859294 +L 163.058255 261.243277 +L 164.745882 260.623059 +L 163.058255 258.666195 +L 162.992491 258.386824 +L 161.140832 256.859634 +L 160.642219 256.150588 +L 159.223409 255.03053 +L 158.225691 253.914353 +L 157.305987 253.200006 +L 155.788799 251.678118 +L 155.388564 251.369576 +L 153.471141 249.562095 +L 153.363007 249.441882 +L 151.553718 247.802552 +L 150.980446 247.205647 +L 149.636295 246.020039 +L 148.579334 244.969412 +L 147.718872 244.224603 +L 146.166259 242.733176 +L 145.80145 242.42159 +L 143.884027 240.626662 +L 143.756276 240.496941 +L 141.966604 238.854331 +L 141.365079 238.260706 +L 140.049181 237.071055 +L 138.964302 236.024471 +L 138.131758 235.280388 +L 136.556679 233.788235 +L 136.214336 233.484859 +L 134.296913 231.694439 +L 134.151368 231.552 +L 132.37949 229.916174 +L 131.755953 229.315765 +L 130.462067 228.13161 +L 129.354943 227.079529 +L 128.544644 226.342701 +L 126.950015 224.843294 +L 126.627221 224.551051 +L 124.709799 222.762948 +L 124.546917 222.607059 +L 122.792376 220.980907 +L 122.148753 220.370824 +L 120.874953 219.195236 +L 119.7475 218.134588 +L 118.95753 217.407315 +L 117.344439 215.898353 +L 117.040107 215.618388 +L 115.122685 213.831633 +L 114.942557 213.662118 +L 113.205262 212.046668 +L 112.542246 211.425882 +L 111.287839 210.260005 +L 110.14079 209.189647 +L 109.370416 208.47281 +L 107.739336 206.953412 +L 107.452993 206.686222 +L 105.53557 204.900247 +L 105.338104 204.717176 +L 103.618148 203.112638 +L 102.935844 202.480941 +L 101.700725 201.324979 +L 100.534214 200.244706 +L 99.783302 199.538425 +L 98.134394 198.008471 +L 97.865879 197.754199 +L 95.948456 195.968578 +L 95.733377 195.772235 +L 94.031034 194.178188 +L 93.329062 193.536 +L 92.113611 192.389364 +L 90.927254 191.299765 +L 90.196188 190.603448 +L 88.529351 189.063529 +L 88.278765 188.821984 +L 86.361342 187.0363 +L 86.128071 186.827294 +L 84.443919 185.242435 +L 83.721164 184.591059 +L 82.526497 183.451938 +L 81.31908 182.354824 +L 80.609074 181.666663 +L 78.923799 180.118588 +L 78.691651 179.888993 +L 76.774228 178.102673 +L 76.521442 177.882353 +L 74.856805 176.303346 +L 74.110345 175.646118 +L 72.939383 174.509597 +L 71.707512 173.409882 +L 71.02196 172.724637 +L 69.31661 171.173647 +L 69.104537 170.95342 +L 67.187114 169.165197 +L 66.910709 168.937412 +L 65.269691 167.353264 +L 64.489164 166.701176 +L 63.352268 165.548615 +L 62.082185 164.464941 +L 61.434846 163.758658 +L 59.701407 162.228706 +L 59.517423 162.002145 +L 57.6 160.205435 +L 57.6 162.228706 +L 57.6 164.464941 +L 57.6 166.701176 +L 57.6 168.937412 +L 57.6 171.173647 +L 57.6 173.409882 +L 57.6 175.646118 +L 57.6 177.480824 +L 59.13145 177.882353 +L 59.517423 177.975337 +L 61.434846 178.582369 +L 63.352268 179.332762 +L 65.042236 180.118588 +L 65.269691 180.216824 +L 67.187114 181.173699 +L 69.104537 182.256576 +L 69.260772 182.354824 +L 71.02196 183.393105 +L 72.870892 184.591059 +L 72.939383 184.633003 +L 74.856805 185.90966 +L 76.136065 186.827294 +L 76.774228 187.263139 +L 78.691651 188.662916 +L 79.208579 189.063529 +L 80.609074 190.103785 +L 82.135091 191.299765 +L 82.526497 191.595561 +L 84.443919 193.116149 +L 84.950949 193.536 +L 86.361342 194.668547 +L 87.683678 195.772235 +L 88.278765 196.256459 +L 90.196188 197.871335 +L 90.354125 198.008471 +L 92.113611 199.505413 +L 92.959592 200.244706 +L 94.031034 201.166601 +L 95.523426 202.480941 +L 95.948456 202.85123 +L 97.865879 204.555332 +L 98.044965 204.717176 +L 99.783302 206.278389 +L 100.524757 206.953412 +L 101.700725 208.022203 +L 102.971734 209.189647 +L 103.618148 209.78507 +L 105.385985 211.425882 +L 105.53557 211.565747 +L 107.452993 213.366982 +L 107.766606 213.662118 +L 109.370416 215.189646 +L 110.115333 215.898353 +L 111.287839 217.032675 +L 112.431399 218.134588 +L 113.205262 218.89656 +L 114.712906 220.370824 +L 115.122685 220.782381 +L 116.957478 222.607059 +L 117.040107 222.691914 +L 118.95753 224.635801 +L 119.165491 224.843294 +L 120.874953 226.614705 +L 121.332198 227.079529 +L 122.792376 228.630767 +L 123.451818 229.315765 +L 124.709799 230.690629 +L 125.518655 231.552 +L 126.627221 232.803441 +L 127.525789 233.788235 +L 128.544644 234.981946 +L 129.464752 236.024471 +L 130.462067 237.244188 +L 131.325101 238.260706 +L 132.37949 239.616362 +L 133.093825 240.496941 +L 134.296913 242.137719 +L 134.754521 242.733176 +L 136.214336 244.869563 +L 136.286228 244.969412 +L 137.688322 247.205647 +L 138.131758 248.040525 +L 138.920717 249.441882 +L 139.946823 251.678118 +L 140.049181 251.968381 +L 140.781438 253.914353 +L 141.365662 256.150588 +L 141.689992 258.386824 +L 141.752961 260.623059 +L 141.554285 262.859294 +L 141.094863 265.095529 +L 140.376768 267.331765 +L 140.049181 268.08425 +L 139.44385 269.568 +L 138.296275 271.804235 +L 138.131758 272.071284 +L 136.987279 274.040471 +L 136.214336 275.184509 +L 135.514026 276.276706 +L 134.296913 277.948756 +L 133.905073 278.512941 +L 132.37949 280.48365 +L 132.182412 280.749176 +L 130.462067 282.859538 +L 130.363245 282.985412 +L 128.544644 285.120373 +L 128.461217 285.221647 +L 126.627221 287.294924 +L 126.487275 287.457882 +L 124.709799 289.402714 +L 124.450291 289.694118 +L 122.792376 291.457358 +L 122.357518 291.930353 +L 120.874953 293.468544 +L 120.214918 294.166588 +L 118.95753 295.443255 +L 118.027419 296.402824 +L 117.040107 297.386546 +L 115.7991 298.639059 +L 115.122685 299.302052 +L 113.533336 300.875294 +L 113.205262 301.192331 +L 111.287839 303.058077 +L 111.233125 303.111529 +L 109.370416 304.896941 +L 108.900591 305.347765 +L 107.452993 306.717161 +L 106.535015 307.584 z " style="fill:#fcdfcf;"/> - <path clip-path="url(#p553f52e075)" d="M 268.535839 387.650301 -L 269.717363 388.8 -L 270.932617 388.8 -L 273.329396 388.8 -L 275.726174 388.8 -L 278.122953 388.8 -L 278.671052 388.8 -L 278.122953 388.262753 -L 275.726174 385.90753 -L 275.714232 385.895798 -L 273.329396 383.519572 -L 272.797775 382.991597 -L 270.932617 381.103602 -L 269.922487 380.087395 -L 268.535839 378.658464 -L 267.091113 377.183193 -L 266.13906 376.182133 -L 264.307034 374.278992 -L 263.742282 373.671528 -L 261.574365 371.37479 -L 261.345503 371.122239 -L 258.948725 368.525451 -L 258.89698 368.470588 -L 256.551946 365.863979 -L 256.277424 365.566387 -L 254.155168 363.137331 -L 253.727963 362.662185 -L 251.758389 360.330886 -L 251.258397 359.757983 -L 249.361611 357.424155 -L 248.880786 356.853782 -L 246.964832 354.387817 -L 246.610109 353.94958 -L 244.568054 351.178718 -L 244.46519 351.045378 -L 242.455164 348.141176 -L 242.171275 347.675519 -L 240.606946 345.236975 -L 239.774497 343.728472 -L 238.959364 342.332773 -L 237.546473 339.428571 -L 237.377718 338.992252 -L 236.360972 336.52437 -L 235.4784 333.620168 -L 234.98094 331.061562 -L 234.908837 330.715966 -L 234.646812 327.811765 -L 234.729859 324.907563 -L 234.98094 323.202837 -L 235.145574 322.003361 -L 235.863614 319.09916 -L 236.897834 316.194958 -L 237.377718 315.159324 -L 238.190552 313.290756 -L 239.74062 310.386555 -L 239.774497 310.332786 -L 241.471415 307.482353 -L 242.171275 306.458625 -L 243.393013 304.578151 -L 244.568054 302.970038 -L 245.472789 301.67395 -L 246.964832 299.741944 -L 247.685515 298.769748 -L 249.361611 296.698433 -L 250.011383 295.865546 -L 251.758389 293.790919 -L 252.434631 292.961345 -L 254.155168 290.98699 -L 254.942578 290.057143 -L 256.551946 288.264328 -L 257.524922 287.152941 -L 258.948725 285.607187 -L 260.173225 284.248739 -L 261.345503 283.004272 -L 262.880538 281.344538 -L 263.742282 280.4474 -L 265.641116 278.440336 -L 266.13906 277.93064 -L 268.450196 275.536134 -L 268.535839 275.449742 -L 270.932617 273.009838 -L 271.30156 272.631933 -L 273.329396 270.599239 -L 274.195986 269.727731 -L 275.726174 268.21438 -L 277.131967 266.823529 -L 278.122953 265.854765 -L 280.107755 263.919328 -L 280.519732 263.52055 -L 282.91651 261.21307 -L 283.123836 261.015126 -L 285.313289 258.930653 -L 286.184102 258.110924 -L 287.710067 256.67204 -L 289.286554 255.206723 -L 290.106846 254.439507 -L 292.432022 252.302521 -L 292.503624 252.235997 -L 294.900403 250.054962 -L 295.639633 249.398319 -L 297.297181 247.902916 -L 298.902596 246.494118 -L 299.69396 245.78538 -L 302.090738 243.705329 -L 302.228525 243.589916 -L 304.487517 241.649037 -L 305.654209 240.685714 -L 306.884295 239.638353 -L 309.16413 237.781513 -L 309.281074 237.682738 -L 311.677852 235.756111 -L 312.833062 234.877311 -L 314.074631 233.891854 -L 316.471409 232.102783 -L 316.657447 231.973109 -L 318.868188 230.354662 -L 320.764395 229.068908 -L 321.264966 228.709803 -L 323.661745 227.132313 -L 325.282372 226.164706 -L 326.058523 225.670401 -L 328.455302 224.304615 -L 330.538625 223.260504 -L 330.852081 223.091366 -L 333.248859 221.979006 -L 335.645638 221.050773 -L 337.890609 220.356303 -L 338.042416 220.305193 -L 340.439195 219.703894 -L 342.835973 219.309958 -L 345.232752 219.12452 -L 347.62953 219.148114 -L 350.026309 219.380673 -L 352.423087 219.821526 -L 354.401458 220.356303 -L 354.819866 220.460223 -L 357.216644 221.244016 -L 359.613423 222.214055 -L 361.78779 223.260504 -L 362.010201 223.359923 -L 364.40698 224.598591 -L 366.803758 226.00099 -L 367.054955 226.164706 -L 369.200537 227.475669 -L 371.572463 229.068908 -L 371.597315 229.084686 -L 373.994094 230.739501 -L 375.652197 231.973109 -L 376.390872 232.496358 -L 378.787651 234.31146 -L 379.49138 234.877311 -L 381.18443 236.182065 -L 383.151156 237.781513 -L 383.581208 238.118759 -L 385.977987 240.091355 -L 386.669531 240.685714 -L 388.374765 242.106953 -L 390.086406 243.589916 -L 390.771544 244.16862 -L 393.168322 246.264205 -L 393.423357 246.494118 -L 395.565101 248.385953 -L 396.680799 249.398319 -L 397.961879 250.54284 -L 399.886027 252.302521 -L 400.358658 252.730097 -L 402.755436 254.942229 -L 403.037236 255.206723 -L 405.152215 257.179477 -L 406.137252 258.110924 -L 407.548993 259.443598 -L 409.196139 261.015126 -L 409.945772 261.73237 -L 412.214016 263.919328 -L 412.34255 264.044174 -L 414.739329 266.383254 -L 415.189628 266.823529 -L 417.136107 268.74964 -L 418.125559 269.727731 -L 419.532886 271.142358 -L 421.020592 272.631933 -L 421.929664 273.562032 -L 423.872365 275.536134 -L 424.326443 276.010047 -L 426.677916 278.440336 -L 426.723221 278.488688 -L 429.12 281.014099 -L 429.12 278.440336 -L 429.12 275.536134 -L 429.12 272.631933 -L 429.12 271.631167 -L 427.162202 269.727731 -L 426.723221 269.308017 -L 424.326443 266.986917 -L 424.159371 266.823529 -L 421.929664 264.668988 -L 421.159133 263.919328 -L 419.532886 262.348758 -L 418.157378 261.015126 -L 417.136107 260.027743 -L 415.155541 258.110924 -L 414.739329 257.707425 -L 412.34255 255.388161 -L 412.154155 255.206723 -L 409.945772 253.066587 -L 409.151266 252.302521 -L 407.548993 250.744855 -L 406.149078 249.398319 -L 405.152215 248.424463 -L 403.149063 246.494118 -L 402.755436 246.106991 -L 400.358658 243.789037 -L 400.148604 243.589916 -L 397.961879 241.463643 -L 397.142919 240.685714 -L 395.565101 239.140177 -L 394.140267 237.781513 -L 393.168322 236.820368 -L 391.142391 234.877311 -L 390.771544 234.506209 -L 388.374765 232.1892 -L 388.1424 231.973109 -L 385.977987 229.859054 -L 385.133194 229.068908 -L 383.581208 227.533135 -L 382.129879 226.164706 -L 381.18443 225.213822 -L 379.134915 223.260504 -L 378.787651 222.904171 -L 376.390872 220.587835 -L 376.134744 220.356303 -L 373.994094 218.25027 -L 373.119876 217.452101 -L 371.597315 215.919694 -L 370.115093 214.547899 -L 369.200537 213.600188 -L 367.124924 211.643697 -L 366.803758 211.298037 -L 364.40698 208.982167 -L 364.122632 208.739496 -L 362.010201 206.627688 -L 361.093799 205.835294 -L 359.613423 204.282004 -L 358.082439 202.931092 -L 357.216644 201.954188 -L 355.102673 200.026891 -L 354.819866 199.667162 -L 352.423087 197.351697 -L 352.074719 197.122689 -L 350.026309 194.879487 -L 348.882084 194.218487 -L 347.62953 192.023284 -L 345.232752 191.597116 -L 343.356962 194.218487 -L 342.835973 194.458473 -L 340.439195 196.803842 -L 340.225726 197.122689 -L 338.042416 199.080288 -L 337.255706 200.026891 -L 335.645638 201.415446 -L 334.241878 202.931092 -L 333.248859 203.769552 -L 331.207293 205.835294 -L 330.852081 206.131488 -L 328.455302 208.455096 -L 328.197296 208.739496 -L 326.058523 210.752116 -L 325.210769 211.643697 -L 323.661745 213.070488 -L 322.206699 214.547899 -L 321.264966 215.401908 -L 319.190796 217.452101 -L 318.868188 217.74137 -L 316.471409 220.061659 -L 316.187204 220.356303 -L 314.074631 222.368692 -L 313.194178 223.260504 -L 311.677852 224.687046 -L 310.191432 226.164706 -L 309.281074 227.013129 -L 307.181766 229.068908 -L 306.884295 229.344243 -L 304.487517 231.663434 -L 304.179957 231.973109 -L 302.090738 233.975965 -L 301.183285 234.877311 -L 299.69396 236.295126 -L 298.180958 237.781513 -L 297.297181 238.618727 -L 295.174847 240.685714 -L 294.900403 240.944913 -L 292.503624 243.263868 -L 292.173557 243.589916 -L 290.106846 245.58022 -L 289.174333 246.494118 -L 287.710067 247.900215 -L 286.172243 249.398319 -L 285.313289 250.222197 -L 283.168804 252.302521 -L 282.91651 252.544631 -L 280.519732 254.863916 -L 280.167381 255.206723 -L 278.122953 257.183413 -L 277.16606 258.110924 -L 275.726174 259.504233 -L 274.164183 261.015126 -L 273.329396 261.824891 -L 271.163177 263.919328 -L 270.932617 264.143897 -L 268.535839 266.464047 -L 268.161083 266.823529 -L 266.13906 268.786547 -L 265.157773 269.727731 -L 263.742282 271.108267 -L 262.156138 272.631933 -L 261.345503 273.42765 -L 259.157717 275.536134 -L 258.948725 275.743005 -L 256.551946 278.064691 -L 256.15431 278.440336 -L 254.155168 280.390539 -L 253.148791 281.344538 -L 251.758389 282.713421 -L 250.147449 284.248739 -L 249.361611 285.031418 -L 247.152209 287.152941 -L 246.964832 287.342246 -L 244.568054 289.666543 -L 244.146437 290.057143 -L 242.171275 291.996898 -L 241.137921 292.961345 -L 239.774497 294.321697 -L 238.13689 295.865546 -L 237.377718 296.638076 -L 235.14629 298.769748 -L 234.98094 298.942175 -L 232.584161 301.271329 -L 232.135795 301.67395 -L 230.187383 303.609617 -L 229.121812 304.578151 -L 227.790604 305.938983 -L 226.120734 307.482353 -L 225.393826 308.253867 -L 223.138817 310.386555 -L 222.997047 310.544831 -L 220.600268 312.885864 -L 220.114926 313.290756 -L 218.20349 315.247264 -L 217.083002 316.194958 -L 215.806711 317.599564 -L 214.075119 319.09916 -L 213.409933 319.928887 -L 211.120186 322.003361 -L 211.013154 322.178034 -L 208.616376 324.604384 -L 207.838559 324.907563 -L 206.391965 327.811765 -L 208.616376 329.227163 -L 209.517262 330.715966 -L 211.013154 331.785021 -L 212.606034 333.620168 -L 213.409933 334.212711 -L 215.687823 336.52437 -L 215.806711 336.613365 -L 218.20349 338.893345 -L 218.668405 339.428571 -L 220.600268 341.196682 -L 221.660478 342.332773 -L 222.997047 343.525822 -L 224.674193 345.236975 -L 225.393826 345.868575 -L 227.701141 348.141176 -L 227.790604 348.218795 -L 230.187383 350.518766 -L 230.68947 351.045378 -L 232.584161 352.828258 -L 233.685293 353.94958 -L 234.98094 355.150874 -L 236.692527 356.853782 -L 237.377718 357.482093 -L 239.707693 359.757983 -L 239.774497 359.81875 -L 242.171275 362.12614 -L 242.700442 362.662185 -L 244.568054 364.439892 -L 245.698645 365.566387 -L 246.964832 366.761269 -L 248.703488 368.470588 -L 249.361611 369.087757 -L 251.712854 371.37479 -L 251.758389 371.417312 -L 254.155168 373.729392 -L 254.708802 374.278992 -L 256.551946 376.046089 -L 257.708634 377.183193 -L 258.948725 378.367121 -L 260.712049 380.087395 -L 261.345503 380.690706 -L 263.717437 382.991597 -L 263.742282 383.015243 -L 266.13906 385.331254 -L 266.716259 385.895798 + <path clip-path="url(#p0bba778d2e)" d="M 214.828671 306.698732 +L 215.77389 307.584 +L 216.746094 307.584 +L 218.663517 307.584 +L 220.58094 307.584 +L 222.498362 307.584 +L 222.936841 307.584 +L 222.498362 307.17032 +L 220.58094 305.356798 +L 220.571385 305.347765 +L 218.663517 303.51807 +L 218.23822 303.111529 +L 216.746094 301.657774 +L 215.93799 300.875294 +L 214.828671 299.775018 +L 213.672891 298.639059 +L 212.911248 297.868242 +L 211.445627 296.402824 +L 210.993826 295.935077 +L 209.259492 294.166588 +L 209.076403 293.972124 +L 207.15898 291.972598 +L 207.117584 291.930353 +L 205.241557 289.923264 +L 205.021939 289.694118 +L 203.324134 287.823745 +L 202.98237 287.457882 +L 201.406711 285.662783 +L 201.006718 285.221647 +L 199.489289 283.4246 +L 199.104629 282.985412 +L 197.571866 281.086619 +L 197.288087 280.749176 +L 195.654443 278.615613 +L 195.572152 278.512941 +L 193.964131 276.276706 +L 193.73702 275.91815 +L 192.485557 274.040471 +L 191.819597 272.878923 +L 191.167491 271.804235 +L 190.037178 269.568 +L 189.902174 269.232034 +L 189.088778 267.331765 +L 188.38272 265.095529 +L 187.984752 263.125403 +L 187.927069 262.859294 +L 187.71745 260.623059 +L 187.783888 258.386824 +L 187.984752 257.074184 +L 188.116459 256.150588 +L 188.690891 253.914353 +L 189.518267 251.678118 +L 189.902174 250.880679 +L 190.552442 249.441882 +L 191.792496 247.205647 +L 191.819597 247.164246 +L 193.177132 244.969412 +L 193.73702 244.181141 +L 194.71441 242.733176 +L 195.654443 241.49493 +L 196.378231 240.496941 +L 197.571866 239.009297 +L 198.148412 238.260706 +L 199.489289 236.665794 +L 200.009106 236.024471 +L 201.406711 234.427008 +L 201.947705 233.788235 +L 203.324134 232.267982 +L 203.954063 231.552 +L 205.241557 230.171532 +L 206.019937 229.315765 +L 207.15898 228.125534 +L 208.13858 227.079529 +L 209.076403 226.12129 +L 210.304431 224.843294 +L 210.993826 224.152498 +L 212.512893 222.607059 +L 212.911248 222.214593 +L 214.760157 220.370824 +L 214.828671 220.304301 +L 216.746094 218.425576 +L 217.041248 218.134588 +L 218.663517 216.569414 +L 219.356789 215.898353 +L 220.58094 214.733072 +L 221.705573 213.662118 +L 222.498362 212.916169 +L 224.086204 211.425882 +L 224.415785 211.118824 +L 226.333208 209.342064 +L 226.499069 209.189647 +L 228.250631 207.584603 +L 228.947282 206.953412 +L 230.168054 205.845471 +L 231.429243 204.717176 +L 232.085477 204.126421 +L 233.945617 202.480941 +L 234.002899 202.429718 +L 235.920322 200.75032 +L 236.511706 200.244706 +L 237.837745 199.093246 +L 239.122077 198.008471 +L 239.755168 197.462743 +L 241.672591 195.861103 +L 241.78282 195.772235 +L 243.590013 194.277759 +L 244.523367 193.536 +L 245.507436 192.729532 +L 247.331304 191.299765 +L 247.424859 191.223708 +L 249.342282 189.740205 +L 250.26645 189.063529 +L 251.259705 188.304728 +L 253.177128 186.927143 +L 253.325958 186.827294 +L 255.09455 185.58109 +L 256.611516 184.591059 +L 257.011973 184.314549 +L 258.929396 183.099881 +L 260.225898 182.354824 +L 260.846819 181.974209 +L 262.764242 180.922554 +L 264.4309 180.118588 +L 264.681664 179.988352 +L 266.599087 179.131835 +L 268.51651 178.417095 +L 270.312487 177.882353 +L 270.433933 177.842999 +L 272.351356 177.379999 +L 274.268779 177.076668 +L 276.186201 176.93388 +L 278.103624 176.952048 +L 280.021047 177.131118 +L 281.93847 177.470575 +L 283.521166 177.882353 +L 283.855893 177.962372 +L 285.773315 178.565893 +L 287.690738 179.312822 +L 289.430232 180.118588 +L 289.608161 180.19514 +L 291.525584 181.148915 +L 293.443007 182.228762 +L 293.643964 182.354824 +L 295.36043 183.364265 +L 297.257971 184.591059 +L 297.277852 184.603208 +L 299.195275 185.877416 +L 300.521758 186.827294 +L 301.112698 187.230196 +L 303.030121 188.627825 +L 303.593104 189.063529 +L 304.947544 190.06819 +L 306.520925 191.299765 +L 306.864966 191.559445 +L 308.782389 193.078343 +L 309.335625 193.536 +L 310.699812 194.630354 +L 312.069125 195.772235 +L 312.617235 196.217837 +L 314.534658 197.831438 +L 314.738686 198.008471 +L 316.452081 199.465184 +L 317.34464 200.244706 +L 318.369503 201.125987 +L 319.908822 202.480941 +L 320.286926 202.810175 +L 322.204349 204.513516 +L 322.429789 204.717176 +L 324.121772 206.236198 +L 324.909802 206.953412 +L 326.039195 207.97957 +L 327.356911 209.189647 +L 327.956617 209.741925 +L 329.771213 211.425882 +L 329.87404 211.522014 +L 331.791463 213.323106 +L 332.151703 213.662118 +L 333.708886 215.145223 +L 334.500447 215.898353 +L 335.626309 216.987616 +L 336.816474 218.134588 +L 337.543732 218.850765 +L 339.097892 220.370824 +L 339.461154 220.735736 +L 341.342333 222.607059 +L 341.378577 222.64429 +L 343.296 224.588857 +L 343.296 222.607059 +L 343.296 220.370824 +L 343.296 218.134588 +L 343.296 217.363999 +L 341.729762 215.898353 +L 341.378577 215.575173 +L 339.461154 213.787926 +L 339.327497 213.662118 +L 337.543732 212.003121 +L 336.927306 211.425882 +L 335.626309 210.216544 +L 334.525902 209.189647 +L 333.708886 208.429362 +L 332.124433 206.953412 +L 331.791463 206.642717 +L 329.87404 204.856884 +L 329.723324 204.717176 +L 327.956617 203.069272 +L 327.321013 202.480941 +L 326.039195 201.281539 +L 324.919262 200.244706 +L 324.121772 199.494836 +L 322.519251 198.008471 +L 322.204349 197.710383 +L 320.286926 195.925558 +L 320.118883 195.772235 +L 318.369503 194.135005 +L 317.714335 193.536 +L 316.452081 192.345936 +L 315.312214 191.299765 +L 314.534658 190.559684 +L 312.913913 189.063529 +L 312.617235 188.777781 +L 310.699812 186.993684 +L 310.51392 186.827294 +L 308.782389 185.199472 +L 308.106555 184.591059 +L 306.864966 183.408514 +L 305.703903 182.354824 +L 304.947544 181.622643 +L 303.307932 180.118588 +L 303.030121 179.844212 +L 301.112698 178.060633 +L 300.907795 177.882353 +L 299.195275 176.260708 +L 298.495901 175.646118 +L 297.277852 174.466164 +L 296.092074 173.409882 +L 295.36043 172.680145 +L 293.699939 171.173647 +L 293.443007 170.907489 +L 291.525584 169.124269 +L 291.298106 168.937412 +L 289.608161 167.31132 +L 288.875039 166.701176 +L 287.690738 165.505143 +L 286.465951 164.464941 +L 285.773315 163.712725 +L 284.082139 162.228706 +L 283.855893 161.951715 +L 281.93847 160.168806 +L 281.659776 159.992471 +L 280.021047 158.265205 +L 279.105667 157.756235 +L 278.103624 156.065929 +L 276.186201 155.737779 +L 274.68557 157.756235 +L 274.268779 157.941024 +L 272.351356 159.746958 +L 272.18058 159.992471 +L 270.433933 161.499822 +L 269.804565 162.228706 +L 268.51651 163.297893 +L 267.393502 164.464941 +L 266.599087 165.110555 +L 264.965834 166.701176 +L 264.681664 166.929246 +L 262.764242 168.718424 +L 262.557836 168.937412 +L 260.846819 170.487129 +L 260.168615 171.173647 +L 258.929396 172.272275 +L 257.765359 173.409882 +L 257.011973 174.067469 +L 255.352637 175.646118 +L 255.09455 175.868855 +L 253.177128 177.655478 +L 252.949764 177.882353 +L 251.259705 179.431893 +L 250.555342 180.118588 +L 249.342282 181.217026 +L 248.153146 182.354824 +L 247.424859 183.008109 +L 245.745413 184.591059 +L 245.507436 184.803067 +L 243.590013 186.588844 +L 243.343965 186.827294 +L 241.672591 188.369493 +L 240.946628 189.063529 +L 239.755168 190.155247 +L 238.544767 191.299765 +L 237.837745 191.94442 +L 236.139878 193.536 +L 235.920322 193.735583 +L 234.002899 195.521178 +L 233.738845 195.772235 +L 232.085477 197.30477 +L 231.339466 198.008471 +L 230.168054 199.091165 +L 228.937794 200.244706 +L 228.250631 200.879091 +L 226.535044 202.480941 +L 226.333208 202.667366 +L 224.415785 204.453215 +L 224.133904 204.717176 +L 222.498362 206.239228 +L 221.732848 206.953412 +L 220.58094 208.026259 +L 219.331346 209.189647 +L 218.663517 209.813166 +L 216.930541 211.425882 +L 216.746094 211.598801 +L 214.828671 213.385316 +L 214.528866 213.662118 +L 212.911248 215.173641 +L 212.126218 215.898353 +L 210.993826 216.961365 +L 209.724911 218.134588 +L 209.076403 218.74729 +L 207.326174 220.370824 +L 207.15898 220.530114 +L 205.241557 222.317812 +L 204.923448 222.607059 +L 203.324134 224.108715 +L 202.519032 224.843294 +L 201.406711 225.897335 +L 200.117959 227.079529 +L 199.489289 227.682192 +L 197.721767 229.315765 +L 197.571866 229.461529 +L 195.654443 231.251238 +L 195.31715 231.552 +L 193.73702 233.045612 +L 192.910337 233.788235 +L 191.819597 234.835707 +L 190.509512 236.024471 +L 189.902174 236.619318 +L 188.117032 238.260706 +L 187.984752 238.393475 +L 186.067329 240.186923 +L 185.708636 240.496941 +L 184.149906 241.987405 +L 183.29745 242.733176 +L 182.232483 243.781017 +L 180.896587 244.969412 +L 180.31506 245.563477 +L 178.511054 247.205647 +L 178.397638 247.32752 +L 176.480215 249.130115 +L 176.09194 249.441882 +L 174.562792 250.948393 +L 173.666401 251.678118 +L 172.645369 252.759664 +L 171.260095 253.914353 +L 170.727946 254.553243 +L 168.896149 256.150588 +L 168.810523 256.285086 +L 166.893101 258.153376 +L 166.270847 258.386824 +L 165.113572 260.623059 +L 166.893101 261.712916 +L 167.613809 262.859294 +L 168.810523 263.682466 +L 170.084827 265.095529 +L 170.727946 265.551788 +L 172.550259 267.331765 +L 172.645369 267.400291 +L 174.562792 269.155875 +L 174.934724 269.568 +L 176.480215 270.929445 +L 177.328382 271.804235 +L 178.397638 272.722883 +L 179.739355 274.040471 +L 180.31506 274.526803 +L 182.160913 276.276706 +L 182.232483 276.336472 +L 184.149906 278.10745 +L 184.551576 278.512941 +L 186.067329 279.885759 +L 186.948235 280.749176 +L 187.984752 281.674173 +L 189.354022 282.985412 +L 189.902174 283.469211 +L 191.766155 285.221647 +L 191.819597 285.268438 +L 193.73702 287.045128 +L 194.160353 287.457882 +L 195.654443 288.826717 +L 196.558916 289.694118 +L 197.571866 290.614177 +L 198.96279 291.930353 +L 199.489289 292.405573 +L 201.370283 294.166588 +L 201.406711 294.19933 +L 203.324134 295.979632 +L 203.767041 296.402824 +L 205.241557 297.763489 +L 206.166907 298.639059 +L 207.15898 299.550683 +L 208.569639 300.875294 +L 209.076403 301.339844 +L 210.973949 303.111529 +L 210.993826 303.129737 +L 212.911248 304.913065 +L 213.373008 305.347765 z " style="fill:#fcdfcf;"/> - <path clip-path="url(#p553f52e075)" d="M 414.739329 388.8 -L 417.136107 388.8 -L 419.532886 388.8 -L 421.929664 388.8 -L 422.603696 388.8 -L 424.326443 387.126669 -L 425.606123 385.895798 -L 426.723221 384.805886 -L 428.606714 382.991597 -L 429.12 382.48766 -L 429.12 380.087395 -L 429.12 377.183193 -L 429.12 374.278992 -L 429.12 373.094841 -L 428.015629 374.278992 -L 426.723221 375.617339 -L 425.230343 377.183193 -L 424.326443 378.103928 -L 422.398203 380.087395 -L 421.929664 380.557905 -L 419.532886 382.981271 -L 419.522714 382.991597 -L 417.136107 385.368436 -L 416.607123 385.895798 -L 414.739329 387.731514 -L 413.650153 388.8 + <path clip-path="url(#p0bba778d2e)" d="M 331.791463 307.584 +L 333.708886 307.584 +L 335.626309 307.584 +L 337.543732 307.584 +L 338.082957 307.584 +L 339.461154 306.295535 +L 340.484899 305.347765 +L 341.378577 304.508532 +L 342.885371 303.111529 +L 343.296 302.723498 +L 343.296 300.875294 +L 343.296 298.639059 +L 343.296 296.402824 +L 343.296 295.491028 +L 342.412503 296.402824 +L 341.378577 297.433351 +L 340.184274 298.639059 +L 339.461154 299.348024 +L 337.918562 300.875294 +L 337.543732 301.237587 +L 335.626309 303.103579 +L 335.618171 303.111529 +L 333.708886 304.941696 +L 333.285698 305.347765 +L 331.791463 306.761266 +L 330.920122 307.584 z " style="fill:#fcdfcf;"/> - <path clip-path="url(#p553f52e075)" d="M 345.232752 191.041895 -L 347.62953 190.631457 -L 348.945593 188.410084 -L 350.026309 187.793525 -L 352.141572 185.505882 -L 352.423087 185.322196 -L 354.819866 183.023923 -L 355.154303 182.601681 -L 357.216644 180.731345 -L 358.137768 179.697479 -L 359.613423 178.400653 -L 361.151565 176.793277 -L 362.010201 176.053251 -L 364.18209 173.889076 -L 364.40698 173.697666 -L 366.803758 171.388057 -L 367.179386 170.984874 -L 369.200537 169.084081 -L 370.171063 168.080672 -L 371.597315 166.763271 -L 373.177024 165.176471 -L 373.994094 164.431747 -L 376.19281 162.272269 -L 376.390872 162.093492 -L 378.787651 159.78059 -L 379.190271 159.368067 -L 381.18443 157.469969 -L 382.18608 156.463866 -L 383.581208 155.149916 -L 385.19007 153.559664 -L 385.977987 152.823442 -L 388.199803 150.655462 -L 388.374765 150.492893 -L 390.771544 148.177871 -L 391.198227 147.751261 -L 393.168322 145.863151 -L 394.196592 144.847059 -L 395.565101 143.542924 -L 397.199615 141.942857 -L 397.961879 141.219165 -L 400.205562 139.038655 -L 400.358658 138.893591 -L 402.755436 136.576631 -L 403.205231 136.134454 -L 405.152215 134.258866 -L 406.205483 133.230252 -L 407.548993 131.938289 -L 409.207811 130.32605 -L 409.945772 129.616475 -L 412.210745 127.421849 -L 412.34255 127.29492 -L 414.739329 124.975827 -L 415.211979 124.517647 -L 417.136107 122.655429 -L 418.21384 121.613445 -L 419.532886 120.334433 -L 421.215526 118.709244 -L 421.929664 118.014322 -L 424.215602 115.805042 -L 424.326443 115.696616 -L 426.723221 113.374888 -L 427.218896 112.90084 -L 429.12 111.051857 -L 429.12 109.996639 -L 429.12 107.092437 -L 429.12 104.188235 -L 429.12 101.668357 -L 426.730045 104.188235 -L 426.723221 104.195202 -L 424.326443 106.673686 -L 423.92544 107.092437 -L 421.929664 109.121395 -L 421.074596 109.996639 -L 419.532886 111.540842 -L 418.180394 112.90084 -L 417.136107 113.933416 -L 415.2452 115.805042 -L 414.739329 116.299743 -L 412.34255 118.639251 -L 412.270502 118.709244 -L 409.945772 120.95088 -L 409.253354 121.613445 -L 407.548993 123.239581 -L 406.195115 124.517647 -L 405.152215 125.503736 -L 403.095665 127.421849 -L 402.755436 127.741133 -L 400.358658 129.952912 -L 399.946135 130.32605 -L 397.961879 132.140254 -L 396.741527 133.230252 -L 395.565101 134.297362 -L 393.484633 136.134454 -L 393.168322 136.419484 -L 390.771544 138.51417 -L 390.15033 139.038655 -L 388.374765 140.576193 -L 386.734148 141.942857 -L 385.977987 142.592344 -L 383.581208 144.563699 -L 383.219645 144.847059 -L 381.18443 146.500983 -L 379.560869 147.751261 -L 378.787651 148.372453 -L 376.390872 150.185999 -L 375.727558 150.655462 -L 373.994094 151.943864 -L 371.651511 153.559664 -L 371.597315 153.599208 -L 369.200537 155.207317 -L 367.141682 156.463866 -L 366.803758 156.68382 -L 364.40698 158.084403 -L 362.010201 159.321467 -L 361.905816 159.368067 -L 359.613423 160.469683 -L 357.216644 161.438283 -L 354.819866 162.220915 -L 354.612796 162.272269 -L 352.423087 162.863165 -L 350.026309 163.303268 -L 347.62953 163.535431 -L 345.232752 163.558985 -L 342.835973 163.373863 -L 340.439195 162.980597 -L 338.042416 162.380321 -L 337.720927 162.272269 -L 335.645638 161.63124 -L 333.248859 160.704383 -L 330.852081 159.593672 -L 330.433357 159.368067 -L 328.455302 158.377998 -L 326.058523 157.013981 -L 325.193619 156.463866 -L 323.661745 155.550284 -L 321.264966 153.97458 -L 320.685941 153.559664 -L 318.868188 152.328324 -L 316.580861 150.655462 -L 316.471409 150.579237 -L 314.074631 148.791699 -L 312.762666 147.751261 -L 311.677852 146.926623 -L 309.281074 145.001418 -L 309.098186 144.847059 -L 306.884295 143.045061 -L 305.588984 141.942857 -L 304.487517 141.033868 -L 302.164064 139.038655 -L 302.090738 138.977263 -L 299.69396 136.898104 -L 298.840916 136.134454 -L 297.297181 134.780237 -L 295.578556 133.230252 -L 294.900403 132.628012 -L 292.503624 130.447515 -L 292.372855 130.32605 -L 290.106846 128.243774 -L 289.227919 127.421849 -L 287.710067 126.011136 -L 286.126076 124.517647 -L 285.313289 123.752531 -L 283.066498 121.613445 -L 282.91651 121.47023 -L 280.519732 119.162527 -L 280.05149 118.709244 -L 278.122953 116.828329 -L 277.076385 115.805042 -L 275.726174 114.468821 -L 274.141178 112.90084 -L 273.329396 112.084157 -L 271.247617 109.996639 -L 270.932617 109.673839 -L 268.535839 107.232826 -L 268.396732 107.092437 -L 266.13906 104.752031 -L 265.588569 104.188235 -L 263.742282 102.235429 -L 262.829022 101.284034 -L 261.345503 99.678765 -L 260.122859 98.379832 -L 258.948725 97.076097 -L 257.475839 95.47563 -L 256.551946 94.419227 -L 254.894921 92.571429 -L 254.155168 91.696833 -L 252.388559 89.667227 -L 251.758389 88.893132 -L 249.967074 86.763025 -L 249.361611 85.985739 -L 247.64317 83.858824 -L 246.964832 82.942131 -L 245.432638 80.954622 -L 244.568054 79.713514 -L 243.355323 78.05042 -L 242.171275 76.223591 -L 241.436502 75.146218 -L 239.774497 72.346491 -L 239.708859 72.242017 -L 238.164124 69.337815 -L 237.377718 67.522166 -L 236.87549 66.433613 -L 235.847178 63.529412 -L 235.135121 60.62521 -L 234.98094 59.48464 -L 234.725113 57.721008 -L 234.648557 54.816807 -L 234.917066 51.912605 -L 234.98094 51.609678 -L 235.492077 49.008403 -L 236.380596 46.104202 -L 237.377718 43.69574 -L 237.570393 43.2 -L 237.377718 43.2 -L 234.98094 43.2 -L 232.584161 43.2 -L 230.187383 43.2 -L 227.790604 43.2 -L 225.393826 43.2 -L 222.997047 43.2 -L 220.600268 43.2 -L 218.722128 43.2 -L 218.20349 43.794166 -L 215.806711 46.063039 -L 215.751453 46.104202 -L 213.409933 48.464531 -L 212.667094 49.008403 -L 211.013154 50.893836 -L 209.572456 51.912605 -L 208.616376 53.454468 -L 206.422371 54.816807 -L 207.755882 57.721008 -L 208.616376 58.061565 -L 211.013154 60.525183 -L 211.073519 60.62521 -L 213.409933 62.759748 -L 214.021825 63.529412 -L 215.806711 65.084043 -L 217.025989 66.433613 -L 218.20349 67.433845 -L 220.055571 69.337815 -L 220.600268 69.793792 -L 222.997047 72.142907 -L 223.085516 72.242017 -L 225.393826 74.431323 -L 226.065479 75.146218 -L 227.790604 76.744478 -L 229.065064 78.05042 -L 230.187383 79.072625 -L 232.077898 80.954622 -L 232.584161 81.410038 -L 234.98094 83.743316 -L 235.091511 83.858824 -L 237.377718 86.04619 -L 238.081076 86.763025 -L 239.774497 88.36164 -L 241.081274 89.667227 -L 242.171275 90.685737 -L 244.089132 92.571429 -L 244.568054 93.015573 -L 246.964832 95.342254 -L 247.096714 95.47563 -L 249.361611 97.65238 -L 250.091348 98.379832 -L 251.758389 99.96984 -L 253.092213 101.284034 -L 254.155168 102.292328 -L 256.097374 104.188235 -L 256.551946 104.617906 -L 258.948725 106.940876 -L 259.101756 107.092437 -L 261.345503 109.255838 -L 262.09985 109.996639 -L 263.742282 111.574946 -L 265.101258 112.90084 -L 266.13906 113.896499 -L 268.104439 115.805042 -L 268.535839 116.218936 -L 270.932617 118.539509 -L 271.106848 118.709244 -L 273.329396 120.858351 -L 274.107748 121.613445 -L 275.726174 123.178945 -L 277.109612 124.517647 -L 278.122953 125.499801 -L 280.111013 127.421849 -L 280.519732 127.819434 -L 282.91651 130.138349 -L 283.112139 130.32605 -L 285.313289 132.460819 -L 286.115679 133.230252 -L 287.710067 134.782937 -L 289.117968 136.134454 -L 290.106846 137.103176 -L 292.11749 139.038655 -L 292.503624 139.419887 -L 294.900403 141.737622 -L 295.117824 141.942857 -L 297.297181 144.064046 -L 298.124262 144.847059 -L 299.69396 146.388006 -L 301.127032 147.751261 -L 302.090738 148.707661 -L 304.124272 150.655462 -L 304.487517 151.020844 -L 306.884295 153.337744 -L 307.124292 153.559664 -L 309.281074 155.669334 -L 310.134573 156.463866 -L 311.677852 157.996062 -L 313.1381 159.368067 -L 314.074631 160.315274 -L 316.132101 162.272269 -L 316.471409 162.623441 -L 318.868188 164.939782 -L 319.132606 165.176471 -L 321.264966 167.28004 -L 322.149578 168.080672 -L 323.661745 169.612569 -L 325.155034 170.984874 -L 326.058523 171.932503 -L 328.143372 173.889076 -L 328.455302 174.231796 -L 330.852081 176.547835 -L 331.147391 176.793277 -L 333.248859 178.911033 -L 334.184057 179.697479 -L 335.645638 181.267253 -L 337.201127 182.601681 -L 338.042416 183.60644 -L 340.176711 185.505882 -L 340.439195 185.89307 -L 342.835973 188.209311 -L 343.277316 188.410084 + <path clip-path="url(#p0bba778d2e)" d="M 276.186201 155.310259 +L 278.103624 154.994222 +L 279.156474 153.283765 +L 280.021047 152.809014 +L 281.713258 151.047529 +L 281.93847 150.906091 +L 283.855893 149.136421 +L 284.123442 148.811294 +L 285.773315 147.371136 +L 286.510214 146.575059 +L 287.690738 145.576503 +L 288.921252 144.338824 +L 289.608161 143.769003 +L 291.345672 142.102588 +L 291.525584 141.955203 +L 293.443007 140.176804 +L 293.743509 139.866353 +L 295.36043 138.402742 +L 296.136851 137.630118 +L 297.277852 136.615719 +L 298.541619 135.393882 +L 299.195275 134.820445 +L 300.954248 133.157647 +L 301.112698 133.019989 +L 303.030121 131.239054 +L 303.352216 130.921412 +L 304.947544 129.459876 +L 305.748864 128.685176 +L 306.864966 127.673436 +L 308.152056 126.448941 +L 308.782389 125.88205 +L 310.559842 124.212706 +L 310.699812 124.087528 +L 312.617235 122.304961 +L 312.958582 121.976471 +L 314.534658 120.522626 +L 315.357274 119.740235 +L 316.452081 118.736052 +L 317.759692 117.504 +L 318.369503 116.946757 +L 320.16445 115.267765 +L 320.286926 115.156065 +L 322.204349 113.372006 +L 322.564185 113.031529 +L 324.121772 111.587326 +L 324.964386 110.795294 +L 326.039195 109.800482 +L 327.366249 108.559059 +L 327.956617 108.012686 +L 329.768596 106.322824 +L 329.87404 106.225089 +L 331.791463 104.439387 +L 332.169583 104.086588 +L 333.708886 102.65268 +L 334.571072 101.850353 +L 335.626309 100.865513 +L 336.972421 99.614118 +L 337.543732 99.079028 +L 339.372481 97.377882 +L 339.461154 97.294394 +L 341.378577 95.506664 +L 341.775117 95.141647 +L 343.296 93.71793 +L 343.296 92.905412 +L 343.296 90.669176 +L 343.296 88.432941 +L 343.296 86.492635 +L 341.384036 88.432941 +L 341.378577 88.438306 +L 339.461154 90.346738 +L 339.140352 90.669176 +L 337.543732 92.231474 +L 336.859677 92.905412 +L 335.626309 94.094448 +L 334.544315 95.141647 +L 333.708886 95.93673 +L 332.19616 97.377882 +L 331.791463 97.758802 +L 329.87404 99.560223 +L 329.816402 99.614118 +L 327.956617 101.340178 +L 327.402683 101.850353 +L 326.039195 103.102477 +L 324.956092 104.086588 +L 324.121772 104.845876 +L 322.476532 106.322824 +L 322.204349 106.568672 +L 320.286926 108.271742 +L 319.956908 108.559059 +L 318.369503 109.955996 +L 317.393221 110.795294 +L 316.452081 111.616969 +L 314.787707 113.031529 +L 314.534658 113.251003 +L 312.617235 114.863911 +L 312.120264 115.267765 +L 310.699812 116.451669 +L 309.387319 117.504 +L 308.782389 118.004105 +L 306.864966 119.522048 +L 306.575716 119.740235 +L 304.947544 121.013757 +L 303.648695 121.976471 +L 303.030121 122.454789 +L 301.112698 123.851219 +L 300.582046 124.212706 +L 299.195275 125.204775 +L 297.321209 126.448941 +L 297.277852 126.47939 +L 295.36043 127.717634 +L 293.713345 128.685176 +L 293.443007 128.854541 +L 291.525584 129.93299 +L 289.608161 130.88553 +L 289.524653 130.921412 +L 287.690738 131.769656 +L 285.773315 132.515478 +L 283.855893 133.118105 +L 283.690237 133.157647 +L 281.93847 133.612637 +L 280.021047 133.951516 +L 278.103624 134.130282 +L 276.186201 134.148419 +L 274.268779 134.005874 +L 272.351356 133.70306 +L 270.433933 133.240847 +L 270.176742 133.157647 +L 268.51651 132.664055 +L 266.599087 131.950375 +L 264.681664 131.095127 +L 264.346686 130.921412 +L 262.764242 130.159058 +L 260.846819 129.108765 +L 260.154896 128.685176 +L 258.929396 127.981719 +L 257.011973 126.768426 +L 256.548753 126.448941 +L 255.09455 125.500809 +L 253.264688 124.212706 +L 253.177128 124.154013 +L 251.259705 122.777608 +L 250.210133 121.976471 +L 249.342282 121.341499 +L 247.424859 119.859092 +L 247.278549 119.740235 +L 245.507436 118.352697 +L 244.471187 117.504 +L 243.590013 116.804079 +L 241.731251 115.267765 +L 241.672591 115.220493 +L 239.755168 113.61954 +L 239.072732 113.031529 +L 237.837745 111.988782 +L 236.462844 110.795294 +L 235.920322 110.33157 +L 234.002899 108.652586 +L 233.898284 108.559059 +L 232.085477 106.955706 +L 231.382335 106.322824 +L 230.168054 105.236575 +L 228.900861 104.086588 +L 228.250631 103.497449 +L 226.453199 101.850353 +L 226.333208 101.740077 +L 224.415785 99.963146 +L 224.041192 99.614118 +L 222.498362 98.165813 +L 221.661108 97.377882 +L 220.58094 96.348992 +L 219.312942 95.141647 +L 218.663517 94.512801 +L 216.998094 92.905412 +L 216.746094 92.656856 +L 214.828671 90.777276 +L 214.717385 90.669176 +L 212.911248 88.867064 +L 212.470855 88.432941 +L 210.993826 86.929281 +L 210.263217 86.196706 +L 209.076403 84.960649 +L 208.098287 83.960471 +L 207.15898 82.956595 +L 205.980671 81.724235 +L 205.241557 80.910804 +L 203.915937 79.488 +L 203.324134 78.814561 +L 201.910847 77.251765 +L 201.406711 76.655711 +L 199.973659 75.015529 +L 199.489289 74.417019 +L 198.114536 72.779294 +L 197.571866 72.073441 +L 196.34611 70.543059 +L 195.654443 69.587406 +L 194.684259 68.306824 +L 193.73702 66.900165 +L 193.149202 66.070588 +L 191.819597 63.914798 +L 191.767087 63.834353 +L 190.531299 61.598118 +L 189.902174 60.200068 +L 189.500392 59.361882 +L 188.677742 57.125647 +L 188.108096 54.889412 +L 187.984752 54.011173 +L 187.78009 52.653176 +L 187.718846 50.416941 +L 187.933653 48.180706 +L 187.984752 47.947452 +L 188.393661 45.944471 +L 189.104476 43.708235 +L 189.902174 41.85372 +L 190.056315 41.472 +L 189.902174 41.472 +L 187.984752 41.472 +L 186.067329 41.472 +L 184.149906 41.472 +L 182.232483 41.472 +L 180.31506 41.472 +L 178.397638 41.472 +L 176.480215 41.472 +L 174.977702 41.472 +L 174.562792 41.929508 +L 172.645369 43.67654 +L 172.601162 43.708235 +L 170.727946 45.525689 +L 170.133675 45.944471 +L 168.810523 47.396253 +L 167.657965 48.180706 +L 166.893101 49.36794 +L 165.137897 50.416941 +L 166.204705 52.653176 +L 166.893101 52.915405 +L 168.810523 54.812391 +L 168.858816 54.889412 +L 170.727946 56.533006 +L 171.21746 57.125647 +L 172.645369 58.322713 +L 173.620791 59.361882 +L 174.562792 60.132061 +L 176.044457 61.598118 +L 176.480215 61.94922 +L 178.397638 63.758038 +L 178.468413 63.834353 +L 180.31506 65.520119 +L 180.852383 66.070588 +L 182.232483 67.301248 +L 183.252051 68.306824 +L 184.149906 69.093921 +L 185.662318 70.543059 +L 186.067329 70.893729 +L 187.984752 72.690353 +L 188.073209 72.779294 +L 189.902174 74.463566 +L 190.464861 75.015529 +L 191.819597 76.246463 +L 192.86502 77.251765 +L 193.73702 78.036018 +L 195.271306 79.488 +L 195.654443 79.829991 +L 197.571866 81.621536 +L 197.677371 81.724235 +L 199.489289 83.400333 +L 200.073078 83.960471 +L 201.406711 85.184777 +L 202.473771 86.196706 +L 203.324134 86.973093 +L 204.877899 88.432941 +L 205.241557 88.763787 +L 207.15898 90.552474 +L 207.281405 90.669176 +L 209.076403 92.334995 +L 209.67988 92.905412 +L 210.993826 94.120708 +L 212.081006 95.141647 +L 212.911248 95.908304 +L 214.483551 97.377882 +L 214.828671 97.69658 +L 216.746094 99.483422 +L 216.885478 99.614118 +L 218.663517 101.26893 +L 219.286199 101.850353 +L 220.58094 103.055788 +L 221.68769 104.086588 +L 222.498362 104.842846 +L 224.08881 106.322824 +L 224.415785 106.628964 +L 226.333208 108.414529 +L 226.489711 108.559059 +L 228.250631 110.20283 +L 228.892543 110.795294 +L 230.168054 111.990862 +L 231.294374 113.031529 +L 232.085477 113.777445 +L 233.693992 115.267765 +L 234.002899 115.561313 +L 235.920322 117.345969 +L 236.094259 117.504 +L 237.837745 119.137316 +L 238.49941 119.740235 +L 239.755168 120.926764 +L 240.901626 121.976471 +L 241.672591 122.712899 +L 243.299418 124.212706 +L 243.590013 124.49405 +L 245.507436 126.278063 +L 245.699434 126.448941 +L 247.424859 128.073387 +L 248.107658 128.685176 +L 249.342282 129.864968 +L 250.51048 130.921412 +L 251.259705 131.650761 +L 252.905681 133.157647 +L 253.177128 133.428049 +L 255.09455 135.211632 +L 255.306085 135.393882 +L 257.011973 137.013631 +L 257.719662 137.630118 +L 258.929396 138.809678 +L 260.124027 139.866353 +L 260.846819 140.596027 +L 262.514698 142.102588 +L 262.764242 142.366483 +L 264.681664 144.149833 +L 264.917913 144.338824 +L 266.599087 145.969496 +L 267.347246 146.575059 +L 268.51651 147.783785 +L 269.760901 148.811294 +L 270.433933 149.584958 +L 272.141369 151.047529 +L 272.351356 151.345664 +L 274.268779 153.12917 +L 274.621853 153.283765 z " style="fill:#fcdfcf;"/> - <path clip-path="url(#p553f52e075)" d="M 74.396779 182.958916 -L 74.67809 182.601681 -L 76.793557 180.672005 -L 77.657804 179.697479 -L 79.190336 178.344424 -L 80.669001 176.793277 -L 81.587114 175.998955 -L 83.697651 173.889076 -L 83.983893 173.644656 -L 86.380671 171.328567 -L 86.700092 170.984874 -L 88.77745 169.02643 -L 89.69024 168.080672 -L 91.174228 166.706976 -L 92.69497 165.176471 -L 93.571007 164.376467 -L 95.709769 162.272269 -L 95.967785 162.038975 -L 98.364564 159.722518 -L 98.710029 159.368067 -L 100.761342 157.412874 -L 101.704981 156.463866 -L 103.158121 155.093585 -L 104.708268 153.559664 -L 105.554899 152.7677 -L 107.717435 150.655462 -L 107.951678 150.437595 -L 110.348456 148.120514 -L 110.717482 147.751261 -L 112.745235 145.806356 -L 113.715353 144.847059 -L 115.142013 143.48656 -L 116.717989 141.942857 -L 117.538792 141.163113 -L 119.72365 139.038655 -L 119.93557 138.837746 -L 122.332349 136.519752 -L 122.72414 136.134454 -L 124.729128 134.202276 -L 125.724156 133.230252 -L 127.125906 131.881887 -L 128.726337 130.32605 -L 129.522685 129.560165 -L 131.729212 127.421849 -L 131.919463 127.238609 -L 134.316242 124.919331 -L 134.730608 124.517647 -L 136.71302 122.599002 -L 137.732452 121.613445 -L 139.109799 120.277984 -L 140.734208 118.709244 -L 141.506577 117.957757 -L 143.734438 115.805042 -L 143.903356 115.639838 -L 146.300134 113.31875 -L 146.737262 112.90084 -L 148.696913 110.995581 -L 149.740906 109.996639 -L 151.093691 108.673826 -L 152.742189 107.092437 -L 153.49047 106.355107 -L 155.739503 104.188235 -L 155.887248 104.041228 -L 158.284027 101.717488 -L 158.744536 101.284034 -L 160.680805 99.390997 -L 161.750273 98.379832 -L 163.077584 97.0682 -L 164.750983 95.47563 -L 165.474362 94.7512 -L 167.744559 92.571429 -L 167.871141 92.44257 -L 170.267919 90.114616 -L 170.753271 89.667227 -L 172.664698 87.783355 -L 173.762045 86.763025 -L 175.061477 85.458615 -L 176.762062 83.858824 -L 177.458255 83.143741 -L 179.749866 80.954622 -L 179.855034 80.843444 -L 182.251812 78.507593 -L 182.76595 78.05042 -L 184.648591 76.167012 -L 185.780954 75.146218 -L 187.045369 73.8367 -L 188.780565 72.242017 -L 189.442148 71.523851 -L 191.756359 69.337815 -L 191.838926 69.242036 -L 194.235705 66.884484 -L 194.796204 66.433613 -L 196.632483 64.508885 -L 197.839307 63.529412 -L 199.029262 62.134688 -L 200.854321 60.62521 -L 201.42604 59.767556 -L 203.778221 57.721008 -L 203.822819 57.507481 -L 205.881682 54.816807 -L 203.822819 54.04966 -L 202.257299 51.912605 -L 201.42604 51.415045 -L 199.094061 49.008403 -L 199.029262 48.965453 -L 196.632483 46.714148 -L 196.129675 46.104202 -L 194.235705 44.406376 -L 193.135163 43.2 -L 191.838926 43.2 -L 189.442148 43.2 -L 187.045369 43.2 -L 184.648591 43.2 -L 182.251812 43.2 -L 179.855034 43.2 -L 177.458255 43.2 -L 175.061477 43.2 -L 174.280526 43.2 -L 175.061477 45.179107 -L 175.451002 46.104202 -L 176.354668 49.008403 -L 176.935057 51.912605 -L 177.189547 54.816807 -L 177.116988 57.721008 -L 176.717709 60.62521 -L 175.993513 63.529412 -L 175.061477 66.117588 -L 174.954826 66.433613 -L 173.677728 69.337815 -L 172.664698 71.213729 -L 172.140824 72.242017 -L 170.393176 75.146218 -L 170.267919 75.327395 -L 168.481305 78.05042 -L 167.871141 78.877012 -L 166.407875 80.954622 -L 165.474362 82.152338 -L 164.199139 83.858824 -L 163.077584 85.23342 -L 161.875639 86.763025 -L 160.680805 88.171464 -L 159.453667 89.667227 -L 158.284027 91.000614 -L 156.946302 92.571429 -L 155.887248 93.744384 -L 154.364147 95.47563 -L 153.49047 96.419366 -L 151.71587 98.379832 -L 151.093691 99.037474 -L 149.008602 101.284034 -L 148.696913 101.60735 -L 146.300134 104.13354 -L 146.248904 104.188235 -L 143.903356 106.613075 -L 143.444218 107.092437 -L 141.506577 109.061894 -L 140.593259 109.996639 -L 139.109799 111.482303 -L 137.699004 112.90084 -L 136.71302 113.875708 -L 134.763829 115.805042 -L 134.316242 116.24275 -L 131.919463 118.582443 -L 131.78896 118.709244 -L 129.522685 120.894842 -L 128.77187 121.613445 -L 127.125906 123.184212 -L 125.713791 124.517647 -L 124.729128 125.448946 -L 122.614615 127.421849 -L 122.332349 127.686835 -L 119.93557 129.899602 -L 119.464359 130.32605 -L 117.538792 132.087521 -L 116.26018 133.230252 -L 115.142013 134.245134 -L 113.00389 136.134454 -L 112.745235 136.367693 -L 110.348456 138.464034 -L 109.668465 139.038655 -L 107.951678 140.526617 -L 106.253239 141.942857 -L 105.554899 142.543277 -L 103.158121 144.516824 -L 102.737268 144.847059 -L 100.761342 146.45479 -L 99.080117 147.751261 -L 98.364564 148.326919 -L 95.967785 150.143252 -L 95.245313 150.655462 -L 93.571007 151.902031 -L 91.174228 153.558389 -L 91.172223 153.559664 -L 88.77745 155.169905 -L 86.66248 156.463866 -L 86.380671 156.647745 -L 83.983893 158.052257 -L 81.587114 159.293343 -L 81.42037 159.368067 -L 79.190336 160.443826 -L 76.793557 161.416918 -L 74.396779 162.204102 -L 74.124027 162.272269 -L 72 162.849878 -L 72 165.176471 -L 72 168.080672 -L 72 170.984874 -L 72 173.889076 -L 72 176.793277 -L 72 179.697479 -L 72 182.601681 -L 72 185.27498 + <path clip-path="url(#p0bba778d2e)" d="M 59.517423 149.086365 +L 59.742472 148.811294 +L 61.434846 147.325444 +L 62.126243 146.575059 +L 63.352268 145.533207 +L 64.535201 144.338824 +L 65.269691 143.727195 +L 66.958121 142.102588 +L 67.187114 141.914385 +L 69.104537 140.130997 +L 69.360073 139.866353 +L 71.02196 138.358351 +L 71.752192 137.630118 +L 72.939383 136.572372 +L 74.155976 135.393882 +L 74.856805 134.77788 +L 76.567815 133.157647 +L 76.774228 132.978011 +L 78.691651 131.194339 +L 78.968023 130.921412 +L 80.609074 129.415913 +L 81.363985 128.685176 +L 82.526497 127.63006 +L 83.766614 126.448941 +L 84.443919 125.839129 +L 86.173948 124.212706 +L 86.361342 124.044949 +L 88.278765 122.260796 +L 88.573985 121.976471 +L 90.196188 120.478894 +L 90.972282 119.740235 +L 92.113611 118.692651 +L 93.374391 117.504 +L 94.031034 116.903597 +L 95.77892 115.267765 +L 95.948456 115.113064 +L 97.865879 113.328209 +L 98.179312 113.031529 +L 99.783302 111.543752 +L 100.579325 110.795294 +L 101.700725 109.757053 +L 102.98107 108.559059 +L 103.618148 107.969327 +L 105.383369 106.322824 +L 105.53557 106.181729 +L 107.452993 104.395885 +L 107.784486 104.086588 +L 109.370416 102.609232 +L 110.185962 101.850353 +L 111.287839 100.822048 +L 112.587366 99.614118 +L 113.205262 99.035473 +L 114.98755 97.377882 +L 115.122685 97.250675 +L 117.040107 95.463437 +L 117.38981 95.141647 +L 118.95753 93.674597 +L 119.792725 92.905412 +L 120.874953 91.886846 +L 122.193751 90.669176 +L 122.792376 90.101432 +L 124.591603 88.432941 +L 124.709799 88.319745 +L 126.627221 86.530466 +L 126.995629 86.196706 +L 128.544644 84.739068 +L 129.400218 83.960471 +L 130.462067 82.950514 +L 131.800786 81.724235 +L 132.37949 81.166424 +L 134.195647 79.488 +L 134.296913 79.388779 +L 136.214336 77.596254 +L 136.602617 77.251765 +L 138.131758 75.801183 +L 139.009636 75.015529 +L 140.049181 74.011133 +L 141.40965 72.779294 +L 141.966604 72.228681 +L 143.799893 70.543059 +L 143.884027 70.457452 +L 145.80145 68.658847 +L 146.21276 68.306824 +L 147.718872 66.856599 +L 148.624763 66.070588 +L 149.636295 65.062259 +L 151.024452 63.834353 +L 151.553718 63.281366 +L 153.405087 61.598118 +L 153.471141 61.524367 +L 155.388564 59.709053 +L 155.836963 59.361882 +L 157.305987 57.879841 +L 158.271446 57.125647 +L 159.223409 56.051709 +L 160.683457 54.889412 +L 161.140832 54.229018 +L 163.022577 52.653176 +L 163.058255 52.48876 +L 164.705346 50.416941 +L 163.058255 49.826238 +L 161.805839 48.180706 +L 161.140832 47.797585 +L 159.275249 45.944471 +L 159.223409 45.911399 +L 157.305987 44.177894 +L 156.90374 43.708235 +L 155.388564 42.40091 +L 154.508131 41.472 +L 153.471141 41.472 +L 151.553718 41.472 +L 149.636295 41.472 +L 147.718872 41.472 +L 145.80145 41.472 +L 143.884027 41.472 +L 141.966604 41.472 +L 140.049181 41.472 +L 139.424421 41.472 +L 140.049181 42.995912 +L 140.360802 43.708235 +L 141.083734 45.944471 +L 141.548045 48.180706 +L 141.751637 50.416941 +L 141.693591 52.653176 +L 141.374167 54.889412 +L 140.79481 57.125647 +L 140.049181 59.118543 +L 139.96386 59.361882 +L 138.942183 61.598118 +L 138.131758 63.042571 +L 137.712659 63.834353 +L 136.314541 66.070588 +L 136.214336 66.210094 +L 134.785044 68.306824 +L 134.296913 68.943299 +L 133.1263 70.543059 +L 132.37949 71.4653 +L 131.359311 72.779294 +L 130.462067 73.837734 +L 129.500511 75.015529 +L 128.544644 76.100027 +L 127.562934 77.251765 +L 126.627221 78.278473 +L 125.557042 79.488 +L 124.709799 80.391176 +L 123.491318 81.724235 +L 122.792376 82.450912 +L 121.372696 83.960471 +L 120.874953 84.466855 +L 119.206882 86.196706 +L 118.95753 86.445659 +L 117.040107 88.390826 +L 116.999123 88.432941 +L 115.122685 90.300068 +L 114.755374 90.669176 +L 113.205262 92.185658 +L 112.474608 92.905412 +L 111.287839 94.049373 +L 110.159203 95.141647 +L 109.370416 95.892295 +L 107.811063 97.377882 +L 107.452993 97.714917 +L 105.53557 99.516481 +L 105.431168 99.614118 +L 103.618148 101.297028 +L 103.017496 101.850353 +L 101.700725 103.059844 +L 100.571033 104.086588 +L 99.783302 104.803688 +L 98.091692 106.322824 +L 97.865879 106.526863 +L 95.948456 108.230693 +L 95.571488 108.559059 +L 94.031034 109.915392 +L 93.008144 110.795294 +L 92.113611 111.576753 +L 90.403112 113.031529 +L 90.196188 113.211123 +L 88.278765 114.825306 +L 87.734772 115.267765 +L 86.361342 116.413495 +L 85.002592 117.504 +L 84.443919 117.966323 +L 82.526497 119.485955 +L 82.189814 119.740235 +L 80.609074 120.978188 +L 79.264094 121.976471 +L 78.691651 122.419727 +L 76.774228 123.818304 +L 76.19625 124.212706 +L 74.856805 125.172564 +L 72.939383 126.44796 +L 72.937779 126.448941 +L 71.02196 127.688826 +L 69.329984 128.685176 +L 69.104537 128.826763 +L 67.187114 129.908238 +L 65.269691 130.863874 +L 65.136296 130.921412 +L 63.352268 131.749746 +L 61.434846 132.499027 +L 59.517423 133.105159 +L 59.299221 133.157647 +L 57.6 133.602406 +L 57.6 135.393882 +L 57.6 137.630118 +L 57.6 139.866353 +L 57.6 142.102588 +L 57.6 144.338824 +L 57.6 146.575059 +L 57.6 148.811294 +L 57.6 150.869735 z " style="fill:#fcdfcf;"/> </g> <g id="PathCollection_11"> - <path clip-path="url(#p553f52e075)" d="M 143.903356 388.8 -L 146.300134 388.8 -L 148.696913 388.8 -L 151.093691 388.8 -L 151.341447 388.8 -L 153.49047 386.830342 -L 154.533291 385.895798 -L 155.887248 384.665008 -L 157.776502 382.991597 -L 158.284027 382.533409 -L 160.680805 380.432728 -L 161.088228 380.087395 -L 163.077584 378.360183 -L 164.485185 377.183193 -L 165.474362 376.331506 -L 167.871141 374.352937 -L 167.965024 374.278992 -L 170.267919 372.400867 -L 171.593628 371.37479 -L 172.664698 370.5113 -L 175.061477 368.688369 -L 175.367021 368.470588 -L 177.458255 366.90794 -L 179.388656 365.566387 -L 179.855034 365.224175 -L 182.251812 363.602864 -L 183.775933 362.662185 -L 184.648591 362.088992 -L 187.045369 360.670392 -L 188.782585 359.757983 -L 189.442148 359.385999 -L 191.838926 358.209722 -L 194.235705 357.212307 -L 195.289189 356.853782 -L 196.632483 356.35777 -L 199.029262 355.672493 -L 201.42604 355.188924 -L 203.822819 354.908458 -L 206.219597 354.831903 -L 208.616376 354.95948 -L 211.013154 355.29082 -L 213.409933 355.824969 -L 215.806711 356.560387 -L 216.559145 356.853782 -L 218.20349 357.444726 -L 220.600268 358.487147 -L 222.997047 359.707629 -L 223.083559 359.757983 -L 225.393826 361.010214 -L 227.790604 362.468138 -L 228.079026 362.662185 -L 230.187383 363.995052 -L 232.461478 365.566387 -L 232.584161 365.646674 -L 234.98094 367.34413 -L 236.463169 368.470588 -L 237.377718 369.133559 -L 239.774497 370.984329 -L 240.252277 371.37479 -L 242.171275 372.880415 -L 243.865333 374.278992 -L 244.568054 374.839288 -L 246.964832 376.839669 -L 247.359918 377.183193 -L 249.361611 378.873446 -L 250.747627 380.087395 -L 251.758389 380.951648 -L 254.067899 382.991597 -L 254.155168 383.067225 -L 256.551946 385.204707 -L 257.307696 385.895798 -L 258.948725 387.375195 -L 260.495379 388.8 -L 261.345503 388.8 -L 263.742282 388.8 -L 266.13906 388.8 -L 268.535839 388.8 -L 269.717363 388.8 -L 268.535839 387.650301 -L 266.716259 385.895798 -L 266.13906 385.331254 -L 263.742282 383.015243 -L 263.717437 382.991597 -L 261.345503 380.690706 -L 260.712049 380.087395 -L 258.948725 378.367121 -L 257.708634 377.183193 -L 256.551946 376.046089 -L 254.708802 374.278992 -L 254.155168 373.729392 -L 251.758389 371.417312 -L 251.712854 371.37479 -L 249.361611 369.087757 -L 248.703488 368.470588 -L 246.964832 366.761269 -L 245.698645 365.566387 -L 244.568054 364.439892 -L 242.700442 362.662185 -L 242.171275 362.12614 -L 239.774497 359.81875 -L 239.707693 359.757983 -L 237.377718 357.482093 -L 236.692527 356.853782 -L 234.98094 355.150874 -L 233.685293 353.94958 -L 232.584161 352.828258 -L 230.68947 351.045378 -L 230.187383 350.518766 -L 227.790604 348.218795 -L 227.701141 348.141176 -L 225.393826 345.868575 -L 224.674193 345.236975 -L 222.997047 343.525822 -L 221.660478 342.332773 -L 220.600268 341.196682 -L 218.668405 339.428571 -L 218.20349 338.893345 -L 215.806711 336.613365 -L 215.687823 336.52437 -L 213.409933 334.212711 -L 212.606034 333.620168 -L 211.013154 331.785021 -L 209.517262 330.715966 -L 208.616376 329.227163 -L 206.391965 327.811765 -L 207.838559 324.907563 -L 208.616376 324.604384 -L 211.013154 322.178034 -L 211.120186 322.003361 -L 213.409933 319.928887 -L 214.075119 319.09916 -L 215.806711 317.599564 -L 217.083002 316.194958 -L 218.20349 315.247264 -L 220.114926 313.290756 -L 220.600268 312.885864 -L 222.997047 310.544831 -L 223.138817 310.386555 -L 225.393826 308.253867 -L 226.120734 307.482353 -L 227.790604 305.938983 -L 229.121812 304.578151 -L 230.187383 303.609617 -L 232.135795 301.67395 -L 232.584161 301.271329 -L 234.98094 298.942175 -L 235.14629 298.769748 -L 237.377718 296.638076 -L 238.13689 295.865546 -L 239.774497 294.321697 -L 241.137921 292.961345 -L 242.171275 291.996898 -L 244.146437 290.057143 -L 244.568054 289.666543 -L 246.964832 287.342246 -L 247.152209 287.152941 -L 249.361611 285.031418 -L 250.147449 284.248739 -L 251.758389 282.713421 -L 253.148791 281.344538 -L 254.155168 280.390539 -L 256.15431 278.440336 -L 256.551946 278.064691 -L 258.948725 275.743005 -L 259.157717 275.536134 -L 261.345503 273.42765 -L 262.156138 272.631933 -L 263.742282 271.108267 -L 265.157773 269.727731 -L 266.13906 268.786547 -L 268.161083 266.823529 -L 268.535839 266.464047 -L 270.932617 264.143897 -L 271.163177 263.919328 -L 273.329396 261.824891 -L 274.164183 261.015126 -L 275.726174 259.504233 -L 277.16606 258.110924 -L 278.122953 257.183413 -L 280.167381 255.206723 -L 280.519732 254.863916 -L 282.91651 252.544631 -L 283.168804 252.302521 -L 285.313289 250.222197 -L 286.172243 249.398319 -L 287.710067 247.900215 -L 289.174333 246.494118 -L 290.106846 245.58022 -L 292.173557 243.589916 -L 292.503624 243.263868 -L 294.900403 240.944913 -L 295.174847 240.685714 -L 297.297181 238.618727 -L 298.180958 237.781513 -L 299.69396 236.295126 -L 301.183285 234.877311 -L 302.090738 233.975965 -L 304.179957 231.973109 -L 304.487517 231.663434 -L 306.884295 229.344243 -L 307.181766 229.068908 -L 309.281074 227.013129 -L 310.191432 226.164706 -L 311.677852 224.687046 -L 313.194178 223.260504 -L 314.074631 222.368692 -L 316.187204 220.356303 -L 316.471409 220.061659 -L 318.868188 217.74137 -L 319.190796 217.452101 -L 321.264966 215.401908 -L 322.206699 214.547899 -L 323.661745 213.070488 -L 325.210769 211.643697 -L 326.058523 210.752116 -L 328.197296 208.739496 -L 328.455302 208.455096 -L 330.852081 206.131488 -L 331.207293 205.835294 -L 333.248859 203.769552 -L 334.241878 202.931092 -L 335.645638 201.415446 -L 337.255706 200.026891 -L 338.042416 199.080288 -L 340.225726 197.122689 -L 340.439195 196.803842 -L 342.835973 194.458473 -L 343.356962 194.218487 -L 345.232752 191.597116 -L 347.62953 192.023284 -L 348.882084 194.218487 -L 350.026309 194.879487 -L 352.074719 197.122689 -L 352.423087 197.351697 -L 354.819866 199.667162 -L 355.102673 200.026891 -L 357.216644 201.954188 -L 358.082439 202.931092 -L 359.613423 204.282004 -L 361.093799 205.835294 -L 362.010201 206.627688 -L 364.122632 208.739496 -L 364.40698 208.982167 -L 366.803758 211.298037 -L 367.124924 211.643697 -L 369.200537 213.600188 -L 370.115093 214.547899 -L 371.597315 215.919694 -L 373.119876 217.452101 -L 373.994094 218.25027 -L 376.134744 220.356303 -L 376.390872 220.587835 -L 378.787651 222.904171 -L 379.134915 223.260504 -L 381.18443 225.213822 -L 382.129879 226.164706 -L 383.581208 227.533135 -L 385.133194 229.068908 -L 385.977987 229.859054 -L 388.1424 231.973109 -L 388.374765 232.1892 -L 390.771544 234.506209 -L 391.142391 234.877311 -L 393.168322 236.820368 -L 394.140267 237.781513 -L 395.565101 239.140177 -L 397.142919 240.685714 -L 397.961879 241.463643 -L 400.148604 243.589916 -L 400.358658 243.789037 -L 402.755436 246.106991 -L 403.149063 246.494118 -L 405.152215 248.424463 -L 406.149078 249.398319 -L 407.548993 250.744855 -L 409.151266 252.302521 -L 409.945772 253.066587 -L 412.154155 255.206723 -L 412.34255 255.388161 -L 414.739329 257.707425 -L 415.155541 258.110924 -L 417.136107 260.027743 -L 418.157378 261.015126 -L 419.532886 262.348758 -L 421.159133 263.919328 -L 421.929664 264.668988 -L 424.159371 266.823529 -L 424.326443 266.986917 -L 426.723221 269.308017 -L 427.162202 269.727731 -L 429.12 271.631167 -L 429.12 269.727731 -L 429.12 266.823529 -L 429.12 263.919328 -L 429.12 262.820239 -L 427.1951 261.015126 -L 426.723221 260.573862 -L 424.326443 258.303716 -L 424.12488 258.110924 -L 421.929664 256.007682 -L 421.099372 255.206723 -L 419.532886 253.686129 -L 418.113096 252.302521 -L 417.136107 251.340063 -L 415.167076 249.398319 -L 414.739329 248.9699 -L 412.34255 246.573804 -L 412.262462 246.494118 -L 409.945772 244.141624 -L 409.398276 243.589916 -L 407.548993 241.678433 -L 406.578304 240.685714 -L 405.152215 239.181748 -L 403.806206 237.781513 -L 402.755436 236.647914 -L 401.08642 234.877311 -L 400.358658 234.07177 -L 398.424306 231.973109 -L 397.961879 231.446169 -L 395.826343 229.068908 -L 395.565101 228.761231 -L 393.300376 226.164706 -L 393.168322 226.00321 -L 390.855963 223.260504 -L 390.771544 223.152698 -L 388.50482 220.356303 -L 388.374765 220.181683 -L 386.261439 217.452101 -L 385.977987 217.048516 -L 384.143934 214.547899 -L 383.581208 213.688842 -L 382.175221 211.643697 -L 381.18443 209.998138 -L 380.38471 208.739496 -L 378.809421 205.835294 -L 378.787651 205.786591 -L 377.432421 202.931092 -L 376.390872 200.124826 -L 376.352012 200.026891 -L 375.526047 197.122689 -L 375.030229 194.218487 -L 374.866798 191.314286 -L 375.036493 188.410084 -L 375.538546 185.505882 -L 376.370689 182.601681 -L 376.390872 182.551083 -L 377.455591 179.697479 -L 378.787651 176.90215 -L 378.836515 176.793277 -L 380.416951 173.889076 -L 381.18443 172.684442 -L 382.210513 170.984874 -L 383.581208 168.99563 -L 384.181927 168.080672 -L 385.977987 165.636667 -L 386.301836 165.176471 -L 388.374765 162.503621 -L 388.547368 162.272269 -L 390.771544 159.532431 -L 390.900443 159.368067 -L 393.168322 156.681603 -L 393.346596 156.463866 -L 395.565101 153.923211 -L 395.874131 153.559664 -L 397.961879 151.237894 -L 398.47351 150.655462 -L 400.358658 148.611937 -L 401.1369 147.751261 -L 402.755436 146.035478 -L 403.857835 144.847059 -L 405.152215 143.501379 -L 406.630964 141.942857 -L 407.548993 141.004488 -L 409.451857 139.038655 -L 409.945772 138.541155 -L 412.316862 136.134454 -L 412.34255 136.108903 -L 414.739329 133.713612 -L 415.222092 133.230252 -L 417.136107 131.343228 -L 418.168896 130.32605 -L 419.532886 128.997033 -L 421.155868 127.421849 -L 421.929664 126.675445 -L 424.181987 124.517647 -L 424.326443 124.379476 -L 426.723221 122.109303 -L 427.253476 121.613445 -L 429.12 119.862906 -L 429.12 118.709244 -L 429.12 115.805042 -L 429.12 112.90084 -L 429.12 111.051857 -L 427.218896 112.90084 -L 426.723221 113.374888 -L 424.326443 115.696616 -L 424.215602 115.805042 -L 421.929664 118.014322 -L 421.215526 118.709244 -L 419.532886 120.334433 -L 418.21384 121.613445 -L 417.136107 122.655429 -L 415.211979 124.517647 -L 414.739329 124.975827 -L 412.34255 127.29492 -L 412.210745 127.421849 -L 409.945772 129.616475 -L 409.207811 130.32605 -L 407.548993 131.938289 -L 406.205483 133.230252 -L 405.152215 134.258866 -L 403.205231 136.134454 -L 402.755436 136.576631 -L 400.358658 138.893591 -L 400.205562 139.038655 -L 397.961879 141.219165 -L 397.199615 141.942857 -L 395.565101 143.542924 -L 394.196592 144.847059 -L 393.168322 145.863151 -L 391.198227 147.751261 -L 390.771544 148.177871 -L 388.374765 150.492893 -L 388.199803 150.655462 -L 385.977987 152.823442 -L 385.19007 153.559664 -L 383.581208 155.149916 -L 382.18608 156.463866 -L 381.18443 157.469969 -L 379.190271 159.368067 -L 378.787651 159.78059 -L 376.390872 162.093492 -L 376.19281 162.272269 -L 373.994094 164.431747 -L 373.177024 165.176471 -L 371.597315 166.763271 -L 370.171063 168.080672 -L 369.200537 169.084081 -L 367.179386 170.984874 -L 366.803758 171.388057 -L 364.40698 173.697666 -L 364.18209 173.889076 -L 362.010201 176.053251 -L 361.151565 176.793277 -L 359.613423 178.400653 -L 358.137768 179.697479 -L 357.216644 180.731345 -L 355.154303 182.601681 -L 354.819866 183.023923 -L 352.423087 185.322196 -L 352.141572 185.505882 -L 350.026309 187.793525 -L 348.945593 188.410084 -L 347.62953 190.631457 -L 345.232752 191.041895 -L 343.277316 188.410084 -L 342.835973 188.209311 -L 340.439195 185.89307 -L 340.176711 185.505882 -L 338.042416 183.60644 -L 337.201127 182.601681 -L 335.645638 181.267253 -L 334.184057 179.697479 -L 333.248859 178.911033 -L 331.147391 176.793277 -L 330.852081 176.547835 -L 328.455302 174.231796 -L 328.143372 173.889076 -L 326.058523 171.932503 -L 325.155034 170.984874 -L 323.661745 169.612569 -L 322.149578 168.080672 -L 321.264966 167.28004 -L 319.132606 165.176471 -L 318.868188 164.939782 -L 316.471409 162.623441 -L 316.132101 162.272269 -L 314.074631 160.315274 -L 313.1381 159.368067 -L 311.677852 157.996062 -L 310.134573 156.463866 -L 309.281074 155.669334 -L 307.124292 153.559664 -L 306.884295 153.337744 -L 304.487517 151.020844 -L 304.124272 150.655462 -L 302.090738 148.707661 -L 301.127032 147.751261 -L 299.69396 146.388006 -L 298.124262 144.847059 -L 297.297181 144.064046 -L 295.117824 141.942857 -L 294.900403 141.737622 -L 292.503624 139.419887 -L 292.11749 139.038655 -L 290.106846 137.103176 -L 289.117968 136.134454 -L 287.710067 134.782937 -L 286.115679 133.230252 -L 285.313289 132.460819 -L 283.112139 130.32605 -L 282.91651 130.138349 -L 280.519732 127.819434 -L 280.111013 127.421849 -L 278.122953 125.499801 -L 277.109612 124.517647 -L 275.726174 123.178945 -L 274.107748 121.613445 -L 273.329396 120.858351 -L 271.106848 118.709244 -L 270.932617 118.539509 -L 268.535839 116.218936 -L 268.104439 115.805042 -L 266.13906 113.896499 -L 265.101258 112.90084 -L 263.742282 111.574946 -L 262.09985 109.996639 -L 261.345503 109.255838 -L 259.101756 107.092437 -L 258.948725 106.940876 -L 256.551946 104.617906 -L 256.097374 104.188235 -L 254.155168 102.292328 -L 253.092213 101.284034 -L 251.758389 99.96984 -L 250.091348 98.379832 -L 249.361611 97.65238 -L 247.096714 95.47563 -L 246.964832 95.342254 -L 244.568054 93.015573 -L 244.089132 92.571429 -L 242.171275 90.685737 -L 241.081274 89.667227 -L 239.774497 88.36164 -L 238.081076 86.763025 -L 237.377718 86.04619 -L 235.091511 83.858824 -L 234.98094 83.743316 -L 232.584161 81.410038 -L 232.077898 80.954622 -L 230.187383 79.072625 -L 229.065064 78.05042 -L 227.790604 76.744478 -L 226.065479 75.146218 -L 225.393826 74.431323 -L 223.085516 72.242017 -L 222.997047 72.142907 -L 220.600268 69.793792 -L 220.055571 69.337815 -L 218.20349 67.433845 -L 217.025989 66.433613 -L 215.806711 65.084043 -L 214.021825 63.529412 -L 213.409933 62.759748 -L 211.073519 60.62521 -L 211.013154 60.525183 -L 208.616376 58.061565 -L 207.755882 57.721008 -L 206.422371 54.816807 -L 208.616376 53.454468 -L 209.572456 51.912605 -L 211.013154 50.893836 -L 212.667094 49.008403 -L 213.409933 48.464531 -L 215.751453 46.104202 -L 215.806711 46.063039 -L 218.20349 43.794166 -L 218.722128 43.2 -L 218.20349 43.2 -L 215.806711 43.2 -L 213.409933 43.2 -L 211.013154 43.2 -L 208.616376 43.2 -L 206.219597 43.2 -L 203.822819 43.2 -L 201.42604 43.2 -L 199.029262 43.2 -L 196.632483 43.2 -L 194.235705 43.2 -L 193.135163 43.2 -L 194.235705 44.406376 -L 196.129675 46.104202 -L 196.632483 46.714148 -L 199.029262 48.965453 -L 199.094061 49.008403 -L 201.42604 51.415045 -L 202.257299 51.912605 -L 203.822819 54.04966 -L 205.881682 54.816807 -L 203.822819 57.507481 -L 203.778221 57.721008 -L 201.42604 59.767556 -L 200.854321 60.62521 -L 199.029262 62.134688 -L 197.839307 63.529412 -L 196.632483 64.508885 -L 194.796204 66.433613 -L 194.235705 66.884484 -L 191.838926 69.242036 -L 191.756359 69.337815 -L 189.442148 71.523851 -L 188.780565 72.242017 -L 187.045369 73.8367 -L 185.780954 75.146218 -L 184.648591 76.167012 -L 182.76595 78.05042 -L 182.251812 78.507593 -L 179.855034 80.843444 -L 179.749866 80.954622 -L 177.458255 83.143741 -L 176.762062 83.858824 -L 175.061477 85.458615 -L 173.762045 86.763025 -L 172.664698 87.783355 -L 170.753271 89.667227 -L 170.267919 90.114616 -L 167.871141 92.44257 -L 167.744559 92.571429 -L 165.474362 94.7512 -L 164.750983 95.47563 -L 163.077584 97.0682 -L 161.750273 98.379832 -L 160.680805 99.390997 -L 158.744536 101.284034 -L 158.284027 101.717488 -L 155.887248 104.041228 -L 155.739503 104.188235 -L 153.49047 106.355107 -L 152.742189 107.092437 -L 151.093691 108.673826 -L 149.740906 109.996639 -L 148.696913 110.995581 -L 146.737262 112.90084 -L 146.300134 113.31875 -L 143.903356 115.639838 -L 143.734438 115.805042 -L 141.506577 117.957757 -L 140.734208 118.709244 -L 139.109799 120.277984 -L 137.732452 121.613445 -L 136.71302 122.599002 -L 134.730608 124.517647 -L 134.316242 124.919331 -L 131.919463 127.238609 -L 131.729212 127.421849 -L 129.522685 129.560165 -L 128.726337 130.32605 -L 127.125906 131.881887 -L 125.724156 133.230252 -L 124.729128 134.202276 -L 122.72414 136.134454 -L 122.332349 136.519752 -L 119.93557 138.837746 -L 119.72365 139.038655 -L 117.538792 141.163113 -L 116.717989 141.942857 -L 115.142013 143.48656 -L 113.715353 144.847059 -L 112.745235 145.806356 -L 110.717482 147.751261 -L 110.348456 148.120514 -L 107.951678 150.437595 -L 107.717435 150.655462 -L 105.554899 152.7677 -L 104.708268 153.559664 -L 103.158121 155.093585 -L 101.704981 156.463866 -L 100.761342 157.412874 -L 98.710029 159.368067 -L 98.364564 159.722518 -L 95.967785 162.038975 -L 95.709769 162.272269 -L 93.571007 164.376467 -L 92.69497 165.176471 -L 91.174228 166.706976 -L 89.69024 168.080672 -L 88.77745 169.02643 -L 86.700092 170.984874 -L 86.380671 171.328567 -L 83.983893 173.644656 -L 83.697651 173.889076 -L 81.587114 175.998955 -L 80.669001 176.793277 -L 79.190336 178.344424 -L 77.657804 179.697479 -L 76.793557 180.672005 -L 74.67809 182.601681 -L 74.396779 182.958916 -L 72 185.27498 -L 72 185.505882 -L 72 188.410084 -L 72 191.314286 -L 72 194.218487 -L 72 197.122689 -L 72 197.399266 -L 74.396779 199.732655 -L 74.626759 200.026891 -L 76.793557 202.013842 -L 77.602731 202.931092 -L 79.190336 204.338461 -L 80.611455 205.835294 -L 81.587114 206.682161 -L 83.638386 208.739496 -L 83.983893 209.035321 -L 86.380671 211.357688 -L 86.645763 211.643697 -L 88.77745 213.657971 -L 89.63439 214.547899 -L 91.174228 215.9761 -L 92.637932 217.452101 -L 93.571007 218.305645 -L 95.651802 220.356303 -L 95.967785 220.642433 -L 98.364564 222.962329 -L 98.654749 223.260504 -L 100.761342 225.270991 -L 101.64885 226.164706 -L 103.158121 227.58953 -L 104.651455 229.068908 -L 105.554899 229.914851 -L 107.660089 231.973109 -L 107.951678 232.244546 -L 110.348456 234.563615 -L 110.661689 234.877311 -L 112.745235 236.877205 -L 113.659067 237.781513 -L 115.142013 239.196577 -L 116.661327 240.685714 -L 117.538792 241.519724 -L 119.666721 243.589916 -L 119.93557 243.844906 -L 122.332349 246.163895 -L 122.667993 246.494118 -L 124.729128 248.481072 -L 125.667768 249.398319 -L 127.125906 250.801271 -L 128.669805 252.302521 -L 129.522685 253.122907 -L 131.67263 255.206723 -L 131.919463 255.444477 -L 134.316242 257.763925 -L 134.67417 258.110924 -L 136.71302 260.084169 -L 137.675987 261.015126 -L 139.109799 262.405202 -L 140.677807 263.919328 -L 141.506577 264.725543 -L 143.678196 266.823529 -L 143.903356 267.043679 -L 146.300134 269.36414 -L 146.680549 269.727731 -L 148.696913 271.687422 -L 149.684375 272.631933 -L 151.093691 274.009397 -L 152.685941 275.536134 -L 153.49047 276.32845 -L 155.683646 278.440336 -L 155.887248 278.642789 -L 158.284027 280.965001 -L 158.687518 281.344538 -L 160.680805 283.29182 -L 161.693679 284.248739 -L 163.077584 285.615077 -L 164.694941 287.152941 -L 165.474362 287.932694 -L 167.689211 290.057143 -L 167.871141 290.242128 -L 170.267919 292.56735 -L 170.695849 292.961345 -L 172.664698 294.899206 -L 173.705378 295.865546 -L 175.061477 297.224747 -L 176.706349 298.769748 -L 177.458255 299.54069 -L 179.695345 301.67395 -L 179.855034 301.842419 -L 182.251812 304.173493 -L 182.707824 304.578151 -L 184.648591 306.515069 -L 185.724167 307.482353 -L 187.045369 308.846804 -L 188.725557 310.386555 -L 189.442148 311.161756 -L 191.703759 313.290756 -L 191.838926 313.446877 -L 194.235705 315.794254 -L 194.735999 316.194958 -L 196.632483 318.171436 -L 197.782114 319.09916 -L 199.029262 320.54874 -L 200.802773 322.003361 -L 201.42604 322.9242 -L 203.740613 324.907563 -L 203.822819 325.270383 -L 205.932352 327.811765 -L 203.822819 328.617243 -L 202.322506 330.715966 -L 201.42604 331.258266 -L 199.161507 333.620168 -L 199.029262 333.708414 -L 196.632483 335.974887 -L 196.182549 336.52437 -L 194.235705 338.278137 -L 193.19131 339.428571 -L 191.838926 340.612884 -L 190.173593 342.332773 -L 189.442148 342.962029 -L 187.141023 345.236975 -L 187.045369 345.318323 -L 184.648591 347.615367 -L 184.15421 348.141176 -L 182.251812 349.923453 -L 181.15918 351.045378 -L 179.855034 352.246781 -L 178.150981 353.94958 -L 177.458255 354.579832 -L 175.133753 356.853782 -L 175.061477 356.918947 -L 172.664698 359.224875 -L 172.14194 359.757983 -L 170.267919 361.537726 -L 169.144239 362.662185 -L 167.871141 363.859278 -L 166.138935 365.566387 -L 165.474362 366.186696 -L 163.128367 368.470588 -L 163.077584 368.517746 -L 160.680805 370.828768 -L 160.133165 371.37479 -L 158.284027 373.144805 -L 157.133696 374.278992 -L 155.887248 375.465889 -L 154.129966 377.183193 -L 153.49047 377.790113 -L 151.123671 380.087395 -L 151.093691 380.115803 -L 148.696913 382.430852 -L 148.125565 382.991597 -L 146.300134 384.749343 -L 145.124759 385.895798 -L 143.903356 387.070292 -L 142.122206 388.8 + <path clip-path="url(#p0bba778d2e)" d="M 115.122685 307.584 +L 117.040107 307.584 +L 118.95753 307.584 +L 120.874953 307.584 +L 121.073157 307.584 +L 122.792376 306.067364 +L 123.626633 305.347765 +L 124.709799 304.400056 +L 126.221202 303.111529 +L 126.627221 302.758725 +L 128.544644 301.141201 +L 128.870582 300.875294 +L 130.462067 299.545341 +L 131.588148 298.639059 +L 132.37949 297.98326 +L 134.296913 296.459762 +L 134.372019 296.402824 +L 136.214336 294.956668 +L 137.274902 294.166588 +L 138.131758 293.501701 +L 140.049181 292.098044 +L 140.293617 291.930353 +L 141.966604 290.727114 +L 143.510925 289.694118 +L 143.884027 289.430615 +L 145.80145 288.182206 +L 147.020747 287.457882 +L 147.718872 287.016524 +L 149.636295 285.924202 +L 151.026068 285.221647 +L 151.553718 284.935219 +L 153.471141 284.029486 +L 155.388564 283.261476 +L 156.231351 282.985412 +L 157.305987 282.603483 +L 159.223409 282.075819 +L 161.140832 281.703472 +L 163.058255 281.487513 +L 164.975678 281.428566 +L 166.893101 281.526799 +L 168.810523 281.781931 +L 170.727946 282.193226 +L 172.645369 282.759498 +L 173.247316 282.985412 +L 174.562792 283.440439 +L 176.480215 284.243103 +L 178.397638 285.182875 +L 178.466847 285.221647 +L 180.31506 286.185865 +L 182.232483 287.308466 +L 182.463221 287.457882 +L 184.149906 288.48419 +L 185.969183 289.694118 +L 186.067329 289.755939 +L 187.984752 291.06298 +L 189.170535 291.930353 +L 189.902174 292.44084 +L 191.819597 293.865933 +L 192.201821 294.166588 +L 193.73702 295.32592 +L 195.092266 296.402824 +L 195.654443 296.834252 +L 197.571866 298.374545 +L 197.887934 298.639059 +L 199.489289 299.940554 +L 200.598102 300.875294 +L 201.406711 301.540769 +L 203.254319 303.111529 +L 203.324134 303.169763 +L 205.241557 304.815624 +L 205.846157 305.347765 +L 207.15898 306.4869 +L 208.396304 307.584 +L 209.076403 307.584 +L 210.993826 307.584 +L 212.911248 307.584 +L 214.828671 307.584 +L 215.77389 307.584 +L 214.828671 306.698732 +L 213.373008 305.347765 +L 212.911248 304.913065 +L 210.993826 303.129737 +L 210.973949 303.111529 +L 209.076403 301.339844 +L 208.569639 300.875294 +L 207.15898 299.550683 +L 206.166907 298.639059 +L 205.241557 297.763489 +L 203.767041 296.402824 +L 203.324134 295.979632 +L 201.406711 294.19933 +L 201.370283 294.166588 +L 199.489289 292.405573 +L 198.96279 291.930353 +L 197.571866 290.614177 +L 196.558916 289.694118 +L 195.654443 288.826717 +L 194.160353 287.457882 +L 193.73702 287.045128 +L 191.819597 285.268438 +L 191.766155 285.221647 +L 189.902174 283.469211 +L 189.354022 282.985412 +L 187.984752 281.674173 +L 186.948235 280.749176 +L 186.067329 279.885759 +L 184.551576 278.512941 +L 184.149906 278.10745 +L 182.232483 276.336472 +L 182.160913 276.276706 +L 180.31506 274.526803 +L 179.739355 274.040471 +L 178.397638 272.722883 +L 177.328382 271.804235 +L 176.480215 270.929445 +L 174.934724 269.568 +L 174.562792 269.155875 +L 172.645369 267.400291 +L 172.550259 267.331765 +L 170.727946 265.551788 +L 170.084827 265.095529 +L 168.810523 263.682466 +L 167.613809 262.859294 +L 166.893101 261.712916 +L 165.113572 260.623059 +L 166.270847 258.386824 +L 166.893101 258.153376 +L 168.810523 256.285086 +L 168.896149 256.150588 +L 170.727946 254.553243 +L 171.260095 253.914353 +L 172.645369 252.759664 +L 173.666401 251.678118 +L 174.562792 250.948393 +L 176.09194 249.441882 +L 176.480215 249.130115 +L 178.397638 247.32752 +L 178.511054 247.205647 +L 180.31506 245.563477 +L 180.896587 244.969412 +L 182.232483 243.781017 +L 183.29745 242.733176 +L 184.149906 241.987405 +L 185.708636 240.496941 +L 186.067329 240.186923 +L 187.984752 238.393475 +L 188.117032 238.260706 +L 189.902174 236.619318 +L 190.509512 236.024471 +L 191.819597 234.835707 +L 192.910337 233.788235 +L 193.73702 233.045612 +L 195.31715 231.552 +L 195.654443 231.251238 +L 197.571866 229.461529 +L 197.721767 229.315765 +L 199.489289 227.682192 +L 200.117959 227.079529 +L 201.406711 225.897335 +L 202.519032 224.843294 +L 203.324134 224.108715 +L 204.923448 222.607059 +L 205.241557 222.317812 +L 207.15898 220.530114 +L 207.326174 220.370824 +L 209.076403 218.74729 +L 209.724911 218.134588 +L 210.993826 216.961365 +L 212.126218 215.898353 +L 212.911248 215.173641 +L 214.528866 213.662118 +L 214.828671 213.385316 +L 216.746094 211.598801 +L 216.930541 211.425882 +L 218.663517 209.813166 +L 219.331346 209.189647 +L 220.58094 208.026259 +L 221.732848 206.953412 +L 222.498362 206.239228 +L 224.133904 204.717176 +L 224.415785 204.453215 +L 226.333208 202.667366 +L 226.535044 202.480941 +L 228.250631 200.879091 +L 228.937794 200.244706 +L 230.168054 199.091165 +L 231.339466 198.008471 +L 232.085477 197.30477 +L 233.738845 195.772235 +L 234.002899 195.521178 +L 235.920322 193.735583 +L 236.139878 193.536 +L 237.837745 191.94442 +L 238.544767 191.299765 +L 239.755168 190.155247 +L 240.946628 189.063529 +L 241.672591 188.369493 +L 243.343965 186.827294 +L 243.590013 186.588844 +L 245.507436 184.803067 +L 245.745413 184.591059 +L 247.424859 183.008109 +L 248.153146 182.354824 +L 249.342282 181.217026 +L 250.555342 180.118588 +L 251.259705 179.431893 +L 252.949764 177.882353 +L 253.177128 177.655478 +L 255.09455 175.868855 +L 255.352637 175.646118 +L 257.011973 174.067469 +L 257.765359 173.409882 +L 258.929396 172.272275 +L 260.168615 171.173647 +L 260.846819 170.487129 +L 262.557836 168.937412 +L 262.764242 168.718424 +L 264.681664 166.929246 +L 264.965834 166.701176 +L 266.599087 165.110555 +L 267.393502 164.464941 +L 268.51651 163.297893 +L 269.804565 162.228706 +L 270.433933 161.499822 +L 272.18058 159.992471 +L 272.351356 159.746958 +L 274.268779 157.941024 +L 274.68557 157.756235 +L 276.186201 155.737779 +L 278.103624 156.065929 +L 279.105667 157.756235 +L 280.021047 158.265205 +L 281.659776 159.992471 +L 281.93847 160.168806 +L 283.855893 161.951715 +L 284.082139 162.228706 +L 285.773315 163.712725 +L 286.465951 164.464941 +L 287.690738 165.505143 +L 288.875039 166.701176 +L 289.608161 167.31132 +L 291.298106 168.937412 +L 291.525584 169.124269 +L 293.443007 170.907489 +L 293.699939 171.173647 +L 295.36043 172.680145 +L 296.092074 173.409882 +L 297.277852 174.466164 +L 298.495901 175.646118 +L 299.195275 176.260708 +L 300.907795 177.882353 +L 301.112698 178.060633 +L 303.030121 179.844212 +L 303.307932 180.118588 +L 304.947544 181.622643 +L 305.703903 182.354824 +L 306.864966 183.408514 +L 308.106555 184.591059 +L 308.782389 185.199472 +L 310.51392 186.827294 +L 310.699812 186.993684 +L 312.617235 188.777781 +L 312.913913 189.063529 +L 314.534658 190.559684 +L 315.312214 191.299765 +L 316.452081 192.345936 +L 317.714335 193.536 +L 318.369503 194.135005 +L 320.118883 195.772235 +L 320.286926 195.925558 +L 322.204349 197.710383 +L 322.519251 198.008471 +L 324.121772 199.494836 +L 324.919262 200.244706 +L 326.039195 201.281539 +L 327.321013 202.480941 +L 327.956617 203.069272 +L 329.723324 204.717176 +L 329.87404 204.856884 +L 331.791463 206.642717 +L 332.124433 206.953412 +L 333.708886 208.429362 +L 334.525902 209.189647 +L 335.626309 210.216544 +L 336.927306 211.425882 +L 337.543732 212.003121 +L 339.327497 213.662118 +L 339.461154 213.787926 +L 341.378577 215.575173 +L 341.729762 215.898353 +L 343.296 217.363999 +L 343.296 215.898353 +L 343.296 213.662118 +L 343.296 211.425882 +L 343.296 210.579584 +L 341.75608 209.189647 +L 341.378577 208.849874 +L 339.461154 207.101861 +L 339.299904 206.953412 +L 337.543732 205.333915 +L 336.879497 204.717176 +L 335.626309 203.546319 +L 334.490477 202.480941 +L 333.708886 201.739848 +L 332.13366 200.244706 +L 331.791463 199.914823 +L 329.87404 198.069829 +L 329.80997 198.008471 +L 327.956617 196.19705 +L 327.518621 195.772235 +L 326.039195 194.300393 +L 325.262643 193.536 +L 324.121772 192.377946 +L 323.044965 191.299765 +L 322.204349 190.426893 +L 320.869136 189.063529 +L 320.286926 188.443263 +L 318.739445 186.827294 +L 318.369503 186.42155 +L 316.661074 184.591059 +L 316.452081 184.354148 +L 314.640301 182.354824 +L 314.534658 182.230471 +L 312.684771 180.118588 +L 312.617235 180.035578 +L 310.803856 177.882353 +L 310.699812 177.747896 +L 309.009152 175.646118 +L 308.782389 175.335357 +L 307.315147 173.409882 +L 306.864966 172.748408 +L 305.740177 171.173647 +L 304.947544 169.906566 +L 304.307768 168.937412 +L 303.047537 166.701176 +L 303.030121 166.663675 +L 301.945936 164.464941 +L 301.112698 162.304116 +L 301.081609 162.228706 +L 300.420838 159.992471 +L 300.024183 157.756235 +L 299.893439 155.52 +L 300.029194 153.283765 +L 300.430837 151.047529 +L 301.096551 148.811294 +L 301.112698 148.772334 +L 301.964473 146.575059 +L 303.030121 144.422655 +L 303.069212 144.338824 +L 304.333561 142.102588 +L 304.947544 141.17502 +L 305.768411 139.866353 +L 306.864966 138.334635 +L 307.345541 137.630118 +L 308.782389 135.748234 +L 309.041469 135.393882 +L 310.699812 133.335788 +L 310.837895 133.157647 +L 312.617235 131.047972 +L 312.720354 130.921412 +L 314.534658 128.852834 +L 314.677276 128.685176 +L 316.452081 126.728872 +L 316.699304 126.448941 +L 318.369503 124.661179 +L 318.778808 124.212706 +L 320.286926 122.639192 +L 320.90952 121.976471 +L 322.204349 120.655318 +L 323.086268 119.740235 +L 324.121772 118.704062 +L 325.304771 117.504 +L 326.039195 116.781456 +L 327.561486 115.267765 +L 327.956617 114.884689 +L 329.853489 113.031529 +L 329.87404 113.011855 +L 331.791463 111.167481 +L 332.177674 110.795294 +L 333.708886 109.342286 +L 334.535117 108.559059 +L 335.626309 107.535715 +L 336.924694 106.322824 +L 337.543732 105.748092 +L 339.345589 104.086588 +L 339.461154 103.980196 +L 341.378577 102.232164 +L 341.80278 101.850353 +L 343.296 100.502438 +L 343.296 99.614118 +L 343.296 97.377882 +L 343.296 95.141647 +L 343.296 93.71793 +L 341.775117 95.141647 +L 341.378577 95.506664 +L 339.461154 97.294394 +L 339.372481 97.377882 +L 337.543732 99.079028 +L 336.972421 99.614118 +L 335.626309 100.865513 +L 334.571072 101.850353 +L 333.708886 102.65268 +L 332.169583 104.086588 +L 331.791463 104.439387 +L 329.87404 106.225089 +L 329.768596 106.322824 +L 327.956617 108.012686 +L 327.366249 108.559059 +L 326.039195 109.800482 +L 324.964386 110.795294 +L 324.121772 111.587326 +L 322.564185 113.031529 +L 322.204349 113.372006 +L 320.286926 115.156065 +L 320.16445 115.267765 +L 318.369503 116.946757 +L 317.759692 117.504 +L 316.452081 118.736052 +L 315.357274 119.740235 +L 314.534658 120.522626 +L 312.958582 121.976471 +L 312.617235 122.304961 +L 310.699812 124.087528 +L 310.559842 124.212706 +L 308.782389 125.88205 +L 308.152056 126.448941 +L 306.864966 127.673436 +L 305.748864 128.685176 +L 304.947544 129.459876 +L 303.352216 130.921412 +L 303.030121 131.239054 +L 301.112698 133.019989 +L 300.954248 133.157647 +L 299.195275 134.820445 +L 298.541619 135.393882 +L 297.277852 136.615719 +L 296.136851 137.630118 +L 295.36043 138.402742 +L 293.743509 139.866353 +L 293.443007 140.176804 +L 291.525584 141.955203 +L 291.345672 142.102588 +L 289.608161 143.769003 +L 288.921252 144.338824 +L 287.690738 145.576503 +L 286.510214 146.575059 +L 285.773315 147.371136 +L 284.123442 148.811294 +L 283.855893 149.136421 +L 281.93847 150.906091 +L 281.713258 151.047529 +L 280.021047 152.809014 +L 279.156474 153.283765 +L 278.103624 154.994222 +L 276.186201 155.310259 +L 274.621853 153.283765 +L 274.268779 153.12917 +L 272.351356 151.345664 +L 272.141369 151.047529 +L 270.433933 149.584958 +L 269.760901 148.811294 +L 268.51651 147.783785 +L 267.347246 146.575059 +L 266.599087 145.969496 +L 264.917913 144.338824 +L 264.681664 144.149833 +L 262.764242 142.366483 +L 262.514698 142.102588 +L 260.846819 140.596027 +L 260.124027 139.866353 +L 258.929396 138.809678 +L 257.719662 137.630118 +L 257.011973 137.013631 +L 255.306085 135.393882 +L 255.09455 135.211632 +L 253.177128 133.428049 +L 252.905681 133.157647 +L 251.259705 131.650761 +L 250.51048 130.921412 +L 249.342282 129.864968 +L 248.107658 128.685176 +L 247.424859 128.073387 +L 245.699434 126.448941 +L 245.507436 126.278063 +L 243.590013 124.49405 +L 243.299418 124.212706 +L 241.672591 122.712899 +L 240.901626 121.976471 +L 239.755168 120.926764 +L 238.49941 119.740235 +L 237.837745 119.137316 +L 236.094259 117.504 +L 235.920322 117.345969 +L 234.002899 115.561313 +L 233.693992 115.267765 +L 232.085477 113.777445 +L 231.294374 113.031529 +L 230.168054 111.990862 +L 228.892543 110.795294 +L 228.250631 110.20283 +L 226.489711 108.559059 +L 226.333208 108.414529 +L 224.415785 106.628964 +L 224.08881 106.322824 +L 222.498362 104.842846 +L 221.68769 104.086588 +L 220.58094 103.055788 +L 219.286199 101.850353 +L 218.663517 101.26893 +L 216.885478 99.614118 +L 216.746094 99.483422 +L 214.828671 97.69658 +L 214.483551 97.377882 +L 212.911248 95.908304 +L 212.081006 95.141647 +L 210.993826 94.120708 +L 209.67988 92.905412 +L 209.076403 92.334995 +L 207.281405 90.669176 +L 207.15898 90.552474 +L 205.241557 88.763787 +L 204.877899 88.432941 +L 203.324134 86.973093 +L 202.473771 86.196706 +L 201.406711 85.184777 +L 200.073078 83.960471 +L 199.489289 83.400333 +L 197.677371 81.724235 +L 197.571866 81.621536 +L 195.654443 79.829991 +L 195.271306 79.488 +L 193.73702 78.036018 +L 192.86502 77.251765 +L 191.819597 76.246463 +L 190.464861 75.015529 +L 189.902174 74.463566 +L 188.073209 72.779294 +L 187.984752 72.690353 +L 186.067329 70.893729 +L 185.662318 70.543059 +L 184.149906 69.093921 +L 183.252051 68.306824 +L 182.232483 67.301248 +L 180.852383 66.070588 +L 180.31506 65.520119 +L 178.468413 63.834353 +L 178.397638 63.758038 +L 176.480215 61.94922 +L 176.044457 61.598118 +L 174.562792 60.132061 +L 173.620791 59.361882 +L 172.645369 58.322713 +L 171.21746 57.125647 +L 170.727946 56.533006 +L 168.858816 54.889412 +L 168.810523 54.812391 +L 166.893101 52.915405 +L 166.204705 52.653176 +L 165.137897 50.416941 +L 166.893101 49.36794 +L 167.657965 48.180706 +L 168.810523 47.396253 +L 170.133675 45.944471 +L 170.727946 45.525689 +L 172.601162 43.708235 +L 172.645369 43.67654 +L 174.562792 41.929508 +L 174.977702 41.472 +L 174.562792 41.472 +L 172.645369 41.472 +L 170.727946 41.472 +L 168.810523 41.472 +L 166.893101 41.472 +L 164.975678 41.472 +L 163.058255 41.472 +L 161.140832 41.472 +L 159.223409 41.472 +L 157.305987 41.472 +L 155.388564 41.472 +L 154.508131 41.472 +L 155.388564 42.40091 +L 156.90374 43.708235 +L 157.305987 44.177894 +L 159.223409 45.911399 +L 159.275249 45.944471 +L 161.140832 47.797585 +L 161.805839 48.180706 +L 163.058255 49.826238 +L 164.705346 50.416941 +L 163.058255 52.48876 +L 163.022577 52.653176 +L 161.140832 54.229018 +L 160.683457 54.889412 +L 159.223409 56.051709 +L 158.271446 57.125647 +L 157.305987 57.879841 +L 155.836963 59.361882 +L 155.388564 59.709053 +L 153.471141 61.524367 +L 153.405087 61.598118 +L 151.553718 63.281366 +L 151.024452 63.834353 +L 149.636295 65.062259 +L 148.624763 66.070588 +L 147.718872 66.856599 +L 146.21276 68.306824 +L 145.80145 68.658847 +L 143.884027 70.457452 +L 143.799893 70.543059 +L 141.966604 72.228681 +L 141.40965 72.779294 +L 140.049181 74.011133 +L 139.009636 75.015529 +L 138.131758 75.801183 +L 136.602617 77.251765 +L 136.214336 77.596254 +L 134.296913 79.388779 +L 134.195647 79.488 +L 132.37949 81.166424 +L 131.800786 81.724235 +L 130.462067 82.950514 +L 129.400218 83.960471 +L 128.544644 84.739068 +L 126.995629 86.196706 +L 126.627221 86.530466 +L 124.709799 88.319745 +L 124.591603 88.432941 +L 122.792376 90.101432 +L 122.193751 90.669176 +L 120.874953 91.886846 +L 119.792725 92.905412 +L 118.95753 93.674597 +L 117.38981 95.141647 +L 117.040107 95.463437 +L 115.122685 97.250675 +L 114.98755 97.377882 +L 113.205262 99.035473 +L 112.587366 99.614118 +L 111.287839 100.822048 +L 110.185962 101.850353 +L 109.370416 102.609232 +L 107.784486 104.086588 +L 107.452993 104.395885 +L 105.53557 106.181729 +L 105.383369 106.322824 +L 103.618148 107.969327 +L 102.98107 108.559059 +L 101.700725 109.757053 +L 100.579325 110.795294 +L 99.783302 111.543752 +L 98.179312 113.031529 +L 97.865879 113.328209 +L 95.948456 115.113064 +L 95.77892 115.267765 +L 94.031034 116.903597 +L 93.374391 117.504 +L 92.113611 118.692651 +L 90.972282 119.740235 +L 90.196188 120.478894 +L 88.573985 121.976471 +L 88.278765 122.260796 +L 86.361342 124.044949 +L 86.173948 124.212706 +L 84.443919 125.839129 +L 83.766614 126.448941 +L 82.526497 127.63006 +L 81.363985 128.685176 +L 80.609074 129.415913 +L 78.968023 130.921412 +L 78.691651 131.194339 +L 76.774228 132.978011 +L 76.567815 133.157647 +L 74.856805 134.77788 +L 74.155976 135.393882 +L 72.939383 136.572372 +L 71.752192 137.630118 +L 71.02196 138.358351 +L 69.360073 139.866353 +L 69.104537 140.130997 +L 67.187114 141.914385 +L 66.958121 142.102588 +L 65.269691 143.727195 +L 64.535201 144.338824 +L 63.352268 145.533207 +L 62.126243 146.575059 +L 61.434846 147.325444 +L 59.742472 148.811294 +L 59.517423 149.086365 +L 57.6 150.869735 +L 57.6 151.047529 +L 57.6 153.283765 +L 57.6 155.52 +L 57.6 157.756235 +L 57.6 159.992471 +L 57.6 160.205435 +L 59.517423 162.002145 +L 59.701407 162.228706 +L 61.434846 163.758658 +L 62.082185 164.464941 +L 63.352268 165.548615 +L 64.489164 166.701176 +L 65.269691 167.353264 +L 66.910709 168.937412 +L 67.187114 169.165197 +L 69.104537 170.95342 +L 69.31661 171.173647 +L 71.02196 172.724637 +L 71.707512 173.409882 +L 72.939383 174.509597 +L 74.110345 175.646118 +L 74.856805 176.303346 +L 76.521442 177.882353 +L 76.774228 178.102673 +L 78.691651 179.888993 +L 78.923799 180.118588 +L 80.609074 181.666663 +L 81.31908 182.354824 +L 82.526497 183.451938 +L 83.721164 184.591059 +L 84.443919 185.242435 +L 86.128071 186.827294 +L 86.361342 187.0363 +L 88.278765 188.821984 +L 88.529351 189.063529 +L 90.196188 190.603448 +L 90.927254 191.299765 +L 92.113611 192.389364 +L 93.329062 193.536 +L 94.031034 194.178188 +L 95.733377 195.772235 +L 95.948456 195.968578 +L 97.865879 197.754199 +L 98.134394 198.008471 +L 99.783302 199.538425 +L 100.534214 200.244706 +L 101.700725 201.324979 +L 102.935844 202.480941 +L 103.618148 203.112638 +L 105.338104 204.717176 +L 105.53557 204.900247 +L 107.452993 206.686222 +L 107.739336 206.953412 +L 109.370416 208.47281 +L 110.14079 209.189647 +L 111.287839 210.260005 +L 112.542246 211.425882 +L 113.205262 212.046668 +L 114.942557 213.662118 +L 115.122685 213.831633 +L 117.040107 215.618388 +L 117.344439 215.898353 +L 118.95753 217.407315 +L 119.7475 218.134588 +L 120.874953 219.195236 +L 122.148753 220.370824 +L 122.792376 220.980907 +L 124.546917 222.607059 +L 124.709799 222.762948 +L 126.627221 224.551051 +L 126.950015 224.843294 +L 128.544644 226.342701 +L 129.354943 227.079529 +L 130.462067 228.13161 +L 131.755953 229.315765 +L 132.37949 229.916174 +L 134.151368 231.552 +L 134.296913 231.694439 +L 136.214336 233.484859 +L 136.556679 233.788235 +L 138.131758 235.280388 +L 138.964302 236.024471 +L 140.049181 237.071055 +L 141.365079 238.260706 +L 141.966604 238.854331 +L 143.756276 240.496941 +L 143.884027 240.626662 +L 145.80145 242.42159 +L 146.166259 242.733176 +L 147.718872 244.224603 +L 148.579334 244.969412 +L 149.636295 246.020039 +L 150.980446 247.205647 +L 151.553718 247.802552 +L 153.363007 249.441882 +L 153.471141 249.562095 +L 155.388564 251.369576 +L 155.788799 251.678118 +L 157.305987 253.200006 +L 158.225691 253.914353 +L 159.223409 255.03053 +L 160.642219 256.150588 +L 161.140832 256.859634 +L 162.992491 258.386824 +L 163.058255 258.666195 +L 164.745882 260.623059 +L 163.058255 261.243277 +L 161.858005 262.859294 +L 161.140832 263.276865 +L 159.329206 265.095529 +L 159.223409 265.163479 +L 157.305987 266.908663 +L 156.946039 267.331765 +L 155.388564 268.682166 +L 154.553048 269.568 +L 153.471141 270.47992 +L 152.138875 271.804235 +L 151.553718 272.288762 +L 149.712819 274.040471 +L 149.636295 274.103109 +L 147.718872 275.871833 +L 147.323368 276.276706 +L 145.80145 277.649058 +L 144.927344 278.512941 +L 143.884027 279.438021 +L 142.520785 280.749176 +L 141.966604 281.234471 +L 140.107003 282.985412 +L 140.049181 283.035589 +L 138.131758 284.811154 +L 137.713552 285.221647 +L 136.214336 286.592049 +L 135.315391 287.457882 +L 134.296913 288.379644 +L 132.911148 289.694118 +L 132.37949 290.171756 +L 130.502693 291.930353 +L 130.462067 291.966664 +L 128.544644 293.746151 +L 128.106532 294.166588 +L 126.627221 295.5295 +L 125.706957 296.402824 +L 124.709799 297.316734 +L 123.303973 298.639059 +L 122.792376 299.106387 +L 120.898937 300.875294 +L 120.874953 300.897168 +L 118.95753 302.679756 +L 118.500452 303.111529 +L 117.040107 304.464994 +L 116.099808 305.347765 +L 115.122685 306.252125 +L 113.697765 307.584 z -M 200.79924 298.769748 -L 199.029262 298.426867 -L 196.632483 297.768888 -L 194.235705 296.919132 -L 191.838926 295.880048 -L 191.810562 295.865546 -L 189.442148 294.743697 -L 187.045369 293.439056 -L 186.266605 292.961345 -L 184.648591 292.032913 -L 182.251812 290.50668 -L 181.607707 290.057143 -L 179.855034 288.903212 -L 177.458255 287.191523 -L 177.408011 287.152941 -L 175.061477 285.440368 -L 173.531365 284.248739 -L 172.664698 283.602879 -L 170.267919 281.709615 -L 169.829305 281.344538 -L 167.871141 279.775218 -L 166.281918 278.440336 -L 165.474362 277.783455 -L 163.077584 275.750045 -L 162.834758 275.536134 -L 160.680805 273.688699 -L 159.48927 272.631933 -L 158.284027 271.585863 -L 156.205592 269.727731 -L 155.887248 269.447849 -L 153.49047 267.285267 -L 152.990101 266.823529 -L 151.093691 265.094396 -L 149.829398 263.919328 -L 148.696913 262.874501 -L 146.713458 261.015126 -L 146.300134 260.628753 -L 143.903356 258.359231 -L 143.643698 258.110924 -L 141.506577 256.063758 -L 140.618038 255.206723 -L 139.109799 253.742861 -L 137.631703 252.302521 -L 136.71302 251.397557 -L 134.685705 249.398319 -L 134.316242 249.028272 -L 131.919463 246.631985 -L 131.78092 246.494118 -L 129.522685 244.200637 -L 128.91676 243.589916 -L 127.125906 241.738417 -L 126.096867 240.685714 -L 124.729128 239.242859 -L 123.324893 237.781513 -L 122.332349 236.710334 -L 120.605265 234.877311 -L 119.93557 234.135713 -L 117.943331 231.973109 -L 117.538792 231.511891 -L 115.345553 229.068908 -L 115.142013 228.829043 -L 112.819762 226.164706 -L 112.745235 226.0735 -L 110.375488 223.260504 -L 110.348456 223.225957 -L 108.024417 220.356303 -L 107.951678 220.258551 -L 105.781001 217.452101 -L 105.554899 217.129853 -L 103.663294 214.547899 -L 103.158121 213.775844 -L 101.694136 211.643697 -L 100.761342 210.092544 -L 99.902822 208.739496 -L 98.364564 205.89965 -L 98.327557 205.835294 -L 96.951328 202.931092 -L 95.967785 200.277038 -L 95.868697 200.026891 -L 95.044147 197.122689 -L 94.549179 194.218487 -L 94.386028 191.314286 -L 94.555432 188.410084 -L 95.056625 185.505882 -L 95.887343 182.601681 -L 95.967785 182.399672 -L 96.974463 179.697479 -L 98.35628 176.793277 -L 98.364564 176.778918 -L 99.935019 173.889076 -L 100.761342 172.590291 -L 101.729384 170.984874 -L 103.158121 168.908827 -L 103.701245 168.080672 -L 105.554899 165.55549 -L 105.821357 165.176471 -L 107.951678 162.426884 -L 108.066928 162.272269 -L 110.348456 159.459281 -L 110.419932 159.368067 -L 112.745235 156.611404 -L 112.865949 156.463866 -L 115.142013 153.855475 -L 115.393312 153.559664 -L 117.538792 151.172237 -L 117.992508 150.655462 -L 119.93557 148.548049 -L 120.655722 147.751261 -L 122.332349 145.973104 -L 123.376503 144.847059 -L 124.729128 143.440306 -L 126.149512 141.942857 -L 127.125906 140.944536 -L 128.97033 139.038655 -L 129.522685 138.482167 -L 131.835312 136.134454 -L 131.919463 136.050741 -L 134.316242 133.655259 -L 134.740721 133.230252 -L 136.71302 131.285748 -L 137.687506 130.32605 -L 139.109799 128.94031 -L 140.674542 127.421849 -L 141.506577 126.619373 -L 143.700816 124.517647 -L 143.903356 124.323959 -L 146.300134 122.054412 -L 146.771854 121.613445 -L 148.696913 119.808639 -L 149.88843 118.709244 -L 151.093691 117.588836 -L 153.049693 115.805042 -L 153.49047 115.398186 -L 155.887248 113.235018 -L 156.267247 112.90084 -L 158.284027 111.097177 -L 159.551569 109.996639 -L 160.680805 108.99467 -L 162.897639 107.092437 -L 163.077584 106.933832 -L 165.474362 104.899297 -L 166.348043 104.188235 -L 167.871141 102.908053 -L 169.896227 101.284034 -L 170.267919 100.97442 -L 172.664698 99.079698 -L 173.603111 98.379832 -L 175.061477 97.243065 -L 177.458255 95.492263 -L 177.482737 95.47563 -L 179.855034 93.779687 -L 181.688343 92.571429 -L 182.251812 92.177707 -L 184.648591 90.649681 -L 186.358742 89.667227 -L 187.045369 89.245468 -L 189.442148 87.939073 -L 191.838926 86.802262 -L 191.936484 86.763025 -L 194.235705 85.7647 -L 196.632483 84.913636 -L 199.029262 84.254644 -L 201.069374 83.858824 -L 201.42604 83.783268 -L 203.822819 83.488788 -L 206.219597 83.408407 -L 208.616376 83.542358 -L 210.796613 83.858824 -L 211.013154 83.887611 -L 213.409933 84.401271 -L 215.806711 85.108481 -L 218.20349 86.007202 -L 219.869056 86.763025 -L 220.600268 87.070378 -L 222.997047 88.249912 -L 225.393826 89.598134 -L 225.503276 89.667227 -L 227.790604 91.017685 -L 230.16994 92.571429 -L 230.187383 92.582172 -L 232.584161 94.195689 -L 234.341024 95.47563 -L 234.98094 95.918671 -L 237.377718 97.69932 -L 238.237619 98.379832 -L 239.774497 99.543535 -L 241.946425 101.284034 -L 242.171275 101.457507 -L 244.568054 103.403241 -L 245.491817 104.188235 -L 246.964832 105.400293 -L 248.938795 107.092437 -L 249.361611 107.445297 -L 251.758389 109.520006 -L 252.291413 109.996639 -L 254.155168 111.627431 -L 255.569362 112.90084 -L 256.551946 113.770857 -L 258.792471 115.805042 -L 258.948725 115.945203 -L 261.345503 118.142131 -L 261.952957 118.709244 -L 263.742282 120.367319 -L 265.066787 121.613445 -L 266.13906 122.619332 -L 268.138301 124.517647 -L 268.535839 124.895725 -L 270.932617 127.196049 -L 271.166438 127.421849 -L 273.329396 129.523496 -L 274.15267 130.32605 -L 275.726174 131.876521 -L 277.099498 133.230252 -L 278.122953 134.254801 -L 280.005313 136.134454 -L 280.519732 136.658656 -L 282.867976 139.038655 -L 282.91651 139.089108 -L 285.313289 141.559905 -L 285.688997 141.942857 -L 287.710067 144.066961 -L 288.463067 144.847059 -L 290.106846 146.612888 -L 291.185251 147.751261 -L 292.503624 149.203127 -L 293.850082 150.655462 -L 294.900403 151.845197 -L 296.450956 153.559664 -L 297.297181 154.549463 -L 298.979863 156.463866 -L 299.69396 157.330328 -L 301.42704 159.368067 -L 302.090738 160.208096 -L 303.780494 162.272269 -L 304.487517 163.212044 -L 306.025364 165.176471 -L 306.884295 166.385649 -L 308.143028 168.080672 -L 309.281074 169.796015 -L 310.109854 170.984874 -L 311.677852 173.551989 -L 311.895414 173.889076 -L 313.496471 176.793277 -L 314.074631 178.064877 -L 314.863935 179.697479 -L 315.963298 182.601681 -L 316.471409 184.470349 -L 316.772946 185.505882 -L 317.283163 188.410084 -L 317.455616 191.314286 -L 317.289528 194.218487 -L 316.785648 197.122689 -L 316.471409 198.209915 -L 315.981023 200.026891 -L 314.887443 202.931092 -L 314.074631 204.619144 -L 313.523918 205.835294 -L 311.928076 208.739496 -L 311.677852 209.12824 -L 310.14556 211.643697 -L 309.281074 212.88662 -L 308.181419 214.547899 -L 306.884295 216.298059 -L 306.066141 217.452101 -L 304.487517 219.472053 -L 303.8234 220.356303 -L 302.090738 222.47603 -L 301.471852 223.260504 -L 299.69396 225.353644 -L 299.026387 226.164706 -L 297.297181 228.134268 -L 296.49902 229.068908 -L 294.900403 230.838266 -L 293.899531 231.973109 -L 292.503624 233.480073 -L 291.235945 234.877311 -L 290.106846 236.070077 -L 288.514878 237.781513 -L 287.710067 238.61581 -L 285.741806 240.685714 -L 285.313289 241.122724 -L 282.921266 243.589916 -L 282.91651 243.594698 -L 280.519732 246.024931 -L 280.059499 246.494118 -L 278.122953 248.428529 -L 277.154523 249.398319 -L 275.726174 250.806638 -L 274.208443 252.302521 -L 273.329396 253.159581 -L 271.22287 255.206723 -L 270.932617 255.48704 -L 268.535839 257.787533 -L 268.195827 258.110924 -L 266.13906 260.06384 -L 265.124979 261.015126 -L 263.742282 262.315875 -L 262.011736 263.919328 -L 261.345503 264.541202 -L 258.948725 266.73773 -L 258.853056 266.823529 -L 256.551946 268.912155 -L 255.630597 269.727731 -L 254.155168 271.0558 -L 252.353232 272.631933 -L 251.758389 273.163602 -L 249.361611 275.237367 -L 249.00345 275.536134 -L 246.964832 277.282736 -L 245.557221 278.440336 -L 244.568054 279.280356 -L 242.171275 281.224811 -L 242.015988 281.344538 -L 239.774497 283.139399 -L 238.308286 284.248739 -L 237.377718 284.98452 -L 234.98094 286.763582 -L 234.418059 287.152941 -L 232.584161 288.487637 -L 230.250366 290.057143 -L 230.187383 290.102044 -L 227.790604 291.665341 -L 225.592927 292.961345 -L 225.393826 293.086863 -L 222.997047 294.433275 -L 220.600268 295.611225 -L 219.994408 295.865546 -L 218.20349 296.677003 -L 215.806711 297.574342 -L 213.409933 298.280465 -L 211.123385 298.769748 -L 211.013154 298.795496 -L 208.616376 299.142777 -L 206.219597 299.276492 -L 203.822819 299.196253 -L 201.42604 298.902294 +M 160.639392 238.260706 +L 159.223409 237.996687 +L 157.305987 237.490044 +L 155.388564 236.835732 +L 153.471141 236.035637 +L 153.44845 236.024471 +L 151.553718 235.160646 +L 149.636295 234.156073 +L 149.013284 233.788235 +L 147.718872 233.073343 +L 145.80145 231.898144 +L 145.286166 231.552 +L 143.884027 230.663473 +L 141.966604 229.345472 +L 141.926409 229.315765 +L 140.049181 227.997084 +L 138.825092 227.079529 +L 138.131758 226.582217 +L 136.214336 225.124403 +L 135.863444 224.843294 +L 134.296913 223.634918 +L 133.025535 222.607059 +L 132.37949 222.10126 +L 130.462067 220.535535 +L 130.267806 220.370824 +L 128.544644 218.948298 +L 127.591416 218.134588 +L 126.627221 217.329115 +L 124.964474 215.898353 +L 124.709799 215.682844 +L 122.792376 214.017655 +L 122.392081 213.662118 +L 120.874953 212.330685 +L 119.863518 211.425882 +L 118.95753 210.621366 +L 117.370766 209.189647 +L 117.040107 208.89214 +L 115.122685 207.144608 +L 114.914958 206.953412 +L 113.205262 205.377094 +L 112.49443 204.717176 +L 111.287839 203.590003 +L 110.105362 202.480941 +L 109.370416 201.784119 +L 107.748564 200.244706 +L 107.452993 199.959769 +L 105.53557 198.114629 +L 105.424736 198.008471 +L 103.618148 196.242491 +L 103.133408 195.772235 +L 101.700725 194.346581 +L 100.877494 193.536 +L 99.783302 192.425002 +L 98.659914 191.299765 +L 97.865879 190.474957 +L 96.484212 189.063529 +L 95.948456 188.492499 +L 94.354664 186.827294 +L 94.031034 186.472156 +L 92.276443 184.591059 +L 92.113611 184.406363 +L 90.255809 182.354824 +L 90.196188 182.284595 +L 88.30039 180.118588 +L 88.278765 180.091987 +L 86.419534 177.882353 +L 86.361342 177.807085 +L 84.624801 175.646118 +L 84.443919 175.397987 +L 82.930635 173.409882 +L 82.526497 172.8154 +L 81.355308 171.173647 +L 80.609074 169.979259 +L 79.922258 168.937412 +L 78.691651 166.75073 +L 78.662046 166.701176 +L 77.561062 164.464941 +L 76.774228 162.421319 +L 76.694958 162.228706 +L 76.035318 159.992471 +L 75.639343 157.756235 +L 75.508822 155.52 +L 75.644345 153.283765 +L 76.0453 151.047529 +L 76.709874 148.811294 +L 76.774228 148.655747 +L 77.57957 146.575059 +L 78.685024 144.338824 +L 78.691651 144.327767 +L 79.948015 142.102588 +L 80.609074 141.102524 +L 81.383508 139.866353 +L 82.526497 138.267797 +L 82.960996 137.630118 +L 84.443919 135.685727 +L 84.657086 135.393882 +L 86.361342 133.2767 +L 86.453542 133.157647 +L 88.278765 130.991646 +L 88.335946 130.921412 +L 90.196188 128.798781 +L 90.292759 128.685176 +L 92.113611 126.676716 +L 92.31465 126.448941 +L 94.031034 124.610623 +L 94.394006 124.212706 +L 95.948456 122.589998 +L 96.524577 121.976471 +L 97.865879 120.60729 +L 98.701202 119.740235 +L 99.783302 118.657036 +L 100.919609 117.504 +L 101.700725 116.735293 +L 103.176264 115.267765 +L 103.618148 114.839269 +L 105.468249 113.031529 +L 105.53557 112.96707 +L 107.452993 111.12255 +L 107.792577 110.795294 +L 109.370416 109.298026 +L 110.150005 108.559059 +L 111.287839 107.492038 +L 112.539633 106.322824 +L 113.205262 105.704917 +L 114.960653 104.086588 +L 115.122685 103.937449 +L 117.040107 102.189897 +L 117.417483 101.850353 +L 118.95753 100.460652 +L 119.910744 99.614118 +L 120.874953 98.751404 +L 122.439754 97.377882 +L 122.792376 97.064603 +L 124.709799 95.398964 +L 125.013797 95.141647 +L 126.627221 93.752826 +L 127.641255 92.905412 +L 128.544644 92.133896 +L 130.318111 90.669176 +L 130.462067 90.547051 +L 132.37949 88.980459 +L 133.078434 88.432941 +L 134.296913 87.447201 +L 135.916982 86.196706 +L 136.214336 85.958304 +L 138.131758 84.499367 +L 138.882489 83.960471 +L 140.049181 83.08516 +L 141.966604 81.737042 +L 141.986189 81.724235 +L 143.884027 80.418359 +L 145.350674 79.488 +L 145.80145 79.184834 +L 147.718872 78.008254 +L 149.086993 77.251765 +L 149.636295 76.92701 +L 151.553718 75.921086 +L 153.471141 75.045741 +L 153.549187 75.015529 +L 155.388564 74.246819 +L 157.305987 73.591499 +L 159.223409 73.084076 +L 160.855499 72.779294 +L 161.140832 72.721116 +L 163.058255 72.494367 +L 164.975678 72.432474 +L 166.893101 72.535616 +L 168.637291 72.779294 +L 168.810523 72.80146 +L 170.727946 73.196979 +L 172.645369 73.741531 +L 174.562792 74.433546 +L 175.895245 75.015529 +L 176.480215 75.252191 +L 178.397638 76.160432 +L 180.31506 77.198563 +L 180.402621 77.251765 +L 182.232483 78.291617 +L 184.135952 79.488 +L 184.149906 79.496272 +L 186.067329 80.73868 +L 187.472819 81.724235 +L 187.984752 82.065377 +L 189.902174 83.436477 +L 190.590095 83.960471 +L 191.819597 84.856522 +L 193.55714 86.196706 +L 193.73702 86.33028 +L 195.654443 87.828496 +L 196.393454 88.432941 +L 197.571866 89.366226 +L 199.151036 90.669176 +L 199.489289 90.940879 +L 201.406711 92.538405 +L 201.833131 92.905412 +L 203.324134 94.161122 +L 204.455489 95.141647 +L 205.241557 95.81156 +L 207.033977 97.377882 +L 207.15898 97.485806 +L 209.076403 99.177441 +L 209.562366 99.614118 +L 210.993826 100.890836 +L 212.05343 101.850353 +L 212.911248 102.624886 +L 214.510641 104.086588 +L 214.828671 104.377708 +L 216.746094 106.148958 +L 216.93315 106.322824 +L 218.663517 107.941092 +L 219.322136 108.559059 +L 220.58094 109.752921 +L 221.679598 110.795294 +L 222.498362 111.584197 +L 224.00425 113.031529 +L 224.415785 113.435165 +L 226.294381 115.267765 +L 226.333208 115.306613 +L 228.250631 117.209127 +L 228.551198 117.504 +L 230.168054 119.13956 +L 230.770454 119.740235 +L 232.085477 121.099924 +L 232.948201 121.976471 +L 234.002899 123.094408 +L 235.080066 124.212706 +L 235.920322 125.128801 +L 237.160765 126.448941 +L 237.837745 127.211087 +L 239.183891 128.685176 +L 239.755168 129.352352 +L 241.141632 130.921412 +L 241.672591 131.568234 +L 243.024396 133.157647 +L 243.590013 133.881274 +L 244.820291 135.393882 +L 245.507436 136.32495 +L 246.514422 137.630118 +L 247.424859 138.950932 +L 248.087883 139.866353 +L 249.342282 141.843031 +L 249.516332 142.102588 +L 250.797177 144.338824 +L 251.259705 145.317955 +L 251.891148 146.575059 +L 252.770639 148.811294 +L 253.177128 150.250169 +L 253.418357 151.047529 +L 253.82653 153.283765 +L 253.964493 155.52 +L 253.831622 157.756235 +L 253.428518 159.992471 +L 253.177128 160.829635 +L 252.784818 162.228706 +L 251.909954 164.464941 +L 251.259705 165.764741 +L 250.819135 166.701176 +L 249.542461 168.937412 +L 249.342282 169.236745 +L 248.116448 171.173647 +L 247.424859 172.130697 +L 246.545135 173.409882 +L 245.507436 174.757506 +L 244.852913 175.646118 +L 243.590013 177.20148 +L 243.05872 177.882353 +L 241.672591 179.514543 +L 241.177481 180.118588 +L 239.755168 181.730306 +L 239.22111 182.354824 +L 237.837745 183.871387 +L 237.199216 184.591059 +L 235.920322 185.953465 +L 235.119625 186.827294 +L 234.002899 187.987656 +L 232.988756 189.063529 +L 232.085477 189.981959 +L 230.811902 191.299765 +L 230.168054 191.942174 +L 228.593445 193.536 +L 228.250631 193.872497 +L 226.337013 195.772235 +L 226.333208 195.775918 +L 224.415785 197.647197 +L 224.047599 198.008471 +L 222.498362 199.497967 +L 221.723619 200.244706 +L 220.58094 201.329111 +L 219.366754 202.480941 +L 218.663517 203.140878 +L 216.978296 204.717176 +L 216.746094 204.933021 +L 214.828671 206.7044 +L 214.556662 206.953412 +L 212.911248 208.457156 +L 212.099983 209.189647 +L 210.993826 210.191224 +L 209.609389 211.425882 +L 209.076403 211.904726 +L 207.15898 213.596052 +L 207.082445 213.662118 +L 205.241557 215.270359 +L 204.504477 215.898353 +L 203.324134 216.920966 +L 201.882585 218.134588 +L 201.406711 218.543973 +L 199.489289 220.140773 +L 199.20276 220.370824 +L 197.571866 221.715707 +L 196.445777 222.607059 +L 195.654443 223.253874 +L 193.73702 224.751105 +L 193.61279 224.843294 +L 191.819597 226.225337 +L 190.646629 227.079529 +L 189.902174 227.64608 +L 187.984752 229.015958 +L 187.534447 229.315765 +L 186.067329 230.34348 +L 184.200293 231.552 +L 184.149906 231.586574 +L 182.232483 232.790312 +L 180.474342 233.788235 +L 180.31506 233.884885 +L 178.397638 234.921622 +L 176.480215 235.828643 +L 175.995526 236.024471 +L 174.562792 236.649292 +L 172.645369 237.340243 +L 170.727946 237.883958 +L 168.898708 238.260706 +L 168.810523 238.280532 +L 166.893101 238.547938 +L 164.975678 238.650898 +L 163.058255 238.589115 +L 161.140832 238.362766 z " style="fill:#d7e8f1;"/> - <path clip-path="url(#p553f52e075)" d="M 424.326443 388.8 -L 426.723221 388.8 -L 429.12 388.8 -L 429.12 385.895798 -L 429.12 382.991597 -L 429.12 382.48766 -L 428.606714 382.991597 -L 426.723221 384.805886 -L 425.606123 385.895798 -L 424.326443 387.126669 -L 422.603696 388.8 + <path clip-path="url(#p0bba778d2e)" d="M 339.461154 307.584 +L 341.378577 307.584 +L 343.296 307.584 +L 343.296 305.347765 +L 343.296 303.111529 +L 343.296 302.723498 +L 342.885371 303.111529 +L 341.378577 304.508532 +L 340.484899 305.347765 +L 339.461154 306.295535 +L 338.082957 307.584 z " style="fill:#d7e8f1;"/> </g> <g id="PathCollection_12"> - <path clip-path="url(#p553f52e075)" d="M 153.49047 388.8 -L 155.887248 388.8 -L 158.284027 388.8 -L 160.680805 388.8 -L 161.331689 388.8 -L 163.077584 387.368643 -L 164.942963 385.895798 -L 165.474362 385.4702 -L 167.871141 383.629748 -L 168.74215 382.991597 -L 170.267919 381.85223 -L 172.664698 380.153656 -L 172.763804 380.087395 -L 175.061477 378.51382 -L 177.134732 377.183193 -L 177.458255 376.969387 -L 179.855034 375.496241 -L 182.003258 374.278992 -L 182.251812 374.133163 -L 184.648591 372.85014 -L 187.045369 371.694003 -L 187.791124 371.37479 -L 189.442148 370.638675 -L 191.838926 369.70878 -L 194.235705 368.920282 -L 195.907183 368.470588 -L 196.632483 368.266016 -L 199.029262 367.742568 -L 201.42604 367.373194 -L 203.822819 367.158961 -L 206.219597 367.100484 -L 208.616376 367.197933 -L 211.013154 367.451027 -L 213.409933 367.859037 -L 215.806711 368.420786 -L 215.973921 368.470588 -L 218.20349 369.104019 -L 220.600268 369.928096 -L 222.997047 370.892937 -L 224.044261 371.37479 -L 225.393826 371.970953 -L 227.790604 373.159138 -L 229.832972 374.278992 -L 230.187383 374.466669 -L 232.584161 375.853901 -L 234.706391 377.183193 -L 234.98094 377.3502 -L 237.377718 378.914688 -L 239.064301 380.087395 -L 239.774497 380.569475 -L 242.171275 382.291323 -L 243.097647 382.991597 -L 244.568054 384.082148 -L 246.904175 385.895798 -L 246.964832 385.942223 -L 249.361611 387.853303 -L 250.506287 388.8 -L 251.758389 388.8 -L 254.155168 388.8 -L 256.551946 388.8 -L 258.948725 388.8 -L 260.495379 388.8 -L 258.948725 387.375195 -L 257.307696 385.895798 -L 256.551946 385.204707 -L 254.155168 383.067225 -L 254.067899 382.991597 -L 251.758389 380.951648 -L 250.747627 380.087395 -L 249.361611 378.873446 -L 247.359918 377.183193 -L 246.964832 376.839669 -L 244.568054 374.839288 -L 243.865333 374.278992 -L 242.171275 372.880415 -L 240.252277 371.37479 -L 239.774497 370.984329 -L 237.377718 369.133559 -L 236.463169 368.470588 -L 234.98094 367.34413 -L 232.584161 365.646674 -L 232.461478 365.566387 -L 230.187383 363.995052 -L 228.079026 362.662185 -L 227.790604 362.468138 -L 225.393826 361.010214 -L 223.083559 359.757983 -L 222.997047 359.707629 -L 220.600268 358.487147 -L 218.20349 357.444726 -L 216.559145 356.853782 -L 215.806711 356.560387 -L 213.409933 355.824969 -L 211.013154 355.29082 -L 208.616376 354.95948 -L 206.219597 354.831903 -L 203.822819 354.908458 -L 201.42604 355.188924 -L 199.029262 355.672493 -L 196.632483 356.35777 -L 195.289189 356.853782 -L 194.235705 357.212307 -L 191.838926 358.209722 -L 189.442148 359.385999 -L 188.782585 359.757983 -L 187.045369 360.670392 -L 184.648591 362.088992 -L 183.775933 362.662185 -L 182.251812 363.602864 -L 179.855034 365.224175 -L 179.388656 365.566387 -L 177.458255 366.90794 -L 175.367021 368.470588 -L 175.061477 368.688369 -L 172.664698 370.5113 -L 171.593628 371.37479 -L 170.267919 372.400867 -L 167.965024 374.278992 -L 167.871141 374.352937 -L 165.474362 376.331506 -L 164.485185 377.183193 -L 163.077584 378.360183 -L 161.088228 380.087395 -L 160.680805 380.432728 -L 158.284027 382.533409 -L 157.776502 382.991597 -L 155.887248 384.665008 -L 154.533291 385.895798 -L 153.49047 386.830342 -L 151.341447 388.8 + <path clip-path="url(#p0bba778d2e)" d="M 122.792376 307.584 +L 124.709799 307.584 +L 126.627221 307.584 +L 128.544644 307.584 +L 129.065351 307.584 +L 130.462067 306.481855 +L 131.95437 305.347765 +L 132.37949 305.020054 +L 134.296913 303.602906 +L 134.99372 303.111529 +L 136.214336 302.234217 +L 138.131758 300.926315 +L 138.211043 300.875294 +L 140.049181 299.663641 +L 141.707786 298.639059 +L 141.966604 298.474428 +L 143.884027 297.340105 +L 145.602607 296.402824 +L 145.80145 296.290535 +L 147.718872 295.302608 +L 149.636295 294.412383 +L 150.2329 294.166588 +L 151.553718 293.59978 +L 153.471141 292.883761 +L 155.388564 292.276617 +L 156.725747 291.930353 +L 157.305987 291.772833 +L 159.223409 291.369777 +L 161.140832 291.08536 +L 163.058255 290.9204 +L 164.975678 290.875373 +L 166.893101 290.950409 +L 168.810523 291.145291 +L 170.727946 291.459458 +L 172.645369 291.892005 +L 172.779137 291.930353 +L 174.562792 292.418095 +L 176.480215 293.052634 +L 178.397638 293.795562 +L 179.235409 294.166588 +L 180.31506 294.625634 +L 182.232483 295.540537 +L 183.866377 296.402824 +L 184.149906 296.547335 +L 186.067329 297.615504 +L 187.765113 298.639059 +L 187.984752 298.767654 +L 189.902174 299.97231 +L 191.251441 300.875294 +L 191.819597 301.246496 +L 193.73702 302.572319 +L 194.478117 303.111529 +L 195.654443 303.951254 +L 197.52334 305.347765 +L 197.571866 305.383512 +L 199.489289 306.855043 +L 200.405029 307.584 +L 201.406711 307.584 +L 203.324134 307.584 +L 205.241557 307.584 +L 207.15898 307.584 +L 208.396304 307.584 +L 207.15898 306.4869 +L 205.846157 305.347765 +L 205.241557 304.815624 +L 203.324134 303.169763 +L 203.254319 303.111529 +L 201.406711 301.540769 +L 200.598102 300.875294 +L 199.489289 299.940554 +L 197.887934 298.639059 +L 197.571866 298.374545 +L 195.654443 296.834252 +L 195.092266 296.402824 +L 193.73702 295.32592 +L 192.201821 294.166588 +L 191.819597 293.865933 +L 189.902174 292.44084 +L 189.170535 291.930353 +L 187.984752 291.06298 +L 186.067329 289.755939 +L 185.969183 289.694118 +L 184.149906 288.48419 +L 182.463221 287.457882 +L 182.232483 287.308466 +L 180.31506 286.185865 +L 178.466847 285.221647 +L 178.397638 285.182875 +L 176.480215 284.243103 +L 174.562792 283.440439 +L 173.247316 282.985412 +L 172.645369 282.759498 +L 170.727946 282.193226 +L 168.810523 281.781931 +L 166.893101 281.526799 +L 164.975678 281.428566 +L 163.058255 281.487513 +L 161.140832 281.703472 +L 159.223409 282.075819 +L 157.305987 282.603483 +L 156.231351 282.985412 +L 155.388564 283.261476 +L 153.471141 284.029486 +L 151.553718 284.935219 +L 151.026068 285.221647 +L 149.636295 285.924202 +L 147.718872 287.016524 +L 147.020747 287.457882 +L 145.80145 288.182206 +L 143.884027 289.430615 +L 143.510925 289.694118 +L 141.966604 290.727114 +L 140.293617 291.930353 +L 140.049181 292.098044 +L 138.131758 293.501701 +L 137.274902 294.166588 +L 136.214336 294.956668 +L 134.372019 296.402824 +L 134.296913 296.459762 +L 132.37949 297.98326 +L 131.588148 298.639059 +L 130.462067 299.545341 +L 128.870582 300.875294 +L 128.544644 301.141201 +L 126.627221 302.758725 +L 126.221202 303.111529 +L 124.709799 304.400056 +L 123.626633 305.347765 +L 122.792376 306.067364 +L 121.073157 307.584 z " style="fill:#6bacd1;"/> - <path clip-path="url(#p553f52e075)" d="M 201.42604 298.902294 -L 203.822819 299.196253 -L 206.219597 299.276492 -L 208.616376 299.142777 -L 211.013154 298.795496 -L 211.123385 298.769748 -L 213.409933 298.280465 -L 215.806711 297.574342 -L 218.20349 296.677003 -L 219.994408 295.865546 -L 220.600268 295.611225 -L 222.997047 294.433275 -L 225.393826 293.086863 -L 225.592927 292.961345 -L 227.790604 291.665341 -L 230.187383 290.102044 -L 230.250366 290.057143 -L 232.584161 288.487637 -L 234.418059 287.152941 -L 234.98094 286.763582 -L 237.377718 284.98452 -L 238.308286 284.248739 -L 239.774497 283.139399 -L 242.015988 281.344538 -L 242.171275 281.224811 -L 244.568054 279.280356 -L 245.557221 278.440336 -L 246.964832 277.282736 -L 249.00345 275.536134 -L 249.361611 275.237367 -L 251.758389 273.163602 -L 252.353232 272.631933 -L 254.155168 271.0558 -L 255.630597 269.727731 -L 256.551946 268.912155 -L 258.853056 266.823529 -L 258.948725 266.73773 -L 261.345503 264.541202 -L 262.011736 263.919328 -L 263.742282 262.315875 -L 265.124979 261.015126 -L 266.13906 260.06384 -L 268.195827 258.110924 -L 268.535839 257.787533 -L 270.932617 255.48704 -L 271.22287 255.206723 -L 273.329396 253.159581 -L 274.208443 252.302521 -L 275.726174 250.806638 -L 277.154523 249.398319 -L 278.122953 248.428529 -L 280.059499 246.494118 -L 280.519732 246.024931 -L 282.91651 243.594698 -L 282.921266 243.589916 -L 285.313289 241.122724 -L 285.741806 240.685714 -L 287.710067 238.61581 -L 288.514878 237.781513 -L 290.106846 236.070077 -L 291.235945 234.877311 -L 292.503624 233.480073 -L 293.899531 231.973109 -L 294.900403 230.838266 -L 296.49902 229.068908 -L 297.297181 228.134268 -L 299.026387 226.164706 -L 299.69396 225.353644 -L 301.471852 223.260504 -L 302.090738 222.47603 -L 303.8234 220.356303 -L 304.487517 219.472053 -L 306.066141 217.452101 -L 306.884295 216.298059 -L 308.181419 214.547899 -L 309.281074 212.88662 -L 310.14556 211.643697 -L 311.677852 209.12824 -L 311.928076 208.739496 -L 313.523918 205.835294 -L 314.074631 204.619144 -L 314.887443 202.931092 -L 315.981023 200.026891 -L 316.471409 198.209915 -L 316.785648 197.122689 -L 317.289528 194.218487 -L 317.455616 191.314286 -L 317.283163 188.410084 -L 316.772946 185.505882 -L 316.471409 184.470349 -L 315.963298 182.601681 -L 314.863935 179.697479 -L 314.074631 178.064877 -L 313.496471 176.793277 -L 311.895414 173.889076 -L 311.677852 173.551989 -L 310.109854 170.984874 -L 309.281074 169.796015 -L 308.143028 168.080672 -L 306.884295 166.385649 -L 306.025364 165.176471 -L 304.487517 163.212044 -L 303.780494 162.272269 -L 302.090738 160.208096 -L 301.42704 159.368067 -L 299.69396 157.330328 -L 298.979863 156.463866 -L 297.297181 154.549463 -L 296.450956 153.559664 -L 294.900403 151.845197 -L 293.850082 150.655462 -L 292.503624 149.203127 -L 291.185251 147.751261 -L 290.106846 146.612888 -L 288.463067 144.847059 -L 287.710067 144.066961 -L 285.688997 141.942857 -L 285.313289 141.559905 -L 282.91651 139.089108 -L 282.867976 139.038655 -L 280.519732 136.658656 -L 280.005313 136.134454 -L 278.122953 134.254801 -L 277.099498 133.230252 -L 275.726174 131.876521 -L 274.15267 130.32605 -L 273.329396 129.523496 -L 271.166438 127.421849 -L 270.932617 127.196049 -L 268.535839 124.895725 -L 268.138301 124.517647 -L 266.13906 122.619332 -L 265.066787 121.613445 -L 263.742282 120.367319 -L 261.952957 118.709244 -L 261.345503 118.142131 -L 258.948725 115.945203 -L 258.792471 115.805042 -L 256.551946 113.770857 -L 255.569362 112.90084 -L 254.155168 111.627431 -L 252.291413 109.996639 -L 251.758389 109.520006 -L 249.361611 107.445297 -L 248.938795 107.092437 -L 246.964832 105.400293 -L 245.491817 104.188235 -L 244.568054 103.403241 -L 242.171275 101.457507 -L 241.946425 101.284034 -L 239.774497 99.543535 -L 238.237619 98.379832 -L 237.377718 97.69932 -L 234.98094 95.918671 -L 234.341024 95.47563 -L 232.584161 94.195689 -L 230.187383 92.582172 -L 230.16994 92.571429 -L 227.790604 91.017685 -L 225.503276 89.667227 -L 225.393826 89.598134 -L 222.997047 88.249912 -L 220.600268 87.070378 -L 219.869056 86.763025 -L 218.20349 86.007202 -L 215.806711 85.108481 -L 213.409933 84.401271 -L 211.013154 83.887611 -L 210.796613 83.858824 -L 208.616376 83.542358 -L 206.219597 83.408407 -L 203.822819 83.488788 -L 201.42604 83.783268 -L 201.069374 83.858824 -L 199.029262 84.254644 -L 196.632483 84.913636 -L 194.235705 85.7647 -L 191.936484 86.763025 -L 191.838926 86.802262 -L 189.442148 87.939073 -L 187.045369 89.245468 -L 186.358742 89.667227 -L 184.648591 90.649681 -L 182.251812 92.177707 -L 181.688343 92.571429 -L 179.855034 93.779687 -L 177.482737 95.47563 -L 177.458255 95.492263 -L 175.061477 97.243065 -L 173.603111 98.379832 -L 172.664698 99.079698 -L 170.267919 100.97442 -L 169.896227 101.284034 -L 167.871141 102.908053 -L 166.348043 104.188235 -L 165.474362 104.899297 -L 163.077584 106.933832 -L 162.897639 107.092437 -L 160.680805 108.99467 -L 159.551569 109.996639 -L 158.284027 111.097177 -L 156.267247 112.90084 -L 155.887248 113.235018 -L 153.49047 115.398186 -L 153.049693 115.805042 -L 151.093691 117.588836 -L 149.88843 118.709244 -L 148.696913 119.808639 -L 146.771854 121.613445 -L 146.300134 122.054412 -L 143.903356 124.323959 -L 143.700816 124.517647 -L 141.506577 126.619373 -L 140.674542 127.421849 -L 139.109799 128.94031 -L 137.687506 130.32605 -L 136.71302 131.285748 -L 134.740721 133.230252 -L 134.316242 133.655259 -L 131.919463 136.050741 -L 131.835312 136.134454 -L 129.522685 138.482167 -L 128.97033 139.038655 -L 127.125906 140.944536 -L 126.149512 141.942857 -L 124.729128 143.440306 -L 123.376503 144.847059 -L 122.332349 145.973104 -L 120.655722 147.751261 -L 119.93557 148.548049 -L 117.992508 150.655462 -L 117.538792 151.172237 -L 115.393312 153.559664 -L 115.142013 153.855475 -L 112.865949 156.463866 -L 112.745235 156.611404 -L 110.419932 159.368067 -L 110.348456 159.459281 -L 108.066928 162.272269 -L 107.951678 162.426884 -L 105.821357 165.176471 -L 105.554899 165.55549 -L 103.701245 168.080672 -L 103.158121 168.908827 -L 101.729384 170.984874 -L 100.761342 172.590291 -L 99.935019 173.889076 -L 98.364564 176.778918 -L 98.35628 176.793277 -L 96.974463 179.697479 -L 95.967785 182.399672 -L 95.887343 182.601681 -L 95.056625 185.505882 -L 94.555432 188.410084 -L 94.386028 191.314286 -L 94.549179 194.218487 -L 95.044147 197.122689 -L 95.868697 200.026891 -L 95.967785 200.277038 -L 96.951328 202.931092 -L 98.327557 205.835294 -L 98.364564 205.89965 -L 99.902822 208.739496 -L 100.761342 210.092544 -L 101.694136 211.643697 -L 103.158121 213.775844 -L 103.663294 214.547899 -L 105.554899 217.129853 -L 105.781001 217.452101 -L 107.951678 220.258551 -L 108.024417 220.356303 -L 110.348456 223.225957 -L 110.375488 223.260504 -L 112.745235 226.0735 -L 112.819762 226.164706 -L 115.142013 228.829043 -L 115.345553 229.068908 -L 117.538792 231.511891 -L 117.943331 231.973109 -L 119.93557 234.135713 -L 120.605265 234.877311 -L 122.332349 236.710334 -L 123.324893 237.781513 -L 124.729128 239.242859 -L 126.096867 240.685714 -L 127.125906 241.738417 -L 128.91676 243.589916 -L 129.522685 244.200637 -L 131.78092 246.494118 -L 131.919463 246.631985 -L 134.316242 249.028272 -L 134.685705 249.398319 -L 136.71302 251.397557 -L 137.631703 252.302521 -L 139.109799 253.742861 -L 140.618038 255.206723 -L 141.506577 256.063758 -L 143.643698 258.110924 -L 143.903356 258.359231 -L 146.300134 260.628753 -L 146.713458 261.015126 -L 148.696913 262.874501 -L 149.829398 263.919328 -L 151.093691 265.094396 -L 152.990101 266.823529 -L 153.49047 267.285267 -L 155.887248 269.447849 -L 156.205592 269.727731 -L 158.284027 271.585863 -L 159.48927 272.631933 -L 160.680805 273.688699 -L 162.834758 275.536134 -L 163.077584 275.750045 -L 165.474362 277.783455 -L 166.281918 278.440336 -L 167.871141 279.775218 -L 169.829305 281.344538 -L 170.267919 281.709615 -L 172.664698 283.602879 -L 173.531365 284.248739 -L 175.061477 285.440368 -L 177.408011 287.152941 -L 177.458255 287.191523 -L 179.855034 288.903212 -L 181.607707 290.057143 -L 182.251812 290.50668 -L 184.648591 292.032913 -L 186.266605 292.961345 -L 187.045369 293.439056 -L 189.442148 294.743697 -L 191.810562 295.865546 -L 191.838926 295.880048 -L 194.235705 296.919132 -L 196.632483 297.768888 -L 199.029262 298.426867 -L 200.79924 298.769748 + <path clip-path="url(#p0bba778d2e)" d="M 161.140832 238.362766 +L 163.058255 238.589115 +L 164.975678 238.650898 +L 166.893101 238.547938 +L 168.810523 238.280532 +L 168.898708 238.260706 +L 170.727946 237.883958 +L 172.645369 237.340243 +L 174.562792 236.649292 +L 175.995526 236.024471 +L 176.480215 235.828643 +L 178.397638 234.921622 +L 180.31506 233.884885 +L 180.474342 233.788235 +L 182.232483 232.790312 +L 184.149906 231.586574 +L 184.200293 231.552 +L 186.067329 230.34348 +L 187.534447 229.315765 +L 187.984752 229.015958 +L 189.902174 227.64608 +L 190.646629 227.079529 +L 191.819597 226.225337 +L 193.61279 224.843294 +L 193.73702 224.751105 +L 195.654443 223.253874 +L 196.445777 222.607059 +L 197.571866 221.715707 +L 199.20276 220.370824 +L 199.489289 220.140773 +L 201.406711 218.543973 +L 201.882585 218.134588 +L 203.324134 216.920966 +L 204.504477 215.898353 +L 205.241557 215.270359 +L 207.082445 213.662118 +L 207.15898 213.596052 +L 209.076403 211.904726 +L 209.609389 211.425882 +L 210.993826 210.191224 +L 212.099983 209.189647 +L 212.911248 208.457156 +L 214.556662 206.953412 +L 214.828671 206.7044 +L 216.746094 204.933021 +L 216.978296 204.717176 +L 218.663517 203.140878 +L 219.366754 202.480941 +L 220.58094 201.329111 +L 221.723619 200.244706 +L 222.498362 199.497967 +L 224.047599 198.008471 +L 224.415785 197.647197 +L 226.333208 195.775918 +L 226.337013 195.772235 +L 228.250631 193.872497 +L 228.593445 193.536 +L 230.168054 191.942174 +L 230.811902 191.299765 +L 232.085477 189.981959 +L 232.988756 189.063529 +L 234.002899 187.987656 +L 235.119625 186.827294 +L 235.920322 185.953465 +L 237.199216 184.591059 +L 237.837745 183.871387 +L 239.22111 182.354824 +L 239.755168 181.730306 +L 241.177481 180.118588 +L 241.672591 179.514543 +L 243.05872 177.882353 +L 243.590013 177.20148 +L 244.852913 175.646118 +L 245.507436 174.757506 +L 246.545135 173.409882 +L 247.424859 172.130697 +L 248.116448 171.173647 +L 249.342282 169.236745 +L 249.542461 168.937412 +L 250.819135 166.701176 +L 251.259705 165.764741 +L 251.909954 164.464941 +L 252.784818 162.228706 +L 253.177128 160.829635 +L 253.428518 159.992471 +L 253.831622 157.756235 +L 253.964493 155.52 +L 253.82653 153.283765 +L 253.418357 151.047529 +L 253.177128 150.250169 +L 252.770639 148.811294 +L 251.891148 146.575059 +L 251.259705 145.317955 +L 250.797177 144.338824 +L 249.516332 142.102588 +L 249.342282 141.843031 +L 248.087883 139.866353 +L 247.424859 138.950932 +L 246.514422 137.630118 +L 245.507436 136.32495 +L 244.820291 135.393882 +L 243.590013 133.881274 +L 243.024396 133.157647 +L 241.672591 131.568234 +L 241.141632 130.921412 +L 239.755168 129.352352 +L 239.183891 128.685176 +L 237.837745 127.211087 +L 237.160765 126.448941 +L 235.920322 125.128801 +L 235.080066 124.212706 +L 234.002899 123.094408 +L 232.948201 121.976471 +L 232.085477 121.099924 +L 230.770454 119.740235 +L 230.168054 119.13956 +L 228.551198 117.504 +L 228.250631 117.209127 +L 226.333208 115.306613 +L 226.294381 115.267765 +L 224.415785 113.435165 +L 224.00425 113.031529 +L 222.498362 111.584197 +L 221.679598 110.795294 +L 220.58094 109.752921 +L 219.322136 108.559059 +L 218.663517 107.941092 +L 216.93315 106.322824 +L 216.746094 106.148958 +L 214.828671 104.377708 +L 214.510641 104.086588 +L 212.911248 102.624886 +L 212.05343 101.850353 +L 210.993826 100.890836 +L 209.562366 99.614118 +L 209.076403 99.177441 +L 207.15898 97.485806 +L 207.033977 97.377882 +L 205.241557 95.81156 +L 204.455489 95.141647 +L 203.324134 94.161122 +L 201.833131 92.905412 +L 201.406711 92.538405 +L 199.489289 90.940879 +L 199.151036 90.669176 +L 197.571866 89.366226 +L 196.393454 88.432941 +L 195.654443 87.828496 +L 193.73702 86.33028 +L 193.55714 86.196706 +L 191.819597 84.856522 +L 190.590095 83.960471 +L 189.902174 83.436477 +L 187.984752 82.065377 +L 187.472819 81.724235 +L 186.067329 80.73868 +L 184.149906 79.496272 +L 184.135952 79.488 +L 182.232483 78.291617 +L 180.402621 77.251765 +L 180.31506 77.198563 +L 178.397638 76.160432 +L 176.480215 75.252191 +L 175.895245 75.015529 +L 174.562792 74.433546 +L 172.645369 73.741531 +L 170.727946 73.196979 +L 168.810523 72.80146 +L 168.637291 72.779294 +L 166.893101 72.535616 +L 164.975678 72.432474 +L 163.058255 72.494367 +L 161.140832 72.721116 +L 160.855499 72.779294 +L 159.223409 73.084076 +L 157.305987 73.591499 +L 155.388564 74.246819 +L 153.549187 75.015529 +L 153.471141 75.045741 +L 151.553718 75.921086 +L 149.636295 76.92701 +L 149.086993 77.251765 +L 147.718872 78.008254 +L 145.80145 79.184834 +L 145.350674 79.488 +L 143.884027 80.418359 +L 141.986189 81.724235 +L 141.966604 81.737042 +L 140.049181 83.08516 +L 138.882489 83.960471 +L 138.131758 84.499367 +L 136.214336 85.958304 +L 135.916982 86.196706 +L 134.296913 87.447201 +L 133.078434 88.432941 +L 132.37949 88.980459 +L 130.462067 90.547051 +L 130.318111 90.669176 +L 128.544644 92.133896 +L 127.641255 92.905412 +L 126.627221 93.752826 +L 125.013797 95.141647 +L 124.709799 95.398964 +L 122.792376 97.064603 +L 122.439754 97.377882 +L 120.874953 98.751404 +L 119.910744 99.614118 +L 118.95753 100.460652 +L 117.417483 101.850353 +L 117.040107 102.189897 +L 115.122685 103.937449 +L 114.960653 104.086588 +L 113.205262 105.704917 +L 112.539633 106.322824 +L 111.287839 107.492038 +L 110.150005 108.559059 +L 109.370416 109.298026 +L 107.792577 110.795294 +L 107.452993 111.12255 +L 105.53557 112.96707 +L 105.468249 113.031529 +L 103.618148 114.839269 +L 103.176264 115.267765 +L 101.700725 116.735293 +L 100.919609 117.504 +L 99.783302 118.657036 +L 98.701202 119.740235 +L 97.865879 120.60729 +L 96.524577 121.976471 +L 95.948456 122.589998 +L 94.394006 124.212706 +L 94.031034 124.610623 +L 92.31465 126.448941 +L 92.113611 126.676716 +L 90.292759 128.685176 +L 90.196188 128.798781 +L 88.335946 130.921412 +L 88.278765 130.991646 +L 86.453542 133.157647 +L 86.361342 133.2767 +L 84.657086 135.393882 +L 84.443919 135.685727 +L 82.960996 137.630118 +L 82.526497 138.267797 +L 81.383508 139.866353 +L 80.609074 141.102524 +L 79.948015 142.102588 +L 78.691651 144.327767 +L 78.685024 144.338824 +L 77.57957 146.575059 +L 76.774228 148.655747 +L 76.709874 148.811294 +L 76.0453 151.047529 +L 75.644345 153.283765 +L 75.508822 155.52 +L 75.639343 157.756235 +L 76.035318 159.992471 +L 76.694958 162.228706 +L 76.774228 162.421319 +L 77.561062 164.464941 +L 78.662046 166.701176 +L 78.691651 166.75073 +L 79.922258 168.937412 +L 80.609074 169.979259 +L 81.355308 171.173647 +L 82.526497 172.8154 +L 82.930635 173.409882 +L 84.443919 175.397987 +L 84.624801 175.646118 +L 86.361342 177.807085 +L 86.419534 177.882353 +L 88.278765 180.091987 +L 88.30039 180.118588 +L 90.196188 182.284595 +L 90.255809 182.354824 +L 92.113611 184.406363 +L 92.276443 184.591059 +L 94.031034 186.472156 +L 94.354664 186.827294 +L 95.948456 188.492499 +L 96.484212 189.063529 +L 97.865879 190.474957 +L 98.659914 191.299765 +L 99.783302 192.425002 +L 100.877494 193.536 +L 101.700725 194.346581 +L 103.133408 195.772235 +L 103.618148 196.242491 +L 105.424736 198.008471 +L 105.53557 198.114629 +L 107.452993 199.959769 +L 107.748564 200.244706 +L 109.370416 201.784119 +L 110.105362 202.480941 +L 111.287839 203.590003 +L 112.49443 204.717176 +L 113.205262 205.377094 +L 114.914958 206.953412 +L 115.122685 207.144608 +L 117.040107 208.89214 +L 117.370766 209.189647 +L 118.95753 210.621366 +L 119.863518 211.425882 +L 120.874953 212.330685 +L 122.392081 213.662118 +L 122.792376 214.017655 +L 124.709799 215.682844 +L 124.964474 215.898353 +L 126.627221 217.329115 +L 127.591416 218.134588 +L 128.544644 218.948298 +L 130.267806 220.370824 +L 130.462067 220.535535 +L 132.37949 222.10126 +L 133.025535 222.607059 +L 134.296913 223.634918 +L 135.863444 224.843294 +L 136.214336 225.124403 +L 138.131758 226.582217 +L 138.825092 227.079529 +L 140.049181 227.997084 +L 141.926409 229.315765 +L 141.966604 229.345472 +L 143.884027 230.663473 +L 145.286166 231.552 +L 145.80145 231.898144 +L 147.718872 233.073343 +L 149.013284 233.788235 +L 149.636295 234.156073 +L 151.553718 235.160646 +L 153.44845 236.024471 +L 153.471141 236.035637 +L 155.388564 236.835732 +L 157.305987 237.490044 +L 159.223409 237.996687 +L 160.639392 238.260706 z -M 191.469434 284.248739 -L 189.442148 283.478075 -L 187.045369 282.431033 -L 184.838406 281.344538 -L 184.648591 281.254562 -L 182.251812 279.993761 -L 179.855034 278.611906 -L 179.580695 278.440336 -L 177.458255 277.154918 -L 175.061477 275.594162 -L 174.977968 275.536134 -L 172.664698 273.971094 -L 170.797302 272.631933 -L 170.267919 272.260415 -L 167.871141 270.488036 -L 166.890153 269.727731 -L 165.474362 268.648632 -L 163.178518 266.823529 -L 163.077584 266.744247 -L 160.680805 264.789438 -L 159.649091 263.919328 -L 158.284027 262.776542 -L 156.241368 261.015126 -L 155.887248 260.710625 -L 153.49047 258.595516 -L 152.953548 258.110924 -L 151.093691 256.429486 -L 149.766841 255.206723 -L 148.696913 254.214561 -L 146.667659 252.302521 -L 146.300134 251.952454 -L 143.903356 249.639954 -L 143.655371 249.398319 -L 141.506577 247.271782 -L 140.72618 246.494118 -L 139.109799 244.850248 -L 137.875475 243.589916 -L 136.71302 242.372409 -L 135.104362 240.685714 -L 134.316242 239.833574 -L 132.414955 237.781513 -L 131.919463 237.226914 -L 129.810421 234.877311 -L 129.522685 234.542853 -L 127.295048 231.973109 -L 127.125906 231.768178 -L 124.874366 229.068908 -L 124.729128 228.884691 -L 122.555307 226.164706 -L 122.332349 225.86713 -L 120.346431 223.260504 -L 119.93557 222.679892 -L 118.258221 220.356303 -L 117.538792 219.271657 -L 116.303479 217.452101 -L 115.142013 215.566201 -L 114.497844 214.547899 -L 112.857024 211.643697 -L 112.745235 211.417777 -L 111.378933 208.739496 -L 110.348456 206.373304 -L 110.105944 205.835294 -L 109.027133 202.931092 -L 108.183479 200.026891 -L 107.951678 198.913594 -L 107.564095 197.122689 -L 107.186802 194.218487 -L 107.062439 191.314286 -L 107.191568 188.410084 -L 107.573606 185.505882 -L 107.951678 183.771896 -L 108.197152 182.601681 -L 109.045268 179.697479 -L 110.128459 176.793277 -L 110.348456 176.306807 -L 111.404819 173.889076 -L 112.745235 171.268641 -L 112.886028 170.984874 -L 114.530612 168.080672 -L 115.142013 167.11607 -L 116.338902 165.176471 -L 117.538792 163.412099 -L 118.296112 162.272269 -L 119.93557 160.004536 -L 120.386625 159.368067 -L 122.332349 156.817507 -L 122.597657 156.463866 -L 124.729128 153.79989 -L 124.918739 153.559664 -L 127.125906 150.916203 -L 127.341324 150.655462 -L 129.522685 148.141259 -L 129.85849 147.751261 -L 131.919463 145.456905 -L 132.464718 144.847059 -L 134.316242 142.849962 -L 135.155726 141.942857 -L 136.71302 140.310877 -L 137.928355 139.038655 -L 139.109799 137.832834 -L 140.780496 136.134454 -L 141.506577 135.411159 -L 143.711051 133.230252 -L 143.903356 133.042918 -L 146.300134 130.730988 -L 146.725371 130.32605 -L 148.696913 128.468685 -L 149.82598 127.421849 -L 151.093691 126.253672 -L 153.014069 124.517647 -L 153.49047 124.087673 -L 155.887248 121.972539 -L 156.304852 121.613445 -L 158.284027 119.906608 -L 159.714147 118.709244 -L 160.680805 117.89385 -L 163.077584 115.938684 -L 163.247692 115.805042 -L 165.474362 114.034451 -L 166.961271 112.90084 -L 167.871141 112.1954 -L 170.267919 110.422382 -L 170.87435 109.996639 -L 172.664698 108.712147 -L 175.057686 107.092437 -L 175.061477 107.089802 -L 177.458255 105.528182 -L 179.669506 104.188235 -L 179.855034 104.072132 -L 182.251812 102.689367 -L 184.648591 101.427736 -L 184.951551 101.284034 -L 187.045369 100.252447 -L 189.442148 99.204598 -L 191.610083 98.379832 -L 191.838926 98.288839 -L 194.235705 97.480742 -L 196.632483 96.819886 -L 199.029262 96.308175 -L 201.42604 95.947084 -L 203.822819 95.737655 -L 206.219597 95.680489 -L 208.616376 95.775753 -L 211.013154 96.023172 -L 213.409933 96.422032 -L 215.806711 96.971185 -L 218.20349 97.669046 -L 220.22063 98.379832 -L 220.600268 98.507825 -L 222.997047 99.453919 -L 225.393826 100.535317 -L 226.872511 101.284034 -L 227.790604 101.731583 -L 230.187383 103.023851 -L 232.163234 104.188235 -L 232.584161 104.428428 -L 234.98094 105.908515 -L 236.767569 107.092437 -L 237.377718 107.486058 -L 239.774497 109.133108 -L 240.961832 109.996639 -L 242.171275 110.85736 -L 244.568054 112.65218 -L 244.885276 112.90084 -L 246.964832 114.503761 -L 248.585327 115.805042 -L 249.361611 116.420923 -L 251.758389 118.393266 -L 252.130091 118.709244 -L 254.155168 120.417931 -L 255.532012 121.613445 -L 256.551946 122.49648 -L 258.828689 124.517647 -L 258.948725 124.62438 -L 261.345503 126.802139 -L 262.015139 127.421849 -L 263.742282 129.030079 -L 265.113107 130.32605 -L 266.13906 131.306457 -L 268.127993 133.230252 -L 268.535839 133.630878 -L 270.932617 136.006782 -L 271.060618 136.134454 -L 273.329396 138.443755 -L 273.911952 139.038655 -L 275.726174 140.938833 -L 276.684419 141.942857 -L 278.122953 143.496992 -L 279.375734 144.847059 -L 280.519732 146.125427 -L 281.98256 147.751261 -L 282.91651 148.83417 -L 284.500427 150.655462 -L 285.313289 151.637026 -L 286.923607 153.559664 -L 287.710067 154.552966 -L 289.244942 156.463866 -L 290.106846 157.608284 -L 291.455609 159.368067 -L 292.503624 160.839989 -L 293.544803 162.272269 -L 294.900403 164.301365 -L 295.499331 165.176471 -L 297.297181 168.071472 -L 297.303055 168.080672 -L 298.959637 170.984874 -L 299.69396 172.45417 -L 300.434014 173.889076 -L 301.713413 176.793277 -L 302.090738 177.831807 -L 302.793056 179.697479 -L 303.649059 182.601681 -L 304.263934 185.505882 -L 304.487517 187.256239 -L 304.640882 188.410084 -L 304.771356 191.314286 -L 304.645698 194.218487 -L 304.487517 195.42353 -L 304.273169 197.122689 -L 303.66286 200.026891 -L 302.81136 202.931092 -L 302.090738 204.85316 -L 301.735346 205.835294 -L 300.460114 208.739496 -L 299.69396 210.229034 -L 298.988853 211.643697 -L 297.336063 214.547899 -L 297.297181 214.608918 -L 295.53498 217.452101 -L 294.900403 218.380874 -L 293.582904 220.356303 -L 292.503624 221.843199 -L 291.495992 223.260504 -L 290.106846 225.075327 -L 289.287457 226.164706 -L 287.710067 228.130762 -L 286.968119 229.068908 -L 285.313289 231.046643 -L 284.546812 231.973109 -L 282.91651 233.849347 -L 282.030708 234.877311 -L 280.519732 236.557899 -L 279.425542 237.781513 -L 278.122953 239.186138 -L 276.735792 240.685714 -L 275.726174 241.744123 -L 273.964803 243.589916 -L 273.329396 244.239066 -L 271.114866 246.494118 -L 270.932617 246.675958 -L 268.535839 249.052662 -L 268.18407 249.398319 -L 266.13906 251.376843 -L 265.170617 252.302521 -L 263.742282 253.653077 -L 262.074026 255.206723 -L 261.345503 255.880979 -L 258.948725 258.058898 -L 258.890218 258.110924 -L 256.551946 260.18669 -L 255.595064 261.015126 -L 254.155168 262.265268 -L 252.194644 263.919328 -L 251.758389 264.290114 -L 249.361611 266.262096 -L 248.653826 266.823529 -L 246.964832 268.179449 -L 244.955618 269.727731 -L 244.568054 270.031421 -L 242.171275 271.825593 -L 241.037839 272.631933 -L 239.774497 273.550324 -L 237.377718 275.196626 -L 236.851208 275.536134 -L 234.98094 276.774795 -L 232.584161 278.254064 -L 232.257546 278.440336 -L 230.187383 279.659497 -L 227.790604 280.950916 -L 226.982604 281.344538 -L 225.393826 282.14838 -L 222.997047 283.228946 -L 220.600268 284.174312 -L 220.37934 284.248739 -L 218.20349 285.014767 -L 215.806711 285.712007 -L 213.409933 286.26067 -L 211.013154 286.659174 -L 208.616376 286.906373 -L 206.219597 287.001552 -L 203.822819 286.944437 -L 201.42604 286.735194 -L 199.029262 286.374425 -L 196.632483 285.863171 -L 194.235705 285.202903 -L 191.838926 284.395526 +M 153.175548 227.079529 +L 151.553718 226.486118 +L 149.636295 225.679895 +L 147.870725 224.843294 +L 147.718872 224.774013 +L 145.80145 223.803196 +L 143.884027 222.739167 +L 143.664556 222.607059 +L 141.966604 221.617287 +L 140.049181 220.415504 +L 139.982375 220.370824 +L 138.131758 219.165742 +L 136.637842 218.134588 +L 136.214336 217.848519 +L 134.296913 216.483788 +L 133.512123 215.898353 +L 132.37949 215.067447 +L 130.542814 213.662118 +L 130.462067 213.601071 +L 128.544644 212.095868 +L 127.719273 211.425882 +L 126.627221 210.545937 +L 124.993095 209.189647 +L 124.709799 208.955181 +L 122.792376 207.326547 +L 122.362839 206.953412 +L 120.874953 205.658704 +L 119.813472 204.717176 +L 118.95753 203.953212 +L 117.334127 202.480941 +L 117.040107 202.21139 +L 115.122685 200.430765 +L 114.924297 200.244706 +L 113.205262 198.607272 +L 112.580944 198.008471 +L 111.287839 196.742691 +L 110.30038 195.772235 +L 109.370416 194.834755 +L 108.08349 193.536 +L 107.452993 192.879852 +L 105.931964 191.299765 +L 105.53557 190.872724 +L 103.848337 189.063529 +L 103.618148 188.805997 +L 101.836038 186.827294 +L 101.700725 186.669497 +L 99.899493 184.591059 +L 99.783302 184.449212 +L 98.044245 182.354824 +L 97.865879 182.12569 +L 96.277144 180.118588 +L 95.948456 179.671517 +L 94.606577 177.882353 +L 94.031034 177.047176 +L 93.042783 175.646118 +L 92.113611 174.193974 +L 91.598275 173.409882 +L 90.285619 171.173647 +L 90.196188 170.999688 +L 89.103146 168.937412 +L 88.278765 167.115444 +L 88.084755 166.701176 +L 87.221706 164.464941 +L 86.546783 162.228706 +L 86.361342 161.371467 +L 86.051276 159.992471 +L 85.749441 157.756235 +L 85.649951 155.52 +L 85.753254 153.283765 +L 86.058885 151.047529 +L 86.361342 149.71236 +L 86.557722 148.811294 +L 87.236215 146.575059 +L 88.102767 144.338824 +L 88.278765 143.964241 +L 89.123855 142.102588 +L 90.196188 140.084853 +L 90.308823 139.866353 +L 91.62449 137.630118 +L 92.113611 136.887374 +L 93.071121 135.393882 +L 94.031034 134.035316 +L 94.63689 133.157647 +L 95.948456 131.411493 +L 96.3093 130.921412 +L 97.865879 128.95748 +L 98.078126 128.685176 +L 99.783302 126.633916 +L 99.934991 126.448941 +L 101.700725 124.413477 +L 101.873059 124.212706 +L 103.618148 122.276769 +L 103.886792 121.976471 +L 105.53557 120.209817 +L 105.971775 119.740235 +L 107.452993 118.202471 +L 108.124581 117.504 +L 109.370416 116.247376 +L 110.342684 115.267765 +L 111.287839 114.339283 +L 112.624397 113.031529 +L 113.205262 112.474592 +L 114.968841 110.795294 +L 115.122685 110.651047 +L 117.040107 108.87086 +L 117.380297 108.559059 +L 118.95753 107.128887 +L 119.860784 106.322824 +L 120.874953 105.423327 +L 122.411255 104.086588 +L 122.792376 103.755508 +L 124.709799 102.126855 +L 125.043882 101.850353 +L 126.627221 100.536088 +L 127.771318 99.614118 +L 128.544644 98.986264 +L 130.462067 97.480786 +L 130.598154 97.377882 +L 132.37949 96.014528 +L 133.569017 95.141647 +L 134.296913 94.598458 +L 136.214336 93.233234 +L 136.69948 92.905412 +L 138.131758 91.916353 +L 140.046149 90.669176 +L 140.049181 90.667147 +L 141.966604 89.4647 +L 143.735605 88.432941 +L 143.884027 88.343541 +L 145.80145 87.278812 +L 147.718872 86.307357 +L 147.961241 86.196706 +L 149.636295 85.402384 +L 151.553718 84.59554 +L 153.288066 83.960471 +L 153.471141 83.890406 +L 155.388564 83.268171 +L 157.305987 82.759312 +L 159.223409 82.365295 +L 161.140832 82.087255 +L 163.058255 81.925994 +L 164.975678 81.881977 +L 166.893101 81.95533 +L 168.810523 82.145842 +L 170.727946 82.452965 +L 172.645369 82.875812 +L 174.562792 83.413166 +L 176.176504 83.960471 +L 176.480215 84.059026 +L 178.397638 84.787518 +L 180.31506 85.620194 +L 181.498009 86.196706 +L 182.232483 86.541319 +L 184.149906 87.536366 +L 185.730587 88.432941 +L 186.067329 88.617889 +L 187.984752 89.757557 +L 189.414055 90.669176 +L 189.902174 90.972264 +L 191.819597 92.240493 +L 192.769466 92.905412 +L 193.73702 93.568167 +L 195.654443 94.950179 +L 195.908221 95.141647 +L 197.571866 96.375896 +L 198.868262 97.377882 +L 199.489289 97.852111 +L 201.406711 99.370815 +L 201.704073 99.614118 +L 203.324134 100.929807 +L 204.425609 101.850353 +L 205.241557 102.530289 +L 207.062951 104.086588 +L 207.15898 104.168773 +L 209.076403 105.845647 +L 209.612111 106.322824 +L 210.993826 107.561161 +L 212.090486 108.559059 +L 212.911248 109.313972 +L 214.502395 110.795294 +L 214.828671 111.103776 +L 216.746094 112.933223 +L 216.848494 113.031529 +L 218.663517 114.809691 +L 219.129562 115.267765 +L 220.58094 116.730901 +L 221.347536 117.504 +L 222.498362 118.700684 +L 223.500588 119.740235 +L 224.415785 120.724579 +L 225.586048 121.976471 +L 226.333208 122.810311 +L 227.600342 124.212706 +L 228.250631 124.96851 +L 229.538886 126.448941 +L 230.168054 127.213784 +L 231.395954 128.685176 +L 232.085477 129.566379 +L 233.164487 130.921412 +L 234.002899 132.054791 +L 234.835843 133.157647 +L 235.920322 134.720051 +L 236.399465 135.393882 +L 237.837745 137.623034 +L 237.842444 137.630118 +L 239.16771 139.866353 +L 239.755168 140.997711 +L 240.347211 142.102588 +L 241.370731 144.338824 +L 241.672591 145.138491 +L 242.234445 146.575059 +L 242.919247 148.811294 +L 243.411147 151.047529 +L 243.590013 152.395304 +L 243.712706 153.283765 +L 243.817085 155.52 +L 243.716558 157.756235 +L 243.590013 158.684118 +L 243.418536 159.992471 +L 242.930288 162.228706 +L 242.249088 164.464941 +L 241.672591 165.944933 +L 241.388277 166.701176 +L 240.368091 168.937412 +L 239.755168 170.084356 +L 239.191082 171.173647 +L 237.86885 173.409882 +L 237.837745 173.456867 +L 236.427984 175.646118 +L 235.920322 176.361273 +L 234.866323 177.882353 +L 234.002899 179.027263 +L 233.196794 180.118588 +L 232.085477 181.516002 +L 231.429966 182.354824 +L 230.168054 183.868686 +L 229.574495 184.591059 +L 228.250631 186.113915 +L 227.63745 186.827294 +L 226.333208 188.271997 +L 225.624566 189.063529 +L 224.415785 190.357582 +L 223.540433 191.299765 +L 222.498362 192.381326 +L 221.388634 193.536 +L 220.58094 194.350975 +L 219.171843 195.772235 +L 218.663517 196.272081 +L 216.891892 198.008471 +L 216.746094 198.148488 +L 214.828671 199.97855 +L 214.547256 200.244706 +L 212.911248 201.768169 +L 212.136494 202.480941 +L 210.993826 203.520869 +L 209.659221 204.717176 +L 209.076403 205.236353 +L 207.15898 206.913351 +L 207.112174 206.953412 +L 205.241557 208.551752 +L 204.476051 209.189647 +L 203.324134 210.152256 +L 201.755716 211.425882 +L 201.406711 211.711387 +L 199.489289 213.229814 +L 198.923061 213.662118 +L 197.571866 214.706176 +L 195.964495 215.898353 +L 195.654443 216.132194 +L 193.73702 217.513707 +L 192.830271 218.134588 +L 191.819597 218.841749 +L 189.902174 220.109402 +L 189.480967 220.370824 +L 187.984752 221.324592 +L 186.067329 222.463629 +L 185.806037 222.607059 +L 184.149906 223.545812 +L 182.232483 224.540205 +L 181.586083 224.843294 +L 180.31506 225.462253 +L 178.397638 226.294288 +L 176.480215 227.02222 +L 176.303472 227.079529 +L 174.562792 227.66937 +L 172.645369 228.206245 +L 170.727946 228.628716 +L 168.810523 228.935564 +L 166.893101 229.125907 +L 164.975678 229.199195 +L 163.058255 229.155217 +L 161.140832 228.9941 +L 159.223409 228.716308 +L 157.305987 228.322641 +L 155.388564 227.814235 +L 153.471141 227.192555 z " style="fill:#6bacd1;"/> - <path clip-path="url(#p553f52e075)" d="M 429.12 262.820239 -L 429.12 261.015126 -L 429.12 258.110924 -L 429.12 255.206723 -L 429.12 254.160022 -L 427.149317 252.302521 -L 426.723221 251.896524 -L 424.326443 249.583387 -L 424.136551 249.398319 -L 421.929664 247.213848 -L 421.207499 246.494118 -L 419.532886 244.790802 -L 418.356854 243.589916 -L 417.136107 242.311279 -L 415.585737 240.685714 -L 414.739329 239.770561 -L 412.89628 237.781513 -L 412.34255 237.161779 -L 410.291667 234.877311 -L 409.945772 234.475311 -L 407.776204 231.973109 -L 407.548993 231.697883 -L 405.355442 229.068908 -L 405.152215 228.811214 -L 403.036335 226.164706 -L 402.755436 225.789935 -L 400.82747 223.260504 -L 400.358658 222.598291 -L 398.739362 220.356303 -L 397.961879 219.184748 -L 396.784852 217.452101 -L 395.565101 215.472767 -L 394.979628 214.547899 -L 393.337665 211.643697 -L 393.168322 211.301703 -L 391.860201 208.739496 -L 390.771544 206.241681 -L 390.588198 205.835294 -L 389.508428 202.931092 -L 388.664023 200.026891 -L 388.374765 198.638872 -L 388.04631 197.122689 -L 387.668641 194.218487 -L 387.544154 191.314286 -L 387.673412 188.410084 -L 388.05583 185.505882 -L 388.374765 184.044578 -L 388.677709 182.601681 -L 389.526579 179.697479 -L 390.610733 176.793277 -L 390.771544 176.438 -L 391.886108 173.889076 -L 393.168322 171.384401 -L 393.366689 170.984874 -L 395.01242 168.080672 -L 395.565101 167.209321 -L 396.820297 165.176471 -L 397.961879 163.49886 -L 398.777274 162.272269 -L 400.358658 160.086016 -L 400.867683 159.368067 -L 402.755436 156.894601 -L 403.078701 156.463866 -L 405.152215 153.873284 -L 405.399828 153.559664 -L 407.548993 150.986429 -L 407.822491 150.655462 -L 409.945772 148.208743 -L 410.339743 147.751261 -L 412.34255 145.521992 -L 412.946047 144.847059 -L 414.739329 142.912937 -L 415.637101 141.942857 -L 417.136107 140.371975 -L 418.40973 139.038655 -L 419.532886 137.892255 -L 421.261808 136.134454 -L 421.929664 135.469073 -L 424.192219 133.230252 -L 424.326443 133.099471 -L 426.723221 130.786904 -L 427.207009 130.32605 -L 429.12 128.523215 -L 429.12 127.421849 -L 429.12 124.517647 -L 429.12 121.613445 -L 429.12 119.862906 -L 427.253476 121.613445 -L 426.723221 122.109303 -L 424.326443 124.379476 -L 424.181987 124.517647 -L 421.929664 126.675445 -L 421.155868 127.421849 -L 419.532886 128.997033 -L 418.168896 130.32605 -L 417.136107 131.343228 -L 415.222092 133.230252 -L 414.739329 133.713612 -L 412.34255 136.108903 -L 412.316862 136.134454 -L 409.945772 138.541155 -L 409.451857 139.038655 -L 407.548993 141.004488 -L 406.630964 141.942857 -L 405.152215 143.501379 -L 403.857835 144.847059 -L 402.755436 146.035478 -L 401.1369 147.751261 -L 400.358658 148.611937 -L 398.47351 150.655462 -L 397.961879 151.237894 -L 395.874131 153.559664 -L 395.565101 153.923211 -L 393.346596 156.463866 -L 393.168322 156.681603 -L 390.900443 159.368067 -L 390.771544 159.532431 -L 388.547368 162.272269 -L 388.374765 162.503621 -L 386.301836 165.176471 -L 385.977987 165.636667 -L 384.181927 168.080672 -L 383.581208 168.99563 -L 382.210513 170.984874 -L 381.18443 172.684442 -L 380.416951 173.889076 -L 378.836515 176.793277 -L 378.787651 176.90215 -L 377.455591 179.697479 -L 376.390872 182.551083 -L 376.370689 182.601681 -L 375.538546 185.505882 -L 375.036493 188.410084 -L 374.866798 191.314286 -L 375.030229 194.218487 -L 375.526047 197.122689 -L 376.352012 200.026891 -L 376.390872 200.124826 -L 377.432421 202.931092 -L 378.787651 205.786591 -L 378.809421 205.835294 -L 380.38471 208.739496 -L 381.18443 209.998138 -L 382.175221 211.643697 -L 383.581208 213.688842 -L 384.143934 214.547899 -L 385.977987 217.048516 -L 386.261439 217.452101 -L 388.374765 220.181683 -L 388.50482 220.356303 -L 390.771544 223.152698 -L 390.855963 223.260504 -L 393.168322 226.00321 -L 393.300376 226.164706 -L 395.565101 228.761231 -L 395.826343 229.068908 -L 397.961879 231.446169 -L 398.424306 231.973109 -L 400.358658 234.07177 -L 401.08642 234.877311 -L 402.755436 236.647914 -L 403.806206 237.781513 -L 405.152215 239.181748 -L 406.578304 240.685714 -L 407.548993 241.678433 -L 409.398276 243.589916 -L 409.945772 244.141624 -L 412.262462 246.494118 -L 412.34255 246.573804 -L 414.739329 248.9699 -L 415.167076 249.398319 -L 417.136107 251.340063 -L 418.113096 252.302521 -L 419.532886 253.686129 -L 421.099372 255.206723 -L 421.929664 256.007682 -L 424.12488 258.110924 -L 424.326443 258.303716 -L 426.723221 260.573862 -L 427.1951 261.015126 + <path clip-path="url(#p0bba778d2e)" d="M 343.296 210.579584 +L 343.296 209.189647 +L 343.296 206.953412 +L 343.296 204.717176 +L 343.296 203.911217 +L 341.719454 202.480941 +L 341.378577 202.168323 +L 339.461154 200.387208 +L 339.309241 200.244706 +L 337.543732 198.562663 +L 336.965999 198.008471 +L 335.626309 196.696918 +L 334.685483 195.772235 +L 333.708886 194.787685 +L 332.468589 193.536 +L 331.791463 192.831332 +L 330.317024 191.299765 +L 329.87404 190.82257 +L 328.233333 189.063529 +L 327.956617 188.753989 +L 326.220964 186.827294 +L 326.039195 186.61537 +L 324.284354 184.591059 +L 324.121772 184.392635 +L 322.429068 182.354824 +L 322.204349 182.06625 +L 320.661976 180.118588 +L 320.286926 179.608684 +L 318.99149 177.882353 +L 318.369503 176.980256 +L 317.427882 175.646118 +L 316.452081 174.12203 +L 315.983703 173.409882 +L 314.670132 171.173647 +L 314.534658 170.910311 +L 313.488161 168.937412 +L 312.617235 167.014095 +L 312.470559 166.701176 +L 311.606742 164.464941 +L 310.931218 162.228706 +L 310.699812 161.159932 +L 310.437048 159.992471 +L 310.134913 157.756235 +L 310.035323 155.52 +L 310.138729 153.283765 +L 310.444664 151.047529 +L 310.699812 149.922325 +L 310.942167 148.811294 +L 311.621263 146.575059 +L 312.488587 144.338824 +L 312.617235 144.06526 +L 313.508886 142.102588 +L 314.534658 140.173989 +L 314.693351 139.866353 +L 316.009936 137.630118 +L 316.452081 136.959177 +L 317.456237 135.393882 +L 318.369503 134.102122 +L 319.021819 133.157647 +L 320.286926 131.474232 +L 320.694146 130.921412 +L 322.204349 129.016843 +L 322.462961 128.685176 +L 324.121772 126.690428 +L 324.319863 126.448941 +L 326.039195 124.46755 +L 326.257993 124.212706 +L 327.956617 122.328732 +L 328.271795 121.976471 +L 329.87404 120.259934 +L 330.356837 119.740235 +L 331.791463 118.250961 +L 332.509681 117.504 +L 333.708886 116.294421 +L 334.727784 115.267765 +L 335.626309 114.385037 +L 337.009447 113.031529 +L 337.543732 112.519186 +L 339.353775 110.795294 +L 339.461154 110.694593 +L 341.378577 108.913916 +L 341.765607 108.559059 +L 343.296 107.170876 +L 343.296 106.322824 +L 343.296 104.086588 +L 343.296 101.850353 +L 343.296 100.502438 +L 341.80278 101.850353 +L 341.378577 102.232164 +L 339.461154 103.980196 +L 339.345589 104.086588 +L 337.543732 105.748092 +L 336.924694 106.322824 +L 335.626309 107.535715 +L 334.535117 108.559059 +L 333.708886 109.342286 +L 332.177674 110.795294 +L 331.791463 111.167481 +L 329.87404 113.011855 +L 329.853489 113.031529 +L 327.956617 114.884689 +L 327.561486 115.267765 +L 326.039195 116.781456 +L 325.304771 117.504 +L 324.121772 118.704062 +L 323.086268 119.740235 +L 322.204349 120.655318 +L 320.90952 121.976471 +L 320.286926 122.639192 +L 318.778808 124.212706 +L 318.369503 124.661179 +L 316.699304 126.448941 +L 316.452081 126.728872 +L 314.677276 128.685176 +L 314.534658 128.852834 +L 312.720354 130.921412 +L 312.617235 131.047972 +L 310.837895 133.157647 +L 310.699812 133.335788 +L 309.041469 135.393882 +L 308.782389 135.748234 +L 307.345541 137.630118 +L 306.864966 138.334635 +L 305.768411 139.866353 +L 304.947544 141.17502 +L 304.333561 142.102588 +L 303.069212 144.338824 +L 303.030121 144.422655 +L 301.964473 146.575059 +L 301.112698 148.772334 +L 301.096551 148.811294 +L 300.430837 151.047529 +L 300.029194 153.283765 +L 299.893439 155.52 +L 300.024183 157.756235 +L 300.420838 159.992471 +L 301.081609 162.228706 +L 301.112698 162.304116 +L 301.945936 164.464941 +L 303.030121 166.663675 +L 303.047537 166.701176 +L 304.307768 168.937412 +L 304.947544 169.906566 +L 305.740177 171.173647 +L 306.864966 172.748408 +L 307.315147 173.409882 +L 308.782389 175.335357 +L 309.009152 175.646118 +L 310.699812 177.747896 +L 310.803856 177.882353 +L 312.617235 180.035578 +L 312.684771 180.118588 +L 314.534658 182.230471 +L 314.640301 182.354824 +L 316.452081 184.354148 +L 316.661074 184.591059 +L 318.369503 186.42155 +L 318.739445 186.827294 +L 320.286926 188.443263 +L 320.869136 189.063529 +L 322.204349 190.426893 +L 323.044965 191.299765 +L 324.121772 192.377946 +L 325.262643 193.536 +L 326.039195 194.300393 +L 327.518621 195.772235 +L 327.956617 196.19705 +L 329.80997 198.008471 +L 329.87404 198.069829 +L 331.791463 199.914823 +L 332.13366 200.244706 +L 333.708886 201.739848 +L 334.490477 202.480941 +L 335.626309 203.546319 +L 336.879497 204.717176 +L 337.543732 205.333915 +L 339.299904 206.953412 +L 339.461154 207.101861 +L 341.378577 208.849874 +L 341.75608 209.189647 z " style="fill:#6bacd1;"/> </g> <g id="PathCollection_13"> - <path clip-path="url(#p553f52e075)" d="M 163.077584 388.8 -L 165.474362 388.8 -L 167.871141 388.8 -L 170.267919 388.8 -L 172.664698 388.8 -L 173.072451 388.8 -L 175.061477 387.513718 -L 177.458255 386.061179 -L 177.75167 385.895798 -L 179.855034 384.693241 -L 182.251812 383.429957 -L 183.163349 382.991597 -L 184.648591 382.263602 -L 187.045369 381.204997 -L 189.442148 380.265626 -L 189.964737 380.087395 -L 191.838926 379.432643 -L 194.235705 378.722644 -L 196.632483 378.142012 -L 199.029262 377.69242 -L 201.42604 377.375164 -L 203.822819 377.191158 -L 204.202878 377.183193 -L 206.219597 377.139677 -L 207.429774 377.183193 -L 208.616376 377.224631 -L 211.013154 377.442015 -L 213.409933 377.792456 -L 215.806711 378.274944 -L 218.20349 378.88809 -L 220.600268 379.630125 -L 221.86177 380.087395 -L 222.997047 380.489137 -L 225.393826 381.458584 -L 227.790604 382.546533 -L 228.677087 382.991597 -L 230.187383 383.73554 -L 232.584161 385.025934 -L 234.077127 385.895798 -L 234.98094 386.414945 -L 237.377718 387.892246 -L 238.760296 388.8 -L 239.774497 388.8 -L 242.171275 388.8 -L 244.568054 388.8 -L 246.964832 388.8 -L 249.361611 388.8 -L 250.506287 388.8 -L 249.361611 387.853303 -L 246.964832 385.942223 -L 246.904175 385.895798 -L 244.568054 384.082148 -L 243.097647 382.991597 -L 242.171275 382.291323 -L 239.774497 380.569475 -L 239.064301 380.087395 -L 237.377718 378.914688 -L 234.98094 377.3502 -L 234.706391 377.183193 -L 232.584161 375.853901 -L 230.187383 374.466669 -L 229.832972 374.278992 -L 227.790604 373.159138 -L 225.393826 371.970953 -L 224.044261 371.37479 -L 222.997047 370.892937 -L 220.600268 369.928096 -L 218.20349 369.104019 -L 215.973921 368.470588 -L 215.806711 368.420786 -L 213.409933 367.859037 -L 211.013154 367.451027 -L 208.616376 367.197933 -L 206.219597 367.100484 -L 203.822819 367.158961 -L 201.42604 367.373194 -L 199.029262 367.742568 -L 196.632483 368.266016 -L 195.907183 368.470588 -L 194.235705 368.920282 -L 191.838926 369.70878 -L 189.442148 370.638675 -L 187.791124 371.37479 -L 187.045369 371.694003 -L 184.648591 372.85014 -L 182.251812 374.133163 -L 182.003258 374.278992 -L 179.855034 375.496241 -L 177.458255 376.969387 -L 177.134732 377.183193 -L 175.061477 378.51382 -L 172.763804 380.087395 -L 172.664698 380.153656 -L 170.267919 381.85223 -L 168.74215 382.991597 -L 167.871141 383.629748 -L 165.474362 385.4702 -L 164.942963 385.895798 -L 163.077584 387.368643 -L 161.331689 388.8 + <path clip-path="url(#p0bba778d2e)" d="M 130.462067 307.584 +L 132.37949 307.584 +L 134.296913 307.584 +L 136.214336 307.584 +L 138.131758 307.584 +L 138.457961 307.584 +L 140.049181 306.593563 +L 141.966604 305.475108 +L 142.201336 305.347765 +L 143.884027 304.421796 +L 145.80145 303.449067 +L 146.530679 303.111529 +L 147.718872 302.550973 +L 149.636295 301.735848 +L 151.553718 301.012532 +L 151.971789 300.875294 +L 153.471141 300.371135 +L 155.388564 299.824436 +L 157.305987 299.377349 +L 159.223409 299.031164 +L 161.140832 298.786876 +L 163.058255 298.645191 +L 163.362302 298.639059 +L 164.975678 298.605551 +L 165.943819 298.639059 +L 166.893101 298.670966 +L 168.810523 298.838351 +L 170.727946 299.108191 +L 172.645369 299.479707 +L 174.562792 299.951829 +L 176.480215 300.523196 +L 177.489416 300.875294 +L 178.397638 301.184635 +L 180.31506 301.93111 +L 182.232483 302.76883 +L 182.941669 303.111529 +L 184.149906 303.684366 +L 186.067329 304.677969 +L 187.261702 305.347765 +L 187.984752 305.747508 +L 189.902174 306.88503 +L 191.008237 307.584 +L 191.819597 307.584 +L 193.73702 307.584 +L 195.654443 307.584 +L 197.571866 307.584 +L 199.489289 307.584 +L 200.405029 307.584 +L 199.489289 306.855043 +L 197.571866 305.383512 +L 197.52334 305.347765 +L 195.654443 303.951254 +L 194.478117 303.111529 +L 193.73702 302.572319 +L 191.819597 301.246496 +L 191.251441 300.875294 +L 189.902174 299.97231 +L 187.984752 298.767654 +L 187.765113 298.639059 +L 186.067329 297.615504 +L 184.149906 296.547335 +L 183.866377 296.402824 +L 182.232483 295.540537 +L 180.31506 294.625634 +L 179.235409 294.166588 +L 178.397638 293.795562 +L 176.480215 293.052634 +L 174.562792 292.418095 +L 172.779137 291.930353 +L 172.645369 291.892005 +L 170.727946 291.459458 +L 168.810523 291.145291 +L 166.893101 290.950409 +L 164.975678 290.875373 +L 163.058255 290.9204 +L 161.140832 291.08536 +L 159.223409 291.369777 +L 157.305987 291.772833 +L 156.725747 291.930353 +L 155.388564 292.276617 +L 153.471141 292.883761 +L 151.553718 293.59978 +L 150.2329 294.166588 +L 149.636295 294.412383 +L 147.718872 295.302608 +L 145.80145 296.290535 +L 145.602607 296.402824 +L 143.884027 297.340105 +L 141.966604 298.474428 +L 141.707786 298.639059 +L 140.049181 299.663641 +L 138.211043 300.875294 +L 138.131758 300.926315 +L 136.214336 302.234217 +L 134.99372 303.111529 +L 134.296913 303.602906 +L 132.37949 305.020054 +L 131.95437 305.347765 +L 130.462067 306.481855 +L 129.065351 307.584 z " style="fill:#1c5c9f;"/> - <path clip-path="url(#p553f52e075)" d="M 191.838926 284.395526 -L 194.235705 285.202903 -L 196.632483 285.863171 -L 199.029262 286.374425 -L 201.42604 286.735194 -L 203.822819 286.944437 -L 206.219597 287.001552 -L 208.616376 286.906373 -L 211.013154 286.659174 -L 213.409933 286.26067 -L 215.806711 285.712007 -L 218.20349 285.014767 -L 220.37934 284.248739 -L 220.600268 284.174312 -L 222.997047 283.228946 -L 225.393826 282.14838 -L 226.982604 281.344538 -L 227.790604 280.950916 -L 230.187383 279.659497 -L 232.257546 278.440336 -L 232.584161 278.254064 -L 234.98094 276.774795 -L 236.851208 275.536134 -L 237.377718 275.196626 -L 239.774497 273.550324 -L 241.037839 272.631933 -L 242.171275 271.825593 -L 244.568054 270.031421 -L 244.955618 269.727731 -L 246.964832 268.179449 -L 248.653826 266.823529 -L 249.361611 266.262096 -L 251.758389 264.290114 -L 252.194644 263.919328 -L 254.155168 262.265268 -L 255.595064 261.015126 -L 256.551946 260.18669 -L 258.890218 258.110924 -L 258.948725 258.058898 -L 261.345503 255.880979 -L 262.074026 255.206723 -L 263.742282 253.653077 -L 265.170617 252.302521 -L 266.13906 251.376843 -L 268.18407 249.398319 -L 268.535839 249.052662 -L 270.932617 246.675958 -L 271.114866 246.494118 -L 273.329396 244.239066 -L 273.964803 243.589916 -L 275.726174 241.744123 -L 276.735792 240.685714 -L 278.122953 239.186138 -L 279.425542 237.781513 -L 280.519732 236.557899 -L 282.030708 234.877311 -L 282.91651 233.849347 -L 284.546812 231.973109 -L 285.313289 231.046643 -L 286.968119 229.068908 -L 287.710067 228.130762 -L 289.287457 226.164706 -L 290.106846 225.075327 -L 291.495992 223.260504 -L 292.503624 221.843199 -L 293.582904 220.356303 -L 294.900403 218.380874 -L 295.53498 217.452101 -L 297.297181 214.608918 -L 297.336063 214.547899 -L 298.988853 211.643697 -L 299.69396 210.229034 -L 300.460114 208.739496 -L 301.735346 205.835294 -L 302.090738 204.85316 -L 302.81136 202.931092 -L 303.66286 200.026891 -L 304.273169 197.122689 -L 304.487517 195.42353 -L 304.645698 194.218487 -L 304.771356 191.314286 -L 304.640882 188.410084 -L 304.487517 187.256239 -L 304.263934 185.505882 -L 303.649059 182.601681 -L 302.793056 179.697479 -L 302.090738 177.831807 -L 301.713413 176.793277 -L 300.434014 173.889076 -L 299.69396 172.45417 -L 298.959637 170.984874 -L 297.303055 168.080672 -L 297.297181 168.071472 -L 295.499331 165.176471 -L 294.900403 164.301365 -L 293.544803 162.272269 -L 292.503624 160.839989 -L 291.455609 159.368067 -L 290.106846 157.608284 -L 289.244942 156.463866 -L 287.710067 154.552966 -L 286.923607 153.559664 -L 285.313289 151.637026 -L 284.500427 150.655462 -L 282.91651 148.83417 -L 281.98256 147.751261 -L 280.519732 146.125427 -L 279.375734 144.847059 -L 278.122953 143.496992 -L 276.684419 141.942857 -L 275.726174 140.938833 -L 273.911952 139.038655 -L 273.329396 138.443755 -L 271.060618 136.134454 -L 270.932617 136.006782 -L 268.535839 133.630878 -L 268.127993 133.230252 -L 266.13906 131.306457 -L 265.113107 130.32605 -L 263.742282 129.030079 -L 262.015139 127.421849 -L 261.345503 126.802139 -L 258.948725 124.62438 -L 258.828689 124.517647 -L 256.551946 122.49648 -L 255.532012 121.613445 -L 254.155168 120.417931 -L 252.130091 118.709244 -L 251.758389 118.393266 -L 249.361611 116.420923 -L 248.585327 115.805042 -L 246.964832 114.503761 -L 244.885276 112.90084 -L 244.568054 112.65218 -L 242.171275 110.85736 -L 240.961832 109.996639 -L 239.774497 109.133108 -L 237.377718 107.486058 -L 236.767569 107.092437 -L 234.98094 105.908515 -L 232.584161 104.428428 -L 232.163234 104.188235 -L 230.187383 103.023851 -L 227.790604 101.731583 -L 226.872511 101.284034 -L 225.393826 100.535317 -L 222.997047 99.453919 -L 220.600268 98.507825 -L 220.22063 98.379832 -L 218.20349 97.669046 -L 215.806711 96.971185 -L 213.409933 96.422032 -L 211.013154 96.023172 -L 208.616376 95.775753 -L 206.219597 95.680489 -L 203.822819 95.737655 -L 201.42604 95.947084 -L 199.029262 96.308175 -L 196.632483 96.819886 -L 194.235705 97.480742 -L 191.838926 98.288839 -L 191.610083 98.379832 -L 189.442148 99.204598 -L 187.045369 100.252447 -L 184.951551 101.284034 -L 184.648591 101.427736 -L 182.251812 102.689367 -L 179.855034 104.072132 -L 179.669506 104.188235 -L 177.458255 105.528182 -L 175.061477 107.089802 -L 175.057686 107.092437 -L 172.664698 108.712147 -L 170.87435 109.996639 -L 170.267919 110.422382 -L 167.871141 112.1954 -L 166.961271 112.90084 -L 165.474362 114.034451 -L 163.247692 115.805042 -L 163.077584 115.938684 -L 160.680805 117.89385 -L 159.714147 118.709244 -L 158.284027 119.906608 -L 156.304852 121.613445 -L 155.887248 121.972539 -L 153.49047 124.087673 -L 153.014069 124.517647 -L 151.093691 126.253672 -L 149.82598 127.421849 -L 148.696913 128.468685 -L 146.725371 130.32605 -L 146.300134 130.730988 -L 143.903356 133.042918 -L 143.711051 133.230252 -L 141.506577 135.411159 -L 140.780496 136.134454 -L 139.109799 137.832834 -L 137.928355 139.038655 -L 136.71302 140.310877 -L 135.155726 141.942857 -L 134.316242 142.849962 -L 132.464718 144.847059 -L 131.919463 145.456905 -L 129.85849 147.751261 -L 129.522685 148.141259 -L 127.341324 150.655462 -L 127.125906 150.916203 -L 124.918739 153.559664 -L 124.729128 153.79989 -L 122.597657 156.463866 -L 122.332349 156.817507 -L 120.386625 159.368067 -L 119.93557 160.004536 -L 118.296112 162.272269 -L 117.538792 163.412099 -L 116.338902 165.176471 -L 115.142013 167.11607 -L 114.530612 168.080672 -L 112.886028 170.984874 -L 112.745235 171.268641 -L 111.404819 173.889076 -L 110.348456 176.306807 -L 110.128459 176.793277 -L 109.045268 179.697479 -L 108.197152 182.601681 -L 107.951678 183.771896 -L 107.573606 185.505882 -L 107.191568 188.410084 -L 107.062439 191.314286 -L 107.186802 194.218487 -L 107.564095 197.122689 -L 107.951678 198.913594 -L 108.183479 200.026891 -L 109.027133 202.931092 -L 110.105944 205.835294 -L 110.348456 206.373304 -L 111.378933 208.739496 -L 112.745235 211.417777 -L 112.857024 211.643697 -L 114.497844 214.547899 -L 115.142013 215.566201 -L 116.303479 217.452101 -L 117.538792 219.271657 -L 118.258221 220.356303 -L 119.93557 222.679892 -L 120.346431 223.260504 -L 122.332349 225.86713 -L 122.555307 226.164706 -L 124.729128 228.884691 -L 124.874366 229.068908 -L 127.125906 231.768178 -L 127.295048 231.973109 -L 129.522685 234.542853 -L 129.810421 234.877311 -L 131.919463 237.226914 -L 132.414955 237.781513 -L 134.316242 239.833574 -L 135.104362 240.685714 -L 136.71302 242.372409 -L 137.875475 243.589916 -L 139.109799 244.850248 -L 140.72618 246.494118 -L 141.506577 247.271782 -L 143.655371 249.398319 -L 143.903356 249.639954 -L 146.300134 251.952454 -L 146.667659 252.302521 -L 148.696913 254.214561 -L 149.766841 255.206723 -L 151.093691 256.429486 -L 152.953548 258.110924 -L 153.49047 258.595516 -L 155.887248 260.710625 -L 156.241368 261.015126 -L 158.284027 262.776542 -L 159.649091 263.919328 -L 160.680805 264.789438 -L 163.077584 266.744247 -L 163.178518 266.823529 -L 165.474362 268.648632 -L 166.890153 269.727731 -L 167.871141 270.488036 -L 170.267919 272.260415 -L 170.797302 272.631933 -L 172.664698 273.971094 -L 174.977968 275.536134 -L 175.061477 275.594162 -L 177.458255 277.154918 -L 179.580695 278.440336 -L 179.855034 278.611906 -L 182.251812 279.993761 -L 184.648591 281.254562 -L 184.838406 281.344538 -L 187.045369 282.431033 -L 189.442148 283.478075 -L 191.469434 284.248739 + <path clip-path="url(#p0bba778d2e)" d="M 153.471141 227.192555 +L 155.388564 227.814235 +L 157.305987 228.322641 +L 159.223409 228.716308 +L 161.140832 228.9941 +L 163.058255 229.155217 +L 164.975678 229.199195 +L 166.893101 229.125907 +L 168.810523 228.935564 +L 170.727946 228.628716 +L 172.645369 228.206245 +L 174.562792 227.66937 +L 176.303472 227.079529 +L 176.480215 227.02222 +L 178.397638 226.294288 +L 180.31506 225.462253 +L 181.586083 224.843294 +L 182.232483 224.540205 +L 184.149906 223.545812 +L 185.806037 222.607059 +L 186.067329 222.463629 +L 187.984752 221.324592 +L 189.480967 220.370824 +L 189.902174 220.109402 +L 191.819597 218.841749 +L 192.830271 218.134588 +L 193.73702 217.513707 +L 195.654443 216.132194 +L 195.964495 215.898353 +L 197.571866 214.706176 +L 198.923061 213.662118 +L 199.489289 213.229814 +L 201.406711 211.711387 +L 201.755716 211.425882 +L 203.324134 210.152256 +L 204.476051 209.189647 +L 205.241557 208.551752 +L 207.112174 206.953412 +L 207.15898 206.913351 +L 209.076403 205.236353 +L 209.659221 204.717176 +L 210.993826 203.520869 +L 212.136494 202.480941 +L 212.911248 201.768169 +L 214.547256 200.244706 +L 214.828671 199.97855 +L 216.746094 198.148488 +L 216.891892 198.008471 +L 218.663517 196.272081 +L 219.171843 195.772235 +L 220.58094 194.350975 +L 221.388634 193.536 +L 222.498362 192.381326 +L 223.540433 191.299765 +L 224.415785 190.357582 +L 225.624566 189.063529 +L 226.333208 188.271997 +L 227.63745 186.827294 +L 228.250631 186.113915 +L 229.574495 184.591059 +L 230.168054 183.868686 +L 231.429966 182.354824 +L 232.085477 181.516002 +L 233.196794 180.118588 +L 234.002899 179.027263 +L 234.866323 177.882353 +L 235.920322 176.361273 +L 236.427984 175.646118 +L 237.837745 173.456867 +L 237.86885 173.409882 +L 239.191082 171.173647 +L 239.755168 170.084356 +L 240.368091 168.937412 +L 241.388277 166.701176 +L 241.672591 165.944933 +L 242.249088 164.464941 +L 242.930288 162.228706 +L 243.418536 159.992471 +L 243.590013 158.684118 +L 243.716558 157.756235 +L 243.817085 155.52 +L 243.712706 153.283765 +L 243.590013 152.395304 +L 243.411147 151.047529 +L 242.919247 148.811294 +L 242.234445 146.575059 +L 241.672591 145.138491 +L 241.370731 144.338824 +L 240.347211 142.102588 +L 239.755168 140.997711 +L 239.16771 139.866353 +L 237.842444 137.630118 +L 237.837745 137.623034 +L 236.399465 135.393882 +L 235.920322 134.720051 +L 234.835843 133.157647 +L 234.002899 132.054791 +L 233.164487 130.921412 +L 232.085477 129.566379 +L 231.395954 128.685176 +L 230.168054 127.213784 +L 229.538886 126.448941 +L 228.250631 124.96851 +L 227.600342 124.212706 +L 226.333208 122.810311 +L 225.586048 121.976471 +L 224.415785 120.724579 +L 223.500588 119.740235 +L 222.498362 118.700684 +L 221.347536 117.504 +L 220.58094 116.730901 +L 219.129562 115.267765 +L 218.663517 114.809691 +L 216.848494 113.031529 +L 216.746094 112.933223 +L 214.828671 111.103776 +L 214.502395 110.795294 +L 212.911248 109.313972 +L 212.090486 108.559059 +L 210.993826 107.561161 +L 209.612111 106.322824 +L 209.076403 105.845647 +L 207.15898 104.168773 +L 207.062951 104.086588 +L 205.241557 102.530289 +L 204.425609 101.850353 +L 203.324134 100.929807 +L 201.704073 99.614118 +L 201.406711 99.370815 +L 199.489289 97.852111 +L 198.868262 97.377882 +L 197.571866 96.375896 +L 195.908221 95.141647 +L 195.654443 94.950179 +L 193.73702 93.568167 +L 192.769466 92.905412 +L 191.819597 92.240493 +L 189.902174 90.972264 +L 189.414055 90.669176 +L 187.984752 89.757557 +L 186.067329 88.617889 +L 185.730587 88.432941 +L 184.149906 87.536366 +L 182.232483 86.541319 +L 181.498009 86.196706 +L 180.31506 85.620194 +L 178.397638 84.787518 +L 176.480215 84.059026 +L 176.176504 83.960471 +L 174.562792 83.413166 +L 172.645369 82.875812 +L 170.727946 82.452965 +L 168.810523 82.145842 +L 166.893101 81.95533 +L 164.975678 81.881977 +L 163.058255 81.925994 +L 161.140832 82.087255 +L 159.223409 82.365295 +L 157.305987 82.759312 +L 155.388564 83.268171 +L 153.471141 83.890406 +L 153.288066 83.960471 +L 151.553718 84.59554 +L 149.636295 85.402384 +L 147.961241 86.196706 +L 147.718872 86.307357 +L 145.80145 87.278812 +L 143.884027 88.343541 +L 143.735605 88.432941 +L 141.966604 89.4647 +L 140.049181 90.667147 +L 140.046149 90.669176 +L 138.131758 91.916353 +L 136.69948 92.905412 +L 136.214336 93.233234 +L 134.296913 94.598458 +L 133.569017 95.141647 +L 132.37949 96.014528 +L 130.598154 97.377882 +L 130.462067 97.480786 +L 128.544644 98.986264 +L 127.771318 99.614118 +L 126.627221 100.536088 +L 125.043882 101.850353 +L 124.709799 102.126855 +L 122.792376 103.755508 +L 122.411255 104.086588 +L 120.874953 105.423327 +L 119.860784 106.322824 +L 118.95753 107.128887 +L 117.380297 108.559059 +L 117.040107 108.87086 +L 115.122685 110.651047 +L 114.968841 110.795294 +L 113.205262 112.474592 +L 112.624397 113.031529 +L 111.287839 114.339283 +L 110.342684 115.267765 +L 109.370416 116.247376 +L 108.124581 117.504 +L 107.452993 118.202471 +L 105.971775 119.740235 +L 105.53557 120.209817 +L 103.886792 121.976471 +L 103.618148 122.276769 +L 101.873059 124.212706 +L 101.700725 124.413477 +L 99.934991 126.448941 +L 99.783302 126.633916 +L 98.078126 128.685176 +L 97.865879 128.95748 +L 96.3093 130.921412 +L 95.948456 131.411493 +L 94.63689 133.157647 +L 94.031034 134.035316 +L 93.071121 135.393882 +L 92.113611 136.887374 +L 91.62449 137.630118 +L 90.308823 139.866353 +L 90.196188 140.084853 +L 89.123855 142.102588 +L 88.278765 143.964241 +L 88.102767 144.338824 +L 87.236215 146.575059 +L 86.557722 148.811294 +L 86.361342 149.71236 +L 86.058885 151.047529 +L 85.753254 153.283765 +L 85.649951 155.52 +L 85.749441 157.756235 +L 86.051276 159.992471 +L 86.361342 161.371467 +L 86.546783 162.228706 +L 87.221706 164.464941 +L 88.084755 166.701176 +L 88.278765 167.115444 +L 89.103146 168.937412 +L 90.196188 170.999688 +L 90.285619 171.173647 +L 91.598275 173.409882 +L 92.113611 174.193974 +L 93.042783 175.646118 +L 94.031034 177.047176 +L 94.606577 177.882353 +L 95.948456 179.671517 +L 96.277144 180.118588 +L 97.865879 182.12569 +L 98.044245 182.354824 +L 99.783302 184.449212 +L 99.899493 184.591059 +L 101.700725 186.669497 +L 101.836038 186.827294 +L 103.618148 188.805997 +L 103.848337 189.063529 +L 105.53557 190.872724 +L 105.931964 191.299765 +L 107.452993 192.879852 +L 108.08349 193.536 +L 109.370416 194.834755 +L 110.30038 195.772235 +L 111.287839 196.742691 +L 112.580944 198.008471 +L 113.205262 198.607272 +L 114.924297 200.244706 +L 115.122685 200.430765 +L 117.040107 202.21139 +L 117.334127 202.480941 +L 118.95753 203.953212 +L 119.813472 204.717176 +L 120.874953 205.658704 +L 122.362839 206.953412 +L 122.792376 207.326547 +L 124.709799 208.955181 +L 124.993095 209.189647 +L 126.627221 210.545937 +L 127.719273 211.425882 +L 128.544644 212.095868 +L 130.462067 213.601071 +L 130.542814 213.662118 +L 132.37949 215.067447 +L 133.512123 215.898353 +L 134.296913 216.483788 +L 136.214336 217.848519 +L 136.637842 218.134588 +L 138.131758 219.165742 +L 139.982375 220.370824 +L 140.049181 220.415504 +L 141.966604 221.617287 +L 143.664556 222.607059 +L 143.884027 222.739167 +L 145.80145 223.803196 +L 147.718872 224.774013 +L 147.870725 224.843294 +L 149.636295 225.679895 +L 151.553718 226.486118 +L 153.175548 227.079529 z -M 194.861629 275.536134 -L 194.235705 275.38634 -L 191.838926 274.684953 -L 189.442148 273.857791 -L 187.045369 272.907236 -L 186.429391 272.631933 -L 184.648591 271.853045 -L 182.251812 270.689689 -L 180.443577 269.727731 -L 179.855034 269.419825 -L 177.458255 268.059682 -L 175.43236 266.823529 -L 175.061477 266.599923 -L 172.664698 265.057973 -L 170.994959 263.919328 -L 170.267919 263.427182 -L 167.871141 261.71763 -L 166.931421 261.015126 -L 165.474362 259.928952 -L 163.136087 258.110924 -L 163.077584 258.06536 -L 160.680805 256.127112 -L 159.58015 255.206723 -L 158.284027 254.116101 -L 156.19158 252.302521 -L 155.887248 252.035877 -L 153.49047 249.880713 -L 152.965917 249.398319 -L 151.093691 247.649626 -L 149.880027 246.494118 -L 148.696913 245.344513 -L 146.919767 243.589916 -L 146.300134 242.962395 -L 144.08082 240.685714 -L 143.903356 240.497981 -L 141.506577 237.937402 -L 141.361663 237.781513 -L 139.109799 235.26934 -L 138.75979 234.877311 -L 136.71302 232.485393 -L 136.27514 231.973109 -L 134.316242 229.566102 -L 133.910887 229.068908 -L 131.919463 226.48465 -L 131.671758 226.164706 -L 129.563836 223.260504 -L 129.522685 223.199461 -L 127.59136 220.356303 -L 127.125906 219.610564 -L 125.764385 217.452101 -L 124.729128 215.642874 -L 124.093994 214.547899 -L 122.589474 211.643697 -L 122.332349 211.076986 -L 121.253924 208.739496 -L 120.110085 205.835294 -L 119.93557 205.297619 -L 119.151996 202.931092 -L 118.400001 200.026891 -L 117.86101 197.122689 -L 117.538792 194.230439 -L 117.537429 194.218487 -L 117.428269 191.314286 -L 117.538792 188.482359 -L 117.541548 188.410084 -L 117.869167 185.505882 -L 118.412189 182.601681 -L 119.168161 179.697479 -L 119.93557 177.389144 -L 120.129758 176.793277 -L 121.277334 173.889076 -L 122.332349 171.608511 -L 122.616069 170.984874 -L 124.12404 168.080672 -L 124.729128 167.039548 -L 125.797298 165.176471 -L 127.125906 163.073769 -L 127.627016 162.272269 -L 129.522685 159.485737 -L 129.602129 159.368067 -L 131.712784 156.463866 -L 131.919463 156.197214 -L 133.954257 153.559664 -L 134.316242 153.116105 -L 136.320769 150.655462 -L 136.71302 150.196955 -L 138.807602 147.751261 -L 139.109799 147.413033 -L 141.411591 144.847059 -L 141.506577 144.744942 -L 143.903356 142.185973 -L 144.133319 141.942857 -L 146.300134 139.721201 -L 146.974455 139.038655 -L 148.696913 137.338782 -L 149.936877 136.134454 -L 151.093691 135.033442 -L 153.024913 133.230252 -L 153.49047 132.802218 -L 155.887248 130.647586 -L 156.254319 130.32605 -L 158.284027 128.567129 -L 159.645325 127.421849 -L 160.680805 126.556024 -L 163.077584 124.617918 -L 163.20634 124.517647 -L 165.474362 122.754221 -L 167.004649 121.613445 -L 167.871141 120.965622 -L 170.267919 119.255905 -L 171.075415 118.709244 -L 172.664698 117.625266 -L 175.061477 116.083034 -L 175.522483 115.805042 -L 177.458255 114.623561 -L 179.855034 113.263049 -L 180.547188 112.90084 -L 182.251812 111.993675 -L 184.648591 110.829899 -L 186.553017 109.996639 -L 187.045369 109.776489 -L 189.442148 108.825501 -L 191.838926 107.997962 -L 194.235705 107.296257 -L 195.086991 107.092437 -L 196.632483 106.712349 -L 199.029262 106.255931 -L 201.42604 105.933858 -L 203.822819 105.747058 -L 206.219597 105.69607 -L 208.616376 105.78104 -L 211.013154 106.001724 -L 213.409933 106.357485 -L 215.806711 106.847299 -L 216.750621 107.092437 -L 218.20349 107.459769 -L 220.600268 108.193137 -L 222.997047 109.051776 -L 225.304512 109.996639 -L 225.393826 110.032425 -L 227.790604 111.110178 -L 230.187383 112.302216 -L 231.288605 112.90084 -L 232.584161 113.593363 -L 234.98094 114.979839 -L 236.310313 115.805042 -L 237.377718 116.459672 -L 239.774497 118.025457 -L 240.763485 118.709244 -L 242.171275 119.675353 -L 244.568054 121.406094 -L 244.842371 121.613445 -L 246.964832 123.213109 -L 248.626276 124.517647 -L 249.361611 125.09595 -L 251.758389 127.051082 -L 252.198382 127.421849 -L 254.155168 129.080936 -L 255.582201 130.32605 -L 256.551946 131.181311 -L 258.817664 133.230252 -L 258.948725 133.350618 -L 261.345503 135.59993 -L 261.904716 136.134454 -L 263.742282 137.926873 -L 264.864894 139.038655 -L 266.13906 140.33289 -L 267.704983 141.942857 -L 268.535839 142.823649 -L 270.427214 144.847059 -L 270.932617 145.407713 -L 273.032216 147.751261 -L 273.329396 148.097314 -L 275.519093 150.655462 -L 275.726174 150.909523 -L 277.885454 153.559664 -L 278.122953 153.868012 -L 280.127378 156.463866 -L 280.519732 157.005778 -L 282.239339 159.368067 -L 282.91651 160.36944 -L 284.21406 162.272269 -L 285.313289 164.026282 -L 286.04231 165.176471 -L 287.710067 168.076294 -L 287.712621 168.080672 -L 289.226459 170.984874 -L 290.106846 172.912529 -L 290.560724 173.889076 -L 291.71368 176.793277 -L 292.503624 179.205921 -L 292.667945 179.697479 -L 293.428087 182.601681 -L 293.974104 185.505882 -L 294.30353 188.410084 -L 294.414876 191.314286 -L 294.30764 194.218487 -L 293.982305 197.122689 -L 293.440342 200.026891 -L 292.684199 202.931092 -L 292.503624 203.473467 -L 291.733445 205.835294 -L 290.584245 208.739496 -L 290.106846 209.769432 -L 289.253157 211.643697 -L 287.742785 214.547899 -L 287.710067 214.604086 -L 286.075324 217.452101 -L 285.313289 218.656426 -L 284.2498 220.356303 -L 282.91651 222.314447 -L 282.277694 223.260504 -L 280.519732 225.678614 -L 280.168249 226.164706 -L 278.122953 228.816492 -L 277.928755 229.068908 -L 275.726174 231.774865 -L 275.564748 231.973109 -L 273.329396 234.586835 -L 273.080158 234.877311 -L 270.932617 237.276143 -L 270.477387 237.781513 -L 268.535839 239.859904 -L 267.757338 240.685714 -L 266.13906 242.350384 -L 264.919391 243.589916 -L 263.742282 244.75617 -L 261.961324 246.494118 -L 261.345503 247.082947 -L 258.948725 249.333016 -L 258.877643 249.398319 -L 256.551946 251.50202 -L 255.644514 252.302521 -L 254.155168 253.602212 -L 252.263053 255.206723 -L 251.758389 255.632017 -L 249.361611 257.587293 -L 248.695843 258.110924 -L 246.964832 259.470069 -L 244.914801 261.015126 -L 244.568054 261.2772 -L 242.171275 263.007774 -L 240.842854 263.919328 -L 239.774497 264.657855 -L 237.377718 266.223354 -L 236.398925 266.823529 -L 234.98094 267.7035 -L 232.584161 269.089601 -L 231.390038 269.727731 -L 230.187383 270.381258 -L 227.790604 271.572867 -L 225.434532 272.631933 -L 225.393826 272.65063 -L 222.997047 273.631619 -L 220.600268 274.489867 -L 218.20349 275.222902 -L 216.964033 275.536134 -L 215.806711 275.83653 -L 213.409933 276.326073 -L 211.013154 276.681638 -L 208.616376 276.902199 -L 206.219597 276.987123 -L 203.822819 276.936163 -L 201.42604 276.749466 -L 199.029262 276.427571 -L 196.632483 275.971406 +M 155.889303 220.370824 +L 155.388564 220.255482 +L 153.471141 219.715414 +L 151.553718 219.078499 +L 149.636295 218.346572 +L 149.143513 218.134588 +L 147.718872 217.534845 +L 145.80145 216.63906 +L 144.354862 215.898353 +L 143.884027 215.661266 +L 141.966604 214.613955 +L 140.345888 213.662118 +L 140.049181 213.489941 +L 138.131758 212.302639 +L 136.795967 211.425882 +L 136.214336 211.04693 +L 134.296913 209.730575 +L 133.545137 209.189647 +L 132.37949 208.353293 +L 130.50887 206.953412 +L 130.462067 206.918327 +L 128.544644 205.425876 +L 127.66412 204.717176 +L 126.627221 203.877398 +L 124.953264 202.480941 +L 124.709799 202.275625 +L 122.792376 200.616149 +L 122.372734 200.244706 +L 120.874953 198.898212 +L 119.904022 198.008471 +L 118.95753 197.123275 +L 117.535814 195.772235 +L 117.040107 195.289044 +L 115.264656 193.536 +L 115.122685 193.391446 +L 113.205262 191.4198 +L 113.089331 191.299765 +L 111.287839 189.365392 +L 111.007832 189.063529 +L 109.370416 187.221752 +L 109.020112 186.827294 +L 107.452993 184.973898 +L 107.128709 184.591059 +L 105.53557 182.601181 +L 105.337406 182.354824 +L 103.651069 180.118588 +L 103.618148 180.071585 +L 102.073088 177.882353 +L 101.700725 177.308134 +L 100.611508 175.646118 +L 99.783302 174.253013 +L 99.275195 173.409882 +L 98.071579 171.173647 +L 97.865879 170.737279 +L 97.003139 168.937412 +L 96.088068 166.701176 +L 95.948456 166.287167 +L 95.321597 164.464941 +L 94.72 162.228706 +L 94.288808 159.992471 +L 94.031034 157.765438 +L 94.029943 157.756235 +L 93.942615 155.52 +L 94.031034 153.339416 +L 94.033238 153.283765 +L 94.295333 151.047529 +L 94.729751 148.811294 +L 95.334529 146.575059 +L 95.948456 144.797641 +L 96.103806 144.338824 +L 97.021868 142.102588 +L 97.865879 140.346553 +L 98.092855 139.866353 +L 99.299232 137.630118 +L 99.783302 136.828452 +L 100.637838 135.393882 +L 101.700725 133.774802 +L 102.101613 133.157647 +L 103.618148 131.012017 +L 103.681703 130.921412 +L 105.370227 128.685176 +L 105.53557 128.479855 +L 107.163406 126.448941 +L 107.452993 126.107401 +L 109.056615 124.212706 +L 109.370416 123.859655 +L 111.046082 121.976471 +L 111.287839 121.716036 +L 113.129273 119.740235 +L 113.205262 119.661606 +L 115.122685 117.6912 +L 115.306655 117.504 +L 117.040107 115.793325 +L 117.579564 115.267765 +L 118.95753 113.958862 +L 119.949502 113.031529 +L 120.874953 112.18375 +L 122.41993 110.795294 +L 122.792376 110.465708 +L 124.709799 108.806641 +L 125.003455 108.559059 +L 126.627221 107.20469 +L 127.71626 106.322824 +L 128.544644 105.656138 +L 130.462067 104.163797 +L 130.565072 104.086588 +L 132.37949 102.72875 +L 133.603719 101.850353 +L 134.296913 101.351529 +L 136.214336 100.035047 +L 136.860332 99.614118 +L 138.131758 98.779455 +L 140.049181 97.591936 +L 140.417986 97.377882 +L 141.966604 96.468142 +L 143.884027 95.420548 +L 144.43775 95.141647 +L 145.80145 94.44313 +L 147.718872 93.547022 +L 149.242414 92.905412 +L 149.636295 92.735896 +L 151.553718 92.003636 +L 153.471141 91.366431 +L 155.388564 90.826118 +L 156.069593 90.669176 +L 157.305987 90.376509 +L 159.223409 90.025067 +L 161.140832 89.777071 +L 163.058255 89.633235 +L 164.975678 89.593974 +L 166.893101 89.659401 +L 168.810523 89.829327 +L 170.727946 90.103264 +L 172.645369 90.48042 +L 173.400497 90.669176 +L 174.562792 90.952022 +L 176.480215 91.516716 +L 178.397638 92.177868 +L 180.24361 92.905412 +L 180.31506 92.932968 +L 182.232483 93.762837 +L 184.149906 94.680707 +L 185.030884 95.141647 +L 186.067329 95.67489 +L 187.984752 96.742476 +L 189.048251 97.377882 +L 189.902174 97.881948 +L 191.819597 99.087602 +L 192.610788 99.614118 +L 193.73702 100.358022 +L 195.654443 101.690692 +L 195.873897 101.850353 +L 197.571866 103.082094 +L 198.901021 104.086588 +L 199.489289 104.531882 +L 201.406711 106.037333 +L 201.758705 106.322824 +L 203.324134 107.600321 +L 204.465761 108.559059 +L 205.241557 109.217609 +L 207.054131 110.795294 +L 207.15898 110.887975 +L 209.076403 112.619946 +L 209.523773 113.031529 +L 210.993826 114.411692 +L 211.891916 115.267765 +L 212.911248 116.264325 +L 214.163986 117.504 +L 214.828671 118.18221 +L 216.341771 119.740235 +L 216.746094 120.171939 +L 218.425773 121.976471 +L 218.663517 122.242932 +L 220.415274 124.212706 +L 220.58094 124.408333 +L 222.308363 126.448941 +L 222.498362 126.68637 +L 224.101903 128.685176 +L 224.415785 129.102449 +L 225.791471 130.921412 +L 226.333208 131.692469 +L 227.371248 133.157647 +L 228.250631 134.508238 +L 228.833848 135.393882 +L 230.168054 137.626747 +L 230.170097 137.630118 +L 231.381167 139.866353 +L 232.085477 141.350647 +L 232.44858 142.102588 +L 233.370944 144.338824 +L 234.002899 146.19656 +L 234.134356 146.575059 +L 234.742469 148.811294 +L 235.179283 151.047529 +L 235.442824 153.283765 +L 235.531901 155.52 +L 235.446112 157.756235 +L 235.185844 159.992471 +L 234.752274 162.228706 +L 234.147359 164.464941 +L 234.002899 164.882569 +L 233.386756 166.701176 +L 232.467396 168.937412 +L 232.085477 169.730463 +L 231.402526 171.173647 +L 230.194228 173.409882 +L 230.168054 173.453146 +L 228.860259 175.646118 +L 228.250631 176.573448 +L 227.39984 177.882353 +L 226.333208 179.390124 +L 225.822155 180.118588 +L 224.415785 181.980533 +L 224.134599 182.354824 +L 222.498362 184.396699 +L 222.343004 184.591059 +L 220.58094 186.674646 +L 220.451798 186.827294 +L 218.663517 188.839863 +L 218.464126 189.063529 +L 216.746094 190.91063 +L 216.38191 191.299765 +L 214.828671 192.900126 +L 214.20587 193.536 +L 212.911248 194.817796 +L 211.935513 195.772235 +L 210.993826 196.670251 +L 209.569059 198.008471 +L 209.076403 198.461869 +L 207.15898 200.194423 +L 207.102114 200.244706 +L 205.241557 201.864555 +L 204.515611 202.480941 +L 203.324134 203.481703 +L 201.810442 204.717176 +L 201.406711 205.044653 +L 199.489289 206.550216 +L 198.956674 206.953412 +L 197.571866 207.999953 +L 195.931841 209.189647 +L 195.654443 209.391444 +L 193.73702 210.723986 +L 192.674283 211.425882 +L 191.819597 211.994548 +L 189.902174 213.199982 +L 189.11914 213.662118 +L 187.984752 214.339695 +L 186.067329 215.406993 +L 185.11203 215.898353 +L 184.149906 216.401569 +L 182.232483 217.319107 +L 180.347626 218.134588 +L 180.31506 218.148985 +L 178.397638 218.904347 +L 176.480215 219.565198 +L 174.562792 220.129634 +L 173.571226 220.370824 +L 172.645369 220.602128 +L 170.727946 220.979076 +L 168.810523 221.252861 +L 166.893101 221.422694 +L 164.975678 221.488085 +L 163.058255 221.448845 +L 161.140832 221.305089 +L 159.223409 221.05723 +L 157.305987 220.705982 z " style="fill:#1c5c9f;"/> - <path clip-path="url(#p553f52e075)" d="M 429.12 254.160022 -L 429.12 252.302521 -L 429.12 249.398319 -L 429.12 246.494118 -L 429.12 245.287365 -L 427.401337 243.589916 -L 426.723221 242.902928 -L 424.562471 240.685714 -L 424.326443 240.43596 -L 421.929664 237.874862 -L 421.842899 237.781513 -L 419.532886 235.204131 -L 419.241115 234.877311 -L 417.136107 232.417185 -L 416.756525 231.973109 -L 414.739329 229.49449 -L 414.39233 229.068908 -L 412.34255 226.409133 -L 412.153283 226.164706 -L 410.045045 223.260504 -L 409.945772 223.113268 -L 408.072582 220.356303 -L 407.548993 219.517607 -L 406.245724 217.452101 -L 405.152215 215.541636 -L 404.575591 214.547899 -L 403.070515 211.643697 -L 402.755436 210.94951 -L 401.735368 208.739496 -L 400.591019 205.835294 -L 400.358658 205.119714 -L 399.633607 202.931092 -L 398.881217 200.026891 -L 398.341943 197.122689 -L 398.018223 194.218487 -L 397.961879 192.684972 -L 397.910328 191.314286 -L 397.961879 189.994192 -L 398.022312 188.410084 -L 398.350103 185.505882 -L 398.893411 182.601681 -L 399.649781 179.697479 -L 400.358658 177.56633 -L 400.610701 176.793277 -L 401.75879 173.889076 -L 402.755436 171.735642 -L 403.09712 170.984874 -L 404.605648 168.080672 -L 405.152215 167.140587 -L 406.278646 165.176471 -L 407.548993 163.166567 -L 408.108246 162.272269 -L 409.945772 159.571802 -L 410.083343 159.368067 -L 412.194315 156.463866 -L 412.34255 156.272646 -L 414.435704 153.559664 -L 414.739329 153.187646 -L 416.802155 150.655462 -L 417.136107 150.265105 -L 419.288924 147.751261 -L 419.532886 147.478194 -L 421.89282 144.847059 -L 421.929664 144.807443 -L 424.326443 142.247956 -L 424.614955 141.942857 -L 426.723221 139.780637 -L 427.456006 139.038655 -L 429.12 137.395905 -L 429.12 136.134454 -L 429.12 133.230252 -L 429.12 130.32605 -L 429.12 128.523215 -L 427.207009 130.32605 -L 426.723221 130.786904 -L 424.326443 133.099471 -L 424.192219 133.230252 -L 421.929664 135.469073 -L 421.261808 136.134454 -L 419.532886 137.892255 -L 418.40973 139.038655 -L 417.136107 140.371975 -L 415.637101 141.942857 -L 414.739329 142.912937 -L 412.946047 144.847059 -L 412.34255 145.521992 -L 410.339743 147.751261 -L 409.945772 148.208743 -L 407.822491 150.655462 -L 407.548993 150.986429 -L 405.399828 153.559664 -L 405.152215 153.873284 -L 403.078701 156.463866 -L 402.755436 156.894601 -L 400.867683 159.368067 -L 400.358658 160.086016 -L 398.777274 162.272269 -L 397.961879 163.49886 -L 396.820297 165.176471 -L 395.565101 167.209321 -L 395.01242 168.080672 -L 393.366689 170.984874 -L 393.168322 171.384401 -L 391.886108 173.889076 -L 390.771544 176.438 -L 390.610733 176.793277 -L 389.526579 179.697479 -L 388.677709 182.601681 -L 388.374765 184.044578 -L 388.05583 185.505882 -L 387.673412 188.410084 -L 387.544154 191.314286 -L 387.668641 194.218487 -L 388.04631 197.122689 -L 388.374765 198.638872 -L 388.664023 200.026891 -L 389.508428 202.931092 -L 390.588198 205.835294 -L 390.771544 206.241681 -L 391.860201 208.739496 -L 393.168322 211.301703 -L 393.337665 211.643697 -L 394.979628 214.547899 -L 395.565101 215.472767 -L 396.784852 217.452101 -L 397.961879 219.184748 -L 398.739362 220.356303 -L 400.358658 222.598291 -L 400.82747 223.260504 -L 402.755436 225.789935 -L 403.036335 226.164706 -L 405.152215 228.811214 -L 405.355442 229.068908 -L 407.548993 231.697883 -L 407.776204 231.973109 -L 409.945772 234.475311 -L 410.291667 234.877311 -L 412.34255 237.161779 -L 412.89628 237.781513 -L 414.739329 239.770561 -L 415.585737 240.685714 -L 417.136107 242.311279 -L 418.356854 243.589916 -L 419.532886 244.790802 -L 421.207499 246.494118 -L 421.929664 247.213848 -L 424.136551 249.398319 -L 424.326443 249.583387 -L 426.723221 251.896524 -L 427.149317 252.302521 + <path clip-path="url(#p0bba778d2e)" d="M 343.296 203.911217 +L 343.296 202.480941 +L 343.296 200.244706 +L 343.296 198.008471 +L 343.296 197.079271 +L 341.92107 195.772235 +L 341.378577 195.243254 +L 339.649977 193.536 +L 339.461154 193.343689 +L 337.543732 191.371644 +L 337.474319 191.299765 +L 335.626309 189.315181 +L 335.392892 189.063529 +L 333.708886 187.169232 +L 333.40522 186.827294 +L 331.791463 184.918757 +L 331.513864 184.591059 +L 329.87404 182.543033 +L 329.722627 182.354824 +L 328.036036 180.118588 +L 327.956617 180.005217 +L 326.458066 177.882353 +L 326.039195 177.236558 +L 324.996579 175.646118 +L 324.121772 174.175059 +L 323.660473 173.409882 +L 322.456412 171.173647 +L 322.204349 170.639123 +L 321.388295 168.937412 +L 320.472816 166.701176 +L 320.286926 166.15018 +L 319.706886 164.464941 +L 319.104973 162.228706 +L 318.673554 159.992471 +L 318.414578 157.756235 +L 318.369503 156.575428 +L 318.328262 155.52 +L 318.369503 154.503528 +L 318.41785 153.283765 +L 318.680083 151.047529 +L 319.114729 148.811294 +L 319.719825 146.575059 +L 320.286926 144.934074 +L 320.488561 144.338824 +L 321.407032 142.102588 +L 322.204349 140.444444 +L 322.477696 139.866353 +L 323.684519 137.630118 +L 324.121772 136.906252 +L 325.022917 135.393882 +L 326.039195 133.846257 +L 326.486597 133.157647 +L 327.956617 131.078288 +L 328.066675 130.921412 +L 329.755452 128.685176 +L 329.87404 128.537937 +L 331.548563 126.448941 +L 331.791463 126.162487 +L 333.441724 124.212706 +L 333.708886 123.912131 +L 335.431139 121.976471 +L 335.626309 121.76621 +L 337.514256 119.740235 +L 337.543732 119.709731 +L 339.461154 117.738926 +L 339.691964 117.504 +L 341.378577 115.839091 +L 341.964805 115.267765 +L 343.296 114.002847 +L 343.296 113.031529 +L 343.296 110.795294 +L 343.296 108.559059 +L 343.296 107.170876 +L 341.765607 108.559059 +L 341.378577 108.913916 +L 339.461154 110.694593 +L 339.353775 110.795294 +L 337.543732 112.519186 +L 337.009447 113.031529 +L 335.626309 114.385037 +L 334.727784 115.267765 +L 333.708886 116.294421 +L 332.509681 117.504 +L 331.791463 118.250961 +L 330.356837 119.740235 +L 329.87404 120.259934 +L 328.271795 121.976471 +L 327.956617 122.328732 +L 326.257993 124.212706 +L 326.039195 124.46755 +L 324.319863 126.448941 +L 324.121772 126.690428 +L 322.462961 128.685176 +L 322.204349 129.016843 +L 320.694146 130.921412 +L 320.286926 131.474232 +L 319.021819 133.157647 +L 318.369503 134.102122 +L 317.456237 135.393882 +L 316.452081 136.959177 +L 316.009936 137.630118 +L 314.693351 139.866353 +L 314.534658 140.173989 +L 313.508886 142.102588 +L 312.617235 144.06526 +L 312.488587 144.338824 +L 311.621263 146.575059 +L 310.942167 148.811294 +L 310.699812 149.922325 +L 310.444664 151.047529 +L 310.138729 153.283765 +L 310.035323 155.52 +L 310.134913 157.756235 +L 310.437048 159.992471 +L 310.699812 161.159932 +L 310.931218 162.228706 +L 311.606742 164.464941 +L 312.470559 166.701176 +L 312.617235 167.014095 +L 313.488161 168.937412 +L 314.534658 170.910311 +L 314.670132 171.173647 +L 315.983703 173.409882 +L 316.452081 174.12203 +L 317.427882 175.646118 +L 318.369503 176.980256 +L 318.99149 177.882353 +L 320.286926 179.608684 +L 320.661976 180.118588 +L 322.204349 182.06625 +L 322.429068 182.354824 +L 324.121772 184.392635 +L 324.284354 184.591059 +L 326.039195 186.61537 +L 326.220964 186.827294 +L 327.956617 188.753989 +L 328.233333 189.063529 +L 329.87404 190.82257 +L 330.317024 191.299765 +L 331.791463 192.831332 +L 332.468589 193.536 +L 333.708886 194.787685 +L 334.685483 195.772235 +L 335.626309 196.696918 +L 336.965999 198.008471 +L 337.543732 198.562663 +L 339.309241 200.244706 +L 339.461154 200.387208 +L 341.378577 202.168323 +L 341.719454 202.480941 z " style="fill:#1c5c9f;"/> </g> <g id="PathCollection_14"> - <path clip-path="url(#p553f52e075)" d="M 175.061477 388.8 -L 177.458255 388.8 -L 179.855034 388.8 -L 182.251812 388.8 -L 184.648591 388.8 -L 187.045369 388.8 -L 189.442148 388.8 -L 190.569798 388.8 -L 191.838926 388.381336 -L 194.235705 387.710905 -L 196.632483 387.162631 -L 199.029262 386.738094 -L 201.42604 386.438518 -L 203.822819 386.264766 -L 206.219597 386.21734 -L 208.616376 386.296375 -L 211.013154 386.501643 -L 213.409933 386.832555 -L 215.806711 387.288155 -L 218.20349 387.86713 -L 220.600268 388.567812 -L 221.278624 388.8 -L 222.997047 388.8 -L 225.393826 388.8 -L 227.790604 388.8 -L 230.187383 388.8 -L 232.584161 388.8 -L 234.98094 388.8 -L 237.377718 388.8 -L 238.760296 388.8 -L 237.377718 387.892246 -L 234.98094 386.414945 -L 234.077127 385.895798 -L 232.584161 385.025934 -L 230.187383 383.73554 -L 228.677087 382.991597 -L 227.790604 382.546533 -L 225.393826 381.458584 -L 222.997047 380.489137 -L 221.86177 380.087395 -L 220.600268 379.630125 -L 218.20349 378.88809 -L 215.806711 378.274944 -L 213.409933 377.792456 -L 211.013154 377.442015 -L 208.616376 377.224631 -L 207.429774 377.183193 -L 206.219597 377.139677 -L 204.202878 377.183193 -L 203.822819 377.191158 -L 201.42604 377.375164 -L 199.029262 377.69242 -L 196.632483 378.142012 -L 194.235705 378.722644 -L 191.838926 379.432643 -L 189.964737 380.087395 -L 189.442148 380.265626 -L 187.045369 381.204997 -L 184.648591 382.263602 -L 183.163349 382.991597 -L 182.251812 383.429957 -L 179.855034 384.693241 -L 177.75167 385.895798 -L 177.458255 386.061179 -L 175.061477 387.513718 -L 173.072451 388.8 + <path clip-path="url(#p0bba778d2e)" d="M 140.049181 307.584 +L 141.966604 307.584 +L 143.884027 307.584 +L 145.80145 307.584 +L 147.718872 307.584 +L 149.636295 307.584 +L 151.553718 307.584 +L 152.455838 307.584 +L 153.471141 307.261629 +L 155.388564 306.745397 +L 157.305987 306.323226 +L 159.223409 305.996332 +L 161.140832 305.765659 +L 163.058255 305.63187 +L 164.975678 305.595351 +L 166.893101 305.656208 +L 168.810523 305.814265 +L 170.727946 306.069067 +L 172.645369 306.419879 +L 174.562792 306.86569 +L 176.480215 307.405216 +L 177.022899 307.584 +L 178.397638 307.584 +L 180.31506 307.584 +L 182.232483 307.584 +L 184.149906 307.584 +L 186.067329 307.584 +L 187.984752 307.584 +L 189.902174 307.584 +L 191.008237 307.584 +L 189.902174 306.88503 +L 187.984752 305.747508 +L 187.261702 305.347765 +L 186.067329 304.677969 +L 184.149906 303.684366 +L 182.941669 303.111529 +L 182.232483 302.76883 +L 180.31506 301.93111 +L 178.397638 301.184635 +L 177.489416 300.875294 +L 176.480215 300.523196 +L 174.562792 299.951829 +L 172.645369 299.479707 +L 170.727946 299.108191 +L 168.810523 298.838351 +L 166.893101 298.670966 +L 165.943819 298.639059 +L 164.975678 298.605551 +L 163.362302 298.639059 +L 163.058255 298.645191 +L 161.140832 298.786876 +L 159.223409 299.031164 +L 157.305987 299.377349 +L 155.388564 299.824436 +L 153.471141 300.371135 +L 151.971789 300.875294 +L 151.553718 301.012532 +L 149.636295 301.735848 +L 147.718872 302.550973 +L 146.530679 303.111529 +L 145.80145 303.449067 +L 143.884027 304.421796 +L 142.201336 305.347765 +L 141.966604 305.475108 +L 140.049181 306.593563 +L 138.457961 307.584 z " style="fill:#053061;"/> - <path clip-path="url(#p553f52e075)" d="M 196.632483 275.971406 -L 199.029262 276.427571 -L 201.42604 276.749466 -L 203.822819 276.936163 -L 206.219597 276.987123 -L 208.616376 276.902199 -L 211.013154 276.681638 -L 213.409933 276.326073 -L 215.806711 275.83653 -L 216.964033 275.536134 -L 218.20349 275.222902 -L 220.600268 274.489867 -L 222.997047 273.631619 -L 225.393826 272.65063 -L 225.434532 272.631933 -L 227.790604 271.572867 -L 230.187383 270.381258 -L 231.390038 269.727731 -L 232.584161 269.089601 -L 234.98094 267.7035 -L 236.398925 266.823529 -L 237.377718 266.223354 -L 239.774497 264.657855 -L 240.842854 263.919328 -L 242.171275 263.007774 -L 244.568054 261.2772 -L 244.914801 261.015126 -L 246.964832 259.470069 -L 248.695843 258.110924 -L 249.361611 257.587293 -L 251.758389 255.632017 -L 252.263053 255.206723 -L 254.155168 253.602212 -L 255.644514 252.302521 -L 256.551946 251.50202 -L 258.877643 249.398319 -L 258.948725 249.333016 -L 261.345503 247.082947 -L 261.961324 246.494118 -L 263.742282 244.75617 -L 264.919391 243.589916 -L 266.13906 242.350384 -L 267.757338 240.685714 -L 268.535839 239.859904 -L 270.477387 237.781513 -L 270.932617 237.276143 -L 273.080158 234.877311 -L 273.329396 234.586835 -L 275.564748 231.973109 -L 275.726174 231.774865 -L 277.928755 229.068908 -L 278.122953 228.816492 -L 280.168249 226.164706 -L 280.519732 225.678614 -L 282.277694 223.260504 -L 282.91651 222.314447 -L 284.2498 220.356303 -L 285.313289 218.656426 -L 286.075324 217.452101 -L 287.710067 214.604086 -L 287.742785 214.547899 -L 289.253157 211.643697 -L 290.106846 209.769432 -L 290.584245 208.739496 -L 291.733445 205.835294 -L 292.503624 203.473467 -L 292.684199 202.931092 -L 293.440342 200.026891 -L 293.982305 197.122689 -L 294.30764 194.218487 -L 294.414876 191.314286 -L 294.30353 188.410084 -L 293.974104 185.505882 -L 293.428087 182.601681 -L 292.667945 179.697479 -L 292.503624 179.205921 -L 291.71368 176.793277 -L 290.560724 173.889076 -L 290.106846 172.912529 -L 289.226459 170.984874 -L 287.712621 168.080672 -L 287.710067 168.076294 -L 286.04231 165.176471 -L 285.313289 164.026282 -L 284.21406 162.272269 -L 282.91651 160.36944 -L 282.239339 159.368067 -L 280.519732 157.005778 -L 280.127378 156.463866 -L 278.122953 153.868012 -L 277.885454 153.559664 -L 275.726174 150.909523 -L 275.519093 150.655462 -L 273.329396 148.097314 -L 273.032216 147.751261 -L 270.932617 145.407713 -L 270.427214 144.847059 -L 268.535839 142.823649 -L 267.704983 141.942857 -L 266.13906 140.33289 -L 264.864894 139.038655 -L 263.742282 137.926873 -L 261.904716 136.134454 -L 261.345503 135.59993 -L 258.948725 133.350618 -L 258.817664 133.230252 -L 256.551946 131.181311 -L 255.582201 130.32605 -L 254.155168 129.080936 -L 252.198382 127.421849 -L 251.758389 127.051082 -L 249.361611 125.09595 -L 248.626276 124.517647 -L 246.964832 123.213109 -L 244.842371 121.613445 -L 244.568054 121.406094 -L 242.171275 119.675353 -L 240.763485 118.709244 -L 239.774497 118.025457 -L 237.377718 116.459672 -L 236.310313 115.805042 -L 234.98094 114.979839 -L 232.584161 113.593363 -L 231.288605 112.90084 -L 230.187383 112.302216 -L 227.790604 111.110178 -L 225.393826 110.032425 -L 225.304512 109.996639 -L 222.997047 109.051776 -L 220.600268 108.193137 -L 218.20349 107.459769 -L 216.750621 107.092437 -L 215.806711 106.847299 -L 213.409933 106.357485 -L 211.013154 106.001724 -L 208.616376 105.78104 -L 206.219597 105.69607 -L 203.822819 105.747058 -L 201.42604 105.933858 -L 199.029262 106.255931 -L 196.632483 106.712349 -L 195.086991 107.092437 -L 194.235705 107.296257 -L 191.838926 107.997962 -L 189.442148 108.825501 -L 187.045369 109.776489 -L 186.553017 109.996639 -L 184.648591 110.829899 -L 182.251812 111.993675 -L 180.547188 112.90084 -L 179.855034 113.263049 -L 177.458255 114.623561 -L 175.522483 115.805042 -L 175.061477 116.083034 -L 172.664698 117.625266 -L 171.075415 118.709244 -L 170.267919 119.255905 -L 167.871141 120.965622 -L 167.004649 121.613445 -L 165.474362 122.754221 -L 163.20634 124.517647 -L 163.077584 124.617918 -L 160.680805 126.556024 -L 159.645325 127.421849 -L 158.284027 128.567129 -L 156.254319 130.32605 -L 155.887248 130.647586 -L 153.49047 132.802218 -L 153.024913 133.230252 -L 151.093691 135.033442 -L 149.936877 136.134454 -L 148.696913 137.338782 -L 146.974455 139.038655 -L 146.300134 139.721201 -L 144.133319 141.942857 -L 143.903356 142.185973 -L 141.506577 144.744942 -L 141.411591 144.847059 -L 139.109799 147.413033 -L 138.807602 147.751261 -L 136.71302 150.196955 -L 136.320769 150.655462 -L 134.316242 153.116105 -L 133.954257 153.559664 -L 131.919463 156.197214 -L 131.712784 156.463866 -L 129.602129 159.368067 -L 129.522685 159.485737 -L 127.627016 162.272269 -L 127.125906 163.073769 -L 125.797298 165.176471 -L 124.729128 167.039548 -L 124.12404 168.080672 -L 122.616069 170.984874 -L 122.332349 171.608511 -L 121.277334 173.889076 -L 120.129758 176.793277 -L 119.93557 177.389144 -L 119.168161 179.697479 -L 118.412189 182.601681 -L 117.869167 185.505882 -L 117.541548 188.410084 -L 117.538792 188.482359 -L 117.428269 191.314286 -L 117.537429 194.218487 -L 117.538792 194.230439 -L 117.86101 197.122689 -L 118.400001 200.026891 -L 119.151996 202.931092 -L 119.93557 205.297619 -L 120.110085 205.835294 -L 121.253924 208.739496 -L 122.332349 211.076986 -L 122.589474 211.643697 -L 124.093994 214.547899 -L 124.729128 215.642874 -L 125.764385 217.452101 -L 127.125906 219.610564 -L 127.59136 220.356303 -L 129.522685 223.199461 -L 129.563836 223.260504 -L 131.671758 226.164706 -L 131.919463 226.48465 -L 133.910887 229.068908 -L 134.316242 229.566102 -L 136.27514 231.973109 -L 136.71302 232.485393 -L 138.75979 234.877311 -L 139.109799 235.26934 -L 141.361663 237.781513 -L 141.506577 237.937402 -L 143.903356 240.497981 -L 144.08082 240.685714 -L 146.300134 242.962395 -L 146.919767 243.589916 -L 148.696913 245.344513 -L 149.880027 246.494118 -L 151.093691 247.649626 -L 152.965917 249.398319 -L 153.49047 249.880713 -L 155.887248 252.035877 -L 156.19158 252.302521 -L 158.284027 254.116101 -L 159.58015 255.206723 -L 160.680805 256.127112 -L 163.077584 258.06536 -L 163.136087 258.110924 -L 165.474362 259.928952 -L 166.931421 261.015126 -L 167.871141 261.71763 -L 170.267919 263.427182 -L 170.994959 263.919328 -L 172.664698 265.057973 -L 175.061477 266.599923 -L 175.43236 266.823529 -L 177.458255 268.059682 -L 179.855034 269.419825 -L 180.443577 269.727731 -L 182.251812 270.689689 -L 184.648591 271.853045 -L 186.429391 272.631933 -L 187.045369 272.907236 -L 189.442148 273.857791 -L 191.838926 274.684953 -L 194.235705 275.38634 -L 194.861629 275.536134 + <path clip-path="url(#p0bba778d2e)" d="M 157.305987 220.705982 +L 159.223409 221.05723 +L 161.140832 221.305089 +L 163.058255 221.448845 +L 164.975678 221.488085 +L 166.893101 221.422694 +L 168.810523 221.252861 +L 170.727946 220.979076 +L 172.645369 220.602128 +L 173.571226 220.370824 +L 174.562792 220.129634 +L 176.480215 219.565198 +L 178.397638 218.904347 +L 180.31506 218.148985 +L 180.347626 218.134588 +L 182.232483 217.319107 +L 184.149906 216.401569 +L 185.11203 215.898353 +L 186.067329 215.406993 +L 187.984752 214.339695 +L 189.11914 213.662118 +L 189.902174 213.199982 +L 191.819597 211.994548 +L 192.674283 211.425882 +L 193.73702 210.723986 +L 195.654443 209.391444 +L 195.931841 209.189647 +L 197.571866 207.999953 +L 198.956674 206.953412 +L 199.489289 206.550216 +L 201.406711 205.044653 +L 201.810442 204.717176 +L 203.324134 203.481703 +L 204.515611 202.480941 +L 205.241557 201.864555 +L 207.102114 200.244706 +L 207.15898 200.194423 +L 209.076403 198.461869 +L 209.569059 198.008471 +L 210.993826 196.670251 +L 211.935513 195.772235 +L 212.911248 194.817796 +L 214.20587 193.536 +L 214.828671 192.900126 +L 216.38191 191.299765 +L 216.746094 190.91063 +L 218.464126 189.063529 +L 218.663517 188.839863 +L 220.451798 186.827294 +L 220.58094 186.674646 +L 222.343004 184.591059 +L 222.498362 184.396699 +L 224.134599 182.354824 +L 224.415785 181.980533 +L 225.822155 180.118588 +L 226.333208 179.390124 +L 227.39984 177.882353 +L 228.250631 176.573448 +L 228.860259 175.646118 +L 230.168054 173.453146 +L 230.194228 173.409882 +L 231.402526 171.173647 +L 232.085477 169.730463 +L 232.467396 168.937412 +L 233.386756 166.701176 +L 234.002899 164.882569 +L 234.147359 164.464941 +L 234.752274 162.228706 +L 235.185844 159.992471 +L 235.446112 157.756235 +L 235.531901 155.52 +L 235.442824 153.283765 +L 235.179283 151.047529 +L 234.742469 148.811294 +L 234.134356 146.575059 +L 234.002899 146.19656 +L 233.370944 144.338824 +L 232.44858 142.102588 +L 232.085477 141.350647 +L 231.381167 139.866353 +L 230.170097 137.630118 +L 230.168054 137.626747 +L 228.833848 135.393882 +L 228.250631 134.508238 +L 227.371248 133.157647 +L 226.333208 131.692469 +L 225.791471 130.921412 +L 224.415785 129.102449 +L 224.101903 128.685176 +L 222.498362 126.68637 +L 222.308363 126.448941 +L 220.58094 124.408333 +L 220.415274 124.212706 +L 218.663517 122.242932 +L 218.425773 121.976471 +L 216.746094 120.171939 +L 216.341771 119.740235 +L 214.828671 118.18221 +L 214.163986 117.504 +L 212.911248 116.264325 +L 211.891916 115.267765 +L 210.993826 114.411692 +L 209.523773 113.031529 +L 209.076403 112.619946 +L 207.15898 110.887975 +L 207.054131 110.795294 +L 205.241557 109.217609 +L 204.465761 108.559059 +L 203.324134 107.600321 +L 201.758705 106.322824 +L 201.406711 106.037333 +L 199.489289 104.531882 +L 198.901021 104.086588 +L 197.571866 103.082094 +L 195.873897 101.850353 +L 195.654443 101.690692 +L 193.73702 100.358022 +L 192.610788 99.614118 +L 191.819597 99.087602 +L 189.902174 97.881948 +L 189.048251 97.377882 +L 187.984752 96.742476 +L 186.067329 95.67489 +L 185.030884 95.141647 +L 184.149906 94.680707 +L 182.232483 93.762837 +L 180.31506 92.932968 +L 180.24361 92.905412 +L 178.397638 92.177868 +L 176.480215 91.516716 +L 174.562792 90.952022 +L 173.400497 90.669176 +L 172.645369 90.48042 +L 170.727946 90.103264 +L 168.810523 89.829327 +L 166.893101 89.659401 +L 164.975678 89.593974 +L 163.058255 89.633235 +L 161.140832 89.777071 +L 159.223409 90.025067 +L 157.305987 90.376509 +L 156.069593 90.669176 +L 155.388564 90.826118 +L 153.471141 91.366431 +L 151.553718 92.003636 +L 149.636295 92.735896 +L 149.242414 92.905412 +L 147.718872 93.547022 +L 145.80145 94.44313 +L 144.43775 95.141647 +L 143.884027 95.420548 +L 141.966604 96.468142 +L 140.417986 97.377882 +L 140.049181 97.591936 +L 138.131758 98.779455 +L 136.860332 99.614118 +L 136.214336 100.035047 +L 134.296913 101.351529 +L 133.603719 101.850353 +L 132.37949 102.72875 +L 130.565072 104.086588 +L 130.462067 104.163797 +L 128.544644 105.656138 +L 127.71626 106.322824 +L 126.627221 107.20469 +L 125.003455 108.559059 +L 124.709799 108.806641 +L 122.792376 110.465708 +L 122.41993 110.795294 +L 120.874953 112.18375 +L 119.949502 113.031529 +L 118.95753 113.958862 +L 117.579564 115.267765 +L 117.040107 115.793325 +L 115.306655 117.504 +L 115.122685 117.6912 +L 113.205262 119.661606 +L 113.129273 119.740235 +L 111.287839 121.716036 +L 111.046082 121.976471 +L 109.370416 123.859655 +L 109.056615 124.212706 +L 107.452993 126.107401 +L 107.163406 126.448941 +L 105.53557 128.479855 +L 105.370227 128.685176 +L 103.681703 130.921412 +L 103.618148 131.012017 +L 102.101613 133.157647 +L 101.700725 133.774802 +L 100.637838 135.393882 +L 99.783302 136.828452 +L 99.299232 137.630118 +L 98.092855 139.866353 +L 97.865879 140.346553 +L 97.021868 142.102588 +L 96.103806 144.338824 +L 95.948456 144.797641 +L 95.334529 146.575059 +L 94.729751 148.811294 +L 94.295333 151.047529 +L 94.033238 153.283765 +L 94.031034 153.339416 +L 93.942615 155.52 +L 94.029943 157.756235 +L 94.031034 157.765438 +L 94.288808 159.992471 +L 94.72 162.228706 +L 95.321597 164.464941 +L 95.948456 166.287167 +L 96.088068 166.701176 +L 97.003139 168.937412 +L 97.865879 170.737279 +L 98.071579 171.173647 +L 99.275195 173.409882 +L 99.783302 174.253013 +L 100.611508 175.646118 +L 101.700725 177.308134 +L 102.073088 177.882353 +L 103.618148 180.071585 +L 103.651069 180.118588 +L 105.337406 182.354824 +L 105.53557 182.601181 +L 107.128709 184.591059 +L 107.452993 184.973898 +L 109.020112 186.827294 +L 109.370416 187.221752 +L 111.007832 189.063529 +L 111.287839 189.365392 +L 113.089331 191.299765 +L 113.205262 191.4198 +L 115.122685 193.391446 +L 115.264656 193.536 +L 117.040107 195.289044 +L 117.535814 195.772235 +L 118.95753 197.123275 +L 119.904022 198.008471 +L 120.874953 198.898212 +L 122.372734 200.244706 +L 122.792376 200.616149 +L 124.709799 202.275625 +L 124.953264 202.480941 +L 126.627221 203.877398 +L 127.66412 204.717176 +L 128.544644 205.425876 +L 130.462067 206.918327 +L 130.50887 206.953412 +L 132.37949 208.353293 +L 133.545137 209.189647 +L 134.296913 209.730575 +L 136.214336 211.04693 +L 136.795967 211.425882 +L 138.131758 212.302639 +L 140.049181 213.489941 +L 140.345888 213.662118 +L 141.966604 214.613955 +L 143.884027 215.661266 +L 144.354862 215.898353 +L 145.80145 216.63906 +L 147.718872 217.534845 +L 149.143513 218.134588 +L 149.636295 218.346572 +L 151.553718 219.078499 +L 153.471141 219.715414 +L 155.388564 220.255482 +L 155.889303 220.370824 z -M 196.080286 266.823529 -L 194.235705 266.403757 -L 191.838926 265.736795 -L 189.442148 264.950231 -L 187.045369 264.046331 -L 186.746539 263.919328 -L 184.648591 263.034252 -L 182.251812 261.912134 -L 180.503699 261.015126 -L 179.855034 260.683216 -L 177.458255 259.352931 -L 175.37708 258.110924 -L 175.061477 257.922259 -L 172.664698 256.393371 -L 170.909697 255.206723 -L 170.267919 254.770069 -L 167.871141 253.051772 -L 166.87399 252.302521 -L 165.474362 251.239401 -L 163.150445 249.398319 -L 163.077584 249.339693 -L 160.680805 247.337235 -L 159.704887 246.494118 -L 158.284027 245.241343 -L 156.465652 243.589916 -L 155.887248 243.051093 -L 153.49047 240.759646 -L 153.414859 240.685714 -L 151.093691 238.345294 -L 150.545157 237.781513 -L 148.696913 235.81152 -L 147.83432 234.877311 -L 146.300134 233.143693 -L 145.277461 231.973109 -L 143.903356 230.321162 -L 142.871937 229.068908 -L 141.506577 227.315081 -L 140.617167 226.164706 -L 139.109799 224.085059 -L 138.514525 223.260504 -L 136.71302 220.573842 -L 136.567313 220.356303 -L 134.779971 217.452101 -L 134.316242 216.621469 -L 133.156528 214.547899 -L 131.919463 212.071328 -L 131.704857 211.643697 -L 130.428383 208.739496 -L 129.522685 206.3257 -L 129.337272 205.835294 -L 128.432403 202.931092 -L 127.724775 200.026891 -L 127.217585 197.122689 -L 127.125906 196.24818 -L 126.910863 194.218487 -L 126.809441 191.314286 -L 126.91475 188.410084 -L 127.125906 186.441831 -L 127.22526 185.505882 -L 127.736244 182.601681 -L 128.447614 179.697479 -L 129.356157 176.793277 -L 129.522685 176.354256 -L 130.450686 173.889076 -L 131.73062 170.984874 -L 131.919463 170.609442 -L 133.1855 168.080672 -L 134.316242 166.062875 -L 134.812083 165.176471 -L 136.60247 162.272269 -L 136.71302 162.107465 -L 138.552612 159.368067 -L 139.109799 158.59727 -L 140.658137 156.463866 -L 141.506577 155.367723 -L 142.915753 153.559664 -L 143.903356 152.361791 -L 145.324098 150.655462 -L 146.300134 149.539219 -L 147.883767 147.751261 -L 148.696913 146.871254 -L 150.597413 144.847059 -L 151.093691 144.337307 -L 153.469938 141.942857 -L 153.49047 141.922792 -L 155.887248 139.63255 -L 156.525104 139.038655 -L 158.284027 137.441908 -L 159.767539 136.134454 -L 160.680805 135.345728 -L 163.077584 133.343943 -L 163.218928 133.230252 -L 165.474362 131.443865 -L 166.94636 130.32605 -L 167.871141 129.631288 -L 170.267919 127.913265 -L 170.990301 127.421849 -L 172.664698 126.289784 -L 175.061477 124.761009 -L 175.468607 124.517647 -L 177.458255 123.330249 -L 179.855034 121.999948 -L 180.610384 121.613445 -L 182.251812 120.771099 -L 184.648591 119.648872 -L 186.875635 118.709244 -L 187.045369 118.637093 -L 189.442148 117.733028 -L 191.838926 116.94632 -L 194.235705 116.279236 -L 196.319047 115.805042 -L 196.632483 115.732833 -L 199.029262 115.305282 -L 201.42604 115.003579 -L 203.822819 114.828594 -L 206.219597 114.780831 -L 208.616376 114.860427 -L 211.013154 115.067153 -L 213.409933 115.400414 -L 215.523559 115.805042 -L 215.806711 115.858597 -L 218.20349 116.434681 -L 220.600268 117.131865 -L 222.997047 117.948138 -L 224.952225 118.709244 -L 225.393826 118.879871 -L 227.790604 119.919145 -L 230.187383 121.068625 -L 231.226736 121.613445 -L 232.584161 122.322927 -L 234.98094 123.678616 -L 236.363286 124.517647 -L 237.377718 125.134361 -L 239.774497 126.686483 -L 240.847449 127.421849 -L 242.171275 128.334751 -L 244.568054 130.073901 -L 244.900024 130.32605 -L 246.964832 131.911323 -L 248.613811 133.230252 -L 249.361611 133.837682 -L 251.758389 135.857053 -L 252.077112 136.134454 -L 254.155168 137.980149 -L 255.313256 139.038655 -L 256.551946 140.199867 -L 258.365219 141.942857 -L 258.948725 142.521191 -L 261.245182 144.847059 -L 261.345503 144.952418 -L 263.742282 147.516156 -L 263.958764 147.751261 -L 266.13906 150.221508 -L 266.517467 150.655462 -L 268.535839 153.086213 -L 268.925402 153.559664 -L 270.932617 156.140203 -L 271.182822 156.463866 -L 273.2879 159.368067 -L 273.329396 159.429692 -L 275.237236 162.272269 -L 275.726174 163.064941 -L 277.028123 165.176471 -L 278.122953 167.13333 -L 278.654305 168.080672 -L 280.10961 170.984874 -L 280.519732 171.918977 -L 281.389402 173.889076 -L 282.484448 176.793277 -L 282.91651 178.182665 -L 283.391521 179.697479 -L 284.104573 182.601681 -L 284.616766 185.505882 -L 284.925784 188.410084 -L 285.030233 191.314286 -L 284.929639 194.218487 -L 284.624459 197.122689 -L 284.116069 200.026891 -L 283.406768 202.931092 -L 282.91651 204.500878 -L 282.50322 205.835294 -L 281.411741 208.739496 -L 280.519732 210.765678 -L 280.135275 211.643697 -L 278.683303 214.547899 -L 278.122953 215.548907 -L 277.06024 217.452101 -L 275.726174 219.619406 -L 275.272413 220.356303 -L 273.329396 223.255589 -L 273.326091 223.260504 -L 271.22374 226.164706 -L 270.932617 226.541726 -L 268.96913 229.068908 -L 268.535839 229.596024 -L 266.563977 231.973109 -L 266.13906 232.460818 -L 264.008038 234.877311 -L 263.742282 235.166141 -L 261.345503 237.731774 -L 261.298178 237.781513 -L 258.948725 240.162553 -L 258.421216 240.685714 -L 256.551946 242.483477 -L 255.372305 243.589916 -L 254.155168 244.702871 -L 252.13928 246.494118 -L 251.758389 246.825738 -L 249.361611 248.845788 -L 248.681625 249.398319 -L 246.964832 250.771828 -L 244.971605 252.302521 -L 244.568054 252.609089 -L 242.171275 254.348516 -L 240.926963 255.206723 -L 239.774497 255.996643 -L 237.377718 257.548879 -L 236.453279 258.110924 -L 234.98094 259.004568 -L 232.584161 260.360241 -L 231.331179 261.015126 -L 230.187383 261.614637 -L 227.790604 262.764006 -L 225.393826 263.80318 -L 225.093193 263.919328 -L 222.997047 264.73516 -L 220.600268 265.551284 -L 218.20349 266.24834 -L 215.809998 266.823529 -L 215.806711 266.824329 -L 213.409933 267.283039 -L 211.013154 267.61621 -L 208.616376 267.82288 -L 206.219597 267.902455 -L 203.822819 267.854704 -L 201.42604 267.679766 -L 199.029262 267.378145 -L 196.632483 266.95071 +M 156.864229 213.662118 +L 155.388564 213.338893 +L 153.471141 212.825332 +L 151.553718 212.219678 +L 149.636295 211.523675 +L 149.397231 211.425882 +L 147.718872 210.744374 +L 145.80145 209.880343 +L 144.402959 209.189647 +L 143.884027 208.934077 +L 141.966604 207.909757 +L 140.301664 206.953412 +L 140.049181 206.808139 +L 138.131758 205.630896 +L 136.727757 204.717176 +L 136.214336 204.380953 +L 134.296913 203.057864 +L 133.499192 202.480941 +L 132.37949 201.662339 +L 130.520356 200.244706 +L 130.462067 200.199564 +L 128.544644 198.657671 +L 127.76391 198.008471 +L 126.627221 197.043834 +L 125.172522 195.772235 +L 124.709799 195.357342 +L 122.792376 193.592927 +L 122.731887 193.536 +L 120.874953 191.733876 +L 120.436125 191.299765 +L 118.95753 189.78287 +L 118.267456 189.063529 +L 117.040107 187.728644 +L 116.221968 186.827294 +L 115.122685 185.555294 +L 114.29755 184.591059 +L 113.205262 183.240612 +L 112.493734 182.354824 +L 111.287839 180.753496 +L 110.81162 180.118588 +L 109.370416 178.049858 +L 109.25385 177.882353 +L 107.823977 175.646118 +L 107.452993 175.006531 +L 106.525223 173.409882 +L 105.53557 171.502922 +L 105.363885 171.173647 +L 104.342706 168.937412 +L 103.618148 167.078789 +L 103.469817 166.701176 +L 102.745922 164.464941 +L 102.17982 162.228706 +L 101.774068 159.992471 +L 101.700725 159.319099 +L 101.528691 157.756235 +L 101.447553 155.52 +L 101.5318 153.283765 +L 101.700725 151.76821 +L 101.780208 151.047529 +L 102.188995 148.811294 +L 102.758091 146.575059 +L 103.484925 144.338824 +L 103.618148 144.000777 +L 104.360548 142.102588 +L 105.384496 139.866353 +L 105.53557 139.57727 +L 106.5484 137.630118 +L 107.452993 136.076414 +L 107.849666 135.393882 +L 109.281976 133.157647 +L 109.370416 133.030748 +L 110.84209 130.921412 +L 111.287839 130.327898 +L 112.526509 128.685176 +L 113.205262 127.841147 +L 114.332602 126.448941 +L 115.122685 125.526579 +L 116.259279 124.212706 +L 117.040107 123.353199 +L 118.307013 121.976471 +L 118.95753 121.298866 +L 120.477931 119.740235 +L 120.874953 119.347727 +L 122.77595 117.504 +L 122.792376 117.48855 +L 124.709799 115.725063 +L 125.220084 115.267765 +L 126.627221 114.038269 +L 127.814031 113.031529 +L 128.544644 112.424211 +L 130.462067 110.882836 +L 130.575142 110.795294 +L 132.37949 109.419776 +L 133.557088 108.559059 +L 134.296913 108.024092 +L 136.214336 106.701214 +L 136.79224 106.322824 +L 138.131758 105.451134 +L 140.049181 104.273977 +L 140.374886 104.086588 +L 141.966604 103.172292 +L 143.884027 102.14796 +L 144.488307 101.850353 +L 145.80145 101.201746 +L 147.718872 100.337632 +L 149.500508 99.614118 +L 149.636295 99.558562 +L 151.553718 98.862432 +L 153.471141 98.256666 +L 155.388564 97.743012 +L 157.055238 97.377882 +L 157.305987 97.322281 +L 159.223409 96.993067 +L 161.140832 96.760756 +L 163.058255 96.626017 +L 164.975678 96.58924 +L 166.893101 96.650529 +L 168.810523 96.809708 +L 170.727946 97.066318 +L 172.418847 97.377882 +L 172.645369 97.41912 +L 174.562792 97.862705 +L 176.480215 98.399536 +L 178.397638 99.028066 +L 179.96178 99.614118 +L 180.31506 99.7455 +L 182.232483 100.545742 +L 184.149906 101.430841 +L 184.981389 101.850353 +L 186.067329 102.396654 +L 187.984752 103.440534 +L 189.090629 104.086588 +L 189.902174 104.561458 +L 191.819597 105.756592 +L 192.677959 106.322824 +L 193.73702 107.025758 +L 195.654443 108.364904 +L 195.92002 108.559059 +L 197.571866 109.779719 +L 198.891049 110.795294 +L 199.489289 111.263015 +L 201.406711 112.81793 +L 201.661689 113.031529 +L 203.324134 114.452715 +L 204.250605 115.267765 +L 205.241557 116.161898 +L 206.692175 117.504 +L 207.15898 117.949317 +L 208.996145 119.740235 +L 209.076403 119.821362 +L 210.993826 121.79544 +L 211.167011 121.976471 +L 212.911248 123.878561 +L 213.213974 124.212706 +L 214.828671 126.084384 +L 215.140322 126.448941 +L 216.746094 128.435956 +L 216.946258 128.685176 +L 218.63032 130.921412 +L 218.663517 130.968863 +L 220.189789 133.157647 +L 220.58094 133.768005 +L 221.622499 135.393882 +L 222.498362 136.900664 +L 222.923444 137.630118 +L 224.087688 139.866353 +L 224.415785 140.585612 +L 225.111522 142.102588 +L 225.987558 144.338824 +L 226.333208 145.408652 +L 226.713217 146.575059 +L 227.283659 148.811294 +L 227.693413 151.047529 +L 227.940627 153.283765 +L 228.024186 155.52 +L 227.943712 157.756235 +L 227.699567 159.992471 +L 227.292856 162.228706 +L 226.725415 164.464941 +L 226.333208 165.673676 +L 226.002576 166.701176 +L 225.129393 168.937412 +L 224.415785 170.497572 +L 224.10822 171.173647 +L 222.946642 173.409882 +L 222.498362 174.180658 +L 221.648192 175.646118 +L 220.58094 177.314943 +L 220.217931 177.882353 +L 218.663517 180.114804 +L 218.660873 180.118588 +L 216.978992 182.354824 +L 216.746094 182.645129 +L 215.175304 184.591059 +L 214.828671 184.996938 +L 213.251181 186.827294 +L 212.911248 187.20283 +L 211.20643 189.063529 +L 210.993826 189.285929 +L 209.076403 191.261466 +L 209.038542 191.299765 +L 207.15898 193.133166 +L 206.736973 193.536 +L 205.241557 194.920278 +L 204.297844 195.772235 +L 203.324134 196.62921 +L 201.711424 198.008471 +L 201.406711 198.263819 +L 199.489289 199.819257 +L 198.9453 200.244706 +L 197.571866 201.302308 +L 195.977284 202.480941 +L 195.654443 202.716999 +L 193.73702 204.056357 +L 192.741571 204.717176 +L 191.819597 205.325415 +L 189.902174 206.520637 +L 189.162623 206.953412 +L 187.984752 207.641517 +L 186.067329 208.685386 +L 185.064944 209.189647 +L 184.149906 209.651271 +L 182.232483 210.536284 +L 180.31506 211.336448 +L 180.074554 211.425882 +L 178.397638 212.054073 +L 176.480215 212.682489 +L 174.562792 213.219222 +L 172.647998 213.662118 +L 172.645369 213.662733 +L 170.727946 214.01594 +L 168.810523 214.272481 +L 166.893101 214.431618 +L 164.975678 214.49289 +L 163.058255 214.456122 +L 161.140832 214.32142 +L 159.223409 214.089172 +L 157.305987 213.760046 z " style="fill:#053061;"/> - <path clip-path="url(#p553f52e075)" d="M 429.12 245.287365 -L 429.12 243.589916 -L 429.12 240.685714 -L 429.12 237.781513 -L 429.12 235.748832 -L 428.31557 234.877311 -L 426.723221 233.07734 -L 425.758782 231.973109 -L 424.326443 230.250678 -L 423.353276 229.068908 -L 421.929664 227.239886 -L 421.098501 226.164706 -L 419.532886 224.004415 -L 418.995864 223.260504 -L 417.136107 220.486798 -L 417.048701 220.356303 -L 415.261343 217.452101 -L 414.739329 216.517079 -L 413.637912 214.547899 -L 412.34255 211.954826 -L 412.186387 211.643697 -L 410.909721 208.739496 -L 409.945772 206.170839 -L 409.818881 205.835294 -L 408.913811 202.931092 -L 408.206026 200.026891 -L 407.698724 197.122689 -L 407.548993 195.694748 -L 407.39254 194.218487 -L 407.291088 191.314286 -L 407.396428 188.410084 -L 407.548993 186.988389 -L 407.706401 185.505882 -L 408.217498 182.601681 -L 408.929026 179.697479 -L 409.83777 176.793277 -L 409.945772 176.508612 -L 410.932027 173.889076 -L 412.212154 170.984874 -L 412.34255 170.725676 -L 413.666885 168.080672 -L 414.739329 166.16706 -L 415.293454 165.176471 -L 417.083859 162.272269 -L 417.136107 162.194379 -L 419.03395 159.368067 -L 419.532886 158.677809 -L 421.139465 156.463866 -L 421.929664 155.442834 -L 423.397083 153.559664 -L 424.326443 152.432205 -L 425.805407 150.655462 -L 426.723221 149.605515 -L 428.365 147.751261 -L 429.12 146.933896 -L 429.12 144.847059 -L 429.12 141.942857 -L 429.12 139.038655 -L 429.12 137.395905 -L 427.456006 139.038655 -L 426.723221 139.780637 -L 424.614955 141.942857 -L 424.326443 142.247956 -L 421.929664 144.807443 -L 421.89282 144.847059 -L 419.532886 147.478194 -L 419.288924 147.751261 -L 417.136107 150.265105 -L 416.802155 150.655462 -L 414.739329 153.187646 -L 414.435704 153.559664 -L 412.34255 156.272646 -L 412.194315 156.463866 -L 410.083343 159.368067 -L 409.945772 159.571802 -L 408.108246 162.272269 -L 407.548993 163.166567 -L 406.278646 165.176471 -L 405.152215 167.140587 -L 404.605648 168.080672 -L 403.09712 170.984874 -L 402.755436 171.735642 -L 401.75879 173.889076 -L 400.610701 176.793277 -L 400.358658 177.56633 -L 399.649781 179.697479 -L 398.893411 182.601681 -L 398.350103 185.505882 -L 398.022312 188.410084 -L 397.961879 189.994192 -L 397.910328 191.314286 -L 397.961879 192.684972 -L 398.018223 194.218487 -L 398.341943 197.122689 -L 398.881217 200.026891 -L 399.633607 202.931092 -L 400.358658 205.119714 -L 400.591019 205.835294 -L 401.735368 208.739496 -L 402.755436 210.94951 -L 403.070515 211.643697 -L 404.575591 214.547899 -L 405.152215 215.541636 -L 406.245724 217.452101 -L 407.548993 219.517607 -L 408.072582 220.356303 -L 409.945772 223.113268 -L 410.045045 223.260504 -L 412.153283 226.164706 -L 412.34255 226.409133 -L 414.39233 229.068908 -L 414.739329 229.49449 -L 416.756525 231.973109 -L 417.136107 232.417185 -L 419.241115 234.877311 -L 419.532886 235.204131 -L 421.842899 237.781513 -L 421.929664 237.874862 -L 424.326443 240.43596 -L 424.562471 240.685714 -L 426.723221 242.902928 -L 427.401337 243.589916 + <path clip-path="url(#p0bba778d2e)" d="M 343.296 197.079271 +L 343.296 195.772235 +L 343.296 193.536 +L 343.296 191.299765 +L 343.296 189.734601 +L 342.652456 189.063529 +L 341.378577 187.677552 +L 340.607026 186.827294 +L 339.461154 185.501022 +L 338.682621 184.591059 +L 337.543732 183.182712 +L 336.878801 182.354824 +L 335.626309 180.6914 +L 335.196691 180.118588 +L 333.708886 177.982835 +L 333.63896 177.882353 +L 332.209074 175.646118 +L 331.791463 174.926151 +L 330.91033 173.409882 +L 329.87404 171.413216 +L 329.74911 171.173647 +L 328.727777 168.937412 +L 327.956617 166.959546 +L 327.855105 166.701176 +L 327.131049 164.464941 +L 326.564821 162.228706 +L 326.158979 159.992471 +L 326.039195 158.892956 +L 325.914032 157.756235 +L 325.83287 155.52 +L 325.917142 153.283765 +L 326.039195 152.18906 +L 326.165121 151.047529 +L 326.573998 148.811294 +L 327.143221 146.575059 +L 327.870216 144.338824 +L 327.956617 144.119631 +L 328.745622 142.102588 +L 329.769723 139.866353 +L 329.87404 139.666771 +L 330.933508 137.630118 +L 331.791463 136.156636 +L 332.234764 135.393882 +L 333.667087 133.157647 +L 333.708886 133.097672 +L 335.22716 130.921412 +L 335.626309 130.389913 +L 336.911572 128.685176 +L 337.543732 127.898982 +L 338.717666 126.448941 +L 339.461154 125.580798 +L 340.644326 124.212706 +L 341.378577 123.404247 +L 342.692 121.976471 +L 343.296 121.3471 +L 343.296 119.740235 +L 343.296 117.504 +L 343.296 115.267765 +L 343.296 114.002847 +L 341.964805 115.267765 +L 341.378577 115.839091 +L 339.691964 117.504 +L 339.461154 117.738926 +L 337.543732 119.709731 +L 337.514256 119.740235 +L 335.626309 121.76621 +L 335.431139 121.976471 +L 333.708886 123.912131 +L 333.441724 124.212706 +L 331.791463 126.162487 +L 331.548563 126.448941 +L 329.87404 128.537937 +L 329.755452 128.685176 +L 328.066675 130.921412 +L 327.956617 131.078288 +L 326.486597 133.157647 +L 326.039195 133.846257 +L 325.022917 135.393882 +L 324.121772 136.906252 +L 323.684519 137.630118 +L 322.477696 139.866353 +L 322.204349 140.444444 +L 321.407032 142.102588 +L 320.488561 144.338824 +L 320.286926 144.934074 +L 319.719825 146.575059 +L 319.114729 148.811294 +L 318.680083 151.047529 +L 318.41785 153.283765 +L 318.369503 154.503528 +L 318.328262 155.52 +L 318.369503 156.575428 +L 318.414578 157.756235 +L 318.673554 159.992471 +L 319.104973 162.228706 +L 319.706886 164.464941 +L 320.286926 166.15018 +L 320.472816 166.701176 +L 321.388295 168.937412 +L 322.204349 170.639123 +L 322.456412 171.173647 +L 323.660473 173.409882 +L 324.121772 174.175059 +L 324.996579 175.646118 +L 326.039195 177.236558 +L 326.458066 177.882353 +L 327.956617 180.005217 +L 328.036036 180.118588 +L 329.722627 182.354824 +L 329.87404 182.543033 +L 331.513864 184.591059 +L 331.791463 184.918757 +L 333.40522 186.827294 +L 333.708886 187.169232 +L 335.392892 189.063529 +L 335.626309 189.315181 +L 337.474319 191.299765 +L 337.543732 191.371644 +L 339.461154 193.343689 +L 339.649977 193.536 +L 341.378577 195.243254 +L 341.92107 195.772235 z " style="fill:#053061;"/> </g> <g id="PathCollection_15"> - <path clip-path="url(#p553f52e075)" d="M 191.838926 388.8 -L 194.235705 388.8 -L 196.632483 388.8 -L 199.029262 388.8 -L 201.42604 388.8 -L 203.822819 388.8 -L 206.219597 388.8 -L 208.616376 388.8 -L 211.013154 388.8 -L 213.409933 388.8 -L 215.806711 388.8 -L 218.20349 388.8 -L 220.600268 388.8 -L 221.278624 388.8 -L 220.600268 388.567812 -L 218.20349 387.86713 -L 215.806711 387.288155 -L 213.409933 386.832555 -L 211.013154 386.501643 -L 208.616376 386.296375 -L 206.219597 386.21734 -L 203.822819 386.264766 -L 201.42604 386.438518 -L 199.029262 386.738094 -L 196.632483 387.162631 -L 194.235705 387.710905 -L 191.838926 388.381336 -L 190.569798 388.8 + <path clip-path="url(#p0bba778d2e)" d="M 153.471141 307.584 +L 155.388564 307.584 +L 157.305987 307.584 +L 159.223409 307.584 +L 161.140832 307.584 +L 163.058255 307.584 +L 164.975678 307.584 +L 166.893101 307.584 +L 168.810523 307.584 +L 170.727946 307.584 +L 172.645369 307.584 +L 174.562792 307.584 +L 176.480215 307.584 +L 177.022899 307.584 +L 176.480215 307.405216 +L 174.562792 306.86569 +L 172.645369 306.419879 +L 170.727946 306.069067 +L 168.810523 305.814265 +L 166.893101 305.656208 +L 164.975678 305.595351 +L 163.058255 305.63187 +L 161.140832 305.765659 +L 159.223409 305.996332 +L 157.305987 306.323226 +L 155.388564 306.745397 +L 153.471141 307.261629 +L 152.455838 307.584 z " style="fill:#053061;"/> - <path clip-path="url(#p553f52e075)" d="M 196.632483 266.95071 -L 199.029262 267.378145 -L 201.42604 267.679766 -L 203.822819 267.854704 -L 206.219597 267.902455 -L 208.616376 267.82288 -L 211.013154 267.61621 -L 213.409933 267.283039 -L 215.806711 266.824329 -L 215.809998 266.823529 -L 218.20349 266.24834 -L 220.600268 265.551284 -L 222.997047 264.73516 -L 225.093193 263.919328 -L 225.393826 263.80318 -L 227.790604 262.764006 -L 230.187383 261.614637 -L 231.331179 261.015126 -L 232.584161 260.360241 -L 234.98094 259.004568 -L 236.453279 258.110924 -L 237.377718 257.548879 -L 239.774497 255.996643 -L 240.926963 255.206723 -L 242.171275 254.348516 -L 244.568054 252.609089 -L 244.971605 252.302521 -L 246.964832 250.771828 -L 248.681625 249.398319 -L 249.361611 248.845788 -L 251.758389 246.825738 -L 252.13928 246.494118 -L 254.155168 244.702871 -L 255.372305 243.589916 -L 256.551946 242.483477 -L 258.421216 240.685714 -L 258.948725 240.162553 -L 261.298178 237.781513 -L 261.345503 237.731774 -L 263.742282 235.166141 -L 264.008038 234.877311 -L 266.13906 232.460818 -L 266.563977 231.973109 -L 268.535839 229.596024 -L 268.96913 229.068908 -L 270.932617 226.541726 -L 271.22374 226.164706 -L 273.326091 223.260504 -L 273.329396 223.255589 -L 275.272413 220.356303 -L 275.726174 219.619406 -L 277.06024 217.452101 -L 278.122953 215.548907 -L 278.683303 214.547899 -L 280.135275 211.643697 -L 280.519732 210.765678 -L 281.411741 208.739496 -L 282.50322 205.835294 -L 282.91651 204.500878 -L 283.406768 202.931092 -L 284.116069 200.026891 -L 284.624459 197.122689 -L 284.929639 194.218487 -L 285.030233 191.314286 -L 284.925784 188.410084 -L 284.616766 185.505882 -L 284.104573 182.601681 -L 283.391521 179.697479 -L 282.91651 178.182665 -L 282.484448 176.793277 -L 281.389402 173.889076 -L 280.519732 171.918977 -L 280.10961 170.984874 -L 278.654305 168.080672 -L 278.122953 167.13333 -L 277.028123 165.176471 -L 275.726174 163.064941 -L 275.237236 162.272269 -L 273.329396 159.429692 -L 273.2879 159.368067 -L 271.182822 156.463866 -L 270.932617 156.140203 -L 268.925402 153.559664 -L 268.535839 153.086213 -L 266.517467 150.655462 -L 266.13906 150.221508 -L 263.958764 147.751261 -L 263.742282 147.516156 -L 261.345503 144.952418 -L 261.245182 144.847059 -L 258.948725 142.521191 -L 258.365219 141.942857 -L 256.551946 140.199867 -L 255.313256 139.038655 -L 254.155168 137.980149 -L 252.077112 136.134454 -L 251.758389 135.857053 -L 249.361611 133.837682 -L 248.613811 133.230252 -L 246.964832 131.911323 -L 244.900024 130.32605 -L 244.568054 130.073901 -L 242.171275 128.334751 -L 240.847449 127.421849 -L 239.774497 126.686483 -L 237.377718 125.134361 -L 236.363286 124.517647 -L 234.98094 123.678616 -L 232.584161 122.322927 -L 231.226736 121.613445 -L 230.187383 121.068625 -L 227.790604 119.919145 -L 225.393826 118.879871 -L 224.952225 118.709244 -L 222.997047 117.948138 -L 220.600268 117.131865 -L 218.20349 116.434681 -L 215.806711 115.858597 -L 215.523559 115.805042 -L 213.409933 115.400414 -L 211.013154 115.067153 -L 208.616376 114.860427 -L 206.219597 114.780831 -L 203.822819 114.828594 -L 201.42604 115.003579 -L 199.029262 115.305282 -L 196.632483 115.732833 -L 196.319047 115.805042 -L 194.235705 116.279236 -L 191.838926 116.94632 -L 189.442148 117.733028 -L 187.045369 118.637093 -L 186.875635 118.709244 -L 184.648591 119.648872 -L 182.251812 120.771099 -L 180.610384 121.613445 -L 179.855034 121.999948 -L 177.458255 123.330249 -L 175.468607 124.517647 -L 175.061477 124.761009 -L 172.664698 126.289784 -L 170.990301 127.421849 -L 170.267919 127.913265 -L 167.871141 129.631288 -L 166.94636 130.32605 -L 165.474362 131.443865 -L 163.218928 133.230252 -L 163.077584 133.343943 -L 160.680805 135.345728 -L 159.767539 136.134454 -L 158.284027 137.441908 -L 156.525104 139.038655 -L 155.887248 139.63255 -L 153.49047 141.922792 -L 153.469938 141.942857 -L 151.093691 144.337307 -L 150.597413 144.847059 -L 148.696913 146.871254 -L 147.883767 147.751261 -L 146.300134 149.539219 -L 145.324098 150.655462 -L 143.903356 152.361791 -L 142.915753 153.559664 -L 141.506577 155.367723 -L 140.658137 156.463866 -L 139.109799 158.59727 -L 138.552612 159.368067 -L 136.71302 162.107465 -L 136.60247 162.272269 -L 134.812083 165.176471 -L 134.316242 166.062875 -L 133.1855 168.080672 -L 131.919463 170.609442 -L 131.73062 170.984874 -L 130.450686 173.889076 -L 129.522685 176.354256 -L 129.356157 176.793277 -L 128.447614 179.697479 -L 127.736244 182.601681 -L 127.22526 185.505882 -L 127.125906 186.441831 -L 126.91475 188.410084 -L 126.809441 191.314286 -L 126.910863 194.218487 -L 127.125906 196.24818 -L 127.217585 197.122689 -L 127.724775 200.026891 -L 128.432403 202.931092 -L 129.337272 205.835294 -L 129.522685 206.3257 -L 130.428383 208.739496 -L 131.704857 211.643697 -L 131.919463 212.071328 -L 133.156528 214.547899 -L 134.316242 216.621469 -L 134.779971 217.452101 -L 136.567313 220.356303 -L 136.71302 220.573842 -L 138.514525 223.260504 -L 139.109799 224.085059 -L 140.617167 226.164706 -L 141.506577 227.315081 -L 142.871937 229.068908 -L 143.903356 230.321162 -L 145.277461 231.973109 -L 146.300134 233.143693 -L 147.83432 234.877311 -L 148.696913 235.81152 -L 150.545157 237.781513 -L 151.093691 238.345294 -L 153.414859 240.685714 -L 153.49047 240.759646 -L 155.887248 243.051093 -L 156.465652 243.589916 -L 158.284027 245.241343 -L 159.704887 246.494118 -L 160.680805 247.337235 -L 163.077584 249.339693 -L 163.150445 249.398319 -L 165.474362 251.239401 -L 166.87399 252.302521 -L 167.871141 253.051772 -L 170.267919 254.770069 -L 170.909697 255.206723 -L 172.664698 256.393371 -L 175.061477 257.922259 -L 175.37708 258.110924 -L 177.458255 259.352931 -L 179.855034 260.683216 -L 180.503699 261.015126 -L 182.251812 261.912134 -L 184.648591 263.034252 -L 186.746539 263.919328 -L 187.045369 264.046331 -L 189.442148 264.950231 -L 191.838926 265.736795 -L 194.235705 266.403757 -L 196.080286 266.823529 + <path clip-path="url(#p0bba778d2e)" d="M 157.305987 213.760046 +L 159.223409 214.089172 +L 161.140832 214.32142 +L 163.058255 214.456122 +L 164.975678 214.49289 +L 166.893101 214.431618 +L 168.810523 214.272481 +L 170.727946 214.01594 +L 172.645369 213.662733 +L 172.647998 213.662118 +L 174.562792 213.219222 +L 176.480215 212.682489 +L 178.397638 212.054073 +L 180.074554 211.425882 +L 180.31506 211.336448 +L 182.232483 210.536284 +L 184.149906 209.651271 +L 185.064944 209.189647 +L 186.067329 208.685386 +L 187.984752 207.641517 +L 189.162623 206.953412 +L 189.902174 206.520637 +L 191.819597 205.325415 +L 192.741571 204.717176 +L 193.73702 204.056357 +L 195.654443 202.716999 +L 195.977284 202.480941 +L 197.571866 201.302308 +L 198.9453 200.244706 +L 199.489289 199.819257 +L 201.406711 198.263819 +L 201.711424 198.008471 +L 203.324134 196.62921 +L 204.297844 195.772235 +L 205.241557 194.920278 +L 206.736973 193.536 +L 207.15898 193.133166 +L 209.038542 191.299765 +L 209.076403 191.261466 +L 210.993826 189.285929 +L 211.20643 189.063529 +L 212.911248 187.20283 +L 213.251181 186.827294 +L 214.828671 184.996938 +L 215.175304 184.591059 +L 216.746094 182.645129 +L 216.978992 182.354824 +L 218.660873 180.118588 +L 218.663517 180.114804 +L 220.217931 177.882353 +L 220.58094 177.314943 +L 221.648192 175.646118 +L 222.498362 174.180658 +L 222.946642 173.409882 +L 224.10822 171.173647 +L 224.415785 170.497572 +L 225.129393 168.937412 +L 226.002576 166.701176 +L 226.333208 165.673676 +L 226.725415 164.464941 +L 227.292856 162.228706 +L 227.699567 159.992471 +L 227.943712 157.756235 +L 228.024186 155.52 +L 227.940627 153.283765 +L 227.693413 151.047529 +L 227.283659 148.811294 +L 226.713217 146.575059 +L 226.333208 145.408652 +L 225.987558 144.338824 +L 225.111522 142.102588 +L 224.415785 140.585612 +L 224.087688 139.866353 +L 222.923444 137.630118 +L 222.498362 136.900664 +L 221.622499 135.393882 +L 220.58094 133.768005 +L 220.189789 133.157647 +L 218.663517 130.968863 +L 218.63032 130.921412 +L 216.946258 128.685176 +L 216.746094 128.435956 +L 215.140322 126.448941 +L 214.828671 126.084384 +L 213.213974 124.212706 +L 212.911248 123.878561 +L 211.167011 121.976471 +L 210.993826 121.79544 +L 209.076403 119.821362 +L 208.996145 119.740235 +L 207.15898 117.949317 +L 206.692175 117.504 +L 205.241557 116.161898 +L 204.250605 115.267765 +L 203.324134 114.452715 +L 201.661689 113.031529 +L 201.406711 112.81793 +L 199.489289 111.263015 +L 198.891049 110.795294 +L 197.571866 109.779719 +L 195.92002 108.559059 +L 195.654443 108.364904 +L 193.73702 107.025758 +L 192.677959 106.322824 +L 191.819597 105.756592 +L 189.902174 104.561458 +L 189.090629 104.086588 +L 187.984752 103.440534 +L 186.067329 102.396654 +L 184.981389 101.850353 +L 184.149906 101.430841 +L 182.232483 100.545742 +L 180.31506 99.7455 +L 179.96178 99.614118 +L 178.397638 99.028066 +L 176.480215 98.399536 +L 174.562792 97.862705 +L 172.645369 97.41912 +L 172.418847 97.377882 +L 170.727946 97.066318 +L 168.810523 96.809708 +L 166.893101 96.650529 +L 164.975678 96.58924 +L 163.058255 96.626017 +L 161.140832 96.760756 +L 159.223409 96.993067 +L 157.305987 97.322281 +L 157.055238 97.377882 +L 155.388564 97.743012 +L 153.471141 98.256666 +L 151.553718 98.862432 +L 149.636295 99.558562 +L 149.500508 99.614118 +L 147.718872 100.337632 +L 145.80145 101.201746 +L 144.488307 101.850353 +L 143.884027 102.14796 +L 141.966604 103.172292 +L 140.374886 104.086588 +L 140.049181 104.273977 +L 138.131758 105.451134 +L 136.79224 106.322824 +L 136.214336 106.701214 +L 134.296913 108.024092 +L 133.557088 108.559059 +L 132.37949 109.419776 +L 130.575142 110.795294 +L 130.462067 110.882836 +L 128.544644 112.424211 +L 127.814031 113.031529 +L 126.627221 114.038269 +L 125.220084 115.267765 +L 124.709799 115.725063 +L 122.792376 117.48855 +L 122.77595 117.504 +L 120.874953 119.347727 +L 120.477931 119.740235 +L 118.95753 121.298866 +L 118.307013 121.976471 +L 117.040107 123.353199 +L 116.259279 124.212706 +L 115.122685 125.526579 +L 114.332602 126.448941 +L 113.205262 127.841147 +L 112.526509 128.685176 +L 111.287839 130.327898 +L 110.84209 130.921412 +L 109.370416 133.030748 +L 109.281976 133.157647 +L 107.849666 135.393882 +L 107.452993 136.076414 +L 106.5484 137.630118 +L 105.53557 139.57727 +L 105.384496 139.866353 +L 104.360548 142.102588 +L 103.618148 144.000777 +L 103.484925 144.338824 +L 102.758091 146.575059 +L 102.188995 148.811294 +L 101.780208 151.047529 +L 101.700725 151.76821 +L 101.5318 153.283765 +L 101.447553 155.52 +L 101.528691 157.756235 +L 101.700725 159.319099 +L 101.774068 159.992471 +L 102.17982 162.228706 +L 102.745922 164.464941 +L 103.469817 166.701176 +L 103.618148 167.078789 +L 104.342706 168.937412 +L 105.363885 171.173647 +L 105.53557 171.502922 +L 106.525223 173.409882 +L 107.452993 175.006531 +L 107.823977 175.646118 +L 109.25385 177.882353 +L 109.370416 178.049858 +L 110.81162 180.118588 +L 111.287839 180.753496 +L 112.493734 182.354824 +L 113.205262 183.240612 +L 114.29755 184.591059 +L 115.122685 185.555294 +L 116.221968 186.827294 +L 117.040107 187.728644 +L 118.267456 189.063529 +L 118.95753 189.78287 +L 120.436125 191.299765 +L 120.874953 191.733876 +L 122.731887 193.536 +L 122.792376 193.592927 +L 124.709799 195.357342 +L 125.172522 195.772235 +L 126.627221 197.043834 +L 127.76391 198.008471 +L 128.544644 198.657671 +L 130.462067 200.199564 +L 130.520356 200.244706 +L 132.37949 201.662339 +L 133.499192 202.480941 +L 134.296913 203.057864 +L 136.214336 204.380953 +L 136.727757 204.717176 +L 138.131758 205.630896 +L 140.049181 206.808139 +L 140.301664 206.953412 +L 141.966604 207.909757 +L 143.884027 208.934077 +L 144.402959 209.189647 +L 145.80145 209.880343 +L 147.718872 210.744374 +L 149.397231 211.425882 +L 149.636295 211.523675 +L 151.553718 212.219678 +L 153.471141 212.825332 +L 155.388564 213.338893 +L 156.864229 213.662118 z -M 195.933833 258.110924 -L 194.235705 257.727754 -L 191.838926 257.066443 -L 189.442148 256.286542 -L 187.045369 255.390299 -L 186.609733 255.206723 -L 184.648591 254.37513 -L 182.251812 253.247271 -L 180.420029 252.302521 -L 179.855034 252.007949 -L 177.458255 250.652471 -L 175.395786 249.398319 -L 175.061477 249.191851 -L 172.664698 247.612315 -L 171.063963 246.494118 -L 170.267919 245.926596 -L 167.871141 244.1261 -L 167.190131 243.589916 -L 165.474362 242.204251 -L 163.671579 240.685714 -L 163.077584 240.169761 -L 160.680805 238.00806 -L 160.437891 237.781513 -L 158.284027 235.698348 -L 157.459882 234.877311 -L 155.887248 233.242661 -L 154.69714 231.973109 -L 153.49047 230.62115 -L 152.135827 229.068908 -L 151.093691 227.805507 -L 149.765929 226.164706 -L 148.696913 224.755571 -L 147.580668 223.260504 -L 146.300134 221.413929 -L 145.576088 220.356303 -L 143.903356 217.697069 -L 143.750775 217.452101 -L 142.10984 214.547899 -L 141.506577 213.352447 -L 140.650221 211.643697 -L 139.375502 208.739496 -L 139.109799 208.030388 -L 138.290569 205.835294 -L 137.397359 202.931092 -L 136.71302 200.085813 -L 136.698864 200.026891 -L 136.198758 197.122689 -L 135.89855 194.218487 -L 135.799596 191.314286 -L 135.902343 188.410084 -L 136.206326 185.505882 -L 136.710173 182.601681 -L 136.71302 182.589891 -L 137.412374 179.697479 -L 138.309211 176.793277 -L 139.109799 174.65512 -L 139.397775 173.889076 -L 140.675948 170.984874 -L 141.506577 169.331255 -L 142.139109 168.080672 -L 143.783274 165.176471 -L 143.903356 164.984007 -L 145.612022 162.272269 -L 146.300134 161.268623 -L 147.620058 159.368067 -L 148.696913 157.927627 -L 149.80881 156.463866 -L 151.093691 154.877852 -L 152.182252 153.559664 -L 153.49047 152.062099 -L 154.747183 150.655462 -L 155.887248 149.440336 -L 157.513637 147.751261 -L 158.284027 146.984342 -L 160.49548 144.847059 -L 160.680805 144.674329 -L 163.077584 142.513987 -L 163.735516 141.942857 -L 165.474362 140.478946 -L 167.258709 139.038655 -L 167.871141 138.556673 -L 170.267919 136.756949 -L 171.141446 136.134454 -L 172.664698 135.070741 -L 175.061477 133.491736 -L 175.485007 133.230252 -L 177.458255 132.03065 -L 179.855034 130.675507 -L 180.525464 130.32605 -L 182.251812 129.43582 -L 184.648591 128.308141 -L 186.739065 127.421849 -L 187.045369 127.292782 -L 189.442148 126.396605 -L 191.838926 125.616762 -L 194.235705 124.9555 -L 196.176315 124.517647 -L 196.632483 124.414889 -L 199.029262 123.996832 -L 201.42604 123.701829 -L 203.822819 123.530729 -L 206.219597 123.484026 -L 208.616376 123.561855 -L 211.013154 123.763991 -L 213.409933 124.089851 -L 215.695325 124.517647 -L 215.806711 124.538531 -L 218.20349 125.109588 -L 220.600268 125.800688 -L 222.997047 126.609838 -L 225.101354 127.421849 -L 225.393826 127.535404 -L 227.790604 128.579727 -L 230.187383 129.734792 -L 231.309872 130.32605 -L 232.584161 131.004517 -L 234.98094 132.385523 -L 236.347161 133.230252 -L 237.377718 133.877355 -L 239.774497 135.480474 -L 240.698346 136.134454 -L 242.171275 137.198479 -L 244.568054 139.020333 -L 244.591081 139.038655 -L 246.964832 140.975825 -L 248.102267 141.942857 -L 249.361611 143.046834 -L 251.341467 144.847059 -L 251.758389 145.240155 -L 254.155168 147.574579 -L 254.331443 147.751261 -L 256.551946 150.073132 -L 257.095071 150.655462 -L 258.948725 152.742609 -L 259.658847 153.559664 -L 261.345503 155.612546 -L 262.032236 156.463866 -L 263.742282 158.72473 -L 264.22155 159.368067 -L 266.13906 162.138779 -L 266.230332 162.272269 -L 268.055255 165.176471 -L 268.535839 166.019342 -L 269.700494 168.080672 -L 270.932617 170.521592 -L 271.165033 170.984874 -L 272.441585 173.889076 -L 273.329396 176.25374 -L 273.531304 176.793277 -L 274.427652 179.697479 -L 275.129474 182.601681 -L 275.6336 185.505882 -L 275.726174 186.389837 -L 275.937671 188.410084 -L 276.040436 191.314286 -L 275.941464 194.218487 -L 275.726174 196.300828 -L 275.641171 197.122689 -L 275.140789 200.026891 -L 274.442659 202.931092 -L 273.549935 205.835294 -L 273.329396 206.426543 -L 272.463829 208.739496 -L 271.190728 211.643697 -L 270.932617 212.159379 -L 269.729704 214.547899 -L 268.535839 216.665088 -L 268.087986 217.452101 -L 266.266168 220.356303 -L 266.13906 220.542481 -L 264.260802 223.260504 -L 263.742282 223.957433 -L 262.074933 226.164706 -L 261.345503 227.069981 -L 259.705036 229.068908 -L 258.948725 229.939967 -L 257.144817 231.973109 -L 256.551946 232.609322 -L 254.384832 234.877311 -L 254.155168 235.107676 -L 251.758389 237.443824 -L 251.400498 237.781513 -L 249.361611 239.636579 -L 248.165579 240.685714 -L 246.964832 241.707111 -L 244.658911 243.589916 -L 244.568054 243.66224 -L 242.171275 245.484876 -L 240.774782 246.494118 -L 239.774497 247.202444 -L 237.377718 248.806102 -L 236.434886 249.398319 -L 234.98094 250.297511 -L 232.584161 251.678857 -L 231.413091 252.302521 -L 230.187383 252.948252 -L 227.790604 254.103501 -L 225.393826 255.147991 -L 225.24258 255.206723 -L 222.997047 256.073293 -L 220.600268 256.882503 -L 218.20349 257.573654 -L 215.948685 258.110924 -L 215.806711 258.144696 -L 213.409933 258.593337 -L 211.013154 258.919194 -L 208.616376 259.121327 -L 206.219597 259.199155 -L 203.822819 259.152453 -L 201.42604 258.981355 -L 199.029262 258.686355 -L 196.632483 258.268303 +M 156.747066 206.953412 +L 155.388564 206.658371 +L 153.471141 206.149161 +L 151.553718 205.548637 +L 149.636295 204.858531 +L 149.287786 204.717176 +L 147.718872 204.07685 +L 145.80145 203.208399 +L 144.336023 202.480941 +L 143.884027 202.254121 +L 141.966604 201.210403 +L 140.316629 200.244706 +L 140.049181 200.085725 +L 138.131758 198.869482 +L 136.85117 198.008471 +L 136.214336 197.571479 +L 134.296913 196.185097 +L 133.752105 195.772235 +L 132.37949 194.705274 +L 130.937263 193.536 +L 130.462067 193.138716 +L 128.544644 191.474206 +L 128.350313 191.299765 +L 126.627221 189.695728 +L 125.967906 189.063529 +L 124.709799 187.804849 +L 123.757712 186.827294 +L 122.792376 185.786285 +L 121.708662 184.591059 +L 120.874953 183.618241 +L 119.812743 182.354824 +L 118.95753 181.269789 +L 118.064534 180.118588 +L 117.040107 178.696725 +L 116.46087 177.882353 +L 115.122685 175.834743 +L 115.00062 175.646118 +L 113.687872 173.409882 +L 113.205262 172.489384 +L 112.520176 171.173647 +L 111.500402 168.937412 +L 111.287839 168.391398 +L 110.632456 166.701176 +L 109.917887 164.464941 +L 109.370416 162.274076 +L 109.359091 162.228706 +L 108.959007 159.992471 +L 108.71884 157.756235 +L 108.639677 155.52 +L 108.721874 153.283765 +L 108.965061 151.047529 +L 109.368138 148.811294 +L 109.370416 148.802216 +L 109.929899 146.575059 +L 110.647369 144.338824 +L 111.287839 142.692443 +L 111.51822 142.102588 +L 112.540759 139.866353 +L 113.205262 138.593067 +L 113.711287 137.630118 +L 115.026619 135.393882 +L 115.122685 135.245685 +L 116.489618 133.157647 +L 117.040107 132.384839 +L 118.096046 130.921412 +L 118.95753 129.812272 +L 119.847048 128.685176 +L 120.874953 127.463946 +L 121.745802 126.448941 +L 122.792376 125.295816 +L 123.797746 124.212706 +L 124.709799 123.277059 +L 126.01091 121.976471 +L 126.627221 121.385944 +L 128.396384 119.740235 +L 128.544644 119.607233 +L 130.462067 117.94377 +L 130.988412 117.504 +L 132.37949 116.376788 +L 133.806967 115.267765 +L 134.296913 114.896638 +L 136.214336 113.510851 +L 136.913157 113.031529 +L 138.131758 112.21247 +L 140.049181 110.996636 +L 140.388006 110.795294 +L 141.966604 109.871601 +L 143.884027 108.82814 +L 144.420371 108.559059 +L 145.80145 107.873582 +L 147.718872 107.005269 +L 149.391252 106.322824 +L 149.636295 106.223442 +L 151.553718 105.533386 +L 153.471141 104.932907 +L 155.388564 104.423735 +L 156.941052 104.086588 +L 157.305987 104.007465 +L 159.223409 103.685561 +L 161.140832 103.458408 +L 163.058255 103.326661 +L 164.975678 103.2907 +L 166.893101 103.350628 +L 168.810523 103.506273 +L 170.727946 103.757185 +L 172.55626 104.086588 +L 172.645369 104.102669 +L 174.562792 104.542383 +L 176.480215 105.07453 +L 178.397638 105.697576 +L 180.081083 106.322824 +L 180.31506 106.410261 +L 182.232483 107.21439 +L 184.149906 108.10379 +L 185.047898 108.559059 +L 186.067329 109.081478 +L 187.984752 110.144852 +L 189.077729 110.795294 +L 189.902174 111.293563 +L 191.819597 112.527965 +L 192.558677 113.031529 +L 193.73702 113.850829 +L 195.654443 115.253657 +L 195.672865 115.267765 +L 197.571866 116.759385 +L 198.481814 117.504 +L 199.489289 118.354062 +L 201.073174 119.740235 +L 201.406711 120.04292 +L 203.324134 121.840426 +L 203.465154 121.976471 +L 205.241557 123.764312 +L 205.676057 124.212706 +L 207.15898 125.819809 +L 207.727077 126.448941 +L 209.076403 128.02966 +L 209.625789 128.685176 +L 210.993826 130.426042 +L 211.37724 130.921412 +L 212.911248 133.05486 +L 212.984266 133.157647 +L 214.444204 135.393882 +L 214.828671 136.042893 +L 215.760395 137.630118 +L 216.746094 139.509626 +L 216.932027 139.866353 +L 217.953268 142.102588 +L 218.663517 143.92338 +L 218.825043 144.338824 +L 219.542122 146.575059 +L 220.103579 148.811294 +L 220.50688 151.047529 +L 220.58094 151.728174 +L 220.750137 153.283765 +L 220.832349 155.52 +L 220.753171 157.756235 +L 220.58094 159.359638 +L 220.512937 159.992471 +L 220.112631 162.228706 +L 219.554127 164.464941 +L 218.839948 166.701176 +L 218.663517 167.156438 +L 217.971064 168.937412 +L 216.952583 171.173647 +L 216.746094 171.570721 +L 215.783763 173.409882 +L 214.828671 175.040118 +L 214.470389 175.646118 +L 213.012935 177.882353 +L 212.911248 178.02571 +L 211.408642 180.118588 +L 210.993826 180.655224 +L 209.659947 182.354824 +L 209.076403 183.051886 +L 207.764029 184.591059 +L 207.15898 185.261775 +L 205.715853 186.827294 +L 205.241557 187.317178 +L 203.507866 189.063529 +L 203.324134 189.24091 +L 201.406711 191.039745 +L 201.120399 191.299765 +L 199.489289 192.728166 +L 198.532463 193.536 +L 197.571866 194.322476 +L 195.727129 195.772235 +L 195.654443 195.827925 +L 193.73702 197.231355 +L 192.619826 198.008471 +L 191.819597 198.553882 +L 189.902174 199.788699 +L 189.147909 200.244706 +L 187.984752 200.937083 +L 186.067329 202.00072 +L 185.130473 202.480941 +L 184.149906 202.978154 +L 182.232483 203.867695 +L 180.31506 204.671953 +L 180.194064 204.717176 +L 178.397638 205.384436 +L 176.480215 206.007528 +L 174.562792 206.539714 +L 172.758948 206.953412 +L 172.645369 206.979416 +L 170.727946 207.324869 +L 168.810523 207.575779 +L 166.893101 207.731422 +L 164.975678 207.791349 +L 163.058255 207.755389 +L 161.140832 207.623643 +L 159.223409 207.396493 +L 157.305987 207.074593 z " style="fill:#053061;"/> - <path clip-path="url(#p553f52e075)" d="M 429.12 235.748832 -L 429.12 234.877311 -L 429.12 231.973109 -L 429.12 229.068908 -L 429.12 226.164706 -L 429.12 224.678045 -L 428.062007 223.260504 -L 426.723221 221.329253 -L 426.057327 220.356303 -L 424.326443 217.603864 -L 424.231935 217.452101 -L 422.591333 214.547899 -L 421.929664 213.236442 -L 421.13155 211.643697 -L 419.856999 208.739496 -L 419.532886 207.87439 -L 418.771923 205.835294 -L 417.878767 202.931092 -L 417.180299 200.026891 -L 417.136107 199.770531 -L 416.680143 197.122689 -L 416.379932 194.218487 -L 416.280977 191.314286 -L 416.383725 188.410084 -L 416.687711 185.505882 -L 417.136107 182.921321 -L 417.191619 182.601681 -L 417.893781 179.697479 -L 418.790563 176.793277 -L 419.532886 174.810609 -L 419.879269 173.889076 -L 421.157274 170.984874 -L 421.929664 169.446995 -L 422.620596 168.080672 -L 424.264427 165.176471 -L 424.326443 165.077054 -L 426.093252 162.272269 -L 426.723221 161.353173 -L 428.101383 159.368067 -L 429.12 158.005052 -L 429.12 156.463866 -L 429.12 153.559664 -L 429.12 150.655462 -L 429.12 147.751261 -L 429.12 146.933896 -L 428.365 147.751261 -L 426.723221 149.605515 -L 425.805407 150.655462 -L 424.326443 152.432205 -L 423.397083 153.559664 -L 421.929664 155.442834 -L 421.139465 156.463866 -L 419.532886 158.677809 -L 419.03395 159.368067 -L 417.136107 162.194379 -L 417.083859 162.272269 -L 415.293454 165.176471 -L 414.739329 166.16706 -L 413.666885 168.080672 -L 412.34255 170.725676 -L 412.212154 170.984874 -L 410.932027 173.889076 -L 409.945772 176.508612 -L 409.83777 176.793277 -L 408.929026 179.697479 -L 408.217498 182.601681 -L 407.706401 185.505882 -L 407.548993 186.988389 -L 407.396428 188.410084 -L 407.291088 191.314286 -L 407.39254 194.218487 -L 407.548993 195.694748 -L 407.698724 197.122689 -L 408.206026 200.026891 -L 408.913811 202.931092 -L 409.818881 205.835294 -L 409.945772 206.170839 -L 410.909721 208.739496 -L 412.186387 211.643697 -L 412.34255 211.954826 -L 413.637912 214.547899 -L 414.739329 216.517079 -L 415.261343 217.452101 -L 417.048701 220.356303 -L 417.136107 220.486798 -L 418.995864 223.260504 -L 419.532886 224.004415 -L 421.098501 226.164706 -L 421.929664 227.239886 -L 423.353276 229.068908 -L 424.326443 230.250678 -L 425.758782 231.973109 -L 426.723221 233.07734 -L 428.31557 234.877311 + <path clip-path="url(#p0bba778d2e)" d="M 343.296 189.734601 +L 343.296 189.063529 +L 343.296 186.827294 +L 343.296 184.591059 +L 343.296 182.354824 +L 343.296 181.210094 +L 342.449606 180.118588 +L 341.378577 178.631525 +L 340.845862 177.882353 +L 339.461154 175.762975 +L 339.385548 175.646118 +L 338.073067 173.409882 +L 337.543732 172.40006 +L 336.90524 171.173647 +L 335.885599 168.937412 +L 335.626309 168.271281 +L 335.017538 166.701176 +L 334.303013 164.464941 +L 333.744239 162.228706 +L 333.708886 162.031309 +L 333.344114 159.992471 +L 333.103946 157.756235 +L 333.024782 155.52 +L 333.10698 153.283765 +L 333.350169 151.047529 +L 333.708886 149.057417 +L 333.753295 148.811294 +L 334.315025 146.575059 +L 335.03245 144.338824 +L 335.626309 142.812169 +L 335.903415 142.102588 +L 336.925819 139.866353 +L 337.543732 138.682186 +L 338.096477 137.630118 +L 339.411542 135.393882 +L 339.461154 135.317331 +L 340.874601 133.157647 +L 341.378577 132.449943 +L 342.481107 130.921412 +L 343.296 129.87189 +L 343.296 128.685176 +L 343.296 126.448941 +L 343.296 124.212706 +L 343.296 121.976471 +L 343.296 121.3471 +L 342.692 121.976471 +L 341.378577 123.404247 +L 340.644326 124.212706 +L 339.461154 125.580798 +L 338.717666 126.448941 +L 337.543732 127.898982 +L 336.911572 128.685176 +L 335.626309 130.389913 +L 335.22716 130.921412 +L 333.708886 133.097672 +L 333.667087 133.157647 +L 332.234764 135.393882 +L 331.791463 136.156636 +L 330.933508 137.630118 +L 329.87404 139.666771 +L 329.769723 139.866353 +L 328.745622 142.102588 +L 327.956617 144.119631 +L 327.870216 144.338824 +L 327.143221 146.575059 +L 326.573998 148.811294 +L 326.165121 151.047529 +L 326.039195 152.18906 +L 325.917142 153.283765 +L 325.83287 155.52 +L 325.914032 157.756235 +L 326.039195 158.892956 +L 326.158979 159.992471 +L 326.564821 162.228706 +L 327.131049 164.464941 +L 327.855105 166.701176 +L 327.956617 166.959546 +L 328.727777 168.937412 +L 329.74911 171.173647 +L 329.87404 171.413216 +L 330.91033 173.409882 +L 331.791463 174.926151 +L 332.209074 175.646118 +L 333.63896 177.882353 +L 333.708886 177.982835 +L 335.196691 180.118588 +L 335.626309 180.6914 +L 336.878801 182.354824 +L 337.543732 183.182712 +L 338.682621 184.591059 +L 339.461154 185.501022 +L 340.607026 186.827294 +L 341.378577 187.677552 +L 342.652456 189.063529 z " style="fill:#053061;"/> </g> <g id="PathCollection_16"> - <path clip-path="url(#p553f52e075)" d="M 196.632483 258.268303 -L 199.029262 258.686355 -L 201.42604 258.981355 -L 203.822819 259.152453 -L 206.219597 259.199155 -L 208.616376 259.121327 -L 211.013154 258.919194 -L 213.409933 258.593337 -L 215.806711 258.144696 -L 215.948685 258.110924 -L 218.20349 257.573654 -L 220.600268 256.882503 -L 222.997047 256.073293 -L 225.24258 255.206723 -L 225.393826 255.147991 -L 227.790604 254.103501 -L 230.187383 252.948252 -L 231.413091 252.302521 -L 232.584161 251.678857 -L 234.98094 250.297511 -L 236.434886 249.398319 -L 237.377718 248.806102 -L 239.774497 247.202444 -L 240.774782 246.494118 -L 242.171275 245.484876 -L 244.568054 243.66224 -L 244.658911 243.589916 -L 246.964832 241.707111 -L 248.165579 240.685714 -L 249.361611 239.636579 -L 251.400498 237.781513 -L 251.758389 237.443824 -L 254.155168 235.107676 -L 254.384832 234.877311 -L 256.551946 232.609322 -L 257.144817 231.973109 -L 258.948725 229.939967 -L 259.705036 229.068908 -L 261.345503 227.069981 -L 262.074933 226.164706 -L 263.742282 223.957433 -L 264.260802 223.260504 -L 266.13906 220.542481 -L 266.266168 220.356303 -L 268.087986 217.452101 -L 268.535839 216.665088 -L 269.729704 214.547899 -L 270.932617 212.159379 -L 271.190728 211.643697 -L 272.463829 208.739496 -L 273.329396 206.426543 -L 273.549935 205.835294 -L 274.442659 202.931092 -L 275.140789 200.026891 -L 275.641171 197.122689 -L 275.726174 196.300828 -L 275.941464 194.218487 -L 276.040436 191.314286 -L 275.937671 188.410084 -L 275.726174 186.389837 -L 275.6336 185.505882 -L 275.129474 182.601681 -L 274.427652 179.697479 -L 273.531304 176.793277 -L 273.329396 176.25374 -L 272.441585 173.889076 -L 271.165033 170.984874 -L 270.932617 170.521592 -L 269.700494 168.080672 -L 268.535839 166.019342 -L 268.055255 165.176471 -L 266.230332 162.272269 -L 266.13906 162.138779 -L 264.22155 159.368067 -L 263.742282 158.72473 -L 262.032236 156.463866 -L 261.345503 155.612546 -L 259.658847 153.559664 -L 258.948725 152.742609 -L 257.095071 150.655462 -L 256.551946 150.073132 -L 254.331443 147.751261 -L 254.155168 147.574579 -L 251.758389 145.240155 -L 251.341467 144.847059 -L 249.361611 143.046834 -L 248.102267 141.942857 -L 246.964832 140.975825 -L 244.591081 139.038655 -L 244.568054 139.020333 -L 242.171275 137.198479 -L 240.698346 136.134454 -L 239.774497 135.480474 -L 237.377718 133.877355 -L 236.347161 133.230252 -L 234.98094 132.385523 -L 232.584161 131.004517 -L 231.309872 130.32605 -L 230.187383 129.734792 -L 227.790604 128.579727 -L 225.393826 127.535404 -L 225.101354 127.421849 -L 222.997047 126.609838 -L 220.600268 125.800688 -L 218.20349 125.109588 -L 215.806711 124.538531 -L 215.695325 124.517647 -L 213.409933 124.089851 -L 211.013154 123.763991 -L 208.616376 123.561855 -L 206.219597 123.484026 -L 203.822819 123.530729 -L 201.42604 123.701829 -L 199.029262 123.996832 -L 196.632483 124.414889 -L 196.176315 124.517647 -L 194.235705 124.9555 -L 191.838926 125.616762 -L 189.442148 126.396605 -L 187.045369 127.292782 -L 186.739065 127.421849 -L 184.648591 128.308141 -L 182.251812 129.43582 -L 180.525464 130.32605 -L 179.855034 130.675507 -L 177.458255 132.03065 -L 175.485007 133.230252 -L 175.061477 133.491736 -L 172.664698 135.070741 -L 171.141446 136.134454 -L 170.267919 136.756949 -L 167.871141 138.556673 -L 167.258709 139.038655 -L 165.474362 140.478946 -L 163.735516 141.942857 -L 163.077584 142.513987 -L 160.680805 144.674329 -L 160.49548 144.847059 -L 158.284027 146.984342 -L 157.513637 147.751261 -L 155.887248 149.440336 -L 154.747183 150.655462 -L 153.49047 152.062099 -L 152.182252 153.559664 -L 151.093691 154.877852 -L 149.80881 156.463866 -L 148.696913 157.927627 -L 147.620058 159.368067 -L 146.300134 161.268623 -L 145.612022 162.272269 -L 143.903356 164.984007 -L 143.783274 165.176471 -L 142.139109 168.080672 -L 141.506577 169.331255 -L 140.675948 170.984874 -L 139.397775 173.889076 -L 139.109799 174.65512 -L 138.309211 176.793277 -L 137.412374 179.697479 -L 136.71302 182.589891 -L 136.710173 182.601681 -L 136.206326 185.505882 -L 135.902343 188.410084 -L 135.799596 191.314286 -L 135.89855 194.218487 -L 136.198758 197.122689 -L 136.698864 200.026891 -L 136.71302 200.085813 -L 137.397359 202.931092 -L 138.290569 205.835294 -L 139.109799 208.030388 -L 139.375502 208.739496 -L 140.650221 211.643697 -L 141.506577 213.352447 -L 142.10984 214.547899 -L 143.750775 217.452101 -L 143.903356 217.697069 -L 145.576088 220.356303 -L 146.300134 221.413929 -L 147.580668 223.260504 -L 148.696913 224.755571 -L 149.765929 226.164706 -L 151.093691 227.805507 -L 152.135827 229.068908 -L 153.49047 230.62115 -L 154.69714 231.973109 -L 155.887248 233.242661 -L 157.459882 234.877311 -L 158.284027 235.698348 -L 160.437891 237.781513 -L 160.680805 238.00806 -L 163.077584 240.169761 -L 163.671579 240.685714 -L 165.474362 242.204251 -L 167.190131 243.589916 -L 167.871141 244.1261 -L 170.267919 245.926596 -L 171.063963 246.494118 -L 172.664698 247.612315 -L 175.061477 249.191851 -L 175.395786 249.398319 -L 177.458255 250.652471 -L 179.855034 252.007949 -L 180.420029 252.302521 -L 182.251812 253.247271 -L 184.648591 254.37513 -L 186.609733 255.206723 -L 187.045369 255.390299 -L 189.442148 256.286542 -L 191.838926 257.066443 -L 194.235705 257.727754 -L 195.933833 258.110924 + <path clip-path="url(#p0bba778d2e)" d="M 157.305987 207.074593 +L 159.223409 207.396493 +L 161.140832 207.623643 +L 163.058255 207.755389 +L 164.975678 207.791349 +L 166.893101 207.731422 +L 168.810523 207.575779 +L 170.727946 207.324869 +L 172.645369 206.979416 +L 172.758948 206.953412 +L 174.562792 206.539714 +L 176.480215 206.007528 +L 178.397638 205.384436 +L 180.194064 204.717176 +L 180.31506 204.671953 +L 182.232483 203.867695 +L 184.149906 202.978154 +L 185.130473 202.480941 +L 186.067329 202.00072 +L 187.984752 200.937083 +L 189.147909 200.244706 +L 189.902174 199.788699 +L 191.819597 198.553882 +L 192.619826 198.008471 +L 193.73702 197.231355 +L 195.654443 195.827925 +L 195.727129 195.772235 +L 197.571866 194.322476 +L 198.532463 193.536 +L 199.489289 192.728166 +L 201.120399 191.299765 +L 201.406711 191.039745 +L 203.324134 189.24091 +L 203.507866 189.063529 +L 205.241557 187.317178 +L 205.715853 186.827294 +L 207.15898 185.261775 +L 207.764029 184.591059 +L 209.076403 183.051886 +L 209.659947 182.354824 +L 210.993826 180.655224 +L 211.408642 180.118588 +L 212.911248 178.02571 +L 213.012935 177.882353 +L 214.470389 175.646118 +L 214.828671 175.040118 +L 215.783763 173.409882 +L 216.746094 171.570721 +L 216.952583 171.173647 +L 217.971064 168.937412 +L 218.663517 167.156438 +L 218.839948 166.701176 +L 219.554127 164.464941 +L 220.112631 162.228706 +L 220.512937 159.992471 +L 220.58094 159.359638 +L 220.753171 157.756235 +L 220.832349 155.52 +L 220.750137 153.283765 +L 220.58094 151.728174 +L 220.50688 151.047529 +L 220.103579 148.811294 +L 219.542122 146.575059 +L 218.825043 144.338824 +L 218.663517 143.92338 +L 217.953268 142.102588 +L 216.932027 139.866353 +L 216.746094 139.509626 +L 215.760395 137.630118 +L 214.828671 136.042893 +L 214.444204 135.393882 +L 212.984266 133.157647 +L 212.911248 133.05486 +L 211.37724 130.921412 +L 210.993826 130.426042 +L 209.625789 128.685176 +L 209.076403 128.02966 +L 207.727077 126.448941 +L 207.15898 125.819809 +L 205.676057 124.212706 +L 205.241557 123.764312 +L 203.465154 121.976471 +L 203.324134 121.840426 +L 201.406711 120.04292 +L 201.073174 119.740235 +L 199.489289 118.354062 +L 198.481814 117.504 +L 197.571866 116.759385 +L 195.672865 115.267765 +L 195.654443 115.253657 +L 193.73702 113.850829 +L 192.558677 113.031529 +L 191.819597 112.527965 +L 189.902174 111.293563 +L 189.077729 110.795294 +L 187.984752 110.144852 +L 186.067329 109.081478 +L 185.047898 108.559059 +L 184.149906 108.10379 +L 182.232483 107.21439 +L 180.31506 106.410261 +L 180.081083 106.322824 +L 178.397638 105.697576 +L 176.480215 105.07453 +L 174.562792 104.542383 +L 172.645369 104.102669 +L 172.55626 104.086588 +L 170.727946 103.757185 +L 168.810523 103.506273 +L 166.893101 103.350628 +L 164.975678 103.2907 +L 163.058255 103.326661 +L 161.140832 103.458408 +L 159.223409 103.685561 +L 157.305987 104.007465 +L 156.941052 104.086588 +L 155.388564 104.423735 +L 153.471141 104.932907 +L 151.553718 105.533386 +L 149.636295 106.223442 +L 149.391252 106.322824 +L 147.718872 107.005269 +L 145.80145 107.873582 +L 144.420371 108.559059 +L 143.884027 108.82814 +L 141.966604 109.871601 +L 140.388006 110.795294 +L 140.049181 110.996636 +L 138.131758 112.21247 +L 136.913157 113.031529 +L 136.214336 113.510851 +L 134.296913 114.896638 +L 133.806967 115.267765 +L 132.37949 116.376788 +L 130.988412 117.504 +L 130.462067 117.94377 +L 128.544644 119.607233 +L 128.396384 119.740235 +L 126.627221 121.385944 +L 126.01091 121.976471 +L 124.709799 123.277059 +L 123.797746 124.212706 +L 122.792376 125.295816 +L 121.745802 126.448941 +L 120.874953 127.463946 +L 119.847048 128.685176 +L 118.95753 129.812272 +L 118.096046 130.921412 +L 117.040107 132.384839 +L 116.489618 133.157647 +L 115.122685 135.245685 +L 115.026619 135.393882 +L 113.711287 137.630118 +L 113.205262 138.593067 +L 112.540759 139.866353 +L 111.51822 142.102588 +L 111.287839 142.692443 +L 110.647369 144.338824 +L 109.929899 146.575059 +L 109.370416 148.802216 +L 109.368138 148.811294 +L 108.965061 151.047529 +L 108.721874 153.283765 +L 108.639677 155.52 +L 108.71884 157.756235 +L 108.959007 159.992471 +L 109.359091 162.228706 +L 109.370416 162.274076 +L 109.917887 164.464941 +L 110.632456 166.701176 +L 111.287839 168.391398 +L 111.500402 168.937412 +L 112.520176 171.173647 +L 113.205262 172.489384 +L 113.687872 173.409882 +L 115.00062 175.646118 +L 115.122685 175.834743 +L 116.46087 177.882353 +L 117.040107 178.696725 +L 118.064534 180.118588 +L 118.95753 181.269789 +L 119.812743 182.354824 +L 120.874953 183.618241 +L 121.708662 184.591059 +L 122.792376 185.786285 +L 123.757712 186.827294 +L 124.709799 187.804849 +L 125.967906 189.063529 +L 126.627221 189.695728 +L 128.350313 191.299765 +L 128.544644 191.474206 +L 130.462067 193.138716 +L 130.937263 193.536 +L 132.37949 194.705274 +L 133.752105 195.772235 +L 134.296913 196.185097 +L 136.214336 197.571479 +L 136.85117 198.008471 +L 138.131758 198.869482 +L 140.049181 200.085725 +L 140.316629 200.244706 +L 141.966604 201.210403 +L 143.884027 202.254121 +L 144.336023 202.480941 +L 145.80145 203.208399 +L 147.718872 204.07685 +L 149.287786 204.717176 +L 149.636295 204.858531 +L 151.553718 205.548637 +L 153.471141 206.149161 +L 155.388564 206.658371 +L 156.747066 206.953412 z -M 195.98339 249.398319 -L 194.235705 248.990903 -L 191.838926 248.307683 -L 189.442148 247.501946 -L 187.045369 246.576013 -L 186.857259 246.494118 -L 184.648591 245.512763 -L 182.251812 244.330951 -L 180.880609 243.589916 -L 179.855034 243.021399 -L 177.458255 241.580207 -L 176.074738 240.685714 -L 175.061477 240.010162 -L 172.664698 238.305015 -L 171.970492 237.781513 -L 170.267919 236.45003 -L 168.35937 234.877311 -L 167.871141 234.457543 -L 165.474362 232.297765 -L 165.128933 231.973109 -L 163.077584 229.948158 -L 162.219761 229.068908 -L 160.680805 227.400036 -L 159.579146 226.164706 -L 158.284027 224.615612 -L 157.184132 223.260504 -L 155.887248 221.540227 -L 155.017568 220.356303 -L 153.49047 218.093766 -L 153.067003 217.452101 -L 151.328345 214.547899 -L 151.093691 214.109035 -L 149.800524 211.643697 -L 148.696913 209.241398 -L 148.469991 208.739496 -L 147.349055 205.835294 -L 146.425302 202.931092 -L 146.300134 202.427886 -L 145.710545 200.026891 -L 145.199392 197.122689 -L 144.892552 194.218487 -L 144.791412 191.314286 -L 144.896429 188.410084 -L 145.207127 185.505882 -L 145.722103 182.601681 -L 146.300134 180.260139 -L 146.440831 179.697479 -L 147.368334 176.793277 -L 148.492933 173.889076 -L 148.696913 173.439136 -L 149.827452 170.984874 -L 151.093691 168.576398 -L 151.359356 168.080672 -L 153.101437 165.176471 -L 153.49047 164.587986 -L 155.056126 162.272269 -L 155.887248 161.142512 -L 157.226954 159.368067 -L 158.284027 158.067404 -L 159.626403 156.463866 -L 160.680805 155.282865 -L 162.271662 153.559664 -L 163.077584 152.734426 -L 165.185732 150.655462 -L 165.474362 150.384422 -L 167.871141 148.226495 -L 168.424357 147.751261 -L 170.267919 146.233215 -L 172.041715 144.847059 -L 172.664698 144.37756 -L 175.061477 142.673486 -L 176.158036 141.942857 -L 177.458255 141.102662 -L 179.855034 139.662228 -L 180.980519 139.038655 -L 182.251812 138.351909 -L 184.648591 137.170604 -L 186.981585 136.134454 -L 187.045369 136.106694 -L 189.442148 135.181072 -L 191.838926 134.375606 -L 194.235705 133.692616 -L 196.219764 133.230252 -L 196.632483 133.135545 -L 199.029262 132.709681 -L 201.42604 132.409169 -L 203.822819 132.234874 -L 206.219597 132.187299 -L 208.616376 132.266581 -L 211.013154 132.472492 -L 213.409933 132.804438 -L 215.643039 133.230252 -L 215.806711 133.261947 -L 218.20349 133.851768 -L 220.600268 134.565575 -L 222.997047 135.401311 -L 224.836531 136.134454 -L 225.393826 136.361119 -L 227.790604 137.455105 -L 230.187383 138.665098 -L 230.864378 139.038655 -L 232.584161 140.011946 -L 234.98094 141.47987 -L 235.685412 141.942857 -L 237.377718 143.089649 -L 239.774497 144.819747 -L 239.810247 144.847059 -L 242.171275 146.717398 -L 243.411579 147.751261 -L 244.568054 148.756934 -L 246.653729 150.655462 -L 246.964832 150.952854 -L 249.361611 153.339758 -L 249.5745 153.559664 -L 251.758389 155.946014 -L 252.217158 156.463866 -L 254.155168 158.796941 -L 254.616178 159.368067 -L 256.551946 161.949547 -L 256.787956 162.272269 -L 258.739864 165.176471 -L 258.948725 165.51895 -L 260.477561 168.080672 -L 261.345503 169.708509 -L 262.013673 170.984874 -L 263.345754 173.889076 -L 263.742282 174.901195 -L 264.472394 176.793277 -L 265.396652 179.697479 -L 266.120327 182.601681 -L 266.13906 182.706343 -L 266.634118 185.505882 -L 266.943964 188.410084 -L 267.048693 191.314286 -L 266.94783 194.218487 -L 266.641831 197.122689 -L 266.13906 199.987118 -L 266.131994 200.026891 -L 265.412126 202.931092 -L 264.491605 205.835294 -L 263.742282 207.783509 -L 263.368965 208.739496 -L 262.040486 211.643697 -L 261.345503 212.974327 -L 260.508415 214.547899 -L 258.948725 217.166465 -L 258.774872 217.452101 -L 256.826286 220.356303 -L 256.551946 220.731993 -L 254.658708 223.260504 -L 254.155168 223.885129 -L 252.26405 226.164706 -L 251.758389 226.736134 -L 249.625948 229.068908 -L 249.361611 229.342228 -L 246.964832 231.731491 -L 246.712324 231.973109 -L 244.568054 233.92665 -L 243.475777 234.877311 -L 242.171275 235.96549 -L 239.880506 237.781513 -L 239.774497 237.86255 -L 237.377718 239.593737 -L 235.767315 240.685714 -L 234.98094 241.202801 -L 232.584161 242.671497 -L 230.962188 243.589916 -L 230.187383 244.017628 -L 227.790604 245.22814 -L 225.393826 246.322596 -L 224.97229 246.494118 -L 222.997047 247.281633 -L 220.600268 248.117651 -L 218.20349 248.831698 -L 215.901755 249.398319 -L 215.806711 249.421356 -L 213.409933 249.878493 -L 211.013154 250.21052 -L 208.616376 250.416482 -L 206.219597 250.495783 -L 203.822819 250.448197 -L 201.42604 250.273859 -L 199.029262 249.973272 -L 196.632483 249.547303 +M 156.786712 200.244706 +L 155.388564 199.930995 +L 153.471141 199.404916 +L 151.553718 198.784499 +L 149.636295 198.07153 +L 149.485807 198.008471 +L 147.718872 197.252828 +L 145.80145 196.342832 +L 144.704487 195.772235 +L 143.884027 195.334477 +L 141.966604 194.224759 +L 140.85979 193.536 +L 140.049181 193.015824 +L 138.131758 191.702862 +L 137.576394 191.299765 +L 136.214336 190.274523 +L 134.687496 189.063529 +L 134.296913 188.740308 +L 132.37949 187.077279 +L 132.103147 186.827294 +L 130.462067 185.268082 +L 129.775809 184.591059 +L 128.544644 183.306028 +L 127.663317 182.354824 +L 126.627221 181.162021 +L 125.747306 180.118588 +L 124.709799 178.793975 +L 124.014055 177.882353 +L 122.792376 176.1402 +L 122.453602 175.646118 +L 121.062676 173.409882 +L 120.874953 173.071957 +L 119.84042 171.173647 +L 118.95753 169.323877 +L 118.775993 168.937412 +L 117.879244 166.701176 +L 117.140242 164.464941 +L 117.040107 164.077473 +L 116.568436 162.228706 +L 116.159514 159.992471 +L 115.914042 157.756235 +L 115.83313 155.52 +L 115.917143 153.283765 +L 116.165702 151.047529 +L 116.577683 148.811294 +L 117.040107 147.008307 +L 117.152665 146.575059 +L 117.894667 144.338824 +L 118.794347 142.102588 +L 118.95753 141.756135 +L 119.861962 139.866353 +L 120.874953 138.011827 +L 121.087485 137.630118 +L 122.481149 135.393882 +L 122.792376 134.940749 +L 124.044901 133.157647 +L 124.709799 132.287734 +L 125.781563 130.921412 +L 126.627221 129.919901 +L 127.701122 128.685176 +L 128.544644 127.775806 +L 129.817329 126.448941 +L 130.462067 125.813508 +L 132.148586 124.212706 +L 132.37949 124.004005 +L 134.296913 122.342401 +L 134.739486 121.976471 +L 136.214336 120.807576 +L 137.633372 119.740235 +L 138.131758 119.378722 +L 140.049181 118.066584 +L 140.926429 117.504 +L 141.966604 116.85705 +L 143.884027 115.747916 +L 144.784415 115.267765 +L 145.80145 114.73897 +L 147.718872 113.829365 +L 149.585268 113.031529 +L 149.636295 113.010154 +L 151.553718 112.297425 +L 153.471141 111.677216 +L 155.388564 111.151314 +L 156.975811 110.795294 +L 157.305987 110.72237 +L 159.223409 110.394455 +L 161.140832 110.16306 +L 163.058255 110.028853 +L 164.975678 109.99222 +L 166.893101 110.053268 +L 168.810523 110.211819 +L 170.727946 110.467417 +L 172.514431 110.795294 +L 172.645369 110.819699 +L 174.562792 111.273861 +L 176.480215 111.823493 +L 178.397638 112.46701 +L 179.869225 113.031529 +L 180.31506 113.206061 +L 182.232483 114.048431 +L 184.149906 114.980125 +L 184.691502 115.267765 +L 186.067329 116.017199 +L 187.984752 117.1475 +L 188.54833 117.504 +L 189.902174 118.38703 +L 191.819597 119.719206 +L 191.848197 119.740235 +L 193.73702 121.180396 +L 194.729263 121.976471 +L 195.654443 122.750839 +L 197.322983 124.212706 +L 197.571866 124.441698 +L 199.489289 126.279613 +L 199.6596 126.448941 +L 201.406711 128.286431 +L 201.773726 128.685176 +L 203.324134 130.481644 +L 203.692942 130.921412 +L 205.241557 132.909151 +L 205.430365 133.157647 +L 206.991891 135.393882 +L 207.15898 135.657591 +L 208.382049 137.630118 +L 209.076403 138.883552 +L 209.610939 139.866353 +L 210.676603 142.102588 +L 210.993826 142.88192 +L 211.577915 144.338824 +L 212.317321 146.575059 +L 212.896262 148.811294 +L 212.911248 148.891884 +L 213.307294 151.047529 +L 213.555172 153.283765 +L 213.638954 155.52 +L 213.558264 157.756235 +L 213.313465 159.992471 +L 212.911248 162.198081 +L 212.905595 162.228706 +L 212.329701 164.464941 +L 211.593284 166.701176 +L 210.993826 168.201302 +L 210.695172 168.937412 +L 209.632389 171.173647 +L 209.076403 172.198232 +L 208.406732 173.409882 +L 207.15898 175.426178 +L 207.019898 175.646118 +L 205.461028 177.882353 +L 205.241557 178.171635 +L 203.726967 180.118588 +L 203.324134 180.599549 +L 201.81124 182.354824 +L 201.406711 182.794824 +L 199.700759 184.591059 +L 199.489289 184.801516 +L 197.571866 186.641248 +L 197.369859 186.827294 +L 195.654443 188.33152 +L 194.780622 189.063529 +L 193.73702 189.901427 +L 191.904405 191.299765 +L 191.819597 191.362164 +L 189.902174 192.695177 +L 188.613852 193.536 +L 187.984752 193.934156 +L 186.067329 195.065053 +L 184.769751 195.772235 +L 184.149906 196.101573 +L 182.232483 197.033668 +L 180.31506 197.876399 +L 179.977832 198.008471 +L 178.397638 198.614857 +L 176.480215 199.258591 +L 174.562792 199.808407 +L 172.721404 200.244706 +L 172.645369 200.262444 +L 170.727946 200.614439 +L 168.810523 200.870101 +L 166.893101 201.028691 +L 164.975678 201.089753 +L 163.058255 201.053111 +L 161.140832 200.918871 +L 159.223409 200.68742 +L 157.305987 200.359423 z " style="fill:#053061;"/> - <path clip-path="url(#p553f52e075)" d="M 429.12 224.678045 -L 429.12 223.260504 -L 429.12 220.356303 -L 429.12 217.452101 -L 429.12 214.547899 -L 429.12 211.643697 -L 429.12 209.113375 -L 428.95102 208.739496 -L 427.830475 205.835294 -L 426.907045 202.931092 -L 426.723221 202.191818 -L 426.191747 200.026891 -L 425.680735 197.122689 -L 425.37398 194.218487 -L 425.272868 191.314286 -L 425.377855 188.410084 -L 425.688468 185.505882 -L 426.203303 182.601681 -L 426.723221 180.494965 -L 426.922569 179.697479 -L 427.849747 176.793277 -L 428.973954 173.889076 -L 429.12 173.566813 -L 429.12 170.984874 -L 429.12 168.080672 -L 429.12 165.176471 -L 429.12 162.272269 -L 429.12 159.368067 -L 429.12 158.005052 -L 428.101383 159.368067 -L 426.723221 161.353173 -L 426.093252 162.272269 -L 424.326443 165.077054 -L 424.264427 165.176471 -L 422.620596 168.080672 -L 421.929664 169.446995 -L 421.157274 170.984874 -L 419.879269 173.889076 -L 419.532886 174.810609 -L 418.790563 176.793277 -L 417.893781 179.697479 -L 417.191619 182.601681 -L 417.136107 182.921321 -L 416.687711 185.505882 -L 416.383725 188.410084 -L 416.280977 191.314286 -L 416.379932 194.218487 -L 416.680143 197.122689 -L 417.136107 199.770531 -L 417.180299 200.026891 -L 417.878767 202.931092 -L 418.771923 205.835294 -L 419.532886 207.87439 -L 419.856999 208.739496 -L 421.13155 211.643697 -L 421.929664 213.236442 -L 422.591333 214.547899 -L 424.231935 217.452101 -L 424.326443 217.603864 -L 426.057327 220.356303 -L 426.723221 221.329253 -L 428.062007 223.260504 + <path clip-path="url(#p0bba778d2e)" d="M 343.296 181.210094 +L 343.296 180.118588 +L 343.296 177.882353 +L 343.296 175.646118 +L 343.296 173.409882 +L 343.296 171.173647 +L 343.296 169.225299 +L 343.160816 168.937412 +L 342.26438 166.701176 +L 341.525636 164.464941 +L 341.378577 163.8957 +L 340.953398 162.228706 +L 340.544588 159.992471 +L 340.299184 157.756235 +L 340.218294 155.52 +L 340.302284 153.283765 +L 340.550774 151.047529 +L 340.962642 148.811294 +L 341.378577 147.189123 +L 341.538055 146.575059 +L 342.279798 144.338824 +L 343.179163 142.102588 +L 343.296 141.854446 +L 343.296 139.866353 +L 343.296 137.630118 +L 343.296 135.393882 +L 343.296 133.157647 +L 343.296 130.921412 +L 343.296 129.87189 +L 342.481107 130.921412 +L 341.378577 132.449943 +L 340.874601 133.157647 +L 339.461154 135.317331 +L 339.411542 135.393882 +L 338.096477 137.630118 +L 337.543732 138.682186 +L 336.925819 139.866353 +L 335.903415 142.102588 +L 335.626309 142.812169 +L 335.03245 144.338824 +L 334.315025 146.575059 +L 333.753295 148.811294 +L 333.708886 149.057417 +L 333.350169 151.047529 +L 333.10698 153.283765 +L 333.024782 155.52 +L 333.103946 157.756235 +L 333.344114 159.992471 +L 333.708886 162.031309 +L 333.744239 162.228706 +L 334.303013 164.464941 +L 335.017538 166.701176 +L 335.626309 168.271281 +L 335.885599 168.937412 +L 336.90524 171.173647 +L 337.543732 172.40006 +L 338.073067 173.409882 +L 339.385548 175.646118 +L 339.461154 175.762975 +L 340.845862 177.882353 +L 341.378577 178.631525 +L 342.449606 180.118588 z " style="fill:#053061;"/> </g> <g id="PathCollection_17"> - <path clip-path="url(#p553f52e075)" d="M 196.632483 249.547303 -L 199.029262 249.973272 -L 201.42604 250.273859 -L 203.822819 250.448197 -L 206.219597 250.495783 -L 208.616376 250.416482 -L 211.013154 250.21052 -L 213.409933 249.878493 -L 215.806711 249.421356 -L 215.901755 249.398319 -L 218.20349 248.831698 -L 220.600268 248.117651 -L 222.997047 247.281633 -L 224.97229 246.494118 -L 225.393826 246.322596 -L 227.790604 245.22814 -L 230.187383 244.017628 -L 230.962188 243.589916 -L 232.584161 242.671497 -L 234.98094 241.202801 -L 235.767315 240.685714 -L 237.377718 239.593737 -L 239.774497 237.86255 -L 239.880506 237.781513 -L 242.171275 235.96549 -L 243.475777 234.877311 -L 244.568054 233.92665 -L 246.712324 231.973109 -L 246.964832 231.731491 -L 249.361611 229.342228 -L 249.625948 229.068908 -L 251.758389 226.736134 -L 252.26405 226.164706 -L 254.155168 223.885129 -L 254.658708 223.260504 -L 256.551946 220.731993 -L 256.826286 220.356303 -L 258.774872 217.452101 -L 258.948725 217.166465 -L 260.508415 214.547899 -L 261.345503 212.974327 -L 262.040486 211.643697 -L 263.368965 208.739496 -L 263.742282 207.783509 -L 264.491605 205.835294 -L 265.412126 202.931092 -L 266.131994 200.026891 -L 266.13906 199.987118 -L 266.641831 197.122689 -L 266.94783 194.218487 -L 267.048693 191.314286 -L 266.943964 188.410084 -L 266.634118 185.505882 -L 266.13906 182.706343 -L 266.120327 182.601681 -L 265.396652 179.697479 -L 264.472394 176.793277 -L 263.742282 174.901195 -L 263.345754 173.889076 -L 262.013673 170.984874 -L 261.345503 169.708509 -L 260.477561 168.080672 -L 258.948725 165.51895 -L 258.739864 165.176471 -L 256.787956 162.272269 -L 256.551946 161.949547 -L 254.616178 159.368067 -L 254.155168 158.796941 -L 252.217158 156.463866 -L 251.758389 155.946014 -L 249.5745 153.559664 -L 249.361611 153.339758 -L 246.964832 150.952854 -L 246.653729 150.655462 -L 244.568054 148.756934 -L 243.411579 147.751261 -L 242.171275 146.717398 -L 239.810247 144.847059 -L 239.774497 144.819747 -L 237.377718 143.089649 -L 235.685412 141.942857 -L 234.98094 141.47987 -L 232.584161 140.011946 -L 230.864378 139.038655 -L 230.187383 138.665098 -L 227.790604 137.455105 -L 225.393826 136.361119 -L 224.836531 136.134454 -L 222.997047 135.401311 -L 220.600268 134.565575 -L 218.20349 133.851768 -L 215.806711 133.261947 -L 215.643039 133.230252 -L 213.409933 132.804438 -L 211.013154 132.472492 -L 208.616376 132.266581 -L 206.219597 132.187299 -L 203.822819 132.234874 -L 201.42604 132.409169 -L 199.029262 132.709681 -L 196.632483 133.135545 -L 196.219764 133.230252 -L 194.235705 133.692616 -L 191.838926 134.375606 -L 189.442148 135.181072 -L 187.045369 136.106694 -L 186.981585 136.134454 -L 184.648591 137.170604 -L 182.251812 138.351909 -L 180.980519 139.038655 -L 179.855034 139.662228 -L 177.458255 141.102662 -L 176.158036 141.942857 -L 175.061477 142.673486 -L 172.664698 144.37756 -L 172.041715 144.847059 -L 170.267919 146.233215 -L 168.424357 147.751261 -L 167.871141 148.226495 -L 165.474362 150.384422 -L 165.185732 150.655462 -L 163.077584 152.734426 -L 162.271662 153.559664 -L 160.680805 155.282865 -L 159.626403 156.463866 -L 158.284027 158.067404 -L 157.226954 159.368067 -L 155.887248 161.142512 -L 155.056126 162.272269 -L 153.49047 164.587986 -L 153.101437 165.176471 -L 151.359356 168.080672 -L 151.093691 168.576398 -L 149.827452 170.984874 -L 148.696913 173.439136 -L 148.492933 173.889076 -L 147.368334 176.793277 -L 146.440831 179.697479 -L 146.300134 180.260139 -L 145.722103 182.601681 -L 145.207127 185.505882 -L 144.896429 188.410084 -L 144.791412 191.314286 -L 144.892552 194.218487 -L 145.199392 197.122689 -L 145.710545 200.026891 -L 146.300134 202.427886 -L 146.425302 202.931092 -L 147.349055 205.835294 -L 148.469991 208.739496 -L 148.696913 209.241398 -L 149.800524 211.643697 -L 151.093691 214.109035 -L 151.328345 214.547899 -L 153.067003 217.452101 -L 153.49047 218.093766 -L 155.017568 220.356303 -L 155.887248 221.540227 -L 157.184132 223.260504 -L 158.284027 224.615612 -L 159.579146 226.164706 -L 160.680805 227.400036 -L 162.219761 229.068908 -L 163.077584 229.948158 -L 165.128933 231.973109 -L 165.474362 232.297765 -L 167.871141 234.457543 -L 168.35937 234.877311 -L 170.267919 236.45003 -L 171.970492 237.781513 -L 172.664698 238.305015 -L 175.061477 240.010162 -L 176.074738 240.685714 -L 177.458255 241.580207 -L 179.855034 243.021399 -L 180.880609 243.589916 -L 182.251812 244.330951 -L 184.648591 245.512763 -L 186.857259 246.494118 -L 187.045369 246.576013 -L 189.442148 247.501946 -L 191.838926 248.307683 -L 194.235705 248.990903 -L 195.98339 249.398319 + <path clip-path="url(#p0bba778d2e)" d="M 157.305987 200.359423 +L 159.223409 200.68742 +L 161.140832 200.918871 +L 163.058255 201.053111 +L 164.975678 201.089753 +L 166.893101 201.028691 +L 168.810523 200.870101 +L 170.727946 200.614439 +L 172.645369 200.262444 +L 172.721404 200.244706 +L 174.562792 199.808407 +L 176.480215 199.258591 +L 178.397638 198.614857 +L 179.977832 198.008471 +L 180.31506 197.876399 +L 182.232483 197.033668 +L 184.149906 196.101573 +L 184.769751 195.772235 +L 186.067329 195.065053 +L 187.984752 193.934156 +L 188.613852 193.536 +L 189.902174 192.695177 +L 191.819597 191.362164 +L 191.904405 191.299765 +L 193.73702 189.901427 +L 194.780622 189.063529 +L 195.654443 188.33152 +L 197.369859 186.827294 +L 197.571866 186.641248 +L 199.489289 184.801516 +L 199.700759 184.591059 +L 201.406711 182.794824 +L 201.81124 182.354824 +L 203.324134 180.599549 +L 203.726967 180.118588 +L 205.241557 178.171635 +L 205.461028 177.882353 +L 207.019898 175.646118 +L 207.15898 175.426178 +L 208.406732 173.409882 +L 209.076403 172.198232 +L 209.632389 171.173647 +L 210.695172 168.937412 +L 210.993826 168.201302 +L 211.593284 166.701176 +L 212.329701 164.464941 +L 212.905595 162.228706 +L 212.911248 162.198081 +L 213.313465 159.992471 +L 213.558264 157.756235 +L 213.638954 155.52 +L 213.555172 153.283765 +L 213.307294 151.047529 +L 212.911248 148.891884 +L 212.896262 148.811294 +L 212.317321 146.575059 +L 211.577915 144.338824 +L 210.993826 142.88192 +L 210.676603 142.102588 +L 209.610939 139.866353 +L 209.076403 138.883552 +L 208.382049 137.630118 +L 207.15898 135.657591 +L 206.991891 135.393882 +L 205.430365 133.157647 +L 205.241557 132.909151 +L 203.692942 130.921412 +L 203.324134 130.481644 +L 201.773726 128.685176 +L 201.406711 128.286431 +L 199.6596 126.448941 +L 199.489289 126.279613 +L 197.571866 124.441698 +L 197.322983 124.212706 +L 195.654443 122.750839 +L 194.729263 121.976471 +L 193.73702 121.180396 +L 191.848197 119.740235 +L 191.819597 119.719206 +L 189.902174 118.38703 +L 188.54833 117.504 +L 187.984752 117.1475 +L 186.067329 116.017199 +L 184.691502 115.267765 +L 184.149906 114.980125 +L 182.232483 114.048431 +L 180.31506 113.206061 +L 179.869225 113.031529 +L 178.397638 112.46701 +L 176.480215 111.823493 +L 174.562792 111.273861 +L 172.645369 110.819699 +L 172.514431 110.795294 +L 170.727946 110.467417 +L 168.810523 110.211819 +L 166.893101 110.053268 +L 164.975678 109.99222 +L 163.058255 110.028853 +L 161.140832 110.16306 +L 159.223409 110.394455 +L 157.305987 110.72237 +L 156.975811 110.795294 +L 155.388564 111.151314 +L 153.471141 111.677216 +L 151.553718 112.297425 +L 149.636295 113.010154 +L 149.585268 113.031529 +L 147.718872 113.829365 +L 145.80145 114.73897 +L 144.784415 115.267765 +L 143.884027 115.747916 +L 141.966604 116.85705 +L 140.926429 117.504 +L 140.049181 118.066584 +L 138.131758 119.378722 +L 137.633372 119.740235 +L 136.214336 120.807576 +L 134.739486 121.976471 +L 134.296913 122.342401 +L 132.37949 124.004005 +L 132.148586 124.212706 +L 130.462067 125.813508 +L 129.817329 126.448941 +L 128.544644 127.775806 +L 127.701122 128.685176 +L 126.627221 129.919901 +L 125.781563 130.921412 +L 124.709799 132.287734 +L 124.044901 133.157647 +L 122.792376 134.940749 +L 122.481149 135.393882 +L 121.087485 137.630118 +L 120.874953 138.011827 +L 119.861962 139.866353 +L 118.95753 141.756135 +L 118.794347 142.102588 +L 117.894667 144.338824 +L 117.152665 146.575059 +L 117.040107 147.008307 +L 116.577683 148.811294 +L 116.165702 151.047529 +L 115.917143 153.283765 +L 115.83313 155.52 +L 115.914042 157.756235 +L 116.159514 159.992471 +L 116.568436 162.228706 +L 117.040107 164.077473 +L 117.140242 164.464941 +L 117.879244 166.701176 +L 118.775993 168.937412 +L 118.95753 169.323877 +L 119.84042 171.173647 +L 120.874953 173.071957 +L 121.062676 173.409882 +L 122.453602 175.646118 +L 122.792376 176.1402 +L 124.014055 177.882353 +L 124.709799 178.793975 +L 125.747306 180.118588 +L 126.627221 181.162021 +L 127.663317 182.354824 +L 128.544644 183.306028 +L 129.775809 184.591059 +L 130.462067 185.268082 +L 132.103147 186.827294 +L 132.37949 187.077279 +L 134.296913 188.740308 +L 134.687496 189.063529 +L 136.214336 190.274523 +L 137.576394 191.299765 +L 138.131758 191.702862 +L 140.049181 193.015824 +L 140.85979 193.536 +L 141.966604 194.224759 +L 143.884027 195.334477 +L 144.704487 195.772235 +L 145.80145 196.342832 +L 147.718872 197.252828 +L 149.485807 198.008471 +L 149.636295 198.07153 +L 151.553718 198.784499 +L 153.471141 199.404916 +L 155.388564 199.930995 +L 156.786712 200.244706 z -M 198.117216 240.685714 -L 196.632483 240.396398 -L 194.235705 239.793233 -L 191.838926 239.055682 -L 189.442148 238.18587 -L 188.472572 237.781513 -L 187.045369 237.164252 -L 184.648591 235.99608 -L 182.580181 234.877311 -L 182.251812 234.691999 -L 179.855034 233.209529 -L 178.012184 231.973109 -L 177.458255 231.582771 -L 175.061477 229.766783 -L 174.198306 229.068908 -L 172.664698 227.757079 -L 170.908455 226.164706 -L 170.267919 225.545214 -L 168.025999 223.260504 -L 167.871141 223.090594 -L 165.493408 220.356303 -L 165.474362 220.332466 -L 163.267786 217.452101 -L 163.077584 217.178405 -L 161.317042 214.547899 -L 160.680805 213.483508 -L 159.617271 211.643697 -L 158.284027 209.010275 -L 158.150935 208.739496 -L 156.93234 205.835294 -L 155.928108 202.931092 -L 155.887248 202.779991 -L 155.161841 200.026891 -L 154.613372 197.122689 -L 154.284132 194.218487 -L 154.175608 191.314286 -L 154.288291 188.410084 -L 154.621672 185.505882 -L 155.174244 182.601681 -L 155.887248 179.909887 -L 155.94499 179.697479 -L 156.953299 176.793277 -L 158.175876 173.889076 -L 158.284027 173.669634 -L 159.646947 170.984874 -L 160.680805 169.200494 -L 161.351711 168.080672 -L 163.077584 165.507033 -L 163.307757 165.176471 -L 165.474362 162.353095 -L 165.539053 162.272269 -L 167.871141 159.594443 -L 168.077768 159.368067 -L 170.267919 157.139006 -L 170.966899 156.463866 -L 172.664698 154.926226 -L 174.264103 153.559664 -L 175.061477 152.915622 -L 177.458255 151.101427 -L 178.09175 150.655462 -L 179.855034 149.47344 -L 182.251812 147.992241 -L 182.67919 147.751261 -L 184.648591 146.68683 -L 187.045369 145.519521 -L 188.601356 144.847059 -L 189.442148 144.496631 -L 191.838926 143.627365 -L 194.235705 142.890278 -L 196.632483 142.287493 -L 198.402219 141.942857 -L 199.029262 141.824431 -L 201.42604 141.505005 -L 203.822819 141.31974 -L 206.219597 141.269171 -L 208.616376 141.353443 -L 211.013154 141.572313 -L 213.409933 141.925151 -L 213.497292 141.942857 -L 215.806711 142.425497 -L 218.20349 143.062036 -L 220.600268 143.832381 -L 222.997047 144.734315 -L 223.259165 144.847059 -L 225.393826 145.799147 -L 227.790604 146.998815 -L 229.149766 147.751261 -L 230.187383 148.350536 -L 232.584161 149.863522 -L 233.743416 150.655462 -L 234.98094 151.543275 -L 237.377718 153.388398 -L 237.58657 153.559664 -L 239.774497 155.45762 -L 240.870535 156.463866 -L 242.171275 157.737459 -L 243.753958 159.368067 -L 244.568054 160.270937 -L 246.291986 162.272269 -L 246.964832 163.1222 -L 248.525849 165.176471 -L 249.361611 166.388581 -L 250.486439 168.080672 -L 251.758389 170.222361 -L 252.196772 170.984874 -L 253.659705 173.889076 -L 254.155168 175.040604 -L 254.887973 176.793277 -L 255.889428 179.697479 -L 256.551946 182.1513 -L 256.670537 182.601681 -L 257.219838 185.505882 -L 257.551246 188.410084 -L 257.663261 191.314286 -L 257.55538 194.218487 -L 257.228089 197.122689 -L 256.682866 200.026891 -L 256.551946 200.526724 -L 255.906195 202.931092 -L 254.908789 205.835294 -L 254.155168 207.643644 -L 253.685196 208.739496 -L 252.226219 211.643697 -L 251.758389 212.459296 -L 250.520806 214.547899 -L 249.361611 216.295122 -L 248.56543 217.452101 -L 246.964832 219.56205 -L 246.337134 220.356303 -L 244.568054 222.413096 -L 243.805099 223.260504 -L 242.171275 224.945985 -L 240.928189 226.164706 -L 239.774497 227.225083 -L 237.651377 229.068908 -L 237.377718 229.29354 -L 234.98094 231.140486 -L 233.821491 231.973109 -L 232.584161 232.819112 -L 230.187383 234.333396 -L 229.246428 234.877311 -L 227.790604 235.683865 -L 225.393826 236.884419 -L 223.383954 237.781513 -L 222.997047 237.948037 -L 220.600268 238.850537 -L 218.20349 239.621368 -L 215.806711 240.258307 -L 213.762864 240.685714 -L 213.409933 240.757285 -L 211.013154 241.110309 -L 208.616376 241.329294 -L 206.219597 241.413611 -L 203.822819 241.363015 -L 201.42604 241.177653 -L 199.029262 240.858058 +M 158.493773 193.536 +L 157.305987 193.313226 +L 155.388564 192.84879 +L 153.471141 192.280875 +L 151.553718 191.61112 +L 150.778057 191.299765 +L 149.636295 190.824474 +L 147.718872 189.924982 +L 146.064145 189.063529 +L 145.80145 188.920839 +L 143.884027 187.779337 +L 142.409747 186.827294 +L 141.966604 186.526734 +L 140.049181 185.128423 +L 139.358645 184.591059 +L 138.131758 183.580951 +L 136.726764 182.354824 +L 136.214336 181.877815 +L 134.420799 180.118588 +L 134.296913 179.987758 +L 132.394726 177.882353 +L 132.37949 177.863999 +L 130.614229 175.646118 +L 130.462067 175.435372 +L 129.053633 173.409882 +L 128.544644 172.590301 +L 127.693817 171.173647 +L 126.627221 169.145912 +L 126.520748 168.937412 +L 125.545872 166.701176 +L 124.742487 164.464941 +L 124.709799 164.348593 +L 124.129473 162.228706 +L 123.690698 159.992471 +L 123.427306 157.756235 +L 123.340487 155.52 +L 123.430633 153.283765 +L 123.697338 151.047529 +L 124.139395 148.811294 +L 124.709799 146.738613 +L 124.755992 146.575059 +L 125.562639 144.338824 +L 126.540701 142.102588 +L 126.627221 141.933618 +L 127.717558 139.866353 +L 128.544644 138.49238 +L 129.081369 137.630118 +L 130.462067 135.648415 +L 130.646206 135.393882 +L 132.37949 133.219883 +L 132.431243 133.157647 +L 134.296913 131.095721 +L 134.462215 130.921412 +L 136.214336 129.205034 +L 136.773519 128.685176 +L 138.131758 127.501194 +L 139.411282 126.448941 +L 140.049181 125.953029 +L 141.966604 124.556099 +L 142.4734 124.212706 +L 143.884027 123.302549 +L 145.80145 122.162025 +L 146.143352 121.976471 +L 147.718872 121.156859 +L 149.636295 120.258031 +L 150.881085 119.740235 +L 151.553718 119.470406 +L 153.471141 118.801071 +L 155.388564 118.233514 +L 157.305987 117.76937 +L 158.721776 117.504 +L 159.223409 117.412812 +L 161.140832 117.166854 +L 163.058255 117.0242 +L 164.975678 116.985261 +L 166.893101 117.050151 +L 168.810523 117.218681 +L 170.727946 117.490366 +L 170.797834 117.504 +L 172.645369 117.875633 +L 174.562792 118.365767 +L 176.480215 118.958934 +L 178.397638 119.653422 +L 178.607332 119.740235 +L 180.31506 120.473343 +L 182.232483 121.397087 +L 183.319813 121.976471 +L 184.149906 122.437913 +L 186.067329 123.602912 +L 186.994733 124.212706 +L 187.984752 124.896322 +L 189.902174 126.317066 +L 190.069256 126.448941 +L 191.819597 127.910367 +L 192.696428 128.685176 +L 193.73702 129.665843 +L 195.003166 130.921412 +L 195.654443 131.616621 +L 197.033589 133.157647 +L 197.571866 133.812094 +L 198.820679 135.393882 +L 199.489289 136.327208 +L 200.389151 137.630118 +L 201.406711 139.279218 +L 201.757418 139.866353 +L 202.927764 142.102588 +L 203.324134 142.989265 +L 203.910378 144.338824 +L 204.711542 146.575059 +L 205.241557 148.464501 +L 205.33643 148.811294 +L 205.775871 151.047529 +L 206.040996 153.283765 +L 206.130609 155.52 +L 206.044304 157.756235 +L 205.782471 159.992471 +L 205.346293 162.228706 +L 205.241557 162.613577 +L 204.724956 164.464941 +L 203.927031 166.701176 +L 203.324134 168.093606 +L 202.948157 168.937412 +L 201.780975 171.173647 +L 201.406711 171.801658 +L 200.416645 173.409882 +L 199.489289 174.755244 +L 198.852344 175.646118 +L 197.571866 177.270778 +L 197.069707 177.882353 +L 195.654443 179.466084 +L 195.044079 180.118588 +L 193.73702 181.416408 +L 192.742551 182.354824 +L 191.819597 183.171314 +L 190.121102 184.591059 +L 189.902174 184.764026 +L 187.984752 186.186174 +L 187.057193 186.827294 +L 186.067329 187.478716 +L 184.149906 188.644715 +L 183.397142 189.063529 +L 182.232483 189.684576 +L 180.31506 190.609003 +L 178.707163 191.299765 +L 178.397638 191.427988 +L 176.480215 192.122914 +L 174.562792 192.716453 +L 172.645369 193.206896 +L 171.010291 193.536 +L 170.727946 193.59111 +L 168.810523 193.862938 +L 166.893101 194.031557 +L 164.975678 194.09648 +L 163.058255 194.057521 +L 161.140832 193.914793 +L 159.223409 193.668705 z " style="fill:#053061;"/> - <path clip-path="url(#p553f52e075)" d="M 429.12 209.113375 -L 429.12 208.739496 -L 429.12 205.835294 -L 429.12 202.931092 -L 429.12 200.026891 -L 429.12 197.122689 -L 429.12 194.218487 -L 429.12 191.314286 -L 429.12 188.410084 -L 429.12 185.505882 -L 429.12 182.601681 -L 429.12 179.697479 -L 429.12 176.793277 -L 429.12 173.889076 -L 429.12 173.566813 -L 428.973954 173.889076 -L 427.849747 176.793277 -L 426.922569 179.697479 -L 426.723221 180.494965 -L 426.203303 182.601681 -L 425.688468 185.505882 -L 425.377855 188.410084 -L 425.272868 191.314286 -L 425.37398 194.218487 -L 425.680735 197.122689 -L 426.191747 200.026891 -L 426.723221 202.191818 -L 426.907045 202.931092 -L 427.830475 205.835294 -L 428.95102 208.739496 + <path clip-path="url(#p0bba778d2e)" d="M 343.296 169.225299 +L 343.296 168.937412 +L 343.296 166.701176 +L 343.296 164.464941 +L 343.296 162.228706 +L 343.296 159.992471 +L 343.296 157.756235 +L 343.296 155.52 +L 343.296 153.283765 +L 343.296 151.047529 +L 343.296 148.811294 +L 343.296 146.575059 +L 343.296 144.338824 +L 343.296 142.102588 +L 343.296 141.854446 +L 343.179163 142.102588 +L 342.279798 144.338824 +L 341.538055 146.575059 +L 341.378577 147.189123 +L 340.962642 148.811294 +L 340.550774 151.047529 +L 340.302284 153.283765 +L 340.218294 155.52 +L 340.299184 157.756235 +L 340.544588 159.992471 +L 340.953398 162.228706 +L 341.378577 163.8957 +L 341.525636 164.464941 +L 342.26438 166.701176 +L 343.160816 168.937412 z " style="fill:#053061;"/> </g> <g id="PathCollection_18"> - <path clip-path="url(#p553f52e075)" d="M 199.029262 240.858058 -L 201.42604 241.177653 -L 203.822819 241.363015 -L 206.219597 241.413611 -L 208.616376 241.329294 -L 211.013154 241.110309 -L 213.409933 240.757285 -L 213.762864 240.685714 -L 215.806711 240.258307 -L 218.20349 239.621368 -L 220.600268 238.850537 -L 222.997047 237.948037 -L 223.383954 237.781513 -L 225.393826 236.884419 -L 227.790604 235.683865 -L 229.246428 234.877311 -L 230.187383 234.333396 -L 232.584161 232.819112 -L 233.821491 231.973109 -L 234.98094 231.140486 -L 237.377718 229.29354 -L 237.651377 229.068908 -L 239.774497 227.225083 -L 240.928189 226.164706 -L 242.171275 224.945985 -L 243.805099 223.260504 -L 244.568054 222.413096 -L 246.337134 220.356303 -L 246.964832 219.56205 -L 248.56543 217.452101 -L 249.361611 216.295122 -L 250.520806 214.547899 -L 251.758389 212.459296 -L 252.226219 211.643697 -L 253.685196 208.739496 -L 254.155168 207.643644 -L 254.908789 205.835294 -L 255.906195 202.931092 -L 256.551946 200.526724 -L 256.682866 200.026891 -L 257.228089 197.122689 -L 257.55538 194.218487 -L 257.663261 191.314286 -L 257.551246 188.410084 -L 257.219838 185.505882 -L 256.670537 182.601681 -L 256.551946 182.1513 -L 255.889428 179.697479 -L 254.887973 176.793277 -L 254.155168 175.040604 -L 253.659705 173.889076 -L 252.196772 170.984874 -L 251.758389 170.222361 -L 250.486439 168.080672 -L 249.361611 166.388581 -L 248.525849 165.176471 -L 246.964832 163.1222 -L 246.291986 162.272269 -L 244.568054 160.270937 -L 243.753958 159.368067 -L 242.171275 157.737459 -L 240.870535 156.463866 -L 239.774497 155.45762 -L 237.58657 153.559664 -L 237.377718 153.388398 -L 234.98094 151.543275 -L 233.743416 150.655462 -L 232.584161 149.863522 -L 230.187383 148.350536 -L 229.149766 147.751261 -L 227.790604 146.998815 -L 225.393826 145.799147 -L 223.259165 144.847059 -L 222.997047 144.734315 -L 220.600268 143.832381 -L 218.20349 143.062036 -L 215.806711 142.425497 -L 213.497292 141.942857 -L 213.409933 141.925151 -L 211.013154 141.572313 -L 208.616376 141.353443 -L 206.219597 141.269171 -L 203.822819 141.31974 -L 201.42604 141.505005 -L 199.029262 141.824431 -L 198.402219 141.942857 -L 196.632483 142.287493 -L 194.235705 142.890278 -L 191.838926 143.627365 -L 189.442148 144.496631 -L 188.601356 144.847059 -L 187.045369 145.519521 -L 184.648591 146.68683 -L 182.67919 147.751261 -L 182.251812 147.992241 -L 179.855034 149.47344 -L 178.09175 150.655462 -L 177.458255 151.101427 -L 175.061477 152.915622 -L 174.264103 153.559664 -L 172.664698 154.926226 -L 170.966899 156.463866 -L 170.267919 157.139006 -L 168.077768 159.368067 -L 167.871141 159.594443 -L 165.539053 162.272269 -L 165.474362 162.353095 -L 163.307757 165.176471 -L 163.077584 165.507033 -L 161.351711 168.080672 -L 160.680805 169.200494 -L 159.646947 170.984874 -L 158.284027 173.669634 -L 158.175876 173.889076 -L 156.953299 176.793277 -L 155.94499 179.697479 -L 155.887248 179.909887 -L 155.174244 182.601681 -L 154.621672 185.505882 -L 154.288291 188.410084 -L 154.175608 191.314286 -L 154.284132 194.218487 -L 154.613372 197.122689 -L 155.161841 200.026891 -L 155.887248 202.779991 -L 155.928108 202.931092 -L 156.93234 205.835294 -L 158.150935 208.739496 -L 158.284027 209.010275 -L 159.617271 211.643697 -L 160.680805 213.483508 -L 161.317042 214.547899 -L 163.077584 217.178405 -L 163.267786 217.452101 -L 165.474362 220.332466 -L 165.493408 220.356303 -L 167.871141 223.090594 -L 168.025999 223.260504 -L 170.267919 225.545214 -L 170.908455 226.164706 -L 172.664698 227.757079 -L 174.198306 229.068908 -L 175.061477 229.766783 -L 177.458255 231.582771 -L 178.012184 231.973109 -L 179.855034 233.209529 -L 182.251812 234.691999 -L 182.580181 234.877311 -L 184.648591 235.99608 -L 187.045369 237.164252 -L 188.472572 237.781513 -L 189.442148 238.18587 -L 191.838926 239.055682 -L 194.235705 239.793233 -L 196.632483 240.396398 -L 198.117216 240.685714 + <path clip-path="url(#p0bba778d2e)" d="M 159.223409 193.668705 +L 161.140832 193.914793 +L 163.058255 194.057521 +L 164.975678 194.09648 +L 166.893101 194.031557 +L 168.810523 193.862938 +L 170.727946 193.59111 +L 171.010291 193.536 +L 172.645369 193.206896 +L 174.562792 192.716453 +L 176.480215 192.122914 +L 178.397638 191.427988 +L 178.707163 191.299765 +L 180.31506 190.609003 +L 182.232483 189.684576 +L 183.397142 189.063529 +L 184.149906 188.644715 +L 186.067329 187.478716 +L 187.057193 186.827294 +L 187.984752 186.186174 +L 189.902174 184.764026 +L 190.121102 184.591059 +L 191.819597 183.171314 +L 192.742551 182.354824 +L 193.73702 181.416408 +L 195.044079 180.118588 +L 195.654443 179.466084 +L 197.069707 177.882353 +L 197.571866 177.270778 +L 198.852344 175.646118 +L 199.489289 174.755244 +L 200.416645 173.409882 +L 201.406711 171.801658 +L 201.780975 171.173647 +L 202.948157 168.937412 +L 203.324134 168.093606 +L 203.927031 166.701176 +L 204.724956 164.464941 +L 205.241557 162.613577 +L 205.346293 162.228706 +L 205.782471 159.992471 +L 206.044304 157.756235 +L 206.130609 155.52 +L 206.040996 153.283765 +L 205.775871 151.047529 +L 205.33643 148.811294 +L 205.241557 148.464501 +L 204.711542 146.575059 +L 203.910378 144.338824 +L 203.324134 142.989265 +L 202.927764 142.102588 +L 201.757418 139.866353 +L 201.406711 139.279218 +L 200.389151 137.630118 +L 199.489289 136.327208 +L 198.820679 135.393882 +L 197.571866 133.812094 +L 197.033589 133.157647 +L 195.654443 131.616621 +L 195.003166 130.921412 +L 193.73702 129.665843 +L 192.696428 128.685176 +L 191.819597 127.910367 +L 190.069256 126.448941 +L 189.902174 126.317066 +L 187.984752 124.896322 +L 186.994733 124.212706 +L 186.067329 123.602912 +L 184.149906 122.437913 +L 183.319813 121.976471 +L 182.232483 121.397087 +L 180.31506 120.473343 +L 178.607332 119.740235 +L 178.397638 119.653422 +L 176.480215 118.958934 +L 174.562792 118.365767 +L 172.645369 117.875633 +L 170.797834 117.504 +L 170.727946 117.490366 +L 168.810523 117.218681 +L 166.893101 117.050151 +L 164.975678 116.985261 +L 163.058255 117.0242 +L 161.140832 117.166854 +L 159.223409 117.412812 +L 158.721776 117.504 +L 157.305987 117.76937 +L 155.388564 118.233514 +L 153.471141 118.801071 +L 151.553718 119.470406 +L 150.881085 119.740235 +L 149.636295 120.258031 +L 147.718872 121.156859 +L 146.143352 121.976471 +L 145.80145 122.162025 +L 143.884027 123.302549 +L 142.4734 124.212706 +L 141.966604 124.556099 +L 140.049181 125.953029 +L 139.411282 126.448941 +L 138.131758 127.501194 +L 136.773519 128.685176 +L 136.214336 129.205034 +L 134.462215 130.921412 +L 134.296913 131.095721 +L 132.431243 133.157647 +L 132.37949 133.219883 +L 130.646206 135.393882 +L 130.462067 135.648415 +L 129.081369 137.630118 +L 128.544644 138.49238 +L 127.717558 139.866353 +L 126.627221 141.933618 +L 126.540701 142.102588 +L 125.562639 144.338824 +L 124.755992 146.575059 +L 124.709799 146.738613 +L 124.139395 148.811294 +L 123.697338 151.047529 +L 123.430633 153.283765 +L 123.340487 155.52 +L 123.427306 157.756235 +L 123.690698 159.992471 +L 124.129473 162.228706 +L 124.709799 164.348593 +L 124.742487 164.464941 +L 125.545872 166.701176 +L 126.520748 168.937412 +L 126.627221 169.145912 +L 127.693817 171.173647 +L 128.544644 172.590301 +L 129.053633 173.409882 +L 130.462067 175.435372 +L 130.614229 175.646118 +L 132.37949 177.863999 +L 132.394726 177.882353 +L 134.296913 179.987758 +L 134.420799 180.118588 +L 136.214336 181.877815 +L 136.726764 182.354824 +L 138.131758 183.580951 +L 139.358645 184.591059 +L 140.049181 185.128423 +L 141.966604 186.526734 +L 142.409747 186.827294 +L 143.884027 187.779337 +L 145.80145 188.920839 +L 146.064145 189.063529 +L 147.718872 189.924982 +L 149.636295 190.824474 +L 150.778057 191.299765 +L 151.553718 191.61112 +L 153.471141 192.280875 +L 155.388564 192.84879 +L 157.305987 193.313226 +L 158.493773 193.536 z -M 192.945078 229.068908 -L 191.838926 228.659639 -L 189.442148 227.613825 -L 187.045369 226.412001 -L 186.60774 226.164706 -L 184.648591 224.983816 -L 182.251812 223.380589 -L 182.088016 223.260504 -L 179.855034 221.497945 -L 178.521654 220.356303 -L 177.458255 219.365386 -L 175.548661 217.452101 -L 175.061477 216.914009 -L 173.053882 214.547899 -L 172.664698 214.034324 -L 170.955606 211.643697 -L 170.267919 210.545386 -L 169.194825 208.739496 -L 167.871141 206.130101 -L 167.728454 205.835294 -L 166.570077 202.931092 -L 165.6642 200.026891 -L 165.474362 199.17776 -L 165.033856 197.122689 -L 164.660165 194.218487 -L 164.536989 191.314286 -L 164.664886 188.410084 -L 165.043276 185.505882 -L 165.474362 183.509692 -L 165.678882 182.601681 -L 166.58955 179.697479 -L 167.752629 176.793277 -L 167.871141 176.549218 -L 169.224977 173.889076 -L 170.267919 172.138673 -L 170.992307 170.984874 -L 172.664698 168.650939 -L 173.097834 168.080672 -L 175.061477 165.77091 -L 175.600737 165.176471 -L 177.458255 163.318529 -L 178.58296 162.272269 -L 179.855034 161.184731 -L 182.159978 159.368067 -L 182.251812 159.300828 -L 184.648591 157.699677 -L 186.701516 156.463866 -L 187.045369 156.269781 -L 189.442148 155.069318 -L 191.838926 154.024687 -L 193.097194 153.559664 -L 194.235705 153.161905 -L 196.632483 152.477121 -L 199.029262 151.946882 -L 201.42604 151.572717 -L 203.822819 151.355705 -L 206.219597 151.296469 -L 208.616376 151.395183 -L 211.013154 151.65156 -L 213.409933 152.064862 -L 215.806711 152.633898 -L 218.20349 153.357028 -L 218.758458 153.559664 -L 220.600268 154.271063 -L 222.997047 155.354952 -L 225.142357 156.463866 -L 225.393826 156.602494 -L 227.790604 158.085292 -L 229.665277 159.368067 -L 230.187383 159.752638 -L 232.584161 161.682221 -L 233.261405 162.272269 -L 234.98094 163.902399 -L 236.23337 165.176471 -L 237.377718 166.459416 -L 238.735295 168.080672 -L 239.774497 169.469779 -L 240.84547 170.984874 -L 242.171275 173.125543 -L 242.620685 173.889076 -L 244.080777 176.793277 -L 244.568054 177.968459 -L 245.252944 179.697479 -L 246.153682 182.601681 -L 246.80069 185.505882 -L 246.964832 186.727079 -L 247.181971 188.410084 -L 247.308619 191.314286 -L 247.186646 194.218487 -L 246.964832 195.959345 -L 246.810408 197.122689 -L 246.168204 200.026891 -L 245.272204 202.931092 -L 244.568054 204.715952 -L 244.105807 205.835294 -L 242.650471 208.739496 -L 242.171275 209.555841 -L 240.881675 211.643697 -L 239.774497 213.213605 -L 238.778586 214.547899 -L 237.377718 216.224148 -L 236.284573 217.452101 -L 234.98094 218.780521 -L 233.321562 220.356303 -L 232.584161 220.999716 -L 230.187383 222.932164 -L 229.742278 223.260504 -L 227.790604 224.597701 -L 225.393826 226.082421 -L 225.244757 226.164706 -L 222.997047 227.327867 -L 220.600268 228.412984 -L 218.904007 229.068908 -L 218.20349 229.324941 -L 215.806711 230.048786 -L 213.409933 230.618384 -L 211.013154 231.032095 -L 208.616376 231.288725 -L 206.219597 231.387536 -L 203.822819 231.328242 -L 201.42604 231.111015 -L 199.029262 230.73648 -L 196.632483 230.205718 -L 194.235705 229.520256 +M 154.356062 184.591059 +L 153.471141 184.275922 +L 151.553718 183.470645 +L 149.636295 182.545241 +L 149.286192 182.354824 +L 147.718872 181.445538 +L 145.80145 180.211053 +L 145.670413 180.118588 +L 143.884027 178.761418 +L 142.817323 177.882353 +L 141.966604 177.119348 +L 140.438929 175.646118 +L 140.049181 175.231787 +L 138.443106 173.409882 +L 138.131758 173.014429 +L 136.764485 171.173647 +L 136.214336 170.327947 +L 135.35586 168.937412 +L 134.296913 166.928177 +L 134.182763 166.701176 +L 133.256062 164.464941 +L 132.53136 162.228706 +L 132.37949 161.574875 +L 132.027085 159.992471 +L 131.728132 157.756235 +L 131.629591 155.52 +L 131.731908 153.283765 +L 132.034621 151.047529 +L 132.37949 149.510463 +L 132.543106 148.811294 +L 133.27164 146.575059 +L 134.202103 144.338824 +L 134.296913 144.150898 +L 135.379982 142.102588 +L 136.214336 140.754778 +L 136.793845 139.866353 +L 138.131758 138.069223 +L 138.478267 137.630118 +L 140.049181 135.851601 +L 140.48059 135.393882 +L 141.966604 133.963267 +L 142.866368 133.157647 +L 143.884027 132.320243 +L 145.727982 130.921412 +L 145.80145 130.869637 +L 147.718872 129.636751 +L 149.361212 128.685176 +L 149.636295 128.535731 +L 151.553718 127.611374 +L 153.471141 126.807009 +L 154.477755 126.448941 +L 155.388564 126.142667 +L 157.305987 125.615383 +L 159.223409 125.207099 +L 161.140832 124.918992 +L 163.058255 124.751892 +L 164.975678 124.706281 +L 166.893101 124.782291 +L 168.810523 124.979701 +L 170.727946 125.297944 +L 172.645369 125.736101 +L 174.562792 126.292911 +L 175.006766 126.448941 +L 176.480215 126.996718 +L 178.397638 127.831313 +L 180.113886 128.685176 +L 180.31506 128.791921 +L 182.232483 129.933675 +L 183.732222 130.921412 +L 184.149906 131.217532 +L 186.067329 132.70331 +L 186.609124 133.157647 +L 187.984752 134.412847 +L 188.986696 135.393882 +L 189.902174 136.38175 +L 190.988236 137.630118 +L 191.819597 138.69973 +L 192.676376 139.866353 +L 193.73702 141.514668 +L 194.096548 142.102588 +L 195.264621 144.338824 +L 195.654443 145.243714 +L 196.202355 146.575059 +L 196.922945 148.811294 +L 197.440552 151.047529 +L 197.571866 151.987851 +L 197.745577 153.283765 +L 197.846895 155.52 +L 197.749317 157.756235 +L 197.571866 159.096695 +L 197.448326 159.992471 +L 196.934563 162.228706 +L 196.217764 164.464941 +L 195.654443 165.839283 +L 195.284646 166.701176 +L 194.120377 168.937412 +L 193.73702 169.565998 +L 192.70534 171.173647 +L 191.819597 172.382476 +L 191.022869 173.409882 +L 189.902174 174.700594 +L 189.027659 175.646118 +L 187.984752 176.669001 +L 186.65725 177.882353 +L 186.067329 178.377782 +L 184.149906 179.865766 +L 183.793823 180.118588 +L 182.232483 181.148229 +L 180.31506 182.291464 +L 180.195805 182.354824 +L 178.397638 183.250458 +L 176.480215 184.085998 +L 175.123206 184.591059 +L 174.562792 184.788205 +L 172.645369 185.345565 +L 170.727946 185.784156 +L 168.810523 186.102713 +L 166.893101 186.300318 +L 164.975678 186.376403 +L 163.058255 186.330747 +L 161.140832 186.163482 +L 159.223409 185.87509 +L 157.305987 185.466403 +L 155.388564 184.938597 z " style="fill:#053061;"/> </g> <g id="PathCollection_19"> - <path clip-path="url(#p553f52e075)" d="M 194.235705 229.520256 -L 196.632483 230.205718 -L 199.029262 230.73648 -L 201.42604 231.111015 -L 203.822819 231.328242 -L 206.219597 231.387536 -L 208.616376 231.288725 -L 211.013154 231.032095 -L 213.409933 230.618384 -L 215.806711 230.048786 -L 218.20349 229.324941 -L 218.904007 229.068908 -L 220.600268 228.412984 -L 222.997047 227.327867 -L 225.244757 226.164706 -L 225.393826 226.082421 -L 227.790604 224.597701 -L 229.742278 223.260504 -L 230.187383 222.932164 -L 232.584161 220.999716 -L 233.321562 220.356303 -L 234.98094 218.780521 -L 236.284573 217.452101 -L 237.377718 216.224148 -L 238.778586 214.547899 -L 239.774497 213.213605 -L 240.881675 211.643697 -L 242.171275 209.555841 -L 242.650471 208.739496 -L 244.105807 205.835294 -L 244.568054 204.715952 -L 245.272204 202.931092 -L 246.168204 200.026891 -L 246.810408 197.122689 -L 246.964832 195.959345 -L 247.186646 194.218487 -L 247.308619 191.314286 -L 247.181971 188.410084 -L 246.964832 186.727079 -L 246.80069 185.505882 -L 246.153682 182.601681 -L 245.252944 179.697479 -L 244.568054 177.968459 -L 244.080777 176.793277 -L 242.620685 173.889076 -L 242.171275 173.125543 -L 240.84547 170.984874 -L 239.774497 169.469779 -L 238.735295 168.080672 -L 237.377718 166.459416 -L 236.23337 165.176471 -L 234.98094 163.902399 -L 233.261405 162.272269 -L 232.584161 161.682221 -L 230.187383 159.752638 -L 229.665277 159.368067 -L 227.790604 158.085292 -L 225.393826 156.602494 -L 225.142357 156.463866 -L 222.997047 155.354952 -L 220.600268 154.271063 -L 218.758458 153.559664 -L 218.20349 153.357028 -L 215.806711 152.633898 -L 213.409933 152.064862 -L 211.013154 151.65156 -L 208.616376 151.395183 -L 206.219597 151.296469 -L 203.822819 151.355705 -L 201.42604 151.572717 -L 199.029262 151.946882 -L 196.632483 152.477121 -L 194.235705 153.161905 -L 193.097194 153.559664 -L 191.838926 154.024687 -L 189.442148 155.069318 -L 187.045369 156.269781 -L 186.701516 156.463866 -L 184.648591 157.699677 -L 182.251812 159.300828 -L 182.159978 159.368067 -L 179.855034 161.184731 -L 178.58296 162.272269 -L 177.458255 163.318529 -L 175.600737 165.176471 -L 175.061477 165.77091 -L 173.097834 168.080672 -L 172.664698 168.650939 -L 170.992307 170.984874 -L 170.267919 172.138673 -L 169.224977 173.889076 -L 167.871141 176.549218 -L 167.752629 176.793277 -L 166.58955 179.697479 -L 165.678882 182.601681 -L 165.474362 183.509692 -L 165.043276 185.505882 -L 164.664886 188.410084 -L 164.536989 191.314286 -L 164.660165 194.218487 -L 165.033856 197.122689 -L 165.474362 199.17776 -L 165.6642 200.026891 -L 166.570077 202.931092 -L 167.728454 205.835294 -L 167.871141 206.130101 -L 169.194825 208.739496 -L 170.267919 210.545386 -L 170.955606 211.643697 -L 172.664698 214.034324 -L 173.053882 214.547899 -L 175.061477 216.914009 -L 175.548661 217.452101 -L 177.458255 219.365386 -L 178.521654 220.356303 -L 179.855034 221.497945 -L 182.088016 223.260504 -L 182.251812 223.380589 -L 184.648591 224.983816 -L 186.60774 226.164706 -L 187.045369 226.412001 -L 189.442148 227.613825 -L 191.838926 228.659639 -L 192.945078 229.068908 + <path clip-path="url(#p0bba778d2e)" d="M 155.388564 184.938597 +L 157.305987 185.466403 +L 159.223409 185.87509 +L 161.140832 186.163482 +L 163.058255 186.330747 +L 164.975678 186.376403 +L 166.893101 186.300318 +L 168.810523 186.102713 +L 170.727946 185.784156 +L 172.645369 185.345565 +L 174.562792 184.788205 +L 175.123206 184.591059 +L 176.480215 184.085998 +L 178.397638 183.250458 +L 180.195805 182.354824 +L 180.31506 182.291464 +L 182.232483 181.148229 +L 183.793823 180.118588 +L 184.149906 179.865766 +L 186.067329 178.377782 +L 186.65725 177.882353 +L 187.984752 176.669001 +L 189.027659 175.646118 +L 189.902174 174.700594 +L 191.022869 173.409882 +L 191.819597 172.382476 +L 192.70534 171.173647 +L 193.73702 169.565998 +L 194.120377 168.937412 +L 195.284646 166.701176 +L 195.654443 165.839283 +L 196.217764 164.464941 +L 196.934563 162.228706 +L 197.448326 159.992471 +L 197.571866 159.096695 +L 197.749317 157.756235 +L 197.846895 155.52 +L 197.745577 153.283765 +L 197.571866 151.987851 +L 197.440552 151.047529 +L 196.922945 148.811294 +L 196.202355 146.575059 +L 195.654443 145.243714 +L 195.264621 144.338824 +L 194.096548 142.102588 +L 193.73702 141.514668 +L 192.676376 139.866353 +L 191.819597 138.69973 +L 190.988236 137.630118 +L 189.902174 136.38175 +L 188.986696 135.393882 +L 187.984752 134.412847 +L 186.609124 133.157647 +L 186.067329 132.70331 +L 184.149906 131.217532 +L 183.732222 130.921412 +L 182.232483 129.933675 +L 180.31506 128.791921 +L 180.113886 128.685176 +L 178.397638 127.831313 +L 176.480215 126.996718 +L 175.006766 126.448941 +L 174.562792 126.292911 +L 172.645369 125.736101 +L 170.727946 125.297944 +L 168.810523 124.979701 +L 166.893101 124.782291 +L 164.975678 124.706281 +L 163.058255 124.751892 +L 161.140832 124.918992 +L 159.223409 125.207099 +L 157.305987 125.615383 +L 155.388564 126.142667 +L 154.477755 126.448941 +L 153.471141 126.807009 +L 151.553718 127.611374 +L 149.636295 128.535731 +L 149.361212 128.685176 +L 147.718872 129.636751 +L 145.80145 130.869637 +L 145.727982 130.921412 +L 143.884027 132.320243 +L 142.866368 133.157647 +L 141.966604 133.963267 +L 140.48059 135.393882 +L 140.049181 135.851601 +L 138.478267 137.630118 +L 138.131758 138.069223 +L 136.793845 139.866353 +L 136.214336 140.754778 +L 135.379982 142.102588 +L 134.296913 144.150898 +L 134.202103 144.338824 +L 133.27164 146.575059 +L 132.543106 148.811294 +L 132.37949 149.510463 +L 132.034621 151.047529 +L 131.731908 153.283765 +L 131.629591 155.52 +L 131.728132 157.756235 +L 132.027085 159.992471 +L 132.37949 161.574875 +L 132.53136 162.228706 +L 133.256062 164.464941 +L 134.182763 166.701176 +L 134.296913 166.928177 +L 135.35586 168.937412 +L 136.214336 170.327947 +L 136.764485 171.173647 +L 138.131758 173.014429 +L 138.443106 173.409882 +L 140.049181 175.231787 +L 140.438929 175.646118 +L 141.966604 177.119348 +L 142.817323 177.882353 +L 143.884027 178.761418 +L 145.670413 180.118588 +L 145.80145 180.211053 +L 147.718872 181.445538 +L 149.286192 182.354824 +L 149.636295 182.545241 +L 151.553718 183.470645 +L 153.471141 184.275922 +L 154.356062 184.591059 z -M 196.388402 217.452101 -L 194.235705 216.554639 -L 191.838926 215.332791 -L 190.533396 214.547899 -L 189.442148 213.813324 -L 187.045369 211.95925 -L 186.683396 211.643697 -L 184.648591 209.618314 -L 183.853 208.739496 -L 182.251812 206.667664 -L 181.664879 205.835294 -L 179.977265 202.931092 -L 179.855034 202.662114 -L 178.751044 200.026891 -L 177.878996 197.122689 -L 177.458255 194.788474 -L 177.362703 194.218487 -L 177.202225 191.314286 -L 177.368853 188.410084 -L 177.458255 187.883408 -L 177.892192 185.505882 -L 178.770763 182.601681 -L 179.855034 180.027143 -L 180.005634 179.697479 -L 181.7001 176.793277 -L 182.251812 176.013405 -L 183.898938 173.889076 -L 184.648591 173.063239 -L 186.742284 170.984874 -L 187.045369 170.721262 -L 189.442148 168.871433 -L 190.619557 168.080672 -L 191.838926 167.349021 -L 194.235705 166.129574 -L 196.526367 165.176471 -L 196.632483 165.136407 -L 199.029262 164.435735 -L 201.42604 163.941304 -L 203.822819 163.654537 -L 206.219597 163.576263 -L 208.616376 163.706705 -L 211.013154 164.045489 -L 213.409933 164.591637 -L 215.274069 165.176471 -L 215.806711 165.360633 -L 218.20349 166.413731 -L 220.600268 167.688203 -L 221.230667 168.080672 -L 222.997047 169.311575 -L 225.097839 170.984874 -L 225.393826 171.253948 -L 227.790604 173.699131 -L 227.958938 173.889076 -L 230.15736 176.793277 -L 230.187383 176.841367 -L 231.81878 179.697479 -L 232.584161 181.408844 -L 233.077118 182.601681 -L 233.939236 185.505882 -L 234.459374 188.410084 -L 234.635181 191.314286 -L 234.465863 194.218487 -L 233.952185 197.122689 -L 233.096468 200.026891 -L 232.584161 201.273106 -L 231.846554 202.931092 -L 230.194395 205.835294 -L 230.187383 205.845452 -L 228.003786 208.739496 -L 227.790604 208.980698 -L 225.393826 211.43251 -L 225.162143 211.643697 -L 222.997047 213.372172 -L 221.313707 214.547899 -L 220.600268 214.992942 -L 218.20349 216.269922 -L 215.806711 217.325094 -L 215.440097 217.452101 -L 213.409933 218.090108 -L 211.013154 218.637187 -L 208.616376 218.976549 -L 206.219597 219.107213 -L 203.822819 219.028805 -L 201.42604 218.74155 -L 199.029262 218.246276 -L 196.632483 217.54441 +M 157.110722 175.646118 +L 155.388564 174.955072 +L 153.471141 174.014249 +L 152.426717 173.409882 +L 151.553718 172.844259 +L 149.636295 171.416623 +L 149.346717 171.173647 +L 147.718872 169.614102 +L 147.0824 168.937412 +L 145.80145 167.342102 +L 145.331903 166.701176 +L 143.981812 164.464941 +L 143.884027 164.257828 +L 143.000835 162.228706 +L 142.303197 159.992471 +L 141.966604 158.195125 +L 141.890162 157.756235 +L 141.76178 155.52 +L 141.895082 153.283765 +L 141.966604 152.878224 +L 142.313754 151.047529 +L 143.01661 148.811294 +L 143.884027 146.8289 +L 144.004508 146.575059 +L 145.36008 144.338824 +L 145.80145 143.738322 +L 147.11915 142.102588 +L 147.718872 141.466694 +L 149.393827 139.866353 +L 149.636295 139.663372 +L 151.553718 138.239003 +L 152.495646 137.630118 +L 153.471141 137.066746 +L 155.388564 136.127772 +L 157.221093 135.393882 +L 157.305987 135.363033 +L 159.223409 134.823516 +L 161.140832 134.442804 +L 163.058255 134.221994 +L 164.975678 134.161722 +L 166.893101 134.262163 +L 168.810523 134.523026 +L 170.727946 134.94356 +L 172.219255 135.393882 +L 172.645369 135.535687 +L 174.562792 136.346573 +L 176.480215 137.327916 +L 176.984534 137.630118 +L 178.397638 138.577913 +L 180.078271 139.866353 +L 180.31506 140.07354 +L 182.232483 141.956331 +L 182.36715 142.102588 +L 184.125888 144.338824 +L 184.149906 144.375853 +L 185.455024 146.575059 +L 186.067329 147.89281 +L 186.461695 148.811294 +L 187.151389 151.047529 +L 187.567499 153.283765 +L 187.708145 155.52 +L 187.57269 157.756235 +L 187.161748 159.992471 +L 186.477175 162.228706 +L 186.067329 163.188292 +L 185.477243 164.464941 +L 184.155516 166.701176 +L 184.149906 166.708998 +L 182.403029 168.937412 +L 182.232483 169.123137 +L 180.31506 171.011033 +L 180.129715 171.173647 +L 178.397638 172.504572 +L 177.050966 173.409882 +L 176.480215 173.752565 +L 174.562792 174.73584 +L 172.645369 175.548322 +L 172.352078 175.646118 +L 170.727946 176.137383 +L 168.810523 176.558634 +L 166.893101 176.819942 +L 164.975678 176.920554 +L 163.058255 176.86018 +L 161.140832 176.638993 +L 159.223409 176.257632 +L 157.305987 175.717195 z " style="fill:#053061;"/> </g> <g id="PathCollection_20"> - <path clip-path="url(#p553f52e075)" d="M 196.632483 217.54441 -L 199.029262 218.246276 -L 201.42604 218.74155 -L 203.822819 219.028805 -L 206.219597 219.107213 -L 208.616376 218.976549 -L 211.013154 218.637187 -L 213.409933 218.090108 -L 215.440097 217.452101 -L 215.806711 217.325094 -L 218.20349 216.269922 -L 220.600268 214.992942 -L 221.313707 214.547899 -L 222.997047 213.372172 -L 225.162143 211.643697 -L 225.393826 211.43251 -L 227.790604 208.980698 -L 228.003786 208.739496 -L 230.187383 205.845452 -L 230.194395 205.835294 -L 231.846554 202.931092 -L 232.584161 201.273106 -L 233.096468 200.026891 -L 233.952185 197.122689 -L 234.465863 194.218487 -L 234.635181 191.314286 -L 234.459374 188.410084 -L 233.939236 185.505882 -L 233.077118 182.601681 -L 232.584161 181.408844 -L 231.81878 179.697479 -L 230.187383 176.841367 -L 230.15736 176.793277 -L 227.958938 173.889076 -L 227.790604 173.699131 -L 225.393826 171.253948 -L 225.097839 170.984874 -L 222.997047 169.311575 -L 221.230667 168.080672 -L 220.600268 167.688203 -L 218.20349 166.413731 -L 215.806711 165.360633 -L 215.274069 165.176471 -L 213.409933 164.591637 -L 211.013154 164.045489 -L 208.616376 163.706705 -L 206.219597 163.576263 -L 203.822819 163.654537 -L 201.42604 163.941304 -L 199.029262 164.435735 -L 196.632483 165.136407 -L 196.526367 165.176471 -L 194.235705 166.129574 -L 191.838926 167.349021 -L 190.619557 168.080672 -L 189.442148 168.871433 -L 187.045369 170.721262 -L 186.742284 170.984874 -L 184.648591 173.063239 -L 183.898938 173.889076 -L 182.251812 176.013405 -L 181.7001 176.793277 -L 180.005634 179.697479 -L 179.855034 180.027143 -L 178.770763 182.601681 -L 177.892192 185.505882 -L 177.458255 187.883408 -L 177.368853 188.410084 -L 177.202225 191.314286 -L 177.362703 194.218487 -L 177.458255 194.788474 -L 177.878996 197.122689 -L 178.751044 200.026891 -L 179.855034 202.662114 -L 179.977265 202.931092 -L 181.664879 205.835294 -L 182.251812 206.667664 -L 183.853 208.739496 -L 184.648591 209.618314 -L 186.683396 211.643697 -L 187.045369 211.95925 -L 189.442148 213.813324 -L 190.533396 214.547899 -L 191.838926 215.332791 -L 194.235705 216.554639 -L 196.388402 217.452101 + <path clip-path="url(#p0bba778d2e)" d="M 157.305987 175.717195 +L 159.223409 176.257632 +L 161.140832 176.638993 +L 163.058255 176.86018 +L 164.975678 176.920554 +L 166.893101 176.819942 +L 168.810523 176.558634 +L 170.727946 176.137383 +L 172.352078 175.646118 +L 172.645369 175.548322 +L 174.562792 174.73584 +L 176.480215 173.752565 +L 177.050966 173.409882 +L 178.397638 172.504572 +L 180.129715 171.173647 +L 180.31506 171.011033 +L 182.232483 169.123137 +L 182.403029 168.937412 +L 184.149906 166.708998 +L 184.155516 166.701176 +L 185.477243 164.464941 +L 186.067329 163.188292 +L 186.477175 162.228706 +L 187.161748 159.992471 +L 187.57269 157.756235 +L 187.708145 155.52 +L 187.567499 153.283765 +L 187.151389 151.047529 +L 186.461695 148.811294 +L 186.067329 147.89281 +L 185.455024 146.575059 +L 184.149906 144.375853 +L 184.125888 144.338824 +L 182.36715 142.102588 +L 182.232483 141.956331 +L 180.31506 140.07354 +L 180.078271 139.866353 +L 178.397638 138.577913 +L 176.984534 137.630118 +L 176.480215 137.327916 +L 174.562792 136.346573 +L 172.645369 135.535687 +L 172.219255 135.393882 +L 170.727946 134.94356 +L 168.810523 134.523026 +L 166.893101 134.262163 +L 164.975678 134.161722 +L 163.058255 134.221994 +L 161.140832 134.442804 +L 159.223409 134.823516 +L 157.305987 135.363033 +L 157.221093 135.393882 +L 155.388564 136.127772 +L 153.471141 137.066746 +L 152.495646 137.630118 +L 151.553718 138.239003 +L 149.636295 139.663372 +L 149.393827 139.866353 +L 147.718872 141.466694 +L 147.11915 142.102588 +L 145.80145 143.738322 +L 145.36008 144.338824 +L 144.004508 146.575059 +L 143.884027 146.8289 +L 143.01661 148.811294 +L 142.313754 151.047529 +L 141.966604 152.878224 +L 141.895082 153.283765 +L 141.76178 155.52 +L 141.890162 157.756235 +L 141.966604 158.195125 +L 142.303197 159.992471 +L 143.000835 162.228706 +L 143.884027 164.257828 +L 143.981812 164.464941 +L 145.331903 166.701176 +L 145.80145 167.342102 +L 147.0824 168.937412 +L 147.718872 169.614102 +L 149.346717 171.173647 +L 149.636295 171.416623 +L 151.553718 172.844259 +L 152.426717 173.409882 +L 153.471141 174.014249 +L 155.388564 174.955072 +L 157.110722 175.646118 z " style="fill:#053061;"/> - </g> - <g id="LineCollection_1"> - <path clip-path="url(#p553f52e075)" d="M 72 300.021097 -L 74.396779 300.689227 -L 76.793557 301.567247 -L 77.029182 301.67395 -L 79.190336 302.756694 -L 81.587114 304.183436 -L 82.16097 304.578151 -L 83.983893 305.988335 -L 85.690465 307.482353 -L 86.380671 308.176236 -L 88.355214 310.386555 -L 88.77745 310.944504 -L 90.393019 313.290756 -L 91.174228 314.682782 -L 91.954783 316.194958 -L 93.106865 319.09916 -L 93.571007 320.784385 -L 93.882632 322.003361 -L 94.294798 324.907563 -L 94.37482 327.811765 -L 94.122339 330.715966 -L 93.571007 333.458441 -L 93.535979 333.620168 -L 92.552826 336.52437 -L 91.219964 339.428571 -L 91.174228 339.507797 -L 89.401167 342.332773 -L 88.77745 343.16057 -L 87.058018 345.236975 -L 86.380671 345.940617 -L 84.021969 348.141176 -L 83.983893 348.172468 -L 81.587114 349.912956 -L 79.78522 351.045378 -L 79.190336 351.380795 -L 76.793557 352.518166 -L 74.396779 353.438244 -L 72.646316 353.94958 -L 72 354.121478 -" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 91.191579 43.2 -L 92.530967 46.104202 -L 93.520744 49.008403 -L 93.571007 49.238033 -L 94.114409 51.912605 -L 94.373138 54.816807 -L 94.299371 57.721008 -L 93.893441 60.62521 -L 93.571007 61.897062 -L 93.125174 63.529412 -L 91.979673 66.433613 -L 91.174228 68.000773 -L 90.427114 69.337815 -L 88.77745 71.741854 -L 88.400247 72.242017 -L 86.380671 74.509175 -L 85.7488 75.146218 -L 83.983893 76.695008 -L 82.235959 78.05042 -L 81.587114 78.497631 -L 79.190336 79.927296 -L 77.143989 80.954622 -L 76.793557 81.113596 -L 74.396779 81.993171 -L 72 82.662484 -" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 371.670743 43.2 -L 373.012705 46.104202 -L 373.994094 48.978267 -L 374.003644 49.008403 -L 374.594713 51.912605 -L 374.853887 54.816807 -L 374.779993 57.721008 -L 374.373366 60.62521 -L 373.994094 62.118698 -L 373.608054 63.529412 -L 372.460352 66.433613 -L 371.597315 68.109608 -L 370.909532 69.337815 -L 369.200537 71.822939 -L 368.88371 72.242017 -L 366.803758 74.571241 -L 366.231849 75.146218 -L 364.40698 76.743147 -L 362.715646 78.05042 -L 362.010201 78.535065 -L 359.613423 79.959269 -L 357.621571 80.954622 -L 357.216644 81.13747 -L 354.819866 82.011957 -L 352.423087 82.676129 -L 350.026309 83.12807 -L 347.62953 83.366478 -L 345.232752 83.390665 -L 342.835973 83.200563 -L 340.439195 82.796719 -L 338.042416 82.180297 -L 335.645638 81.353074 -L 334.723503 80.954622 -L 333.248859 80.249482 -L 330.852081 78.876059 -L 329.612811 78.05042 -L 328.455302 77.182811 -L 326.065623 75.146218 -L 326.058523 75.139267 -L 323.661745 72.516519 -L 323.434186 72.242017 -L 321.395922 69.337815 -L 321.264966 69.108674 -L 319.862348 66.433613 -L 318.868188 63.963001 -L 318.706588 63.529412 -L 317.957072 60.62521 -L 317.543833 57.721008 -L 317.468738 54.816807 -L 317.732126 51.912605 -L 318.332806 49.008403 -L 318.868188 47.345917 -L 319.299921 46.104202 -L 320.666358 43.2 -" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 340.439195 354.249325 -L 339.215488 353.94958 -L 338.042416 353.633987 -L 335.645638 352.768671 -L 333.248859 351.68534 -L 332.067363 351.045378 -L 330.852081 350.311665 -L 328.455302 348.629283 -L 327.843721 348.141176 -L 326.058523 346.523691 -L 324.787848 345.236975 -L 323.661745 343.911376 -L 322.445234 342.332773 -L 321.264966 340.494153 -L 320.6374 339.428571 -L 319.27762 336.52437 -L 318.868188 335.338861 -L 318.318409 333.620168 -L 317.724053 330.715966 -L 317.467026 327.811765 -L 317.548489 324.907563 -L 317.968075 322.003361 -L 318.723888 319.09916 -L 318.868188 318.714201 -L 319.887742 316.194958 -L 321.264966 313.579663 -L 321.430794 313.290756 -L 323.476094 310.386555 -L 323.661745 310.163241 -L 326.058523 307.547931 -L 326.12569 307.482353 -L 328.455302 305.501698 -L 329.69039 304.578151 -L 330.852081 303.805781 -L 333.248859 302.435167 -L 334.844037 301.67395 -L 335.645638 301.328193 -L 338.042416 300.502431 -L 340.439195 299.887099 -L 342.835973 299.483968 -L 345.232752 299.294202 -L 347.62953 299.318347 -L 350.026309 299.556334 -L 352.423087 300.007476 -L 354.819866 300.670474 -L 357.216644 301.543416 -L 357.506231 301.67395 -L 359.613423 302.724786 -L 362.010201 304.146078 -L 362.640412 304.578151 -L 364.40698 305.940311 -L 366.173351 307.482353 -L 366.803758 308.114346 -L 368.838567 310.386555 -L 369.200537 310.863698 -L 370.875363 313.290756 -L 371.597315 314.574417 -L 372.435414 316.194958 -L 373.58971 319.09916 -L 373.994094 320.564596 -L 374.362539 322.003361 -L 374.775411 324.907563 -L 374.855571 327.811765 -L 374.602657 330.715966 -L 374.01781 333.620168 -L 373.994094 333.695513 -L 373.034607 336.52437 -L 371.699182 339.428571 -L 371.597315 339.604692 -L 369.881365 342.332773 -L 369.200537 343.234417 -L 367.53819 345.236975 -L 366.803758 345.998052 -L 364.500173 348.141176 -L 364.40698 348.217549 -L 362.010201 349.952397 -L 360.264396 351.045378 -L 359.613423 351.411017 -L 357.216644 352.543139 -L 354.819866 353.457896 -L 353.123646 353.94958 -L 352.423087 354.134473 -L 350.026309 354.564907 -L 347.62953 354.791969 -L 345.232752 354.815005 -L 342.835973 354.63395 -L 340.439195 354.249325 -" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> - </g> - <g id="LineCollection_2"> - <path clip-path="url(#p553f52e075)" d="M 72 287.55131 -L 74.396779 288.051687 -L 76.793557 288.709256 -L 79.190336 289.522122 -L 80.518045 290.057143 -L 81.587114 290.513815 -L 83.983893 291.69683 -L 86.247691 292.961345 -L 86.380671 293.040753 -L 88.77745 294.634381 -L 90.462249 295.865546 -L 91.174228 296.427131 -L 93.571007 298.482524 -L 93.881892 298.769748 -L 95.967785 300.873408 -L 96.710393 301.67395 -L 98.364564 303.646786 -L 99.100186 304.578151 -L 100.761342 306.943536 -L 101.11997 307.482353 -L 102.803237 310.386555 -L 103.158121 311.109343 -L 104.17879 313.290756 -L 105.286289 316.194958 -L 105.554899 317.111496 -L 106.112787 319.09916 -L 106.678722 322.003361 -L 106.992898 324.907563 -L 107.053896 327.811765 -L 106.86144 330.715966 -L 106.4164 333.620168 -L 105.720786 336.52437 -L 105.554899 337.035234 -L 104.743419 339.428571 -L 103.504816 342.332773 -L 103.158121 343.009928 -L 101.961609 345.236975 -L 100.761342 347.158756 -L 100.113935 348.141176 -L 98.364564 350.479525 -L 97.915165 351.045378 -L 95.967785 353.24524 -L 95.301319 353.94958 -L 93.571007 355.614527 -L 92.183487 356.853782 -L 91.174228 357.684578 -L 88.77745 359.499262 -L 88.4019 359.757983 -L 86.380671 361.054706 -L 83.983893 362.435658 -L 83.538961 362.662185 -L 81.587114 363.59595 -L 79.190336 364.588278 -L 76.793557 365.423454 -L 76.2865 365.566387 -L 74.396779 366.070902 -L 72 366.557826 -" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 104.722449 43.2 -L 105.554899 45.643224 -L 105.70532 46.104202 -L 106.40562 49.008403 -L 106.855395 51.912605 -L 107.052614 54.816807 -L 106.996384 57.721008 -L 106.686961 60.62521 -L 106.125741 63.529412 -L 105.554899 65.574915 -L 105.304678 66.433613 -L 104.201959 69.337815 -L 103.158121 71.576446 -L 102.832455 72.242017 -L 101.153961 75.146218 -L 100.761342 75.737518 -L 99.140925 78.05042 -L 98.364564 79.03538 -L 96.758621 80.954622 -L 95.967785 81.808663 -L 93.938533 83.858824 -L 93.571007 84.198901 -L 91.174228 86.257459 -L 90.534255 86.763025 -L 88.77745 88.048536 -L 86.380671 89.644307 -L 86.34234 89.667227 -L 83.983893 90.986159 -L 81.587114 92.170564 -L 80.649791 92.571429 -L 79.190336 93.160142 -L 76.793557 93.973842 -L 74.396779 94.632085 -L 72 95.132976 -" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 385.204267 43.2 -L 385.977987 45.46833 -L 386.185683 46.104202 -L 386.886681 49.008403 -L 387.336904 51.912605 -L 387.534319 54.816807 -L 387.478033 57.721008 -L 387.168302 60.62521 -L 386.606523 63.529412 -L 385.977987 65.779412 -L 385.787143 66.433613 -L 384.683197 69.337815 -L 383.581208 71.698533 -L 383.31495 72.242017 -L 381.634377 75.146218 -L 381.18443 75.823019 -L 379.621761 78.05042 -L 378.787651 79.107187 -L 377.239417 80.954622 -L 376.390872 81.869578 -L 374.418535 83.858824 -L 373.994094 84.250893 -L 371.597315 86.305502 -L 371.016905 86.763025 -L 369.200537 88.08925 -L 366.824673 89.667227 -L 366.803758 89.680218 -L 364.40698 91.016837 -L 362.010201 92.197404 -L 361.132282 92.571429 -L 359.613423 93.181764 -L 357.216644 93.991708 -L 354.819866 94.646144 -L 352.423087 95.143187 -L 350.067226 95.47563 -L 350.026309 95.481117 -L 347.62953 95.650669 -L 345.232752 95.667871 -L 342.835973 95.532674 -L 342.35994 95.47563 -L 340.439195 95.233433 -L 338.042416 94.772124 -L 335.645638 94.153058 -L 333.248859 93.378021 -L 331.167387 92.571429 -L 330.852081 92.441886 -L 328.455302 91.297023 -L 326.058523 89.9953 -L 325.518034 89.667227 -L 323.661745 88.462481 -L 321.286341 86.763025 -L 321.264966 86.746516 -L 318.868188 84.728707 -L 317.911168 83.858824 -L 316.471409 82.429956 -L 315.083254 80.954622 -L 314.074631 79.768339 -L 312.700979 78.05042 -L 311.677852 76.610855 -L 310.692737 75.146218 -L 309.281074 72.734958 -L 309.006422 72.242017 -L 307.63649 69.337815 -L 306.884295 67.379554 -L 306.536732 66.433613 -L 305.71781 63.529412 -L 305.150745 60.62521 -L 304.838099 57.721008 -L 304.781284 54.816807 -L 304.980556 51.912605 -L 305.435016 49.008403 -L 306.142611 46.104202 -L 306.884295 43.854668 -L 307.109946 43.2 -" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 335.645638 365.605232 -L 335.522062 365.566387 -L 333.248859 364.811907 -L 330.852081 363.858616 -L 328.455302 362.750276 -L 328.287761 362.662185 -L 326.058523 361.414798 -L 323.661745 359.915919 -L 323.432648 359.757983 -L 321.264966 358.153301 -L 319.654419 356.853782 -L 318.868188 356.165465 -L 316.523847 353.94958 -L 316.471409 353.895143 -L 314.074631 351.230541 -L 313.917998 351.045378 -L 311.713914 348.141176 -L 311.677852 348.087233 -L 309.874619 345.236975 -L 309.281074 344.146359 -L 308.34174 342.332773 -L 307.088733 339.428571 -L 306.884295 338.832547 -L 306.126983 336.52437 -L 305.424124 333.620168 -L 304.974449 330.715966 -L 304.779988 327.811765 -L 304.841622 324.907563 -L 305.15907 322.003361 -L 305.7309 319.09916 -L 306.554527 316.194958 -L 306.884295 315.301321 -L 307.659928 313.290756 -L 309.034589 310.386555 -L 309.281074 309.945421 -L 310.727169 307.482353 -L 311.677852 306.072287 -L 312.742307 304.578151 -L 314.074631 302.915326 -L 315.132259 301.67395 -L 316.471409 300.253214 -L 317.968829 298.769748 -L 318.868188 297.953532 -L 321.264966 295.938827 -L 321.359988 295.865546 -L 323.661745 294.220991 -L 325.605236 292.961345 -L 326.058523 292.686525 -L 328.455302 291.386331 -L 330.852081 290.242811 -L 331.304529 290.057143 -L 333.248859 289.304467 -L 335.645638 288.530223 -L 338.042416 287.911792 -L 340.439195 287.450956 -L 342.805023 287.152941 -L 342.835973 287.149236 -L 345.232752 287.014158 -L 347.62953 287.031345 -L 349.349938 287.152941 -L 350.026309 287.203239 -L 352.423087 287.541109 -L 354.819866 288.037643 -L 357.216644 288.691408 -L 359.613423 289.500522 -L 361.00003 290.057143 -L 362.010201 290.487007 -L 364.40698 291.666188 -L 366.73214 292.961345 -L 366.803758 293.003991 -L 369.200537 294.593721 -L 370.944742 295.865546 -L 371.597315 296.379162 -L 373.994094 298.430612 -L 374.361797 298.769748 -L 376.390872 300.812601 -L 377.191115 301.67395 -L 378.787651 303.575125 -L 379.580965 304.578151 -L 381.18443 306.85824 -L 381.600344 307.482353 -L 383.285697 310.386555 -L 383.581208 310.987675 -L 384.660003 313.290756 -L 385.768733 316.194958 -L 385.977987 316.908168 -L 386.593556 319.09916 -L 387.160055 322.003361 -L 387.474544 324.907563 -L 387.535602 327.811765 -L 387.342955 330.715966 -L 386.897471 333.620168 -L 386.201165 336.52437 -L 385.977987 337.210985 -L 385.22526 339.428571 -L 383.98528 342.332773 -L 383.581208 343.121117 -L 382.443026 345.236975 -L 381.18443 347.249655 -L 380.596114 348.141176 -L 378.787651 350.555181 -L 378.39774 351.045378 -L 376.390872 353.30896 -L 375.783659 353.94958 -L 373.994094 355.668592 -L 372.664557 356.853782 -L 371.597315 357.730623 -L 369.200537 359.54139 -L 368.885367 359.757983 -L 366.803758 361.090176 -L 364.40698 362.467264 -L 364.022883 362.662185 -L 362.010201 363.621933 -L 359.613423 364.61047 -L 357.216644 365.441792 -L 356.772069 365.566387 -L 354.819866 366.084569 -L 352.423087 366.567753 -L 350.026309 366.896539 -L 347.62953 367.06998 -L 345.232752 367.087577 -L 342.835973 366.949278 -L 340.439195 366.655482 -L 338.042416 366.207036 -L 335.645638 365.605232 -" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> - </g> - <g id="LineCollection_3"> - <path clip-path="url(#p553f52e075)" d="M 72 277.460029 -L 74.396779 277.884365 -L 76.786388 278.440336 -L 76.793557 278.442058 -L 79.190336 279.153886 -L 81.587114 279.999655 -L 83.983893 280.976928 -L 84.780556 281.344538 -L 86.380671 282.111374 -L 88.77745 283.390343 -L 90.24113 284.248739 -L 91.174228 284.820614 -L 93.571007 286.417671 -L 94.595242 287.152941 -L 95.967785 288.189625 -L 98.280934 290.057143 -L 98.364564 290.128716 -L 100.761342 292.306296 -L 101.444657 292.961345 -L 103.158121 294.717323 -L 104.225833 295.865546 -L 105.554899 297.408306 -L 106.678157 298.769748 -L 107.951678 300.454701 -L 108.838267 301.67395 -L 110.348456 303.97162 -L 110.733617 304.578151 -L 112.37341 307.482353 -L 112.745235 308.238581 -L 113.769635 310.386555 -L 114.942954 313.290756 -L 115.142013 313.895296 -L 115.879214 316.194958 -L 116.594706 319.09916 -L 117.091459 322.003361 -L 117.367229 324.907563 -L 117.42077 327.811765 -L 117.251841 330.715966 -L 116.861204 333.620168 -L 116.250625 336.52437 -L 115.422861 339.428571 -L 115.142013 340.211929 -L 114.361004 342.332773 -L 113.077112 345.236975 -L 112.745235 345.882761 -L 111.548667 348.141176 -L 110.348456 350.136581 -L 109.782674 351.045378 -L 107.951678 353.684004 -L 107.760126 353.94958 -L 105.554899 356.733312 -L 105.455251 356.853782 -L 103.158121 359.413325 -L 102.833527 359.757983 -L 100.761342 361.807 -L 99.848807 362.662185 -L 98.364564 363.969201 -L 96.439103 365.566387 -L 95.967785 365.936673 -L 93.571007 367.698291 -L 92.438983 368.470588 -L 91.174228 369.293632 -L 88.77745 370.728214 -L 87.59023 371.37479 -L 86.380671 372.007213 -L 83.983893 373.132667 -L 81.587114 374.127165 -L 81.164314 374.278992 -L 79.190336 374.963583 -L 76.793557 375.663167 -L 74.396779 376.229096 -L 72 376.65974 -" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 115.405233 43.2 -L 116.237049 46.104202 -L 116.851742 49.008403 -L 117.246535 51.912605 -L 117.419645 54.816807 -L 117.370289 57.721008 -L 117.09869 60.62521 -L 116.606076 63.529412 -L 115.894672 66.433613 -L 115.142013 68.791673 -L 114.962959 69.337815 -L 113.793676 72.242017 -L 112.745235 74.446653 -L 112.402245 75.146218 -L 110.766371 78.05042 -L 110.348456 78.70988 -L 108.876072 80.954622 -L 107.951678 82.228112 -L 106.721332 83.858824 -L 105.554899 85.274774 -L 104.274762 86.763025 -L 103.158121 87.965482 -L 101.499807 89.667227 -L 100.761342 90.375976 -L 98.364564 92.556115 -L 98.346692 92.571429 -L 95.967785 94.494006 -L 94.669471 95.47563 -L 93.571007 96.264891 -L 91.174228 97.863372 -L 90.332298 98.379832 -L 88.77745 99.292397 -L 86.380671 100.572352 -L 84.896786 101.284034 -L 83.983893 101.705553 -L 81.587114 102.683469 -L 79.190336 103.529795 -L 76.974773 104.188235 -L 76.793557 104.240383 -L 74.396779 104.798331 -L 72 105.222902 -" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 395.886059 43.2 -L 396.718382 46.104202 -L 397.333449 49.008403 -L 397.728483 51.912605 -L 397.901698 54.816807 -L 397.852312 57.721008 -L 397.580548 60.62521 -L 397.087634 63.529412 -L 396.375797 66.433613 -L 395.565101 68.971953 -L 395.445068 69.337815 -L 394.27497 72.242017 -L 393.168322 74.567427 -L 392.884322 75.146218 -L 391.247155 78.05042 -L 390.771544 78.800332 -L 389.357232 80.954622 -L 388.374765 82.306913 -L 387.202708 83.858824 -L 385.977987 85.344051 -L 384.756082 86.763025 -L 383.581208 88.026784 -L 381.980652 89.667227 -L 381.18443 90.430463 -L 378.82747 92.571429 -L 378.787651 92.605544 -L 376.390872 94.539593 -L 375.150728 95.47563 -L 373.994094 96.305262 -L 371.597315 97.900677 -L 370.814511 98.379832 -L 369.200537 99.325054 -L 366.803758 100.601877 -L 365.377445 101.284034 -L 364.40698 101.730882 -L 362.010201 102.70563 -L 359.613423 103.548722 -L 357.451569 104.188235 -L 357.216644 104.255527 -L 354.819866 104.810248 -L 352.423087 105.231557 -L 350.026309 105.518241 -L 347.62953 105.669472 -L 345.232752 105.684815 -L 342.835973 105.564226 -L 340.439195 105.308053 -L 338.042416 104.917033 -L 335.645638 104.392293 -L 334.901161 104.188235 -L 333.248859 103.720521 -L 330.852081 102.907489 -L 328.455302 101.962221 -L 326.942933 101.284034 -L 326.058523 100.872095 -L 323.661745 99.624419 -L 321.492898 98.379832 -L 321.264966 98.243127 -L 318.868188 96.676288 -L 317.16707 95.47563 -L 316.471409 94.95896 -L 314.074631 93.052648 -L 313.505634 92.571429 -L 311.677852 90.93253 -L 310.342407 89.667227 -L 309.281074 88.592036 -L 307.56284 86.763025 -L 306.884295 85.983237 -L 305.116016 83.858824 -L 304.487517 83.034392 -L 302.963825 80.954622 -L 302.090738 79.63581 -L 301.077738 78.05042 -L 299.69396 75.613904 -L 299.436572 75.146218 -L 298.045367 72.242017 -L 297.297181 70.397171 -L 296.879292 69.337815 -L 295.946396 66.433613 -L 295.230451 63.529412 -L 294.900403 61.595955 -L 294.738646 60.62521 -L 294.471835 57.721008 -L 294.423349 54.816807 -L 294.593407 51.912605 -L 294.900403 49.613748 -L 294.983218 49.008403 -L 295.601834 46.104202 -L 296.438959 43.2 -" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 330.852081 374.352383 -L 328.455302 373.393687 -L 324.241866 371.37479 -L 323.661745 371.066816 -L 319.393763 368.470588 -L 316.471409 366.388663 -L 314.074631 364.477946 -L 311.677852 362.380405 -L 309.005388 359.757983 -L 306.391025 356.853782 -L 304.082818 353.94958 -L 302.050254 351.045378 -L 299.69396 347.027337 -L 298.76716 345.236975 -L 297.297181 341.856364 -L 296.421219 339.428571 -L 295.588172 336.52437 -L 294.900403 333.078729 -L 294.588195 330.715966 -L 294.422243 327.811765 -L 294.474841 324.907563 -L 294.900403 321.082984 -L 295.241894 319.09916 -L 295.961952 316.194958 -L 297.297181 312.284561 -L 298.069584 310.386555 -L 299.69396 307.066855 -L 302.090738 303.047583 -L 303.001982 301.67395 -L 305.159641 298.769748 -L 307.612338 295.865546 -L 310.398272 292.961345 -L 314.074631 289.629506 -L 317.242636 287.152941 -L 321.264966 284.441198 -L 323.661745 283.058577 -L 327.062613 281.344538 -L 328.455302 280.720429 -L 330.852081 279.775782 -L 335.097505 278.440336 -L 335.645638 278.290178 -L 338.042416 277.765729 -L 340.439195 277.374925 -L 342.835973 277.118893 -L 345.232752 276.998371 -L 347.62953 277.013706 -L 350.026309 277.164853 -L 352.423087 277.451378 -L 354.819866 277.872454 -L 357.263687 278.440336 -L 359.613423 279.134971 -L 362.010201 279.977509 -L 365.260889 281.344538 -L 366.803758 282.081871 -L 370.723145 284.248739 -L 373.994094 286.377335 -L 376.390872 288.144085 -L 378.787651 290.077293 -L 381.925433 292.961345 -L 384.707098 295.865546 -L 387.159489 298.769748 -L 389.319393 301.67395 -L 391.214375 304.578151 -L 393.168322 308.118149 -L 394.250912 310.386555 -L 395.565101 313.715793 -L 396.360329 316.194958 -L 397.076257 319.09916 -L 397.573312 322.003361 -L 397.849251 324.907563 -L 397.902824 327.811765 -L 397.733792 330.715966 -L 397.342917 333.620168 -L 396.731966 336.52437 -L 395.565101 340.372431 -L 394.842694 342.332773 -L 393.168322 345.994522 -L 392.030069 348.141176 -L 390.264641 351.045378 -L 388.242536 353.94958 -L 385.937883 356.853782 -L 383.316024 359.757983 -L 380.33062 362.662185 -L 376.390872 365.980989 -L 372.920544 368.470588 -L 369.200537 370.761518 -L 366.803758 372.036121 -L 364.40698 373.158426 -L 361.648778 374.278992 -L 359.613423 374.982172 -L 357.216644 375.678527 -L 354.819866 376.241183 -L 352.423087 376.668519 -L 350.026309 376.959304 -L 347.62953 377.112698 -L 345.232752 377.128261 -L 342.835973 377.005947 -L 340.439195 376.746109 -L 338.042416 376.349495 -L 335.645638 375.817249 -L 333.248859 375.150905 -L 330.852081 374.352383 -L 330.852081 374.352383 -" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> - </g> - <g id="LineCollection_4"> - <path clip-path="url(#p553f52e075)" d="M 72 268.345576 -L 74.396779 268.743186 -L 76.793557 269.265704 -L 78.507974 269.727731 -L 79.190336 269.914725 -L 81.587114 270.695127 -L 83.983893 271.596869 -L 86.380671 272.617353 -L 86.411425 272.631933 -L 88.77745 273.778143 -L 91.174228 275.054237 -L 92.006722 275.536134 -L 93.571007 276.466157 -L 95.967785 278.00134 -L 96.608976 278.440336 -L 98.364564 279.68153 -L 100.580321 281.344538 -L 100.761342 281.485642 -L 103.158121 283.456909 -L 104.07558 284.248739 -L 105.554899 285.582995 -L 107.221914 287.152941 -L 107.951678 287.876046 -L 110.069396 290.057143 -L 110.348456 290.361816 -L 112.648849 292.961345 -L 112.745235 293.077784 -L 114.983573 295.865546 -L 115.142013 296.078544 -L 117.090963 298.769748 -L 117.538792 299.444773 -L 118.983649 301.67395 -L 119.93557 303.298776 -L 120.670314 304.578151 -L 122.153306 307.482353 -L 122.332349 307.884996 -L 123.426276 310.386555 -L 124.50213 313.290756 -L 124.729128 314.042598 -L 125.370197 316.194958 -L 126.034968 319.09916 -L 126.496507 322.003361 -L 126.752728 324.907563 -L 126.802474 327.811765 -L 126.64552 330.715966 -L 126.282575 333.620168 -L 125.715278 336.52437 -L 124.946193 339.428571 -L 124.729128 340.080219 -L 123.968521 342.332773 -L 122.791279 345.236975 -L 122.332349 346.21089 -L 121.407427 348.141176 -L 119.93557 350.846937 -L 119.825451 351.045378 -L 118.029117 353.94958 -L 117.538792 354.671346 -L 116.021249 356.853782 -L 115.142013 358.019186 -L 113.794559 359.757983 -L 112.745235 361.018975 -L 111.335505 362.662185 -L 110.348456 363.743272 -L 108.625605 365.566387 -L 107.951678 366.241821 -L 105.640238 368.470588 -L 105.554899 368.549078 -L 103.158121 370.660277 -L 102.306911 371.37479 -L 100.761342 372.620321 -L 98.58964 374.278992 -L 98.364564 374.445014 -L 95.967785 376.110381 -L 94.317411 377.183193 -L 93.571007 377.65439 -L 91.174228 379.058825 -L 89.265786 380.087395 -L 88.77745 380.344336 -L 86.380671 381.491785 -L 83.983893 382.522295 -L 82.748653 382.991597 -L 81.587114 383.424569 -L 79.190336 384.197766 -L 76.793557 384.848514 -L 74.396779 385.374938 -L 72 385.775521 -" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 124.929815 43.2 -L 125.702665 46.104202 -L 126.273783 49.008403 -L 126.64059 51.912605 -L 126.801428 54.816807 -L 126.755571 57.721008 -L 126.503226 60.62521 -L 126.045533 63.529412 -L 125.384559 66.433613 -L 124.729128 68.643732 -L 124.520473 69.337815 -L 123.44832 72.242017 -L 122.332349 74.801243 -L 122.179384 75.146218 -L 120.699936 78.05042 -L 119.93557 79.384103 -L 119.017347 80.954622 -L 117.538792 83.239828 -L 117.12886 83.858824 -L 115.142013 86.606583 -L 115.025821 86.763025 -L 112.745235 89.607226 -L 112.695634 89.667227 -L 110.348456 92.322741 -L 110.120943 92.571429 -L 107.951678 94.807907 -L 107.278495 95.47563 -L 105.554899 97.100311 -L 104.13753 98.379832 -L 103.158121 99.22578 -L 100.761342 101.198565 -L 100.65178 101.284034 -L 98.364564 103.001803 -L 96.687537 104.188235 -L 95.967785 104.681291 -L 93.571007 106.217324 -L 92.099893 107.092437 -L 91.174228 107.628511 -L 88.77745 108.905185 -L 86.525479 109.996639 -L 86.380671 110.065315 -L 83.983893 111.086167 -L 81.587114 111.988235 -L 79.190336 112.768918 -L 78.70911 112.90084 -L 76.793557 113.417212 -L 74.396779 113.939871 -L 72 114.337589 -" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 405.410908 43.2 -L 406.183985 46.104202 -L 406.755272 49.008403 -L 407.122187 51.912605 -L 407.283073 54.816807 -L 407.237202 57.721008 -L 406.984782 60.62521 -L 406.526954 63.529412 -L 405.865786 66.433613 -L 405.152215 68.839071 -L 405.002227 69.337815 -L 403.929679 72.242017 -L 402.755436 74.93388 -L 402.661242 75.146218 -L 401.181134 78.05042 -L 400.358658 79.484855 -L 399.498888 80.954622 -L 397.961879 83.328923 -L 397.610737 83.858824 -L 395.565101 86.686163 -L 395.507974 86.763025 -L 393.177653 89.667227 -L 393.168322 89.678103 -L 390.771544 92.387593 -L 390.603211 92.571429 -L 388.374765 94.866879 -L 387.760426 95.47563 -L 385.977987 97.154106 -L 384.618697 98.379832 -L 383.581208 99.27495 -L 381.18443 101.245294 -L 381.134701 101.284034 -L 378.787651 103.044311 -L 377.168224 104.188235 -L 376.390872 104.719932 -L 373.994094 106.253333 -L 372.580802 107.092437 -L 371.597315 107.660905 -L 369.200537 108.934823 -L 367.004345 109.996639 -L 366.803758 110.091536 -L 364.40698 111.109532 -L 362.010201 112.008676 -L 359.613423 112.786377 -L 359.193949 112.90084 -L 357.216644 113.431398 -L 354.819866 113.951035 -L 352.423087 114.345697 -L 350.026309 114.614249 -L 347.62953 114.755915 -L 345.232752 114.770288 -L 342.835973 114.657326 -L 340.439195 114.417354 -L 338.042416 114.051065 -L 335.645638 113.559514 -L 333.248859 112.944117 -L 333.108208 112.90084 -L 330.852081 112.194879 -L 328.455302 111.322928 -L 326.058523 110.331509 -L 325.334164 109.996639 -L 323.661745 109.206515 -L 321.264966 107.958268 -L 319.739701 107.092437 -L 318.868188 106.584267 -L 316.471409 105.075401 -L 315.155484 104.188235 -L 314.074631 103.435696 -L 311.677852 101.661274 -L 311.195629 101.284034 -L 309.281074 99.728334 -L 307.701668 98.379832 -L 306.884295 97.650437 -L 304.553049 95.47563 -L 304.487517 95.411299 -L 302.090738 92.963025 -L 301.720735 92.571429 -L 299.69396 90.2972 -L 299.14992 89.667227 -L 297.297181 87.373346 -L 296.817701 86.763025 -L 294.900403 84.128267 -L 294.709008 83.858824 -L 292.81959 80.954622 -L 292.503624 80.417162 -L 291.140829 78.05042 -L 290.106846 76.030149 -L 289.662297 75.146218 -L 288.39097 72.242017 -L 287.710067 70.404762 -L 287.320288 69.337815 -L 286.456335 66.433613 -L 285.793301 63.529412 -L 285.33418 60.62521 -L 285.313289 60.385517 -L 285.083662 57.721008 -L 285.03818 54.816807 -L 285.197704 51.912605 -L 285.313289 50.989919 -L 285.564338 49.008403 -L 286.137237 46.104202 -L 286.912497 43.2 -" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 342.835973 386.094705 -L 340.439195 385.855861 -L 338.042416 385.486933 -L 335.645638 384.991841 -L 333.248859 384.372012 -L 329.08241 382.991597 -L 328.455302 382.761295 -L 323.661745 380.641986 -L 321.264966 379.39248 -L 317.525469 377.183193 -L 314.074631 374.871164 -L 311.677852 373.087637 -L 309.281074 371.172789 -L 306.208371 368.470588 -L 303.216621 365.566387 -L 299.69396 361.725838 -L 297.297181 358.800632 -L 294.900403 355.541075 -L 292.503624 351.843839 -L 292.01723 351.045378 -L 290.106846 347.469863 -L 289.050567 345.236975 -L 287.710067 341.864664 -L 286.896067 339.428571 -L 286.124585 336.52437 -L 285.55552 333.620168 -L 285.192814 330.715966 -L 285.037143 327.811765 -L 285.086482 324.907563 -L 285.34092 322.003361 -L 285.803898 319.09916 -L 286.470742 316.194958 -L 287.710067 312.276996 -L 288.4131 310.386555 -L 290.106846 306.651605 -L 291.17059 304.578151 -L 292.853474 301.67395 -L 294.900403 298.553049 -L 297.297181 295.308664 -L 299.69396 292.38498 -L 302.090738 289.719037 -L 304.610221 287.152941 -L 307.764338 284.248739 -L 311.677852 281.021178 -L 316.471409 277.607449 -L 319.834754 275.536134 -L 323.661745 273.47695 -L 326.058523 272.351255 -L 330.852081 270.488557 -L 333.291479 269.727731 -L 335.645638 269.123441 -L 338.042416 268.632023 -L 340.439195 268.265833 -L 342.835973 268.025926 -L 345.232752 267.912994 -L 347.62953 267.927363 -L 350.026309 268.068991 -L 352.423087 268.33747 -L 354.819866 268.732026 -L 358.99188 269.727731 -L 359.613423 269.897272 -L 362.010201 270.674693 -L 364.40698 271.573512 -L 366.890012 272.631933 -L 371.597315 275.021858 -L 373.994094 276.430168 -L 377.089542 278.440336 -L 381.18443 281.438949 -L 384.556678 284.248739 -L 388.374765 287.817134 -L 390.771544 290.297041 -L 393.168322 293.00625 -L 395.565101 295.999086 -L 397.961879 299.355836 -L 400.358658 303.19823 -L 401.151498 304.578151 -L 402.755436 307.752735 -L 403.907626 310.386555 -L 405.152215 313.848103 -L 405.851419 316.194958 -L 406.516386 319.09916 -L 406.978061 322.003361 -L 407.234358 324.907563 -L 407.284118 327.811765 -L 407.127118 330.715966 -L 406.764066 333.620168 -L 406.196602 336.52437 -L 405.152215 340.254127 -L 404.450072 342.332773 -L 402.755436 346.33363 -L 401.88894 348.141176 -L 400.307417 351.045378 -L 397.961879 354.756201 -L 395.565101 358.095458 -L 393.168322 361.087996 -L 390.771544 363.806054 -L 388.374765 366.299149 -L 385.977987 368.601568 -L 382.788756 371.37479 -L 378.787651 374.486764 -L 373.994094 377.689861 -L 369.200537 380.373612 -L 364.40698 382.545881 -L 362.010201 383.444814 -L 359.613423 384.215058 -L 357.216644 384.862803 -L 354.819866 385.386182 -L 351.42967 385.895798 -L 350.026309 386.051932 -L 347.62953 386.1926 -L 345.232752 386.206871 -L 342.835973 386.094705 -L 342.835973 386.094705 -" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> - </g> - <g id="LineCollection_5"> - <path clip-path="url(#p553f52e075)" d="M 322.182566 388.8 -L 318.868188 387.043496 -L 314.074631 384.111798 -L 311.677852 382.481064 -L 306.884295 378.871739 -L 304.487517 376.89903 -L 299.69396 372.554176 -L 297.297181 370.175919 -L 294.900403 367.642185 -L 292.503624 364.928293 -L 290.106846 361.999132 -L 287.710067 358.804576 -L 285.313289 355.272036 -L 284.465896 353.94958 -L 282.772752 351.045378 -L 280.519732 346.510632 -L 279.940519 345.236975 -L 278.804393 342.332773 -L 277.858663 339.428571 -L 277.108161 336.52437 -L 276.554572 333.620168 -L 276.200396 330.715966 -L 276.047235 327.811765 -L 276.095779 324.907563 -L 276.345809 322.003361 -L 276.796196 319.09916 -L 277.444904 316.194958 -L 278.289421 313.290756 -L 279.3277 310.386555 -L 280.553528 307.482353 -L 282.91651 302.848486 -L 283.565557 301.67395 -L 285.341382 298.769748 -L 287.710067 295.304858 -L 290.106846 292.120029 -L 292.503624 289.19119 -L 294.900403 286.47247 -L 297.297181 283.931491 -L 302.090738 279.326324 -L 304.487517 277.224244 -L 306.884295 275.239054 -L 311.677852 271.637699 -L 316.471409 268.483711 -L 321.264966 265.774524 -L 326.058523 263.514802 -L 330.852081 261.718132 -L 333.248859 260.995063 -L 335.645638 260.393338 -L 338.042416 259.912708 -L 340.439195 259.554556 -L 342.835973 259.319916 -L 345.232752 259.209464 -L 347.62953 259.223517 -L 350.026309 259.362036 -L 352.423087 259.624621 -L 354.819866 260.010516 -L 359.109134 261.015126 -L 359.613423 261.147807 -L 362.010201 261.89767 -L 366.803758 263.746185 -L 369.200537 264.846322 -L 373.994094 267.380578 -L 378.787651 270.362392 -L 383.581208 273.793971 -L 388.374765 277.685456 -L 392.405338 281.344538 -L 395.565101 284.48802 -L 398.048349 287.152941 -L 400.559071 290.057143 -L 402.882218 292.961345 -L 405.152215 296.057654 -L 407.548993 299.696464 -L 409.945772 303.832768 -L 410.353647 304.578151 -L 412.34255 308.841563 -L 412.994042 310.386555 -L 414.031471 313.290756 -L 414.876743 316.194958 -L 415.525344 319.09916 -L 415.975655 322.003361 -L 416.225644 324.907563 -L 416.27418 327.811765 -L 416.121043 330.715966 -L 415.766927 333.620168 -L 415.21343 336.52437 -L 414.46254 339.428571 -L 413.516921 342.332773 -L 412.34255 345.323187 -L 411.055982 348.141176 -L 409.547674 351.045378 -L 407.548993 354.431209 -L 405.152215 358.039239 -L 402.755436 361.297421 -L 400.358658 364.28118 -L 397.961879 367.042659 -L 395.565101 369.618449 -L 393.168322 372.034344 -L 390.771544 374.308355 -L 385.977987 378.43566 -L 381.18443 382.095062 -L 378.787651 383.754232 -L 373.994094 386.735678 -L 370.13874 388.8 -L 370.13874 388.8 -" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 72 259.632549 -L 74.396779 260.021431 -L 76.793557 260.532479 -L 78.624687 261.015126 -L 79.190336 261.164641 -L 81.587114 261.91738 -L 83.983893 262.787157 -L 86.380671 263.771467 -L 86.704017 263.919328 -L 88.77745 264.874493 -L 91.174228 266.087954 -L 92.510548 266.823529 -L 93.571007 267.414301 -L 95.967785 268.852794 -L 97.3316 269.727731 -L 98.364564 270.401589 -L 100.761342 272.061429 -L 101.542096 272.631933 -L 103.158121 273.838575 -L 105.324661 275.536134 -L 105.554899 275.72142 -L 107.951678 277.735415 -L 108.758767 278.440336 -L 110.348456 279.874091 -L 111.923639 281.344538 -L 112.745235 282.141094 -L 114.853836 284.248739 -L 115.142013 284.549759 -L 117.538792 287.121336 -L 117.567571 287.152941 -L 119.93557 289.889079 -L 120.078151 290.057143 -L 122.332349 292.873806 -L 122.401246 292.961345 -L 124.539375 295.865546 -L 124.729128 296.143749 -L 126.496046 298.769748 -L 127.125906 299.79159 -L 128.273988 301.67395 -L 129.522685 303.938973 -L 129.872392 304.578151 -L 131.285202 307.482353 -L 131.919463 308.979578 -L 132.51271 310.386555 -L 133.550056 313.290756 -L 134.316242 315.922646 -L 134.395375 316.194958 -L 135.043969 319.09916 -L 135.494277 322.003361 -L 135.744263 324.907563 -L 135.792799 327.811765 -L 135.639664 330.715966 -L 135.285551 333.620168 -L 134.732059 336.52437 -L 134.316242 338.133733 -L 133.981091 339.428571 -L 133.035547 342.332773 -L 131.919463 345.188306 -L 131.900352 345.236975 -L 130.574622 348.141176 -L 129.522685 350.171048 -L 129.066124 351.045378 -L 127.375774 353.94958 -L 127.125906 354.34045 -L 125.502163 356.853782 -L 124.729128 357.956597 -L 123.44913 359.757983 -L 122.332349 361.22162 -L 121.214648 362.662185 -L 119.93557 364.211249 -L 118.794092 365.566387 -L 117.538792 366.977843 -L 116.179923 368.470588 -L 115.142013 369.558153 -L 113.361239 371.37479 -L 112.745235 371.978093 -L 110.348456 374.254942 -L 110.322253 374.278992 -L 107.951678 376.38026 -L 107.010135 377.183193 -L 105.554899 378.388396 -L 103.412824 380.087395 -L 103.158121 380.284615 -L 100.761342 382.05317 -L 99.419456 382.991597 -L 98.364564 383.715397 -L 95.967785 385.264511 -L 94.923756 385.895798 -L 93.571007 386.702183 -L 91.174228 388.028351 -L 89.657986 388.8 -" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 133.965083 43.2 -L 134.316242 44.550077 -L 134.719752 46.104202 -L 135.276973 49.008403 -L 135.634854 51.912605 -L 135.791779 54.816807 -L 135.747037 57.721008 -L 135.500833 60.62521 -L 135.054277 63.529412 -L 134.409387 66.433613 -L 134.316242 66.755536 -L 133.567743 69.337815 -L 132.533965 72.242017 -L 131.919463 73.703549 -L 131.310046 75.146218 -L 129.900613 78.05042 -L 129.522685 78.742594 -L 128.305698 80.954622 -L 127.125906 82.892397 -L 126.531257 83.858824 -L 124.729128 86.541278 -L 124.578114 86.763025 -L 122.442856 89.667227 -L 122.332349 89.807799 -L 120.123191 92.571429 -L 119.93557 92.792809 -L 117.616093 95.47563 -L 117.538792 95.560598 -L 115.142013 98.134468 -L 114.907327 98.379832 -L 112.745235 100.542609 -L 111.981092 101.284034 -L 110.348456 102.809116 -L 108.82035 104.188235 -L 107.951678 104.947363 -L 105.554899 106.962473 -L 105.393493 107.092437 -L 103.158121 108.844726 -L 101.616095 109.996639 -L 100.761342 110.621439 -L 98.364564 112.281878 -L 97.416093 112.90084 -L 95.967785 113.830234 -L 93.571007 115.269117 -L 92.609259 115.805042 -L 91.174228 116.595097 -L 88.77745 117.80878 -L 86.823117 118.709244 -L 86.380671 118.911586 -L 83.983893 119.895991 -L 81.587114 120.765853 -L 79.190336 121.518664 -L 78.831791 121.613445 -L 76.793557 122.150687 -L 74.396779 122.661741 -L 72 123.050627 -" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 414.446531 43.2 -L 414.739329 44.325613 -L 415.201124 46.104202 -L 415.758349 49.008403 -L 416.116234 51.912605 -L 416.273159 54.816807 -L 416.228418 57.721008 -L 415.982211 60.62521 -L 415.535651 63.529412 -L 414.890756 66.433613 -L 414.739329 66.956956 -L 414.049159 69.337815 -L 413.015299 72.242017 -L 412.34255 73.841956 -L 411.791517 75.146218 -L 410.381872 78.05042 -L 409.945772 78.849016 -L 408.787079 80.954622 -L 407.548993 82.987692 -L 407.012822 83.858824 -L 405.152215 86.627506 -L 405.059889 86.763025 -L 402.923843 89.667227 -L 402.755436 89.881373 -L 400.604131 92.571429 -L 400.358658 92.860942 -L 398.096896 95.47563 -L 397.961879 95.623961 -L 395.565101 98.196263 -L 395.389398 98.379832 -L 393.168322 100.600063 -L 392.462836 101.284034 -L 390.771544 102.862661 -L 389.301461 104.188235 -L 388.374765 104.99735 -L 385.977987 107.010455 -L 385.876057 107.092437 -L 383.581208 108.889351 -L 382.097083 109.996639 -L 381.18443 110.662938 -L 378.787651 112.321089 -L 377.8979 112.90084 -L 376.390872 113.86643 -L 373.994094 115.302849 -L 373.091148 115.805042 -L 371.597315 116.625893 -L 369.200537 117.836955 -L 367.302713 118.709244 -L 366.803758 118.936871 -L 364.40698 119.918522 -L 362.010201 120.785565 -L 359.613423 121.5355 -L 359.317199 121.613445 -L 357.216644 122.164558 -L 354.819866 122.672656 -L 352.423087 123.058555 -L 350.026309 123.321143 -L 347.62953 123.459664 -L 345.232752 123.473718 -L 342.835973 123.363264 -L 340.439195 123.128621 -L 338.042416 122.770466 -L 335.645638 122.289829 -L 333.248859 121.688098 -L 333.000728 121.613445 -L 330.852081 120.96512 -L 328.455302 120.124299 -L 326.058523 119.168276 -L 325.028826 118.709244 -L 323.661745 118.095243 -L 321.264966 116.908584 -L 319.220048 115.805042 -L 318.868188 115.612852 -L 316.471409 114.199417 -L 314.415191 112.90084 -L 314.074631 112.682118 -L 311.677852 111.045323 -L 310.224612 109.996639 -L 309.281074 109.300824 -L 306.884295 107.44361 -L 306.450787 107.092437 -L 304.487517 105.458818 -L 303.020066 104.188235 -L 302.090738 103.357243 -L 299.852979 101.284034 -L 299.69396 101.131006 -L 297.297181 98.750833 -L 296.933799 98.379832 -L 294.900403 96.210043 -L 294.228574 95.47563 -L 292.503624 93.491414 -L 291.720278 92.571429 -L 290.106846 90.562462 -L 289.400346 89.667227 -L 287.710067 87.377157 -L 287.263248 86.763025 -L 285.313289 83.869547 -L 285.306143 83.858824 -L 283.533772 80.954622 -L 282.91651 79.835316 -L 281.94037 78.05042 -L 280.528644 75.146218 -L 280.519732 75.125155 -L 279.306425 72.242017 -L 278.271719 69.337815 -L 278.122953 68.825041 -L 277.430889 66.433613 -L 276.785886 63.529412 -L 276.339252 60.62521 -L 276.093004 57.721008 -L 276.048255 54.816807 -L 276.205207 51.912605 -L 276.563151 49.008403 -L 277.12047 46.104202 -L 277.874645 43.2 -" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> - </g> - <g id="LineCollection_6"> - <path clip-path="url(#p553f52e075)" d="M 308.165199 388.8 -L 304.36228 385.895798 -L 299.69396 381.992605 -L 294.900403 377.606201 -L 291.543556 374.278992 -L 287.710067 370.179037 -L 283.744352 365.566387 -L 280.519732 361.406733 -L 278.122953 358.033303 -L 277.316127 356.853782 -L 275.485106 353.94958 -L 273.329396 350.098034 -L 272.317977 348.141176 -L 270.932617 345.075776 -L 269.851682 342.332773 -L 268.535839 338.039483 -L 268.136822 336.52437 -L 267.572654 333.620168 -L 267.21171 330.715966 -L 267.055622 327.811765 -L 267.105093 324.907563 -L 267.359901 322.003361 -L 267.818895 319.09916 -L 268.535839 316.006445 -L 269.332933 313.290756 -L 270.932617 309.083888 -L 271.609274 307.482353 -L 273.329396 304.008132 -L 275.726174 299.800639 -L 276.346258 298.769748 -L 278.253477 295.865546 -L 280.519732 292.694344 -L 282.91651 289.584259 -L 285.313289 286.673188 -L 287.710067 283.928436 -L 292.503624 278.864088 -L 295.92949 275.536134 -L 299.69396 272.121405 -L 304.487517 268.124641 -L 309.281074 264.498443 -L 314.074631 261.248334 -L 318.868188 258.385618 -L 323.661745 255.927462 -L 328.455302 253.897317 -L 330.852081 253.052276 -L 335.645638 251.712581 -L 338.042416 251.222849 -L 340.439195 250.857915 -L 342.835973 250.618831 -L 345.232752 250.506287 -L 347.62953 250.520607 -L 350.026309 250.661749 -L 352.423087 250.929307 -L 354.819866 251.322509 -L 358.945954 252.302521 -L 359.613423 252.479034 -L 362.010201 253.232733 -L 366.803758 255.090705 -L 371.597315 257.384097 -L 376.390872 260.09324 -L 381.18443 263.195237 -L 386.171221 266.823529 -L 390.771544 270.529893 -L 395.565101 274.765305 -L 399.394272 278.440336 -L 402.755436 281.909492 -L 407.421183 287.152941 -L 409.945772 290.262177 -L 412.34255 293.435942 -L 414.739329 296.88719 -L 417.136107 300.700072 -L 417.722403 301.67395 -L 419.532886 305.053797 -L 420.712528 307.482353 -L 421.941042 310.386555 -L 422.988818 313.290756 -L 423.842778 316.194958 -L 424.500762 319.09916 -L 424.96089 322.003361 -L 425.216328 324.907563 -L 425.265922 327.811765 -L 425.109447 330.715966 -L 424.747611 333.620168 -L 424.183455 336.52437 -L 423.424186 339.428571 -L 421.929664 343.699286 -L 421.32675 345.236975 -L 419.532886 349.049736 -L 418.504285 351.045378 -L 416.836124 353.94958 -L 414.739329 357.242968 -L 412.34255 360.673396 -L 409.945772 363.839846 -L 407.548993 366.794414 -L 403.533017 371.37479 -L 400.358658 374.706343 -L 395.565101 379.351305 -L 391.47127 382.991597 -L 387.95445 385.895798 -L 384.159985 388.8 -L 384.159985 388.8 -" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 72 250.937385 -L 74.396779 251.333631 -L 76.793557 251.854356 -L 78.46226 252.302521 -L 79.190336 252.495954 -L 81.587114 253.252543 -L 83.983893 254.12677 -L 86.380671 255.116116 -L 86.577804 255.206723 -L 88.77745 256.211446 -L 91.174228 257.414626 -L 92.45 258.110924 -L 93.571007 258.721717 -L 95.967785 260.128633 -L 97.380629 261.015126 -L 98.364564 261.634247 -L 100.761342 263.23525 -L 101.731931 263.919328 -L 103.158121 264.931958 -L 105.554899 266.717745 -L 105.690873 266.823529 -L 107.951678 268.603618 -L 109.325224 269.727731 -L 110.348456 270.579267 -L 112.731508 272.631933 -L 112.745235 272.644015 -L 115.142013 274.818939 -L 115.911471 275.536134 -L 117.538792 277.094 -L 118.912787 278.440336 -L 119.93557 279.475231 -L 121.746543 281.344538 -L 122.332349 281.97254 -L 124.420415 284.248739 -L 124.729128 284.600424 -L 126.939498 287.152941 -L 127.125906 287.379427 -L 129.306617 290.057143 -L 129.522685 290.338389 -L 131.522514 292.961345 -L 131.919463 293.51792 -L 133.585968 295.865546 -L 134.316242 296.975966 -L 135.493828 298.769748 -L 136.71302 300.797015 -L 137.240986 301.67395 -L 138.821429 304.578151 -L 139.109799 305.174119 -L 140.231143 307.482353 -L 141.459741 310.386555 -L 141.506577 310.517246 -L 142.507405 313.290756 -L 143.361539 316.194958 -L 143.903356 318.592123 -L 144.019094 319.09916 -L 144.479349 322.003361 -L 144.734857 324.907563 -L 144.784465 327.811765 -L 144.627947 330.715966 -L 144.266011 333.620168 -L 143.903356 335.481916 -L 143.702285 336.52437 -L 142.942862 339.428571 -L 141.987618 342.332773 -L 141.506577 343.551031 -L 140.845446 345.236975 -L 139.52154 348.141176 -L 139.109799 348.936788 -L 138.022916 351.045378 -L 136.71302 353.325292 -L 136.354738 353.94958 -L 134.52413 356.853782 -L 134.316242 357.157752 -L 132.534745 359.757983 -L 131.919463 360.594297 -L 130.390966 362.662185 -L 129.522685 363.765978 -L 128.095615 365.566387 -L 127.125906 366.725088 -L 125.649588 368.470588 -L 124.729128 369.508674 -L 123.051805 371.37479 -L 122.332349 372.143246 -L 120.299089 374.278992 -L 119.93557 374.647765 -L 117.538792 377.03121 -L 117.382359 377.183193 -L 115.142013 379.297012 -L 114.281572 380.087395 -L 112.745235 381.465121 -L 110.990309 382.991597 -L 110.348456 383.539359 -L 107.951678 385.51555 -L 107.472326 385.895798 -L 105.554899 387.395284 -L 103.679328 388.8 -" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 142.92669 43.2 -L 143.68983 46.104202 -L 143.903356 47.20382 -L 144.257244 49.008403 -L 144.623031 51.912605 -L 144.783422 54.816807 -L 144.737692 57.721008 -L 144.486049 60.62521 -L 144.029629 63.529412 -L 143.903356 64.085781 -L 143.375721 66.433613 -L 142.525273 69.337815 -L 141.506577 72.170587 -L 141.481067 72.242017 -L 140.255953 75.146218 -L 139.109799 77.511175 -L 138.849499 78.05042 -L 137.272287 80.954622 -L 136.71302 81.885191 -L 135.528182 83.858824 -L 134.316242 85.707779 -L 133.623321 86.763025 -L 131.919463 89.166497 -L 131.562823 89.667227 -L 129.522685 92.346196 -L 129.349853 92.571429 -L 127.125906 95.305035 -L 126.985643 95.47563 -L 124.729128 98.083759 -L 124.469462 98.379832 -L 122.332349 100.711292 -L 121.798502 101.284034 -L 119.93557 103.208239 -L 118.967679 104.188235 -L 117.538792 105.589133 -L 115.969334 107.092437 -L 115.142013 107.863916 -L 112.792809 109.996639 -L 112.745235 110.038902 -L 110.348456 112.104136 -L 109.391457 112.90084 -L 107.951678 114.079478 -L 105.760714 115.805042 -L 105.554899 115.965191 -L 103.158121 117.751304 -L 101.809204 118.709244 -L 100.761342 119.447855 -L 98.364564 121.049013 -L 97.467629 121.613445 -L 95.967785 122.554538 -L 93.571007 123.96147 -L 92.550249 124.517647 -L 91.174228 125.268604 -L 88.77745 126.471696 -L 86.697122 127.421849 -L 86.380671 127.567273 -L 83.983893 128.556461 -L 81.587114 129.430549 -L 79.190336 130.187018 -L 78.666938 130.32605 -L 76.793557 130.829061 -L 74.396779 131.349658 -L 72 131.745807 -" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 423.408017 43.2 -L 424.326443 46.904854 -L 424.738847 49.008403 -L 425.104533 51.912605 -L 425.26488 54.816807 -L 425.219163 57.721008 -L 424.967589 60.62521 -L 424.326443 64.344104 -L 423.856957 66.433613 -L 423.006682 69.337815 -L 421.929664 72.319361 -L 420.737334 75.146218 -L 419.330818 78.05042 -L 417.136107 81.982307 -L 414.739329 85.796691 -L 412.34255 89.248585 -L 409.945772 92.422498 -L 407.467341 95.47563 -L 402.755436 100.774389 -L 399.449193 104.188235 -L 395.565101 107.917575 -L 390.771544 112.153528 -L 385.977987 116.009598 -L 381.18443 119.487873 -L 376.390872 122.589931 -L 371.597315 125.299131 -L 366.803758 127.592681 -L 362.010201 129.450357 -L 357.216644 130.843191 -L 354.819866 131.360777 -L 352.423087 131.753883 -L 350.026309 132.021375 -L 347.62953 132.162482 -L 345.232752 132.176798 -L 342.835973 132.064282 -L 340.439195 131.825257 -L 338.042416 131.460413 -L 335.645638 130.970802 -L 330.852081 129.630784 -L 326.058523 127.825211 -L 321.264966 125.579356 -L 316.471409 122.915523 -L 311.677852 119.856605 -L 306.884295 116.41932 -L 302.090738 112.609749 -L 297.297181 108.413682 -L 292.869533 104.188235 -L 290.038324 101.284034 -L 285.313289 96.009146 -L 282.490714 92.571429 -L 280.276773 89.667227 -L 278.122953 86.621313 -L 275.726174 82.883332 -L 274.567663 80.954622 -L 272.990205 78.05042 -L 270.932617 73.598942 -L 270.357397 72.242017 -L 269.315101 69.337815 -L 268.465718 66.433613 -L 267.808389 63.529412 -L 267.353219 60.62521 -L 267.102266 57.721008 -L 267.056662 54.816807 -L 267.216613 51.912605 -L 267.581397 49.008403 -L 268.535839 44.643867 -L 268.914487 43.2 -L 268.914487 43.2 -" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> - </g> - <g id="LineCollection_7"> - <path clip-path="url(#p553f52e075)" d="M 297.322117 388.8 -L 294.061437 385.895798 -L 290.106846 382.196546 -L 285.07254 377.183193 -L 279.689092 371.37479 -L 274.774926 365.566387 -L 270.35661 359.757983 -L 268.348762 356.853782 -L 266.13906 353.361893 -L 263.742282 349.115538 -L 263.216768 348.141176 -L 261.345503 344.034269 -L 260.637258 342.332773 -L 259.630269 339.428571 -L 258.827107 336.52437 -L 258.223682 333.620168 -L 257.837622 330.715966 -L 257.670672 327.811765 -L 257.723586 324.907563 -L 257.996125 322.003361 -L 258.487057 319.09916 -L 259.188913 316.194958 -L 260.089314 313.290756 -L 261.345503 310.049324 -L 262.477238 307.482353 -L 263.944514 304.578151 -L 266.13906 300.762088 -L 268.535839 297.01306 -L 270.932617 293.579878 -L 273.329396 290.388017 -L 275.913521 287.152941 -L 280.941671 281.344538 -L 286.440679 275.536134 -L 290.106846 271.919449 -L 295.614596 266.823529 -L 299.69396 263.293099 -L 304.487517 259.416464 -L 310.190223 255.206723 -L 314.520557 252.302521 -L 318.868188 249.66684 -L 323.661745 247.13097 -L 328.455302 245.012093 -L 333.248859 243.359244 -L 335.645638 242.707353 -L 338.042416 242.186652 -L 340.439195 241.798642 -L 342.835973 241.54444 -L 345.232752 241.424779 -L 347.62953 241.440004 -L 350.026309 241.590071 -L 352.423087 241.874548 -L 354.819866 242.292615 -L 357.216644 242.843067 -L 362.010201 244.315717 -L 364.40698 245.228796 -L 369.200537 247.395505 -L 373.994094 249.975697 -L 378.787651 252.929962 -L 383.581208 256.226368 -L 388.374765 259.839141 -L 393.368786 263.919328 -L 397.961879 267.949673 -L 402.955761 272.631933 -L 408.688665 278.440336 -L 413.952674 284.248739 -L 418.741665 290.057143 -L 423.025091 295.865546 -L 424.960431 298.769748 -L 426.745381 301.67395 -L 429.12 306.058857 -L 429.12 306.058857 -" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 429.12 348.101546 -L 429.101397 348.141176 -L 427.553766 351.045378 -L 426.723221 352.44366 -L 425.840116 353.94958 -L 424.326443 356.299721 -L 423.97306 356.853782 -L 421.963299 359.757983 -L 421.929664 359.803245 -L 419.819639 362.662185 -L 419.532886 363.027267 -L 417.546339 365.566387 -L 417.136107 366.062998 -L 415.149338 368.470588 -L 414.739329 368.944521 -L 412.632946 371.37479 -L 412.34255 371.696451 -L 409.999937 374.278992 -L 409.945772 374.33666 -L 407.548993 376.868983 -L 407.24842 377.183193 -L 405.152215 379.311287 -L 404.377211 380.087395 -L 402.755436 381.672907 -L 401.383748 382.991597 -L 400.358658 383.958483 -L 398.263204 385.895798 -L 397.961879 386.170441 -L 395.565101 388.304531 -L 394.993483 388.8 -" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 72 241.883137 -L 74.396779 242.30444 -L 76.793557 242.858094 -L 79.190336 243.542503 -L 79.330079 243.589916 -L 81.587114 244.336475 -L 83.983893 245.252523 -L 86.380671 246.289196 -L 86.806164 246.494118 -L 88.77745 247.424362 -L 91.174228 248.667402 -L 92.470489 249.398319 -L 93.571007 250.009304 -L 95.967785 251.442863 -L 97.312397 252.302521 -L 98.364564 252.967963 -L 100.761342 254.577156 -L 101.650043 255.206723 -L 103.158121 256.268424 -L 105.554899 258.039082 -L 105.648033 258.110924 -L 107.951678 259.884926 -L 109.363657 261.015126 -L 110.348456 261.805627 -L 112.745235 263.796935 -L 112.888124 263.919328 -L 115.142013 265.864205 -L 116.224368 266.823529 -L 117.538792 268.002601 -L 119.417701 269.727731 -L 119.93557 270.211234 -L 122.332349 272.494008 -L 122.474762 272.631933 -L 124.729128 274.862952 -L 125.400166 275.536134 -L 127.125906 277.314267 -L 128.207307 278.440336 -L 129.522685 279.854738 -L 130.897689 281.344538 -L 131.919463 282.494326 -L 133.471266 284.248739 -L 134.316242 285.247063 -L 135.926489 287.152941 -L 136.71302 288.132413 -L 138.26031 290.057143 -L 139.109799 291.177319 -L 140.468129 292.961345 -L 141.506577 294.419395 -L 142.543686 295.865546 -L 143.903356 297.912002 -L 144.478889 298.769748 -L 146.264049 301.67395 -L 146.300134 301.738897 -L 147.898067 304.578151 -L 148.696913 306.174526 -L 149.361897 307.482353 -L 150.64781 310.386555 -L 151.093691 311.575292 -L 151.749586 313.290756 -L 152.654586 316.194958 -L 153.350097 319.09916 -L 153.49047 319.943404 -L 153.840763 322.003361 -L 154.114924 324.907563 -L 154.168153 327.811765 -L 154.000209 330.715966 -L 153.611851 333.620168 -L 153.49047 334.2009 -L 153.015624 336.52437 -L 152.210976 339.428571 -L 151.198844 342.332773 -L 151.093691 342.584108 -L 150.004858 345.236975 -L 148.696913 347.978279 -L 148.620421 348.141176 -L 147.072249 351.045378 -L 146.300134 352.344835 -L 145.358817 353.94958 -L 143.903356 356.208718 -L 143.491847 356.853782 -L 141.506577 359.722011 -L 141.48185 359.757983 -L 139.338137 362.662185 -L 139.109799 362.952858 -L 137.064911 365.566387 -L 136.71302 365.992347 -L 134.667968 368.470588 -L 134.316242 368.877154 -L 132.151642 371.37479 -L 131.919463 371.631987 -L 129.522685 374.274637 -L 129.518705 374.278992 -L 127.125906 376.807669 -L 126.766786 377.183193 -L 124.729128 379.252459 -L 123.895688 380.087395 -L 122.332349 381.616342 -L 120.902461 382.991597 -L 119.93557 383.903994 -L 117.782313 385.895798 -L 117.538792 386.117873 -L 115.142013 388.253264 -L 114.511688 388.8 -" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 429.12 76.624317 -L 428.408314 78.05042 -L 426.723221 81.04237 -L 424.326443 84.857813 -L 421.929664 88.345549 -L 419.532886 91.583142 -L 416.452893 95.47563 -L 411.428606 101.284034 -L 405.935175 107.092437 -L 402.755436 110.24474 -L 396.767034 115.805042 -L 393.168322 118.935317 -L 388.374765 122.844033 -L 383.581208 126.456774 -L 378.787651 129.753079 -L 373.994094 132.707258 -L 369.200537 135.287477 -L 364.40698 137.454449 -L 359.971372 139.038655 -L 359.613423 139.159575 -L 357.216644 139.840467 -L 354.819866 140.390629 -L 352.423087 140.808476 -L 350.026309 141.092803 -L 347.62953 141.242792 -L 345.232752 141.258009 -L 342.835973 141.138411 -L 340.439195 140.884342 -L 338.042416 140.496536 -L 335.645638 139.976109 -L 332.37122 139.038655 -L 330.852081 138.556144 -L 328.455302 137.671059 -L 323.661745 135.551923 -L 318.868188 133.016038 -L 314.074631 130.10291 -L 309.281074 126.844533 -L 304.487517 123.266715 -L 298.893479 118.709244 -L 294.900403 115.223289 -L 289.312267 109.996639 -L 283.580621 104.188235 -L 278.320948 98.379832 -L 273.537523 92.571429 -L 269.259065 86.763025 -L 265.541022 80.954622 -L 263.742282 77.70205 -L 262.451382 75.146218 -L 261.171435 72.242017 -L 260.070478 69.337815 -L 258.948725 65.482865 -L 258.47582 63.529412 -L 257.988978 60.62521 -L 257.720562 57.721008 -L 257.671784 54.816807 -L 257.842866 51.912605 -L 258.233033 49.008403 -L 258.948725 45.721949 -L 259.647317 43.2 -L 259.647317 43.2 -" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 152.19384 43.2 -L 153.002428 46.104202 -L 153.49047 48.476262 -L 153.602444 49.008403 -L 153.994935 51.912605 -L 154.167035 54.816807 -L 154.117967 57.721008 -L 153.847952 60.62521 -L 153.49047 62.745109 -L 153.36115 63.529412 -L 152.669612 66.433613 -L 151.768518 69.337815 -L 151.093691 71.108888 -L 150.67013 72.242017 -L 149.387864 75.146218 -L 148.696913 76.508371 -L 147.927096 78.05042 -L 146.300134 80.947179 -L 146.296007 80.954622 -L 144.514002 83.858824 -L 143.903356 84.770301 -L 142.581421 86.763025 -L 141.506577 88.263811 -L 140.508383 89.667227 -L 139.109799 91.50628 -L 138.302988 92.571429 -L 136.71302 94.551277 -L 135.97151 95.47563 -L 134.316242 97.436542 -L 133.518558 98.379832 -L 131.919463 100.189105 -L 130.947189 101.284034 -L 129.522685 102.828482 -L 128.25896 104.188235 -L 127.125906 105.368745 -L 125.453927 107.092437 -L 124.729128 107.819882 -L 122.530593 109.996639 -L 122.332349 110.188705 -L 119.93557 112.472302 -L 119.476738 112.90084 -L 117.538792 114.680657 -L 116.285671 115.805042 -L 115.142013 116.818887 -L 112.951707 118.709244 -L 112.745235 118.886116 -L 110.348456 120.877616 -L 109.431856 121.613445 -L 107.951678 122.798247 -L 105.718962 124.517647 -L 105.554899 124.644195 -L 103.158121 126.414722 -L 101.727458 127.421849 -L 100.761342 128.106148 -L 98.364564 129.715085 -L 97.398377 130.32605 -L 95.967785 131.240453 -L 93.571007 132.673659 -L 92.568212 133.230252 -L 91.174228 134.016008 -L 88.77745 135.25863 -L 86.920864 136.134454 -L 86.380671 136.394504 -L 83.983893 137.430732 -L 81.587114 138.346387 -L 79.493316 139.038655 -L 79.190336 139.141398 -L 76.793557 139.825447 -L 74.396779 140.37881 -L 72 140.799891 -" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> - </g> - <g id="LineCollection_8"> - <path clip-path="url(#p553f52e075)" d="M 238.760296 388.8 -L 237.377718 387.892246 -L 234.98094 386.414945 -L 234.077127 385.895798 -L 232.584161 385.025934 -L 230.187383 383.73554 -L 228.677087 382.991597 -L 227.790604 382.546533 -L 225.393826 381.458584 -L 222.997047 380.489137 -L 221.86177 380.087395 -L 220.600268 379.630125 -L 218.20349 378.88809 -L 215.806711 378.274944 -L 213.409933 377.792456 -L 211.013154 377.442015 -L 208.616376 377.224631 -L 207.429774 377.183193 -L 206.219597 377.139677 -L 204.202878 377.183193 -L 203.822819 377.191158 -L 201.42604 377.375164 -L 199.029262 377.69242 -L 196.632483 378.142012 -L 194.235705 378.722644 -L 191.838926 379.432643 -L 189.964737 380.087395 -L 189.442148 380.265626 -L 187.045369 381.204997 -L 184.648591 382.263602 -L 183.163349 382.991597 -L 182.251812 383.429957 -L 179.855034 384.693241 -L 177.75167 385.895798 -L 177.458255 386.061179 -L 175.061477 387.513718 -L 173.072451 388.8 -" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 429.12 137.395905 -L 427.456006 139.038655 -L 426.723221 139.780637 -L 424.614955 141.942857 -L 424.326443 142.247956 -L 421.929664 144.807443 -L 421.89282 144.847059 -L 419.532886 147.478194 -L 419.288924 147.751261 -L 417.136107 150.265105 -L 416.802155 150.655462 -L 414.739329 153.187646 -L 414.435704 153.559664 -L 412.34255 156.272646 -L 412.194315 156.463866 -L 410.083343 159.368067 -L 409.945772 159.571802 -L 408.108246 162.272269 -L 407.548993 163.166567 -L 406.278646 165.176471 -L 405.152215 167.140587 -L 404.605648 168.080672 -L 403.09712 170.984874 -L 402.755436 171.735642 -L 401.75879 173.889076 -L 400.610701 176.793277 -L 400.358658 177.56633 -L 399.649781 179.697479 -L 398.893411 182.601681 -L 398.350103 185.505882 -L 398.022312 188.410084 -L 397.961879 189.994192 -L 397.910328 191.314286 -L 397.961879 192.684972 -L 398.018223 194.218487 -L 398.341943 197.122689 -L 398.881217 200.026891 -L 399.633607 202.931092 -L 400.358658 205.119714 -L 400.591019 205.835294 -L 401.735368 208.739496 -L 402.755436 210.94951 -L 403.070515 211.643697 -L 404.575591 214.547899 -L 405.152215 215.541636 -L 406.245724 217.452101 -L 407.548993 219.517607 -L 408.072582 220.356303 -L 409.945772 223.113268 -L 410.045045 223.260504 -L 412.153283 226.164706 -L 412.34255 226.409133 -L 414.39233 229.068908 -L 414.739329 229.49449 -L 416.756525 231.973109 -L 417.136107 232.417185 -L 419.241115 234.877311 -L 419.532886 235.204131 -L 421.842899 237.781513 -L 421.929664 237.874862 -L 424.326443 240.43596 -L 424.562471 240.685714 -L 426.723221 242.902928 -L 427.401337 243.589916 -L 429.12 245.287365 -" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 196.632483 275.971406 -L 199.029262 276.427571 -L 201.42604 276.749466 -L 203.822819 276.936163 -L 206.219597 276.987123 -L 208.616376 276.902199 -L 211.013154 276.681638 -L 213.409933 276.326073 -L 216.964033 275.536134 -L 218.20349 275.222902 -L 220.600268 274.489867 -L 222.997047 273.631619 -L 227.790604 271.572867 -L 232.584161 269.089601 -L 237.377718 266.223354 -L 242.171275 263.007774 -L 246.964832 259.470069 -L 252.263053 255.206723 -L 256.551946 251.50202 -L 261.961324 246.494118 -L 267.757338 240.685714 -L 270.932617 237.276143 -L 275.726174 231.774865 -L 280.168249 226.164706 -L 284.2498 220.356303 -L 286.075324 217.452101 -L 287.742785 214.547899 -L 290.106846 209.769432 -L 290.584245 208.739496 -L 291.733445 205.835294 -L 292.684199 202.931092 -L 293.440342 200.026891 -L 293.982305 197.122689 -L 294.30764 194.218487 -L 294.414876 191.314286 -L 294.30353 188.410084 -L 293.974104 185.505882 -L 293.428087 182.601681 -L 292.503624 179.205921 -L 291.71368 176.793277 -L 290.106846 172.912529 -L 289.226459 170.984874 -L 287.710067 168.076294 -L 285.313289 164.026282 -L 282.91651 160.36944 -L 280.519732 157.005778 -L 278.122953 153.868012 -L 275.519093 150.655462 -L 270.427214 144.847059 -L 264.864894 139.038655 -L 261.345503 135.59993 -L 255.582201 130.32605 -L 251.758389 127.051082 -L 246.964832 123.213109 -L 242.171275 119.675353 -L 237.377718 116.459672 -L 232.584161 113.593363 -L 227.790604 111.110178 -L 222.997047 109.051776 -L 220.600268 108.193137 -L 216.750621 107.092437 -L 215.806711 106.847299 -L 213.409933 106.357485 -L 211.013154 106.001724 -L 208.616376 105.78104 -L 206.219597 105.69607 -L 203.822819 105.747058 -L 201.42604 105.933858 -L 199.029262 106.255931 -L 195.086991 107.092437 -L 194.235705 107.296257 -L 191.838926 107.997962 -L 189.442148 108.825501 -L 184.648591 110.829899 -L 179.855034 113.263049 -L 175.061477 116.083034 -L 170.267919 119.255905 -L 165.474362 122.754221 -L 159.645325 127.421849 -L 155.887248 130.647586 -L 149.936877 136.134454 -L 146.300134 139.721201 -L 141.411591 144.847059 -L 136.320769 150.655462 -L 131.712784 156.463866 -L 127.627016 162.272269 -L 124.12404 168.080672 -L 122.332349 171.608511 -L 121.277334 173.889076 -L 119.93557 177.389144 -L 119.168161 179.697479 -L 118.412189 182.601681 -L 117.869167 185.505882 -L 117.538792 188.482359 -L 117.428269 191.314286 -L 117.538792 194.230439 -L 117.86101 197.122689 -L 118.400001 200.026891 -L 119.151996 202.931092 -L 120.110085 205.835294 -L 121.253924 208.739496 -L 122.589474 211.643697 -L 124.729128 215.642874 -L 127.125906 219.610564 -L 127.59136 220.356303 -L 129.563836 223.260504 -L 133.910887 229.068908 -L 138.75979 234.877311 -L 144.08082 240.685714 -L 149.880027 246.494118 -L 153.49047 249.880713 -L 158.284027 254.116101 -L 163.136087 258.110924 -L 167.871141 261.71763 -L 172.664698 265.057973 -L 177.458255 268.059682 -L 182.251812 270.689689 -L 187.045369 272.907236 -L 189.442148 273.857791 -L 191.838926 274.684953 -L 194.861629 275.536134 -L 196.632483 275.971406 -L 196.632483 275.971406 -" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> - </g> - <g id="LineCollection_9"> - <path clip-path="url(#p553f52e075)" d="M 221.278624 388.8 -L 220.600268 388.567812 -L 218.20349 387.86713 -L 215.806711 387.288155 -L 213.409933 386.832555 -L 211.013154 386.501643 -L 208.616376 386.296375 -L 206.219597 386.21734 -L 203.822819 386.264766 -L 201.42604 386.438518 -L 199.029262 386.738094 -L 196.632483 387.162631 -L 194.235705 387.710905 -L 191.838926 388.381336 -L 190.569798 388.8 -" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 429.12 146.933896 -L 428.365 147.751261 -L 426.723221 149.605515 -L 425.805407 150.655462 -L 424.326443 152.432205 -L 423.397083 153.559664 -L 421.929664 155.442834 -L 421.139465 156.463866 -L 419.532886 158.677809 -L 419.03395 159.368067 -L 417.136107 162.194379 -L 417.083859 162.272269 -L 415.293454 165.176471 -L 414.739329 166.16706 -L 413.666885 168.080672 -L 412.34255 170.725676 -L 412.212154 170.984874 -L 410.932027 173.889076 -L 409.945772 176.508612 -L 409.83777 176.793277 -L 408.929026 179.697479 -L 408.217498 182.601681 -L 407.706401 185.505882 -L 407.548993 186.988389 -L 407.396428 188.410084 -L 407.291088 191.314286 -L 407.39254 194.218487 -L 407.548993 195.694748 -L 407.698724 197.122689 -L 408.206026 200.026891 -L 408.913811 202.931092 -L 409.818881 205.835294 -L 409.945772 206.170839 -L 410.909721 208.739496 -L 412.186387 211.643697 -L 412.34255 211.954826 -L 413.637912 214.547899 -L 414.739329 216.517079 -L 415.261343 217.452101 -L 417.048701 220.356303 -L 417.136107 220.486798 -L 418.995864 223.260504 -L 419.532886 224.004415 -L 421.098501 226.164706 -L 421.929664 227.239886 -L 423.353276 229.068908 -L 424.326443 230.250678 -L 425.758782 231.973109 -L 426.723221 233.07734 -L 428.31557 234.877311 -L 429.12 235.748832 -" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 196.632483 266.95071 -L 199.029262 267.378145 -L 201.42604 267.679766 -L 203.822819 267.854704 -L 206.219597 267.902455 -L 208.616376 267.82288 -L 211.013154 267.61621 -L 213.409933 267.283039 -L 215.809998 266.823529 -L 218.20349 266.24834 -L 220.600268 265.551284 -L 225.393826 263.80318 -L 230.187383 261.614637 -L 234.98094 259.004568 -L 239.774497 255.996643 -L 244.971605 252.302521 -L 249.361611 248.845788 -L 254.155168 244.702871 -L 258.421216 240.685714 -L 261.345503 237.731774 -L 266.13906 232.460818 -L 268.96913 229.068908 -L 271.22374 226.164706 -L 273.329396 223.255589 -L 275.726174 219.619406 -L 278.122953 215.548907 -L 278.683303 214.547899 -L 280.519732 210.765678 -L 281.411741 208.739496 -L 282.91651 204.500878 -L 283.406768 202.931092 -L 284.116069 200.026891 -L 284.624459 197.122689 -L 284.929639 194.218487 -L 285.030233 191.314286 -L 284.925784 188.410084 -L 284.616766 185.505882 -L 284.104573 182.601681 -L 282.91651 178.182665 -L 282.484448 176.793277 -L 281.389402 173.889076 -L 280.10961 170.984874 -L 278.122953 167.13333 -L 275.726174 163.064941 -L 275.237236 162.272269 -L 273.2879 159.368067 -L 270.932617 156.140203 -L 268.535839 153.086213 -L 266.13906 150.221508 -L 261.345503 144.952418 -L 258.365219 141.942857 -L 254.155168 137.980149 -L 249.361611 133.837682 -L 244.568054 130.073901 -L 239.774497 126.686483 -L 234.98094 123.678616 -L 230.187383 121.068625 -L 225.393826 118.879871 -L 220.600268 117.131865 -L 218.20349 116.434681 -L 215.523559 115.805042 -L 213.409933 115.400414 -L 211.013154 115.067153 -L 208.616376 114.860427 -L 206.219597 114.780831 -L 203.822819 114.828594 -L 201.42604 115.003579 -L 199.029262 115.305282 -L 196.319047 115.805042 -L 194.235705 116.279236 -L 191.838926 116.94632 -L 189.442148 117.733028 -L 184.648591 119.648872 -L 179.855034 121.999948 -L 175.061477 124.761009 -L 170.267919 127.913265 -L 165.474362 131.443865 -L 160.680805 135.345728 -L 156.525104 139.038655 -L 153.469938 141.942857 -L 148.696913 146.871254 -L 145.324098 150.655462 -L 141.506577 155.367723 -L 139.109799 158.59727 -L 138.552612 159.368067 -L 136.60247 162.272269 -L 134.316242 166.062875 -L 133.1855 168.080672 -L 131.73062 170.984874 -L 130.450686 173.889076 -L 129.356157 176.793277 -L 128.447614 179.697479 -L 127.736244 182.601681 -L 127.125906 186.441831 -L 126.91475 188.410084 -L 126.809441 191.314286 -L 126.910863 194.218487 -L 127.217585 197.122689 -L 127.724775 200.026891 -L 128.432403 202.931092 -L 129.522685 206.3257 -L 130.428383 208.739496 -L 131.919463 212.071328 -L 134.316242 216.621469 -L 134.779971 217.452101 -L 136.71302 220.573842 -L 139.109799 224.085059 -L 141.506577 227.315081 -L 143.903356 230.321162 -L 147.83432 234.877311 -L 151.093691 238.345294 -L 155.887248 243.051093 -L 159.704887 246.494118 -L 163.150445 249.398319 -L 167.871141 253.051772 -L 172.664698 256.393371 -L 177.458255 259.352931 -L 182.251812 261.912134 -L 187.045369 264.046331 -L 191.838926 265.736795 -L 196.080286 266.823529 -L 196.632483 266.95071 -L 196.632483 266.95071 -" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> - </g> - <g id="LineCollection_10"> - <path clip-path="url(#p553f52e075)" d="M 429.12 158.005052 -L 428.101383 159.368067 -L 426.723221 161.353173 -L 426.093252 162.272269 -L 424.326443 165.077054 -L 424.264427 165.176471 -L 422.620596 168.080672 -L 421.929664 169.446995 -L 421.157274 170.984874 -L 419.879269 173.889076 -L 419.532886 174.810609 -L 418.790563 176.793277 -L 417.893781 179.697479 -L 417.191619 182.601681 -L 417.136107 182.921321 -L 416.687711 185.505882 -L 416.383725 188.410084 -L 416.280977 191.314286 -L 416.379932 194.218487 -L 416.680143 197.122689 -L 417.136107 199.770531 -L 417.180299 200.026891 -L 417.878767 202.931092 -L 418.771923 205.835294 -L 419.532886 207.87439 -L 419.856999 208.739496 -L 421.13155 211.643697 -L 421.929664 213.236442 -L 422.591333 214.547899 -L 424.231935 217.452101 -L 424.326443 217.603864 -L 426.057327 220.356303 -L 426.723221 221.329253 -L 428.062007 223.260504 -L 429.12 224.678045 -" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 196.632483 258.268303 -L 199.029262 258.686355 -L 201.42604 258.981355 -L 203.822819 259.152453 -L 206.219597 259.199155 -L 208.616376 259.121327 -L 211.013154 258.919194 -L 213.409933 258.593337 -L 215.948685 258.110924 -L 218.20349 257.573654 -L 220.600268 256.882503 -L 225.393826 255.147991 -L 230.187383 252.948252 -L 234.98094 250.297511 -L 239.774497 247.202444 -L 242.171275 245.484876 -L 246.964832 241.707111 -L 249.361611 239.636579 -L 251.758389 237.443824 -L 254.384832 234.877311 -L 257.144817 231.973109 -L 259.705036 229.068908 -L 262.074933 226.164706 -L 264.260802 223.260504 -L 266.266168 220.356303 -L 268.535839 216.665088 -L 269.729704 214.547899 -L 271.190728 211.643697 -L 272.463829 208.739496 -L 273.549935 205.835294 -L 274.442659 202.931092 -L 275.140789 200.026891 -L 275.726174 196.300828 -L 275.941464 194.218487 -L 276.040436 191.314286 -L 275.937671 188.410084 -L 275.6336 185.505882 -L 275.129474 182.601681 -L 274.427652 179.697479 -L 273.329396 176.25374 -L 272.441585 173.889076 -L 270.932617 170.521592 -L 268.535839 166.019342 -L 268.055255 165.176471 -L 266.13906 162.138779 -L 263.742282 158.72473 -L 261.345503 155.612546 -L 258.948725 152.742609 -L 256.551946 150.073132 -L 254.155168 147.574579 -L 249.361611 143.046834 -L 246.964832 140.975825 -L 242.171275 137.198479 -L 239.774497 135.480474 -L 234.98094 132.385523 -L 230.187383 129.734792 -L 225.393826 127.535404 -L 222.997047 126.609838 -L 220.600268 125.800688 -L 218.20349 125.109588 -L 215.695325 124.517647 -L 213.409933 124.089851 -L 211.013154 123.763991 -L 208.616376 123.561855 -L 206.219597 123.484026 -L 203.822819 123.530729 -L 201.42604 123.701829 -L 199.029262 123.996832 -L 196.176315 124.517647 -L 194.235705 124.9555 -L 191.838926 125.616762 -L 187.045369 127.292782 -L 184.648591 128.308141 -L 179.855034 130.675507 -L 175.061477 133.491736 -L 170.267919 136.756949 -L 165.474362 140.478946 -L 163.077584 142.513987 -L 160.49548 144.847059 -L 155.887248 149.440336 -L 153.49047 152.062099 -L 151.093691 154.877852 -L 148.696913 157.927627 -L 146.300134 161.268623 -L 145.612022 162.272269 -L 143.783274 165.176471 -L 141.506577 169.331255 -L 140.675948 170.984874 -L 139.109799 174.65512 -L 138.309211 176.793277 -L 137.412374 179.697479 -L 136.710173 182.601681 -L 136.206326 185.505882 -L 135.902343 188.410084 -L 135.799596 191.314286 -L 135.89855 194.218487 -L 136.198758 197.122689 -L 136.71302 200.085813 -L 137.397359 202.931092 -L 138.290569 205.835294 -L 139.375502 208.739496 -L 141.506577 213.352447 -L 142.10984 214.547899 -L 143.903356 217.697069 -L 146.300134 221.413929 -L 148.696913 224.755571 -L 151.093691 227.805507 -L 153.49047 230.62115 -L 155.887248 233.242661 -L 158.284027 235.698348 -L 160.680805 238.00806 -L 165.474362 242.204251 -L 167.871141 244.1261 -L 172.664698 247.612315 -L 177.458255 250.652471 -L 182.251812 253.247271 -L 187.045369 255.390299 -L 191.838926 257.066443 -L 195.933833 258.110924 -L 196.632483 258.268303 -L 196.632483 258.268303 -" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> - </g> - <g id="LineCollection_11"> - <path clip-path="url(#p553f52e075)" d="M 429.12 173.566813 -L 428.973954 173.889076 -L 427.849747 176.793277 -L 426.922569 179.697479 -L 426.723221 180.494965 -L 426.203303 182.601681 -L 425.688468 185.505882 -L 425.377855 188.410084 -L 425.272868 191.314286 -L 425.37398 194.218487 -L 425.680735 197.122689 -L 426.191747 200.026891 -L 426.723221 202.191818 -L 426.907045 202.931092 -L 427.830475 205.835294 -L 428.95102 208.739496 -L 429.12 209.113375 -" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> - <path clip-path="url(#p553f52e075)" d="M 196.632483 249.547303 -L 199.029262 249.973272 -L 201.42604 250.273859 -L 203.822819 250.448197 -L 206.219597 250.495783 -L 208.616376 250.416482 -L 211.013154 250.21052 -L 213.409933 249.878493 -L 215.901755 249.398319 -L 218.20349 248.831698 -L 220.600268 248.117651 -L 224.97229 246.494118 -L 227.790604 245.22814 -L 230.962188 243.589916 -L 234.98094 241.202801 -L 237.377718 239.593737 -L 239.880506 237.781513 -L 244.568054 233.92665 -L 246.964832 231.731491 -L 249.625948 229.068908 -L 252.26405 226.164706 -L 254.658708 223.260504 -L 256.826286 220.356303 -L 258.948725 217.166465 -L 261.345503 212.974327 -L 262.040486 211.643697 -L 263.742282 207.783509 -L 264.491605 205.835294 -L 265.412126 202.931092 -L 266.13906 199.987118 -L 266.641831 197.122689 -L 266.94783 194.218487 -L 267.048693 191.314286 -L 266.943964 188.410084 -L 266.634118 185.505882 -L 266.120327 182.601681 -L 265.396652 179.697479 -L 264.472394 176.793277 -L 263.345754 173.889076 -L 261.345503 169.708509 -L 260.477561 168.080672 -L 258.739864 165.176471 -L 256.551946 161.949547 -L 254.155168 158.796941 -L 251.758389 155.946014 -L 249.361611 153.339758 -L 246.653729 150.655462 -L 242.171275 146.717398 -L 239.774497 144.819747 -L 234.98094 141.47987 -L 230.187383 138.665098 -L 225.393826 136.361119 -L 222.997047 135.401311 -L 220.600268 134.565575 -L 218.20349 133.851768 -L 215.643039 133.230252 -L 213.409933 132.804438 -L 211.013154 132.472492 -L 208.616376 132.266581 -L 206.219597 132.187299 -L 203.822819 132.234874 -L 201.42604 132.409169 -L 199.029262 132.709681 -L 196.219764 133.230252 -L 194.235705 133.692616 -L 191.838926 134.375606 -L 189.442148 135.181072 -L 186.981585 136.134454 -L 182.251812 138.351909 -L 179.855034 139.662228 -L 176.158036 141.942857 -L 172.664698 144.37756 -L 170.267919 146.233215 -L 167.871141 148.226495 -L 165.185732 150.655462 -L 162.271662 153.559664 -L 159.626403 156.463866 -L 157.226954 159.368067 -L 155.056126 162.272269 -L 153.101437 165.176471 -L 151.093691 168.576398 -L 149.827452 170.984874 -L 148.492933 173.889076 -L 147.368334 176.793277 -L 146.300134 180.260139 -L 145.722103 182.601681 -L 145.207127 185.505882 -L 144.896429 188.410084 -L 144.791412 191.314286 -L 144.892552 194.218487 -L 145.199392 197.122689 -L 145.710545 200.026891 -L 146.425302 202.931092 -L 147.349055 205.835294 -L 148.696913 209.241398 -L 149.800524 211.643697 -L 151.328345 214.547899 -L 153.49047 218.093766 -L 155.887248 221.540227 -L 158.284027 224.615612 -L 160.680805 227.400036 -L 163.077584 229.948158 -L 165.474362 232.297765 -L 168.35937 234.877311 -L 172.664698 238.305015 -L 177.458255 241.580207 -L 180.880609 243.589916 -L 184.648591 245.512763 -L 187.045369 246.576013 -L 189.442148 247.501946 -L 191.838926 248.307683 -L 195.98339 249.398319 -L 196.632483 249.547303 -L 196.632483 249.547303 -" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> - </g> - <g id="LineCollection_12"> - <path clip-path="url(#p553f52e075)" d="M 199.029262 240.858058 -L 201.42604 241.177653 -L 203.822819 241.363015 -L 206.219597 241.413611 -L 208.616376 241.329294 -L 211.013154 241.110309 -L 213.762864 240.685714 -L 215.806711 240.258307 -L 218.20349 239.621368 -L 220.600268 238.850537 -L 223.383954 237.781513 -L 225.393826 236.884419 -L 229.246428 234.877311 -L 230.187383 234.333396 -L 233.821491 231.973109 -L 237.377718 229.29354 -L 239.774497 227.225083 -L 242.171275 224.945985 -L 244.568054 222.413096 -L 246.964832 219.56205 -L 249.361611 216.295122 -L 250.520806 214.547899 -L 252.226219 211.643697 -L 254.155168 207.643644 -L 254.908789 205.835294 -L 255.906195 202.931092 -L 256.682866 200.026891 -L 257.228089 197.122689 -L 257.55538 194.218487 -L 257.663261 191.314286 -L 257.551246 188.410084 -L 257.219838 185.505882 -L 256.551946 182.1513 -L 255.889428 179.697479 -L 254.887973 176.793277 -L 253.659705 173.889076 -L 251.758389 170.222361 -L 249.361611 166.388581 -L 248.525849 165.176471 -L 246.291986 162.272269 -L 243.753958 159.368067 -L 240.870535 156.463866 -L 237.377718 153.388398 -L 233.743416 150.655462 -L 230.187383 148.350536 -L 227.790604 146.998815 -L 223.259165 144.847059 -L 222.997047 144.734315 -L 220.600268 143.832381 -L 218.20349 143.062036 -L 215.806711 142.425497 -L 213.409933 141.925151 -L 211.013154 141.572313 -L 208.616376 141.353443 -L 206.219597 141.269171 -L 203.822819 141.31974 -L 201.42604 141.505005 -L 198.402219 141.942857 -L 196.632483 142.287493 -L 194.235705 142.890278 -L 191.838926 143.627365 -L 188.601356 144.847059 -L 187.045369 145.519521 -L 182.67919 147.751261 -L 182.251812 147.992241 -L 178.09175 150.655462 -L 175.061477 152.915622 -L 172.664698 154.926226 -L 170.267919 157.139006 -L 167.871141 159.594443 -L 165.474362 162.353095 -L 163.077584 165.507033 -L 160.680805 169.200494 -L 159.646947 170.984874 -L 158.175876 173.889076 -L 156.953299 176.793277 -L 155.887248 179.909887 -L 155.174244 182.601681 -L 154.621672 185.505882 -L 154.288291 188.410084 -L 154.175608 191.314286 -L 154.284132 194.218487 -L 154.613372 197.122689 -L 155.161841 200.026891 -L 155.928108 202.931092 -L 156.93234 205.835294 -L 158.284027 209.010275 -L 159.617271 211.643697 -L 161.317042 214.547899 -L 163.267786 217.452101 -L 165.493408 220.356303 -L 168.025999 223.260504 -L 170.908455 226.164706 -L 174.198306 229.068908 -L 177.458255 231.582771 -L 179.855034 233.209529 -L 182.580181 234.877311 -L 184.648591 235.99608 -L 188.472572 237.781513 -L 189.442148 238.18587 -L 191.838926 239.055682 -L 194.235705 239.793233 -L 198.117216 240.685714 -L 199.029262 240.858058 -L 199.029262 240.858058 -" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> - </g> - <g id="LineCollection_13"> - <path clip-path="url(#p553f52e075)" d="M 194.235705 229.520256 -L 196.632483 230.205718 -L 199.029262 230.73648 -L 201.42604 231.111015 -L 203.822819 231.328242 -L 206.219597 231.387536 -L 208.616376 231.288725 -L 211.013154 231.032095 -L 213.409933 230.618384 -L 215.806711 230.048786 -L 218.20349 229.324941 -L 218.904007 229.068908 -L 220.600268 228.412984 -L 222.997047 227.327867 -L 225.244757 226.164706 -L 225.393826 226.082421 -L 227.790604 224.597701 -L 229.742278 223.260504 -L 230.187383 222.932164 -L 232.584161 220.999716 -L 233.321562 220.356303 -L 234.98094 218.780521 -L 236.284573 217.452101 -L 237.377718 216.224148 -L 238.778586 214.547899 -L 239.774497 213.213605 -L 240.881675 211.643697 -L 242.171275 209.555841 -L 242.650471 208.739496 -L 244.105807 205.835294 -L 244.568054 204.715952 -L 245.272204 202.931092 -L 246.168204 200.026891 -L 246.810408 197.122689 -L 246.964832 195.959345 -L 247.186646 194.218487 -L 247.308619 191.314286 -L 247.181971 188.410084 -L 246.964832 186.727079 -L 246.80069 185.505882 -L 246.153682 182.601681 -L 245.252944 179.697479 -L 244.568054 177.968459 -L 244.080777 176.793277 -L 242.620685 173.889076 -L 242.171275 173.125543 -L 240.84547 170.984874 -L 239.774497 169.469779 -L 238.735295 168.080672 -L 237.377718 166.459416 -L 236.23337 165.176471 -L 234.98094 163.902399 -L 233.261405 162.272269 -L 232.584161 161.682221 -L 230.187383 159.752638 -L 229.665277 159.368067 -L 227.790604 158.085292 -L 225.393826 156.602494 -L 225.142357 156.463866 -L 222.997047 155.354952 -L 220.600268 154.271063 -L 218.758458 153.559664 -L 218.20349 153.357028 -L 215.806711 152.633898 -L 213.409933 152.064862 -L 211.013154 151.65156 -L 208.616376 151.395183 -L 206.219597 151.296469 -L 203.822819 151.355705 -L 201.42604 151.572717 -L 199.029262 151.946882 -L 196.632483 152.477121 -L 194.235705 153.161905 -L 193.097194 153.559664 -L 191.838926 154.024687 -L 189.442148 155.069318 -L 187.045369 156.269781 -L 186.701516 156.463866 -L 184.648591 157.699677 -L 182.251812 159.300828 -L 182.159978 159.368067 -L 179.855034 161.184731 -L 178.58296 162.272269 -L 177.458255 163.318529 -L 175.600737 165.176471 -L 175.061477 165.77091 -L 173.097834 168.080672 -L 172.664698 168.650939 -L 170.992307 170.984874 -L 170.267919 172.138673 -L 169.224977 173.889076 -L 167.871141 176.549218 -L 167.752629 176.793277 -L 166.58955 179.697479 -L 165.678882 182.601681 -L 165.474362 183.509692 -L 165.043276 185.505882 -L 164.664886 188.410084 -L 164.536989 191.314286 -L 164.660165 194.218487 -L 165.033856 197.122689 -L 165.474362 199.17776 -L 165.6642 200.026891 -L 166.570077 202.931092 -L 167.728454 205.835294 -L 167.871141 206.130101 -L 169.194825 208.739496 -L 170.267919 210.545386 -L 170.955606 211.643697 -L 172.664698 214.034324 -L 173.053882 214.547899 -L 175.061477 216.914009 -L 175.548661 217.452101 -L 177.458255 219.365386 -L 178.521654 220.356303 -L 179.855034 221.497945 -L 182.088016 223.260504 -L 182.251812 223.380589 -L 184.648591 224.983816 -L 186.60774 226.164706 -L 187.045369 226.412001 -L 189.442148 227.613825 -L 191.838926 228.659639 -L 192.945078 229.068908 -L 194.235705 229.520256 -" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> - </g> - <g id="LineCollection_14"> - <path clip-path="url(#p553f52e075)" d="M 196.632483 217.54441 -L 199.029262 218.246276 -L 201.42604 218.74155 -L 203.822819 219.028805 -L 206.219597 219.107213 -L 208.616376 218.976549 -L 211.013154 218.637187 -L 213.409933 218.090108 -L 215.440097 217.452101 -L 215.806711 217.325094 -L 218.20349 216.269922 -L 220.600268 214.992942 -L 221.313707 214.547899 -L 222.997047 213.372172 -L 225.162143 211.643697 -L 225.393826 211.43251 -L 227.790604 208.980698 -L 228.003786 208.739496 -L 230.187383 205.845452 -L 230.194395 205.835294 -L 231.846554 202.931092 -L 232.584161 201.273106 -L 233.096468 200.026891 -L 233.952185 197.122689 -L 234.465863 194.218487 -L 234.635181 191.314286 -L 234.459374 188.410084 -L 233.939236 185.505882 -L 233.077118 182.601681 -L 232.584161 181.408844 -L 231.81878 179.697479 -L 230.187383 176.841367 -L 230.15736 176.793277 -L 227.958938 173.889076 -L 227.790604 173.699131 -L 225.393826 171.253948 -L 225.097839 170.984874 -L 222.997047 169.311575 -L 221.230667 168.080672 -L 220.600268 167.688203 -L 218.20349 166.413731 -L 215.806711 165.360633 -L 215.274069 165.176471 -L 213.409933 164.591637 -L 211.013154 164.045489 -L 208.616376 163.706705 -L 206.219597 163.576263 -L 203.822819 163.654537 -L 201.42604 163.941304 -L 199.029262 164.435735 -L 196.632483 165.136407 -L 196.526367 165.176471 -L 194.235705 166.129574 -L 191.838926 167.349021 -L 190.619557 168.080672 -L 189.442148 168.871433 -L 187.045369 170.721262 -L 186.742284 170.984874 -L 184.648591 173.063239 -L 183.898938 173.889076 -L 182.251812 176.013405 -L 181.7001 176.793277 -L 180.005634 179.697479 -L 179.855034 180.027143 -L 178.770763 182.601681 -L 177.892192 185.505882 -L 177.458255 187.883408 -L 177.368853 188.410084 -L 177.202225 191.314286 -L 177.362703 194.218487 -L 177.458255 194.788474 -L 177.878996 197.122689 -L 178.751044 200.026891 -L 179.855034 202.662114 -L 179.977265 202.931092 -L 181.664879 205.835294 -L 182.251812 206.667664 -L 183.853 208.739496 -L 184.648591 209.618314 -L 186.683396 211.643697 -L 187.045369 211.95925 -L 189.442148 213.813324 -L 190.533396 214.547899 -L 191.838926 215.332791 -L 194.235705 216.554639 -L 196.388402 217.452101 -L 196.632483 217.54441 -" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> - </g> - <g id="patch_3"> - <path d="M 72 388.8 -L 72 43.2 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> - <g id="patch_4"> - <path d="M 429.12 388.8 -L 429.12 43.2 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> - <g id="patch_5"> - <path d="M 72 388.8 -L 429.12 388.8 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> - <g id="patch_6"> - <path d="M 72 43.2 -L 429.12 43.2 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> </g> <g id="matplotlib.axis_1"> <g id="xtick_1"> <g id="line2d_1"> <defs> <path d="M 0 0 -L 0 -4 -" id="m368fc901b1" style="stroke:#000000;stroke-width:0.5;"/> - </defs> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m368fc901b1" y="388.8"/> - </g> - </g> - <g id="line2d_2"> - <defs> - <path d="M 0 0 -L 0 4 -" id="mc63e59a608" style="stroke:#000000;stroke-width:0.5;"/> +L 0 3.5 +" id="mba93285ecf" style="stroke:#000000;stroke-width:0.8;"/> </defs> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#mc63e59a608" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mba93285ecf" y="307.584"/> </g> </g> <g id="text_1"> @@ -17711,7 +14417,7 @@ L 73.1875 35.5 L 73.1875 27.203125 L 10.59375 27.203125 z -" id="DejaVuSans-2212"/> +" id="DejaVuSans-8722"/> <path d="M 40.578125 39.3125 Q 47.65625 37.796875 51.625 33 Q 55.609375 28.21875 55.609375 21.1875 @@ -17743,23 +14449,18 @@ Q 53.90625 64.015625 53.90625 55.328125 Q 53.90625 49.265625 50.4375 45.09375 Q 46.96875 40.921875 40.578125 39.3125 z -" id="DejaVuSans-33"/> +" id="DejaVuSans-51"/> </defs> - <g transform="translate(63.154688 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-33"/> + <g transform="translate(50.228906 322.182437)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-8722"/> + <use x="83.789062" xlink:href="#DejaVuSans-51"/> </g> </g> </g> <g id="xtick_2"> - <g id="line2d_3"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="116.64" xlink:href="#m368fc901b1" y="388.8"/> - </g> - </g> - <g id="line2d_4"> + <g id="line2d_2"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="116.64" xlink:href="#mc63e59a608" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.8;" x="93.312" xlink:href="#mba93285ecf" y="307.584"/> </g> </g> <g id="text_2"> @@ -17788,23 +14489,18 @@ Q 49.859375 40.875 45.40625 35.40625 Q 44.1875 33.984375 37.640625 27.21875 Q 31.109375 20.453125 19.1875 8.296875 z -" id="DejaVuSans-32"/> +" id="DejaVuSans-50"/> </defs> - <g transform="translate(107.794688 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-32"/> + <g transform="translate(85.940906 322.182437)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-8722"/> + <use x="83.789062" xlink:href="#DejaVuSans-50"/> </g> </g> </g> <g id="xtick_3"> - <g id="line2d_5"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="161.28" xlink:href="#m368fc901b1" y="388.8"/> - </g> - </g> - <g id="line2d_6"> + <g id="line2d_3"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="161.28" xlink:href="#mc63e59a608" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.8;" x="129.024" xlink:href="#mba93285ecf" y="307.584"/> </g> </g> <g id="text_3"> @@ -17822,23 +14518,18 @@ L 54.390625 8.296875 L 54.390625 0 L 12.40625 0 z -" id="DejaVuSans-31"/> +" id="DejaVuSans-49"/> </defs> - <g transform="translate(152.434688 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-31"/> + <g transform="translate(121.652906 322.182437)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-8722"/> + <use x="83.789062" xlink:href="#DejaVuSans-49"/> </g> </g> </g> <g id="xtick_4"> - <g id="line2d_7"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="205.92" xlink:href="#m368fc901b1" y="388.8"/> - </g> - </g> - <g id="line2d_8"> + <g id="line2d_4"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="205.92" xlink:href="#mc63e59a608" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.8;" x="164.736" xlink:href="#mba93285ecf" y="307.584"/> </g> </g> <g id="text_4"> @@ -17864,76 +14555,56 @@ Q 6.59375 17.96875 6.59375 36.375 Q 6.59375 54.828125 13.0625 64.515625 Q 19.53125 74.21875 31.78125 74.21875 z -" id="DejaVuSans-30"/> +" id="DejaVuSans-48"/> </defs> - <g transform="translate(202.1025 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-30"/> + <g transform="translate(161.55475 322.182437)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-48"/> </g> </g> </g> <g id="xtick_5"> - <g id="line2d_9"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="250.56" xlink:href="#m368fc901b1" y="388.8"/> - </g> - </g> - <g id="line2d_10"> + <g id="line2d_5"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="250.56" xlink:href="#mc63e59a608" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.8;" x="200.448" xlink:href="#mba93285ecf" y="307.584"/> </g> </g> <g id="text_5"> <!-- 1 --> - <g transform="translate(246.7425 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-31"/> + <g transform="translate(197.26675 322.182437)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-49"/> </g> </g> </g> <g id="xtick_6"> - <g id="line2d_11"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="295.2" xlink:href="#m368fc901b1" y="388.8"/> - </g> - </g> - <g id="line2d_12"> + <g id="line2d_6"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="295.2" xlink:href="#mc63e59a608" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.8;" x="236.16" xlink:href="#mba93285ecf" y="307.584"/> </g> </g> <g id="text_6"> <!-- 2 --> - <g transform="translate(291.3825 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-32"/> + <g transform="translate(232.97875 322.182437)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-50"/> </g> </g> </g> <g id="xtick_7"> - <g id="line2d_13"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="339.84" xlink:href="#m368fc901b1" y="388.8"/> - </g> - </g> - <g id="line2d_14"> + <g id="line2d_7"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="339.84" xlink:href="#mc63e59a608" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.8;" x="271.872" xlink:href="#mba93285ecf" y="307.584"/> </g> </g> <g id="text_7"> <!-- 3 --> - <g transform="translate(336.0225 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-33"/> + <g transform="translate(268.69075 322.182437)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-51"/> </g> </g> </g> <g id="xtick_8"> - <g id="line2d_15"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="384.48" xlink:href="#m368fc901b1" y="388.8"/> - </g> - </g> - <g id="line2d_16"> + <g id="line2d_8"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="384.48" xlink:href="#mc63e59a608" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.8;" x="307.584" xlink:href="#mba93285ecf" y="307.584"/> </g> </g> <g id="text_8"> @@ -17955,22 +14626,17 @@ L 37.796875 17.1875 L 4.890625 17.1875 L 4.890625 26.703125 z -" id="DejaVuSans-34"/> +" id="DejaVuSans-52"/> </defs> - <g transform="translate(380.6625 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-34"/> + <g transform="translate(304.40275 322.182437)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-52"/> </g> </g> </g> <g id="xtick_9"> - <g id="line2d_17"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="429.12" xlink:href="#m368fc901b1" y="388.8"/> - </g> - </g> - <g id="line2d_18"> + <g id="line2d_9"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="429.12" xlink:href="#mc63e59a608" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.8;" x="343.296" xlink:href="#mba93285ecf" y="307.584"/> </g> </g> <g id="text_9"> @@ -17999,391 +14665,3371 @@ Q 35.15625 39.890625 26.703125 39.890625 Q 22.75 39.890625 18.8125 39.015625 Q 14.890625 38.140625 10.796875 36.28125 z -" id="DejaVuSans-35"/> +" id="DejaVuSans-53"/> </defs> - <g transform="translate(425.3025 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-35"/> + <g transform="translate(340.11475 322.182437)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-53"/> </g> </g> </g> </g> <g id="matplotlib.axis_2"> <g id="ytick_1"> - <g id="line2d_19"> - <defs> - <path d="M 0 0 -L 4 0 -" id="m556f96d829" style="stroke:#000000;stroke-width:0.5;"/> - </defs> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m556f96d829" y="388.8"/> - </g> - </g> - <g id="line2d_20"> + <g id="line2d_10"> <defs> <path d="M 0 0 -L -4 0 -" id="m27e32ca04a" style="stroke:#000000;stroke-width:0.5;"/> +L -3.5 0 +" id="mc8a02073fc" style="stroke:#000000;stroke-width:0.8;"/> </defs> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="429.12" xlink:href="#m27e32ca04a" y="388.8"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mc8a02073fc" y="307.584"/> </g> </g> <g id="text_10"> <!-- −3 --> - <g transform="translate(50.309375 393.359062)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-33"/> + <g transform="translate(35.857813 311.383219)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-8722"/> + <use x="83.789062" xlink:href="#DejaVuSans-51"/> </g> </g> </g> <g id="ytick_2"> - <g id="line2d_21"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m556f96d829" y="345.6"/> - </g> - </g> - <g id="line2d_22"> + <g id="line2d_11"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="429.12" xlink:href="#m27e32ca04a" y="345.6"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mc8a02073fc" y="274.32"/> </g> </g> <g id="text_11"> <!-- −2 --> - <g transform="translate(50.309375 350.159063)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-32"/> + <g transform="translate(35.857813 278.119219)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-8722"/> + <use x="83.789062" xlink:href="#DejaVuSans-50"/> </g> </g> </g> <g id="ytick_3"> - <g id="line2d_23"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m556f96d829" y="302.4"/> - </g> - </g> - <g id="line2d_24"> + <g id="line2d_12"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="429.12" xlink:href="#m27e32ca04a" y="302.4"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mc8a02073fc" y="241.056"/> </g> </g> <g id="text_12"> <!-- −1 --> - <g transform="translate(50.309375 306.959062)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-31"/> + <g transform="translate(35.857813 244.855219)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-8722"/> + <use x="83.789062" xlink:href="#DejaVuSans-49"/> </g> </g> </g> <g id="ytick_4"> - <g id="line2d_25"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m556f96d829" y="259.2"/> - </g> - </g> - <g id="line2d_26"> + <g id="line2d_13"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="429.12" xlink:href="#m27e32ca04a" y="259.2"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mc8a02073fc" y="207.792"/> </g> </g> <g id="text_13"> <!-- 0 --> - <g transform="translate(60.365 263.759063)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-30"/> + <g transform="translate(44.2375 211.591219)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-48"/> </g> </g> </g> <g id="ytick_5"> - <g id="line2d_27"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m556f96d829" y="216"/> - </g> - </g> - <g id="line2d_28"> + <g id="line2d_14"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="429.12" xlink:href="#m27e32ca04a" y="216"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mc8a02073fc" y="174.528"/> </g> </g> <g id="text_14"> <!-- 1 --> - <g transform="translate(60.365 220.559063)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-31"/> + <g transform="translate(44.2375 178.327219)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-49"/> </g> </g> </g> <g id="ytick_6"> - <g id="line2d_29"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m556f96d829" y="172.8"/> - </g> - </g> - <g id="line2d_30"> + <g id="line2d_15"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="429.12" xlink:href="#m27e32ca04a" y="172.8"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mc8a02073fc" y="141.264"/> </g> </g> <g id="text_15"> <!-- 2 --> - <g transform="translate(60.365 177.359062)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-32"/> + <g transform="translate(44.2375 145.063219)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-50"/> </g> </g> </g> <g id="ytick_7"> - <g id="line2d_31"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m556f96d829" y="129.6"/> - </g> - </g> - <g id="line2d_32"> + <g id="line2d_16"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="429.12" xlink:href="#m27e32ca04a" y="129.6"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mc8a02073fc" y="108"/> </g> </g> <g id="text_16"> <!-- 3 --> - <g transform="translate(60.365 134.159062)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-33"/> + <g transform="translate(44.2375 111.799219)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-51"/> </g> </g> </g> <g id="ytick_8"> - <g id="line2d_33"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m556f96d829" y="86.4"/> - </g> - </g> - <g id="line2d_34"> + <g id="line2d_17"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="429.12" xlink:href="#m27e32ca04a" y="86.4"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mc8a02073fc" y="74.736"/> </g> </g> <g id="text_17"> <!-- 4 --> - <g transform="translate(60.365 90.959062)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-34"/> + <g transform="translate(44.2375 78.535219)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-52"/> </g> </g> </g> <g id="ytick_9"> - <g id="line2d_35"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m556f96d829" y="43.2"/> - </g> - </g> - <g id="line2d_36"> + <g id="line2d_18"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="429.12" xlink:href="#m27e32ca04a" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mc8a02073fc" y="41.472"/> </g> </g> <g id="text_18"> <!-- 5 --> - <g transform="translate(60.365 47.759062)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-35"/> + <g transform="translate(44.2375 45.271219)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-53"/> </g> </g> </g> </g> + <g id="LineCollection_1"/> + <g id="LineCollection_2"/> + <g id="LineCollection_3"> + <path clip-path="url(#p0bba778d2e)" d="M 57.6 239.224244 +L 59.517423 239.738704 +L 61.434846 240.41478 +L 61.623345 240.496941 +L 63.352268 241.330654 +L 65.269691 242.429245 +L 65.728776 242.733176 +L 67.187114 243.819018 +L 68.552372 244.969412 +L 69.104537 245.503702 +L 70.684171 247.205647 +L 71.02196 247.635268 +L 72.314415 249.441882 +L 72.939383 250.513742 +L 73.563826 251.678118 +L 74.485492 253.914353 +L 74.856805 255.211977 +L 75.106106 256.150588 +L 75.435838 258.386824 +L 75.499856 260.623059 +L 75.297871 262.859294 +L 74.856805 264.971 +L 74.828783 265.095529 +L 74.042261 267.331765 +L 72.975971 269.568 +L 72.939383 269.629004 +L 71.520933 271.804235 +L 71.02196 272.441639 +L 69.646414 274.040471 +L 69.104537 274.582275 +L 67.217575 276.276706 +L 67.187114 276.3008 +L 65.269691 277.640976 +L 63.828176 278.512941 +L 63.352268 278.771212 +L 61.434846 279.646988 +L 59.517423 280.355448 +L 58.117053 280.749176 +L 57.6 280.881538 +" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> + <path clip-path="url(#p0bba778d2e)" d="M 72.953263 41.472 +L 74.024773 43.708235 +L 74.816595 45.944471 +L 74.856805 46.121285 +L 75.291527 48.180706 +L 75.498511 50.416941 +L 75.439497 52.653176 +L 75.114753 54.889412 +L 74.856805 55.868738 +L 74.500139 57.125647 +L 73.583739 59.361882 +L 72.939383 60.568595 +L 72.341691 61.598118 +L 71.02196 63.449227 +L 70.720197 63.834353 +L 69.104537 65.580065 +L 68.59904 66.070588 +L 67.187114 67.263156 +L 65.788768 68.306824 +L 65.269691 68.651176 +L 63.352268 69.752018 +L 61.715192 70.543059 +L 61.434846 70.665469 +L 59.517423 71.342742 +L 57.6 71.858113 +" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> + <path clip-path="url(#p0bba778d2e)" d="M 297.336595 41.472 +L 298.410164 43.708235 +L 299.195275 45.921266 +L 299.202915 45.944471 +L 299.675771 48.180706 +L 299.883109 50.416941 +L 299.823994 52.653176 +L 299.498693 54.889412 +L 299.195275 56.039397 +L 298.886444 57.125647 +L 297.968282 59.361882 +L 297.277852 60.652398 +L 296.727625 61.598118 +L 295.36043 63.511663 +L 295.106968 63.834353 +L 293.443007 65.627855 +L 292.98548 66.070588 +L 291.525584 67.300223 +L 290.172516 68.306824 +L 289.608161 68.68 +L 287.690738 69.776637 +L 286.097257 70.543059 +L 285.773315 70.683852 +L 283.855893 71.357207 +L 281.93847 71.868619 +L 280.021047 72.216614 +L 278.103624 72.400188 +L 276.186201 72.418812 +L 274.268779 72.272434 +L 272.351356 71.961474 +L 270.433933 71.486829 +L 268.51651 70.849867 +L 267.778802 70.543059 +L 266.599087 70.000101 +L 264.681664 68.942565 +L 263.690248 68.306824 +L 262.764242 67.638764 +L 260.852499 66.070588 +L 260.846819 66.065236 +L 258.929396 64.045719 +L 258.747349 63.834353 +L 257.116738 61.598118 +L 257.011973 61.421679 +L 255.889879 59.361882 +L 255.09455 57.459511 +L 254.96527 57.125647 +L 254.365658 54.889412 +L 254.035067 52.653176 +L 253.97499 50.416941 +L 254.1857 48.180706 +L 254.666245 45.944471 +L 255.09455 44.664356 +L 255.439937 43.708235 +L 256.533086 41.472 +" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> + <path clip-path="url(#p0bba778d2e)" d="M 272.351356 280.97998 +L 271.37239 280.749176 +L 270.433933 280.50617 +L 268.51651 279.839877 +L 266.599087 279.005712 +L 265.65389 278.512941 +L 264.681664 277.947982 +L 262.764242 276.652548 +L 262.274977 276.276706 +L 260.846819 275.031242 +L 259.830278 274.040471 +L 258.929396 273.019759 +L 257.956187 271.804235 +L 257.011973 270.388498 +L 256.50992 269.568 +L 255.422096 267.331765 +L 255.09455 266.418923 +L 254.654728 265.095529 +L 254.179242 262.859294 +L 253.973621 260.623059 +L 254.038791 258.386824 +L 254.37446 256.150588 +L 254.979111 253.914353 +L 255.09455 253.617935 +L 255.910193 251.678118 +L 257.011973 249.66434 +L 257.144635 249.441882 +L 258.780875 247.205647 +L 258.929396 247.033696 +L 260.846819 245.019907 +L 260.900552 244.969412 +L 262.764242 243.444307 +L 263.752312 242.733176 +L 264.681664 242.138452 +L 266.599087 241.083078 +L 267.87523 240.496941 +L 268.51651 240.230708 +L 270.433933 239.594872 +L 272.351356 239.121066 +L 274.268779 238.810656 +L 276.186201 238.664536 +L 278.103624 238.683127 +L 280.021047 238.866377 +L 281.93847 239.213757 +L 283.855893 239.724265 +L 285.773315 240.39643 +L 286.004985 240.496941 +L 287.690738 241.306085 +L 289.608161 242.40048 +L 290.11233 242.733176 +L 291.525584 243.782039 +L 292.93868 244.969412 +L 293.443007 245.456046 +L 295.070853 247.205647 +L 295.36043 247.573047 +L 296.70029 249.441882 +L 297.277852 250.430301 +L 297.948331 251.678118 +L 298.871768 253.914353 +L 299.195275 255.042739 +L 299.490031 256.150588 +L 299.820329 258.386824 +L 299.884457 260.623059 +L 299.682125 262.859294 +L 299.214248 265.095529 +L 299.195275 265.153545 +L 298.427685 267.331765 +L 297.359346 269.568 +L 297.277852 269.703613 +L 295.905092 271.804235 +L 295.36043 272.498501 +L 294.030552 274.040471 +L 293.443007 274.6265 +L 291.600139 276.276706 +L 291.525584 276.335513 +L 289.608161 277.671346 +L 288.211517 278.512941 +L 287.690738 278.794483 +L 285.773315 279.666217 +L 283.855893 280.37058 +L 282.498917 280.749176 +L 281.93847 280.891544 +L 280.021047 281.222978 +L 278.103624 281.397816 +L 276.186201 281.415554 +L 274.268779 281.276142 +L 272.351356 280.97998 +" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> + </g> + <g id="LineCollection_4"> + <path clip-path="url(#p0bba778d2e)" d="M 57.6 229.622509 +L 59.517423 230.007799 +L 61.434846 230.514127 +L 63.352268 231.140034 +L 64.414436 231.552 +L 65.269691 231.903637 +L 67.187114 232.814559 +L 68.998153 233.788235 +L 69.104537 233.849379 +L 71.02196 235.076473 +L 72.369799 236.024471 +L 72.939383 236.456891 +L 74.856805 238.039543 +L 75.105513 238.260706 +L 76.774228 239.880524 +L 77.368314 240.496941 +L 78.691651 242.016025 +L 79.280148 242.733176 +L 80.609074 244.554523 +L 80.895976 244.969412 +L 82.24259 247.205647 +L 82.526497 247.762194 +L 83.343032 249.441882 +L 84.229031 251.678118 +L 84.443919 252.383852 +L 84.890229 253.914353 +L 85.342977 256.150588 +L 85.594318 258.386824 +L 85.643117 260.623059 +L 85.489152 262.859294 +L 85.13312 265.095529 +L 84.576629 267.331765 +L 84.443919 267.72513 +L 83.794735 269.568 +L 82.803853 271.804235 +L 82.526497 272.325645 +L 81.569287 274.040471 +L 80.609074 275.520242 +L 80.091148 276.276706 +L 78.691651 278.077234 +L 78.332132 278.512941 +L 76.774228 280.206835 +L 76.241055 280.749176 +L 74.856805 282.031186 +L 73.746789 282.985412 +L 72.939383 283.625125 +L 71.02196 285.022432 +L 70.72152 285.221647 +L 69.104537 286.220123 +L 67.187114 287.283456 +L 66.831168 287.457882 +L 65.269691 288.176881 +L 63.352268 288.940974 +L 61.434846 289.58406 +L 61.0292 289.694118 +L 59.517423 290.082595 +L 57.6 290.457526 +" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> + <path clip-path="url(#p0bba778d2e)" d="M 83.777959 41.472 +L 84.443919 43.353283 +L 84.564256 43.708235 +L 85.124496 45.944471 +L 85.484316 48.180706 +L 85.642091 50.416941 +L 85.597107 52.653176 +L 85.349568 54.889412 +L 84.900593 57.125647 +L 84.443919 58.700684 +L 84.243742 59.361882 +L 83.361567 61.598118 +L 82.526497 63.321864 +L 82.265964 63.834353 +L 80.923169 66.070588 +L 80.609074 66.525889 +L 79.31274 68.306824 +L 78.691651 69.065243 +L 77.406897 70.543059 +L 76.774228 71.200671 +L 75.150826 72.779294 +L 74.856805 73.041154 +L 72.939383 74.626244 +L 72.427404 75.015529 +L 71.02196 76.005373 +L 69.104537 77.234116 +L 69.073872 77.251765 +L 67.187114 78.267342 +L 65.269691 79.179334 +L 64.519833 79.488 +L 63.352268 79.94131 +L 61.434846 80.567858 +L 59.517423 81.074706 +L 57.6 81.460391 +" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> + <path clip-path="url(#p0bba778d2e)" d="M 308.163413 41.472 +L 308.782389 43.218614 +L 308.948546 43.708235 +L 309.509345 45.944471 +L 309.869523 48.180706 +L 310.027455 50.416941 +L 309.982427 52.653176 +L 309.734641 54.889412 +L 309.285218 57.125647 +L 308.782389 58.858147 +L 308.629714 59.361882 +L 307.746558 61.598118 +L 306.864966 63.415871 +L 306.65196 63.834353 +L 305.307501 66.070588 +L 304.947544 66.591724 +L 303.697409 68.306824 +L 303.030121 69.120534 +L 301.791534 70.543059 +L 301.112698 71.247575 +L 299.534828 72.779294 +L 299.195275 73.081187 +L 297.277852 74.663237 +L 296.813524 75.015529 +L 295.36043 76.036723 +L 293.459738 77.251765 +L 293.443007 77.261768 +L 291.525584 78.290964 +L 289.608161 79.200001 +L 288.905826 79.488 +L 287.690738 79.957958 +L 285.773315 80.581615 +L 283.855893 81.085531 +L 281.93847 81.468254 +L 280.053781 81.724235 +L 280.021047 81.72846 +L 278.103624 81.859015 +L 276.186201 81.872261 +L 274.268779 81.768159 +L 273.887952 81.724235 +L 272.351356 81.537743 +L 270.433933 81.182535 +L 268.51651 80.705855 +L 266.599087 80.109076 +L 264.93391 79.488 +L 264.681664 79.388252 +L 262.764242 78.506708 +L 260.846819 77.504381 +L 260.414428 77.251765 +L 258.929396 76.324111 +L 257.029073 75.015529 +L 257.011973 75.002817 +L 255.09455 73.449104 +L 254.328935 72.779294 +L 253.177128 71.679066 +L 252.066603 70.543059 +L 251.259705 69.629621 +L 250.160783 68.306824 +L 249.342282 67.198358 +L 248.55419 66.070588 +L 247.424859 64.213918 +L 247.205138 63.834353 +L 246.109192 61.598118 +L 245.507436 60.090257 +L 245.229386 59.361882 +L 244.574248 57.125647 +L 244.120596 54.889412 +L 243.870479 52.653176 +L 243.825027 50.416941 +L 243.984445 48.180706 +L 244.348013 45.944471 +L 244.914089 43.708235 +L 245.507436 41.976094 +L 245.687957 41.472 +" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> + <path clip-path="url(#p0bba778d2e)" d="M 268.51651 289.724029 +L 268.41765 289.694118 +L 266.599087 289.113168 +L 264.681664 288.379134 +L 262.764242 287.525712 +L 262.630209 287.457882 +L 260.846819 286.497395 +L 258.929396 285.343258 +L 258.746118 285.221647 +L 257.011973 283.986041 +L 255.723535 282.985412 +L 255.09455 282.455408 +L 253.219077 280.749176 +L 253.177128 280.70726 +L 251.259705 278.655517 +L 251.134398 278.512941 +L 249.371131 276.276706 +L 249.342282 276.23517 +L 247.899695 274.040471 +L 247.424859 273.200697 +L 246.673392 271.804235 +L 245.670986 269.568 +L 245.507436 269.109061 +L 244.901587 267.331765 +L 244.339299 265.095529 +L 243.979559 262.859294 +L 243.823991 260.623059 +L 243.873297 258.386824 +L 244.127256 256.150588 +L 244.58472 253.914353 +L 245.243621 251.678118 +L 245.507436 250.990017 +L 246.127942 249.441882 +L 247.227671 247.205647 +L 247.424859 246.865974 +L 248.581735 244.969412 +L 249.342282 243.883661 +L 250.193846 242.733176 +L 251.259705 241.452801 +L 252.105807 240.496941 +L 253.177128 239.402974 +L 254.375064 238.260706 +L 255.09455 237.63222 +L 257.011973 236.080897 +L 257.08799 236.024471 +L 258.929396 234.758163 +L 260.484189 233.788235 +L 260.846819 233.576624 +L 262.764242 232.575475 +L 264.681664 231.694964 +L 265.043623 231.552 +L 266.599087 230.972439 +L 268.51651 230.376272 +L 270.433933 229.90008 +L 272.351356 229.545236 +L 274.244018 229.315765 +L 274.268779 229.312911 +L 276.186201 229.208902 +L 278.103624 229.222136 +L 279.479951 229.315765 +L 280.021047 229.354494 +L 281.93847 229.614654 +L 283.855893 229.996985 +L 285.773315 230.500384 +L 287.690738 231.123402 +L 288.800024 231.552 +L 289.608161 231.882995 +L 291.525584 232.790965 +L 293.385712 233.788235 +L 293.443007 233.821073 +L 295.36043 235.045165 +L 296.755794 236.024471 +L 297.277852 236.419955 +L 299.195275 237.999571 +L 299.489437 238.260706 +L 301.112698 239.833703 +L 301.752892 240.496941 +L 303.030121 241.960846 +L 303.664772 242.733176 +L 304.947544 244.488845 +L 305.280275 244.969412 +L 306.628557 247.205647 +L 306.864966 247.66851 +L 307.728003 249.441882 +L 308.614987 251.678118 +L 308.782389 252.227289 +L 309.274845 253.914353 +L 309.728044 256.150588 +L 309.979635 258.386824 +L 310.028482 260.623059 +L 309.874364 262.859294 +L 309.517977 265.095529 +L 308.960932 267.331765 +L 308.782389 267.860458 +L 308.180208 269.568 +L 307.188224 271.804235 +L 306.864966 272.41126 +L 305.95442 274.040471 +L 304.947544 275.590235 +L 304.476891 276.276706 +L 303.030121 278.135489 +L 302.718192 278.512941 +L 301.112698 280.255899 +L 300.626928 280.749176 +L 299.195275 282.072816 +L 298.131646 282.985412 +L 297.277852 283.66058 +L 295.36043 285.05487 +L 295.108294 285.221647 +L 293.443007 286.247435 +L 291.525584 287.307794 +L 291.218307 287.457882 +L 289.608161 288.196888 +L 287.690738 288.958062 +L 285.773315 289.59818 +L 285.417655 289.694118 +L 283.855893 290.093118 +L 281.93847 290.46517 +L 280.021047 290.718335 +L 278.103624 290.851885 +L 276.186201 290.865434 +L 274.268779 290.758944 +L 272.351356 290.532721 +L 270.433933 290.187418 +L 268.51651 289.724029 +" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> + </g> + <g id="LineCollection_5"> + <path clip-path="url(#p0bba778d2e)" d="M 57.6 221.852222 +L 59.517423 222.178961 +L 61.429111 222.607059 +L 61.434846 222.608385 +L 63.352268 223.156492 +L 65.269691 223.807734 +L 67.187114 224.560235 +L 67.824445 224.843294 +L 69.104537 225.433758 +L 71.02196 226.418564 +L 72.192904 227.079529 +L 72.939383 227.519873 +L 74.856805 228.749607 +L 75.676193 229.315765 +L 76.774228 230.114011 +L 78.624747 231.552 +L 78.691651 231.607111 +L 80.609074 233.283848 +L 81.155726 233.788235 +L 82.526497 235.140339 +L 83.380666 236.024471 +L 84.443919 237.212395 +L 85.342526 238.260706 +L 86.361342 239.55812 +L 87.070613 240.496941 +L 88.278765 242.266147 +L 88.586893 242.733176 +L 89.898728 244.969412 +L 90.196188 245.551707 +L 91.015708 247.205647 +L 91.954363 249.441882 +L 92.113611 249.907378 +L 92.703371 251.678118 +L 93.275765 253.914353 +L 93.673167 256.150588 +L 93.893783 258.386824 +L 93.936616 260.623059 +L 93.801473 262.859294 +L 93.488963 265.095529 +L 93.0005 267.331765 +L 92.338289 269.568 +L 92.113611 270.171185 +L 91.488803 271.804235 +L 90.461689 274.040471 +L 90.196188 274.537726 +L 89.238933 276.276706 +L 88.278765 277.813167 +L 87.826139 278.512941 +L 86.361342 280.544683 +L 86.208101 280.749176 +L 84.443919 282.892651 +L 84.364201 282.985412 +L 82.526497 284.95626 +L 82.266822 285.221647 +L 80.609074 286.79939 +L 79.879046 287.457882 +L 78.691651 288.464284 +L 77.151282 289.694118 +L 76.774228 289.979238 +L 74.856805 291.335684 +L 73.951186 291.930353 +L 72.939383 292.564097 +L 71.02196 293.668725 +L 70.072184 294.166588 +L 69.104537 294.653554 +L 67.187114 295.520154 +L 65.269691 296.285917 +L 64.931451 296.402824 +L 63.352268 296.929959 +L 61.434846 297.468638 +L 59.517423 297.904404 +L 57.6 298.236 +" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> + <path clip-path="url(#p0bba778d2e)" d="M 92.324186 41.472 +L 92.989639 43.708235 +L 93.481393 45.944471 +L 93.797228 48.180706 +L 93.935716 50.416941 +L 93.896231 52.653176 +L 93.678952 54.889412 +L 93.284861 57.125647 +L 92.715738 59.361882 +L 92.113611 61.177588 +L 91.970367 61.598118 +L 91.034941 63.834353 +L 90.196188 65.531923 +L 89.921796 66.070588 +L 88.613097 68.306824 +L 88.278765 68.814608 +L 87.100858 70.543059 +L 86.361342 71.523646 +L 85.377066 72.779294 +L 84.443919 73.869576 +L 83.41981 75.015529 +L 82.526497 75.941421 +L 81.199846 77.251765 +L 80.609074 77.797501 +L 78.691651 79.476209 +L 78.677353 79.488 +L 76.774228 80.968385 +L 75.735577 81.724235 +L 74.856805 82.331966 +L 72.939383 83.562797 +L 72.265839 83.960471 +L 71.02196 84.663146 +L 69.104537 85.648711 +L 67.917429 86.196706 +L 67.187114 86.521276 +L 65.269691 87.274271 +L 63.352268 87.925942 +L 61.579818 88.432941 +L 61.434846 88.473095 +L 59.517423 88.902715 +L 57.6 89.229635 +" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> + <path clip-path="url(#p0bba778d2e)" d="M 316.708847 41.472 +L 317.374705 43.708235 +L 317.86676 45.944471 +L 318.182787 48.180706 +L 318.321359 50.416941 +L 318.28185 52.653176 +L 318.064439 54.889412 +L 317.670107 57.125647 +L 317.100637 59.361882 +L 316.452081 61.316404 +L 316.356054 61.598118 +L 315.419976 63.834353 +L 314.534658 65.624919 +L 314.307458 66.070588 +L 312.997724 68.306824 +L 312.617235 68.884256 +L 311.485786 70.543059 +L 310.699812 71.584323 +L 309.762166 72.779294 +L 308.782389 73.922919 +L 307.804865 75.015529 +L 306.864966 75.988624 +L 305.584521 77.251765 +L 304.947544 77.839457 +L 303.061976 79.488 +L 303.030121 79.514269 +L 301.112698 81.003486 +L 300.120582 81.724235 +L 299.195275 82.363052 +L 297.277852 83.591522 +L 296.651608 83.960471 +L 295.36043 84.688291 +L 293.443007 85.671445 +L 292.301956 86.196706 +L 291.525584 86.540779 +L 289.608161 87.291335 +L 287.690738 87.940516 +L 285.961255 88.432941 +L 285.773315 88.484756 +L 283.855893 88.911891 +L 281.93847 89.236299 +L 280.021047 89.457045 +L 278.103624 89.573493 +L 276.186201 89.585308 +L 274.268779 89.492454 +L 272.351356 89.2952 +L 270.433933 88.994115 +L 268.51651 88.590066 +L 267.920929 88.432941 +L 266.599087 88.072801 +L 264.681664 87.446767 +L 262.764242 86.71891 +L 261.554346 86.196706 +L 260.846819 85.879513 +L 258.929396 84.918803 +L 257.194318 83.960471 +L 257.011973 83.855208 +L 255.09455 82.648742 +L 253.733656 81.724235 +L 253.177128 81.326399 +L 251.259705 79.858539 +L 250.804507 79.488 +L 249.342282 78.226048 +L 248.273926 77.251765 +L 247.424859 76.423868 +L 246.050272 75.015529 +L 245.507436 74.415093 +L 244.092813 72.779294 +L 243.590013 72.144482 +L 242.37106 70.543059 +L 241.672591 69.527574 +L 240.862191 68.306824 +L 239.755168 66.430706 +L 239.549257 66.070588 +L 238.436294 63.834353 +L 237.837745 62.413821 +L 237.503434 61.598118 +L 236.757117 59.361882 +L 236.184361 57.125647 +L 235.920322 55.636885 +L 235.790917 54.889412 +L 235.577468 52.653176 +L 235.538679 50.416941 +L 235.674726 48.180706 +L 235.920322 46.410586 +L 235.986574 45.944471 +L 236.481467 43.708235 +L 237.151167 41.472 +" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> + <path clip-path="url(#p0bba778d2e)" d="M 264.681664 296.459335 +L 262.764242 295.721139 +L 258.929396 293.929448 +L 255.09455 291.659726 +L 252.326336 289.694118 +L 249.342282 287.240912 +L 247.20431 285.221647 +L 245.11282 282.985412 +L 243.266255 280.749176 +L 241.640203 278.512941 +L 239.755168 275.41905 +L 239.013728 274.040471 +L 237.837745 271.437401 +L 237.136975 269.568 +L 236.470537 267.331765 +L 235.920322 264.678621 +L 235.670556 262.859294 +L 235.537794 260.623059 +L 235.579873 258.386824 +L 235.920322 255.441897 +L 236.193515 253.914353 +L 236.769562 251.678118 +L 237.837745 248.667112 +L 238.455667 247.205647 +L 239.755168 244.649478 +L 241.672591 241.554639 +L 243.590013 238.938381 +L 245.507436 236.667717 +L 247.424859 234.65854 +L 249.342282 232.855804 +L 251.259705 231.22272 +L 253.794109 229.315765 +L 257.268914 227.079529 +L 260.846819 225.203133 +L 262.764242 224.36273 +L 266.599087 223.00973 +L 268.51651 222.491437 +L 272.351356 221.786693 +L 276.186201 221.496746 +L 280.021047 221.624937 +L 283.855893 222.16979 +L 285.81095 222.607059 +L 289.608161 223.790682 +L 292.208711 224.843294 +L 295.36043 226.393438 +L 297.277852 227.491173 +L 300.061097 229.315765 +L 303.030121 231.567516 +L 305.540347 233.788235 +L 307.765678 236.024471 +L 309.727591 238.260706 +L 311.455515 240.496941 +L 312.9715 242.733176 +L 314.534658 245.458975 +L 315.40073 247.205647 +L 316.452081 249.769161 +L 317.088263 251.678118 +L 317.661005 253.914353 +L 318.05865 256.150588 +L 318.2794 258.386824 +L 318.32226 260.623059 +L 318.187034 262.859294 +L 317.874334 265.095529 +L 317.385573 267.331765 +L 316.452081 270.294772 +L 315.874155 271.804235 +L 314.534658 274.623782 +L 312.617235 277.886548 +L 312.211713 278.512941 +L 310.594029 280.749176 +L 308.750307 282.985412 +L 306.652819 285.221647 +L 304.264496 287.457882 +L 301.112698 290.013361 +L 297.277852 292.592125 +L 293.443007 294.675813 +L 289.608161 296.30327 +L 287.690738 296.944273 +L 283.855893 297.913711 +L 280.021047 298.466664 +L 276.186201 298.596761 +L 272.351356 298.302504 +L 268.51651 297.587282 +L 264.681664 296.459335 +L 264.681664 296.459335 +" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> + </g> + <g id="LineCollection_6"> + <path clip-path="url(#p0bba778d2e)" d="M 57.6 214.834094 +L 59.517423 215.140253 +L 61.434846 215.542592 +L 62.806379 215.898353 +L 63.352268 216.042338 +L 65.269691 216.643248 +L 67.187114 217.337589 +L 69.104537 218.123362 +L 69.12914 218.134588 +L 71.02196 219.01717 +L 72.939383 219.999762 +L 73.605377 220.370824 +L 74.856805 221.086941 +L 76.774228 222.269032 +L 77.287181 222.607059 +L 78.691651 223.562778 +L 80.464257 224.843294 +L 80.609074 224.951944 +L 82.526497 226.46982 +L 83.260464 227.079529 +L 84.443919 228.106906 +L 85.777531 229.315765 +L 86.361342 229.872555 +L 88.055517 231.552 +L 88.278765 231.786598 +L 90.119079 233.788235 +L 90.196188 233.877894 +L 91.986858 236.024471 +L 92.113611 236.188479 +L 93.67277 238.260706 +L 94.031034 238.780475 +L 95.186919 240.496941 +L 95.948456 241.748057 +L 96.536251 242.733176 +L 97.722645 244.969412 +L 97.865879 245.279447 +L 98.741021 247.205647 +L 99.601704 249.441882 +L 99.783302 250.0208 +L 100.296157 251.678118 +L 100.827974 253.914353 +L 101.197206 256.150588 +L 101.402183 258.386824 +L 101.441979 260.623059 +L 101.316416 262.859294 +L 101.02606 265.095529 +L 100.572222 267.331765 +L 99.956955 269.568 +L 99.783302 270.069768 +L 99.174817 271.804235 +L 98.233023 274.040471 +L 97.865879 274.790385 +L 97.125942 276.276706 +L 95.948456 278.360141 +L 95.860361 278.512941 +L 94.423294 280.749176 +L 94.031034 281.304937 +L 92.816999 282.985412 +L 92.113611 283.882773 +L 91.035647 285.221647 +L 90.196188 286.192611 +L 89.068404 287.457882 +L 88.278765 288.290319 +L 86.900484 289.694118 +L 86.361342 290.214202 +L 84.51219 291.930353 +L 84.443919 291.99079 +L 82.526497 293.616414 +L 81.845529 294.166588 +L 80.609074 295.125647 +L 78.871712 296.402824 +L 78.691651 296.530661 +L 76.774228 297.812994 +L 75.453929 298.639059 +L 74.856805 299.00188 +L 72.939383 300.083296 +L 71.412629 300.875294 +L 71.02196 301.073139 +L 69.104537 301.956674 +L 67.187114 302.750167 +L 66.198922 303.111529 +L 65.269691 303.444918 +L 63.352268 304.04028 +L 61.434846 304.541356 +L 59.517423 304.946703 +L 57.6 305.255151 +" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> + <path clip-path="url(#p0bba778d2e)" d="M 99.943852 41.472 +L 100.562132 43.708235 +L 101.019027 45.944471 +L 101.312472 48.180706 +L 101.441143 50.416941 +L 101.404457 52.653176 +L 101.202581 54.889412 +L 100.836426 57.125647 +L 100.307647 59.361882 +L 99.783302 61.063674 +L 99.616378 61.598118 +L 98.758656 63.834353 +L 97.865879 65.804957 +L 97.743507 66.070588 +L 96.559949 68.306824 +L 95.948456 69.333759 +L 95.213878 70.543059 +L 94.031034 72.302667 +L 93.703088 72.779294 +L 92.113611 74.895069 +L 92.020657 75.015529 +L 90.196188 77.205564 +L 90.156507 77.251765 +L 88.278765 79.296511 +L 88.096754 79.488 +L 86.361342 81.210088 +L 85.822796 81.724235 +L 84.443919 82.97524 +L 83.310024 83.960471 +L 82.526497 84.611851 +L 80.609074 86.130895 +L 80.521424 86.196706 +L 78.691651 87.519389 +L 77.350029 88.432941 +L 76.774228 88.812594 +L 74.856805 89.995339 +L 73.679914 90.669176 +L 72.939383 91.081953 +L 71.02196 92.064992 +L 69.220383 92.905412 +L 69.104537 92.958293 +L 67.187114 93.744349 +L 65.269691 94.438941 +L 63.352268 95.040067 +L 62.967288 95.141647 +L 61.434846 95.539253 +L 59.517423 95.941701 +L 57.6 96.247944 +" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> + <path clip-path="url(#p0bba778d2e)" d="M 324.328726 41.472 +L 324.947188 43.708235 +L 325.404218 45.944471 +L 325.69775 48.180706 +L 325.826458 50.416941 +L 325.789762 52.653176 +L 325.587826 54.889412 +L 325.221563 57.125647 +L 324.692629 59.361882 +L 324.121772 61.214084 +L 324.001782 61.598118 +L 323.143743 63.834353 +L 322.204349 65.907088 +L 322.128994 66.070588 +L 320.944907 68.306824 +L 320.286926 69.411338 +L 319.59911 70.543059 +L 318.369503 72.37127 +L 318.088589 72.779294 +L 316.452081 74.956346 +L 316.40638 75.015529 +L 314.542122 77.251765 +L 314.534658 77.260139 +L 312.617235 79.346446 +L 312.482569 79.488 +L 310.699812 81.255497 +L 310.208341 81.724235 +L 308.782389 83.016661 +L 307.694958 83.960471 +L 306.864966 84.649712 +L 304.947544 86.166876 +L 304.907761 86.196706 +L 303.030121 87.55212 +L 301.734579 88.432941 +L 301.112698 88.842348 +L 299.195275 90.023067 +L 298.064642 90.669176 +L 297.277852 91.106897 +L 295.36043 92.087813 +L 293.603476 92.905412 +L 293.443007 92.978483 +L 291.525584 93.76234 +L 289.608161 94.454681 +L 287.690738 95.05351 +L 287.355159 95.141647 +L 285.773315 95.550177 +L 283.855893 95.950297 +L 281.93847 96.254187 +L 280.021047 96.460972 +L 278.103624 96.570055 +L 276.186201 96.581122 +L 274.268779 96.494141 +L 272.351356 96.309363 +L 270.433933 96.02732 +L 268.51651 95.648826 +L 266.599087 95.17497 +L 266.486567 95.141647 +L 264.681664 94.598057 +L 262.764242 93.926654 +L 260.846819 93.163262 +L 260.267331 92.905412 +L 258.929396 92.297017 +L 257.011973 91.335867 +L 255.791761 90.669176 +L 255.09455 90.277886 +L 253.177128 89.116059 +L 252.124387 88.432941 +L 251.259705 87.853486 +L 249.342282 86.487181 +L 248.956503 86.196706 +L 247.424859 84.998817 +L 246.161334 83.960471 +L 245.507436 83.398837 +L 243.64244 81.724235 +L 243.590013 81.6747 +L 241.672591 79.78953 +L 241.376588 79.488 +L 239.755168 77.736844 +L 239.319936 77.251765 +L 237.837745 75.485476 +L 237.454161 75.015529 +L 235.920322 72.986765 +L 235.767206 72.779294 +L 234.255672 70.543059 +L 234.002899 70.129214 +L 232.912663 68.306824 +L 232.085477 66.751215 +L 231.729838 66.070588 +L 230.712776 63.834353 +L 230.168054 62.419667 +L 229.85623 61.598118 +L 229.165068 59.361882 +L 228.63464 57.125647 +L 228.267344 54.889412 +L 228.250631 54.704848 +L 228.06693 52.653176 +L 228.030544 50.416941 +L 228.158163 48.180706 +L 228.250631 47.470237 +L 228.451471 45.944471 +L 228.90979 43.708235 +L 229.529997 41.472 +" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> + <path clip-path="url(#p0bba778d2e)" d="M 274.268779 305.500923 +L 270.433933 305.032938 +L 266.599087 304.174449 +L 262.764242 302.934197 +L 258.929396 301.302329 +L 255.09455 299.280202 +L 253.177128 298.120799 +L 249.342282 295.485481 +L 247.424859 294.011048 +L 243.590013 290.665859 +L 241.672591 288.785188 +L 239.755168 286.736896 +L 237.837745 284.484487 +L 235.920322 281.974628 +L 234.002899 279.127756 +L 233.613784 278.512941 +L 232.085477 275.759795 +L 231.240454 274.040471 +L 230.168054 271.443792 +L 229.516854 269.568 +L 228.899668 267.331765 +L 228.250631 263.607695 +L 228.154252 262.859294 +L 228.029714 260.623059 +L 228.069186 258.386824 +L 228.272736 256.150588 +L 228.643118 253.914353 +L 229.176594 251.678118 +L 230.168054 248.661287 +L 230.73048 247.205647 +L 232.085477 244.329736 +L 234.002899 240.954229 +L 234.282779 240.496941 +L 235.920322 238.093848 +L 237.837745 235.595671 +L 239.755168 233.344434 +L 241.672591 231.291658 +L 243.688176 229.315765 +L 247.424859 226.083151 +L 249.342282 224.594307 +L 253.177128 221.965735 +L 257.011973 219.745965 +L 260.846819 217.918466 +L 264.681664 216.484189 +L 268.51651 215.43305 +L 272.351356 214.772691 +L 276.186201 214.501006 +L 280.021047 214.621123 +L 283.855893 215.13166 +L 287.690738 216.0289 +L 291.525584 217.319605 +L 295.36043 218.99436 +L 299.195275 221.059229 +L 303.030121 223.530069 +L 306.864966 226.431988 +L 308.782389 228.065521 +L 310.699812 229.827193 +L 312.617235 231.736721 +L 314.534658 233.822813 +L 316.452081 236.127296 +L 318.369503 238.711994 +L 320.286926 241.670637 +L 320.921199 242.733176 +L 322.204349 245.177606 +L 323.126101 247.205647 +L 324.121772 249.871039 +L 324.681135 251.678118 +L 325.213109 253.914353 +L 325.582449 256.150588 +L 325.787486 258.386824 +L 325.827295 260.623059 +L 325.701694 262.859294 +L 325.411253 265.095529 +L 324.957282 267.331765 +L 324.121772 270.203678 +L 323.560058 271.804235 +L 322.204349 274.884895 +L 321.511152 276.276706 +L 320.245934 278.512941 +L 318.369503 281.370275 +L 316.452081 283.941503 +L 314.534658 286.245757 +L 312.617235 288.338662 +L 310.699812 290.258345 +L 308.782389 292.031207 +L 304.947544 295.160875 +L 301.112698 297.843173 +L 297.277852 300.108534 +L 293.443007 301.977055 +L 289.608161 303.460507 +L 285.773315 304.552358 +L 281.93847 305.261439 +L 278.103624 305.576302 +L 274.268779 305.500923 +L 274.268779 305.500923 +" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> + </g> + <g id="LineCollection_7"> + <path clip-path="url(#p0bba778d2e)" d="M 257.746053 307.584 +L 255.09455 306.231492 +L 251.259705 303.974085 +L 247.424859 301.37406 +L 243.590013 298.420253 +L 239.755168 295.074715 +L 236.52746 291.930353 +L 234.002899 289.202786 +L 230.712126 285.221647 +L 228.250631 281.767468 +L 226.333208 278.704265 +L 226.218201 278.512941 +L 224.415785 275.021186 +L 223.952415 274.040471 +L 222.498362 270.19406 +L 222.28693 269.568 +L 221.686529 267.331765 +L 221.243658 265.095529 +L 220.960317 262.859294 +L 220.837788 260.623059 +L 220.876623 258.386824 +L 221.076647 256.150588 +L 221.436956 253.914353 +L 221.955924 251.678118 +L 222.631537 249.441882 +L 223.46216 247.205647 +L 224.442822 244.969412 +L 226.333208 241.401334 +L 226.852446 240.496941 +L 228.273106 238.260706 +L 230.168054 235.59274 +L 232.085477 233.140422 +L 235.421891 229.315765 +L 237.837745 226.835248 +L 241.672591 223.28927 +L 245.213916 220.370824 +L 248.239656 218.134588 +L 251.600836 215.898353 +L 255.456602 213.662118 +L 258.929396 211.940823 +L 262.764242 210.378331 +L 266.599087 209.174198 +L 270.433933 208.340785 +L 274.268779 207.884335 +L 278.103624 207.810108 +L 281.93847 208.118958 +L 285.773315 208.807328 +L 289.608161 209.869206 +L 293.746657 211.425882 +L 297.277852 213.072016 +L 301.112698 215.196788 +L 304.947544 217.663358 +L 308.782389 220.476568 +L 312.617235 223.669847 +L 316.268695 227.079529 +L 318.438679 229.315765 +L 322.204349 233.664245 +L 324.121772 236.172393 +L 326.039195 238.974277 +L 327.956617 242.159232 +L 328.282918 242.733176 +L 329.87404 246.016003 +L 330.395234 247.205647 +L 331.225177 249.441882 +L 331.901394 251.678118 +L 332.420275 253.914353 +L 332.780524 256.150588 +L 332.980515 258.386824 +L 333.019344 260.623059 +L 332.896835 262.859294 +L 332.613542 265.095529 +L 331.791463 268.744658 +L 331.570032 269.568 +L 330.813537 271.804235 +L 329.87404 274.106854 +L 327.956617 277.926044 +L 327.638139 278.512941 +L 326.039195 281.120031 +L 324.121772 283.898214 +L 321.35686 287.457882 +L 318.369503 290.830848 +L 315.073785 294.166588 +L 312.617235 296.425433 +L 308.782389 299.603458 +L 304.947544 302.421198 +L 301.112698 304.889746 +L 297.277852 307.013662 +L 296.110992 307.584 +L 296.110992 307.584 +" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> + <path clip-path="url(#p0bba778d2e)" d="M 57.6 208.125063 +L 59.517423 208.424502 +L 61.434846 208.818009 +L 62.899749 209.189647 +L 63.352268 209.304774 +L 65.269691 209.884382 +L 67.187114 210.554111 +L 69.104537 211.31203 +L 69.363214 211.425882 +L 71.02196 212.161359 +L 72.939383 213.095724 +L 74.008438 213.662118 +L 74.856805 214.117011 +L 76.774228 215.224652 +L 77.86528 215.898353 +L 78.691651 216.417224 +L 80.609074 217.6953 +L 81.233677 218.134588 +L 82.526497 219.063703 +L 84.259728 220.370824 +L 84.443919 220.513493 +L 86.361342 222.06427 +L 87.007014 222.607059 +L 88.278765 223.71105 +L 89.538911 224.843294 +L 90.196188 225.456642 +L 91.883069 227.079529 +L 92.113611 227.311315 +L 94.031034 229.291429 +L 94.054057 229.315765 +L 95.948456 231.422591 +L 96.062521 231.552 +L 97.865879 233.72083 +L 97.920997 233.788235 +L 99.6315 236.024471 +L 99.783302 236.238686 +L 101.196837 238.260706 +L 101.700725 239.047524 +L 102.619191 240.496941 +L 103.618148 242.241009 +L 103.897914 242.733176 +L 105.028162 244.969412 +L 105.53557 246.122275 +L 106.010168 247.205647 +L 106.840045 249.441882 +L 107.452993 251.468437 +L 107.5163 251.678118 +L 108.035176 253.914353 +L 108.395422 256.150588 +L 108.595411 258.386824 +L 108.634239 260.623059 +L 108.511731 262.859294 +L 108.228441 265.095529 +L 107.785647 267.331765 +L 107.452993 268.570974 +L 107.184873 269.568 +L 106.428438 271.804235 +L 105.53557 274.002995 +L 105.520281 274.040471 +L 104.459697 276.276706 +L 103.618148 277.839707 +L 103.2529 278.512941 +L 101.900619 280.749176 +L 101.700725 281.050146 +L 100.40173 282.985412 +L 99.783302 283.834579 +L 98.759304 285.221647 +L 97.865879 286.348647 +L 96.971719 287.457882 +L 95.948456 288.650661 +L 95.035274 289.694118 +L 94.031034 290.780939 +L 92.943938 291.930353 +L 92.113611 292.767778 +L 90.688992 294.166588 +L 90.196188 294.631132 +L 88.278765 296.384306 +L 88.257803 296.402824 +L 86.361342 298.0208 +L 85.608108 298.639059 +L 84.443919 299.567065 +L 82.730259 300.875294 +L 82.526497 301.027154 +L 80.609074 302.388941 +L 79.535565 303.111529 +L 78.691651 303.668855 +L 76.774228 304.861673 +L 75.939005 305.347765 +L 74.856805 305.968681 +L 72.939383 306.98983 +L 71.726389 307.584 +" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> + <path clip-path="url(#p0bba778d2e)" d="M 107.172066 41.472 +L 107.452993 42.511559 +L 107.775802 43.708235 +L 108.221579 45.944471 +L 108.507883 48.180706 +L 108.633423 50.416941 +L 108.59763 52.653176 +L 108.400666 54.889412 +L 108.043422 57.125647 +L 107.52751 59.361882 +L 107.452993 59.609763 +L 106.854194 61.598118 +L 106.027172 63.834353 +L 105.53557 64.959732 +L 105.048037 66.070588 +L 103.92049 68.306824 +L 103.618148 68.839798 +L 102.644559 70.543059 +L 101.700725 72.035146 +L 101.225006 72.779294 +L 99.783302 74.844784 +L 99.662491 75.015529 +L 97.954285 77.251765 +L 97.865879 77.360006 +L 96.098553 79.488 +L 95.948456 79.658463 +L 94.092874 81.724235 +L 94.031034 81.789661 +L 92.113611 83.771541 +L 91.925862 83.960471 +L 90.196188 85.625809 +L 89.584873 86.196706 +L 88.278765 87.371019 +L 87.05628 88.432941 +L 86.361342 89.01747 +L 84.443919 90.569104 +L 84.314795 90.669176 +L 82.526497 92.018439 +L 81.292876 92.905412 +L 80.609074 93.386508 +L 78.691651 94.665046 +L 77.932875 95.141647 +L 76.774228 95.85728 +L 74.856805 96.96522 +L 74.087407 97.377882 +L 72.939383 97.986225 +L 71.02196 98.92076 +L 69.458494 99.614118 +L 69.104537 99.769921 +L 67.187114 100.527913 +L 65.269691 101.197707 +L 63.352268 101.777371 +L 63.065433 101.850353 +L 61.434846 102.264029 +L 59.517423 102.657541 +L 57.6 102.956983 +" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> + <path clip-path="url(#p0bba778d2e)" d="M 331.557225 41.472 +L 331.791463 42.338722 +L 332.160899 43.708235 +L 332.60668 45.944471 +L 332.892987 48.180706 +L 333.018528 50.416941 +L 332.982734 52.653176 +L 332.785769 54.889412 +L 332.428521 57.125647 +L 331.912605 59.361882 +L 331.791463 59.764856 +L 331.239327 61.598118 +L 330.412239 63.834353 +L 329.87404 65.066306 +L 329.433214 66.070588 +L 328.305498 68.306824 +L 327.956617 68.921743 +L 327.029663 70.543059 +L 326.039195 72.108523 +L 325.610257 72.779294 +L 324.121772 74.911179 +L 324.047911 75.015529 +L 322.339074 77.251765 +L 322.204349 77.416657 +L 320.483305 79.488 +L 320.286926 79.710925 +L 318.477517 81.724235 +L 318.369503 81.83845 +L 316.452081 83.819123 +L 316.311518 83.960471 +L 314.534658 85.670048 +L 313.970269 86.196706 +L 312.617235 87.412249 +L 311.441169 88.432941 +L 310.699812 89.05596 +L 308.782389 90.60605 +L 308.700846 90.669176 +L 306.864966 92.0528 +L 305.677667 92.905412 +L 304.947544 93.418462 +L 303.030121 94.695239 +L 302.31832 95.141647 +L 301.112698 95.885151 +L 299.195275 96.991193 +L 298.472918 97.377882 +L 297.277852 98.009937 +L 295.36043 98.942456 +L 293.84217 99.614118 +L 293.443007 99.789391 +L 291.525584 100.545262 +L 289.608161 101.212885 +L 287.690738 101.790335 +L 287.453759 101.850353 +L 285.773315 102.27471 +L 283.855893 102.665945 +L 281.93847 102.963088 +L 280.021047 103.16528 +L 278.103624 103.271941 +L 276.186201 103.282763 +L 274.268779 103.197713 +L 272.351356 103.017038 +L 270.433933 102.741258 +L 268.51651 102.371169 +L 266.599087 101.907835 +L 266.400582 101.850353 +L 264.681664 101.351142 +L 262.764242 100.70371 +L 260.846819 99.967573 +L 260.023061 99.614118 +L 258.929396 99.141337 +L 257.011973 98.22761 +L 255.376039 97.377882 +L 255.09455 97.229896 +L 253.177128 96.141551 +L 251.532152 95.141647 +L 251.259705 94.973231 +L 249.342282 93.712898 +L 248.17969 92.905412 +L 247.424859 92.369635 +L 245.507436 90.93958 +L 245.16063 90.669176 +L 243.590013 89.41129 +L 242.416053 88.432941 +L 241.672591 87.793077 +L 239.882384 86.196706 +L 239.755168 86.078875 +L 237.837745 84.246141 +L 237.547039 83.960471 +L 235.920322 82.289733 +L 235.382859 81.724235 +L 234.002899 80.196389 +L 233.376222 79.488 +L 232.085477 77.941096 +L 231.520277 77.251765 +L 230.168054 75.488411 +L 229.810599 75.015529 +L 228.250631 72.787551 +L 228.244914 72.779294 +L 226.827018 70.543059 +L 226.333208 69.681193 +L 225.552296 68.306824 +L 224.422915 66.070588 +L 224.415785 66.054369 +L 223.44514 63.834353 +L 222.617375 61.598118 +L 222.498362 61.203282 +L 221.944711 59.361882 +L 221.428709 57.125647 +L 221.071402 54.889412 +L 220.874403 52.653176 +L 220.838604 50.416941 +L 220.964166 48.180706 +L 221.250521 45.944471 +L 221.696376 43.708235 +L 222.299716 41.472 +" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> + </g> + <g id="LineCollection_8"> + <path clip-path="url(#p0bba778d2e)" d="M 246.532159 307.584 +L 243.489824 305.347765 +L 239.755168 302.342306 +L 235.567982 298.639059 +L 232.085477 295.246217 +L 228.952383 291.930353 +L 226.333208 288.891815 +L 223.444515 285.221647 +L 220.388085 280.749176 +L 218.663517 277.783486 +L 217.854381 276.276706 +L 216.746094 273.916348 +L 215.881346 271.804235 +L 214.828671 268.498402 +L 214.509458 267.331765 +L 214.058123 265.095529 +L 213.769368 262.859294 +L 213.644497 260.623059 +L 213.684075 258.386824 +L 213.887921 256.150588 +L 214.255116 253.914353 +L 214.828671 251.532962 +L 215.466347 249.441882 +L 216.746094 246.202594 +L 217.287419 244.969412 +L 218.663517 242.294261 +L 220.58094 239.054492 +L 222.602782 236.024471 +L 226.026954 231.552 +L 228.250631 228.946355 +L 232.085477 224.829427 +L 236.743592 220.370824 +L 239.755168 217.741482 +L 243.590013 214.663974 +L 248.085819 211.425882 +L 251.560981 209.189647 +L 255.506018 206.953412 +L 258.929396 205.272145 +L 262.764242 203.708934 +L 266.671578 202.480941 +L 270.433933 201.649593 +L 274.268779 201.1845 +L 278.103624 201.108867 +L 281.93847 201.423566 +L 285.773315 202.124972 +L 289.608161 203.197204 +L 293.645438 204.717176 +L 297.277852 206.393755 +L 301.112698 208.479795 +L 304.947544 210.868332 +L 308.936977 213.662118 +L 312.617235 216.516017 +L 317.114084 220.370824 +L 320.286926 223.358033 +L 324.121772 227.298816 +L 327.956617 231.709876 +L 331.253909 236.024471 +L 334.177922 240.496941 +L 335.626309 243.099424 +L 336.570022 244.969412 +L 337.552833 247.205647 +L 338.391054 249.441882 +L 339.074222 251.678118 +L 339.600609 253.914353 +L 339.968712 256.150588 +L 340.173063 258.386824 +L 340.212738 260.623059 +L 340.087558 262.859294 +L 339.798089 265.095529 +L 339.346764 267.331765 +L 338.739349 269.568 +L 337.543732 272.85645 +L 337.0614 274.040471 +L 335.626309 276.976297 +L 333.708886 280.346697 +L 333.468899 280.749176 +L 330.412864 285.221647 +L 326.861559 289.694118 +L 322.826414 294.166588 +L 320.286926 296.731884 +L 315.810565 300.875294 +L 312.617235 303.570974 +L 308.782389 306.536733 +L 307.327988 307.584 +L 307.327988 307.584 +" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> + <path clip-path="url(#p0bba778d2e)" d="M 57.6 201.429786 +L 59.517423 201.734896 +L 61.434846 202.135854 +L 62.769808 202.480941 +L 63.352268 202.629885 +L 65.269691 203.212458 +L 67.187114 203.885613 +L 69.104537 204.647409 +L 69.262243 204.717176 +L 71.02196 205.490813 +L 72.939383 206.417262 +L 73.96 206.953412 +L 74.856805 207.423722 +L 76.774228 208.507047 +L 77.904503 209.189647 +L 78.691651 209.66637 +L 80.609074 210.899142 +L 81.385545 211.425882 +L 82.526497 212.205608 +L 84.443919 213.580663 +L 84.552698 213.662118 +L 86.361342 215.032786 +L 87.460179 215.898353 +L 88.278765 216.554036 +L 90.185206 218.134588 +L 90.196188 218.143892 +L 92.113611 219.818583 +L 92.729177 220.370824 +L 94.031034 221.57038 +L 95.130229 222.607059 +L 95.948456 223.403928 +L 97.397235 224.843294 +L 97.865879 225.326856 +L 99.536332 227.079529 +L 99.783302 227.350326 +L 101.551599 229.315765 +L 101.700725 229.490159 +L 103.445294 231.552 +L 103.618148 231.768559 +L 105.218012 233.788235 +L 105.53557 234.216799 +L 106.868774 236.024471 +L 107.452993 236.879494 +L 108.395062 238.260706 +L 109.370416 239.821702 +L 109.792788 240.496941 +L 111.057144 242.733176 +L 111.287839 243.192071 +L 112.184915 244.969412 +L 113.167793 247.205647 +L 113.205262 247.306279 +L 114.005924 249.441882 +L 114.689231 251.678118 +L 115.122685 253.523934 +L 115.215275 253.914353 +L 115.583479 256.150588 +L 115.787886 258.386824 +L 115.827572 260.623059 +L 115.702358 262.859294 +L 115.412809 265.095529 +L 115.122685 266.529075 +L 114.961828 267.331765 +L 114.35429 269.568 +L 113.590094 271.804235 +L 113.205262 272.742294 +L 112.676357 274.040471 +L 111.617232 276.276706 +L 111.287839 276.889327 +L 110.418333 278.512941 +L 109.370416 280.268475 +L 109.08379 280.749176 +L 107.619304 282.985412 +L 107.452993 283.219469 +L 106.027796 285.221647 +L 105.53557 285.865609 +L 104.312773 287.457882 +L 103.618148 288.307803 +L 102.476492 289.694118 +L 101.700725 290.586318 +L 100.519671 291.930353 +L 99.783302 292.729679 +L 98.441444 294.166588 +L 97.865879 294.758299 +L 96.239271 296.402824 +L 95.948456 296.686779 +L 94.031034 298.522032 +L 93.905887 298.639059 +L 92.113611 300.266699 +L 91.425258 300.875294 +L 90.196188 301.936143 +L 88.792247 303.111529 +L 88.278765 303.533306 +L 86.361342 305.054974 +L 85.977861 305.347765 +L 84.443919 306.502368 +L 82.943462 307.584 +" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> + <path clip-path="url(#p0bba778d2e)" d="M 114.341352 41.472 +L 114.951864 43.708235 +L 115.122685 44.554941 +L 115.405796 45.944471 +L 115.698425 48.180706 +L 115.826738 50.416941 +L 115.790154 52.653176 +L 115.588839 54.889412 +L 115.223703 57.125647 +L 115.122685 57.554051 +L 114.700576 59.361882 +L 114.020219 61.598118 +L 113.205262 63.779352 +L 113.184854 63.834353 +L 112.204762 66.070588 +L 111.287839 67.891605 +L 111.079599 68.306824 +L 109.81783 70.543059 +L 109.370416 71.259597 +L 108.422545 72.779294 +L 107.452993 74.20299 +L 106.898656 75.015529 +L 105.53557 76.866203 +L 105.250259 77.251765 +L 103.618148 79.314571 +L 103.479882 79.488 +L 101.700725 81.592877 +L 101.588514 81.724235 +L 99.783302 83.732494 +L 99.57557 83.960471 +L 97.865879 85.755695 +L 97.438802 86.196706 +L 95.948456 87.678344 +L 95.174143 88.432941 +L 94.031034 89.511633 +L 92.775467 90.669176 +L 92.113611 91.263215 +L 90.234247 92.905412 +L 90.196188 92.937954 +L 88.278765 94.528185 +L 87.513166 95.141647 +L 86.361342 96.049198 +L 84.608571 97.377882 +L 84.443919 97.501197 +L 82.526497 98.876504 +L 81.447363 99.614118 +L 80.609074 100.182849 +L 78.691651 101.41574 +L 77.974103 101.850353 +L 76.774228 102.574994 +L 74.856805 103.658332 +L 74.040199 104.086588 +L 72.939383 104.664825 +L 71.02196 105.591206 +L 69.357697 106.322824 +L 69.104537 106.4348 +L 67.187114 107.196475 +L 65.269691 107.869523 +L 63.352268 108.452003 +L 62.93355 108.559059 +L 61.434846 108.946377 +L 59.517423 109.347237 +L 57.6 109.652271 +" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> + <path clip-path="url(#p0bba778d2e)" d="M 338.726414 41.472 +L 339.461154 44.324737 +L 339.791078 45.944471 +L 340.083626 48.180706 +L 340.211904 50.416941 +L 340.17533 52.653176 +L 339.974071 54.889412 +L 339.461154 57.75296 +L 339.085565 59.361882 +L 338.405346 61.598118 +L 337.543732 63.893908 +L 336.589867 66.070588 +L 335.464654 68.306824 +L 333.708886 71.334376 +L 331.283793 75.015529 +L 327.865172 79.488 +L 323.960958 83.960471 +L 319.559355 88.432941 +L 316.452081 91.304533 +L 311.898461 95.141647 +L 308.782389 97.535391 +L 304.947544 100.213662 +L 301.112698 102.602247 +L 297.277852 104.688331 +L 293.443007 106.454364 +L 289.608161 107.884775 +L 285.773315 108.957257 +L 281.93847 109.65849 +L 278.103624 109.973111 +L 274.268779 109.897497 +L 270.433933 109.432518 +L 266.516125 108.559059 +L 262.764242 107.373126 +L 258.929396 105.809858 +L 255.09455 103.917131 +L 251.259705 101.712921 +L 247.424859 99.210372 +L 243.590013 96.41811 +L 239.242829 92.905412 +L 235.920322 89.95767 +L 232.030659 86.196706 +L 227.884377 81.724235 +L 224.221418 77.251765 +L 221.049518 72.779294 +L 218.663517 68.786436 +L 218.392164 68.306824 +L 216.746094 64.879185 +L 216.285917 63.834353 +L 215.452081 61.598118 +L 214.772574 59.361882 +L 214.246711 57.125647 +L 213.882576 54.889412 +L 213.681813 52.653176 +L 213.645329 50.416941 +L 213.77329 48.180706 +L 214.065118 45.944471 +L 214.828671 42.583778 +L 215.13159 41.472 +L 215.13159 41.472 +" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> + </g> + <g id="LineCollection_9"> + <path clip-path="url(#p0bba778d2e)" d="M 237.857694 307.584 +L 235.249149 305.347765 +L 230.35349 300.875294 +L 226.333208 296.888781 +L 223.751273 294.166588 +L 219.819941 289.694118 +L 216.285288 285.221647 +L 213.186275 280.749176 +L 210.573415 276.276706 +L 209.076403 273.114387 +L 208.509806 271.804235 +L 207.704215 269.568 +L 207.061686 267.331765 +L 206.578945 265.095529 +L 206.270098 262.859294 +L 206.136538 260.623059 +L 206.178869 258.386824 +L 206.3969 256.150588 +L 206.789646 253.914353 +L 207.351131 251.678118 +L 208.071451 249.441882 +L 209.076403 246.94598 +L 209.98179 244.969412 +L 212.458625 240.496941 +L 215.437381 236.024471 +L 218.864143 231.552 +L 222.694626 227.079529 +L 226.905917 222.607059 +L 231.494652 218.134588 +L 235.920322 214.152289 +L 239.755168 210.943687 +L 244.960395 206.953412 +L 248.152179 204.717176 +L 251.616446 202.480941 +L 255.489297 200.244706 +L 258.929396 198.498847 +L 262.764242 196.867312 +L 266.599087 195.594618 +L 270.433933 194.691722 +L 274.268779 194.197219 +L 278.103624 194.116803 +L 281.93847 194.451402 +L 285.773315 195.197161 +L 289.608161 196.331102 +L 293.443007 197.830178 +L 297.277852 199.657613 +L 301.112698 201.791236 +L 305.704859 204.717176 +L 308.902671 206.953412 +L 312.617235 209.761662 +L 317.364554 213.662118 +L 320.286926 216.228303 +L 324.705118 220.370824 +L 329.103279 224.843294 +L 333.126297 229.315765 +L 336.759586 233.788235 +L 339.968345 238.260706 +L 342.703436 242.733176 +L 343.296 243.87332 +L 343.296 243.87332 +" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> + <path clip-path="url(#p0bba778d2e)" d="M 343.296 276.24619 +L 343.281118 276.276706 +L 342.043013 278.512941 +L 341.378577 279.589618 +L 340.672093 280.749176 +L 339.461154 282.558785 +L 339.178448 282.985412 +L 337.570639 285.221647 +L 337.543732 285.256499 +L 335.855711 287.457882 +L 335.626309 287.738996 +L 334.037071 289.694118 +L 333.708886 290.076509 +L 332.119471 291.930353 +L 331.791463 292.295281 +L 330.106357 294.166588 +L 329.87404 294.414268 +L 327.999949 296.402824 +L 327.956617 296.447229 +L 326.039195 298.397117 +L 325.798736 298.639059 +L 324.121772 300.277691 +L 323.501769 300.875294 +L 322.204349 302.096138 +L 321.106999 303.111529 +L 320.286926 303.856032 +L 318.610563 305.347765 +L 318.369503 305.55924 +L 316.452081 307.202489 +L 315.994786 307.584 +" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> + <path clip-path="url(#p0bba778d2e)" d="M 57.6 194.458015 +L 59.517423 194.782419 +L 61.434846 195.208732 +L 63.352268 195.735727 +L 63.464063 195.772235 +L 65.269691 196.347086 +L 67.187114 197.052443 +L 69.104537 197.850681 +L 69.444931 198.008471 +L 71.02196 198.724759 +L 72.939383 199.681899 +L 73.976391 200.244706 +L 74.856805 200.715164 +L 76.774228 201.819005 +L 77.849918 202.480941 +L 78.691651 202.993331 +L 80.609074 204.23241 +L 81.320035 204.717176 +L 82.526497 205.534687 +L 84.443919 206.898093 +L 84.518426 206.953412 +L 86.361342 208.319393 +L 87.490926 209.189647 +L 88.278765 209.798333 +L 90.196188 211.33164 +L 90.310499 211.425882 +L 92.113611 212.923438 +L 92.979494 213.662118 +L 94.031034 214.570002 +L 95.53416 215.898353 +L 95.948456 216.27065 +L 97.865879 218.028386 +L 97.97981 218.134588 +L 99.783302 219.852473 +L 100.320133 220.370824 +L 101.700725 221.739985 +L 102.565845 222.607059 +L 103.618148 223.696148 +L 104.718152 224.843294 +L 105.53557 225.728631 +L 106.777013 227.079529 +L 107.452993 227.848239 +L 108.741191 229.315765 +L 109.370416 230.069958 +L 110.608248 231.552 +L 111.287839 232.414535 +L 112.374503 233.788235 +L 113.205262 234.910934 +L 114.034949 236.024471 +L 115.122685 237.600242 +L 115.583112 238.260706 +L 117.01124 240.496941 +L 117.040107 240.54695 +L 118.318453 242.733176 +L 118.95753 243.962385 +L 119.489518 244.969412 +L 120.518248 247.205647 +L 120.874953 248.120975 +L 121.399669 249.441882 +L 122.123669 251.678118 +L 122.680078 253.914353 +L 122.792376 254.564421 +L 123.07261 256.150588 +L 123.29194 258.386824 +L 123.334523 260.623059 +L 123.200167 262.859294 +L 122.889481 265.095529 +L 122.792376 265.542693 +L 122.4125 267.331765 +L 121.768781 269.568 +L 120.959075 271.804235 +L 120.874953 271.997764 +L 120.003886 274.040471 +L 118.95753 276.151275 +L 118.896337 276.276706 +L 117.657799 278.512941 +L 117.040107 279.513523 +L 116.287054 280.749176 +L 115.122685 282.488713 +L 114.793478 282.985412 +L 113.205262 285.193948 +L 113.18548 285.221647 +L 111.47051 287.457882 +L 111.287839 287.6817 +L 109.651929 289.694118 +L 109.370416 290.022107 +L 107.734374 291.930353 +L 107.452993 292.243409 +L 105.721314 294.166588 +L 105.53557 294.36463 +L 103.618148 296.39947 +L 103.614964 296.402824 +L 101.700725 298.349905 +L 101.413428 298.639059 +L 99.783302 300.232393 +L 99.11655 300.875294 +L 97.865879 302.052583 +L 96.721969 303.111529 +L 95.948456 303.814076 +L 94.225851 305.347765 +L 94.031034 305.518762 +L 92.113611 307.163013 +L 91.60935 307.584 +" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> + <path clip-path="url(#p0bba778d2e)" d="M 343.296 67.208724 +L 342.726651 68.306824 +L 339.996427 72.779294 +L 336.791784 77.251765 +L 333.162314 81.724235 +L 329.142885 86.196706 +L 324.74814 90.669176 +L 319.966816 95.141647 +L 314.745931 99.614118 +L 311.930808 101.850353 +L 308.782389 104.217925 +L 304.947544 106.880697 +L 301.112698 109.29091 +L 297.277852 111.424604 +L 293.443007 113.252262 +L 289.608161 114.750695 +L 285.773315 115.885159 +L 281.93847 116.630526 +L 278.103624 116.964949 +L 274.268779 116.884576 +L 270.433933 116.390332 +L 266.599087 115.487912 +L 262.764242 114.214715 +L 258.929396 112.582981 +L 255.09455 110.630349 +L 251.259705 108.387241 +L 247.424859 105.87829 +L 243.590013 103.12337 +L 239.114784 99.614118 +L 235.920322 96.929933 +L 231.449814 92.905412 +L 226.864497 88.432941 +L 222.498362 83.780348 +L 218.663517 79.276312 +L 215.407252 75.015529 +L 212.432818 70.543059 +L 210.993826 68.038578 +L 209.961105 66.070588 +L 208.937148 63.834353 +L 208.056383 61.598118 +L 207.15898 58.629806 +L 206.780656 57.125647 +L 206.391182 54.889412 +L 206.17645 52.653176 +L 206.137428 50.416941 +L 206.274293 48.180706 +L 206.586426 45.944471 +L 207.15898 43.413901 +L 207.717854 41.472 +L 207.717854 41.472 +" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> + <path clip-path="url(#p0bba778d2e)" d="M 121.755072 41.472 +L 122.401942 43.708235 +L 122.792376 45.534722 +L 122.881955 45.944471 +L 123.195948 48.180706 +L 123.333628 50.416941 +L 123.294373 52.653176 +L 123.078362 54.889412 +L 122.792376 56.521734 +L 122.68892 57.125647 +L 122.13569 59.361882 +L 121.414814 61.598118 +L 120.874953 62.961844 +L 120.536104 63.834353 +L 119.510291 66.070588 +L 118.95753 67.119446 +L 118.341677 68.306824 +L 117.040107 70.537327 +L 117.036806 70.543059 +L 115.611202 72.779294 +L 115.122685 73.481132 +L 114.065137 75.015529 +L 113.205262 76.171134 +L 112.406706 77.251765 +L 111.287839 78.667836 +L 110.642391 79.488 +L 109.370416 81.012483 +L 108.777208 81.724235 +L 107.452993 83.234138 +L 106.814847 83.960471 +L 105.53557 85.353611 +L 104.757752 86.196706 +L 103.618148 87.385931 +L 102.607168 88.432941 +L 101.700725 89.341934 +L 100.363142 90.669176 +L 99.783302 91.22931 +L 98.024475 92.905412 +L 97.865879 93.053303 +L 95.948456 94.811673 +L 95.58139 95.141647 +L 94.031034 96.512106 +L 93.028537 97.377882 +L 92.113611 98.158543 +L 90.361365 99.614118 +L 90.196188 99.750309 +L 88.278765 101.283764 +L 87.545484 101.850353 +L 86.361342 102.76265 +L 84.57517 104.086588 +L 84.443919 104.18403 +L 82.526497 105.547336 +L 81.381966 106.322824 +L 80.609074 106.849734 +L 78.691651 108.088615 +L 77.918702 108.559059 +L 76.774228 109.263149 +L 74.856805 110.366717 +L 74.054569 110.795294 +L 72.939383 111.400326 +L 71.02196 112.357145 +L 69.536691 113.031529 +L 69.104537 113.231768 +L 67.187114 114.029664 +L 65.269691 114.734718 +L 63.594653 115.267765 +L 63.352268 115.346877 +L 61.434846 115.873594 +L 59.517423 116.299684 +L 57.6 116.623916 +" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> + </g> + <g id="LineCollection_10"> + <path clip-path="url(#p0bba778d2e)" d="M 191.008237 307.584 +L 189.902174 306.88503 +L 187.984752 305.747508 +L 187.261702 305.347765 +L 186.067329 304.677969 +L 184.149906 303.684366 +L 182.941669 303.111529 +L 182.232483 302.76883 +L 180.31506 301.93111 +L 178.397638 301.184635 +L 177.489416 300.875294 +L 176.480215 300.523196 +L 174.562792 299.951829 +L 172.645369 299.479707 +L 170.727946 299.108191 +L 168.810523 298.838351 +L 166.893101 298.670966 +L 165.943819 298.639059 +L 164.975678 298.605551 +L 163.362302 298.639059 +L 163.058255 298.645191 +L 161.140832 298.786876 +L 159.223409 299.031164 +L 157.305987 299.377349 +L 155.388564 299.824436 +L 153.471141 300.371135 +L 151.971789 300.875294 +L 151.553718 301.012532 +L 149.636295 301.735848 +L 147.718872 302.550973 +L 146.530679 303.111529 +L 145.80145 303.449067 +L 143.884027 304.421796 +L 142.201336 305.347765 +L 141.966604 305.475108 +L 140.049181 306.593563 +L 138.457961 307.584 +" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> + <path clip-path="url(#p0bba778d2e)" d="M 343.296 114.002847 +L 341.964805 115.267765 +L 341.378577 115.839091 +L 339.691964 117.504 +L 339.461154 117.738926 +L 337.543732 119.709731 +L 337.514256 119.740235 +L 335.626309 121.76621 +L 335.431139 121.976471 +L 333.708886 123.912131 +L 333.441724 124.212706 +L 331.791463 126.162487 +L 331.548563 126.448941 +L 329.87404 128.537937 +L 329.755452 128.685176 +L 328.066675 130.921412 +L 327.956617 131.078288 +L 326.486597 133.157647 +L 326.039195 133.846257 +L 325.022917 135.393882 +L 324.121772 136.906252 +L 323.684519 137.630118 +L 322.477696 139.866353 +L 322.204349 140.444444 +L 321.407032 142.102588 +L 320.488561 144.338824 +L 320.286926 144.934074 +L 319.719825 146.575059 +L 319.114729 148.811294 +L 318.680083 151.047529 +L 318.41785 153.283765 +L 318.369503 154.503528 +L 318.328262 155.52 +L 318.369503 156.575428 +L 318.414578 157.756235 +L 318.673554 159.992471 +L 319.104973 162.228706 +L 319.706886 164.464941 +L 320.286926 166.15018 +L 320.472816 166.701176 +L 321.388295 168.937412 +L 322.204349 170.639123 +L 322.456412 171.173647 +L 323.660473 173.409882 +L 324.121772 174.175059 +L 324.996579 175.646118 +L 326.039195 177.236558 +L 326.458066 177.882353 +L 327.956617 180.005217 +L 328.036036 180.118588 +L 329.722627 182.354824 +L 329.87404 182.543033 +L 331.513864 184.591059 +L 331.791463 184.918757 +L 333.40522 186.827294 +L 333.708886 187.169232 +L 335.392892 189.063529 +L 335.626309 189.315181 +L 337.474319 191.299765 +L 337.543732 191.371644 +L 339.461154 193.343689 +L 339.649977 193.536 +L 341.378577 195.243254 +L 341.92107 195.772235 +L 343.296 197.079271 +" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> + <path clip-path="url(#p0bba778d2e)" d="M 157.305987 220.705982 +L 161.140832 221.305089 +L 164.975678 221.488085 +L 168.810523 221.252861 +L 172.645369 220.602128 +L 176.480215 219.565198 +L 180.347626 218.134588 +L 184.149906 216.401569 +L 187.984752 214.339695 +L 192.674283 211.425882 +L 195.931841 209.189647 +L 199.489289 206.550216 +L 204.515611 202.480941 +L 207.15898 200.194423 +L 211.935513 195.772235 +L 216.38191 191.299765 +L 220.58094 186.674646 +L 224.415785 181.980533 +L 227.39984 177.882353 +L 230.194228 173.409882 +L 232.085477 169.730463 +L 232.467396 168.937412 +L 233.386756 166.701176 +L 234.147359 164.464941 +L 234.752274 162.228706 +L 235.185844 159.992471 +L 235.446112 157.756235 +L 235.531901 155.52 +L 235.442824 153.283765 +L 235.179283 151.047529 +L 234.742469 148.811294 +L 234.002899 146.19656 +L 233.370944 144.338824 +L 232.085477 141.350647 +L 231.381167 139.866353 +L 228.833848 135.393882 +L 225.791471 130.921412 +L 222.308363 126.448941 +L 218.425773 121.976471 +L 214.163986 117.504 +L 209.076403 112.619946 +L 204.465761 108.559059 +L 201.406711 106.037333 +L 197.571866 103.082094 +L 192.610788 99.614118 +L 189.902174 97.881948 +L 186.067329 95.67489 +L 182.232483 93.762837 +L 178.397638 92.177868 +L 174.562792 90.952022 +L 170.727946 90.103264 +L 166.893101 89.659401 +L 163.058255 89.633235 +L 159.223409 90.025067 +L 155.388564 90.826118 +L 151.553718 92.003636 +L 147.718872 93.547022 +L 143.884027 95.420548 +L 140.049181 97.591936 +L 136.214336 100.035047 +L 132.37949 102.72875 +L 127.71626 106.322824 +L 124.709799 108.806641 +L 119.949502 113.031529 +L 115.122685 117.6912 +L 111.046082 121.976471 +L 107.163406 126.448941 +L 103.618148 131.012017 +L 100.637838 135.393882 +L 98.092855 139.866353 +L 97.021868 142.102588 +L 95.948456 144.797641 +L 95.334529 146.575059 +L 94.729751 148.811294 +L 94.295333 151.047529 +L 94.031034 153.339416 +L 93.942615 155.52 +L 94.031034 157.765438 +L 94.288808 159.992471 +L 94.72 162.228706 +L 95.321597 164.464941 +L 96.088068 166.701176 +L 97.003139 168.937412 +L 98.071579 171.173647 +L 99.783302 174.253013 +L 101.700725 177.308134 +L 103.651069 180.118588 +L 107.128709 184.591059 +L 111.287839 189.365392 +L 115.264656 193.536 +L 119.904022 198.008471 +L 124.709799 202.275625 +L 128.544644 205.425876 +L 133.545137 209.189647 +L 136.795967 211.425882 +L 140.345888 213.662118 +L 144.354862 215.898353 +L 147.718872 217.534845 +L 151.553718 219.078499 +L 155.388564 220.255482 +L 157.305987 220.705982 +L 157.305987 220.705982 +" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> + </g> + <g id="LineCollection_11"> + <path clip-path="url(#p0bba778d2e)" d="M 177.022899 307.584 +L 176.480215 307.405216 +L 174.562792 306.86569 +L 172.645369 306.419879 +L 170.727946 306.069067 +L 168.810523 305.814265 +L 166.893101 305.656208 +L 164.975678 305.595351 +L 163.058255 305.63187 +L 161.140832 305.765659 +L 159.223409 305.996332 +L 157.305987 306.323226 +L 155.388564 306.745397 +L 153.471141 307.261629 +L 152.455838 307.584 +" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> + <path clip-path="url(#p0bba778d2e)" d="M 343.296 121.3471 +L 342.692 121.976471 +L 341.378577 123.404247 +L 340.644326 124.212706 +L 339.461154 125.580798 +L 338.717666 126.448941 +L 337.543732 127.898982 +L 336.911572 128.685176 +L 335.626309 130.389913 +L 335.22716 130.921412 +L 333.708886 133.097672 +L 333.667087 133.157647 +L 332.234764 135.393882 +L 331.791463 136.156636 +L 330.933508 137.630118 +L 329.87404 139.666771 +L 329.769723 139.866353 +L 328.745622 142.102588 +L 327.956617 144.119631 +L 327.870216 144.338824 +L 327.143221 146.575059 +L 326.573998 148.811294 +L 326.165121 151.047529 +L 326.039195 152.18906 +L 325.917142 153.283765 +L 325.83287 155.52 +L 325.914032 157.756235 +L 326.039195 158.892956 +L 326.158979 159.992471 +L 326.564821 162.228706 +L 327.131049 164.464941 +L 327.855105 166.701176 +L 327.956617 166.959546 +L 328.727777 168.937412 +L 329.74911 171.173647 +L 329.87404 171.413216 +L 330.91033 173.409882 +L 331.791463 174.926151 +L 332.209074 175.646118 +L 333.63896 177.882353 +L 333.708886 177.982835 +L 335.196691 180.118588 +L 335.626309 180.6914 +L 336.878801 182.354824 +L 337.543732 183.182712 +L 338.682621 184.591059 +L 339.461154 185.501022 +L 340.607026 186.827294 +L 341.378577 187.677552 +L 342.652456 189.063529 +L 343.296 189.734601 +" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> + <path clip-path="url(#p0bba778d2e)" d="M 157.305987 213.760046 +L 161.140832 214.32142 +L 164.975678 214.49289 +L 168.810523 214.272481 +L 172.647998 213.662118 +L 176.480215 212.682489 +L 180.31506 211.336448 +L 184.149906 209.651271 +L 187.984752 207.641517 +L 191.819597 205.325415 +L 195.977284 202.480941 +L 199.489289 199.819257 +L 203.324134 196.62921 +L 207.15898 193.133166 +L 211.20643 189.063529 +L 215.175304 184.591059 +L 218.663517 180.114804 +L 221.648192 175.646118 +L 222.946642 173.409882 +L 224.415785 170.497572 +L 225.129393 168.937412 +L 226.333208 165.673676 +L 226.725415 164.464941 +L 227.292856 162.228706 +L 227.699567 159.992471 +L 227.943712 157.756235 +L 228.024186 155.52 +L 227.940627 153.283765 +L 227.693413 151.047529 +L 227.283659 148.811294 +L 226.333208 145.408652 +L 225.987558 144.338824 +L 224.415785 140.585612 +L 224.087688 139.866353 +L 222.498362 136.900664 +L 220.58094 133.768005 +L 218.63032 130.921412 +L 215.140322 126.448941 +L 212.911248 123.878561 +L 208.996145 119.740235 +L 204.250605 115.267765 +L 201.406711 112.81793 +L 197.571866 109.779719 +L 193.73702 107.025758 +L 189.902174 104.561458 +L 186.067329 102.396654 +L 182.232483 100.545742 +L 178.397638 99.028066 +L 174.562792 97.862705 +L 170.727946 97.066318 +L 166.893101 96.650529 +L 163.058255 96.626017 +L 159.223409 96.993067 +L 155.388564 97.743012 +L 151.553718 98.862432 +L 147.718872 100.337632 +L 143.884027 102.14796 +L 140.049181 104.273977 +L 136.214336 106.701214 +L 132.37949 109.419776 +L 127.814031 113.031529 +L 124.709799 115.725063 +L 120.477931 119.740235 +L 116.259279 124.212706 +L 112.526509 128.685176 +L 109.281976 133.157647 +L 106.5484 137.630118 +L 105.384496 139.866353 +L 104.360548 142.102588 +L 103.484925 144.338824 +L 102.758091 146.575059 +L 102.188995 148.811294 +L 101.700725 151.76821 +L 101.5318 153.283765 +L 101.447553 155.52 +L 101.528691 157.756235 +L 101.774068 159.992471 +L 102.17982 162.228706 +L 102.745922 164.464941 +L 103.618148 167.078789 +L 104.342706 168.937412 +L 105.53557 171.502922 +L 107.452993 175.006531 +L 107.823977 175.646118 +L 110.81162 180.118588 +L 114.29755 184.591059 +L 118.267456 189.063529 +L 120.874953 191.733876 +L 125.172522 195.772235 +L 128.544644 198.657671 +L 132.37949 201.662339 +L 136.727757 204.717176 +L 140.301664 206.953412 +L 144.402959 209.189647 +L 147.718872 210.744374 +L 151.553718 212.219678 +L 155.388564 213.338893 +L 157.305987 213.760046 +L 157.305987 213.760046 +" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> + </g> + <g id="LineCollection_12"> + <path clip-path="url(#p0bba778d2e)" d="M 343.296 129.87189 +L 342.481107 130.921412 +L 341.378577 132.449943 +L 340.874601 133.157647 +L 339.461154 135.317331 +L 339.411542 135.393882 +L 338.096477 137.630118 +L 337.543732 138.682186 +L 336.925819 139.866353 +L 335.903415 142.102588 +L 335.626309 142.812169 +L 335.03245 144.338824 +L 334.315025 146.575059 +L 333.753295 148.811294 +L 333.708886 149.057417 +L 333.350169 151.047529 +L 333.10698 153.283765 +L 333.024782 155.52 +L 333.103946 157.756235 +L 333.344114 159.992471 +L 333.708886 162.031309 +L 333.744239 162.228706 +L 334.303013 164.464941 +L 335.017538 166.701176 +L 335.626309 168.271281 +L 335.885599 168.937412 +L 336.90524 171.173647 +L 337.543732 172.40006 +L 338.073067 173.409882 +L 339.385548 175.646118 +L 339.461154 175.762975 +L 340.845862 177.882353 +L 341.378577 178.631525 +L 342.449606 180.118588 +L 343.296 181.210094 +" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> + <path clip-path="url(#p0bba778d2e)" d="M 157.305987 207.074593 +L 161.140832 207.623643 +L 164.975678 207.791349 +L 168.810523 207.575779 +L 172.758948 206.953412 +L 176.480215 206.007528 +L 180.31506 204.671953 +L 184.149906 202.978154 +L 187.984752 200.937083 +L 191.819597 198.553882 +L 195.727129 195.772235 +L 199.489289 192.728166 +L 203.507866 189.063529 +L 207.15898 185.261775 +L 209.659947 182.354824 +L 211.408642 180.118588 +L 213.012935 177.882353 +L 214.828671 175.040118 +L 216.746094 171.570721 +L 216.952583 171.173647 +L 218.663517 167.156438 +L 218.839948 166.701176 +L 219.554127 164.464941 +L 220.112631 162.228706 +L 220.58094 159.359638 +L 220.753171 157.756235 +L 220.832349 155.52 +L 220.750137 153.283765 +L 220.50688 151.047529 +L 220.103579 148.811294 +L 219.542122 146.575059 +L 218.663517 143.92338 +L 217.953268 142.102588 +L 216.746094 139.509626 +L 214.828671 136.042893 +L 214.444204 135.393882 +L 212.911248 133.05486 +L 210.993826 130.426042 +L 209.076403 128.02966 +L 205.676057 124.212706 +L 203.324134 121.840426 +L 199.489289 118.354062 +L 195.654443 115.253657 +L 191.819597 112.527965 +L 187.984752 110.144852 +L 184.149906 108.10379 +L 180.081083 106.322824 +L 176.480215 105.07453 +L 172.55626 104.086588 +L 168.810523 103.506273 +L 164.975678 103.2907 +L 161.140832 103.458408 +L 157.305987 104.007465 +L 153.471141 104.932907 +L 149.391252 106.322824 +L 145.80145 107.873582 +L 141.966604 109.871601 +L 138.131758 112.21247 +L 134.296913 114.896638 +L 130.988412 117.504 +L 128.396384 119.740235 +L 124.709799 123.277059 +L 121.745802 126.448941 +L 118.95753 129.812272 +L 116.489618 133.157647 +L 115.026619 135.393882 +L 113.205262 138.593067 +L 112.540759 139.866353 +L 111.287839 142.692443 +L 110.647369 144.338824 +L 109.929899 146.575059 +L 109.368138 148.811294 +L 108.965061 151.047529 +L 108.721874 153.283765 +L 108.639677 155.52 +L 108.71884 157.756235 +L 108.959007 159.992471 +L 109.370416 162.274076 +L 109.917887 164.464941 +L 111.287839 168.391398 +L 111.500402 168.937412 +L 113.205262 172.489384 +L 113.687872 173.409882 +L 115.122685 175.834743 +L 117.040107 178.696725 +L 118.95753 181.269789 +L 121.708662 184.591059 +L 124.709799 187.804849 +L 128.350313 191.299765 +L 130.937263 193.536 +L 134.296913 196.185097 +L 138.131758 198.869482 +L 141.966604 201.210403 +L 145.80145 203.208399 +L 149.636295 204.858531 +L 153.471141 206.149161 +L 157.305987 207.074593 +L 157.305987 207.074593 +" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> + </g> + <g id="LineCollection_13"> + <path clip-path="url(#p0bba778d2e)" d="M 343.296 141.854446 +L 343.179163 142.102588 +L 342.279798 144.338824 +L 341.538055 146.575059 +L 341.378577 147.189123 +L 340.962642 148.811294 +L 340.550774 151.047529 +L 340.302284 153.283765 +L 340.218294 155.52 +L 340.299184 157.756235 +L 340.544588 159.992471 +L 340.953398 162.228706 +L 341.378577 163.8957 +L 341.525636 164.464941 +L 342.26438 166.701176 +L 343.160816 168.937412 +L 343.296 169.225299 +" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> + <path clip-path="url(#p0bba778d2e)" d="M 157.305987 200.359423 +L 161.140832 200.918871 +L 164.975678 201.089753 +L 168.810523 200.870101 +L 172.721404 200.244706 +L 176.480215 199.258591 +L 180.31506 197.876399 +L 184.149906 196.101573 +L 186.067329 195.065053 +L 189.902174 192.695177 +L 193.73702 189.901427 +L 195.654443 188.33152 +L 197.571866 186.641248 +L 199.700759 184.591059 +L 201.81124 182.354824 +L 203.726967 180.118588 +L 205.461028 177.882353 +L 207.15898 175.426178 +L 209.076403 172.198232 +L 209.632389 171.173647 +L 210.993826 168.201302 +L 211.593284 166.701176 +L 212.329701 164.464941 +L 212.911248 162.198081 +L 213.313465 159.992471 +L 213.558264 157.756235 +L 213.638954 155.52 +L 213.555172 153.283765 +L 213.307294 151.047529 +L 212.896262 148.811294 +L 212.317321 146.575059 +L 210.993826 142.88192 +L 210.676603 142.102588 +L 209.076403 138.883552 +L 208.382049 137.630118 +L 206.991891 135.393882 +L 205.241557 132.909151 +L 203.324134 130.481644 +L 201.406711 128.286431 +L 199.489289 126.279613 +L 195.654443 122.750839 +L 193.73702 121.180396 +L 189.902174 118.38703 +L 186.067329 116.017199 +L 182.232483 114.048431 +L 178.397638 112.46701 +L 174.562792 111.273861 +L 170.727946 110.467417 +L 166.893101 110.053268 +L 163.058255 110.028853 +L 159.223409 110.394455 +L 155.388564 111.151314 +L 151.553718 112.297425 +L 147.718872 113.829365 +L 143.884027 115.747916 +L 140.049181 118.066584 +L 136.214336 120.807576 +L 134.296913 122.342401 +L 132.148586 124.212706 +L 128.544644 127.775806 +L 126.627221 129.919901 +L 124.709799 132.287734 +L 122.792376 134.940749 +L 122.481149 135.393882 +L 120.874953 138.011827 +L 119.861962 139.866353 +L 118.794347 142.102588 +L 117.894667 144.338824 +L 117.040107 147.008307 +L 116.577683 148.811294 +L 116.165702 151.047529 +L 115.917143 153.283765 +L 115.83313 155.52 +L 115.914042 157.756235 +L 116.159514 159.992471 +L 116.568436 162.228706 +L 117.140242 164.464941 +L 117.879244 166.701176 +L 118.95753 169.323877 +L 119.84042 171.173647 +L 121.062676 173.409882 +L 122.792376 176.1402 +L 124.709799 178.793975 +L 126.627221 181.162021 +L 128.544644 183.306028 +L 130.462067 185.268082 +L 132.37949 187.077279 +L 136.214336 190.274523 +L 138.131758 191.702862 +L 141.966604 194.224759 +L 145.80145 196.342832 +L 149.636295 198.07153 +L 153.471141 199.404916 +L 157.305987 200.359423 +L 157.305987 200.359423 +" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> + </g> + <g id="LineCollection_14"> + <path clip-path="url(#p0bba778d2e)" d="M 159.223409 193.668705 +L 163.058255 194.057521 +L 166.893101 194.031557 +L 170.727946 193.59111 +L 172.645369 193.206896 +L 176.480215 192.122914 +L 178.707163 191.299765 +L 182.232483 189.684576 +L 184.149906 188.644715 +L 187.984752 186.186174 +L 190.121102 184.591059 +L 192.742551 182.354824 +L 195.654443 179.466084 +L 197.571866 177.270778 +L 199.489289 174.755244 +L 201.406711 171.801658 +L 201.780975 171.173647 +L 203.324134 168.093606 +L 203.927031 166.701176 +L 204.724956 164.464941 +L 205.346293 162.228706 +L 205.782471 159.992471 +L 206.044304 157.756235 +L 206.130609 155.52 +L 206.040996 153.283765 +L 205.775871 151.047529 +L 205.241557 148.464501 +L 204.711542 146.575059 +L 203.324134 142.989265 +L 202.927764 142.102588 +L 201.406711 139.279218 +L 199.489289 136.327208 +L 197.571866 133.812094 +L 195.654443 131.616621 +L 193.73702 129.665843 +L 191.819597 127.910367 +L 189.902174 126.317066 +L 186.067329 123.602912 +L 182.232483 121.397087 +L 178.397638 119.653422 +L 174.562792 118.365767 +L 170.727946 117.490366 +L 166.893101 117.050151 +L 163.058255 117.0242 +L 159.223409 117.412812 +L 157.305987 117.76937 +L 153.471141 118.801071 +L 150.881085 119.740235 +L 147.718872 121.156859 +L 145.80145 122.162025 +L 141.966604 124.556099 +L 139.411282 126.448941 +L 136.214336 129.205034 +L 134.296913 131.095721 +L 132.37949 133.219883 +L 130.462067 135.648415 +L 128.544644 138.49238 +L 127.717558 139.866353 +L 126.540701 142.102588 +L 125.562639 144.338824 +L 124.709799 146.738613 +L 124.139395 148.811294 +L 123.697338 151.047529 +L 123.430633 153.283765 +L 123.340487 155.52 +L 123.427306 157.756235 +L 123.690698 159.992471 +L 124.129473 162.228706 +L 124.742487 164.464941 +L 125.545872 166.701176 +L 126.627221 169.145912 +L 128.544644 172.590301 +L 129.053633 173.409882 +L 130.614229 175.646118 +L 132.394726 177.882353 +L 134.420799 180.118588 +L 136.726764 182.354824 +L 140.049181 185.128423 +L 142.409747 186.827294 +L 146.064145 189.063529 +L 149.636295 190.824474 +L 151.553718 191.61112 +L 155.388564 192.84879 +L 159.223409 193.668705 +L 159.223409 193.668705 +" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> + </g> + <g id="LineCollection_15"> + <path clip-path="url(#p0bba778d2e)" d="M 155.388564 184.938597 +L 157.305987 185.466403 +L 159.223409 185.87509 +L 161.140832 186.163482 +L 163.058255 186.330747 +L 164.975678 186.376403 +L 166.893101 186.300318 +L 168.810523 186.102713 +L 170.727946 185.784156 +L 172.645369 185.345565 +L 174.562792 184.788205 +L 175.123206 184.591059 +L 176.480215 184.085998 +L 178.397638 183.250458 +L 180.195805 182.354824 +L 180.31506 182.291464 +L 182.232483 181.148229 +L 183.793823 180.118588 +L 184.149906 179.865766 +L 186.067329 178.377782 +L 186.65725 177.882353 +L 187.984752 176.669001 +L 189.027659 175.646118 +L 189.902174 174.700594 +L 191.022869 173.409882 +L 191.819597 172.382476 +L 192.70534 171.173647 +L 193.73702 169.565998 +L 194.120377 168.937412 +L 195.284646 166.701176 +L 195.654443 165.839283 +L 196.217764 164.464941 +L 196.934563 162.228706 +L 197.448326 159.992471 +L 197.571866 159.096695 +L 197.749317 157.756235 +L 197.846895 155.52 +L 197.745577 153.283765 +L 197.571866 151.987851 +L 197.440552 151.047529 +L 196.922945 148.811294 +L 196.202355 146.575059 +L 195.654443 145.243714 +L 195.264621 144.338824 +L 194.096548 142.102588 +L 193.73702 141.514668 +L 192.676376 139.866353 +L 191.819597 138.69973 +L 190.988236 137.630118 +L 189.902174 136.38175 +L 188.986696 135.393882 +L 187.984752 134.412847 +L 186.609124 133.157647 +L 186.067329 132.70331 +L 184.149906 131.217532 +L 183.732222 130.921412 +L 182.232483 129.933675 +L 180.31506 128.791921 +L 180.113886 128.685176 +L 178.397638 127.831313 +L 176.480215 126.996718 +L 175.006766 126.448941 +L 174.562792 126.292911 +L 172.645369 125.736101 +L 170.727946 125.297944 +L 168.810523 124.979701 +L 166.893101 124.782291 +L 164.975678 124.706281 +L 163.058255 124.751892 +L 161.140832 124.918992 +L 159.223409 125.207099 +L 157.305987 125.615383 +L 155.388564 126.142667 +L 154.477755 126.448941 +L 153.471141 126.807009 +L 151.553718 127.611374 +L 149.636295 128.535731 +L 149.361212 128.685176 +L 147.718872 129.636751 +L 145.80145 130.869637 +L 145.727982 130.921412 +L 143.884027 132.320243 +L 142.866368 133.157647 +L 141.966604 133.963267 +L 140.48059 135.393882 +L 140.049181 135.851601 +L 138.478267 137.630118 +L 138.131758 138.069223 +L 136.793845 139.866353 +L 136.214336 140.754778 +L 135.379982 142.102588 +L 134.296913 144.150898 +L 134.202103 144.338824 +L 133.27164 146.575059 +L 132.543106 148.811294 +L 132.37949 149.510463 +L 132.034621 151.047529 +L 131.731908 153.283765 +L 131.629591 155.52 +L 131.728132 157.756235 +L 132.027085 159.992471 +L 132.37949 161.574875 +L 132.53136 162.228706 +L 133.256062 164.464941 +L 134.182763 166.701176 +L 134.296913 166.928177 +L 135.35586 168.937412 +L 136.214336 170.327947 +L 136.764485 171.173647 +L 138.131758 173.014429 +L 138.443106 173.409882 +L 140.049181 175.231787 +L 140.438929 175.646118 +L 141.966604 177.119348 +L 142.817323 177.882353 +L 143.884027 178.761418 +L 145.670413 180.118588 +L 145.80145 180.211053 +L 147.718872 181.445538 +L 149.286192 182.354824 +L 149.636295 182.545241 +L 151.553718 183.470645 +L 153.471141 184.275922 +L 154.356062 184.591059 +L 155.388564 184.938597 +" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> + </g> + <g id="LineCollection_16"> + <path clip-path="url(#p0bba778d2e)" d="M 157.305987 175.717195 +L 159.223409 176.257632 +L 161.140832 176.638993 +L 163.058255 176.86018 +L 164.975678 176.920554 +L 166.893101 176.819942 +L 168.810523 176.558634 +L 170.727946 176.137383 +L 172.352078 175.646118 +L 172.645369 175.548322 +L 174.562792 174.73584 +L 176.480215 173.752565 +L 177.050966 173.409882 +L 178.397638 172.504572 +L 180.129715 171.173647 +L 180.31506 171.011033 +L 182.232483 169.123137 +L 182.403029 168.937412 +L 184.149906 166.708998 +L 184.155516 166.701176 +L 185.477243 164.464941 +L 186.067329 163.188292 +L 186.477175 162.228706 +L 187.161748 159.992471 +L 187.57269 157.756235 +L 187.708145 155.52 +L 187.567499 153.283765 +L 187.151389 151.047529 +L 186.461695 148.811294 +L 186.067329 147.89281 +L 185.455024 146.575059 +L 184.149906 144.375853 +L 184.125888 144.338824 +L 182.36715 142.102588 +L 182.232483 141.956331 +L 180.31506 140.07354 +L 180.078271 139.866353 +L 178.397638 138.577913 +L 176.984534 137.630118 +L 176.480215 137.327916 +L 174.562792 136.346573 +L 172.645369 135.535687 +L 172.219255 135.393882 +L 170.727946 134.94356 +L 168.810523 134.523026 +L 166.893101 134.262163 +L 164.975678 134.161722 +L 163.058255 134.221994 +L 161.140832 134.442804 +L 159.223409 134.823516 +L 157.305987 135.363033 +L 157.221093 135.393882 +L 155.388564 136.127772 +L 153.471141 137.066746 +L 152.495646 137.630118 +L 151.553718 138.239003 +L 149.636295 139.663372 +L 149.393827 139.866353 +L 147.718872 141.466694 +L 147.11915 142.102588 +L 145.80145 143.738322 +L 145.36008 144.338824 +L 144.004508 146.575059 +L 143.884027 146.8289 +L 143.01661 148.811294 +L 142.313754 151.047529 +L 141.966604 152.878224 +L 141.895082 153.283765 +L 141.76178 155.52 +L 141.890162 157.756235 +L 141.966604 158.195125 +L 142.303197 159.992471 +L 143.000835 162.228706 +L 143.884027 164.257828 +L 143.981812 164.464941 +L 145.331903 166.701176 +L 145.80145 167.342102 +L 147.0824 168.937412 +L 147.718872 169.614102 +L 149.346717 171.173647 +L 149.636295 171.416623 +L 151.553718 172.844259 +L 152.426717 173.409882 +L 153.471141 174.014249 +L 155.388564 174.955072 +L 157.110722 175.646118 +L 157.305987 175.717195 +" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> + </g> + <g id="LineCollection_17"/> + <g id="patch_3"> + <path d="M 57.6 307.584 +L 57.6 41.472 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> + <g id="patch_4"> + <path d="M 343.296 307.584 +L 343.296 41.472 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> + <g id="patch_5"> + <path d="M 57.6 307.584 +L 343.296 307.584 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> + <g id="patch_6"> + <path d="M 57.6 41.472 +L 343.296 41.472 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> </g> <g id="axes_2"> <g id="patch_7"> - <path clip-path="url(#p772cd82189)" d="M 459.294545 388.8 -L 451.44 373.090909 -L 451.44 58.909091 -L 459.294545 43.2 -L 459.294545 43.2 -L 467.149091 58.909091 -L 467.149091 373.090909 -L 459.294545 388.8 + <path clip-path="url(#pf543f09e31)" d="M 367.2 307.584 +L 361.152 295.488 +L 361.152 53.568 +L 367.2 41.472 +L 367.2 41.472 +L 373.248 53.568 +L 373.248 295.488 +L 367.2 307.584 z " style="fill:#ffffff;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.01;"/> </g> <g id="QuadMesh_1"> - <path clip-path="url(#p772cd82189)" d="M 459.294545 388.8 -L 459.294545 388.8 -L 467.149091 373.090909 -L 451.44 373.090909 -L 459.294545 388.8 + <path clip-path="url(#pf543f09e31)" d="M 367.2 307.584 +L 367.2 307.584 +L 373.248 295.488 +L 361.152 295.488 +L 367.2 307.584 " style="fill:#67001f;"/> - <path clip-path="url(#p772cd82189)" d="M 451.44 373.090909 -L 467.149091 373.090909 -L 467.149091 355.636364 -L 451.44 355.636364 -L 451.44 373.090909 + <path clip-path="url(#pf543f09e31)" d="M 361.152 295.488 +L 373.248 295.488 +L 373.248 282.048 +L 361.152 282.048 +L 361.152 295.488 " style="fill:#67001f;"/> - <path clip-path="url(#p772cd82189)" d="M 451.44 355.636364 -L 467.149091 355.636364 -L 467.149091 338.181818 -L 451.44 338.181818 -L 451.44 355.636364 + <path clip-path="url(#pf543f09e31)" d="M 361.152 282.048 +L 373.248 282.048 +L 373.248 268.608 +L 361.152 268.608 +L 361.152 282.048 " style="fill:#67001f;"/> - <path clip-path="url(#p772cd82189)" d="M 451.44 338.181818 -L 467.149091 338.181818 -L 467.149091 320.727273 -L 451.44 320.727273 -L 451.44 338.181818 + <path clip-path="url(#pf543f09e31)" d="M 361.152 268.608 +L 373.248 268.608 +L 373.248 255.168 +L 361.152 255.168 +L 361.152 268.608 " style="fill:#67001f;"/> - <path clip-path="url(#p772cd82189)" d="M 451.44 320.727273 -L 467.149091 320.727273 -L 467.149091 303.272727 -L 451.44 303.272727 -L 451.44 320.727273 + <path clip-path="url(#pf543f09e31)" d="M 361.152 255.168 +L 373.248 255.168 +L 373.248 241.728 +L 361.152 241.728 +L 361.152 255.168 " style="fill:#67001f;"/> - <path clip-path="url(#p772cd82189)" d="M 451.44 303.272727 -L 467.149091 303.272727 -L 467.149091 285.818182 -L 451.44 285.818182 -L 451.44 303.272727 + <path clip-path="url(#pf543f09e31)" d="M 361.152 241.728 +L 373.248 241.728 +L 373.248 228.288 +L 361.152 228.288 +L 361.152 241.728 " style="fill:#67001f;"/> - <path clip-path="url(#p772cd82189)" d="M 451.44 285.818182 -L 467.149091 285.818182 -L 467.149091 268.363636 -L 451.44 268.363636 -L 451.44 285.818182 + <path clip-path="url(#pf543f09e31)" d="M 361.152 228.288 +L 373.248 228.288 +L 373.248 214.848 +L 361.152 214.848 +L 361.152 228.288 " style="fill:#67001f;"/> - <path clip-path="url(#p772cd82189)" d="M 451.44 268.363636 -L 467.149091 268.363636 -L 467.149091 250.909091 -L 451.44 250.909091 -L 451.44 268.363636 + <path clip-path="url(#pf543f09e31)" d="M 361.152 214.848 +L 373.248 214.848 +L 373.248 201.408 +L 361.152 201.408 +L 361.152 214.848 " style="fill:#a51429;"/> - <path clip-path="url(#p772cd82189)" d="M 451.44 250.909091 -L 467.149091 250.909091 -L 467.149091 233.454545 -L 451.44 233.454545 -L 451.44 250.909091 + <path clip-path="url(#pf543f09e31)" d="M 361.152 201.408 +L 373.248 201.408 +L 373.248 187.968 +L 361.152 187.968 +L 361.152 201.408 " style="fill:#e48066;"/> - <path clip-path="url(#p772cd82189)" d="M 451.44 233.454545 -L 467.149091 233.454545 -L 467.149091 216 -L 451.44 216 -L 451.44 233.454545 + <path clip-path="url(#pf543f09e31)" d="M 361.152 187.968 +L 373.248 187.968 +L 373.248 174.528 +L 361.152 174.528 +L 361.152 187.968 " style="fill:#fcdfcf;"/> - <path clip-path="url(#p772cd82189)" d="M 451.44 216 -L 467.149091 216 -L 467.149091 198.545455 -L 451.44 198.545455 -L 451.44 216 + <path clip-path="url(#pf543f09e31)" d="M 361.152 174.528 +L 373.248 174.528 +L 373.248 161.088 +L 361.152 161.088 +L 361.152 174.528 " style="fill:#d7e8f1;"/> - <path clip-path="url(#p772cd82189)" d="M 451.44 198.545455 -L 467.149091 198.545455 -L 467.149091 181.090909 -L 451.44 181.090909 -L 451.44 198.545455 + <path clip-path="url(#pf543f09e31)" d="M 361.152 161.088 +L 373.248 161.088 +L 373.248 147.648 +L 361.152 147.648 +L 361.152 161.088 " style="fill:#6bacd1;"/> - <path clip-path="url(#p772cd82189)" d="M 451.44 181.090909 -L 467.149091 181.090909 -L 467.149091 163.636364 -L 451.44 163.636364 -L 451.44 181.090909 + <path clip-path="url(#pf543f09e31)" d="M 361.152 147.648 +L 373.248 147.648 +L 373.248 134.208 +L 361.152 134.208 +L 361.152 147.648 " style="fill:#1c5c9f;"/> - <path clip-path="url(#p772cd82189)" d="M 451.44 163.636364 -L 467.149091 163.636364 -L 467.149091 146.181818 -L 451.44 146.181818 -L 451.44 163.636364 + <path clip-path="url(#pf543f09e31)" d="M 361.152 134.208 +L 373.248 134.208 +L 373.248 120.768 +L 361.152 120.768 +L 361.152 134.208 " style="fill:#053061;"/> - <path clip-path="url(#p772cd82189)" d="M 451.44 146.181818 -L 467.149091 146.181818 -L 467.149091 128.727273 -L 451.44 128.727273 -L 451.44 146.181818 + <path clip-path="url(#pf543f09e31)" d="M 361.152 120.768 +L 373.248 120.768 +L 373.248 107.328 +L 361.152 107.328 +L 361.152 120.768 " style="fill:#053061;"/> - <path clip-path="url(#p772cd82189)" d="M 451.44 128.727273 -L 467.149091 128.727273 -L 467.149091 111.272727 -L 451.44 111.272727 -L 451.44 128.727273 + <path clip-path="url(#pf543f09e31)" d="M 361.152 107.328 +L 373.248 107.328 +L 373.248 93.888 +L 361.152 93.888 +L 361.152 107.328 " style="fill:#053061;"/> - <path clip-path="url(#p772cd82189)" d="M 451.44 111.272727 -L 467.149091 111.272727 -L 467.149091 93.818182 -L 451.44 93.818182 -L 451.44 111.272727 + <path clip-path="url(#pf543f09e31)" d="M 361.152 93.888 +L 373.248 93.888 +L 373.248 80.448 +L 361.152 80.448 +L 361.152 93.888 " style="fill:#053061;"/> - <path clip-path="url(#p772cd82189)" d="M 451.44 93.818182 -L 467.149091 93.818182 -L 467.149091 76.363636 -L 451.44 76.363636 -L 451.44 93.818182 + <path clip-path="url(#pf543f09e31)" d="M 361.152 80.448 +L 373.248 80.448 +L 373.248 67.008 +L 361.152 67.008 +L 361.152 80.448 " style="fill:#053061;"/> - <path clip-path="url(#p772cd82189)" d="M 451.44 76.363636 -L 467.149091 76.363636 -L 467.149091 58.909091 -L 451.44 58.909091 -L 451.44 76.363636 + <path clip-path="url(#pf543f09e31)" d="M 361.152 67.008 +L 373.248 67.008 +L 373.248 53.568 +L 361.152 53.568 +L 361.152 67.008 " style="fill:#053061;"/> - <path clip-path="url(#p772cd82189)" d="M 451.44 58.909091 -L 467.149091 58.909091 -L 459.294545 43.2 -L 459.294545 43.2 -L 451.44 58.909091 + <path clip-path="url(#pf543f09e31)" d="M 361.152 53.568 +L 373.248 53.568 +L 367.2 41.472 +L 367.2 41.472 +L 361.152 53.568 " style="fill:#053061;"/> - </g> - <g id="LineCollection_15"> - <path clip-path="url(#p772cd82189)" d="M 451.44 373.090909 -L 467.149091 373.090909 -" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> - <path clip-path="url(#p772cd82189)" d="M 451.44 355.636364 -L 467.149091 355.636364 -" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> - <path clip-path="url(#p772cd82189)" d="M 451.44 338.181818 -L 467.149091 338.181818 -" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> - <path clip-path="url(#p772cd82189)" d="M 451.44 320.727273 -L 467.149091 320.727273 -" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> - <path clip-path="url(#p772cd82189)" d="M 451.44 303.272727 -L 467.149091 303.272727 -" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> - <path clip-path="url(#p772cd82189)" d="M 451.44 285.818182 -L 467.149091 285.818182 -" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> - <path clip-path="url(#p772cd82189)" d="M 451.44 268.363636 -L 467.149091 268.363636 -" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> - </g> - <g id="LineCollection_16"> - <path clip-path="url(#p772cd82189)" d="M 451.44 163.636364 -L 467.149091 163.636364 -" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> - <path clip-path="url(#p772cd82189)" d="M 451.44 146.181818 -L 467.149091 146.181818 -" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> - <path clip-path="url(#p772cd82189)" d="M 451.44 128.727273 -L 467.149091 128.727273 -" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> - <path clip-path="url(#p772cd82189)" d="M 451.44 111.272727 -L 467.149091 111.272727 -" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> - <path clip-path="url(#p772cd82189)" d="M 451.44 93.818182 -L 467.149091 93.818182 -" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> - <path clip-path="url(#p772cd82189)" d="M 451.44 76.363636 -L 467.149091 76.363636 -" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> - <path clip-path="url(#p772cd82189)" d="M 451.44 58.909091 -L 467.149091 58.909091 -" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> - </g> - <g id="patch_8"> - <path d="M 459.294545 388.8 -L 451.44 373.090909 -L 451.44 58.909091 -L 459.294545 43.2 -L 459.294545 43.2 -L 467.149091 58.909091 -L 467.149091 373.090909 -L 459.294545 388.8 -z -" style="fill:none;stroke:#000000;stroke-linejoin:miter;"/> </g> <g id="matplotlib.axis_3"/> <g id="matplotlib.axis_4"> <g id="ytick_10"> - <g id="line2d_37"> + <g id="line2d_19"> + <defs> + <path d="M 0 0 +L 3.5 0 +" id="mcc362c8ac6" style="stroke:#000000;stroke-width:0.8;"/> + </defs> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="467.149091" xlink:href="#m27e32ca04a" y="355.636364"/> + <use style="stroke:#000000;stroke-width:0.8;" x="373.248" xlink:href="#mcc362c8ac6" y="282.048"/> </g> </g> <g id="text_19"> @@ -18394,7 +18040,7 @@ L 21 12.40625 L 21 0 L 10.6875 0 z -" id="DejaVuSans-2e"/> +" id="DejaVuSans-46"/> <path d="M 33.015625 40.375 Q 26.375 40.375 22.484375 35.828125 Q 18.609375 31.296875 18.609375 23.390625 @@ -18424,36 +18070,36 @@ Q 23.390625 74.21875 37.203125 74.21875 Q 40.921875 74.21875 44.703125 73.484375 Q 48.484375 72.75 52.59375 71.296875 z -" id="DejaVuSans-36"/> +" id="DejaVuSans-54"/> </defs> - <g transform="translate(471.149091 360.195426)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-31"/> - <use x="147.412109" xlink:href="#DejaVuSans-2e"/> - <use x="179.199219" xlink:href="#DejaVuSans-36"/> + <g transform="translate(380.248 285.847219)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-8722"/> + <use x="83.789062" xlink:href="#DejaVuSans-49"/> + <use x="147.412109" xlink:href="#DejaVuSans-46"/> + <use x="179.199219" xlink:href="#DejaVuSans-54"/> </g> </g> </g> <g id="ytick_11"> - <g id="line2d_38"> + <g id="line2d_20"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="467.149091" xlink:href="#m27e32ca04a" y="320.727273"/> + <use style="stroke:#000000;stroke-width:0.8;" x="373.248" xlink:href="#mcc362c8ac6" y="255.168"/> </g> </g> <g id="text_20"> <!-- −1.2 --> - <g transform="translate(471.149091 325.286335)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-31"/> - <use x="147.412109" xlink:href="#DejaVuSans-2e"/> - <use x="179.199219" xlink:href="#DejaVuSans-32"/> + <g transform="translate(380.248 258.967219)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-8722"/> + <use x="83.789062" xlink:href="#DejaVuSans-49"/> + <use x="147.412109" xlink:href="#DejaVuSans-46"/> + <use x="179.199219" xlink:href="#DejaVuSans-50"/> </g> </g> </g> <g id="ytick_12"> - <g id="line2d_39"> + <g id="line2d_21"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="467.149091" xlink:href="#m27e32ca04a" y="285.818182"/> + <use style="stroke:#000000;stroke-width:0.8;" x="373.248" xlink:href="#mcc362c8ac6" y="228.288"/> </g> </g> <g id="text_21"> @@ -18497,116 +18143,183 @@ Q 38.140625 66.40625 31.78125 66.40625 Q 25.390625 66.40625 21.84375 63.234375 Q 18.3125 60.0625 18.3125 54.390625 z -" id="DejaVuSans-38"/> +" id="DejaVuSans-56"/> </defs> - <g transform="translate(471.149091 290.377244)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-30"/> - <use x="147.412109" xlink:href="#DejaVuSans-2e"/> - <use x="179.199219" xlink:href="#DejaVuSans-38"/> + <g transform="translate(380.248 232.087219)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-8722"/> + <use x="83.789062" xlink:href="#DejaVuSans-48"/> + <use x="147.412109" xlink:href="#DejaVuSans-46"/> + <use x="179.199219" xlink:href="#DejaVuSans-56"/> </g> </g> </g> <g id="ytick_13"> - <g id="line2d_40"> + <g id="line2d_22"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="467.149091" xlink:href="#m27e32ca04a" y="250.909091"/> + <use style="stroke:#000000;stroke-width:0.8;" x="373.248" xlink:href="#mcc362c8ac6" y="201.408"/> </g> </g> <g id="text_22"> <!-- −0.4 --> - <g transform="translate(471.149091 255.468153)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-30"/> - <use x="147.412109" xlink:href="#DejaVuSans-2e"/> - <use x="179.199219" xlink:href="#DejaVuSans-34"/> + <g transform="translate(380.248 205.207219)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-8722"/> + <use x="83.789062" xlink:href="#DejaVuSans-48"/> + <use x="147.412109" xlink:href="#DejaVuSans-46"/> + <use x="179.199219" xlink:href="#DejaVuSans-52"/> </g> </g> </g> <g id="ytick_14"> - <g id="line2d_41"> + <g id="line2d_23"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="467.149091" xlink:href="#m27e32ca04a" y="216"/> + <use style="stroke:#000000;stroke-width:0.8;" x="373.248" xlink:href="#mcc362c8ac6" y="174.528"/> </g> </g> <g id="text_23"> <!-- 0.0 --> - <g transform="translate(471.149091 220.559063)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-30"/> + <g transform="translate(380.248 178.327219)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-48"/> + <use x="63.623047" xlink:href="#DejaVuSans-46"/> + <use x="95.410156" xlink:href="#DejaVuSans-48"/> </g> </g> </g> <g id="ytick_15"> - <g id="line2d_42"> + <g id="line2d_24"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="467.149091" xlink:href="#m27e32ca04a" y="181.090909"/> + <use style="stroke:#000000;stroke-width:0.8;" x="373.248" xlink:href="#mcc362c8ac6" y="147.648"/> </g> </g> <g id="text_24"> <!-- 0.4 --> - <g transform="translate(471.149091 185.649972)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-34"/> + <g transform="translate(380.248 151.447219)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-48"/> + <use x="63.623047" xlink:href="#DejaVuSans-46"/> + <use x="95.410156" xlink:href="#DejaVuSans-52"/> </g> </g> </g> <g id="ytick_16"> - <g id="line2d_43"> + <g id="line2d_25"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="467.149091" xlink:href="#m27e32ca04a" y="146.181818"/> + <use style="stroke:#000000;stroke-width:0.8;" x="373.248" xlink:href="#mcc362c8ac6" y="120.768"/> </g> </g> <g id="text_25"> <!-- 0.8 --> - <g transform="translate(471.149091 150.740881)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-38"/> + <g transform="translate(380.248 124.567219)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-48"/> + <use x="63.623047" xlink:href="#DejaVuSans-46"/> + <use x="95.410156" xlink:href="#DejaVuSans-56"/> </g> </g> </g> <g id="ytick_17"> - <g id="line2d_44"> + <g id="line2d_26"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="467.149091" xlink:href="#m27e32ca04a" y="111.272727"/> + <use style="stroke:#000000;stroke-width:0.8;" x="373.248" xlink:href="#mcc362c8ac6" y="93.888"/> </g> </g> <g id="text_26"> <!-- 1.2 --> - <g transform="translate(471.149091 115.83179)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-31"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-32"/> + <g transform="translate(380.248 97.687219)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-49"/> + <use x="63.623047" xlink:href="#DejaVuSans-46"/> + <use x="95.410156" xlink:href="#DejaVuSans-50"/> </g> </g> </g> <g id="ytick_18"> - <g id="line2d_45"> + <g id="line2d_27"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="467.149091" xlink:href="#m27e32ca04a" y="76.363636"/> + <use style="stroke:#000000;stroke-width:0.8;" x="373.248" xlink:href="#mcc362c8ac6" y="67.008"/> </g> </g> <g id="text_27"> <!-- 1.6 --> - <g transform="translate(471.149091 80.922699)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-31"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-36"/> + <g transform="translate(380.248 70.807219)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-49"/> + <use x="63.623047" xlink:href="#DejaVuSans-46"/> + <use x="95.410156" xlink:href="#DejaVuSans-54"/> </g> </g> </g> </g> + <g id="LineCollection_18"> + <path clip-path="url(#pf543f09e31)" d="M 361.152 295.488 +L 373.248 295.488 +" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> + <path clip-path="url(#pf543f09e31)" d="M 361.152 295.488 +L 373.248 295.488 +" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> + <path clip-path="url(#pf543f09e31)" d="M 361.152 295.488 +L 373.248 295.488 +" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> + <path clip-path="url(#pf543f09e31)" d="M 361.152 282.048 +L 373.248 282.048 +" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> + <path clip-path="url(#pf543f09e31)" d="M 361.152 268.608 +L 373.248 268.608 +" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> + <path clip-path="url(#pf543f09e31)" d="M 361.152 255.168 +L 373.248 255.168 +" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> + <path clip-path="url(#pf543f09e31)" d="M 361.152 241.728 +L 373.248 241.728 +" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> + <path clip-path="url(#pf543f09e31)" d="M 361.152 228.288 +L 373.248 228.288 +" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> + <path clip-path="url(#pf543f09e31)" d="M 361.152 214.848 +L 373.248 214.848 +" style="fill:none;stroke:#bfbf00;stroke-width:2;"/> + </g> + <g id="LineCollection_19"> + <path clip-path="url(#pf543f09e31)" d="M 361.152 134.208 +L 373.248 134.208 +" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> + <path clip-path="url(#pf543f09e31)" d="M 361.152 120.768 +L 373.248 120.768 +" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> + <path clip-path="url(#pf543f09e31)" d="M 361.152 107.328 +L 373.248 107.328 +" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> + <path clip-path="url(#pf543f09e31)" d="M 361.152 93.888 +L 373.248 93.888 +" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> + <path clip-path="url(#pf543f09e31)" d="M 361.152 80.448 +L 373.248 80.448 +" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> + <path clip-path="url(#pf543f09e31)" d="M 361.152 67.008 +L 373.248 67.008 +" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> + <path clip-path="url(#pf543f09e31)" d="M 361.152 53.568 +L 373.248 53.568 +" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> + <path clip-path="url(#pf543f09e31)" d="M 361.152 53.568 +L 373.248 53.568 +" style="fill:none;stroke:#00bfbf;stroke-width:2;"/> + </g> + <g id="patch_8"> + <path d="M 367.2 307.584 +L 361.152 295.488 +L 361.152 53.568 +L 367.2 41.472 +L 367.2 41.472 +L 373.248 53.568 +L 373.248 295.488 +L 367.2 307.584 +z +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> </g> </g> <defs> - <clipPath id="p553f52e075"> - <rect height="345.6" width="357.12" x="72" y="43.2"/> + <clipPath id="p0bba778d2e"> + <rect height="266.112" width="285.696" x="57.6" y="41.472"/> </clipPath> - <clipPath id="p772cd82189"> - <rect height="345.6" width="15.709091" x="451.44" y="43.2"/> + <clipPath id="pf543f09e31"> + <rect height="266.112" width="12.096" x="361.152" y="41.472"/> </clipPath> </defs> </svg> diff --git a/lib/matplotlib/tests/baseline_images/test_axes/contour_hatching.pdf b/lib/matplotlib/tests/baseline_images/test_axes/contour_hatching.pdf index f79e7605a34a1d14fdd968f1416e2f9539ce2dba..ac6f579cdafc42e70fa268872cc46c032139b96f 100644 GIT binary patch literal 38851 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 V@MOwo7bCC;6bvLQt807|^k0d#37Y@_ literal 43183 zcmYg%WmKKP&MvMS*Wy~-ixqbY#odd$ySuwn+=}bQ-C^VIP@Lkjalf2<zHi<8BP%PJ zBs0nUc;9&@L#-$-$;8I|4T-vHgRHV0iH(ev%-+ZfiJza0MbXgQ)R~O^Q=?4AqUz~j zO2#5)=wfJNZ%!sCh-7MK@*hK<|Ia~F!N|(g*oBPyzb=YS_QoovE@V2Np~NLWLzsHF zkg@!*{R}JmKV0m8_zyBYBo+w|7bz7NLl;xBZ~qOTVqs`vX=hHx^<Poa-p+-L<9}is zy11A+*^zPnU-ADfhmG}9@xKX(*xA{;IDgKs_qp;<XH&aRiTA$&<V;O04MpueK1cuK z!pY4=_Kk!6KbFd-&i1ZO#-FMGCpTrJ|4IEn)%Z_MoIa!cw<t&~Qcm`+4rKqSmC9#& zPKI{Q4*wZ9_Wa*^{nvm+>~mP$)Xmb^R9Q;&vv~hs{r<C@|6Q-7rOjtjWGs?4pG6Qi zHMTeTobjirow<tz8QXt$M)^OE&Mr=-hPFr^*(qJ4HMSi|xywQd^|`;OPYcV{D=b?! zxL~w`9BLpKU?1;@{b5FaC3wGTeJkeYxY%%x4FX6$NxVLh`VZxO+++E@hrjlGT++P1 zHhl7XjRb{{$IAP!9}o6#J=8Q$wRP{8{vW5cAOC9opB2E1{)zUlHwFTuA6Hpd_PdWv z_dAz&<nh;h`^i4XPYQ1jAD7cN(=wKi`sF?6|NP&U^FB`h`M<x;`^!A<^%VTkx5^M> z<~T8ZznK<#BmH>zc;EWC^M9Mp`v9{Deca~l8GL{Z-v1f+-+|YqP76L7uhy02l$fPL zoR?M`kPam2YbxCnhqcxeqI=3?$+q5JYBBu&9Z`H(9&;C~B8O;&cuoKcUhT=vrBCfy zI7Wr6pIS<^DE!<Sw^sjIpv<jW|0bS`{2<ZtYkn_L94n*9Ic{lMD)rI05cr4N@WVV_ z%ulY^HKeA8@AT59YrMyLkGpx6p4ol(t2W_5>Eu@SOT=@BSa;UJrO0<@e3cNkK?7f; z<I-_|iMGh%-CLcxlynOFUG7wDBaM3gMs4phA@HNox$!rgmMtD9W-#R)cUs!6V!f_Z zZ1s42;}+LI+5I_P&!z)|?`s%A)cX+abgRpTaGp~z826UD@bxKsA7h7D^~v%D$Ul^% zLoXzj8_kcBjO&>QmfRnIa$jImR&snfryJ4s-{-td6RVK@+~GI#TZ1R;yWKiw<oAt~ zmKl|~^|%{%7f+!BDSfeXC6Y<ZX~uZyxm+nEFPtCDjj@cE+JEJbn@m%Ox0v0z4`_z% z)0%!w^NyZRG8%mJWl0x>=%#fJ=bB(_|CVY?)lJuJ7XR_+_kqHZx{=NwlW~x`cfEW5 zukF3c#}jn7`(p}SQfrxZx_x|eNYj7B4{@4!h_*-2gma%-9tb1z+IMsO*l=&s!SApd z2-Y}28x>_b@M>&j_59|T*?Dq<_UPA#(mXf4{3ZEyzN~U#zbS+nFRy(=ipW$@_Rkn; zVtB%Uy*$%`Gwg4VW{;Zw42eI*8wT~dHJxxc#%jgRkt2-hS?jviov&$`+Jm*@P9xQ6 z&d{T#dqM+sTZyvxTKbWofA%0C_p}~Dz3ycz7m(jntA=C2&S>_hSlZXYhGN5AjW6OB zKV}))f42xmN;LQXoH3@i0~TECit|Tptn<4lW8cxs8lMoXSjlk#byaQJSHc;KXS@Pi zKkn&SP8MR&<Mo3suB#=Dzi8rX;SDdf)q|3f9{8fm{e5t&HJ*J0JA?}JHd9Z{A9$`- zg^b_M{wnqSt@rzj3{U#@JU4CUd1BtudA({6{dVS-==V1Zh4d|VVcPEUQ$2FmFb@k} ztpxaNc){jn%Ou6?JMI*zcs?FsQwo0nvxerop`aHRe?gWI|88-7%u{(aOYHafnB6g5 zO4Xuk;Js5zftIh{_Vd-AbA-!Le0(YWjpbQ)+QJi_eCJ=Z&8>D6|8yRGRNL@sN0gcl zC<@b30oYI~bI_V1$A|~#m>6o(LmvK9o~K8gv6kKyN9;06HSG&CJBVF|zNSa3If^L! zLY}O;e7i}Q-b*VUT`QFW_dshgtPI$36(bYZqbRl+6Ok~sKsu^vSw231evQ6Z)I&bb zJsx{-^J6UNsoD@USx&5!pF_qB78b>jgB61s3F~fv+MF@QA->o`9pnV*$63i>^L{&9 z2NQdi0E-P}ixVr~nl~o1Sv6k?(??jg($33w+4ilyHr1wR_`4CDjX>{n)XY}u6D3*_ zT~BIMXp-G}Rt#415pXhI)M`srHuvM%v}$pO1w9DPqA{$TZc+R%WKsDf;~Ia5E}OrK z%dQ#qQcih}d4m}YP*tDU|58mvvK_pgkcOyzJylQ-+v57;S{6t9aKw!__-DtCY#0mq zS$zK*q@3P#!d+s){=}X};a1D&v$;lp4t##8FOTLQTN7`1iDg-4_-?oj>v0ZojsAyt zyj*<Wd}#PLmQ<|<R|5R15qK|Lx&N{^BJqzSEeq(tk3qF{-m!IX#yebZS8b<TVFgJO zY+M!2J{Xgm{x$U<jY8*Wk^pCocQY%kB+6rH!Z?>DkP=*8zlj`bhUR2x$k<jD$}Iaa z^Qg&$Q!2-c8rBs-#ssvGa|elHzj5^Q#N)IGt1*8yCjQ5+kt{mpuOm%?)@0N`GLpJ3 zZY1~$$5wks!7!!GhR+<`Z!5t`xAb*wU5hCS)!uS+$O(PYEw@0Pp|=DCc3b0dMV|U~ zw5XKMKa_b@@w$4Znv#hFgpxC~5h!&FeT0&;=MwuergnET;eMjb6#d&fqSQ@oUbHdF z@}oLtu~`~+{b=UM%J_Ee-0uMrqRl4nm#jk`o)SsxhFBx@V=gm&8mHBXcb-JTxZqTC z?fq<MUV6`}+-tUTf|+ONk5uvAXDqa$Q@O|@^gEs;4k@>8n~6dvN9Wrw`;kpqN%|e$ zW?v2q8JE%3m`O~LRSpo5#9i72UslZ3|B$KYT70>ViRxz1!cyB}+TWcnap}@&(|r;I zDCkjw)5U*O>gL937OkLDk8&VuEu-%5A}Vl7Z)%Sh`W&!`K##f`YJA;nE}Zs@rbTM% z+C)l6L5^o_Dkc=&*avpAD5y+Hv-#Br0<(9#sDyJJ=L`rL#1iE<>g*Js?nutvgM83~ zoAL;?FLql-Rp=f&3bzL*)Hkyvh)1)KpBgD8u-<kDtq*HKmWk)nC%o*U9cL38x2g+o zmrdy_L|{JfLjL(ayM#uiA^E=+ejTm)n}s+h#Z!2-ZlIU=Xr*7EE^eyFNNHMX3*$0B z`VdcwYmHOg9b=30(S6Jweqf*<32egncP6!=@;(*qUELkNTpFbPA2IMAg6}Xvy4dlI zzi$S?LZnyx{rIO8(7CDtQvwkOJtp=~VwmpqQDXZefhQy@DN@=}^&<?mz!K(;LDEGJ z!d>mHkuL8aVhh==oG0pL*{n|dqjnEm!8!y+hA^``v+BYFVMFC-=NK&)CQ^V|*n2z) z<8O}5CEP9>nYfkG_ckr*VK+KcN^KJMVr|5f@I9?*rfYD??p%fM5e?HD-KP#8b8C{` zFJsiB<>n&n5krBYQQ)*f6;zaVnI%7+c5$LZ)Q-6?rSd}&JdqU@=L@RffT0b58=p@7 zsJ<1LDC>PRGM4k1r`o)f<QjaXJ6>*L8XQZd;FkUU%ZvPb{ug1Oo1-qVU@R}&dPk}N z)rV*t@}NKq3&0W0$gd*r&1*`_C61`4i%Cd_r0onHCpsyzLZ(H7xk4w+vi$9K=U@e6 zlde|FpD-6yy^CKxJL)NhOO&3W`h;VnJ_KMamevw!+UM4R7jhcLbV*zi&>DrgFuo#! zqSOJDHrLq^)%0(2ZR6*~+rRH1v1T?)GPG9ZUH+->(4@B4MOQiMEp9?q3#@s@SsCRa z!g#5#+Y68gq@mr7fF7dow)dc|q~<)=Hc~bJIfPNt&bX0><4pkG1H;h!R6m6ktCz{> z2c1REG>jHV7wN8}VK4XAYKotugo=C_)nO20At`8>JqUdhCXDnYt9>vJT^n2&x-?ES z+FBwd{T&=80vLa1g!1(81uGM(yN?g-1_BKlvWbLdsCjzAef3hN0a!wmeA<m7d9sX4 z)Tqw12ukG6g0rIpj!tjFI3U!72A@$37tH!9Ber{B=mYwm4eXMYq^8^O_m_5%7PRW0 zmAEU%7ovXxDEtJDXt`v?7W?1am3xJTG#U*C8P@C{G1@r6QTI+>65ayLi8{0KCM<7K zK=-MnR;GLDdpKVzZyKSbYQ$V0kouQ+lhZUI=daIs7kww@4^X!a-b#;WTcv((mwG~% z2Z8Z^ILGEKE4K|gm2cYf&#UK%Z=EeEelC1yd2hpu)AFQ8=B091tEaSYor}4CE}5!A z(RZr9K%MRD#88iJK_j`GFn767Gk>ojCQ7|gJYQGN7+`lM{6N;efY<Y{!nt8#`&}B4 zjv;#1v*pW(N^Kc-hnx1Luug4rnk+OU7fg-UgVkv&A(d!Xn0M25G)PWL;*;5b&RvcR zsN_?gjGVGj95<hzXmb=wOO;VM^$h8WWPv}2z|U-XO8T}Ps9*mXRcHbfoZFgZGcmN& z&uhNmw$?c?jPo0GI(y!^Buzh`wfI++CU@%G;MX5%<C%Kb(ERf|J*HxA?-FxdJ}`65 zd%io`@D|A1|B=c-l>bj9?PDjAn>WvhZ}};X>*$H9#NOKoi>bGd&n+^HeK;icfIB(b zXWM72pxOZ=rYgU!-k7BwgfvC-q-~G;j1P{1|C_QkM$noV9+`Ko<2T~zz(1-|jhiK= zX@Qy%5<Wabo5ZMG|AaPKs6?Z6Vl?duTP#9v)9iUdhio+}11c4qCtE=e-}#>Z&1{JP z^IN#z0tDekt=EZ?yGEhq5M4`y&d?B@!w0&-tRGtKk#A4@V0D5<Bi=m2+UYe$8}(b% z{jR@+_eW=8*CI*cdR48(<*7y^=K!UX%s!5-?@d&*m6y1DbXQ^ZmHuocfx)PHVLa$~ zUE|j3Py^`ti0SG25v70mD_Z|y7spo0Bw9b+G+IB;JX*i>7{~U(Dq8=;CR!i<636z# z;gdT@>!aP_*p9eI|2huY`P=k7r?xa{s$O==gr-iKxh}Y_qJgJqvsOp^!sSxkre_ft zKy;y383=7t<aXioa8tomXyqC!1KJG}I8+TCX05Q2sMY+okKr{C>n%}Co<y<!%--@A zjOjVaX5w9f@dwIiBG+qH=rjslLFZk7B)Jvge4(8HBg*JGcWk{!93x%pB#wKue-P^4 zJiq|n$s|GyuVV-Xs{3OEaW7r@SlZk?n)_%k?ahzG#*YnmC67(}aj<$lC?rZZD0CBD z<K)5fM8mJI4_Di>FpO=nYNUg2`0WtG^K7#UzGqt8oYNEeZZ!$0nV5Z}9=cVIfC}e` zyW3Pg#3NEI(o+b{YBtC+abII51uIjYeqH3Y_wjUd$)E<bz=OirYLfAPoA;L&QmCF| zztvb>xQA6gUU0)B={r^84_ZF<fT=YA!mPV`!obd&5^2P5ySgLMrx`Jn7R86M??ioM z<ZV@C(}NH08BmuhLRRfkBfP^3-+77ZpeTzP4_>3Sg%@_EP`N`$(r;b2(f_d6dXCnX z(!4;@O&w4bnN{}5m(iMeA&cp2D7mR6zY$h>!7kE*eV^PC-{#P11$^XqqfJTOU)X_z zhz|@e9W-qR^P!=QRXB(r9!3YLq;m4ZmOa_PGDZvqQobanD?Zap^5m#pl6v#AapE6< z5IA3eY+AJsA0E>eWV+vPwa0WT(02$W<QCPkG}cFQ6An#d=zBGa9p?G+w-G)aW5LfD zZ{)RqDF7>cY`e9jslQl35=38>TYxP~r(;ebpfD8k6$~Z6G7(QtVrns!foBjRs6hnq z7cZ#qaH@QfLkgKq=8Q}-MP8m7ODq{xiPL;Cosp+ahiM<oX@DMGpP<UWucq+QTs1&< zsLVUw{mXQ;$5vxCJ>sBtpg%*J0)#nd9}UM0{up(-b~V7M7pu1%(R!fXt<e5peCfAJ zGyh(T&$|!gcic2z)sSec-UIQEckgRUqRSpviO-5Ji@)#CzpS~3ERuS)48rD)hxm1l zb?={{<Ef<0tKB!{F{gP+gHJ6-558>Ae0n0yeRKM);koQLuXzsHBzy15t2#(65u3vD zvS!T?l}A4!87a$XE?uUPw8W%KWh`ZDX^YfWZZ~~ccA3O7`lEu=QIO`q4S65byQ-}$ z)KNrs3i530D&uAMG_Za_qy3TGp}YR~i2h<=?vK2VxIn)ceLQYC(7{|lB}g9USSQU{ zXB_itSG+|S&#)dOkm{xe5w%X<^F26qqd;5!71KwrQ7Y%uN%v14?d*aKar#&+>%%^g zXOJ7X6psBTMOqfgdDP@^l&HF=IPUY1*pcS2S~6*0b0)*F*qyw7T5#>An4~{yv_Zu6 z*A9Z;RI_zPN5yWb-I7Z6;FTmn0*wM1`RomaEU(+qXAtzE;Q|Gr)_}P<krA(R(AQ+$ z(A+Y8&p5UCfXKq$0G~)AZrVDVH~u_w+=muzrt6v+Yua=yfyDS5LARB~@*FeBVljYp zB^ay20fyf%;vf<rFs&O%qRh8jr{lQ9JabC0RB=wHrLxtgGa2i5-;*}=GCO@ier*15 z^l~S9*Pw&;yvoG!cBXzz3L9KpbJc;AxWEWRl2S(dQ9<*g`oP`vYx$muT3)f_ZAW1W zPChtDO?`U|$w&+G+`Wsbe9E+`vlyI?gVfM(q#iMWl&)29<F5COp~y^axk@?<&$WT# z>ax&L+4x;6;a#tDihfh5a<>Qh=tq-4`Q!)l{s;5(#|8SM9nG&U_+pj7Th0XLi0RzO z>35{LsO!z<>&@NkRaEfichR+<-8#zM>l)qP^}4f+q@gGCy14uoUdN;^#dnIFd#`3a z?cZDwyubTQynEF##5V+^AZSI1v3%bl6)edQm90i)un?74*EG7jcTd<!?Q{&00#YK> z?#B{$CUN(+QZXYv$>d5OFnARGjyDPCHyFjj^@X)Rx=ro8UX%g`*L_+pbSH6Vzeu}H zJfwC8?r4A|<4H$R*?N+=QQu_532${@d%OmgSw9lRn@{$*XHcYSaga61U4x&+c`ILy z91_7naxB)`dv|;#s8Y46l~}^RuaC4}_wX{1#|HE;AE@$Xy&sMAP%BGCvD2O+MlxMz z{WI9AHBoBRE7O=6dTZU&1<Euf=S5@rp2)l<^z9iG3jY+on-J+B{7wiePEv1EV04h9 zD?n$?mmEm1jusXFRnL8P9h1a}Rb*04zU-Qk{ZJk#Do#{auwQ-L0?*C|>$aq%Bj}KV z(n&2&<X}?XSjNJoz(o69wp(|*foz)$KGf7ZEcXm-7q5LCNJ$%UFLE$vQ=s$vC?GyA zX}L(%r|?xoJ~hNcOk!45cb9yLd~8Oqyw&4cg>k^MSuBO_l9jSQC_pT|#Z*gp^~6Xb z!qNvf)cVJvuxEp=U}54tKN+s8k;G1ix^5$MMdLx=3zixeqSb(r(D)*mB)z(wCbJs< zWzBUZJrebH2;sYKcq2To(xD+tL>}$G%&N6YW+JE6aP68?TL7p4|5ObxE-%lvpNYo? zA7nb;?3c;kdP^TJ-cEsfk@ky~YL>0p@vG|c1Zzrs|5apc<$<rc;iKOf0&jlGwDK6% zYG46pw3K0Mr)qtvVM-qC_KWGjby{gA<4zn$TbUOx(!j%WP)}a4hfXt(32`)JB-BO` zyAO;0%8V1N*111usEbLX2a`)O+1C4kvkj$)4c_xPErCcnE6#CwwSBXUEnM)hVky0J zBWRd8Ztc8lnH&$LZmy`dKfs)7>3J+}jCwq8QUeD#FG1jdx&HUr$b?UWF>(C2vj7wV zugmKy>A3Jfz_A9X?*WQzfazlSgm{JX14I=`KOWC4@3c|0vhtEq(`xXoyY;<~o;?9W zW*2*SUgB=(O|gD=Xqn+9J_9;8$<hQR{F|#l=jmzm3x=yOpNycw_Yh)qId;xsDRoeU zhG+WP@&mV?@<3XC<(|}j0fk^|oM}BuffK66=JJE}gM|Lr>f$x!V?yPVV|Sc^K9M#M zY{_8pSWuE0m99q_Cf#TI6cNa>Cj}w8aL{>%87mAB&yh!#q{Pr;HqUKF-3LFKcZ@$u zFxx5BLxt%Lqg?~6_uAS0&V4+ewROMvkC;^q;jY*0Ny#gd%y-)G>-r`y{$;jC2SXGU zvUrO4Rpu&;;DOy?9Cj@<L<v~_q~On|rVh(89z}9I34i%jd*gH5oj|&dxHzft_j}>1 z`h>qM5h^y#vC570%<}aB54wisBGsjr?+PXma$;lnOU^#J&A;3$*H>Wpq4@pNzp7;^ zM>nicD~Y8m<>=v`ZzOkj&$Pfuf!h8jy^Q!qN8|>6r}{5mbfs2Tu#do4J}=2!B*!*A zPs36f@Ta0{2x$8@s)VMM*_KT(o!U%kNwzkzhMSNhQz%=F4AW+7y;a5|qukRWP_gDh zpf0tUc=kiC1(zvr!DDi^Gq9|Sh#1$O#PDb~G4VH+F`-gkkpwiZ*ObBvq1wOuF^R5- zkMQ|hn_1e57kVSYGG^SZ^|T<+ftPun27@F?U6P`Wf3vPIYDcfUB5!VZSAUiH%tFtp zHuL^BTb?Y3cLhzJMW>;{Kl^|a9=iB6WYrG21#liQ9(pC0TH8^#Wh#nx3OCc=eLm)W z`+~cgtsEQ*`wBNz66Y2(My)mQ0>RwA`G`c2x!!erd>pbaFng^oE-o%QglGKBJs$xa zz#Qb$q)ryDnF!ym&7i!@Ug>eC2vRd+*nSYec2YR9N+RU-qP?$<Vhd3Wu?>ycD=uug zvnUk47vpbcpZXg0wqdvy)Ak$&tSIoxT+!aCnXN9;Fsg;X&I5_*vk=hJ9#A$N;c7^w zSmof9v1iZ~%x@p1uE-L&nt}1o*^yAMm}Q^OQdbD!KL3!C-54BnX0P4v#XG%~8tsqj z;a?E3%R#w9Vghz~+$rxuJ%QMT8FY8I%h{N-c43${c|{&<`Opg;K{^;}*<W1+EK*=# zd5r%KxyaNMw%AB0Hdie4pxbQaHy~cN66e;;58yPB8q)#8#JDJx_i`*sCwDH!*VrZ- z(L#fk^ce|o282OZk6qlCakzueBT>%nSQWi=)91FrSkMCG^1Hi8A8(bXd!$ujA-Bmh z7g%$Z;LTOh=U<x3fa7{{V%}o^e;w=Lw{Z3H6m#z4?J3>fncal>(hb<hRTRFO#n#cc z9*J>vm+$qLW*keu?>C1fz5Ysv6WNy;qj*#q#@{~pwm>Ich%DKFGO>PeP+I#HPbO8h zC2<-959Q`ge`t$oG0@oxm{wO*HKjK7CoO3$S;^`+Yca4`znNC|7dK@zQOqxyE}gut zewidFx7@mOPv^2eF%#IXGR<zxXh?He>zCL5s};>}TW-$uSZtct^r%7wA%?)Z4<Ux_ z1BHVB9x#iEuN&BhkKY;COM*Zclt_i|5fn&|zY-M4iq8`qz=e<=Y{ZXn7c3%*uNopE zjo%o;Dlh0s8<GP?)P4#BvIZgVbfJF-7>=TYC%8)vu`I<Nxnt7AR=$S}-b|j8r;rZA zP{5G)6H>So+NWWVld{RrajPC@^@@AQ#a!IR20b52VvJ!MEBiuMbz5qL#NI*9Js&Bc zc_H*q^FGf9ySX2<(nD5ccORL?mQh(X<qoN!Q`%Ktq@P+zU~v5;U=mn4uf<@xrVeQ! zl6g;CnX@>2nLXj*7yqUd!87^GkbBvj(3CFv+5xvLI`ul5UD@?<P(MM8G*iY-zq?bL zL05<cNfr1y*?~n2NjOWdo`BCjRTP1W<QZ-_^(YLH_ty~PR6=j@D{sLUi8yrz{%qRd zSPyO5cSPRHiqb{o63fcWXBAY+al;7AWR+tLQsH;rtQ^y~(5kKsbA!g=fI%7Vr-1IX z>Jl(Uk?UPs+-b4fI=;frjCcXZGy80xN;T&aPCP|`%6|D&=}O}$L(Pp%q{C48YRpFF zbfGKC-hmb_owGoW+c&#b87*-$<)hhm`gTRrA90oE^J=>kTv+DpI*JVL*29w|SAjA4 zlA?3xgMhRCUm%I~d$lfrN^M97)9NBI<vzXauRFHw_(-gvr2=T$y75fTd>!w48C_M8 zXvmc{L;~8AjsYFMK&TE7L5*7GWE>>Zn53^+M*x(>X|$^)iEyCaO*ONU2<%#XYTP)3 zh{G-wQhqVNRrymSwlHG*hF2twvM|FEhbS72G6c?rmRQE8jJ(SM7*3`Okm5Ngd>O({ z7#}rquuv&BM`~RsAhylqIG~nFnYlZEqIrtC=kt<y;S{21QP!W;53aTN{4_N_^f9dR z9paqJJp`ff)9xg`_DMgM(6K&3g>s@dLraOUx(w1-2073n3<oK)&{749aN>sqi}2y^ z2eXRci|%Lfh(1zboA+PQY}H|hsXs~9qdOt*b^3@Ib|bQfaNkUpkP{J#c9F+q+ZUql zT>8v;y$^~VnY(}8Z4gqvYv8N+q?7AaE%fKvRqE%})$h-%zjYpCz9LY?+)U$DLv6(& z^yxN6LA+3{XgdnbA{>z4IGDCvOPT!R|8ciz!Q{jScpgjYVOoXca+ckz5LWd>^z`+8 z@Z2*Wbo~fcFL=OBZ#ZcmG0czpya&^UY*I8OPAL^sO7Zxe9(m%uSk&&17oaGoiodB* z0By6tx=+=mb6{B9Y_nM_!I24_HgkRG(;_gTdW|)HfYYalBZpsohPFy_o$fgEjI-nY zLdjk(z$|2M4Dqcc<J_<iPBLy@Ki>6_7Yc)|gbn3jCjq)nl_Q8*Nd10pCP{bd;4~kW zRdu%GWsphy5@w^y;Elu^qK$}~yH^EeF+qP!Tvl7l-G&}sKOiTn4h&6-^A?`Re_ve5 zqs%y#%^?&jizvsy-C~0GtvrYR{`UD@=cAZupzbKQoz|1*8fLupg#KJ*%2^^t9Q9p- z0Wa4?!@fL+U<Ap%U`@8UfCM2|j2)d9p7~%m_RNSK#3AohnV2jUbg}H`DB)I509YhT zD<8_pZwdF>qtP;1?%zof+YFcRR^(e=WWDXhP+dD%e7fkP=wL@PXZ{(kHyRG%&<3I? zd$k7Au>d0~u|q7;$B+s|yZd#+NAp7?98dZmzJ}p4yDdNx!$mIgsykStz6_mEoI7=P z6}hGWB@aVY`=^V>$PL^oa4o~iO1rpwUTsm%`F)rT{2Jqqsw6+CJ~1qbT8o|oseRlr zhBfOeoO9FHhz&sx3GeYw{OVLc5x%4|DLA!1gC5Y=pTGpT?oVI^kc&ld02BuTxVByi z!^RC=h~f4OuSnot$Zg0(F`o}n*?wXS5wHO;2fngRVD_=I#b6Z)vPokH%djCVayLYg z*U(}{lQ(up>HuaW0`*}ah64<-StUJ8U<`&G%wyv2QB+>SYTx8$35ga(W=H_A{UCC{ zxBgx#fQe`?O-Qn6Jw0GRw2TP=7R_e`P>2<90F=ctxB!7-5xg*U0|ETl+XDeYA!y<j zq5y$GVF`fEps;k_2344rk!A^6(ER&>6gVx^c2-B@KI(6KBa`R&TJuqLw6{b@on7?b z_D&|R$~XPl8j4#AUiAF~-dSPvk~qK3wnxC#zZ;wZVEc$Vr|>^g9$mEh<2};_Ej{Yo zp*vAdHHP+EZJe?-@e^>A(GL48F9FM5?-rHJdxuSIX^8SG$Ste0!mFW#ep+BVH}Ae? zr`30V5;fX5x&VR8a`L*Kax+V0Kw>~yy^W|C_)tI=hZ3Kjg{AE+KeVI&egDe+Mw_&N z(%tKXy2YlhY_9Oj_SK~m_z?N@SVKS1cD?f4qw#*Ua8Yc~dcDi-pr1Yg-Yd226kprc z`N*T?Q3;M!aii%TvE6?gn^-DtUC2vZu5!|W4<!c`IQmb;np)B)D1A>rt#%lb!~i&l zwh-s)iL@8R?8)>yfgfl6zT6n=6uS!}{Np^8;{@)cV$$imVBdC5{Kd!sqLr(6?N%Q7 z=-lEP{hpXA`G_5gAMF`h9nT0x$Q6xtN=H9#cjPaOyCA2yHAuq5=Kis33=IDZ$tN+D zv~88YkJ<APD^Ys&RvEwaxW9cP#UQYU`#dxPSH?}b1|xE3NNOCB62_AV<C`e(${q3X zT%Xadd-vN1T^J+Q*hn<FNLKoGL}RAOTdQ1`jGIYDzuE{S#m;Ic5oh~R+b_I)p1f}~ zz%cuyeN*b6C+|PkGP#W-lmRGo9m8+uIgBE%t5_{tS~#XQ6IP6YRiThazI+bGd`v2h z1(gKQ6xI=rG06<g^WO^*g{RoQ##oSP{RS}-!PMvARs8S`d*0t2EF1VPh+xE550hsR zrSM){Lcj6HjbhMkxT2;6ZG51>x|{-i+t3i_0C2@ZCh=4zK>NhE8z^ke>1toah;Q_b zZ=yk*sEZ96wFlS4<kehnH?sK<nmi2iFk$f9cP&HofzpP;U#pqgqE)>_z6~_2kWFK) zcn7qg-}NNY^J`?94e&9LVdn5o09R&O?G_W1_XJwaHmhmR882BMLY!|-KURS{N8OoD zk9Sz)vr4kDZjH&Jvx!wxMl`P$rNAdqC%hB7F$Gep=r~H;k*u=hm^s@QVAHRK=tM{r ze_FPKZA-FV<s>cz9xC_?2r1>K-?WdDlClxPj}cty501YCesSQo>f*t|aBu80wte>^ zCxv+01h6sPqSMsqt77WLzUqXA@<xnyOXI|=okj5F$aSl+;L5;zGFydD1*&?IQYQKD ziff-h8u9itxm}YrfJQ0dFzLrod&m8pXZV27F%89&zH*SzG{R;qcq#v2J>k@kXM&d+ z^-aAkGRJX-B=PplSd>6Y#Wvj3Behi`7A46A4criosxs4jHjlG^MLX~XyuB?K?I0zj z4n(rvjk>mtyrsm{Ahlb7`w_}yoxXiT&D{}eA2aQcwh8Ay>$+K@R@C_vHKeibX!uy} zDJpEyA~N<y)sEsZs$Ru)SiysN0<=b`MBzMXRTSR*u<0Cj-&5cR`=&B^_2~6FpiHOn zJF4=nS)c?xl?RCsQ4`tfsc`$Mi`22wW=4^n2e}vWM{DBlePi_vy@@sxb05QMViJIC z7TeqVWjGhzbn_Tnb!UoWj@RV%G8ivxF(n|=z+PHGFDZfR>dI1nM&8_+NCpM?t`e=_ zQfubnajqa&nvwZ2S9=#sqaIoqf2ZRw(^h4=*mfsxjU@R<CZWsj-IB0n$MBhAK7nco z+YX8+h1Jr@rBZ=6_(3>OAtl9s=+NLNFY3nZch`ldxHZR%!*x*xf3B@LKssiGoFzYM zAE|OcFR?Yky(^Dh2X&zEY|RpN(X~t4h^S6e43eZ<xqM?$9r|a8gCF+>`$`Dj&KwMb zCUEo{M~vmVFMf~OixT0NT!3Cy0_{)luT_t&7EF}fmubDFL+3%-1-=G<O`erz#cri- zfylAAA><N3@eIZA_RP1Hej?-f`|$5=dd~CU@r*Rw&uv;$sKdP!owtSR^Ri6o6GvPS zB6A5*dys3UB;uExe33lEAlc&Xim!Xe|B~PUgXnsdr36X{0|bB^A_29Ja>gcCl1ScE zHqv29CP$<8%GA(0%IIIA&Dm$Z?l@t_&<yw~|D+v=Vh7L-q+w3b4HU9R(HqvVi!+e7 zvqLaK53~0&?##0LF!gO>erFCnc6wwEzQb(3q(OYdBK(Oz5F`EbaVW&?=L#sK_-E^Q z$lPnJ%ln`ZmijkJSuE5$?#4{?8bq|0tlYQQH8Wj1(d&0fKmVJ)9>d)j{`XiqnxD?1 z!Ze+?_U+HyQ8~ZX5%+S?cZ8m<x9U8hN_w8|Di!VE6P4(p_u3%g5n>V<qi=`H+-@H+ z&LFNCJjHrz_YvQ_gSb0C5krVi#E^XL6EQR=jXZVqr|O7*OFYB94_9qn4UZo*Mw0{6 zTqopX2nk2|H=ug1DJZmG{-}L-Hy7H0V6}oU1fWy&(R6PUx(e4JY$1f&Z$KGxpeGG* zKLjdLASmw=3W;dqgxFk9_K__BhF2c<9nsxJK5umhkwg(FLb$<lG~|p}l7dge#poqS zQgy5*$YPzWR1-8JVUXtd`C$;Y_z>Yx&IktKJ0AGm;WK{tL=n9q_&yQ+QTQ7XeF^yd z$AnGdy+1?t2Fnxxm=YPv01=4<HGrc;q9&kVC_x7>E0LfNfRs!$1h7dam;eliBg_E_ z!vR)+UdaGkz?Ed61Ay!SCEGaQ`&a|zBVX9Kv5NrQ9_5uF+)I&zFcg-_l?W08m5o@C zsL7Fdl(vb5WSEo5kyKEWiN%koLX#tzuy!hopQ3Zc+j4LxCchM*pr|(#qrRAGDu=OA zFR1iOQ%kFb{rUq^5A!gU))Y;k?$v@T`y;H=-(%XU8@6o9qaSu@+PY=W&pLqU{K{H@ z!_mqXOz!Lf=C=7=_q#`AD&+ZfG~%nc<yhX=MyvkjuT(bulkZ_R{#b22*PAhSZzymy z*pB@~A8;xD^Am_K*@<(A8gI#c@*d|Q7w?flG#eh0zdt1Bu>9U=&T<p3zewdNJ|Gr- zWF09ye%NUD_6VwPzYkG6YTQcS{}D>^J(UFu7HV7xZfk(M^QFMuAdRb<U=46h;V1P= z1xYh%!$0_5n8uQ!mOK_a+hbEfj;;O6KnTiQ;fUC4CO+Xk#VqXoJ}@Eh_u}t#Ssv2- z_l5$jnM2m;{Fr&Nvb-d26Dc4uGUWIs%VKrT6$S9znO3lEfp_{bS|yn_52=zvq?7LU zvfyydmQT8X8wjUAM8ysimvH0l*BuT^Lq4x8MZPO^jNJ0oXLEpK4oFpySO78B<2P`U z(2G|gHeUQ{@#Hiy(o+1&Ov|fYe?LaHd8nq#*^B7J$Z7{+v!D}C;3O=+W<4EcD1am% zGwLBA3v8-K>|D~vEWJw~%ps87g~u)1&rth?=^pdDm(-n}7j2jtY<`6KwC5K2I%-4V zAI1_Xbe;|(1bhWI4^cWDj#4_MO<?ls93}EtTSc2N@NZdN$yQ9YIfZ3<H%a?MRNLQ~ z7zyNa@ozl|wm2lHCCcX9hbh&?3OHvb+f`E-QzG@sTn^?0dSgAC*0kpYd{Y{2s+iP= zRwi?*KmL}q8K!JP3?ZbjUZndoJ00T!g;N!duClKRPe}&FRVqC4@=Pq{>!^wrQ$@fw z3<E2;CbU6TBF<~p{Yt9*DgG#k+nXF-;MTIscj6!1FT@y$RBNNJE$hin>U_^1Nm^ZH z6bV8hNTCD%&VrCZ2)hZ>&Dd`fqp#eT+~3oo`=DUTz@DnTdevcg!9==zw-DL-wax+g zl5mV9sZuDy3zdKSpEMAf8`E$z?K&)510aC|K)$c-Y=>IIJDUQkVrgn@h!mMs@nudL zaJ!wOfx4W+n*R{1LPe+r&w~)$(Wn~ZPB1Sw3fapjrM+_R%j6L=5P8xegDBWw27MNz z+?z4>5jR2Ve=SM1mzFg6DC!(A)F+it_Hz7H;Ui&*F36zhCC8xKpi89xQgmNd+W4?S zRcdTBd5kbCl2ef=w&$Cd!O9fE*`54eLWo4RSq^UV`tklkj|r~FI|H^6r1@4!b_rqU z2wxcSHCQQZb;5IOXCQ!0T(!<;Fb3&Ty_uo?Os!b1x1@eqS-H9KrtrmuQZQ{}qqsoI zOlBY$lX4&Q8-mE9Ahnr8I7m=Wl$acM`yISaBJaFZ<Y?Ad4hDg!P(J8rjoB=-;U5qJ zS<al_+E{mIT#^oOx5rHml!&dzq$nkr*J+!=_g`T+6Q2|qvct)aj*KQooMT_Mk06xD zG`lj;fc@Wu$!_|%%vbk$8eem7`m_^iQlPZ1Jm7sDE$QwbCz?ir7I?B%AO$@b>5GJ1 z-31Xgv*iCWDBvnA*$(I4RE)s4%@$BxE(eX^P{YyU@^I!x7ZmB~zVCE;`7>tFTmNBh z%U0EfaDp+=6Ye25Zxub#?j(mFR(m)G!WN2pqbwy<p|daOH!;ARCt;MmiDD&iejnAY zwAkvT*kWFVY_o}SqCWXHM)R+++LRcHV7L|Pnpv$#ZD=$@dhLMmL_klfei|Keh+Z;C z0_Z%mLReuF2NOL0Q$%9?qQOV1e{JHPPcSfX2F}d2OuB0DpSc6CT%~<n;}22T?5_17 zENE&1`gGebL17W`#Xprlg!gP=35wQ_;cufDE6cC>^T2^jaX*uXZU$l4j4%n(_6z=W z^b<y8gw<zFmNjweG_epQn;}6|X46%c;fz^;#Ydwxw-4KCx8ZVNG(y{<+y@=z7Bqyv zq@*5;kr={Ga5Q{%BlUpi&Qo^@eVw4656>b+K}|5M7$*R@7qXBMl3A@nxnsS8+V+hQ zAnx1`F*t9j)qe?`-+Y@TSWVpL`RNJDqJyY&*=L+b$x)=Ih%(IfSu3u>U>f4>3=1jG z7J;89L51752<wx4=tl6PSy;FXtQ?I)%ohFI*C%mUL7Xs!v6jwE6Z<GT>!vdUW^u_T z;yuh)r}4X#R=phI%kQ^Z;t(8IO~s4<Q6;#JQsnFA31L3w(=%@<;ogk3{{y5ac0+3U z(3KFdEajV2!v~SM|N0%H$u6~@lGxa`B%-c>NaBDIC*r6H2i7T0!&L{GQCsU@$ycST z5U79i$!>&br9Y7?>!1TV&F(b2WsK~tv)Sa3)5+vPCxv~FWxXphMOq}wacv<5FlBc< zQGCs!qDmU$Pd{2qBL)1iV{J^s|GKmBU9x?P2v>a_km6@s+^N!AC1~s4KCN`;FoqJB zeArXMYgiNra#wV|r_@G{&Nx<zYCuB~$QickO8rNU47I2_;t`X~ob}5Yv_lttMOwz2 zPDwb}6B6a_+bq;ALujO{!F#%j1t1`5|2OFT*(#v<ySHXUzO2uWKJoybLmCfELu2tB zSU$yW8$r_wE7VP-V?)JCeD+&mzcq`|4M%~N5vOO!+|ms8BnMrfjgMDMCJrrHp)sa& zGNiYiL{CTxBfImLQr{8cE3eg|D#qxro)dm(9ZtTzVy?>1*R(y6CXoM-OM_`a)eP(n z_DfS@og0}w+RAJ_szfXd+s0o(G*8hrapWR`b*6VB*YJdKwIyqDt|?4UhFL2`*T+Uw z;((w)e>GCOeX%xxMV0}g)q+wKmWnXU&1Mrx$`_?FdkY?^g^<52({+xk2GSY24g&G} z;>ApYO>+@AaZU|S{0l0LF&T^;LY&J$_9pj@fk0whY)}*bjf&$Ng!rBG1X=*+cCl3C z$|#&0KsjZp*eC~L4M5Gpr4QnaXH(mn9F`myOSCT<ycUPx6Sfi+JIS!;<N%wksb7BS z?YNWWjV#M-x-3$oT6EwX>sVsX2*a8zQ^(nyjjIV@M0?rHv1a8j@T)3E%CTz*>loj1 z9S$s~fOBuig>{+RnFC9FTDY@j4>>juhJRff5+COla(2JBOe}kycz!F;ZG(5aQs$fG z;Zf<rx2l;&2g770xC-nN&8lpZMO<)6s-jXDTDndgd1Y%SdP2!`a2b*dc?HRDmB_#% zHIkee_Fp2)?ZCpb;0R=SXyLiKws`bAi{bQn3^o*nfJ0hP?`8|+Q5P6ocr)EucGK=k z2}&-=MhjsS@4Y)m8;&*-^_;MJU)4~HSE6|F*L08xreTq1w^bNO+;>Tq8CF?#an3cK zA~q;ICA@RG3cFNE6Lro%o3qk28e2AG$=x*fn4W_zer}Hd(thrY5e-jlPXg{=N5jl$ zErW8+%B-TA&1h}Hrp(H0MGwu$?BU+c@*SXX&B>gQm}#<|!z9e{U4!&!Qrw1J%n>}o zV$35vgNkWjypcN11AO2X%pv@s&ddY+zoQ4Bpp)Ieb&p^rSi;%dL;g;=5>VgqhJ*gS z(tF64V2N(xHuzAC$ezCI95s}eZ}N5qkbgTn(|qfk++J^Anx3+_Ja&P(ZE$A3db+Yt zY8Ux}^?VN#N1QwS5fMc@`}gB&)&?}xbfga7P_*^g%-zS({609AT;W_<w;Jdw9XP@@ zw?!Dfyfq{A>^yjWCwkD#bl0@^dNT3{$D4`PBp#8&Adc{}3+irPl+`V7oUe=_++&9` zM8>ym125h2ALqhvWXl7Ue3S-x4_=bi@vJgF_@Hq$lX6tz3S+sr-sY(nKK<hHy)xNw zpM=q^&iL=HhHD_v{m4v<M7C+zU9im6$zZ^#`<Ix|^ma}cN_(7Hfz0X9e_&mQ)2K($ zH^$LEpoIOzSUdHb&av)PE`XqJ+R^Gm6O3AF+v*lf6W?EnMQWGLnRc?cST~l!8c@zn zRO}b;Nx_)?o!6A9WxmqwxydQ8omiF2=#lDsqkmjTX;5Zk9-b3Er6FzAov=M$2or=7 zQ<$0_oIr@fTj+`#wr)&MrqSri<=)YZ(?al{bDs7UIm%QI)A+@PWaH7X1aW<wBDaJ_ z;s!jC6LoE0=hebVv2MjR)R*WP>&mws8jYuFk0)0W+U#$xCPP-4k(XG+fg>U(><=f) zLoG*tf`$VE{YFI2>7lom17*?AA8;-<z=$Jmq3~CyUW9OaGoqoZs;l0o1B;x!wWlg0 zJ~iJXB4ZW}H(G&+uBYNG1cF~=(6zD#M1fv_KZd&)C^SxP%b1??=NPtomx(+a*BHFA z&XK5bcbJ~4pCr>1$)E4_gFnkFl0R)t96s@r$9z(_SL8(CRs0>!Io?ggMu)G2x9caw z+pC`#tZzR%)NyEG6E<gdWE*yJXmM$e%|jl}F~b9$>>oVw<uN;W?u%wl;7U*ZIRHGB ze+8gW$iD$7D-_%Vf~NDI06>NO*DVBpq*rrjs1;#Iu7Cg(#>ZUy-eK~(V?>)3D8i{L zf$_jtzx*PK6$?c6$X#zcSVCu!5u-Xb0-G~9!g-NluR1m|7aPz+0tS0hNGxjsr2;4d zn@c$~?iV?h4k!SR3q5Qy{)vS9Mj-dlUUI59TQ2Cp1YaTQ%_KuH42K$98H&j?L1kFn z6hSRW*EB*s%7q$66E4OyKntqa6ha57liEi&Y~J)yFX)uo#b6l9?C4h*ftiI-82kHI zQVvCSSOyMs4rp$yDUJbAj+k$K@*F=ohqO5WTmxn*V_d;b91+~Xe*R+pUsPX%h2Bf< zTaK7eRtj61w{gyQLp~8>!cPb}(?g=;#3=eNFqX+{T%?&ce}{(`%Ns9O7;D!yUMgED z*KcRPsSMT?Bc0b)f|b^tFRxaD6Dek9&$o=IWZzWYT1j3_Y_99P_{}<spC328<FUkW zVrCC>d@pd`y@u`Ttz<3ppSHxC($a8+vuy`W*#s!XR<_`kCLq+~ocIAV0fK4VYv!45 zmG^Dp)Uqk{DBhbr-@gkq2|6*rVUu1s(u`E0Y{h{hRzIXS?|WLNyaJXEJ4OSDMS;;a zwnYR?R-b+BGaKJ=UJ$yTD^CDb7z_5gNb^j0F;Mi47ay9OIc3|w$I9b2%`o&}X+W8m z81RYFk>_*wc0J^D0Sk+3qq{j0O=E9g_OLNp@o=D5)Cw%^Th=<>5uBe{$k*0zpUF-U za<XfLV>CLPD2?!Il0^3_F?_qB1oStJH%z5x=^c=UaV2wh_fVkRGlX@A`hF}Igphqi zNLJ2eqgT+eK(FR_DvjSw?(`%6E^ThlRZrwo+Swf$YMC!okGX9_VttLQ=E}*4L_7BD zT7!78mh)WrM5U4(LlL^(&{K}?6q8JL)LKym8IP-z14Oc;gAZe~AsCcwj9vsIqMB=U zzb&lGK=x6a_7HR7VIy4$so$+MdGK!5YngXY+g1@9F8=8GN@mnAY<x$30a6&|P(5QD zE$*GPTs)d0lc4=R_Hd~3P7GxPG(TGV(u^qALhPzu8W=OviZ3-(0lzZ<4XHP!*v`?2 z;gw!$R$y(OPN}*zt6<)9llg$~G!AWf?F3JzP$v*W5g0?+2>$*35e?&}K+VW@1{9NF z5R>5#+z*_1AbJYt?$NrI1vWI+?oZx)_J{?(%KTlprCc3-(Eyu08jR||UCHG4FQoZV zb$I2|rWX_5qo71N0n!^>=Tk|sVNp4Q7wOEPh|g(qY?oOe8mVi$byHD~CJB&j^PA2g z&#`Ez?b2leSOS~Ox6~E6qbSj!Hg&854SCu$ukbm)7#&BU^31q(0E;TV$5*1maIt*5 z?wi9pPT(X+DG%M!cDY4bnNlU|w#YL{)n{N+A3?kf{-X-W4Mly-Mu|7if-JZRMvmx8 ztKU>|BuMOCCY?P~>aA)C=8f3LxH`F!3Kq1aj-#0qB6hWdpHhsa3nBMwzy9DHPZqZx zHH?cw^hgy$P3aumy(d?=Jhf6u;HDIe)C6^%YR&#+w1-2!{^jroVnj||8%nrGEU`iW z7rlotAL-d@J7ilz9Q{}-m#<S<j=iJ|7EXBJS;jcxKzo)p0ExKGM~>}l_0h1X%5!hT z;jt)ycuj%%&qlK7@4>i%R%X@TWuFl04P4fohBQq~6Rx-P-@4so?*%dSv+res-{@Z0 ztsONS2^y<nV6_4UWSUa15r(IfdQqfA)$6KaR~reH)5U`5g3f+QVYJd3-EflUI^o7O zJaIze2_+>_^<FMp;YAoafFN^fkeura7cRsOcnK2II&yx+ewnzZRedmk_qC064(rsS z9@o0MsFBRI)ewUcWi!L>^H-g`B$QyX6tNB!#1#+mV$e8$^V6oSKv(JFN;dAkSt$8k z1oZDglJEc>tFAqXD(x#-$I-F0W$-yjO-%)M>85xv$J>l5-PlXBZ3S-Q7LiLkEtpM& z{4%NrX%iEp+Q}7_{ISpr8Z%_XId8Zj#<m*~Mzsr}7jL<oiNF}TpWSr=5gsXBTg*6k z6TtHSsp%nLh2xm?77kRw=Xn)R)WkCl`5hdvIuz~bC3XE!C|_-%x#SObB&ff#Q@u#W zvPv;0&sm5pslJgJ7bw_@Ks6@8_csb}NF7W7OjRbwU@-UXX?JQ?U#^FRsM0wm3xgQL z%)lG)%tI-|Nyhpn2peq_Zlnx~jBqPrsu(8!=VPW^MUr7fxwyO&I(KgbV}(}Y#z7Zg zh9fjIC94~gX+(p%9$PGIKyV*JJf~8c)Z%Rum?Z%D322Bia3mKo7*A|S2;MZ%{E|1H zSMVDQ>6gp=JtGNqxkl^ylf!}X>r68Z>K1`OV8v#xUH@-VHgb0g+;J6W&20mUb(c7% zPmA7rs4rXZc8Y?conCkRw_kQbH-gj#cuN{P$sF~qyrMq#iSK7?+h9>mH*utGBwLbR zSc{KIbhm|9e+?EGYzc2+c{<x(-a#V~g?pEooAydzpPMq)RpQLw^wh5m9U|bhYw8GC z>#4m-i;=xLH4*atd=f8LlfGa03CnrD<cd<B>n5mFSVcmxzkOnsB1IJ2kXs_ySEacK zt=I<swX;|rN@+cV&_lR{IzrbHiv8JMig;SY>>A<{rW<?4VZmPJT#2+{>OJEFX)JK| zuOJ24C@5h(6_!DG)6~1pZ>%D6ZU7Y}Y<CNm-$XM=NNQ0ZxW`dtiHVbqmi_z3srI(; zJJF(#;*C*OBkb4~F^QA1Ssms}(l}jNlS0H1_Mo+2+&c#A4V%79mYhRS5b{g#fHY%u z!3pRtKfo;)JRl_5LGLFT?k72!+Io>z*7Xo(CRWszQC(<`sjs<sl3XMP2T7s@Wku4# zMc8?-o_PV|kteZdQCH(2U%q(e<*K~+8m3PMZkqh72<0HB`dsnmP2dNiXj}FZ$1%?; zC_fG5pcExJ*FUbN0ESgB+NwU{I?E)ozh}X*!Q)M+TbUKo5{-REr9B*1h8Ne#Q}D$< ztwtzwN_J`bBJ8fgJL>c0PT=RuomvBX(!95d&nL5LpKoK!?i$vy-`1@CC(g<C1VF3_ zm$T$1GYEvTqG1^ci8Nc#${-#bE}zgCt0$7P{=?p@Ha43nK$h%{z;Kvcm!X)`%1>gh z;PC$gRY0o0&FuLe@xvwp(FsCq;t-oqL<Sm>`A2MC5}mKa<}tDPO=R8^n-4|jNs;kW zWLOoOZN+9`k=a>f)E1r0#U^>N$zN<z7?~`_CXvy}Wo*(Jn~cULsj<mxWKtU$>_+Fn zvAJ<<&Kwy_$EMhkp?7RX9-FDhX7GKF>|+!D{*{S<Y=R)0IQTW7kc=}Vvk%FjL^4+K zdj=yJ*!Vr&k&J>QgCoDkOn%R#WCJY8xJxn|lZ?_NgEzm&bbgNXWaB@{uuw8ulnf&M zoLWjooU(zaWPB<awn|2`l0mNDV_&~##Ik|1Wc(}{R{K5K_MU*d=9TP3td3IB_|`v^ zW&p~1c!88I1N%zeB<m}A)2OfH&6GZpoeX^?Z@Tl9Y;?dgEoI{Y9?2fGvL~wCGgdx^ zvHZ=b0t7)ocm<4ZKv)QboIp4W-&6*|a3H{kZ#cv^NP<u&2&3YgXhHZFjFv&z8id3_ zxE+M@@y!JJ28b})2w{^Dk_q9S5K0PRst^LpC$Hrj?!rJYgc`#jGYm?@AT|toLl`-P zsPhfrVZa^^_+daG1`uMvAqFTSJR^cXVz?xVS7JCOhHqlHCx(Y2I4OpoqPQxCw_-Rf zLeFBbEdu9aFfR)KVz4j<7b7e(f-YmIGm1uIC^d#&BcwJ0b|V}(ij8BKIYOml5IX|B zV~{)w)ngDo2JIt|KL!P)5J3hVWROAvHDnM(3Qc5?MZ#nx2uFr|q=-m{l>A0eGGrx3 zToNKC0cbMdCc$$um?wdMGFT{ui!vA~ftNDaDTSjlm@0v<GFU5xyD}IogU1rsEQ8Zh zm@R|fGFUEw>k<|(MfWn)FGB+plrSL=Q&2Gj8xsyP!zMG#GQl!4j5EbPe?y`fQko#B z8M2xpt{D=WA+#BC`y0_sh~69k&Vb<zFwTJF3}8-x=M0d}c<Kzl&T#Dv@BTr8H_^wp zjz6TL^HNRZ?{<m&12fU_%$LZ&wIy;d{t>ygvqU;~Z5SQ`4`AAex?{Qe2h(f@;K<kW zMGKNx<F8y?pcJp5zJGrW96vc2(|X^iM}vRiH=$o24Mu8AYr>C`v-C9go8PZLof@A~ zeY$fec4s?vi(lR-GnlDbzpC3Nr~?sa$XYm&i4zU3Bhb96bK4M6-K@#Yzja^+e6BxK zsoUlQqfu6f7vnfk1dI6np~0QHfPn)xSYJwK=BDX~<K%G4NV`9>rMkURLqA;vnqbN0 zi!jB`lgueim_hQVtRWGVopNZFtI)tJUlbZtbOfm!4wdNQ+kA1l9fby%Wt!Fz0e%~- zM4$Y0M+e@}%xlh&J886a<VD#>P4>HVsyoDzc95^hg$0GAm^OT+WA_=UB?e92j`2MZ zHP8ohWOF^=12qQYF_|>{I#5P;WP?3F1T_ZY%2~gv<BgyiPrU2(cTpva^yraf_Baz| z98Ejhiel~10Cwc4JrxB-1|wKumQL6ysxginx2LW|`$-!>qw&^;3aBGT?&&QFQ=8&i zW{v`biSVc%c;tx8%ro`wVKPa(%&lUfAZ3U)!mHZALupW-D9gznGW=V)Mg6`@{d>3# z(nO`M+e*kzfpL144tRJ@*8UocT6)+{*8KH)4CoudI5U$2Uudn=4%&k|mlb5%BI>Ev z^m;UB^vE~+2V;3rhjO<6CM4rR8f#1=3YVJJf1E$Fc|&*+Faynp*nA=czvrsEfIJNy zjDBAJ#vI90n3xA|eE=9dHDN-WPtElWU_h^|MhmiFr-lSwcf1wfe;_X?0i<AZG+|A| zppLih`xx-zFdEg`k$2xi%6jKE<9Z^hiNTo1V)Jbk+UL~Ac>0dz`H3Dl*SK%bh{%M` z^=C1HyNbzQ&OPMYKkz>12=j4dr~IjT?NQ%G5_Qy~Ii{`|C4x#b3<LwYJWC`K56$44 zS^}`8(Z~)Nns?%WKNXU1nvwU91~_|LXjGO*cj-G97Jz=7^7Jj1f_A>HVXZ@*y08P} zV#KTl;~l1ey3X>wHE32|78?HAsm6U61d&w?(zIv_x(lZo4F2G7Q5IP)vKXJB4CbY` zs2-m?mwd2B-E+}G*58EO>8N*sosR{HJk)9xAugn(EjBIYCwU@^K+ABBV1$cUp`Inq z{xmA1Dl4`t2I2x@Xd=RBKTCk1c)sS_5A=aGjQZ<+gr@~gHa*gdXUxaN?bHy^_jbnr z&=Z>5x_s1O$$L)iib1*fV%OA59dC~=7Qj`Z;=`AiOFO|w{;_bUn8qp1E41dqqZsTe z)^d0#{}b%F%eC|2S0r<xZLahQtkx=vtUhuWmGvGM?83w-fItr1zK<Fr?eIPWk}eF5 zLCkYGcSx3CN_D@dBfBtnMceKgA|B9$hS2#HW_7{!3XiqTc?apyy()`4Jk)-%(#E)I zR9wygG&C4U4~1VGv^lQ2YVgqT&`>-9pAS6*mXSb1O36At+qp1ke(Q)CXZ888ore7m zZ1kWr(7hL=O>Wj{fbAi#O%)P)%{ta>*U_sP!I8e?Vk2t=&HGmgdO2E*3r(;=RFeK# zL{L)F5?k-0B^`!2K;4Ef*!nuu6Lv_C=ngr&yo4yKoE*hwvdUJU)+N(nqNkz0qp#sd z_yQK2Igp{EQ$ytm$j20{L!hT&Ri}`H5LwPrm!x{R0Gft^tc)>{dYOoE1S^3%8Ws@R z&ejxy{A7!k-b)xY40y-58X_9Z$po+n8Ylo{wl1Fr3q2#Jc{W_2UO<+lHdY{JQKPQ? zgnVgLZVBquP(Gnd63E4sM?>4$=mE`)bbHc<5db{b_feytHP&}Dm;hc|QLHF(^pfhZ zUXh~;K~Bke7R@9y3^aItDh~ESAxCmQB<<Ak={1q}W}XLHK2o&iWbxoY_S9^goR+gT zYe*{E)&lzX)scg`R^(!@Y@hoX{1=#iDh3|SdUB4Wp}!jNlf~Y*tHeXbV>@$?`({ye zEcW-9>ygRshPmwXm-|7YI|K;BdcF@-h=#UyNkyT11y1EinC`bNyH`#bW8kN%ZAhA< z^<7<i&EPad+mwDA`SFru^_?AKdqocHzgU*IfvyA>|7cR%>wTab3dZ)iZHA5%PxfFt zf*}!R{m~b<_oVFps4cfDF8U<m*>blxHtLwlT#ZynWMC5PSs&!oh8A!3Y5hY3M|;6) z@=187l%NjA>L1*yt)YA=TZ@{eQP3c9Wc{7qY#7xW%vnZjusj6#fxe<(D_@|Q^DxRM z`jk;6b=DF&#om(E-<JHG4`Sl9qYT2G8V!c7=&KV50faOD@`JsQn+oCVBy|TH+-o`M zqm>hA@)^BXN1?|)9%0>yN;V@W0Azu>va^U}pS{3b%MPCJpdQ#_XUnZS*+H!y4})kM z2;e%jVNGvJxRT421^VZpjdRv3`kVcj*JmE=9_6|uJD~JR-jLKQd4pO@;=*6A<PD&` zk~akRO5PyeBN5Ni2sN+ZjSJ!^@0i!2Vud+^KH+cNMHdU=Yb8dDVs_O;;+OhoZDC8O z^|fhD;9uU7xR<{qezL4e{Pb88_))MXIp)2p<QVm;!&i@St}6LAMz)gKu4ED{nHx){ z%zn?L{T^V;rrna+xMY$pnY;Tvq?b(e{ha^%JuH|`7AA9u$<*TS8OLNI^7r&)GHIF2 zWhPUc?{Uvd5ggH-S<w~_ZQz1IVr7W4P|F)Ug2fSkU^dk80Qy|83AH8|6!8$E#mGao zThee~v3WE;m<6Q;C()9-JNN}1*O6>qav0eNx+#nVgrJ`@xQ62Pw(M#R#^J;hang#d zbmexFR!~f<Q$VZ__<01OWCbL+a27J$vB9cPj$R(nANrNi69s-I;tu8K3_Vt0Z&EhM zoeNcBm5Oot0;t8<h9M{~N_Ot*hxVaRJ>}|*&v5b{buq(0nLt`!V8f(GXtRbwgl5Hu zLvX60d;tNKpEHoF$MbmRqhjMnoULlQfb0{0&Ny)cSG(2l#G9YEvf@q_&Kr*kq0OP< z2AGrm{0>{g49Ve{+YU2HZX8BUh0f4twqxR2sr@7il*Q2D+rz3UFQw3h+|_()wLbBA z5XTX5lRW?jB0usK&4(Oma@*c-@E<<gNNJ%R5eg71cHn1#9|F4S=g2K2H58vx3c0~v z>cX3B()mtZ0EZ%9c+$@Uh@u+jMJV5?5jB#=LtaM}44@qOB9ZUipUi?T;TkTSwDuzB zl_5sBv(<c)$hRUwji4CI>!l2ISc*2diQ^9KiU^u4EsNq#Eaa)&TaOlZ<XDh&5$Ss} zVzRImmUp1V9j`WMc;=ql4g(AHAtO6$fnfo7;s6JEoG?m9(SB^FMZut(eA0?Mj~JGh zh%KWD3Z^V|l{*@eM;fE)YSh*r`mt=A8m`e$o{EfStdR4XKE46U5ir*p<C7o8D6n*( zpB8)>L8vlp(L5r@lX^rBN%e?4|Jy_d;(Lia#e0bysC!8c7Pqmn58n1zWS)N=s{Kvh zW~^?4_GTn-LJnu7aRw%59COA!XPk7#RsZI&Gj2P@yfZ31qsV_V=Lw;n5$zcOpYie; zU!U>#3BRB5{^@)GHcx=fA7JweKBpV7SqOA?0-Lo!Ml*a5a$s{G=$r^PSAxx<Aag6& zoC`V^gU!)kb2rGG4mQ_=&H-U_L&%&FHkX9XF=2C0$ea{5SA~sX`5f6o=DV<YFkj<i z{-%62#$#jrHqLuvd^p0BWBfVFt7CjS#=|50JjUB&cs@q+WAr~l3uJUb1|wwbLdH5I zY{YMpBIPa;Oe3Q@G72Q2Ml#AIgHkevC1YMPM&>tClMy&6v6B%#84;8bM8AQfj895= zrUZY=XsL{@N?@#n-O5<6lnu*RvWz{;Shb98OIWy!ol9A}1kKAxzKs0KNWqLO{7oWe z<YEdsW?bZNiZWv^Ge$FGIx_||V@7`>rvD8X^&@%X{9E+q3AX4-GrW?Wrr4r4&9Oyq zKI9ecgvu7Z8JR75Gdizmr-ZiXO&)F0n|<1%H+}VrcK&ON;3uIOWlP?anhrO>WC2Tk zz8Sb|^_|la=Q@W|tg3dso}J#)Gc{LhszWwVtQnnlc)aGFJ;X2sG<#XzAHCL1wezuB z-rS_@6){}a$VUVv#Tr9l-?`|Dw%F^2KNhL`85ALmvNE6hV$cB4L9ki!QB3#yE#U4| z-j`g&%BCY9ATM>?8_7LOv?<6VuxbE|_8c0GKliD7CryvExbmF9($CWF{q9~g9D=Z# z8T^{4=xJWuF~~=4fHfTY#4oF=alb{)#6=9v-5>hOuS|qRs}44@w7;Axs>Zf9^h+C& zaWSI%Q)>{!=D}g%m8#zzh>gozXjf_zN;}Ep8BdJ^YFo!O>cH>Cq8U1aAfkjqi4o^n z;dirkjSoxV52XCjm3tmVULO=I#<C1HtYj1z)bptGDkW={&J0(le6k(QhNeX3x(6L| z=?+-0y<k9;zN%p4T$I0wF`WMR_WDokiXgUPTPj!<UTW7oZl^%StUw5|KgSae<9H1~ z^~aXT^H|g1{qctZs8t6|nS6kZQ!kUpow{N=p}*9OTvR5dqEkc<lggdy2@#PRmerss zpW4qzm^T`<#x>XQ7#~rtNh1T^P;^E~#5@p0OE2RlS}<Tf!1^(CWba{~I@1X?v0C4~ zOf4kWb!4hHf1PE9`8cpEO%8fV4;mBoR=2bKkT456?%fPX^cuEy+4Rn^)as8=@BUc0 z5*U(QAH#Lb5Oo-;b1}C4i{*l}_bTs`%Mk}2<;I6+v(0N*3bKrXy>!`QVuGQk>~yHM znXWN|*;a==lCwn_-KQh>dI1pE5v-KPITP4QVks_*ttyu$jmxdvzKXf6brqgg6ehtJ zKi%K$^1$Ur-e$QrsC&|ElurgYcM9r6E;O&fIdHBq@90QD_;OSff{0mOukkz3Z4Di5 zk9<O2&(w!6k5y<;XsfIh<u3yfy(6>YozM=qc@1aRYTX25`^?*TCl_cNpgJF)7>fv* z8=o%nzA}=-NX6X6#!UyXEV=`3K5C8bk*4y#dxI9XLVLLSvOW+XJCa~NGys2Bd=k4H z4OHfiNQh6e`4EEwHPF!TW1$Lk^u~H7_k0MWt|0Lp@__kOR~H53NDm{o;**L#bW(K= z@-!zM^vaCT_La1BA(*P1oNnPDl){6pH?ExMj__z_h7r)T&OYIfU71)HCo($Dyvz8D zGO|{0j788fsq9DqTQ=Fz5|P%H9~qcU+^e2oF`pOeNQ|g{kptVtD5HEU!RR<1gQGlR z6N@s{(;s-=j2y}NkR3s?!gq@{(G9HdgzWVBY8{;tX<KYn6>pX$vbNA6_-%CU0xVk3 z_2f92O+&b915RLtH393Es>5$0T|4C_l|QJ&;;!jew+|fJvq1@p5>x(9P>l<a@Ui_o zITYDiS!zZRa->m&r^EtTyh2pqbx{xJw)Z4cXaKpeWW-YCKclMdP%9pk3J8EaWdlgT zX&0L^Uuw&PSmm9kg}}ogKh!>5%F=NOHD4?L%xFw6mr(Py^6wUm7M_0_8tQc_+Hnar zUn_o(VbbKZj$)7?<n0dt$0bawN5j4jC%NNq9p}r&6{=x}mPf-q0UjZT?==D3ft@ru z*`65#n**ik+7VKDh`(~%0D2vVsiRCKBfi==JJcFSn|*K`)(&9>{~B<y_yCJVKCg6x z<6~K<Vp^O!YQ34P|8kljj=rVoTDjeMF}yTiJ3=#bRt?%W-%iWN@xfpsVlMoPe~!q; zUY3=^j44MbB{PHLqFh{tn`4;4bPQ#c5-QlSji5i{>_vx7(|j#D9t_p?!q+rkyXqxT z#9z?Ybk6Q`U^fKULcpT?F$`SnTK9Yy!HyaSOEa5eWR$^)E#FQf+mY&Els7cIn!M>4 zTs6L(albKmI$KS4dB4DWa2+(*tMY+xOt?J?M@d)vGXPPka#)~!;BLLcvLWnnZ)RRh zby#G|!uGz91H2>Hm@F=&01R0`^GfA9d_3e8At)8Uuz6Uj&`0Be)5{yE<BC8!n0;1w zPP5^h==@BgPwN$dbg+CxAge5AbKQ~6tBO}Yoz~6bhg`h%WPJ!g_iHKR<t%U1KjdO4 z)@r}=js}2j3(}pH_5xCbd+(=@z9$dBqnFih=@V`KLW|NBv2>FSbWrd!e52!F>>Bs< z@r6A%0ka=*<XbxcYWHXTV?42&%K$lkXU%tb=QzOTjZk4W#{o>8s_}>;p0ejeAYmfz zn&mNdtc2{le2rIjQz&2~%YRwRr%tVqqX!WQ9}apaTxeQHwp)4UYRI34UO8e=dw>Sy z@=A<FjIw;RGK4#p<-f12qIaAJZ1;4{<aSr1_Ov{Zy6$P{e2yy)=k9eV`e%(>anEdk zeGSWe$>onCkaWiX+&htdD*iyT(sxWni5MHaLyqpXJ|ed=UeR7!uV}B%N95M`E81J( z746;hiuQ(FBEP3!(N+tuXe*FM<TTJLdKK6!*(&f6IVJjv5RxgH{BqwaV$=3(h~)9F zkwhv6z*1DI=phXbyEm<9)eOJ>Trh@Wwei}1-KiX4(Rr?4B`=A?G|yR@dO6~BLG$^| z<S$d>g62#rp<w8<_FEOLd;`^?{Zs|+7(!69^<W(4u9WIp^Qmc+nLC@RZLhEV=_mTF z&ec4vgENAb`+9Zg4_B0r&JY$fH-O?;uL0%?2%d93Ls%bW?$2}(D@7+5A-t*ah@#u$ zu<#ZGs+r)a8h{w_VzfYChmo^90GdXBl>L5yJ`DFPT5s7PT`3l~Jxv6C#f8o1q+4${ z;WP%I_2oZ{rU};|U2m5m2-R`PDv$6gX1R?6XZ9uFT8B+GN5h_c8FbInByr}W!keu1 zTjAJfNxVjqd+Rh69Rq7dF^t@#(X!K`a>lRX1oK*g+lbbg<k`mKC{jAwj`eojHqjAC zltX`-O$=;6M~LLI9=EBFXrufcv-DBl6?#aQZTk8VN)IfGXgs_TSiU1a-iR!&Udx?n zcg~L1GGWe;P2NzAkaXs@H@IJ4N^6<GU$~I)TFivjif6)x_%u2!`!N5vV+USl5Y5;g zLVZL1RX@Fp?KeWKi1d4s1|pEM3ycJeD5!?4PoKuQw@~!GS%Aa4!xQrgLVo2ar!1!{ z<(zGt4an)@BAv&MN~UH@Z(=M`!=#PFt#gq8jU{!Xy}EG1RGy^1>H$KHwyqtXqzg&l z--&kCW#r--s9>tI>dtn-5fm^X!l`2<c7z4>OL5s_I&^5FCHL@kUGxUkOGxEtJjP0e z<O~Y&nML7UYW?gyb$s@IzJ7Lb0{!gb3_YFk3;pcEA9tLuU&ZqMD#GvS3<cfsG<-h7 zP)Q?Sa<c6PsekW8Nlao1)&<BWO4c<|(#>LA6D8fe#b;jQo~gJb`+#~S?+N!xo}=>> zyeIM_*|y0mdF+>0@Y*<!M3!Syg5;LGrV(^*4L0V?8BushBj)zFRt=Q_XCIcc!V2_e zw22GOUPI$Y#OhHo-t>T*>l<a9!Dq39S+0R-;D{mVY)%-eE_Di$@6B<xB}T@l9;}sc zTcH@Xpmx{K-)oo~sEkKDkTYYocPLfMIB$a&-ScT_YG)c(a8K&`HqaphHC(<e$(h_} zVoExk?6BM`ax~4t&CbxT=(2o#rq^8%sr=T;YHpuHr-n`&yABtn_kuV$tgV=BLdnjm zSIyL=c6BSGm}RE268~@V9F4e9%N~y$IVb~SXXUE{8&zjDSXrQMU^yY@iFJ30aHPry zD&u~RJh(jU)rEDWyXEKPDOpC!n$SgiTrYAbyD?s@Ed002YF8y`n{9+dh-eIWg2$5D zIqix%gJ^@pTuQqF0c5^4N)2Tt#A|8qbhbRnY6*cOZ4I6QdIc=qjJC5`&OPRm)=H0T ztv)&Hm7CT|+clguX<bMgo5a48)vw^qN57Ic<@`#Xtn$NZ-+AL#@@9-*$(s{?B(BT# zk?aQ7N3s$3kK_-!{TBxRZ`Kw|n`lYP?RSGNY3F6lzob=|G!~OK<j<z%?+$0$4*lIb zO&YDgyRtt!xJkP=YYr!^<llYg-#zNz4eg};oi)po*81;0eA2Z4-QrJx01O{MU;_kA zKtKlH*aHGdU`Pc5U?8{#0(bZ%K@e;NgG?|c1!GuzBQGc+gAg?sfP?Wm7~g~OK)&%I zj5b2)B#dUl=qH4h!ssfL#=__=jP}ClFpMTc=raUXL)kWrg~Ql6jI~49JdEW-**}aG z#MnZFMMTg=lyt<%NQ|V!$V-gW^a*xi94O9>Vw@?)r6L$BLcL;?EK1d46fQ>XB9t#i z1)~%(Mjd06GDbCH6f{CjW0W;YWn&aKMtx(HI6{?U6go<+Bal1B#QR3*G2$L2^f96z zBLEU$Ama-X9wFlwQr;osBQl;M<1c>W8X4V@(jXZ<lF=p!osz&TDf^PKG8tQwu{asK zldwJs8kCYm8F`eEN*USon}o{9shqS*z^shpO1Q6#6HB?W1VhWHwTyC0sJM)xOR2kz z(#xp6i~>xk!HhCYsl<$8OrXbvk<6INl)=oH&5ZHPn9z(N{f(R^fNILKX8dc$%VvCS z!s90RZc6)Rbns7<_$PIoAj&DxoDt9&F`W_C8Ihe3+!^tm65<(Ao)PF7v7Qj_84;fn z^ciuV5&FN0{%isOpBTU<46um=Y=Qxsct9p3u!#zE0t1`az$QF=41+My$G46PFp<9p z6CICXiTsmXBKMLWk$cZe1gH)wFpW5(qw#c7lv_dmjt3Y<Ev&0SO=4Fc*soCk<dD+C zaAmu$fK+@7*Us>726JiUXY82-Z4FcJ%<nw^=CvQb)$pKhx;A_t8{01|tnI$KlXQVL zbBDa*@Cz4m+1KL&@<1!ed2L}i$Z^f_Qet}_LF38Mz2?Cbq!qPa;!uzPksw?UFFm`r zFXUoMG{avZcLgW%QsWL{6i{G{CV!PTtw*o%IzAjEDI(yr8i<Or1tQ`e=i%gFOQ>2_ zwWo57KkDU=!%r({;Q3yMsDnHuv`Q{qRtJ2hp+4t4yP;X+f#Y;KOaRB0QZF#nrJS*3 zbI!NnhvKwYPzQOMDqWWjtiaP0a;Pg*kI3)WwB$(^5-$HRwK|e&Q!!v-J~R}kl=u7d zPllZPeQ?g&e8zyt_2`>E8y9f-mYh4=A8@;==u<x0DBR<zI&r(aNUjDV%hjf#kAJj| z+U$ez=H8YlGFgb$L}??QP@{aY+^`zt$b@};Fx%YfL7+^$=k<MLpRzi02ei$t&W0A* zw2r`r9uMtYI+$&4@uL9~ilHnyilNI5XLEZC{Tel|w}?91koEEpJe%9nunG|6-&=jA zyGcnk1`6EU#bMi;MCDr6eJCEp$z=0|`k;|;u-tY1PO)k6LW$Nuta`9%!2hUqaC#G2 ziULZ&Sb8>Q0LjjB45ydD9hr5_z=Ix#MHsIV5U2N*FS5ow;+T-lW0(?Gb>fZ{#M?St z(e#``J!?0FFLtp53!yf#9c$TVm@lk(B(5~)5qT(@i4OAF5_!1U5*_?96a5=3vTtY^ zL!2=r8bPQr<Qhe^F{Il!0FL3}7+&rhM@Q&&9CpXxc!Z@#(0dHkN6~%^1<25W3^hp5 zgbZa!(T5C`NXUu|#K^#n-<(H=g`^lshMi=X%5SRWHv*FaGZ|o$@HiR1li)rX9+c5U z8GMw%N*Uag!B7c2mBCgioRz^`8T^&NVhLN8qG%bqmZ5GL8keAS8G4tZdKudHg9Q9H zZTO@OqNJacwx51CtFqSC?^amWI?G#aS!*t9<z=nEq*a);7SmQ_*1F7Eok?djYosQP z*Q`;SHg>Z{aMn0Z8qHZ_I&EZUjqj{co;B8g_u;d)eb(hqm;ekRz>oukP(XkNgnvMB z2@J2ma0~?Bz;F)~4?$=W3_ihN6$Ea<U>Fph!C)H<&cR?Fg#AHKAq*`-Q6vmqLP#eB zjKV-F6uiPfEe!0!Krr9n7{Zz1SQ<jHVbB}G$RR|XZ~hL$^-#PI!vQgT&^K*}!HF2l zh@p=dDv6<$2#SfJn+WKMVWAjCieaZ1rixzT@CvlwQJVYvv#i($VgCX7(U7=(;4 z%NXK}A<+myjquhOo{iz$2>y-X;wWB@;pqMiaNQq2x<vlE9+A7XNAy0MN3tv3w`lj_ zzM|c0`$$|n?bGh+I%yw~YnFXPAAPc{rIxkel9pZ8;!9hCNe3}&I41qc|BiO%qy3q+ zOOx(u(u+-6w^^$<Z4GCw<gE3awW^cWcGe0{Tj#$U?O9tsYvcd!`e%>;3Kd`w0tPK$ zkb`e10)r@U=mLW@FsK7zKoDfaH(-L%C_c#*40FM-7~d2P2Hjwc4u<q#2oQ!0A&3!% zB%ufsLOdaS6oykF_!Wk0VRRP;gJJL(2Alb2(=e0`Mc*(~4nyk@5)T3QFwhSL12K>g z0}nA!5dj+!4id#C5y}#SGBJn~fj$vN6h%rg1l2dNis7vY4vXQlC~k}4xfsri;lI9d zVT3NmSY(7;_DMPW2BLk_(+F#gk=Y2xjZohRBkr3hNBDD$R!7)&UnIOgdX3k|HyWy+ zU655jyVN;8`xLu=b}9PxxygZJt=9W0P|qz|q^xU}jbI6Tm-u&gn9v`yDmC#uf)+j< z<pb{NrLMY7_nJKGE}m+<>J#0YL3twT4X3?Fu~lIL9VHI#tz)a}W<1vj0xxCNIATS~ z8$-m*msPmshtfne`b}G^a(2L8I*K#g!nTy<v`ru?Q<J;C@WX8xQ3>Lt<@)R}G=$f5 z)|L1j8Ij`dmUZ+y7-fmMTce8Zcrhuo{Lt02cnyKFMBqy1(kN)6fpYfcGF}6rE^&<! zQH2%l75S<guiiu+#BeEdsl$pLdlmIK^$CNn%MoH{!mDkyHZiwl^x@s4jzsTKV&s&$ z)+VMk90|%_Pr9o%(VZ1qn;0~3yUrHTRd-GPK8jG9h!f42Ey(VGXCKc3EO*jDE{E!( zQS6gZO~BkNKccNc^6O}z@P%LQ<kiwdas7<mgBGBHs<xx9%pL5gOpJ3_5)F0$=KtVn z`ieDYH=r_6G=RlOU}uP>*wL-yi{6}F0(nKu=CWh7G7<G`b(uXF_K7YbUr*=EB&|#o z6=9SV^i0b-9al-7Gs9p`)>#(Z2;JVL!+$uc`ka*qGZS@1dTPKbl$EBf6236dS&^_a zr)++MglwZzD-*NTLgC-$Dmv_H?{OxrRwqVvW|j#YG}dvn4>^-r?N4}^kBKeH8ZpG9 zJIR^kcp~yI>q9*f*Hrh4Z;ILmf7D(-J+%-20KHWq>m*ZiC&Zh~^J>L%?ngwNB#iB? zM5PHFonG6u!D<m#YT6PRY6>7`cQleYw+V82FjmX0ZdTM2>gZo{UK!-#`VM>L+l#~I zC^@yq=@SJy;?*|ioJ8y~+?{REsdkmt#vW~X+X=-U?xLQp8D0w!6FQmCw!iJ<irFs* zgkgZxCytusIGPQ&3k@-nZx*rLF85MQ_2u%(lSNYb>~Y*4JrrC4sz-lEsS`D6FQ)II z-0=eRT*@*r7Kg?c5De{CkLHd?KoMiS#|xxrNqghZ-q0QIfV?8iqEBtdN1*@ZyjgK{ zT(rCbZDI92sXP9H^JU0dSaFl7NqSVU`<B-o-T^JBEaOmvL9*P@`gk<dzOf@c1ABeq zcpCL;R}=3JOhr3BTYQ><i=975FR=eQdbyG{Nx{Gp%^S73*S8wGYeD=v_WazD9NOqs zIU1SwjbaK5^k_RD7utJJ7nPS7OH#h$Tc`KCKq@4~vBW4n(LuvUv-W<YI3A(xY{8)6 zt|1n8G=lH-GSoDgmi|Ctw^;MCe2*scy&7SekGKN-dr=Rq^nIdQ+6szv&C%Dsx6H7D z#l>{78g@BOj#m1;@j8qTQTrB(LdJZ6DdxNM_nz)uYr5LQ2%K_^$=Q7X0Jg^H80aVm zz=Z@wdIf6p(MPDKOeb@|X*I1hlE-RV3dJU3iOvIZ;B;d{01Xa^s#qPBhR}isC^*e4 z=h=v0)GYmtS#k1)J)2>xb*)KyJokMz$Pp?JA?4@D(6C$cEC_e-R2@DQ%|wI0i+_5s zC-&i0QE5`*I=igqww}|p-N9H<yfRmy05$~fWFE*2ckF`iGZw(abCaePYFN+${WPdV zJ1HHWyCmC6tbt`=WQ0U8kL|z}Ic`%y(_gonRBVo_gm<1coGE!3S}ebh;eQ-T4OJ^` z=4-DjIS&Pq^HQ<6OO%nNOC^gHR%Nl+?>N<t=&tPL_-tYH9bXOC{^Zc1RWp<ez6leh zq5>?h6AJ*Da5Y@}6RtuRq!r<ICnB&#_?L0*Ol0@bi{ecwf8JIdT4_d&KequMkmq3m zys2>jV5v?M&e;VbuTRj%Sr_u+<%p{J*@zJx81phHot1*J6V%P$){d;J4jkG;Cl+rK zY=Xm%-L@2pUBWa69<D$~MMu8OWM`?NXr`bs{Id8u>a*0yGr1@O5d2Q_d>f7(wJF&K zW#WT)Kc!sV+}<n&jR+TJ--k*F+Fy2f9nS1Uxx2jUe4EdzK)UrwX>(Cf%E{^NIO}|% zfO6WLLhQlXYD>2><*a;EcOxki*DjP30j=Yw6X(2$G4=hJ9@7Qf0cSjYMCYYU-NemI zUvR;K__*=%L7f+*)!oy|O1w8UVS2QM>W92FOt3wDU+0yfxo>JKn8{JQi_)XR<=$SO zny+zDpdc6911YT2rPoTnfRObW8Q9*Y%H{FcvdRNdB2+P)kp~w>M)(pD-^cj{?xS6u zG(L<RQ8SWP=mFiU6Ude$p5mj+QJqr*mq0EjM$psYy>?_)n;3GaR>Wmunu}Xkp zXjfcJJ)=wuKB9GBK33(U(IS`SWj$Lkz(+tj<OqaC9rq}{Pd&qFYL|zi!8aG9^TF$k z3kdNEgUHV6@#><9S`I2o?g|Ck_cbtZgbe-9EBh<A^j;0bR~wC9ebUy)BY>$li?+jZ zhC%(q!9i|+YCTL~0ge!>K6*Hk@eI_uH`O#OG>kNwFcopky98Jlf@ohvvV4TuFC5fC zij`&i4JEw=IG!_l?bju04YLIhbs39mm+na#ZrLkqCUjFfvQ08lwEYUnyKU7K2H4m3 zM3yXtKSKVX7G?Q!@k$-IZQd1@m(v@>F`acLCbk-ZTo$x-W;u1F`H*B&E+GcoSZm*X znq+G=q*YMSYnBnTpd8$Yq#kLQtu@g@Q^A@UOUsHquH1$r%d@pIl0|YccG#do7Ig>x z${}r~uPrp9X7V~CP`cOd)YU#yP)H`vwTI_yl4lIu;F%iRXO@oQMHS-Bgcko!l>b<q zYgI<p-QhBFF4>BzWl?F1TwPU_#v6{ibGZS?k6ahf8gt&EL(Vj#%LoS)9zO@GODu~* zMnUp2J2DuB@CVN9=FVCp85$N!5{G66#^lBiyNr0$o3ctPpI8S+Z)lj;jHv`1XuNW^ zE<umd#|X5`X{#Y6+(qxL*bW*!47}|!$i9w1^*u(`pQa-c(Zik%3{80}z(O5qYhUev zV*pDforWyZ;+U*!zBtCkhg1|p?b7AG_#&aysHbH>?-CACh65f>Ty}U5Vn*E6k*-7p zaunHKc0S5lMUk#y3A-`{&}g~%^uz|93Kx(i&?0by|H1V@r-8*%5~d9!40Bdr?m8UQ z4UPVMeV6lywhf3hn|v2gWmL*4;OZ!~!q?#>TXotl%EHgb)$N$HE+l9bz;QLMu1n;g zg_gTU4@s&Fcj4!(7BlOhw~H8xhgmo6GiX0`yI+c{Jw#edj=?`_7?TEVv(>V?T1bSz zdS2XGI0I;;ziKUfrDa0AeU5iX=2NkW6I}MN)oQ_Qj&bVm`^D@kKf!1dwX-TkcL6E# zFs-iDfDm!c<!Z$9<*7)Lwe{s)<ceH4M$MbNA`<uq+uRq?Mij*?I1{vgLB8sm=<RB8 zqgo}yVveq$SG1HoqZPZHNMnYwsOPUz^Yy~$@9qmwtrLdfMW$1kx^iT6qadn&S2YKC zf}$dfxQRMP&6Axq=&m{%c=J3~4LUksFwOd!)$WR~gGOGh&j+`Nwjd-TkIMR8+-)P2 zXR?X)yG9&0p3rGvzf+Ywkgt|fSA&iRJL*^^_o{G5?N`Z$t7S)rD@=a_k0#9=TPJ~U zRM@5RsM!#Q)eJ!`ITG7tUJZJ#6d%@wypv+J?-*w;zoK&AX0c2CQMFOi%E>~lKs&-{ zI=VP^D*+Zepl^#PR**rKe|9yG?3M&2@gl%$a!jaDbi&!3;yNC5Q%<XE#6*TN6a#TK zzqpPHm=0hXJslV!OlX+1xyE&DAixl`F#2zubDz<~6tAWpOq!6r)2_a9*C?VoE1FB0 zi^f)>cG3CPBiC<YOwh5~R^*z+MYt*~P#!KmigmyF&MDXBf=;VBtRhj%5YeA>Ra2l_ zX3D*zYR0=AC}(WwVQQzFg7QZ>O48-+KrBz!n&q5#q+b`83=LJ@o5IhFiph83gkH{2 z*2dw(>E#0pRZgGJ-!33qDdYu!LwiLH3it9*E)DP{ZNWUCU+(EAjUK1<a$!%4X1i({ z+{=~iEql1w<zp?BiSDWsS%$SEzk+u21AXS!8Y&nflKs!x1Qe%V#5K2;BdqmM?6%OF z3AFOKh;DALAa4dTYkBro)nOJVG0yEpHKKcaXV!usK5ihL+v@>O&|VgrM&w+^!#^;1 zj&Z0J9fk*o;+YF8dQkQpLUAJgA8a2&uT2~p7sJmH8bzNL;Ec=Cn;BkEzZijz0I8E5 zqV;A#FArEn=|U4ak|c&Wp#J3nStDJ4A(1?&QshCNseuw5@DepTSzLhU7(y3vx`B(1 zr-^D+%%AA%l*5X>3lco9vx7Me{L(r_8(!PIK$4F8*|Ay0ZE43Ljf_FSfQv_5WU-@+ z!v{P)ofOS2=(9Ju+<Vs;{t;;P^wW+acWq$zCJDm0^1oYk2gF(~kk0U~XR(S>hOcSm z>F5Y7D`@Sa%AWNK*oWw>@&KzJW-MytL=h~Ibx^o!i)WDAGih7YQil34Y#+8QT4wTC zWc;q+$#Io0ctox>ImR2bi=G;2$FYoAaX&`6sv11V7qI{wvNsSIb~(~F=`^kpQve8| zJYZp*3;j-2I6yHJtDGXnAa|f+k%zSU&^$01HF_Pjpg)H*fdtGza`wl350C+n;XMep z4(p8WsSwRFa1`i@&djnX=i3v4T$X3E!ULB;#`ndF31|C-))uE>F=Csb>j)TYOo(G; ztW1+(HqH+&W3?nM<Mm4F0*(VKqJ?z%`riIi0GwgJ{TQ?)Xg>D(JNr^`lwyd@j}cLl zKFK#R_8%Ci(k76D0k{S>P^GPbD#tJq9jM~wkURrR_N<XLq`-|Cc_eQT;g!6Bf>-i} z2p-7}0=$yf{eLB|ga1gjYyV1Kul|+1{`@1^p8P9$me4DB*V-$2SLGvlm+vch*ZC`X zH_9W~Tk4g(o9~sp+w_s_js8krmGDYl<?%{h_47!!o_Zy(qI)HKUdEERQ5lb9&%<~m zeiVjD{+NQn#$}M<8sC#RzQ=ZuAs=ic$mjSFGHT>|FbNrB!iJuZ5h-M#%J=vcGOUG- zb|HgczQ@LpAv0_w&FB0YGVF$p#`&J3^F4HjjObwleZHsve2)qugN4`_A~Lk-d&ChL zh{VPxkzq?@G!q%*^f~s442hy6rN{s(GOp^LYh_38=ehikf8`h_$3C$Vs8PX;kZ+rX znK;xWA|@0wxu}W8Ogd%)GLw;*n8YGw_A4`YiFwS-X=;8mbDf#@#2sMn1M@bRbHbb% z=KL^c>C?Ajt{8XSn5)NJL*hy@*OR)c%(W$+Fms%Vqs<(1>c}(4p9Km?T!DolzM~c_ z$U#CPEP%oSE-XMp0y-=JL<2@Fz{CPlEP%xVUL-z7!f7o0M#FV1yvM?UEPTkqjVwIL z!kPa{`131T%7Uvb7|VjUEZEC}!z7kWLeDHz%_7?@5Y7VUEYQvZ^DK~00{<*gKobir z5y27{EYU#{BP@|Z6E7@L!xB3z5yTQlB+<kYQ#6sq5??G)#u95J5yujDEYHW%f-H^r zopvNyN}kkYNl=zFWl2_&lO-u!mhz=3VwO_=PC$QWt66fJCc|0soFv;>a-JshS@NG1 z3$Wq>QjEZg7ih5qDUM*p6twt)6>EIgcCb<qS~@~1O;}+HDP&=VFSJnRyRL?n;n1=j zR_4RXf=C$=D?6fPO02Buy9nyLWQtT+@q#Q?z{Lu_NP!qDD5C{vq+X4cw~=x<RzAn7 z?MQ7NE9GOQf22~76c(~VL|VAW3LRNtB&nk$WtXH%lNNQdB2ZQ|N{UQbQ7WrpWhJky zM3$A*vJzZYvP(*QSxGQ0A!a4Vq(Ye$G_wL|QZUU5tXVxaE8qSu_GYEwtdyLUp0iSQ zR@%->;d$x&cd7knWj?9nXJ!ASOMo>MuqFi7v_N_sNJ|83p`a}nq(g%>bg%{x)-XaE zOjtt-ZD3&yFRVd^HPo;M9M-Ty8hlto5N#l04M(g&i8VBl1}N4rMH{SGLl$e`A`M@x zL5wz(u?95OutxgZSUVhPpJVNIv^|e>^O4>^(kjSW3u!ANYh5Irj^B-utdWv8Ub03_ z*4RlJL0RJ{Z8T+#sicpUw7s%6S=v@h+HgtN?q`#)w*MwDV|&t3y6+<V$MJ_1d?|tp zDGB+^%U1R`2FDh5+0|cQ+>qJB(~~dTAhv6-_~+caf}#8My5LXagtXT#2aeeE`HJ5A z*N!bcF*5U7K5A+8x_$=_v4D1Ts0_ahho+zxUdXLxr3Cag9{z_|2U91fc~#|h1xA*L z!yc||pAt)!`8X9*rSpmp1?l!E2Bpku!yxdJVn7sRmJS8HHGuw|6+`oiWM;!>EwP-P zNJE}#-|3@?`8KlOO@Dz+UNEcWJZ`qSg9jjI^wOr7@F|y8uhVR6Q@jPyWA-H1ob*wy z!*VNYbuQ)bGlmdg#sPz2u0z*3DhN&KR2Y>vXb+v4bR6o=QGqT%tn@jAuy${o!TBj- zdjOJ<AH)yJGTLpEAU&UZ4!3FJ92oE>3#LM<9A3NvXipOfL3DY0eO#87^K23z%Cng* z4%-%(p(_cX`BHJe<~7RIdpv4&mAIRTdj>`9upf0Q%TVk0us5N!kS!gT)rz1`nL6J1 zuyXbLU8gf2Rxy6R_8D&L8kYkae7mf1clij+%R^q*iOE``{l;b0<MALwTQ2XwJ<f`p z{=%%{>0{vfxLgbcM9G4@ID!7{DsUGe>}NHIu7l%ucswmCDGftd56{W1Hq69`nD4R{ zt$YagJT<?VJ4TO)iQCuWhuXZe0DiL|*$T7b-CWIv?i`M#+l*aRz=Bu+Dv}fvayqDP zuj}MFMJ1bVC>i0{%K?5>NrH0Pq$zovqSE0v9B%j4R0!z?uz?@T2|VI@dG%WlLY`Ay zD7#l}>Xfws=Ka#L4MFZZn6R}nQUlo0_0jF3=(BP|eXL^Ze8jcIyj))WJ|hqck@at9 z7S0s;^1#|ZLL~bPLP%v|K<i~XY04nThqBJNZ1m$JG~>?1q+>B>zA9xj@{^XLg%%ZK ze4Mi~d|)tO?o5dnpF<P#Gp?Gas6)AcVLPHzK2E7q$NHk%xOgX07P6k~&${qv0RAhd zd{fF%2(;1#N+b%%Y@X=|7nFrTF{<HTd=OX82n@1n7hyf9F&+CIItKrz&D5`2+pII* z>g;FHjeb3kRj=U!+4%X~jF{*H;(#i~uuN9a>?1Oy*Il{5I^^Q7x4Y{Q?|43iR4#BI z5FVY2QtlD}fIQB{Jch=~9XsNBhc1zzlcja6<(YV}A$6(W-Gu?!x4I@I!2QZSpOfQ! z8U!RHIFeVnp(dkZDP~ZDos`v?Jy-os%Rmn6<t}c=t^zd30{2iBqLUFK@w?FFh;(L+ zja)r)O}hL0e6mF9T#Xt}t*}#BP$D{p&%~Hgg4yh+(s3Cv<S#|}#CIHtXifdT*L5!A zh6tv(O{1LCPH-b)oR#!+Bg&bNnDv=v-T6N}D5#}oX~%5SkuL@A@{39z7Gux~KQISJ z%m~;KN1Ax2FLjs_&dFy;Of5m@`5kF!mmbv#tu<NJ6s}~O_pCXeWmOP=w1@=cNM$PD z*JshA4(SN6;*M;*%kIJ{7L~O|;%Ggk4WaW{eV0AfS$d;{M?OU*>ySHNG=Lx=Y6-4s za6W5YHHej-q8?ai`Kn;R7@Vv@tg{jVQ9V>PTp>(khN|-Lu1X7+TSuv)C?1=*1K$zz z(Jo^RnWup1K9_N4-^a;u)`Pg8M^yn_;`CgOSY+)Q>8qD7rx?!FqYg!<{>Wi^*R9~` z<X&#NuYZ^rYX{Eo(>p4rCTOH*9gT)A5t=*8aooF=*Dr6jtu-})9FO@b_Hj!m8ih4J zg<lc)_H-2uMOXzI>OX3a+)7sFU|;nbvhsm>3|FkuZxkG5B^l0FH`de)_E|gSHX?|> zIapj78&|fIZp5QD%WZUUcyR@JDTX3nN*9OMm+zrSK>ndkYk=Yri=kXGOjiYn^wGq~ zjZ>|`e5%-bj~WCd4F#&+m-WSpqFHmxkG|8<JoEOTUCkrrn$0xqYT&D5B<?&NbYD`5 zBw_CTIwRCo$2KqPOqosRiXYJeU*U;=I{O-N;VMN@xG(z6W~^W&o~(>8uIPoUIK@wb zi$BjZR4J^og342dFM3WR07o>%)xQF)UE?}KT^(%)B)|Rty`4*sCASTQ_x&q+nJgUF zOZ8Z0;3PnHjtAKrjuY5GI|vLXe?L5=>K3K0uX_eCjM?1c?YSjYNfdc_NG?auyLAhG zsuqlZ++zEybf8b-?{04FZj~}{@qmS`j<q9U<_)V`iyG3d)#5SZb@%$hnL?WQ$C9ge zV@JrBd{O7VuI_{6gE9}gTq>2!HPdkGs01$8V(5!;N^U;=(&bX=*KJAEKfka$lg}cA zpH}OM^{K1)JcbH5bFY*prPn^GNMiBit5ft?38yG6vQw0nZx!VYaEj6%Iz?%B*3Qm( zgP)?LBTi9LGp9)2*Lc)E&d#td9)(F7EO(n$|7u$zOAJT0=cp3ejfTw4tcA?T(psy0 z(oxkRGoAuw)`>J>R@k|Twpa%1TxuI<J-NjTp6ByG?V5M<dpy{cj*r~DTP-4{K=18+ z$V5JdE|jM3&a?XB?(J#j{hhZmdt@)2ez}*pI4Smg*O1G}9Y!hge2PlG*nX19lTTyG zXM09{{4xGsOqceskKaF}3LB##k4L!^+ANQ8?q*akt?}XWRUy~4HCFuj?B2SxF>dnX zEb8QRgk|ZE-yY|_wx*N6u4OHK7t{QD6_-$2Q#qHzR@^$srks|~Y^R;(l}*CD+*Y@X zj@l$$bgtEnuxwi9<-83}(4V%t{B2}{w;R*7?i4j!vkj5^sb_om6eW|oin3LHigGLZ zD$3pFYrFQ`P`-+qp79}S`of3kz1Hv4C7!y<Qx|$@S`R($)B8Tu;y?=B<?3=dJ09Fj zIju9HL9_B+>N?)k>TBzsT3YuCV%h*aIH*4BD!tmbc}e}(CAZ%hqMPv5f8F0*iCDCY z)ybx#ibVhQW9qxjroQYhS9{v=IU2C9gH!6-?%h{ocFE^5hgwhrb~P+o`tIGSG5Zz; zkfZUl&3(2%=@H4?n0-~pzsV0HQ*=rY@HQSzo9@)FT{$glCG{=4D(S91{H9H}ql#*S z)V1SIecY8qWY0MIR&VMzy>4O@G;OyPtJ-%p-)P%wr~d9GY6I6s?!vPi=xF<E%RGrp zwYDd;4sv^q9h{x}!K)Fupt!Bd)w|_YTkK64Z-=|xSy{*5FVQR|Dfj&QY7b`0)k8Tx z9Q#~4SIdWQ`#?dMeAxJO2Ze&$!zn)=_v(hI5blrDcH_LYhnzotI|ujftjw=#QlrPZ z*fu9J_*2eDuCIngVT|_Z&Z|fKU0dZ2ZTe~ppr$ba^5Pt2>eY_6zL;xIl5Aq+#V;DO z8JMoZB;QvDa<c`K_tv1!ExrIkUQ{H%3tegN&g$(tw{}$C)7}qY+4ia$%=q0qPb(>s z(c#@G(maylaa&H^CdN~~Mj}&V<6Vl)*&<tQI_rwi69if-@zR?PcuO(NRnLkxtblN1 zXkL0*u}w{6J<T%F42II%st>g<pXwOr?Ksa{5$xrAwC3*PSdmXv<~6dH{TLb|uPPbL zpOyb_+e_(kvK1)*e~bM8dt3g6ZGUnV$g==X1RNLibHFbmKMMUW^3%YtBR>%RM)EVs zF9koA{9g2v$*(3q9Q=0j^AQ&y906blKq&y!Kn#R16T(;slK}|l9`PZBh!G`1pa`)d zgbNTcLeLO#BZLkBJ;MJ8FT95r35_K1lCVy~MhQzL?3J)u!gd)8zJ-q8LYnW8X-2Z| zk#9oE30Vgq9$<Sy`6(&@Q3Q%QV3dNQ8WaVgs0l?`?t?NE!@-yj#fT`TL@}uQm=(pi zFeFA1G>W)UgpMM5_W?kP7h-&o;*k`;gm@>#M=_pC@mGr1-bQyR7L2iDiZxSg8e-WL z`^H!~#nvGfPqBN9_1{wih)ICV10X5@uYq_F$eXxlSpX-4I2_3NAdU!dN`Qg_d=+B1 z02zk3GxuB@;^r`yhqyn)6#{M%agmU_1XL$tM%@#sh<AlNEueJ~3yfG}#4-a`8nM`r z^+qf?V$~4~k63%a@*`FtvIvQFNGwGlH4+DsIFrP&WKQNihm$y;Z*fHLIHklvMat?u z!<87Z#Goa{EirV7(Mt?qU<?z(7#YbxU?#pZ@uP`P4g723Ya_oK=-|X22hDv6IF;Sk zw<&apGDgasN*XxxIgZGfkXeQX!@<EZ9mA2SqR~Tyk~u_4i82*sY9bjDN`|NiDVZr5 z-hChRP<`+FT;KJ4-}^sZtG(}a?|bjH*ZSRS?X}K@T#|d^iE7<;@6_k4IY~a>%G<Uk zDcY{k=VAUR*4`_nuglu2q+iGO(M(^Lz1vOcIfva}`syofQ}inkc7^SfCu-TDxbhs| zj<+@j1x1((FYI~r@8?zVUOL_17QbP;eQvX4Hq|ayq2}>gT~^Hs?apdB1=#@aQBid2 zSV}>`{=-|I-&~nSDCj#xbSWB>DA-eb=!P`Xi@f*Y%ddUT5-oFLHLYQr(`>m`b?}bF z>g~?`zU?+%GdEIQ&_`BFr_!{~VU*K5?Z$;LTpf!~y2b<3gJn02w!KqdBiW|;_GRsr z^YU`9h;2bd;X<};Q~~y@YUSG}S;+gY-!Zngn^f{m>qK7Esx7Z1CqKp<!U-N=8yL<> zxSkr*alJ#5Upvdcm!k0WqV%~2=IyO<1a)IEXI{nek9XG}n93&?Y%vbB8Q?LU^B0uu z=dqb7^^FaY!39lz9Y>zO#?{;VUYJ_sUYhRYzwep0jdtI#GeU)4Q8|vI+|0QC*(|wa znwoW{B7eAB{R;QxZBZRrx3Y8OG%QRE{2T_gv+|FaP+X9z(yg+Yw_5Wjwhd5SZptRP zJUQs0LOOklqh9nPDr-g-YMvR}%AWAyO<bZcZCj6h>HDTvSy7r!T<%;!`pzL*x>f0} z9sTJ}wfn;ys|;6poDIrORWjKkY1vF3M6As04@2ag{fg5msA^L@$hDh#m(y<0$ascV zM@r9XP2J0)h?}#v$YY}S4_@7{^Pc;w{%uc92l9{T*L|$lDs7Vr%C3zNi`Kkkb||3b zoMgQ3YR&60{?gyGd)NCi@p`v^e1Hu7QnJtal=vp*E{}<{5A~nwE#3uo-^GWQhTc*y z%eDy~3f&&p^1ScuO*WIh8|&o??|Z~s44P(jJm4$zo4Wh-p4$;);}I!^^U-&Ns)8`D zx_Tbjbtir5@~|dV%LXMxH8-6Z*0u=FY3ffBHry<B=gl-rmqFjN<KunJ9x92&AME0$ z{NhW4qVtBMyZcv`(EWF8v`RpPx~}<>yVqLl-Ys)V0r#D(?cVy1AFWn|>rmIPM@zAK zWnxYb1hJI!kCzMB?nQ-+Bvf_`NAbyLG!tT4+Yas#bIBT~Uk}|aL@uM8k8ucjzM-?V z@y2PnH@3YEpD2}V97Tm$$6q*PNOu}vx@R5R!~aG#>4B%ph}Vv~hN|9>ZbPd&AC2CK zxf0P_Z{4K1((jozrf(#|_g?F9mX@z?Nj({2<Zm%`v{oW%7xG1NxPT@#{L{4j)-&Xu zgY<)MpAR%&udCj7yV{xE2v?AC$s)VNyr{b+dPuJ0BBHy1plKm*_c%7~?p}A}PrPT0 zcJ(5Wb?!V_hRq|XjdnDho5f=~u3gfN2a?+J>-)S&7ptQ0MeF<fUm3<Vng}@3w%<E) z{7%jd89RIB^vg0&^rF3kW_2yXzW&u{F_QX-$;rM@vet&(t!3h!2So>;k(hHi-~L>X z!O9sYdyVUbc_AWkL94B-LX5arn~VKshu;sGNn6^7_;w0madIPmAqh^GqrJ?22=RtU zyy5-&R(WG@-Rx(R)(h|W+Hz$Mnc^)y1hvlXxn#yt+J2^&a6K_5T}UM5_Ij%{bX!VO zE1R(W!%b`xXYOkCh;L;dtX6G`@HTH6@l<WncT<gOxwp}g^R97JQGs#P_dMgM8+jWY z%|IKRV;n`w+347J$2ckukR~AC?2V36*~U>VS;kQ-Z*6oe%rtJQH&Sgv0gBK&B{{XB zEGi>I&3wzv9R@bRT3k(sQu`$eVlv9r)=S<*8(a*2uH9sxs)a3xzwu_WX~6#`(cp2g zmTr@0>P^<X%YO~2C32)HtQn1bruQU3OCaUR$scN`U!<P>w4OGc@|Wn{vh=g&juU5I zVW{qgQ*IjNaVPh#7CS(H@;*{yuasC3U9BrpSCT1?+txZzQ$>>dfV?dfsl0-Ht%$S3 zyAui;J)7bZtdcH}_Ps`mRNEfDh}NyxCGw+NECTzmjzez8yY}{7s@?LDd3)+aNS@u( zk$Ie@A4|4so!=pMzkBV)O*-c%OOkb66&^9Mty^8gbcgNXT2BAf+A4PtDJZ7a)z40) ztUjT^B)3N6Ov-BocJ&Am73aWb%z=BsPnn)(lVV}g4BWz!$o3aYAi`(Iqdc}=zUh5# z=!eylZn%fd+}`~1x^8k02br4ri^JbDA;gvPPn_fzs7ZOpv0|T8p~}P9dnbwB4>urq z3{Wer^#pFF)(fdUf?U<f1kP%MwY-my3rJqQBXMTq;Nxh4p6)wRXACy>YbhT@^sB6n zJz25VHa!K$mb0xdOnKx%ir+|X>2%jlQ%Aqq%<p=0Tyvi?2j_k~_U@b;K#F%OUv_<S zZg=fL>50zd(yH})^|ZGi^Pjn$j-?*u2l1z@-->-*jhh@jKx+4`fCAP7cfXbJexID~ z;!~V>KaEa!)fkYZ{v#O4{vbltX11X?xFTZ~^P;mv{@Ax~(;t%us&rn6&wanzp_XdX zV)}TrGC+RDb#`X7QapKf?B(%_(p*K+vBBZ0*)oM3@v@m8$j+lb8edozPY*RB6%_-< z2e02A=p=2_c~ngt46nHAJ{+rlI2lX2-4Pf13GI18kw$2|jbCSEYMSt>u+XlnIlQGQ zbJA{;|1j1bJFAr!`F_l-cKic6p>Vgor^Vaabdg(zJ451!%|~BGaIE^?a<-jEsko_< z>B9%nKubk-{o5Vl<pvL!@3O9?aiC&`i%SBIwjVa_&FUI`Ks5PrZFoHFdfPgrVM%Y+ z=cipg?#DW2i~YQrs#hn@xH65-Fg=+#$_>e6Gk+VmVH)qBVHWVJ@xcdvJi<i0IVP%P zav|pVQEw*Z$`VnfqV-CKS>eY^!Vf7{6l_+|^*0-k{;cCY7%|><!!+TE%+>m>?~@xg z_Y={<pQ|S&uhjJF#Xq@y&G@P0ep+_yo}=20vSsIduioxVc-FVgxa^wxEA6ONhwMLy zk81aOdr3Ao=cl|nm6~zPV5~B+vnkzG;dPK~SnVcm-}Z^&S3ij3n;(DIS#>iZx~pA% z7~NTT+?00g*vv|zDf;wx9qH|DdrzDz^gUWLm3Ca1sAn1QsP?TyfYGV`p7Sp%YiDdq zeP^;erl+Q65;9+QpvrD2<S`doyzX|YEwZ&4z33{l)8;F_w^?tFgU*KQKu}z5J?S14 zvJ2d!Svw-oXb1(t9V{M&CH>?Q7P#{A5K^7$Os9B&)|pJFs8MWawiF1dO>woSJ3tsT z3fjFJu`s7kB3{3Gl`5L^fjvSfLxAOkZIVfe*PN3}{VwvFITf>KQJlUvs_M3V+P7Oy zoA<6vS&jr(me-aq&*Pz_9fMcma&un3`C#QHDrpfYM6~LohKb_o?@y-7Tv9plbjwiO zQ7`|#QauqLM-h)BY-?1jtX4YS7t%4ymrst+W&SXC{P9=m?kg8YpC_&RzAkZKXjh)= z`>l>gBwl(5Vw&=Bm1{Zq_iT{&-IMP2A@8;KD;!^w9hYu2bGEKxC=ZjBgvEitFWG9O zeGTWYCDV#4CwY~ajPn1WFycQ|4UV`>H97_lT-4CqpF0H(zhnCB<eS80Xg)zxt>TP$ z1YJRHyS_zeqGBKSdyYfArQMOnssS4m(O<AT6{@<M6nl!Q_6w8>-b{$q7q)&s<G@xd zL`O>Oc+SxoPT}^fn|znHI>t&8XLXCFDJlG_7;F0|_{#am$_e||dg}=6%oeQ0J{vG0 z=E~(k&OTfCKU6TOv9$<C)LNy5=3I(+>aigMabd+ltL9JZ49=b05%qc{J@xgI`!(+} zdnb+%Rgoj_GVc2v<Nmzw&ZE9-{yUFmtBBW(Y47sZ+*C4@&cDWvcZFfx<;Y8N3f9N& zDa|EQc6|F$^<s2}OHk_Y_CM%P_8;mGi<MobKfEC+`>hi9=VJ(SDDX&aV(*F@$G>)- zjj}|j=9`4XpBK7B{Z83vEPYX?Y(Uc`c-_ck6(X4bg6WplYuu6g-{sHjFSD;ME`6Q2 z2HJNCaq;4X$}L>8+%X+8V!bv_is75Q75uD>Lr?QDR}1i`IUSID@HjqfT0Wgw@xvOA zY_oe}Hi8<f?z^`N4yum&J`;uPVxvP4<|e^H$CZau_GTTMG}~_my&MqJbPEmBj|@C= zqE&;Nlqd8c137gdDt0A(;GD$Q)N($}nnY`JxhdY=^qm=Hgs$q_=e4FZb~tIbdZ%ep zYa}ja$LygIX~z@_l}2Tr2UyfX%0{oHs7LE>Ubc~n7onW-7K`V`Rf+}G@XH5b`J%>- zNgcP`CwX5gQjurXl>o~PX`zYiG-l72$#+9og@;?nx5cc^G(3&(KBlyt-_L4luKAnq z>@=&`-N5~SFb(M+nufIerPm2l<|~IdSqF<H^z_y0=jeV7bC#J+JSFA2EWtv1PLAOn z_o2QPVg#M^x5Y-qlpCWCbG3d=eLjoP)V_SS(f=OnsoY`rQw^FwCfxm)GH3kQ-|{wy zNtpdEAqMpiCB)#CgGbtcbb(cwv$|K%PsOuwFsC|la_$r2IrFKrs*s$tyMBe<>gXLE zBhQTU-w(#Eedzu0O6PO0bwZ@of*K8L_v>Vs7jG!xI3i}pGI|xi^OVSERz({G(a+sS zyP{>lO9ap6-|VDkr;pho>|XU`g^|~rXK|19(nGlh4!>CStZ2<^%G#?5mnuR}Z_?Rl zsBxuV@&;Bpf-No6AT3Pn>G4n1n=X@$H#u_uIJ~c|*^|Fc6t_z#Q=W8fuW4d+)l;q= z9N_n4m+#pxnkm1U&#kOYbtdskH?gCkDDUamHw(|)Vw9lSa8JRy2%Um&MC6BW3SFPS zPqSuRJ0$c61unXK*s-gq(0rgnkTe>FK||6w0v19ONjM0N!D1ov|K9Ioi3sF=UpEj4 z%=D}sDK>NnY2;;1XK>VM9xlt?+%60bWrQN&jh}tQ5D6@K9_2eXd2WKZHlMRnwryl$ zwnQNQASvb_np$=_825xeSXGYVRP#@_VmmHrmn?NDFJK*{)$XQu-@j0f4`b9pJ{!cA z#J%&Z(J*^lnialK-7xI(m$W;smR=`%{ERZkCpot39XaBzP+KiB_PbnY+!DF8$)0po z2eJo*!Q&yMF4+YrM2+G|Ht{kdyLv9s39KtD0;x`OrT-6Fho{r`pxJmrXgpZS5P{s| z3PLW`)gFRvHm~%bETkIM&W_?iakZg%0#gFiBmF2IGzdv^1)|WsL67d>K>>X`niq)S zcGM#j$Q%JeHbWLQil>bS)s0T`fY4ZYHQ4GN3wuI=3m~r!neIV_ae|UTp<wuce?NQX z2&4+xlLC)hzVmrG=lP~oTe<_-4{T9G7#WLa4|qxV>;Z2~lTLP~+9<o)J5vA`K5W=~ zLRbuh)FJyYCIAxRz@@UM4FxPl!jR^-@VnCgfs&2r6c-Z+g+Qv3-83jvdj~qa=HD_e z(F?HW{EE^TECIm%=kO)_ScK{!h=4-<8-)13od=7Sg>b-1I06ci1p$<RB_K$66hs7X z35JM=u)uZ0ga>lM_u=ta0(!p165;Xx9U&I)W5HOM;5ilvk3~ah6s!PQ93U_eNfsg! z!8I@=9xP6T36Fs=Bs>BTM8FduJRVE}JP#2-mnaJaK!HBo!uPR&zyXyAo`>fo$&x@j z&x2dWW`HMxTUZEqQ!o(#mf>gdVB_<1fU#g*Mjwj<ijZXxo=9S}BqER(@Cj%P*x>xS zIIu1rxJ4`pehvrWK`RTC1-A^sz~cxECBQAbKEr6R0)Y%bvEWDz#)4-UN?8;RZW&01 zSHi&;C|E_X*znfi77)WO@N)Bnz%SVB=T!3@AmIEI7_ejT7#@}iNWKVzMRP5-z+{L; zK^QaOh-i4*4Dn$c{G1;i1@DOgCIBe-`sXaLP$(3Fac^M)5`hFQ5)6cS48S;8P7GZG zT)>!ELJT~>m{=qRRu(V;<6$Ymaxt#K956N(3EnvYg$FhSvceen1CeBbO<-IA@4A#0 zF|pXfN&$99Fj~03gc!D-zYmZ3NiZ&8tHQ1MPbUX^@kJ-c@XcsAxdNV+;fv95Isq=` zy);nl{4Lm7qv7Kid<%GS#=!@~0@$r%e)XeE-KaXSAsnHW`q`xsOBuT~jQG&^8qq;k z2O(9JAvA=vA%p+n;Gm58ABLf1@bd%F|HpyAqb|(1#ODK`{;dvuGS!vN@Va1aeKH-S znXZeM3t<utH$-4!piu~U0QhY;xQ{ej=phypQ8cjipEK3{RA&%8=ch#=4Jn>Lw{WzC zgAOCmQs{8#MCz-lgAhRR0f9`@g=|kzS!h)kT1_AUteW{Ku^=tX`I-EBh3(=AL~*Nn zCrb!3UAxxb%l5^M-HI9`b69-qF2}L%!rZjfqm?}7o{jan(ed2@ap4?V`EfDroFgpN z(Pywqv0u%sFYN!cI{njWsRN+d1^zH7dZRp5~2*?42VBzqTqC*0Jk#BWUNKX0D; z{cM6+YUzJfxupL9<)Zmm(A=#4B`V^mu5N9aNftjJ*80u0_@m;arcnHba7xzY?E9VX zglS&knc|n{dPYmKC*$Rkk6syKee+sMCqr;h?2c%ZWa_9xk<_IIHP4B92@=0zL*ULs zcje8wrJT7^=$j234k?a2jMk7JT9L-OS?>=jUiv!!t11Sl{$r)(|0jNP)&Tsn`h&k% z^v-#!Qf%M`J0?*F2Q%>&1>w%*TZy)U9}fvT(6W3*j%G{FReRc5jl|l=uu3B9FB!-Z z|Ed?3yKT5`y##K(r^qFqHB%}R?NHRZER!O>@748Um(+R=IEjWmEIzSHeD(FsAOE1+ zrB$bYQ@4cw0NsW!z_*M6Up`A8W`$yA2N@W?+nTg-alvA@KPnBi(}ZFS{LbI<|NL!E zwlkA_yW#tjYQ%24(k&U(Vl8elI!jZ&$*29Kf)lA&Hysg5VEpTK**V;^SvU+TKJ;`- z+?%IO-PE#{pe={@m>A*+Q;v4_A?o=^`4)2=&!k{rV}egj?~XJU0$QZAdBZ_#{?{8O zR@jsfhyGxVrG>74(Hf-x07qSuvno)Db4C5E-a|Ha-EKOI|7B&D{Gy8S6~Wg|boWLM z#l5kQd-(RM#H;+=mx`^!yPNph2(26GtlH|r)3$UuTWw!<e_cOzP%S=nN>bs}1b&a8 zi99!lxYQr?xU}H)FX|EfABJkquFbnGzpfY?Voxc;;r>Q7C1|ugyC=rtN5@^+;`ei1 zGY41sU+mzO&-!3v;&(E>B6F%-vr<{-oci@DDsxC(c_gNv3Gc!sR?0o=f@?slsH@a# zf3bEP$?yEq$hU`q>gZQBbpm01xkI+JRCk{P%(4nkY)W%6+pYep`bHVJvgQ7rBlnOP zIb!)Atg*Dl^>11OoYwyL{WqHLF^ZGzhyMz3=#=fwF5#<s9T8U}MTxVeyhU|xkGaL} z#jgE4ep=ymPeRt3S0CrxrtPdUZ**<46d*C1$Lq5?KUI;7s%#1j`XViS4S}!MepIAU zSFY2aa;-7F@*K}uFP7Me&3sv-dv}}h1rud9cx|5iUB%$^{r}{M2eO0zbq&{`!3hsI zj+x|>{A*hcZ*6sJ#%7$8F)uEK+;I`p@_f7b+je4oA}}BK7f`PRjCCDbn@8((*qge} z%J9C`)@zLs2cI<@kahSJC6-S&S$R-y+-YR{EgvSHFXA%4YjWvXLjw&lj&~p-(7-_q z9m8D$#5hsIT`YuINFOwa5N09C(1252I3GYDHQ?+D?t-x(31?K7mYmF&1mC|)8%txr z--Rt{7pkk5C;0M*G27px7waJK(Rv@%7Cu&k?}y+O!Qp-J+-wid-bhuN7bxN|a*c&z z5Xc!9Q3J{{;43P)C?(}Wrn@=Q=+0DY2rYw`LCd(&Jn3kHELO&ras;)*o`fTz@C2Kk zkOQ6WCWl1+Jzj?9VZRLlpYUzHY{1u7OQ&+PwS%n5HcnvaZ9o=yF)Gbf4Niol)Z{QI zGyw(jf3z%?fX7Lra9dHRt=r(5*@CD(9uzwS$k8zfQ0-XwfMNz7q<(hLPad4+!5_$V zfrrCjK(e}=2TB*P{g#abJWx$s&I92c6ia^Pp$Wf_LxaN0@^Rqmw{a*G7E~L49fv^y z0KuQ1GGp;L62Q!I9>~3cv3}tZ{=mcHfc2M;lO@3@Ue3eAg_d7=vZ&w2fgJpI9<23W zo+S`S0JqE6Afn*h`WGHr_BS304cyEx<4AbiZ|j0u)USHMp)lYpzva*3Pz2ns^Wjh= z;;%Nxp|QW|4~HhgZ}Bpj0fs<v;U|yoL8dxWJmw3iu68s~_?dsf4QVv^^<up2MpQov aTuEi5s$>s31HL#6sP`kbY}uoyj`%OsB}VK3 diff --git a/lib/matplotlib/tests/baseline_images/test_axes/contour_hatching.png b/lib/matplotlib/tests/baseline_images/test_axes/contour_hatching.png index 2090e4d208a3046820ef43e00940b7eb991b64a8..0aa9049a87ae2e7ede37aa3cc6dd618c461f5e2f 100644 GIT binary patch literal 41498 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 Qfr5W5&8$uD7`sOP4~B)YLI3~& literal 64427 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 `^h-eH>r>+~=G=LIOV0I5ij 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 F{})sfC1wBs diff --git a/lib/matplotlib/tests/baseline_images/test_axes/contour_hatching.svg b/lib/matplotlib/tests/baseline_images/test_axes/contour_hatching.svg index d4dba2221dc8..2cfa55ec7696 100644 --- a/lib/matplotlib/tests/baseline_images/test_axes/contour_hatching.svg +++ b/lib/matplotlib/tests/baseline_images/test_axes/contour_hatching.svg @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="utf-8" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<!-- Created with matplotlib (http://matplotlib.org/) --> -<svg height="432pt" version="1.1" viewBox="0 0 576 432" width="576pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<!-- Created with matplotlib (https://matplotlib.org/) --> +<svg height="345.6pt" version="1.1" viewBox="0 0 460.8 345.6" width="460.8pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <defs> <style type="text/css"> *{stroke-linecap:butt;stroke-linejoin:round;} @@ -10,6589 +10,6228 @@ </defs> <g id="figure_1"> <g id="patch_1"> - <path d="M 0 432 -L 576 432 -L 576 0 + <path d="M 0 345.6 +L 460.8 345.6 +L 460.8 0 L 0 0 z " style="fill:#ffffff;"/> </g> <g id="axes_1"> <g id="patch_2"> - <path d="M 72 388.8 -L 518.4 388.8 -L 518.4 43.2 -L 72 43.2 + <path d="M 57.6 307.584 +L 414.72 307.584 +L 414.72 41.472 +L 57.6 41.472 z " style="fill:#ffffff;"/> </g> - <g id="PathCollection_1"/> - <g id="PathCollection_2"> - <path clip-path="url(#p5b7831a9a7)" d="M 74.786707 371.37479 -L 74.995973 371.342348 -L 77.991946 370.731979 -L 80.987919 369.97746 -L 83.983893 369.080967 -L 85.749221 368.470588 -L 86.979866 368.024503 -L 89.975839 366.795515 -L 92.666796 365.566387 -L 92.971812 365.419288 -L 95.967785 363.831349 -L 97.996684 362.662185 -L 98.963758 362.06911 -L 101.959732 360.089668 -L 102.429388 359.757983 -L 104.955705 357.842114 -L 106.183342 356.853782 -L 107.951678 355.309144 -L 109.426812 353.94958 -L 110.947651 352.410082 -L 112.23239 351.045378 -L 113.943624 349.01928 -L 114.653899 348.141176 -L 116.723155 345.236975 -L 116.939597 344.88384 -L 118.4439 342.332773 -L 119.870444 339.428571 -L 119.93557 339.261798 -L 120.968366 336.52437 -L 121.776594 333.620168 -L 122.293683 330.715966 -L 122.517296 327.811765 -L 122.446423 324.907563 -L 122.081384 322.003361 -L 121.423829 319.09916 -L 120.476727 316.194958 -L 119.93557 314.919667 -L 119.220141 313.290756 -L 117.655094 310.386555 -L 116.939597 309.261805 -L 115.763004 307.482353 -L 113.943624 305.086242 -L 113.54079 304.578151 -L 110.951163 301.67395 -L 110.947651 301.67039 -L 107.951678 298.77629 -L 107.944532 298.769748 -L 104.955705 296.263014 -L 104.452611 295.865546 -L 101.959732 294.040918 -L 100.383138 292.961345 -L 98.963758 292.052188 -L 95.967785 290.270943 -L 95.576816 290.057143 -L 92.971812 288.713311 -L 89.975839 287.307054 -L 89.610251 287.152941 -L 86.979866 286.099058 -L 83.983893 285.038371 -L 81.406743 284.248739 -L 80.987919 284.125944 -L 77.991946 283.386655 -L 74.995973 282.788606 -L 72 282.333521 -L 72 284.248739 -L 72 287.152941 -L 72 290.057143 -L 72 292.961345 -L 72 295.865546 -L 72 298.769748 -L 72 301.67395 -L 72 304.578151 -L 72 307.482353 -L 72 310.386555 -L 72 313.290756 -L 72 316.194958 -L 72 319.09916 -L 72 322.003361 -L 72 324.907563 -L 72 327.811765 -L 72 330.715966 -L 72 333.620168 -L 72 336.52437 -L 72 339.428571 -L 72 342.332773 -L 72 345.236975 -L 72 348.141176 -L 72 351.045378 -L 72 353.94958 -L 72 356.853782 -L 72 359.757983 -L 72 362.662185 -L 72 365.566387 -L 72 368.470588 -L 72 371.37479 -L 72 371.789548 + <g id="PathCollection_1"> + <path clip-path="url(#p85834bf349)" d="M 59.829366 294.166588 +L 59.996779 294.141608 +L 62.393557 293.671624 +L 64.790336 293.090644 +L 67.187114 292.400344 +L 68.599377 291.930353 +L 69.583893 291.586867 +L 71.980671 290.640547 +L 74.133437 289.694118 +L 74.37745 289.580852 +L 76.774228 288.358139 +L 78.397347 287.457882 +L 79.171007 287.001214 +L 81.567785 285.477044 +L 81.94351 285.221647 +L 83.964564 283.746428 +L 84.946674 282.985412 +L 86.361342 281.796041 +L 87.54145 280.749176 +L 88.758121 279.563763 +L 89.785912 278.512941 +L 91.154899 276.952846 +L 91.723119 276.276706 +L 93.378524 274.040471 +L 93.551678 273.768557 +L 94.75512 271.804235 +L 95.896356 269.568 +L 95.948456 269.439584 +L 96.774693 267.331765 +L 97.421275 265.095529 +L 97.834947 262.859294 +L 98.013837 260.623059 +L 97.957139 258.386824 +L 97.665107 256.150588 +L 97.139063 253.914353 +L 96.381382 251.678118 +L 95.948456 250.696144 +L 95.376113 249.441882 +L 94.124075 247.205647 +L 93.551678 246.33959 +L 92.610403 244.969412 +L 91.154899 243.124406 +L 90.832632 242.733176 +L 88.76093 240.496941 +L 88.758121 240.4942 +L 86.361342 238.265744 +L 86.355625 238.260706 +L 83.964564 236.330521 +L 83.562088 236.024471 +L 81.567785 234.619507 +L 80.30651 233.788235 +L 79.171007 233.088185 +L 76.774228 231.716626 +L 76.461453 231.552 +L 74.37745 230.51725 +L 71.980671 229.434431 +L 71.688201 229.315765 +L 69.583893 228.504275 +L 67.187114 227.687546 +L 65.125394 227.079529 +L 64.790336 226.984977 +L 62.393557 226.415724 +L 59.996779 225.955227 +L 57.6 225.604811 +L 57.6 227.079529 +L 57.6 229.315765 +L 57.6 231.552 +L 57.6 233.788235 +L 57.6 236.024471 +L 57.6 238.260706 +L 57.6 240.496941 +L 57.6 242.733176 +L 57.6 244.969412 +L 57.6 247.205647 +L 57.6 249.441882 +L 57.6 251.678118 +L 57.6 253.914353 +L 57.6 256.150588 +L 57.6 258.386824 +L 57.6 260.623059 +L 57.6 262.859294 +L 57.6 265.095529 +L 57.6 267.331765 +L 57.6 269.568 +L 57.6 271.804235 +L 57.6 274.040471 +L 57.6 276.276706 +L 57.6 278.512941 +L 57.6 280.749176 +L 57.6 282.985412 +L 57.6 285.221647 +L 57.6 287.457882 +L 57.6 289.694118 +L 57.6 291.930353 +L 57.6 294.166588 +L 57.6 294.485952 z -" style="fill:url(#hd01142f1a6);fill-opacity:0.5;"/> - <path clip-path="url(#p5b7831a9a7)" d="M 404.55302 371.468309 -L 407.548993 371.878977 -L 410.544966 372.148023 -L 413.54094 372.274671 -L 416.536913 372.258557 -L 419.532886 372.099727 -L 422.528859 371.798638 -L 425.398688 371.37479 -L 425.524832 371.355384 -L 428.520805 370.748545 -L 431.516779 369.997509 -L 434.512752 369.10444 -L 436.351932 368.470588 -L 437.508725 368.052631 -L 440.504698 366.827082 -L 443.271533 365.566387 -L 443.500671 365.456152 -L 446.496644 363.871641 -L 448.599497 362.662185 -L 449.492617 362.115514 -L 452.488591 360.139463 -L 453.029585 359.757983 -L 455.484564 357.899072 -L 456.784742 356.853782 -L 458.480537 355.374549 -L 460.028552 353.94958 -L 461.47651 352.485671 -L 462.833916 351.045378 -L 464.472483 349.107472 -L 465.254873 348.141176 -L 467.326191 345.236975 -L 467.468456 345.005094 -L 469.04566 342.332773 -L 470.46443 339.446968 -L 470.473167 339.428571 -L 471.56975 336.52437 -L 472.378617 333.620168 -L 472.896114 330.715966 -L 473.119904 327.811765 -L 473.048975 324.907563 -L 472.683648 322.003361 -L 472.025573 319.09916 -L 471.077723 316.194958 -L 470.46443 314.750812 -L 469.822592 313.290756 -L 468.256153 310.386555 -L 467.468456 309.149408 -L 466.365083 307.482353 -L 464.472483 304.992292 -L 464.143771 304.578151 -L 461.551264 301.67395 -L 461.47651 301.598257 -L 458.544808 298.769748 -L 458.480537 298.712942 -L 455.484564 296.203676 -L 455.055918 295.865546 -L 452.488591 293.98931 -L 450.984788 292.961345 -L 449.492617 292.0072 -L 446.496644 290.229373 -L 446.181013 290.057143 -L 443.500671 288.677432 -L 440.504698 287.274615 -L 440.215253 287.152941 -L 437.508725 286.071585 -L 434.512752 285.014336 -L 432.004467 284.248739 -L 431.516779 284.106299 -L 428.520805 283.370423 -L 425.524832 282.775833 -L 422.528859 282.324243 -L 419.532886 282.016956 -L 416.536913 281.854855 -L 413.54094 281.838409 -L 410.544966 281.967665 -L 407.548993 282.24225 -L 404.55302 282.661374 -L 401.557047 283.223827 -L 398.561074 283.92799 -L 397.422286 284.248739 -L 395.565101 284.795391 -L 392.569128 285.820666 -L 389.573154 286.986415 -L 389.190223 287.152941 -L 386.577181 288.348526 -L 383.581208 289.859632 -L 383.221939 290.057143 -L 380.585235 291.593753 -L 378.411705 292.961345 -L 377.589262 293.514553 -L 374.593289 295.672649 -L 374.341448 295.865546 -L 371.597315 298.134283 -L 370.869917 298.769748 -L 368.601342 300.933137 -L 367.862032 301.67395 -L 365.605369 304.175646 -L 365.258062 304.578151 -L 363.029918 307.482353 -L 362.609396 308.111784 -L 361.148869 310.386555 -L 359.613423 313.209576 -L 359.570807 313.290756 -L 358.328254 316.194958 -L 357.373326 319.09916 -L 356.710337 322.003361 -L 356.61745 322.736302 -L 356.350803 324.907563 -L 356.281558 327.811765 -L 356.500036 330.715966 -L 356.61745 331.390912 -L 357.017645 333.620168 -L 357.832553 336.52437 -L 358.937325 339.428571 -L 359.613423 340.84154 -L 360.352728 342.332773 -L 362.081191 345.236975 -L 362.609396 346.000429 -L 364.150575 348.141176 -L 365.605369 349.921181 -L 366.565904 351.045378 -L 368.601342 353.18265 -L 369.368799 353.94958 -L 371.597315 355.977216 -L 372.615323 356.853782 -L 374.593289 358.423505 -L 376.381315 359.757983 -L 377.589262 360.597546 -L 380.585235 362.541979 -L 380.785201 362.662185 -L 383.581208 364.241504 -L 386.137797 365.566387 -L 386.577181 365.782044 -L 389.573154 367.115982 -L 392.569128 368.309535 -L 393.028782 368.470588 -L 395.565101 369.318266 -L 398.561074 370.179492 -L 401.557047 370.898161 -L 404.04462 371.37479 +" style="fill:url(#he7211442b0);fill-opacity:0.5;"/> + <path clip-path="url(#p85834bf349)" d="M 323.642416 294.238598 +L 326.039195 294.554812 +L 328.435973 294.761977 +L 330.832752 294.859497 +L 333.22953 294.847089 +L 335.626309 294.72479 +L 338.023087 294.492951 +L 340.31895 294.166588 +L 340.419866 294.151646 +L 342.816644 293.68438 +L 345.213423 293.106082 +L 347.610201 292.418419 +L 349.081545 291.930353 +L 350.00698 291.608526 +L 352.403758 290.664853 +L 354.617227 289.694118 +L 354.800537 289.609237 +L 357.197315 288.389163 +L 358.879598 287.457882 +L 359.594094 287.036946 +L 361.990872 285.515387 +L 362.423668 285.221647 +L 364.387651 283.790286 +L 365.427794 282.985412 +L 366.78443 281.846403 +L 368.022841 280.749176 +L 369.181208 279.621966 +L 370.267133 278.512941 +L 371.577987 277.020754 +L 372.203898 276.276706 +L 373.860953 274.040471 +L 373.974765 273.861922 +L 375.236528 271.804235 +L 376.371544 269.582165 +L 376.378533 269.568 +L 377.2558 267.331765 +L 377.902893 265.095529 +L 378.316891 262.859294 +L 378.495923 260.623059 +L 378.43918 258.386824 +L 378.146918 256.150588 +L 377.620458 253.914353 +L 376.862178 251.678118 +L 376.371544 250.566125 +L 375.858073 249.441882 +L 374.604923 247.205647 +L 373.974765 246.253044 +L 373.092066 244.969412 +L 371.577987 243.052065 +L 371.315017 242.733176 +L 369.241011 240.496941 +L 369.181208 240.438658 +L 366.835847 238.260706 +L 366.78443 238.216965 +L 364.387651 236.284831 +L 364.044735 236.024471 +L 361.990872 234.579769 +L 360.78783 233.788235 +L 359.594094 233.053544 +L 357.197315 231.684617 +L 356.94481 231.552 +L 354.800537 230.489623 +L 352.403758 229.409453 +L 352.172202 229.315765 +L 350.00698 228.48312 +L 347.610201 227.669038 +L 345.603573 227.079529 +L 345.213423 226.96985 +L 342.816644 226.403226 +L 340.419866 225.945391 +L 338.023087 225.597667 +L 335.626309 225.361056 +L 333.22953 225.236238 +L 330.832752 225.223575 +L 328.435973 225.323102 +L 326.039195 225.534533 +L 323.642416 225.857258 +L 321.245638 226.290347 +L 318.848859 226.832552 +L 317.937829 227.079529 +L 316.452081 227.500451 +L 314.055302 228.289913 +L 311.658523 229.18754 +L 311.352179 229.315765 +L 309.261745 230.236365 +L 306.864966 231.399916 +L 306.577551 231.552 +L 304.468188 232.73519 +L 302.729364 233.788235 +L 302.071409 234.214206 +L 299.674631 235.87594 +L 299.473158 236.024471 +L 297.277852 237.771398 +L 296.695934 238.260706 +L 294.881074 239.926516 +L 294.289626 240.496941 +L 292.484295 242.423247 +L 292.206449 242.733176 +L 290.423934 244.969412 +L 290.087517 245.454074 +L 288.919095 247.205647 +L 287.690738 249.379374 +L 287.656646 249.441882 +L 286.662604 251.678118 +L 285.898661 253.914353 +L 285.368269 256.150588 +L 285.29396 256.714952 +L 285.080643 258.386824 +L 285.025246 260.623059 +L 285.200029 262.859294 +L 285.29396 263.379002 +L 285.614116 265.095529 +L 286.266042 267.331765 +L 287.14986 269.568 +L 287.690738 270.655986 +L 288.282183 271.804235 +L 289.664953 274.040471 +L 290.087517 274.628331 +L 291.32046 276.276706 +L 292.484295 277.647309 +L 293.252723 278.512941 +L 294.881074 280.15864 +L 295.495039 280.749176 +L 297.277852 282.310456 +L 298.092259 282.985412 +L 299.674631 284.194099 +L 301.105052 285.221647 +L 302.071409 285.86811 +L 304.468188 287.365324 +L 304.628161 287.457882 +L 306.864966 288.673958 +L 308.910237 289.694118 +L 309.261745 289.860174 +L 311.658523 290.887306 +L 314.055302 291.806342 +L 314.423026 291.930353 +L 316.452081 292.583065 +L 318.848859 293.246209 +L 321.245638 293.799584 +L 323.235696 294.166588 z -" style="fill:url(#hd01142f1a6);fill-opacity:0.5;"/> - <path clip-path="url(#p5b7831a9a7)" d="M 74.995973 99.894598 -L 77.991946 99.296088 -L 80.987919 98.556231 -L 81.589104 98.379832 -L 83.983893 97.645421 -L 86.979866 96.583788 -L 89.74325 95.47563 -L 89.975839 95.377482 -L 92.971812 93.969782 -L 95.67973 92.571429 -L 95.967785 92.413721 -L 98.963758 90.630383 -L 100.465676 89.667227 -L 101.959732 88.642797 -L 104.5245 86.763025 -L 104.955705 86.421829 -L 107.951678 83.905232 -L 108.00404 83.858824 -L 110.947651 81.01027 -L 111.002451 80.954622 -L 113.586783 78.05042 -L 113.943624 77.599262 -L 115.801781 75.146218 -L 116.939597 73.420519 -L 117.687162 72.242017 -L 119.246824 69.337815 -L 119.93557 67.762862 -L 120.497189 66.433613 -L 121.43888 63.529412 -L 122.090957 60.62521 -L 122.450474 57.721008 -L 122.515806 54.816807 -L 122.28666 51.912605 -L 121.764069 49.008403 -L 120.950396 46.104202 -L 119.93557 43.427508 -L 119.846292 43.2 -L 116.939597 43.2 -L 113.943624 43.2 -L 110.947651 43.2 -L 107.951678 43.2 -L 104.955705 43.2 -L 101.959732 43.2 -L 98.963758 43.2 -L 95.967785 43.2 -L 92.971812 43.2 -L 89.975839 43.2 -L 86.979866 43.2 -L 83.983893 43.2 -L 80.987919 43.2 -L 77.991946 43.2 -L 74.995973 43.2 -L 72 43.2 -L 72 46.104202 -L 72 49.008403 -L 72 51.912605 -L 72 54.816807 -L 72 57.721008 -L 72 60.62521 -L 72 63.529412 -L 72 66.433613 -L 72 69.337815 -L 72 72.242017 -L 72 75.146218 -L 72 78.05042 -L 72 80.954622 -L 72 83.858824 -L 72 86.763025 -L 72 89.667227 -L 72 92.571429 -L 72 95.47563 -L 72 98.379832 -L 72 100.350034 +" style="fill:url(#he7211442b0);fill-opacity:0.5;"/> + <path clip-path="url(#p85834bf349)" d="M 59.996779 85.12684 +L 62.393557 84.665988 +L 64.790336 84.096298 +L 65.271283 83.960471 +L 67.187114 83.394974 +L 69.583893 82.577517 +L 71.7946 81.724235 +L 71.980671 81.648662 +L 74.37745 80.564732 +L 76.543784 79.488 +L 76.774228 79.366565 +L 79.171007 77.993395 +L 80.372541 77.251765 +L 81.567785 76.462953 +L 83.6196 75.015529 +L 83.964564 74.752808 +L 86.361342 72.815028 +L 86.403232 72.779294 +L 88.758121 70.585908 +L 88.801961 70.543059 +L 90.869427 68.306824 +L 91.154899 67.959432 +L 92.641425 66.070588 +L 93.551678 64.741799 +L 94.14973 63.834353 +L 95.397459 61.598118 +L 95.948456 60.385403 +L 96.397752 59.361882 +L 97.151104 57.125647 +L 97.672766 54.889412 +L 97.960379 52.653176 +L 98.012645 50.416941 +L 97.829328 48.180706 +L 97.411255 45.944471 +L 96.760316 43.708235 +L 95.948456 41.647181 +L 95.877034 41.472 +L 93.551678 41.472 +L 91.154899 41.472 +L 88.758121 41.472 +L 86.361342 41.472 +L 83.964564 41.472 +L 81.567785 41.472 +L 79.171007 41.472 +L 76.774228 41.472 +L 74.37745 41.472 +L 71.980671 41.472 +L 69.583893 41.472 +L 67.187114 41.472 +L 64.790336 41.472 +L 62.393557 41.472 +L 59.996779 41.472 +L 57.6 41.472 +L 57.6 43.708235 +L 57.6 45.944471 +L 57.6 48.180706 +L 57.6 50.416941 +L 57.6 52.653176 +L 57.6 54.889412 +L 57.6 57.125647 +L 57.6 59.361882 +L 57.6 61.598118 +L 57.6 63.834353 +L 57.6 66.070588 +L 57.6 68.306824 +L 57.6 70.543059 +L 57.6 72.779294 +L 57.6 75.015529 +L 57.6 77.251765 +L 57.6 79.488 +L 57.6 81.724235 +L 57.6 83.960471 +L 57.6 85.477526 z -" style="fill:url(#hd01142f1a6);fill-opacity:0.5;"/> - <path clip-path="url(#p5b7831a9a7)" d="M 398.561074 98.754337 -L 401.557047 99.459042 -L 404.55302 100.021928 -L 407.548993 100.441374 -L 410.544966 100.716171 -L 413.54094 100.845527 -L 416.536913 100.829068 -L 419.532886 100.666843 -L 422.528859 100.359318 -L 425.524832 99.907381 -L 428.520805 99.312333 -L 431.516779 98.57589 -L 432.187527 98.379832 -L 434.512752 97.669478 -L 437.508725 96.611286 -L 440.348625 95.47563 -L 440.504698 95.409955 -L 443.500671 94.005698 -L 446.284149 92.571429 -L 446.496644 92.45534 -L 449.492617 90.675423 -L 451.067468 89.667227 -L 452.488591 88.694474 -L 455.127919 86.763025 -L 455.484564 86.481258 -L 458.480537 83.968128 -L 458.604016 83.858824 -L 461.47651 81.082531 -L 461.60261 80.954622 -L 464.189815 78.05042 -L 464.472483 77.693437 -L 466.403899 75.146218 -L 467.468456 73.533235 -L 468.28825 72.242017 -L 469.849299 69.337815 -L 470.46443 67.932449 -L 471.098201 66.433613 -L 472.040636 63.529412 -L 472.693228 60.62521 -L 473.053029 57.721008 -L 473.118413 54.816807 -L 472.889086 51.912605 -L 472.366082 49.008403 -L 471.551765 46.104202 -L 470.46443 43.238519 -L 470.4493 43.2 -L 467.468456 43.2 -L 464.472483 43.2 -L 461.47651 43.2 -L 458.480537 43.2 -L 455.484564 43.2 -L 452.488591 43.2 -L 449.492617 43.2 -L 446.496644 43.2 -L 443.500671 43.2 -L 440.504698 43.2 -L 437.508725 43.2 -L 434.512752 43.2 -L 431.516779 43.2 -L 428.520805 43.2 -L 425.524832 43.2 -L 422.528859 43.2 -L 419.532886 43.2 -L 416.536913 43.2 -L 413.54094 43.2 -L 410.544966 43.2 -L 407.548993 43.2 -L 404.55302 43.2 -L 401.557047 43.2 -L 398.561074 43.2 -L 395.565101 43.2 -L 392.569128 43.2 -L 389.573154 43.2 -L 386.577181 43.2 -L 383.581208 43.2 -L 380.585235 43.2 -L 377.589262 43.2 -L 374.593289 43.2 -L 371.597315 43.2 -L 368.601342 43.2 -L 365.605369 43.2 -L 362.609396 43.2 -L 359.613423 43.2 -L 358.960852 43.2 -L 357.850672 46.104202 -L 357.030274 49.008403 -L 356.61745 51.283795 -L 356.506898 51.912605 -L 356.283013 54.816807 -L 356.346846 57.721008 -L 356.61745 59.95834 -L 356.700685 60.62521 -L 357.35815 63.529412 -L 358.307623 66.433613 -L 359.544814 69.337815 -L 359.613423 69.468962 -L 361.116503 72.242017 -L 362.609396 74.57381 -L 362.990736 75.146218 -L 365.213555 78.05042 -L 365.605369 78.505437 -L 367.810147 80.954622 -L 368.601342 81.748828 -L 370.810016 83.858824 -L 371.597315 84.547678 -L 374.27275 86.763025 -L 374.593289 87.008871 -L 377.589262 89.169869 -L 378.32768 89.667227 -L 380.585235 91.089356 -L 383.125371 92.571429 -L 383.581208 92.822286 -L 386.577181 94.334942 -L 389.067688 95.47563 -L 389.573154 95.695639 -L 392.569128 96.862428 -L 395.565101 97.888618 -L 397.232457 98.379832 +" style="fill:url(#he7211442b0);fill-opacity:0.5;"/> + <path clip-path="url(#p85834bf349)" d="M 318.848859 84.248839 +L 321.245638 84.791462 +L 323.642416 85.224885 +L 326.039195 85.547858 +L 328.435973 85.759452 +L 330.832752 85.859055 +L 333.22953 85.846382 +L 335.626309 85.721469 +L 338.023087 85.484675 +L 340.419866 85.136683 +L 342.816644 84.678497 +L 345.213423 84.111435 +L 345.750022 83.960471 +L 347.610201 83.413498 +L 350.00698 82.59869 +L 352.2789 81.724235 +L 352.403758 81.673665 +L 354.800537 80.592388 +L 357.027319 79.488 +L 357.197315 79.398612 +L 359.594094 78.028076 +L 360.853975 77.251765 +L 361.990872 76.502745 +L 364.102335 75.015529 +L 364.387651 74.798569 +L 366.78443 72.863459 +L 366.883213 72.779294 +L 369.181208 70.641549 +L 369.282088 70.543059 +L 371.351852 68.306824 +L 371.577987 68.031946 +L 373.123119 66.070588 +L 373.974765 64.828591 +L 374.6306 63.834353 +L 375.879439 61.598118 +L 376.371544 60.515985 +L 376.878561 59.361882 +L 377.632509 57.125647 +L 378.154582 54.889412 +L 378.442423 52.653176 +L 378.494731 50.416941 +L 378.311268 48.180706 +L 377.892866 45.944471 +L 377.241412 43.708235 +L 376.371544 41.50166 +L 376.35944 41.472 +L 373.974765 41.472 +L 371.577987 41.472 +L 369.181208 41.472 +L 366.78443 41.472 +L 364.387651 41.472 +L 361.990872 41.472 +L 359.594094 41.472 +L 357.197315 41.472 +L 354.800537 41.472 +L 352.403758 41.472 +L 350.00698 41.472 +L 347.610201 41.472 +L 345.213423 41.472 +L 342.816644 41.472 +L 340.419866 41.472 +L 338.023087 41.472 +L 335.626309 41.472 +L 333.22953 41.472 +L 330.832752 41.472 +L 328.435973 41.472 +L 326.039195 41.472 +L 323.642416 41.472 +L 321.245638 41.472 +L 318.848859 41.472 +L 316.452081 41.472 +L 314.055302 41.472 +L 311.658523 41.472 +L 309.261745 41.472 +L 306.864966 41.472 +L 304.468188 41.472 +L 302.071409 41.472 +L 299.674631 41.472 +L 297.277852 41.472 +L 294.881074 41.472 +L 292.484295 41.472 +L 290.087517 41.472 +L 287.690738 41.472 +L 287.168682 41.472 +L 286.280537 43.708235 +L 285.624219 45.944471 +L 285.29396 47.696522 +L 285.205518 48.180706 +L 285.02641 50.416941 +L 285.077476 52.653176 +L 285.29396 54.375922 +L 285.360548 54.889412 +L 285.88652 57.125647 +L 286.646099 59.361882 +L 287.635851 61.598118 +L 287.690738 61.699101 +L 288.893203 63.834353 +L 290.087517 65.629834 +L 290.392589 66.070588 +L 292.170844 68.306824 +L 292.484295 68.657186 +L 294.248118 70.543059 +L 294.881074 71.154598 +L 296.648013 72.779294 +L 297.277852 73.309712 +L 299.4182 75.015529 +L 299.674631 75.204831 +L 302.071409 76.868799 +L 302.662144 77.251765 +L 304.468188 78.346804 +L 306.500297 79.488 +L 306.864966 79.68116 +L 309.261745 80.845905 +L 311.25415 81.724235 +L 311.658523 81.893642 +L 314.055302 82.79207 +L 316.452081 83.582236 +L 317.785966 83.960471 z -" style="fill:url(#hd01142f1a6);fill-opacity:0.5;"/> +" style="fill:url(#he7211442b0);fill-opacity:0.5;"/> </g> - <g id="PathCollection_3"> - <path clip-path="url(#p5b7831a9a7)" d="M 74.995973 388.8 -L 77.991946 388.8 -L 80.987919 388.8 -L 83.983893 388.8 -L 86.979866 388.8 -L 89.975839 388.8 -L 92.971812 388.8 -L 94.072483 388.8 -L 95.967785 388.028351 -L 98.963758 386.702183 -L 100.654695 385.895798 -L 101.959732 385.264511 -L 104.955705 383.715397 -L 106.27432 382.991597 -L 107.951678 382.05317 -L 110.947651 380.284615 -L 111.266029 380.087395 -L 113.943624 378.388396 -L 115.762669 377.183193 -L 116.939597 376.38026 -L 119.902817 374.278992 -L 119.93557 374.254942 -L 122.931544 371.978093 -L 123.701549 371.37479 -L 125.927517 369.558153 -L 127.224904 368.470588 -L 128.92349 366.977843 -L 130.492615 365.566387 -L 131.919463 364.211249 -L 133.518311 362.662185 -L 134.915436 361.22162 -L 136.311412 359.757983 -L 137.911409 357.956597 -L 138.877703 356.853782 -L 140.907383 354.34045 -L 141.219717 353.94958 -L 143.332656 351.045378 -L 143.903356 350.171048 -L 145.218277 348.141176 -L 146.875439 345.236975 -L 146.899329 345.188306 -L 148.294434 342.332773 -L 149.476364 339.428571 -L 149.895302 338.133733 -L 150.415074 336.52437 -L 151.106938 333.620168 -L 151.54958 330.715966 -L 151.740998 327.811765 -L 151.680329 324.907563 -L 151.367846 322.003361 -L 150.804962 319.09916 -L 149.994218 316.194958 -L 149.895302 315.922646 -L 148.93757 313.290756 -L 147.640887 310.386555 -L 146.899329 308.979578 -L 146.106503 307.482353 -L 144.34049 304.578151 -L 143.903356 303.938973 -L 142.342485 301.67395 -L 140.907383 299.79159 -L 140.120058 298.769748 -L 137.911409 296.143749 -L 137.674218 295.865546 -L 135.001557 292.961345 -L 134.915436 292.873806 -L 132.097689 290.057143 -L 131.919463 289.889079 -L 128.959463 287.152941 -L 128.92349 287.121336 -L 125.927517 284.549759 -L 125.567295 284.248739 -L 122.931544 282.141094 -L 121.904549 281.344538 -L 119.93557 279.874091 -L 117.948459 278.440336 -L 116.939597 277.735415 -L 113.943624 275.72142 -L 113.655826 275.536134 -L 110.947651 273.838575 -L 108.92762 272.631933 -L 107.951678 272.061429 -L 104.955705 270.401589 -L 103.6645 269.727731 -L 101.959732 268.852794 -L 98.963758 267.414301 -L 97.638185 266.823529 -L 95.967785 266.087954 -L 92.971812 264.874493 -L 90.380021 263.919328 -L 89.975839 263.771467 -L 86.979866 262.787157 -L 83.983893 261.91738 -L 80.987919 261.164641 -L 80.280858 261.015126 -L 77.991946 260.532479 -L 74.995973 260.021431 -L 72 259.632549 -L 72 261.015126 -L 72 263.919328 -L 72 266.823529 -L 72 269.727731 -L 72 272.631933 -L 72 275.536134 -L 72 278.440336 -L 72 281.344538 -L 72 282.333521 -L 74.995973 282.788606 -L 77.991946 283.386655 -L 80.987919 284.125944 -L 81.406743 284.248739 -L 83.983893 285.038371 -L 86.979866 286.099058 -L 89.610251 287.152941 -L 89.975839 287.307054 -L 92.971812 288.713311 -L 95.576816 290.057143 -L 95.967785 290.270943 -L 98.963758 292.052188 -L 100.383138 292.961345 -L 101.959732 294.040918 -L 104.452611 295.865546 -L 104.955705 296.263014 -L 107.944532 298.769748 -L 107.951678 298.77629 -L 110.947651 301.67039 -L 110.951163 301.67395 -L 113.54079 304.578151 -L 113.943624 305.086242 -L 115.763004 307.482353 -L 116.939597 309.261805 -L 117.655094 310.386555 -L 119.220141 313.290756 -L 119.93557 314.919667 -L 120.476727 316.194958 -L 121.423829 319.09916 -L 122.081384 322.003361 -L 122.446423 324.907563 -L 122.517296 327.811765 -L 122.293683 330.715966 -L 121.776594 333.620168 -L 120.968366 336.52437 -L 119.93557 339.261798 -L 119.870444 339.428571 -L 118.4439 342.332773 -L 116.939597 344.88384 -L 116.723155 345.236975 -L 114.653899 348.141176 -L 113.943624 349.01928 -L 112.23239 351.045378 -L 110.947651 352.410082 -L 109.426812 353.94958 -L 107.951678 355.309144 -L 106.183342 356.853782 -L 104.955705 357.842114 -L 102.429388 359.757983 -L 101.959732 360.089668 -L 98.963758 362.06911 -L 97.996684 362.662185 -L 95.967785 363.831349 -L 92.971812 365.419288 -L 92.666796 365.566387 -L 89.975839 366.795515 -L 86.979866 368.024503 -L 85.749221 368.470588 -L 83.983893 369.080967 -L 80.987919 369.97746 -L 77.991946 370.731979 -L 74.995973 371.342348 -L 74.786707 371.37479 -L 72 371.789548 -L 72 374.278992 -L 72 377.183193 -L 72 380.087395 -L 72 382.991597 -L 72 385.895798 -L 72 388.8 + <g id="PathCollection_2"> + <path clip-path="url(#p85834bf349)" d="M 59.996779 307.584 +L 62.393557 307.584 +L 64.790336 307.584 +L 67.187114 307.584 +L 69.583893 307.584 +L 71.980671 307.584 +L 74.37745 307.584 +L 75.257986 307.584 +L 76.774228 306.98983 +L 79.171007 305.968681 +L 80.523756 305.347765 +L 81.567785 304.861673 +L 83.964564 303.668855 +L 85.019456 303.111529 +L 86.361342 302.388941 +L 88.758121 301.027154 +L 89.012824 300.875294 +L 91.154899 299.567065 +L 92.610135 298.639059 +L 93.551678 298.0208 +L 95.922253 296.402824 +L 95.948456 296.384306 +L 98.345235 294.631132 +L 98.961239 294.166588 +L 100.742013 292.767778 +L 101.779923 291.930353 +L 103.138792 290.780939 +L 104.394092 289.694118 +L 105.53557 288.650661 +L 106.814648 287.457882 +L 107.932349 286.348647 +L 109.04913 285.221647 +L 110.329128 283.834579 +L 111.102163 282.985412 +L 112.725906 281.050146 +L 112.975774 280.749176 +L 114.666124 278.512941 +L 115.122685 277.839707 +L 116.174622 276.276706 +L 117.500352 274.040471 +L 117.519463 274.002995 +L 118.635547 271.804235 +L 119.581091 269.568 +L 119.916242 268.570974 +L 120.332059 267.331765 +L 120.885551 265.095529 +L 121.239664 262.859294 +L 121.392799 260.623059 +L 121.344263 258.386824 +L 121.094277 256.150588 +L 120.643969 253.914353 +L 119.995375 251.678118 +L 119.916242 251.468437 +L 119.150056 249.441882 +L 118.11271 247.205647 +L 117.519463 246.122275 +L 116.885202 244.969412 +L 115.472392 242.733176 +L 115.122685 242.241009 +L 113.873988 240.496941 +L 112.725906 239.047524 +L 112.096046 238.260706 +L 110.329128 236.238686 +L 110.139375 236.024471 +L 108.001246 233.788235 +L 107.932349 233.72083 +L 105.678151 231.552 +L 105.53557 231.422591 +L 103.167571 229.315765 +L 103.138792 229.291429 +L 100.742013 227.311315 +L 100.453836 227.079529 +L 98.345235 225.456642 +L 97.523639 224.843294 +L 95.948456 223.71105 +L 94.358767 222.607059 +L 93.551678 222.06427 +L 91.154899 220.513493 +L 90.924661 220.370824 +L 88.758121 219.063703 +L 87.142096 218.134588 +L 86.361342 217.6953 +L 83.964564 216.417224 +L 82.9316 215.898353 +L 81.567785 215.224652 +L 79.171007 214.117011 +L 78.110548 213.662118 +L 76.774228 213.095724 +L 74.37745 212.161359 +L 72.304017 211.425882 +L 71.980671 211.31203 +L 69.583893 210.554111 +L 67.187114 209.884382 +L 64.790336 209.304774 +L 64.224687 209.189647 +L 62.393557 208.818009 +L 59.996779 208.424502 +L 57.6 208.125063 +L 57.6 209.189647 +L 57.6 211.425882 +L 57.6 213.662118 +L 57.6 215.898353 +L 57.6 218.134588 +L 57.6 220.370824 +L 57.6 222.607059 +L 57.6 224.843294 +L 57.6 225.604811 +L 59.996779 225.955227 +L 62.393557 226.415724 +L 64.790336 226.984977 +L 65.125394 227.079529 +L 67.187114 227.687546 +L 69.583893 228.504275 +L 71.688201 229.315765 +L 71.980671 229.434431 +L 74.37745 230.51725 +L 76.461453 231.552 +L 76.774228 231.716626 +L 79.171007 233.088185 +L 80.30651 233.788235 +L 81.567785 234.619507 +L 83.562088 236.024471 +L 83.964564 236.330521 +L 86.355625 238.260706 +L 86.361342 238.265744 +L 88.758121 240.4942 +L 88.76093 240.496941 +L 90.832632 242.733176 +L 91.154899 243.124406 +L 92.610403 244.969412 +L 93.551678 246.33959 +L 94.124075 247.205647 +L 95.376113 249.441882 +L 95.948456 250.696144 +L 96.381382 251.678118 +L 97.139063 253.914353 +L 97.665107 256.150588 +L 97.957139 258.386824 +L 98.013837 260.623059 +L 97.834947 262.859294 +L 97.421275 265.095529 +L 96.774693 267.331765 +L 95.948456 269.439584 +L 95.896356 269.568 +L 94.75512 271.804235 +L 93.551678 273.768557 +L 93.378524 274.040471 +L 91.723119 276.276706 +L 91.154899 276.952846 +L 89.785912 278.512941 +L 88.758121 279.563763 +L 87.54145 280.749176 +L 86.361342 281.796041 +L 84.946674 282.985412 +L 83.964564 283.746428 +L 81.94351 285.221647 +L 81.567785 285.477044 +L 79.171007 287.001214 +L 78.397347 287.457882 +L 76.774228 288.358139 +L 74.37745 289.580852 +L 74.133437 289.694118 +L 71.980671 290.640547 +L 69.583893 291.586867 +L 68.599377 291.930353 +L 67.187114 292.400344 +L 64.790336 293.090644 +L 62.393557 293.671624 +L 59.996779 294.141608 +L 59.829366 294.166588 +L 57.6 294.485952 +L 57.6 296.402824 +L 57.6 298.639059 +L 57.6 300.875294 +L 57.6 303.111529 +L 57.6 305.347765 +L 57.6 307.584 z -" style="fill:url(#hd8b53471b5);fill-opacity:0.5;"/> - <path clip-path="url(#p5b7831a9a7)" d="M 380.585235 387.043496 -L 383.581208 388.343411 -L 384.728208 388.8 -L 386.577181 388.8 -L 389.573154 388.8 -L 392.569128 388.8 -L 395.565101 388.8 -L 398.561074 388.8 -L 401.557047 388.8 -L 404.55302 388.8 -L 407.548993 388.8 -L 410.544966 388.8 -L 413.54094 388.8 -L 416.536913 388.8 -L 419.532886 388.8 -L 422.528859 388.8 -L 425.524832 388.8 -L 428.520805 388.8 -L 431.516779 388.8 -L 434.512752 388.8 -L 437.508725 388.8 -L 440.504698 388.8 -L 443.500671 388.8 -L 444.673425 388.8 -L 446.496644 388.059301 -L 449.492617 386.735678 -L 451.256811 385.895798 -L 452.488591 385.300969 -L 455.484564 383.754232 -L 456.875846 382.991597 -L 458.480537 382.095062 -L 461.47651 380.328695 -L 461.866481 380.087395 -L 464.472483 378.43566 -L 466.364747 377.183193 -L 467.468456 376.430962 -L 470.46443 374.308355 -L 470.504468 374.278992 -L 473.460403 372.034344 -L 474.30279 371.37479 -L 476.456376 369.618449 -L 477.826526 368.470588 -L 479.452349 367.042659 -L 481.094394 365.566387 -L 482.448322 364.28118 -L 484.120094 362.662185 -L 485.444295 361.297421 -L 486.91311 359.757983 -L 488.440268 358.039239 -L 489.47928 356.853782 -L 491.436242 354.431209 -L 491.821185 353.94958 -L 493.934592 351.045378 -L 494.432215 350.283174 -L 495.819978 348.141176 -L 497.428188 345.323187 -L 497.477156 345.236975 -L 498.896151 342.332773 -L 500.078175 339.428571 -L 500.424161 338.359296 -L 501.016788 336.52437 -L 501.708659 333.620168 -L 502.151304 330.715966 -L 502.342725 327.811765 -L 502.282055 324.907563 -L 501.969569 322.003361 -L 501.406679 319.09916 -L 500.595928 316.194958 -L 500.424161 315.722095 -L 499.539339 313.290756 -L 498.242553 310.386555 -L 497.428188 308.841563 -L 496.708337 307.482353 -L 494.942059 304.578151 -L 494.432215 303.832768 -L 492.944202 301.67395 -L 491.436242 299.696464 -L 490.722001 298.769748 -L 488.440268 296.057654 -L 488.27642 295.865546 -L 485.602772 292.961345 -L 485.444295 292.800319 -L 482.698839 290.057143 -L 482.448322 289.821016 -L 479.560436 287.152941 -L 479.452349 287.05803 -L 476.456376 284.48802 -L 476.169836 284.248739 -L 473.460403 282.083684 -L 472.506672 281.344538 -L 470.46443 279.820581 -L 468.549779 278.440336 -L 467.468456 277.685456 -L 464.472483 275.673465 -L 464.258935 275.536134 -L 461.47651 273.793971 -L 459.528741 272.631933 -L 458.480537 272.019945 -L 455.484564 270.362392 -L 454.266597 269.727731 -L 452.488591 268.816607 -L 449.492617 267.380578 -L 448.240309 266.823529 -L 446.496644 266.057164 -L 443.500671 264.846322 -L 440.979151 263.919328 -L 440.504698 263.746185 -L 437.508725 262.764629 -L 434.512752 261.89767 -L 431.516779 261.147807 -L 430.886417 261.015126 -L 428.520805 260.518608 -L 425.524832 260.010516 -L 422.528859 259.624621 -L 419.532886 259.362036 -L 416.536913 259.223517 -L 413.54094 259.209464 -L 410.544966 259.319916 -L 407.548993 259.554556 -L 404.55302 259.912708 -L 401.557047 260.393338 -L 398.561074 260.995063 -L 398.477715 261.015126 -L 395.565101 261.718132 -L 392.569128 262.558872 -L 389.573154 263.514802 -L 388.438759 263.919328 -L 386.577181 264.588082 -L 383.581208 265.774524 -L 381.15094 266.823529 -L 380.585235 267.070658 -L 377.589262 268.483711 -L 375.126306 269.727731 -L 374.593289 270.001494 -L 371.597315 271.637699 -L 369.874463 272.631933 -L 368.601342 273.382684 -L 365.605369 275.239054 -L 365.146744 275.536134 -L 362.609396 277.224244 -L 360.852777 278.440336 -L 359.613423 279.326324 -L 356.888634 281.344538 -L 356.61745 281.553149 -L 353.621477 283.931491 -L 353.23276 284.248739 -L 350.625503 286.47247 -L 349.846705 287.152941 -L 347.62953 289.19119 -L 346.706911 290.057143 -L 344.633557 292.120029 -L 343.802647 292.961345 -L 341.637584 295.304858 -L 341.126979 295.865546 -L 338.676728 298.769748 -L 338.641611 298.815184 -L 336.456947 301.67395 -L 335.645638 302.848486 -L 334.460795 304.578151 -L 332.69191 307.482353 -L 332.649664 307.562003 -L 331.159624 310.386555 -L 329.861777 313.290756 -L 329.653691 313.862072 -L 328.806131 316.194958 -L 327.995244 319.09916 -L 327.432261 322.003361 -L 327.119723 324.907563 -L 327.059043 327.811765 -L 327.250496 330.715966 -L 327.693215 333.620168 -L 328.385201 336.52437 -L 329.323328 339.428571 -L 329.653691 340.241636 -L 330.505491 342.332773 -L 331.925648 345.236975 -L 332.649664 346.510632 -L 333.58158 348.141176 -L 335.46594 351.045378 -L 335.645638 351.293851 -L 337.58237 353.94958 -L 338.641611 355.272036 -L 339.922956 356.853782 -L 341.637584 358.804576 -L 342.487697 359.757983 -L 344.633557 361.999132 -L 345.27963 362.662185 -L 347.62953 364.928293 -L 348.305096 365.566387 -L 350.625503 367.642185 -L 351.574156 368.470588 -L 353.621477 370.175919 -L 355.101199 371.37479 -L 356.61745 372.554176 -L 358.90579 374.278992 -L 359.613423 374.79411 -L 362.609396 376.89903 -L 363.030256 377.183193 -L 365.605369 378.871739 -L 367.543504 380.087395 -L 368.601342 380.735143 -L 371.597315 382.481064 -L 372.523031 382.991597 -L 374.593289 384.111798 -L 377.589262 385.636353 -L 378.135259 385.895798 +" style="fill:url(#hc8e4ad36cd);fill-opacity:0.5;"/> + <path clip-path="url(#p85834bf349)" d="M 304.468188 306.231492 +L 306.864966 307.232427 +L 307.782566 307.584 +L 309.261745 307.584 +L 311.658523 307.584 +L 314.055302 307.584 +L 316.452081 307.584 +L 318.848859 307.584 +L 321.245638 307.584 +L 323.642416 307.584 +L 326.039195 307.584 +L 328.435973 307.584 +L 330.832752 307.584 +L 333.22953 307.584 +L 335.626309 307.584 +L 338.023087 307.584 +L 340.419866 307.584 +L 342.816644 307.584 +L 345.213423 307.584 +L 347.610201 307.584 +L 350.00698 307.584 +L 352.403758 307.584 +L 354.800537 307.584 +L 355.73874 307.584 +L 357.197315 307.013662 +L 359.594094 305.994472 +L 361.005449 305.347765 +L 361.990872 304.889746 +L 364.387651 303.698759 +L 365.500677 303.111529 +L 366.78443 302.421198 +L 369.181208 301.061095 +L 369.493185 300.875294 +L 371.577987 299.603458 +L 373.091798 298.639059 +L 373.974765 298.05984 +L 376.371544 296.425433 +L 376.403574 296.402824 +L 378.768322 294.674445 +L 379.442232 294.166588 +L 381.165101 292.814206 +L 382.261221 291.930353 +L 383.561879 290.830848 +L 384.875516 289.694118 +L 385.958658 288.704509 +L 387.296076 287.457882 +L 388.355436 286.407014 +L 389.530488 285.221647 +L 390.752215 283.898214 +L 391.583424 282.985412 +L 393.148993 281.120031 +L 393.456948 280.749176 +L 395.147674 278.512941 +L 395.545772 277.926044 +L 396.655982 276.276706 +L 397.94255 274.106854 +L 397.981725 274.040471 +L 399.116921 271.804235 +L 400.06254 269.568 +L 400.339329 268.744658 +L 400.81343 267.331765 +L 401.366927 265.095529 +L 401.721043 262.859294 +L 401.87418 260.623059 +L 401.825644 258.386824 +L 401.575655 256.150588 +L 401.125344 253.914353 +L 400.476743 251.678118 +L 400.339329 251.314013 +L 399.631471 249.441882 +L 398.594042 247.205647 +L 397.94255 246.016003 +L 397.36667 244.969412 +L 395.953647 242.733176 +L 395.545772 242.159232 +L 394.355362 240.496941 +L 393.148993 238.974277 +L 392.577601 238.260706 +L 390.752215 236.172393 +L 390.621136 236.024471 +L 388.482218 233.788235 +L 388.355436 233.664245 +L 386.159071 231.552 +L 385.958658 231.370182 +L 383.648349 229.315765 +L 383.561879 229.242683 +L 381.165101 227.263775 +L 380.935869 227.079529 +L 378.768322 225.412437 +L 378.005338 224.843294 +L 376.371544 223.669847 +L 374.839823 222.607059 +L 373.974765 222.025801 +L 371.577987 220.476568 +L 371.407148 220.370824 +L 369.181208 219.029357 +L 367.622993 218.134588 +L 366.78443 217.663358 +L 364.387651 216.387042 +L 363.413277 215.898353 +L 361.990872 215.196788 +L 359.594094 214.091045 +L 358.592247 213.662118 +L 357.197315 213.072016 +L 354.800537 212.139668 +L 352.783321 211.425882 +L 352.403758 211.292562 +L 350.00698 210.536764 +L 347.610201 209.869206 +L 345.213423 209.291812 +L 344.709134 209.189647 +L 342.816644 208.807328 +L 340.419866 208.416097 +L 338.023087 208.118958 +L 335.626309 207.916768 +L 333.22953 207.810108 +L 330.832752 207.799287 +L 328.435973 207.884335 +L 326.039195 208.065008 +L 323.642416 208.340785 +L 321.245638 208.71087 +L 318.848859 209.174198 +L 318.782172 209.189647 +L 316.452081 209.730962 +L 314.055302 210.378331 +L 311.658523 211.114397 +L 310.751007 211.425882 +L 309.261745 211.940823 +L 306.864966 212.854383 +L 304.920752 213.662118 +L 304.468188 213.852407 +L 302.071409 214.940457 +L 300.101045 215.898353 +L 299.674631 216.10915 +L 297.277852 217.369028 +L 295.89957 218.134588 +L 294.881074 218.712667 +L 292.484295 220.142071 +L 292.117395 220.370824 +L 290.087517 221.670668 +L 288.682221 222.607059 +L 287.690738 223.28927 +L 285.510907 224.843294 +L 285.29396 225.003925 +L 282.897181 226.835248 +L 282.586208 227.079529 +L 280.500403 228.791802 +L 279.877364 229.315765 +L 278.103624 230.885216 +L 277.365529 231.552 +L 275.706846 233.140422 +L 275.042118 233.788235 +L 273.310067 235.59274 +L 272.901583 236.024471 +L 270.941382 238.260706 +L 270.913289 238.295691 +L 269.165557 240.496941 +L 268.51651 241.401334 +L 267.568636 242.733176 +L 266.153528 244.969412 +L 266.119732 245.030742 +L 264.9277 247.205647 +L 263.889421 249.441882 +L 263.722953 249.881795 +L 263.044904 251.678118 +L 262.396196 253.914353 +L 261.945809 256.150588 +L 261.695779 258.386824 +L 261.647235 260.623059 +L 261.800396 262.859294 +L 262.154572 265.095529 +L 262.708161 267.331765 +L 263.458663 269.568 +L 263.722953 270.19406 +L 264.404393 271.804235 +L 265.540519 274.040471 +L 266.119732 275.021186 +L 266.865264 276.276706 +L 268.372752 278.512941 +L 268.51651 278.704265 +L 270.065896 280.749176 +L 270.913289 281.767468 +L 271.938364 282.985412 +L 273.310067 284.487524 +L 273.990158 285.221647 +L 275.706846 286.947332 +L 276.223704 287.457882 +L 278.103624 289.202786 +L 278.644077 289.694118 +L 280.500403 291.292482 +L 281.259325 291.930353 +L 282.897181 293.243457 +L 284.080959 294.166588 +L 285.29396 295.074715 +L 287.124632 296.402824 +L 287.690738 296.799465 +L 290.087517 298.420253 +L 290.424205 298.639059 +L 292.484295 299.939239 +L 294.034803 300.875294 +L 294.881074 301.37406 +L 297.277852 302.718419 +L 298.018425 303.111529 +L 299.674631 303.974085 +L 302.071409 305.147992 +L 302.508207 305.347765 z -M 404.04462 371.37479 -L 401.557047 370.898161 -L 398.561074 370.179492 -L 395.565101 369.318266 -L 393.028782 368.470588 -L 392.569128 368.309535 -L 389.573154 367.115982 -L 386.577181 365.782044 -L 386.137797 365.566387 -L 383.581208 364.241504 -L 380.785201 362.662185 -L 380.585235 362.541979 -L 377.589262 360.597546 -L 376.381315 359.757983 -L 374.593289 358.423505 -L 372.615323 356.853782 -L 371.597315 355.977216 -L 369.368799 353.94958 -L 368.601342 353.18265 -L 366.565904 351.045378 -L 365.605369 349.921181 -L 364.150575 348.141176 -L 362.609396 346.000429 -L 362.081191 345.236975 -L 360.352728 342.332773 -L 359.613423 340.84154 -L 358.937325 339.428571 -L 357.832553 336.52437 -L 357.017645 333.620168 -L 356.61745 331.390912 -L 356.500036 330.715966 -L 356.281558 327.811765 -L 356.350803 324.907563 -L 356.61745 322.736302 -L 356.710337 322.003361 -L 357.373326 319.09916 -L 358.328254 316.194958 -L 359.570807 313.290756 -L 359.613423 313.209576 -L 361.148869 310.386555 -L 362.609396 308.111784 -L 363.029918 307.482353 -L 365.258062 304.578151 -L 365.605369 304.175646 -L 367.862032 301.67395 -L 368.601342 300.933137 -L 370.869917 298.769748 -L 371.597315 298.134283 -L 374.341448 295.865546 -L 374.593289 295.672649 -L 377.589262 293.514553 -L 378.411705 292.961345 -L 380.585235 291.593753 -L 383.221939 290.057143 -L 383.581208 289.859632 -L 386.577181 288.348526 -L 389.190223 287.152941 -L 389.573154 286.986415 -L 392.569128 285.820666 -L 395.565101 284.795391 -L 397.422286 284.248739 -L 398.561074 283.92799 -L 401.557047 283.223827 -L 404.55302 282.661374 -L 407.548993 282.24225 -L 410.544966 281.967665 -L 413.54094 281.838409 -L 416.536913 281.854855 -L 419.532886 282.016956 -L 422.528859 282.324243 -L 425.524832 282.775833 -L 428.520805 283.370423 -L 431.516779 284.106299 -L 432.004467 284.248739 -L 434.512752 285.014336 -L 437.508725 286.071585 -L 440.215253 287.152941 -L 440.504698 287.274615 -L 443.500671 288.677432 -L 446.181013 290.057143 -L 446.496644 290.229373 -L 449.492617 292.0072 -L 450.984788 292.961345 -L 452.488591 293.98931 -L 455.055918 295.865546 -L 455.484564 296.203676 -L 458.480537 298.712942 -L 458.544808 298.769748 -L 461.47651 301.598257 -L 461.551264 301.67395 -L 464.143771 304.578151 -L 464.472483 304.992292 -L 466.365083 307.482353 -L 467.468456 309.149408 -L 468.256153 310.386555 -L 469.822592 313.290756 -L 470.46443 314.750812 -L 471.077723 316.194958 -L 472.025573 319.09916 -L 472.683648 322.003361 -L 473.048975 324.907563 -L 473.119904 327.811765 -L 472.896114 330.715966 -L 472.378617 333.620168 -L 471.56975 336.52437 -L 470.473167 339.428571 -L 470.46443 339.446968 -L 469.04566 342.332773 -L 467.468456 345.005094 -L 467.326191 345.236975 -L 465.254873 348.141176 -L 464.472483 349.107472 -L 462.833916 351.045378 -L 461.47651 352.485671 -L 460.028552 353.94958 -L 458.480537 355.374549 -L 456.784742 356.853782 -L 455.484564 357.899072 -L 453.029585 359.757983 -L 452.488591 360.139463 -L 449.492617 362.115514 -L 448.599497 362.662185 -L 446.496644 363.871641 -L 443.500671 365.456152 -L 443.271533 365.566387 -L 440.504698 366.827082 -L 437.508725 368.052631 -L 436.351932 368.470588 -L 434.512752 369.10444 -L 431.516779 369.997509 -L 428.520805 370.748545 -L 425.524832 371.355384 -L 425.398688 371.37479 -L 422.528859 371.798638 -L 419.532886 372.099727 -L 416.536913 372.258557 -L 413.54094 372.274671 -L 410.544966 372.148023 -L 407.548993 371.878977 -L 404.55302 371.468309 +M 323.235696 294.166588 +L 321.245638 293.799584 +L 318.848859 293.246209 +L 316.452081 292.583065 +L 314.423026 291.930353 +L 314.055302 291.806342 +L 311.658523 290.887306 +L 309.261745 289.860174 +L 308.910237 289.694118 +L 306.864966 288.673958 +L 304.628161 287.457882 +L 304.468188 287.365324 +L 302.071409 285.86811 +L 301.105052 285.221647 +L 299.674631 284.194099 +L 298.092259 282.985412 +L 297.277852 282.310456 +L 295.495039 280.749176 +L 294.881074 280.15864 +L 293.252723 278.512941 +L 292.484295 277.647309 +L 291.32046 276.276706 +L 290.087517 274.628331 +L 289.664953 274.040471 +L 288.282183 271.804235 +L 287.690738 270.655986 +L 287.14986 269.568 +L 286.266042 267.331765 +L 285.614116 265.095529 +L 285.29396 263.379002 +L 285.200029 262.859294 +L 285.025246 260.623059 +L 285.080643 258.386824 +L 285.29396 256.714952 +L 285.368269 256.150588 +L 285.898661 253.914353 +L 286.662604 251.678118 +L 287.656646 249.441882 +L 287.690738 249.379374 +L 288.919095 247.205647 +L 290.087517 245.454074 +L 290.423934 244.969412 +L 292.206449 242.733176 +L 292.484295 242.423247 +L 294.289626 240.496941 +L 294.881074 239.926516 +L 296.695934 238.260706 +L 297.277852 237.771398 +L 299.473158 236.024471 +L 299.674631 235.87594 +L 302.071409 234.214206 +L 302.729364 233.788235 +L 304.468188 232.73519 +L 306.577551 231.552 +L 306.864966 231.399916 +L 309.261745 230.236365 +L 311.352179 229.315765 +L 311.658523 229.18754 +L 314.055302 228.289913 +L 316.452081 227.500451 +L 317.937829 227.079529 +L 318.848859 226.832552 +L 321.245638 226.290347 +L 323.642416 225.857258 +L 326.039195 225.534533 +L 328.435973 225.323102 +L 330.832752 225.223575 +L 333.22953 225.236238 +L 335.626309 225.361056 +L 338.023087 225.597667 +L 340.419866 225.945391 +L 342.816644 226.403226 +L 345.213423 226.96985 +L 345.603573 227.079529 +L 347.610201 227.669038 +L 350.00698 228.48312 +L 352.172202 229.315765 +L 352.403758 229.409453 +L 354.800537 230.489623 +L 356.94481 231.552 +L 357.197315 231.684617 +L 359.594094 233.053544 +L 360.78783 233.788235 +L 361.990872 234.579769 +L 364.044735 236.024471 +L 364.387651 236.284831 +L 366.78443 238.216965 +L 366.835847 238.260706 +L 369.181208 240.438658 +L 369.241011 240.496941 +L 371.315017 242.733176 +L 371.577987 243.052065 +L 373.092066 244.969412 +L 373.974765 246.253044 +L 374.604923 247.205647 +L 375.858073 249.441882 +L 376.371544 250.566125 +L 376.862178 251.678118 +L 377.620458 253.914353 +L 378.146918 256.150588 +L 378.43918 258.386824 +L 378.495923 260.623059 +L 378.316891 262.859294 +L 377.902893 265.095529 +L 377.2558 267.331765 +L 376.378533 269.568 +L 376.371544 269.582165 +L 375.236528 271.804235 +L 373.974765 273.861922 +L 373.860953 274.040471 +L 372.203898 276.276706 +L 371.577987 277.020754 +L 370.267133 278.512941 +L 369.181208 279.621966 +L 368.022841 280.749176 +L 366.78443 281.846403 +L 365.427794 282.985412 +L 364.387651 283.790286 +L 362.423668 285.221647 +L 361.990872 285.515387 +L 359.594094 287.036946 +L 358.879598 287.457882 +L 357.197315 288.389163 +L 354.800537 289.609237 +L 354.617227 289.694118 +L 352.403758 290.664853 +L 350.00698 291.608526 +L 349.081545 291.930353 +L 347.610201 292.418419 +L 345.213423 293.106082 +L 342.816644 293.68438 +L 340.419866 294.151646 +L 340.31895 294.166588 +L 338.023087 294.492951 +L 335.626309 294.72479 +L 333.22953 294.847089 +L 330.832752 294.859497 +L 328.435973 294.761977 +L 326.039195 294.554812 +L 323.642416 294.238598 z -" style="fill:url(#hd8b53471b5);fill-opacity:0.5;"/> - <path clip-path="url(#p5b7831a9a7)" d="M 74.995973 122.661741 -L 77.991946 122.150687 -L 80.539739 121.613445 -L 80.987919 121.518664 -L 83.983893 120.765853 -L 86.979866 119.895991 -L 89.975839 118.911586 -L 90.528896 118.709244 -L 92.971812 117.80878 -L 95.967785 116.595097 -L 97.761573 115.805042 -L 98.963758 115.269117 -L 101.959732 113.830234 -L 103.770116 112.90084 -L 104.955705 112.281878 -L 107.951678 110.621439 -L 109.020119 109.996639 -L 110.947651 108.844726 -L 113.741867 107.092437 -L 113.943624 106.962473 -L 116.939597 104.947363 -L 118.025438 104.188235 -L 119.93557 102.809116 -L 121.976365 101.284034 -L 122.931544 100.542609 -L 125.634159 98.379832 -L 125.927517 98.134468 -L 128.92349 95.560598 -L 129.020116 95.47563 -L 131.919463 92.792809 -L 132.153989 92.571429 -L 134.915436 89.807799 -L 135.05357 89.667227 -L 137.722642 86.763025 -L 137.911409 86.541278 -L 140.164072 83.858824 -L 140.907383 82.892397 -L 142.382123 80.954622 -L 143.903356 78.742594 -L 144.375766 78.05042 -L 146.137558 75.146218 -L 146.899329 73.703549 -L 147.667456 72.242017 -L 148.959678 69.337815 -L 149.895302 66.755536 -L 150.011734 66.433613 -L 150.817846 63.529412 -L 151.376041 60.62521 -L 151.683797 57.721008 -L 151.739723 54.816807 -L 151.543568 51.912605 -L 151.096217 49.008403 -L 150.399691 46.104202 -L 149.895302 44.550077 -L 149.456354 43.2 -L 146.899329 43.2 -L 143.903356 43.2 -L 140.907383 43.2 -L 137.911409 43.2 -L 134.915436 43.2 -L 131.919463 43.2 -L 128.92349 43.2 -L 125.927517 43.2 -L 122.931544 43.2 -L 119.93557 43.2 -L 119.846292 43.2 -L 119.93557 43.427508 -L 120.950396 46.104202 -L 121.764069 49.008403 -L 122.28666 51.912605 -L 122.515806 54.816807 -L 122.450474 57.721008 -L 122.090957 60.62521 -L 121.43888 63.529412 -L 120.497189 66.433613 -L 119.93557 67.762862 -L 119.246824 69.337815 -L 117.687162 72.242017 -L 116.939597 73.420519 -L 115.801781 75.146218 -L 113.943624 77.599262 -L 113.586783 78.05042 -L 111.002451 80.954622 -L 110.947651 81.01027 -L 108.00404 83.858824 -L 107.951678 83.905232 -L 104.955705 86.421829 -L 104.5245 86.763025 -L 101.959732 88.642797 -L 100.465676 89.667227 -L 98.963758 90.630383 -L 95.967785 92.413721 -L 95.67973 92.571429 -L 92.971812 93.969782 -L 89.975839 95.377482 -L 89.74325 95.47563 -L 86.979866 96.583788 -L 83.983893 97.645421 -L 81.589104 98.379832 -L 80.987919 98.556231 -L 77.991946 99.296088 -L 74.995973 99.894598 -L 72 100.350034 -L 72 101.284034 -L 72 104.188235 -L 72 107.092437 -L 72 109.996639 -L 72 112.90084 -L 72 115.805042 -L 72 118.709244 -L 72 121.613445 -L 72 123.050627 +" style="fill:url(#hc8e4ad36cd);fill-opacity:0.5;"/> + <path clip-path="url(#p85834bf349)" d="M 59.996779 102.657541 +L 62.393557 102.264029 +L 64.431791 101.850353 +L 64.790336 101.777371 +L 67.187114 101.197707 +L 69.583893 100.527913 +L 71.980671 99.769921 +L 72.423117 99.614118 +L 74.37745 98.92076 +L 76.774228 97.986225 +L 78.209259 97.377882 +L 79.171007 96.96522 +L 81.567785 95.85728 +L 83.016093 95.141647 +L 83.964564 94.665046 +L 86.361342 93.386508 +L 87.216095 92.905412 +L 88.758121 92.018439 +L 90.993493 90.669176 +L 91.154899 90.569104 +L 93.551678 89.01747 +L 94.42035 88.432941 +L 95.948456 87.371019 +L 97.581092 86.196706 +L 98.345235 85.625809 +L 100.507327 83.960471 +L 100.742013 83.771541 +L 103.138792 81.789661 +L 103.216093 81.724235 +L 105.53557 79.658463 +L 105.723191 79.488 +L 107.932349 77.360006 +L 108.042856 77.251765 +L 110.178114 75.015529 +L 110.329128 74.844784 +L 112.131257 72.779294 +L 112.725906 72.035146 +L 113.905698 70.543059 +L 115.122685 68.839798 +L 115.500613 68.306824 +L 116.910046 66.070588 +L 117.519463 64.959732 +L 118.133965 63.834353 +L 119.167743 61.598118 +L 119.916242 59.609763 +L 120.009387 59.361882 +L 120.654277 57.125647 +L 121.100833 54.889412 +L 121.347037 52.653176 +L 121.391779 50.416941 +L 121.234854 48.180706 +L 120.876973 45.944471 +L 120.319752 43.708235 +L 119.916242 42.511559 +L 119.565083 41.472 +L 117.519463 41.472 +L 115.122685 41.472 +L 112.725906 41.472 +L 110.329128 41.472 +L 107.932349 41.472 +L 105.53557 41.472 +L 103.138792 41.472 +L 100.742013 41.472 +L 98.345235 41.472 +L 95.948456 41.472 +L 95.877034 41.472 +L 95.948456 41.647181 +L 96.760316 43.708235 +L 97.411255 45.944471 +L 97.829328 48.180706 +L 98.012645 50.416941 +L 97.960379 52.653176 +L 97.672766 54.889412 +L 97.151104 57.125647 +L 96.397752 59.361882 +L 95.948456 60.385403 +L 95.397459 61.598118 +L 94.14973 63.834353 +L 93.551678 64.741799 +L 92.641425 66.070588 +L 91.154899 67.959432 +L 90.869427 68.306824 +L 88.801961 70.543059 +L 88.758121 70.585908 +L 86.403232 72.779294 +L 86.361342 72.815028 +L 83.964564 74.752808 +L 83.6196 75.015529 +L 81.567785 76.462953 +L 80.372541 77.251765 +L 79.171007 77.993395 +L 76.774228 79.366565 +L 76.543784 79.488 +L 74.37745 80.564732 +L 71.980671 81.648662 +L 71.7946 81.724235 +L 69.583893 82.577517 +L 67.187114 83.394974 +L 65.271283 83.960471 +L 64.790336 84.096298 +L 62.393557 84.665988 +L 59.996779 85.12684 +L 57.6 85.477526 +L 57.6 86.196706 +L 57.6 88.432941 +L 57.6 90.669176 +L 57.6 92.905412 +L 57.6 95.141647 +L 57.6 97.377882 +L 57.6 99.614118 +L 57.6 101.850353 +L 57.6 102.956983 z -" style="fill:url(#hd8b53471b5);fill-opacity:0.5;"/> - <path clip-path="url(#p5b7831a9a7)" d="M 398.561074 121.688098 -L 401.557047 122.289829 -L 404.55302 122.770466 -L 407.548993 123.128621 -L 410.544966 123.363264 -L 413.54094 123.473718 -L 416.536913 123.459664 -L 419.532886 123.321143 -L 422.528859 123.058555 -L 425.524832 122.672656 -L 428.520805 122.164558 -L 431.146499 121.613445 -L 431.516779 121.5355 -L 434.512752 120.785565 -L 437.508725 119.918522 -L 440.504698 118.936871 -L 441.128391 118.709244 -L 443.500671 117.836955 -L 446.496644 116.625893 -L 448.363934 115.805042 -L 449.492617 115.302849 -L 452.488591 113.86643 -L 454.372375 112.90084 -L 455.484564 112.321089 -L 458.480537 110.662938 -L 459.621354 109.996639 -L 461.47651 108.889351 -L 464.345071 107.092437 -L 464.472483 107.010455 -L 467.468456 104.99735 -L 468.626826 104.188235 -L 470.46443 102.862661 -L 472.578545 101.284034 -L 473.460403 100.600063 -L 476.236747 98.379832 -L 476.456376 98.196263 -L 479.452349 95.623961 -L 479.62112 95.47563 -L 482.448322 92.860942 -L 482.755164 92.571429 -L 485.444295 89.881373 -L 485.654804 89.667227 -L 488.324862 86.763025 -L 488.440268 86.627506 -L 490.766027 83.858824 -L 491.436242 82.987692 -L 492.983848 80.954622 -L 494.432215 78.849016 -L 494.97734 78.05042 -L 496.739396 75.146218 -L 497.428188 73.841956 -L 498.269124 72.242017 -L 499.561449 69.337815 -L 500.424161 66.956956 -L 500.613445 66.433613 -L 501.419564 63.529412 -L 501.977764 60.62521 -L 502.285522 57.721008 -L 502.341449 54.816807 -L 502.145292 51.912605 -L 501.697937 49.008403 -L 501.001404 46.104202 -L 500.424161 44.325613 -L 500.058163 43.2 -L 497.428188 43.2 -L 494.432215 43.2 -L 491.436242 43.2 -L 488.440268 43.2 -L 485.444295 43.2 -L 482.448322 43.2 -L 479.452349 43.2 -L 476.456376 43.2 -L 473.460403 43.2 -L 470.46443 43.2 -L 470.4493 43.2 -L 470.46443 43.238519 -L 471.551765 46.104202 -L 472.366082 49.008403 -L 472.889086 51.912605 -L 473.118413 54.816807 -L 473.053029 57.721008 -L 472.693228 60.62521 -L 472.040636 63.529412 -L 471.098201 66.433613 -L 470.46443 67.932449 -L 469.849299 69.337815 -L 468.28825 72.242017 -L 467.468456 73.533235 -L 466.403899 75.146218 -L 464.472483 77.693437 -L 464.189815 78.05042 -L 461.60261 80.954622 -L 461.47651 81.082531 -L 458.604016 83.858824 -L 458.480537 83.968128 -L 455.484564 86.481258 -L 455.127919 86.763025 -L 452.488591 88.694474 -L 451.067468 89.667227 -L 449.492617 90.675423 -L 446.496644 92.45534 -L 446.284149 92.571429 -L 443.500671 94.005698 -L 440.504698 95.409955 -L 440.348625 95.47563 -L 437.508725 96.611286 -L 434.512752 97.669478 -L 432.187527 98.379832 -L 431.516779 98.57589 -L 428.520805 99.312333 -L 425.524832 99.907381 -L 422.528859 100.359318 -L 419.532886 100.666843 -L 416.536913 100.829068 -L 413.54094 100.845527 -L 410.544966 100.716171 -L 407.548993 100.441374 -L 404.55302 100.021928 -L 401.557047 99.459042 -L 398.561074 98.754337 -L 397.232457 98.379832 -L 395.565101 97.888618 -L 392.569128 96.862428 -L 389.573154 95.695639 -L 389.067688 95.47563 -L 386.577181 94.334942 -L 383.581208 92.822286 -L 383.125371 92.571429 -L 380.585235 91.089356 -L 378.32768 89.667227 -L 377.589262 89.169869 -L 374.593289 87.008871 -L 374.27275 86.763025 -L 371.597315 84.547678 -L 370.810016 83.858824 -L 368.601342 81.748828 -L 367.810147 80.954622 -L 365.605369 78.505437 -L 365.213555 78.05042 -L 362.990736 75.146218 -L 362.609396 74.57381 -L 361.116503 72.242017 -L 359.613423 69.468962 -L 359.544814 69.337815 -L 358.307623 66.433613 -L 357.35815 63.529412 -L 356.700685 60.62521 -L 356.61745 59.95834 -L 356.346846 57.721008 -L 356.283013 54.816807 -L 356.506898 51.912605 -L 356.61745 51.283795 -L 357.030274 49.008403 -L 357.850672 46.104202 -L 358.960852 43.2 -L 356.61745 43.2 -L 353.621477 43.2 -L 350.625503 43.2 -L 347.62953 43.2 -L 344.633557 43.2 -L 341.637584 43.2 -L 338.641611 43.2 -L 335.645638 43.2 -L 332.649664 43.2 -L 329.653691 43.2 -L 329.343307 43.2 -L 328.400587 46.104202 -L 327.703939 49.008403 -L 327.256509 51.912605 -L 327.060319 54.816807 -L 327.116255 57.721008 -L 327.424065 60.62521 -L 327.982358 63.529412 -L 328.788611 66.433613 -L 329.653691 68.825041 -L 329.839649 69.337815 -L 331.133032 72.242017 -L 332.649664 75.125155 -L 332.660805 75.146218 -L 334.425462 78.05042 -L 335.645638 79.835316 -L 336.417216 80.954622 -L 338.632679 83.858824 -L 338.641611 83.869547 -L 341.07906 86.763025 -L 341.637584 87.377157 -L 343.750432 89.667227 -L 344.633557 90.562462 -L 346.650347 92.571429 -L 347.62953 93.491414 -L 349.785717 95.47563 -L 350.625503 96.210043 -L 353.167248 98.379832 -L 353.621477 98.750833 -L 356.61745 101.131006 -L 356.816224 101.284034 -L 359.613423 103.357243 -L 360.775082 104.188235 -L 362.609396 105.458818 -L 365.063484 107.092437 -L 365.605369 107.44361 -L 368.601342 109.300824 -L 369.780765 109.996639 -L 371.597315 111.045323 -L 374.593289 112.682118 -L 375.018988 112.90084 -L 377.589262 114.199417 -L 380.585235 115.612852 -L 381.02506 115.805042 -L 383.581208 116.908584 -L 386.577181 118.095243 -L 388.286033 118.709244 -L 389.573154 119.168276 -L 392.569128 120.124299 -L 395.565101 120.96512 -L 398.25091 121.613445 +" style="fill:url(#hc8e4ad36cd);fill-opacity:0.5;"/> + <path clip-path="url(#p85834bf349)" d="M 318.848859 101.907835 +L 321.245638 102.371169 +L 323.642416 102.741258 +L 326.039195 103.017038 +L 328.435973 103.197713 +L 330.832752 103.282763 +L 333.22953 103.271941 +L 335.626309 103.16528 +L 338.023087 102.963088 +L 340.419866 102.665945 +L 342.816644 102.27471 +L 344.917199 101.850353 +L 345.213423 101.790335 +L 347.610201 101.212885 +L 350.00698 100.545262 +L 352.403758 99.789391 +L 352.902713 99.614118 +L 354.800537 98.942456 +L 357.197315 98.009937 +L 358.691148 97.377882 +L 359.594094 96.991193 +L 361.990872 95.885151 +L 363.4979 95.141647 +L 364.387651 94.695239 +L 366.78443 93.418462 +L 367.697083 92.905412 +L 369.181208 92.0528 +L 371.476057 90.669176 +L 371.577987 90.60605 +L 373.974765 89.05596 +L 374.901461 88.432941 +L 376.371544 87.412249 +L 378.062836 86.196706 +L 378.768322 85.670048 +L 380.989398 83.960471 +L 381.165101 83.819123 +L 383.561879 81.83845 +L 383.696896 81.724235 +L 385.958658 79.710925 +L 386.204131 79.488 +L 388.355436 77.416657 +L 388.523843 77.251765 +L 390.659889 75.015529 +L 390.752215 74.911179 +L 392.612822 72.779294 +L 393.148993 72.108523 +L 394.387079 70.543059 +L 395.545772 68.921743 +L 395.981872 68.306824 +L 397.391517 66.070588 +L 397.94255 65.066306 +L 398.615299 63.834353 +L 399.649159 61.598118 +L 400.339329 59.764856 +L 400.490756 59.361882 +L 401.135651 57.125647 +L 401.582211 54.889412 +L 401.828418 52.653176 +L 401.873159 50.416941 +L 401.716234 48.180706 +L 401.358349 45.944471 +L 400.801124 43.708235 +L 400.339329 42.338722 +L 400.046531 41.472 +L 397.94255 41.472 +L 395.545772 41.472 +L 393.148993 41.472 +L 390.752215 41.472 +L 388.355436 41.472 +L 385.958658 41.472 +L 383.561879 41.472 +L 381.165101 41.472 +L 378.768322 41.472 +L 376.371544 41.472 +L 376.35944 41.472 +L 376.371544 41.50166 +L 377.241412 43.708235 +L 377.892866 45.944471 +L 378.311268 48.180706 +L 378.494731 50.416941 +L 378.442423 52.653176 +L 378.154582 54.889412 +L 377.632509 57.125647 +L 376.878561 59.361882 +L 376.371544 60.515985 +L 375.879439 61.598118 +L 374.6306 63.834353 +L 373.974765 64.828591 +L 373.123119 66.070588 +L 371.577987 68.031946 +L 371.351852 68.306824 +L 369.282088 70.543059 +L 369.181208 70.641549 +L 366.883213 72.779294 +L 366.78443 72.863459 +L 364.387651 74.798569 +L 364.102335 75.015529 +L 361.990872 76.502745 +L 360.853975 77.251765 +L 359.594094 78.028076 +L 357.197315 79.398612 +L 357.027319 79.488 +L 354.800537 80.592388 +L 352.403758 81.673665 +L 352.2789 81.724235 +L 350.00698 82.59869 +L 347.610201 83.413498 +L 345.750022 83.960471 +L 345.213423 84.111435 +L 342.816644 84.678497 +L 340.419866 85.136683 +L 338.023087 85.484675 +L 335.626309 85.721469 +L 333.22953 85.846382 +L 330.832752 85.859055 +L 328.435973 85.759452 +L 326.039195 85.547858 +L 323.642416 85.224885 +L 321.245638 84.791462 +L 318.848859 84.248839 +L 317.785966 83.960471 +L 316.452081 83.582236 +L 314.055302 82.79207 +L 311.658523 81.893642 +L 311.25415 81.724235 +L 309.261745 80.845905 +L 306.864966 79.68116 +L 306.500297 79.488 +L 304.468188 78.346804 +L 302.662144 77.251765 +L 302.071409 76.868799 +L 299.674631 75.204831 +L 299.4182 75.015529 +L 297.277852 73.309712 +L 296.648013 72.779294 +L 294.881074 71.154598 +L 294.248118 70.543059 +L 292.484295 68.657186 +L 292.170844 68.306824 +L 290.392589 66.070588 +L 290.087517 65.629834 +L 288.893203 63.834353 +L 287.690738 61.699101 +L 287.635851 61.598118 +L 286.646099 59.361882 +L 285.88652 57.125647 +L 285.360548 54.889412 +L 285.29396 54.375922 +L 285.077476 52.653176 +L 285.02641 50.416941 +L 285.205518 48.180706 +L 285.29396 47.696522 +L 285.624219 45.944471 +L 286.280537 43.708235 +L 287.168682 41.472 +L 285.29396 41.472 +L 282.897181 41.472 +L 280.500403 41.472 +L 278.103624 41.472 +L 275.706846 41.472 +L 273.310067 41.472 +L 270.913289 41.472 +L 268.51651 41.472 +L 266.119732 41.472 +L 263.722953 41.472 +L 263.474645 41.472 +L 262.72047 43.708235 +L 262.163151 45.944471 +L 261.805207 48.180706 +L 261.648255 50.416941 +L 261.693004 52.653176 +L 261.939252 54.889412 +L 262.385886 57.125647 +L 263.030889 59.361882 +L 263.722953 61.203282 +L 263.871719 61.598118 +L 264.906425 63.834353 +L 266.119732 66.054369 +L 266.128644 66.070588 +L 267.54037 68.306824 +L 268.51651 69.681193 +L 269.133772 70.543059 +L 270.906143 72.779294 +L 270.913289 72.787551 +L 272.863248 75.015529 +L 273.310067 75.488411 +L 275.000346 77.251765 +L 275.706846 77.941096 +L 277.320278 79.488 +L 278.103624 80.196389 +L 279.828574 81.724235 +L 280.500403 82.289733 +L 282.533799 83.960471 +L 282.897181 84.246141 +L 285.29396 86.078875 +L 285.452979 86.196706 +L 287.690738 87.793077 +L 288.620066 88.432941 +L 290.087517 89.41129 +L 292.050787 90.669176 +L 292.484295 90.93958 +L 294.881074 92.369635 +L 295.824612 92.905412 +L 297.277852 93.712898 +L 299.674631 94.973231 +L 300.015191 95.141647 +L 302.071409 96.141551 +L 304.468188 97.229896 +L 304.820048 97.377882 +L 306.864966 98.22761 +L 309.261745 99.141337 +L 310.628826 99.614118 +L 311.658523 99.967573 +L 314.055302 100.70371 +L 316.452081 101.351142 +L 318.600728 101.850353 z -" style="fill:url(#hd8b53471b5);fill-opacity:0.5;"/> +" style="fill:url(#hc8e4ad36cd);fill-opacity:0.5;"/> </g> - <g id="PathCollection_4"> - <path clip-path="url(#p5b7831a9a7)" d="M 95.967785 388.8 -L 98.963758 388.8 -L 101.959732 388.8 -L 104.955705 388.8 -L 107.951678 388.8 -L 110.947651 388.8 -L 113.943624 388.8 -L 116.939597 388.8 -L 119.93557 388.8 -L 122.931544 388.8 -L 125.927517 388.8 -L 128.92349 388.8 -L 131.261751 388.8 -L 131.919463 388.32017 -L 134.915436 386.090475 -L 135.172681 385.895798 -L 137.911409 383.793453 -L 138.94188 382.991597 -L 140.907383 381.432731 -L 142.585824 380.087395 -L 143.903356 379.005648 -L 146.106235 377.183193 -L 146.899329 376.507572 -L 149.503186 374.278992 -L 149.895302 373.931496 -L 152.775163 371.37479 -L 152.891275 371.267417 -L 155.887248 368.499982 -L 155.919196 368.470588 -L 158.883221 365.611675 -L 158.9305 365.566387 -L 161.802006 362.662185 -L 161.879195 362.579104 -L 164.526175 359.757983 -L 164.875168 359.358572 -L 167.092129 356.853782 -L 167.871141 355.898819 -L 169.486821 353.94958 -L 170.867114 352.120602 -L 171.694257 351.045378 -L 173.698641 348.141176 -L 173.863087 347.87068 -L 175.500614 345.236975 -L 176.85906 342.697128 -L 177.059059 342.332773 -L 178.386986 339.428571 -L 179.442691 336.52437 -L 179.855034 334.986548 -L 180.232413 333.620168 -L 180.745586 330.715966 -L 180.967505 327.811765 -L 180.897169 324.907563 -L 180.534895 322.003361 -L 179.882318 319.09916 -L 179.855034 319.014855 -L 178.969005 316.194958 -L 177.781638 313.290756 -L 176.85906 311.451621 -L 176.338467 310.386555 -L 174.66275 307.482353 -L 173.863087 306.275493 -L 172.763425 304.578151 -L 170.867114 301.975634 -L 170.651464 301.67395 -L 168.354736 298.769748 -L 167.871141 298.209556 -L 165.879681 295.865546 -L 164.875168 294.770168 -L 163.237606 292.961345 -L 161.879195 291.557763 -L 160.441115 290.057143 -L 158.883221 288.523603 -L 157.500373 287.152941 -L 155.887248 285.633267 -L 154.423433 284.248739 -L 152.891275 282.862025 -L 151.21647 281.344538 -L 149.895302 280.191935 -L 147.883948 278.440336 -L 146.899329 277.609968 -L 144.42872 275.536134 -L 143.903356 275.10677 -L 140.907383 272.676791 -L 140.851489 272.631933 -L 137.911409 270.322806 -L 137.143361 269.727731 -L 134.915436 268.030186 -L 133.305084 266.823529 -L 131.919463 265.797644 -L 129.331423 263.919328 -L 128.92349 263.625439 -L 125.927517 261.516711 -L 125.195538 261.015126 -L 122.931544 259.468115 -L 120.883835 258.110924 -L 119.93557 257.481362 -L 116.939597 255.559637 -L 116.367718 255.206723 -L 113.943624 253.701427 -L 111.59137 252.302521 -L 110.947651 251.915527 -L 107.951678 250.19913 -L 106.476799 249.398319 -L 104.955705 248.559491 -L 101.959732 247.003168 -L 100.912265 246.494118 -L 98.963758 245.527689 -L 95.967785 244.148412 -L 94.648843 243.589916 -L 92.971812 242.861508 -L 89.975839 241.677481 -L 87.181583 240.685714 -L 86.979866 240.611885 -L 83.983893 239.642931 -L 80.987919 238.804363 -L 77.991946 238.098595 -L 76.328049 237.781513 -L 74.995973 237.518259 -L 72 237.067713 -L 72 237.781513 -L 72 240.685714 -L 72 243.589916 -L 72 246.494118 -L 72 249.398319 -L 72 252.302521 -L 72 255.206723 -L 72 258.110924 -L 72 259.632549 -L 74.995973 260.021431 -L 77.991946 260.532479 -L 80.280858 261.015126 -L 80.987919 261.164641 -L 83.983893 261.91738 -L 86.979866 262.787157 -L 89.975839 263.771467 -L 90.380021 263.919328 -L 92.971812 264.874493 -L 95.967785 266.087954 -L 97.638185 266.823529 -L 98.963758 267.414301 -L 101.959732 268.852794 -L 103.6645 269.727731 -L 104.955705 270.401589 -L 107.951678 272.061429 -L 108.92762 272.631933 -L 110.947651 273.838575 -L 113.655826 275.536134 -L 113.943624 275.72142 -L 116.939597 277.735415 -L 117.948459 278.440336 -L 119.93557 279.874091 -L 121.904549 281.344538 -L 122.931544 282.141094 -L 125.567295 284.248739 -L 125.927517 284.549759 -L 128.92349 287.121336 -L 128.959463 287.152941 -L 131.919463 289.889079 -L 132.097689 290.057143 -L 134.915436 292.873806 -L 135.001557 292.961345 -L 137.674218 295.865546 -L 137.911409 296.143749 -L 140.120058 298.769748 -L 140.907383 299.79159 -L 142.342485 301.67395 -L 143.903356 303.938973 -L 144.34049 304.578151 -L 146.106503 307.482353 -L 146.899329 308.979578 -L 147.640887 310.386555 -L 148.93757 313.290756 -L 149.895302 315.922646 -L 149.994218 316.194958 -L 150.804962 319.09916 -L 151.367846 322.003361 -L 151.680329 324.907563 -L 151.740998 327.811765 -L 151.54958 330.715966 -L 151.106938 333.620168 -L 150.415074 336.52437 -L 149.895302 338.133733 -L 149.476364 339.428571 -L 148.294434 342.332773 -L 146.899329 345.188306 -L 146.875439 345.236975 -L 145.218277 348.141176 -L 143.903356 350.171048 -L 143.332656 351.045378 -L 141.219717 353.94958 -L 140.907383 354.34045 -L 138.877703 356.853782 -L 137.911409 357.956597 -L 136.311412 359.757983 -L 134.915436 361.22162 -L 133.518311 362.662185 -L 131.919463 364.211249 -L 130.492615 365.566387 -L 128.92349 366.977843 -L 127.224904 368.470588 -L 125.927517 369.558153 -L 123.701549 371.37479 -L 122.931544 371.978093 -L 119.93557 374.254942 -L 119.902817 374.278992 -L 116.939597 376.38026 -L 115.762669 377.183193 -L 113.943624 378.388396 -L 111.266029 380.087395 -L 110.947651 380.284615 -L 107.951678 382.05317 -L 106.27432 382.991597 -L 104.955705 383.715397 -L 101.959732 385.264511 -L 100.654695 385.895798 -L 98.963758 386.702183 -L 95.967785 388.028351 -L 94.072483 388.8 + <g id="PathCollection_3"> + <path clip-path="url(#p85834bf349)" d="M 76.774228 307.584 +L 79.171007 307.584 +L 81.567785 307.584 +L 83.964564 307.584 +L 86.361342 307.584 +L 88.758121 307.584 +L 91.154899 307.584 +L 93.551678 307.584 +L 95.948456 307.584 +L 98.345235 307.584 +L 100.742013 307.584 +L 103.138792 307.584 +L 105.009401 307.584 +L 105.53557 307.214531 +L 107.932349 305.497665 +L 108.138145 305.347765 +L 110.329128 303.728959 +L 111.153504 303.111529 +L 112.725906 301.911203 +L 114.068659 300.875294 +L 115.122685 300.042349 +L 116.884988 298.639059 +L 117.519463 298.11883 +L 119.602548 296.402824 +L 119.916242 296.135252 +L 122.22013 294.166588 +L 122.31302 294.083911 +L 124.709799 291.952986 +L 124.735357 291.930353 +L 127.106577 289.72899 +L 127.1444 289.694118 +L 129.441605 287.457882 +L 129.503356 287.39391 +L 131.62094 285.221647 +L 131.900134 284.914101 +L 133.673703 282.985412 +L 134.296913 282.250091 +L 135.589457 280.749176 +L 136.693691 279.340863 +L 137.355406 278.512941 +L 138.958913 276.276706 +L 139.09047 276.068424 +L 140.400491 274.040471 +L 141.487248 272.084789 +L 141.647247 271.804235 +L 142.709588 269.568 +L 143.554153 267.331765 +L 143.884027 266.147642 +L 144.18593 265.095529 +L 144.596469 262.859294 +L 144.774004 260.623059 +L 144.717735 258.386824 +L 144.427916 256.150588 +L 143.905855 253.914353 +L 143.884027 253.849438 +L 143.175204 251.678118 +L 142.22531 249.441882 +L 141.487248 248.025748 +L 141.070773 247.205647 +L 139.7302 244.969412 +L 139.09047 244.040129 +L 138.21074 242.733176 +L 136.693691 240.729238 +L 136.521171 240.496941 +L 134.683788 238.260706 +L 134.296913 237.829358 +L 132.703745 236.024471 +L 131.900134 235.181029 +L 130.590085 233.788235 +L 129.503356 232.707477 +L 128.352892 231.552 +L 127.106577 230.371174 +L 126.000298 229.315765 +L 124.709799 228.145615 +L 123.538747 227.079529 +L 122.31302 226.011759 +L 120.973176 224.843294 +L 119.916242 223.95579 +L 118.307158 222.607059 +L 117.519463 221.967676 +L 115.542976 220.370824 +L 115.122685 220.040213 +L 112.725906 218.169129 +L 112.681191 218.134588 +L 110.329128 216.35656 +L 109.714689 215.898353 +L 107.932349 214.591243 +L 106.644067 213.662118 +L 105.53557 212.872186 +L 103.465138 211.425882 +L 103.138792 211.199588 +L 100.742013 209.575867 +L 100.15643 209.189647 +L 98.345235 207.998448 +L 96.707068 206.953412 +L 95.948456 206.468649 +L 93.551678 204.988921 +L 93.094174 204.717176 +L 91.154899 203.558098 +L 89.273096 202.480941 +L 88.758121 202.182956 +L 86.361342 200.86133 +L 85.181439 200.244706 +L 83.964564 199.598808 +L 81.567785 198.40044 +L 80.729812 198.008471 +L 79.171007 197.26432 +L 76.774228 196.202277 +L 75.719074 195.772235 +L 74.37745 195.211362 +L 71.980671 194.29966 +L 69.745266 193.536 +L 69.583893 193.479151 +L 67.187114 192.733057 +L 64.790336 192.087359 +L 62.393557 191.543918 +L 61.062439 191.299765 +L 59.996779 191.09706 +L 57.6 190.750139 +L 57.6 191.299765 +L 57.6 193.536 +L 57.6 195.772235 +L 57.6 198.008471 +L 57.6 200.244706 +L 57.6 202.480941 +L 57.6 204.717176 +L 57.6 206.953412 +L 57.6 208.125063 +L 59.996779 208.424502 +L 62.393557 208.818009 +L 64.224687 209.189647 +L 64.790336 209.304774 +L 67.187114 209.884382 +L 69.583893 210.554111 +L 71.980671 211.31203 +L 72.304017 211.425882 +L 74.37745 212.161359 +L 76.774228 213.095724 +L 78.110548 213.662118 +L 79.171007 214.117011 +L 81.567785 215.224652 +L 82.9316 215.898353 +L 83.964564 216.417224 +L 86.361342 217.6953 +L 87.142096 218.134588 +L 88.758121 219.063703 +L 90.924661 220.370824 +L 91.154899 220.513493 +L 93.551678 222.06427 +L 94.358767 222.607059 +L 95.948456 223.71105 +L 97.523639 224.843294 +L 98.345235 225.456642 +L 100.453836 227.079529 +L 100.742013 227.311315 +L 103.138792 229.291429 +L 103.167571 229.315765 +L 105.53557 231.422591 +L 105.678151 231.552 +L 107.932349 233.72083 +L 108.001246 233.788235 +L 110.139375 236.024471 +L 110.329128 236.238686 +L 112.096046 238.260706 +L 112.725906 239.047524 +L 113.873988 240.496941 +L 115.122685 242.241009 +L 115.472392 242.733176 +L 116.885202 244.969412 +L 117.519463 246.122275 +L 118.11271 247.205647 +L 119.150056 249.441882 +L 119.916242 251.468437 +L 119.995375 251.678118 +L 120.643969 253.914353 +L 121.094277 256.150588 +L 121.344263 258.386824 +L 121.392799 260.623059 +L 121.239664 262.859294 +L 120.885551 265.095529 +L 120.332059 267.331765 +L 119.916242 268.570974 +L 119.581091 269.568 +L 118.635547 271.804235 +L 117.519463 274.002995 +L 117.500352 274.040471 +L 116.174622 276.276706 +L 115.122685 277.839707 +L 114.666124 278.512941 +L 112.975774 280.749176 +L 112.725906 281.050146 +L 111.102163 282.985412 +L 110.329128 283.834579 +L 109.04913 285.221647 +L 107.932349 286.348647 +L 106.814648 287.457882 +L 105.53557 288.650661 +L 104.394092 289.694118 +L 103.138792 290.780939 +L 101.779923 291.930353 +L 100.742013 292.767778 +L 98.961239 294.166588 +L 98.345235 294.631132 +L 95.948456 296.384306 +L 95.922253 296.402824 +L 93.551678 298.0208 +L 92.610135 298.639059 +L 91.154899 299.567065 +L 89.012824 300.875294 +L 88.758121 301.027154 +L 86.361342 302.388941 +L 85.019456 303.111529 +L 83.964564 303.668855 +L 81.567785 304.861673 +L 80.523756 305.347765 +L 79.171007 305.968681 +L 76.774228 306.98983 +L 75.257986 307.584 z -" style="fill:url(#h1db1a097b2);fill-opacity:0.5;"/> - <path clip-path="url(#p5b7831a9a7)" d="M 344.633557 386.651674 -L 347.533727 388.8 -L 347.62953 388.8 -L 350.625503 388.8 -L 353.621477 388.8 -L 356.61745 388.8 -L 359.613423 388.8 -L 362.609396 388.8 -L 365.605369 388.8 -L 368.601342 388.8 -L 371.597315 388.8 -L 374.593289 388.8 -L 377.589262 388.8 -L 380.585235 388.8 -L 383.581208 388.8 -L 384.728208 388.8 -L 383.581208 388.343411 -L 380.585235 387.043496 -L 378.135259 385.895798 -L 377.589262 385.636353 -L 374.593289 384.111798 -L 372.523031 382.991597 -L 371.597315 382.481064 -L 368.601342 380.735143 -L 367.543504 380.087395 -L 365.605369 378.871739 -L 363.030256 377.183193 -L 362.609396 376.89903 -L 359.613423 374.79411 -L 358.90579 374.278992 -L 356.61745 372.554176 -L 355.101199 371.37479 -L 353.621477 370.175919 -L 351.574156 368.470588 -L 350.625503 367.642185 -L 348.305096 365.566387 -L 347.62953 364.928293 -L 345.27963 362.662185 -L 344.633557 361.999132 -L 342.487697 359.757983 -L 341.637584 358.804576 -L 339.922956 356.853782 -L 338.641611 355.272036 -L 337.58237 353.94958 -L 335.645638 351.293851 -L 335.46594 351.045378 -L 333.58158 348.141176 -L 332.649664 346.510632 -L 331.925648 345.236975 -L 330.505491 342.332773 -L 329.653691 340.241636 -L 329.323328 339.428571 -L 328.385201 336.52437 -L 327.693215 333.620168 -L 327.250496 330.715966 -L 327.059043 327.811765 -L 327.119723 324.907563 -L 327.432261 322.003361 -L 327.995244 319.09916 -L 328.806131 316.194958 -L 329.653691 313.862072 -L 329.861777 313.290756 -L 331.159624 310.386555 -L 332.649664 307.562003 -L 332.69191 307.482353 -L 334.460795 304.578151 -L 335.645638 302.848486 -L 336.456947 301.67395 -L 338.641611 298.815184 -L 338.676728 298.769748 -L 341.126979 295.865546 -L 341.637584 295.304858 -L 343.802647 292.961345 -L 344.633557 292.120029 -L 346.706911 290.057143 -L 347.62953 289.19119 -L 349.846705 287.152941 -L 350.625503 286.47247 -L 353.23276 284.248739 -L 353.621477 283.931491 -L 356.61745 281.553149 -L 356.888634 281.344538 -L 359.613423 279.326324 -L 360.852777 278.440336 -L 362.609396 277.224244 -L 365.146744 275.536134 -L 365.605369 275.239054 -L 368.601342 273.382684 -L 369.874463 272.631933 -L 371.597315 271.637699 -L 374.593289 270.001494 -L 375.126306 269.727731 -L 377.589262 268.483711 -L 380.585235 267.070658 -L 381.15094 266.823529 -L 383.581208 265.774524 -L 386.577181 264.588082 -L 388.438759 263.919328 -L 389.573154 263.514802 -L 392.569128 262.558872 -L 395.565101 261.718132 -L 398.477715 261.015126 -L 398.561074 260.995063 -L 401.557047 260.393338 -L 404.55302 259.912708 -L 407.548993 259.554556 -L 410.544966 259.319916 -L 413.54094 259.209464 -L 416.536913 259.223517 -L 419.532886 259.362036 -L 422.528859 259.624621 -L 425.524832 260.010516 -L 428.520805 260.518608 -L 430.886417 261.015126 -L 431.516779 261.147807 -L 434.512752 261.89767 -L 437.508725 262.764629 -L 440.504698 263.746185 -L 440.979151 263.919328 -L 443.500671 264.846322 -L 446.496644 266.057164 -L 448.240309 266.823529 -L 449.492617 267.380578 -L 452.488591 268.816607 -L 454.266597 269.727731 -L 455.484564 270.362392 -L 458.480537 272.019945 -L 459.528741 272.631933 -L 461.47651 273.793971 -L 464.258935 275.536134 -L 464.472483 275.673465 -L 467.468456 277.685456 -L 468.549779 278.440336 -L 470.46443 279.820581 -L 472.506672 281.344538 -L 473.460403 282.083684 -L 476.169836 284.248739 -L 476.456376 284.48802 -L 479.452349 287.05803 -L 479.560436 287.152941 -L 482.448322 289.821016 -L 482.698839 290.057143 -L 485.444295 292.800319 -L 485.602772 292.961345 -L 488.27642 295.865546 -L 488.440268 296.057654 -L 490.722001 298.769748 -L 491.436242 299.696464 -L 492.944202 301.67395 -L 494.432215 303.832768 -L 494.942059 304.578151 -L 496.708337 307.482353 -L 497.428188 308.841563 -L 498.242553 310.386555 -L 499.539339 313.290756 -L 500.424161 315.722095 -L 500.595928 316.194958 -L 501.406679 319.09916 -L 501.969569 322.003361 -L 502.282055 324.907563 -L 502.342725 327.811765 -L 502.151304 330.715966 -L 501.708659 333.620168 -L 501.016788 336.52437 -L 500.424161 338.359296 -L 500.078175 339.428571 -L 498.896151 342.332773 -L 497.477156 345.236975 -L 497.428188 345.323187 -L 495.819978 348.141176 -L 494.432215 350.283174 -L 493.934592 351.045378 -L 491.821185 353.94958 -L 491.436242 354.431209 -L 489.47928 356.853782 -L 488.440268 358.039239 -L 486.91311 359.757983 -L 485.444295 361.297421 -L 484.120094 362.662185 -L 482.448322 364.28118 -L 481.094394 365.566387 -L 479.452349 367.042659 -L 477.826526 368.470588 -L 476.456376 369.618449 -L 474.30279 371.37479 -L 473.460403 372.034344 -L 470.504468 374.278992 -L 470.46443 374.308355 -L 467.468456 376.430962 -L 466.364747 377.183193 -L 464.472483 378.43566 -L 461.866481 380.087395 -L 461.47651 380.328695 -L 458.480537 382.095062 -L 456.875846 382.991597 -L 455.484564 383.754232 -L 452.488591 385.300969 -L 451.256811 385.895798 -L 449.492617 386.735678 -L 446.496644 388.059301 -L 444.673425 388.8 -L 446.496644 388.8 -L 449.492617 388.8 -L 452.488591 388.8 -L 455.484564 388.8 -L 458.480537 388.8 -L 461.47651 388.8 -L 464.472483 388.8 -L 467.468456 388.8 -L 470.46443 388.8 -L 473.460403 388.8 -L 476.456376 388.8 -L 479.452349 388.8 -L 481.863935 388.8 -L 482.448322 388.373888 -L 485.444295 386.145187 -L 485.773959 385.895798 -L 488.440268 383.8498 -L 489.543476 382.991597 -L 491.436242 381.490862 -L 493.187594 380.087395 -L 494.432215 379.065738 -L 496.708068 377.183193 -L 497.428188 376.56983 -L 500.104999 374.278992 -L 500.424161 373.996171 -L 503.376898 371.37479 -L 503.420134 371.334809 -L 506.416107 368.567205 -L 506.521107 368.470588 -L 509.412081 365.681769 -L 509.53251 365.566387 -L 512.403434 362.662185 -L 512.408054 362.657211 -L 515.127571 359.757983 -L 515.404027 359.441502 -L 517.693588 356.853782 -L 518.4 355.987514 -L 518.4 353.94958 -L 518.4 351.045378 -L 518.4 348.141176 -L 518.4 345.236975 -L 518.4 342.332773 -L 518.4 339.428571 -L 518.4 336.52437 -L 518.4 333.620168 -L 518.4 330.715966 -L 518.4 327.811765 -L 518.4 324.907563 -L 518.4 322.003361 -L 518.4 319.09916 -L 518.4 316.194958 -L 518.4 313.290756 -L 518.4 310.386555 -L 518.4 307.482353 -L 518.4 304.578151 -L 518.4 301.67395 -L 518.4 298.769748 -L 518.4 298.124395 -L 516.481563 295.865546 -L 515.404027 294.690128 -L 513.839357 292.961345 -L 512.408054 291.48204 -L 511.042818 290.057143 -L 509.412081 288.451572 -L 508.102076 287.152941 -L 506.416107 285.564434 -L 505.025152 284.248739 -L 503.420134 282.795993 -L 501.818192 281.344538 -L 500.424161 280.12838 -L 498.485633 278.440336 -L 497.428188 277.548622 -L 495.030302 275.536134 -L 494.432215 275.047409 -L 491.453463 272.631933 -L 491.436242 272.618267 -L 488.440268 270.265934 -L 487.745367 269.727731 -L 485.444295 267.9751 -L 483.906773 266.823529 -L 482.448322 265.744204 -L 479.932591 263.919328 -L 479.452349 263.573527 -L 476.456376 261.466084 -L 475.79782 261.015126 -L 473.460403 259.419057 -L 471.485152 258.110924 -L 470.46443 257.433792 -L 467.468456 255.513775 -L 466.970399 255.206723 -L 464.472483 253.657128 -L 462.192183 252.302521 -L 461.47651 251.872747 -L 458.480537 250.158474 -L 457.078604 249.398319 -L 455.484564 248.520476 -L 452.488591 246.966541 -L 451.514823 246.494118 -L 449.492617 245.492853 -L 446.496644 244.116223 -L 445.251031 243.589916 -L 443.500671 242.831299 -L 440.504698 241.650168 -L 437.779771 240.685714 -L 437.508725 240.586787 -L 434.512752 239.620974 -L 431.516779 238.785609 -L 428.520805 238.083099 -L 426.929019 237.781513 -L 425.524832 237.505613 -L 422.528859 237.058528 -L 419.532886 236.754306 -L 416.536913 236.593822 -L 413.54094 236.57754 -L 410.544966 236.705507 -L 407.548993 236.977353 -L 404.55302 237.392296 -L 402.458924 237.781513 -L 401.557047 237.943151 -L 398.561074 238.615385 -L 395.565101 239.420965 -L 392.569128 240.357569 -L 391.645954 240.685714 -L 389.573154 241.400202 -L 386.577181 242.55437 -L 384.138722 243.589916 -L 383.581208 243.820734 -L 380.585235 245.172708 -L 377.873051 246.494118 -L 377.589262 246.629595 -L 374.593289 248.161245 -L 372.317627 249.398319 -L 371.597315 249.783856 -L 368.601342 251.478287 -L 367.214379 252.302521 -L 365.605369 253.248412 -L 362.609396 255.089653 -L 362.426331 255.206723 -L 359.613423 256.994399 -L 357.917783 258.110924 -L 356.61745 258.965702 -L 353.621477 260.998055 -L 353.596998 261.015126 -L 350.625503 263.09336 -L 349.472693 263.919328 -L 347.62953 265.249698 -L 345.493856 266.823529 -L 344.633557 267.465154 -L 341.652511 269.727731 -L 341.637584 269.739252 -L 338.641611 272.084965 -L 337.95088 272.631933 -L 335.645638 274.497262 -L 334.372422 275.536134 -L 332.649664 276.979872 -L 330.916346 278.440336 -L 329.653691 279.538939 -L 327.583664 281.344538 -L 326.657718 282.18336 -L 324.376958 284.248739 -L 323.661745 284.925582 -L 321.300417 287.152941 -L 320.665772 287.782792 -L 318.359922 290.057143 -L 317.669799 290.778721 -L 315.563206 292.961345 -L 314.673826 293.946439 -L 312.920071 295.865546 -L 311.677852 297.332809 -L 310.442696 298.769748 -L 308.681879 301.005855 -L 308.146049 301.67395 -L 306.040671 304.578151 -L 305.685906 305.128531 -L 304.135501 307.482353 -L 302.689933 310.002601 -L 302.464116 310.386555 -L 301.017165 313.290756 -L 299.837868 316.194958 -L 299.69396 316.656099 -L 298.909383 319.09916 -L 298.261847 322.003361 -L 297.902371 324.907563 -L 297.832577 327.811765 -L 298.052783 330.715966 -L 298.561993 333.620168 -L 299.357906 336.52437 -L 299.69396 337.428865 -L 300.415932 339.428571 -L 301.734832 342.332773 -L 302.689933 344.084674 -L 303.302597 345.236975 -L 305.097618 348.141176 -L 305.685906 348.979582 -L 307.104405 351.045378 -L 308.681879 353.106449 -L 309.315452 353.94958 -L 311.677852 356.811941 -L 311.711864 356.853782 -L 314.273348 359.757983 -L 314.673826 360.180828 -L 316.995634 362.662185 -L 317.669799 363.339193 -L 319.867517 365.566387 -L 320.665772 366.332568 -L 322.879587 368.470588 -L 323.661745 369.191119 -L 326.024458 371.37479 -L 326.657718 371.93668 -L 329.29655 374.278992 -L 329.653691 374.585153 -L 332.649664 377.147035 -L 332.692179 377.183193 -L 335.645638 379.622639 -L 336.213033 380.087395 -L 338.641611 382.029403 -L 339.858579 382.991597 -L 341.637584 384.37162 -L 343.630857 385.895798 +" style="fill:url(#h8124db33bb);fill-opacity:0.5;"/> + <path clip-path="url(#p85834bf349)" d="M 275.706846 305.929789 +L 278.026981 307.584 +L 278.103624 307.584 +L 280.500403 307.584 +L 282.897181 307.584 +L 285.29396 307.584 +L 287.690738 307.584 +L 290.087517 307.584 +L 292.484295 307.584 +L 294.881074 307.584 +L 297.277852 307.584 +L 299.674631 307.584 +L 302.071409 307.584 +L 304.468188 307.584 +L 306.864966 307.584 +L 307.782566 307.584 +L 306.864966 307.232427 +L 304.468188 306.231492 +L 302.508207 305.347765 +L 302.071409 305.147992 +L 299.674631 303.974085 +L 298.018425 303.111529 +L 297.277852 302.718419 +L 294.881074 301.37406 +L 294.034803 300.875294 +L 292.484295 299.939239 +L 290.424205 298.639059 +L 290.087517 298.420253 +L 287.690738 296.799465 +L 287.124632 296.402824 +L 285.29396 295.074715 +L 284.080959 294.166588 +L 282.897181 293.243457 +L 281.259325 291.930353 +L 280.500403 291.292482 +L 278.644077 289.694118 +L 278.103624 289.202786 +L 276.223704 287.457882 +L 275.706846 286.947332 +L 273.990158 285.221647 +L 273.310067 284.487524 +L 271.938364 282.985412 +L 270.913289 281.767468 +L 270.065896 280.749176 +L 268.51651 278.704265 +L 268.372752 278.512941 +L 266.865264 276.276706 +L 266.119732 275.021186 +L 265.540519 274.040471 +L 264.404393 271.804235 +L 263.722953 270.19406 +L 263.458663 269.568 +L 262.708161 267.331765 +L 262.154572 265.095529 +L 261.800396 262.859294 +L 261.647235 260.623059 +L 261.695779 258.386824 +L 261.945809 256.150588 +L 262.396196 253.914353 +L 263.044904 251.678118 +L 263.722953 249.881795 +L 263.889421 249.441882 +L 264.9277 247.205647 +L 266.119732 245.030742 +L 266.153528 244.969412 +L 267.568636 242.733176 +L 268.51651 241.401334 +L 269.165557 240.496941 +L 270.913289 238.295691 +L 270.941382 238.260706 +L 272.901583 236.024471 +L 273.310067 235.59274 +L 275.042118 233.788235 +L 275.706846 233.140422 +L 277.365529 231.552 +L 278.103624 230.885216 +L 279.877364 229.315765 +L 280.500403 228.791802 +L 282.586208 227.079529 +L 282.897181 226.835248 +L 285.29396 225.003925 +L 285.510907 224.843294 +L 287.690738 223.28927 +L 288.682221 222.607059 +L 290.087517 221.670668 +L 292.117395 220.370824 +L 292.484295 220.142071 +L 294.881074 218.712667 +L 295.89957 218.134588 +L 297.277852 217.369028 +L 299.674631 216.10915 +L 300.101045 215.898353 +L 302.071409 214.940457 +L 304.468188 213.852407 +L 304.920752 213.662118 +L 306.864966 212.854383 +L 309.261745 211.940823 +L 310.751007 211.425882 +L 311.658523 211.114397 +L 314.055302 210.378331 +L 316.452081 209.730962 +L 318.782172 209.189647 +L 318.848859 209.174198 +L 321.245638 208.71087 +L 323.642416 208.340785 +L 326.039195 208.065008 +L 328.435973 207.884335 +L 330.832752 207.799287 +L 333.22953 207.810108 +L 335.626309 207.916768 +L 338.023087 208.118958 +L 340.419866 208.416097 +L 342.816644 208.807328 +L 344.709134 209.189647 +L 345.213423 209.291812 +L 347.610201 209.869206 +L 350.00698 210.536764 +L 352.403758 211.292562 +L 352.783321 211.425882 +L 354.800537 212.139668 +L 357.197315 213.072016 +L 358.592247 213.662118 +L 359.594094 214.091045 +L 361.990872 215.196788 +L 363.413277 215.898353 +L 364.387651 216.387042 +L 366.78443 217.663358 +L 367.622993 218.134588 +L 369.181208 219.029357 +L 371.407148 220.370824 +L 371.577987 220.476568 +L 373.974765 222.025801 +L 374.839823 222.607059 +L 376.371544 223.669847 +L 378.005338 224.843294 +L 378.768322 225.412437 +L 380.935869 227.079529 +L 381.165101 227.263775 +L 383.561879 229.242683 +L 383.648349 229.315765 +L 385.958658 231.370182 +L 386.159071 231.552 +L 388.355436 233.664245 +L 388.482218 233.788235 +L 390.621136 236.024471 +L 390.752215 236.172393 +L 392.577601 238.260706 +L 393.148993 238.974277 +L 394.355362 240.496941 +L 395.545772 242.159232 +L 395.953647 242.733176 +L 397.36667 244.969412 +L 397.94255 246.016003 +L 398.594042 247.205647 +L 399.631471 249.441882 +L 400.339329 251.314013 +L 400.476743 251.678118 +L 401.125344 253.914353 +L 401.575655 256.150588 +L 401.825644 258.386824 +L 401.87418 260.623059 +L 401.721043 262.859294 +L 401.366927 265.095529 +L 400.81343 267.331765 +L 400.339329 268.744658 +L 400.06254 269.568 +L 399.116921 271.804235 +L 397.981725 274.040471 +L 397.94255 274.106854 +L 396.655982 276.276706 +L 395.545772 277.926044 +L 395.147674 278.512941 +L 393.456948 280.749176 +L 393.148993 281.120031 +L 391.583424 282.985412 +L 390.752215 283.898214 +L 389.530488 285.221647 +L 388.355436 286.407014 +L 387.296076 287.457882 +L 385.958658 288.704509 +L 384.875516 289.694118 +L 383.561879 290.830848 +L 382.261221 291.930353 +L 381.165101 292.814206 +L 379.442232 294.166588 +L 378.768322 294.674445 +L 376.403574 296.402824 +L 376.371544 296.425433 +L 373.974765 298.05984 +L 373.091798 298.639059 +L 371.577987 299.603458 +L 369.493185 300.875294 +L 369.181208 301.061095 +L 366.78443 302.421198 +L 365.500677 303.111529 +L 364.387651 303.698759 +L 361.990872 304.889746 +L 361.005449 305.347765 +L 359.594094 305.994472 +L 357.197315 307.013662 +L 355.73874 307.584 +L 357.197315 307.584 +L 359.594094 307.584 +L 361.990872 307.584 +L 364.387651 307.584 +L 366.78443 307.584 +L 369.181208 307.584 +L 371.577987 307.584 +L 373.974765 307.584 +L 376.371544 307.584 +L 378.768322 307.584 +L 381.165101 307.584 +L 383.561879 307.584 +L 385.491148 307.584 +L 385.958658 307.255894 +L 388.355436 305.539794 +L 388.619167 305.347765 +L 390.752215 303.772346 +L 391.634781 303.111529 +L 393.148993 301.955964 +L 394.550076 300.875294 +L 395.545772 300.088618 +L 397.366455 298.639059 +L 397.94255 298.166769 +L 400.083999 296.402824 +L 400.339329 296.185052 +L 402.701519 294.166588 +L 402.736107 294.135803 +L 405.132886 292.004748 +L 405.216886 291.930353 +L 407.529664 289.782962 +L 407.626008 289.694118 +L 409.922747 287.457882 +L 409.926443 287.454052 +L 412.102057 285.221647 +L 412.323221 284.977956 +L 414.15487 282.985412 +L 414.72 282.318386 +L 414.72 280.749176 +L 414.72 278.512941 +L 414.72 276.276706 +L 414.72 274.040471 +L 414.72 271.804235 +L 414.72 269.568 +L 414.72 267.331765 +L 414.72 265.095529 +L 414.72 262.859294 +L 414.72 260.623059 +L 414.72 258.386824 +L 414.72 256.150588 +L 414.72 253.914353 +L 414.72 251.678118 +L 414.72 249.441882 +L 414.72 247.205647 +L 414.72 244.969412 +L 414.72 242.733176 +L 414.72 240.496941 +L 414.72 238.260706 +L 414.72 237.763784 +L 413.185251 236.024471 +L 412.323221 235.119399 +L 411.071486 233.788235 +L 409.926443 232.649171 +L 408.834254 231.552 +L 407.529664 230.31571 +L 406.481661 229.315765 +L 405.132886 228.092614 +L 404.020121 227.079529 +L 402.736107 225.960915 +L 401.454553 224.843294 +L 400.339329 223.906853 +L 398.788506 222.607059 +L 397.94255 221.920439 +L 396.024241 220.370824 +L 395.545772 219.994505 +L 393.16277 218.134588 +L 393.148993 218.124065 +L 390.752215 216.312769 +L 390.196294 215.898353 +L 388.355436 214.548827 +L 387.125418 213.662118 +L 385.958658 212.831037 +L 383.946073 211.425882 +L 383.561879 211.159616 +L 381.165101 209.536884 +L 380.638256 209.189647 +L 378.768322 207.960674 +L 377.188121 206.953412 +L 376.371544 206.43202 +L 373.974765 204.953607 +L 373.576319 204.717176 +L 371.577987 203.523989 +L 369.753747 202.480941 +L 369.181208 202.150016 +L 366.78443 200.830025 +L 365.662883 200.244706 +L 364.387651 199.568766 +L 361.990872 198.372237 +L 361.211859 198.008471 +L 359.594094 197.237497 +L 357.197315 196.177491 +L 356.200825 195.772235 +L 354.800537 195.188101 +L 352.403758 194.278629 +L 350.223817 193.536 +L 350.00698 193.459826 +L 347.610201 192.71615 +L 345.213423 192.072919 +L 342.816644 191.531986 +L 341.543215 191.299765 +L 340.419866 191.087322 +L 338.023087 190.743067 +L 335.626309 190.508815 +L 333.22953 190.385243 +L 330.832752 190.372706 +L 328.435973 190.47124 +L 326.039195 190.680562 +L 323.642416 191.000068 +L 321.96714 191.299765 +L 321.245638 191.424226 +L 318.848859 191.941846 +L 316.452081 192.562143 +L 314.055302 193.283328 +L 313.316763 193.536 +L 311.658523 194.086155 +L 309.261745 194.974865 +L 307.310978 195.772235 +L 306.864966 195.949965 +L 304.468188 196.990985 +L 302.298441 198.008471 +L 302.071409 198.112788 +L 299.674631 199.292159 +L 297.854102 200.244706 +L 297.277852 200.541569 +L 294.881074 201.846281 +L 293.771503 202.480941 +L 292.484295 203.209278 +L 290.087517 204.627032 +L 289.941065 204.717176 +L 287.690738 206.093687 +L 286.334226 206.953412 +L 285.29396 207.61159 +L 282.897181 209.176502 +L 282.877599 209.189647 +L 280.500403 210.789887 +L 279.578154 211.425882 +L 278.103624 212.450267 +L 276.395085 213.662118 +L 275.706846 214.156169 +L 273.322009 215.898353 +L 273.310067 215.907224 +L 270.913289 217.713423 +L 270.360704 218.134588 +L 268.51651 219.570892 +L 267.497938 220.370824 +L 266.119732 221.482502 +L 264.733077 222.607059 +L 263.722953 223.452983 +L 262.066931 224.843294 +L 261.326174 225.489187 +L 259.501566 227.079529 +L 258.929396 227.600698 +L 257.040333 229.315765 +L 256.532617 229.80075 +L 254.687938 231.552 +L 254.135839 232.107615 +L 252.450565 233.788235 +L 251.73906 234.546758 +L 250.336057 236.024471 +L 249.342282 237.154263 +L 248.354157 238.260706 +L 246.945503 239.982508 +L 246.516839 240.496941 +L 244.832536 242.733176 +L 244.548725 243.156969 +L 243.308401 244.969412 +L 242.151946 246.910003 +L 241.971292 247.205647 +L 240.813732 249.441882 +L 239.870294 251.678118 +L 239.755168 252.033196 +L 239.127506 253.914353 +L 238.609478 256.150588 +L 238.321896 258.386824 +L 238.266062 260.623059 +L 238.442227 262.859294 +L 238.849594 265.095529 +L 239.486325 267.331765 +L 239.755168 268.028226 +L 240.332745 269.568 +L 241.387865 271.804235 +L 242.151946 273.153199 +L 242.642078 274.040471 +L 244.078095 276.276706 +L 244.548725 276.922278 +L 245.683524 278.512941 +L 246.945503 280.099966 +L 247.452361 280.749176 +L 249.342282 282.953195 +L 249.369491 282.985412 +L 251.418678 285.221647 +L 251.73906 285.547238 +L 253.596507 287.457882 +L 254.135839 287.979178 +L 255.894014 289.694118 +L 256.532617 290.284077 +L 258.30367 291.930353 +L 258.929396 292.485161 +L 260.819566 294.166588 +L 261.326174 294.599243 +L 263.43724 296.402824 +L 263.722953 296.638568 +L 266.119732 298.611217 +L 266.153743 298.639059 +L 268.51651 300.517432 +L 268.970426 300.875294 +L 270.913289 302.37064 +L 271.886863 303.111529 +L 273.310067 304.174147 +L 274.904686 305.347765 z -" style="fill:url(#h1db1a097b2);fill-opacity:0.5;"/> - <path clip-path="url(#p5b7831a9a7)" d="M 74.995973 145.165775 -L 76.609888 144.847059 -L 77.991946 144.583851 -L 80.987919 143.878527 -L 83.983893 143.040486 -L 86.979866 142.072142 -L 87.333318 141.942857 -L 89.975839 141.00544 -L 92.971812 139.822035 -L 94.776355 139.038655 -L 95.967785 138.53437 -L 98.963758 137.155685 -L 101.02364 136.134454 -L 101.959732 135.679682 -L 104.955705 134.123882 -L 106.57672 133.230252 -L 107.951678 132.483879 -L 110.947651 130.767906 -L 111.682807 130.32605 -L 113.943624 128.981737 -L 116.456033 127.421849 -L 116.939597 127.123456 -L 119.93557 125.201873 -L 120.966247 124.517647 -L 122.931544 123.215063 -L 125.275426 121.613445 -L 125.927517 121.16656 -L 128.92349 119.057629 -L 129.40702 118.709244 -L 131.919463 116.88546 -L 133.378472 115.805042 -L 134.915436 114.653065 -L 137.214503 112.90084 -L 137.911409 112.36069 -L 140.907383 110.006815 -L 140.920199 109.996639 -L 143.903356 107.575954 -L 144.494711 107.092437 -L 146.899329 105.07288 -L 147.947727 104.188235 -L 149.895302 102.491063 -L 151.277947 101.284034 -L 152.891275 99.821123 -L 154.482508 98.379832 -L 155.887248 97.049995 -L 157.556937 95.47563 -L 158.883221 94.159686 -L 160.495047 92.571429 -L 161.879195 91.125389 -L 163.288773 89.667227 -L 164.875168 87.912566 -L 165.927935 86.763025 -L 167.871141 84.472289 -L 168.399911 83.858824 -L 170.69258 80.954622 -L 170.867114 80.709956 -L 172.801008 78.05042 -L 173.863087 76.407162 -L 174.696589 75.146218 -L 176.367553 72.242017 -L 176.85906 71.232986 -L 177.806477 69.337815 -L 178.98872 66.433613 -L 179.855034 63.66062 -L 179.897256 63.529412 -L 180.544395 60.62521 -L 180.901189 57.721008 -L 180.966027 54.816807 -L 180.738616 51.912605 -L 180.219982 49.008403 -L 179.855034 47.695872 -L 179.425377 46.104202 -L 178.364503 43.2 -L 176.85906 43.2 -L 173.863087 43.2 -L 170.867114 43.2 -L 167.871141 43.2 -L 164.875168 43.2 -L 161.879195 43.2 -L 158.883221 43.2 -L 155.887248 43.2 -L 152.891275 43.2 -L 149.895302 43.2 -L 149.456354 43.2 -L 149.895302 44.550077 -L 150.399691 46.104202 -L 151.096217 49.008403 -L 151.543568 51.912605 -L 151.739723 54.816807 -L 151.683797 57.721008 -L 151.376041 60.62521 -L 150.817846 63.529412 -L 150.011734 66.433613 -L 149.895302 66.755536 -L 148.959678 69.337815 -L 147.667456 72.242017 -L 146.899329 73.703549 -L 146.137558 75.146218 -L 144.375766 78.05042 -L 143.903356 78.742594 -L 142.382123 80.954622 -L 140.907383 82.892397 -L 140.164072 83.858824 -L 137.911409 86.541278 -L 137.722642 86.763025 -L 135.05357 89.667227 -L 134.915436 89.807799 -L 132.153989 92.571429 -L 131.919463 92.792809 -L 129.020116 95.47563 -L 128.92349 95.560598 -L 125.927517 98.134468 -L 125.634159 98.379832 -L 122.931544 100.542609 -L 121.976365 101.284034 -L 119.93557 102.809116 -L 118.025438 104.188235 -L 116.939597 104.947363 -L 113.943624 106.962473 -L 113.741867 107.092437 -L 110.947651 108.844726 -L 109.020119 109.996639 -L 107.951678 110.621439 -L 104.955705 112.281878 -L 103.770116 112.90084 -L 101.959732 113.830234 -L 98.963758 115.269117 -L 97.761573 115.805042 -L 95.967785 116.595097 -L 92.971812 117.80878 -L 90.528896 118.709244 -L 89.975839 118.911586 -L 86.979866 119.895991 -L 83.983893 120.765853 -L 80.987919 121.518664 -L 80.539739 121.613445 -L 77.991946 122.150687 -L 74.995973 122.661741 -L 72 123.050627 -L 72 124.517647 -L 72 127.421849 -L 72 130.32605 -L 72 133.230252 -L 72 136.134454 -L 72 139.038655 -L 72 141.942857 -L 72 144.847059 -L 72 145.615989 +" style="fill:url(#h8124db33bb);fill-opacity:0.5;"/> + <path clip-path="url(#p85834bf349)" d="M 59.996779 119.985647 +L 61.28791 119.740235 +L 62.393557 119.537565 +L 64.790336 118.994466 +L 67.187114 118.349174 +L 69.583893 117.603549 +L 69.866654 117.504 +L 71.980671 116.782189 +L 74.37745 115.870967 +L 75.821084 115.267765 +L 76.774228 114.879465 +L 79.171007 113.817877 +L 80.818912 113.031529 +L 81.567785 112.681355 +L 83.964564 111.483389 +L 85.261376 110.795294 +L 86.361342 110.220587 +L 88.758121 108.899287 +L 89.346245 108.559059 +L 91.154899 107.523938 +L 93.164826 106.322824 +L 93.551678 106.093061 +L 95.948456 104.613442 +L 96.772998 104.086588 +L 98.345235 103.083599 +L 100.220341 101.850353 +L 100.742013 101.506251 +L 103.138792 99.882374 +L 103.525616 99.614118 +L 105.53557 98.209804 +L 106.702778 97.377882 +L 107.932349 96.49086 +L 109.771602 95.141647 +L 110.329128 94.725732 +L 112.725906 92.913248 +L 112.736159 92.905412 +L 115.122685 91.041485 +L 115.595769 90.669176 +L 117.519463 89.114117 +L 118.358181 88.432941 +L 119.916242 87.126118 +L 121.022357 86.196706 +L 122.31302 85.070264 +L 123.586006 83.960471 +L 124.709799 82.936496 +L 126.04555 81.724235 +L 127.106577 80.710958 +L 128.396038 79.488 +L 129.503356 78.37455 +L 130.631019 77.251765 +L 131.900134 75.900676 +L 132.742348 75.015529 +L 134.296913 73.251663 +L 134.719929 72.779294 +L 136.554064 70.543059 +L 136.693691 70.354666 +L 138.240807 68.306824 +L 139.09047 67.041515 +L 139.757271 66.070588 +L 141.094042 63.834353 +L 141.487248 63.057399 +L 142.245181 61.598118 +L 143.190976 59.361882 +L 143.884027 57.226677 +L 143.917805 57.125647 +L 144.435516 54.889412 +L 144.720951 52.653176 +L 144.772822 50.416941 +L 144.590893 48.180706 +L 144.175986 45.944471 +L 143.884027 44.933822 +L 143.540302 43.708235 +L 142.691603 41.472 +L 141.487248 41.472 +L 139.09047 41.472 +L 136.693691 41.472 +L 134.296913 41.472 +L 131.900134 41.472 +L 129.503356 41.472 +L 127.106577 41.472 +L 124.709799 41.472 +L 122.31302 41.472 +L 119.916242 41.472 +L 119.565083 41.472 +L 119.916242 42.511559 +L 120.319752 43.708235 +L 120.876973 45.944471 +L 121.234854 48.180706 +L 121.391779 50.416941 +L 121.347037 52.653176 +L 121.100833 54.889412 +L 120.654277 57.125647 +L 120.009387 59.361882 +L 119.916242 59.609763 +L 119.167743 61.598118 +L 118.133965 63.834353 +L 117.519463 64.959732 +L 116.910046 66.070588 +L 115.500613 68.306824 +L 115.122685 68.839798 +L 113.905698 70.543059 +L 112.725906 72.035146 +L 112.131257 72.779294 +L 110.329128 74.844784 +L 110.178114 75.015529 +L 108.042856 77.251765 +L 107.932349 77.360006 +L 105.723191 79.488 +L 105.53557 79.658463 +L 103.216093 81.724235 +L 103.138792 81.789661 +L 100.742013 83.771541 +L 100.507327 83.960471 +L 98.345235 85.625809 +L 97.581092 86.196706 +L 95.948456 87.371019 +L 94.42035 88.432941 +L 93.551678 89.01747 +L 91.154899 90.569104 +L 90.993493 90.669176 +L 88.758121 92.018439 +L 87.216095 92.905412 +L 86.361342 93.386508 +L 83.964564 94.665046 +L 83.016093 95.141647 +L 81.567785 95.85728 +L 79.171007 96.96522 +L 78.209259 97.377882 +L 76.774228 97.986225 +L 74.37745 98.92076 +L 72.423117 99.614118 +L 71.980671 99.769921 +L 69.583893 100.527913 +L 67.187114 101.197707 +L 64.790336 101.777371 +L 64.431791 101.850353 +L 62.393557 102.264029 +L 59.996779 102.657541 +L 57.6 102.956983 +L 57.6 104.086588 +L 57.6 106.322824 +L 57.6 108.559059 +L 57.6 110.795294 +L 57.6 113.031529 +L 57.6 115.267765 +L 57.6 117.504 +L 57.6 119.740235 +L 57.6 120.332311 z -" style="fill:url(#h1db1a097b2);fill-opacity:0.5;"/> - <path clip-path="url(#p5b7831a9a7)" d="M 404.55302 145.291646 -L 407.548993 145.706282 -L 410.544966 145.977928 -L 413.54094 146.1058 -L 416.536913 146.08953 -L 419.532886 145.929165 -L 422.528859 145.625167 -L 425.524832 145.178412 -L 427.212497 144.847059 -L 428.520805 144.599337 -L 431.516779 143.897269 -L 434.512752 143.062429 -L 437.508725 142.097223 -L 437.931932 141.942857 -L 440.504698 141.032738 -L 443.500671 139.852228 -L 445.378819 139.038655 -L 446.496644 138.566545 -L 449.492617 137.190505 -L 451.626389 136.134454 -L 452.488591 135.716297 -L 455.484564 134.162885 -L 457.178663 133.230252 -L 458.480537 132.524525 -L 461.47651 130.810675 -L 462.283722 130.32605 -L 464.472483 129.026028 -L 467.058802 127.421849 -L 467.468456 127.169316 -L 470.46443 125.24944 -L 471.567629 124.517647 -L 473.460403 123.264122 -L 475.877764 121.613445 -L 476.456376 121.217192 -L 479.452349 119.109546 -L 480.008228 118.709244 -L 482.448322 116.938909 -L 483.980194 115.805042 -L 485.444295 114.708166 -L 487.816535 112.90084 -L 488.440268 112.417583 -L 491.436242 110.064401 -L 491.5216 109.996639 -L 494.432215 107.635342 -L 495.096303 107.092437 -L 497.428188 105.13426 -L 498.549417 104.188235 -L 500.424161 102.554659 -L 501.879669 101.284034 -L 503.420134 99.887205 -L 505.084223 98.379832 -L 506.416107 97.118889 -L 508.158632 95.47563 -L 509.412081 94.231791 -L 511.096739 92.571429 -L 512.408054 91.201201 -L 513.89051 89.667227 -L 515.404027 87.992713 -L 516.5298 86.763025 -L 518.4 84.557582 -L 518.4 83.858824 -L 518.4 80.954622 -L 518.4 78.05042 -L 518.4 75.146218 -L 518.4 72.242017 -L 518.4 69.337815 -L 518.4 66.433613 -L 518.4 63.529412 -L 518.4 60.62521 -L 518.4 57.721008 -L 518.4 54.816807 -L 518.4 51.912605 -L 518.4 49.008403 -L 518.4 46.104202 -L 518.4 43.2 -L 515.404027 43.2 -L 512.408054 43.2 -L 509.412081 43.2 -L 506.416107 43.2 -L 503.420134 43.2 -L 500.424161 43.2 -L 500.058163 43.2 -L 500.424161 44.325613 -L 501.001404 46.104202 -L 501.697937 49.008403 -L 502.145292 51.912605 -L 502.341449 54.816807 -L 502.285522 57.721008 -L 501.977764 60.62521 -L 501.419564 63.529412 -L 500.613445 66.433613 -L 500.424161 66.956956 -L 499.561449 69.337815 -L 498.269124 72.242017 -L 497.428188 73.841956 -L 496.739396 75.146218 -L 494.97734 78.05042 -L 494.432215 78.849016 -L 492.983848 80.954622 -L 491.436242 82.987692 -L 490.766027 83.858824 -L 488.440268 86.627506 -L 488.324862 86.763025 -L 485.654804 89.667227 -L 485.444295 89.881373 -L 482.755164 92.571429 -L 482.448322 92.860942 -L 479.62112 95.47563 -L 479.452349 95.623961 -L 476.456376 98.196263 -L 476.236747 98.379832 -L 473.460403 100.600063 -L 472.578545 101.284034 -L 470.46443 102.862661 -L 468.626826 104.188235 -L 467.468456 104.99735 -L 464.472483 107.010455 -L 464.345071 107.092437 -L 461.47651 108.889351 -L 459.621354 109.996639 -L 458.480537 110.662938 -L 455.484564 112.321089 -L 454.372375 112.90084 -L 452.488591 113.86643 -L 449.492617 115.302849 -L 448.363934 115.805042 -L 446.496644 116.625893 -L 443.500671 117.836955 -L 441.128391 118.709244 -L 440.504698 118.936871 -L 437.508725 119.918522 -L 434.512752 120.785565 -L 431.516779 121.5355 -L 431.146499 121.613445 -L 428.520805 122.164558 -L 425.524832 122.672656 -L 422.528859 123.058555 -L 419.532886 123.321143 -L 416.536913 123.459664 -L 413.54094 123.473718 -L 410.544966 123.363264 -L 407.548993 123.128621 -L 404.55302 122.770466 -L 401.557047 122.289829 -L 398.561074 121.688098 -L 398.25091 121.613445 -L 395.565101 120.96512 -L 392.569128 120.124299 -L 389.573154 119.168276 -L 388.286033 118.709244 -L 386.577181 118.095243 -L 383.581208 116.908584 -L 381.02506 115.805042 -L 380.585235 115.612852 -L 377.589262 114.199417 -L 375.018988 112.90084 -L 374.593289 112.682118 -L 371.597315 111.045323 -L 369.780765 109.996639 -L 368.601342 109.300824 -L 365.605369 107.44361 -L 365.063484 107.092437 -L 362.609396 105.458818 -L 360.775082 104.188235 -L 359.613423 103.357243 -L 356.816224 101.284034 -L 356.61745 101.131006 -L 353.621477 98.750833 -L 353.167248 98.379832 -L 350.625503 96.210043 -L 349.785717 95.47563 -L 347.62953 93.491414 -L 346.650347 92.571429 -L 344.633557 90.562462 -L 343.750432 89.667227 -L 341.637584 87.377157 -L 341.07906 86.763025 -L 338.641611 83.869547 -L 338.632679 83.858824 -L 336.417216 80.954622 -L 335.645638 79.835316 -L 334.425462 78.05042 -L 332.660805 75.146218 -L 332.649664 75.125155 -L 331.133032 72.242017 -L 329.839649 69.337815 -L 329.653691 68.825041 -L 328.788611 66.433613 -L 327.982358 63.529412 -L 327.424065 60.62521 -L 327.116255 57.721008 -L 327.060319 54.816807 -L 327.256509 51.912605 -L 327.703939 49.008403 -L 328.400587 46.104202 -L 329.343307 43.2 -L 326.657718 43.2 -L 323.661745 43.2 -L 320.665772 43.2 -L 317.669799 43.2 -L 314.673826 43.2 -L 311.677852 43.2 -L 308.681879 43.2 -L 305.685906 43.2 -L 302.689933 43.2 -L 300.438261 43.2 -L 299.69396 45.251512 -L 299.375602 46.104202 -L 298.574327 49.008403 -L 298.059699 51.912605 -L 297.834044 54.816807 -L 297.898382 57.721008 -L 298.25242 60.62521 -L 298.894561 63.529412 -L 299.69396 66.032929 -L 299.818287 66.433613 -L 300.992494 69.337815 -L 302.434468 72.242017 -L 302.689933 72.677616 -L 304.101863 75.146218 -L 305.685906 77.556871 -L 306.003278 78.05042 -L 308.104351 80.954622 -L 308.681879 81.675982 -L 310.397714 83.858824 -L 311.677852 85.350387 -L 312.871986 86.763025 -L 314.673826 88.737402 -L 315.512179 89.667227 -L 317.669799 91.905346 -L 318.306098 92.571429 -L 320.665772 94.901256 -L 321.243924 95.47563 -L 323.661745 97.758311 -L 324.317916 98.379832 -L 326.657718 100.50031 -L 327.522176 101.284034 -L 329.653691 103.144488 -L 330.85251 104.188235 -L 332.649664 105.703324 -L 334.306323 107.092437 -L 335.645638 108.185739 -L 337.882596 109.996639 -L 338.641611 110.597895 -L 341.581899 112.90084 -L 341.637584 112.943728 -L 344.633557 115.218249 -L 345.420124 115.805042 -L 347.62953 117.433506 -L 349.396679 118.709244 -L 350.625503 119.589759 -L 353.518726 121.613445 -L 353.621477 121.685106 -L 356.61745 123.717482 -L 357.834689 124.517647 -L 359.613423 125.6888 -L 362.340575 127.421849 -L 362.609396 127.593733 -L 365.605369 129.434679 -L 367.121879 130.32605 -L 368.601342 131.205038 -L 371.597315 132.899051 -L 372.216263 133.230252 -L 374.593289 134.521995 -L 377.589262 136.05313 -L 377.759671 136.134454 -L 380.585235 137.510513 -L 383.581208 138.861907 -L 384.008306 139.038655 -L 386.577181 140.129012 -L 389.573154 141.282573 -L 391.489714 141.942857 -L 392.569128 142.326297 -L 395.565101 143.262313 -L 398.561074 144.067386 -L 401.557047 144.739198 -L 402.159249 144.847059 +" style="fill:url(#h8124db33bb);fill-opacity:0.5;"/> + <path clip-path="url(#p85834bf349)" d="M 323.642416 120.082567 +L 326.039195 120.401837 +L 328.435973 120.611004 +L 330.832752 120.709466 +L 333.22953 120.696938 +L 335.626309 120.573457 +L 338.023087 120.339378 +L 340.419866 119.995377 +L 341.769998 119.740235 +L 342.816644 119.54949 +L 345.213423 119.008897 +L 347.610201 118.36607 +L 350.00698 117.622862 +L 350.345545 117.504 +L 352.403758 116.803208 +L 354.800537 115.894215 +L 356.303055 115.267765 +L 357.197315 114.90424 +L 359.594094 113.844689 +L 361.301111 113.031529 +L 361.990872 112.709549 +L 364.387651 111.513422 +L 365.74293 110.795294 +L 366.78443 110.251884 +L 369.181208 108.93222 +L 369.826977 108.559059 +L 371.577987 107.558042 +L 373.647042 106.322824 +L 373.974765 106.128373 +L 376.371544 104.650069 +L 377.254103 104.086588 +L 378.768322 103.121374 +L 380.702211 101.850353 +L 381.165101 101.545238 +L 383.561879 99.92235 +L 384.006582 99.614118 +L 385.958658 98.25096 +L 387.184155 97.377882 +L 388.355436 96.533288 +L 390.253228 95.141647 +L 390.752215 94.769539 +L 393.148993 92.957589 +L 393.21728 92.905412 +L 395.545772 91.087214 +L 396.077043 90.669176 +L 397.94255 89.16138 +L 398.839533 88.432941 +L 400.339329 87.175088 +L 401.503735 86.196706 +L 402.736107 85.121148 +L 404.067378 83.960471 +L 405.132886 82.989544 +L 406.526906 81.724235 +L 407.529664 80.766479 +L 408.877391 79.488 +L 409.926443 78.432925 +L 411.112408 77.251765 +L 412.323221 75.962389 +L 413.22384 75.015529 +L 414.72 73.317338 +L 414.72 72.779294 +L 414.72 70.543059 +L 414.72 68.306824 +L 414.72 66.070588 +L 414.72 63.834353 +L 414.72 61.598118 +L 414.72 59.361882 +L 414.72 57.125647 +L 414.72 54.889412 +L 414.72 52.653176 +L 414.72 50.416941 +L 414.72 48.180706 +L 414.72 45.944471 +L 414.72 43.708235 +L 414.72 41.472 +L 412.323221 41.472 +L 409.926443 41.472 +L 407.529664 41.472 +L 405.132886 41.472 +L 402.736107 41.472 +L 400.339329 41.472 +L 400.046531 41.472 +L 400.339329 42.338722 +L 400.801124 43.708235 +L 401.358349 45.944471 +L 401.716234 48.180706 +L 401.873159 50.416941 +L 401.828418 52.653176 +L 401.582211 54.889412 +L 401.135651 57.125647 +L 400.490756 59.361882 +L 400.339329 59.764856 +L 399.649159 61.598118 +L 398.615299 63.834353 +L 397.94255 65.066306 +L 397.391517 66.070588 +L 395.981872 68.306824 +L 395.545772 68.921743 +L 394.387079 70.543059 +L 393.148993 72.108523 +L 392.612822 72.779294 +L 390.752215 74.911179 +L 390.659889 75.015529 +L 388.523843 77.251765 +L 388.355436 77.416657 +L 386.204131 79.488 +L 385.958658 79.710925 +L 383.696896 81.724235 +L 383.561879 81.83845 +L 381.165101 83.819123 +L 380.989398 83.960471 +L 378.768322 85.670048 +L 378.062836 86.196706 +L 376.371544 87.412249 +L 374.901461 88.432941 +L 373.974765 89.05596 +L 371.577987 90.60605 +L 371.476057 90.669176 +L 369.181208 92.0528 +L 367.697083 92.905412 +L 366.78443 93.418462 +L 364.387651 94.695239 +L 363.4979 95.141647 +L 361.990872 95.885151 +L 359.594094 96.991193 +L 358.691148 97.377882 +L 357.197315 98.009937 +L 354.800537 98.942456 +L 352.902713 99.614118 +L 352.403758 99.789391 +L 350.00698 100.545262 +L 347.610201 101.212885 +L 345.213423 101.790335 +L 344.917199 101.850353 +L 342.816644 102.27471 +L 340.419866 102.665945 +L 338.023087 102.963088 +L 335.626309 103.16528 +L 333.22953 103.271941 +L 330.832752 103.282763 +L 328.435973 103.197713 +L 326.039195 103.017038 +L 323.642416 102.741258 +L 321.245638 102.371169 +L 318.848859 101.907835 +L 318.600728 101.850353 +L 316.452081 101.351142 +L 314.055302 100.70371 +L 311.658523 99.967573 +L 310.628826 99.614118 +L 309.261745 99.141337 +L 306.864966 98.22761 +L 304.820048 97.377882 +L 304.468188 97.229896 +L 302.071409 96.141551 +L 300.015191 95.141647 +L 299.674631 94.973231 +L 297.277852 93.712898 +L 295.824612 92.905412 +L 294.881074 92.369635 +L 292.484295 90.93958 +L 292.050787 90.669176 +L 290.087517 89.41129 +L 288.620066 88.432941 +L 287.690738 87.793077 +L 285.452979 86.196706 +L 285.29396 86.078875 +L 282.897181 84.246141 +L 282.533799 83.960471 +L 280.500403 82.289733 +L 279.828574 81.724235 +L 278.103624 80.196389 +L 277.320278 79.488 +L 275.706846 77.941096 +L 275.000346 77.251765 +L 273.310067 75.488411 +L 272.863248 75.015529 +L 270.913289 72.787551 +L 270.906143 72.779294 +L 269.133772 70.543059 +L 268.51651 69.681193 +L 267.54037 68.306824 +L 266.128644 66.070588 +L 266.119732 66.054369 +L 264.906425 63.834353 +L 263.871719 61.598118 +L 263.722953 61.203282 +L 263.030889 59.361882 +L 262.385886 57.125647 +L 261.939252 54.889412 +L 261.693004 52.653176 +L 261.648255 50.416941 +L 261.805207 48.180706 +L 262.163151 45.944471 +L 262.72047 43.708235 +L 263.474645 41.472 +L 261.326174 41.472 +L 258.929396 41.472 +L 256.532617 41.472 +L 254.135839 41.472 +L 251.73906 41.472 +L 249.342282 41.472 +L 246.945503 41.472 +L 244.548725 41.472 +L 242.151946 41.472 +L 240.350609 41.472 +L 239.755168 43.051664 +L 239.500482 43.708235 +L 238.859462 45.944471 +L 238.447759 48.180706 +L 238.267236 50.416941 +L 238.318705 52.653176 +L 238.601936 54.889412 +L 239.115649 57.125647 +L 239.755168 59.053355 +L 239.85463 59.361882 +L 240.793996 61.598118 +L 241.947574 63.834353 +L 242.151946 64.169764 +L 243.28149 66.070588 +L 244.548725 67.926791 +L 244.802622 68.306824 +L 246.483481 70.543059 +L 246.945503 71.098506 +L 248.318171 72.779294 +L 249.342282 73.927798 +L 250.297589 75.015529 +L 251.73906 76.5358 +L 252.409743 77.251765 +L 254.135839 78.975117 +L 254.644878 79.488 +L 256.532617 81.281967 +L 256.99514 81.724235 +L 258.929396 83.481899 +L 259.454332 83.960471 +L 261.326174 85.593239 +L 262.017741 86.196706 +L 263.722953 87.629256 +L 264.682008 88.432941 +L 266.119732 89.59956 +L 267.445059 90.669176 +L 268.51651 91.511019 +L 270.306077 92.905412 +L 270.913289 93.368379 +L 273.265519 95.141647 +L 273.310067 95.17467 +L 275.706846 96.926052 +L 276.336099 97.377882 +L 278.103624 98.6318 +L 279.517344 99.614118 +L 280.500403 100.292114 +L 282.814981 101.850353 +L 282.897181 101.905532 +L 285.29396 103.470461 +L 286.267751 104.086588 +L 287.690738 104.988376 +L 289.87246 106.322824 +L 290.087517 106.455174 +L 292.484295 107.872703 +L 293.697503 108.559059 +L 294.881074 109.23588 +L 297.277852 110.540269 +L 297.77301 110.795294 +L 299.674631 111.789936 +L 302.071409 112.96891 +L 302.207737 113.031529 +L 304.468188 114.091095 +L 306.864966 115.131668 +L 307.206645 115.267765 +L 309.261745 116.107339 +L 311.658523 116.995581 +L 313.191771 117.504 +L 314.055302 117.799249 +L 316.452081 118.519981 +L 318.848859 119.139888 +L 321.245638 119.657182 +L 321.727399 119.740235 z -" style="fill:url(#h1db1a097b2);fill-opacity:0.5;"/> +" style="fill:url(#h8124db33bb);fill-opacity:0.5;"/> </g> - <g id="PathCollection_5"> - <path clip-path="url(#p5b7831a9a7)" d="M 131.919463 388.8 -L 134.915436 388.8 -L 137.911409 388.8 -L 140.907383 388.8 -L 143.903356 388.8 -L 146.899329 388.8 -L 149.895302 388.8 -L 152.891275 388.8 -L 155.887248 388.8 -L 158.883221 388.8 -L 159.652757 388.8 -L 161.879195 387.070292 -L 163.405949 385.895798 -L 164.875168 384.749343 -L 167.156956 382.991597 -L 167.871141 382.430852 -L 170.867114 380.115803 -L 170.904589 380.087395 -L 173.863087 377.790113 -L 174.662458 377.183193 -L 176.85906 375.465889 -L 178.41712 374.278992 -L 179.855034 373.144805 -L 182.166456 371.37479 -L 182.851007 370.828768 -L 185.84698 368.517746 -L 185.910458 368.470588 -L 188.842953 366.186696 -L 189.673669 365.566387 -L 191.838926 363.859278 -L 193.430299 362.662185 -L 194.834899 361.537726 -L 197.177426 359.757983 -L 197.830872 359.224875 -L 200.826846 356.918947 -L 200.917191 356.853782 -L 203.822819 354.579832 -L 204.688727 353.94958 -L 206.818792 352.246781 -L 208.448974 351.045378 -L 209.814765 349.923453 -L 212.192762 348.141176 -L 212.810738 347.615367 -L 215.806711 345.318323 -L 215.926279 345.236975 -L 218.802685 342.962029 -L 219.716992 342.332773 -L 221.798658 340.612884 -L 223.489138 339.428571 -L 224.794631 338.278137 -L 227.228186 336.52437 -L 227.790604 335.974887 -L 230.786577 333.708414 -L 230.951884 333.620168 -L 233.78255 331.258266 -L 234.903132 330.715966 -L 236.778523 328.617243 -L 239.41544 327.811765 -L 236.778523 325.270383 -L 236.675766 324.907563 -L 233.78255 322.9242 -L 233.003467 322.003361 -L 230.786577 320.54874 -L 229.227643 319.09916 -L 227.790604 318.171436 -L 225.419998 316.194958 -L 224.794631 315.794254 -L 221.798658 313.446877 -L 221.629699 313.290756 -L 218.802685 311.161756 -L 217.906947 310.386555 -L 215.806711 308.846804 -L 214.155209 307.482353 -L 212.810738 306.515069 -L 210.384779 304.578151 -L 209.814765 304.173493 -L 206.818792 301.842419 -L 206.619181 301.67395 -L 203.822819 299.54069 -L 202.882936 298.769748 -L 200.826846 297.224747 -L 199.131722 295.865546 -L 197.830872 294.899206 -L 195.369811 292.961345 -L 194.834899 292.56735 -L 191.838926 290.242128 -L 191.611513 290.057143 -L 188.842953 287.932694 -L 187.868677 287.152941 -L 185.84698 285.615077 -L 184.117099 284.248739 -L 182.851007 283.29182 -L 180.359398 281.344538 -L 179.855034 280.965001 -L 176.85906 278.642789 -L 176.604557 278.440336 -L 173.863087 276.32845 -L 172.857427 275.536134 -L 170.867114 274.009397 -L 169.105469 272.631933 -L 167.871141 271.687422 -L 165.350686 269.727731 -L 164.875168 269.36414 -L 161.879195 267.043679 -L 161.597745 266.823529 -L 158.883221 264.725543 -L 157.847259 263.919328 -L 155.887248 262.405202 -L 154.094984 261.015126 -L 152.891275 260.084169 -L 150.342713 258.110924 -L 149.895302 257.763925 -L 146.899329 255.444477 -L 146.590787 255.206723 -L 143.903356 253.122907 -L 142.837257 252.302521 -L 140.907383 250.801271 -L 139.08471 249.398319 -L 137.911409 248.481072 -L 135.334991 246.494118 -L 134.915436 246.163895 -L 131.919463 243.844906 -L 131.583401 243.589916 -L 128.92349 241.519724 -L 127.826659 240.685714 -L 125.927517 239.196577 -L 124.073834 237.781513 -L 122.931544 236.877205 -L 120.327112 234.877311 -L 119.93557 234.563615 -L 116.939597 232.244546 -L 116.575111 231.973109 -L 113.943624 229.914851 -L 112.814319 229.068908 -L 110.947651 227.58953 -L 109.061063 226.164706 -L 107.951678 225.270991 -L 105.318437 223.260504 -L 104.955705 222.962329 -L 101.959732 220.642433 -L 101.564752 220.356303 -L 98.963758 218.305645 -L 97.797415 217.452101 -L 95.967785 215.9761 -L 94.042988 214.547899 -L 92.971812 213.657971 -L 90.307203 211.643697 -L 89.975839 211.357688 -L 86.979866 209.035321 -L 86.547983 208.739496 -L 83.983893 206.682161 -L 82.764319 205.835294 -L 80.987919 204.338461 -L 79.003413 202.931092 -L 77.991946 202.013842 -L 75.283449 200.026891 -L 74.995973 199.732655 -L 72 197.399266 -L 72 200.026891 -L 72 202.931092 -L 72 205.835294 -L 72 208.739496 -L 72 211.643697 -L 72 214.547899 -L 72 217.452101 -L 72 220.356303 -L 72 223.260504 -L 72 226.164706 -L 72 229.068908 -L 72 231.973109 -L 72 234.877311 -L 72 237.067713 -L 74.995973 237.518259 -L 76.328049 237.781513 -L 77.991946 238.098595 -L 80.987919 238.804363 -L 83.983893 239.642931 -L 86.979866 240.611885 -L 87.181583 240.685714 -L 89.975839 241.677481 -L 92.971812 242.861508 -L 94.648843 243.589916 -L 95.967785 244.148412 -L 98.963758 245.527689 -L 100.912265 246.494118 -L 101.959732 247.003168 -L 104.955705 248.559491 -L 106.476799 249.398319 -L 107.951678 250.19913 -L 110.947651 251.915527 -L 111.59137 252.302521 -L 113.943624 253.701427 -L 116.367718 255.206723 -L 116.939597 255.559637 -L 119.93557 257.481362 -L 120.883835 258.110924 -L 122.931544 259.468115 -L 125.195538 261.015126 -L 125.927517 261.516711 -L 128.92349 263.625439 -L 129.331423 263.919328 -L 131.919463 265.797644 -L 133.305084 266.823529 -L 134.915436 268.030186 -L 137.143361 269.727731 -L 137.911409 270.322806 -L 140.851489 272.631933 -L 140.907383 272.676791 -L 143.903356 275.10677 -L 144.42872 275.536134 -L 146.899329 277.609968 -L 147.883948 278.440336 -L 149.895302 280.191935 -L 151.21647 281.344538 -L 152.891275 282.862025 -L 154.423433 284.248739 -L 155.887248 285.633267 -L 157.500373 287.152941 -L 158.883221 288.523603 -L 160.441115 290.057143 -L 161.879195 291.557763 -L 163.237606 292.961345 -L 164.875168 294.770168 -L 165.879681 295.865546 -L 167.871141 298.209556 -L 168.354736 298.769748 -L 170.651464 301.67395 -L 170.867114 301.975634 -L 172.763425 304.578151 -L 173.863087 306.275493 -L 174.66275 307.482353 -L 176.338467 310.386555 -L 176.85906 311.451621 -L 177.781638 313.290756 -L 178.969005 316.194958 -L 179.855034 319.014855 -L 179.882318 319.09916 -L 180.534895 322.003361 -L 180.897169 324.907563 -L 180.967505 327.811765 -L 180.745586 330.715966 -L 180.232413 333.620168 -L 179.855034 334.986548 -L 179.442691 336.52437 -L 178.386986 339.428571 -L 177.059059 342.332773 -L 176.85906 342.697128 -L 175.500614 345.236975 -L 173.863087 347.87068 -L 173.698641 348.141176 -L 171.694257 351.045378 -L 170.867114 352.120602 -L 169.486821 353.94958 -L 167.871141 355.898819 -L 167.092129 356.853782 -L 164.875168 359.358572 -L 164.526175 359.757983 -L 161.879195 362.579104 -L 161.802006 362.662185 -L 158.9305 365.566387 -L 158.883221 365.611675 -L 155.919196 368.470588 -L 155.887248 368.499982 -L 152.891275 371.267417 -L 152.775163 371.37479 -L 149.895302 373.931496 -L 149.503186 374.278992 -L 146.899329 376.507572 -L 146.106235 377.183193 -L 143.903356 379.005648 -L 142.585824 380.087395 -L 140.907383 381.432731 -L 138.94188 382.991597 -L 137.911409 383.793453 -L 135.172681 385.895798 -L 134.915436 386.090475 -L 131.919463 388.32017 -L 131.261751 388.8 + <g id="PathCollection_4"> + <path clip-path="url(#p85834bf349)" d="M 105.53557 307.584 +L 107.932349 307.584 +L 110.329128 307.584 +L 112.725906 307.584 +L 115.122685 307.584 +L 117.519463 307.584 +L 119.916242 307.584 +L 122.31302 307.584 +L 124.709799 307.584 +L 127.106577 307.584 +L 127.722206 307.584 +L 129.503356 306.252125 +L 130.724759 305.347765 +L 131.900134 304.464994 +L 133.725565 303.111529 +L 134.296913 302.679756 +L 136.693691 300.897168 +L 136.723671 300.875294 +L 139.09047 299.106387 +L 139.729966 298.639059 +L 141.487248 297.316734 +L 142.733696 296.402824 +L 143.884027 295.5295 +L 145.733165 294.166588 +L 146.280805 293.746151 +L 148.677584 291.966664 +L 148.728367 291.930353 +L 151.074362 290.171756 +L 151.738935 289.694118 +L 153.471141 288.379644 +L 154.744239 287.457882 +L 155.867919 286.592049 +L 157.74194 285.221647 +L 158.264698 284.811154 +L 160.661477 283.035589 +L 160.733753 282.985412 +L 163.058255 281.234471 +L 163.750981 280.749176 +L 165.455034 279.438021 +L 166.75918 278.512941 +L 167.851812 277.649058 +L 169.75421 276.276706 +L 170.248591 275.871833 +L 172.645369 274.103109 +L 172.741023 274.040471 +L 175.042148 272.288762 +L 175.773593 271.804235 +L 177.438926 270.47992 +L 178.79131 269.568 +L 179.835705 268.682166 +L 181.782549 267.331765 +L 182.232483 266.908663 +L 184.629262 265.163479 +L 184.761507 265.095529 +L 187.02604 263.276865 +L 187.922506 262.859294 +L 189.422819 261.243277 +L 191.532352 260.623059 +L 189.422819 258.666195 +L 189.340613 258.386824 +L 187.02604 256.859634 +L 186.402773 256.150588 +L 184.629262 255.03053 +L 183.382114 253.914353 +L 182.232483 253.200006 +L 180.335999 251.678118 +L 179.835705 251.369576 +L 177.438926 249.562095 +L 177.303759 249.441882 +L 175.042148 247.802552 +L 174.325557 247.205647 +L 172.645369 246.020039 +L 171.324167 244.969412 +L 170.248591 244.224603 +L 168.307824 242.733176 +L 167.851812 242.42159 +L 165.455034 240.626662 +L 165.295345 240.496941 +L 163.058255 238.854331 +L 162.306349 238.260706 +L 160.661477 237.071055 +L 159.305378 236.024471 +L 158.264698 235.280388 +L 156.295849 233.788235 +L 155.867919 233.484859 +L 153.471141 231.694439 +L 153.289211 231.552 +L 151.074362 229.916174 +L 150.294941 229.315765 +L 148.677584 228.13161 +L 147.293679 227.079529 +L 146.280805 226.342701 +L 144.287518 224.843294 +L 143.884027 224.551051 +L 141.487248 222.762948 +L 141.283646 222.607059 +L 139.09047 220.980907 +L 138.285941 220.370824 +L 136.693691 219.195236 +L 135.284375 218.134588 +L 134.296913 217.407315 +L 132.280549 215.898353 +L 131.900134 215.618388 +L 129.503356 213.831633 +L 129.278196 213.662118 +L 127.106577 212.046668 +L 126.277807 211.425882 +L 124.709799 210.260005 +L 123.275987 209.189647 +L 122.31302 208.47281 +L 120.27417 206.953412 +L 119.916242 206.686222 +L 117.519463 204.900247 +L 117.27263 204.717176 +L 115.122685 203.112638 +L 114.269805 202.480941 +L 112.725906 201.324979 +L 111.267768 200.244706 +L 110.329128 199.538425 +L 108.267993 198.008471 +L 107.932349 197.754199 +L 105.53557 195.968578 +L 105.266721 195.772235 +L 103.138792 194.178188 +L 102.261327 193.536 +L 100.742013 192.389364 +L 99.259067 191.299765 +L 98.345235 190.603448 +L 96.261689 189.063529 +L 95.948456 188.821984 +L 93.551678 187.0363 +L 93.260089 186.827294 +L 91.154899 185.242435 +L 90.251455 184.591059 +L 88.758121 183.451938 +L 87.24885 182.354824 +L 86.361342 181.666663 +L 84.254749 180.118588 +L 83.964564 179.888993 +L 81.567785 178.102673 +L 81.251802 177.882353 +L 79.171007 176.303346 +L 78.237932 175.646118 +L 76.774228 174.509597 +L 75.23439 173.409882 +L 74.37745 172.724637 +L 72.245763 171.173647 +L 71.980671 170.95342 +L 69.583893 169.165197 +L 69.238386 168.937412 +L 67.187114 167.353264 +L 66.211455 166.701176 +L 64.790336 165.548615 +L 63.202731 164.464941 +L 62.393557 163.758658 +L 60.226759 162.228706 +L 59.996779 162.002145 +L 57.6 160.205435 +L 57.6 162.228706 +L 57.6 164.464941 +L 57.6 166.701176 +L 57.6 168.937412 +L 57.6 171.173647 +L 57.6 173.409882 +L 57.6 175.646118 +L 57.6 177.882353 +L 57.6 180.118588 +L 57.6 182.354824 +L 57.6 184.591059 +L 57.6 186.827294 +L 57.6 189.063529 +L 57.6 190.750139 +L 59.996779 191.09706 +L 61.062439 191.299765 +L 62.393557 191.543918 +L 64.790336 192.087359 +L 67.187114 192.733057 +L 69.583893 193.479151 +L 69.745266 193.536 +L 71.980671 194.29966 +L 74.37745 195.211362 +L 75.719074 195.772235 +L 76.774228 196.202277 +L 79.171007 197.26432 +L 80.729812 198.008471 +L 81.567785 198.40044 +L 83.964564 199.598808 +L 85.181439 200.244706 +L 86.361342 200.86133 +L 88.758121 202.182956 +L 89.273096 202.480941 +L 91.154899 203.558098 +L 93.094174 204.717176 +L 93.551678 204.988921 +L 95.948456 206.468649 +L 96.707068 206.953412 +L 98.345235 207.998448 +L 100.15643 209.189647 +L 100.742013 209.575867 +L 103.138792 211.199588 +L 103.465138 211.425882 +L 105.53557 212.872186 +L 106.644067 213.662118 +L 107.932349 214.591243 +L 109.714689 215.898353 +L 110.329128 216.35656 +L 112.681191 218.134588 +L 112.725906 218.169129 +L 115.122685 220.040213 +L 115.542976 220.370824 +L 117.519463 221.967676 +L 118.307158 222.607059 +L 119.916242 223.95579 +L 120.973176 224.843294 +L 122.31302 226.011759 +L 123.538747 227.079529 +L 124.709799 228.145615 +L 126.000298 229.315765 +L 127.106577 230.371174 +L 128.352892 231.552 +L 129.503356 232.707477 +L 130.590085 233.788235 +L 131.900134 235.181029 +L 132.703745 236.024471 +L 134.296913 237.829358 +L 134.683788 238.260706 +L 136.521171 240.496941 +L 136.693691 240.729238 +L 138.21074 242.733176 +L 139.09047 244.040129 +L 139.7302 244.969412 +L 141.070773 247.205647 +L 141.487248 248.025748 +L 142.22531 249.441882 +L 143.175204 251.678118 +L 143.884027 253.849438 +L 143.905855 253.914353 +L 144.427916 256.150588 +L 144.717735 258.386824 +L 144.774004 260.623059 +L 144.596469 262.859294 +L 144.18593 265.095529 +L 143.884027 266.147642 +L 143.554153 267.331765 +L 142.709588 269.568 +L 141.647247 271.804235 +L 141.487248 272.084789 +L 140.400491 274.040471 +L 139.09047 276.068424 +L 138.958913 276.276706 +L 137.355406 278.512941 +L 136.693691 279.340863 +L 135.589457 280.749176 +L 134.296913 282.250091 +L 133.673703 282.985412 +L 131.900134 284.914101 +L 131.62094 285.221647 +L 129.503356 287.39391 +L 129.441605 287.457882 +L 127.1444 289.694118 +L 127.106577 289.72899 +L 124.735357 291.930353 +L 124.709799 291.952986 +L 122.31302 294.083911 +L 122.22013 294.166588 +L 119.916242 296.135252 +L 119.602548 296.402824 +L 117.519463 298.11883 +L 116.884988 298.639059 +L 115.122685 300.042349 +L 114.068659 300.875294 +L 112.725906 301.911203 +L 111.153504 303.111529 +L 110.329128 303.728959 +L 108.138145 305.347765 +L 107.932349 305.497665 +L 105.53557 307.214531 +L 105.009401 307.584 z -" style="fill:url(#hb07dbf6fd0);fill-opacity:0.5;"/> - <path clip-path="url(#p5b7831a9a7)" d="M 317.669799 387.650301 -L 319.146704 388.8 -L 320.665772 388.8 -L 323.661745 388.8 -L 326.657718 388.8 -L 329.653691 388.8 -L 332.649664 388.8 -L 335.645638 388.8 -L 338.641611 388.8 -L 341.637584 388.8 -L 344.633557 388.8 -L 347.533727 388.8 -L 344.633557 386.651674 -L 343.630857 385.895798 -L 341.637584 384.37162 -L 339.858579 382.991597 -L 338.641611 382.029403 -L 336.213033 380.087395 -L 335.645638 379.622639 -L 332.692179 377.183193 -L 332.649664 377.147035 -L 329.653691 374.585153 -L 329.29655 374.278992 -L 326.657718 371.93668 -L 326.024458 371.37479 -L 323.661745 369.191119 -L 322.879587 368.470588 -L 320.665772 366.332568 -L 319.867517 365.566387 -L 317.669799 363.339193 -L 316.995634 362.662185 -L 314.673826 360.180828 -L 314.273348 359.757983 -L 311.711864 356.853782 -L 311.677852 356.811941 -L 309.315452 353.94958 -L 308.681879 353.106449 -L 307.104405 351.045378 -L 305.685906 348.979582 -L 305.097618 348.141176 -L 303.302597 345.236975 -L 302.689933 344.084674 -L 301.734832 342.332773 -L 300.415932 339.428571 -L 299.69396 337.428865 -L 299.357906 336.52437 -L 298.561993 333.620168 -L 298.052783 330.715966 -L 297.832577 327.811765 -L 297.902371 324.907563 -L 298.261847 322.003361 -L 298.909383 319.09916 -L 299.69396 316.656099 -L 299.837868 316.194958 -L 301.017165 313.290756 -L 302.464116 310.386555 -L 302.689933 310.002601 -L 304.135501 307.482353 -L 305.685906 305.128531 -L 306.040671 304.578151 -L 308.146049 301.67395 -L 308.681879 301.005855 -L 310.442696 298.769748 -L 311.677852 297.332809 -L 312.920071 295.865546 -L 314.673826 293.946439 -L 315.563206 292.961345 -L 317.669799 290.778721 -L 318.359922 290.057143 -L 320.665772 287.782792 -L 321.300417 287.152941 -L 323.661745 284.925582 -L 324.376958 284.248739 -L 326.657718 282.18336 -L 327.583664 281.344538 -L 329.653691 279.538939 -L 330.916346 278.440336 -L 332.649664 276.979872 -L 334.372422 275.536134 -L 335.645638 274.497262 -L 337.95088 272.631933 -L 338.641611 272.084965 -L 341.637584 269.739252 -L 341.652511 269.727731 -L 344.633557 267.465154 -L 345.493856 266.823529 -L 347.62953 265.249698 -L 349.472693 263.919328 -L 350.625503 263.09336 -L 353.596998 261.015126 -L 353.621477 260.998055 -L 356.61745 258.965702 -L 357.917783 258.110924 -L 359.613423 256.994399 -L 362.426331 255.206723 -L 362.609396 255.089653 -L 365.605369 253.248412 -L 367.214379 252.302521 -L 368.601342 251.478287 -L 371.597315 249.783856 -L 372.317627 249.398319 -L 374.593289 248.161245 -L 377.589262 246.629595 -L 377.873051 246.494118 -L 380.585235 245.172708 -L 383.581208 243.820734 -L 384.138722 243.589916 -L 386.577181 242.55437 -L 389.573154 241.400202 -L 391.645954 240.685714 -L 392.569128 240.357569 -L 395.565101 239.420965 -L 398.561074 238.615385 -L 401.557047 237.943151 -L 402.458924 237.781513 -L 404.55302 237.392296 -L 407.548993 236.977353 -L 410.544966 236.705507 -L 413.54094 236.57754 -L 416.536913 236.593822 -L 419.532886 236.754306 -L 422.528859 237.058528 -L 425.524832 237.505613 -L 426.929019 237.781513 -L 428.520805 238.083099 -L 431.516779 238.785609 -L 434.512752 239.620974 -L 437.508725 240.586787 -L 437.779771 240.685714 -L 440.504698 241.650168 -L 443.500671 242.831299 -L 445.251031 243.589916 -L 446.496644 244.116223 -L 449.492617 245.492853 -L 451.514823 246.494118 -L 452.488591 246.966541 -L 455.484564 248.520476 -L 457.078604 249.398319 -L 458.480537 250.158474 -L 461.47651 251.872747 -L 462.192183 252.302521 -L 464.472483 253.657128 -L 466.970399 255.206723 -L 467.468456 255.513775 -L 470.46443 257.433792 -L 471.485152 258.110924 -L 473.460403 259.419057 -L 475.79782 261.015126 -L 476.456376 261.466084 -L 479.452349 263.573527 -L 479.932591 263.919328 -L 482.448322 265.744204 -L 483.906773 266.823529 -L 485.444295 267.9751 -L 487.745367 269.727731 -L 488.440268 270.265934 -L 491.436242 272.618267 -L 491.453463 272.631933 -L 494.432215 275.047409 -L 495.030302 275.536134 -L 497.428188 277.548622 -L 498.485633 278.440336 -L 500.424161 280.12838 -L 501.818192 281.344538 -L 503.420134 282.795993 -L 505.025152 284.248739 -L 506.416107 285.564434 -L 508.102076 287.152941 -L 509.412081 288.451572 -L 511.042818 290.057143 -L 512.408054 291.48204 -L 513.839357 292.961345 -L 515.404027 294.690128 -L 516.481563 295.865546 -L 518.4 298.124395 -L 518.4 295.865546 -L 518.4 292.961345 -L 518.4 290.057143 -L 518.4 287.152941 -L 518.4 284.248739 -L 518.4 281.344538 -L 518.4 278.440336 -L 518.4 275.536134 -L 518.4 272.631933 -L 518.4 271.631167 -L 515.952753 269.727731 -L 515.404027 269.308017 -L 512.408054 266.986917 -L 512.199214 266.823529 -L 509.412081 264.668988 -L 508.448916 263.919328 -L 506.416107 262.348758 -L 504.696722 261.015126 -L 503.420134 260.027743 -L 500.944426 258.110924 -L 500.424161 257.707425 -L 497.428188 255.388161 -L 497.192694 255.206723 -L 494.432215 253.066587 -L 493.439083 252.302521 -L 491.436242 250.744855 -L 489.686348 249.398319 -L 488.440268 248.424463 -L 485.936329 246.494118 -L 485.444295 246.106991 -L 482.448322 243.789037 -L 482.185755 243.589916 -L 479.452349 241.463643 -L 478.428649 240.685714 -L 476.456376 239.140177 -L 474.675334 237.781513 -L 473.460403 236.820368 -L 470.927989 234.877311 -L 470.46443 234.506209 -L 467.468456 232.1892 -L 467.178 231.973109 -L 464.472483 229.859054 -L 463.416492 229.068908 -L 461.47651 227.533135 -L 459.662349 226.164706 -L 458.480537 225.213822 -L 455.918643 223.260504 -L 455.484564 222.904171 -L 452.488591 220.587835 -L 452.16843 220.356303 -L 449.492617 218.25027 -L 448.399845 217.452101 -L 446.496644 215.919694 -L 444.643866 214.547899 -L 443.500671 213.600188 -L 440.906155 211.643697 -L 440.504698 211.298037 -L 437.508725 208.982167 -L 437.15329 208.739496 -L 434.512752 206.627688 -L 433.367249 205.835294 -L 431.516779 204.282004 -L 429.603049 202.931092 -L 428.520805 201.954188 -L 425.878342 200.026891 -L 425.524832 199.667162 -L 422.528859 197.351697 -L 422.093399 197.122689 -L 419.532886 194.879487 -L 418.102605 194.218487 -L 416.536913 192.023284 -L 413.54094 191.597116 -L 411.196203 194.218487 -L 410.544966 194.458473 -L 407.548993 196.803842 -L 407.282157 197.122689 -L 404.55302 199.080288 -L 403.569633 200.026891 -L 401.557047 201.415446 -L 399.802348 202.931092 -L 398.561074 203.769552 -L 396.009116 205.835294 -L 395.565101 206.131488 -L 392.569128 208.455096 -L 392.24662 208.739496 -L 389.573154 210.752116 -L 388.513461 211.643697 -L 386.577181 213.070488 -L 384.758374 214.547899 -L 383.581208 215.401908 -L 380.988495 217.452101 -L 380.585235 217.74137 -L 377.589262 220.061659 -L 377.234005 220.356303 -L 374.593289 222.368692 -L 373.492722 223.260504 -L 371.597315 224.687046 -L 369.73929 226.164706 -L 368.601342 227.013129 -L 365.977208 229.068908 -L 365.605369 229.344243 -L 362.609396 231.663434 -L 362.224946 231.973109 -L 359.613423 233.975965 -L 358.479107 234.877311 -L 356.61745 236.295126 -L 354.726198 237.781513 -L 353.621477 238.618727 -L 350.968559 240.685714 -L 350.625503 240.944913 -L 347.62953 243.263868 -L 347.216946 243.589916 -L 344.633557 245.58022 -L 343.467916 246.494118 -L 341.637584 247.900215 -L 339.715304 249.398319 -L 338.641611 250.222197 -L 335.961006 252.302521 -L 335.645638 252.544631 -L 332.649664 254.863916 -L 332.209226 255.206723 -L 329.653691 257.183413 -L 328.457575 258.110924 -L 326.657718 259.504233 -L 324.705229 261.015126 -L 323.661745 261.824891 -L 320.953971 263.919328 -L 320.665772 264.143897 -L 317.669799 266.464047 -L 317.201354 266.823529 -L 314.673826 268.786547 -L 313.447216 269.727731 -L 311.677852 271.108267 -L 309.695173 272.631933 -L 308.681879 273.42765 -L 305.947146 275.536134 -L 305.685906 275.743005 -L 302.689933 278.064691 -L 302.192888 278.440336 -L 299.69396 280.390539 -L 298.435988 281.344538 -L 296.697987 282.713421 -L 294.684311 284.248739 -L 293.702013 285.031418 -L 290.940261 287.152941 -L 290.70604 287.342246 -L 287.710067 289.666543 -L 287.183047 290.057143 -L 284.714094 291.996898 -L 283.422401 292.961345 -L 281.718121 294.321697 -L 279.671113 295.865546 -L 278.722148 296.638076 -L 275.932863 298.769748 -L 275.726174 298.942175 -L 272.730201 301.271329 -L 272.169744 301.67395 -L 269.734228 303.609617 -L 268.402265 304.578151 -L 266.738255 305.938983 -L 264.650918 307.482353 -L 263.742282 308.253867 -L 260.923521 310.386555 -L 260.746309 310.544831 -L 257.750336 312.885864 -L 257.143657 313.290756 -L 254.754362 315.247264 -L 253.353752 316.194958 -L 251.758389 317.599564 -L 249.593898 319.09916 -L 248.762416 319.928887 -L 245.900232 322.003361 -L 245.766443 322.178034 -L 242.77047 324.604384 -L 241.798199 324.907563 -L 239.989956 327.811765 -L 242.77047 329.227163 -L 243.896577 330.715966 -L 245.766443 331.785021 -L 247.757543 333.620168 -L 248.762416 334.212711 -L 251.609779 336.52437 -L 251.758389 336.613365 -L 254.754362 338.893345 -L 255.335506 339.428571 -L 257.750336 341.196682 -L 259.075597 342.332773 -L 260.746309 343.525822 -L 262.842742 345.236975 -L 263.742282 345.868575 -L 266.626426 348.141176 -L 266.738255 348.218795 -L 269.734228 350.518766 -L 270.361838 351.045378 -L 272.730201 352.828258 -L 274.106617 353.94958 -L 275.726174 355.150874 -L 277.865659 356.853782 -L 278.722148 357.482093 -L 281.634616 359.757983 -L 281.718121 359.81875 -L 284.714094 362.12614 -L 285.375552 362.662185 -L 287.710067 364.439892 -L 289.123306 365.566387 -L 290.70604 366.761269 -L 292.87936 368.470588 -L 293.702013 369.087757 -L 296.641068 371.37479 -L 296.697987 371.417312 -L 299.69396 373.729392 -L 300.386002 374.278992 -L 302.689933 376.046089 -L 304.135792 377.183193 -L 305.685906 378.367121 -L 307.890061 380.087395 -L 308.681879 380.690706 -L 311.646796 382.991597 -L 311.677852 383.015243 -L 314.673826 385.331254 -L 315.395324 385.895798 +" style="fill:url(#hb1742779c6);fill-opacity:0.5;"/> + <path clip-path="url(#p85834bf349)" d="M 254.135839 306.698732 +L 255.317363 307.584 +L 256.532617 307.584 +L 258.929396 307.584 +L 261.326174 307.584 +L 263.722953 307.584 +L 266.119732 307.584 +L 268.51651 307.584 +L 270.913289 307.584 +L 273.310067 307.584 +L 275.706846 307.584 +L 278.026981 307.584 +L 275.706846 305.929789 +L 274.904686 305.347765 +L 273.310067 304.174147 +L 271.886863 303.111529 +L 270.913289 302.37064 +L 268.970426 300.875294 +L 268.51651 300.517432 +L 266.153743 298.639059 +L 266.119732 298.611217 +L 263.722953 296.638568 +L 263.43724 296.402824 +L 261.326174 294.599243 +L 260.819566 294.166588 +L 258.929396 292.485161 +L 258.30367 291.930353 +L 256.532617 290.284077 +L 255.894014 289.694118 +L 254.135839 287.979178 +L 253.596507 287.457882 +L 251.73906 285.547238 +L 251.418678 285.221647 +L 249.369491 282.985412 +L 249.342282 282.953195 +L 247.452361 280.749176 +L 246.945503 280.099966 +L 245.683524 278.512941 +L 244.548725 276.922278 +L 244.078095 276.276706 +L 242.642078 274.040471 +L 242.151946 273.153199 +L 241.387865 271.804235 +L 240.332745 269.568 +L 239.755168 268.028226 +L 239.486325 267.331765 +L 238.849594 265.095529 +L 238.442227 262.859294 +L 238.266062 260.623059 +L 238.321896 258.386824 +L 238.609478 256.150588 +L 239.127506 253.914353 +L 239.755168 252.033196 +L 239.870294 251.678118 +L 240.813732 249.441882 +L 241.971292 247.205647 +L 242.151946 246.910003 +L 243.308401 244.969412 +L 244.548725 243.156969 +L 244.832536 242.733176 +L 246.516839 240.496941 +L 246.945503 239.982508 +L 248.354157 238.260706 +L 249.342282 237.154263 +L 250.336057 236.024471 +L 251.73906 234.546758 +L 252.450565 233.788235 +L 254.135839 232.107615 +L 254.687938 231.552 +L 256.532617 229.80075 +L 257.040333 229.315765 +L 258.929396 227.600698 +L 259.501566 227.079529 +L 261.326174 225.489187 +L 262.066931 224.843294 +L 263.722953 223.452983 +L 264.733077 222.607059 +L 266.119732 221.482502 +L 267.497938 220.370824 +L 268.51651 219.570892 +L 270.360704 218.134588 +L 270.913289 217.713423 +L 273.310067 215.907224 +L 273.322009 215.898353 +L 275.706846 214.156169 +L 276.395085 213.662118 +L 278.103624 212.450267 +L 279.578154 211.425882 +L 280.500403 210.789887 +L 282.877599 209.189647 +L 282.897181 209.176502 +L 285.29396 207.61159 +L 286.334226 206.953412 +L 287.690738 206.093687 +L 289.941065 204.717176 +L 290.087517 204.627032 +L 292.484295 203.209278 +L 293.771503 202.480941 +L 294.881074 201.846281 +L 297.277852 200.541569 +L 297.854102 200.244706 +L 299.674631 199.292159 +L 302.071409 198.112788 +L 302.298441 198.008471 +L 304.468188 196.990985 +L 306.864966 195.949965 +L 307.310978 195.772235 +L 309.261745 194.974865 +L 311.658523 194.086155 +L 313.316763 193.536 +L 314.055302 193.283328 +L 316.452081 192.562143 +L 318.848859 191.941846 +L 321.245638 191.424226 +L 321.96714 191.299765 +L 323.642416 191.000068 +L 326.039195 190.680562 +L 328.435973 190.47124 +L 330.832752 190.372706 +L 333.22953 190.385243 +L 335.626309 190.508815 +L 338.023087 190.743067 +L 340.419866 191.087322 +L 341.543215 191.299765 +L 342.816644 191.531986 +L 345.213423 192.072919 +L 347.610201 192.71615 +L 350.00698 193.459826 +L 350.223817 193.536 +L 352.403758 194.278629 +L 354.800537 195.188101 +L 356.200825 195.772235 +L 357.197315 196.177491 +L 359.594094 197.237497 +L 361.211859 198.008471 +L 361.990872 198.372237 +L 364.387651 199.568766 +L 365.662883 200.244706 +L 366.78443 200.830025 +L 369.181208 202.150016 +L 369.753747 202.480941 +L 371.577987 203.523989 +L 373.576319 204.717176 +L 373.974765 204.953607 +L 376.371544 206.43202 +L 377.188121 206.953412 +L 378.768322 207.960674 +L 380.638256 209.189647 +L 381.165101 209.536884 +L 383.561879 211.159616 +L 383.946073 211.425882 +L 385.958658 212.831037 +L 387.125418 213.662118 +L 388.355436 214.548827 +L 390.196294 215.898353 +L 390.752215 216.312769 +L 393.148993 218.124065 +L 393.16277 218.134588 +L 395.545772 219.994505 +L 396.024241 220.370824 +L 397.94255 221.920439 +L 398.788506 222.607059 +L 400.339329 223.906853 +L 401.454553 224.843294 +L 402.736107 225.960915 +L 404.020121 227.079529 +L 405.132886 228.092614 +L 406.481661 229.315765 +L 407.529664 230.31571 +L 408.834254 231.552 +L 409.926443 232.649171 +L 411.071486 233.788235 +L 412.323221 235.119399 +L 413.185251 236.024471 +L 414.72 237.763784 +L 414.72 236.024471 +L 414.72 233.788235 +L 414.72 231.552 +L 414.72 229.315765 +L 414.72 227.079529 +L 414.72 224.843294 +L 414.72 222.607059 +L 414.72 220.370824 +L 414.72 218.134588 +L 414.72 217.363999 +L 412.762202 215.898353 +L 412.323221 215.575173 +L 409.926443 213.787926 +L 409.759371 213.662118 +L 407.529664 212.003121 +L 406.759133 211.425882 +L 405.132886 210.216544 +L 403.757378 209.189647 +L 402.736107 208.429362 +L 400.755541 206.953412 +L 400.339329 206.642717 +L 397.94255 204.856884 +L 397.754155 204.717176 +L 395.545772 203.069272 +L 394.751266 202.480941 +L 393.148993 201.281539 +L 391.749078 200.244706 +L 390.752215 199.494836 +L 388.749063 198.008471 +L 388.355436 197.710383 +L 385.958658 195.925558 +L 385.748604 195.772235 +L 383.561879 194.135005 +L 382.742919 193.536 +L 381.165101 192.345936 +L 379.740267 191.299765 +L 378.768322 190.559684 +L 376.742391 189.063529 +L 376.371544 188.777781 +L 373.974765 186.993684 +L 373.7424 186.827294 +L 371.577987 185.199472 +L 370.733194 184.591059 +L 369.181208 183.408514 +L 367.729879 182.354824 +L 366.78443 181.622643 +L 364.734915 180.118588 +L 364.387651 179.844212 +L 361.990872 178.060633 +L 361.734744 177.882353 +L 359.594094 176.260708 +L 358.719876 175.646118 +L 357.197315 174.466164 +L 355.715093 173.409882 +L 354.800537 172.680145 +L 352.724924 171.173647 +L 352.403758 170.907489 +L 350.00698 169.124269 +L 349.722632 168.937412 +L 347.610201 167.31132 +L 346.693799 166.701176 +L 345.213423 165.505143 +L 343.682439 164.464941 +L 342.816644 163.712725 +L 340.702673 162.228706 +L 340.419866 161.951715 +L 338.023087 160.168806 +L 337.674719 159.992471 +L 335.626309 158.265205 +L 334.482084 157.756235 +L 333.22953 156.065929 +L 330.832752 155.737779 +L 328.956962 157.756235 +L 328.435973 157.941024 +L 326.039195 159.746958 +L 325.825726 159.992471 +L 323.642416 161.499822 +L 322.855706 162.228706 +L 321.245638 163.297893 +L 319.841878 164.464941 +L 318.848859 165.110555 +L 316.807293 166.701176 +L 316.452081 166.929246 +L 314.055302 168.718424 +L 313.797296 168.937412 +L 311.658523 170.487129 +L 310.810769 171.173647 +L 309.261745 172.272275 +L 307.806699 173.409882 +L 306.864966 174.067469 +L 304.790796 175.646118 +L 304.468188 175.868855 +L 302.071409 177.655478 +L 301.787204 177.882353 +L 299.674631 179.431893 +L 298.794178 180.118588 +L 297.277852 181.217026 +L 295.791432 182.354824 +L 294.881074 183.008109 +L 292.781766 184.591059 +L 292.484295 184.803067 +L 290.087517 186.588844 +L 289.779957 186.827294 +L 287.690738 188.369493 +L 286.783285 189.063529 +L 285.29396 190.155247 +L 283.780958 191.299765 +L 282.897181 191.94442 +L 280.774847 193.536 +L 280.500403 193.735583 +L 278.103624 195.521178 +L 277.773557 195.772235 +L 275.706846 197.30477 +L 274.774333 198.008471 +L 273.310067 199.091165 +L 271.772243 200.244706 +L 270.913289 200.879091 +L 268.768804 202.480941 +L 268.51651 202.667366 +L 266.119732 204.453215 +L 265.767381 204.717176 +L 263.722953 206.239228 +L 262.76606 206.953412 +L 261.326174 208.026259 +L 259.764183 209.189647 +L 258.929396 209.813166 +L 256.763177 211.425882 +L 256.532617 211.598801 +L 254.135839 213.385316 +L 253.761083 213.662118 +L 251.73906 215.173641 +L 250.757773 215.898353 +L 249.342282 216.961365 +L 247.756138 218.134588 +L 246.945503 218.74729 +L 244.757717 220.370824 +L 244.548725 220.530114 +L 242.151946 222.317812 +L 241.75431 222.607059 +L 239.755168 224.108715 +L 238.748791 224.843294 +L 237.358389 225.897335 +L 235.747449 227.079529 +L 234.961611 227.682192 +L 232.752209 229.315765 +L 232.564832 229.461529 +L 230.168054 231.251238 +L 229.746437 231.552 +L 227.771275 233.045612 +L 226.737921 233.788235 +L 225.374497 234.835707 +L 223.73689 236.024471 +L 222.977718 236.619318 +L 220.74629 238.260706 +L 220.58094 238.393475 +L 218.184161 240.186923 +L 217.735795 240.496941 +L 215.787383 241.987405 +L 214.721812 242.733176 +L 213.390604 243.781017 +L 211.720734 244.969412 +L 210.993826 245.563477 +L 208.738817 247.205647 +L 208.597047 247.32752 +L 206.200268 249.130115 +L 205.714926 249.441882 +L 203.80349 250.948393 +L 202.683002 251.678118 +L 201.406711 252.759664 +L 199.675119 253.914353 +L 199.009933 254.553243 +L 196.720186 256.150588 +L 196.613154 256.285086 +L 194.216376 258.153376 +L 193.438559 258.386824 +L 191.991965 260.623059 +L 194.216376 261.712916 +L 195.117262 262.859294 +L 196.613154 263.682466 +L 198.206034 265.095529 +L 199.009933 265.551788 +L 201.287823 267.331765 +L 201.406711 267.400291 +L 203.80349 269.155875 +L 204.268405 269.568 +L 206.200268 270.929445 +L 207.260478 271.804235 +L 208.597047 272.722883 +L 210.274193 274.040471 +L 210.993826 274.526803 +L 213.301141 276.276706 +L 213.390604 276.336472 +L 215.787383 278.10745 +L 216.28947 278.512941 +L 218.184161 279.885759 +L 219.285293 280.749176 +L 220.58094 281.674173 +L 222.292527 282.985412 +L 222.977718 283.469211 +L 225.307693 285.221647 +L 225.374497 285.268438 +L 227.771275 287.045128 +L 228.300442 287.457882 +L 230.168054 288.826717 +L 231.298645 289.694118 +L 232.564832 290.614177 +L 234.303488 291.930353 +L 234.961611 292.405573 +L 237.312854 294.166588 +L 237.358389 294.19933 +L 239.755168 295.979632 +L 240.308802 296.402824 +L 242.151946 297.763489 +L 243.308634 298.639059 +L 244.548725 299.550683 +L 246.312049 300.875294 +L 246.945503 301.339844 +L 249.317437 303.111529 +L 249.342282 303.129737 +L 251.73906 304.913065 +L 252.316259 305.347765 z -" style="fill:url(#hb07dbf6fd0);fill-opacity:0.5;"/> - <path clip-path="url(#p5b7831a9a7)" d="M 482.448322 388.8 -L 485.444295 388.8 -L 488.440268 388.8 -L 491.436242 388.8 -L 494.432215 388.8 -L 497.428188 388.8 -L 500.424161 388.8 -L 503.420134 388.8 -L 506.416107 388.8 -L 509.412081 388.8 -L 510.25462 388.8 -L 512.408054 387.126669 -L 514.007654 385.895798 -L 515.404027 384.805886 -L 517.758393 382.991597 -L 518.4 382.48766 -L 518.4 380.087395 -L 518.4 377.183193 -L 518.4 374.278992 -L 518.4 371.37479 -L 518.4 368.470588 -L 518.4 365.566387 -L 518.4 362.662185 -L 518.4 359.757983 -L 518.4 356.853782 -L 518.4 355.987514 -L 517.693588 356.853782 -L 515.404027 359.441502 -L 515.127571 359.757983 -L 512.408054 362.657211 -L 512.403434 362.662185 -L 509.53251 365.566387 -L 509.412081 365.681769 -L 506.521107 368.470588 -L 506.416107 368.567205 -L 503.420134 371.334809 -L 503.376898 371.37479 -L 500.424161 373.996171 -L 500.104999 374.278992 -L 497.428188 376.56983 -L 496.708068 377.183193 -L 494.432215 379.065738 -L 493.187594 380.087395 -L 491.436242 381.490862 -L 489.543476 382.991597 -L 488.440268 383.8498 -L 485.773959 385.895798 -L 485.444295 386.145187 -L 482.448322 388.373888 -L 481.863935 388.8 +" style="fill:url(#hb1742779c6);fill-opacity:0.5;"/> + <path clip-path="url(#p85834bf349)" d="M 385.958658 307.584 +L 388.355436 307.584 +L 390.752215 307.584 +L 393.148993 307.584 +L 395.545772 307.584 +L 397.94255 307.584 +L 400.339329 307.584 +L 402.736107 307.584 +L 405.132886 307.584 +L 407.529664 307.584 +L 408.203696 307.584 +L 409.926443 306.295535 +L 411.206123 305.347765 +L 412.323221 304.508532 +L 414.206714 303.111529 +L 414.72 302.723498 +L 414.72 300.875294 +L 414.72 298.639059 +L 414.72 296.402824 +L 414.72 294.166588 +L 414.72 291.930353 +L 414.72 289.694118 +L 414.72 287.457882 +L 414.72 285.221647 +L 414.72 282.985412 +L 414.72 282.318386 +L 414.15487 282.985412 +L 412.323221 284.977956 +L 412.102057 285.221647 +L 409.926443 287.454052 +L 409.922747 287.457882 +L 407.626008 289.694118 +L 407.529664 289.782962 +L 405.216886 291.930353 +L 405.132886 292.004748 +L 402.736107 294.135803 +L 402.701519 294.166588 +L 400.339329 296.185052 +L 400.083999 296.402824 +L 397.94255 298.166769 +L 397.366455 298.639059 +L 395.545772 300.088618 +L 394.550076 300.875294 +L 393.148993 301.955964 +L 391.634781 303.111529 +L 390.752215 303.772346 +L 388.619167 305.347765 +L 388.355436 305.539794 +L 385.958658 307.255894 +L 385.491148 307.584 z -" style="fill:url(#hb07dbf6fd0);fill-opacity:0.5;"/> - <path clip-path="url(#p5b7831a9a7)" d="M 413.54094 191.041895 -L 416.536913 190.631457 -L 418.181991 188.410084 -L 419.532886 187.793525 -L 422.176965 185.505882 -L 422.528859 185.322196 -L 425.524832 183.023923 -L 425.942879 182.601681 -L 428.520805 180.731345 -L 429.67221 179.697479 -L 431.516779 178.400653 -L 433.439457 176.793277 -L 434.512752 176.053251 -L 437.227612 173.889076 -L 437.508725 173.697666 -L 440.504698 171.388057 -L 440.974232 170.984874 -L 443.500671 169.084081 -L 444.713829 168.080672 -L 446.496644 166.763271 -L 448.47128 165.176471 -L 449.492617 164.431747 -L 452.241013 162.272269 -L 452.488591 162.093492 -L 455.484564 159.78059 -L 455.987838 159.368067 -L 458.480537 157.469969 -L 459.7326 156.463866 -L 461.47651 155.149916 -L 463.487587 153.559664 -L 464.472483 152.823442 -L 467.249754 150.655462 -L 467.468456 150.492893 -L 470.46443 148.177871 -L 470.997784 147.751261 -L 473.460403 145.863151 -L 474.74574 144.847059 -L 476.456376 143.542924 -L 478.499519 141.942857 -L 479.452349 141.219165 -L 482.256953 139.038655 -L 482.448322 138.893591 -L 485.444295 136.576631 -L 486.006539 136.134454 -L 488.440268 134.258866 -L 489.756853 133.230252 -L 491.436242 131.938289 -L 493.509764 130.32605 -L 494.432215 129.616475 -L 497.263432 127.421849 -L 497.428188 127.29492 -L 500.424161 124.975827 -L 501.014974 124.517647 -L 503.420134 122.655429 -L 504.7673 121.613445 -L 506.416107 120.334433 -L 508.519407 118.709244 -L 509.412081 118.014322 -L 512.269502 115.805042 -L 512.408054 115.696616 -L 515.404027 113.374888 -L 516.02362 112.90084 -L 518.4 111.051857 -L 518.4 109.996639 -L 518.4 107.092437 -L 518.4 104.188235 -L 518.4 101.284034 -L 518.4 98.379832 -L 518.4 95.47563 -L 518.4 92.571429 -L 518.4 89.667227 -L 518.4 86.763025 -L 518.4 84.557582 -L 516.5298 86.763025 -L 515.404027 87.992713 -L 513.89051 89.667227 -L 512.408054 91.201201 -L 511.096739 92.571429 -L 509.412081 94.231791 -L 508.158632 95.47563 -L 506.416107 97.118889 -L 505.084223 98.379832 -L 503.420134 99.887205 -L 501.879669 101.284034 -L 500.424161 102.554659 -L 498.549417 104.188235 -L 497.428188 105.13426 -L 495.096303 107.092437 -L 494.432215 107.635342 -L 491.5216 109.996639 -L 491.436242 110.064401 -L 488.440268 112.417583 -L 487.816535 112.90084 -L 485.444295 114.708166 -L 483.980194 115.805042 -L 482.448322 116.938909 -L 480.008228 118.709244 -L 479.452349 119.109546 -L 476.456376 121.217192 -L 475.877764 121.613445 -L 473.460403 123.264122 -L 471.567629 124.517647 -L 470.46443 125.24944 -L 467.468456 127.169316 -L 467.058802 127.421849 -L 464.472483 129.026028 -L 462.283722 130.32605 -L 461.47651 130.810675 -L 458.480537 132.524525 -L 457.178663 133.230252 -L 455.484564 134.162885 -L 452.488591 135.716297 -L 451.626389 136.134454 -L 449.492617 137.190505 -L 446.496644 138.566545 -L 445.378819 139.038655 -L 443.500671 139.852228 -L 440.504698 141.032738 -L 437.931932 141.942857 -L 437.508725 142.097223 -L 434.512752 143.062429 -L 431.516779 143.897269 -L 428.520805 144.599337 -L 427.212497 144.847059 -L 425.524832 145.178412 -L 422.528859 145.625167 -L 419.532886 145.929165 -L 416.536913 146.08953 -L 413.54094 146.1058 -L 410.544966 145.977928 -L 407.548993 145.706282 -L 404.55302 145.291646 -L 402.159249 144.847059 -L 401.557047 144.739198 -L 398.561074 144.067386 -L 395.565101 143.262313 -L 392.569128 142.326297 -L 391.489714 141.942857 -L 389.573154 141.282573 -L 386.577181 140.129012 -L 384.008306 139.038655 -L 383.581208 138.861907 -L 380.585235 137.510513 -L 377.759671 136.134454 -L 377.589262 136.05313 -L 374.593289 134.521995 -L 372.216263 133.230252 -L 371.597315 132.899051 -L 368.601342 131.205038 -L 367.121879 130.32605 -L 365.605369 129.434679 -L 362.609396 127.593733 -L 362.340575 127.421849 -L 359.613423 125.6888 -L 357.834689 124.517647 -L 356.61745 123.717482 -L 353.621477 121.685106 -L 353.518726 121.613445 -L 350.625503 119.589759 -L 349.396679 118.709244 -L 347.62953 117.433506 -L 345.420124 115.805042 -L 344.633557 115.218249 -L 341.637584 112.943728 -L 341.581899 112.90084 -L 338.641611 110.597895 -L 337.882596 109.996639 -L 335.645638 108.185739 -L 334.306323 107.092437 -L 332.649664 105.703324 -L 330.85251 104.188235 -L 329.653691 103.144488 -L 327.522176 101.284034 -L 326.657718 100.50031 -L 324.317916 98.379832 -L 323.661745 97.758311 -L 321.243924 95.47563 -L 320.665772 94.901256 -L 318.306098 92.571429 -L 317.669799 91.905346 -L 315.512179 89.667227 -L 314.673826 88.737402 -L 312.871986 86.763025 -L 311.677852 85.350387 -L 310.397714 83.858824 -L 308.681879 81.675982 -L 308.104351 80.954622 -L 306.003278 78.05042 -L 305.685906 77.556871 -L 304.101863 75.146218 -L 302.689933 72.677616 -L 302.434468 72.242017 -L 300.992494 69.337815 -L 299.818287 66.433613 -L 299.69396 66.032929 -L 298.894561 63.529412 -L 298.25242 60.62521 -L 297.898382 57.721008 -L 297.834044 54.816807 -L 298.059699 51.912605 -L 298.574327 49.008403 -L 299.375602 46.104202 -L 299.69396 45.251512 -L 300.438261 43.2 -L 299.69396 43.2 -L 296.697987 43.2 -L 293.702013 43.2 -L 290.70604 43.2 -L 287.710067 43.2 -L 284.714094 43.2 -L 281.718121 43.2 -L 278.722148 43.2 -L 275.726174 43.2 -L 272.730201 43.2 -L 269.734228 43.2 -L 266.738255 43.2 -L 263.742282 43.2 -L 260.746309 43.2 -L 257.750336 43.2 -L 255.40266 43.2 -L 254.754362 43.794166 -L 251.758389 46.063039 -L 251.689316 46.104202 -L 248.762416 48.464531 -L 247.833867 49.008403 -L 245.766443 50.893836 -L 243.96557 51.912605 -L 242.77047 53.454468 -L 240.027963 54.816807 -L 241.694852 57.721008 -L 242.77047 58.061565 -L 245.766443 60.525183 -L 245.841899 60.62521 -L 248.762416 62.759748 -L 249.527281 63.529412 -L 251.758389 65.084043 -L 253.282486 66.433613 -L 254.754362 67.433845 -L 257.069464 69.337815 -L 257.750336 69.793792 -L 260.746309 72.142907 -L 260.856895 72.242017 -L 263.742282 74.431323 -L 264.581849 75.146218 -L 266.738255 76.744478 -L 268.33133 78.05042 -L 269.734228 79.072625 -L 272.097372 80.954622 -L 272.730201 81.410038 -L 275.726174 83.743316 -L 275.864389 83.858824 -L 278.722148 86.04619 -L 279.601345 86.763025 -L 281.718121 88.36164 -L 283.351593 89.667227 -L 284.714094 90.685737 -L 287.111415 92.571429 -L 287.710067 93.015573 -L 290.70604 95.342254 -L 290.870893 95.47563 -L 293.702013 97.65238 -L 294.614185 98.379832 -L 296.697987 99.96984 -L 298.365267 101.284034 -L 299.69396 102.292328 -L 302.121718 104.188235 -L 302.689933 104.617906 -L 305.685906 106.940876 -L 305.877195 107.092437 -L 308.681879 109.255838 -L 309.624812 109.996639 -L 311.677852 111.574946 -L 313.376572 112.90084 -L 314.673826 113.896499 -L 317.130549 115.805042 -L 317.669799 116.218936 -L 320.665772 118.539509 -L 320.88356 118.709244 -L 323.661745 120.858351 -L 324.634685 121.613445 -L 326.657718 123.178945 -L 328.387015 124.517647 -L 329.653691 125.499801 -L 332.138766 127.421849 -L 332.649664 127.819434 -L 335.645638 130.138349 -L 335.890173 130.32605 -L 338.641611 132.460819 -L 339.644599 133.230252 -L 341.637584 134.782937 -L 343.397459 136.134454 -L 344.633557 137.103176 -L 347.146863 139.038655 -L 347.62953 139.419887 -L 350.625503 141.737622 -L 350.89728 141.942857 -L 353.621477 144.064046 -L 354.655328 144.847059 -L 356.61745 146.388006 -L 358.40879 147.751261 -L 359.613423 148.707661 -L 362.15534 150.655462 -L 362.609396 151.020844 -L 365.605369 153.337744 -L 365.905365 153.559664 -L 368.601342 155.669334 -L 369.668216 156.463866 -L 371.597315 157.996062 -L 373.422625 159.368067 -L 374.593289 160.315274 -L 377.165126 162.272269 -L 377.589262 162.623441 -L 380.585235 164.939782 -L 380.915757 165.176471 -L 383.581208 167.28004 -L 384.686972 168.080672 -L 386.577181 169.612569 -L 388.443793 170.984874 -L 389.573154 171.932503 -L 392.179215 173.889076 -L 392.569128 174.231796 -L 395.565101 176.547835 -L 395.934239 176.793277 -L 398.561074 178.911033 -L 399.730072 179.697479 -L 401.557047 181.267253 -L 403.501408 182.601681 -L 404.55302 183.60644 -L 407.220889 185.505882 -L 407.548993 185.89307 -L 410.544966 188.209311 -L 411.096645 188.410084 +" style="fill:url(#hb1742779c6);fill-opacity:0.5;"/> + <path clip-path="url(#p85834bf349)" d="M 330.832752 155.310259 +L 333.22953 154.994222 +L 334.545593 153.283765 +L 335.626309 152.809014 +L 337.741572 151.047529 +L 338.023087 150.906091 +L 340.419866 149.136421 +L 340.754303 148.811294 +L 342.816644 147.371136 +L 343.737768 146.575059 +L 345.213423 145.576503 +L 346.751565 144.338824 +L 347.610201 143.769003 +L 349.78209 142.102588 +L 350.00698 141.955203 +L 352.403758 140.176804 +L 352.779386 139.866353 +L 354.800537 138.402742 +L 355.771063 137.630118 +L 357.197315 136.615719 +L 358.777024 135.393882 +L 359.594094 134.820445 +L 361.79281 133.157647 +L 361.990872 133.019989 +L 364.387651 131.239054 +L 364.790271 130.921412 +L 366.78443 129.459876 +L 367.78608 128.685176 +L 369.181208 127.673436 +L 370.79007 126.448941 +L 371.577987 125.88205 +L 373.799803 124.212706 +L 373.974765 124.087528 +L 376.371544 122.304961 +L 376.798227 121.976471 +L 378.768322 120.522626 +L 379.796592 119.740235 +L 381.165101 118.736052 +L 382.799615 117.504 +L 383.561879 116.946757 +L 385.805562 115.267765 +L 385.958658 115.156065 +L 388.355436 113.372006 +L 388.805231 113.031529 +L 390.752215 111.587326 +L 391.805483 110.795294 +L 393.148993 109.800482 +L 394.807811 108.559059 +L 395.545772 108.012686 +L 397.810745 106.322824 +L 397.94255 106.225089 +L 400.339329 104.439387 +L 400.811979 104.086588 +L 402.736107 102.65268 +L 403.81384 101.850353 +L 405.132886 100.865513 +L 406.815526 99.614118 +L 407.529664 99.079028 +L 409.815602 97.377882 +L 409.926443 97.294394 +L 412.323221 95.506664 +L 412.818896 95.141647 +L 414.72 93.71793 +L 414.72 92.905412 +L 414.72 90.669176 +L 414.72 88.432941 +L 414.72 86.196706 +L 414.72 83.960471 +L 414.72 81.724235 +L 414.72 79.488 +L 414.72 77.251765 +L 414.72 75.015529 +L 414.72 73.317338 +L 413.22384 75.015529 +L 412.323221 75.962389 +L 411.112408 77.251765 +L 409.926443 78.432925 +L 408.877391 79.488 +L 407.529664 80.766479 +L 406.526906 81.724235 +L 405.132886 82.989544 +L 404.067378 83.960471 +L 402.736107 85.121148 +L 401.503735 86.196706 +L 400.339329 87.175088 +L 398.839533 88.432941 +L 397.94255 89.16138 +L 396.077043 90.669176 +L 395.545772 91.087214 +L 393.21728 92.905412 +L 393.148993 92.957589 +L 390.752215 94.769539 +L 390.253228 95.141647 +L 388.355436 96.533288 +L 387.184155 97.377882 +L 385.958658 98.25096 +L 384.006582 99.614118 +L 383.561879 99.92235 +L 381.165101 101.545238 +L 380.702211 101.850353 +L 378.768322 103.121374 +L 377.254103 104.086588 +L 376.371544 104.650069 +L 373.974765 106.128373 +L 373.647042 106.322824 +L 371.577987 107.558042 +L 369.826977 108.559059 +L 369.181208 108.93222 +L 366.78443 110.251884 +L 365.74293 110.795294 +L 364.387651 111.513422 +L 361.990872 112.709549 +L 361.301111 113.031529 +L 359.594094 113.844689 +L 357.197315 114.90424 +L 356.303055 115.267765 +L 354.800537 115.894215 +L 352.403758 116.803208 +L 350.345545 117.504 +L 350.00698 117.622862 +L 347.610201 118.36607 +L 345.213423 119.008897 +L 342.816644 119.54949 +L 341.769998 119.740235 +L 340.419866 119.995377 +L 338.023087 120.339378 +L 335.626309 120.573457 +L 333.22953 120.696938 +L 330.832752 120.709466 +L 328.435973 120.611004 +L 326.039195 120.401837 +L 323.642416 120.082567 +L 321.727399 119.740235 +L 321.245638 119.657182 +L 318.848859 119.139888 +L 316.452081 118.519981 +L 314.055302 117.799249 +L 313.191771 117.504 +L 311.658523 116.995581 +L 309.261745 116.107339 +L 307.206645 115.267765 +L 306.864966 115.131668 +L 304.468188 114.091095 +L 302.207737 113.031529 +L 302.071409 112.96891 +L 299.674631 111.789936 +L 297.77301 110.795294 +L 297.277852 110.540269 +L 294.881074 109.23588 +L 293.697503 108.559059 +L 292.484295 107.872703 +L 290.087517 106.455174 +L 289.87246 106.322824 +L 287.690738 104.988376 +L 286.267751 104.086588 +L 285.29396 103.470461 +L 282.897181 101.905532 +L 282.814981 101.850353 +L 280.500403 100.292114 +L 279.517344 99.614118 +L 278.103624 98.6318 +L 276.336099 97.377882 +L 275.706846 96.926052 +L 273.310067 95.17467 +L 273.265519 95.141647 +L 270.913289 93.368379 +L 270.306077 92.905412 +L 268.51651 91.511019 +L 267.445059 90.669176 +L 266.119732 89.59956 +L 264.682008 88.432941 +L 263.722953 87.629256 +L 262.017741 86.196706 +L 261.326174 85.593239 +L 259.454332 83.960471 +L 258.929396 83.481899 +L 256.99514 81.724235 +L 256.532617 81.281967 +L 254.644878 79.488 +L 254.135839 78.975117 +L 252.409743 77.251765 +L 251.73906 76.5358 +L 250.297589 75.015529 +L 249.342282 73.927798 +L 248.318171 72.779294 +L 246.945503 71.098506 +L 246.483481 70.543059 +L 244.802622 68.306824 +L 244.548725 67.926791 +L 243.28149 66.070588 +L 242.151946 64.169764 +L 241.947574 63.834353 +L 240.793996 61.598118 +L 239.85463 59.361882 +L 239.755168 59.053355 +L 239.115649 57.125647 +L 238.601936 54.889412 +L 238.318705 52.653176 +L 238.267236 50.416941 +L 238.447759 48.180706 +L 238.859462 45.944471 +L 239.500482 43.708235 +L 239.755168 43.051664 +L 240.350609 41.472 +L 239.755168 41.472 +L 237.358389 41.472 +L 234.961611 41.472 +L 232.564832 41.472 +L 230.168054 41.472 +L 227.771275 41.472 +L 225.374497 41.472 +L 222.977718 41.472 +L 220.58094 41.472 +L 218.184161 41.472 +L 215.787383 41.472 +L 213.390604 41.472 +L 210.993826 41.472 +L 208.597047 41.472 +L 206.200268 41.472 +L 204.322128 41.472 +L 203.80349 41.929508 +L 201.406711 43.67654 +L 201.351453 43.708235 +L 199.009933 45.525689 +L 198.267094 45.944471 +L 196.613154 47.396253 +L 195.172456 48.180706 +L 194.216376 49.36794 +L 192.022371 50.416941 +L 193.355882 52.653176 +L 194.216376 52.915405 +L 196.613154 54.812391 +L 196.673519 54.889412 +L 199.009933 56.533006 +L 199.621825 57.125647 +L 201.406711 58.322713 +L 202.625989 59.361882 +L 203.80349 60.132061 +L 205.655571 61.598118 +L 206.200268 61.94922 +L 208.597047 63.758038 +L 208.685516 63.834353 +L 210.993826 65.520119 +L 211.665479 66.070588 +L 213.390604 67.301248 +L 214.665064 68.306824 +L 215.787383 69.093921 +L 217.677898 70.543059 +L 218.184161 70.893729 +L 220.58094 72.690353 +L 220.691511 72.779294 +L 222.977718 74.463566 +L 223.681076 75.015529 +L 225.374497 76.246463 +L 226.681274 77.251765 +L 227.771275 78.036018 +L 229.689132 79.488 +L 230.168054 79.829991 +L 232.564832 81.621536 +L 232.696714 81.724235 +L 234.961611 83.400333 +L 235.691348 83.960471 +L 237.358389 85.184777 +L 238.692213 86.196706 +L 239.755168 86.973093 +L 241.697374 88.432941 +L 242.151946 88.763787 +L 244.548725 90.552474 +L 244.701756 90.669176 +L 246.945503 92.334995 +L 247.69985 92.905412 +L 249.342282 94.120708 +L 250.701258 95.141647 +L 251.73906 95.908304 +L 253.704439 97.377882 +L 254.135839 97.69658 +L 256.532617 99.483422 +L 256.706848 99.614118 +L 258.929396 101.26893 +L 259.707748 101.850353 +L 261.326174 103.055788 +L 262.709612 104.086588 +L 263.722953 104.842846 +L 265.711013 106.322824 +L 266.119732 106.628964 +L 268.51651 108.414529 +L 268.712139 108.559059 +L 270.913289 110.20283 +L 271.715679 110.795294 +L 273.310067 111.990862 +L 274.717968 113.031529 +L 275.706846 113.777445 +L 277.71749 115.267765 +L 278.103624 115.561313 +L 280.500403 117.345969 +L 280.717824 117.504 +L 282.897181 119.137316 +L 283.724262 119.740235 +L 285.29396 120.926764 +L 286.727032 121.976471 +L 287.690738 122.712899 +L 289.724272 124.212706 +L 290.087517 124.49405 +L 292.484295 126.278063 +L 292.724292 126.448941 +L 294.881074 128.073387 +L 295.734573 128.685176 +L 297.277852 129.864968 +L 298.7381 130.921412 +L 299.674631 131.650761 +L 301.732101 133.157647 +L 302.071409 133.428049 +L 304.468188 135.211632 +L 304.732606 135.393882 +L 306.864966 137.013631 +L 307.749578 137.630118 +L 309.261745 138.809678 +L 310.755034 139.866353 +L 311.658523 140.596027 +L 313.743372 142.102588 +L 314.055302 142.366483 +L 316.452081 144.149833 +L 316.747391 144.338824 +L 318.848859 145.969496 +L 319.784057 146.575059 +L 321.245638 147.783785 +L 322.801127 148.811294 +L 323.642416 149.584958 +L 325.776711 151.047529 +L 326.039195 151.345664 +L 328.435973 153.12917 +L 328.877316 153.283765 z -" style="fill:url(#hb07dbf6fd0);fill-opacity:0.5;"/> - <path clip-path="url(#p5b7831a9a7)" d="M 74.995973 182.958916 -L 75.347613 182.601681 -L 77.991946 180.672005 -L 79.072255 179.697479 -L 80.987919 178.344424 -L 82.836251 176.793277 -L 83.983893 175.998955 -L 86.622064 173.889076 -L 86.979866 173.644656 -L 89.975839 171.328567 -L 90.375115 170.984874 -L 92.971812 169.02643 -L 94.1128 168.080672 -L 95.967785 166.706976 -L 97.868713 165.176471 -L 98.963758 164.376467 -L 101.637211 162.272269 -L 101.959732 162.038975 -L 104.955705 159.722518 -L 105.387536 159.368067 -L 107.951678 157.412874 -L 109.131227 156.463866 -L 110.947651 155.093585 -L 112.885335 153.559664 -L 113.943624 152.7677 -L 116.646794 150.655462 -L 116.939597 150.437595 -L 119.93557 148.120514 -L 120.396852 147.751261 -L 122.931544 145.806356 -L 124.144191 144.847059 -L 125.927517 143.48656 -L 127.897486 141.942857 -L 128.92349 141.163113 -L 131.654562 139.038655 -L 131.919463 138.837746 -L 134.915436 136.519752 -L 135.405175 136.134454 -L 137.911409 134.202276 -L 139.155195 133.230252 -L 140.907383 131.881887 -L 142.907922 130.32605 -L 143.903356 129.560165 -L 146.661514 127.421849 -L 146.899329 127.238609 -L 149.895302 124.919331 -L 150.41326 124.517647 -L 152.891275 122.599002 -L 154.165565 121.613445 -L 155.887248 120.277984 -L 157.91776 118.709244 -L 158.883221 117.957757 -L 161.668048 115.805042 -L 161.879195 115.639838 -L 164.875168 113.31875 -L 165.421578 112.90084 -L 167.871141 110.995581 -L 169.176133 109.996639 -L 170.867114 108.673826 -L 172.927736 107.092437 -L 173.863087 106.355107 -L 176.674379 104.188235 -L 176.85906 104.041228 -L 179.855034 101.717488 -L 180.43067 101.284034 -L 182.851007 99.390997 -L 184.187841 98.379832 -L 185.84698 97.0682 -L 187.938729 95.47563 -L 188.842953 94.7512 -L 191.680699 92.571429 -L 191.838926 92.44257 -L 194.834899 90.114616 -L 195.441589 89.667227 -L 197.830872 87.783355 -L 199.202556 86.763025 -L 200.826846 85.458615 -L 202.952578 83.858824 -L 203.822819 83.143741 -L 206.687333 80.954622 -L 206.818792 80.843444 -L 209.814765 78.507593 -L 210.457437 78.05042 -L 212.810738 76.167012 -L 214.226193 75.146218 -L 215.806711 73.8367 -L 217.975706 72.242017 -L 218.802685 71.523851 -L 221.695449 69.337815 -L 221.798658 69.242036 -L 224.794631 66.884484 -L 225.495255 66.433613 -L 227.790604 64.508885 -L 229.299134 63.529412 -L 230.786577 62.134688 -L 233.067901 60.62521 -L 233.78255 59.767556 -L 236.722776 57.721008 -L 236.778523 57.507481 -L 239.352103 54.816807 -L 236.778523 54.04966 -L 234.821624 51.912605 -L 233.78255 51.415045 -L 230.867576 49.008403 -L 230.786577 48.965453 -L 227.790604 46.714148 -L 227.162093 46.104202 -L 224.794631 44.406376 -L 223.418954 43.2 -L 221.798658 43.2 -L 218.802685 43.2 -L 215.806711 43.2 -L 212.810738 43.2 -L 209.814765 43.2 -L 206.818792 43.2 -L 203.822819 43.2 -L 200.826846 43.2 -L 197.830872 43.2 -L 194.834899 43.2 -L 191.838926 43.2 -L 188.842953 43.2 -L 185.84698 43.2 -L 182.851007 43.2 -L 179.855034 43.2 -L 178.364503 43.2 -L 179.425377 46.104202 -L 179.855034 47.695872 -L 180.219982 49.008403 -L 180.738616 51.912605 -L 180.966027 54.816807 -L 180.901189 57.721008 -L 180.544395 60.62521 -L 179.897256 63.529412 -L 179.855034 63.66062 -L 178.98872 66.433613 -L 177.806477 69.337815 -L 176.85906 71.232986 -L 176.367553 72.242017 -L 174.696589 75.146218 -L 173.863087 76.407162 -L 172.801008 78.05042 -L 170.867114 80.709956 -L 170.69258 80.954622 -L 168.399911 83.858824 -L 167.871141 84.472289 -L 165.927935 86.763025 -L 164.875168 87.912566 -L 163.288773 89.667227 -L 161.879195 91.125389 -L 160.495047 92.571429 -L 158.883221 94.159686 -L 157.556937 95.47563 -L 155.887248 97.049995 -L 154.482508 98.379832 -L 152.891275 99.821123 -L 151.277947 101.284034 -L 149.895302 102.491063 -L 147.947727 104.188235 -L 146.899329 105.07288 -L 144.494711 107.092437 -L 143.903356 107.575954 -L 140.920199 109.996639 -L 140.907383 110.006815 -L 137.911409 112.36069 -L 137.214503 112.90084 -L 134.915436 114.653065 -L 133.378472 115.805042 -L 131.919463 116.88546 -L 129.40702 118.709244 -L 128.92349 119.057629 -L 125.927517 121.16656 -L 125.275426 121.613445 -L 122.931544 123.215063 -L 120.966247 124.517647 -L 119.93557 125.201873 -L 116.939597 127.123456 -L 116.456033 127.421849 -L 113.943624 128.981737 -L 111.682807 130.32605 -L 110.947651 130.767906 -L 107.951678 132.483879 -L 106.57672 133.230252 -L 104.955705 134.123882 -L 101.959732 135.679682 -L 101.02364 136.134454 -L 98.963758 137.155685 -L 95.967785 138.53437 -L 94.776355 139.038655 -L 92.971812 139.822035 -L 89.975839 141.00544 -L 87.333318 141.942857 -L 86.979866 142.072142 -L 83.983893 143.040486 -L 80.987919 143.878527 -L 77.991946 144.583851 -L 76.609888 144.847059 -L 74.995973 145.165775 -L 72 145.615989 -L 72 147.751261 -L 72 150.655462 -L 72 153.559664 -L 72 156.463866 -L 72 159.368067 -L 72 162.272269 -L 72 165.176471 -L 72 168.080672 -L 72 170.984874 -L 72 173.889076 -L 72 176.793277 -L 72 179.697479 -L 72 182.601681 -L 72 185.27498 +" style="fill:url(#hb1742779c6);fill-opacity:0.5;"/> + <path clip-path="url(#p85834bf349)" d="M 59.996779 149.086365 +L 60.27809 148.811294 +L 62.393557 147.325444 +L 63.257804 146.575059 +L 64.790336 145.533207 +L 66.269001 144.338824 +L 67.187114 143.727195 +L 69.297651 142.102588 +L 69.583893 141.914385 +L 71.980671 140.130997 +L 72.300092 139.866353 +L 74.37745 138.358351 +L 75.29024 137.630118 +L 76.774228 136.572372 +L 78.29497 135.393882 +L 79.171007 134.77788 +L 81.309769 133.157647 +L 81.567785 132.978011 +L 83.964564 131.194339 +L 84.310029 130.921412 +L 86.361342 129.415913 +L 87.304981 128.685176 +L 88.758121 127.63006 +L 90.308268 126.448941 +L 91.154899 125.839129 +L 93.317435 124.212706 +L 93.551678 124.044949 +L 95.948456 122.260796 +L 96.317482 121.976471 +L 98.345235 120.478894 +L 99.315353 119.740235 +L 100.742013 118.692651 +L 102.317989 117.504 +L 103.138792 116.903597 +L 105.32365 115.267765 +L 105.53557 115.113064 +L 107.932349 113.328209 +L 108.32414 113.031529 +L 110.329128 111.543752 +L 111.324156 110.795294 +L 112.725906 109.757053 +L 114.326337 108.559059 +L 115.122685 107.969327 +L 117.329212 106.322824 +L 117.519463 106.181729 +L 119.916242 104.395885 +L 120.330608 104.086588 +L 122.31302 102.609232 +L 123.332452 101.850353 +L 124.709799 100.822048 +L 126.334208 99.614118 +L 127.106577 99.035473 +L 129.334438 97.377882 +L 129.503356 97.250675 +L 131.900134 95.463437 +L 132.337262 95.141647 +L 134.296913 93.674597 +L 135.340906 92.905412 +L 136.693691 91.886846 +L 138.342189 90.669176 +L 139.09047 90.101432 +L 141.339503 88.432941 +L 141.487248 88.319745 +L 143.884027 86.530466 +L 144.344536 86.196706 +L 146.280805 84.739068 +L 147.350273 83.960471 +L 148.677584 82.950514 +L 150.350983 81.724235 +L 151.074362 81.166424 +L 153.344559 79.488 +L 153.471141 79.388779 +L 155.867919 77.596254 +L 156.353271 77.251765 +L 158.264698 75.801183 +L 159.362045 75.015529 +L 160.661477 74.011133 +L 162.362062 72.779294 +L 163.058255 72.228681 +L 165.349866 70.543059 +L 165.455034 70.457452 +L 167.851812 68.658847 +L 168.36595 68.306824 +L 170.248591 66.856599 +L 171.380954 66.070588 +L 172.645369 65.062259 +L 174.380565 63.834353 +L 175.042148 63.281366 +L 177.356359 61.598118 +L 177.438926 61.524367 +L 179.835705 59.709053 +L 180.396204 59.361882 +L 182.232483 57.879841 +L 183.439307 57.125647 +L 184.629262 56.051709 +L 186.454321 54.889412 +L 187.02604 54.229018 +L 189.378221 52.653176 +L 189.422819 52.48876 +L 191.481682 50.416941 +L 189.422819 49.826238 +L 187.857299 48.180706 +L 187.02604 47.797585 +L 184.694061 45.944471 +L 184.629262 45.911399 +L 182.232483 44.177894 +L 181.729675 43.708235 +L 179.835705 42.40091 +L 178.735163 41.472 +L 177.438926 41.472 +L 175.042148 41.472 +L 172.645369 41.472 +L 170.248591 41.472 +L 167.851812 41.472 +L 165.455034 41.472 +L 163.058255 41.472 +L 160.661477 41.472 +L 158.264698 41.472 +L 155.867919 41.472 +L 153.471141 41.472 +L 151.074362 41.472 +L 148.677584 41.472 +L 146.280805 41.472 +L 143.884027 41.472 +L 142.691603 41.472 +L 143.540302 43.708235 +L 143.884027 44.933822 +L 144.175986 45.944471 +L 144.590893 48.180706 +L 144.772822 50.416941 +L 144.720951 52.653176 +L 144.435516 54.889412 +L 143.917805 57.125647 +L 143.884027 57.226677 +L 143.190976 59.361882 +L 142.245181 61.598118 +L 141.487248 63.057399 +L 141.094042 63.834353 +L 139.757271 66.070588 +L 139.09047 67.041515 +L 138.240807 68.306824 +L 136.693691 70.354666 +L 136.554064 70.543059 +L 134.719929 72.779294 +L 134.296913 73.251663 +L 132.742348 75.015529 +L 131.900134 75.900676 +L 130.631019 77.251765 +L 129.503356 78.37455 +L 128.396038 79.488 +L 127.106577 80.710958 +L 126.04555 81.724235 +L 124.709799 82.936496 +L 123.586006 83.960471 +L 122.31302 85.070264 +L 121.022357 86.196706 +L 119.916242 87.126118 +L 118.358181 88.432941 +L 117.519463 89.114117 +L 115.595769 90.669176 +L 115.122685 91.041485 +L 112.736159 92.905412 +L 112.725906 92.913248 +L 110.329128 94.725732 +L 109.771602 95.141647 +L 107.932349 96.49086 +L 106.702778 97.377882 +L 105.53557 98.209804 +L 103.525616 99.614118 +L 103.138792 99.882374 +L 100.742013 101.506251 +L 100.220341 101.850353 +L 98.345235 103.083599 +L 96.772998 104.086588 +L 95.948456 104.613442 +L 93.551678 106.093061 +L 93.164826 106.322824 +L 91.154899 107.523938 +L 89.346245 108.559059 +L 88.758121 108.899287 +L 86.361342 110.220587 +L 85.261376 110.795294 +L 83.964564 111.483389 +L 81.567785 112.681355 +L 80.818912 113.031529 +L 79.171007 113.817877 +L 76.774228 114.879465 +L 75.821084 115.267765 +L 74.37745 115.870967 +L 71.980671 116.782189 +L 69.866654 117.504 +L 69.583893 117.603549 +L 67.187114 118.349174 +L 64.790336 118.994466 +L 62.393557 119.537565 +L 61.28791 119.740235 +L 59.996779 119.985647 +L 57.6 120.332311 +L 57.6 121.976471 +L 57.6 124.212706 +L 57.6 126.448941 +L 57.6 128.685176 +L 57.6 130.921412 +L 57.6 133.157647 +L 57.6 135.393882 +L 57.6 137.630118 +L 57.6 139.866353 +L 57.6 142.102588 +L 57.6 144.338824 +L 57.6 146.575059 +L 57.6 148.811294 +L 57.6 150.869735 z -" style="fill:url(#hb07dbf6fd0);fill-opacity:0.5;"/> +" style="fill:url(#hb1742779c6);fill-opacity:0.5;"/> </g> - <g id="PathCollection_6"> - <path clip-path="url(#p5b7831a9a7)" d="M 161.879195 388.8 -L 164.875168 388.8 -L 167.871141 388.8 -L 170.867114 388.8 -L 173.863087 388.8 -L 176.85906 388.8 -L 179.855034 388.8 -L 182.851007 388.8 -L 185.84698 388.8 -L 188.842953 388.8 -L 190.600194 388.8 -L 191.838926 388.049804 -L 194.834899 386.318636 -L 195.605964 385.895798 -L 197.830872 384.658186 -L 200.826846 383.085967 -L 201.018736 382.991597 -L 203.822819 381.586053 -L 206.818792 380.189385 -L 207.056105 380.087395 -L 209.814765 378.872957 -L 212.810738 377.669588 -L 214.154595 377.183193 -L 215.806711 376.567465 -L 218.802685 375.576656 -L 221.798658 374.714465 -L 223.58321 374.278992 -L 224.794631 373.972901 -L 227.790604 373.353835 -L 230.786577 372.874484 -L 233.78255 372.536227 -L 236.778523 372.340041 -L 239.774497 372.286491 -L 242.77047 372.375731 -L 245.766443 372.607503 -L 248.762416 372.981141 -L 251.758389 373.495566 -L 254.754362 374.149297 -L 255.245496 374.278992 -L 257.750336 374.917813 -L 260.746309 375.812406 -L 263.742282 376.834937 -L 264.651515 377.183193 -L 266.738255 377.959403 -L 269.734228 379.191995 -L 271.725444 380.087395 -L 272.730201 380.528477 -L 275.726174 381.9518 -L 277.765816 382.991597 -L 278.722148 383.469928 -L 281.718121 385.066159 -L 283.18944 385.895798 -L 284.714094 386.743347 -L 287.710067 388.495803 -L 288.206884 388.8 -L 290.70604 388.8 -L 293.702013 388.8 -L 296.697987 388.8 -L 299.69396 388.8 -L 302.689933 388.8 -L 305.685906 388.8 -L 308.681879 388.8 -L 311.677852 388.8 -L 314.673826 388.8 -L 317.669799 388.8 -L 319.146704 388.8 -L 317.669799 387.650301 -L 315.395324 385.895798 -L 314.673826 385.331254 -L 311.677852 383.015243 -L 311.646796 382.991597 -L 308.681879 380.690706 -L 307.890061 380.087395 -L 305.685906 378.367121 -L 304.135792 377.183193 -L 302.689933 376.046089 -L 300.386002 374.278992 -L 299.69396 373.729392 -L 296.697987 371.417312 -L 296.641068 371.37479 -L 293.702013 369.087757 -L 292.87936 368.470588 -L 290.70604 366.761269 -L 289.123306 365.566387 -L 287.710067 364.439892 -L 285.375552 362.662185 -L 284.714094 362.12614 -L 281.718121 359.81875 -L 281.634616 359.757983 -L 278.722148 357.482093 -L 277.865659 356.853782 -L 275.726174 355.150874 -L 274.106617 353.94958 -L 272.730201 352.828258 -L 270.361838 351.045378 -L 269.734228 350.518766 -L 266.738255 348.218795 -L 266.626426 348.141176 -L 263.742282 345.868575 -L 262.842742 345.236975 -L 260.746309 343.525822 -L 259.075597 342.332773 -L 257.750336 341.196682 -L 255.335506 339.428571 -L 254.754362 338.893345 -L 251.758389 336.613365 -L 251.609779 336.52437 -L 248.762416 334.212711 -L 247.757543 333.620168 -L 245.766443 331.785021 -L 243.896577 330.715966 -L 242.77047 329.227163 -L 239.989956 327.811765 -L 241.798199 324.907563 -L 242.77047 324.604384 -L 245.766443 322.178034 -L 245.900232 322.003361 -L 248.762416 319.928887 -L 249.593898 319.09916 -L 251.758389 317.599564 -L 253.353752 316.194958 -L 254.754362 315.247264 -L 257.143657 313.290756 -L 257.750336 312.885864 -L 260.746309 310.544831 -L 260.923521 310.386555 -L 263.742282 308.253867 -L 264.650918 307.482353 -L 266.738255 305.938983 -L 268.402265 304.578151 -L 269.734228 303.609617 -L 272.169744 301.67395 -L 272.730201 301.271329 -L 275.726174 298.942175 -L 275.932863 298.769748 -L 278.722148 296.638076 -L 279.671113 295.865546 -L 281.718121 294.321697 -L 283.422401 292.961345 -L 284.714094 291.996898 -L 287.183047 290.057143 -L 287.710067 289.666543 -L 290.70604 287.342246 -L 290.940261 287.152941 -L 293.702013 285.031418 -L 294.684311 284.248739 -L 296.697987 282.713421 -L 298.435988 281.344538 -L 299.69396 280.390539 -L 302.192888 278.440336 -L 302.689933 278.064691 -L 305.685906 275.743005 -L 305.947146 275.536134 -L 308.681879 273.42765 -L 309.695173 272.631933 -L 311.677852 271.108267 -L 313.447216 269.727731 -L 314.673826 268.786547 -L 317.201354 266.823529 -L 317.669799 266.464047 -L 320.665772 264.143897 -L 320.953971 263.919328 -L 323.661745 261.824891 -L 324.705229 261.015126 -L 326.657718 259.504233 -L 328.457575 258.110924 -L 329.653691 257.183413 -L 332.209226 255.206723 -L 332.649664 254.863916 -L 335.645638 252.544631 -L 335.961006 252.302521 -L 338.641611 250.222197 -L 339.715304 249.398319 -L 341.637584 247.900215 -L 343.467916 246.494118 -L 344.633557 245.58022 -L 347.216946 243.589916 -L 347.62953 243.263868 -L 350.625503 240.944913 -L 350.968559 240.685714 -L 353.621477 238.618727 -L 354.726198 237.781513 -L 356.61745 236.295126 -L 358.479107 234.877311 -L 359.613423 233.975965 -L 362.224946 231.973109 -L 362.609396 231.663434 -L 365.605369 229.344243 -L 365.977208 229.068908 -L 368.601342 227.013129 -L 369.73929 226.164706 -L 371.597315 224.687046 -L 373.492722 223.260504 -L 374.593289 222.368692 -L 377.234005 220.356303 -L 377.589262 220.061659 -L 380.585235 217.74137 -L 380.988495 217.452101 -L 383.581208 215.401908 -L 384.758374 214.547899 -L 386.577181 213.070488 -L 388.513461 211.643697 -L 389.573154 210.752116 -L 392.24662 208.739496 -L 392.569128 208.455096 -L 395.565101 206.131488 -L 396.009116 205.835294 -L 398.561074 203.769552 -L 399.802348 202.931092 -L 401.557047 201.415446 -L 403.569633 200.026891 -L 404.55302 199.080288 -L 407.282157 197.122689 -L 407.548993 196.803842 -L 410.544966 194.458473 -L 411.196203 194.218487 -L 413.54094 191.597116 -L 416.536913 192.023284 -L 418.102605 194.218487 -L 419.532886 194.879487 -L 422.093399 197.122689 -L 422.528859 197.351697 -L 425.524832 199.667162 -L 425.878342 200.026891 -L 428.520805 201.954188 -L 429.603049 202.931092 -L 431.516779 204.282004 -L 433.367249 205.835294 -L 434.512752 206.627688 -L 437.15329 208.739496 -L 437.508725 208.982167 -L 440.504698 211.298037 -L 440.906155 211.643697 -L 443.500671 213.600188 -L 444.643866 214.547899 -L 446.496644 215.919694 -L 448.399845 217.452101 -L 449.492617 218.25027 -L 452.16843 220.356303 -L 452.488591 220.587835 -L 455.484564 222.904171 -L 455.918643 223.260504 -L 458.480537 225.213822 -L 459.662349 226.164706 -L 461.47651 227.533135 -L 463.416492 229.068908 -L 464.472483 229.859054 -L 467.178 231.973109 -L 467.468456 232.1892 -L 470.46443 234.506209 -L 470.927989 234.877311 -L 473.460403 236.820368 -L 474.675334 237.781513 -L 476.456376 239.140177 -L 478.428649 240.685714 -L 479.452349 241.463643 -L 482.185755 243.589916 -L 482.448322 243.789037 -L 485.444295 246.106991 -L 485.936329 246.494118 -L 488.440268 248.424463 -L 489.686348 249.398319 -L 491.436242 250.744855 -L 493.439083 252.302521 -L 494.432215 253.066587 -L 497.192694 255.206723 -L 497.428188 255.388161 -L 500.424161 257.707425 -L 500.944426 258.110924 -L 503.420134 260.027743 -L 504.696722 261.015126 -L 506.416107 262.348758 -L 508.448916 263.919328 -L 509.412081 264.668988 -L 512.199214 266.823529 -L 512.408054 266.986917 -L 515.404027 269.308017 -L 515.952753 269.727731 -L 518.4 271.631167 -L 518.4 269.727731 -L 518.4 266.823529 -L 518.4 263.919328 -L 518.4 261.015126 -L 518.4 258.110924 -L 518.4 255.206723 -L 518.4 252.302521 -L 518.4 249.777455 -L 517.90262 249.398319 -L 515.404027 247.463928 -L 514.167282 246.494118 -L 512.408054 245.086204 -L 510.556605 243.589916 -L 509.412081 242.641131 -L 507.069311 240.685714 -L 506.416107 240.123497 -L 503.70575 237.781513 -L 503.420134 237.525573 -L 500.467852 234.877311 -L 500.424161 234.836419 -L 497.428188 232.037614 -L 497.35881 231.973109 -L 494.432215 229.11522 -L 494.384423 229.068908 -L 491.551761 226.164706 -L 491.436242 226.038372 -L 488.86899 223.260504 -L 488.440268 222.761052 -L 486.347651 220.356303 -L 485.444295 219.226499 -L 484.001521 217.452101 -L 482.448322 215.346365 -L 481.847466 214.547899 -L 479.895596 211.643697 -L 479.452349 210.89067 -L 478.156189 208.739496 -L 476.662337 205.835294 -L 476.456376 205.349414 -L 475.403338 202.931092 -L 474.414384 200.026891 -L 473.705554 197.122689 -L 473.460403 195.449448 -L 473.274449 194.218487 -L 473.129838 191.314286 -L 473.279991 188.410084 -L 473.460403 187.230643 -L 473.71628 185.505882 -L 474.430412 182.601681 -L 475.424596 179.697479 -L 476.456376 177.337559 -L 476.688029 176.793277 -L 478.186763 173.889076 -L 479.452349 171.794323 -L 479.930099 170.984874 -L 481.886447 168.080672 -L 482.448322 167.335474 -L 484.043946 165.176471 -L 485.444295 163.45718 -L 486.393328 162.272269 -L 488.440268 159.923496 -L 488.917748 159.368067 -L 491.436242 156.646487 -L 491.603447 156.463866 -L 494.432215 153.566939 -L 494.439265 153.559664 -L 497.416226 150.655462 -L 497.428188 150.64435 -L 500.424161 147.847944 -L 500.527552 147.751261 -L 503.420134 145.158468 -L 503.767907 144.847059 -L 506.416107 142.560222 -L 507.133835 141.942857 -L 509.412081 140.042296 -L 510.623415 139.038655 -L 512.408054 137.59698 -L 514.236306 136.134454 -L 515.404027 135.219078 -L 517.973794 133.230252 -L 518.4 132.905451 -L 518.4 130.32605 -L 518.4 127.421849 -L 518.4 124.517647 -L 518.4 121.613445 -L 518.4 118.709244 -L 518.4 115.805042 -L 518.4 112.90084 -L 518.4 111.051857 -L 516.02362 112.90084 -L 515.404027 113.374888 -L 512.408054 115.696616 -L 512.269502 115.805042 -L 509.412081 118.014322 -L 508.519407 118.709244 -L 506.416107 120.334433 -L 504.7673 121.613445 -L 503.420134 122.655429 -L 501.014974 124.517647 -L 500.424161 124.975827 -L 497.428188 127.29492 -L 497.263432 127.421849 -L 494.432215 129.616475 -L 493.509764 130.32605 -L 491.436242 131.938289 -L 489.756853 133.230252 -L 488.440268 134.258866 -L 486.006539 136.134454 -L 485.444295 136.576631 -L 482.448322 138.893591 -L 482.256953 139.038655 -L 479.452349 141.219165 -L 478.499519 141.942857 -L 476.456376 143.542924 -L 474.74574 144.847059 -L 473.460403 145.863151 -L 470.997784 147.751261 -L 470.46443 148.177871 -L 467.468456 150.492893 -L 467.249754 150.655462 -L 464.472483 152.823442 -L 463.487587 153.559664 -L 461.47651 155.149916 -L 459.7326 156.463866 -L 458.480537 157.469969 -L 455.987838 159.368067 -L 455.484564 159.78059 -L 452.488591 162.093492 -L 452.241013 162.272269 -L 449.492617 164.431747 -L 448.47128 165.176471 -L 446.496644 166.763271 -L 444.713829 168.080672 -L 443.500671 169.084081 -L 440.974232 170.984874 -L 440.504698 171.388057 -L 437.508725 173.697666 -L 437.227612 173.889076 -L 434.512752 176.053251 -L 433.439457 176.793277 -L 431.516779 178.400653 -L 429.67221 179.697479 -L 428.520805 180.731345 -L 425.942879 182.601681 -L 425.524832 183.023923 -L 422.528859 185.322196 -L 422.176965 185.505882 -L 419.532886 187.793525 -L 418.181991 188.410084 -L 416.536913 190.631457 -L 413.54094 191.041895 -L 411.096645 188.410084 -L 410.544966 188.209311 -L 407.548993 185.89307 -L 407.220889 185.505882 -L 404.55302 183.60644 -L 403.501408 182.601681 -L 401.557047 181.267253 -L 399.730072 179.697479 -L 398.561074 178.911033 -L 395.934239 176.793277 -L 395.565101 176.547835 -L 392.569128 174.231796 -L 392.179215 173.889076 -L 389.573154 171.932503 -L 388.443793 170.984874 -L 386.577181 169.612569 -L 384.686972 168.080672 -L 383.581208 167.28004 -L 380.915757 165.176471 -L 380.585235 164.939782 -L 377.589262 162.623441 -L 377.165126 162.272269 -L 374.593289 160.315274 -L 373.422625 159.368067 -L 371.597315 157.996062 -L 369.668216 156.463866 -L 368.601342 155.669334 -L 365.905365 153.559664 -L 365.605369 153.337744 -L 362.609396 151.020844 -L 362.15534 150.655462 -L 359.613423 148.707661 -L 358.40879 147.751261 -L 356.61745 146.388006 -L 354.655328 144.847059 -L 353.621477 144.064046 -L 350.89728 141.942857 -L 350.625503 141.737622 -L 347.62953 139.419887 -L 347.146863 139.038655 -L 344.633557 137.103176 -L 343.397459 136.134454 -L 341.637584 134.782937 -L 339.644599 133.230252 -L 338.641611 132.460819 -L 335.890173 130.32605 -L 335.645638 130.138349 -L 332.649664 127.819434 -L 332.138766 127.421849 -L 329.653691 125.499801 -L 328.387015 124.517647 -L 326.657718 123.178945 -L 324.634685 121.613445 -L 323.661745 120.858351 -L 320.88356 118.709244 -L 320.665772 118.539509 -L 317.669799 116.218936 -L 317.130549 115.805042 -L 314.673826 113.896499 -L 313.376572 112.90084 -L 311.677852 111.574946 -L 309.624812 109.996639 -L 308.681879 109.255838 -L 305.877195 107.092437 -L 305.685906 106.940876 -L 302.689933 104.617906 -L 302.121718 104.188235 -L 299.69396 102.292328 -L 298.365267 101.284034 -L 296.697987 99.96984 -L 294.614185 98.379832 -L 293.702013 97.65238 -L 290.870893 95.47563 -L 290.70604 95.342254 -L 287.710067 93.015573 -L 287.111415 92.571429 -L 284.714094 90.685737 -L 283.351593 89.667227 -L 281.718121 88.36164 -L 279.601345 86.763025 -L 278.722148 86.04619 -L 275.864389 83.858824 -L 275.726174 83.743316 -L 272.730201 81.410038 -L 272.097372 80.954622 -L 269.734228 79.072625 -L 268.33133 78.05042 -L 266.738255 76.744478 -L 264.581849 75.146218 -L 263.742282 74.431323 -L 260.856895 72.242017 -L 260.746309 72.142907 -L 257.750336 69.793792 -L 257.069464 69.337815 -L 254.754362 67.433845 -L 253.282486 66.433613 -L 251.758389 65.084043 -L 249.527281 63.529412 -L 248.762416 62.759748 -L 245.841899 60.62521 -L 245.766443 60.525183 -L 242.77047 58.061565 -L 241.694852 57.721008 -L 240.027963 54.816807 -L 242.77047 53.454468 -L 243.96557 51.912605 -L 245.766443 50.893836 -L 247.833867 49.008403 -L 248.762416 48.464531 -L 251.689316 46.104202 -L 251.758389 46.063039 -L 254.754362 43.794166 -L 255.40266 43.2 -L 254.754362 43.2 -L 251.758389 43.2 -L 248.762416 43.2 -L 245.766443 43.2 -L 242.77047 43.2 -L 239.774497 43.2 -L 236.778523 43.2 -L 233.78255 43.2 -L 230.786577 43.2 -L 227.790604 43.2 -L 224.794631 43.2 -L 223.418954 43.2 -L 224.794631 44.406376 -L 227.162093 46.104202 -L 227.790604 46.714148 -L 230.786577 48.965453 -L 230.867576 49.008403 -L 233.78255 51.415045 -L 234.821624 51.912605 -L 236.778523 54.04966 -L 239.352103 54.816807 -L 236.778523 57.507481 -L 236.722776 57.721008 -L 233.78255 59.767556 -L 233.067901 60.62521 -L 230.786577 62.134688 -L 229.299134 63.529412 -L 227.790604 64.508885 -L 225.495255 66.433613 -L 224.794631 66.884484 -L 221.798658 69.242036 -L 221.695449 69.337815 -L 218.802685 71.523851 -L 217.975706 72.242017 -L 215.806711 73.8367 -L 214.226193 75.146218 -L 212.810738 76.167012 -L 210.457437 78.05042 -L 209.814765 78.507593 -L 206.818792 80.843444 -L 206.687333 80.954622 -L 203.822819 83.143741 -L 202.952578 83.858824 -L 200.826846 85.458615 -L 199.202556 86.763025 -L 197.830872 87.783355 -L 195.441589 89.667227 -L 194.834899 90.114616 -L 191.838926 92.44257 -L 191.680699 92.571429 -L 188.842953 94.7512 -L 187.938729 95.47563 -L 185.84698 97.0682 -L 184.187841 98.379832 -L 182.851007 99.390997 -L 180.43067 101.284034 -L 179.855034 101.717488 -L 176.85906 104.041228 -L 176.674379 104.188235 -L 173.863087 106.355107 -L 172.927736 107.092437 -L 170.867114 108.673826 -L 169.176133 109.996639 -L 167.871141 110.995581 -L 165.421578 112.90084 -L 164.875168 113.31875 -L 161.879195 115.639838 -L 161.668048 115.805042 -L 158.883221 117.957757 -L 157.91776 118.709244 -L 155.887248 120.277984 -L 154.165565 121.613445 -L 152.891275 122.599002 -L 150.41326 124.517647 -L 149.895302 124.919331 -L 146.899329 127.238609 -L 146.661514 127.421849 -L 143.903356 129.560165 -L 142.907922 130.32605 -L 140.907383 131.881887 -L 139.155195 133.230252 -L 137.911409 134.202276 -L 135.405175 136.134454 -L 134.915436 136.519752 -L 131.919463 138.837746 -L 131.654562 139.038655 -L 128.92349 141.163113 -L 127.897486 141.942857 -L 125.927517 143.48656 -L 124.144191 144.847059 -L 122.931544 145.806356 -L 120.396852 147.751261 -L 119.93557 148.120514 -L 116.939597 150.437595 -L 116.646794 150.655462 -L 113.943624 152.7677 -L 112.885335 153.559664 -L 110.947651 155.093585 -L 109.131227 156.463866 -L 107.951678 157.412874 -L 105.387536 159.368067 -L 104.955705 159.722518 -L 101.959732 162.038975 -L 101.637211 162.272269 -L 98.963758 164.376467 -L 97.868713 165.176471 -L 95.967785 166.706976 -L 94.1128 168.080672 -L 92.971812 169.02643 -L 90.375115 170.984874 -L 89.975839 171.328567 -L 86.979866 173.644656 -L 86.622064 173.889076 -L 83.983893 175.998955 -L 82.836251 176.793277 -L 80.987919 178.344424 -L 79.072255 179.697479 -L 77.991946 180.672005 -L 75.347613 182.601681 -L 74.995973 182.958916 -L 72 185.27498 -L 72 185.505882 -L 72 188.410084 -L 72 191.314286 -L 72 194.218487 -L 72 197.122689 -L 72 197.399266 -L 74.995973 199.732655 -L 75.283449 200.026891 -L 77.991946 202.013842 -L 79.003413 202.931092 -L 80.987919 204.338461 -L 82.764319 205.835294 -L 83.983893 206.682161 -L 86.547983 208.739496 -L 86.979866 209.035321 -L 89.975839 211.357688 -L 90.307203 211.643697 -L 92.971812 213.657971 -L 94.042988 214.547899 -L 95.967785 215.9761 -L 97.797415 217.452101 -L 98.963758 218.305645 -L 101.564752 220.356303 -L 101.959732 220.642433 -L 104.955705 222.962329 -L 105.318437 223.260504 -L 107.951678 225.270991 -L 109.061063 226.164706 -L 110.947651 227.58953 -L 112.814319 229.068908 -L 113.943624 229.914851 -L 116.575111 231.973109 -L 116.939597 232.244546 -L 119.93557 234.563615 -L 120.327112 234.877311 -L 122.931544 236.877205 -L 124.073834 237.781513 -L 125.927517 239.196577 -L 127.826659 240.685714 -L 128.92349 241.519724 -L 131.583401 243.589916 -L 131.919463 243.844906 -L 134.915436 246.163895 -L 135.334991 246.494118 -L 137.911409 248.481072 -L 139.08471 249.398319 -L 140.907383 250.801271 -L 142.837257 252.302521 -L 143.903356 253.122907 -L 146.590787 255.206723 -L 146.899329 255.444477 -L 149.895302 257.763925 -L 150.342713 258.110924 -L 152.891275 260.084169 -L 154.094984 261.015126 -L 155.887248 262.405202 -L 157.847259 263.919328 -L 158.883221 264.725543 -L 161.597745 266.823529 -L 161.879195 267.043679 -L 164.875168 269.36414 -L 165.350686 269.727731 -L 167.871141 271.687422 -L 169.105469 272.631933 -L 170.867114 274.009397 -L 172.857427 275.536134 -L 173.863087 276.32845 -L 176.604557 278.440336 -L 176.85906 278.642789 -L 179.855034 280.965001 -L 180.359398 281.344538 -L 182.851007 283.29182 -L 184.117099 284.248739 -L 185.84698 285.615077 -L 187.868677 287.152941 -L 188.842953 287.932694 -L 191.611513 290.057143 -L 191.838926 290.242128 -L 194.834899 292.56735 -L 195.369811 292.961345 -L 197.830872 294.899206 -L 199.131722 295.865546 -L 200.826846 297.224747 -L 202.882936 298.769748 -L 203.822819 299.54069 -L 206.619181 301.67395 -L 206.818792 301.842419 -L 209.814765 304.173493 -L 210.384779 304.578151 -L 212.810738 306.515069 -L 214.155209 307.482353 -L 215.806711 308.846804 -L 217.906947 310.386555 -L 218.802685 311.161756 -L 221.629699 313.290756 -L 221.798658 313.446877 -L 224.794631 315.794254 -L 225.419998 316.194958 -L 227.790604 318.171436 -L 229.227643 319.09916 -L 230.786577 320.54874 -L 233.003467 322.003361 -L 233.78255 322.9242 -L 236.675766 324.907563 -L 236.778523 325.270383 -L 239.41544 327.811765 -L 236.778523 328.617243 -L 234.903132 330.715966 -L 233.78255 331.258266 -L 230.951884 333.620168 -L 230.786577 333.708414 -L 227.790604 335.974887 -L 227.228186 336.52437 -L 224.794631 338.278137 -L 223.489138 339.428571 -L 221.798658 340.612884 -L 219.716992 342.332773 -L 218.802685 342.962029 -L 215.926279 345.236975 -L 215.806711 345.318323 -L 212.810738 347.615367 -L 212.192762 348.141176 -L 209.814765 349.923453 -L 208.448974 351.045378 -L 206.818792 352.246781 -L 204.688727 353.94958 -L 203.822819 354.579832 -L 200.917191 356.853782 -L 200.826846 356.918947 -L 197.830872 359.224875 -L 197.177426 359.757983 -L 194.834899 361.537726 -L 193.430299 362.662185 -L 191.838926 363.859278 -L 189.673669 365.566387 -L 188.842953 366.186696 -L 185.910458 368.470588 -L 185.84698 368.517746 -L 182.851007 370.828768 -L 182.166456 371.37479 -L 179.855034 373.144805 -L 178.41712 374.278992 -L 176.85906 375.465889 -L 174.662458 377.183193 -L 173.863087 377.790113 -L 170.904589 380.087395 -L 170.867114 380.115803 -L 167.871141 382.430852 -L 167.156956 382.991597 -L 164.875168 384.749343 -L 163.405949 385.895798 -L 161.879195 387.070292 -L 159.652757 388.8 + <g id="PathCollection_5"> + <path clip-path="url(#p85834bf349)" d="M 129.503356 307.584 +L 131.900134 307.584 +L 134.296913 307.584 +L 136.693691 307.584 +L 139.09047 307.584 +L 141.487248 307.584 +L 143.884027 307.584 +L 146.280805 307.584 +L 148.677584 307.584 +L 151.074362 307.584 +L 152.480155 307.584 +L 153.471141 307.006349 +L 155.867919 305.67335 +L 156.484771 305.347765 +L 158.264698 304.394803 +L 160.661477 303.184194 +L 160.814989 303.111529 +L 163.058255 302.029261 +L 165.455034 300.953827 +L 165.644884 300.875294 +L 167.851812 299.940177 +L 170.248591 299.013583 +L 171.323676 298.639059 +L 172.645369 298.164948 +L 175.042148 297.402025 +L 177.438926 296.738138 +L 178.866568 296.402824 +L 179.835705 296.167134 +L 182.232483 295.690453 +L 184.629262 295.321352 +L 187.02604 295.060895 +L 189.422819 294.909832 +L 191.819597 294.868598 +L 194.216376 294.937313 +L 196.613154 295.115778 +L 199.009933 295.403478 +L 201.406711 295.799586 +L 203.80349 296.302959 +L 204.196397 296.402824 +L 206.200268 296.894716 +L 208.597047 297.583553 +L 210.993826 298.370902 +L 211.721212 298.639059 +L 213.390604 299.23674 +L 215.787383 300.185836 +L 217.380355 300.875294 +L 218.184161 301.214928 +L 220.58094 302.310886 +L 222.212653 303.111529 +L 222.977718 303.479845 +L 225.374497 304.708942 +L 226.551552 305.347765 +L 227.771275 306.000378 +L 230.168054 307.349768 +L 230.565507 307.584 +L 232.564832 307.584 +L 234.961611 307.584 +L 237.358389 307.584 +L 239.755168 307.584 +L 242.151946 307.584 +L 244.548725 307.584 +L 246.945503 307.584 +L 249.342282 307.584 +L 251.73906 307.584 +L 254.135839 307.584 +L 255.317363 307.584 +L 254.135839 306.698732 +L 252.316259 305.347765 +L 251.73906 304.913065 +L 249.342282 303.129737 +L 249.317437 303.111529 +L 246.945503 301.339844 +L 246.312049 300.875294 +L 244.548725 299.550683 +L 243.308634 298.639059 +L 242.151946 297.763489 +L 240.308802 296.402824 +L 239.755168 295.979632 +L 237.358389 294.19933 +L 237.312854 294.166588 +L 234.961611 292.405573 +L 234.303488 291.930353 +L 232.564832 290.614177 +L 231.298645 289.694118 +L 230.168054 288.826717 +L 228.300442 287.457882 +L 227.771275 287.045128 +L 225.374497 285.268438 +L 225.307693 285.221647 +L 222.977718 283.469211 +L 222.292527 282.985412 +L 220.58094 281.674173 +L 219.285293 280.749176 +L 218.184161 279.885759 +L 216.28947 278.512941 +L 215.787383 278.10745 +L 213.390604 276.336472 +L 213.301141 276.276706 +L 210.993826 274.526803 +L 210.274193 274.040471 +L 208.597047 272.722883 +L 207.260478 271.804235 +L 206.200268 270.929445 +L 204.268405 269.568 +L 203.80349 269.155875 +L 201.406711 267.400291 +L 201.287823 267.331765 +L 199.009933 265.551788 +L 198.206034 265.095529 +L 196.613154 263.682466 +L 195.117262 262.859294 +L 194.216376 261.712916 +L 191.991965 260.623059 +L 193.438559 258.386824 +L 194.216376 258.153376 +L 196.613154 256.285086 +L 196.720186 256.150588 +L 199.009933 254.553243 +L 199.675119 253.914353 +L 201.406711 252.759664 +L 202.683002 251.678118 +L 203.80349 250.948393 +L 205.714926 249.441882 +L 206.200268 249.130115 +L 208.597047 247.32752 +L 208.738817 247.205647 +L 210.993826 245.563477 +L 211.720734 244.969412 +L 213.390604 243.781017 +L 214.721812 242.733176 +L 215.787383 241.987405 +L 217.735795 240.496941 +L 218.184161 240.186923 +L 220.58094 238.393475 +L 220.74629 238.260706 +L 222.977718 236.619318 +L 223.73689 236.024471 +L 225.374497 234.835707 +L 226.737921 233.788235 +L 227.771275 233.045612 +L 229.746437 231.552 +L 230.168054 231.251238 +L 232.564832 229.461529 +L 232.752209 229.315765 +L 234.961611 227.682192 +L 235.747449 227.079529 +L 237.358389 225.897335 +L 238.748791 224.843294 +L 239.755168 224.108715 +L 241.75431 222.607059 +L 242.151946 222.317812 +L 244.548725 220.530114 +L 244.757717 220.370824 +L 246.945503 218.74729 +L 247.756138 218.134588 +L 249.342282 216.961365 +L 250.757773 215.898353 +L 251.73906 215.173641 +L 253.761083 213.662118 +L 254.135839 213.385316 +L 256.532617 211.598801 +L 256.763177 211.425882 +L 258.929396 209.813166 +L 259.764183 209.189647 +L 261.326174 208.026259 +L 262.76606 206.953412 +L 263.722953 206.239228 +L 265.767381 204.717176 +L 266.119732 204.453215 +L 268.51651 202.667366 +L 268.768804 202.480941 +L 270.913289 200.879091 +L 271.772243 200.244706 +L 273.310067 199.091165 +L 274.774333 198.008471 +L 275.706846 197.30477 +L 277.773557 195.772235 +L 278.103624 195.521178 +L 280.500403 193.735583 +L 280.774847 193.536 +L 282.897181 191.94442 +L 283.780958 191.299765 +L 285.29396 190.155247 +L 286.783285 189.063529 +L 287.690738 188.369493 +L 289.779957 186.827294 +L 290.087517 186.588844 +L 292.484295 184.803067 +L 292.781766 184.591059 +L 294.881074 183.008109 +L 295.791432 182.354824 +L 297.277852 181.217026 +L 298.794178 180.118588 +L 299.674631 179.431893 +L 301.787204 177.882353 +L 302.071409 177.655478 +L 304.468188 175.868855 +L 304.790796 175.646118 +L 306.864966 174.067469 +L 307.806699 173.409882 +L 309.261745 172.272275 +L 310.810769 171.173647 +L 311.658523 170.487129 +L 313.797296 168.937412 +L 314.055302 168.718424 +L 316.452081 166.929246 +L 316.807293 166.701176 +L 318.848859 165.110555 +L 319.841878 164.464941 +L 321.245638 163.297893 +L 322.855706 162.228706 +L 323.642416 161.499822 +L 325.825726 159.992471 +L 326.039195 159.746958 +L 328.435973 157.941024 +L 328.956962 157.756235 +L 330.832752 155.737779 +L 333.22953 156.065929 +L 334.482084 157.756235 +L 335.626309 158.265205 +L 337.674719 159.992471 +L 338.023087 160.168806 +L 340.419866 161.951715 +L 340.702673 162.228706 +L 342.816644 163.712725 +L 343.682439 164.464941 +L 345.213423 165.505143 +L 346.693799 166.701176 +L 347.610201 167.31132 +L 349.722632 168.937412 +L 350.00698 169.124269 +L 352.403758 170.907489 +L 352.724924 171.173647 +L 354.800537 172.680145 +L 355.715093 173.409882 +L 357.197315 174.466164 +L 358.719876 175.646118 +L 359.594094 176.260708 +L 361.734744 177.882353 +L 361.990872 178.060633 +L 364.387651 179.844212 +L 364.734915 180.118588 +L 366.78443 181.622643 +L 367.729879 182.354824 +L 369.181208 183.408514 +L 370.733194 184.591059 +L 371.577987 185.199472 +L 373.7424 186.827294 +L 373.974765 186.993684 +L 376.371544 188.777781 +L 376.742391 189.063529 +L 378.768322 190.559684 +L 379.740267 191.299765 +L 381.165101 192.345936 +L 382.742919 193.536 +L 383.561879 194.135005 +L 385.748604 195.772235 +L 385.958658 195.925558 +L 388.355436 197.710383 +L 388.749063 198.008471 +L 390.752215 199.494836 +L 391.749078 200.244706 +L 393.148993 201.281539 +L 394.751266 202.480941 +L 395.545772 203.069272 +L 397.754155 204.717176 +L 397.94255 204.856884 +L 400.339329 206.642717 +L 400.755541 206.953412 +L 402.736107 208.429362 +L 403.757378 209.189647 +L 405.132886 210.216544 +L 406.759133 211.425882 +L 407.529664 212.003121 +L 409.759371 213.662118 +L 409.926443 213.787926 +L 412.323221 215.575173 +L 412.762202 215.898353 +L 414.72 217.363999 +L 414.72 215.898353 +L 414.72 213.662118 +L 414.72 211.425882 +L 414.72 209.189647 +L 414.72 206.953412 +L 414.72 204.717176 +L 414.72 202.480941 +L 414.72 200.53664 +L 414.322096 200.244706 +L 412.323221 198.755224 +L 411.333826 198.008471 +L 409.926443 196.924377 +L 408.445284 195.772235 +L 407.529664 195.041671 +L 405.655449 193.536 +L 405.132886 193.103093 +L 402.9646 191.299765 +L 402.736107 191.102691 +L 400.374282 189.063529 +L 400.339329 189.032043 +L 397.94255 186.876963 +L 397.887048 186.827294 +L 395.545772 184.62672 +L 395.507539 184.591059 +L 393.241409 182.354824 +L 393.148993 182.257546 +L 391.095192 180.118588 +L 390.752215 179.73401 +L 389.078121 177.882353 +L 388.355436 177.012404 +L 387.201217 175.646118 +L 385.958658 174.024701 +L 385.477973 173.409882 +L 383.916477 171.173647 +L 383.561879 170.593816 +L 382.524951 168.937412 +L 381.329869 166.701176 +L 381.165101 166.327049 +L 380.32267 164.464941 +L 379.531507 162.228706 +L 378.964443 159.992471 +L 378.768322 158.704075 +L 378.619559 157.756235 +L 378.50387 155.52 +L 378.623993 153.283765 +L 378.768322 152.375595 +L 378.973024 151.047529 +L 379.54433 148.811294 +L 380.339677 146.575059 +L 381.165101 144.757921 +L 381.350423 144.338824 +L 382.54941 142.102588 +L 383.561879 140.489629 +L 383.944079 139.866353 +L 385.509158 137.630118 +L 385.958658 137.056315 +L 387.235157 135.393882 +L 388.355436 134.070028 +L 389.114662 133.157647 +L 390.752215 131.349092 +L 391.134198 130.921412 +L 393.148993 128.825795 +L 393.282757 128.685176 +L 395.545772 126.454543 +L 395.551412 126.448941 +L 397.932981 124.212706 +L 397.94255 124.204149 +L 400.339329 122.050917 +L 400.422042 121.976471 +L 402.736107 119.98002 +L 403.014325 119.740235 +L 405.132886 117.979371 +L 405.707068 117.504 +L 407.529664 116.040568 +L 408.498732 115.267765 +L 409.926443 114.157675 +L 411.389045 113.031529 +L 412.323221 112.32669 +L 414.379036 110.795294 +L 414.72 110.545197 +L 414.72 108.559059 +L 414.72 106.322824 +L 414.72 104.086588 +L 414.72 101.850353 +L 414.72 99.614118 +L 414.72 97.377882 +L 414.72 95.141647 +L 414.72 93.71793 +L 412.818896 95.141647 +L 412.323221 95.506664 +L 409.926443 97.294394 +L 409.815602 97.377882 +L 407.529664 99.079028 +L 406.815526 99.614118 +L 405.132886 100.865513 +L 403.81384 101.850353 +L 402.736107 102.65268 +L 400.811979 104.086588 +L 400.339329 104.439387 +L 397.94255 106.225089 +L 397.810745 106.322824 +L 395.545772 108.012686 +L 394.807811 108.559059 +L 393.148993 109.800482 +L 391.805483 110.795294 +L 390.752215 111.587326 +L 388.805231 113.031529 +L 388.355436 113.372006 +L 385.958658 115.156065 +L 385.805562 115.267765 +L 383.561879 116.946757 +L 382.799615 117.504 +L 381.165101 118.736052 +L 379.796592 119.740235 +L 378.768322 120.522626 +L 376.798227 121.976471 +L 376.371544 122.304961 +L 373.974765 124.087528 +L 373.799803 124.212706 +L 371.577987 125.88205 +L 370.79007 126.448941 +L 369.181208 127.673436 +L 367.78608 128.685176 +L 366.78443 129.459876 +L 364.790271 130.921412 +L 364.387651 131.239054 +L 361.990872 133.019989 +L 361.79281 133.157647 +L 359.594094 134.820445 +L 358.777024 135.393882 +L 357.197315 136.615719 +L 355.771063 137.630118 +L 354.800537 138.402742 +L 352.779386 139.866353 +L 352.403758 140.176804 +L 350.00698 141.955203 +L 349.78209 142.102588 +L 347.610201 143.769003 +L 346.751565 144.338824 +L 345.213423 145.576503 +L 343.737768 146.575059 +L 342.816644 147.371136 +L 340.754303 148.811294 +L 340.419866 149.136421 +L 338.023087 150.906091 +L 337.741572 151.047529 +L 335.626309 152.809014 +L 334.545593 153.283765 +L 333.22953 154.994222 +L 330.832752 155.310259 +L 328.877316 153.283765 +L 328.435973 153.12917 +L 326.039195 151.345664 +L 325.776711 151.047529 +L 323.642416 149.584958 +L 322.801127 148.811294 +L 321.245638 147.783785 +L 319.784057 146.575059 +L 318.848859 145.969496 +L 316.747391 144.338824 +L 316.452081 144.149833 +L 314.055302 142.366483 +L 313.743372 142.102588 +L 311.658523 140.596027 +L 310.755034 139.866353 +L 309.261745 138.809678 +L 307.749578 137.630118 +L 306.864966 137.013631 +L 304.732606 135.393882 +L 304.468188 135.211632 +L 302.071409 133.428049 +L 301.732101 133.157647 +L 299.674631 131.650761 +L 298.7381 130.921412 +L 297.277852 129.864968 +L 295.734573 128.685176 +L 294.881074 128.073387 +L 292.724292 126.448941 +L 292.484295 126.278063 +L 290.087517 124.49405 +L 289.724272 124.212706 +L 287.690738 122.712899 +L 286.727032 121.976471 +L 285.29396 120.926764 +L 283.724262 119.740235 +L 282.897181 119.137316 +L 280.717824 117.504 +L 280.500403 117.345969 +L 278.103624 115.561313 +L 277.71749 115.267765 +L 275.706846 113.777445 +L 274.717968 113.031529 +L 273.310067 111.990862 +L 271.715679 110.795294 +L 270.913289 110.20283 +L 268.712139 108.559059 +L 268.51651 108.414529 +L 266.119732 106.628964 +L 265.711013 106.322824 +L 263.722953 104.842846 +L 262.709612 104.086588 +L 261.326174 103.055788 +L 259.707748 101.850353 +L 258.929396 101.26893 +L 256.706848 99.614118 +L 256.532617 99.483422 +L 254.135839 97.69658 +L 253.704439 97.377882 +L 251.73906 95.908304 +L 250.701258 95.141647 +L 249.342282 94.120708 +L 247.69985 92.905412 +L 246.945503 92.334995 +L 244.701756 90.669176 +L 244.548725 90.552474 +L 242.151946 88.763787 +L 241.697374 88.432941 +L 239.755168 86.973093 +L 238.692213 86.196706 +L 237.358389 85.184777 +L 235.691348 83.960471 +L 234.961611 83.400333 +L 232.696714 81.724235 +L 232.564832 81.621536 +L 230.168054 79.829991 +L 229.689132 79.488 +L 227.771275 78.036018 +L 226.681274 77.251765 +L 225.374497 76.246463 +L 223.681076 75.015529 +L 222.977718 74.463566 +L 220.691511 72.779294 +L 220.58094 72.690353 +L 218.184161 70.893729 +L 217.677898 70.543059 +L 215.787383 69.093921 +L 214.665064 68.306824 +L 213.390604 67.301248 +L 211.665479 66.070588 +L 210.993826 65.520119 +L 208.685516 63.834353 +L 208.597047 63.758038 +L 206.200268 61.94922 +L 205.655571 61.598118 +L 203.80349 60.132061 +L 202.625989 59.361882 +L 201.406711 58.322713 +L 199.621825 57.125647 +L 199.009933 56.533006 +L 196.673519 54.889412 +L 196.613154 54.812391 +L 194.216376 52.915405 +L 193.355882 52.653176 +L 192.022371 50.416941 +L 194.216376 49.36794 +L 195.172456 48.180706 +L 196.613154 47.396253 +L 198.267094 45.944471 +L 199.009933 45.525689 +L 201.351453 43.708235 +L 201.406711 43.67654 +L 203.80349 41.929508 +L 204.322128 41.472 +L 203.80349 41.472 +L 201.406711 41.472 +L 199.009933 41.472 +L 196.613154 41.472 +L 194.216376 41.472 +L 191.819597 41.472 +L 189.422819 41.472 +L 187.02604 41.472 +L 184.629262 41.472 +L 182.232483 41.472 +L 179.835705 41.472 +L 178.735163 41.472 +L 179.835705 42.40091 +L 181.729675 43.708235 +L 182.232483 44.177894 +L 184.629262 45.911399 +L 184.694061 45.944471 +L 187.02604 47.797585 +L 187.857299 48.180706 +L 189.422819 49.826238 +L 191.481682 50.416941 +L 189.422819 52.48876 +L 189.378221 52.653176 +L 187.02604 54.229018 +L 186.454321 54.889412 +L 184.629262 56.051709 +L 183.439307 57.125647 +L 182.232483 57.879841 +L 180.396204 59.361882 +L 179.835705 59.709053 +L 177.438926 61.524367 +L 177.356359 61.598118 +L 175.042148 63.281366 +L 174.380565 63.834353 +L 172.645369 65.062259 +L 171.380954 66.070588 +L 170.248591 66.856599 +L 168.36595 68.306824 +L 167.851812 68.658847 +L 165.455034 70.457452 +L 165.349866 70.543059 +L 163.058255 72.228681 +L 162.362062 72.779294 +L 160.661477 74.011133 +L 159.362045 75.015529 +L 158.264698 75.801183 +L 156.353271 77.251765 +L 155.867919 77.596254 +L 153.471141 79.388779 +L 153.344559 79.488 +L 151.074362 81.166424 +L 150.350983 81.724235 +L 148.677584 82.950514 +L 147.350273 83.960471 +L 146.280805 84.739068 +L 144.344536 86.196706 +L 143.884027 86.530466 +L 141.487248 88.319745 +L 141.339503 88.432941 +L 139.09047 90.101432 +L 138.342189 90.669176 +L 136.693691 91.886846 +L 135.340906 92.905412 +L 134.296913 93.674597 +L 132.337262 95.141647 +L 131.900134 95.463437 +L 129.503356 97.250675 +L 129.334438 97.377882 +L 127.106577 99.035473 +L 126.334208 99.614118 +L 124.709799 100.822048 +L 123.332452 101.850353 +L 122.31302 102.609232 +L 120.330608 104.086588 +L 119.916242 104.395885 +L 117.519463 106.181729 +L 117.329212 106.322824 +L 115.122685 107.969327 +L 114.326337 108.559059 +L 112.725906 109.757053 +L 111.324156 110.795294 +L 110.329128 111.543752 +L 108.32414 113.031529 +L 107.932349 113.328209 +L 105.53557 115.113064 +L 105.32365 115.267765 +L 103.138792 116.903597 +L 102.317989 117.504 +L 100.742013 118.692651 +L 99.315353 119.740235 +L 98.345235 120.478894 +L 96.317482 121.976471 +L 95.948456 122.260796 +L 93.551678 124.044949 +L 93.317435 124.212706 +L 91.154899 125.839129 +L 90.308268 126.448941 +L 88.758121 127.63006 +L 87.304981 128.685176 +L 86.361342 129.415913 +L 84.310029 130.921412 +L 83.964564 131.194339 +L 81.567785 132.978011 +L 81.309769 133.157647 +L 79.171007 134.77788 +L 78.29497 135.393882 +L 76.774228 136.572372 +L 75.29024 137.630118 +L 74.37745 138.358351 +L 72.300092 139.866353 +L 71.980671 140.130997 +L 69.583893 141.914385 +L 69.297651 142.102588 +L 67.187114 143.727195 +L 66.269001 144.338824 +L 64.790336 145.533207 +L 63.257804 146.575059 +L 62.393557 147.325444 +L 60.27809 148.811294 +L 59.996779 149.086365 +L 57.6 150.869735 +L 57.6 151.047529 +L 57.6 153.283765 +L 57.6 155.52 +L 57.6 157.756235 +L 57.6 159.992471 +L 57.6 160.205435 +L 59.996779 162.002145 +L 60.226759 162.228706 +L 62.393557 163.758658 +L 63.202731 164.464941 +L 64.790336 165.548615 +L 66.211455 166.701176 +L 67.187114 167.353264 +L 69.238386 168.937412 +L 69.583893 169.165197 +L 71.980671 170.95342 +L 72.245763 171.173647 +L 74.37745 172.724637 +L 75.23439 173.409882 +L 76.774228 174.509597 +L 78.237932 175.646118 +L 79.171007 176.303346 +L 81.251802 177.882353 +L 81.567785 178.102673 +L 83.964564 179.888993 +L 84.254749 180.118588 +L 86.361342 181.666663 +L 87.24885 182.354824 +L 88.758121 183.451938 +L 90.251455 184.591059 +L 91.154899 185.242435 +L 93.260089 186.827294 +L 93.551678 187.0363 +L 95.948456 188.821984 +L 96.261689 189.063529 +L 98.345235 190.603448 +L 99.259067 191.299765 +L 100.742013 192.389364 +L 102.261327 193.536 +L 103.138792 194.178188 +L 105.266721 195.772235 +L 105.53557 195.968578 +L 107.932349 197.754199 +L 108.267993 198.008471 +L 110.329128 199.538425 +L 111.267768 200.244706 +L 112.725906 201.324979 +L 114.269805 202.480941 +L 115.122685 203.112638 +L 117.27263 204.717176 +L 117.519463 204.900247 +L 119.916242 206.686222 +L 120.27417 206.953412 +L 122.31302 208.47281 +L 123.275987 209.189647 +L 124.709799 210.260005 +L 126.277807 211.425882 +L 127.106577 212.046668 +L 129.278196 213.662118 +L 129.503356 213.831633 +L 131.900134 215.618388 +L 132.280549 215.898353 +L 134.296913 217.407315 +L 135.284375 218.134588 +L 136.693691 219.195236 +L 138.285941 220.370824 +L 139.09047 220.980907 +L 141.283646 222.607059 +L 141.487248 222.762948 +L 143.884027 224.551051 +L 144.287518 224.843294 +L 146.280805 226.342701 +L 147.293679 227.079529 +L 148.677584 228.13161 +L 150.294941 229.315765 +L 151.074362 229.916174 +L 153.289211 231.552 +L 153.471141 231.694439 +L 155.867919 233.484859 +L 156.295849 233.788235 +L 158.264698 235.280388 +L 159.305378 236.024471 +L 160.661477 237.071055 +L 162.306349 238.260706 +L 163.058255 238.854331 +L 165.295345 240.496941 +L 165.455034 240.626662 +L 167.851812 242.42159 +L 168.307824 242.733176 +L 170.248591 244.224603 +L 171.324167 244.969412 +L 172.645369 246.020039 +L 174.325557 247.205647 +L 175.042148 247.802552 +L 177.303759 249.441882 +L 177.438926 249.562095 +L 179.835705 251.369576 +L 180.335999 251.678118 +L 182.232483 253.200006 +L 183.382114 253.914353 +L 184.629262 255.03053 +L 186.402773 256.150588 +L 187.02604 256.859634 +L 189.340613 258.386824 +L 189.422819 258.666195 +L 191.532352 260.623059 +L 189.422819 261.243277 +L 187.922506 262.859294 +L 187.02604 263.276865 +L 184.761507 265.095529 +L 184.629262 265.163479 +L 182.232483 266.908663 +L 181.782549 267.331765 +L 179.835705 268.682166 +L 178.79131 269.568 +L 177.438926 270.47992 +L 175.773593 271.804235 +L 175.042148 272.288762 +L 172.741023 274.040471 +L 172.645369 274.103109 +L 170.248591 275.871833 +L 169.75421 276.276706 +L 167.851812 277.649058 +L 166.75918 278.512941 +L 165.455034 279.438021 +L 163.750981 280.749176 +L 163.058255 281.234471 +L 160.733753 282.985412 +L 160.661477 283.035589 +L 158.264698 284.811154 +L 157.74194 285.221647 +L 155.867919 286.592049 +L 154.744239 287.457882 +L 153.471141 288.379644 +L 151.738935 289.694118 +L 151.074362 290.171756 +L 148.728367 291.930353 +L 148.677584 291.966664 +L 146.280805 293.746151 +L 145.733165 294.166588 +L 143.884027 295.5295 +L 142.733696 296.402824 +L 141.487248 297.316734 +L 139.729966 298.639059 +L 139.09047 299.106387 +L 136.723671 300.875294 +L 136.693691 300.897168 +L 134.296913 302.679756 +L 133.725565 303.111529 +L 131.900134 304.464994 +L 130.724759 305.347765 +L 129.503356 306.252125 +L 127.722206 307.584 z -M 231.813161 281.344538 -L 230.786577 281.23064 -L 227.790604 280.759591 -L 224.794631 280.151248 -L 221.798658 279.407364 -L 218.802685 278.530083 -L 218.53598 278.440336 -L 215.806711 277.550952 -L 212.810738 276.450737 -L 210.566506 275.536134 -L 209.814765 275.237851 -L 206.818792 273.934939 -L 204.056616 272.631933 -L 203.822819 272.524001 -L 200.826846 271.036884 -L 198.355194 269.727731 -L 197.830872 269.45462 -L 194.834899 267.800466 -L 193.155669 266.823529 -L 191.838926 266.066611 -L 188.842953 264.261593 -L 188.29828 263.919328 -L 185.84698 262.390286 -L 183.723783 261.015126 -L 182.851007 260.451439 -L 179.855034 258.450602 -L 179.361247 258.110924 -L 176.85906 256.386738 -L 175.190446 255.206723 -L 173.863087 254.262168 -L 171.170443 252.302521 -L 170.867114 252.079361 -L 167.871141 249.832587 -L 167.301234 249.398319 -L 164.875168 247.520733 -L 163.565621 246.494118 -L 161.879195 245.144839 -L 159.954803 243.589916 -L 158.883221 242.701779 -L 156.467472 240.685714 -L 155.887248 240.186377 -L 153.103951 237.781513 -L 152.891275 237.590945 -L 149.895302 234.903467 -L 149.866091 234.877311 -L 146.899329 232.105574 -L 146.756879 231.973109 -L 143.903356 229.186159 -L 143.782387 229.068908 -L 140.950353 226.164706 -L 140.907383 226.117702 -L 138.267593 223.260504 -L 137.911409 222.845435 -L 135.746161 220.356303 -L 134.915436 219.316953 -L 133.39979 217.452101 -L 131.919463 215.444264 -L 131.245291 214.547899 -L 129.294447 211.643697 -L 128.92349 211.013151 -L 127.554365 208.739496 -L 126.061423 205.835294 -L 125.927517 205.519204 -L 124.80133 202.931092 -L 123.813065 200.026891 -L 123.10473 197.122689 -L 122.931544 195.93981 -L 122.671719 194.218487 -L 122.527222 191.314286 -L 122.677257 188.410084 -L 122.931544 186.746371 -L 123.115448 185.505882 -L 123.829083 182.601681 -L 124.822574 179.697479 -L 125.927517 177.168456 -L 126.0871 176.793277 -L 127.584921 173.889076 -L 128.92349 171.672173 -L 129.328932 170.984874 -L 131.284251 168.080672 -L 131.919463 167.237767 -L 133.442196 165.176471 -L 134.915436 163.36688 -L 135.791821 162.272269 -L 137.911409 159.839239 -L 138.316337 159.368067 -L 140.907383 156.567259 -L 141.002027 156.463866 -L 143.837271 153.559664 -L 143.903356 153.495673 -L 146.814286 150.655462 -L 146.899329 150.576448 -L 149.895302 147.77982 -L 149.925843 147.751261 -L 152.891275 145.093143 -L 153.166112 144.847059 -L 155.887248 142.497382 -L 156.532005 141.942857 -L 158.883221 139.98168 -L 160.021627 139.038655 -L 161.879195 137.53837 -L 163.634665 136.134454 -L 164.875168 135.162291 -L 167.372434 133.230252 -L 167.871141 132.850332 -L 170.867114 130.604112 -L 171.245161 130.32605 -L 173.863087 128.421086 -L 175.267513 127.421849 -L 176.85906 126.296417 -L 179.44065 124.517647 -L 179.855034 124.232587 -L 182.851007 122.231728 -L 183.808304 121.613445 -L 185.84698 120.292901 -L 188.385592 118.709244 -L 188.842953 118.421792 -L 191.838926 116.616443 -L 193.250191 115.805042 -L 194.834899 114.882847 -L 197.830872 113.228245 -L 198.459258 112.90084 -L 200.826846 111.646354 -L 203.822819 110.1587 -L 204.173744 109.996639 -L 206.818792 108.748318 -L 209.814765 107.444814 -L 210.702429 107.092437 -L 212.810738 106.232752 -L 215.806711 105.131929 -L 218.701038 104.188235 -L 218.802685 104.154008 -L 221.798658 103.27615 -L 224.794631 102.531777 -L 227.790604 101.923033 -L 230.786577 101.451674 -L 232.296564 101.284034 -L 233.78255 101.112674 -L 236.778523 100.912294 -L 239.774497 100.857599 -L 242.77047 100.948747 -L 245.766443 101.185474 -L 246.540195 101.284034 -L 248.762416 101.556553 -L 251.758389 102.062401 -L 254.754362 102.705232 -L 257.750336 103.483193 -L 260.069368 104.188235 -L 260.746309 104.387518 -L 263.742282 105.395628 -L 266.738255 106.526967 -L 268.092146 107.092437 -L 269.734228 107.760125 -L 272.730201 109.091603 -L 274.611955 109.996639 -L 275.726174 110.521019 -L 278.722148 112.034033 -L 280.333462 112.90084 -L 281.718121 113.6333 -L 284.714094 115.310573 -L 285.553472 115.805042 -L 287.710067 117.060215 -L 290.416789 118.709244 -L 290.70604 118.884156 -L 293.702013 120.771555 -L 294.990417 121.613445 -L 296.697987 122.725989 -L 299.359992 124.517647 -L 299.69396 124.742786 -L 302.689933 126.821203 -L 303.534319 127.421849 -L 305.685906 128.961801 -L 307.551219 130.32605 -L 308.681879 131.161923 -L 311.428788 133.230252 -L 311.677852 133.420707 -L 314.673826 135.746713 -L 315.167236 136.134454 -L 317.669799 138.141349 -L 318.778572 139.038655 -L 320.665772 140.605093 -L 322.267557 141.942857 -L 323.661745 143.143456 -L 325.633594 144.847059 -L 326.657718 145.764542 -L 328.874518 147.751261 -L 329.653691 148.479761 -L 331.986571 150.655462 -L 332.649664 151.304897 -L 334.964331 153.559664 -L 335.645638 154.261724 -L 337.800575 156.463866 -L 338.641611 157.380481 -L 340.486072 159.368067 -L 341.637584 160.703796 -L 343.009309 162.272269 -L 344.633557 164.293105 -L 345.356101 165.176471 -L 347.511567 168.080672 -L 347.62953 168.258574 -L 349.475198 170.984874 -L 350.625503 172.924159 -L 351.21184 173.889076 -L 352.719221 176.793277 -L 353.621477 178.901012 -L 353.971995 179.697479 -L 354.972735 182.601681 -L 355.691576 185.505882 -L 356.12527 188.410084 -L 356.271859 191.314286 -L 356.130681 194.218487 -L 355.702372 197.122689 -L 354.988869 200.026891 -L 353.993394 202.931092 -L 353.621477 203.779614 -L 352.745062 205.835294 -L 351.242591 208.739496 -L 350.625503 209.757771 -L 349.509873 211.643697 -L 347.62953 214.427589 -L 347.549938 214.547899 -L 345.398706 217.452101 -L 344.633557 218.389149 -L 343.055147 220.356303 -L 341.637584 221.979594 -L 340.534968 223.260504 -L 338.641611 225.303426 -L 337.852371 226.164706 -L 335.645638 228.422334 -L 335.018888 229.068908 -L 332.649664 231.3791 -L 332.043762 231.973109 -L 329.653691 234.20406 -L 328.934228 234.877311 -L 326.657718 236.91905 -L 325.695721 237.781513 -L 323.661745 239.539896 -L 322.332007 240.685714 -L 320.665772 242.078038 -L 318.845262 243.589916 -L 317.669799 244.541601 -L 315.23609 246.494118 -L 314.673826 246.936115 -L 311.677852 249.262903 -L 311.500824 249.398319 -L 308.681879 251.521413 -L 307.625557 252.302521 -L 305.685906 253.721366 -L 303.610929 255.206723 -L 302.689933 255.861914 -L 299.69396 257.940484 -L 299.441149 258.110924 -L 296.697987 259.957184 -L 295.074202 261.015126 -L 293.702013 261.911678 -L 290.70604 263.798895 -L 290.506862 263.919328 -L 287.710067 265.622921 -L 285.646846 266.823529 -L 284.714094 267.372855 -L 281.718121 269.049675 -L 280.435961 269.727731 -L 278.722148 270.649345 -L 275.726174 272.161813 -L 274.72689 272.631933 -L 272.730201 273.59181 -L 269.734228 274.922682 -L 268.224847 275.536134 -L 266.738255 276.156685 -L 263.742282 277.287398 -L 260.746309 278.294951 -L 260.252178 278.440336 -L 257.750336 279.200457 -L 254.754362 279.977906 -L 251.758389 280.620315 -L 248.762416 281.12583 -L 246.977823 281.344538 -L 245.766443 281.498724 -L 242.77047 281.735269 -L 239.774497 281.826346 -L 236.778523 281.771693 -L 233.78255 281.571467 +M 185.450529 224.843294 +L 184.629262 224.755593 +L 182.232483 224.392885 +L 179.835705 223.924461 +L 177.438926 223.35167 +L 175.042148 222.676164 +L 174.828784 222.607059 +L 172.645369 221.922233 +L 170.248591 221.075068 +L 168.453205 220.370824 +L 167.851812 220.141145 +L 165.455034 219.137903 +L 163.245293 218.134588 +L 163.058255 218.051481 +L 160.661477 216.906401 +L 158.684155 215.898353 +L 158.264698 215.688058 +L 155.867919 214.414359 +L 154.524536 213.662118 +L 153.471141 213.079291 +L 151.074362 211.689426 +L 150.638624 211.425882 +L 148.677584 210.24852 +L 146.979026 209.189647 +L 146.280805 208.755608 +L 143.884027 207.214964 +L 143.488998 206.953412 +L 141.487248 205.625788 +L 140.152357 204.717176 +L 139.09047 203.989869 +L 136.936355 202.480941 +L 136.693691 202.309108 +L 134.296913 200.579092 +L 133.840987 200.244706 +L 131.900134 198.798965 +L 130.852497 198.008471 +L 129.503356 196.969526 +L 127.963843 195.772235 +L 127.106577 195.08837 +L 125.173978 193.536 +L 124.709799 193.15151 +L 122.483161 191.299765 +L 122.31302 191.153028 +L 119.916242 189.08367 +L 119.892873 189.063529 +L 117.519463 186.929292 +L 117.405503 186.827294 +L 115.122685 184.681342 +L 115.02591 184.591059 +L 112.760283 182.354824 +L 112.725906 182.318631 +L 110.614075 180.118588 +L 110.329128 179.798985 +L 108.596929 177.882353 +L 107.932349 177.082054 +L 106.719832 175.646118 +L 105.53557 174.100084 +L 104.996233 173.409882 +L 103.435558 171.173647 +L 103.138792 170.688126 +L 102.043492 168.937412 +L 100.849139 166.701176 +L 100.742013 166.457787 +L 99.841064 164.464941 +L 99.050452 162.228706 +L 98.483784 159.992471 +L 98.345235 159.081654 +L 98.137375 157.756235 +L 98.021778 155.52 +L 98.141805 153.283765 +L 98.345235 152.002706 +L 98.492359 151.047529 +L 99.063266 148.811294 +L 99.858059 146.575059 +L 100.742013 144.627711 +L 100.86968 144.338824 +L 102.067937 142.102588 +L 103.138792 140.395573 +L 103.463145 139.866353 +L 105.027401 137.630118 +L 105.53557 136.98108 +L 106.753757 135.393882 +L 107.932349 134.000498 +L 108.633457 133.157647 +L 110.329128 131.284214 +L 110.653069 130.921412 +L 112.725906 128.764789 +L 112.801622 128.685176 +L 115.069817 126.448941 +L 115.122685 126.399668 +L 117.451429 124.212706 +L 117.519463 124.151865 +L 119.916242 121.998462 +L 119.940674 121.976471 +L 122.31302 119.92972 +L 122.532889 119.740235 +L 124.709799 117.930984 +L 125.225604 117.504 +L 127.106577 115.993894 +L 128.017301 115.267765 +L 129.503356 114.112545 +L 130.907732 113.031529 +L 131.900134 112.282964 +L 133.897947 110.795294 +L 134.296913 110.502755 +L 136.693691 108.773166 +L 136.996129 108.559059 +L 139.09047 107.092236 +L 140.21401 106.322824 +L 141.487248 105.456241 +L 143.55252 104.086588 +L 143.884027 103.867092 +L 146.280805 102.32643 +L 147.046643 101.850353 +L 148.677584 100.833534 +L 150.708473 99.614118 +L 151.074362 99.39278 +L 153.471141 98.002661 +L 154.600153 97.377882 +L 155.867919 96.667792 +L 158.264698 95.393749 +L 158.767407 95.141647 +L 160.661477 94.175693 +L 163.058255 93.030199 +L 163.338995 92.905412 +L 165.455034 91.944205 +L 167.851812 90.940506 +L 168.561943 90.669176 +L 170.248591 90.007219 +L 172.645369 89.159585 +L 174.96083 88.432941 +L 175.042148 88.406586 +L 177.438926 87.730636 +L 179.835705 87.157468 +L 182.232483 86.688736 +L 184.629262 86.325789 +L 185.837251 86.196706 +L 187.02604 86.064759 +L 189.422819 85.910467 +L 191.819597 85.868351 +L 194.216376 85.938535 +L 196.613154 86.120815 +L 197.232156 86.196706 +L 199.009933 86.406546 +L 201.406711 86.796049 +L 203.80349 87.291029 +L 206.200268 87.890059 +L 208.055494 88.432941 +L 208.597047 88.586389 +L 210.993826 89.362634 +L 213.390604 90.233765 +L 214.473717 90.669176 +L 215.787383 91.183297 +L 218.184161 92.208534 +L 219.689564 92.905412 +L 220.58094 93.309185 +L 222.977718 94.474206 +L 224.26677 95.141647 +L 225.374497 95.705641 +L 227.771275 96.997141 +L 228.442778 97.377882 +L 230.168054 98.344366 +L 232.333431 99.614118 +L 232.564832 99.7488 +L 234.961611 101.202098 +L 235.992333 101.850353 +L 237.358389 102.707012 +L 239.487994 104.086588 +L 239.755168 104.259945 +L 242.151946 105.860326 +L 242.827455 106.322824 +L 244.548725 107.508587 +L 246.040975 108.559059 +L 246.945503 109.20268 +L 249.14303 110.795294 +L 249.342282 110.941944 +L 251.73906 112.732969 +L 252.133789 113.031529 +L 254.135839 114.576839 +L 255.022857 115.267765 +L 256.532617 116.473921 +L 257.814045 117.504 +L 258.929396 118.428461 +L 260.506875 119.740235 +L 261.326174 120.446697 +L 263.099614 121.976471 +L 263.722953 122.537416 +L 265.589257 124.212706 +L 266.119732 124.712771 +L 267.971465 126.448941 +L 268.51651 126.989527 +L 270.24046 128.685176 +L 270.913289 129.39097 +L 272.388858 130.921412 +L 273.310067 131.949923 +L 274.407447 133.157647 +L 275.706846 134.713691 +L 276.284881 135.393882 +L 278.009254 137.630118 +L 278.103624 137.767102 +L 279.580159 139.866353 +L 280.500403 141.359602 +L 280.969472 142.102588 +L 282.175377 144.338824 +L 282.897181 145.961779 +L 283.177596 146.575059 +L 283.978188 148.811294 +L 284.55326 151.047529 +L 284.900216 153.283765 +L 285.017488 155.52 +L 284.904545 157.756235 +L 284.561898 159.992471 +L 283.991095 162.228706 +L 283.194715 164.464941 +L 282.897181 165.118303 +L 282.19605 166.701176 +L 280.994073 168.937412 +L 280.500403 169.721484 +L 279.607898 171.173647 +L 278.103624 173.317243 +L 278.03995 173.409882 +L 276.318965 175.646118 +L 275.706846 176.367644 +L 274.444117 177.882353 +L 273.310067 179.132287 +L 272.427974 180.118588 +L 270.913289 181.691638 +L 270.281897 182.354824 +L 268.51651 184.093197 +L 268.01511 184.591059 +L 266.119732 186.369907 +L 265.635009 186.827294 +L 263.722953 188.545126 +L 263.147382 189.063529 +L 261.326174 190.635669 +L 260.556577 191.299765 +L 258.929396 192.65372 +L 257.865606 193.536 +L 256.532617 194.608089 +L 255.076209 195.772235 +L 254.135839 196.505033 +L 252.188872 198.008471 +L 251.73906 198.348808 +L 249.342282 200.140436 +L 249.200659 200.244706 +L 246.945503 201.879488 +L 246.100446 202.480941 +L 244.548725 203.573452 +L 242.888743 204.717176 +L 242.151946 205.221673 +L 239.755168 206.822172 +L 239.552919 206.953412 +L 237.358389 208.375031 +L 236.059362 209.189647 +L 234.961611 209.879992 +L 232.564832 211.333149 +L 232.405489 211.425882 +L 230.168054 212.737649 +L 228.517477 213.662118 +L 227.771275 214.085099 +L 225.374497 215.37625 +L 224.348769 215.898353 +L 222.977718 216.607995 +L 220.58094 217.772596 +L 219.781512 218.134588 +L 218.184161 218.873694 +L 215.787383 219.898465 +L 214.579877 220.370824 +L 213.390604 220.848647 +L 210.993826 221.719296 +L 208.597047 222.495112 +L 208.201742 222.607059 +L 206.200268 223.192352 +L 203.80349 223.790988 +L 201.406711 224.285642 +L 199.009933 224.674889 +L 197.582259 224.843294 +L 196.613154 224.962017 +L 194.216376 225.144157 +L 191.819597 225.214286 +L 189.422819 225.172203 +L 187.02604 225.01803 z -" style="fill:url(#hae52b1434d);fill-opacity:0.5;"/> - <path clip-path="url(#p5b7831a9a7)" d="M 512.408054 388.8 -L 515.404027 388.8 -L 518.4 388.8 -L 518.4 385.895798 -L 518.4 382.991597 -L 518.4 382.48766 -L 517.758393 382.991597 -L 515.404027 384.805886 -L 514.007654 385.895798 -L 512.408054 387.126669 -L 510.25462 388.8 +" style="fill:url(#hcbba77881f);fill-opacity:0.5;"/> + <path clip-path="url(#p85834bf349)" d="M 409.926443 307.584 +L 412.323221 307.584 +L 414.72 307.584 +L 414.72 305.347765 +L 414.72 303.111529 +L 414.72 302.723498 +L 414.206714 303.111529 +L 412.323221 304.508532 +L 411.206123 305.347765 +L 409.926443 306.295535 +L 408.203696 307.584 z -" style="fill:url(#hae52b1434d);fill-opacity:0.5;"/> +" style="fill:url(#hcbba77881f);fill-opacity:0.5;"/> </g> - <g id="PathCollection_7"> - <path clip-path="url(#p5b7831a9a7)" d="M 191.838926 388.8 -L 194.834899 388.8 -L 197.830872 388.8 -L 200.826846 388.8 -L 203.822819 388.8 -L 206.818792 388.8 -L 209.814765 388.8 -L 212.810738 388.8 -L 215.806711 388.8 -L 218.802685 388.8 -L 221.798658 388.8 -L 224.794631 388.8 -L 227.790604 388.8 -L 230.786577 388.8 -L 233.78255 388.8 -L 236.778523 388.8 -L 239.774497 388.8 -L 242.77047 388.8 -L 245.766443 388.8 -L 248.762416 388.8 -L 251.758389 388.8 -L 254.754362 388.8 -L 257.750336 388.8 -L 260.746309 388.8 -L 263.742282 388.8 -L 266.738255 388.8 -L 269.734228 388.8 -L 272.730201 388.8 -L 275.726174 388.8 -L 278.722148 388.8 -L 281.718121 388.8 -L 284.714094 388.8 -L 287.710067 388.8 -L 288.206884 388.8 -L 287.710067 388.495803 -L 284.714094 386.743347 -L 283.18944 385.895798 -L 281.718121 385.066159 -L 278.722148 383.469928 -L 277.765816 382.991597 -L 275.726174 381.9518 -L 272.730201 380.528477 -L 271.725444 380.087395 -L 269.734228 379.191995 -L 266.738255 377.959403 -L 264.651515 377.183193 -L 263.742282 376.834937 -L 260.746309 375.812406 -L 257.750336 374.917813 -L 255.245496 374.278992 -L 254.754362 374.149297 -L 251.758389 373.495566 -L 248.762416 372.981141 -L 245.766443 372.607503 -L 242.77047 372.375731 -L 239.774497 372.286491 -L 236.778523 372.340041 -L 233.78255 372.536227 -L 230.786577 372.874484 -L 227.790604 373.353835 -L 224.794631 373.972901 -L 223.58321 374.278992 -L 221.798658 374.714465 -L 218.802685 375.576656 -L 215.806711 376.567465 -L 214.154595 377.183193 -L 212.810738 377.669588 -L 209.814765 378.872957 -L 207.056105 380.087395 -L 206.818792 380.189385 -L 203.822819 381.586053 -L 201.018736 382.991597 -L 200.826846 383.085967 -L 197.830872 384.658186 -L 195.605964 385.895798 -L 194.834899 386.318636 -L 191.838926 388.049804 -L 190.600194 388.8 + <g id="PathCollection_6"> + <path clip-path="url(#p85834bf349)" d="M 153.471141 307.584 +L 155.867919 307.584 +L 158.264698 307.584 +L 160.661477 307.584 +L 163.058255 307.584 +L 165.455034 307.584 +L 167.851812 307.584 +L 170.248591 307.584 +L 172.645369 307.584 +L 175.042148 307.584 +L 177.438926 307.584 +L 179.835705 307.584 +L 182.232483 307.584 +L 184.629262 307.584 +L 187.02604 307.584 +L 189.422819 307.584 +L 191.819597 307.584 +L 194.216376 307.584 +L 196.613154 307.584 +L 199.009933 307.584 +L 201.406711 307.584 +L 203.80349 307.584 +L 206.200268 307.584 +L 208.597047 307.584 +L 210.993826 307.584 +L 213.390604 307.584 +L 215.787383 307.584 +L 218.184161 307.584 +L 220.58094 307.584 +L 222.977718 307.584 +L 225.374497 307.584 +L 227.771275 307.584 +L 230.168054 307.584 +L 230.565507 307.584 +L 230.168054 307.349768 +L 227.771275 306.000378 +L 226.551552 305.347765 +L 225.374497 304.708942 +L 222.977718 303.479845 +L 222.212653 303.111529 +L 220.58094 302.310886 +L 218.184161 301.214928 +L 217.380355 300.875294 +L 215.787383 300.185836 +L 213.390604 299.23674 +L 211.721212 298.639059 +L 210.993826 298.370902 +L 208.597047 297.583553 +L 206.200268 296.894716 +L 204.196397 296.402824 +L 203.80349 296.302959 +L 201.406711 295.799586 +L 199.009933 295.403478 +L 196.613154 295.115778 +L 194.216376 294.937313 +L 191.819597 294.868598 +L 189.422819 294.909832 +L 187.02604 295.060895 +L 184.629262 295.321352 +L 182.232483 295.690453 +L 179.835705 296.167134 +L 178.866568 296.402824 +L 177.438926 296.738138 +L 175.042148 297.402025 +L 172.645369 298.164948 +L 171.323676 298.639059 +L 170.248591 299.013583 +L 167.851812 299.940177 +L 165.644884 300.875294 +L 165.455034 300.953827 +L 163.058255 302.029261 +L 160.814989 303.111529 +L 160.661477 303.184194 +L 158.264698 304.394803 +L 156.484771 305.347765 +L 155.867919 305.67335 +L 153.471141 307.006349 +L 152.480155 307.584 z -" style="fill:url(#h18f21251b1);fill-opacity:0.5;"/> - <path clip-path="url(#p5b7831a9a7)" d="M 233.78255 281.571467 -L 236.778523 281.771693 -L 239.774497 281.826346 -L 242.77047 281.735269 -L 245.766443 281.498724 -L 246.977823 281.344538 -L 248.762416 281.12583 -L 251.758389 280.620315 -L 254.754362 279.977906 -L 257.750336 279.200457 -L 260.252178 278.440336 -L 260.746309 278.294951 -L 263.742282 277.287398 -L 266.738255 276.156685 -L 268.224847 275.536134 -L 269.734228 274.922682 -L 272.730201 273.59181 -L 274.72689 272.631933 -L 275.726174 272.161813 -L 278.722148 270.649345 -L 280.435961 269.727731 -L 281.718121 269.049675 -L 284.714094 267.372855 -L 285.646846 266.823529 -L 287.710067 265.622921 -L 290.506862 263.919328 -L 290.70604 263.798895 -L 293.702013 261.911678 -L 295.074202 261.015126 -L 296.697987 259.957184 -L 299.441149 258.110924 -L 299.69396 257.940484 -L 302.689933 255.861914 -L 303.610929 255.206723 -L 305.685906 253.721366 -L 307.625557 252.302521 -L 308.681879 251.521413 -L 311.500824 249.398319 -L 311.677852 249.262903 -L 314.673826 246.936115 -L 315.23609 246.494118 -L 317.669799 244.541601 -L 318.845262 243.589916 -L 320.665772 242.078038 -L 322.332007 240.685714 -L 323.661745 239.539896 -L 325.695721 237.781513 -L 326.657718 236.91905 -L 328.934228 234.877311 -L 329.653691 234.20406 -L 332.043762 231.973109 -L 332.649664 231.3791 -L 335.018888 229.068908 -L 335.645638 228.422334 -L 337.852371 226.164706 -L 338.641611 225.303426 -L 340.534968 223.260504 -L 341.637584 221.979594 -L 343.055147 220.356303 -L 344.633557 218.389149 -L 345.398706 217.452101 -L 347.549938 214.547899 -L 347.62953 214.427589 -L 349.509873 211.643697 -L 350.625503 209.757771 -L 351.242591 208.739496 -L 352.745062 205.835294 -L 353.621477 203.779614 -L 353.993394 202.931092 -L 354.988869 200.026891 -L 355.702372 197.122689 -L 356.130681 194.218487 -L 356.271859 191.314286 -L 356.12527 188.410084 -L 355.691576 185.505882 -L 354.972735 182.601681 -L 353.971995 179.697479 -L 353.621477 178.901012 -L 352.719221 176.793277 -L 351.21184 173.889076 -L 350.625503 172.924159 -L 349.475198 170.984874 -L 347.62953 168.258574 -L 347.511567 168.080672 -L 345.356101 165.176471 -L 344.633557 164.293105 -L 343.009309 162.272269 -L 341.637584 160.703796 -L 340.486072 159.368067 -L 338.641611 157.380481 -L 337.800575 156.463866 -L 335.645638 154.261724 -L 334.964331 153.559664 -L 332.649664 151.304897 -L 331.986571 150.655462 -L 329.653691 148.479761 -L 328.874518 147.751261 -L 326.657718 145.764542 -L 325.633594 144.847059 -L 323.661745 143.143456 -L 322.267557 141.942857 -L 320.665772 140.605093 -L 318.778572 139.038655 -L 317.669799 138.141349 -L 315.167236 136.134454 -L 314.673826 135.746713 -L 311.677852 133.420707 -L 311.428788 133.230252 -L 308.681879 131.161923 -L 307.551219 130.32605 -L 305.685906 128.961801 -L 303.534319 127.421849 -L 302.689933 126.821203 -L 299.69396 124.742786 -L 299.359992 124.517647 -L 296.697987 122.725989 -L 294.990417 121.613445 -L 293.702013 120.771555 -L 290.70604 118.884156 -L 290.416789 118.709244 -L 287.710067 117.060215 -L 285.553472 115.805042 -L 284.714094 115.310573 -L 281.718121 113.6333 -L 280.333462 112.90084 -L 278.722148 112.034033 -L 275.726174 110.521019 -L 274.611955 109.996639 -L 272.730201 109.091603 -L 269.734228 107.760125 -L 268.092146 107.092437 -L 266.738255 106.526967 -L 263.742282 105.395628 -L 260.746309 104.387518 -L 260.069368 104.188235 -L 257.750336 103.483193 -L 254.754362 102.705232 -L 251.758389 102.062401 -L 248.762416 101.556553 -L 246.540195 101.284034 -L 245.766443 101.185474 -L 242.77047 100.948747 -L 239.774497 100.857599 -L 236.778523 100.912294 -L 233.78255 101.112674 -L 232.296564 101.284034 -L 230.786577 101.451674 -L 227.790604 101.923033 -L 224.794631 102.531777 -L 221.798658 103.27615 -L 218.802685 104.154008 -L 218.701038 104.188235 -L 215.806711 105.131929 -L 212.810738 106.232752 -L 210.702429 107.092437 -L 209.814765 107.444814 -L 206.818792 108.748318 -L 204.173744 109.996639 -L 203.822819 110.1587 -L 200.826846 111.646354 -L 198.459258 112.90084 -L 197.830872 113.228245 -L 194.834899 114.882847 -L 193.250191 115.805042 -L 191.838926 116.616443 -L 188.842953 118.421792 -L 188.385592 118.709244 -L 185.84698 120.292901 -L 183.808304 121.613445 -L 182.851007 122.231728 -L 179.855034 124.232587 -L 179.44065 124.517647 -L 176.85906 126.296417 -L 175.267513 127.421849 -L 173.863087 128.421086 -L 171.245161 130.32605 -L 170.867114 130.604112 -L 167.871141 132.850332 -L 167.372434 133.230252 -L 164.875168 135.162291 -L 163.634665 136.134454 -L 161.879195 137.53837 -L 160.021627 139.038655 -L 158.883221 139.98168 -L 156.532005 141.942857 -L 155.887248 142.497382 -L 153.166112 144.847059 -L 152.891275 145.093143 -L 149.925843 147.751261 -L 149.895302 147.77982 -L 146.899329 150.576448 -L 146.814286 150.655462 -L 143.903356 153.495673 -L 143.837271 153.559664 -L 141.002027 156.463866 -L 140.907383 156.567259 -L 138.316337 159.368067 -L 137.911409 159.839239 -L 135.791821 162.272269 -L 134.915436 163.36688 -L 133.442196 165.176471 -L 131.919463 167.237767 -L 131.284251 168.080672 -L 129.328932 170.984874 -L 128.92349 171.672173 -L 127.584921 173.889076 -L 126.0871 176.793277 -L 125.927517 177.168456 -L 124.822574 179.697479 -L 123.829083 182.601681 -L 123.115448 185.505882 -L 122.931544 186.746371 -L 122.677257 188.410084 -L 122.527222 191.314286 -L 122.671719 194.218487 -L 122.931544 195.93981 -L 123.10473 197.122689 -L 123.813065 200.026891 -L 124.80133 202.931092 -L 125.927517 205.519204 -L 126.061423 205.835294 -L 127.554365 208.739496 -L 128.92349 211.013151 -L 129.294447 211.643697 -L 131.245291 214.547899 -L 131.919463 215.444264 -L 133.39979 217.452101 -L 134.915436 219.316953 -L 135.746161 220.356303 -L 137.911409 222.845435 -L 138.267593 223.260504 -L 140.907383 226.117702 -L 140.950353 226.164706 -L 143.782387 229.068908 -L 143.903356 229.186159 -L 146.756879 231.973109 -L 146.899329 232.105574 -L 149.866091 234.877311 -L 149.895302 234.903467 -L 152.891275 237.590945 -L 153.103951 237.781513 -L 155.887248 240.186377 -L 156.467472 240.685714 -L 158.883221 242.701779 -L 159.954803 243.589916 -L 161.879195 245.144839 -L 163.565621 246.494118 -L 164.875168 247.520733 -L 167.301234 249.398319 -L 167.871141 249.832587 -L 170.867114 252.079361 -L 171.170443 252.302521 -L 173.863087 254.262168 -L 175.190446 255.206723 -L 176.85906 256.386738 -L 179.361247 258.110924 -L 179.855034 258.450602 -L 182.851007 260.451439 -L 183.723783 261.015126 -L 185.84698 262.390286 -L 188.29828 263.919328 -L 188.842953 264.261593 -L 191.838926 266.066611 -L 193.155669 266.823529 -L 194.834899 267.800466 -L 197.830872 269.45462 -L 198.355194 269.727731 -L 200.826846 271.036884 -L 203.822819 272.524001 -L 204.056616 272.631933 -L 206.818792 273.934939 -L 209.814765 275.237851 -L 210.566506 275.536134 -L 212.810738 276.450737 -L 215.806711 277.550952 -L 218.53598 278.440336 -L 218.802685 278.530083 -L 221.798658 279.407364 -L 224.794631 280.151248 -L 227.790604 280.759591 -L 230.786577 281.23064 -L 231.813161 281.344538 +" style="fill:url(#h11d5e7b694);fill-opacity:0.5;"/> + <path clip-path="url(#p85834bf349)" d="M 187.02604 225.01803 +L 189.422819 225.172203 +L 191.819597 225.214286 +L 194.216376 225.144157 +L 196.613154 224.962017 +L 197.582259 224.843294 +L 199.009933 224.674889 +L 201.406711 224.285642 +L 203.80349 223.790988 +L 206.200268 223.192352 +L 208.201742 222.607059 +L 208.597047 222.495112 +L 210.993826 221.719296 +L 213.390604 220.848647 +L 214.579877 220.370824 +L 215.787383 219.898465 +L 218.184161 218.873694 +L 219.781512 218.134588 +L 220.58094 217.772596 +L 222.977718 216.607995 +L 224.348769 215.898353 +L 225.374497 215.37625 +L 227.771275 214.085099 +L 228.517477 213.662118 +L 230.168054 212.737649 +L 232.405489 211.425882 +L 232.564832 211.333149 +L 234.961611 209.879992 +L 236.059362 209.189647 +L 237.358389 208.375031 +L 239.552919 206.953412 +L 239.755168 206.822172 +L 242.151946 205.221673 +L 242.888743 204.717176 +L 244.548725 203.573452 +L 246.100446 202.480941 +L 246.945503 201.879488 +L 249.200659 200.244706 +L 249.342282 200.140436 +L 251.73906 198.348808 +L 252.188872 198.008471 +L 254.135839 196.505033 +L 255.076209 195.772235 +L 256.532617 194.608089 +L 257.865606 193.536 +L 258.929396 192.65372 +L 260.556577 191.299765 +L 261.326174 190.635669 +L 263.147382 189.063529 +L 263.722953 188.545126 +L 265.635009 186.827294 +L 266.119732 186.369907 +L 268.01511 184.591059 +L 268.51651 184.093197 +L 270.281897 182.354824 +L 270.913289 181.691638 +L 272.427974 180.118588 +L 273.310067 179.132287 +L 274.444117 177.882353 +L 275.706846 176.367644 +L 276.318965 175.646118 +L 278.03995 173.409882 +L 278.103624 173.317243 +L 279.607898 171.173647 +L 280.500403 169.721484 +L 280.994073 168.937412 +L 282.19605 166.701176 +L 282.897181 165.118303 +L 283.194715 164.464941 +L 283.991095 162.228706 +L 284.561898 159.992471 +L 284.904545 157.756235 +L 285.017488 155.52 +L 284.900216 153.283765 +L 284.55326 151.047529 +L 283.978188 148.811294 +L 283.177596 146.575059 +L 282.897181 145.961779 +L 282.175377 144.338824 +L 280.969472 142.102588 +L 280.500403 141.359602 +L 279.580159 139.866353 +L 278.103624 137.767102 +L 278.009254 137.630118 +L 276.284881 135.393882 +L 275.706846 134.713691 +L 274.407447 133.157647 +L 273.310067 131.949923 +L 272.388858 130.921412 +L 270.913289 129.39097 +L 270.24046 128.685176 +L 268.51651 126.989527 +L 267.971465 126.448941 +L 266.119732 124.712771 +L 265.589257 124.212706 +L 263.722953 122.537416 +L 263.099614 121.976471 +L 261.326174 120.446697 +L 260.506875 119.740235 +L 258.929396 118.428461 +L 257.814045 117.504 +L 256.532617 116.473921 +L 255.022857 115.267765 +L 254.135839 114.576839 +L 252.133789 113.031529 +L 251.73906 112.732969 +L 249.342282 110.941944 +L 249.14303 110.795294 +L 246.945503 109.20268 +L 246.040975 108.559059 +L 244.548725 107.508587 +L 242.827455 106.322824 +L 242.151946 105.860326 +L 239.755168 104.259945 +L 239.487994 104.086588 +L 237.358389 102.707012 +L 235.992333 101.850353 +L 234.961611 101.202098 +L 232.564832 99.7488 +L 232.333431 99.614118 +L 230.168054 98.344366 +L 228.442778 97.377882 +L 227.771275 96.997141 +L 225.374497 95.705641 +L 224.26677 95.141647 +L 222.977718 94.474206 +L 220.58094 93.309185 +L 219.689564 92.905412 +L 218.184161 92.208534 +L 215.787383 91.183297 +L 214.473717 90.669176 +L 213.390604 90.233765 +L 210.993826 89.362634 +L 208.597047 88.586389 +L 208.055494 88.432941 +L 206.200268 87.890059 +L 203.80349 87.291029 +L 201.406711 86.796049 +L 199.009933 86.406546 +L 197.232156 86.196706 +L 196.613154 86.120815 +L 194.216376 85.938535 +L 191.819597 85.868351 +L 189.422819 85.910467 +L 187.02604 86.064759 +L 185.837251 86.196706 +L 184.629262 86.325789 +L 182.232483 86.688736 +L 179.835705 87.157468 +L 177.438926 87.730636 +L 175.042148 88.406586 +L 174.96083 88.432941 +L 172.645369 89.159585 +L 170.248591 90.007219 +L 168.561943 90.669176 +L 167.851812 90.940506 +L 165.455034 91.944205 +L 163.338995 92.905412 +L 163.058255 93.030199 +L 160.661477 94.175693 +L 158.767407 95.141647 +L 158.264698 95.393749 +L 155.867919 96.667792 +L 154.600153 97.377882 +L 153.471141 98.002661 +L 151.074362 99.39278 +L 150.708473 99.614118 +L 148.677584 100.833534 +L 147.046643 101.850353 +L 146.280805 102.32643 +L 143.884027 103.867092 +L 143.55252 104.086588 +L 141.487248 105.456241 +L 140.21401 106.322824 +L 139.09047 107.092236 +L 136.996129 108.559059 +L 136.693691 108.773166 +L 134.296913 110.502755 +L 133.897947 110.795294 +L 131.900134 112.282964 +L 130.907732 113.031529 +L 129.503356 114.112545 +L 128.017301 115.267765 +L 127.106577 115.993894 +L 125.225604 117.504 +L 124.709799 117.930984 +L 122.532889 119.740235 +L 122.31302 119.92972 +L 119.940674 121.976471 +L 119.916242 121.998462 +L 117.519463 124.151865 +L 117.451429 124.212706 +L 115.122685 126.399668 +L 115.069817 126.448941 +L 112.801622 128.685176 +L 112.725906 128.764789 +L 110.653069 130.921412 +L 110.329128 131.284214 +L 108.633457 133.157647 +L 107.932349 134.000498 +L 106.753757 135.393882 +L 105.53557 136.98108 +L 105.027401 137.630118 +L 103.463145 139.866353 +L 103.138792 140.395573 +L 102.067937 142.102588 +L 100.86968 144.338824 +L 100.742013 144.627711 +L 99.858059 146.575059 +L 99.063266 148.811294 +L 98.492359 151.047529 +L 98.345235 152.002706 +L 98.141805 153.283765 +L 98.021778 155.52 +L 98.137375 157.756235 +L 98.345235 159.081654 +L 98.483784 159.992471 +L 99.050452 162.228706 +L 99.841064 164.464941 +L 100.742013 166.457787 +L 100.849139 166.701176 +L 102.043492 168.937412 +L 103.138792 170.688126 +L 103.435558 171.173647 +L 104.996233 173.409882 +L 105.53557 174.100084 +L 106.719832 175.646118 +L 107.932349 177.082054 +L 108.596929 177.882353 +L 110.329128 179.798985 +L 110.614075 180.118588 +L 112.725906 182.318631 +L 112.760283 182.354824 +L 115.02591 184.591059 +L 115.122685 184.681342 +L 117.405503 186.827294 +L 117.519463 186.929292 +L 119.892873 189.063529 +L 119.916242 189.08367 +L 122.31302 191.153028 +L 122.483161 191.299765 +L 124.709799 193.15151 +L 125.173978 193.536 +L 127.106577 195.08837 +L 127.963843 195.772235 +L 129.503356 196.969526 +L 130.852497 198.008471 +L 131.900134 198.798965 +L 133.840987 200.244706 +L 134.296913 200.579092 +L 136.693691 202.309108 +L 136.936355 202.480941 +L 139.09047 203.989869 +L 140.152357 204.717176 +L 141.487248 205.625788 +L 143.488998 206.953412 +L 143.884027 207.214964 +L 146.280805 208.755608 +L 146.979026 209.189647 +L 148.677584 210.24852 +L 150.638624 211.425882 +L 151.074362 211.689426 +L 153.471141 213.079291 +L 154.524536 213.662118 +L 155.867919 214.414359 +L 158.264698 215.688058 +L 158.684155 215.898353 +L 160.661477 216.906401 +L 163.058255 218.051481 +L 163.245293 218.134588 +L 165.455034 219.137903 +L 167.851812 220.141145 +L 168.453205 220.370824 +L 170.248591 221.075068 +L 172.645369 221.922233 +L 174.828784 222.607059 +L 175.042148 222.676164 +L 177.438926 223.35167 +L 179.835705 223.924461 +L 182.232483 224.392885 +L 184.629262 224.755593 +L 185.450529 224.843294 z -M 226.917291 258.110924 -L 224.794631 257.727754 -L 221.798658 257.066443 -L 218.802685 256.286542 -L 215.806711 255.390299 -L 215.262166 255.206723 -L 212.810738 254.37513 -L 209.814765 253.247271 -L 207.525037 252.302521 -L 206.818792 252.007949 -L 203.822819 250.652471 -L 201.244732 249.398319 -L 200.826846 249.191851 -L 197.830872 247.612315 -L 195.829954 246.494118 -L 194.834899 245.926596 -L 191.838926 244.1261 -L 190.987664 243.589916 -L 188.842953 242.204251 -L 186.589474 240.685714 -L 185.84698 240.169761 -L 182.851007 238.00806 -L 182.547364 237.781513 -L 179.855034 235.698348 -L 178.824853 234.877311 -L 176.85906 233.242661 -L 175.371425 231.973109 -L 173.863087 230.62115 -L 172.169784 229.068908 -L 170.867114 227.805507 -L 169.207411 226.164706 -L 167.871141 224.755571 -L 166.475835 223.260504 -L 164.875168 221.413929 -L 163.97011 220.356303 -L 161.879195 217.697069 -L 161.688469 217.452101 -L 159.637301 214.547899 -L 158.883221 213.352447 -L 157.812776 211.643697 -L 156.219378 208.739496 -L 155.887248 208.030388 -L 154.863212 205.835294 -L 153.746699 202.931092 -L 152.891275 200.085813 -L 152.87358 200.026891 -L 152.248448 197.122689 -L 151.873188 194.218487 -L 151.749495 191.314286 -L 151.877929 188.410084 -L 152.257908 185.505882 -L 152.887716 182.601681 -L 152.891275 182.589891 -L 153.765468 179.697479 -L 154.886514 176.793277 -L 155.887248 174.65512 -L 156.247218 173.889076 -L 157.844935 170.984874 -L 158.883221 169.331255 -L 159.673886 168.080672 -L 161.729092 165.176471 -L 161.879195 164.984007 -L 164.015028 162.272269 -L 164.875168 161.268623 -L 166.525072 159.368067 -L 167.871141 157.927627 -L 169.261013 156.463866 -L 170.867114 154.877852 -L 172.227815 153.559664 -L 173.863087 152.062099 -L 175.433978 150.655462 -L 176.85906 149.440336 -L 178.892047 147.751261 -L 179.855034 146.984342 -L 182.61935 144.847059 -L 182.851007 144.674329 -L 185.84698 142.513987 -L 186.669395 141.942857 -L 188.842953 140.478946 -L 191.073386 139.038655 -L 191.838926 138.556673 -L 194.834899 136.756949 -L 195.926808 136.134454 -L 197.830872 135.070741 -L 200.826846 133.491736 -L 201.356259 133.230252 -L 203.822819 132.03065 -L 206.818792 130.675507 -L 207.65683 130.32605 -L 209.814765 129.43582 -L 212.810738 128.308141 -L 215.423831 127.421849 -L 215.806711 127.292782 -L 218.802685 126.396605 -L 221.798658 125.616762 -L 224.794631 124.9555 -L 227.220394 124.517647 -L 227.790604 124.414889 -L 230.786577 123.996832 -L 233.78255 123.701829 -L 236.778523 123.530729 -L 239.774497 123.484026 -L 242.77047 123.561855 -L 245.766443 123.763991 -L 248.762416 124.089851 -L 251.619157 124.517647 -L 251.758389 124.538531 -L 254.754362 125.109588 -L 257.750336 125.800688 -L 260.746309 126.609838 -L 263.376693 127.421849 -L 263.742282 127.535404 -L 266.738255 128.579727 -L 269.734228 129.734792 -L 271.13734 130.32605 -L 272.730201 131.004517 -L 275.726174 132.385523 -L 277.433951 133.230252 -L 278.722148 133.877355 -L 281.718121 135.480474 -L 282.872933 136.134454 -L 284.714094 137.198479 -L 287.710067 139.020333 -L 287.738851 139.038655 -L 290.70604 140.975825 -L 292.127834 141.942857 -L 293.702013 143.046834 -L 296.176834 144.847059 -L 296.697987 145.240155 -L 299.69396 147.574579 -L 299.914304 147.751261 -L 302.689933 150.073132 -L 303.368838 150.655462 -L 305.685906 152.742609 -L 306.573558 153.559664 -L 308.681879 155.612546 -L 309.540295 156.463866 -L 311.677852 158.72473 -L 312.276938 159.368067 -L 314.673826 162.138779 -L 314.787915 162.272269 -L 317.069069 165.176471 -L 317.669799 166.019342 -L 319.125617 168.080672 -L 320.665772 170.521592 -L 320.956291 170.984874 -L 322.551982 173.889076 -L 323.661745 176.25374 -L 323.91413 176.793277 -L 325.034565 179.697479 -L 325.911843 182.601681 -L 326.541999 185.505882 -L 326.657718 186.389837 -L 326.922089 188.410084 -L 327.050545 191.314286 -L 326.92683 194.218487 -L 326.657718 196.300828 -L 326.551464 197.122689 -L 325.925986 200.026891 -L 325.053324 202.931092 -L 323.937419 205.835294 -L 323.661745 206.426543 -L 322.579787 208.739496 -L 320.98841 211.643697 -L 320.665772 212.159379 -L 319.16213 214.547899 -L 317.669799 216.665088 -L 317.109982 217.452101 -L 314.83271 220.356303 -L 314.673826 220.542481 -L 312.326003 223.260504 -L 311.677852 223.957433 -L 309.593667 226.164706 -L 308.681879 227.069981 -L 306.631295 229.068908 -L 305.685906 229.939967 -L 303.431021 231.973109 -L 302.689933 232.609322 -L 299.981041 234.877311 -L 299.69396 235.107676 -L 296.697987 237.443824 -L 296.250623 237.781513 -L 293.702013 239.636579 -L 292.206974 240.685714 -L 290.70604 241.707111 -L 287.823639 243.589916 -L 287.710067 243.66224 -L 284.714094 245.484876 -L 282.968478 246.494118 -L 281.718121 247.202444 -L 278.722148 248.806102 -L 277.543608 249.398319 -L 275.726174 250.297511 -L 272.730201 251.678857 -L 271.266364 252.302521 -L 269.734228 252.948252 -L 266.738255 254.103501 -L 263.742282 255.147991 -L 263.553225 255.206723 -L 260.746309 256.073293 -L 257.750336 256.882503 -L 254.754362 257.573654 -L 251.935856 258.110924 -L 251.758389 258.144696 -L 248.762416 258.593337 -L 245.766443 258.919194 -L 242.77047 259.121327 -L 239.774497 259.199155 -L 236.778523 259.152453 -L 233.78255 258.981355 -L 230.786577 258.686355 -L 227.790604 258.268303 +M 181.533833 206.953412 +L 179.835705 206.658371 +L 177.438926 206.149161 +L 175.042148 205.548637 +L 172.645369 204.858531 +L 172.209733 204.717176 +L 170.248591 204.07685 +L 167.851812 203.208399 +L 166.020029 202.480941 +L 165.455034 202.254121 +L 163.058255 201.210403 +L 160.995786 200.244706 +L 160.661477 200.085725 +L 158.264698 198.869482 +L 156.663963 198.008471 +L 155.867919 197.571479 +L 153.471141 196.185097 +L 152.790131 195.772235 +L 151.074362 194.705274 +L 149.271579 193.536 +L 148.677584 193.138716 +L 146.280805 191.474206 +L 146.037891 191.299765 +L 143.884027 189.695728 +L 143.059882 189.063529 +L 141.487248 187.804849 +L 140.29714 186.827294 +L 139.09047 185.786285 +L 137.735827 184.591059 +L 136.693691 183.618241 +L 135.365929 182.354824 +L 134.296913 181.269789 +L 133.180668 180.118588 +L 131.900134 178.696725 +L 131.176088 177.882353 +L 129.503356 175.834743 +L 129.350775 175.646118 +L 127.70984 173.409882 +L 127.106577 172.489384 +L 126.250221 171.173647 +L 124.975502 168.937412 +L 124.709799 168.391398 +L 123.890569 166.701176 +L 122.997359 164.464941 +L 122.31302 162.274076 +L 122.298864 162.228706 +L 121.798758 159.992471 +L 121.49855 157.756235 +L 121.399596 155.52 +L 121.502343 153.283765 +L 121.806326 151.047529 +L 122.310173 148.811294 +L 122.31302 148.802216 +L 123.012374 146.575059 +L 123.909211 144.338824 +L 124.709799 142.692443 +L 124.997775 142.102588 +L 126.275948 139.866353 +L 127.106577 138.593067 +L 127.739109 137.630118 +L 129.383274 135.393882 +L 129.503356 135.245685 +L 131.212022 133.157647 +L 131.900134 132.384839 +L 133.220058 130.921412 +L 134.296913 129.812272 +L 135.40881 128.685176 +L 136.693691 127.463946 +L 137.782252 126.448941 +L 139.09047 125.295816 +L 140.347183 124.212706 +L 141.487248 123.277059 +L 143.113637 121.976471 +L 143.884027 121.385944 +L 146.09548 119.740235 +L 146.280805 119.607233 +L 148.677584 117.94377 +L 149.335516 117.504 +L 151.074362 116.376788 +L 152.858709 115.267765 +L 153.471141 114.896638 +L 155.867919 113.510851 +L 156.741446 113.031529 +L 158.264698 112.21247 +L 160.661477 110.996636 +L 161.085007 110.795294 +L 163.058255 109.871601 +L 165.455034 108.82814 +L 166.125464 108.559059 +L 167.851812 107.873582 +L 170.248591 107.005269 +L 172.339065 106.322824 +L 172.645369 106.223442 +L 175.042148 105.533386 +L 177.438926 104.932907 +L 179.835705 104.423735 +L 181.776315 104.086588 +L 182.232483 104.007465 +L 184.629262 103.685561 +L 187.02604 103.458408 +L 189.422819 103.326661 +L 191.819597 103.2907 +L 194.216376 103.350628 +L 196.613154 103.506273 +L 199.009933 103.757185 +L 201.295325 104.086588 +L 201.406711 104.102669 +L 203.80349 104.542383 +L 206.200268 105.07453 +L 208.597047 105.697576 +L 210.701354 106.322824 +L 210.993826 106.410261 +L 213.390604 107.21439 +L 215.787383 108.10379 +L 216.909872 108.559059 +L 218.184161 109.081478 +L 220.58094 110.144852 +L 221.947161 110.795294 +L 222.977718 111.293563 +L 225.374497 112.527965 +L 226.298346 113.031529 +L 227.771275 113.850829 +L 230.168054 115.253657 +L 230.191081 115.267765 +L 232.564832 116.759385 +L 233.702267 117.504 +L 234.961611 118.354062 +L 236.941467 119.740235 +L 237.358389 120.04292 +L 239.755168 121.840426 +L 239.931443 121.976471 +L 242.151946 123.764312 +L 242.695071 124.212706 +L 244.548725 125.819809 +L 245.258847 126.448941 +L 246.945503 128.02966 +L 247.632236 128.685176 +L 249.342282 130.426042 +L 249.82155 130.921412 +L 251.73906 133.05486 +L 251.830332 133.157647 +L 253.655255 135.393882 +L 254.135839 136.042893 +L 255.300494 137.630118 +L 256.532617 139.509626 +L 256.765033 139.866353 +L 258.041585 142.102588 +L 258.929396 143.92338 +L 259.131304 144.338824 +L 260.027652 146.575059 +L 260.729474 148.811294 +L 261.2336 151.047529 +L 261.326174 151.728174 +L 261.537671 153.283765 +L 261.640436 155.52 +L 261.541464 157.756235 +L 261.326174 159.359638 +L 261.241171 159.992471 +L 260.740789 162.228706 +L 260.042659 164.464941 +L 259.149935 166.701176 +L 258.929396 167.156438 +L 258.063829 168.937412 +L 256.790728 171.173647 +L 256.532617 171.570721 +L 255.329704 173.409882 +L 254.135839 175.040118 +L 253.687986 175.646118 +L 251.866168 177.882353 +L 251.73906 178.02571 +L 249.860802 180.118588 +L 249.342282 180.655224 +L 247.674933 182.354824 +L 246.945503 183.051886 +L 245.305036 184.591059 +L 244.548725 185.261775 +L 242.744817 186.827294 +L 242.151946 187.317178 +L 239.984832 189.063529 +L 239.755168 189.24091 +L 237.358389 191.039745 +L 237.000498 191.299765 +L 234.961611 192.728166 +L 233.765579 193.536 +L 232.564832 194.322476 +L 230.258911 195.772235 +L 230.168054 195.827925 +L 227.771275 197.231355 +L 226.374782 198.008471 +L 225.374497 198.553882 +L 222.977718 199.788699 +L 222.034886 200.244706 +L 220.58094 200.937083 +L 218.184161 202.00072 +L 217.013091 202.480941 +L 215.787383 202.978154 +L 213.390604 203.867695 +L 210.993826 204.671953 +L 210.84258 204.717176 +L 208.597047 205.384436 +L 206.200268 206.007528 +L 203.80349 206.539714 +L 201.548685 206.953412 +L 201.406711 206.979416 +L 199.009933 207.324869 +L 196.613154 207.575779 +L 194.216376 207.731422 +L 191.819597 207.791349 +L 189.422819 207.755389 +L 187.02604 207.623643 +L 184.629262 207.396493 +L 182.232483 207.074593 z -" style="fill:url(#h18f21251b1);fill-opacity:0.5;"/> - <path clip-path="url(#p5b7831a9a7)" d="M 518.4 249.777455 -L 518.4 249.398319 -L 518.4 246.494118 -L 518.4 243.589916 -L 518.4 240.685714 -L 518.4 237.781513 -L 518.4 234.877311 -L 518.4 231.973109 -L 518.4 229.068908 -L 518.4 226.164706 -L 518.4 224.678045 -L 517.077509 223.260504 -L 515.404027 221.329253 -L 514.571659 220.356303 -L 512.408054 217.603864 -L 512.289919 217.452101 -L 510.239167 214.547899 -L 509.412081 213.236442 -L 508.414437 211.643697 -L 506.821249 208.739496 -L 506.416107 207.87439 -L 505.464903 205.835294 -L 504.348458 202.931092 -L 503.475373 200.026891 -L 503.420134 199.770531 -L 502.850179 197.122689 -L 502.474915 194.218487 -L 502.351222 191.314286 -L 502.479656 188.410084 -L 502.859639 185.505882 -L 503.420134 182.921321 -L 503.489524 182.601681 -L 504.367226 179.697479 -L 505.488204 176.793277 -L 506.416107 174.810609 -L 506.849086 173.889076 -L 508.446593 170.984874 -L 509.412081 169.446995 -L 510.275745 168.080672 -L 512.330534 165.176471 -L 512.408054 165.077054 -L 514.616565 162.272269 -L 515.404027 161.353173 -L 517.126729 159.368067 -L 518.4 158.005052 -L 518.4 156.463866 -L 518.4 153.559664 -L 518.4 150.655462 -L 518.4 147.751261 -L 518.4 144.847059 -L 518.4 141.942857 -L 518.4 139.038655 -L 518.4 136.134454 -L 518.4 133.230252 -L 518.4 132.905451 -L 517.973794 133.230252 -L 515.404027 135.219078 -L 514.236306 136.134454 -L 512.408054 137.59698 -L 510.623415 139.038655 -L 509.412081 140.042296 -L 507.133835 141.942857 -L 506.416107 142.560222 -L 503.767907 144.847059 -L 503.420134 145.158468 -L 500.527552 147.751261 -L 500.424161 147.847944 -L 497.428188 150.64435 -L 497.416226 150.655462 -L 494.439265 153.559664 -L 494.432215 153.566939 -L 491.603447 156.463866 -L 491.436242 156.646487 -L 488.917748 159.368067 -L 488.440268 159.923496 -L 486.393328 162.272269 -L 485.444295 163.45718 -L 484.043946 165.176471 -L 482.448322 167.335474 -L 481.886447 168.080672 -L 479.930099 170.984874 -L 479.452349 171.794323 -L 478.186763 173.889076 -L 476.688029 176.793277 -L 476.456376 177.337559 -L 475.424596 179.697479 -L 474.430412 182.601681 -L 473.71628 185.505882 -L 473.460403 187.230643 -L 473.279991 188.410084 -L 473.129838 191.314286 -L 473.274449 194.218487 -L 473.460403 195.449448 -L 473.705554 197.122689 -L 474.414384 200.026891 -L 475.403338 202.931092 -L 476.456376 205.349414 -L 476.662337 205.835294 -L 478.156189 208.739496 -L 479.452349 210.89067 -L 479.895596 211.643697 -L 481.847466 214.547899 -L 482.448322 215.346365 -L 484.001521 217.452101 -L 485.444295 219.226499 -L 486.347651 220.356303 -L 488.440268 222.761052 -L 488.86899 223.260504 -L 491.436242 226.038372 -L 491.551761 226.164706 -L 494.384423 229.068908 -L 494.432215 229.11522 -L 497.35881 231.973109 -L 497.428188 232.037614 -L 500.424161 234.836419 -L 500.467852 234.877311 -L 503.420134 237.525573 -L 503.70575 237.781513 -L 506.416107 240.123497 -L 507.069311 240.685714 -L 509.412081 242.641131 -L 510.556605 243.589916 -L 512.408054 245.086204 -L 514.167282 246.494118 -L 515.404027 247.463928 -L 517.90262 249.398319 +" style="fill:url(#h11d5e7b694);fill-opacity:0.5;"/> + <path clip-path="url(#p85834bf349)" d="M 414.72 200.53664 +L 414.72 200.244706 +L 414.72 198.008471 +L 414.72 195.772235 +L 414.72 193.536 +L 414.72 191.299765 +L 414.72 189.063529 +L 414.72 186.827294 +L 414.72 184.591059 +L 414.72 182.354824 +L 414.72 181.210094 +L 413.662007 180.118588 +L 412.323221 178.631525 +L 411.657327 177.882353 +L 409.926443 175.762975 +L 409.831935 175.646118 +L 408.191333 173.409882 +L 407.529664 172.40006 +L 406.73155 171.173647 +L 405.456999 168.937412 +L 405.132886 168.271281 +L 404.371923 166.701176 +L 403.478767 164.464941 +L 402.780299 162.228706 +L 402.736107 162.031309 +L 402.280143 159.992471 +L 401.979932 157.756235 +L 401.880977 155.52 +L 401.983725 153.283765 +L 402.287711 151.047529 +L 402.736107 149.057417 +L 402.791619 148.811294 +L 403.493781 146.575059 +L 404.390563 144.338824 +L 405.132886 142.812169 +L 405.479269 142.102588 +L 406.757274 139.866353 +L 407.529664 138.682186 +L 408.220596 137.630118 +L 409.864427 135.393882 +L 409.926443 135.317331 +L 411.693252 133.157647 +L 412.323221 132.449943 +L 413.701383 130.921412 +L 414.72 129.87189 +L 414.72 128.685176 +L 414.72 126.448941 +L 414.72 124.212706 +L 414.72 121.976471 +L 414.72 119.740235 +L 414.72 117.504 +L 414.72 115.267765 +L 414.72 113.031529 +L 414.72 110.795294 +L 414.72 110.545197 +L 414.379036 110.795294 +L 412.323221 112.32669 +L 411.389045 113.031529 +L 409.926443 114.157675 +L 408.498732 115.267765 +L 407.529664 116.040568 +L 405.707068 117.504 +L 405.132886 117.979371 +L 403.014325 119.740235 +L 402.736107 119.98002 +L 400.422042 121.976471 +L 400.339329 122.050917 +L 397.94255 124.204149 +L 397.932981 124.212706 +L 395.551412 126.448941 +L 395.545772 126.454543 +L 393.282757 128.685176 +L 393.148993 128.825795 +L 391.134198 130.921412 +L 390.752215 131.349092 +L 389.114662 133.157647 +L 388.355436 134.070028 +L 387.235157 135.393882 +L 385.958658 137.056315 +L 385.509158 137.630118 +L 383.944079 139.866353 +L 383.561879 140.489629 +L 382.54941 142.102588 +L 381.350423 144.338824 +L 381.165101 144.757921 +L 380.339677 146.575059 +L 379.54433 148.811294 +L 378.973024 151.047529 +L 378.768322 152.375595 +L 378.623993 153.283765 +L 378.50387 155.52 +L 378.619559 157.756235 +L 378.768322 158.704075 +L 378.964443 159.992471 +L 379.531507 162.228706 +L 380.32267 164.464941 +L 381.165101 166.327049 +L 381.329869 166.701176 +L 382.524951 168.937412 +L 383.561879 170.593816 +L 383.916477 171.173647 +L 385.477973 173.409882 +L 385.958658 174.024701 +L 387.201217 175.646118 +L 388.355436 177.012404 +L 389.078121 177.882353 +L 390.752215 179.73401 +L 391.095192 180.118588 +L 393.148993 182.257546 +L 393.241409 182.354824 +L 395.507539 184.591059 +L 395.545772 184.62672 +L 397.887048 186.827294 +L 397.94255 186.876963 +L 400.339329 189.032043 +L 400.374282 189.063529 +L 402.736107 191.102691 +L 402.9646 191.299765 +L 405.132886 193.103093 +L 405.655449 193.536 +L 407.529664 195.041671 +L 408.445284 195.772235 +L 409.926443 196.924377 +L 411.333826 198.008471 +L 412.323221 198.755224 +L 414.322096 200.244706 z -" style="fill:url(#h18f21251b1);fill-opacity:0.5;"/> +" style="fill:url(#h11d5e7b694);fill-opacity:0.5;"/> </g> - <g id="PathCollection_8"> - <path clip-path="url(#p5b7831a9a7)" d="M 227.790604 258.268303 -L 230.786577 258.686355 -L 233.78255 258.981355 -L 236.778523 259.152453 -L 239.774497 259.199155 -L 242.77047 259.121327 -L 245.766443 258.919194 -L 248.762416 258.593337 -L 251.758389 258.144696 -L 251.935856 258.110924 -L 254.754362 257.573654 -L 257.750336 256.882503 -L 260.746309 256.073293 -L 263.553225 255.206723 -L 263.742282 255.147991 -L 266.738255 254.103501 -L 269.734228 252.948252 -L 271.266364 252.302521 -L 272.730201 251.678857 -L 275.726174 250.297511 -L 277.543608 249.398319 -L 278.722148 248.806102 -L 281.718121 247.202444 -L 282.968478 246.494118 -L 284.714094 245.484876 -L 287.710067 243.66224 -L 287.823639 243.589916 -L 290.70604 241.707111 -L 292.206974 240.685714 -L 293.702013 239.636579 -L 296.250623 237.781513 -L 296.697987 237.443824 -L 299.69396 235.107676 -L 299.981041 234.877311 -L 302.689933 232.609322 -L 303.431021 231.973109 -L 305.685906 229.939967 -L 306.631295 229.068908 -L 308.681879 227.069981 -L 309.593667 226.164706 -L 311.677852 223.957433 -L 312.326003 223.260504 -L 314.673826 220.542481 -L 314.83271 220.356303 -L 317.109982 217.452101 -L 317.669799 216.665088 -L 319.16213 214.547899 -L 320.665772 212.159379 -L 320.98841 211.643697 -L 322.579787 208.739496 -L 323.661745 206.426543 -L 323.937419 205.835294 -L 325.053324 202.931092 -L 325.925986 200.026891 -L 326.551464 197.122689 -L 326.657718 196.300828 -L 326.92683 194.218487 -L 327.050545 191.314286 -L 326.922089 188.410084 -L 326.657718 186.389837 -L 326.541999 185.505882 -L 325.911843 182.601681 -L 325.034565 179.697479 -L 323.91413 176.793277 -L 323.661745 176.25374 -L 322.551982 173.889076 -L 320.956291 170.984874 -L 320.665772 170.521592 -L 319.125617 168.080672 -L 317.669799 166.019342 -L 317.069069 165.176471 -L 314.787915 162.272269 -L 314.673826 162.138779 -L 312.276938 159.368067 -L 311.677852 158.72473 -L 309.540295 156.463866 -L 308.681879 155.612546 -L 306.573558 153.559664 -L 305.685906 152.742609 -L 303.368838 150.655462 -L 302.689933 150.073132 -L 299.914304 147.751261 -L 299.69396 147.574579 -L 296.697987 145.240155 -L 296.176834 144.847059 -L 293.702013 143.046834 -L 292.127834 141.942857 -L 290.70604 140.975825 -L 287.738851 139.038655 -L 287.710067 139.020333 -L 284.714094 137.198479 -L 282.872933 136.134454 -L 281.718121 135.480474 -L 278.722148 133.877355 -L 277.433951 133.230252 -L 275.726174 132.385523 -L 272.730201 131.004517 -L 271.13734 130.32605 -L 269.734228 129.734792 -L 266.738255 128.579727 -L 263.742282 127.535404 -L 263.376693 127.421849 -L 260.746309 126.609838 -L 257.750336 125.800688 -L 254.754362 125.109588 -L 251.758389 124.538531 -L 251.619157 124.517647 -L 248.762416 124.089851 -L 245.766443 123.763991 -L 242.77047 123.561855 -L 239.774497 123.484026 -L 236.778523 123.530729 -L 233.78255 123.701829 -L 230.786577 123.996832 -L 227.790604 124.414889 -L 227.220394 124.517647 -L 224.794631 124.9555 -L 221.798658 125.616762 -L 218.802685 126.396605 -L 215.806711 127.292782 -L 215.423831 127.421849 -L 212.810738 128.308141 -L 209.814765 129.43582 -L 207.65683 130.32605 -L 206.818792 130.675507 -L 203.822819 132.03065 -L 201.356259 133.230252 -L 200.826846 133.491736 -L 197.830872 135.070741 -L 195.926808 136.134454 -L 194.834899 136.756949 -L 191.838926 138.556673 -L 191.073386 139.038655 -L 188.842953 140.478946 -L 186.669395 141.942857 -L 185.84698 142.513987 -L 182.851007 144.674329 -L 182.61935 144.847059 -L 179.855034 146.984342 -L 178.892047 147.751261 -L 176.85906 149.440336 -L 175.433978 150.655462 -L 173.863087 152.062099 -L 172.227815 153.559664 -L 170.867114 154.877852 -L 169.261013 156.463866 -L 167.871141 157.927627 -L 166.525072 159.368067 -L 164.875168 161.268623 -L 164.015028 162.272269 -L 161.879195 164.984007 -L 161.729092 165.176471 -L 159.673886 168.080672 -L 158.883221 169.331255 -L 157.844935 170.984874 -L 156.247218 173.889076 -L 155.887248 174.65512 -L 154.886514 176.793277 -L 153.765468 179.697479 -L 152.891275 182.589891 -L 152.887716 182.601681 -L 152.257908 185.505882 -L 151.877929 188.410084 -L 151.749495 191.314286 -L 151.873188 194.218487 -L 152.248448 197.122689 -L 152.87358 200.026891 -L 152.891275 200.085813 -L 153.746699 202.931092 -L 154.863212 205.835294 -L 155.887248 208.030388 -L 156.219378 208.739496 -L 157.812776 211.643697 -L 158.883221 213.352447 -L 159.637301 214.547899 -L 161.688469 217.452101 -L 161.879195 217.697069 -L 163.97011 220.356303 -L 164.875168 221.413929 -L 166.475835 223.260504 -L 167.871141 224.755571 -L 169.207411 226.164706 -L 170.867114 227.805507 -L 172.169784 229.068908 -L 173.863087 230.62115 -L 175.371425 231.973109 -L 176.85906 233.242661 -L 178.824853 234.877311 -L 179.855034 235.698348 -L 182.547364 237.781513 -L 182.851007 238.00806 -L 185.84698 240.169761 -L 186.589474 240.685714 -L 188.842953 242.204251 -L 190.987664 243.589916 -L 191.838926 244.1261 -L 194.834899 245.926596 -L 195.829954 246.494118 -L 197.830872 247.612315 -L 200.826846 249.191851 -L 201.244732 249.398319 -L 203.822819 250.652471 -L 206.818792 252.007949 -L 207.525037 252.302521 -L 209.814765 253.247271 -L 212.810738 254.37513 -L 215.262166 255.206723 -L 215.806711 255.390299 -L 218.802685 256.286542 -L 221.798658 257.066443 -L 224.794631 257.727754 -L 226.917291 258.110924 + <g id="PathCollection_7"> + <path clip-path="url(#p85834bf349)" d="M 182.232483 207.074593 +L 184.629262 207.396493 +L 187.02604 207.623643 +L 189.422819 207.755389 +L 191.819597 207.791349 +L 194.216376 207.731422 +L 196.613154 207.575779 +L 199.009933 207.324869 +L 201.406711 206.979416 +L 201.548685 206.953412 +L 203.80349 206.539714 +L 206.200268 206.007528 +L 208.597047 205.384436 +L 210.84258 204.717176 +L 210.993826 204.671953 +L 213.390604 203.867695 +L 215.787383 202.978154 +L 217.013091 202.480941 +L 218.184161 202.00072 +L 220.58094 200.937083 +L 222.034886 200.244706 +L 222.977718 199.788699 +L 225.374497 198.553882 +L 226.374782 198.008471 +L 227.771275 197.231355 +L 230.168054 195.827925 +L 230.258911 195.772235 +L 232.564832 194.322476 +L 233.765579 193.536 +L 234.961611 192.728166 +L 237.000498 191.299765 +L 237.358389 191.039745 +L 239.755168 189.24091 +L 239.984832 189.063529 +L 242.151946 187.317178 +L 242.744817 186.827294 +L 244.548725 185.261775 +L 245.305036 184.591059 +L 246.945503 183.051886 +L 247.674933 182.354824 +L 249.342282 180.655224 +L 249.860802 180.118588 +L 251.73906 178.02571 +L 251.866168 177.882353 +L 253.687986 175.646118 +L 254.135839 175.040118 +L 255.329704 173.409882 +L 256.532617 171.570721 +L 256.790728 171.173647 +L 258.063829 168.937412 +L 258.929396 167.156438 +L 259.149935 166.701176 +L 260.042659 164.464941 +L 260.740789 162.228706 +L 261.241171 159.992471 +L 261.326174 159.359638 +L 261.541464 157.756235 +L 261.640436 155.52 +L 261.537671 153.283765 +L 261.326174 151.728174 +L 261.2336 151.047529 +L 260.729474 148.811294 +L 260.027652 146.575059 +L 259.131304 144.338824 +L 258.929396 143.92338 +L 258.041585 142.102588 +L 256.765033 139.866353 +L 256.532617 139.509626 +L 255.300494 137.630118 +L 254.135839 136.042893 +L 253.655255 135.393882 +L 251.830332 133.157647 +L 251.73906 133.05486 +L 249.82155 130.921412 +L 249.342282 130.426042 +L 247.632236 128.685176 +L 246.945503 128.02966 +L 245.258847 126.448941 +L 244.548725 125.819809 +L 242.695071 124.212706 +L 242.151946 123.764312 +L 239.931443 121.976471 +L 239.755168 121.840426 +L 237.358389 120.04292 +L 236.941467 119.740235 +L 234.961611 118.354062 +L 233.702267 117.504 +L 232.564832 116.759385 +L 230.191081 115.267765 +L 230.168054 115.253657 +L 227.771275 113.850829 +L 226.298346 113.031529 +L 225.374497 112.527965 +L 222.977718 111.293563 +L 221.947161 110.795294 +L 220.58094 110.144852 +L 218.184161 109.081478 +L 216.909872 108.559059 +L 215.787383 108.10379 +L 213.390604 107.21439 +L 210.993826 106.410261 +L 210.701354 106.322824 +L 208.597047 105.697576 +L 206.200268 105.07453 +L 203.80349 104.542383 +L 201.406711 104.102669 +L 201.295325 104.086588 +L 199.009933 103.757185 +L 196.613154 103.506273 +L 194.216376 103.350628 +L 191.819597 103.2907 +L 189.422819 103.326661 +L 187.02604 103.458408 +L 184.629262 103.685561 +L 182.232483 104.007465 +L 181.776315 104.086588 +L 179.835705 104.423735 +L 177.438926 104.932907 +L 175.042148 105.533386 +L 172.645369 106.223442 +L 172.339065 106.322824 +L 170.248591 107.005269 +L 167.851812 107.873582 +L 166.125464 108.559059 +L 165.455034 108.82814 +L 163.058255 109.871601 +L 161.085007 110.795294 +L 160.661477 110.996636 +L 158.264698 112.21247 +L 156.741446 113.031529 +L 155.867919 113.510851 +L 153.471141 114.896638 +L 152.858709 115.267765 +L 151.074362 116.376788 +L 149.335516 117.504 +L 148.677584 117.94377 +L 146.280805 119.607233 +L 146.09548 119.740235 +L 143.884027 121.385944 +L 143.113637 121.976471 +L 141.487248 123.277059 +L 140.347183 124.212706 +L 139.09047 125.295816 +L 137.782252 126.448941 +L 136.693691 127.463946 +L 135.40881 128.685176 +L 134.296913 129.812272 +L 133.220058 130.921412 +L 131.900134 132.384839 +L 131.212022 133.157647 +L 129.503356 135.245685 +L 129.383274 135.393882 +L 127.739109 137.630118 +L 127.106577 138.593067 +L 126.275948 139.866353 +L 124.997775 142.102588 +L 124.709799 142.692443 +L 123.909211 144.338824 +L 123.012374 146.575059 +L 122.31302 148.802216 +L 122.310173 148.811294 +L 121.806326 151.047529 +L 121.502343 153.283765 +L 121.399596 155.52 +L 121.49855 157.756235 +L 121.798758 159.992471 +L 122.298864 162.228706 +L 122.31302 162.274076 +L 122.997359 164.464941 +L 123.890569 166.701176 +L 124.709799 168.391398 +L 124.975502 168.937412 +L 126.250221 171.173647 +L 127.106577 172.489384 +L 127.70984 173.409882 +L 129.350775 175.646118 +L 129.503356 175.834743 +L 131.176088 177.882353 +L 131.900134 178.696725 +L 133.180668 180.118588 +L 134.296913 181.269789 +L 135.365929 182.354824 +L 136.693691 183.618241 +L 137.735827 184.591059 +L 139.09047 185.786285 +L 140.29714 186.827294 +L 141.487248 187.804849 +L 143.059882 189.063529 +L 143.884027 189.695728 +L 146.037891 191.299765 +L 146.280805 191.474206 +L 148.677584 193.138716 +L 149.271579 193.536 +L 151.074362 194.705274 +L 152.790131 195.772235 +L 153.471141 196.185097 +L 155.867919 197.571479 +L 156.663963 198.008471 +L 158.264698 198.869482 +L 160.661477 200.085725 +L 160.995786 200.244706 +L 163.058255 201.210403 +L 165.455034 202.254121 +L 166.020029 202.480941 +L 167.851812 203.208399 +L 170.248591 204.07685 +L 172.209733 204.717176 +L 172.645369 204.858531 +L 175.042148 205.548637 +L 177.438926 206.149161 +L 179.835705 206.658371 +L 181.533833 206.953412 z -M 224.869729 234.877311 -L 224.794631 234.860952 -L 221.798658 234.062905 -L 218.802685 233.121748 -L 215.806711 232.040195 -L 215.641811 231.973109 -L 212.810738 230.763435 -L 209.814765 229.342806 -L 209.287741 229.068908 -L 206.818792 227.711367 -L 204.22559 226.164706 -L 203.822819 225.908464 -L 200.826846 223.859061 -L 200.006835 223.260504 -L 197.830872 221.550442 -L 196.397373 220.356303 -L 194.834899 218.939744 -L 193.277648 217.452101 -L 191.838926 215.937002 -L 190.580366 214.547899 -L 188.842953 212.400794 -L 188.255574 211.643697 -L 186.28222 208.739496 -L 185.84698 207.989165 -L 184.643731 205.835294 -L 183.306713 202.931092 -L 182.851007 201.66532 -L 182.280556 200.026891 -L 181.555814 197.122689 -L 181.120759 194.218487 -L 180.977356 191.314286 -L 181.126255 188.410084 -L 181.566781 185.505882 -L 182.296944 182.601681 -L 182.851007 181.018694 -L 183.329189 179.697479 -L 184.671635 176.793277 -L 185.84698 174.696209 -L 186.316699 173.889076 -L 188.295402 170.984874 -L 188.842953 170.280729 -L 190.627298 168.080672 -L 191.838926 166.745998 -L 193.332266 165.176471 -L 194.834899 163.743447 -L 196.460384 162.272269 -L 197.830872 161.132312 -L 200.079112 159.368067 -L 200.826846 158.822975 -L 203.822819 156.776226 -L 204.314437 156.463866 -L 206.818792 154.971886 -L 209.390101 153.559664 -L 209.814765 153.33918 -L 212.810738 151.919954 -L 215.773029 150.655462 -L 215.806711 150.641771 -L 218.802685 149.561145 -L 221.798658 148.620795 -L 224.794631 147.823433 -L 225.126226 147.751261 -L 227.790604 147.195393 -L 230.786577 146.711409 -L 233.78255 146.369884 -L 236.778523 146.171802 -L 239.774497 146.117734 -L 242.77047 146.207836 -L 245.766443 146.441849 -L 248.762416 146.819097 -L 251.758389 147.338494 -L 253.631947 147.751261 -L 254.754362 148.009236 -L 257.750336 148.842577 -L 260.746309 149.818265 -L 262.99538 150.655462 -L 263.742282 150.947435 -L 266.738255 152.261755 -L 269.413168 153.559664 -L 269.734228 153.724457 -L 272.730201 155.405227 -L 274.473897 156.463866 -L 275.726174 157.274713 -L 278.722148 159.356354 -L 278.737974 159.368067 -L 281.718121 161.74237 -L 282.346569 162.272269 -L 284.714094 164.444406 -L 285.472394 165.176471 -L 287.710067 167.557225 -L 288.180075 168.080672 -L 290.50983 170.984874 -L 290.70604 171.264029 -L 292.477086 173.889076 -L 293.702013 176.014662 -L 294.134604 176.793277 -L 295.465359 179.697479 -L 296.507313 182.601681 -L 296.697987 183.341554 -L 297.237931 185.505882 -L 297.675054 188.410084 -L 297.822803 191.314286 -L 297.680508 194.218487 -L 297.248813 197.122689 -L 296.697987 199.347155 -L 296.524112 200.026891 -L 295.487639 202.931092 -L 294.162265 205.835294 -L 293.702013 206.666403 -L 292.511228 208.739496 -L 290.70604 211.422401 -L 290.550918 211.643697 -L 288.226496 214.547899 -L 287.710067 215.124178 -L 285.526349 217.452101 -L 284.714094 218.23759 -L 282.408728 220.356303 -L 281.718121 220.939478 -L 278.809164 223.260504 -L 278.722148 223.324991 -L 275.726174 225.409331 -L 274.56108 226.164706 -L 272.730201 227.277535 -L 269.734228 228.960209 -L 269.522696 229.068908 -L 266.738255 230.421296 -L 263.742282 231.736915 -L 263.138666 231.973109 -L 260.746309 232.864407 -L 257.750336 233.840933 -L 254.754362 234.674989 -L 253.874842 234.877311 -L 251.758389 235.343935 -L 248.762416 235.863716 -L 245.766443 236.241243 -L 242.77047 236.475428 -L 239.774497 236.565597 -L 236.778523 236.511489 -L 233.78255 236.313261 -L 230.786577 235.971483 -L 227.790604 235.487142 +M 179.895783 189.063529 +L 179.835705 189.050933 +L 177.438926 188.436437 +L 175.042148 187.711746 +L 172.645369 186.87895 +L 172.513449 186.827294 +L 170.248591 185.895845 +L 167.851812 184.801961 +L 167.430193 184.591059 +L 165.455034 183.545752 +L 163.380472 182.354824 +L 163.058255 182.157517 +L 160.661477 180.579477 +L 160.005468 180.118588 +L 158.264698 178.801841 +L 157.117898 177.882353 +L 155.867919 176.791603 +L 154.622118 175.646118 +L 153.471141 174.479491 +L 152.464293 173.409882 +L 151.074362 171.756612 +L 150.604459 171.173647 +L 149.025776 168.937412 +L 148.677584 168.359657 +L 147.714985 166.701176 +L 146.645371 164.464941 +L 146.280805 163.490296 +L 145.824444 162.228706 +L 145.244651 159.992471 +L 144.896607 157.756235 +L 144.781885 155.52 +L 144.901004 153.283765 +L 145.253424 151.047529 +L 145.837555 148.811294 +L 146.280805 147.592394 +L 146.663352 146.575059 +L 147.737308 144.338824 +L 148.677584 142.724081 +L 149.053359 142.102588 +L 150.636322 139.866353 +L 151.074362 139.324161 +L 152.501839 137.630118 +L 153.471141 136.602418 +L 154.665813 135.393882 +L 155.867919 134.290454 +L 157.168307 133.157647 +L 158.264698 132.27988 +L 160.063289 130.921412 +L 160.661477 130.501691 +L 163.058255 128.925694 +L 163.451549 128.685176 +L 165.455034 127.536352 +L 167.51208 126.448941 +L 167.851812 126.279169 +L 170.248591 125.186365 +L 172.618423 124.212706 +L 172.645369 124.202164 +L 175.042148 123.370082 +L 177.438926 122.646012 +L 179.835705 122.032043 +L 180.100981 121.976471 +L 182.232483 121.548453 +L 184.629262 121.175785 +L 187.02604 120.91281 +L 189.422819 120.760287 +L 191.819597 120.718655 +L 194.216376 120.788034 +L 196.613154 120.968223 +L 199.009933 121.258705 +L 201.406711 121.65864 +L 202.905557 121.976471 +L 203.80349 122.175111 +L 206.200268 122.816784 +L 208.597047 123.568064 +L 210.396304 124.212706 +L 210.993826 124.437525 +L 213.390604 125.449552 +L 215.530535 126.448941 +L 215.787383 126.575832 +L 218.184161 127.870025 +L 219.579118 128.685176 +L 220.58094 129.309529 +L 222.977718 130.912392 +L 222.990379 130.921412 +L 225.374497 132.749625 +L 225.877255 133.157647 +L 227.771275 134.830193 +L 228.377916 135.393882 +L 230.168054 137.227063 +L 230.54406 137.630118 +L 232.407864 139.866353 +L 232.564832 140.081303 +L 233.981669 142.102588 +L 234.961611 143.73929 +L 235.307683 144.338824 +L 236.372287 146.575059 +L 237.20585 148.811294 +L 237.358389 149.380996 +L 237.790345 151.047529 +L 238.140044 153.283765 +L 238.258242 155.52 +L 238.144406 157.756235 +L 237.799051 159.992471 +L 237.358389 161.705309 +L 237.219289 162.228706 +L 236.390111 164.464941 +L 235.329812 166.701176 +L 234.961611 167.34113 +L 234.008983 168.937412 +L 232.564832 171.003249 +L 232.440735 171.173647 +L 230.581197 173.409882 +L 230.168054 173.853617 +L 228.421079 175.646118 +L 227.771275 176.250944 +L 225.926983 177.882353 +L 225.374497 178.331398 +L 223.047331 180.118588 +L 222.977718 180.168243 +L 220.58094 181.773185 +L 219.648864 182.354824 +L 218.184161 183.211702 +L 215.787383 184.507361 +L 215.618157 184.591059 +L 213.390604 185.632398 +L 210.993826 186.645425 +L 210.510933 186.827294 +L 208.597047 187.513594 +L 206.200268 188.265519 +L 203.80349 188.907742 +L 203.099874 189.063529 +L 201.406711 189.42283 +L 199.009933 189.823061 +L 196.613154 190.113757 +L 194.216376 190.29408 +L 191.819597 190.36351 +L 189.422819 190.321847 +L 187.02604 190.169211 +L 184.629262 189.906042 +L 182.232483 189.533099 z -" style="fill:url(#h3df34537f4);fill-opacity:0.5;"/> - <path clip-path="url(#p5b7831a9a7)" d="M 518.4 224.678045 -L 518.4 223.260504 -L 518.4 220.356303 -L 518.4 217.452101 -L 518.4 214.547899 -L 518.4 211.643697 -L 518.4 208.739496 -L 518.4 205.835294 -L 518.4 202.931092 -L 518.4 200.026891 -L 518.4 197.122689 -L 518.4 194.218487 -L 518.4 191.314286 -L 518.4 188.410084 -L 518.4 185.505882 -L 518.4 182.601681 -L 518.4 179.697479 -L 518.4 176.793277 -L 518.4 173.889076 -L 518.4 170.984874 -L 518.4 168.080672 -L 518.4 165.176471 -L 518.4 162.272269 -L 518.4 159.368067 -L 518.4 158.005052 -L 517.126729 159.368067 -L 515.404027 161.353173 -L 514.616565 162.272269 -L 512.408054 165.077054 -L 512.330534 165.176471 -L 510.275745 168.080672 -L 509.412081 169.446995 -L 508.446593 170.984874 -L 506.849086 173.889076 -L 506.416107 174.810609 -L 505.488204 176.793277 -L 504.367226 179.697479 -L 503.489524 182.601681 -L 503.420134 182.921321 -L 502.859639 185.505882 -L 502.479656 188.410084 -L 502.351222 191.314286 -L 502.474915 194.218487 -L 502.850179 197.122689 -L 503.420134 199.770531 -L 503.475373 200.026891 -L 504.348458 202.931092 -L 505.464903 205.835294 -L 506.416107 207.87439 -L 506.821249 208.739496 -L 508.414437 211.643697 -L 509.412081 213.236442 -L 510.239167 214.547899 -L 512.289919 217.452101 -L 512.408054 217.603864 -L 514.571659 220.356303 -L 515.404027 221.329253 -L 517.077509 223.260504 +" style="fill:url(#h3be0aff0a3);fill-opacity:0.5;"/> + <path clip-path="url(#p85834bf349)" d="M 414.72 181.210094 +L 414.72 180.118588 +L 414.72 177.882353 +L 414.72 175.646118 +L 414.72 173.409882 +L 414.72 171.173647 +L 414.72 168.937412 +L 414.72 166.701176 +L 414.72 164.464941 +L 414.72 162.228706 +L 414.72 159.992471 +L 414.72 157.756235 +L 414.72 155.52 +L 414.72 153.283765 +L 414.72 151.047529 +L 414.72 148.811294 +L 414.72 146.575059 +L 414.72 144.338824 +L 414.72 142.102588 +L 414.72 139.866353 +L 414.72 137.630118 +L 414.72 135.393882 +L 414.72 133.157647 +L 414.72 130.921412 +L 414.72 129.87189 +L 413.701383 130.921412 +L 412.323221 132.449943 +L 411.693252 133.157647 +L 409.926443 135.317331 +L 409.864427 135.393882 +L 408.220596 137.630118 +L 407.529664 138.682186 +L 406.757274 139.866353 +L 405.479269 142.102588 +L 405.132886 142.812169 +L 404.390563 144.338824 +L 403.493781 146.575059 +L 402.791619 148.811294 +L 402.736107 149.057417 +L 402.287711 151.047529 +L 401.983725 153.283765 +L 401.880977 155.52 +L 401.979932 157.756235 +L 402.280143 159.992471 +L 402.736107 162.031309 +L 402.780299 162.228706 +L 403.478767 164.464941 +L 404.371923 166.701176 +L 405.132886 168.271281 +L 405.456999 168.937412 +L 406.73155 171.173647 +L 407.529664 172.40006 +L 408.191333 173.409882 +L 409.831935 175.646118 +L 409.926443 175.762975 +L 411.657327 177.882353 +L 412.323221 178.631525 +L 413.662007 180.118588 z -" style="fill:url(#h3df34537f4);fill-opacity:0.5;"/> +" style="fill:url(#h3be0aff0a3);fill-opacity:0.5;"/> </g> - <g id="PathCollection_9"> - <path clip-path="url(#p5b7831a9a7)" d="M 227.790604 235.487142 -L 230.786577 235.971483 -L 233.78255 236.313261 -L 236.778523 236.511489 -L 239.774497 236.565597 -L 242.77047 236.475428 -L 245.766443 236.241243 -L 248.762416 235.863716 -L 251.758389 235.343935 -L 253.874842 234.877311 -L 254.754362 234.674989 -L 257.750336 233.840933 -L 260.746309 232.864407 -L 263.138666 231.973109 -L 263.742282 231.736915 -L 266.738255 230.421296 -L 269.522696 229.068908 -L 269.734228 228.960209 -L 272.730201 227.277535 -L 274.56108 226.164706 -L 275.726174 225.409331 -L 278.722148 223.324991 -L 278.809164 223.260504 -L 281.718121 220.939478 -L 282.408728 220.356303 -L 284.714094 218.23759 -L 285.526349 217.452101 -L 287.710067 215.124178 -L 288.226496 214.547899 -L 290.550918 211.643697 -L 290.70604 211.422401 -L 292.511228 208.739496 -L 293.702013 206.666403 -L 294.162265 205.835294 -L 295.487639 202.931092 -L 296.524112 200.026891 -L 296.697987 199.347155 -L 297.248813 197.122689 -L 297.680508 194.218487 -L 297.822803 191.314286 -L 297.675054 188.410084 -L 297.237931 185.505882 -L 296.697987 183.341554 -L 296.507313 182.601681 -L 295.465359 179.697479 -L 294.134604 176.793277 -L 293.702013 176.014662 -L 292.477086 173.889076 -L 290.70604 171.264029 -L 290.50983 170.984874 -L 288.180075 168.080672 -L 287.710067 167.557225 -L 285.472394 165.176471 -L 284.714094 164.444406 -L 282.346569 162.272269 -L 281.718121 161.74237 -L 278.737974 159.368067 -L 278.722148 159.356354 -L 275.726174 157.274713 -L 274.473897 156.463866 -L 272.730201 155.405227 -L 269.734228 153.724457 -L 269.413168 153.559664 -L 266.738255 152.261755 -L 263.742282 150.947435 -L 262.99538 150.655462 -L 260.746309 149.818265 -L 257.750336 148.842577 -L 254.754362 148.009236 -L 253.631947 147.751261 -L 251.758389 147.338494 -L 248.762416 146.819097 -L 245.766443 146.441849 -L 242.77047 146.207836 -L 239.774497 146.117734 -L 236.778523 146.171802 -L 233.78255 146.369884 -L 230.786577 146.711409 -L 227.790604 147.195393 -L 225.126226 147.751261 -L 224.794631 147.823433 -L 221.798658 148.620795 -L 218.802685 149.561145 -L 215.806711 150.641771 -L 215.773029 150.655462 -L 212.810738 151.919954 -L 209.814765 153.33918 -L 209.390101 153.559664 -L 206.818792 154.971886 -L 204.314437 156.463866 -L 203.822819 156.776226 -L 200.826846 158.822975 -L 200.079112 159.368067 -L 197.830872 161.132312 -L 196.460384 162.272269 -L 194.834899 163.743447 -L 193.332266 165.176471 -L 191.838926 166.745998 -L 190.627298 168.080672 -L 188.842953 170.280729 -L 188.295402 170.984874 -L 186.316699 173.889076 -L 185.84698 174.696209 -L 184.671635 176.793277 -L 183.329189 179.697479 -L 182.851007 181.018694 -L 182.296944 182.601681 -L 181.566781 185.505882 -L 181.126255 188.410084 -L 180.977356 191.314286 -L 181.120759 194.218487 -L 181.555814 197.122689 -L 182.280556 200.026891 -L 182.851007 201.66532 -L 183.306713 202.931092 -L 184.643731 205.835294 -L 185.84698 207.989165 -L 186.28222 208.739496 -L 188.255574 211.643697 -L 188.842953 212.400794 -L 190.580366 214.547899 -L 191.838926 215.937002 -L 193.277648 217.452101 -L 194.834899 218.939744 -L 196.397373 220.356303 -L 197.830872 221.550442 -L 200.006835 223.260504 -L 200.826846 223.859061 -L 203.822819 225.908464 -L 204.22559 226.164706 -L 206.818792 227.711367 -L 209.287741 229.068908 -L 209.814765 229.342806 -L 212.810738 230.763435 -L 215.641811 231.973109 -L 215.806711 232.040195 -L 218.802685 233.121748 -L 221.798658 234.062905 -L 224.794631 234.860952 -L 224.869729 234.877311 + <g id="PathCollection_8"> + <path clip-path="url(#p85834bf349)" d="M 182.232483 189.533099 +L 184.629262 189.906042 +L 187.02604 190.169211 +L 189.422819 190.321847 +L 191.819597 190.36351 +L 194.216376 190.29408 +L 196.613154 190.113757 +L 199.009933 189.823061 +L 201.406711 189.42283 +L 203.099874 189.063529 +L 203.80349 188.907742 +L 206.200268 188.265519 +L 208.597047 187.513594 +L 210.510933 186.827294 +L 210.993826 186.645425 +L 213.390604 185.632398 +L 215.618157 184.591059 +L 215.787383 184.507361 +L 218.184161 183.211702 +L 219.648864 182.354824 +L 220.58094 181.773185 +L 222.977718 180.168243 +L 223.047331 180.118588 +L 225.374497 178.331398 +L 225.926983 177.882353 +L 227.771275 176.250944 +L 228.421079 175.646118 +L 230.168054 173.853617 +L 230.581197 173.409882 +L 232.440735 171.173647 +L 232.564832 171.003249 +L 234.008983 168.937412 +L 234.961611 167.34113 +L 235.329812 166.701176 +L 236.390111 164.464941 +L 237.219289 162.228706 +L 237.358389 161.705309 +L 237.799051 159.992471 +L 238.144406 157.756235 +L 238.258242 155.52 +L 238.140044 153.283765 +L 237.790345 151.047529 +L 237.358389 149.380996 +L 237.20585 148.811294 +L 236.372287 146.575059 +L 235.307683 144.338824 +L 234.961611 143.73929 +L 233.981669 142.102588 +L 232.564832 140.081303 +L 232.407864 139.866353 +L 230.54406 137.630118 +L 230.168054 137.227063 +L 228.377916 135.393882 +L 227.771275 134.830193 +L 225.877255 133.157647 +L 225.374497 132.749625 +L 222.990379 130.921412 +L 222.977718 130.912392 +L 220.58094 129.309529 +L 219.579118 128.685176 +L 218.184161 127.870025 +L 215.787383 126.575832 +L 215.530535 126.448941 +L 213.390604 125.449552 +L 210.993826 124.437525 +L 210.396304 124.212706 +L 208.597047 123.568064 +L 206.200268 122.816784 +L 203.80349 122.175111 +L 202.905557 121.976471 +L 201.406711 121.65864 +L 199.009933 121.258705 +L 196.613154 120.968223 +L 194.216376 120.788034 +L 191.819597 120.718655 +L 189.422819 120.760287 +L 187.02604 120.91281 +L 184.629262 121.175785 +L 182.232483 121.548453 +L 180.100981 121.976471 +L 179.835705 122.032043 +L 177.438926 122.646012 +L 175.042148 123.370082 +L 172.645369 124.202164 +L 172.618423 124.212706 +L 170.248591 125.186365 +L 167.851812 126.279169 +L 167.51208 126.448941 +L 165.455034 127.536352 +L 163.451549 128.685176 +L 163.058255 128.925694 +L 160.661477 130.501691 +L 160.063289 130.921412 +L 158.264698 132.27988 +L 157.168307 133.157647 +L 155.867919 134.290454 +L 154.665813 135.393882 +L 153.471141 136.602418 +L 152.501839 137.630118 +L 151.074362 139.324161 +L 150.636322 139.866353 +L 149.053359 142.102588 +L 148.677584 142.724081 +L 147.737308 144.338824 +L 146.663352 146.575059 +L 146.280805 147.592394 +L 145.837555 148.811294 +L 145.253424 151.047529 +L 144.901004 153.283765 +L 144.781885 155.52 +L 144.896607 157.756235 +L 145.244651 159.992471 +L 145.824444 162.228706 +L 146.280805 163.490296 +L 146.645371 164.464941 +L 147.714985 166.701176 +L 148.677584 168.359657 +L 149.025776 168.937412 +L 150.604459 171.173647 +L 151.074362 171.756612 +L 152.464293 173.409882 +L 153.471141 174.479491 +L 154.622118 175.646118 +L 155.867919 176.791603 +L 157.117898 177.882353 +L 158.264698 178.801841 +L 160.005468 180.118588 +L 160.661477 180.579477 +L 163.058255 182.157517 +L 163.380472 182.354824 +L 165.455034 183.545752 +L 167.430193 184.591059 +L 167.851812 184.801961 +L 170.248591 185.895845 +L 172.513449 186.827294 +L 172.645369 186.87895 +L 175.042148 187.711746 +L 177.438926 188.436437 +L 179.835705 189.050933 +L 179.895783 189.063529 z -" style="fill:url(#h9ef1293885);fill-opacity:0.5;"/> - </g> - <g id="PathCollection_10"/> - <g id="patch_3"> - <path d="M 72 388.8 -L 72 43.2 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> - <g id="patch_4"> - <path d="M 518.4 388.8 -L 518.4 43.2 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> - <g id="patch_5"> - <path d="M 72 388.8 -L 518.4 388.8 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> - <g id="patch_6"> - <path d="M 72 43.2 -L 518.4 43.2 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> +" style="fill:url(#h779f96334f);fill-opacity:0.5;"/> </g> <g id="matplotlib.axis_1"> <g id="xtick_1"> <g id="line2d_1"> <defs> <path d="M 0 0 -L 0 -4 -" id="m6aea5647ae" style="stroke:#000000;stroke-width:0.5;"/> +L 0 3.5 +" id="ma57288aa69" style="stroke:#000000;stroke-width:0.8;"/> </defs> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m6aea5647ae" y="388.8"/> - </g> - </g> - <g id="line2d_2"> - <defs> - <path d="M 0 0 -L 0 4 -" id="mfab843535d" style="stroke:#000000;stroke-width:0.5;"/> - </defs> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#mfab843535d" y="43.2"/> - </g> - </g> - <g id="text_1"> - <!-- −3 --> - <defs> - <path d="M 10.59375 35.5 -L 73.1875 35.5 -L 73.1875 27.203125 -L 10.59375 27.203125 -z -" id="DejaVuSans-2212"/> - <path d="M 40.578125 39.3125 -Q 47.65625 37.796875 51.625 33 -Q 55.609375 28.21875 55.609375 21.1875 -Q 55.609375 10.40625 48.1875 4.484375 -Q 40.765625 -1.421875 27.09375 -1.421875 -Q 22.515625 -1.421875 17.65625 -0.515625 -Q 12.796875 0.390625 7.625 2.203125 -L 7.625 11.71875 -Q 11.71875 9.328125 16.59375 8.109375 -Q 21.484375 6.890625 26.8125 6.890625 -Q 36.078125 6.890625 40.9375 10.546875 -Q 45.796875 14.203125 45.796875 21.1875 -Q 45.796875 27.640625 41.28125 31.265625 -Q 36.765625 34.90625 28.71875 34.90625 -L 20.21875 34.90625 -L 20.21875 43.015625 -L 29.109375 43.015625 -Q 36.375 43.015625 40.234375 45.921875 -Q 44.09375 48.828125 44.09375 54.296875 -Q 44.09375 59.90625 40.109375 62.90625 -Q 36.140625 65.921875 28.71875 65.921875 -Q 24.65625 65.921875 20.015625 65.03125 -Q 15.375 64.15625 9.8125 62.3125 -L 9.8125 71.09375 -Q 15.4375 72.65625 20.34375 73.4375 -Q 25.25 74.21875 29.59375 74.21875 -Q 40.828125 74.21875 47.359375 69.109375 -Q 53.90625 64.015625 53.90625 55.328125 -Q 53.90625 49.265625 50.4375 45.09375 -Q 46.96875 40.921875 40.578125 39.3125 -" id="DejaVuSans-33"/> - </defs> - <g transform="translate(63.154688 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-33"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#ma57288aa69" y="307.584"/> </g> </g> </g> <g id="xtick_2"> - <g id="line2d_3"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="127.8" xlink:href="#m6aea5647ae" y="388.8"/> - </g> - </g> - <g id="line2d_4"> + <g id="line2d_2"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="127.8" xlink:href="#mfab843535d" y="43.2"/> - </g> - </g> - <g id="text_2"> - <!-- −2 --> - <defs> - <path d="M 19.1875 8.296875 -L 53.609375 8.296875 -L 53.609375 0 -L 7.328125 0 -L 7.328125 8.296875 -Q 12.9375 14.109375 22.625 23.890625 -Q 32.328125 33.6875 34.8125 36.53125 -Q 39.546875 41.84375 41.421875 45.53125 -Q 43.3125 49.21875 43.3125 52.78125 -Q 43.3125 58.59375 39.234375 62.25 -Q 35.15625 65.921875 28.609375 65.921875 -Q 23.96875 65.921875 18.8125 64.3125 -Q 13.671875 62.703125 7.8125 59.421875 -L 7.8125 69.390625 -Q 13.765625 71.78125 18.9375 73 -Q 24.125 74.21875 28.421875 74.21875 -Q 39.75 74.21875 46.484375 68.546875 -Q 53.21875 62.890625 53.21875 53.421875 -Q 53.21875 48.921875 51.53125 44.890625 -Q 49.859375 40.875 45.40625 35.40625 -Q 44.1875 33.984375 37.640625 27.21875 -Q 31.109375 20.453125 19.1875 8.296875 -" id="DejaVuSans-32"/> - </defs> - <g transform="translate(118.954687 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-32"/> + <use style="stroke:#000000;stroke-width:0.8;" x="102.24" xlink:href="#ma57288aa69" y="307.584"/> </g> </g> </g> <g id="xtick_3"> - <g id="line2d_5"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="183.6" xlink:href="#m6aea5647ae" y="388.8"/> - </g> - </g> - <g id="line2d_6"> + <g id="line2d_3"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="183.6" xlink:href="#mfab843535d" y="43.2"/> - </g> - </g> - <g id="text_3"> - <!-- −1 --> - <defs> - <path d="M 12.40625 8.296875 -L 28.515625 8.296875 -L 28.515625 63.921875 -L 10.984375 60.40625 -L 10.984375 69.390625 -L 28.421875 72.90625 -L 38.28125 72.90625 -L 38.28125 8.296875 -L 54.390625 8.296875 -L 54.390625 0 -L 12.40625 0 -z -" id="DejaVuSans-31"/> - </defs> - <g transform="translate(174.754687 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-31"/> + <use style="stroke:#000000;stroke-width:0.8;" x="146.88" xlink:href="#ma57288aa69" y="307.584"/> </g> </g> </g> <g id="xtick_4"> - <g id="line2d_7"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="239.4" xlink:href="#m6aea5647ae" y="388.8"/> - </g> - </g> - <g id="line2d_8"> + <g id="line2d_4"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="239.4" xlink:href="#mfab843535d" y="43.2"/> - </g> - </g> - <g id="text_4"> - <!-- 0 --> - <defs> - <path d="M 31.78125 66.40625 -Q 24.171875 66.40625 20.328125 58.90625 -Q 16.5 51.421875 16.5 36.375 -Q 16.5 21.390625 20.328125 13.890625 -Q 24.171875 6.390625 31.78125 6.390625 -Q 39.453125 6.390625 43.28125 13.890625 -Q 47.125 21.390625 47.125 36.375 -Q 47.125 51.421875 43.28125 58.90625 -Q 39.453125 66.40625 31.78125 66.40625 -M 31.78125 74.21875 -Q 44.046875 74.21875 50.515625 64.515625 -Q 56.984375 54.828125 56.984375 36.375 -Q 56.984375 17.96875 50.515625 8.265625 -Q 44.046875 -1.421875 31.78125 -1.421875 -Q 19.53125 -1.421875 13.0625 8.265625 -Q 6.59375 17.96875 6.59375 36.375 -Q 6.59375 54.828125 13.0625 64.515625 -Q 19.53125 74.21875 31.78125 74.21875 -" id="DejaVuSans-30"/> - </defs> - <g transform="translate(235.5825 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-30"/> + <use style="stroke:#000000;stroke-width:0.8;" x="191.52" xlink:href="#ma57288aa69" y="307.584"/> </g> </g> </g> <g id="xtick_5"> - <g id="line2d_9"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="295.2" xlink:href="#m6aea5647ae" y="388.8"/> - </g> - </g> - <g id="line2d_10"> + <g id="line2d_5"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="295.2" xlink:href="#mfab843535d" y="43.2"/> - </g> - </g> - <g id="text_5"> - <!-- 1 --> - <g transform="translate(291.3825 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-31"/> + <use style="stroke:#000000;stroke-width:0.8;" x="236.16" xlink:href="#ma57288aa69" y="307.584"/> </g> </g> </g> <g id="xtick_6"> - <g id="line2d_11"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="351" xlink:href="#m6aea5647ae" y="388.8"/> - </g> - </g> - <g id="line2d_12"> + <g id="line2d_6"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="351" xlink:href="#mfab843535d" y="43.2"/> - </g> - </g> - <g id="text_6"> - <!-- 2 --> - <g transform="translate(347.1825 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-32"/> + <use style="stroke:#000000;stroke-width:0.8;" x="280.8" xlink:href="#ma57288aa69" y="307.584"/> </g> </g> </g> <g id="xtick_7"> - <g id="line2d_13"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="406.8" xlink:href="#m6aea5647ae" y="388.8"/> - </g> - </g> - <g id="line2d_14"> + <g id="line2d_7"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="406.8" xlink:href="#mfab843535d" y="43.2"/> - </g> - </g> - <g id="text_7"> - <!-- 3 --> - <g transform="translate(402.9825 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-33"/> + <use style="stroke:#000000;stroke-width:0.8;" x="325.44" xlink:href="#ma57288aa69" y="307.584"/> </g> </g> </g> <g id="xtick_8"> - <g id="line2d_15"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="462.6" xlink:href="#m6aea5647ae" y="388.8"/> - </g> - </g> - <g id="line2d_16"> + <g id="line2d_8"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="462.6" xlink:href="#mfab843535d" y="43.2"/> - </g> - </g> - <g id="text_8"> - <!-- 4 --> - <defs> - <path d="M 37.796875 64.3125 -L 12.890625 25.390625 -L 37.796875 25.390625 -z -M 35.203125 72.90625 -L 47.609375 72.90625 -L 47.609375 25.390625 -L 58.015625 25.390625 -L 58.015625 17.1875 -L 47.609375 17.1875 -L 47.609375 0 -L 37.796875 0 -L 37.796875 17.1875 -L 4.890625 17.1875 -L 4.890625 26.703125 -z -" id="DejaVuSans-34"/> - </defs> - <g transform="translate(458.7825 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-34"/> + <use style="stroke:#000000;stroke-width:0.8;" x="370.08" xlink:href="#ma57288aa69" y="307.584"/> </g> </g> </g> <g id="xtick_9"> - <g id="line2d_17"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m6aea5647ae" y="388.8"/> - </g> - </g> - <g id="line2d_18"> + <g id="line2d_9"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#mfab843535d" y="43.2"/> - </g> - </g> - <g id="text_9"> - <!-- 5 --> - <defs> - <path d="M 10.796875 72.90625 -L 49.515625 72.90625 -L 49.515625 64.59375 -L 19.828125 64.59375 -L 19.828125 46.734375 -Q 21.96875 47.46875 24.109375 47.828125 -Q 26.265625 48.1875 28.421875 48.1875 -Q 40.625 48.1875 47.75 41.5 -Q 54.890625 34.8125 54.890625 23.390625 -Q 54.890625 11.625 47.5625 5.09375 -Q 40.234375 -1.421875 26.90625 -1.421875 -Q 22.3125 -1.421875 17.546875 -0.640625 -Q 12.796875 0.140625 7.71875 1.703125 -L 7.71875 11.625 -Q 12.109375 9.234375 16.796875 8.0625 -Q 21.484375 6.890625 26.703125 6.890625 -Q 35.15625 6.890625 40.078125 11.328125 -Q 45.015625 15.765625 45.015625 23.390625 -Q 45.015625 31 40.078125 35.4375 -Q 35.15625 39.890625 26.703125 39.890625 -Q 22.75 39.890625 18.8125 39.015625 -Q 14.890625 38.140625 10.796875 36.28125 -z -" id="DejaVuSans-35"/> - </defs> - <g transform="translate(514.5825 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-35"/> + <use style="stroke:#000000;stroke-width:0.8;" x="414.72" xlink:href="#ma57288aa69" y="307.584"/> </g> </g> </g> </g> <g id="matplotlib.axis_2"> <g id="ytick_1"> - <g id="line2d_19"> - <defs> - <path d="M 0 0 -L 4 0 -" id="m1c3e06e1b9" style="stroke:#000000;stroke-width:0.5;"/> - </defs> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m1c3e06e1b9" y="388.8"/> - </g> - </g> - <g id="line2d_20"> + <g id="line2d_10"> <defs> <path d="M 0 0 -L -4 0 -" id="ma5f07b2ac6" style="stroke:#000000;stroke-width:0.5;"/> +L -3.5 0 +" id="m9a4ee1f972" style="stroke:#000000;stroke-width:0.8;"/> </defs> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#ma5f07b2ac6" y="388.8"/> - </g> - </g> - <g id="text_10"> - <!-- −3 --> - <g transform="translate(50.309375 393.359062)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-33"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m9a4ee1f972" y="307.584"/> </g> </g> </g> <g id="ytick_2"> - <g id="line2d_21"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m1c3e06e1b9" y="345.6"/> - </g> - </g> - <g id="line2d_22"> + <g id="line2d_11"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#ma5f07b2ac6" y="345.6"/> - </g> - </g> - <g id="text_11"> - <!-- −2 --> - <g transform="translate(50.309375 350.159063)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-32"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m9a4ee1f972" y="274.32"/> </g> </g> </g> <g id="ytick_3"> - <g id="line2d_23"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m1c3e06e1b9" y="302.4"/> - </g> - </g> - <g id="line2d_24"> + <g id="line2d_12"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#ma5f07b2ac6" y="302.4"/> - </g> - </g> - <g id="text_12"> - <!-- −1 --> - <g transform="translate(50.309375 306.959062)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-31"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m9a4ee1f972" y="241.056"/> </g> </g> </g> <g id="ytick_4"> - <g id="line2d_25"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m1c3e06e1b9" y="259.2"/> - </g> - </g> - <g id="line2d_26"> + <g id="line2d_13"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#ma5f07b2ac6" y="259.2"/> - </g> - </g> - <g id="text_13"> - <!-- 0 --> - <g transform="translate(60.365 263.759063)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-30"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m9a4ee1f972" y="207.792"/> </g> </g> </g> <g id="ytick_5"> - <g id="line2d_27"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m1c3e06e1b9" y="216"/> - </g> - </g> - <g id="line2d_28"> + <g id="line2d_14"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#ma5f07b2ac6" y="216"/> - </g> - </g> - <g id="text_14"> - <!-- 1 --> - <g transform="translate(60.365 220.559063)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-31"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m9a4ee1f972" y="174.528"/> </g> </g> </g> <g id="ytick_6"> - <g id="line2d_29"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m1c3e06e1b9" y="172.8"/> - </g> - </g> - <g id="line2d_30"> + <g id="line2d_15"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#ma5f07b2ac6" y="172.8"/> - </g> - </g> - <g id="text_15"> - <!-- 2 --> - <g transform="translate(60.365 177.359062)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-32"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m9a4ee1f972" y="141.264"/> </g> </g> </g> <g id="ytick_7"> - <g id="line2d_31"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m1c3e06e1b9" y="129.6"/> - </g> - </g> - <g id="line2d_32"> + <g id="line2d_16"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#ma5f07b2ac6" y="129.6"/> - </g> - </g> - <g id="text_16"> - <!-- 3 --> - <g transform="translate(60.365 134.159062)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-33"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m9a4ee1f972" y="108"/> </g> </g> </g> <g id="ytick_8"> - <g id="line2d_33"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m1c3e06e1b9" y="86.4"/> - </g> - </g> - <g id="line2d_34"> + <g id="line2d_17"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#ma5f07b2ac6" y="86.4"/> - </g> - </g> - <g id="text_17"> - <!-- 4 --> - <g transform="translate(60.365 90.959062)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-34"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m9a4ee1f972" y="74.736"/> </g> </g> </g> <g id="ytick_9"> - <g id="line2d_35"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m1c3e06e1b9" y="43.2"/> - </g> - </g> - <g id="line2d_36"> + <g id="line2d_18"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#ma5f07b2ac6" y="43.2"/> - </g> - </g> - <g id="text_18"> - <!-- 5 --> - <g transform="translate(60.365 47.759062)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-35"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m9a4ee1f972" y="41.472"/> </g> </g> </g> </g> + <g id="patch_3"> + <path d="M 57.6 307.584 +L 57.6 41.472 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> + <g id="patch_4"> + <path d="M 414.72 307.584 +L 414.72 41.472 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> + <g id="patch_5"> + <path d="M 57.6 307.584 +L 414.72 307.584 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> + <g id="patch_6"> + <path d="M 57.6 41.472 +L 414.72 41.472 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> </g> </g> <defs> - <clipPath id="p5b7831a9a7"> - <rect height="345.6" width="446.4" x="72" y="43.2"/> + <clipPath id="p85834bf349"> + <rect height="266.112" width="357.12" x="57.6" y="41.472"/> </clipPath> </defs> <defs> - <pattern height="72" id="hd01142f1a6" patternUnits="userSpaceOnUse" width="72" x="0" y="0"> - <rect fill="#101010" height="73" width="73" x="0" y="0"/> + <pattern height="72" id="he7211442b0" patternUnits="userSpaceOnUse" width="72" x="0" y="0"> + <rect fill="#000000" height="73" width="73" x="0" y="0"/> <path d="M -36 36 L 36 -36 M -24 48 @@ -6609,8 +6248,8 @@ M 36 108 L 108 36 " style="fill:#000000;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-width:1.0;"/> </pattern> - <pattern height="72" id="hd8b53471b5" patternUnits="userSpaceOnUse" width="72" x="0" y="0"> - <rect fill="#303030" height="73" width="73" x="0" y="0"/> + <pattern height="72" id="hc8e4ad36cd" patternUnits="userSpaceOnUse" width="72" x="0" y="0"> + <rect fill="#151515" height="73" width="73" x="0" y="0"/> <path d="M -36 36 L 36 108 M -24 24 @@ -6627,8 +6266,8 @@ M 36 -36 L 108 36 " style="fill:#000000;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-width:1.0;"/> </pattern> - <pattern height="72" id="h1db1a097b2" patternUnits="userSpaceOnUse" width="72" x="0" y="0"> - <rect fill="#505050" height="73" width="73" x="0" y="0"/> + <pattern height="72" id="h8124db33bb" patternUnits="userSpaceOnUse" width="72" x="0" y="0"> + <rect fill="#404040" height="73" width="73" x="0" y="0"/> <path d="M -36 36 L 36 -36 M -30 42 @@ -6657,8 +6296,8 @@ M 36 108 L 108 36 " style="fill:#000000;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-width:1.0;"/> </pattern> - <pattern height="72" id="hb07dbf6fd0" patternUnits="userSpaceOnUse" width="72" x="0" y="0"> - <rect fill="#707070" height="73" width="73" x="0" y="0"/> + <pattern height="72" id="hb1742779c6" patternUnits="userSpaceOnUse" width="72" x="0" y="0"> + <rect fill="#6a6a6a" height="73" width="73" x="0" y="0"/> <path d="M 0 66 L 72 66 M 0 54 @@ -6673,8 +6312,8 @@ M 0 6 L 72 6 " style="fill:#000000;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-width:1.0;"/> </pattern> - <pattern height="72" id="hae52b1434d" patternUnits="userSpaceOnUse" width="72" x="0" y="0"> - <rect fill="#909090" height="73" width="73" x="0" y="0"/> + <pattern height="72" id="hcbba77881f" patternUnits="userSpaceOnUse" width="72" x="0" y="0"> + <rect fill="#959595" height="73" width="73" x="0" y="0"/> <path d="M -36 36 L 36 -36 M -24 48 @@ -6691,8 +6330,8 @@ M 36 108 L 108 36 " style="fill:#000000;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-width:1.0;"/> </pattern> - <pattern height="72" id="h18f21251b1" patternUnits="userSpaceOnUse" width="72" x="0" y="0"> - <rect fill="#b0b0b0" height="73" width="73" x="0" y="0"/> + <pattern height="72" id="h11d5e7b694" patternUnits="userSpaceOnUse" width="72" x="0" y="0"> + <rect fill="#c0c0c0" height="73" width="73" x="0" y="0"/> <path d="M -36 36 L 36 108 M -24 24 @@ -6709,8 +6348,8 @@ M 36 -36 L 108 36 " style="fill:#000000;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-width:1.0;"/> </pattern> - <pattern height="72" id="h3df34537f4" patternUnits="userSpaceOnUse" width="72" x="0" y="0"> - <rect fill="#d0d0d0" height="73" width="73" x="0" y="0"/> + <pattern height="72" id="h3be0aff0a3" patternUnits="userSpaceOnUse" width="72" x="0" y="0"> + <rect fill="#eaeaea" height="73" width="73" x="0" y="0"/> <path d="M -36 36 L 36 -36 M -30 42 @@ -6739,8 +6378,8 @@ M 36 108 L 108 36 " style="fill:#000000;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-width:1.0;"/> </pattern> - <pattern height="72" id="h9ef1293885" patternUnits="userSpaceOnUse" width="72" x="0" y="0"> - <rect fill="#f0f0f0" height="73" width="73" x="0" y="0"/> + <pattern height="72" id="h779f96334f" patternUnits="userSpaceOnUse" width="72" x="0" y="0"> + <rect fill="#ffffff" height="73" width="73" x="0" y="0"/> <path d="M 0 66 L 72 66 M 0 54 diff --git a/lib/matplotlib/tests/baseline_images/test_contour/contour_datetime_axis.png b/lib/matplotlib/tests/baseline_images/test_contour/contour_datetime_axis.png index 75b36281aa540fd3c615ec75cd11dd1d9d5d20ee..11e17fc64d7eb3903427e7daafa07d7682b15ae9 100644 GIT binary patch literal 48968 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 literal 48820 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 diff --git a/lib/matplotlib/tests/baseline_images/test_contour/contour_labels_size_color.png b/lib/matplotlib/tests/baseline_images/test_contour/contour_labels_size_color.png index 21afe6eccab50fc04ca49784b3994f76947293df..8021a444cdfe569d079238dcafcf3161af08e1bf 100644 GIT binary patch literal 6096 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 literal 6309 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 YD9%+*J;x010!wB9stwb^Y2JPOA1j1$rT_o{ diff --git a/lib/matplotlib/tests/baseline_images/test_contour/contour_log_extension.png b/lib/matplotlib/tests/baseline_images/test_contour/contour_log_extension.png index 5dba34209251bbd2d7e940efc57c094ce26343d0..42c71cb561fef08d72dae680c451e179cb0a9384 100644 GIT binary patch literal 9036 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 Nu$iT4w#nJ6{|4-Cay$S4 literal 8697 zcmeHtdpMMByZ3ERLZu?Rq*92f6v8kSp|VLfkzF>CY>HtRo1va39+C=W6Q)!c`%TGS z8%hl`lCmen3>h?2!;CTOy7fH0@4JroU2A>Ex7PaS`y7YOIrn{C_jRAw`TL!}^Su0F zWnm(=MrI8JL1Jd6M%EC-M}Z(7hOi*`q;$8CI{3vOe8kK~7<@$vd&UD><dUgFFa$}Q zgTHwS4D&C54{gxKXV9ku&!aKtg1jLAbLdNcfoQ)A?uwyaLBSUS0~Ggb?AO>E<griV zQeZIpfaZP;Pp{CuYTgG9?DzEWJm;mgN6`n3zNCvl{B5j8V30Q=%_>0vf)pV$qr)~~ z_hyGI{dQ2pdq3Zm3rbMy*og5kb1CU@*}_vSCZ~8gRSqqJZr^4=JbZWe8?SX!(!!=e znO6r(B(FO0>PQKh?yWs`nBPa^P;U&+)?%n)qwL$<q;;l6vpux0XWBF(+VuQxch9~g z)cT3HQ>O{jEW&hnj6pf3mwrmEiOrdwF+59Oic|n^i^_YN<pO>~iew(}Lxfiz{Jr6) z!SnwO#s5hk=$Rw%YpVM83`a4Co<*@k{rvq8Hp=-t0Xvht)$qnAmk9NzHTKQdFlh9~ z*RNlvm3$tX3%cWV%gbSB@`%8sf{n*ehSWKl|LqK+9u-YyDLo~3dB=_9<na@(ENidi zJ`;G8hZ#z5u~XR?_r1~w8rM=%7sBLR7hg!(v8qf=OcpMdjU>b+=h%M3jMRmw<>-f3 zqDL<2T<`L+X&=YL)(Z8g?x!mm<V3hea=I5*@*H;JnrksgO$mZMn&#}SmDM`JO1e9C z^`*ly7p%CkvGKS<O|tIgE79y9v+?nZxDlLsz{t1asNLfWDGrg;cXK%$my)r?MI8kL z>}EsGiq!UIXBy_xx3JA+xTO;5<kz>Rmijmrx9+H~aGaJ$M0TIwpYh6V@9qPutC%y) zY~`}HmbJ~^4xU>WcUbOdW|9Z%+r~ynmbm%WH?!aIsqHBa4J(*oRej)(?77HY20Hgz z-z|kM$KlvT3#2(D;cEr^v1Dvh7@>Ri?7*XOXt7t<avL!)&?K6DY$pzvGxdTllZZ21 z!CdhzW>-@OYKjIT7NeT_`-t_nLpX2z906PV#!o9TFp8f0sxh!(LoSDyw0O6fPG9uq zj=fP~Wq#NLFm%!3UJkb#cklJ5=o!0)O74P+?#z0?NYKX66^8!1rydazYE4UJD~`)E zIObtFdHI8l4R#y;x*_tp3ic2TznCK$IXMU&V}uEw4}z@Tc;!!tT6BHd1*7#$pY1<b zAwR9{tJm5SEl5)L9+a()E5B{KYDuk*3%hS?319omQd%9CxVk#0A_{fs%4vo>zb;to zC&wuUSPE-;)v|YF{=LN-W;RL9HR0+$QkP!9Z~4{h?84Aow6=0e`+I-gY`bUup_1?m zIZ-K;-7ewbdXMY7(}_8yArTu)7Wzp3tu@V@+1`;6*E)GQxdWW-${zVtz>pAG0z(`8 zgUy^n4Bho|I9g<uj1qz%x9y=A%y!Zz93k>kc!D0dZwCtY35s`hasLZOXeMAv)LG8w zZc<x*Xh16VdUB3IVmzkEVI5R5$^U=CoTI_y*d6A|DUZsk_9X6kC*vpvK_5sWx;Gy_ zcU#A1v%PDsUcLJGE<Xf43A!R~Gf7?637z^<%0_0Bl$6}{6-;ubyqS7PAqYRi4+iOz z?!v)R*LivnW^tYp{lmEy`TMdhNKH+P=dB@U4;oLD`y@|P&s&tCj!t}F)XZ6P1fQD+ z5s9}X>YI{G=&}oJOGEqVeFpcUth#*biqb4EH)G~p<P;QghT6t28yPJR#|6Hci=LMi zD-*|K?K_Y$8vE%nO}<}5ScwJ_;XS6@HZ^WNVJFXrw^J>Ae?6@%;U?HS#Z8Uk4BJiN z{SE2xPRjE(x*NOlAt+$6@#`o_XQ#|(jgY{%Oku`mM`rf)@32wFk4;Wp64t#e0RkTp z+j*R@7#V&G7?%#lcDC89UlMiS3PBW^SPM1VEo{*T!0@?^igPX4&O!vO2l4SN0Tn0K z|H?S#-Lt*Gq)JlAe8w7U<&cN|h{sHyT?=L^oP8_>E<wU*@Wb>99A`27KaH4wX|z~$ zi-LD@-=DE3D%;D!)8Ql87xDpveJUhI*s}W~tZD65h-R%)pMzvWoc_}HXNLyVze~Ti zv``u&0Uq8nWGE-@aX=;w>j(84<M|kaadYA>%W<j`S0JZ=pPTEdhr|tghHl)a#$D49 z$$qrPj?W4iE8cR<f9y(3B2;}UXX-?(MU-+?zAT6Bv<|Y{N#>#4v(?~@4|6*`-K03m z3!&psLioFO$abl3sA;=KNO59Y6o``2Qxhsn?h2+EH{%#0Xs94QU8oNA=4dcL(E&Uq z>x&3h@u0EGS;XYIgWzsQw;@ck)DP5}kKuXxr!2RE5tO~>B&yR2@{_@c`FoYQ_K5jd z<zn`&&==9c78Vw;TVUM6Zb^8rMCOTkn<lm_a9_gjNFRwXcXSkYpneMuy?CtfwT{00 z>#IT%W3-|A6HJM?m(oec9x2qTfq8Eh6OP~x&+~=smR%H$66WY(Xs<YI=3QDac10vs z9AdP!j^^s;9IW0DGiAGpC8{FGrO^T=!iO3AZv#(2kS?WiG?(a<ezGqV-YlT~U_RS% z_$OmD2+Et@CcWl|@PYU6d}cCh1uL4HaiMxTIzCu45N&F^C@8P!xtH4RbLg569zP=n zzzz|`AJ+{OW1R&U^_D*9?a2#~)pEwf!Q3L3u85P}af^(qg~Dvv1qm1I2ZlA|TazBX z{v3@bdk2|Eca)hMUHXAJK;iX2eV&#Pjv|0nJ>oNbaZSo6S@pcjZ?!@;mUup^KL}b4 z>$MtDdg&3U9&k&0VNiEOj@aIts=*QfFA&4jS#~thFFw}B&mBx-B@aBZY2d@}F^PV+ zW0emaq$?4Tb%6L$CSmp$@qr(+BhD)ng51(_Jj+Se5wB(^77?6m4!F7HxSvmK(>`YJ z0WgCN;mv6af8SV*z086H5d1Qy8Q=4?o}vaaBAnnXQc}?=d!%oW*I${!22l%ThYn5t z$jc`wjSY3E3*yfs)?kAX{sZO+*xg{25OkB@^0E+grdwiV%-(%!x7v5<eB7ZDpMy|! zw&W_{P->Rs{O$`U^K+g2b51IYl?vjcCl$!M&MT1Z0f)g<#o=(O2Hf_-`|@NzGsa*a z%sF28k$Mb5Ttb2rFuw4N3UkgNAL|v7k3|5yMXKCW`E^O#bE(r3rx_4A&C>Q=GHL$7 zsk<X!l~pu3ywx%q8PFM8#u;vI=AL(c$6H{W0ShUfSwN47aYOFJJ2lRsZ4&6#t@2G3 z?{ll}3)H<B<m)G3Vw(uIM-7e;`G(4;uW7w_yqO}nO`<5vVBinKrSMwj)vzFInuiJ- zg||l$`J%Q@#u}&q{X|5%Me#<xOn9|?r9h~k*tVG>8!U0=E-H}clmx@9D{1zMm<HKy zQlVUttmm6u;JS{9k}au!o>bm0&~MgzlqrnPIjv0F&Tl|A@ES9CabC(tN>k$fPI94B zUyJKH7V2#3&{vIK2Cu(W4>55sb5tqTqLQ$NLpL(KS*fbsxL&IX#UdilD3hsax({%N zm-z|{vEvc9lJ?$|2~K`0NwK=6JI>v&Aq<%pMQo3}m9&psZQhC0EX(EBt+sKN;?IdX zkQ8rN@TG$1ZGneJ<nqK0rIq4uuLX7&l_v5`y7d2FR1oFe3|>e>Gvnl)rcSVHdoF_D zfUFE-#dll)JQ;;t<;jCp>A!JC5z#wCZ<ID)TEG};4g<oS_L}5z-bIdm8#$HVyhYo< zmX^xyGwF_By!uN<l0Gqa8E$P@l(21iEN%My@h^k{>_)1P%|?{9Tklq!64WYbul1fh ztPRLb_gq?1rI<Q-Q<00@UMAidps(@VQBg)xt<WssvQb`upFkqg^eRdy=HRAqPNBIv z8A$ODC-8hNf*YeWRb<cNXNkz&fFMv;K89m_vd-c=h)4hj@|KzCi4?H_8CV{Da=2rB z$4jh4u>bjB-bL^bhEoP9h{jfCa!lA2ocAt;uhWspg!uU9Zc8ICe=73nir9A<5f6_8 z=v`E+YIiR0<Mf8<-_R$KnnJPS7xps?Qef2Dww}k_@5mZn)dZAM15#s3iX?(sdktLF z&7(YKG7$L(OZeS1`?Z(~`eExZbHmPcq!U<!Z7^>>`$(mRHZbSESSMeOtd#sE#O4^w zlB;?&sds4Tdr;0rKkY^s=RYOb2Ji;|p&o0Q!t+)4vXg&!upc$1ahIoDIpu9V(1#)l z9I-K>Kzky;4Zpm5!th#$23Z+!fHJRq%n?HG*JHi&yt4qCS-|@~Mz*rUbie4>)QpIh zM3AO+^KNv^g=@V)`4W+o&49zy2q1#DWO?AtCKdedfIa%Hr}ofO5kYHDT9-FiKh`(R zyu4!%dFP};A<TbiAU#&D!aL6lT;5&s=Ct*n6bN=0(s~OZE*qR|3nD|&VWz<$wL_hJ z-gqh}<C8kLosz1QHPF|cCu7fR)%@UaAnlQV{i=e6U{^u6|5+Jb5-G)`qGh_NjIT58 zp6^FNAbbB3XOavc`+y=gtQQl6<)4*WumnX?Q-V@tC&+4yV2;ht&wtfYNZzhA)}HKg z<8@$D5LFD{QJNW{mmJX6$tI0J{lyfbCNrkg=gaBARc*N@illlgnw=!^(Rl-^B%!m> zR=X&_IkJIv8}hB{bRiA$)#1}(UG6IFnsry8{2AYhUc6D}z)X2yx%EkfK!53*K}~uL zL6{-7n<W!=SfV-`F9h=~L5VC`-I>+@2exi<%w)Qljy3A{$kq<4d@j)cmdIDCMAma3 z!Vsi>*ihjG&o(w%C-2kKO^6SpZ4bHj^4#@fdDhA1HO1`G4y{_73sYSky~Aou@v*8r z2jimq?}+-DPrv&WF?K2Y$p_k2XVNxMkoG^eQ}_)+w*0IWKUt6pk7soJo}@w6^1AwV z@M^~fN~(3MH!(3%BV}sI8h>;RfmQ4!>w;G&q=PhAY=Q57rmDo%e=hN`lt4}{Ul4e2 z{{;?0idL+}l#Tqd=!>nUr+Q>Z1Z3S5Z6_6+mC5IfLw@HPYw$xV1sC}uZ;9=@xh6Py zqcGZ(_*jGAsjZdAty}BKwx;Xm`^o&l$uq*}QR29^>mhc!W=!coIQMa~4j;C4@WjYJ zQzHKvaQ?2uDJf@ODx&U$KKR0AQh8Hj+}X?9i!d))3_9I$>sEaH-Qgm`_Z>*Q3V_Z< ze|OEuEwY|?6>}n}*J0JLgYZ_YG6`{0_ovBdQI&OFRRc*;!4mI5)u;%>z{)<RA`(RJ zn%&<H*kn24MTy8>IRLDKpsuxsx$TvHDtznuD<C*RhNVe^d7uJ;s$pPg18;!>6L0c1 zGBw3qgM4gK!5`LtX*LUoI<)FhS*frPF$P$2^B}}83un3D<q4VL>nB}Y0haM0gnouW zmR(J_U_nalCy9R)5?~2HV$I9IvO#NXVqyo(qEUac=x!K{5P0Y8fVAkmy4mq~Aqj<7 zL-m-uw5{TC`(%=iBSY<1RlU|&XSUvD?h5A-`(6(22%yp(EvF4)4FIVn>65Ztj#Yw} zY03Pd5YU=bJb2nbD%VV3dhHz=Gu1L?1ul?9Kyo>ef82t^!vdP9x;KAohr2f>^ot?x z8^N;sx2JFDgWU$MEkr(8BBFas;_L%GU0)rO^2yq-i2x!Z6FBIZO<xl2iWq{t8SorX zUZ@g6|GY-;B5xr8ZU}IX<D=;$Kx@xY3DcRtV-LZTS`Z($aHaaB`OG!xs~aR!-k!7& zuGNl`%!FO20J77sijtnuVijwv-L6%QvM=7xB<fpl19|c**GDa2a8UKTH0g%n%F1)M zay0i>X6fl8^G1!0?JQhJLEQ%R-b8rxk0;&1rk1zzi~B$DIx9{TW}$>`r^1lpn^gwN zW*;3$7$NAkHKXI9UqGyuCS3<;SE%G^XZ_KEQC@$q$q+CC!g^OcM<OrK@^T@qFOeUz zA}$20z(xK)?J<@_rab#^AV+tu$=QW(S-FEy-58-3b1`yb&G5>EAX#8lS4Jj8z)iG1 zQSPAXt(DKRbk#fjRz<c`!>Y0$cQx19w*q23y-Eo&KYYCK_JwcE>Oqava&1+&`6Lbt zVb>S6HQW@c!@ub^`I#+Z9*Zz!Hb!yk@k0Hjl#7S`{bHX=(oypKSl*A}NA*rgRA&If z^vu?-)@0&y`LQQT*c#toDEQ=sjFj{VO8EeuXPM!dCo__BC7Gy!)Fo-<EGK*t5$U5H z+xhlw^wWkGq5g*nq%%+Z1o|I-1!RoZ2SsqI*fRZ<0a?)2DEc>Z1X<j+qd_=0d1V8o z+B&VGS&<cMV_Qo_k_4qqZRLYWL^W@ApMC)HUK;kg?5<7fk6-fZE+3Ka!sUoUDBtNd zT!E}}iaSF{@EqUxb^T0-q#%v)2N3z8x!*NJ<sre$YAVo4A<3vX@v~D8TB^o7Tuq^Z z<6RvKRO%!`39|9Z7UlgHf^hU8K+i=MBhTUM*E{Uq``sx)BN8Z#&f))3$sLpIz~@tu zUBlH6eHvKG;pDq6e_3PCXH{0YimLa@WFD;FR0&g?#e^|3Faf8l2LQ{m9v*8Me<b2j zrvNEhIC^>bX^Nu%0Adc{kWyl6Spzt)bT3oUA25gu*iRdHKi7RDuLXp&X#*XVyD=)e zu~z645DVmWfd7E@dzJ%q#ho)#^7sAWuxC<a!M*ZNX|MJB;IOB4od<J;S@e+tpLPlK zw+(I=;FULh@44TBrTeb(O=a=@9>_Rth@t_6jsK}uuuuRwuV`vqN^k9Dr|Eqbx$?$F zpyzp}4yPm6=5s*xdoPM@vx&7T;|cd*x|9_`E1Hcj=zP;RWcO1KS$%vYJK|8Am;iw; za6cf6pYoOmG>86EX+G)<cZ_=DQ&LjWPb!~adO1vP55cXL$(KrIQ^E(a?1B#-gXx`P z&#wwyX3~ZpvE%+s+e4dp<?*d6Gg;ipuk<nQXQ`&Hd7x%OSi>*lONQd(d&6hxVr7D7 zUT5oJ##T7&6U;+M?r$g|N<8;R=UgeLaZJG{s~a<-_MOAKHM63=J|gs43mxp)qp|42 z6MX*GTJzhD4B)N@Y9~k+0u>U~hd147R{Rkw3_iL-xXz*fW_XjJ>VZ4VILZd}j?F8b zHzXN@Zc~U6$k)86CtxxgA4w@5jqw){`8RVX{%6-k`Os-#|HS8y;ZV6YA?Hw(6dAC8 zMz4HtA;xC@tVD?3d`CO%M55M{l;LdUWo$9cUPrHKGpRToq#c6AZd||q>T@^h%I8bc zd0hpASNR^5U>y+?g>VDOx5Agm+%{pq56CnUy{arb=V<-L@czd1DOC^`J~mySNSK2Z zy1wfgG`>Ee>6#0f2^uw!qcIs&j1=}!z@gcp&SXpFl-?08Q`Sig#VHkKbuYCG+8;Uf z&ywQLQXBf2A$`8oKeNp5PPfSSb_G)i0*n~`(vUg$t#Wd&R#sN}{P#*58NEVq$n%1A zR6?x~*?5&2*D@lQwARm`Kll0TE97#jNXt~uN3y6aCv7HF*Y<bi^&U{m7ae1fxS=l7 zb36q{HU&%I)rtD}GRG~HtQ`|@Nb$$I+)}d4lA;5$ciKUgE$_TIY7F=FYD5@!)_n(` z4k?rMii!0-i4h=q1Ks9C_-fK65(x~@eST6fRyApC0J_1uc(Xli*Dp<pM1!WA7jO1( zf$kznk_%>X;FVXk@?LhGa0j!YQ&4et3fb;0)T%rnhd?QF54aT?#qJ`x17<jZeD$&G zvT-7{^dDP(`Oo;wGEd%dy_ow~ClA6$^U4<xzv5O#(*0-eL|k7oGcsB$c=d0Q51O?q zl7HsOrCnQ9rWkTiOey@yH+Wk?Q&Kl@19&zh@(+9SuZ{UbFgf;zvq>J_?DMrk8S?g3 z(vTx)2!l!f7dqPjC;$FAZa;hRH%q~xj!uSrYt_<)!Cptiwkdk}$=s-o+5v;{?Vgnk z&}#wxYr+}d82}V;(8@?Fi`*H|8Q3;3x5AY6<9vUjFwR-hTiA1BJkD_WTqI}4)s^M_ z^7Gzfd8Y)_{0-p-5j1*yU|?V&cjX=Kdd*lzdPnZ2l@)LZW_W`u>3SW}s@=TQp`)+w zR0kAY*)`jml-1@@>GvmPQR<;%HRIk3c55H>s<84F9qzT6EmOPa!gblAtC?lgaVF<M zt|4+{V4&#o??bBvS=jw#%PtHU_3`aU@CxIe)aoHcgH_jQbpBN9>TB3pPi!2bhF@Nl zm1)J;1R5g}R>e?ET1n8~8I2Th+Y)QleZM<l;45&86`b0X>KbFPE;rx^#FxLb=*rHy zyLv9O`|FrWT{j)1SKzIShj3s>gFX!17RS!q2YN_EAn<#!hi-NoS{KP?&Cl;uQnJW3 zFJo<XGfo`ITZ(j9ju_wZV6g_tm0rIO^i61Rw`-3Yb5uRFXRv;;S<;F)hVjYHkXnCP z*YHMq+S!-X<**CtqER^!_O$P+i*sukL+)iyXoK~{*ZGv@Sw_Pe`eqsNIQn9ketm6i z4_Y?)wHnvLAc}=vnJy}``vIQ}&eXC&u@-gokpK~?U4soYK0h28K<nus1_u{$?a;Kw zH_5o=@ujT5CI_m=kFJlAE}tKzh}DMKet#)pc>R+r4mljnhL3szFM0K3o>bl^z4qrJ zhB+eN+L_Z=Hy_+FMGsqEyxj1k|6)aBBdf^m#*G``pzvAcL2xXpKJ;lS<)LtJ*=!vv z*tnYOeHJrmoE{M}{f?OE!<{4BE;~_GHJJsjYPn<4J-G58Oy*g3Vo<g|NpC6G7|ry) z$R<7Mob(P1B+VrGdeTCU+T%*&L%Du4g1NQ!xlJ7nzz}zSO-g%Q>P(s5aQ7tGoxje0 zFM(ElQl^X1rhvg`>s>k1_8#8(X{7#UYj_UYik~y5*3{CT+dMhto2$X~dzkl*YdAAa znw+{a=D4JM8O%gJ_-Bjw7Xy5i)B6JcI{^XzF95jVzseK8#{a)KCZ?J9T<#Ph?3{=u Qczwvs*utpvh})Ha1O9J+@Bjb+ diff --git a/lib/matplotlib/tests/baseline_images/test_contour/contour_manual_labels.pdf b/lib/matplotlib/tests/baseline_images/test_contour/contour_manual_labels.pdf index cbe59ab0e74c3ff6223d8552db0958e26f6a86d4..8e4a28a553628fde120e6854432d6addc4ffd67d 100644 GIT binary patch delta 1063 zcmeyS`BQVl9>)5)p}zUSh5~zjhyUOZFW>vG#$8K6$lObXuOoQ2*ea3EutoLrw_eY- zexzz*tCH`&d0Y9hZ?|4mr+%HwR_nh%{jYER^7p;ls+{**v$n`hDfhTv`#0*nX4AL7 z3$Lu*RpGwUf6B(dgW1wP-%L(C%_(xOc9igSYEt!oWXAqUrhJQD{Z*%vi=}4mH2D0c zl<D!QE3blduO%#(;JK7!mYm=$EZf}KoMw{2^2SJx#dk})<FtxJL9<q6Wn4J-Yvr0Y zHLDvSvZ`o%we5?Wng$E=nS<qe&N~?jbUld{>1qt9G}Poex?p|i>gijxR$R%y%UyVG zx{&VMoNN8oe?$LYnzm_vedc;YH3omizt2OM+Pk+q#^+u+`upzu`PX-^KD%^Z-K^4; z`mZ+E{bce!qv|03$H{R6$Aob41(h<VER!~bi;2yed#<lnwlw(siX(agbC(`)Zi;9U zP<oQOby5IdwDyu?)mtq(GeSe(1xzuqyV?7+xP~ERv1F;{<&XBkT+0G{c@69Ja<UkL zHfyO)Y+KjrD60H0KzXK)dxc)GK>Xpp3sU#_wHGg&)2NZIa!PWqo23(*`~8&Srd=~R zi;GqtdU`G7VNte6#eRp_9Vwd%9!Bm^5W6R6I!EsMzoL#8>&r6T?k?y$vVd!sqiAXK zGPbgLj*6FbwcVAgzpRUMFw*#&9kBO8{RG~=V`nq;dv`h8EoX{Wez#%EJ-!`zjcd1- zy^vuvnIJ82-b<%%YQ!I{!s68}k3u_-uC#i-(0_&f)$q`J8y45*)Ny6LsY;grb5VR- z;hbG&pZ4!AUu11NE&XTY+&A&dkFP$xcHfVTlT~~7hI%Uq2VeM-(BK|@=xuM+;}@(A z+pDV0*W2gBhrHh?X7bAR-V(q5`1R&#!Ub1e`&z8Nm)zTYdMeA-Ymt6^ar$QJn~FuG z`Ok#bGqRrh?=d-%O?Yx03n!DM(dJH;UcOWd1p^RJ$W!0~GYm{jO-(SxEX**(%q&bX z#LNva)tMWaPp%gBt2Z@5S8i-<X^A0bh$&`dVTz&7#01kkLql^6I}A-MA!6}Jel#@0 n^rNA<Ifj3XfC|waXk==R=|>9#i^<DH+&GO5xKveL{oS|#zsQ&l delta 1056 zcmeyV`Au`f9>)5mp{MhL4F&H0)=uM;zW)CBB#w?FeFB}VNmrLOYPc?%dg8tDw~8G1 zy`32=r`)l$O}=k@eDcP&<_jCxS=s;0c_3YL{JCsK#N%{*kwxqe*BpGl(Qa$8#L91f z6p!rPQQ5xIf5t|!dyU_WEMroFC#_tltSp>j!r?7<JeS|O`pw6^E9zM%w@cmGY4G`7 zDRbuOYe}k`rY#F*VO!}tDLK(uSauIjvzkf9Vjum-jTc?4O-~5<hxANd)y9^)b#{uW z$;CMTO;WR7oV@$)>w@&<Q@;F_=qU2qbwq@5*@l|j8A=C2P8qQ+<M>h@`t{E`F0HT9 zy9BahC$9LIB5d>Sf%c!KvKLa~^>aU*@a^!j<oRHIR48Kd+;1BqyJvsjZEv4nKKm<I z-uzSAh1S_Wws6X{hDpXZsjqQ%-}^=Xk@22@2`4W;TXp!x0>cmI+(nP1@t$Y-c}ddO zzqem0y6?l&MJ6>5OtKCi3%Wd)(N5H9@1m9A@u3sVF1CkoaVqW(n)UtE@26c#(=K_} zD+OdfDiAq3Geq?Bl4*i}ORS8dcHK*8nZ?L*gTX0>Vc~y+18q4anQLd9ivQ_v6uH}# zdB@|`jCVd}IOPA!V@RLGcxEzV&xwY<f`~6W&b1Y{#FritdgT^+#4Yqf@2VBjro8jR zC8usSUH4;h=mooJ_X^E!xB9JQc2Lbc_CdAeNn-tN#jW~>&3vqN9&cv8bbdqcalW;# z2}`_qH<YWUJ@-1ZZ|aVnVNT!H9C;IQ_w$|gX`PM!Uz?u1ei1o;POR74u*163(!V^= zkDJ!J_{!3$|Ep$9cbBl4*8NRoUCIN;_*nh0=p8>-d{juN*5Bmry_kIu(-h-fEw`;d z9(!aEo}XCVz;AL}{KP(!<!x`eB}2bW{d#(n^Q3z`H~oHH2a3ibM1x)G+usyC+xCOI zbkpyU$$2a?Ocs`#dsuq;QcV>MKtLf+feXwqFflbX#1ykI#t<{JFv1WsH^5Y9Ze%jK zPS~&B#1dV(v9YBYhL|Cyn307khB^}yO!Ev4%`ogRG_in)#UuIA&<xX$hUVrN{xLE% c!xS?$$MmCxf$8K`B5s^U=3J_(uKsRZ0NA*vr~m)} diff --git a/lib/matplotlib/tests/baseline_images/test_contour/contour_manual_labels.png b/lib/matplotlib/tests/baseline_images/test_contour/contour_manual_labels.png index 97cce15d3a1fa8e8aba3460c5a4cdff1cd97588d..d6acf227567af91137d229b2f879fca7854a16c4 100644 GIT binary patch literal 15342 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 a<38mPOQ~cbF81PP2t;1(X~`4wcmD&fw?pCp literal 15273 zcmeHu2T)U8xL{P8qF7MD0*WA2iu4vxs-a2=B^Zj7&_Swz0c@a1ksv*QNG|~-bfgFZ z(n}~(qqNW?H4xg~!2kB`?(ELI-I;y!cJ|$wGhQz_=X~eu?Yw`irF!nn^)nz4=p5vc zk}e2DRRjW^_((?se5oysHwFHoa#w)p(*e&5I;(fU|4+L<GIj@nSQ{wggmaIl9Pm-s zL)pkf&&9^W+rrHn<YeLD>geL(X!rECm$jR_os08rVS)PsLISQX?jHArM1=*cti6Qz z5K<zdPo+e}g{1D?w)OCEl@=8I*O>w?ZV169#P2Q;=r#zV^icmfdTHGIMfB$Q;VQ|~ ztyseN&Ar>NYp70gD`My|PNm^xgColrZ_JjV3}#@<dD+Xu7E@}^;ska5U{nhI#B<{s zgzn9f=3uL|)DSU(k>PZ!)HMz%roX-ip3iEh$TxX?WY<<m<R?LP37NowD9?xDo$BK^ zP(9Phd&jRv*H2tMe!CY2qCb9%Q3<3zep6?!KY8>Pm~qkk#L-)QA02>G%42RvWpw;j zB>JDr{a?o&cDEXYHXRumDe)sYLv$4sUM+bYFrK1NAe1!=m$R^759!M{#$LX3X_62k zbo~*N&=)V_1ZHgPNkHro?Ice*O?)$^XA;=(zQ#-~t3Y>5J@qN7t19}ydIaC~*-kYr ztu0G2%3lI;a37ya0_1aYUDV`;Lg3qr16Tso&8=8hPjBDo9OWm!H56{m;+P^X9COKk z^2Yy65IR?gCtdA%cz9N&OifMYRH7-E0|kmupST*t!O!1`zx&UJv;T@m$(L{0cmxEt zC^HJi#>VdFQdAfSgg#AIB*c-ElXD<&ERJZ4=Wi|?{R#B%E4E7q0-!8G!+nXFGw0U5 zuK^&`=QPp9Tr7ETrcx;giK@#x0aCwR-!L~nCg4d!uBIsE-=8eK@}m-nQFbYJ*sZL+ z<HUyX)+Yk-7mjpGAXMu7Pe-}iVt7GZGCTV;YDI{z9Upz7KJLzu77EmRDWYxTp4`9Z z7r*7`9e3r$`_OvF07Dv3S~!S4t@+({Oz6*N2Lcq4kj#kdI+?St*$SOPqD0JW+-v*y zXyZ@Bujm=G@!j<+JKM-y{q%%+=mm3&er5~9HahLi<1_FyeY8sOR!cImF2h8QOniDW zFu~-(@(Fgpft}ITt+$G2i>=T`3};=iIU(uv58O@6DuI_j@v(Co+Du2JcR2}<PJA30 zR4d>m(pR6!h@rJEljWw?SYW^k#4O?Hupsn5Dzv^~%wkaC+CzG4m5FBxanO0B#SmN0 z3|l<^dB}-t;}(Nz4fjA<9LKs<QkgkO^9<}ZyY0)4pSRSKWU3nTB{&S<lHS6Vb=w<- zO;}@2_E`r#8Dp{OyxnoqRqggaNc$+$A+4^`V=T;GC+NAd^h`LfW4EDzUALVbm=k%j z&sWw)@`Dh4p!KnaujlCkR*1SNS}4;oGB6JE$4v8X))wVesK!O}ifljiKDAvx{Kgn` z@9nX<&|(j=c=XWSimEg6+77t2a(CM@2!3~h$t(I%xT>`@YqTR{xV#OsWH7J={+})E z+Jw%M>~iaeh1qM_rAQle*pM1Qk7!7Ei<LBMlw&J!^t-yhpOEYXLCluNM#h!KHP{$y zMb(A6_N;n(Y;-^F&yAH@qlt>PyDd|~ED`Eu=~H0r$?iKHCxvW|E!6L`Qw&&}pLA$8 zk;ze%yIDk(aWJqAR4ts#N;>(Y<9o1{O(z%d``mx|{VW4Evz-ntATnu!a<A(sE7cvn zp0oIo^tOPvbv0e1B?<uS?Kl`a+b(pnd4(P%$$rcMAPyFKY-TGRnp0%bpf!F7DeMr| z51m7%=Bc^K^5a%ZtkePMzw>2$rUo#lLUn9%Kc5E#Kw0JYWu7&I_@tecWaDL*M_nh0 z^zZ@H)V26<1cwQ_<72y((imss)%#verzDsE*^b7F%BG#JBj!#W56<{@Y0V$Gq?wNO z+MiH9sRIG5dtGQnR&#+7D2t_P=}1ci{U}1TzS|CRTrF&SXU5JxDc&mAwEL>7Qy8vk zX?Qyj$8Zdh`LDBnnW66ztv>`PtL(w9UBs_lvhfV}aRO=GIwnKlMT=itt?w!z%@tgG z@H2t9v;WVz4>lz46Cf?P04@U=wp+SC#{exK%EshrM!t+xqYEDj&7N<2-=Xu7|8M$= z&LAvvQ|tz`50*PvV9-R>Yzynx=MOQ-?g{L9I8>QuQC>FSVyNkdIeSfw4${-`YbW6% z7}--QDwA0H)eF0pu-4x*oGs)R*Qbc{@Y=g{_bmqliSNi((wN6(+L5d2&~j>OYM)|a zI3c_O0tWW>xhZ@Nwo?6WMgcM#72%R0HC<AIt51;6CN~>L@S>Vvvtn3bbYWypt$b!P zb<;wCa9sgUq?8;fXEA$7k@l8>sh)q`6gCYp-`r8i+rawAJtaxidp@#3bzs_YMdYeE z)f_IzaISbdT8>0flX`Il((%v_en=Y*=T8<l2w5Sn(o>`!kyBhnptHlZ&HGgn#1ozs z(j1V}-%q!N|J1JlKjGI34!Nn!>%<?Wb>~(<tyQThe*heH`37?yc8ZCQS4b_`B&4L$ z`NM+rf+z7Mtw+lSkq>+ig9ndPjd&1W?n1|4cOVIu;?stEu~u#UW#naEN2zr9x$4aa z2e&qBc*@(I7Y|jRn(Ed1ryO!gX=a@~SADgKUl(SSyCAbrT5FSbJt@q$Y}<#L`9zh~ zo^s;>;8X(!^#IT=%&4kxY4FEGRRHG8*DvG>YF9n1oVvOdZwQc*9G=!#rK+PIY078D z4oP5+NhNC4!2fIsb#Je|$sjMk-0h#W$5{p^_rOK``-yUbu{8^)3k9@mH4HQ0^VfEt zuVwfa&t0p5Z-xV;-87gPt>W03l=Jh5hm#%t;HO2C&J<J6@9Nd1b-Zg$UTsGiE->x- zV~We%z=q${)-Ahr6<qg<Y9%Ppehv_QMk~aj&9twGfn$WN=E{~#$ma?<>=fqSux-XJ z%+C}XTDN^-Q#4E5i#Gie&7m2Qkoh4>;1kD{vYUM?X@2CTKd#an#J2Lgka-KcD&bAN zn&xwjJ%qkO=+mNV?}5A-hiMO~-6iZ-uPENpJPt@o+}~BoLdw)C^X*Z!+z__}E$zQY zZUwUxAl)>Wsu~rO#d392%n$y){%jt0|A?&uuVs5zT3tQ%EN-!T8F-&t>eAirHI)aA za#J!ly!=?7$;z+F4u{stuPljIcWD}NLhRkd=O5^qrbwAAl&QIqDy0Q2l<P{ZRBe1% zEyrNxngY0)&D~?I1X%6*&zQpD-*(xxcPw_Y$JpyC>ltNtq`zOeb+a)2HwUCo_1vw^ zYxvQkA$KsYMNZ@k;&}l{bZeqTRCC#Bj0@66r*5e9nWRD#NgLZ0mA(O8O8W|?px1nE z?j^N(&zXetYN(T853H4~)KF?S@3y%JJjP;`FK*FUt7vSE=p%*HOxk6K<}K#s2sUrB z@``J8Jy|yGiS~xB4_s4_3a1pJFQ9*WMwArkUlX=!(>HeTDg2rc4lAu5p@pjZZm+KP z4Z2ysL2RSXQ+8#R1#I<euOH8pP@-(2#+qH6VBfiC%g%G70rtAvO5;MSzM5xJB&YrK zOQAjmQ?Fjs+3ftP;L(d-hSt2o=C0I2Pc2_Gr{WgpRsq1MSsBlY`Tc#MZ+(KYcwppr z_BQ~PT8HmJif?%BKgAc8R$D{>r<+l-aj@w>t4yl`K{1rx90c$BXY7a32EB+FED-PZ z{B^o>R2vY6g-YkeuLT4-ixah^xk~N4STGG%+b9ACtA^2j<DzU~{#O#f+T)SxkpXKj zV6C#tYN*-fj$T79Bm_{8D2~|qzJxW2jVG=4fP8KAe6O1u!V>2<ZSjGmd4DTy)GNoA zas-;;SH1(@8nMH7v*!KN%zuOYHpa3DHNh}-^KMv`-}58ltI(Xds-mffz+RV0+=J85 zu;t1Gt~E*i;rEAphmi64iN4e_;*FW@oKJE`!hI<s7w*M6KwEml!+)~!b-~@wEyyRC z^X>)eE%>dWb^h1l!?H+>#<@L}dP|pcXC?p0Y!x(-<ZL2V10S+F&){i6^(hU@7H5P` z0-J$AuYqWW?H`Za|J&)UB)=7d=bqcPv2QN^Ra!|q)pfd<nzx?rFS>zj)aPTWeHWuq z`^d$xh8;43^dNmanQuP2ii0JcLR&4&-DkaYVX{*Etm4bE2LM+3|18}6o7^%>HLBo? zoWRDs+?p4Ph@ho?vmNI%#y{$EqhA&TQc*N|kS&+;EUD|g*(4FjQ!rmR3I?3EU1A$^ z1RGdWgSu!Sebav-ri8mxT-<%EshkKbZ_uwE+2R(vqO_!QA@t$v(&eexuZB)w<zaRx zPG>P^DAv;b&M7})FJ)J|IY~KI9|e98$S5)`52}3yjA?pSiT-gCWW=gDcH->Fn~zrA zp4~JH`=^(kef^)hZ@%OR4kbM?EH~Umo8U~@A!kIF0E0-Z(ax?OtP1y)f@>A}l}NI< zc}S4~|BEn%_x=pam9h67^ZOPN4{Q?*Yy;Sax^{q(9-!+RK3-;G+Px_#C}`;Hyuu89 z{Z;(Ftm1CMmO2Vn1$)uuH1BWu$9&@CFFlp#K?Jh-IvanuNk35*Ckp+w<jk3JJ!T}2 zHijc3IK#oak<~LE&g*tl$L7bhKS}D>i=v@~WPqL_=R*uNRl^v>Z><@Z7a}P<4B`p~ z(JP`75~SxU4<*)}Gtx6dpNcU%Aey>x2_dDZ^lzCjG~aj3dz%_N#KWqz#WLQWTdsS# zQ6w5he?1GZ9!`1qg6<46zD6N($LLTA-aVr7zB@UzJ1ibE)MggTfi$Wca0uMA*cb2K zloj0l2Hgy|m$ujM*X`#smua4NvnTYzQR$&Y9%1w$EI%Zo4}^#Z4?9nR%+mq4VB__; zH@W&O2ow|wge;uGLQfyNlsD$E^WD*7RN%_aFV!IG@2fI#B;ko^Zwf!vtW+l7@-ry> z`c(Bj*HS!SGnanm%Pqz>rKH8Snd$&X9~^k`dFHgbUsz&hPOO?)BnMy=rDY0S)`#=o zY1|Fw$oqzQa)|NOX5xZp$9;}7b>|(;ElKrC<KU6Gqdv9kv*BXgpj$IA{_)^#U#zD| z7e8{Aa-xJPZ8X13s)5-y=}25(E1m~5n~jJgSz}}XHCB`1@AumuT4M0L*`yk_>Cr1+ zTI=<igNOZIns%UP#Y|B$pK%63&A`rOs@9+A-n#wavULQC18lreB0k_8W0!y$1Lv`V zH{!M=SUz$jB^D{XXFI(==nGwlMscXdD%Q1Eo6Ugj!IRvBNT2iBjRS0oL5P+2oIwa~ z?=b~P-&UH;hJLR|a;+)g#*uP|<|`+msIkt)ZcU?=P2!O*7LrBRpA_P7e`>SX_DS2$ zbN&Obtw0aS3!nPqw-WWpQm%cTZq~eW94nKkR=E|vKTBf3{LOHqhx%40dGi3D(>Rby zdtNR-E94;cT|M1E$q)sKR%F|P$o$aram4ouY>C@m6HM=`f$GgB^7oZnJohCZ3dGkW z6q_Y&*=dF)OnRmWYVN&KGf{_*z%m02YcZr;yx|L1^mXYQ17pZFUeVk7<u(C;+Nfs> zFr#p8pbKDzgO;LrVjUE0iw~fC-*QLupaZ5e*WBg%%8iE7;ThTW*%o+qE@2bz&h5x# z$-VToMEd?YNBuOc4(hTMeP88iJ`c~4=rh-E3z0R*VrmSUg9|7oj}q*|Xs~_Q`4C*` zyrG|#kq@KId0Y}MAUojZPVC^2<KyZ)cm~EA#i1CKsj7)P$5?2n`)IPLPLKjty-cI* z))NMylmB?Ct^3UlsiMf1oSf{Lcex{ZfX36;FfZX$)mSJO9Bj>Y%+s|4M5`Khg^?Kp zctU4R(_QOh1qjs;qnPVd7;VK3V2ZI(gzR*IsQv+$+7P24<|WQ6d;5u<MGm0XZuGH& zK-=n;h$!b_f0M#)K!E(o!cTw1|F2zD^rz6j9@cNNA{M|Xg-hCGkEqTf9zdpyFUE6~ zYFB_YuwM|#{lKySl2cRP%TQiGp#RKx{%d-7cpnZV{1h#aN#dU_`yIS^W>YrV*br1Y z)YW!oIVbmK|Je7j7V88u@sA?e+v26#jT_d?x-gGWf!2<}zKzg_L!KoVsNk(%h3DJV zpv$&89<J{)o4Mvfa&XZX8AaxfRkNaEAocHbDY(Emx!Hl7UDdWeys`bpg4W38%GEh- z6Y+EQD-TFHw$6PRmv5Q;))`!(m*?ZhWlHZ@qE@P(XFOF<Ku!?kgXuSuB=C>nCJu$& z_<Q$y6mL2A9h$g>JEK!%vJ;Nf)$vB)Z=ULff9*NWU4BJPL-m}+VScVB*3AFmu0!r! zNF}3g>C;K2N)7KvW!Pc`;#HQuu)^AOuEGk~L({DhU4t))rbuI!0s(4js<}0EPQvw+ z&uz1uHAMj__9iUk0op~Ya_Tw0_1W`>?MD$ES($RUoB4SIx5QmOj@#hYHs1RZT>rdV zW-(_T*&9d<syT=-5%+D#OJus&w~P?n3?2V=+t9miH#~W)RMDhOZIhHVx;cQox-r~1 z?>1k3Xqv}h7^|@C1xC(@CCJDPiyUn3RFcPX19CpsYSrzSCkb?Q=-TUV6geDu@f*sF z-k`==VNK-Wvcy2|Kt^FlVxisX(+2{rX<uvL0r*NdYWIHQVfi%LbSlVVF5H^H%RVw* zz3>N<I50dgfJiZ9STfXU)PeMM(le3H6mpPGe>HpJ8p#1D!wh+sap6h)QC*<RgQBOF zTj8UnrQbBJ_1>@Y?7b8ai)#-!&y+hb|A_-G;aA`o)Qix1{2;I(>ApHje{>{QGvh9D zHlOEb6bJQ)BYCW2cz?pd-z_AwrMj`YlzPW4e)io9T8dZ(-Z*hJ(1ORwvEOB=P7p#K z-eKbY!8%6>@!kEr{f^*kmq3y@xAlVl&u)`)O|u5BpL~fVhhw~S<;Fry@9tM5K%Nl^ zwf%a^TE8`v0mId}*62N<ua3wnKug03+jQ@=2D?JsmUDCUE&Zy$ym}oC7SLL6=HmOc zvfE<l?}Xvtxx@X)u6M#uS2IleW2exxu;vwyLaEG>9G&nkEyxO}JvMo2$I~+*GH%*k zj<S#WUm%BccG%sIWIG;tr|E6b0)XA{5oDEyo}uinMoM?utJj-NQi%BgCV@5b)du!) zWFDuI%FegoaT`6|=M`;<iC~9to`qGy>BvYq(!5U!<FVmI-(+Q@65<%(=dVJHSEJHp zVv-iuzg9(FxOh4J{r#_MVIipT*@MV|UlRp*mx<5a7=HuII9Iw>|5z_uD~s1T4q@(! zp#(<KoK(vqD|iJr)+_fLd~DKNPTvD5x)B2Kx{7{@F&T(CJ-w`mHgI2><wj!$pU3xU z4b9N^n=e-8miiN3$?h+_Ch1SP+B*2e`|sh)Hxuav=SwH%-Etad04M)ZeZBl_I5>RH zb&H|VH^`Fhlx*>@b-D1B*;NX90wW&=zSYsgkK{fMZp2%gUzluYpb;Z(?w#^oH-8DR z`2Ny2dR0tvURL)KX}zfa0n&HmEWef}?#iJrOpGDefVlfeqRT8h|Jk!-pA$iBiYOkE z<-1c-TZ0d(dv_n(2X+o3!X@CD?e0!QLRc`Dy|?r(di$i1?02u~JFi|H`TQW2i$KWH zX??g|y>$ORkS2cpc)Qc(yd=TaByYu^!~*HVeCXO5W=57|D5=a3DkB!V4!_;i>r14i z_oX%pvf%#VY?z13@j@I%FmLq_BA@c!%O)jWZuI?T{M9K?54sF)ZahhQpiEv?q}>b? zD`b#7U;kU<gLY5GuoNslI<58V)E=AxK!yr4z~2vdre-yBpGkhY$daaxb=RNh??-5< zM=&aTVlc^4kc$_K&rRz0Jw{7BLlLSz7nF5xSM&%)i;Ly@UdRIFvGAkPe|?<T|JJ-Y zNAz?ICxOH9h%s&w^{Jkr+64RMyqrOz_>0dutEa0(`BeF^#nHp;V}O#V&-p-!x%<ni zP9=N^N`oD2o6({VOAXC7p16?P4!PN6UnnikU%Mo>i4z5jc%ju2uS0vs(z^--3SIad z9bNPQc|m9vf}2?m-JdDG?)DA25fR}|KJ~Y7Uu<B+Ob_EH;r|(3@f@BIO*xfsQa=@C zQy^7b&y$lov;97M?)OKzDL_~^Cn6gcJSsPIJfmmBwO71TmS<*a1~)EWx%s6(n>$)m z++Njs=e@e$uuiXg%A1EsT2Pu`VVR0gsaRD2&euBP1Fj7y4{!-g;4=VjHm3v1BKD@c zOH86{cbfnPdo$+0rHfq7r<NngRyqV9Z1y@s`iKHga(Gr(%r01}{)wzArCkRPwXEQ9 zJ5ijA-6j(1s0qn9qFDVxWjFAJG>(|G+D8sC0H7?S<*Ic)(pV75O3PC}l+x#hBt(A9 zUcDH3YVhzYBz|OVAdv=5Yi_>dS?UWu3<Q=bynZX<9ARjHH(;G+-+!IPx+xrhH`!Qk za?(2VuO%g4#cWJv#4PqTHTAWBHA}wWU12qzNF6!C57IW?@2Q4H3Zo`!w>SClrdKey zk|!r2WlUxoAb_FO<B#2Doag%oDfSZLR`=|0L#r`z79B17F#hY5M^UZT;TTrkEZHyS zQX{)>Cy%tRz98!_E=WR(Y${&$upmKBF92Vvh}x*nJV$PyNm&pfw8CZdhX#3DcW+$Q zzU)}e_p2+y+??ab+qZVl>=RaC&uYtJVtpF&lexsS^&gvM$vaMDQ%398uT`QBAqF-C zTV4yGh8%czm?rroh#jE~&G5$_Aop$dcSjyS8AI%KzTScDY%uy-jb2^OE6_z4#v<|o zReIiKJU=fP*^Db+aL3NtKGkqcK{^Jdj&_^!wz7mEcQOWe^9$EQi2ySjni^xov-E<} ziRhYqyf1>2bG~@#CZx|Km|-D{SUY8BKor&l@Af+H&%X9VrEg^0!euN6g$@irp>IHm zng9Z;cE=*@_G4Z8>k6t2%+Mm*5Uw{vT)+lHx5^#+t-JT&OtL$1{?!M_WlRCeF2Pb? z3Lp|q!{Pq<dbhO&`^^s|d=$quRKx36(;k)mvmRRs-o4ZJ_HBnNO-YrKA|_@s4lh}U zw^FwT^%uWnu^PhkO90ap$*MV2=hr1XlbP;2P9PA>()UJSGXnz)s~0|koI#-Le<-~G zfZ1P~0IP+C>XxP{Z#p@l(%*f)y}vV+GOd5b{GxbcPs8aPm?Rri9_F8179Bgk`AW7X zG9@b{#-?zQfdw=48t{OCvG&c=)7l{1hJ(XR7$`^AM{H}-2WD6SvLa<SKVqsQpo+-S zfOL*?C5OjfVk#_5E`5-aEN)r9?_cEcma`=shrA*G7^?mu<a)Sov+kX=jn^6No_1T8 zQ~Z>uX%{Q=<n#O{0t^M0@O;2R08Z{!o+`uQ`Zlra0{SW%9Utoi1A7r7XZhnkexYX6 z-AJ=0*sCg6ns#^N0Q(UwA>jiz?03~akE}4J42s{t!DkX{qur|k)VV-`_YraEh!#3t z9v&SSEP*4ZqQWRAXF|IaR4WM=xY9q6JJS25YS17)^YV>LUjV-b>1%vWCAK{S9({$^ z$sS0R+V%D(M8}Cvn<?BF9WB9rQ2;E*7ll`1VsaMs6Xu}&R_lZjW1WH_`Y{Uw<0z6) zURFuAEvBPwux*Ja0UVmb9w-k4BJ(lJ<(uTC^Xn^y`oHT1Z=VQi@EB;#hm9?Yus=&X zYl2Tst8bnBCr56C0vx^mZ7NM@!@DIWbF7`|8daxyva9Z{5_Pbxar2LhIi~{yhR-&x zyZ;GRH?%dherqcD6SuhI1Ax3yRZ#KuVF1812gS>Z87j(l)-iyCCIy)~jiuO$)0EnZ z<kYpGRH>;bF~p1F+JG*K*FrJJnAUE+XA#LhT)cLU{p_Q1N8`=UN5FA<GmNDGcQIZF z-~n^0qmtW(Idjk~N7xWLeU&^h++LDZrB+C|)swLI%~UW@QpZ>?igmme8sUu3oqqQd z&{I+g68^6ofm#)iPC2Uc)zdc$iSpftU@t{&jALW%Ts)%*_ZyQ1-%9HExJR*$e$|Xv z{*}4<=VBFy48`7v$xFRG+MoHTwnp<^=q#W?`$B(kjMrM_Yz^o;XnMza&e_%sd0ye~ z^nKAH4z9IKL^ZH`Kn%(ZY-Viz*Qls}Ia+R0+6=VdN5v;aE9Rg~E)IKNg)ayAN%xYv zG8Kol^$p+eC$0?ooyYQ;By9fZTK0WP@VfivZS^e?028lH^Bf&Q?x=8vrUDMZFZU2P z$+&@OLhuz94B|xcKG$|FR@tk5pg7^$D<i4fMM7}&JOkEEPxpunS`Yp;S9n~#HwOn< z*s4AGmieP;(d0w7j;T`^!70ecv($8GK=P)qFG&kr<CleEzq2t)Z)gvJk(mtuyKn9U zD11~&iD*D9Ae%hwTmq(2&sG7~d6+jlZvfy3-<sRnfPFI^`XnK-xD`;BN~+rsyCzC; zia#n*I&y?Ki<_I~6F<bvQHD7jGkAG=5zqz8g*huC<=-kHfbS4OPrt610U&KqkplMr z&_WQXr#D+6iDZ}1!vBQlH;|=kDgsgtDy-A$C^1aYy_5IOLVy}nojTw-mk3LFp`GJI zA}Dp<dRo(GN3A9x(0}lrAWEAIC@Y*y6D-%phg0>L$<1}rMZQ*CUe;1pp>oiLed|h= zH^ydWhW^@Ti0!vuuJ-fHu2AU=_iAcUu|3H5NDA1x{5F{Sy#4vu_WtJOx3Kcc2UiBd zgsp59bW05Gb@et#U3*=S@ihl}=pRt$wallp+<R3yD45&f=_>)_`-(hMmO;B$j$P~r zfj~N4ZVZ|}>c55_S|yd=?2pQmn9q;5tD1_5Rtt%^zEuNQ3A1D$Gwr$xV}aOVhb0V& zwD=VvF;_4ufJ4vc0HwVGr@nDgO=i-r8acFPdsd4-Spp(oyQ!<J97G;NG!824??pIx zlzc56A}oqC&9x3BZj^Ql40xuru}qgAQSIy%ip%-TtC9n9LR>MbZz?)cSnF%Ag}sA! z?w2YZnXRks^B#7i$xo3}T><khbv34uf7lwUhK>L$nBah@F*Buph|wOZh!bMr&hM95 zJfEFg2EkV%N?G@Y5z%7zQ}N)N7?!GiLY`+)HVh@|?VEeGGm!%)TI#I+a%;xWc4|wJ z{Jqe$Z{Hh^sjm<8Ck<B?D#`C{sxNqW@o)=0V7ix-+Yw3y9TIZ@NCL(G?orgP<?;*E z95SsnH^MUkEDicii3}e?SZ<~H)$T(0<C0Q~dOpidMT>=zXI?v$S|cLc@~&@8FKAZn zkgq7#YMWYQB>R46G1Y9<pzJ%&M_0YHXH4GePL540Rjebg!@z6p-K6Sn#%`C5H-<xI zm5(G$%R5B8_M<;|;LY%Z3ld(ogxX6O7#5zgqlEw4Iy}=Sc(5HLodiE~x@_@fb>ToL z+NyioGX<7y;=d=zB9MbiNr7d}d?=1aGlQpzK&BT2`Wwc%0;0JqCS}mhWKFtZ3enYl z@yUM;6T!#*GwDO&;osjyE9*bjZ&)XwEFO8ku(VFmd$NwmSWIZ2RYy^9hucy_ZrM89 z4dsfBazKWoE^PwzT^4g@4sza^^hut8YS$D&v=D|V$O%}v_T4M0cOhom8<Ui3Uz1Ak zqMro(9t1%1{5+HRc>>=NN6=7M^M{ghki9Mp&9OPpB*yHtoHX)_<xyv1WM=F9>V8-C z8mcmR@zC+-qDZZUN$SW*5-MFAE~+Y?2t@Yg=79or<}q1=%eOX{qc-tjD>chriE=)@ zXn%)zF)?KT$h#1ta~lzd1=I%!<hlkJg3#>Q7%$-T4Lyk!#0j(9Ee7wuC9Yjcg+TDF z!Uy07Rbox}BR6$xg?H`At}o8K+s|=$!0#5oMV_RKkQKcry>i!U1kua2s(?gO2j_k3 zI%e<l0AF0h+U>GMd&#?buS}xZ3gz{mELLs}qW9y_D|*_{QcZiO#X0YkzeTq-ABC(| zsoJQ#B6tk`VI{?+hb*X+mU*h7in%z+`7^&x--Ad$(OtCUq`+-1X*<ba{u2!s@bpOe zWbZ)KSN2SsI54j>eNwH567_?H6zpv8u@U|5?EyLM(if1Bh)*2xnfkEa9=^Z4d9u>k z;H4AdfNBBcr4?&qRJtMQH0aK9w6qmqm6(gg4u{jsz#BFx-Hgr3bBs(~gPw-dyxgvH z@}@A@D0nFH&v!XO5Q&*ssfB{wTwyf6cxs8QQrj+PYdc}ekM(f<!LHI978ghSzpVO~ zjxF$_rJB7HQQw4==B+s34tM=X1mzQ+cYAgT#7bA=xg~p8!Gw}BQh|?cDb-drB`O68 z2?I@MI_@Q3p?}UX1jN34_%4j$M&DirJytYl_uNaCWvyta*j$a~4y>;9ard_hWujBZ z5OL+38qZV>DP=+XLH(*mjYDAh&gP3zvu;m7&jkJPFL4!ep^_DEVeOIWCRP$2?0Qr_ z*)O>92z)4~#S?jv4S66#(Ud~sl=!W7W0~vnP4N=Yse{#n+|giBd2#7{!#U5G^oRh* z7z)z;-3}dib0l-CSCGm9`<t7JBN80j+mK947xs-z!gJf7tE$^)8y~xVggY&FouE`X zZ6BEzb_biOe~yT+fgjA!(t?=|m@Zz;cR_AiRy}X>2#BR5@6gY->rf{`<06topiKNJ zoRE=#B3-}r_TUmZ&V}dP2Hqu2gt02})YN^Q)cqAb6QbXFNbYj2w#W2oKc!oT>yPc< z%cWjL%O$WZR}l+c+J|SZKNkkp4ZH{>1<jRax{{_V<&5;f>800rreue#qtD3^VxW~R zuTP#5l}ja=oWxZFYTf~bt-fUtkN_L$AM2Yy5+!eyZu?`+eFj!xeg%#5S;M^rnX}@@ z&7A0GNAd(p{8K4T>-=y)eQR2&yR;Bzl4)me_V6u-oty8Alv+KhsIgtiBmqEYuT^!c z`m_)u#duPOjI5r&Loue&<j?#-QkXvOGyp4znZXz6hLhc@zVQi#nj{JfHTwpEA*+#! zute~Eo%gGexw&?IRh>IkGam?TLZNc&Wy?HU=vPvRhc+pzSSG85942ufh#voxbxo>u ze}Xt3wv)W*Pl`{;fjX4seaqGHc^lmpj|TD_2t=&7Bj2ZKhOSGKG>1uMJENVilj#p_ zZS4mLF31kNH3b|5P)rX^h|BI_s~cw+^epM^%~OR2oQcq1oCzSJrk!o%ynXEpS6?d+ z!0HBAwmOoMbB*<OY0$Ar5_%Ef@`p3fFyDQ7Kab%ZtS_ZH){<-@2q_+Qs<QRL2aSlh zb8@p=qeIjdH`eOB=My5j4PQ7a6-s4XQQe&N^ScWHJOpl}0uV9_fCDlOFv9{6@+fw3 zvz=(xi|AUAC|k6(%&Xp7M{KQ^PqG{yCjni7Ud;N>FZOq}7Z3dps|K9}9%~}81b3jM z`NW{Gu5ctfab-IgHY$CjpPy3GlKk26FJDLdZqIvC#z+<6Q5~srYmGYDoKRa=iz%1? zC5YWM{*f6YzCZcBbYxZMJ;yvFQ-?v@cCAZQ$?#d^ew8&U9nh*s0$_R5OS(i%T`OSt zogMp9Z%J$BzOWRN5f^?vPOkYqY}O;x1m5j2NuC@Im};Py-`=0+LL3C_6_6hIcp1|U zDAvWoqh?Ye4NCEhJ1Gec+g&lmAcv6lJUy(Rf16j2jL6J*Z29wzatS7+b(=-X<OAA= zb`gQ!c~iTIBMc0#^utNDxx2TJs=bk^yoL6U{el5K>E1@QPdrEP9Y-{MaYSx0(r-k> z%IhDb@*)q)T146I!vt_k1Gf(X<m#TdBhr1w3Dt-0kqlRc<{m%8BnKc9P5lt%&0I=3 zE7^+YG*_Yw|5!XE1NHrk&ky|5DFR$?`<n`I4JzGcWUaN;K4GdMepy)cPX6WOzimS4 zJ|cY^i?>WuiDS<#>T2?69J)&M0n5KA8^Js%A?Z<(Zm`Uv^_FVXv$KT&81(`JKws9+ z1-M8W;_K$0HZ=vc&j>?xpY=1EhH1a+)2>5S7VLf^e&)X;YZOpRaIe~XWqjt$*~bnh zSpdknsX5RfHi~mnw?9kY*74|X<xxS>d|OfgWd69I&MlHM5==%Yeka8+xp?zR{wk=5 zbG6pg&{uk1)D5QaoB)eeN;cpTfj8E>b4w<(fu*yXdQ&TYxoUQ685r62d|o`*rpA`6 zeY-Z|U8E2_5Qa+sl+FzJI@djZUS++SPaOC7>U_{}X1Tra@i^e3s=VPAVShNq_=N_3 zWRlIFQ*zc2rRT17okObXZQF7FyHCz3KM2$Wgu~XR>rK=Mm$0l-r90PuEuBqWRG^3^ zQ0)Kz;o3lT9esUHMtb@W!gC*=9cCzn(LkWC%l}Orcl1H%ziXurO0TH+MVV3Q=I-8- zef?;XD<{wj{V_c=lUxmCM1jXO=+D0=E-6iql1L14Pd+3<^RM?c$%n4CA8iDZa{JLh zedwsF6Znv=z9HLZuPcD}2OZGS{rBnG(pmmG`}Z+sHAZ%Ny2r_D5XcnBC?K*M;L5x} zT+<S;r>&U~T`*(F-&>q_mCq6e1dm5P*=NcX6X}xOcMQvNU$|Dtv7B9x*3lhpamlm9 zz9SS+n#1GEBvm8XbbxF;7dPM#lG|tsr-J2q2meHbY?4xB^ET{wfS%h+n&?Q*Mxo{+ zpi>5T#wgB$|K3=6bVA#dtpRReAOlP!4*7LE_3Y+J<P=P14^^seMK9zW`k89)<JZ*^ z6TScd4zA_J*!JanP?Al6#)xC9KiMU8;>3vr?9-sx{J7M_TiYl(^6$V2Kj+tjn2GeN zHQ&O;5E9UfmxAfT$(v;K1Fn8+ek)c4=;5Y3X(1qb$=B3WRJL1d^9eOCs+|3QtB+J4 z1Wq6+D~x212oo&~Af}bcK%7Jwy2VjoF03#?i=*R+mqH~09HBT8J2T_ev+QR3?5gH# z1?`DJvKT-AG|B=CC|Kd5+IstDgxR;x0eh3wnm?}>&ZL;;&ln2o41R+gB{u*s<6$86 z=kt_h2pR(&?wJeCc;v%fiJ8S3g7{nw^ad2Z1n%JF%kGg6*!*&^lgAV-D+Or>8pzQ* zQAarr5U3Hj^Ha|SEHSU1X-h`&RIPeT*dETF^zP0F<{RrTd%}HyXllPx-FHhu&~7hX ziT`lpDSx&7*UWnzK+`n^A7_DtRp3LBvx>N@)(#_pp5K=kTC9&bNjc4gpZ{xK21=TS z0Xjd7ugymU>=vVhFUfLYGiNW^9EHm?01W0vXB&I^#~d{~I|mH|HhpHC_&wxpw)beD zH*?pj3W~E~-T2**<T}!oyXj3nzBZchPyC6U;z4){03g>~pzGbW4_M+8b$mkcZ9TL7 z8Bg9{{y!OQqFM5Rd|Oq8LEcJ$CS{z?c?KH<+Q>KVN*$vSbRM7vJJ6bLog!vDjL;m6 zCGMaZR%C&WdMAB5|H>iHfxD%!{dxz=2+_Wlm0>8*7m^oiOCHuc=7`^CRe=-qGY6&S zS4Mpj^G4NfV7qf&4I{G<2CFZH3m5GHcVqI_;9Qe@es9IJ5r4H?Bp_W%B3<!c0s{l@ z?;X`~L43d=gg5~|b{74<4K1Q0v9|$ZnQ&JkdZl#mPM9rt!r?wOrexd=-+65p+p%qC z{$-%iT_8y<?nsakbig?*yM)dHf|&}z3U4%}_^SXywYAZ~J7O{k%x==D+4~Knj3!QH zhxscXJPthDMc2_emPTL-8qM>2jc5Y#fYfCQjv>Pist9uXp4~O%hVdcW$qvyJhXuYH z8*M50{_>ddoEG99ff-7<-U0ec3+x<&x)0VII^4Dg7cZKEt4RLif1@14><p^9#qw7C zpe#--milbRyR6c&f!ftl625ffeWK+82vA<R$GN1c8}&>p_ZGwoJ9`CG_3~aRyxP;} zIhr8)>?BY~VslapDX5;p`99xu*=*^o+wi8O>Vf<*kR<#4DeBWjBJmRC1IY5-f501U zBZn?{27?j0G@-L8JpA0xPo2P$XgvNjw0r;2ta#LX!M69hSZR<J)7z&HKEyO1iXfAr z+afPdA;f*6E*@RHd&hZnTjqjhJw@nlCmh|?dmws(V$%a{PafUo>!mu<abHd!UC>iv z{I^e(D`O2LSxYA!tnRm3t?h0)ijQtc?q${bR~EQ5j*l1z^bU3If9X|n%*$J}9>>Em zNt;Ns@(<%Gj9)PVvF$K82JgUxG;4>Gt{)Cg{>gMElsh2yO9~gY{lYk(nw*mtaM<1} z@)|@E^LAZH9bCVO;DeP)80NZG1E*)B&{<6I@BO)|f=$ZZw7=<CELK`p))7o|<M)xZ zH0SFetPipmv9YpELs{kTY=2r`Uze7W%E`^e;c(X@T3qg56%<PBT$r27&h_8ty?;II zy7mvtt*CZqw_#23-BxRf$|cUk{pkb^PR|!Fo<O0rw6tMa7J5|oOsxX~4x5I;Tc!-* z-J{pSRJ<5F{DDaV)vY%2z@*r5D{RUW85tRjs=4B^!T;YuI_3tDGX@{oe%TiJe>*+? gj|ur7Wa1X1S&VYocZaF~fS@3VvX)YTg88fe0*Ed<8vp<R diff --git a/lib/matplotlib/tests/baseline_images/test_contour/contour_manual_labels.svg b/lib/matplotlib/tests/baseline_images/test_contour/contour_manual_labels.svg index fb8905928bdc..3fbf8b835e46 100644 --- a/lib/matplotlib/tests/baseline_images/test_contour/contour_manual_labels.svg +++ b/lib/matplotlib/tests/baseline_images/test_contour/contour_manual_labels.svg @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<!-- Created with matplotlib (http://matplotlib.org/) --> +<!-- Created with matplotlib (https://matplotlib.org/) --> <svg height="144pt" version="1.1" viewBox="0 0 432 144" width="432pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <defs> <style type="text/css"> @@ -32,73 +32,73 @@ z <defs> <path d="M 0 0 L 0 3.5 -" id="mcd7c04be3a" style="stroke:#000000;stroke-width:0.8;"/> +" id="m2ee38e43a3" style="stroke:#000000;stroke-width:0.8;"/> </defs> <g> - <use style="stroke:#000000;stroke-width:0.8;" x="54" xlink:href="#mcd7c04be3a" y="128.16"/> + <use style="stroke:#000000;stroke-width:0.8;" x="54" xlink:href="#m2ee38e43a3" y="128.16"/> </g> </g> </g> <g id="xtick_2"> <g id="line2d_2"> <g> - <use style="stroke:#000000;stroke-width:0.8;" x="91.2" xlink:href="#mcd7c04be3a" y="128.16"/> + <use style="stroke:#000000;stroke-width:0.8;" x="91.2" xlink:href="#m2ee38e43a3" y="128.16"/> </g> </g> </g> <g id="xtick_3"> <g id="line2d_3"> <g> - <use style="stroke:#000000;stroke-width:0.8;" x="128.4" xlink:href="#mcd7c04be3a" y="128.16"/> + <use style="stroke:#000000;stroke-width:0.8;" x="128.4" xlink:href="#m2ee38e43a3" y="128.16"/> </g> </g> </g> <g id="xtick_4"> <g id="line2d_4"> <g> - <use style="stroke:#000000;stroke-width:0.8;" x="165.6" xlink:href="#mcd7c04be3a" y="128.16"/> + <use style="stroke:#000000;stroke-width:0.8;" x="165.6" xlink:href="#m2ee38e43a3" y="128.16"/> </g> </g> </g> <g id="xtick_5"> <g id="line2d_5"> <g> - <use style="stroke:#000000;stroke-width:0.8;" x="202.8" xlink:href="#mcd7c04be3a" y="128.16"/> + <use style="stroke:#000000;stroke-width:0.8;" x="202.8" xlink:href="#m2ee38e43a3" y="128.16"/> </g> </g> </g> <g id="xtick_6"> <g id="line2d_6"> <g> - <use style="stroke:#000000;stroke-width:0.8;" x="240" xlink:href="#mcd7c04be3a" y="128.16"/> + <use style="stroke:#000000;stroke-width:0.8;" x="240" xlink:href="#m2ee38e43a3" y="128.16"/> </g> </g> </g> <g id="xtick_7"> <g id="line2d_7"> <g> - <use style="stroke:#000000;stroke-width:0.8;" x="277.2" xlink:href="#mcd7c04be3a" y="128.16"/> + <use style="stroke:#000000;stroke-width:0.8;" x="277.2" xlink:href="#m2ee38e43a3" y="128.16"/> </g> </g> </g> <g id="xtick_8"> <g id="line2d_8"> <g> - <use style="stroke:#000000;stroke-width:0.8;" x="314.4" xlink:href="#mcd7c04be3a" y="128.16"/> + <use style="stroke:#000000;stroke-width:0.8;" x="314.4" xlink:href="#m2ee38e43a3" y="128.16"/> </g> </g> </g> <g id="xtick_9"> <g id="line2d_9"> <g> - <use style="stroke:#000000;stroke-width:0.8;" x="351.6" xlink:href="#mcd7c04be3a" y="128.16"/> + <use style="stroke:#000000;stroke-width:0.8;" x="351.6" xlink:href="#m2ee38e43a3" y="128.16"/> </g> </g> </g> <g id="xtick_10"> <g id="line2d_10"> <g> - <use style="stroke:#000000;stroke-width:0.8;" x="388.8" xlink:href="#mcd7c04be3a" y="128.16"/> + <use style="stroke:#000000;stroke-width:0.8;" x="388.8" xlink:href="#m2ee38e43a3" y="128.16"/> </g> </g> </g> @@ -109,68 +109,72 @@ L 0 3.5 <defs> <path d="M 0 0 L -3.5 0 -" id="m346bdc8511" style="stroke:#000000;stroke-width:0.8;"/> +" id="m57021d4b2f" style="stroke:#000000;stroke-width:0.8;"/> </defs> <g> - <use style="stroke:#000000;stroke-width:0.8;" x="54" xlink:href="#m346bdc8511" y="128.16"/> + <use style="stroke:#000000;stroke-width:0.8;" x="54" xlink:href="#m57021d4b2f" y="128.16"/> </g> </g> </g> <g id="ytick_2"> <g id="line2d_12"> <g> - <use style="stroke:#000000;stroke-width:0.8;" x="54" xlink:href="#m346bdc8511" y="103.52"/> + <use style="stroke:#000000;stroke-width:0.8;" x="54" xlink:href="#m57021d4b2f" y="103.52"/> </g> </g> </g> <g id="ytick_3"> <g id="line2d_13"> <g> - <use style="stroke:#000000;stroke-width:0.8;" x="54" xlink:href="#m346bdc8511" y="78.88"/> + <use style="stroke:#000000;stroke-width:0.8;" x="54" xlink:href="#m57021d4b2f" y="78.88"/> </g> </g> </g> <g id="ytick_4"> <g id="line2d_14"> <g> - <use style="stroke:#000000;stroke-width:0.8;" x="54" xlink:href="#m346bdc8511" y="54.24"/> + <use style="stroke:#000000;stroke-width:0.8;" x="54" xlink:href="#m57021d4b2f" y="54.24"/> </g> </g> </g> <g id="ytick_5"> <g id="line2d_15"> <g> - <use style="stroke:#000000;stroke-width:0.8;" x="54" xlink:href="#m346bdc8511" y="29.6"/> + <use style="stroke:#000000;stroke-width:0.8;" x="54" xlink:href="#m57021d4b2f" y="29.6"/> </g> </g> </g> </g> <g id="LineCollection_1"> - <path clip-path="url(#p2bf2973f57)" d="M 54 109.68 + <path clip-path="url(#p29060e4662)" d="M 54 128.16 +" style="fill:none;stroke:#440154;stroke-width:1.5;"/> + </g> + <g id="LineCollection_2"> + <path clip-path="url(#p29060e4662)" d="M 54 109.68 L 91.2 109.68 L 109.8 115.84 L 109.8 128.16 -" style="fill:none;stroke:#440154;stroke-width:1.5;"/> +" style="fill:none;stroke:#443983;stroke-width:1.5;"/> </g> - <g id="LineCollection_2"> - <path clip-path="url(#p2bf2973f57)" d="M 54 91.2 + <g id="LineCollection_3"> + <path clip-path="url(#p29060e4662)" d="M 54 91.2 L 91.2 91.2 L 93 91.2 -" style="fill:none;stroke:#3b528b;stroke-width:1.5;"/> - <path clip-path="url(#p2bf2973f57)" d="M 126.6 91.2 +" style="fill:none;stroke:#31688e;stroke-width:1.5;"/> + <path clip-path="url(#p29060e4662)" d="M 126.6 91.2 L 128.4 91.2 L 165.6 91.2 L 165.6 103.52 L 165.6 115.84 L 165.6 128.16 -" style="fill:none;stroke:#3b528b;stroke-width:1.5;"/> +" style="fill:none;stroke:#31688e;stroke-width:1.5;"/> </g> - <g id="LineCollection_3"> - <path clip-path="url(#p2bf2973f57)" d="M 54 72.72 + <g id="LineCollection_4"> + <path clip-path="url(#p29060e4662)" d="M 54 72.72 L 91.2 72.72 L 93 72.72 " style="fill:none;stroke:#21918c;stroke-width:1.5;"/> - <path clip-path="url(#p2bf2973f57)" d="M 126.6 72.72 + <path clip-path="url(#p29060e4662)" d="M 126.6 72.72 L 128.4 72.72 L 165.6 72.72 L 202.8 72.72 @@ -181,12 +185,12 @@ L 221.4 115.84 L 221.4 128.16 " style="fill:none;stroke:#21918c;stroke-width:1.5;"/> </g> - <g id="LineCollection_4"> - <path clip-path="url(#p2bf2973f57)" d="M 54 54.24 + <g id="LineCollection_5"> + <path clip-path="url(#p29060e4662)" d="M 54 54.24 L 91.2 54.24 L 93 54.24 -" style="fill:none;stroke:#5ec962;stroke-width:1.5;"/> - <path clip-path="url(#p2bf2973f57)" d="M 126.6 54.24 +" style="fill:none;stroke:#35b779;stroke-width:1.5;"/> + <path clip-path="url(#p29060e4662)" d="M 126.6 54.24 L 128.4 54.24 L 165.6 54.24 L 202.8 54.24 @@ -198,10 +202,10 @@ L 277.2 91.2 L 277.2 103.52 L 277.2 115.84 L 277.2 128.16 -" style="fill:none;stroke:#5ec962;stroke-width:1.5;"/> +" style="fill:none;stroke:#35b779;stroke-width:1.5;"/> </g> - <g id="LineCollection_5"> - <path clip-path="url(#p2bf2973f57)" d="M 54 35.76 + <g id="LineCollection_6"> + <path clip-path="url(#p29060e4662)" d="M 54 35.76 L 91.2 35.76 L 128.4 35.76 L 165.6 35.76 @@ -217,8 +221,9 @@ L 333 91.2 L 333 103.52 L 333 115.84 L 333 128.16 -" style="fill:none;stroke:#fde725;stroke-width:1.5;"/> +" style="fill:none;stroke:#90d743;stroke-width:1.5;"/> </g> + <g id="LineCollection_7"/> <g id="patch_3"> <path d="M 54 128.16 L 54 17.28 @@ -240,7 +245,7 @@ L 388.8 17.28 " style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> </g> <g id="text_1"> - <g clip-path="url(#p2bf2973f57)"> + <g clip-path="url(#p29060e4662)"> <!-- 3.000 --> <defs> <path d="M 40.578125 39.3125 @@ -274,13 +279,13 @@ Q 53.90625 64.015625 53.90625 55.328125 Q 53.90625 49.265625 50.4375 45.09375 Q 46.96875 40.921875 40.578125 39.3125 z -" id="DejaVuSans-33"/> +" id="DejaVuSans-51"/> <path d="M 10.6875 12.40625 L 21 12.40625 L 21 0 L 10.6875 0 z -" id="DejaVuSans-2e"/> +" id="DejaVuSans-46"/> <path d="M 31.78125 66.40625 Q 24.171875 66.40625 20.328125 58.90625 Q 16.5 51.421875 16.5 36.375 @@ -301,19 +306,19 @@ Q 6.59375 17.96875 6.59375 36.375 Q 6.59375 54.828125 13.0625 64.515625 Q 19.53125 74.21875 31.78125 74.21875 z -" id="DejaVuSans-30"/> +" id="DejaVuSans-48"/> </defs> - <g style="fill:#3b528b;" transform="translate(95.485937 93.959375)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-33"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-30"/> - <use x="159.033203" xlink:href="#DejaVuSans-30"/> - <use x="222.65625" xlink:href="#DejaVuSans-30"/> + <g style="fill:#31688e;" transform="translate(95.485937 93.959375)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-51"/> + <use x="63.623047" xlink:href="#DejaVuSans-46"/> + <use x="95.410156" xlink:href="#DejaVuSans-48"/> + <use x="159.033203" xlink:href="#DejaVuSans-48"/> + <use x="222.65625" xlink:href="#DejaVuSans-48"/> </g> </g> </g> <g id="text_2"> - <g clip-path="url(#p2bf2973f57)"> + <g clip-path="url(#p29060e4662)"> <!-- 4.500 --> <defs> <path d="M 37.796875 64.3125 @@ -332,7 +337,7 @@ L 37.796875 17.1875 L 4.890625 17.1875 L 4.890625 26.703125 z -" id="DejaVuSans-34"/> +" id="DejaVuSans-52"/> <path d="M 10.796875 72.90625 L 49.515625 72.90625 L 49.515625 64.59375 @@ -356,19 +361,19 @@ Q 35.15625 39.890625 26.703125 39.890625 Q 22.75 39.890625 18.8125 39.015625 Q 14.890625 38.140625 10.796875 36.28125 z -" id="DejaVuSans-35"/> +" id="DejaVuSans-53"/> </defs> <g style="fill:#21918c;" transform="translate(95.485937 75.479375)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-34"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-35"/> - <use x="159.033203" xlink:href="#DejaVuSans-30"/> - <use x="222.65625" xlink:href="#DejaVuSans-30"/> + <use xlink:href="#DejaVuSans-52"/> + <use x="63.623047" xlink:href="#DejaVuSans-46"/> + <use x="95.410156" xlink:href="#DejaVuSans-53"/> + <use x="159.033203" xlink:href="#DejaVuSans-48"/> + <use x="222.65625" xlink:href="#DejaVuSans-48"/> </g> </g> </g> <g id="text_3"> - <g clip-path="url(#p2bf2973f57)"> + <g clip-path="url(#p29060e4662)"> <!-- 6.000 --> <defs> <path d="M 33.015625 40.375 @@ -400,21 +405,21 @@ Q 23.390625 74.21875 37.203125 74.21875 Q 40.921875 74.21875 44.703125 73.484375 Q 48.484375 72.75 52.59375 71.296875 z -" id="DejaVuSans-36"/> +" id="DejaVuSans-54"/> </defs> - <g style="fill:#5ec962;" transform="translate(95.485937 56.999375)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-36"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-30"/> - <use x="159.033203" xlink:href="#DejaVuSans-30"/> - <use x="222.65625" xlink:href="#DejaVuSans-30"/> + <g style="fill:#35b779;" transform="translate(95.485937 56.999375)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-54"/> + <use x="63.623047" xlink:href="#DejaVuSans-46"/> + <use x="95.410156" xlink:href="#DejaVuSans-48"/> + <use x="159.033203" xlink:href="#DejaVuSans-48"/> + <use x="222.65625" xlink:href="#DejaVuSans-48"/> </g> </g> </g> </g> </g> <defs> - <clipPath id="p2bf2973f57"> + <clipPath id="p29060e4662"> <rect height="110.88" width="334.8" x="54" y="17.28"/> </clipPath> </defs> diff --git a/lib/matplotlib/tests/baseline_images/test_contour/contour_test_label_transforms.png b/lib/matplotlib/tests/baseline_images/test_contour/contour_test_label_transforms.png index 59176950533e51bae40bb69a091139482e537701..723e501ed2875b8e672d3f23e8691272806999ca 100644 GIT binary patch literal 59612 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 F{{Z`Jn0WvI literal 53162 zcmeEsRa9P4lO^u%?oM!bcMT9USg_#k?(PZh?gV%D;2zv9xI6SE{rBoM@AEcu7c4$L z<lZ`G*REZ=PPnq76e1iR90&*qqKve-3J3@|2?z+7CJYqtPMS-A9q<LhQB+0^2DrRn zjKhHMVeO=~96>;k4L?3XON5Hefj3p0Bs85=ZB3nA4INBCtPP#)tZbdE%)gPim^e6^ z+uD$@GO{o-GuqiYI<YXbvoIQ)xG>Y3v9WS~W9MRFG5$pI-O0(0mx<|r|B}(x!HnrT zsl6QpgakxJTtv++<7Ca%P0eI|@bWx0Rh~8V28@E@1_=xbl$MSLj??M%&w`%Dz`Bd> zXjN;KcTGjx-!d8(J$O2}Fhp?(H5AbJEK%w6RF`$32^8Va%7zmZj=ojL_G8ATS8`O{ zj@iYyMdoQ?|1NRAzB4fKkBh>E#_!)-(*6JcMcDt7i_m<+DBMU(Pj9q8mg;mg0~tGH z<jO+^Tvz1L(a{w;O)-}{Ly13snz-^*CenU3`a4%jl~Yu7hp%&>l*QimezC7~rqp%_ zQKxhb#%A~+$mgB4b(<m}C&+xg?q)DF$&+b%m+8yu$u-87dCI2HEiZ6Q^Y3>r;|%#a zCBFqM)mg=)a=msY#kPIQuyE0NTUP4S`#lnx>g@$De;yRy_&zrGarx+^^E#KU=?<xn zGAqoA=k=Opdk-E?=cn>I(|JGNHM9{dh0|BJCqNUqb)T_nN25?-LeLCK!3suP*5MLU zJ}gCLONuhYD)ftR+8b|?(R-!K5a2cs_e=0H@^ky%S*CUqJJKKRC>#`>yS}V0(%RX& zHX9R0mAo7|;uF|yk#IL7OsqHWSWf&7D0RO`{xX#hy8az`)^XF8o}}7*#V8%IxsnT~ zdqYDw5xnXcnn%HI=PzN`x~q(xnG&}xIDy*RsE`<XBJB_5h-}uEA3M~|YX@xh(?nc^ zVfg~~yPH(hUe9tu)zY)snTJL9)U8La;fx#J_k_jSKD^mJPqg`x(Y0+E>N2Xo@`e}8 zHGq%{b8@=(EsV`nR8?=+Pe`e#zCbKVvq?PA^h>b_M)aQ2zsy-J&I_if6-}LD>&K=| z4l61GfAbtGr~~b#)K>L~;q-cB=S~S~KucIxM>{;RvgL?R3(YyzqJ#`5z0Ve5|0~u1 z^=T?NC~4>sCjR&R9C|@c4lyDGi>6}hikOH<ETP`4jKHsmj0txPr-}8wNxFFA!_Y*6 z?P1ESm}VVqFM6%t#X@}33g=2rv(M<6?7DAFsvxMSIyg85p;DYs+iOQgcrYpv*(xt? zF4NPT%*<e<U@uO}uE*Sw=tjkp(eNAR8zYW^n)!HD7e?DG%)a|Ipz_<j&b-WFLn5<^ zL`}CXXKM(^u@^hSlw@Qx9<+X8(sQ!?GT0e>QS2{hX4c@Cxc=Fz`U)W6(yytsGByZk z_R1l?q0eF|ThpkPW$415+c1W;kU|1WF1MrIIT;`wy$!s6F8wvQ#0Jq*I5;UOKemQI zYQtA5&*j9$3mD7^jqb_F+Il)Ve;~5!%+@qs3n*~=5uJE7ulkGF@>k?sQs4VZfx~hi zit~fKN>f05$~O!hQb#p__j!tk(Ilq=moC8Z<p$9rr-6df{~U`R=p&>W8x|(5Qv^bG zMK7PmK5~Y(i%o!*EJIFe`gzSEI~Ikllq}ngH&m?O)XS?&_m7<+a|}D@mJw(J!#(zv z5hF(wDW(*+@C}Lo8N~$^=3J1J6j%!XBvwYZVF9SRTdFXgh<sMT4+CzD%EIubQezq! z<H0GIu(uO&t_~q!Yhvp;(gG;2=nskg4_#Km`m}z_zD-b}*~N(ws4n#)v)fZ=f>_ec zomv?)a(pr-3Ewi;qD~m0|6xyl+!FDXpW7{9+|Axj@KmQW#J}guu7kjFONcXpBCn<S zK94L<L{t(giXT`4cZ_^i;ScSAdh(e2(%!(pkzL8VP$Rb2rEnV$-@Np7VslFjVex`- zyPeGqrvvQ;dsra@FujbgB1ls4pqilHjybzluD5sXTOHx?n=_+>{JgeX(kJ*TZb5Lw z=zOVS-#`Bb$JpxW88Nn>R}>wn+?|c#7R(J{f}KuvQ>2UpU4g_zMUB_Y10f@`mX%s< z7iQwz$&W$F46|L@vnXHb%_kK~QsP&dP4ozWV3v6e?jnn&3d|qL@i!Qy`8~nS(i}y= zNDeJzD#xIMT^Jb_){h5?f@+?)yt8hzJy*T+iV6Mjs`Btqa~c@e8w&iGjzJU~6}aNV zJ_CUNzwu&P=J11-t;52zc{}s6C?QHH!buC5@t|Q{lBvM{yL{Kvrav+PA4vTDv%#|K zJ)^=`Ez#VpCyYwss=q!8{&Ix&zUmmp40jZ$m$XtAdA3f8Dbkm*mw|(j3)Gwll<|}l z)H2O)@sh$H>fmoG1kAK}*x-dV8`XHwh2eHzKe3JfsWwdS=@6j>I5;y1G!zoTS3h)c zYAAc0{;lq4e|+dmoc<jW(p7$(=DuoF0eN}OYj#DIk)26Dc<?}WB+_`$AJ=eN8Ga(G zirE|ebh2(>=)|x$y<$pehav=803S~|TP}$KSP&OCu7=+tm*xPagH^_Td#3|aLoY}o znTIGPmu4XS3!|bG<`KY-k_U>Oy|&RC%WW4ImMBi(W}kr3sbFKysA8WGkf`>xAXtZ& zk@fDkM-&Oi+%;w?K@d6<6==5v3^CD@@&GhWzu~ttc7BdJe+$z@X<xb&ML#%%ZM*G4 z?Afql)ls9S&cVr!q+zCin;5^*-%laU;Un8;&F0g%SsVpovbEv>riN1BLS1bT#CKfE z=d`*r+#8M!y>3Un5ebfrgx1#ta855d`q{;h{nkF*2JbIPb^=YdiD*LJ-wR>G3)Ar^ zR3aqOFhVFKK|=hs+vMVoZvBPkZJ$#H?YPU3LkmNaK=z8A+LXT#B7yNaZ1zZCF|vk{ z)ARq1lOQ<ltrW1~-K21C;(HjcpcF?RIq906Y?JO8GF`3T81XzR4(DhdF5qGUN686+ zN}BFw-5!3M<}*_smzt|fLFv2@y$847T(8uoYy_AyENoaY_+qOVhgf1ueRbyL$EFz@ zDW0oaOd|XCFjdT_RVRvg@7~Pgo22r0#u>YWkVNB^qFc>O4{CMkrOr2j(S8bXaL_Us z6-*+~G7@1(A3B&IF>L|;9W!`PI)k>OZ%~)bN5WXeGcjyFmzMK2IMm@3Q{{V03%-O8 zG`%u->W5FIC<^Sg2@tJKs|RGk7?KIS!-Pcm1^x{DVl1k5iIM4F>D&{IB@>3S?c<-y zeHGDk{^8`CrXO9JmJ%EOcT;jf&JbJpOV!_ZnTFU}TS#U|L>@au;P&;%`jxh!kyg5( z@2KG5)Os0i{xNM{?J^)jds}`Q5wU157&}z1$&-}_mKg;oN_r1O^sA8OIjId4tT@o? znSxxxl!6g3pOtv3(Umk3{&0O&g#niubt<<oRUIQYb^yz4M)Y&gGXrnhHep`MXzZJ- zFoi2MLsh6C_qU;_6S6lxy?Tyslmi7&T@Vew1rHs?!Cn(WwJ<%V4Lo^VTGCL<Fh!Qv z>TY~L^Y#%A5&>a&eqgTz1WvQvtWWW5floLGVHFg!eLRs*WhJNqp`h$Y9<pMB%hL-9 zNAr<18$Qi8DcBEGC5@{``Vj<c_YRT<AkBz8relN}`Gqpc|MaSrJ%(8+_Tib^s|+Pu zZJ)E(!XbB*?0d_)hj`iaj0$!=9gtfGf&nOy#y1?_(U(FmH~+>FT~QQH{M}Rl1p-E& z^jsEfO=izv`$&{O6UdGSx{i89((PfmSZ!<k27o9Su9@w&OfDuB-Q{wy30v@>!&4wi zO+bTJM<i|Xp_S^Rx-~6DlV-E7?Lwur<zKj^Nn-9EXme8)`V*zt(rI?HAxaCenKn&O zZoT?=t8#;e4kz-p`-$@ZZL&5lI=WCHdu@QE`gA`Xo|Xigr4AN<+c1ScQ2}!Rgd%m; z8O0PLHtyex1`#Mlv_nbEbJf1~Bxn5bisC4Z3)V1-JMcf|#T)+VZoExi86zy*m%oze zOZWRON}vGDp+r-#IJKd&l=I={WuXWX^n)vptg!!zs^X7I76Ea?mFAUF{#`eB&7lWH z8`Mt%kUwfXjVW4QDk6Jr22|4Quq*IrAU{F4rF+Gg5@<*wRkbH<?BY!w_t4Cb2qYkF zKld5|0ZS7O@cV^Vo3yHhQAODa|H)da<z533#o-PwhKI8Gt0~V}j9L&wwXj9u9LnI1 z7<F-Gpn$`z<1$vZW%SiJz87?>+7J>Exr5o<<}nS9xJK#&Q53Q%DGxLjOHcLwChWEC zCh#lV4$=ioS{V_cf?L6xg!BIBAloCw<Xp<V<Q4k_@-GyueiN$_Xni0hn+lB={Ew^4 zwZjB|3@wsy-+YNBQXs<f2@Qg=g$kQT2K=dC{wR+!>iGP=m_qjh06TnNzzhd{MkvWs z0kTUXzNYt{D($55QR8Z4{OIsBWd$~-x>fKrmsx93rJ&Jph505(<KHM|x=ieAh9_nA zgjIM@hzI-{O1z)h`0=!4(97+uT=AZ$&dB253hb2K;C0cNON^mVtavo~Wza+{?BZ+I zmZ(U(QHg$*lf{EF=u?ZM6Fphob6Y0vfSBNL_Y^Ut4EVs20HqPtK%r1uj!>?|4EEMb zfz1-cE<u*;Ic|UgZ7Edz$ueE#QFnE>{^k8HADOTv34v-mSAX;%T~iL1DPG#Q9b>a! z4zuq2E*~pTjmc?PAcXu2L`nZ2#%>U`YgD9FieT3<3sV6or0t`t#AQ4!TtRfIQ|en8 zE9H;am*7Poz8mv6f69v)0H~E@UenCro-EbSX%nm+p;v+0x!bsU>CJUiM07OZqO$dh zgu_deqps8x3G}ypyd>jd+yE@!NlelhjI28xaj@HAuzw`g!souPD%`&)|7aEuL%V3w zgP|0}cqE}IEhfd|zMc&c{llODi8whBEFpZU5$dg1pbR<^KLzVYqRWBmL7BJdgwrXa z$(ZpUMNtPa@eBM;W4+z6_GIIUp<6dX_ss`SM$OA2JA=#-z}_T-{KE-W=Uf?vn&mS; z440-Q<~f0!J;qog{eiJvE|{(Stm+a#c6y0`>l>kU%h1UnkS32_vIdDiy%@JfNY^hn zHdHwlXU7(+y5&CSzjQyQKwQ=WOAU%FzyfQq*(>G?QkEhE&1m87gUe*NO&tx(`-e5; zU*$Q0N+gM{$Vr+kH4$|FG+01Oz#TFje=PkC2lnP+sc&6;IY4bN?l;cMk8f!G{@B>G zTMY#2i>&^P1uXsy?S7%1014tUsf@H4vxP&n)}Q3uItI+COsXXOQ8Fxy{#U&pamO)K zM$P6}W3>gTr4f<%-Ec*blH<qT+zu<dNm<N~@7i@<-6~~}eDmTwHAgX19_-^qpc#t@ z%^LZ4lINIXoxg?$imTu#z!^#Jk(@#;LjBWRLBZb(l9)>NR4pE&Ocy{E+fT$ei{r;& z&~Qu2YslJ2{i~b~SiCUM3y{FEFP(b3TXgvJ3+-__+%xg^RmQ(^+MzE@r$ZL7#;_yx zC=3mIvDHd_tcbL{rKz_YbWUvP4!pcqf4mr6{>Ywe0?vBvFLiOBj?*THbqiOQPF7~= z0_5<UTyX3yGx+(j!n7p}d*a|#1pxMgxdkj)Zddn`kG0qzPbw|Xa;Z8*29yCj!Ms#w zoaT#K;ud+TVDPZw^hPMma8`Tc#DQ>Qdoq!~C0j;iZrR_63d5c+r(&I`;s&?+EsZJ4 z{ykVac1{SMU{M-!>7Hu99GVoL3U}PsDza46Wju`nO#1|JUa7bVR0wmJ(D-}pUTLzx z;Z5lo?hJ0$Q$`IR@eeF5QxH?Cv4sM)b5xYXFVx4_k*YLmKukZ{A*>#BfrkoR+6+wO zZ>cHc&oKk^`(NR{alO(rsnU4RO&M}zcOP66&zT?Ytab@HKbGfT=oe`m5<e7Oz>391 zc*6Ku{Em!TkCi(CA%;R2^GmxFq-{-><x*HO5Jpdp8|@S%4F113$`^($fGFuqXZr8C zFXDPZjU9Pu2?`*0$yk0%;Av%uViiw~dC<8<!ma0IEQS@M;}R%Q4WUUjt`!aveB_?F zbDE|Y<@x6UPxcx-Xgw8NIRH+*GzxVn@r3=esRVE0(2Th;Otc3avTi@V5mEgN9Nwi+ z!3n-(qwXHfDg-(avPw}l{L)=rI`?EM^$@Y4o?X^dW65JHB-ABJaOe>P@>D~J=2Y4B zq6`hqK8fZL%EZLsT{niW8>1g3k;3AU7Ctlvm;FM)&0`+Nq4@^}QnyI^8fAnu{T^Ac z70~v`uwNjWw2Q;We(uGX!BOHY-Z6<=Gij9hpi8tb0qn}-RzQH-`$h(FW1vo3dMY@9 ziQ;W?81bC_-QA-k?Ff0~i=QW)e!IoXQpFDo8aqOn6BK=35co$4R%U2<F~MpVP+!`W z!l2qQ;wH0YjQAO6KK9_7UnKjoBj+i1BA%cj{A5kmG0nDKEqC-M#oD%hPLU53Sj~=6 z0eTzKb~7J_>#_de>kLnt+to*_^6iIz;=gRid(2|smxGP{l{&OECfzn_dHXN!JW=+~ z1J6I$GI_B!zb~b~BfBkWcwUcA!b6g72Idfpg2F&`BY^I^AhUMc`OQKiQFHHfA2q&h zOr0maco2Eag!2t=!2xxz+->?SL0jNsFT=wmJBy=|OLnaT=HmL9c^$b*qh?!U8Yeao zoON=ltaL0(f<oZFmjo19e6I*8(k|y%^sgrJLfo{4@J*Z_o3gF$VebA3QsrhxZDV;U z6BkEdQ@SY=+|Mp8AKH%~{TsrTio!(9fzQq|@<0<)3ajO-2$v+N*ePT2mk&cEzJp2} z{pVOgMsmpk{a53VrWXDfh}J*4Suc9ID03KM15hQaFhA3C%23K8b6RmMWGfalUuO?^ zGqx0cTIY|Hq#>0e=BHzo0^F)GQMUQFuxx{&%`)Z*wosA!P;H=6iZE5i;yAR?;I#88 zMT8*ID)((6^vNIab6VEn_!Jt{qcQO-RzhUUAzy_m`2=BAcr_UquvPjP1dwO0N%IqL zYgBbB8h>{iy24gwy*UAm0?}eW?{BwoxFYm|5M#-ypU^UfQ7#GQ)@gqYM*mt@S|M6# zfny$5AU)q@I=PY+IM-`iFgoFZ(VmjFbZ~gY{V?IME#lZl8CT7dpM|4A#9WcIwvfwp zVVkpR1XFir!SFE(t}0r#o^<9WWk9ZN6;an1{)=?#A?$+ueR1|_UE*5`m^4P~)o*$k z1%<V(PMJh17V{a3bUHNDC5}X8x5bnLfSoc5;zwWsLc4ToY~x@0xy+zkk09F_xV^V< zy8l!Cz=K|?Y(9133@Q_jB%jULCFDkNVg9|p{tyYXE5uM(G+~~V_w?y9nqz@R8Q1_# z<h|n@F9r<8;Ockezx0g)oE*^0_aR8$l}WS64)^{)Ts%)#;x|l}>&@lUIjuvV%gS9@ z^QgNb4AY8QjzeWAKIyfmkcx%;`aVqt2M2e;C?#&(1W^iqp8n21Zq+U3TgwyegtRE) zKTUHOx_xditMTi|vK*74q3SG<qoY)p>2M0TpFdIuX<M-~<VO0E3z%fVyoM&Zbh?Jf z5gm<|VQ~A*mxW%BUq#u@1TgO4xjQ7o8`us{+UMcoh_{PALeW4K7`B~}C)II_anK_d zM>i*sG&`e;7g-*m(+&zy|D*X1S@Aw&5xk*kN!p!8_Ja!ssTqd%47>%Lq^*s&-7}C2 zyuB}H^cUedGL*q6^1`9&w2Ec_ZaSCY9r(h5?xi}-5kCg+xtTzhn7-Y2!hm|c52Cp$ zXTM-bcaNYm-KI$W$4bpd2Cn8a%8-`(eQECMI`_d1!^_MSik8K%27k=s^bH`9l_J(K zBWF#bS)C6NA%|?+x@rdTGMAfiI6nn^A?~G))v{DYOUNCyJLE)bjSZ?IztNK||L}Im z+Kj)cjCyfi>;HWq;CkG(2UxqD!Rb^@6>h`VxM4n9Q)5bDHtqMUHwD3)*&**L91*OH ziw1pH2sNY!kwHUcnnmU3iiT_*k?VY^&CHcb-R>(Wky!BDMVv$T9FA==w89Sx+BHiJ zD%l1HZiDxTh5UNh>s??^6Y>Td-ad$TEc+0#^veMW!`E^xd#&%U6OjX@6S0YRMFXC- zk|^s9ktN5k-u?YA7k$O*Ag}v~4;Q4zj_!fElcZB-8Mkd)3&CLFL{E!i;^IENa71jh zTP$gs3TS;t6TZ@>1q-g?3Fg|fc1a!JqZ@Tq9-&}yOY?ufDmKG<5E@&1($@?zH!5u4 zIafLBKYD0#EW(xOcf!=2)h)!|aDzN4`GHDl^V!knL_~i?Q4oyDzg`?91@w6%QAOxY zJ0`!@3I~w%137wYZWuIq`*`P=1V`Wqs09#S2X$69BTnQ^&2TQI%2SIPRu-;O)jh8# zFP1sf{nid>aNO8$_+h^Crc06i>vEY{N=>l_<a5K%`+9be+7W8o>i;O~o1c2!+`elO zO8DkG8?5<I>u6MX667f6y?BHeTJNOKVk4zm1+RQ@tTcGOeeYTI6%mcN<>P!no_e>d z#7qeLklNw)&R#O4_cPsG6l?)rHk9Gsr;O#NmK8O;{*ihC=Yqc`4h}iNVp=hwh>R4< zQI`@|!<jc>$}?F9($?>9@h@(j9?sdrt~Imq9TGT1^PI_RlRwl^e+iXOPTX_pmKgs{ zF|-mO3tf`u8z0lRR$L9X;4j8?7TgKer21g*`!;t-7#7dqDAjSGc99#GKl=tVSQ?C! z|2i~zI3HQ4?-Cj6o|?@$&s}ioA@dCLNf#IY7M1NFn<9!^y-gL$xGIN-&OFs)>KSaV zePHkP7S%x0oIAt2<*~hCFgy|$Z|fRNw$Pf_S5>EdWO3~34BUL+I&OyOE**k=qPFoF z^D*;d@4f}e__690r1*kD5w?VUqS_L+gujajq0_t|@Olbz{_X5RL|{jXAO!C4w4|Fk zJZZTI9`nFP;KOG1_1h~ElNabdKTKvwcgeNEVJYv6vJV?j1><p)hrV$-Kr2*`C8Cd* zuzr;Ca_i-0h<!mYeZ@e($+SU-myQK@1f=4%`S26LK0ifBb-ptq%{xY~JAJoH6}MMB z`XB<gaE@rXU5$^;GVgm)Q||XxW6l)6%jIH<9|ma~weSo8)x5&<dSI?dg+6*@eggzg z$Q(giIr`&khCTE5ym>mV9y6t0vv+@`ckngIUXf(c9@ynd1(!&`osh==G9u4u4^0IM zI31}OCC)^iY1KV{!^T^Y=@!JQS?qc&neFnhPGwhqW|=X36?!qXd_IgN@-J2jJX-8Y z8LcP{3CA=1nO)pPC?UR_0`k*p*H-P4u`~*>Lc_>M&uW*G2Jy;gIi7tiKR?DLZf$eb z3u}CfoP~TQGHd8HVLkwLd&Y7*KWBatJwA!Ak8#nU{rsVZ3J^=bapJdNCW2%>QXdic z`y0AySxbriY(R0H5L+<xC!Y)!tM;#`a?zmrRviPr8AWZly|L97x|uIkxq@oeW5}i1 zW)&Xvp-k&RNxd)}kWJc!;f#*@EBoWEfqxa+1-q~4e}7gVFa(O-le_qLHHNdGv^6bg zPEE9j#FRN~wz2`COU444`;HOE7u@TmnM0QQoc7QAC+;h(;X`BBU^K`N+-UO<2UqL? z{)q^YFKMJI``?=46e_Prw03)PHJhN%2RfNF44-UO<!6oecSpQlPwI9tFyhuL@x5b( zvet(P0_g?U&#ttomFS|nhz9kbvS0Am+u%FhCg9G|Z9;yyxM<LDeh75)0ie&g{TiD{ z;c?mS(!89w!04A;?dJ?%A+hJ{fy{f;*haSmA22>%zhXulqHhn`5FG6F{F~m5mF>vq zk0BgMS27<eQp*h7Ik6xF@yje8Dy}PHR2v>z!bz2~RnDn05J{;@mJwp|ris4Cby@FF z){G`1(^rK16J&p?6#gM?gQ|;Z(-t%|9Q*k%QO`p{I5$H=+jcF(v@|4w9P?*0%P~O| zmWvg93!3>PZ07+wo;?Aj3)1=h7$1qCK1k6|^(I2<IvrDYG)T^?W~ZdZ3vP3ctS=v& zNECvPEplGtqCx4IiVFv7z)et*&X@e~17jH(FUau3gU(37kTe(`dq(r~^cC+Fd^@h) zi_q4>&na*Amve+>*Lr8a;(i2$9yC;Q2~qaCtn`v?fve`!KTfNj|8o|=O0ll3pfR_z zH_hgDK<$tVRPnh9YjhB$&rmnk`V*7cX$H^kSrc(-rpxPFC>W@^eD;J?)0(8k!Gsf@ zKw1?vvHV0FsasuLL)>dJAZ)JnLogjT_eQs>UMu<#sMifEiQ_pH$bs5iDGozy*%Dx} zKlL*dL-6hg@qW(+bk9uF*4TSb_WI|Cu+Kj&7gbuVa5Is4VU#2X8Hvx!%Z<h>w3_*e zfN=Ypm^%6+hloaZz@e|s_L42dja_eeaBTFzhStEZvqM&%w8-OUip(K^1i@s6t<AzO zF%evIi^7mx)>Sz+OJjZpP4N+MS|gswG|jyD#4>^q{D<3?D8z8e{!lr?-oDLCalA;u z>gmPtuIoxxQr}kq#DresYX1E#boLZ5$e9(csa0D7eBNz3e8%hswcuyq6$7vtgQQ{u zUf*G;`9ap5+R76<gn<O5_?;T`r(3^t8@%<(4}i;*8vJA?e58Jj%MQ<-VmUemi<zbH z#r$HO%biv2(+z2d=lz<8%~7q%TyoOPL5h*~+34T3bbHsehS?z|&r6A<t|vNE8gUQ6 z-*4FjWA(gUCf|@skBdi6p748o57eOQb0zLhRTAs!JE@YtWBx!DO;aj$$)+>VT$o4I zwPh?+o3g!Fg8g^}Ip~6e99q%+EDsMEIQR31a-BK4^T5Ezt0s50=)FDmq~uvOT?I!4 z#BmM|2t52tE>1Kn8!8MK6gUXxK0X>;B<P7|?hG5Q;`T?X7O{|%g~bhC-p|0l35LgF zHkhGkKXvhzlu&i%pw#z8>~2feS4^%k!gU(NE!aKfj%d8SHCwX-zdq|o&IkaT;dR{) zO=Z)%UC<$T2J#<~xN}9QnsbubV0UTiUfJ!8;9=3t(rGt^ucwfM!#enblrhRpNP%K6 zfF0i>-ZpCf`g^fQEHt2+sOk}c_sqyuf`t?VL8ZZkK_`i+*lJJqw?<{2#W)__VnwdU zj^voZuf3X(*>Ent^!|!Z{HduF1w{!9Eo^7I#@lG<_U`=6+dKCC16y{yI#_Y(xhNuC z**TL^4ijgD7`WdpdNnkpM78mBI$x6pBj9+6-AHVz0VAIyP-Ldf#pD4~Ls{eN*unkA zB#<D3hWG2EQ*umehRgF$N`hN;o@cr5;nWVja!jC8%IbqVfzWlEJ<vxNUGJwi?eQsD zWk0i^lgC#%6&%L-xz9}$60OKTNHp(9HtT{tBH(|8$^k9hE&Ur3ks!v`OZA80zZR|% z)+$p6`EDa<5uGmy36yd)k3hHZNnbIi1{K6r1ueD1BYwSuuSG00VWAM7_VKY`{~$3V zJ(8L{pHl6_8lKqu$4}dKk$YJ5KkUAOA3t|Ks@0jiH8y764S<JvdQHhiDI85=*~yDc z@t#$1A`r}o5eo(TfXelGM{*RA01l=eHQLRy%-HX|jd1GP-4SYE2c*H)Si$Y`;_RZ9 zqLAGfLR_c)REBD7RRr)sT}YtF`YHwR-3L4B{gRX__}7w#tE4~RqvXNgf7`4Fuv+Ow z$j^<Hu%e~$Mb-5juH{5~>b%&l2W(+1ZJ@Qqk@o8^KVemLq~u5!aHuK63xhkJQ}$&< z9ATF(ABuzhvxP^z__*a#^tVAt!PZ;#03V?c!;5*gN#z<34&A{h(o!+#0KpB#rddSD zK<<o*B-DsiQZeqo;nZ&5hEaS{coKncnF)|&lRg;&+=tM$4Y!Q==knJSQ2qee7jF2h zu$ovM)tk4wPw=?0vJT_31SAYZKAtr!a$ikL9XX!Vc)o|CMYo<Jb1{SzD>W4vXI_9r zb*#eC%+P(*T=87qB;|o;r)|dV;l__}JJE^=Ky8@5vfwA&UcYo$L`G<G7(tb9xQBAo znKsB9{be;pfZlMY&XkNTdhPb-%T&iuc*?W`dsXBHon_bJa%J3*&-{I*p=Y>79&6W= zte-HK3m%!}7GPVXxK}bnT->+W!vM6mO}ZE`kYL<j89$)z*@40EHEhdHbIWQ=^aT;| zCX2g<a@fk-=4hr6NCKU+_qR3I$IWHSBd2aqd9N!OmFsKsva;>Ho!Eo?72D#;nxQi% zjmng`ACSqNMhZh7CahLk){v;ht+kc$>l^?B8GTdf7rLAZMTq%`l3_EDIwo*=-0svX zICdj<JCs=S?KgczieP3hQ)jmw_b@R}!Zg>q^nD*veqZPF*%Ym<0zzNT@t+zeLd#4K z{YD2$tq#v7t8tx&0qlP3CPw4EblU{3ZxHKN$M+*!wXLd@a!H%z)zsy-`rW*Lei>hW zWA(VB$Tw3WX+KWt^Y6;_|BHwprldgGrY{82>3*jLtTVUsAOa8<?9(enLE-f2lvt|g zab?B(E;=u<op8So<L9BRUy7e?7s2(~=kS*J?<K-EZqo?E89!Rh&qYb@z?66Gktt*% z^40t89Ln<Y?_OO_M<d^B1K9ZZC*RvISVET&$3kx@&HdsY@+sZFMj7)DP^C^5481Eq ztDmnkh-@9czl3^E@`R4r`F$^|+J7ytE*kw)^Fi~q&-c{3_d7rd>=8pY#DRKM<VXG0 zE4lRhCm@qh4lXtCgGF%^sRtslRa;yb){uB0LT6=`A~0VrdZ3-~xnht4p+M{9&zE^I zKM7I}gk(!%@NS9@pMbsdz^ac0hzy-v(W2@8V;FfzTQnuE1YAQ`+R7E=?4Atht!7`* zNt{lL7yLOa%$kd7DXp7+batyHQGm*M&K?gwK;BPDwXCZrZk4&ed*^Y)X|r;-2&ANl zS>`|hH1Y1SS$5%?AE?{R>=IC9fm9q^b<r91KvMGH<-q5fG3pJnW+KqDdwXp=-!88# zJoqdH`s=CV{(D(j-a)(+*vdkRAErkm6b|e$7txs}xJ;^x23eQ?KmLcE5$34-KIx9r zzsY|tFt7+SnFX#J($|xCT2(YpquUtuc)vEpH7OKJPwL+TJkFFHBWbx3ahqHuo=tT! zxNT=Ds)p`BS=0J<=>3M-=+)j0&z&Yzh6kO%V63gX6;Qb@OH1dlu(oBTyV=K+j<n^n zeX}YAy|sHs1}6o{Ng1Lipotz5tF`LwNJm;)YT78zCqF-YZ}_*C(hS$I)4%}lkFM-7 z=dm8(<Y2!Nb88>821%FE(;D6>a9z&NDkUZ)50SdA4a8kfF8;{Y2X=Gny&&<>cSeTq zwcR`oP*Weuv?7%w62PqV>0EeG86B436U{t6C-Zi0=!K~nfQ$Ub5<n(Nj^30fO~;ne zE%?5$5QZYIRDz>PXoLUL05fCS85BE3iED-RdgHgu2c$UOg1a{jZD}P~a1fdo)xIqE z)xHC`*h8qX{GvUN2gkC{L<TreI8cF;ypiW-V+Ma8E)lqI)!>BQGtM`>lV2G-Q@key z@qdX9E`Vb+on<xL3jDb^DxR}i?jN?SB4wc;ov@WLj{TT{gp&bAlLECu*OS1$0A%zR z<}-^n`fv-0NUX~{NNnYHV^}e!mY|xZjdfG(pDU%;{?HD0#o4UyZ_kf+1K2DXiZO4K zzJJVSC;+m8g#;_u-P?+a9m@O>gbUXY<pb!Ii*d)vc%XCxYH@h~T-<o_zwas-VV7v> zid(s|N~>&_&>$CcGKZ~Nbg{lWQjgE<cP;py5z`m4q^pviv{XkeC2;o#={|L9;815V zXcqyuH-S34z-~+QDg+sNv)n9eYXu<H6GGQ|`EfLJ_<tK57U(AL<&r$@VXXyTSiafp zc~V6|7Yqh!s^^TU|8lI4kj<YecHSa2TWNK*(+44?>&dXu^~zbD=>P|0aQxGF`r}i} z!J&IUYE<)Iy7V$DBl%fgd>C|u&;~(y%YLg|z*$0*$S9cZ$7>t?-l6Vg;7sEYUDK9O zvQu7tFrTPodh2;^ziSj*vmt@Kq?-_wS|lT@M`Y%E1)DAOKq54jAwz?*x!Ls^{mR%X zt#k3F_eEkMI6PV|$05H#E{mQ>Wm#;<f69p6P35$Twdli-5J$zveMq$h7HzRCHs@N| znaYO(1L5lGa;R==R*A=XFp97-0`u9L5K(4gd~eG0Y-`H10+oN3odqF(Pu(Z*i{sX< zrC}eLohK<{Ppc4)pD-IlTE+9wh5<)(n0U~?q?O6@Q^_g_ccz#cICId>{wq3sX5)(a z`Jhk7#&8^(*zRd8m5-o|dfM9ZQ2F5@`uAdAzLbc%EBBTN;IPa%kWPS$2+jQz*;09M zz-zz7E~)n0Ifs00zvul2^n`vpgw?r=c(7sH&ux%b@F!JdWffk>41yikibyTbHo?f@ z4A<|_u%&jlLwv-T3g*ZyuZD-T%sVbXdu_MNfF}|S61oNnSeBf?2-B4NXM13{IdBM7 zNeq&rXhm0I4iM|t`#c9zp4;M*x~`dPd&5MgA)<2_Sj)PSH)YEZE#MWxsBl{2?3H&$ zeTq#*CO@kq-BSOJGbw%p!yd#>g&|5OjD@$C1tMaFYhT2ptFyg7L?jje%deu#dJ#w4 zw&-^xe967#2A5>COu+1QhR?BL;3iOqCq`)jpAB->*W@#zY-%cAz{&rBh)Du&bTXK1 zO5W!<efmmrH2@0|YRqD!oo)|?PXwNy%rp5`bYo5+#h5xj%1;*Gjq+bkTc8pj)}3F* z#epFc!(C_l=h^0d0|$)o1>ZRh(E-VnYm|07&>LLnQo@reUaIeifZqPW!aTg?pzer; z*)Bpg^wCSjCqYwgeBAC2x38cHy}I4*PV9<q#0jMgA+O!j^ZE5$$>(-%donZMr_u@M zB|UWw?qeReTiFy3q7)J7-;FLEy+K9VmdizbCe~}-6Ywq?1Z@9uOPRHAcoPS3T=bw4 zgt^+}EC^d;1A-@YG&nnII<SmKn>N026YRzkn7h)}Vi&re{vMev{<xW!$D%HQ(<p;W zGKQ`PAp{`12C93PCv$H+zgK`ESaxVC`W_1P@WP9eNq%%^vU``<c$&YptMa&*wn=)< z67uxl`$#eBkthfp64vJblsSy!sqi_^U|!<Had~m)+qTEYo;L@sqf^fSYO_r)f+#nx z;Vyp@qFhF83h$%Y+M|ePTvcK_2AV!*SYU~6Mu(eRI<&4@*M9z~^5}z7xw<}O6eHWs z>3Ru1@p*N7?uBP@Z5&mta0qH^bv9XOA<^;q<<eS4S1T#|s?eB(UCs^$?C}8qO&*(T zU5q6&FcNGsI$WM+!gnTWcWIa(89w>u%F%e)XsdLYC*hJzin{I82K4D|?ptBxA8l>s z#|hqoLuFOCQPb{(#fn?QTTGOzKzbrTRv$ni^1wnV&VdG@7WfVTEyh<~^uw`Cz&TS` zEzPWPF`08;aA^me+%_~FliMS)y)+JpSD!Yyc$gy=AAX>xsM*X7Jz=EeRm1FcJm{Wt z%=Kb0b`JEH66=v!h|$Pm*Ste|c}8a5v$Oo%DjxK4zE9g9feJXl68!?0R*$Pu{`+_5 zYVFvAU!l(5!I3(!Sb3Lp;~73$VGJ1MRwr5>NM1rgEF2{0KE|$$d*JhFMy3698K66F zd32zhY;?k#DFho9zrE}LP8F9;0MG*CDoHj@;1r^MSSn<Z=tup8KdyPpTjD_G0a$b( zr6Q~&q_|v8C<(-XK9WmrT5n_xD3ys}%6SlbvzyZN7eT_GFb?Q}5_`R~MDY*75rbwo zhz#6O=Y@(c)R)&JYhlx?`+RquXA%2w;4nva-8?QRqP>Rb6!TM~fjeaKm)iZ#U$}_~ zo;|4=#8PZZC&ktqUYz6?Q*G$AsE{6+q-Nnu&kKe>WgIXqa;|MbJ^S0bx@mXjM%HT7 zW@D$4)WF%l_+6=m<pZMyKV?j5I#Qq@G)G3%SXKat&gO(KY|kV!HMw+!i#+SPk@oDH zVgcl_Rwx~W6C$E00!pdxZQ@FM=g>-8oZay7@~o7T3l|`yjf@GW)kH~e_%=ILh21O= zU(Eq!{*l-8KZLP8F3IqlQyacY0`uqiV<+|D*vu=KRRIhlA*`y$Ic;Jzu>?m)T>IO3 zFRvlO8{WS(4tHydX9*NwA4Qpc;Nh+o2|B71M13M8bVy_aQ0s4TS+<!$HX%8=XbVh1 z)q0^1#@tUxZRIhzACkH9M<jbIYcQ)`UYxJ;kZ7wNF_FiTuJ(=e?|{g4KToONI<r1^ zrh!%UbR(O#Xkya|<ENuy$G2pCw1a8P^+v|2xgdHGZ1UkF_~h{*+@_wZ`$`VdPAKL; zKSPBPhk*}E_U1IMtGa=cV(=~I*T)GnX?jzGxN%wvmLTV^eX@#0;K@^2b@g%!>h9oM zv6H>%Lw)bgfkx*MrAQ(4f>}a9AB8R!!o0H`$+KTt%uJBxzn1j)_ph|HTwNQ&b1GHA zes^iC4*V3C4<rXAFpv#}PpBhxCB7)I@>E24T{EDDjH7Yd`>BzTme$(mok*qdZKgnm z^9u#p^n{p_$2FP+zc>rB>WGfhwo5xgV_W^<uXB657w-koV8$lr2DXs;<Be>iERTpq zC8132>SXdF`5tAdas{|2FAOF<`APEF`ZkPb>vz60JJAEut|!VOh4jICb3Pm6&y@;< zK3u@vZ@R&em2(7EBz83%;)ID76MMutuQb%{@wDX0l1I2@YTNjqquby_0W++_`SyBP z=cI}z?~dnI?Ik+8-Fe-eduJQxy&D{k)Ou?0@%nOcarSizm>pAk{HP9%KvZso`a4=_ zuq_jOlC{8I*&jvd+P^$8!3e_iZ{X<Tof2>TLFLOS;!iV?=2lyf5$<uoao5qG1&$b! z6}CQZf1DT8qPT3pe9;N6?^DtoKHHtOKzIwTx9p+;Pe5>4?YrgFcFHJsm-ExMQ|6mG z79o`74Z1$~m?z#ozd<l^=qMg2VsM2siHJ}$nnAx7^IJ%YK>Zxj2fnQ1{1aU=MDU<h zhlR8z5r13}xPMhbdtTDb>Y!Tv?kuX;1_ii9fKm3feeH|H*i<CbASUtT3bt;4l5N*s zzlI(u5B1Pltub=RN_(or`x{r^+YNQ)HR!{pUWz^a4KEHrSf`$W)Z?v(fTf3dY`918 zuxn5A0yW_Vw`_?XD?Mdf3``C7i^z4|<Ffce{d?{+MzpI6QbpV3>K2>Jw_Y?hkB=@c za+Nh~TqRH&&Up^(7Nm$j18$WP2F9<gy2%qpnL9tF^H%uK(SefVsybk|=YMFg9LMky zQ%wd0R{Oo7=d8R<Idk6-Lg!BeJ7$HBIOcrE^|}NC8bbKcLO5~#C_q|gHb;6ST@Xsu zg!^t%H}bCY(Qx<tb^GB3{Z0Uy-dWR@7xtT&B>*0afeh%7vvAo$Vr{xIb0*DPwXX23 zwK_AHh&`j?7xe(AsPD|-WKkIw2bgRf8|fRl{r%Zu1Rq>s?dBOBJWhX7!TnD|_QQZf zrxJ+in@(jp(jI(Ca>N0k?gvQNI;kd9pyv;}?iT2)eB5TC0PL5E41x5|i~5s8uB$y= z_iM?~*ZWJlNiVX|KYzBnjj<TtoQ%9BQm^PLI)&Yf=D>0?)(E<IRs`>d)EGH(=aeE@ zaOup}QILHA?OPN&6VFTdn-_4{SLHX`rvqkLw*VA?kg?rQJ-VH<`+m)CwK#4rIaUmm zv-AS3PLJ<1KK3VV@r=b$)qE+oodmh>GwS)3qJU^_P*u#W$qP_jcLQ%)v~-o3CKW(# zjSg74?;G<K9+54f3wV<KUQwg1N(dA_dX4T7i75@fP>Bev+{mzg8f<f?U5jOVD$191 zw4z_ZrS&^jwcN1OEOYVpo|`xC!uQk6r{6TYP$oPUcyW0o>xsGJ91kYV0LzB?U_V`p z#hVv;-2oo*AgesHHcyQP$9Rx3`IqUPm0~teV$|8%DI;wwFj9N?yA_SUmAOKi&*sKf zF*_OPQ^MGYl@|(j5$b7hL3~ohZTcN>z$pd?;uQpai<r*idi^o3K{i-p(1>C?O0~$} zU>1E13AJ7Bncbc_%k$C52^6XOn7T6L0K4><H1uMkFqySbiMZ2aA6L}hZ*6bH#q0LA z{U%iC*KTQX%ENA=6W=Zhpn({RV6}9&R?Y235O92;C@6IDNeas=97PgVdj5=VCGFWA zax7$fhQsu+E6kpe_1E4SqyxR*5s4^jO>`_7=QYM&dxU>Fkgc3%n`9yTQqW!(6NJpy zjKla=(ILAxb!}x~^gu6<Y}*oyIa{2#RE`b3=0X3e#0wj$O31-CkA=;4dYDhE-;#i? z=aZThN^IjQ!y@t8u%YxZYp4b1YT3O$xWJ1?r`hxM8s+A^ME1g1($zC=US+;Svh;7Q zCOZ4%=lTZqX4*y{SpqnTc2~#MAGIc7x{kU!+k-Cl?s%wIig-Xn!_3v4#r$?G^~LN^ z`ENud&vT*@hM>#P!djJR&xQ5(l^D%$@IdOJE|qfE9t}I+?05smE8vQ*8FsXWoY_&x zSH8I5!f`Q%1XA}!t!$nL8Vp#ql}9vxxQ@4{O+2<eV9Uq^!)?jBgRg{qS7(5Y+~`oa zwl@$Ia^<kj{cM$$&Fp{D>CJN<$>g;Bc(&ZS^0N=O)7feT6~4mJuPn0Cj|}yrZ6xcW ziII0`Nq8G80*+Emep7cKC~xu8#xj^0tR`y}xCm|AdS7Zg=Wh9ZefEBynt9q$szE^t zD}w=x(s6HN71hHTL&z6PnEc1y-G`CZWg9OGWhkbNaHU3p*?>1?9hFcV8-^mcYW}X1 zZ|{DHr!6501T>-X@U30%-qK|<gUxgDWbEv<qx$$sPv4#FH}3lz?8}v?HW$L}m<t~| zvfv;0Wc{;q^$NQwYN4Z4Ii_2E$Nh)X%OTIZt5GrHcwJ$}^xFp}-=okvGtalO@{HS2 z{ikk*rjitH`;uZ#kB92n$18Dle(pK8B_kLx3KSR!Fh21t6(g@H!8fZi-^2xj7G%%q z$F#5XmOq#TsV5H3&-e4*_k(pFp9pN8eLcTwW2q^oZa>(1j~=L3-&JkADi&2wVxD_f z%TX!0%$f-r-GU<zo79O3jH4<rrZ=3l9=~kIiG97Fj!ko3HWzHLN(C3ZLJjxNeD0nw ze0QzclrIY?S<ww5yD=1}v4DdBBM;BW;JmlE&^aZFQz>2#w&>94Y+4NG$yaT{F5nnd zt?GZ-GKXHB9&XUz>CFDj7wzhu48Gn$S!jf8Jj*uewyn{1bz+iiuHU3MP$0A4c_6T# z>6#@IN<bEm;F-lI+S;^Om#n+*AIa2sbX2Usvkf!!cHEWbax*O^&>$?YS>53n0D>zS z#N|YSf>Y|GQ`K|M-h!pYF`;r!Heh;oVPt%(c_g>I8q6PDM8iBHuCHwTRF(F`XY}g$ zaumt$NX~|IAn-m>9~kPPE+z{s!QXXH0oMV{EMOu=c)UoD&oyyUH_3UB;V93yk5ihL zmz%Z!E8lyKH}>`Afavuy*4bwDJ0P5Rw@39kZ->c4JuLFG<%I-Jf2f^LQHlPa&v#VN z@aH5J??q2Lkd8Wa9}U*_MM<E1vAnZrDSGg^!sC4QjP&^Hr_w*4-pQ4gY&@`R0}pJr zl=KZwX9*qz72nMU$BF)GA@a0XE&PQhx_J4b;l5Q?USFX}+EqVyvlGMi`mm!Qbf;;w zKe=I)Prf!juGjwNF{$U0y65{=r)HS@DtJR0DRhnN?6{9`dviyS)e=vf*(1b1`p{zQ z;qmdXqSQCSBq%T^>?&nZ*Ia`S^bBvGDjyXFpzB+t>hPnlWp=y})ObWhXXphh7t3W4 zb_5BYGx{^A-8Q>gE|0y8h>=>tX5UyWLK;I8q^UmkOEreOR|Z?ZVr$8aq3w*fdetFv zrSpa|wNr4Qp`nPtKB!cR(Bx_>6yLWSG{5!QV@Hn3{b&%s!>JEZecip-ir0E3H<b5Q z=zTWezDxhJ$)2*3y;I!y)FNS<E@gaJ9)5U#QgwJnje~uMN|{}WY1<GggftKWgbS|> zq(w%9*unm8#q~Lyg2p-cWsMK)V@;pBX!602KT?V|Z2?r&^el6obR+yR4>XZN-5o+Z z`?i-;=iD#(8Bbrzs1Z+JLQ=%Z498v`2gkC{hnak}d|jJ3<dQVq7j^YI?)6-~Zp&u` z1XLs>2AQ;tw|k(|-7b27mj$MSQK<No<~ntQWuE5^+cA6<&95#D^y<U(G|aap`57<7 z?}igR2M|)_x;;h7npej(4RlOGc%=ah`UiW78p1xGF<K~|cz@~qC-22%W0P+@=DCTJ zRZt_tz2as=GsxKV?w_I*PtTI)^H&X3EJD<ycCqbO&A4BxTb{d`_u4)^+QvNKE549% zB!=49^o6}_Z_{8NH}41oB=AI?^~-bw%`)lJW$(O(=S6~?u!vS_>8g&DrYrv8+nd zefcl5#d4TPvAW0dzFqqodeaxHj+}zGKceN5weJt}m({DGZm;)Kou7_OGu-lyh6syu ztZ<4kVxTxXhbuSoOA-RmYLDEE8>7B*;(<@ckqEosi}*o+`3oCJn_qa+a?lYH6ECTx z{n_K8{Sv6Cxf1DfqitRJUOb5>QB>}fAxllisj6~$<_5P?{Od<zXMa5L!Nj@akgwgj zlIDwu;!{`Dn&;s@C&CD@q~@3360w-}>#`wr)46os`_Vc1FN30$1WfwSmE87c<ZfM^ zC9o;c=%^IcIFOT8{{GKd0PD2hrK&%bGD^I9A@+8L=n47Mk5X77EG;lJG`jNZtANPQ z1|>5Q5qY_+XF6Rf8yhSeI-kmtFzMO5t|EXh#<S+iDjH^E0g(HdzMUhXgr--9p|tpX zcZ6M%{!PO35GoQGuCSiO_^{C;Tc{hRPx+47E&j*vv=QH+T;Tt+9>c?bXU{}}ix3yw zD8wWEqFk)cRIG?;zpQi!QkRdaye_2ge>)|b+eF5D5vl1=xN{ybJ#9Rw(~Y3#J|*Tp zb6mYwwdvrNMbvU5D)vg1dH#Sc3#GI3$G+fFXK}lIN*=cWD0X&~$<pJ9l7U{sLbpM7 zwCu~mC#^i|Q|;9C#XD0OOl<m3Od87SRA0V+`l3lwog+-fq(qkbW7Kqy6*u+G=O~Nl z=*-4DGt*;bxuC60|JqIB%NM$0#V;JzX&sZ?VyEk#<(UFHud6MxLotXQydi0q*V6am zrJA8{^Z40qZ!L$MOuorV^eF#H(2yvfbmRIG2iC?pAK|vpTQ`Zyd+E}Zvs-h8w6%(U zpR&xd<<g>uR;tD2li0pdp7N3?biv8#>?nv~hK;@SXSVaX!-tcdyF)=TK3TF<H5T)P z2${sj6@2pK(Iaci*%tf!359egE{-D`n}yk#yy|>0eNRscW)IK&iPNPDD=PAMY3Tx$ z1b6p%VOlyBW$m(GwJM)Y3KLpezt1hwXETfVT%t%Wg4rsHuv{y}c21b)f4f;EXUd*w zEuo_L-^`R$$*s@}ra~klMWagBEt+CCK}v{QwE^{L!gluPh4Aefzr-^`#Oit9bH*i{ z(cUY^O~a^sA&Yr(Q_FZee0NwG@Op=!Ivc&r-sy%PCMI%5B###-%ca3WZ14<aZxTq0 z)h8^}?nw3T@js9v|FwdXnuO*Lurv-PMZqq9{`}hI{pY87Q;qMgT^`sp9+{>gxVj#d zacWkXzSnv19BuA=W|COx0_xg3I$171_JASen_}Xz>&W#o>6J>n(Sk<S=DAI=DO}ep zvwr$-#EqN|!^3?n7z9_3<&BpNW4&E3OdOXWn17@i67|EvdEGMey?(-%u1+~phoe=t zMGVT?-Q610BMS{PM%|bRHxp0Sys&HWD3I#u#ei<nuS9F_{qLRVN#mF5HE{K3YKl2- z?<RqR#W-o^gXZs6npl|S8!v=!FAPYn%(6>qt=|v#v0)IXYqe}%BzHgE?+wwG6aK}8 zT!;D}`oKNTPmr~`!pDDA^S>N?3e!Fyqm!Ie?Od~jSHP3spsVS|d(Z1RSL4x21s7It ziuNfSWutoP8f=D{bB{HdSUiOL8H4MzjHfa<zTZpixX|UWG1+`DG%aem+(U2+i<L>d z*9Z;fNtUVb@)XGLiEj1=U&tXQkl(#RQD6Z1!C=FsuDLB$9FwP}55cg4<x?2HrYAcN zUp*>=n|TbK(i3sLqQH!z?_GzFYMn0H87D2AS}cl7W5@}$1aiiDTKU;<7;s7Qb(@l% z+!eKt8NJU|3M)7rhM$r(9v(O_G$f9+^s|OBeTi?mVIb}()cO0HuxhtO1f5mqR@qWG zqclY!{;9#ffC5p-L2JiPm0#LIo!zy4PJ({M#Vw%eTuUB(0YB4v<qXjKFPg48s*Ubx zx6nchEl?=#?p`D~6b&xHt+=~uahKo{+}+(<T#GvtEAH;!zQ1$6|FY*K*}HSco|)&) zT2fFLU7KD0^huxPk?&l(V^uoe;sTdUnO2ZZ3l|m4wTOmDY~z>xQQ;UTh#Wjpy-+%G zRsF`vxVx4m{sp?s9Hw1|@=EiVfssq*H!02e+xj)evU7L_{(g^Nu|q{)6oZW9f7;lX zuadT}W^$jAKZsj8Qm1=vo{@wiE`&gaV}0@-69wLT&eAnY>5;zS4Sc0KEeKa96RO0& zV46SXt@@BFU@3ELt?Vt)$y4>P3yg<YkBUqkYI}{ct=jnA6_Hl_d?51D^-=plN|j%n z>God?#)rtSobBCx5_Z?G*r49$=T%{^Nc8`gN*W(!z%@baWXU{T)m^;@cClS#Igw80 z+~3>qQKfxuQE!n}My@sLrrMP;GWigRtL6M(P^Hp>hNbQK2ac3uhrXIe)s_Hft-@LB z(hLS5MM!vby%!^RdNH%|Vhs=FyTd=Z|AK*Sw<nSNIDEMNGO>4Re5{->E5`dr40Cec z*2EO=!_g-;bDLM!%EtjoJFgdA69R#mI;0~}|2H3jtT{6h#)(@owPaL3vKKo^S|%-C zRL-QquN5T#>ZqM^c-YC`G1@kQ5|$H%O7_1<(|&ZfzmNlq_~nay42lciRAeX-RVv9x zcOTxSO;%x&4@v;LgAs^X&s=C+t6M7TCgnNqI<9>f&@n;ASh%~&0lPQL6h(S9AT558 z`cNC^kVqzo9Nd`A%*GezwX%iLp885yJsgIUySVu78I3Bj{?Quj^0=7fwk4gM)nPXI zZW>#|jt9~A=X+Dp+?|T*2YV&~f{)?!c|??_4@}e8r*TDJK76X(BxQQmn&TU?&)O;X z&B-<@HpN^RdiNIn!@FQgbI|7p>!~VIqVxjmxhh3XWj;-V$#ajdQZ$K0+*pY4A~`}L z!d`lvq6|!f5e33zonwn+l58~!xHugStwvWvpOMlld!SIC4A72raa<9P+)GKK6184M zg2(;A4n9Uqcn|LTMyi4-Q9ZVPz!G$0urX6hW?lmJRsL8e25x7Y;h<r5%$YeS8?Zw_ zU%s`;fg1qoepR&YZKNDXL#pp00mb{Bk>_>+Sx?PhCmuZaZB)K1Egv6U3KA4IR~6>k z`5fLGH{)yAtDfS_)=SpqF#Of+(b6v3LY=wB$gE!2T2uVZuCz4SZButK#fMlS5*CW9 zVa>7$i;lVdI@K)ahw^#T4xjYvf#WSQrQ*aYIdFy7^j99C5<FUny-|)*=7n3rkTRXT zMJU!O2;}V$FqzWmRu8s>PLfrCuoTk^I<f~$o~ynn_r>)Oaq0S<Bgv@f`@_Y5O(|E% zm?2_RxR@<dshUz;?&w;u0__V^m-%TzWqk_PsjdY=i_hAZrRfMt7LM*#_VkQYV~9o| z+ztxepDc$hKsVEq3)PVlJ`=yYiads+kz-le^CqW>3S6VIBvy4Ny<1kITTqSbNR8>w z{$06<@2hh8QinTfpBYBqsn3YAuvmQj51JmaJs4F?StjbzUwb&0)hNE|rzwMfx!qII zu;@U4tKiW4+C@UEz+i`WjP)4k0s9)xwm*87=q>Af@SE`PuNJe{*;Y?xO3lj_z|g=U zBw1CnaFOY+X{CRh#13xl?BOVHAXc{NPdr#y8c~(Ci<k%P5>f0zAri*drFQQIhdyz# z99=~E;3uYVJ@pOfvDt8%`UJ3d%C*`KRN<qc9)DKknd>yQ-ETSb*fbPMakBb1RHptc zdc}SVq6Nbvn}74Gkh&G44dC($7#}0JG?#k}p)tV5x&EK}uCeN{>CPFp5HSyIVe-!% z;71xHNTs1ON8hShgp0&ursV&@xxctM3%Ym{6h}q(jn&0#iAaad{)#4?q@#4+qQhq1 zAfvMf2V9cBAAVHu=aZNT4W~3T3`sm8#j|aDd%KLI2fO0@^8}AnCYy#%DS@d!^Pn;r zHHL&F8yx|mUPdS}dBqS1k_<sPd6;&+_`+ebWbEt1X~{ebT8o)mSYwnToy-RQOy{T2 zm`oI=M<)uQ15+hX=7`{k^1OXd49$|y_n~egQD0`%mo!1&^nYp^R|4ZNRL;{O9wvUP zl4yVj*AE#Q*2tScZe^T4?sF?|G&Xh4g=7B;k}JRsmr*uq72){7<x`|cHo?$m;%<E! z(#hRmU7%alD{_X(fAXi4JSm_r&V;VE$-tAIO)YFOJP}`q78U-q2`MD?7@U!GP@|n1 z6n?~5BBYv?4`;NEPc5(EWvwKqT14H@qLy)qnOZZp741=rs|t9Q7<<RHyA{9U!K|)6 z!{qZdV!Ki5JVVqcuC7PR8{YJw(?tVJK0Db%1drts9C^jXN_Qr|oT8@qN8cW6Y>8{4 zi1FPS{1g`3VpA*}xc_<FWlBcVAfkzb3z*Hs;f23V#yMG|>abN`w6giB8*6*A2xXqt z7v3qF&^)4POwe4CN-zu-^}sm4MY*awwFT0toc)&aiA&1QJ0T@+K_DDBTIG^oK+u8W z4u)`BRSOQjf!>kG7x<(*X_jiM+%1`QMETGbfTP%hlOJbKva2GJ0iSABO4ae=4nG;w z4`H~+WRHpLm7pTT93X!3seHzhu8K~h`qw8NGk5)TlE=^$vt*ty=P*O9?zCp(?%}s8 zdiYT6_fJPKzbz<$X?vTQ-RDGMf`KLQfBLz-T|RYau9F!yaM^m*i#$z>bey-KNH-dW zU3{Hq^rN*XHkL)s&mM^&$KcGZ3zq1?M;tM_>-5+l8_;*QwVhto%SVYtQzNur9FZVY z;ktN)%6V@~3t{6azlA3x;#?G@WA!aAYJS8)`+A(N-sZIY5ObWFMF}04o|l-1y-X~x ztuG5-8*wr%lL@qH-4B7veUomrMM`4}=Fdhhhek|a9bFcuk&h4@S_VPKC&cG>JNZc5 zSHEFr_mWl!H*WuJ(T&iOF<-&7Qby*?KCMmw@;EKhnA*|1tuZx&N_68qyB^%o!DJkn zT^{NB!O<a&3g&1ZG5@P%PLx8s<AOh(_O|EGiD@NfgBD;1d*Wn&SN#b5+3=b41JAjK zO6+!NksL2)s{3%B-P3NvtK~iHQdsF=eG`B3j~*clmER+Z&jT~?L%!Cn>y~a0tu#t( z&#~4qw=S_GqH~?15z~)8<E0YZr;pIBF9Z%>*7-=lllRhZr<&t-ZKM9F2*$e?DLf-6 zrgs1Nvq+#Jw0^5RCm{PAS?oLdgZN|Lj-T~^ARcE2*rwTC`;5##`yUB)!wvB<FOG_4 z#14+jX1pj%e`N*nX9fn+)|Abalzy3gEuT3oQLkp2-RF^IBMb0*%j)ox?U7EgHA3vr z<hgQk+r~PaVpQ?S%h^`F{ng{sj8g*d!rDvr1YU<KJ)3k+81EGhzv{wXSH&%S!HwD$ z14M4Ika{RIyDX@4y!i57=y@Rjd2K<?wVTPg?>qFaIIHIP{G^d)*SD%U-Wd=`RY(i9 z#Isa(Rl2`{3Gv95+MmX-aMnq0dg6^HVw2yFGU{j_^V@v7g9I1twKlpd$>aY8ExX;h z^4U|S`e4C^TCmx71NHj|7MOk%eED!h<&x|ur#kMyPc*y1N=P(q9`93~Oom9~3}wAh zvuORrUzE*x7A*;0kcM`A1xYZHaaEc+_5Es`w&l3X`Fz2m7A6K}RQe}m%nMm?8NMr3 z<If(;8IFSdb*VU+KS7_Cb;l<&`k5~xR%5!Lm9wyh)htoQ`>mzlV!gh<3BoNN#SY=N zs9rNtcbw*OzbPz^HtdU|(V<FSRhl?Y{xs)Xo?paxfXVjPi33f_T>Fcd64f!bch|$m zIl+O+tZ?nx(5cGoI$Am(TV2ABvDXv!_v>OY&n;~!&R;E)E)FA_FOa>?UkFd7(HGo} z>e{^oV_u;W%z1gFY;@euS)lFjD$)1{xCp_Z{~%1;PZ$jQ8d#tUE(WGY%#uzmH7xNm z*CuA~tQsZe;13-+<&REu)6zzTRQQD8J#qaaC9;X0VL}E?JCmLE@&ODU{=(lCn$P0! zDFuVV!vy6k!ow<E0k@kI)=pWR>nwe3hOAe$M7!=ipVPd5HIvp1%hD+wf18z?wyiVa zvT%sP6d;#Rv?waIPeOl0(c2Jw<W5sPAN^ck9v1z4T7=Ujufok|!+Dq$bEJIB6ZvbQ z!QwKU#$OR#!i()0TD*5?aNjZMu8bvyJkKF7J_${gu=;|cg<ZH?(8!=q+!2Y1dQn49 zb}md|gwh&&_!@?NYH(`kGC+?pnD4$%l%(5-;hXDBn24eN)H7(NfALoM1A<FRHQvW} zE^oQaZpiUf2B+z^ARQ+&2gp<@CF-gt*1My-n<^<G^_~hLAq|#LMUo$a1#4An!ox>p zD(Ad|5vcFh=!Pl|q}Iw%022fBYjQ*2_(h*RrDDOr7;C`aNa8SZ$ymE&@-4VStHK9# zk8VQ4CSB9k@DR$1q_^AA)fOn#$pZ`liHvaal!~|HXj?N$ruznIV4vmwo<rN_#bg_H zUnCwtgLnSxn9o^Og~VrAEqBZH`KPDvuOizYCm$zkYI)-B6GUk}1614a^&)#mulk^? z7Ph?jnK5LPi5QKrbjd%HIE)t37R6~eVJQV_%Is0z6Dv0>t@}o6B8Gk4%XxXwU7LT4 z_<4isrpiV%)o1(+9?a9IpJ`S7n#6z*-7RMlM6}*8CsNS)BOFYtW^rY0`4n>PV^-C~ zAb@wJmAe|S#5ie_=R<o`HuL^~uzd6dtmit3`QZ~L24+gJNp-h(hX9~s*)B~M=URYG z>4jCLT4i#bBzb3X9<v3&nf`RabyiZ{htS-&ijb53i1(qt+Ka78CR6@;G9{kUXOg;i zNp)9_f@<lIA?srtKulMYg=bpo5bkCB_Z!F8ggMcqX07E-lR6pQ!DjE=&8xRmOxf)M z=$}HKISOjf-2Wy+|8j2~YFUV+%_|5-7`4B{wVTwuG)nN`P{6J|m>dKh{zVm?Oz=B7 z65XYao2=;`&#U5fsPfow(QQstBaRSV&wmD8U_e3L31XyEU)%=%i+=55OU4Y-jEtt` zPd$Co;&PdR)Xo-hH>8Ft{lqowD$Cgu^450gSky=QKMsh$-Q|tx&IFjv-+hIkKy0A3 zI=XxKAC9d0>Frb*BoS5`i6Z;1qw_z!=mtn35#kkjfA)f7bHK}&RsM#9xkx1K{D57? zU$yM^-Xfo%bY)j&K|}uBS!z)EL}3SoV^I*m7gY0_TfB33(MTa>_J!a9uuaj>b~Q=r zc4&<F7BlG9z{iEj_vzE6{O-M0ZuGo_FC872%0a|p{i_(aLAvdt424`~TdEVWqg-Tk z*M*SNdUlzr&B%m>IuXdxx{8UiddsQlVmOXQ*5<yW+>7RcFkzPcRy6vB!cjigV%}E( z&J$}R9{)r8dmxO4%q{1ygFC>KI>l>6QN%04)=5M%A91r4rcy1mb0(wG7*$G55FgBp zwnvpW4f}aS?~Bcmus>8+EYInQe`}OTj>LB6)!fl1PV+M}h^SA#<`!*%5ompk^&9h( zaK59iI*7j{_e?EVz~p=^iBduruzq54&s-)iQEyO&@Io{JXJhWtk=RL6B3ghk!~MPG zJB9dg*MaxMcGU|tc=F-*YuHrH_zTv+3*mhYs}L38;+~D0k93VkDG53r>Z?HMDNgbJ z!X4SYn9SO1gP>&}x<#Q?&CTa_&@+FzcQ_<Q3>t+goxA>>3A-a2$frcN*9OEn1W6m{ zs*!O?eP`kPa!fk}d=HJ4zdp2oETq4{z<=sRfLy?;<oxp2nwfhX__1j5wVz}Z_iz$z zrVR>oIWE?}5kCj?AN8B!eE4LmdN50F=>scFOo|T|6pY!Qp|_0QoWFX9dv`L=sZlk- zJX)`y!uO1e!B@46ek@>Ob%cz~Zz3+&7D;7(ec`GB-=AP{&7^WF(xE%M?J-t4f22vv zQ3}iL#|0m8c}2{JO*x>n{tVhB#Xip8#kOsW9g`Ll8%g$oQFi_N)0Mjqv3WtsNC(}n z=fYiSGoe#1e!|$Kiq$Hzt8g<LaQVlJm#0$8Pist*9;Q7s$B)n9q5bGIqu{Vr%e|Bk zt~;G7;joFF#}i%Sd8$#Rs6Y50P756xGKWHwmTi(xB@A3kd^!3?x%oHK3(fwVCUd5i zEaVK!#tJqsx6<ftf3hn_@~vM)>cFDIUyBG6(od<;&H9A(B$grB7MaeGUNX35ziltH zg1S-}9YrD+p|i0-rf-qYS0SBOA65f7(e(B)>cIboPruInUQYS=i7<4g9Ro?0b!{DQ z7o(NGXz_E}s#%>N4GV2_8Z2j_T!$ydwO2?}W$jSZ3LDnLZh9t2yfGIcbt@jNHQ*H- zz#KU~w3GYmCijBz{c$fpwN1=a^9^V}Dt&p!;pw-oBC98WR*N&hV>2`!O8g)^OhY~2 z%HN5dm6FXIm5~I4oLvOhYKvFspP9urV~Vpz0`Et8c)~?x1xQNghnPKnhoHW5;rK5; z=LU_*Tb<PsRUJT>*9B9o{Nj3MN~xVnlh_n47O2aFrVwWyVVD3UP)}DR+qciCmbE{0 z5-ZIwpJK<s1<E_T;<8W7Wg2)0dBms|x78@bT;to#h=V_yC&CXzD<|JYV=}6<*WB&J zK@(z=*ngBog)nRE<LY$k`{U6{*FOf&#&O$XN5uNwC#Mwk@?m)ChDaEaI;2MVR1TI4 zkF1NtyWV@b&>1&)9bF8HxGrWW68?I-E6#giRdZI6_2oL*?Lr<pMn9SR7%h#%mF!;B zaXvA$bN9zKSAZg2FRZ_omppxAEt+wc5<MX%$ADnRaBKNN@=fBLc%?SwEOddkG7{@L zsNieD5v*94ijc$i$R<KJ;smQTZQm;2(D4ed-a3*Ye0fgdOLpZy#(C<?Tpz}3_Pncx zJc03r#YsyQ4pvc4xZiOkLU5jZ=~s{biF1dJnLN}|t>E~s%W&rO?Sy8GEA{&+2R3`s zZ6WAk&hVJ>rr$z_X`IMqf}3jcu5)UckzEmo-Y=Yc)q~YSJASke?Vv3HW_Qn~5fI~p z7^aT}E7T}=IxO_I-f^Anx5`G~h9gWjA?zhIh@a{!kNbcC#f|5A?)VsB9$QpaBbOy@ z?b2#Nxhyqskf2D>GA%f*c>Z9pgO$ErwzOKc7{&RJdfi#o3pXpLykqoUTminhBWBSD zHKzSZk`L&;65T-(G9lVw@3_49m(IKXN<gRQ@Ht3jsL1CFyC{+)upY+B@+Mma4rbOG zN%209<gJlsq?0c%&XYq)AYZQqhnT6VNYXrY>CoSYRjft8j}g@E(`?3{6m%uOR5DJ6 zA1kVS`Ir-4qY`P_51o-Iv_PMYFU}wei&Tgt#`zKGYNa1zOv16{W1Ts>^H|8svqs3T zkUF6Scz9mLM81!PJBP8jE8en_gTu73PO)s#&hA3#@ep3A!~v&fxw;lGLNfWzh11Zd z@DvgOI6p#D7#ue4R@<Cgm2n}>StttaN4;;tvh7l_O9zgL34h1{U{77b29m46yF238 zYm&LmmOZoRV5(cp8O|WG6}TFvOQ=_G$yzR!w^8Uf+SV=`dhLIfrRrtUgNG(%$SV1P z2TGmFBblsE=8nV<pV}Ha%Vx-C<sds0_idy~bt94#xmRVEzBn8NPdo1w6ZEIvKF!*u zx*jB5u8kWetB4tH`f~|zrHA!`)f@>j%%WOrZ(YO{6JAc-u0%!1rir7pIa@iQp}Q%e zz-5fe50!*0x_px8{I5ykWM$QS;f)FXipeTHTE0Gh-5*Fk#C8*n2!;2Ta^u<OBRxAP zEl7l+mfp%*YF7;{TF9zot54<e5EQ~`$&g~x#aHzxx5CPo?CDlZW{Is`qVYTjILMg~ z8s)N3@p<1(aHHYex9fF0CqBfBPaL|y=&(!K87rTgzn2v`dvtkh8PwFsH1U1h+LpG$ zbRQkmC{<36?5n9bjpykoACQQ|ZTAr>w@Ol_Fi+HlD76|rsRj_M+vX@mB)ID~F>CJA zQ-QcnraH?8mD%?46DKSCj?-3gmLGhiQv)^!2R|y+q~O`h==4%o6?Kr>@TDwtBvlW! zOMXf~sUu<po|PJS)?zaHU1NTtd0JFYT091BZ+^~$Wab}r^{f|LeIG+;xul`^-vF&K z4<ChW%2_k9i6_qJ*ABb|?`%8uPDXj$3z)+uG&k~+9u>S^CahS#L&>-L<Veum4o4%( z$QuVZ@Ky`PG%OI}q2ZLqJ2FvX!$03>6iqN{j;a_5QhFHi=O_p9A=+N!5{4GHmuuDJ zw>GP8Q!)D3<lUBBx?><r*9x2%cTN8#;K=Pb)gj&=Rj!-^S!9q`hyl%{wjrQRxx|&A zRX$8xgR@v8Ao@G}qT<M9o#vPh?L*`T{~<?xm2<@O=Z?ged6V_Vxsdj4Q_fF?eAcp@ z0;-G!dgBqTO)b9da1zC52~3vPCGifCNX+{;#VDy2+AiRolEf;K@z?P|jqI6Q8OK;Q z!I~b*IgR{L)MMk^U(IU5Bxnn%PsCeZE8KNoQGNPN=;9*N15KJNl-%-6P!G?DoGrF3 z6K~p?kQ0idZg&x0<jQ9)D+CO;(~E_=U}YS`zkz9pWb%4eimZBJm>zs(mXfd&rP3MD z1Vb0w`YP39DJ*jKWpO&Xer3SQrNzfqVVwo`ag!Vk=N#y->Cf18ajrM^BhI!B;&3Q+ zS|pxoRmr_rPLU!cy@t@<;-|M~FMpv!fVk)61Ns*wn{>!3U9$yg88zve)vq+b*!ndq z;k;0+C)N(nb9QPEWkaNyWy%v><6KP*cyCKmeYvPs;+<$PVp=Ym8H2Nh&8b;F+6i9G znMEykt!6uodgY{`ET7!9!wkq8FE=YX*|=l((S!}xi>4PjgOp{DqLcBD1eF*I<ZVLI zqE0L>W=k&xoY#uhO&D#aH~;kvN+uLK$APIMkJ6w(`8yXVdazhD3)gAV5_8Exp5|Wa z&(rdshsBW-QT~P1QC4}@I0T^+&F6g2U~{i^h(kZvp-(hTwJ9p)gyh8F9%fbCa8y0O zKGGFD#mHLZ!<uGAOn&AE4xcF^zY9)4EpC$P@~zd3DR*#}gB;gUeL@OxT5)5E=`n=I zM{lxFWY`bn_TFc*j%!?aK(R90-nN>l5(j&vh=DF=OKt_O*NXJ=RGThKy=niS3t(;^ zG23b0;Hzi?1yh$g`1`LeU<v?*ZTCQkqP|LO6gG<Cc3B+W(Il%_4)Ue|;jKBB*aqh& z2}Y42LB$mMangZPGm<&zJ$h;Ww)8^2?^&AT%<#r8=flrrqiq@Gy)vrLSQQ9xej8#1 z303Kv82yXIdMJ*VwuZ~;eMUj52T@%yoMf3(`!?2c%KYk{7ceG6Om!RyEd(OUfC1-} zT!kK%Xa{j9^l}!Yr&*`!YGz;N{4%Dwu4>>1rY?5yCj+Xvtw13+0qCy->qR>js+{kV zr4v>9)iW#u*(0iuQ!UVa$$o$OX1B!I^+?mXIlSlalJc9>vTK?Dd_v&m3`ik$)*}j{ zUn(M&lTU|+a}%jty&B~YgM}dxl>NF+W1IwV&dJn4S2>ps^tO){On+?_-Bze3Wqo;T z6r~H4R|T8{qA)^uX=g0}ob5VdHh(}=Vbd@vU+x-4=J`1sYH%s?U<Npofyl_NXiuE1 z$CX_bRhvUn-=6o_&42xogU!T$X9WhrCwNG<Q9ElETm9KD1P?>$R*DySyblcN<r?#U z5ElOWAAWhYunV_<DEa)z!=rudYlCUA>p=Il3Y>rjEp()NJ@9fC@ToDHHZU(nHoEQm z%o41=Xb;fUa4P1q<?X<i=}6deJz44N!$@H$xgXz-1+21vzt*F^MXzjm3*|^K-WCQP zC~<<ZA%cU8ZS@lz_Y0C+ucoA%Kyyn=Jfd~D{O{hfeQMc`lV;Fvwks}T-Q*T8@NF6= z=g~Fn@XTiGnrB%Mwe$2Ee>XPu(udbInXRT8;FHC=HtLoG6vXHpKxs>hE8>Q{vV`?6 zQ&Uo&Tp9dMSAV7@<OMsPuZpBhhfJDgNGLESC3h5K!^IWfQU*=Z(C4<Ngrn0*m(Ue7 z^5JppOgekAO@F;_&>)&T0j<VyE05{x;7<PgE;4h^hi~hIc8%X69v`qN;@VEN#1kh; zr?le+iB686+o)-_*+xl!7FJ3{k|=e8AxTIc=l+ZE>sF}k`22T(*mosYECSe!yZ|7J z%L_I~f=FrPuCC*>$tIttH76N5YL86PTZXx;*2+OD^yCr~PE!sP2~Q?X!bK!X7XHiF z+;~5QMkI4p8<5j;om;?La@JMS;-za!nd*94`_Q3(G8Rj~5+lo{5k$wjr@e@q#Id82 zH61j{TYizDQ1N)!JISj{jy{q6V^q7GWho0Xq{CGkyK|E%HB@3$K1k&Wu7TvOf4nBy zLGj4&;Rk^Rik-@^=&zTgp;+dEwLSD6USkx728iWQI)RtCzyybgL@le_s=XV3RaXn= zB1mUwdvoYB4ra8X(UO8Z2yJ11`^wTjq``-4Mj7`UC@bJ_Y)f(LRp>2mlM<pRGBHw9 ze!2a}g7bEf;h4C+RBEZD6!F+zdK&~T$onOy``0>ltkwc!qViuVgs&^j*fMW&s%58r zSgCME4Egc-c5_B-(%)Bx@;Y$_q5u@msKb$5UJL}2Bi>0_QjZZT))&+;hIf9euc-<8 zJO*X)aB`<eXnkzd)=QbVs+mk-jZWQ4<?vg?NaYM}S0oaXl633hLA7x8!)8=4i1)F) zzSr7fP!-4}C$<$A5eaJnk8-T7AJhq_x7D|f@Vx%0IHmn28<Yp((JTofh0wF)?$;^i z(SK_d>57^X*6%U|>hF<sYZY^tc+X^wtAsREdWBkY<8SRP=0x9*s}-rKRvm?o&Z2x` zT(qKKAabYG%on^zl2)6V!(7!<{3Q^d${tpSEfH~*x|Jv930cG!xMHG)F2u!gbp9Kg znAjo9xv=>DP1Pox3{++HH@fKVo>4JBh=z^bQsipoHg)u=WHJTh<5b`}rgB8*s9iDn zoo7bsK3ocGxkk^Xtp4yDFC=m4#~<eH3<doa{VHfA6Cu&e0Ta-_{>v2yPUKYy%2VN1 z@~ipIza#Wlc1X(7F-u&{%(*EaZgyN@7Y?M;Y+hW%oeRKUmRvLF8Wr{<b82=sb>wB$ z++Bj&Q$r2s{;l2|FSw7>Ml}mb;1=L*xiX_NZDpFe|9wy7!5U72#@LKK{<j`}(U#}3 zNOUr4GOjQ|QnW;aV@I*~AM=ojMn@|4mf6ImW$xZYjBU8mNN6tAWnuODH<Xl~Umdyg zrB?5f)i9;{bvO?69M{vu1T&|0Jm>BzIieLd7&xLKpv~2*i-b>DCA-^Bp1SFt^)2%j zuaV_so@I7{ND_g2lKKmihCx(nmJU%q>0i?=<El#SgWG#P2M>feMd$eeHu^i0)7*D% zQ&To+-=*muY~@SOLAn8V-D;#$FsY|isgk(`d8j`}qL6U55Y^v>j-Q=HtTZMpCyQ_9 zG0QsRhKy}QoNmT0GNiFyeTmAUN{zJmUKqX63*XpLmBRs+@btixRy*59^6_=O(xi$X z&FB@b%dK&<y~)6uZH#n@R@tyYUddl{PV-s=8^_5h9y4%Y(XAGmPD)aMXO|?xydy8| z%^8<~qP=&Twqd-U6rHL`4N?fLYqQAoul3z-8|n&;IzdZ^3MT2D5{2V$4QqM50^j*N z6s5?LM?P1nR(P_&S0cp#r<aLN{b!kX-&$ABZOc^v^%Lb21`atTjug#n@o#(clx1Mu zJyD_sQqBguEyI;NnkE6<S!<OfhZVT!)nvne5^Z-w&<-j7?W^m{6$>IQqJk>^T0V5@ zeHoQYhrgqe+k~7Uzi-1V48(cquL0;}$)Qm;LGgZEWs8BMkdEMB|Jcc)7HE;4_*kDz z@7sgS@B0V#HA86Y)H|1QGA;BI;wDRG3DZ^qR!jD;4GUPsR85@iSqt)EgR2}G$?wp! z;D7IRDyOy)#?tb~l(wxn##Qos0(YelgQ)@22!CvO$e|g2i#QRE^jls7hcQ^fQ}Nm^ zyC{ZQH_Qi7S~qlRWsXz)b}VxcddclUBr#!nVac8;{#gSQbLbRB<vUld43vk*Rkyy* z4(m}r@J<cw&1@(hCz;*;BpMNhb|9`c4HHnDI>Uwl6iAx)y{xUiSuEXi=ZdaD0jSx5 zAf1FX;TUt4ynx#e{^EIn->R{6ou*wdgxop{27L$0;VEU@fm`sr84Xd|F3ibm7{}e% zn4$(-M}4ryP*%uy{@-t)c?-`Ij;D1ij|3B)c!XK3(OWmGY~qKfWm<EDn%a3o@Jl<= z+`@^jB{k~zoT^)SQ9hrS_={Hqc=+-scqkGVBvJzsL6WIK!m;nx5_~>ut`^K%FY(h9 z>4m*71&|pnl8oC(OiNMaybBd6GbKQ?7-^ADFZ<RijbBssQWWJH7%r@}BBXCRx%e9* zeRoX=byOA(pGMt|*cHz;q`>|jql$0<X5!;{=*;0@d)s_Td*a69uufKr53=`_<M~N` zo8y*X#DFQ?&p%{oHFc^fTRF9dFxEfh+K6XbhMU+Cela^xbILAU#ZiOfu3mR&eL+uw znVvUFW{gGKK$CCve)Fnx7iemi@jAQXNf~3M{zWb&cx@Dw(BDNT19X62Sg|XAIqO?1 zlUz+&-a^|9w@yP^tO4f2d%i|k)=TPZ2bV>+>nNOn+oxS3yzl`Dp2KvqfS=1r;vBq( zX}M-|lb77?KPXskGr4E#R$8{V`3goLc&qthZIMCX4(SSI6<WdqT1~C^`03qQZsWr* z8AQ{jj5OcGN`k<I*)wl}bIYv1GWq~sV^=@7H*+a1*fK$-^w$O*LD`g|QmO0G#4?}) zZE63hK;HG|Ri-VfvC5e}a~&WFFIif&7+oC3;zC={08D7$@vi4HG=6rQN5Bit*O_2? z;PdqnT${f(6P;Dpz5UCR+gIBC<CupSm_3>)(brjMBvnWSk%p_8bD}t^nHt6ZSI9WT zGG~gP&bwg(A%kds<G=Q(HE!*N3QbLw(j#3%7CLf%<P@xfKQt1BkSHS00JXo%HheUi zF*8QR;#J4woKJJ!vMv69Yu*2xk$72*;ybm6#rUvIQ1YwAg0R9MM7tc$uW9%nr;iu8 zU@Psxw)f_X*TIz;HQ(2`Qw^sZ(Mc#i(awWJ?w+JEZBc)NKoL`TCoyCB{O$p_m}Qgz zK+;jGsJm5wkBO86IAr@$0GXj)MI1SoMylo>Jf>!qiSF2RaEgW#ePtQ`{+}Taf8|Ks z;4qhJ%l8D3XwdI%+al_TO8svY^TFYY_1Ir=P^@NlOYgG&T6h=IT-k5ID*6}xSkYBS zxHb5l>I_xckOS-*uZK@JscbXs$e%C^#9$5FcrDu7)y~J?wI5lqwF$&TqP5TpHZvRt z2bqnCiMf6}3-)_ZtUcW`A9}Cz0NB^2AzHO%U}k=Y7IK2NgVH0kG-r_k#2kPlP%}>G z;K4!y{zu2DRRd%SiAr4(V$fh@4R64$?a%_>+L!WH4e;7Z)F__wOaMvdlx(<u6Z!Zh z_D8QIWaio7WbyzUbuw9~Fg0Y4*PYAH@R_9AQ=<iHtJmYZE+=MB!SizS?STG2X355A zsjT)TnwsF?>V)_}bmo9(Oz68INo;cXdZ{+W2to6!NTvp*wSxY(*{I<)GTTI0JyF%( zMZ3+!{*Av4^Pm}`d#Qmi8_*KQ1gg!Ef7=@{h7RVA0ZzuBotC@XY8kn%zyt%w#3lKX z=fox7g|9I&GuKOYWFP)ptLOKssY7s7<(yev{XMu{t6~~LzYHAng#SM9K=pDR14UMX zn9n3WVH6=ymvw6u<#3>rC9e~=<n7oU!HviCNgmUf```I9saZH=P+7B~sQz2E$S4LY zN`?_qgeR0wTBq8KT)9a#VPAV-YQ)+`icDiJO6Qm($wG`u;V>v}x}BN`Nz2r#ARg@m zF*~gt`SWy>hiNKC%#{D=YhuumzorA@8oAeK$*ns$2|mIZ;jp5w{o${*ncPH*BAU$+ z$z)gYY|?c6F6^$4J-vi0#`kjBI(WP%y(_L5Gc~y@f`<dg*>qln*nA{#;t_1*ACLOi zKQH%N#pId5A=Eh?3+N9jJaIia&5kSM%LuRiEGObu1z0#S$=8}W1N0spbVbYp^zwcm zkz|$h<KTb}A&Xmjm7Kv>+i_#3y#{eTK9B!VmsI<`wR3k&z!hZdTZ2;!eg6RFlEb@2 zshB`O($q6Q-?@bDwCYq&a-5$m8W?w)mSX%m(a`6L9TL4J)O*%Z(SEvj%>82J1kW4a ziuCd?!OY6+U-)C5Nh0yxt)v&slLng*UrbWGv_u%1&ki(+q97hX$^yaDv8a0wh7|#1 zh}#dm>rEm`P;|$Hl)ABV7{KznQZJY|aGUH9Pd066)(~G-HQgOjtLo;y?;liSE|BZw zp=|*8oHLRoaVne)Q^}4FwLAqJQkHYJb@gKp9KD8l0{B<U)nksbbgKHbBJmKA7!=qz zWg~GrQsn>Yh4_CM4^76H=J!5k08X!Hu5C7YxL?h0V<>?6tRze9nNPrtVZAdnEN5O_ zADg{0O+MobFy;B~dG+Z=?qyewYWCbO@BYvEXzI5acJD_3eAiLk<)5F-9XLe23|Xw# z%<Y$UsAag5(p>~oZ1;VMKIVcA?fo&$5IDTnB4(cB+MmxJpr67k;IQ2t=A%u#NElIO zDpAQ~lPZV{r@$O&3PQiwg2u&)TrhiNiL&`e!s^R?0M6ip(RFX0mTGb&3hwc_b$Y#O z{;PqF6fMU^RHAJp8)AR1g%`ndDoKHj`iJ7~GfLn=E!~8ZN4~WR$D?S3(A~buIJOV# zXW=hce`~lb(7PPb(%=q2>>S8(T)V0j(l287CeY)}s_IM*NjgvGy&KB9A5SD;OGhQ1 zc#O_92&|mFq=aP;e=G%h@bY-iQh6gBX=MxU78yBIGdCTdFA``Q0eV>12?+FT@025@ z86T-?Ucsh`5F`Z9U*){#P>_OQL>e76v3tq!H<~ro$5v!e^sq!mxI)QHrT-|Jv@E(x z8Vo<_3RL<gQ!Qwnl}g2(=`{3j(JX*a^*vR2f&6eHO~<6JpfwVDs$&5wo7?`IguXDQ zeg7uw=_CKM*JHrb*bq6_j<I|}6?0xTi9Aon>~y@UHY_fg%Y&1}<DvOvW6<yTA2rQz z4AT7TKO?LOD%M|IzS9mT)Blj7PUcF5rf^F$s>TIK>DbDLhDd*_ehDSPabe0q*v<fm z(4O4PeGP>3{SAa6^tayAgmsAbeTc!RQPy4;McOX5Dp!wrG3=ct05R5$SKI3x{^gwb z^qZ$kMr$j2QI^1n-s|;S3rmTC&4%Kim(ij9X=6_hE<W~_6p~mnQGtVqF@!B+D9Y&3 ziu*W;oO_N1;%dE$(0lueLGxEZ&s##ht>+i}C+G2@*bboYpc<K?m`<kz^!`+|3cRGv z%l1?X!jlfB=GML{=2^_mX^N4#d?58a-G;3byP{toR+HThf#xsI&m=Qozj=vd$Gumx zCU#r5%R?2F8U==SGFWUbe2a01MJG_u7tWIF2)*s&*Um&B%P&8Zv4m7n%3;|~M0ESE z&@qTjC6TMERxoN+L}FsJZ70aDp&{B2-m--7xa7=Pt<kJw8sFvh<N7n)mXAUs+Kp|_ zXrX&y_!2E~7Pe}8Fc<mx=9{5%>Lk?Azsfe)mEn@uqNKffv2eYSD<lyOy|rQ7af5j! zuwyiF5?;hL4Ft!4obTRuKRzWuzyG653kph7(=C|@{c_#xK$#hZ|GOA6f}u7af<I%x zg7YV#`#`xUz{PL4iuWA6+Ze=~2!V>ffJgQO#=1)bqr<C(zFWe~qA;NMreZ#1(ayb! zh*}R@a-Q1NNw*lJz3`H64K^KEs<SBO&_})~*@;M?uI$lglm~wK5aaKY)w6GTcK^Yx zqpaK`1wBJf+RcqjQL$vEQU_0K8Bxz2`zvux%{~D?UQZBmO>@iQpH}DhbSieV!82mN zmm#2fff8)1XZX&Q!urdMW*qUx05x8kj7D%Nn>s6kt!`h$Geu3X`q~B+dyA~A_I^lP z`@jd%m&C6mR0o`k<>X0Yy<fgFIoB8>?3jf_i~{2Mu}sXe?PymU^gBx=0KHwTPrGlx zRR2d#-}v|iF>1>0&OXTf0_EmLRi)&@ZbTC=DmXCkQ}E~I(VOGs^GnD6p^~qT{|Jm9 zuI8@x6g!H$B8$L90X9*IdO2JhBNb<hRCh)J4rbn7Tm>UqQpV@WD4H8awF17CgGvTw zf&AX~)E`Vi$~1w^F~AZ<WBd&BtJBnPpn-%ut$#&qQ|;&@Lwnw2SqDmuWKXkKTk$my z3iY5<Gcu-sA#aS0kC#wT5TjFbDUiZge?&<&HTie(c-mB=GL*<>Oh9xnAuBaxaIwvA zweFMJ7tzM*WTqn`lIwn0u^Nfj5H(jp|9AW9miJJtsy}bm;_SvHTZMMZ%d$)nr4zSe zv{s{Di&k9qNDTqMa}i?+G3f|XNDzEZCGdo5>q7~3?q&0{TdB!LJ-O=n%v?SbO&iDp z=Rm*mjv{UZJ$JwNz3wL67bDih+9UFxB?*a}-*KXj2yj@5*L0EMABE1o(h5ZS_2`q3 zlZU`y?IAu<azzEg0c;dhCcwDFuE~Z&i<dj{i_Tr(V1~nu)mP_(1fRe6G3|W(ZxB(} zjP5V$+V2ebgHb9Xfd3%rj{k^}hDMmt-yem2;<>s%?fT)vU7C25Pqtpy=d0tkOv3>i z{;T;M1XEA9JYMY=l)29LC8>YTzZY|0C7mdC%7fV~>z#TMckVD`IQ;EQXeasPKfG?? zNl1#v$h<-O1;gF7COa2G_yi-3a_+4Ocy}el3%gHocxOP3AsI9oChwQY{?`nLffzMF zt0ZIa%Gl(e!?gw9#zt6R2(`nZDx2$Rq5Z859iZ5~eFgEcu~J|#mb*Jbqt(8AG82UO zV1fxU>^~H*#p3RO{H9VnY~c6SOFAK!EtNg+<Ld+WAGWXSuARtKN)=kz{(z)x*WbKx zaJW*}*srdu>+R`Di@@GO(sR5!lSTM+_tDdn9*bd5Qd}HG&*z?3r>)XtA``n9Qg$Wy zqT}xFk(VN6kQ2~3mKd;)D58Hug~N$jSpL&qC$WwUh4Se|5!1>ornX%ew-Idu&%iyb zEMXu`pm`F53$~*q`k{_|{hCrn7<m=aizb3#T(im1z88jXlkjJb?$`EeSV-gPcO$-| zOaw-_895`(i;JtkpgxC(E1mJosLiK)GbZiOo&KoaU&x-)(u@KE(Qcm0TR^1I&&IB- z<ZNzU_`7Eo6%c^w=eHK~bn9P>r_^%s46pSG0p9n;9Xm?=`}F~lS;MQhvS^XAK$qn_ zhs8XTY=?*L&nZRZgt<<HfE+tYu_`VW({aVxy2})<D*g$<DuR5orFw=5zDs`TB-oE} zm`hNfxT-1>uZuP*_Z^v(RH{nJ=5Xj2zq`k>bqCozza)<Tj5krl=)xhT=54>TVyh`A z`7BYy)9F)hz}sfW@NaWyBYY=kl&*V$$nfW}Z$m^<zR(JRLqF82OEBPHXzg(h_}Laq zA`?swTZFI}Y$&2#RkF=K{gElwRXrA^)Dsaw2tirhKHK;ZO%V2Xri3@YfcDX4IMFdz zl~MlTszi9U)aLH7O|d2yd2I~^l>v@uR!{8<QmY!ER|duf->bOn0Ev2e6P76S;3|X% z`;KH!nuUf*ZH;Gq^|&ey4hdoFsrq|QOS@=fw7q#;p&dpHxYM<cdH4Grp)?M9L>hVl zNLj0LUNB-ZQ(rt38W0ubU}!Q9%aciW`B`gBSfVzOZoSM@=W*?>TD~__H<83V<(o{c zm`A|iK`21*p^o#{)isM}ol;=rA<{{-1+^C&-nW^7%!dW`FoHRZ0Um=zNj~SAJi(Lt z-x`|tNIy37->@3E<8TYHS%&VQ4RL4Zh17F>rIcJ?EV!dFF8NCA^V&`>&L<=%NA#b0 z4@8d~t>TXZcFcm)y}X=RC_8fT^2q4^4}g1RyHRy@Jc9UF9`HOF!7Yw4ajB`&ec?<5 z0tCVh7AHZ+uCEn$G&C}D8LjX_1z@II{><c}-KhfZdd<&1K44bIJG*y)WSsVu8qOw~ z8dVD&iVBS5Q;NwMWod={1AeElZlQH}&g*ad8edpYN5@PAPZvhq{Y%IAW~*B{7*R(J znS<{nD1jxW)!_=D1~WHy@1YF)IipfHU<iP?7~C<Lb#uQxN*Q3X%4{NJIizRapE`H4 z5vYBLr+6Rw1x%XUCt8!HZUdE-wMrES@%;6VTERr8?A?(x<9NS9kYKGw>Hg0TkB!~& zekYmUY5{F{t|D0yJp2m~1E)0|n~4m3Ch%G;K|#|z+y%92JcmtDivKj3o*w&Waj}ZY z7>`U89?>Tp1!M_{9e*}TN@Pn*<nnT-AYXAH(DGzp$;%sG=ViZ<0uOHvLO=YcbPmR9 zN=miBXf|{`Jqb8CzMr1-EJH&YMy9(tlRw+qY70ykYwLh3R?nMDKqPU=MMX~Lo=f#5 z-L1}~EA6Q&>I*pdwrVNQWHJX8UrF_Bf~s6;%1ANVlAkIx?0o6h4~=S*)B&|1%QX+e z2sq1Ty>Vz%{D46Q$OCT(QeK@4KR((Yv$Rk`C>1J!PW0Zo(7%rG=oyDE>T+p(Z+mBd zu}cuPGcr+Yzx5tiX^F;k{Jfs6Xp_xsvD(Cl8B(-woxP!;ka>jX)gGhI%RTzxT+n|T z_xi$toW*54tm_}Z?6CL8Za4{Iv&+k)iH(Jr{T1^KHdF7}vMtx%ObHTTX25t9`yDVJ zhouJ=*0=ZcEXm9R(3BLZ4v%5?q}W(9pGQVmc6N9IlXccBA0tA*TVG$UxcIv28rGL4 z5m$*6fp=?rg|IL8d^nv;2pFE-hdSLa8^NRa9Z0|n!#dmLa2wGlkPL8oFzF1&-tg@O z)8Fh7Jt2N1jZ8a#odM2G+HZY^vrGQIll!g}1J!!%y)?4%&iC*b#5QO8)YC4(p<FT3 zX5iy+qE0GH&d2A6*?dh7*M=?rByghkfAPL2z!E+d27{<G<QMJQ-8=Ao`6A`!zS<VF z4&+a7Zcb5)WYdw<HR-T{P?1GSN0$hU8$hHXtjo=vGF!Y@Ta5DmeM2q3MoLQ?(I4gg zhTCb6>f^`MckdyCzL{_T0RClgaImMZFE}OT>R0Z-LJR0uWX_p~+D`0)gr)x4#F?Be z&g@%o>R`%e{Q9e&jJ0Nae-%~q5g8lSWXaaQzexCs{liprL{dm;g(4MfR|@XXD3!pi zY!f8B*eK&~h_CTK;Wj82ot!P2N~m`Uyu-(rMnEYas{Y|@zOpdCr^Z7B5k7ybZ)rIc zO&HMZ!9gS~t+R1M%f+SDA89`LbU#o68HrzNkgl^@%wo`VN`sOgPS=-A^>qLKoz&Yq z>igvBa@-o+(E-`$xd3hh{Ly_3VJ8rc`c_vPtEW|^Hh17Ib%Q?wgSj=`99c(SaRqSU zo;80qZhK3;N(KZYaQ}IOm^)~~Zx7_$&b^Z#JQ22f9JzDik2ORRXq0|_APpC_A-c-? ztakcqLw=|GzKa#-)6qKd_y94n(dpWuO7Y*(-K-|Vh3Zyr?v#1IWpHA`T*v#qBp?%S zTDK9Gk>Md1w<6`&(a3SzilS<N^%?m!Z*07ySP8?}9T&sKV!^`F%*~s=yWfp)I@p%a z-~r>W4-Tpv9aj|V>VW8#>=yWdq%fZP^zZ5EO*d&+e>n`%OHiCvl!`IP&r#o|+QBB@ zcnq<tlY%x1)9}oMLidOairLGObePZ+{<e8q+5~vJsKKCXDO#>%<Rg(wrvLHjcSga6 zX`CYO$I8n!&qolT64y2OEKUE<1vqf8vC*;hxGA^!`u#jIC?<xyOzn2_WL0Hzi~WxU zhf4XLf8uOMBD(3W(kDEX2zf#NQRXh~9Ph_r?Pj#!h{R996%~}^5_1E;M5HY&TsFME z$ji6=nuiYz?6rILfcqXi!!-F`($Au^+8v4DlV4cGM$6Ej0@6{uLa*@z_1qkCCa2yY z$NZXb^?!~b?^klZzuc6+Nu?zVRE&oc{czsvbBEcvgt8tL+;}}BXXwSG6K=TKt9O6D zE6sN)gX{C+{w9M5!rEf3DmFAS^3r)p+U@<S8-O@(GGA%wbkrQzEp+-cbb{-3CM><w z2nj}CTGHIyF^=izz|_!aQP-lkb>H6yy+aK7VQt;xIB}mi$f*8WDE5Zn@zWfkziX0k zMa@~)_}R-FyKg;~7n%#K@VsmJpYTHs3GJ<@GKG$CA`ykT4M~^l0$F$pFO}6k<b=no z>5say)bh7a=^lUUr{v&B2PWZ)33boI`0@Le8anQuZ<F^{7WKkosJC}_M{T=48%`Jc z)SD~&ovfDC*sd#3$(SM0#7{S9ex5CBa|BY*!}$=b&YM3u>0Xy(AN~F5rrO;>4V{5S z;(3bWet|yki9ZM0`o4Wt`!PiH=Wtf;)~VTGh~BLx9&a=cPV-y4Ft_!`AEd5f)Dp*` zBB5P>aF8AdkY+P@oWmck4;?SIrQqP<XQRn`;roh&p3jFB>I2w&G(D)lF13RqYYbh{ z@YBb)hsIL5Ys@!PY!vx`JWfNyz23SFc6KHz9%J)U*Y<A&bM(f(`9QANs@cMy-OdV) z!aY@n_J((=#6N>ys`V+p73aE?7M;TFmy-k^Q|Q0p`TI*~rG&ELxDO-luz{MIo<t;c zz<{NjUQbwwr`%U7JO&O(={^y*rV{bbDHX|?i-?F{p0ojphJv4XUXBVaauVaAa17C` zdi&j{I#c2t+4OL$g+Ix`pS_W?OozQzf6R(<v%uFnWKW9XJQ7kAm1P|5mqs&A(@qFj zup!vKkR<wO8?YoVNWrxXKC6+=keLbvqQw~Z`P}V?DtRT`s_;hHb9>!U1t3^c2nYle zNVl;YNm|EuH8XyEdV-~LRl$Qm?&_KcC%mWza+>eD!&<8K>1A|2;>Y}YQp+~QFkVh7 zap?C?rWv#2Ta-YT4m07~a5Eed;>-6;LZgetL?i7bZ~IaKd&HSS^59bDjd}o5A$Ajj zeB%+yy9XYJn<E-sx18v&#Nvhe)j1$6;`a<rES2dF0^6y>e>|z2QVYH0(|HK-0GtDQ zvC5{4veOrEHS2R<+oAfAau*kiCN7Hf-#us-Ja&wb^*VE1@U9CAO{UA{c?x9~NAjh{ z7Q1|Le0<nmRukHvF0lSh2+Fy*WG*R&%YaZnWFn<g{Z2hpaAfeh9q9<WD6B+i^b&Eu z`O;nHW}jl@;Q-yxHX)YUGX@?;9)RT{p%S(K-aL8WbrOD-Gx14cXJZRWVoa{~yyfr@ zc)UCxsE{o!C{t)P$Nj|O^CVZQ_8RVdD8f>(#<+_AeGqPM9ZvTdZ>iIisEqWzc8w8* z?i2Wp;~6<Tf0cbyw6;EIGT(qltO%`Nbd5F$4V94;v;X;xcbf2k>5N=nWu0lB*~}hd zZmtr@$&6d4RRzKu=Z3_<Q2%uHU2QzmJMmz4b${L#UN)U+b8qrPLmnnBHLr2n12eJE zg0->Bpa{F>=eIyL1W{Z4J4AIu{tf5oCT9ir#DJ(>hD-xF(hsHlH(x~f>TlJA#W}ss z<CdgmoG*+h7`2#sR#%g@2J~{}2$>tm!-^OH2wS0rSZg|gY-GGMRliRr9{GWabIxh} zb3Jn4rJl(8Kb8y2y$9A_ijs`dyV<^IkcvL`+fO|K85C2g$nE`*=y-qOM$?byz5lyo zLPXQwbV8N_<^+2{K|JJOp%gS`pqCe$qjkZr#KaQ7Jq>1n#6S+_7G&FX+}j`ZL#3ki zr&xqs`e-8qHSgUI2CG!00VcXKQeOFz3^1Xt`nlk6b;uimT!N-S6K=J=Au&#L2`nm} zS;bHTlJ}u#n>m2ZdaeAuX0o7GoG4Ltb$hwrQK>lSuj)bpY9t9u&_E<011Fad_}v#_ z_+QQi#Ji1_-6V$%k;tXVaGB&_I~ReOk~hbKKhFhe*hNR7n3^6N{U)X7@QE~0l*%nq z_#!D16s|+6yt!zU(f?@<A`c#dmQRR$un;YM!*uc1!}YtRCOyBdE__~B@HuJs^mMfG zh(|Rb)RmTakq(db|6}i~|EhYTcIi%$F6j=D?vO^hOAtXq8fobeB%~XpySw2W=>|yw z2`T9YsXOQUzW2BLC)^+W9FVj3o>{YI&9k2M%$}DXM;aI2Gy2%4?xB>&&>gz9{lm!v zd$d?hktA<kYwJk5-<lDJ+QnkyAlNj8a7Q?CDv-aWp-TVnY5$z~kP@|ow^H)~10?Kj z9Gaic_p1pzaYJUg_|rbd{q0V96xk&f0pq<=2LDKlGo8kvzN~b)&UP5Z1J*`7jg#od z2bn|dzvubSwOB^{Y<b|RK`=4BwfDV_f1RC4fWIN32u~Ywqc*?=8J{^Z_1}8;V;O9G zo+_U31}?hT^%?KzsL59TncQH1fBb}m<HTwwmlFu`jduPc!$}`zV|3mlu=SR5efPq) zbXxyo`HhXzwpM09U34++cfSCEm_>`6ytIKFFN^GCzW_1f-k&(>Y>EJ4Mkp2+69{1& z376`f>=zDY?$17{WVNOI_G|Agdh>8{EwDLry^-5ss}orNL4K<6t3)uW<GUYU%y@WI zHcvvnihaz+%E1XWAkRIQ|CU<j&bp~S+3&%pV-PLTSZl%GY%}I1zC{!l>!nJcsUl7v z<Q{VNOz-9!8l;e+h8rG+ogQbm6mD*DQzyqn^(5SnIv^DW@~J}g*c?XxN-5<N@y5ps z^=tE(z7l&_06itIUDKESd4iuYI`j>Op5-Y#um0RHSl=@mw^f2?YodyXLt|HdzJEdW zkv7{sggbEmUU5n0Nhr7ARhZoYec)Bg<a5;Vgz;a?FK}j<Z9{K)pvo9DKcMN&$jg-G zldiT*EPjBmIfGzk*!=F|*&Gni5Q$+948txTskNX3saT%hL+HVRv%#T)EMp1hy}11C zu^hqr{LJ6&mvY(qJmTHa$MnAFG{Nx38_!5_eeF3>#Mg;D2F>wxQiHgvwZhU8nWC`# zXsbxN5NNWgSitJ>#LPgMd=RSlE91jXx!&8ANI6916nFXZ*%Huu^-q62oi~1r@Y?Cd zsAlQDbX<MeNJp5)YPojv(OMH**bnWiJ0P6|7jrG}s6OTke=UuY;K%hH6OR{ECWD?9 zFgCs4nV?`%W9g{fKp_1y=!K^d^q-%}+u=%i6LtL5J*4k*Jm2O9SyG*ul)R|e;m;U4 zB|&0hau9)EIlt5DkN!2ZUw!<7Yl1gyL1?jeLTf$AoqIz$wFyP#J)=e3Ol~ed4z6!D z6(Y!YSr;a$uOagYuM?sf$m%97BDUY+7LJ&IGCyGdiSr_aTlK5EOuM)GxD0qI8w11F zmljPkrCNmEmt|G%6y~%bM$}u0sfA*UN0HVClMBS_H<l4MH6`21`@9pT^t~+ODRKLY z(Lz{!zbakqUKhW|zV|xrjbn%Nz%#Kh2m*be=+QSo{K9j?JvE4z5Bc+wiwX0FRue<? z0V^HSA4?qzO8%c?u}QcC;1N+u5*1Q2l$(>*gZEc8MHEjn#2;Rqo|3ZbPvS?*tv1L` zk@1zmZw(7gH6No0yXg<jRU$e$)#!@M5zJVdDZMR3^V(DXq86w_(5qR+L$#>%&IuCK zB#5}&oa~(V{)}6l&!0TyiYqh}UdDXAHiw=cPaaF?=AA6Du}usek>(fCy4i9)z_R?k zqf%B<(qxI=n<T-i)3;?;%@US<_;(4IXZpavK-&R)tB*@$sg3A)DS>Z>y7|4Wn;pTi zQ)ekEnF}E{Glu1q@~JiX@^sd}{TSfksSXxi4i<zNp-=~l*MFCJQQ<>gq5MdzR;x%C z+iMKLp=3Mht}an{kpg}pP!=zu5ZC{GeTy&>Va3>7`kKY|oiatMF;jvb^Bc$Ir&GR- zslm&ogoIZh;C37MptbSwR&OAhEj1u6EE)1R=cVC@;rA6OCe$6QiiKbjzw-idpPn&& z{A0L7G>s?5y*EmmT6h$DBS8{HvbDmC*nbO%-!h&&aZs8Pda&!PV=*n&g@d0zf7W`t zPv8Bm2jNJQ+GlQUf+=ywjurg4{Y(){NYfWB|Gz~>+`Re4AI1y&D);yeLj1TN;7mBH z=>jXpPXdM{)hO7$XH3ORleti(>1irQ{j8UN)v230F;S(z4={aWuwbK7!a=E+!jnVs zBEh&G%6XAg_<H6!YWilt_7kNf*McEmtcYOVCibw|*BIWj$=qB*)q-!=3yAok%(k#7 zbyR<eTX^W8Zqk_WyxQwL#=_CDuS5g;XAJGALZ|oY!Lm^5`A+`c%m*N~^s<#_<*D3f zrmVZl2@kBNnRn}IDDKCh6m#07FTI!JQTzkkp@=|=qBSZXOPpDG2APf2>o#-{=UIy) zk%?0-r_#0fultdX)cf90^iVt2NGG1#IOeV$&H+W1kJoHJW*A{>uJ|uC$^9iWJGo!g zfQz_!ywi%JFrfDFc}3w(t9?28%5tHhl)ByH?Pg($Uw>kZRZ|rrIb(0~@Abah?<xDg zP`&Zhgx4X0RWo6DjCe78hD91NWDAd#eGa{$%kT17f(a|najSQ>axMp7tI;o7PpOCd z*!Oj>a|XAJ&M#YvIgkD!s&C<t{lZK%og<B=!OVw<69ysXD$OeJ<S@Eo0_jl{<uCO^ zW{3(hvd;U(Iw~xR8v;T$;q%A4iBihaK{p3Dw$%Xm`d%phc9gnEoO8YONO<BVvZ&A- z);Vi0BKZT2e`GoIfKos*`$~mq$ZJd+tUkRLNDd!LS@*p5k5lGzgjy&v<{5WQEIpA^ zxRoGx)>)$TNHzT#mB49l<a(m+UODl$G{Cd3bD_kE_RlKq%3+N&a0ye*DqGv!EOCEs z-v95qdMJtQwBznb{O{alo>8+cZ1f%sCEcFgJJM*Mg-ub;s=mKx)reGD_6K`Nj8}IU z*WWv*8Vc^b?a!ho<WR>I;k6zd$)U^}=rNc^rweAeL2!z|+I9|aTX>02EvmkhcnOKF z{81lHkFp+^^f4Y^E$;p|LkRQ5FRv4~Alojm=7`hKOl69Ch3Crbmr%;0F{(L8O=QoK z^1LT7H?OrFV9~S?f$p1_9Y`-+g)iACF)H)^gvPiFZf16;!w=KAAx^UUPkZ+=Rw~rp zMhFgDjMWRq2M1=+yJV@zsizO$BCGZ`u?es%FygW`>^{}avc(xY#P@O3VLYkQWQV}; zjWnvv`XZcVNouQp>lp>0;{nf5?f#qwr1I<r)6sR7S-Z1#l%%9Zv*NbnUndLU0oy@L z`%_ixY$1QsV)&fYucwn`cg}hWQ9#3+irB4hNe*E^!Tbf)joBN)G{82<2~HxRHr%c> zVCagB$Hkx~|47gh{NqI6+%ZTfj5l0vyh-Wc6dJX0Ul)oV4>EXoX0WxxG_YT1R#mg3 z>0_%x3g;uJc!2qa1c!q&S79`tQLeY?b$7S|GmmhV3spg;$VDbR%bqP0Ynt0_pOjSG zBo?ZY#gOpEV6P;G7dumW=xh8hl))!(YY3zv39`7xwL{%V?1C<SA@AP}^%1if*Zv3y zw0!+4DPtjb3zL<b1Q#-B#v`Ek;@S~)Bh*tL76#zZI?+iNC%;E7DMn7rmY)K;VzRM3 zO~(YXi;U#SV>fs1d%Jafu=GjiP*8Sw6};&Yv3b+%#+N&{=xv!ZG(O_SDe<|XQ;dVL z8Dp~-j=cDH<Ms3LZ*n&5r4jb)7RY_04)KG1l9-A0PIn61K6xd<l$fQX=YliT9#)(3 zXnUFTI$=QZ1`7ZP0SS6Zm3o0mKUFn-n;g5N3Ja5Wa;kw-(>z*@riO_=`O1dj;xaPy zHS|a5U4~k2t{2mtZ0R=6q=v<`oDk@E5l{<nKoD4Yg3qog-%Gq<UDaRz_FIFE$sc(W zVUOZP+HfK*Gr%)0c|-j@o*lJP%DRt+5e#5|hjV(vyGM*rmN?iz^|X?!4=J~b*l^-d zv?xNu!~w@OHA$fH&bpC|i1R?&*B6EQ^F_vzbENTg|8Va`bF$>%8(1Tz^`|fe7&m0t zGHaxbTHdf`iHg?HBZ@iPW>sSt=5o@7A-U|uioo3|ZqVB_{D?!jMg3KI&PAFqM29NI zd0Ra<!q0w60?T;dhLI&DTTvw@v`Mf~aHu+ZLCr!>Bogmwcw!>W<M-#}2?>e*R#y$+ zDJ}r34zCUuT(HjwJ38`WG$}6T<#W3K_y*m&m-&-MvLJ<E^re_j)eTA*Q29d(1KZ@> z|7m_)PhgOi7?BTSCwdS(boal9;*r7g4VPu*-59qgOKNMAjb&tL%rYnyfNG>>VI=ux z|Dm>sQe1s)SQ5dD10vrR!$aO8F0>CHr_Olv(&Xt0TE;U%&M9I#RBS3HUB0qI1`9;z zcqb%qHJxfpCb;y6-$j3TWR1j&l>q?^DQ(e-ji@Y91HhEqbG0ppvsV+TQ^Xuf^lWUD zuRb)H1D5e%(e({*x++!V)M;YzUr0NSC0YFqw-!+EvS~tM_qahy7m^5K*OCDL$4EJZ zRsfu4?l<U&W!71Ty{3g!cqTR!NGr7OgkKLa0q+VrvEH%>o&LMctomU>4v;kA#l=}m z8X=zFt4zwLYjSb5iVphBg6#8Gj|wxT$ZrXEFLC|4Jbh#IPf)}^7NW3~Li9UWLYtg2 zlIV!ue=oN6lhUl|WsNXSein^MBpOc8q_FRDdIPhhlbF9<s}SJ}Ky_-BCl@ch4Dn<J zmG)Q(hrZLz=Ec^ThNUwEeIv-V#hL;MJAdUAliXpo>}x3zQ)OO3i(Y5VBOhPPQxIds zTYk^?>wOuZfwg~7a4Wz0YnxEy%;i41cGW?dI~EO<A*h)Doxk1&yi+OVR;e{U9HJ4V zz5Im^ihX$zmab^*D-i`V0_TwU@#5uooN+(<V~9_GsOn1mAb`cB-Yg_14<xo%!dfI$ z*$TI3s<s0l^|j$8>yNe@9naE3$Bxzz8P|IGnfpg^Pv)2{(@V$W4Q0pWv|f&XPH|=% zdy#B8>QqK<)82ZbFJaJs`3-mVY;0m8`?F^}EN@p04w<Dz<GVg1o?JEU>{majiwtY6 z>yeorBh>RtyX7s}jHVD_JFY`H5%i@k{l4>1YsR?f6Z<`O|4|C0rILjC3A)YNc8PoB z1_5~n&I{B@*$4~ELW{v~OBDvL*_oN5jhmu`j+aQ4MB=!*A`t+uq6n(fJ&lI1(_nnX zx^R1usMgYFUzhFvT0<I^CA@fvojJB^D9Wk2Xm+%1C1>$Fbclqvgx}ejl+lZXGBJZD zU!*7KaM+#QT$C60rJH(ephHVtlIIe^uxFKPSi?I7CZ%Vvj?xzeC6My*Ma1f1;1LtE zNWLD@YInD>ox6BHTjpvj?`6yA7TzIxW1F$0_#?kgW`Lw)@eSPZnlcF~)}LoGEkC5< zsci{mQ^jHTD)<ms*|@|Ksb*!x3CGV*#L9%faq4z#nv^9{9iQ?cUFMZ&mbn7k%@y(B zkd8>SCq>gP$rsdLCF3dDFUS$;T9vps>!Lk{nBHx}obOv2BEJ>y&nC0uj-;f9_~#5- z;W#>9Vkg$Fe>;`~7xAj3d)+T{;@p_<g(+87hCI_CSmJ9*6dO^;5cU#2L^DsZmv@3E z;t3X!gGN7E;-$6@4rv^b85t_U(<&9oMf*BAvsl*cNW$6b1#I&HV#byUUsftOtY7d1 zF=<gjhs<n(!eJ)ze3T(x(B)?gb7UM?kI^nrCex<W5HT^gzVgi;vOzBP+ziusSwIrn z{4?fEyORXzZoIcrAG9h@8{5cgW5B_d2hKwmUj~mxg)RuJ6P84yyYVt;G|!QZs_W`4 z_ueKNN0Z&20D;I$5)}`w&l8Npe-Hj5g2t!?GbO9^gs&i-V3^)Z(^8^YX1a~@c)?b? zQE-NgrW1+Dm-rG5I%?pg;8;PaLuR$;1WGp>fXPc;`-3z*Yct@A)<*j7#|?s8f568V zxF-L%f(I7jsJIm^O1QXa8u~FX3~6>Vx7z+ZfqTI|+HlQu`4OSGdWfIh)hsv}{x++g zNIlLNt7DkY+coZxUSWqFRv^SfU{fCC$v^k6sv5qJ1-wgA0@~?~uP+4)5KN4uY|a8p zG-7Ixm)MKsx<At}Zm<Trr1H}bFO!`6gCas^velCb-junGv!236+RWZO8(E?EwHu8R zZKbZv)^L?^>$@f7FJHxY%W-}c!o3tB<K=|}QkRaZX*1x7h;Q;&3QdU8D!y)-O4f#1 zqoz6Vr%I#Nb81j{V&`aF?#ikFYi;(I=4LTK8I)0OmfD$+<Aep7lFg@8{$1d~lyJwF zbX+!&!?H&+M``{-Z*=Infe)KkJwrtCGqb81z98Z4>WX>&S^@Y9KQ6AwJBv3@8O>hU z3JRf<XpISIjY<8H&1WJXu%QWN8#Zcaj`*r*MNge(tgsHPSz95aNiNo@f--CYh;G?m z!oxXUzASng`_)qBg7fDD8Qj5QJqX$2)Cw2ABLcTrF&~%MD{h2>Nmlp+sSs>3wJgaP z16^69UJ`4Saoh9a|85f<9cs{!(8Pv3JHonB6LP~Q;)d0m@V2Da_+EiNcHP(<FJ)2r znK#SpsCbyKie|p(A9bhGDc@Gr*RN2-btWj909Bosw2R3qBlyRTDt8R?3O8$z?MY}P zIhK4OB7yR?xddMRh>xIn!NUkMt&>N{!h7ywyVEkA6$Ryy^*N4L<sBi4wGBVx5-g~Q zbw9BJl(Bv3sw66mO=h_91LNL6k&snA68Fn@Y#QGQlj(xcYK?CoL<crw{`r$W&tD<@ zsRK^Xb-QX<F~rmNzmm=V&lnB%`w>Y)#$~>h-s8M4v(Rj=(m@>CNum#3e>m;Y)|HR& zVo5Kv1*Bn30y;eL^qGQnponnxXx{oWBw{O%zfoIQykqv^L!o=rI}MH24?UO6pIpDh z7gNl2s2R9x22-`vg;)ont;^7&4McfQk^^N(2;NN#3$<g~RN6-%VR`tsnkk513jBu3 z$j}f6#%&BR6A>!0QCAP;6?&?y>Yws=9nb`%oW2u?aQlN$?Ha9avu;%J-*|6f=@Q{N zSa}d-@Sbjg`u&CXqBf^e(e5tq@{0W|=-q)*U@-P;hO(^JiEiWi+!$Q$1U<aN_;M(n zt%K#pTS%qTkY*C#Yax=wh~3jpW1|?~h&YB}k|b;EDA?l84jg&o(7qaU&mxBM?#GNp zbh2qnZ8X_vo@m_rbA%MqK?e6Yg{tSYYSFNvhht3+`(@RDjQQQ!;w_9izcOn1?>=#H zEZaH(g3?i=xP-E!2-sQ9mak@S!Xou^w?0+P1gi7nDK|BoaJaxM4X6LaU*V;7_`Gjq zZZ4kjjqhTka#2P^JQJOa4V_7C-d9jvi0;HL7)~=kO|(8Yy5TIuATLqk_~;dj238uE zJjE2EE?GI)^7p-?){fV<nAz`eN#`BFL{_gx-=xN{>216uNz6^(hV*0b)Xl2Wj7njD zOjAY<DwRV#Nb9o?LNgbSqyJX!-tkNg+$F@o4p4tUCPE?fEEhIXiu$S30`0asuh=B( zeuAqN2|wOEm+;F)$#Sw}dD$_n(`b?83G2zIA)o?)s;S<~H5FzC`eN0UToqE(`aSUW z^HwFcs9@YVmEM$2q!Thz07m}{OR0Py7+oLDE;O)U1xpEMe~I6Wm7ukm{2sORGEyg- zs=;N8R{Ku~^2A1gd(<<vuINxat7^UKzsoIg^jcH05ph7^@&o;xP4dEfa+viC9z!;4 zVCv`V3aPWR-75?~slrf2;;Row@rjAxyp^rl7|n|5`kpz%!{^dpm>58qg&Y{@Ta$8s zXDrvvq7%^j*NM5={9)qLM|%!Xf7d%??qg+;Nekl)VP1r}A)49A+R|&;!dkl&Hv#;9 z$Lk}z25Su*HZ}kcBVk3IR1}!kBb2=TosrHbc6&N71DiP#3``$t{rv?gg|&4>lxn{! zqIk$RYN63&C&JnbZ_P_)>c#MFZSCuFXGWPj1)zmNy_kkcUJcmhCus78_ZLM3u5;3R z&X6G(7}HRw4$mrn@uvvXRbIYVpac>5{$`V<F(2);n%^EH-&BliIK>0@s7PgvrITd- zYA&PyWH@+v-*hpd+r6XM-;zt+(>Hbwj3a^e_VjX|X>fd8OC$!*KOsI|*2#(F^S__! z;CfJR^JTXa5B?p>ZSbGJ4vuuMQvE^)bjKLU)^)3wnd<p1I4D--{d)``J^=~*m+r-u zQv_1dR#5sj0`@!dPCToXw)x}=x|{jmym7l7bCdg|9T}VBuZMw)NombH9H}6e+(!CU zMlyiO{+I5%qvd=aQWKJ_Lgl9d9X5&Kq*vXFqx1PaQ$)rGv#PWqo|;6qsCfPYe)pc4 znMeMvq}*n3h$vX<EOFe#tzN?!cd4rCofVp%2M+{(kBFS|(wc2&nX7NiJ@HzEOR{eE zJkQ69M4#?m0OPK7ceOolqd-zzQ=@-%i20!}lFC+ILw14Vge(8v_*q^{g=uFxAS-`g z>uYMpE7_=o_rJI=xxxIuT7c%8sQyx|;*z)B;!JAU^xWL)hk_8Sy~|;tZzV|j{v?3i zel_1SEWOwHwm7Knnac(3#YY6px39)%f0%Jk77WGe>st$XI)Obr8~Ac-{!hPp)A@EH zzL3N=Hr}pCd=$km``0sl3ZTliYSnyp=EvS=($A-DliH&!h#^1vltxC@rE0d{w6vo6 zJ)q%C1es9x-jdgBe_x8o!HJfG{w$qv0kW^Vt5Cp{q5%n!e%pnbsh`j!`&Zmxcxk#9 z-!qpKL-1s!{wIL+{(cjnN7SPxzux!aW()Dg56jISX)gI1r=Yns-z`tb{d9HxlNOA% zCgWv>{u%Q5!~R8m<@$FHt(aK2Mm`xBenP!tX01uPyV5M+rq5w>25z|PZzJmZB=UkN zX%|&tCL(;{;LU!ZTfh(A!O<=c&y}CR|HW?$um@s)Ta6@tg^|AOA|kOs;l^XF&f)uc z%oXdV)NXj7N9pf2p7e8U*bEERr3_G=kW{BETmwj#YW|_{q=gc7vnxD7FV~3fvW_Sm zXqI65fT4uzc)*s3#BghkBtHxt{$lC4)P2>MU$Xs&@Z=M!8mTmMh$3wD)F^4FubUn2 zH)IiH2Q-l=6ERLGgj@o0Upd*0eDN}PKUYlxo0gY1jN0$p-frFv(5Ud(FTul9i$Hf~ zJD@Q(#cd6EBMh3?8Zd4^qvWmYg6DJHqwqg&mcK7^=FRu0c6qQ3)k2}fW>-%7eE1dY zv#R$Ov(<0I0QJTF>8~jOnV<kMItmG8Y6X&~SaI7z_vf?kcY3Jxz8ic3fQBYA^0sjr zPx`)GYNA(7er?tf$R^f4qN3Y;OV4fSrueP1=&s|$RQKJ!x-{cuKDNYzTOc@SXrjZ5 z5_aR)wzm8;#nkV2Cxx}kw?WlmHnXiPQvfC!nStev8{(J)%)cnFvUSFNkaUCocB!{w zX)|Lt&0S~P;q;*fG&dt2cV4q6FdmxkPPQSTc$ZTurUs_H!UcM<A%L#6MIy_tvJid9 zOY}4j>7~Eq!Eo$`_)*McVXh0wiZMo1_)7<4i)0Rwk-<14A@`3+!dds5Uy65@8j-9f z#331u{Dr<==i*+ScWR#C^zRSTA$SZK9l;nhk8;&dcm5f7%vj3Gl)pdErx7sG8q}-- z9T*zHbw9bt=}C>nbip>5xjJ&mE=TMoG5@)>B5>;;zpWdGtE1R0Z(c0hLG8xV`8h`H zs`=KkJg%I!lscB2Ln1J6aOi*_)^)o9Xy26%1<RH^aDWWLUhF@U!*Jdg|AtFk>vK-_ z#dD{L`F$FW^F1pblvf{6)(;PRYRof+MiLfZ<XIOMynksmiX-e+qLL%d_cJEH&7LW- z{==*<ENC$+!2;-`hLSKvJK6{6)14O}HW;2IAB9#o^{#}xizp@o`sHNyz5X~leBa00 zm$1&gvYB=Os-l~J`>NKXzKc_4>KNZtCk8Pp@QUPO+|X$rrvj2E8-x?D@9%c7P`*Tk zkHpoSKmRCNbT1H)g4r?I=2=hF3~<hQKlz(fQ7_y|BfW1``gscX|Mqpd9{(Yo?=%lg zOmyI8BWAXu2;?Odkw~M>(88o8{+DWfsLWbZ^Hd?duIuH8lX)ojLb!i#dbcfx%f6Im zh<EZe+9nnGKVcUXyoVJlok0Bvi<(LW&<v(NZ>n10{e&?%uO`cq{~L-ou%Yl*QV8Wk zJ$hI*Q)m3H$AakPO>!!F&rM`|+ncIdbIuzgS3=ahpl@VUWA%pXXj#$nV)u|_wDV1> z=SP&_z^VM^xa@4`M&HV$tz~yy?{_TO!zJ~lV+`|1Se&^pzSiqSEnoj<vUQC-zexEP zT7pw^Ch+BrE)_Wy5|OYa;cG{fo%(WZ=gnV^BDL@O42U>IOWi3nq(5J;D9%-3ueToy zZ|?7xxKrdi@l!w?q;jl4+?5u^{%_p0`lj(x5Rk90F~bN9ch?r-3U35m4_9}VW`mFY zLvOToHi+7#f^E;2?665h+)?FY(|f05nSl;xW&LvAf4y;@Y_i!gV97bEzwCF<m=vtp zW&hLc?`_{w-JhDu4#3OSr2XQY#s04DSYZd>as`)vu9ekZS#CW93ZZb*&N+P2v^-dY z!QOyLP#d?MJ$pZ%*<?HLlFVDILLBaM#>f>Ljmm%Gk|*s#EZzzP%qCV!8%ZI=_^kYf zK_u&4|KnS~!d$g;A2x>Vo?)c{ApV)M<#Rjk3cI+VXrx1@OUWoN273p<6KWhxs4FVB zl-hf`T=DQRgAD<+Mmudtoni>W+i(V))F1JaeNqxZa(=2nuAtnJff{Rps3SP|tt0<v zq0Fb7r;d(;#X3tk8k(0_q;=?>rZ|OP{RPY+s#iyy<KVfa`ctxpf^wFp4ky<dO97ZP zDhaTehWhs>ToG>A*XG>o;*);bg-<9bqL`cQEIU$<!<o7gkF4C289=LAYcqqq>U*vS zCJEi;iU(7w#FIzYeH|ijaCMOw4MiobrDGgNIw)!=w`JWn8=%!3uY*>{)+Y9c7h_{4 z0%Cu4PB0Zn`(pgrmKuDsg=1yu$ZT0?YQ+ci(Mh-GBHZo=IKzp~X5egQnDF2|SeT-y zI<sC{ka62;BQ|c5WNqCg3dwLaXo^JOZP>t2*{OPi;g+aE63;c&$WUmx$NG(|rR<*t z*_LGg7b}{@AIA*&@XKz?5)3#j`g!Sr+$Vy-V}0Wt^eY!gf#Ab&e-{A512QL?tIN6? zIHC3u>FO?u<ucX1G0p2C7+Bq?wFf(Z77)U@0?H8^Dlr}1P*KS(O$RS7PySs47+{%K zE0hK%W<*395GYLu3hGZ4$2REmeb||hpJ_d}B@?)^+#1f_b+c+yJB9zptLKMKqmlu$ zx_t6CjD%#?b8*|`;EA_E4$(coklmJiK1eEwKr_CY|2EjQu@Z^nCBw!fa-$a#`WlER zkT+wqx2UB$o1Q;8Nn+S+8kv*xDnsBpUz^2ipHMngpcR=e#PhubWgxXj?^mgsD-Mzw z^kFY%vAagY!4a+Oc}_fs0U5XWHm}*dSzG<O0udlS|L*wv5=g(x-03w&A&_@AE8Z-o zrdJ0`d`L{inqVBH(PoG2Nq|NxLMgz}KXAvk*CSu*It54HyR+`HY^^rwE@}1|E|X3k z88Rj&$4JVxWclo5_Y(>b^D6>T^lS`6B-mZ`vcaYv3+zF=I`D!AAHeNtLjKF3PZd5^ ztlwkb{L?9%oZP2Tt8UnMu)ABa^jY`+E%TssQjtdOUsE$#_tC%uBz&-%9y&VdH2lzy zEKyR$yDPTSv$_x0M>L+EFhw^SO;p%_rrj_@oc+8$`f2NWsXOx)z!b14E~&e>SKYIU zk)86xD%%TWH(?H-@qo@YKF^nTWD*vRzFxJ9kPD+s%|t|Xm~1^~1>}+0-IY{J+fvDY zcaHq;&UsTkPi;T|$l@x|CJ@&0e8EFC4d3OkO0yv9FI;s)a2?g~$8S#(6_XS;jbz*7 z_Tk~-lz_Wt0KSKeDg4fc<w>yU9W+cG1$R~9e0yu5qgCSS%8DON9*u@7=)WiMiz=}2 z0t~Bznz#X(r5bL7h8%G>@M%Ac9N@BuA5B^Fs$?%CI6C^6dRel~S2NXtpplui<>aDh z#Z8hbc8BKJ*_Z*3Xj|v$EC7ND$JNs-lEe%W?}rB?{!qMaS+GXXP>nS70_|tPdr58D zg`^-9oukj<EZA2$!A8zzZ<P!PZFDJ>+DlRvQ?aN`VfugXOGEhtMu}$>%hdk<X<fR{ zU{K8VCqEIFI5d%k<7PKs*SfK;@#yL6o3JSMLb2wg!X=v!Jlp@~=z{M`Qta%=s?UKw z3HuUu`%_3e`nR-v(W)s)9cq0(_`kaBj}`r3&kzQM$knrzw#r;{=&?a-9aEO@Z8@c~ zXpo49=I)A*7?YY@otupZOmMgq7d1XclG=r%dw^<Ww`KLC{4m#EtVBaM5}#%?jy(W_ zCR?F*G`7Zwd)sJN6g&A?k1;>?BW}BRkR7J^$a71DbtC1(S^V6SYmd#F(-iB)=~zIh zzXE{J1t?hup5dB5Jvt#E61xCxaQ6ehN@T46w`6nz;@;}w^%Xzv0>Yb=z-!&!fW?y) z)k3dOJV?hN28b0AyKdhyagN!8*ET2f!dz}Tlx3VoseQiB2fwwcsS6ND>7h=cDXA)} zjgAC*t_=Q5i|tVvSSc7(k%r22#7<A0wMEizP`x_?Nnhcd0U@;4)#6!&;VglpBWj}s zX<_Gw^&5uNCmuJu3Q?jgG^T0@YPtD6E}l0*zXzg!j?ahJA$Ub^bOBmd`#9<`OgS$5 z6#Uz&=lc#2j#cXkn-QW_AQ3yt<W&URN9&eTsQ&KuX9hd+w2H@@Kdw>~xwD@>0iIE% z-JQ+zdgZf9+H}xLd$_{sDYdGJPFNh#b85Kk@yT5A`?J7l4afEBlOv_UA+X&J&GkPl z8)4juD5A!aRUOu-K{YbgKEG9DCTZ>>Ji3HtAhgDSI`yOj2mvA2ZJl%hF8Nq0J5v6S zuYiCS7`$hxai>&gpIlnT;^uOm#`i*l%}v;g{DEsr^aUMYIhnhk_Oa24eQw^PjgsO> zP-+<ZJYAjx;KU#y6pE)-keI}S`rd5BC-&i~ba(!UHC%lMh3#A_eV+L-lOdwLodag< z(+!7@%btPheBI{1nv`t^c#Hu5G!3+-|E`}RK=P6)A`tog#a_V)chKK}b~+WqvQcbS z>md^-_liV9EQi8O?8US8vwCSX^M5cHA&T!IZ+U$67jgK}Ufs~X$P!ZcOKE-T=<|&) zCYBe@>T$L0@-vzIDejN@CgWM;vSaDlZbu#Ifr$RJtgJeR)>dG1Rn7Y$Qrn+5kwE2E z<8JRbS9QpdFh;Fun$7d&;^EQh9~n|7X1H|H#Gc!=uE;WF5;*}tuxF9pz~}npadI&M z3){$`@)sGpBV ^9m7@<DL{p9{NHJm%|PcMf~04RpU&u=+=lx{pUML-3q~xn^Td~ z>$g1(HkBk|ZSX`yF1UL(LO%SF0O>h{v^5xIcH=A8(&mvvxqHPk*_7_3mkoTc``OsO z%WSjmi1&Z$^p`9Rj;_;DHax>Hr~1zfwZw*Oi0FFM0b6%3m~d^A^t>Mg%5g5)*nE2X zHbJ<;BGn9!p)7}`Tm8{@p<steU#5_~&9A2TrBf9p6%{gS-<q7`E|CZzru4b)k}TIH z1bVx7#@(3y#u~bkc1ftXOw7mV)Yu3TYB$!E(=Q!oG(4-jdB~ZC5Lb=RXMI8X+1QOh z^V<2pq>|orABn3`CoCrES{((?@NZAQ;o<ut=-61YW7pm&*n1a6-JRfms5{y9*;4$0 z_Y2s`QBGO?T3Kzvyf^4~8c=1CVf+5G!Lu0PhYTxSuMuOy5gqGp`z%MGc1jsgR=!35 z*BDTnwcfXrD+@Qe3@4%{^Xodv!Aq!hH~><4yxPr58^Ub@1F(@%Nytz0t62j!LdX6T z{wvpFZ)T_%2n(l8|7a^=YF;sn#J#5YRU7Vvvr&?;AxJ~>tF{mg)u2w9o<@m=g_bpm zex_?|xm%)Z%#mJL(PUoiRrSuMvxL=l`hND^D_8J?_wV1w*XM;&W7x+cN$=WiR@xXh z`?LB>G;&<~2&-rE`c~YISEKwMgr{1ZXIn<tH0LS|CO%)kv0CeCHfXSB*vXuU1b-D; z`RkE>!La<m<F<-eB`S{et(dW=vpOUi?d=VmgNR54ar+akr$5T53B~G>0ji+@8r_R{ zB^1Oj1@`?^k5h{D&nP^M31WoHXrN(l3jLp&t>+F@+dkP1>*#$dkp24CIVE*Ux5{|H z|M69XR4^mA|D%id)pA1D=j&oqF`w6t(NokR*eE%Bh<xr?1L?D24wTY&hfGX8Q;6o1 zdrp5=C!6pakRO-D=js^xeh@~*YlkGUCT&#I8=mzMcajKSI5Dbb4w(9^K+VI&Aa>Pb zv?i13DsbR6fSG;|s|BiAMy&^RdVAA_R5L|c6E)@oB;t<&6WfxlnUIsXW^=CZjExYK z!UwgWW7qX`eDj}(ke_Ud3<>bB<0Av73+n~1m*++^7r(AUV=a4wwkUj0(9#9Ezlt2C z4ys8cEstT%?C}yXj;{aIlGkXzs>CAW4RlyZ|F3EM2PDOn_J}6GdM;X>p2}%F3-}L^ z6H|!g<b0^HaW8@<b|Cio(9cRjs4}dzSTEwWquyIG>@B*gF{+7YG_MLr_eYnz3^8zN z)o+hwx-Y$oqP*j~y=Ab_e!mXc!lJt8<S<-*6OMy>GA`l@&PRva9zPtL%#~MfuA-y* zrIZn-Ue3CF!yA>M+rp&IN+_)$j4gjmaD_xFgi|yT(QK-CdUlDb$Qt%60_pCsnH=`- ze1~f@5LFzUoLbENaY5U5wrnthiNDyWxv0UxB;oZ-!;bp*L#)|84k)n_;?a6<vt(J5 z3hd_PmfdE0DLl=@;)gcQJFSA;grl5zOVHKcA`d)as#0PFPhfC-s@J3md5#p{Ngi_K zS>KHdPEb!$LBUguyR((DZZ}vV{!XWnFNa*!<t_2=Vll<zch(3LS8WT{66;AM+xe;= z8uEO92I<JBOSLFnTq0MyL#w+CA-hwrNX5Jv!D|gNF89y(CUg0lfBTWFv<rCboE@%x zJ%(%tB6mY?Z%>N7opxGt2_3Kf!&k;8MA#4Dwf&%4HOvAX_NF4)Z48!SdDl5|nsLb~ zsHi67oRZnCOXCI_O7zbf9N&JuI<#{hpbUTIuq+_@aN#Bwn>{p{OAU6#%MQde3Z3+{ z9kd@i0NHZzbm6Px-#<FMlu0EXjrwD<#`dfI`zj2SnRQqdi&a0hY$eMG9<?z3tT3QC z;`v%B+e%}W$br4-h&2#T&ge!x{fspw7<Hfru^Ng=4UzJZnlb#={>;IX=YUjuBwDfX z8OQl!y#ni;CQHjLmf#i0<{2|xB$o-3R16Fhg*~d2cg8=pK3qXl`R(zmyM%${wQIX= zzaQk@!b&NsQ)N1D44bQ@%60h`T_>_^mRoG!=hN@GrQe>XobMI?KA)05Pvf-_Ctw=i z%y5K^>|&Gau20JB&lD<~w7Hea_eCCgw{}(<;mTx(t91o7JE9Goons;@(8AyG;^b4w zH;3N64GtfW4ys}M$C3p(?k<QQgQI0}88|=`6OpR+$<=awiydu58~5Go+!kzdjaKHe zA87mJ1tj3#JXUX$0k1ir%=LN5zWEK(i!>GW>Q$VBE}xd!Qmr%-_tHVmcJ1%Bvvt~) zhRI+v>EO7ky}P}lpI`dc$b6mWsS**FX<rcXNSc5ni|Y>OR(ZAGySWPLG$GfQ%E=)| zCR-yPX6h`lAMbY<-FDS8aDZU_e0+=U_O@h_jk<SiqGxtRdNKe{oM;Q;ApuGMWG>}B z#%k_8w_a&J=d0gNHN11v&dI_Zpb*)2_yL-c1F?}=YkUl?{?6)Gs8nbTVsE9<{QZ-K za!Qr?Qp0f?7=f8$F3<#qDDrC#Iyqm+bfF#pEg2Z7;UqR$clStbRz;q)7hGI9z;O*4 zZN=F1s($?uA9^1|#y6}5`p#=pM_|&<pJz~?Wj$9xcKP>k4dE<xEEV%Jb!g|lOm_lC z?6uGHux|9XTp`niX0a<~yRGKELOn-(?^yISQC@+j%5I%;AH3T=!zH<AH+KKHOlafE zs>}YS-M!Iz-eG1AoNiFP)qb3O3dLo+T@O#XznHPrt<WDi+p;rg<_w9szvl(bt*eVq zWJ!>1by-a0%6WLoXPhldve?NQiBn2@{Yt}>s)HX{{2zwHz4H1g`6K27b$HAhNYMFE z{aT@-Q_n1ShXBPd&aQL@OHQz2EVwzqr%)p5VTY^wNS6O|)+?yg=<?+Ujs{>qt8+@; zA$?kidvvake9PbUn%DsYRA>OxcQt|CPe=zHxpZ?UwI}l;W((v_uk8jo2^|mPd1ATv z6eDMQv>=Jm1gO1rNzQt7d-L?q){%pHKZO3mq?R6F%QZLzp+1LtTx=@<PrKg_0n<OS z*+DUF2so#1p>nT<fAFpHT96Nh0DD5BSJ^R~zZi*}DNZpJocs~C4r|y1;RVIu2quU3 z`583NP4OQ?v6<!f)lMI+Qq98Xn9JR%U@9^1AKGyZpZQAAJ#tWsvBDlQdecw`OyUZD z$0tx0sm(31xHSzc*)K<WESA;izR!_U@7~_-PEOpDi=h}AjH43}PR__6*W&97ho?ux zrV>p}<}m6v3430ejoQ;<<FwvsUN&HQxlyGsz0G@L(85gepx=ez@ENDb7rXi`v6{(r z(}f)uoLaVMnr@|GpSH&7+H-bA(#@v&+@UI``|cMWvdgmyOPUc#qo!zxIcO%eC>J3( zZ#JrwG>dow6oyHJ7EgY&t%X}oo+m?OE8{on3-{}aK4a#u1}n#gjl^<L5XKd}g?*E` zeLg^*3)95?p9GNypXN}b3-mGGh>SjFfxI6lBx8KRk57@6${3NBWs_o+tV)EmiWJ_z z3>7Rq9<rK4+;-y2XCD{Tx!I8K_(QX^zU%6gsPktgs5(+8S#gC3i-cd>9guhp#Yeu7 zm!!8WD31x>Tmsbl$<RSdd0b?7HE~a?2ZUf#rhTPx-+b`gT<<*aDU{`H=(!)2xYc-Y z{|?l7KK!aZzJUR(r#zZG=upnUm2#*C;+l^DZ$eXs8<~SYd~!tqaaE|sXR`~5wZ1N= zNz;?#;`KbA^+LrOhtKN|x|N}F?LB`#eN*bw>n_Oa172d0#DzFvf>=Hec{v~69N*OG zM%M3#^~O#rBP<vGhia19)3(!FE|OL9u2kHe-^h-i4L!SwKCN&0om}YDCUKUc!Axh} z=n?dx8pm~7jr!dOb{il4P8`<cP-JDZ&s2YkF^jdg-b077qz4yj5!|SesK+pJMka9g z#a-$w*i1C>-^0Zvo-XkR;io`0H*+UWVCKlFE6hF5KKZBZx!qX<CziD2X(FG2k}LGu zPaNy>OA2LgLK+*kn_?NwI456Juwb;Dvb3D{{dXm1ESgERY8z>oC~-`oCXLgdo$za1 zM{JW{AvXG7Q~Hgn3-U(bXiEooKl2*<KEG%q&Q8Yz!+ok*NNenhz*~VnFZyiG$G4q1 z%7s25G@oY7BREGl#KtJTfe#oyGSO%}<cM;;Aj53*C+vAC!H-C4_mqZn!9J#eRfubk zde9x+O6+_p=qg%Pt$XP+$IAFfSbU&mNDB$)#5tdhZKV>wp*@N$*r3V6(W*?J3ww#U zwschE#&G|MnOB(W0JUyM);#<oP;9eGS5w0ZE>8Q;`;;K2>JTyaV3~iAfwy4xX<slr zqgmUj3W(b@J4VSpp9PUy99t%(LJKEApgO#5_P=YB2|eIJyN9=WzRpYU*sXoHTdySl zep=<M$3XZwp(~_&8KbiuGWG#tdbt)v2ig5%QcZ7<`N$Hd{a%L?xB4pFHYs<6?_|rv zS&yF3{?&FE@~%C3*a>{7&oTY8(^-a6&zAuTtkY$>A@g@Kp*)j&wl@$wTKgn7vegWH z2V4`1n5`|s7;h3udV4kih-6pCMS2zj$)y#jQ-!#I1@f5U0xW*@78re>s-p2N&;;!& z6$B2&N@ROLBCSy9QsYm3bMUK$Ej}_k(sEs`J^UJ*I=+b*nDbr!Kb(_o$r4?bkZ(iv zAbiBrKg7eo)~wa6bRj`6)e}1~;(n|LSJEp=d;lgqIMAnIS8;6hv7Qq77YzP?qtV^O zT!2k6G6Qy%b}oCzPhuQ9^Z~38)VHziv@BF3x{&pU^)uAXs@L%duqU!Hk!QCcjEka; zw_t-9VHmB%(AUvdbF6dHOYG$K3wT38Pu3&@p`8Is%bjmYCxP)R1Tgh|I0G~vFSTA? z4;^ry!E-;pt&z_X1mBg80Uf=1hTifI2~01!4&?BwVCs}Ulca`+4qkL&Q*<5H9-m+= z>Uf^7poI}r=Ww2t5-PW3SGO7DL}fRM#pZ*qPJcetynW?)hq6$pw5+2z-49$;De)l# z`Xl2-Qb<z@w4A!nB(A}}!UT0^6+LAcHH8X$;sSk)gq~#vj7pMV`#jo=<`Q2R^btKc z+ugY>vguYL?6V^k8RGSIkW_JdLTkaOB`_bY4lC-!TSPqyRDXZ8wkMGWwxr1P(;TUC zW%H|R?jsbz&F{db1!G`oW~~Jn?or$GOv%%W=ioD`${qhvSpi3aDwJbFvRGWbTUdn* z%bpx`l>WgHcm>01&M#<qbI4qWJ!i1F1sKYu4u+BS8~<KQ+>lEuN34*)B0s>F?MV^8 z(8FVU1YSD^5eUOT%FkZaAx*1vZpy1RlGPg$xywNR9IC7KxPm+g9IYZbfS<UgSah7B z8pl#2tK803z(P`{R9L<USM3<?l?Ym4JumNIcYg2#&G;9ZAkzD%SG|>@;YkF`lVWZM zv{0!I#O24&YfJL$!<*}4`{vEIz(*C02EhHh^Q7LSo;dE#VE>B=`CJ`B>bhB_#PCKK z`^gLWs)J;kBdob999|6S&7jCy2FB%rT**@EDFNy*{WYc6G$o`;#w#X_8NrpPH}_%f zAlGRl*HWkp4i2YC@wJq87xyLq?gH;o8U0=?u<7*EWS3&9qyJH^({1qNsnX4;d*_ns z+4*`EaqeR1$)3Q;ySFzJq3Tm6V+@1@pf^hhmdenzdWf8(a&q|8H@{fO-$rM>qK)_e zGHdd0Z#}{_Vr@Kn%qzh<8Q;VK4EumXnGrVit(zKkUIN|66scM*qMeoS6We^xEHt;T z?_?#Gdt12WTDrto{Aifo<`=9{$B7A)L<nlFgtiB8s3w?9%V@tjBinfh`Sy6Dyou9I z-~^(B#0Q{E%`!Vg&U%cBzhXh^*`ztMlnW|qo$H4a-%q`AEsx9iK+E#XK+6X2TgbmF za@<_t?0RUTwZv;@l1kF=;VRItB_f*jn>h92Pd+(YyHSarS?Q~=KTPKt3qEl!<P-Y} zQD?WKn6~gY_$3#__kh9qCD~WUy?aq(-SX-4t`}xQD@DIbbUTk_Bw;yJb-O(WJ2obm z{0SikJ2ZbO<ORrzLt#zJMd4fD6E}ypXtD^NP&=J8!ki|Fh0|`XH;YU9!S(x-h0|Q` z$(ESYVy$|c_VTQv<^>qp2FinZ(Sw4=3mtBcmkpg1Z8!n2kffqv(9U`AZuP{t<%CMG zMmDv~V<b(z@g3|k-?|M>$@s|f*9bB8s348DaFpqen=BKcXcf567iq8|@d#a_(yb0f zH4P`v!N{6wJI3V7At6dvj)y&OrBKt!rPzr^*u_{Mb@Iw(cbfKq$z{^C3Z5CqMXzUt z3tBnRd)+$OX|d4PVQ|>OmQXPI4lb_X%lks<fr^By;Nn&6>TlH3#D+gZmD{9aAB+jq zpMUOzJMx4-^5KZ`%UmLTbZ6&XW&lIY@(PRr%e&I&nUnZ!p8^EL!;G>+XTp03aeG_C zdl$odICVCvG&8{TUWhf{{dzKbr(VjQ=}%(p_Wb9<%cH;aEcLJ(Fh;yi4Vx`Q9!<q; zjt<MnLDy=CS!6<rLo||{cBdiT9I)i}WnVs5T2QF5;b_@B;Qp(@$po%0wFZfaCW>_f z8<rTcgCHT5AL5ZWi^@cq7PhJcp6VXbr}6<4%OM!|P)6mAn4J#ib?c;J)N*dT(A~Q4 zLBDqm))P&XQhiXN<vA#OT#cIS|1`<GduQFUaJY#6xJ>2FOzlzFXC#bGJrO4VJ4k*t z$m?tFX_eE;&`HX;dZo)Up_1klh=B!Ii3*bK{p;>`LMIpP+y~f#JF0?D4uTa76u;qP zmdIHhcevwo-s;aJcP-_lpzfd3z!wNmC>KK?{Oxidf*5iWv_pB+U0>OmC0B-&)<ea~ zFYTlcvoN}^sN+<j4USOe0fNo-dLi{f>0Q&Sl<^u5M0pW<8zWf%!`M;?+CF5tz>PlP zQ~8r;d!hpFp|EZ(Kn!9^C*O!py!mT5a`t5T?&KcTd}+$`(|QBvlTX|ykirNfQ;`w0 zNmrWS-r4|U?Ou)&Yua^s3nuob*j`rx8YU6Zqd<<eB?19T8&69f<43a_!>y4XFtv8n zZ*~-oh^5cY%pf}__pd$OX-6}O<v^8!9K1r=kUr&1qLAKR>(L;ofVQAN#%XA3o&Oq@ z<kA!ktTe>#zZ|-ZNGOFG7#bX(aqc$vm+?)05L^})M#>!CGV38Qr%q^gSh#;)bI+@i ziT?B%we0|XvG4^Gri)UqY7)P=02l6&FTR5>8K)T8l0X>CTWEK7kdEE@<5vip3J-cc zF=SB&Y9Zn6MPlN$k)^H&O*gMj;y|a_bJJINoTm5OqSLRVaId03SmyZ96X>&uV-VlO z1OgqQM!RmPseG8xQKZw$2k=GDkNN_djO4=np{irhe{plzP4|$0D-$v|yFRoRhxjp_ z5{Orw7*!M~*TyHmi0_7w5|yMHl}?sEW%y@;<m%rOWXgWM=oO@Pa|zmZx$YzQ<YcWQ zfs_QO#!Tw9sS(Ie-T)9+8d=tt6GZG6uagyeu+^k*Gf(P8I&@M^Et_8|Muz>z$ti6? zR%w~su;@^7d=V{*Ap2TSYsf5}^o@0+Pm8DH44&b9c$<hL8Le(*;JPD3m2kbz0@CNt zitO_fU8^(uvjoz&v1nfUgc@<KikZPjgWX$8>ojpxKSTI|W?brOBkCg2EI%_6La*&k zJjvwBpcJNXZxLP&(Q3_BJku~yYJQ~UX;pLTmA1=#nfL;Ueh^3dRCq|;^&B;bImH-} z0!!aQZzk4ONX>13j!lHP9(Te$dJpzrzpcj+|HrCw&HA>;3Ez8<eW979<HkJo-E7gi z<NUXzAnKIxH$*8_A(U*ABi`n(i(Y*DvlZI+$Ffc)yfo-eO0e6u53c}jZmU-h(|jKL z>x|YA<UC^z!|siEM*SB2j}scj)0YA7|0ge<?k6Y&uc!hq9}#<3rl6^joP?2&R{0m& zM;`O}iNN=U;lSX-%=!6@d99CB4>L)vLLr3qnr|PfT{4FJ?M#S9a{0*+4f8xDq;LCk zTQ6Wn(1z5Y8-+C7hx&e-1H(#T_^G$bkbyn7R4ZNe;|X~U_c9WqAuiJ<LJ11RrKmVM zc^;QPgV8Zt+uQxxZ%)nOh9rYgaf>WRlATj%N=eFfNpT!IPiu43VhuYv*~y*?F)Sfo zY`RZZ^Qw$8g007pnkHHiOz|A@IUD0^&s4cjhAG&wt?SPIt&g-xSXvcxRc!Yp81fc= zRo|6$R;ztg;~&4g^?~<1`!m#FJIh)W8Hoy<ILYj*%X%m-6mr_Q4|OYf$OylrEuXjd z_InI_BZg6=^pO4<!SIO60a=(Ad!~Xci`d<Z3+=_0tF)8;BU_-=<q~(K=7}fau;kJ3 zn+c;XVNt8wOpd#32E|iYv_!wUH5S}#;#R5^=la+oU?rJ4*I+i(zf*)+q{0B%5n$rt z>UhJ5DK9vj63E!NHgdb}T1x-3oQf!M!T@Q^mN*7Np8x<uC=H_s=HCOX`fcL5c!iLG zTX&5c!%rTo?h?d`(^nQCqCWfh+p5OzXTR3>vonYvEteV&HL=Qw5<O(&Lel_nBHIOi z{L-3EPw#0%(lIRgeKSLvu%RWx3u<eVIb+r!hlu*<X8lZjd>rF2WWXQgtuOJ?F_Gx_ zNJ8$rw3>d|_{7@-Z%##qWyXCjO{W9#+{;6#<8!JfbDQ1ovw1k$zjIG+!r%7P9~1gz zszT-KA=Zk$>Cv*SxjIJ`$di>a>#dh%;Vb>eJ{)d;L8CT}#b^%{{G<mU>8e66RQlR> zSDkQrzSMI6L%iAV?e-^jQ`8itfRCfM&oe?Lxu>}3l0b?i6M;+;n+-+Qpeh93`?g&8 zkw{P`OTb$yhx1VuV+Wd)h1h5;8UO^xy}gOY&ncRB@)&`HC5#O+Sez%OgBfO((to~G zSmLgmSu^`O;XdQxrq|NttLwE^9BAgHYR!XwykM#hf~mUnniYBCEx}y4v8Q8da-%XK zi3<_MeKF)bUU7FCVK{Ns(=i6%W^!ui-7Dx)d>P^T(h)#2G^6*+*`L;Pze0D1=P_k= zD*WBTtLz0T_kWJ7ccXL&(5Xx<SqNDFCSgrn@sq$*oNh`|D4yAC`KqoyIcGmzpxCsY zl=xD&0;kzF$^Yr|%wEl)=$)S7zsGxuVl_op)(+FV&Hs#|+nVY0i!9>DHdMY>D83*b zD!U7kvv^wI2;k#64Bacn7Yu^5L@}OT78ZQs=~;LHmIdF619>L+h>QYpl3r2sJpe)f z|I+_8(*q8jd`wh3l6}~O+V)xN&_{8Jw6PuezG(Q@|0wU7zAgIt@uW<=u{ytn{fX7# z|82YXeI@}Im4=NN0edsW1I7`4$_@^k2~27+?N|>eIXR<St_iRkWlX49v9zeNwK&Wi zr~I!UoD9;%PS$^zXc_rNuQ>h0{q6^vs`%}nmJwzER!RSaQ~RwY>6zw&_c0{0Xfghu zy(<F7+!yZEVQZ7Vy}2n<bV3n0>}~q4s7nQ!0CsT1j>hp|&kFzeA0@4g@?P9EjR6Qe MUHx3vIVCg!07P&g?EnA( diff --git a/lib/matplotlib/tests/baseline_images/test_lines/line_collection_dashes.pdf b/lib/matplotlib/tests/baseline_images/test_lines/line_collection_dashes.pdf index 9a5b3f3d3ca5520e7834f3e3f6b76f06603342ed..18b2e46e0f11c92e338b7d6f7b96ad8fad7d222e 100644 GIT binary patch literal 15289 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 NFA^1%gpwrE{{i35q_hA4 literal 15532 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 diff --git a/lib/matplotlib/tests/baseline_images/test_lines/line_collection_dashes.png b/lib/matplotlib/tests/baseline_images/test_lines/line_collection_dashes.png index 4ba990cdcdc2f1536aab91e5864b29d97d277b87..aa1d865353ec603a325224199120e8dae80b3940 100644 GIT binary patch literal 168090 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 O~F4_17z2O;33` z|8Ui@dCFzok`TXBjLVygRxiKR{S%zhb+xi6ak}lff1H!rrEVD7avP}g?W01<)e2nT z{^KKK$OaMv42;D;FCE=oqnixgQ>3P1NQ))!Xc@?*Hkr<y96~&rjM3LhtJLH)4GsA; z!CBtnrL0No)0MfAYG~g#Z2>H59kbon3@knW<c{x)$74pTCrAmpp%7T5yRtd_?C{PS zS-G;mrC6E{%CJe_TR#yqg@+h1;k<X7Q`9?8$l--*4q)8LpVP*-w!XXhQQ%o`!p@CG zH<69`Qz=y_Gon@a@xh*lJ~03x|9<rMXDr^ADc=lf<a%7s*VVrjeaez9#yO6=2W@jq zwtV`8fdYy`%O<$#AcX`U1v{7dw-AFDuPxsogOt4HvK`c(g{2sXusjLJFkLP5>m8}B z#h6l7Dv)2=%c@3DMMLnBPBmwY+)fY1zPFeZ@b)@#@zkb0b^kMA;bz~f>g4AeTZ0T9 zD|%4wfF%?k-sBUoX+i_3e-TZm%+`8haw`X%KXAhl4@E0?d-iq~qD@J}&NL=u`DB+Q z`6HqH(o)zPs#xaZ<Cj_;aG2s_WE@W!HTggW3go$^QkL_#t(e{l9$U;i(ipRO*6k;D zdpuxD7;RZbx9Q?y$Bqjn*=>-3)UxWgx|b>B0W~K}06w$rDqo10X!qFo@lO934*|39 zPro-O2jdUORN$Md5t&^rma}#=^g-4I*x_)#voShKBOQS3#>{oB=J2-&Z;fgZ`~rS8 zdE9n6)g=Z@i(q|;&={>om7_DloSob8J+!~8x39hF&m42xta0;keVpJ({tdYbYSQri z_2{8r3`6Q=ya~eWKDLc_u1Rswik8)B(xbV*1$(Mr0(%`>nvWiB5ul($VSOq!zYx8) z1R+ygv)a6OA=<sh2}C_iFrbY-d+wt2gwRCL_eg*5Plj#f!|naMMu+uEBeiK_IGVP$ zXVUiCS_;Fd9@i7Sfs~K~5Z4TJ8ji-D&D|quYzSlnEF_yhV!bpz%ladgi<22xsKerH z8#gn#ex2+j#XCw_NzeRu;)el+pED!ea6djde41zG+c0g03bj}eBu>^?;Kx74-kY>Q zY=~f$tNO&_hRdJEA^9uSBlgiJu{rU2KG^y7*uc0Ks_grN2d-YvJotTuQu!Lr`z$2H z6E&nTEq*u$1Pe!DS+XDciof<Qc6<yH<uafZ`JIT@N#Y;8XQX>vpicI$F_@gdv0h&D zU)B+g!4nd5<(Ep_l_yJXD32AlPjdNrmK};0A#Qv5(;Rc^%oTF=Kd=izOT7Er6wQ;N z$~8;2#O>iw6fOVo!f26EOrsUXNdmiFreepa?nKE*-Jy-}?M2GJQJ=Ab>wSdz{d+!3 zO-wEZ>5<F9uZ?>@Cu0$go9*}UzpW7O@_Cdsl#)e*Kp5k)8x?+uknrK~Mx0AwITR9S zX37!lR(J<)HdSe1#0qt$6qmGclLh)MNRmI^5)XAZ4X5_MNK}ImR;X~<-cgE3N82(! zEVWU&erj^iFGnjRWS$qYYKA5`t{wp^>X@+XFvRycWu{OT=?Ptx+D`<_XO*m;QApSO zlHS%|{F?<oZD9)jERxG+&(-J4`dWhvoF^SC3V-E<c*am&NF>Iya6_e47*GZWynSMF z!zK0CZ2Ms<*(RQMW!Z}1pZiz!F#TJYj+lL7cP1&98xE|G-fJzMo~>FBN_f}&`2h?? zWh}c5ic8$=6q*m^YJ0i2>}^KaJH*cmvrM&a<9M%Hx36;2?r#g~tt}*-{n{HgNN#in zj9zn*WVd&-Fkx5lnbIEJHA=mY>;}FN-n$_~rSoXtnT@Dd(Zau{GRnb>WBa<Xj1m6U zhfART3v4~KMNQ3|1g<UHWv%1RN-6DZU=546>_{`K5eNP0Qcr#mDiaMu(!0@znnSdT zxtt!V|L(>gT-$e6y(|kb?QEhSU{_X}LXAz)IiuqHCvd80*)~i67HsdY&cv$ecE@hQ zU7Y=W!Q#FNctXq2E>E~U{Ujtkn_5?T{7s+gwA+?st^kIgRms56c!#o8V#Pl;9(kPb z2R?28Z_(_H_`elHrv^z4Nn-`v=v>b1_jfJ4Py5GNqw1KHMqQvF)PGGE(CvY#GZ10j zuQV{gr9?utcciE&_s#i3QuU_&ZiwfGJQsaqvtz4OW>9&_s!!zsm)KC%&iRB$|GElT zB(WARcp?h;&h16HL;nW8-rv<t+0wa2JGPMgq3qOu?|0wtOeDx4Ud|M+nc2v;%+k;v zzZq)_<>!6l`R?+tJv255#PsR9JXonhL%f>s#kBBTTCe5PZF0YGXesweao1jS{8G3& zcD;P~UgSiTU|O<fWsG*};#1U5d}d;7BFtW!pIgbz+%nPuXoWadGuZTT2?%#W7B6I> z$J68J-QWm033xr~)QCb?t_ZA3aAs&f`JUDi?re9b7N}^59`4Pi_x8~zp6`wNRGr)n zFY?&ZCPa~z5jW)(&-W%Bt@^hTLibHcx?tzXXDh5*SO-a(y0vN3Yf<FEU2VNS$e2p{ zX05~%zdNF@?=!R?{Hs76jxR8ZDHi3}En?#Ja=&DNb;LK4QB|;m{6sF`eJ|kfTv;be zVOLKFg;ZQ;y&4_*?v1e1bw}@Dc`W2?TY9pCtvUeagT@@PdeLN-WxH%iQzH9~s%jV_ z;(Cid={)x<w9B$%n@E+<?>c$yvpbrVMz6T}4x+uPx)nNE<pE5qP&vlA(y_mk#iceg zb9|B9;*#bFRcds*=`BqMp1E2u@v4L1p)ZU>*6T#hnkfh_6aOu*(X}BZrKRs=?GI9l zvZD=uA-^Nbt<D+uf^2<ZcH6yec5%=NrG+-O!08>7Ee9!wp-hQq+X1$&&qIsN33n!; z5sz}ed12-PpVB=e$|4Bi*3z>`KUwN$TTuu9RLe)r4~>K;Dw*$`xqGioRj?N7K|bD} zZQmclui9PVEQdza#uQHM)0r1^dx{U!o^Xe;qTZTr5fI{5(L&4Rtu%)4CLZx^_XVzC zIE$%M^9G!v*1Q$73wHq~KT=ZX?e6WmiM5ZLM%^Z|7S#iZIYo^oEBD1HGi|#osr1%1 z)R|R<TSmKD$r{b>+ogo5DO%`RRJs_)_mpJ?-I63(rr)0<Zd%0XpctNN<+FR6(HM05 z=(GM-;?iS_y^nmLBKd0>WZr+DJ7WQe{9OZcO6&ni4n4)8iY0CD6qfiG@4)VJx$Cy@ zM7SQ!;-)%A&6t|lU)@XIS{SQVoLwQE!Eh7GL<Doa2~(k-+}?^UBTvZl!Ci^lXPJL1 zkX@#{IbGfm5iIo<I!Zhxe;SRrV!@J4l}IFq-A(NTGB*w-<vvvO{7*}_*trDTMiN-e zFdpcK)?iL2c3z8)3cBOCM@LD(&r7tF`?LI*eATdDiS~4)(;ut0grU=sadY#;=Pc^K z2og5Z@4}1wc;0@i5EN~YjA#nK*NpHZw)^u$mRrb_VEk-ct}`71{aPaE0auPZZ>K<i z!O3084Y}T%w#a0*{D$i7?L=OBQ%kmsasHTrF4IbJZvZVfMAQ@9MU%Z~U7W+iz=V4^ z$m+X@PN(iPly@;uYK`;)_8s$aM%C}<I1Q<z|BPAGd!5pQK9jsI@86L|PHa5wYcTF$ zr+$T#<E8cGnq2l|1@$RUWEX9&bna>Wa0w-QV;M-vb7Vn*N}gy=O-c3lzP~i^M$k+z zeM{Op@O(JSuveGK5fyJ9y~*06^b8U|ZwZ~83frWWRf@Wn$0NY=WVj|Cqa_dh%`JCn zk8v6Q_|EKvV+sH0uWC|e1!Iuq=)ewERepRt(^jM&PMy(bIqT&<Aha$g<qen2{WD^6 z;htt~rA2#39X%bTJNJb2bS)h@4(}DL@m6_y#<q1nAwkl-B+Ws@x@ESB%Y$)<qI&#r zWqKw;PBeUT)V$7+Habd=)=*6}rMt(AR$;{*l4~2$lhr&@$5m38WbL-=dO78;tl6mo zm;Rfyg$w3<`;t^-=Bh>Q18hPr(e8*>+r`v)+uioR&+k1$XT)+RXWsf;3fUNLmj|U_ zK0)`fOnW9i_>Zrh{`l?Tmahfw9WRuXkh^XxLUlsSOO0@l(?;3u4r75W2fcKJwZkhm z5ur$#O?na!Rbhu07YFy+&UZ0WIklB$ubeMImT2J6E#^x6saRxeV3suQRs2Pf5EW0- z*B@_}>cZ_|4^h<mHD!^_>)#X1`}>2X6E;HU%Q>Z}f3ae(8{e|{#t3$?`&)Fvupyzs zBqw`>0YxRW{IY2VGrLIdj>AG*Xy0Nop(NLD70g(GwuSW*{&v3+u!gFW7~`R;e@_(g z$y#2XkYHo<0Q<zmfJjIzfMORF=KK5uy3sBUY9YmK`1j?(ON5KYg}2^Z{AJyP3bW`N zPR>ii$51yA`|XjFhr`-BIWZG4m)-C={o*ud3b||B#Xw)7UFPJgbE4*2D{8KEV{d9X z3iu_0YiC<GW0mV#H|~R~s)<8CQ$23A2RA312`scL8v@V=Rm4grqb+bbm&=K)1_q@Q z^aF;(?z?S^HEK}zhJmqImS9i5DddxvkEh5RO#vy}SzYN%>nB`#1?5Y#C8iarxiIMx zVd_2CQmw_+G6AArCMv2?+7s32h`!;%lBV#_tn6dd^&%nAH4B=J94;La7V1KCow@J? z$2KT~lXw!3Xm)r^^o7`$f85v2SJ@hETTezjd1hJ8Cs7DxuooJ+7cMtDC(rGj|Bcrk z6EL*4rfsKSVU3%0JP7Ig@2{WqJ`@WBpCR!Qsy~t?Yw8jv+0LG(1C9tT2fqH**T%{z z21#;Xvqp5g+#&j^-}Sh-+33WWS!w+A)BSOkhi%{CQBx{Ch*X-rQmXc(>x&!N#h&)l z6?{LS@Y%33?aV?YWS{fSZC})N-{jHGMPtku>0yTNg!_3h)zW!(;Y9MK<%5sj=59>t z=Cr{hOd?YQWZ9zUr_*+-J$m>9K6}tA{HlLT7h=uW(@{~4Ffj9lKU02%W^c}B9g-s& zBR9sbT;JjhZ9oWkbXTA&6Ui;mEBpYauK7QL6VwN$_~|7wZ75bbihKmT5wnItwJEvT zb=jnPVae@J&P5sy<UgR(pOVK^_=B%&AnR?<dFSd&Oj!9u*`O`md@6mh0g)j={zPli z#%My^U2K{&l@xlX*1CByhO`N1f^`Z@m}rwGyCMO95+>i?lVM;)$*X@e(C6Dmd<(<% zw%n+PCN^Sxa5+<o)tD@9m!T{F-dJ&^R<{}Fo(hT;mop$l5D_x~gEG{<!a>w!KJjT) z8jNm%)hcVIh??mr72-xN;o6QRotlz@`p_OslfcHDXS~fExgrTgz*(n?Dm|gP&|pLj z>-*|AJGERz29MLSU%n#|gu?ZAAJ#X7>WfgHdAJN`5j&)lD+4=4_N6b_hZ;45zZ4Uk z|JCpza`bPb9>V<~qF~Hg1)pNls9Q2d&&<w(5T#czXbHpnZ^xn6Xwu>@6k<`4oA;v$ zZ2R)ah(QO@H+ZeVDeMs81e?$1gc-6ZJWO1H^lXG{MKbU>nA4c>iwT+V{JaLuHb(=( z4B1Pr<g@sii=*7Nj>M7Ihoh(<BegqPC=7XDlj0Z85Jg;&ApH4YfKao&1@E%9*Eyt~ zi}Aet{CkqxB%OG^WEG`SKZ4`UPV64ePcHUV(pJu52|m-P^=d4s52^MJE33{>mx6x~ z94oW~M+7Y7$_+nsM3l^S`%q61LcK`cdv-#HP!+j(%zRBdLL%Bq?%sxVDQ~6`cD(QD zI?7}$?nWcg_WEUKeHW-GuN9nFf-ZuHlRTYkq?%ayMQ!!C+2g2cP69dAEM?LNM59nh zRozi<k}Y10WX+iG?<|a){iv-lq-Mnh^A;C}`p6nz-(dRaNwV3+i`tv^K*A$db^*9C zMKdR^jFradi3Lp(9`3W9D1CN!adzHI1CI(Oy6B?`N$+K^FjI0Qo0?HXm&w)l6V#f7 zP`aZFh7wlca{4pAgkgJx1|PcvcWv-~iso;2@I50fF=Rx1>e!#aCjq%*HhF3{O3|J6 zbrq(%c0T^wN+q&l;hF)OMM5Q$f5!La&1?QTa|tdjg(nb$fJ9O`)&IVgJNakqFQ=a3 zzhCX&MT0)E6<=NKi~maH=56uXTR#?(%Z&Kx;c7ry!jC2Jfg{N|_zZ<$@4McsF4n=u za`EX(#66hvUIiTnsWe=^5{9ex&L6$uYw;jafPPpLFB!j>4}5-d=J=sU)ROM~nSDi9 z>;tSQd{C6Cs)gcB8RySN*DBkm%Qz}a4n2kTh5^qQYQ(-+wT;R4;k$lPpJ+WTiTY4f zeY%yOO|IxW8~#N#`s4x>?`UNBdoIFabNWkXI>E56Sim-{@~1v8P>iiqs9?H$<A!^& z>%8+5Ya*Tuet4g|nKKtgV(1brt;339Oy&DK`(6dU2Fo`tGitr6x;lgJeQdV6DTRI= zDZj2?PDgj*j}CT^52T!uOZVImeVD3cn^B~sm&F-iZY$dz^~z7eL7&b+6mZ1ZTTM1* zHbJ-YGmPZa9-?1gR^c8ubM7+Tsk**?w0Aah3j}Ljmj`QE$TnIGcQ#dCzGdB-H0!OU zJ-i$A3Gqz&`<bG3>8^W>OUFoRf4zZ6c8NJQvMzS0uqaGBAAy(51)sOuE}JR^#ksH( z5<QYx3xXhb_#`l^|FZ}CgSB5m8ab3fJ!ay-2|QQ+8nc*BOFHUzT~@lf&B;rZR44a0 z^cfipzwBEC-R#Fr(CD{e?8uAO^4|Rycnonl?KrYgDA66<(BEt)KK%ga#!j1;rk)`c zT$!>p;OAb}Ht+bxvF!2+BUHF}RF+IeH7va=Bsd)y$I0_IHr%JMl!9@Er&^!(ews<! z%BsKkYkul%crqn>JoJ;zlaU3hMVe;Cyg5Xa3tLj^(?<*|Wt2VlDO}o7+9h%ChOk$y zrbLKIB;1wzk22cDf%9to{~CCe(ba&v3wITJ8RWL!OxU&T=xi;KuMM0Ss%n>@Ry4CP z+~iSFHzcet`+*7*kde;4u^ht01$x%u2V_`*Z`qSLIwP|OPR%U_@VF%rA8a9cqL3=_ zGgHJoI3G^dZ4TVJ=d=IU0%*-As~nm+%LK|%Va+~QVM&d#jg_PC>`UY-{!pgrk)-L6 zB>6ly96sm!EtY@w6RE$TdU{&dMi(sMA-3bB4Av{{e-OvJc-2tV{LWGw3hx@p?$E`$ za$eqeaA}%Zt6K{m{{5V!;f!sE?-T=wbiJim<OqSr`4i8IPDAW50`|SZCUonZD-;w3 zHy&RGcSIIB3vBfl_Qv*S_XL!d%**(<z!1WrwK6Jh;Elr;CNi594=&r!rv=HpyW95u zfoi-u;&&jJ{zoFjCRa84zt0MgoVKhE@!{<gJuy<~-@-H|f@+%&?g>UR4rr-L^uNdV zr4gY@a?n;%c>{xdbcYYJP51F8g8RKl@4QYCP%=ilM5)#{8#WL8_<d1OP>M5n6LoOF z&#)emw<<KZ*kUhEDuOX_C(@kR_R21d1TFaPVx^zm{S$H}1+zco=6K_N5ss0zxixn^ z2If4ipQ?R)CMA<FdA<<3xB*~2jm5Bh;!FSRG8y>7ZPb-c-Tju9IA6P}K)Pq_Y3^v( zr&03Sxbcq9PA>M_ipFoLN7MDa<pvR>>I`v@q1TYtUQv!s_5Ydc;;{Vma8IGgOH)u7 z$;O+tuP9d5Tb#-AjxH0;H#|><1(1C5?X9GVsMBUmhmd_0b6N-2;{3(@GP=g}HBx5j zYEVl!t1evxIf7Un%nORm9d|wB!fm0`PwA3&QLCp)-0|^xCmBN;Ij+vbrt66h70~JT zE>C2!PfS`MgxjpT5zZ?!|N6A&_gOoaOkXX4WFmG<U_MOtUm;yvXF>C@J+QT|djGst zI~FdOIXlK`;ae!03_{;o>{#Pn&meer%i{SgTJh!j4Y;1sA>B`=c9SyDuPkvE$RIkX zAm<*@1f(Tgk9PtWX!{o~H?$Jj-k#WgsAdK?@$8OOdhW<*E#3a?Y}?M>8e<pZ{%#Q` z`&)*TXbf2B@ZZ@01zf(9u^Qxt-|Ifv##QkTw+2p|!3)B7ix^}EjHp*9gIXSt^TmCo zq0obAE1Vpc6gdwlGdRgyv~5;ZJ{1*}@S|mhh?$wMEVv*#CJ7VjWO!&Txg<5JAkLMW z<D#>R^6H}C)PWc?RKufJn~&EsD%TY4zn3E;%t<$tVBqRZ++WZH7|9ny^M1mae#>o1 z-9@61&MnNnV`yPAs!Z;LupL@2G!$|)atQ-h^C08!+TheW?~pY2s~s-%mcZINg%&1G zTfx`&+wbh4e$>*#26a_Qb8FgKMM~c0p+gK$S0^N(PvdlFOogbOz<xK#v@_{SI@$Kj z{wqIqakHWW#WPdZ_Ty%qKYfv3Pg+u!kvbz)OgMiBQg<>UzALTp8Q>#4Q~BNnf#4Mx zSAvwkba9%nImjwg$I;ArrQzm=gj2*MbJt_vM*gyyQ9S?C<+`%k76k8cySXiJ&8oGH zi+S2(yI~it3!NqY8K^ohox1E!PzlVGc|1D<E|0|Jwu>szZ5vf$Et7G^!^<M@$(sse z0K9%^-elp#wGy%VO;CeQDrm`eMiIiDH%aJ_+R;no6BZgOwaoA1^P0D6^piS4M9i@g z@9LnLut9Se09zzVl>3Y0iPw-7;}1_d9rHa2w?UBx+r^we-CY&){%)7FG<}W6gYZGM z^kk;jOv_+CVNSD*ZeFV9WL>s*&m;i%wyr^cgGHmj;wdwUe(If5Ly5nv33WjpH*<(4 zC-=#hv(qvuozeJSH)V2St8j<fc!D5;Z`EzHqHa7<_pYAneCC*x_Mm@R)6>b0=!*lV z&eD=wv))iRp)3K=H90RtmIM!PhdJuHU6QZ-9?jFK*lcbRqvr{mLS0aoNM`*lmc9Ek zy9Ak^hb5e^!}}|%ruV8x%sJ6>j~sUdiCW67mh0Sn_W1tY`4;1i-av63ZEj^0K-S~F z7Evnpy>qzwem@59`qipj;4B{<mXF&r%Cy$TU^4*Yh0kZC*uEN5jLt|wT_Zd_9`p9< zXgFz&&dJ5Oq%KmKX2-Sv%Y;#PT0vin0O>O@&VWkkC@O1}G&VL~ZaX?UG9jQC7=-68 zh+`6=#U7NDagS_?$JC2V?OXbrL6gBZNQM&yPULyJU7cngh6FV@<chye;+C=UQKM@h zkE%vzk@lq3j#;5V{_MDdBarqf{$fEh`!NY`tNN$@vfsH=Wxg`GDI{jwx&kAyq}1xm zF#W?yY%+Aauk3KDuNxO<`FXsD#M6<6YKtBAO=45>r7;r_sHO6j&g6*Zl2rVL`gpdg zV7PddX7&!mH@lPn=pV$wGi!r}oAC>XpSI$1Zk^BEJuE%#8Ko?GWgh_RmBYN;hmv1# z4aMB4B)Ua7)HTlKi6(1^!^gS%BKZk3yKhltNtfzirV%lHPPl_bO;@_i1!v_?LMA*s z+seI|1E$p|S^@NXU%ZOc8rtCB&@o<2`0{JKr@|sWq?fH^^ATMP+O=MeKQBOsRt7|V zSV`4?bC8Yh#@9?4%zTtPAB!v+KXBrier5AcV~IZz#a(c3+#lrL7<8cF3)~8M!zVju zalW}?v2@qeNBc889GMMk&#F2>d~f%#_eZf5et$p7&`%N<-ybi~NLIfKvOgD-p%EU> zwsCegXL)+jpoGf?iH<F!&Eq&y78aOv?8nmZ#>(fX)=}LTcf=@b8Geao;LYQ1JL2gX zs2A?JVJXWZZD|e@n%98kXkuU)lXp@nnD&`Xfb|9RPhVLAW2@9<stgy$p=Fcy(Y2J6 zMM*+_trc-ibJ!_`G~*+er8RzWi3Vg>r)%42GC!LS3dAkFZHi=OCNIpe?2mr0(T5=^ zdTZ7iDyXDPiP_v}39qGi-CFHdNd=hD88n1xD$G>^{(s|XR;t4({=zimb;U9JnJ>Yb z*`)tQL%-Wz8f$qjUx6$|7dya$d@)5UkCnXte)m`O6nlSr8yt^2w?~G`H(Q#uN1TJD zLX=BBz28WhaP_P|1`BtI!ZLoPiLyq(mjBDjv6$SZeeZt60C=BhZN(wSMYbxlhht~1 zAL#V&yCbhySAN9-g@O>?OpKzYUyb@dF;X#R(v8AcaeEck(U*z}+2xMzm4p`^F2)ic zNT6_a1cQS>0}|*^U~-{qM5Rm=aOQL4k7OiGjpDN6hA`b5A1fGlkr1#@pqPuK-1g24 zLIz}{TAyOgN1;}T4W6#%Lu1|C*q!j<E13%9KaKJ%e?>#Qm`_dqAxyRr>|K)mIQt1y z5)iW+JUBv9@HYy)IiV(>`N7Nmx$Sj;K3`ToTNV9e{zqAl>{_d?7wruW?fOm9S78zk zQ2nL4cMy(xu(vKj&3|&y;M;b$pojO(bFF6UiYtFtJJizqXTdhJmtad-fX@#qJuQ{u z-{QiYcrH>C`CnZRn&2|vrW8?@@Vl|NB}rF(U=p<W-Tdqo>%xaL&=~`xh8q(iRuV0~ zpn!ljLW99rRLB2^WRd>;yf7N#dv*I0n%{{TAt>i!*^}pB(iwix=7(%T|8A>#j~4w) zGd$4mpl47NJhhq2w@Z5Tk7^2ruCM5@KZGbII2^eAgY-21{b3cu8%_)ECh56FF?4_3 z(O8`q&jp|_8aSZv`-e?T1NY}44Vp4GDwqUE1nO*#E-h=QYd(t`;>~f9{^6`QY^ngk zKN6SzlKr>%2Ps=5SV8k%b`Imzqcy&QZ>uC7m**doq|&#df9^VtY@xvA)uo3#Gc#4t z^cvi*{?WuiCDfEIs0?J-b?Ml@L0UsLaCas1e}X}(UV;@^i~KnWsC68fP^}nk4a`Vu z&B*kr5cWVMLrJqcnP}_BgUZ9+t6$>&3m+Um!a^rYN(5`m0&G*!jW)N&frZQ3e*%VC zmFDwqBOH-dK^(h55aaEI;&9DZdVWtCorJ2oO2OR8iMnk1$m>vj*Y9I8=S_MYv&+dH z>jL;ZnH?2VR$O|!?=GkF{QE58mzb*~JJ{|qu|H6E!l9-U|88vNsReBGsBi?sT(2_C zy~pu@_~x$CL(n)yb}!o6M5SXX?bp)6oyqHmZx$!Nb=CFwZn+?KhT3KFFMJ7ImV>nl zMT*QGzt=ezwWl;`N39p7ON&FGOtD)D`GL&t8qa>|_{fdTg!uG$wG-POK6#E6!xT?T zH;w6MCuJf>R9Z*JWik>9D$4^7m^CUxaIK1S>p66WtsWW<;}IOnilD1w#Ls{S3vm7h z4$fR$tSixr{r83c1ah@Is^wmd<kgAGWQkN~m&nk9U61?E$udTBiv>sIq)_Zg&e3f7 zc%kJWm&W=Nh>{2w4rLU~PP`p9Cr^;APg9x%hC<S#D}nB=7n3;!u#Js4&nNUUgp%>v z{mkfa>xU=OimIQ*6svIK?iYOM(x3Zrx}1=I`(VE|(zprHaN4C{+6U)g>mq*@A!$jC zW86VG>HgP}|7&!Jf{!#(SD>dxUP!08;-gf7GId`uU5TR<8te~xI!~GS#t`g(8Qt>( z)d*Svg$eMe^yF%~0>1v-t5+%gq8ZHlEw9ReqQnyxqoD8)RmoDgd^kye@_NB<m6f&1 z;3nEt#h5Hn{Cei>L;@=7ZmqS6$OMk)TSyiVHMqNKjRcM3D-KG|L;4-&+h_~0T^$BR z{bvbEO7M`NxaYWu)e7uus&XX@Pzf<{kt2{fY{9$Pce%(8@{i=i#3($|)6Sh8Nalvq z-9+E?G`U~pWR?*<Kc^%xjL)8EcXf_u{LoKNU3ztokqY_vV_uPbR1SB@axw@n9%cbI zQ_w~OQz@GixmE`OiXd!Hi;8~s^@pzTqX{vP^J3Q>TK+gWp6)G%KMmi?X7z}oj1zXb z*eLz1Hfk8GKEz!mYG`ZN4Q8I^Hh1<KD&)%`4e}<dFVScFd-gQkseK-uqHJGpc<Bo% zq(;f2G<ACbV{itlv|sa5GTve+|84q4tn=fq{R3NK4@G(H?lcPQ-!o=zM!GbR(fWm> z3EuXgOu`KPt287R=c4ye!y2uxPS1Rj#ttJU*q{1v=NC1qPG)=Ons;gRXy=CenKg!d zyg!GwHey56CJzgIR@~xF>$=Y~3p$gS>(#O!+0<++Kewojy|49Q^if>)xkbFNX4rc( z7o9Y)uqgo$n~%}&{&}^4&og>v^Z5$lhIx*^tU2WBA5#t*Bcl$?r+MC=>&rrCPE0R& z&UP+FimP`2y;J|ZC=SC#KEQ%Ak4=$s#sFc|1y2ATPmHJRd<ZL8IA_*KzN8>eQpeZ< zDoH~}vb6aPphdm$oY-X-Zr+aFK%J3)K6PL_0sT3spP<?9EQl{@CE;?dus`8_^1R>x zN2s8-ESo*pD1vh`S+8EyI(BsS`=;+)Gd^ztKr5Tt+Ay{WoS6?)B?*$b|Js$%t_WP9 zB2;Hw=N32hO(FL_$Kwco3duiJs&=LZ87NtCFN%!o@x~Qlzy3{te#qTKYe-`j34r?P z=86kwd}}Ki#1~kB?<cc^68)2w@w^;NDHOfPEN36AkDhIh=lenY)eE-+QXSwAl)VWv z@wwXBH~-7evm?(AmFsjaP)qw3h9IDa02PjqwkVn7IcJJkmZ=%J(+KwiuiNh~R+$R( z>g;AcUVuHZbR{<gF?+T>qAT=>Cwumd=V=5ZT#Bnf#jjUsg20v<*0v+A9#gy<^u28p zM*Z6t@AMQNpAs@O-AIBSufy4LhIJOl##>_W@QaD|mahvl;fNSp@k9?@9p<Q_jqc7k zXC}r?>y0>9)LGl1VQlTdB|qRQD{-bd1UvVRen#tPsuG(uRwxr8Lu0fT#!y)IZob?m z|L4~-421Y;R@P$&u&ql@QJ<p)oRf!k#_(V5fr$eJk_R4jgzgYYNqN}T5=o3>=wB7{ zFgV}IM+hm<R0xsyg*^=58NQ6QK6%ju4{bPr`Ib#p5k-4oYg6bE=i{fLP?&2p<y#k= z?`OL4vH`MVtNewmtmHmrx+m%C9IkvbXq4V4rNasKj}+qo_kzVA99|C|#`{_lziDDQ z2-&1y=gPK3idQxK{$}M9=(6N)+QR#@){CVi$ScZ!%jWI4BNiI-RJg(LHUl(sTL{(G z761;ZQz=yOgTeGe6j{H0C*Qh}VPJiysM+X)iTpJE<;m!ZBepnDQBq3X`Gm%DG?TPv zH1m}F6Bp{${+`su=4jG1tJ`xDU=rTo*{`_f*s?&JLP_LQMKYvCb)7NqnQ%&LX{#d9 zf`!BO=i~n&;$S+wZ9CzTmDELeO=lm;5xhL!FGw32?Np^Qw)<uZ4q5+a5Aa!bv;80M zERKY$ddc3snRb>X4rKRec&L;~i-wXXLtEF+M&&AEmGnOjSI}0Pq|!MmLnaI<3a16# zt1WJ{w(sSaZfTv?q;nmi`?l!oChtTdNvO4#kK>}<MFOu{{Ji=fK&JqlOwsUcyeoVh z{lb9)4Hg=n8ZQtIj**8UsY)bZtKSH=sbSN~bWlnuP+q0TNU`mm|E-#`ZhRpX9kULc z#kYJY3szj4OXd=0?Na6G{cj@#OQE_y!nK&-?iw#A#T>_34L2Nm+cT_W>e~yhwEsi7 zK+zg6CZ?+?j@zxXT_0rJL;yg=T!xlve^#8-5aC$ok)ht8@7M^^yJ`4^Zk1{LmZV{D z?u$CH+eFTH_g0M~WHSnS@~B^2r90i;7HDB5T27_WQ<CeEZ&r9e<6Ut@mWh8WozA3~ z#=Xq>*O+S7a&Maj^nwWL(N2LAnw-%Y1b6lmQ|_!(I~Rat1L`iGS!=Qm**v|tbR8Wx zt{%HuXIj8v{+C$jB;dVl35tcVo5$s19FC}eF)8Q#kWSUVHD`dNn_HJC5RFC)AU~c_ zu~?{5WEyTaRFPrnPRE4O50xDXHe(qMJS2#Mdu3u8l$xI2{p@y1I1zL&^jJxHPI6j2 z*YRTuX~(C|4|8<X@~WwzM)Tz~YGvWHW99kGe#%s96^G4l--lM;YryT~R~VDWpDcOH z15crFV<;W#<9GIswhT>so*G}9G)oxnnSn(nPR$;>C|tnV_8bCM{5Jq1$z<GGhpXmq z#_KF996C)EPQ&e9fho`MejRoP$)d6Lv?KaC6|>J+MfL2dcDR|x?3cv6g>Oybh8w*; z^9dWu6Ys{yv|_7!vo13*>m0_*NuQXibJ+!40G-az)_KG`L=)jC{XnInN&D4C)-aU) ze@A^M&buS*S}4(Kx&dXW%yN-Lu-_JP4Y(i|W@E-(1Cnp1UbT`g7DKv8R?>M>7WuV= zmjY;J2>DG_t9~hF>+jDCxAHjr0u$x!%_*aL7H4!q=jD5LMO~%PCVztL(nBaY33{XT zLQ>d!4+ec#$djkEmd-f+tSCc4nSS|-qPtV+ss=CB*Prc!Qujq5i$MKP_Jq!~MqDxu zRIO4bI8WgIOqq@CIW_ZpV(>-C@_Zziq_JJ2&QZYx!bTW^H@#9!oIK~op;R5WCwqg5 zh7?ii>fbyC_`t-hT%-cPH`Y7(h_fT#cV0gn=`$m)ZuZ5&7XY`gNzL6Iw=`+EHB<qR zpPA%ql1B70&I0Eik^Yw}F#4W5LQDiR?H=GB^-W9oiO8?RiRTv6O}$s!31B?faG%oY zDR*jgxc?IZc8-+l_8Owv677gyPkD$C%?<W&LQ*mDl?SeWq^gq@;w{$j5E685jw6R+ zsQtYnNSwBqWb%Cr{0NpRp=)HtY9x)L*XZfE-*ZzJ!39j&vJ}O}iqp`v_b&wA2I35) z%mL(uf9fiQ53qbxxiOqYuOw}aDRs9e29rx3Db0~&3ELM31<p`g1JrkqiafVY4al}) zm$>9q#%kOSQiC#jE0(`h`X%s(TD#^q1oHw!rqcPd|1>)6J$=zl=WCXQzX(88RZ>;x zB)v39W-rm-rxExd&XL&JvuygcEbj6iPbP5?*2QjfW&QciyjQ_{$-8R{ib0Ru@ZSV~ zf$~9FlbIfW>nG-{6+Wu)Knm>QY|#ReKe5=$FbA`?@BP{biAu7nn**Q4=qud^&Dmbh zjk1v`+5M<*>}*fw`$s9{7`T}R_AcceWuRQYpu6(c;IiJ=#G8B(cnSXxo{tg<K7aB& z;3(@w0pukEW{s?rrv{3~wDHj1(tF@k`pXfXFEpe7vRCc%$KZ;sZCX%#sW6#xV|bFo zsxO$llUb1E;Dg}ah6$V+eSGbUMaBwE9SntmXC|+IA1v~AX*s)Y9BHFO(!`!qjLrnQ z{9#X{IgQ}cEO!_}OK0%WmWUCB?Th!m4Zam_88T+5a2h35d&fWss#qA?-Lc*$hF{bD z5@d-Ojy&{r{Ya6DCHkukPJs|q0TL|x+bBK^)q#|nFxF<nuMpT9RtdNr&}D!rOs=9C zPEAWox5oF@+Rd7F6f6a5l%!GovE2;bOJeIsOYMwde)zJ|oBfzd@C_$hG>d7>&@yZk zg@_p3`4PI(CobbgiCA$|JouASCf`-XYl5d9ngQw0?YD*1a)~3z>~tyvm_WCPTO!dU z2>w7O{scsle}z78#d(ZA2i;P)v1w(s)u-$m+bQ25YUquUhRPtg`_bC5$TYNN`hzP~ zR!hzaX-`E2r44T}$&IH@2q)mh@DAac48zxr43)5-?zx-F%^qm7i|~O+0gz`|V&BAI z^bDfKf3}rr>3k!Yr2dsE?)00GnUv&yy-VT3h^dv|J`NjB+ly|1m5PjnQD0VH`ZD$3 z`~cY>ZKUG|2TLl~gFQV!B&zd1t-B+W9Z%(hQ$RqO3ghYYPJt>ugbU}RBT$81qCWkA z0?JZNNX%~EHG3i-Av6{>*30)--P$}IVmVbGi5*v6x>3|mQ+pn71<KXW;2%(yqdPu_ zA=$Vl->G)5b_TqSTprm`+MUmEjs8=J`?3TH0o}X7;vwqV;fYlYyzSp0ip+4FQD4~? z(L@7KyOXf6IxcdULCm-n3ls+I4-Gw<&)I*&Y)>=)mD_x7=5aO)ZQV_6As?H%GMWs) z(4A|28!sz0XPo?As;^4Ci^S$|Yc%lv?){EBzLpaG*~*y$IlW^on`tN_r;_q7fZ!DO zB|M_*_0g|a=)LR&SHMVLaPuW+YGM0&vlswnX`ZwC184n(;?$?wope$;U5UR^my(|Y zyPVc%x8V_xZ+0r0!r`A9jN^IEI;p6(5fk{iXTOE)A!c?H<Y;FRPc8f3i}K8tp+4!k zS<w)H+==>wcT%$i6wLW?b(!hE{9BOUcB?F%-_bjRII>#RFno-W90i3t_f*x&O#|D( zmd;^EBKzuE(5@#x-L84B;PFkEr56I#;Iw&X{cDg)ahR0RjPF<fg)vm!G{2hoIDd+X zPrP?KQIAZ4B>-+P2)ex6xmNy);VgCZ_@3@U_DR&l<zyKBV`tI{d%St85>jh#)*lvK zj@lGSXWEmQo2`E8MVNL`Al<h8z@Nb*nycvJn1Z9<>iRcaI3%-$n)3pYsYvQj_ChJw z-J`KJBf*iWFIpvrB37R^VJttJ-v7;;Pg|=E3h9CXYmHCq0^onbXfw<s7LE0*R@ATV ztJ4j+SGt#GHbah}5j~Kaa|xuwGxOhd1~KiG4cRXX^uuS5c!2Q(SbAV9U@d@fy(0rR z9Q4_Y#ae?fwn~*k9VaK?&i24LZ&!_P;?lfh#|FqkD<ONdLdWOkCI~wa3^q7k>n)Ab zhD3^nwXUOz=Bf%2Wk%d_akK9$e^x6TM`(njc-uSa;JQ<H4Y0=qe2(EQ?~mao-0`@` zWycFYpa8pK<Kp#Kb?oCNPS^dw8^QDzX>UCM^0~~Yax5&Y9Uc$l@n>}PG_H%qCWex( z&_!$|sGL9j3#ajZko9-?S+hG@ab!gTb&5=6teBui=I6$2@a|}<qxW@jU_Exf`E}Uj z<#E8tlZyi#cjLccr;Wa^qDV-cE2YjVxTPQPK8PPJwTs>cpKOfIWn|$?_HQZLHwZxO z9Tf8?_H=2sCX_YgY++`PTLhn7me%3(vgN$j+8Hj}jruZM*jHAvvHKoA8Ep*R2fogI zwvhPUll%Dxy)Vb2LEj*1dac39GGdQAvy-oQ9}r%RvZqz^3JVdjv9YPBsqNW1dBKa^ z-N)}ERxo`wxMd#B#>>(p6olni{x$s8UCu=HckA~X|DVH0wDo<7&$bi;CF|SKhn&fo zQno~T*@L_kmyQJr1^c^)rVhjuYDG9zcMwp32#=N%XAOdqc@kU>42#E}z>s=+y4sn( z{0AxSl~x9DOm#l3pMZsOMjcVlbjQ_+NwT5@=p`!BVTNCpLUVI}*0V1guV_<Y)Ofnz z5f6@%U&v>AH#5~6C(B5IHU+l?!V{~~?t^8U2Z^F58o@Cw_wxAnR#&4Evqn`alUT2{ z!N(%jueHX4HM57n=&~E5b|iImgYJepZeZI;O=ZKtQfkb3`Rcz;6VSSDrZZnnR<MjO z7(=OwlCQhb1`4;O!y~qyxqGH`NP$ULnC2BX6!SmQd#fSW*ob?e(EM*mJ0(n#bata9 z@@@)1)yt6lPT|#ST_PBejw7{iEh7={9XvaEKXc~kV?It^+oQJ@Y!Bn=<g}Sm2I$K6 ztnMz%eC8#JxKsF{f;um^9)y+fRoM2hkrvmY-7fM$>6FK(7Yh4Bwc%AiPv<KJ$&x^D z_KU*m9&0OEuoO$kGR@zR_euB|4ivW@nBR$xA{^mAA}#C4*h2U-5<8FL2b0@e;>Wl5 zS_z*2+cN53I|a&49|BnryJcu=-2K=o27RXWRNzj~bez;%)1e1s1VB+gP`w?>8J#!? z5SQPU+nm}-w($SFxPOm7oshcyzZT$N&Vj3Y>lSl%ioy8afN-Ha;Xg69kBu5?r0V;Z zZ*3Sa>%Yc}lX(;KA6B)~+htgr%&IjV1`E}FNRo9-6%VboTo^L2v8@G5rkR)u-}Cb_ zRrRl-UM+;%BIAsVG@aIggT#*b5DlQA+a<i*0Aw2PT69~6m>~kmFc72g7)1X9^`T;C zZ@$r5pwxyYi7CD1l8AxxZzA<H4L63Ir~-~-t7ZritB<#vt<D+z(i9MI!?bCAxtlz2 z>e3mT<?eMd*K8CcLpv88Jy#FzI-;y^&v<&c&Dw`<**iWNU2Gx05ICiztxS1h2eWi7 zqaX2_@#(J;<pFB{z$xCP8ZLs^1lo;m0<HNBn}y->s?BXEc@r}W>jOpAaLI0|#X6GT z5DIhI#O>S-2VLFj<m62H4gcvTx63kXK<uBje<u$L%tnXRU92IfQMJ6OSRBuuGP^tP zVibL9@KxE3`7lO*Nte#pq~f1LE!}YRP%(n!qao+v(OBP<Jz?(Vekf|8OqKl@KaG33 zWl8P+;ACYNd~c#dyic&z+mg7<yP{PSt2jTsDo^q5-5W4D`j4I_|0;=hn{^V3U>_Fo zntvIcV>;^l`h3tE9jei1F+3R<wvXEm)*;@MlhA!UHV)?lj5PS1Z?v^#Y|yIeDh&E3 zArqwSL4}%MBA=QARm4V<STkItDJYwwBpcpPXyN^NBYoI|>T+T9VywRxiB|V#O!pYB zHd<VRXN&Iy=>XC>$YJy4e=8Z_vTw9^;J3c&yF;2&a)FxLnN2y9h|erWNiZs#f=;z| zPBK+b?{>Vy%Sc6K<8Z4hwW2fCIc&;Lv9>Fp_}v4_6wrfcK(vXzHgg(rl-Aa!QB&^J z-Ng<QQnYWT&Rnj%@UruKum8BEHh6c@_t|2~!rlF`+<gYW6`wmxVpU0sF$=<>7@Q<~ zLicq#kCir97%c3tq7cE0O$-jYnXaC=FM`#TU3+*iHbUrBl&gEnwS;p8J93Oe)e~bp zmEip3!tlP$Mr6dP%wC)fq&pj?VK1iY5vBLzF^jPr;7+RA(5R7n&lq$<G0ZLc6VpRj zGzs8in1}doU`YSCnGeW&`*_y&qi`aRcg#nx0)nxNZ{5uK4N>vRaQ@+K&0Z3eMR)>x zqOECX|JIGfnK4SP_M5d@`Byk+>@txo1tprY_3^XMcMDAnLlhXt&a*~Z(m!9#|EI7q zl%hes4eyzrNtn7|njxcLbqj+g@cWf|$CN2HYBlre#>8X_Q__daLc6NTS<DG_JtNCY z{r-t31Gg+Q+NaWnXd3YgkO(!ixqbzZ<R7eelb~W+$u#x-yHk1{xbps8gg3g(_KUtJ z%=G%G;hG$kR)pf+QNQ%AL4iK`JtCp(4gTvLC0~;%37d&g+|tp}ox>4q7s*F3XsLVX z@-zNbq;hlZ)O>+FeFckuO-vJ-PrNk4w&xTQbd);{)~O91$5d5TJqvFv3*sVoBPM4} z$a5?1Q?~DuN|B48fR-y$me6n~BzIVmm?5zU=i6pvDz(Np$HX53^p&2YV|;Uq>UsS` zJ(91fe9ZbENInX?STvMB?ho<I5Xx;_B0r|mMowy%4kN8f<8x&qwEr$|C%@%Q&K#WU ze(&bi%Xaid)e8R}w(J%^(*J5lH>M5qzs`sRh}2!1Gj)Y;53_?5%%;Lm=+S~x(obf9 zddh>7)X{cyh1~f`Wf~V^`yp7knZ@|)y0`8UdovNx_?|ucPaZU)n~FLa?(*KA+pX@I zgkxUS+Co9om4>_gB$OM}KdvBiYD}d!oK*ae{xV;W#>(9HcKS|)TKt*{{#{EaekGHG zo?rW0qp{-;B&Tol<zjSodxkKj=F^iSfV>ymu*cEIb}}G*F{Jmg`|O{uz?^svK9HS0 z#RPZ~LZURCH)nGjl#7&kTFrTzCMJhUcabiS+tCf-8CbbuK7W*1Y{49~thZgZcsU(| z9>Kt@eEE03gR*EerRkMd@i}xrK|u$qkG`ytlBt9QV9mg{>{#kDd5&V~yNA0zjxF8l zNGWqcUwqFXZt3>fw$*I=*oZY%>(k=NX4s=0^y6r5-MndvA5eac&)`xAcjZ8h4bMdQ zS>Qa<8G}s#%qFa2*BYfvA3dsV^4$}{mOI`T44{<5q98x}PBiJ1&197O*9o_g%Oe?s zSiH*sOFDVvKSp4peNOb2wkY9p@dW)p-6VfTk_fv`CfsfOuWmS<V3O#+A~!B}tWeFW zxNGi!v?3~95z*Ag*=DU-GR@mj6{-$^ehfEqF#FWjooNJw5xO`$)hb;znMXdUFM+2- z?N@CHKt*zHZ@1Mep|roge0Fby1h6fU@HeRWGnmkI(UNW?ny0bPBdyCvK=b3%8)*Oz zR>Nmp7jDMHaO{yP)?*T2?<0CVl(O;T<2ZSGCVUm$`P0pCT;KMbWNtIB6Kq|b13ahi z!9``h3XD{Bbb9mr*+2^{+wWaS_PZMw_J@a)s)AzPj4r@4s7rkTy)<ALI*@{q*goh7 z0@EDd@{tm*mBWI+1tM89XFi8F_F868Gg#H~RtRVnNkl{$KLkq{3;0+8&>i$3eEA%l z-Q4CwUjhAt)?vtEm+Ba&o$Xu6v|=vH@Z*#y)pj?ue?z_)eO_Q{>HL-H!pFShm*~-0 zB<^F}|9B$$URkp<gTgrKJCn=LJzjTs?{CwEvu4V-uL9sA6J7Zd^%4k*cX!PxM-nk$ zKJ3ifLDg^Ak(dV<*Doy2ptsQejmjElD_hyObHP$dpeNTeX{0xo0#oKIxA)IKDYcjN zNBfh}87q8$oitx0Ez<u%3e<<t#~Gb&FY@y1P`$VxDo;k5hEQJUwh|c*L%$$->{56y z+2_bGiGnwYCW$AVh(b22&6eWCx;?wPfu=<}kTKsQ(nN+u+HG{<ayO~X1ru=RS%ewI zO`CKldsx%t=&524qOn(Vlg-RlKgW+rqWd;FR>6~up;9}-%0kTI+Z1?}7aR1RDm=k| zm)Xtd+UBLowW^~vmx;5#LB#pgQi>4A3y&a;pbsov0k!MGRh3Lf+D=Yyw&C91o-iOt ziBi=I%zB+{A}Blf(=c~OF5H#`UYHpYxEpWH9A5W7MoUMU%`q&0%9p&Rz2;q}*)%J^ zQAc~Nv!S0xd`1&9qM*;fXOHSw{{i<nV1e;eZpMEI*&{MCRl2ylDAB;uIjK*9X0bt4 zQKjAWS-fIXmXrCUOz}U3wA}3JZofTDgXv#4R2zX0cO)mo0H|wjHHCjqE@wLpp9jFt z>t*i$Xn8#PoN{n!!>C^Ma8fn%MY5)Uj}<DIP49hp=XAx;_&PA81j|wXakAr%X`PqX z{qkP~Ee$XFD5+Pr*07oeknJx2?4J`S8$RHutE(kx5?*DvXe+Ug8`x^*vUV+^F9F9Z z*iA4V+7>N2l%S^G{&DStw_NKzqQkNHX`sBh!IT1?&NxOzB^Zq7NX%t!j$l2mYp^34 zAPLPMxvNFO4R=UBhE`Y#WuAxtu}puX*A>Erafe}5ib|tARiYyqMQU)CKHOsC{o~m1 zYEWW660l4Q<CQS~Pk14GO9%JZqcdju3i{Z!{i#|sT9n!u9(Kxv*#w*I-Spn1C3-a5 zM6F58&Xs`>_MkliL2oYmG_Z;d+qj~Qv#Aw*163XmMx48cJ$)(+#JG|vXw`zkZNYf& zg!$fVbD1wnXLgnOnpuA=#pE(Rar=H;7Q#jHUU_wA4w5@Kl+ICPq!=}-@a#m`k!{hu zRLhpvw>4COgc-OY-!mom<NO9#D8lU-St0ap2w0pHRV^X|N+ag7{uglBEL1F77u}N> zc^fx2XPjn_I*O&7>><6q<H3<)5ylslBB1Vk*O6qJ{HL}1xn$;lOZ9Bp9Fgi|8$j@m zi}W&M^5yKI-+AwE=JQ1jM1OY9G`w}UH}3yvy2_}yx*$pLpuvJmaCdhI?(XjHuEB#l z1P|`+PLRRf-QC?`-?w}A7e9tMXJ+2L-PKjq-S6l_<x89=;oR>-)@f60NwG*5WB}WR ze_R@MiMn#bFb_6CR|9>vx7~|*OX0}W9bC;$X!4v3No{5I>@cx}+tyz=b39a5#@bey z+ty{|DZB0s7|L0X-=<M{&(4>59|_jZXp1l1>zPT3fstJUj?^Tv$&TS;*lVK|kLD^# z&Yx{;CaP)%WGEb1cR(`}AX>m)UvB}Nd$d`8Q0ICYO9|#jHU}u)NGZobjX-YC#f%`w zerb}zUAE=NZVjaI&o;&e=Wl)!6D=$3mDbC0vjFy~91EPKpo$+oKHC||LNxhAD%RQ2 zk^6xhb7uc=ty~_F)^X|$#?8~hapGMvV}*-AU1jdzK?K<A)(d*~VJ`4Q^bE-uczGkv zI-K~Q9eFSoX(0x6Tl#TFo376aG{_&LiE@c@yca9~0q4Zlecd|YVyUAf``i5NQIk?y z=6$NExn3H7MK)f4)W^D}{~KO0%k9(AC7+M;XOftJc;)=fTuL-xcY5<3<n{7+y;2zi z1G-0t+Fu_Shq_tt@o0Gx)vZ{0>s`@SXO#hk!iUWb9IXw<jG)SZ40RFyqyKkJvX&u* z<&!(DqDuZx14Apk%e!oonsp#>1342IS3)ucp50z4X(RHj7DdR##rdGoRC_taAwUzt zYibixXn7&8K9Z)~e4MFme0s&B=k=yXgWv)!8t_;3&U%=wCcNPSMrJ^!@-XW);Mb|o z__U2Q26*|z;F>RThlkfwp^ZsYR>yn)jR@Gqb~VPzAQE@GX_BCDbOwA?9o)X0{}l%O zLVnFIeDwfhl{!4DW$U`LDbbFh18*@RRU|@h{?w~qs#yMPwkARzg5#D{_&tg7eO44` zm|y7d;P}B`wCMmwt<s3FboUi#BqDyU`=rf(-B(d%_TG2O#%27yO46qJM*es9>+b<# zNFgG!%D5|fbrx@d3(nrpCeXHl@pu{LMeq7@wxje1QE^#>xA((AWiH4%XzWLMK_Czj z#t5yJWYe`2dMhSV0e|<?$;NP06thlQYj4*W!i9D>G%}BO4DS^zU@UG_8;!z{mZYXP z(veW_%31RGW=a2_xrOk$xF$v7X)|~@3IQ%xLveiO&X^a2Y3*;Rc$K1JrJ@l{Q?Hs; zNV3G*-sY`_B>62eZNC_;>0*odbxo@$K7<MmBD`BpPv3C%G6W7o8Ydtszuf?kxBp|f zASKzUjVK3*2pJpC<Ray>C^>23mxA5j=}xU1xXpZP{{SV>Ma22Ie-Wbf4Ij^p5>N?} zCut$BcXntpdbUjuZ;Uvb*QRPQ<ys%np~<AJI2cmnR8E`~-UESCkxKmv=ym51{V4@J z5pOh!@|*QqPM|o->*&B8J94?cHZf7bbP4PMG%D<M@hY`?w)?zk+o}b1^ZPGIp!Nme zCBRs#q@X+=QNVJaQsBZJfT|fSxk=GoQui<Km4?GQUP6W83Btoc#NP|%MJZq9`ecSq zBa+OA^X+q)=k%)R;sJS+qO`qT*}^eGneyU-+2H7peaDy{$men`#1;XI`=4vePpTQ> zkndCq?x`v>q=%2<E5ep5MYdW?ex22k0upi)T#|{-*_R|ali$D=bUVkAlT0dO^w9|1 z)Nq0X6#PNXFeN#!CWDS91M|`xZ@%J{h3vh}rlRDE0JyCG*Ef|aQNzx@(E8`pS$Dn< zr5u=$5$6t{0PmdUYlYao#y#E~FJ5kApJ)CnD4y#(w3wBzD4m_~x(%PD{kd?s)W4iZ z`jfji*WnPJYnc}(5&?XK?Nh$uVd@f3V7AO;J=fFEb+k6F9USA&m7xrAWR#T5rxN+n zi4qm!d;#6jwSDatf=$L#3BJ<cMNpaT)(2dd)~VpodWB5(dUFP9Vc>_}#v79%+$w7C zA6F|x^Vy5h64HbH>yKgM4i5tc`O9@tDWO?}FgA2uDE|;qC%+Ac2&n2R@!Y8oZmiV! zK6n2d!-4Hvy!ImR@yRu#^HAE1QW<BkrQb^#>4tgLlenF)3zXwGGrt8%1AA&u-CI!; zRgPQ1TQh}D{dZe^+gnpo%C7I#LG-&fOB|k{>T1y8qF!tNb3dfa-TkxE&~GWS8N^}+ zri*%4yf&?O7yEFXe-WGVEbk%nnY_hZ-!Meu^MuFM<h+!==8WORq{V+xH%id-yaN}? z)|0ui4}zuT^C}Uh&a2g6ZGriqe;C7^!XSYd$Nbr<G@RRR#k3Mu-)MV=&-t?F!;ix$ zl3%F$vxbGq@UQ{sFufwJB8t>3Ui?Ng+B?vnFr3|%#)$zL@Ju&PyxzUpE~rR{lPD{z zCiKJp!|@lCfIS&GAFj4D+C~;Lmi6o>q3P%gaRjltQi7-Br{0J6-M0ZaD8BWz>lzQA zktYFN-pLN#RW7B-fkF}DsR><Odf%nZ7JkSVPiB8Xbw6)AW~4?0frgse{SZ68wCO5{ z?ihke%=oY;`WsHeG)G$4jh?z1-Mx{>|30pvp!yvdYK+LH=@F>$&6BTV`n`pa4B5Ku zg2ykb-4XkY+eNi}F*0umMmt6!Phlp%kf)FPxT(8ELvduOoBigki;wi+@YrSZ(=8p~ z=J%fM_+Yb}fA@rmq;#)1N8})ds+i>Y;Mrnt%2p2EpKqE|n=X$bARO%%UD&=5KQ(}M zfqC+b2`AR*Lmj{x7fka>u$l&W0p7}sO{|LoldJbGgPRDcp>j~z?Mx%*0j=g>==q@{ zwQ6wapxQDy8&!sTw)P|p!>68Y=+rzY!4z%2a04T3(vgoo#8l|LhKcz=%?#Q<S<;a8 zI|%y4=4DdG3>r$s8XE(TP+Cv&D^gLB%k);mv;tjUdK@r{=XNH|*NaXvq}3yRrH09Z zfWVC1WVl|ELDIfvZ`j~)0m13vuo8)6YSCcyzJyYhGVNiU@a$`Q08vjvPt2L0F%k** z+lj8xC=K<2mQG)t#3$qiw_k90#;3t%)~W<lz#{l-4bVlE^;pUt{QHho4kVVSqtH$( z?dc7Qw{~|SKKRI)7J~F>w`x2e<@37k{t`5uC~<T-2L}O+ewz4z?RjXSiQ=!zEXdRO z{)k}m7`5!;<WeL^Z@ygH$J=OrX#B%y9joJUT(3*dGkEQdSSAWlgHg6K?#<R27OHOL zJ;PluYVR$}BMKM+>3(C7l{!92K^pfbXYhlk8N1F9aWe<GbY3JEn{E7y0g3VRRD+U_ z84|9X?#|)Q!{4;CVc;Ha7V-#p1;Ojmq{LlLMVA76-uV>q4&?kP&R?&!2(`%~I=r61 z$fTfr`8qsya(^VbbKr|rDa;IRme1_jaFugF-OhMtNJ>nACO}cKdW3`J^2ntP<AwF^ z8mu2Y^x3WB_cd5XdDJ=Hl9E)GY0owS4r$Z6S}bjm0<+%k{fo;;xW;H3=K^tLeBSCj zM9LME`;({JI#P00S5Qq&*~EoXqBPn(Voyz0HPsfnl5``xfWd1x1#@PmHvrN1aNEXc zcs<bj?Qo>L!|T3#tg|Jqoa=t^cs5busrHanthITuES{T7pj(o@;KfVH?BO^#Cz20W zKXXDm5!%R5=aZ^?M+u6dYGa^dKjUkxt%vu&T^W0Kc_8FqpB_#wl*(V(EE2?KQJnZP zY^`)V3w>+=I}1>Na957|z+Rd^88jgUk@?QaduQr*#1*~yIx#pnhJ=Ym!#g%NL*m!u zW|PL8)g1U@Tv04eh&<^pBS0i5<HgQUu_5W?HjZ6?l@X4|;~kk5R+W%eX@`Ns*8-7U z#lCldc|BN_zACxH;`CHECjZ=O*y+$b>uc7Qlgi<3HdYi?jthj4&1`|un&?xB5;N-V zv{&92xv@|4f&=uwwCyGDjxWqWjQfL&yJKQIk%0!ib!sEd6Z^{NQYb}cU8PsXXs7O9 z+L+-+t4MjYe;{Y)$drRbpmhwcTBhPuSutrgd_)wDSskf9zsz5%(hIUbG&Iw4O=sGX zq9qeOA^NvA671cqbY)k_?_a1i(7t&_#>)F0-r1NO33)63xQ_<P$e0xY#5+`bWRZf; z6O~ws{qGi2mDlfBkGS@D8S<&c3O#;&g07%OBBnm5aAABe$kzw^Y**WsON%@;QCTUf z-18kbv{^)NaCoj_1d*hODDjyNqL!W2@K++?La3EwTsu^<ZKmD+W?sJP?qi2&Q8APM zqZ@dp&XZ&Rkr?uC^ZWC$imt3vTaHH}sltd1$>Su-B%N@{qM+h>q=~C*lNxz=dU~IS zT30cJaAFRYdE$$ep|w9a*jL+kxwNmhL}7iGH9V{d*Xy{Ol_F?JAYeoYn6|qcf={}Q zCji#<OGSF$e$gY`+J+|{3yAB>ql<pLzWNdGD7VI6VG8iEeG$MMS3U|KUdE{YiWoaE z*cWp*=Hql5IX79nH|IecBE?5LvoapA?CVPN_k*bN{Os9yN993u{a_tUJbZGLjFUgc z(l+BY$U2V;%*Lp#$ziur65`qA@N0}t`%e`oX#Gk2pETw?(c@>ps1KT-bb)U^%>*(f zK}cDSnxEUJ0jdzZzNJauW17|^he`QaQd1^W@!9#kZ1J=ob&Wpe1n=(IQW1&;=8>J@ zjoB;tCDpw6nG{d{Dxr&ZY5FFyU|!}`Q|zCo&b=tRW}VS6Aj<n#IC)+c;@W&|1@#K8 zdw81UL=2MHQPl4|D(kdWO(Y?moKL<=myKl41(TO%Ud^F@CtM2)&n8$c;#Xuq*{#SE z=I8ay3{>Je9h5JM9rU#>A$Zup5lw$xhM8XJ&Cv~Szh=KT`ZGJlP1wx8mzor(tTOhm zUD3zo1=9Wzf2sr<Nf**@AFstJvNu7ARyGQ2v-7$?nGgn{KxxWRzKs5>v>fRV24ogr zh(O-PdSTp+;aK1wQR{E8<_iy?jD8N&Qwxh!uyL}*ooriFcy2GoL2c&?euM1FVhJ@@ zKi`s*B6m);KUi%wKANs8Qy!k`vTbps2swwTx_VFFH8H`cu`v6l%j1EXnl!!x1!2XT z(j0`?&CmB$n*}ZF1H|?N7Cc|;*|4Ho-bWAVi`?f%NKTan{g>0<teRiy-E4kvQ?xJG z7DKt2yu;5r)G<@AlN5uPle0y7AN#~>t;Qhrj^~T@(*B&-tz~uSIMg>5XjHY1nOobA z%(4WPA%37LJ54Pv8oyNtE}VIXh*n3N%;+>$U%l8KE_+^42ZCMF5=aWJwplj}>>oIg z>t%)bc#yf%NaCY6J5_Z!B}<gRet_}nl&MF`kBsczBfbvNl=%h9kVRC$w)gDO`J*N# z%DOo!cH&0+ccM!Pm1eTLJ*d72m-i`H{caD(WoYn;QKToCPGlWVuMErJ(MM4A=C1Da zN}EsZOW$ijEUYPL=tVJ`-uiEProaVWWY^%QT$aaNu_6hN{RWtU$7qVH6Jgp?K0ZSX z?A&mVs*qziNa^O4B6iwzU;b@*=zTDjL~h}r!q<;l*GGqnGUaw`1plntr+massWkYL z7O#JnWq$Gg9ELtIGkvrUQ|xLNX11oOqH}R>a)5vb{@yK*(uteBNHL5J+Uu3E*w|ca zehYUqD*XVM3_L_dzjNFN(~_L_&pPa(-gG2NtDfwfFLUWFC+*GmI282J4pYm<RGKR3 zW81;yDA>tR6HWyf&UUQ0n;#ASHEcB8IvegJc79p%f8(b4R6)+};Poe(AXwPLOg6C7 z;eh!)j<Wa#_U5X8{pJHKREi8WS;q|VQ0ZCxVp~ZQZg5n$zABG0f>yIT_4kvCO5PA= zy|~(QMj`s%?MN;}FlmYH1CZf%@&kfunaf^HtlDHiFXgFUp5&`HWLJul6?J+}N(|ao zJ(+r1y#kKIuxCedk^+7Bxtt?nCo}t}$0`;Qd~K7clYBZKS>d7G%3G+85)g~&<FhIH z=0SnSoz~5|Z^a35siQ#3%|jQ}T3ux+z0apgTmVV0dvDvC%5q?yLo?w7O}b_8ZOyNC zus1O%6HF!35}v@xSMt&(DJ2aC1jB+nT`DXFo;Zvwjrt=*(KKHMzaWK)*WL<4_VK9B zvjdKqWi)RCbK}tD5T*;$$deOPi1{B8#GgFAfo$sZhQ=miRmb%X@BU@ok1bP~U*^6r zoUQg%jv?U5$Ub{%%nRmmSByuc%{My_JPbt4kY|xv51nwoiGjm{V^)K1#xneC_WCMC z*3`_IeLL}L8ktQOf-hVyb_RO&o0!a>&49V7i@3CxuC%Ju%c!MDV8xA<J|yx(BZU%r z5xLpu$n7K8{K{xQZ7MHezHeNls|N%U)!6I^-jSjr>2;1*F;m3Dc<v4f38U^XF3j#G z3jKTrGKm+IKbSyRcCkk8-^6?th|UK115w3_C*G4l;X-0sk{ElE80O=rYRL1?h(`B` z>$TSImh@zWVqZFhqmi|kFJN!3?^;3KIRb>-gP_?|&8tzhq<athMy6bEZSs4I!5u|k z0{GfxQ15teLaKL3G1DfOUvSCTn7EHvx+5!#vEgBri%;-=OGdaQ`ml5@Q#sz4tAmR4 zL~yYhfsQx*o;-iM-|s%jle7KvH5GoOO?f55`P{&{Kyda@eM=R5ZbfwK3ME#^pT2xu zfA|u}@`IkNCQ5KFbxB^D3)K%#s&)OdTYJZ0pm7QJ{%s)>mACvZe!M8CY4Fr~RGh&B z7SmoesL&!tYjF566WljUM+^^}^%e;{Ri44zw6GWn@_f7*^5?@e0^6Kg9LPe8Q$Hru zX=0~lRs-1d`G$k1zwp*O@wA2vV4a>C8fkQ@YI@~HQMlU_PNwTCmZ+47#ACKSl1{A$ z{o|*jw)N(bTvyrX9ab~e53k*RS4wPmz9-vyAduq~=)eRcyyTSA0li1T1o8d97a;Ti zC>}+1+omU#`3%`BZC||}drUDfZp1ayj+1*fw9Y9iDRaz)KlZ|K2Ty%ERy|9{xI05J znkT=d<s*%(YH{7V4aU1PIF`?L0lfp73jQfj_vZIY*N7JoZ?7}5g1XtZQU6e3q**pH zxP!N|8YW#nls%iQ-M!kq6$%utdO!F+UouK5BhXW+Pwvu{LK1jNPqvme8=cxEw7tbi z0|m<}e$By<T8Xuk)|bAbk$`DnV2p*fV?OP?Y*W8(`mqGM%i-;}`g)(Z=xOD2D-HjS z_0NCQ7N{pHaFm)?3J>;#XfrZX5s0-@M1MB?)a2iA%rsZKn4;VuNcg6Y@<w;OjH_*o zw!+0p{0<{4_lawX1m^myHk;oXB->w|%?BfXxo*0q-|bAp60}JlrZm?B|6FGr_PjSX zET&%S?%1%?J&Cv*OZc79$$+N-HGtiep6Dgii?`W|VtD!4V_ExlH}Luomf9wSiLJ?4 zV}r_!33F8eX{zU}o6&ACm1-z6DeBkrHT?3dizNPU=nHB^e>ncq=xVnpk}~W^N54{& z()?E$o?i^7JEC3JE}Yfm(XoTb-?$v9Be~tlrexbUx@k1OW=cgH&7T|4o2w;%#Fr<D z99mDjG&H&76^20MudQ55re0?fT*GO@(C&QAvAgH?2Y^@LFM8LL?HLgv$FGv6b!fhC zoj48EW^?|j)nU>78~sTo6*AD3pXY?TGK%U>@R6RbeVep;?ZtAMNA0C)zyi&&Xhg@_ zDjhr4=|v!ecBZ&>Bk=aB;)Cf)#BN)ufxn{8CI1dF6+YSjoj0@~;Tp#|QSBJ2dRM44 zvU&0N8c0Q1rR!czrC6ro({fJPO~8fRGsgb~XJ8d#ozH`h@pmjV(ssxN-!hLedkzAQ zR<&W9nTxnHFh9Kump?)7p4O4J+asp<;eu3OPZ-l2vq?T{nMg7WfC<{f)%7<@l&xg4 z&b1D%bvxsSVYh?G@K`g=h)yAa1J;iYJX{bw&S-vqR^SU}Y^iehq^N--MMm-<vBj42 z9yhut=W8^K-WlZEk-UGjUU|r$-i>aPdcZG6!4hh0X!ARui{N=4)`%ks=$`vnEzViM zZpf{w#NOQ?z#x|Hb5kmyBr9c1m7UJ*aIixQ@b{kx+`7lH4+SEn^%jfIvMuT^AGeYD zori?VnxrC31=9B-jr2F~FqU*wZ#3mDLjDM(7`cKGIIK29y3=YsyQG_!d{VyZUx_G> zuwB@FgyvNi?`^o@CsqO7k)5DTJx}bX1qd=14rOa@jrKfY6VUKHrD(j~1Ajwf6)loK z7g^d-rcKoSU0LHx#n)Ehf6LmnK24{Py8`;^wrTG3EQt<H>=eZ{e}G)K_{@oDC~rYp zI=^(3Or6wG>nNZtT=fI?>S0fam#xLS5g<X^+|0$&Hp=tUH1kX0GUb1pe`c+c9)9v* z{%kAYdRzFy*En{<JEp(b_e?Ev{>f8p3?}`0H%lp`gxMq__E(|wXy+`?RZOW=$&rIC zGDWTl@kOzXyL5E3v^At)Z_n7uqDLN{V#};ND@e?r!Tv#PeMdxwwfgQv`4zq_*O>>I zyLtA*{=a(c1+!>--(Y<Ye2T5Mq7Rn7U=Sdd@@}(Z%X#fd=P5c1z+gyjsVDhj@*4Jo zc+yG3(n|&S*4Ca)rW8`}`NopxOg4BtqwqOMo-MY%tt|2ICOA_oQo5wCU%S>B5C7@% zsoUk$zvPp3*LSb%65r>u{HRJ72up2yG?JX$;7n8fK#X><miBNX-XAS5*1E5{S+V7q zTkb~bs$^s->FV4ULYKneVGwhmW=?ljbVTR-+w;wdC&m!Je5IguRkPN_<y*Dw(qJ2! zp$zhw#%Z7yCSIFY2FEAw@A^irZeF%8go7gxuGaFwj#nqPcLk{YSzN-qtpadeeEuo7 z;a}f4jaVlRK0nmrLa(0I&OZo=)v4oQ!5JQp2HM}D**Tw-!-+G9=X{ChxvY6*N|hwL z-PIY7M-fTQPt6AQEG$8xn8nwl%4innMem3u)x}yc48(lVteWRdifsiUiRZ?^^gIn5 ztlRDh<71orl&N^4sbx@B>MDYP^=C0B+YUzbKYeAC4CQ**vp!DEG?tc520pf<=y^;< z^kv5%c@v$6pX^$z%K%Jt;Xe|9Wr2XGDk@^UsE&T~Z7*vOH%80JkX}p{xL(<Y;JzQq znr<f%s_cxXN$R+M^^<CN%3vUv58KpFpO_OIU;N1dKT7?Nu*YHXRe9dFGV}O3PRv}< zlFHkz{8jUmIe;!1_RZ-CZ;<3diIibrVlDXV`s&Si=Jee|xgLe1MVQ)C`w|IFe0^)Y z*B8Q~=nN9QhXqpeLzdStS)I02jpJvESJxtcZNd}=EPbk{Su+p1{FYyl*s8XouG?Sr zKeD{>F#pBk0vol(hZ6B2j?T`6wec%wCi@2fG#D0=`y*e=su^cCRm!osk+iwy4-J!K z%hH@Jtw8%<SZTC;YVb*RGji3U3#-0~{@@3s7#(TpeHk5EG(u&|$fAPSd<I`UU#<+d z*e10J4II{wk#6<~DQQh73xUD>%Ub(`M6E{&=*9=~5?9sQ(@+QCG;A!p{C1@fUVb<^ z8>IhjFI9m0wVvC>=yxmwVK%p%gfL#`+G$nyvVz-YS3pHW(q5oX)(HOBz#f>{(EpBr z2$}iS`-g!Z?rJq?5exTdar7%_cqx#^IJK7Mf|{N@MKv&7DLH|H2h!mORRDqAia#ij zh>?c!7ivht-vzy=c1{bj7>0P*4(=v~>$KLW(*@R@1G}b_3V%Z!hPS53t0j}~l}jM= zdNH*pHr$ib>%KR~WId7y;+z~lSr<9>O=LpA)PTY;dhj0$#Xx7K+#S+TQv<9Yy!ltU zOS*qp>vZ=7{T?$4(UacgO|2-R_Tq7`%nt`psp2v`FydL~)~ATB^*4~8?5<WzmwWrY z_fINS{iG~)&iCVEd6cLb@qPP8q*Wpmj$Gv7M-8-1o!l8}+|;LZ=d;LYzP?$0^s#{? zj~9Ox!V#>u%M+6={svvR5}iiIXA=xWDD6>`U1oERyj&*|4qItgDO|1dyTT9D$oYL% z2X(^$fO2;*-dG|L!@{(?NLobEWKg!TV8)|+fqSz%tCfmS26tr9Tb`w@{^AkXv#Z2c z<mEp7lo^tXQVqROEo*x5tLolMH#UXf&O);~bph9!#aNAxC47<NVppV}FQsC2w2I@v zqG1zVG@fB1+fek+3gMHCPKDUJmbfwenoPyl@u>Z0XaCyPPvwF=%$j#GNPxrA4}rY( zy8P>v<Ls&55PVWC`L)gln((P@WALeY%4gsW^Ln@^*N4{uww}kOZ1$Aft5khR-6*ka zT`X6H>8VdO>e+?v(uTYL0e&%DZWR3D(d{@e+wQ`}!KKXYJ|!+KvO=S(epfY&GQx)6 zyK#qaAp`)8%`t@AfZ{-t`Rzj%@I-pQLmLt$qv8<`ZYs*^n?WwQuxAF3>73EYq|M6T zM!$TrAk9C`jwDNErI-=!X=zbE*3~o3%o=M%g2L5a8m|pkY3fhs^lnNlq;wZSy-R{Q z_6JdhPLmHEjJ!1~TbHA8EN`f8Uw%ElAe#JbMsB?!URdW+KXzt}lXz|#M9++-3r{w^ zwmM?hT3Wg~CTbktXE4NE@-6>Z9Cw;cO=te4=$U>G_t`y-2gZ()N2w+e#XHvdhM=~= z9i(Klw3l5P@MU(@wWQugl7ivhWi>jORZeVUwk0}SB`~oN8`?{W`?aOcz<|R~hcRZB zkhiY{r!KVZAbRt0)_K_}M!$QtWbk?a%9DT1EozbDtlZguITmv=o;-2e(sDq8PWt+j zmAA6Oqskf??8E&9@>!PEQBO`!k%<PWypSTBaG_i*JQpO4E=oK*OR4r&fA^T8&pVhz z=kG*9qI>wdp_%fIdo~O1-1l-kV)@hfb>t)vPZOnc^Cc~9^F3Vnc`|!sAyLZ1{D$Z| zQW-TFSp@NaXTtgDed}^K=F8r2q$XBJynHo20OKjBZSAcsMq>Gj4N2#BT~6@3qB%ht z-3z?yqMe_g1bqGX4Rh3kGtfZDu84}VV&(olVvhut%LO*~m8&jKtNHnUM)crpO-#;l z-xgSASRG<_csi6n#@CtM-`mEva0*UA<BUf)zZ{6Ec3GxoeKJZRj&d{YT;c6U9VvdF ztB*@qK``Y*t;lLe@)7jiA^YJTZEYbXoNvX@*lcXPz=eOqPv&%SeSE}3HqHKG)feWi z+_ftEVg^xOng#&RU0nW6lChl!9+W^$)ZoxysM9PyOY?HyY9RL68lYG1zrQ<6@q4-# z=1q|#ada8WFJzQzIO^4!BnK+Ts^-Fi3!pgIg(@|<HmWUO=3Io#41YMg*%e-{By*2P zfeK6$^>u``vd;)nY8FC?U~#nhl;Gf&zE!0hcotv&di}S#jHojy**ntn$FS<;vhVzj z^1Hrga?V9X&*n^gEO)s#>|~+1a-PbSRW<+J?Ol;Z?$*G&ce!l(T>s10#MXu*&lfK* z)pl8x><dhRPmuy(Gv|hP><j5fX;M<s)p2o-(OegD5RYmO6psf-1V=0Z`40hPLhB5v zpM>BBl+z@neCZmR-+6Ybwv22fX-13A15Q^#VMd-*WQ9^MPu`YzTZ|m+b4%vQx+?u6 z(zzWzTlQ_OEju<FoQb7Cu&&_24$aL@QU~45mU*^y{lUhbTA2^%W?0`7Gs2NmJ7`SF z1VY;NKi~en1IDS*uvBm8g_d`La6sAo47uEm^~O9tT!Q;qO5lb1m9E0}_sGaz8vVM} zTf2U&bnf34Nax)$h@bbl$@Tca=PA0s_}%=oFSzaWr-c&nC!ZHA%DuTW6<M0AIs@9) zUSP56F1;L1V1UX9XZHf2k~;FxB-ZSa{+G65lM(gQRHeP)k|UPZ@aW0N9G^Du*~RsC zQ>WlFqhpPO?f1``h+t)`SF^#)%>#LP2|eWx@-S9g94G>ivgO#?zF|ugb~wMmYKn?R z+3gqCcMZptaK?zQ6;`&B7`LDB6UB@U86JlGj)0rU?_HaU6Ld!gFd#sAfjt)v@VdH@ zEY{8c+g#yyzN&ZGbMr&jUw;V&FO2HX6OkHFB5y(NS?tXwvxNb!kT@|c!rcQoEmyev z3t~lcy_zj;w`W3BpiW&=j^Xi4Ar`w)(~IN5W=6J!uv?fIbEm&Mx78o^_Ux3AgrL`N z0h;GL%+I;QYC_+zE|<e6ng}`w+JefLzjolXWhIs>`d~4B|7kh<7T$4I>FGYQ#jV@0 z>+G!Q%aueIzeq(r`eECNBJ|67S0~PH-snrQwO7;4)&NR?Pcy@x*e1fh$${*qi+Pv> z4i*;9jBjB9A|t?!VjbZEYWxK9M8z_tAL`U`G)Y6rQey~+05;b$^#%&%4`J9sDGYr4 zEUcN{=83_vM9kZ_)^6Bwl~Hyd|6MG5SG=!+amAROe7x3K4{r{uio|F$Pi7Mq(C!u< z_J5+&zS_&#WKL?}-t3cU;NZ+m&Sof9zCFFKsP-x=9bIVM+h4V8o0v_==YyQ?Hgq?* z9Fu}Oc=fm%auS^}jb7ri*UO}Hef%C=l6_6St2MrYH<tB)(REh24qu<TFQcPQAm4%j zW}S>gUu@`{6Y@)n+>!pSHBiT`aC4%jCrNl%NrmwICg<mKMh%fNksAbCqqAP%h?Z41 z5AHm3?G_x4$6&gSya&V#mphlD#K(L@a2{^%>FMdOis+u~d-A>YXtm6YX0kaH*Yz%> z)SpQIJ$)n9uT>!Wy_AFLjXHb<O(&Q+2zGzj^aYC`Q!7le_4~@t#Q)_ED0{_MW3C5B zS*W4Nsi2+#0g^%#4oZk1yJOa#D87}dq1L7BX8(b)-q3i{v!cZ{BF8S9SX?hSpukPH z=S~<Ku270Xv$+k@AE3+*%j32p5+r%NVZOT_gB<k7`G7_`UNHdsDz7x<*C$GM`mODM z`I{5zOQ(Gj^9<4E$VQ$Pw^~bTvcG@@*3?vQK6$4pQc%pM_1)s<6Gj&gq0;_!6@8UW zHgD(1F3`r(7vhZJUyS^MY@~)C8mts~<8g9!DY9Q^NIYMxpedC}i(3fD{UzNDjZpql z$r0@UyYcxQ<>-qZ|5*+f46p%^79kpIZ$0oWA;GHn^3ud~rg!C_c7_~xZ}vX~;p6>5 zYkQ7g4y?BZq6Op3Y<@^1BL4z=1Lf<XwYG2E+#EpuUOg23-249hb~g8$9>H>$wkZ-( zw%Y=m+2@Gmry!U{)?1Pcz4>lqIeJP8^VnkZ0vKZvE!dq~$wq8Pmqr>6OPjQHQ&#tc z`)kni`LZ}m_$MO(SG!G#9P4QP5HrKO3s-RNT*Md$%1~D{p6Xlnr71<oioE8{wQz4c zkKj>}5Io~Y!ymEwilf~!{lUk9or;Vs>{~!Q%$U$KHB%5A*p&vtu&SD%G_JNE7E`G7 z|Jen;r7rlaxPrd~2IGgfOVCOg#Vpd&-qCq<x%z|SYi*fXRnEs6h#rY9gy|n7>vejz zNk4*oGLkKf4}VFaf4#XfQB1XiZ1Ys{?t*gS${?vyEKsQ7y5R<Xr#~xA`0{SBCCafn zGU+dYWi-Rsws8`W{9Z;_0H>q{m0fv`Z&692JIJajlq@Od4Dr(@T9z?RiZSj4fM9tH z@ms1td$`Jd#g$B%kv5`tIui#S*g4DrpG@V%wy+q2qNn8&Zdxs~!}kz4t}L6i6PJLP z$+1F_+<pmtd297Q{@|(~?DI+SsJAy*AFte6%PUO9KPifuY(F*DDunnrn`le?8z+&0 zSspL-496;y@{52(dUKKVk5;oeb$*b3W_q@@*G*w{zz9a%^)G6+*8A4KfObXT`R!O* zimD?nKZJ!-DSw+{Wh;lz#-2&!Gvt8n%n$^wGPw1(gaxwJfdLI1Rr`I;spVLJ$G{S( z!Ajp{gBSnl4b6kpt6(*hPul_)_^Z4W<3P@}I`nPT0txI?P*U<M8L|w|!G3A<ImP2y zPiXz3rZaDY64=xBFQE><Cn7+bjR2}OeQ`X|A7w3>7_mx)#QChrx{}^tjI%7p*^h}} zkV|cgWd(W@8zmW(D%3aW9&q*5#h9<=6VoGh6Ds;Sjk^@JTsz#Wb|MZOJdyGfnZm%% zbU-rHBD}rTB=PiAv6pGom_9{?HzuKt%2;S;r)Eh+@vkucmCA9;?V6jK(eCAnKNa%) z#Wj)Fv-*=rL~*ZM9J!Y4h8rk3%3Q%XL7foHA(=!l`Z}_wsq?hmC|)azlU58Q`k;@| z=06zdS4)s`uG;{5hE}5DV42YbhUzSUKnS*^;pn>gkI2(%cr&?VXzk6$uOX)$PpcOZ zgYUYH@L+tSUgH-g=4$QZ!&r^t&#;?nTE57eIqXT^RA~*4)|q~G-qOl%y7;iMvSz2P zSL9#8@|juE+O27D$z@6vZF`?`Wq>8L%p;~Im9Of+Zsm5gUX$vH*pQ?5?yLi_8YG{a zVTz8=k5^R!e=7wJ(EUk&Ye|b#Y`dn$&0s+(#%Ipfa=i6&cmeu8)9#*C*9m`o0MdJW zxzw@cD!w9mYaB}7NlE<@)}I^8#p}lGS&vWlHypS4oSzJFdX&bRIUj6Q6D}b{uv*@T z@PUFHm>dA4xmJ4AyVGul`xT()>Kp=Gk2PDuO=xdjC-xuTlPR58UkJqWFQ-SxvyzR; z4f6B_TG52Qd30$bH;L#`w3j@T-ovC_=yGgpB~z-6U@fO-fS(9fRqYK$Xfzn{C=O!- zN`WS;#w%1%6`*Xp*VkESPSzbdY^Jz4dq(tZswtEy8QL3_?Xpzh0$~wd^Gmp=CxBq$ z<8mUi!l_tTm&7CThDroDh$8Y{2u~(|l12Cc-2(VoCl__o8XZhsgmB3TecOuY!x#w1 zQwbY>dRm=LiHR&c#p8P>HZF~;NsrKaa;16<_d?uW+}3CCix`%zP^2aYL@1DAkgU<@ zi|c2!3Gi?p?^j=%<a~t>UpH|HCsI+wm+;U)A3qp~Q6S~|Me3<`aNc=48|pZHPoGeP zcXl<t&*|rXb7gr164hzXOrf-9or&bY=k3jngS)#pb^O+$k-l}SVY<6I@3@WU{SLd` ze&J33FdH7;3#yq{D4tBjUS&<P$N?#YRqa?Ie&~D~oEHfrtZ#U54t=({wF#v8?k*>< zH38@z0li`0N0|4+?ZFj^eVvYut9uJu$png<CRwi|<5yUgYDm&}{(+ShTz9bE*6qK( zlgbcwKyD1=?a*+)XVxaEMoaiM8TtBHXLQ%%Wp27gN85V6HX2P1?sH{_4us>p{CpOG zp|9}h2+8MGCW=r{&<RY7cgv9kN~%adRT%$=??nigb9bN%=GIJgWWp^M9R%&-v7XH; zzxU!tr#ed2(i)(5k&=V`J6tlHB0Ag2-*;4CI`brydMTren-h>d;R1Wct?t0#*@gyz z$aOQ`YQRfdc|t3(sUU-Z_+$Zc*hpvnE&Ygke154~yyy<p%GdTRg|a+d-QRivznzh@ z6Tx#sbA2NeK<35wSLkFRs9F9L%k@GrH`jV6E|O4;2vE_QCegt!o{={uWy>pf#Uu@c z43Qd`Y?k}NI8ZJ<Kzt)5#SC*PW@u_spbGX!O+gS~PpF{UuA4qNX7RulzWn^z2OS%U zIV{q3%$s~^Pne$?#Nl~EOpdQFq-01BCZ@zk?%`roWzSHlv;`!4DWD{|zuSo>3Bx*G zEt?MN)@`=C0th%4XGi1lmT;VR0_)z5IrLW?dLq}{nu4T7jyGAM+DuJfh(7{<aSuRk z=Zum=V*>*#!ZgnbN`(ojkC$Zh45@#BF^|z%zsfz=-;zhKYn!&;KZ39h7t=L)njCl! z{=0??tA;|~g2m>^SQAd-m4T#I@popIJQO<fV=GN6J-+b=P0H=rNY<K!L|@TZ%t&9A zrG1NID;Mobd*o^wHkL%e+W1JBJD3NFF22aUC8TE(YDnNd<|JB5ri8E_!7voi{^mp* z<WrXNOoxC7h+;?5q%D86w~XupGD4s#tv&QlL9)W%AW2O>A?G&9{M*Yges$;D)xJ1k z6}`Lw;Jx(Gz5B<1Oc>YGEVQ|^GoWD=C+4FOG$Q<B#i(4zYj6{hq@(Pa=r0i3?7pi5 zt7)TsIG*F_@ZYyTXhzuknlq9&&2ejIXl)VMnTrqXH~5HHjgrwE8l}_!Tki_yjaG$1 zF$!Ag3C2e5U~iMrpVbbMi6^&-nqN#i+i6qf{ty6kLiQhk-TpssBQOa(;3wAl2q6ke zDbYXRU1@Y}x54fl6^N%*Kj+5>qJ8DZ#7h2sDyTQq)eb07lac<2F&#v@ecm#Rt>B;$ zR|^iy!br_a)Ns8c*8W*lYaxML1m)Hv2=gySC)eO(Qk#*5c`t)2|GJ_uR~vBEzM|xN zT20E?nVK;g&R$mFu;dD9=1fe`zcKo-hCh2on^mh~CcrsUsio`~n8c)gyc@LhmN0Zn z@=E9i3IKrF^W3i2II)(MX=kyRVtaR~LAm(fb!|tBKLgjmz*5Gao7<9F7rS2_(*Svj zwLBBstF*p~^?~k{O~{a4ey1VqR|T>aZ@dGNBr@PU)PeyQVuL;5A1hd}UB+{a1`5Ir ze!t*(WAZnWSN1PX`=TP4CNsmJ%AH!zEN+2bmNEh0iUVg2&=xe7T4@rs7RMR7GNYKE z33<@QA4@zm*~3G)d~iLJa_K8;S(MaGAIJy|l;6ICS8&(1%tzwM@kPjJ{;rQ_$*SPa zQz(7fFXDdXm~6%@@_KyjIK=_eN`?BB#@5gVpyKQ4XI-uH%gr%?{Juy1z}DO!=lFQ> z$tiVDTm1Z-o(LgI12@^TT<ktfldq5E>R0M9@!5Wj*aW&M?^>%oSAD;kBp?H9If$RA z?m9r{O7L);Xqe^oyH>pepuomS`TbW<<7>x;AAlG$>7HdWve>;SE&5@|o`Xoi#gn6> zi4vo>B6$w5az=v<6j#ml6!|rAA>MAROVqY;^6=SbSPHM9+@zf?ze+k->!hizyXe{* zA{E7fi4SaLGrRkm0Tp?~Nm@uumcU&APDKC8+#ifca`w_Q<PvE)XLmc2;+8)#F>+_= z{PjZr^ts%~$+<C`q9?~qMVCau0B23ccw(`$+Xu0k`_!9mEh}^H@><8VNIF?yPjOJF z5mCGoF?l*)vpxHWBTfcDAOlVLEI_tLA{FC3nf<}m{A(5QN{54uajWw02kGAa&BHYb zWToct<KfRC>Y0i|4gBM}be3PU9qm&KBWZ6ls9i07Ej!mSYWQ(*O7w?1+cqFBq#`_U zgUnG2(!k*N@I`>|Gc2{&p>n2-AZA)N^@`Af{?%kEyuo(Qt$l=>%P?2zbZ=h(IKPDP zWX6{m4dEu;R7V>tkh^;uY%>@^-$*QXlWpsPC7#c(+-~b_xh&2%fPK4T(VhqlV9(T< zF6Drss4q>jv}^T2TTdWFa3~=I!S?Sq-lpuAve;2UAymHF-s;Bz>9@P&dV2L4gbz9U zJ^R{gvcnZj5=j`N&-cGqHgA><I~ivd`SXvA?EV3a_jOYpIq=*7GspbpIG-?or(0aD zxWAdaPs;%!!3+H|7A^@2q)MKI8a|9Hftf^D%9+2jUvyg}89?)9^Yw-FLuNs~?*DfP z0KOmXef4Uwz>+hKEv7!2{u?Bq6H791AZMSh1OZhZXIh$o(sIgo_NI=hP6{x>OkTZ1 zqWsd9)U1I39z`6?LF;^ByD3Q8|Mvp4#Akr_aG(rQs?NW^-oGA?+VHxD6MObmJfJc= zrvYCw`^8i{q{+bd=wxT4?(auSx^|qVN`Ld=<c#^a)WgCL31pW?gNhu1$}()QBskQK zb5^)7OZbEnAyHUhI?=jV7p&;NFdo%XOg}S^49mMPksNMz_t_ylYF+(h2ur9<(7!7w zP>X|Aj$Z7OZKZd)$AG^3%=^}<y}okH>VVrB0X7poc!a!2U~M_xioAyvTseKnjoznF zwA<KbRq%iG(I?*8;AXS^_4coSoat;n21aUOa{c=UH78D3@z}>v_tuCd^{6cFHspZG zjRPK@mo~k~U0R;nP-*fZ>g+65O7%G}TU%qS(Bl4X1F+ZAbeaJI>Cw(EsINi*Tdb)9 zmciQ^wAg3AFxK<S{S|S~%8FUuwQ800eD_zbh_5H5qUD2!-%}G+vP2CN`+v{*PFOSO zl~*>}D&@5`?oW?=?%^}l9j_TQ^qu2lL3b(#fX{I6-cw+~H<1WKx<qc4QW@5Pea*lU z=8(d|*!foalbPsF#pWS8dUAdSdGiOWw!IAJe{cA%86jVEJ#K%{^|Px@wEWRX(9;pj zq>VhUO-)l9w0xR$%MwI4^!P;xg1*<@qA=aB-8!r!H9g$6v(`NHJB49lV>GZUo)|ls z3V(OEt7kqVMme@@aGlaCGOPMdcJ;7OC3An#TXe+8-%=NQ4v_;ABsR?)#hNgIOw=w* zk;gq{hL&9Z`#Y`c$K=y}WgSB}QB8|D5!ZmI)+2+vlheVvAH-Fyl~?4DKhF4<EfOPu zvG+C~I}ov9mA7D8p8KYEvH=gUhypsW+Y)!W6F{S|+UAFh-FnkMj_A*aV{v4TM>yS9 z09lyXZ3;UH@n@%~z41H3(aWyERvjBz+x#6YGbeYXAWJOSLjaapw<abC8A?)Bv8$@5 z03tu1;Yr28ZJ+o2s#jHYv3hjTUZY|GrRhbQtHu%TwQg+bAKock<vfL}hj5ay)44(r z`G?bmnd!~P@GfV1+Vw!(cB7rXUwu3c8_citCzmP4sJpu|I@hv&k*RRPn!<RL-8U^~ zZuZcM9b%-l=pDi3hOL2+N%oSl<v85){J&i{g3%!Wt0_-1Xkcy>F<^XD@5Mrr1wal6 zMxmfvar?pVXZUx#+Qtmmj!$0}Hn`L+nK9-z_X`5w#Bg0C$LS3IF`R5o&Q3(IP0Ih< z$a@Hhri=gxS(R0mVv2aiqGW-5?H5NDmY=5^ZEaUM>_MFAE{S$-*-2$d09L}1LQFek z3yT}O{d1HyHQVI23$BfZrgt)3E;sl<<y>i5^j}kg`0w%%D3(?Cxnq7)IL|_8Ed^xq z|DwcCt*0AMd{A(4(G~EgM1{JDjqxc7R#@~Zm7K-^2!;j2CJi-BhJbg4dzkeE90F)4 zZMgd@E*%>&D56M8#Ur2Z6BUq6aM7fu@dt~kA;`?Ty~sdX25Wmc9E`TLCOOA@yaaZo z8-c5DVF(sj^ibzIf}lfZ)rGR3oCG-Lzazt+OHnnNgO#UDSk0_^+20z*=(YEWvxH7J zM|<%kOPP#^E090h#1=~4CkO*~L^UuI@Jslx*pLE+n6+hT=I`(W6B|~76t#J1|Kqxm zwBgxWCdf8#RxNoQJxL~LCCg5ni_c@;36AZ{(KB@Mm!>keYm<uNN!Dumy&?Ft<JnH7 zD|ZH-NFcK+X;2@Ib%=6fj!g`u)?NWO$mC$h%zC)YoWdIa&DZaN)w){8Z2!;o-F1l` zp4PWutIc+uQj_fq{HW_&a~qmZ?s6DFM6dTBicAje2LrF*K`~fwxDgyzk#|Pk>i!LX z%!I)8gm12NY2mXmxe!ySY<4AfNd)NTEEC<0a<TUIMk5A<`TzlQ4V2NbvRCT(z#tPV zV@=!dE+0KrZw(F|a&@ZrLRCsP+H;zM=lWc0l}?}spu@$|)L0sDPI0w2El^)o(4M-^ zu%B8}s_NhEBi}F1yU%ne=t;>LGAWv}>*i733{UL(ygp)QKf8K229W^Z?M}Nr0zUjJ zPEM*6sf&}7nd79On@q;=;!kmlHF|!IRDyDU!#%>&XWA!pdqRQUOx@L|gSBO^PC{D^ zU#_T$?vH+XOg3aGw%I$8qGHD_J9O~5bY14SlWU{XFH2ZzcIFQCHKg4Ie^}F^cBda* z{9=kip#c}cu8r-)i8=Xh!2p<+=T$TD88MlZ=)j$g?~?Z`x%rOqf7Zg6O6>uLT+AUF zs;XIj0;G?0&o_YnAw&Tz`A#7Zg>1G<9+%+DH^SLppMwAo4o)-BE8@{6?d~R<Q+Qhu z46I9>^8c1WA@9Fu2h#?eTV$ItoQ-xBoiZYl>I-_T_T8!kt<2cYcx>@d2D1+FeVba~ zz5}IZ@A6ob_ww?8Sb!LDr(-{fqg}cY!J>Q=3|M5vTrAen`z^JNj!28U6n8K`f#sWM zeD!1YLG@NSEI2O;`d=n^%(QG!y|;U!rpi#!Z)+|5;x-#SAccXS+-yeFM85f*Q~&*t zJ+k6FF_Z&=6e<*sWFArHI%5&j>OMZ@JRj^;Xu7S!u&w$8sZEVEkDnOmx>H^M0Wv8e zW|Z;zt+HcnX=neN!4=GvUUvW@>JGu#?x?@_<G}P>6!0rgPG%QP+S5E!@5yvNJ~MJS zDFH3-udcP&>wq504_*f!;o&vl#=qj$F%m7Ft8{&wmKaP%vCx(iMlsuU#vXo6fUg)q ze5w1K!BB-?ruI=-%gav|c%||1#!F4VE^V@Ae(K?!sP#b9sQ?1(ag9o)@^lm8`f-e# z9N%C_#<9VGs%jx7BdRbLB~>}$`EvT_{6#gdMTu-~cP3X?Cnw8|s-8VZ!_2N4Gzj1( z=RKV|3+uH;F9ARKC~|1cg9sMbr5wT7A9~fG;iom7gYy+Rz+RnQbpfc_5?L{ijDTz0 z(QvySU|C3k;5-YO$j%XqF?F2m5ySpFL`%D;Rpyn@P#u;k_kbOrG7@E*fz^Hdh!gZa znEV@%JF)kR4)(JH5Ui&YQrk8sKcI@&$yoF2w1h<LNc};!c_O8ny_Q<54`7*5(d1m+ zCzq|s^?a3?=M5j7d{Mbw1QQGQ@E<tT*rtXSLwWS;oLufd^bxS-fTkNbseQ!k3kGqZ z1?YQQ)(@EOU7Pd^mXdJ`ac5)$G-n#BtklIbaweMC-@z*1kuKDRH{JFNBj3EJlFm6u zmbq-rq9M>X#Ry19&j}csu_XkGQ-Bcfv*w9MQ1qV^!`Z$5^@m)__~JT6K0|3|sV=&x z-`93QedKCx*-*Ziz3-UDRt8fAW)E<MaLFZQq=L5AcEVbEUnG}3Gb1_%?VA~#sp-XR z)7UD^obL|bUzvtkz~JB0&mXi_R_dI_JW}vh2J>)=qDQ5BR-}Ue9OD{=UIcn>)*)<F z7P#1vm1Z%e$YJ#qWS^JYWT>hPt?8~xFeGi8TMshi4;q#fi-#-yOPk|Ca4OAtEUgUx zy8EupqBnSsoX&}l8426aRKF<66HFP=;eWzOeDcu-gYUlsS69QzxG=&ek(%_H`iX%* zQmjj^(tv2OGYEh9^zf#scQGA_*}hm=tDg$I|L{=JnC2sgg2BvkNp2<*{;7756}t5) zk!<qdR$Kpz0WF(Z$LSLFD?m%+0{uRRXlP5Qo}E%$o~JbRIFHduKft*LPHrmb1G{0E z;-u2%+UNjC?ZC_qO?di(95saQRAmC1U9E+JK_h9+$cbs~`f*;tYHeeNiQ&l3k3@)z zTN%1Wum><*Os!mZF0TH2DZa5RfK!Nk&%pz|-v24GpY~qjGXe^Y8p<DtPy?1uTFXlb ziW)<JiQMvT71H&=UVTl~Zm&pX1QH;e>OXv+^G-$X$dvG+#;0eUpxXG~nDsOH`a0HE z!$-$0moj`s)+WXb{$1chzO`lYTl?+TZz->hPFUUT9t=fzxa}itY&tb4sV&ZKq*J_> z6{7L4x+Y+@KZ*$27GtKXc&985FXhebT?PSPjd-LZzrC%+$>iY;2f|$)9zOecCX32; zWqvzrKH4QMN?(|vM(5{bMr5OC;n#D(_w11ud%!$zpUQxel^7k_%JrW`ws-1VVaZPP z6n=+;9~zDQX%+gs25?EB|K=1o%RMw7KFA6uqA~$q@b1n_X*0;;4b%Q@!sGT&8ol<G zEFk|ytIg1hql-=yts6faH;(buXG4U?+eCKi>{<gm>=eU^M;S5?<<!jbv-NeKxOZTW z2cSICmS+a1F@GV}cB}L1SLwr?Y_3gm$fIcg?J5EU;V-2`am!$peL&wzi~y0WDlp8i zM;s!o#<4faDyZAYl<F0=Dp7MXp_~Zz?(wFoInL9|@r!W`?cuVszY~K%5Fp1vZVi9u zt7V+(=s}d1-5!AOex3~I2Hej8=Tv`p^rMp6@-yduwLbQD&QrP2T9b9Xh&?#3rn{}i ze?qkH1~9MkYwBsAn+wKoZmj5|cn~&G(cu#EyZ3!Cta@YeMI!N<#C;P}Nq%yw=l{go zo6Vg+LuhRUbWU#;AU~ThE-(N`LV3;mbFo613bXkkd(2>oG@K<fHcc-*vqv9}+~5G~ zilaSQA<O%!04FBK;P%yOzqwk|wieKo3lN|Erh5+iW=f)95C4XZ?=SX8=&4LL(p&+H zMvQiAso?nx*@oIe#|F>u=P$Y^t}?bjE<L!dFMe*Uz`G|x4ex<b4!c^dPvpAZm>t7a z@NIGe(*Jiz7sK-wNuZ?s&&U-@xM!e53P@i-p%DE*;1WO?p(CxF>i^0n2wjrdJEO$U zm)|tv)ntvFIX+MK#VI)fa1V%w{MIQnvF~O34ryQV7_EmJID2u^U%ILBts|gjj1xHY z*;mIPu>Yayn%^?*x@ej-*_djo$+l~%$+l~<ZQGjcnryo#+cqcL_IJNOe1E`mU3JcV z_Fil4wf8PgFWw(&x+w<85%9Z0v2t5Eb4hxW{yHkrjfg9sZZm{Jk06s^d#YDvMZwX} z)sEP>J0HKB&Hax5;-SDMCwMpPRx;F-UjOU;ygePg%GGSTPJ4q1hn7$os`e5@_;-|} zi`?s0q2SEosgE8S>}ICzWd`kuSzhUd)MecC9n0;XrII5hq+_j0$?u+ZB2yN6O8osh zDzO#$(GsmVPW41~GORFu+&}T*!eg>0kE9C6;o*P(iKMvnsm*u`F!<p2s1#~&ll`0o z>=h`uS&|&+*g!k+!$#`_GWMj(%GN{O!h?Ej%tEs3J6+a^GDIUItI@=AI6$XSGBWxC zHrC=soG*1&)f2}y5UjVy{L>tt+~?JyJ)VDCS_!$PlnG6>{r=q78h_EvT5zs!G}@J7 zxvEjBj#r_MOWEA$ziFgU=Pg49qe03swE+Qt1dbgaUo_wrICa)W=YvG};ekOZsqXaP ziuRQ#Hp=?BM!2&*$UtP_?EVT&pzXQM&{Fr-E*j{m0x15|YRN0Kn#h;>>+IE}{e&v? zBXd2r@+Nlbpx8d-?=;q_=h=Yl;2+3x2;lfA3+p|g*|Nn+4utR@MiY<2{AZ)DA))LA z#5e<Z=2|vZW1So>>HCv$v&RQa!iwmg@Vzzd5y@`(yrDC!4KCh0vds%lG}DCF8=*YP zI)-iTp#)nsUUFCnA|#xs@J@dH5s5bi_MqDmN(E}S!y7`dA`j;xP!=|`2=VDyoo{}o z*gqS^=QgJ5!nSb`$2J~-a~S96`g$6CavA~c^Lmvp6W}TR@;S+q_xR$aa7mOmfUkl2 z8yAo|+-~kPT?X0CO&MSzY@Klwj&<2UBC!_0BKgI{FXw!IME!#$fC(xDsCR`Q0j9%b zG8P4LjO*PtbYM6D&<nC3?oYt!EYBx$uxmC3m>)@C?G6-K^Vc=?_07cn>KzNc3o#EJ z%f>^U<4reS`7AWudD7ErZQg!VL`StGCy#!8ePs3El1SnGuQ@#mPYeJLA&q7uWwq#> zY_9r^+^T@FJ>gGE`E~0mpzK0a+pde*mj-P5WWO~&!D;f@p<+Xs&CRB5g!a{9As(Hb z_byji+chzo+Q<F`YuX4adAL;xUoeG1EcBqg<RZ{>^qh^jb*FYS#GKNVug-JUf!1(8 zMUbMms%$Cc4Qut+7a><v!`;)dS9|8(p#-ySAR47?E+aduK*QbI;+zZt9pZZ5QN)n* zc_3?+{t_}ZO`%Q>+V=uoA~+`79xRbIO7%-yuf=TBY2KK~cS&yT!x3h=mG8nPHxY@t zdNOPx<MdJJ3|g*-Rx|`*Hp?ccD!+m$%FtRZWVCkjaj~9}ZJsegi0zhnkAimk-1m3b zH(T37wV&TJYRX%`RDUVM7S4gmv0=_=slT>YsXHH1vO!h)6As|^>IM~L988)>dsc_; zmEmwE`uy^<;^-t6(y>lo07;cUJ_Ai&?R6Kn0k(s`0U_b$%kJ@>3TUf=G6LwhE52vb zAc2jtvyKFEeYwY!!Jm2}APiZq$mrqS1D*|^vF?b^rNsBZSKMxoFMh_8EV1Q?+q*)y zDB|e3%4JVCp~Bjrw6I?!SL+p>dz+Gm&z~;0ldg{$!91QVjD?Oo?4de`>UJ186Sxx7 z!stPVvv~lp24}xW48z?^!ZXPA^_66m$_~!$hgIq*)4&4s_19S&D+HNmxivvN7znQl zYjr*sl3N#RQ%S%xoHU^P{DqO5A|n_NnvgZC+@6gd4yc^8+wXk`>saSaoh_p4(`=}4 zc?~_jIF0eoP6VvZ2f^F^D$G4XX$<t;v6gaIYijjOY>LP#;}_F#!h9XnIhPswAT#Uz zexs?$%qe(c&Rtsc^}(4zA-)DXCYr>c-e2S`(S5VssYxBC*Zm_4fF6HiHJnp%eEVb2 z_=exLjybK?8oiJjGlN`is5&Mdo5N8_-Tss{MilF<xvwT-h{0sgf%_gwFsAcrn*NJm zchCHP_8-98x88t}RRxzObpC~VsTteRn++Lx87KWlIM%$~_uh8Lc;!Ek5t#Yz4tz(M ztWcD(>0wV8NIKC%D1Uv|uo`VHP4q|P^2?A&jwF7J-<57Cfd9J;It8@<C?cD0#W{vF zMQ*O-!!v5TiDi-)613wz8x1EDOEb#>9IMFXH&21UwU1Rd%cAT28A(|}zSTc`J>)O< zrkJGo!MNGwoS@zxOh&<MIfV6}vE6ZXJi^bb#Zqe=0ueQr1l`!utWWWCX@qWK;NRym z&)8APWEG+wi@hs$-Vb8IfZ!h}>l^SGlDUPl8=DXL7yI6)g%AxtspQuqVVZxS&|VN< zWREOA8Vda$mUe>3ooK|ejN>wm8PDW06?k2F?F=rvgk*R^Jd{^OptwZ~r<6AJYxJl! zRv9*O*nD#o7&26xo?F}j4JaL7uDl@xYttV_zTCj8JUE}Y4R;Xb6TH_<v;0^d3_L$h zNjoXifDA~!$-I=;y~0Og-HKX70c+BSU(VY^ZYgM@fn3JW!R_`8N>2WxAK1>sw0P({ zW)kmC98KVxDME>%sFHj1kD97{=eYTEZ~5Xh>gu-pmmV?=CdV*URR<^Mi~Gl%BkLB$ z$FS5)b-Zp8_|LeK)RcU^!^oC>Y8G(?5nQV&VB7l+?uX}l&Fb#C;br%Th*avo^ZZ=7 zpDgVTN4D9^poD!>xj5a`PV=d<wziPAG)E2=w|!s;QsqY)5$PnUg}<m_wGGnQ`xJ?8 zCZoDFZg-wWk9rz@T$0vkCuwuBr*lI?>Q;TT;>Kq5>^B#qU$^^>!WiMyD>;sSL8HHz zPrBAJ)3tr1U(&KxK;e|CN4%@}sW+Cx5aUjFBh{6E<&{@z_)L|Q*2n26vBTBd9q}>q z7G<K77Z>cl(}W1GFwL(sWqCHgO>eBHA5fLpXb`LhXQaK^UAM1R4E7O1E;HWQ>wY!U zgeIS#OxPgJ*&ewFoWX+S%Eq56AQfO|9d#o2;Vq#&O`Ttgy+B$lIKZy=dW1vzHRQU? ze~u`9Y`PzzOn<0u!#kC^HoQklgJ&FL?7;O^u2O$I_fpv;Nh=^bnVkq)7W%j4i*aF8 zLbCjDM7R>p?n;YGE9ujA9!VeGZ_6c0e4gb=DW*TIkhwp@f~y>+73k@U3#x*4pDB(^ ztVYId{BbN#uf45WR^LN9URj98R9R=ifT5mu7e&JezV&YKfo<hg8=#D>d<M4p#U_{E z#<|6AF|c1COj_@)<EVd${Ux0jqC{cEf0Hm~Mrd@NMuoSx4J@wCibF*j985i7tNeRq zTTBCX_Pxq<?`EE1jjFn}GW%n?z^CHVgbC6E6qj5;x&C<N{MWW-2fCoRTv*ix*Pu2r z6aw<;bpP2xETn2M`6+!(i3XiGiH30aOP-J}=!P6j#Cbq`FFFt>PC3A*Ls?kUcrMG0 zJWGD+QrQC!tp44TJ?dsPA}5;ew0P=ZFORGp2P3M!lq$*D`79>ZvQ}Brky|GOx(xwN z(W^_NRR*R4(_o;HBw=i%g1Shx2&dy95}p!Ut%l1{D)3!XVdH$#gh2`42T`NDC^weI z*y^s)S)I!rFNU0aPgSMv_YfBS`nc7MJGfi=@?VO1^5UY*X9{1^^0LH04W>*6d8g(! zywXl4Uq-7RST8Tj%{A;68w+Ng+`b{vOAFXNk3ea3#x<|Huy5>xbcOv*qNwe`B*xSC z#&T54>Dyy`gV(?#N2%_o-F+?WVphv9gP4OhLt}?lMHcbY4vy14ta{hIdc;D~R<?a* zsl-z+GG?j~O!%~HeV9%~_zx{%-%}g6bV|j3pqs_D(2OC;Il_Nxp<R2_LhH~3JVG(* zGC}ofaG{w?sQ@L;XVH}sB+4HcTD$YMi73!pCKV?ch~xkBr$}_zc-~;wt61p0;iWGY z)ACZ~z>qx+>4BBS>R-VpIT0z!z3u>!e%@CSRqK|i*qf`JaYMPr;oG+@X*IACa39dO z(jROj2_qU!$KOrSXEi!cjrvX@{K06xip0I4S5u#r(SM8Gl?=+Wyq_*r??<DGaWO$S z+1;#wXs?nF?L2_TjozADyxxwM`$OEPJ(RiRtt+TjLQ8a`X7NKV>oq~MH0VQh<Eh|s z{vqd$Z?Jar(xs$4V-Tu1OJ>52i85$6mVW!R7X8U?S-jC%Yl1jsj0-(&Jo3`Es7>_x zcL!Dq;!nA)A|5rEl@^x1Mr7u_cGT8D4cS{T&UB*5+Z4SWMRQh72)cuoag(SG%EHHo zI;Y;nzqRTOt(}6xMf;jQgttw$<gLMI-`HOUD-d-23af}~ja#F*@8}qG)*-ruroO*u zluv3SxSS8p1jo*-Z3^z+@RVXj;<q&cqGIz=i>8n(3lBe1W^egNKF-B-Yuz%KO;g0b zXH`3S<=o*0E=^YJ=fV?E!q|T1q*R`y;?Q$|vTA?Uzi^gQ+=k1q**wjqGcVbICbaGf zzlG!#_MV@zV^lzUo?Bix5g~ZXIKNmZOTNEyi@$~eWulT2udNV<0^UQN?s9>t7oFx8 zor`)c5<Jnizb-_d!U5$7s(bt+pIg$ZyVryQrUi-q4ROLvzz&Vaz);=y96l$DUr<`m zr;i<a9(i+$!l-0jOzIo|#ooYQlnMldRt??B6jQmzBfc9DG<b81W~NAG!|m5_OSs^y zGALjV{C}TBXRDnol_xO<yqoO<B^1Omu6-bjy?ONJ9K~<~Ts;g}%{8`&(r|JIJXe4Q z`b%D6;Y)dIb`H?+e;y^8I)MVFSguHwlDKPe)a&{28JeN6+m?8C!d&3MrKIBlG(!pY zHFO6CS-#JUiQ?mPqytfkabYO-yJ-qmSFvhErg4(Ek=N@QQ(l#EjeWC0+rjY{;Z&AZ zqIVB!+h$GWAz-f4AB_@Nh&>0cTkU`=_Qpba<$;qYb@J6MtVkDTyFKquR~%b`<g=6H z9N(I`^Y<9L+wS_#`X(}jnv223ZMhv=AD+~&wfFz-LF<ASgW6rj`47A1rSp=2F(rN5 z)^KfS*8(m8OPb9Y<F?tB-0hyh;$8i<jR$RSKcF>k$8nTO;jJhG9{z#6pXp+%@$H+t z!tuSWLCkgkiokK#Aq!TH?$BfH5LZ@?bg=p_O=DCvHbr5>%(wYPF=)-!8fqi(kkz(K z2J!vY+YC(t#^vLTI+H6Q-Ak^vxRi^I{(<o*wmB1nyz-&OH(r}{)B^uJE)$vA)(}5A z@|0`SK~Z*7n|)CY1W+ADR&V4w){fEN^^!Ps<^DQ55vqx=f<2PlnSz@UTN}>>$)+0_ zy{prI7(}To803nI+3<%CmXvGu&O8YD8bi2`&tH`l-N7TLDhxkHwm=ojANx*h{$^pI z0bR(AtW*KcKljD-w;#!*XKwGPQTMi{6-LZlv0cnaN{*xlv~asZPSnR512}j`%=SSR zxtnsb1g7`<lvt0zc3u4lp;a&z-vC+|hukL;z6l8Rll!Q6n}w|QWkV>waRQv(qouQw zlPOEJKchyx>-CR(&U0o+*eoJosqQ(!Wi%GQyy`DmO?T#&p9k}gPAPpPxw$oYJHAJ` zel~|9@{p!7mtpsK^TA%6&Y0onT)>*D{X*bizEyuelm5@K4jCTq#bW;L)72V=kbF_v z<=X(xtAdfT=|9U8slt|+Lk6n@1AS_cC~y9cj@+2<rl#X}cU0&LbxyzMvRupT7+DRy zmkp3i22g%qgf({74pxOjO2DW6xz^p3(M@n@%@l}d_zpvOugD)tT^ojJPvHhcXVI*F zKmO{n`1UeM2O4T+7bbdKu0Ld?m=pNG56-l}f1{IqDJ>)uKeg@xp28F&EJU~DR9N^V z_!-EZKunkgf=&nHvqJmG#$xH<l6rbHIEnbyeP`UGAy^2if&Lr#55xa^0a6#S;Nj}* zDa1t{s>`a7NOcw<4hj5o8WGEjq=o6#!iu(ps8eczTh5EL1ttpiobnB!=*4w!^NK7z zf2>1-AvD5~&TF=UmzGt<96nqYiINb{4<r>rCRUFD9}dEEVIu8lnI#j8l`r2atSfRS z0k93^B71_p{Mf=gK|Wb5w<IEGNAAWT7Bz8cq3-UDyo}5_)$CM%Hfl^B`_rlo;wR$o zzm<Jpz(feosaWKFH)(i|$k8W{OY_Y%Hndjl$<F+x6(7cQB7yY2JZy~Mb1ajPpgUkQ z_zZ+F<O0Va3bvZ6UW|d5HiB&sf*>V^9lJoVDR0gm)1%l7<_U>a@4YY(GZst5>JOFV zRR*w&<rJx^`bN9|gm3UnVXR6E_zG!jU)zXaNui4yF&Dy=#x!A37%Gj>RsMb-kwQdv z^xN*)I6mGTZhW#*wc(vulNu^tKbW;A&Ww^EW2ecfe#|Ud{3(<rJz6{@S8IQ=>(nf7 z)Q>RTr`=3J;ef8;VvZf0N9_b91e|XZB^c|%+~JMVRO9K}eWR1I3)1Mm1NG_2sxpHn z4XR^>&x>oj+8jwQ#cll4*{Wc}7a`!HkBm#7I>?d_Z)bz)3Y4)FznATeeXwYHe<SeE zii4vfBimC^VF%ers35XAM<7HCqbqe!AtQ+T`BhKmZ2KO{0^L(?KED~ic0dy+jJebO zZW!dre${NP<3D5Km9EHWaJNJRK015fssUxW*vlcg-oCthkq>KqKX^KMI{!bR>o2G} zUI|<AllrBm{kt2&X}ioBUCfyKNc7N?yl31g1ve1w($;vB+gVqnKawyEO^wEv3@O+x zpd6dp-q*f8_f%^?S(!(&8fF+eJSMMvPd~-GlD&j$ceDRWgD%T5IumPa7!#+f5*6sL z5lJTmdODnSSL8uv49v_@IT^=2IlkH!jsUA}FTyI77L}<?-D=JxBPNU0<5+L1zqxNX z9BVe6rWlSs9$TuVpl+IZ=+)k+;b1OmXi63y376)*A(hKn>)zjyzH7Y8K={z?yKyWo z!C0CZo6Nr6lo3e1WYbMnMX-17+iW@3q>=%acwUc`?n<vU=$cc@=!s=ulLtZ6oS6L* zM#QEpBFxcZMeys2-TKa?;y!we^>9G$#qY}t0dB?R8y(j~2qXpj`u5DvEUq<1G8IzP zTm3u!Z2o3{AqC8Aa`rd2Gq^#XSJ!Ec=1ib<ip8f-vv9RISy6?;q|FxDV{L^)>l54L zaDcOzP<)SBH*#IHP`y8UynLLiGa_+R=<H4=^^pH>WpS?k*=dKbBTWV}*nlGL?u(OY zSPm#Ywt+es>05t!4?ICf^;FLO+E-KXfqzw%JzLKiY2)kd{@DWFLwQ+icyMm7X=|3W zPmto2^d#kZnThde-!5h@Td0a$Py0^q2@XCx?1TQ}m;V@JQrdwH?fhfzJ)Tsj38ZQE zXQu2$l%w2G_mlX8+-+VwHYAH7(PQRN5a6fD{QbZ}*_*pmK|Ht*%`u!}!YJo6e`R2l z#Zz_WsFaXg$;4ye!TOT9yR*14^M|aYyruuDCXksm_V+EuzJHuMeeuKlJ}=UNG!Mpr z-PF#UvmZ+-8U`Tz_Unc`AB)ouDeY(_ti89}dE@xoi1605B{MBeA>#TI>;9&}&A(kq z23>2jiF}-Wjyvu&7N!{$$yIy%b!?*ga*sC4SFftV3mSh&O+C*L4dA~nd+nyr)`k0b z0xjhVWMzf}J&uxN5N$ln%=6f--$<&8$~Sz%<T$dw6{e1Ab?!phehJQ{ncuOKWG-i* zu@Gu5)H5(F6MEQ3o%-H{<O?C-IKd{}ki?R9>;)`*UBSf6v=ni@rmH|ed^UTcbQw?E zvXTh+`TbuYe}X+LD`|aM5V)tnVe~M;y!Zgrnp=%^zY>&YW4lXzel1HICKx+Io0X}_ z_>CBOok6$-_#w#M<|m465T%80A+vizUN`VwGb7+*3XAOMx~}=YVD#+nuYW7+H;^?c zxZd&iCV1&akW(@84%E?}mo)@J%w)fFdodGb-D|9SC~Fu-m!~`OHWwU}=3S5CQhd~? zMQ1oyggU*_taRoAsh?70&hNho9*A8(T`36RFA7<Or!{Si4r;CD1mhjPuHAhYcMQ=y z_xR4c)+x%^nvzgcWB`dlf3Ize)c}*z<sC1iLPNqz-yb^WB1h~$hzJd0r-M2<Ezn*k z#5kJlM+G0=zgmffK?%pm&jJ>(PWBg*V!);fs5kZvRS-s0OdUr#g{)H6Ir^Gz{8gj{ zaBMyK@wch0t^Ua<nu+xKt!O|L=|hKiel_R!v7oEqhKN(|9a@WFpB-=8N<BHgHR!M$ zS~{GfHa~_7hS1IU2Hm}QyCgoTaxv|75XY$M-Rc)w%$}9zVKV+5+N1Tixs_i=Dc4wU z2>8`Ra6QJ7GRu-TnBli~b<8%uX3uD0y>err1p)~Vb1JFFOA+c6mcC|~*!$zP?N`=? zg~P6QQ|gX~3R@f+;X}iPkvd#N+-@vs@aEv+S7f8Pajte=$^wNeFJ`{z{~*uD1Kpio zYryoDuklDWft4a@{jRMcuo9O1rteAO$bt%*Xe@@nhW&{<8NGU5+b;58)3yB6vqfvS zZCUHm*Lg!XTemfEBaTVNro3ZMRh7|s&LgJa$94KArAf;}&tx|ShoMNgL|jRP8fg<T zuzBcgHetnPbg4DXXJ~QS7%S=Kzd2$NVfx1>I+Aq;t`77pkhRK<{Kbu(Oad?h;~_Oe zZe3Hq$U%1}!@@S$%@zSLAeTAuo9$%Nhotq%;xDVXM`hsiU@_#CIUX8qW;ob+bHn5G z`uBRK?k?N%ADqr`eyHHtlJ}&pI~FFgC6P1^-2>h5u7)&<G?B{*?nyy6UhE5|5hkE} zV@;ZcP4tM!Fgn_9d9hFqq0okx%+(0sYC9%ES6r!LjvBtPckvSC*4!Eq9)7tqm`EBc zNJ_psEes2x;`IB-o{WOM`oRzK+bP4lxO1v$W*XQmdbSh>80^>=^yx)31Cx^2*nGsa zePij9i?x4=SJu<Q>HL-KN<e_$+ssM~w>UOD?4}?U-C`*X`ALJ#js#@XT&#h-GEtJw ztY83F@DniM+0xuMmI2SLH-ehl;^eBv(wiW&ZG3KK-sqzRZ{w;t`KMoTFj<pmS)dWA zjt=?4Qj$4bFmJOjG6;RgEzj1skzf~Jk>u%U)F))s{Z?mM_-K<!#EX+B=F+e)?Q}Ee zIeRp%dUh2r&jF)OoOB+_4<OS56g)_JGCK+9+jlOG{S!s^HYjxZ=SgGzSXec8mmL)u z?2*V26iS+E(ZIDSwni<HHYMn3`4@+?UEZfT$&pD=Tm0hf^1vojf#;J~vvmA1JD9e@ zFqyfRQUaSz#2J<X6I`~gT9UOhIiFUy=L+Bhu0I8T)^Ll7<F5E0kTOTb4<&W!zozTG z>jCfAEr*e5_VB(~^mfwM)zHS`r-U)0Cn=`0Z)^}-mW&3Uv1njmKW%d-ZI@3fa`hR^ zPq21E#&i+gp2|**XLSw7y|{t(;i)cDHW#q2V6nPO#c!HI;MH<)mard2%p&B1N<F{L zbr8w9J*X?I(}l#OB0qzWwvW9*8qQP^p^zRNQMBNj8GP`D-Ww*T&FQ_PdoGA^KqRf~ z5ngMrj5!DmyZwQMtq*{Xsf41EdyNaq7j<^q4Ck)vx`y8JG||F9H8i*P*!Meo$A7Vh zhZa^_!k|_l-dr^TMuKR%4Z2FrH-hN<yMsstLwk;9Ge!F0zJ5G!I&0ZIvYVX&IxikO z7hx1PR*IN{2nZWhj^ys}(MeJAl(~&jJPM`z!2BW6yF+auZqyMDcgJ_1MF9b90_zD5 z+IBqN)V&>pm;&;8qbb1M#0Ask!Ifvob)88g-t$u`)E1gQXq#`mU8;at_tTJQ#C>2n z9q)Q#hw6!Et+X9`GhXh6X$L}Bdn2(eljujDqvLR8S--ki^NL1evO{@O3k_sRdKJ~b zS3h;?eJd~S+;_f}_8mCFZ1z82C2;2@3h(Ti$fi4vOP6@g`!3GL=doa)>CKQLJMiVc zHe!gOD~Wn;f+{4R?u|M(s?9>4ry91Q7NjVwxLlJ)^eVR9q$TqoGl5+y`3c)+5@AZM z6GXeRS4!&=b!AC~2K=3MIr_f714C*L=qjl*Wq1iQgt`cJPQB84vEv|CSh{G$HOx0Y zvvv%OUW6^eH(qn<COW6rqdX=;mk2N#u4eW8MjO&~J~!JV*n_9Xg5pY@a>%<hpO1-T zUxYe)(}BP4M{tc?*%{qZ*v;}32_(r9T-oKRgZRhOEn3b6p%lefd_AV5cxx~FDJt=* z@&VfPV!*qvf8J$cnWs1~;oo}qE>bz1Rs`r!C%!-&c#N#_;==V&m9^2llytPi)qZ~W zh!+ZHc$ozpvh~I<leB|-F%{yZ5unB>0zke?!VF0{HP1%KZHW!<w2L*!H0?>6(1+&L zo7#Fi%NN(6(9l8Xq>gip#+VVZfkc77IZ|S?m|&ZRWg^bwuO_5Z73)0<ci$@LFp;P2 zy}gzn7Y#PE*y>bzGLo`U)r#m1jfcJ15xp}NV(1cJOOnDyO3gZdc92R8Q|$@he~8kD zauIi=;(PF<PS8@5=GP=v9#*q?=sDRSb&2WixM^DC1G-`6{Rs9GJ-fEVo-%cceJN!E z05N@we%1V&zl`F2Le$gc`Q>43pMSm{4Lp`|CUnlGt84PePM-8hJ9L)mne8sa!8uU$ zBmwFQ$MZw)3KmcNo05G!6L5}y^HhIXe7x67TGI415mvyeLiumE!nHftf5rYfM~S^; zP-<D?0*ttyPyC4qe$aHgl=}9J$G=)M{jZ*d<si@lGq`I~H}`M5;R%(k2KkHTn!LKs z1PlenM`wV?);cl!ChfZ?g96uzm+Q4Qi`E>12lwjRV_dkEn?2zNy~{+^=f^ZEXGXdM zfTNL5PFsjrqnw<9E^edD;)6tr3PePEb~X{Der#v9fOQ!lJjF82&kd~gzyo&#@+HWV zbpVB}4vc>DO<5FBb`I7=Xu9p)%6kT;1??Mq`5gQp?s^~P*%s66V37GQLx3vDAUm|( z99J0&jadRQHYSUA74fyvY_>HSptEv?5V%2YQL}A$0Dtq6w%y`vgc3rEanIHZATlYF zvW;rIAFiZ2d@OKWx5||(O(>-bnFy=4h_Ams_G&*@7j`+a(4`ObeN9SAAt5x=2&7|L z0?wMNkh{^Bv~6`2ai?3UOS{~O;Rv=&!~o3!zBMtv&?W0VWrwn=LbX*|C7HQ@F^~vm zLPV}arY0I@$YBQ@=i=YoiDG0uT!f9g@8Me4S{z@8oB7Uf_I6HW{JEGh_KcI`dXp0b zat~M2=c8K0>ajfsT^=XDiU^0cv@{ObtF5m=Lg1T7i*%YxzvN=82c>^fqSTPmhqS=d zoZbVv-=x3?Mm{fZhF&Y?8?!lHN{*LoA<|w~mhV)%3dN4VT!<q*ao}FNfe*h^uAp31 z{+|&*$P_<}El=S}PVcQ;b2G3<Wizm^kGLTS&Prpl%=UzhQ=c97Y|e=OBB)EREk0_r z7JN!efIV9?J|MlV<MF6W+uf)*&{qjc%Tm<m_KT5^Wc0M{J?lV~AOmOv2``0ip%OUd zH}cgJS_MUoz+n4RnQ_}VJ=Kxf1rUl<AuyVciKBsI&A?Wks%p1>j$#F!Xvmawh*Cq& z848mGRkW=QF98xws_>hvEOa`y?+3^4zvYmW5pQfdqIPtoDKe&cBeb-n^(BeD&|UgU zNc5iVGcWjZVz<XJb`aWU>hI&U2=_K$XHAn*ZfASEz4#rZ^H;m&dE}6y+zENS(M1X0 zp#KiApf*!hm+otd(u4JEB%O8<64~3{5m-k@J^Q>F6)vgjMC_?+!nbK^zA^g5555hp zMM{&Ko&)7S#Jg0k5{kceobH}i@*c~}JC@dtIk7d?PC=@9TaYgr>tEZL{T{(tguRm| zaKO85w^6CtJ~f51lt(v%I6oZsekZW~n)$EAt}#0QzGv%qip?9dJ@pV4zspuYm)6m# zS$U&)I%Y*n?RkrxPU-7;GLfB+iVEq>>M2<SQlFnmU9N}bYLvs>eu9tEf~GN_g9YMe zhfj+!g`%8HR;qCZ67$8}!d_CN_vq;2cxnncbz5}Tx^n=2ntQu|6I4#@x4_bD!lkb_ zX%9;|UiJq@`BOiY0HDHXJm=vP#aUfzo!yltkye651K9`Dq~1}eJvm|`b4QlvFmJjp zjkrorN)k8Pl9?_dnrorezcXs#A~xv2MF%2&Vqu%^8||;j?KzPRXxCxlm_PI|A!Mjr z2~>B`Qr!dc(yx7^db>mRq(agM=ptAs2mrukx_ZieUlw%^t>z|)w;@Ryv9GT+n?-)s zMN7*XxT!A&12Rq+5`opmvqrf#y{fLylO~DYIp2UOPjC2CXV$qVZ4FVN=C<+XKvzZ; z*cCrhSqg`tC(u!waNEUKyxI`086LzD^UcU{+?k$ZW*@`svKvf{0_z@WZ<sVvgTosu zpReO0lG)o52lroaVJ-MT5?jB?hD$o*($Y}Nrr4cH>&@L&wBo=a%I{5n#J-9XMT0Si zXS!?J+QL?gC6HFFE|7hq0u+I8&}nPB{X(km51`y%v`IH-Wm(@k(}&Lp!N2L&q=s*9 z#EtI1p<(u<jYqkhi(&HY8l<+mLmnF!T1B_!G8unlT}Q}1*6MC%eY{vQc%tn*T^VtT zDaJ2U-Hs)&aJE~)4Q+bniLB9<m6*61Ayj|X#^zqWkM|O>*WYJacnj!JXz6C6jNW`f zU%s2=mG!+tFy;42Mr4>&T9N;!Z#oh|QDpeHystF~;lp;fC*<e#TwMNjP0jb>x&RSS zlY*vJzC(@+bkX=N&h#)>fhvh=xe`o-1B{=%-h`8{MS#u00fLi*epxJ$<GZKJvJX%w zlKW`O0*uy*xT)1^F4^{9yG)1t*T~TGJv~_ZrwHPHjar^QDA1Li*6g0{<ctZtBCU_O zTfW#8AszK#->P^Hu!jQQA^J)247)a{7l7wUX+Qmcb{C~Ny15>Oc^-gDBP<k717HcP z>5>JQ<Ag7HW#yLE8si}R{lYi-$1hN)DLpynH#1Nl`0r}1wkVfJrZcZ)KZgAos);P_ zT2%q~Ap3+WTJ<VZdMf)J<!TipnDg#p7-y$W(>BiKu!%pN2ig|KGJ>Yu-FbsQ-XRiL z&am@(o$%~Dt4w&j5E^%pUY=H(AnE@3q@c@n$I*xer(b1rmdT<=+8DcZd%KKUjPj5* z3n8Ec<S{_Y2j0#Upw-MT^08y8ugjgC4E()KuL-PYWbfYWEfBf4);s4Ksd@C>{$wZI z`{@L+&qe}-5|lEyg7fhx4Q7Y$yAa-2uC;0z=3NQdRS#bEX3VRaLLV_Phmkr%;D9sN z=zLyd86P)6UArG0XpoqT5bQ}##lO>P4X~ZeQE6>&XoL0#6KZRw1skWLvb}#VXk5m@ ztF>8`=Eq;L=S~3tNNh6!Df2VAZ&rt-YPf?25YP^9qNRU1qkS~rz;d8rKx*g8cT+eH z8CaS~YYM^<S@U?vX)CoondaVqyk2(sb|LQwiU2D}pAU0x7qx72mqJ!ig!u?Wq1>nz zRvWM!y&(Zr=X+C)A0M23P)keM{8C#AL{XVI4W<5r+9?wUtJz+Z14ZkX{kPh8h$>ku z9Q>1QBlD2Bh$+*=P>OuMcE%;Os`^vI<KAB>V9`(7FBv>FRBZ84Wd<G^oHG+oF6Rkg zPj`0`b=0FXXw+VUw)&=krP>EByj8>qBaykaOD{vfmyf`@2=PknJIeG%Pl!3B?dzw9 zx_X(jlG#__1js<HH6UHx!)O1%C#QZh1m`s$@6GVaI3}zY=sQ;@gLGTuq|>k;Xb)tA zx0cFKmqA3^%|}w1pfm{&4J!SOb-eH@Y-JTDKn4VWDumTJcapQdst6ZM0(vbY<L@H9 zSMQ8^sZlP%gn*m`y1BqNclX}ko0;rUC`1z`6WSFM_KnPk%lAg)clU*A9KnepzzYZj zwboJ)$280;mXR5RxG3oecyes%a!Ls)paQ(7JoANU4a9?tjMTren71;1b&Ws5dw+`L zFh-4YP`wi34?=~9GW*I_E#MaEOhI4E%?pwHvzsH5d~Qx<B~Ru%3L|?3%-Uy+s4@ld zjRp5^$a8*id9;5O5;(ofS$G5)KL`cptJ0hDy4ILT<M7^%sPkf0a3e78x*$I?30}Zh zhBRdi|6<_W+vgMgXcUb9A3z%NJiQf~8gq$*7qZ4A5i!1OPE~J;D2TAF(Q6BrktZl= zknNN<f9y?VVL$s!Tzh){p|)eM`-h4goX`V!duWXR+Jp;3R<vP=Eb1uDFvuc^sA)xh zl}J15DA25~DLgtht9R0dwUr@S+<E+giLIbq*_NS106hCv@D9egIn(_;b3md|-kods z>Irjm=J%I;$^G<**ky1?QCTT4E(XbvxBbbe-)wyx4<uO8g(c%6^5rszb1-TGKkVXH zK=lKnPxr)9Kt!RU4|1&0Fpog(Zm)CFY1H{#R{kY_&w<*(ZSRx(OAAk4<pNXl6`Z&C z%KJh7I8mOJ#Id3AMA^t3?#^m7HVkyLnHHM?(;+ja?o8jt0<!uz!oAi!tYJy9lyPO4 z^<lN+k)%*$OfHMVn<(?=nkSmyQgIMdznn889SZDny8)c+!@(X_;w>Po;njJ+^Jco+ zSiwTKaUY$sew>li*QeI#69DDj8GDLZ(NPhS2a3Vlo^U&I+qb~cwwR2;&iItEGdg^C ztH%eVwV^<9HS8<Mn4jN&Pc)<f^cr<<FYgE1hK9N`Yd}K)+S!E6lgErvqu{``BOFGO zGTU1h%T>V?$|Pn%ynMEpmqu0m{G=H&!wU~LDv)@Aqk3|fR}X2Uve}VMHW?>E8@}9* zYwy?wGu@qYbFpHiS3R)iPfj*L9Z;lVAXpAf>*NP4A2uov_L(UhJ(KhV7xraHeAd<n z(04*|Qjx&RfpfC6x=HuZ|INrAB1$XZnQr;)KEB-UA9q36j>h}c>H4`bs=7(bKw4c_ zr!T3F36qchWKo@m^|Ub&YTsO65S!sZP+r?fIQa5NuQVeQ{jTXNMzJWJwX$<c%}e(M zFr*}eoA>>0<U_b~*uF-E{O=#nLCP|fzJ#gIcngI*{4+*8JXWai*PBB$#KY@q^ha`g zZMG72g7^e&Z=VV=>g`h)xb)F!V1lvX>$F2$*jWTTyKdKLUCs96`}6mB@u!zJ+?b-G zKiUpjzHIZ2TEaTbMZk))odl(!@X?XM7eXUkq8|YA`vg0SmciLMaoO@+FGC3@L&S~# zl*SKf41XzI`TMgu<nz_drJ`LzifNAR_u3T&7uyHhx=bQlD<H`0#o$Gz1e1MPP-zEt z{5reN=L0Q%@`2ggn<bn@UbV?*2K&<bTH+%#<V?l#=QnR<)QXZ)oUSYhT{f&(vo<lW zm~R_98#UYQxOk#}9B(1<=yLyj>3FdN1fB7_TQN!$J65*fu!@YwBeR8FD+@{B1P9$b z*iN}w8bV<NH=9pYiJm_g_}4vrow+me*a9Q&)vCc5H=08SB^8R0<fTgw6W8^aUJn2a z-(NPfhmZSj<aSs1$!;<g%bUJ4`{CQ#9okmsCyJ~~b0A-?{9ooL$mvodt2G=vwzp3o zMNKU!ZGC;=t3v~e!Ga6^b~aAw-PbluE7|p$nBg;8goZ}<b0nfidf*UsoESr^$rUwq zA^}Ds?8&NAZDMHL8*)k5H#1qW?XRJzA*`s2`p%bmp+%7Y^Lw|D-2L#(#CpKSE!Ne3 znv(R@g95xd!o8E*XYR~6(#44D>r`HO<$_K4*EDJ3?>?j~v2q8|#zI?z6Bx2ZMgJ*3 zfYy6Br$m9XI-xTH!ubo-P95S(W=;ttEX?7=l;SmJn*}`4cZO*hcGEs&<Y1aH@JUIN zV+n^?-eKy<U(g)6Yb@&v0ZjXm%3dzgq)HC$QQ_f%MddzF!9_TdU7`-{#{c9%Xx!NN zBL(9>@f`ne>t+9_`n6{T+JXX2a!KaL8A7|~8>R0?%U~=zImc{=mx<M_(or5a+ya}k zdMeeVnwnUK51&qk`;s+KH2`NU$XN5PhJ+C@oKH7r;Yvu0sZNp!U3`B>vCk$Vr3YhN zp9n+_jkcQgec2K}d|Pmup(SHus{nc60wuyiNSKYwJ_V^t^#B0$)(3btmFSKvNVH11 zoAx7iu6jn)c7SfTg3*(bNA?}^9O}5T;wGg6F@$DR;<=GbhvM~=CKLFDSzSqF{#IA^ zfrQ0MbS^FprWoWV{;IC~6o=9sRy&aK!2sak#iL|tMr)qu&wKc__T+@V#uKWlO!ndx z*l=mdzi>VtlrbZ#G``F1ur(|dH5Nb}2a2mL$vI2^cGuS?1xx*lI^5LNZ?>-#EK<}K z7o3-s6R0&$%})SC8|pY%10;&%!AI9N>W;rq=#U*Q1ph^%Vk`kcCmY#(XhOg7Ud0OO zD8_k9os`zvPI};0fLZ>E3QCckvWK??ljRjw!`;>4o%0skw_SbJx97Io2*}sl6Q+X= z$2hXalzYx0EiQ!a1b*@<F#_3S{_k)=Q_2dsVASKuCKbfL$-(z2IM*5KI-1evBO}g0 z-_ImlhRofRl1K}-R&L08==;4Z9w~L4#pZ>}q_KUg>KuNgi%m}Pk`naV->+DmAh(!h zh~RZeO%Y;Sk@LNw7Ift>%QY_PP2vB00bH-}^0W&$k(@Om0Exnimtdm;$I3^8Z0n2% zvHR<;a4m;gPRAS?{Il1dx>K-bP;nuv(}V8BnDNVjKsXic-<G0~iiig}iDoDoVPUMh zGstO_H@b_tl)s)w<(VqFvco5OPyhOvZpyg_)l`+1({alQ7~i)BA-$SE5rQ!Z)~@ac zs?ej}?8rRx3^KGCy2|2}j?FDnPA$w!@25VdLLd=*4k=^@3mQ(Af%s+0?-3$Amh4m_ zqV2hCr^9q#2^8R_aFH8d-dz@plvN{P1@L1_s_p}a0R4PcQVPY+7NTl01h_KK1HN7; z+nlO@a)>(M{~(1FoY|_0_`7Qw%b)pP(Ad!6KG>T89#2c&mIVsdQPTp+D00M6X%t{4 z0@6TV3qOB!G9aU{<aL%`C3k8gJHqhFRFo!2q`B>hu@{TllW@cZ)$xv=SX=<SAZ^?! zq*`YJaE(%@j2St6G#~!>&th_eZMlq&o8Kh$a+@_&T2Tq$BtA!BPY#f+Ee%aJGG0HW zs~j{}YmEStf9u)@Nmp6Kh3X<e2R^geB>_AV^xG7>0SaOhpF7jFH)KnR>Bu|$S~=oW z-E*J0Z?WnCkU0`rzY#$x-bAbr;Es*vW8=PFTL7{4S0%c*=P+IAKWS||w9+Wus+0GT z-AH&i-S@9k7h4+^V(E1!nt+RwBw6zKV*2H@hDBgr1Pu<qiVCW&3y(*)a!p?8?%K6y zaW!bv0@XBMIWj!5Ki)%U*p00DhrD=@j>iob`$T$Ru;7|C6%P-taiIkp70)f(Ebb9J z7!eABvlC}_a=<Tg(&d%lMkUia&kG20mq+tE6z^$5i<4y+T_$g4;%OLC?*;I^I}g5A zoojo*b^+XWWQUL)Gi&kRrufIa$D6xWL}|VUmcR$^k>$Rv@(n#r<2c1XZqy9nlJ>9s zV**v8N{U)zy;)i-gr4~`4ghC5`=_g(ffKKyJ-LRD%zWy5%H^V?G5_jdfdz#AJTi={ z%`*i$q|EGNqJD;iA_rocghJoTTvZZ%GY;3L@pR9rQ+=m~26YZ=tT;K|vHT9L98?<y zxd;62m*e_l%gdjYzj{Zd;>K6&;_ehDVB}B!3>%%V<^ZDB7HzsTgPP~b55=ZT&|txo z?_pA-XKC3&X4GIz<Wk(oKEjog>KY=#KWp>gj#@Ys1E!(5S<S}SNQt!JJ%@E`y4vOz z*T#~^fVs3|j0NT0-&W&h$kpuD!ju?{CSgQimh3r7t&_q12!JwD<Mk-fpxgq&IXPnN zu6@^d5KyAO(aN(xy*wzXC_nw<-wad(4u>P7ULEPSbd=wpon}~d*!+-Tp}D!eIK42C z2FdSgUFBP2ev$7Eh26fnJfndQ>HlW9uaSvea2PK%0vZGC^lz7{h+LZs^`lcId7S}Z zp<!=ZE7Kg^ADh8sz<!jqp6+mCF*;I8mETYW%|dWby6sM(3RI&4bCZz(&R?L4l}j;y zu=k|Kv|z1edd6W$akZKYc_t_MudxqCoQ7_{P>>igU;v<_2O$q8lAnZDoZe|$y`&PO zbUOoEuJyb3Vpnx)PK1y4j(fMyyCYOoLqoOuEAd*daHj_$8LeOX+FGw4{^(neikm^u z<z98V;D)xepq=r??jD!6d*3mJ4~Tq|l-LXJgyi<x0(NclcGzMAZ$UVg)<$WmQ=am- zksJfSGSQOa2LK$J86~rCqJRr{epc`?$L0*7skjas0ISL1Lu5pcq*523ytW>C2dMtU z0pk^I7w2$)W9NOn&iCu}j5eZ~seS>70(3zCy{oKF1N`9W41zs7W^l7Ns920<$uX8- zHSnH?K0Z@nII7r3|2BdmQ4%s{L*58F^wrZzyh(~S;bvt4(n>n|7Z^f=i{+x}yUoYt zvc95})RWs2rN>I+ds}+~jeBdm^Bs!)J;5T=muGR~I^Xt=f}&%1Ft*`QDb!3!xuLO9 zcv~r&c3QgYrUr{W)m)@->A{bFH)u}o^0P^+sxWn_@83yyA|tp_ZHaisfe)H+8N&_m z0?QL|0L%~8PJsa~zr1ju;G*-*o-Ligo+-%L5%O=BGslY-%~Hp_<bZO?$kD=x&C-^N z)Bte5;L~fftrI;&lz6{@@(NtDqp3QoyFU@hWP++@ubLqR<rn=B4{ln((zepmq3+2W z@pdyB@(=ms{8HKJtqB8Q_AZlYzH)f{7hgmc7S<~$i(T;vDFIHlZ9@pez#JKls=6OF zzA)eP4ZlUnl%Omq0N-JVrJDMD@wtXP;A8fcGkx*oPWYoF-dGY7+eAo4T>K}YwlwIa z?fUNMuc&4K-L|wBcWWVLD((qOnd$9HdH9C6hBH@$VJVez<N)w|YDn2bHXj}=Dk=6I zxDL@yAiJ?vyZFrR8X6(fQ|j9^ln0x>F4b~yY>&hVO7c%!&^KR#4-~2ZduIWeqaP8- zuUANRzo^Q~xA!BpxYYgxfVmC$VtgEwB_N-KQ4QOcJTD|7$Ox)n0<O>^P1-?iy_{wk zWaFZoPsrB_P!3>qsr>l^jkwLwqw$UYF|_2&O4hW<k()*5_`dan@7bx~g}zENJhhUE zL*1P!e*A`+@N_QLSieux+Y2}+Ik6~{^&CqsSC+sDrlrfsZ-dd}+DM`lj65ya^o!PG zLfl$u*BgdP0JNU?s4;zdPEb<l`E^+YY2-~uaM!5pihly%$jNbyXi>NmQlSs{1;7_= zthqn5j8v0;ms$>65(nC|a2$Td5Dcyki(5laj?3o&KBy+koRg<wC|^_NIgJKKe0r0E zZ{9}s8MbdOgM)xMKW{r<DK@T(o&owxJ?$H;fHv<Gf`D(d7sUnvhG4H+tnAJbDK=2r zPX-Lanc-4~f0}7*r3oUM1D#p4TBF5jdq!pxx52ZI8h`2*rc@GC6`2?%rr6W6r3p?} zy&WD2_A}#(Ve^N8+;^$=;>+*=k+h*P=<c!IHTvfxzKTYfydDPt(ue6P|7n`gcYvs1 zG<@HIN!Ch`)a6Mq)l1BdR23zI;&LhAy6Nu-bJUS;2kWA<)RBzyv)h274(E9J1^noy z9^U?zioerML-V>PnRFa~y?8s_`fD-sYzbE6bwka6mX61Mp^F?zHLzuP{?{`W{-=MC zjbnPS@FqbZ7$DjJbU8s;`<JRntK>7JUr?S<axf8bV?j_JUa)maVJG;53@0>eXn7h} zH3Izp+#JQz-8@_fsMXNY$riN7p4r(8sEQHP<<CZ&EiTsOWFJ7C@$A|8rorX>5bH&g zy9HNk+hm=82qI3ocZnmWj{TVzu&TeYni1A}K>ahd4!rbsDRG+yybXRa$ynxvWZDeF z)l&_;IJ|pX3BZ0xaVo0qr4m@(uQQp9)*Sd>`O`R(i^X7SPt2fzf!Zy95@$}#YiByz zadH2NRHpa7fKXwf00OjaCy53DWz}hqSSu|`!~>JmL*!RjOFXpY8xfT^%kG(*6D@Z* zcRpm-T)+1^RMcdS{}>^&RDC0*48`*PhCkwRd}_urKNZ-Ozsu!Bma71EWK@mw3m=yn z8LPLNrpOoOwT-QA+Om3GLE0S2JV}HTC$)~mjj+>XH0|MS72fJTqiT)Umn8xH*xc-E zaQiomQDDcxipK{Yg@GdHlW%N({s#Ll1imn-Xp1|_(Z6ZTx5k7juo}$v`$etxn^77> z-;|V;-5m$5ibkO7&u5i5(NcbL@@G`V)p-yT3neY<i(f)GmE7I=6d<wV95u+IpW0yE zACF}RaaQdgUT<C-zOmX%f|{1_0Jkd_4gqqvF!6+I8L$J3#Q_GU9y4p?OJfo*P(0Cl z$muCzkIDnd4~na$0D8okl=N>ouZls)pFmFeB;Xl;)AeTUw6@Ou!y(-3X0b)@6B%P5 zSiQN7Z`lOiJFuFGd=PaoG6Tt#^T$6l>%@Gy2nGI2CH%N99!Bpeao~S|LI(uz_oXBK z<Na$e#Cp0JqdAg4*z8xSwQu6<Qa_k+fhqt{x|c6q<1T9E@D&?!e6k>^mO-*qP~{n) z%8I~44fNhf)U8Gd$EmrYc(by4GJH8>{}O<n30aan&otl3!~W8Y4hwKIav}{u8yVa~ ziq6s|UQwW*!07Yf<*|RTJ1hq|3+7*V9Ar`_ORM%~8STd(8ykdDhWq0@ZzmP$CI~)0 zK4}@5qz|@GARZKXl==RE%*uTBID_)Z<_tFcN@S>i+3f=3``2yQi{FBFF(f4F;i|oO zmV$@W1`tQCog2&*`FC;vRv2i{$hd#%Uk}@OUm!|-Fi}E~7*?iIwUw!|+?DoUN!NAz zTRhL6J-MqI)GR=$*X~x5loxAgcA)p!q8mxn0BbN%tRY;j3*WewvHaH<tU#EJ;N)bI z*Nm(g5Ci(cqmf=}z4J%hI8#b|X}LpCP3kL<U)(g|0S{m5=_$($sMaZgytb@4iMCAs zJ)><2kaK(I6qR*joBJmj_KnIDX>rdEV*m-1iwskHYTR<><HdvXda@!80a?E4lLv^< z+-Zr-aV0t$-5NIDNdW?2q}Do4L7Kz<V*_P{m0*Bt&k7-$aeC3@xLfc)B-9&Wkx46) z<~+pa4pb*s^xjv96-9Me<<y|B_zi5WdX<T~kXD)i12<rTn6aP;c=(<&w&I|g>&?bf zpjK{K4^V<I@y?M<-=7CHp{<ZGgYAA*@{tNiK3*R8wnA2XDw?AJ3)dC!0;7S1+(bY; zJuw0Wa+f9^er}E>wQEaSTH<|E3vqEA`lS}TUM5LWXM?u4?y%O-dqa&?y)2Ye67%n3 zgR!Gr%+ls31HIA44_><96r>A^s+vD)fx>JL9e`}HD3jx?*8%$M{5Axj@!7eBY#_ui z^-t-Lirh7O`4XL=PH#UFN*NAdt7+;4{-U;wo0Au-V_?c&LL&OUyiyo<RS#<Y0`#8k zDXXHTB@CdbaTM;qaIdy=5@YbN?5ZwUmhBk9fPC+o9mw*_Qipp1!(jQv3;W{2{-K1@ zNO{FCxxW*(LnPqp-1G&+uM{a`&n{c$JM~}PoX>R^yBM2A*ot+`VyY-61X4Y5-@vuS z$A5IxV36|ZkT>QTvK^QZR#$BFHSC{08ND*i!b@^rQC<?X3DHsaWBNt8zDg_eyyM4Z z4aBtIsOrS*th|FtZS>C<y8MA=M|&~`Y!*Im!mfNRH94&ed)>{J^mGM<C5Otv_))y< zCu4l`FJvt%>c92ZTZFd&$F&}X%zmj4ym@L)KK;$!rVif1QhQDh(N75#I^aLn9vj|o zT>z!tPK1cACRpnmxDt7+t}-$F-G#Bo5`_kO`1TwqE8Dtk#DRJQ+e``=P6f#o8Z1=M zJjnjPAkZ59EDV9WFb3M_94tQ7(dfN^XI6<*&=?=XZdN2SZw)aLuoPiuDHFeUUk}f! zW%493EGfa9+2~1!^KZWN{|{>r5{3rHf!nWq@#?&Fi;T_vIx&rD<C@Fl;aq>Xp+Q<& zR%xm5J`MB%`0#ne0jV9aIvUn2C$lGJ8HasHdpE0QJNkr)O{TUa;*tK+xXkiWv?oiM z-q`lR$Hn+kzhnZ1(Ao3XxeGKm*X_hI+<zU<p-S;-AZK(M3b~;wf{CA>P%%Y6>R%i% zzyL{eO}ym=5G4T!*TCthqN+2N&}BtR)eNhpM9S}G*04%W3dock!hL|hYg<4J3DBQK z^kvw{36>?ixhOL3>X;Fn8knXR1@*M>Aqfa*5fSVZ=foFPv5?Nk`a3%-_)rImSk%Hg z(xxK2E=?vJ>yHm-9%5!!_#jd@NdNwit*eZRtBH~XmjJ<Cg1b8bf(LhZ_rYBQ!2^Wg z9^73AcXxMpcb9$Np0oe<9DXzNru%i@TUEDe$kj=Pu8N%-<le6&L({uD7yvNVz-3*{ z#c928zbvXM&jnE7Q!~@*rLAAKPlp>839O;M%l%Q;7LoA8;}iKBlsXh)z#zL5e3M3t zv0zw|I{^1HPNy#BT|MIay_Xbry>hj-S+EWOk%s}Ulm)O}$mrZdM=(5#sYZYv_~2&X z=63kZR=_{1omgJ>e1WyrSdXIs7|awg!96}=<8RW4oKG0q^=Z0;2Lxrn=IFn>G8!8E zbe8$flm53ixGe27Eb?d);?e^Id7-;32MlMFQfmEL@&u;K9(niX_pfZO>Hd~t;_Jl` zQkAU9o2wxN*C)tcUG)HJpThgoZ7*TLnUCi<HI)K)k1s1)Llra!cjRyo!4{X66a8K; z66HnqB}Hggx0Qg)4O8cE?;o{^QDu517Yn6lRT81qvHzxUXWi<oBg(6}7d_sra~G(+ z+z(!^qDaPpPC$0~5$<_;`M>VAE{%WUmSl08bPo6@8dS(eS5@z?j@RgbmA{dkhiVIC z=RTmfFgv9#1&VZ|6&oa$d3%HJZ_Dv4F2A~|e5)^DY$|DL{8fB?syP(bQt;=;qU;Cc zC>Fsxzbcu{*P#Dp1*yb!#FSelJ(7Bnpo4#BVn=^F;4bTXabT_Kl-NiPT$bJ*xjwX8 zy1gU&Leo29@A#<7kX6nzcqzQ5b>HnF;`3jxA^hrc_>II)Ah4sBk=QLt4VP_XIBayB zY_U&#Craf*y&1C8A1z#5Tz7ETRJc;`;YAU+%)fDZeZl$5=3)B?p}SIq<H0@S>+L|w z8@qPp2w?36jsuZ&QbZ$_MB9}d;^xC6y&=pm6W=vt2*A4ISAiI|gO8DXT0|k*unaEV z(DVXxddYjP_1~O9P$_DZKJ)hYz&*Ywcwm%xx-M+)$!lD!y7#g?67(-QOG!OMmZ`9? zoX9>Tq~6<`)76;H=7fcN)?!bE-LX;aEkjp&XgkffP^;a6%*{OFb6LSEQfkjk_g_UE z4QopD|Nbb9t$WeSW}z`T(OEs!5|I4|08J|6J*@pN6r*PQ7+9R-{VEo&&0vJ=R+g`I zJp}zsRCK2sx32XoM6aJR$aLa?KIA7wu+3C%8`NBdg_-5zWa}((`?@!xuO5*(Gz^Ds zZX@ub1-$>K*elMQP8c?OeRwvSr=aC?8sLArvFa!uGru|)BmGikJozpC^H_p)Dga+C zix|~DVC&Fh<e}5TDfCZ{OoSJkc-_n%k}?&Vo7kBDY6BnJK6LGh2@3cIX0NS2`5ynq zCb7pk{;!Mf42<hw-w=wYWol!c1o`9GOa4((AKs1fr;+e+ySH;vY{CErPZEkyRDufh z*eI0o66(oDqwp8Bqfl>+eEym9!(7yb@TaDZYEC5TsBnh<pfhrNtVCw|8rcear5qD` zIA`(Blmu+sWfF*6mOHcXmmTXMAw^juSN0k*aLyk<svWDZH98|Gy7)Z#4YYeOqZ74f z;9Z0zlU(gXL=M@i$y3MNV4mTe>iMS@>1Cf$ELxZR&Z)t?|MmUU7C3$8%u_B#r6=B= z7237F<;PO#NM36i3K1inE^Ob~eU4gWcmD)no=aGJKF(W&Ku7R;acb4??K)6}905sm zR^V_?a`^r=Q3~&3E#q%0{wqgvwFYI3GJRszl`IFRD|*O_HwPjF4CGJk2dn_Z>M-&p zM2qNrzaEeILbJc@?zzJ#An{!o6e{W~V9Fw-!b0u#d}}oBCiHTKg!<{e(d5x{X=be_ z`hp}YBC{cJd570qg%zmCdK+3Si8A<+F9W`4B#yjHy(D|=!VMpv+q2g2>5h%!?d%21 zG93i%3@o>`eVp-%AJ$}fc#aVR@Gxm2jYX-G^zhTsCNGuWJwFLZVEX*69#fC89QG;P z;{I%3RU);&p}a63aAy-D{4D$AdnvMh%G>bu5elB;Le3!aJF#2F$O$lj_xZgdL9f#O zv(gVbAMV4i*q*d5UG0&`|4I6QNdk;jVQw(F2F4Hroe7}T>i2&pNK&rhGZjkh9Gb<n zP+^a<n^>MLk|Hq!ln$sd3Oyt15kUEd{m~RW`)XW&LXC-aE%C;2_x4>uhrnNlAK*h- z`vzh<Nc0EOvPCu34G5O-z{y2_P@bs4{!OVVH)~B&Whs0r<SYC{N&UG(uYEOga0F(i zF}iYj1@eKp!B(Z;y6lZAY&s)0J$(cmuqU2S<}^DElvR3;N0cZqv6QK-8OmL_Zwfw> z=4HXT8q;3*w&A46Mz=>dEbqh)nu^UT*mGm)x=rx`tQdZtI^9v77YM*`b%%#wzstYG zD5*1pe0R0cB`YXteMG%IjY=vdMdZH%liuJvrP+u+)!8r>)+TOsK+z1pZ9Fd*VPnIQ z8S6W4j~nA1T7vl<3m&?4^DcckZE>pA;r+)4hJuO0`mHaPUN)09<kz@#Z!X!PS!vFN zPd>ZWWX8q6zxsiYXY4Ruo&hQ5L{f|VA9Y0$RcUNrfpm_B3GcCdz>r={ce7T>q>9zn z9|LGOKe?IrQ|w^_Qr#~yYLQJzbMrMG3tWh$rBAlK$?~lE6@}$vDsQkQdVauVpZC|e z-^;6bj_S;^Og8EVGsE75N)q03&rZ8cqvhWQU8s^8ACaE{GQ~@}(qsLjlK`VmQ{zJG zDeluM$Lf(aJ5f2-mDX6yxL%N2&bXfOMW$Z!H&A!)99!sJkI?bD38bV5e>$|Z`5HSM zCNoa?uZ3JBJ3vYFm4_ffM6Et-U!D?}@T9B8CCaWEk&+7fZ@lTdB<ZeE%+GIo>|*)j zD{oXSIq9Lm*l<e@q`NbcU&^fCN*;G1iis`>3E&~&Ov?8&C&C)Y#Hpwo|IUn4fO@+S zRwryz#m!~3unH4DKX2U{r>;>HTv72%JH&54+z0|v5`HtLtSn}g4r22juaLKrKb_le z4U%UHL;UxdCIips`#r!aE&>_^<WK(qf<G*aA7J67=xMU0XPurxUxc--5IzLFQvs|A zAInc8Osv(%K`7-;WQqitWNx>i#QFq4zLW9Zg}g2BaOdjlw+=>Ssm__c|M(HGd48_V z(4=N5Q@pC2|E6u}z2amag{Vez&eRvw5(51L{_FWUn_D{x)XzUDrc{u1+!I-eqt#O5 zO9yK<m3K^U+kjzZTyjEaO8D<e^Un(_wX@Pp)VW3Q`4XbiM#AM9NAobHqJc}U{J&$O ziL*6wC4S%9_jmTUOJL2YhR{UB7pW!>n|j@#;s8#D@fX~ai+$M=Pa$a&`U7HgX0}Pg z^wB4QWcfAfWM#ri?oW5a;)zlCk$|AkyT*G)!iU2MBFhfhcx<RNEUfig5q;$wIIUY5 zhREler>9~PU5q~`Z#WeSN<ze2{ucG&@odxRa(=TdP^Jb*F=|^4e2W^)yO@uSH4uZ6 z)Zyc}r*JqYF+ISpzDwe50xwQ?c&ktZ1}GPoD36+BT8*`5Ffe=`w<|BSK87)5tjgbr zgl-aQ<7GtI-+x@>HKdBG_FL`MK0;=IhqP-Gusk{I;?I3?cmhGbRIc@}EM>O-Rql7Q z&TbsOb~L1mn*&El7i;$|aHHH9&*)<j-l#|`KV6Ma$l7xR=UNSblYy}u$4nF4GuE2! zfX07wU)qBHNnkD!pp9PxpemPF*;Z_Y_l1VuKt0Dy`z?}mCg@YsrN@`TZDU?6oDnzy zZ}zKor2Th`D^IY;(&DB3!*H;(gx}Yj#4|Cbxa)xtj9d91rwn6Hp5wSqh%%OHQq%;+ zVu7Lc$kkw8irxKpMrcDB9F1<a>F~i(QX0O9e}^=(`D_4zI3`Qfhvb=`Z;FZaS5H}1 z-ZA{XgObu?Wr=mN&{)k4NXdX&DC?Z)ij~8lGO|!-y;vBSi_N$g?Okhs?x-9)5P7s+ zQG)*Dvqot3mVC`|BO{~bvrmzPj<LvYCK2VME~6?9;OS_}NJz=m&h$3@vNY6?)NVFW z5I)VEVfECNXj!pAG!Y()E0<?wv1$z+Et!8uM>BM+3{6H#Sa)2bpSWw{9%)Z`gdEe` zLGP`2lO+BtB|0S7#h94Im^^C)H^4K2V>3g-#gx@|$ztJe?U#N5--?IODU^7u)oOR| zyBi3NnrYQ&x+r=u4;}X2M-daS-Q#CoH+3NRsJS{4w2p!mf|Jx`$V#7^5Q_Dee|<yP zHnVCK5YxA!mCPYK*|erJrefcEP@1SRdd;KjGXN>gJrTr^CHy$tUic%90ms^6AgNC> zzY`wOG0=zF2mpe|WF~=rTbfQ{;E9G_d-80apM6^fj;tr>fXiN_AoJz#1DcG$vKqW9 zh_cV^5|-L@BbEAGkI!^E#}})4pO{gPMJ@vRVM#8eE`=-G>l|Il4U~ohb3;>rUl4Gl zI{l1la&X3y7ue}88e*and?y9i4+DXO&;t}V=c&F$w+v^H91eA*s;_GUCz;GfKKd1o z2FD0jJ}oGO$y||8Gv-&?2Nl2)tCXluO{zcCK0g)jeAcZE>|`WJsdcBmAm$wehP10* z+?vME&dw2%`L$A7+dnFu%3p{JsJ87#z+VJc@S!_@ub&}5^UuK+8k^uYgRlrdzW@-g zZ^+wxWUf!vygS08f6LH(JgQFB{B%)7Uh3)fsuNWH<k1ZQG3|t;CFl;>F^U%%q&8P7 z>y+|Y27|YeogIF)CU!ABqI_O=v^-^Z4e+0I_(mDXD(S!XHo`B(P}0h{vJObOh#wP~ zMed>E_x6!3Pb1r&pr(Y1>fLC0XgJUlv_(5A-XREuaDFn$hYnm`?f3kC^KuP7sBLS3 zgDadcA6x9C>+lu`QDKH4VF#S?*k7@s7G8(wU+%xerer&({h5u|t~X_gOHsw=9Ui3L zo!jG2xg67$PAJjlznGD*+qaCinoTU=sxYOE@Ys8W6>Mp*WC*=@>aRW8UksMOj=E%d z*vu%nIog_yS`1{s#NRp9gBISbXId7C<@_oWG$;RmT7WK7Y`ldR)ug&pV9{?v+zQ=q z3Uwg3TwRQ9HZcVcm*Ch_eglqdw|e#IPoejpF0~IpE)JD^q1EAO7((Cp@xijg)oJce z#sgFMLI%j^SVce*#M~iI3;`emT0dP5`iD1BV{z@$rj~HOzppv8$5B<CpAbpkM&QNX zY{ky!dCas~#m#PU^J^%1#56rRX0O9Se*W0io)@RP5H-A`QBtika1Qqx2vGjw5~kJC z5Ucw~L6kseJ|?YbCTUtTm6x{`^eRR;HU_+Z{lAHHTq8Q|&7(JCk_L7__CYbF?}!_r zR_D8;iJe0nHTC3z%t@W)1WgH<>L3Cfb{p(^f}zY$H@L@m0r0009pkT&I`jhf6-_5a z;%GSR<$to43W%u9+d6gDyy90Xaw~D}6Zdy96aG7aeVd=j;lFtChu4k1A`a;JskTV7 zHPwFz(Q)5e6}&gT;sS@9;qm?0s8C(j?;JAx<>h1B&wjMDv8-wHtj0a~^P&2MiZO*M zcE)BPX%AyQTHdEJAtK#_18;O)8F}NyW;L;cS@}|4Ap#t(2j8Ds?b?nFg2(6>(QooD zez4eVNc#7_u`!U?m!2aEmY|v6kw>hu-`?R!^w#X^9uHTFSQ+(nY1NA#*&ic>U&0a? zK7C~Tk)~*!Y$tyy7|$!UfLdiJx7<1vfpbUIKT>sNn)T&-_PWZl>iGh_=)@G?9_hDZ zs_9Z+IkGZNOrWA7`(D6IFZ{)FYrCY8VAy-j8}0hqCO!ELvV}^)0&q-cz+(%<^YRgc z5&oAON^O9QkJwpbqp^tQHnMqAe45gf5wB16Uhn|YP{&nT@Ns|toCXSk)Q;)!oiSHi zGU~xi<>RY%OIL?pmsK!1Y13^E#ar#~m~K_`<*2JS0d@z6yAxGzQJ9ntpeXij>~@PP zCwi)ICe?W!&n|T~+2=gTeMn}7NzomPkPPfRghiG8AXr@9K2cn6)uKw6>_}*+oyq<K zpH5h2IVa1n#qano54H=+jcY<r2$Q8VlE}K3@L%vM8Q5^%eI~d**^B(WS``8~rY8@X zwyu>^`^%*i&zzir+^`Fj@wV`eUN@@AU3A_FkYeDDeq#$t%gS@<fYyqfS|nN7W3P@U z&mmsXT&lHYy6T0Ei1zZra|Ra<<ejPM<B}fEr)}b`8JvoLKj@$uX+0eAq-e*M()6pp z8{+kf83&5}siGGAg)?6ERY6O{$B0W@Lj46W5<bbe5dTyOrxAvE*xfZuC~1R~_qU@F zqBW*5L%?PLrpAAnp+PQvn3+72b@|ZS&_+lQcZDRNEYNtLaYf2l{VvhLqTXs?4(EWi zQf0yV?4wRa?<ePKCGE{Q!p$0*k(#`lbOIeVh;Q^5L*ouKGuxBG9r9r4b>Y^^-+X^6 zQ?h+GzIM2I-qn8<r@2_@pRstt0UQx)P2sKcVEPGyEhsDa@x(-1T%quBV*U7%xz;8N zYMJpY@p2Q-_WU+Ddav=kq|*1p{qd#~h+BudzP{FD5Mhwc%S`WB^{7Xiy@vm&tQjU| zqJIa2P(jpt)cF_1u9d3HX3;Mv%g=8lvikbO4Gj&u`}@WwDxUfy6)Q%qo(?2IzNwc= z7k*gJse;n-QmiZ8plYUDKGp{^^|w}EO+l}+b>AH4nv@1RcG_SVAAS!Wlhh-(p$TRt zv##g2R<1HhUS`^Q3DM2Qlcu=zuG4lR4;$4neiq!GwRqVApN>pNJ?-oB!*(-Y@=wZ6 z*Rk*-QNJT+5Rq`(92u>GgFj#0?Hp`1-&~c*s9Svv7w4_3@vowwjUelgOg9INLwtL_ z#6V!X6Pm=|y!Q;?gN=~?+c_*Q6y&cq3t}(+;c^z0J9~yB8M~j&@6Ik8WBv--S&GF* zaf`rzwk+oE_Q>+p=<&2)^UFj3DWs3DP)PMmZrg0Da$JlbtUX3e9i3Q@f4V;xKq)G* zX)C7Gm$TVs8!=xY=(A!4+0&}63ZBUIugo!qK@Sf|ISRVEkavRJY1a=T?W}OOI69kF zS;4(|e=k&KhOh}><^BUW{z}Q`<c2zC+Tbhg+WHXMhz6xB*C4kMc%G~>0gjZ#D_n8f zngLls<iLhI9(|%`P`aGHSOF8K{cfxk;NQs58t*s;jts5(-Sr2H1sbCjO~F-%fVHF^ z+{F@vjWMQ;m)jk=&_!p;-&<#?Y_$rZ)+zr2-S9ky8^&ljtk;j{bH{VJH&%JNYxpf7 zJSwEP*R6SrB)DL^XooaM_OKFlj*ANmc4?*mAVMZm#SB#52m(<DTOmQGVDyln1emk~ zh0++vIW+zr`z!x}XvI9$ZA(xWP@T-w8qJ|#Yp`u6`&q+46rkhbNVIE=Lw8V_VqsR_ z?{czTBR#oH8v;`n!Izad0e6s95{Jz{GsUvzh>RLNPO2KnMmD-)>vyQOO_i#Z%ZgNo zR?YaE@DswKz_cR=^8ZpSJVg}&U(ffX@^~6GA2!E7>kV4<a?0w&<n6jYrE`tm2vmmE z9;`UXnBUu@kRF=hAzbck21f<Yj;3Z?bn_;^aIL``bxrlacP>}|be(sFBBh{@wU{U~ z_lx`_doyJ}t%K*k&Kp@Dj`wrDK8YY#u^2u|CR;N*$AbMrn;#_LFQgoC^T_#1v0_|# zC0B^>`M#{lNpT^z(Kz@oo)Bo;O_{Hp09?DBfG}udSZmAxBxVb61~<4)`c+c_8xAr! zXPD02q$w?7sPyH*iJu+Ho1I;LG&4vIOaG5J9n8tOe(zd$Vgri4ht{$)kO@_xk8Euk zYC=Qg|AB{59MAYO&ZeASu??c^;ZvDfw3ztyQ!&QtH)D=5l3bmqWktKGkd9mon*rEk zO#ePaN}!>NEL95EOc{E5%Xh@;C9%BmYX>H~37l1O;a-&!BC3A7EH^ddwOy28Xee57 zxL8g93#<<kBda>yL-^I7U-jIJg%Y~D^_symz7f9jVj(%xkzc8FkUCq#$vr(oqf~5p zp<i8SW;eau71tAFFwj-!^{$pfvu(FG*vK7Zd9tZygYphTiD=He2HAO6`EK?n%<pDX z5D2BdR1O`NwOU#}d~NZ{WMY#>d=%K`NXubPQY+wYm?zTG$M*{qxXON9Y1*_eJ)_vN z-;oxT3DpLpj_y(UaNAJCC6-ZBaHXJJybaEMwCnF(JKFu5w|wj{kzDj)k0%L@GHu$J ziPg?V6Bp!j`&Bw5RYpV*mK*KZ#`nm_Q)4o%Dk$Li`#s9H1k)b^n~m2w^`7CyT~mT@ z;(R?iE*PfJe4<zdO*2RNuPgHbm@C*p0NAVQKL*G4R(6C5qrxE#kNR$2Ieb*HyysA) z>r)#*=Rlu!4V;jCeI%ALr_2)lCPvoXmCVt(;!tnzT64ubQ01%_`#Rjo8})FNZd^WA zoTdN5&T#62=_gPR^W0n1k=Gur`{DoATx+^N<6GDdsIT;!DrLR@fZnR!#Zc3D{i*)v z;&;pV+N+CSi*H0F|D1e>lFSTTkYB8b(mbsg2`lf?X)_V5<;S>={hHxGp4DB&>%$M) z!GWRfYkTqt4T;R1P@Msqc8%Y&Q`Knp(6=-EUGNifUn^K5o4OgIDTFRR5pK;*Z+a_Z zimO8#P<AefTTt3TQS)Of5DmBPwLmO-^OlYC`^J~3{#R(d#iIRy&Yq9xu@1WJ7Ks*H zqiiesW5wT4RS`nQLf-L3k{$_KxD)6LaG+e68}YmES?uba;M^zpVj$KpAjy)Xs}mQH zI+yeGA?6`XxXL9dlfD9JBkg){`X{Sr)fp>dbbGn$ZzZds@c<w^(2Tv_LT7pQr?a1} zJWASy8p(&l6(O_R;jh)sC2v`6uKE3f$0okXxys``O;k97b-XpWD2Z7Du=MzNDTn`+ z)!~{ojdR-lzJoIE3p$9UQi}v%XTe8HpDB(kPFk^;6Ej|w5#m8&74~0jIgw{R<?S6v zm-+pi)#uH+n|*qT)03}Ux8ywUlEaXZJy)|lufC1C67Dv)rB)$7E?Z$a%D6<q;(RwB zEjCHoRG-iNdit`S%O~GtW=!$j_m~I8eE&54o7{o2{sjaH6Qf@gdT`A$hLR|)Doygs z0!V&ffGp{U7MlySXxii45pPu2+;9Z)4mF$Wi#Zt^yT{9=-#ei|g?8M0KHT{A$rjS< zYd5af+~kW&v3f1LE<axSWb3iWmq`h&N(o9QzHcEwLBT<1cd*6fa0m0fUIsWWU@-Bq z1X}TLq&7Zru#)n2s1|ptO48FsN$eIvS>VlpVUTUWaUsP33}g{qba~U1#}J(rY1rSy z#Oc-K*Wy%t`cc`=GhuiIH@Q9#_eSzfQd|G0(!xLcFW|JlLyMIf?Cy#h`zW41#;-~d z@c@QIxou)^klUKD?*_Vcw;7&_UwL(V;fUmq{`5V63g|R($yoFUzWZ#<dOxiqV3iaC zR>sq+@*t&f;dy@V3rm<y`iy3l-bMsAsWs-YIZCTwnA4cw|5`N2UkPp06?d$yq&y_} z7XHS)b3tCFgxEQ-HWm~{Rtis~=N410>G>R<Z>!w1N73X=9&$y+j86cEYJqP3OS1Wx z7Kv8|!I4#KojZ;WWZ_|*8c;>fd0t!shanz+1A2Pu@8EERj%bhmf5u@0Q88^$rTwyo zqy4VwVNphMKdQzXd=sjVd$Ifkd_KX^J1=`^2t1)q{5TM@kgxIR{E~6Tq0ry|M@#ot zE;x8Sr&m&`nA5E7_X}X_($Ru}AElYSm&P=Wg!JjN{ZFl!u2<h~QU%sXxX<Qii{FEK zH}+Z(zTIr7K?kebLb=~cQ20aZna*w}FlcsU70s44H?6Xvt2lX>Y?=ER_@~Nw({baB zGfiIbC&gzCG<eHErcujs(G>0~$;z2>IFu1hd9$(+EByk5BNi74EV=h`<CTYs_NVVB zB9%9*=Vx^vzO=ROb~`<}p*AkE0pPK^#BbghB4Lb^>o_mxtNUj?aGE~PdGexHhjk3b z)3vT%exEeg2z-!aO0fgzC1Q4hGJSDRXP^mG*xURpxu=ztilR<jj6c)WhXC7@&1}dE z)L*E2f~&No^?R)@Q$e24WUx8m_ex!6<ioO-TIfqK6i{x=2}<bwQ!M34!_L29PZ1Mg zUZ67Du2j_<9=cUYAL5aT9j=mRM;D&7vTz~WL-{%2f3RcYJ?sgQIwbq(y35W382=~6 zj<<xO&RRE;o3JDd9j*-$@UyeeM<M&r^=<e9&CZoRs$Jzt<#;ApW3NNZJP{7)@(yGt znP}CvY-FPEsj7x4zK+V*8@`Au0n!|!C1Sj2SSL6c;IIKXL>B<Bgy5&;p`NW1_eCG3 zU&0^y{jgA}D5jV~VG#2wEwf0S+J;RAGjtYH`O;Vh7lK319kySAOqxAOW;NW`Rzka@ zwN_SqCDV%phkl>>2=|3ka<+VHsKZcJQ$;!Xk-fX%v>y|6ohu`;Uwt8meJk1*B3UW< zvv@l|Cda4*iX|=`i{xzVtlX^GKp&ZF2RaU<6<E3U@wa2z>K+S42rqx`D^o4i^7t0^ z^+X*#K~G>y;A0ag#~(9dqKN=g5e~$9e6Z^9LQn{vYx-IB!Xh4l?)k;y^m@>Gh2J10 zTenmFhJ_}EKmOw4UoBnL{fj#mvyAU9TtQGsD!fi9@#s+6A7CAw8<CgjJ^XngX>~`m znFf0!pl5~_-zdLJ@&+j(Fn?5M7@!(#O8C&-Bwmowjx=%Ea?dEI)VY!a0kb@*Y2;YY zfhuvV#lq6x`MK@BPSqERLC|qpb4eN)9d40$UY%;^+_2w)=p)F0K;Ikv!BB=6{h<q` z5zn*bG=}iU*u(B*>x>OuYmsp6q0C1`b+JtPhZF$p6pFzO4j1cgAB6V<`zTE)9cOYk zyX<t<Y4MFcW^tJ}SPjG{mTPgEi{wvi_7FA`cjYijLL{#>LOH{#o{5nDmmEke;Y@A8 z78#k+W<#)%&aXGWpoJ;ET2@w-n8r5VxwrB18I-H1zv0f9J~vSL$3WLwF|RSp-2}j~ zM<R)C4?-7I1dd@gO*Yj<=;GRS27o&1i#YB^KBa#vM|+^9?fy~sG){ljm4V99LN|`m zueYwor@Kj*po#qdij^ohdb@+f)YyR&B<|SMSOrm3xOM{$G;f`=Q#xAC(3p;;9)CXp z=zyqTT6bl(AA_T2BTtGM11BeI$ttx6RUU?SaS=9Y3!!)a>;q5{6H>X=PpK#ij|cUE z!x07%hWTtw+|R0b>cH00CKRI1-TB}QB(Nl8hiz2ZY81a@tt};J5JG6$HK#`?Pe;=B z+QHSs!?ueY;$;n|4-}hVqWYj`dkrR~96Ayh%wpXDJ3nW9jrSYA40_ge&JaLAyQ@q) z#k(}RR2!GV--w<Wt4}`wdp2$8=SaKngn`eu6q{nu+q%a;#LV?-pP;SzLtYAjF<oy_ z$d1b*%RhYL1$ElyL#d=ho3PPw4qLTvfB%n~t!~!-vKXWFB9?mwnq*=PiwE;ipC?b6 zR-Ce~XJH&W-oc={`3{A9Z_g-ELeaLiJd1U;SM2Ke_&S4Sz8&1dSQL4>JY&c5)KE{P zxGx-OlC<MYb?;--7wAtoBM}D^OpMz>^euxbhtYL!ZZDWgY{nyEQ#;?u;C<Hp|8!Nr z{O?=L8!mx~2Q1=^<oz^W9*tT_a-%JE(uH7Hz{?_kmG8D{L4$P=JVTqyPpcJfm4AxB zPC|OQJ=jKKCOC7M%1z-09)J1<QEG&~w{JcIjVM(OoRyZq`9|<EIV9?idVK8g2%^Z! z<k7YncxfTitFxTSq4q`d*N_I#^i~g6By5IGRRvEkFa1wD9r`j7erVD2*gl*lJhd-w zVoWn6eD2lt#+oe!pDpKpopu}R<F8^#o|N=#;71Ko>qJ+bOau90y{tLDwTR)fbP1_o z5?j)*lyJ=4{C=-4=<+D2uw6}gwtl*vzXy{!o?Whb=B8kgzzEbmIpBmp(uR%dd~aY` zGqyH%m0<0+#YiS-;eQGNr~~%mv40Xm!!(OGGE~X3E8R`rBjBll4C}!%S&2uXu+sv} zUEuri$S|e%40Q*FG+-r_z7Z07X8Tf`H`*ysD^yxjGBUR|B&G2V)ipfqW~lGU<=XA- zCyxv>SHAG`RWqJa6$iuc=x8QJn!ma|LIQ`TdDcB&<hS2<3T23>HUtHAwozd}EUoES z!MwIjXd*vz;`L$o5!FIu>9QqN>?Pc-<qa3+3E|u2yg;Ay-Uzmi43lFtOuW5;7KgRc zS>tqUtePWsX1Gu7U_%O1Jfy;)uR56q*u%(nXD;ebsY9lxQB87gQmg_5UMH>G#Bi0F z8-qZDJgAbmX=y#w0r_0p)T7yYr`Zy4&wEvK**!NJjN@xySatH9kI$u3`24#@=s2H0 zuwQADrQ~7}p9iYc?}_s;4;<;aQ!r@VaZk|#)<hZ6b-+z*1zOI{v&IH%%cNkMq@_X) zXC{G&!$8>(?}SQ`=<$iodZe@^G@Q|pLz&ev1xfOVCapy>|A=d2Gi8LfG#jLP?B8dh zViS)ql9S>MnW$zHdn~ef=*wQ-z)oZf{{{3lm-X(Os<sSc8G5)gb)HLaiW%1KDXJox z#@1TaGpk?qjy6@ibH;JUsd}q#U-6t`2+MEZ-V_RfY8*lo`d@x=x^XZ%wT+CQpHZ3o zg@7-QmJVB9xj*k!l7?<~`7hNBtcomqq5k=sY#^4oZzlA}r-=d`7>G_3>(8q-RU&1I z-h1I~=F!H$$`Y3Kp|Zkz`g}Y`=#OfF0xS6^JuXI;j+Mta-avbJo1I$A>74;Xr;d)= zJWzyO%byR|fIHO5lXeL#ZoBA<0Muz^3^w<Q!)D4}oD1W8$i?4kfmNL9i6q);Y>G<= z*Pi{7n%G@P9eur*5(l(qWK`4y^x$;AbwRBAMiy4qCXK_XLmEOxhG8w5beYKQlQhXc zq?alSQcbBEjMjPR2nEWt1I9VvxP+lHuCrmki4LM^#7-?={`kF@InDw$JOKi(?UaHs zDS8G{GWs~+w>{d`;)iOh2h*acV{4|QO;0UEP7y&_ZY(y{LD}<r2bIwSB$bxe5hOsy zokspPJjzGHq)l+SvQ;z^nHlPdds_3Ftc!jXLZw(YRh?vJKo;scnr(rHhh9vG(T?cs zyR`&B)*g+F{;8?rSYc*selU^Wyc`ha3^Y{py&(nj?_T0pg^lfo8q*+UY30l6+b&sc z$8BnONC7<`-YjA{TO(|A;i5^C`Tjaksm}$FQx`&cFu^uC&^SGO*PBCFkfkf^qr?T; z=VCZ#f%Trb#<(C9M|&Dp2EdI$HEfK`wBet<X=Ux+nO1@s0N@~DXJ}z1KViNOEcR}l zZu`d#O#|0{6R!}ihPDUzZ(^E)hcX||d9O3MU~re+>+rcfKuLr=J+TjW(3;nzJ_ut& z{}f%gfVeyxjZJ_RIsOYlZ7~Y-)0bZTT>+`{S)P=$Q<2)SULr{B%NOyTTqdBQ{<CO0 zF5c_NL>5ipNIPhzEbq_Ns7vVxR2u?9&oBWnCNHe@7Aw**rOL&zN1l%&-58#GJ%DL* z`sy`yAZgW>3yZ-ik3>KcQrddD`DDEXHrABuQ)Q8OEI@~CT|9QSn@%P6*z)@a0pIu0 ze1EVe>q5vasDTmxPm11;kpfqn>9QC*BW}-w%b!j{7?V^l5B8@cUpA;<v0e{%Tyz;G z&er8OB%+?|cG=CCmt!i=jATaDQdgR*%QqrnB~fM6=-$2WG1;{n`&P!=PY-m)gDqd+ z+%2Pni?1MAD(m9O@*%lPOVZj;cAS*S%5`;ZPO<LuygK`LO>2RJP=;CHN6(}4Ezh&p z!l-l)E=SIfLIDHiJin^mjpg+?IbQ>s#tiLQ#XMz0J7sW{G_6$Mc&~b)LurJqI2V$= zpLB(Cnm67dXJ#yM&mAaB{qID@;>ov*jh*mCSSzvEb@~rdTA{2M?*|h%owqfY#8tjw z`$mPS$?2b10v6jw*&R*>`BM&@^wGIejl8K&1aM$Vf)_yp9D{5~pq|7C?=3no+Dmli zxU8b)VvRhYa$|l-0kQ}?&LLhZtlo(HQ`j5ETc89g4z$Q4ye?XR6~5zQi3xtGE%vuZ zBBK&WW6glXog79*ni;lGWj$JweFhPU=kGbUte%!h4Gk5>-UKDJ0hk{k1puQbSSsFC z30}cDoJTY`RmlZtEQuZ)+XNQ|A)nzBFb&s4L@Gs+ITgpl#w`A;v)b)yxZw`_F-*ga z`}t(yZ&PoXQ|;{WKh@IGHE~0q8|>bLePe*^e_b|PKb+3UmV31+M;u$8#YBLV%(=K8 zm>V%08jEY?uVO#v^BhK>mO*l0Ev0Fl&4Dde6f7~Ji#xgv{Cqm!EV1x(vxijH?iYpX zb#LT#GE9y6Toje_uNxiaM&oP`{7!Ua9H5XVD5kWltW1^>6(#|g4d19YW`0{}fFgQ- zOiAK%@jAuIMHk*Yk>By$={A?mr-EJt&&=c-KM)j?cF9^RAC25;E+fqMRTO5)2o-Rq z0{I!3r7~a6^P^i*o2O@rz4KRElC_dfNUxf}f4(Rv`w7lFsZcdosvR{@J!F<Ljjty} z2u(8mbaT5dsEy;ksK=MhoW2}hO$AWHo!<T3OV1Bs4}2QkOuSWmKs}Jvcz&*s%g1Hm z@4({=>2s(o!`qdhM0BN5qzG&@d{a1pM{faz-n<3ZmJzf6gl(vw5j@Y5XoK*PrBSoK zhufg)Xi{B?HF;4Ask=Hzk^cnk0XAl;q=9WCw2ehXKV=*{I$rn#dPhDw-cUTat|WyY zC0Ner<By)I)f&@RG>X;sj_TY(H6MY}=FB!gGLR;&CXgB&*^_oc&-nK3s*1^9kJ>o* z)8X+F#EoR41YG0&&IplYxYPs{1yg=HudAp+D8Amu6+n?bG~|}~xuO%p?uQ5rcQjiY z*s`zGv3qDeDAgcFX!>r`0T^wPjmAR%TvW{S?M|+V<m2%v?Q%1CW@#o8`=0o9)(qW_ zu(isU#^6|xw$F2vul}z_>Yb5G&^%|VutAh`o|&jd+nYMZ&9x?;4_2_Y-qwXSftaaz z6`<h|`b?x{7CU;Ko5VwaHd3D~2Hc?xM7~i5^4Q|B;?&VKR20cT>1!-4v$oCCm?vhz zRN4mSMXPLo>gDsjb+(rtOpc*jqXO!Jr=$k9$u_)+mxoDkRPO30AT8427_FJlt$(4! zm`>D;Pzsq$G9{=G40plhOTh1W)~31R?EG}RN-KE6Ke;KrP_jtuhZGR|E?4Rktv6~{ z#l_0Wr%VeUIDSyi)Rdgunfk@<r-6&STRx=2NBxR!q`Yz0V*BEXbrvgu&Dz3JZ3;KN zLCOyu`xxyB<O*Z})w$m9@_ppxtMQp#lpbg&uqyU(+NRO?3%L569aFxq*>CPN&vszl zL0+;Nk;T=xzPq>?fcq+B8vkou2Kv%Yn~LsK5#RR55MKao2G>MZNN8J>Fsd1~0dvD> z7U&YHOtnNxdMrCu<7sd7LNN3D4-YcN*AdAV3iRx5<!x_C6i247@&__^j{=_-B?p{R z@>9}3m8VucNb`6zZImROQvfstP!jp^IbbXOx+@Iw^me(xC#r4UzF3TEVOVzhRTfAl zYo>hf|42B_g&JX3&|o{3p9k%>fpTyM<-Npi20M<Oc<VN^5pL)>D7=kWyY$61MG0B^ zgw?$`_4ljD{%ZrWjk5~yW!2A{&u`A2*lA|1n>{)I889-tN8}8ygrYi-GbS7XFeqrX zS30+p8TGuoyq9DA*TCg)A8uUU|7ihgGG5=ed2AU*A<#%PdJ?w*{OewSd`WU3+R)xy zzv854ZkHlauWfXw30Hp9OW0zhT(Zx=RGliy_KaAjLtB(5&Mj%P3|gcX!)j+!T(U3% zqif!+{P27+p*H2<iQNk;tL_m#rT227b2cQ7H6fL4)sAMKYEA*!15*hzrO}=nfbUrn zh99jbC-F&YHH&w@n?ggFq`|0GbIMxIMt`?|lj&7R1?F`hg6hscV?b%E<A+C2j2Z!C zUJ)nRz54zrk*=%F_`RUQdbbS8y}5ZF4))*Vtbuj@M!Y?PYA>GJqA>gM408Yg73<Wc z+DVYt^UT%@9q{k+$2hh#Bqk?D;rdVV^@9CvWZ3iP@1t2rcW;|iFP^wWoqx_G%#u2} z=B6Q_v;>tw8zk<l<!(7s(*&VLQusQn^I%!+yR)gSOvbJ`@7nSgOgc<md0FUxF`0;y zQ$Wjl{ch8!glpKSgeRUay{=UoL-JtLw~=>l=V9{eoaTq#&C`8uYr8SG7K}JNWPHgi zgOFG8Dpw%srDumQN3}a?dDS1itpoz~Ea|9S!)Zo9c9Y{qZXK^se>CcfNynLq(!kfZ zF;=JQwjP<@x>2i8esByQ*cl@#xovLMmr*8LV80=29_#ml36|~uyOetfoOu8_gyX-_ z&;Fs;_sf3Xk!Lr$>%h0x#{IvJMgsF`p{s+3fMlSn#U0SY{6x^<a@ag40$^16W0nqI z%zW*!vJ9Q0HYcre?X}roS5eEXCBpQxIfFV$4Y69<Mb0h7$kZl`wPb+o=#3UGiZ4`_ z%tSe;Qya_wUmLaH`3%V?JCyTk+%?$weg_)5zasg6L%15uc2w0C3>g+`(TUSi?*1Yj zgbfY#&rL_5dfgSftiVRQG2oWUAw4~9@;0p1UZRV~j=oY`sHy7t5D|LjtKdNVN1vqs zjfg^s7TYk}5xC+W?!c2Y|2EJnuXo(4akY`+_305Bh_^%$)c4`?WO)(th`zIzt(Yt+ ztzhM5&o0swR+mR3@vVhRAdWjIu{@}VS{0y!V3d_z<TT^Ux+VI)6N-pIT;LoBD|<AR z_#Y~*WK#{ifdG><+I509NP#Yx$rA8Eu<;QtZr+-4h6e4?U=Qc#<@Y&A`-Qb#rtg(p z2ArPXBYCqI(Dlt=h@oDre7E-G1tR%;CfK|IM6rKxb-k|FyK73|YDX!Jl{RiImuqof zjC%&ekM~)~lR@UDah2B2n@63VYI6ILRV1p5nVPZr4kSto+>XkczFw|c@;!Mel}*ZH z@3Ivu#hM6zd91sDfPLW-&Q@pl9l+jyuTP^Nk{YB`hJ?~~GF)cp=c?q>b~yx548gz@ zap1Q-JnTq(fyQni3a_lku%diw^|d0fuFlcOs1N5<!MDEoaHBk@YOA}4IXxb{@$tTa z2P3`_{UXi>L?07t-YENLD?Pu)PI$Av7@XN0PW?k8xjP?NmFKi^E{-8sl9CmyPRA=$ z&rw{kh19|NT1?9TIL8D`JR`Fd1$rqzaE;;>-66cW*n9!>jr(o&FDdUk5>AoC2IIzd zSIVLC|Gf#dO<~LmS!I_`zxEk%7Z?JfcBrr3CefO77S1X5vVOF2_;vrF{5x<S3ug$T zI=FGq+zNh}|AL=6IAJ4y{alNMgiw;RCa?iMOt-CxjI8Ef*iVKJ{H`KNohqpM^g^Q? z{tLAq&wpI9nv=U{bru@H)7vvRufsiM)-0rB8tQCLg#(h*zui^jJvC?Lnk2MYW(l;V zK6cycj+J?qdm2Cp@;jdD{}Sy=t^Vot5G6HX{;;Q`nKJBI;ZJ?9+b-^A#F~l1_1SVM zult^iWv~zdK%!gM&V;Z1vTNd<kET95R5qVPWpgytTC6pFFR)!1JsbV(*W?fl;6{gQ z>$;$Bg$bdaoH0quowMlNgy1O*>SD3(2T=(Y_YIJ=8XYLVkiA@u0Du`wXD~HM=qn9i z46RG&V<@{xBgl9uDf6(g|EO#J(9Tx(k@urG>sF?+kU9Y3G2Y=0W^%Q#9Yc~*?@Jt7 z&!hFgnHVAga?a_y%~?~ke>rr=J~x&(D^%np1G-lLeVFWB4xU0rW|l|=xWlBs=m=7B zTh`Jw>pvcfn{Y*xRj!;J{)GqS%Ew4h14-27dB=@ZVL5~TBK0HHnb>ZFCyVcW(oBU> zr39H=T%T`?A6Jie>a*9RCKyc*^3z&d)cM2Xr6_cPs>Wa>B3Mj;9q4%tKI4w|mJ=*F zoxlRO!sOjo5-H%>7lNWrnr}Pg+aO*;<Khzv8^7fI3>6@0=lhNN-V!<HT{+pkk?~1@ zcvrpGV)yc(dPMegK6PKe*#O$j98lS=U?gOW)yJDYb8|5jw{o$>N<F#l{{WPB);PYi zROsP~RPWZqSMl(HwRKEyBz43Q`QfyHZkQJnD_oXr>%&F$Lr~U70>z&Y9F~;J2!Ktd zcL?PUDeI*f<CK2kq%5^^`~WbgavuDw^6028k!hj4gTi3VU(@Y3*Eg{K^KJ+7>1Y~e z{X)yNy&$+a{bPL6p5GWAc-j%ksQgF$<)77_nb}swfH*^hDwd^OEe&4}$?}a2<L1VJ zg?oWk<Y6t`@V(2IhGQ@HHhO;_3!3yh27!g375CpLr6jx=#fLkDz)pHO{b_HxuBC-1 z)@zG?k7)Dw0r=eZi7fZ=bqxRU-<Fd#$3(>4tG&O<f2xFy4)2206W2i)q304cOt)T3 z9ee1sfJwq<`|XJny=FYu@#8P?K4~K<)ydMPuk`=?qhd7vDSpXH6SV~~IThD+^Be;i zkoyR6w5)7uz+obYLipWW80`oQW4eoTJvJJv;M#6r=5l*!Dsj>fmIGwzUd6?E4Fg)p zEK;c_Panr)=p{-@A5P03<?1?gYS#Oe%Ok~?mTv9*NcI+MBdTpJkF0jG7V~GVgWdKI z(}j@+DdMAvH`%rVB+^duf*s>{r4PD9YXY$d=<%t?jN}WjAuiIza;nzI^f3nJVlU== zr8PE@pmD)df=4>1VoX$L9pGNWUb8W})onpZkkI_J%y|!huN0>H=xMQX+#eE{33RwC z;A@<lo^56_<|t10dO;7UReCCeQjS!7wSi|op6j(gso{JkXwccqFoLCl^<-X6SshAB zqIv*BxLGdxLaS7)Ia$l?ysUBRZf#<%P4#{{HtJAa*WEXbu0c=VmdKooUuWK=F@l&V z9O6KG!q&0+MpR!!)yx7LRU~Y@={PNeIDDSq4|7{N|73=aFqWQfr5;}FCW)$mh=o|L zI69uAnNLQ>9wZ-=jRO|R-7h5w{p2xUNpP;F*?(xFAjU%<REeIHCTe~alz;68I_IOF zRt|@j0bluLQYq64333C?mWWX}<j8<2qJaj(@ytiKN8md~F;0L&*z2^igdJdG9nOVA z?l1zYF36rey!Ty{HC9R(qF!QmLG(cDo1DL;&-iR+k*am-b2EBca<DzQ1tuL9|AiWj zLRq)MdE}=clC&Wk;1iHk;;8u`#0t%>0PPN-=Wq}ti{3E6Hz=J)K&($SVO0WjRXwV7 zxmTj)t$xiOnZ2*yzLk}GwmHwmqR_Leq<VuL*aZ{Pu8MtFDo8HA&8%#`{!qevV(=ib zRx<tPU5mIz2=Pu-6LUIEwr<0jC;d^^!Jk88OqpatmvCj9mdePiuOMgi-t`t=qPCct znmwf=JK41s1aKFdw?7VW^#CbB8FJhB=)7HN0+ct`&bJOpMp3c6Qc;}!$8Q!@k5G?i z_fipa(%LKD(;IC7k-;5rk;-)dfN`J7m+Y1Oh-0<1cors0orlIq-TFdV20Ex!eCZ+_ z1AzB2jDECxX!bA8D;+ZjQbc=Xd2x!o&?sbZpbhPi*@qhodtr7t5#upwjjPbu;RVzC zKd(N%yTbx~2*Iyqa&js2C5#r^CPRRC4xmKDXat!q9kK#y+zhQ#`k)raS98plir|~= z&T%hBc2i}9N`b#0?mQHK0W@CMuAFYn2#PMOBekiOUd_7PV@_Di3AXYB9I55Y$0Dv! z2+S074>2+A2j3Hwy1oxjT8eR{BbW~v6w)e{RB>?wa}$ZUH)?bE$c^aJmUEMG2M54n z(XMbgGE$~wg+v)QW%+}BgD%=wu<y_99iU5dV{o{4RKSD@or5T2QRuMV+oIrfyvP*Q z{=j*xa$X>-dWo3ew{q^jsx<{O_gUX5)tWUUwRHK^w^%|gU!Zo)X@^SQD3^@VPN4*< zqV3EKV7YE@?zbLdCl22-_o=8n@Gl#I=9Smm&52Jiv922u`?joA`Bq6jFUwf`mQGB} zi}!95++Q1o?hgps%%kt$eQNsx2JUkb;UV?88a$R}eXf<t)c-1{ODZcxuiG_)A16oZ z5un!6jI44xf;9oUs`6}Ogn!L@YJDxYn`f!ih&&O6M4ViQAK)d8--MQ<%QC44X4q@q zQLh0lyKN>*$`}UK%=lQw>NGlv7(U2G32UrP7k9D*AqT#Lkk5X$J#E5@UVOma&g>7- zs4wv1K9_0tw@9KW<|wPT^$5tXMi_T<+i2BX)QwLBiIAtf_eh}EUTgaEX%^azl4vkr zjc-BuI6gz;SStz?MXu(c>%aOEM7k3fiWTRi`HMDm2n3;>rQyBijL<U~tuELkKkZPV zvpKth$djZ;606sRoc<h!miXkOBmAcsHNNG6eZtR#U!T(OZXJn5;1il)Vxkgk+`a?k zc<pVT&;ejM?~~u>;AEZJ`U^rn9<Dsi^4%64NzeVm%5<qVo6EZ+6TL&%0^1E)AlYii zWR8pT%;e>KD<}^KYkGDn{30~E2rHHz9#Z9EkK*0&jxF?Dolqu1_1QlOUnwZ;hksJL zM5NFpVzohw+}_>(+u`x+qxRk$)kDigUczC+9^_@M<JQCZ4Bg#l21ObV*AHT8Rk{j+ z?LQ7A%mg|ioLAJHOZob*b2nl|H~}#~l?B3EfU^uZ*1Vma=YJ!c3Qw%JZseNx_r*AE zK-_NL!IS-E|GZ4iMi~U?&wfxs?lj{j_4+b>jRw-HnJ6f5=Wz9M(ZCt;;|3Z%fJS1^ z?|r1p`PF8RI08$$`H|D`>?Cf)wd%i8yig%t3u@GABUWCb?u89nMunFW5zCy4O^|RQ zYeSzfG%drC3yN#sylGiGd)o4GXHdLtrERX9nn>Uqts-4=qrC#}S4K4GjQ-_>DL}gd zzy&P%7CIcM5hK3=yPSc4ob;N$Z`$Cj5lUshBd!FX*=KJFf8R6r*U^~2O&#;+``rf| zBguiX*f1C6igkvcc`5sRoX<Iu;?O-o4{nHAB50Zz?`!^~83L`ET-FTgbAu<-1CvyK zW{Dyfgn~bGE4cnrMv$H4GO-?RKJ;R%+G5d0EEjD^ej;J1opQ+qGzzwR`=fU1EhdXQ zy>q&06KU${8hZ`TRDJ-MAw2mtr>54iw$9in>s=ua)k)w^RUFXsh^pcvcj$o!J2~kG znJNxL6O@!Y1L^rwyg^XG$IAP47pf;CdU68kfV4XXf>{Gox`%EMpLgkI?slt{qY9}) zV%e6k!y;#8p`}_$=DR?er-{9lytyBm1-bF3v+vD@Z=d|yaoW<?ONoFxKD4|q=rB^b ze1DA`?&&R4a{fiYtM;EomJ?J3VCwIAhKS(VoC^vejgx+KI#z6G<;)loSXTA+JW2Sf z{k8t&T5g-&g_%9&NB%313q|xk_AiUP+QY{wYXfe}-~*sVPM$B-3)bxe+JyOFeaUR4 znci&Ui0{t)-0v%nwh1!Lfut<WMmG1zUI{7fdXN9^6n8l<-RjucE#{IDG)LsX>G6X% zE$)hW9N%(Y>t+_mGovu5@K#6ejEK*W-)Sz~F2n)l{WVtp=t^U#aspyK&9#OPjaCHN zdTUcKy6ck(d|-eqS#Eg3#fMAu+#9^1wUl3dOf>-0wYh`H<9<9kKK{tiGb82(W^n)| zOSG8=^T`-z`GJ3o*C$O$;9=PPZoJ-|_c6ntJZ;;tw2jgj#L-%IM0hgMyJj&)T*pUk zf)uDx%zFq_EQ_fxPL*U$l|veAhF8D#FVO<{(fmfO`Qgl96HP+6?C|CNa^BTiQk@<R zK)Xg7K*{DQ3uf?yJ@ns}R}uPtW&H_U9<hj!A4ELAaQIbaSKrTuDgTq00ZN`3+Fs=R zpK%%M*4Cm{CuhPj=Ia1f(?JCO=gtolK8c@+q9LHgC1drAT1rLbo}N#wfKB9!&spFd z6v8Q(320uCv{Ca77%?I0oE**W77>6M5?xto!|_Za%#R?ke_w$DQpB9eyW-c?(mZLu zZ(B$v$(x9hRbQB;QgNVO63Cb=;ksusmM1v{P%nSC1)%^`q&=TPr#?tn6NG5+i?Hab zes0d=j>3_(qXSx3;8QX{0J<McKt2RN&KNaLclKioNlLc!_y!)h+f(QM9p}G$y&(O6 z>G4~Alu(g!bAVX`w1_dgfskc;1;8XeDL}ZCv(&nA)Qc4>Ia0Dme=|b>^nR0bV8<m= z=w+PFg0$>MULN%oYf+}S`KPk>AH@`#2NxsnZvaXlq4AYZQ>*IEhvq7USN41gmK_7{ zze{DR9Z&DoB{D9g!3`*4Sb>&L;`k61Vbjc{r=1_I_W-anqy0H0mo`^)^Fz*R*LI=- zi91Yo$Pi%Y7qyN-lk1c7(Gm@AtqZx_OzQO;wENml=vi5UKOz1T?#g2)dNpE+#|q_Y z)Q~&kR1^Tf>`~)k(eJS-4F`_e?vlT|Poa*rH93I%=YB1m6o`J?mmmKhnyxacs;*lf z5DDp)M!LHj=|;L64&B{?bV+weN_Tg6%b~lZyQJ=Z?-<`te>euP)}HIBIp?FMv7ag~ z0N;6x@s0pNR;UT0V%7RFTBjpHIEV=Y3x9O-hZ>-D&xDh8W^girh1JT`Snr;ZfjJhz zl2i8$5BG(Dioon~DlewX52}!tx3V}K%6UYyKcJZJnai<g3RU<-vOmoa_ImB3da>2J zY^>VoyyP%pO5U}%A72W!yJ~V4L4)DQADP`-_0;9n;El}~GrM&-4F)DI5$LxGs?YxU z)Av<za0o3sv48541v)Ex{5<Ae!nL#eeeri32*OrgZD=|gQcuH)56f}CJ#)JZ1KaS2 zAMK@l5TuCg69wY;sKb(&5a^7wNk{$kxr;v_1vQrVAViQqXUy#JSwJV=+5kDO@gRqZ z!^uVbmx>D|UG3?iL2R<-!=(Lc4wTS8{j>Fo3hk>29$R^Z){KOSZj@88%F-pW6QSjg zgZ~BDRrI;LLM!pxX1RO9zSw1G&?XFXAoet(4CK;8{`d5Qc0cH-9k;?d(mu0Mvnyh1 zVogtb1Qdwd`O=pH+A9w1h50~yQI;Hg$D$3t2dYLi-f*AL>*sC5*AbIam7;o28pdW3 zu>GE&%BO2>uUGu2=`0FGsakn;adR+wafx9KP2`%w=%1(b#70WlMp(d|KMA#;IGxYA zu!z}P>cge~{FIR~@;9KmejJE(pe1L>_;|#95(*L2^Yto9Z{mAQ-0GHQVtadj!SGM0 zwkMRNv~J1Hw7z`<7`zG|CV@v@ZhOFTS|{^1Y_-ACKz)fO!Jmi4&DjW4pS#N1$8zh^ z&Cf8RMgTKB&E~@ddLrkdKBc#s(r+5_=-M1U^8bQZN>5euP2c1yb|T9IxmPz`6bT8o zPT>AO+0ct)BD#b#k3n?t4$UkEk8|oh@A{~K9QS3dKic-+z3m7fM+x59O>48m3=m=` zE-4``5y#y`#+ynm6!+%5t%AG(Hm&6jX;vkpO=m$E5L@q#BkTuSK>@lyT0$Ln6_L|q zN-%A3co=-h^Vv5uH-|*Ee9<ZQ!Xl2XtgWpH{W}5_<0uW?&Lk6R$AmwMuqZjbRH#oA zjn8-N@+fVRb_9?^lq8Z1Nl^NqM>;LJ^eiA%4+ExTd02x@anF=T#qD4D=H~cNG3%_O zA&Tx$u@nP{3WoA{I``{94&lji{)++rQi!&n+k>eA34V}l!7t#GVT?JA$<o)G0N$IQ z-_%CxzL_3fE1%E>7Qs!|?(QhW`rdy1*h?A@Uy+3iXcR;iRO+Y;)ksHUcWD$%;zR5K z3&1QSR&2!iNX**SNpBZ=>U5yXwI!Y4EemK|LNy+Kyt}6b88~cID<TRxV*v}w(gbH| zbb#0!5T^(IJuuNTsIT3_P6fK+$N<0HiIpuUUxgA*$am_m3)SJ_u9@*K7w2UF4`wG8 zUmcB_+P2~8*s<Ss^P_90Bk49D%NPz}mIy&>jRS4lw)nykK-D6L2AU4cTxX^yx?7Sf z=B~Z;K9)gi3|1Ih?NwVUU+OlOR{Z6~)O`x3>@|q#(B`%$1JcZE(n<h54XqpNI?e}f z$><aSi|M!vCTT1D{Ru56wS~{PXK11lq^#yg^s65c<&@@ik?A7yr<R`pDKkrccE#BB z{&r`zx1Tk6%oV>L8ffOQ6~IL53BR8#zrjY@kpX;54NN8L*~q-~>10j?)NvVOt0jbu zu7(%_UepSDcj|LW-Sn9HQg#y94kgWDrUkx|+!(}i@2ULiOyMGY?CPx5o})h_I!{8$ z=*by_4J2F`gozUonX~&0o@|JbBS2pgK)4Vh6sl?*N@WK_3068F%W<EDH^*cwW_mAp zlRg*UbO5wV^ZtyAiyIC=xxOT{b;~}K(VHlSq>Rmhd$#MmV1>0TB#eN(Mg$!Jzt2-# zDQgOoJN0%_u0oh9qJ48!iRnu%!M!_Qu_U^>yb9%CI@e8%vLl571IEW*P*w3|H01U# zAHR}%MXZ35vlG+#0avm{-{OyvB&1>nZKdis|NR*3b|4UwHj*Tt;BqZJ%F2X$1w0-F z+*Rh=SEQY@vM!jIU4$%Yjiw*Gy7bSUi{6M@a#XIg-wg|epe<pFii(m_Qc_;|nUy@? zpWgER?TXd!AGn`m39EQLcr67;(?Pl{5!F6+ES}nB6=J7813{@;UPm?nOOSJMhXIrm zljBBv!fa@IBVVOntK;VLA=wV75{)HsoQ0kB3(&t%<&XSi0fD!jusLwiSlvrbVe?wG zm{2ey%z3l@xLMJSVUL!QIH6pP(@?h<+3ttH{m6Dpilc%V6xtP$y_U7@|K@u8yM@C& zH*ZE7c&=DeGiRCycQ0&STD)3x{<Z6hTB6|{KW%x?M3Pw*t?Z8<#T1jKCN(pBv&6#o z*T4f>`!4w5t`7z)2^Cr=%MZDoe3yJr_u6hqZDhZdCV&Gr<TXTD4Pu)Z{QQxSvxxTu zKf2ouhVVNPw)uxmH^J8KS03%(3p+lbqz?|Z=xVb+#z({eI7kRG<%?dI+na+;jrbqR z4jF){kl%Y@wYF^?@zb$~B5{~&!t|*!9M*~Q<k!}{-aP6DJZDm%Z18UIMfx)~e$z;n z><2ob|Ku0z%&H-*`0NKm#L~BQJ7q-7vC6P~o&1FLvj{K^)6^j!eD04H7>)=>(53@* zgu&)}bdgVjUr*%zRR=<)$=t;?*YffLKy0Dx(XFX=$Kop;>PaJOwhl|Ni-@+rBLKY2 zrI?NFEXL|z=^~o|c_Wuue+$^#u59_|M`5vYp0e68vlfAbVSwh>`8VxS#DyXQ5Pol} zq5mj#uCK}EJ*w0-@I&@RPssiwJ=##wdFt5)6h%l6t*<Xb_;;Z$cr^#wz6o(j`F|f= zjALk2)XEBft3?2n5~r9-D^t)9q1L$+1~cMEL*G{+KK~z-Vq@IDxl=PP!F#-K(E`Jf zIqXNrYiScc=$b&nU{p+kB>B$4t+w$i9XgE$O*#;(+?*s<pK>oQ9snQIys5D~Q5L=U zT>k`mt?WosEyF&jjs_cxqQMy4_=L27{Pw6Lh&F)#tv{!*n<v%ld)x=1p05^<QA$k7 zSNf?U?t}VZ?SUgUW8?ow8Wz2}R%V9AaRGHQe9~IIuy=sGp|2j%m>&~7^lp2@&deRZ z*-?1l=G2Tg80Ge=Qu#;GoFz}XHypbl4zGsunM<Ll_`P(Y0?;CoD)X&up>ahLEf45R z?(XCu29V*?ASzWwZZ6-{znPQ&vZJ%m%4jeL&7VaA9*P@WY?bd&7Ph{6bFA(LEfeGF zZL<?34hw%-NArvLnhXsz8cT9n7J0Pqvd(t+8!;2D2?8yYS+h9-O*j_5!af`T?9^&G zVgcCLveyw6KeLst697$rs^?X%aHfubUT4j#cxcrrFxFjC=o0d1tEls+alq`tyL~^+ zcJsu7`!_6H9v{<=f%*jo9tR$OjaIpELxoPWz<cq&YSG5Wqx1fsjZbG=vzk>@d;7-- z(XZ0s?I%>_H_xUrq^I_Etc9u5H<y=YV0RC9ckn^BX4j^+{x$NO;g^w7yyvdhd0dct zD6XMzJUGXz`0k>ujqm04mDk|s@U66I@80uQQ>W&p!{i^6S(QxrvPA<*PTG=tap=>| zP4^7M8s{zAt-o+#-m>cwONG#*9T8c)1yMtYawj^AbaQ)$2ft@C3kE7ym&jDM-YUr@ z>I9c}GFG`aasS!VL4>H_T})+7`kgG+u)Ydl{`**G+0z5rSM?>+`oo;j=oKO0;fzc& zyfNid3j5jthE<gK(s*h_g10jaM~`#4R>rue3BgB3PEuREdAl$0<XhQ3G7BpyAR>-+ z2mY~Z0ycHtL<kc3>W;oiB+$Q6k2{M9Z4w_YRWf|<S#9d!+49bFkCh8n^=CtUAlV!W zejMAXmRTGCYa2QjuaFWF8M-C##7!;7jt*j^z@V6lc7L%8a*^{oTte?sk})xtXHbeE zHgy-IPfw~MTjls)7GPP7{PE25lkRjOJL?=zdFD^M&pi0(whY8V+#SMDv9Xf-x`Ey? z#%M#@_TJwAa(ZV^r^fcQM1`cTZ&o@&6Z=9nQx$ew)pZ|Dre%htVDOOLUBhr*r&2O; zMbWe}Qz9j+FX|R6q$!RYw@~wP`$G1A)n=8`4lT%jFIWpj$oVzU0;lc!a!=8HkR|#h z*+psOw|g)jGe18EpCFvG%j2!9KwR`+U-t$|IReasxJEr$V|Ahs^+pbk@=|MMjJ@q3 z$&%exFHFbU_AIR#MCjaHUWpJDnY={y06gyaQPE!RJ>C~dlfjwo=!aXfog-oW3x(FI z+mC_SJ!4~Ido3+tl~2)ggxxgx*{{;S$G|mmtC$^n45n!}$~}&xfQp)K=sZ<J#r-{d zUUSEG!Ka@XqxLhu4gINok8LjR&;#P$=r_~H>4<`k1_y3n`m0^BrXfCCrVHm_;bL-~ z>pLz8$?4wID(~pvjlNWk&dX_9(IAH>!U_F*g|`Ww5zVxojDa~afl^V1Z_HzWU~Ei> zUHb3*u6XJ$pttO0oHDHT^+OAI$FU=u|BzyiK<{W(U}QO!r`qv8RnJJ@0D2lJ%eui| zMit@0+*jnA3#&?elFx?=lc48ErtSdEAYm4>O;A)}ygdOwj1tgH7fopC+?p&O8CF0< zE*A5lN7@6GY!XI(!CGu+aLtJhJ?d#Xnzv9riTw-djOA1Gm+dTK-SF(jtX`-MBLCR) zpN5)pojM_U46GP05JYG^H}e+V)ol}VgHOMk5!@UPm4b^6n;*I}a;YjT$w$p&;ki8w zA~GkUeB7_6YRQov?kS6-6vY8Q1;UCA^SzA<8#u`p8e6B@W~<#m7}(jzRBA=C&io*s zP$Y>BnWIV^cl`-7F>id<F8?)lv)`j`{ya%N_XDm6$Rs^;tYU4qLfoH#F)R+x1cwLD z-m|!%d(ii(v#1ZxbXk|`X^XmZh|mFYO9KwA2;t~gi(l$}I3L^7y#y>cz>!frX{r5E zC5o4u=`Omd%hKjA;6E4^XaDl<YJnhi<8O+a>o>vEsV->~E7sg;{T?)jd0aCGuuo2w zV9MMItgH<_O}R~8Loso-0n4X1klvZ?w=&L=B8-EW&pqqAVdy*NSqg0sti{C}$gG&z zqFTNC5mBY+mTG*W_7ZbOsnAeHWI8gg7yqk%QX5s4nPLT!PlbZT43<u3PV>~c+0S~1 zcJqd*d~60((DQT4{N`}S#N-E66D?LRiZ=H`Bl&NBrGvnP**7gWO&UkdG}JN!y(Pa^ zG&vq!4Oo$u%*<KWzhju)H6@P%%*g43*}bfR+gTKS9qZ|omUrH=1o)S=&E2%@Dk(4l zj0`c+JK~~3C-d{3*3URx>;4|iL?Ys3=&?X6Y*SwJ1@4mheh7}Ub@_4z5Tl71&$_n8 zaEX+eprsm_Pmcd0Xw$qr+*ra4I)!T6y-Ax_9z8q?)6Pr{|BUVst<@v&-YeMR*3CRX zhJG=THmHdJ_9U}tn7tO^*Ayagp`LQq9m^p2dtsSwJ1n=mJ5pLoRhgf)y7<<&IuB;0 z=UB584A7(|PQx(0eN28E)Fi`*cw8i6zjCe{9y}jHI6m70CgT~1RL%o4^=30<&My91 zx#vD<`RvlT3@i?%4vUct%4~EAnO3$%fEC|{X6qO#C{-j|;kND9*)u{Jdv!DiXR9TF z(d@~t=REeKAfSZ@*tKR<IA`f~naDXoMBE#c_FXbPcPc^09v)O6Z^mAb)w!(doAY>` z1p!?KH@sre+IX4&&2kSTSs|}4OIQ}J>NBvH2;k=a*WQM{eW3UwlR!+M)919k9UUz~ z{KaohEn!@Cq^!z9-5FXbj(GJ7lToB}wuV+P=1-(^{ha#x;K7`Taludr<TUx5eZLX8 zvyRA5Pxl{m&xv$VSuLk7rQ|>+IgUG@oU=K?MZiZ~0^J+}_Nmirr<_nLh53)d^Pa1# z_1;%@6>DATue{3wO>UUX(b+x0{gPS@0jr5_5w|B<?rV)b8)K0zfu!yh=5>_honl`s zLAs@k0jKW_v21XKJNHUNxF=&?w~y0%oEpaD@mE8a9|dt<pe%1;<Ii*Mr_PZcLWk;D zjA*=jJAQj=F1zx@{Kz81aE^R*^$>Va!tbptfNP{jP*qbOhWxl;AQl`M(JwCSC8cJY z`4PKK(@bhaa)r%XS%phdLIPuyp#-BUZx+n>tELJiT}!@GXRtK?t0Fd@H>0@;E0{#v z>YA7P=1Klb>P>Hj*Xd~22uUcxCWVe{y+;2AFiIa6*SW1F{LghABqdDuAF5GWvyzgX zGd-hs;F&ff7l$DV$VZN%JI+SV5adb3YpD7)yp!O&d)34>(MXmeOaQ{5gs<Z@4Di}@ z2sk-6H;Dnqaqdg!)yOHpMg~iLvJt=6GFzKC{$zU&{pRFIQl5aRotrZxD3;$&(d@#` z!q4!c0`mM0mW*rs+jnBUKex^IEXQ=YHp<Ciz2LdZbN%hqPQQteT}lZIY7f$)I8N|Y z$d(;UiFUP*W6M3t<@W{A#iUf<XXjTmedmT;9Nq|C32?Y!c|=EXJ!R#_QC#1>&1X%~ z?d`(hHfi4n%!9Aye((&C?Y?5~p9WWoOUATCoP``d+VoL@&QT(2X&$4P8S?66tddxB zF$lkok<*WsRqgmnd^}3t&#L|nXlL~(JU0Pv#OScE^VCu?N6t#CcYQy%PjfhPbV_z3 z>@r*GzVxn6#Xg6{{%t^OEo$K5rd>q<5mb+WGRi&m=<8(ZYwMf(`fCsM6W&t)B7&;P zO$Ei4wyxkYFsb)rEoXi&rzVCJByWzR4MsAL;V3!|QuXqWGs8GqSi)O!)8|3Zo# z<wa@#X}ijP;3I50(i{GQwHd~!f`?OE#;E8QEt$f~A_td#lx)iKt{}<EjP0sdPlrD$ zdOpTATMI3;FHRFYdbWHdfwb!Q118_XpvQ}lk!`y@p#UYR7)JX*YYv^RG9{!ufV90B zpFW~+lHxg8YrJrc*Plkt1g=)-jnME^P{zqkuvJr<M?XTPXuBB`45h_2<Z5JfKBP#M z!ZOiF5;o3seLBhsigrcZiu*={YPPokxg1GBR^#TrnLT})Kti^u*JFy;L&s`luBe)` zmMN!^VusIRWZt#arX`uod2i>#<+S0XNKJ7r`~8zoot-(FJtxPbrq05`l81?lEBf-v z{717x>N5>NqxD$EF|Fo8!Jo1SC&U5BfOunN!!FWRGQ>552_~?w=)z5zJ9sI-j4!3@ z=EL+<X3v?0edxcM=q}JD-+b~Gs!_C|aL3sxjlHFjk~>a)fAsSL!yxd5!-d6cweN{z z$VGX1j>C3kHD6|=Z#-Z<JJ+SnFxN<p1$iK`3Gd(AsX*su#e%<fi%`LR#KislBTC`o z?%_^DdqR<knu#Tx2$y}yiM8JhnAg!3{uoJ^5|*B-)0zRGIi7L5^j%?iFWeGe{=P{_ zlUz!;;kn=_uFsB__Y@Bm5`1x&wnTVIxeQ}hL!`5TU`?Df_X9B^sIpK6M;vKueOKz~ zq-!1N`jTv7;YInU9-aA7+82iC2$T6Ej-gxblrZQeXR4TgRM`GivC$+(E6#O-CTkyf z_1w`x4g_!;G1_z6KioTI2ZJ*qs_SbLq^L?%8ELNPNPzsm?!ipmRTHR*db+P{z~oW+ zoXmX4e7dk(-aJ}ax*e7zu8588RMmksS>#-$N49-5YpRd~7S0l!K0N_|cy@96^#SZy z<_X^U3Ti6?<Ct)^&Uo=l5?9<h3H~^Vg1ipUIOgp0$H;dzJ-XBH6iww?Hn1u=uv<=X z4+s=^Ijb=!#n!#}I&=C=Spd%#uz7F$o~c`wWCj<s(I7owf+H?|eO2lSDa^Lv234qX z)<1pa10LZ=%X{BM+^G_&ICEzsmj8b0f+w&4YB?%+y4woB(U89;)gb``ctu^~I1Mv* zU7gU8tvPksnQJ(2pvi#Rhw6bEYvKQXzB;@Q`Ez-6<avE!P5ZmN;CEN7C9^}9VatH+ zQAN3cfG<TeGNIWVc3w?wDCM&-9FkwMF-nR#yaX9K;s^T)eixu4TC6@}Q!%TkqAFg= zBYO)n`>mtSEMvB9U$#HV!AG@2e|r|afJa+vWcx*rc(W<OZT$RnCQ+R#xyCZ77DDqG zI%v_K{c&MKh^tMGTcr78j8RQJGc&dA!C8E>ds^ed(Val6DI%VFvL_9eFW*B7gv~?~ zJxUygj~Daro_tF=0X<h0Wog5YMU-=P4FB$QOXc!MvTfIsP2x|3lnyo|4c>w&@J{Mw z_+C4Yz!!8<YH2T0)Lo&}=61Ym$HA}bn1sjH)r5h^rNWzBCaGd0C*S2?Q;+zbW$TNi zH`;+74@5bclGM=lH(MDtfG6k8$x;|}e|;_!cP8i)ZxNFs-JMga^}-C0P6IGqk}Oc9 zptB~%2hw&SP#>Ni)db*N>S-NpZC!rN9o-R*PVY81)Sq^wMf{s1S{=IOI47~z!F32v z<<6bd@41e#;r*G|-&&^<>Umcsq^-odG*2MC75uo1baQQNVsuzfnsWWr@v$%|rG}b6 zs&g4vrjq6mINkZ6NgvWhF79Sn*N<+Edy5NfBmIekR4@bTe2l`mHa>^`b-#ZyV<@`G zm^BIJuRi(vVJpht;Pp)9a|rPT1OolSpDX9nPYX%mU!0jjc0)c22zn#E67s)iUNGH+ zqHYQ6q9kf4ODbw(gMwca9;j2e@u5YyS96d-lqReIW}95g)rkM5KDv2-v0Z7!-u~k4 zmbxZnyT^tz<Z5wy#CFeS0|2U8^J7z-_1jKhp8K;)U2TH&lj}Kj$Eml*Jlo26rXkMe zP&wTF)#6p6_ibY}=j-}fE7*}^)?fo*1%uPQzvl7$Levz$s{3aS6PiO>v{wt}GMQF| zgh*pc$fyf`YRBuTk91F;Q_Pk69NwghJ+mjiWqT`nnUcpjtp3ob2HR@|q)4HjJjz)7 zwzA!kPccsWEg{ezSM}e?QLE`N8d7B)^d}Ajmy59V-I#FY%8o+<xCvsN9Wpeu7MdCs znRWa6C;t25#-b;iz@x-K%<|J~`;6Od_}{~BzxGW{f~-RZP-aC3K#JJ7*QT-<)2C}= zL#r3|%~`YPZpRi~6FgskX4BVK)0sy~kcE1Bu@8)Af=z(6vWCNNS+?~$dd#OAz09TH z7~)(^9D6p<t%su-z{>qmP#*bt5)8C^H&M?Ep6E0aY<f-6F_*QIhVJ{+h)WqMUp_^o z-FeBJ(#Y?>ejDdQ!Ut}BHPO=e1Fg)`=zhoCWN%T`jxD(VkLWL3Ir$P9yQN%mF@<(r zwFWbg4-W`N4B@#G&!xp>y*i7QDZi-|PwJ#<IeURFGo6JryfnDKrkPbJtbu1*D~Pf; zmlU2yN1GgaBZDjWOO7D_*8JD-DEe|7rt{>*u9SvbY!5h_i0B6?#(sdow>J{mL)?kR zZuG1q_?8A!FQ^$VAY85=V-$xmSGiOnOVTY-^zRvLoeGyezys)ZsQNTqSc>y;5Kg5Y z;Oeh_YgcYo^kPM`M?WJ6xzDhk?(&#H9Vmn&qX!GY&m*O*9Il&Oj>;v$-8eZU{7|J@ z6Ei^MuJ#S8P*a0NSRhE3ydd29q2{qC4a3)EL;KaumvFR*GK-OZKcX`8$?K|)3E7&% zT5ZkilAi5k9Lkg1joBkC+C+QC@l?Sx;olN}!z%kyLb_XH?cioFy0Da(5%|2%iafEg zmOJX|&eT_gR8;W{G4=s=J2q$HHpa}yn2sbzxW}g;B_H#)!_S@D5KR05VButP(36`B zi{)znRp}3{yr2mb<O}DTdCWCFzDT=>Bhb>S*7k+9&UDSG3hYclm|PEI^!3f*?($8< z-Nj;6u9MWQi_1<w98Q{^#`>Ru9}Ys)bL$1eI`9AqiyMvx&_Y^#xwJ>AgUUBG{jk(T zzc_ElO(Y;Y1qrH;c1G=+{9%?r>vT_$P5$IHfQxNJop>{w)$~EIadL94*%(<iCbXA0 zhrtF+*A?P-SO-e;Rll$Pr9H^LX-`#_i%So_vqzk{hyaiT{@ibko6{+~(}^({r1TKn zVTHYvH+|unNo|yMT)}7nOVoJ&EU0MBsb7$gzx{M_Z8UZ_Bn!;SS-weon17&1O?IT= zE|Kf4s8my|kYeFHrs}D2*br*YRGLGrv%e;})O2M+^Ko2~CMIGn8y8d|i~rjO5KsYp z)_9_j(o+Um@?UJZar3CozyDkkyotSEt>GK3@O{e5t4e|6s@nakP6<(=y_iayjQ+`z zcmm<zc514Ku6=vu>(G9>h%m)kSafo@Wr1~7aW^#^*^kbR>T3vK|6J$#9Wbqz9&*e# z8_;g-J_z=<UbEqI;*a4I_;dvPN!U^<SopS_S6FA@_4NKvat9U`^LXE);cZB@w4>Hv zSVINjy~`(dHl!=$Wku(OXcd>NJDo>Ub>c*3l}9ysIzQ0zjkm%l=Yso_(|1u{ArB~M z=-w$i%0j}*N-yg_pMljYfdRxqJp(;?D7pwZLr4P}Or~RbO~aG3w|cSqBfCo>0v%bW z+W4#BVj~1Us4dO`4XT3TR=f!50l(RPEj-L9KmPP?<RdE}#LPZda+AWJJxK!y8pDY; zY5TZ?n_*MzUf=#4-*LYvhXYgF0N@#x*vR>z&Di_BFAq=Pvk;0@I%np!>LcF`jRppu ze^d5_?uoVggST?E3f?PKKcRpphY6Xx3cZ0qXU^IX9YBx`NSXq*{m&k<_7@-t>Z&ne zUwgqWxGXK%&fAL-U{B#Up8ifh;3pez@rSYquGiO2&!T5G)v)v|`5;oOH4rMi9u-yq zoeb=$GW8gDUl*;MznZ!tUn3DjLX}u-oSI4|5cpjnP^HxWQnA>b|L2FzkEra*QP9k! z==VNZ#RA#M`Ayp$2f1P(XLLF~x`Ud@eJOvcMU2mNUCi_ZJoiu2t%4P!3L+p|3N~mg zrbP)f{`TSw$;J#8T+M<3QL*~S#|dacyUNeRYpo~We7LvA3&LtSccCMS27%!_+_}@b zGv|jnpYbLJq)nekkHq@C%)BXqkm;20;_2YJ!R#WrCDeZ>Ar9=T|CeNCdF%bJ9Y6P_ zs_<*+UbT<MeBL*9dXB8a;n<6XVlODi<|eR$J@h>r{TtRolV(9jZTvHL)qXrW>jcV) z9_D2u6@ce$z`)y6IfdN}i(+mp!U4dML~3eL7U`yq3Ecdw4C|b=u8^`~DwK_fz*(@D zuLz+Rvbt}AKN<jXg+BXbN+9o>zC2%TOz?{Pc<-)@QYkRQk5FO&)Ys`EloRRh`XC}r ziwYJ7-%crt{i`NrK#(BvGJHEh!&nO)?e}TL+`Z>Labi65{>Web?G)1f=Lv9*9vsAO z>r0DF_f2XLdZ*g@-UWm2QU5P^KenZvPiM1IWYK>6)$#Ad9+E3Cyy?Fzp&p!ooyZL5 z9YHw={7p6loWnmAB>-jOG==E!Zb#1zeLSur-@x?qPWlOVIJlsA$9y-?V1~T!k)6{z z**EQpbzYzZ?Tn*PYMK{O^IZfW!By?&<a=eO_68EjO8%Yb@$g-KwzP_$2!aIoa6&HN zBeW(6R7=<|N-mZ%69<P74_k|(WIx5plPJh22%hXrUzJ=mU+<Gg;SoCC+}0YRQdIx9 z{cF*O++IVC4%?yQ3YNL+kxWC=Tw!9pmv?nZtI!Zqv7r1*EkWm-qNF;da52Svo(6!# z+I9c=>U0uU8h~BdG^O`x3N=n?6{%~>KoQat(#_);rn%X?qX*Hh?&jufOZ`zjCt3-o zGBBbdaZZUHr0`~(7UbA6H3?c@fJTBeH06&x>gmH{kA^jg+UT~2?g~tjKrP;bKwM=I zr?G$<_AcZcK2}TxoL2@Cgm9k=a3ahkmb9Qx87^Kwxj5Nz&#(7=e)ngHi2lk9UznV# zs%$tMddtyqdKyiLra?)mys$QqFhcV}=r3H<g9AuwN7&c^Fm$dU%>`arr}{?9wS`Jm z+}Gw<qT=G#^sum)(}X!tPo@;gwVeuC;)h^<zw>lKj-X+S*zGPEaxD!0wAOw&7IS49 ze~W)iy+40tbFh3)mX!Odh;H@Ke1ZfoqHoOcW$@pf*q1~X8s^j=2`1OpHfe-dzWR1h z?Lmpjj3+LMm+CxMxoMPZ1bq0q!1_&WsYlWq@=$)%evOs;#|?wJ;1By@JO<d)N5||- zvUXRsSG9k+XY)z4DpfL0%?*;1M1mzJcSdLgs>k>alNM{X&FDbD3C|WnG8m^la2Dkb zYj!_A0ooQjYo5&~6tehmrw`D)nTE3N+Sn1i5)3g!w)ehk8+XqEAzh#vg0z27oK_rw zuEPT?q5uQ1tsbu+*lPLK#f{BpYh}bt9s$KzN1CRUb7Aif#1W8>?9y>tY#d!nf{{eg zmh^pdsFhxVR7xy<WY*@Lf~c7Z%^-wK?IRJ9gjsuBNbanK&!)aFBUM!gzUCkKnJmzD zPZld_R|%l9^9~J1`Ij_)j$vKARc?kD%-r~$EBPkYN3Iw7%#fpP8ws5}S&S(vCV}hg zX<}lYM#II)z7h#|E5PsqOoy`jbzmwgeGP{b-U_uNPK{yvt2&_DU@whUrWr~8SsWkg zEld<qGNw*tXC)0c{{ROCEpd0(!DUtUZR<*X2hUo4l7Z;6+x$C<!nQehdhYu-7=Hdl zHJz_cVuGv87Nm*cllQL%3IJgykV4Ao3cw>-`~}IQ^_LSI2X05as_LYp14)4pQ()nm z$=lm1@sI=zerx$iQ38{BDF8=mx1o5Jv}y(HVZIpHIq-yfJ#SrXjpUq00j5EsipE%0 z&1EJXd{X#;{C%vEmli`;lcE`y-rnm(+_G*HYLQ|D2+7@A_wBy!UYr3Vv6>-IR&}uS zc%HCY;Ctr;vGD4B04~8zV(VE?s@`w<-4y>JF&p6=h5zpG$5*(mlbQRpF@{njo3Gv{ zn_mp7<cVz8#@la9V2MBR7woE2|FxPcQ~0Fu;Xgu^luP1)dY<F|Tb#kdSq;8*pR=RQ z6@SY8z~SdJv`C9rY)WQe;T%SBz&rBAFv+2#KU3JXa}1<Zo$IED+Q#!`9JwOKfgV}q z+orU7aGkmxkx^hKe>o1r!HpLpyt{jsYwyL{q6S25IvcLrVn4!g#QwLLoxO<-!kP6s z0@0)?I;>AVNxfn|FvEw9!i4pm+YbkT2OKty6-zC#4UyN1cEd4007`bXr_(hZ2^RCm z0Mp&*lDt3efKO>x5d$S>c1Uf6dptS4nc`5x`z7q<e$|C8CN{I1KexX)vUX`U2`-J| zl}gLo+aU)Cw{+_R<DO@B_S+cQi8@JLYut6m2nf8qhannQd*?e<%9n>%PN&@$P>IW8 z*+!4A?t2<e?Bo~`X`2BcpL6Xg_JZLZ`*I_z!hQd3E;c-y)Qw&O)#7FgZ9Xv*8P<U1 zcEmtx6Uofe{j%RSd!yCd&Mb_XaqfgCw?3`|`k0~UM0=*r%lQB&w%vfPC{pRu)ARNn z+1J@JJ%NY!O@BoWQ1Z(@9kQ($gfQF~_OS(+A`nWYlgqv0-YDL7Ywxv#Lc~Q&%cAEF z>QFYvS0O*$7}YYGFxB+hL@odPj!EI<X!e^(!W@YQWQO&&h>zs~c}=aYlXXf{BxYA{ z)1$xHZA(buE2iakn892i*zfnXZ^iodI%qJxWN;X|^t=~q{HdUaO{wHE?juBy&ridt zB4sT@xSqan>7fVqH_>760cNfhJeNOjO7y>krq!xFB%IDWBEwVOQMlFECa+j&3KLmn z_|@~4)cx6FiL6yq@HaXH^{0_R3}O_L;S3qnMgnmm9M<^5g5rAX7e6h1r(vp8=|@M1 zfQj!5pjtdF{`!!;kz%7DX-=thu{2gz_=77B3`wo8yd+eKPivOi7<1$n+cc7Kp}kV4 zMkhb0oe{oFg<@uzs`OhW1JmmgN2QJAq$^!D|K$Y~WwxHtOgFEH&g=Bk$_h`)sl0-R z`DHUI-<ywyS-cBpA~ohD$s8Orc^cX;9b&D#6K_t~1atF`yHjWDE1~7A)Vr8}|4#Jx zOJU5&`PK4ub~QHNc$+dNUwKYg0sus$L{FyBgcTs?3`CY*GoF+_b<9mGDKg?a5Q83i znGxFjIs*g|eN}chg-OYiTdG9p;AP+Ebt*wO2P}8o?8Davzu#`fZUXdb$%G8TFd~Iw zFb*jG*~=U3@sX3MtJo?Zn;)lkv;PLTw7;tqd%IVZ<Cz_X!jITgSh(HO7VI<jO9Bzq z1#7~YzJ>Jl6lY(=r^d#LwI;kyQkJ#hVarQ9mtJjWd^#_7b81j~)b!2H(Vgvx+}DB& zp5NsF`)|Eyx?HLD;nRDN<h6Hz1)LM&|ClzpuP>CAhfp#j-jU>qJpSiCJ5%JNhlU_F z`=<vw`}gTMftxdnGJ;H=Z1tWS#GU9I&1w~3ENEMy%_7;x2~G3%=*TG5vv3sv3Y`qK zDr6Yx2-2gQOQv_azKD7G$v#6wxuHkRDQ%^dOos=fx#Che7e1ibUJTiGkDKGf7{TYC zn%@t!L{qE@A+;{mC6qLZ57~*5FL9buI>cxVI3yAu|57rZxc$kpkuF3K04GJ4nbhI` z2pTOaw##AIpAww~wkX_epFZ(uxd{;cnmzK|9T7cWuL&KaqI}g~_q6(|*WC0=(A685 z6WkKl@73z-H%|5+Zw3=&#^x@4^p}<)yDoTdvgldqUkm9hX@zX8JxH-{Jx%{F3xEoi z{b{_zR@<;-wmMq){mUBblycLm?>_;=&400lYdetr#<2q?!=G;6g5@Y#+axwC-GAZu z+t+HuNC5%FKyIZ^>Jar>EafONu%r>L`9XJx?VVD9<Vq@QFXgV`Q&3>z03bfID@*ft zu>zQRw-(9?)REGX>^F$J!Vtja&fw0*3wY>~2tf!Rg2G!V(wI_ZTLP{}Am#vt6}DZT zIYxNZS;H!*d*6{$`G$KkZUwPgQcr^Iam|&Es(aKfQa_cQGI||#Ih7gZXpNOD-%T|g zW%$>9@mt+sl^{Mdxr=s-cwl}imIRk^9}t6h(=z*AF}=Ym5oz5F853!jAOnNW#Go;q zPjof_Sg%MENRTRylcehO6#>XLAh*11&i235SVnwf@1O*HeKDpK<pLFzH8qdY(-}9Q zIo-20HH#2XX8=L-*5fSQI1(`#JFpjFUzSciRHbNKJ*VVc!(M=>2_wDbq^lSse#z`| zZJr_gb5B-{BcwQcSIr5%;6<KaM{BHNh6S)OAb$<3Z1;XCoXE6cxo&V;!Uqrw*UBZ9 zr8onMUp3}*4b>Up6{^5j2b>o`oK)juOmO!PmKf97kY5&!uS+r9iKZ^``IM|N9!9Nn zIdd7mjuCy%FvZ2?%jE$@z??-rG(5d`m?%5Y(c*|PANJ$w`dD9$n`8UT>@(@y@ojX# zlc^a7!a2$(0iv@@$A<p(-dO%&DFR+zz0tu0S%Wuo+|ksa(bj(0hLoTi8ynt?T$^}D zM-RZmJpg3OC^EA4mvw(nf8qT}WSEs!XDP?%<vR;+h2}@jWF1PIPY@_akFD(Nl^m&O zr95fv{*^Ux1I48QrnuzFSh5dmf=lj;om4*7z|^sKeIb%oc_0NlIJNR~8x!U`uKNXP zWj>)Mfv!-xOVp@KkN%f}N7iSG|9*Gr<z5K1*z<fO%gsWvMP=xpYi9taurMs8?mLk` zT5r-Cyt;9VL3cR0uw=D!>JSkq7F|D`dq$QaW48ca+tp=5PUGZ@;2e-9U{R?}1N^b= z+W3N1#(KrbPutw@?aQ8Q*wi7M+d}6^t=49pEnPW>9v54VUB6N<4_#<q3J{_4lEueR zG0&-&HYzm<9^0c-3XEruNm`WEW%P{DNG38Ci-zv#tq?%{RSBHGH3-HuG~oidFbMLq zC)>T(ECES6MFN@2hZPG3D#l<lgSQH>285|IpQs9P#L40ZwW*}&ZD5e_!yFW|jWyO< zsh53e3xvoiD&*2Hr<5U<GgUT9!PAmtyUJEn3Vg^?V@zyQ^@kGKC%{yw8gugDPuD!U z24kr=I0mY%U*e_B;u(f7jfDMu?wQ!+=&l?&PV38HDT6@Pm9c$ge4omXbr!qL%?d{s zpU$`NP>L;F_{z~@6vKc}2>4LJNIH+(TNE&uVBY-p&?a>l0p%3wj%%G{NuPs{2%vb< zm1TIX;&Z=3ifQp1ts#5(D|BxHo)($z8B;U)G+*GMuhdH(Sud!qIU2*!Sl4avb08^l zF90Goh{%Z|?GgM{5PiD0LhxHfi=c`~^Ik`TlhdiG0|}4<rCbiulfCN_q`l~z*#h_) zV;7c7pgx}w4~T&0Hx0E-KX_C>$MpT<Yg+S1g;G=$;9^f9KWZ(+O}@EiZhv$fWVDr& zKI~qNZFp;1JGJvNl0}M=@~Ax926k<NYEo;=l>6srW8q5hH?e`W4F7JdI-HG|@2s&k zFld>h38vSBC;6FN#go!MoJsa+P?1k8BqORPpH7b+oV#^j@4tlbXnS-{fSEpcDvi+K zz@gOtelG;VT5UndJR^i@yMiahbI<%)x#NiK9@l?IzWoKrG`~~Q@qq<&cGfDk`8j;6 zc;7SoAsJ3YG!?AEY{e}89l9HArNQ()lGv#AIp@qT22Ff>w6#^d9LJ_QbD1p`4Sj)L zFfPi2CrE2!Y2+H&M!J$l>Pw<i!0jc$adXN1$rBTA{Axa|F=MhZc`EDg&Hc?JAO=*j z=^J$2COKwJKx6aN-2_Dfp6^bt_bMWs9{GS|KHSZe6O@`LsJ);r(Cq_P5)}pde6+i2 zvmX%Hc&J*cjyD!w>#skLy{_Y!0+_V^pKyV#pbBh7U)6i1(sS9yePH3nP~%l>MzXwg zyqq1j^s_&`>HLhK>=5bzXG!YW*=cv5q5v9(o23@Zumf6d5s7`{k}dP|p|xpLeIqhZ zM+Mql=!KcPkbyC>1Rhgn%k9F>G>n;sag?fyh50pQD4IUH8uG-W2}`}}eA6%0v&|({ zUx0Bc$KN}nQQ^&Ge?DOX+clu3&sSi3(3F@ra)ibUU-~ZMQ>o=Gt^#RtR%(+0E}Qb& zl;L3C+9-x@too-kgVvtK%(+j0)dI9Sf7hOY@5ab4>tRe@Yg{#bs^~C$w-=T~5lL|T zpKn<i7t-3IgZ1eCgHl6J9a&ar%|99w&#S`g+`gjC(^)7bS4!OllL^8lNOrr9zMsk# zXitQs&wxtMucS@Qs~s=*)m%tSzg;ub;R_&OJwvL$bXVa3Wv#2t939vs{c4!$9-IHq zyEx>BJB<Lak_<T+#y#)u(QOCsKUwi20n^LnI2!VHNFOg(^w`GJq<h|(&`ynH?wTf? zqj*0MO27aWz?V4zSTFgIBjpjZ7pqg4b3%^7#eZ*q_=rdbNZ_`ncd6X9ZCv!LjNxsy zXD*o>PNu!O9cx*mP}ziGMd%XP7QtLD9bobc$xK-=FjOT!)VqFJ6pr48>LY%;i(ZTt z#ZKnc!(7EeO%Z9)dY%>;&dvR;_Qbz!-Kiw38^C@fCg9CbX6DYxV2|Y-R{i{EI@8}? z@jo-3&l`>Fdg=_-MfUT%9FWOd{0Z31+R0fXWqac1L~Kd8Ly9cg&i_gA{_pSrrSS6f zoN%i(q_?dweu`Hg8C2m?@@rUkQ`cbx?kA3J^+LHC7U!SL4w_baEO|AUTJI~ibKUOH z=rY+Zd7ky6ZD`>80YI+`WXW<?IhgmjA@n*ZxM7#nRjyat*DgEU`MULs?af9eYgq0y z<qcrXx_W;HY*^!?o+&v5H=IU|anvx3C)<Yz4TK0Wt7WRjeuiI-F9i4yi&b_y`X^4# z5JydJ94X0kpEmT;k42vRyj!+lzNkM5P^TlIljB3*y<TDKxwzw}nF$XHmR1=zU|j%Q z!Oq{50OaZd3otj=oNZFYvla`B03j#NKQ=b|6KLK>PP^p+lgc~f=C+6S2Y;GSRd81J zl`_ppRjI|YgRl!Ac;`eBEmk(g{Ps5xzq83qzgMPFK5>=*i#sArtyE95yGG=%ASh?- zM@0PTqX+W2H~&ajfrF`?Juo)bO@H;gD-Vz*woK0yG)%c3U^YTh-40g++aiG=$e<uU z0FfrE<?Jt-paRR2p)0n2z3uYrEiU$c*W97HS*tqh@Ywl`2_5u#Z+kR*H?)q!-SK2{ z4<LlvFF=QlV+Uz&?i6KWis8)u^p(#qz}yLy|Ae&j_IKMi*)zi-5rgNOR!;zU3YZ^( z8zJ7o?|1LU{IJKZVM=cGZUziW32KMDe(L%4Ol;d6CSNdr1#p~=IN{KOMoxf<EmpW| z0uFIEQ)jl4(%?-=Em1Cm{I-ed_>C#G>rtzwN=Yjg$UP74_w0!$uQ8@<Wd>&=aoq@A zWpizUY^%oz%Q-$)OrUusf@Z<|33IZiFXKOjbD7b-cP^sBygHmfs4n7{tCWanq*gsL z6`RIz36nyM@g}f_C65Ar%s1hc+8}{0X&!~7FmMTUPf6FZIFKeOCpH|LA>Ex=pmsS> zom&$58G&d}*@gg@?sn4UNovb*;*3eF2AL^bFq)qf{Twen0EFDGR=)dnaQac5H>JpR z>&d)Q(vt9d9g5pes~vp7iC8jp{{DdyH|;|B2Q}I5W#<^24?sl8&u{m0!yayQk9oUf z1p3b_<adBWI5-P#|7xtU$_PNCbggJL21%-TQp~9M2+Ad0ZM;{>5}1(7`TU}R#|&ce zBN^a<CduY7d;iai(G^pe(rBuHCt0mLt4&;~Wjkf<>1bC|iq|(Boyu1u{zS6)PY6Fd z7WkCtGBdQgj2XKbTRY`467<cD#VLI1>X%ZyzH_6H?1f3lp+!k(HIm1hMmn35+o(*} z{?q%^+Q<p|oB2!?@(kT$6P~O#CWpE6d679#_<UvPDbo4i{YCIShcCEQlN0aZ;CmJ1 zgwM6qk{7{4jSk7#S&}M6c};ox-%Tl17&_20rl~>YK+G%d9wYkW&+JM@LTIS_czD-6 z3ZQ{mOOcdFS<P@c*1WK=#YbBisDj2n^Z;fRO`|oS+KKbHcXn5C|BV&v1F~2D)&8U2 zU%qV3yBojAk9e`vAUhTg<B9ddtO4Q_CRh8LH}&OQ_3wH(xdIKp6_l5V0sUs+BfhTq zB*MuwVAlSZ^7*guG|DC|a4GBQ$7xZJt*x%_@riYGu%<qH{r!u|VXfXFWD6Cn?~739 zVd}Q_0m=3HsJ6}waGp0AS{ik$XY;ts49+Sin)%>^j0%w)eJ-UX+u^PZj)mN@it4@y zM^uJ@y{Mc&J%kK4d36C7ANV^Z^8R{#y4leGFI?&;i?LZk!8*1$Z3d!&hj#JTGk5m! z*J>FsivVW+pQn%kYb_iO^t$8}JN6`9c4smdfAG1ndl0=u(luhx*EZbwXpHRp@;ZEJ ze)~rb98>hmj_F1&Zz}Kh;t;9<;C{r(s5;d(9kebv>3hfUB}YbV`ikCAPU`cgXL-Gn zrxBnHq#YU_k4|<TwY+hbZ9=)xjZ3)nI<l^M4|hi2po)|%Vmik7y15XPX?0w%Tby}! zi`iA-_^?*abdgrclNoz8eEIn9)kjMXhXB~d*){?DsJdJU`l>PIG04?}3dXBM4?2Iu z+$&2LIcoUcH6b`v4t^DirZY&VzhQhU1P}wi*^6>lFlmElkMBA>`nE2ON?~SA*@rGi zZf9-1oOlsUV4D!$dS(y{A;;1qOsDtvtt%^RZwYqmfSw+eGf&2dalF66w`@t<imXnd ziJPErxO`jzVi{R}2z{P9Va`rHT^$9TGq?8KW?x)+UpH~Z!7aC6<$jaX61;+vZ2g!& zdje#QnZ=ZlkW8MlAAkf$2vFlJvH}8^b0jJa;@T^r!8SIhX3iB9DmwRBMR?mAW<TPX zFDA20)h7Q|@J~(t2wrRB)O|Ww&bFoJS!|oo|Fw1U6r~d&rDVJ5tDv8kWoP?%xM!tL z{LiVT&cwGHlrPxnWjf{>Tj`k=pqMixf~cF~KYeQs@(ENpvJ%*_=Sws~@dycWz*!qx zuA5Wj_VB>=u;FL=lah~qi$!B|3B-j3%=5?bzQ*K9F|p;cb}(AA02(NDd0PgMI!VX( z^}<)7ir+ff3RI6sf(u1H{AEn8pyT6~k|^<!NHIITK)Yo7t$%adq-YDs@ifJQTYM3^ zed|2xoy~umV!dLWp^^|XPs18DNG(oG_+Z8ugelGtj0(990N*eWh2FKboAjGaxm#&j zS-t)ntyMoB2K!Vecm)lvi{fi!JZLF;2i+f<)o=UaE5+c?8y6Q!{PvVKI+VN3L{tHV z-@y-c!Zi@z1&JssxK$&0HClisVFCfn*ZcJ0FAP*`dcukku3;Ck2Pz<_;z4=?qdJq5 zm*vlr0b->na0yp1?B@OI=HSCB0RY1bLjIuK;17U03vpWx-C%l$W<ZT8($XG((7qA~ z@FqG31{>yFePOEdWetD=0vw|+Z|F#lCu?_A&9g^$r_+-b4b{S*Fm=*_^PDfoFXE<O ze0M+b=$SrLX>;|U!HH<29Gum*EppD!LVi`e+UGs1@-ZigZ3<?q$<~`93Pvj0oSyou zi}Y$W;d#H|B0N15dlJ8OQ9n<ueZOkGA>`g7$Miv+juOxs2^l6?m_iKsMh%|IcGrim z^xjL-Ptn2moS6;y80AO`g9YmjSs<Vfh-;6M)p&JvV(m$YQo)T#_y_~2+z-qOVnPA} z#p*w_&|sP<3tgt4%fFTJIS6xe%#g|?C8?Ut8C2BEBccofY^J&@<wwE}%A&(42<7}x z!Mt<MWDx|oB1x%8K%P5?7S$fu-q$-V{8MM6Hq{0^b95JdeP{YRwRzdp-f;AzicMr~ z@`x6?MVF=m1qSO{W$rR)Pu|=h&TJT{tH`MmAAg2R06~Qsc6!X@CcnkhxnjQKKZ1+8 zRPfOM1uSM_s_U-@m?_lnHnxJKDRx47+0%}RzDri`UhN7e>Ko3s`4+~J_?)-qQcE>D z#CS2%R#fi-LBh1l$wPq_E5DPPrG?v%0mc7Gy@6{h__2HY1{aex;c0RnuGI7^n+Eg| zN!_T~!`-3GmW*)C!+v6++m_~&A|9yZ{q`Oq`EqPb2bNdVua|oWZ*?B2qfT#t@qcfo zZ+mCal~9I*i`H5>D^a;$Jq4SxU`@$t{~czz6(g_3iNZ%wZSS)0=<d(&Od7kY!za~~ z8HALN`rSp@<N&Pa*3~^HwoNmWpJF^Xf6%-EtjmO-ssqObGT9r&EDqdQ8qW9`3uY;5 z?*E=NP3aS_#3w8_viSO?FQ2VpL@n>C^!+#@S~P{s=S$V1HV$nS&|72Fwd4xr@6J0| zYH0m=JyKv}Rz}Kd+JSIkm$oClP0EJx-uS1~x&W(Zs1|k#Sa5k2=Y4J^)6P_|VZGV= zAt7!1Qt9ERAdvzM1sPTSOp#sds%E`mWo8lqY<G^|3qYdH#$)}x@Z5aozF9jlapv4R z<yvwKMM!!zPPW=y^BaCM(PKh8iob#e|8qINw7AIzerx!bDSssA`@#OU!>Lt4nGluH z&XWMszQx=d{}-o70({4&rgIjNivmVJ$}M6Ob?2`(%yTh-$0{P!>6rEyndQEi7(T#& z(%{>%0Z4Vb^u%3M{zY*ygdxC-z<jnk34B_=t*zOPmzNX$;{OW<^0p|O55Z1}*uXE9 z+FjSW?M2mk{OX1+%9vsqWBi%k75})*cVns{0OZYmy|%+8*pL8`G5YFa_)i|1tr^?K zvTu0x10GukmopwcRovdaQ+8_0PuT$^gv*1!A$k~fQGYK?+p-G(SbAFCco)Nk{g?Ty z$J{j<QPu%&r^!v!IBjX^;UT$9)+94!Nk`ixpDt6O%dfJah}2?jUFj-1aTxilSdlO6 zxuc4uOna*nyBz{%C@9W1*J41PkC1sn3WlL`=mVTj<h)EdW3L7s*voQ}ov#%+nWoSg z_?Eo3MjoQwQB9f*u|8yXC@A(0YwlgnrN{g!%>=McLAz^#IeEO3#apgI*YF3aF7nDI z7!MmCfr_)M2G$qhS^8+>s`bSm6{@8?`g+oOB0on>H5o8i$tjZ5M<am9^!HKGV$KWe z1qI;s36rg+{PPPeTL`4%!vm>d<@57uGZdai3n5s$3>Td;dO-L~X?X2>rJ8-b(nX_W z`QnYfGj!OEGkTzwaDaUj{>1IpjLmtfU;TV@vv+vsvi9C0WaDQrvL?paahw`OaZ71R z-%y4-K|B9=qrfBZAEFZ*k(JJt`lc%6HEeZ;JrHr4b9yFu14W*p@&L(xh6~hMXp`c_ zt%D#3pphx*et(1}kKJi7R}J4G$HR}<^BNMz@DkijX1yQ-G@ew$75o>*&%8gWEn=)1 zUyeU1P2l&dx(uNo*cs&7JKRge9vpsC)?Ll`eo6~uZV;|nZhH=r8j(RBdJ{%2l6)u{ z5Ig7|ele4@1NK0R?58?l=<Cb=ge2SX7`)5n*0wwJncE?9`tYp(>q_I+F){@i>)R)= z#WRZS<Qp~@_7}<M=9qmuT9+3%^b_=nlB2Lk+Gnic@&BXg8sjSOx@a|%o5|Kpw#~_| zsmZq8WZRl-+qPXd+qUg`|Idf_`~B6u=bWvz*5130Q#*5f7a4VY^v6DX<NBsTES5zm zLWQ=CLSb=zOD2~Lvtz0;-GUAQpKXmoG6EPX)$Q|HuU>9?yDN#le(=zq3T)A{%^RaN zK0{1X;W$gn1Zc`unUuWtbVr0G?k|~*DB$yRW-LN&?|{^@rvA4|Gp`E?@frk7TmC>Z zlRb(_S$J!DO#_;k>t##%-B$pzLnPK$#ltpIC@n!80|fl;J}r940WR*2>R?L1r5*<g z0c|bK?1n7cQ62mUxiO=z?tA*Zcx$WT{A&?_@O>BeRKwNf7RovjYw6&kWB$w1d^3sa zvMksUk@LZPagw`PxO+5!2;n5m82;L<)xo&K6|5)>)p!g3YmNm_zj_v=#MZhDP7C%Q zUTOP-_Xo}DXNzdG?>r8@uT9VY)jl<R^r1i#<v<B8X6Y|Pp%T8=QUu+WnXA_;hHZ!) zy;&~_Y2ZQpT2jsA?}!4_7A@q4^%7dY{_8q4h5@s|*ImJEVo%w_pWv8`S-3H`HlV92 z{6N(R{q~9fLZ=_Qzb-(h45y996Xz}{dh0r<7Z%^}l!DC={`c-+2=;OJN8RAZ48KKa z{d)N`y&dB36-7C<+X8PH$9UF7=HZBr{ec(z|9bGeM<7L;AsI?DGS^ZM$T}riTxMm> zO<aufqv<Qz*c91V?FyTR#S=x50+gdyjRc6@>fw-_0+E`EBEMv^7205&%#C|^Z8JCr z^=}y&XKa1}5NDG%3fNh({~CS>w(cosZIAM~I%KDAr=|(j3xpO9$e7kmz@kN^^S$Yz z{boJ6*_^x7u+9%BKipO7V_^V*20kHZgXs@;cTVL8&y2U9$g5h};!L(xzqWC3eul)+ z=}6B%1Z|lWzi`c-NjvJ8<QA83VWJCoR{o4t0s#WLcJEJG(f5oF5kMpGf!C*aKaZ1= zcKhdv^$-DgH-vo$&d<CM>)!+<)vUfqCg7|}xw+DU>zaH`u1cRtKgS&Ko_&xnF4qI_ z1?M2Fq@p^DQp(b*K4mfkQSrq!`POi08Z+AK3feUvSq6`$1HY~)GI>C-+>XNAwEkEh zr{=gqS4H}}zP_AmjnxOa5<I;Ww6AES-3GpOXd*kEt&F;T@ZamNJC*3y-$-Wq;w>f? z=UGTj?J#0q+^tMx0LUphyNXM&BDH0Fdg~dS<f^$|(R2*)wpT$0plibZn`%a5EzMR* zV=dR{gr?W#kGpTan&f~X=dFDKvX+orII*vQ649V%Lykjb_L{_iFsVhIu(UWQ6Dks? zMAfpE=fBnvYGQK6zNTG}RA;RZIcnB+Oa7s|rMr7r*a1`~Z%a^c^t(7fz)(37i;S*l zdrm&QT)F*QSHqM){Tsm1hGeINw8>=D(ZsQS=Ho;9rv&J<Yu2pw8>6i<^K37l_JFDm zbcDoxs?eoHFNJ$ZJU<+WPbyYa0uMqMcu$JB=mK$=D@gM$Ee9G<6CCVv-pY(B|HVvD z4qxfj<!$>J+@DG!9O7cu9Zt4LX-&2LyvKhl^?_rL<Iu+9X#>}wEhGO2Ih0jG({lJE zb`hc0*{CpUdr7t!#NMV|pfJ)T5u_JcBo@g?g}%tbW=D2ftGpk-h19FHE)CT)Pelr( z#Gre^fOVz!95L#s+r#*-8>@*&<3|m(KfFM<rQw`*_WbGd8%QEN2sby~6Kfj>&@$8k z)~xa10qPU;1~S1{f9k}Wfk0x=<}LE3A>Qf3oHOv)y1o;d&X=|;E0)Ed(MazSN@%#U zeKc9TY_Jn~Vt1bo3vKTvpR&W~1fl|sryd?3KL%tPgg1WBq2S*9n>x9dzWL71%wT7r zP@=eFa_Li{8P%Q!E)|Yg?a56v<sLqZy|ZI-)zS_HKyIz=!vD2^tIII!3$LMag#m%C zSJ|8|*>sAny2X?_{0$?O_1|P!MbBo>bt__ReWG{Y3$B$^y0f?DUZY}30v_EM$;7Gs z!GEoaO;H4bR4BL0?T}WPi}?$>qzR44g&%i0BF&r>whhd8ihv5K;>Fe4n90YyBPgSw z?e|G4))CT3=%`Crn$!{?i{k!*pxqq~k^6k~1|F7XzO0fy@fVdHmyWIRzuwCcUIXm1 z$%3m<Kp=BT*yC*sGIL(P7r_M&am0^IO8MxDn=hhJN~kGtq1Fg%+OgiB_+4bGuO)_T zxyZSkr$y=xNUr2sO4HTH_i+<d7pDW3un|>@@6Dr>GIi^v5R_5I4D*9@PQFQ(kBX5W z$rumtb333Ei1q=EG=)&X^=d#)9_>|=8Q+e==VkkImk46jvkSX3R{G&0TEXJ!e9qk5 zY=(8$=v*Sd56n;>8xyxqyi|g0rKMs>+RK3Tkx*O2w-#z0UCj!hAxF>CmJ=Lf`~RWv zrSn#;TLHBk*#dELeknxfD931JF3a~sV}_-HCX*l|78w|<fLz3Q<Ev=B+sHF;S^)2Q zxRp9lYc$r}0=f{e*TZG$f%3*9!7l#k25;t6QiE_&jpFmpy%2yIqe6sp7cwgtpb<Ah z)gsi3Itnp$8nlPJC(eIPaHso5ZICGLJCyUJq3$nNqzuo0M_f|`*9GK&`;w&8FU~rp zdD$Z|;0z{TlGOiz42HZ#iBRl3CT>NYKRbFBdL4lOiGYX;?O~bWVs*rm3%V0(09GH_ zWOxVT8PO3e5J*3S2<0te%RJLQ-<$BD!SN-tMuQb);vz8(jD$npJ=*p447w;h4A`Om zhnsq!Zsusx=tYRZ0OjqHx^1Hj*pdQQVu&!1fLE*pf^D904?G5=B=ZyfJH+e<N7`O( z6fT@GOCdm!l=;K_pu+R0C_?v59o<fQJAXbyti+;M-BPC66Ki*U(7ux|<9#1m?V#&x ziE0?2HwgDP&W=%IoW5O2a=~Q{`jvmJz~D{_u%_*ncu3*j<?>YiuLTf}XG!{}Y7leN zGBD)v?38+l##6x)QpF`=Zw0qsYVVYIp>J|brycbcKGHpow|V$(dY2sCz;1ohSTN5e zgFi&Q`~35g91Nul)s^WDHhhB^)boYA1RbX%sy&Fx?<`V7;2_|hJg@YhI}{=-*I{O> z>Mu!cSg<s?B1bGRznuIHCLTKg#p^;Z9}u|!rTKq~gb*dyzucZttk08ytpPToGhvyp zUXh>Go5HWj$a1$mf_gUE8lp+0Cm*m4C0H<@J7Z>7&BU+8*FO;bC`wCOl=JVuG=bRE zFnHA(R!&T|XMH8pdE)%Q#g&cvyZ6w7S+uj+)%n7(FCO(Uc~@m3_rgc-UCi%H0^Y<A zGIgicaG0lyozR6Yp|f@DeFE|L1l(|!yrIoY<6NNk8B$?Xa{BZh;rgU~)<==%XD3lG zR#SK8CIf1JlF6;(0b}O`kFmXLefXx#;w>X+6*@t7Osr@JdzY{q3w0wGUw%b%FzTNc zUMUB{ull$e=5ooR{lHnMvF4Et<VBLFFIYQgV}Q)4rtOJm))Oi@!5j$meduC<GfCcN z{dQbXo@FZmebrU+x}=dlVeo~FX_X$1A;c|<nts<*KsycWcf~x>We?>gKu+<z47mC6 zYCi464sfhAc4P;(Hs8#d&fbt5T1Wx!4}$>#z5e%n{@$d!b0gp8N$Hu5w+`Y-s^Xgm zOXxrzG|<|<HnwkQ)kp5IG78n8d4|TsX+h2#0Z2ZWV&jcHnKutS7IA((uRb*#XQj;w z=}&9@99-P`R|hmT0UFC>$C559DK9vn3v4G8Jg%9Z2E)AsUm)y<^{vhf*=x~4*@zj4 zH1B5|l+2g07h1h|3xqsPgWt!BB=ckrwI?j<0^tVG1j_&>tm#)V7ZX^apmHno(3C%y zDKxo{;{BVPDH0_%xnh=JXkJo}?HBgh@qo%LW{Tzk0CVnM?&<?n?q4n(R`c}oNa$Dy zt1n2zg_2t1{zY_cnE@-<Op)VU-)u702cp%;!9)Ju9PBQwt{z=HfAG7T;1kSeG;X^a z|C8qFk8FlV`JrkXyz@N}PGhlxw!!Ln!Sq$BQDeFFw<$dB1rpC!7~da11=qBUiFR+_ z8A(VD|AB;koE&sis<cPanH|XRT)nG!CRxuF!67_e?tZqE#}_?b_DpVMPMUx&805Ds z&WEYLtWJL5`2YH$Yt+pk+VYi&`+?d1w2UH2Viix)EZQ`>^Gw|f(_%O3dTc-ZY!bBf z%NS}Cl)0G`7g5u!zI5|@*woKTE7a+x=Q!0rT3ElC;zK841FSlYQ$ulhUBkO?W-fwO zDsgsE`7{6AhV!skg|eC3*5&qc)X1@%uPyNDhNd%0O&~(bXT!4%6_}KN+YW7C%z@62 zOD>695MldZkX%RDm+{V(?$(ZfeQGdC(gpV2*yLu-x8tnkwvtT+WE450yeXd>e>GE} z^4r|;okNc;$4%=OUn|O(k_2{?KDG9|Lteu0emN(KR7e~uB0|_jBglF-U>|?cud%V2 zNMif+>=Fr9*d@6wPOS*_B(jz;M7eBV*N%$QF#)EMxmyEey6U;Gou-yQ5{}fyny-I) zkH)Ff)~4)N1vAM$+VxY@s(kSrFkeNFl&un)u74qcym#od@UTjY|C=PK_iATg`H4A? zrR9_L#GCSa*e>xKHtNApO}wS{x{D7XfkuRQ^x1GEg411LRtGs|DZC5Ww(~+{OA@zd z;<e`lS5zV)boc5^c#%-1rL!9wAAj_=XNR?9kau+(IpX)IgYf>Znf%RJUUZdr4Glu2 z{{XG|jlhin6!&rGV%awRPb3(Mgao^4mc)owX?xt8)L=nj2;|$B2`g({r0{+O#}MOU zp+hFA=&wBD0tP<|Y8506jp9coW6bu(ee)wjS+N~cOsBR?_QfK0VS+eCn^FR8!Yftp zT{$1NyZJBs<|ouIx8g+0_6eaMV>OjWA005a?EE9-LS!hSp?OD5u(N=E<7y-|+onl4 zQI6vYl>*W6X_Sno#|~fOC-<kXAYod<p>U#?8gAl@UDp=r=i}FdO%+x)1qGGG%4V+& zg^AY@XxASuitv*s7u}PC$n5YM`I6WPH*WqA-Tga)Hx@ui>SU#CT+PP38+jeq+~$o& zm>IS!Xa-B{R*d#$_!L0ky2;NCVdd<2`+-OlD_&h!m)F?X=nB^?o1;5o(-os2FB{`e zoQ6SbQP7{I8aouWyZIB0kDxI?f*=Qvethe>PNP_XMVF3g`@VP?#KPb|m96-XzGPr% zqH;EoT{03UQaL>3_usMCu2z4yK))3JD&nTbAlIDjc5naSBH%6cQP+5Qvt|;CZqAxB zT@R(-_b1{*Z25y<Zc|tvUm)uw4wN=Kf_bocVDGML$RTwiwPoqVId0TMiz2oG1O3%2 z5<d++MD_1m4mO|Fo@>Z<jF?FGK@sl=e{w?Nm@_RVw3XRdkZ#YDfMLsx^jZP|b@1>T zpP^*~=sf(+c+OE#CwJF#BYWwcsgwNP>(TY{6Ct`be9x=tvL+Z+S(2XQ7g#zZWK%<H z=`!$1C{sbi;t~z<Etl`&9h!P`j{x$i_pwbMLt#`7hu2dV8~03gsv)^=M8RVJfqa9& zR%pc^<K1qX$ts3e)4mC&O~`&-sA(YCkXq37Ir{uhU)0U@cD7x_v_bvD%NX@FT;Zy= z_VDo<QP-dp{^S-H&gJ>0Z2WaKWd+#~|5vu-k6q0{-Jd7eRvZ<|QWXk*s)h@1*oUQY zw(QQ#l5tnY3hF9DZ;_{zm1TYFE2)GBbR<_RoK3u!M4vL;gDS)-x>O4KKbgb|W4CFn z)g&ZJsj_7$4dN}bJEOs}%R8gYPQ9~53r|(jP>_bxcFA{5mm9xtrG(*Wi?2z_3(+#t zfqUTB<>GeQN#Q6-cHD?sUEg)CTgpgn56By|*i0dHtcvg1cT}?S26i4ke&Xb^S}c^e z%tK$Bh|nd~Ii0I(yKF=DFUo2%$A-Xmew?+Yie}~~ju{nz5Wbtmn%Op07bs{??xzxc zM=P)`<w>KTiJC1|M$tbVWoM+uzR*|2X>YBGl{oF(FLN+?emlc<$}h4nto8w1$k{mU zN{75=wD^yHVT!juklu%3;UV<H#GsajIo}j<VSW`AFF6Uag4}d3I_sz9Pex=KB$%a4 z?^x;v()22jNzP?922nk7<2L9qeGH#~xth@`LqgTvj&RvAf#w<?)FDt&pcHj@a5Z>M zJkC#!hR!s)TBKB%O^yunHDEaiS;Y>eMU>r&eZ&#sCtHu@DCbbgjU^B=YP%n!e+<ve z#ov{N8DnRJet?^@s7DnY{MMw^8yN=A;1iS88Mm2u6M1&K8reM1w>Dl95-ytuepR-J z==;kq*4c%Cw$-<)sEl9DQmZ$73mE#AH2ru|BL~9f-*1CO^sP3og@zVDcsdqh4`^f# zouxkF?uZBOGWz9Xrh{D3gPMl2f+BRM%##c=16>0(?;g)YRd}J0KL*Ewv8oz99otZ2 ze~U*Xu_uj6x>~IX<Iy@U1OxYcM%ON_C-e>So>lr9M(78Uu7SQxp8B9+lLXDZHV9&} z1;GJNGDhY{p%ub6M`#FNFo#&z@JZVy+gbPZbvo6w6h>Nx<h+*UJt>kiaXF*pBFyiJ zi9DVM?Di*ROMj9<XwhCSs$9B8Gp)fZ<GmO*rw>-d6(A7S<>}-X|2)8HZ7(C|Ra+XE zYvw3l10H*U<XpHke%Huo68^o&$sG!bVddxEFJ&l7^!<pN2fgYxuh_H3h_7M!D17|x zK`@v}*7tYwk8dA3dF)_k5LOw#*z_5RU)*YFX#+tgR8+XQ$y={OLIOXK7)D8B##lx6 z=9Ji^oM|4T5At%tZP{|q%=OGA-Hb?qzi;Ymu12g<MiojwOujPv$L5b!g>;ZY#mDT* zK`|>1pA5%<1N4JE2X`89xo)hhKroXxpSyFgGmtPeq?X(LDa&U$*7i%!;2TawA~Kyf zOD#NPt8O#xdDlp$o@!e1_3tCB4)#8vLs1+shBjznMqY+wJ7C}vGTO|5%?4X=`0SB^ z@v^xR9Y&}fv-AGnd2BG{7n-5Lxgcly%OYtqBc&;EB5SN4HSA4WkMV{)<yOta6kl~P zq1n<o<Wll8w*@wuSDO&@%T92_K~#n|3OJ`x8Aa8Sy+67Z*j+6g7=!6em|DD%s^~NH ze{Vsy+OO8VK3*M!<~=Pfqn^yQlFuuW=)3){7Ra34&aCV&I@BjZK{+{Iqk&mR24|a? zqrz!X)e30~#3$Brq{R{Rjd4hD<#Dm+g-vK#3a3rW_`yb|vojzB4c1I=&QNABxHcz} zSh18YvK>o{;in%9`vvc%mX$vAuLO4N0|D0<qp#10C((87S$KkkMb=pt6IEmoJt}HU ziK5FYHrtyaH3l;?N5G#zNT8jonwU4i*ZN|OknLY{t@O=l*|L@`wuu9-U|aUtmZ@1N z@NXDQlGr|FMsW(tc|Lfd!yRXD;XQMo43|(m%2yu;JJs-pM@ay$fJJW;<brkh@8%&i z&%=A0=al|fk&-A~i@V^$Hc!UH25d<K;sOP~AjY7M$<=m|?E(gF`<-%DV;OIra{n#W zGm$GHJ%o=y`sQeDu2hk3NSY*9nU1(2*AJK}G($!0;&Ei_aeuV+ekjdDn8_ufqoE;) zmjUBwPc}E5@=<Bs)RCZ-quBfB)ybhzoIQh^oFu|KGA%>~7t>a3rvW-l!DZ)8R2Txh zE2=Fkgzc;>LZndP=DtN(84#+j{2Wx}li?jDrxZ&*L7oT}!aRBJWNJWgh^?GcA+0jG zyLg<=-Cw#hNlnX5n=)?zhNv`RLAdTOzFTs}fj~Vu?H!sbvO3;xJp6bv`OWGp`ky(z z+8(!8z1HthHd!2_Du)yLWN6oYYmgP`SP}b!w>uyB8ZdT$4{YT9HI5~<qXjE=3|*DO zM|J@q;UZi^tV6N~#>ATsw+782mQq8Z^6Jc&*VNY?>ibSs-q5<Tz`V1H+({IzZNHVC z-qLi#N}NZmOOW$U)UKXE-v;-k86)oo@;w|R;^m60zTMB$Lwe)vH138lQG(FV6bB_P z{9YS<Wu}>dD+x0Lc{7%Bjt6|mZ}V@|<`}4J?$$NS*vf=!Lxt2yuGV`L1O!Z=Vo!rQ zW><c`s5!WdZ`uAWkci)~N5ek8AdJEcCK%s%-3WM8;6Ljg5k3}dpx6ReO^U$jJAsMG zI5pm(VQpz1Ihb8|ALYX6#NVZPD$_>5PHpjhqoH)@OX5T=IdR4z;)PggjDeN;VAr6W zp|$CvRedJcEv`F!9Bhr_e$zGL(LHfThD0Tu{_(WUZ!^|*cEe7AjyxkKN{IwWsJ33s zQEI*CF7LvsJp5Ia&Bzk*ez~EE>xsrZp9v-6@+x>_Pc7`N-HBga4@PDYB6;&SOBeWO z<LzM?OX-`K^nIHf)gUdgbb31dp293f)G!XO%Xf|@VlYqQq_S{T^haWaf^<FEP7gkP zR|kv-TUiX?SSNO_#I@TbJiWc4O84$HE9r=;I>XjlsqCxXH{~q{f@;cI@9P%QHzhn= zF{;GIjf?AS(pKlG(LhUA#LxfKFV5I~7Kh}RP8`t8S%Ka-VeLh)sbYm2%ic>oDv90L zDMlUww$3`8z8`S7<_wrA8!WsE2Bs&$UdH_t1d(iXU|-koyH3q<2s5}OoFXS$?etu} zUdql~u6yvx@IC@nNtB#-;WO9SH!$}iANO>M$4Y(}C7f@Yq@=aHv<aISw5RsR4;7(* zp2R?=GgMUKWphRdabsgHj%NX@Y)@Zeh7HBh?V(y*Z>Q_Ap_0tGcJ{$%Tc{{^x2G7r zTelE@^ltbE3l3dLj3R4yRi~MfXMHEX)dX2Z)P9Y)v)>PgK44~<f=7+Luwg0DLHe0V z7vRc;t2uE_Bk1dcSSVZc*8%@fDlFyxmWz(>&ZUVaB(+`FBrpI6{f)IWo(J!f894Et zs0|M`eYJ3uHy0i6Mp`X_82?=>%r{nw1YW0#G8UXL9P?@>^wV#m-!Y4BZ=TO9ymZP; zj~)yt6C_5;s>sSJbJxM9MnMrx<g$7Li8AF~e|@oidm<PF`9`Hl%#q)~Rg;r%My^Q3 z<7<sQyEF6aazX50xNES0w^`2RIspp_VGJ3}1Vj?r5|!bqiv60LKJE?VBa=(tl;6Sy z?V0JVk{zirpJjK(U~S#wssj0n@wab1o|;s%l*wJJdQ4KpuaCnf>lZ*`+E`S?M9k2v zB~=S&#+xRmV|?PH>ydt+HnXW}J!9H%p4d~HkN)Jm8!1$&P{ZX!I7am1+>#F4N_nv_ z*0pahgPf-c@npZ3(WC`zXjEijskYsPx*=(JdyHC^KF*D{_RUYU<M+rLW1#5@XW)Gg zJhv;~quMm;za6P2Rb3~+AFlk*%Df4<hB507>dlAg&5MmpK1B9#G7{1S^8|C`^X7_O zdCe0y98L=Qtw@y6S!^^&tHcWCtGNK())96LmrlxLnFRNBjeYm(3OFG(G+^%6HBQ|F zYlZVB>6DW_(uTdif;&aM7oF+OcV8p^tf4bRV7@q~)4Cl`0jn@PkZm-$oi<$`t(tyR z#xK^9vWIp-Mz-%SK6a3Mk^E7g2x2TtEhw>8x#0TXg+*^^XR{>>e~0?gf&J@f91JH= zlTOSl!&y%yfF!}(u}vUCvtVa7VD^pu8i6Vj3YVFYK8j#$=jx$h^J5g|E5t!SeO5!O zx@M2Tre$8Sdhfw(((`*tf@;d=^dxb@nCtEnGQ=6ai|!R6m+?8IHzg}64d)Gd9B-ei z#S~tD?m|*z4GNS_rj)L`I#rEY${UM~e35Wp)sP~E{`po54aXa)ol%NrG2PkRmpXE@ z-&C%DAHRncpnULp8W$;kX3)?+TV30ugu`QBuHI*s64IrM<;^qAjIAF1H{(hJDNpN* z&2!%p)`O9Df#kw)oV#<4!}2JG;GoDiRu7l`n2mRBd>80Kx1iiG9E*|CGSh4BnyCP{ z1h1?`U^rK!oX1kO0j+iM{-p_<d{KN&>!xDjD{fKIu}KB@Q0*zzx0R3QWJbJ^kwSGc zAbh3^Xq9gP6!y)2%U5jz-pa9rG@${rx7#(RQnYUzA+#x%v#t__7uoglf-U7yenF|L zd|-GxM?yf#YeIdS`lVaj?aQw`m)G+q*Yk$O);j|8$e;$hp=Ncpk;S^h1~vP)$77d| zwBoe2^c})si(RrEbI)5NWZ>s>W~Pmy_E~G^xkzN7HHd~6#g^5!hv6uH9IBk`bG?@J zQo&wY@sFks#HBTbj!ziQCX6M+ibPyr&vVPW@iI01^G;unP$(0qRMsmr*=f?w(OsB4 z#R8VaCy7Q|IQ-amBfvr%FY$xefxl@sSvB_3u5Ru#I1T~RFj){D?;o4#T=nA*R3HBU zm8mADGEG-m^zJ1V7NSXzYF3o)ZB%sKuI?CR{2Q>Vtv58sWcJRcR=Vg+{ocKq%k}vi z3Fd46;UV(bkzw`OOvT>4U0m~T1wo)sb#my!W}9kT-@4Bu%QqQT1_@q<0X38XHT8)1 zGR=j}p6Q;-_15XZII&r~F7*^)J~EPm)m*c@yoQz4B)N{>9lq*naDW#uu`BgCkP~lJ z)zG3SJ7k)LE|@7X#_e*1TC=JeE{puef5-glZ27aJ^dC`4{G>7HL=kBzTj6S9pyMsm zoxn#|1GBfyOtpgAMg8GtTjf8$7jxSS?Z>DKvXznG$=NMSkqKISw$}9{T5w$7PK4~F zq$GLDz48+(<M;L`(S%Yh`K6OV(Tla((4pL5W?qKkA-SdcTzmVmvJ@ojrL|qsgt3(R z3+_?ela#H~N$5W&cg4SpM9YjUPS7_vyuN<&J-pT0mdNwE0_Xvz_lA^&3_i7}*!3JD zcQr=%a^nkKx>ZG5ldJBbvVL71jDx-L?au!BM*L=LbCP39ksXRgjnz({8*i)*FUnYJ zxP;5fQtjbH+qcXg<th}-7N<7p^pt}mGyiljXpS3upge&?R0Jf;5S20zgL<+PXPS+* zV~2X0UUZL_OJULlL`yxfk>QDrrxq)-;`{baIx+_G!d<e^G(!#!&EAK~9%nCCw|)a0 zs%swtTL1=yVZG)9v^0$`!LG4xEf~k8sydJ)>d@&xfVZ<bK}Zq3=FOWwGv2a%IzNL^ zRRsM4wiFUHE@f+1GNr`VxbyuA@wu(jvD|N*o=pc9Z2M-k-g>rIc^CP0vmQF%SOCjU zw>Gk4d9c|&3cV3Kh7#)Ibm~xDDGcvuomYVL5p7=L+R{K^Ia{H+=tqhvIbnPG8Bhdw zkm_ztE?#@VBZm(xt*kUYO{%_~<3E|6;KTTQOQO3Pe-`doUDi;owpf-l{tEeMdPQy( zUw8DLrTX+C$8)<&NAP0LJntCkW6j#mWz1qsgd7Zv$a_3>V=6_^kieC)SEH2jdJQx| zJSz|-6UtHkv%X|H=MMNwZ4I6jdcx$%elOp0HI|g|$x6%bAE}M57CUHoAX@Pfio;#z z7v7jZ=90;+pZw!wJ2u}_^Vpxbm0~7=s{<>~U>TrzhM{I=?#$rLvL!d6!ohI?Tp|l^ zGXb}JssQNX(dE6@+W#>HA0-R`5+p@9F{Pxq);<I!809Y32d>xfI;w_To^5ppIsms4 zr>!*dg}d>mN(lmA=Ea~Wjj@E`r!2HL`R%QX?jakHFL`;M)iAy~+<`wh*cmy3u)sFB zyy8Iwt(B1?CDYkc#q!1T?Y2i?Wr!C-mCAO`Kw}%BBm2a`f}!|WTAd#LHVq&K9v*pf zU)mwyvwsJQ-|bViTLyN<X_>&w4ePmQ?Vn{9AC+0(bw(Xx<GAtP9GxqRstPL4G?sqP zR$N-p0EzW~-#g--Ux8$PGttOQe-L7mqP+s&t<HOK8W(H>f(-iWO>c1xSi9p61^4Wq zduwNASw&oUMxe_76AR<;2UXT&ukJ4ITRvJmI0HY8pG<h-wzZXzlML&v_j<Q4D8l;H z1K3;4k4R`ZQFSUoL)Q!7AKnpo<2K<*xU8|u0V$!dg=DSv^KW{ww9@NowvF{W<Dsp! zSD2x&Bp8^DE*;thx&zmj!(~+vx+$ATgUt<eoNN>c<$TR@O)`ew`t2SOeA?U&4xL$T zF{X%e8)-ZhVq<5};R<Go)X4fzCU=ZYx}w>#x7L08;ciVpiEt(<XRtl^4Yb<qi+^0= z;rU^ic6n@OG1la8U|?k|3fw86BOmmPUG;$~_;>kl!tOJQc6h$^Y+`8Eq;Yl8z0K~j zTR{36ac?@O@9rdU0}d!F;v?acZq7pFVIU#cv|2#9GF?9s#<0)!#xHjX_bz<4p-j@h zLV%a~i8754-z6H214th`w6B<b?emplde19YibkE@85IF6e&3U<`71gb#`PwM-j(87 z-fLJbSTOHs?sZLEhkAX^PT;-b8`uCD*`AbnEY%*5v#w4wUGAs(U7}ChFBOGhz=e4e zgc|h~z(bv4I|knEz(Hu@-;EmQqbKZ|o5%##XOefV3IO9>^gOkm?k~sE{HMZ#pa?eW z{AU9pX#m<H4VA3PEo&ls-dwH06JE@rE(IH}7oO4J+et@B%z}Z9(KIP`jLGBW&z$0z z=)wt8(#1MP?pT8YY{0GY;k1g|EZ;Tc1wU=~x~^4NEx8}AL*0Kgh{!z@h@&xqgoy?( z-(zq@h&Ll!!?#86&PdSEtM{68Y8V)Qe%K&3n0^TvAKgnJu0dNo?$4G96f_PFu$%Ou zAX=$0{KBCX6P?lGn&eJs1F1tsR?T*S1!mCh`K*7C&R<X`D>i$%9w}X5=rD>-BQ2eR zxzHJ80ytIg&9-p6&X0C(vlH6!HAQx|MrtH$7{CCZCR1EGlQ|Cy8+r4^71YvRv~MT1 zF+5#auD0o3X)sym?91<{KG<Xt9B-_gS0_<q>lmL=fJFFqDkewkMbi_IPBT07MYEJD zwzIgU3-ESykZu8Nj?~}#uL@=??Eo-MR1$D`NOSaXCg7+=+%{QMOS=t68EE8j-R&V7 zRG(E)Y87)mcv-{4<oMN#UDc3s-rTD_xj)S7OY6N}lExn)yNvj4sL>pf!=xL4I7#MW zNS=2XbbN6ru;+yE?Jll8zfY$dK73w!f3sK<7JYqkdf{;U_h)~(J*F95Zj6sa`9ROa zd?FNk5_?^P)9M`&$Q3N-=@V5ohk@t0WvbV6<Ml;#+D5mCsfj(@Ef81{I!g!5i_#K- zp2l9oQp+FSOWfvh&NiH&nw+x6wqJ6g9Rr--&1?aQ7l2`p4vMZ-RB+lqdb)jDn@2)L ziiVejhWz8AbkcXAL5MLpE)khC0fcfa+h{tIsV3EI*`j$O6qcSeP5NL0W%D=gJs6rG zt)=8oT!jR*n%|%=ACHXvdQ&o-L1g4v&`{sDpDpIAChQrTu=p{dEos#0n%Om5yT^hN z^~q3btd7IJD?zz^>E58+(g+LvJ?tLW#((QfLz*^TMDK7Xi9yu>HRW1hoS^K41-7D= zdb=^oeb;GBh2m(YUR#ltC6~oVYdN$+{Gb3uZ@DCtCpb`Y$8%y7hQUOSAFHG0U(|sw zn3FAq&F!P-*|F5MleyY@rc!2_pD!;ckypuXoURcvt-lE2>!b7q+AgO)ASaWyC>*-Q z^=dg{IpXo2*+m{OAWnsU6CCWjFB+>{-iqcjw_6JC6!Yc;OD*WQHOYvDAO`W>3ekln zL9zl^jT+9?qzaa^Zth<d(^tT49~l@;l!cS&S=gNh>8HBfc5*`fUkhM+$R>Gm3gc`~ zwzeF|V3MJgU$ZFfD&*<#P;{++nN}1@Tb2veq*l7>y-j7&M6i9nKg-pw!<sX1?s~lD z<Y$@DLT)SE1f@3MsDJ}BAv>Nia3@w+KE9YKQal@8N>CMiEAMb{D_a~Rxo=)^tV;D) zE+bV+6;&9AOmw5QzF&ug0Eh25_%by~=l5ysCDM9F<y6Q{e`Lm0SQ&2uz=}_gl^kqY zEugSz`SMKe%7N1{qE`n7?l@x3Wx!`g(}pK)vcZ?G0@UXf{cu#BN=Qfk>1_Cwz0pLB zZJ}7;)R3e%tPqjaUU#VCO?as)qc@i9!{BE2ipFv&3(kU$<jyZ;GJcTSR7q_GKo||> z9lCfQGS;hOVW0JVt~-jQ^<)W_^n&X5k2@GYh%T*pdp9q!2ErKE>u#**pWMBN81c$! zTP)79Wjzmp9I{hfdP@iBx#ZgAnrBW|(|%uyt*ZMtE#JKRH~c{}P5g@v2__k%Sm&R} zCg*=g$ZAHOW<POl_~b$Whdpb~?`b4ap*(hS?~ZkJ+EbehK7Oe|9_Mgbl%|Tp>=W3x z+Som7-q3DOlKAB3Q7$b*87~fF|JTytRm!NqBhxl@*Oe2m<FL~jm>gmiqeq0+$Ynx* zm}E~^h6HSl*>6|aXmN0B(m2KjE@9t80y!ZvQnQon*JeNNF8O~9Qr^bp;TR^6BnWe~ z*?wmK1i_elBctF?VFD3XNXP1+#*DbdrguttnI%wN22j*&Ptbv-(~Rj$Wm;oVmz4Uj zLyz~grUkTQ5fJoE+_3=I<kRzwi1Gtrv2$C0IfVA}J(w$cYi4tTL2k&^OCG58<H?n8 z#nJDxJhks?D>0>i!VqfToRge-ms8a(#7|U<@K*O#;OlBVZLFb<@g%=s*3UY+@E>Wv z^7yK#S?=*IxR5_fSaH1g9Yeh@ql9LP|7@GaP;0!81Hti9I(>8(*iCSQ_1?J(6wc*i zJds@u#AWTd8XX^9L8jxWtQOYy0&i-uWBcV=ZHbuLF5q^Eqj^|BM+xM^0!DkSEefJ6 zfhfNXJ7`?pgu7myme2!#?DTU(W^GxzQj>PO`x<Q!;al%Qt0TtF)V{Q&dA<v0<HW-I ztvC(jzZGS_!9WyPXX}k&8_E$Nyu$vqJ&Omsg659CUH<q3MuWYa)s!SRBsl2|u~f?* z8mtZE-37+tpZrWPNw-oQ>FEQ@Ac#VdKwXpPA?LZj4rXMOMIkEe1V8wAqho*aHLv0} zttgky)2ux)Uqe3cEzB`gz$^R`%J8s5)3DRAMVOZDOm56OUeGd>98GaJa*)I!MX0`9 zrOBj4f~ma!Ze-ia6AXrH;%BLq`Z!ixx;HV73+wD;HVyx>JMHl1a)(z`dC;H=dP8xJ zJvXVc1)Lz@pN@PMUV`lt!aljthoUhjh|yr4EC(%vTwEGgzW*&)4|cLLv07tfDlPkM z&Jw`Y^0!6K?*00f=VhF&zmN#(x#`WaiH|J;?tWidlrK;Tr7^3+ucHAnR$J?I`UGwk z!XNwOIIydOm(AFCSdr=k4ekP)qgV!Bv_*2Bs=AJewNIJGSZPjIc_@Nx4j4^w(<V*< zV9LD-eoPaFdvV&D6Y<~zv=8n8ilNQ-*9S?A90CvTy0&%*fE`C_r7I=JI920&BRXRN ze2Z;t7>`nxxOYRSD#qO%D1-IQ%tvF_EdNP{sbMU)LLQthF}FY6YMbL4HZQ5&UW6SB zLw`)q<W8GDQ$4Vx6e!^}yClT+@HK0WeFci+iPvlL|CkZqU%v|T)B8tx-pVsp+7F@= zvbJ<oHb_bih)@#Hm~*fV(#2*c=}@TS9yAyNAbv*eG-C4e3U~<c!HNVT*gBY$M{mCm z{S(D5<6G^wDWW4*DS^GVJ?LvQskNN@)!~f`loA+0VmtZ;{GoOQg~@V%q80K?b$t(g zR&Sm?nU6CdKHyRCj|Q0Q29fqQys{HiR0k3}Bq-v|Aw1HLPp##Q9C^9FH)cLaQ&SxV zesg~!W6PPhuzPN?Z2s$uC_B&~e$7smz|-tN4RBLSq2sQeZ}|tI3I@y0KQrvMKgu(i z6O#_)Oq=$a9!;6z#DeYKK!mfSK$e*5h7D$)kUG~}d$0&cigNJLn#mjpnZd>8Nn(Tv z&aku@N5TKzBkG<UCfv@b$3!Ohle?<Wt^uA2-^mzb4VA@jd%{c93~VC=5R%K6u$Zm_ z@)WAQd%$SNmpU$Q6?WL@6w!eoh`qfNJ<s}cGtMZ5_TlvhU({WxWTMT+l0MhRUr|1= zMvQ~u_*Mmde@y|$cfyaFSNi-WuBiAMroy*7ULCTNiB(LoNF%>2FKA@I&E7&kI<T<g z#{TMVpR#>eb7glB`t~Soed@`-?EX(Q@LyfZ%VdqX4Lcj3C;1=fuXzim&!iWENqlwG zKxx>1{=z`Z5K<I0bTwb@+F#-3)Bj5NQ(bOLbL00U;CQaOCo0?uL@#iV1}JQ@*!;08 zlvnlnYf4}(Fysz&7Qe0`YE9%TybN{K0sH?{set<IYO@Y@99RXypXz9EF)+Utbk-`_ zctDynZ4T_pv|i9&8A>`PH~sBs4dJA1%0cAogOgI8Fc%^SAbuU!rVR}2Tz<5Z6^7C- zV-C_3XjeV!%-G0hk<ukQkF!bO#R(&-p0@PRwSNnwd{`tX<<d8X&z2@v<E=x>IADDM zxye{Z(#>@DW6O{;DcwO3y&@bA+_I8kGs#?}cmfj|PJ_TI+r1j5q<Q2^#9XhvLii}S zi{6Hd*YoR*?7CbU*3OZC=r8fYdcWowP?Ymi_^bxR2jSrQeAH)WLwfp~<V7;pNN9jG z3jIFgk9J24k+S)jA1ePef3KAGxB?6=fIk8B{tVS9tb@~k`CM<#yJiW+&~&d~g_KG? z<%}7O4i7_C=Xa-Z6#Db)!MZwm9Sb7p-=%ZyZ)09gS&NWp&QS!z{a&p%L(92>1RD*J zKt`#}i86Mv@9dbI17HgzNlDvA7Qq=UA6^wbi%jw=aHBDlO37(B-X)O$%Uj<>AM8-O zlxCN(C2J_#7FLO;3c92m`A<jCA=qO|sDlw8YAa^DT8k$2o;$5M){e$DSItQe*oeek z(_?;iXR2F*AK*|45D7Q+yB^8pgi7R5(=rB7-JN5#{)`(;_qpm_aNJOv4^vhhRLXhn zucI?BB_xk#=Cgo_es#ayd0UwIk=f|PLXps{rgr;Q%m}g`lC-rsP<k-d9#Ev%OM;YA zmkDxC1b}i!CP;uTh*lZ5cHjm$R`}pYgRIP74^G(?luKNJeqYp5faSl9g@u1P*4=p@ zJz8U_Aq(E_`kDM}RI6oy(E-%Bh+y@@3u!QcJZyhCUh9}BVj2-Bpg8XKCwy`|V(`XV zMm?DF_bn%61i{L&IZ#!?C)WK*;5hTzJx72YF2gxS59Q73VJRgr@Hv#9>P#);zZOCL z0io{@p>mUXt=dI)<|ft?Kt1quvZmH4BWdWD#SifQs=)5r_(X?RBC*T<k3Mij`@$21 zI8AaQw0doXA*KFZgX74eK(Vsj68X8>0$W_MvFIETsTi5xZAJ#309T-#wJw+<J^Cp^ z-@VxS9<gKi2__vNNcN0-NQSn5+Vhe0DM}~>?|<=*uSef#DAN7AbCP2KdIY-d&CA;f zNbdPLB{)U;3l5M@j%V=Zuz;@*8~c+$IOvGrZ(cAIlUwn}Bg|ii-nF>^t`xtuuoDc_ zUcgTYt?_auCiSJ{LiDC<QB=m+6R~3g9)o<=#F6spi@FSn&Ln#<O32N<DP098cVm1k zBQh*9oa4~*&f7H&PR^;(D=%qEl0G7UzQ8)$AB?Fvd`tcAX}?M5R9Mt-nvHb49~Rs} zD>9GrU1!43P4SSWy$}-0j)Oe>K8cQDV=~JNU%c!u`zBe&?)a{l`rC!LESqFQD?s1~ zQ|wiCZ<ixri7F_8cNu0G+2}Dbcf8b)vcs}Vad#55K)BnDZEyh*<HLOjZ($IBH|;jm z!{vlzd49f~*A9-Kw<g}iYiZ;-!h<cdeHfKlzggk;=xp5}17EMsrT?Nb%|Y7oEljm@ zcd5VG<;aIG58q!7C;eM%_z$q!u~P7>ztscf{@N3I0@@^<w=P9)1=i>Q{^V-E1hc{I z>Syx(?C0=wEQ|@JzdDAYBzhzq`ZGFf1;nqMU)=_?qC{r#KRfln_w6cpvvYI6fe4>V z!o9*8<5rMf;fhI-Ac0J@Rng;+ylbU-xpNPIpf~I3&wy<JYJ1Q0^HA?yd8*SB?zagU zUrU*HLZV0KZy`IYx1s5vNn(I;XCOB@ct$W3Qik9+OrOC8dtj_H2ut&#taMZ2-8A$L zRxcY=Ivdq}rGQ!$n_jG?f0g`RUFL#lA6c1X9rFI;B^ig!$C;PkBx~PRf~!yvnaOcT z$rlV-3<58Lo;xiyL>=Z?XL6z+Z2_NqD5CiH1%b(v?M`0K?ox_(=-SDu(A%5x4B-Fb z9DWuhe-dzv_eiO@-#JJN3kvc&?gx&!R^b24t&$1Oq?}_Vc3)bmwOR&r<XrxGP@`>s zgUV+lKRRB&I(xUqDrH&i+|9Qu8=?CC>P{7jd;X{y03KCcqB^c~#NqcdksNtu)*m5} z;Ruff_<M!$-`R?^%^Yxn4+nU)&R_6*t;jg39rj0&ze4L8kQKJ)5J2<J7W0k+rb8nm zlY)se(dr7n+_ghM5Kb_m^?ncC$u9d0`xPP=ufxS;m?uisJ7}QO|C!4eax=QMOzCPd zK%8Q)V0zcZq1O;l49qiO6XhUrOF8g)>k>pu<M(h=7ozTLgBs_ZnSU~Y(bgYVPi@Xu z^lc&j6*&FVXP`PCDB<k6r}^4sV}m>!@aso6s6YP?_O8Z=r@RnM+X6Y~Yf=_~s<NB% zUs}BPKciO+1X$7Z^KiIgO^#dB;_BO2`wlc@S4sHShW_SehvIURr;5`jLb~~wg4BZh zs4S`&vCH{AWt?r#8?}(gv8vuMZ0feM#OAKyos{noq`u9M;6qG$Y$z28uXv((FT5hE zOT>_)s6Be|ucJNlh7FO7Z}gzIVwlzbt>Vpv^30V0(QU4{mho3>euOjqIrP?Yh(y53 zdaCyP-kU-tTD-iv#^M1Rkp8@<s5~FdjT~&MrG>e2>7(dxXPx4l!n%Dzc-yDG<XCI| zeEb@#Z4HQ49XPw<)r8a&U4z_CYHdv5;8Tn0c&sej(w|RZq-wC?gYFG11est{AV~}{ z7^W68pve)*$@Zc<iGj@Fi^m7n?~*@9ZoUMO1cShNM$81JVdITzkVo0q)CU0bJ0Mn7 zm+7!DLM1D53Oi#vqnt8cygWg)9L+b{02g#+DO7d>7|BxDK*a6+(8x@)nNp;(l%O8? zfTN?E`#O-)*gkv&Gj>%vUmYVeT6Jzt+$sJic>)xbAh_>VjKkAI(wN;iD*;`ACKvqS zdjKaVJ0d2K)A8^ax!kf5<-`EGP;G9vWMt2dRD36E@)JWikc`ZgV+-#Zn;XQR*pMbN zS-p*_(;8HO0g+h?Ns6Nb1C_A=apniomY#tWKqH}l`&N-IJ=g+S2QaLB3*R%GrjB59 zzjScioqVbA>Y_4dXk(sPj!hgK%NyD?*&XI+(v6DGucNy~t3sHgA1^>ualp*{?)p#E zkr>m0E>6`m3Z517y5^=(L3@O#3KEdrE@*IFz@(^;)WLQUFBW5+;|!1b=!tfTImbFx zuwM;=uJ7}em9M5M&tZH3)zvt9Jm<!j5Ef^mWOnPpoQ=jiC?9Y8y+w%bv{=TFJ13zZ z*{;buzzFeX#*M`+feQkPxs$Ymu&srmAQeoRogRt4r-v&wFMiL^{B-?|O}mKL9_ne# zMZn0k@tHFzKYSyO1AOY@3P=q+JpisxU+M%s6PHu{(#h9awmrXyeq1%ZqI~5{>re6g z+v{H*g+M%Tr2T^lmo6}}muJ+Sr3W-UK*N{zr?Q%pH3cFxfbZZy8WCaU_0rh7e``4E zP7$cWRRM1SNMIP-tJrS^`;u{x<|x+(a2=tmis~z)oaG2i#u}t8V}*NBg~YJp&)ZVU zQ<27bcZ1dxCU?_%z*N|sXtaDw!~;@%SCThmTLa}YGZA#fEY<7LaGCAWP^2EeMl!tc z+MxTd@wx!An8GJ$HtzE^R1Q4gkOO3)sxgS*0sS&Fh!LkiG*q&zS5Y@i0+UH6s}OI$ zG#`Py2Hoacs>9gd2cX109zX~C>Ryiz7R1TP%uN!1ZdTInM3M-w0Dznt3GQpg1@t>L zKqP#On2mxt&1uZxONSu*_=ps{H@^&(k$y6MXeZzgYP79u+8%h`ZShuM*(8)O%&rR7 zCjB6j7Ri-`^p*j^NB&^r4zDOtadC5zPNF$(^%JZ($n=%R8=W9(X^(Iq9Z099Ja~UX zEzfEyPH^~7BRPq`Bqcaa_%XClXbfQW`PwB%_FEqtduC@N&7%u*)By5~q7x(LAwV#) zZ`97!c-q5o^tY!|ifgD#E(`dyFc=M7^xkr8UL@Ryxe=4)z)so?5-J>|)hNb$!qM=@ zrD%Ibs$}<|OfZBSWa}r0hbP~N&FVh|enhpUCE}kP%EG_zZ*A1J9A^I%l%Wv%M%r)v z7BZ%JEn}#cyx1Ufzy?LX{$BkdM1qF2wc^$I{2$Q`8r{>BU|gM1NX9jPikZ>L05CE+ zSrcX-=%}I?7s}|GK7TC6Bg7Fubu(g>x-q1*lqvf9{pR<qZSVt2i}g~IV)8dx@|R}= z8|$d9jxX~}Dbodu7riT>i2tgdxht%&0)_8~hR8scJ1~O+bsBpHuq{Ld?Rem=l)KM* z$iP9d44aQ3y(DW?0}cZK?&5Sb#vbm_8uPXFWVvUX28mGMV#}1~s1t-+T5eC4VDFq+ zD-k6s73>ZVB3+j6_0Ib#tz;b@XX?JTa@IUd96xbj^M_2$0(k&Wy9F+MFA-343ttjl zDyz1wOQw%kJnIV|;<JsOoVu`IZ~!-9snOcICC%7<J%_ik<^cn3A%$o4S3S6M;sL*r zzeR2JYB)ykP3H|3$c_yDdFvLP^8?%mluuK#ehJ#Q71_s8SMGbg>aL<`UgM$(le)_z z^tE&=jjukzJ2NhyW&RO(XOnI86PI(0>vVuzbA#749VaEC0ksIrW42Uf^qKdO#~m&% z<&ZaKz^ft{qMwWmK<7SIPegaD4f_6r%QtL*<#3`^tA2qcl!S6w62)<-)(dQI8wIad zwROAGN83D1`R=a)fYhEdCSl|?u85hOrTkCNJ3wXu)lpGCuuxA@<dBP{Eo+x@xt!Z6 z%D0n%hw1(xiQ$&oT(#{U#)c*%tiy5AWC;-Vt}%*tagRTr3C`ir3S7w229a4~0FQ$s zGf7I@ik8{`o^ZE{oc`u~`|H8CNXzN8m32UauPgRJTId>tx{IP)pWMI*=-i$5b%=%+ z0>xh!X0NnhUC#Rt(uXGt$~!YNj!Qs@;S4UDu(9CHD{6n#HN<3HS*z$%{E9QEChy;X zK{RQVnq)c(Qkq`Yw^QSvTpi$BwAp}qK~9tlaA3Bj41~biaVI*B&@RuRKYr}?kIg-z zk=^XEv3VBR-|nn9!4LLxED9%p=4-&+kmuWT$^j!Ia?)wQFvNtJmO4Dar~iq<o-)bR zQIaE<D3Hh5Dk%&~S9z(X)_=dVF50>jU8!5aIb7v6A{9EmKnP9Bz}HAxTRwhoP`7f} z+zJQAWSg&dY?N!|<cmsrxNXpmG_o(BYmHKG9}_y??EBx^luX{cuSVNZRs}>~q!`ur zE2;dq#;GH22wZjATQ@B{;%>)2tgK)>AvsgueM7_vLsMVuL!?|9l)OdI%Q6{a{SE3g z-kxor<VI+aQqo9)tU2)NIHX|xW<w@KM!MPk7usb8PtW2ZDv+94U%mGL;#e~f*hdF< z)H~+P^ZsR!2@ycnwR5{tDHj@#Klpasjdri0FqKk05A}GaQ_Z#D0=O9;AFB5(pH7Zq z?4Rs7446ABS4I{{ACZEF;<?l`C+T$&1qsGaPSi=iNL-HixIk6I-l5rxBZjB4M0N(p z&mj-@dlH2LJV43>5+MV0X4n|Ht6g`V%)c#ID3pRIKb?jB6-H8tYx3ih9NX>K<J8pz zfUpg4>VMogP^S{(gfv*R90niasQ?11#UnOBgDq#~??o#*%-1)I5ySF+<MeTwt&9pW zu6w?9k+|33yzz0XDqv;iPGv=xJaHW3)O^Oi8&7pw^9oDIl<(=xefhGBPfe9q&qRMb zTNAJ@8<3x{ezp_oQc!;h+BUZq0u-T9Z&EyNCzu<Z&5K);R^f1J_=F^chP|DLu8%k1 zz&WS)F9>tGVS9ey^xh1EtEQ#`8zLq`-!$_cv>3_>^-+-lFrYc+kL6tFG=ZnPe;4l2 zH!vG;VDNG>An{-()_*cT&;)bJFZidl&RM}>FhW}_Sh1jMMLIZNVuU@l+ylkTj5=rj zjnv4B-I!YGL<8lAdA&LuNdus`=%^wb89C_tLq1Ym**h>Arh`FeR_Ecs`=Bp1*b2!! zH<C0NL~r!CH^jmJN*cuV{2_P$v?gxlAF+O@p!PmXFxY;hBdaw&+qNFKrq4F0LjsUY znD*h6<)u~xzh{QH?S`JN^-(7AmMrf6mTOk*=qu?_j|&Jbr{y@TV4d!+?y9XNc`pyu zvv=uTKC}2Ys_4LPtc-23$&)0o=s?3Yq<#X$TJsxEV^IUX>YBK<D=SbXkMp0p-4y;r zIvP#G-PKqX+&}<gbHa=pSi0q%`zr9;F4iBo;}$)|ME=*_SGC2_MO{K55d6i0Lju9w zgNI-V8r&gR6WrZBI0^0nf;$b3)402P<L-^?ROWkTe!*N0cTi7v6{pVGd+oKhNCd6g zL`hL6R~y6Wfb0f9N7`u?fG-`z&REu&ChWbPq*$;uPzw6|Rb3w`(d9n25jgJ4I57L& zB!!W&U_@*mkLnj5Yz40fEE5ffxw`N6zh(MvATeL!6E4&}$$@<+W+h_~n<jNMP2b4= zu|Vd;$8~3i1v?gb?a;|QdU0-bF;EC)|2}*!`y=eQ?;0v?ht_~vWNU4@JHxX9$g<A8 zWg0-d{%-B?kPbveDxAQ;@Ai1VOrBX4MXo<fJ3iMqQ;in#s%7~;E>%<9*MZk(MVD%7 z6J|@p#+zJ8r87P_-_~rQ(x+5e_O7)i5Wv_6iL#=pqVXi+<=eQSp4VpLTF4zSF~e9` zeG4_)T@nQv)C6xh@gZzBt^B6GvDdSY+T%ZJAMJU5<!RP@8D#wIlgSzqRQGH>oFhl# z?bUEK;;mN1o(+R}3O=6a(99=hNn1(@P-TbPsmkt36Oi({QN08J3E;q>F)U`)&3rSJ zL6>8ksaJx#ayFO%4^5!)6%$fzIf@V=2%+(IeKFuFExo;|6(U}pi+n)ES<h_PeB2#o z1f*{g0!d%UDFGlIU-T!e3wxLE+UrRo#41IuZ;CjywBB(9RK$q*X2O8tqku;pNMkwX zpKtHp0nv2Ly=TPV-?k*(HH7I-bN&o`g&*KRm+@n4R6<R;;&?_5T(sy(_uBf&D~;KM zUsJC#$rKyF+<+kX5C0r)((^*;TIk9sxA%Gud{vhoqq4b_oT{7RiYeEl9I>o#+W00H zvhPHZNKW5&BHzT>Ql(7wwIZRyH+w#Cm6XKwo6SdHou0Qi$rJdL4QrE5iEOOC3|)#I zH=zNt)Wov2uTo=Y&XIh=oW_NDBu4o458WZmH7d?fk;f(sJ0+R7qr}sCC#|^bI9?^R zSUfxj{E9^HJ{4;KkyvdX6{b~8_iqOY(6k!E-<BMM(`%a677~x3OSHW~a<Uq{TLGZ} zKS@QStg&{DC1<`{D>Wv-69<HUE8=H(0>39fpHEGhECUnn?ewQ`i1mg(;BVx>c-zN% z0vvFk)nv(v68OHc70VQBn3T(Ky>Zrwuv5$!?rMg>rHo(UKfNM0^?zD?(O(@4Ie4|> zj@4ck|6*V`oY6H?A{&%xC>RN7rMqcZ8I@oo#J~~(q<P==1|VHkHRSH66y0Sj-G6Pl zuupBW!vEqXp-B~?%dL^pBBN7Y_H74TRuMqGC06is5SY1&Ms6UnTQ|d0cfopeJ-`F# zL#46l6^!&jXp-@i>%)5y8|%u~K-w35$I?d5dx=K#?`mQ9$(nM`b79$$LCUSaeJZeO z)eOy1-DpZtu;~EsJi<62%uOv_xuxJ0u(-4QLB&#T{+C}dF!nDlk6-R7w02SB-G660 ze*{pd{M^>e%=<#`BEub>_?yOf=2ybkQu%LE?=<s)@)?vZCPG!{OWNeU7>h+`W=1O2 zTk%iyC_+)<#VRJ$c%+FXv2R@Ispnfq=H`TX@#9^&-u_yxAXgmSa`d&5Yd8T##Zn<+ z#~=#{;%)3nR^{P~y82+YS?DDuocl-%3th11Oz&}_KcH6v7F}ov2#2y_SCsr)k*1J> zUI=J69lui0t2m|ze3Z9yJvea)Do$o3#y<%wl<4EGaSD^>aNDE8_t7bTTPz==k`GmQ z$Ht2)Cgimf5(=ihLLWPVbyaM;)mhZN{+F)il4_2SazGMlfhw+|3n&DE6j<yFE=i7G zMXnrQQ|BPC(|7Geq24yY>(M5HZ)}=1i^Yq#08$Up-QJ$Z$HwK<#thW!6BK%OGO+nb zzfJ)D{CR2Qm9N)F#AuD7Jr1!>+go9P**TOeG^Qpnrao9ud><k^;&+_^RHbc&?{lX7 z3<hcqwZcd2_rBvTboGY9X?qA{X;(buLw{!DTwbkBK}Rfpz2^@WRUl~(g&?&9<*aX< zmgWTo|4%M}<G&iVY<5HIeB6257jllE){ucCcG;Z2%AJ6RJ?e)_#zkWUW$LiU*}Xmv zZ@J+Cs1KSs6y%rWeJq4##OiRgCw+YZ!(1cVFU0Up>NFotue4MvXkmkNXDEFV?*57h z^V)Tw*tm9QfUnZp$<8+CreN#oeHnL)gOL(^4C&~>(Qf<=T@x9MA4oGSj+@&olX-OZ z{LWDc^aKUD5E2c^l8h^){ydS)oA|AwHCWBOK&~)ACjcctaP!g)MXmRJH%vLnTdfxG z$-g}0xn>lQ(9RbNf`Z*Y!h0m(AJyZ+K9^Gi0Q3u4fHtHyFnP=lb?tdAWodA=l+|(2 zWkE~{RVXNAF%PNrC$=?A=pnM3n_%wid2RJ}&ie^g1KkC`cZQjAf4-><<xk?}0`1t6 zroSvC{YejQ^E0kpwXsd2s*Wt@1@Hu*g>8_c8N~SfJagQf){S-j=sca!!+NlTF#g{W z%Lobn3G6(Sf1Ch8qh9$H%E}cO;5C34bEpa9>oO5<cai+UmDvV{`s*X+md?8p?~8*{ z+jN98jojDNo~WMzF8gF-1Wk3%#Mbs3Ou>y>wPf6qv!Sm@=;zsF@zbv6tjf~6!y0K# zPqWwA*&<y_`1E9ELbLyJ<vDTRqykV>B!K3pqxDP2;#*BxGhvq<{%IYoW_poDrY>`u zx7@Vv;($yx>#twij$eHWk?je5c_<cmXF)wVROhj`2I6At%#L-_jnhyYz0dpV&1*&J zV`H;)gaqU%Jw6T7k*cBRW_r6*%R}?NSSvGusPUznSM>(sApML}b!@~s&%D7v$2}lX z0>K%NkKce@0|fH^c!dq*oiAR-pxmy1p=PQJeUIo9e$m|c<ik%*fPUt9AR+yg_KvX5 zUEujW`pSgQ2v`6if%K^nDD#G8hz$h=g^|*JSyo56Z-UQWShz3N!vZ<D8G>V#`tUcm z6@pa4_32~I@3T4#o<A}Cw`T3~&@Z;a1T3R%u2AMXwgdtbIy_uZJNh=r6OrG@+#;r4 zmFj}Y^2;c@ndwiZLKt&tQv{)|v#Q(m&Q8lDT62|WzTPQ^e{3C+Oo3Q*p4JONPL8|Q zyz-=$8~{f5BgjJ!tIgA>NJjyC1C)_oZ0tGkUj<C!g6QZj;jVeLkQhM0kHUhRIHyo4 zLi8V+ol(j)BJ=8KU-UlyD)gHl02Bpcvh~<<r=`d@_&ITXoxSJE7w=bN4dz?=CoSs$ zf^t}D=kH9?g?#5}QLW`HX2!s0m^l9-bKO92|0lhpvT6c1*x%~bkk>cZ<dT+BucsE{ zsyMqh?Dc}hilw%f#T<$z`o5{c<}-Q@*zN@ve<`bcHIRx{zKQ=a*4DydiD{(RYvu%) zW}M^YUH~W8l$74tA7Gl`G)^@vEpb`d_dOLF<KtsjwA>_Fa$aA|6=<UD@NM>C?55T` zAlZ?N8INBpAbyu|{WzxzdnZGu32BZl2x?3E$B5ONYjD&CIjZXdl1@cJvcoR#KnTFs zXAy%k;2o(K<dlMq0sE+8;yDwBOb3={sNc<)KuO7p7)Qx0Pc^SOS4Dw5aAnqb2Oj$7 zq3nefVQwo-nOWg}nVVtb)vEq<yhpRG1XXQ)*k`%2+RuY!>e;yCg*e=(VYz^gdbjJt z!?Y+yMeh|{?K9cMDto4jUVmQ6Y^TCl**(@9UYxaF1XN3V_@Yu73M|WZ9XV?6D~z}c zF6eNwQU95m`zcyBGOR_x9SUTl9I90ASG}`q^D@PysbGHT>je_&%8N#P0Hh3~5*@m% zZ?mEN?|>~$H~`LM8MVkhJdpZ;D#bmxboNKNSOY$vMFGUkJwWy<;gcQAV)7+%jUCu# zKmozGl4cq6TB0tXzGD?6e~GhJz9|FLhwjeMRJTkk@_o&l;8Vi#rATk5Q4OnSoSKmA z4AI*{r={|xh=kVT)1W+XJI0CGvNcIxl(nGq9m{^GuZmDIG+f+~C}75^lg|GQ6glTL zC~88`T<uL)T0*2#o6Thh8+W^LctkevnH@>ijlIQUa^x@GY$qRqyWbX4t1@#!#mN^X z8BEPy0upBCHtqbJw!9ZN>s6D9sc^?xavZ=t&WKrh;9mffWXz4ftbcT7Uq{1TpF#SS z#_)-}4?{_Q(;D<%V0-3YS>T28G0x6UWWO@aL-i|iRx#=5nj|WxIk?&xei?-@ksF3? z+ZVBpU5mb-t``=f^dB5az<zgVR@~f*6`p5FjSaQC6uOKy?UEmOit=-t{|ctX(2A5M z9HX)so12LL_>;ccfs?4yrPMd3O0Rm>5o7Xr6L12KINCk#ZLs%y<>kIX{N3D>w0fZl z(LY%x_VC+>HW5MY;5j)tHBzi0U)UE92@#nZu)Fo1eE}*88Efcj<oQ2Rh~x#f>JuiT z4#FXS88w~sqIn;JfQHr@^l48#;uA92&o|8T8gnNVHBu8Un$Ax-%}oszfv;J9I>)Vg z$-Vg-_UW^y5}nKM)JCWnHSOq!IFu$Q(Xp<)U?FZdThNKfP0OiQ3>1t3#i8nfVIP}s zH-a<9hBot>3sPCNb2LgDyuK*$Wkr}@O%Ug@nN^=`hoyV_=1ugY4&D6L)KWAs66nii zt4<I>zVnL9nyFfrHMV3E`Fx;>VNRI5zIm`*Mi@X?R|jIRy`G(Im|s*;Q<rite3vAj z@-xf_{)&L!YN@mXR&Vll5|;O*kuXDg>HS|lk$>CC^L)vOpG_9!q;Kn|^vzF?Qmb0v zbewvM?eYbDl9|m}h%eIk{y`OZ=9@wBXH8w0$Byg`iGNjvXv6$c^?u@AhTK@k#BAvN zqj0Bit1Z`|!*L+l-nSP3{ixjvOq>5cD&s*G(8r)V;+<_+T2NL|m5?{UUJqc+hK#E$ z^yv74kGxKfmZArqy7nmcoLCWt7`IZl$<QvHw>SIDS1*QRvt!Bpd_m}iV}^VW6qQ92 z=Yu6STZuE8f<Fc}!V2V1sCu`a3oyL6(B;rB9l7B@lMZ3kG+Ecz1nQdbfmGGyIj~#g zj_ql*!uCq^gEo&7xyj<KyPiY!-<06MR|TQZ7epd;3DV`D^ZE0Z8ZXp=9$@se4|B&! zpSx#2g*=9hCvEc&io{9ERs)t`jnbZ(nZ%kJF1@rA`xQJdcKxmV%q51YnemB%)K>W0 z?^Yn%oLq(s*^#X$)-dAvnQWL$4Cg|DqTM?-?%36UE4S;2Tzkg6xIA+<$D?7|QF=3d ziVO8p^(a!jPNXT+3HssKy;^Gxil_>)1rcwe_<LRh;rgbEm^_kXfi#a)lT?zw$w~iR z-A;jS9#kyQ+F}&x)UPoBerUs*0O#g7wlW?(uvy`DlNI}Qb_c$?=9NM^UpQc+D`CfT zq1-9jrWCmm<`BENYwtuWVw=2`@!3H8YIBC|wUhMqZiq#m?Y{5?^T7e;7NO<9C^L-^ zH0r2D1*Ak36$$nU`jq#l=J(G;<}(-PjUkeoiHU{B)72v4a5j-4sLC^ze`O|)-*GE3 znafkOw1yd@U-;_q57>Xc_>=as9aJ|*Tg?sd;ggv#sEoXIq1$o;`%U(G>j-M)^9rmh zB>d^KLsi`l+^4X3at3#6yVo4riet!cP9S9j9F*m$JWVink_<Ono^mP4(Jt)3+9&`L z*!K)hnr<<+=GABsu%dRuvi3oZC?JkThdw!r$iz?Go!kj%5@ppTwnU&CEY?NSqhJ}S z6^^oc#^mc_pWn4jA$v4dKi|L?z29eb{MdTtg*ouChlxcI_rwRKiy6Y_Buh)zBf%48 zAH7h@6~oZyug++kZ3<N^k3F8A>*5fq2p1oa5|lN1r^IZH4WNk2H>!sj|L$*Dw?FW# zW=V&URNgT#8rso;h<P|0ZnPpeG1G^XC>sK4Ny9gvdUNU2*E4`^r(_Q4`v5-pPH>(& z=UF#O#r-pxMkZa@Pg$MNj!LvWW}1NMkaTog=cS$e{*KSU>1;P^r7eVY;Oiy)-0Z0= zEN%I^bzYxENkG>0yWuK{^`cE~dE%_bCTI#04_lH`$jrilP;MMbm<QY&kDd;<mWq!} z3bqC$EPtM6B4kQLzf$s3V<HU5ssOS7i1z8#IlO6xfcf6Xh*EfK-Lz+*bcq35wqTEo zw2p9;udapUrM~p#x{$IG?_k-UGdP!lAq6|0a^TDE`jyxk$h<E+L}~ScCA~s%Y`vSu zHA4a9_b3(b5i23_N?Xv6v;y08dhhVItAYZ6pT^$172bkA(%?`M^NQ!Rloq{JQvLt| zAJXhi$b%lbqALU>hp4Yy$bWY0H}}inTPKt<+#2kt%6|cvfJfrY{^6WfcPEV{)FTC~ zK3G%)DaBNhx45zgA-hZr=s884-&@|rhC;~)5>VaR#6{oY7cag^Z?1ST`b*;D!hF?J z&fT#=!((!;Ug0Lt6J(&2VRz)P=}&D^E<?iXbeyiTqOI9$fshbko-OQ1Yy`76w?r)C zGl_LL!;SkG>Lx@xpKWM?|0h9xrb_ID`eE~67wWvf*3m0A+|{#?B_wmz(Dd{h>!AV# z8$!xlfOXQbtc>*LoYydKWS}>6C0V7oth8%vA(c~HpBQ&MT<F!S^g2PELZC#nv5mW9 zGiZ2@u6Z@Vf3;z8o_n_bN!Jq?)(o9BkX($+tP9mNkD?JS<Mz{Tjh}9zmi3$U`1473 zpzH?9`EYCFr}xRf(4qkTR2~LsN2#_Ht#1I$Grf}jeVc*v`S}lrP);WL^g1+PfEy=Y zr|HSq;52@Vk1wi3OCV5d>y6TIwQFsGnb#_litP7IjKKPYpKBQU4A;_9@A(xq6m{%v z71nE0&MSF|_C8nX%}kvOxuU$u!@}SD)5P4fz2F=zU2WxW+5?-qeE-EKM@pCPjIPCj ze0tfE2=Ia56J>icJED`j7f2KPOAYP1mU@2Gv5Q1`(MTni^J=hU@<;0gAyUmj7&Dd4 zIlkws@OyA`3bn9{Nz-4Ls8O>kP_67O_d9ts>M^k87P_G}@#j5TT0!f9-6G6Sn=#i0 z>+y4?G+%6|<j=73Vpzv3ROKFEoZzx^-ejIpjfil6nO8=5=JM1l4T1&-dK;{O;{|-~ zIZHJkqLXT0o9pTVuF!qms&(RL#}8|c8dDC^Vs6smB;3fsfgQls_m>xaGH;l5)63_E z?GOI`f^ds5_f|WC5vem}nmwWW$UBDKaL0YnESC)gm@&}xhmTG_>|A^QatO6h-QXO0 zU3JFkSMYjK*UbEIH?c<c9Ua9yn7?>mh_ruIYAz%wz*+nYk7(|2dlpD1;Lp~#wla6D zxn1f&Y7yIK3tV1w%~H`NnaRVjGW1Nz`)Wal;RYOH(F#R|h(Kj!4ko=Pzfx(oVa7(O zt)!%QU7gXKV5`zh8q}LLI~>KfVxK0_AAH2oEUQpd{|B$@0%)rBx#UaMBaJIjA^Ox; zhN11daq|jMB`2-o8F@4`GZU3pcXKYsjTA>VWsP7ve!x+mIc0r|8_P@Qk5g5SNzbGh zI*BmV`UHQgX9EO$-%Sfg=~}BQi6-cSD?};vhM7U<Y5Lx0WK(V1nmljGA%MAfv^h42 zU@r0S8Z{*+vmly>f~kyrSAi_js&h4Acy9_$N?SxYNZ(l4kC?MW8xiOobK$5>f<LlR zjmuB&3HAEI-X=mS@fjpa1ys-;-tcEuFXF~yws-qRyJ1d}ML+u9xB}%Ry{;#nJ|do} zD-{B(LaxE^I}escaQt$FV^*_?WN9|sbs-_4-Ae{%YOJ2d0~o)oo)m8g?AV~tlw(F) zD>Et2g}Rw-O4sXKL4oxONav(i0Pv=n6Z2;r_Z&&Vo>z^<LfUmYQey~Io+!6f-yi>T zcJY)g9oEdnfx|(&*;G;{>M*ApI9S<QUUp5-fbC(I{cn7!MU|7A77q8=v~c=wJj9f@ zi%&^BAME7KGO+=#5L9p;@AuV(cg%K4R`DN0EZXrKEt($$T@lWtNU<#dhgCLnHye7D zX^&lvN~nGrVcqy_`+h*+>P2CI@vkn;!g}zq_j8RWaLTiSZ#_4*kNO9Llv~IJ($;gt zy{V|=ti?q~`5+*rRfM){Hu;Owf!SfLwkG>P+8}cT)}gf)4r|GH=0iLByxg;kisLP{ zgsGX8%&~&8zhGUsMgnt0XXxL1Y%1<%{-?}Z@a!4z4DM&yuo`~8L>GGFRIWcl*L-QN zBbI(nw=7ml-MJdYKS%nvV{CWAvelUg!P1x8BUIOCPZPvDF{I!5Ox(>9a*CQtW*!Ro zNj;4EV*e&4{g;^D6&7DOSt_v!$C<GttXvieeLdvcE?aKtDEUWL)9tFDxVUjzSzw`i zdw1Q~Y6#W`3&#z){cY{pcvrXAlA@#6-FCQ`l{yyt;#sEflcv5VaCtfbMQp5;!%uZ? zW+mwKBr~Kk9$z#@QIk6iAh*<y+v=g#cnHtvGo+ZpSDSRBySoldLXq{o3LM(<4m6P2 zH0dxW0EDPIz9IuA9{qM8*;Gn>%bXaow@eO3{BD(a=&UKnEg1?qMTQq7?3K80%+EDw zErG4)t*y(3*<0?Ol!y*SZBHI8rss8`dG+C?K@>>M_uN&7b(16!j^*SNW3(WmxXY>R zLm#h?p}?Dxblx8<uA;nzU)eY|wYRJpS&u|*_YK2a=7j>WU9Tb~uXjHDQq}Jb(hpsp z?x_~Y54Gj3lkEYfMVaka)3i`<;%YYUxXlY>#!D6a;~aS1Tw5Jv5>B2e++Afq%GHw_ zpQo*`7=Y6O7qXqBjHGk%)^_iQir}ej*{R9nMy)d7We$UiijkVZ&O`6@D2^E`$~uP@ zc=Gl=Xc5XReGrP2OFi5=KV&VnCDu;jo#?|^4M!R(2iod_noz2aV=>O)KRi>ezirT# zSY08zH}NeTdKCE~9D+n7eWhNvDUPxL%?W3cN6(h3CWM!q^uVyGUCs#v`8~YhPQ)Nv zE1XqG74-!rME^^Uyk>M|JU8$WXJ^Mw@Gn_BAhdzr-z*z^K(Iz)R#iH?^cS*QIMgnk zS)O4{04io?>3i`t<Hn$LO0?rWGuH2l7|=Zu2^r9dl`F_DRL@)-xl;LaRElo_uw4E6 z3ggrLgY(wO$x36Xu2#H+Y`Ib4#Myd6G5N^wpIw`Si4@)P?Fky@udM9dBfVL}B`QsV z=^#jwOtz8TqLg)6+3k-(o(vm>=D6CrgC;@OzXsnuf6TL2h$hMATRN9??osOB+KYbx zw7f5)j9Z^=aU*ii4x*|Nob8>B_y0EAe#}^!>&ix?43H!;KU?XU0v3Zjziy_5vNiRy zKCK25FSr@g_OO1|w&d_&yl955kF~oi-b|H7_p!y5)QS!zY|Y}-eu_T?-iNvI#h8?y z%@m>P;2X~k*5Opy#sxo3`JdoqP1~L#hGmhzg$wUjN)B`kJgrz0)dip7Hv%8$m#Tp1 z&ApjN^yX|Z1j@?gj}Y|qxFEP|WH5hDgE~3oZu_9YCw6Ne&(FY*{*2&iK=ORNbR0@D z3jo7EK{zrOD%w8#m<Uw#6k8MHXLK@j!w%KeJ-|?>5F``_8SX;-N4y0~p5X>@SKVcD z?bplbni`01x>rnNSZTwmMtOGof&TcZB*I`Hj1aMvJ8YacTZdkh91EjG48h(F(??F; zZl^3@HyJX#%|<;9X;ZD6bkfkK3r@?!8^emJYEjOtMxTfJ!>Y6V3+lI&+Fuo2NC2}2 z=-F%?Yz6S}T&J4UI#*uLykF3m^mYk_vMOu2Z0XF6<1SP*hnuxKqjh=geOKMkfwApv zN1*j%0L9artFxB;j=j+`ci%6uI}^6+m{%vmx!h#)_5z_5iUwt5FUSy3O<jFD5G*|0 zYH`(>nf@5+XPNq~Z6Ix=PAIng@(xMpzHaD{&&@%_)<Pgv%8Xp8aX4uGX{p7&A(vtJ zZnwT0v^BwAM8llbgp;0~7&b{3)pCFB86z`?6E9l-UHC?+)j<x5WRdJ{Iwk1o=>awy zZQ)zmEol-2dDll^(Dty9a}>>_K3@jn{lgRxP0c139x<~G&utf8$&<U3WlL5BfaeW^ zN(@OG4!Q_tSX=x4!kD!sVnm`LY3GA0clz=$@hSzUX7^1~p1gTuIuwKhpB%Np3bpi8 zlzJKuO=I2`ZO}Q%tA=+(ofJ6r{&|+n(pQ(Z^gtvU!l-<(d!HRDCP{Szv0|~~APs-C zCEPd5Z&+BsUFa9?>aNk#D9CDG=?zHs;upgwGfe9;k<n1r)0Hx(S4s*KTmDfFMbOkd zIm2mR8O;)Cec*ej(-|}{i7qXtAd-!^TY-#RUS90<tkaOpH4d?g6u+eW?)J+&SXvj* zUK$^pOaAwca4;=zjFQ5iMN;<+UmArI+ybzYO}-)8VMSRxoYjAy608{-s-F8%HK%1# zI`O@7f}`2Z5G>-tJvjI=H8Z?bIw-T3G+IZ&R!RUpMPI*Iqxg0y=SgiQ71A`sHV4r~ zm|q?Xu1x1{vmM36w#|m+$mVZUg6S`=@1I(@-6Fo8q59{pt^3*puRpLBrV2E^U`393 z2?0%l*8J0bmatESv~=O?`cvA;|Mkgr$w2P!0$Wx*tUE{ME_5AzQ5$D;1O=MFzK`)E zqmTNP#meZd6a9ubCnmm7#A6L7rAMx>C{=_N%i=7Ni#^HO%HEuolq>pn3ejcRr4w^G zpUoh9j&j5VCPA~hn#6=59qF)w#qXZtUS8vvAZN>^sCgOsSn%a7u3&Q`*y+S>SR+I% z&F@!;jK+r9VRr{3JKw{GTXjoZBdS<oUJ!G3jQg8dvP&EQ5l)k0j%2xcaMub_{8=-$ z5`2*>ovNn3$7IeO`=+dE*ts^A*IV<wJ^C<~H>~5w-<pcqBhj+(STj|XSDcNFnm35= zxXOg6<kJ=l9wt&E1Sx)bCH+z@H#0b+U^(z|Dvcc>x!JxzVMeaJeYh1$wV`W=r6jat z2>J5ddH6?Sp!%8kijNpxA4`|3;O=e6`bRP&vaumIHEbALF_WZbD-(oZSiEjI+aZ;$ zn_=-aBE^?pZ4>BVRoB;*DPOf$wRy6{LSeG9a(K~3Xcps7?U~SZx9e}kytagn@}5$O zb%xQ$ZW@`7T{NHOWGg)wbWO_2odJ38+i&GFEh0=2Xc4Rv55+#A=wh8f>f2zJx<%7- zjy3P1_cn(9S{{Nu5tishO<W%q9+Fjy=WvgX6g17*12bFq4vrLv%$4FP8_U&|b%*BJ zMe`a8(r9t<J=*1y@@M~;&(FFQ^G#RVF5_R?TRo$(Xs5?!w=yfv)}Q`$2I!~0dh2)X z3yIsmxXCCCSc@xm;)_(vqGL@SB;b{bfp+DNnK8WQ)!qR1{ZGtqHT`4$gbkK74Zu%H z?waB!#*gg%83l3IGD=B3KAj<=xLlfi>We{c_Nt;42oHO>wmTmgJP(u;b~(~*Im(y^ z`a$*IJqp)0ky;*HsvRBzgB6Qs4@q{YzVItewbh2P18K_lJTqc8hE^PFn|qSx{QL$~ z+y<|j_-ZyD@-lw5b>llpb5<#BN|pG9$I#`&?{AukN%8t&lr0V}{x~sI+lO#YmQ;>k zKiN94p37(d@HhWg&Pu4EUJaZ{V>sNt3bM1=Oif}&_pqYlaOctDwDn&Y_aq4kaknP- zsnxj?#Srw%Z@yTaAj(YT*wH`c?qL<dZg2P&uD!p$wd=9YyDmI-mKLc)5#dc#&+uJy z`QH(FL-eCg5HzTf@$sbF@*pY{MNAWsH&hUexB@VpwF@C9(oTth4Rm)r`}Pb>V}B9! zh-&WgOhLxx(;z)LJL!C0HpSk~uVp~M1X7qWlqx=^Wc6|{LB1K3<^iPJas>J#nE+$s z(h}VA_J=`(iDbH|H+yp8g_%5$)rN5;=*k&IM6k7OVz*wUbbozY0f+sRPDmkRaCGa_ zeSRq~W#z}D)Q*e(Bo{l9ot2PiTxfnRq(r@g>XB!mjYQfN-Pp8H7bY`5Io#|<j6wNB zt90~-+Q*E9-u-ELgACWhf<>NWa4TzL{<gIs#Tej6(vC9llC%42rs&7XqSew<>Bd(( zsHT%A?sl?JZ;xlA$p;#SJ4X)h`ZD8}{?^VB(u28DTV1bapi~22WJ*gpg$Bn7q?Fyo zd~vers5tNVb(y0V5UP6r?CO0@8W_W>+Zp<!jfaN7Drq9ow4(0=1io+V?M?o@i6-Yi zrC|P!QG<VMv9K-Qtz0ET!Q!{2t*TpqQK^2|c%4PeQ#(=d+UenX6TCNNnw$)#6HNkK zbh<V7ApKS$0!L!sl07BJ%kBOfLCE%mxt8PBJ83DSZ!%&@3ehdaGqcgJ%>e?t#o;@9 zEEc(Zk@-~oNS<R&qu)rq9tp}Dz-RwL3`#Mg8)utUSNWzY{xh<EVeGfSdVqL~D2N=0 zlEX&_-k0h{>f~?mKj~_MK8#Ofe(Kwq>3=Z1-U(=RhF=<c{s1OjVA<km_n7S+U^-t} zcq?kFyRcrn&VrzZJ3CK=>S`Cu5ej?J(goN@iYbPNk)riL#QK5YEg*#dQKC1bM!oqy zwU3-+JwK)iO*e!18kKjn4>d#b_(@ao@CK)CjiTE?fqcLIUYLSzWmK$qs_rK(UXd@8 z%uRTUbZEMsw!;=eJf80JxJulgBS(ZeTG-?7L(*1==*h^EWLCR?uc`)4Z_mRG7hRE4 zdZGg9^h7MB!D_I(J6>YEf<|MKs<yVIGcVSBTCPg*w->cO`xZN5Tgdf%3Gcj)#onor zZ-~=RF#iiBADM0)3K{dr%&`lh`lZR&QrJ>uDstCx$vy%w74EB~xSId*p0US!W|f!= z9cZ)dK<4t*r8Ld1T+PP}zkn`}V)rEh_(YX9-I7a{8|bEc_sq%OX6n=K7hk3^azh0f zFU{E)zm|!db%lZO4{zUoTb4va6^iC%$Ht&nEv4lee)Rq`A$rwe;(Ts4cxY)4;cEq} z5rn+ZQGufD>eJIoiy6?NOOTM~wl)CKH0W!r_}XtUP-O{YPrG%xJ6TJXf;|m0qK$1n zlON)3GzgWUj;(O!PAJkod3&QdJLE?;3&mbibr&g$(`5(g<OSqcH{V@PG6I3WUiona zc74<pR?kqyIUa?$t?jTIS^uN&RjB}+i3zZJe$|<(w)9fU<Fhksi^INC$wRVt)O4hT z92HK<OOyy2`<5QAJ#>z;gLiX*U%(i0Or_4kSA}-_Q(f7+MAFOlIjH{ik@%Yr$Y5@| zkQo^h_v1FmA-)$FSiQ=l)sE0^ca71OY}|mIu)^$Ss}Iei`tRsO!hE4G{$62MJBiJG z#&%A}!nYFxn;!@XHvq3hW<o<M^0G6t1y|hgVqmy*IviRpV_A({Qi#h#rSS=@*5GHM zO#njMv|BB;_RFf1BZ2r%z(O#UxX7Qt+z~Cwn3+XWcoJh2M<t!nY^TyvH7t3psNDYp z-iP06eR|4rhBOiDYQK|6AN~n`XIy#)(Z20r`)y1?N1aB#&BWmg`<)pf!2^|wInUXW z39O1wB&{&kPo{2_rxiwNELY?4+)di)_lW9*UGZIeLwq#R)S+xGcYx!R@Hu8qr!$j5 za6k+%`C@DfN85EBU$nU)uyRtPn#N5tuhOI9QrN-l{BMHcyFx)Ce*;_JkJ?L))wyvu zo7X8mdXCEP!$V$cmCndx7mIQB{N3d^e5w?<Q&p&8rreteBMJ-S7c~8EZEtilhelg) z%h!6?lr1`<Q+F3~F8*jhDO7`gtnl|mOpL4tf-&$2o1g(mgk}4Oq?CzPdVsuX;qxSy zqo#ul#GQ1n{YUrOO#+ec11*QqHoCz=Yfug8)Qxq%1^}^zMWGJ{(x@(cUbr<H#o^2& zIkP|7HOh0!DngI7&mU<$xeFsF)9dU+6&2r-J^qu<{Pr=G$e&PxjCDSGDd-SPxxS<$ zH8O%IR~nQ?GhQ8p75Zdm=+@e~pdgvF-9|MY&ea}(ZF!hj?m<EW0wMESy0~jbO=$*p z92bj|BYzFpw#LIT5|UQDpV}7IuNGcd&G8s3XY1U>bY=520Leqyf7i`A|4+^2kt>B> zraQ~VVgyX$Jel-zFb2?#H>c<k+@1804Y08vxqaDpBNW1ze2xS;mcecOCpRQw9HsDg z!q((pDp_{IY8m2>H8aXzv?Y_jzsk_N-LdyEyzwwW;k)%c6;198TZ-W;>Htu&7LTKR zq{ii8v~*jfh>WcAuLVD-irw`{HLkVq**e{W8oyM&%8K(DeHtC&cd~I3c_qnNOXjyX z*`ck8ykT%vkBfPJwSy(-opW?f48_9vRVuQT5Z%MgMmgdy>&&yu8KIv0Q7lhz>{$5# zjRu*F+P=0TLH5?Sb=>Q%(@oR!eQ85@Py&tz|Ne_R^SX_J$P2ye_HhRghu5P_6V*O3 zT_Mw>v!x2#Iyw3r)&mrJg{#P|=^WYyH{8Q%#P$*ezCue1|6KWo?*4{@5e+cKXJJ!^ zw>uk*YVE2keQU;3m&@@!7DOJq{o)AEA1&pZ6J_=`c1GLoFzysy0&J23u&ypQHj95* zXNV+oif3{%pj&O23;?BT%}>!>(oBgFnh)|@U|c5w5g%MwltKH{N*_l%O`OrH{)p&~ zwFBLGJ}Y$S#ZV=`a(f7)FSP+~*y8JofeKfdkI$U{PL`MZ@0bB`z7pj_DF2vkYjJvS zR1Mc`ci*eC%Qz#}RT(R0=2v=p0%;DZ#W3%lxm}aA6)Tc8m{3eLKOZ4*@%iq{hqe<e zBo!&;+wXUjijsv!R(b20QrzbkKT^b38=o-`H7PkgeDaiy>^1!YeT0iD%1z*@!GL&E ziQh+jztHD>smj+X!b-`V^-YN#y|l#Lw@(8z+PR~#ZTxCFV1>*Z8nhzf?!5NBAZ(Us z9+sKe@An&<^JaW^OEcY9=@cy`Tsr@~L3(?B35M{D4<^D89u7}K1%ak!wP<x4;Tpi^ z%u~k82SD)bh-Bz)ph>TXSQ&Q{E9=i;EA;MpuXh&@86!GJrwIzYpJ@G-n<L#~DXkqJ zmKJtYc}(lv&o_GNz36?*odqf6l2|&P4d_GfuzPe?>{GY_&)$(Ge$*dBU!MC@HDn)z zl&~{c!L%6&@s9yn&Uh>d0B6P{M-w^nUJ)ewiQTiwrCZrVLdQ%{$kFY>V=;NY$Y$?g zx@YS=hEygnGjRWKF+Gb-1kDLMKV9{W(P)md!;y7Ot1_n}ga<_?8i~)+sswB1!w-Ct zBhH_zC*lOt3HX|6T?3swCs?HRE)06g1aFTQLNp42q8OStSC_dBxe@iVC*sO~%1TiD z+=x7RCb;%N0O)qV?zVK@{gA6%?BUigvW!1{`3R2wiuO-$28aral}>ls79R}ndiDLR zY`BB7vGh$=)SDwoWp&<9@h-cTm@Zp037f{C+m@hK?#v9~Z>4I^&h}<SZssS)!ha@m zo}_@uiafSBFnwVuV{J-xPYO!cn2(mWcKczv$KWlR7W)fS;PxuTmB56BRCBK=6WLFv zC=zbKZr%^@DVm&ftoRT)KWXg>>YIYm_+wv3n_vBd&DD1vQJ9z;ZW1G?{t>zV8ODv( zSMRz%oFUS^4ohJ*BG_2}s$+p>VU~X+*Zc)g_q&h;S1#imWfkB1X{j4h?*aidS3%+a zNXL!t=-JF7ev#T)uiO;La=j6q`O>1Q_u0MYDEZf%(>1o+`)2&)jIO1Z)zR%TW0V`L z&&q4xj7b-0bwIIuVL&YYW5?{eP@j5!CCEX47?!a7GnZjY!z!F<@VlEUHB4WyD>l^u z^Bmo>YQBGQFk&4s0HA?4CzTc^*AWXOI!Kv$W2G_IQyJGWajb4dc`bQqgkEzBG>`$j zo3O``RSBjG%Mo87ny-lb4yBMKc@dYILk@M~@BvHK-ZjD!7hnKpjq@PJz=|ViWQcU- z4DDZDpR~($b$Qrav7rw!d$1TYNPMms`Q=no-!rukAc2<rb8MJipgGQ=H7K1t0;;AH zh)(JpBbb@l0~dl^SWH{UT9!D}gEv>RTK7*kmkyjjHGJ8z_&EQa;4ia@Zzdkz<Vr<W zwT{qQ*b=28&0`8?VrQP{Kq|}1F#Q{rKWfmIuV?v_(8cb9HhaT-%rAz+XEH|R*Qp92 zkRq*fLO|BJJ+8JxbG%#wbpQ0H-y>J0IQC3KmArih>D5`89?g}{PesokC5{wy%^Np9 z8>X*<40TI+#mqN)+IRi$@%O@rl5jQOjvf3x)t<k?&B7!d&8bD^LWkdSUBAOYox?E$ z;9p!;c35j~+WV~4e=UEr75_k*ntW4wWTgy@lmQR`7F85(f0nDB*S2tXI}?er-=E%c z+DWkT@R*W5AV5<6{Mo}t>*MzJ4!1e<t&t*Iix}UlACGQt{+VosisG%Qv&M2k59WwK zpYlMP@?U`^#(YU{!JLi0DUQn7UzeBedRHi(HM>pq|5nweAfUSKyoPnuwu{bdSrnC) z6vSA@AN$RDAO}(Scx)cU>h+HqpNuNalb_cvM7dZf@RAvi8uRRV)M{o+`_)$h1xKNO ztrlv^t9M6$-s8rn?S1%k@R2)W(T~1SK3~I!*;$OQe89E`@UyG7O=4%>sKb@S>KsJ6 z2URV-Q7Cjiq;0g_#Ho{HysNN-Z`(|r#mh^?Q^H5us;eG#e{v;qD7BGXC{xnWlI{jJ z6ULeIoUy+U-rvy*bg(E=V<N|tj^gDtC3*|F%{X6s-u|1goBp^w@@FT+0Be`b)2i%l zGj9FS;Z!k+LbUr*QGajE)R*ljnl7D1NmSn8E3SS<OUf>PT;T6l&pzv7!<W!>HpR?J zTmD`Lg67g2dtfs=*_wL@pJBh1viYvQYy`Ty?$NR7aWhvmDJwQ|t>?)7&5rAJ&gD9* zA%8Hlu+<=cL=rsGYT^#;Z&#U~>fw<988Sw-Oiks{<ts4`mUsTpm{O>3=IAKULEPoj z6Z$d`-f%-<pY*J4bbUs77^Jfnpugn^Lp~nP2v6E{M^jD9YsQ4pYIep8`j1q(pBt~b zZ$>Y*l6`*jKKKU`2?+@@a;+Uvo*@%3PHcUbq<wNyB``3s!TXM@qGCrkEPMy(kA;ka z^842>qw3d!OKId&*YEr4jt4kxs2ugkR0u*YE*u{pAHTsmvv!~#xR94Ifr&JrUG#>g zra__-iiU=Ueg_*9NBN~N@;L~7U#(BSLu>COK7SI)HTwJD|2}JRpdp0(2Rsc+R6>9S zEi*H7Zwy6bL8h#S7L!1QjZ%!oL)_-#^;QZ5N1$TEv*wK?@ZkS-cJ}{Q_3u-`A-@p5 z{m);%ATR*m_r}QR0|LRnD^(nL2>){n;{SUKWdDCx{(CF^>eIiQzrmnE{PX|6=HCji gME$>6o8cEEe|xFqBYmb~1mNeZl%izC=kJ043$$c7od5s; literal 162716 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 ZiW+W`@&yC5+zSW%R1`Git7R?1{|EIsle+)_ diff --git a/lib/matplotlib/tests/baseline_images/test_lines/line_collection_dashes.svg b/lib/matplotlib/tests/baseline_images/test_lines/line_collection_dashes.svg index 3790836f4405..c12572fa9384 100644 --- a/lib/matplotlib/tests/baseline_images/test_lines/line_collection_dashes.svg +++ b/lib/matplotlib/tests/baseline_images/test_lines/line_collection_dashes.svg @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="utf-8" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<!-- Created with matplotlib (http://matplotlib.org/) --> -<svg height="432pt" version="1.1" viewBox="0 0 576 432" width="576pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<!-- Created with matplotlib (https://matplotlib.org/) --> +<svg height="345.6pt" version="1.1" viewBox="0 0 460.8 345.6" width="460.8pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <defs> <style type="text/css"> *{stroke-linecap:butt;stroke-linejoin:round;} @@ -10,2344 +10,2314 @@ </defs> <g id="figure_1"> <g id="patch_1"> - <path d="M 0 432 -L 576 432 -L 576 0 + <path d="M 0 345.6 +L 460.8 345.6 +L 460.8 0 L 0 0 z " style="fill:#ffffff;"/> </g> <g id="axes_1"> <g id="patch_2"> - <path d="M 72 388.8 -L 518.4 388.8 -L 518.4 43.2 -L 72 43.2 + <path d="M 57.6 307.584 +L 414.72 307.584 +L 414.72 41.472 +L 57.6 41.472 z " style="fill:#ffffff;"/> - </g> - <g id="LineCollection_1"> - <path clip-path="url(#p507bfaed5c)" d="M 378.47588 388.8 -L 379.862069 387.121107 -L 380.596486 388.8 -" style="fill:none;stroke:#000080;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 367.239901 43.2 -L 364.468966 48.344515 -L 360.721012 43.2 -" style="fill:none;stroke:#000080;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 87.393103 227.947937 -L 85.584777 225.094737 -L 87.393103 223.56513 -L 88.606036 225.094737 -L 87.393103 227.947937 -" style="fill:none;stroke:#000080;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 133.572414 190.133359 -L 130.868226 188.715789 -L 133.572414 186.932463 -L 134.794118 188.715789 -L 133.572414 190.133359 -" style="fill:none;stroke:#000080;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 179.751724 135.739458 -L 178.331936 134.147368 -L 179.751724 122.66811 -L 182.160851 134.147368 -L 179.751724 135.739458 -" style="fill:none;stroke:#000080;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 148.965517 98.762629 -L 147.847117 97.768421 -L 148.965517 96.126296 -L 149.909346 97.768421 -L 148.965517 98.762629 -" style="fill:none;stroke:#000080;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 179.751724 62.192179 -L 179.078068 61.389474 -L 179.751724 59.379938 -L 180.406798 61.389474 -L 179.751724 62.192179 -" style="fill:none;stroke:#000080;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - </g> - <g id="LineCollection_2"> - <path clip-path="url(#p507bfaed5c)" d="M 371.227351 388.8 -L 379.862069 378.341997 -L 384.436831 388.8 -" style="fill:none;stroke:#0028ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 89.287532 43.2 -L 87.393103 49.927432 -L 85.844435 43.2 -" style="fill:none;stroke:#0028ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 230.122772 43.2 -L 225.931034 46.224546 -L 224.175585 43.2 -" style="fill:none;stroke:#0028ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 370.67064 43.2 -L 364.468966 54.71402 -L 356.080611 43.2 -" style="fill:none;stroke:#0028ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 118.17931 372.251217 -L 112.816472 370.610526 -L 116.050514 352.421053 -L 118.17931 351.571226 -L 119.200413 352.421053 -L 121.769056 370.610526 -L 118.17931 372.251217 -" style="fill:none;stroke:#0028ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 256.717241 371.393971 -L 251.002603 370.610526 -L 256.717241 369.931249 -L 257.16455 370.610526 -L 256.717241 371.393971 -" style="fill:none;stroke:#0028ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 349.075862 370.741714 -L 348.986403 370.610526 -L 349.075862 370.416419 -L 349.228544 370.610526 -L 349.075862 370.741714 -" style="fill:none;stroke:#0028ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 164.358621 352.61308 -L 163.98021 352.421053 -L 164.358621 352.086261 -L 164.580718 352.421053 -L 164.358621 352.61308 -" style="fill:none;stroke:#0028ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 118.17931 287.780311 -L 112.104996 279.663158 -L 118.17931 273.209272 -L 121.54798 279.663158 -L 118.17931 287.780311 -" style="fill:none;stroke:#0028ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 148.965517 279.703035 -L 148.951296 279.663158 -L 148.965517 279.631759 -L 149.029161 279.663158 -L 148.965517 279.703035 -" style="fill:none;stroke:#0028ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 456.827586 279.797339 -L 456.711948 279.663158 -L 456.827586 279.53455 -L 456.99147 279.663158 -L 456.827586 279.797339 -" style="fill:none;stroke:#0028ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 487.613793 267.891908 -L 485.58417 261.473684 -L 487.613793 257.512995 -L 490.511959 261.473684 -L 487.613793 267.891908 -" style="fill:none;stroke:#0028ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 148.965517 244.376248 -L 148.109671 243.284211 -L 148.965517 242.208401 -L 149.379165 243.284211 -L 148.965517 244.376248 -" style="fill:none;stroke:#0028ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 441.434483 251.125222 -L 438.68651 243.284211 -L 441.434483 239.886638 -L 443.870364 243.284211 -L 441.434483 251.125222 -" style="fill:none;stroke:#0028ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 87.393103 234.07409 -L 81.70209 225.094737 -L 87.393103 220.280885 -L 91.210344 225.094737 -L 87.393103 234.07409 -" style="fill:none;stroke:#0028ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 195.144828 231.530121 -L 191.682152 225.094737 -L 195.144828 222.21933 -L 196.7637 225.094737 -L 195.144828 231.530121 -" style="fill:none;stroke:#0028ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 133.572414 194.509043 -L 122.521075 188.715789 -L 133.572414 181.427778 -L 138.565214 188.715789 -L 133.572414 194.509043 -" style="fill:none;stroke:#0028ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 164.358621 195.441007 -L 163.342775 188.715789 -L 164.358621 186.9042 -L 165.445993 188.715789 -L 164.358621 195.441007 -" style="fill:none;stroke:#0028ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 472.22069 191.339084 -L 469.39018 188.715789 -L 472.22069 183.5601 -L 474.961593 188.715789 -L 472.22069 191.339084 -" style="fill:none;stroke:#0028ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 379.862069 172.436986 -L 379.276349 170.526316 -L 379.862069 163.432921 -L 380.586229 170.526316 -L 379.862069 172.436986 -" style="fill:none;stroke:#0028ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 410.648276 173.820253 -L 406.829978 170.526316 -L 410.648276 164.400102 -L 418.832135 170.526316 -L 410.648276 173.820253 -" style="fill:none;stroke:#0028ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 456.827586 171.434809 -L 456.312634 170.526316 -L 456.827586 170.085682 -L 458.128265 170.526316 -L 456.827586 171.434809 -" style="fill:none;stroke:#0028ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 118.17931 152.490006 -L 117.978534 152.336842 -L 118.17931 152.164645 -L 118.370751 152.336842 -L 118.17931 152.490006 -" style="fill:none;stroke:#0028ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 287.503448 154.023074 -L 286.28249 152.336842 -L 287.503448 148.492479 -L 288.724873 152.336842 -L 287.503448 154.023074 -" style="fill:none;stroke:#0028ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 102.786207 139.314332 -L 99.941991 134.147368 -L 102.786207 130.629969 -L 106.21829 134.147368 -L 102.786207 139.314332 -" style="fill:none;stroke:#0028ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 179.751724 139.489112 -L 174.988084 134.147368 -L 174.408211 115.957895 -L 179.751724 111.986354 -L 183.608053 115.957895 -L 187.834774 134.147368 -L 179.751724 139.489112 -" style="fill:none;stroke:#0028ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 349.075862 120.012568 -L 341.987945 115.957895 -L 349.075862 106.099677 -L 353.248919 115.957895 -L 349.075862 120.012568 -" style="fill:none;stroke:#0028ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 379.862069 120.629941 -L 377.035747 115.957895 -L 379.862069 112.800838 -L 384.201946 115.957895 -L 379.862069 120.629941 -" style="fill:none;stroke:#0028ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 148.965517 101.87416 -L 144.34691 97.768421 -L 148.965517 90.987006 -L 152.863205 97.768421 -L 148.965517 101.87416 -" style="fill:none;stroke:#0028ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 472.22069 97.969522 -L 471.742886 97.768421 -L 472.22069 97.335445 -L 479.964969 97.768421 -L 472.22069 97.969522 -" style="fill:none;stroke:#0028ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 118.17931 83.920758 -L 109.26328 79.578947 -L 118.17931 77.656003 -L 122.515559 79.578947 -L 118.17931 83.920758 -" style="fill:none;stroke:#0028ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 256.717241 80.110069 -L 255.089671 79.578947 -L 256.717241 79.015878 -L 258.295285 79.578947 -L 256.717241 80.110069 -" style="fill:none;stroke:#0028ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 349.075862 89.936265 -L 345.943499 79.578947 -L 349.075862 65.877363 -L 352.739329 79.578947 -L 349.075862 89.936265 -" style="fill:none;stroke:#0028ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 379.862069 84.015472 -L 376.689846 79.578947 -L 379.862069 76.842075 -L 383.589864 79.578947 -L 379.862069 84.015472 -" style="fill:none;stroke:#0028ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 179.751724 66.226265 -L 175.692533 61.389474 -L 179.751724 49.280796 -L 183.698945 61.389474 -L 179.751724 66.226265 -" style="fill:none;stroke:#0028ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 318.289655 65.600401 -L 315.077491 61.389474 -L 318.289655 54.916037 -L 323.222751 61.389474 -L 318.289655 65.600401 -" style="fill:none;stroke:#0028ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 426.041379 63.178089 -L 424.627451 61.389474 -L 426.041379 56.654838 -L 428.69674 61.389474 -L 426.041379 63.178089 -" style="fill:none;stroke:#0028ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - </g> - <g id="LineCollection_3"> - <path clip-path="url(#p507bfaed5c)" d="M 148.006286 388.8 -L 148.965517 385.955509 -L 150.381365 388.8 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 363.755525 388.8 -L 364.468966 387.265791 -L 377.70963 370.610526 -L 375.259826 352.421053 -L 379.862069 350.23097 -L 382.582715 352.421053 -L 381.008016 370.610526 -L 388.277176 388.8 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 454.122862 388.8 -L 456.827586 382.477919 -L 463.542176 388.8 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 72 202.419024 -L 74.62999 206.905263 -L 72 212.307234 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 72 113.421493 -L 74.09055 115.957895 -L 72 118.292192 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 95.884296 43.2 -L 93.899949 61.389474 -L 87.393103 64.266049 -L 82.970474 61.389474 -L 80.451678 43.2 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 184.714772 43.2 -L 186.991091 61.389474 -L 179.751724 70.26035 -L 172.306998 61.389474 -L 164.358621 43.254327 -L 164.162569 43.2 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 239.654751 43.2 -L 225.931034 53.102343 -L 220.183707 43.2 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 259.434782 43.2 -L 256.717241 46.168312 -L 245.818101 43.2 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 374.101378 43.2 -L 364.468966 61.083526 -L 363.460178 61.389474 -L 356.547572 79.578947 -L 352.645727 97.768421 -L 358.096941 115.957895 -L 349.075862 124.72306 -L 333.753601 115.957895 -L 342.413916 97.768421 -L 342.687348 79.578947 -L 342.911628 61.389474 -L 349.075862 50.959233 -L 351.44021 43.2 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 429.086479 43.2 -L 440.396759 61.389474 -L 441.434483 63.733346 -L 452.070162 79.578947 -L 441.434483 88.938455 -L 435.942734 79.578947 -L 426.041379 71.059062 -L 418.39742 61.389474 -L 420.983858 43.2 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 505.672675 43.2 -L 503.006897 45.721855 -L 500.198595 43.2 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 102.786207 371.466008 -L 101.71879 370.610526 -L 102.340076 352.421053 -L 102.786207 352.186944 -L 118.17931 346.187578 -L 125.669093 352.421053 -L 129.310608 370.610526 -L 118.17931 375.698078 -L 102.786207 371.466008 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 225.931034 374.401454 -L 220.804066 370.610526 -L 225.931034 368.067245 -L 241.324138 363.329833 -L 256.717241 364.817665 -L 260.531881 370.610526 -L 256.717241 377.291726 -L 241.324138 374.534206 -L 225.931034 374.401454 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 318.289655 373.608883 -L 309.734671 370.610526 -L 312.430173 352.421053 -L 318.289655 349.604289 -L 322.022477 352.421053 -L 321.722633 370.610526 -L 318.289655 373.608883 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 349.075862 378.293265 -L 343.836891 370.610526 -L 349.075862 359.243055 -L 358.017336 370.610526 -L 349.075862 378.293265 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 426.041379 386.40076 -L 417.29418 370.610526 -L 420.380237 352.421053 -L 426.041379 348.535189 -L 429.788475 352.421053 -L 431.125427 370.610526 -L 426.041379 386.40076 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 164.358621 357.700175 -L 153.955537 352.421053 -L 164.358621 343.217124 -L 170.464425 352.421053 -L 164.358621 357.700175 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 195.144828 356.174529 -L 193.939311 352.421053 -L 195.144828 350.533912 -L 196.866658 352.421053 -L 195.144828 356.174529 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 272.110345 354.903866 -L 269.291187 352.421053 -L 272.110345 348.832825 -L 276.198698 352.421053 -L 272.110345 354.903866 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 503.006897 363.705432 -L 498.328413 352.421053 -L 503.006897 349.498003 -L 504.967989 352.421053 -L 503.006897 363.705432 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 241.324138 340.978492 -L 238.714436 334.231579 -L 241.324138 328.951555 -L 256.717241 319.876398 -L 259.950548 334.231579 -L 256.717241 337.782733 -L 241.324138 340.978492 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 287.503448 338.539461 -L 284.822714 334.231579 -L 287.503448 321.599521 -L 289.346245 334.231579 -L 287.503448 338.539461 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 410.648276 335.070883 -L 410.114994 334.231579 -L 410.648276 333.148143 -L 410.988353 334.231579 -L 410.648276 335.070883 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 87.393103 318.387628 -L 84.270306 316.042105 -L 87.393103 314.105938 -L 90.690598 316.042105 -L 87.393103 318.387628 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 364.468966 318.1134 -L 361.43947 316.042105 -L 364.468966 312.261524 -L 379.862069 310.829417 -L 385.373479 316.042105 -L 379.862069 319.78557 -L 364.468966 318.1134 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 472.22069 317.145382 -L 471.285632 316.042105 -L 472.185346 297.852632 -L 472.22069 297.773025 -L 472.681654 297.852632 -L 473.076267 316.042105 -L 472.22069 317.145382 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 503.006897 320.904358 -L 499.742751 316.042105 -L 503.006897 305.135134 -L 512.302465 316.042105 -L 503.006897 320.904358 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 118.17931 298.076014 -L 113.19703 297.852632 -L 104.309958 279.663158 -L 118.17931 264.927137 -L 125.870922 279.663158 -L 118.738347 297.852632 -L 118.17931 298.076014 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 179.751724 299.590927 -L 177.798911 297.852632 -L 179.751724 293.354953 -L 195.144828 282.358186 -L 202.681827 297.852632 -L 195.144828 301.32576 -L 179.751724 299.590927 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 287.503448 310.977779 -L 282.515757 297.852632 -L 287.503448 293.427405 -L 290.667415 297.852632 -L 287.503448 310.977779 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 318.289655 300.162244 -L 316.618848 297.852632 -L 318.289655 295.79744 -L 333.682759 292.132437 -L 337.877846 297.852632 -L 333.682759 307.989014 -L 318.289655 300.162244 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 441.434483 299.099418 -L 432.025396 297.852632 -L 441.434483 295.307947 -L 443.53592 297.852632 -L 441.434483 299.099418 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 87.393103 283.049513 -L 78.72449 279.663158 -L 87.393103 273.48289 -L 99.494685 279.663158 -L 87.393103 283.049513 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 148.965517 295.206869 -L 143.422386 279.663158 -L 148.965517 267.42414 -L 164.358621 274.571415 -L 168.409817 279.663158 -L 164.358621 282.144792 -L 148.965517 295.206869 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 225.931034 290.942136 -L 223.255808 279.663158 -L 223.303794 261.473684 -L 225.931034 259.553211 -L 229.866481 261.473684 -L 230.794525 279.663158 -L 225.931034 290.942136 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 272.110345 284.99542 -L 267.090813 279.663158 -L 272.110345 275.604278 -L 275.460351 279.663158 -L 272.110345 284.99542 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 456.827586 286.128102 -L 451.256031 279.663158 -L 456.827586 273.466725 -L 464.723638 279.663158 -L 456.827586 286.128102 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 133.572414 263.147532 -L 128.921054 261.473684 -L 133.572414 257.338866 -L 139.10121 243.284211 -L 148.965517 230.88466 -L 153.733133 243.284211 -L 148.965517 255.870803 -L 137.733137 261.473684 -L 133.572414 263.147532 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 287.503448 268.001895 -L 281.864677 261.473684 -L 287.503448 255.437537 -L 294.612392 261.473684 -L 287.503448 268.001895 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 379.862069 272.234481 -L 371.763328 261.473684 -L 376.535245 243.284211 -L 379.862069 230.670975 -L 388.638278 243.284211 -L 390.183129 261.473684 -L 379.862069 272.234481 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 441.434483 265.080387 -L 437.947242 261.473684 -L 432.149163 243.284211 -L 441.434483 231.803909 -L 449.665255 243.284211 -L 444.264465 261.473684 -L 441.434483 265.080387 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 487.613793 278.816894 -L 482.129384 261.473684 -L 487.613793 250.771181 -L 495.445164 261.473684 -L 487.613793 278.816894 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 195.144828 243.363324 -L 195.036154 243.284211 -L 185.250204 225.094737 -L 195.144828 216.878238 -L 199.77077 225.094737 -L 210.537931 239.851134 -L 215.699387 243.284211 -L 210.537931 251.795787 -L 195.144828 243.363324 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 333.682759 249.852324 -L 320.030831 243.284211 -L 333.682759 239.194388 -L 349.075862 237.018147 -L 354.570666 243.284211 -L 349.075862 257.733191 -L 333.682759 249.852324 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 87.393103 240.200243 -L 77.819402 225.094737 -L 87.393103 216.996641 -L 93.814652 225.094737 -L 87.393103 240.200243 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 318.289655 239.050457 -L 316.007316 225.094737 -L 318.289655 220.647413 -L 319.962768 225.094737 -L 318.289655 239.050457 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 426.041379 229.78932 -L 424.851566 225.094737 -L 424.840566 206.905263 -L 426.041379 198.696938 -L 441.434483 194.035341 -L 447.943828 206.905263 -L 441.434483 213.269145 -L 430.372726 225.094737 -L 426.041379 229.78932 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 164.358621 212.22139 -L 154.94416 206.905263 -L 158.129656 188.715789 -L 164.358621 177.607474 -L 171.026174 188.715789 -L 179.751724 201.373323 -L 183.876065 206.905263 -L 179.751724 214.986194 -L 164.358621 212.22139 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 256.717241 220.578488 -L 254.435225 206.905263 -L 256.717241 193.363237 -L 259.998117 188.715789 -L 272.110345 180.907679 -L 280.354407 188.715789 -L 272.110345 204.29679 -L 269.416694 206.905263 -L 256.717241 220.578488 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 395.255172 207.617191 -L 393.113558 206.905263 -L 380.681394 188.715789 -L 379.862069 188.017471 -L 374.500118 170.526316 -L 364.468966 152.419269 -L 364.279863 152.336842 -L 364.468966 152.179803 -L 379.862069 141.150633 -L 384.291493 152.336842 -L 386.491361 170.526316 -L 395.255172 182.359278 -L 398.758548 188.715789 -L 395.439081 206.905263 -L 395.255172 207.617191 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 87.393103 191.200692 -L 84.300822 188.715789 -L 87.393103 182.784197 -L 90.444309 188.715789 -L 87.393103 191.200692 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 118.17931 202.578313 -L 115.160041 188.715789 -L 118.17931 184.133575 -L 133.572414 175.923094 -L 142.33631 188.715789 -L 133.572414 198.884727 -L 118.17931 202.578313 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 472.22069 199.972973 -L 460.074296 188.715789 -L 456.827586 184.249647 -L 449.048934 170.526316 -L 456.827586 163.870289 -L 472.22069 168.038478 -L 487.613793 162.954379 -L 490.928449 170.526316 -L 487.613793 182.822125 -L 483.98256 188.715789 -L 472.22069 199.972973 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 210.537931 172.666664 -L 204.668766 170.526316 -L 210.537931 167.513863 -L 214.122795 170.526316 -L 210.537931 172.666664 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 241.324138 177.034692 -L 238.989926 170.526316 -L 231.923074 152.336842 -L 231.328881 134.147368 -L 235.356911 115.957895 -L 241.324138 110.785545 -L 246.425214 115.957895 -L 245.478399 134.147368 -L 243.907128 152.336842 -L 242.944393 170.526316 -L 241.324138 177.034692 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 333.682759 178.6413 -L 328.324756 170.526316 -L 333.682759 161.924406 -L 342.381236 170.526316 -L 333.682759 178.6413 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 410.648276 177.839919 -L 402.170422 170.526316 -L 410.648276 156.924143 -L 426.041379 165.396942 -L 429.269115 170.526316 -L 426.041379 182.678213 -L 410.648276 177.839919 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 118.17931 159.927794 -L 108.228677 152.336842 -L 102.786207 147.671683 -L 95.341589 134.147368 -L 102.786207 124.940721 -L 111.769543 134.147368 -L 118.17931 143.802611 -L 127.667248 152.336842 -L 118.17931 159.927794 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 287.503448 162.027096 -L 280.486979 152.336842 -L 285.392968 134.147368 -L 287.503448 127.501238 -L 289.551652 134.147368 -L 294.522596 152.336842 -L 287.503448 162.027096 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 179.751724 143.238766 -L 171.644232 134.147368 -L 167.300601 115.957895 -L 179.751724 106.703656 -L 188.737502 115.957895 -L 193.508696 134.147368 -L 179.751724 143.238766 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 395.255172 137.483394 -L 388.015368 134.147368 -L 379.862069 129.605872 -L 371.60582 115.957895 -L 379.862069 106.735505 -L 392.539714 115.957895 -L 395.255172 123.602159 -L 400.409015 134.147368 -L 395.255172 137.483394 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 487.613793 136.852959 -L 485.831908 134.147368 -L 487.037527 115.957895 -L 472.22069 102.899301 -L 460.030045 97.768421 -L 472.22069 86.721518 -L 487.613793 87.688984 -L 503.006897 90.704037 -L 505.359735 97.768421 -L 503.006897 100.756906 -L 488.24466 115.957895 -L 501.537576 134.147368 -L 487.613793 136.852959 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 318.289655 117.596134 -L 317.557164 115.957895 -L 318.289655 106.289153 -L 333.049823 115.957895 -L 318.289655 117.596134 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 102.786207 99.210476 -L 101.922415 97.768421 -L 99.760031 79.578947 -L 102.786207 70.69918 -L 118.17931 73.482772 -L 131.926212 79.578947 -L 118.17931 93.343482 -L 106.242124 97.768421 -L 102.786207 99.210476 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 148.965517 104.985691 -L 140.846702 97.768421 -L 148.965517 85.847717 -L 155.817064 97.768421 -L 148.965517 104.985691 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 225.931034 105.930539 -L 223.100503 97.768421 -L 225.931034 92.587883 -L 231.136122 97.768421 -L 225.931034 105.930539 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 241.324138 83.231443 -L 238.803201 79.578947 -L 241.324138 77.541251 -L 256.717241 73.469644 -L 272.110345 76.974501 -L 273.321165 79.578947 -L 272.110345 80.318932 -L 256.717241 85.341622 -L 241.324138 83.231443 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 302.896552 81.559536 -L 301.688881 79.578947 -L 302.896552 78.840907 -L 303.64468 79.578947 -L 302.896552 81.559536 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 379.862069 89.564561 -L 372.722112 79.578947 -L 379.862069 73.418868 -L 388.252493 79.578947 -L 379.862069 89.564561 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 318.289655 70.008747 -L 311.714734 61.389474 -L 318.289655 48.139112 -L 328.387122 61.389474 -L 318.289655 70.008747 -" style="fill:none;stroke:#00d4ff;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - </g> - <g id="LineCollection_4"> - <path clip-path="url(#p507bfaed5c)" d="M 143.677571 388.8 -L 148.965517 373.119205 -L 156.770645 388.8 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 177.636452 388.8 -L 179.751724 386.76629 -L 191.394348 370.610526 -L 184.951166 352.421053 -L 195.144828 336.463682 -L 209.704357 352.421053 -L 210.537931 355.088277 -L 225.931034 359.881364 -L 241.324138 353.935662 -L 256.717241 359.70408 -L 263.899212 370.610526 -L 256.717241 383.189482 -L 241.324138 379.596873 -L 225.931034 386.603049 -L 210.537931 378.323695 -L 198.237091 388.8 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 331.824265 388.8 -L 333.682759 385.002385 -L 338.687379 370.610526 -L 333.682759 360.183834 -L 327.788027 370.610526 -L 318.289655 378.906387 -L 302.896552 380.935573 -L 287.503448 380.332766 -L 284.314926 370.610526 -L 287.503448 360.445649 -L 293.200249 352.421053 -L 302.896552 347.681977 -L 315.588666 334.231579 -L 318.289655 326.633682 -L 329.597643 316.042105 -L 318.289655 309.390759 -L 309.942805 297.852632 -L 318.289655 287.585515 -L 333.682759 285.988059 -L 342.384022 297.852632 -L 338.988625 316.042105 -L 337.99135 334.231579 -L 349.075862 349.884919 -L 362.117818 352.421053 -L 364.468966 356.220222 -L 365.176857 352.421053 -L 379.862069 345.432758 -L 388.543326 352.421053 -L 390.610932 370.610526 -L 392.117521 388.8 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 353.204747 388.8 -L 349.075862 385.844817 -L 339.776669 388.8 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 418.930577 388.8 -L 410.648276 377.366633 -L 401.889437 370.610526 -L 410.648276 361.095334 -L 414.228858 352.421053 -L 410.648276 346.037579 -L 403.146913 334.231579 -L 410.648276 318.991522 -L 415.431944 334.231579 -L 426.041379 344.312822 -L 433.860057 352.421053 -L 441.434483 370.272483 -L 442.384753 370.610526 -L 441.434483 370.833605 -L 429.834383 388.8 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 450.81618 388.8 -L 456.827586 374.748807 -L 471.751151 388.8 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 475.244466 388.8 -L 487.613793 381.846593 -L 489.289027 388.8 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 518.4 374.211897 -L 503.006897 375.934682 -L 492.583916 370.610526 -L 487.613793 359.205381 -L 485.575379 352.421053 -L 485.449075 334.231579 -L 487.613793 332.014996 -L 490.716275 334.231579 -L 503.006897 340.86119 -L 510.762483 352.421053 -L 518.4 365.954794 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 72 324.824764 -L 75.817704 334.231579 -L 87.393103 348.286988 -L 102.786207 337.940541 -L 118.17931 340.80393 -L 132.137773 352.421053 -L 133.572414 358.56431 -L 138.28772 352.421053 -L 148.965517 345.827326 -L 164.358621 334.347987 -L 176.348131 352.421053 -L 164.358621 362.78727 -L 148.965517 365.515108 -L 144.1928 370.610526 -L 133.572414 373.466958 -L 118.17931 379.14494 -L 102.786207 379.262094 -L 91.991313 370.610526 -L 87.393103 361.286369 -L 72 367.204211 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 518.4 322.109481 -L 503.006897 328.444088 -L 494.681153 316.042105 -L 487.613793 304.795388 -L 479.142997 316.042105 -L 472.22069 324.9685 -L 464.655324 316.042105 -L 463.892788 297.852632 -L 456.827586 292.458865 -L 450.712872 297.852632 -L 441.434483 303.357519 -L 426.041379 307.060476 -L 419.395318 297.852632 -L 426.041379 288.787402 -L 441.434483 286.617191 -L 445.800113 279.663158 -L 441.434483 273.181187 -L 430.11476 261.473684 -L 426.041379 245.32462 -L 419.362659 261.473684 -L 410.648276 267.485397 -L 398.006989 279.663158 -L 395.255172 287.464856 -L 379.862069 284.868593 -L 376.530404 279.663158 -L 364.468966 264.222372 -L 349.075862 265.409442 -L 337.991377 261.473684 -L 333.682759 258.85955 -L 318.289655 258.246432 -L 310.425944 243.284211 -L 308.56248 225.094737 -L 313.534784 206.905263 -L 302.896552 202.325137 -L 299.865941 206.905263 -L 287.503448 217.335114 -L 272.110345 212.767779 -L 261.497652 225.094737 -L 256.717241 240.188234 -L 253.672829 243.284211 -L 256.717241 247.548197 -L 261.454261 243.284211 -L 272.110345 240.154179 -L 276.972957 243.284211 -L 287.503448 248.918993 -L 302.289468 261.473684 -L 302.896552 266.374287 -L 305.695796 279.663158 -L 302.896552 282.73463 -L 296.617019 297.852632 -L 294.961955 316.042105 -L 293.297317 334.231579 -L 287.503448 347.775832 -L 283.72052 352.421053 -L 272.110345 359.471788 -L 264.104453 352.421053 -L 256.717241 343.821019 -L 241.324138 350.832331 -L 234.902976 334.231579 -L 241.324138 321.2401 -L 248.163989 316.042105 -L 256.717241 308.488153 -L 271.416495 316.042105 -L 265.448375 334.231579 -L 272.110345 342.231141 -L 279.075051 334.231579 -L 272.84419 316.042105 -L 273.136772 297.852632 -L 272.110345 296.58435 -L 256.717241 280.385856 -L 254.743301 279.663158 -L 241.324138 271.739412 -L 238.688891 279.663158 -L 229.089041 297.852632 -L 234.983671 316.042105 -L 225.931034 321.320664 -L 215.865109 316.042105 -L 210.537931 307.274005 -L 195.144828 309.322172 -L 179.751724 304.558701 -L 172.218078 297.852632 -L 164.358621 288.667182 -L 154.670734 297.852632 -L 164.358621 310.974064 -L 167.290819 316.042105 -L 164.358621 333.803018 -L 148.965517 319.220976 -L 133.572414 328.063622 -L 128.282063 316.042105 -L 118.17931 304.835311 -L 102.786207 310.840924 -L 98.122402 297.852632 -L 87.393103 287.761364 -L 72.589616 297.852632 -L 72 300.64411 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 518.4 295.103017 -L 517.83118 297.852632 -L 518.4 298.516294 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 72 274.569738 -L 87.393103 264.883527 -L 102.786207 271.476082 -L 112.448195 261.473684 -L 102.786207 245.913677 -L 87.393103 253.397949 -L 72 250.776149 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 72 232.097689 -L 73.936715 225.094737 -L 72 220.839016 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 72 195.333534 -L 77.940473 188.715789 -L 87.393103 170.583824 -L 96.720171 188.715789 -L 87.393103 196.311753 -L 78.783753 206.905263 -L 87.393103 213.712396 -L 96.41896 225.094737 -L 102.786207 242.12707 -L 118.17931 235.409834 -L 123.939249 225.094737 -L 118.17931 218.465025 -L 102.786207 207.941552 -L 101.762215 206.905263 -L 102.786207 204.494111 -L 108.867939 188.715789 -L 118.17931 174.584328 -L 132.893661 170.526316 -L 118.17931 167.365582 -L 102.786207 157.33866 -L 87.393103 170.223416 -L 83.054102 152.336842 -L 87.393103 147.304733 -L 90.741187 134.147368 -L 102.786207 119.251474 -L 117.320796 134.147368 -L 118.17931 135.440577 -L 125.682256 134.147368 -L 133.572414 129.101481 -L 142.51086 134.147368 -L 148.965517 136.145111 -L 156.203761 152.336842 -L 148.965517 167.352927 -L 134.939245 170.526316 -L 146.107406 188.715789 -L 148.965517 199.051522 -L 152.916537 188.715789 -L 156.011345 170.526316 -L 164.358621 167.219086 -L 179.751724 165.850318 -L 195.144828 167.718325 -L 210.537931 160.166671 -L 219.581045 152.336842 -L 216.177112 134.147368 -L 210.537931 118.829748 -L 205.587282 134.147368 -L 195.144828 139.233833 -L 179.751724 146.988421 -L 168.300379 134.147368 -L 164.358621 121.998217 -L 161.460009 115.957895 -L 164.358621 111.655389 -L 179.751724 101.420958 -L 193.970005 97.768421 -L 195.144828 95.249111 -L 197.787559 97.768421 -L 195.144828 101.161551 -L 193.866952 115.957895 -L 195.144828 120.674403 -L 207.420949 115.957895 -L 210.537931 112.562787 -L 213.252407 97.768421 -L 224.187465 79.578947 -L 225.931034 69.103601 -L 241.324138 63.125192 -L 256.717241 67.92341 -L 268.706296 61.389474 -L 272.110345 56.765088 -L 281.132393 43.2 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 518.4 135.244607 -L 503.006897 140.329712 -L 487.613793 150.001891 -L 477.172102 134.147368 -L 481.44399 115.957895 -L 472.22069 107.829079 -L 456.827586 104.478592 -L 441.434483 100.797647 -L 430.503077 115.957895 -L 426.041379 130.238071 -L 415.36858 134.147368 -L 426.041379 142.40922 -L 427.869168 152.336842 -L 440.874099 170.526316 -L 441.434483 171.543315 -L 441.785234 170.526316 -L 456.827586 157.654896 -L 472.22069 157.309882 -L 487.613793 153.937954 -L 494.875436 170.526316 -L 503.006897 184.615439 -L 509.718985 188.715789 -L 509.589288 206.905263 -L 510.997437 225.094737 -L 514.727845 243.284211 -L 503.006897 250.955505 -L 500.378369 261.473684 -L 498.773992 279.663158 -L 503.006897 286.58631 -L 514.403864 279.663158 -L 518.4 277.359714 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 72 105.452541 -L 80.658707 115.957895 -L 72 125.626164 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 518.4 80.995156 -L 510.324079 97.768421 -L 503.006897 107.062428 -L 494.368183 115.957895 -L 503.006897 126.698938 -L 518.4 130.836096 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 102.481059 43.2 -L 102.786207 45.612376 -L 104.902594 61.389474 -L 118.17931 69.309541 -L 130.460918 61.389474 -L 133.572414 54.210083 -L 143.092927 43.2 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 196.740646 43.2 -L 195.144828 45.016324 -L 190.283238 61.389474 -L 179.751724 74.294436 -L 168.921464 61.389474 -L 164.358621 50.978818 -L 153.454259 61.389474 -L 148.965517 74.417924 -L 145.727714 79.578947 -L 148.965517 80.708428 -L 158.770923 97.768421 -L 148.965517 108.097221 -L 137.346495 97.768421 -L 133.572414 87.463923 -L 123.254682 97.768421 -L 118.17931 108.740794 -L 102.786207 109.817406 -L 95.568855 97.768421 -L 95.211201 79.578947 -L 87.393103 69.898472 -L 74.310827 61.389474 -L 75.05892 43.2 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 265.832714 43.2 -L 256.717241 53.156634 -L 241.324138 59.07262 -L 225.931034 59.980139 -L 222.760304 61.389474 -L 210.537931 66.229922 -L 205.173648 61.389474 -L 210.537931 54.877234 -L 216.191828 43.2 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 323.331647 43.2 -L 333.551492 61.389474 -L 318.289655 74.417092 -L 310.390631 79.578947 -L 318.289655 90.259635 -L 333.682759 92.913323 -L 339.431198 79.578947 -L 333.911521 61.389474 -L 341.866251 43.2 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 377.532117 43.2 -L 368.696768 61.389474 -L 379.862069 69.99566 -L 392.915121 79.578947 -L 395.255172 96.33902 -L 395.721385 97.768421 -L 410.648276 112.303202 -L 423.331768 97.768421 -L 426.041379 83.523478 -L 426.783888 79.578947 -L 426.041379 78.940036 -L 412.167389 61.389474 -L 410.648276 52.83153 -L 405.516937 43.2 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 437.663119 43.2 -L 441.434483 49.120197 -L 453.558764 61.389474 -L 456.827586 65.961504 -L 472.22069 71.858038 -L 487.613793 75.430772 -L 503.006897 62.131406 -L 518.4 76.440698 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 518.4 47.803844 -L 503.006897 61.222303 -L 487.613793 47.929062 -L 472.22069 53.565844 -L 463.701281 43.2 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 441.434483 337.00728 -L 439.540417 334.231579 -L 441.434483 332.392813 -L 445.288344 334.231579 -L 441.434483 337.00728 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 87.393103 324.654874 -L 75.926178 316.042105 -L 87.393103 308.932491 -L 99.501517 316.042105 -L 87.393103 324.654874 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 364.468966 323.767625 -L 353.169544 316.042105 -L 364.468966 301.941286 -L 379.862069 304.796715 -L 391.751894 316.042105 -L 379.862069 324.117923 -L 364.468966 323.767625 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 133.572414 295.378071 -L 137.893475 279.663158 -L 133.572414 272.417957 -L 130.193865 279.663158 -L 133.572414 295.378071 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 179.751724 280.501298 -L 180.765939 279.663158 -L 195.144828 275.177384 -L 200.132246 279.663158 -L 210.537931 293.832247 -L 218.91341 279.663158 -L 210.537931 261.958545 -L 210.255311 261.473684 -L 195.144828 248.099128 -L 188.530821 243.284211 -L 179.751724 226.860924 -L 176.821147 225.094737 -L 164.358621 220.181771 -L 155.767844 225.094737 -L 158.087102 243.284211 -L 164.358621 261.208929 -L 165.019942 261.473684 -L 179.057432 279.663158 -L 179.751724 280.501298 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 287.503448 285.106093 -L 299.096116 279.663158 -L 287.503448 275.051827 -L 282.741125 279.663158 -L 287.503448 285.106093 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 272.110345 266.782867 -L 275.775267 261.473684 -L 272.110345 250.537387 -L 264.268137 261.473684 -L 272.110345 266.782867 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 456.827586 267.398901 -L 472.22069 279.371825 -L 478.674597 261.473684 -L 487.613793 244.029367 -L 491.022414 243.284211 -L 496.747997 225.094737 -L 499.343954 206.905263 -L 487.613793 191.894969 -L 473.225906 206.905263 -L 472.22069 218.13459 -L 456.827586 210.825009 -L 443.07859 225.094737 -L 455.460147 243.284211 -L 450.620719 261.473684 -L 456.827586 267.398901 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 225.931034 249.701159 -L 233.243597 243.284211 -L 241.324138 236.721843 -L 250.495623 225.094737 -L 248.849335 206.905263 -L 241.324138 194.10191 -L 236.738399 188.715789 -L 229.320628 170.526316 -L 225.931034 164.723663 -L 222.866063 170.526316 -L 210.537931 177.886845 -L 199.637583 188.715789 -L 195.144828 197.746086 -L 189.911125 206.905263 -L 195.144828 211.537146 -L 202.777839 225.094737 -L 210.537931 235.729945 -L 221.895387 243.284211 -L 225.931034 249.701159 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 364.468966 256.37211 -L 369.69097 243.284211 -L 374.852458 225.094737 -L 364.468966 208.290371 -L 349.075862 208.396992 -L 333.682759 210.388717 -L 325.420351 225.094737 -L 333.682759 233.585782 -L 349.075862 230.615535 -L 360.185212 243.284211 -L 364.468966 256.37211 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 225.931034 228.278174 -L 225.148718 225.094737 -L 210.537931 208.210331 -L 207.659464 206.905263 -L 210.537931 205.309684 -L 225.931034 204.882356 -L 227.629899 206.905263 -L 227.435893 225.094737 -L 225.931034 228.278174 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 410.648276 239.544288 -L 421.190826 225.094737 -L 414.274108 206.905263 -L 420.874456 188.715789 -L 410.648276 181.859586 -L 403.152931 188.715789 -L 406.762646 206.905263 -L 397.913933 225.094737 -L 410.648276 239.544288 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 133.572414 216.096372 -L 142.673361 206.905263 -L 133.572414 203.260411 -L 125.954711 206.905263 -L 133.572414 216.096372 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 179.751724 193.278553 -L 185.867684 188.715789 -L 179.751724 179.01797 -L 176.606354 188.715789 -L 179.751724 193.278553 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 333.682759 195.141439 -L 349.075862 205.154181 -L 364.468966 202.633932 -L 369.301319 188.715789 -L 369.723887 170.526316 -L 364.468966 161.040754 -L 352.005621 170.526316 -L 349.075862 175.317949 -L 333.682759 187.065633 -L 329.056424 188.715789 -L 333.682759 195.141439 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 256.717241 180.535561 -L 268.590981 170.526316 -L 272.110345 163.035586 -L 274.691468 152.336842 -L 275.525408 134.147368 -L 276.190357 115.957895 -L 287.503448 113.098922 -L 290.158403 115.957895 -L 299.128038 134.147368 -L 300.32032 152.336842 -L 287.503448 170.031117 -L 284.954954 170.526316 -L 287.503448 172.362073 -L 302.896552 182.1289 -L 318.289655 182.134906 -L 322.762503 170.526316 -L 333.682759 152.994586 -L 337.400483 152.336842 -L 349.075862 148.921698 -L 364.468966 135.754206 -L 367.013199 134.147368 -L 366.175893 115.957895 -L 364.468966 102.068356 -L 362.944963 115.957895 -L 349.075862 129.433551 -L 333.682759 134.026791 -L 318.289655 125.761591 -L 313.90622 115.957895 -L 302.896552 98.309228 -L 302.485769 97.768421 -L 290.799187 79.578947 -L 287.503448 74.792741 -L 284.208442 79.578947 -L 272.110345 86.972624 -L 256.717241 90.573176 -L 245.03853 97.768421 -L 256.717241 110.768702 -L 267.61198 115.957895 -L 256.717241 122.064693 -L 250.865619 134.147368 -L 250.448477 152.336842 -L 249.65618 170.526316 -L 256.717241 180.535561 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 395.255172 174.386124 -L 397.510866 170.526316 -L 406.359311 152.336842 -L 395.255172 144.908735 -L 389.772312 152.336842 -L 392.396494 170.526316 -L 395.255172 174.386124 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 456.827586 136.76583 -L 455.039526 134.147368 -L 456.827586 132.260265 -L 459.922415 134.147368 -L 456.827586 136.76583 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 379.862069 100.670171 -L 393.991079 97.768421 -L 379.862069 95.113651 -L 367.070919 97.768421 -L 379.862069 100.670171 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 364.468966 96.264943 -L 368.754378 79.578947 -L 364.468966 69.910881 -L 360.355814 79.578947 -L 364.468966 96.264943 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 302.896552 72.185915 -L 308.351977 61.389474 -L 302.896552 48.040674 -L 292.785634 61.389474 -L 302.896552 72.185915 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 395.255172 63.207849 -L 394.921266 61.389474 -L 395.255172 59.712255 -L 398.119427 61.389474 -L 395.255172 63.207849 -" style="fill:none;stroke:#7dff7a;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - </g> - <g id="LineCollection_5"> - <path clip-path="url(#p507bfaed5c)" d="M 82.880424 388.8 -L 72 377.902261 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 139.348856 388.8 -L 133.572414 380.035125 -L 118.17931 382.591801 -L 102.786207 387.058179 -L 98.030895 388.8 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 166.456161 388.8 -L 179.751724 376.017099 -L 183.647962 370.610526 -L 179.751724 360.714499 -L 164.358621 367.874364 -L 158.191145 370.610526 -L 163.159925 388.8 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 255.852095 388.8 -L 241.324138 384.659539 -L 233.637472 388.8 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 324.5772 388.8 -L 318.289655 384.203891 -L 309.082496 388.8 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 411.265649 388.8 -L 410.648276 387.947742 -L 405.943389 388.8 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 447.509497 388.8 -L 441.434483 377.166058 -L 433.922966 388.8 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 518.4 382.154465 -L 503.006897 382.649448 -L 496.448764 388.8 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 518.4 332.625213 -L 512.294926 334.231579 -L 516.556976 352.421053 -L 518.4 355.686905 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 72 263.058987 -L 74.860215 261.473684 -L 72 260.178727 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 518.4 198.835218 -L 517.061845 206.905263 -L 518.4 211.451347 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 72 140.650774 -L 77.740275 134.147368 -L 72 132.960135 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 518.4 143.196383 -L 503.006897 146.649275 -L 494.963723 152.336842 -L 498.822424 170.526316 -L 503.006897 177.776619 -L 511.804906 170.526316 -L 518.4 163.091155 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 72 93.569046 -L 73.705795 97.768421 -L 87.226865 115.957895 -L 87.393103 117.505212 -L 88.265861 115.957895 -L 89.215295 97.768421 -L 90.662371 79.578947 -L 87.393103 75.530896 -L 72 77.037462 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 518.4 91.305839 -L 515.288423 97.768421 -L 518.4 109.092491 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 206.482085 43.2 -L 210.537931 46.632637 -L 212.199949 43.2 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 272.110345 382.054403 -L 279.309908 370.610526 -L 272.110345 364.039711 -L 267.266543 370.610526 -L 272.110345 382.054403 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 256.717241 354.590495 -L 258.917718 352.421053 -L 256.717241 349.859305 -L 251.546677 352.421053 -L 256.717241 354.590495 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 395.255172 355.989636 -L 398.821718 352.421053 -L 396.178832 334.231579 -L 395.255172 330.098108 -L 379.862069 328.450276 -L 364.468966 329.421849 -L 349.075862 320.854637 -L 342.602831 334.231579 -L 349.075862 343.372673 -L 364.468966 342.922007 -L 379.862069 340.634546 -L 394.503938 352.421053 -L 395.255172 355.989636 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 441.434483 360.676566 -L 456.827586 366.003928 -L 472.22069 358.615455 -L 476.511979 352.421053 -L 474.277065 334.231579 -L 472.22069 332.791617 -L 458.025016 316.042105 -L 456.827586 306.045315 -L 441.434483 307.615619 -L 427.494019 316.042105 -L 426.041379 318.395527 -L 419.875536 334.231579 -L 426.041379 340.090456 -L 433.886562 334.231579 -L 441.434483 326.904029 -L 456.792263 334.231579 -L 441.434483 345.29285 -L 437.931639 352.421053 -L 441.434483 360.676566 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 87.393103 339.088761 -L 93.804987 334.231579 -L 87.393103 330.92212 -L 83.392948 334.231579 -L 87.393103 339.088761 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 118.17931 335.420282 -L 122.562904 334.231579 -L 122.188661 316.042105 -L 118.17931 311.594607 -L 110.298427 316.042105 -L 114.640593 334.231579 -L 118.17931 335.420282 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 179.751724 347.785071 -L 188.899396 334.231579 -L 193.474622 316.042105 -L 179.751724 309.526474 -L 172.681464 316.042105 -L 171.203871 334.231579 -L 179.751724 347.785071 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 225.931034 351.303429 -L 231.091516 334.231579 -L 225.931034 326.805478 -L 214.674293 334.231579 -L 225.931034 351.303429 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 272.110345 335.629458 -L 273.327389 334.231579 -L 272.110345 330.945158 -L 270.946203 334.231579 -L 272.110345 335.629458 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 302.896552 342.145755 -L 310.364556 334.231579 -L 302.896552 317.815807 -L 297.248389 334.231579 -L 302.896552 342.145755 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 487.613793 320.575313 -L 489.619555 316.042105 -L 487.613793 312.850216 -L 485.209728 316.042105 -L 487.613793 320.575313 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 87.393103 303.759044 -L 93.11264 297.852632 -L 87.393103 292.473214 -L 79.501712 297.852632 -L 87.393103 303.759044 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 164.358621 301.656816 -L 166.637246 297.852632 -L 164.358621 295.189573 -L 161.549895 297.852632 -L 164.358621 301.656816 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 241.324138 312.630627 -L 256.717241 299.526461 -L 259.385917 297.852632 -L 256.717241 295.103693 -L 241.324138 285.49424 -L 234.161814 297.852632 -L 241.324138 312.630627 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 302.896552 302.657852 -L 303.266763 297.852632 -L 302.896552 297.058329 -L 302.566624 297.852632 -L 302.896552 302.657852 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 349.075862 306.764061 -L 355.932791 297.852632 -L 364.468966 289.234854 -L 369.310839 279.663158 -L 364.468966 273.464699 -L 349.075862 270.680699 -L 333.682759 278.940155 -L 326.686497 279.663158 -L 333.682759 279.843681 -L 346.890199 297.852632 -L 349.075862 306.764061 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 379.862069 298.764013 -L 382.951749 297.852632 -L 379.862069 296.148531 -L 376.781522 297.852632 -L 379.862069 298.764013 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 410.648276 299.350434 -L 411.228437 297.852632 -L 421.027966 279.663158 -L 410.648276 276.344692 -L 407.203498 279.663158 -L 409.022566 297.852632 -L 410.648276 299.350434 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 210.537931 286.486062 -L 214.571012 279.663158 -L 210.537931 271.137778 -L 205.527236 279.663158 -L 210.537931 286.486062 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 195.144828 270.325033 -L 204.904831 261.473684 -L 195.144828 252.834932 -L 183.197266 261.473684 -L 195.144828 270.325033 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 472.22069 269.790921 -L 475.21981 261.473684 -L 472.22069 248.45865 -L 457.233341 261.473684 -L 472.22069 269.790921 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 164.358621 248.764789 -L 179.751724 250.545246 -L 182.025489 243.284211 -L 179.751724 239.030619 -L 164.358621 233.553228 -L 162.44107 243.284211 -L 164.358621 248.764789 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 102.786207 235.160568 -L 114.149639 225.094737 -L 102.786207 214.957484 -L 99.023268 225.094737 -L 102.786207 235.160568 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 210.537931 231.608755 -L 219.486974 225.094737 -L 210.537931 214.753112 -L 205.784909 225.094737 -L 210.537931 231.608755 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 241.324138 227.604088 -L 243.303519 225.094737 -L 243.263446 206.905263 -L 241.324138 203.60573 -L 237.795015 206.905263 -L 238.32679 225.094737 -L 241.324138 227.604088 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 272.110345 232.312645 -L 281.178205 225.094737 -L 272.110345 219.186494 -L 267.023739 225.094737 -L 272.110345 232.312645 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 333.682759 227.977177 -L 345.822549 225.094737 -L 333.682759 220.102511 -L 330.877934 225.094737 -L 333.682759 227.977177 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 364.468966 238.29612 -L 368.471678 225.094737 -L 364.468966 218.616854 -L 351.847043 225.094737 -L 364.468966 238.29612 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 410.648276 234.526901 -L 417.530086 225.094737 -L 410.648276 211.615162 -L 402.33574 225.094737 -L 410.648276 234.526901 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 456.827586 231.557973 -L 461.817936 225.094737 -L 456.827586 220.866234 -L 452.753391 225.094737 -L 456.827586 231.557973 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 87.393103 210.428152 -L 94.829535 206.905263 -L 87.393103 201.422815 -L 82.937515 206.905263 -L 87.393103 210.428152 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 487.613793 222.736014 -L 495.185656 206.905263 -L 487.613793 197.216062 -L 478.326358 206.905263 -L 487.613793 222.736014 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 210.537931 197.310462 -L 225.931034 192.778342 -L 228.646854 188.715789 -L 225.931034 182.518296 -L 210.537931 183.107026 -L 204.892185 188.715789 -L 210.537931 197.310462 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 410.648276 198.136332 -L 414.879034 188.715789 -L 410.648276 185.879252 -L 407.547314 188.715789 -L 410.648276 198.136332 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 102.786207 185.648145 -L 106.215186 170.526316 -L 102.786207 168.660378 -L 100.599368 170.526316 -L 102.786207 185.648145 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 256.717241 171.021423 -L 257.304576 170.526316 -L 256.717241 160.42534 -L 256.367966 170.526316 -L 256.717241 171.021423 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 364.468966 173.275317 -L 364.947657 170.526316 -L 364.468966 169.662239 -L 363.333631 170.526316 -L 364.468966 173.275317 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 164.358621 153.341637 -L 179.751724 156.376334 -L 195.144828 159.327922 -L 210.537931 152.819479 -L 211.095355 152.336842 -L 210.537931 150.696241 -L 195.144828 146.381358 -L 179.751724 150.738075 -L 164.956527 134.147368 -L 164.358621 132.304523 -L 161.765355 134.147368 -L 163.808034 152.336842 -L 164.358621 153.341637 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 318.289655 153.87948 -L 318.585456 152.336842 -L 318.696704 134.147368 -L 318.289655 133.927047 -L 317.633989 134.147368 -L 317.802756 152.336842 -L 318.289655 153.87948 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 395.255172 152.349964 -L 395.259306 152.336842 -L 395.255172 152.334077 -L 395.253131 152.336842 -L 395.255172 152.349964 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 441.434483 162.351482 -L 455.131486 152.336842 -L 442.612456 134.147368 -L 456.827586 119.144849 -L 472.22069 126.915993 -L 475.850454 115.957895 -L 472.22069 112.758858 -L 456.827586 113.713803 -L 441.434483 107.772395 -L 435.532269 115.957895 -L 439.721741 134.147368 -L 434.132295 152.336842 -L 441.434483 162.351482 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 256.717241 146.4094 -L 258.510143 134.147368 -L 256.717241 133.188452 -L 256.25284 134.147368 -L 256.717241 146.4094 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 349.075862 134.157792 -L 349.087899 134.147368 -L 349.075862 134.144043 -L 349.06493 134.147368 -L 349.075862 134.157792 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 148.965517 127.483115 -L 156.514251 115.957895 -L 148.965517 111.208752 -L 137.79186 115.957895 -L 148.965517 127.483115 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 302.896552 129.940148 -L 310.255275 115.957895 -L 302.896552 104.161748 -L 298.040346 97.768421 -L 287.503448 83.713887 -L 272.110345 93.626315 -L 256.717241 95.804729 -L 253.529943 97.768421 -L 256.717241 101.316396 -L 272.110345 105.880619 -L 287.503448 108.55019 -L 294.382533 115.957895 -L 302.896552 129.940148 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 503.006897 119.085187 -L 511.002688 115.957895 -L 503.006897 113.367949 -L 500.491705 115.957895 -L 503.006897 119.085187 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 133.572414 99.942578 -L 133.846288 97.768421 -L 133.572414 97.020654 -L 132.823687 97.768421 -L 133.572414 99.942578 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 164.358621 104.314235 -L 175.794133 97.768421 -L 179.751724 88.693979 -L 184.749889 79.578947 -L 179.751724 78.328521 -L 172.80254 79.578947 -L 164.358621 84.980545 -L 161.724782 97.768421 -L 164.358621 104.314235 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 410.648276 101.697229 -L 414.076673 97.768421 -L 416.286203 79.578947 -L 410.648276 72.074417 -L 402.705231 79.578947 -L 406.613479 97.768421 -L 410.648276 101.697229 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 210.537931 90.843621 -L 217.921428 79.578947 -L 210.537931 72.358006 -L 200.588187 79.578947 -L 210.537931 90.843621 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 318.289655 81.138078 -L 333.682759 85.360189 -L 336.175047 79.578947 -L 333.682759 71.577532 -L 318.289655 78.825437 -L 317.136583 79.578947 -L 318.289655 81.138078 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 364.468966 80.815882 -L 364.786644 79.578947 -L 364.468966 78.862252 -L 364.164057 79.578947 -L 364.468966 80.815882 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 118.17931 65.136311 -L 123.989511 61.389474 -L 118.17931 43.978079 -L 111.898342 61.389474 -L 118.17931 65.136311 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 164.358621 70.121486 -L 165.535929 61.389474 -L 164.358621 58.703308 -L 161.545069 61.389474 -L 164.358621 70.121486 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 195.144828 69.122262 -L 198.382382 61.389474 -L 195.144828 56.103811 -L 193.575385 61.389474 -L 195.144828 69.122262 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 256.717241 62.377176 -L 258.529566 61.389474 -L 256.717241 60.144957 -L 254.125461 61.389474 -L 256.717241 62.377176 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 302.896552 65.530923 -L 304.98922 61.389474 -L 302.896552 56.268955 -L 299.018065 61.389474 -L 302.896552 65.530923 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 379.862069 66.572453 -L 388.931301 61.389474 -L 379.862069 46.380652 -L 373.137892 61.389474 -L 379.862069 66.572453 -" style="fill:none;stroke:#ffe600;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - </g> - <g id="LineCollection_6"> - <path clip-path="url(#p507bfaed5c)" d="M 73.851517 388.8 -L 72 386.945537 -" style="fill:none;stroke:#ff4700;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 135.020142 388.8 -L 133.572414 386.603293 -L 118.17931 386.038663 -L 110.363049 388.8 -" style="fill:none;stroke:#ff4700;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 444.202815 388.8 -L 441.434483 383.498512 -L 438.011549 388.8 -" style="fill:none;stroke:#ff4700;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 518.4 151.148158 -L 509.177045 152.336842 -L 518.4 153.735402 -" style="fill:none;stroke:#ff4700;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 272.110345 374.098809 -L 274.304891 370.610526 -L 272.110345 368.607633 -L 270.633874 370.610526 -L 272.110345 374.098809 -" style="fill:none;stroke:#ff4700;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 456.827586 356.088418 -L 463.17899 352.421053 -L 456.827586 347.498877 -L 445.65428 352.421053 -L 456.827586 356.088418 -" style="fill:none;stroke:#ff4700;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 179.751724 336.786878 -L 181.476375 334.231579 -L 183.011744 316.042105 -L 179.751724 314.494248 -L 178.072109 316.042105 -L 178.14016 334.231579 -L 179.751724 336.786878 -" style="fill:none;stroke:#ff4700;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 225.931034 338.694399 -L 227.280056 334.231579 -L 225.931034 332.290293 -L 222.988365 334.231579 -L 225.931034 338.694399 -" style="fill:none;stroke:#ff4700;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 302.896552 336.609533 -L 305.140445 334.231579 -L 302.896552 329.29917 -L 301.199462 334.231579 -L 302.896552 336.609533 -" style="fill:none;stroke:#ff4700;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 349.075862 336.860426 -L 360.311789 334.231579 -L 349.075862 330.384562 -L 347.214311 334.231579 -L 349.075862 336.860426 -" style="fill:none;stroke:#ff4700;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 379.862069 335.836335 -L 384.145482 334.231579 -L 379.862069 332.782629 -L 369.221002 334.231579 -L 379.862069 335.836335 -" style="fill:none;stroke:#ff4700;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 426.041379 335.868089 -L 428.232707 334.231579 -L 426.041379 329.80823 -L 424.319127 334.231579 -L 426.041379 335.868089 -" style="fill:none;stroke:#ff4700;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 441.434483 321.415246 -L 449.813797 316.042105 -L 441.434483 311.873719 -L 434.53846 316.042105 -L 441.434483 321.415246 -" style="fill:none;stroke:#ff4700;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 87.393103 298.585597 -L 88.102878 297.852632 -L 87.393103 297.185064 -L 86.413809 297.852632 -L 87.393103 298.585597 -" style="fill:none;stroke:#ff4700;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 241.324138 302.163995 -L 246.499592 297.852632 -L 241.324138 294.247168 -L 239.234586 297.852632 -L 241.324138 302.163995 -" style="fill:none;stroke:#ff4700;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 349.075862 290.168593 -L 359.56318 279.663158 -L 349.075862 275.951956 -L 342.604455 279.663158 -L 349.075862 290.168593 -" style="fill:none;stroke:#ff4700;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 195.144828 265.472682 -L 199.554352 261.473684 -L 195.144828 257.570737 -L 189.746975 261.473684 -L 195.144828 265.472682 -" style="fill:none;stroke:#ff4700;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 102.786207 228.194066 -L 106.285076 225.094737 -L 102.786207 221.973416 -L 101.627575 225.094737 -L 102.786207 228.194066 -" style="fill:none;stroke:#ff4700;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 210.537931 227.487566 -L 213.825231 225.094737 -L 210.537931 221.295893 -L 208.791978 225.094737 -L 210.537931 227.487566 -" style="fill:none;stroke:#ff4700;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 410.648276 229.509515 -L 413.869346 225.094737 -L 410.648276 218.785546 -L 406.757547 225.094737 -L 410.648276 229.509515 -" style="fill:none;stroke:#ff4700;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 87.393103 207.143907 -L 87.896855 206.905263 -L 87.393103 206.533876 -L 87.091277 206.905263 -L 87.393103 207.143907 -" style="fill:none;stroke:#ff4700;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 487.613793 214.04212 -L 491.027358 206.905263 -L 487.613793 202.537155 -L 483.42681 206.905263 -L 487.613793 214.04212 -" style="fill:none;stroke:#ff4700;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 210.537931 189.31124 -L 212.088874 188.715789 -L 210.537931 188.327207 -L 210.146786 188.715789 -L 210.537931 189.31124 -" style="fill:none;stroke:#ff4700;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 503.006897 170.937798 -L 503.506218 170.526316 -L 503.006897 163.693566 -L 502.769412 170.526316 -L 503.006897 170.937798 -" style="fill:none;stroke:#ff4700;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 441.434483 153.761871 -L 443.383492 152.336842 -L 441.434483 149.519523 -L 440.395421 152.336842 -L 441.434483 153.761871 -" style="fill:none;stroke:#ff4700;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 148.965517 119.932052 -L 151.568492 115.957895 -L 148.965517 114.320282 -L 145.112586 115.957895 -L 148.965517 119.932052 -" style="fill:none;stroke:#ff4700;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 302.896552 123.003017 -L 306.604331 115.957895 -L 302.896552 110.014268 -L 298.606664 115.957895 -L 302.896552 123.003017 -" style="fill:none;stroke:#ff4700;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 441.434483 118.884782 -L 444.305865 115.957895 -L 441.434483 114.747142 -L 440.561461 115.957895 -L 441.434483 118.884782 -" style="fill:none;stroke:#ff4700;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 287.503448 104.001458 -L 293.594923 97.768421 -L 287.503448 89.643369 -L 275.434885 97.768421 -L 287.503448 104.001458 -" style="fill:none;stroke:#ff4700;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 210.537931 81.283806 -L 211.655391 79.578947 -L 210.537931 78.48609 -L 209.032081 79.578947 -L 210.537931 81.283806 -" style="fill:none;stroke:#ff4700;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 379.862069 63.149245 -L 382.941336 61.389474 -L 379.862069 56.293545 -L 377.579016 61.389474 -L 379.862069 63.149245 -" style="fill:none;stroke:#ff4700;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - </g> - <g id="LineCollection_7"> - <path clip-path="url(#p507bfaed5c)" d="M 302.896552 116.065886 -L 302.953386 115.957895 -L 302.896552 115.866788 -L 302.830794 115.957895 -L 302.896552 116.065886 -" style="fill:none;stroke:#800000;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - <path clip-path="url(#p507bfaed5c)" d="M 287.503448 99.452726 -L 289.1495 97.768421 -L 287.503448 95.572852 -L 284.242255 97.768421 -L 287.503448 99.452726 -" style="fill:none;stroke:#800000;stroke-dasharray:3.000000,3.000000;stroke-dashoffset:0.0;"/> - </g> - <g id="patch_3"> - <path d="M 72 388.8 -L 72 43.2 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> - <g id="patch_4"> - <path d="M 518.4 388.8 -L 518.4 43.2 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> - <g id="patch_5"> - <path d="M 72 388.8 -L 518.4 388.8 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> - <g id="patch_6"> - <path d="M 72 43.2 -L 518.4 43.2 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> </g> <g id="matplotlib.axis_1"> <g id="xtick_1"> <g id="line2d_1"> <defs> <path d="M 0 0 -L 0 -4 -" id="m71c6924008" style="stroke:#000000;stroke-width:0.500000;"/> +L 0 3.5 +" id="m3c049a1f51" style="stroke:#000000;stroke-width:0.8;"/> </defs> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="72.0" xlink:href="#m71c6924008" y="388.8"/> - </g> - </g> - <g id="line2d_2"> - <defs> - <path d="M 0 0 -L 0 4 -" id="m08f52bca9f" style="stroke:#000000;stroke-width:0.500000;"/> - </defs> - <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="72.0" xlink:href="#m08f52bca9f" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m3c049a1f51" y="307.584"/> </g> </g> </g> <g id="xtick_2"> - <g id="line2d_3"> - <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="148.965517241" xlink:href="#m71c6924008" y="388.8"/> - </g> - </g> - <g id="line2d_4"> + <g id="line2d_2"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="148.965517241" xlink:href="#m08f52bca9f" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.8;" x="119.172414" xlink:href="#m3c049a1f51" y="307.584"/> </g> </g> </g> <g id="xtick_3"> - <g id="line2d_5"> - <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="225.931034483" xlink:href="#m71c6924008" y="388.8"/> - </g> - </g> - <g id="line2d_6"> + <g id="line2d_3"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="225.931034483" xlink:href="#m08f52bca9f" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.8;" x="180.744828" xlink:href="#m3c049a1f51" y="307.584"/> </g> </g> </g> <g id="xtick_4"> - <g id="line2d_7"> - <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="302.896551724" xlink:href="#m71c6924008" y="388.8"/> - </g> - </g> - <g id="line2d_8"> + <g id="line2d_4"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="302.896551724" xlink:href="#m08f52bca9f" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.8;" x="242.317241" xlink:href="#m3c049a1f51" y="307.584"/> </g> </g> </g> <g id="xtick_5"> - <g id="line2d_9"> - <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="379.862068966" xlink:href="#m71c6924008" y="388.8"/> - </g> - </g> - <g id="line2d_10"> + <g id="line2d_5"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="379.862068966" xlink:href="#m08f52bca9f" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.8;" x="303.889655" xlink:href="#m3c049a1f51" y="307.584"/> </g> </g> </g> <g id="xtick_6"> - <g id="line2d_11"> - <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="456.827586207" xlink:href="#m71c6924008" y="388.8"/> - </g> - </g> - <g id="line2d_12"> + <g id="line2d_6"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="456.827586207" xlink:href="#m08f52bca9f" y="43.2"/> + <use style="stroke:#000000;stroke-width:0.8;" x="365.462069" xlink:href="#m3c049a1f51" y="307.584"/> </g> </g> </g> </g> <g id="matplotlib.axis_2"> <g id="ytick_1"> - <g id="line2d_13"> + <g id="line2d_7"> <defs> <path d="M 0 0 -L 4 0 -" id="m71239121aa" style="stroke:#000000;stroke-width:0.500000;"/> +L -3.5 0 +" id="mee99decfa6" style="stroke:#000000;stroke-width:0.8;"/> </defs> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="72.0" xlink:href="#m71239121aa" y="388.8"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mee99decfa6" y="307.584"/> </g> </g> - <g id="line2d_14"> - <defs> - <path d="M 0 0 -L -4 0 -" id="m754a20780f" style="stroke:#000000;stroke-width:0.500000;"/> - </defs> + </g> + <g id="ytick_2"> + <g id="line2d_8"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="518.4" xlink:href="#m754a20780f" y="388.8"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mee99decfa6" y="272.569263"/> </g> </g> </g> - <g id="ytick_2"> - <g id="line2d_15"> + <g id="ytick_3"> + <g id="line2d_9"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="72.0" xlink:href="#m71239121aa" y="297.852631579"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mee99decfa6" y="237.554526"/> </g> </g> - <g id="line2d_16"> + </g> + <g id="ytick_4"> + <g id="line2d_10"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="518.4" xlink:href="#m754a20780f" y="297.852631579"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mee99decfa6" y="202.539789"/> </g> </g> </g> - <g id="ytick_3"> - <g id="line2d_17"> + <g id="ytick_5"> + <g id="line2d_11"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="72.0" xlink:href="#m71239121aa" y="206.905263158"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mee99decfa6" y="167.525053"/> </g> </g> - <g id="line2d_18"> + </g> + <g id="ytick_6"> + <g id="line2d_12"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="518.4" xlink:href="#m754a20780f" y="206.905263158"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mee99decfa6" y="132.510316"/> </g> </g> </g> - <g id="ytick_4"> - <g id="line2d_19"> + <g id="ytick_7"> + <g id="line2d_13"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="72.0" xlink:href="#m71239121aa" y="115.957894737"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mee99decfa6" y="97.495579"/> </g> </g> - <g id="line2d_20"> + </g> + <g id="ytick_8"> + <g id="line2d_14"> <g> - <use style="stroke:#000000;stroke-width:0.500000;" x="518.4" xlink:href="#m754a20780f" y="115.957894737"/> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mee99decfa6" y="62.480842"/> </g> </g> </g> </g> + <g id="LineCollection_1"/> + <g id="LineCollection_2"> + <path clip-path="url(#pd19901ac8d)" d="M 302.780704 307.584 +L 303.889655 306.291252 +L 304.477189 307.584 +" style="fill:none;stroke:#472c7a;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 293.791921 41.472 +L 291.575172 45.433276 +L 288.57681 41.472 +" style="fill:none;stroke:#472c7a;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 69.914483 183.727912 +L 68.467822 181.530947 +L 69.914483 180.35315 +L 70.884829 181.530947 +L 69.914483 183.727912 +" style="fill:none;stroke:#472c7a;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 106.857931 154.610687 +L 104.694581 153.519158 +L 106.857931 152.145996 +L 107.835294 153.519158 +L 106.857931 154.610687 +" style="fill:none;stroke:#472c7a;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 143.801379 112.727383 +L 142.665549 111.501474 +L 143.801379 102.662445 +L 145.728681 111.501474 +L 143.801379 112.727383 +" style="fill:none;stroke:#472c7a;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 119.172414 84.255225 +L 118.277694 83.489684 +L 119.172414 82.225248 +L 119.927477 83.489684 +L 119.172414 84.255225 +" style="fill:none;stroke:#472c7a;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 143.801379 56.095978 +L 143.262454 55.477895 +L 143.801379 53.930552 +L 144.325439 55.477895 +L 143.801379 56.095978 +" style="fill:none;stroke:#472c7a;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + </g> + <g id="LineCollection_3"> + <path clip-path="url(#pd19901ac8d)" d="M 296.981881 307.584 +L 303.889655 299.531338 +L 307.549465 307.584 +" style="fill:none;stroke:#3b528b;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 71.430026 41.472 +L 69.914483 46.652123 +L 68.675548 41.472 +" style="fill:none;stroke:#3b528b;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 184.098217 41.472 +L 180.744828 43.800901 +L 179.340468 41.472 +" style="fill:none;stroke:#3b528b;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 296.536512 41.472 +L 291.575172 50.337795 +L 284.864489 41.472 +" style="fill:none;stroke:#3b528b;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 94.543448 294.841437 +L 90.253178 293.578105 +L 92.840411 279.572211 +L 94.543448 278.917844 +L 95.36033 279.572211 +L 97.415245 293.578105 +L 94.543448 294.841437 +" style="fill:none;stroke:#3b528b;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 205.373793 294.181358 +L 200.802083 293.578105 +L 205.373793 293.055062 +L 205.73164 293.578105 +L 205.373793 294.181358 +" style="fill:none;stroke:#3b528b;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 279.26069 293.67912 +L 279.189123 293.578105 +L 279.26069 293.428643 +L 279.382835 293.578105 +L 279.26069 293.67912 +" style="fill:none;stroke:#3b528b;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 131.486897 279.720072 +L 131.184168 279.572211 +L 131.486897 279.314421 +L 131.664575 279.572211 +L 131.486897 279.720072 +" style="fill:none;stroke:#3b528b;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 94.543448 229.798839 +L 89.683997 223.548632 +L 94.543448 218.579139 +L 97.238384 223.548632 +L 94.543448 229.798839 +" style="fill:none;stroke:#3b528b;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 119.172414 223.579337 +L 119.161037 223.548632 +L 119.172414 223.524454 +L 119.223329 223.548632 +L 119.172414 223.579337 +" style="fill:none;stroke:#3b528b;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 365.462069 223.651951 +L 365.369558 223.548632 +L 365.462069 223.449604 +L 365.593176 223.548632 +L 365.462069 223.651951 +" style="fill:none;stroke:#3b528b;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 390.091034 214.48477 +L 388.467336 209.542737 +L 390.091034 206.493006 +L 392.409567 209.542737 +L 390.091034 214.48477 +" style="fill:none;stroke:#3b528b;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 119.172414 196.377711 +L 118.487737 195.536842 +L 119.172414 194.708469 +L 119.503332 195.536842 +L 119.172414 196.377711 +" style="fill:none;stroke:#3b528b;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 353.147586 201.574421 +L 350.949208 195.536842 +L 353.147586 192.920711 +L 355.096291 195.536842 +L 353.147586 201.574421 +" style="fill:none;stroke:#3b528b;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 69.914483 188.445049 +L 65.361672 181.530947 +L 69.914483 177.824282 +L 72.968275 181.530947 +L 69.914483 188.445049 +" style="fill:none;stroke:#3b528b;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 156.115862 186.486194 +L 153.345722 181.530947 +L 156.115862 179.316884 +L 157.41096 181.530947 +L 156.115862 186.486194 +" style="fill:none;stroke:#3b528b;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 106.857931 157.979963 +L 98.01686 153.519158 +L 106.857931 147.907389 +L 110.852171 153.519158 +L 106.857931 157.979963 +" style="fill:none;stroke:#3b528b;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 131.486897 158.697575 +L 130.67422 153.519158 +L 131.486897 152.124234 +L 132.356794 153.519158 +L 131.486897 158.697575 +" style="fill:none;stroke:#3b528b;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 377.776552 155.539095 +L 375.512144 153.519158 +L 377.776552 149.549277 +L 379.969274 153.519158 +L 377.776552 155.539095 +" style="fill:none;stroke:#3b528b;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 303.889655 140.984479 +L 303.421079 139.513263 +L 303.889655 134.051349 +L 304.468983 139.513263 +L 303.889655 140.984479 +" style="fill:none;stroke:#3b528b;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 328.518621 142.049595 +L 325.463982 139.513263 +L 328.518621 134.796078 +L 335.065708 139.513263 +L 328.518621 142.049595 +" style="fill:none;stroke:#3b528b;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 365.462069 140.212803 +L 365.050107 139.513263 +L 365.462069 139.173976 +L 366.502612 139.513263 +L 365.462069 140.212803 +" style="fill:none;stroke:#3b528b;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 94.543448 125.625305 +L 94.382827 125.507368 +L 94.543448 125.374777 +L 94.696601 125.507368 +L 94.543448 125.625305 +" style="fill:none;stroke:#3b528b;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 230.002759 126.805767 +L 229.025992 125.507368 +L 230.002759 122.547209 +L 230.979898 125.507368 +L 230.002759 126.805767 +" style="fill:none;stroke:#3b528b;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 82.228966 115.480036 +L 79.953593 111.501474 +L 82.228966 108.793076 +L 84.974632 111.501474 +L 82.228966 115.480036 +" style="fill:none;stroke:#3b528b;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 143.801379 115.614617 +L 139.990467 111.501474 +L 139.526569 97.495579 +L 143.801379 94.437493 +L 146.886442 97.495579 +L 150.267819 111.501474 +L 143.801379 115.614617 +" style="fill:none;stroke:#3b528b;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 279.26069 100.617678 +L 273.590356 97.495579 +L 279.26069 89.904751 +L 282.599135 97.495579 +L 279.26069 100.617678 +" style="fill:none;stroke:#3b528b;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 303.889655 101.093055 +L 301.628598 97.495579 +L 303.889655 95.064645 +L 307.361557 97.495579 +L 303.889655 101.093055 +" style="fill:none;stroke:#3b528b;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 119.172414 86.651103 +L 115.477528 83.489684 +L 119.172414 78.267995 +L 122.290564 83.489684 +L 119.172414 86.651103 +" style="fill:none;stroke:#3b528b;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 377.776552 83.644532 +L 377.394309 83.489684 +L 377.776552 83.156293 +L 383.971975 83.489684 +L 377.776552 83.644532 +" style="fill:none;stroke:#3b528b;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 94.543448 72.826984 +L 87.410624 69.483789 +L 94.543448 68.003122 +L 98.012447 69.483789 +L 94.543448 72.826984 +" style="fill:none;stroke:#3b528b;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 205.373793 69.892753 +L 204.071737 69.483789 +L 205.373793 69.050226 +L 206.636228 69.483789 +L 205.373793 69.892753 +" style="fill:none;stroke:#3b528b;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 279.26069 77.458924 +L 276.754799 69.483789 +L 279.26069 58.93357 +L 282.191463 69.483789 +L 279.26069 77.458924 +" style="fill:none;stroke:#3b528b;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 303.889655 72.899914 +L 301.351876 69.483789 +L 303.889655 67.376398 +L 306.871891 69.483789 +L 303.889655 72.899914 +" style="fill:none;stroke:#3b528b;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 143.801379 59.202224 +L 140.554026 55.477895 +L 143.801379 46.154213 +L 146.959156 55.477895 +L 143.801379 59.202224 +" style="fill:none;stroke:#3b528b;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 254.631724 58.720309 +L 252.061993 55.477895 +L 254.631724 50.493349 +L 258.578201 55.477895 +L 254.631724 58.720309 +" style="fill:none;stroke:#3b528b;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 340.833103 56.855128 +L 339.701961 55.477895 +L 340.833103 51.832225 +L 342.957392 55.477895 +L 340.833103 56.855128 +" style="fill:none;stroke:#3b528b;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + </g> + <g id="LineCollection_4"> + <path clip-path="url(#pd19901ac8d)" d="M 118.405028 307.584 +L 119.172414 305.393742 +L 120.305092 307.584 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 291.00442 307.584 +L 291.575172 306.402659 +L 302.167704 293.578105 +L 300.207861 279.572211 +L 303.889655 277.885847 +L 306.066172 279.572211 +L 304.806413 293.578105 +L 310.621741 307.584 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 363.29829 307.584 +L 365.462069 302.715997 +L 370.833741 307.584 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 57.6 164.070649 +L 59.703992 167.525053 +L 57.6 171.68457 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 57.6 95.542549 +L 59.27244 97.495579 +L 57.6 99.292988 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 76.707437 41.472 +L 75.119959 55.477895 +L 69.914483 57.692857 +L 66.376379 55.477895 +L 64.361342 41.472 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 147.771818 41.472 +L 149.592873 55.477895 +L 143.801379 62.30847 +L 137.845599 55.477895 +L 131.486897 41.513832 +L 131.330055 41.472 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 191.723801 41.472 +L 180.744828 49.096804 +L 176.146965 41.472 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 207.547826 41.472 +L 205.373793 43.7576 +L 196.654481 41.472 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 299.281103 41.472 +L 291.575172 55.242315 +L 290.768142 55.477895 +L 285.238057 69.483789 +L 282.116582 83.489684 +L 286.477553 97.495579 +L 279.26069 104.244756 +L 267.002881 97.495579 +L 273.931133 83.489684 +L 274.149879 69.483789 +L 274.329302 55.477895 +L 279.26069 47.446609 +L 281.152168 41.472 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 343.269183 41.472 +L 352.317407 55.477895 +L 353.147586 57.282676 +L 361.65613 69.483789 +L 353.147586 76.69061 +L 348.754187 69.483789 +L 340.833103 62.923478 +L 334.717936 55.477895 +L 336.787086 41.472 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 404.53814 41.472 +L 402.405517 43.413828 +L 400.158876 41.472 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 82.228966 294.236826 +L 81.375032 293.578105 +L 81.87206 279.572211 +L 82.228966 279.391947 +L 94.543448 274.772435 +L 100.535274 279.572211 +L 103.448487 293.578105 +L 94.543448 297.49552 +L 82.228966 294.236826 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 180.744828 296.49712 +L 176.643253 293.578105 +L 180.744828 291.619779 +L 193.05931 287.971971 +L 205.373793 289.117602 +L 208.425505 293.578105 +L 205.373793 298.722629 +L 193.05931 296.599339 +L 180.744828 296.49712 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 254.631724 295.88684 +L 247.787737 293.578105 +L 249.944138 279.572211 +L 254.631724 277.403302 +L 257.617981 279.572211 +L 257.378106 293.578105 +L 254.631724 295.88684 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 279.26069 299.493814 +L 275.069513 293.578105 +L 279.26069 284.825152 +L 286.413869 293.578105 +L 279.26069 299.493814 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 340.833103 305.736585 +L 333.835344 293.578105 +L 336.30419 279.572211 +L 340.833103 276.580096 +L 343.83078 279.572211 +L 344.900342 293.578105 +L 340.833103 305.736585 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 131.486897 283.637135 +L 123.16443 279.572211 +L 131.486897 272.485185 +L 136.37154 279.572211 +L 131.486897 283.637135 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 156.115862 282.462387 +L 155.151449 279.572211 +L 156.115862 278.119112 +L 157.493326 279.572211 +L 156.115862 282.462387 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 217.688276 281.483977 +L 215.43295 279.572211 +L 217.688276 276.809275 +L 220.958958 279.572211 +L 217.688276 281.483977 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 402.405517 288.261183 +L 398.66273 279.572211 +L 402.405517 277.321462 +L 403.974392 279.572211 +L 402.405517 288.261183 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 193.05931 270.761438 +L 190.971549 265.566316 +L 193.05931 261.500697 +L 205.373793 254.512827 +L 207.960438 265.566316 +L 205.373793 268.300704 +L 193.05931 270.761438 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 230.002759 268.883385 +L 227.858171 265.566316 +L 230.002759 255.839631 +L 231.476996 265.566316 +L 230.002759 268.883385 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 328.518621 266.21258 +L 328.091995 265.566316 +L 328.518621 264.73207 +L 328.790683 265.566316 +L 328.518621 266.21258 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 69.914483 253.366474 +L 67.416244 251.560421 +L 69.914483 250.069572 +L 72.552479 251.560421 +L 69.914483 253.366474 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 291.575172 253.155318 +L 289.151576 251.560421 +L 291.575172 248.649374 +L 303.889655 247.546651 +L 308.298783 251.560421 +L 303.889655 254.442889 +L 291.575172 253.155318 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 377.776552 252.409944 +L 377.028506 251.560421 +L 377.748277 237.554526 +L 377.776552 237.493229 +L 378.145323 237.554526 +L 378.461014 251.560421 +L 377.776552 252.409944 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 402.405517 255.304356 +L 399.794201 251.560421 +L 402.405517 243.162053 +L 409.841972 251.560421 +L 402.405517 255.304356 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 94.543448 237.726531 +L 90.557624 237.554526 +L 83.447966 223.548632 +L 94.543448 212.201895 +L 100.696738 223.548632 +L 94.990678 237.554526 +L 94.543448 237.726531 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 143.801379 238.893014 +L 142.239129 237.554526 +L 143.801379 234.091314 +L 156.115862 225.623803 +L 162.145461 237.554526 +L 156.115862 240.228835 +L 143.801379 238.893014 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 230.002759 247.66089 +L 226.012605 237.554526 +L 230.002759 234.147102 +L 232.533932 237.554526 +L 230.002759 247.66089 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 254.631724 239.332928 +L 253.295078 237.554526 +L 254.631724 235.972029 +L 266.946207 233.149977 +L 270.302277 237.554526 +L 266.946207 245.359541 +L 254.631724 239.332928 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 353.147586 238.514552 +L 345.620317 237.554526 +L 353.147586 235.595119 +L 354.828736 237.554526 +L 353.147586 238.514552 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 69.914483 226.156125 +L 62.979592 223.548632 +L 69.914483 218.789825 +L 79.595748 223.548632 +L 69.914483 226.156125 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 119.172414 235.517289 +L 114.737909 223.548632 +L 119.172414 214.124588 +L 131.486897 219.627989 +L 134.727853 223.548632 +L 131.486897 225.45949 +L 119.172414 235.517289 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 180.744828 232.233445 +L 178.604647 223.548632 +L 178.643035 209.542737 +L 180.744828 208.063973 +L 183.893185 209.542737 +L 184.63562 223.548632 +L 180.744828 232.233445 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 217.688276 227.654473 +L 213.67265 223.548632 +L 217.688276 220.423294 +L 220.368281 223.548632 +L 217.688276 227.654473 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 365.462069 228.526638 +L 361.004824 223.548632 +L 365.462069 218.777378 +L 371.778911 223.548632 +L 365.462069 228.526638 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 106.857931 210.8316 +L 103.136843 209.542737 +L 106.857931 206.358927 +L 111.280968 195.536842 +L 119.172414 185.989188 +L 122.986507 195.536842 +L 119.172414 205.228518 +L 110.18651 209.542737 +L 106.857931 210.8316 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 230.002759 214.569459 +L 225.491742 209.542737 +L 230.002759 204.894903 +L 235.689914 209.542737 +L 230.002759 214.569459 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 303.889655 217.82855 +L 297.410662 209.542737 +L 301.228196 195.536842 +L 303.889655 185.824651 +L 310.910622 195.536842 +L 312.146503 209.542737 +L 303.889655 217.82855 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 353.147586 212.319898 +L 350.357794 209.542737 +L 345.719331 195.536842 +L 353.147586 186.69701 +L 359.732204 195.536842 +L 355.411572 209.542737 +L 353.147586 212.319898 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 390.091034 222.897008 +L 385.703507 209.542737 +L 390.091034 201.301809 +L 396.356131 209.542737 +L 390.091034 222.897008 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 156.115862 195.597759 +L 156.028923 195.536842 +L 148.200163 181.530947 +L 156.115862 175.204243 +L 159.816616 181.530947 +L 168.430345 192.893373 +L 172.55951 195.536842 +L 168.430345 202.090756 +L 156.115862 195.597759 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 266.946207 200.59429 +L 256.024665 195.536842 +L 266.946207 192.387678 +L 279.26069 190.711973 +L 283.656533 195.536842 +L 279.26069 206.662557 +L 266.946207 200.59429 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 69.914483 193.162187 +L 62.255522 181.530947 +L 69.914483 175.295413 +L 75.051722 181.530947 +L 69.914483 193.162187 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 254.631724 192.276852 +L 252.805853 181.530947 +L 254.631724 178.106508 +L 255.970215 181.530947 +L 254.631724 192.276852 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 340.833103 185.145776 +L 339.881253 181.530947 +L 339.872453 167.525053 +L 340.833103 161.204643 +L 353.147586 157.615213 +L 358.355062 167.525053 +L 353.147586 172.425241 +L 344.298181 181.530947 +L 340.833103 185.145776 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 131.486897 171.61847 +L 123.955328 167.525053 +L 126.503725 153.519158 +L 131.486897 144.965755 +L 136.820939 153.519158 +L 143.801379 163.265458 +L 147.100852 167.525053 +L 143.801379 173.74737 +L 131.486897 171.61847 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 205.373793 178.053436 +L 203.54818 167.525053 +L 205.373793 157.097693 +L 207.998494 153.519158 +L 217.688276 147.506913 +L 224.283526 153.519158 +L 217.688276 165.516528 +L 215.533355 167.525053 +L 205.373793 178.053436 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 316.204138 168.073237 +L 314.490846 167.525053 +L 304.545115 153.519158 +L 303.889655 152.981452 +L 299.600095 139.513263 +L 291.575172 125.570837 +L 291.423891 125.507368 +L 291.575172 125.386449 +L 303.889655 116.893987 +L 307.433195 125.507368 +L 309.193089 139.513263 +L 316.204138 148.624644 +L 319.006838 153.519158 +L 316.351265 167.525053 +L 316.204138 168.073237 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 69.914483 155.432532 +L 67.440657 153.519158 +L 69.914483 148.951832 +L 72.355447 153.519158 +L 69.914483 155.432532 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 94.543448 164.193301 +L 92.128032 153.519158 +L 94.543448 149.990853 +L 106.857931 143.668782 +L 113.869048 153.519158 +L 106.857931 161.34924 +L 94.543448 164.193301 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 377.776552 162.187189 +L 368.059437 153.519158 +L 365.462069 150.080228 +L 359.239147 139.513263 +L 365.462069 134.388123 +L 377.776552 137.597628 +L 390.091034 133.682872 +L 392.742759 139.513263 +L 390.091034 148.981036 +L 387.186048 153.519158 +L 377.776552 162.187189 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 168.430345 141.161331 +L 163.735013 139.513263 +L 168.430345 137.193674 +L 171.298236 139.513263 +L 168.430345 141.161331 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 193.05931 144.524713 +L 191.191941 139.513263 +L 185.538459 125.507368 +L 185.063105 111.501474 +L 188.285528 97.495579 +L 193.05931 93.512869 +L 197.140171 97.495579 +L 196.382719 111.501474 +L 195.125703 125.507368 +L 194.355515 139.513263 +L 193.05931 144.524713 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 266.946207 145.761801 +L 262.659804 139.513263 +L 266.946207 132.889792 +L 273.904989 139.513263 +L 266.946207 145.761801 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 328.518621 145.144738 +L 321.736338 139.513263 +L 328.518621 129.03959 +L 340.833103 135.563645 +L 343.415292 139.513263 +L 340.833103 148.870224 +L 328.518621 145.144738 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 94.543448 131.352401 +L 86.582942 125.507368 +L 82.228966 121.915196 +L 76.273271 111.501474 +L 82.228966 104.412356 +L 89.415634 111.501474 +L 94.543448 118.93601 +L 102.133798 125.507368 +L 94.543448 131.352401 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 230.002759 132.968864 +L 224.389583 125.507368 +L 228.314374 111.501474 +L 230.002759 106.383954 +L 231.641322 111.501474 +L 235.618077 125.507368 +L 230.002759 132.968864 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 143.801379 118.50185 +L 137.315385 111.501474 +L 133.840481 97.495579 +L 143.801379 90.369815 +L 150.990002 97.495579 +L 154.806957 111.501474 +L 143.801379 118.50185 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 316.204138 114.070213 +L 310.412294 111.501474 +L 303.889655 108.004522 +L 297.284656 97.495579 +L 303.889655 90.394339 +L 314.031771 97.495579 +L 316.204138 103.381662 +L 320.327212 111.501474 +L 316.204138 114.070213 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 390.091034 113.584778 +L 388.665526 111.501474 +L 389.630022 97.495579 +L 377.776552 87.440462 +L 368.024036 83.489684 +L 377.776552 74.983569 +L 390.091034 75.728518 +L 402.405517 78.050109 +L 404.287788 83.489684 +L 402.405517 85.790818 +L 390.595728 97.495579 +L 401.230061 111.501474 +L 390.091034 113.584778 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 254.631724 98.757023 +L 254.045732 97.495579 +L 254.631724 90.050648 +L 266.439859 97.495579 +L 254.631724 98.757023 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 82.228966 84.600067 +L 81.537932 83.489684 +L 79.808025 69.483789 +L 82.228966 62.646369 +L 94.543448 64.789734 +L 105.54097 69.483789 +L 94.543448 80.082481 +L 84.993699 83.489684 +L 82.228966 84.600067 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 119.172414 89.046982 +L 112.677362 83.489684 +L 119.172414 74.310742 +L 124.653651 83.489684 +L 119.172414 89.046982 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 180.744828 89.774515 +L 178.480403 83.489684 +L 180.744828 79.50067 +L 184.908898 83.489684 +L 180.744828 89.774515 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 193.05931 72.296211 +L 191.042561 69.483789 +L 193.05931 67.914764 +L 205.373793 64.779626 +L 217.688276 67.478366 +L 218.656932 69.483789 +L 217.688276 70.053578 +L 205.373793 73.921049 +L 193.05931 72.296211 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 242.317241 71.008843 +L 241.351105 69.483789 +L 242.317241 68.915498 +L 242.915744 69.483789 +L 242.317241 71.008843 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 303.889655 77.172712 +L 298.177689 69.483789 +L 303.889655 64.740528 +L 310.601994 69.483789 +L 303.889655 77.172712 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 254.631724 62.114735 +L 249.371787 55.477895 +L 254.631724 45.275116 +L 262.709697 55.477895 +L 254.631724 62.114735 +" style="fill:none;stroke:#2c728e;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + </g> + <g id="LineCollection_5"> + <path clip-path="url(#pd19901ac8d)" d="M 114.942057 307.584 +L 119.172414 295.509788 +L 125.416516 307.584 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 142.109162 307.584 +L 143.801379 306.018044 +L 153.115479 293.578105 +L 147.960933 279.572211 +L 156.115862 267.285035 +L 167.763485 279.572211 +L 168.430345 281.625974 +L 180.744828 285.31665 +L 193.05931 280.73846 +L 205.373793 285.180142 +L 211.11937 293.578105 +L 205.373793 303.263901 +L 193.05931 300.497592 +L 180.744828 305.892347 +L 168.430345 299.517245 +L 158.589673 307.584 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 265.459412 307.584 +L 266.946207 304.659837 +L 270.949903 293.578105 +L 266.946207 285.549552 +L 262.230422 293.578105 +L 254.631724 299.965918 +L 242.317241 301.528392 +L 230.002759 301.064229 +L 227.451941 293.578105 +L 230.002759 285.75115 +L 234.560199 279.572211 +L 242.317241 275.923122 +L 252.470933 265.566316 +L 254.631724 259.715935 +L 263.678115 251.560421 +L 254.631724 246.438885 +L 247.954244 237.554526 +L 254.631724 229.648847 +L 266.946207 228.418806 +L 273.907218 237.554526 +L 271.1909 251.560421 +L 270.39308 265.566316 +L 279.26069 277.619388 +L 289.694254 279.572211 +L 291.575172 282.497571 +L 292.141486 279.572211 +L 303.889655 274.191224 +L 310.834661 279.572211 +L 312.488746 293.578105 +L 313.694017 307.584 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 282.563798 307.584 +L 279.26069 305.308509 +L 271.821335 307.584 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 335.144462 307.584 +L 328.518621 298.780307 +L 321.51155 293.578105 +L 328.518621 286.251407 +L 331.383087 279.572211 +L 328.518621 274.656936 +L 322.51753 265.566316 +L 328.518621 253.831472 +L 332.345556 265.566316 +L 340.833103 273.328873 +L 347.088045 279.572211 +L 353.147586 293.317812 +L 353.907803 293.578105 +L 353.147586 293.749876 +L 343.867507 307.584 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 360.652944 307.584 +L 365.462069 296.764582 +L 377.400921 307.584 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 380.195573 307.584 +L 390.091034 302.229877 +L 391.431222 307.584 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 414.72 296.351161 +L 402.405517 297.677705 +L 394.067133 293.578105 +L 390.091034 284.796144 +L 388.460304 279.572211 +L 388.35926 265.566316 +L 390.091034 263.859547 +L 392.57302 265.566316 +L 402.405517 270.671116 +L 408.609986 279.572211 +L 414.72 289.993191 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 57.6 258.323068 +L 60.654164 265.566316 +L 69.914483 276.388981 +L 82.228966 268.422216 +L 94.543448 270.627026 +L 105.710218 279.572211 +L 106.857931 284.302518 +L 110.630176 279.572211 +L 119.172414 274.495041 +L 131.486897 265.65595 +L 141.078505 279.572211 +L 131.486897 287.554198 +L 119.172414 289.654633 +L 115.35424 293.578105 +L 106.857931 295.777558 +L 94.543448 300.149604 +L 82.228966 300.239812 +L 73.59305 293.578105 +L 69.914483 286.398504 +L 57.6 290.955242 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 414.72 256.2323 +L 402.405517 261.109948 +L 395.744922 251.560421 +L 390.091034 242.900448 +L 383.314398 251.560421 +L 377.776552 258.433745 +L 371.724259 251.560421 +L 371.114231 237.554526 +L 365.462069 233.401326 +L 360.570298 237.554526 +L 353.147586 241.793289 +L 340.833103 244.644566 +L 335.516255 237.554526 +L 340.833103 230.574299 +L 353.147586 228.903237 +L 356.640091 223.548632 +L 353.147586 218.557514 +L 344.091808 209.542737 +L 340.833103 197.107958 +L 335.490128 209.542737 +L 328.518621 214.171756 +L 318.405591 223.548632 +L 316.204138 229.555939 +L 303.889655 227.556817 +L 301.224323 223.548632 +L 291.575172 211.659227 +L 279.26069 212.573271 +L 270.393102 209.542737 +L 266.946207 207.529854 +L 254.631724 207.057753 +L 248.340755 195.536842 +L 246.849984 181.530947 +L 250.827827 167.525053 +L 242.317241 163.998355 +L 239.892753 167.525053 +L 230.002759 175.556038 +L 217.688276 172.03919 +L 209.198121 181.530947 +L 205.373793 193.152941 +L 202.938263 195.536842 +L 205.373793 198.820112 +L 209.163409 195.536842 +L 217.688276 193.126718 +L 221.578366 195.536842 +L 230.002759 199.875624 +L 241.831574 209.542737 +L 242.317241 213.316201 +L 244.556637 223.548632 +L 242.317241 225.913665 +L 237.293615 237.554526 +L 235.969564 251.560421 +L 234.637854 265.566316 +L 230.002759 275.995391 +L 226.976416 279.572211 +L 217.688276 285.001277 +L 211.283562 279.572211 +L 205.373793 272.950184 +L 193.05931 278.348895 +L 187.922381 265.566316 +L 193.05931 255.562877 +L 198.531191 251.560421 +L 205.373793 245.743878 +L 217.133196 251.560421 +L 212.3587 265.566316 +L 217.688276 271.725979 +L 223.260041 265.566316 +L 218.275352 251.560421 +L 218.509418 237.554526 +L 217.688276 236.57795 +L 205.373793 224.105109 +L 203.794641 223.548632 +L 193.05931 217.447347 +L 190.951113 223.548632 +L 183.271233 237.554526 +L 187.986937 251.560421 +L 180.744828 255.624911 +L 172.692088 251.560421 +L 168.430345 244.808984 +L 156.115862 246.386073 +L 143.801379 242.7182 +L 137.774463 237.554526 +L 131.486897 230.48173 +L 123.736587 237.554526 +L 131.486897 247.658029 +L 133.832655 251.560421 +L 131.486897 265.236324 +L 119.172414 254.008151 +L 106.857931 260.816989 +L 102.62565 251.560421 +L 94.543448 242.931189 +L 82.228966 247.555512 +L 78.497921 237.554526 +L 69.914483 229.78425 +L 58.071693 237.554526 +L 57.6 239.703965 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 414.72 235.437323 +L 414.264944 237.554526 +L 414.72 238.065547 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 57.6 219.626698 +L 69.914483 212.168316 +L 82.228966 217.244583 +L 89.958556 209.542737 +L 82.228966 197.561531 +L 69.914483 203.324421 +L 57.6 201.305635 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 57.6 186.92322 +L 59.149372 181.530947 +L 57.6 178.254043 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 57.6 158.614821 +L 62.352378 153.519158 +L 69.914483 139.557544 +L 77.376137 153.519158 +L 69.914483 159.36805 +L 63.027002 167.525053 +L 69.914483 172.766545 +L 77.135168 181.530947 +L 82.228966 194.645844 +L 94.543448 189.473572 +L 99.151399 181.530947 +L 94.543448 176.426069 +L 82.228966 168.322995 +L 81.409772 167.525053 +L 82.228966 165.668466 +L 87.094351 153.519158 +L 94.543448 142.637933 +L 106.314929 139.513263 +L 94.543448 137.079498 +L 82.228966 129.358768 +L 69.914483 139.28003 +L 66.443282 125.507368 +L 69.914483 121.632645 +L 72.59295 111.501474 +L 82.228966 100.031635 +L 93.856637 111.501474 +L 94.543448 112.497244 +L 100.545805 111.501474 +L 106.857931 107.616141 +L 114.008688 111.501474 +L 119.172414 113.039735 +L 124.963009 125.507368 +L 119.172414 137.069754 +L 107.951396 139.513263 +L 116.885925 153.519158 +L 119.172414 161.477672 +L 122.33323 153.519158 +L 124.809076 139.513263 +L 131.486897 136.966696 +L 143.801379 135.912745 +L 156.115862 137.351111 +L 168.430345 131.536336 +L 175.664836 125.507368 +L 172.941689 111.501474 +L 168.430345 99.706906 +L 164.469826 111.501474 +L 156.115862 115.418052 +L 143.801379 121.389084 +L 134.640303 111.501474 +L 131.486897 102.146627 +L 129.168007 97.495579 +L 131.486897 94.18265 +L 143.801379 86.302138 +L 155.176004 83.489684 +L 156.115862 81.549816 +L 158.230047 83.489684 +L 156.115862 86.102394 +L 155.093562 97.495579 +L 156.115862 101.12729 +L 165.936759 97.495579 +L 168.430345 94.881346 +L 170.601926 83.489684 +L 179.349972 69.483789 +L 180.744828 61.417773 +L 193.05931 56.814398 +L 205.373793 60.509026 +L 214.965036 55.477895 +L 217.688276 51.917118 +L 224.905914 41.472 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 414.72 112.346347 +L 402.405517 116.261878 +L 390.091034 123.709456 +L 381.737682 111.501474 +L 385.155192 97.495579 +L 377.776552 91.236391 +L 365.462069 88.656516 +L 353.147586 85.822188 +L 344.402462 97.495579 +L 340.833103 108.491315 +L 332.294864 111.501474 +L 340.833103 117.863099 +L 342.295335 125.507368 +L 352.699279 139.513263 +L 353.147586 140.296353 +L 353.428187 139.513263 +L 365.462069 129.60227 +L 377.776552 129.336609 +L 390.091034 126.740225 +L 395.900349 139.513263 +L 402.405517 150.361888 +L 407.775188 153.519158 +L 407.67143 167.525053 +L 408.79795 181.530947 +L 411.782276 195.536842 +L 402.405517 201.443739 +L 400.302695 209.542737 +L 399.019194 223.548632 +L 402.405517 228.879458 +L 411.523091 223.548632 +L 414.72 221.774979 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 57.6 89.406457 +L 64.526966 97.495579 +L 57.6 104.940146 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 414.72 70.57427 +L 408.259263 83.489684 +L 402.405517 90.646069 +L 395.494546 97.495579 +L 402.405517 105.766183 +L 414.72 108.951794 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 81.984848 41.472 +L 82.228966 43.32953 +L 83.922075 55.477895 +L 94.543448 61.576347 +L 104.368734 55.477895 +L 106.857931 49.949764 +L 114.474341 41.472 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 157.392517 41.472 +L 156.115862 42.87057 +L 152.22659 55.477895 +L 143.801379 65.414716 +L 135.137171 55.477895 +L 131.486897 47.46169 +L 122.763407 55.477895 +L 119.172414 65.509801 +L 116.582172 69.483789 +L 119.172414 70.35349 +L 127.016739 83.489684 +L 119.172414 91.44286 +L 109.877196 83.489684 +L 106.857931 75.555221 +L 98.603746 83.489684 +L 94.543448 91.938412 +L 82.228966 92.767403 +L 76.455084 83.489684 +L 76.168961 69.483789 +L 69.914483 62.029824 +L 59.448662 55.477895 +L 60.047136 41.472 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 212.666171 41.472 +L 205.373793 49.138608 +L 193.05931 53.693918 +L 180.744828 54.392707 +L 178.208244 55.477895 +L 168.430345 59.20504 +L 164.138918 55.477895 +L 168.430345 50.46347 +L 172.953462 41.472 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 258.665318 41.472 +L 266.841194 55.477895 +L 254.631724 65.509161 +L 248.312505 69.483789 +L 254.631724 77.707919 +L 266.946207 79.751259 +L 271.544958 69.483789 +L 267.129217 55.477895 +L 273.493001 41.472 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 302.025694 41.472 +L 294.957414 55.477895 +L 303.889655 62.104658 +L 314.332097 69.483789 +L 316.204138 82.389046 +L 316.577108 83.489684 +L 328.518621 94.681466 +L 338.665414 83.489684 +L 340.833103 72.521078 +L 341.427111 69.483789 +L 340.833103 68.991828 +L 329.733911 55.477895 +L 328.518621 48.888278 +L 324.413549 41.472 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 350.130495 41.472 +L 353.147586 46.030551 +L 362.847011 55.477895 +L 365.462069 58.998358 +L 377.776552 63.538689 +L 390.091034 66.289695 +L 402.405517 56.049182 +L 414.72 67.067338 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 414.72 45.01696 +L 402.405517 55.349174 +L 390.091034 45.113378 +L 377.776552 49.4537 +L 370.961025 41.472 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 353.147586 267.703606 +L 351.632334 265.566316 +L 353.147586 264.150466 +L 356.230675 265.566316 +L 353.147586 267.703606 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 69.914483 258.192253 +L 60.740943 251.560421 +L 69.914483 246.086018 +L 79.601213 251.560421 +L 69.914483 258.192253 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 291.575172 257.509071 +L 282.535636 251.560421 +L 291.575172 240.70279 +L 303.889655 242.90147 +L 313.401515 251.560421 +L 303.889655 257.778801 +L 291.575172 257.509071 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 106.857931 235.649115 +L 110.31478 223.548632 +L 106.857931 217.969827 +L 104.155092 223.548632 +L 106.857931 235.649115 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 143.801379 224.193999 +L 144.612751 223.548632 +L 156.115862 220.094586 +L 160.105797 223.548632 +L 168.430345 234.458831 +L 175.130728 223.548632 +L 168.430345 209.916079 +L 168.204249 209.542737 +L 156.115862 199.244329 +L 150.824657 195.536842 +L 143.801379 182.890911 +L 141.456918 181.530947 +L 131.486897 177.747964 +L 124.614275 181.530947 +L 126.469681 195.536842 +L 131.486897 209.338875 +L 132.015953 209.542737 +L 143.245946 223.548632 +L 143.801379 224.193999 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 230.002759 227.739692 +L 239.276892 223.548632 +L 230.002759 219.997907 +L 226.1929 223.548632 +L 230.002759 227.739692 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 217.688276 213.630807 +L 220.620214 209.542737 +L 217.688276 201.121788 +L 211.414509 209.542737 +L 217.688276 213.630807 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 365.462069 214.105153 +L 377.776552 223.324305 +L 382.939677 209.542737 +L 390.091034 196.110613 +L 392.817931 195.536842 +L 397.398397 181.530947 +L 399.475163 167.525053 +L 390.091034 155.967126 +L 378.580725 167.525053 +L 377.776552 176.171634 +L 365.462069 170.543257 +L 354.462872 181.530947 +L 364.368117 195.536842 +L 360.496575 209.542737 +L 365.462069 214.105153 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 180.744828 200.477892 +L 186.594878 195.536842 +L 193.05931 190.483819 +L 200.396499 181.530947 +L 199.079468 167.525053 +L 193.05931 157.666471 +L 189.390719 153.519158 +L 183.456502 139.513263 +L 180.744828 135.04522 +L 178.292851 139.513263 +L 168.430345 145.180871 +L 159.710067 153.519158 +L 156.115862 160.472486 +L 151.9289 167.525053 +L 156.115862 171.091602 +L 162.222271 181.530947 +L 168.430345 189.720057 +L 177.51631 195.536842 +L 180.744828 200.477892 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 291.575172 205.614525 +L 295.752776 195.536842 +L 299.881967 181.530947 +L 291.575172 168.591586 +L 279.26069 168.673684 +L 266.946207 170.207312 +L 260.336281 181.530947 +L 266.946207 188.069052 +L 279.26069 185.781962 +L 288.14817 195.536842 +L 291.575172 205.614525 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 180.744828 183.982194 +L 180.118975 181.530947 +L 168.430345 168.529955 +L 166.127571 167.525053 +L 168.430345 166.296457 +L 180.744828 165.967414 +L 182.103919 167.525053 +L 181.948714 181.530947 +L 180.744828 183.982194 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 328.518621 192.657102 +L 336.952661 181.530947 +L 331.419286 167.525053 +L 336.699565 153.519158 +L 328.518621 148.239881 +L 322.522345 153.519158 +L 325.410117 167.525053 +L 318.331147 181.530947 +L 328.518621 192.657102 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 106.857931 174.602206 +L 114.138689 167.525053 +L 106.857931 164.718516 +L 100.763769 167.525053 +L 106.857931 174.602206 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 143.801379 157.032486 +L 148.694148 153.519158 +L 143.801379 146.051837 +L 141.285083 153.519158 +L 143.801379 157.032486 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 266.946207 158.466908 +L 279.26069 166.176719 +L 291.575172 164.236127 +L 295.441055 153.519158 +L 295.77911 139.513263 +L 291.575172 132.209381 +L 281.604497 139.513263 +L 279.26069 143.20282 +L 266.946207 152.248537 +L 263.245139 153.519158 +L 266.946207 158.466908 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 205.373793 147.220382 +L 214.872785 139.513263 +L 217.688276 133.745401 +L 219.753175 125.507368 +L 220.420326 111.501474 +L 220.952286 97.495579 +L 230.002759 95.29417 +L 232.126722 97.495579 +L 239.30243 111.501474 +L 240.256256 125.507368 +L 230.002759 139.13196 +L 227.963963 139.513263 +L 230.002759 140.926796 +L 242.317241 148.447253 +L 254.631724 148.451877 +L 258.210002 139.513263 +L 266.946207 126.013831 +L 269.920387 125.507368 +L 279.26069 122.877708 +L 291.575172 112.738739 +L 293.610559 111.501474 +L 292.940714 97.495579 +L 291.575172 86.800634 +L 290.35597 97.495579 +L 279.26069 107.871834 +L 266.946207 111.408629 +L 254.631724 105.044425 +L 251.124976 97.495579 +L 242.317241 83.906106 +L 241.988615 83.489684 +L 232.639349 69.483789 +L 230.002759 65.79841 +L 227.366753 69.483789 +L 217.688276 75.17692 +L 205.373793 77.949345 +L 196.030824 83.489684 +L 205.373793 93.499901 +L 214.089584 97.495579 +L 205.373793 102.197813 +L 200.692496 111.501474 +L 200.358782 125.507368 +L 199.724944 139.513263 +L 205.373793 147.220382 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 316.204138 142.485316 +L 318.008693 139.513263 +L 325.087449 125.507368 +L 316.204138 119.787726 +L 311.81785 125.507368 +L 313.917195 139.513263 +L 316.204138 142.485316 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 365.462069 113.517689 +L 364.03162 111.501474 +L 365.462069 110.048404 +L 367.937932 111.501474 +L 365.462069 113.517689 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 303.889655 85.724032 +L 315.192863 83.489684 +L 303.889655 81.445511 +L 293.656735 83.489684 +L 303.889655 85.724032 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 291.575172 82.332006 +L 295.003502 69.483789 +L 291.575172 62.039379 +L 288.284652 69.483789 +L 291.575172 82.332006 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 242.317241 63.791154 +L 246.681582 55.477895 +L 242.317241 45.199319 +L 234.228507 55.477895 +L 242.317241 63.791154 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 316.204138 56.878044 +L 315.937013 55.477895 +L 316.204138 54.186436 +L 318.495542 55.477895 +L 316.204138 56.878044 +" style="fill:none;stroke:#21918c;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + </g> + <g id="LineCollection_6"> + <path clip-path="url(#pd19901ac8d)" d="M 66.304339 307.584 +L 57.6 299.192741 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 111.479085 307.584 +L 106.857931 300.835047 +L 94.543448 302.803687 +L 82.228966 306.242798 +L 78.424716 307.584 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 133.164929 307.584 +L 143.801379 297.741166 +L 146.918369 293.578105 +L 143.801379 285.958165 +L 131.486897 291.471261 +L 126.552916 293.578105 +L 130.52794 307.584 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 204.681676 307.584 +L 193.05931 304.395845 +L 186.909978 307.584 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 259.66176 307.584 +L 254.631724 304.044996 +L 247.265997 307.584 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 329.01252 307.584 +L 328.518621 306.927761 +L 324.754711 307.584 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 358.007598 307.584 +L 353.147586 298.625865 +L 347.138373 307.584 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 414.72 302.466938 +L 402.405517 302.848075 +L 397.159011 307.584 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 414.72 264.329414 +L 409.835941 265.566316 +L 413.245581 279.572211 +L 414.72 282.086917 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 57.6 210.76342 +L 59.888172 209.542737 +L 57.6 208.54562 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 414.72 161.311118 +L 413.649476 167.525053 +L 414.72 171.025537 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 57.6 116.509096 +L 62.19222 111.501474 +L 57.6 110.587304 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 414.72 118.469215 +L 402.405517 121.127942 +L 395.970978 125.507368 +L 399.057939 139.513263 +L 402.405517 145.095997 +L 409.443924 139.513263 +L 414.72 133.78819 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 57.6 80.256166 +L 58.964636 83.489684 +L 69.781492 97.495579 +L 69.914483 98.687013 +L 70.612689 97.495579 +L 71.372236 83.489684 +L 72.529897 69.483789 +L 69.914483 66.36679 +L 57.6 67.526846 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 414.72 78.513496 +L 412.230738 83.489684 +L 414.72 92.209218 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 165.185668 41.472 +L 168.430345 44.11513 +L 169.759959 41.472 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 217.688276 302.38989 +L 223.447927 293.578105 +L 217.688276 288.518577 +L 213.813234 293.578105 +L 217.688276 302.38989 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 205.373793 281.242681 +L 207.134174 279.572211 +L 205.373793 277.599665 +L 201.237342 279.572211 +L 205.373793 281.242681 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 316.204138 282.32002 +L 319.057375 279.572211 +L 316.943066 265.566316 +L 316.204138 262.383543 +L 303.889655 261.114713 +L 291.575172 261.862824 +L 279.26069 255.266071 +L 274.082264 265.566316 +L 279.26069 272.604958 +L 291.575172 272.257945 +L 303.889655 270.496601 +L 315.60315 279.572211 +L 316.204138 282.32002 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 353.147586 285.928956 +L 365.462069 290.031024 +L 377.776552 284.341901 +L 381.209583 279.572211 +L 379.421652 265.566316 +L 377.776552 264.457545 +L 366.420012 251.560421 +L 365.462069 243.862893 +L 353.147586 245.072027 +L 341.995215 251.560421 +L 340.833103 253.372556 +L 335.900429 265.566316 +L 340.833103 270.077651 +L 347.10925 265.566316 +L 353.147586 259.924103 +L 365.433811 265.566316 +L 353.147586 274.083495 +L 350.345311 279.572211 +L 353.147586 285.928956 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 69.914483 269.306346 +L 75.04399 265.566316 +L 69.914483 263.018032 +L 66.714358 265.566316 +L 69.914483 269.306346 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 94.543448 266.481617 +L 98.050323 265.566316 +L 97.750929 251.560421 +L 94.543448 248.135848 +L 88.238741 251.560421 +L 91.712475 265.566316 +L 94.543448 266.481617 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 143.801379 276.002504 +L 151.119517 265.566316 +L 154.779698 251.560421 +L 143.801379 246.543385 +L 138.145171 251.560421 +L 136.963097 265.566316 +L 143.801379 276.002504 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 180.744828 278.71164 +L 184.873213 265.566316 +L 180.744828 259.848218 +L 171.739434 265.566316 +L 180.744828 278.71164 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 217.688276 266.642683 +L 218.661911 265.566316 +L 217.688276 263.035772 +L 216.756962 265.566316 +L 217.688276 266.642683 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 242.317241 271.660231 +L 248.291645 265.566316 +L 242.317241 252.926171 +L 237.798712 265.566316 +L 242.317241 271.660231 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 390.091034 255.050991 +L 391.695644 251.560421 +L 390.091034 249.102666 +L 388.167782 251.560421 +L 390.091034 255.050991 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 69.914483 242.102464 +L 74.490112 237.554526 +L 69.914483 233.412375 +L 63.60137 237.554526 +L 69.914483 242.102464 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 131.486897 240.483748 +L 133.309797 237.554526 +L 131.486897 235.503971 +L 129.239916 237.554526 +L 131.486897 240.483748 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 193.05931 248.933583 +L 205.373793 238.843375 +L 207.508733 237.554526 +L 205.373793 235.437843 +L 193.05931 228.038565 +L 187.329451 237.554526 +L 193.05931 248.933583 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 242.317241 241.254546 +L 242.61341 237.554526 +L 242.317241 236.942913 +L 242.053299 237.554526 +L 242.317241 241.254546 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 279.26069 244.416327 +L 284.746233 237.554526 +L 291.575172 230.918838 +L 295.448671 223.548632 +L 291.575172 218.775819 +L 279.26069 216.632138 +L 266.946207 222.99192 +L 261.349198 223.548632 +L 266.946207 223.687634 +L 277.512159 237.554526 +L 279.26069 244.416327 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 303.889655 238.25629 +L 306.361399 237.554526 +L 303.889655 236.242369 +L 301.425217 237.554526 +L 303.889655 238.25629 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 328.518621 238.707834 +L 328.98275 237.554526 +L 336.822372 223.548632 +L 328.518621 220.993413 +L 325.762798 223.548632 +L 327.218053 237.554526 +L 328.518621 238.707834 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 168.430345 228.802268 +L 171.65681 223.548632 +L 168.430345 216.984089 +L 164.421789 223.548632 +L 168.430345 228.802268 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 156.115862 216.358275 +L 163.923865 209.542737 +L 156.115862 202.890898 +L 146.557813 209.542737 +L 156.115862 216.358275 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 377.776552 215.947009 +L 380.175848 209.542737 +L 377.776552 199.52116 +L 365.786673 209.542737 +L 377.776552 215.947009 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 131.486897 199.756888 +L 143.801379 201.12784 +L 145.620391 195.536842 +L 143.801379 192.261577 +L 131.486897 188.043986 +L 129.952856 195.536842 +L 131.486897 199.756888 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 82.228966 189.281637 +L 91.319711 181.530947 +L 82.228966 173.725263 +L 79.218614 181.530947 +L 82.228966 189.281637 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 168.430345 186.546742 +L 175.58958 181.530947 +L 168.430345 173.567896 +L 164.627927 181.530947 +L 168.430345 186.546742 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 193.05931 183.463148 +L 194.642815 181.530947 +L 194.610757 167.525053 +L 193.05931 164.984412 +L 190.236012 167.525053 +L 190.661432 181.530947 +L 193.05931 183.463148 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 217.688276 187.088736 +L 224.942564 181.530947 +L 217.688276 176.9816 +L 213.618992 181.530947 +L 217.688276 187.088736 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 266.946207 183.750426 +L 276.658039 181.530947 +L 266.946207 177.686933 +L 264.702347 181.530947 +L 266.946207 183.750426 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 291.575172 191.696012 +L 294.777343 181.530947 +L 291.575172 176.542977 +L 281.477634 181.530947 +L 291.575172 191.696012 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 328.518621 188.793714 +L 334.024069 181.530947 +L 328.518621 171.151675 +L 321.868592 181.530947 +L 328.518621 188.793714 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 365.462069 186.507639 +L 369.454349 181.530947 +L 365.462069 178.275 +L 362.202712 181.530947 +L 365.462069 186.507639 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 69.914483 170.237677 +L 75.863628 167.525053 +L 69.914483 163.303567 +L 66.350012 167.525053 +L 69.914483 170.237677 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 390.091034 179.714731 +L 396.148525 167.525053 +L 390.091034 160.064368 +L 382.661086 167.525053 +L 390.091034 179.714731 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 168.430345 160.137056 +L 180.744828 156.647323 +L 182.917483 153.519158 +L 180.744828 148.747088 +L 168.430345 149.20041 +L 163.913748 153.519158 +L 168.430345 160.137056 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 328.518621 160.772976 +L 331.903227 153.519158 +L 328.518621 151.335024 +L 326.037851 153.519158 +L 328.518621 160.772976 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 82.228966 151.157072 +L 84.972149 139.513263 +L 82.228966 138.076491 +L 80.479495 139.513263 +L 82.228966 151.157072 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 205.373793 139.894496 +L 205.84366 139.513263 +L 205.373793 131.735512 +L 205.094373 139.513263 +L 205.373793 139.894496 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 291.575172 141.629994 +L 291.958125 139.513263 +L 291.575172 138.847924 +L 290.666905 139.513263 +L 291.575172 141.629994 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 131.486897 126.281061 +L 143.801379 128.617777 +L 156.115862 130.8905 +L 168.430345 125.878999 +L 168.876284 125.507368 +L 168.430345 124.244106 +L 156.115862 120.921645 +L 143.801379 124.276317 +L 131.965222 111.501474 +L 131.486897 110.082482 +L 129.412284 111.501474 +L 131.046427 125.507368 +L 131.486897 126.281061 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 254.631724 126.6952 +L 254.868365 125.507368 +L 254.957363 111.501474 +L 254.631724 111.331826 +L 254.107191 111.501474 +L 254.242205 125.507368 +L 254.631724 126.6952 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 316.204138 125.517472 +L 316.207445 125.507368 +L 316.204138 125.505239 +L 316.202505 125.507368 +L 316.204138 125.517472 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 353.147586 133.218641 +L 364.105189 125.507368 +L 354.089965 111.501474 +L 365.462069 99.949534 +L 377.776552 105.933315 +L 380.680363 97.495579 +L 377.776552 95.03232 +L 365.462069 95.767628 +L 353.147586 91.192744 +L 348.425815 97.495579 +L 351.777393 111.501474 +L 347.305836 125.507368 +L 353.147586 133.218641 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 205.373793 120.943238 +L 206.808115 111.501474 +L 205.373793 110.763108 +L 205.002272 111.501474 +L 205.373793 120.943238 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 279.26069 111.5095 +L 279.270319 111.501474 +L 279.26069 111.498913 +L 279.251944 111.501474 +L 279.26069 111.5095 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 119.172414 106.369998 +L 125.211401 97.495579 +L 119.172414 93.838739 +L 110.233488 97.495579 +L 119.172414 106.369998 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 242.317241 108.261914 +L 248.20422 97.495579 +L 242.317241 88.412546 +L 238.432277 83.489684 +L 230.002759 72.667693 +L 217.688276 80.300263 +L 205.373793 81.977641 +L 202.823955 83.489684 +L 205.373793 86.221625 +L 217.688276 89.736076 +L 230.002759 91.791646 +L 235.506026 97.495579 +L 242.317241 108.261914 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 402.405517 99.903594 +L 408.80215 97.495579 +L 402.405517 95.501321 +L 400.393364 97.495579 +L 402.405517 99.903594 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 106.857931 85.163785 +L 107.07703 83.489684 +L 106.857931 82.913904 +L 106.258949 83.489684 +L 106.857931 85.163785 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 131.486897 88.529961 +L 140.635306 83.489684 +L 143.801379 76.502364 +L 147.799911 69.483789 +L 143.801379 68.520961 +L 138.242032 69.483789 +L 131.486897 73.64302 +L 129.379826 83.489684 +L 131.486897 88.529961 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 328.518621 86.514867 +L 331.261339 83.489684 +L 333.028962 69.483789 +L 328.518621 63.705301 +L 322.164185 69.483789 +L 325.290783 83.489684 +L 328.518621 86.514867 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 168.430345 78.157589 +L 174.337142 69.483789 +L 168.430345 63.923665 +L 160.47055 69.483789 +L 168.430345 78.157589 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 254.631724 70.68432 +L 266.946207 73.935346 +L 268.940038 69.483789 +L 266.946207 63.322699 +L 254.631724 68.903587 +L 253.709266 69.483789 +L 254.631724 70.68432 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 291.575172 70.436229 +L 291.829315 69.483789 +L 291.575172 68.931934 +L 291.331246 69.483789 +L 291.575172 70.436229 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 94.543448 58.362959 +L 99.191609 55.477895 +L 94.543448 42.071121 +L 89.518674 55.477895 +L 94.543448 58.362959 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 131.486897 62.201544 +L 132.428743 55.477895 +L 131.486897 53.409547 +L 129.236055 55.477895 +L 131.486897 62.201544 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 156.115862 61.432142 +L 158.705906 55.477895 +L 156.115862 51.407935 +L 154.860308 55.477895 +L 156.115862 61.432142 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 205.373793 56.238425 +L 206.823653 55.477895 +L 205.373793 54.519617 +L 203.300369 55.477895 +L 205.373793 56.238425 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 242.317241 58.666811 +L 243.991376 55.477895 +L 242.317241 51.535095 +L 239.214452 55.477895 +L 242.317241 58.666811 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 303.889655 59.468788 +L 311.145041 55.477895 +L 303.889655 43.921102 +L 298.510314 55.477895 +L 303.889655 59.468788 +" style="fill:none;stroke:#28ae80;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + </g> + <g id="LineCollection_7"> + <path clip-path="url(#pd19901ac8d)" d="M 59.081213 307.584 +L 57.6 306.156063 +" style="fill:none;stroke:#5ec962;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 108.016113 307.584 +L 106.857931 305.892536 +L 94.543448 305.45777 +L 88.290439 307.584 +" style="fill:none;stroke:#5ec962;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 355.362252 307.584 +L 353.147586 303.501854 +L 350.409239 307.584 +" style="fill:none;stroke:#5ec962;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 414.72 124.592082 +L 407.341636 125.507368 +L 414.72 126.58426 +" style="fill:none;stroke:#5ec962;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 217.688276 296.264083 +L 219.443913 293.578105 +L 217.688276 292.035877 +L 216.507099 293.578105 +L 217.688276 296.264083 +" style="fill:none;stroke:#5ec962;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 365.462069 282.396082 +L 370.543192 279.572211 +L 365.462069 275.782135 +L 356.523424 279.572211 +L 365.462069 282.396082 +" style="fill:none;stroke:#5ec962;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 143.801379 267.533896 +L 145.1811 265.566316 +L 146.409395 251.560421 +L 143.801379 250.368571 +L 142.457687 251.560421 +L 142.512128 265.566316 +L 143.801379 267.533896 +" style="fill:none;stroke:#5ec962;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 180.744828 269.002687 +L 181.824045 265.566316 +L 180.744828 264.071525 +L 178.390692 265.566316 +L 180.744828 269.002687 +" style="fill:none;stroke:#5ec962;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 242.317241 267.39734 +L 244.112356 265.566316 +L 242.317241 261.768361 +L 240.959569 265.566316 +L 242.317241 267.39734 +" style="fill:none;stroke:#5ec962;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 279.26069 267.590528 +L 288.249431 265.566316 +L 279.26069 262.604113 +L 277.771449 265.566316 +L 279.26069 267.590528 +" style="fill:none;stroke:#5ec962;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 303.889655 266.801978 +L 307.316385 265.566316 +L 303.889655 264.450624 +L 295.376802 265.566316 +L 303.889655 266.801978 +" style="fill:none;stroke:#5ec962;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 340.833103 266.826428 +L 342.586166 265.566316 +L 340.833103 262.160337 +L 339.455302 265.566316 +L 340.833103 266.826428 +" style="fill:none;stroke:#5ec962;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 353.147586 255.697739 +L 359.851038 251.560421 +L 353.147586 248.350764 +L 347.630768 251.560421 +L 353.147586 255.697739 +" style="fill:none;stroke:#5ec962;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 69.914483 238.11891 +L 70.482303 237.554526 +L 69.914483 237.040499 +L 69.131047 237.554526 +L 69.914483 238.11891 +" style="fill:none;stroke:#5ec962;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 193.05931 240.874276 +L 197.199674 237.554526 +L 193.05931 234.77832 +L 191.387669 237.554526 +L 193.05931 240.874276 +" style="fill:none;stroke:#5ec962;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 279.26069 231.637817 +L 287.650544 223.548632 +L 279.26069 220.691006 +L 274.083564 223.548632 +L 279.26069 231.637817 +" style="fill:none;stroke:#5ec962;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 156.115862 212.621965 +L 159.643481 209.542737 +L 156.115862 206.537467 +L 151.79758 209.542737 +L 156.115862 212.621965 +" style="fill:none;stroke:#5ec962;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 82.228966 183.917431 +L 85.02806 181.530947 +L 82.228966 179.12753 +L 81.30206 181.530947 +L 82.228966 183.917431 +" style="fill:none;stroke:#5ec962;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 168.430345 183.373426 +L 171.060184 181.530947 +L 168.430345 178.605838 +L 167.033583 181.530947 +L 168.430345 183.373426 +" style="fill:none;stroke:#5ec962;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 328.518621 184.930326 +L 331.095477 181.530947 +L 328.518621 176.67287 +L 325.406037 181.530947 +L 328.518621 184.930326 +" style="fill:none;stroke:#5ec962;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 69.914483 167.708809 +L 70.317484 167.525053 +L 69.914483 167.239085 +L 69.673022 167.525053 +L 69.914483 167.708809 +" style="fill:none;stroke:#5ec962;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 390.091034 173.020432 +L 392.821887 167.525053 +L 390.091034 164.161609 +L 386.741448 167.525053 +L 390.091034 173.020432 +" style="fill:none;stroke:#5ec962;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 168.430345 153.977654 +L 169.671099 153.519158 +L 168.430345 153.219949 +L 168.117429 153.519158 +L 168.430345 153.977654 +" style="fill:none;stroke:#5ec962;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 402.405517 139.830105 +L 402.804974 139.513263 +L 402.405517 134.252046 +L 402.215529 139.513263 +L 402.405517 139.830105 +" style="fill:none;stroke:#5ec962;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 353.147586 126.604641 +L 354.706794 125.507368 +L 353.147586 123.338032 +L 352.316337 125.507368 +L 353.147586 126.604641 +" style="fill:none;stroke:#5ec962;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 119.172414 100.55568 +L 121.254794 97.495579 +L 119.172414 96.234617 +L 116.090069 97.495579 +L 119.172414 100.55568 +" style="fill:none;stroke:#5ec962;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 242.317241 102.920323 +L 245.283465 97.495579 +L 242.317241 92.918986 +L 238.885331 97.495579 +L 242.317241 102.920323 +" style="fill:none;stroke:#5ec962;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 353.147586 99.749282 +L 355.444692 97.495579 +L 353.147586 96.5633 +L 352.449169 97.495579 +L 353.147586 99.749282 +" style="fill:none;stroke:#5ec962;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 230.002759 88.289123 +L 234.875938 83.489684 +L 230.002759 77.233395 +L 220.347908 83.489684 +L 230.002759 88.289123 +" style="fill:none;stroke:#5ec962;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 168.430345 70.796531 +L 169.324313 69.483789 +L 168.430345 68.642289 +L 167.225665 69.483789 +L 168.430345 70.796531 +" style="fill:none;stroke:#5ec962;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 303.889655 56.832919 +L 306.353068 55.477895 +L 303.889655 51.554029 +L 302.063213 55.477895 +L 303.889655 56.832919 +" style="fill:none;stroke:#5ec962;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + </g> + <g id="LineCollection_8"> + <path clip-path="url(#pd19901ac8d)" d="M 242.317241 97.578732 +L 242.362709 97.495579 +L 242.317241 97.425427 +L 242.264635 97.495579 +L 242.317241 97.578732 +" style="fill:none;stroke:#addc30;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + <path clip-path="url(#pd19901ac8d)" d="M 230.002759 84.786599 +L 231.3196 83.489684 +L 230.002759 81.799096 +L 227.393804 83.489684 +L 230.002759 84.786599 +" style="fill:none;stroke:#addc30;stroke-dasharray:4.5,4.5;stroke-dashoffset:0;stroke-width:1.5;"/> + </g> + <g id="LineCollection_9"/> + <g id="patch_3"> + <path d="M 57.6 307.584 +L 57.6 41.472 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> + <g id="patch_4"> + <path d="M 414.72 307.584 +L 414.72 41.472 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> + <g id="patch_5"> + <path d="M 57.6 307.584 +L 414.72 307.584 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> + <g id="patch_6"> + <path d="M 57.6 41.472 +L 414.72 41.472 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> </g> </g> <defs> - <clipPath id="p507bfaed5c"> - <rect height="345.6" width="446.4" x="72.0" y="43.2"/> + <clipPath id="pd19901ac8d"> + <rect height="266.112" width="357.12" x="57.6" y="41.472"/> </clipPath> </defs> </svg> diff --git a/lib/matplotlib/tests/baseline_images/test_patheffects/collection.pdf b/lib/matplotlib/tests/baseline_images/test_patheffects/collection.pdf index 1adf8eef8a5b61f07c331aaa2f27037b108ab18d..d74333643910af678529fd447c784dae5c28fe74 100644 GIT binary patch delta 124969 zcmZ^~V{~UhyX~7!IyO4!*k*T}{9~u%j@7Ykt=M)twr$(CZQDA1_8t4a_uR41hqXr4 zZ_Zik>+`It+W&;EJb|tf`~v@zjfsJS=*Lf12DUhfFOGoJrIl3d1}k6Y4xj(9(*~oE zI=|Ey6FoD3_=pp`GCo<Ae<x^?k;LAx!#cg9K@K*&zT~%-`=Rz_i@^YIMsP6S=SSny zZ4}@3;pS=Q=k+1*{H$}|`FTM3@z(zF8r2E;e*U;A3Evs`ad&uMsCiOZ&>3(j`+2u& z{dv&{+yk3Ol%E2N@9)<2=A2PF#B5%Kqm>yCo1brQyzx5Bi1bhUlRAs*v76_F_Y`j2 zypL^}8Qq;8yn~<0UccQ(tbsz=e;;{Y=X-lA{RDmVUEL!8TUXsH0mDxEp3?B0`55{0 z%G&F-vIltoCw&}tz6NccF?aUM0rQ&Xe2+j!;>QZa!P__Yu-Zhn!NVUjk3uCM^@FNA z_wnZEmAn**AGD&p#S=WMhxQ|j_6otBk|r&ut`qGKDw#h{E9KlK%Kg<qnX?_4iU*Zt z0Ku`_ME%2JMx5jetJvS{2+-`I{lKHW(Px4i;l0;C>0j!lGDD2eKK}VR8M`9`fUqnq zYMeaed|c6SmzmfJ)3!q|k6`2q-t><){`fYUeCsv!FGcwCrV`UZ?MUAPRq(CApV11n z6+h!GH#O;oHbl~ayIm;s#|LxclBMz6{Hy)yeIsy?{#wc0l!T=Ja9FXqs@E6++2DTB z`uW1Rruvqv?{)DO^or77VwwSPS9X3#Ib#aNKd(KfLZ3}YNaLN@AHFXF+Y?oiC6npM z^Phx#kIjbf<e@_9abV(npNF0A&zZo7bKK_3Dr)rSN#}dx=i=u>A@ExH`Elv>aYyL2 ziq<%(Q{J%BC>Kc#>3JL6DM&++d|Qbp7_Ew;<+vWhT5W_^9+^4ql>oGp;80Rv->P8i zzt`lYXz&_OqT5+eze|U#D@X1vQk*cC%d+hQZrY3q59aY{ikg>)oib=n=cmNQfjX}A zAZvT47q?@j(@O1*4u<*b(!IJ36H6hpYZd83dPS+uk)!^Gz(r}|H@NnFYA%>_6<Ye! zdr+P!g4-h9vBEv>0?=x(a(9mtN`Ih3Y7ml%okwSuJY8wo>F}9n9m@PxB5<a>;FhR6 zi)iUdp@H|Jm}Ib^_cpH(K7b*iB90kOcC&yq$63l~&Tf~{kOrhg{;~+%_;rclsbLwV zFlU7rGE}yo(>o9Aph4KVLsc!JQE4weTAgtx1F_z9GZ(gk1V}<1Gq#I$6#PA_Y9+&O zL(+HBn6Pd5YpJEDwzp8Kvtf+*5X<=%YU!_T!8^wMOEteN%G~hit83X;0C#o)zHTa~ z(@>^cM_W4abf_iJ`n>qTz?wSaI|*d#_(l>Ba8KjIZ2^Cen!i$>pRE^B`?LVX9HYg6 zqb5QY43+MW1XNLQPbi!(S-5BFqkB#&m=8HUwBMPzyTlvJb(^W&xb4Lx>|KP#bI zW^=+Gu)K|mywnG9sT%iMrbhF5aMTr8!p-bF5d03OyEtwOa+=}O3}X$0ZlT9q*L&(0 z;$D!%;X{kbEz3_CyO~m;Z-2%&z*Bx#zNB@;D}7hz0SwvcnLNjN!#fiDNq166adp}0 z5ZmWT1r=tigSl@xat0P8$9GZ1-|T|1?mMEE^yrmPg*bQ4-Ebs&(8da`9|>Z?__R_l zJ(T)WI1Q%tlSmkMZ*%J@)MF3SSJ}e+B|nd0awgN~VznJ?vt@+BOBK%q$TC34!L0ZS zGK9u!Kw!K==DN5fN#$cWmz9>Z3P_?5hgG^TP{^cwgb3e}J`r!bOxX(&m>23;nO8G9 zeveyPUfGy!v7Evu`jM#kw1ahC@xaX)f}c2RC%G(g)t|NEFielrn)z0?uj-zBANTG^ z^s-3sQdl=-7x&XvnWrbfaCjbtPb4O>mBYdd7^0`wE9Y*;r!IVq?i*v+i<I+M5;kS{ z8wE4Zt}KDhS7@TN;K*;B6sf!L_oKd^k+b4FsmTtUuY?~OGU+FJ?9Qp?51PZY&0Oj4 zl}lv%NgHY};_<QhS7~t&jKl-7LEcR6;19VV%N!W}$c8b<CAc6}%W|c6bt$zvu9cZE zU@dQ-fVsGJPcBp|{_*v_Yfi-E{B~Uxmpp<4)IsKG$`iwXnn_6COw#eWLWKEzvc}i= z!%^7XN#2G{=kNYva4gI2ZI)`LQ~)UGFBIAL9QZpS2siy>IGi;dvfh>@jgwEmuD-Mu zJtHiEpzmr))#$sF=QWx?3O*@|SN9b&0I`=ngat=*i2_;C9m@hLk~!H9{q_@AQ?D9o z9q#@%FUg=%HLUkLP7rxly`h+T71hqghrC#m4PFaB&kc2O#SdN*c<|^ya(w%#5B$p0 z2wtb8@W_U|3g{$w`H*}~r22|cO9J!#{iKm<1fH}5<jsmgf#N`tEb*k<+k&quu-lI5 zFcfs7+s=_|h41(9odG?P&2FCE^$~geUNtW%kh|bCA0{fs-E>SJNvGr<dm;(Ri|*_- z-GK;kl@%y)l5w24tN#LNuE?@As;A2vbW>lClB6WKW;9qMqH4Vv2#=v&mn7pgI3l4Y zR)dgqxK<k@9==+lzJNZL*)eAbjBr7F>WAp`Q6kM?B|Mw<9a{pw8%-EW7IHMlcl17Y zz-^7UnmRbBLzvV{KZf+(Pdpu(_QUY&RkvEN`#WM`&@A3lSL^9IO(f!^xJ-DDqSN&l zO=G`L(s@NE-TmQB(0oa%lC)?fxTjum=q*CFt9O*>F(@HvCTk-r1kuz1?+;0N^DT3O zjkR``W8^*P6vnoConJdT)buR1ywVCzw;0N^`zf68Gr8j5$>Lc$(i(;Ml5R-o&?SE| zJDSQLDRd~+A%@#;y-IUzXRF*%?a+U>9K;-BjU^x-Q@bQ8#JJpwbNn02p!it|F~pS* zygyb-eYV{F_Y3&X@c%c;jF9@|`*=gFecTbSgqj$-yg(ccPcs6aKc6@Dv}Tc_9Llj} z*R~q=cdS*jr*_D-Of3Bxj8HO|M{OsOC;XQUZ&sc_gN;(7RkQ!V&Ww;YUpzz%meI1Y zLj<kF#lt%yDkpC=D*^B$F|xXGuJSb0OJZ555mt-lC3&X(TWNHpdd8pe3r+Fw4+u}G zyj3xC-d0Mlw!+h2HuWn*<3bQ$f|bq>Hmsb_Uj#7=KbECG%;Riu$t`B#$cL0hNY|_$ z>L(9~M$6ene$feL?3-K=O@14x$_<l`ZA4;sy1WWrstXS-_<RRCzO>=Ezj}P9ql&>e zqgYJE&u9VllEoEOd*YYDa=^08nlBRI7qqZpgwW)t@`BkreQsx*TExsLIOh)3Yu`-| z=es4sR8AHOkt#SFX$0>Y=!w0)oi?)|1O`)i#%xy8UoiHd#MsWSP^uA{A8cTzfI`m8 zblk&4D05%>2Gf9MRqNwWd-CSoTqhM2Oo7;&V1;;L5{JJvUdF6a&!Grp?{&VouS%+1 zgla9Zw6}@^17zkHgXfB*r}ud%Gt#RH(F6Nxq5<ean+vG)wUuDOAJ~a4Nj$W_WSera zk|kEcHZE-ZkwmOgrmsV|b-Sh18@b!M22Ps}LP$^|=tO{%EjTQbL3ezf-9AVr)m>d{ z8BMTVWoz04UfVAVC6OI`wmt$D7Do8{A@I5fp^PW^SY5QyUvX8wdM_fT%wo6(Ftv1s zb%bLlk!|gsJ4d>$%<L|n5|Z!bp)#mw-AEgGQxU-13^eE=Pr~X(9vhv4v4s9k;zfJq z(vU7@5ZVD~{pE;Jq6+bAisi(tpGQ}r`4UHOqNDZ|?%wSlcaxY&Zsln7>K;tPFkH$> zey?G|s(MH4Umm3+6cf9zMWpBln5cPa+dV#D6L0yut3UFx!Kf^5q}!2pv?XU}4&uKG zNtq_|z5MYqX(nYkDHO@BO#K~uH!4oWQEyAPx-Ad98Cgo+v`EoO&_|_!L3(suFV#e{ zOh}UD_|4kC6Wtu1aGly0x#>{-+>VuULLfnHNaIjCixUeG6;#eKaXv|U+^D_~raZQr z6^T-uqjOp&qY1*Q45ylnG!nUW<=WZKc6B}Pgrb^rRrO;X9(55}5N;-!qq1A_Frv-D zusj2LBi`i5q<BuY)d^@IscdbVxKGIC4`HBG8S3ikq;%l)>cq5#;am5oUdff0zDPig zRgnTqG$ccRG-E?~&($6t%XfCCpeT@icaZ`O8xbGWQ+a>kNcD>Gb;H)p2Wv{xt~2ej z922}E+wzEM5%aYdHdWex_CZS++;`Sk(c}O-hbj&1$E-CL;??7qgh&|H^srS19XkG( zEWyP9tVg^;&zXtT+8lAvb}ukEpFr$S>hg9?+7lV%DZIY_gD}SBc>w>9*xBBL4<WNV zXSWz0q48tz`RFq5%)6aa)c2;e^;|{<W9Mi^*Z`3{weoS#lw5y?!3P*1E+UqT!X9V| zDg8sR!8BF{Z$51nXt!PwLqzSxqURG5!!ph`l3$*+o(o%*yZ4v%aYeoVYA9K3@VXh# zZmd&I{MfT)Ha6OAAT9Iw3z>nCMk~H8-WpZ4jMW*p11TqUWGMqaW99E~X0y|GTCY^P zIF^M|%?v6lt&3wRh$`uiY|mma`$s_7ke0?BZ(4jyZDILI34D0g({TOpT9{c!{gi;c zgGb&@LysXUQY)iq!5FjmP*$spyvFu4w1VIfjZ{ln>-7e^KIP>IyQ8O~tveoedABez z`ko41n@$Zh?~jK)+$(<u5+{WH<T){1(fJE*t`(?WPll@Zt2N5libl0$Qv~=nCW<|e zXk*4=5r !nGcL9%&f2z}1h-W#P;A#hPfpoI8;S)Q#ug0E0WhqiHYkNSR@v&JTi@ zaUgeCV#MG1zRPrxuZr}qlJJQRIZJvfE+go+rLHIa6M4fOd-Smc6$@&9_pnB~v0f&6 z)Xvd@{q14d?nOoZH?aT}F$9PcZ1q3OSGa<^OKHBBO^B5%d=dG88_R|2t2BkYCR|A! zYCiI*4pS(k0u5P&h1IlLz=6b(V|O&<8v&#DC?80P2WoF{PChbW@M?V69$dAnK->+R zUR*1eUPSArZAA9A?LhXm{~1mO;sPIRS<o&5uNZD0yA9-iC&4SPhe?trL+oLm%!qxy z>xItu5xn7jE7;Wolk~!A5>d~^zk-$Ylplz?67PoX)Z>nVw@+;h44_hyDPpRTz-sir zFp}P4BV<+Qz1~n-k9cFg#vhcWJaba!89G-m{{4dVE$Q2jE=ok4&*UVe)@C5M0z7hh z5Qw2#H>x4asFi>~rU*g=vf^b)u-Nm57dg3Y)^c=<qpJ=2_5J=-p5XUl-Hr@IgKU%f zmy{T@WL?Ho)$&-rFroj_p+8k6BW0x{eG!hxd+<sjs40s1scI9ZW@HtuAk)~rih>}N z14ef~CEDb$2b*rwZ3ykBl?W&tVY0?T|IjkpVaax2^k+A}xj4QgH6`9xTHi4EaYxmD zs?Vz8;F{!lJ&T&9|4#5F8g>a!|K;wzJ9z*x)V*0UWp8vK(UG#Aooe3I!eYW>Br`QB zMk~e?@$7-ErnJ36I&gF-kOl0bespNS3*)tLbqK`Bag8rzQ?qC{Sp&>6Ag5JM<d`#W z>$_w|L?`qnx<8Q#(k-ihXhJ<N>&T}Rb+8}uOiK<UhS=kr9IjDi6xFc5Q#|$P$4ANa ziXdZ{55*=|z<xhC?owz+coi~^_Zcdk@S?~`QIKNT?K@&PG5l4Te1r9lo*Soh<oGJ_ zJGAPN*2(!g+CnKkX9BP~m6a&bV<%K{_pG7t684K&)w4>0k^AN)%&<DFfj61+_SXVZ zGReCuBpT0Inxe-5!zK??3U2h#V-LxPGNcNxQ#fhpmz{Et!-XSfzvI(OQf+)u=<qbM zt@pQ|KiDZsI0g!Z4dwN!>R+h6@7+n1x<!umY~Ycj2qc~`&gg&~oWsKJ!6`24VOBlC z!S(alDrJw>JncMYU9T6;n&0%)8qF=|9fFPS9k0Z`9<A^>GMIawz+UvH!!dW|vMw+p z81#i_)VG$Ra+pF)h|-l^zA%*^XQpD6X!Yxoqe+(n@`w~#l#O+*%fN3xpEq)4?L;3s zN4;#b@~9hA)>T0Lly<;2A^4jjTDF(Kwwf5b*P!j$OGhlEb3`&LRBG!Ht=-??=~JzW z9%gz;^)tyTMGj?~#9o^57Mj62=3hPY@XHl6%$8*9Ln|uV;nr>%^N3~atG=EXD%;6c z6o=(~l{5G<YT<FbU#ZhK_S9{JgA^)U&U<3LzM%;C+YbRqY_UZ}?Sh=c*-P9Fqk4H} zSBJg(VNG!?Ku?9=37YkTZ>r;kxD5qK^-g;fJC4txWSz^`suX)=qVb@B%dG0BbSB}= zQ$;7Hy1-1y^l_O1lg0eMnxf*r4J<Y4w*nTzo`lMt{Q=q8M$RhtRE?UKFjX<V$56Q0 zbtwa-%N^jSq~;x3><Rjur(JqH#J*(Cyw^_>b2L<a?fvS80+G7nQx#={*`tI?-D_7E zW?0k`>x#sEqix$v>>J^JeGhGcz1xsv<C=+3#?b{BpIK19#S4?X8sqWT#QHuQMZBaT z8y6Ho<#U(;a>_Lx`R6^fp~zt`ZQV2KgQR)k<rM%uAVc-<PX5GSjQf)ItXl2VCBedY zQ@LUEt1dNCR6PR@CJJIY9LE|f%xOs-@vyI`qs7&+69Qt$qs)?!l_YC_M(_t*^j0ak zNL$89o+x1$Gqp85E#_(2a#_g=;nUGmv!(L<|JF7ql4m+94Kj4}u(Bldx%ayY9q5ue z#YF;$ULrPo?V;XlOQ0`lzQ#~Io63g8M;$Kkt81M-uaI9m7&cgmYu;N2^E#V<F$|Tx zUB~IeuQM73x-~}xocWp@URyFGik&U|_HoY>B{robt_!oQ8;$?TcQH@y0vA$QHKIeX zOn%LN>H^1}Cn)Tyg5DEXvZqD)9G2jz9r6PJDJxaa8r`6yEV;v1jNx8G6syQ;OJ)}Q z%`czq(8g)ktKpij6t10+64Z5jP`93qV9Shaw~Hb1l^K~%;ymbK2i^62PY4<|DRPok zHwuM<8=$&pQ4n&XFAbQo=fNn2i20D7Gf--hPVB=>nju3o{te<2lm?}l+&F6_5X=Av zc(zHzui`0-q~FwL){FXbO9W~tpAwXnsQ<hNukhI5(<~FbV?|uvcQ1pNmp^jLi^)pT zm0Yln+(^=2bg?uzw?Uk{@|P&jN2O~Q-(Nebi7trW*KFoj$-&rxk9kpwTNMzV?$A2z zFJ0!a*JOnZ3Q)(ZFV|@6e6m%7UzY;Q6apS_H_~JV!X*wq<m`<p8PskJ1~GIsvJ^{g zBlc;k$FV!TD)px|ucvL{k6{FQf`gVcVRKClwyPIdDIzH<HC`IQnf{^YAk#0?i*B(n z-y6@pc2Nw%hLwI98kdlNX~B6J7458sRU#sP|70}qrnZMAk8|sSF~Aq|ND~8Yt?_)N zznaEoI6bUzThCDPV@7796wQxgjHK`CN;IhGNQES4CKlJEFZe80VZ1bRGRIHnNByjI z_?1a~7%(-ZeUlL(SYvT9DkK-%NTQhD%o)Y<y`&jhJyD7?5Z%l%zxR|hEPpGE+^{vc z0X4yFD37cih~IOCd?#JEFaHU|`RXp+D8wA*q8yDgLPVg$TJnZoS%l=dCPCH0Te6ok zwYZra1iDQL>&d`8KfZ<sdp*7(-s@)C!+Cn4d5c^a<`>>b&~c!WC&-RS+CYd0+(-l- zsP$PFL5IB{pc}B4k;b}6xlYIicI{$kmI;xyMPZ&$rjomDwFErakeLJHBxq8}3(;i@ zh~F^nR^1P0lqy)7$q<m*71VFy(U!adLPg@y$SCAwi=JYO$n-;9mK>-^5|G<Y#TZk} zOe?3%hRu18^~;tV3VTs9lm+lB`<BT~VA;$I3vA&8zae~etx0!n{aQ}Gy@!=>O|3}p z2#u0^;V4f*UMeej8CwkW<vT7g0OX43`JvA9_vA{v_>`UHblGMNK-&~Uk{o$MM5Rtc zq~^+19z~@+K1}U3mcqB*S~lYYDdIxrj-m*j;jupwD`La?yA6)l#LL63obBrdQJm{4 zKm12$h(a@7*$Ko68BZqQyYI1?4(`jGxPoYne>BaJ%Uwh7?O*|MCQ<zNFE>6ZZ?EJu zRUx)V<0pKA`*_o+pvZDt&S#in`wOu&93`4EhXYg(<P`jn(3rATRXl{&hEd6j42<dZ z!w)d<+8doX6`covftOeEGQzXPd!&@6N->LuJ3g11)7-9%;Xf>H9S!|;ix$dFUUQSf z$uAk|^K{@_#t=YdWP1zO{HK>jgTE(&)7>8^;~H%0$_lbU1Ecq1A)N)*5B+rFHxY8S zU;BeJU3^B|A9|k`L*PCRTx+TOUi(+s<j;;9Tw5H-L01f75Hyy=t~M8Tl1LIduty<< za_;XFDx~OFLu>GEJh{E<&NHd1o6*iz)}A~SKO5j1Y7YRH_?+15bOW)S`lh$h-8(Ip zKw8fzXON^z)t}KMo}Hr`?&rr0KP*Tc&<UiM%bMB(|CfHo!$muHbw|Eiju9;79gg`0 z!Q9CJH4dbwZaF+1d@Ho<1!K?Wd#r{Xe=s`P<r?-7j&5IgJKG#Mti2s!qA8PK3N>CL zv<!3uu;u_B-9U(Uvdp|nV5P}$w~3}eLR?pS4kP8fdw?lJ_`p4#tJ@FZAPk-D%vr2$ z{}6_?f&2OZY?;xG*8}0qiVx_;4K#@Oxl(R4MMJ$i+ef}8nTRHBO)b7Ux)i9rdo#dB zUWo0J-c{|D$XeMFrI$gcvnYHDzi(!-#ldx$eGYiYQBphUGd(0RQ@E$P_xs+=LG%YH z>RTjsAe8hi6yjzZ`J>>Bu3KDsm_Qu4lnOWEG%t)o<ZktX6@%<jMSnVXu6r!`Gc&jv zjo$K_r35s=K;jGzyJ)PGiav61e966iYfd-%m5@y2d27xfiuGwLZ!at>U)-0Ark^Z0 zH?P2jBSnc|U<*;p&PLhcx8|nZJu)l<<oHRb9}i<2JLs01#80;jDs3BX_u*{|$byiV zsPAqF2WI0aRXaTw<2KQ>-8I3>BJ0DfsuW%x<P>085(0%!34=tlF^TT3#E4+_SW*Tb z&lAyA8!uR(SSSJh)fs0(sFvLE^gw`x)eg|`ay7aW9NyZAxWF7ojD~><SCjap{L@GA zRklw%_&W;Hi~UE>?Y6*i5wkl;L1nO(%ap;%b8m~em6p^AuLw7xmqeUR3<=LfTv$8! z^GzgUZOyjK$|VFd2t@PrB9I##jPfJ*!@~fUU3T3&QTT(Bj%s8WM4;WSkPyg?CIn0( z)~mUW!#g`{TPxH)lVv3ENGR?h75g`2gVA=o?M){{1i<IVXsnukCbaO{U5wo7(T->$ z4l{bi_C$fTqYW*XLlK_Pu6o=*a}=9ix#tv}HIKv%g3vxC-6-MHWK={|yxw|*(uH3F zg197{Ul!&v@N=BWkC0_f$Zn!QZ2-#$miP%61Vi+k01BR^hX5jy;0Zq(ga6!p4&A{H z=pNFsDNAv&14Z<h`}}i@GE&0MnxnyxUF;qr$<`wMl`4B>1(R!Mi<f}(gd#?!h#AX| zSeq$UKYhI~$ddX;GbhHDPoXALd05%@JjWt0!Psc^59@`goIWFM>d#&sBfxH<1I!Nj z?m)GH{Sc|8d|~^lA>vR%e>bg>j^893t|QwNoi~H0#e+CBa@<QQKjggG>0>KCGRj7Z zjXw0nd?UGt9RK<Sb<Et6I6qR>PD%^*ZE6===gMWQiRSz;+!jn@kh`UyuSDl<y|YT! zMPI>v_X{-L+R|?RI?NAh5b#3kxy^e08MrX3y}49xT(V4vxr2HbvaqZYcwHyR^K6JV zgR#?&(!|$^(u4*6D7d8!vj*?uPHe;Y^<whh6VUZf{4e3-?f($}Bm937hyQ0p8wU7) z7yEC2=9jM**0XpMGNNhU84cDPLvebEqHY|IVx{c$#e(f(oIp)YLPBW2sn`p@%mf<h zMG}IoW&Z-RA#d$=jbTxwm<<m*B7fz0g#K_^%1u_sHLO*@=#S2ieIo9u^0S+!Kw(qk z!}ov?l-?Z86SV|<UD7cd6r?_S93V4mYAUqn7EpPn^xg(@Y*>GH#&gytKN{$s#xDC4 z=5m(wdPDb1kmx-k`1(NWke6FjdA~t~DGwv)RHQXxd_uI&NRH<Cxpr4fL{;BAk{s~e zKGC5iQF~3P9wrE{3p^OSc)W-B7C={&8~qgzon<&$c>VxPCG(!b2W$PlF7J(S!W;gm zF`1XW2}H^<+Wjslup!gJodA&qb_KQ~UXVS(_Uf$ZLX~;h%molYB=O6S=XyreMN+)H z-uYaIq{LV2Kd~8=MOOC99KJp{23Zx4ZYfGIr#t>YK_<Dz?#O2N>f~4xc^AC((}2i^ znJWFxR8|aVxe4sRBR<n_aXg{$J1E|r1sP3`S+cW2OHj`6OzY(zD>f}_{<?ABOw_5m z$ga)nm#&R_Z>Ad;VoF-z>l0z$8|n*wlL$^?wK=-4fx6&EnMT)-lm#`F`3q&S(KIEV zVA5fX@E_T#AqQbv239&Pa0d}|w3menWyAikmQ(?j`fHAb3$}9&S@^LeVEswLq(>Y< zG0}flmRyjHJAOs`=*H&iG)!p3-p8y0O-*9P;wZ{uq^)=zzN7r!qOkq7c1HD-e@m@X z-1|%WMPpqudO4>p{gnG#YA{ukYg%Vw`c$SgDfCGfE}Bt<i1Y-lvfcZ4ES2lEw`fJ+ zPE-L*i`7v*roT_1;~Uyva?gux3N0-fM57KjJ1RLoTU2v9qp}sg*@L}@e~eo~f8?-b zT0AFUbt^1T^QxI1JFDK44al}YvII<?t0Bl8p?2Xqk#vMp8jByOSvd5H)*zHnqZu&4 z`S`CWe}{h83ON8#b1c*?-q0X6kQmQ3vEl-dq7|qSERburi&?=UIWJX|i%BUZycQe? zBNZH0l;}%F1OlLAp#?H$%N3u#LJ-pvVot>Sl+Uca2N^VVEu9zG=nI$|iw+f|Tuy_S zU*GGtNh;06$FY?)TX47os*lLoV(>xPZFHEnVcH+uE8hpBZ`FZFoI|<c+&vyw*ZM${ zAIPs0{5r{Z_2o!!Vee5^aq^eHF~@5-I=U(Pr_hMtfiJ)S_Dn+)1x=O@{i)XkePoPA zPVWv?vURW>L<pI_O}P9Gp_vN%Rn!K-BdN)9!IRG)#7hmy6p(fM#s1q5K(W2<;a&gh zy4_I)bhjJ=dhuzx0WU7n`Ip%A#Uy|w>DS4OKVyQ{$emg7In${JxH{B+^bBz(<NH^Z z4p}J)P@c8Pc85H{-e0@Z-5%Vvqllrm%rkzM-C>^c*G~wJrfFQdhONNyh&gc>U7X$y zhL;$FQ>=|GD6?q&1k#_kg<Z^T0(h1a#=MgX$Vl5zhA0F?_<OD*S$BP>$ZNpXfWaRB zn<=cX-!Ku!O6sFf<GxYxuAg(80M3|#wK+eSgo)+z89T+3sNvoSTOne{QWiq$t+u{v zO>o_62Xi+&6@*qyT&byDFxn6Hp~nG(ELsB(y0iXn0}MZQ*-7;pkg1*57ejUmi1-pE z%S~_EK?5@I$e6%&XE@YvbV5L1HC+Uy--G+ak*@(5ZA`bWQAQqCE+4{Rjl>SPA(+Y^ z<;ZMyByb1^so1`{F%l7`{Jt;-98E|wc5WkzFJRLwGvz~5b~bGWp2yt!&<YaYleD_> zXN#55@-V&$BQFG7#I~|1-1<|AIbv!i{y0K@<@xJ-3jUZ7OfN|UQQ-!JJ1lVU6E05o z+$`p{Q%i#o6!&YViz%^5Qn;+5h)_KfactfKZ}pD_hFi8Ssc*1t&iBL8250fK4oZaf zGar+{s8+zDDoua85r?;W@12GCbe7D5xTz{e<2!jSFs65V#F2Rzr@$Mexr&q&s?k)x zJf^TGKYhVhyD<qHCi4b-%K3jucd_f%N7L8g2ud-Ujtb~IYkVQMEaRrn=f2wCLy*M5 z-9*idwz*hDAQr@{DZ-v&lLlKBbv+U|b8skk!nIW>!=_T#cU2bH#Sp4p*>GN+`hp`4 z)}K3<k~lqtt;VVV84CS7mbOB;f$;UqEhO9#)b{joYVXKhR3sMQEy2=lSU%5T-a@fn zrP5NRH`S#!@UenTBz}u6yhOhThR6d`(_M61B|}~fues?e&49l3IC#gkraD}zh;pMp zR4o1Q0M18XwV*K6eLs&1%}+Dx3%-0PgMC^}5#>$Y=a!;4cmifJ`P6LL_}7F6N!5I^ zuZ4Wjh&_ez<^3HH+Tx{-)!>o|dkuODupyPpMc?cyq<4`W*oATvKajF&F7%SPi|cLb zCix;}9L~CbP9y^!EiicTZ}WNh&l(YC6<PcKOBTGAVY)#-r2n6Yl77ZcqLjQ4Qp>#v z^NC&l4Jv$^q&wJZ53{|v(xz>`2Gv@LQ(Peo>d#V8)L}9JMfuxyH+tu8C4h0NX#Y;s zDe1OG-l=2<N+zZRyIa38>D=C@i$Pd<=M{_VxCth)m}<;y?UZ_w+sBp@*5D;?ACpJv zZIL|Dtqtv4QmU?mGJfXf(-UlB5sYo~H>mgT!)RUqtUQpZ9;63%@03XNKAeoIWBWAG zohYwljpsmQCI5$Dq=Dv#WZkuC-c?51z&?HSV)U>!{hwIa&ai&Bj+^gEz5FY!cg<H8 zgZf03F-3oh&D&$Dn(YshCiy#r2m)?(MKhuYl2r)yToCgFU?eo~w(M}l{g^Jw%M6DJ z@JcAT?UvWKT+CGKlanI6b|{m0kvpI%u8@gWe(M2~1S->5u3ZCT4)_rfTz7cA2vCgA z?;wdgy}z#bSGxq-M=fE(a^<E?2rUw!u2MO$Q5blP_rB{|eOxZj)xMB}&+WR-SXd~1 zvF}TrZ)T%>;WcDK*WHX98~u?A1?l|$?)XvGmpH+x{p8GdJNaG`UtzKF=kJ2jw|XS_ z*K&XX-*;jw-5of!w6A^i72^E5wH_iuL;Mc%%Il}JHg*aqjZ9j)eE}Sv;4GB$Hn0Xl zX=JkKnu6)!;4yxv04PULwqP5H=s3!6hQ4zUmd#T*8?T%V-#t~}laSX9wCmgX<sz1Z z+4$t>pw<%08%cOtbNCG&2tqALcdokE#{<%YTKK)e=<?G}3cI)OY{t-f%?~cvNHN<j zMox~)#OuuLQ`GKqRV85&QV}-d$Mb-*Ia&`F3w6B+5sV9;PyNq~ragUXKY76zxA%+c zQcE|51UcK@m+J0IjwAg_h!flu5?Noo(T~U~5JMM!So=j5A@dhDpi@*gbdx5456Bq$ z_RgEBP*ye>WQ+fJkQZKw7~4;7T3a#^6%f^CNTKYpU}(5h-e>`G;`64CDM;O%OEw6E zB!~eJ0I8r+w2Dlpj$-WhK@Tz>2F~Wh#m&Em*q{7Gcl*Ptw%&)w`$D<+x0$TX*#ud9 z10BEaV>cp3p`-i8*-WjD=Xb%d0bz0Nd{pF|IG>j1nT0_}CKKNZ%S@<FVwrrhh<2`k z!(((?w>B_@a4LCghGJnS)8-^69MULK-K`vEJOYn1F9`K<ro|JgbcH*8WG(3=@f=LC zCJ@piTMYxjg5*}fVIf9vuNf5Gfd|ir{;`&w|A;q>z4nE-7;2=JD=g(Q@PK$keYqDq z4z)~<Jd4vKr4wNItKfFahOrMXT7u#zB_x`fh#8EoAiQY(H#&2wfnUm>-v>*}fv3iu zV3QBH-(!f0eBI6i2{)X@ZH$>yKfH))%qp66C=`FwZQGoMk0CV7AzFwtz_h`h!p10c zC#GnTq8=?I2NQ`GfDs!c1E;}A@MExz`pIf878H^Ma1PetoP$?&It{La24kKa`Vt!u z#EOgx)cvg73K{Xu$uC_xfpkt(5#n=)2kYWe+EQ*z+;x{k-q&GQka)(<C8f+#-aXGR zRhmEV<@>zw-JNOb1m;e7u_%xW-D5jjZtStVku6&O!~l3*Sne>1z@9q`faN`TmRE<8 z8ZuMc9X-ii=z>{!w(Il4Ito@XJ-wKYTTg|ibbQMCeb%T`JH_XsOYroiBSOATQ&1-% zcF~LJKzZP?#D>qEvf>8py?q+-Ny6cc4`bG-_JvY>gE>jX(9JRE!h2@e0EMA$Zf`Q; znL;xq1_^1IyykldP`reqI+s(eeMMdR*tQf-R5To0kjGYR#9F~T^?gd2mQmQhU>p`< zc<v#MYoM2vMb<5C-0v!=SEla$kLa*}HiT{KP1Qvf^{+B1B_0be@DDM9v%0Q({W~?M zgcL+0QI^LMzBH`*a4W5a!ZtxQTc_i=c@8{AifGtQ4<XSwKpA$M*2C$#a$JFqAbJ8u zu{!Y3TV2%g<93untlX)<flxy$N5I^xlc`5Nf{Y4}^sUQBgoQ=;pr=>SMZuOWgJ#bU zl45G@tO_5FPKrSPE*_WAg{k|rWBCotrySW&x?U^u*EDoQQij{EqG0s3^h-~RHq8zV z{f8fvQcE#5AY#4Ng{uKUW3;LcQG#W3+hd`fJP!Y_6Horn#Ptsw<JdvKavM|Xf8g`~ zK$FJY|I6B|;PpR6{v|&9yDUCLe_8eUBBXq0e>nhty3DwP9bSpkq7&kE*+;V#+G3c$ zM9FU^#4s2!v=mFKcrEjz-9iKQ>guL`hUd>!q;Ch>!B;&;9N0$pzhBaXtf0MnZLrjS zkfhF(b7qi=!3h#q8EeW#Bre)nNf%vjE(fL16A%l>g!NP1pQGM1ORK)bn<jPi?6O(W zyIujG$tBo}GmeqC97fcyl%5(Vg}>Fy7f*g>yPnBfT>N=IwD^4z^l%|-a+jQ0@0wcp z_QzAXCe8A%LBiLV7g}eNyQK^Ren-Mu_sA59uDZU;V3zVp7!+2WghijQdtv#gh>%}I zxT9pt%#_C%l8P<crE0Bcm1%FxOd&2uLyhzRCp<o1COY2&`7Zla@T;Xb%M^HU2xP|i z5()d=)G9OmABC3L3FIFN4IT(}J&*Izbn|ahuhpdT-*47<g_Mq;VJi0Z`=A&Af`!`4 z?Q&Wke&g0REc}7;-s4CJ6nm-#>PuHYT2Qug!tyqmV7NY-MG98VP9HDa2ehXo0O|qA zo`i%Q-_8C`ojOjYMbW<K31J+LSZBZ>Dg4$<Tr6?1Z~AKVb9+scVWen8*9s(Fpf+2% zX?@;nXM{PRAUU(0i?7+6`%Hu6qGc138`C8s&hPg0V3HXcnnb~nd0>=3TN5w%{F9Cz zg^Fvlr6k18%3(nMw*l!&q(6aS)Oa=kQGPqiraKlf@x!X0Eq6E$ng~teP^HQ`!D7*F zhXG!B3|kZ*vvG=ITVh12gNbIa#PI1?H0<{1S4qpSL=R1Eo>3BkCntN~okC9KQED47 zg^3A#K?8E#{$}uRg1GECPGSf;P(OcuOFH1P^djb8w%Qm>*!R`)G@YE?!y2LhrU?~8 z5=-(t*YYW3!*t{je>Oh`@yejjcG7gdTpM+uA?$ZaUGh{%NYq{&W17tHt#-9ij(Y4z z-m5nqC32eoTtE1bm3bY(k9+r`FhHSJ`!T>H>tz_p>~A>jwO=ySbz0R<%)=SS0*bv? zIY{mU^;mhqu<?T}of<VTS7yZkwQW^jqRQ%~^*G()<Gm}!dwKZ%NzE)VLQJR|ktHl) z9l?Tv9jvp*<D3NFhrAN&nwdRm;LuJI^O(<th{DV(cwXf}d&~CP#6!77bdw#m$bA~q zX3vs!guldcJQwEFKd0h##k<J*W$VqJouAz+ECpg>_uF)-#D3ReCL{d>K;O8<F{?-- zoq3$VhOlrd*MG$hn(1<e+VQ*%#E)Z~#ZMfK=({|njWU-QuM++UxF@MJ@4w39a~P}& z>^2db36wG0HBm4>t!Zf|JoqA6gTydjUhEfAcR0~<aDb*Yt>F>A=n>uKA&VBny>P=% zu9h@~1W)svMdI2L9)HvY=)b{L4|BnaN-tX(=G4@BrumPL$6Ym|=GaH&@xVxGD{89V zvXgLROTIcd2n=MhYV$(yG6RL%I?ptM6;>hyX-wDDZd9$)5;jwy_wd`Vzbk@_#iD+u zgt|sGcbisvD`8s=$<51``fN^)O$!414c~)zMjQ;fcl$Qb#h6=w0+B0EEuaC`e{AvP zLOXmOzpk}op2L)swMpXiq0AhnxNc?b8hwE_Q<1ST6)KNhY-8x9-^-aiqM&Y+fW2fj zX4pI_2^gofw6c9F`-4`2u2dt2(l&m?FMtZ^LV`lajD~vSA&C39gZ{PI>rGhxqL9Zn z`82}jRD5Z$vT+l*PJflUrrp)_v#hjqC7OSPI?>Mcx@4=?NFnv~!biX<U^RG1BdOwj z$%(8a<;yw?0|k?2u?<qvtI?R!Tb87bnVp+!-lrr=DO237A0!5M2#eR=Kkx>9M`-%0 z=P)y0yr*qhcj{-{g!{x2;}-)v5X@1P5|RnsXyXjk@N5k98_R8+2l(N9l!iIh9OL<u z5OVacHzb2j+|b1y{caXu16uo^=aF$zXj={M9YEsdD7Ss$Y~b8}Gv>}wx1}1j;mzSp zkEXM4{l<NGN3Yi|^rCd~ReOWGn`pln1l-N6EwM*YEZ+Y$!EM@@V&{>INeHow!!{}q zKT!-!32%TCGg~hM+%Sx@r?Uew3}1U}{*r^BIgjsYgwG>rD1a=BR`7#?Xh^DM(iKHn zXTwGCb1CkNJS^SB+Tq(A5kCnRM0Cf`NOCNucRs0Ksu?f63LF|qTJ-ak>fXXxCS?mF zDgr(W8q3=OxhiVLJbo(Kc)S+3Ry}3yz=>t+q&V=bF{wf8j4Jlb0#}j5gTwNpCU2y3 z_76gscjIB9XO9zNvyPFFW(s3Gmf+Lu4JWj1eh0R3`RRFx%1M}bW?H~?h%KoIDf3>x z>Y(y!{J(>Qa!cgRR2{LJP3pD@D0t@AD3=NQJN{iu3&=lyri9FU3NA3KB13DbG1#%^ z_EiG@$_6jH2;6Mjn74m+<0gAN(SM~h@rpjhAgM%-8qrOBq));1Hq}~vE#?M~3U5(R zj}}S4pKWIvQ<l;vT}!02`?`}bO~QJKG`YKsx9z@PE6iOh7kz(wxT@u5(8B$DR+MI* zvcV}pECXZloA?(JrbI_4K?Y?1t+U{4#6ARo9=OQN-aZ(E7j6;+K@Zv>1(;%v4IX6% zjZ76Z=vq*2Icz~;{RU%?7My^mYxY%zwgUV4?e2FSYr7vV4uRfRI^*>b#99S<=BL-7 zpTt|F@~a)RF;ttW`K=_};0RxhkIdD($uD)kLh*Wph}A0H#IA)znelFtZd#$1ik#O2 zD%Wd*-{D1S8Uc7mitT9n>Q{q1gDM}GT@6}qSJS(dPbFGEl<4hpP56E9UKjTMPNmtO z((5*19}3oU7-o~V$}wMXG%u~5lS1qA-kfY1c+G`UZ|o*zhMrH70BZAa64bu$xi&vR z`cXGmY9y2wp7o=h(y;Iubm2GEJal6KiQcVmKe`9s`b{NA`?#CwvMqs%^e2R-{h;6n z)w0F-JtaDu7pRA>ib`(!?OQD8?7YlfppQI>E@MD53GX6yz4;S**o~ma*;|4?YgYj6 zB<+gBcCw7YNC9rvp~pL{!L<y@+gZ0n9s#j~4)Rx%jK3JuS&>aEbwPb=x&?N?r`O^j zb|;hp!sCpa)V!Pxw7XOG*%dfh1AdHiv|I1V8=jkUmY1*>xi)XAXS9#rZ%^A4oo^C> zIuLW`{DRPN72Ou_ole`BDGQ0I(4LIRyICj_T<fTz(6qzhwD_H}zpRW#qM8OdH(;cH zvfkpiX`T|X1x0wO2GC10$Bmc*_XDl?Z$uzT#y?u_S-!IhJp`T&C)5xagcxf91balV zcOM=*UoBTe)KoXn=Q@H9dtg~E1jRNxyX)h&e4R=^J^B_HZPr41afb(Yz7493ef)`{ zZL{`ICC}}c>K$<VgX{!y^+Wy`XOk*d<*-m*O@q@tW5BNI_V@nRy=M6UM<%VG>}PV5 z2};M;#b)tRUj}SbaUKhVLos3p8!HhTx1}!H)+r^Dp*2dq<Y7fRb|T|DhoVdk?7(kT z+A|OnzFkIGE9;UdgwWP|azH<ck7v}h;n4ed$Fx8GmJXVh<`}gn!Wz}@T0~oAD2ii) zALYiTcEfub7`O3^VY)p92-grA3wL@HVW8o9Py1N3xU}T3wfS(0J#w_4R<hvFt0@n? zi`U7l4^?QoCHwPrN~HQB+=-Q`!#X{sMqzfG-Q>sULsELa4QG0Vx|S(+<sxBy(F2n< z--sKSz~DK6m!f@L8jh0>QZ|h8XDz#s$i%fg4O%wV0zKR7eTzW@U?xlXhHrvBVmLHr zX$Xgq1n`#eK;0)j?g$3H5il>c5$kisiWK(WI@qto!44U*ky%%_pg~()#y7^oGvam6 zPg4ioX1=}9KKAqkUu9}xB?H-AQCJsqGny7z+2gxX5Zb@*EJE{4v!@CaQ`!bWL>+?_ zX-SrG5T<fC5R1G5vT0W!ST!kLj7rINStKT5y}A2AfjGn%ihH|^Fe;gc-5jD)_sr#V zJ7E)?mw{FUH0Z#_R23XUBE-te2xrd&Vt2hp1O~0<8o%Cbxu0d#vRE2w)y2|BntaRA z_e3G_9W0?ny;7OuvK$%rB)Y-(6FLmpy3_Z|D?OJyf(8+Qk+awd8dn3TpcjFG*l_x3 zS;Z?pl8kdVEVJsB{P+wX2l|N`Tg?d0`6D*B0g^-Ocvf0>G*3}k;obyT-9cIGIv2}c zwY{5Bp&!o8=j2*Gp1?{v*iReg(a3vbI1ZpAX=k^<KP1;L!Ta7aY6TDTnxZT}J?)zX zMlxll0gM1fAvKdMJp`)lv<8N6qutUVyO+5hw4zcd#}B%|1UoqTiOb=$@WMFOi<W<v z&4RH`T%KxBu3{elG_~NrFDwk9mnNdc|MYHK=m*+92I-v)8YCP3m>9;hlzk7GP!CJT z+Pn4j(2kyjzi|}+F%BI<KDQBN{s#j8MF$gg{<q`#_W$DgAEW;d{A7)u+$`!wrv4T3 znZ|H7xf?xgEdJ8&LH-L)5t>IoI7#eBw=FA83y+`&$9d129no>}>g~xu21I+;@pa`s zz*Q>*Tjgj|mygrZjb~KT^>C>Y9x@SHOrARdD>6dae&CT_q$ptKc)98+`0qdM-aGE^ z3>b9uez<|a%FqJN99cPNr*iRMdjLQFU`usD4|%Hxhji}XF_0)fGlZj}3kyAOdq$)# zU`pBZW+3Jya8bP)H_u|85V2?#OXQXXU<w=msKS0N)YCh9)WGolp50j}H3XgCrQb_% z<fDo@8jtI2=TAq7UVq~3q6_EI;<dvlL;17$v)S`vqrNx_!p*WXd|D#6`N>te>fhzH zIF3VI=E_ty`vPP%m$C~XS`)14sKGGgKh<f;M2)5wBx2G;-+O<BO=)f;pPBT~0Xm$b z7b3IU3Hct_yBw!M0jjyU70{vtUb&|&;RLcjHOrol!8LJT&$c{a98zaBCZ8OQx&w#C z)IpPvPgFq|s#30xzMy#h*WW?AEewLSywj0mg<^Nvvajr%smo7$(Y2SJ+F*%7?>x8& z)8UzEb{n^PCEipaQn^|@MZ8pwK*K!2+tulyjNMX=olTUj#a?Ze1RvA|Y9FEl_J_2E zKDxeZ;w7HXeWw;R6&iiBi}}lszOy}O@te7&+`~&*FYo)r-4^Xja{HWxR|*w7qF8uy zD;RB8u#L*fYGP*s{!CIaMvb@2&_@XB*h4+rD%u8F-%<mt7!?$qs7usT;L1;o9*RD7 znXaD}$r_KhB!InwiN?pk?T5zDLzXmMG~VAyk1lm1vw;NNwkpQi0l;PN2z+wtGkR=l z5_-mHs)&V~=vMFqMVgvLmHxZcPn|N$!v_c&Uk0+#Q3m!b^};_0F}si`uvq7b+@;}8 z3~u6Wc;4pc)t{A{R=1ySK%f4*4o9BooSOR_Nav-R`MVyO^DT74@n+Za@Xkoo{$^S4 zqe;@b^{@uZHdfabe*oO{{!uzUXEkc|C}Gwd<oz(ytqtx&&*fCA4$GYXIpoN&!LU7R zLGu*51Jbwra9ITrl(6oVC&7iDQF5Hy&2aAsYQejKPOKmJgu9{>02u|sU&7n&7&azx zwpDhGO?J*I9L%_1qfaP^WsTYk$rI4TelR<yojZ?#qp_cRsweQUaq@U9;2qL5PEv55 zju4$-3@KLq`n(U`YI3r6_k#quO*w}#Y^CxqdZa~$FTNA*{8lP!shJ_lJWt0^)n~so z`PnuZ2fk-y;V^cM0I+KIwc7tmS{0Jboc*s=Jn>pbXPF2?H()YM_W2ht=QkU19Di)_ z?|hL^hErX<u!6tx_Y6e}E>oeopanl7l5m<s3)#Itc#BsQ;-Q2@Y{Xm@W2x`CJ^H~l zcidzNKEZ`RJzQq-)d4@SAPQ91HXsB)$7)XX{uUmr;MXv917Qxc{gknownZ(4R~ON0 z;fX`9&*A!FsZPi1GPSH6vd@7mYXU#(a57JM3uRF(?^~S45fhYC!QC!w!A)XN+$Z~6 zCo@E6*lr76Ji=)!2Drm8J?Tcj@$KRovNuzD)dw2MCYLAiSrYANFpsf<E<#JE&s1`# zJO<~niBk`10FjEO@440sXOpyLqLE7e7m76%{xBsB302^tvp0_GJ?-!XLTesOION() zgo5-KYIC?$!W?{x+tCa;Eqbhh!Y3I7*A9MkezuTpGL)KugBQwU2&7-N0Y$zrgA&-f zG@HeGmmaOf$xIt8kE})0Yb0kaYX^1E>@Yi0%ehW9z%YX;ZH5>48&_A6?!)0mJ!W9P zX21RUZrB{hh+!o;WpWCmiW~LNo(sQ_T&L&!0x}}=o4V%K3ADZCjq=|vcVR+!{Aap< z#fio`%qfxKMa6EmoZsz8y@?J+#9LA$YsV|iswTgXh9^rnq-Kt66o}3_V6~#^TM5%> z(`BXw&}w{GzVu@BeoCM+G%}}*_$R0=@u}+H2FR{fYGu*4N_<b5k#A`;Vh7U=ac^Xh z7K(YWvq`V~cfod;$VOTMv|R0@PwH0v=yfCO6a-H={|N5m4}}*b^=vvr;$|#I!~z3# z*`de^^5oyQFodD9>Z%&-J{0(2VZyR;{X!go$+BUd(VZ1O>9xFzb00jDp~fr&Ihe3% z%Y8qo^8_?}a`7*B)ryUVm80W+*RkOl8PSfXKhy5le-2(3kymT6t3apucNa-3IsT7} z57TL{RPF8#6ug5XV3w5qOgv-!nO$T&=%172pMS=2!6450sJ?vM>hnt$P^gWs;y$_o zyV}-krxEV$ww3G`_XF)4O^g5N{{?;m!S3%7y1Fsos&F^wX{Ga6s#-J5yKq$3TQr}^ zwhk7OZkcz60||N}eicuZ;DCIX!5em~MJ-d^H6~-@xLEc?*(PQtHszt#Qyik_Dx&L) zDxj{i4rD{QaxpxyA;Uj-534SiD$j<fY3APy8kJ!`)i`w0M3>D4sUPCkPeC`T%R;^z zYAe$aJB@yg4nYIoEx0YEf_>JeLSDLWvkNhLEh;k(-j4QjMec1INh*60+i^}n{y}E1 zu;Z%clTam><_yb=$zZqtFn!Ul50ybk2+&@+jZ}kIs(ddZvweSZ`yAwI1Kp_xEmkm@ zEBHEFb}jelvueL0s?=+hxZ{sk|2qUJd~syn@ygrPETqou88bv(-gy-Ae8xlSIZdd) zpnt6`!(I(yeZ=~c8<3m)l!~~AJ2D%tgJ&;!!T9jkVkaEb^P(qK(42H|@zLLo0mO;t zJjv^{RXEZ}t;KN@5F{|#r5~zf*Z%%rgq=flB}~+=W7|$TwryJ-+d8qGoOH*w(XpMA zbZpzUZR@+e?z*FY@ZZT^yJ}K{8q}_}-}l*m@&vwr5)OnK88>!W-v62Via|VL0$+;N z#-bTU%Rs?3Ky%kxG&IYI_KpS{qu`>OUajJKsa(p#GrIuIL&^;fbh?U?kZM}y{n4)( zTdBoT2)<tW_41R++F`bL3T*#p$8_uXTp(3Dk9iCVvX0wPVNR7#Y`MK2<?{)Jg^9Ut z2_9o<$m3rg@6ng@KSiVf{i^T>wr6>c!fkt(P#V?2fdfZK>lC>AAqQ>sKVpm(k_+-$ z?^w~gtI@hcdrGC)oOi4r*c0p(vod~ZN7$SF5LJcGcYFFqcJYsGfgL4_PgrTIwZJ-D zUyIGB?f8UF;Y2XCOuK^_M?vxD^}kWTEyZvHfzQ$F3s!n6PDH%Atu)Dy+`Eejo9*Lq zLG{D*%Uf)vQ=PQ2bL9Aj2+oPc{{rx%-|3Wi#&JP^OjkAa1{5mE6RmAcSUSGgnKH|j z%!}SF_2&1Li1K<az#hG?t{&suv4JnDrT+=BytPOmN|6GPrMoX@<t?l?YNjd~%{!`; zYk9f<;VFI{hDOKI8zI!j)p%d7j-!3-C0Do+9+R7m5Mkb96*tgwh`bV+<9E4sPtJKO zf3<`>Db@TWu(^P$5rB?Q@AIMGt+tDm6kn$b2gNo%DaA3$pJqCI>J)6zR|9kVNf{pX z1hr0|F3dxXX88UkYAJV*SAPtRZ*|I6R#5yU$SaNY-Kv-ENMWJV7IOj|-YGn4A(N8% zC9|GBXh}^y|9s?QuGky7`=F0e@H<73KS;^mXG5?}TO&o|qO>`J2PQusuDLFCBUsmf zDLp%WFsBx*W_#j3MbD5t0bTD7L7u-Skh^tsE`lr0jF0+k_^%2_&Yghs3_pc<oYN5i zhT`1q)?ROwRUf~-WCd%P(lN*1=neL-ed6|(VnzU^N2jZ9gDf=J`9UCq_uBM*JBF`$ z``payf@$}g$)i3MqKVAUg7lG@mW$wFZDT0`YQD{Hb}ZKUOEV)Gpsy4rZ{TEgogmpE z`Bx`_&Txzeu6PIF0zp%iM&yK^snimd7<WXenFazTQsE~Qi!*||m@LO;%Na3IfwKNQ z=xqpOP&x2=XbQrV2xfR%p-Qy;JcV7%B|+&fWCH<{oFDGBmL<xj|HDAGz$0vUQV7d9 zl5BWqa;P1mNT03)lD>He9l^C<q=IPoJ(I5kzbM4(oNCgv3>m!~Cef!?nB|jR!qnc^ z?<t<^9x6IFGK}hQykjn(0qYirsV5&2Xpxls<AMnplz8}*;7shcWJxP_fnCQdcHe@} z|1bN$%l{F+S=Q{Rp>qR)->?eo3&T%;CfIiX=Q}GqjykT9plc!R%buMT|LubZ+!bh4 z!O!^XyFYpCz<sdy9@_N(SmuwLbbu=8RB-e1@${en!DmVaO}ZD-`+$E@e|3O8{3rW! zR9v5Fx)1mCXg(gUVt6YYIM3S1ITnqwSs$}E!TFZVo546ipBoknjD$&-2jN}x>i2%v z>MQ64p-2nhIGG5qCBY+<s3#?CO%%E*<1krkQB5zn-6g=`Ub&+M2$g*aX6lg{7c-Wq z1|-RYS~64l5QyEVeU+eJ(rl#)z046uB(n!pF@Hz3s1=HN5tJnw;!4aLYO=6DBM!q* z)HD89?WY3<D|xO69JE2!^nmcoB!`f*B`7}s+Ha~__k6R_dFp`wb4Blqpy6)f8^ttl z)OL|5a(X2u(dSVE`1}q&m?Ne&&yG?kcXIi4ovXd3d8ToN@-F!IDE`Mtn~wHE5@UL& z$WMZVxUHn3Bx;oArhwm74>SE9J_3$J23?h&urZ1Zh!B@iz+j`y<n~{y58sk}7o7WP z*;Fd|Gheb5{RMxezGe8)YqLia2fRm;ll2(=bg2=yi1~_9QZIAmlS}Q1)UJ%u_k}jW z-v3$YXfNz*tJJ9{p9ZQ*Ptgh6S*=*b$skU2Sd>PtAPjfiCIG~K+WMB8FcTpZ=fbS$ z#u$dGedOr^z#D-HT5e~;R9twp>-NrNcvH!CglNN&raI0Mq88zV#gAFN3lK?~*zYoa zK?u>5pdgqP>l|H{*2Z%2zj$b=VDmFyYwJI#Se6K4FeTP@=>42`J7D_*9F+R<CAMi{ zJ`q1T%j$d5(nnfEd*fTOz8bsO-EVt;dpyK=0Mni$fw4#Lbn3<So|s*Vw@-Sw3WqYD zqET$?0fjmMIWjZ&cb5ha(P@R4$Z9J#cj_pr5f56lf;h9)tFzKpJnGrcgyjHGX3Cz! zGc8PrQK()k9FnGV2_n%xc$?yX<>ZxK6;#i2FznaC9TQi%rtz@}3399aoG0gQPwFIS z&a7BGz^-Pxf%<p?ZkcMBp6)4}0VCKP&9Am!X~y6DL+_{m`cqbb`?LxjirB_#n-?cx z_1zinZ84hYj-zbqpBu~k8J?4_8z9hOl?Ph0YKCw$du)pni*DLw!)>q5)De1snnwt@ zq<XSW`ae5Bu$8qwYh;=c7?=WUE53u)8cnS<5azgsD>-a%4&&my5H~-UTv}d<nG-fJ zgi@PJIPr6nLI5r$HVV0474~OoRnM=Wxf5N&`POr&48MY!d2n0Z!d`~D*1wED+9;e` zEgW3lILd{`y<eQAlHJ&z9mjkYh)oOgv}x=f2dkB$pujEl%$Q`(E#BjsBey>LjO6Ig zf#r!u`;85M(;UP25mEpZ473$hB^5`!^*Nw{Z6{yWYm)@B3@neZz5BeHLKt@P<fo=@ zdn{<;WX&ttmoY&c@ru{#h4lrW7b8ce0j5kxn?}U-@8QDOl{;j~0vmu+m2mWw#pW2; zLr3kjv_mkTz}!SZs~Z!s7%yDNdG!koP;H@nAXq?NWp8cC-j7d_Vx&`rk=<aFvx=6j zHO@LPa+5f+(R9nfdMAW#t6+hn5KqCZu_97!n3OP_oH^Q0-N6Pd>yL7mLydIGMz3!I zggyL|kxjS<cudv_v=1>eYd2)MNfPtZ&jQd8#uDu;eXl>>_Ux~0Y%ArgQ@M~~f zFnrL}0`a+29tMDm#HineS<pcc95>(Pd$9m=+=6M0(`6|9<f0k&gOI24noPnVVTQ|n z8D32$F%UB~%zfM=-*8+iuv-mvG^A8}vP2?GfM$Q;88<0DDz8>vBcix^G3SMQ&TEb| z^u&}wtM(D@Ly|jc=Tp?jVH1!7_SQ60u!Jos0r(<H(pTwv>^p5-n*P~Sx-z)X#fY+X z4VLkB+*WM=+BAmXIFUV*dnVSV>P<QVObk4ZHR~r=<EZp*_e%;d&y^oGL1|C5;BHtx zNxw&SP4m%C>o%?=2O7J{mgE-+Pn3o;5y2o9(P|A1%b6GzwxETXHl&+@d}&(8lBaU( z6{6{uol5>^%%5)Kua(m=b#F8?eBTGCJ|q4o#K3POyZ>IZXUN1QEont-1t{-3m=wTK z<JxuELiHW&gLze1Y~1K{jI&D@u9T&Oe0!#V_W@*wmXDhb5`q6s8G2ix5mZUGN7oGu zOk-$gBddIk>7`+?w9*X&=^4u8Z~-}MFy?Y8Q&NVR@brqLyVT^f4P1~z3ym@cqoFMx z-L)lSbXYwdZdsA67=7rH+(l{Y{M}-J$~I&QZ5}9DnYp2*&vdPJZSao~F9#iNbj~6l z{ErL75nJq}x!^Z6aEYSEHn>4X9CX!sW{Igzq^OMfcD}!qVxjrK8m+|F4ky!ua@L8Q z)wv|4R6hmeHCH2iu!A((Z^nq*%?}byssHA)vYBYw+&u`nQ<ZDRYN^lnS6%T5*fMZt z?RHmJ$z!&3?1lYrRRV)mMIQ&aDoRqRD!5~Uht`e~7Cj&tjE8BX({c@XPBVX-qR?tG zbSLuTh?$kcHj0D-F}R}KPOCO_2a!@WzLVAI0G(EW(bw@$15hj}brqx1mHkDz&KCHL zQIpP=--qsVx1J8V`aGSK)$@Z}+}c{})eL?b4(}LR<>gaOz0bIr<cXGDDk?^RVg*2l zLdjfx)T!m7xVL?EYvVOx%3|MpwqaK0j)m8eA_s^pvoRQGn<?CxI<)+w$0JzsdJ)Tg zIC|2v=3A&>eo{t0!>z?5S4GqsmSA%OIie6l3{R`fmonQkNs!+QtxFGYRV`Xl_(~Ug z*{Xr^Au<eKCxqauMN%}ntzpt4D$pS}GmhZ7c??EnK3qV}*lBSHE27mgzXM%!o|)P{ z*8}ogtvwUSnaYo;zlfvE5jZ&Y=()3_`AS4cu*ir}OZv0mdXQ?s+8a!b=CCC>N7tn+ zF>D)}&SZjJ?@p<jJquj@+0XR{C0jv13Boo<b{e<KfeKWoR|rO+w2Qc7LQbOem;*Fd zCI;Rn8R01Ee*w}x)*Cnzksl?WbLA13qu&s|it!sj*P<WK?S1x+ZOETcz(7E7U+}kY z$ibD806IBNqHQAND~*?BSV&i9S0SUu>rFS(K@+_e#p`Z^)>uTpnJhQULQ&&;&e?NA ziB|3v2ZuiS1eHF1enkyQgcIfu31%N8o#=Jc-!c+NMmQ_-THp?*nW{awZKo6+-!?1M z$<R4K{|0g{#Nx3i<!Dan=6fQ+HJd~&9cp#v83OS3JwaT$_oh1fbp$}fkQ+JqmC%Qo zDb)e<8R5@TDce)Xo5Ls<TO(;gZV#VCt1OG8yU~V+umG?wt3lSmmy*FOOd?#2*WQ(d zA0r;1vG#by(;vdW)5j-0=-}b>7xUN;BTOQJo_{xB(Q=dM`T^)|O#p7j{bX0Y#$sBF zm!Tdq@G@lXltbE!Mr>QX_sZEh%hy<mA0<J0NgZrg6OEr$Qmp*s$)kgh_|<=HAakIc zhM|Vc7XD-1lP3$4+Lz8dcV8b}4EMyrbPiJ@%CBs_F(FWt{lE+B2~x}lx$2>Jv~B1E z(G8+5>^n|PR@YdUVfOo7qsQD4u*=9XaUb4o>4lkWLzCMaduMV$=jC}X<?td2QdgdO zuId}G445pCv<*W>76_)CEDcG7?&~J1`93Lyf{5rpwBh|<_c=wTz0js^UY>Rn9)4Wi zh-t|7Q_YZ-+G{>^V&(E0*kco_W5!wn>8XqUkg3nPOG;i)UMf0%Q$gET%(+9ldMvwA zvW4~yNk>mXK(8MxAJaEW3B8%Y2%H@ME+*P=Fy)3BJNg2!(~*(hQ)@7{zhdrf*eLL? zj8>8|oY6&s$PqBc`JC?ab==l{(UXxx5MvmljIYkGRVlI-dCSM=IS2F8r&X4KvntCO zMJf9}>eAY}t<(h0`Fydn$|bKaiMRUlxHsEb5DhXhsK#yDLKc)eZOmT;X=ig)%?YTP zh1zN`%5?nq^@X9JDqUAqev<5^ea^`i#kkJ-<M?KJDz0M;%B^FDrcFw;s0&ElP)`g` zmzF#9R_%etV!@iZhQP=q0Q3-$WPEW#Nk!idQUCc>#o9S+Vb54?IE`B3ewZcQHNr<O zIWs!Ex7EwCHN1iVU%YQe5=YugJj)^_JhaB5meqPou5@gi3xYxjgONY71jF8wAy}r> z;ja*Z(Xd@Q_gk)yg56fZdwUKkridqf4O9=C!&enYduQ({%VaT54<r|G#wfJb(st1S zj2_+e!T#08>>I_2!57fMiGf7TdidA5;*b+p!ZTyx(7Jp4GWK%#Pqj9EOPQ2(w!%MY z5PC;Oxax};1rj+v();Y#X4vkAs{15|pRAyX7gMT4E=X#N;OwRWuX)DiCFPzR@?g77 z5%VNovDHf*A#`$V4KNGL9PAiJav~UnO`dN^Yz4}p&W<?&U-T0e{-H6xJ=~3DUjFyc z110ma^A*chmITTNf3nOEr{u#q1;H>}ni?kAPQqr=E)5>;$G8_T+tt8ITglV}N7~p~ z@JFcpgo|}hU`+#_6aHK~EQB$3BCCA<asfM4ko7R(u*s-Xc<0#So}*?ChSYn3#}n@s zZg6?|@}OQtjV#pFB}a8sQigZVko-aosCfBelLR#DpxrbGM@ZAQzP3-U=aA-?Ptvz7 zN8%^cgu!0Z2q{{RT5vU5dbr6Xj*eLyco*Om9zK#$A9(^{j8~#VTTElcwy9%Lqs!Hp zftxQQy>kk(pAgveC>df4X=6XA#-%KwmIHu%p|5z=FI+Rk$RuK>)Rpw7Vckx(5+j7l znu7E)ol9<~c<R+Eq9dr|+R_15U9-GTV#;c?=(;T{Po_f`lYKc8myK)bO?ezNtG(^+ zssW;d?Bl?om2n)a^0#2r)T1eb*+Kh{H6n+eIHJ+)PfgvC<`P)EO@YoVq%9-$wZG}W zvFgi3=f(X^0hYeFx3sK(PMkx{50oSQw~0~IYaN<tl<^HHRFRKu^Kl)Mi5Si^!t}Mi zQH~@YZnCu#P=$eI00v6=3Fw#2I@F%Y{d!&e&?Jz=J1_E>5Q)DFBK}7=NHF(|$Sdp= zaE-9tAbet2(?jc^{SZv#xGY5Qo-bo(M9VdKVg#>8H84?)zY@5OUeebd;=uHj!$UEe zi50^R_;|*c&)<^7E8GJ~DwIVE<}pmDo3)glbWRbNw>y{h7mJ+4t`+~6^=FG4BGq_4 z_8)%_J-n4S*3q9>6y+kn9QVnxeRkNR&Aos4&$vWQivbdQhcYEWvUCq3Yu{5+U)I2Q zxQU^R(LPEs6&hgd8dJ5KFq1xujK7axY7NnLoR4#ztBK^7;SzBSQgZJ8_ijD0lU<^+ zUfTLoBztN%gnmkaMh|MLxbl#iXrbh8peOJv!mb*My3XDBLCH!76ubgA`%_!+(s%JD zn3zjD@q>(9zk-lHqXDtQ&^ThkA;&lrHi@*bSYowYYAraw{c9H4{^Vj%-ChK+0TAwO z-$tMyquZAU3@{<OuFyHh1V=9FYZZaOIO|26<Y-{@IyqL`Ctt~Q0X>r&99tcw#K580 z#~cg1P&U<?tG>SgyN2DEJ@*K}4rzMskH=eUNyzI9OjY><>i|Q$e|FmTxbx3H^Zva- zl1i~NU6Z%q7Fxbn?atu78!ul}XJKQBP@K-kun)Y5Vpi#fL6k2~eX2*y7vc_t_zD(n z*%ny3llLa>O}TPI{mg_85$4#2=fGv7b3s_)gj!iZ<c`72uY;disw+FB-VS1j?&=T& zNYp(7Kc4p|?g82=P$IWB?FIASNkPkQ`_%0=Kqmd00+BhYC%E!@wqfx&m_v;DG)tG4 zO8*x~*n1}ecGKrv$g*ij4|=wRi*6xe3ne!_XMxKA8Z4zIYY-RPi_5>(5b(+7MeOXJ z&nZrGIOwu5;dx6e7FQp|&ZrBV2NpADY93AO$Yna~?1xq6=u+%c4%e(KW2W-TX+R(* z)5(P?NqJ3m4{JESd}bv30g)G1Fs;6-^P=0fn-<4lP-RQNhcbRo-AMZ(c>b!~qx+f< z+vC4Odv~pH$M-5uIyv-{fo0kkHyaaf6-z7XdT-H=O}zpE)okhuI)>7hoea<|R?9f8 z?|e>rd1Z{mdVb@C<@D`lW+>?sTBOl4tXyt~MeMp^KXIP`GH`Cv9o^Hnl)vQJdU$mo zzH?R*Rkb+784WrNroVj^=2fZp+JrcIwpuA!$gtJ7Xjyc7wlXVWfTzu?U+{P}Cu*$c z_J1O8LT-zH58fb&oqS8;UZ8j@G`Zv(sPK9&F`ucr(`PWX_dHtZMhRjJ!LB&1Oq_Z( zj{L&(QrWR&V4zc2I){>fe2GkQRhe3sv_tCX(J0gQ`Y!vS$01d|FiNEr{p4L5zsEdO zp$x@)qE(kE_^W1o1t{mIc`R0|?0)#Kq#Ru^^p%6qn1;p<o_a7$f?Qo?)rG6t0Oh(< ztD9U<a;*=udZ7(0T~i2c;Gja9vw(u@J)TXfR>p(qyja)`+SCJ6C2<*5R$geraT}qv z+OixeOzULmny#lq-Cr0x^sMGZ{=J17j_W6NN<X4aj1`X0fQN#7t$0caXR{Yk)_vB4 zJ%%KWU)k)mUuWG$8>>qKyutxnp(~^!G!HVwZIKRR5MLWnfx8T*!x|VR8izGsgLDeD zQq)~2o<^xZsRo2FDmtC-{e?@So_@lMUwNQQ-kr$5j;wipPhXx!xg^`-F}$i<?rzu? zo(t68%Kr#L13DOPFIHD!HgP#wH9Qj>v_tEb*;eI}jU+?G{KyWr9FtMdLO-{IHvJ8B zYVrycgh^a?jnd<+GL>p5$51MD8d?~YEPBzol7PW*td*_A0;dkD8CP@g7=jM3cC<pP zC%M<jq;mKGF*WX6VeH}HQX<+$+uQrIyCmI4JlP8U1d8kWh~&S|X(i)T`m}%_nbz7% z{VM4;kES}*3dkLgT)GS2odyLL2FU8hev~mx+Fp)zT!olemxd)S-16b4ZP(xHrUcYc zRQI|^gy=b7-`@!MSmQhMAmd$dw6LbYahuwCiFMR~$gDy|8q#td2j$_F<9vbg1X^aS z`!4MVz)crvK}i+xvC^RiS9%XLsz*b5n-1dfq_wS_lw!cV{G1vMyZ?U=^j*X71qDe0 z+k$3CFV!6JA5R*|bs?C0d;HOV92yCPX|gyct4%aLrIZ<Dbl3p7B$f%3GYXPxw%P7f zy1^qF03G8A_B)6Y66JQ^Gxp8ls=}$Co>?;hpf-7nl0p&Lb0KLOG()=+?F9xwz+EY5 zdsIX~D#bsW>L2b(Qw>uchblGak3ms(6?F2746nC`$&-4jrm0c|qqYvMc8jwt9F+*V z!G+7wF;9qw7o4`OK#D`aO$Zcpz!c8e`EDjPx<mwt`Do(l*)*J{75ExIw(-JIa3_yF z&~5VZ7t8raSb&o-<PdZ5-HO<mEfLDHUs+uotVoFie$3EPtQM&>YXdsr-AQ8L4rh4k z;l%we;HCitPl8*e7*ORf6h?s$@ho2HnnwIPb<g^kdM|0Unt#DA4jgNDmQ3k>9N-oG zYwu`MR(f<SjV*+zYWWxV<3E*fD}%HQ@Ru!DEu{)wv6qaTB+iMl;>Es^f53R%_;!P$ zG}}{-rw7}?f>|5IvPaG5V=9%~MGfZH{!@gI&!RD`&hI+ga7MvznUn^(Fg@{&d5f)< z{>^+`wt`%R(u&}Qm)?@hQkv=&CD|=fITB1Ndt@?Dmw6f0tOJQdQfGFaw)n*%u+?A+ zT(Iw1PM%nx486h9Xl(sF=XAqt!t|I*Y21FU&a!+{4YT#%|0`_N0dT2dg1(2*YIDuP z8Ncq;K7jRMKc{V+5$_29Q$N)<TR%&|3v~TCV1%SiA3~9&E<%?e<p~<eAX%JnR~4A= z^yFZzzA|CO52nsp8>AYov}#8N@@YDZt|8#X<!VTREA{APuPHL?36Tuwdgr@4TuqPe z3gg(Z+gg@*-a(bhx#8LARN>j=>&?atF=KG$43qvGR%WL5HI<51o24(Q-ZUepOLD+3 z{^`Ota7k-k*qz*LRG`?{uQepzBv`5#J9mKZW5(8sm-^mozd+y7^PZ0m9E$8Fh>UVz zAjhYjPHSqzM`0iLNbx|tit>6{s9@s?Tl!7aA{C-x^klhi|FqOvqczXrpC_5i16Pc| zCV7AfD7125)%u-OKu6M#H25IIWRcvORU_}$vh<BSsqm-?n7r$R4V1VN*v3zLN~t*c z(-Nh#6Q)&yOCEigGLpstbk}$g*tMYf3qiQs?Gc=&)twHZzF|SwA}#6Dht)2%b$P^| zOCtCmF0!y0`g+=d!P%u#|EgNpvC5KMu=C-jnzY4<Juf_}x42@paLvXKmU7I;QUUCh zH6kEGG-zGEEc37|r`jC5NTRC|BcXt4Jh^(UB&KtYM95c0wZwrAD4|?bt*`3e9aoa& zz5ff-{#O|;1+i^X4US9;<0v@u`Qz8Y-jG@(J2s}NL9~U+1p{Xdmo-~W(A#gUr_aJ_ zrAfZixUExWYl1821BA*0NPa44i7B)_32TvrIwY-yCKsF0YgcO2c<SV$37rrt%I3oy zaVZ}gLVSx%s(9jY;8T5zMgnYDqDb9vYf~?UwlRfCy(JR-M{6sB(y3^umSNaF306D( z7n|WHde*Z?qcP3L|1bRahkp&IK<QLKSmM2yt?Lrgr?(8l0ZsW@U6ED|ln7W|N)EJJ z{v928r#A)6&ka|KDez;|^Qew~fUCz|<>oh&(r+0j^QD9cg`_ZEUV;W}*@!H2964WX zt4-sP=QgIBg$d)X*kT)X-F>?qd)P^Y=*clhO*!iuY}r4DrIw73;aP6!)nfkotqc^A zS6EpRB1{QRguItV9vJ9ifJCm&N((gi0TvrrcGUu(;!EBEBJ5F-h0W1L){mQ{e1Pdp zAQFd_I{W9gt55+LnF(3oi}F~I6bgpEta)BQ>Z83DNw&mGAHC-j6q(ZysEPM5!?F|m ze3>4*Tv%;O`4_)5gAwC0i9fM;8O3LO@N(B0Auf%xl#ym8j(_cJ#7}y_${N)Tykpty zAT)4W%ror$vI>jU-;VlHXGD1~Y_X@NuxjOk>H(`!J2y?U_%ht2=2r9xlVW`%3U5Md zCKyi^VAwUA0pcO~2gHK3#@GOf7eR1c#`=!mV%W@CYyV=@)72X7^8>8cp66yUU07Ro zkuJfx`2x~j^N#`&G-{MDuqRqXHslA~$ARGCn$$60vUg&#TGC|wN*7-kv|U)8%rw^H zV$XDs7+sLm$bViC=L!D_O=ETXPF|cn>~YK*=HbcNKNxAic%8@;{t+U16taI-OGcQL zspWN92ECn=G1P26AAz~lcjG})40v==_Rh>}bIifv`8#D8%%vUM!YN2?3nMu!*aC0Y z#Vmzrgw*l3cezY*rkhDNr(0kei;C-g1Z651ZxZPhY?vE<i_Py^U4*W8$?-k8b6Pzr zSMB?=Jk4m$Xo+^~{-+ZLJ=M&t|HHI<R#Ypj(L;G^LE7?-Kg;6pChYXiF0&JvKo>Os zAf29L70^DJ`@X87`zX|>M+>VH)eM+V4Ff^4Ez(lcUAOj|g9&DbBg%RC(mC4D`${`_ zdY|A_X^Vz`@&!-druK<-((U-0ouLx7aHJCJNV!MkRLMyxo<>+GtB+*j>^2h|r@dzN z!;^aJZg(wr>(>lcHOCWySMO1Qt|7;lxuv-8f)^t9YD$5qf-fJ0pQ>NPmH@ERswy=1 z;~7ad(};9A<GcC#w?hvBQ*bYepW&qgMQDQSV?Lu@E<W?}Q5wPM+<qWq^MDZ|RD<`3 zued)p7SV*(nv+aKpDH}1T7cY-r|tUVZLr{k!Ns;}eQSF0>cdpWzJi)6yAh}cl*T#w z*RSOino~Y41q1b+4ys78&t9OdfG=;h0)EsI8;W@02Sc+<N-W_hGk-mAHg*g$Dy35` zSi512R4#Dx!VaJ=MP@r+-4}!vxVAHzkp-B50<2uDA)!QZ!&x?O1{_0`iQ<O*qCV?& z8gYZ`d!M>b$$Jii`l{FI3C~d+eXA*9x1sI5z~o;2p!8A1Pg!!cl>t604GwWSvI12F zxR#g5UFc!vYBZ>B+@R>>DuC4byH~zfNVLG*)2qx=*{&H;+o6p<bw8esZOyEb5mLJh zfpgzJ`5EId;$LQ|5%zv%gM{wJJhOIj*2ZO&V&;62(B^B}urZ$Y_+-@=&~*Q0KurrA zbu@ZBYsvZKYx6T9r~$Y2#X0ohWn<{87eUO+CFTB%ta8^+fsf~9I#7N}%bRe1Wq9z? z+9_tt$4zx+s<M@s>|;L0)mH^c#RHWN$f$juwJE>MEXQ$C0Dmm<$>y?h+fUl2^Rq?= zgK}{b(UzmQPsnCnDVc4Vwq1JkGm7epOj}dlBDRor>Mh{Kbb#OX)4PoXkcCM>OiHG7 z26YOrTJ+ABR~C>dB<a=Dg&`*Dc+#x)4bh)uR*#khERXGJ0QSx5sjBj+olJiED1=6@ zgsX<d5{pAg8mEV-)fYZ_BP%7l!?4`;_MXD^{s@bjQ=W@2et+HUger&RQNUo^V$rA5 zCN5DM@8+&VHt_sS($>Ritz-!0*cfIri++HCOFPJ4;Rm+OKa9ciybevg#`Cdk?N1g3 z^IWzKwQ24`h%Y5NMD7@xUd4?ly>Jitv^{06{+n)*_nf_}w6hw_l{e_)@iq36MFmTJ z8l+6NVY<V!`$DivU=)+eJH5zb5~j3Jjfa_w`eYhSA&}JnjmStaxh6ldlY%&{;%2qV zTMPsrX|K$lop6xMFzOd{Zr#{#G`+alfw<75Z+&qvLA1T$tEQv+Jffg!@`SnP7$<td z-HN+T1_AF1<1e1ptb-RLO?IYRLpgkNEmR<dW%L!B{L#Up&A?H=2st$k+?=cjWoc4K z?OWGF10ABf=#)$0MdCm%3UV4ieXLd6$H`j!G*!uK^`or7M(usf=_Vs0oRhcYJITV= zt=g*;X*WpU52Ql5fo$y2?Z3JC3te4l8D+W+!haOIj)=BZLf@G-4*LhuJ|KuSjH5Be z=en`$eylwC;nxio)if-CWZ0^U66L~1`RgoafKCfxpGpjz*IKPpt_T`GmE4poI1Y;t zV%utn5n=)B^~ec~V!KVeHtwc9Wl-yC^Ed}Ht7~hIjo3K4C<%^I)l!!#9dya}jsFRI z`(!nnN1|hreUOH8ohR}ZFdw1P1<^{jz$}x!=#I2epV?PU!Z))0$P_c2x<)U2D!ZRW z0#+~r!K1#qM3SfaUB}6&xN7Rq(tch`<AX5HmM7%s!;1w8i`=Aq(Tr_{4wdkipL)|O zM4AZ`I{WfCyx8adPQ)>w$FTcRqjf#HmArS?=5a4C!qR2J-C10;9Nr6V%vR%d;Rh;O z6?~0RR(giQ{lFqUZ8D8FTTJqJJaZ460k%lf^ZF`~`OLUsh7Gb52Tv<<vn|p}#0f|v zQNtSI<otu<ViG{Qs%>;iH5GaUM-;PiUxpQmj-eu&uDM`Jv3brV`UFF}AvP)r4%!q$ z=&|(v;P4;rmJd-P`HGj_RZ*~Y&kdh3D7XPS{7cP)NC`d6C#9r>_ma2x!#4DQJv8Wb z%_}xZcomm7@<o0O3FHCRq-mr71eDP!`k9oClbGgn<=dB23kCLOcFQ!ASvwlzCW?X7 z_mnN8n@}gZx(uUOB&iW$j(K&h{f>IcFn^Pk=2e$x!(_#DqnowksTOVS|K0N5exn&Y z)mLlhUvg4H6`I<eVzz1k{9Gt7=YSg7sth}uN-U$Gb#_+3+(+Ce$w&Go;!gQ0)dSR! zQiX^-Hh&%m8>}YX$b^ImIgNvl!Fz>dk#82D_lJ1cpqc}1ihaSJfS5WR4FiZ2)$lAN zMSVF#n$(L!NQq{nI7lsH#;!~#7UuNtNzKJenTS=io!(~jLuK=Wey<1WJY@GLfB{*2 z+}9}R_BnC{ijV>K7RWA1npIz|kxSWLV}03300#$7{(8ccOQN{A{Gwp4o;fcSWBatg zM>JI5tu|qOoc?EpKb9;e3zg!ac=<;X=LWI(_G_X1N6)TW!qLJjk`&t|YN9O0yVVQM zU5Gxzvi>lrplN`n)(Q~!@#mxx$i}Xzsrg$BPx94kjvoxqPx4`9>Wt%MA(A3qa2Z*z zkbcd(A@n$!3$v--Z7y<tJZ=R7axqO_%=*oB&gT|}npJ>|qD2RZ`Qj8cvX=@r*t>}< zi2RnaU5T0hlsCoJ^@eyfRQ)$I-oS^kMXx!tP_fqdc@+BNvm0=s8x$I=MA<*#oNMMM zM%gUnW>)BsMO5++y2-5=_(%-X)^rWlUDO`HMyuc$*eq+~!m31=9gg~MZpf8re7A|= z8RMWZ9;(F&QH{~I-&=lY0QS%|sZtThs3oibb^JU?qPb)u=PWj?PzK@S@r8EM<t~hq zyTVRA+Ph_PDH$j|Y~apCrxNeo*j!gIqTckCP=T|&U%&n&k}1Ue(?Z?zEGXCkH}>oi z$A_!;P8y!N-48^`s#3J2t7oro8(;M|uDpX~O+pn^2QC`=xk#!$yv&_R;M+q4ulHA$ z&Z4KY2uT!PfEhu-O9Wr=t&tNYuLPDO;5{Wd=5v@|=ouK9#0oPEs94~J7Yg#R%}$Yc z7Bj**ivDK<EWr<{Q_$@|3krAGPk?U5;Ik5NmRk|jMkOM@a3gM=d}uIl0(HBKk$=#0 zIl+hYGY6su%Xte<SamqQK_Ha8wjWXqHB!eMdSg2=O7yPdfss#blfW-9rH>p#(}fA< zai7mzDgX&|M^TzH<y|MNoHt@%^cQgK!VXu$o*iq#TE!;ymvsI>=@%n(wNX`N9}j8T zENT2*BN*1Xph$IS-H)vyGh&-vo*~5?=23j|P%>V5{NKZWh%1jy$k)~XU<kR%l7tNe z?F&E#$s{lP!o@m4QMoSvCm2nWyZ7mjIDDjN#cZvs^~;ZUt6;YpCA%vC#aWbl4Hu<E zUg&c^w;#lq(^f}4PCw*!l8QJngrOcFw7JhH|5*!@6*AmmlW10>a>0h0y9WFfA{_gI z-O^Bx;V4^#Fs8zdV7Uq@>6$Q+Hvj?lA{jUyiEIKzuik0Z1fIBk!*?V!&y~0hNM=K| zGh|8ny<)%LCVV?Jh=k!ZPY?es$^x5^Y2mQx&hH|uDnX#@%fmZ%n)hrs&XYCQF#>(- zM2LicXI@#eVEp1!Ycw@Zaw^U<Rk!XuV0!BP4pQrD6p3~mpS!3!<O_ox$)qj4NBC#K zCkc>%%QV{VjLai?o8zIJ&G+9<;F^DScM>Uy24Iscb1wuhUulil9wqrstuB9wp?K8A zSOhtEk0N}~=_bOaO0_w%7gW;J?8gUh7UvXkS3Tt0)TVj(HHlRhN*HMcc&a->#TS-B z5^YIP2AgtrGq*hB^hi^>`#kuP?gF*lAnE#$Yg~!Rdd+XT6+av0-KbYnl+;D5b!uTy zW^lpSxn%MuPVfLlqE%~cMgu>Jj{3~y>)44#Y~{*{*X!ht#61MNhEhn#8B6Jr0_xO# z(5nCA@jHpL*N>yn?UHtpQ62uzT2O_q!0g-Bye*ifpFB^uEJ0j*CGnoh%ov#0C5Hwj z+8fZEIGVmz%@~W}Dm0IY^I1f;xMx8FPMq=w;YP=)fWc|p{f5!$_y<d&k_F_*b{>8~ zYmb{NoFbR7S(giKJ)tyRZo%S}Iz7pM_VC>Vdv>LJwddzibK-oh>s3~Krngl`ul~A@ z!4iRj(`aHp?R2p)og_G^AD4i?WwP368zlwi^x~aqjJsn((nwJM3P$_eFkU!ia2Pdz zqA|S(>eP&lPxV1rU2jG%=~?+%=DS#_cUPVC4cY0sKn;Jl2>y;dc$aTJWsHX;9j*Sb z#I>_GorKO**6BC4N_e%vQ*Y6huu!MNMuEb96m7<NuQN8qejQm!mhJ-X_)z&vEfU8l zuN{3Z{<O6VqaJi+sf*xO{}^zpVU2zC=SPYoL#^;AZ2i)VpDVD2j^QW<M)9xw%<7Bf z<9zR;XSsFQ5`ZK-e#iRa`XM)B6f|JfgYfruU8O}U)Qw-bIVD+3(aUTuXb-{wyB}fM z$bk$|=0b?{xQ)<@Pf-H+meLkVqLG<aAbkDv;f)P?UrC=Nw5@Is>uTb;zdrj9`zkNw zBIyuG*OU5ltF4<l1prRD>&2gOq($)3b)!zWWmmWZ7MnNptyK8fV?9C|YvZKM<N@Uc zL^{3uktt8KXz9Z%dGMg5ojZFiY<%#oyT=D_xOt)oajR|!7w`%6U~mz<%bdta%+5WI zt?hlul4<^cur1lW28g@dD~Q%O5XOieMW7dxm?tw_ea_KZ?z&44-?gv!DOEN@cU3O$ zJcqT_^ak|J#rTlc6*mpHk*nU>^ZJ!U*^Bw0HFWiMe%p+?$UKw9Z^YhKorK0P%|O`S z-&=_=7Cj4>V?Y200tvA1w0ZRG?1S#<z6~V}VeA|<9z}>F!3^>-Kv#8~@F0R=Iht_$ zpza2dr7RscK4(+<QddxgdQdI3ENn!X3TzvGZ!xkOcMVWp-{rV$Pw#`xp(|Q59<5Kz zE|lX)DbRPhHPf5&q$oI;G+8j`Gf^|!cI-HRz>qlqtsA(8YNy=-E<LbX_gz|6X{PC2 z*|78cUT%+0%N2joLgO`F+O}d-FGSS;b$+}AZ+8!ALp`s0kvDu$&f4nB4c*$OO#tN5 zTA->7$vY0iG-80xsp}@Cy|KLU2Q%(?2#U~IIbg&;Nj{N-wCk_0aOc-s8HLYbrZwto zzHTtyvH{v_1rb8^L|H#yyJ%(ZlbwPZz#DVQOb6#lWWaDw+$vjsu;75SOfOD;7?i_2 zA6{sY4>@1JJ*L9Ms?YSmEU!z=xrH)-K`2V@>|K3?F_VurPwt75nAduBr`@@`rvz*h z6C1*QQ6|J(V{Z#-4yM`iVYLn9o%b#_2x~O4kO4D!OGi$~hSG0flJG10ngx-lrdx*l z+yY@Q53{I$S%4||1mNs}!&8`?;_?0Ij*08rXgkxF3&^w$DX7Aw&756hT+TJianArx z^G-u%S(N1^BO433(aj@TwR15WEJYQVpRp$I6-OI~?z_y*+}~$q5J%52J8Ju*b^vD~ zF9)Q|tg@Q+O7-&RM*C$301Bsjq6;(Yf2hK$_50XqV=`LYBj<qHTY`z`5-Dsgl|i}f zbK_+Ik>>zhFXTXRNUz)e0Uoc8KA2)i$Wy$N<<&|OGsc`^FOR?Q@Qkpy>i|ys2lja= zz6Z?!A6TvxS9eK*UBhh`#%oCgc=OW~LZFRE*zl=Bx?9q-R<uYwN!J~QOG*!6Vu=Lb zi9LRRKw(k-L(xlTuic4Q*KWZ_UWh++`7F%$X)KKY$uDNv3*ju42Se0bWPzXltX?PG zIh5)*1r)MW-j;C%_?>?ia<R%VOme@a4q|3Qx{alaH7}B}mQ|8D!Fi<Sm&W;&1A$-a z97cM=<maeqALSn1AA;@5nD1X<UP@;Aa$6P7N;gWtF0RNOCz$ay&Olwubv4r-@~J6& zr&KylIt7HelgBBgj6A(Bdnh&mw}n$Z9{;(Y`r%foA85CT7<Jau$C5TsA8m|>ayPFQ zMjmzfZyj6@wGyomStao43RdRXKY{AI|NR~#SGSSsr3gE!(56%0oK6E14A!5{#D(?h zG3hzwo}%a23=b-jMD?%oxzbNvLjzL*rt55WQH@5)?&+N);e*Wiyq>;}q5n97L60|` zOa%REneEc2z~Ma~_fjWlS?+iZ$vY%A=Gck7jVN_3>RF0O_l`Z|;gwcjt^wwPIQC^Y z8z+u9zL@toRji?8+pNu6=NcQ?Rc4O^SNJwVGBJOlfGimx%l`|ug*Q|eUt#PQ*fSzS z_O-Gih#hfed2O54>W5avWVc!Ya5UA`FWv1|xzt#Y3(6_*AU7X-Z1Fn?mPheDV8m04 zOLR%*&;5z*J24D<SOp=UECEF;kyKe&mELi{OA~+W<wKwNI|hfd7K)<snI$iIW}KRt zb-{&5z3?ZK{&nB!`je{r{0Axv!Xdt95?!W<B+g?;ivoc*t51I4o9+uAzd?bzVhD>W zNKpmadyI@aTlVeb#r7^HMi&tZ+^s!2D53IQN+LPsem1ox_m%Tba|pOH1gfIOm7%$M zKq-McZof0;PG4zZh0H^h3Dj7P=_Kr)%A~t9-g;(4s)#=-pzyy<Q7*v>lR<&(s$x>K zkI+YcQd^7t6P;;hh0ZML*boUG!o;Cd&&iyfp*(xRSLy5!Sc~4#s!-x4I=DKVzgw}7 z?lC3s5GD7wCW=iA*9RyaHYv(crj~K3>0oh6os-t6!E|+{DO1wudwbX|8Gz)Q%txs) zwxZE)iD`?g%F@*=sNwl@r&cYf7)Iq>G12Zu35n@Cfo~1;nYA1uyyZyo;5Fq<9cJ;s z-41_N{;n89t5H{AWSh50&#m`Wa&nB{!sdn-1<8p$7gk1mMGr*BSVWBLxPWiTYz<vd zTY@c}Z@T@?a>GSe-c*qS_opkPTAtvq+lMP%8T36XLe-BWpIIu$LY!fb9i${Xg>Pp| zya3rgQEni+o9i+<_o{Ok3<*+3?5u@3W^t4mP>omwuHWGrZ87u26K#a$35n&YD%>+F zO(J_ujmz(Ut^wyaXK&U>v?d%{I4Of}<U#2kUdnX5u^W+75pEZE!qp9>L#))PSnVE> zLS4B+?GlDt+Y_l)_n8rlBT}jsl4YAteHoK2$1^w02WLv)J8UjOHs^uN&Y#EU-%Amt z*8B>=hQgR7rI^{LN@n!&Jz*tZIZ7Sa4MOlpX2&waD?ol^_&5nkRc0f|z?u@y@1HwY z4D|X_-I@h{ayQ8-A+tsi!<UAGr3S+@_*LmM*v_xUFZ|lDQk~aVv<I0CF8*ek@1Po8 z$<IhMPAU8gwtnSwO65ZKlXj~g$1Z}J@sMw?-AN=5gBFo9I~_fC7CLg3bN>_<LoLS` z(Mytk=s?IKZuE3n5(@W@KxSwP6r5_T$nNg2s%2{G8Ew}An$*VHg%}`MH<DU0z}A<A zi7j3F?D3?dR8qZGh*IU_<fZa%=J%45;Ad=j&)qE#$@lQUj`u4eD)3<Me{KTh1V3-8 zlaQU_;&8_S{fAY)rsi$H1k&;br%?bGqMPLEa+IjioO50sI;+tHVCWnTpQ5LV@S`5z zBtZ-25R8f;5Lw3f30iYtWSiB`{?x9VH%>$)e9Vx3FtQaqzn#7<s%Ikb9?|)~#fN&; z4~NPq9Ve6?1)RO+_44+|jzJ?HcGK00jB}};f9(Puqvy!8(L#P;cf%xof;5Sd6802W zaCo47sx*inT2`+r@5H`CMY-|U`ZFHs@U1Ohfxh{|tv}xM_GeNy{I78>g?Slt5g$Bc zupGJt2@;z543)qRKU}lV+u50CKeKcgE@ZtVv$V6@{C);Br)aHPwF)Y}3EdE*HK_i! zjpXn-lz7nr$XaS(LhrDX2LUdnHN+Rc(vzR$vfcpe_(V@M;`}MqGC^FxA6{~bKtwjY z+N>PuEO1{U7WqN3H}1#Zm3%VM7{0|xbM@nF>V~W1v2jWB$H`7+`iH+|JXT!svQ)uX zXC8Uc-U71~n89%M?cfx372XUnwGeAektz^s>wj`WYtoqjwLf_o%Yx$j)k)%OIznvm z85Cd3*xyPC7MV@d4ry}CeQ`N!pn{SPHW7AW_eK~9;!8#nAx;$S)Q%7+XqI>SS*?|# z;?O1r0OX5v4_@j1e}=FSBHG5{Ju_qM%!i2s|C=q#x^aWU<3j_5O(?7agkp%#jEC-z zHU_O=27T>-kH|K;hrwaR&BebOsNF?QnZi3%vt?+A3vCq-U3$B@V*ayYwp8;C{!JSx zA@=N-#jQT8O1S4;wfzyScU)MTsLCvEl1)^3ClJ(cszqyQ{HO2WU*(+>L@;>d?=Klc z#Z?+0YU4(dH%wu5DLP=P=baijS3bnLnDu)#cOab#2=^Xm?W)8vb>QH&m*pj|+w`6{ zC(}xOs#}heRVeJ8SGF!>RH{zrXJ{Drs=7IR5CW*F3{&E`Bza%gj1)*gwe;TaU}Bp> z`BP?o&l;3Vzhks5;JEUp{YYchmTay{5Bn4RyeZVwh7YckKoA8oLrZv_&0-)y+kCQ& zTZvy7$R(KT-&Cp$p&6a2E;7R9(*XbpG#8AHMK#Aes&`)ANmPXy8~YWMi<GfQ?Dq(X zZvww`wKHQj?P72JY>Adv6$-m_5r`!<7DKykUal-#s*hR+pRVqp4oXC?BOrUz$S-lg zl8{6s-|iR@pWGK_B)A_NB<q!wnB)iP&4u}ZRQuob2u5Grt8K2MjjaARX2NnEaQkPs z<Z-sWnrlDFaZq~-EOh{0bVeus)|y%_T_m2qLCmvV^cTfG#Mi!$x4Dh`Sm87Tp8uc| z79XvSP>b3rii~5L&(kvh`q3K-B-aP62gGvqSRNwA*n@}Y(mvKJx10sjc``<d#y5Gu z99xVZe-c~_ep}~LL2bWvVm6;)h$`Tj>iXR4q?2QZESfzxJq(g0mv7i%2v_cusrk}> zEftFHFXhRgJ(GZpL3b^Dd1bvL#_^~%F~|TanM3N9+LqzOn_$hQOd89cVZBrl%*r;~ zYkjiIKQEY8=@NC(A(J{2-U=>3pnWc2neAG*4%4=>(F4lQwGl!)2F(!l^>B=C{cxtp zxq*{xVKv0&ZYic%#&I8dH7M$zRWdYx>+?o*_O99jyC;R-9|X;%i+_2WRDHlPV|@&x zAKeXv&&SF@O8Z11$=SWWGbQlAmAE3q)`%u8;5b9)ZiY`Y-3+iV_E)ZGSnodppX2}3 za8he$ZnH`=5bMuZX$z%ZzUm;cAmj#b>T2lTdJ_g8JqTvJWRbL<{F{u{L|!<b#dC*% z{6|EPbS^LMyGZfxOcg}zEc6l>AG0fPCb=u&Lh;+gVI!A4l_*I&s&CcN>)?&oK-R-m zv7d!4FUMPw`3a18cbP_nQ{H0?c;JSdG4;w|Z_tiIQCM<!jH!C`*lC6yE$ZLQe0O(7 zFjw@-vOHSIN}Tds!(z<iR5?4sdjZBKO46~Ba8S<TaWpU!9&WILXv#0BA;Tes{B&!G zM|k+iJcH+MIq&f)T0-3xg;j>`Fh7_3!QyTs3vToFaoKo#=s@SPb3>v6oNm_qOYUO7 z{5SF?#gEt*_e6(b1_!Ixm&qx}v!~o*_4C~Flrskq+@FtF)qR$sC(M%I<b6wtYI!$Q z(w$1_w(veO^6%@;qT8mLo*7l#Z9N5{%E30A;6Ipl!SYG#(!$-NN@4205D_M#@eoSZ zT+TPe8&8(}x`6PDhd6r_7`~(L+8C#_3+EkWxYA|Dysr}>lEwF+4)W@8XJjO3xe|zl zM&lH3&zvRj(K}a|E4rhYx60ZZIB9o^uoTIWPACi$3q&0aq5vR%As8Mk^_P#?x{fjz z-2Hd2J@~FYp+CvS!{a)##81iNMt`vCo~;xf958b`Q5KdjX0N;kgfhsN@(gdKPtiZ0 zgxNWNvTZ*?$Ha0xuenB%>F#BlV?d=vt|dX~I`AHh1`9HmZO#9Co<+7U4IM(x_n#Ah z|3agzC(wzJ)DS8gTNJH}kP%Cp0m9VqKYv+8hr9ROs}J$Z!81<>tSXP#JAs<lr^gaQ zza}s{4Z#T!PT%T#plm>7D%HhcN60*aZ;x9=D3JUta^a;EKc1&EP$CY4kI&a_T_jU8 zC#~yodk|b|vdCeaNfDDoz~)byxxMdG4QbFwg0w{pynD-(3eg3hG_v2=MnlvrMd#D{ zN0a{kW`D<BXQgE!J=yiXnv{d6-%FY!s3UK&b1j>Kbd#4B*jn8+W-xmQKHm_<88_Ha z&4X<Os$@%<udFCz^Ri{NGvi|LIkhL60?-jhO=Z&}m9g85-X%%f#>F`cbsh9F<^eJ~ zWWo2xhg>Sm_3Giv;x;2T@yFZE0--5ygm`SE=A$r=e4M`2MXLF<nTGL6Trii5dBdam zdWRFe-fJ^}7>=$Nx>{xOgQ`@q@GEEY*<_=2#%K%`(He)&LC$l(IZ61mh~{XC6>yQI z)pFn<mmhHiG8VHiSH=Dfwi-fEFN|+<ZnuDo@0Gtq4gyb@kV4}!C$w!F9U13r=!oug zRcyAAq%tHgXa*hp$03cY9;>5~Fat@gmYn>X&_W6h$P($7#+)~(Wt}Cyi|-o4x<IkR z(n(&f6zSt$X7m(*UNUDu36OLfXcFTnU^U?!-hUT&;}KeTAF7{e6O*Wr!@amVpKMC6 zD!&VZ^XTN6ndAncLzi<NHhbN>YFB*`E_w4WD1WElYL-L%ECqFFXIx6AJJI=#UWEE6 zX(D(4iQe{VPBEkqa7eTN=zzyl&=tMJ#fqtrg>fn(X?Se~ed&Q=2*{X_`8#C19#lB? z_v`|?e@u5A$i*67_^+W$fzhNNyYwvlvit4#AVgnqAQ0>RQN_2#ujK-a=qNjm6rQ>` zAZASF%z^zsjGa?h;NAE3vu)dMvTfTnHQ9E3vu)dMvTeJ`wp~-r`yBtS_uzkaU+a8d zd+&R#^|>1&s!HOss)WOq>~WPDHsN8X47=$86ALlw{<+X{or_rk@yM8`6wYJHIH8>g zwv#jP!*VV+gIIG(*;ZTMx%M3pQYgheS_SHX8qzBUmO00Ns*a)V%tN`Z+pbO6pLnK% zZi~hm4K*8%Pbu~Cg|@#f`m~TL6}X0V+Md@B8q+o$+tB1pB{o?M3RfC*;^MtFq3mIR za|9qR1uJ~{;W80|p#Ae3=ccYI&+f{@kE=EvtXbLNQQpF00A^tqh5Osx<6s{3AC=G; z>HLpj5W&HEsF{*dR_LMVQt4+J?a@5Kwly@|K@A%%NU5||RkFql5Z!WVNW-JGDX}`c zV&?;d@$x{7#_K&>EBnV_m&XmCcs~ii=aIQI@B_suB?spMcdJ;Ms8!E91E=j<L~fOz z5Sp^b0b$>ELX6r)`zv@UrW)tt0N$<C7fCt#LH6vX`&Q0mvh5hXnX*k^GcclrN~P)H z(P!n2CN`j@L=hc{#cQy{aPX^IlP!a@4xbXfH;GaCD(APM&&l;t6@;pcKSek&mC`nr zEoN>#p6s}jlSIO|+YzIDN$n<lPO;{64Zi3ESKf)pZD}}`n}$d{Dwm9n2d0B+6O+zL zAXQjrWz{Mj;D?j>t@@ZHvbn18<R(X3lC&v>S`uc(MZM=dDa%o4vnOe7zRDPPh?n7p zrYS5aVBc;c_l#kBzdV?S<irhlc&hS#u}05sfPuL&mLiO&d591;yCA?cPc7jOta1<% zhXoIg)t)4pz7K8cw9*F4A5G*+%XP4eXX<GDXgobQx3{vi+TPLow;b1(KIuPn;Gq49 z7~N-l&&BW^HnQ9BhK~jOPx0U8-~nJW!hl*qGY9}1Zje_*xG$ql-IWhzvmQ7ivMu-$ zOp54JVCzOYmkTS+Vxc^Z5<n`cCx%>bKV73yJDxQoo4DGhfKI!_v5Y~`VJDqL4p6BM zdair;nq`?VUbuO@RglGhHC>Koj@HBwOKk6h6{Erv9Pj(3;<hYAZ%5WpO%yIXtbx?o z2{5Y<lGH<WyHYCQ5VW)rH6~@-VD1u_fviT~7ERx-z%ugEed+8s@nHvUDwS4-gStJb zg+kbqh7SfReB-1i9wMzv&FOZpFw|$jrr7BM{fvC|A+>f|ii85lutVh$QL{wWjUr*T zOBmw>4#vR3M%nkaiV%k`f$-*`zMt1B;HvUNoQHo4qviPTo)N(>3OK{Wo!OLdv%(Y6 zd`!v5IkYAi=uQj75pA7BP7vN#mcgGsn6@AcXqhlK*D*_K{*_oe-hu?-@0AJQg2+bE zb47y=W)g&s&FmmxKmM3_8$uf9$WNC=goj$&IC0}O7o1g}ROEy8MTkajKWi8h0Q!)t znW7vvAWJmvFBrkb<Go<y4w}E5;0!XCzTT=28m{ZVUFx!SAvWXTX)3#~ZT<3gzP!W4 z5QuVKQuT`yOXGv?)fGpCGnOP4FOGNAU(d2PvUJ*DBfe9GsA?uN%_c}tRU?}?{HIL` znbJyBjNwrg`+?$4Y2EorlR0}bVDnr@Ob{lLx&&%mL~7<WvLgmY?5}m;jjz4}c&oFD zdI<l454Mm3F4a4uucpz;N`P27=6!``8s~QA1DYJtdO4==AJ15Nw#7w)+`M`=Slw+g zdLmr1ft14xcl?0}_jLHpFz(dz|8Bj3XH(fzFYO4^-UvnqO*S|%yduP5pj_wra9;$R zf)nNM{BIP$iqOkREQPWzI4hOwtL9tdE|b|9+}nY}<RhHL2}$fD{C~n~GgCuGuF)QB z1?l`ln*^$O+ng>*T*XZEM{6;+jAPW<o<Ju{#}M`<Z5c{3r{G<JP^jtB0MQoSAeSK% zxmhLCefn_f;&O79V=G(&(4~zcp7PVn)-^-bQ*eiU>KC+Liwf7yK#slb=CXWJ$rA(^ z8R0^h2Q|rlLKJf>U=1cphD@AQ5Os=qwX;QAn3?k!gM6-L?LXF3!=C)##>U=}td}j9 zsEHpoM>@I3nKGHigUzs>gUb&^|F6RnBE3*PC;{(}nhv4SB9rxUpzq?L%S!*?t<Veg z>_XZ9HoR`Qo%fnVxW8;BCEPobL{fX15?-}Zq|Q)u^5ar^sB76+UWjylv1{dd@`<_Z z#`;ah?m@xJ?C+Z!5<d$yqFXWj_#p_NLEeB7o$fMs1OD-4MKJm(@)0!1b>69DDSzKb zlO<%G*X+E2;v7vru(B9|QWKuT>6xgK^U53YBFAVI%5a&>S!VrTu)@Z(j)A(cpy1d= ziTtxpSDY(ZYZkPXzx-l2|M9*kT|+ag|L5(*q5Hx!h!3n0X0=s**t9WCF;-*r*tVdu zni2`22!dGhfM3hRbS&p;fl+(e(n9D~eJ;ncn$=<H4++XB;92L<RHCHQ^lW4PaSylK zKND#aCK*9lVtQ6a3(m*@KbmMeBR98h%^hOkj;oo{ptqr?EBY-kOTLp-veS`#(A}<v zmL;saW8GSAar9scvw6cUMxtZraJZM>YrkQgNI#rKk+f{*JV-U_a!pGXC?$^e;cFAJ z(bxN|LMSQ#(4ved?N*LnL>W$7Y6FN)&l1WOaBMMe^UJDO$ZLHpG|=w&#)#Xs$M8L9 zL?0hpJREAtq*Je8@CPLtuOT-JdThvX5~PoJ$o<owk5I9l!&k&5kG{kV+~g7byukuO zjp?C@Q$qiSWT;tU`U}Qk2W;|KA(1fFZ`-OZc~jH_WnGVt?B%hA=<x2T4=3#iDtz;I z`T@)1V|qGK;ODytxwBo2Kki(yWeq(;I^MBm&8r(Y$2sm-C~72kbU38i=TjM;!F16p zO{j><+<XV*67j@|fl1c%p?M}*w<YGa=lx%mXX{#;j*tkE_#)ragkg`MBA6ENGq`_G zC2-3DCgz8tzSrw+Ec3#Tm@Hw0>8*i1KCOJrec3E<v3+sWGf5S4qZb+!AN>OPW?q}_ zQO>&y<~?$2l-$j~iR<KoT-yku3tu1SgPUqveQ#qM{#?N&PvRg+Q$}ace}_8m(C7}V zX!<{ey4pl)+SbH~tN-S=@Ar#gO0Du-SiLa=I*)e-ou6o6aSigaVF@p(wPL>Kv>w)v z2prU8+f8_~nLFhwEsE#6x$>Tab)4551oGYaVFhKLO?%a-%t>^eM{K2#!w30CKYT=Q z8<)M-aw7%rVE@pnIUIVC-(K?wS#EmYsto&;#-a(9|ERC=+T92P;X(Z3j@*g(k9~Fv zgtcAS5OGK<?C(YlxWc`Mh8Sn?hXx!9Np!KLgau$&zP+9(kJ2rXLYi~eYvZKKhX+{X z?f%Y`iWhk>Dhmq*KOt4aeN$cQvN?=&EBzrHlNL9h6hSzfxT1kj<cjI<-Yfa3{}`p@ z>^ob*t~=cJ902xt|EPEUmTK){uJdvTV1+j}OXisQ>@=4PuW{S(Qb9yM=r}b=nkT&o zp6}%~S@`e8!X(jCeHwe;Rsa4$ik=kNZ9#QAR%n3<4R-wxlQ)v!*OXneH_8|9Zm^E& zENEe50I!QADq7P>%U<cTzjGQ?gKXOC-BcPj0ZH`XdZF-wv4*Ohm`6dNRJYM604$y{ zc**y{ct`AxT!HgKpVu(y1h+4463hQR)Dw89+B_%W<bk>9CDMlT%&zE-%dl%lioyJ| zBN{t>Fw2O6KUIzk+NL+zfxb!R@#|wK<fhxYNXg~66?x@u1iW|K$~~f^k^8S5mPeOs zW8Da6%j~BCN6n9RGQI1s^se8XfWGYF%DFZsYv?;jSU=BF=NlNU!ykdA5$LhS)?aZZ z?c}Au$ahi<$Pjtu1h)@O7bYaZHX*n!p1R!L->#kV^3(Inocz424uO$g(I8%`uj^wu z=t+wsf9Kt?x#w3R_Oy+%d6pcQkDo}ic@l_|z5#FhbNWJh9pAZ`-vVVMKnlNqjw;k5 zo>qyEs?-e?MG1ZL+X8rVq}!{>!R-U-(yEmV2Fh&Qo&k5#pd%#+5o}3^YC6;ANqRPq z729>(FNtn?(!7J#=g7APiZCL6TrR@E)m^!#+LBPt2bFViXcL<qYe@R#!R7qj>QOa3 zkh_-9I+}!P#u<%=+A`xJ;C{{_$i~ADEjDA<?EF{~_)r)Wczr2RShX}<%&KJae%?4> zJr!vV$r~!ZCL(?yAn9E!ZhNk=IA6nvi^J_we<(!v{4M2N)Z<`Ep(w<5YUR?s!JHkf zhd3v_-fLXXAgJ_`B^MCkno^;$`6E@CdHa?Z5>y_;*}BZKVhnr<=wM#BvffV%8q~kD z*E|q0Mm&$`ZkD((53r%|DVZ$w)TSZqj6aH)Fl^25rvsE~eh7@Ad_>pIh13nS(WT~; zy!wV-bsUE)hb5N(M@PzPo8(srY`&OkUIMD|RPlbp8YkqB6#KLmv;Uf>lF_I0TBk=X zi~MpZdF<_McY)dhen<6}o_pY0%0-4-Nw|^M5RE1%5z2@T{BRmYDNp?=9*|9%lEpJz zfHvfUsAI7<v>&j%9Jg*V$>sCY7_#xQW4q&)aSxvG<+yS(+yC^^m0TAkJ8PPR7NecK z+%1eCst+RWf~o{BF?dv;IWaq7wpc%!)xPkUw_`ixno@BF=t&a_UA4$Csa0f=#FKTN z=FIPtV6v9u)v3#zEa^F5mA?B)AYHQXl2PNt3OR;u5G5@l@O%Fsh^tj(ZpkYNmSIP7 z_&l`NC7G^NNk1tAFeQ|FSUCeCeO0FF9#Hc=fA)0Q+eAZD*lX$-xZ&z;L`VLYX@V8p zBtt_Un`46j5VLKx_&ej%(RoYcc-&m4t$-3+n}r(>!H;Fw5Ph-!ic>soapREsmzyM( ztnIv%R`HORZA**Eo8V{9iTH>Loq9+18L@dYtlsa20t!vS8fhold`gFO_iLqBcN#Hs zW3B{hu`E35*JX2vrNWF3Xsw^{#Hv@rG|{8N0-+nHfD0O$<>^^e45Bfx68=E3x~hvV zIJv>oU!=#?RC6CFW2W8Smv>GXMxFf0X9{NbU1--RN4%?5b$+D1Y9GO4LEwhyml~<M z^U+pyA8+!<LHH9fq7U?*i{u+>csJk;9|ZtE_}?O+ApGgTm<%bCCj<PTIfCldD9`mg z`upEdQs}xaX>P(EDSkSRxB>PsEL!ew!wD;~4>crX{vi~tm6~~-_B8adHdXCH4N->2 z`j1DruvdB3{5Htm@V5$c-eZeuwy>x_+HzWwLCFGGl$7^nXNo51OxDnyx@2@ji;l6W zECtL2s}Z;QK$L<2Aw5u2H1zlAu4D;Db035@GQFb`0>9u;g@}Ixoo}(8sI0lBDloPe z3+2h$EJ;%{oD3SIOBEh8sY&$8?oD~awL&mL!+m936BYs_Cu#S)oPUeJ7j?9-Vw5fN zGvbxM2#5c-oh#@1AKLDN<MZJTCHoxy&T4CP>wGp`A6oW;&mLg$a<yK}|41v~G*!|J z4n`xX(a9Q_V`ZFn*0FKBjNUeBU6^R>D*r(eQ-(o?)ubpIQjBO6)<6G_`%G=8&f!m^ zrZE?dJu(lv$$OxnK1x{xbLl5-+`x)GDA^D9{Ssd^p%GWCPJbhbJEz8rX6`L?>^4GP zI!?Eg@gc9TXnr8hfm5UK=7uWlTqXRe^u7S5ZV_S6sUpEynTw55wtq&q4$S)-ho>;v zCOtt4L1c*o(+K2ZH${z8UW&-gnVrImV9S;_oD%v$;JDyEZAefhck3<sv#PyWb%t%t z5tsXD`B3#!ht?3GeD<ueVL%LVmw}q9`EyY|yh#@`CmLAWd2p<#NTMQ~4~w=)RQ>q} zV98pCLlgz|9YIw8#1yK;?8XqVzX0KZ)0-I7A8t$^+S!{PsqZ9<IQY<u+67<4T=RBP zzCQPYDC)#svvd+=knMT?I#$yU?OrsjdxvxA;CHgM#`CGZcs3ujbgl>yQ)h5UL4Kzc zaflJK_5$AfU9XfBhxA{a!RtHJ1k3mERj3Eev)TCj3I*V!hy@_?Sj?<ATXE(`GAQcv z3{3ganp3}t>A4<MYDY5q90dgU)TiuQVzE1SY=Rijztl?`o1w`C-9VYx;_L~pbv`g^ zYt=pNP}+LNl(3eqx1m;Ef50lMF8k(2BJ(lC*8-pA{51mkp%Xg4d<8w^ReF9F;k6I( z@Q@SWvdA~;3)u9)G^gvfG`O&iaV}~V>@i;3cYr0d<>X0k_|TdaM;@IlhRx2fchPSO zVVKb>CO+@HlE<M&7INbTyfYAc86AbV{ut)r&qoViO+Z?easHdE#tz@ye%#VYk&c8B zr3?s6=W-R|tz?2}ges2BA6&a(T7<nM#&x|3R#VQv2)tb0pTjU+CNuMzg)9A;w@{*d zs8ao@XqJ(c<L*J(tJJED38KZQm7T-;T}4)VBK|~LQoLu#eQg`|JuIQo>P$Omi#PI2 zqwyOZM<7JU9DB503^2bh|F}Ux#>jo=<_4PP?rkl5B8%(fC0!_gtsmSO9IMSo8r>#W z6Mlf2Nmgv%G@Wb9>SHxP&dTGXNsU4l?88NpQE^5G9{!h8gef1udwVWFfqunJQwgQ< zFPdL5%6jio<NQmO2Y2iQs+px`n{qkZK<}@ckn0<*QZFm2dZC=*f$gReQQn(#8y)bx z#e}oVz8AQ7$z(yAaRMs@%C-LI>l1E>>y^?V_KrPQh4Le@nliPnsqxko^o=S~(A};4 zw8X}vjC`?<*C<AXB|nE<vv@?A@eGyi^>khx%;~if^>~N+2DPX4Do$|Bky6iYl=81; zD5vk@WfZw7wLJJV`WKG_WzDCnkS_op_OqN|{Mx?2!Q0ml6U<MN0Bf4c1H7m7S0l*3 zcn+6*hcoq6d-C`Ib01Enxk*h+EfC+iUYGr*je5#d?`<*Ub2){29`mc^Y`OI|4J@x| zh4VjPyXfu&zoTK6<FfPr;*Ch!sr>g&%a?|)-f~@)v5!yIhBtn0T|+T1E@}n@>ExKp zGzfT1JvH<o$*B1n;Vm?*5bZhy(5n4VbyJhy9x+J&MJN1L?qnAU4+aH&XsiS0`uh*g zw5yW*-4~0edGU_a+T})Y-UKHCJ*w>jvB!(cSg+a71IH{KzrGg2d7RIS`X3~lG!mSJ z4r*{oapam5K1oj4aV+5&dF41@wD>ecd(CP|PmZ&t-MC%8>$JE6R|~I`X*Z1U9`(fk znZ&!)&0GO_gF^3-DD5PY1P3NZ$%H4(C>^(%m$b9a17$aq)Ou*6o_Acr${LQ8&U9`J zy{<YJ1z(ODF>JGKzEJ^!&EEHjCm<%Y4hn0-l?#IsDJ`ql_9&N~M&bteTVBnNT;s+D ze`;=e$2Fwv@W`Tt*gAK~a@bz|YO^Av=5Z`$HFZjhyX1lE3#8z<hlx1W98o|{BYR3n zK3FKCNi3P>Rr;%CdMLsr^1*kktSeP)TgdnGkbbsvIShWech`vES%nr#x8>9!Y=efe z6_VYQH;E|(Yv?x%R0k5kW>0XkxXVWTD>S2GoQj3mBNH@~1o4Ct5tMHWvzw3JC5;J= z(}0oF4Wur-HknG;Sf$e!)jQI`=^tCQ-tj4UIVA<hEoVy+$u&hzeM#<4uqy^$j251l z$97pg2??KUr>*|mB_)a<QC?J$<q0o3f)m9@m`n7V3=KMafcP0Otbk@N7?#0Fo7}}` z<Mt+LppPmh%=+vn7Xnv(Y#+8FOe|>6iXCnlc@~o(>duiojv?87I_jm4HeDOi47zUZ z19~J{zOOGk@TJM;U)oW4o`tCChRfkmg*Z!9!O4zBOiAm9;Q@2iN+6`leoENkL^Lt0 znH1d8xeH=M8Rr3jy5Ss$WgH-PsCPw*Dd!zfV>=0ZMXZwm8AvyYf^(356IEcQX<Y(H ze>!Nf5Jv-9o<iq5V?9c!tHP{#6rGMf823XM(^gCQ<8tP`!rhLA-`PUcL}gFsVam&) zzn<L9uuWsr!t^-!hn+W9nSI=i%j1sQhpu{qeH=Z!=R$zsnk^@LuRmr|n=$gi{QMW@ z*xmLX$6;eAjh_NhP-mi)=w1+rrP5;QU!{G>=MTRrPJ@(_2d1}6ElUq|8Cq_O{;9oj zN69MQE3lqND@#FQjA!$X-($%9)7@CHrLK%H{KDhTSbZ<nMQUJxvBi?%#U*qLmc`Lj z95&Ef@SFp-)UI01LI|DNyV5U7;|NePYkNFKdDTG@TDQUOt;af8nH+C?;GJu8GThF| zUP_R=Ktv}0^hv$)lEx;qoRaM4=A;-FOjVWS&RWM3<bN6Bsp)CV{$5y3GD36D`w4BF zk#VyU?KOu^OT|;Bz^{lo|JN}<dxea1KP$3b*_s1D2Y(pyS2*t>%Q6G~mA{;9d_dM! z+R`hU^Gm;=TlLmyMN`o^+;iyyEKZFIU+%HA15K&3W!3k=@!|_5J)tbN<iqRN*12ni z<%%oMR9uvp=6$pDx_1?Ups*7P4!)p>og(Hg>NhWEXm_wsXpYJ&QJGn07yfeEsE6Ds z%4iT^fuUTLiSM$cRNJ99C^J90qXh{zxmh`(Wd1WUUY_$I!sFzr?GKX6WB3sYG!ye$ ztRqlo%M<VPV+!w7>^y(x_M9@p%epsE6ZwT;Qe9cnWyH=m<-z8#)}$L#)ia03zI(IE z+X&!+4qxTI1xaibbgp=>HQnL(4p}-%SPlm2^i^qMYr3UG<~wK8lE!=9U2}3bBNH?J zQB{EO>%S{d=!a{E`TucEcFd9;oi{2+rhZ&*9uR|5g23Mc>6`Zvgh$n$`=h<p-KT%k zKEwux=y8uc%c?<4)*s~UhOyAwZSk6P38v{7bfj0NTogj>IIb?+DF?>b4{LIW+3N!s z<we2s%G7fP9_@4*6VM^v3cQ-ztPOpuan!KK{0P-6nw8v${g=R9v+AuU1U6v|5i7fE zq>#*`-%o-y<+Laoj+}vByByv`a-`XHGdWNiA*RwQ`>NN3M`&VaAi(Moy%pmIg}Lke zTblu-9sx|`lnjZT=Z<@^qlcFzf!Ge12kS;{6lQu0nX{CeMNRQ8KhZrMVIFZp6E&&7 zdL8M;$zh6Xl;G-F*)udcaS{xZGpdb_?wY@OWG(TEXW8>|aES3fd(~V;biOGiX28!9 z&DXl>S>DQx<U8rO-3nEE%9!c815q^Jg06FQ%~J$nzmchkbX3VIRli-%X7dI}z1sr$ ztKo#B-}5CFIF*v+vxWLJkgQ_itwZdp5Z6G>K8LIXYkJb1mIAMeA|rUy9e!|9JMGBl z)uOai{d>m4NxW2GS?Uar6Lb3;#Ezu&k=BB$v<j6760W!GJ-<59BLOw;;S@SaRA|W? zy)%NLBMniXbcdV)ua6Po)4vb+Zs-k<SLNItNIaa=DdAPZMBAHWfV7l%JBuSSBFn=4 zn#}FJh7t2q?}pwQ0-?m9-OJi`M0eCbZHnHxPJI*^-8~o@G;6zhFvD4+e~dCu_KI79 zFl>&{?TK_!JBDjKR?aT^db&`Fr#a0aw>E0p*@vrFWrLHh@l@8(;dlgyBtsS1SQ+en zkF>2!+GKnDs|hr-3%x_Fx?mmts-m)%V(Zynjdzq~FpYy0lzXy`zL%>qR>=@5Um!-m z&3uJfB1-w9&Xov@F6Z)}i_`~!GKoqa>5`G%bx#kTJ7+L}-EQu<1(9iQ&*Tr@&uj-r zB!*-!%Q5!W1(mJ35eNeaBE3wk<q{W!W4HGPD_90KCCiTqszro;Q;`oH!ftL;knxVD zn}VY@Uf*7a9WHAJW*1m8El9U1C20qA`T9A#M57I`E9%NRB&HgS_{`M$sB`zhf4a&p zt2+{>TvezvHZbDf8N}WVvQ=fhzcngS-An2(GzgninpkcfV?_Y&^rbP<^_VpYsDJ7) zz;Zi~th-yX%2oNSVD0yRlm8-0R{NTiC~G*wptL^bGZ>3fg(#qw`27i8w#1d6cS#LJ z-TxIf2*$;mkWPye?%*PPDcf-j%6c7q4J-gxK{GEP4XPukV&?!MnaZg#&A7>zC|;s9 zGuD!j96FoHteVI@84|b%8?qtS_pB_dH^xTqABe*f64z|?-xTVOOwN80T<*WYe<^9B z!WU;*4|4=1IHE`=^^dtYqmYRIN{#HS&mj_0@KCH6F0(_N2Z^j!eD@UD;KWODqBR7> zAHJwfZbTV8)N15qx@E$VtdB@cS76Ri#x%97ypZq*PbheI46X~Seu@*6Q}@4o8VtwN zahjpb)+#Um7n}0p^HEjGQWDE(cU}NW=ucY31~0Hl3)RED<6zts-gt%@k4ZZBsS}jL zJf)=cgOuc$X);d^z1OO|QzNw>UKt$tP*Q`lm+Ia@GlVHG8H>oU44Z09vz9N<r{dz` zu}o{|l|usKd^^F>Y5w)Z`Cu$<YQkids(XRkic`*Py9vg)SC=W4K!(sHOKT?nHPqxW zkZxcsr|C}Cj4|dB>hshzp0sG1dH}ZUH=Qiq9|kQVg<XIbQ5bMfV#%JGb?*;I*cZ!6 zdu4qNd}M;0=93K@ml!t$Vq`9Nt*-jSiKuv2EU0fD+?Au>YHaBb2b&yH->44~%ZER- zaE&xlj*BUw$wqE(OaRL={9INvSdr)^ju!V`RJGb6ukS4Wayhff{?xjfs@+u)r{>tp z{sugfzRWPoYAla8Dwk5-)c^67BN|uy%5eBxaq)O_j@w#K-XsR&Vh(Tv$<9PAP)w+6 z6NyxfxIxwS(8Hi^og4PU=Bcr898`TrP6zo{WWF(2nFMxZ53OK^L!7qn2f34=54f+o z5;jmhRB#kn^at6WQdE<tnTZTIDlmFn=$=H>CLx54JM}8yVG8B}mUF;MfjxJ2z|rw@ z9`(QwAF7{<GY2&Ks)9ha1f3o%V-$@^VwU5s=VVZ1&i>D@k_-r*zXee?)AeJ$^dVT$ z6*06Eg+uy#U`&g4#x6TP^U3&|{(+@E*)8#5$SL)W=_WOO-Mg7@I&uZ`k^&Y94gWDE zD-)55wS8u#eGw&YFI<2UF{+U##fKo15UUGOQG#gbl*tX`KLbsKtC^hmNK9yS4x~<x z2RPa#q$jF~+)84RBk+Ue1r+Hc!RlO`iKa5uJfj7K4*&gl(+Pq<L%5%5e&t*3NoWtY z1Wz;0UN5mFC?BMdF)M&arJy1IGr4yKZ^~Mc|DFmejIkkrn^gh?6{z_AbH%{u-=HF6 z#RytM*MEO_ZG!K8gmIH~CI*8vgWmm)t493NiNfYAzjP!Y+Epc}hH#m}f<DIOd!>DE zS3YChLUJkmUHQxVta9t36sL8_f;OKZj|q#XC|^Tu%ZiCN=c+o2aW;5(0lpu3Vw$^U zjZLN5V-()R``3Tl1=-S7@|Enk<rzur6wP2k0d+ZecN$h5FC7$Cjag)qa(cK#5CUtn zmADT%<#IIM>&ANBElN>Cb)!h5;kpLHF+>#plto&h&9%86L=~t0hvA`PTK0Zay%DtW z-E!;sO{z67%but=Wu1SFd8iLkg8ZXK_&AWIRe4RZwL7zbJa}6+WtY#NkYdTV)1Y|R z&i7dJd&70J;rQ*6;FX=%I|KN|15m<f6lC|#sssy&l5q(?X(G+<NAo*{F6bO)cbrM; zmkP>MJ$%IZ=h(FS8ytq6ym!BbWsNjPu{sCj8*fOd90pTG?arkFhEOhnb47;H$D~&_ zVF;51)y4vV7AZa)1A>*#>pjmzHS|8Ir9m!Dp=Is=wd?~RRf*13XH0Nb{e@nOOh zBm5!OwiQNnX@G_znTIQthJNJ~l#_CHo;yN}AESA_FZZd<wd5&QCpRqu6S{94GRgbz z^?#?w_%hx({*d|m6|^;%5Jz(sD*!6B?1+!=jzSHX`PZW&p4=qSA%?E|=7*gD*%1RS zm9*2iAg><8PM#%}&@In7ATK$s{so$9<&h3&-4;-?F0}I#OfLBqaw3OwQ(O2)p&s^0 zQ5hmmAL=EuK+Fo_RINcJ%40ePQ+MX2#V;?W7zpd)vK44!?zNJxqg?w1(%-ipeVvV| z;n7O~1NnTJciMYv1|$+@>xn**FuVRoC7t!|F=)=X(K@y8{XugQgJy7jP_cQyZc!ie z!O_ny%@)M>TdsHf5@R(aOZ}}eBHll!qw4$eBwNNOgVL;4`m=~%U#ctp^G&EEV!R}~ z-U)=uHOY-D^80ICJC%#%+s~)$gNYd=*nJ%UM}rhXPnE5WyoP*d_bGi*A$dWt%GYU* zslKO)Bj1ek4@t<rFPL%&i(8LqrMu|RqHIqq4Jl|NklOx-P^GZrWH!w5&G?Y!^EzS! zV$MlA6eJGm5xoUw8VJ}D(;hGAZMV_O3&O$G`G+z5QEKE%U4Da|lCYVZN=;#JL_z}q z-g$=}G0M_QZ(Kvrlt90I5o^o8q)@LxK$V0h9U~r1KpWUV8xOW``f2%XJOzs5((J7a zZuGDBN4<E~`rV?OApT2Ww6nchR0O-(DTsr*dQVhlYzt4J?_H!8E3J3n9a}k8*f`uI zdWv<VYrNgcq&ic&QtTsDe2e3g<Z~;qp>P+K)7vOk=)P~sOlUG(oP}8&b)LWz<g#~h z5H$b#%S;8Ore6&8$U#H6v(XI@AoLg#?y-&C+Z+veyf6d67QcM)56<%jS^P{ZU_{1P z<VS%CIhdA|=;l<t|58w}SDp8%KRs2e54GGDiL|3&r+%%~Dy67n4=`|GmSzDHQs2Vb zmE0HefruoAQ62mOXf85v_we{3a_6BeNSv|+7`M0#P{9K;(HdD8E|3?2$^y0mzT7bT zi0KU;jYE#F1n$e<Mg&i@4jX=n@zwI+eplm`MuN^_L&snpV#v;wbjIA2y&jqnJQBr{ zJd!wzpNz`hooHx~*PCdoRak%lVMG)Cc1$ulam3#S$aabG0s+63kveq+P#e)M4=&pi ztRXEezc_|@lr#(!vO<~`xl&=~ajw1LtksGCIMRg#42oqdi_4V^rBm3{Cr#g+G-*eX zT26jbnAW+{iAymh)02J3uklG38p)0+Pj(G+)mC;+aCPi0g&tZ_7>a=O=Itx?0$+A= zSLdlws9z$JJ81%^9;I$!Jiq__;ahFR)<JEBInLi-{nx}zVW}oqbF#MPNfu0DK_C`J ze@m9&r=GvESG9|-Cw^=dxL;h$hH4~NpD1#?n!pUHZRKfpReD0|jY%Y;sT&7a>1-%Z z`KJehp}5jBTa&4qF*pMLZ*BwrpPtBwS-xEMzM-}{u*e1E9Df5qR$ouIOpc2}-f35- zh&Y8#;~9@YO;iI~HV5w*{+1XTaxtjoW0@;tgY=+!#YPpBrS!l#8C$glX|w8m3)GYu zTy{Fqe7&YFH{|sQJWY8k{0Bkcn0-~wx>ppDrNF{6hb2I+DHQ?;vPbYjFv-44w1^); z28gQb&s-vTF{dyACO;L!;!8YuC&tc9jXEWi4(%qGjG+@{5nR3UpD-k4CJ-T*TRXWv zf}Bd9AUwJa+_r3VNcTn3R`2x^d!D(kdUSGAsf9UJ^gpPD14!kcd4dbv7+Il`Z(DIm zam6G%VGBlu=G*`&8U`XedHoizLB&y5<{P*n6r!F!0xU{Ia##8pPGs;-M+uZmoHdB{ z*u1MjWzb-%D7ctdWnX{tQ|2pEzK<ZVfsB*?7C*=7L(KLN_$B+E#6z!l)&L?kjBHby za=1SaN97q@1CfcAJ+CLb|NOpcaVTh^O3^HZZ4C#GY0Cjjp95<Hk@dj@r|reiztXDi z5rvu5m10>RK{Je(GhCN@UHX371RdH6%h#%Dr5XkO15qpY`}~c53c#P?rfBl0;TfG( zlJ2oGgt-CaMb$(Yi#nJo@}v4&3M)334(J!&eD4&U;XFf(NyYzCH<A)MRzF5o^Sn|L zy{OB_qR{~DYj&pC$8dIK&mwMl+iUHbGF#-FsGc$ty3F;|WqXYqR>6fZ$5$yW1dtlt zdhO~HzfvC;K#=IQN^sv)Upn7vzqQT-i@=E0XG@7I*WR|%JQ`f*_;?NlTiL1>n;Twm zJIuZc==xSgxT%y4NiXSPX6dYe?4Sa%phM?FkN~0_IR{k2SPV}zD<>&ogk+aOciiXb zF;%PI7I@Sx3z{!5x6bgu$n0m}_$sK>!~6mmKL0Q`P9Pn?>`88vsr3BV+A&1#UrD<` zo#1p9oypPOTkiakhA%u^TS<A!k?MR4vaQVuPrX9diXZ?8@q;cxnks}_(da<X3{^Xq zsRQPo*dC5oWg*6yS1&{h+VteG8jky-GSR{zt*Bv2yG~~DL9m&mp7i^EW+13{L>I+a zDrlY?x<NyTHRdFr;so%TC=N_%F#6$IrWHAd7^5$P^NJ6;Xi5KES~+G}*l+Ub?${4e zHm&T2bhNdq1|sQ1xv>zK)3s3EFb9?{L;>ZoslB=;&c%S}9BC)xFz4+pJVrrVLt*h} zW7Z?>-e*f$j+Y}Cf3+_28*dgTsD=BI51QHCVzc%WXsUOCVbTduXolbD2YO89Yn%tZ zo~);-qQ}Niv<@qf@RkB3M8sm142&kWk4}0-P}p1sMkwJfYfU+`35(?XdeG&H5dfuD zN{$DC+<8UC<cZ~IBk|0ngz5mj3+-|%4|O?TODvQ4Byo0Exq?;2VIAkjy^46z)|O-e zep78%WXr@~QU)-dR{LD;|F|SWpq+=U)*+3rsMwu6^=_B9ymznPkq&jI*_ZDp-n|`p z|6d9GPZ{v6JKg=GS+LiOmc!tLGinGcp?2v~Je?*+lNcF~ci&R|GkZ(wZ3xF=A7`o+ z>tp82cDO=a$bpw7%;tdSsXju&QEKR}!cx~OClYl)A%x_YHl9%oc9_^%zBPtG5SPeL z=oY2df_^S~#UjqOZYh9SLGoq6T!R@DdO?#Jx6#n@&+Kmbzw-*SpEoDE%5d<%kisrV zhoIb7f)1wUU)KTkY5(O$W}#PSWqR`Yt|}rg*IixnG6;DlnReU@>`i@KP)cVC#5s6v zznrOtFLEPWb`>Qe*4UK1`gsVMeqa=O3v0CQXEaO?-|YBjqa^S~ZzaxKd%U$bG7MX^ z)O(dxFWiA|6$*>1r4ma8DtJ61_iWC-a8f^VmCWt3a>m$U5`Ce*GCuPDXh;eRvT|E& zPJ}22q)%eN+p$*?x?WT$GAl|CnbNbD)hB?X2u>s`fk_v1_J^h3W#r;51>Sumw79dw zhyu&wZHN?eNx+gHq3Q=@RW<rCwF4Dw);vs@`kV9tIR>pQ$F|;Epprls-s^}N$s|?1 zS68UTfPFrbkNJ$%`)6QqD(A<s@j@{7eZfp+LH%iQfDgNqfbAZLszBMQOmm>C!)X?J zFQOCI{B4Q&7^#4ImToW1d8f^qSJvb=rDXWsW{!b~1YlBL?S>PzW^S)us;T}SiNl|r z=R$DlpJv6ix>J`RDOcsKE56C{%Ge>Fiw1aLO_GjN#u~T}&=f4l$K?DbZvd<CNqx`C z<BcmTGB?W;=-S0-Q~VVt3FR&<k2?suPQ@39SC@?#&JRX7N5pG8akqrOg>RdnyZKgQ z$Jz_@0xfgj2~3y{SjdERjfP4(r({u~KZst$Bi@}nIVnfE(!!D`5DwEF2tgGVdjI_A z1H7-cDb|xO2ngsBb?qD)gdN9#bMJlx1r)R~QD~pXq8*PEdGHR)(W)|fb9aIN2W``i zD3l;3aNfAI&b3}gFSAl@;pcydT1gcg@M%@J2fBtqxZ5%{;qp_16Zo)EqsXj1j8IBO zZ@@jlgC?m=L1GDa7|$hWIG$YKESMverSmnrgZ*Rev%r`crfJknYrHx2Q7$Zv?+V~g zJ(a;|F4EK2BlUU*hDY?Jhbnuj=*pdH#W4idNB4g+bM)RZEV~CY_Pu)}Zw{I$GtOuh z0V)&mQ4}4dv2E5>P}K8+cczBK^^>Ug6^mykpvA^p#i}*}>ePtZGn3dbdSNFEi49R* zbjxcj_jc-!e)_I`;{U3L>3el{`LtrcR48j*XO8KW7x@k9x6=4LFf84F1akkelgFGY zrpTCmDIU#JweS7I(@<OW@iqGjCmE}n1hjW0+gAGH1;^HQ|Iv!@@5l4@4NmChW%x*W ztj_xDZDyza<hU87hmwk&kl@Fbq8jd2B=A+>1+=G<WR|DdD|9lOd820+uJK<5s(tP6 zZYK#rrL**crjYo>EyvgXcKIct@@4-V@mBf;!;C<b?TaSnddG;hpSUdM`U54d3b0VR zF4v4#t}bj&n(T0~9@PIaV@(LrO_z_jxkpei?w39$;22O5&GJdX1z$jd(xp*)$;5@+ zan`umR%G<ytJ^yiAfz-C)KGF}Is!XQfRamV=Pe|>UlwMIg_%#`q0TYJ$dj_pbE!j6 z(}hOP=;Pj?m;;f?=+u^OIba!m0t`$ZXV(&Gn%T@7;|XStZ^Q?o9$cE)<8eq~Rb;1k z2AAiT!Y9=ZMJ;x}Ah>17_Ep!Hm@W<RBJ|Peb6S1VBNh$WCGO9y^3%t4MrhBgmPYAe zU_i{s9bIVgg@{FbHkLHlTMlqHo~<o5z-za==2-<MJR)kfbwUnU@4Jtj167LU{d0Y) zhkX**c&({!aVV7u3IS#iKcp=R<o>+xvkK<^-ICZgYo+pLgIJ)<7Z9|_s3Sn6kA8}- zb4F_G1{%CkmNnh5uaR(T(HF6m!Yhxj+Ey0{C~rIaL&Rd37n4eRev?+F&bkO3!xyeV zU<~Bpf?F3V%u{s-8T~8N0}3RA85Tk7;z<{zvCfI&HC+mA5>E$LsL3cAP8K6`tFdb| z?C5P@mpaYJ5nPsLh!BH}Te&(=R9ZhxdIs{X@CanlzOg6ct5i(h>%>{=$;c!ud0n@M zIPjj`;@ijVZFuXlJQpHhEq;Hr(Sb&|O|epABkpG~A>xAmdgYLq26$ei5w%m7xw)Vr zLBtGfN8>PD5u*ny3tFvz-~IY~aHPJQBVnq*e07_a>4>f-YUs;{LRPeP0UsnPq#?Yv zfH`o$+n-+hQ%alsPR^BCmV(q#RLb?YVTfe)-yb1z&ljt#i=c4ZG$Iwf->a1c9Y;|$ zZ}ErZ&W%<Ja$?B63P2qUM7Fru<%!Z#wpwJS4y-50bLV}_&(KP2FBDKmHy2l>IH+OP zVw)&CrY!Q<Xcl;P4=wf@GKFlC1FJH3h#0v^d0AbTNDJ80r3FkeHKK5*hGo?kT6XA4 zzq9^|KVMpIxboBZH@6E0P<9=?AjK|~Z=Qu;^13L=X^+^u`9Pn+eRG`N#`{JkUtvUa zV3qh|xo&}f(}pUTN>XA;xur?u%Nue@w4{K61Q%=227@T<AA=~=T^o-y8A0AR`jcMb zV5g{S)E)Jla0Q%{k5C`6e?*GNTYiEBWLMyApjPXDv*Mg{;>Dj!+)2{y1)+HTD-Qmk zmW^{NCg82inE)(dSm0eU;oHka@%t`1KU2Ad?x}0N$R)>-0y2yC)8v+2rQ&NQetk@w zcIJWa9i4F67qC~J*4w{?G6n8WX!`6KOZO<fX=r~XZ;fwjA}53eIwtEZRgDBXSB~}z z+z@Es9MV_$n3mqK`=Gnj2|)#1R1}bYlmD>^<T0>3G6Q5y#08+K^b$c)v3=FFiBZ>` zk0mHAir#h=CL+pi>@x9h{LB7v#@YOEn0^f%oKE}sS_CD#p&zbFaby!cz}OmuXUAnJ zVqgh^CcES_23p*S@%xahk<(DTi6Lm!*MXC*QZSuXpRXX}Z{byEKwH_h$s2qY(F-N0 zJ)Q%{=K|2bb-@RUmx<V8j{MkYmdqD(f3d75PMS6D$!1NIfne{F{jamhUfnF0T|{5b zmcv(6YBUi1Xf>8C_UW+hq~5%ECfE8mZTnfPm%@mGHZQ15!-wf7$4~L3EwNAMtIo<e zl)Utty7C9k8w-Rs>>8cS`rq5hvZ}+(3VhtyWHi7v#ZsA?H5_7^XW#)WB8>XQ!kW`u zO_$KKo8g9)%)Mb&-t*q<_N4uvs>_ILQK%3rgOv$udFsXx(O6NTQh(moHd8SX^#z}? zUmrGwUARaZ{&Lz_WX=h>A#3m9Au0ayE!APvmz(G4Lg!ekEK~obLM#U2s{JY9el&yO zDY*l5Qax3h>n~3r1u`ELLwdF9n?drpg+zr9gsgELKeNF47gEc|^fI<I@7pMnDS5YM zFS%X@y-RK!C-aC&R|CE*i33B>emu0SNipY#O0(!!dKSoqRt1-d3sMrIlJ3LGS2DMG zhKn&~?jiXtw3Z@bL<Q>4vtFw<Q(<6&fRF*YuLEGf(Spmqi*w-P)J^+cLgLMO)&p<g z#D0_UdregW`H9sQqoKxjDOh5*ohe_PG|=Js6L!dv$Ez(R_-jVB{1UB|Y*pLjGc_yE z=6E%g+kf*2&CR|)sQ$M+3C5(%LN7E8>9;5(zj{!@<rxLSdikasgcHX7#m}b%iFv^E z%F&|>9e#ON8*-dLUPh`N(#O2L@>Qe*JCYf}>GO73-DK!<v&4=iLKkM<A-x)LXr?wR zrqn4x!jZWpB6#UT>_Nny`vd$gDVE9hP!0~4dbRb`6B5!%0Vd<b!b8?yShPYGyAb3o z9jysWd!93l{Y7^ajgemX7H&LsFcer<k5;g3+rHiAPPjKSnaqKWL?7y#R={8A<P<|S z;;4=?TPg>6;Zgtn5TB}u?+6LvB65R2H4FL2sNGD4DzR+nDv48zE@_y)FmGzCogimC z;|C^-ilHj=bYsHIn12JhBMe{40ir|uy1GbkdrA(k{$Uwv!J-ZM(NHu7h&N!s$qz~n zHCp#k81eK_e?q79;$&;|f+jVw5X(9C34*R^+p>%zvl<c&n#-F3O0TpuALeK^qDH^R z@cLo2^lw!=S-_9Zjf~X^SIeoZ3~gA`qm#$*m1hjqm;Dh=4BpNK$-Vl_DH<-poKBQq zPtzIEV?O+dE;MhBAb?B}k_*^(Xf{<dltuTtZA{ErzcF6;t!p_LJ|kt|%(&A5=shim z&X-b}9O;CnGZ?^Fc%3MX(52SM7imv2%<0Es*}wz}n{$S1GQ@|tq-7ShEpAtcf#&J{ zNJ=#;YtwujSho>-=HMNLmx}wZu@dVl5n5$gPpfsYJ+M14@{pWra|)#K`8=6A8lvw) z6GW;^-b;xz3LZ5XCsd^d>DIc=r#ZfssA>yhlaxyghN6je&ZdG1evL50mb<?l59Nt` z$yT`;c$H@7ggunJ6)^#aK_04bp6T{NOT>8|iN7UbT2raKN=c!Z4!0=nXeboj)WE#+ z0X!7A!X`t^OLi^ZRp70-Y7<=;kKtpp=wFZFcQ)7ii9)Yevct~N|3%8}9PJ`mDS<zJ zMHbUBj1-b_v0fkk6VYd{j*6%Y<cNgJYA2%Ne&hmmJjdK1+p<#I{yQaImU68A;pRWc z)azdc46o)`kJ^hd-4PJG{*AaGwIvwtvcR=XeJGNfYCXE|J&nXRH10lGzmR0hxlfuC z3HQ!e|A!F#drl1gI7XUhzWY!q<Ztvp^iwW<R3@Y!!vYMkq~%DB3Wq0E$}Z86P8AMg zq5DuBT(DCGY2I4D4qP0O<G?3K@nrhdvqa$Z0c=#Gg<hA7V9D6m0kRfQS!?;>p^ES) z8RrY<wKG7Zle$@=H_$<vmGO2S(VY`ZJd`KqL77yLj>{H#<vD5<%&Gf|7rEyf4NGg{ z*TI(i&jug;zJz2C)VURadPAUKo|L*_+FKe_oS;ekrJ<=g+4t^ds?e6;9jO>FT=S{{ zE)Fbck-~N;!aIJRhgZ4jI(oAfH1p2SDe^D~`~_Xbwmxq=TK;(U<!6A3i9%gNd%8g$ zuRD7aUF!Uez&P*`xfxnaY$PjlYl*xsXo!$jVi*FK&<y%iEWV8IuvF(P3)?5>VhmZr z9XG1|dDVjQB)}1-;G9!n_S5vPZYc5=NE);LhWsSb5A@81x<xp(n50Hkl&6}GQ2+Gr zPyA(HfP{)^(*vuj<aGswgZJLK-O%~;HEJFbg<zsc*C_<^#uwL;AwSMWit+T=aBTd8 zGQ4$s8oElZPrPsZu>0b9=~1Y@-3t$8%*97+NeiS%Gy+t-43jRr&?M6j-tNKx;6tq} zq~bkj4DmqS=m=*=X~d@`84dh5r+h@g+ZjRluEVRi3f<RLu~#3t=NkWMu-6Ou6+>_{ zaqoDWj+g$d)04kNXUa5uTV-|0?#uuA0QS0<#2*x<M-0Qe@_>@f-eAP^B%0=-+tr#^ z-uMWfN=(1NkxMYS&9ca@Dc%4F@F^FM{pVKH92CnGayh@Hml<yt#$IsGAfVTMcN6RT z-kDUTz&+U)|2upb+OamnKV)T@H$mN{w+mplUKX!10@JS4JfY$gjvo5$AuWuL**FwS zAUamwHSH5B87@9Ud;zh<pq5utlbVn0P<5(Vk}5z8Ue+ErIlmgq>;RAfM`J`YwT6~j z9Xta4ru}h|urP>IRv^tm_RM++NRg=za?IU~s#ouP#MC0gdTR$P2<7}x!St@q_zf(! zhqYJ&HdfGWI<((>P7gfbrd*`3l>pf>y+(X4BHxeLbEa03XVt0iFfC1@5W%0=oQDGb zyHH9$-z5-24H~$}?>8X<{-wu+h(`35P0x2%owK_LX|Gw|JQS+Af{fTy?n{yr2Ua%Z z1(LQ8;}mU{?TeUVVh6uB>OH*#?l>fm8XPtthhNm^4A3Q_#3qZFSJ`rUAlehK*CAS9 zVOvGE^&jrHE!;0VM;7+yx#&5lC?}=bmn^u11@At>gK0hk*Ifi4eg;R2pf5lp^o4@{ zyhPf-cztW|pT|zkQy?}8{QZf-?&c-xG%hfRDEsK3fD9Wn^)fKGJNZH?^!2Oi>=>G8 zB5#!-l7+cBvFSR)iS-#&<<FqzK%W@?EBJ_mEcc(=XqOVdIM|4d13M}&il1|8iq@b| zYdir{eW!$a_+bC}U+>oJ9LKC}+bcnz{a+t(LLW~B8#$fZ))P@+Nw6{Lq+_M_f5kAs z`QYWJxjRrda>5gk@5vDA(bt+vB1yTL3ptT^R0cX9_iw|~L&bK>BHYG`C;m|IP>vMc zh9?qd$1j0T#vfqx-W4ih)03xA?8B{|_KC|Y1PpXJ&fiJ_x8NCLFOQ{jFFC)vh8cs~ zox%hw{JbBJM5i*+D3C8qOpS~Cdw%P7Mx>m>V}Ln9BOkI-59CF5vDt0fxj8DNbK_@t z%?3T_Z*lL(nL7utHQHjGZB;;mKpjy)y|~o!2v=+6+?4-?sesvH#a@#7BOgxGEA0M{ zq8@rJ^C+4C=mQIu0bUd#Aqt9?DD5FJpvUI=V(O8<7M6`hM|Y8(?dWPpdr3snrr~=t zhhLOBGd80k+Mfv7xP;$4U+Wue8Z9^)A&K+4?ZE1DQF}v<K=d`pPlpc@&=>z3Ionx; z`3m5^KN%tXmbv4=y4EE!4nQe{p`bRVQvI<6n+FLAsNDNFDkVv)-K|7j!v%{Vti+^B zqQPYi4A@0@ONSJ+w!2TT*j#<hw+iowREiQIO$Bde^*2u}DkLywg%`kr>p(oY04(c@ zsMY%<LrB5DRn|?2=F(j0JSh5W?#xV42H;R*%?2AHPhnW!8_p{ufK&qPD|-0&C9EF< z`_sgLm^mTk*Tb>NVpT&3$S=O15BGMc5>6Jy8jOflm?irlTOU8$kd9WY>H^IlaMCsF zawR)p3=Z3}?nTU^WhPsKL};C)&M>>l$O&C9pQ^)vGsbkqn?PV#ATRLG-sPqty(HIg zaD=#}|0%u9OiTC-mT_x5<;TtixP{&?&yNEjCSLmdw6JL(>w+aFlNW3oU5~fYt^_`+ zKK0F3uLh7FdP~idv;TjLokMVDVYh{2+qTV)Z98A=q+?rOY<Fy%9oz2Mw$ZWE`7^kK zTes@3y0f=-oxxjm&fwJA&sr-)Ao2{la~U_iv-^7=YCYa>N$$dMl<wwFvc8`@^NYh^ zepZR2udcHuDg~xN4$uC(CvsqKeMip7hzFBL!b+v}c!U;7D;KMDuIoF(e*&?7WkADP z>F)qDkb9E)GzO=PS{)xIeCx!T6wykry7K8~@q@;6hK?9fV_8?U?Mg=o5c7BXmG<<^ zU(N%irXL+WH^8`ESRqS0fckFm&F41qyIgt`J*55l-+$su`G%H|5nV%uAE0*d%)~8g z{h<==_ezT`7gI{9?C*%^Er|3O`y%l7F5F0Ez|fJE;Z-jp=m>SGziOsMx!9JH0rNjQ z0#Toze)ZXbMfY396d+nGL-cuE$p|8lq2f*6;tsh!re^lpnY~fubkwpsXQ?9@+s33? z3JheSm>17e96}O%ZZM>#;%Kg7zNk4tt?E-r-1VzQxedDS8b~296~lruD=_l&Bvl;) zfZ%P2^N*gVX`WNM*wvA>uFB!f7O*c;gx<_KX#W^lDA$h~;4z9EBlX+qfH?MrZz4VB z#4&qRsTAGA3=c>6Lp4mHjMh&=pBdwxVl9}?dT$}nv5=6VeS07pD#&9s`;@LQ#S?7P zF_W<t&zno6t{Fqljorv8+9qcl=^L|&!1BI=*Nz2CdyXgT<^h{789rL!)(s`9&H+-L z$kS!Jhh`^tfAR$Tl@7Tsl^rgFL<BFpGVklybIqUQU8{?qS;kwHWXLry6_PS&wHq`G zpqPKec~*8yP;@;E)Roz{mqo=z@#s0;2j_~bM>3k>NOZ_L?SAV_w?@j2t=gOX0#b27 zBOlESx-UpsA=<E7M_U8>zEwsp3DL|Kdm}z>NBqX>JR#8S^I5%+pK53>)#2S;xdo1q z=lZa>%d|O03ZmeXUaP@QZ(h)IdWyfvziT8tcGfc`+@uwGROBhGK5Syb(V@ZVT!wPX zy3QzO@go5nh{|$liQ6}Y^BpRdz+04V8bXjw#W}VT&LW{|t|jUQ=C($A*if;%@lKdN z(Lhy^>}I9=9|&o_0`;whs=_h_>$Q<jROQhA*Y0jnc-J-keqk6#88gz=H<KJA81C3V zBT;q^*IX0aA|CCkCNgv!VMtGYI94!{lhlk29uP&UjhC(<VP}Vkq}K}`0qMZ!OlPj4 zAB&*=p7TqtE~h%6Mnm1eX~)Y2x6PeiV^Vh%%RzcaevC}ThBGC5Q#|Niu9?#o^eD4b zz|f0LFbhgDr_NTl@w<@~b5Zigd{If2py!2O0X?;JyKY#eV!>v@U(qjg6^|p@jbzK2 z&rkV3SE&oY|0%Nn6Az>Z04GbLer#SsgF}}F|110zWgQ8=!d?0@)hr=uL&ClOtJ^?s z7aBRGe8<Gg)4mZu&5E#OrHO6t_z@Zk0GNKn5S<&8u-5mYPKS>si5U0Gyw5n)=w>6_ z)dCrzUBl=C<SH1eMmQ(_s=f3YVXBNw2$MMXl5}R~?+Q5-9EC<_0u~-$bA^>(gTt-# zWvRs3RAMdEI~HGe>$t=r8yOenE;!$rjT$A-LL6HUQ*ABiMkLT8w~Y|4<;^-SX##$h z<>l&BSjnvmn`Ocx1GIdLWox|@`ocHZV`*bg!J?1yba6=tbL?84?tQjAg^h+>vz@vp zqN_g(hE%RLD8fe<fFw>S)jehyn^u#7pudyzB=D#xn{`%HihM$1$q%@+Pu?a2@p#nS zGpjs3js3oa7h46h;7QoV2m5AB7Jft}z{}(~177>~)eEW4NDh5n6uL=US}V+IVMvk= z5BEo+8JG~3bzC;RG-gQ=pRa=xV0jw+6Bcg;B!eOPt$6a}fi2zdawb<c7O_s#mxJ&h zPD=XvAU|h)3*p-T9`+F=LCoimgo2N0T1ipo&Bz!XJl#PK6vS8}i#-#97z^NoIoLwQ z!PgbNR*jz|BRg+`n5nSC#ofuDw%wpdod^{gA74Lr+y=&H(e<XfqX^|flX$ev-t&T` zFUF8aL1szC1O2=a=mCc@bc{$s$5YSIb&uvS_A?Y0Om_U=UuK8=+=uLa#}@1{2U$12 ze!0YA#SkJ0#N%+P+IS`tEs5x`aD~>139aimQe&tTO&j%i_*i$1oXa7hXvGzO^`dM* z6w7iC-fzOiwh|+QR)Z8dHrV!;=MHfQR<tgb9_<V<pys6Sq!kCb;!Y1jdUY5m`3Blv zt^IA>?@B28hi1li6oNS}e7~)x(OW`_!B86LzO__WW>T9AD(Yj$4M_)3v(kN$6nzGz zd?{K)jX)xv5ylG7FZI|RXBgjm?H%7`uDr*opML-S2>jnqd`-Sq1KE|pj9MW?2&8v^ zMbiZCvUZ}EOWBlA4Dk&8Tsfg9S%!5YDhMVEAMRaO(1FD3cK4Q6n1YmnRbH>xM~sy@ z_2UM8QWSdq{=xV3zGrH)7O6$H%u$u;ymg!B{hPQ1o{%^=wk|L*q*M1f#+@4mynQ}U zrsJK2CjD7OJOLE}zomi}zRrt$`9;JC8B4p7u*>h;prbxEP?x-eif_?=6q?(b_!ouR zMqt_s<F_oak$<Lf&Uru=V<bXfxcdZ@VLsKPxcuz2LC%r2eIo0S3HJhO+@LLN0T62p zTGo}pQk{r!a6pVAi^Y0}=UU4eSV1z3yWve;EojGMXK{4Fy4-qmuaPaiw@0C!j4lqY z=jLTx-9PqMtA4Y*loesXf9%89ZF!1pIlTt@@6IN;0;T!o-a8H0z=Lrel^&I8Ekzgi zL!RmaEPj7czSgclr-^H{`veDco0vvuL9k@XsEhI^nrm;Q9gP*s;+SwG@Eo`5h;PVd zesC>+HBf{`$^foaR1Y@(X^d4GiRJm`EX2-}0i~c(D?Y(sU_vjEJ}eEz<1w~sf^ZY` z4l|~|Rxhkt$mCc}f&Y&teBF<qU#EY{rd=Xj{v1LURNB&N4U!<sLqVX3uL6Z7S00Jt zKp+FqiUA)jJnwRW@cDDbz<_Uuez<>dB4}vsbs8AAAJZBrZx>C0q9{y#Vdt=i@=PYY zuo|UFk`Z+z83)gAJlz_{tKuZA$EgVCh8U?iQT!UIa*SpwGR_w+h53!fx~TaxS|a_S z(?S@;002PA9^LAohP**$m)NXMgi`t-e#mHYff?JRrkaZ@M-!C<h{_rrtBg)%X^-~+ ziy&?yd=fGYX;NBLM$Hiit0X%5`mox>FjcGx!jRpBr*GGwfuJJ-L_Jl=UHJC;#V3po zUX?trxbQxq1Dw62Oh?_FUw^3K-W_GABD#a+%+R&DE7+hTXIX&_REg%i49bu#?XxU9 zi@gpqF4u&7<=qJaQ$cvoO)*b76qzG0x|#T)7Y%D#<^{bUynoXOr-=r^P;p8V5Tm^- zhr#<HGXq;gg6nQ>86pqt&Wi}RSs0k@N<<Pe^UzN^?)D3_J5B~qSX!IV<}08gm*b6J zu&oTQwuzWT!8Yn7lH{OBQu9+k@bby($>0@tl{=(*>Nl2vKNv;T+9TJAnFQ>RY75HP zH<iTR9rc}wb6<I7!a=_ZDtB&OrgHk5oO{$)?!i}np}eC~gZ72o9zK-{{)XV+qm;v+ zcq@&c%-=T%@pNuJgs|MaQIEtgHXWy9vGlp&#Oo?MLZuq&XoOlQj%43K1|U#dfuWZg z__$Cdz?M$~y%v^p%0CdFz@AM)4Am7CF-C;X$n7;2k#h84AR2l)f-;x^2ng^cHj(YR za%6#EkqH}$AQYaqxIPhk;Vv&&q3Z_VG|s*PDrdQ4*pa~v?#~^wJl0t7&{Q3isJyWr z^<#{(xYGeU-OC5j0l`(~`=7PQ@ZzWS-Ea+m-Muh@C;)p=gp&?2O7Ce5gFSai1^usf zkpV5yqzVj!)6+4o$kzo#LY@uqkf_m86^U2IExYb;dU1I7G3%UCLe<gwAcK;;PL^T* zIs!a*P*bJ0qO^bJzLWBfBHUbeXTP)g)5Dg$<k2O#xn)5Ts}*yCcqHo-nv~#pJ=R3x z*;mwnC$f0BwThTnF7tt-38}1D&YqX`rsJTd*A$Q^GU2vG_^Dg3yr7<|F2mwd2(J7O zas3Rr=K@>TA>H}knqQykNz7J|7iYoKkF7Hze0wh*#0`MXk{2m&tP~q-fOBcGFyNwl z7%<g3Y8w3P^o!~=L8IOW>Dzqr9v5MMELRP@+LH9{O9({SOmvN6vHytnMF`N<J0Y0M z2~&CsKM`@oznd_Xo0voUoj_B^-g^Bcehs@KS1C%$0Ih+-c$0r@&!ZfMTPU%3@7@RP zF^U+2%<^vxc3c~~EZ4hzMP`&Jp(x`NM3m^%!4Q@%_@ingCydu+%0S_l>g4wARxBE@ ztTpHL1T_tgP6<1I0f^Z6g5isAsc`T)y~+jJdI<iiU5goC@PwzWpB2D{pbBj)-@rgN zY&uKOCvq;(!WhKEa%yyGm+VnKDlN_Gy6{->(5*~e+A#86Gwj00v<LCy$G)~X=FY{) zoLorJ5++qLInGX%6ZN~j;n1vZ=qwJ9+3!xLEj$=`lQdU`M@LvWyG1($6n#@x=b|}v zcd4cJ3Ih&FIapfx^Ft9dWSMk?feG3({XD3>2KV<V)-Te$Ne18jfW*+;M*IcnLaJUI z9d1?DmWKKet69V)(W-NUmUr&Z0VA8HLv091qkZlq6H9?FZ+N$$A)~D=7r#BA54QI< zoW{~8%^u>XhftVPA%CBX*6FZan0|DC=~))<Gok2v06H5rlwM8}w=y`y*dhZ#zI7AM zpBx97Q%bBTa`pxSm~f|4<N%A{##1OYrwDEKwm)}`h>ZMDEkRVv1MKLMVW+{z7X-qV zk!A^g#KN;%m^Bl8p-8I^nC>gUdRw!h%r5?xKZ5J{p3T@0Tq1lRFs?xVDzHdNZc7e# zT4;|#C~}17Q+q(&kXCo;B(i#F6x}`xzG*51ZOAL#B*nSwDya_!k>y~eg0m0XpAm9| z6=hCvwKPokq%38Xu;A5~sw9?BaGh#s=p=#O%5*1~b(Z_bU}>Ba`<ZZHq%{Nyx)fh} z5{wKi!hPU^z3m>_=vMq~L@8V5U4KBo?l_@8K@0sMsyM}5UQfZVI$3@N1CkhhO=&xD zd*?r!0-LQgV{(HH&fT_qgdIr=W&?8Q-N#UdTSj#+std76*gm~W@!b|bl#)^uwf@W! z?j~l#YQgqmlU_fhBPwG9LD3a>MLyr*pWQs=HeDKJTJRv@${E@Yej8o*qDVhWCu1pS z7h0!)n-Qtf=>JsU7Ns;e>cji?02ts}hByg6B<0J8@AN)di-falB3~L{p<OZ@G~2Dl zH&Rto@)PHtF)W!I>?u7wmS<|>GokcTa<wt+Y4a`<(x44uZz}`=4gX@69Z6RYObE#P z4`!F(Zdg^;${FGlFNgkEesbP|i<0ooXrb%T-I+ZiGzebbF0H{HXu3Fj4ACtv)kyL} zZgO;`Tsd{W?m#b!gA@nl>H$+QeNlmlwXw!;#f(hF@*l8_lQ_ntuF4NNjY>`6f5qsT zEiT>Hfgb4P9?irB{uMfz-tQIBkp_Krnuq4#&;R;k{j_ew=hW%}Wn@Q>N##3vtxzxV zk)<URGHI>K)aqlCni%sKvA1-tjpEvph(_;q#6Y97B|LJdT^4GrqWiv^W``Gz$w1^3 z4&NBX?Ij~E_J9WV-QXq$2W$g?IfmMT#dr>in1_sQJGx>4nODdO-At7RaU?(7bGV|( z0|3dyuKIOj`c*Jfm---*yP$BXD%1uazPApjzjX9F6X1Twe{>Oow{JX@%i;8jlG&(D zkE;s|H+6(zvu65?fwpkOu<v#OWG*W-JqZUp(8#7FyK16C#i_CMGt|8HY$-WTi=p}( zUiD3}U!4zuzPBm`X4f5g$ukgk#UY5#<~p1voYyk9`$!T{EgYDxECB@+Fid?b+5c#F z714fFgESqsZY`FMnXjpnzQFGb*Eu_W)q=v>;bi)#A!To!Ya%*Zt}2At{ie*8Dxo75 z-%r{yRc92fr6;X;O6+K0f79V@ir%{#NJ6(ID^_g=!X)t_1j^oeqUoksChkEpGlGNn z8JC-DffXH&wh7UOVMI>>_`?fIwvH2`<k>>sLcpi{e=IgKab;O9)CG*v_OJB?$@1~q zM?&L}{AyKaF2FVZ(9PBF5F-UzOYo1rKsT7bje}bet2Duj<%6e_UKtg=Xzwoz#@x4O zcjWH^-8x%9#|G<B*&+~FXx7Zwr#Z97_x!tHEUy!=dC|Z=O`nNz=GmfHkq1oYpj6z| zJSuLRLs?W%roYs|&!8*5DC>+uaou>|k<n2qTM~=42}FXfuSDm^I9wny&839`hEnz? zO}78d5)6)D{jBuhisE-yq_V4EF}n=m0z_E@VM$%55p4Gz%U@4c&#L;u&{M%<dZA?v z%J9yhY-9W_r#4@WgmgSXe-N}c!M6si#N!%S1d<!*I0TY5iN|)*c`r5w(d|*}8$q8o z$l`2g-;6mm$)&ifTF9>*E0JwqWk$MO=f%x%IA1FMWK)~RMw#bPFG$IrIwH{WcGf2X z{$Tild91FG#;eLb=P9zM&xS$Ne6V&56?*ac0vXXU!|`JeRd`V~uz7bESO(@*J~RUG zj{9Pvov6QxzzI|+Ps|7(N@k|R(NMLXEJUO`@RREsXkA1AF~~kA<j#Y7KZ5FuAF<Z# z3`D8iUrS&(kUR=hM=p5u4A3Q53rJoDG7PnEI3G^1u7-IEwv#@sU$fczbDhxAi`xCr z@?2;o1DyGWpeoecrIGZqTS5)~<TkCMw-lacVS~uf7rlH~Yyev}FO6m9DvGSHFd+{? zH?k2s!!A+7hAdGxZD5~JZyIsoAfTwFsps?5d~+c*hvk-ct%u;yuEs3@>0mhoru5zN zwcx?mn>!5VBy4x2q%3qu8_<z{>O#Ii=L~UO-7CENE(q>4&HR6kUkdBr^rmq>lpDd* zyILqH(|oDWKe51fO$B{S#HGs04sx>EU!~az;Z8KxV84BpD`tS)YO@GiGt8U#beV|& z*{blv%8EjpOs4@TTrGmvYl_N;kH|qAFM^(?IS)fp5?Cd-S1%na(>fUfsbv+X5+hE$ zHSBR+abs&~Ng`Cx*yhJ5ZkMVMrCoxbFO8?Ur9+0!q6!)%cOMeZk8f~_!deO0j(rOx zeLL-%E8LT>l!w5FlL}3?Ak{g;3Q6T$7OP-#p1J#*cQtQlSAl)yp*?Mqr>NG$m@s;( zmZYD?QB!iC110+kh#Ds<+8u+aedpMf`bt9n->5oVB*=0;jHfdmiGtggRA8|4V|EyM zuKEuxm3M1qf4>h9ZLY(HB!$~9y`uUhg1E2nZWpN*ig92fgJD%0Jx;^dPl0{}l?I@@ zqxxQ}INP=~Wuo|GjGBII*WSz)LRcPX<;`J8)*~CkdT)vzrezMvgfwd#(pxomWi$Sx zfzz1a9iBu=Yhj#5P%1fQLKnE#?uq3$qu~uHIqv5n$D`NDZ*k55hpM+78zhs)uUhBw z@l>hA=m$(`6H>#i7ek#qt$NA(#Q4%yh%HZ5PNr<X-w~8)M|N&=$}-H;*k)rQ1vq>t zdNHr$NrbqsSkeMM<7UWgneB%)lsvev3i1}VE2o`!`v7g=eyLEd;Q-J=W0IvZBK8#y zf=;~g!RGTu%U}bd0Tp}!UmSpQx`lYe!i{!TKagJFB<QqWjp!P+Ma&-=(#Vc>hp5Ri z#aac;gd@fZg4S2l+%`vA<F0~}0Bv+%y)LK{Q=)r6MQ5Men$^BAJ*V<O^EmnKlKi`b zE_mAZ@P=<W2iOwWGWC~J(p663m4i`P!+U*cbyFPK%`E&P8QSpVl};Ho^HARLPihrb z88CQ6<xoB9?axm5TNGyrlTKS}JY3v<h{_>PNLo?K36B#Jv|=|=-tUx7$WYp!<)V<u zyC0eMC}EP_rOv0ckOoqh#E^GJ3%Zu41s#ezW-NF4!Yt-7A5f5Dy>vsQ@#=ByG}0m? z9iRO1R(5nhEeTP`JRrF^OPP-*NQG_(Y=9+HfTO#8h{)X;i`a@(<#T&FOf9iRhZ;*N z`Nk1yfsUg(lU<Tr85V43z5cO#SooS_EZp76V=swpzla?u>tvTdM+NC#s)g(+QT#sZ zp|ec=$sCew(c{vbuEN}#kJ(VvKjmDSNJAH9@J%78hZntGDrLpIy35Km@c*zfi~}>Y z{bG!Y+kynj*XTdS$m;>BYOq%Bk7V3wB#>1I_zcf<^sMoE9oi1NzZ(9rCZecd5o@HV zy79U0N38k@R__0*dMzGe6$UMmH6(|5&d*AC?i|xja6lGs+wFk3Q#O{;Kj4pxgv%1N zHZ}=g0rB<2>-Y2KSazFN8p!9SL;`|eYr0`7WavMThKTfs#|~WB|D(|u05FLzbX5t; zKJeN+xSn9j#?tX{PzZDjdFpTd6pHy*q2vfU0Odl{j2~H1mTm9vmqK$EhcXVMTCd5c zFqe@_Hpea2uI|tvzGto|=VXa)?#qC85NrS;%{8Lx11wo>t2O*}Hbly}{|wywyb1}I z*5S+sh)|;$4)%T>iG-ik6{^qud8ziv5qQuDUB|FBPZA?_(?DWU7K>T_c*=e$C=_t_ zyKcJB!y!=M!b-$^(hH%RnFe55%QbF<u{_}($JRyd44P1PE`?SX2W~sdPqnM{7&Tiy znds+Zq)Lfa)xn+MCa%>BgaKbDp8$rC2<lmMr#5J0g%Ez2DtGc_aH7KOS9pqTFir40 zW)*-BDG12$y~_`QYO=uw2^tHhKmA%zzor%L9KXY$u~u1)-`gK3B()7I=4Xpw$_J0z z?yB&b`)dQvL=&DEbh1TbIWd;L`P`1?lz%CO#*L5skh`%L^{AU6>cA$gH>!bjI^KTA z5w6zrYN$l?IqMLkn(1Vzm>C3^IYx*>+&=()S|aE@-TRITSVB#0sXb%*sQ4>sunk5p zv(eE+NI=!M`Zp4fQMq%%y1KZK;-Y7{i@5o`6Grrs*0*9DRA7`He8%^aHBBzP^a!cs zyCa!R*_UXNUVV$t5Lit?9*4u$|2&UR6VId9EEC&SsFJ}oQ!Ggazu@HOb$80ab1?AH zMcw8$$n(~Ni<tRSZy$26`GL{*SH*3rV{7qe=71Fh3`p-*MdTP5wh}JbdP09hb>8IM zY_m!kDFp1lC}hiD=+|Lm^f5j>Q1M(gCV#Q=w`q}*8ghqi1%XcfX=K8ZbDSo0ECNi5 zEx!T_D;JryC8By?0tOs!m%k{`$<sT$x$+rXq_QJh?_<f^Il|ixhnwdHG;|CnP3Q4{ z9Ftn5!>2Su)_d40<9P0reqwbNGW9gg+WZMmmmUgO|D`om>0`QYF*3}ip4)ls?S3w_ zz37-}gYO<M`V*)_@zUV(<3nlqC528+j>>$NEEL#P!Dg&(^e#e_SI&mmxiq8{me4Mv zG|CA_*V2%$<;!(362~P}$dY$~+F7rZNyOCRy%mv~a5Uj4!d$+xz^M80Q%0r!s-~kJ z%j*`O{EO)RVE;y|wU3G5HGmvN=;;k9_8)6ooJYM|^arr+<j^pEvfGz?c)&%~5N<E* zNDtzg0OoSwx2RTFr}|h!-HtprBZfQBigr+4Xo8^PLMA|#rdF#@l%pr~6ME8|0zN6o zXXWYK3xr<nmOZ5kM^Z5%qT~fca(yu=?7~DUD`y7Pup|%FVJ^E(;-*mxjLRH`6U7gA zG&^6&Dirt-x-K#`3~g&As~Zs^oOLVN-@d3QsZ7SPG3`dqIIau}&LVs7#iw`5n8k99 z=%9u#4LM+e>hh^64w!bNfISu={*e?@l3USv2{$rltF3;TysPN3%I3uI9C;Q7I*mac zp)!AGs+CchIh+AS7@!qLh)j#ZG5q`_Kh5(P9RZYV#iR=(*m*!3W5K<ozu=zcWyRFI zsP`tyB;>&4lxfGnZmRSw4%?Hfv}aIn4)dh{kr%8e4q4aDj4@)Qy3>oOR=A&6NzPX| zN^P9e;~{YPhpnf}RjVKi+jsCV6+-P0-5+XCZizi2Ga!s3zu)tmUTREjd`M$Yq2~wV zt`zXn7kPxU4pHSahvuj)G~m|G+(_N}eru#~*3?uQefH`0k*1Xa{xE&8mE14cer|7h zVGIeHMDx82vt41WJs({h?F;XZMzfUi&~>FRIb%)x6_{o2krYCot<JU02kaK2aRyoL znbNHdJ{wfK2t!H9mTw(QK{r8?`!(%Cg({Gw>(%`h8c-{tk{Og>GxX4BcKq*L8c;^? z!nVKm2NDjvK&z+ROZwBML)MOchJz)*3tP@>XuI%PN_*d^_$Us?xkPiw@Cqxe@VP4r zQm{Z*W5D~Hoax{5HaFKVy^suwjb7;%GzXC-*s;YFoa*h~yI=Pp{9{@($kn#9ED98# zfIe#W@75zR+V&;ZKQH(Vc<eM(nsa*aMV9>hypWtbmFBh9e?_=?3zL&fKK-C&0re-= zmshNYLhZAwc?`!I$RY$kDGr1{uWs9r$7Op6+gc;7;s231vXe87X9|26tH|GzK|G)x z#dd6vK82LXt<M`!O-hgMyzouL7zMV@p&DaqGl{AlAgB&D{j6@X75AkN@2DpRFv6!N zEl6m~*UtFmtpEvD^sqO_{^7Ive~v+yn<&FxbhWx3y6VrV<}=q0<~WKj^uY}6Pg#V+ zD{lG0vKZsG)xhOz1}4}GTddQd!oQ;m;~?VSasQz=EDGLZS?CJ~)d+`2p#i>-{%klD z>i8FW+}$<-MF4d)_>pX<J{(oV#>Ixc(3qG^(p?}RP}kD_4|l!i#dIpG(C5aYS3Gpe z(rYp53~sVx1L@+b=1q;0sDxBFPdl)@8dr93>7D;hbCGKT0}SWg9EK)j3fdJmOa|nT zKghl7V<<u}^j@XCOrOsoVF38v^f5%9Dx;Cy!fmYKk)Jh?CoMMW3@NO@`1pcEA6K_N zRSBcf$#k*^p~F6fT-EN!?-t)Qk62kXBNX=?*TSBqi162Fh-(m<C)s`~lNhXO-^~IE z>iGe%5R^W!6=DXGJQA3+7Jtg2agO@3xLjq^dka7_0v`liwvsCYOn{W@<5lzIZh9Yo zC)l-8JLhJZ>9&8wmEq90RLWeMy(4rpPgWtoU3n9jrd<pnJvcTkeR54<M=r+g|M{6W znrCesnz2|8E1>Qf%Z#c?;!Jlu<<_PgQ3wyPj@EB}?f9;6^NU>pMO{ylgh2kLo&jVl zEs6PIxVaa;daW3Tra(w5^_z{3NpO?3bxcVr<Y6=)zh>=&UZK`MILFl<!y*n|N?Vm3 zlcI2`D-Ua%6f5+T>a7i}J+qX*+`6;3^pJ%ShUwG#-q7J;87yEx8s}}-HCRyzLQu#P zoGTv@tWgIR(^&H(SnqH_BGMky!86DL9T*x0E0;$pYqw1oaDeBZh2*O;A=mQzwq7OV zYyfeDO(`9H>vOuVvoIoQ1c&PK2@fXPnn-H;^Md)wdijpoCKj^l>zp?=E}|MxH<@+N z0qEVJdAt<4XD1C0Tj;Dy0I{{DI2^~$t%Mgo)0Gqnij#ir0xHp}`x%xkycadWSzE`q zS+=(uUHC~V0%)wqe)-**RMKN8vMfCwW-SYHg@MrPVYD%1KX68A;ga^vvp%u&A{<cL z`SB0<D1HZ1fOg|fE{mbimGOE-pxBkp6_2zoU2FCW2*{qV*7av;@nUFJ*CdJE1|J*& zs@e^MHLK5^=`vj16Z*hxu#qOZ`Jgj@!n`EGw!fLW0|)Esa_J=1FMQsvbl5=N6-fAT z=1EZ$7vWK|6O|%B^gf$#f(LGb6dt;{zTFfGZFzYb2X){C4zL%D#@&?Fts#%8_1kF6 zx&z*FTK|3csl;IX`D>7-Ab-d<850IH%nChmq#>}&449EBrjUXuzdHucAegC_=xI&F znw`7u7Tt+<;FqF1>dio-owNetl)WlFEi@U!Ka9L4o|cS-gGLy|iNdbcoq>~P%1i`R zVJ%R+hv|?w2nl1%*!2h=E+QU0Y@&$LeI1d(iMH);)|tr!4<6}Y%xoVe2F}VSI~S$0 zP?do!2Bg>WEQI4U(<GtDw_T0kDuEX&hIOGp658YDhGQRIvAjQ&QWK_#FkQmhPE0O? zt0SU4gu?60T#f&|<fKo_A7YHSBFWzaA}`Gv<JZ7>*c~%`h2b%f`+`^MC}-tA7DShb z;~M46@l`07xCe|VjWl(SqHZ+1^;d@_36XWu0;)|!A^0x1G1A&n%2Tt{f-lto{<6u+ zm5b>*6$`wYmXH+}t8FH~Z(@vEfpkH3-9sk8n_y=CkP4$yZG&nK0#Hq6CHa7W2ILCT z#zC`Q?T>0yu^fCR#)iM52uX83xtJdcsFS!`!2I62N_4ZXW^b}dUmn4`1ob%&Q(w2x z1uh$f-NwVvLwzvG+M%!`@MR6(aA63En;CovRsVJFhO|njiV9S>^YQ3q-A9)rL?)Ps z7qC{wjf-81MkXrNLH{eIAzXAxQZ=e+94edqQLZ|y-2zpm*QfnY_z3Mp6`e7~Wl4qt z)zHH9aarDtcurkLz~ed2$&9=y-U#M#6F9v45fND?Y8Vh2saEtFR|$FwZj&gv6lDcQ zS0pZF4+&?A{H{wN6?qvd!f6Rm5)ApRJ|}4pC`Uma<3I3e>YZ(R=@yYKa~*vO8r{Ad z#r{&6E7y{|z<t7jvavG%D|0?b&cc!C$Wovw14B7txDQ1Ao76oP0lE?ypRun~11u}y zMgl7y1;eDJqAGv6xna9CM;FbAaP9VosKy8DKAW)iKQQh<XO`h*WP+AEv2IW!PT?Xc z7?YY|%62{ao1W~OsJ+y}bm6?>w_PVD$-oX>`sOK!7W1jBIe{d{!exLK17RXb=-RLg ziJ)KxFvl=;=+PZyQ9mN}DWz5A1<H73*k%?C-EM8cH*<~fAOL_EQL;AK1_~|2TwLVa zm$jRq!jGRS%d6Iw2-3o2+kDg-d?uE6%I(QE0kzi5C`2Mi5pzQs`y!bOf_NvrML8H! zP+&FW?F{V-lSM1T-Hb|}y1HJ9q~-`ELk?ks^=T+vkdN~Ii1R8wif$C3KmzrL#+?WI z<lkgiqd9EjPIt&iCURsLLGY&--cd?gJbJ$i_cT1B4#q_Nhxlh6KrA&Hw1!wAWT0IO zIZ_a=35pX|kK@Pp={1AKJXs2I_eF47{QWqNdb_-1VriQUMQ3P`5Yu5xaJo>!7dS8x z_Fw2RmSEM$`55E(u&-pHfp0JtNv~~@vW9*KD~a*d^Yh@tJ8M`DbaV7uOF5n#$MraV zU9=@;L_fi3$Svr--=s)!35GUh)_7fTQ4DNh+(=BK?mQ1UK{im%0hd>PL&-SN0TB5G zt$Zv)0Om;Mdifa<g#3og>w?Gj>Vc;F;9-(_*z~EIfdCN=&?Xix;7qn+7`9W_*d2&k zq>IULVAPMKal8D&mM&u>z%UaSJ9zopV>RkNQcR2r7g=}}`(Pea$^MVuYn<)a1sc)y zra0$Owg;tcgHfD9h46HP9hJhDeXSA(tTb_g#`wG>ZB?R#=H|j<wnp5br>f--*%)Hp zl%a2x8Pd6Y={#DhK(MgXf@22gHVVq-8ZVW-M00TuxzK~Wwdw)8hV-Scu}#kSQqnk6 zl#Nl9{jPOJ5fjwO`A$Vz7GoWua&q4B21Q!PgkCPCKm!JaQQsjcHP~pNoL&J~%8%fV z;Z4rmO!-5SkTDuTVO~&!(2yJdq%+OE%YNu!46;A7;ItD3Kq`ng;k}7+>wm>b^yAo( zXHRKQpG1We%M>ky;iV|;!~wMR2*w~`p}$18%`$#qEY5(F+|{>bWCD<BZV+t}A!x?n zg?+fqw$q{1XpwI7<!c{99B7l_Nbv`r*||E>k&lXaJ&?eSDb~Uam1&698z~LM9$|A@ zScGkJOM67zfvSC58er7M;R5a#po>}5>LT0@1gCQj%neDY^nxf4;)?vqPs>vgq89!^ zqJ{fMaUoBZ@HqWy`WQsSVc8#xLaqVHO1+whkaE~nBvZQ<&a%-mHq*0oObvfco_UA{ zG!D{|zmux&3=&ymQvSNduK(173CJ~T?h9*JLS9+z0<twYWXs8_s5dIs%9Em=8{8^> zP(%-_w<h%yrZ&1>A+oR;6ZScl$GjaMk07Uvh|~ej8WW7^5CTarCEc6c6(rF^pZmD? zm~oTG7D?8QA<2>;%!Ks>^GQ#Q><3g~heN54Vw#55W0O0X+r`?>H<t6@>O{9vYZz6{ zN`O)T;7J=7i><Xk2o28X+n+1v>Il6>L)=<;p@(Fa7^-EEjquT1aFf`9B>W`@P43{P z&GQj%7^%SgkNYw>E!MERnVPYnbcdKl#G7Z{0))`n?S)5i<vs@7&=u$FSE@`F7YBcV z{P`X>?THi<7j8<??bXV_g9Q;{Q`SyPf_`}tpt@jR1YIiZMvwxDQnd2A?zmnXo#@@a ztQVbC;*?JSowVVIa)fJSYr^o{&(~DTG`U=Ai+Y}lF6Of0`@f_vs^g(IaeJEZ<R(Ss zy@%S?=Zs^HZT&F&10`z|biYjF{Gu3TsSvqgq5LuHC5P5OpCc8J1TZ`JyEUi~`IE<= zf#fm4(aYtAkbN2<;<j|$<Wy+1XbW_Mqe)#OhDR0H>DW1X^ZQ~{6}(cbP@K+-L*-fP zhDPc?fYljT3dUD)W(6FubIi8LH2!!BkKim%fRc<cm;k^WIGN!}OH&PB8L`GL;2f&; zuZBg6b3-3hij)+?8Yb3#8gvJ#fk&kdP<(iiuryTPh+a-D!^X!hozOr}AEj}$ksE~+ z!ne`er3|N}5<1bCgWP#Xxa%BrWGtusm~PVAY4Xro_jQs2MY(Alp>94|T54;pAcueq zvveMvsz+M@sYa&qK16jkmgI4O83z0sMp|YV?KrT6;5JZw7-b}yty005j$l#&xTl$L zh(D;SC@75cd&1o0S60)n^3s6Nv283`HlV*Fpz;qy^^WHKC%J5aP7}l>eyQ>~>~!L< z@G-jr19MQ5l5yTNT-{HQIJN}Wbsb^zTFl6<8UOSPxQY{GS)(fw&Q(uQ{TzdlG$4Iw zJF3U{zvQCHzvupmdw-Aa(ig-Pfq0-J%R!*0MmFO)Y&`ppn&n<b=E976ZO)>5P;Iu2 zZE1%|0=C=j6}sPXZ($4m8m+GIGg6Qak;|?+t8IO!FdGn(RKy@RrYig0(G#WKAiH{W zJDd_vZ*u5*VrU+0z312<-WD!+?L(5EX$DyQlU0@Y>Y==Uei_Az$I8d)0&jBQQKC_K z>@;5^*tPqm_1f6?grt}dgHS??#c~pucRPSDpquUyN!i)1bSa`Zxv{E47;L0a_<L5N zZ+uXQ^@CZ+0o58_Ua*sLhr_+pb_*>C!g3$8Lh8G7i1zW(O#v4p){{<sCM27?CPc}q z%cz~v0(1R)9hN#cC!LcF!0=E1>T^^)L-C2A^@_e&8sZhkR{B~D%SY=4>iD3GOwL#` z0eW3zqbaLjcl%(3s~SO(!G_`P)c!E+-2nm)0I?GH-}i74dmD_J$awTOKg5|#U3G`t z`*HRw^sbwlCWI9M70{5=2kaxTi^p-0x83HOg5`_oEhgE&zKGV(fb^4?ksFELV7WA7 z4ojBB6Tg3VgMx4mKim5X3JNzZj*co8z4<bjACz82;Y1igJjSooqM_-X^sW%XW2>Lr ztp3zZJXg)ia)OUvyoaVtaAyEb^8o%W>7kiyfY^;tLBC=}_|`{kjtacL(74G)BYO#m zs}Y&AMY?gXu#HB|fU(`m3t}+*k}FnVV;L!=sTOJK;APB@rOu(<^X+@Q1leq~*l8B} zy1Jsx9icgQL3FzvIlQkRAZCM4sDdgk6VNDuRrB1-2Ft7L!-KHSBZXVCUk1-vym3u9 z#Mag@gW%SnH<;LUWfOLnWG%l+R>eH7G#oQAXK62eiWn~sfX+;9h~D(xh-D#0u1-jn zW8Fospi`@(Z|kU_^4WMHiMV}Sadz;nqV<fTCsneCeXROGu<71P!Ahq5g=Xm38M|$q zO41FbPcc}ct6ie%(>v3kSNaVRTQpSdB`*+GRD5|yyyKdRfyj+r4#vGLrk!wMy&5^r zA^f^7*Zl8xhVeH$%VVbP?FgQ+-%ib54{Z@4ygJArq0Z-^8ZYNlm8(&wJXTJK5`$Ox zE>J_H6FPv>;di-JRaa0aEA@@_9T<c*J$0c6M$2xDOSED7IDXD4X9DSLVqkAgyYJXO zk7Ep)l%jsVob<q^koIp~YGM%4hr}zg!0I2D$z9QUK=j9Pm&a!@pR$;rYko)YASErN z-Ye}zEAl(CV#Z4qh@BuD(4sV(6*1^Yix<$2=?BeOf4BlH=ap1xN#sHqy)m9Yi@||* zSHLP-2hO9K(ypcC*33IiwQcJOT?McIGW=@Jyi;<|@GyP=a{b#SbwdCs&2N<u)o2s& zErdpGl=bCjg!Np{X^tYANd6W5WbU`kvhF>9xu!RDAMPx(nvF9yMH3YY%ar?^jp)RS zW7cES&-n#|J0~K$&mXpH-T6ZW1su?o+5I}cM+G`l!+&t+%s!lm2nOePRJ1NY8@9s2 zu}25I9^G*UMkXH23=S!Sgh*84JhGMehi9j~#dg9Z9mfdt@GdD#CHTQgWbY5?$E?D! zv{bdH@)Ogll=DXLO*P+e+7I1o3L|SFu<_Z*G86?OMEm#}YrXqOhip8&vl3$!yozrQ zO_8yFsxR8s>im`MfoYB}Y%VS7SmssjBI$`~1jMic9X~l;M^p#*PCQzjKV0JW_sb1Z zFJBv^ca1c6N#%#8bMNY@Jon*X!N9ry5z)}|HhPcsTVtbnl<mozGmVocwx8!qBJq%D zGdp4zNIt*%T`H}{B}7jam&-IQ9AimkSQi#>)V7`T#*ifw#2psIODWin8G|0)KI||% zgy~!WIX?AC6;Lvg4vq9-$iTg>HvX1_5qOgD9|o25sP^pTp1nOn3VgkOIvE<9bF@b~ z!SjTClcc>9H1}PSk=KrGl0BuIBipk{%<adSw>kXbv2@f&j~%Dv3{l>-D*-$|PiFEJ z!0oC9Hq(fNJ+%|q;kqOz__D^{4Ug$Y&uPPf)yzaQ5rW)H0>s3DPUQsq!|Hd_t+?lS zlJb3;Hc>wp+I-BVonyE1(hTdbZ*ex!xuM%(2;!~1aALd_nRL1)r*^`<p7~+!FvCJt z%c8n1k4#i)vg9o^j+MxHb!IG3zc41BnJR!e8G#u>@q>BcQe8+dXrw)PuQ0}aq&*hE zN*bia^$JCNVoRPtAA1;?zZI|Vs1CZslt>PWLUxc8z?r6CGMq4kJ+=PJJi}1BFS#Sp zNpb{Rn`2|XXcj}~HXVSRm#2m`8~@ixMI)J-Tl{7W22RtbPb|e;#ozgH?MELRDeGJ( zkqL&#@v9A&CsJjq!a9p{9|V|1{qk@BQ3}5AQxg|RKNqtF1;A#dNeLuXEfI#t@81cl zb0V2)Po>5#<M;9wNuX+-HmdTm6msdIKbatExz4M{Mf!`1@`znCs{bD;S$Vc$iV{P7 zLS#O=K(rYPp#)AtcYsD6*iu<1w}1qN5#25zEc~63?+86NE9IQfe(%+<I86^Itxk1X zInUo&rX_7MP1p2kjpEv+O&la3OceR1AD;&AFcAYkS{YpaTb1aoOx1HKe_17sp%!y{ z<Lm$zHivcXcF3ID^qAv0NhmEcspMe&xGe?G$(IYj{+q$(BsKbMmu-SdZV~-3&oNkr z4J%{skgQZ}axcj!5puI}t0WGXjpff#W0`%h4u*C<2Wem@Gd@ayt6o}ayPUDJ#9eum zgW-G5W6ax4Ya$6lZ!1=lK|bjusHQPC;2WOV$roC#q7DL%WU6wm;8lR!K8_edT)Wl# z6Cw>4)2kS4Flgv5+cutm)qbfgD(*Q#!8*m)MUF#Fu^?^`fes1QNzMzX#hT!Ks8SHJ zfOk4V&Tr5P4K*pI3&Y73qAN8++viuE>>-I*#qUM&Y9S{wP2g9JyC+P~H~b<oPdkJv zVecb7)o2B`KOtA`qDJr&HvnoN9VUDE{@N*-mXPMu7=b4(tiO_+wVM6MS!HP2wPCo_ z69())%uITCH%UQqPp<iQ|K@fT8K31hvQvqIB17<x8WR}@+F7>v56yAK-gF4+SiEOn zhXO<f0uEVPTO(i(TRU2PG8w0X>F*%Mf~VWZBuZorPIBvkW3+4Zu7)kbI3R;*6=J^< zdU0mwOy@)+P^%ItUpo0o(@ZHCxY7(7Ag_iFe5)s~G`9QE1f>g{uV?Y$B{PdqIf553 zjh4!qW%hUcgaPZNG!A{U^zRrmHU;v%Zx;N?_73QYV(wi`%s6<dXIV@<d32{MaP|L< zYmG7vrX}JHV$5>57*#@FG_N1i9==Cuc8qX_HxuN8Pa2#v_~oB~o^N2eh`~iXAZEVo zfNA)<BLu(Wd<q*FaG`l}4`P82ZBnc3@JPI&R={u3aaz?O4TDLBrLYTI56$!HGLE@Z z>3Q4!YuJOEpJSPs7MpQP3cD-tmEpi_f6@mbBUzI_RT-DzcZAn~*}rN;vtKhrhR}=Z zGOBV&T6PN~5-{Z6KQ_r}Dc2(qcdy9yt5#HZU&DG?2&`9uv)Yu%Ut=&z9!@%xe14N) z6X7Y~ml1k6_AMIi?(dXRqA0F*8UuUCsTjV61DxX;>R|nn9^*J#Fi)`LUU#6y7l-*# zl;zZ<W)UB<J|@V3>wmSoToL5)orRkxXd{W(>1;M9r}$(Y`C&c^eT{Lcfnb7kJhTk2 zxsoTm(^GRm7n_x(a)Li#v12;=VaqDz0IQ>Ybu{gNNp6u%5hh2WPU&om(4>qYf`O<- ztaUN<D(M1(wJ2=UzM=<23+>p7tWU)kR1T)H&8T>Y|77s1DRl=odH*(1eP}|UCeGXb zKvJzuO&s34HWb3D7XyMJ$u{t^Z1Sk%vq{jX`=<H=*^`~8!lGVnNk_-iq)=$+i}3!X za6!PIv2d5}{IK7nh=p)tAa<#Ik&{r~{eCO_kJvJ^aRltVZl%T07`3!kbDl}LB9&sF zV;N+eQCb4lmHVnoua;mo>MQ^yB>?Xe=Rn{&XzULZM!JpdVIN44Fmw2S%rY5NVGp5~ zsS`~=;=YnnOBuJDf!2``5<+gYUR<?#CyImt5RV+#(UlAW{TUET2OfgRw%kT>kvh89 z8k3idr8>~9<Y^k5)CHVCUt;2Q_P_i$dgRr!r5;ymRr|{pOC**vddVO){8g}1c9O1I zV$7fOAnhT>Otd%us&V3fjJUU2FSR-5uBeX#9c?EVW%S5T8Pw_qT<tt~CpitelbqGG z7$M&d1$SVuSKL+gaD1)}67{=4F|gWsz8)yDry+55#ZwK=wea;jQBe&V$}0=Sc+4!p zHLo`FrDb0lyY+LLzVD4}twkt83c{z>3q@F>-M?N!JIq(B?UC^jA-62ktjkq&Qi%uj zgE&-`9BHvb<V^-hb<(JcrRiQfB7;?76f9QavP(){+`BlM#%IP?K?;a!(EIPP;@<pW z$DuMfr@0Jb`JGprbPBj4<0-x*w?ZwhjJp*O*Xd36C0Orm8T@>iENMTLX;_NFE_k>7 z*3HFaizaYE1K3F420~5?yW*Jwj)H*V+!?Auitp<xXgVR+ys5=$aW$pB(2~zNKHoHH zv!!yf(Tx3im3?>GHlvdY?Pp9ez#=W87w>m<R)kJ#Ae)EY4qbC7#Qo`D2G&U%On`Xy zf(Exw$t$cn5H#ZU9C3Y5P?~zJ!VSZhx~s(EpiaYLPU2_xl<dJDaHi-^aTnm9nlk6I z7xdpi0_#A(^D#8NhZEFadLqPx?|tfg^8=i%$oQ=;-24`qRZtIAAm^o>OfQ1g*5oUK z1ilW$WnXFV@HeY?6b{6ij3%To_=#X2s(DMc365Tk)aF-J&1E@?S#ata)d4e$c~QnG zbMBL1pxGmsmnjnoc@pxwhh5+K=M;mJHDtrMG6$1=y&|#^JB*0LktGjOq69vlr}VSX zH88BTUq-<xzpWneyoP>N)mii^Dm2r_C$7)Y4M|14E3Clb^w;10Mh*9g=IM$S4%Mt; zBJb&OoSU;IM26)wXK-qzQyD*NKQTT$O#{vMpwOv=8*1ICS6KImn}!2&O_(#tU8HZ< zS4h{t>@I9({4Ka1T(e~p%cE&IuMfCS%JhE#*Z4!*@($BHyRaybAr41B-@VqEL-8W! z^@E<8bc<+;P<P%&9wJMAm6E4141%x)5~2;__o8y8793C$sS5GCWxP~prh8!Hosnma z4GJD+kQ;CKCwcBcWkxM<o0jRkRU^lUjv3a3^;xd9L*E%sBh{b3^hrCjRl;KjU3nrU zPm9UWzp9+8b2ZcauchW^xjzvVd5sY?Qj46dh$`I_VVZSRuexW*V#1^lD8758xU?TV zQ-So8;3Ds!@znVsfr{lD7u*$t@Qm1YsX-BL)+DnBt-ij@AVf2ef67d#LvDdxl(2a= znTbh@LYn?YThIxAbD<^;oXfS7g$uN9fgH}Zifzj%LnO0eCay2fO+@+(vsLQR)mthe zSvY9yaZ$nMR~NWUPc!9-o|m>T${?8S-}Ai8+f#)1n*GwfgJs1WZMierVFg>u`{gIf z0MX*Tzbx7v?CpNQ!>oii9{unOZfEn9p0g8NPo?Exx%}Kb^bXBt_hJ@pO6J1k74m_> zIr*cd=&unbGRP?F4Fq?$DH$9r>otmlL&*8i?CF7A>ME!4Imn87OsXJn*tplm9Xr=5 zYz_MG{l)%v!sd5Kr>G(@^ZO;phNy5O5d}slz{S)_Pv{=dj=nW|yTq8MAATHVYJ4PS z!DmyWb4Ek_c+y%bD||^Y0Wvr<c#+BE>ez*VG{?k4`9;`DcE-aEy~0JW&PR+guVx}A zkPo%?#rIMmzB`Dwh^F?l8Xss^4TKkT=s#h6>4MB_-Mz>1-42@3z47|LL*V~RznC$6 z|BY`0Io!ciFYDINgWo@yt6?;~OLs6umV3XNIS;C^EVGaG&!4w3h&gmg<!~#4ygAnj zidb+r<~a|ktjg{iO5QW=Kg%%jT|=|*Inp|mK#h--f7Y|4>U=4;Ed0#;Fh3TH1f=sV zH^4YOR2tjZ%-`ri0~w8}I(3FlA#*)Sgxc-C0bWfbottcRHrm=;x%GOR&OwE3Xm3#7 zmeYajcbT|-&M1JH3rbFGB)^U2rV+6M1bsaewMaS~8n|qAHeLiY9xUoYpne$p!dM+b zt515Yd%dt3;a=rBCUQ-o##T?%AY!I>a_00Oe06?UW5}*TVDn{eFGnLO)#E0dgS0)s zY2gGFeRl#6O@g2qJFnDB9}^=QXK3*^(1=Q_#O&m&<C>Wt<!?$3;y)DJ3XOXsL^bTF z^z}tpZ*GV`<0>2xmZp_kR}tv}gVH5VmZgHl9EcvJYcxH>VC4mWXEhiUjL`ONJ#vU8 zLl&>SGoYumfyu%6p})Y+jFL2g3e^ydHYunVuzXp!>12%gt1t&szd4p6m%5Vi(cqr3 z&U8EwWrlu{LcsBH<hSc_v{q8LW|Ee6(yNFmfA3e6%W<)-2YW(p{?t#JVTc7YNTn<! zz;$KK1;7W!(2*vE4KMe`vlv@Gi%CAUa+s<KQ=g#k1MP&1>#Wrfp4AsUafoqIaR<*I zI4T>o24D`=p};X-HEXcVnQk;W@X_V?+{n78gV)eKA)aq1RWU4JGBUDiZ*5_-5+ay| z*KMrlk1{3f+PM*sIt-$%Ma!NB?&Bj=zCM}N%LA3_7^6AWxhf{=l&_^TND?(5WyKi4 zD`DxZfEf9Zc!AEU{wd$armBoWI^MPa&~;A1nS|XIj;$}YolI=oHYc|2e6ej$Y?~7& z6I&D8w$J=mr%u)RFMC(_O;>f-yZ2iASp~O7=T^$SEfaN;`w$-!T5!SI$?Oilg(WNO zZ)xAS3wTxU85bp@N3qqstetIm60@R3=npIqW#$p^YZtJWTtQ5<^_3$KwuM&qE-qq@ z$618dSMTgd(;TNvBK#IYV2VEmUlG<kN4rY&BJhE&Rs}>;8whGxqVlZt@jy>DtigXl zNID6y#qmAb_{UZD>AoOSD^?5j00<Rr%eB({S<586i)d1lV8y2Ms&q3vMCQ^zKNvKg zPl>h-a8`*okq(4#J8M=8+!VUkPFbt99`e)OSqQbtB7Tdy=p$6{b6eVZ#epEr?3h2T zw(SFpB0ewOlL$PYFI{8_igPCE9Spp3#-=dvST;2#Z~DAUK%A)60yG9K$iFBy?<M!R z9K1;3%XGt19E(tgbm&KjjuAZ;_2>2UJ7?O!XD&-`2hksNMt4tWNGTHBLQ<ub1t$_7 z#=_^%(dogAV1y*BjE<N7Ei-CzeyBCYLLmSp?pb2m+)keZO(!aqGVKS;wfRU@RAYo; zjoEO5SVK1p+Qa+F!W=H?3`OPw=K94lwGWxvTKLpNMhd`vU^H+_KAD11W&i2c;Z>1H zvtY@L7*m8#;RwQVpV(i_K8;{2W$L@u=;S43){Ekz?DCd!sFE+$Iu1p~t##(^9EU)q z2xy8pPycZUhxW2+Sb4K3T6q|!i{ESoMvw}rl(th^@Yv<bf$fAi8|bTi`CBl5+In6n zjReLuaoI<#db?>l5g4dE-D52!t42Q-XVrweBP1g+&Jb2Tv!O$DJg~l@o+3!ZBQv*C zRS}s7Q6?tZGKPJEYMJ?@!Ic&D@2r5u;O9Jy2VEM;qf{kb3WSc}!%Yswp#W6c?E<KO zDMYxzst6%Gh*7JR<|v)*R8H-ao^5;_Qlc?Ehxs!>mdnNr)vXH-)ZpTf!qaS3Wvdws z+PXh|A`MZ+FoyKzs1YFD;G`<f9wJbs-am4GfA~S-hEc>K2UGh9{hhERuoM91g~DNg zIU2LV6#>LeMcZExmYC1#Kd%{!IudbhDKqqOYjg*nZf82a=c@%KjSxb&6feAU&=pyK zP|my7wMW*K7g<PD1-*u`a&Qa>D>f8u_}K%<_F{4vG`6o%l|~0UHLZfimmk;NKGu=y z5Z*_A?IGF@W7n%Dg4rR^C5!+OiCdUpCRqoRjheU-Zf0`wx5dW<y35pzBI+98zwF2# zg~A;F$^<&=`FI=B#HQ9_<+EuTa4~s<BE4Ns(XbM=3Wn3HF1e7}jt%19*CJ+fztF1# zD52tAGj?-j)MN2@KHm{V5^MAd{=UB|gZ{aEII!Aw%8w~L`qVW)?yLk-iiiLv2w9lw zm+w5~u3AwPP;@@5KlO}wh@s;8G;)|#dv)-^MzZuW&*b<=s>GQD!#n`CxmmIcAaFJv zd%;Rb(IpFK2Z_oVQ(HniP8VOK#J^~(8{=K9)3As-p}YICUkV$iDm4OGTU2@!CQe(q zx`Q0yna7N8kM?>8sO*4qs>fcj3BQ6P5rVD0H3lHylmkK6VXSLy1OV)Xl6?=CEw%)G z${la-1*ZJz3DL&=W48MK1lMFB;ti}Z4IIkyV>zM6mOKp`38ku80dVqkRD2lgy^t1; z)-A974VfEu;!1C?%CNIYPn467PDXLHk!FX6JS?(yw>%1lFt9+F1AS1tmHonH-*_~G z<tzGi`XsXYCB3Hr2tTDLI44-NY{^u)fBC1Jf?}Bas0nG8Cr?HPP}|S~veUiIhb(7t z@sUGc5#s8c`0C=~Kfjr5O5s|9>WqK(f?qDVok=~pb+p47ohVi@faoQg{bCr%zRbq* zW>vf31w$k@URVOk4zc7Alm-n>AO9dL1=D_c@*)UMtMVBo`<Z@}kq-Nh8pf(NHtu5q z2=e=*J#$AuAe#oG3GIGKOAQmX%%D3W!;Y%_O(OAgKZZ~Odt$onm!s0>d?~`2EJK=5 zIco1gfRkk2QWHPvEH`N*ueP1`>;%0aaiPlY3raMD@aHXXJ>troaJXvho#^>H9b-Qs z_<f`QmAZa9g0zBan;u{MVM0`-f$YOarWF7f_Tmm;y{cv&RmnO)vl=2}w;7v1D>{!# z8Usxbk#)eM>09+`^VpaebnbV_5zX7+CR#>On>mU#`pJTjH86SJW#QFD=`c(grt|oP z?n?bZcrpfjtKiP*71g&mOAVlpW&+kS80%q^2nqS_UyqLBJ8~;_DZ;|(F^1eixp>yM zz#A?g_l36Pd7xvtf}hdu?3ziVLNN67cavS?!-4u#Qo@Q87ET!29@+%@(sATD=_&2A z4!gP7bt4y?-QZ4lD_e$Z`~qkGxl%$TEg3>OnDq!8{VKx7;wkBfXZ(bq469So?hj>Y zsDNt+&!Q}EymOCAgCGIA;vJw!xN?@<r&ql!nWr5Z8kyjthQ#liqVl}MTv5->z8(5$ zCvYIsEh}5Z)K)P-JP^@TfgR@@Qh*oSh$d$^92G1st0T!^|KiI1$tu8CGKhwcV&I}! zP(lohfpE$Ti8sXl8Rc{c8-^#SMEbN8GBv?Z=n-LX?OaFItx2fV0eATml&{==xszdL zusbMkK2$B5X&xQKosF;4cS>BM>jUZnA^qt~?|01hd>8xM^g2It20R(0Y1EOm#T>;X zBSvOxIf@zKF^o7%9^4Hbhwg24#lY+@nS{SUVOGN?!VB7z{B6F>y|Y_>GitE(S+z!< zSU3UpHlp-4Qny;NKt@6xkD&lf(+;DP))=`Qr-#$eP|$eJb)_zEqQQyxjV9B!JiXi6 zkt#SIy_z*(liR5`f3iWNhHCa@1=pd^y&@T*ktDK`Z&t2m2XrO<d728}IE%|Q+wnVa zWWd|xR0v)*e3ySMeX)f6rK~1-d9#|WjD?2ZFf6$OR#=3@?`EB=+nz|L56A8Elk0FZ z9A=S$UCG%PS6D8ueeg+1MN1teZ(|<IO--*L-D>_9Z@QPf`3yG{*7Tfco!php#%r80 z>vF`LO5IoIyGpb?<MbATN{i?OwRJyGS3x}2m+`Al-#JF2%dur3w(|xK=JK|pWac8@ z@od4S<{k8wTMdjsp@UkH)=DJ)EScEB%jP5p#W=mP0?gQ5yDq`Epr((y{YBnl8Z`g~ zFy$KS(?utRj6JASuSOb84dNwa^|72ABQCC}-nm4>iLieYjf%!ZF|raEI!6r@MX8#) z+WNb1<W5>%3T75A>iE7-Ml3|9K6TMpTf5272I<_Rq%ZEqoA+1o_$je(@M)`Q2pPV~ zKT3vig=x?e{JF~8R&Z?t)}~cQ>ZC`{!eIYgsrQ1m4KtW%!Z47lXyE<VI%5w=rJ7?< z&;;l}7`5nB{Gb+6^=w}4cluA@W{;3-`A1q+&`sYaqT_~kRVtd(5Yni=EMn_IHAJxK z-I%>)mTsMQL`bK2iE8YSPBy)qb-x=pZ3N|j<fAzQNm3O>^WLN<myqW|mv`JOF^vOq zAevraj%a`sfiE2KGOajb6o<5P727@){qO!%Z>)IYCyseg8{}t)0uW80Thdzh5_&&6 zDM@MQTslKCn?YLRWT*R6QiCYC(Mv#{4Hji0ZrqmtJh0`yT%Sj(jvCRXRe2t}C$<4a zd--WtBYW*?64agr^-k0%FDm-p?Mwz6&m9Z9LeT!(plf}*aZH!PYl6~Y?chgtw^?$V z?OmGu*8diP|ECHZr~IZC;F~nik3qI8CrkFd_4uQ`G)Aw8r>6avz19M4-ldyJFup|q zRzqe^r1_^^W$e7=ktiGFK`Np#y*UVB%$$kmX{pso7h1Jyjjb(6JnVgH#&1z@M4@92 z&&0h1yg>g5O3-}I1HeAj>|MT_0Z<w0PWabZa6hg?K#RT5*nIDb>elg`2@mhaNH80& zBp$+9DeUcK9tmX)8FYcv;t<R1rsff>?c6APKYF!wxAt%5-z4spk-Ep^<=mnl(P;Eu zhgyP;t%>l;fmTPG(t1|Eb0xG7qU)c1jqEc$bh@dYY$?s@z~6JNTt5l5)Pcds!C$>% zCBZrPT>@O+(jO~Bp=i6?GG5cKY)X#~|4!tLv_s4kVVI1}k+7w303Wm#DWXWD?jfe; z#8H{0LwT%qnIfugW(UNZI-ml!BgwP1h%8~3!2QXs!zs7;Rv59?59q3V(mG=%mV{3> zR3|CCrBWLNy9nCl7*kQ_PGCgYZ9Y7al#Tm>+*)T*8Q%c3P6FOSffK}Ea2WYrr<=3} z-zo~G+R?@QQX5=vUi+yfOB&Hyb>~KyqQ5NQSW(JVd7>+uUw050lC@SbDzQc1%f9-^ zSPS6?lQ#Y|phLv%6v*(bzl%Y3Lz&_-U^`dN6<+la6hiO?3YJjy@qj9Ds{oXE4YXAc z<s397NM|-GFZkJXoFnps@SCz}Ny03846GJIKTl8?L!TvceU-$2X7qSbjt>_p+T%g} zz6=x}1t1a0*S*WU)CHhPY*!w&KSxNIwJ_F;opRE=mU3T5eow;sgZ?g5KI)gvjlUNA z+FTSzNRAG|k6#@fSissqIxoI1s$sB2XoA?1gHq-RbOTC@7w*G-T{JenpO;ERh_9%j z#kV{BbAAsk_Q_jhZcnIzq$MMZL{ku9ITWP@&9(0ob@{%ru-obLqK{dTKjkRFxYbYJ zbLh-l$_{Nj=&IYBJJH8CYaV_0P7{_#Q3o%ca*krxaZ#@+nt_=i2nGXQLjH7S@hOZ) zWR)w#L9KOmnQV)ib=ue;bw8qRlD$;@4aTwDwG(!EexWZ|RXEU;`SyElt!kZ&s}NQW zaY6a04=9xWunSt~PrKSJzUg;J`|UXa4LS<GBZuXzxTL*ObHDloQ>I`|%oZ8O0WHUK zr|KK1V{&eb><eV40UuFjO{P;W6-INQ1?KNYGi;7>3d`tpDL?>bS5kklo1W(fz&FpU zhQ$(-iulKYn4!w&Y#5#Qg^m&#%<zOkF>}or)g7&%6}@;GOI$ojPXh`fiBS3TRN3ou z?v(I4SW34twiTJ%(IB7@rfXVQ<A`BHoF<O``PP$fA%UiWe$s?KZq+#?$eh%Q2s3mb zaQ*_2U9(>_bkvjf-+5yt!aZoO5g0gcde~Yf*R`=$7(RK!y95}LOw-5@BC=klivZ}c zh*2=gXYsO5KkA<o?df(%^Q(TVmKZC28|aa3`r0ccDSO1bXc0x@cQ1I0D2^h#nq_OC zZ=~00WkA!~4sR`rJM@`x{P#u{{`qkHCr<i+lc9_R8E(-yEfAdeF8Ry_Bc+loDlhDc zgR7HbWTx{~wD@FlD1wtDVJEb3LLKiBviKY+9)YFVUk@Pqj|UtCOiXV&=3n|5`7d2s z*^XFHKd-q&DtqD#unGPBiFRGZIHI!at2O>2tpLNN*b`XwEGaHzEh5~&X{hmq?6J~u zoD2!-+(ZIWol6nB_WMV)4kqm)i|x;^_eKU2>o%SuD8jxNs_W{_N^%nOJJ7=<0({5s z-?<3;uBj&xKiMU^SN+_0Lws4X8dPjZCd9JK90RiUg;zsx=5^qTGE<0Vu6LC)k<NxS z{zU=-;nja<>-qSU?c=AFNI%zBWt2pu^hJ{7#Q!#dr-ZSh$1A7ybv;qNKN|g#4;H$C zDWz>qEp%ykpCiIIMln6-CKrl#yfXhah}UcMjb7eIj2Mchi#PUxj&>><eAp;WiiNIE zPHFhSg1)FICmlC|OdE0xJAYjf;9?|Y=nrJ@mmoht_$EWNc%s%pp0MS^<{BqKYcA|J zFYjFycUofQ+tx!pFI!~m3~A_@m>`iY>;HFxE2J)6d4Ohjh-9k1gJ?nA$J#0taC$mD ze@&`i$@!5cxW`wBSzLlbCymP>WvEdu_L6%ZTN6&>eL1e4R~b;H1mD&1m57m+2n`gN zB%#(7qzw<-EIBc=C?~`zbP#*Nx{SJo16Ql_Y<b`$>(Wkhwo(t<N|1vXWiVOFy|E^W zto*!~H63}-M$7qZt+3XU)){A;X%LaH-g&iOtss%D)ZnkBQ_AkwL-4Ssckiv=)q&Go z9sit%JY(c-ghQj`MGD5dQ2@tfuLZVNn}k$t>P`!3B!>+fY*m)IHHGg7jUi1OUag*S zm3Sa{!xe)VvCBjup!tTxe}QK^eneRP0n1H;qfc9qlCnyhCNUaxPSWhh!}UVy*!4rN zi;l%#z=YFiQ|+#Q+PET)RT`#}weZ3bhw%!`8qCCRy84O^b=`L&LXh<LUj`ytO`$|j zDy8|O=Oe8Un)<gXV1?Ekoidx9%KA=wOH%JmbB0-cG*DLdskn<I-jc6c<RWD9ZUI4( z9!^h)pY*AX(a~l#zS~)}Iw<Tmk4+*H-n9rUDKhk_LYnIozuh-Km_JB@2p4Uzk|@0_ zpyCkaSz^pIE~a)1!QBia)PXkkM8Qx=V+jv=KQS1YlME)BMf60Z3<=%1tRce{nJF9O zWuWy~gMy-uQ~09MAI&0egqpam2+!w53U^wR08aUUb>5GFh=Xyb3}(Yr?$;2v;q0o# z40NC4UnX#BDqwt$G~si&t!apc&2PTYUo|`+Hd)(8MJ6Q0$;F|1<3LZEy*@;WjY+g? z6$b_?*19)=hM63_4^-vL$GSkYMct2ltX>tP_BpC^V$its9A0)xm4uq-umQU<t$Qpt z<#;9q<Q-8iy*t(PeFn3&V|X&AQ-xkK+MU1BRiF^_w{2qW&OOd(Ddi<?;PJLNya1tM z5kwgtkGdUmYRnpr8lcM$1q3c$wWvxZt{!y?=6yAOv|oB?$?9Bs-#o6SW!5S7_}NxA zy1tH7$x*Cr*)rlp+b0e0sv~Pr1meDO;Yk`~?rsEvWHGbM%^2BQ$NPp7OQ~X<sqM}Y z)}^G^>c!4|ksZV)l)5<ap8IFB+|}bLx*)NZM8nUEgpfoOG(b=BZBf1+T+tngbFF?J z@D};r(r?4#(tt8=K|!0a{`1PW8tY~HD+u}vk0eE9?-V{2VI412n#P~sosNV1@&~vw zwdzZEf1SHX+bL!w2T6AvC^*{!ZHn-%z<Ukrmq5qLx8kE)#mt8(M7U2Dk5JR$Z=6{q zZB(HV$_mu?>4EY;X!hSN2uwy0L1hWkOEERqG<!>-%*_zC!Je`MxJXi+{W0MD5ZI(L z6n@lsmz32S4>K%7@|1uhb!Gf=5=!XFTv%GplMG>{QFtWwTo`cr6tz6N!??j&nEizt z<H2q{&6~$qF#9vNc-lCjvo<dNP-StC>4)^7W6qTyX(P~`3oQSfQdO0d;LGsnY}96) zjr51!^uI47M$%%Dapl3sP<UECmpfm$bK0$nSmuM1k<VZeB>(oe|MhGgzvS{zz|U7c zn6izlP8Jkl$6NPXu<02_44XPavg1ZU;>&W-u@~PTe8No~U9R|Q1+U6ms|tT@%<w2S zDIFKx-OhkEuQ4}PEq|lrnT*5y2}qnfG_wCV$bj`F=^7BtMu=G1N;PYV8dpU84ap;O zi-ByqL8<cT6%m)sbK(=zq0_%c(5@=5Y{uSe#Zs0$V~0^hMe;xmI!*2PZ4)02L3FF! zvle;?-EE^)f8+vl|B>PD)3ou)|EB|2yxw_TW|;$cVAA@~=AjGoastWpk!-JJlLj}U zUQ&9KE4218-RX^8wvW2Vp+M{d(^mqoB!ubJ)OV;|%OXDBV=*y>EAgd7koxf_8)LM* zoWmkOm!72muCzwudWG``{I4N%493pi=7gXml{$hc4S%+rww)lBwfEF8(-SSbnV!-L zrP(Wh)~|ciDbU%EtwyKwk8+xwDsdbW1P+m2mX7pG3bnHktw2QR8<#&zgB8Evgu;-m zHk4X@!E!}8Z7d~ScHVr5TiO@pXlk%AQ&CqRf+V2Qq|6OdoDF81sl*NzgtGJL>0v9n z2nGw6OYb9G(U2bW6tDioRgINYC2DE<6%=U$E0MbVL!v%|&HwQx8#&JuA-iBM=6GCa z*rj}3gKuvQ)Hu=RxpKt53iEOdGo+$CHfN~9`m0`Jm{?`{wGxmB6Ms?!xxM})X(wac zP~sOr=f>+ky`@}3(#N@~LOP8#!O%|3yY$RoER!eSu?msXotl?j5hgmHGmtq!G!#(* z7lxcF2M&v_AV=eh69U**w+Ot#;!_)9>`r-}g&PpdIEtlHM#iq2@dvoM;cAQ}X-YJR z(h6q8X;Dt?=%hv$noYE5*VeakN%pj?wy58+VSNJDc$y&iXhznT?5{iGSU&sxC9cmD z&A`u8Aj(*Lu=5vDt|p?V`hWesg}(a$>Y{r`i#RBs{DA8bFKDBFzzp3goc%Awx9?)= z2gRZV<VOHJLhjcvbk0w$W43H-23^*_G4_n?T624F^11cmW8S0(m#Cwh`j0=2(~M&q zA=wMfJ?>%iwthoTF6P4YolU#8@qk|ffR&*@rJIMQ%M001+<HIMU%zS6OlbvkhNcZ9 z-T&6D&<{M5Nty01OmI89^IYBD?<}x>Rpu?;3ALhLU7Qh#hB=}&Jz6tOOPHioKsoj= zY;*V?=#qP#y<zbAX`(i<x2s70qaRI|<Mv~AsQK(zlc6Y|+E$$;MSN;X$Rbx1-mOLg z6W}>zrBii3qZ8K2BD9tjsqekNvik3i$l6clv7neN9Dyx-dkC?%Aj-X&x%DgXbzZ0| znoU`2_Byd`^dWEjj|ipR>l~B(!3jp6e$`P@s;K$?H3;tmVh>4LLy(f2_-#zE9zSXm z{RydJVyLkTGt&0V!dpVD3a)^}XBDPEZn_M!)TiNcL8Mw}$GO*a(9v*ka}d{Ils>(K zLOj+56eT_ZsEYXb3PQR7;=O1UgC*~a)4<a>kuaw4a*jVf?)X#%>a5YwJWa*NwbnwO zYm-i_tOmS*!>aOnOO0a29vkOnrN@0i{$k5tLe;P7Z9k7=09tv;)a%VE4##Fd!1sy? z4P04FNuSt?#8<}8`ST<NvFIN1S`RTEnRoSmJ_$W@U&cJn#%{5F*P!5V3nvkEOL%^Y zVFWLQ6^Ropf2C2Au9@4Fke_bgZ$yc{?8mVftaJ2nQVW2(Bj0Ix=C9(F7((e0ff2#7 zlx#BuE%TUDB+ud6VVp&<oKk-v;mccBW3yPtA>YfRk$t85kD%gKLOGAboqu-sqtCej zJKvMBNCdcO8qAk)lj%Q*<6r-7v@vf5C!M-Saqi};W@Rh+g8uEFI*AhSx($^SU)0LJ zvd>1A(p`rCyUS?8DQrFzx{uHtF*|NG{>vAgtXD06_?R{CxnG9*D2xY4S@{0Bvl;HD zp+VVxYSwJNzhWb$t-&ZzLaD?rSFo60pJ?=x?cVsqdyl8(g%#ue!eB^m1r0iJ$oqie z_WY3ntu)8~JJ?``En1EjiN_0rlvD{8ckuG+B&1&OYMB!|tTHjE{yG41Z0rHw26Vt* zV&@bm{15-T0%gQY^kpWnJ-~nj^qMLd+&#{zH7k=!Za2Y%gbfW(F>idvGfW)G3|iLY zK3ar1Z2fO{qz6%zj4~ORE)-bOdqLFejubAh>8uCnDsLzMURtNM4px9)wK6?j25*l} zXxzyYEy=l&Sa<H5c>QSH*$RT{GIYQHpH5N%HUG}xSy&WwI7(7rg>ptlIQWlZf@h`4 zL(sbLa%+^)K)K>K?#hw2z7&`xukOL}LO^UjH=k-opS4p)MTw-GuMX!MpO{n42}yGP ziskN3H4~0Id0e$kl|DYqJE=w!)RlCxu0)AL&U<aR?HZfW5D_55j-R}H>QACL(}l@* zU0y%-h)iY1O?4JfmWy^ZTM!Jv$A5seJQwd67|m(>(zZLE9>c;aa7!1&6FYhR1%Z+X z#&q>}DAHNaUoxCek4hnB9be`4OVk6|P%~lMEu6jpdh&ua?pqnbLothHnT8N?!ddo< zz!kI1Y3O0k{OgjNqY@1ItXap5ojp(8v^?Xh&e<od-l7<IYneN6QvG#^h$>3VJD55& zNo}9B<~?XkFd<+6b~9WLL2Uj~Ows7)n;r#EEhHvQHoSvkSA`R=g>ee0stpxGMV^ zw7Np;=b-g|*#|IQW_?U;ud_dck??4@$Kf#s89bq<NvQOD6B=33({`9QP9%KE+3NY) zLho}2&9VgUDG{Ho+66br!$dVBK=#GLHlqy_<qE~tvxo$0Y?N}tiW_*<!Qkqek`Ka5 z95q1dEmt79!_qC{jF_C0%j(d-_{U^G66@A@Gc>8DpA&@cqGekw%#H+SsAu#_{(&_2 z16hOnlAs%qa@+ftUY+&_`__8Egf5SBh{z*dH)Is3!G=)+=$Il0K=B8SCW)NkPI%f5 zyJO0>#VnEVwSu0e+8)g6aa&ACQT<iNmMsNc^M2GsgxQy}4IMSN8MQOc;UHYd#7{}E zc08%RY0Q^yQ>PQlCK_xQ*7?Jvf{Y%6i5&5`n~h`?-N)vy76=_z6ZxoL8rS|BXcDbe z=WPRY2(MQAV?!k$xkqje4`4~<`n0Y=(r+TBJiN6CNd=)3@qsWXZgY=pU45VHO8rb2 zv8$6K7bSE|wlV6|>c(Rl<eG>X;zG*ZSsgMBVp6L*xzl&Fm2XpOpIakIhKNIi_)W39 zTl=Ba@gl|_K-#b!@V6D){t*f=o)ThGMJon$WaDg=|Mvvv40W01JZfyseXn*P7{(17 zezv@vi5P|&-(FOK4_`N)IaL7|mh{6It4DwgXlxA_l4-Dpn4p9)KLjY%ew&=^^s(}= zRbvW5w1!awsI6hId-N=i|6%}iG~z$8yKGCt;X9~d${W8$$@1c~67H7|#{R?2$T$$Z z<Vkj=+qB(o;)()$ef|e+w!}aBIn%TvYv|udc)^N>)i54Z^a-Ux045%q+dsDI21+$@ z)%;54)`L{pITL#Jiv|WM=tGi{?VgXaJc)7P-LNrl6k4m4Y9wvw@bX{hQ(|M(=`N-w z*BuyyP|j6B1A2~F5Jma5&1@~(i2@)+g=~3G{c0;#K&DLGAF8=kwvd|fUpp=#dY(2> z5@c-XxY;I&h#L~zbiIPpU;o_4Zs8E?mbN}z0&(>O=eBIEF+tC$cs~akQdPR6lNDk^ zOmzQ>++g0o1Wk5!Qt!WP76p~pue#nh>MLw4DcMdCiFts^-tQj)6IXda<UWAmj)BL~ zLzr{Ie}hWTk`h-b^{%7B_kqn;<gNWDEZ2||nMQ$3ATqPra~$i{BgVmCpUG$=^+q_+ zH51m3R?Ab4KbTtC-#t2RpTJDc^;1h3B!2(!WN{9+CQ05p3qiqNSLdj$j3>r{9D(}w z(YVE>JS*=nm%~bJNPLDLq09jy^a%H=B_NDY62rwPS<3dnj%et`M9o&7jYw(P4!b$3 zT*QH^CiJu&&u71SK@6ug-K21>Og)#eT3_=yAbwL*x9a3wlGa{^8QZwa1U$nY%_-T+ zljlc}IqqjcaJ5$A0AH=E)y|d;Qg;L$ZC$qHPQ-p?Iokei*b641{Tm4!Ep-PJwBjyH zc-q!>JBQ0ntR458xS$J3c;03}nXXTSUP}XpJZ%%Hyc|I7*iKR%8Al&sxUl)<rGS=t zB51Qq%5B0;eR4|P^v$V{(n77ZP{<KJ6%v}@jru@L4~*z%Oyc!BRP@c`iIafQR*5aA z*~P}twP6A;7o2!?h%BHqAn{CI?>xs0LOSSEYm&X`V1+wjry<r{T#XTSM9R~)a{IEf zOKcbrWYV>{EmO0W6Pmwh#+-$epI5Fux{{`68)IxsH@n*DXr^@m>V6hHlBP-4u#8gu zRSs^z*4kR;1nOAR0ELXJd)Yc_jh7WUQd;38TH#Da%f|7pF%E3OD2`PuY<Nuk1!`?| zE@6_b-&^v*12YUc>dsywd&|xt%#;vhk{y-Qa)9=s0J0{c=*B*>8E_>JY8s7Qq|G(> zD%gbwwd_V6R4CzhCzQs4pei!i7+N3cO;fOV^NoUG8`P+5eUI1Y&5bbLs;|Y6e+jz* zP~zAKdPK9oYX+Vx1)kPc3#)csf?aJWhDz8$jF>i^_V>0{Zn9Ia^YO-S7RV4QwQ5~% z)Hyze!SfyD$V)`M6TV^uHX>@KV)7#fS?#G22%VeGUP0+zO8)pKx5p+!(ycBj0+rSV z8V;Zbi~T~!p~wqTKhUK_AjhG6E8umFEZRVd5gZ!*+JH+PW7$w<cxK1B{Ou!!@Q2H< z-Y(Zp-6V1xv58gMy9l!bvuj+~+Ru5NcUb<*xL(M9ffl@9&w$m7b01p1w*J}yt&^e? zg&;6})1ne<WJ~!d!HNlPp*37Xr`lk~O%S++Dt<dTKo;j*NmvW@=qK*Rd)kM;fJ4{) znUW<60}wC0oWaojEPu4!w*KsOk3OimAUM8@pP^?yyFT&`a<bIMd6UhxA1=e7+15ac z4rUQ7=x)Vak&b&&l-97dpl*IM(GluD|G5l1s(Bbo`20}5K3kQ_?gTPw6sGkIFFQr> zW~Vjc`{n{WH2@mRRT5nLA}(_v69cm5w#~~3kVTKo40X3LH+z*Y?1G5_ua9mfD&30R zl)F+nXy>PI!rGN@esDm$ykisiOv(9N@cs*6ihc><*~W1-+btR|G9GWSa_+0$82b!! z=Q`Y|5^Av6jiPH;#9*0;C!1mYzR{H*xvvuaIrpFNWa8S&Uir+iL93RV-=xnDR2Cos zq7(jtu*jxr2#Bb+VC7nWJX9m&Dd==D6Iw)+x3j1wRdEe$LPXcMuPC3Ta%|<d`P*1k z{4R;{0=w|_qo~^~r7h+zO?iuDTvx(tg4zM+@V^v4^dw%Xc&7$6t#)XTD2vtr%6hi{ z)LUfWi%A$4+QzSq14XzFTI$CFm@_m{{OJ(kMq$A(o-<eL7aCd^#M_{qYZ-b9;#gBh zCU+r%lY$?KHR50Gf(T4t)7kS{;=XIM%~{Gict5HEYr~@~^!Tt5I=la_O6KwZn3~$W zCrXscv(hw`PD($ZBXj-OGdZazfYLx*01*OOUVKWjw#r#a#k}k0@D~79ymX>O;j#UU z!mxw7Q;m=M_9L63P^W|@Q5eMjqW%nqt@v5jpk&2Y)BFb*;%$JM)dJ%Q%BLZrQJ0m0 z!dV(5B$8_j-H|zz%i+$`o#}59pr>*ozxX%;v4Y9fJZ$GGVO`cSh0u)PB#NK4x-AXF zbFT?|!@M6DdSnfs5$i<p*li;f`W-RxZx*iNJ!|X}x(-CMBAhRoa=f#kZR%L*#pETt zSD)la;(A$Fs>ab73y|E5d`8%xMEAgIau$^sHvS`N4D1hxFx7_j3kT3u+vM<qybqd5 z7x5Hp$&m%+0qCp`F3v!&nJi)qcB6szQ3XU%n(Dfb?wrQu`lib1u7<R6OnZzuK?QqQ z1-KT9GN&l<J!a-%naf#wFY8024?&U{=aHY4R=RJ-r}*)v8nKQ&L79O%Hng%aKho^8 zIQHkPE%UZ&crgC$h0PCaHCg>0Jke$cC=BvSU3^6|X+_*xBu=;NURENAM<4?Oe!eC4 zfubNFK_;?osm|%X#^6euX$hHwKTG4kzeLOB4sF2^8p;i>YL1LA$;|}3u1YT|4JU&Y zkudP23A6<ybSkk90@NW>f0jG;8zQsHXrcRP;rj%rkN#Gj^G$POf*~aGIxUd@W9d#$ z3RBr%I6`;W)l=~11m~Dn<O2l+VIJbR$zeezMHP=0HOdI+pG_v5QX^nmIhUl=AErMy z&G1GdIU>U1RpATwl+R?>nb=2;Sb_4}FXA}ky}N;f(_XC2N^pAj#sUzVn$n)`{`pme z{uI(69>rtV?ttcGOEp}*IrZv#&j&Z}1q@jg*Z`Y44GpS4gUrlky%hyIwfLT{Tih;! z&ZDLU4|rf$DC0uSaRmW{Z%}~)eSi0;iuxoCb@_RN5_kY1)hwBt`P1U<<S|3Zg_D^G zFs`$bizvt0T&<vciBB%_mQbskc!^iiRzv2KXqMg1RQhn2_q%HYvrI$_>`;c$Kd$0J zxfF!g_%D4Rd;s_KPLjYZVNfeejwMPp?EK78Nsuc-S&0i=|Ef(_w#3&&5u2}%(uHCP z1osZ(y+(Uk;An=)#pRve-`_M_u4bG_TQN)ebh(rjR&!paC%_!n?rc#{H#tdp&8RV> z@}T7DN!NemKm;ew%xKk(r1c#0yX-^m-FpZqxOy`N>?u9o;TRw&8&3L-yICCiezA#1 zgR@%r=jj^|CWif}JQHmw1rF1on+?iH$YqGl$-{PUwceVz#O+HB#Exl-tX1@v0zU*a z2VitNVY3kL%{8n$!8p9zKoS%3ycSpg*`0tnK*@U`SID=VQE)(oM6&-?j~jjn4F)7D z1;-^sYqu0Tjs^IMy>Rha2rgj!dsSa~C8i=1e$z4|7d*W~TApIL9V!JDfeLwtR7KC- z(?rjlI^r=b$v@+0RWI=>he31Lp<ut#`Glf%n>jAZBHAce`h-I=^OX>Q9!x9L=aj9D z=?dNV2YL>+jD-`#o!K35Ys>w+OyL8v0D5oh*v+zZ#0BUy%W^#>wcAvVefq*XWJu?w z-^>gR<5SSp?DO5!h7dwx&ai28q}(Xh$dVC)!k;^gCIl6lSr5{h={?9MM_s>0aFkVH zir^CB0WnQV8q%oJU7kl1g6QKvB7fUXDoZGO5w>F6@m*7)*Yjy)TUA7yp@0#ps<U5B zhA26!-UsBvMR?$dM>>tNK*w|xcZtB#?g;zxf=HIV)xI1LdyzfB5DnZ`bB(-VIrLiH zVP_Zll>Ig6#A~}22w-h&m?&OKP}qa0a|Ek31i@w^{u{fm`FRbihNlONayNrc(GCb} zBscx}E`zOTu^;lp+-i@+#F2|GJ3}xZ5l=sBhYsw_cc(4Xn`0C`ZZkH9DoLr6kz?C@ z)j6|`5x*OyY}p$-c%I!v3xlI;$9Qr6;rnnc478d=um6kieQshTueaV%5ph;b<>VSR zO};8#bOhHr4=SD68K81j9VkXTi=qOvXm*c`E7W@2W0n(Y5RAuOsRqvTW9r^Wx;6^s zqXk&`c1eyL_3ce=dT@R+)jp)27+$9(Ak2qJ=vD`oOhcdkJIID@8HF&7CN`R)+U#&% zMRs^LYbm#PxCTIuPoxY~$B?O8CDWp4Ej<r<O#gs?svGyEU$7#Hky1RDPx<YZSkOaJ zCuu_I8${M(BTB=H5^VR+EQ*#%@JK>nQVeXi88uYR@)r8oUjH?fIeUvgq(^f4TUmU3 zH>b*$B#|V<$V{e7$?CSWk)42)!U{EW<iQs;AE_M{gsXPd4FxHqQec1+Pt%eeRWeVb z`84rTDQrmyxy<;_S@J{dOuP>9V>@B-0)v{u?`Balx6q^^d@zg-PLt>eUv0GupH*O; zcOErqBT<t2?KrL8`!*6!Tx}qvpKBn<!ywg(x2!#G4%Bjno)Y<CF|{bPUhe_r&kkhE zz?IHXD(VIBcMzoH(rpRsCGskx^vs1lzvK4eW<5!KgCI06^@x+=V<S&KISltir%CG- zxS2~yP;I~hz9+K9n~3Tfw}%)Ob01KpfI`gs#_PR0>=kQATv!r!3<u}9Gg3@L&9W%v z2lYUI2_v8wPR2X9zAFPJBy_iXgh~w~DGz$+l|s81X_)L`)RG`F6cRs)H=B%P$641& z;i5iE>?H^kK3d}`2v)5HV$_lzLdGbV+8~lc<!q?hA>^Kxxv{x$Zfl(2TnQNXS(zrH z2o2t+grE2Cb=}Y{k*S4N>l`>m`y_9BvnYQkY2ecEEU|rZH(HA)FZPvf*$$+YhNR@B zHQX(T%+TO6>Qlh&MW{!Zl24}oHWm<BO&&;q3xJrZYQeB0(`;Jc3^2r0mhCsu#Kgyy zsj)je(~fc-Vz66fiiPHsKmdXkfe6g^hB`OOT5t?HFLdEWJ~YzABMe2*il@^GEUyQs z)1r%i5saW&5PB!cI_ksqpN+O%<iTxurpfmi4{6B4NGLiiAO2*cgV~WQ&=Oa|h4#PX zGg6vPyFzKTB2UP&4ab#YX1el}r4HyRVCr=2DuGst#DGBucx!Q7xd7`jX4=>yW$&Nx zZ+oc&9o4jk1|9iu;1Old7H3(E`Qog>c6<A{SazusY!B#e+iDdR#Gp4?>1*4bJLx<; zO!zo5B}@}VFj2c2ahoCRBodXRNk&X)p94N;{|a-8feRy@w^ZgoN1+I0R72j7W5RZ$ zL>XZt=Q78{!}J1(?15pGF}Pnzj3C&E<A$)xDU`bdo>GG8IE_GVegRK943{_*+2IC# zVk#&#CJ}04sZ@QN`t*I6kACkj{xDSAAs(9k`*e;p(P$Onu1-`9`cXAwk1mHPukV}P zkd4Y+TNX%)-Hf=gR@Z!*&Jc8QX{9N6e+fclar9@h`C+mMcHoH-Gr@jxpJ{&KS24H- z(vwD0LrS$#(1i+8OO7x$eVBL_(*ufoGqul_`gf+L?kdvp^nn3yubm+;d7NARv*bAl zRFL2v!0B%-%dQnMO5Mf3x&M&av%(KBPq5VBNN!fu=8$vcLK}v51KPYrC9>b?Ozy#Y z{i2a9|280<K7qfxTd<K%F_o+&%IN7AinU|B_fv4IW+kZ0LefeJVBy^dDdTF35<3wM z?vubf>NAOIh<e2Qv|=M4UE7h|MJtD4p1tL$(5;8ZF%(dSxT2QzGyEIq!2{UWfA-<( z8C$Z2@cGAT1kfCkB2_-wcvP%O4#Q9H9ZO==+XvvWWB_%KtzZ8belBla$hVJ`=vmUv z8eM1>>C{BiA$6tWHSO{!oOJ9C{bO0}ATUrw4u`ci7;}WFMPts>?j9+tWULlirQ{br z6{NLHcDM=ct25yR*TwGiSoQ2CL!{vty`=1k!t3Es=xDRXsegP%)fl>vZxA?2gf!m} zoKnhj!vR;-3k1Nj0Y{Ncb^!OuFa>=}nnxXs8fHA6R-e-(CL)yWs8}+rj>+2lQKT@@ zE|An(gM1@SH77)HW&|IZB|uj}sD3evK9O!cUS;?2vq`mDM2`EiCfSX}5gaBHy1Hld zf++p4wc^Fd+sl>w?>A_~dh7bOt}a*To!H$CIN*!*zZ`o+>fM(#gCHFVdO|EuQ+D|Q zzhP||Gc0J2y9G*fQAXbiRZk4eOX*j@@Ps}oOFkU5z)<JRbU@Rp`Xjhi7<>5+9_q?i z3OlHa#w$tH>`3idyk<aV!ItYSKB*WXEXYtowd4_Ei~+_Z!83IJi~NrH<2Cn^swR~F z3h)r5593XBtRro<dCWbr!xkEU*}qjxIJy?DootiC9?bWr#*WBtQc1W^msCYP=y^lN z&C=+;o2J19+-<(-#2iRbbN{9$+b>zoG{t-|U$)(9tYuB#LPaLEe$jQofI9!UM}yX{ zI{Cx@zc&N^myYfG=f8d}dwhSkQayXbkSB@~Ji1p@PQ$ApfOH~CZ*`{!V}|@;vEpi_ z=|?G~^x)(J0E@49sPH*R$M~$CD0ojp;ofvHG>3b@VOK^I*MgA{<@RcdKRgkyd@5}y zIPcHl&xP40&-Gv+*nI+>3`(?kc~PeVeKc>caUy7q#=8sJS|W2eT}`0)56#K_Fv>dg z(d5+GO8G^Q&K9SDoqQE5i4QF)c2X97*ur-uM56+501Q2hoF|m<3Ymn*hOT&1H|_w+ z_C)pJXf=-AE2H~MwiJPynT~Z$rF_xuL&{x@-~FYf+<HFncp*dJ2%mo#(23<S?SKvQ z360fj6qaUQOInCEWSTzdk@+-kw+9Glmwxycl@>1vSJJPZ&Y$dhrU~B*gU|RQGq^+K z_9?VIc!S$Xg~Ytkoo}zc)s_&MyQPYv&ix2`7#Tbf+l}c|+kwfde;Ohgd)>?lD_G2> z2`BP~jL-t8{JBd4K=NMTRh@;@b9re>qh>=v)>*KWBamsxZfR81hNUDnoh)l<G=a?O z+%k+_8=;lJXGR&t8fei<*%PE8HxN+y?$M?(%0Pfby4=Sx(pi^rf+&6OjIUAjcpn)L zu$Z)@ic!4%5-F=2Bu0`A#!K|kusQ4_(@?=9L`4D)>u|G_;CaIk3IS13N1QT0h=KuL z@oVACP>{K-96O1ycDGI8C=9DIv2N__UU%magG@&^qnCGl+2JtNdAG=Y&d>KKEctO< zF{5`Q$faA6B`t#mZpW|egS~_ghA{KlgQ6#$%MGW69+MUsgihAPOo>C#qVTu2>UwDY z>&C!x3_S_;dvAe4cu4F)M+r`Q&Ulz#LK4-<+SR~d5d{+tb6VW(d%$Q^YUODZlNjN! zkRGjdHJsJZh6^9E_8u0CpY;8!xLane5+3a&{wDwp+W<qG=l=cpopSxv{u<YHruUCc zMSrT$oqz#a_zU3@ScsE>i}GnR16+kJgdy-!`&=u2K4nN;%x95z<|(X<=W2QLM>ca6 zwPb(jtSC=~*BMbhifp1+G4%w>-K?SW2zoYaEWg4TN8p=!9Io*08I_`lZC;fq#%u&S z2MT#ggqY(DUluZ2{hy-F->R}zUc>;NHKM-4<5NgKehW@}o$?Zfv&*6IqGnb6E-9eE z9w63PGAo)C+Xe%gsenILHk3;0a(;Jj<jN{4<MmQTVDHfPHxGJtvJKLd%Rgr_u3*+{ zx^oK$iIKD_cgBGRiQ&xtzeOWD%=i{Erx?F08uP_Y+R{>ySqI!pjCk8xJ{12=wp%=k zu3A1Nb$KT)zEl|y3?h#jSHc3vEK#75mK<=n_9$m?maE#z&C3~l)K$1fX%a(Vee*uT zf^I^2CF1fqkF$lhu9U4!6qIEFLn36R4=VB%LoM#pT&z2Xm{27QP;}df_khXyJgRCf z?}Usf{+^$6PPSQH4Ivq$c8cDnf(ALccTq50!OAH@R#H;khephdgCogQ$OS~_ll;pr zkEtY1nzO*VqoYejcUUd0Q@tkjY)KZ24e%Ds1I1gIE~mbjavcB#PquT+jY8M-@L!FO zcZF=*XPFS9?{uTtHwZ^lr$<OW@XnhOwU%giGDe`S4Odcldb(=rK2MdIID%;CL9@u~ zB_yrT-3u6ttr)!jRw;K*asrCX1W?H~L4%3n(1aaSRiX%w1Bq^x(khFP5=Wm&oX+Yh zk#4E3{ft%h=F%vFY9`Jk116@TE;QQVS<Q&^rZfSDtclbDP7c^-S6yY9tQOu<p5;9H z>c`{a#`>^?+0H_GZ^zfoX|mBfb&Ig!wF=2Y<pBE@0?ii6Tb2Q-79e%|z3!iqBj~BW zLjgPwCf6hqx<gzuO+9C!+WsL<S~zLpV#&8CAu+Oj?^In}fvYRv5csb8eR#WI`@AKY zYUO4xk^1Ro9s{$)aZD!hC%?ca>ck;|R&w7orQO6o1PGuf=n@OeojOki-yhp5q>PN# zLnEZOXSDPFQa`v!{Q(x=&l7+*f#`qdS<TF9ex^hY!USsD5a*VTLSmIL!)9U~-;1kS z+nWq2y=tV>Vl~MTO^WUch@P)dS1Ry>c;jjsdVSyX?bssL(JxgIlP8mK2Lz3^OH^aW zT}WaOpDw(I2^N%>y%D4@_U8IIYI@~xfF~Ae1`k_laklH+yaV(84EZ#nPSQH-9MbqH zl@1w&X0d&;?PczHNy<3svs_Jd`Z6Dg(cYb08{8H<#q8P0tVr7GXWF=sX=qdR+JeFh zZT_a3#mZ(SCR>~mrKbW7bH|sXkoVUhfsr!UEm7X=Rc-fEYjT>PWUh!*LxX{OsdF6z zbxAcf0=gANVgiK<%Yk*{v$u$#;KlNS1eF2ipN?$b?@FXsw&FwJg_+;Jp*F&roNdDE z<V$hQB1JzF@P^+W)$H*BOM|sE^5^c@^O>qy0PZWb{R-YRlo3J7mltKwYMfb~9Q=yd z1<o+`;L|$zO&&^{bGHlJ{$(CGnO$|=cw_`OD$6|`DqvyEDV}nUw_wS-oZ4Sl(`3@K zd@ZIDr1Z=$s@(n3eA=MBtu<w>{jdxeMfE)xEE^f4D(8Hh(q++vabYsOdKpCX)K_m; zO7t<4ZgHGuusHeYB1fzz!b{jw+JZ`%VLeJk*Eglec{3WT(?zRLrIX6dU@1+Cdjq(z z3?chBUEr=0O)Z^BC9V>tw8;YZ?f^jo{aSt*d7T<o62OYF=_xUX`@81m+p%W+%L6uW z^L|zf@L2ur|3RkZTF|A7=+0fTg!PAL(?K!@m?l6hm%@Tz4wo9_2`W_SG&aO%u4B7> z8SSc{{80(E)1o#tXIJ#q5n-kIJmuGaOB}4j3jFq^^Dhm{5{3(8OwSnk&P(z)`t1~D zX_;QKz5Iv5XX-bqL%_UD0?AlHt$priK)t}mqR1u=?H)+vaTJ;Ugj-ph8O-iQ)~M(y z$ftBfeC1lba~H$F3ydX+$4{xP7dSth!kREF9scozo1659)|Bj}+#>N1|K%xWN1WEh z0ics_A;?J9N@YviWRi1lk*vg!(W!LctBHq~ot2LD<oGSDyvz0lCpYPJr_=}HS_Jln zNc@q>)AF(d+4hnR=&$-Q!{XsoInk$9mCiq$t62`I>jz1qj7*i&n3n_?T7rH{%3cQK zWq-x$`U-n3U-9J_pE1$<RaiP_EyO(YDS=oh!XI)DWR&$Sn-C~tW{<{-O{UU+KFeFJ z3w6Csv8!#7Nc#)X#uX#<@MY$=W$HN)xOtko|M4^C!pUUB{C$Ka)E>hjMz=9W%q&fK za^`rq1A8J+Fi0%5^#h>|N%0DVXIh&R(qMUmrZ1I4H`Q!YAm5Zj0Bx6i?C=_5us{ne zWLm1k&Z|l2AzcTzWii9}xpQlLp{Y|nx=xt=l5)9xZS>AStMPwB&!TWcIK3b?CHUEK zR|_PoNC6PZCQG?YkvA{G{HAez$W3{O$!;6!Yn|b1TJm`kl9sKS!G<09CsgM#U7<Zw zBP5@2dc7&9ljT>4v4L{Y!b%!F8Q|xP;0$IaSy;F8XBjmFtz1kvW9B^3f9Q!YzX;Am z&-uDs!SyR4>|Ww3h=@1TV5{*OMn7e+Ey7u<nn8T=dvHGqcrLJAv8O}^d1+KX=!j;0 zdQ4<tn`)G`w)Rxlhg<%rgNNRz3-|5Xbx82kGCy)30$w<%A@s}bTh>bwfYrQz-L!?z zLEz+qA{@z-%hWMf5ivR|7<k4D-1AFeVj+F7iHH>NUDX_q=Rvc#c0E);4XpFKVhn0o zU|MAqNaWmdEJBhke;y^QzZ^mf=`LNI>?zes_N;#!UF$o$O*m0Z`NtW@?}%KFdMZ%i z?cQHw3bI=NlEmNnNer$Y3LGL50=ar<d90&QMwd=B@9fdgD=8#11xYslX<gO%=WWyM zg{x<jfZrk?-H0h7g!6--ilxt36W$+`uG#w|8&it^Ph_6%g>|8gt|oyf#Hto)&J@#_ zFRqn(Jpuj=qS|vb{(}BqQxSQri~s>0f!?A-eL)g79~1xjUd98-G|=fs3EDGN%tWVv za>oKPMTG`{m6F$)pwb&9&T%FTHTh<{hKA(#oaJ(Gr|+J7=4R=D2m_}R>1$1i$_$N! z1;bd17!;vWI!5gK-3N#xc@zT$EkiMtA>-W@AGdm3C`y7!`aoDT*F`XL?U#ClWCJmI z_-&;q2E&F3%v%_l3UFW{t~)>h)zlm8kDy1OoE-C%ic@g?n71`!ZV|=K7!8==w9MoZ z9>~=ke-BQi|AWaoLagN;`TqN(CWYr;W^FOi+11SV(a6a{Ym(`JRb>2j5<W;uC1jP; zRLw%X5JW5Jzzix6SI`3vFR%tYYBW*oZ%roBK9Nc?9QF;G4qy>eu8Z|in|MGGOr(!0 z`X4mdki;}9_h1oxzx7l3Q^!hve8KoaUo?vbV)^#S#VjHt#9@(ijpp21LsmUPxXu-? zGuSV!bgf5O$)oG1%yQ{Iq*e-}^8aD%ow@_<x@g<jwrwXB+qP}nPCZG*HY!HNPQ|uu z+qRS1@3}aw?S1#%jW&P5Y-^3#`$&UtQmeuO5?)M+Q9cAd2>ec@yT-35(B}OFPsrD; zW$H<Z-%33q6F{mAY$@d?)|pq?;GGM&K4fmhBR-P8&iQ=J)JgA*V1O+u@|v!l_n_qf zQ$P^AFYu)S|6OJ9@6bljCsQf+IJxxge~8~glMA2J(Ff#lAIy0K7&Q(*ukuimlt|fs z03;`D`S#hR-kG*R;u^;qA}Zc2IKHmDYWZi9s3RD2RmK<9P|FGTZv+eX<f3`{eIeXP zf+oJAQu7F?8!FX|K>PsRw$f8GAqRrhm|lx2N1GZ05_z>l<-I0~mq-Be?+_TV7Lknd zmadMD>YTqbB$IT}8myebgF?9XzQ$weKtFiZ690rL-4lj~O)#}1k4Ep)Jm}$p^L6t6 zZAqH#`oJ1qg<K4CEC?Bfj2@Y2mnUP%LkY@o{+TvH0D{4tSQiTzQ?Up25c&Safq;7r zy%uWt{==j&{tV~kj}jkux{K3NWb(4}hUvJ#7I{A`Pb8sD+FWSeJl5rNI&85{;Pm)R zopprO2$3SrG{j0BQW)8@s)C_|cW(%Cn5159T9!4$N<sM*LS-1L)Y`jz+kej|-T zKdawft@Nj?Xc&DxdUBz!EgFfW#E4G#KL?ux-&p3&$fDnQ=b|2&Bq(Z1*n%hOuw2C- z73&fNCLZ=G!x3I=5$&!jmY~|%z<Ukum2JL*@O_8K>I|4QOBteixt|w@1@%mcCjTH` zRZ(I~ImIBj`kimK(-3|<yIhqnj${Oq?=Ld1)OaSkw=&gI=d~SChj*K>;9{$u6^uMO zO?0TBmYID8wg^F88tndNynmao^XB4EG@lcCF+b~$hQWq294B}8Vs$fJ0McBx#}72Y zj#u1#!L=Gys|4=4GAhfW!5+Bl7BOA4zRCHDkw}eUKi`3>ljq3SmF#jH^E2n-wL%f` z^x%+4RcY}g*=oCp%0hQFyusDTW28(k9HAWjaD#t_6rzRI-*}RoEZm)HcdXaLCg$V| zPVx#`e!$8oR0y^YW=&W>P|YMsAMIEEo2>V%PLx&JUp{#T#f&<)?KEZZjP@7k>dgI_ z0(w&%N`-xwK=bDMd6j7^cjVrT(r`MDV*x~4S7f2dJvY^gkT%{3b0qh0Z|9-@faBs3 zG;_nf(-L`!mZ=D?XE1+}@*}<RNm=zZd1}yBhdYVdCeq5#!g#$SK*hZ$cV52EMUb9L zd0TlRneSD2&{Mt<aI{`0q?ujs>-+1qM@`=(m=`u@_IbmP@mbb`R*(js%gdGzlT8z9 zPu<2z3wcf&?uKtVKXYH@@R3Pk*@{1y)ii$V?Ar0Ja_w9`)VX4axT!h?4TevGc%w7` zzY(W}q2-%#z|e~a0L3RGCC$INcc4cm!CUg8-Z(F9j)n|@G7Gu*atIsHMf8dsv2j^J z2Ok&A`BVGYR>BzW)vLu#2$6Be&_k2MK8kfOor?~_&hAxR5j-6ZcjCLUfdAd;1u++L zI=zPTii4O3Zr4BgCrrP_X}cWTP|vN!o57J)Z)7*_h-m-`U}$~Xj;vUAeVQ2_+g6fe zEsxvZHuvq`F+r3HmpdpQH}a_qZ`iI3FQ57L1mD-zk`l0)_YIJY;tA`>ErzMirjBJk zOwpC)<=Q9|sk}X{kfvrZoRJIS3(XenIz#=nbFz@2thGZ~C3p~dz}&l>@4|bz<@2qI zj4s?vB=x2ZNJyf#ZMG2|Q00L49UFi-1cJ+noA3;W&@1K4qr%m`xI@HgsovttHw7hc z_&)3EmrdD5on7NW-Ho*9IwACfpV5h>p9p!LT4;dJtO{=3KDiXT(QoaWAy{P*B_>M4 zA9Zq_B{1=R$31La>uUvbDPU6Qb8@+&IR(W2rDqoc*8K{sEFT?;Mpv)8WDZJH-coTk z6d3RzD!4s(KqJhmFKrR+ETh{>%3t#qhxMXKpaywJ3Qz9Eb;TFro9|V~BmA{+d6+!* zH{&DIbXoDYtDkrcMQS-?S{7PF_3=pt3NhDeB#C#E>SoPsK}dXWK40{SqWCm$a1c3Z zL!z&Nbh~e`R$B@Lul846^5Zp#`G`GHH6{nNjmA$#T`>=OODe7qH|qB|5C#bQg6|en zafS^2%%1K?M{$PJa%)P>kL^i+o$xn}3_)88{uP=1I((Nhe~&w%J+}9Tu+6lPYzQ%E z73h{pa0XBVgWrySb4a7bsxzg)p!Qjad{Jfr3=cU4M+M36fDpG`EYN+_(mR9iYVZ#{ zuLFJZo7$f0?)8H!`RO7%9><@U1tPM=mGE9a5}^i@h9boW$56T&!cjRRy1dY=CXZLp z#?pNoWxSoM^R3K45w*b9m2%#z<SuG!=49s)&re|cHXTYk#LXe^NsmO^WXp5URSKK| zjtVu?yO;t&#RZ~JYUCe5n(u}W(#`<XHF&j`LR(|`gobrUl^SX>A6u?IJYu<#&L0c{ zvEa;yVh~r4R(r_b<h_Z+4KD1uV>H4FknWJQnY6ah)6Oi`nNXPMd7KiT5@f!&ANuY@ zMWlV!7R6A|;*1}UhsV%WjKi|}eg@pYAw+M7;g(_8#}%PJc_59hTHr*p#?j1Ci>|#v zF2a<2XwQQzGXw>UNGh7b(3erf*>=xDey|K<A!N^=^R1zS>#2V^iN>I*FgMVeVtt>+ z$9OI4k95N>X(HLPF|FX#gyVfrn<1|{>-Hi$pjXzNB<M-_V!xIICi~evEUN7QHXaG{ z1l+>jGWske0d^SCcEN~*39UkNRS5IG8HM_Oa>GJsNp3PjYb;Jo>QMkT-ReAQ)aaks zv?2~IQ{+*TV;~a>n3>BTH3CrKNarTbt@L&Yc&caPL39!<T1pVg-k+zo3Lwh*;@leO zST?5(QSwi$NH9b=JPa1fWb0r+LFlKMbsx$%d4T?#q=m<kmI~=P<oyM#Ksy?xGY)YH za<Ko80HVxaN2IfDWCAY%RpY7&HT!=s+|%_r$HnY4IPoxJYn{+sA?KAuw>`)e<?pq= zy7BkQ5oORo7goPif<J^pFrhehl#vXq{Xm{wxCrrAc9?<svpNk;ViIOxSLGJ91x7QY zSDc!Z{s#z{sx7)w`%!oz?-?382C<R|hZ_<XfxER`%{j_Iz4d;I_9tl*1cAbXE2*Es zJTY7XJF`A+Pz@TJFY(5--|@YB(uO)f|6{H(5T{WbA(+rl8YW(OtZIMz>dahR1|{X< z=M4<6VtES(A`;ez-Yq*|IB8!H$7tYYaJL&i7AWtr1Ih1FTlt^))}yO*+}39e!>zJ| z%t3bb#2<fy4~KS3rg7P-*#bKNKri)jX;OoXVuUuP{R?ADQ#SWWd_PM|L0lag6?<su zROKzBOgm&MwksnAPcLbAWEa;v-DohRro`WLk0)o$`RhQ%?HL#7_9^c8@U~5n&j`ck z*MP)_G0}A7cwxy`7k#xmXE>=K<`(-BxLVTC;#&=#PN9|j@xoN8KA1qi=g>X_nI^)X z$kU4zvy6d36*eoxsq$dc3$1{YYI{CUNs1c9S4B9Ef@IZd#@w)gVO>+>3;$X3;}KRL zOJuuvgJZO(krxW!koz+s@lMYUJKKenqLM@pW;(YNvOX^u`lOJLebfg+$yWFubq;cP zC&H5=P^4T$`#<{(Zubw|8c<)xkw*2w*%cv9jK%_EmvPhB?-D2_p*U9RtX|7v0vff9 zXtTcnj|j|7xtNUN5O?RT&K=OAT&G>kI5<o!3kky6beRW)++0b~$~<5y?iqa6yeO9h zZNZ;NtjxTBy}Is1!%siH{#{hA;%gM^mR$ogZjYHn;XLU~EgtEjsV2zMiNl#d^vp}v zV2{${2~u=uU#noPJ~~_8w}0B&tmf?6L>)~Q<{)e5x%3BRomHp~sUgcH=3Nk>nl=MF z*B0>A&xHbNpf-Qv{oULADC~0Vuo4~boT}`S{w%fy$IlEB7Fd5a|2^Ko+E=mj`OVD~ zS6S1_m77_CcDw?qn(SBc@pKdIluBaS(|W?|9vb!;KdAAw+RkQCjcejMn#)j-0p&#= zgnHxN{^W~moZ_xJC;|sAGp)FHx0h;=@DKw}F-Z(i=JrQ0=Y-=>7h%BdMOI92hO@Ae zBVgh}&HZ*)zu-CFh-neCJ^q-f7wWb?;4OSFMVeJ=w}v0U`zV<JsyOyUNPy+eBqUth zIqZ7+H~0Yi(~ty#R#n2maoHY;O<weN9}PYoFe)4tZ_`>aNN(RCqzrl|ExlxBB_#4; z*9IU3tl_%n#JQcf7_yB56C;r-B4=G3WX=OtgyO7$8yxB58wzG;W_Rr+Vqih&I9hvr z2+9Hi(D+qK2yLHTb-y@tAcXgO+|uq|Ky>V~pS*0v5q1Ro116=8Y!u~#m<jKUjO@mS zTLeCVEMY(!?0J}(UjND~$bxpRtUqdPd<t+P_q+64teZfQB8QNcNEb^8)>3*6JeW%_ zE4KWD%r71S!Ajn~w5DHeGe#>@shHft_?6T#hcKkxzj&GRjydjAMbv(HIX}d*VT^Q6 zWUDL|#2CWhDJwGY$&p3)tH7l$O|&HQzXt^TzjSllC&E$xiBVmSaTP7aPCmY%iu{13 zfvGNf4t{?*KapGaV`}^7)R6S~ir;R+5m)CKg(yh<*AeYe^rihyI}aDNvbR=<pVY(; zV<Z0eta<*E|4aNQDtIge2QkAtSngT#o+%Q5wIuAZgu5Z!^(h9M4FI78e+=8TmhR<^ zA~%f>tG5b{W#Qz|!Ssf<tIKTu;z4OTSKy=z<h!f91aOCiVNyy5=8ZaB-%V}dbh#QH z5R`Z&CI@lCj=2bxW;(dAEaC-bWDGOX3fF?`>8T-wBEujmTsyNe@urp%RBI^IK2qQp zXd7fV1dT#lRQ!5Z2UMj5FcDQz?nFt34XWh`lR}URaygFn(kr}jr^i@2hCh#$VbUR; zA$h&eJT%2P1wQvYG`NnzwC%iaDBCHu)4adKo^hVAXNpiSEC2p@Ug5yt2<M-!#Fyl1 zH1rMVs~+}h6YxybS)<(<^mgn<>gmA+(fc@1mMxRKVCj+c12CII+vyU+?{uzzoM5z* zm8d>k7%b5Aq*M&&pEHvNaTpM3Y9z0+q&$`m-5?h=MQuo`tB=x8(WB8Dh0HK_nvH5H zj+?Q;GYS*d)c)0zdlOdLGSVFsqV~xc7<V~po`cawV3v2dDLe18vxVWL;xZ>HE!)C} zuqsT;x%V!?2E5#_RpR{KxGa`T??eP)<0vF+tyXGPC7C`U4-;G>#S{fx_hfJ=z0jW# zxo#2{qm>qC9N+oV)=d{hbxM4&nqTkMCk++rT>QqD+B2pS)%S8z!pYStverfG^;dAA zzIudZly{J<KLzSxI1SZnhrWdQ^z8<A9Qm=Di+zD{fHwCt7FSJ#;YtWP;wyC^xi{ZI z@k_`I$IWYj9cN?J;Ad?9&*JP;maIWCimh#QJ!;$$<ZA8UnEkP{$iFDHXm4=A&jLB6 zE%v8mdVD*VM!q^*Uyycj1*yL+;LLD`d)RkOJ$#8FOS?~|+n|lj`&7fSpRdy7kg7y+ zzzYUufU2_Uiaew9l8wTXN+lQPn5Q@p`l>%t`3ofSr*{vx>o`2w?Ep)qPZs?=s#y!O z8{4ei6zP8zMQ>!eM79XVQBdQWoe#QBxEO{~&kY%vUQpsae!`L6Td^1}H6m&ejT2*p z@)C<1%RrS!UI@{r<7;AB4rlQMu**VM89P)cK!v_Fh)O4nbVQ85pRHCV-<S%TGH+se zJW06oYQs0tbN)uv4FODe+^hs?lpJiY^oHx`&jHA=itgWdzXjW8CK5-+YuyDY;$^NB zu^zc!mx@K5%#7Ib#4%z}{gdD!;H+v=cuQr{L^hA`YnPO7f#()oKaTn{XnFF<mnUt& z0I>u)WplzT+He>|cChvRYZo_Z%&GGA92x9|vadM7`>Cz2JZz}to1%vD`iL(q+0^l( zn(2VWhv;~gjz~e6=Cp5#kF@O~FV_X!s5jFc#~S%<8DhzQ?d6H?nN#p%!IX<cmyqm4 zoKm(5Rc31hdmgbTUdGFtCGbdX9!7$tfUfD8HbKkp<zVihv<pgd?n*rKf0SO~gEmd9 zTd3ZCLTbeEJ!WQbaET&w#k~tsQxt5OV`U;x)=#DzKi3sAye%p_^tjK67{(MtzT6zv z{>hik5leu#Xq*p~K6Mi3$)DPYN0aLflN(!q>x`e&)+77U7&I_N$TuquAWy0$0n0;E za=gbuyf6+jrZ6fbpl6PFLGRk!x3OBdj)F!Gtv<rOi|xo(`>hYF_{ZwXRJ_>J_sRE) zf*Ulr{!LFr7YIVZi8@sNwegM+;}+l+A>mrxJ`$s#t}#K&px*N`K4vTHUa(ymPjks3 z0L>-Mo$KZ^jX-}=GLaM#%d9s8fD_xe!zu~8JtFJ#>OOHw{ZJwWQVowg!N>}N%=4i4 zR=Ph@dC!A2GGgCWEGYEOwFW(j|1r_4SWHy_`_n90E^uYTVxqdb{uwHx{MD?u`((hb zUdsT&K2e-fDjlE1A7t~f)#4i(=dm$;?k$%H$Kd)G?LJZ*5dt|h2qJ|aFl>dLZ>a4n zADQXaaw;CS=T3s9Tp?{1;_B*Oce|&qDWpIFAUM1B2kd3f^PokyP=>lL;uwk1pqQ;E zJCNbb+d#z6a4I4|KyO$rc8$;&M_*o{X;^uH^~fI_sk00$r-SFnKo|Qzw1?V@Je%UG zKzyQS;5-tY+k|Qkkg%r$+pGfBm7*Uz3jT~qMDJLYT{jUPvE>{RN_>cnVyakraB#vQ zCKF7YuN2wT=acjhVZR9X*AI?MLk6@C#YDwdwG^RW2t{jAe%nl(!GQCt@}BDF@f2^i z)f{d89NV-3U00s9t%?lb7~WYN2zV>}b74bhy6u;|P2lrxReIJ2yyuXr<G%Mm{B=!x zU)LFe`JJ`p{3HAgpI%+}Cr%Z@`l}8T$;hYQ?mo&S>b@7{a0YVIPFa%y3xatpVg6%9 zPPJSqVm}T&2oq#!9ur0_5=)w$+eoTeFPN#rFQPC=N>opfaWsO3Og~*jBodisTKy87 zRH-*w7&QuF;hr}+pq1l!px_SfMZ13vqe3{cfn;&Pbj_v?$G!ey3hjq}$$->#Fe}iS zbQiy&XCY7e@s)4~YhXKJt%tfN7#~43zSyBXLQeq;hPZ|FBM*n=puob(i-UWaXJoqU zR93GBR#;#}a({<ij82T#0_IWX8AO_zG~g79?zwl8_-bkyh|~8xvZXdjcTaajhJ+~z zfeV&*A77=7%s0;iBWH3lpO9_{UCMrD5KnGcNc`35flmr5byrd(Mkg2!%cp;7Nf%z{ zzm8U!;*vKY-torTfciv1gTo^XquTPv-P4WkG+9vw$nQNb;UG(gUk$#qs{7hdYN2A2 z0-a?C<<g`C&`zWY@)eiGz0vwRPs6f;@Fzhm{zOx4-X(=e#SKw$%wVR3lLWOn6vVk& zojpEQ1jrYD95+TCrX4cR%W*C^GlvVSW+0L27+z>^^Zu@4rljlle0)^z%}huLTeQ6` zcJ558!AgZ}D|D_m;AR`q=ch<O{8QmCxPoM|QuCDtSTb1v!;ukUSRryImkolxl-sbp zow5H$)Df<RYv8vaN-<ms#wp(TMO_mv5CtQO!4GrkXe~s2=sfWTcM5ZFi=#+=j0Xsn zZs;h<X7t6Hu2e=V)_CmdGIhsUkC`EE<jYN|vr~|krlXTZANuMWJa=pcYSUD;-1QRe zxx&POT*`F6uSA_>O)O($X<7)}8TDWrD?*qFvcE`jN}!FsW|J;m>dv(IWvW`_4@@7G z)P?4u*;UJ`tt%R)4dZIO);vF$(bR-3>(ARClur-8ewe?%T`PjuhRCm|ebwnW%sh7A z$#?V5SZE^eu`gpti_oS`k$w`^F6}~%xn?K<9WA<@CzFgjhsFv<OYB0hWGheV%8<%l zTwsf|YTJA2&1T*|OHK?)brz<6f4zMNRH%0LJMqzMbOi?9#kW9E=LR#JX5dO)?UF%i zN^8cP(vr+d!sNBmZ$xlyYch(&j2bz`*RNmU#st~FOZ+DRQ*(93Jkfjt(KsWVYLGt% zhEX-xw=lZtt|(lsERd{fBjG(q&25cT{&B_rCqi;H^F4ALcFDr2GZmY&4uf(SAYDo< zx*b>xf}#KM1=-hb_`8BJLV*&IxG8B;TsK6Nrml{%E`b1??LR$`2ENr(ke8!1K~R`X zo-fz?m)>x_L~qo0lDCD39_!m{d@dpmP*L(%&y9vPw((XY4XmMgJH}PbgJ66FSRn^H zU|9c_9us)1?Wr7A!$Z2a`6N|_QIad>0n7Wrq;g4OpTU$LYMJlf8yLP=DXrEq5~!h_ z3gT}eeiZO=#*zZ3Iau5Qi8b6YcyHS5zO|Z(FhzM`kF;Gu^lGxpOF9Zh8RNbUXrjBF z&f5r4#H#h`fSXJbi9wc^2c%lCa0!>M_Uo4m2ekzpg1*i6WDC&=uB689?2}3orB&8W zu7m{~@}oW0UUORf#2U>r9ErHO_Xhu(%NV-^WmDw?f3GJ0g^9m-rLCby=d98e8ArXP zv~wSGyr0qa%vUi>Ro~%}qb`^L2$%<g2t(FR`0-@#KiPBP&VRcWv!_nrFxThFO~mzw z^w5Pbg>iL7g@k*zl4GQ;D`S<zG*mcxDXqcM$tY^zmBTM4wk(5jmm+#%QJEaMhPICt zlY4Pwy1vzky6v2+Gr_o=wtA;-xc`JRRHY~C>wH}e@fp5kn=^le_2VE04qI=-ZH{{S zY0*#h2)KrZp{h8S8c9kM)bWK$Ex_zNkk*+k<jIw<e!8+2;q9vC+pmQCO%yA@3c2+( z5OwN8xX$Y*ZEAEAzp*oczvG*Eyy5-FjU?gO7XR#|iDSXH%k~hf#d>FYoez>)oF^sY z-1wEJ1_$l$6wp-mRk2(SfT~@z!AQ9ltFQXepSX!#G2W4iaBw^s|Dy5Y>ZQ5C+jok( zQ>VgEhNZZtlt}RUXMKCiAF9OV(G*+M%gkAyOlF|9FbbyVvPmZf4(c<ZR3&9zkLN?T zR8?HDo!~F;7Bd|nPtEY@id61E-r#^`_Hq<*M&PPi;p{LR+y+k$kcC5?ty5OhK23X_ z;NYu+*P0%MO)5zV=j*(19!3qn2z6OfJs3JCxDLsnVoit;cYUYT&lk*1b+Gj53|@;T z&4L}demh5Xr8T4FI1dg#Y1)XVb3%(+t~dXYv)(1(kxK~S^eT}5>)R4~XD>)iD=*!J z-{zI53VVRz9=&A?c+1Qcg?}8RJcTMh<y3h6S+1h8_^7n~#83IA-g=bb3Yb^Ob6@!1 z;umpA)_1Z28nh4%|HK0(H3wvn2I;m52lVX}s`R&(d}{r=l19Dl%7Dv!E5YaPvSa># z{E1pu0~2rVGvTEtoR5?wQ^lj$)(W~Ar3FlIfrMN~CU|64d(Q9*u|e_tC_?0^jjT93 zs7RelTQzQbp|&j-(-1Twt!lzgO$81muhw!JQNGttY+(<?2K2Unv-#e;17-=_$y#!( z*Z;E7!kHNVt0VYww-4HSm|oHg@~V2o0EEv6WklC#5ynmeFp!rk`*q*yNm3vbg%Fr1 zhT}g~&>{z*z1;p;6wn29A*j}8`}*E$n!x*T7tV94%A&<$uPFzYk3Oh^>IwHtwt9KV zyc)RQtC*IPdU7z_6}KxV;P7uPF=5PC|1`w1cQR2?<MWB<oj6W={3Wi)w3ifl0f;es z4caX;6hqW0Ad~KM$owwge!+u$Yox5C`-`!!@k=c?jx=TkKP>&ziU1}_$-#b5p*XeD zE(4OwSb?Y0G1x?%Xs!LI%#nI?_pMHOixJl%p-G-~J5a6!p7J3$*FLNue0FFwG`Jo7 zV6N;U{>fRxQpIg^-Iw2g3c~8l`lAOkJ376=L)&wHLV4qxq?0D48u_ePpY%Ihi zL1RE?u>}O*N6B_Xp|r}VM@hM6Ybu(`Gy$hEctjV0qZR+kn3?hxhT8L-ODWev1SLhx z>hYSNQ~ld=F4Um@Pa5u~9o;!5rs*<BhZ0!vwkdL`ZCV75G-G$si}ppB0QF)HEppJ2 zlmRnec)^;OsRt20`p&?lTW5#$g7b!S>RNG+auzERZHuJFJj0f2@p<^fD#vuQKEsdF zo|A#<eiu=sYSWjCN+!Y>$lr3Fhq69hL$1a$WX}J1rtA1E9V)S}VuMk+&%f5M|5U)A zr_lL{H`tYeEmIz=2+aJE00!r`X~2C46Nqy{AN;U*8SwZ8ZO{QXK(`6>;FMsEPF<ut zUZW|yxiwp!=HPt|&)_ga$%TmmLgC(dNO2nRYjvnutGwUdsd6aM|AjkYQNYK5EG1?@ zXga9vUG0;zoGhI`oA+U^PAQ*xsSQ-9pYZCc5}aUs@!^6-#p;a&5RZ51cduRd^V{(J zg;-C4eQ-7HAb4~48yaSzre=wW0>4@<-I;?d#fk}w8pTx_)V6%)JYl*w$`G%6bfGvE zj@*|4N$V`ds?%6<8E0?ay9Kjw8VA`2{ZdXAK2S|V$&K-l?UpPIQdHsaw@tzlq7?K) zFNwmTZBkN;@NcG3fO%phb^a*%fG&5-zU>Sh^q475C(N4Zta}&5zQz*g7wlzP9Bi(p zv;>a&q7EAL0s#xk+1_f;u}jw<n#F;@)vLjz`CI3-kwB!^cW;Owv07Gc*~uj5ELZ7Q zsO-o<Qbgje6QuPZT;13%A2Q_Q<I^)YPomKLyx9_bQ&fK>AoV(&+h50#AI0mAbd{^j z9neBXqu!EM`h}ob?TZIhk+r{EY8fJ!e%ZmDFZxt;M8@aVg&g0?v(_IY@>2A?6m(xO zLVGMST3FhF!3Q#a8liBy!^J#R;8m;D6>({|l(IXxlxa5EbtE;adUdq}uR(XNY7ugj z7p&!2W-_b@ki@1K>TQ~JM4EqRdPF{(Jgu1GjoE3~ATri|#nv+xLs}!eq2dLnR1NOk z-`s!B+qFa)tVkT?m(nlT74^-JyW1w%vLbQ~Ffien|IKGhaB<!MFWxB;V|D;<YtBrG zQ}xAivz*%Qf&Pt^92foS)G5*$T4zH|U|GVclQTsLKv09GgUvVm>#hXNYKCwxVw|B4 zMD-B=h9k;2Zg8k6s;fn5(vg0#XeA;IQML09RE1~_E<mQ-18H|pWA@&R+uz)<#~ni3 zKzW9j{bl(ahF;9@ub|Bev_CL|5LaY(jxq9Q)XRa85)?^1ce5p?EQJZ+oaExk5E(gi z;5GLItX55^DJ(mkH8E9BMl9PyMRISfG-&N}=eL3Ee{e<q6vEGS@vpM1NPJzsTb@k! zNs=23-zzJ$SxHa0Z86LMIgbbw9U*)?_@J|zQbCEcYg&U+rM1j?i25-uC7q#=3GS10 zcGKM7+OY*5GLC_mZ>ifF>t46DkBBA<ZM$RyU<RHhupEsir?pkHALZl9cJfaJq6=Cc zV>MN*5SS&U9=5hoDuqY*M?n2F-u0Xl0NZg!0wLsY?+w$|{Kew5VYW~74gzf_-v-hD zr|74_6`78yf@wC>7CpL@*CgtH=<pT)Q9LWvhjHg{2Wps#xSG&d(3vO0U`9<}$UM~? zAZbgqBtqzfiIgD@vna{LmWIj%Jd=@fzg2v7Fs~dtR8wjf=291HSr(;7xu2bsKPo39 zklUpLI${8FH@D;sQz`?B8&R2zcw4#A8()K_zOxa(4#cJzHPO92?0^o*x+E4NeP#}d zId+NrSi&~YOmgMZhy!G)bu%{6;C2%PD1#*Fhop*n7+t_Q>6=#e=s=fiw#kk`g|)Ao zF8VR(%w=BB#J`opU(iS}?4Fc|ZROzYjK;8HE*SOs?thJ|rG;x#a|GGPWA{)}3sSF^ z=gDJM`-ENHe{YMOw7gZ<`-<uOr^Vkhsqh3xPfd|P)EG(`ZeKTZ$PJ`_VeD@>@Vw>U zJSxym_Uo*?iyh5R%Q=13@qE0ZAE8qpa_1u5fuJJ7lzObD(Axd}{AEn+YVE4;0AU1~ zq?4_*3Tg-Kd(@&OI4fVqD2!tPBsnDifi<0ymtQX@R9M<Zu~m6RJR|!tyJe4%wwhtb z-Z>w&E#v}MjCI4=YAMA*@x8JUV5b=U_7lPR4**V|-HgSxHErYw1~C&^MVuLfiuBf| z_`@Sk@jG|ApR95)NGXcmGJ0FFK8bt~<PHqX0|HB#RgIw%L2yQMDTRbe!*!mOAcgBs zoa23{S1YhY4${U-Nzq7$6_&-3`nzj5Yd}v(EJ4pC=Vq~Hfd{1)W!k3<Aeu%Ic+U;$ zNUqC~33(pd!Ka49J}V=&H~#q?NYGKG%Uq0=xs_5gm?}8EPSB|jx*w8&@~R8dD^+C$ zL#{}Fbc_&_1`yZCr$&PZt7WTaNin-GY<w8CX@`)&9q+BzbXp(^U(P#(tx$EjiVV;i zR3b`_9LXm|ui6p)3F)H-r~@mKbD(*qe{)h#<u8SI8xwF;yX?lF5yI2{At9~JY_STf zuWR@DCOmiOvhnWMr7e~eIP9$DrXs84PO8GgXGZ342PlXI5H{*hP<#491El3XZ?t7g zS<>MSqk3a~vV5>`k&e<TxSKB%tNIXqQL84#i=r7kl35I8%bU#r29%Q%_`~7F0-Yhz zoiY6IMpZ?#En=5lm*1)oC9{r>V-@0=Bl%yS+yk;Bzyq_XgKP<HRE_CD?AQvOf(-jA z0$F&r9{H4DP35Wy2fmndt1n)^f}D$W^8>-%_(qd_sCwVl2G4q(Lc2SosCZ5J+TH;e za})*(=Fp2V>o74uCqV3q5}$@l8c5r=NfTmtaminA>e6Pks{@j0uh?g_kel2|gM2m_ z&hqjY-LyK4dWfyU{!fFiipw}`tsG?hm9q#c@h1A<t5|8YhK;fng)ZifMNKO$v_s>U zMWqzqFs=lW_*s3A+NhX^Kv&zAETRps1UuUb&`h$q+4d7)JbXPBK;K6xd?PQtkk(<j z#%n7)Aus*x7?9AJPD(HtnS6Zi3)EW(k}yaLLq&gv#6!fmnuEb~9Z!vtDp+dfd@7gi zM!Pm9UC5z>x~u=AZYF&<+r;5dEQV+5K<(asdPUPq(+fVuYwyjMKte>mS?A)Z`<EA! zfu!_^-(e8|kxtM$5T01tHfYMY^Ed+elZpgFnOXi7z1pi&DPlYCyG@Fb{a-V;c<eLU zP}{^f-_1JaAG;Jf4vQ=1#A~(EodL=3^&@r&CE~3nY{v?9ZSpH2)B1k}3|Jn;OADxa zK?_0pOO)<+1<;s(?U#--mryZ<!KyoAN)m(vb!Q|2GEHf8g=fK-h8w|tht3q9dj=en zZk=8B`zvqMTrDjai6(jR;Ge!O`G>KitQjF}i;G7z8{<L8_ek9?Hvdqbt{3=mcS{X~ zbbFyc?>jMf5(Y1(ughDJ+o5>W^XsWFJ<j+zItMb=C=jcie0-Kb7gKX8hCEbq^NZ{| z*|rw|FQV-8FF2iGDO%lU3^mQY`>OFSoLTGbN)jj}0Rb5H`$oj@gv!sJ^HBD%6(o+l zX7CVU2|O`X^&wJ0VJc-jm_ED7PbYiT)QvEV*)Th<&$K~hweF@1EVVfB-|G*lXCE&9 zVp6C-mgrK&5ABDxiC?DrV<o1ajea<YsGv3jY=32yt((Ryd}{8N+S4)9oUt*7M!;Qb z?NCTXCq|W<^g%O7oB(o&LINU>xZ6~AqI4tZ-cNPj`<bCAh<3;(v``ciI`br7On<{a z1EE~=Nar$Dt)?cq^a><cJr_30xhY*JHK&uTSRNXJe&y7Y$-eMEISgi4J}Zc5jT_Vf zJw8g`ux8Bqg5(@+@76XyI)MBAV0|g?Qq7LnBA}xbG^-&4Sc((+KoEq@R{}dt26?9l z{C{KZ|3B{jzvlm6{&#^U{BLahpW!OFOV~!1xvjjZlnfbyUNgDzg{I4hN`I>!Fs2Fm zUM(Ins{zNOA2-ciN!x#6AtO_B0P@~*k$kYf#E;U8Q<rVc=TGnfANp&Zo@dz;Nrw)V zvm&#~Ptq?p7{lw0v0S@~QHep6ZSGLxsqe-{sl2zQP-WGHa2^w}L0sSFZnXkug$9CC z38_-Xr3uL3)B5m|jpqXy5Tqsryk<9B&0jr;lqY*Wc?SjlHl_~S?>ro$es3pAvc<VC zwG6#HgqnHZ6wJ}#A`rvueESwPsB#sX43&K>(M&)-vVOU!E}T_wd96GC^vYpX@OU~N z8y)#AlO?=V9w|O??~Lvq$chl!m&C=v&X8K=<b6Ht?>djVH3g*}QPIc_6oStah~FT9 z%ZHcb?~OWg6E2CMh+O!)&ep|8587yKr&Vq~<l2+rG-k^Yso~yGRrdSv#KG|$aFe;? z+q#lG+FA*{RmpeTEeurXPlz}>-*I;zyR_LmWo-++Xari;N9p3VgUW&suCQdlOq5@T zJWEsFHPJ}~=?|(t-jJ074)Yxfz0A%c-r2>!G$%@f5ZM*IbFap3_$le{Y=*SzeM-d$ zw^bs?8odAZ!KtJS%(LvR`u_D`lMCH<Km?cXOJ)Y!E{6)d6+Lbs2xXkl(GHhf=os{m z%18g?Jd{^MlK#3|Q9bE;!KYHZ<7s#!OQ||}h@Rg)yN*_q?4}|F2+8y;Tws56)wU~6 zm2abNCh&FA#h}wQJVd~PUwsX5v#YfqSg5q$yo{u`TdnUD<XNnwpht7HK+TT(c*coI zKJgxsWof?SpU^;_5z(v=c=0Y+|NTpi7VY7Rhm^<`5Q+O#`w_M_{W5l;trI)>Ae?7) zSl55X=0?t#&K#@@ob@}=Ivl;X?)2|v+-MCfUtzChTYP@j7_MJ%CndaQFb2j86x9D# zsO-uRZ>;>|N1s&!a`v+p^A!p%Z1hij7Blk2u}h54ZUoB;Y<vFq-MLF|vv&Ef{_<8L zYW?i{Ls#3JsM5bP%@}3TT~_1J?Lux+gL}FaYVmsoQ~LDIz-x>9+iHECgVo4YB?5Ar zQaiWr^(KpgtW0>P8%cLg_lI|_ngVbB7cewasgmz0?S`tm{DU4LVNANnt>abPoeyPh zo12yy>S~Ur)<<#JZi9!)!B3jI_&>(qfgV`HPr=}!s~?Lxo<nBr_7b|-=~+(1{gFZe zf36^*qOS6P0sownbF=-zujT(5=lW(oI}iIG1pQn|lT0YD(kHae=JruYfZsuDB-}bc zSlPY!Q-HYk^nkt@&0oj)+cnxorx~(VZ%kC{p1I=KE2@uNhv_IDrl9sqQ3g*eO>X_5 zX*hXcp{f#z#9}ev^auCku!dotbw|6dp_S)lQd;qy1TZ<7#x)6O5Pk*Dd;d|I1r6M_ zK>(c2L=b5Bw?tX?Z|^KC_em(oYgHon^85>7<eEO}eH_crP8k{q)n-NnIW%B?&Vd0Y z-q~>aa^v{^+m48*a<rNqTJ`o~U7&^fZXM)?x)2Zsa-&_Q*%6Fg?R6K7Mpk|Ox7qDW zi<w|5fOw`HRJk0jX%m^~OG@w{Tz5${4!MA&iE!Uzw7x<8oBJx$d}{m0?)F10nW~L} zZ6BrAHi^T8X2SyKqvF|eST(NC0hTQHvzwjSm__v3cA&{-%7Kc5*S9c*X?miIXn~)n za884Lu5_G-0dhO|xlf0ChE^Vh9_gsRA*TQgurSQGAHJo8G*GSO;f6zh_QXWyowxB~ zz&gNqWA@#F1!l8sdwyG3PSrW5SSZ)+L<h$x6#OCZHYSFGvOb4eKCl|q5R~D$z=Ux^ znRu|ob@QM&i(-b-x1edG*FuHV_Qze<-YDIH#!|dYYm$UhU<UttuAp>py5j~VkbiC- za87e9aS^t%b&7fIog|ein@+qi!jMUD^~{kZ4uDUOqP+R?WW}XzgZLbh=fy6@Y)^tR zpZa1MTwe02%f((-9RHkk4_oKc7{0oz&TKmt)Pc3h4j1i?3Ug=LDMgd;g}7Y=0bN8$ zMBLAU<>{C8_X_s7JF0-buX3O*H!%PJ+Zd{B4s0ld_pGnrJ>H{Y=gY4Brf;ty6hAY{ ztE-}9rb_3F8jTW{xLo$Gy+D_p@PY$R`WsUCxP>Hkg4Ex<3+{I>Vw!ietLF~fdwX5J zINkS0KR8o@Xp<qgz{(e}5Ymkgx%zjvI~VYzF>+D0L(^A0dZBfnVnJAo<HeJKm#sG4 zy?^I|Pc(`Wq`p)sY)%_muU^ZW&hR50f|}$@$U2GzRJ?ovt&3uB@#ss67$f1LgJrYL zZTKqUBb7a*5TuqlZHlm@4(8!k(m9m6?0@z$gW$^2%9QDTm?l{r_ODxcYG94D8+E+1 z>LeG6>CU-8UrWz}KIkYNQ72LZ_+<%35al>9Aky|F2aK(aA07WOuty(Wl5`kvF-l;r z=vg>VwmW^`sLQhXxy^F)>SYez3p;}!5PI*-&m29-c7X|{K+0B~GrerUKqznnjq}Zt zLz3~jT@*>EvISRin2IMXX#Hw^uF}$NVHee6t+JSV*abf&>9Mql+GrhEX6>rBBTJmW z<DrBsaeZW0^80<FB?MEGd1T-fE-hwdNknnmKGIio`c7dFR%SkxU85{N&9mUv)7s!| zbStlE6dCFed7z<sJ5j;RKdwRBkE|e>p&|vjpA5Dwp&F=>-NCQ7Sc<rEAJ<ugijlF{ zv=`0LWR(O8hCEk`8aE1zbr|U5BgP02TD|KA(}zDD?-zFZ*csrVw!5OV{gUQz)Udl5 zWp{)C-C}r7E$Pa#p%>jAFh39bcBd}rFF#pKmunqU=01_*h>k_!N}a%N>|YNK)>unf zSBv<sTB&`tVs?zu%6(jQa@IF@+(-iYBF~%>Xrb-Hb5*)iq<RP(z#=l2X~RvejW0TS z6L=hN43+58KO{V=Dk?yKCjF2DuV7h8aAiN{z$X~9I$>Wq?wa_Lr3|%f3T5jkX-qzx zO$xCSco-Pqug&DezR_t%|H*=D*EVLB`h+&WS0`f4^yQA^oY`zsGAwNBlfx1}6tc4R zyRccST@djFnbaFlTf*YeXFj-*PPE2+@zHDh!t>>o-(L7)y?tr?cg+1pLy~js94=E4 z0jx-IrlT#lvG{ITeZ+}Du<grgeLN|k(&pa9y%bR#jEyHK>uqA3Sv&Bssb1OlK4)(| z;Iy=}gtM^hw;zkV_Ai_Fo-$m?=Ft8zOzx8?i;BM~El&p``}W@ZyJTyj_)+y>wy4`m z!qjE#L5D$tD>uJul=<KnBoHLg*i*f52vzp><BHr$;|NXJ{$LJDIw@LTJSSnO{p{*9 zLvyc<;ubXLL+$4{TYvK#cmi>6W+s8mDZnqHz>tTIq3j7k+U}HLpm?jb3KkVRxra3J zqDYOiH1z`h25~^OJhj-zi@2m8$4#we8(x|Jgi<v8!MQxnmoI>jQ<BjIX1l9nYkYEU zV{KO}2WCnqJmKu0H`fma+IRxB8YWb8_N_Lb+|#P3$?nqQJF;SwdSIgfUO00MC{X%- ztJHwP&3I`BP7R2cYoC_P;K_M6nZ!k-S99*gP!IwhqqGnXxZw%rhQ7R_!AB(KgQ#5{ zA>@`n9Av>W_YhU`K^{SSBa4=bV;s_;9|w93nPI*(!QL@cx_r9!<*_H>u>JMXoNS~s z_?@ilf4n&62u=lYdkNG<2wsKyyLw;d44&0dFsritjEAf#`V#=Fxtfl$*=d77V<R;) zPpAx(HW`)q*v^PL`iE253`PY^AuLHwn4wwOT(OIV@_FB+XVgEKVn|-U_si<YNX7;l zt!#pW)F7OkD^{m4$Zm*@&0CPX7*+ZGt07V)Adw=!Y}-Dm?;`2_lA`^~o#D&bbWk*G zDTddx;EQE~5lWmtJlv;a-xox;Y=P?<IH3rX(3O*$!GO{pDX4kh&1M9*R9{ul#zG2l zUJ`06&<%Ea1VvQ(whw!HW729orulk4U!)c{NVfbmD61DM&n(J7`?UVI%gz>sa!Yfj zv3{e7-Gs5FuV)t+w6#m%k9#9CJ3T3}hsIi;u0I=@;>SD|$URfOt6J8`P~J)hZ+Q-Y zURG+VqKt66^|DP(KzFxoZ-#>8#Z|Qy5}XnQc#ODSrE;*FjI>B0IeB&V%NJI^4bv?C zSbGZmRe#KE`8KBx1~0W+``;H?iHfbsLm2*i6<hFx0eNU*yb7u3jpX<QVIUzcnyXL> z9Xe;LCO|={ulTSRz>ca(CLku=#VZA*1&SrO&gi+WU^!E{#@xQ@Cul%=)izy?GrHFz z^sc{HH{ItZ`Y|G0j~<<iTf^ozg}Q{`F$6B!Z4<bo$S6}@|CpJsv|(aXy$eKQVzP!A z3g%0fuRs5;f~nVsI}wJBXTIz<>;0R>$?@8$hOL!RsoSJyj4w3Mw5(te$jbtVZwh1~ zGnxJDSy|=!YKy2FZ~9i6w`-$A*nA55PcD!kD7mLr{f!#3W$VM8r6m{PO1D&Y5L3x- zx7~9woJR<s=f6O`^Ek#8aIf$`Mj+eiJ)Tn<CJeixuojR_!E+3-p9Uyyc1=jAS4(3N z)A7YWi=Ool>x07olZeR~+KQ>ESa5xE$B!(yJ5uTd!k<}p3Y;@ioD$t-F+xW+p-;dq zRlS(6@y0%atBQ}=xJ(eoI%mf@9ST$1gFmw&1thZjB^v!Qbvu4QO_@zp{%zyj__kHB z+@ZiHrU4v`vnl_$uTv)blX$TlK5=c9J!_U|yxX4G%J=pO%aty(P+*Y$(<^X0zPmA@ z^2YD*M)MaN8ad_&?Y17~;phNo6nTi`NbHY9S8JTzO4X5J+P4mG1LYU#?f>qOcxW&m zFO9P+c`q2^BT>omwop)h=}rg9)5*JD>U}d+ABzEpf>~lt&7TImLSgN>oDQzAuki%a zV(TZ*suGSnJc`*UWSnad<S4YVNV)El;|T=EbvHYRMWR}Ekfy}XgBZa)2=#EGFN>om zG`q$>?DQCE8G+Pbeop07{^_u!o^}kv`Ph~r+kGPB;k6q48a<nh1z$nrG4b@)=WYf{ zd}Sd07(tWXf}T-JX<KGIT|R(iyp2v6(*@bUi#|`tKff)^l93Y75cd)oGv3eUQIhuq z%WjMY$&z;%4`L}8K;KRmjOAe+)$h}_X=Z4D|N1*UyKHM%wN?-{dUA03$Ab7cO(tVq zRnaM<bx4@rT0&!HV9iF6^HBWFmK68!yB~<^y(RN(;h0HI_Wy4YEV7$1<(^5yQAl5X z(f7f3g#3-yuJOp*R6IOyCJtKpdk4gjnf_>@05uQuFXy6JNH&dHh;aQUgjbpp%ghWr zt0IkM6ON~RMlyxvx3An=MC5ty(O#JUga~OrNuN&R=||G1Fo>sZjb=fomg~C!W)=|f z3L}mE<!IL8iR#t=^rMn=HPHzMtO~&-%xgRqIb0u%$DYiWa6Pgg{12>0B>3F1*XUjD z`Gg@^A~&6i6j7G2!kHdpyrrWF!Kg)(6D>NG>v&#{R3P^J7q^J|S1bXb>j`SudhU;S zFt`~p>L7Lt`ROf4j7NsHo-n|W&;!6@>t?fR@nPqT?_d(<YNK)?E-rkM$A}@w<e9BT zL;Z7~Imu$eLNPo0`fE=5L9r9Yuef@aN7;m``TJUBJr~cOlm~$!F+0HayW#^8U9B=# zZq-V(?O4wpkB=K&OptlAoc4q>l+#qjgMDRNPDXN$Z2iasu_wj0+^3*I%>y_*h-N7} zO#m<Ly7|=ElY_YtS-qu4#Kf)R7-FU7em7eO9gaLuubQ(p;rHlbL=|1WEo<-SF=9L{ zsEKQh@VZfC-PC<70XJw|-#A`1Z%E<Q8Q@$0xYAoiUHb>toiy?L<L_@(1#YN->lZd- zn1ZpW?$qFyhpw3to+3&}ra7Py+vI%^Z7OwnZYk!79YuqWf`v8Li4QFiUR;CX6P~u+ zzdH#=Kk21T_^o4#ka*-<aW&fML*fB?nb5STj_GBLIkJhIi{3vw(em%FGqEM1dw85# zc^}%wVvS7DcE?hNxMbm?0Wg90fc*e&KYC{obc(-?W7=#~R~6}#gml2FvxtuS*bPRG z*7~jGJBzZq=*D<*<rY|5<@dwrFAVYWXWz3rZh?4iQc%=;4Iljr!hh{{K|%#^4A!NJ zec<ltW$+?E5Z)JIs-A!2PvTRzZe;7mFKYtbPW$dd$=0dg-!U-0=PmeqDdw1_axa;) zjlI>APmjG&_nqZ1q$Pk<q}YN(Wdx}T{!aqQ(T8k?Iv*Cv#`%zzJXdFY>$Y0kf7~lM zWu`wf=goyp7PHJ)CrElS6Ka;Jk3DT=1UPj%vXC6xM7#IS`iD2pw32sr`C0#kBi;Zz zG=1y(ta<q@*uQ2Xz!Jh7qnFZ7NwUYZLI0SXVmn-QYV?JF&C>x5%N#pR_?aSc%7bx3 zW+67a4O)t8x&jACIF0=i$?#m!G@@;&UN>jR)yAD!{>%lTdpZH6p>no*cq5cFqzv?2 zBrI!DFMkw7u10AYi_WXh;_xpe{~#9YwB7NU*ACqBaQ`4{Wwp<dB$9G(!-?POlbF?W z_YEbSblz&E(7*zgNvFF%4(**sz+YpJob?m}UR<yV=cDgZinJF$rfNgm8ChBEa_K`R zlahy5{9OT!p@b<9gAj@rf1fY;8d(nzorxmWns(2YBJNpps*9)wk!-TFKQ2H0zZ8DJ zh&6riBvfayheT>1`#_uy{==ixkJIGvv<GQ}>;F`X;0OVJxk!wZw+I$5zWnq`^qB>l z)J{|HfcML#f_0B!wp;lHTGkGVcAG@pK&Zcl?vvC7o?K*?dytJ~!7&o*9fFz45<L=+ z)#P#HIuf}=5F3VAsjE#hU^{k1l>c?-m;%P2q8l78l~ikkz;^3^z86G~i&vXIoWjoQ z+QiU!*vt%U<gDo`c;pIUwgl0$cY&4a3G5adSa|D6*uP`I8r5&au&@Rkx`*(w|7kyz zY<qY*+>>R-C){tRJEK(kL3u>;QaURFZ=LNhG1M^+m!zHj6X(0w?5yV^tO;t^fXWaW z(1yI8{dQp)9uiIk2MwHVQ9xEwB5GoR_L{1T{^9_RD)37Fdi)(fg+U51{x{K-FOXm~ zi`oM+<x(e*-o=Y87%{EBD&V&A9rvouL`I_OPpN0bgV@*Sd`av$WUtiO4g#APe2FnY z5^E4pQG6S3DA&dUN+{Mg{38`L<ud{_XZm!uKEfz$-1J)d-{o*5QL`bE=u%GI=3j1m zk1I+5IjGUe*GEFUS(;Sy^4pUMOWA@%nMvXCp5!b9qciH~9m8*?+ze%p_rIYLk=X62 z^0T7EcnLWsIQkf!i2CJ(6-gsl#1kbHNSe&9Dld->Sa2-k^W4*37dN~48{INQK{wT$ z(I4juPo83DnuOG|Q3_V_t%RB7FQ&IS@6PRj#mM{uA_;rPXnm%;f*j-+vAT?ir}fou zw8mmzS<)Hab(?hL(=*NkUA=V(Ym3^ql)FilOTACp>eo|8vgX7dhogN-2KwZVl${(j zMY{OrP^knW4VDn>Q88pf&}5j%_*39yF&k^Vx^ovNd@sj9r0BlL07jB$LF~=(OvE0z zJFr+&kJsi~^_e=6r!3+#s<5ffS~fAw$j<y_!h`)8#>JaGTES70FJmKl0|(v)kg;Es zvqOLE6&JIYInf$&>qGMYH4}ABt8>K%#VW@3jJ+Ym;Ojp1hJ2QFCQJGy!RiKSgE|v5 zVYp3a61t(w165|x*0c}H1nC|~%Y6?VU)mZ;$cAin)eyReXXT0dUav|sFll_PsZp0- zqe%;F1P(8&*C4kmY)y=*YX%h=TnhRZ{vXE9AvmxoO2a`X9XlP{w%xI9+csZp+qTuQ zI!4E~opfwXPt7c5W;MH4|KioHx_5EwoO`}+@J2Q?8igQ1Rvi>hDCsrClSG*<r!&gA zB#p!pc3Gr=fsMn|*52{G<x)Ydualb(twg7CJ^3q0&dHaHf@KF+<<Z_hC%zQ&hdLm- z8|fW@9-jlEf5It&KoHav(@wt5M|Sxvd``!ODLPWXUOt(d1a<i60K#uaxjT-2a_vJc zz0xAt%g0{r1haptxy^IASn7^TRq0eWX_oF~1A`UF!qo7Y3PCT~>T}i@$AFmEr5*=& z#e@?C9+U|e=lIREnu+mn68dNCx)8w7wL~^mwAXsn7%`v4Mq8<8#7~W79v1-K_2eR^ z`s5-l4<5aeBT1=>fdwohS|i-2%W^|pz*QttPww(=Y(}Dr*G0qkmm>Jm$$G$5NolR< z>0w&Q1b-`2hh}NfuT;Zg@-?w%P=xg&)`lbt0(YX4b#~-5P39`FpXEg^J^{Q&p@kgl zNe<}^4<#euT`SXI$aG~bC#&cO;=^2<^dZtdX81q_+765?!ydr!xER7jtx06n(zD#M zOG0TC{T7j_MaNP=i6)M9G=`MbtX$tJdixx>nB+{2d+zVY@^w|(ly07M$;@&dG+mEP zf~k<;xy_BL`H#a(<<e{<B!SQST1$L!q)c%I`CrXCsI`WfVm;;{*+uu0=nh$g6P)xt zpS7538AZ(EC`H<Y^d|dXj<?Who|F*Z5u1Ea2uF>3c}lk8w(Y2bF7MwM7r6TMvKvIk zCDe3hKwI-{6%^Ms=w`5T;^R!UeEE&pLT?dC&pHE*OU(KzEfV|xb^>877sGr4QhZ`I z9^+${N6EcxO;4zW61EN?57{fEkQ!T$NpPDftjQ;95oR`FF~zb;^Ga8<_DX-`pK-~w zO=wDkgEFgGk)+oMsWv)ZE#ixY<sx5snyD(FISF+rQ754I%21;#52I;XKQpIl?mQ(V z`deL~5zE$>Fx+chKY$<NR5dhA27#GgR^BPW#?0EtE*IM=dleI<g~q1Csjr9?6X*rE z*Gj&5G*Zkog$9bD{%&EFT_9A`%RSxIK0@?Ck@hOstwJQK2p4$M^C}6U3sqL)wDgej z-8}B!Fo`E#926d=9}Oi^og`tZu5Q!@+-kc#BAz&(YTVFSlL4p8pWyBa^`RI%Q@Vu+ zEp8eDFpu$0-5j|LQ*26i-}`g4E~2LCwcKka+W32Jw4!R8Gs_ox7hA+>UFh_s8N1cm zxl=hz-*MGFU%S$OTs6zO9Ukf2r(YWvt*F4Jpt>J0M#*?9URS=wI&{cot`o=i610Hn zIIVNS-l&~pm;*hxi?2dL5MR11pBG8b#aaBPrScu8Np`RQzt69EmwBL3_U9(jw@^6r z(&U=^=`W{W=xf`e+LTB(vxj&V;T~w^-j1J!wTs{Uh6u}<=_8MbgG>0Z{(yas&q)JU zg^+w_knd?4{^2(#nI#9dXeq`~xUd!hlYNF^I`#I{gugg%?o$Din+h~kW;fhNJ5+xd zi%K~a`E6q~zczmn6fQQmYy#@`AL7Ygv)pu%cOQk^rl;;Ff19WDNi`r1gyiR`+sR5b z{g6-Hf5Wv2A~Crrx->BBKYi>esxt%r#H<dFPe~vNv|!~PnMWg8bLq~z%rg!uD*kj* zSx|qB%<pW}r~7+Fz)(9dBPaW)HB*~^SC2Fd59DL>GA(#2JIiY1OYlyKvT4Fivhi0V z?b4)F6g#sU3kxRoN(2(U^VM)YO5o9i@2ime8(mDkOGXzFf~n`?Uw)ACjobi6UiMHI zw-i)T^g~+M0ds1tQYE&08*bR2Xwbimm<WUnYRU$XpX8Mex?sY$qGe|-WN*|CnFL?$ zy2W7jQ`2>@UZ1tKl<$;hb*>nZsT;(78p@Z~6OI%kI=!4im$E<WEtyWE5XOW?^2!km zs@Bp)QI_K*oRrHyjqUGUw-JGk@153_6|$-&rX@kByxFx0yUiX(&m%2AJ``Fn38LG% zf)&Hj!-<2Rj!}AVXnjR8fi<cDf9;1K4m2Ej!{!9fp~di8J>SXdn<gwNDlB^B`MQG< zSR7a~6S}cF`%K7~WKF7i%e)KfoL$%=CULQ;6^M}%WBd)e!h}cmeDHv?;LHBknHeTo z)jb^gL#-DV8-mPcNY^%K{o01pwipa#t{Jt{?p*v}OnvaTX5IPN^iMouHUvf%!;{^W z!a+UE&I>z(6VTUzmrR>w?UAfY56!?9Dx|DeJ||q$g1w}Rl8pu*4{CrnU{#X>P^4SG z?+@ne%6b=)QN`S^3<K8ZB^d7z^I?+|1b7cJ_n`ji>F*gA_()Rh6ALY{vHU}FUSZ7? zs+HhSLN7e9EUy^uJ*+QaJXP$#1XmxTnk$YN5~U&@FyZhRUi}m=)L99xT}bMs9IY|N zGm)0tt*1~`MxurzkO(ZA?Ed;e$%OSlvKP%MRTrNv&Rfs=TLY+b6nqPCx{X9I|H_u* zGb4lNhYXcW0kwClvMUbCT1-Kzh|6a|{`t&HZWbnlGG1#_d<z5orv_M8PmnE1%IOK( zzP-z$F6dDs^UD0?lWa>g_YP``p|8=uz59)426CD>OB#NVCYh^i>BrFS@fMx;$zx~@ z-$g?YM0lE7ECHrRT<HAxJ-?gZ&TQ2OzsKH9t<<kB@LrI2Q)Zq)7)nf_CjHnAho`7! zzuzow11rrJ#b6%)W1NOrAr(Y4KbnV|Jq+R|8>oNt`z61(Y&M~PMM|l-P1Zx`f%Scr zt{bA(BeS$K?XQ&UEZOjsrj~1;>Nx61+McpJwxGKv&j*kySE@h3f1248g&Kyn_=O7G z($n!2_cZ`5<XIq1rOiWKVXj6S8Zej6<$k+u3z<zc57rKNO)hJPyQOa<BD12nqeZ&z zK3}i;XL%YXBBiw=9WB{y+Ka!qa&YP-Cw(%*56K-J*lNbmji9Ka0(5g)kJ|7EV}tO5 z17D7!RDm`LYB3i6!o#?nmCb|8F;P>qJn?}k49Ti7PPU8uhjQa0OQ^4-=-~qG6;Hc4 zsUA#^p9Rq1#dW%}7+v)o_ewG3E%2zi@(Hi1lINLm`PfQub0Mr|wojEimp_;c5$E>D zc1iuL)+o8|5)&Xo<Dsg;aQ&lj`mH~nWTDE376C9s$BIj9C8ZfeZcVf)POtYK^uPVw zzu!?kttRHEc_n$7zv2TIM+V`$l5)wgOr*z=veu1qgcU}kReY9yJ$nQ)ca~uq{4hdZ z$$87<ai1=rS~g<h>hAvWPr1&{$U4w%$`~^LuohpLuq5)sNcJ#)DFJWf6U{>eeLoy2 z8VLwHH~apL>BY(uJnL;Pb!kUX(VKK@ax?gAJv%DNUw&IZV(%-#b)cN(neC&{<E4)w zQdWR-Hs@~6w$d&Ja(9Uh>L>apOd3zPc3Hv5V5&53cM$ni=?nqUs_qL)koEE><j!kJ z;UYNpX05p~8K=Nr5{E26Ua#U;PaN%Pa|kf04kuDxmKMi2rRv1c>E_oH&ah|VCc<9r zs#Y=<0vQmA6OuZ_vB_ZUuoU0F`tW|SBk70NkBk>&gUkJ{Nd2rl7jTO7S|{NtEHV%H z7<5mlCkqI4_%W9Tf;3doa(Bf9>X<%}6X>HBHw+hlg&j%61&<U;w>0#_<koQ5$`1f7 zr&H$MAoP{ymYqTQ70FF?wY;6YGop-e+(}MJ6r;&5Pm#Q-+QP`6!#1C#tF*g?9ZZT6 z*kdTn*_xr?It>lmt=9_O2)^q?Zdzp=!%NV3?I9UDJV;rP3H0u);x>91R<SkUPThl! zH^5J4WyyI3iO=IJ5{))EF*V&2O#pDiU4a|<B@nL@JfyTk4}%LNgrdO;g_kO|4&(l4 zf^f4hGM5W<d`0Zr^k-_=RwuuQ<T(By9DgE{m+JjktFc1Sp*MK0^x$!ZLCqh^#=neJ z%}G!6K#V@lZ||x6O0~Y33<<cv;j<%8hX7T6<9wfX!q2#Xp#e(1ae$>ZB?9hu@u#K@ z0a`MX&&uG{*n5eg!4C1X)ihK(Y0vGgeh!Z2<Ami8<9R_7Q9g>g;{h&~w-IdBd!po< z0)!tb%}CaA*b$_p#}>;^sR)MM!NL?T`5_G|^QFYGG1?|vKfJrnM)uw+pNQQZO+rR_ zD-M;bkcy_CAPp;1%9Ou6QGx06(ovxye$Jsm8k9uF`c(|V5?RDi59JYg41hpW*GWY- z?Kv9Tdi>B!l~Hcs6=byT^8Jo+z34>OUhyy-I|6nH-Un?IgsQq4Wm`aT|LIs=4&M2f z1>^!E-ZMK}6%sD{*XuWAQ{w0(`>s|B(RC9xFN-erk<hVp8k1CX8vq^n?5*f)wHvfz zqmt#7DLf~LiO%3=#$l?VP2ZM5m%GhRrFW@xi}|JYE$`^jGzc9M=PYdaP|V{n6z-7c z$1<7N+`x#b8DacVKRa9Pg!T>s{38pWH%NB!X1<=Gr<t)w;|=W+8iJDCC02(^m}uMc z!~VsYtlGZ9f@3v?Fo0PAb(5z~z4TXMT}r0ENSh_<7jd8#dX!@mS*dOG(rIW=O@|G- zJ$=VqC3el&Y7%oQS+MU);k9wB45a1D!dbz3G1V_9zF}uWnegLG8OW932?6=z_UX@E zVa}(;S{Usya5jSS_u%UQPH4)1Er)04ml6zzl-x=h6+1fWV8HE5VxvD3{$nRJmKhRM z=01`!u{B)sptAfl{~#4LhOfj^cV`!NK4-1FM))AJRw3&^;~yHH2-MK=h}fqz6F@BN zPaW&yIP*eL>E8%h&#+fO?bz^KGJyTM3**m^??@VI+wloDLuvyz)VTClA(jX}j$}dD zMZ>s99Qth72Fl_pR>T%WS+heW>GkdMB)U=#&J^0EwFh)yAy6GLZ6f&~eTTJucVt2H zYx&4e+*#kG%WuJY0NBhv0Fjzz3Z;x8EPnV~yi5{IKRAb`?26(@$M4^|ay`9-B!_(2 zLu1hNMCIjLz3>AYudh{LKGwr)J{Kykh^_ix7CN*GK=M#HU5V!+f1me}$eA?<@Po6} zFDU(vSbA+md$)7kKnKLf6K$p1k_4=V;0S)zg$!Gi@7u}C6XU!tR<tDg&TJE#Q511d z1NJG;$ERL@xd?d6>^^Hv-}Ja1)bOx!oA72GE#%RImyw{&<pdEX#<_e$tyCA1v+kiR zqsUS?fUH%CC<qDP?w6wztWThBZ)<&i5SmNT{sU<kM-1uD0NU`m>}vG$LyDK~m-H#Y zYV^dS$b8ej5<fXjm+k;1v+<n8KhG((FAmL*CTmUM^Yxpl4u9EEGk+5fC6-SWe*x(r z0ihiVsP}IHd4$)f-~0mm<dL4C!Tvi0{ww|5#{c#y?iiz*;i41rJ-@se4)TX?PA6rQ z)y#-4_|ZX^pBLNW9i}t>g0@v-zcUVTkv(-qL7)cWm9d=nBTZV{gm7L7j^$u5tMi*B zGSoYbB&7;ztybfl%L{|c%M3=Erec4A6z?qIV4mEfcffrm&SvdeaZFV{P?kjv5m1MK zx~i9<#lc=$za>o51V&#dqZ)(hlGSOBh*zq5^<Ci&g)TAItVj~~&fUR-@6jnCxv#gv z&J|kcxvwJ(vfrypK}a}Hk&pEuud_ESz&lwZr_#2Pw(7|!UT-jL_3`I0f&wef2!<&< z*f^xqVtk5Y&qrET$h{2?0GTD0k$!%bKm;qv<UNm`A{dcH8S%3v{e0K;0{P_R0a6Pu zpj;g<vnqEF);D80!B1fF3?wJxAS5rgZgHjI*Ue+ta>INLF%w^|$Ul&%hpOq^A?j$N zg$=G`geaeLXfHD^(dMfA&xrJk0;7fJ%wm<oVj8n`_nU?)?WYxKppvh8UHC#Oyw%0q zW0gucMa3dWgbF(|Hx{jEP4ihow!HU4>Q_^;qk?uYChC-nHxZSf1Xbo{U0CU&+#dDh zR2u(q#D#KLZ`&SbhJJFJbkhT4jCNHi+R$H3AmhQX0q424`lpVeB%dtm8+<e+$+TM+ z?7f3&rKVq`-P_X)@OO7$-YM`OrG8Cv@mn#p9=+IKj-bia;POm);VHu9xXjxps-IeX zD>qsSM^|AO`MZOx|4?Pq!qfK<OaF)kZ>J5o(#o&<zZO?~c@m4w_TNyA?O&sdPd~g3 z(Aye@=OI-6&=}RlA>Tf;V`5wB2;!&SuF639)MHdGZj!770bE48UYMS>6@jv#Od)i1 z+q040<Dk&S%SeXE_^n6`wvp3Qv4GTvpeZPfKy-~C$I7L$t4(=7kaa7!(83vw)wPcD zaufNl=V7PsEnTxCKP7#d*_;puTY{?;<ekNO@PwHgy)M|^JlAQ|y7dHPx98TQ3*_-d zQW`#NH`R380P&iw^}`aoWs?XOJAo{u$3a!Kds)oy`us;OL?khaYB+yn+tBI0)3@7Z z!Fl1}x3}qOro#P5_`BD^NJw&t-%j;qK&3U)oXE6znX)(OohMt8{D&+6S$wV5AfU6u z^x>YBu;IehRbf{ohQr0ixFb6g!#DQt=Cov=3PD_r7qHFCv0|Vn=KuM|V`^0Sk%Z>B z2Io4YIq2rao$S*KUftz2Ks<WHdzo${fQz3v2HO!S%Frv(T@dx+8jpZ(ac*e(e!CL0 z`nM80=DB%=)>&f2#=DV<vCgxwX!+9Xpt^kFrdM^Uv}~mLw;~Y><}yCFn-5ScDq~xT z3cdJ>3nZjp=<&HZZ}w0*{+JB$;wJ8U$;NH=@w{O6_NJdzA=eU3Sw@{pMo~PZq8uq; zIOfs@8TDQy`kq52*3{X;J$d!WdA*;Hb6puEYiBS0@cte(oI8(QQYQW+<A@#m$@eJY z%A`0GvUydO7KD{(GQ6}n<1x(a=UVspaiPXr4j33+Jn%JQKQLChuzdPxvHeQlNjUVv z=GNf`3zQryJIBAQTH1ZS5~Oh2UU3A$#e)pd{Q4A|L+XGAJzW<QF^;P=Hp}ktlam;n zE#}ClragtTI;mj4`T`@_IrgD-EvS!+Q0k>11$#LB*Wz<;et$aj*%MY?lKE{Hq<o27 z4-9d;9iOjPRA`g>$zzQZ&g%%|+T{=*5fgWY4|lPV;ct3gppHnL4Ha%jNn?c&wWimD z`&G}h(Lj{5(suD7XGwx0*avD}yG4~NcaIh)LiF4W_N2qWldp5$ivGRNf%lBAZ|Jcz zJQkP9v9uzj>N(A)wt-pP(}>SmB2kHf0+fs5_JyT_u7!R)Evm=L;apyLX0WAbeu+QA zZ`l15TO;?#VF+%rW@Br*Z9|@8>PbOSIWK)l8Ktg1(h=nS*C4kDav-_&`?<yWP1vD; z`bng!QPL^ClEumBNutYoG`3>#a#Z!?I1eKWg@ekSCw{RCA$>FbHA;86X!i$-7U0AO z{zXyD1uKKPHchKzRV{|QMS98}!B9aM0)Z^-1@g|^CE%*AIC6o}#xYjl@Mqceu`Ql$ zrbx%>e!s5c<v9CosJ+!OJGY^2>ms(V%0eH%iDp9gK<jMesZidpoWbq!X}?&{Ho<88 z;O$OwGaXLLvPt#B^ab!a7tMy~0qRdvmM#Gwk74NJWIc{{qB`^d4@J!;i98P$HC?_4 zshuacZhG8Bg98cevmfdVi`^$j4)hfZ6rDSR7J7ftQxgW81nUc<vdLRmKpzJ_%e`^S zg-DAj0T1a=wT*{V)6T1S5y=vGT>|u$n%D7A_MF_v*%xZ))&c{CLiD^VfM=PG_}lq) zjPgj4Q<6z+wIpVOeZCrnwHw=R?ABveF*Nr4<uuIlar#vh+&^l5;A{`oz}~lS+j*;n z11k&Kzbfz)?x;Jsx<L;R^@6D4xSxIq-9LI65<F<K(&^S&BL^&Qy9kc|E+cT{mA1C% zd={T0M?;WKn?nSrt#VHN=iqc_xrHD~m8m&Ih<#E@cvjTQ8PYb{MVfQ!Y31nOu+f6f zLQstM%`!_(((oNsCP27j3L38MMerQ&n|*-IHY-AAqA7^``kZ^Jbq+-h9;WqOBzKJ= zOTSK+Y}+l!rsD0`?<e^im{*_v&dS^~2msHO^h8HPVnKe3?{6BS0HH*szFKxIl;MP2 z6%&N5Q2{RJw(}2d-G~6uYn#nV2Fx=<2N+%%_<94cAWqM=Mk9EG(J=;p>gLz2$sq`+ zf%+74E`+Q-d+uvx4g<laIZnDNN8!cg`up0wIDdR*`0u3Ly8T1HYE#@WXz)N`=?$=B z*-xnjF^3PPy1<5OfF{Prx$73tLfd1I_@2_k@R;ron|4kvt?%O~T0Ot@EV)Aq6z>~# zQRhX`;$9A`tQaggiElA!T#bM7lkYN;lqW}NTj9idsGcTxoO)v;&>Ld1fk}aI-9G(h zp9f(zNcn^tS?a;t=zRQjXXHJDX>PbOoE^Y@GzkhaEIELz4|Km@AQ5z23=ah?!|p7W zT<T3$J9pVs?@S(|$QKI0<|5Tptv!5}f~mnf*0zVmRe5$g4&YVnmtqESFW}XjW3@*b zj8b8S`jOySp*VQag~yCbHVIMS)`?1INZ77GRYl<F{)EBgWiX<@0inqrSIlX8`dzLV z;@_uMeSh)>5A<KTu}NYWOvHU1rfu>~ij`yz61a+M#gKs)U*$>rUIg;fu%C#)NAbj> z1tEyN=J!e3Hz__)>Hb2!W_fwC1k6Ehx1(zPde3)AMJ1@q^nsLYBG{+LZ-WIk12m_Z zmTalmZCK8G5?*Q{68qZ>JTZ_B4{sm!1w$Adj!>2$fUhcg&lvi-@)*{$Fu31rw2`~E z12n&4--I!ZR#!gDQkL!}?p<dy5(`U8XGw;bvGhJt$Fx?6m@IFz)LwHc`94A<0qq5i zY$&FQpGlASsAD50P8&@O*6_p+<7B0k+gDfmc~?=4>4#R@r?ahK-lXTGdr9v^kvV$B zN(HY1pj2s00;WW7)^rS>dvB$E(hG~H)$<R+HC!Xq{!)E6Ckgxycz+WVoAppk7D;5+ zlb(0k6|sqLiUqcg;p87rRj{oRM}aIl#<7=pZCM6C?$5JmLrZ%QmF@31LMCMD5_g2} zMQ4sYxV{tp-d6jZR_c)ld4>iN0NtSgdH?302Y_6og7|^;{jc<k<GcTt;YRnMo#hP1 z0_6LhK<`c$E8+d3=`{^G9AX`d-4~u9xsen&OI@A*tl9nj#+yl!#?N`i``;+<0melm zH{m^g!rhi;ve)*XV2MQ|`z3$RsikG`;02@#tv-Txc3)<w)H&V*SBiiep=l0}8IHcV zTmsGp{oY+rrceI)<>lVK@24+IDBPD6Ye@UTyIH+&@N$E9;BlXbv?MWz)CV80@UIfn zbsv6DI8>7RX$ie=s2Y;fam8q#5MdEF|L|cpUm~`1`<&2_DX+u-3c52Rwi?ZO@d~_% zp-XvCO4zxKCO#jKoF%|<fxt6(ZsZNDYrB50q2{S0_ic|KM30ff#)-8}g?&0LpYHJ6 z?Dxu&265ls7x>>p`vv)(0$n{K7jxGJhB!PII6KnQ(}@CasEBZ$A|x+O0=onEKJ&w0 z@V3!618P6Od3=qNZa7`0hZA2TOiFi+)3AHbD6TVdzpKsM+Ghi-@cM~QI~W>ld;}y% z(|$$uL;`PJ+aJR=^LLT9e&8O)&r|pRR{DK;5WGiM@d?%|TdWM{tYDmM2{)=S*Y91V z)H=R>X7x7z6lIjY-{f~O@MY7##nzCXe5EfN-v!AriQac<pY8<@14pTXZ=nD4n$4kv z@^D`JQ{=)rFbe3``S<thu=l+LUW4vIaGOAiZtL!4nftyOGSI^*j;;ns<0)u$l-xTC zR>OCg_<FLmN1QPvE~*auZ@<6s!>MPTCEFT5!O9sa((KkNzCoxdJ|g-5<?u6Nj0_#T zF75?kzh#Bb<~c;%Mz)sD*$aB`c8C`xOGC80rSKvxG6ueX24^04HhFzTN^54OQUebZ z(PZ-TUL8*Ad<zpl%K?IaX5@I8+_Id;<G()Pnb88v;D<8zvgLu-kM@xSY7{}rTQ7Yd z_{|j4;As5wd%UCym?r%{x56l1{e?aK;+DP!vFIWTQ!x%OH0JjHuKCXC@T1Kaf{i?N z3JA%2_5cwfC;#@nnEA72x$KM~zEafi^=&f`syeW-`^p^vYq|A#W_>XHAnT$j=Gpz# zq4|cvs3GA#KAHCc!JWD*3Vv6&?O^8F)#>u0uChiP=M<YIehl7l=*av}<b!zEq5#&4 z+JA=;u9Mr_@AtNBAKnoyP=G&HByi&n`|xo50bIy8>xGuh+m?L4>GO>$+;cVeB1VM8 zbjotF25!IO{kgMC`&_n{7;r#&c<_6oV02V;dZ=`HqKITFN^+OJIwQiLXWCBAeL=^| zDA?66*Y72wy1T}uhkl1}#bS`C|NHfdUXT%n_$yeyS7;V}?XTJw>Mw+G(&=Y;f1W>! z#eg;E?mY@T;<;GNt#7!G*wlc85?^+@UqoYAvf14m4=F(?yUJ~L*n{~y|AiA~gckv2 z-tSMw{rLLi@5B}+f`fCdxTJ>PxJb*_wj!R=;)AlOn%6e#^mn1T0@N_K5(NVzOh-K- z;{Hey_I=|QfxGRST9r-~ksIK=dmU?+lK@1y)(SeF05!_+Y2C%l$*R!Xnj1y}t&u*- zp40MowV}VHcy^uyXX0(QSs6mb$nN*K)Z(7!x2q~t&F^aFA*{Lr^XHyt+uAUvb2?Pt z@-fn6232zn1Nc=;=Sc1LDRPgfj7W?UNkTc<3<)HjhQ>)sU8~;%-xN5?Xr(p!qktGZ zqn)q;*RVA9y?>9B3dk>3A4v>EtaxN0CxM}=DC0V5($=RDjD-wkw{|+FXYf2WK69k$ zcAhSEwmpY&;dldHh`?jxJOd%uyVr>UHtQ#<cR{K}SN_pG>FoiqMDF<H#(8SjIN{Q^ zGDRq)n0uH=zBMEvWD<3x#)p3h44@!@=x<=$)LIXS*|QW9)CpsYZh44yQEMr33%-4z zLwBknA&diz9*36SGzWsn^X`c8JqbRZA&o!%ET7XpCkGOE4D!g;?1E*Y0+Is4k@m7Q zQ(XgLsN1H|Ta@89B8O$=d1S~GHG9Mc%Qw$q;?6Q0coM^IzS)B8pUr(<i$IOKnOhka z^fyNkkJd%KE_CfYl$$;qy|q{lo!-w%97NPW)DjP#1v;FkxbIirk7b;?R^ErHIxs?^ z*XeUn9I*P$#=i=<2(zK;Fdp^?*hOlJ=SLBCucuj)8nPU*NOhN)9*;2d+z*ki8C}<f zkwUx+h5hLhj^cl)PUHKEO#t}pA0^&?3>Z0gTS@4_u#*xtFxT%1Q^iYywvUE#raTcO z1R^5B@@0ql7#ka4zWM@q-vJzGl-XhBZiTqB&k15yX9-o0^Omrc{=NuGop-hznxL1o z`lxI9PN>wZFti52%<J4DOEXOBy<m(6zG*{sN{nN+{=HSjB8G{{S>U2=rEl{LG)Cta z7pAET7cSc3K+wa3`=&=cNV!ncSqRGDx|DTG_F^;&_H$3Db$FP2!;)ZkQSCb;cmvw} zQs`j^VtoMu#MdaSETNt3@d?AH6G~0LPr6hNt#+1PW&%WC^vUtslFQ~VE09<Wdo7}N zkCoV%%$6Qu#ec>{1YoyOISq{z27yH8wxI$VVk1yHfVxDVfrDZG<HrVye8*3+Fbfi7 zNCSoDl8lZ+R;O=IH7%_5StY-WOjYOneacHT#{S)h6NZCFyp=4F2+W8JFB`i84CGI( zy*fj*D(`yEz|<=Uj@sJZ^#A0#uT6>6XO`krM~#&}-VV)*UICo-n1g@SNE6){bw5;@ zdQ{1ITWn3Kox!Q?F(c@GuqMRMp+g$%ssDtsnBWW-L`}$EA(OYoyo+QCOC0MO>L|n( zv{{DEy$pPh*f*t$iEm+{!zC!XBaB-q_b43r&6XL&E^X<_&cMYV+10P~kf670xh+A^ z0KcAz^@4$X0tzG{D-%DQ{KVpft_1N3ryFUztN2SCcVMa#wUo}50&Fx(A>&72LYjo7 z$J}d_YoxO*3QWmNiD`;gvZF`@_6@|Ea>l=+ZN}`USbz1+H8?{Bw(oATpW@%z?T=!& zuz<ANgSYnSsIeF$`Te7`5QKeKuO__yeWpWR!;`XN-VQ(;j4W@b><d8;GRb*~6pb)P zrb2L8Zt=_qX^MJ4iO}tj(xCF#)IsL0NbA~qU1`)CW`}ZOo+Ng@N}-s6T+JLJgrxQ6 ztUP-~uQYG;F)6b}PrXC4Gx-`oNeO;SVSN}meR-rCtPZUL36hH92}khtJ$naTr$(2m zusl47yaQ5*YNFPagyq8Vh5EU!9;~17J3OI`2n}K3n3<a%UEJ)jhMhoyDe+2$32xL2 z<rG3#^@uB>i;VY#laHpYBkhs)%<*utFyni~5SdO!A9GQQGG@{Ca65+P;dT$$u7yFp zhL=Le#;<l7Yc#w>0*H8H5G+HMy`b8^t}<_GSO5p^t+cAl;WT6JHX)l-4v5F$nKn~x z?Bga6?L}O7DM-)!!<7ue6s!@2hK60c66_FSvzrT-<Bl#_P&xk(V`Ef&K6)20MOvb0 zrg`&oY9$FYLQRi`>#SM|`-+tb=~30m551ZJ({$X#m|sgWj<K{jI0y)I7!6WbLq|bJ zSHRuEUza-KQ!4Be<qy>dqJLG~@F=058S`YDr<`D@Nky3pt1YGX^msK=Tx#oc-&^`^ zz06}wJf-z~q~)fl2B5-y;SC$8DQTBtXKXfH9GFU>uzgT|DU10*)B3H$`~=H!Zl7hT ztyQFZQlabnx6$?>A$b-Ls5O3ti}KB{5rCS&>=}jDhe*}`O#d_dLM&YT;!G?=_E7N- z1G?~23qieAq{U-~gK8vw2n6cRKeu=MRjN4togx44FE6wBV2VHCJ)ilP2u4Nxx@ulF z`78)Y5cQ{@LseM+CgjzT{l@DxOyu>mT=WguE|;oY>Lix<f(L@fN<uX^pHLge;;wA{ zNAf`AvHcXBA0BY<lk@al`JskH;%={3r=C%*$K#aU?jC5EQ^c><1ycnatKU7MAHH9t zh}-vUe?gE<OfR?e?xMq29^Oo7h%LSj?>OlmvZ)?0#Oq@BR{4Bz1TzRA#$GMk`x{^j z6jr|)450|no&)USo+nYz97i|%3vBso9NZas>JfML24?uZ+Yf~3sIPyfpI&+7GR5tu zhTa1!kIJehQvE;;?@mm=KvzmfCfi?N+p-|bKrV2sW;GoAw9pTGg+|&%QuveWw&Rc9 zyDWAA@Y1{IJ5V^k{gsy&h3lIKoQs?h0=fjuUd7vYAK(gF@)^GJ_~x+gEA;pA@%h%a zgMaA7-SZ(i{ys;4ULM0QKN1FPB!zwDuP68gi+90;f{b79pd1o6(2EKC6lc3%^INO? zYpMHEYd{eviN(p6IVNA|H*8atscl<7<b|G>##%)&tU8=^%AFt1c$dFOBZ;ZR6fS}n zD&bza0RZazr0FOX($<VVCAzj(w&RbKUPsdLf|X0Zt<C62sU%9xdo1m5(NYl5e_uTH zd}0s`8ySxDPw=>i_HcOsLp3z4;`hj{adRsfyi*s+y57=ZnWXWckSc4`husnte#Rfi z%YV{`P+m%Yp0ltVb<v&??73{}V=-6Yf!jat8UZptWzo+~$1e0wI37Io$7Y|Ss+%xf z%$0AV)|BI>TQ_>c1=(Jy--?DMaVn2D4?pTii?DsKZr$aS`25WNUhAWkV)Mrq^rGfg z&ebpU&KD_BU?l9lUtF6gFYddpSAK=~q(}`wS@D?zyH<;Lw8t!*l9!b?;xq(r$ujly zJ^<~5@pK}m+Wz#u@C5^Jlb0Wv*(XDDGd6%okO&wyEZ$u#n8zjEtL<+$3Ow>~IX%4d zJzXVtRFa@gzY2Uw^-b)P=J4ajj4e%ETix7Fe+^$&jev@E&r?_U>y~&NAG=5&8SoL% zfBJ?Mc!sih`7Dvp_*D;j`8>Q$Er=Uc1G}x#9$)_`=Eq}^y+yoKiEN)-AI`TFMUA<= z*1WI&;(dRf8=CK~Tqb$zRQd$IaN1c0TGghu+w&hhc%Jr8NL`yl)y;PDzG5u3rsFa$ z5_-cc*gh|EKYFh<&R<kVy!<jX>)75q?)I0+#9Q#o8XU$6N?Jk%SS*qGzioKo0{^Un z`X+&Ji1?oacNTwz4h$Jap4oV1LK-a#3J#a|_t=u5vp*(pjD=jbdfPYd7_uXn>t`I| zrcVkrl7+~}?#^G%U}PAzoISQbi5-%E11I^t*L+Tbf@gLqucC+*5>PsWFT4!wk`V1C z?ZB*7q_<LlOg2<6zCJf`mItjLFd1V>=ZY5F2*}22GP=6N^2m<8MX}D)H|`w*S!2iw zy~@6@7h@#1=}#eV*XzgT3=QSL?MqFncnT;r^*nuZy=Cu#FN66QVVJ&sx}@N_4orGU zCQnf2{O-@qm69TXBV`Nv+t4VlyIagzn)fG`Lw|OGTQ*l%62C-mfoOa{$K>S<_I>Vp zD0zkR)is_e8O@cJ^fopvtj#hQnI0?<SFipCI3hGR>*3E{&>s-iWjvWL?u3VG8zFhH za9Q<oQpzeF$K-hug#VK0Lc6vqkBe*pIYBFc5$&I~+UgFzQ^gMx-}by)RIm9})_e#t z9E^Q%JaEC3y%m;BC@BI&&WGMc_s=9JT@e<-9$xl)zdLvjhE0EWMlRIb7Rz0^@o1}i zA`kklmP~QVFIF81yMIw_h2V+9^TM|_iu?4>Z^g2+0+O6z|GQ*(+W6T&op{?5de(?P z?#-?n1TQ;zst~?+(Y=I^8%B^7#%wGo=>D!xXUHS+r6+}#gs%w@zL}i?;jN5oa*_o_ zwqxM{vEAfRf6Y!bA^0l9AZUq0U~6DtZ$rI|`)l0de!RG=bMqFE^#>=3lk#Cn=ci4l z%mINsO<aTVJ`4{yR#-$DEPfn2n&eM4`{35%P(7>6j&&natWl|w3fW6%US`K)49K5% z30KH0wxWH0DTqYCL<gDse!CahT?X9Sa5lpY72BfO;pUGhBR{AFlR<*m<SQb)Ah{rE zI!OjlN!h<KmJ%3s1wkjXz@JyUvwp$w5V2*4I}K~<+&8akLib}`OONd#Z79zxsRm}x zo>TLKXQ%q?%#(wW-!tq^+n(r>V6?5f=&0QoH}x!k>`)4T2`N5>sLXBak+2J*I%<XT z(iYj$KjD+F7c%P;#dwB6+nTU$FXR}b%_)q1i|+!3mzX^WW{85K*<A!xygaDn9sH5; zj?RgrNMF3n@jbslY(%u`N%15y2!!`pyPpLur1$XTuAlFo1z|Ax)`P4Jc=VUILR8^4 z1~ouL-g<Zdq<GyA3^ED2r`3|5f6Oyub~`cmimd~|nH_y9ox{?!NAkpB8@07EJvw+H z;}=tfybh3`lKy_eO|BGo6EKChsq#9D#^PrGxDS&t#wSR3Az;R5TP|L4xSJxC&n>9{ z`#5=fT(z&E`5d~s-%IPcsHH)IgW-UR!zazod4+=qcn0glna4oSB-hEkVyAafs>`?I zN}}W?KK>0g%Dge@m=&zMvdj=(O3}Z%<y3EyKv(p*EnIS2kT(VYd1PX>J<z^?{3D}p zCw%H&`(bR>Msnws#+I8A@eAV`KZnbEDS3;u4y8<thJZ)e>qag@75^y)ZiS(p`*Cx6 zg9=*)Xo&~+l<aBhB1R3$Ha8<2@WLf7x^!2X|GGN936atGX=CQ!mBo0_^7%)mdnPxd z$>iSLjFV(!eMGsOI4h&0L(<dEqsjN!2~nBkU5<<Y9_j8N<l7*qJKqr!Xu2}JF&TU8 zdTWl@nUDytqaKM$H`}$bJR2*4XMnG2@PZb~Km9`02=a|c7S(2;wX~(iT^=GJ;h74V znw9&Fcv4-!X6;1}+~Q<?_iXx}QUr=?9zWc1i<B5!wk2qoh;5bl%r`Z3Nk-3+IAtrZ z1WOiUVDAWtD^0v~iZX(?t!nJaVsX&W=%elKug_^^wtt1l(a3^IHj(s|6f5Jsk00Uz zfLwT=n<V~hxD+dzNJHVJz`y^rVqV6q%T!8MB!O9_v&uR8mq~q)Sl2ffAF1F&jmyt6 zCL?sFj4{=iPc0#bQ|N#gV!=90f6WXVCyOJUk2^tVtK#9{2niml1k&$DLm7dEOu*f; z-8dEN_76#;*WWsN%%^>fT`$HM*^-+=KvH_|W~0qJQeF&>WaHEuD~q`&&bXKXeIh{p zf&^N$AAIw!)UblCLj0%W_{hdiWXWyA^6i>+C7mfs4Akm*0>*-5DK-_|c|W;~;np$Q zWxzk=qO#aWeau1<i1Rq4ywtMKBe_wW8i2nG)x9vMf@mixWBk)2<x$KR@&msR*t_f4 z**<csHD7f9H~B|Nobnt=djt)r9mw`7$89^w`w1`EkG{fd_7a_Qn0$m*Z^u92H2&Z4 zOZex~mq`V=h^2dEE9d(+1+)eFPfN8<_&3kd?`j2^O7&H^-;S|7aSHQ=5uA<;)Dnbw zOJajZ-!6e~urtB4bdSZH8<JXq9M2p18z_AYg<}qcDw&XJnu9uKEoa$%qC#Qm^-|2Z zZZ|d@ZWakVtWLOF?Mev?!S_@TnUHa7e$RssJ~ey&Vm%A>ewuQFDf<dHJ}X<Y5`SEs zaTj?9nsljVYnXqJwsJo1-;48?@z4!#1Z?fRi*y0@+yAI?c?DsyW8ffXDxkNhncwJ< zrK%*MLl4wtq~~w{$t&|~(0F2{@zl}XEl=^yRp_WVNh49L9MQ3F#il3moM4`=)IcSN zJhK;2r1050s<6u{Gk9sk5``gC_Fbw$MNH5E*YK)8PI(Qg;Xfa%2XCb)9ZOa0VvPHF zxU~T#??RzUo&{}OBIH?9)!#Yn{7!AfrQ^$Wk$Ez0m|0aIahE9Wm`BZ|xK_#6nh0uC zVO*T!3W=&xr1%LN{u;D}45f|Ot_M^g_l}e@VsePyrry+-Lc+#jhmJqvDD*f@yGRd{ zs=U%G8da>iD>)g<vT)VC5{K1l#i!Ma7UBU87_0zBA_DXd+Odj~4c3@)`gL6{ggiMs z@sN3^b6!y!1k3B7WQ}1p=A0rasxp{mQF>TL>O&2;8E)|d7rK!Q12t)z@p|LuuI1`f zXG!Vh#k>6I>K)WQ(_NDU@%r4Zc%tKHzpGVBen~FQq(^>OIgc?RrlANPvM?h3MH|47 z$k3v=Lt|cZ;&xAtoy@PPj9^ofs*c{*bXGdJPfVw7PmNmJNw3e%yg~5?7c>>LMR0-> zOl)O}Rg9I>D&~<tW<#j5n#obu;S`jr(HvT7xo$(7LYu0kpS5?^pmW6-Gleyqq%O<V zwpC?3&DIniNM+vDPOPO;3~zN7hAHs-8TLZU2y@%!;-{QqvdbL^niI}H4Ge)iwzvzI zS|TR@mM#870kPfH!@jy{^a`$TmZ)1rQj1k|U$TF<g+0nzFghj<&&|kN7AvPF-FJ<2 zZjXTR2~l)TyVeCwvUKtkg$3V`yF_hK*4{sy=CT(rNjzwOSIDnYUK@Vvy_^7AD`*qO z@)w^jjF89{vIjB04mjgK&;vLPkPoW!+9@nTgze&r>N=>i=){>zHDug=@xJim$;r#< zNC`fz7tVBtc`F8oZ0_4yoSk*%l7mP<h@*ew5$h33s7`kGf7BhgXtzfY{_ED?jc0!R z1*T#*AvbR<bwrm}45__V@r(nIb;It=Y4IWStQQBffeA7?7xACBjWISJVG#Hn{&qQu zp|db-AFuplUj6&Wo*38;#F38@|A6@LDXm~WV>=aMoJ9g*Ikn1zTWk?Xs%oM(;RnVC z?Cr@(1NZ#xY+^Q&XB(zU7JE2<80<Dz+Vv%sL!B&J_y?YG>rkP_mc#~7!%J>oGNnJD zV-cX-CG31%A{Y|pKD%8Z#hj4Hzf$bIRN@RXVE@NNjWKDL{E~O_cPi@y)#;>Tq*jRv zJgS_>w4p>)=WRW8a@J`g)2^w^1W&-L<S}t6_<9KMmQ!gQM9F#ngE*?s%>}OcKtcUO zCr(*&`bYadw2BfDFJd|{3L}>~)vkOU%h|v;bWK?gFC;5wz?m0?PSC05hh7nVza!Xz zL>hkQs)E{4NhYUS8#tET>1{d2kf?vERppIu>Q?6VHri3Iwp(>^%*B3^*Lsl8e03){ zP=#XGyVnU*XW+RVNH0VXAbt0~Skv!(k8aYN5qe`^)iKX;lYIru;m0xALN)WnwfI*k z3FC*V*km?rF3mA$%4uDA@QkdHPueA6Xhy_GJqn^Y!SV{L;|zxM5Pae1k<W|3LjU~o z2w>zNoB4e<6K`}3i@PmXpcBH5B0T?X)z+&c%kK2UHYW8m*rf{Q5<I4#Kh%H`j;{Av zQvzd6h67SHE@czI_Y2ONm7|`BaA@@6?|+O_RxaamI+HEZlEt663YFLJA2!G;DEC_< zw%apgX^)F~``X=9S<sRJ3iP-EDIcQlI&QQnTYK?PrvT68S!Qc|SG19*mJdegh#Xcj z!;!rh_fNYR-|}28C%t1Ox9kVF%Mh6WeE0$$*WzYq6+Qs%Q1TG75Pl!zrZCGcGCgp` zD)_6>19{bL#C?Wy$1Ap=N?Ox5wmQpSuVZ)w-&8pqovSoqdFQhhx^YZ>uCs3ron}NT zO4*F|mvek}@z`9$<mETHnvQZdN1gDDBZIEzZqBge1SG<anA|#0G&9b#ND?@O82*xc z7^)m2hJt_mmybv@gocgepNjokt=-{M;YyR`yBUK~4Wb3?;j4AJHkgFM7IXVpo40wj zLCf{Vs!@%io&N?B`sAQG!<qY0bf-@;j3&MYW=B+=0$<90BPKu?gYe!~?!ccY`<3AW z#sA)ZPYV0SRKSr0$zx-c_yyyH3QJ875dA6C3337sJP>sCR$=$rSkPhTIK5oA5EQGe zQ=z0&I^C0?%N_0!su(heaRoA`4`>}HQqCtoR_!uRMBg%vDeBL@qtEGH&Hd!`ilH$x zEr4rt<CXsYgos3LgS+D0K*r&@J4ez{Y6<loJ*RYTv<~AT-q-srZ$3iCnS|!ILvf_T z;JrNnjK<e|42-zb?%vcwR3=77MODBB2`)=d)Uex+%)1GBZK`b4`yG2A>Qz2{EQTa{ zX&*xDkKO9{TRax-x!0sd@??3@CDWlq7?r@DFZuAYW}@8ZZCiybm<IM6)U7m?lnP1W zf!>wYr;isxb=1x@Rr%(X6i-*)`pCL#V)p}{Z`6MlmE@C%D?!eX(7>m)oSgIa@<G%a zpde?z37IXQfd6LYSTV{xBR~0FP&QC)L-u`#>I7_^B<8M+TLqNRyu8cBXMV0A6WLV% z%P6}mG9|)YE*1$v5ok~hsUzIp%Vnb@|1B{Wgop)mM4RKEd_PM#Vuw(0^(EYMS3VAe zoIZgVE@w|IML9E(RC5alYh!&{3`@Z;WQGaOR!54mOTdD~4q#NBI1T1qP!<dF+jhK? zO(zS-pEI-+9N^X~DdV)#F|g4ocou9^hpLu#mJP>eJ`r1gmK~(!W?Th#Dt!GZ_zRdG zAaEnGNnnHDw=S2i21)QaoNwH-ML_~^UfrC_wT-muE<{%YM22H7E4;EF3m%t?rkrD; zzetjK?|7Nv2T#Xhl8OmE^7Zl$r&R`^Y3SXnul?dz3%8FGowB`{H_<_JI2nsYt$G4k zV>3v4C{06$-4fv$%6PT0zWfif-D43Cqn+nY?~OkWz#1RjaTN{?i-ukOVugV3IBh75 zR(9)To7=+g1~L|HdY+9#!9&Quy1t+Chk1&*z7Yx&7wL|AT5|Wxl*7iZ(PwYTSN?_W zEq}9o2;&hzppKGK7kLLH7(Vsbs#z%lN5I%K>ne0ACp3xA=R-Q@^z`^uOS8m<tcWam z*05j+sp#%`#j@tDn!0MbW6FVrT@a!#7YLB~p14bKDQj|X@!CI&=*_B#2CBLlE!84o z5+SGVbBXzlTH~fjSPUA{FnlD=(QYnuRmF!2U*a(hu1|WhK?5OdO4pa`Skm>|BibsO z>=~5wG%W@huc<Smv&vF0aYx`FIa{$z3p_h<f9gX%);~oZEe^8Pyo`W<lzVf}*5qgy zeh6HgjTcY33P0+?WFvkH)qZbWSHtWK6)-$%A{ncJx%DufYssmh0t|x<@+-T_DPu3h zoz?4YpbAgk-i&i%y@kJpMeRf0)WN7rQAyZ>Vz4@rPtmXHaqdthu{nXj=gqE!3ymdj z6Vd~>&GO5UzrH`TJQ~otP(-t?#3Ld~xwU^H6_@<8edssxa^AAwBjPNZ^yg57Imb12 ziAFA>CgC(k)0(IKsCjNYn%L3?4G2_*SiRVIu#xRVvrSCEAeifLE;fymXl6i+k#DtK z6&GNL!r#>htAVDP97yFSGm3Nm%Y$cxXZy$)%JuC-EbA`3q#QtP*eY~lI>#bIUAdL+ z7YMNpQH^k?)Vi&BgITxNTGpL}h*6n`rrB>eXLK&9A90Oh#&9fZzSlc`+L7iFulnHG zeD<z5;?VgBt=e{Yz^U~cShR0@g;($0J^R0*0GZB59J5uV<mD1=9WN^s5;GAw5O6z^ z5SsAzKycTb0zX|J$zi@-nvuByJ)*u=F$|NA9xjU;Yu+@!!svSSB1ABi_1#={oQL@D z;T}A0h?k6|SOI)?l%J1t_Hr@<uJD`oF4*>CE~4^~%1L=nE4e%VWEPQ5qww$Q^OusZ zrntC^wG#{?u7CwQ&5N-cGp$N8;9ycN4HwMi?uSxqv*jQa*YaU0anV#n@8mqf_)h9A zqe<a&=`F_6^OFx}n(=n?zKBsGq7q~z;Q>gwC709eYAGkJh$Y=nSfFs$$GSPo>K3ta zK8g;OA0_PvZ%C|6B*&OXv{F<No=0-b@Kos1s3kgY*P<E0As>S8Qhmr@pwckq9c7eu zu@WZdFmdgAtUj;l^#yZA)N<5VQo1PyO5LF4>0NVcJknr;v+YWX%Wio$tbl54q8%q6 zc|AEiryfOu>HsXYq-=n)laI|QzmPh<Brt+S(`lh2^7N(BizH);{jo7><Wo&`6pOX< zbV={Vt^ze$VFcZE^t3G!C<EyKL=VAPcvB6V#ae>tL8yz$#r#1UYvpcorY*@HZqzJ= zcJ}qNtyW!`-0zqO$4Z=c)yHDc@fRjyfXEn)d$k_ORbRB^;|)r<g~WSO^d(zdKjafw z@mF@ubhIE<J*g<&BuETP^HLdDLbR=mJEvErxhiBm=;O~i7qnLftidL#+5{f>IbsQD z1`1TJ8wH-XLKh$J&K5UFO&x^e<E-3#D8c$T*PEP!Ic%tlzP&B!<o>x!TaZh7H$W`0 zx*3Pi8(%>2r}WEO(JZph`LtLZjlsVaRgKvsnt|bxqO`AblQYvFTkt4PTlanS*gUqq z13zFx(C#!qwuW;Cy7A9oPN|dLu&i9ipzEf1&IVj*OS^@CYhfWwh<&e4Fskf6KyNs3 zzoZC5X@41nCh$z*=;~lx$B7u@<bu}53OGF$T2D7jaE<llxw{9CpH-HNOH9D3WDIYo zRI!9LqN&22eY<R@L<_c0^Zxm1D>lC$ERpJ3OQmrnjxIM0fE&8#7|<=QikZNoAbq!! zSKTLUXG7&0|End37-}rg3p#FHv6sAHSJtv8oGB}26S0r5%Z(<SVk>7n5pt6=#3Zg! zVS3gHpFKih;ZgR{6BhBaAXJsyhKyuiZSgr%&WJ9&L;LSnIK?2lPQDhwJmF^yNtb9& zmDyGxqlO+cP=*R<5{zAt^R(d_*@H5^*R1p2%9V?raQyjbCn`jL4<6YctS&`cF`2Bh zI95$@i<8gXywp`6<KP_6WY6&WIJJ^T*R4yAyT<UqDePBz_0Co!3SKyqzAu*>I0#xO zx=vebXB0dN*l3<Iz$X1(WpDf+b)8jI9$T}n(IDZ&-95OwySoQ>g1bu-+}+*X-95NV zAUFhf4Z$~SpNq5izs{LAJ;&2kHS4l_%u(-)esiUtgisdnxXIUA4!~{<faZGmTeNa+ zLy4i^HKlzx+@=CqvP5JA<L#Aci}1U^xt+C9nlGZ8M=k7@Zq%FkIXwcMv2P$yg_2A( z+<)(`gk06jg|C4hB-}_CGknI1jO0OC=n2QSN*>`oGYM`~YKgaC%V|4irN8-b>q|io zjoov5Vz6*;Rt_8a4p>a1n}n}qEgA;|W*<ZRAV0T#B;{qAPbNJ*$DR64eL}st^NjXu zxg3%GU|Mf+mgs2iUS2P$|IcEcjp3zIl&AST4DUm6aB#23x#?MP@swIgO1ObEfdW3e z7(<@Qq_a~fTD-8IZliYV;$HS}bdBM45fMHl?S6JqSY(j(1`sRgp{m#!6B%LIZ*rix zzNY-sC7v>Q{$X&gYpDXZn#evjFuV_Nu0YdDOBaNrA8k1_8=XpqU(O=P)KqrmgP4<+ zf6OAI?I6pde%FsS*WBR^w<%Ts-E}Z68_BxZCfrNJyzXiDEe)wS;P^}pH7l^jrL3F3 z`m_1co0@goCm@;Th|5J@7^Dj}{8<ob$UJ88h{@2`%e((511~Uibu>sIjY;uAWm@Oe zCu#n{UDnlt{!1Y0(MfJYpQVA#`aza&npYB5L4lhWF^{z#w5aUj9XlfgCV%E;OqD6C zF9xzAzH<@75=QLBA?>EEN>UKT>4<z%TO!zJ#)0rUQ@}mht-Hi5yp+(gE%8$+PA1fy zr|2q+g2qLtMdKtU%1?T}y%bH|M5^Am(Sv0AwQ}@Va)fwBg;#e!%PJeJ9_M)D3`y`D zn;9NHdCqE;r|0Qv!~ofpwN#DuuO|W1CP9hrcF(#T{*|Ut)RIc2?>7GTp0N<8^<?Zk z(&<jdV*ofeMJ*@S&&(V|Rt^?FyuXkUgm?0|h7@`e60Rf{_q8Avf{b?XGt%#*sS-4F z(%_Eq!WLcq_bv%g_<u<=B0wV%0pUy`g9EVUQkA6p`lVV61DX0(!epM<_IfGC#lJ)d z18Iqf?iaTqSKh15U*dTnyJPLD42xFS_8(P4Pl2|HelDqadGy#jgeTl$6R-&0;zG+) zu+W1GE&H&SFm|!W8ChrOqI>})I?u{1zHS&x)>_)*FKEa%F_Xq=pnM$7DDGv|u&)ic z(AE`8^WQtNmxv4O+Vz{b+oucV_8YY>xKMuH3|`?%n+5p^TJJSWx1kR>Fgj{R>V{=< z1OVu262z{|QAZkxh`C9_@9CbJ#7=0jD6&ncbB(+a<=+Rri8j$zGuCRsqvrItB7m*z z3_MBaDOX(~c#VsJRn1K$2^%Db%wJ`vMU4_`3DwJn7lvVW$9~~cI=6CWJ;k9R=nsbv zt47@<E<RhRg&57B8beonJ}*Og|76e__X7lX;*wWnzooA4?26By?&LxEUJV~=zrq;V zixbC^PFpBn+GIcyTu*KfYC4tUiePP?$VzV_T-crxqz(OsX7p!MEwpglB$iWv{FB<z zDc!<z)^B%+yklj%<=Y>DgzB|W#d2WIi_?)T_F#>CI@7h=R^m!pf<&goGA*)DTLknK zqw>h^%~ridYM8zrFlGqBSaK!t<~uOc;}=f)2B8&lHID`-^g@}FY$$x=;M(xi(vOgW zbHQt{orz8J&bpylw|$gtd;KjlT|$p<6{dhqI*>Qn2>uW_yyqTa6uskEp8UtR%({Mj z)<ikG(v&ndLj<KEE`fSFL;T3W)C7pHNo;4!!1$&^tWTPte8L*w?ZyRpS|I9aSEske z2(q$&v>PnPnVAP0&C*Op`74}K9KOkkGSb=hPU9&57p*<WrIwdnos%x2!>+;zug|+2 z1_OUe5z^+YCEcd$#6|1xvu({H?^XB6aSN&{b+OSvjVkP->`@~f!Ee(l{_g->cVd33 z`x=@oTk|e??g6y`=-1NS&T7GkaxM=i$X1}TbybCc(WLn6#T^H^;!dXg2_u(JdW@SS z=I+qbqFR?Y7fV9}**dj77lqH_bZlge!~1c{mCk<Ls+d0kUhh7}(1Bg_DdWCh%%$(I z>B@LK)sWKi#)x7O4iw!$%oo5_d1bN(&FLam!d!~>2a4EwWu;~oT8`)!qVlRj2~(Ls zH7*sEdrBrfYgl{<7LPl$U`tu)6gU<}*NhN_9sw#SgY$BG%W2&ZMF$sS1N@>ndQhff zP$>H9i@w3n`BdyKy|(-2^{#cLi6qEq=#k3c#VGtK@m~)#hoyExqW1vfcs;#V)=MBt zPlI+5?PxczFVFG57rB{vYOPDz-Wap-BN^Lh^jz4er*=(HgTGeSk10wKt@ZhB@Jc<h zP%U*ad=}dtyjkQ$L^B3F{h-%d?<EfzG(;!Q);tth5G_c|NakfijF6!hNV?5GF9nr) zu}vk74;+CQTj#w7^MStAOni7=4>{~MRm7C9mp?e>t?AfL)Ruch1v3PTI*^NPw;Z#J z)!IsMAGj9$if2p1%}Cx^vON&dN(8!9=F1tHMLZ0afPBJKZ4N<%d{r9xpsLG*%HhwO z7E91mjr0EF&2u(!k$dMSbArAMXFNUz6)IUNqR1>}4Zz^%ZD0!jdS$c{{Ng9E&#DM+ z4V#fJ+Kk#8lLjkR{LQHOMsT5%H@Nispv|D^tjK(fZdx<5jsg{$1+%YEro3=g{4rD( z*WS$AW4H0k=i-C^{|&+axHb@^GJRG2X_XU;hIkeNu!O`sDQ}9Xu2P60C6-OtR2UJT zb4r!YGG)YF%i+poWd;rfRoLwrDjHTV5HoR9`itHx!ua54sWg#lHhElKi51fuk5pV# zl4yJlauiOoyr@{EzrISYDK$Z+u?zjNb6XaoL6^Am88v@kz}-^2vh?>u&Bd9z*mB5l zOrj1y@Lg1!+PusQ`wxRm0bPkxO8#@Qb1^BN7xN(chd!=8axHpM%n;5*pb$<A9bzOU z@^If$?88E&(v#?RZT(=cyTMmjN-P}%<8_1N8VBQCjT)dqsd0%u=k>y;BOnMDQ}r5i z93h5vvZunDn{k&eTXPpA*`^OA2?ehlJ(s}?j8ur6PWz+@RG)N3#7cZaHus-~>yw3^ z9U3HXKe`5ysU_&_#L?e|{xNa$?APAsGnme(VIfTwQdd8{DA=KXPLl<VR8AX5IH5?6 zrjSRRoa!8t<{7n&ztC?TC>6;vdgAvY5JczOyrMvBWo1#C6h7taeP`+n3#!g`EOVR( zT%^gyCqk)<_%)GK9XK}f&>x{8$A63Zqb>x6^Isqj-uguTU1ZCF-s<&A+DL6?Mf6Pc zV~>UauXXH*8|nWwePoEIrXQ_4wW}#W6#rEPUjut1BCD_F1pgsHf)IR5mk=hvXJJE~ z$S4ar+qsf%AxK%Sky<0wXS?G={_&;>;GE7GB)3qHiwWmN5?oy$W2|&6+u3nu^vr(4 zk(e58-lV0C88ks5rn%pqAIsanh0(p74cO}LvSd?$Nuy?u?B<YXDtDxGH4i{0`qQ>o z^aPJs*P?pP;Jf2#^#*+xO^^R%FK&{x!aG><<)@Xl0Xrf)XG^-H61w8dPS_ARF#ZkV zK=0A#jCY3{CcTQh#UzayQ<C|0BRO(_>WT|58P6i$U35u<D7+VRX+4=aGm=jJ#gfVT zTK&sDibKuNssxms99M5g=UnlkYmVn;Q9soxD7wdy^sH4&NW5i)JF{RTDKUnPlH-Me zQ`vmX^0bp433yNAZHoAubR!A^(0FIaJ4wDsjUVo3&Zzx@J)_2}A!V{qEjk%gwJ9@c zgIF4JPR8}AFa>o+-{x&5A+@APhTF5SS}N<yCwB?0e$rY=!jh{TY9e^>qk{VONg57z zjA-v7HWzgla~u14?`yEco}rIkmb^Z7eq?kc6avmgnkM{*jesaqVH4dI@FPcftDO%% z+M;ThwBge`O<8(`hGfQsQfAJKy@{EvzHs6;LBMIJ+V2v+7qvlqF|y+X_bT_ShLB`S z*9z(Ppn{;UIx~an#A{*RkWYs)_y)`BP*$TEPG3L#SS_oEk~FY>cL^!0=Ss{z9S(wt zUR?izPO8RP)G}rdY9l_g1qQjWCY5Sw9Fx3zGm$fzWXB6c@;?vj(K1_)WXR~UX0(-* z@(knCqau?eFoug3y1Z)fl}F3<{nB49rGlzXBoCT(E=>!(si;!@l4_}5UEE4TovUcy z@M&opP6&88z>$m@ciJCQda4S=LccrcDyibv5EE5p5U45$g*An*1K^TQ=(gyTd<YJN zMD4GBbMWt2sgLH+r#P#er>PSkaZ8njaKzKxMB5fDDmn1Qf>&4fe#imgWiSs!W=TB! zFsE^YHgS{LDpw_s(upuZLYOvJN-Ugt9zJT;G0MlxnR)DzOy09%0@J0@Qzva+pAc#< z{o$yO+HW}%(9LI$3@9tZKL{>v3<SC~U!k<24+9!!M>2*28sE<kj7dO;m5t!v)3L-~ zxFxVi=R>^Vlky;L77~~s9P;g~{h5ZyHeNt+ozuBM>3Tu~@OM61H`bMe`|p<%kyzF_ zNHN$^qqZuYR%ObIDY!PC4bzuAD<<bJtP6CAw_--!I~50q0N9vQ2usx20Jpp$LJ>Hh z&Jy-bSO`$x02NCKp?0~3di}tf&MB7(pZrMY=HLjwUZD_&vM`)!IZ&1fyrlBB%<XOB z!&=$hf6+;IFiI<f{8kQ1+!keNHAY9qlj1oWSR{$TZmPx4UU6P<9AY~T9e)+H{W9}u z@tb@G2j`7B@O-z{R{m4L8~eE&1X*b0UuOhP#PcJ&_EzhN<ax&?EprzfIg$_T@qVvO zNb)q+3slWRWCq^JJs{?X$YLE??i@QqA^=^nOT?QW88tqU`|znWtB96_ACB`m9{<F# z#S+E+UBeKz`vTcZ^|7s*HM}^#MTbkCWqTca)!V-VFnqQg&4~Pkm&Y=^hfW|OVjoc; zmf2@A^w4bA5hj`#e*GJ}u=XI1)g13f4TJ>4KJIo^*n<8qLd0w%pG9JvHh-@8(C{`E z(RGjgDFoYQgS3y?rK}8au$e47;}nS=%Ude7Zk)S$T1pP4a3vlBX$~a}l_Z{YFocX1 z3QX=HK(iJ7hURZgfsU^5UP{~@S1`)!XG$8iZm;}Ntx2m%e}`f3;?M20i_d~0*Fn@$ zlo{Bh`thkC#yt<Pm#&=|T)5XldJX)GojY&{1Q@HQIT6|P2~*)nRsQ;XFFkjpZ?(M1 zVNH+<hScPIJ7cnF6H67zRTriY{>~DuUQVb@fa4v6{2g=$<!R122{Nh|h0UqJ$QCY{ z%?7JFN?sd=FqP_G@ssS28~C*SWJ)7ko0(B#r&OMS^Fq0t#ZSRa`-t*~G!acxdD2oD z)3T~qt(J=@<%o#I@GtaFQ5{c{ddfn|tlTKwi1u`LZ^jBW&x3qFQC3`E9%kw3?cG^W z0cQ^q^NEddBg~7DrSFBr(t$KtSQnkJZ&sx#qP`+|uchl!QrabYHg$^R-ffN)N7s>M zrQ-?c9s{Er{BBsM;U?ckBiXPz+D#MCPVHHWm8{V5o95Mz%)N@1<RXZhRG{i;U2UoG z2E})koe6By90)uVbCNA`d7WEwL}$T^0qsp!<qD#x{Z{_aW)aMw%2ARG`r=UkTCZa9 za)r~<3ISK~9+<@X+dEBL=uq5SOns?0?U$h?P~!UilK2#h*l}JHJ2|s@ngE?xkery- z9>Rbub@`?w+=?JNY~M>QvLb7ZXmuH0qzPUOvk-NH+vbX@q6xn$Cc0$x#sT*q;CUW` zCfvLS^CARY;!T4!XF6yZ>}wBh)Fkf|2JsLq0chc}e2*}BDNNo~Gltd0QyAT4iA%1d ze$n|JNn8>Ivf9?uQap%!cV|mrutdtz$&ks`a(AZLRahaU$)m!(dt8;JvNiKZ;Iq4H z@2n)DuzTFigw@9cI0Qa9e`SvqU`|eL^;?62cXC(Gl@g~4WtW)ZPs1vB|5DB}PV=3M zWFpvNNr?Pz2OZi<iDZVT<`^(ay-n)3@&-OKQ_9@TKGqRJ7spVNCtD|6*-?CJJy{}w zBw(@>qPA8&-#*e)R^wUxiV_=ph~`f*)gH#bK3OI{p%Kl*PCKGTjrO6x_4?RtE@hD< zuRY#4R;|6A_ny=hrJs`QWql50B?iRH%`+|N$|_H(Eeb%9U{m>$%<*KOu;IaIu|vkG z5wH^&|ADuMH;!QVF5t29^}|ZGi13d{>MVJDr-%G#&6KVkJ}PdTl$XTAWIne0Vz%hI zoikMd-;x~_)^bQ0w-jnT&{&rw>qdc93%0kJ1>q%+VjPS=l6Y*)(Bb`7#-7lo&t~84 zp)U2;)t#)821UpE3Cj`t`jfQ((2z7QjSblPpF{@gj?!z3K*yww8oePm*W%x(weEK= z9-{2O4t0-;B`>QyPeOj^bzCR%VKP0?-jTnxk8cF2v)O!o2z{wE2KbWU4lCq4L-p8= zRMKmdPTNCEPodP8;hx&N9L0FlgJZG>FR`xm%l!m5e9x`h^Md?v6<b#b7q&3)`bX8V z+_KPj)M7Yg9rvjFx%|;JtUQteZlHT^UahIpXCy;3>$-P$_~mH{m8R2R=^&*)J{5nd zxUi4J-Q~$H(}0%d0Jnl3YV4MS>eI@YI7uzK6C9p+UD&jom@&G*Fn$^4eEd54Nw$tS zh@Qxp;Lw6l_4_24FIZ-JkP9JS2(%dVM%G004Nq<hF}2L}df8}F*1Y5VA3o)E{%rCJ z@(j5jU6>m+ZRTqhLo1c$IiaRPYhk_<>|KuOT{idoy=L$83`E=aUY~RJybiZ+{r!Wt z_2%>6`2W)P+TqrB<$3vOYV6E~Eh1z~Whvc0I6VxWJPc-TN>~=0pT`VU`1r@W6bZr= z1?`2-R0vUu)8X8<Uf<A+K5>l3l<i){ME|m-kvmCFZX?S^?33JZl6sJNvw@Df8CnDq zv2yL{vn+2H)H~)bQZN#k-B1NZ1ThR&bfMs==3HdaDf>B(XNuhx?zEXCr}%AxKRJ{q z?rIfPlCsnnx962D(^Ho5X_ypJd}|<Vt|e%xSVT(WsV`~p+)`5SP(@fMaGxqbmU8}8 z=AKJ-%72Q{N_SK7bn84{6XTrA=W+>PI9@P8l+;*7Q{pCLN6Jj-ts8Z>DmZ>_uB~W_ zvShC}N{mP8G{+j4n+lG%A9skAJ&vL3jC1x{DvS^$CWInQ=#-Uk-TwmJ`@;!eM7^|d zrocniv2D>9GiKy_Q$|rOTn)JzZ1t(A_muKd9R>4ricjs?`RXxQM`lb7qQMp5bW!ZS zOL(8L|5(?M(~NxShT-cvK7Z0o={{Xfx*QKN1gkqWx+MOW-pU>x*<>MOOkF%Km6DPV z2`8l;Tpg-id_^iWRSQ(f@*`Dp3XW&fK8puaF?qVeAA3MSVIk?#Y(N7eGRC%sy~I@L z%Q4H$UmI&D%{@}<DaK${!#7@_gs%k;Gm2$~dO&uflnbtLQZ<Ik$*QJ=Z=?otM$aI= zk>bXktV+H`t_4T!;B9@jOed#{S81<vpnQC}RHYme{wEz8|2Zdua-v20fZ8dgzIhAQ zWeD2W<+@KhHBuvwB6alKh-;KHj18!isV4X_s|N+g#XVP}pup*DJU1F3oS|MswYb?S zlA2oYL++n#`dq2WpcRJ(2S&Gi|7F4Dhg#1FT)Am*-}KUg+|(g5-x4<%ypS`#E7bLO zRS~!;*3qx7YvW!dv*O%S$cc*g+Qi9H==C?ATIVU*J87S2^9QC1NsUCZRtSIJHWJ(7 z3(K!u4?nMSfyV^qLP(thW8Wk1G?^*}d=&wFTJN>*G1V(CPb<}0!@GBeT@sJqcG5X6 z@#@yzsOTM*O>+5dvb-S+_pprBmNja)K7I>an%V7nJc2uQ+QWtFH{LAkSVk-ss+H<< zzD{z1`}lmb;K(zss43F++20JFZQ+Ub982cI1H-s>82d)&`M81rlyx=AsA5#6Kp0P} zG_Ty(R1M$s;a`fVFewu~vs)4<Qy_ir{*x%FRm7C84{17}uqrGh^Q4@|^#u;@TN%DG ziXSqDQ|WZ<D?d}1Lh5MsoZvx6V%YRBE=)-;+oh!L9IoI`r!?ujc$T!<Oz`ug<;0P^ zSy0)7@X(js-{xLQ!2bBL%DgI}a!n`E8GNr3p*CnJZOySM;R+0qTbSpyxqj#Hu#V66 za@SEK-IL>cS9`#?@^`7k)OZU9`bEW*G-J5UF#-dcl5c<4k5ymyjDmuCQ9Pe*DA~*Q zCL-6}%dmJQ<-8EKIbIt}!z+Ix4!d14a-J$>(oPH(qv}TE0?P237Eg?!PtxwRVby-s zqw2oF<Loo9R<VYfb7GcLONGgu;fIRfpEhtq0<;^&X%YeibZ)rv^>V{ohy6x#qr+wX zxS%L5J~X=^Xe;(aYKN6oU}C=Gm;4}EZ1mwkWVdcuO=G9fOE=AHWY3n#8d@wHY#x(; z?9X;ejlOdK16Xk@e6h}sHtCz3<ouX0r(c^?dfi$Wi-v4EY*8Nr<UQLiGt8=%`!Btx z8O{E*1f*R(W|`FlTugT@-0R6=&7HBOSk|As_H2PV5AhkBrdvHTA{oer9a5P7*w%lg zB|X@hxLMiWSdgQBRC*~gbrutQ-KvB!qZn`p&I{UXfb=5Sxl}G!tKlMY2%j!B6zjGq z-k1Pyy_tzykIXL*f3i3+LL&T1AAYT|;d=ib(wttt8uF`P0y*#h(BY-k!<mKHV?ymh z?%eAUX7CUQ)vI*gy5msAo~>t<!fczf!U8&2Q}s^RY3~KQB0rDWhPuucSz{W%QXjb? z5T>vr0b3PC9`aQZT0`VJ)$j!x&XX%r-QEOs+Ow{@2Dv|?Y?_f0XS`!r@8IIPEu9BB zT!~_J3Hc+rM9y1sL$ZtnBy(cue&K@Fl?C)f&QXWzX|RikxF3wza+}H?z~&JnxY2fu zu;s7&7zyLE$TqL4PIs=NmVyVrI@?iV5E#1M0wqyuRZ0ud_|GUI&SjaHX)ZrLncX1- z%<MFX&CiXD>+*b3IF{YJcDLYKf&j1H4D4oG{d>3an@$ARpm>rrbFb_?VFVU<UcJ^f zPJ5sG>Uu*7NmX8x6gOPIgeH&u?0nCO7fOj6z7d{>7=n7hjh|qq$+$?MQ{`M?77+n; z2sr+UcRqoK*{^q}V<AGkspnD^h4~J`>X>F@FxV8|bXp_Yb8Mn3rR(bxg_#@uHE6mm zCea4n*A<SzSuM3`;cjMicejT)6VBkyIEsBU>p0Vhb?CR`Ee3naYtazPWejUVak<hC zmp3+@O19wRo9=iN=FUdYT*dxEE#yq{1bowaEU-i48V=IZxBpaS6`W@eeo+}7)2elu zLGHGlbQL#pTgV(Pn_2@evvk{EJ6FjirZntjeK9M;*+D|>pLBj^HF?OM*9OO{u^=$= z&cTKfEmif6F)@9OE$n90miJJsZKd}6RM!Ybo4_p(gvyAHfp)(s;?ZVG#-agcETAv? zoZ$hf7`7<>lTj#0ncWj?Nn55>Taq|i?8b7gmd{1evMd`<n1RQBwhW0{&%9-e%*S#T zmd?m0X{H{U{%x{FxUJ+)clE0w3gJ--!Kut}mIW1!!wOOGPa^@}TuFGCm~><bCLWo$ zJ+}l*=6<tjRUfR@gd3w)9dA%GIzVz8!A3X22j^D_f%Zxg+q!$^J;nXdzsi}RR+aqW zBG`QrPpdhLlQ-q0h$vhxrJu0i4jm9hsRD%+SLY}d@EAR_GEG7co2Kn29rd$=sHB-@ zd`&v)Jf3@ui^5-%#Xeg%w;BqTxcAeou5dNaxx^{QKrn=XFDX>*${vQ;9dL}Yjy2M; zmO1L#(aeUafqlbZsyh{E2l-l=AQ9xHlDOO7sTjk&E1nx5Kkp7}qWDl%ZyD|U`|#nz z^GM?O+g5?{nu<%?4NW+>imgNzK~&(cDl0AK#T`&ptP@pZc|VHgLj4UT;ZYiDytn0o z`lCa_Ft_SC<xV$)>~+Ph7hpRA5YY<WILREyQ?|Gt(ONn&WmCWyLa+8{k~p*4!j^C) zr`mzNZls)1=p6Z1e;(jzh#X2_IQN#Ite%k*p=@HK{PyHmjf~JB=!=#7q2pLgCtUbE z<>LG4alum#Z+6rtsL&EpdiTW(!N1@^SgMttr20-H-EysFb=xz_7sza|6(w-jxF@s< znrJ_g(Uiu$+-g8MI8bOmM8pol_$1aG#!;e9uHQ#(Zu|y9dB0p5jA(R4Nx`Dl5-kT6 z37y_&7b~K<(6Uj45KSP81SK*Rk_0oIZ4B7gfbRSz$n6B6^Ah}}iYjr|ug9?T&EtRe zaclU(Orr3W@T1PV04{&MA9h7DX$<13k$ycDwevfW{kZ>neNcWedpcy-<QK$z^7tXR zXrf;O95LRFPa%?1H>Q<z+^8<r^*hydWlik~mLRd^FkHjw%;&R3_#r7-H20HU5i#m? z<6dnOIWgpGr8td*ScEcVwPa>U)=`#9?17!Dcg{Xw%Md4U1I<q~1~5DVAvyHpkK?yT z>pu>#q4XzYwYC$!dhy_=XZV}5Sa?MP>Yz#l`30|;z|S{jlrogvW6DUXe1Mk{E4;v+ z(*_8nFhE_NpfH}t@;5>&?=PP4))rk_VffX}VEv_@EaW<d;t=FQ>4KF5#+YXi3+nDv z@N)@-aQLzrKwF8|GH90kp}S6@R(rbbMVwlpioT2f4x(@S>1X)TqaS!7uI&=J241e{ z0VSq*STSlov@R4&mI7s0)Mbv`xspKVvTxT*S95VAxeb<+a}Un+9X)oo&$>jP4f_*$ zF|pw<@jZ>n9-Q#Qza0(pk7|@sYev~Q%jMClLcoX<0G?}iR9a2Jn|UKWQi>84IA!j3 z<mT5kDOBw`{H8$t7QA$e2M3Vt*pt6R2ld8ZaiYFS3~WjL{ZIHVi25e@e&73k`VL_s ze<=lTW@qZ`;$&uI`_Ina*b1JRnV5<Azc(zb?5rIB2Sa^uj#Th_@Gq?zm*C}y01GDv z7ZWklKa1Fo82+CpGYcmh7stOCJ2Th67zgu*AIm@Mf8=to{y*Z_x&L?EKRF!i#7wDv zZ{R54+^KPI;N$??KZX8z^FPXQu(E!H{Rd<IH)H4I{&&l)T>ol?jfsWzKkKov{db(v z|2mkBgZ*F4uyHZ5{AV&dGxxt4JM+H|;pAjvN=<qP7e`>><m6z1r=Sp5lz{&)1`kP0 delta 127694 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�s`O~3EV5a}zFjpF(TnY3FRRi-psviR4 z^$K(R*WAb{MD2by^xuZvf75ir{=B_V)1OoT;|0XV6N_lQ0*Zuu!T{`zx-@QNLLEi# z&Z$dN%PY+dj!XcbT*>26vV_Cx@=0&jYB*L_?$U1U9fwf6w`V-+*4QX+@>Cq~*DG^) z?{3x_BTdpB23=IzG2_gTWgYr_@6bAB2m$rF`yMv~yslY^vrHge(PhW6o0G{4T{{Ss z`vm=N5e!LX!fUuEWpYeRKL<-Y7;2bhEc@!m{dBOFX;=#zp;wNdAjd)7<C`SSbIB|X zlm6RT@m|mNVs7qns#0+OpD|D%*vOgr<4i4lpnNO@c<l=KLE0mi**i|OJc$0jo){`; z+RtjjE1j$Pd-q{I@sM>jns}kXVd`Wgdr9HSq-BBVSyTDV52|wKMAF)k_%&NJMr!t4 zzkBC*O$phW8QY57mG+_DbxSG}{Jtziw;$=L+WZ<2){m{Ir7Zdqpj-Puj?;zX3T<nD z)xiQv)vBv>p<wz$%VgwB`gBsT%6iFh);`J+-XyTnW&1vUZmA{SF8#~TO4@Zpk`E-6 zCHwvk_X9NinJ|4ngrm<UD^3VlY`sPlX_5U79#T%R>8f0ecaDx$$*qyq%8vF7X62); z8&A!~Yv=LN4%A(@dB0j<H0dua)Lug;t+S<8^d5GOs?JXGm&jqw+p<RX*U4Y~DQllb z^g_SI=;q|0RR&g0Sqn@LcFJ?c7=RQ6!nkS?j?H6=1LoVHt+u`{ox3;+nc*C?Lr!-$ zBj4*<jZ*`3QDLPY+<x$EN(vgY`aGf_ZHv9|)HP)RI60ZOm^g7jF223sq1ek^#C2<8 z-gO?C_c9K>BUFNVuh!y!fCu`^fZ4V5i1(WxCK?sE<=YA$f!bnSzBwLC6LG$JvV+T2 zHaBLseqYn0NbN1JTI4D@d|@4paT@}&7rI;-I+I5PC!=)rt1hv;ZnOoR<VN~^1Yow- z+d1_*68AMKaH@vDMmp2zYb#>ufn^8&qZ{2W+0%HxgtTkIag6oc{#B&QS<RQFu5~|H z=`-Y0yn~TS4_lL!6Fvxw!UjZgW6HGrS|>Rt%bnG}?y4AxP&=61)b>GwPobp@t!e-y zK%re+29`cy^+zP%lzC#Lp@*#*=Jo@Q9Q{Vk4hzP#+5!kLJ~s;~su(M_U1-=86e7Dx zY^rQz$$_8K0O6=W6dou0q>Q~QzB2wNairmL@?OYJ3>%MPK$=v1`Wgdon~k?e_}El? z7oSUt*IDWO3e4E$wucSK+aVFsr2uu@Y~hqNdBviW!yk?VVXSWg{lcws=Y?X5ORe^< zwb1Fm$;^wuSo>2(CG++^zF?YB<bR>wLr$E>#ccWx(=_Pay)-$UDxF|+R^F?e%*KXk z$?9InWI4`tYbZG-`XqIBA7QA@OLVmIu8PqRyas+#ZBq)P#A)$WBTUU0<;jj)l+?)E zMk%y+OsFTjti3dcNFZ=!Z-Ks3zJAk_K6dUg9pII~zC!n|D}5gDc)~0|JI7ZcYYJCM zLq8hrAmnRmz#Im5ENA<6cGP1Ky=oUh$54ysBkrgbeC_jSx=_h9ghphGYC%%C+pnK$ zjs?<syYJ-uniI!vwH{VKM#*eVDqL=6Ye?tBOIVN%nYr6GMv(*44>7mgS~4&gNk%vh zLA`2$qYW+r0rj}R%DAua;eEh6J`!;F(23_0F{1zQft%p(|0;gV4;}UwvtUIhY!G)_ z2^*I#&|)BaOKA6Yx+gF(Xt!}1_%-HM>ppc2EVh6QbaiU0xy$_H;W&0{Hx0u*o(vJW zC;ZqbyG&x0;eJ43NXP^}-gaA~7W`wd{x}D*rcKCrfoqFqQhMN2R~jxlsMpXu3zmPh zL9qS-8KcQ_q5-uQuSXZds&Gi53L0-sL?g<{LBA2Y?ou;p4a?JAb~P!!2U)2&kM{%v z8rx-+W;;kjmf*T;D)<D6U+3)U*^&J<Ne-pD__sjT?Zu4uVEP|KxUIoMoRj?Vz1%K6 ztP7uCi5GTc0lgto-15;*kk^h<!x-h3Jh~xAJz`B^(wx~5yYv@h@P*As$)D=7p5U;l z>k8w`GLE(MX1*cp*t^#i6QOR>kWIkugChyevP?VU{Xxxa%JOegibkEJNGc6GMvmv& z8L>!{IHpk-x=AJ=6^#Z@PswHqJZL6g&2wj3b;Pt99)->TX^*$2D~XUHlQd);Ul9o- z@xC)wE@>n(qh5eP3DbcNdHL8JW(;_Hl+sxuH~}!$C|Ur?>#SG(CVZZX^$uCFGV(Oj z&PUX`FXd1U38RMOR06OcEs{wJ1F~~F*-dvRrZoGPtL_IdgXJ9rB658d<u*8nDfWWA zV<B<AcP1n*2TC3bWz;rGbUh48z<RWLY1r3L3Xflb%2aO8Em%g$HM&W3Vz@1wt;}zk zpNJleS_=FhD55bZcq9Zr5Q%xZ93<f~_%hnM-HvJXr8W@H8z-+0jN;^Qgu83SB<{SU zi?*J?JK!7G`>H|edO?&}t-$xhFUuf1XLJQ7bEiT3=2$Eaiis#U`z)KiD#vT+AwG@9 z@7?v1;!z*4Is{7%af{=l=mXu21Jp5Ut53I!imQ|(tkA(<o-WejcD^jI&yLMCN_J@k z=(XOYZ+KSe_cL40$)FS*ZNR0blOlJ|9@}SLPe}kvP|Oyvp>zayI|8N)x9GF@Hwc_* zIQlI&;84QT+pKg~C%PssnbDtkrkb<lE3m8jX+5j9AR8U*;+13UQ@s|r_MY8`3~ZLw zGItb~N880Hl<;xVBHs@uhl!6_hL%SAxMH|nVb!?gA(g!CMYby>m&Jby5~Wn8wb@N& z%FhCEFIgtI)r{tJU^N0Jy9G3Pb|)Z0EU}&%HEqMYu&2$haSOGpu<i{IaRY1~{hsQ6 z+vRF^tO;2K@^6@Zp%|De>tkE(7UnKn$618P%kwIJUHO%DJnZ~ELG|gt)oL*w9jAaP zP_%~~s&V|(xU&w-OJ6L5cL1ek1YzZgnP3I(XlePt3;SI?Qrcas6OBwzu4c-A%~Q{! z23&DqxPcS4mJ^h$S?a{_XziQ_6NJa!o=x|r3X3T@+&gU6bZV?-t+~yGE|f(*<NYG! zr7b!{QqZffnKY-xnZdHa%R5&zSETwoWB*#$y2U_m+11Prpfyf?!W30tU*qUqdYc5& z-rbM!*ZxTjA7&JVEb=vq;ZuJmftPNyn!nbK`n~0@L<pL&tgZ2ur`%_H>~am<ziU7E z%o)}KRI2*IBL2g58Lp)b3z@sFXzJ-VN%llDOdLge+Es4CFn~dyfD!czl2)5HZ%4W& zRX8uqnz&JyWmvTNU?tcVI7JUTVCew=6e+&-k_(2~3Q6=F2sDw4rTRlmhocfT)YPOz zXllCNGLhM4Dif)KrRIvo8x?P<iBqxb@=TiB#BKkJ{iyG84&q5p>AzeHbDD&!QY<H~ zw@+{7`N)EOXUa!~K{UrBZla_2S3dQQoltnb3lO5US+!j;?aHiyUI-7PRBQkO8kK*& zI1H!k|MdSOnLv`?VorJXUS{c3)}elM`+C6h_3Tgv7|ZsJY7}qFXz-9U&_f^;yBawc zAAa|IlA9oh>lB*7hy4<2p2UQ3%LhjUXJYVo7ep$oBGDGBf%zgvcIpm`4>TXEr#cwg z8;*ne?qo~*fa2<-ngPqWf-?nnp}FW;xWB$WuA$-lI<A|XMFNtFgoF>`AmQJkeD!_) z%b}wD6K*K|72yHWYZQe+_WWb3+~`hmCYy&?d&y*waUG4|Ao}OUy0C)7>YDo-YuzCy zHLBYW+x7GC`E`s2uAtgu?E7xMX=cafr7(X)8Zqc{BMcb|ldM`2l=o>MfkmOV?Lkgo zMvYUf4<-U_O-OFT9~+Xk^h3@&8OKs_{n|k<v%aZcD7y`R$1Y$6^~$K=$CoV-7SJ)E zmfv!>&?;z-;P!j1xfWoE$qDUKEspeDAVnZ>9o2pw^UHAyi;TR9Z<=GlgH``gv8z(! z@0e#zJ^u0RU!A2QgCQva91jgQ*H6h1BcgM-ChtSmTYY)4QZ&<yxabKe$M09O8-km$ zZ{NMb_!d9o0PFLwA$s&MOwsPS^3mboi5YL<WU<%u{2D_wD?veB5%ICKhBtHgxd_@` zgU}f-=*X3A1XwuU?`=SBIul?#)eOb2?Fm`hG*p}{_v##b#k9u;T7XOnm9V-inOi$g zqEE?o9D==CY}#J=a;UT}yhv7YuO2e{L}gqZE0aze{%8yjlfqDs8Lc4Rq0d0@MGI66 z%2RH&O<;40d}!{_Jnv?XIW0HMp5X0z!Jrt_%{d-d+2`ca@;64a3UP)o;ngK0rcfYq z^{Ko=Jqff~`)$_;beih*7BWS-m732a2vTomKH`=iUgvT+aMC!wM96L0J|Q-xvO#WI z8sRmP{=q15_8aV0FDV@=$7`H=_m+QG$$TT<-$5?QT=~M+R=iNuu*^PER=wf3`Ux=e zc5t+6YW;aQWTQrKy@Ix3-R1R$Jqg~e?g9M3Hi*tlDBUI%m~O<of|s!vy<KuUA1!$| z9;@ZN)oyorcLefT>X}eHpA}14LP3sOJCu_ZXPFfFiZgII%?UA0b0~pP4~_?5XVe&N z!d_CherkUf+!f-v;Mmo&FkHL8d>iPBf~~`Q&#RM4SPTV`AYpNjBzI^CcayzVL5=FC z+~Mo|qabJnEY56o40W!i=3QRwC7euncMc=UxN&yhCmmzlQdHZcl|>oHm{43Nk3eQj zGH~wFtV8}8-e-77O-lT7l2KU!HdP!k+UTBaVY6pD)CqV6;Zu=twb%!K4MVv1T0vkO z({&T7-Mw1iSET7s@s13aGmWaRx5LA8cx<oCv8>7gwS?!>wtru-P#<A4dk<O>$aaTr zol`%BE#tQFLe}0ZBb4`01PVSNkdaiouuS`2gC<AG-br0fVrxq2(LO2QI4G-!=sjkg z#8=}pd-L8EMi@I{m~OL{@{k80cT!P;J{LON85uCKRE@(RcT!gBGZ$?ov5k6buBm4? zkBqSbZJ32SMz>Z7qP1jLG}B~vJ-|Q<`_6Ac2D0a5lPXwx^>#>!bn|<L!Z(UIEY!K! z@i=kgyPnj~@?1Cj7PhDi&x_o5ErrV95LCGJ4Ng%KF@i}O-)O(rl#*x`$8=|A$5$|& z9w$eOOD&@$=J1VEG@H^J(iHRMJ2Hx>KgAb;)?NtAu>9FI1WOxLwYrq$kqtl?RqXPH z)et?<T?jI2{u~2CNE2|6_0?L3)-91fMmbToY`H2M?%{z7WemvWrLCo`?iykP<HaIH zF!SN@ZHf|~a$ZvX(4<pTI&Qw{Nz{S3c;fKkO8Q~6vov|LlE&P!Fm(G8<2ei@b7xba z*75$RIQC*hM|jGbeGEK-jj=vwa)V^gdKRSh$mg3W?S-brQ~`_o6jZ1j!a>UOek%2m zi^^_Ie~T0==Xg}+RQJgAmClxVrVtVg!I`rQPTEQQFzpH?`w@&&J)$yx@aRHw%i+0} zAsl}|HHxyj+0y(YTeX(CoTiMbl$#w;e<%!R6gkH*+;V{}nW0-)Ntp;s^&XnOea*W| z=W6a`XqZ?EhBS38B>Rs33E;pa>S7~0ZqF;bnqgzq3kY#zjmV0x?gsV9DZ|}{AJ|J} zDI)T-sDB9$aN{Q&7izAO(6Gl7iT_!4B#fGkQ$|(7PxX6EU~{M-_pCi|Pq7S$mMDt( z^Knk)PK99%Pujrn%O4`-^b7~lgpYdd2yip4e6Q1aT?tOCk@Is#E1Pnbj?4M99i)|K zX+||Q1+Od3<~~rGmn<`l5Tb%!*`^acPjw?<#sNBQ{=-?Tnqj)*wT<ep=06jV#b&j# zx#QBjRx3&+U)H^=`W?>$S(P|&%cSXf3U4Rn#&Cos7!ki~XU33o6`9W!{O7^pZCRS@ znNjwYlGd5yg!ihRBn#VL4Zd9w?Zqml)&+C3$ujO!4^WBGn&{Mf8t?&F?0fco9LUIq zYKX_8kwIj2jSh;M2cml7@|)_Ez@6sZ8e=(zBW2~NO8&uVBvSYAVdP{W`YBa<=%M2S z=(X)AcPlSG)Z)#ZZNwW<9q&+BVS6NJ;fBQKKd+aCssP5BLBu2nW(pTR>Gg$yGx}>< zsSLrXaaX5`ns8fsTI;k(KEaVnq2=zl%YnuN07t~C5T4uV`TQ;VQ6rqbKaZ<n)zF_r z6lTZ9Gwt8@+U&ss`Rz~On0w6N>v%h4`B_>R<4iyrN-PMnGm+5F({Z_Mqb#nZCG(F{ z+PN8WeS=V$<mZ;u??HNUei+xx)D}4T!0T{v{Z4JWLE1fv+y|;V1Hjb+1Cp>cv;J75 zl3&mfk*@<c%%V7DPt#6)yC<1jm3<9|1y#JFIgioPFCFLfG-ofM%KODUIez|Dy*MOF z5ncFRU6r^J=DU-idoPV32|BUk#zbl^UHz|gkP{a_Z``>wxPo#fQj6nswI{Zb&*O^D zI@YZ=;juDqpum$Wq}b%mF>eXSi#4JAcNPA((c0fxOMh40eS<ab^k4t41pc4$ce$%B zP+EB^5VOjoD#Py5EHCMbG{1GBPXk`lVt2$yeA{GllDUZ3j?NMvE{#8zY+^DwHtUHq z%t*v(MKGLR5+TruhvY31Sx&7H-yP+)enZ!%IRjf{MPqZmKjM5M#}EW{!n{OB4o5i5 z{}xy`K@9Q`L5$KbLa*{~+3klnHtCC|W6@0Z5mAt1M`OX=*awN9G88E{_Skj!s)T>S zNJiuAU4O}J6BB<x%$`EmZQ#)^K|F08&gOd$ny6!c_c_VUHcPn}WO{R`PArznFtN$} zy2j>X!2&yi^!t;v;jVjsc|AY)rA66gODRyt!tqbU*$e<&GjW3Cu<Cd#hP1d#{D+E8 zRFqw0)Mj`7*gZbT4Uuym4jtAbNVi}B+QVkR_>?H%*=&0`0`qT=Ej)QjQvaB?8lyiV zRD#!{2Z6Dyj`MYL8~rxek~o7>BM%4D+}As{j!l7Tathj{*Y+2=b=2ay0_!bUV-3)a z%Babiw(cLu2GY&ueTR<bAL&~e4M+IOJH;v?!|ZN25?@P%?@@in`eaj>V@D0w*9GN* zR!o<h`mq*_hUkI!7Q7NU@&IK1&*kYrEjbfO>MI6zLESO6=Fgq&Nzs82m}YXJwjj?y zuVsH|Y}|K>&;d1Qk`MkiFz3O4tSVrH?K(_@2^akS`whl;R0K7gyhKgh8`CqE77f9I zWV`%lAyx*GAm(p!rk2Xzm+%9iU7%57+9*z}v_&i+M^DpdbWnw4Tz!f+@~3))B@jgv zD8>_7t+zZb^OMC4(HqkmLEk74u$=Q4@^5+g_$hG!^kd_Zr_)qWbv_|h4}Kv2Y2v=( zBLkf5fMt}Y`foVa+uFu8kp1*ekwE|M1xu0)7^`k?1f@E_I-WV8V*`qSvjw0Rg=>a~ z;M-tR{V7;DlYhvF1yzX7$T8A#REff)U{YZ{+PnIiIs5E<*%|B!hFO_&Nk8ge>1jpp zefqaY$1+LkMBkH}BN!T2judELxjFn3NjqCPL<LZdc;1$>l<yS);jN1BJ`2NY4uKFj zw}7Vc{AQ*!=^q1wxE75ujtfuL0CGF5>7(pKP%_3<I=@R7CAe#0aT&DhWzS1oz$wi^ zkJfmt#5Ur}Xx$rX==|obJiZ5k48jmgf2TO_&g0L6DH1e%yXImEWe-GUlQ<N+OICB) zD3mk{#NF2a4aW-;3IH$<eJFE=2w8zSfr7}AHfCp`$3t}*7pCr9K7+^`Ha3cgW4kkY z$KqtjQ>!d)bJ~A^NDBVtAb?q*zv40yu9Bl?*@sCmccFjaP?UMJgf=9chQffk^##cV zc{cPy>EtER<CPh{rvcJZWrelgoiD+9eEEj>Vs}k3TcnTp(B^d~6?aw;jp*`9NTdEt zQk*u7@bnP*3xf!DGnqvKaxIsP`mceV_m&d{!sr33oqhIGE65CF5brcBM*O#O!~B0c zO>x9yYG8-p!8&A&M!Jf7BY1_$h01>ZHZZR@ZwiGIMv;zmTLKypH<}+sEyfX&T4#B3 zPUXD#Z7fnt(>9jElFNlmuc{p4=-2So(xBiPv_fp&Meu=dGbtmC`k#Yl=t|6l;e5Xe zOssSux~MRcU{+9)&nEyPqh8=APg~#kr-oD-AWVTrt5U7pqn8j*vK@7j+Fl-AZ3J5} z+<Jf$>3MK{MBom=#>BD8H1Bblc_0X8+h=}JN0v85xN@a}3gb7%hm0ccZiz&oW{c8p zI3W3w#FN20V=&bU712+hcT}#<zpTA+H&NV9Ar_dCll=r39B4oH4=l<M>`lhY&N(Pr z7-(1e_L7h`Y-d$qnDm;%npL-uj=qch(PeJ}KLB6G3)Fwvs(E>k*_+@WLv)Q`CE5dP z2HIp~2)(sT_=mPv*~rQe#^owm=P=pwG4A+miVVtOaYfK@m2ltedIvCrKE2Wu0RPd! z>-Yo)$VWT*i#oH6Ubn73B^NsgG^}d;o^<GFaKw>ZQhX)=A3?6g$~_bJji-O-cgga~ zXqCFbfV}j6RuI@`xZpbS`UOc@y_c#|7cdj}`mk{2vG63{_-4uU7P!j1P@LlUm%XG{ zjDhpm>U2n~Pqa5CCDGK2K$R}>_3Cl#kVp)UzciMKm9TeUk{Zk2j@P2(JbE}vF<|ZQ zyhU(`LCnje>#$zpJ-HhWr?BJkNXUPqgThnpfGCysu#i$Xhw2%O7Pej0(Y{F94ZnSJ zI;M9IR%eL|1kuLK#<7hT^g-4iK>VE(|Ir-ZP;KMRyu*=*Ml1x8=f~J0Ok?Le`6zS% zLZnL7@4A7gT{%a_9&^mvKEWh|jEfi}J%FFiVTO?Mc~mi27qjx3?!?#k-M>|aB@9WK zfU0sN;4UJ*N9Ki_3l#?TqC_!?G4t1wFulDJFK^LTK24E_IAg&-Plpkbi!X%xwL^{7 zPzN4K6jsH;`&|+^EDm|D;ilgS^x+xOjOh@VB+9_8;!)SoHn18f96P>Bg9_QA{(XGO z7nz^%Og*}+sNJH@{L2c9F!Tt!s@+S6fC_s6gqWjMo!&&Y<0dh%)rvz?n_i>|tZ3s- zGmUs-pHS6KG-B^@H6(-Z@WfC%1+Z=acvE``B#Zy`{a`itb4)w5s1vdvT_iN4I4ax# zi<MKr7i_=R?dKo-nDfl7UXj5Y8RzpHrG?sXcX}Z%btpi)ZtrM@-+C*i3H?YJP-O$_ zin?0TJvKo15I5?Zw3128hYn`eb2fs3l3}+R1V(fV^*86HcfUG>9n1%$ujGS;<Le1A zu80{I5Q4!y4__pURADVmAA{aR8kMbbBTzD4)xLVyGmGXI?-E56G{SMXlyC{9nS$h( zh5Y<@ZQ=UU!Tch;(AYTTp;Rg{u(xD<d^}ypBK2X%5sc~JCx&V~dD*W#|9roun;&<) zlM6B%7t3qOsAO+<aX=C2B-b#}?F_&lVUz}vnh<?**mDetBTR3=WE_2!!`3UTm;C`M z7fL_X{#wv-Hd+&gW>gH!dB@@-{z#W|vonUG8e9qYKv?3if#t`@jQq?ukX(*7wfJ-C zP7B^!5@Ge(JNu7Fgm0(|NFR*eBB@Ci4CuwvE6IbgK>}HLy1O3yu<=Pz*5^d%#%xum z+l&~ZG=OjEbu<mE5)p)9=`^5Cf@AMw+iABKN%8}+3QNEXpy8M&Y-(V=OF3|31WGbZ z6)qP9^^0anZ6=byUo@Zucvx$zE~K5KmdOBe{|NYpK!jA@G>>h$G6!kUKlu*d2xYQC zMj0o|Q#*{Gn_ny3;WxW4gA+>@<Nu{{76oY7nh*!?@2x6d|MP?MFLLWa()r%1YdaE6 z#K_!e-t_EN2M?4TL;MW^NVOqGscKD=jSCT&YEEVwSm>w^suAD~7}6La-`)$t0xgl; zu4DP_h3x<tdVn4ZeE=E=xYSF1z<j<>Sk&cUMem3|l$N%ao%K-Q^rrn<s^wib=xu!i zOB9dT6bSxvl7BMgxnbAZY;ab}9LTuWh?m)y$Br`Ijg~S1ds|IhT%~A2-45e_r?-nA zWxGk+acE##rgIAd#D6(9iPy^(CfJm;?oT<DXJ{bBS(2oFI^4(&Re?D+2?>e>q=l&C z)xXyUeFyTmVGqX%9#`oUN0%p6&<6+#MJE0p(*3OfrG00w8~X)HJ4;K$3QmtuqZtu& zK(-0sNf@`7ZgO&dVQmIcjU|;F^JLsOA~&PIh<|xg%rNQ!!o6)c1;TK2zF<fcCGuD{ zn{e+5|0C|wBW~7uJ;EfgfAnK0DRqERBC?|!9iRvhX=lhOf*d>-M`ht#!KCa~1w0zV zrHvQvBzh8x->8Upj6naP8_*`5KrlbpE!HhG?^i?wp<Y|58$S+YQJdde8VtdBai&)N zrH|R*2w-gmiXNc`(|rhBj+MM$c{v0YG4$XejF-@%xJU*uGiV);3bM;~Km2t_OaZEA zW)FBp<Pa_jz1?+Y%BLmh(wIbY&XUm>xo}H>=~WUQ4HN_)$s~I~&PGzGcKFrWIULm# z+$8_9x9stkXYfwt0lPUU`FGb<vJT6i#*0A1ohnZOS<?$Oa^D;%*K0A<J9rEv>|*A! zjU}NhefN>lzhNOz$0i5@>E&t&{M=InuMjtc9?{2H6o-vb{t}J;80s-x{f$_62{}xr z%%}TJZUDc8n<KNJ?WAb>3Cxg6*xg)VCbdMO{+d**E#%~BycDp#(ctarUk0m=Q1L7X z-3C(w7G%98DCjcYnVl*p!o1@KTZBctjRz(fD3URdEvB(>c{g8zF#i&puAn%8<Tt2V zfy{_pjbr!Iu_~z077`NJ&CZ%%!=>oteV;ZJr*p;_qr^awhq*s_+`|_uK;3&~1!Fl9 zld>g?&z%lS36-~+@UV$Z!Fp?M{G3GT*F$Om9!B>~^|}~47?y>Hf%0JyEij#ylQ$uD z$D`z(weyK_r)GqH7<Qs8a3?cGm9E39IIzN?DHtMq3^P-rlRs?~8t0UoK0_G;G<w)m z3v&Z0nP87?9Pq&g(wNYh!c1CZBnIz{eqHF&siMxj78E_V%bDDgG~Mi=6+oeGDoE-9 zT|{ZB7FOZ7KYMT|)5U9{tgz4e<Zy(<SIJcLSsnOgGMjxr*bI{idL_^?*gUD}eA-=5 zQEhC<Na*4<;;R^GNCtq>oChNi`%cHxG+{!WVvjc1Q>bmAg*fKDEhhT}mfORWKdGt1 zP!E=&a&&m&g>F*JlEJm?1Up^f?Y;GYtY-I{FZQaBpv3t7oNi6Q<I^_f6nlWdEPG>u zgFJdimFfUsrG_?yAA;>{kw{uCq^*U28uw>QA$Y7|0eQxichHbSDh`90@go^hA{y$L zY+iKfi}GSIM*oF4Z`x$V6kf>uDlnk?^Lx+jQ4!W(U2H#Pft&K>e<bif^#74xo+Y7w z<M$wk_@hq%FtpCOEwP`E$kFKszw}-BbeuJzt}b=Zy6+oxvl;-Y4$+D3(-2EmwQ}mI z2bCqiq+J`b$OK&!OGPwkiBZNo&zDot_`C;AO*GWU76QpMBn3=`3@(7<!;QjSL&b_n z1?Lm2!rOhiBW9AC0X{fn)wf6?*F`epgYcFl!2(q&zm{`fvz06@!L9zBZLA=UJ&Ku; zyeJitDKB@H%!nw=PBBLei}nKDv{j1Vj3Dx}uVxT`Pj0bC#NUqBk)yg;>E9osf0rqM z2myieDEJDI^rZ(7t$e`eM?eIvqZXe@0{1$KFDJI#TGt=%kYz~d3y^Av9qIW++A~6? zf*$s3xl-gu)E0_VQn*P!S)``QSaOf=x!>M7H1}0Gj?wc+HlezJid%SO_nJ38)Idc& zpj?gyr|93*y&eM7x<~_AUsB8~x`(nAmDO`6PBIE1CX1fK$z33~LJ#y~2ppNT`!Mvq z!NO5#unZ2xnskB)XJJDU)#}>b#bfbH`N;gBdE<5VNk)@6rVZukiti<_A5KFRpF&k~ zSmW(EZ2KTq<<<0UzAla(d{b8vwQYD=T0q5!wu|4QhwG<OJ6$tibt$)*<>EF7p+1_) zD(;V#Wtg!vrvtEf%QqumT+U1?V@n3zVYz@!$PJ&vWhkBfn;?L*6-0BO{W5xAxtwgK z1ia%X|MscSuXuJp`6*Rz7yGUl8Z3u}ADqn<7l*a>qL5ZOXxndhfq;u_5<qe7i*Ct} z2bVnIs|abM$JZ6-J(9)(LFUsip|jHSDCOr<8{a6WOg!LsU~cf|(CYSO#L=Vtckze| zNEdX}^9_xz<XF8;XEs81r{@F`Ru{|9CCmb13hvFwPYR@3;=h7^Z&g2b%lcmGeyhR_ z(c>>G6Yt?Wt6M?lX2oIeuJ_C6aubE-IdYiTpcJvSDvd21(ru?i>!XSnM;wn-|CZEa zmK%3ubt4Cgm{~UpDRI7V4)xyFin3J_F4@Hjrhcysb3`m2Z(S5_iI;vBmD|aoatH1^ z{e(QWQMzMl4Th@qwGcyTia|^-A-24`fWis>@$bMaP?;fxbV%cv6df&bjp3*rVc)1< zj2NpvmPV!xBtg!U%9Vu(`r-pkt~kFPel0k_HAMjxJFK1Nv4eEO+-pSeD4}BooCIhc zzI^L>Ns#R1e&gEkt}0S@fLX%&^r0;@c7C$V#$z;VGf2_0TT%EK=|Qn7H8Pl=T7>is z3&HD4RVxH2cukE2>-2F(cWRw1!QR7(cQ%r4i(~VR**h}dX3d&4!EXQBBP*X#E|;wB zBI^dKh2)1wB!=vn9ph)~K0`-rt$DNfc-|*YAk|lw()JVI;fSMag-tQe*O#qz6-#+I zfGHr#_X)7{$ZW!kfE||Y&5%98Dh!4dQ2i=f@?#QjNG_HgiJOi~SBchg?<dT)W}&!T zI@<Y_#|Y59P_w~ir!RzxSu<7gh_&fsdEo=9w_|0n-D9c&I8YDRa#|I_OM0?{v3#N@ zhEMo@CL*fKr%S&pQ)9L-!k4db{}_}P49XxIRz_YXp-rC0YERH8wK~zFH8Rjqj}_Z2 zJEvL;vuNUP=TbBaDwjv#%_SV&D60b8S7_lGLY5SXz*gTJv{HGWO2QV0Pu%_XdoltZ z@`Q>H`Yt1`J}m}gNB^7H{8mLz7LQ7G)chr58XZVm3HOw6Da@k(fQ)!r)X6S~&dqHV zy>VTJ6@eVFX8M`Yp)FmwBUM_eQ2x=_WPUAY+M&tC_;fUZ(R;rzH{#_=St6k7TpoB| zU;;}q+U)1zN+IH1H4ouybACCfnWG03MYfOgUI<lJOG)b5+?yyIIjjw!+j_a;9~|+K zMrcFRo!4fQua_`*<;6Eo&ES0$vpxIkN)JYd<8j0H%P2DHTVw;TW?inlZq34Y1<6ka z`r>c#R_3@f6n+J}2v5Ic*(XpZTB^%&y7df(45~9&EO=SXA`CvuO)BO94B8loqD>JY zJG|5y0|TWTbhY?`UA1<)JuVwbKEW40eJD(o!|=PF1Px#Z$Ll><`uQtiJVb{Q(pTCS z^RLPm!T^hYx6j7Cy73-emstl@zAHX<ocOrs)Q;4JK7ghS0WuTb6Cm2uoc7Hp5VY*Z zC<|V3A0V!r;L{Z^@=Ib?k3=4Lbj99-7Nn07JRx{GO2)?AH_{X6OR9fzi&qaBYv6^L zLCM7t1-0Sr6jp|H3H3t}+il0fPQv|y!y=wc<>;0I+Sg|FP^f7E)i{S$|5GMo5!7O6 z{(dd<Ul0}6{yDlXVqN-Qk&U4Chm1rLqF)~4eHmTm&@{A8yJoBe>YOY<necVuk>J#y zX+u)bz%J)iN(g>DPO~@LwAI5t!Jh`+oU)t5`s^&umt713w}1MM1m*gxqJ+p4XajK~ zNtn$EyY|&S+OIi7yW;vh7WYSc3PD)k2m*dzZ|J+x7;<A>rU@I&bh`ianH=uqOrXfK zIHp@f*riEk)=Wsu+<U18mKol)U7Rqa+6~c{@I*_EG}rKh(*{;XbijpyXr~vAEZmTl zT6e9n80pD{-&Q~sPz*~bsZ3!WB0E*YG>c!D4lfc8fB%sy2AMG;MfA!&+_xA<4K6?3 z{?TE$8Zusq-_0b7Cf63hYS-@RNqRKj(H)%w%0h?aDoWh2h=y7N+*pBo&*{C87)%;q zKBd8!;)WF1`BHG+pf`zSmt7Cge$ZD`^ds18rH2jjnqjoES&{?RJt3tVXs5FXoEHDF zzk6%LUpZo_Bu_saIPPFC2`8S$zGzICzm_(bZokS|dd)k^j%h&nrSEL?LwtvTE*pj( zhD<G0y={09*OA5$DF2e#vJzHq!yep>%Rh?fyWrz9oRm@J0Sd~{A+<E=I7;?OMSoa3 z#b33{+>>04C{6s<Slux|sG2JWd1fIK$$j`%?jMkP15eQS81p)xX;0Ay+YnNdO=EYe zFswzFfib{BV8H&pZIygiaMdOaixv5ucXIFcflh<kB~JkjbPati<rvnO(&^hPGG2;G zE1T0QFbcnrlVxQ*<e3Q7exBzuS4r5BoeO*rELRmfShCN`;Bjj(`rSyE*iU~{`*XL- z;yKJ9lF|+enOrU}F1FM<yV{5QW2aF=hGgC#)@4Sa<EyJgf`H1m#@?kzB=N!ASxq0R zyETD|PM=K?h+Yn``7j+|K#Vbmy`UdudW}5nF(^3t*yuFqWrDXM6KtyvW_<xMW$sk& z>JVAxq=AUljN)4`lX9ppY|He<lXt-|E#6YeoPrk8`p3U{3|_U`(Kv-?AK;JbAaw2@ zGP9T;jX#EjNUVg({qj%H%hyZ>SqZ1gUgm)A*aoEn@}aX|v-gUK{xC)C4@w<fCAfPZ zktg3ZGuKW9S8t2#(SQ_D=ZeazxyxBTsFLeL1WkD|81g99keAYzu5QvgByZ&)IAmn7 z%qHPM1X^@+g;#7b_Mh0k*t)`0>I_Bd-1-2%C6&a?3>Pm<^d)$a=s{_oVR493(Zo~5 zId9H^GGAL#i&csN9iEOfD1vW(U|pfXNs~qfNF*5FX1~_J*_0QrP);s0g=!>q^=08z zmdPP^ZL6ux9BYnSZ#N4T6r#){6u~zM_NhrBmQ%7wQI+9x5Dz=+^oFYYt4zcYaKBP= zAzct4k2j$>>X9ZJj>d&Yzg`vko6)=Lu&3C8?Aj1f+QM8ceFeB*T8IIg_)rrP(J0@b zLaUi~fMbD|i3XFc58UP-XMysz#4o5YwvJfbe~(WZ2Y%I{qlw5X-J&sZq?#5q6sscy zaq~@B@Vhsj0=7D>C2>L`W4@qCGO|+yLY<|q48YK{iZrZv%bwcxc7{)U9iokY1w%Ii z1)zC$3?*|ZEP1XM;@&eWh0nXHqQSf1Iy^h8oOhYtg*CW}S{P%XSdORK-b<(O^y^u4 zb3{`&jCIm+=nm|2WrR`&Y=N;0cUd+kFj1a&{#sGbQk$nxMx9q<XER2BA{R`R$DOha zsboLS$V<!*lVKhu@G<rzKGeIur*A=lwjFkTe~Z9u_`6)3QhRWdKO!vL;m>(S9);z; zVJz<RX%Ao#?l@KHWgJMsK_w(1-kn#xh)%niPHK=0MSfN(F*Z}T*dS2RXJ(?8;^dSc zxFj)m8w5@g8%dvAjzZJFHduL?TkC%Y6nf3uq7uDmiD6l|Gez+PSKGEH5}qCb4Jmw1 zf;r0Beh|GS*EFjKh^ZvOwXs78Y`gJx8ZyKr1iJ?kpiOPXc1+;XM#(vEV#r95PwG)# zq561KPIY&q$baUE@t?dD&`^wGv`-q7KlbP3#VU%kg|{fs&Sh8Q4f6zqRyAUb)`wwp zpL&PHcH}0FPr5^$?`sL)jut2YN3Ii+mzKu~N&HS5#Bpfo%(qV8hoK~jmezPyAUzf* zR1*#6pDiZosh{!2a?H=vR@-c;Y}Thx$Um)0%_4e(&09&t=@Conq)t{DKs!_e()e2H z!s5)`6y^`2H+MSswL6EMFl~#qPpRx@4c2us^kVs&G%?Cwm^#$|`qG61AHnh2TS&{x zxd;|MS2T^Yu37j}97s;4KFZoTNc7x?Jg=LeNB_;g<*=l~$P`3GwOScoRTWzcSVVO# z2)34Tg9e;ewD_fvmei7Q|2@Ob!T9ePF|$w=O`h`4)nJpn?h@QV9)RT+eaQE>vLL6Y zv+SM^DyP25?EjX)|Iq)B{MLIqyDy{~$XRZETF%U4oymvg1m)ah9|@hi6?$3nqRl`; zT~1v`AORIr?)anl1Y_G}tD~p`;0+eT#rf(=#~%vrJ)F7L6pXR!cdmdA`zQjt+asQ$ z8{f9XC%bQf#0SD*{h>!2WBQ|K2%g|4_UtLHlzWf&D-IkHEJZ<sKYW*l2>RYHq&$`& ziIv-pIl737$qKsBBc^%c>Ax5|$F9uZ|LbS#%(m^xw(Xj1+n;RPO?Fe0-DFSJ)Kq7f zY-9R=Z(O&p^}Dwp!Lin{_kO>2Xb0|&G`>{k@toWBx4IEGe3Jb;){dK>Vg~ea+TVX1 zy48|Cs~yCuW}l*$wCQeQcZ=CxadbZ|HkPp=zEm>q?2ni`nFBl{RQ2b<gWcEGLlat3 zupWN{guG#5It#<(pfo<2uV`^+8)?J9Il8`tnjD~8@!MSv0?)gAPXVO7%>ib%<^?k; zD2CFQkjt;~e6FFawnMDnydTC3Kiuj^isea@FJz@4=2$hnrs?L`$S;~9Zjcfs2Nvqz zEY$YdceD(7g@DlwV;zNJZY{SuMbgh8eCi^Z8>Bhs35r)c9sSLr{c#DlypR_0*JloD z4__#1c*4{N);mbSai67=$p0{PSxQjkwkY6F@0AkwY3P_g5VT)tczZ%eLS4}v+FxcR zPU|kBMG}Pzly4COyLM8MHsM;Nss6hEB}CuOV;6k1*924rM_Tw*A_hvVm1(+Kdp@Xr zd6j=C-m-&#_k`*wZ>sqQgNlUV!l6(3M6?7OcRoX0WeX&Nf;GF$H}2f<=gV=;sNKnN zFvoib0WnC2vcnvhy8zP5xnUcgZpICQ*jWt2@3;C7#iw_?;DGRHL|4xP(CqAp)fLjh z^gJI21+e1pJ#!mPtCrEVW`gcqNNvtcd<6~J5PHpEMgk=xh9-Hc;P!P$YT@q~uHKbf z9+bmUt8`Niy}<IoWu)Nxh@V;<PF95>ju_4X_ia6Pv~I%E6gyqP_XpDPa1-r#WT*J( zaT2efcAYO;bHg4(WNmU(;}6`Q6Dt`Z2EX_+{s94joI8{x5^G>r@4u+;&}Kqzm3jW~ zu)Uvb%{cQ=9C-(dYLE;A%_Lb~FIxw~B*cwohkay2W+bsUqHW`PhC<Z=9Zm~gTHDD7 z4h>QlI_>Jh1j@OWo1)(dQsp{-Y|ggDm46vf=mo{RLB5jHp?(E??_{q@qxk<jVvEjC zkOr8C?UNb)vl_L>=qVGWWauJ9TM^{v{P@T|AP1j^#~hmVz8n@Bfm3V3WA6(xJjTwb zLqt)7LyYd{BjB7EC*=2s?Zq}+a13c<l)Z|^qeJb^+n4V-67$_D(!UhKSo*C}$zrr@ zr}YkteB_{-ZzhkX&)6$-7=0zKqh`$f)(+rTW2)>?N`yGINCpYHNu~FeY4SY%4w3Yg z7YS{*bs@vO!SGNb<vk7%d5@xED}7&b-25}QIV5Xt_SnIV+?;89DNEX8xsu#v`>bDZ z^L83W(;&^n$N7vw;~0r5Qc0_1=jd@@CU1QyN!bXUgmp{cakhl&@MT}l<W?O_?GN-~ zYull(H=b%$$p(2Mx_P$w9TJ5;{~2rP2eA+S($5U4`*7>cxF*OBV!pIK3a^g+zH*R~ z>J%V46tQjvp|H0uZt7=U1nL-6r+$g}dAqO#K?12xGDjD@tKi4XZb^MZJAz&z3J2rA z>09tSd^MdhginDTVgmlaEm<F)4iQjTu2i^lP@oY=nx-`d!K)LW+h;!VZ-m<K+Dt;u z9-=l|{jMtKXzS>2DIj%>nYG1@_d88yqW4TKw{a=mE4(AQZFatYh}G{u@*dp(HfpJ$ z1R3O)q=@frfJ{KE@@%aP9T1~5xp1~sb5`Y<a4g~MUnsNYs|b%AY&&~MnFsV9?hio5 zwS6>KPy@e)vPp@Rlr}F+r7Fnu8p$PdxKW-1u@TI;<uj;~xAmu}21+>^0t#H2W&M76 ztRcn|I>i5e+d8;D<g3&hVP~Zp#{)QoXAQO($0(-rV-k5(W-Ul<M2_kd7vzNAPu`%5 zIm>N9+&S_{210}Xakf5`egQY1Nf40Pgo_Hn#`^dr+v2GU?YuMUz?z?}k7aAy&2jK6 z4E#Z-E!7&)pj%hqFY1aUd?!+;$p8WPh=ogYttK*jM5~=KEokNh`jA8<gm{i?$_Y4m zu@Wq|?(Tz|FFotNpkaP**hg>3=q7IFUzlLkP*Vvrm>0fVTl?j&U_fmge|pG~LW2D8 z^~c7g6gO&o?C!Kc#(cYm>o&fQlA5n+2RXVbR+@qQ33u%euXw=};xb3p-`HLYA_8~9 zLnube;mcl{?@8RjSB$(`=8lM$;Y~Vg{c`Y*lcHm^OoqJi(0IoJsxmkX_>0%f$8orL z3ePi3)&ZCrelQE+dw`;s)!K0}r;_nF@oNjDFoBF1_)B9|wP+Jno5|ur<4b)@2q_f< zi%Z_evu#Q1hYk<vKjWE&wyq@2O8VmHZ4|F9B!(_;muWc#lCjdpuMzh4KKs^tNGP(C zipEL71BcW0L6q>hqDK${dmc3lv^@3RZUWff5o7iLvz{QS(ts&Om`oZy99TEQ?w_cF zchCFPsA)2aX4C^+n}sU%7G2G$^NCIABr57@W$a5V^20a_20Yt*_%HA=JxnGQjVjXG zfpT&3j|QX6Zk>ovjaq3>#$8VraYz@|Df#V3Era+=fYOhSz~eBBv7@!B6hShRblB@@ zNf_)?gN}-rI{-lq0fH7nq1n?z)@7Z=)KNiU_?{L8bB%Q#NB_@vSKSD0eCw4et`e;; zO?zLph6RSzYZD1w;DTr(X`@Dv|F%yK3!Gkbvq@RE=jsX78><FI2xkYkA4Nc4+_H}S zJPRpT1>6oP9;HSFePU(u6C}F`#-KVNS5t)h`53)9y@3VA${yI@Z_$~#zx+-jl!8lm zr!U#cv7e7TE1`81pdnedCpO&bp|Vq;v5EBl{4LG@z%Ba*nW15o5Z5%CM>eKrGPyoA zJMX=R>YCtTQ$03SEY)2)Q*mbT%@JFGWaAR85qZwJz?|l$it>8NEn+;-RCSsI>?^47 z)AfTWt{eEkwT#VvcU}~!AUOE0<K)$Z0~WnP$JNK#OD%X}>J`z{bTg)45Mx))!^Fa9 zHy%RmpH;yUWA-J%o2Set&$(%yb>WyiA%x{hV0+f?b$f1U6P4@|H&6E!^;iu}#^!NQ zFPEO6s_wHW{A=R*xIs2YUpR)3V%$sSuI9eb#03-`xh`NzpbyfbSse9iHKq4DA^A2d zJ4i!=|CJjOYQv)OAap*2g8X@$k|zUP<DGxh_f#%@bsJmlpb*Su1g3OG^GJ&hE=dp{ z{2ceA=Bhh3rDOS2xu%9yaFXElky((|?sP(bOd{rCoX3^t78t-kUyL`oHDeqkXKF(0 za{`d{=3`aGXge`=GU96_&KumWouT_eA+77pEiWt*7pgq;7P?(2<)&E$S@=%yEDIVJ zS-7ldw?R+$Hdx`<;c^;ITz&NE4l3xNW{JW-nr*MnTdi5s>iKzVxo+j=Lc)JSjJH=7 zT~SW2aZS4MZt!nx%J^@Y{_6F$Uz?O4ECZxE$q7_nZ>m$wZ;plqOK;2O*_DECM!JNZ zDNjb{uu@yYtd4%#+T18}f~eD;p~CuOSjb;9*p0yU?6i>5ixKgGA<8W<ui@MJf1I?a zh$YXp8!IbK!qa+Qc8?j+DwlFiClGT%!;o$@<*4X4a)iI38{CT^Wa-wJh_M=>G60vH zI43R+czdK8Ro4FYafnn4Mk_Z+55HCC2pdjjGQ;OwDE|Glas>tG7L0^rFXu7=AEcnh zpG(+15~sE=n^6o73jeg}<SA8Pc;=2Hyy&qMIA(}rU8I#QDd<8A1UK!UTcCi#0m1Wm zo*0rG;pq(!IPW#3+?=CF1jIe42B?UV&}IXc|LhXK@{fJZ*sqzT(Gbu{{!_OP(|!HI z@F9-xycnq9HPc{8O1`Mr<P(oPQb(h8f*nN>+IVS6`4H*mtOS@7JDvZk%%gzRM@DWc z&CXM^Js?9fK!H{veW`wiFTe-cv(6jjpQNwd8=y93wcoAc#QpK<c1zB>1&VB-Vl%|m zi!hC!=h{h7iI*(4JBMuU|831rzbOvAqJ=WKEI_j{S@5uiQ1EwkFQB-^2a_F;p+1hs zSH#HLCONqNnj+RDpysZFGGMGO-gN9q`q%2L8DgHlkwC<VH;UmSU{T}EUTf&c)?7-} zAnXP`NfR`JH8o_H7)!N(1cdf(%JGd3RF4j8J7}Gq(uNpjx?_4>fo;D|hI;Eq9U+C! z{XB*_*jkylCDM>p1#-z{Kk<23(UMB*FwUEev@5p7Qj5|UeXNE0U8zp5uW<NSMLWZ? ze>+r2^fYqjBsW=WcaW>`GR-XiDOb_x(mhQMU^M3I)?2TP3tP$t0dp!iM_E_&lu(l( z@VjPFR-Ta=5gpVnT)m?E51TOR{Yw4vChF*?1)8{~9k@s>gkg#kkE6#DDf6}&_9}kJ z6QBBCEQ%omxGy7Tlgw?49{)0^8Yl9Lp^R3P@%y;4(<eY0T2#9{2=)0k2q|EApD%Q4 z`bBe`q@1J=vr8vO03!S3FBcq1!eMOBOddrZuvS;MGR`g6WoR}A`^~&iTEE_I#ZMxs zLS2m?kzHXV5yg2|cslkI2s&w~OD<4@6W8}__6-_m6KY?7aaXj6$^=M>dz21yzu=b% zt?(9cyM?z1m8e99F`blCk*^8%1`sPw)_~^v2wr)5|3K)k0M-*Sf0ovCBd=fgZc{5A z{iHFDV91nu{u@m{dh6V4<J8%;<i^7ix{rS4t0B5EKurU+!$O2@HR#jYZ^&$-RNZ1% zy&{iaX!Z<GZFEO@Xj!I5sBtcdt+5<n(Q-SgE>ytzZ+HvVcw=jyqJd)kt`{1(r6X+# z`O(Twy*}!kf%l~Dz5JP1+Lr#wdKb>K|4sh8qHX!dx)`g+LWbKM|7|Lu9;^8v;Mq66 z<!%95&0a3Ok1BrAfJ-lshQUnM*!r<(++57#S2G>4$fI95sM$`%e-2fpW_&dS2T-Uo zN=)O47TpV5@nq#Uzq>&QSMBid>sS<y1pw<@Z&X!zA-58Z=xiP1r*6A&L565?FV)Bn zhq?{{dCa3ug<Nd3-dti7d@aWL!Vv^mlH`{X38LL{9K=pe_jk0gz{>vP&R`fkr!z0c zAP$cP^muVyS+raBavxD#^t{r1Ae~@O`{G}v8Cn~1O8dHge7!tt2q(Q6hN15cIs;?@ z{?bOIUd&q&onVZO0>zorU+D9Jj&8gOSKdVdvZFZKDFx1In&q~>4Sm^Tv<dXWW*2W2 zVtW`tZnVYETkF4LMNIn50tc)jj7YMVt^F6^DbJr$*y5>bBZxj5(WRyJz}$<<LX|HG zsTrgtgcPlE>WJU)e4v~Vs{Ek(fWNymcWpEc9olxWHsbH-_;pW=j~Z$an)(Ql2P#iC z(@rG6>u4d)QKa#%fu@_ZlB^rapY)cgeZw4gKgq`MuJ2VddxgYPf&nP{1|MqmBm5!o z#J}-k&KF2C#}YbXT5$Xvfz>J+sX7%yZ%pcsG8#8>&X=GijYSb^rahVYk{v;2^b1wm zI6m7<>$B{@qg)qnIe1KI)U?(Ib#;{M;~Qqm^UB2TtIYkBHriBn*II>IkrCrKX$%k6 z!WUec%A)h<Z(>jPZz4z`UZi;9ll?BrU=OV@k*FAf-!@bd^2cVoK=%83HYg4dQdz&s zEBL}4HJ;6_ze@PGu4Ke5Z)I|DzX`35MXsSO(F9(G%u|Ef92N~Fj-7sDU{hp7Of6y4 z_KD8{W}o^VB1YCX3y$3>NSw$kZwcS8MGngC<e)vHm&Bf`;cs}Mdn~ahsTR3caKtp` z>h}`UaB7hcJkcR5pv!aJSk>wH2c({Dy{)}CzWKUG84N2#qK2*onSd@Vp6c6;)}ysr zj*0UvrW#=4qjJXcGNaB!y((Sz9}^@he5=(@&mZZOtTT`=GNPV-o;>?W4wrEPwwfq( zRq`a+tiuyaDK`x|TAfca4@LZ^Tw1(vC3gez_%Vli2(&~g(C8AGiC$406IbpGKL-3) zIlUse-DqsUbr!Fa$KyzZ97&2)s}{+MZ_{4h{<%JM{c30A&&gTHyvvVROm_8s=p`wB zX^UVeK_(;m$jkolB=~8bBXjfiu$Viys9Y~3w`$r{d#)n2h3p2#J0$J>Pr9;Mykcx; zC!&S}%`QL>;B0+c*P<-V1@pni<)P5heMVa!M3ibh;h*ObtG70wxaFGdCbwS5VnhF( zO1-c@NJ?jU!SfY7XW+SUyee2?xsqG+@}#Aqfb$g;j^Ef1VV$&VTE4Gdjn6&2qcm_b z#6ya1bpcRln_CC<{);nB_T>Fz*V`03NEGWQ={C54p*6y3Jb^)%ivmzigXdS8dn_OR zA25Ud++VwytptP`h@$1uAVWa^#jV7QJ74zd8lNb)rd<C)jflY=s0&GXHtZ8Rm#Eds zZecj61R&P<BcR_?+F$(SQlnxCk(fkqBadk5WOk#aT~j2Q)#sk~R=9O_<b;?z#CbLs z@_dE|o&?Ac%r}*JQ*ywYg+ef*Ck)UV?H8@o`~`&t1St_SsRXLM5XmHsiNZp8=9^{p z$7Va6=y*kjelFYH*8|IFf^~-GmXQ;*0v-E<V}gztOq-dJguD!lyFNQi!e2SwHi^AC z{xXO{V$3xuvjpkV-3^&PqzU1u3F`jcfk%u1xTiP7w4|mtoo{uCpTW^GXvigR76l)T z%Snq7W^PWKk;Q+dS~m+X1EUf1*6%&zWfMk5y;gMi;N0Sd%!)OU!!QTDD(o&_wG314 z4$G~7XT{FF)$`XG?Fe1QL6U#N%8KkbME%4&$C>}VP<A93fgm~RSvAZYSnFid&yo%T zj1S*s0Qo()omjriwtMonHwX+Jec#4_f-ROp-Y<K*g~)Qa`84g0Tq1J4GHk#421<RI zjE4WCa<6H3{I~Vit^23BkZ^2D3?^hozw>yt-#LsGjmA7$H5Dc;hheBwLTJc5_cGX? zSXe+{S3q}$&0^<C5Y8vP!!_{6DX)zNpibdC=yAT5kNfZSE(6@3!P<IXV*N*@H|8pP z*AuiMNTPX%Pkk$*^sz`wa%P>vhe}TfQ3hamsq<;|_S!M>(FCWn$J=V}<feabo)DbJ zzzDfzP8s+6!H+m1hTCyAO#e#L0j*jQ=O}*PTxPafXWpjoSq;I^^yAa{{XT;LFxm3b z7X6DyLZARmuO&v2TPoV>l@po%y6?4hZmo_NEBM6?hC~U1GC?6S_^_f2+sHSS#sL$o zi4o7C*hTSqr$%<5tdxf!bbLR{giy#(GBOk|JHC3#w60<Ed>J3k&4)9A#Nc?N79<`t z(QBW7oR-D#sA>{pG)bsxGChg_=(r=zM#saiys$c8RZjkK$Agp#xfR>&z13o1wh;o4 z9xpD`HCAkM!_SDe34AW`D)1t)b0boE3(e#t#X<sKklT%&>$zg<Jwo6z1@m3oBis<e z<xJFLhgPi+*sTLrMwA>SYUYExuH9nW(|SX`j2S!=4H&;kDQ|&g{<#GJ$Ah!D&XhT2 z?*+A<jU>jB;2GwnpR64bn%H%wU>8UBu_FG>hhwyUh8*%#>*J9aj_1>{*QZBum0qJ7 z1wxZKd0pbDbH+6r)|=`#KD%WWd14zcMZ1VN=Mm~tM@x86QfUYDW`t)_DAw>AA8A(9 zd?BBV+GJYT&ky?oLjQJPxz0v<V$15?965x!jC7PniQ@Ak3f{nE8{;Bt(8OgWk~=8l zp2cOKb}`G=rI~KJBlhWNB1-EPA#5zvNug9fqlQ=MOlglC@`odXxUbP?a-YZe50=T) zGp$Pm|Cdj$qN>)xf&m3bE?;V0D+HPhF<v&<M#tqKx;eM#{l6hVuH@20E<`D|E7)j- z2HLj@lW#$>o<il-0h6CQ%c-s;Uh_|O>S||~z6r!Nqahcuxh8#ejY?C>dkCt|@B3iX zwnGFOx8*fw84gJaa@OQb3oLv(&;8w<o(e~;pWPe}bKKvn_!XsSw9#WCF14~9V{Ek7 zvnq~Ht02rzAzdW^zmCU;U5@g+2SSmK%mO&rCUXRv>^l2CN64@;LZ1{V+;6>(xl5xT zvvo#it0<A123JnRpferwWN~Ca=FCD8ZSr_zl-RS>jf%^LGls{*1Tzt|lZfcPe@@R1 zKVUG@hOE8Lbe_E+eQHQxi_{S<P7>z?gVdSrsw}PObZq^A7Uwv;Exkz_o2j9|K!R1} z#x)O>POc8-6gI|AJ={|RqElOjrwdg*7oDX@TM4IMZ5*c0=lDaHe=^~XCY1b7Z}=Bm z@4M0InEuoSI6!D~6=0*f8)QQ*qSAPfr$q{Ye;B|2>Q2Rb)n~54{JIyu{NH~}p>1Um z%CB<pfxKrF!1_Xo?VAF-g8N3p^3DGHx%l5AAw>oX`ZC5A5UO-UD|5srwy6=4ZiD5X z6BKz)fQQtt0<OL7>k$Y6?oZD804{`9w((nZntyrMsEAEcgEfL}bw#t9g^;p=-3gk~ zvZVSbledkCisO3sxl?o6V}>H0S`6AGbs;e^r^$-<z}XNHZI*&JqYZqjq&Y;y2P~}r zX59g)2AIZnkc$q%4#5yFE2$lKScz}#q=je{!*>1^T=e3!?Mv5KF+_W8Y}GxjjL<qy z?4^BeE=xS&=(v8eCm})1U%$)7n1XMcI5_A4;cB30vy!9n3;n2{{-h}S>qD&p`43Hs zAPOOSpeDs6q6!-h(`ptjwfTOCZykXlfK(c_<d^QJ33FY;QMZJQv9*XPwK?SnhrU$b zee=Y(aenoyTE@DtrsX+_HNKD6J%Z{l3}l$l%tKJGf2G!O>oasv1%g`}tNqgNsQAxs zi$-W{CeGcWnPS>T)`?@o*gZWtA4wH9^E$IC0E1SNMvWhg%6`-o(%FCCehMVx9~y9h zO?gV_9YKj`7iI^d)E@}wD<p{ddn|q|!w`&~q~mxe8LejPIytB;7B_p}&Q>R`KbJ$e z2~!oimq$6tz|6UcG5)N$rFAp0KCW^$g@;F8DNI<OL_TVVHhHp3MP?}+F@?eDeopEx zfd1<r){!KqdI!^vXv++e0Q1Z-I@fGgj{4jv_O(l^E)|saU45C(u<y%X<AxU&H^$;r zvLE&I!>MI5q{PbE_>goFAfwJ=wlcEZ7JrkK1h%lcS$+o;PU06OqG`Jq8$wuO<&4NM zkXFW=POu@<Gx)oIM70p0`kvKBD9{$_18Z`R+9j3)yn(SlRI&Bmx2{pN+Byj?VX56d zaKDtrB<e&zWlK<HHNeGQwRU<mx1m~hwll^VMdOvUd{#o+eHoI&+rg27!5}hk0Tqjh zCX3(?4sgrraxBqz>k1ED##=!bYGlJV69Lhs#{7Tj!CS<LJY>zA8p54ZO2HA_z`&Sm zY7XyQQBEFrSYtZ+u|}hl|MSVB8wu3-Ux5^)p07-|cZGChIhZFiI8&Nmy8WGyq8R9V z@FLO5>?}d8;q3H#cz7%kHO5nR>~yJ)Q~qq)nOO{u3-a1&!<w1!MH4Hb%$tF&Al=@M z?)zg&;|_;Bq;Iu7{dHaMy{=}pK;6$z6EUL#DN0&V&%w^xz6uux0MU9|`FTWcWBfrL zDzkaw9vZVhP+&+cgVy5~o#Yw*VYK7+uHik9NpxrG*Z(3#Yi{p~bJSc-OyvKoqCt?e z=CM`m#e=-d^#p-7y_!i@Argf5bYEM4%0WxqaOdB=OjTfdzcO7HGlA}dbdb2HP0dwN zbA0Su@nta09Tl_bxfLgpI6uQ-VeFmn^kkC>!}h>9sS*_5fkliIsEeDSRomTHUi((V z7j5M$YFEf=CR}Ytb38Ts5RrK`@4H9X7}Nu~I~3qm0Rnt4*(ETLBYH<zc}1&+FPC$K za=Dq?ON)deTO(r|<s-OId>b0y<`yKj5CrcVQe~ao;7=*cbdz6CY%x&1=FeAPc!E0B zl_qAmiCV^VXWXZMf$Yen0w&Ig9tYJq4o2^PN1WSdq=Exh=>F({T3_!8U8|SjH?peB zmO=4Y@j%NKJ}t5v1?zIslCt5@p|`Mgd?UvperZMVP7NiF`4D%=wPd4KyW^*k+l;w^ zje0F%z{@YrcXouk)M3$TIN`!IJ%!3VTq-j&n)~K^RN2MZ`IWq(vR`XoYh&2!TH$8Y zb^8u(+pu`$CT*-pG=iD#1pVhoqc;9ZjromtO96xsXfvI`3A_>sAc%D_m2cxHKlix? zx)J)>w;7_0n_G|+s)fg?1ZS9`;}cred!C;XaB!+u@&--0g=39KiZy?Un(J$;vbf6) zAJZ5ut5Dpg7VHOBBS;y{`TlMAC(MOSt|TY2RlW^RGNrx$lcM2hrq!r?_@=pMF=U`Y z-2#Aq@F)?1XtT)k>_V?Vl#+<aO}RHfOMC@kkS9+BSDz60IT8hTL;7LlU3zfZjl%g< zL6TvFPUycpOV;|)Bwx245xNL*ari@jmfagcHH(Mkg3z7^Y&9ESu=4<Yjxm=fAs0k^ z#xXVDf4~b0+8})87<7k>N;K+d4%~b)Dge1qnzH%VL%|_00mk`rm(oLWC{x@H5ep&W zyUW*M>BXdE-&C&ij4Ko63dn5TBy78R)9GaH*|MVa0T<#q9wk@IcHcj#{xaZk${56h z`(>ik;1y@e6yB|kc)nJgFl2oGA(Ga+jQkh2JI?|hr)WOpo2s<JL#RD&4V4<{0ibFi z%PmGoa~WS+bcp?hV>YH2AW$2j*n#&=@yY0rgYiY1ozl^TTJE0kzAHOda2*P{ia~}w zYT{f9Q4_=(M^?TEi?mbZf#hw4JYx83E;2gy#DlYna{IF2E;x@oTD5z;J1zsJ#4N}s zYMRPnOSE5@l_PoSeGU2;lDUkefjP=363OSfD6u~S<?3cnJ?LgwzlW^m-)&{gM9Cn+ zA}T<Hxi@mL3szb&(HK8o*ts)12(ii_6s2DM7pbJdlI%+nMV!WT59{kz-=O>=RK|~D zG1Z=_jAEN;8vT4yG^a-I5OOVE#^gr}`PO_H*|QB?PO`LN@O^n*^<oxffT{iRm?<lV z_NvQ#cLc<$<Y1a}A~r(PO)Yb|Q^zv`jbm`TRR1iVvtM!sDjOOZGzKTn;f=$$E_OAi zQ!#6HtoG;ixlt98H^#8yE=Oj1#9#J1aJ89xR(b46o9%4%grQ)6xVKG;>gy}{O|*2u ziQIo3bq!$>U;~Jki`hIlz+Jb_yc+Vb&J{Y{{S<dx#e%sv>frsi_@{_FCh|w`waXVA zYEn)7JbMPZuk?@Fz7!y9^6x`9gKe|dH0?N%ROnPC2hp45WW%Xf>7g#Ry+dBVirhEf z>quBmA|&ZuZHJ(Y1&^e`hdbyC_gaFtJ@IzJo<95pC}0k?q66JYAT91l!N_i#3pdJJ z-%@r2r_|H%#divcucG2OIQCPf)rxs9wO2xOLqh~##qAkuA-3n8$60X1OOc&7cQv?J zux68Na<AoDKH^_q{I@!CmZ48G56E9Awq}yzR9<#xP@O8e^4Q{3&vc{iry<H5RIIYv z@GiI|80pCAX0}mLfCd^z6xbT6ji0PKfTG!qsUQl^rQ(#C^SIWPL{y+&W2R#4v;%L9 zs8#hzQdyE1>5XclZNYNN2im066MC!m;mXbW*dO=OlTEYQVLP{<J@7{xGBRduA)Ost zvw!m@{B`_O{~m7FZ*^PLrJa=>JXT{ni48qUnqkTJL#g9kU;-oE^Y!ro$xfWYe7(U+ zNHpd6H4u_Mn-sVYf%2G6p_C!4AVRt1rfR2Njb-<aB19@r0AjlI5`L>1osi|mZ|CP! z>~fX#pXBpqgcTZ>E^Ph&=G|P22I0oH6e*9&iYHD%`CVz7kdbA^xyz)Va6uKSE)q^n zXN_x$-4u2eXd5|M!6f)i!|yi)ww2F@5aO<+hb#8D<Ewf5cEkmdHR*za)wxV7Mn67q zZ$C)rK^^&^dL`sqB<Vx{nuP#`^B$Iez@ggTi>JKXqG_s8XhgF;Y-@;TVdSEm?Ye>e z3(qafEA`8?nW907-urtaA)sLw(*+TUai@G>FR3sL9MdY=E)k6P5Y1w6s^ya6ulo1( zpKoEKI9ZoWu2$6dyL))jB(Dij2EcevnSN1VZgi>E*ESYxp`6*TIgWkj>=SHlbhB>N zp#B*TmHZeY5_d|Jq|&wWhQQW-N|zRW)eMGUT1+F0j%)Iet5lAz5JP;Z)$A|}Trxa{ z>cMycQi{#<RQ`M<6~Q$h@rmGI(lQr<$G*;2qzW;299{{X@fu5hqzV)jRRNDqO=Fms zRnMJ9V$^{NAyzPi>WK6QR>Hrj=nuY`o7Fjc+qj<e^yQJe8eAcKQua5^Nv+cd4$t-P zIKb|k^c*IDMX@CrhoxP5w@Gscc)KD0X&jmYQLlgUUyi3x5;5v(0!Oa)1%-2Gul7lT zED7zouvoP_%#G-*{c*DPJwITZ69wVoL>+u2lqn?ad)epX_M%srTt^1VUgeK5^Lp2& z)(GZMU;_lKKM^r3-o8`i$yF+rqB380<&~q_WPVuz@d@UfXdZh2_XsIg-(sk7a4anW z6P^LOk<C+?to)$s2~HIQ&B2n|{FH9=J`Y&X5(XT|SkqK$GdJdbTkKd_(-YOfhPkhe zgdCoAfChbd+Zv2VOc8aA?hRS1&Q36ty<$!biF-;=AfPP5_|3d_ZB6RlWGj^+U|~jN zfJGNVq#zhVYKMz_u26^RTGJM^csL0(+7(MtT_7Vm4|)TSt~J-y$k<GTR#(E@Tk)}> zF@L(1;S;}05t0~s8!O}eHJP6`W9OZpY!M2bdv{;o*qdNH&)vn>e`n(3jdXJA{vw?S zn`4_#`{UnTy1i0co*Wu=Jt?N)Vq;_vU3hNwR=foJN8QrxMfFkjJ>{11L!}#Vf(5D3 z5gH-rr-x)^kvEI>pHIz8)ivFGeyND(zt!SiC`{bUIm1FxzA`<QKQ)j@gjc=i=3%I= z_;spC%^;G-m4{6Gz3b5Y+(&^80?(L*Or45(M?`DJk?boF`E`9<K}Ea>IScNDBqvkE zHj$~<2<7%($j+<vO!z04?k69>DJ>qQB!PUI|LS05TDV1jT0zXCAX_4R1(8&XjX1Kw z?y?aIwLY8Lw7C4`7Gc;Z_M<8emdx-Gab!T_8~Vfjva&jsP{h}8fmE=e{sbRAy#Hy1 zWy;A3<(qVApfq<C6x#C1w(dn!i*`lKAlAK*L(k3(QHkK1HN^m&EOZ*c_s5dJiCW}I z09i`0@;f(!hJDF@6I2SLWED@*1^1imMM1aLd1jAh9*C($y9xqkgYqrS4C=OpVk|Kb zH{JcX>dGsb_*>phcNMK$Fd{KZQX)w<34M`Y=&CUZX%^L-sBYYd)ES2O_O}dmjj><i zG$<A~N}$hVTdBA?53-SgmosFLlIfCrQ(LzNWKo%OAE(8s_7|VmG`Vk<tqd!UZ4kHH z8CSjGVqD&A3-v)=|GeX%CXLjt;j8Qsc+N8}?HOSQ`;4;c@F^sD-ZgoO79+|w6jHxj z3vO|}S5(Q;_Qp``WsgYINsy!hJNk!u4uo9bR^AqjiOb_x`QlEX>Uw8z1*U%pfpeM0 zT8DXP1n;|Nne^(E+{Au$wqmWOCrq{OE^i_!m+SAxK2RRwPuvssWM-I!R<WeOF^I;I z-~^TL`(N>n9=~TsQ4X+GFlNk%Oyl+9Nnh{&NvTmFK8eO~)P9BnMr4Ih)?HNxG3Sg3 zEBsgef8$gpva1&Xe;{q~z|HG+HEQ!t$Kg1iG<V&`>BqmiB0E4_ZJmv4^16B<RNfJs z5PbGoGVYBU=(<ily|PlK5RS!+@^}5XnXchB-SyhlV{eE5YKT?|U%O~aQfgbwJ_@zn z7w|*b#!g~5G>_qob}|pacA&wB>q0+1Hn0V`Xg>Go?=}e_ybgH+BEs2)UqtF}WPFsj zSH5c44t8YeYPJllFjcDu8<{i(sQCAt$h($ya<$9XaAZhIPfre69-)6DseNG9EZ*f0 zut+E)dcVT`O`1e@U=Wc}-I)@UhqhsI-0+1Ck>;k09S*)HeT*M21Kojv!qdbo6xqqi zr0lW%g5iJs*_?Tgm~mWd6<OBana4~{*s`NcXq&~OIJQu00p!xL+Z7+=Hw{7Q!jWfg zQxy|kNi!l>trb|P{vW(dQIBW8k75qvnVMJx1A!G(hgpp!bCF2ysv52N$#od=dL);T z+m$N`m+7n~U57LX{(Sq{jCHCX)i1HBI%;N^qI?Yi+;6-q<3ZkDM4y8&uTprDf4(f^ zFuJObo>IIRY}5f>rm<_BsE7PWn@v?j@KM(gd{^5@4hlW3WT9ya*<#VmQJ92*o*iSv z`TxbN@5(J>QUZOEObx;?wsRspj~a4o+`1?{oF`jL#b(cS5`qO4<l2Q*?`2lA?F$C` z4HC4#8Fb#Rz@;?ehY*b@RqL;ZI5hVM(i45!Ak6-Jx*Y=j=_CZH|ET2oeQ)`Q2Mc$p z(6q)oJ0r0WV+Oj&D;;8k7{v`r`?`J4YYT}k6laDLued+@BkTW1InV*5Jdo{8>9rb3 zir<D7IdK(2Yr{>#j6gh;_0?L#4)(K!Hdyf3ec<&AZy;~?os~)UV7-ZsRB_Oh{`*yk z0;_jh1B2k+i@ex5qJ%SEyiLY&j#DP3>&>0TlBIWExZT$nV<v`ZT$)P)m6r<kh3aKc zXz5;>M(VKB9Oe~qZm<9dlUWQ%i1ASGsUvtsTN$Iosg7CLd&_-C499k&@4SpH6m%U$ zTbl1A=LLEKKACu<LR%B{9BV1bLyDP$u>;1sceGU%_MQ`j$v2XrYejk$uC5tO)tLn% zsLmF-j-|h+u#m&)|DHjihhGXlll<eZmyS*LjRw31EzJoVf-nVOe=hVBG=~so*FEno z!zmEz{!l03h&AbLr6sJKMEk}bHfk4G-NhplLUR;or1wM*ExuEmh>a;YDmbDG&pX=u zUz`izHf$oMB=RLeTf8qLQ3d7)Bk+vKt)#H3f!mTz_vU|YV8~kTR)`Ri{&&~U^_`Y~ zMaAelWx%l_-CZKEju6XZDcSgi;DUYE{{e$f){j(q)^LYFsC->RR0&slxBOCT1T@9z zRK`I)Iv2yR=lslDiO-jhLu&qGRBwxV@$528hL8yL5KMg>)kr(4nLwTnQ$;rodv}mv zCcpJpL4ZgZrZ$J2;hSwfNVYs~wyRiv_Ed%9fQnWmv9JihDEMPX?x@zY7gZ2r$Rtg+ zB!(W%?Lc)&*He)1IyBlR$RCDLTJFnvr|yS!#4=*HNZua`<#V0dTv@blk1-p;hE~NJ z>FL%;1|>FXMV*ydy4PKm<Ndo)8A9OX71mC?SnXUrE*a>2r=x4Zbrn{%FYI_o1-nXR zKr^t!S#bfQnSS?iI$2Oqp(A<66|G}RItvi==0YD8oLFE`mGu*LnYZL$3+P#OO=cNv z5;+2B`N@miHW`Ima+M-DORUt-*XpSOmxr%X9c-WQ+DYq?92&g~gW)7*wg2J8d99P4 z48g5fAwq1JX2_pf4f{;G0S^8B)5it#j@tJa*%ZJZyf{^^8cMzDXH=B$<wqM+zepqI zMnRNZ$q;7u8JtyJmJC!$oYX?*GDEmBIfNJT+95j4lW;AqXR>aTK?vc|E|BoHmA=sw zD6s28)nBXy!2}yNy;ukJrNc@U=ihKp_{me;Wf+Advp_QRPQt>!Aff$HO-$UG@dtNm z`1Js7zoFn{x`f)MliYgBsHkJ}L;l1O7u48EGa$*u<0pQ03l6%Tkv!H=th~0p0bI2y zj7pn!0;8R0w?bw~`jp3C<ub{=Y)Fi1_2eqE+QD9YruT^P*s>sCh9Gip!diM}V=lQO zA*1lol^*#g_bEeC=J*M5XoAxcU#z>bML)n-8vMjH^v>-WGvUD~+f3pjons}NLQHxh zMm!}!?Zdq(3>1jdbCo$%1$<rzWJP6CsbGZL-7f9|_=YfF;%maUl@FnNplF8gLN`h- zEYCqDy9ijHpeG77yA!fuBC(0XlB%qKpnD_@(~;e>h78VWEH);U6oaKZjdU_4Rv?G4 z(jTh;MU9THdxW7&Ln)byAUP*qa2#Sv-h4PDAkW%J4EI!#0%j&0dEPLJxY?U9m{nr+ zwu&8j*>fkdIAW2qqM7~WKpuZfLuiI1#sV$c2cWE&kF3j%w|r>Na>Myzcau*=-($5c zIZ32hTaU>stwX#hWPh<4dQEQA59C}hlW$^VcP$!nEVWc)1uWToXBh?0>Q^JgtL=PG zHhC&TL76g%6~Cr<keErh#wQ5l#n=~MoN0||)7Td!vIT`bAP7FaJ(#-Qx@Qqu9x++$ zHL>eyTVt9ru6-Y!?WZu&?Sq$!|24p+Nzuob$#@U)!l#)WD8~b3h0sA&0LAc57*Tsi z4n1KJdOoe@qYPaFXsNk^#_A)J#)r=_+^tY@F}3%jR)_>vOBq#A8?*`Be_%KVD*)9K zh-&)PTIeP(k+?{4!g-0v(s9*P&|h;S7z@eJolg;oEB4_S$=Do?6&H&>_AA#V_H!09 zJ<`D&wK=GQSkjP6do^D+U|Wc|?~J8;d_50}%KWg5wlkJ9;(0%R=NH0ZMi8-wNzkX& zGk%cuRXc=*-ZH{Y*Q@ocf%<B#Qz+>RWnW4_Te8IUbU8*m=6Ix-c4|93^!|WnP~aV; z*;^<|=%Big=_|{@^mZ1jko5WJcS5n!Dmv9vh*+*CrImC`A5-Hs0Ayw{>`OkPh;rdX zO&HON=?>lZZtr!>iGKsqY+1L7?1@aM3qyc&g+sm?*-37hr6;B%XHIv9Z#9ia)M@a= zBkNgaPg{0HqL+76%0X&}TeW)(2nDxlbhOiV(mLOSu$%ED4BCT_*e4`jQ!%%d)FoZ2 ze6n(KG+Ms&s;i{{sUVGc*|H4e7=?&Ls56C?nRIb|oL1?6PsxXq;!9|^G$qM35?X+C zb+x1rXIia4$TD{Rsremw3qOb<-PyS6+BJE(m6n8VTQm>(QYPn?VfC6G5m#$j)4>?+ zE)QWi+~OCY9a2SLbO~xr*)~op<_SMTTqQDU7H|yR7=H$+0y%03EJaTI;j$;S`MpOd zR%nrn(ZnQsSpvj`j;cIZ7>=Rw<oAjsCVDTo|M(2`sN%?Plt=yWY75eS&nix?V!^>f z8~#Qd+rXREMk2_w%XEFyEUxewD!g>^PW4^cS8-$!(fnjn3}11E1-74R>$C>b8#*h3 z4Z+1|ZW1048!{sC8WSm_rTl5Hfwlc9Q$#~CFY2aoLs;t7I4+D?;wSY38@AG9g$Kjg z36Z_AKh}V32j-E{DD35<MDschY)DD4@<jGL@~mo)=Qj4bTpK3nb+0^{J4NQA)JgiM z6|t0I#sf!0xf2OThxehMbq^Gq7SDcN_ZND8e*qgvMKYZqXvo{!fx?&sKGAWW)4Sau zh4CF(o{}ZKsMx)dazZz5npT;aXVgC+s>Pa6?#Ly+F^r&`-0YsRmC0MWiN~|1k-k)g zV{6?AS3BKMn~*=|wbR83fWV}`Tam@_2x6T%&$4jEjudm#%xBt^`MZ<M%F_~#Ui%k& z_<jP52XQ<_xd!;+GnD*PD4GmEArEO*|C*;WSX{9zZ9prCIq`2rPJkaK-@Fo=2PZR9 zmOi+b@HiQNUbAbr^X3=@LnvuA<~A=&0>zYP%X5o7Tr$BBfx4P+P}!yztHZt<3+HUo zF#4m5vj;urbSj<)P~I|ERx9IKWLC|?gC0PB<ALNv??7#cm&Kl>9LjMbf^h9Bsxy&R z;*Ra)h<wd12Le*pQv^4D1y&%f=Lq%@J-OkRD1Q>LAb%@1v>&2Ef8;HF1F>;?jD*sK zuYLQ`jD;?1Vvj;)uDEUqLJ8RZhw+p&-HMai#=LaU1)7u?Ix{Q`=dIN@l`NnK))G)! zQO4VT6{Lo*Ee&m^<LhM{*_Hn{;mF<Lto+>{(Y~9}IU_&2-wp?(4FhV|>+X(-&Ym3A z26%XZ`VBD}j~21cL}Kuv-|AVD)b5G?%_(%{?fL@(NjC`;L>?c-P6ka$@$FMAx@&@R zW!*$1F2$`Ws$K`bY5QU6TB+isa~n{heSPuzEH)3J^s(v?vqF`;&MxY$ODIEXo@J`D zbS>wxR^pE|^SQduZ&>i|C&a*Slz?cSQthCBp?8C#aSw^ygFV8wMugzVWY_;R@k~xl zwf#BHssXJgJ}9Aa*jhWA+OQ{($D{RYQDMa%YOmCul4g5#sMbkMp00?i!4M!<I`aWt zXB4jT?L>+u5BwG|R+cU5AAVN!|DdGKdKPjxBEIN?c9ybgm4H3tddI=XKV3|PXl)oE z%|+zRG@`@qSqprF6>aX_i}5JADsa`ELV<*w4`hWenAs+M<P%!~B~iQb)k9=#2#7Vf zO?$ZgRTR4Z{jUrk`%VVZO9FTsVvyme-reFgovVZ*Z7(8vDh+13UI3knwNdjJ{ib1E z-1lWS?{!}CPNu@ALlPcj@^0X*Rh9V<a)}(k59>Dg7<iP7U(bK%`PchR9%_K*34IDj zH%jNrCY#n{5?#ZJ2A80zU@f(Ka*`+rd;|j({%2J!|A%PfW)z%L?K;41caiEc7>^!n z_bt;t_1k~*5u0uSYf0fb0k(x@C?;OThdc<1VaEFQnz+p3dzZ}`#9#Y0YYlW4e)+82 zNy>ViZxF6m`{`G=MpD;<nfxq@p#B(mZR&-^oG#ZGEsTq@9*%yc@6IMC)%*7s&&Zd- zhZvLZ2v`cOBF;GKP)GwDgN!xMnrN%dY=1qO*=hf4fMBFzPND>9;B3+DI8HC!Kp6DL zqxn)Zj`Sf6t1tc>K7v{ezPG=Ny9q*!uwjH=h?9nEYW-q%`KqLiVi=VR=ZDTM(hjGj zj*}~EQsa;1<sz?HTa&0=K5*JqD6v~L#IS8|rsa7BVza1rQCR{A87+V8ndQV^@KgUa z#$#l^Yqtm|ZcovZp7PtAg^wTtbDFu$;-c-9-@v!ooUHzxkcZ%x_+BbRcuYd)g>{9$ z!2hJ<8Q@rFCIzbn#0v2Cm8S%aK^5dWdl#jjjaxbOqIky#CzP}$`EJrCwTryM081gj z#o;HeT0d-t3nXx8DE9LI^#4x=Gktrf^PhlUUzj%=`N=rH*1(iBC6~;{uf#!R11BD2 zG6AWPT)bAgDYeZ|#H~6?IOs8ff0Wr9#}(sYC_gA;_)j>oB>F*|RK@*he`PD-hqjuZ zk5@hqaJz24xx*-j)=K;KvPnm?qiq4}^YUccy69&#n$u|@Qk22eYli=$c45S1=huE_ z<`q{u*^8`5aJ+N0V?^lPHRg-&F(h8u=>)vkG}EDmVDNw#8{5N&$T|Iadb1oQLu-!p zl!9ZT?@|f<OZ~y})CteMX!dJMYBXXh0W5h5FlW4TC5uI%ANgHe9N9dV^Ba!6_NU(D zczU6a?_vs@^01sr$DP`usl@lx<TYY&T(l0t$VgI{USWTyL(B@=P4|dmZ>E+%zECu) zU6oK6e7!8rSvV~;GhIkk!fFQY0U4~I0Ocx`8{cE|y9eze{@x)&Hbq1s7$pDouam6~ z&{Nf4EQ>2P?Wz~p9li2}ABLxQw_l7nH|=c@ejeLQxe0cLExf8(6D<)P79>+fkOB-` z%@kiZXY9fZgce{>nh#U>+33v;;0+V4l-E-182**#PcSC_V!bD(`E*r6ba1ZQV$l{T zq$PRHtRPa&@bb4^0Mw%Uv*al~d8Y&s*n6_D5u7nfh40^S>7Ly85d28}IJ#pf0Jmc- z!5xpgq;_zKMD#*ayJ?7!x9@w6R69)AAKcMv;R+@kaev%DV^+#BdBj?EqGxt=>E8QH zNPnD;R=owKhODq^-KBk%etSDu%PSyyI@;W-IJ!mJkkVc}s4!A2kzZL}tNzOZ-1HA> zMH5?bwDW<l-=#dt@afBrWJY<_glbX7At9UGhZ&@0A;NlxKc285OO@T{#M?aD7K_4+ z{KuG<p_?Wjt8DOPNJS5DHNKu$UB#m~#AN(<N_B_A_ePrD@j!s~)8x~Dr>C!~`ERVs z)$Q%wXoSPKFqxQ_@O?u}$poJg;7O+ZO5Ua<OqY=Rf|8QVLW^r+;{b=$tOnf_8M6Uf zhb6ZOd&$yABT4Y`EHA;)HX+tNF0hgzTTRYEd+u_F%^QwpJfekqd$LEwE~2R#>MV!a zJVDSnth*OA*Y)wyKZw57+Qy~B$AT;h{`jv4B3k^NOq`rTyIP^08J$D|z?vsI^7!-1 zZrIu(_x_AZdAbv6J^#U-V?}pqynyyn>VQ~QG#G-Bd<*J6pZ~hZyh+7X-VI+YVRC#J znq7-yLC^l}#<A3`K}7IiiG_qNlyDTEcJo`P3I_r0zYIv1|M0@EUm1O$zsf|7+B$yu zle_bTShXiqJl9&rg%)$$4InaLti@Pb&Jim4&=j+FQYyesP~o+Hn(Ggj?l5o!TIFGh zi)<WGIl%Qus5aaG)8@@6@)4x27sKlnlxe07m@>W15?^O=v!oL&?jI3byvH`_sNznt zrNW8;J7*@q==DOmC!_cmWIA)Sh#>#rADLZ}$Qm#8K{Hr7aJgA>1FWD)A$xUwvr#N^ zx<v9kBuH09hl@<48BDK6Bb-Hy32>;epOqAhFFu68su+>3d0Y9<H_Vz5|9;P5`$LP8 z+9FpY<`te3&5M(Ee>toeGEP}&$dLRZPlNyOE2_ZJ-I|l(ueH8Bn-!TgQ-s!*2}wku zo^T=Jtf``u(II4GO@I}yuBMX?t$z$wuMh#5-7JQ{l9fxBi@32BQ>adRx|iYmD!;T% zYUUbU^q?F6R6LjZ)9;ZveWEm3_w_rTnw*qWMbevBKEXq*_Qf-D9L|@_+qvr-Pc@>W z`RPjNE=V!4Kc+h=_=JwTG1S&3!(%;MplvI9#zAze^;NEhEdap{r#6`t>I$fGDa6B| z6mK&T6Bj@K<)bFv(XED&NFuKsy{MTFgzThwa<cy>Cc=D9E%HrtR&O0gH8`Y{0<Pmo z6A-v4W7V`Hq8Cjr1*#FWlXsygGCUlJ#E)#>^JM-tnnLig%lRgi&;Q<Ph{^TA${NAQ zM0=-9Do3Pz1mNw;c@6d9?mi>=DeEyF$mVFp1$cFe!xp}RU%+hMH=Zf$80U8135qcz z`4%x{(lhI3C?bCJ$rdPb$m}$@`#zB!)Q*nB4dVkT*%n)XjS&fCQry|p@}+C<?D^y7 z^fc&Sae&k#qgE;tPmR>E^$jF#khU<CUpcidt-BfqkZbZeseIhd4!&}&7&wKqtGXu# zSC~<S`{c_S43ld?${`rSwkaEueU3^5e(Ma(u8hch$P8*PDK*dA!Jk`S5dL=%;dB=l zu>cmj<B`0(t~b%+_G_Z$stF@DWQSDv0hTrz=O6uV@t3z1Qi$SS@?UjoxnIvKhiuJ( znP?I!Fj2Y{)YcVEu;)O6+yYXlW+~?45>$x1I7s@^$m!%j$^B>_vw`T4i0%L6)fVj$ zD{10=GMJv;)0Q)O=I{M}xW5g)-3Hh+6u=sf2j9X)u#FUIgCk*kwvJVTyroz-^;wOQ z`yx1;ycK$!GlEj47Yh>-Od}q*k#IMEqP$@MFX^W6=ll^lw>|c9c9f0ud#m}v;*L5v z5@ADFd{4Fi81aKeV+DG3S9<U(w+jN04Dn}f#i6|H2^v!YP(FfFk_HXd#76~CvT)~l zmq~qE)(xrhI5F+9hSNxR0;9<qG*G$n?-)chGR9;hGH7VJPeG;-P<<a4VSp3GqJsw* zak0CAvuK3EOI@FdZI8I;7=C&`<5h%PHh`YF<+17|s;IWUnT}`~$Kb#4X&%|<Hjp<G z&+UciBDWYPmvd>!hK{8mubt#bH-8UC0cBXvrK}?F)Ri}Tj{JFbD$w14Rg$_gL1ia8 zTBU@P<fA}Y+JP=`5J0mhW;DS!{gMlC!u=m(=hPim*KpA!jcqlyoyN9pHF#p%C$??d zwr#Vq?WA$?^&foi-5TTEovS_eUTe-9|I$e$>bqo?|LRuJ3z+yjMLy0BlNZPKLIrL6 zi)pDZ<*JVZ)cruS7XnJ-Clv+?wkR5Q>wJ7yqf1kTJ<s2KhEU~JT|VGExs!Aq{dK4f zU+q$s@k&P=id09v2GQH`ViM%m0EC8xLFD>`>#%|UoMNbSFj&z3VqTMK0sPJ1@YT?X z3mt!rk#@V!)w|cz&OgfdRXgMeRRA^|E!bbu)1MVxUxXUb=%eOt`7)6LGl}iL=3xTC zz3&{2ptH^haQzDHCi@3@7`7Ct1PHB+$%PY7sG}`w8d7M&5Q;iPd)oDWYh35#P$K%| zV5W6{Alf4-WDBRQWFQT@0EmaiW8`D@2#~^;1Ek#R={54<O`vgI35a?jM^e|VYjlgO zm}W!Vkb7h;Na}rI8QL=VKUB`#mg5%c=BADnR;f>Yl{SY=<2zMXd1`V+GO(rR=pig> z-|Za))U$|##p!bIq)ea^(+|yGvbO&~KX)!Or}%A&dRE3!cnr#G0rS#}yS&CFZ)%|= zb!1o3Wo=r6dAa;*1JHA`_A_k3yd@HT{COq|)+KAQVLC|Dur*4|8$IOFV>oF77T4EX zKjmkTB9aV9=+K=XBz3?q2mc71scR>URQ7r^<YZa(Ut=|gI@Gxj+!Gcd?vf=`t_0lw z5NwTUuo8;%PuWBA2e6&EgrZMtJ*fxi68|>(PdPWDPrG4lFB4xPGny6&8*?gc-{rPH z>O$b9*0u5W0Us6E>Ns^YwXz(WyJEj{0IB3%gzlN+^2e)(yB+i-%7sCnmnEIi-XC0o zIA7<84(kKdhg&ou_nb?E7yUNpE0wps&-u+iQl)644Ney50S;Q>elOiVt4+~*S?88) zPd$A2R)5E`F_AvrZk;}?Kh26*#ZL3h62dbj)!krLjR7uu2Ihl2hqbQo_zXLn4mI;$ zz<(;J%CrYvTRp`AaE8lz(ycifw*32-r1MGHh%#|MU0bw?p9oNjIe2<Hbw(iT!2c35 z;#{~d6ohUm1MpG;5V~R7F`7{e3-jvz*RMpWYOa5#gj%PTmF>hQLw)I^^|w<7)DBME zuIjd}{jE*pV0Vv5zuAiERC?|MpxU}B&}8}H23<F=2b-OhsvOb9>JoK&TH{cu81b1f z#cgZc8RA2>m5jx4CCsg|MX^02mXARS%Db|JZB;fZ0NTgs7Wizgnh~-tXV5l3bpA0L zZ}ff2GBuG&H;C2;C9OnjUu|iPz69swg^bju#hYRUrTLsn2u2r`f?{RM(}g>juuE;? z-ZrROFeRqUe+1|o92Xi}R^Oi(zrG5z%{x+l%uT#RcJQXvU~ztSfF+9Rla7=Sfaa`T zw+U^@0#TYl6c$4S+m0YLk&%fYHk2mx_mGmC@!s}AM+hLj(N_c&+%q{R4}=qj&BT9_ zk}<B;=_-;;7d>QIYH``Ih~5u+HC1cL++Yjy5*-X`X%>E+7OuSOJ?Xe$DKN4}USn{b z(~;hUCtvABLY+L{hK>$yV)iLBYPM7xvr+Bu18ol5a_bzwY8TZgEPk9_9=k?gB$v=J zM^+}OzDWjvP!`Z7Hp}#B#BgNo57Zk|jZza#Lum+c8hK8&y18B#WHQ9O3>}=qp4rR% z)xCd$F@q!J)pzCE<>+oy-bAk^+4XltqxK72wuG9vYV1^Vhtq26F1pn0XZi=9)T!w9 z1L#Y40&_W#SXMnOSo`yA^-V1`U~ka1%CjLpx$&D8b{_W)yzY9%^6ivPb<p21gM0pm z_-zm&{2l%pKx!N6v!x4%l&HID7!aAIUW*TDS79itlHQC2AczFuE|^vU%eSZ3W&h|_ zyn+<7R}kTG4`parm$&<GFcU&mL$Qp->6$i-mLCXD@Y@v78%I9~FrkKA!*MEy4xDl8 z+?3#$3yoNeTF&`G@oM6hw@RSt9@!KB6gRiCyRah3)s(T{S`y?&VcK*Mow-K7;}&x{ zfud^ZMNC}=(`fKy%kVG()uvNLL5t<rQFKryR+0V1v#t&$a?93JM61iUMFq@)*-uu# zOq$^z{`#b~5&e5DK4*Key^GT%fUPAk@iu>sBrTaKJ{~}bx?-7f%<o|F`=ddFcjBOl znD?Oc?1nZ9CBN!eQm)!0Oxn6v89%FaK7Hu?Q=9iP&iRScEe9nFIJ}^%58pLkl3qs} zXzBZOk)A;loyhXL4Ti<|p*10gJ01Vk4U!d#hGWj&oYaihY?fkO43A{703z7;ydWs^ zLr-rhXl$=;{rtP62Gya!-<9@(eOU;BEPa{tC?jE=bdo6%v@nSU&sDG7@)3R}X%u)q zqoLMKeWP%P!CJ-x!UuWT82=MP64MCMeSlOTAjWp4pve`NHG9$Jlv*`ei^WAJ;~(zD zdM$`ksfY-bq97ibrg;2ut}hV=IVMC9;umEwq*b9W^K}IgroYI^^e4R{fM6DeqWchw z%+&@a`1g#5$_{y^F_Z0tb3N&DEmy`wLW+n-eDlUM?!_wtQ0E8HRA<?d592E@V$5!x zPvS`8r($PgIe6@mZM%Sevk@C<{#)UM^<TAmYMRGIg4yCnlG(Zr1ACajrZQqM-8@`z z4O7F@CxQ1fUdnoY8>R@IeekrPF~dq<Y<@+MN1|h(pbeR+vM)%QkE9@yInR*@|1<>k zapVVHNt`7iP=mS2sr-tk%YKNN{-4ChjTmRa)*YJ+IM?`$zlS;3XF%>HAV83*?>e$E zJbjAWpYCXL7>7ZYjz0SDlGtC4`x;IIlqjJkvE@F8-;?2wDb-{%2Dc{yQZ4SwvVBH^ zYjA#w6J!ROInf;OH!jNJ&rGOApIE7{bBd6o@3z@FfTl}0xkn?4JtBJYD=_6H>aPo7 z-2M8E)gEKCQ16lklRHz_k}Z^IkOu)QGU5y^mTJU}rkJO|KSY<f(G8DA5#I84ayrkV zS6{L867Lc7V3&Ta8TrepjC_d0-PUy?t8=Xb;g|vwJ9X)GmLZMi#&mBfBH)Rr9+bK6 z!4Ikh#F81C)@@A9DM2*+o6z$P?=QnUXi`ldz~{d-H90p|u;{CW^)?oJL=PV@5i`W+ zMQ1pkqC`^4q~X)f;)RYn)v;m+%Ui|^LwPAl`MqW&uoAfYbNe6+^U4P{&>fMdV5t2J zc+wP4XCxAr>qbnJKJ-Ji+F;`o#K!0^&_LA(f{)AG!p>OQp(p0B<Br`x3N#04$Aj#u zK*fGfl)=NqJT|XTp4*|AIm;Z_i*grX9LGopZly%#MLB~lYIP3<H})5Alqy4kYahS* zKnjILP%B0s{B>Ew0B;OL4=YMhrt+L;KDL<XvfMM%{spEL^YU2M6azij9hc-1eh@ef z91MPVTNiB?g<lC?$4Kdqb%f+>{S4E?43$yBu9p5gZN_TR)FgssoqB8*X5=Q_$#%uQ zL<bNfl!+N@!-pDTAtO0lC1s^X_&kaTB4<p!*V&Ygk<gB0$)$;Je;QZ${5I?(TwlT9 ztdAMaG&hxLCJCnh(@eY2L$0=$Qu8Ym7`Y`g2p$QHDvpBp=b>Wc$3P&Mi}Hs$P~y+S z`a1$&o8O_LJeudaVT2w6^4n5Ugv_4F8u+4L^Fj}tAE`hJq>xzCO>JCd(-g7cmG?^P zhCBQUh?E`}&R#naZe`CGspue4vVW8?ywn0gA`-6`4h2DjhRgpX>;7q&BA{^zP|}Fk zhaeDu68Jq;)peMYzz1}EwZF`GK4r@dQr*!N+%=+W_UmHe<kAG4&R7<A1*u;S3tLfl zn_+GvI@^4dAIqqrT*%Fq7FPUM9#^x+1V-N<Y(Ajez@LVT>MXpPOoTOO2<{?f27-Jl zVqyeGA<Tpzb8UaR5SUQ_f)9HD2;(|NQuWO_T_U)l=oxg5i(ntEymk+3qsycG$)_>O zJH{E#@9cfg=`S{F{*a~I|L8bZRz2@ZxBk|{0QVXY*;g@XYv1A>ZKK4_|6!T({1q07 zSw8W>MLp(zl#~?ykLe0m(L}=h!L@yi8S3$l61U(S3$w5G5&mQ2YC<d=uoiRiVkS4_ zxlBjg<*#Bj*}F0wh9BZk)E;_^mf$n_Iojz>g~Y{-K%E>GDT5Usb^O{Evh%N5ad-)~ zSB&comPeAg$8^(^HpGvOPu^(lREDS~V}gRMsF#qVKZfyilX=baRNV*{BMU7oGS8Li zy(@JBQHEeZm@5e%4L9`9e?Bw$P^efqx+6x3kV(b!%Vd<n^zM?kFEzaX3<G|!c%JW? zKGeuM<tH)9Jk!;2)A5H2Mot3T_EuvIX#r0&Qr$m>!sRi`FAm8VS!vXjPB8TL0S_2@ z^dtg*_-}i(Nd%KXduxtXvVd#~WFck_wOyFzMR2Wr7%}7F3K6Ssz{ikAx=hQg0>oAk zgh>=^s=DKvqty~~2z2)cIu>PG*3cLVq-b6ys3!Fi-D6b#`|<@AqbM4ldPD7tQK-*m zYn_)pgIJf6mA-z^SB-aw`@QXoENOMwm&@8iRXQr&d6+q8T}Rz)Qm?=F?<J#G-Hg0@ zy^jSVaFc$*uI4=?z~m2?#1QE_H)Ja5Z_9!=6}?MXN3<0BIP*WWp-AXBwzT_ORdXW? zHktTsOs)1KZQ`IgQ&i}OS=0U3RgjHjUq6Nxo7Z50JugV-?k&eQuVTN)sLM>R<$j%) zj~YBc*=B$_<zRm~FTj6A6?z9EC77g7ev>U8>ev2Q`GaE!AV`FbkA-d8vpuiBOtMQw z4iAEdFL(c=4CPK+AHBJNH$1!tdMA|9`k;)1x!>|m{dwFk>tTX1zX-jui}o>z&1N|S zef|uI@o(c+JS)gYLFH-x&WfwZ-&OBKkt(T_GC${Rw^i))Ob1=6nW3M}rI5{*8ht^V zJQrnF{#m5d0JLc--}DybBW*!bCsza>PnN(j<o%ngA=rW0QRqU;n`SU`L+fGj8SUb@ zK+^c5xP4E*);r#{YB26Ko3b*Yoi@$&6h^RYEhnO-O(kRCn_N(gqxB)1iVa1tMTlyM zYDGtf-0D(D=rtpTa@bjk9i9Z^d3YWknuJxUvzZJo5Uu8Rf{((E#i&A_u!lPW)y1ag znMl7y-zLIvhL{IGpsF=VZ)UAwr#Bb8GI|8BIQ&(Z5v!RHlqHsfPl2M>z}>OpXU84B zSw69>uwKXfZ{iQd!O+QVWZ*pU;#Cz;TF9f)$l{(X+zCBa4x<|<8oG^J2KF3h&*RIB zBh$ADI3{F}$WI>m1^2vu*+oFeMN06j;M_z2d!hZFS|lDT&8!F}U?@hdS?ra};0oPp zIuW%s2YQcZ$e?g&C#IeI+;HnQ{9pq!Y;_e)^xxbBSzgTp`zLj`0!arJ2!b@jt3M1Q zLOh|C$XZ%9bi=$v9ZD>5ryN^K0<{}{PJq|}Nv*pOR`ujneU-ZTr1leT%hhBq4F#11 zHXav$J}0h>=bMRw)7&zvo;pwTnuQs+c=xBOi=X3!br4x{)k`Lti5BIdw6`~2Fg4tS zntqOeM?7eTSdFSqa{V#auL4{f=q5}#qCL$waO}!_LAJ=>^%|O7mv9<XCfE<%|4a%1 z53Hw{Qb9>*>cxNB73aoSc<|jlz+Axtw#*{mZ~pc`<XptBrpO7Qc;d#N$<-y=TWy?* z6gG8gyxl6jPh&)<jc-TM;-S=5R*d5Z-Qb^+(&k8gm%2*YmEnbIBXKnKb?F@CQ%Mfr zxczF7105u}@+<24+oGonwGBC_CKba5XkVy?hnCEH8d3j*#?I-9HG{Vj7G<x{U10br zb^n-CD|vePyCP20mE#{*4St0;&9yTh(NA#Z{+_C*+9qfMBlkuES(>t-AN+Hoga25~ zFuI2r>E&Wp$<D<A-5ue*3^rgbX$6`|<GE~UX22^Z<-c#fOdXF>ScnQ7FmR?Fzz8Jt zu;3eK*iR*&&8mV^(3sSfi3iyN?aoIGuYn@9mgF0A7miaDt;}#apq*{aL(@A*P>uw* zi7hJfieXuz5V~>=w#UD6-0%S-MY*ULYLIW>TQ#bbrD<wyNoCfNO!nc|F8+Ev3S}Fm zJX(J<4~u=+a(3QxiZU8(;PjtYAOMRK5-S<$)33%-WoL$AfS3tu%Lat#!qcUVha;%m zNP4ivja<sQxG>u^<dPW*P8(q*@o*X-9Z)#1v@*7u?VS!@aQP(kKJpeP4EQ5r{03Gx zO~}p^W3eRC?bu2A%nSoMAFM9RY|x67`$)vIvEWzHbpzw07tE+yUmkJ;IFtCS)yzAl zRv^V}J*J=EBJwxuEzV=<pq^BAJaJZasX%vxU(|5eQM4F4+g7%24Eh{q_7uUvYyHOD z6qNO!CJjFH)=d1$$N2_1|4#AlA<wlNKhe2={U73&M3Oh~MY;qg2fY~o1L)`o63e5g zS`!O&mE`K4V2mdI`HFGnmwmlKs!TIU>S=gcagi9wz3rFsALqET`(y;MCT*gR^Ds%N zlR&-^EuZzJq?vyO$+GAaL?o|oY=F3PJ>hMQCSK^_R3~{-<%kB(h6I6`>5B{WY{px8 z$D2EbJzp1Kz{YimUFLEg81WzJD~*MZLv8kNtRWA-w$RtKtB1KzxMn|wOwQY+aJ8<y z-)C7(+*`YpWWg`M8%+d=S#xL{9<j-)hLFzO1X7+O<wGa&sHKGEqc34hXj(TduZpN` z*YR3kLG7R2M;4u@UhqbHp+UX`1#=pK5Fdu9&EXYbfoao<UHMmYhB8k6&5(Jfe^P9J z2`JKDr8!o1_sdCIbi<=sTU}z%4|I-wiTqC9;~CB+>J?;<4>iGJ9Li_ov{eE@C}&XU z=ViiG5zzzAs+uedjY@RC4K*%VN-}7y%tM6C<l@0@R(D7T{~@w4oAbgD$iRfCeDe^y zb81<DOFLf>E)*iPSGx16!uOrp6`>#-+Wd~~TFJ~rsry>b(G)paKmcaIbXkMmp*1W1 zp7T7jHT<S9=pfe(Mb<_i3aTug)3^#v=Av+4u)q;A2I*mpYB)J-t)3738CnC!>}Dc@ zNLYr8>0uAGGf7P3PCN|hs-P(%tG(eJ<g_1f+HL%e?LYVcWlk`NF)4x)RbNXPOWv+Y zUc&IqRM9gcN4k7)r)SM^(M_QUQZ0k{3wSWAS0yi~iG$-MzMD*!{B<U)QS5lQQK*c& zcHXx)i2pb4IDI@*=3e~US;0fpDF2o?bd)sUBvg<vo`~-g--YW*$&hVZNF4zrR51Y% z&BGce9LK&Fcd0G*R-}x1o^LWA@GB&hdjZiyt9iG>h_cSIbhZxFnNTq%g({rIb<laN z0#NI6+!>t>h0T=yBE|WbguvgsLPl^<kRXY+3A`Y1tL!0Q2lCqIi`mN)#{z#=C0{S= z1WsS=7d;wpfBolAF!X+@T;t+@ep>^0W{+q@zgLNwj49^arfGIB5F}5*JmU&1(1`Nd zE#twWkHdGH(?=g5caw;%)p)#TjwDHqGJQ`+dQ%r)CZ$H&td`jG+YGex<<%@Sw>#`- zC=?KRtI7z<x35#S!m)r}h{?E-c^~AjJl9>_$(|uL!t)$C%$&`Ot&*TQ+pz(^1nBS% zV#lDC43YADjUB5q4J*2-1B{GP2q9uME{{GvLyECgpuo^FeUm$euimIkhmx0gPn~IC z_yq&!*B^6H(m1kpRy|!KVCL<X+vztSvYZDW{IrQY9<UdY=>$ku6A)jJye1Bu7n);~ z{5p#T(q0_dH&+^`774O^iqHTt!eET;!E5RCW35GT$`zt$lpfkB;V$jfC`*Nb(2*v_ z4`r4TlXsZNS#vEi8MS++77M(7P0)cpaWq(bD|9CsGhv3{YKrSt4oZd)xSI(qx>THa z5yfIDt3%4aYq-U~HQ4j7xe~5-1DXtjHBzAd2oAr@s-r;Ib`pg|vLpdCMC-CX>L=S& zdT4tq1Zueu#&c4v18EbAD!ho!%qfj3+hu5~T#BgFqxwN7OD8plXri#+`iT-^xx;+w zQWCN-Mdoy<0D(a!IBt>O55~xMyST7TZ(gq%TMOAU3Wz|+ecQd?`5;cZgBO9p=;cq= zh{_ZuE!33M>pDV;i>H8}2BmMmJ%mx;S0br@oxNjc!5ZAt7WIj~T>TPJ{-fgj?Hbk~ zT#)OuBI-6BKSX8urd3Vri6QfzBSjuBXI17sMCH<ip9`fJ7`J27UwG)5uU1%=+1{GN z|8k0oEgTJ&5;`5VRSx5_c}mG4&Fo~|`=DIq{E){(A*>sAzafD^zp~7-Ln-pMJq)S{ z2}=AFRW!}Z*d9ZcmA&ZR98gOBka;@`z)r!|p<1yWmV7RBO=<2I+t)8_Et6FtWn&XU zqVz%;<E!@T@bA-qPc#Fp%+y%F2;pH8o|LgiOwDc*^n^XRGI3OHvN;ub8R1nN;J0sX zWmuQJYg&*zlLG)JWME_tzv19%8J;p=`!9`%KmA@r%5&a?%RhEv7h?bc%;d_Id@5JO z6>1lp3ln5NzOjm-{+HKXH8)Gfq#;W<2L)N#h6CGS9(!*Ppiz-Rc*QeWSwAtY5=~>l zUP49c^dn!9eH+S8t)o#Co^tUqC#c%c*&zNYL#*~L(h`6!^+SL%xaG9BiyD-)2$P$~ z9ali3iTEPQ$%}l?-e9M8!#IkEUt)J?a;+PJlEj?}Hx%RNF5vG<=QmMdXa1Htijazc z-j<s7K^-5Pn-F^(1R=7e<TttRA!|jc@f-9@irj2fs^I>rf56=oa7HlPZ)~nKG@w3{ zX}=v2SpcM+jnL3emXk$`=bWh8Y&%5T{#;f^qLW*RsF_uFvq*@S$1hwdn%OSpfUyYs z%Aic;3FgY5sUJhAhA0qWgY&V+M;2#L*1@;UX5lN3jAjW@SKXlfB4)S1X-8m8im}IQ zGwe1aoEdW|kq47Tz{q7%RRt^32~In6t7iI3GzK^)zwa`z;oMRM^R4+O6<n?b^DWwa z?(KrQPQLz!@hum^GS{?bAh<{s__cE!ZE+>(#M!T?dVvH|J|w@^E1?<lH(%F~fCX0* zK3+z0BQjyEIKl<&Y`zQyu#(x{V~3bgz`~E@6<jq2^P59Z#O@_-mG3v>rQ=UiskhPP z9Rj{JqdG=?Lb7bJsD!|r^eJq*!!j$vi7{b@#dt~@nLD@Btv>iO0X%LVcoHrR9_pxF zpcZODlSokS&5JXyK57!D(}(`QI%n*h274ZzCvql}aAnp1BFFeyzKAag7Xjukm+8|J z$4-->K_0wFdRxv|A;Avsrbfq_yvRI03qU))LWZg`TO_i-jfq1uVPMGEnX34zTkWJz zqjg^U>xFlwxM=hHa`vX;u8HOHN8lrP{B+kXK+Y9U@zMFFFo2J3jsgvlqEJS^TX5Rl zFHd54abA}(O(?Y!QmJUNRr&Xb+#j{!MXyDZG5SsFM*uB|V8CYbPt1-6eSe{xXaEo5 zk7jUK604XNwMAO(!(S^(UDzG5z#zBOFI2l%2<>THOr6fCA#DkQE%)_h@#|KalE0W# zTUFu&_^^W=RLb3NMYPC|e<<2cCV8Oia=PR=50#q9WtT87?or#w-JuQrys-!NT;9JK z!eEI~itK|UA7c~Z#b9O)o8hzzHh~DSxeTX(3tL~v&CKjuIl3U4D#YPN`w^Yy7MjW4 z%An-nNSUdo#p3n8gV)JSwu9lunR<w<KsJ-%ftp=O;azhzt6fwB49Oc->i^szik<so z&yZ?p4Y*bP7bqRAR&<#=1MDQzq!m4~%Mz0le%l#ljbLHk+n#B5mG#?_{sd~3g+shH z<eVj5gEK5OHJC9?G!VN#FX|q<b#Uv`)Id7Us$}3UkaWxTn)M;xn2QbtJ))qF)`=~; zK35R?K=sl1ZK1i&ZBJbH&QJZA^mjqJ!jCkAsWplF3I4oinI#C4{bhVjw$DmR1!Fh4 z-9cP0R@sIol$=tfNiIxA=LGlz|0IMJm~7uc1V79nR&{iKk+kT-SM^$jK7~~Jt2Nd@ zOdZt6gZ??PcPVV*jgfrl?DH+X$JpW!jKr;UExWe;SoG~W+eAPP=tQlPw`wQLUs=pW z6DS~;RSee~x|80q0C)chX^)i2#MT>2%_?q*2U)rmAH9>LEN^EwI0Ce&2qLOwwzk6b zE;MiTM^`sr!te1!jAwXH^5@5XB+dA&Vb8RxiB!EMNzGOOa%42T993{Zx2|I}TV9<; zp)GhP%3d<{?NN)O;gBk>7>twuRk2)JnO1oNe_QDGmd8^T3)5!gu*GQ-N50{?F$Ts= z-J$d;jV>PiGN7oG^nqhFd|PW_cU!OG-%)cLyI(5IU%ZmK*wCHl(kO)Z^V3$fOM?5J zizu5#L=KGk4Mj9h*br!!*9XcfN^-=+4txH&G&EPlW5l2RVY!V(qQwsGo#8(;d>Gx) z(7j-&iCwzwKhvn{@B`1$B%)Z!yFt!h@Em<IB&TQen&l6FP6CY6Pk;9@VX4aqS}A;U ziNuRL9^tWJ6wHBLVyo)m99mg^ZvA_<QQz9oB)HS6RzF&@-VwFD(g}hv5sj~S0ZzS- z{M29kcDdkw5Js{PhwbWmujFC~ecHa-y0v?%7`N?g(1tbY#(XC1u;CbW0ok<D)Z)M` z^sWs#g>9jwAz*=Za(pv!7Z@%BGtp~+f)Pz9yNQ^~EH+0_8qS*MYG>%>N=z_<b4LM| z)2X*rBMSN@*@D7xVaXX?u}Zt3K+8}Fmc@pO%JIconSN`A%Z&UxV$RLRAG*t;2mO&E z)%RDRp?6tkWd;G@bK*Mvrl?-tVAn2iI!<cOCvMrz2~69N|43crsnN0W3eno!pq1U6 zEWO~BAV6XXf2u!VbNN@;!+{*$>SNzv9(8!@XWE7w7b5scx+~lhLF<(JIe<}$MDkty z+{X$ccE@{k%s(yOT~2OjV#U->B(^jBnOm&J^hQHvAe_{cai@{oTxf4Iapv^Rg<lG* z7RA4?10)|14uS1x&$VJcRzvt$3H>ke`%-%jh*I$5KUY|r`UWd@dmg2nL+_e5nh06= zaz@{!T@4ZqAt#LvR3JiBXiQToe;=e&OvUB1a8n($L4}1*-}x+V^t#8J+OGz1=g<j* zGeL)`6ptG?3xonsB9-zi+J_GoXXU>9mxBrOw-@Gbc7njbxt(j&v2TLl;qnF5vLHWf zupi$=sF(ybZb;0~IE7GQ=_(0Fp^&!}P+@gBtOL%vS_lV*oHd>z5sk%RHYi~rtY1Xw z;}m;>QJ^_8Y|Td=!AmYHmScha2|SoIq(ZdMi@&%hHTRm3L}gm8$Yyy|xe}E2Uam<D zUrGN~r%h~C1rIXJd!h0~E9}N8?@TR*Xo})x?%?XlN%GnmjfIcOknd#aeJ-Pvm|xJj z#N*)FWJf8X)BI1NvcD@@4q6_M90SI{8Ia$(xALjTb4B<<5`qumC656o?0RmM?QV05 zvg@QD>-E`}%qvQtIjQ~-9;{$_d}uKlpj-CnTU_Gcw%7ESnIKw@#{?plS>9lVi~1%6 z`Ty}zn;l-rp@@oS&F1H|+(ZV2yw9>PKy&&Ht5~B_BUP^yL5d(aNN&9Ioz8DHq8J{> z4x{P*BRj1OB@+&MTV(<p_d=t!JE(lP8eE_`SY=;H5+ya7;do47$|_u{rC^h2g!$kr zY^GEDSd05(`h>FF{%(N@s^xSC2<%7Bt@@=sqDxo(y%H-6mZmXzML$h?!)Y8;YXg4t zlc8f*7+Otzc2sH^`{aM7izva>F*G5b$*aL!_F1TQ!J_|Vz`q7of*VIAnRlNC<>sa$ znkbRHTpBCvIRzj)bEnXDE_9iNYwrfB1oy2G?4Gl}4h<FU+y-DI<xw%|1mR|;h#F<T zm0rNF*K=yilITB^;2zF-n(%XyB=7{2g7BdrslejjM5yK_8*K6s)xM6=*7&^kG}hdV zgXelXLvYLQSTX=bDUV>5mT^q6gof)vHR#N;cB&9!5Z2yY2`Z4d(8J$LWLKb1qsMbM zVex<OAQktMV3wR6?$zD@Bx!Sn@Cesu#-il<S?a13dcO1fg0M7Nyuum)1a=Ug??dA% zIP09x4=>>8zWYujhqriPui(OPAz3p%BK*f_RMOCCMbLm4lTF|llOIIF5BOX+co3vq zLF?4*#CG;L0sdHpJpaf-|5#eyk3%%*4T*xjA=zP=lB^~IHRD^;mfl&w5X*ybU|s!z z3%6@)`d<C7&n1QZnr!4A$=0l7cnCXh#7OwtpPOeBX-_##N`imqRN?pfHVu?4^5Q;y zXD8CwO*){QTM#uIp4Qn6G!aBxHsWA(;&(ntWrNH(6*4h?_mYfkyqADJ4(cCck3hML zqAYsiI0L!DxcBy?x-M`ALk-SEzFgKlr={uX0;Bm&az<#J(`dRI#W6mtRqU8pIo%}C zF(hSuL!kp7^M`Go+{K}JH@cH^YrcCBY>dhy(j>rUIY|YBxLI=wndVSI-M?ZyXbs79 z{@nAccL2SPY=?k^xe`R~1ykYv(uP@fwC$e`=%=RCFJzB&$PCx{rmu-I^2;}(N39Oo z*L)<umv&9~1WB2QV%N%u_DHSgcoT)7)ck!FM&)+PDeS85SQB(nifli6T|_aWp6>9^ zl_CI)7TwCDoMaarV?Ox2iIuHiUKRQ^#<+j&q$JwU#bhhp;TSxa=(#thh^Q<A?=HPe zCYW|<AHkw9sd50X+$@O`$0$S0Eq`uNe}EcUn~Q9#SOdp~6QWO`f*&j2lXmd;aWwP# z!%Lk)=o*oZ#T#tM{@zb?PKXd>cVr3ore=Wko1$D0Lx_&h6<WxWWUAkcs~Ns}@E#gf zJ9;;yfN_AHL>KuO(K*PokNm|Q+6g5@RUp+c@db_8I;)z-(BIS>&d}Bc!LmMV2@Q>i zVPI@Lj4{jC3?@3p<GZ8nE<2;6S3DZduJ*lY{EB#Kz*q1ojRuah-J4YMCVDgVzX)Ja zoOhJ4LXQz5-5|&%;3+QWI3WQO^IW1YUa85IAAC;z<K`5=^k$0Niz_7{Dq*((HT{L! zL+i&?2iB#q^j-ma46T&8jn2|<J4MsKz&FjQ8;7$`OCT-T?U$kR5AOm2=SQ`I9N-*# zj<!Vzxq~7x##kcni?>aohBI+__X_AC5jd{((74xMpqqOEw~lEPxk-{p;KiU_x^2)6 z++&2H(3ZiZ9Af+j&z&9bsK(NC0a289UMNPGw~lw;4vHlWc>RrjjH9<l3pC4PvQeb& z!@Fk)Fk42rFgzHgMV=S9KT;-N94nZZvOCI>yi#NH&yff5rWD$T^eZ+*_5dhc3D%x0 zbUT<(2^xxlnzvS~q5Je9(WeP1f2I{c3i}#f#uUH0BLPy6;XcpS2hv1NAUd${wXV1* z`Wsxg#zl}yQ_wa+q30{Aj=35G=Z2|Gx4WHjPa7u*LZ@a(BsPjD?l)34qr7^?$PA8@ zc{|e(iz-uEdccha`^!)58ek((C0n<7htQl$3k1^s#OB1#q+K#7bs%5zE+kx&bJk{j z*M<224~Y-P+_ZAXe@hdLj;%?T?EN0whz&7N0G^&>NS&VA*cS5YoRh+if6-xNc)!h3 zp)^L+$ityFFrIb2VXkayogR&K>4_;SRm4eV2#!HO(d=|&j)ao;3mBN$yqDE%Ust^; zi-W2Dn|Fq*D#SjxEU#K?5ZIb*+!zi}YPPHYm*gC&6fw(ngy~<80xMz<(H6ElT5>H7 zT{1;Rqse8!Eo%s!!iLc|5zWpUyFqJux;OE(Cm@*(l9fq<`*>&S(~o!O=}61vc1Lx0 z7VZXFv#FZ4k&K=T1wg5~*oK<79seMjsQgcOy?NF%&ryz@0mX(vX!@fB69}BZn7;3C z)=DCxsL(y6ra2vgiS2933QD#jZ}uB7HkuxW%#N>Z4fTHjr(I>^gHL|m28#!mgQ2K8 z`?SU4tshEOi44%(tE`QQqUBJv&XYyha*@;JBEiuJBEj=%0~|vMh{>g8ZgG(`Y^efD zPq8X=?Di+*VhPZi91IiN93`;U(Sr=peADdFoFl4?#ds^l$n&{qaF~*#^V`E|u^2g2 zTuSRD^x$DD<0Npd&S2;?<c}pHKXqZ~u*|l27@U~yb+Dr-eA5`dL6X7hHn)vEkvI_W zIQ)--DyhAG0()kkpea8ai%N%Uf2!NYs+gIwGGze&%AMaoG-?RUqLat!K0zkMz)y_f z)RD?!g;PoXB(dEWLP)3jA7vfbi_xZx6aH?0U|ASTfS~?Sx2g06?n?8jwLig*-$u+o z%=&z?H=(B{GUiVkc)if21#Y?z|DM6A1d}*9kr|n_0{Ge=m0W+6|03LKgj0{1w^;>g ztGBoTVZ$LmUrt)|0ja1Ul0Nfa=pey^^rS0@+B^T1wRQ^XuIHc}3H&SxOyY7lT6y&5 z)LQl_bBw&8-Ws5@3<#$g6^ps~y&Lk^GXQ2tw}z3*9N#LOh9lMTauXb}J{cC}w2erb z*fYABA3#z^1XrOKzzcrQpRoC<7Y7{wqZHu)g%inVXuigaBQK!Ig%I<Wa}sjblM5Ms zigl+l2Yn13!M2ay-74^!uw{6_c&G<fz6JKs#S5g&uGr0BKjhDCP30cZnZi6c(VUgs zqh845%B$_%cZ>RAI92%>pD;MPY(m*~P{Wc#z#%~T!Bt~bvh&8LwdJR5yN;e0*yY7a z(<#b!uI=d$yxlAqYB%xcYMtuy-g+s@bNOMtSp_u69R2EJth9XINyEs8ib^*3Wi(|( z1#2viB7P)g+slNbkM>#bG)E9_*n$J)JO#=23K`N%kG0Gdfq$O|5KhM+7`lU!GOIg) zOIAXnea4DAj)F~fGDs2$aF<Ug#TeXHD_fK?7=kEv`eEU?pKbvzYIjy0@ERH<+j@UI zHl7lt*8j*0wmUsoFQl(U+e2T^m1%8jyzl%-dSJ&`&eIAp-0{oc?D2%?9Ujv!WZ21P zZy)Hnhw;mY=O7q@LG>l>#Z+u8dWtv#79dV8W?~2H8_u0peNCUId7JixQGX1xBz<U3 zSo^SRt`;W?E{NqAIMJJ1VAni`#&-Ncx0LINfxt10wcXa#hD9YKUHCj$t0_NPN!`0c z1e-2ul^k2DD8%gUnm^ocdT-Fu*S1=RcU$si?jWICgEWQf);J72Ui42a8v3pPFa*pU z_2v{b`)>IgKl8?~Qd;op5=<3)#^@EK@UpEEr1QsZh-uC~g>wlvv+FiekT{<9f;<ax zcxsK#?teM2lTAD<z#y;fNFtu=6E@RarO=Jl_gC=3I_h;}4J5+dC~ukyQyxrTVYb%; zo1OCo{!EzxQ>P)rs9<C^#2Op`dQ+`voz0pwbi(AV3ogbc1*gb)Zv3|E&T&kBC9KYa zyD8xLJ|}OX%Bzl;c7>sRj$PYv?@71+Z&Lt4H5wd4U-_oLT}t<-8TBK$&z&r9(}Ei% zX+jvmI|2%ucYD41^7aAb=r}$nS8}N2B^!c@L!((npojWRjm!54`9&RY@4?8i3qH}= zdsYAc<Cj6@?FVJYJIrF*;gK9B>0F_Ch+O=u3D>d|M00SS)v`Et`<#8K8a8iX5vuR- z1q;*3Or_qW<STq^j-36SLZoNaQelxk14fc~i%lX&B~m3o3pzYgE+W00U#Bu%Tru{B zAQssbTsj2K2x`p;`a(h&e};#Jk64)CD=(J(-}}CROme=&jQ2@!hx8M5nb?O{No(YB zFsWPb<*hUqt>d@+(}RyN;Ad(NdT?*|iI?=u$@CA;JTRJhk6;<Ruc2Fvo4btF)`$qI zZ`T8#g@_M;aSTtI;q;_Za3dEb2aPqwvMM8%T)T#g9PH2@J?MjKD7+2Y&8Fsqkgp0y z5P}vv{*@drb7+_RHB?@5tbEAiLqPce_g0+YX!sC26=m_3iWd@E(If3`&UtctVqWpz zVbKWWyl2rz!UPuu;}nTx6_@ICE!rY|hZlM2P4_?k5JqeOPYRyOq-5(M@?rTa5?8v; zU&O(+Im-!-t#tm(WNH!tO2i5Y9?7qY?~*hoXKD1h)j~|!L%o>gP*)8FC?d0_JjyH| z(X8{wNIzu3*aXG>Y8q4t{c#-$?sr;6m?8QAzZ?gz;J3<>G?taI@*Zh}uEV{Jzq5zb zpJ~HDEDnfGl<^J-$?GL`=tHGvO}XfC9w_QzzBlA#C<YsEVy?)4;uaaE?;yvk5%?Ly z>Gi1?rev$3AAVy>)>;rvK2@m_n<=b6=C@=fpF;<kgfpymAnBvN8Q!!f>Vr#uFM3Vn z_b7W}h@(KipfB$D@+mj(i6>Hb7!rw|p8VTCCl&lXfDV&7)iE`OXMT5Llsl9YLvP?n zbSA0A)uB<J;%kvm9e^9pgQp~R;GBKh!3T?;g)eAOr9Y~72-wOA2t3vQwTwb(9jC_z zmEkJRuU3}MABtrS`@IEGJHPUd+@E`8(=~*uCyTDC{d@3=I#+D|r+TRTp0{Tp@_0E9 zu<7V_yb-5a8h<{wdpufEz^?0KwkkhCoa^)S&IDt8Yy@kUC*4D3;YH08KO2wUFh<Db zQ$3lzZ&&~wNEfS`sAbT+q3+ZvDKubEd)az*MBO0%Z|6iD>R_>)gj8l!*#%<0<)N7O zpISvV7@Y}ed2O({PiGeY2v2B6jpe!~fQao)vx{ENc)<AhQzieDI=4<}Z8bu;{MaKB z|G(Unv6+Q1JUruhGP5y%;XgMoiBRQpHT$mRv)ZDLRTk;wbax502PQDxNFM8a2*0sO zPhXt<MN*VEOJcKFnmSvo7;~P4;Jt$xFc_dVY#!Gp$LxdhduzfF7JTidv8_}@fs$qg zxpu*&PVLFTxNKKtekLu4430syirfu(R@XIhM4h`XBuruFK1W40r@a)`YbiCmzzzFF zO>12}wMlo*tlLO>gV49f6)Ny=oU;~%jgWQ73n~xZA(gPP<{-ixPFKgxTSOH7@|wE! zubz7sQP4gyaL2Jf3lEWJ%0Kjf0yLLCH_{&10%Dh(O-}m19SjX>*47Xd)|mU_xWC12 zDxP8*;~gRynoK-fU%(~GsSTD}{!<AzXJkO_q@<F1VE`NU&K}3hP)z;RY@U|J!XT{V zAe4FAoBYxFgMhF-gFfa!&7ceX(D&I3bIeP7#2CIfF51>lP5fb;+_w<59w0Y(I-?s^ z8{^b(aWoh!ns{2SQQ7z{N`5d1!#%ysz+z>*@l(BctC-W?36!P7=BcQ{vLb-qa)r>r z-3g_AC`4Z}#51H`7O-4zQw|qAFnRROZXhk)wOEwNSBYZcMsvuhNR2KqZKO06nO)ca z#lX3{_(V23FWLXCJl6vP4V-aJp!hGne(<n@WSQepGuDOotN!|sv19`c*wBuxE7o1K zKn?Ww$n}T)+;#b?6G~iU1))?X)?v0S!-EV!Mh;}jQWGTgaF*Yb;w7~!+txyQcgY|W z@@{_>U~?T1J9h}N-!;Ck5R3BUolr`dhRdTH9Q;@)^DTPKh$!c{0lG=&bp~lM&*?d) z-DlOVBvX{Y-2vtBPWs<e26Qs@2*<y)8W|(M(Y1d<6?vVfF2ho?Suu>H=O`)ndmfp< z1@BqG`2>+rsL0i8?9{K`(Z}h3{gckbXV{NqFmrWv3jchppci7I2i-nvO%vWi`k2=b zT`&3@@d84Y8r!y40>rX=<D*!9R$!UrdcIg#{2~P_i26vqQl%o`i9)q!?08Vi*0wg% zh^?Tv6^SM)dghS>j~F{C?|>aZ8#>4Urr~7~(Ue@Dbt2=24StR`pKvS$DW<I?B5mNZ zCx(cF>+rIpqiCGXXqdI}Owj$wUKy?`kG9#Yex=+SQZXK&04iO3MYFarT%42r)d>O* zXP>TK+B=TL;DQpU3c(+0et8JV9#_7rMQ{@<ZfFH{6jrr_&niu#VivX4gGuHcU13@< z)q)r*Joy(e`I`BPmug<(x5FTZ`Kq_u<8&}r8g%!;9xW2Y-_A#;ZTq~#dRXbYA5Z?s z%!6`b(ItM90~m7#=1%Q(VX%u}6pUflwE5>`V>Zwk^VP>i82*cCY)yq=bf9lXx0loX zyAy%#ZG6?F4IKe+fx<7>s{2hWFto=m;5+5RR_yQcP<345P3yGq2O**;OUI|j>-ilJ zRikWLK4au88`+^kYA#ojhq9`fo1BRNZ{ygG1Y4|VfUNWUT|Twb8Ypcin(lEy0M0pm z_K2(_Qa0;<)7$^F(3QU`G9<d&=b0kZzuBTxOd>r+Lu<4I-G^o?c{T%bWk4jLjhBlw z_os8dj_4yqx-nJRTXa+`1ENs|f{-%4ymal@ylkbdZDsqzodGDdZ->ToNep=jQv1_4 zI?y+F03U72D``=MFT(854a9?;w_|)cyT>Dtq}bcn0jmB_{Uagw9cA)=E)IWb#=^fX zbaVvk{M4pt`kJ+!6h-Ba8#JPAk~7gZL*Rq9uU&80cWp6f=$aLUM$aXd>e*$w^5VI{ zJU0%z>gOgQ$~n=74aVjG<z^wQqHf4Z=Uh5*;GfGDu)Ut`2stnPEgpF-+*GN9U8eXP zpS4DYbQ_jsqt_cFyqaGodN)gLTr$8;b<oH`?YMTd`=MOh`{!bg*u`v2FSY$z<qu!( z0vOJ_yu+!^TQ;>a`OU9d<|l&9VAIkFqR0DxHC>tK7~LlhDL(%Scl}m9K10i;*4MH` zAOI#_EHoPqE;i*?&1MX#49NPMjGyZ4yBc#5i-fzydX7jV4wiqB1{|Vu<*VfHEmHBi z`fh?d=_bi|$6yg>Kfh5O5e!#HD)ary$z=2Zb9ItNu-H*88)L{;>KaJ!x+8QKch=?x zF58=ci!>qxuADVLb?0UIvC-v!VjNx~V48{q!O2o1A9Z!EnBIpys!eB-l;r2SkjSxf z)tl)&#@uAUpmHpT&M7ps9V~&wkk%ozOS_-D(4bNRHHAC73EMT5Be5-Sl}8_b6x$4c zy5$SWRs|T<oCy$9GWBUVrw?Z<o9P^pQDzQv2|3AG;O(M7yhi8eDkZ%!dFu}b7%vh! zP}OcGJ9QjVvgU%4gtn5>l_*O4Dn*pi8QzK|ggkY2<bKOY@sSta(M%5*DpOzU>(S6{ zEm!J?C;b`qxjC_tKlEd=1&r|s_ad^0D<oPu#d%>YA!<Q`j;2_q(F0!yEo@GE`;7Z; zh}m#f6zYdNSh_BKk;*3=R#y}Ok%SD6?n;qsD_FtO$<T%EGB0By1d_42esHvl4s^aH zQx`kjd-((%6{HMp1di9>)Ku9MYhtVkJ8YRn?aoOjNDP{zbTMa3?=x=Ii{+Rd;*B5| zsDZ%?-6-$_1(?<?0&&622>UYk&0=zL{!Cj~KJ@$=&CkQ;Oc6Xn4~!qcf9E6@hgm8< z?IA<@a_pOXHm{|wnszlcd>OqBff)0}9C_o=0&CMOa`MrJ_OQz9mAKrIg^GL4%U6)t zB*P@EV^QvDokz!1o+icr$;>-HD?ys7W%AeiaGPIZgGBSVFkXg7bf^+X1{l$()xEU` z&AO0SM58a*RH@h$*kpMF;G#(!oi=~<8=@oVe4GqQBJyh#3H6X+Q%Uoy-P_fj)sFao zeRByWUyN~E6$Pr$Ow+gDQZC1%2o-5|#!G;(8~l{)<qt)d=|ILTwQk;=L1_@3&hhh4 zehRh6VJvZWi3ldRtzJqOQ8<}8P=@e<1z+h1kle*AR+=6+v%Z`G?Aiay8WKHN5smv4 zt3*is6Ea7avY*>LiYaG7&W(O4+wjP*N`oMSGK>h6?8`wpWjs<_p$q?){@lHLM=e3X zLzxIqT|D(%oanCb9E6WcoT*>Cdi|v}*JW3(Z%Gw=F;z3jgy2Wku!QzxzCOdLI2p)z z1NrX=`f_L+`cu^%Kyco2NpKqa#pmsX*4abn^_APgWBaC!>->h^NNc9K({cT+PpAQ| zzl3_kU(v@_-AH>yj^(>?1>i%fip@9@ji^KQRVDDA)Az~Fc(wW_ZNBh;IG?uT9MEWr z34unoY}pp6>Q#!+s%D<Gt~S;45DDoDN&dd{drecGixjd4CSPNCJ2dsa%F(~M@owoq zy=4S;7G_%?AO45<F-!CLL0JMxqj*90`x{x?jzk4gJ?$1I6wNDdVoY+$C?g=)t#S%& zg+%HuC;68{PJi29G{z|VRn}7?H0T=BIcPzEUo^U#(vRhXjj7^{F@)Y;z<k*py=;(| zG=MlT-|AS}IGxwnA}`-k+c-e2Ysf}9I!l(vt!<^eHxvvPM(e;UkuF>!%cQ(AV^KZc zFO-QxKt=Y#noJagM0Dgokc0B$vpU-_Mo4K!`iFLyZ}@e^sLd-O4<kzg7CT|}#q&-e zj3X7hsDwEv-PDX{L}EN`L=|OFxPU@G=k84#<wpA@q}XUu&CV$Me30TmsfKukXQ)o$ zE*kBKdyz-b88y`7lu^8dcLHsPG(jSVIsJ!3m+0x(BQ**xb%?$W=S--o|0Wq`e`ej# zEY{8>Ynk*}wN#aJz#}}jtVRUK+|UUi5+<me$44a9HG#<~`=8zo=$YupU3IS}iQ_Fn z86H$n2mz|4p`>{-7?MLm9m(c}ZYmK?Um6qx2`bKwKWqY&+c2xSA3ya<koGbwMKk!2 z&LU91EW0n-SK4waU23&fQXwE|(9`<6Qir=mc9wJ9+<>ES6eER|fCX)>y&@1$vS56` znKs5?U!WAHMe0Q$<?jCR(+@qK`9ACcWGFe(^^d%V=wTq_C8bY96SF*2A|An~@Dv@I z2)ByaJ1#<2*Kf-q$yv_vusXeh=)$1ceA9nZ*Lce^w3%3k_RLwLI!@G3A>EKeiezXr zG<CG>;z`Go+WwlDUXkavw&86+ByH>yIwX){&l~cp>*1K#+;S7arx-PSf}VJIbzMal z<YotNL2@EO4i1S6tTNR#<v>LGFRDbHjCabM3i1!$Y6_1D!_v0OMoV8~<p3jH^Lfd4 z0>|)C0U51}e}Aw#li#FbwbRXt22_2Xj7qFEtO%ZJ7COud!JHC4;gb&_<pqj7b#5WA zeU2Fi4A9Q$is=~|@8YrBZ@DW5TF4lPH2&i?J|h;%1JS=)Gk{&BdgwUf#V5|BeoL&E zo!&h(`GEo#TzEnpqM{&%_J%N<$NVKhOUeanSCL-el>^(_V!>IeiwPQ_5oDzI&x3n{ zqo#c^$ZSVmzm#t|h&v1@6$ttIs*1vR-OU_iCo01Wgt4vt3RMuqX(d4Y>&wqfbcjM- z(FYrT*a#9&D26?Pv-yOB(om`hua9nWZ{|QT2LBdF)L%s?!uBgmniniBny?WfL&m!h zR%6R^giK%5Ab$=wW<m%<mZZk!R3SjA!55wi>!%D7jvpkSlgu3;&=cR*zIt!%^q*rj z>2=gg2{Gek_LmW7O3>2iCFv@u<fyOrkUA81sqeE+Zf?F4R{=OpVE*fwY=4#A?aO_f z;@0Oum9W7+olSgROlPhY?SwUxK-cI)tn47t=eQ&)J^C~*2Mo(^j%?EEOROo_96{m7 zgP5Om-h|3S)Aq&yx80a`%NK$C4i8ZaEj}#)D%Zd(47^e1{>N<`G{~d^HZxY04%9WZ zv<{AQl2&@%Z~05uzVUb&QPwEEyEyfgM8tuGVl#O8wMZX%y6rDK$)B!QjJ~k+V3VOr zjTv6FxOx4{tKX(Kx{mDQE@XT+YFQX$kG@ru6zpyF-xd!5YvDJgtvE>QTy~jIE0$s~ zT?palHL6%Vx<v`I>7A)+qm~&Zez$qEHmmp)+d0_>>XRYUh{>u9E}{#^U8p&B@;*`g z#&W$ibF{{uS7HO@+7;KBU!BZ((2em324sKsgj`(B??Mjf8%dro{l%gv3fNG4yml}L z{biB=qwAc4E8(Jb8{6)5Y}>YNJ008Hv2EK<$2+!d+qTp9f4Nns>fZA@-q%_+Yt3(b z3Hp&jfRx|K>v;~upoF}BBw=<FtuZeT<Ur8vMs`Avr}Rb2rpEAlkwINei2r1pEd8lA zO)oLRqMzRj(--<Le+ozuEdKbOr%Baq0^nN=X<W}-)}3#p9{)ANEk}9nk|>cuYKS*! zx?Ik+68@vB1<JfFX8c8)Ll{ku8@(g4WjzQG24F$M7v8S~&D94M!A@2i7k(%O&&Mwb z-i>73a*+v*D<hXk<+d92!eFDg2UNSF)HE=?f9CvwN2v|<T4U2ZYqL~ax@TXH)^~u! z5MQOnbU?O97Ytw!=X<R_8QbIoZw#-?v-5y^6vYUHH$kC$)QL;X5UHaGk0Y^%Fx^4f z0W7qmlGP$st0EB1@NC=IQ5$mNLZLQ{`?Q^fNzbpJ_bMeN^x6kq361gJ&JE=?$@B=b z>+~BVHZaY`*ZOp0GYEGXUUJf-lz`mIwn>@i55tDGelLwVoh9ZLO|x@k^&nQUd1|!Q z4Uz@C-o0(%FyUObKw$R$!glz5;(R$S3gC@X0K%<IBsmVL@@b}SvRQ^Ou~=4^8IZ~q z<o75*OY8^Ey)U(=FKP<&$;r99%IbIh-TSDSo)GC3>#S+cz<ZeclWkeYM*0VHvl#2F zam!7xl_dk-iV6!sZ*924N-zx#|4CuqG^6Q`yv_MmmJ>E&uo96z(T>aSZGJ?*34jM; zgm`d?GV(6|$y_@fTlRE%YRc<0)n^4Jp3TO~mh!1Yk#BT$_8snoZsi<=+H>+6EIkre zEFx6mJEg9LiEp5L=568s?etuWg}?Oo;vCL&tYttkH^6Bv1Zm8M%+Te*C<bwedPrRM z*CBd&n2%5jGH$-qV(7jEl~%#A7(ft?lQ-x{$GRb_6=o@5YjhhYq$NuMcsb=Rx`J=n zJ-C>yTk{x_>2#o}4WBi$dMFZr$=)`cUd<3<EFoMeJO&vWiaI+#bG*`79nJ8a^JNk< zN4y>r0l&h)um7Ls2$onYK60^zSE2JK$I*MIESQ*2<*eN)_JHrGyn$9P4nP14&E<+o z9N{8SLNv7fw7WP&Xsz{Sc_phBNfPK7+h*o;Gxsh7Z+O<x-!UdKY9EJK_7OT+4?d>i zT9km-0YTm+pyl?3guT*oaUhjHvE7_ZFRE5#Fak!H&%$IrrgHBc8iKaWE3SkfcvKDh zm6$!x6wuYZW`T8N{v}Y;3Q!+FTFndDCqxq6kbnKMLu_cT-P3MGhPC!nT?_eR?5TO} zTd7otVLCrPsoVVO)TT)|YguKvuO&RV3oUMQfuI5=y@~FK(oOp+hEGgp26PugX#10c z8r|6-{|=hJQK7RSjnC5tT0^YwBvvRVVr)I{FGU}ya)~y`;@)=h3=kSQE78smx@B#` ze4GI>8n4yM5Iqm~N6_(7l5fv*R7U?1D3z8U(Bkj|i|pZzjV;bzoB19_yTwhVKs$JH z|E1IpUM<<8SgCYW^NgS*!e}b)7NY^Oel!})TY>H}XK{Ud;7u7n4_59w(~suG(}31j zsK+nktTrO>($hCr29Rd<GYIap=Bnr_$>V7}WNN_LlOd?1Bd>Ydk%5MPRr&a|T7F{` z*8q8^yMDuY#ch{$6TRmhT+t6P9#RJrPgc?!Q5V@>v?e^%*5MUvWiJ#SPLBv=UZ;}D z_&6plf2tlPmv(8d73NRB81<*3L(i#PqD2C8G(veHr=oaX0Vs@#V)lh*>5;>UEIlAn z;J7tJnd*uT-jBKp??i|<)}UgK+0yHSanTD$?QZ6Y7GBJeyFgT-2%HZqJs5Qusi~)5 zo6V%MpmuVmyvs2Jr@A0Uk4}W#B?;PcFeNM2UO+o6`?P8to)(ayZ!eX&Zey!AhS|-) zJf|rZ!CFjl0G^!NK}*TjaH5^morBTf%7+BmQ}<ju2JU#j%Rp8TjKKSs4hav83zYn6 zY#GnuhnO%AqAL{JSO!V>NTnHxPkXn=GXhN7xz+h1PGY}XHl{2b=vETh%Yo2Gq<lno z?akNRHc!^x!4%ud|6SB-)%eB07M&DIPpg1qa?wRcz>cI{M?<=8y2{u-GP<2qEG_(b zO6tvsQjE-jv<S!_f@xbvER7Odvn}piu!8`@u%Hy62r`X;UJ6m#43z#bQ+l;m9IR<N zQAlF*m?ya4M4(9Ks0!Ke4meY#pu-#_-2e&V7TIla52iJfu*-SN-4>K&kZxslzql!z zWq0QSfd4*Svb;P{ugn)wNWNbEgp)qOTZsh?s>O11q>#xKQPw|_XngbmRu@^NDXIv< zAUL;HhMp+I=SFAvupNEMS=~4{>x7xub+DM=n{j=|YL7tH#AcM2wT0|1hOLZ5&YEN` zMpHGOE>5#5S1EYSWWVsdKS-61oTyXj@pk<mAeuJdPD<uSMKcV<W)~)q4B{)f6QNlz zaS6F}-YCmM03#l7!8?efN(j~^ab=A}M)EA<w5R!(9(N{@=+V6<3lHN9n*yjjQEYZ$ zd-Om~hU7fM78GGu!jUA94#xk7d<u*!*$k1^EkCO_HZ%h*?9;rQy=x+|7rAw(&ua7o zAPjZ3o5eIJ0~@$La`n&Zov<55vU^<?>dE<HMb=GE1kG%9&_MecjTsVzfCYvVYO2jr zsG}d<YTrPD1CvCA>(Dtaz;Vn%7d4FelQCxE{&j#e?~nIs^*Q36$?8_#VyHKjZ!zRi z++|dWZSvHwF@`t%>#|-^KIa04rDY^4fQ@AIZz!6T>|nf%MdEFoJ{Q09DNXVWc3O;d zI4tuy&K81+j0bUNv#^wwr0;SWSVRz>KV|cHL?u$;*ftH%bbCpn8*#e+bX`GrLsA%U zllg|DYHrZfNULt73zfOc{TdxK;$w}CM?XqH1AFTivdI!lmr<F3igq`j&1)KQfRRA> z@-Zjm8=~z$`KhkROit!Uia$F;Q`s3_=&TMVC;tolLZ<lh6KVY#NGS=pc_(QSCZ@j# z#R>UhQh-QsvZp1&g~J;P5+)&UR#z7WH(R205$F>iS(Ay;XZR9?Xj@k5k&-4Q!sK5E zXw+^d_&8Zz;em0NhT}JG07N+Vsn68V%byMccNrVI@ksNLka7zb^x*E&|6)eO<Nh;^ z%&bHYtOVRgd6Tvd7R1&84ScBRo6bA&<iBiaO7S1Q_u$@ek4&-}EyJ(A%WO;%Xteb+ zeuDe-t|B5vOZ|C<lbh~r3YuIhf$-;mn-G`WE|K-1a(o<nwO67r{HhOVD;w4i!MF$$ z@aVy0RZWtYz7$u{yG}S6V9|;47w()O&OmPK{LR9mR-|WH6tpusqrO{Ne65P(n<x*x z`t&teM5h%y@7j4e-M^AE=cNrXfVt-BU_tvWSvgU~nW}kh#5o2AA?&udEPELsSfiQA zssNk~?5tMgNZ5ri(aIMQ<=61q=V66z;i89l`iHG)IhQSdtynIf_Bl<bC|(aU`F(EL z)Vax>6GgVFoH>)a-s(Rjpw>*8ctXZ+k<OGb*2)()yw~I`d=uw<VtXZi1eM<roWp5L zC+s>%T_=+2|J2IEm|nK^=!a<loOuYS1jE*x!}|y<gYwNXbzAsPOrh}@q#Rqd2^Y|y zHsOgiBuKk`P0&X^L#|SR@LKYSs1dy1Nr-=XHp=tOWw3v>bEtP)oA-jvman!({#83i zDS2WZ#j<^f+d^l80PT&O%;NF>xZ_o17r%cZ_VrLU;*-w&XJolvn8w%*Ah6DoD9%*A zNKD$T%KGQHS!V|sQfi!I*-m14ZJ&pO!YWZC5udE3rjScrXH+jc&M~dZ4;?8blA9SE z_EVWO3oCh40VW%uu-D$@j)nir+EC47Ny(4iWQ=M#@xSFICTi-sw-i^~1z(lap{NG( zgVG`i=7q&UAX8ysw(b%*z|72kVxVWH){daRrZF9L)ZZ8v3i7gcVvEU<T%njV?kAho z$6r>is_&5zazo->0<S45NNGlTaaHafqP*7_`JUYcu@0vr4k15dTSLJRGRmJME*{9y z-*6rV=rU6yUE<<cbIej`u|c|zCdl?^3?j%<tjNs`!fw29^=4uK9C)hJB+*k)&h?5R zmFSpM@0QLcHc{@>en^2;3F_TD{yOA~w9BrNVZi0tV_ZgXDF4^Y9xzA{6Id?*SeIJM z=3=p;<(~Z$qlI-TcK?706W+$~6sAgfj#ar~A<CM1lr-)Yb9=405~MNfkAN;{8Gc<b zmf#VJdeSIj9KYub_<dpKi0Yw3JjIS*E<Xio)s)5-2PK5p#^&Qx;fy9kh?S*87bX+j zj9?nTe9%q1`K!~Y8kQpNsyX*>GoEzwwh;eE#^oFq4}F=Xyl))A{3kG8B8KjB^I*|Q zE*;yB@%htt4~HBRT5)fRmBKYrG+hFhr#LT|rYP%pqzHWmkQ`f%OoQag0??ZM;a(9F z6$>ig=R8{Xl#a7wSJY>6dLSe3|3z5yBj)y(5BjPfwJ<hX<LlWES22`+FWj|vOz8-n zAr7q%Gf#l<U&%t)#yC>k%b`d}QZ4a6+`Sa19(@>d9d4xbNcOPXcA_}4ADxRINj<T# zjjg!0s>&b~Kyu`!bsRY3up~t{ej|~5ox9<nm_WM#CIpt(g<jpXYpa-7nMR9a)z$(h z#8LA&Ol3bS-L4cN-Hg#+Nt2dtdOxN%`$sl<<-+(=C#c(lyX>3%n*R<{SD;#bYnX<H zJTtMqDx;QG|8>0H#VtkR^szACjh(0fcuH_I7XiN=pwv?$W?(Tjtj##zGSe=h(R6yE z@?}7(hLauEQ4r#xN3f^L2?Acc{E>Zf4p8SQ$sR$_mbHuPsZSPu2kK<I7Jg@0@f(`> zo)O>asYUUDx?(s8smLl|PA3SW<d`NJRz!TQWN^278^(tpQdR<RJtiAnEYZrv6@J5B zD##`cutW+!V^o5^u?zbH_g{=&nS1eW#5&K!Jj*^lY(dKUc&H$h0!^8&k#Y`!M#m8K z@If}UWaSObR9UQ#-Oxx~$lLX_RcdAZ6zd@?hO&Ye&7_T#X#aMSqa+T`se!6hQ*29Z z%BWCZ>~`tyGaMZyLB-`5)=g?PA9)*@fEu0*&>7R)G~YdeFd{%fMMNoDocbFLnHmI< zY23-Snl70?9Xh~Q5i!yNv3rq_Er3Z8IbSA8xB&IPv!9R4)f^Z?_5B>$S<D!t+0TvA z+<yVL+ZO@K9s62DDh;A1y4vB)whq~LzBZ7d|94jpHM~v^uo^^ZK+9#iUA-FGfaOmG zkoOS$p?}FF@(R<k9Jo(xfY}RJM62Td?s#i?nm{prUn-HW7p@sor{P4@;IO?`_5~8< z%>k(<Hws2nFZtvm45J?JSjf7Rlx<<>g)p*_ZUnj+fW@(zmIC`kf{RTe2-=1~6D;c3 z17XW$x2Wr~p_HY+=md(&Fo{e@*%UAUt;N<FkOkuJV0S$ch4vpgLsJ&>R}DG`?kwvF zv9P$7Iq^E|pZ2eKgTCLoi`@Nug4RwgxLYLnyd}7yN1+FnR4qQ!IOu;<>k5AN!D-Vf z+=$Gm+w@pUq)dQnfvoy0SM3w>35b!pm7euxAkq}KaD`TJn3W3BB7YpDkg{U~8W~>? zG1(%XOHhpOiO$4fRI=O=gyDoaYOCQ1!L@yau2F735GMV;2)wae+X^ivQI%_Y=xapj zB2Mg-`0hj<Is=bP`ayF@kA@l}har2V{E7YI(c-Fn*?vy)6fkMvVhKCtsUzPYW3oVS zDF~>|j8wlvztrg9GjN|AhNmI{9T-l$2iF6INQy1=ej*tY)g|C;EnihisWgqQe?=}- zu$f<JzeJv4N6qv)5;bS*hy~oa#h7WoEYL5D9Pz@?LZdI2gzak`9Yhs~mNb!Ar~d@Q zp@p!jCHd{7;4eZRDJiIwcwGop|E;!0Kh29HlU)<GgCi%ozZgDly~%n9y#CkSOq3#^ z*OX@k3p~t9;=fyB=+(T+%u5_pzfd<6qHtug_f*mQcpp529d_-s`SM1?%Cv&zg|U_t zF@mgu0wMbA^QZ4>ZSN8hzbOUHs>jWk&sDZg9-;)LQY(~uAO8?bi&xs!*_|CH2NWTJ z!X?v*J<{pL39jHT?*Udf0Q0=;b3RtVrM3qiO0814eBYN9yzwvg@26&M8#o7aih_Rv zTbEop`vY;`J>Q>4XyI~T<`U0RQVcCNzm33N9)HMlbRkuVsNJgf!{W8(=P$5H8VbW) zNMu5MBIT!m+OWjtseL;05~oowG|%lvIcF#!&cci>ki02v7Ge^V0FBAb>UQU|a_};m zCv5ovk^nNjq72z8W?)nch6ug=aw(%-+#&X+S+!IgYtwQfaUkZA&e(;9;(zJWx@a|l zt!(w~%VE9P+K9;Lc8VON(xfN>39;Ob`2wJx!tWL_hGHZVMEYavoGHS$Y<YkI$N|JZ zh_ven2l5<-8RBkDz~fDP8%+Zjt*M8QN4xj(uo)-ppalt=0Py9Aq6A&e{jiq^=~cI# zwGbzCF1Qj*yjH+L+%Mx%T{bNuAxH({n;$hAj(04I!&nm)7Tr`)yEZrwh^AuAQgYLr z#?TESC4fC}kaKxR8I87MyGmP9D_GZy5nMj_%*ZlYp5*cgsKn4J)sv78l#q!HOsyeC z9y^J0i8}8&vf!13@5;ppJNvH$jl`6s^L#-hB*8S%iP0o%_ot3W&1?a)s}m>gH8vlu zyYxUVJG}VkxH3k;bMYkw#Ir^{A{C;EJsvy*!Bj-(9-SeLE!#H9-jSCI)7iO{DS$#f zmM3+p&6zzIKpZGhB*t=zicOl7=tV1V#FRP=)Lu&bA~pSnB7=(=LJeq?05REr*{1Ad z{Zg5ZDFIhvio$*Xw^sI!$Lwq(ygZp^g#xNSGswbrtR#{LDY)u%#G|OBR0XE1XM?N! zB~1_LM5_w;DFOX&m{rPpo2L?|$DsR8@g!TiE9FQ4*hV#pUmQwE<!q5dFwI-B(2%g# zmn1A5)Ibs%5dnx1_-nbFj;W{z@%t_gTu8|m)h!~i=(p2tjQbZGt&>F1wW#~)7X2X! zd?78K(<kQafBXW&bhsZeFGE!acJnD1{&X1C%weu`t`YDXaF0Au`*kcc`D&j6t!#U% zxf<I5A*v43lESx=S)I`uP4D1+y{cZ8oC?VHtx0|QF|A$8`y+C&yh;##J1TG1r>`b0 zGT48ZK!!p#V2H<iW&-UqF&+XeaH3*)v4x1fUg7UfX3bpghjx?A(s4Pts%BRS)%$?L zl>X)(i2L43g!iiNV{gumsB7@D6+<#AEA-X?t*S6wvO<`_N>rKW#PgNfsv#bt)O~zO zN^KbGA5aka7adL$&F4HDszSWHrw)T$YPIQNaos&HU0(6k@=KJu%QCF+D6_io_W0dZ z1w44^<Fp}_$jaqdOx1yOD*rZ{XP8V+@ygm7O6>B8<R?ovQUh(4q&44P!ALz&x=RB9 zrJ*`9kE>i`!6%wF@&av;VZ0OUJ-k@aiR+YjSjPZdXw+~;)rzDKX*9V{n?Qrbu3nfQ zx34Es26bu@oIV{frXXL6rgWRp31^DuYs8|Vx*FK=YyVES{|5OtpXtx+EH7172kR60 z>8{F5PWH#LKRZiP{{sU4Cw<SCpZ+4nx&7-FQg(3+_2dgPwx`7FXVKVoleaf4R-cP2 z@O*w~pPRDSqPMI}@SzsNtT4VC7On7r+Mn#i?Is1AsNwg#f7a=OVIv}W=7!A+89Mt| zSl3R`tb`ti<C*F#u7*Tiu?w{+aoH-<oiNIL4cIU~!ic=25C03ZIg7ra!5$_ro>BK& zqXk8?o^_NQ=O#ECh0!uw4ZN-(Ky<o-eEHAiBkN&~{oq+t*_JL^Le@hq4*Z;Zs*qTN z`H0T%UD!FVTc2O%HF=Lv?U8%!uH(Oa^sUGO<_sUP*Ims19<D`&!+*tCR4(|ayMwpt z0;p7XOIb*$UQ;?dVKA^~iSW(kpAw_1IdGJ^ta={Rf@tF@T(~c~SO!h(>nPhj6&#D= z*IQJjpmFOXPSdZT3T>UAmg@*;W8o}Q;ol?$7dYKxEf4M}X#4wLiYa4fTSB;RQgde1 z&FxiQ`Vvrjn`$q?RE}UC?R_(3T`%pq19TrP)OCWeyؤYel)+d!ZY5b;(cTeB% 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 $7V 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 N7ln>aPF)`5{{ZWv>O=ql diff --git a/lib/matplotlib/tests/baseline_images/test_patheffects/collection.png b/lib/matplotlib/tests/baseline_images/test_patheffects/collection.png index 90e62bdbea4b371e898ec14e8d8e4d4986ee72fc..07410efba9297c09430270e9af43f7b8314e1fb1 100644 GIT binary patch literal 244602 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ℑ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 -8{;}=V5eN6ItJm9L0b(<#P=S!XL1cD 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­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þ=JBZL+2aVnmp6RkOuxp(6J6H)p5_lg*T_)SKO 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 literal 321390 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�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 JsT9IH{|~!_?{)wH diff --git a/lib/matplotlib/tests/baseline_images/test_patheffects/collection.svg b/lib/matplotlib/tests/baseline_images/test_patheffects/collection.svg index d65624e4d375..988cc34ebe56 100644 --- a/lib/matplotlib/tests/baseline_images/test_patheffects/collection.svg +++ b/lib/matplotlib/tests/baseline_images/test_patheffects/collection.svg @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="utf-8" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<!-- Created with matplotlib (http://matplotlib.org/) --> -<svg height="432pt" version="1.1" viewBox="0 0 576 432" width="576pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<!-- Created with matplotlib (https://matplotlib.org/) --> +<svg height="345.6pt" version="1.1" viewBox="0 0 460.8 345.6" width="460.8pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <defs> <style type="text/css"> *{stroke-linecap:butt;stroke-linejoin:round;} @@ -10,4561 +10,38 @@ </defs> <g id="figure_1"> <g id="patch_1"> - <path d="M 0 432 -L 576 432 -L 576 0 + <path d="M 0 345.6 +L 460.8 345.6 +L 460.8 0 L 0 0 z " style="fill:#ffffff;"/> </g> <g id="axes_1"> <g id="patch_2"> - <path d="M 72 388.8 -L 518.4 388.8 -L 518.4 43.2 -L 72 43.2 + <path d="M 57.6 307.584 +L 414.72 307.584 +L 414.72 41.472 +L 57.6 41.472 z " style="fill:#ffffff;"/> </g> - <g id="LineCollection_1"> - <g id="patch_3"> - <path clip-path="url(#p826a730be7)" d="M 518.4 334.72133 -L 517.62762 332.945455 -L 516.625014 329.454545 -L 516.148322 325.963636 -L 516.202403 322.472727 -L 516.786706 318.981818 -L 517.895275 315.490909 -L 518.4 314.404313 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_4"> - <path clip-path="url(#p826a730be7)" d="M 518.4 117.595687 -L 517.895275 116.509091 -L 516.786706 113.018182 -L 516.202403 109.527273 -L 516.148322 106.036364 -L 516.625014 102.545455 -L 517.62762 99.054545 -L 518.4 97.27867 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_5"> - <path clip-path="url(#p826a730be7)" d="M 239.376785 311.52453 -L 239.774497 310.885967 -L 241.327064 308.509091 -L 242.77047 306.704026 -L 244.194395 305.018182 -L 245.766443 303.431394 -L 247.774935 301.527273 -L 248.762416 300.704087 -L 251.758389 298.379423 -L 252.238363 298.036364 -L 254.754362 296.416993 -L 257.750336 294.662449 -L 257.973181 294.545455 -L 260.746309 293.208915 -L 263.742282 291.938233 -L 266.167407 291.054545 -L 266.738255 290.860467 -L 269.734228 290.013471 -L 272.730201 289.341869 -L 275.726174 288.848686 -L 278.722148 288.536142 -L 281.718121 288.405645 -L 284.714094 288.457781 -L 287.710067 288.692317 -L 290.70604 289.108196 -L 293.702013 289.703546 -L 296.697987 290.475686 -L 298.53229 291.054545 -L 299.69396 291.447456 -L 302.689933 292.641974 -L 305.685906 294.012306 -L 306.72313 294.545455 -L 308.681879 295.642195 -L 311.677852 297.496936 -L 312.476471 298.036364 -L 314.673826 299.68456 -L 316.950732 301.527273 -L 317.669799 302.189089 -L 320.546091 305.018182 -L 320.665772 305.156257 -L 323.40806 308.509091 -L 323.661745 308.888794 -L 325.637846 312 -L 326.657718 314.097289 -L 327.306334 315.490909 -L 328.417091 318.981818 -L 329.002547 322.472727 -L 329.056735 325.963636 -L 328.579102 329.454545 -L 327.574517 332.945455 -L 326.657718 335.049229 -L 326.026125 336.436364 -L 323.912969 339.927273 -L 323.661745 340.262609 -L 321.175022 343.418182 -L 320.665772 343.964992 -L 317.760051 346.909091 -L 317.669799 346.989049 -L 314.673826 349.472759 -L 313.467031 350.4 -L 311.677852 351.632481 -L 308.681879 353.524026 -L 308.039384 353.890909 -L 305.685906 355.12016 -L 302.689933 356.512612 -L 300.544507 357.381818 -L 299.69396 357.702335 -L 296.697987 358.660073 -L 293.702013 359.442246 -L 290.70604 360.045332 -L 287.710067 360.466614 -L 284.714094 360.704198 -L 281.718121 360.757012 -L 278.722148 360.624818 -L 275.726174 360.308213 -L 272.730201 359.808622 -L 269.734228 359.128294 -L 266.738255 358.270292 -L 264.15848 357.381818 -L 263.742282 357.227712 -L 260.746309 355.936519 -L 257.750336 354.469269 -L 257.310819 354.22916 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_6"> - <path clip-path="url(#p826a730be7)" d="M 238.985829 95.081953 -L 239.774497 93.753283 -L 240.820684 92.072727 -L 242.77047 89.542012 -L 243.551876 88.581818 -L 245.766443 86.279178 -L 246.983206 85.090909 -L 248.762416 83.571599 -L 251.242953 81.6 -L 251.758389 81.232705 -L 254.754362 79.266146 -L 256.691653 78.109091 -L 257.750336 77.530731 -L 260.746309 76.063481 -L 263.742282 74.772288 -L 264.15848 74.618182 -L 266.738255 73.729708 -L 269.734228 72.871706 -L 272.730201 72.191378 -L 275.726174 71.691787 -L 278.722148 71.375182 -L 281.718121 71.242988 -L 284.714094 71.295802 -L 287.710067 71.533386 -L 290.70604 71.954668 -L 293.702013 72.557754 -L 296.697987 73.339927 -L 299.69396 74.297665 -L 300.544507 74.618182 -L 302.689933 75.487388 -L 305.685906 76.87984 -L 308.039384 78.109091 -L 308.681879 78.475974 -L 311.677852 80.367519 -L 313.467031 81.6 -L 314.673826 82.527241 -L 317.669799 85.010951 -L 317.760051 85.090909 -L 320.665772 88.035008 -L 321.175022 88.581818 -L 323.661745 91.737391 -L 323.912969 92.072727 -L 326.026125 95.563636 -L 326.657718 96.950771 -L 327.574517 99.054545 -L 328.579102 102.545455 -L 329.056735 106.036364 -L 329.002547 109.527273 -L 328.417091 113.018182 -L 327.306334 116.509091 -L 326.657718 117.902711 -L 325.637846 120 -L 323.661745 123.111206 -L 323.40806 123.490909 -L 320.665772 126.843743 -L 320.546091 126.981818 -L 317.669799 129.810911 -L 316.950732 130.472727 -L 314.673826 132.31544 -L 312.476471 133.963636 -L 311.677852 134.503064 -L 308.681879 136.357805 -L 306.72313 137.454545 -L 305.685906 137.987694 -L 302.689933 139.358026 -L 299.69396 140.552544 -L 298.53229 140.945455 -L 296.697987 141.524314 -L 293.702013 142.296454 -L 290.70604 142.891804 -L 287.710067 143.307683 -L 284.714094 143.542219 -L 281.718121 143.594355 -L 278.722148 143.463858 -L 275.726174 143.151314 -L 272.730201 142.658131 -L 269.734228 141.986529 -L 266.738255 141.139533 -L 266.167407 140.945455 -L 263.742282 140.061767 -L 260.746309 138.791085 -L 258.0146 137.474507 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 518.4 334.72133 -L 517.62762 332.945455 -L 516.625014 329.454545 -L 516.148322 325.963636 -L 516.202403 322.472727 -L 516.786706 318.981818 -L 517.895275 315.490909 -L 518.4 314.404313 -" style="fill:none;stroke:#000080;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 518.4 117.595687 -L 517.895275 116.509091 -L 516.786706 113.018182 -L 516.202403 109.527273 -L 516.148322 106.036364 -L 516.625014 102.545455 -L 517.62762 99.054545 -L 518.4 97.27867 -" style="fill:none;stroke:#000080;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 239.376785 311.52453 -L 239.774497 310.885967 -L 241.327064 308.509091 -L 242.77047 306.704026 -L 244.194395 305.018182 -L 245.766443 303.431394 -L 247.774935 301.527273 -L 248.762416 300.704087 -L 251.758389 298.379423 -L 252.238363 298.036364 -L 254.754362 296.416993 -L 257.750336 294.662449 -L 257.973181 294.545455 -L 260.746309 293.208915 -L 263.742282 291.938233 -L 266.167407 291.054545 -L 266.738255 290.860467 -L 269.734228 290.013471 -L 272.730201 289.341869 -L 275.726174 288.848686 -L 278.722148 288.536142 -L 281.718121 288.405645 -L 284.714094 288.457781 -L 287.710067 288.692317 -L 290.70604 289.108196 -L 293.702013 289.703546 -L 296.697987 290.475686 -L 298.53229 291.054545 -L 299.69396 291.447456 -L 302.689933 292.641974 -L 305.685906 294.012306 -L 306.72313 294.545455 -L 308.681879 295.642195 -L 311.677852 297.496936 -L 312.476471 298.036364 -L 314.673826 299.68456 -L 316.950732 301.527273 -L 317.669799 302.189089 -L 320.546091 305.018182 -L 320.665772 305.156257 -L 323.40806 308.509091 -L 323.661745 308.888794 -L 325.637846 312 -L 326.657718 314.097289 -L 327.306334 315.490909 -L 328.417091 318.981818 -L 329.002547 322.472727 -L 329.056735 325.963636 -L 328.579102 329.454545 -L 327.574517 332.945455 -L 326.657718 335.049229 -L 326.026125 336.436364 -L 323.912969 339.927273 -L 323.661745 340.262609 -L 321.175022 343.418182 -L 320.665772 343.964992 -L 317.760051 346.909091 -L 317.669799 346.989049 -L 314.673826 349.472759 -L 313.467031 350.4 -L 311.677852 351.632481 -L 308.681879 353.524026 -L 308.039384 353.890909 -L 305.685906 355.12016 -L 302.689933 356.512612 -L 300.544507 357.381818 -L 299.69396 357.702335 -L 296.697987 358.660073 -L 293.702013 359.442246 -L 290.70604 360.045332 -L 287.710067 360.466614 -L 284.714094 360.704198 -L 281.718121 360.757012 -L 278.722148 360.624818 -L 275.726174 360.308213 -L 272.730201 359.808622 -L 269.734228 359.128294 -L 266.738255 358.270292 -L 264.15848 357.381818 -L 263.742282 357.227712 -L 260.746309 355.936519 -L 257.750336 354.469269 -L 257.310819 354.22916 -" style="fill:none;stroke:#000080;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 238.985829 95.081953 -L 239.774497 93.753283 -L 240.820684 92.072727 -L 242.77047 89.542012 -L 243.551876 88.581818 -L 245.766443 86.279178 -L 246.983206 85.090909 -L 248.762416 83.571599 -L 251.242953 81.6 -L 251.758389 81.232705 -L 254.754362 79.266146 -L 256.691653 78.109091 -L 257.750336 77.530731 -L 260.746309 76.063481 -L 263.742282 74.772288 -L 264.15848 74.618182 -L 266.738255 73.729708 -L 269.734228 72.871706 -L 272.730201 72.191378 -L 275.726174 71.691787 -L 278.722148 71.375182 -L 281.718121 71.242988 -L 284.714094 71.295802 -L 287.710067 71.533386 -L 290.70604 71.954668 -L 293.702013 72.557754 -L 296.697987 73.339927 -L 299.69396 74.297665 -L 300.544507 74.618182 -L 302.689933 75.487388 -L 305.685906 76.87984 -L 308.039384 78.109091 -L 308.681879 78.475974 -L 311.677852 80.367519 -L 313.467031 81.6 -L 314.673826 82.527241 -L 317.669799 85.010951 -L 317.760051 85.090909 -L 320.665772 88.035008 -L 321.175022 88.581818 -L 323.661745 91.737391 -L 323.912969 92.072727 -L 326.026125 95.563636 -L 326.657718 96.950771 -L 327.574517 99.054545 -L 328.579102 102.545455 -L 329.056735 106.036364 -L 329.002547 109.527273 -L 328.417091 113.018182 -L 327.306334 116.509091 -L 326.657718 117.902711 -L 325.637846 120 -L 323.661745 123.111206 -L 323.40806 123.490909 -L 320.665772 126.843743 -L 320.546091 126.981818 -L 317.669799 129.810911 -L 316.950732 130.472727 -L 314.673826 132.31544 -L 312.476471 133.963636 -L 311.677852 134.503064 -L 308.681879 136.357805 -L 306.72313 137.454545 -L 305.685906 137.987694 -L 302.689933 139.358026 -L 299.69396 140.552544 -L 298.53229 140.945455 -L 296.697987 141.524314 -L 293.702013 142.296454 -L 290.70604 142.891804 -L 287.710067 143.307683 -L 284.714094 143.542219 -L 281.718121 143.594355 -L 278.722148 143.463858 -L 275.726174 143.151314 -L 272.730201 142.658131 -L 269.734228 141.986529 -L 266.738255 141.139533 -L 266.167407 140.945455 -L 263.742282 140.061767 -L 260.746309 138.791085 -L 258.0146 137.474507 -" style="fill:none;stroke:#000080;stroke-width:5;"/> - <g id="LineCollection_2"> - <g id="patch_7"> - <path clip-path="url(#p826a730be7)" d="M 518.4 362.474642 -L 516.247498 360.872727 -L 515.404027 360.207548 -L 512.408054 357.754837 -L 511.966626 357.381818 -L 509.412081 355.060995 -L 508.157644 353.890909 -L 506.416107 352.114966 -L 504.769756 350.4 -L 503.420134 348.831885 -L 501.79218 346.909091 -L 501.456195 346.455255 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_8"> - <path clip-path="url(#p826a730be7)" d="M 504.157279 299.474077 -L 505.424806 298.036364 -L 506.416107 297.023839 -L 508.894701 294.545455 -L 509.412081 294.070531 -L 512.408054 291.391906 -L 512.797533 291.054545 -L 515.404027 288.948061 -L 517.182336 287.563636 -L 518.4 286.666614 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_9"> - <path clip-path="url(#p826a730be7)" d="M 518.4 145.333386 -L 517.182336 144.436364 -L 515.404027 143.051939 -L 512.797533 140.945455 -L 512.408054 140.608094 -L 509.412081 137.929469 -L 508.894701 137.454545 -L 506.416107 134.976161 -L 505.424806 133.963636 -L 503.420134 131.689804 -L 502.364587 130.472727 -L 501.900382 129.864024 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_10"> - <path clip-path="url(#p826a730be7)" d="M 503.685728 82.859524 -L 504.769756 81.6 -L 506.416107 79.885034 -L 508.157644 78.109091 -L 509.412081 76.939005 -L 511.966626 74.618182 -L 512.408054 74.245163 -L 515.404027 71.792452 -L 516.247498 71.127273 -L 518.4 69.525358 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_11"> - <path clip-path="url(#p826a730be7)" d="M 295.620089 271.819679 -L 296.697987 272.056696 -L 302.014968 273.6 -L 302.689933 273.816318 -L 305.685906 274.917812 -L 310.729123 277.090909 -L 311.677852 277.533144 -L 317.669799 280.704584 -L 323.661745 284.453348 -L 328.020681 287.563636 -L 332.649664 291.263619 -L 336.307669 294.545455 -L 339.77822 298.036364 -L 342.838584 301.527273 -L 345.492325 305.018182 -L 347.735863 308.509091 -L 349.555779 312 -L 350.94822 315.490909 -L 351.898129 318.981818 -L 352.398806 322.472727 -L 352.445147 325.963636 -L 352.036679 329.454545 -L 351.177567 332.945455 -L 349.874474 336.436364 -L 347.62953 340.75745 -L 345.981386 343.418182 -L 343.411386 346.909091 -L 340.433873 350.4 -L 337.045583 353.890909 -L 332.649664 357.876087 -L 328.957364 360.872727 -L 323.661745 364.695257 -L 317.669799 368.437273 -L 312.219005 371.345455 -L 311.677852 371.616057 -L 308.681879 372.989155 -L 304.044809 374.836364 -L 302.689933 375.330241 -L 299.69396 376.282213 -L 296.697987 377.089784 -L 293.702013 377.749317 -L 290.12047 378.327273 -L 287.710067 378.612626 -L 284.714094 378.812645 -L 281.718121 378.857109 -L 278.722148 378.745816 -L 274.643497 378.327273 -L 272.730201 378.058248 -L 269.734228 377.484591 -L 266.738255 376.761118 -L 263.742282 375.891088 -L 260.636824 374.836364 -L 257.750336 373.714477 -L 252.508558 371.345455 -L 251.758389 370.979932 -L 245.766443 367.687093 -L 239.774497 363.808789 -L 235.766994 360.872727 -L 230.786577 356.756434 -L 227.668857 353.890909 -L 224.285139 350.4 -L 221.308228 346.909091 -L 218.737378 343.418182 -L 216.582987 339.927273 -L 214.847402 336.436364 -L 213.545049 332.945455 -L 212.68515 329.454545 -L 212.276607 325.963636 -L 212.322956 322.472727 -L 212.823737 318.981818 -L 213.774635 315.490909 -L 215.16554 312 -L 216.988607 308.509091 -L 219.228846 305.018182 -L 221.878943 301.527273 -L 224.938509 298.036364 -L 228.414576 294.545455 -L 232.322578 291.054545 -L 236.778523 287.495933 -L 242.77047 283.328405 -L 245.688738 281.516839 -L 245.688738 281.516839 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_12"> - <path clip-path="url(#p826a730be7)" d="M 307.108404 58.358612 -L 308.681879 59.010845 -L 312.219005 60.654545 -L 317.669799 63.562727 -L 320.665772 65.36929 -L 324.149753 67.636364 -L 329.653691 71.67533 -L 333.235406 74.618182 -L 337.045583 78.109091 -L 340.433873 81.6 -L 343.411386 85.090909 -L 345.981386 88.581818 -L 348.140016 92.072727 -L 349.874474 95.563636 -L 351.177567 99.054545 -L 352.036679 102.545455 -L 352.445147 106.036364 -L 352.398806 109.527273 -L 351.898129 113.018182 -L 350.625503 117.319892 -L 349.555779 120 -L 347.62953 123.657519 -L 344.633557 128.120632 -L 342.838584 130.472727 -L 339.77822 133.963636 -L 335.645638 138.061545 -L 332.407884 140.945455 -L 328.020681 144.436364 -L 323.092779 147.927273 -L 317.452912 151.418182 -L 311.677852 154.466856 -L 308.681879 155.84433 -L 305.685906 157.082188 -L 302.014968 158.4 -L 299.69396 159.136658 -L 296.697987 159.943304 -L 293.702013 160.602082 -L 290.70604 161.110025 -L 287.710067 161.464847 -L 284.714094 161.66495 -L 281.718121 161.709432 -L 278.722148 161.598093 -L 275.726174 161.331435 -L 272.730201 160.910659 -L 269.734228 160.337659 -L 266.738255 159.615014 -L 262.717533 158.4 -L 260.746309 157.727966 -L 257.750336 156.567302 -L 253.989006 154.909091 -L 251.758389 153.828089 -L 247.287403 151.418182 -L 242.77047 148.671595 -L 239.774497 146.654022 -L 236.687981 144.436364 -L 232.322578 140.945455 -L 227.790604 136.840348 -L 224.794631 133.802481 -L 221.798658 130.368456 -L 218.802685 126.32307 -L 216.988607 123.490909 -L 215.16554 120 -L 213.774635 116.509091 -L 212.810738 112.927647 -L 212.322956 109.527273 -L 212.276607 106.036364 -L 212.810738 102.035232 -L 213.545049 99.054545 -L 214.847402 95.563636 -L 216.582987 92.072727 -L 218.802685 88.492277 -L 221.798658 84.508753 -L 224.794631 81.065649 -L 227.790604 77.994541 -L 231.488132 74.618182 -L 236.778523 70.36316 -L 240.577174 67.636364 -L 246.051443 64.145455 -L 251.758389 61.020068 -L 256.429264 58.85828 -L 256.429264 58.85828 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 518.4 362.474642 -L 516.247498 360.872727 -L 515.404027 360.207548 -L 512.408054 357.754837 -L 511.966626 357.381818 -L 509.412081 355.060995 -L 508.157644 353.890909 -L 506.416107 352.114966 -L 504.769756 350.4 -L 503.420134 348.831885 -L 501.79218 346.909091 -L 501.456195 346.455255 -" style="fill:none;stroke:#0028ff;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 504.157279 299.474077 -L 505.424806 298.036364 -L 506.416107 297.023839 -L 508.894701 294.545455 -L 509.412081 294.070531 -L 512.408054 291.391906 -L 512.797533 291.054545 -L 515.404027 288.948061 -L 517.182336 287.563636 -L 518.4 286.666614 -" style="fill:none;stroke:#0028ff;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 518.4 145.333386 -L 517.182336 144.436364 -L 515.404027 143.051939 -L 512.797533 140.945455 -L 512.408054 140.608094 -L 509.412081 137.929469 -L 508.894701 137.454545 -L 506.416107 134.976161 -L 505.424806 133.963636 -L 503.420134 131.689804 -L 502.364587 130.472727 -L 501.900382 129.864024 -" style="fill:none;stroke:#0028ff;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 503.685728 82.859524 -L 504.769756 81.6 -L 506.416107 79.885034 -L 508.157644 78.109091 -L 509.412081 76.939005 -L 511.966626 74.618182 -L 512.408054 74.245163 -L 515.404027 71.792452 -L 516.247498 71.127273 -L 518.4 69.525358 -" style="fill:none;stroke:#0028ff;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 295.620089 271.819679 -L 296.697987 272.056696 -L 302.014968 273.6 -L 302.689933 273.816318 -L 305.685906 274.917812 -L 310.729123 277.090909 -L 311.677852 277.533144 -L 317.669799 280.704584 -L 323.661745 284.453348 -L 328.020681 287.563636 -L 332.649664 291.263619 -L 336.307669 294.545455 -L 339.77822 298.036364 -L 342.838584 301.527273 -L 345.492325 305.018182 -L 347.735863 308.509091 -L 349.555779 312 -L 350.94822 315.490909 -L 351.898129 318.981818 -L 352.398806 322.472727 -L 352.445147 325.963636 -L 352.036679 329.454545 -L 351.177567 332.945455 -L 349.874474 336.436364 -L 347.62953 340.75745 -L 345.981386 343.418182 -L 343.411386 346.909091 -L 340.433873 350.4 -L 337.045583 353.890909 -L 332.649664 357.876087 -L 328.957364 360.872727 -L 323.661745 364.695257 -L 317.669799 368.437273 -L 312.219005 371.345455 -L 311.677852 371.616057 -L 308.681879 372.989155 -L 304.044809 374.836364 -L 302.689933 375.330241 -L 299.69396 376.282213 -L 296.697987 377.089784 -L 293.702013 377.749317 -L 290.12047 378.327273 -L 287.710067 378.612626 -L 284.714094 378.812645 -L 281.718121 378.857109 -L 278.722148 378.745816 -L 274.643497 378.327273 -L 272.730201 378.058248 -L 269.734228 377.484591 -L 266.738255 376.761118 -L 263.742282 375.891088 -L 260.636824 374.836364 -L 257.750336 373.714477 -L 252.508558 371.345455 -L 251.758389 370.979932 -L 245.766443 367.687093 -L 239.774497 363.808789 -L 235.766994 360.872727 -L 230.786577 356.756434 -L 227.668857 353.890909 -L 224.285139 350.4 -L 221.308228 346.909091 -L 218.737378 343.418182 -L 216.582987 339.927273 -L 214.847402 336.436364 -L 213.545049 332.945455 -L 212.68515 329.454545 -L 212.276607 325.963636 -L 212.322956 322.472727 -L 212.823737 318.981818 -L 213.774635 315.490909 -L 215.16554 312 -L 216.988607 308.509091 -L 219.228846 305.018182 -L 221.878943 301.527273 -L 224.938509 298.036364 -L 228.414576 294.545455 -L 232.322578 291.054545 -L 236.778523 287.495933 -L 242.77047 283.328405 -L 245.688738 281.516839 -L 245.688738 281.516839 -" style="fill:none;stroke:#0028ff;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 307.108404 58.358612 -L 308.681879 59.010845 -L 312.219005 60.654545 -L 317.669799 63.562727 -L 320.665772 65.36929 -L 324.149753 67.636364 -L 329.653691 71.67533 -L 333.235406 74.618182 -L 337.045583 78.109091 -L 340.433873 81.6 -L 343.411386 85.090909 -L 345.981386 88.581818 -L 348.140016 92.072727 -L 349.874474 95.563636 -L 351.177567 99.054545 -L 352.036679 102.545455 -L 352.445147 106.036364 -L 352.398806 109.527273 -L 351.898129 113.018182 -L 350.625503 117.319892 -L 349.555779 120 -L 347.62953 123.657519 -L 344.633557 128.120632 -L 342.838584 130.472727 -L 339.77822 133.963636 -L 335.645638 138.061545 -L 332.407884 140.945455 -L 328.020681 144.436364 -L 323.092779 147.927273 -L 317.452912 151.418182 -L 311.677852 154.466856 -L 308.681879 155.84433 -L 305.685906 157.082188 -L 302.014968 158.4 -L 299.69396 159.136658 -L 296.697987 159.943304 -L 293.702013 160.602082 -L 290.70604 161.110025 -L 287.710067 161.464847 -L 284.714094 161.66495 -L 281.718121 161.709432 -L 278.722148 161.598093 -L 275.726174 161.331435 -L 272.730201 160.910659 -L 269.734228 160.337659 -L 266.738255 159.615014 -L 262.717533 158.4 -L 260.746309 157.727966 -L 257.750336 156.567302 -L 253.989006 154.909091 -L 251.758389 153.828089 -L 247.287403 151.418182 -L 242.77047 148.671595 -L 239.774497 146.654022 -L 236.687981 144.436364 -L 232.322578 140.945455 -L 227.790604 136.840348 -L 224.794631 133.802481 -L 221.798658 130.368456 -L 218.802685 126.32307 -L 216.988607 123.490909 -L 215.16554 120 -L 213.774635 116.509091 -L 212.810738 112.927647 -L 212.322956 109.527273 -L 212.276607 106.036364 -L 212.810738 102.035232 -L 213.545049 99.054545 -L 214.847402 95.563636 -L 216.582987 92.072727 -L 218.802685 88.492277 -L 221.798658 84.508753 -L 224.794631 81.065649 -L 227.790604 77.994541 -L 231.488132 74.618182 -L 236.778523 70.36316 -L 240.577174 67.636364 -L 246.051443 64.145455 -L 251.758389 61.020068 -L 256.429264 58.85828 -L 256.429264 58.85828 -" style="fill:none;stroke:#0028ff;stroke-width:5;"/> - <g id="LineCollection_3"> - <g id="patch_13"> - <path clip-path="url(#p826a730be7)" d="M 252.463841 388.8 -L 251.758389 388.458991 -L 248.762416 386.886792 -L 245.964022 385.309091 -L 245.766443 385.199804 -L 242.77047 383.435421 -L 240.170639 381.818182 -L 239.774497 381.573888 -L 236.778523 379.636219 -L 234.836236 378.327273 -L 233.78255 377.616065 -L 230.786577 375.521468 -L 229.835248 374.836364 -L 227.790604 373.346389 -L 225.110927 371.345455 -L 224.794631 371.103939 -L 221.798658 368.771489 -L 220.637938 367.854545 -L 218.802685 366.355597 -L 216.387931 364.363636 -L 215.806711 363.862068 -L 212.810738 361.262734 -L 212.361604 360.872727 -L 209.814765 358.529195 -L 208.563289 357.381818 -L 206.818792 355.662287 -L 205.006907 353.890909 -L 203.822819 352.625321 -L 201.713953 350.4 -L 200.826846 349.355875 -L 198.711205 346.909091 -L 197.830872 345.744723 -L 196.031914 343.418182 -L 194.834899 341.588675 -L 193.717461 339.927273 -L 191.838926 336.470609 -L 191.819691 336.436364 -L 190.344779 332.945455 -L 189.370823 329.454545 -L 188.907753 325.963636 -L 188.960289 322.472727 -L 189.527895 318.981818 -L 190.604785 315.490909 -L 191.838926 312.755837 -L 192.168903 312 -L 194.159522 308.509091 -L 194.834899 307.541602 -L 196.54849 305.018182 -L 197.830872 303.408192 -L 199.295782 301.527273 -L 200.826846 299.798665 -L 202.360595 298.036364 -L 203.822819 296.523414 -L 205.710124 294.545455 -L 206.818792 293.47879 -L 209.317935 291.054545 -L 209.814765 290.604885 -L 212.810738 287.883434 -L 213.163096 287.563636 -L 215.806711 285.293239 -L 217.235515 284.072727 -L 218.802685 282.789875 -L 221.52706 280.581818 -L 221.798658 280.368422 -L 224.794631 278.048574 -L 226.055632 277.090909 -L 227.790604 275.799593 -L 230.786577 273.623443 -L 230.819823 273.6 -L 233.78255 271.531018 -L 235.891611 270.109091 -L 236.778523 269.510825 -L 239.774497 267.571347 -L 241.318687 266.618182 -L 242.77047 265.712351 -L 245.766443 263.942612 -L 247.23603 263.127273 -L 248.762416 262.262234 -L 251.758389 260.68185 -L 253.910007 259.636364 -L 254.754362 259.212667 -L 257.750336 257.844753 -L 260.746309 256.618463 -L 262.059497 256.145455 -L 263.742282 255.512149 -L 266.738255 254.54345 -L 269.734228 253.73793 -L 272.730201 253.099215 -L 275.570554 252.654545 -L 275.726174 252.628764 -L 278.722148 252.314219 -L 281.718121 252.182886 -L 284.714094 252.235357 -L 287.710067 252.471394 -L 289.02109 252.654545 -L 290.70604 252.876985 -L 293.702013 253.443181 -L 296.697987 254.17751 -L 299.69396 255.076666 -L 302.689933 256.1366 -L 302.71175 256.145455 -L 305.685906 257.300755 -L 308.681879 258.608602 -L 310.811255 259.636364 -L 311.677852 260.041387 -L 314.673826 261.569126 -L 317.505828 263.127273 -L 317.669799 263.215591 -L 320.665772 264.94012 -L 321.812449 265.639609 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_14"> - <path clip-path="url(#p826a730be7)" d="M 362.45708 298.151566 -L 362.609396 298.327645 -L 365.420445 301.527273 -L 365.605369 301.766649 -L 368.168848 305.018182 -L 368.601342 305.661634 -L 370.564405 308.509091 -L 371.597315 310.34325 -L 372.559357 312 -L 374.111322 315.490909 -L 374.593289 317.076668 -L 375.193721 318.981818 -L 375.773616 322.472727 -L 375.827289 325.963636 -L 375.354193 329.454545 -L 374.593289 332.124031 -L 374.367493 332.945455 -L 372.914333 336.436364 -L 371.597315 338.816175 -L 371.00098 339.927273 -L 368.682177 343.418182 -L 368.601342 343.521156 -L 366.008403 346.909091 -L 365.605369 347.369554 -L 363.006257 350.4 -L 362.609396 350.814847 -L 359.711955 353.890909 -L 359.613423 353.986591 -L 356.61745 356.927554 -L 356.157566 357.381818 -L 353.621477 359.711889 -L 352.360165 360.872727 -L 350.625503 362.379304 -L 348.334366 364.363636 -L 347.62953 364.947175 -L 344.633557 367.409457 -L 344.085499 367.854545 -L 341.637584 369.777376 -L 339.607803 371.345455 -L 338.641611 372.075385 -L 335.645638 374.290593 -L 334.887612 374.836364 -L 332.649664 376.428722 -L 329.894729 378.327273 -L 329.653691 378.493124 -L 326.657718 380.478337 -L 324.545061 381.818182 -L 323.661745 382.38326 -L 320.665772 384.205315 -L 318.742393 385.309091 -L 317.669799 385.936486 -L 314.673826 387.576311 -L 312.261616 388.8 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_15"> - <path clip-path="url(#p826a730be7)" d="M 518.4 380.383651 -L 515.404027 378.394519 -L 515.306459 378.327273 -L 512.408054 376.326484 -L 510.316758 374.836364 -L 509.412081 374.184083 -L 506.416107 371.966299 -L 505.595067 371.345455 -L 503.420134 369.663693 -L 501.11853 367.854545 -L 500.424161 367.290246 -L 497.428188 364.826826 -L 496.868851 364.363636 -L 494.47315 362.288242 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_16"> - <path clip-path="url(#p826a730be7)" d="M 470.005975 319.015405 -L 470.011565 318.981818 -L 470.46443 317.547646 -L 471.090564 315.490909 -L 472.645063 312 -L 473.460403 310.598177 -L 474.638484 308.509091 -L 476.456376 305.875808 -L 477.03347 305.018182 -L 479.452349 301.953481 -L 479.781894 301.527273 -L 482.448322 298.494914 -L 482.845243 298.036364 -L 485.444295 295.332515 -L 486.192542 294.545455 -L 488.440268 292.374961 -L 489.798865 291.054545 -L 491.436242 289.569772 -L 493.64429 287.563636 -L 494.432215 286.88623 -L 497.428188 284.317104 -L 497.715198 284.072727 -L 500.424161 281.862402 -L 502.01211 280.581818 -L 503.420134 279.481038 -L 506.416107 277.176926 -L 506.530358 277.090909 -L 509.412081 274.964615 -L 511.310882 273.6 -L 512.408054 272.819123 -L 515.404027 270.753349 -L 516.373989 270.109091 -L 518.4 268.762695 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_17"> - <path clip-path="url(#p826a730be7)" d="M 72 288.401438 -L 74.921749 291.054545 -L 74.995973 291.126784 -L 77.991946 294.029461 -L 78.529375 294.545455 -L 80.987919 297.11674 -L 81.879354 298.036364 -L 83.983893 300.44734 -L 84.944139 301.527273 -L 85.621368 302.393448 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_18"> - <path clip-path="url(#p826a730be7)" d="M 83.827687 348.87471 -L 82.527919 350.4 -L 80.987919 352.020222 -L 79.234056 353.890909 -L 77.991946 355.102728 -L 75.676972 357.381818 -L 74.995973 358.005417 -L 72 360.761273 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + <g id="matplotlib.axis_1"> + <g id="xtick_1"> + <g id="line2d_1"> + <defs> + <path d="M 0 0 +L 0 3.5 +" id="ma2bc695f4e" style="stroke:#000000;stroke-width:0.8;"/> + </defs> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#ma2bc695f4e" y="307.584"/> </g> - <g id="patch_19"> - <path clip-path="url(#p826a730be7)" d="M 518.4 163.237305 -L 516.373989 161.890909 -L 515.404027 161.246651 -L 512.408054 159.180877 -L 511.310882 158.4 -L 509.412081 157.035385 -L 506.530358 154.909091 -L 506.416107 154.823074 -L 503.420134 152.518962 -L 502.01211 151.418182 -L 500.424161 150.137598 -L 497.715198 147.927273 -L 497.428188 147.682896 -L 495.133816 145.715412 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_20"> - <path clip-path="url(#p826a730be7)" d="M 469.826287 102.725875 -L 469.850785 102.545455 -L 470.46443 100.396724 -L 470.833974 99.054545 -L 472.289507 95.563636 -L 473.460403 93.451313 -L 474.201313 92.072727 -L 476.456376 88.682412 -L 476.521594 88.581818 -L 479.196326 85.090909 -L 479.452349 84.798731 -L 482.198197 81.6 -L 482.448322 81.338768 -L 485.444295 78.16015 -L 485.491892 78.109091 -L 488.440268 75.216066 -L 489.045668 74.618182 -L 491.436242 72.422242 -L 492.843264 71.127273 -L 494.432215 69.74722 -L 496.868851 67.636364 -L 497.428188 67.173174 -L 500.424161 64.709754 -L 501.11853 64.145455 -L 503.420134 62.336307 -L 505.595067 60.654545 -L 506.416107 60.033701 -L 509.412081 57.815917 -L 510.316758 57.163636 -L 512.408054 55.673516 -L 515.306459 53.672727 -L 515.404027 53.605481 -L 518.4 51.616349 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_21"> - <path clip-path="url(#p826a730be7)" d="M 72 71.238727 -L 74.995973 73.994583 -L 75.676972 74.618182 -L 77.991946 76.897272 -L 79.234056 78.109091 -L 80.987919 79.979778 -L 82.527919 81.6 -L 83.983893 83.308598 -L 85.530994 85.090909 -L 86.069287 85.800117 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_22"> - <path clip-path="url(#p826a730be7)" d="M 83.361332 132.265871 -L 81.879354 133.963636 -L 80.987919 134.88326 -L 78.529375 137.454545 -L 77.991946 137.970539 -L 74.995973 140.873216 -L 74.921749 140.945455 -L 72 143.598562 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_23"> - <path clip-path="url(#p826a730be7)" d="M 312.261616 43.2 -L 314.673826 44.423689 -L 317.669799 46.063514 -L 318.742393 46.690909 -L 320.665772 47.794685 -L 323.661745 49.61674 -L 324.545061 50.181818 -L 326.657718 51.521663 -L 329.653691 53.506876 -L 329.894729 53.672727 -L 332.649664 55.571278 -L 334.887612 57.163636 -L 335.645638 57.709407 -L 338.641611 59.924615 -L 339.607803 60.654545 -L 341.637584 62.222624 -L 344.085499 64.145455 -L 344.633557 64.590543 -L 347.62953 67.052825 -L 348.334366 67.636364 -L 350.625503 69.620696 -L 352.360165 71.127273 -L 353.621477 72.288111 -L 356.157566 74.618182 -L 356.61745 75.072446 -L 359.613423 78.013409 -L 359.711955 78.109091 -L 362.609396 81.185153 -L 363.006257 81.6 -L 365.605369 84.630446 -L 366.008403 85.090909 -L 368.601342 88.478844 -L 368.682177 88.581818 -L 371.00098 92.072727 -L 371.597315 93.183825 -L 372.914333 95.563636 -L 374.367493 99.054545 -L 374.593289 99.875969 -L 375.354193 102.545455 -L 375.827289 106.036364 -L 375.773616 109.527273 -L 375.193721 113.018182 -L 374.593289 114.923332 -L 374.111322 116.509091 -L 372.559357 120 -L 371.597315 121.65675 -L 370.564405 123.490909 -L 368.601342 126.338366 -L 368.168848 126.981818 -L 365.605369 130.233351 -L 365.420445 130.472727 -L 362.609396 133.672355 -L 362.357426 133.963636 -L 359.613423 136.820121 -L 359.010539 137.454545 -L 356.61745 139.766376 -L 355.404519 140.945455 -L 353.621477 142.562638 -L 351.559122 144.436364 -L 350.625503 145.239012 -L 347.62953 147.80752 -L 347.623834 147.812368 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_24"> - <path clip-path="url(#p826a730be7)" d="M 303.621821 175.501032 -L 302.71175 175.854545 -L 302.689933 175.8634 -L 299.69396 176.923334 -L 296.697987 177.82249 -L 293.702013 178.556819 -L 290.70604 179.123015 -L 289.02109 179.345455 -L 287.710067 179.528606 -L 284.714094 179.764643 -L 281.718121 179.817114 -L 278.722148 179.685781 -L 275.726174 179.371236 -L 275.570554 179.345455 -L 272.730201 178.900785 -L 269.734228 178.26207 -L 266.738255 177.45655 -L 263.742282 176.487851 -L 262.059497 175.854545 -L 260.746309 175.381537 -L 257.750336 174.155247 -L 254.754362 172.787333 -L 253.910007 172.363636 -L 251.758389 171.31815 -L 248.762416 169.737766 -L 247.23603 168.872727 -L 245.766443 168.057388 -L 242.77047 166.287649 -L 241.318687 165.381818 -L 239.774497 164.428653 -L 236.778523 162.489175 -L 235.891611 161.890909 -L 233.78255 160.468982 -L 230.819823 158.4 -L 230.786577 158.376557 -L 227.790604 156.200407 -L 226.055632 154.909091 -L 224.794631 153.951426 -L 221.798658 151.631578 -L 221.52706 151.418182 -L 218.802685 149.210125 -L 217.235515 147.927273 -L 215.806711 146.706761 -L 213.163096 144.436364 -L 212.810738 144.116566 -L 209.814765 141.395115 -L 209.317935 140.945455 -L 206.818792 138.52121 -L 205.710124 137.454545 -L 203.822819 135.476586 -L 202.360595 133.963636 -L 200.826846 132.201335 -L 199.295782 130.472727 -L 197.830872 128.591808 -L 196.54849 126.981818 -L 194.834899 124.458398 -L 194.159522 123.490909 -L 192.168903 120 -L 191.838926 119.244163 -L 190.604785 116.509091 -L 189.527895 113.018182 -L 188.960289 109.527273 -L 188.907753 106.036364 -L 189.370823 102.545455 -L 190.344779 99.054545 -L 191.819691 95.563636 -L 191.838926 95.529391 -L 193.717461 92.072727 -L 194.834899 90.411325 -L 196.031914 88.581818 -L 197.830872 86.255277 -L 198.711205 85.090909 -L 200.826846 82.644125 -L 201.713953 81.6 -L 203.822819 79.374679 -L 205.006907 78.109091 -L 206.818792 76.337713 -L 208.563289 74.618182 -L 209.814765 73.470805 -L 212.361604 71.127273 -L 212.810738 70.737266 -L 215.806711 68.137932 -L 216.387931 67.636364 -L 218.802685 65.644403 -L 220.637938 64.145455 -L 221.798658 63.228511 -L 224.794631 60.896061 -L 225.110927 60.654545 -L 227.790604 58.653611 -L 229.835248 57.163636 -L 230.786577 56.478532 -L 233.78255 54.383935 -L 234.836236 53.672727 -L 236.778523 52.363781 -L 239.774497 50.426112 -L 240.170639 50.181818 -L 242.77047 48.564579 -L 245.766443 46.800196 -L 245.964022 46.690909 -L 248.762416 45.113208 -L 251.758389 43.541009 -L 252.463841 43.2 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 252.463841 388.8 -L 251.758389 388.458991 -L 248.762416 386.886792 -L 245.964022 385.309091 -L 245.766443 385.199804 -L 242.77047 383.435421 -L 240.170639 381.818182 -L 239.774497 381.573888 -L 236.778523 379.636219 -L 234.836236 378.327273 -L 233.78255 377.616065 -L 230.786577 375.521468 -L 229.835248 374.836364 -L 227.790604 373.346389 -L 225.110927 371.345455 -L 224.794631 371.103939 -L 221.798658 368.771489 -L 220.637938 367.854545 -L 218.802685 366.355597 -L 216.387931 364.363636 -L 215.806711 363.862068 -L 212.810738 361.262734 -L 212.361604 360.872727 -L 209.814765 358.529195 -L 208.563289 357.381818 -L 206.818792 355.662287 -L 205.006907 353.890909 -L 203.822819 352.625321 -L 201.713953 350.4 -L 200.826846 349.355875 -L 198.711205 346.909091 -L 197.830872 345.744723 -L 196.031914 343.418182 -L 194.834899 341.588675 -L 193.717461 339.927273 -L 191.838926 336.470609 -L 191.819691 336.436364 -L 190.344779 332.945455 -L 189.370823 329.454545 -L 188.907753 325.963636 -L 188.960289 322.472727 -L 189.527895 318.981818 -L 190.604785 315.490909 -L 191.838926 312.755837 -L 192.168903 312 -L 194.159522 308.509091 -L 194.834899 307.541602 -L 196.54849 305.018182 -L 197.830872 303.408192 -L 199.295782 301.527273 -L 200.826846 299.798665 -L 202.360595 298.036364 -L 203.822819 296.523414 -L 205.710124 294.545455 -L 206.818792 293.47879 -L 209.317935 291.054545 -L 209.814765 290.604885 -L 212.810738 287.883434 -L 213.163096 287.563636 -L 215.806711 285.293239 -L 217.235515 284.072727 -L 218.802685 282.789875 -L 221.52706 280.581818 -L 221.798658 280.368422 -L 224.794631 278.048574 -L 226.055632 277.090909 -L 227.790604 275.799593 -L 230.786577 273.623443 -L 230.819823 273.6 -L 233.78255 271.531018 -L 235.891611 270.109091 -L 236.778523 269.510825 -L 239.774497 267.571347 -L 241.318687 266.618182 -L 242.77047 265.712351 -L 245.766443 263.942612 -L 247.23603 263.127273 -L 248.762416 262.262234 -L 251.758389 260.68185 -L 253.910007 259.636364 -L 254.754362 259.212667 -L 257.750336 257.844753 -L 260.746309 256.618463 -L 262.059497 256.145455 -L 263.742282 255.512149 -L 266.738255 254.54345 -L 269.734228 253.73793 -L 272.730201 253.099215 -L 275.570554 252.654545 -L 275.726174 252.628764 -L 278.722148 252.314219 -L 281.718121 252.182886 -L 284.714094 252.235357 -L 287.710067 252.471394 -L 289.02109 252.654545 -L 290.70604 252.876985 -L 293.702013 253.443181 -L 296.697987 254.17751 -L 299.69396 255.076666 -L 302.689933 256.1366 -L 302.71175 256.145455 -L 305.685906 257.300755 -L 308.681879 258.608602 -L 310.811255 259.636364 -L 311.677852 260.041387 -L 314.673826 261.569126 -L 317.505828 263.127273 -L 317.669799 263.215591 -L 320.665772 264.94012 -L 321.812449 265.639609 -" style="fill:none;stroke:#00d4ff;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 362.45708 298.151566 -L 362.609396 298.327645 -L 365.420445 301.527273 -L 365.605369 301.766649 -L 368.168848 305.018182 -L 368.601342 305.661634 -L 370.564405 308.509091 -L 371.597315 310.34325 -L 372.559357 312 -L 374.111322 315.490909 -L 374.593289 317.076668 -L 375.193721 318.981818 -L 375.773616 322.472727 -L 375.827289 325.963636 -L 375.354193 329.454545 -L 374.593289 332.124031 -L 374.367493 332.945455 -L 372.914333 336.436364 -L 371.597315 338.816175 -L 371.00098 339.927273 -L 368.682177 343.418182 -L 368.601342 343.521156 -L 366.008403 346.909091 -L 365.605369 347.369554 -L 363.006257 350.4 -L 362.609396 350.814847 -L 359.711955 353.890909 -L 359.613423 353.986591 -L 356.61745 356.927554 -L 356.157566 357.381818 -L 353.621477 359.711889 -L 352.360165 360.872727 -L 350.625503 362.379304 -L 348.334366 364.363636 -L 347.62953 364.947175 -L 344.633557 367.409457 -L 344.085499 367.854545 -L 341.637584 369.777376 -L 339.607803 371.345455 -L 338.641611 372.075385 -L 335.645638 374.290593 -L 334.887612 374.836364 -L 332.649664 376.428722 -L 329.894729 378.327273 -L 329.653691 378.493124 -L 326.657718 380.478337 -L 324.545061 381.818182 -L 323.661745 382.38326 -L 320.665772 384.205315 -L 318.742393 385.309091 -L 317.669799 385.936486 -L 314.673826 387.576311 -L 312.261616 388.8 -" style="fill:none;stroke:#00d4ff;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 518.4 380.383651 -L 515.404027 378.394519 -L 515.306459 378.327273 -L 512.408054 376.326484 -L 510.316758 374.836364 -L 509.412081 374.184083 -L 506.416107 371.966299 -L 505.595067 371.345455 -L 503.420134 369.663693 -L 501.11853 367.854545 -L 500.424161 367.290246 -L 497.428188 364.826826 -L 496.868851 364.363636 -L 494.47315 362.288242 -" style="fill:none;stroke:#00d4ff;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 470.005975 319.015405 -L 470.011565 318.981818 -L 470.46443 317.547646 -L 471.090564 315.490909 -L 472.645063 312 -L 473.460403 310.598177 -L 474.638484 308.509091 -L 476.456376 305.875808 -L 477.03347 305.018182 -L 479.452349 301.953481 -L 479.781894 301.527273 -L 482.448322 298.494914 -L 482.845243 298.036364 -L 485.444295 295.332515 -L 486.192542 294.545455 -L 488.440268 292.374961 -L 489.798865 291.054545 -L 491.436242 289.569772 -L 493.64429 287.563636 -L 494.432215 286.88623 -L 497.428188 284.317104 -L 497.715198 284.072727 -L 500.424161 281.862402 -L 502.01211 280.581818 -L 503.420134 279.481038 -L 506.416107 277.176926 -L 506.530358 277.090909 -L 509.412081 274.964615 -L 511.310882 273.6 -L 512.408054 272.819123 -L 515.404027 270.753349 -L 516.373989 270.109091 -L 518.4 268.762695 -" style="fill:none;stroke:#00d4ff;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 72 288.401438 -L 74.921749 291.054545 -L 74.995973 291.126784 -L 77.991946 294.029461 -L 78.529375 294.545455 -L 80.987919 297.11674 -L 81.879354 298.036364 -L 83.983893 300.44734 -L 84.944139 301.527273 -L 85.621368 302.393448 -" style="fill:none;stroke:#00d4ff;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 83.827687 348.87471 -L 82.527919 350.4 -L 80.987919 352.020222 -L 79.234056 353.890909 -L 77.991946 355.102728 -L 75.676972 357.381818 -L 74.995973 358.005417 -L 72 360.761273 -" style="fill:none;stroke:#00d4ff;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 518.4 163.237305 -L 516.373989 161.890909 -L 515.404027 161.246651 -L 512.408054 159.180877 -L 511.310882 158.4 -L 509.412081 157.035385 -L 506.530358 154.909091 -L 506.416107 154.823074 -L 503.420134 152.518962 -L 502.01211 151.418182 -L 500.424161 150.137598 -L 497.715198 147.927273 -L 497.428188 147.682896 -L 495.133816 145.715412 -" style="fill:none;stroke:#00d4ff;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 469.826287 102.725875 -L 469.850785 102.545455 -L 470.46443 100.396724 -L 470.833974 99.054545 -L 472.289507 95.563636 -L 473.460403 93.451313 -L 474.201313 92.072727 -L 476.456376 88.682412 -L 476.521594 88.581818 -L 479.196326 85.090909 -L 479.452349 84.798731 -L 482.198197 81.6 -L 482.448322 81.338768 -L 485.444295 78.16015 -L 485.491892 78.109091 -L 488.440268 75.216066 -L 489.045668 74.618182 -L 491.436242 72.422242 -L 492.843264 71.127273 -L 494.432215 69.74722 -L 496.868851 67.636364 -L 497.428188 67.173174 -L 500.424161 64.709754 -L 501.11853 64.145455 -L 503.420134 62.336307 -L 505.595067 60.654545 -L 506.416107 60.033701 -L 509.412081 57.815917 -L 510.316758 57.163636 -L 512.408054 55.673516 -L 515.306459 53.672727 -L 515.404027 53.605481 -L 518.4 51.616349 -" style="fill:none;stroke:#00d4ff;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 72 71.238727 -L 74.995973 73.994583 -L 75.676972 74.618182 -L 77.991946 76.897272 -L 79.234056 78.109091 -L 80.987919 79.979778 -L 82.527919 81.6 -L 83.983893 83.308598 -L 85.530994 85.090909 -L 86.069287 85.800117 -" style="fill:none;stroke:#00d4ff;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 83.361332 132.265871 -L 81.879354 133.963636 -L 80.987919 134.88326 -L 78.529375 137.454545 -L 77.991946 137.970539 -L 74.995973 140.873216 -L 74.921749 140.945455 -L 72 143.598562 -" style="fill:none;stroke:#00d4ff;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 312.261616 43.2 -L 314.673826 44.423689 -L 317.669799 46.063514 -L 318.742393 46.690909 -L 320.665772 47.794685 -L 323.661745 49.61674 -L 324.545061 50.181818 -L 326.657718 51.521663 -L 329.653691 53.506876 -L 329.894729 53.672727 -L 332.649664 55.571278 -L 334.887612 57.163636 -L 335.645638 57.709407 -L 338.641611 59.924615 -L 339.607803 60.654545 -L 341.637584 62.222624 -L 344.085499 64.145455 -L 344.633557 64.590543 -L 347.62953 67.052825 -L 348.334366 67.636364 -L 350.625503 69.620696 -L 352.360165 71.127273 -L 353.621477 72.288111 -L 356.157566 74.618182 -L 356.61745 75.072446 -L 359.613423 78.013409 -L 359.711955 78.109091 -L 362.609396 81.185153 -L 363.006257 81.6 -L 365.605369 84.630446 -L 366.008403 85.090909 -L 368.601342 88.478844 -L 368.682177 88.581818 -L 371.00098 92.072727 -L 371.597315 93.183825 -L 372.914333 95.563636 -L 374.367493 99.054545 -L 374.593289 99.875969 -L 375.354193 102.545455 -L 375.827289 106.036364 -L 375.773616 109.527273 -L 375.193721 113.018182 -L 374.593289 114.923332 -L 374.111322 116.509091 -L 372.559357 120 -L 371.597315 121.65675 -L 370.564405 123.490909 -L 368.601342 126.338366 -L 368.168848 126.981818 -L 365.605369 130.233351 -L 365.420445 130.472727 -L 362.609396 133.672355 -L 362.357426 133.963636 -L 359.613423 136.820121 -L 359.010539 137.454545 -L 356.61745 139.766376 -L 355.404519 140.945455 -L 353.621477 142.562638 -L 351.559122 144.436364 -L 350.625503 145.239012 -L 347.62953 147.80752 -L 347.623834 147.812368 -" style="fill:none;stroke:#00d4ff;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 303.621821 175.501032 -L 302.71175 175.854545 -L 302.689933 175.8634 -L 299.69396 176.923334 -L 296.697987 177.82249 -L 293.702013 178.556819 -L 290.70604 179.123015 -L 289.02109 179.345455 -L 287.710067 179.528606 -L 284.714094 179.764643 -L 281.718121 179.817114 -L 278.722148 179.685781 -L 275.726174 179.371236 -L 275.570554 179.345455 -L 272.730201 178.900785 -L 269.734228 178.26207 -L 266.738255 177.45655 -L 263.742282 176.487851 -L 262.059497 175.854545 -L 260.746309 175.381537 -L 257.750336 174.155247 -L 254.754362 172.787333 -L 253.910007 172.363636 -L 251.758389 171.31815 -L 248.762416 169.737766 -L 247.23603 168.872727 -L 245.766443 168.057388 -L 242.77047 166.287649 -L 241.318687 165.381818 -L 239.774497 164.428653 -L 236.778523 162.489175 -L 235.891611 161.890909 -L 233.78255 160.468982 -L 230.819823 158.4 -L 230.786577 158.376557 -L 227.790604 156.200407 -L 226.055632 154.909091 -L 224.794631 153.951426 -L 221.798658 151.631578 -L 221.52706 151.418182 -L 218.802685 149.210125 -L 217.235515 147.927273 -L 215.806711 146.706761 -L 213.163096 144.436364 -L 212.810738 144.116566 -L 209.814765 141.395115 -L 209.317935 140.945455 -L 206.818792 138.52121 -L 205.710124 137.454545 -L 203.822819 135.476586 -L 202.360595 133.963636 -L 200.826846 132.201335 -L 199.295782 130.472727 -L 197.830872 128.591808 -L 196.54849 126.981818 -L 194.834899 124.458398 -L 194.159522 123.490909 -L 192.168903 120 -L 191.838926 119.244163 -L 190.604785 116.509091 -L 189.527895 113.018182 -L 188.960289 109.527273 -L 188.907753 106.036364 -L 189.370823 102.545455 -L 190.344779 99.054545 -L 191.819691 95.563636 -L 191.838926 95.529391 -L 193.717461 92.072727 -L 194.834899 90.411325 -L 196.031914 88.581818 -L 197.830872 86.255277 -L 198.711205 85.090909 -L 200.826846 82.644125 -L 201.713953 81.6 -L 203.822819 79.374679 -L 205.006907 78.109091 -L 206.818792 76.337713 -L 208.563289 74.618182 -L 209.814765 73.470805 -L 212.361604 71.127273 -L 212.810738 70.737266 -L 215.806711 68.137932 -L 216.387931 67.636364 -L 218.802685 65.644403 -L 220.637938 64.145455 -L 221.798658 63.228511 -L 224.794631 60.896061 -L 225.110927 60.654545 -L 227.790604 58.653611 -L 229.835248 57.163636 -L 230.786577 56.478532 -L 233.78255 54.383935 -L 234.836236 53.672727 -L 236.778523 52.363781 -L 239.774497 50.426112 -L 240.170639 50.181818 -L 242.77047 48.564579 -L 245.766443 46.800196 -L 245.964022 46.690909 -L 248.762416 45.113208 -L 251.758389 43.541009 -L 252.463841 43.2 -" style="fill:none;stroke:#00d4ff;stroke-width:5;"/> - <g id="LineCollection_4"> - <g id="patch_25"> - <path clip-path="url(#p826a730be7)" d="M 225.082392 388.8 -L 224.794631 388.582015 -L 221.798658 386.268052 -L 220.57505 385.309091 -L 218.802685 383.946321 -L 216.062289 381.818182 -L 215.806711 381.62142 -L 212.810738 379.302467 -L 211.551914 378.327273 -L 209.814765 376.979427 -L 207.042608 374.836364 -L 206.818792 374.661281 -L 206.796777 374.6442 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_26"> - <path clip-path="url(#p826a730be7)" d="M 171.216433 347.098247 -L 166.420009 343.418182 -L 164.875168 342.115745 -L 161.879195 339.863883 -L 158.883221 337.458658 -L 157.372785 336.436364 -L 155.887248 335.099671 -L 152.891275 332.903689 -L 149.895302 330.392923 -L 148.24759 329.454545 -L 146.899329 327.839582 -L 143.910266 325.963636 -L 144.541312 322.472727 -L 146.899329 321.26538 -L 149.236144 318.981818 -L 149.895302 318.642307 -L 152.891275 316.371534 -L 153.774192 315.490909 -L 155.887248 314.050059 -L 158.883221 311.637021 -L 170.867114 302.361204 -L 171.86016 301.527273 -L 173.863087 300.048266 -L 180.887445 294.545455 -L 185.84698 290.730135 -L 221.798658 262.884195 -L 269.734228 225.656842 -L 271.186108 224.727273 -L 272.730201 223.25697 -L 275.726174 221.088493 -L 278.722148 218.446807 -L 280.627178 217.745455 -L 280.627178 214.254545 -L 278.722148 213.553193 -L 275.619897 210.763636 -L 272.730201 208.74303 -L 271.186108 207.272727 -L 269.734228 206.343158 -L 266.5918 203.781818 -L 263.742282 201.681524 -L 262.121351 200.290909 -L 260.746309 199.332414 -L 251.758389 192.350102 -L 239.529822 182.836364 -L 227.790604 173.767607 -L 215.806711 164.476229 -L 149.236144 113.018182 -L 146.899329 110.73462 -L 144.541312 109.527273 -L 143.910266 106.036364 -L 146.899329 104.160418 -L 148.24759 102.545455 -L 149.895302 101.607077 -L 152.929147 99.054545 -L 155.887248 96.900329 -L 157.372785 95.563636 -L 158.883221 94.541342 -L 161.947708 92.072727 -L 164.875168 89.884255 -L 166.420009 88.581818 -L 167.871141 87.546594 -L 176.85906 80.568841 -L 189.004095 71.127273 -L 203.822819 59.663228 -L 225.082392 43.2 -L 225.082392 43.2 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_27"> - <path clip-path="url(#p826a730be7)" d="M 505.566889 388.8 -L 503.420134 387.153185 -L 501.055327 385.309091 -L 500.424161 384.826209 -L 497.428188 382.507121 -L 496.544465 381.818182 -L 494.432215 380.18572 -L 492.03374 378.327273 -L 491.436242 377.863582 -L 488.440268 375.543037 -L 487.521995 374.836364 -L 485.444295 373.218416 -L 483.012409 371.345455 -L 482.448322 370.9012 -L 479.452349 368.578506 -L 478.499128 367.854545 -L 476.456376 366.250514 -L 473.991084 364.363636 -L 473.460403 363.938732 -L 470.46443 361.612951 -L 469.475399 360.872727 -L 467.468456 359.281029 -L 464.96947 357.381818 -L 464.472483 356.975739 -L 461.47651 354.645433 -L 460.450003 353.890909 -L 458.480537 352.308249 -L 455.947079 350.4 -L 455.484564 350.011421 -L 452.488591 347.674058 -L 451.421214 346.909091 -L 449.492617 345.328368 -L 446.922828 343.418182 -L 446.496644 343.043795 -L 443.500671 340.693943 -L 442.384182 339.927273 -L 440.504698 338.329998 -L 437.893359 336.436364 -L 437.508725 336.06555 -L 434.512752 333.686875 -L 433.317438 332.945455 -L 431.516779 331.254074 -L 428.839159 329.454545 -L 428.520805 329.004546 -L 425.524832 326.472761 -L 423.658539 325.963636 -L 425.110323 322.472727 -L 425.524832 322.380475 -L 428.520805 320.314968 -L 429.676857 318.981818 -L 431.516779 317.86347 -L 431.771785 317.646836 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_28"> - <path clip-path="url(#p826a730be7)" d="M 467.263547 290.016427 -L 467.468456 289.862695 -L 470.404963 287.563636 -L 470.46443 287.51958 -L 473.460403 285.217351 -L 474.904598 284.072727 -L 476.456376 282.894151 -L 479.423944 280.581818 -L 479.452349 280.560361 -L 482.448322 278.250218 -L 483.928337 277.090909 -L 485.444295 275.927152 -L 488.440268 273.601689 -L 488.442431 273.6 -L 491.436242 271.283784 -L 492.95165 270.109091 -L 494.432215 268.96081 -L 497.428188 266.643198 -L 497.460757 266.618182 -L 500.424161 264.317341 -L 501.974968 263.127273 -L 503.420134 261.994454 -L 506.416107 259.684223 -L 506.479507 259.636364 -L 509.412081 257.350204 -L 510.998725 256.145455 -L 512.408054 255.027375 -L 515.404027 252.724691 -L 515.498769 252.654545 -L 518.4 250.381459 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_29"> - <path clip-path="url(#p826a730be7)" d="M 72 270.286979 -L 74.995973 272.608075 -L 76.2821 273.6 -L 77.991946 274.931603 -L 80.78986 277.090909 -L 80.987919 277.246876 -L 83.983893 279.574025 -L 85.305513 280.581818 -L 86.979866 281.89884 -L 89.809047 284.072727 -L 89.975839 284.206467 -L 90.162046 284.351564 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_30"> - <path clip-path="url(#p826a730be7)" d="M 125.738012 311.892012 -L 125.883446 312 -L 125.927517 312.042742 -L 128.92349 314.476144 -L 130.4824 315.490909 -L 131.919463 316.859215 -L 134.900814 318.981818 -L 134.915436 319.001569 -L 137.911409 321.664912 -L 139.820323 322.472727 -L 140.583843 325.963636 -L 137.911409 327.349858 -L 135.979894 329.454545 -L 134.915436 330.00602 -L 131.919463 332.364465 -L 131.367604 332.945455 -L 128.92349 334.644615 -L 126.857954 336.436364 -L 125.927517 337.04346 -L 122.931544 339.377643 -L 122.322348 339.927273 -L 119.93557 341.667229 -L 117.813698 343.418182 -L 116.939597 344.028522 -L 113.943624 346.3549 -L 113.292598 346.909091 -L 110.947651 348.65453 -L 108.783011 350.4 -L 107.951678 351.000993 -L 104.955705 353.323682 -L 104.267426 353.890909 -L 101.959732 355.630484 -L 99.757091 357.381818 -L 98.963758 357.968529 -L 95.967785 360.289295 -L 95.244119 360.872727 -L 92.971812 362.601532 -L 90.733362 364.363636 -L 89.975839 364.933668 -L 86.979866 367.253526 -L 86.221646 367.854545 -L 83.983893 369.570201 -L 81.710779 371.345455 -L 80.987919 371.897523 -L 77.991946 374.217203 -L 77.19949 374.836364 -L 74.995973 376.537774 -L 72.688807 378.327273 -L 72 378.860697 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_31"> - <path clip-path="url(#p826a730be7)" d="M 518.4 181.618541 -L 515.498769 179.345455 -L 515.404027 179.275309 -L 512.408054 176.972625 -L 510.998725 175.854545 -L 509.412081 174.649796 -L 506.479507 172.363636 -L 506.416107 172.315777 -L 503.420134 170.005546 -L 501.974968 168.872727 -L 500.424161 167.682659 -L 497.460757 165.381818 -L 497.428188 165.356802 -L 494.432215 163.03919 -L 492.95165 161.890909 -L 491.436242 160.716216 -L 488.442431 158.4 -L 488.440268 158.398311 -L 485.444295 156.072848 -L 483.928337 154.909091 -L 482.448322 153.749782 -L 479.452349 151.439639 -L 479.423944 151.418182 -L 476.456376 149.105849 -L 474.904598 147.927273 -L 473.460403 146.782649 -L 470.46443 144.48042 -L 470.404963 144.436364 -L 467.468456 142.137305 -L 465.879839 140.945455 -L 464.472483 139.813796 -L 461.47651 137.520509 -L 461.38532 137.454545 -L 458.480537 135.165683 -L 456.852991 133.963636 -L 455.484564 132.841294 -L 452.488591 130.559505 -L 452.364559 130.472727 -L 449.492617 128.187624 -L 447.821591 126.981818 -L 446.496644 125.860394 -L 443.500671 123.596331 -L 443.34133 123.490909 -L 440.504698 121.193403 -L 438.777899 120 -L 437.508725 118.854329 -L 434.512752 116.62709 -L 434.309579 116.509091 -L 431.516779 114.13653 -L 429.676857 113.018182 -L 428.520805 111.685032 -L 426.313385 110.163176 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_32"> - <path clip-path="url(#p826a730be7)" d="M 455.276129 82.151194 -L 455.484564 81.988579 -L 455.947079 81.6 -L 458.480537 79.691751 -L 460.450003 78.109091 -L 461.47651 77.354567 -L 464.472483 75.024261 -L 464.96947 74.618182 -L 467.468456 72.718971 -L 469.475399 71.127273 -L 470.46443 70.387049 -L 473.460403 68.061268 -L 473.991084 67.636364 -L 476.456376 65.749486 -L 478.499128 64.145455 -L 479.452349 63.421494 -L 482.448322 61.0988 -L 483.012409 60.654545 -L 485.444295 58.781584 -L 487.521995 57.163636 -L 488.440268 56.456963 -L 491.436242 54.136418 -L 492.03374 53.672727 -L 494.432215 51.81428 -L 496.544465 50.181818 -L 497.428188 49.492879 -L 500.424161 47.173791 -L 501.055327 46.690909 -L 503.420134 44.846815 -L 505.566889 43.2 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_33"> - <path clip-path="url(#p826a730be7)" d="M 72 53.139303 -L 72.688807 53.672727 -L 74.995973 55.462226 -L 77.19949 57.163636 -L 77.991946 57.782797 -L 80.987919 60.102477 -L 81.710779 60.654545 -L 83.983893 62.429799 -L 86.221646 64.145455 -L 86.979866 64.746474 -L 89.975839 67.066332 -L 90.171385 67.213479 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_34"> - <path clip-path="url(#p826a730be7)" d="M 125.716823 94.792387 -L 125.927517 94.95654 -L 126.857954 95.563636 -L 128.92349 97.355385 -L 131.367604 99.054545 -L 131.919463 99.635535 -L 134.915436 101.99398 -L 135.979894 102.545455 -L 137.911409 104.650142 -L 140.583843 106.036364 -L 139.820323 109.527273 -L 137.911409 110.335088 -L 134.915436 112.998431 -L 134.900814 113.018182 -L 131.919463 115.140785 -L 130.4824 116.509091 -L 128.92349 117.523856 -L 125.927517 119.957258 -L 125.883446 120 -L 122.931544 122.191855 -L 121.420762 123.490909 -L 119.93557 124.534084 -L 116.939597 126.916081 -L 116.865248 126.981818 -L 113.943624 129.184149 -L 112.384309 130.472727 -L 110.947651 131.516665 -L 107.951678 133.875047 -L 107.846736 133.963636 -L 104.955705 136.16136 -L 103.355404 137.454545 -L 101.959732 138.489911 -L 98.963758 140.834188 -L 98.827999 140.945455 -L 95.967785 143.132638 -L 94.329683 144.436364 -L 92.971812 145.45899 -L 89.975839 147.793533 -L 89.809047 147.927273 -L 86.979866 150.10116 -L 85.305513 151.418182 -L 83.983893 152.425975 -L 80.987919 154.753124 -L 80.78986 154.909091 -L 77.991946 157.068397 -L 76.2821 158.4 -L 74.995973 159.391925 -L 72 161.713021 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_35"> - <path clip-path="url(#p826a730be7)" d="M 339.636007 43.2 -L 341.637584 44.734034 -L 344.148746 46.690909 -L 344.633557 47.061565 -L 347.62953 49.379582 -L 348.658831 50.181818 -L 350.625503 51.701404 -L 353.169706 53.672727 -L 353.621477 54.023318 -L 356.61745 56.344324 -L 357.681643 57.163636 -L 357.933272 57.359667 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_36"> - <path clip-path="url(#p826a730be7)" d="M 393.517973 84.899566 -L 393.783786 85.090909 -L 395.565101 86.557366 -L 398.561074 88.834594 -L 404.55302 93.554686 -L 407.548993 95.805623 -L 410.544966 98.209361 -L 411.889102 99.054545 -L 413.54094 100.627452 -L 416.340351 102.545455 -L 416.536913 102.828707 -L 419.532886 105.443677 -L 421.503965 106.036364 -L 420.186845 109.527273 -L 419.532886 109.687698 -L 416.536913 111.82107 -L 415.518649 113.018182 -L 413.54094 114.24368 -L 410.544966 116.724248 -L 407.548993 118.974953 -L 406.422991 120 -L 404.55302 121.303305 -L 401.557047 123.700037 -L 395.565101 128.29855 -L 388.349756 133.963636 -L 383.581208 137.629246 -L 362.609396 153.863196 -L 347.62953 165.470172 -L 299.69396 202.674248 -L 298.075074 203.781818 -L 296.697987 205.023015 -L 293.623811 207.272727 -L 290.70604 209.735616 -L 288.962576 210.763636 -L 287.710067 212.233171 -L 284.714094 214.215516 -L 284.448745 214.254545 -L 284.448745 217.745455 -L 284.714094 217.784484 -L 287.710067 219.766829 -L 288.962576 221.236364 -L 290.70604 222.264384 -L 293.702013 224.771657 -L 296.697987 226.976985 -L 298.075074 228.218182 -L 299.69396 229.325752 -L 302.689933 231.735807 -L 308.681879 236.320333 -L 316.152644 242.181818 -L 317.669799 243.298295 -L 329.705578 252.654545 -L 347.742549 266.618182 -L 401.87093 308.509091 -L 404.55302 310.696695 -L 406.422991 312 -L 407.548993 313.025047 -L 410.910407 315.490909 -L 413.54094 317.75632 -L 415.518649 318.981818 -L 416.536913 320.17893 -L 419.532886 322.312302 -L 420.186845 322.472727 -L 421.503965 325.963636 -L 419.532886 326.556323 -L 416.340351 329.454545 -L 413.54094 331.372548 -L 411.889102 332.945455 -L 410.544966 333.790639 -L 407.300097 336.436364 -L 404.55302 338.445314 -L 402.821398 339.927273 -L 401.557047 340.801579 -L 389.252634 350.4 -L 383.581208 354.755926 -L 356.61745 375.655676 -L 339.636007 388.8 -L 339.636007 388.8 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 225.082392 388.8 -L 224.794631 388.582015 -L 221.798658 386.268052 -L 220.57505 385.309091 -L 218.802685 383.946321 -L 216.062289 381.818182 -L 215.806711 381.62142 -L 212.810738 379.302467 -L 211.551914 378.327273 -L 209.814765 376.979427 -L 207.042608 374.836364 -L 206.818792 374.661281 -L 206.796777 374.6442 -" style="fill:none;stroke:#7dff7a;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 171.216433 347.098247 -L 166.420009 343.418182 -L 164.875168 342.115745 -L 161.879195 339.863883 -L 158.883221 337.458658 -L 157.372785 336.436364 -L 155.887248 335.099671 -L 152.891275 332.903689 -L 149.895302 330.392923 -L 148.24759 329.454545 -L 146.899329 327.839582 -L 143.910266 325.963636 -L 144.541312 322.472727 -L 146.899329 321.26538 -L 149.236144 318.981818 -L 149.895302 318.642307 -L 152.891275 316.371534 -L 153.774192 315.490909 -L 155.887248 314.050059 -L 158.883221 311.637021 -L 170.867114 302.361204 -L 171.86016 301.527273 -L 173.863087 300.048266 -L 180.887445 294.545455 -L 185.84698 290.730135 -L 221.798658 262.884195 -L 269.734228 225.656842 -L 271.186108 224.727273 -L 272.730201 223.25697 -L 275.726174 221.088493 -L 278.722148 218.446807 -L 280.627178 217.745455 -L 280.627178 214.254545 -L 278.722148 213.553193 -L 275.619897 210.763636 -L 272.730201 208.74303 -L 271.186108 207.272727 -L 269.734228 206.343158 -L 266.5918 203.781818 -L 263.742282 201.681524 -L 262.121351 200.290909 -L 260.746309 199.332414 -L 251.758389 192.350102 -L 239.529822 182.836364 -L 227.790604 173.767607 -L 215.806711 164.476229 -L 149.236144 113.018182 -L 146.899329 110.73462 -L 144.541312 109.527273 -L 143.910266 106.036364 -L 146.899329 104.160418 -L 148.24759 102.545455 -L 149.895302 101.607077 -L 152.929147 99.054545 -L 155.887248 96.900329 -L 157.372785 95.563636 -L 158.883221 94.541342 -L 161.947708 92.072727 -L 164.875168 89.884255 -L 166.420009 88.581818 -L 167.871141 87.546594 -L 176.85906 80.568841 -L 189.004095 71.127273 -L 203.822819 59.663228 -L 225.082392 43.2 -L 225.082392 43.2 -" style="fill:none;stroke:#7dff7a;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 505.566889 388.8 -L 503.420134 387.153185 -L 501.055327 385.309091 -L 500.424161 384.826209 -L 497.428188 382.507121 -L 496.544465 381.818182 -L 494.432215 380.18572 -L 492.03374 378.327273 -L 491.436242 377.863582 -L 488.440268 375.543037 -L 487.521995 374.836364 -L 485.444295 373.218416 -L 483.012409 371.345455 -L 482.448322 370.9012 -L 479.452349 368.578506 -L 478.499128 367.854545 -L 476.456376 366.250514 -L 473.991084 364.363636 -L 473.460403 363.938732 -L 470.46443 361.612951 -L 469.475399 360.872727 -L 467.468456 359.281029 -L 464.96947 357.381818 -L 464.472483 356.975739 -L 461.47651 354.645433 -L 460.450003 353.890909 -L 458.480537 352.308249 -L 455.947079 350.4 -L 455.484564 350.011421 -L 452.488591 347.674058 -L 451.421214 346.909091 -L 449.492617 345.328368 -L 446.922828 343.418182 -L 446.496644 343.043795 -L 443.500671 340.693943 -L 442.384182 339.927273 -L 440.504698 338.329998 -L 437.893359 336.436364 -L 437.508725 336.06555 -L 434.512752 333.686875 -L 433.317438 332.945455 -L 431.516779 331.254074 -L 428.839159 329.454545 -L 428.520805 329.004546 -L 425.524832 326.472761 -L 423.658539 325.963636 -L 425.110323 322.472727 -L 425.524832 322.380475 -L 428.520805 320.314968 -L 429.676857 318.981818 -L 431.516779 317.86347 -L 431.771785 317.646836 -" style="fill:none;stroke:#7dff7a;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 467.263547 290.016427 -L 467.468456 289.862695 -L 470.404963 287.563636 -L 470.46443 287.51958 -L 473.460403 285.217351 -L 474.904598 284.072727 -L 476.456376 282.894151 -L 479.423944 280.581818 -L 479.452349 280.560361 -L 482.448322 278.250218 -L 483.928337 277.090909 -L 485.444295 275.927152 -L 488.440268 273.601689 -L 488.442431 273.6 -L 491.436242 271.283784 -L 492.95165 270.109091 -L 494.432215 268.96081 -L 497.428188 266.643198 -L 497.460757 266.618182 -L 500.424161 264.317341 -L 501.974968 263.127273 -L 503.420134 261.994454 -L 506.416107 259.684223 -L 506.479507 259.636364 -L 509.412081 257.350204 -L 510.998725 256.145455 -L 512.408054 255.027375 -L 515.404027 252.724691 -L 515.498769 252.654545 -L 518.4 250.381459 -" style="fill:none;stroke:#7dff7a;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 72 270.286979 -L 74.995973 272.608075 -L 76.2821 273.6 -L 77.991946 274.931603 -L 80.78986 277.090909 -L 80.987919 277.246876 -L 83.983893 279.574025 -L 85.305513 280.581818 -L 86.979866 281.89884 -L 89.809047 284.072727 -L 89.975839 284.206467 -L 90.162046 284.351564 -" style="fill:none;stroke:#7dff7a;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 125.738012 311.892012 -L 125.883446 312 -L 125.927517 312.042742 -L 128.92349 314.476144 -L 130.4824 315.490909 -L 131.919463 316.859215 -L 134.900814 318.981818 -L 134.915436 319.001569 -L 137.911409 321.664912 -L 139.820323 322.472727 -L 140.583843 325.963636 -L 137.911409 327.349858 -L 135.979894 329.454545 -L 134.915436 330.00602 -L 131.919463 332.364465 -L 131.367604 332.945455 -L 128.92349 334.644615 -L 126.857954 336.436364 -L 125.927517 337.04346 -L 122.931544 339.377643 -L 122.322348 339.927273 -L 119.93557 341.667229 -L 117.813698 343.418182 -L 116.939597 344.028522 -L 113.943624 346.3549 -L 113.292598 346.909091 -L 110.947651 348.65453 -L 108.783011 350.4 -L 107.951678 351.000993 -L 104.955705 353.323682 -L 104.267426 353.890909 -L 101.959732 355.630484 -L 99.757091 357.381818 -L 98.963758 357.968529 -L 95.967785 360.289295 -L 95.244119 360.872727 -L 92.971812 362.601532 -L 90.733362 364.363636 -L 89.975839 364.933668 -L 86.979866 367.253526 -L 86.221646 367.854545 -L 83.983893 369.570201 -L 81.710779 371.345455 -L 80.987919 371.897523 -L 77.991946 374.217203 -L 77.19949 374.836364 -L 74.995973 376.537774 -L 72.688807 378.327273 -L 72 378.860697 -" style="fill:none;stroke:#7dff7a;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 518.4 181.618541 -L 515.498769 179.345455 -L 515.404027 179.275309 -L 512.408054 176.972625 -L 510.998725 175.854545 -L 509.412081 174.649796 -L 506.479507 172.363636 -L 506.416107 172.315777 -L 503.420134 170.005546 -L 501.974968 168.872727 -L 500.424161 167.682659 -L 497.460757 165.381818 -L 497.428188 165.356802 -L 494.432215 163.03919 -L 492.95165 161.890909 -L 491.436242 160.716216 -L 488.442431 158.4 -L 488.440268 158.398311 -L 485.444295 156.072848 -L 483.928337 154.909091 -L 482.448322 153.749782 -L 479.452349 151.439639 -L 479.423944 151.418182 -L 476.456376 149.105849 -L 474.904598 147.927273 -L 473.460403 146.782649 -L 470.46443 144.48042 -L 470.404963 144.436364 -L 467.468456 142.137305 -L 465.879839 140.945455 -L 464.472483 139.813796 -L 461.47651 137.520509 -L 461.38532 137.454545 -L 458.480537 135.165683 -L 456.852991 133.963636 -L 455.484564 132.841294 -L 452.488591 130.559505 -L 452.364559 130.472727 -L 449.492617 128.187624 -L 447.821591 126.981818 -L 446.496644 125.860394 -L 443.500671 123.596331 -L 443.34133 123.490909 -L 440.504698 121.193403 -L 438.777899 120 -L 437.508725 118.854329 -L 434.512752 116.62709 -L 434.309579 116.509091 -L 431.516779 114.13653 -L 429.676857 113.018182 -L 428.520805 111.685032 -L 426.313385 110.163176 -" style="fill:none;stroke:#7dff7a;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 455.276129 82.151194 -L 455.484564 81.988579 -L 455.947079 81.6 -L 458.480537 79.691751 -L 460.450003 78.109091 -L 461.47651 77.354567 -L 464.472483 75.024261 -L 464.96947 74.618182 -L 467.468456 72.718971 -L 469.475399 71.127273 -L 470.46443 70.387049 -L 473.460403 68.061268 -L 473.991084 67.636364 -L 476.456376 65.749486 -L 478.499128 64.145455 -L 479.452349 63.421494 -L 482.448322 61.0988 -L 483.012409 60.654545 -L 485.444295 58.781584 -L 487.521995 57.163636 -L 488.440268 56.456963 -L 491.436242 54.136418 -L 492.03374 53.672727 -L 494.432215 51.81428 -L 496.544465 50.181818 -L 497.428188 49.492879 -L 500.424161 47.173791 -L 501.055327 46.690909 -L 503.420134 44.846815 -L 505.566889 43.2 -" style="fill:none;stroke:#7dff7a;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 72 53.139303 -L 72.688807 53.672727 -L 74.995973 55.462226 -L 77.19949 57.163636 -L 77.991946 57.782797 -L 80.987919 60.102477 -L 81.710779 60.654545 -L 83.983893 62.429799 -L 86.221646 64.145455 -L 86.979866 64.746474 -L 89.975839 67.066332 -L 90.171385 67.213479 -" style="fill:none;stroke:#7dff7a;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 125.716823 94.792387 -L 125.927517 94.95654 -L 126.857954 95.563636 -L 128.92349 97.355385 -L 131.367604 99.054545 -L 131.919463 99.635535 -L 134.915436 101.99398 -L 135.979894 102.545455 -L 137.911409 104.650142 -L 140.583843 106.036364 -L 139.820323 109.527273 -L 137.911409 110.335088 -L 134.915436 112.998431 -L 134.900814 113.018182 -L 131.919463 115.140785 -L 130.4824 116.509091 -L 128.92349 117.523856 -L 125.927517 119.957258 -L 125.883446 120 -L 122.931544 122.191855 -L 121.420762 123.490909 -L 119.93557 124.534084 -L 116.939597 126.916081 -L 116.865248 126.981818 -L 113.943624 129.184149 -L 112.384309 130.472727 -L 110.947651 131.516665 -L 107.951678 133.875047 -L 107.846736 133.963636 -L 104.955705 136.16136 -L 103.355404 137.454545 -L 101.959732 138.489911 -L 98.963758 140.834188 -L 98.827999 140.945455 -L 95.967785 143.132638 -L 94.329683 144.436364 -L 92.971812 145.45899 -L 89.975839 147.793533 -L 89.809047 147.927273 -L 86.979866 150.10116 -L 85.305513 151.418182 -L 83.983893 152.425975 -L 80.987919 154.753124 -L 80.78986 154.909091 -L 77.991946 157.068397 -L 76.2821 158.4 -L 74.995973 159.391925 -L 72 161.713021 -" style="fill:none;stroke:#7dff7a;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 339.636007 43.2 -L 341.637584 44.734034 -L 344.148746 46.690909 -L 344.633557 47.061565 -L 347.62953 49.379582 -L 348.658831 50.181818 -L 350.625503 51.701404 -L 353.169706 53.672727 -L 353.621477 54.023318 -L 356.61745 56.344324 -L 357.681643 57.163636 -L 357.933272 57.359667 -" style="fill:none;stroke:#7dff7a;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 393.517973 84.899566 -L 393.783786 85.090909 -L 395.565101 86.557366 -L 398.561074 88.834594 -L 404.55302 93.554686 -L 407.548993 95.805623 -L 410.544966 98.209361 -L 411.889102 99.054545 -L 413.54094 100.627452 -L 416.340351 102.545455 -L 416.536913 102.828707 -L 419.532886 105.443677 -L 421.503965 106.036364 -L 420.186845 109.527273 -L 419.532886 109.687698 -L 416.536913 111.82107 -L 415.518649 113.018182 -L 413.54094 114.24368 -L 410.544966 116.724248 -L 407.548993 118.974953 -L 406.422991 120 -L 404.55302 121.303305 -L 401.557047 123.700037 -L 395.565101 128.29855 -L 388.349756 133.963636 -L 383.581208 137.629246 -L 362.609396 153.863196 -L 347.62953 165.470172 -L 299.69396 202.674248 -L 298.075074 203.781818 -L 296.697987 205.023015 -L 293.623811 207.272727 -L 290.70604 209.735616 -L 288.962576 210.763636 -L 287.710067 212.233171 -L 284.714094 214.215516 -L 284.448745 214.254545 -L 284.448745 217.745455 -L 284.714094 217.784484 -L 287.710067 219.766829 -L 288.962576 221.236364 -L 290.70604 222.264384 -L 293.702013 224.771657 -L 296.697987 226.976985 -L 298.075074 228.218182 -L 299.69396 229.325752 -L 302.689933 231.735807 -L 308.681879 236.320333 -L 316.152644 242.181818 -L 317.669799 243.298295 -L 329.705578 252.654545 -L 347.742549 266.618182 -L 401.87093 308.509091 -L 404.55302 310.696695 -L 406.422991 312 -L 407.548993 313.025047 -L 410.910407 315.490909 -L 413.54094 317.75632 -L 415.518649 318.981818 -L 416.536913 320.17893 -L 419.532886 322.312302 -L 420.186845 322.472727 -L 421.503965 325.963636 -L 419.532886 326.556323 -L 416.340351 329.454545 -L 413.54094 331.372548 -L 411.889102 332.945455 -L 410.544966 333.790639 -L 407.300097 336.436364 -L 404.55302 338.445314 -L 402.821398 339.927273 -L 401.557047 340.801579 -L 389.252634 350.4 -L 383.581208 354.755926 -L 356.61745 375.655676 -L 339.636007 388.8 -L 339.636007 388.8 -" style="fill:none;stroke:#7dff7a;stroke-width:5;"/> - <g id="LineCollection_5"> - <g id="patch_37"> - <path clip-path="url(#p826a730be7)" d="M 202.500853 388.8 -L 200.826846 387.49914 -L 197.958686 385.309091 -L 197.830872 385.213341 -L 194.834899 383.018793 -L 193.149982 381.818182 -L 191.838926 380.892039 -L 188.842953 378.844394 -L 188.05639 378.327273 -L 185.84698 376.872443 -L 182.851007 374.986649 -L 182.599518 374.836364 -L 182.00395 374.476229 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_38"> - <path clip-path="url(#p826a730be7)" d="M 139.835435 360.836321 -L 139.183677 360.872727 -L 137.911409 360.939793 -L 134.915436 361.271552 -L 131.919463 361.775648 -L 128.92349 362.449811 -L 125.927517 363.291007 -L 122.931544 364.295446 -L 122.755906 364.363636 -L 119.93557 365.410334 -L 116.939597 366.668932 -L 114.401771 367.854545 -L 113.943624 368.061565 -L 110.947651 369.545662 -L 107.951678 371.153408 -L 107.61797 371.345455 -L 104.955705 372.843722 -L 101.959732 374.636041 -L 101.642269 374.836364 -L 98.963758 376.50667 -L 96.176431 378.327273 -L 95.967785 378.463342 -L 92.971812 380.496853 -L 91.090345 381.818182 -L 89.975839 382.607702 -L 86.979866 384.79164 -L 86.286445 385.309091 -L 83.983893 387.060434 -L 81.738678 388.8 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_39"> - <path clip-path="url(#p826a730be7)" d="M 464.055663 375.439194 -L 463.067468 374.836364 -L 461.47651 373.854285 -L 458.480537 372.106605 -L 457.088456 371.345455 -L 455.484564 370.448683 -L 452.488591 368.893151 -L 450.311017 367.854545 -L 449.492617 367.450976 -L 446.496644 366.111129 -L 443.500671 364.914844 -L 441.923905 364.363636 -L 440.504698 363.844626 -L 437.508725 362.909738 -L 434.512752 362.139811 -L 431.516779 361.538312 -L 428.520805 361.107948 -L 425.781804 360.872727 -L 425.524832 360.849342 -L 422.528859 360.761328 -L 419.532886 360.858341 -L 419.379825 360.872727 -L 416.536913 361.124894 -L 413.54094 361.563635 -L 410.544966 362.173397 -L 407.548993 362.951437 -L 404.55302 363.894249 -L 403.278462 364.363636 -L 401.557047 364.969641 -L 398.561074 366.17304 -L 395.565101 367.519723 -L 394.889099 367.854545 -L 392.569128 368.965956 -L 389.573154 370.527473 -L 388.115081 371.345455 -L 386.577181 372.189161 -L 383.581208 373.941975 -L 382.13601 374.836364 -L 380.585235 375.784809 -L 377.589262 377.708992 -L 376.66649 378.327273 -L 374.593289 379.714207 -L 371.597315 381.792503 -L 371.561415 381.818182 -L 368.601342 383.953929 -L 366.770163 385.309091 -L 365.605369 386.187707 -L 362.609396 388.494009 -L 362.218016 388.8 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_40"> - <path clip-path="url(#p826a730be7)" d="M 72 252.178652 -L 72.520746 252.654545 -L 74.995973 254.792123 -L 76.570163 256.145455 -L 77.991946 257.315325 -L 80.838477 259.636364 -L 80.987919 259.754359 -L 83.983893 262.087689 -L 85.343592 263.127273 -L 86.979866 264.352014 -L 89.975839 266.542582 -L 90.082234 266.618182 -L 92.971812 268.649387 -L 95.120388 270.109091 -L 95.967785 270.684498 -L 98.963758 272.639143 -L 100.506359 273.6 -L 101.959732 274.514123 -L 104.955705 276.30063 -L 106.364515 277.090909 -L 107.951678 277.999372 -L 110.947651 279.598431 -L 112.943616 280.581818 -L 113.943624 281.090043 -L 116.939597 282.478946 -L 119.93557 283.727881 -L 120.871952 284.072727 -L 122.931544 284.864249 -L 125.927517 285.858517 -L 128.92349 286.691194 -L 131.919463 287.35853 -L 133.150931 287.563636 -L 134.915436 287.87421 -L 137.911409 288.221257 -L 140.907383 288.386463 -L 143.903356 288.369083 -L 146.899329 288.169196 -L 149.895302 287.787702 -L 151.091087 287.563636 -L 152.891275 287.244444 -L 155.887248 286.545393 -L 158.883221 285.681659 -L 161.879195 284.65713 -L 163.362078 284.072727 -L 164.875168 283.501299 -L 167.871141 282.22528 -L 170.867114 280.810435 -L 171.309775 280.581818 -L 173.863087 279.30344 -L 176.85906 277.681781 -L 177.878775 277.090909 -L 179.112132 276.39051 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_41"> - <path clip-path="url(#p826a730be7)" d="M 215.120414 249.54767 -L 215.540858 249.163636 -L 215.806711 248.902972 -L 218.802685 245.981221 -L 219.122175 245.672727 -L 221.798658 242.852504 -L 222.444521 242.181818 -L 224.794631 239.465816 -L 225.478276 238.690909 -L 227.790604 235.70192 -L 228.188481 235.2 -L 230.53903 231.709091 -L 230.786577 231.256614 -L 232.498858 228.218182 -L 233.78255 225.217222 -L 233.999635 224.727273 -L 235.039637 221.236364 -L 235.562302 217.745455 -L 235.562302 214.254545 -L 235.039637 210.763636 -L 233.999635 207.272727 -L 233.78255 206.782778 -L 232.498858 203.781818 -L 230.786577 200.743386 -L 230.53903 200.290909 -L 228.188481 196.8 -L 227.790604 196.29808 -L 225.478276 193.309091 -L 224.794631 192.534184 -L 222.444521 189.818182 -L 221.798658 189.147496 -L 219.122175 186.327273 -L 218.802685 186.018779 -L 215.806711 183.097028 -L 215.540858 182.836364 -L 212.810738 180.342668 -L 211.719916 179.345455 -L 209.814765 177.699617 -L 207.671176 175.854545 -L 206.818792 175.152341 -L 203.822819 172.704363 -L 203.400441 172.363636 -L 200.826846 170.353302 -L 198.897879 168.872727 -L 197.830872 168.070967 -L 194.834899 165.869756 -L 194.152208 165.381818 -L 191.838926 163.746168 -L 189.126972 161.890909 -L 188.842953 161.696712 -L 185.84698 159.726212 -L 183.737605 158.4 -L 182.851007 157.83713 -L 179.855034 156.031369 -L 177.878775 154.909091 -L 176.85906 154.318219 -L 173.863087 152.69656 -L 171.309775 151.418182 -L 170.867114 151.189565 -L 167.871141 149.77472 -L 164.875168 148.498701 -L 163.362078 147.927273 -L 161.879195 147.34287 -L 158.883221 146.318341 -L 155.887248 145.454607 -L 152.891275 144.755556 -L 151.091087 144.436364 -L 149.895302 144.212298 -L 146.899329 143.830804 -L 143.903356 143.630917 -L 140.907383 143.613537 -L 137.911409 143.778743 -L 134.915436 144.12579 -L 133.150931 144.436364 -L 131.919463 144.64147 -L 128.92349 145.308806 -L 125.927517 146.141483 -L 122.931544 147.135751 -L 120.871952 147.927273 -L 119.93557 148.272119 -L 116.939597 149.521054 -L 113.943624 150.909957 -L 112.943616 151.418182 -L 110.947651 152.401569 -L 107.951678 154.000628 -L 106.364515 154.909091 -L 104.955705 155.69937 -L 101.959732 157.485877 -L 100.506359 158.4 -L 98.963758 159.360857 -L 95.967785 161.315502 -L 95.120388 161.890909 -L 92.971812 163.350613 -L 90.082234 165.381818 -L 89.975839 165.457418 -L 86.979866 167.647986 -L 85.343592 168.872727 -L 83.983893 169.912311 -L 80.987919 172.245641 -L 80.838477 172.363636 -L 77.991946 174.684675 -L 76.570163 175.854545 -L 74.995973 177.207877 -L 72.520746 179.345455 -L 72 179.821348 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_42"> - <path clip-path="url(#p826a730be7)" d="M 81.738678 43.2 -L 83.983893 44.939566 -L 86.286445 46.690909 -L 86.979866 47.20836 -L 89.975839 49.392298 -L 91.090345 50.181818 -L 92.971812 51.503147 -L 95.967785 53.536658 -L 96.176431 53.672727 -L 98.963758 55.49333 -L 101.642269 57.163636 -L 101.959732 57.363959 -L 102.591662 57.742007 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_43"> - <path clip-path="url(#p826a730be7)" d="M 144.821447 71.143902 -L 145.067497 71.127273 -L 146.899329 71.01044 -L 149.895302 70.645751 -L 152.891275 70.109098 -L 155.887248 69.402897 -L 158.883221 68.530326 -L 161.470914 67.636364 -L 161.879195 67.501534 -L 164.875168 66.361332 -L 167.871141 65.075439 -L 169.825289 64.145455 -L 170.867114 63.6659 -L 173.863087 62.157744 -L 176.625201 60.654545 -L 176.85906 60.530086 -L 179.855034 58.823198 -L 182.599518 57.163636 -L 182.851007 57.013351 -L 185.84698 55.127557 -L 188.05639 53.672727 -L 188.842953 53.155606 -L 191.838926 51.107961 -L 193.149982 50.181818 -L 194.834899 48.981207 -L 197.830872 46.786659 -L 197.958686 46.690909 -L 200.826846 44.50086 -L 202.500853 43.2 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_44"> - <path clip-path="url(#p826a730be7)" d="M 362.218016 43.2 -L 362.609396 43.505991 -L 365.605369 45.812293 -L 366.770163 46.690909 -L 368.601342 48.046071 -L 371.561415 50.181818 -L 371.597315 50.207497 -L 374.593289 52.285793 -L 376.66649 53.672727 -L 377.589262 54.291008 -L 380.585235 56.215191 -L 381.551864 56.806376 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_45"> - <path clip-path="url(#p826a730be7)" d="M 423.518373 71.209602 -L 425.524832 71.150658 -L 425.781804 71.127273 -L 428.520805 70.892052 -L 431.516779 70.461688 -L 434.512752 69.860189 -L 437.508725 69.090262 -L 440.504698 68.155374 -L 441.923905 67.636364 -L 443.500671 67.085156 -L 446.496644 65.888871 -L 449.492617 64.549024 -L 450.311017 64.145455 -L 452.488591 63.106849 -L 455.484564 61.551317 -L 457.088456 60.654545 -L 458.480537 59.893395 -L 461.47651 58.145715 -L 463.067468 57.163636 -L 464.472483 56.306532 -L 467.468456 54.386622 -L 468.535973 53.672727 -L 470.46443 52.385093 -L 473.460403 50.310186 -L 473.640111 50.181818 -L 476.456376 48.152605 -L 478.433715 46.690909 -L 479.452349 45.9234 -L 482.448322 43.619117 -L 482.984743 43.2 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_46"> - <path clip-path="url(#p826a730be7)" d="M 499.298894 186.029898 -L 494.432215 181.384969 -L 491.436242 178.684042 -L 485.444295 173.632836 -L 482.448322 171.239635 -L 476.456376 166.700873 -L 470.46443 162.467843 -L 464.228634 158.4 -L 458.378607 154.909091 -L 452.488591 151.752583 -L 446.496644 148.967534 -L 440.504698 146.689496 -L 437.508725 145.764075 -L 434.512752 145.001945 -L 431.516779 144.404843 -L 428.520805 143.954647 -L 425.524832 143.685501 -L 422.528859 143.598616 -L 419.532886 143.694384 -L 416.536913 143.972374 -L 413.517312 144.436364 -L 410.544966 145.035191 -L 407.548993 145.805351 -L 404.55302 146.738616 -L 398.561074 149.028969 -L 393.422928 151.418182 -L 392.569128 151.824995 -L 386.577181 155.04693 -L 380.585235 158.639823 -L 374.593289 162.567236 -L 368.601342 166.807732 -L 362.609396 171.35335 -L 357.050482 175.854545 -L 353.001735 179.345455 -L 347.62953 184.353718 -L 344.633557 187.350223 -L 341.637584 190.564958 -L 338.641611 194.097833 -L 336.530499 196.8 -L 334.175295 200.290909 -L 332.229049 203.781818 -L 330.714123 207.272727 -L 329.653691 211.048817 -L 329.165544 214.254545 -L 329.165544 217.745455 -L 329.695511 221.236364 -L 330.714123 224.727273 -L 332.649664 228.953895 -L 334.175295 231.709091 -L 336.530499 235.2 -L 339.244715 238.690909 -L 342.278024 242.181818 -L 347.62953 247.646282 -L 350.625503 250.48183 -L 353.621477 253.190031 -L 359.613423 258.248162 -L 362.609396 260.64665 -L 368.601342 265.192268 -L 374.593289 269.432764 -L 380.977811 273.6 -L 386.829251 277.090909 -L 392.569128 280.175005 -L 398.561074 282.971031 -L 404.55302 285.261384 -L 407.548993 286.194649 -L 410.544966 286.964809 -L 413.54094 287.568667 -L 416.536913 288.027626 -L 419.532886 288.305616 -L 422.528859 288.401384 -L 425.524832 288.314499 -L 428.520805 288.045353 -L 431.66686 287.563636 -L 434.512752 286.998055 -L 437.508725 286.235925 -L 440.504698 285.310504 -L 446.496644 283.032466 -L 451.783665 280.581818 -L 452.488591 280.247417 -L 458.480537 277.035357 -L 464.472483 273.451414 -L 470.46443 269.532157 -L 476.456376 265.299127 -L 482.448322 260.760365 -L 488.153421 256.145455 -L 492.201707 252.654545 -L 497.428188 247.78856 -L 500.424161 244.803572 -L 503.420134 241.603798 -L 506.416107 238.091007 -L 509.412081 234.083671 -L 511.028067 231.709091 -L 512.976068 228.218182 -L 514.143202 225.524168 -L 514.143202 225.524168 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 202.500853 388.8 -L 200.826846 387.49914 -L 197.958686 385.309091 -L 197.830872 385.213341 -L 194.834899 383.018793 -L 193.149982 381.818182 -L 191.838926 380.892039 -L 188.842953 378.844394 -L 188.05639 378.327273 -L 185.84698 376.872443 -L 182.851007 374.986649 -L 182.599518 374.836364 -L 182.00395 374.476229 -" style="fill:none;stroke:#ffe600;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 139.835435 360.836321 -L 139.183677 360.872727 -L 137.911409 360.939793 -L 134.915436 361.271552 -L 131.919463 361.775648 -L 128.92349 362.449811 -L 125.927517 363.291007 -L 122.931544 364.295446 -L 122.755906 364.363636 -L 119.93557 365.410334 -L 116.939597 366.668932 -L 114.401771 367.854545 -L 113.943624 368.061565 -L 110.947651 369.545662 -L 107.951678 371.153408 -L 107.61797 371.345455 -L 104.955705 372.843722 -L 101.959732 374.636041 -L 101.642269 374.836364 -L 98.963758 376.50667 -L 96.176431 378.327273 -L 95.967785 378.463342 -L 92.971812 380.496853 -L 91.090345 381.818182 -L 89.975839 382.607702 -L 86.979866 384.79164 -L 86.286445 385.309091 -L 83.983893 387.060434 -L 81.738678 388.8 -" style="fill:none;stroke:#ffe600;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 464.055663 375.439194 -L 463.067468 374.836364 -L 461.47651 373.854285 -L 458.480537 372.106605 -L 457.088456 371.345455 -L 455.484564 370.448683 -L 452.488591 368.893151 -L 450.311017 367.854545 -L 449.492617 367.450976 -L 446.496644 366.111129 -L 443.500671 364.914844 -L 441.923905 364.363636 -L 440.504698 363.844626 -L 437.508725 362.909738 -L 434.512752 362.139811 -L 431.516779 361.538312 -L 428.520805 361.107948 -L 425.781804 360.872727 -L 425.524832 360.849342 -L 422.528859 360.761328 -L 419.532886 360.858341 -L 419.379825 360.872727 -L 416.536913 361.124894 -L 413.54094 361.563635 -L 410.544966 362.173397 -L 407.548993 362.951437 -L 404.55302 363.894249 -L 403.278462 364.363636 -L 401.557047 364.969641 -L 398.561074 366.17304 -L 395.565101 367.519723 -L 394.889099 367.854545 -L 392.569128 368.965956 -L 389.573154 370.527473 -L 388.115081 371.345455 -L 386.577181 372.189161 -L 383.581208 373.941975 -L 382.13601 374.836364 -L 380.585235 375.784809 -L 377.589262 377.708992 -L 376.66649 378.327273 -L 374.593289 379.714207 -L 371.597315 381.792503 -L 371.561415 381.818182 -L 368.601342 383.953929 -L 366.770163 385.309091 -L 365.605369 386.187707 -L 362.609396 388.494009 -L 362.218016 388.8 -" style="fill:none;stroke:#ffe600;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 72 252.178652 -L 72.520746 252.654545 -L 74.995973 254.792123 -L 76.570163 256.145455 -L 77.991946 257.315325 -L 80.838477 259.636364 -L 80.987919 259.754359 -L 83.983893 262.087689 -L 85.343592 263.127273 -L 86.979866 264.352014 -L 89.975839 266.542582 -L 90.082234 266.618182 -L 92.971812 268.649387 -L 95.120388 270.109091 -L 95.967785 270.684498 -L 98.963758 272.639143 -L 100.506359 273.6 -L 101.959732 274.514123 -L 104.955705 276.30063 -L 106.364515 277.090909 -L 107.951678 277.999372 -L 110.947651 279.598431 -L 112.943616 280.581818 -L 113.943624 281.090043 -L 116.939597 282.478946 -L 119.93557 283.727881 -L 120.871952 284.072727 -L 122.931544 284.864249 -L 125.927517 285.858517 -L 128.92349 286.691194 -L 131.919463 287.35853 -L 133.150931 287.563636 -L 134.915436 287.87421 -L 137.911409 288.221257 -L 140.907383 288.386463 -L 143.903356 288.369083 -L 146.899329 288.169196 -L 149.895302 287.787702 -L 151.091087 287.563636 -L 152.891275 287.244444 -L 155.887248 286.545393 -L 158.883221 285.681659 -L 161.879195 284.65713 -L 163.362078 284.072727 -L 164.875168 283.501299 -L 167.871141 282.22528 -L 170.867114 280.810435 -L 171.309775 280.581818 -L 173.863087 279.30344 -L 176.85906 277.681781 -L 177.878775 277.090909 -L 179.112132 276.39051 -" style="fill:none;stroke:#ffe600;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 215.120414 249.54767 -L 215.540858 249.163636 -L 215.806711 248.902972 -L 218.802685 245.981221 -L 219.122175 245.672727 -L 221.798658 242.852504 -L 222.444521 242.181818 -L 224.794631 239.465816 -L 225.478276 238.690909 -L 227.790604 235.70192 -L 228.188481 235.2 -L 230.53903 231.709091 -L 230.786577 231.256614 -L 232.498858 228.218182 -L 233.78255 225.217222 -L 233.999635 224.727273 -L 235.039637 221.236364 -L 235.562302 217.745455 -L 235.562302 214.254545 -L 235.039637 210.763636 -L 233.999635 207.272727 -L 233.78255 206.782778 -L 232.498858 203.781818 -L 230.786577 200.743386 -L 230.53903 200.290909 -L 228.188481 196.8 -L 227.790604 196.29808 -L 225.478276 193.309091 -L 224.794631 192.534184 -L 222.444521 189.818182 -L 221.798658 189.147496 -L 219.122175 186.327273 -L 218.802685 186.018779 -L 215.806711 183.097028 -L 215.540858 182.836364 -L 212.810738 180.342668 -L 211.719916 179.345455 -L 209.814765 177.699617 -L 207.671176 175.854545 -L 206.818792 175.152341 -L 203.822819 172.704363 -L 203.400441 172.363636 -L 200.826846 170.353302 -L 198.897879 168.872727 -L 197.830872 168.070967 -L 194.834899 165.869756 -L 194.152208 165.381818 -L 191.838926 163.746168 -L 189.126972 161.890909 -L 188.842953 161.696712 -L 185.84698 159.726212 -L 183.737605 158.4 -L 182.851007 157.83713 -L 179.855034 156.031369 -L 177.878775 154.909091 -L 176.85906 154.318219 -L 173.863087 152.69656 -L 171.309775 151.418182 -L 170.867114 151.189565 -L 167.871141 149.77472 -L 164.875168 148.498701 -L 163.362078 147.927273 -L 161.879195 147.34287 -L 158.883221 146.318341 -L 155.887248 145.454607 -L 152.891275 144.755556 -L 151.091087 144.436364 -L 149.895302 144.212298 -L 146.899329 143.830804 -L 143.903356 143.630917 -L 140.907383 143.613537 -L 137.911409 143.778743 -L 134.915436 144.12579 -L 133.150931 144.436364 -L 131.919463 144.64147 -L 128.92349 145.308806 -L 125.927517 146.141483 -L 122.931544 147.135751 -L 120.871952 147.927273 -L 119.93557 148.272119 -L 116.939597 149.521054 -L 113.943624 150.909957 -L 112.943616 151.418182 -L 110.947651 152.401569 -L 107.951678 154.000628 -L 106.364515 154.909091 -L 104.955705 155.69937 -L 101.959732 157.485877 -L 100.506359 158.4 -L 98.963758 159.360857 -L 95.967785 161.315502 -L 95.120388 161.890909 -L 92.971812 163.350613 -L 90.082234 165.381818 -L 89.975839 165.457418 -L 86.979866 167.647986 -L 85.343592 168.872727 -L 83.983893 169.912311 -L 80.987919 172.245641 -L 80.838477 172.363636 -L 77.991946 174.684675 -L 76.570163 175.854545 -L 74.995973 177.207877 -L 72.520746 179.345455 -L 72 179.821348 -" style="fill:none;stroke:#ffe600;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 81.738678 43.2 -L 83.983893 44.939566 -L 86.286445 46.690909 -L 86.979866 47.20836 -L 89.975839 49.392298 -L 91.090345 50.181818 -L 92.971812 51.503147 -L 95.967785 53.536658 -L 96.176431 53.672727 -L 98.963758 55.49333 -L 101.642269 57.163636 -L 101.959732 57.363959 -L 102.591662 57.742007 -" style="fill:none;stroke:#ffe600;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 144.821447 71.143902 -L 145.067497 71.127273 -L 146.899329 71.01044 -L 149.895302 70.645751 -L 152.891275 70.109098 -L 155.887248 69.402897 -L 158.883221 68.530326 -L 161.470914 67.636364 -L 161.879195 67.501534 -L 164.875168 66.361332 -L 167.871141 65.075439 -L 169.825289 64.145455 -L 170.867114 63.6659 -L 173.863087 62.157744 -L 176.625201 60.654545 -L 176.85906 60.530086 -L 179.855034 58.823198 -L 182.599518 57.163636 -L 182.851007 57.013351 -L 185.84698 55.127557 -L 188.05639 53.672727 -L 188.842953 53.155606 -L 191.838926 51.107961 -L 193.149982 50.181818 -L 194.834899 48.981207 -L 197.830872 46.786659 -L 197.958686 46.690909 -L 200.826846 44.50086 -L 202.500853 43.2 -" style="fill:none;stroke:#ffe600;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 362.218016 43.2 -L 362.609396 43.505991 -L 365.605369 45.812293 -L 366.770163 46.690909 -L 368.601342 48.046071 -L 371.561415 50.181818 -L 371.597315 50.207497 -L 374.593289 52.285793 -L 376.66649 53.672727 -L 377.589262 54.291008 -L 380.585235 56.215191 -L 381.551864 56.806376 -" style="fill:none;stroke:#ffe600;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 423.518373 71.209602 -L 425.524832 71.150658 -L 425.781804 71.127273 -L 428.520805 70.892052 -L 431.516779 70.461688 -L 434.512752 69.860189 -L 437.508725 69.090262 -L 440.504698 68.155374 -L 441.923905 67.636364 -L 443.500671 67.085156 -L 446.496644 65.888871 -L 449.492617 64.549024 -L 450.311017 64.145455 -L 452.488591 63.106849 -L 455.484564 61.551317 -L 457.088456 60.654545 -L 458.480537 59.893395 -L 461.47651 58.145715 -L 463.067468 57.163636 -L 464.472483 56.306532 -L 467.468456 54.386622 -L 468.535973 53.672727 -L 470.46443 52.385093 -L 473.460403 50.310186 -L 473.640111 50.181818 -L 476.456376 48.152605 -L 478.433715 46.690909 -L 479.452349 45.9234 -L 482.448322 43.619117 -L 482.984743 43.2 -" style="fill:none;stroke:#ffe600;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 499.298894 186.029898 -L 494.432215 181.384969 -L 491.436242 178.684042 -L 485.444295 173.632836 -L 482.448322 171.239635 -L 476.456376 166.700873 -L 470.46443 162.467843 -L 464.228634 158.4 -L 458.378607 154.909091 -L 452.488591 151.752583 -L 446.496644 148.967534 -L 440.504698 146.689496 -L 437.508725 145.764075 -L 434.512752 145.001945 -L 431.516779 144.404843 -L 428.520805 143.954647 -L 425.524832 143.685501 -L 422.528859 143.598616 -L 419.532886 143.694384 -L 416.536913 143.972374 -L 413.517312 144.436364 -L 410.544966 145.035191 -L 407.548993 145.805351 -L 404.55302 146.738616 -L 398.561074 149.028969 -L 393.422928 151.418182 -L 392.569128 151.824995 -L 386.577181 155.04693 -L 380.585235 158.639823 -L 374.593289 162.567236 -L 368.601342 166.807732 -L 362.609396 171.35335 -L 357.050482 175.854545 -L 353.001735 179.345455 -L 347.62953 184.353718 -L 344.633557 187.350223 -L 341.637584 190.564958 -L 338.641611 194.097833 -L 336.530499 196.8 -L 334.175295 200.290909 -L 332.229049 203.781818 -L 330.714123 207.272727 -L 329.653691 211.048817 -L 329.165544 214.254545 -L 329.165544 217.745455 -L 329.695511 221.236364 -L 330.714123 224.727273 -L 332.649664 228.953895 -L 334.175295 231.709091 -L 336.530499 235.2 -L 339.244715 238.690909 -L 342.278024 242.181818 -L 347.62953 247.646282 -L 350.625503 250.48183 -L 353.621477 253.190031 -L 359.613423 258.248162 -L 362.609396 260.64665 -L 368.601342 265.192268 -L 374.593289 269.432764 -L 380.977811 273.6 -L 386.829251 277.090909 -L 392.569128 280.175005 -L 398.561074 282.971031 -L 404.55302 285.261384 -L 407.548993 286.194649 -L 410.544966 286.964809 -L 413.54094 287.568667 -L 416.536913 288.027626 -L 419.532886 288.305616 -L 422.528859 288.401384 -L 425.524832 288.314499 -L 428.520805 288.045353 -L 431.66686 287.563636 -L 434.512752 286.998055 -L 437.508725 286.235925 -L 440.504698 285.310504 -L 446.496644 283.032466 -L 451.783665 280.581818 -L 452.488591 280.247417 -L 458.480537 277.035357 -L 464.472483 273.451414 -L 470.46443 269.532157 -L 476.456376 265.299127 -L 482.448322 260.760365 -L 488.153421 256.145455 -L 492.201707 252.654545 -L 497.428188 247.78856 -L 500.424161 244.803572 -L 503.420134 241.603798 -L 506.416107 238.091007 -L 509.412081 234.083671 -L 511.028067 231.709091 -L 512.976068 228.218182 -L 514.143202 225.524168 -L 514.143202 225.524168 -" style="fill:none;stroke:#ffe600;stroke-width:5;"/> - <g id="LineCollection_6"> - <g id="patch_47"> - <path clip-path="url(#p826a730be7)" d="M 176.585165 388.8 -L 173.863087 387.330332 -L 170.867114 385.83413 -L 169.717359 385.309091 -L 167.871141 384.481949 -L 164.875168 383.271397 -L 162.973701 382.590139 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_48"> - <path clip-path="url(#p826a730be7)" d="M 118.991532 383.429792 -L 116.939597 384.241297 -L 114.511717 385.309091 -L 113.943624 385.563756 -L 110.947651 387.036089 -L 107.951678 388.631092 -L 107.65583 388.8 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_49"> - <path clip-path="url(#p826a730be7)" d="M 457.049486 388.8 -L 455.484564 387.931952 -L 452.488591 386.38875 -L 450.206855 385.309091 -L 449.492617 384.977521 -L 446.496644 383.716176 -L 444.527667 382.976032 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_50"> - <path clip-path="url(#p826a730be7)" d="M 400.539105 383.026491 -L 398.561074 383.77446 -L 395.565101 385.04224 -L 394.992803 385.309091 -L 392.569128 386.460979 -L 389.573154 388.010118 -L 388.153919 388.8 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_51"> - <path clip-path="url(#p826a730be7)" d="M 107.65583 43.2 -L 107.951678 43.368908 -L 110.947651 44.963911 -L 113.943624 46.436244 -L 114.511717 46.690909 -L 116.939597 47.758703 -L 118.991532 48.570208 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_52"> - <path clip-path="url(#p826a730be7)" d="M 162.973701 49.409861 -L 164.875168 48.728603 -L 167.871141 47.518051 -L 169.717359 46.690909 -L 170.867114 46.16587 -L 173.863087 44.669668 -L 176.585165 43.2 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_53"> - <path clip-path="url(#p826a730be7)" d="M 388.153919 43.2 -L 389.573154 43.989882 -L 392.569128 45.539021 -L 394.992803 46.690909 -L 395.565101 46.95776 -L 398.561074 48.22554 -L 400.539105 48.973509 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_54"> - <path clip-path="url(#p826a730be7)" d="M 444.527667 49.023968 -L 446.496644 48.283824 -L 449.492617 47.022479 -L 450.206855 46.690909 -L 452.488591 45.61125 -L 455.484564 44.068048 -L 457.049486 43.2 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_55"> - <path clip-path="url(#p826a730be7)" d="M 166.230504 166.672427 -L 162.812354 165.381818 -L 161.879195 165.050064 -L 158.883221 164.125834 -L 155.887248 163.346658 -L 152.891275 162.716044 -L 149.895302 162.236831 -L 146.543465 161.890909 -L 143.903356 161.740625 -L 140.907383 161.725797 -L 137.666944 161.890909 -L 134.915436 162.162985 -L 131.919463 162.613126 -L 128.92349 163.215131 -L 125.927517 163.966291 -L 121.435679 165.381818 -L 119.93557 165.907518 -L 116.939597 167.095972 -L 113.002552 168.872727 -L 107.951678 171.491147 -L 104.955705 173.23824 -L 100.863038 175.854545 -L 95.967785 179.352441 -L 91.663528 182.836364 -L 86.979866 187.149056 -L 83.983893 190.257416 -L 80.987919 193.789933 -L 77.991946 197.983829 -L 76.543085 200.290909 -L 74.762853 203.781818 -L 73.41684 207.272727 -L 72.511801 210.763636 -L 72.056964 214.254545 -L 72.056964 217.745455 -L 72.511801 221.236364 -L 73.41684 224.727273 -L 74.995973 228.677109 -L 76.543085 231.709091 -L 78.742169 235.2 -L 81.351616 238.690909 -L 84.369825 242.181818 -L 87.802497 245.672727 -L 91.663528 249.163636 -L 95.976863 252.654545 -L 101.959732 256.87424 -L 106.431401 259.636364 -L 110.947651 262.11216 -L 113.943624 263.582384 -L 116.939597 264.904028 -L 121.435679 266.618182 -L 122.931544 267.136778 -L 125.927517 268.033709 -L 128.92349 268.784869 -L 131.919463 269.386874 -L 134.915436 269.837015 -L 137.911409 270.133252 -L 140.907383 270.274203 -L 143.903356 270.259375 -L 146.899329 270.088823 -L 149.895302 269.763169 -L 152.891275 269.283956 -L 155.887248 268.653342 -L 158.883221 267.874166 -L 162.812354 266.618182 -L 164.875168 265.876873 -L 167.871141 264.662646 -L 171.251779 263.127273 -L 176.85906 260.190418 -L 179.855034 258.410988 -L 183.38424 256.145455 -L 188.842953 252.19789 -L 192.580144 249.163636 -L 196.436518 245.672727 -L 199.867867 242.181818 -L 202.886767 238.690909 -L 205.497772 235.2 -L 207.69822 231.709091 -L 209.814765 227.345995 -L 210.824133 224.727273 -L 211.728858 221.236364 -L 212.183537 217.745455 -L 212.183537 214.254545 -L 211.728858 210.763636 -L 210.824133 207.272727 -L 209.477357 203.781818 -L 207.69822 200.290909 -L 205.497772 196.8 -L 202.393741 192.735811 -L 202.393741 192.735811 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_56"> - <path clip-path="url(#p826a730be7)" d="M 481.389715 240.985079 -L 483.368568 238.690909 -L 485.980964 235.2 -L 488.440268 231.20187 -L 489.95798 228.218182 -L 491.436242 224.225045 -L 492.210647 221.236364 -L 492.665234 217.745455 -L 492.665234 214.254545 -L 492.210647 210.763636 -L 491.305856 207.272727 -L 489.95798 203.781818 -L 488.180589 200.290909 -L 485.444295 196.076543 -L 482.448322 192.233227 -L 479.452349 188.890088 -L 476.456376 185.894548 -L 473.064525 182.836364 -L 467.468456 178.405463 -L 463.864025 175.854545 -L 458.309762 172.363636 -L 452.488591 169.237131 -L 449.492617 167.834431 -L 446.496644 166.569256 -L 443.325495 165.381818 -L 440.504698 164.460654 -L 437.508725 163.625831 -L 434.512752 162.938312 -L 431.516779 162.401193 -L 426.877963 161.890909 -L 425.524832 161.787196 -L 422.528859 161.713067 -L 418.318537 161.890909 -L 416.536913 162.032025 -L 413.54094 162.423805 -L 410.544966 162.968303 -L 407.548993 163.663066 -L 404.55302 164.504966 -L 401.557047 165.491386 -L 398.561074 166.627717 -L 393.48387 168.872727 -L 392.569128 169.309736 -L 386.577181 172.548911 -L 380.585235 176.36952 -L 376.471942 179.345455 -L 371.597315 183.313745 -L 368.279677 186.327273 -L 364.852988 189.818182 -L 361.834438 193.309091 -L 359.222027 196.8 -L 356.61745 201.084022 -L 355.245435 203.781818 -L 353.897827 207.272727 -L 352.992795 210.763636 -L 352.538199 214.254545 -L 352.538199 217.745455 -L 352.992795 221.236364 -L 353.897827 224.727273 -L 355.245435 228.218182 -L 357.023326 231.709091 -L 359.613423 235.727842 -L 362.609396 239.5975 -L 365.605369 242.960529 -L 368.601342 245.971667 -L 372.140579 249.163636 -L 377.589262 253.48808 -L 381.341489 256.145455 -L 386.897865 259.636364 -L 392.569128 262.690264 -L 395.565101 264.100654 -L 398.561074 265.372283 -L 401.886655 266.618182 -L 404.55302 267.495034 -L 407.548993 268.336934 -L 410.544966 269.031697 -L 413.54094 269.576195 -L 418.318537 270.109091 -L 419.532886 270.205225 -L 422.528859 270.286933 -L 426.877963 270.109091 -L 428.520805 269.983107 -L 431.516779 269.598807 -L 434.512752 269.061688 -L 437.508725 268.374169 -L 440.504698 267.539346 -L 444.5926 266.148652 -L 444.5926 266.148652 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 176.585165 388.8 -L 173.863087 387.330332 -L 170.867114 385.83413 -L 169.717359 385.309091 -L 167.871141 384.481949 -L 164.875168 383.271397 -L 162.973701 382.590139 -" style="fill:none;stroke:#ff4700;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 118.991532 383.429792 -L 116.939597 384.241297 -L 114.511717 385.309091 -L 113.943624 385.563756 -L 110.947651 387.036089 -L 107.951678 388.631092 -L 107.65583 388.8 -" style="fill:none;stroke:#ff4700;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 457.049486 388.8 -L 455.484564 387.931952 -L 452.488591 386.38875 -L 450.206855 385.309091 -L 449.492617 384.977521 -L 446.496644 383.716176 -L 444.527667 382.976032 -" style="fill:none;stroke:#ff4700;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 400.539105 383.026491 -L 398.561074 383.77446 -L 395.565101 385.04224 -L 394.992803 385.309091 -L 392.569128 386.460979 -L 389.573154 388.010118 -L 388.153919 388.8 -" style="fill:none;stroke:#ff4700;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 107.65583 43.2 -L 107.951678 43.368908 -L 110.947651 44.963911 -L 113.943624 46.436244 -L 114.511717 46.690909 -L 116.939597 47.758703 -L 118.991532 48.570208 -" style="fill:none;stroke:#ff4700;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 162.973701 49.409861 -L 164.875168 48.728603 -L 167.871141 47.518051 -L 169.717359 46.690909 -L 170.867114 46.16587 -L 173.863087 44.669668 -L 176.585165 43.2 -" style="fill:none;stroke:#ff4700;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 388.153919 43.2 -L 389.573154 43.989882 -L 392.569128 45.539021 -L 394.992803 46.690909 -L 395.565101 46.95776 -L 398.561074 48.22554 -L 400.539105 48.973509 -" style="fill:none;stroke:#ff4700;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 444.527667 49.023968 -L 446.496644 48.283824 -L 449.492617 47.022479 -L 450.206855 46.690909 -L 452.488591 45.61125 -L 455.484564 44.068048 -L 457.049486 43.2 -" style="fill:none;stroke:#ff4700;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 166.230504 166.672427 -L 162.812354 165.381818 -L 161.879195 165.050064 -L 158.883221 164.125834 -L 155.887248 163.346658 -L 152.891275 162.716044 -L 149.895302 162.236831 -L 146.543465 161.890909 -L 143.903356 161.740625 -L 140.907383 161.725797 -L 137.666944 161.890909 -L 134.915436 162.162985 -L 131.919463 162.613126 -L 128.92349 163.215131 -L 125.927517 163.966291 -L 121.435679 165.381818 -L 119.93557 165.907518 -L 116.939597 167.095972 -L 113.002552 168.872727 -L 107.951678 171.491147 -L 104.955705 173.23824 -L 100.863038 175.854545 -L 95.967785 179.352441 -L 91.663528 182.836364 -L 86.979866 187.149056 -L 83.983893 190.257416 -L 80.987919 193.789933 -L 77.991946 197.983829 -L 76.543085 200.290909 -L 74.762853 203.781818 -L 73.41684 207.272727 -L 72.511801 210.763636 -L 72.056964 214.254545 -L 72.056964 217.745455 -L 72.511801 221.236364 -L 73.41684 224.727273 -L 74.995973 228.677109 -L 76.543085 231.709091 -L 78.742169 235.2 -L 81.351616 238.690909 -L 84.369825 242.181818 -L 87.802497 245.672727 -L 91.663528 249.163636 -L 95.976863 252.654545 -L 101.959732 256.87424 -L 106.431401 259.636364 -L 110.947651 262.11216 -L 113.943624 263.582384 -L 116.939597 264.904028 -L 121.435679 266.618182 -L 122.931544 267.136778 -L 125.927517 268.033709 -L 128.92349 268.784869 -L 131.919463 269.386874 -L 134.915436 269.837015 -L 137.911409 270.133252 -L 140.907383 270.274203 -L 143.903356 270.259375 -L 146.899329 270.088823 -L 149.895302 269.763169 -L 152.891275 269.283956 -L 155.887248 268.653342 -L 158.883221 267.874166 -L 162.812354 266.618182 -L 164.875168 265.876873 -L 167.871141 264.662646 -L 171.251779 263.127273 -L 176.85906 260.190418 -L 179.855034 258.410988 -L 183.38424 256.145455 -L 188.842953 252.19789 -L 192.580144 249.163636 -L 196.436518 245.672727 -L 199.867867 242.181818 -L 202.886767 238.690909 -L 205.497772 235.2 -L 207.69822 231.709091 -L 209.814765 227.345995 -L 210.824133 224.727273 -L 211.728858 221.236364 -L 212.183537 217.745455 -L 212.183537 214.254545 -L 211.728858 210.763636 -L 210.824133 207.272727 -L 209.477357 203.781818 -L 207.69822 200.290909 -L 205.497772 196.8 -L 202.393741 192.735811 -L 202.393741 192.735811 -" style="fill:none;stroke:#ff4700;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 481.389715 240.985079 -L 483.368568 238.690909 -L 485.980964 235.2 -L 488.440268 231.20187 -L 489.95798 228.218182 -L 491.436242 224.225045 -L 492.210647 221.236364 -L 492.665234 217.745455 -L 492.665234 214.254545 -L 492.210647 210.763636 -L 491.305856 207.272727 -L 489.95798 203.781818 -L 488.180589 200.290909 -L 485.444295 196.076543 -L 482.448322 192.233227 -L 479.452349 188.890088 -L 476.456376 185.894548 -L 473.064525 182.836364 -L 467.468456 178.405463 -L 463.864025 175.854545 -L 458.309762 172.363636 -L 452.488591 169.237131 -L 449.492617 167.834431 -L 446.496644 166.569256 -L 443.325495 165.381818 -L 440.504698 164.460654 -L 437.508725 163.625831 -L 434.512752 162.938312 -L 431.516779 162.401193 -L 426.877963 161.890909 -L 425.524832 161.787196 -L 422.528859 161.713067 -L 418.318537 161.890909 -L 416.536913 162.032025 -L 413.54094 162.423805 -L 410.544966 162.968303 -L 407.548993 163.663066 -L 404.55302 164.504966 -L 401.557047 165.491386 -L 398.561074 166.627717 -L 393.48387 168.872727 -L 392.569128 169.309736 -L 386.577181 172.548911 -L 380.585235 176.36952 -L 376.471942 179.345455 -L 371.597315 183.313745 -L 368.279677 186.327273 -L 364.852988 189.818182 -L 361.834438 193.309091 -L 359.222027 196.8 -L 356.61745 201.084022 -L 355.245435 203.781818 -L 353.897827 207.272727 -L 352.992795 210.763636 -L 352.538199 214.254545 -L 352.538199 217.745455 -L 352.992795 221.236364 -L 353.897827 224.727273 -L 355.245435 228.218182 -L 357.023326 231.709091 -L 359.613423 235.727842 -L 362.609396 239.5975 -L 365.605369 242.960529 -L 368.601342 245.971667 -L 372.140579 249.163636 -L 377.589262 253.48808 -L 381.341489 256.145455 -L 386.897865 259.636364 -L 392.569128 262.690264 -L 395.565101 264.100654 -L 398.561074 265.372283 -L 401.886655 266.618182 -L 404.55302 267.495034 -L 407.548993 268.336934 -L 410.544966 269.031697 -L 413.54094 269.576195 -L 418.318537 270.109091 -L 419.532886 270.205225 -L 422.528859 270.286933 -L 426.877963 270.109091 -L 428.520805 269.983107 -L 431.516779 269.598807 -L 434.512752 269.061688 -L 437.508725 268.374169 -L 440.504698 267.539346 -L 444.5926 266.148652 -L 444.5926 266.148652 -" style="fill:none;stroke:#ff4700;stroke-width:5;"/> - <g id="LineCollection_7"> - <g id="patch_57"> - <path clip-path="url(#p826a730be7)" d="M 109.031822 191.747163 -L 107.951678 192.607619 -L 107.130563 193.309091 -L 104.955705 195.427908 -L 103.63081 196.8 -L 101.959732 198.837429 -L 100.829511 200.290909 -L 98.963758 203.243945 -L 98.639314 203.781818 -L 97.040954 207.272727 -L 95.967785 210.758621 -L 95.966302 210.763636 -L 95.447354 214.254545 -L 95.447354 217.745455 -L 95.966302 221.236364 -L 95.967785 221.241379 -L 97.040954 224.727273 -L 98.639314 228.218182 -L 98.963758 228.756055 -L 100.829511 231.709091 -L 101.959732 233.162571 -L 103.63081 235.2 -L 104.955705 236.572092 -L 107.130563 238.690909 -L 107.951678 239.392381 -L 110.947651 241.779011 -L 111.49543 242.181818 -L 113.943624 243.79943 -L 116.939597 245.605139 -L 117.064306 245.672727 -L 119.93557 247.098728 -L 122.931544 248.413212 -L 124.912182 249.163636 -L 125.927517 249.522007 -L 128.92349 250.407601 -L 131.919463 251.117347 -L 134.915436 251.648049 -L 137.911409 251.997318 -L 140.907383 252.163582 -L 143.903356 252.146091 -L 146.899329 251.944924 -L 149.895302 251.560987 -L 152.891275 250.99601 -L 155.887248 250.252535 -L 158.883221 249.33391 -L 159.351391 249.163636 -L 161.879195 248.176754 -L 164.875168 246.828787 -L 167.153495 245.672727 -L 167.871141 245.275348 -L 170.867114 243.435912 -L 172.734859 242.181818 -L 173.863087 241.33873 -L 176.85906 238.918369 -L 177.122069 238.690909 -L 179.855034 235.995495 -L 180.614976 235.2 -L 182.851007 232.444384 -L 183.417455 231.709091 -L 185.602549 228.218182 -L 185.84698 227.703724 -L 187.198823 224.727273 -L 188.264888 221.236364 -L 188.800651 217.745455 -L 188.800651 214.254545 -L 188.264888 210.763636 -L 187.198823 207.272727 -L 185.84698 204.296276 -L 185.602549 203.781818 -L 183.417455 200.290909 -L 182.851007 199.555616 -L 180.614976 196.8 -L 179.855034 196.004505 -L 177.122069 193.309091 -L 176.85906 193.081631 -L 173.863087 190.66127 -L 172.734859 189.818182 -L 170.867114 188.564088 -L 167.871141 186.724652 -L 167.153495 186.327273 -L 164.875168 185.171213 -L 161.879195 183.823246 -L 159.351391 182.836364 -L 158.883221 182.66609 -L 155.887248 181.747465 -L 152.891275 181.00399 -L 151.214478 180.687781 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <g id="patch_58"> - <path clip-path="url(#p826a730be7)" d="M 390.432313 191.013709 -L 389.573154 191.678445 -L 387.615085 193.309091 -L 386.577181 194.294791 -L 384.103626 196.8 -L 383.581208 197.422908 -L 381.307304 200.290909 -L 380.585235 201.411777 -L 379.131332 203.781818 -L 377.589262 207.093504 -L 377.509266 207.272727 -L 376.461587 210.763636 -L 375.935064 214.254545 -L 375.935064 217.745455 -L 376.461587 221.236364 -L 377.509266 224.727273 -L 377.589262 224.906496 -L 379.131332 228.218182 -L 380.585235 230.588223 -L 381.307304 231.709091 -L 383.581208 234.577092 -L 384.103626 235.2 -L 386.577181 237.705209 -L 387.615085 238.690909 -L 389.573154 240.321555 -L 391.977507 242.181818 -L 392.569128 242.593115 -L 395.565101 244.507521 -L 397.574411 245.672727 -L 398.561074 246.197044 -L 401.557047 247.619723 -L 404.55302 248.866604 -L 405.38824 249.163636 -L 407.548993 249.8795 -L 410.544966 250.698604 -L 413.54094 251.34055 -L 416.536913 251.802448 -L 419.532886 252.082217 -L 422.528859 252.178598 -L 425.524832 252.091157 -L 428.520805 251.820288 -L 431.516779 251.36721 -L 434.512752 250.733963 -L 437.508725 249.923399 -L 439.821421 249.163636 -L 440.504698 248.922682 -L 443.500671 247.684504 -L 446.496644 246.270236 -L 447.626777 245.672727 -L 449.492617 244.596212 -L 452.488591 242.690227 -L 453.222711 242.181818 -L 455.484564 240.438515 -L 457.590132 238.690909 -L 458.480537 237.848121 -L 461.10288 235.2 -L 461.47651 234.755804 -L 463.898297 231.709091 -L 464.472483 230.820059 -L 466.072158 228.218182 -L 467.468456 225.226207 -L 467.691581 224.727273 -L 468.741268 221.236364 -L 469.268801 217.745455 -L 469.268801 214.254545 -L 468.741268 210.763636 -L 467.691581 207.272727 -L 467.468456 206.773793 -L 466.072158 203.781818 -L 464.472483 201.179941 -L 463.898297 200.290909 -L 461.47651 197.244196 -L 461.10288 196.8 -L 458.480537 194.151879 -L 457.590132 193.309091 -L 455.484564 191.561485 -L 453.222711 189.818182 -L 452.488591 189.309773 -L 449.492617 187.403788 -L 447.626777 186.327273 -L 446.496644 185.729764 -L 443.500671 184.315496 -L 440.504698 183.077318 -L 439.821421 182.836364 -L 437.508725 182.076601 -L 434.512752 181.266037 -L 432.849966 180.914581 -" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 109.031822 191.747163 -L 107.951678 192.607619 -L 107.130563 193.309091 -L 104.955705 195.427908 -L 103.63081 196.8 -L 101.959732 198.837429 -L 100.829511 200.290909 -L 98.963758 203.243945 -L 98.639314 203.781818 -L 97.040954 207.272727 -L 95.967785 210.758621 -L 95.966302 210.763636 -L 95.447354 214.254545 -L 95.447354 217.745455 -L 95.966302 221.236364 -L 95.967785 221.241379 -L 97.040954 224.727273 -L 98.639314 228.218182 -L 98.963758 228.756055 -L 100.829511 231.709091 -L 101.959732 233.162571 -L 103.63081 235.2 -L 104.955705 236.572092 -L 107.130563 238.690909 -L 107.951678 239.392381 -L 110.947651 241.779011 -L 111.49543 242.181818 -L 113.943624 243.79943 -L 116.939597 245.605139 -L 117.064306 245.672727 -L 119.93557 247.098728 -L 122.931544 248.413212 -L 124.912182 249.163636 -L 125.927517 249.522007 -L 128.92349 250.407601 -L 131.919463 251.117347 -L 134.915436 251.648049 -L 137.911409 251.997318 -L 140.907383 252.163582 -L 143.903356 252.146091 -L 146.899329 251.944924 -L 149.895302 251.560987 -L 152.891275 250.99601 -L 155.887248 250.252535 -L 158.883221 249.33391 -L 159.351391 249.163636 -L 161.879195 248.176754 -L 164.875168 246.828787 -L 167.153495 245.672727 -L 167.871141 245.275348 -L 170.867114 243.435912 -L 172.734859 242.181818 -L 173.863087 241.33873 -L 176.85906 238.918369 -L 177.122069 238.690909 -L 179.855034 235.995495 -L 180.614976 235.2 -L 182.851007 232.444384 -L 183.417455 231.709091 -L 185.602549 228.218182 -L 185.84698 227.703724 -L 187.198823 224.727273 -L 188.264888 221.236364 -L 188.800651 217.745455 -L 188.800651 214.254545 -L 188.264888 210.763636 -L 187.198823 207.272727 -L 185.84698 204.296276 -L 185.602549 203.781818 -L 183.417455 200.290909 -L 182.851007 199.555616 -L 180.614976 196.8 -L 179.855034 196.004505 -L 177.122069 193.309091 -L 176.85906 193.081631 -L 173.863087 190.66127 -L 172.734859 189.818182 -L 170.867114 188.564088 -L 167.871141 186.724652 -L 167.153495 186.327273 -L 164.875168 185.171213 -L 161.879195 183.823246 -L 159.351391 182.836364 -L 158.883221 182.66609 -L 155.887248 181.747465 -L 152.891275 181.00399 -L 151.214478 180.687781 -" style="fill:none;stroke:#800000;stroke-width:5;"/> - <path clip-path="url(#p826a730be7)" d="M 390.432313 191.013709 -L 389.573154 191.678445 -L 387.615085 193.309091 -L 386.577181 194.294791 -L 384.103626 196.8 -L 383.581208 197.422908 -L 381.307304 200.290909 -L 380.585235 201.411777 -L 379.131332 203.781818 -L 377.589262 207.093504 -L 377.509266 207.272727 -L 376.461587 210.763636 -L 375.935064 214.254545 -L 375.935064 217.745455 -L 376.461587 221.236364 -L 377.509266 224.727273 -L 377.589262 224.906496 -L 379.131332 228.218182 -L 380.585235 230.588223 -L 381.307304 231.709091 -L 383.581208 234.577092 -L 384.103626 235.2 -L 386.577181 237.705209 -L 387.615085 238.690909 -L 389.573154 240.321555 -L 391.977507 242.181818 -L 392.569128 242.593115 -L 395.565101 244.507521 -L 397.574411 245.672727 -L 398.561074 246.197044 -L 401.557047 247.619723 -L 404.55302 248.866604 -L 405.38824 249.163636 -L 407.548993 249.8795 -L 410.544966 250.698604 -L 413.54094 251.34055 -L 416.536913 251.802448 -L 419.532886 252.082217 -L 422.528859 252.178598 -L 425.524832 252.091157 -L 428.520805 251.820288 -L 431.516779 251.36721 -L 434.512752 250.733963 -L 437.508725 249.923399 -L 439.821421 249.163636 -L 440.504698 248.922682 -L 443.500671 247.684504 -L 446.496644 246.270236 -L 447.626777 245.672727 -L 449.492617 244.596212 -L 452.488591 242.690227 -L 453.222711 242.181818 -L 455.484564 240.438515 -L 457.590132 238.690909 -L 458.480537 237.848121 -L 461.10288 235.2 -L 461.47651 234.755804 -L 463.898297 231.709091 -L 464.472483 230.820059 -L 466.072158 228.218182 -L 467.468456 225.226207 -L 467.691581 224.727273 -L 468.741268 221.236364 -L 469.268801 217.745455 -L 469.268801 214.254545 -L 468.741268 210.763636 -L 467.691581 207.272727 -L 467.468456 206.773793 -L 466.072158 203.781818 -L 464.472483 201.179941 -L 463.898297 200.290909 -L 461.47651 197.244196 -L 461.10288 196.8 -L 458.480537 194.151879 -L 457.590132 193.309091 -L 455.484564 191.561485 -L 453.222711 189.818182 -L 452.488591 189.309773 -L 449.492617 187.403788 -L 447.626777 186.327273 -L 446.496644 185.729764 -L 443.500671 184.315496 -L 440.504698 183.077318 -L 439.821421 182.836364 -L 437.508725 182.076601 -L 434.512752 181.266037 -L 432.849966 180.914581 -" style="fill:none;stroke:#800000;stroke-width:5;"/> - <g id="patch_59"> - <path d="M 72 388.8 -L 72 43.2 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> - <g id="patch_60"> - <path d="M 518.4 388.8 -L 518.4 43.2 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> - <g id="patch_61"> - <path d="M 72 388.8 -L 518.4 388.8 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> - <g id="patch_62"> - <path d="M 72 43.2 -L 518.4 43.2 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;"/> - </g> - <g id="matplotlib.axis_1"> - <g id="xtick_1"> - <g id="line2d_1"> - <defs> - <path d="M 0 0 -L 0 -4 -" id="m368fc901b1" style="stroke:#000000;stroke-width:0.5;"/> - </defs> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m368fc901b1" y="388.8"/> - </g> - </g> - <g id="line2d_2"> - <defs> - <path d="M 0 0 -L 0 4 -" id="mc63e59a608" style="stroke:#000000;stroke-width:0.5;"/> - </defs> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#mc63e59a608" y="43.2"/> - </g> - </g> - <g id="text_1"> - <!-- 0 --> - <defs> - <path d="M 31.78125 66.40625 + </g> + <g id="text_1"> + <!-- 0 --> + <defs> + <path d="M 31.78125 66.40625 Q 24.171875 66.40625 20.328125 58.90625 Q 16.5 51.421875 16.5 36.375 Q 16.5 21.390625 20.328125 13.890625 @@ -4584,28 +61,23 @@ Q 6.59375 17.96875 6.59375 36.375 Q 6.59375 54.828125 13.0625 64.515625 Q 19.53125 74.21875 31.78125 74.21875 z -" id="DejaVuSans-30"/> - </defs> - <g transform="translate(68.1825 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="xtick_2"> - <g id="line2d_3"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="131.919463" xlink:href="#m368fc901b1" y="388.8"/> - </g> - </g> - <g id="line2d_4"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="131.919463" xlink:href="#mc63e59a608" y="43.2"/> - </g> - </g> - <g id="text_2"> - <!-- 20 --> - <defs> - <path d="M 19.1875 8.296875 +" id="DejaVuSans-48"/> + </defs> + <g transform="translate(54.41875 322.182437)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-48"/> + </g> + </g> + </g> + <g id="xtick_2"> + <g id="line2d_2"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="105.53557" xlink:href="#ma2bc695f4e" y="307.584"/> + </g> + </g> + <g id="text_2"> + <!-- 20 --> + <defs> + <path d="M 19.1875 8.296875 L 53.609375 8.296875 L 53.609375 0 L 7.328125 0 @@ -4628,29 +100,24 @@ Q 49.859375 40.875 45.40625 35.40625 Q 44.1875 33.984375 37.640625 27.21875 Q 31.109375 20.453125 19.1875 8.296875 z -" id="DejaVuSans-32"/> - </defs> - <g transform="translate(124.284463 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-32"/> - <use x="63.623047" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="xtick_3"> - <g id="line2d_5"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="191.838926" xlink:href="#m368fc901b1" y="388.8"/> - </g> - </g> - <g id="line2d_6"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="191.838926" xlink:href="#mc63e59a608" y="43.2"/> - </g> - </g> - <g id="text_3"> - <!-- 40 --> - <defs> - <path d="M 37.796875 64.3125 +" id="DejaVuSans-50"/> + </defs> + <g transform="translate(99.17307 322.182437)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-50"/> + <use x="63.623047" xlink:href="#DejaVuSans-48"/> + </g> + </g> + </g> + <g id="xtick_3"> + <g id="line2d_3"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="153.471141" xlink:href="#ma2bc695f4e" y="307.584"/> + </g> + </g> + <g id="text_3"> + <!-- 40 --> + <defs> + <path d="M 37.796875 64.3125 L 12.890625 25.390625 L 37.796875 25.390625 z @@ -4666,29 +133,24 @@ L 37.796875 17.1875 L 4.890625 17.1875 L 4.890625 26.703125 z -" id="DejaVuSans-34"/> - </defs> - <g transform="translate(184.203926 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-34"/> - <use x="63.623047" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="xtick_4"> - <g id="line2d_7"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="251.758389" xlink:href="#m368fc901b1" y="388.8"/> - </g> - </g> - <g id="line2d_8"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="251.758389" xlink:href="#mc63e59a608" y="43.2"/> - </g> - </g> - <g id="text_4"> - <!-- 60 --> - <defs> - <path d="M 33.015625 40.375 +" id="DejaVuSans-52"/> + </defs> + <g transform="translate(147.108641 322.182437)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-52"/> + <use x="63.623047" xlink:href="#DejaVuSans-48"/> + </g> + </g> + </g> + <g id="xtick_4"> + <g id="line2d_4"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="201.406711" xlink:href="#ma2bc695f4e" y="307.584"/> + </g> + </g> + <g id="text_4"> + <!-- 60 --> + <defs> + <path d="M 33.015625 40.375 Q 26.375 40.375 22.484375 35.828125 Q 18.609375 31.296875 18.609375 23.390625 Q 18.609375 15.53125 22.484375 10.953125 @@ -4717,29 +179,24 @@ Q 23.390625 74.21875 37.203125 74.21875 Q 40.921875 74.21875 44.703125 73.484375 Q 48.484375 72.75 52.59375 71.296875 z -" id="DejaVuSans-36"/> - </defs> - <g transform="translate(244.123389 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-36"/> - <use x="63.623047" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="xtick_5"> - <g id="line2d_9"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="311.677852" xlink:href="#m368fc901b1" y="388.8"/> - </g> - </g> - <g id="line2d_10"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="311.677852" xlink:href="#mc63e59a608" y="43.2"/> - </g> - </g> - <g id="text_5"> - <!-- 80 --> - <defs> - <path d="M 31.78125 34.625 +" id="DejaVuSans-54"/> + </defs> + <g transform="translate(195.044211 322.182437)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-54"/> + <use x="63.623047" xlink:href="#DejaVuSans-48"/> + </g> + </g> + </g> + <g id="xtick_5"> + <g id="line2d_5"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="249.342282" xlink:href="#ma2bc695f4e" y="307.584"/> + </g> + </g> + <g id="text_5"> + <!-- 80 --> + <defs> + <path d="M 31.78125 34.625 Q 24.75 34.625 20.71875 30.859375 Q 16.703125 27.09375 16.703125 20.515625 Q 16.703125 13.921875 20.71875 10.15625 @@ -4777,29 +234,24 @@ Q 38.140625 66.40625 31.78125 66.40625 Q 25.390625 66.40625 21.84375 63.234375 Q 18.3125 60.0625 18.3125 54.390625 z -" id="DejaVuSans-38"/> - </defs> - <g transform="translate(304.042852 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-38"/> - <use x="63.623047" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="xtick_6"> - <g id="line2d_11"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="371.597315" xlink:href="#m368fc901b1" y="388.8"/> - </g> - </g> - <g id="line2d_12"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="371.597315" xlink:href="#mc63e59a608" y="43.2"/> - </g> - </g> - <g id="text_6"> - <!-- 100 --> - <defs> - <path d="M 12.40625 8.296875 +" id="DejaVuSans-56"/> + </defs> + <g transform="translate(242.979782 322.182437)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-56"/> + <use x="63.623047" xlink:href="#DejaVuSans-48"/> + </g> + </g> + </g> + <g id="xtick_6"> + <g id="line2d_6"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="297.277852" xlink:href="#ma2bc695f4e" y="307.584"/> + </g> + </g> + <g id="text_6"> + <!-- 100 --> + <defs> + <path d="M 12.40625 8.296875 L 28.515625 8.296875 L 28.515625 63.921875 L 10.984375 60.40625 @@ -4811,10049 +263,14308 @@ L 54.390625 8.296875 L 54.390625 0 L 12.40625 0 z -" id="DejaVuSans-31"/> - </defs> - <g transform="translate(360.144815 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-31"/> - <use x="63.623047" xlink:href="#DejaVuSans-30"/> - <use x="127.246094" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="xtick_7"> - <g id="line2d_13"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="431.516779" xlink:href="#m368fc901b1" y="388.8"/> - </g> - </g> - <g id="line2d_14"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="431.516779" xlink:href="#mc63e59a608" y="43.2"/> - </g> - </g> - <g id="text_7"> - <!-- 120 --> - <g transform="translate(420.064279 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-31"/> - <use x="63.623047" xlink:href="#DejaVuSans-32"/> - <use x="127.246094" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="xtick_8"> - <g id="line2d_15"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="491.436242" xlink:href="#m368fc901b1" y="388.8"/> - </g> - </g> - <g id="line2d_16"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="491.436242" xlink:href="#mc63e59a608" y="43.2"/> - </g> - </g> - <g id="text_8"> - <!-- 140 --> - <g transform="translate(479.983742 401.918125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-31"/> - <use x="63.623047" xlink:href="#DejaVuSans-34"/> - <use x="127.246094" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> +" id="DejaVuSans-49"/> + </defs> + <g transform="translate(287.734102 322.182437)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-49"/> + <use x="63.623047" xlink:href="#DejaVuSans-48"/> + <use x="127.246094" xlink:href="#DejaVuSans-48"/> + </g> + </g> + </g> + <g id="xtick_7"> + <g id="line2d_7"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="345.213423" xlink:href="#ma2bc695f4e" y="307.584"/> + </g> + </g> + <g id="text_7"> + <!-- 120 --> + <g transform="translate(335.669673 322.182437)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-49"/> + <use x="63.623047" xlink:href="#DejaVuSans-50"/> + <use x="127.246094" xlink:href="#DejaVuSans-48"/> + </g> + </g> + </g> + <g id="xtick_8"> + <g id="line2d_8"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="393.148993" xlink:href="#ma2bc695f4e" y="307.584"/> + </g> + </g> + <g id="text_8"> + <!-- 140 --> + <g transform="translate(383.605243 322.182437)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-49"/> + <use x="63.623047" xlink:href="#DejaVuSans-52"/> + <use x="127.246094" xlink:href="#DejaVuSans-48"/> + </g> + </g> + </g> + </g> + <g id="matplotlib.axis_2"> + <g id="ytick_1"> + <g id="line2d_9"> + <defs> + <path d="M 0 0 +L -3.5 0 +" id="m9d44948372" style="stroke:#000000;stroke-width:0.8;"/> + </defs> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m9d44948372" y="307.584"/> + </g> + </g> + <g id="text_9"> + <!-- 0 --> + <g transform="translate(44.2375 311.383219)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-48"/> + </g> + </g> + </g> + <g id="ytick_2"> + <g id="line2d_10"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m9d44948372" y="253.824"/> + </g> + </g> + <g id="text_10"> + <!-- 20 --> + <g transform="translate(37.875 257.623219)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-50"/> + <use x="63.623047" xlink:href="#DejaVuSans-48"/> + </g> + </g> + </g> + <g id="ytick_3"> + <g id="line2d_11"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m9d44948372" y="200.064"/> + </g> + </g> + <g id="text_11"> + <!-- 40 --> + <g transform="translate(37.875 203.863219)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-52"/> + <use x="63.623047" xlink:href="#DejaVuSans-48"/> + </g> + </g> + </g> + <g id="ytick_4"> + <g id="line2d_12"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m9d44948372" y="146.304"/> + </g> + </g> + <g id="text_12"> + <!-- 60 --> + <g transform="translate(37.875 150.103219)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-54"/> + <use x="63.623047" xlink:href="#DejaVuSans-48"/> + </g> + </g> + </g> + <g id="ytick_5"> + <g id="line2d_13"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m9d44948372" y="92.544"/> + </g> + </g> + <g id="text_13"> + <!-- 80 --> + <g transform="translate(37.875 96.343219)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-56"/> + <use x="63.623047" xlink:href="#DejaVuSans-48"/> + </g> + </g> + </g> + </g> + <g id="LineCollection_1"> + <g id="LineCollection_2"> + <g id="patch_3"> + <path clip-path="url(#pedd1dac049)" d="M 414.72 265.943424 +L 414.102096 264.576 +L 413.300011 261.888 +L 412.918658 259.2 +L 412.961923 256.512 +L 413.429365 253.824 +L 414.31622 251.136 +L 414.72 250.299321 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_4"> + <path clip-path="url(#pedd1dac049)" d="M 414.72 98.756679 +L 414.31622 97.92 +L 413.429365 95.232 +L 412.961923 92.544 +L 412.918658 89.856 +L 413.300011 87.168 +L 414.102096 84.48 +L 414.72 83.112576 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_5"> + <path clip-path="url(#pedd1dac049)" d="M 200.076395 238.953678 +L 201.406711 237.960155 +L 201.790691 237.696 +L 203.80349 236.449085 +L 206.200268 235.098086 +L 206.378545 235.008 +L 208.597047 233.978864 +L 210.993826 233.00044 +L 212.933926 232.32 +L 213.390604 232.17056 +L 215.787383 231.518373 +L 218.184161 231.001239 +L 220.58094 230.621488 +L 222.977718 230.38083 +L 225.374497 230.280347 +L 227.771275 230.320492 +L 230.168054 230.501084 +L 232.564832 230.821311 +L 234.961611 231.27973 +L 237.358389 231.874278 +L 238.825832 232.32 +L 239.755168 232.622541 +L 242.151946 233.54232 +L 244.548725 234.597475 +L 245.378504 235.008 +L 246.945503 235.85249 +L 249.342282 237.280641 +L 249.981177 237.696 +L 251.73906 238.965111 +L 253.560586 240.384 +L 254.135839 240.893598 +L 256.436873 243.072 +L 256.532617 243.178318 +L 258.726448 245.76 +L 258.929396 246.052372 +L 260.510277 248.448 +L 261.326174 250.062913 +L 261.845067 251.136 +L 262.733673 253.824 +L 263.202038 256.512 +L 263.245388 259.2 +L 262.863282 261.888 +L 262.059614 264.576 +L 261.326174 266.195906 +L 260.8209 267.264 +L 259.130375 269.952 +L 258.929396 270.210209 +L 256.940017 272.64 +L 256.532617 273.061044 +L 254.20804 275.328 +L 254.135839 275.389568 +L 251.73906 277.302025 +L 250.773625 278.016 +L 249.342282 278.965011 +L 246.945503 280.4215 +L 246.431508 280.704 +L 244.548725 281.650523 +L 242.151946 282.722711 +L 240.435605 283.392 +L 239.755168 283.638798 +L 237.358389 284.376256 +L 234.961611 284.978529 +L 232.564832 285.442905 +L 230.168054 285.767293 +L 227.771275 285.950232 +L 225.374497 285.990899 +L 222.977718 285.88911 +L 220.58094 285.645324 +L 218.184161 285.260639 +L 215.787383 284.736786 +L 213.390604 284.076125 +L 211.326784 283.392 +L 210.993826 283.273338 +L 208.597047 282.27912 +L 206.200268 281.149337 +L 205.353322 280.704 +L 203.80349 279.813067 +L 201.406711 278.298818 +L 200.994362 278.016 +L 199.009933 276.497869 +L 197.586565 275.328 +L 197.54562 275.289514 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_6"> + <path clip-path="url(#pedd1dac049)" d="M 199.637149 72.078297 +L 200.994362 71.04 +L 201.406711 70.757182 +L 203.80349 69.242933 +L 205.353322 68.352 +L 206.200268 67.906663 +L 208.597047 66.77688 +L 210.993826 65.782662 +L 211.326784 65.664 +L 213.390604 64.979875 +L 215.787383 64.319214 +L 218.184161 63.795361 +L 220.58094 63.410676 +L 222.977718 63.16689 +L 225.374497 63.065101 +L 227.771275 63.105768 +L 230.168054 63.288707 +L 232.564832 63.613095 +L 234.961611 64.077471 +L 237.358389 64.679744 +L 239.755168 65.417202 +L 240.435605 65.664 +L 242.151946 66.333289 +L 244.548725 67.405477 +L 246.431508 68.352 +L 246.945503 68.6345 +L 249.342282 70.090989 +L 250.773625 71.04 +L 251.73906 71.753975 +L 254.135839 73.666432 +L 254.20804 73.728 +L 256.532617 75.994956 +L 256.940017 76.416 +L 258.929396 78.845791 +L 259.130375 79.104 +L 260.8209 81.792 +L 261.326174 82.860094 +L 262.059614 84.48 +L 262.863282 87.168 +L 263.245388 89.856 +L 263.202038 92.544 +L 262.733673 95.232 +L 261.845067 97.92 +L 261.326174 98.993087 +L 260.510277 100.608 +L 258.929396 103.003628 +L 258.726448 103.296 +L 256.532617 105.877682 +L 256.436873 105.984 +L 254.135839 108.162402 +L 253.560586 108.672 +L 251.73906 110.090889 +L 249.981177 111.36 +L 249.342282 111.775359 +L 246.945503 113.20351 +L 245.378504 114.048 +L 244.548725 114.458525 +L 242.151946 115.51368 +L 239.755168 116.433459 +L 238.825832 116.736 +L 237.358389 117.181722 +L 234.961611 117.77627 +L 232.564832 118.234689 +L 230.168054 118.554916 +L 227.771275 118.735508 +L 225.374497 118.775653 +L 222.977718 118.67517 +L 220.58094 118.434512 +L 218.184161 118.054761 +L 215.787383 117.537627 +L 213.390604 116.88544 +L 212.933926 116.736 +L 210.993826 116.05556 +L 208.597047 115.077136 +L 206.378545 114.048 +L 206.200268 113.957914 +L 203.80349 112.606915 +L 201.790691 111.36 +L 201.406711 111.095845 +L 199.009933 109.305853 +L 198.219948 108.672 +L 197.96551 108.43983 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <path clip-path="url(#pedd1dac049)" d="M 414.72 265.943424 +L 414.102096 264.576 +L 413.300011 261.888 +L 412.918658 259.2 +L 412.961923 256.512 +L 413.429365 253.824 +L 414.31622 251.136 +L 414.72 250.299321 +" style="fill:none;stroke:#472d7b;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 414.72 98.756679 +L 414.31622 97.92 +L 413.429365 95.232 +L 412.961923 92.544 +L 412.918658 89.856 +L 413.300011 87.168 +L 414.102096 84.48 +L 414.72 83.112576 +" style="fill:none;stroke:#472d7b;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 200.076395 238.953678 +L 201.406711 237.960155 +L 201.790691 237.696 +L 203.80349 236.449085 +L 206.200268 235.098086 +L 206.378545 235.008 +L 208.597047 233.978864 +L 210.993826 233.00044 +L 212.933926 232.32 +L 213.390604 232.17056 +L 215.787383 231.518373 +L 218.184161 231.001239 +L 220.58094 230.621488 +L 222.977718 230.38083 +L 225.374497 230.280347 +L 227.771275 230.320492 +L 230.168054 230.501084 +L 232.564832 230.821311 +L 234.961611 231.27973 +L 237.358389 231.874278 +L 238.825832 232.32 +L 239.755168 232.622541 +L 242.151946 233.54232 +L 244.548725 234.597475 +L 245.378504 235.008 +L 246.945503 235.85249 +L 249.342282 237.280641 +L 249.981177 237.696 +L 251.73906 238.965111 +L 253.560586 240.384 +L 254.135839 240.893598 +L 256.436873 243.072 +L 256.532617 243.178318 +L 258.726448 245.76 +L 258.929396 246.052372 +L 260.510277 248.448 +L 261.326174 250.062913 +L 261.845067 251.136 +L 262.733673 253.824 +L 263.202038 256.512 +L 263.245388 259.2 +L 262.863282 261.888 +L 262.059614 264.576 +L 261.326174 266.195906 +L 260.8209 267.264 +L 259.130375 269.952 +L 258.929396 270.210209 +L 256.940017 272.64 +L 256.532617 273.061044 +L 254.20804 275.328 +L 254.135839 275.389568 +L 251.73906 277.302025 +L 250.773625 278.016 +L 249.342282 278.965011 +L 246.945503 280.4215 +L 246.431508 280.704 +L 244.548725 281.650523 +L 242.151946 282.722711 +L 240.435605 283.392 +L 239.755168 283.638798 +L 237.358389 284.376256 +L 234.961611 284.978529 +L 232.564832 285.442905 +L 230.168054 285.767293 +L 227.771275 285.950232 +L 225.374497 285.990899 +L 222.977718 285.88911 +L 220.58094 285.645324 +L 218.184161 285.260639 +L 215.787383 284.736786 +L 213.390604 284.076125 +L 211.326784 283.392 +L 210.993826 283.273338 +L 208.597047 282.27912 +L 206.200268 281.149337 +L 205.353322 280.704 +L 203.80349 279.813067 +L 201.406711 278.298818 +L 200.994362 278.016 +L 199.009933 276.497869 +L 197.586565 275.328 +L 197.54562 275.289514 +" style="fill:none;stroke:#472d7b;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 199.637149 72.078297 +L 200.994362 71.04 +L 201.406711 70.757182 +L 203.80349 69.242933 +L 205.353322 68.352 +L 206.200268 67.906663 +L 208.597047 66.77688 +L 210.993826 65.782662 +L 211.326784 65.664 +L 213.390604 64.979875 +L 215.787383 64.319214 +L 218.184161 63.795361 +L 220.58094 63.410676 +L 222.977718 63.16689 +L 225.374497 63.065101 +L 227.771275 63.105768 +L 230.168054 63.288707 +L 232.564832 63.613095 +L 234.961611 64.077471 +L 237.358389 64.679744 +L 239.755168 65.417202 +L 240.435605 65.664 +L 242.151946 66.333289 +L 244.548725 67.405477 +L 246.431508 68.352 +L 246.945503 68.6345 +L 249.342282 70.090989 +L 250.773625 71.04 +L 251.73906 71.753975 +L 254.135839 73.666432 +L 254.20804 73.728 +L 256.532617 75.994956 +L 256.940017 76.416 +L 258.929396 78.845791 +L 259.130375 79.104 +L 260.8209 81.792 +L 261.326174 82.860094 +L 262.059614 84.48 +L 262.863282 87.168 +L 263.245388 89.856 +L 263.202038 92.544 +L 262.733673 95.232 +L 261.845067 97.92 +L 261.326174 98.993087 +L 260.510277 100.608 +L 258.929396 103.003628 +L 258.726448 103.296 +L 256.532617 105.877682 +L 256.436873 105.984 +L 254.135839 108.162402 +L 253.560586 108.672 +L 251.73906 110.090889 +L 249.981177 111.36 +L 249.342282 111.775359 +L 246.945503 113.20351 +L 245.378504 114.048 +L 244.548725 114.458525 +L 242.151946 115.51368 +L 239.755168 116.433459 +L 238.825832 116.736 +L 237.358389 117.181722 +L 234.961611 117.77627 +L 232.564832 118.234689 +L 230.168054 118.554916 +L 227.771275 118.735508 +L 225.374497 118.775653 +L 222.977718 118.67517 +L 220.58094 118.434512 +L 218.184161 118.054761 +L 215.787383 117.537627 +L 213.390604 116.88544 +L 212.933926 116.736 +L 210.993826 116.05556 +L 208.597047 115.077136 +L 206.378545 114.048 +L 206.200268 113.957914 +L 203.80349 112.606915 +L 201.790691 111.36 +L 201.406711 111.095845 +L 199.009933 109.305853 +L 198.219948 108.672 +L 197.96551 108.43983 +" style="fill:none;stroke:#472d7b;stroke-width:5;"/> + <g id="LineCollection_3"> + <g id="patch_7"> + <path clip-path="url(#pedd1dac049)" d="M 414.72 287.313475 +L 412.997998 286.08 +L 412.323221 285.567812 +L 409.926443 283.679225 +L 409.573301 283.392 +L 407.529664 281.604966 +L 406.526115 280.704 +L 405.132886 279.336524 +L 403.815805 278.016 +L 402.736107 276.808552 +L 402.056065 276.035467 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_8"> + <path clip-path="url(#pedd1dac049)" d="M 404.224473 237.821955 +L 404.339845 237.696 +L 405.132886 236.916356 +L 407.115761 235.008 +L 407.529664 234.642309 +L 409.926443 232.579768 +L 410.238026 232.32 +L 412.323221 230.698007 +L 413.745868 229.632 +L 414.72 228.941293 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_9"> + <path clip-path="url(#pedd1dac049)" d="M 414.72 120.114707 +L 413.745868 119.424 +L 412.323221 118.357993 +L 410.238026 116.736 +L 409.926443 116.476232 +L 407.529664 114.413691 +L 407.115761 114.048 +L 405.132886 112.139644 +L 404.339845 111.36 +L 402.736107 109.609149 +L 402.411626 109.249043 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_10"> + <path clip-path="url(#pedd1dac049)" d="M 403.843246 71.012487 +L 405.132886 69.719476 +L 406.526115 68.352 +L 407.529664 67.451034 +L 409.573301 65.664 +L 409.926443 65.376775 +L 412.323221 63.488188 +L 412.997998 62.976 +L 414.72 61.742525 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_11"> + <path clip-path="url(#pedd1dac049)" d="M 244.159689 219.757047 +L 246.945503 220.847866 +L 249.342282 221.908521 +L 254.135839 224.35053 +L 258.929396 227.237078 +L 263.722953 230.608979 +L 266.119732 232.480987 +L 269.046135 235.008 +L 271.822576 237.696 +L 274.270868 240.384 +L 276.39386 243.072 +L 278.18869 245.76 +L 279.644623 248.448 +L 280.758576 251.136 +L 281.518503 253.824 +L 281.919044 256.512 +L 281.956117 259.2 +L 281.629343 261.888 +L 280.942054 264.576 +L 279.89958 267.264 +L 278.103624 270.591236 +L 276.785108 272.64 +L 274.729108 275.328 +L 272.347099 278.016 +L 268.51651 281.708306 +L 266.119732 283.772587 +L 263.165891 286.08 +L 258.929396 289.023348 +L 254.135839 291.9047 +L 249.342282 294.352364 +L 244.548725 296.365899 +L 242.151946 297.212286 +L 237.358389 298.567134 +L 234.961611 299.074974 +L 232.096376 299.52 +L 230.168054 299.739722 +L 227.771275 299.893737 +L 225.374497 299.927974 +L 222.977718 299.842279 +L 219.714797 299.52 +L 218.184161 299.312851 +L 215.787383 298.871135 +L 210.993826 297.644138 +L 206.200268 295.968148 +L 201.406711 293.862548 +L 196.613154 291.327061 +L 191.819597 288.340768 +L 188.613595 286.08 +L 184.629262 282.910454 +L 182.135086 280.704 +L 179.428111 278.016 +L 177.046582 275.328 +L 174.989903 272.64 +L 173.26639 269.952 +L 171.877922 267.264 +L 170.836039 264.576 +L 170.14812 261.888 +L 169.821286 259.2 +L 169.858365 256.512 +L 170.258989 253.824 +L 171.019708 251.136 +L 172.645369 247.499336 +L 173.590886 245.76 +L 175.383077 243.072 +L 177.503155 240.384 +L 179.950808 237.696 +L 182.731661 235.008 +L 187.02604 231.399853 +L 189.422819 229.579868 +L 194.216376 226.370872 +L 199.009933 223.614044 +L 202.247704 222.008093 +L 202.247704 222.008093 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_12"> + <path clip-path="url(#pedd1dac049)" d="M 252.495286 56.280122 +L 256.532617 58.542353 +L 259.319803 60.288 +L 263.722953 63.398004 +L 266.588325 65.664 +L 269.636467 68.352 +L 272.347099 71.04 +L 274.729108 73.728 +L 276.785108 76.416 +L 278.512012 79.104 +L 279.89958 81.792 +L 280.942054 84.48 +L 281.629343 87.168 +L 281.956117 89.856 +L 281.919044 92.544 +L 281.518503 95.232 +L 280.500403 98.544317 +L 279.644623 100.608 +L 278.103624 103.42429 +L 275.706846 106.860887 +L 273.310067 109.737553 +L 270.913289 112.253104 +L 268.51651 114.515389 +L 265.926307 116.736 +L 261.326174 120.195603 +L 256.532617 123.310006 +L 251.73906 125.974236 +L 246.945503 128.208134 +L 242.151946 130.009435 +L 239.755168 130.743226 +L 234.961611 131.871603 +L 232.564832 132.26272 +L 230.168054 132.535932 +L 227.771275 132.690011 +L 225.374497 132.724262 +L 222.977718 132.638532 +L 220.58094 132.433205 +L 218.184161 132.109207 +L 215.787383 131.667997 +L 210.993826 130.442404 +L 208.597047 129.658534 +L 203.80349 127.767897 +L 201.406711 126.655629 +L 196.613154 124.117176 +L 191.819597 121.131597 +L 189.350385 119.424 +L 184.629262 115.698441 +L 182.232483 113.575068 +L 179.835705 111.235911 +L 177.438926 108.591711 +L 175.042148 105.476764 +L 173.590886 103.296 +L 172.132432 100.608 +L 171.019708 97.92 +L 170.248591 95.162288 +L 169.858365 92.544 +L 169.821286 89.856 +L 170.248591 86.775129 +L 170.836039 84.48 +L 171.877922 81.792 +L 173.26639 79.104 +L 175.042148 76.347053 +L 177.438926 73.27974 +L 179.835705 70.62855 +L 182.232483 68.263796 +L 185.190506 65.664 +L 189.422819 62.387633 +L 194.216376 59.172066 +L 199.009933 56.413718 +L 203.80349 54.08802 +L 208.597047 52.191619 +L 210.754626 51.489682 +L 210.754626 51.489682 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <path clip-path="url(#pedd1dac049)" d="M 414.72 287.313475 +L 412.997998 286.08 +L 412.323221 285.567812 +L 409.926443 283.679225 +L 409.573301 283.392 +L 407.529664 281.604966 +L 406.526115 280.704 +L 405.132886 279.336524 +L 403.815805 278.016 +L 402.736107 276.808552 +L 402.056065 276.035467 +" style="fill:none;stroke:#3b528b;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 404.224473 237.821955 +L 404.339845 237.696 +L 405.132886 236.916356 +L 407.115761 235.008 +L 407.529664 234.642309 +L 409.926443 232.579768 +L 410.238026 232.32 +L 412.323221 230.698007 +L 413.745868 229.632 +L 414.72 228.941293 +" style="fill:none;stroke:#3b528b;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 414.72 120.114707 +L 413.745868 119.424 +L 412.323221 118.357993 +L 410.238026 116.736 +L 409.926443 116.476232 +L 407.529664 114.413691 +L 407.115761 114.048 +L 405.132886 112.139644 +L 404.339845 111.36 +L 402.736107 109.609149 +L 402.411626 109.249043 +" style="fill:none;stroke:#3b528b;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 403.843246 71.012487 +L 405.132886 69.719476 +L 406.526115 68.352 +L 407.529664 67.451034 +L 409.573301 65.664 +L 409.926443 65.376775 +L 412.323221 63.488188 +L 412.997998 62.976 +L 414.72 61.742525 +" style="fill:none;stroke:#3b528b;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 244.159689 219.757047 +L 246.945503 220.847866 +L 249.342282 221.908521 +L 254.135839 224.35053 +L 258.929396 227.237078 +L 263.722953 230.608979 +L 266.119732 232.480987 +L 269.046135 235.008 +L 271.822576 237.696 +L 274.270868 240.384 +L 276.39386 243.072 +L 278.18869 245.76 +L 279.644623 248.448 +L 280.758576 251.136 +L 281.518503 253.824 +L 281.919044 256.512 +L 281.956117 259.2 +L 281.629343 261.888 +L 280.942054 264.576 +L 279.89958 267.264 +L 278.103624 270.591236 +L 276.785108 272.64 +L 274.729108 275.328 +L 272.347099 278.016 +L 268.51651 281.708306 +L 266.119732 283.772587 +L 263.165891 286.08 +L 258.929396 289.023348 +L 254.135839 291.9047 +L 249.342282 294.352364 +L 244.548725 296.365899 +L 242.151946 297.212286 +L 237.358389 298.567134 +L 234.961611 299.074974 +L 232.096376 299.52 +L 230.168054 299.739722 +L 227.771275 299.893737 +L 225.374497 299.927974 +L 222.977718 299.842279 +L 219.714797 299.52 +L 218.184161 299.312851 +L 215.787383 298.871135 +L 210.993826 297.644138 +L 206.200268 295.968148 +L 201.406711 293.862548 +L 196.613154 291.327061 +L 191.819597 288.340768 +L 188.613595 286.08 +L 184.629262 282.910454 +L 182.135086 280.704 +L 179.428111 278.016 +L 177.046582 275.328 +L 174.989903 272.64 +L 173.26639 269.952 +L 171.877922 267.264 +L 170.836039 264.576 +L 170.14812 261.888 +L 169.821286 259.2 +L 169.858365 256.512 +L 170.258989 253.824 +L 171.019708 251.136 +L 172.645369 247.499336 +L 173.590886 245.76 +L 175.383077 243.072 +L 177.503155 240.384 +L 179.950808 237.696 +L 182.731661 235.008 +L 187.02604 231.399853 +L 189.422819 229.579868 +L 194.216376 226.370872 +L 199.009933 223.614044 +L 202.247704 222.008093 +L 202.247704 222.008093 +" style="fill:none;stroke:#3b528b;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 252.495286 56.280122 +L 256.532617 58.542353 +L 259.319803 60.288 +L 263.722953 63.398004 +L 266.588325 65.664 +L 269.636467 68.352 +L 272.347099 71.04 +L 274.729108 73.728 +L 276.785108 76.416 +L 278.512012 79.104 +L 279.89958 81.792 +L 280.942054 84.48 +L 281.629343 87.168 +L 281.956117 89.856 +L 281.919044 92.544 +L 281.518503 95.232 +L 280.500403 98.544317 +L 279.644623 100.608 +L 278.103624 103.42429 +L 275.706846 106.860887 +L 273.310067 109.737553 +L 270.913289 112.253104 +L 268.51651 114.515389 +L 265.926307 116.736 +L 261.326174 120.195603 +L 256.532617 123.310006 +L 251.73906 125.974236 +L 246.945503 128.208134 +L 242.151946 130.009435 +L 239.755168 130.743226 +L 234.961611 131.871603 +L 232.564832 132.26272 +L 230.168054 132.535932 +L 227.771275 132.690011 +L 225.374497 132.724262 +L 222.977718 132.638532 +L 220.58094 132.433205 +L 218.184161 132.109207 +L 215.787383 131.667997 +L 210.993826 130.442404 +L 208.597047 129.658534 +L 203.80349 127.767897 +L 201.406711 126.655629 +L 196.613154 124.117176 +L 191.819597 121.131597 +L 189.350385 119.424 +L 184.629262 115.698441 +L 182.232483 113.575068 +L 179.835705 111.235911 +L 177.438926 108.591711 +L 175.042148 105.476764 +L 173.590886 103.296 +L 172.132432 100.608 +L 171.019708 97.92 +L 170.248591 95.162288 +L 169.858365 92.544 +L 169.821286 89.856 +L 170.248591 86.775129 +L 170.836039 84.48 +L 171.877922 81.792 +L 173.26639 79.104 +L 175.042148 76.347053 +L 177.438926 73.27974 +L 179.835705 70.62855 +L 182.232483 68.263796 +L 185.190506 65.664 +L 189.422819 62.387633 +L 194.216376 59.172066 +L 199.009933 56.413718 +L 203.80349 54.08802 +L 208.597047 52.191619 +L 210.754626 51.489682 +L 210.754626 51.489682 +" style="fill:none;stroke:#3b528b;stroke-width:5;"/> + <g id="LineCollection_4"> + <g id="patch_13"> + <path clip-path="url(#pedd1dac049)" d="M 201.971073 307.584 +L 201.406711 307.321423 +L 199.009933 306.11083 +L 196.771218 304.896 +L 196.613154 304.811849 +L 194.216376 303.453274 +L 192.136511 302.208 +L 191.819597 302.019894 +L 189.422819 300.527889 +L 187.868989 299.52 +L 187.02604 298.97237 +L 184.629262 297.359531 +L 183.868198 296.832 +L 182.232483 295.68472 +L 180.088741 294.144 +L 179.835705 293.958033 +L 177.438926 292.162046 +L 176.51035 291.456 +L 175.042148 290.30181 +L 173.110345 288.768 +L 172.645369 288.381792 +L 170.248591 286.380306 +L 169.889283 286.08 +L 167.851812 284.27548 +L 166.850631 283.392 +L 165.455034 282.067961 +L 164.005526 280.704 +L 163.058255 279.729497 +L 161.371162 278.016 +L 160.661477 277.212024 +L 158.968964 275.328 +L 158.264698 274.431436 +L 156.825531 272.64 +L 155.867919 271.23128 +L 154.973968 269.952 +L 153.471141 267.290369 +L 153.455753 267.264 +L 152.275823 264.576 +L 151.496659 261.888 +L 151.126202 259.2 +L 151.168231 256.512 +L 151.622316 253.824 +L 152.483828 251.136 +L 153.471141 249.029994 +L 153.735123 248.448 +L 155.327617 245.76 +L 155.867919 245.015034 +L 157.238792 243.072 +L 158.264698 241.832308 +L 159.436626 240.384 +L 160.661477 239.052972 +L 161.888476 237.696 +L 163.058255 236.531029 +L 164.568099 235.008 +L 165.455034 234.186669 +L 167.454348 232.32 +L 167.851812 231.973762 +L 170.248591 229.878244 +L 170.530477 229.632 +L 172.645369 227.883794 +L 173.788412 226.944 +L 175.042148 225.956204 +L 177.221648 224.256 +L 177.438926 224.091685 +L 179.835705 222.305402 +L 180.844506 221.568 +L 182.232483 220.573687 +L 184.629262 218.898051 +L 184.655858 218.88 +L 187.02604 217.286884 +L 188.713289 216.192 +L 189.422819 215.731335 +L 191.819597 214.237937 +L 193.054949 213.504 +L 194.216376 212.80651 +L 196.613154 211.443811 +L 197.788824 210.816 +L 199.009933 210.14992 +L 201.406711 208.933025 +L 203.128006 208.128 +L 203.80349 207.801753 +L 206.200268 206.74846 +L 208.597047 205.804217 +L 209.647598 205.44 +L 210.993826 204.952355 +L 213.390604 204.206456 +L 215.787383 203.586206 +L 218.184161 203.094396 +L 220.456443 202.752 +L 220.58094 202.732148 +L 222.977718 202.489949 +L 225.374497 202.388822 +L 227.771275 202.429225 +L 230.168054 202.610973 +L 231.216872 202.752 +L 232.564832 202.923278 +L 234.961611 203.359249 +L 237.358389 203.924683 +L 239.755168 204.617033 +L 242.151946 205.433182 +L 242.1694 205.44 +L 244.548725 206.329581 +L 246.945503 207.336624 +L 248.649004 208.128 +L 249.342282 208.439868 +L 251.73906 209.616227 +L 254.004663 210.816 +L 254.135839 210.884005 +L 256.532617 212.211892 +L 258.733303 213.504 +L 258.929396 213.6179 +L 261.326174 215.082299 +L 263.064498 216.192 +L 263.722953 216.612122 +L 263.927461 216.747617 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_14"> + <path clip-path="url(#pedd1dac049)" d="M 296.082604 245.244942 +L 296.451524 245.76 +L 297.277852 247.172302 +L 298.047485 248.448 +L 299.289057 251.136 +L 299.674631 252.357034 +L 300.154977 253.824 +L 300.618893 256.512 +L 300.661831 259.2 +L 300.283355 261.888 +L 299.674631 263.943504 +L 299.493994 264.576 +L 298.331467 267.264 +L 297.277852 269.096454 +L 296.800784 269.952 +L 294.945742 272.64 +L 294.881074 272.71929 +L 292.806722 275.328 +L 292.484295 275.682556 +L 290.405006 278.016 +L 290.087517 278.335432 +L 287.769564 280.704 +L 287.690738 280.777675 +L 285.29396 283.042216 +L 284.926053 283.392 +L 282.897181 285.186155 +L 281.888132 286.08 +L 280.500403 287.240064 +L 278.667493 288.768 +L 278.103624 289.217325 +L 275.706846 291.113282 +L 275.268399 291.456 +L 273.310067 292.936579 +L 271.686242 294.144 +L 270.913289 294.706046 +L 268.51651 296.411757 +L 267.910089 296.832 +L 266.119732 298.058116 +L 263.915783 299.52 +L 263.722953 299.647705 +L 261.326174 301.176319 +L 259.636048 302.208 +L 258.929396 302.64311 +L 256.532617 304.046092 +L 254.993914 304.896 +L 254.135839 305.379094 +L 251.73906 306.64176 +L 249.809292 307.584 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_15"> + <path clip-path="url(#pedd1dac049)" d="M 414.72 301.103411 +L 412.323221 299.57178 +L 412.245168 299.52 +L 409.926443 297.979393 +L 408.253406 296.832 +L 407.529664 296.329744 +L 405.132886 294.62205 +L 404.476053 294.144 +L 402.736107 292.849044 +L 400.894824 291.456 +L 400.339329 291.02149 +L 397.94255 289.124656 +L 397.495081 288.768 +L 396.372488 287.831967 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_16"> + <path clip-path="url(#pedd1dac049)" d="M 376.465279 252.42333 +L 376.872451 251.136 +L 378.11605 248.448 +L 378.768322 247.368596 +L 379.710787 245.76 +L 381.165101 243.732372 +L 381.626776 243.072 +L 383.561879 240.71218 +L 383.825515 240.384 +L 385.958658 238.049084 +L 386.276195 237.696 +L 388.355436 235.614037 +L 388.954033 235.008 +L 390.752215 233.33672 +L 391.839092 232.32 +L 393.148993 231.176725 +L 394.915432 229.632 +L 395.545772 229.110397 +L 397.94255 227.13217 +L 398.172159 226.944 +L 400.339329 225.24205 +L 401.609688 224.256 +L 402.736107 223.408399 +L 405.132886 221.634233 +L 405.224286 221.568 +L 407.529664 219.930754 +L 409.048706 218.88 +L 409.926443 218.278724 +L 412.323221 216.688079 +L 413.099191 216.192 +L 414.72 215.155275 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_17"> + <path clip-path="url(#pedd1dac049)" d="M 57.6 230.277107 +L 59.937399 232.32 +L 59.996779 232.375623 +L 62.393557 234.610685 +L 62.8235 235.008 +L 64.790336 236.98789 +L 65.503483 237.696 +L 67.187114 239.552451 +L 67.614885 240.0155 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_18"> + <path clip-path="url(#pedd1dac049)" d="M 66.183349 277.834134 +L 66.022335 278.016 +L 64.790336 279.263571 +L 63.387244 280.704 +L 62.393557 281.6371 +L 60.541577 283.392 +L 59.996779 283.872171 +L 57.6 285.994181 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_19"> + <path clip-path="url(#pedd1dac049)" d="M 414.72 133.900725 +L 413.099191 132.864 +L 412.323221 132.367921 +L 409.926443 130.777276 +L 409.048706 130.176 +L 407.529664 129.125246 +L 405.224286 127.488 +L 405.132886 127.421767 +L 402.736107 125.647601 +L 401.609688 124.8 +L 400.339329 123.81395 +L 398.172159 122.112 +L 397.94255 121.92383 +L 396.350294 120.609631 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_20"> + <path clip-path="url(#pedd1dac049)" d="M 376.464384 85.188928 +L 376.667179 84.48 +L 377.831605 81.792 +L 378.768322 80.165511 +L 379.36105 79.104 +L 381.165101 76.493457 +L 381.217275 76.416 +L 383.357061 73.728 +L 383.561879 73.503023 +L 385.758558 71.04 +L 385.958658 70.838852 +L 388.355436 68.391315 +L 388.393514 68.352 +L 390.752215 66.12437 +L 391.236534 65.664 +L 393.148993 63.973126 +L 394.274611 62.976 +L 395.545772 61.913359 +L 397.495081 60.288 +L 397.94255 59.931344 +L 400.339329 58.03451 +L 400.894824 57.6 +L 402.736107 56.206956 +L 404.476053 54.912 +L 405.132886 54.43395 +L 407.529664 52.726256 +L 408.253406 52.224 +L 409.926443 51.076607 +L 412.245168 49.536 +L 412.323221 49.48422 +L 414.72 47.952589 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_21"> + <path clip-path="url(#pedd1dac049)" d="M 57.6 63.061819 +L 59.996779 65.183829 +L 60.541577 65.664 +L 62.393557 67.4189 +L 63.387244 68.352 +L 64.790336 69.792429 +L 66.022335 71.04 +L 67.187114 72.35562 +L 67.973427 73.227509 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_22"> + <path clip-path="url(#pedd1dac049)" d="M 65.80462 111.027952 +L 65.503483 111.36 +L 64.790336 112.06811 +L 62.8235 114.048 +L 62.393557 114.445315 +L 59.996779 116.680377 +L 59.937399 116.736 +L 57.6 118.778893 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_23"> + <path clip-path="url(#pedd1dac049)" d="M 249.809292 41.472 +L 251.73906 42.41424 +L 254.135839 43.676906 +L 254.993914 44.16 +L 256.532617 45.009908 +L 258.929396 46.41289 +L 259.636048 46.848 +L 261.326174 47.879681 +L 263.722953 49.408295 +L 263.915783 49.536 +L 266.119732 50.997884 +L 267.910089 52.224 +L 268.51651 52.644243 +L 270.913289 54.349954 +L 271.686242 54.912 +L 273.310067 56.119421 +L 275.268399 57.6 +L 275.706846 57.942718 +L 278.103624 59.838675 +L 278.667493 60.288 +L 280.500403 61.815936 +L 281.888132 62.976 +L 282.897181 63.869845 +L 284.926053 65.664 +L 285.29396 66.013784 +L 287.690738 68.278325 +L 287.769564 68.352 +L 290.087517 70.720568 +L 290.405006 71.04 +L 292.484295 73.373444 +L 292.806722 73.728 +L 294.881074 76.33671 +L 294.945742 76.416 +L 296.800784 79.104 +L 297.277852 79.959546 +L 298.331467 81.792 +L 299.493994 84.48 +L 299.674631 85.112496 +L 300.283355 87.168 +L 300.661831 89.856 +L 300.618893 92.544 +L 300.154977 95.232 +L 299.674631 96.698966 +L 299.289057 97.92 +L 298.047485 100.608 +L 297.277852 101.883698 +L 296.451524 103.296 +L 294.881074 105.488542 +L 294.535078 105.984 +L 292.484295 108.48768 +L 292.336356 108.672 +L 290.087517 111.135714 +L 289.88594 111.36 +L 287.690738 113.559493 +L 287.208431 114.048 +L 285.29396 115.82811 +L 284.323615 116.736 +L 282.897181 117.981232 +L 281.247298 119.424 +L 280.500403 120.042039 +L 278.103624 122.019791 +L 277.991057 122.112 +L 275.706846 123.905037 +L 274.553043 124.8 +L 274.481337 124.85392 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_24"> + <path clip-path="url(#pedd1dac049)" d="M 236.721163 145.281648 +L 234.961611 145.696751 +L 232.564832 146.132722 +L 231.216872 146.304 +L 230.168054 146.445027 +L 227.771275 146.626775 +L 225.374497 146.667178 +L 222.977718 146.566051 +L 220.58094 146.323852 +L 220.456443 146.304 +L 218.184161 145.961604 +L 215.787383 145.469794 +L 213.390604 144.849544 +L 210.993826 144.103645 +L 209.647598 143.616 +L 208.597047 143.251783 +L 206.200268 142.30754 +L 203.80349 141.254247 +L 203.128006 140.928 +L 201.406711 140.122975 +L 199.009933 138.90608 +L 197.788824 138.24 +L 196.613154 137.612189 +L 194.216376 136.24949 +L 193.054949 135.552 +L 191.819597 134.818063 +L 189.422819 133.324665 +L 188.713289 132.864 +L 187.02604 131.769116 +L 184.655858 130.176 +L 184.629262 130.157949 +L 182.232483 128.482313 +L 180.844506 127.488 +L 179.835705 126.750598 +L 177.438926 124.964315 +L 177.221648 124.8 +L 175.042148 123.099796 +L 173.788412 122.112 +L 172.645369 121.172206 +L 170.530477 119.424 +L 170.248591 119.177756 +L 167.851812 117.082238 +L 167.454348 116.736 +L 165.455034 114.869331 +L 164.568099 114.048 +L 163.058255 112.524971 +L 161.888476 111.36 +L 160.661477 110.003028 +L 159.436626 108.672 +L 158.264698 107.223692 +L 157.238792 105.984 +L 155.867919 104.040966 +L 155.327617 103.296 +L 153.735123 100.608 +L 153.471141 100.026006 +L 152.483828 97.92 +L 151.622316 95.232 +L 151.168231 92.544 +L 151.126202 89.856 +L 151.496659 87.168 +L 152.275823 84.48 +L 153.455753 81.792 +L 153.471141 81.765631 +L 154.973968 79.104 +L 155.867919 77.82472 +L 156.825531 76.416 +L 158.264698 74.624564 +L 158.968964 73.728 +L 160.661477 71.843976 +L 161.371162 71.04 +L 163.058255 69.326503 +L 164.005526 68.352 +L 165.455034 66.988039 +L 166.850631 65.664 +L 167.851812 64.78052 +L 169.889283 62.976 +L 170.248591 62.675694 +L 172.645369 60.674208 +L 173.110345 60.288 +L 175.042148 58.75419 +L 176.51035 57.6 +L 177.438926 56.893954 +L 179.835705 55.097967 +L 180.088741 54.912 +L 182.232483 53.37128 +L 183.868198 52.224 +L 184.629262 51.696469 +L 187.02604 50.08363 +L 187.868989 49.536 +L 189.422819 48.528111 +L 191.819597 47.036106 +L 192.136511 46.848 +L 194.216376 45.602726 +L 196.613154 44.244151 +L 196.771218 44.16 +L 199.009933 42.94517 +L 201.406711 41.734577 +L 201.971073 41.472 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <path clip-path="url(#pedd1dac049)" d="M 201.971073 307.584 +L 201.406711 307.321423 +L 199.009933 306.11083 +L 196.771218 304.896 +L 196.613154 304.811849 +L 194.216376 303.453274 +L 192.136511 302.208 +L 191.819597 302.019894 +L 189.422819 300.527889 +L 187.868989 299.52 +L 187.02604 298.97237 +L 184.629262 297.359531 +L 183.868198 296.832 +L 182.232483 295.68472 +L 180.088741 294.144 +L 179.835705 293.958033 +L 177.438926 292.162046 +L 176.51035 291.456 +L 175.042148 290.30181 +L 173.110345 288.768 +L 172.645369 288.381792 +L 170.248591 286.380306 +L 169.889283 286.08 +L 167.851812 284.27548 +L 166.850631 283.392 +L 165.455034 282.067961 +L 164.005526 280.704 +L 163.058255 279.729497 +L 161.371162 278.016 +L 160.661477 277.212024 +L 158.968964 275.328 +L 158.264698 274.431436 +L 156.825531 272.64 +L 155.867919 271.23128 +L 154.973968 269.952 +L 153.471141 267.290369 +L 153.455753 267.264 +L 152.275823 264.576 +L 151.496659 261.888 +L 151.126202 259.2 +L 151.168231 256.512 +L 151.622316 253.824 +L 152.483828 251.136 +L 153.471141 249.029994 +L 153.735123 248.448 +L 155.327617 245.76 +L 155.867919 245.015034 +L 157.238792 243.072 +L 158.264698 241.832308 +L 159.436626 240.384 +L 160.661477 239.052972 +L 161.888476 237.696 +L 163.058255 236.531029 +L 164.568099 235.008 +L 165.455034 234.186669 +L 167.454348 232.32 +L 167.851812 231.973762 +L 170.248591 229.878244 +L 170.530477 229.632 +L 172.645369 227.883794 +L 173.788412 226.944 +L 175.042148 225.956204 +L 177.221648 224.256 +L 177.438926 224.091685 +L 179.835705 222.305402 +L 180.844506 221.568 +L 182.232483 220.573687 +L 184.629262 218.898051 +L 184.655858 218.88 +L 187.02604 217.286884 +L 188.713289 216.192 +L 189.422819 215.731335 +L 191.819597 214.237937 +L 193.054949 213.504 +L 194.216376 212.80651 +L 196.613154 211.443811 +L 197.788824 210.816 +L 199.009933 210.14992 +L 201.406711 208.933025 +L 203.128006 208.128 +L 203.80349 207.801753 +L 206.200268 206.74846 +L 208.597047 205.804217 +L 209.647598 205.44 +L 210.993826 204.952355 +L 213.390604 204.206456 +L 215.787383 203.586206 +L 218.184161 203.094396 +L 220.456443 202.752 +L 220.58094 202.732148 +L 222.977718 202.489949 +L 225.374497 202.388822 +L 227.771275 202.429225 +L 230.168054 202.610973 +L 231.216872 202.752 +L 232.564832 202.923278 +L 234.961611 203.359249 +L 237.358389 203.924683 +L 239.755168 204.617033 +L 242.151946 205.433182 +L 242.1694 205.44 +L 244.548725 206.329581 +L 246.945503 207.336624 +L 248.649004 208.128 +L 249.342282 208.439868 +L 251.73906 209.616227 +L 254.004663 210.816 +L 254.135839 210.884005 +L 256.532617 212.211892 +L 258.733303 213.504 +L 258.929396 213.6179 +L 261.326174 215.082299 +L 263.064498 216.192 +L 263.722953 216.612122 +L 263.927461 216.747617 +" style="fill:none;stroke:#2c728e;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 296.082604 245.244942 +L 296.451524 245.76 +L 297.277852 247.172302 +L 298.047485 248.448 +L 299.289057 251.136 +L 299.674631 252.357034 +L 300.154977 253.824 +L 300.618893 256.512 +L 300.661831 259.2 +L 300.283355 261.888 +L 299.674631 263.943504 +L 299.493994 264.576 +L 298.331467 267.264 +L 297.277852 269.096454 +L 296.800784 269.952 +L 294.945742 272.64 +L 294.881074 272.71929 +L 292.806722 275.328 +L 292.484295 275.682556 +L 290.405006 278.016 +L 290.087517 278.335432 +L 287.769564 280.704 +L 287.690738 280.777675 +L 285.29396 283.042216 +L 284.926053 283.392 +L 282.897181 285.186155 +L 281.888132 286.08 +L 280.500403 287.240064 +L 278.667493 288.768 +L 278.103624 289.217325 +L 275.706846 291.113282 +L 275.268399 291.456 +L 273.310067 292.936579 +L 271.686242 294.144 +L 270.913289 294.706046 +L 268.51651 296.411757 +L 267.910089 296.832 +L 266.119732 298.058116 +L 263.915783 299.52 +L 263.722953 299.647705 +L 261.326174 301.176319 +L 259.636048 302.208 +L 258.929396 302.64311 +L 256.532617 304.046092 +L 254.993914 304.896 +L 254.135839 305.379094 +L 251.73906 306.64176 +L 249.809292 307.584 +" style="fill:none;stroke:#2c728e;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 414.72 301.103411 +L 412.323221 299.57178 +L 412.245168 299.52 +L 409.926443 297.979393 +L 408.253406 296.832 +L 407.529664 296.329744 +L 405.132886 294.62205 +L 404.476053 294.144 +L 402.736107 292.849044 +L 400.894824 291.456 +L 400.339329 291.02149 +L 397.94255 289.124656 +L 397.495081 288.768 +L 396.372488 287.831967 +" style="fill:none;stroke:#2c728e;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 376.465279 252.42333 +L 376.872451 251.136 +L 378.11605 248.448 +L 378.768322 247.368596 +L 379.710787 245.76 +L 381.165101 243.732372 +L 381.626776 243.072 +L 383.561879 240.71218 +L 383.825515 240.384 +L 385.958658 238.049084 +L 386.276195 237.696 +L 388.355436 235.614037 +L 388.954033 235.008 +L 390.752215 233.33672 +L 391.839092 232.32 +L 393.148993 231.176725 +L 394.915432 229.632 +L 395.545772 229.110397 +L 397.94255 227.13217 +L 398.172159 226.944 +L 400.339329 225.24205 +L 401.609688 224.256 +L 402.736107 223.408399 +L 405.132886 221.634233 +L 405.224286 221.568 +L 407.529664 219.930754 +L 409.048706 218.88 +L 409.926443 218.278724 +L 412.323221 216.688079 +L 413.099191 216.192 +L 414.72 215.155275 +" style="fill:none;stroke:#2c728e;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 57.6 230.277107 +L 59.937399 232.32 +L 59.996779 232.375623 +L 62.393557 234.610685 +L 62.8235 235.008 +L 64.790336 236.98789 +L 65.503483 237.696 +L 67.187114 239.552451 +L 67.614885 240.0155 +" style="fill:none;stroke:#2c728e;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 66.183349 277.834134 +L 66.022335 278.016 +L 64.790336 279.263571 +L 63.387244 280.704 +L 62.393557 281.6371 +L 60.541577 283.392 +L 59.996779 283.872171 +L 57.6 285.994181 +" style="fill:none;stroke:#2c728e;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 414.72 133.900725 +L 413.099191 132.864 +L 412.323221 132.367921 +L 409.926443 130.777276 +L 409.048706 130.176 +L 407.529664 129.125246 +L 405.224286 127.488 +L 405.132886 127.421767 +L 402.736107 125.647601 +L 401.609688 124.8 +L 400.339329 123.81395 +L 398.172159 122.112 +L 397.94255 121.92383 +L 396.350294 120.609631 +" style="fill:none;stroke:#2c728e;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 376.464384 85.188928 +L 376.667179 84.48 +L 377.831605 81.792 +L 378.768322 80.165511 +L 379.36105 79.104 +L 381.165101 76.493457 +L 381.217275 76.416 +L 383.357061 73.728 +L 383.561879 73.503023 +L 385.758558 71.04 +L 385.958658 70.838852 +L 388.355436 68.391315 +L 388.393514 68.352 +L 390.752215 66.12437 +L 391.236534 65.664 +L 393.148993 63.973126 +L 394.274611 62.976 +L 395.545772 61.913359 +L 397.495081 60.288 +L 397.94255 59.931344 +L 400.339329 58.03451 +L 400.894824 57.6 +L 402.736107 56.206956 +L 404.476053 54.912 +L 405.132886 54.43395 +L 407.529664 52.726256 +L 408.253406 52.224 +L 409.926443 51.076607 +L 412.245168 49.536 +L 412.323221 49.48422 +L 414.72 47.952589 +" style="fill:none;stroke:#2c728e;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 57.6 63.061819 +L 59.996779 65.183829 +L 60.541577 65.664 +L 62.393557 67.4189 +L 63.387244 68.352 +L 64.790336 69.792429 +L 66.022335 71.04 +L 67.187114 72.35562 +L 67.973427 73.227509 +" style="fill:none;stroke:#2c728e;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 65.80462 111.027952 +L 65.503483 111.36 +L 64.790336 112.06811 +L 62.8235 114.048 +L 62.393557 114.445315 +L 59.996779 116.680377 +L 59.937399 116.736 +L 57.6 118.778893 +" style="fill:none;stroke:#2c728e;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 249.809292 41.472 +L 251.73906 42.41424 +L 254.135839 43.676906 +L 254.993914 44.16 +L 256.532617 45.009908 +L 258.929396 46.41289 +L 259.636048 46.848 +L 261.326174 47.879681 +L 263.722953 49.408295 +L 263.915783 49.536 +L 266.119732 50.997884 +L 267.910089 52.224 +L 268.51651 52.644243 +L 270.913289 54.349954 +L 271.686242 54.912 +L 273.310067 56.119421 +L 275.268399 57.6 +L 275.706846 57.942718 +L 278.103624 59.838675 +L 278.667493 60.288 +L 280.500403 61.815936 +L 281.888132 62.976 +L 282.897181 63.869845 +L 284.926053 65.664 +L 285.29396 66.013784 +L 287.690738 68.278325 +L 287.769564 68.352 +L 290.087517 70.720568 +L 290.405006 71.04 +L 292.484295 73.373444 +L 292.806722 73.728 +L 294.881074 76.33671 +L 294.945742 76.416 +L 296.800784 79.104 +L 297.277852 79.959546 +L 298.331467 81.792 +L 299.493994 84.48 +L 299.674631 85.112496 +L 300.283355 87.168 +L 300.661831 89.856 +L 300.618893 92.544 +L 300.154977 95.232 +L 299.674631 96.698966 +L 299.289057 97.92 +L 298.047485 100.608 +L 297.277852 101.883698 +L 296.451524 103.296 +L 294.881074 105.488542 +L 294.535078 105.984 +L 292.484295 108.48768 +L 292.336356 108.672 +L 290.087517 111.135714 +L 289.88594 111.36 +L 287.690738 113.559493 +L 287.208431 114.048 +L 285.29396 115.82811 +L 284.323615 116.736 +L 282.897181 117.981232 +L 281.247298 119.424 +L 280.500403 120.042039 +L 278.103624 122.019791 +L 277.991057 122.112 +L 275.706846 123.905037 +L 274.553043 124.8 +L 274.481337 124.85392 +" style="fill:none;stroke:#2c728e;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 236.721163 145.281648 +L 234.961611 145.696751 +L 232.564832 146.132722 +L 231.216872 146.304 +L 230.168054 146.445027 +L 227.771275 146.626775 +L 225.374497 146.667178 +L 222.977718 146.566051 +L 220.58094 146.323852 +L 220.456443 146.304 +L 218.184161 145.961604 +L 215.787383 145.469794 +L 213.390604 144.849544 +L 210.993826 144.103645 +L 209.647598 143.616 +L 208.597047 143.251783 +L 206.200268 142.30754 +L 203.80349 141.254247 +L 203.128006 140.928 +L 201.406711 140.122975 +L 199.009933 138.90608 +L 197.788824 138.24 +L 196.613154 137.612189 +L 194.216376 136.24949 +L 193.054949 135.552 +L 191.819597 134.818063 +L 189.422819 133.324665 +L 188.713289 132.864 +L 187.02604 131.769116 +L 184.655858 130.176 +L 184.629262 130.157949 +L 182.232483 128.482313 +L 180.844506 127.488 +L 179.835705 126.750598 +L 177.438926 124.964315 +L 177.221648 124.8 +L 175.042148 123.099796 +L 173.788412 122.112 +L 172.645369 121.172206 +L 170.530477 119.424 +L 170.248591 119.177756 +L 167.851812 117.082238 +L 167.454348 116.736 +L 165.455034 114.869331 +L 164.568099 114.048 +L 163.058255 112.524971 +L 161.888476 111.36 +L 160.661477 110.003028 +L 159.436626 108.672 +L 158.264698 107.223692 +L 157.238792 105.984 +L 155.867919 104.040966 +L 155.327617 103.296 +L 153.735123 100.608 +L 153.471141 100.026006 +L 152.483828 97.92 +L 151.622316 95.232 +L 151.168231 92.544 +L 151.126202 89.856 +L 151.496659 87.168 +L 152.275823 84.48 +L 153.455753 81.792 +L 153.471141 81.765631 +L 154.973968 79.104 +L 155.867919 77.82472 +L 156.825531 76.416 +L 158.264698 74.624564 +L 158.968964 73.728 +L 160.661477 71.843976 +L 161.371162 71.04 +L 163.058255 69.326503 +L 164.005526 68.352 +L 165.455034 66.988039 +L 166.850631 65.664 +L 167.851812 64.78052 +L 169.889283 62.976 +L 170.248591 62.675694 +L 172.645369 60.674208 +L 173.110345 60.288 +L 175.042148 58.75419 +L 176.51035 57.6 +L 177.438926 56.893954 +L 179.835705 55.097967 +L 180.088741 54.912 +L 182.232483 53.37128 +L 183.868198 52.224 +L 184.629262 51.696469 +L 187.02604 50.08363 +L 187.868989 49.536 +L 189.422819 48.528111 +L 191.819597 47.036106 +L 192.136511 46.848 +L 194.216376 45.602726 +L 196.613154 44.244151 +L 196.771218 44.16 +L 199.009933 42.94517 +L 201.406711 41.734577 +L 201.971073 41.472 +" style="fill:none;stroke:#2c728e;stroke-width:5;"/> + <g id="LineCollection_5"> + <g id="patch_25"> + <path clip-path="url(#pedd1dac049)" d="M 180.065913 307.584 +L 179.835705 307.416152 +L 177.438926 305.6344 +L 176.46004 304.896 +L 175.042148 303.846667 +L 172.849831 302.208 +L 172.645369 302.056493 +L 170.248591 300.2709 +L 169.241531 299.52 +L 167.851812 298.482159 +L 166.118474 297.192421 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_26"> + <path clip-path="url(#pedd1dac049)" d="M 136.29643 274.95944 +L 127.106577 268.051167 +L 125.898228 267.264 +L 124.709799 266.234747 +L 122.31302 264.54384 +L 119.916242 262.610551 +L 118.598072 261.888 +L 117.519463 260.644478 +L 115.128213 259.2 +L 115.633049 256.512 +L 117.519463 255.582343 +L 119.388915 253.824 +L 119.916242 253.562577 +L 122.31302 251.814081 +L 123.019353 251.136 +L 124.709799 250.026545 +L 127.106577 248.168506 +L 136.693691 241.026127 +L 137.488128 240.384 +L 141.487248 237.432643 +L 167.851812 217.776534 +L 220.58094 178.446139 +L 222.977718 176.412041 +L 224.501743 175.872 +L 224.501743 173.184 +L 222.977718 172.643959 +L 220.495917 170.496 +L 218.184161 168.940133 +L 216.948887 167.808 +L 215.787383 167.092232 +L 209.697081 162.432 +L 208.597047 161.693959 +L 198.839795 154.368 +L 189.422819 147.375119 +L 182.232483 142.009058 +L 169.97601 132.864 +L 119.388915 95.232 +L 117.519463 93.473657 +L 115.633049 92.544 +L 115.128213 89.856 +L 117.519463 88.411522 +L 118.598072 87.168 +L 119.916242 86.445449 +L 122.343318 84.48 +L 124.709799 82.821253 +L 125.898228 81.792 +L 127.106577 81.004833 +L 133.136008 76.416 +L 134.296913 75.618877 +L 143.988118 68.352 +L 155.867919 59.512836 +L 180.065913 41.472 +L 180.065913 41.472 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_27"> + <path clip-path="url(#pedd1dac049)" d="M 404.453511 307.584 +L 402.736107 306.315953 +L 400.844261 304.896 +L 400.339329 304.524181 +L 397.94255 302.738483 +L 397.235572 302.208 +L 395.545772 300.951005 +L 393.626992 299.52 +L 393.148993 299.162958 +L 390.752215 297.376138 +L 390.017596 296.832 +L 388.355436 295.58618 +L 386.409927 294.144 +L 385.958658 293.801924 +L 383.561879 292.01345 +L 382.799303 291.456 +L 381.165101 290.220896 +L 379.192867 288.768 +L 378.768322 288.440824 +L 376.371544 286.649972 +L 375.580319 286.08 +L 373.974765 284.854392 +L 371.975576 283.392 +L 371.577987 283.079319 +L 369.181208 281.284984 +L 368.360003 280.704 +L 366.78443 279.485352 +L 364.757663 278.016 +L 364.387651 277.716794 +L 361.990872 275.917024 +L 361.136971 275.328 +L 359.594094 274.110844 +L 357.538263 272.64 +L 357.197315 272.351722 +L 354.800537 270.542336 +L 353.907345 269.952 +L 352.403758 268.722098 +L 350.314687 267.264 +L 350.00698 266.978474 +L 347.610201 265.146894 +L 346.653951 264.576 +L 345.213423 263.273637 +L 343.071328 261.888 +L 342.816644 261.5415 +L 340.419866 259.592026 +L 338.926831 259.2 +L 340.088259 256.512 +L 340.419866 256.440966 +L 342.816644 254.850525 +L 343.741485 253.824 +L 345.213423 252.962872 +L 346.997492 251.504092 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_28"> + <path clip-path="url(#pedd1dac049)" d="M 376.807786 229.275421 +L 378.768322 227.82536 +L 379.923678 226.944 +L 381.165101 226.036497 +L 383.539155 224.256 +L 383.561879 224.239478 +L 385.958658 222.460668 +L 387.14267 221.568 +L 388.355436 220.671907 +L 390.752215 218.881301 +L 390.753945 218.88 +L 393.148993 217.096514 +L 394.36132 216.192 +L 395.545772 215.307824 +L 397.94255 213.523262 +L 397.968605 213.504 +L 400.339329 211.732353 +L 401.579974 210.816 +L 402.736107 209.94373 +L 405.132886 208.164852 +L 405.183606 208.128 +L 407.529664 206.367657 +L 408.79898 205.44 +L 409.926443 204.579079 +L 412.323221 202.806012 +L 412.399015 202.752 +L 414.72 201.001724 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_29"> + <path clip-path="url(#pedd1dac049)" d="M 57.6 216.328974 +L 59.996779 218.116217 +L 61.02568 218.88 +L 62.393557 219.905334 +L 64.631888 221.568 +L 64.790336 221.688095 +L 67.187114 223.479999 +L 68.24441 224.256 +L 69.583893 225.270107 +L 71.449062 226.649523 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_30"> + <path clip-path="url(#pedd1dac049)" d="M 101.261015 248.886649 +L 103.138792 250.354631 +L 104.38592 251.136 +L 105.53557 252.189596 +L 107.920651 253.824 +L 107.932349 253.839208 +L 110.329128 255.889983 +L 111.856258 256.512 +L 112.467075 259.2 +L 110.329128 260.267391 +L 108.783915 261.888 +L 107.932349 262.312635 +L 105.53557 264.128638 +L 105.094083 264.576 +L 103.138792 265.884353 +L 101.486364 267.264 +L 100.742013 267.731464 +L 98.345235 269.528785 +L 97.857879 269.952 +L 95.948456 271.291766 +L 94.250958 272.64 +L 93.551678 273.109962 +L 91.154899 274.901273 +L 90.634078 275.328 +L 88.758121 276.671988 +L 87.026409 278.016 +L 86.361342 278.478764 +L 83.964564 280.267235 +L 83.413941 280.704 +L 81.567785 282.043473 +L 79.805672 283.392 +L 79.171007 283.843767 +L 76.774228 285.630757 +L 76.195295 286.08 +L 74.37745 287.411179 +L 72.58669 288.768 +L 71.980671 289.206924 +L 69.583893 290.993215 +L 68.977317 291.456 +L 67.187114 292.777055 +L 65.368623 294.144 +L 64.790336 294.569092 +L 62.393557 296.355246 +L 61.759592 296.832 +L 59.996779 298.142086 +L 58.151045 299.52 +L 57.6 299.930737 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_31"> + <path clip-path="url(#pedd1dac049)" d="M 414.72 148.054276 +L 412.399015 146.304 +L 412.323221 146.249988 +L 409.926443 144.476921 +L 408.79898 143.616 +L 407.529664 142.688343 +L 405.183606 140.928 +L 405.132886 140.891148 +L 402.736107 139.11227 +L 401.579974 138.24 +L 400.339329 137.323647 +L 397.968605 135.552 +L 397.94255 135.532738 +L 395.545772 133.748176 +L 394.36132 132.864 +L 393.148993 131.959486 +L 390.753945 130.176 +L 390.752215 130.174699 +L 388.355436 128.384093 +L 387.14267 127.488 +L 385.958658 126.595332 +L 383.561879 124.816522 +L 383.539155 124.8 +L 381.165101 123.019503 +L 379.923678 122.112 +L 378.768322 121.23064 +L 376.371544 119.457923 +L 376.32397 119.424 +L 373.974765 117.653725 +L 372.703871 116.736 +L 371.577987 115.864623 +L 369.181208 114.098792 +L 369.108256 114.048 +L 366.78443 112.285576 +L 365.482393 111.36 +L 364.387651 110.495797 +L 361.990872 108.738819 +L 361.891647 108.672 +L 359.594094 106.912471 +L 358.257273 105.984 +L 357.197315 105.120504 +L 354.800537 103.377175 +L 354.673064 103.296 +L 352.403758 101.526921 +L 351.022319 100.608 +L 350.00698 99.725833 +L 347.610201 98.01086 +L 347.447663 97.92 +L 345.213423 96.093128 +L 343.741485 95.232 +L 342.816644 94.205475 +L 341.441733 93.293119 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_32"> + <path clip-path="url(#pedd1dac049)" d="M 365.232252 70.695936 +L 366.78443 69.570648 +L 368.360003 68.352 +L 369.181208 67.771016 +L 371.577987 65.976681 +L 371.975576 65.664 +L 373.974765 64.201608 +L 375.580319 62.976 +L 376.371544 62.406028 +L 378.768322 60.615176 +L 379.192867 60.288 +L 381.165101 58.835104 +L 382.799303 57.6 +L 383.561879 57.04255 +L 385.958658 55.254076 +L 386.409927 54.912 +L 388.355436 53.46982 +L 390.017596 52.224 +L 390.752215 51.679862 +L 393.148993 49.893042 +L 393.626992 49.536 +L 395.545772 48.104995 +L 397.235572 46.848 +L 397.94255 46.317517 +L 400.339329 44.531819 +L 400.844261 44.16 +L 402.736107 42.740047 +L 404.453511 41.472 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_33"> + <path clip-path="url(#pedd1dac049)" d="M 57.6 49.125263 +L 58.151045 49.536 +L 59.996779 50.913914 +L 61.759592 52.224 +L 62.393557 52.700754 +L 64.790336 54.486908 +L 65.368623 54.912 +L 67.187114 56.278945 +L 68.977317 57.6 +L 69.583893 58.062785 +L 71.453658 59.456299 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_34"> + <path clip-path="url(#pedd1dac049)" d="M 101.284262 81.665077 +L 101.486364 81.792 +L 103.138792 83.171647 +L 105.094083 84.48 +L 105.53557 84.927362 +L 107.932349 86.743365 +L 108.783915 87.168 +L 110.329128 88.788609 +L 112.467075 89.856 +L 111.856258 92.544 +L 110.329128 93.166017 +L 107.932349 95.216792 +L 107.920651 95.232 +L 105.53557 96.866404 +L 104.38592 97.92 +L 103.138792 98.701369 +L 100.742013 100.575089 +L 100.706757 100.608 +L 98.345235 102.295728 +L 97.13661 103.296 +L 95.948456 104.099244 +L 93.551678 105.933383 +L 93.492199 105.984 +L 91.154899 107.679795 +L 89.907447 108.672 +L 88.758121 109.475832 +L 86.361342 111.291786 +L 86.277389 111.36 +L 83.964564 113.052247 +L 82.684323 114.048 +L 81.567785 114.845232 +L 79.171007 116.650324 +L 79.062399 116.736 +L 76.774228 118.420131 +L 75.463746 119.424 +L 74.37745 120.211422 +L 71.980671 122.00902 +L 71.847238 122.112 +L 69.583893 123.785893 +L 68.24441 124.8 +L 67.187114 125.576001 +L 64.790336 127.367905 +L 64.631888 127.488 +L 62.393557 129.150666 +L 61.02568 130.176 +L 59.996779 130.939783 +L 57.6 132.727026 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_35"> + <path clip-path="url(#pedd1dac049)" d="M 271.708805 41.472 +L 290.087517 55.166273 +L 333.22953 87.386104 +L 335.626309 89.399631 +L 337.203172 89.856 +L 336.149476 92.544 +L 335.626309 92.667527 +L 333.22953 94.310224 +L 332.414919 95.232 +L 330.832752 96.175634 +L 328.435973 98.085671 +L 326.039195 99.818714 +L 325.138393 100.608 +L 323.642416 101.611545 +L 321.245638 103.457029 +L 311.658523 110.58479 +L 309.261745 112.371441 +L 299.674631 119.542761 +L 270.913289 140.978401 +L 239.755168 164.267171 +L 238.460059 165.12 +L 237.358389 166.075722 +L 234.899049 167.808 +L 232.564832 169.704425 +L 231.170061 170.496 +L 230.168054 171.627542 +L 227.558996 173.184 +L 227.558996 175.872 +L 227.771275 175.902053 +L 230.168054 177.428458 +L 231.170061 178.56 +L 232.564832 179.351575 +L 234.961611 181.282176 +L 237.358389 182.980278 +L 238.460059 183.936 +L 239.755168 184.788829 +L 245.696483 189.312 +L 246.945503 190.174656 +L 256.550162 197.376 +L 268.51651 206.281288 +L 302.071409 231.316083 +L 307.05761 235.008 +L 316.452081 242.058117 +L 318.848859 243.845274 +L 328.728325 251.136 +L 330.832752 252.880366 +L 332.414919 253.824 +L 333.22953 254.745776 +L 335.626309 256.388473 +L 336.149476 256.512 +L 337.203172 259.2 +L 335.626309 259.656369 +L 333.072281 261.888 +L 330.832752 263.364862 +L 329.511281 264.576 +L 328.435973 265.226792 +L 322.257119 269.952 +L 321.245638 270.625216 +L 315.490471 274.960781 +L 315.490471 274.960781 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_36"> + <path clip-path="url(#pedd1dac049)" d="M 285.664746 297.188111 +L 285.29396 297.462871 +L 282.897181 299.250045 +L 282.535765 299.52 +L 280.500403 301.037919 +L 278.927064 302.208 +L 278.103624 302.825722 +L 275.706846 304.610595 +L 275.318997 304.896 +L 273.310067 306.402794 +L 271.708805 307.584 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <path clip-path="url(#pedd1dac049)" d="M 180.065913 307.584 +L 179.835705 307.416152 +L 177.438926 305.6344 +L 176.46004 304.896 +L 175.042148 303.846667 +L 172.849831 302.208 +L 172.645369 302.056493 +L 170.248591 300.2709 +L 169.241531 299.52 +L 167.851812 298.482159 +L 166.118474 297.192421 +" style="fill:none;stroke:#21918c;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 136.29643 274.95944 +L 127.106577 268.051167 +L 125.898228 267.264 +L 124.709799 266.234747 +L 122.31302 264.54384 +L 119.916242 262.610551 +L 118.598072 261.888 +L 117.519463 260.644478 +L 115.128213 259.2 +L 115.633049 256.512 +L 117.519463 255.582343 +L 119.388915 253.824 +L 119.916242 253.562577 +L 122.31302 251.814081 +L 123.019353 251.136 +L 124.709799 250.026545 +L 127.106577 248.168506 +L 136.693691 241.026127 +L 137.488128 240.384 +L 141.487248 237.432643 +L 167.851812 217.776534 +L 220.58094 178.446139 +L 222.977718 176.412041 +L 224.501743 175.872 +L 224.501743 173.184 +L 222.977718 172.643959 +L 220.495917 170.496 +L 218.184161 168.940133 +L 216.948887 167.808 +L 215.787383 167.092232 +L 209.697081 162.432 +L 208.597047 161.693959 +L 198.839795 154.368 +L 189.422819 147.375119 +L 182.232483 142.009058 +L 169.97601 132.864 +L 119.388915 95.232 +L 117.519463 93.473657 +L 115.633049 92.544 +L 115.128213 89.856 +L 117.519463 88.411522 +L 118.598072 87.168 +L 119.916242 86.445449 +L 122.343318 84.48 +L 124.709799 82.821253 +L 125.898228 81.792 +L 127.106577 81.004833 +L 133.136008 76.416 +L 134.296913 75.618877 +L 143.988118 68.352 +L 155.867919 59.512836 +L 180.065913 41.472 +L 180.065913 41.472 +" style="fill:none;stroke:#21918c;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 404.453511 307.584 +L 402.736107 306.315953 +L 400.844261 304.896 +L 400.339329 304.524181 +L 397.94255 302.738483 +L 397.235572 302.208 +L 395.545772 300.951005 +L 393.626992 299.52 +L 393.148993 299.162958 +L 390.752215 297.376138 +L 390.017596 296.832 +L 388.355436 295.58618 +L 386.409927 294.144 +L 385.958658 293.801924 +L 383.561879 292.01345 +L 382.799303 291.456 +L 381.165101 290.220896 +L 379.192867 288.768 +L 378.768322 288.440824 +L 376.371544 286.649972 +L 375.580319 286.08 +L 373.974765 284.854392 +L 371.975576 283.392 +L 371.577987 283.079319 +L 369.181208 281.284984 +L 368.360003 280.704 +L 366.78443 279.485352 +L 364.757663 278.016 +L 364.387651 277.716794 +L 361.990872 275.917024 +L 361.136971 275.328 +L 359.594094 274.110844 +L 357.538263 272.64 +L 357.197315 272.351722 +L 354.800537 270.542336 +L 353.907345 269.952 +L 352.403758 268.722098 +L 350.314687 267.264 +L 350.00698 266.978474 +L 347.610201 265.146894 +L 346.653951 264.576 +L 345.213423 263.273637 +L 343.071328 261.888 +L 342.816644 261.5415 +L 340.419866 259.592026 +L 338.926831 259.2 +L 340.088259 256.512 +L 340.419866 256.440966 +L 342.816644 254.850525 +L 343.741485 253.824 +L 345.213423 252.962872 +L 346.997492 251.504092 +" style="fill:none;stroke:#21918c;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 376.807786 229.275421 +L 378.768322 227.82536 +L 379.923678 226.944 +L 381.165101 226.036497 +L 383.539155 224.256 +L 383.561879 224.239478 +L 385.958658 222.460668 +L 387.14267 221.568 +L 388.355436 220.671907 +L 390.752215 218.881301 +L 390.753945 218.88 +L 393.148993 217.096514 +L 394.36132 216.192 +L 395.545772 215.307824 +L 397.94255 213.523262 +L 397.968605 213.504 +L 400.339329 211.732353 +L 401.579974 210.816 +L 402.736107 209.94373 +L 405.132886 208.164852 +L 405.183606 208.128 +L 407.529664 206.367657 +L 408.79898 205.44 +L 409.926443 204.579079 +L 412.323221 202.806012 +L 412.399015 202.752 +L 414.72 201.001724 +" style="fill:none;stroke:#21918c;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 57.6 216.328974 +L 59.996779 218.116217 +L 61.02568 218.88 +L 62.393557 219.905334 +L 64.631888 221.568 +L 64.790336 221.688095 +L 67.187114 223.479999 +L 68.24441 224.256 +L 69.583893 225.270107 +L 71.449062 226.649523 +" style="fill:none;stroke:#21918c;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 101.261015 248.886649 +L 103.138792 250.354631 +L 104.38592 251.136 +L 105.53557 252.189596 +L 107.920651 253.824 +L 107.932349 253.839208 +L 110.329128 255.889983 +L 111.856258 256.512 +L 112.467075 259.2 +L 110.329128 260.267391 +L 108.783915 261.888 +L 107.932349 262.312635 +L 105.53557 264.128638 +L 105.094083 264.576 +L 103.138792 265.884353 +L 101.486364 267.264 +L 100.742013 267.731464 +L 98.345235 269.528785 +L 97.857879 269.952 +L 95.948456 271.291766 +L 94.250958 272.64 +L 93.551678 273.109962 +L 91.154899 274.901273 +L 90.634078 275.328 +L 88.758121 276.671988 +L 87.026409 278.016 +L 86.361342 278.478764 +L 83.964564 280.267235 +L 83.413941 280.704 +L 81.567785 282.043473 +L 79.805672 283.392 +L 79.171007 283.843767 +L 76.774228 285.630757 +L 76.195295 286.08 +L 74.37745 287.411179 +L 72.58669 288.768 +L 71.980671 289.206924 +L 69.583893 290.993215 +L 68.977317 291.456 +L 67.187114 292.777055 +L 65.368623 294.144 +L 64.790336 294.569092 +L 62.393557 296.355246 +L 61.759592 296.832 +L 59.996779 298.142086 +L 58.151045 299.52 +L 57.6 299.930737 +" style="fill:none;stroke:#21918c;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 414.72 148.054276 +L 412.399015 146.304 +L 412.323221 146.249988 +L 409.926443 144.476921 +L 408.79898 143.616 +L 407.529664 142.688343 +L 405.183606 140.928 +L 405.132886 140.891148 +L 402.736107 139.11227 +L 401.579974 138.24 +L 400.339329 137.323647 +L 397.968605 135.552 +L 397.94255 135.532738 +L 395.545772 133.748176 +L 394.36132 132.864 +L 393.148993 131.959486 +L 390.753945 130.176 +L 390.752215 130.174699 +L 388.355436 128.384093 +L 387.14267 127.488 +L 385.958658 126.595332 +L 383.561879 124.816522 +L 383.539155 124.8 +L 381.165101 123.019503 +L 379.923678 122.112 +L 378.768322 121.23064 +L 376.371544 119.457923 +L 376.32397 119.424 +L 373.974765 117.653725 +L 372.703871 116.736 +L 371.577987 115.864623 +L 369.181208 114.098792 +L 369.108256 114.048 +L 366.78443 112.285576 +L 365.482393 111.36 +L 364.387651 110.495797 +L 361.990872 108.738819 +L 361.891647 108.672 +L 359.594094 106.912471 +L 358.257273 105.984 +L 357.197315 105.120504 +L 354.800537 103.377175 +L 354.673064 103.296 +L 352.403758 101.526921 +L 351.022319 100.608 +L 350.00698 99.725833 +L 347.610201 98.01086 +L 347.447663 97.92 +L 345.213423 96.093128 +L 343.741485 95.232 +L 342.816644 94.205475 +L 341.441733 93.293119 +" style="fill:none;stroke:#21918c;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 365.232252 70.695936 +L 366.78443 69.570648 +L 368.360003 68.352 +L 369.181208 67.771016 +L 371.577987 65.976681 +L 371.975576 65.664 +L 373.974765 64.201608 +L 375.580319 62.976 +L 376.371544 62.406028 +L 378.768322 60.615176 +L 379.192867 60.288 +L 381.165101 58.835104 +L 382.799303 57.6 +L 383.561879 57.04255 +L 385.958658 55.254076 +L 386.409927 54.912 +L 388.355436 53.46982 +L 390.017596 52.224 +L 390.752215 51.679862 +L 393.148993 49.893042 +L 393.626992 49.536 +L 395.545772 48.104995 +L 397.235572 46.848 +L 397.94255 46.317517 +L 400.339329 44.531819 +L 400.844261 44.16 +L 402.736107 42.740047 +L 404.453511 41.472 +" style="fill:none;stroke:#21918c;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 57.6 49.125263 +L 58.151045 49.536 +L 59.996779 50.913914 +L 61.759592 52.224 +L 62.393557 52.700754 +L 64.790336 54.486908 +L 65.368623 54.912 +L 67.187114 56.278945 +L 68.977317 57.6 +L 69.583893 58.062785 +L 71.453658 59.456299 +" style="fill:none;stroke:#21918c;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 101.284262 81.665077 +L 101.486364 81.792 +L 103.138792 83.171647 +L 105.094083 84.48 +L 105.53557 84.927362 +L 107.932349 86.743365 +L 108.783915 87.168 +L 110.329128 88.788609 +L 112.467075 89.856 +L 111.856258 92.544 +L 110.329128 93.166017 +L 107.932349 95.216792 +L 107.920651 95.232 +L 105.53557 96.866404 +L 104.38592 97.92 +L 103.138792 98.701369 +L 100.742013 100.575089 +L 100.706757 100.608 +L 98.345235 102.295728 +L 97.13661 103.296 +L 95.948456 104.099244 +L 93.551678 105.933383 +L 93.492199 105.984 +L 91.154899 107.679795 +L 89.907447 108.672 +L 88.758121 109.475832 +L 86.361342 111.291786 +L 86.277389 111.36 +L 83.964564 113.052247 +L 82.684323 114.048 +L 81.567785 114.845232 +L 79.171007 116.650324 +L 79.062399 116.736 +L 76.774228 118.420131 +L 75.463746 119.424 +L 74.37745 120.211422 +L 71.980671 122.00902 +L 71.847238 122.112 +L 69.583893 123.785893 +L 68.24441 124.8 +L 67.187114 125.576001 +L 64.790336 127.367905 +L 64.631888 127.488 +L 62.393557 129.150666 +L 61.02568 130.176 +L 59.996779 130.939783 +L 57.6 132.727026 +" style="fill:none;stroke:#21918c;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 271.708805 41.472 +L 290.087517 55.166273 +L 333.22953 87.386104 +L 335.626309 89.399631 +L 337.203172 89.856 +L 336.149476 92.544 +L 335.626309 92.667527 +L 333.22953 94.310224 +L 332.414919 95.232 +L 330.832752 96.175634 +L 328.435973 98.085671 +L 326.039195 99.818714 +L 325.138393 100.608 +L 323.642416 101.611545 +L 321.245638 103.457029 +L 311.658523 110.58479 +L 309.261745 112.371441 +L 299.674631 119.542761 +L 270.913289 140.978401 +L 239.755168 164.267171 +L 238.460059 165.12 +L 237.358389 166.075722 +L 234.899049 167.808 +L 232.564832 169.704425 +L 231.170061 170.496 +L 230.168054 171.627542 +L 227.558996 173.184 +L 227.558996 175.872 +L 227.771275 175.902053 +L 230.168054 177.428458 +L 231.170061 178.56 +L 232.564832 179.351575 +L 234.961611 181.282176 +L 237.358389 182.980278 +L 238.460059 183.936 +L 239.755168 184.788829 +L 245.696483 189.312 +L 246.945503 190.174656 +L 256.550162 197.376 +L 268.51651 206.281288 +L 302.071409 231.316083 +L 307.05761 235.008 +L 316.452081 242.058117 +L 318.848859 243.845274 +L 328.728325 251.136 +L 330.832752 252.880366 +L 332.414919 253.824 +L 333.22953 254.745776 +L 335.626309 256.388473 +L 336.149476 256.512 +L 337.203172 259.2 +L 335.626309 259.656369 +L 333.072281 261.888 +L 330.832752 263.364862 +L 329.511281 264.576 +L 328.435973 265.226792 +L 322.257119 269.952 +L 321.245638 270.625216 +L 315.490471 274.960781 +L 315.490471 274.960781 +" style="fill:none;stroke:#21918c;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 285.664746 297.188111 +L 285.29396 297.462871 +L 282.897181 299.250045 +L 282.535765 299.52 +L 280.500403 301.037919 +L 278.927064 302.208 +L 278.103624 302.825722 +L 275.706846 304.610595 +L 275.318997 304.896 +L 273.310067 306.402794 +L 271.708805 307.584 +" style="fill:none;stroke:#21918c;stroke-width:5;"/> + <g id="LineCollection_6"> + <g id="patch_37"> + <path clip-path="url(#pedd1dac049)" d="M 162.000683 307.584 +L 160.661477 306.582338 +L 158.366949 304.896 +L 158.264698 304.822273 +L 155.867919 303.13247 +L 154.519986 302.208 +L 153.471141 301.49487 +L 151.074362 299.918184 +L 150.445112 299.52 +L 148.677584 298.399781 +L 146.280805 296.947719 +L 146.236751 296.92238 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_38"> + <path clip-path="url(#pedd1dac049)" d="M 111.24285 286.085281 +L 110.329128 286.13164 +L 107.932349 286.387095 +L 105.53557 286.775249 +L 103.138792 287.294355 +L 100.742013 287.942075 +L 98.345235 288.715494 +L 98.204725 288.768 +L 95.948456 289.573957 +L 93.551678 290.543078 +L 91.521417 291.456 +L 91.154899 291.615405 +L 88.758121 292.75816 +L 86.361342 293.996124 +L 86.094376 294.144 +L 83.964564 295.297666 +L 81.567785 296.677752 +L 81.313816 296.832 +L 79.171007 298.118136 +L 76.941145 299.52 +L 76.774228 299.624773 +L 74.37745 301.190577 +L 72.872276 302.208 +L 71.980671 302.815931 +L 69.583893 304.497563 +L 69.029156 304.896 +L 67.187114 306.244534 +L 65.390942 307.584 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_39"> + <path clip-path="url(#pedd1dac049)" d="M 386.387794 307.584 +L 385.958658 307.26128 +L 383.561879 305.486982 +L 382.746972 304.896 +L 381.165101 303.770494 +L 378.912089 302.208 +L 378.768322 302.109157 +L 376.371544 300.511478 +L 374.828778 299.52 +L 373.974765 298.970301 +L 371.577987 297.49197 +L 371.451846 297.417906 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_40"> + <path clip-path="url(#pedd1dac049)" d="M 336.593362 286.038782 +L 335.626309 286.068922 +L 335.50386 286.08 +L 333.22953 286.274168 +L 330.832752 286.611999 +L 328.435973 287.081516 +L 326.039195 287.680606 +L 323.642416 288.406572 +L 322.62277 288.768 +L 321.245638 289.234623 +L 318.848859 290.161241 +L 316.452081 291.198186 +L 315.91128 291.456 +L 314.055302 292.311786 +L 311.658523 293.514154 +L 310.492065 294.144 +L 309.261745 294.793654 +L 306.864966 296.143321 +L 305.708808 296.832 +L 304.468188 297.562303 +L 302.071409 299.043924 +L 301.333192 299.52 +L 299.674631 300.58794 +L 297.277852 302.188227 +L 297.249132 302.208 +L 294.881074 303.852526 +L 293.416131 304.896 +L 292.484295 305.572534 +L 290.087517 307.348387 +L 289.774413 307.584 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_41"> + <path clip-path="url(#pedd1dac049)" d="M 57.6 202.385562 +L 58.016597 202.752 +L 59.996779 204.397935 +L 61.25613 205.44 +L 62.393557 206.3408 +L 64.670782 208.128 +L 64.790336 208.218856 +L 67.187114 210.01552 +L 68.274874 210.816 +L 69.583893 211.759051 +L 71.980671 213.445788 +L 72.065787 213.504 +L 74.37745 215.068028 +L 76.09631 216.192 +L 76.774228 216.635064 +L 79.171007 218.14014 +L 80.405087 218.88 +L 81.567785 219.583874 +L 83.964564 220.959485 +L 85.091612 221.568 +L 86.361342 222.267517 +L 88.758121 223.498792 +L 90.354893 224.256 +L 91.154899 224.647333 +L 93.551678 225.716788 +L 95.948456 226.678468 +L 96.697562 226.944 +L 98.345235 227.553472 +L 100.742013 228.319058 +L 103.138792 228.960219 +L 105.53557 229.474068 +L 106.520745 229.632 +L 107.932349 229.871142 +L 110.329128 230.138368 +L 112.725906 230.265577 +L 115.122685 230.252194 +L 117.519463 230.098281 +L 119.916242 229.804531 +L 120.87287 229.632 +L 122.31302 229.386222 +L 124.709799 228.847953 +L 127.106577 228.182878 +L 129.503356 227.39399 +L 130.689662 226.944 +L 131.900134 226.504 +L 134.296913 225.521466 +L 136.693691 224.432035 +L 137.04782 224.256 +L 139.09047 223.271649 +L 141.487248 222.022971 +L 142.30302 221.568 +L 143.507838 220.909465 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_42"> + <path clip-path="url(#pedd1dac049)" d="M 173.510264 199.05145 +L 175.042148 197.61354 +L 175.29774 197.376 +L 177.438926 195.204428 +L 177.955617 194.688 +L 179.835705 192.596678 +L 180.382621 192 +L 182.232483 189.698479 +L 182.550785 189.312 +L 184.431224 186.624 +L 184.629262 186.275592 +L 185.999086 183.936 +L 187.02604 181.625261 +L 187.199708 181.248 +L 188.03171 178.56 +L 188.449842 175.872 +L 188.449842 173.184 +L 188.03171 170.496 +L 187.199708 167.808 +L 187.02604 167.430739 +L 185.999086 165.12 +L 184.629262 162.780408 +L 184.431224 162.432 +L 182.550785 159.744 +L 182.232483 159.357521 +L 180.382621 157.056 +L 179.835705 156.459322 +L 177.955617 154.368 +L 177.438926 153.851572 +L 175.29774 151.68 +L 175.042148 151.44246 +L 172.645369 149.192712 +L 172.432686 148.992 +L 170.248591 147.071854 +L 169.375933 146.304 +L 167.851812 145.036705 +L 166.13694 143.616 +L 165.455034 143.075302 +L 163.058255 141.19036 +L 162.720352 140.928 +L 160.661477 139.380043 +L 159.118304 138.24 +L 158.264698 137.622644 +L 155.867919 135.927712 +L 155.321766 135.552 +L 153.471141 134.292549 +L 151.301577 132.864 +L 151.074362 132.714468 +L 148.677584 131.197183 +L 146.990084 130.176 +L 146.280805 129.74259 +L 143.884027 128.352154 +L 142.30302 127.488 +L 141.487248 127.033029 +L 139.09047 125.784351 +L 137.04782 124.8 +L 136.693691 124.623965 +L 134.296913 123.534534 +L 131.900134 122.552 +L 130.689662 122.112 +L 129.503356 121.66201 +L 127.106577 120.873122 +L 124.709799 120.208047 +L 122.31302 119.669778 +L 120.87287 119.424 +L 119.916242 119.251469 +L 117.519463 118.957719 +L 115.122685 118.803806 +L 112.725906 118.790423 +L 110.329128 118.917632 +L 107.932349 119.184858 +L 106.520745 119.424 +L 105.53557 119.581932 +L 103.138792 120.095781 +L 100.742013 120.736942 +L 98.345235 121.502528 +L 96.697562 122.112 +L 95.948456 122.377532 +L 93.551678 123.339212 +L 91.154899 124.408667 +L 90.354893 124.8 +L 88.758121 125.557208 +L 86.361342 126.788483 +L 85.091612 127.488 +L 83.964564 128.096515 +L 81.567785 129.472126 +L 80.405087 130.176 +L 79.171007 130.91586 +L 76.774228 132.420936 +L 76.09631 132.864 +L 74.37745 133.987972 +L 72.065787 135.552 +L 71.980671 135.610212 +L 69.583893 137.296949 +L 68.274874 138.24 +L 67.187114 139.04048 +L 64.790336 140.837144 +L 64.670782 140.928 +L 62.393557 142.7152 +L 61.25613 143.616 +L 59.996779 144.658065 +L 58.016597 146.304 +L 57.6 146.670438 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_43"> + <path clip-path="url(#pedd1dac049)" d="M 65.390942 41.472 +L 67.187114 42.811466 +L 69.029156 44.16 +L 69.583893 44.558437 +L 71.980671 46.240069 +L 72.872276 46.848 +L 74.37745 47.865423 +L 76.774228 49.431227 +L 76.941145 49.536 +L 79.171007 50.937864 +L 81.313816 52.224 +L 81.442071 52.301896 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_44"> + <path clip-path="url(#pedd1dac049)" d="M 116.481073 62.949783 +L 117.519463 62.886038 +L 119.916242 62.605228 +L 122.31302 62.192006 +L 124.709799 61.64823 +L 127.106577 60.976351 +L 129.176731 60.288 +L 129.503356 60.184181 +L 131.900134 59.306225 +L 134.296913 58.316088 +L 135.860231 57.6 +L 136.693691 57.230743 +L 139.09047 56.069463 +L 141.300161 54.912 +L 141.487248 54.816166 +L 143.884027 53.501863 +L 146.079615 52.224 +L 146.280805 52.108281 +L 148.677584 50.656219 +L 150.445112 49.536 +L 151.074362 49.137816 +L 153.471141 47.56113 +L 154.519986 46.848 +L 155.867919 45.92353 +L 158.264698 44.233727 +L 158.366949 44.16 +L 160.661477 42.473662 +L 162.000683 41.472 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_45"> + <path clip-path="url(#pedd1dac049)" d="M 289.774413 41.472 +L 290.087517 41.707613 +L 292.484295 43.483466 +L 293.416131 44.16 +L 294.881074 45.203474 +L 297.249132 46.848 +L 297.277852 46.867773 +L 299.674631 48.46806 +L 301.333192 49.536 +L 302.071409 50.012076 +L 304.468188 51.493697 +L 304.604728 51.574072 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_46"> + <path clip-path="url(#pedd1dac049)" d="M 339.445545 63.021556 +L 340.419866 62.994007 +L 340.625443 62.976 +L 342.816644 62.79488 +L 345.213423 62.4635 +L 347.610201 62.000345 +L 350.00698 61.407502 +L 352.403758 60.687638 +L 353.539124 60.288 +L 354.800537 59.86357 +L 357.197315 58.942431 +L 359.594094 57.910749 +L 360.248814 57.6 +L 361.990872 56.800274 +L 364.387651 55.602514 +L 365.670765 54.912 +L 366.78443 54.325914 +L 369.181208 52.9802 +L 370.453974 52.224 +L 371.577987 51.56403 +L 373.974765 50.085699 +L 374.828778 49.536 +L 376.371544 48.544522 +L 378.768322 46.946843 +L 378.912089 46.848 +L 381.165101 45.285506 +L 382.746972 44.16 +L 383.561879 43.569018 +L 385.958658 41.79472 +L 386.387794 41.472 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_47"> + <path clip-path="url(#pedd1dac049)" d="M 398.044342 150.146047 +L 395.545772 147.874426 +L 393.148993 145.794712 +L 388.355436 141.905284 +L 383.508403 138.24 +L 378.768322 134.90741 +L 373.974765 131.76705 +L 369.181208 128.872125 +L 364.387651 126.248777 +L 359.594094 123.936762 +L 354.800537 121.994012 +L 352.403758 121.158912 +L 350.00698 120.446338 +L 347.610201 119.859498 +L 342.816644 119.053078 +L 340.419866 118.845836 +L 338.023087 118.778935 +L 335.626309 118.852676 +L 333.22953 119.066728 +L 328.435973 119.885097 +L 326.039195 120.478121 +L 323.642416 121.196735 +L 318.848859 122.960306 +L 314.055302 125.113246 +L 309.261745 127.594136 +L 304.468188 130.360664 +L 299.674631 133.384772 +L 294.881074 136.649953 +L 289.059099 140.928 +L 285.29396 143.901821 +L 280.500403 147.976991 +L 278.103624 150.160363 +L 275.706846 152.467672 +L 273.310067 154.943018 +L 270.913289 157.663331 +L 268.51651 160.770717 +L 267.340236 162.432 +L 265.783239 165.12 +L 264.571299 167.808 +L 263.722953 170.715589 +L 263.332435 173.184 +L 263.332435 175.872 +L 263.756409 178.56 +L 264.571299 181.248 +L 266.119732 184.502499 +L 267.340236 186.624 +L 269.224399 189.312 +L 271.395772 192 +L 273.822419 194.688 +L 278.103624 198.895637 +L 280.500403 201.079009 +L 285.29396 205.154179 +L 289.059099 208.128 +L 294.881074 212.406047 +L 300.48266 216.192 +L 304.782249 218.88 +L 309.463401 221.568 +L 314.055302 223.942754 +L 318.848859 226.095694 +L 323.642416 227.859265 +L 326.039195 228.577879 +L 328.435973 229.170903 +L 333.22953 229.989272 +L 335.626309 230.203324 +L 338.023087 230.277065 +L 340.419866 230.210164 +L 342.816644 230.002922 +L 345.333488 229.632 +L 347.610201 229.196502 +L 350.00698 228.609662 +L 352.403758 227.897088 +L 357.197315 226.142999 +L 361.990872 223.998511 +L 366.78443 221.525225 +L 371.577987 218.765589 +L 376.371544 215.747761 +L 381.165101 212.488327 +L 387.103569 208.128 +L 390.752215 205.250747 +L 395.545772 201.181574 +L 397.94255 199.005191 +L 400.339329 196.70675 +L 402.736107 194.242925 +L 405.132886 191.538076 +L 407.529664 188.452426 +L 408.822453 186.624 +L 410.380854 183.936 +L 411.175336 182.170924 +L 411.175336 182.170924 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <path clip-path="url(#pedd1dac049)" d="M 162.000683 307.584 +L 160.661477 306.582338 +L 158.366949 304.896 +L 158.264698 304.822273 +L 155.867919 303.13247 +L 154.519986 302.208 +L 153.471141 301.49487 +L 151.074362 299.918184 +L 150.445112 299.52 +L 148.677584 298.399781 +L 146.280805 296.947719 +L 146.236751 296.92238 +" style="fill:none;stroke:#28ae80;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 111.24285 286.085281 +L 110.329128 286.13164 +L 107.932349 286.387095 +L 105.53557 286.775249 +L 103.138792 287.294355 +L 100.742013 287.942075 +L 98.345235 288.715494 +L 98.204725 288.768 +L 95.948456 289.573957 +L 93.551678 290.543078 +L 91.521417 291.456 +L 91.154899 291.615405 +L 88.758121 292.75816 +L 86.361342 293.996124 +L 86.094376 294.144 +L 83.964564 295.297666 +L 81.567785 296.677752 +L 81.313816 296.832 +L 79.171007 298.118136 +L 76.941145 299.52 +L 76.774228 299.624773 +L 74.37745 301.190577 +L 72.872276 302.208 +L 71.980671 302.815931 +L 69.583893 304.497563 +L 69.029156 304.896 +L 67.187114 306.244534 +L 65.390942 307.584 +" style="fill:none;stroke:#28ae80;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 386.387794 307.584 +L 385.958658 307.26128 +L 383.561879 305.486982 +L 382.746972 304.896 +L 381.165101 303.770494 +L 378.912089 302.208 +L 378.768322 302.109157 +L 376.371544 300.511478 +L 374.828778 299.52 +L 373.974765 298.970301 +L 371.577987 297.49197 +L 371.451846 297.417906 +" style="fill:none;stroke:#28ae80;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 336.593362 286.038782 +L 335.626309 286.068922 +L 335.50386 286.08 +L 333.22953 286.274168 +L 330.832752 286.611999 +L 328.435973 287.081516 +L 326.039195 287.680606 +L 323.642416 288.406572 +L 322.62277 288.768 +L 321.245638 289.234623 +L 318.848859 290.161241 +L 316.452081 291.198186 +L 315.91128 291.456 +L 314.055302 292.311786 +L 311.658523 293.514154 +L 310.492065 294.144 +L 309.261745 294.793654 +L 306.864966 296.143321 +L 305.708808 296.832 +L 304.468188 297.562303 +L 302.071409 299.043924 +L 301.333192 299.52 +L 299.674631 300.58794 +L 297.277852 302.188227 +L 297.249132 302.208 +L 294.881074 303.852526 +L 293.416131 304.896 +L 292.484295 305.572534 +L 290.087517 307.348387 +L 289.774413 307.584 +" style="fill:none;stroke:#28ae80;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 57.6 202.385562 +L 58.016597 202.752 +L 59.996779 204.397935 +L 61.25613 205.44 +L 62.393557 206.3408 +L 64.670782 208.128 +L 64.790336 208.218856 +L 67.187114 210.01552 +L 68.274874 210.816 +L 69.583893 211.759051 +L 71.980671 213.445788 +L 72.065787 213.504 +L 74.37745 215.068028 +L 76.09631 216.192 +L 76.774228 216.635064 +L 79.171007 218.14014 +L 80.405087 218.88 +L 81.567785 219.583874 +L 83.964564 220.959485 +L 85.091612 221.568 +L 86.361342 222.267517 +L 88.758121 223.498792 +L 90.354893 224.256 +L 91.154899 224.647333 +L 93.551678 225.716788 +L 95.948456 226.678468 +L 96.697562 226.944 +L 98.345235 227.553472 +L 100.742013 228.319058 +L 103.138792 228.960219 +L 105.53557 229.474068 +L 106.520745 229.632 +L 107.932349 229.871142 +L 110.329128 230.138368 +L 112.725906 230.265577 +L 115.122685 230.252194 +L 117.519463 230.098281 +L 119.916242 229.804531 +L 120.87287 229.632 +L 122.31302 229.386222 +L 124.709799 228.847953 +L 127.106577 228.182878 +L 129.503356 227.39399 +L 130.689662 226.944 +L 131.900134 226.504 +L 134.296913 225.521466 +L 136.693691 224.432035 +L 137.04782 224.256 +L 139.09047 223.271649 +L 141.487248 222.022971 +L 142.30302 221.568 +L 143.507838 220.909465 +" style="fill:none;stroke:#28ae80;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 173.510264 199.05145 +L 175.042148 197.61354 +L 175.29774 197.376 +L 177.438926 195.204428 +L 177.955617 194.688 +L 179.835705 192.596678 +L 180.382621 192 +L 182.232483 189.698479 +L 182.550785 189.312 +L 184.431224 186.624 +L 184.629262 186.275592 +L 185.999086 183.936 +L 187.02604 181.625261 +L 187.199708 181.248 +L 188.03171 178.56 +L 188.449842 175.872 +L 188.449842 173.184 +L 188.03171 170.496 +L 187.199708 167.808 +L 187.02604 167.430739 +L 185.999086 165.12 +L 184.629262 162.780408 +L 184.431224 162.432 +L 182.550785 159.744 +L 182.232483 159.357521 +L 180.382621 157.056 +L 179.835705 156.459322 +L 177.955617 154.368 +L 177.438926 153.851572 +L 175.29774 151.68 +L 175.042148 151.44246 +L 172.645369 149.192712 +L 172.432686 148.992 +L 170.248591 147.071854 +L 169.375933 146.304 +L 167.851812 145.036705 +L 166.13694 143.616 +L 165.455034 143.075302 +L 163.058255 141.19036 +L 162.720352 140.928 +L 160.661477 139.380043 +L 159.118304 138.24 +L 158.264698 137.622644 +L 155.867919 135.927712 +L 155.321766 135.552 +L 153.471141 134.292549 +L 151.301577 132.864 +L 151.074362 132.714468 +L 148.677584 131.197183 +L 146.990084 130.176 +L 146.280805 129.74259 +L 143.884027 128.352154 +L 142.30302 127.488 +L 141.487248 127.033029 +L 139.09047 125.784351 +L 137.04782 124.8 +L 136.693691 124.623965 +L 134.296913 123.534534 +L 131.900134 122.552 +L 130.689662 122.112 +L 129.503356 121.66201 +L 127.106577 120.873122 +L 124.709799 120.208047 +L 122.31302 119.669778 +L 120.87287 119.424 +L 119.916242 119.251469 +L 117.519463 118.957719 +L 115.122685 118.803806 +L 112.725906 118.790423 +L 110.329128 118.917632 +L 107.932349 119.184858 +L 106.520745 119.424 +L 105.53557 119.581932 +L 103.138792 120.095781 +L 100.742013 120.736942 +L 98.345235 121.502528 +L 96.697562 122.112 +L 95.948456 122.377532 +L 93.551678 123.339212 +L 91.154899 124.408667 +L 90.354893 124.8 +L 88.758121 125.557208 +L 86.361342 126.788483 +L 85.091612 127.488 +L 83.964564 128.096515 +L 81.567785 129.472126 +L 80.405087 130.176 +L 79.171007 130.91586 +L 76.774228 132.420936 +L 76.09631 132.864 +L 74.37745 133.987972 +L 72.065787 135.552 +L 71.980671 135.610212 +L 69.583893 137.296949 +L 68.274874 138.24 +L 67.187114 139.04048 +L 64.790336 140.837144 +L 64.670782 140.928 +L 62.393557 142.7152 +L 61.25613 143.616 +L 59.996779 144.658065 +L 58.016597 146.304 +L 57.6 146.670438 +" style="fill:none;stroke:#28ae80;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 65.390942 41.472 +L 67.187114 42.811466 +L 69.029156 44.16 +L 69.583893 44.558437 +L 71.980671 46.240069 +L 72.872276 46.848 +L 74.37745 47.865423 +L 76.774228 49.431227 +L 76.941145 49.536 +L 79.171007 50.937864 +L 81.313816 52.224 +L 81.442071 52.301896 +" style="fill:none;stroke:#28ae80;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 116.481073 62.949783 +L 117.519463 62.886038 +L 119.916242 62.605228 +L 122.31302 62.192006 +L 124.709799 61.64823 +L 127.106577 60.976351 +L 129.176731 60.288 +L 129.503356 60.184181 +L 131.900134 59.306225 +L 134.296913 58.316088 +L 135.860231 57.6 +L 136.693691 57.230743 +L 139.09047 56.069463 +L 141.300161 54.912 +L 141.487248 54.816166 +L 143.884027 53.501863 +L 146.079615 52.224 +L 146.280805 52.108281 +L 148.677584 50.656219 +L 150.445112 49.536 +L 151.074362 49.137816 +L 153.471141 47.56113 +L 154.519986 46.848 +L 155.867919 45.92353 +L 158.264698 44.233727 +L 158.366949 44.16 +L 160.661477 42.473662 +L 162.000683 41.472 +" style="fill:none;stroke:#28ae80;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 289.774413 41.472 +L 290.087517 41.707613 +L 292.484295 43.483466 +L 293.416131 44.16 +L 294.881074 45.203474 +L 297.249132 46.848 +L 297.277852 46.867773 +L 299.674631 48.46806 +L 301.333192 49.536 +L 302.071409 50.012076 +L 304.468188 51.493697 +L 304.604728 51.574072 +" style="fill:none;stroke:#28ae80;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 339.445545 63.021556 +L 340.419866 62.994007 +L 340.625443 62.976 +L 342.816644 62.79488 +L 345.213423 62.4635 +L 347.610201 62.000345 +L 350.00698 61.407502 +L 352.403758 60.687638 +L 353.539124 60.288 +L 354.800537 59.86357 +L 357.197315 58.942431 +L 359.594094 57.910749 +L 360.248814 57.6 +L 361.990872 56.800274 +L 364.387651 55.602514 +L 365.670765 54.912 +L 366.78443 54.325914 +L 369.181208 52.9802 +L 370.453974 52.224 +L 371.577987 51.56403 +L 373.974765 50.085699 +L 374.828778 49.536 +L 376.371544 48.544522 +L 378.768322 46.946843 +L 378.912089 46.848 +L 381.165101 45.285506 +L 382.746972 44.16 +L 383.561879 43.569018 +L 385.958658 41.79472 +L 386.387794 41.472 +" style="fill:none;stroke:#28ae80;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 398.044342 150.146047 +L 395.545772 147.874426 +L 393.148993 145.794712 +L 388.355436 141.905284 +L 383.508403 138.24 +L 378.768322 134.90741 +L 373.974765 131.76705 +L 369.181208 128.872125 +L 364.387651 126.248777 +L 359.594094 123.936762 +L 354.800537 121.994012 +L 352.403758 121.158912 +L 350.00698 120.446338 +L 347.610201 119.859498 +L 342.816644 119.053078 +L 340.419866 118.845836 +L 338.023087 118.778935 +L 335.626309 118.852676 +L 333.22953 119.066728 +L 328.435973 119.885097 +L 326.039195 120.478121 +L 323.642416 121.196735 +L 318.848859 122.960306 +L 314.055302 125.113246 +L 309.261745 127.594136 +L 304.468188 130.360664 +L 299.674631 133.384772 +L 294.881074 136.649953 +L 289.059099 140.928 +L 285.29396 143.901821 +L 280.500403 147.976991 +L 278.103624 150.160363 +L 275.706846 152.467672 +L 273.310067 154.943018 +L 270.913289 157.663331 +L 268.51651 160.770717 +L 267.340236 162.432 +L 265.783239 165.12 +L 264.571299 167.808 +L 263.722953 170.715589 +L 263.332435 173.184 +L 263.332435 175.872 +L 263.756409 178.56 +L 264.571299 181.248 +L 266.119732 184.502499 +L 267.340236 186.624 +L 269.224399 189.312 +L 271.395772 192 +L 273.822419 194.688 +L 278.103624 198.895637 +L 280.500403 201.079009 +L 285.29396 205.154179 +L 289.059099 208.128 +L 294.881074 212.406047 +L 300.48266 216.192 +L 304.782249 218.88 +L 309.463401 221.568 +L 314.055302 223.942754 +L 318.848859 226.095694 +L 323.642416 227.859265 +L 326.039195 228.577879 +L 328.435973 229.170903 +L 333.22953 229.989272 +L 335.626309 230.203324 +L 338.023087 230.277065 +L 340.419866 230.210164 +L 342.816644 230.002922 +L 345.333488 229.632 +L 347.610201 229.196502 +L 350.00698 228.609662 +L 352.403758 227.897088 +L 357.197315 226.142999 +L 361.990872 223.998511 +L 366.78443 221.525225 +L 371.577987 218.765589 +L 376.371544 215.747761 +L 381.165101 212.488327 +L 387.103569 208.128 +L 390.752215 205.250747 +L 395.545772 201.181574 +L 397.94255 199.005191 +L 400.339329 196.70675 +L 402.736107 194.242925 +L 405.132886 191.538076 +L 407.529664 188.452426 +L 408.822453 186.624 +L 410.380854 183.936 +L 411.175336 182.170924 +L 411.175336 182.170924 +" style="fill:none;stroke:#28ae80;stroke-width:5;"/> + <g id="LineCollection_7"> + <g id="patch_48"> + <path clip-path="url(#pedd1dac049)" d="M 141.268132 307.584 +L 139.09047 306.452356 +L 136.693691 305.30028 +L 135.773887 304.896 +L 134.296913 304.259101 +L 131.900134 303.326976 +L 130.969921 303.006197 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> </g> - <g id="matplotlib.axis_2"> - <g id="ytick_1"> - <g id="line2d_17"> - <defs> - <path d="M 0 0 -L 4 0 -" id="m556f96d829" style="stroke:#000000;stroke-width:0.5;"/> - </defs> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m556f96d829" y="388.8"/> - </g> - </g> - <g id="line2d_18"> - <defs> - <path d="M 0 0 -L -4 0 -" id="m27e32ca04a" style="stroke:#000000;stroke-width:0.5;"/> - </defs> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m27e32ca04a" y="388.8"/> - </g> - </g> - <g id="text_9"> - <!-- 0 --> - <g transform="translate(60.365 393.359062)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="ytick_2"> - <g id="line2d_19"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m556f96d829" y="318.981818"/> - </g> - </g> - <g id="line2d_20"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m27e32ca04a" y="318.981818"/> - </g> - </g> - <g id="text_10"> - <!-- 20 --> - <g transform="translate(52.73 323.540881)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-32"/> - <use x="63.623047" xlink:href="#DejaVuSans-30"/> - </g> - </g> + <g id="patch_49"> + <path clip-path="url(#pedd1dac049)" d="M 94.600971 303.674383 +L 93.551678 304.073799 +L 91.609374 304.896 +L 91.154899 305.092092 +L 88.758121 306.225789 +L 86.361342 307.453941 +L 86.124664 307.584 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_50"> + <path clip-path="url(#pedd1dac049)" d="M 365.639589 307.584 +L 364.387651 306.915603 +L 361.990872 305.727338 +L 360.165484 304.896 +L 359.594094 304.640691 +L 357.197315 303.669456 +L 356.213587 303.313536 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_51"> + <path clip-path="url(#pedd1dac049)" d="M 319.839752 303.353691 +L 318.848859 303.714334 +L 316.452081 304.690525 +L 315.994242 304.896 +L 314.055302 305.782954 +L 311.658523 306.975791 +L 310.523136 307.584 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_52"> + <path clip-path="url(#pedd1dac049)" d="M 86.124664 41.472 +L 86.361342 41.602059 +L 88.758121 42.830211 +L 91.154899 43.963908 +L 91.609374 44.16 +L 93.551678 44.982201 +L 94.600971 45.381617 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_53"> + <path clip-path="url(#pedd1dac049)" d="M 130.969921 46.049803 +L 131.900134 45.729024 +L 134.296913 44.796899 +L 135.773887 44.16 +L 136.693691 43.75572 +L 139.09047 42.603644 +L 141.268132 41.472 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_54"> + <path clip-path="url(#pedd1dac049)" d="M 310.523136 41.472 +L 311.658523 42.080209 +L 314.055302 43.273046 +L 315.994242 44.16 +L 316.452081 44.365475 +L 318.848859 45.341666 +L 319.839752 45.702309 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_55"> + <path clip-path="url(#pedd1dac049)" d="M 356.213587 45.742464 +L 357.197315 45.386544 +L 359.594094 44.415309 +L 360.165484 44.16 +L 361.990872 43.328662 +L 364.387651 42.140397 +L 365.639589 41.472 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_56"> + <path clip-path="url(#pedd1dac049)" d="M 130.036643 135.479032 +L 127.106577 134.584892 +L 122.31302 133.499354 +L 119.916242 133.13036 +L 117.234772 132.864 +L 115.122685 132.748282 +L 112.725906 132.736864 +L 110.133555 132.864 +L 107.932349 133.073499 +L 105.53557 133.420107 +L 103.138792 133.883651 +L 98.345235 135.152681 +L 95.948456 135.956789 +L 91.154899 137.889564 +L 88.758121 139.021637 +L 83.964564 141.601445 +L 79.171007 144.631399 +L 76.774228 146.309379 +L 73.330823 148.992 +L 69.583893 152.312773 +L 67.187114 154.70621 +L 64.790336 157.426249 +L 62.393557 160.655548 +L 61.234468 162.432 +L 59.810283 165.12 +L 58.733472 167.808 +L 58.009441 170.496 +L 57.645571 173.184 +L 57.645571 175.872 +L 58.009441 178.56 +L 58.733472 181.248 +L 59.996779 184.289374 +L 61.234468 186.624 +L 62.993736 189.312 +L 65.081293 192 +L 67.49586 194.688 +L 70.241997 197.376 +L 74.37745 200.898862 +L 76.78149 202.752 +L 81.567785 206.001164 +L 86.361342 208.799817 +L 91.154899 211.166436 +L 95.948456 213.099211 +L 98.345235 213.903319 +L 103.138792 215.172349 +L 105.53557 215.635893 +L 110.133555 216.192 +L 110.329128 216.210604 +L 112.725906 216.319136 +L 117.234772 216.192 +L 117.519463 216.176394 +L 119.916242 215.92564 +L 122.31302 215.556646 +L 124.709799 215.071073 +L 129.503356 213.759451 +L 131.900134 212.933192 +L 136.693691 210.961564 +L 139.09047 209.806617 +L 143.884027 207.184461 +L 146.707392 205.44 +L 151.074362 202.400376 +L 154.064116 200.064 +L 157.149214 197.376 +L 160.661477 193.844327 +L 163.058255 191.044252 +L 164.398217 189.312 +L 166.158576 186.624 +L 167.851812 183.264416 +L 168.659306 181.248 +L 169.383086 178.56 +L 169.74683 175.872 +L 169.74683 173.184 +L 169.383086 170.496 +L 168.659306 167.808 +L 167.581885 165.12 +L 166.158576 162.432 +L 164.398217 159.744 +L 162.309414 157.056 +L 160.934604 155.51735 +L 160.934604 155.51735 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <g id="patch_57"> + <path clip-path="url(#pedd1dac049)" d="M 354.973579 135.659323 +L 352.403758 134.842704 +L 347.610201 133.6705 +L 345.213423 133.256919 +L 341.50237 132.864 +L 340.419866 132.784141 +L 338.023087 132.727062 +L 334.65483 132.864 +L 333.22953 132.972659 +L 330.832752 133.27433 +L 328.435973 133.693593 +L 323.642416 134.876824 +L 321.245638 135.636367 +L 316.452081 137.490497 +L 314.055302 138.576496 +L 309.261745 141.070662 +L 304.468188 144.01253 +L 299.674631 147.445983 +L 297.277852 149.359584 +L 294.623742 151.68 +L 291.882391 154.368 +L 289.467551 157.056 +L 287.377622 159.744 +L 285.29396 163.042697 +L 284.196348 165.12 +L 282.897181 168.6278 +L 282.394236 170.496 +L 282.030559 173.184 +L 282.030559 175.872 +L 282.394236 178.56 +L 283.118261 181.248 +L 284.196348 183.936 +L 285.618661 186.624 +L 287.690738 189.718439 +L 290.087517 192.698075 +L 292.484295 195.287607 +L 294.881074 197.606183 +L 297.712463 200.064 +L 302.071409 203.393821 +L 306.864966 206.563983 +L 311.658523 209.280456 +L 316.452081 211.565503 +L 321.245638 213.419633 +L 323.642416 214.179176 +L 328.435973 215.362407 +L 330.832752 215.78167 +L 334.65483 216.192 +L 335.626309 216.266023 +L 338.023087 216.328938 +L 341.50237 216.192 +L 342.816644 216.094992 +L 345.213423 215.799081 +L 347.610201 215.3855 +L 352.403758 214.213296 +L 354.800537 213.459474 +L 359.594094 211.615488 +L 361.990872 210.535409 +L 366.78443 208.052283 +L 371.577987 205.121779 +L 376.371544 201.700246 +L 378.768322 199.796577 +L 381.538014 197.376 +L 384.279878 194.688 +L 386.694854 192 +L 388.784771 189.312 +L 390.752215 186.23344 +L 391.966384 183.936 +L 393.148993 180.861285 +L 393.768518 178.56 +L 394.132187 175.872 +L 394.132187 173.184 +L 393.768518 170.496 +L 393.044685 167.808 +L 391.966384 165.12 +L 390.544471 162.432 +L 388.355436 159.186938 +L 385.707357 155.949219 +L 385.707357 155.949219 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> + </g> + <path clip-path="url(#pedd1dac049)" d="M 141.268132 307.584 +L 139.09047 306.452356 +L 136.693691 305.30028 +L 135.773887 304.896 +L 134.296913 304.259101 +L 131.900134 303.326976 +L 130.969921 303.006197 +" style="fill:none;stroke:#5ec962;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 94.600971 303.674383 +L 93.551678 304.073799 +L 91.609374 304.896 +L 91.154899 305.092092 +L 88.758121 306.225789 +L 86.361342 307.453941 +L 86.124664 307.584 +" style="fill:none;stroke:#5ec962;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 365.639589 307.584 +L 364.387651 306.915603 +L 361.990872 305.727338 +L 360.165484 304.896 +L 359.594094 304.640691 +L 357.197315 303.669456 +L 356.213587 303.313536 +" style="fill:none;stroke:#5ec962;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 319.839752 303.353691 +L 318.848859 303.714334 +L 316.452081 304.690525 +L 315.994242 304.896 +L 314.055302 305.782954 +L 311.658523 306.975791 +L 310.523136 307.584 +" style="fill:none;stroke:#5ec962;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 86.124664 41.472 +L 86.361342 41.602059 +L 88.758121 42.830211 +L 91.154899 43.963908 +L 91.609374 44.16 +L 93.551678 44.982201 +L 94.600971 45.381617 +" style="fill:none;stroke:#5ec962;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 130.969921 46.049803 +L 131.900134 45.729024 +L 134.296913 44.796899 +L 135.773887 44.16 +L 136.693691 43.75572 +L 139.09047 42.603644 +L 141.268132 41.472 +" style="fill:none;stroke:#5ec962;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 310.523136 41.472 +L 311.658523 42.080209 +L 314.055302 43.273046 +L 315.994242 44.16 +L 316.452081 44.365475 +L 318.848859 45.341666 +L 319.839752 45.702309 +" style="fill:none;stroke:#5ec962;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 356.213587 45.742464 +L 357.197315 45.386544 +L 359.594094 44.415309 +L 360.165484 44.16 +L 361.990872 43.328662 +L 364.387651 42.140397 +L 365.639589 41.472 +" style="fill:none;stroke:#5ec962;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 130.036643 135.479032 +L 127.106577 134.584892 +L 122.31302 133.499354 +L 119.916242 133.13036 +L 117.234772 132.864 +L 115.122685 132.748282 +L 112.725906 132.736864 +L 110.133555 132.864 +L 107.932349 133.073499 +L 105.53557 133.420107 +L 103.138792 133.883651 +L 98.345235 135.152681 +L 95.948456 135.956789 +L 91.154899 137.889564 +L 88.758121 139.021637 +L 83.964564 141.601445 +L 79.171007 144.631399 +L 76.774228 146.309379 +L 73.330823 148.992 +L 69.583893 152.312773 +L 67.187114 154.70621 +L 64.790336 157.426249 +L 62.393557 160.655548 +L 61.234468 162.432 +L 59.810283 165.12 +L 58.733472 167.808 +L 58.009441 170.496 +L 57.645571 173.184 +L 57.645571 175.872 +L 58.009441 178.56 +L 58.733472 181.248 +L 59.996779 184.289374 +L 61.234468 186.624 +L 62.993736 189.312 +L 65.081293 192 +L 67.49586 194.688 +L 70.241997 197.376 +L 74.37745 200.898862 +L 76.78149 202.752 +L 81.567785 206.001164 +L 86.361342 208.799817 +L 91.154899 211.166436 +L 95.948456 213.099211 +L 98.345235 213.903319 +L 103.138792 215.172349 +L 105.53557 215.635893 +L 110.133555 216.192 +L 110.329128 216.210604 +L 112.725906 216.319136 +L 117.234772 216.192 +L 117.519463 216.176394 +L 119.916242 215.92564 +L 122.31302 215.556646 +L 124.709799 215.071073 +L 129.503356 213.759451 +L 131.900134 212.933192 +L 136.693691 210.961564 +L 139.09047 209.806617 +L 143.884027 207.184461 +L 146.707392 205.44 +L 151.074362 202.400376 +L 154.064116 200.064 +L 157.149214 197.376 +L 160.661477 193.844327 +L 163.058255 191.044252 +L 164.398217 189.312 +L 166.158576 186.624 +L 167.851812 183.264416 +L 168.659306 181.248 +L 169.383086 178.56 +L 169.74683 175.872 +L 169.74683 173.184 +L 169.383086 170.496 +L 168.659306 167.808 +L 167.581885 165.12 +L 166.158576 162.432 +L 164.398217 159.744 +L 162.309414 157.056 +L 160.934604 155.51735 +L 160.934604 155.51735 +" style="fill:none;stroke:#5ec962;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 354.973579 135.659323 +L 352.403758 134.842704 +L 347.610201 133.6705 +L 345.213423 133.256919 +L 341.50237 132.864 +L 340.419866 132.784141 +L 338.023087 132.727062 +L 334.65483 132.864 +L 333.22953 132.972659 +L 330.832752 133.27433 +L 328.435973 133.693593 +L 323.642416 134.876824 +L 321.245638 135.636367 +L 316.452081 137.490497 +L 314.055302 138.576496 +L 309.261745 141.070662 +L 304.468188 144.01253 +L 299.674631 147.445983 +L 297.277852 149.359584 +L 294.623742 151.68 +L 291.882391 154.368 +L 289.467551 157.056 +L 287.377622 159.744 +L 285.29396 163.042697 +L 284.196348 165.12 +L 282.897181 168.6278 +L 282.394236 170.496 +L 282.030559 173.184 +L 282.030559 175.872 +L 282.394236 178.56 +L 283.118261 181.248 +L 284.196348 183.936 +L 285.618661 186.624 +L 287.690738 189.718439 +L 290.087517 192.698075 +L 292.484295 195.287607 +L 294.881074 197.606183 +L 297.712463 200.064 +L 302.071409 203.393821 +L 306.864966 206.563983 +L 311.658523 209.280456 +L 316.452081 211.565503 +L 321.245638 213.419633 +L 323.642416 214.179176 +L 328.435973 215.362407 +L 330.832752 215.78167 +L 334.65483 216.192 +L 335.626309 216.266023 +L 338.023087 216.328938 +L 341.50237 216.192 +L 342.816644 216.094992 +L 345.213423 215.799081 +L 347.610201 215.3855 +L 352.403758 214.213296 +L 354.800537 213.459474 +L 359.594094 211.615488 +L 361.990872 210.535409 +L 366.78443 208.052283 +L 371.577987 205.121779 +L 376.371544 201.700246 +L 378.768322 199.796577 +L 381.538014 197.376 +L 384.279878 194.688 +L 386.694854 192 +L 388.784771 189.312 +L 390.752215 186.23344 +L 391.966384 183.936 +L 393.148993 180.861285 +L 393.768518 178.56 +L 394.132187 175.872 +L 394.132187 173.184 +L 393.768518 170.496 +L 393.044685 167.808 +L 391.966384 165.12 +L 390.544471 162.432 +L 388.355436 159.186938 +L 385.707357 155.949219 +L 385.707357 155.949219 +" style="fill:none;stroke:#5ec962;stroke-width:5;"/> + <g id="LineCollection_8"> + <g id="patch_58"> + <path clip-path="url(#pedd1dac049)" d="M 119.115204 202.008764 +L 119.916242 201.90996 +L 122.31302 201.474928 +L 124.709799 200.902452 +L 127.106577 200.195111 +L 127.481113 200.064 +L 129.503356 199.3041 +L 131.900134 198.266166 +L 133.722796 197.376 +L 134.296913 197.070018 +L 136.693691 195.653652 +L 138.187887 194.688 +L 139.09047 194.038822 +L 141.487248 192.175144 +L 141.697655 192 +L 143.884027 189.924531 +L 144.491981 189.312 +L 146.280805 187.190176 +L 146.733964 186.624 +L 148.482039 183.936 +L 148.677584 183.539868 +L 149.759058 181.248 +L 150.61191 178.56 +L 151.040521 175.872 +L 151.040521 173.184 +L 150.61191 170.496 +L 149.759058 167.808 +L 148.677584 165.516132 +L 148.482039 165.12 +L 146.733964 162.432 +L 146.280805 161.865824 +L 144.491981 159.744 +L 143.884027 159.131469 +L 141.697655 157.056 +L 141.487248 156.880856 +L 139.09047 155.017178 +L 138.187887 154.368 +L 136.693691 153.402348 +L 134.296913 151.985982 +L 133.722796 151.68 +L 131.900134 150.789834 +L 129.503356 149.7519 +L 127.481113 148.992 +L 127.106577 148.860889 +L 124.709799 148.153548 +L 122.31302 147.581072 +L 119.916242 147.14604 +L 117.519463 146.850409 +L 115.122685 146.69551 +L 112.725906 146.682042 +L 110.329128 146.810065 +L 107.932349 147.079002 +L 105.53557 147.487643 +L 103.138792 148.034147 +L 100.742013 148.716054 +L 99.929746 148.992 +L 98.345235 149.569826 +L 95.948456 150.581979 +L 93.651445 151.68 +L 93.551678 151.732043 +L 91.154899 153.122439 +L 89.196344 154.368 +L 88.758121 154.678162 +L 86.361342 156.515867 +L 85.70445 157.056 +L 83.964564 158.687489 +L 82.904648 159.744 +L 81.567785 161.31282 +L 80.663609 162.432 +L 79.171007 164.705838 +L 78.911451 165.12 +L 77.632763 167.808 +L 76.774228 170.492138 +L 76.773041 170.496 +L 76.357883 173.184 +L 76.357883 175.872 +L 76.773041 178.56 +L 76.774228 178.563862 +L 77.632763 181.248 +L 78.911451 183.936 +L 79.171007 184.350162 +L 80.663609 186.624 +L 81.567785 187.74318 +L 82.904648 189.312 +L 83.964564 190.368511 +L 84.759166 191.113608 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> </g> - <g id="ytick_3"> - <g id="line2d_21"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m556f96d829" y="249.163636"/> - </g> - </g> - <g id="line2d_22"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m27e32ca04a" y="249.163636"/> - </g> - </g> - <g id="text_11"> - <!-- 40 --> - <g transform="translate(52.73 253.722699)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-34"/> - <use x="63.623047" xlink:href="#DejaVuSans-30"/> - </g> - </g> + <g id="patch_59"> + <path clip-path="url(#pedd1dac049)" d="M 344.442962 201.872898 +L 345.213423 201.760751 +L 347.610201 201.273152 +L 350.00698 200.649017 +L 351.857137 200.064 +L 352.403758 199.878465 +L 354.800537 198.925068 +L 357.197315 197.836082 +L 358.101422 197.376 +L 359.594094 196.547083 +L 361.990872 195.079474 +L 362.578169 194.688 +L 364.387651 193.345657 +L 366.072106 192 +L 366.78443 191.351053 +L 368.882304 189.312 +L 369.181208 188.969969 +L 371.118638 186.624 +L 371.577987 185.939446 +L 372.857726 183.936 +L 373.974765 181.632179 +L 374.153265 181.248 +L 374.993014 178.56 +L 375.415041 175.872 +L 375.415041 173.184 +L 374.993014 170.496 +L 374.153265 167.808 +L 373.974765 167.423821 +L 372.857726 165.12 +L 371.577987 163.116554 +L 371.118638 162.432 +L 369.181208 160.086031 +L 368.882304 159.744 +L 366.78443 157.704947 +L 366.072106 157.056 +L 364.387651 155.710343 +L 362.578169 154.368 +L 361.990872 153.976526 +L 359.594094 152.508917 +L 358.101422 151.68 +L 357.197315 151.219918 +L 354.800537 150.130932 +L 352.403758 149.177535 +L 351.857137 148.992 +L 350.00698 148.406983 +L 347.610201 147.782848 +L 345.213423 147.295249 +L 342.816644 146.946379 +L 340.419866 146.737809 +L 338.023087 146.67048 +L 335.626309 146.744693 +L 333.22953 146.960115 +L 330.832752 147.315776 +L 328.435973 147.810075 +L 326.039195 148.440785 +L 324.310592 148.992 +L 323.642416 149.220715 +L 321.245638 150.180813 +L 318.848859 151.276276 +L 318.059529 151.68 +L 316.452081 152.577209 +L 314.055302 154.051301 +L 313.582006 154.368 +L 311.658523 155.800403 +L 310.092068 157.056 +L 309.261745 157.814989 +L 307.282901 159.744 +L 306.864966 160.223639 +L 305.045843 162.432 +L 304.468188 163.295068 +L 303.305065 165.12 +L 302.071409 167.669998 +L 302.007413 167.808 +L 301.16927 170.496 +L 300.748051 173.184 +L 300.748051 175.872 +L 301.16927 178.56 +L 302.007413 181.248 +L 302.071409 181.386002 +L 303.305065 183.936 +L 304.468188 185.760932 +L 305.045843 186.624 +L 306.864966 188.832361 +L 307.282901 189.312 +L 309.261745 191.241011 +L 309.836939 191.766789 +" style="fill:none;stroke:#000000;stroke-linejoin:miter;stroke-width:12;"/> </g> - <g id="ytick_4"> - <g id="line2d_23"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m556f96d829" y="179.345455"/> - </g> - </g> - <g id="line2d_24"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m27e32ca04a" y="179.345455"/> - </g> + <path clip-path="url(#pedd1dac049)" d="M 119.115204 202.008764 +L 119.916242 201.90996 +L 122.31302 201.474928 +L 124.709799 200.902452 +L 127.106577 200.195111 +L 127.481113 200.064 +L 129.503356 199.3041 +L 131.900134 198.266166 +L 133.722796 197.376 +L 134.296913 197.070018 +L 136.693691 195.653652 +L 138.187887 194.688 +L 139.09047 194.038822 +L 141.487248 192.175144 +L 141.697655 192 +L 143.884027 189.924531 +L 144.491981 189.312 +L 146.280805 187.190176 +L 146.733964 186.624 +L 148.482039 183.936 +L 148.677584 183.539868 +L 149.759058 181.248 +L 150.61191 178.56 +L 151.040521 175.872 +L 151.040521 173.184 +L 150.61191 170.496 +L 149.759058 167.808 +L 148.677584 165.516132 +L 148.482039 165.12 +L 146.733964 162.432 +L 146.280805 161.865824 +L 144.491981 159.744 +L 143.884027 159.131469 +L 141.697655 157.056 +L 141.487248 156.880856 +L 139.09047 155.017178 +L 138.187887 154.368 +L 136.693691 153.402348 +L 134.296913 151.985982 +L 133.722796 151.68 +L 131.900134 150.789834 +L 129.503356 149.7519 +L 127.481113 148.992 +L 127.106577 148.860889 +L 124.709799 148.153548 +L 122.31302 147.581072 +L 119.916242 147.14604 +L 117.519463 146.850409 +L 115.122685 146.69551 +L 112.725906 146.682042 +L 110.329128 146.810065 +L 107.932349 147.079002 +L 105.53557 147.487643 +L 103.138792 148.034147 +L 100.742013 148.716054 +L 99.929746 148.992 +L 98.345235 149.569826 +L 95.948456 150.581979 +L 93.651445 151.68 +L 93.551678 151.732043 +L 91.154899 153.122439 +L 89.196344 154.368 +L 88.758121 154.678162 +L 86.361342 156.515867 +L 85.70445 157.056 +L 83.964564 158.687489 +L 82.904648 159.744 +L 81.567785 161.31282 +L 80.663609 162.432 +L 79.171007 164.705838 +L 78.911451 165.12 +L 77.632763 167.808 +L 76.774228 170.492138 +L 76.773041 170.496 +L 76.357883 173.184 +L 76.357883 175.872 +L 76.773041 178.56 +L 76.774228 178.563862 +L 77.632763 181.248 +L 78.911451 183.936 +L 79.171007 184.350162 +L 80.663609 186.624 +L 81.567785 187.74318 +L 82.904648 189.312 +L 83.964564 190.368511 +L 84.759166 191.113608 +" style="fill:none;stroke:#addc30;stroke-width:5;"/> + <path clip-path="url(#pedd1dac049)" d="M 344.442962 201.872898 +L 345.213423 201.760751 +L 347.610201 201.273152 +L 350.00698 200.649017 +L 351.857137 200.064 +L 352.403758 199.878465 +L 354.800537 198.925068 +L 357.197315 197.836082 +L 358.101422 197.376 +L 359.594094 196.547083 +L 361.990872 195.079474 +L 362.578169 194.688 +L 364.387651 193.345657 +L 366.072106 192 +L 366.78443 191.351053 +L 368.882304 189.312 +L 369.181208 188.969969 +L 371.118638 186.624 +L 371.577987 185.939446 +L 372.857726 183.936 +L 373.974765 181.632179 +L 374.153265 181.248 +L 374.993014 178.56 +L 375.415041 175.872 +L 375.415041 173.184 +L 374.993014 170.496 +L 374.153265 167.808 +L 373.974765 167.423821 +L 372.857726 165.12 +L 371.577987 163.116554 +L 371.118638 162.432 +L 369.181208 160.086031 +L 368.882304 159.744 +L 366.78443 157.704947 +L 366.072106 157.056 +L 364.387651 155.710343 +L 362.578169 154.368 +L 361.990872 153.976526 +L 359.594094 152.508917 +L 358.101422 151.68 +L 357.197315 151.219918 +L 354.800537 150.130932 +L 352.403758 149.177535 +L 351.857137 148.992 +L 350.00698 148.406983 +L 347.610201 147.782848 +L 345.213423 147.295249 +L 342.816644 146.946379 +L 340.419866 146.737809 +L 338.023087 146.67048 +L 335.626309 146.744693 +L 333.22953 146.960115 +L 330.832752 147.315776 +L 328.435973 147.810075 +L 326.039195 148.440785 +L 324.310592 148.992 +L 323.642416 149.220715 +L 321.245638 150.180813 +L 318.848859 151.276276 +L 318.059529 151.68 +L 316.452081 152.577209 +L 314.055302 154.051301 +L 313.582006 154.368 +L 311.658523 155.800403 +L 310.092068 157.056 +L 309.261745 157.814989 +L 307.282901 159.744 +L 306.864966 160.223639 +L 305.045843 162.432 +L 304.468188 163.295068 +L 303.305065 165.12 +L 302.071409 167.669998 +L 302.007413 167.808 +L 301.16927 170.496 +L 300.748051 173.184 +L 300.748051 175.872 +L 301.16927 178.56 +L 302.007413 181.248 +L 302.071409 181.386002 +L 303.305065 183.936 +L 304.468188 185.760932 +L 305.045843 186.624 +L 306.864966 188.832361 +L 307.282901 189.312 +L 309.261745 191.241011 +L 309.836939 191.766789 +" style="fill:none;stroke:#addc30;stroke-width:5;"/> + <g id="LineCollection_9"> + <g id="patch_60"> + <path d="M 57.6 307.584 +L 57.6 41.472 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> </g> - <g id="text_12"> - <!-- 60 --> - <g transform="translate(52.73 183.904517)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-36"/> - <use x="63.623047" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="ytick_5"> - <g id="line2d_25"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="72" xlink:href="#m556f96d829" y="109.527273"/> - </g> + <g id="patch_61"> + <path d="M 414.72 307.584 +L 414.72 41.472 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> </g> - <g id="line2d_26"> - <g> - <use style="stroke:#000000;stroke-width:0.5;" x="518.4" xlink:href="#m27e32ca04a" y="109.527273"/> - </g> + <g id="patch_62"> + <path d="M 57.6 307.584 +L 414.72 307.584 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> </g> - <g id="text_13"> - <!-- 80 --> - <g transform="translate(52.73 114.086335)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-38"/> - <use x="63.623047" xlink:href="#DejaVuSans-30"/> - </g> + <g id="patch_63"> + <path d="M 57.6 41.472 +L 414.72 41.472 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> </g> - </g> - </g> - <g id="text_14"> - <g id="patch_63"> - <path clip-path="url(#p826a730be7)" d="M 222.001855 319.721931 -L 221.54299 320.90913 -L 222.722461 321.350527 -L 223.901931 321.791924 -L 223.435337 322.961656 -L 222.968744 324.131387 -L 224.148214 324.572784 -L 225.327685 325.014181 -L 224.861091 326.183912 -L 224.394497 327.353644 -L 225.573968 327.795041 -L 226.753438 328.236438 -L 226.286844 329.406169 -L 225.82025 330.575901 -L 226.999721 331.017298 -L 228.179192 331.458695 -L 227.712598 332.628426 -L 227.246004 333.798158 -L 228.425475 334.239555 -L 229.604945 334.680952 -L 229.138351 335.850683 -L 228.671757 337.020415 -L 229.851228 337.461812 -L 231.030699 337.903209 -L 230.564105 339.07294 -L 230.097511 340.242672 -L 231.276981 340.684069 -L 232.456452 341.125466 -L 231.989858 342.295197 -L 231.523264 343.464929 -L 232.702735 343.906326 -L 233.882206 344.347723 -L 233.415612 345.517454 -L 232.949018 346.687186 -L 234.128488 347.128583 -L 235.307959 347.56998 -L 234.841365 348.739711 -L 234.374771 349.909443 -L 235.554242 350.35084 -L 236.733712 350.792237 -L 236.267119 351.961968 -L 235.800525 353.1317 -L 236.979995 353.573097 -L 238.159466 354.014494 -L 237.692872 355.184225 -L 237.226278 356.353957 -L 238.405749 356.795354 -L 239.585219 357.236751 -L 239.118625 358.406482 -L 238.652032 359.576214 -L 239.839231 360.035079 -L 241.026431 360.493943 -L 241.531806 359.286165 -L 242.03718 358.078386 -L 243.27089 358.516671 -L 244.5046 358.954957 -L 245.009974 357.747178 -L 245.515349 356.539399 -L 246.749059 356.977684 -L 247.982768 357.41597 -L 248.488143 356.208191 -L 248.993517 355.000412 -L 250.227227 355.438698 -L 251.460937 355.876983 -L 251.966311 354.669204 -L 252.471686 353.461425 -L 253.705396 353.899711 -L 254.939105 354.337996 -L 255.39797 353.150797 -L 255.856835 351.963597 -L 254.677364 351.5222 -L 253.497894 351.080803 -L 253.964487 349.911072 -L 254.431081 348.74134 -L 253.251611 348.299943 -L 252.07214 347.858546 -L 252.538734 346.688815 -L 253.005328 345.519083 -L 251.825857 345.077686 -L 250.646387 344.636289 -L 251.112981 343.466558 -L 251.579574 342.296826 -L 250.400104 341.855429 -L 249.220633 341.414033 -L 249.687227 340.244301 -L 250.153821 339.074569 -L 248.97435 338.633172 -L 247.79488 338.191776 -L 248.261474 337.022044 -L 248.728068 335.852312 -L 247.548597 335.410915 -L 246.369126 334.969519 -L 246.83572 333.799787 -L 247.302314 332.630055 -L 246.122843 332.188658 -L 244.943373 331.747262 -L 245.409967 330.57753 -L 245.876561 329.407798 -L 244.69709 328.966401 -L 243.517619 328.525005 -L 243.984213 327.355273 -L 244.450807 326.185541 -L 243.271337 325.744144 -L 242.091866 325.302748 -L 242.55846 324.133016 -L 243.025054 322.963284 -L 241.845583 322.521887 -L 240.666112 322.080491 -L 241.132706 320.910759 -L 241.5993 319.741027 -L 240.41983 319.299631 -L 239.240359 318.858234 -L 239.706953 317.688502 -L 240.173547 316.51877 -L 238.994076 316.077374 -L 237.814606 315.635977 -L 238.281199 314.466245 -L 238.747793 313.296513 -L 237.560594 312.837649 -L 236.373394 312.378784 -L 235.868019 313.586563 -L 235.362645 314.794342 -L 234.128935 314.356056 -L 232.895225 313.917771 -L 232.389851 315.125549 -L 231.884476 316.333328 -L 230.650766 315.895043 -L 229.417057 315.456757 -L 228.911682 316.664536 -L 228.406307 317.872315 -L 227.172598 317.43403 -L 225.938888 316.995744 -L 225.433514 318.203523 -L 224.928139 319.411302 -L 223.694429 318.973016 -L 222.46072 318.534731 + <g id="text_14"> + <g id="patch_64"> + <path clip-path="url(#pedd1dac049)" d="M 194.301221 275.350324 +L 195.104195 274.657336 +L 194.41004 273.870237 +L 193.715884 273.083138 +L 194.517691 272.406025 +L 195.319498 271.728912 +L 194.625343 270.941813 +L 193.931188 270.154714 +L 194.732995 269.477601 +L 195.534802 268.800488 +L 194.840646 268.013389 +L 194.146491 267.22629 +L 194.948298 266.549177 +L 195.750105 265.872064 +L 195.05595 265.084965 +L 194.361794 264.297866 +L 195.163601 263.620753 +L 195.965408 262.94364 +L 195.271253 262.156541 +L 194.577098 261.369442 +L 195.378905 260.692329 +L 196.180712 260.015216 +L 195.486556 259.228117 +L 194.792401 258.441018 +L 195.594208 257.763905 +L 196.396015 257.086792 +L 195.70186 256.299693 +L 195.007705 255.512594 +L 195.809512 254.835481 +L 196.611318 254.158368 +L 195.917163 253.371269 +L 195.223008 252.584169 +L 196.024815 251.907056 +L 196.826622 251.229943 +L 196.132467 250.442844 +L 195.438311 249.655745 +L 196.240118 248.978632 +L 197.041925 248.301519 +L 196.34777 247.51442 +L 195.653615 246.727321 +L 196.455422 246.050208 +L 197.257229 245.373095 +L 196.563073 244.585996 +L 195.868918 243.798897 +L 196.670725 243.121784 +L 197.472532 242.444671 +L 196.778377 241.657572 +L 196.084221 240.870473 +L 196.886028 240.19336 +L 197.687835 239.516247 +L 196.994847 238.713273 +L 196.301859 237.910299 +L 195.456616 238.60018 +L 194.611373 239.29006 +L 193.876117 238.483978 +L 193.14086 237.677896 +L 192.295617 238.367777 +L 191.450374 239.057657 +L 190.715117 238.251575 +L 189.97986 237.445494 +L 189.134617 238.135374 +L 188.289375 238.825254 +L 187.554118 238.019173 +L 186.818861 237.213091 +L 185.973618 237.902971 +L 185.128375 238.592852 +L 184.393118 237.78677 +L 183.657861 236.980688 +L 182.854887 237.673676 +L 182.051913 238.366664 +L 182.746068 239.153763 +L 183.440224 239.940862 +L 182.638417 240.617975 +L 181.83661 241.295088 +L 182.530765 242.082187 +L 183.22492 242.869286 +L 182.423113 243.546399 +L 181.621306 244.223512 +L 182.315462 245.010611 +L 183.009617 245.79771 +L 182.20781 246.474823 +L 181.406003 247.151936 +L 182.100158 247.939035 +L 182.794314 248.726134 +L 181.992507 249.403247 +L 181.1907 250.08036 +L 181.884855 250.867459 +L 182.57901 251.654558 +L 181.777203 252.331671 +L 180.975396 253.008784 +L 181.669552 253.795883 +L 182.363707 254.582982 +L 181.5619 255.260095 +L 180.760093 255.937208 +L 181.454248 256.724307 +L 182.148403 257.511406 +L 181.346597 258.188519 +L 180.54479 258.865632 +L 181.238945 259.652731 +L 181.9331 260.439831 +L 181.131293 261.116944 +L 180.329486 261.794057 +L 181.023641 262.581156 +L 181.717797 263.368255 +L 180.91599 264.045368 +L 180.114183 264.722481 +L 180.808338 265.50958 +L 181.502493 266.296679 +L 180.700686 266.973792 +L 179.898879 267.650905 +L 180.593035 268.438004 +L 181.28719 269.225103 +L 180.485383 269.902216 +L 179.683576 270.579329 +L 180.377731 271.366428 +L 181.071887 272.153527 +L 180.27008 272.83064 +L 179.468273 273.507753 +L 180.161261 274.310727 +L 180.854249 275.113701 +L 181.699492 274.42382 +L 182.544735 273.73394 +L 183.279991 274.540022 +L 184.015248 275.346104 +L 184.860491 274.656223 +L 185.705734 273.966343 +L 186.440991 274.772425 +L 187.176248 275.578506 +L 188.021491 274.888626 +L 188.866733 274.198746 +L 189.60199 275.004827 +L 190.337247 275.810909 +L 191.18249 275.121029 +L 192.027733 274.431148 +L 192.76299 275.23723 +L 193.498247 276.043312 z " style="fill:none;stroke:#0000ff;stroke-linejoin:miter;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 231.527854 319.101212 -L 232.805475 321.988684 -L 231.927574 322.377129 -L 230.649953 319.489657 -z -M 231.110608 325.007062 -L 231.89281 326.774867 -L 237.996966 324.073958 -L 236.759928 322.320824 -L 237.745852 321.884582 -L 238.978338 323.627428 -L 239.457066 324.709373 -L 232.366986 327.846524 -L 233.149187 329.614328 -L 232.238708 330.017188 -L 230.200129 325.409923 -z -M 234.567365 331.60076 -L 235.068096 332.732429 -L 233.706663 333.334823 -L 233.205933 332.203154 -z -M 242.755247 332.163387 -L 244.635261 336.412291 -L 243.723067 336.81591 -L 242.281571 333.558074 -L 240.321726 334.425248 -Q 240.506254 334.624497 240.64963 334.841954 -Q 240.793765 335.061126 240.898463 335.297748 -Q 241.490994 336.63689 241.103083 337.743487 -Q 240.71593 338.851798 239.462521 339.406395 -Q 238.171389 339.977682 237.098843 339.49064 -Q 236.028012 339.00284 235.380856 337.540243 -Q 235.157803 337.036136 235.012138 336.475233 -Q 234.867231 335.916045 234.792124 335.282916 -L 235.880927 334.801153 -Q 235.831776 335.399048 235.930781 335.970344 -Q 236.029787 336.54164 236.283187 337.114334 -Q 236.693634 338.04196 237.41958 338.366609 -Q 238.146284 338.692973 238.983034 338.322736 -Q 239.818068 337.953257 240.065285 337.195962 -Q 240.314976 336.439623 239.904529 335.511997 -Q 239.712582 335.07819 239.425374 334.688585 -Q 239.138924 334.300693 238.736106 333.941738 -z -M 246.150122 341.763617 -Q 245.780643 340.928582 244.770975 340.870946 -Q 243.763781 340.814265 242.112572 341.544876 -Q 240.468222 342.272452 239.831067 343.056709 -Q 239.194671 343.842681 239.564149 344.677715 -Q 239.936662 345.519609 240.945571 345.575531 -Q 241.955239 345.633167 243.599589 344.905591 -Q 245.250798 344.17498 245.885479 343.389767 -Q 246.522634 342.605511 246.150122 341.763617 -z -M 247.007447 341.384276 -Q 247.603012 342.730277 246.852309 343.911284 -Q 246.10332 345.091532 244.078318 345.987536 -Q 242.058459 346.881263 240.679567 346.642539 -Q 239.302389 346.403057 238.706824 345.057056 -Q 238.112017 343.71277 238.861006 342.532522 -Q 239.611709 341.351515 241.631568 340.457788 -Q 243.65657 339.561784 245.033748 339.801266 -Q 246.41264 340.03999 247.007447 341.384276 -z -M 249.23938 348.74546 -Q 248.869902 347.910425 247.860234 347.852788 -Q 246.853039 347.796108 245.201831 348.526719 -Q 243.557481 349.254295 242.920326 350.038552 -Q 242.28393 350.824523 242.653408 351.659558 -Q 243.025921 352.501451 244.03483 352.557373 -Q 245.044498 352.61501 246.688848 351.887434 -Q 248.340057 351.156823 248.974738 350.37161 -Q 249.611893 349.587353 249.23938 348.74546 -z -M 250.096706 348.366119 -Q 250.692271 349.712119 249.941568 350.893126 -Q 249.192579 352.073374 247.167577 352.969378 -Q 245.147718 353.863106 243.768826 353.624382 -Q 242.391648 353.3849 241.796083 352.038899 -Q 241.201276 350.694613 241.950265 349.514365 -Q 242.700968 348.333358 244.720827 347.43963 -Q 246.745829 346.543627 248.123007 346.783109 -Q 249.501899 347.021833 250.096706 348.366119 + </g> + <path clip-path="url(#pedd1dac049)" d="M 187.053414 272.070996 +L 187.246348 269.446829 +L 188.044195 269.505488 +L 187.851261 272.129655 +z +M 189.676263 267.892104 +L 189.794383 266.285503 +L 184.246856 265.877638 +L 184.468926 267.651822 +L 183.572907 267.585945 +L 183.35015 265.82111 +L 183.422443 264.837827 +L 189.865989 265.311569 +L 189.984109 263.704968 +L 190.811563 263.765804 +L 190.503717 267.95294 +z +M 189.720339 261.688206 +L 189.795954 260.659732 +L 191.033239 260.7507 +L 190.957624 261.779174 +z +M 183.920502 258.063533 +L 184.204403 254.202081 +L 185.033416 254.263031 +L 184.815735 257.22379 +L 186.596865 257.354742 +Q 186.539321 257.135871 186.519177 256.91975 +Q 186.499146 256.70207 186.514957 256.487025 +Q 186.604435 255.269998 187.323628 254.608451 +Q 188.042936 253.945346 189.182049 254.029096 +Q 190.355444 254.115366 190.953078 254.894096 +Q 191.549154 255.672711 191.451427 257.001936 +Q 191.417744 257.460074 191.304886 257.929625 +Q 191.192142 258.397618 190.999078 258.892607 +L 190.009561 258.819856 +Q 190.280174 258.399504 190.431417 257.940609 +Q 190.582659 257.481713 190.620925 256.961243 +Q 190.682907 256.118206 190.276441 255.594806 +Q 189.870089 255.069847 189.109641 255.013938 +Q 188.350752 254.958143 187.871993 255.418026 +Q 187.39179 255.876237 187.329808 256.719274 +Q 187.300822 257.113522 187.359216 257.512628 +Q 187.417723 257.910176 187.573143 258.332082 +z +M 185.189128 249.673227 +Q 185.133333 250.432116 185.85313 250.870449 +Q 186.571484 251.30711 188.072121 251.417439 +Q 189.566525 251.527311 190.342575 251.200522 +Q 191.11874 250.872174 191.174535 250.113285 +Q 191.230789 249.348163 190.510877 248.911388 +Q 189.79108 248.473054 188.296676 248.363183 +Q 186.796038 248.252853 186.021432 248.581315 +Q 185.245381 248.908104 185.189128 249.673227 +z +M 184.409981 249.615942 +Q 184.499917 248.392681 185.515049 247.818695 +Q 186.528623 247.244594 188.368968 247.379899 +Q 190.204639 247.514861 191.124908 248.231142 +Q 192.043619 248.947309 191.953682 250.17057 +Q 191.86386 251.392272 190.850287 251.966373 +Q 189.835155 252.54036 187.999484 252.405398 +Q 186.159139 252.270092 185.240428 251.553926 +Q 184.320159 250.837645 184.409981 249.615942 +z +M 185.655638 243.328048 +Q 185.599843 244.086937 186.31964 244.525271 +Q 187.037993 244.961931 188.538631 245.072261 +Q 190.033034 245.182132 190.809085 244.855343 +Q 191.58525 244.526996 191.641045 243.768107 +Q 191.697298 243.002984 190.977387 242.566209 +Q 190.257589 242.127876 188.763185 242.018005 +Q 187.262548 241.907675 186.487941 242.236137 +Q 185.711891 242.562926 185.655638 243.328048 +z +M 184.876491 243.270764 +Q 184.966427 242.047503 185.981559 241.473516 +Q 186.995133 240.899415 188.835478 241.034721 +Q 190.671149 241.169683 191.591418 241.885964 +Q 192.510129 242.60213 192.420192 243.825391 +Q 192.33037 245.047094 191.316796 245.621195 +Q 190.301664 246.195181 188.465994 246.060219 +Q 186.625649 245.924913 185.706938 245.208747 +Q 184.786669 244.492466 184.876491 243.270764 z " style="fill:#ffffff;stroke:#000000;stroke-width:3;"/> - <path clip-path="url(#p826a730be7)" d="M 231.527854 319.101212 -L 232.805475 321.988684 -L 231.927574 322.377129 -L 230.649953 319.489657 -z -M 231.110608 325.007062 -L 231.89281 326.774867 -L 237.996966 324.073958 -L 236.759928 322.320824 -L 237.745852 321.884582 -L 238.978338 323.627428 -L 239.457066 324.709373 -L 232.366986 327.846524 -L 233.149187 329.614328 -L 232.238708 330.017188 -L 230.200129 325.409923 -z -M 234.567365 331.60076 -L 235.068096 332.732429 -L 233.706663 333.334823 -L 233.205933 332.203154 -z -M 242.755247 332.163387 -L 244.635261 336.412291 -L 243.723067 336.81591 -L 242.281571 333.558074 -L 240.321726 334.425248 -Q 240.506254 334.624497 240.64963 334.841954 -Q 240.793765 335.061126 240.898463 335.297748 -Q 241.490994 336.63689 241.103083 337.743487 -Q 240.71593 338.851798 239.462521 339.406395 -Q 238.171389 339.977682 237.098843 339.49064 -Q 236.028012 339.00284 235.380856 337.540243 -Q 235.157803 337.036136 235.012138 336.475233 -Q 234.867231 335.916045 234.792124 335.282916 -L 235.880927 334.801153 -Q 235.831776 335.399048 235.930781 335.970344 -Q 236.029787 336.54164 236.283187 337.114334 -Q 236.693634 338.04196 237.41958 338.366609 -Q 238.146284 338.692973 238.983034 338.322736 -Q 239.818068 337.953257 240.065285 337.195962 -Q 240.314976 336.439623 239.904529 335.511997 -Q 239.712582 335.07819 239.425374 334.688585 -Q 239.138924 334.300693 238.736106 333.941738 -z -M 246.150122 341.763617 -Q 245.780643 340.928582 244.770975 340.870946 -Q 243.763781 340.814265 242.112572 341.544876 -Q 240.468222 342.272452 239.831067 343.056709 -Q 239.194671 343.842681 239.564149 344.677715 -Q 239.936662 345.519609 240.945571 345.575531 -Q 241.955239 345.633167 243.599589 344.905591 -Q 245.250798 344.17498 245.885479 343.389767 -Q 246.522634 342.605511 246.150122 341.763617 -z -M 247.007447 341.384276 -Q 247.603012 342.730277 246.852309 343.911284 -Q 246.10332 345.091532 244.078318 345.987536 -Q 242.058459 346.881263 240.679567 346.642539 -Q 239.302389 346.403057 238.706824 345.057056 -Q 238.112017 343.71277 238.861006 342.532522 -Q 239.611709 341.351515 241.631568 340.457788 -Q 243.65657 339.561784 245.033748 339.801266 -Q 246.41264 340.03999 247.007447 341.384276 -z -M 249.23938 348.74546 -Q 248.869902 347.910425 247.860234 347.852788 -Q 246.853039 347.796108 245.201831 348.526719 -Q 243.557481 349.254295 242.920326 350.038552 -Q 242.28393 350.824523 242.653408 351.659558 -Q 243.025921 352.501451 244.03483 352.557373 -Q 245.044498 352.61501 246.688848 351.887434 -Q 248.340057 351.156823 248.974738 350.37161 -Q 249.611893 349.587353 249.23938 348.74546 -z -M 250.096706 348.366119 -Q 250.692271 349.712119 249.941568 350.893126 -Q 249.192579 352.073374 247.167577 352.969378 -Q 245.147718 353.863106 243.768826 353.624382 -Q 242.391648 353.3849 241.796083 352.038899 -Q 241.201276 350.694613 241.950265 349.514365 -Q 242.700968 348.333358 244.720827 347.43963 -Q 246.745829 346.543627 248.123007 346.783109 -Q 249.501899 347.021833 250.096706 348.366119 + <path clip-path="url(#pedd1dac049)" d="M 187.053414 272.070996 +L 187.246348 269.446829 +L 188.044195 269.505488 +L 187.851261 272.129655 +z +M 189.676263 267.892104 +L 189.794383 266.285503 +L 184.246856 265.877638 +L 184.468926 267.651822 +L 183.572907 267.585945 +L 183.35015 265.82111 +L 183.422443 264.837827 +L 189.865989 265.311569 +L 189.984109 263.704968 +L 190.811563 263.765804 +L 190.503717 267.95294 +z +M 189.720339 261.688206 +L 189.795954 260.659732 +L 191.033239 260.7507 +L 190.957624 261.779174 +z +M 183.920502 258.063533 +L 184.204403 254.202081 +L 185.033416 254.263031 +L 184.815735 257.22379 +L 186.596865 257.354742 +Q 186.539321 257.135871 186.519177 256.91975 +Q 186.499146 256.70207 186.514957 256.487025 +Q 186.604435 255.269998 187.323628 254.608451 +Q 188.042936 253.945346 189.182049 254.029096 +Q 190.355444 254.115366 190.953078 254.894096 +Q 191.549154 255.672711 191.451427 257.001936 +Q 191.417744 257.460074 191.304886 257.929625 +Q 191.192142 258.397618 190.999078 258.892607 +L 190.009561 258.819856 +Q 190.280174 258.399504 190.431417 257.940609 +Q 190.582659 257.481713 190.620925 256.961243 +Q 190.682907 256.118206 190.276441 255.594806 +Q 189.870089 255.069847 189.109641 255.013938 +Q 188.350752 254.958143 187.871993 255.418026 +Q 187.39179 255.876237 187.329808 256.719274 +Q 187.300822 257.113522 187.359216 257.512628 +Q 187.417723 257.910176 187.573143 258.332082 +z +M 185.189128 249.673227 +Q 185.133333 250.432116 185.85313 250.870449 +Q 186.571484 251.30711 188.072121 251.417439 +Q 189.566525 251.527311 190.342575 251.200522 +Q 191.11874 250.872174 191.174535 250.113285 +Q 191.230789 249.348163 190.510877 248.911388 +Q 189.79108 248.473054 188.296676 248.363183 +Q 186.796038 248.252853 186.021432 248.581315 +Q 185.245381 248.908104 185.189128 249.673227 +z +M 184.409981 249.615942 +Q 184.499917 248.392681 185.515049 247.818695 +Q 186.528623 247.244594 188.368968 247.379899 +Q 190.204639 247.514861 191.124908 248.231142 +Q 192.043619 248.947309 191.953682 250.17057 +Q 191.86386 251.392272 190.850287 251.966373 +Q 189.835155 252.54036 187.999484 252.405398 +Q 186.159139 252.270092 185.240428 251.553926 +Q 184.320159 250.837645 184.409981 249.615942 +z +M 185.655638 243.328048 +Q 185.599843 244.086937 186.31964 244.525271 +Q 187.037993 244.961931 188.538631 245.072261 +Q 190.033034 245.182132 190.809085 244.855343 +Q 191.58525 244.526996 191.641045 243.768107 +Q 191.697298 243.002984 190.977387 242.566209 +Q 190.257589 242.127876 188.763185 242.018005 +Q 187.262548 241.907675 186.487941 242.236137 +Q 185.711891 242.562926 185.655638 243.328048 +z +M 184.876491 243.270764 +Q 184.966427 242.047503 185.981559 241.473516 +Q 186.995133 240.899415 188.835478 241.034721 +Q 190.671149 241.169683 191.591418 241.885964 +Q 192.510129 242.60213 192.420192 243.825391 +Q 192.33037 245.047094 191.316796 245.621195 +Q 190.301664 246.195181 188.465994 246.060219 +Q 186.625649 245.924913 185.706938 245.208747 +Q 184.786669 244.492466 184.876491 243.270764 z " style="fill:#ffffff;"/> - </g> - <g id="text_15"> - <g id="patch_64"> - <path clip-path="url(#p826a730be7)" d="M 221.968321 103.709955 -L 221.5394 104.908298 -L 222.729578 105.319951 -L 223.919756 105.731604 -L 223.48267 106.912679 -L 223.045583 108.093754 -L 224.235761 108.505407 -L 225.425939 108.91706 -L 224.988853 110.098134 -L 224.551766 111.279209 -L 225.741944 111.690862 -L 226.932122 112.102515 -L 226.495036 113.28359 -L 226.057949 114.464664 -L 227.248127 114.876317 -L 228.438306 115.28797 -L 228.001219 116.469045 -L 227.564132 117.65012 -L 228.754311 118.061772 -L 229.944489 118.473425 -L 229.507402 119.6545 -L 229.070316 120.835575 -L 230.260494 121.247228 -L 231.450672 121.658881 -L 231.013585 122.839955 -L 230.576499 124.02103 -L 231.766677 124.432683 -L 232.956855 124.844336 -L 232.519768 126.025411 -L 232.082682 127.206485 -L 233.27286 127.618138 -L 234.463038 128.029791 -L 234.025952 129.210866 -L 233.588865 130.391941 -L 234.779043 130.803594 -L 235.969221 131.215247 -L 235.532135 132.396321 -L 235.095048 133.577396 -L 236.285226 133.989049 -L 237.475404 134.400702 -L 237.038318 135.581776 -L 236.601231 136.762851 -L 237.791409 137.174504 -L 238.981587 137.586157 -L 238.544501 138.767232 -L 238.107414 139.948306 -L 239.297593 140.359959 -L 240.487771 140.771612 -L 240.050684 141.952687 -L 239.613598 143.133762 -L 240.811941 143.562683 -L 242.010284 143.991605 -L 242.485184 142.771521 -L 242.960084 141.551438 -L 244.204406 141.958619 -L 245.448728 142.3658 -L 245.923628 141.145717 -L 246.398528 139.925634 -L 247.64285 140.332815 -L 248.887172 140.739996 -L 249.362072 139.519913 -L 249.836972 138.29983 -L 251.081294 138.707011 -L 252.325616 139.114192 -L 252.800516 137.894109 -L 253.275416 136.674025 -L 254.519738 137.081207 -L 255.76406 137.488388 -L 256.192982 136.290045 -L 256.621903 135.091702 -L 255.431725 134.680049 -L 254.241547 134.268396 -L 254.678633 133.087321 -L 255.11572 131.906246 -L 253.925542 131.494593 -L 252.735364 131.08294 -L 253.17245 129.901866 -L 253.609537 128.720791 -L 252.419359 128.309138 -L 251.229181 127.897485 -L 251.666267 126.71641 -L 252.103354 125.535336 -L 250.913176 125.123683 -L 249.722997 124.71203 -L 250.160084 123.530955 -L 250.597171 122.34988 -L 249.406992 121.938228 -L 248.216814 121.526575 -L 248.653901 120.3455 -L 249.090987 119.164425 -L 247.900809 118.752772 -L 246.710631 118.341119 -L 247.147718 117.160045 -L 247.584804 115.97897 -L 246.394626 115.567317 -L 245.204448 115.155664 -L 245.641535 113.974589 -L 246.078621 112.793515 -L 244.888443 112.381862 -L 243.698265 111.970209 -L 244.135351 110.789134 -L 244.572438 109.608059 -L 243.38226 109.196406 -L 242.192082 108.784753 -L 242.629168 107.603679 -L 243.066255 106.422604 -L 241.876077 106.010951 -L 240.685899 105.599298 -L 241.122985 104.418224 -L 241.560072 103.237149 -L 240.369894 102.825496 -L 239.179716 102.413843 -L 239.616802 101.232768 -L 240.053889 100.051694 -L 238.863711 99.640041 -L 237.673532 99.228388 -L 238.110619 98.047313 -L 238.547705 96.866238 -L 237.349362 96.437317 -L 236.151019 96.008395 -L 235.676119 97.228479 -L 235.201219 98.448562 -L 233.956897 98.041381 -L 232.712575 97.6342 -L 232.237675 98.854283 -L 231.762775 100.074366 -L 230.518453 99.667185 -L 229.274131 99.260004 -L 228.799231 100.480087 -L 228.324331 101.70017 -L 227.080009 101.292989 -L 225.835687 100.885808 -L 225.360787 102.105891 -L 224.885887 103.325975 -L 223.641565 102.918793 -L 222.397243 102.511612 + </g> + <g id="text_15"> + <g id="patch_65"> + <path clip-path="url(#pedd1dac049)" d="M 194.723667 108.546715 +L 195.509221 107.834041 +L 194.795774 107.064385 +L 194.082327 106.29473 +L 194.867109 105.597955 +L 195.65189 104.901181 +L 194.938443 104.131525 +L 194.224996 103.36187 +L 195.009778 102.665095 +L 195.794559 101.968321 +L 195.081112 101.198665 +L 194.367665 100.42901 +L 195.152446 99.732235 +L 195.937228 99.035461 +L 195.223781 98.265805 +L 194.510334 97.496149 +L 195.295115 96.799375 +L 196.079897 96.102601 +L 195.36645 95.332945 +L 194.653003 94.563289 +L 195.437784 93.866515 +L 196.222565 93.16974 +L 195.509118 92.400085 +L 194.795671 91.630429 +L 195.580453 90.933655 +L 196.365234 90.23688 +L 195.651787 89.467225 +L 194.93834 88.697569 +L 195.723122 88.000795 +L 196.507903 87.30402 +L 195.794456 86.534365 +L 195.081009 85.764709 +L 195.86579 85.067934 +L 196.650572 84.37116 +L 195.937125 83.601504 +L 195.223678 82.831849 +L 196.008459 82.135074 +L 196.793241 81.4383 +L 196.079794 80.668644 +L 195.366347 79.898989 +L 196.151128 79.202214 +L 196.935909 78.50544 +L 196.222462 77.735784 +L 195.509015 76.966129 +L 196.293797 76.269354 +L 197.078578 75.57258 +L 196.365131 74.802924 +L 195.651684 74.033268 +L 196.436466 73.336494 +L 197.221247 72.63972 +L 196.508573 71.854165 +L 195.7959 71.06861 +L 194.968012 71.779224 +L 194.140125 72.489839 +L 193.385118 71.702225 +L 192.630112 70.91461 +L 191.802224 71.625225 +L 190.974337 72.335839 +L 190.21933 71.548225 +L 189.464324 70.760611 +L 188.636437 71.471225 +L 187.808549 72.18184 +L 187.053543 71.394225 +L 186.298536 70.606611 +L 185.470649 71.317226 +L 184.642761 72.02784 +L 183.887755 71.240226 +L 183.132749 70.452612 +L 182.347194 71.165285 +L 181.561639 71.877959 +L 182.275086 72.647615 +L 182.988533 73.41727 +L 182.203751 74.114045 +L 181.41897 74.810819 +L 182.132417 75.580475 +L 182.845864 76.35013 +L 182.061083 77.046905 +L 181.276301 77.743679 +L 181.989748 78.513335 +L 182.703195 79.28299 +L 181.918414 79.979765 +L 181.133633 80.676539 +L 181.84708 81.446195 +L 182.560527 82.215851 +L 181.775745 82.912625 +L 180.990964 83.609399 +L 181.704411 84.379055 +L 182.417858 85.148711 +L 181.633076 85.845485 +L 180.848295 86.54226 +L 181.561742 87.311915 +L 182.275189 88.081571 +L 181.490408 88.778345 +L 180.705626 89.47512 +L 181.419073 90.244775 +L 182.13252 91.014431 +L 181.347739 91.711205 +L 180.562957 92.40798 +L 181.276404 93.177635 +L 181.989851 93.947291 +L 181.20507 94.644066 +L 180.420289 95.34084 +L 181.133736 96.110496 +L 181.847183 96.880151 +L 181.062401 97.576926 +L 180.27762 98.2737 +L 180.991067 99.043356 +L 181.704514 99.813011 +L 180.919732 100.509786 +L 180.134951 101.20656 +L 180.848398 101.976216 +L 181.561845 102.745871 +L 180.777064 103.442646 +L 179.992282 104.13942 +L 180.705729 104.909076 +L 181.419176 105.678732 +L 180.634395 106.375506 +L 179.849613 107.07228 +L 180.562287 107.857835 +L 181.274961 108.64339 +L 182.102848 107.932776 +L 182.930736 107.222161 +L 183.685742 108.009775 +L 184.440748 108.79739 +L 185.268636 108.086775 +L 186.096523 107.376161 +L 186.85153 108.163775 +L 187.606536 108.951389 +L 188.434424 108.240775 +L 189.262311 107.53016 +L 190.017318 108.317775 +L 190.772324 109.105389 +L 191.600212 108.394774 +L 192.428099 107.68416 +L 193.183105 108.471774 +L 193.938112 109.259388 z " style="fill:none;stroke:#0000ff;stroke-linejoin:miter;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 231.475739 102.850329 -L 232.825433 105.704823 -L 231.957559 106.115181 -L 230.607865 103.260687 -z -M 231.206862 108.764792 -L 232.033189 110.512406 -L 238.067629 107.659134 -L 236.786977 105.937601 -L 237.761641 105.47675 -L 239.037484 107.188112 -L 239.543218 108.257699 -L 232.534115 111.571823 -L 233.360442 113.319437 -L 232.460361 113.745024 -L 230.306782 109.190378 -z -M 234.828033 115.269647 -L 235.35701 116.388391 -L 234.011127 117.024767 -L 233.482149 115.906023 -z -M 243.027456 115.626581 -L 245.013526 119.826957 -L 244.11175 120.253345 -L 242.588937 117.032717 -L 240.651475 117.94881 -Q 240.840946 118.143365 240.989735 118.357155 -Q 241.139326 118.57264 241.24993 118.806559 -Q 241.875887 120.130407 241.515874 121.246392 -Q 241.156662 122.364071 239.917567 122.949954 -Q 238.641182 123.553469 237.556749 123.093502 -Q 236.474011 122.632733 235.790348 121.18684 -Q 235.554713 120.68849 235.395014 120.131421 -Q 235.236117 119.576046 235.145143 118.945001 -L 236.221511 118.436061 -Q 236.187381 119.035001 236.300696 119.603633 -Q 236.41401 120.172264 236.681705 120.738416 -Q 237.115306 121.655448 237.849171 121.961773 -Q 238.583839 122.269794 239.411031 121.878671 -Q 240.236529 121.48835 240.46466 120.725088 -Q 240.695288 119.96272 240.261687 119.045688 -Q 240.058912 118.616836 239.762015 118.234562 -Q 239.46592 117.853983 239.054219 117.505252 -z -M 246.662228 125.138574 -Q 246.271907 124.313077 245.26111 124.280801 -Q 244.25281 124.249419 242.62046 125.021245 -Q 240.99489 125.789865 240.377621 126.589868 -Q 239.761153 127.391565 240.151474 128.217063 -Q 240.545001 129.049341 241.554996 129.079922 -Q 242.565793 129.112197 244.191363 128.343577 -Q 245.823713 127.571751 246.438485 126.770855 -Q 247.055755 125.970852 246.662228 125.138574 -z -M 247.509761 124.737834 -Q 248.138924 126.068462 247.4181 127.267939 -Q 246.698972 128.466615 244.697097 129.413164 -Q 242.700308 130.357309 241.315858 130.153271 -Q 239.933103 129.948431 239.30394 128.617803 -Q 238.675579 127.288871 239.394708 126.090194 -Q 240.115532 124.890717 242.112321 123.946572 -Q 244.114196 123.000023 245.49695 123.204863 -Q 246.8814 123.408901 247.509761 124.737834 -z -M 249.925758 132.040677 -Q 249.535437 131.215179 248.52464 131.182903 -Q 247.51634 131.151521 245.88399 131.923347 -Q 244.258421 132.691968 243.641151 133.49197 -Q 243.024683 134.293667 243.415005 135.119165 -Q 243.808532 135.951443 244.818527 135.982024 -Q 245.829323 136.0143 247.454893 135.245679 -Q 249.087243 134.473853 249.702016 133.672957 -Q 250.319285 132.872955 249.925758 132.040677 -z -M 250.773292 131.639936 -Q 251.402454 132.970564 250.681631 134.170042 -Q 249.962502 135.368718 247.960628 136.315267 -Q 245.963838 137.259411 244.579388 137.055373 -Q 243.196633 136.850533 242.567471 135.519906 -Q 241.93911 134.190973 242.658238 132.992297 -Q 243.379062 131.792819 245.375851 130.848675 -Q 247.377726 129.902126 248.760481 130.106965 -Q 250.144931 130.311003 250.773292 131.639936 + </g> + <path clip-path="url(#pedd1dac049)" d="M 187.396822 105.447999 +L 187.524668 102.819857 +L 188.323723 102.858727 +L 188.195877 105.486869 +z +M 189.915309 101.205395 +L 189.99358 99.59636 +L 184.43765 99.326092 +L 184.703617 101.094228 +L 183.806241 101.050575 +L 183.539818 99.291803 +L 183.587722 98.30703 +L 190.041029 98.620951 +L 190.1193 97.011916 +L 190.948008 97.052228 +L 190.744016 101.245707 +z +M 189.805634 95.00231 +L 189.85574 93.972278 +L 191.0949 94.032557 +L 191.044794 95.062589 +z +M 183.917757 91.522474 +L 184.105881 87.655172 +L 184.936149 87.695561 +L 184.791905 90.660804 +L 186.575734 90.747578 +Q 186.512784 90.530201 186.487289 90.314645 +Q 186.461871 90.097528 186.472348 89.882158 +Q 186.531639 88.663287 187.234218 87.984121 +Q 187.936873 87.303395 189.077711 87.358891 +Q 190.252884 87.416057 190.869632 88.179738 +Q 191.48482 88.943343 191.420062 90.274581 +Q 191.397742 90.733413 191.296554 91.205617 +Q 191.195442 91.67626 191.014704 92.175881 +L 190.023688 92.127673 +Q 190.283801 91.700745 190.423626 91.238242 +Q 190.56345 90.77574 190.588807 90.254481 +Q 190.629878 89.410167 190.210566 88.897 +Q 189.791331 88.382273 189.029731 88.345225 +Q 188.269692 88.308253 187.802476 88.779859 +Q 187.333776 89.249828 187.292704 90.094143 +Q 187.273497 90.488988 187.341762 90.886524 +Q 187.410104 91.2825 187.575931 91.700426 +z +M 184.978075 83.103307 +Q 184.941103 83.863345 185.671541 84.283707 +Q 186.400495 84.702432 187.903405 84.775541 +Q 189.400073 84.848346 190.167787 84.502427 +Q 190.935577 84.154946 190.972549 83.394907 +Q 191.009825 82.628626 190.279311 82.209825 +Q 189.548872 81.789463 188.052205 81.716658 +Q 186.549294 81.643549 185.783065 81.991106 +Q 185.015351 82.337025 184.978075 83.103307 +z +M 184.197748 83.065348 +Q 184.257343 81.840234 185.25794 81.241268 +Q 186.256976 80.642226 188.100109 80.731885 +Q 189.93856 80.821316 190.876296 81.514572 +Q 191.812472 82.207753 191.752877 83.432866 +Q 191.693357 84.65642 190.694321 85.255462 +Q 189.693725 85.854427 187.855273 85.764996 +Q 186.01214 85.675337 185.075965 84.982157 +Q 184.138228 84.288901 184.197748 83.065348 +z +M 185.287203 76.748516 +Q 185.250231 77.508555 185.98067 77.928917 +Q 186.709623 78.347642 188.212534 78.420751 +Q 189.709202 78.493556 190.476916 78.147636 +Q 191.244706 77.800156 191.281678 77.040117 +Q 191.318953 76.273836 190.588439 75.855035 +Q 189.858001 75.434673 188.361333 75.361868 +Q 186.858423 75.288759 186.092193 75.636315 +Q 185.324479 75.982235 185.287203 76.748516 +z +M 184.506876 76.710557 +Q 184.566472 75.485443 185.567068 74.886478 +Q 186.566104 74.287436 188.409237 74.377095 +Q 190.247688 74.466526 191.185425 75.159782 +Q 192.121601 75.852962 192.062005 77.078076 +Q 192.002485 78.301629 191.003449 78.900671 +Q 190.002853 79.499637 188.164402 79.410206 +Q 186.321269 79.320547 185.385093 78.627367 +Q 184.447356 77.934111 184.506876 76.710557 z " style="fill:#ffffff;stroke:#000000;stroke-width:3;"/> - <path clip-path="url(#p826a730be7)" d="M 231.475739 102.850329 -L 232.825433 105.704823 -L 231.957559 106.115181 -L 230.607865 103.260687 -z -M 231.206862 108.764792 -L 232.033189 110.512406 -L 238.067629 107.659134 -L 236.786977 105.937601 -L 237.761641 105.47675 -L 239.037484 107.188112 -L 239.543218 108.257699 -L 232.534115 111.571823 -L 233.360442 113.319437 -L 232.460361 113.745024 -L 230.306782 109.190378 -z -M 234.828033 115.269647 -L 235.35701 116.388391 -L 234.011127 117.024767 -L 233.482149 115.906023 -z -M 243.027456 115.626581 -L 245.013526 119.826957 -L 244.11175 120.253345 -L 242.588937 117.032717 -L 240.651475 117.94881 -Q 240.840946 118.143365 240.989735 118.357155 -Q 241.139326 118.57264 241.24993 118.806559 -Q 241.875887 120.130407 241.515874 121.246392 -Q 241.156662 122.364071 239.917567 122.949954 -Q 238.641182 123.553469 237.556749 123.093502 -Q 236.474011 122.632733 235.790348 121.18684 -Q 235.554713 120.68849 235.395014 120.131421 -Q 235.236117 119.576046 235.145143 118.945001 -L 236.221511 118.436061 -Q 236.187381 119.035001 236.300696 119.603633 -Q 236.41401 120.172264 236.681705 120.738416 -Q 237.115306 121.655448 237.849171 121.961773 -Q 238.583839 122.269794 239.411031 121.878671 -Q 240.236529 121.48835 240.46466 120.725088 -Q 240.695288 119.96272 240.261687 119.045688 -Q 240.058912 118.616836 239.762015 118.234562 -Q 239.46592 117.853983 239.054219 117.505252 -z -M 246.662228 125.138574 -Q 246.271907 124.313077 245.26111 124.280801 -Q 244.25281 124.249419 242.62046 125.021245 -Q 240.99489 125.789865 240.377621 126.589868 -Q 239.761153 127.391565 240.151474 128.217063 -Q 240.545001 129.049341 241.554996 129.079922 -Q 242.565793 129.112197 244.191363 128.343577 -Q 245.823713 127.571751 246.438485 126.770855 -Q 247.055755 125.970852 246.662228 125.138574 -z -M 247.509761 124.737834 -Q 248.138924 126.068462 247.4181 127.267939 -Q 246.698972 128.466615 244.697097 129.413164 -Q 242.700308 130.357309 241.315858 130.153271 -Q 239.933103 129.948431 239.30394 128.617803 -Q 238.675579 127.288871 239.394708 126.090194 -Q 240.115532 124.890717 242.112321 123.946572 -Q 244.114196 123.000023 245.49695 123.204863 -Q 246.8814 123.408901 247.509761 124.737834 -z -M 249.925758 132.040677 -Q 249.535437 131.215179 248.52464 131.182903 -Q 247.51634 131.151521 245.88399 131.923347 -Q 244.258421 132.691968 243.641151 133.49197 -Q 243.024683 134.293667 243.415005 135.119165 -Q 243.808532 135.951443 244.818527 135.982024 -Q 245.829323 136.0143 247.454893 135.245679 -Q 249.087243 134.473853 249.702016 133.672957 -Q 250.319285 132.872955 249.925758 132.040677 -z -M 250.773292 131.639936 -Q 251.402454 132.970564 250.681631 134.170042 -Q 249.962502 135.368718 247.960628 136.315267 -Q 245.963838 137.259411 244.579388 137.055373 -Q 243.196633 136.850533 242.567471 135.519906 -Q 241.93911 134.190973 242.658238 132.992297 -Q 243.379062 131.792819 245.375851 130.848675 -Q 247.377726 129.902126 248.760481 130.106965 -Q 250.144931 130.311003 250.773292 131.639936 + <path clip-path="url(#pedd1dac049)" d="M 187.396822 105.447999 +L 187.524668 102.819857 +L 188.323723 102.858727 +L 188.195877 105.486869 +z +M 189.915309 101.205395 +L 189.99358 99.59636 +L 184.43765 99.326092 +L 184.703617 101.094228 +L 183.806241 101.050575 +L 183.539818 99.291803 +L 183.587722 98.30703 +L 190.041029 98.620951 +L 190.1193 97.011916 +L 190.948008 97.052228 +L 190.744016 101.245707 +z +M 189.805634 95.00231 +L 189.85574 93.972278 +L 191.0949 94.032557 +L 191.044794 95.062589 +z +M 183.917757 91.522474 +L 184.105881 87.655172 +L 184.936149 87.695561 +L 184.791905 90.660804 +L 186.575734 90.747578 +Q 186.512784 90.530201 186.487289 90.314645 +Q 186.461871 90.097528 186.472348 89.882158 +Q 186.531639 88.663287 187.234218 87.984121 +Q 187.936873 87.303395 189.077711 87.358891 +Q 190.252884 87.416057 190.869632 88.179738 +Q 191.48482 88.943343 191.420062 90.274581 +Q 191.397742 90.733413 191.296554 91.205617 +Q 191.195442 91.67626 191.014704 92.175881 +L 190.023688 92.127673 +Q 190.283801 91.700745 190.423626 91.238242 +Q 190.56345 90.77574 190.588807 90.254481 +Q 190.629878 89.410167 190.210566 88.897 +Q 189.791331 88.382273 189.029731 88.345225 +Q 188.269692 88.308253 187.802476 88.779859 +Q 187.333776 89.249828 187.292704 90.094143 +Q 187.273497 90.488988 187.341762 90.886524 +Q 187.410104 91.2825 187.575931 91.700426 +z +M 184.978075 83.103307 +Q 184.941103 83.863345 185.671541 84.283707 +Q 186.400495 84.702432 187.903405 84.775541 +Q 189.400073 84.848346 190.167787 84.502427 +Q 190.935577 84.154946 190.972549 83.394907 +Q 191.009825 82.628626 190.279311 82.209825 +Q 189.548872 81.789463 188.052205 81.716658 +Q 186.549294 81.643549 185.783065 81.991106 +Q 185.015351 82.337025 184.978075 83.103307 +z +M 184.197748 83.065348 +Q 184.257343 81.840234 185.25794 81.241268 +Q 186.256976 80.642226 188.100109 80.731885 +Q 189.93856 80.821316 190.876296 81.514572 +Q 191.812472 82.207753 191.752877 83.432866 +Q 191.693357 84.65642 190.694321 85.255462 +Q 189.693725 85.854427 187.855273 85.764996 +Q 186.01214 85.675337 185.075965 84.982157 +Q 184.138228 84.288901 184.197748 83.065348 +z +M 185.287203 76.748516 +Q 185.250231 77.508555 185.98067 77.928917 +Q 186.709623 78.347642 188.212534 78.420751 +Q 189.709202 78.493556 190.476916 78.147636 +Q 191.244706 77.800156 191.281678 77.040117 +Q 191.318953 76.273836 190.588439 75.855035 +Q 189.858001 75.434673 188.361333 75.361868 +Q 186.858423 75.288759 186.092193 75.636315 +Q 185.324479 75.982235 185.287203 76.748516 +z +M 184.506876 76.710557 +Q 184.566472 75.485443 185.567068 74.886478 +Q 186.566104 74.287436 188.409237 74.377095 +Q 190.247688 74.466526 191.185425 75.159782 +Q 192.121601 75.852962 192.062005 77.078076 +Q 192.002485 78.301629 191.003449 78.900671 +Q 190.002853 79.499637 188.164402 79.410206 +Q 186.321269 79.320547 185.385093 78.627367 +Q 184.447356 77.934111 184.506876 76.710557 z " style="fill:#ffffff;"/> - </g> - <g id="text_16"> - <g id="patch_65"> - <path clip-path="url(#p826a730be7)" d="M 499.942781 344.994808 -L 500.896317 344.151737 -L 500.052074 343.217266 -L 499.207831 342.282796 -L 500.160195 341.45879 -L 501.112559 340.634785 -L 500.268316 339.700314 -L 499.424073 338.765843 -L 500.376437 337.941838 -L 501.328801 337.117833 -L 500.484558 336.183362 -L 499.640315 335.248891 -L 500.592679 334.424886 -L 501.545043 333.600881 -L 500.7008 332.66641 -L 499.856557 331.731939 -L 500.808921 330.907934 -L 501.761285 330.083928 -L 500.917042 329.149458 -L 500.072798 328.214987 -L 501.025163 327.390982 -L 501.977527 326.566976 -L 501.133283 325.632506 -L 500.28904 324.698035 -L 501.241404 323.87403 -L 502.193768 323.050024 -L 501.349525 322.115553 -L 500.505282 321.181083 -L 501.457646 320.357077 -L 502.41001 319.533072 -L 501.565767 318.598601 -L 500.721524 317.664131 -L 501.673888 316.840125 -L 502.626252 316.01612 -L 501.782009 315.081649 -L 500.937766 314.147178 -L 501.89013 313.323173 -L 502.842494 312.499168 -L 501.998251 311.564697 -L 501.154008 310.630226 -L 502.106372 309.806221 -L 503.058736 308.982216 -L 502.214493 308.047745 -L 501.370249 307.113274 -L 502.322613 306.289269 -L 503.274978 305.465263 -L 502.430734 304.530793 -L 501.586491 303.596322 -L 502.538855 302.772317 -L 503.491219 301.948311 -L 502.648148 300.994775 -L 501.805078 300.041239 -L 500.800778 300.881188 -L 499.796478 301.721138 -L 498.902644 300.76448 -L 498.008809 299.807823 -L 497.004509 300.647773 -L 496.00021 301.487722 -L 495.106375 300.531065 -L 494.212541 299.574407 -L 493.208241 300.414357 -L 492.203941 301.254307 -L 491.310107 300.297649 -L 490.416272 299.340991 -L 489.411973 300.180941 -L 488.407673 301.020891 -L 487.513838 300.064233 -L 486.620004 299.107576 -L 485.666468 299.950647 -L 484.712931 300.793717 -L 485.557174 301.728188 -L 486.401418 302.662659 -L 485.449054 303.486664 -L 484.496689 304.31067 -L 485.340933 305.24514 -L 486.185176 306.179611 -L 485.232812 307.003616 -L 484.280448 307.827622 -L 485.124691 308.762093 -L 485.968934 309.696563 -L 485.01657 310.520569 -L 484.064206 311.344574 -L 484.908449 312.279045 -L 485.752692 313.213515 -L 484.800328 314.037521 -L 483.847964 314.861526 -L 484.692207 315.795997 -L 485.53645 316.730468 -L 484.584086 317.554473 -L 483.631722 318.378478 -L 484.475965 319.312949 -L 485.320208 320.24742 -L 484.367844 321.071425 -L 483.41548 321.89543 -L 484.259723 322.829901 -L 485.103967 323.764372 -L 484.151603 324.588377 -L 483.199239 325.412382 -L 484.043482 326.346853 -L 484.887725 327.281324 -L 483.935361 328.105329 -L 482.982997 328.929335 -L 483.82724 329.863805 -L 484.671483 330.798276 -L 483.719119 331.622281 -L 482.766755 332.446287 -L 483.610998 333.380758 -L 484.455241 334.315228 -L 483.502877 335.139234 -L 482.550513 335.963239 -L 483.394756 336.89771 -L 484.238999 337.83218 -L 483.286635 338.656186 -L 482.334271 339.480191 -L 483.178514 340.414662 -L 484.022757 341.349133 -L 483.070393 342.173138 -L 482.118029 342.997143 -L 482.9611 343.95068 -L 483.804171 344.904216 -L 484.808471 344.064266 -L 485.812771 343.224317 -L 486.706605 344.180974 -L 487.60044 345.137632 -L 488.604739 344.297682 -L 489.609039 343.457732 -L 490.502874 344.41439 -L 491.396708 345.371047 -L 492.401008 344.531098 -L 493.405308 343.691148 -L 494.299142 344.647806 -L 495.192976 345.604463 -L 496.197276 344.764513 -L 497.201576 343.924564 -L 498.09541 344.881221 -L 498.989245 345.837879 + </g> + <g id="text_16"> + <g id="patch_66"> + <path clip-path="url(#pedd1dac049)" d="M 400.204577 275.276462 +L 400.998726 274.573377 +L 400.294675 273.795117 +L 399.590624 273.016857 +L 400.383806 272.329661 +L 401.176988 271.642465 +L 400.472938 270.864205 +L 399.768887 270.085945 +L 400.562069 269.398749 +L 401.355251 268.711553 +L 400.6512 267.933293 +L 399.94715 267.155033 +L 400.740332 266.467837 +L 401.533514 265.780641 +L 400.829463 265.002381 +L 400.125412 264.224121 +L 400.918595 263.536925 +L 401.711777 262.849729 +L 401.007726 262.071469 +L 400.303675 261.293209 +L 401.096858 260.606013 +L 401.89004 259.918817 +L 401.185989 259.140557 +L 400.481938 258.362297 +L 401.27512 257.675101 +L 402.068303 256.987905 +L 401.364252 256.209645 +L 400.660201 255.431385 +L 401.453383 254.744189 +L 402.246566 254.056993 +L 401.542515 253.278733 +L 400.838464 252.500473 +L 401.631646 251.813277 +L 402.424828 251.126081 +L 401.720777 250.347821 +L 401.016727 249.569561 +L 401.809909 248.882365 +L 402.603091 248.195169 +L 401.89904 247.416909 +L 401.194989 246.638649 +L 401.988172 245.951453 +L 402.781354 245.264257 +L 402.077303 244.485997 +L 401.373252 243.707737 +L 402.166435 243.020541 +L 402.959617 242.333345 +L 402.255566 241.555085 +L 401.551515 240.776825 +L 402.344697 240.089629 +L 403.13788 239.402433 +L 402.434795 238.608284 +L 401.731711 237.814136 +L 400.895257 238.514647 +L 400.058804 239.215159 +L 399.313415 238.418437 +L 398.568026 237.621715 +L 397.731572 238.322227 +L 396.895119 239.022738 +L 396.14973 238.226016 +L 395.404341 237.429295 +L 394.567887 238.129806 +L 393.731434 238.830318 +L 392.986045 238.033596 +L 392.240656 237.236874 +L 391.404202 237.937386 +L 390.567749 238.637897 +L 389.82236 237.841175 +L 389.076971 237.044454 +L 388.282822 237.747538 +L 387.488673 238.450623 +L 388.192724 239.228883 +L 388.896775 240.007143 +L 388.103593 240.694339 +L 387.31041 241.381535 +L 388.014461 242.159795 +L 388.718512 242.938055 +L 387.92533 243.625251 +L 387.132148 244.312447 +L 387.836199 245.090707 +L 388.540249 245.868967 +L 387.747067 246.556163 +L 386.953885 247.243359 +L 387.657936 248.021619 +L 388.361987 248.799879 +L 387.568804 249.487075 +L 386.775622 250.174271 +L 387.479673 250.952531 +L 388.183724 251.730791 +L 387.390541 252.417987 +L 386.597359 253.105183 +L 387.30141 253.883443 +L 388.005461 254.661703 +L 387.212279 255.348899 +L 386.419096 256.036095 +L 387.123147 256.814355 +L 387.827198 257.592615 +L 387.034016 258.279811 +L 386.240833 258.967007 +L 386.944884 259.745267 +L 387.648935 260.523527 +L 386.855753 261.210723 +L 386.062571 261.897919 +L 386.766622 262.676179 +L 387.470672 263.454439 +L 386.67749 264.141635 +L 385.884308 264.828831 +L 386.588359 265.607091 +L 387.29241 266.385351 +L 386.499227 267.072547 +L 385.706045 267.759743 +L 386.410096 268.538003 +L 387.114147 269.316263 +L 386.320964 270.003459 +L 385.527782 270.690655 +L 386.231833 271.468915 +L 386.935884 272.247175 +L 386.142702 272.934371 +L 385.349519 273.621567 +L 386.052604 274.415716 +L 386.755688 275.209864 +L 387.592142 274.509353 +L 388.428595 273.808841 +L 389.173984 274.605563 +L 389.919373 275.402285 +L 390.755827 274.701773 +L 391.59228 274.001262 +L 392.337669 274.797984 +L 393.083058 275.594705 +L 393.919512 274.894194 +L 394.755965 274.193682 +L 395.501354 274.990404 +L 396.246743 275.787126 +L 397.083197 275.086614 +L 397.91965 274.386103 +L 398.665039 275.182825 +L 399.410428 275.979546 z " style="fill:none;stroke:#0000ff;stroke-linejoin:miter;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 491.198889 341.164103 -L 491.392664 338.012554 -L 492.350854 338.071469 -L 492.157079 341.223017 -z -M 494.285999 336.112082 -L 494.404634 334.182601 -L 487.742216 333.772958 -L 488.034189 335.898633 -L 486.958096 335.832469 -L 486.665432 333.718023 -L 486.73804 332.537128 -L 494.476552 333.012934 -L 494.595187 331.083453 -L 495.588935 331.144554 -L 495.279747 336.173183 -z -M 494.249689 328.667305 -L 494.325634 327.432138 -L 495.811578 327.523502 -L 495.735633 328.758669 -z -M 488.171337 321.935888 -Q 488.115299 322.847291 488.985295 323.362905 -Q 489.853536 323.876532 491.655757 323.987342 -Q 493.450493 324.097693 494.376988 323.694416 -Q 495.303599 323.289268 495.359637 322.377864 -Q 495.416135 321.458975 494.546024 320.945233 -Q 493.676027 320.42962 491.881291 320.319269 -Q 490.079069 320.208459 489.154331 320.613721 -Q 488.227835 321.016998 488.171337 321.935888 -z -M 487.235604 321.878354 -Q 487.325932 320.409253 488.535751 319.705923 -Q 489.743698 319.002479 491.953899 319.138374 -Q 494.158486 319.273925 495.273028 320.120169 -Q 496.385698 320.966298 496.29537 322.435398 -Q 496.205156 323.902628 494.997209 324.606072 -Q 493.787391 325.309402 491.582804 325.173852 -Q 489.372603 325.037956 488.259932 324.191827 -Q 487.14539 323.345583 487.235604 321.878354 -z -M 488.63988 314.315513 -Q 488.583842 315.226917 489.453839 315.74253 -Q 490.322079 316.256157 492.124301 316.366967 -Q 493.919036 316.477318 494.845532 316.074041 -Q 495.772142 315.668893 495.82818 314.75749 -Q 495.884679 313.8386 495.014567 313.324858 -Q 494.14457 312.809245 492.349834 312.698894 -Q 490.547613 312.588084 489.622874 312.993347 -Q 488.696378 313.396623 488.63988 314.315513 -z -M 487.704147 314.257979 -Q 487.794475 312.788878 489.004294 312.085548 -Q 490.212241 311.382104 492.422442 311.517999 -Q 494.627029 311.65355 495.741571 312.499794 -Q 496.854242 313.345923 496.763913 314.815024 -Q 496.6737 316.282253 495.465753 316.985697 -Q 494.255934 317.689027 492.051347 317.553477 -Q 489.841146 317.417581 488.728476 316.571452 -Q 487.613934 315.725208 487.704147 314.257979 -z -M 489.108423 306.695138 -Q 489.052385 307.606542 489.922382 308.122155 -Q 490.790622 308.635782 492.592844 308.746592 -Q 494.387579 308.856943 495.314075 308.453666 -Q 496.240685 308.048518 496.296723 307.137115 -Q 496.353222 306.218225 495.48311 305.704483 -Q 494.613113 305.18887 492.818377 305.078519 -Q 491.016156 304.967709 490.091417 305.372972 -Q 489.164922 305.776248 489.108423 306.695138 -z -M 488.17269 306.637604 -Q 488.263019 305.168503 489.472837 304.465174 -Q 490.680784 303.761729 492.890985 303.897624 -Q 495.095572 304.033175 496.210114 304.879419 -Q 497.322785 305.725548 497.232456 307.194649 -Q 497.142243 308.661878 495.934296 309.365322 -Q 494.724477 310.068652 492.51989 309.933102 -Q 490.309689 309.797206 489.197019 308.951077 -Q 488.082477 308.104833 488.17269 306.637604 + </g> + <path clip-path="url(#pedd1dac049)" d="M 392.91589 272.089028 +L 393.075632 269.462631 +L 393.874156 269.511199 +L 393.714415 272.137595 +z +M 395.485696 267.87731 +L 395.583495 266.269344 +L 390.031256 265.931647 +L 390.275738 267.702882 +L 389.378958 267.648338 +L 389.133906 265.886461 +L 389.193762 264.902343 +L 395.642782 265.294582 +L 395.740581 263.686616 +L 396.568738 263.736986 +L 396.313853 267.92768 +z +M 395.451334 261.673351 +L 395.513941 260.644003 +L 396.752278 260.71932 +L 396.689671 261.748668 +z +M 390.382331 256.067188 +Q 390.336135 256.826722 391.061417 257.25592 +Q 391.785233 257.683463 393.287145 257.774812 +Q 394.782819 257.865781 395.554676 257.529207 +Q 396.326628 257.191073 396.372824 256.431539 +Q 396.419399 255.665767 395.694023 255.238128 +Q 394.968742 254.80893 393.473068 254.717961 +Q 391.971156 254.626612 391.200764 254.964841 +Q 390.428907 255.301415 390.382331 256.067188 +z +M 389.602522 256.019758 +Q 389.676986 254.795458 390.684781 254.208684 +Q 391.691015 253.621814 393.532924 253.733842 +Q 395.370154 253.845585 396.299405 254.550174 +Q 397.227097 255.254668 397.152633 256.478968 +Q 397.078264 257.701709 396.072029 258.288579 +Q 395.064235 258.875353 393.227005 258.76361 +Q 391.385096 258.651582 390.457405 257.947088 +Q 389.528153 257.242499 389.602522 256.019758 +z +M 390.768583 249.716618 +Q 390.722387 250.476152 391.447669 250.90535 +Q 392.171485 251.332894 393.673397 251.424243 +Q 395.169071 251.515212 395.940928 251.178638 +Q 396.71288 250.840504 396.759076 250.08097 +Q 396.805651 249.315198 396.080275 248.887559 +Q 395.354994 248.458361 393.85932 248.367392 +Q 392.357408 248.276043 391.587016 248.614272 +Q 390.815159 248.950846 390.768583 249.716618 +z +M 389.988774 249.669189 +Q 390.063238 248.444889 391.071033 247.858114 +Q 392.077267 247.271245 393.919176 247.383273 +Q 395.756406 247.495016 396.685657 248.199605 +Q 397.613349 248.904099 397.538885 250.128399 +Q 397.464516 251.35114 396.458281 251.938009 +Q 395.450487 252.524784 393.613257 252.413041 +Q 391.771348 252.301013 390.843657 251.596519 +Q 389.914405 250.89193 389.988774 249.669189 +z +M 391.154835 243.366049 +Q 391.108639 244.125583 391.833921 244.554781 +Q 392.557737 244.982325 394.059649 245.073674 +Q 395.555323 245.164643 396.32718 244.828069 +Q 397.099132 244.489935 397.145328 243.730401 +Q 397.191903 242.964628 396.466527 242.53699 +Q 395.741246 242.107792 394.245572 242.016822 +Q 392.74366 241.925474 391.973268 242.263702 +Q 391.201411 242.600277 391.154835 243.366049 +z +M 390.375026 243.31862 +Q 390.44949 242.09432 391.457284 241.507545 +Q 392.463519 240.920676 394.305428 241.032703 +Q 396.142658 241.144447 397.071909 241.849036 +Q 397.999601 242.55353 397.925137 243.77783 +Q 397.850768 245.00057 396.844533 245.58744 +Q 395.836739 246.174215 393.999509 246.062471 +Q 392.1576 245.950443 391.229909 245.245949 +Q 390.300657 244.54136 390.375026 243.31862 z " style="fill:#ffffff;stroke:#000000;stroke-width:3;"/> - <path clip-path="url(#p826a730be7)" d="M 491.198889 341.164103 -L 491.392664 338.012554 -L 492.350854 338.071469 -L 492.157079 341.223017 -z -M 494.285999 336.112082 -L 494.404634 334.182601 -L 487.742216 333.772958 -L 488.034189 335.898633 -L 486.958096 335.832469 -L 486.665432 333.718023 -L 486.73804 332.537128 -L 494.476552 333.012934 -L 494.595187 331.083453 -L 495.588935 331.144554 -L 495.279747 336.173183 -z -M 494.249689 328.667305 -L 494.325634 327.432138 -L 495.811578 327.523502 -L 495.735633 328.758669 -z -M 488.171337 321.935888 -Q 488.115299 322.847291 488.985295 323.362905 -Q 489.853536 323.876532 491.655757 323.987342 -Q 493.450493 324.097693 494.376988 323.694416 -Q 495.303599 323.289268 495.359637 322.377864 -Q 495.416135 321.458975 494.546024 320.945233 -Q 493.676027 320.42962 491.881291 320.319269 -Q 490.079069 320.208459 489.154331 320.613721 -Q 488.227835 321.016998 488.171337 321.935888 -z -M 487.235604 321.878354 -Q 487.325932 320.409253 488.535751 319.705923 -Q 489.743698 319.002479 491.953899 319.138374 -Q 494.158486 319.273925 495.273028 320.120169 -Q 496.385698 320.966298 496.29537 322.435398 -Q 496.205156 323.902628 494.997209 324.606072 -Q 493.787391 325.309402 491.582804 325.173852 -Q 489.372603 325.037956 488.259932 324.191827 -Q 487.14539 323.345583 487.235604 321.878354 -z -M 488.63988 314.315513 -Q 488.583842 315.226917 489.453839 315.74253 -Q 490.322079 316.256157 492.124301 316.366967 -Q 493.919036 316.477318 494.845532 316.074041 -Q 495.772142 315.668893 495.82818 314.75749 -Q 495.884679 313.8386 495.014567 313.324858 -Q 494.14457 312.809245 492.349834 312.698894 -Q 490.547613 312.588084 489.622874 312.993347 -Q 488.696378 313.396623 488.63988 314.315513 -z -M 487.704147 314.257979 -Q 487.794475 312.788878 489.004294 312.085548 -Q 490.212241 311.382104 492.422442 311.517999 -Q 494.627029 311.65355 495.741571 312.499794 -Q 496.854242 313.345923 496.763913 314.815024 -Q 496.6737 316.282253 495.465753 316.985697 -Q 494.255934 317.689027 492.051347 317.553477 -Q 489.841146 317.417581 488.728476 316.571452 -Q 487.613934 315.725208 487.704147 314.257979 -z -M 489.108423 306.695138 -Q 489.052385 307.606542 489.922382 308.122155 -Q 490.790622 308.635782 492.592844 308.746592 -Q 494.387579 308.856943 495.314075 308.453666 -Q 496.240685 308.048518 496.296723 307.137115 -Q 496.353222 306.218225 495.48311 305.704483 -Q 494.613113 305.18887 492.818377 305.078519 -Q 491.016156 304.967709 490.091417 305.372972 -Q 489.164922 305.776248 489.108423 306.695138 -z -M 488.17269 306.637604 -Q 488.263019 305.168503 489.472837 304.465174 -Q 490.680784 303.761729 492.890985 303.897624 -Q 495.095572 304.033175 496.210114 304.879419 -Q 497.322785 305.725548 497.232456 307.194649 -Q 497.142243 308.661878 495.934296 309.365322 -Q 494.724477 310.068652 492.51989 309.933102 -Q 490.309689 309.797206 489.197019 308.951077 -Q 488.082477 308.104833 488.17269 306.637604 + <path clip-path="url(#pedd1dac049)" d="M 392.91589 272.089028 +L 393.075632 269.462631 +L 393.874156 269.511199 +L 393.714415 272.137595 +z +M 395.485696 267.87731 +L 395.583495 266.269344 +L 390.031256 265.931647 +L 390.275738 267.702882 +L 389.378958 267.648338 +L 389.133906 265.886461 +L 389.193762 264.902343 +L 395.642782 265.294582 +L 395.740581 263.686616 +L 396.568738 263.736986 +L 396.313853 267.92768 +z +M 395.451334 261.673351 +L 395.513941 260.644003 +L 396.752278 260.71932 +L 396.689671 261.748668 +z +M 390.382331 256.067188 +Q 390.336135 256.826722 391.061417 257.25592 +Q 391.785233 257.683463 393.287145 257.774812 +Q 394.782819 257.865781 395.554676 257.529207 +Q 396.326628 257.191073 396.372824 256.431539 +Q 396.419399 255.665767 395.694023 255.238128 +Q 394.968742 254.80893 393.473068 254.717961 +Q 391.971156 254.626612 391.200764 254.964841 +Q 390.428907 255.301415 390.382331 256.067188 +z +M 389.602522 256.019758 +Q 389.676986 254.795458 390.684781 254.208684 +Q 391.691015 253.621814 393.532924 253.733842 +Q 395.370154 253.845585 396.299405 254.550174 +Q 397.227097 255.254668 397.152633 256.478968 +Q 397.078264 257.701709 396.072029 258.288579 +Q 395.064235 258.875353 393.227005 258.76361 +Q 391.385096 258.651582 390.457405 257.947088 +Q 389.528153 257.242499 389.602522 256.019758 +z +M 390.768583 249.716618 +Q 390.722387 250.476152 391.447669 250.90535 +Q 392.171485 251.332894 393.673397 251.424243 +Q 395.169071 251.515212 395.940928 251.178638 +Q 396.71288 250.840504 396.759076 250.08097 +Q 396.805651 249.315198 396.080275 248.887559 +Q 395.354994 248.458361 393.85932 248.367392 +Q 392.357408 248.276043 391.587016 248.614272 +Q 390.815159 248.950846 390.768583 249.716618 +z +M 389.988774 249.669189 +Q 390.063238 248.444889 391.071033 247.858114 +Q 392.077267 247.271245 393.919176 247.383273 +Q 395.756406 247.495016 396.685657 248.199605 +Q 397.613349 248.904099 397.538885 250.128399 +Q 397.464516 251.35114 396.458281 251.938009 +Q 395.450487 252.524784 393.613257 252.413041 +Q 391.771348 252.301013 390.843657 251.596519 +Q 389.914405 250.89193 389.988774 249.669189 +z +M 391.154835 243.366049 +Q 391.108639 244.125583 391.833921 244.554781 +Q 392.557737 244.982325 394.059649 245.073674 +Q 395.555323 245.164643 396.32718 244.828069 +Q 397.099132 244.489935 397.145328 243.730401 +Q 397.191903 242.964628 396.466527 242.53699 +Q 395.741246 242.107792 394.245572 242.016822 +Q 392.74366 241.925474 391.973268 242.263702 +Q 391.201411 242.600277 391.154835 243.366049 +z +M 390.375026 243.31862 +Q 390.44949 242.09432 391.457284 241.507545 +Q 392.463519 240.920676 394.305428 241.032703 +Q 396.142658 241.144447 397.071909 241.849036 +Q 397.999601 242.55353 397.925137 243.77783 +Q 397.850768 245.00057 396.844533 245.58744 +Q 395.836739 246.174215 393.999509 246.062471 +Q 392.1576 245.950443 391.229909 245.245949 +Q 390.300657 244.54136 390.375026 243.31862 z " style="fill:#ffffff;"/> - </g> - <g id="text_17"> - <g id="patch_66"> - <path clip-path="url(#p826a730be7)" d="M 500.363012 128.405215 -L 501.298819 127.542508 -L 500.435336 126.625786 -L 499.571852 125.709064 -L 500.506884 124.865443 -L 501.441916 124.021821 -L 500.578432 123.105099 -L 499.714949 122.188377 -L 500.649981 121.344756 -L 501.585012 120.501134 -L 500.721529 119.584412 -L 499.858046 118.667691 -L 500.793077 117.824069 -L 501.728109 116.980447 -L 500.864626 116.063725 -L 500.001142 115.147004 -L 500.936174 114.303382 -L 501.871206 113.45976 -L 501.007722 112.543038 -L 500.144239 111.626317 -L 501.079271 110.782695 -L 502.014302 109.939073 -L 501.150819 109.022351 -L 500.287336 108.10563 -L 501.222367 107.262008 -L 502.157399 106.418386 -L 501.293916 105.501665 -L 500.430432 104.584943 -L 501.365464 103.741321 -L 502.300496 102.897699 -L 501.437012 101.980978 -L 500.573529 101.064256 -L 501.508561 100.220634 -L 502.443592 99.377012 -L 501.580109 98.460291 -L 500.716626 97.543569 -L 501.651657 96.699947 -L 502.586689 95.856325 -L 501.723206 94.939604 -L 500.859722 94.022882 -L 501.794754 93.17926 -L 502.729786 92.335639 -L 501.866302 91.418917 -L 501.002819 90.502195 -L 501.937851 89.658573 -L 502.872882 88.814952 -L 502.009399 87.89823 -L 501.145915 86.981508 -L 502.080947 86.137887 -L 503.015979 85.294265 -L 502.153271 84.358457 -L 501.290564 83.42265 -L 500.303939 84.283292 -L 499.317314 85.143934 -L 498.403789 84.206061 -L 497.490264 83.268189 -L 496.503639 84.128831 -L 495.517014 84.989473 -L 494.603489 84.0516 -L 493.689964 83.113727 -L 492.703339 83.974369 -L 491.716714 84.835012 -L 490.803189 83.897139 -L 489.889664 82.959266 -L 488.903039 83.819908 -L 487.916415 84.68055 -L 487.002889 83.742677 -L 486.089364 82.804804 -L 485.153557 83.667512 -L 484.21775 84.53022 -L 485.081233 85.446941 -L 485.944716 86.363663 -L 485.009685 87.207285 -L 484.074653 88.050907 -L 484.938136 88.967628 -L 485.80162 89.88435 -L 484.866588 90.727972 -L 483.931556 91.571593 -L 484.79504 92.488315 -L 485.658523 93.405037 -L 484.723491 94.248659 -L 483.78846 95.09228 -L 484.651943 96.009002 -L 485.515426 96.925724 -L 484.580395 97.769345 -L 483.645363 98.612967 -L 484.508846 99.529689 -L 485.37233 100.446411 -L 484.437298 101.290032 -L 483.502266 102.133654 -L 484.36575 103.050376 -L 485.229233 103.967097 -L 484.294201 104.810719 -L 483.35917 105.654341 -L 484.222653 106.571063 -L 485.086136 107.487784 -L 484.151105 108.331406 -L 483.216073 109.175028 -L 484.079556 110.09175 -L 484.94304 111.008471 -L 484.008008 111.852093 -L 483.072976 112.695715 -L 483.93646 113.612437 -L 484.799943 114.529158 -L 483.864911 115.37278 -L 482.92988 116.216402 -L 483.793363 117.133123 -L 484.656847 118.049845 -L 483.721815 118.893467 -L 482.786783 119.737089 -L 483.650267 120.65381 -L 484.51375 121.570532 -L 483.578718 122.414154 -L 482.643687 123.257776 -L 483.50717 124.174497 -L 484.370653 125.091219 -L 483.435622 125.934841 -L 482.50059 126.778463 -L 483.363298 127.71427 -L 484.226005 128.650077 -L 485.21263 127.789435 -L 486.199255 126.928793 -L 487.11278 127.866666 -L 488.026305 128.804539 -L 489.01293 127.943897 -L 489.999555 127.083254 -L 490.91308 128.021127 -L 491.826605 128.959 -L 492.81323 128.098358 -L 493.799854 127.237716 -L 494.713379 128.175589 -L 495.626905 129.113461 -L 496.613529 128.252819 -L 497.600154 127.392177 -L 498.513679 128.33005 -L 499.427204 129.267923 + </g> + <g id="text_17"> + <g id="patch_67"> + <path clip-path="url(#pedd1dac049)" d="M 400.553653 108.493391 +L 401.333116 107.77406 +L 400.613147 107.010502 +L 399.893178 106.246944 +L 400.672003 105.543518 +L 401.450828 104.840092 +L 400.730859 104.076534 +L 400.01089 103.312976 +L 400.789715 102.60955 +L 401.56854 101.906125 +L 400.848571 101.142567 +L 400.128602 100.379009 +L 400.907427 99.675583 +L 401.686252 98.972157 +L 400.966283 98.208599 +L 400.246314 97.445041 +L 401.025139 96.741615 +L 401.803964 96.038189 +L 401.083995 95.274631 +L 400.364026 94.511073 +L 401.142851 93.807647 +L 401.921676 93.104221 +L 401.201707 92.340663 +L 400.481738 91.577105 +L 401.260563 90.87368 +L 402.039389 90.170254 +L 401.319419 89.406696 +L 400.59945 88.643138 +L 401.378275 87.939712 +L 402.157101 87.236286 +L 401.437131 86.472728 +L 400.717162 85.70917 +L 401.495987 85.005744 +L 402.274813 84.302318 +L 401.554843 83.53876 +L 400.834874 82.775202 +L 401.6137 82.071776 +L 402.392525 81.36835 +L 401.672556 80.604792 +L 400.952586 79.841234 +L 401.731412 79.137809 +L 402.510237 78.434383 +L 401.790268 77.670825 +L 401.070298 76.907267 +L 401.849124 76.203841 +L 402.627949 75.500415 +L 401.90798 74.736857 +L 401.18801 73.973299 +L 401.966836 73.269873 +L 402.745661 72.566447 +L 402.02633 71.786984 +L 401.306999 71.007521 +L 400.485187 71.725153 +L 399.663375 72.442785 +L 398.901695 71.661622 +L 398.140015 70.88046 +L 397.318203 71.598092 +L 396.496391 72.315724 +L 395.734712 71.534562 +L 394.973032 70.753399 +L 394.15122 71.471031 +L 393.329408 72.188663 +L 392.567728 71.407501 +L 391.806049 70.626339 +L 390.984237 71.343971 +L 390.162425 72.061602 +L 389.400745 71.28044 +L 388.639065 70.499278 +L 387.859602 71.218609 +L 387.080139 71.93794 +L 387.800108 72.701498 +L 388.520077 73.465056 +L 387.741252 74.168482 +L 386.962427 74.871908 +L 387.682396 75.635466 +L 388.402365 76.399024 +L 387.62354 77.10245 +L 386.844715 77.805875 +L 387.564684 78.569433 +L 388.284653 79.332991 +L 387.505828 80.036417 +L 386.727003 80.739843 +L 387.446972 81.503401 +L 388.166941 82.266959 +L 387.388116 82.970385 +L 386.609291 83.673811 +L 387.32926 84.437369 +L 388.049229 85.200927 +L 387.270404 85.904353 +L 386.491578 86.607779 +L 387.211548 87.371337 +L 387.931517 88.134895 +L 387.152692 88.83832 +L 386.373866 89.541746 +L 387.093836 90.305304 +L 387.813805 91.068862 +L 387.03498 91.772288 +L 386.256154 92.475714 +L 386.976124 93.239272 +L 387.696093 94.00283 +L 386.917268 94.706256 +L 386.138442 95.409682 +L 386.858411 96.17324 +L 387.578381 96.936798 +L 386.799555 97.640224 +L 386.02073 98.34365 +L 386.740699 99.107208 +L 387.460669 99.870766 +L 386.681843 100.574191 +L 385.903018 101.277617 +L 386.622987 102.041175 +L 387.342957 102.804733 +L 386.564131 103.508159 +L 385.785306 104.211585 +L 386.505275 104.975143 +L 387.225244 105.738701 +L 386.446419 106.442127 +L 385.667594 107.145553 +L 386.386925 107.925016 +L 387.106256 108.704479 +L 387.928068 107.986847 +L 388.74988 107.269215 +L 389.51156 108.050378 +L 390.27324 108.83154 +L 391.095052 108.113908 +L 391.916864 107.396276 +L 392.678543 108.177438 +L 393.440223 108.958601 +L 394.262035 108.240969 +L 395.083847 107.523337 +L 395.845527 108.304499 +L 396.607206 109.085661 +L 397.429018 108.368029 +L 398.25083 107.650398 +L 399.01251 108.43156 +L 399.77419 109.212722 z " style="fill:none;stroke:#0000ff;stroke-linejoin:miter;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 491.541389 124.757076 -L 491.669618 121.602181 -L 492.628826 121.641167 -L 492.500597 124.796062 -z -M 494.522827 119.641982 -L 494.601334 117.710452 -L 487.93184 117.439373 -L 488.267932 119.558521 -L 487.190696 119.514737 -L 486.854148 117.40683 -L 486.902196 116.224681 -L 494.648925 116.539544 -L 494.727431 114.608013 -L 495.722234 114.648447 -L 495.517631 119.682415 -z -M 494.331789 112.199568 -L 494.382045 110.963089 -L 495.869567 111.023549 -L 495.81931 112.260028 -z -M 488.11484 105.595941 -Q 488.077757 106.508313 488.958282 107.005732 -Q 489.837011 107.501202 491.641146 107.57453 -Q 493.437788 107.647554 494.355701 107.225108 -Q 495.27369 106.800788 495.310773 105.888416 -Q 495.348161 104.968551 494.467559 104.473005 -Q 493.587033 103.975586 491.790392 103.902562 -Q 489.986256 103.829234 489.07014 104.253629 -Q 488.152227 104.676076 488.11484 105.595941 -z -M 487.178113 105.557868 -Q 487.237887 104.087207 488.432826 103.358884 -Q 489.625891 102.630485 491.83844 102.720413 -Q 494.045367 102.810112 495.177258 103.633008 -Q 496.307274 104.455828 496.2475 105.926489 -Q 496.187802 107.395276 494.994737 108.123676 -Q 493.799798 108.851999 491.59287 108.762299 -Q 489.380322 108.672371 488.250305 107.849552 -Q 487.118415 107.026656 487.178113 105.557868 -z -M 488.424895 97.967474 -Q 488.387812 98.879846 489.268338 99.377265 -Q 490.147066 99.872735 491.951202 99.946063 -Q 493.747843 100.019087 494.665757 99.59664 -Q 495.583746 99.172321 495.620829 98.259949 -Q 495.658216 97.340084 494.777614 96.844538 -Q 493.897089 96.347118 492.100447 96.274095 -Q 490.296312 96.200766 489.380196 96.625162 -Q 488.462283 97.047608 488.424895 97.967474 -z -M 487.488168 97.929401 -Q 487.547943 96.45874 488.742882 95.730417 -Q 489.935947 95.002018 492.148495 95.091946 -Q 494.355423 95.181645 495.487313 96.004541 -Q 496.61733 96.827361 496.557555 98.298022 -Q 496.497857 99.766809 495.304792 100.495209 -Q 494.109853 101.223532 491.902925 101.133832 -Q 489.690377 101.043904 488.56036 100.221084 -Q 487.42847 99.398188 487.488168 97.929401 -z -M 488.73495 90.339007 -Q 488.697868 91.251378 489.578393 91.748798 -Q 490.457122 92.244267 492.261257 92.317596 -Q 494.057899 92.390619 494.975812 91.968173 -Q 495.893801 91.543854 495.930884 90.631482 -Q 495.968272 89.711616 495.08767 89.21607 -Q 494.207144 88.718651 492.410503 88.645627 -Q 490.606367 88.572299 489.690251 88.996695 -Q 488.772338 89.419141 488.73495 90.339007 -z -M 487.798224 90.300934 -Q 487.857998 88.830273 489.052937 88.10195 -Q 490.246002 87.373551 492.45855 87.463479 -Q 494.665478 87.553178 495.797368 88.376074 -Q 496.927385 89.198894 496.867611 90.669555 -Q 496.807913 92.138342 495.614847 92.866741 -Q 494.419909 93.595065 492.212981 93.505365 -Q 490.000433 93.415437 488.870416 92.592617 -Q 487.738526 91.769721 487.798224 90.300934 + </g> + <path clip-path="url(#pedd1dac049)" d="M 393.200711 105.457122 +L 393.306193 102.827987 +L 394.10555 102.860058 +L 394.000068 105.489192 +z +M 395.683012 101.193244 +L 395.747592 99.583602 +L 390.189563 99.360611 +L 390.470564 101.126421 +L 389.572848 101.090404 +L 389.291472 99.333962 +L 389.330997 98.348817 +L 395.786741 98.607824 +L 395.85132 96.998182 +L 396.680341 97.031442 +L 396.512033 101.226505 +z +M 395.520568 94.991317 +L 395.561909 93.960896 +L 396.801537 94.010631 +L 396.760196 95.041052 +z +M 390.336899 89.491006 +Q 390.306394 90.251332 391.040382 90.665464 +Q 391.772872 91.077972 393.27635 91.138292 +Q 394.773583 91.198362 395.538326 90.845923 +Q 396.303132 90.491923 396.333637 89.731598 +Q 396.364392 88.965027 395.630341 88.552456 +Q 394.896353 88.138324 393.39912 88.078254 +Q 391.895642 88.017934 391.132397 88.371996 +Q 390.367654 88.724435 390.336899 89.491006 +z +M 389.556277 89.459687 +Q 389.605447 88.234111 390.600912 87.626654 +Q 391.594815 87.019134 393.438644 87.093109 +Q 395.27779 87.166896 396.22139 87.85215 +Q 397.163429 88.53734 397.114259 89.762916 +Q 397.065151 90.986932 396.071248 91.594451 +Q 395.075783 92.201908 393.236638 92.128121 +Q 391.392808 92.054146 390.450769 91.368955 +Q 389.507169 90.683702 389.556277 89.459687 +z +M 390.591952 83.133816 +Q 390.561447 83.894141 391.295436 84.308274 +Q 392.027925 84.720782 393.531403 84.781102 +Q 395.028636 84.841172 395.793379 84.488733 +Q 396.558185 84.134733 396.58869 83.374407 +Q 396.619445 82.607836 395.885394 82.195266 +Q 395.151406 81.781133 393.654173 81.721064 +Q 392.150695 81.660744 391.38745 82.014806 +Q 390.622707 82.367245 390.591952 83.133816 +z +M 389.81133 83.102497 +Q 389.860501 81.87692 390.855965 81.269463 +Q 391.849868 80.661944 393.693698 80.735919 +Q 395.532843 80.809706 396.476443 81.494959 +Q 397.418483 82.18015 397.369312 83.405726 +Q 397.320204 84.629741 396.326301 85.237261 +Q 395.330836 85.844718 393.491691 85.770931 +Q 391.647862 85.696955 390.705822 85.011765 +Q 389.762222 84.326512 389.81133 83.102497 +z +M 390.847005 76.776625 +Q 390.816501 77.536951 391.550489 77.951083 +Q 392.282978 78.363592 393.786456 78.423912 +Q 395.283689 78.483981 396.048433 78.131543 +Q 396.813239 77.777543 396.843743 77.017217 +Q 396.874498 76.250646 396.140448 75.838075 +Q 395.406459 75.423943 393.909226 75.363873 +Q 392.405748 75.303553 391.642504 75.657616 +Q 390.87776 76.010054 390.847005 76.776625 +z +M 390.066383 76.745306 +Q 390.115554 75.51973 391.111018 74.912273 +Q 392.104922 74.304753 393.948751 74.378729 +Q 395.787896 74.452516 396.731497 75.137769 +Q 397.673536 75.822959 397.624365 77.048536 +Q 397.575257 78.272551 396.581354 78.880071 +Q 395.585889 79.487528 393.746744 79.41374 +Q 391.902915 79.339765 390.960876 78.654575 +Q 390.017275 77.969322 390.066383 76.745306 z " style="fill:#ffffff;stroke:#000000;stroke-width:3;"/> - <path clip-path="url(#p826a730be7)" d="M 491.541389 124.757076 -L 491.669618 121.602181 -L 492.628826 121.641167 -L 492.500597 124.796062 -z -M 494.522827 119.641982 -L 494.601334 117.710452 -L 487.93184 117.439373 -L 488.267932 119.558521 -L 487.190696 119.514737 -L 486.854148 117.40683 -L 486.902196 116.224681 -L 494.648925 116.539544 -L 494.727431 114.608013 -L 495.722234 114.648447 -L 495.517631 119.682415 -z -M 494.331789 112.199568 -L 494.382045 110.963089 -L 495.869567 111.023549 -L 495.81931 112.260028 -z -M 488.11484 105.595941 -Q 488.077757 106.508313 488.958282 107.005732 -Q 489.837011 107.501202 491.641146 107.57453 -Q 493.437788 107.647554 494.355701 107.225108 -Q 495.27369 106.800788 495.310773 105.888416 -Q 495.348161 104.968551 494.467559 104.473005 -Q 493.587033 103.975586 491.790392 103.902562 -Q 489.986256 103.829234 489.07014 104.253629 -Q 488.152227 104.676076 488.11484 105.595941 -z -M 487.178113 105.557868 -Q 487.237887 104.087207 488.432826 103.358884 -Q 489.625891 102.630485 491.83844 102.720413 -Q 494.045367 102.810112 495.177258 103.633008 -Q 496.307274 104.455828 496.2475 105.926489 -Q 496.187802 107.395276 494.994737 108.123676 -Q 493.799798 108.851999 491.59287 108.762299 -Q 489.380322 108.672371 488.250305 107.849552 -Q 487.118415 107.026656 487.178113 105.557868 -z -M 488.424895 97.967474 -Q 488.387812 98.879846 489.268338 99.377265 -Q 490.147066 99.872735 491.951202 99.946063 -Q 493.747843 100.019087 494.665757 99.59664 -Q 495.583746 99.172321 495.620829 98.259949 -Q 495.658216 97.340084 494.777614 96.844538 -Q 493.897089 96.347118 492.100447 96.274095 -Q 490.296312 96.200766 489.380196 96.625162 -Q 488.462283 97.047608 488.424895 97.967474 -z -M 487.488168 97.929401 -Q 487.547943 96.45874 488.742882 95.730417 -Q 489.935947 95.002018 492.148495 95.091946 -Q 494.355423 95.181645 495.487313 96.004541 -Q 496.61733 96.827361 496.557555 98.298022 -Q 496.497857 99.766809 495.304792 100.495209 -Q 494.109853 101.223532 491.902925 101.133832 -Q 489.690377 101.043904 488.56036 100.221084 -Q 487.42847 99.398188 487.488168 97.929401 -z -M 488.73495 90.339007 -Q 488.697868 91.251378 489.578393 91.748798 -Q 490.457122 92.244267 492.261257 92.317596 -Q 494.057899 92.390619 494.975812 91.968173 -Q 495.893801 91.543854 495.930884 90.631482 -Q 495.968272 89.711616 495.08767 89.21607 -Q 494.207144 88.718651 492.410503 88.645627 -Q 490.606367 88.572299 489.690251 88.996695 -Q 488.772338 89.419141 488.73495 90.339007 -z -M 487.798224 90.300934 -Q 487.857998 88.830273 489.052937 88.10195 -Q 490.246002 87.373551 492.45855 87.463479 -Q 494.665478 87.553178 495.797368 88.376074 -Q 496.927385 89.198894 496.867611 90.669555 -Q 496.807913 92.138342 495.614847 92.866741 -Q 494.419909 93.595065 492.212981 93.505365 -Q 490.000433 93.415437 488.870416 92.592617 -Q 487.738526 91.769721 487.798224 90.300934 + <path clip-path="url(#pedd1dac049)" d="M 393.200711 105.457122 +L 393.306193 102.827987 +L 394.10555 102.860058 +L 394.000068 105.489192 +z +M 395.683012 101.193244 +L 395.747592 99.583602 +L 390.189563 99.360611 +L 390.470564 101.126421 +L 389.572848 101.090404 +L 389.291472 99.333962 +L 389.330997 98.348817 +L 395.786741 98.607824 +L 395.85132 96.998182 +L 396.680341 97.031442 +L 396.512033 101.226505 +z +M 395.520568 94.991317 +L 395.561909 93.960896 +L 396.801537 94.010631 +L 396.760196 95.041052 +z +M 390.336899 89.491006 +Q 390.306394 90.251332 391.040382 90.665464 +Q 391.772872 91.077972 393.27635 91.138292 +Q 394.773583 91.198362 395.538326 90.845923 +Q 396.303132 90.491923 396.333637 89.731598 +Q 396.364392 88.965027 395.630341 88.552456 +Q 394.896353 88.138324 393.39912 88.078254 +Q 391.895642 88.017934 391.132397 88.371996 +Q 390.367654 88.724435 390.336899 89.491006 +z +M 389.556277 89.459687 +Q 389.605447 88.234111 390.600912 87.626654 +Q 391.594815 87.019134 393.438644 87.093109 +Q 395.27779 87.166896 396.22139 87.85215 +Q 397.163429 88.53734 397.114259 89.762916 +Q 397.065151 90.986932 396.071248 91.594451 +Q 395.075783 92.201908 393.236638 92.128121 +Q 391.392808 92.054146 390.450769 91.368955 +Q 389.507169 90.683702 389.556277 89.459687 +z +M 390.591952 83.133816 +Q 390.561447 83.894141 391.295436 84.308274 +Q 392.027925 84.720782 393.531403 84.781102 +Q 395.028636 84.841172 395.793379 84.488733 +Q 396.558185 84.134733 396.58869 83.374407 +Q 396.619445 82.607836 395.885394 82.195266 +Q 395.151406 81.781133 393.654173 81.721064 +Q 392.150695 81.660744 391.38745 82.014806 +Q 390.622707 82.367245 390.591952 83.133816 +z +M 389.81133 83.102497 +Q 389.860501 81.87692 390.855965 81.269463 +Q 391.849868 80.661944 393.693698 80.735919 +Q 395.532843 80.809706 396.476443 81.494959 +Q 397.418483 82.18015 397.369312 83.405726 +Q 397.320204 84.629741 396.326301 85.237261 +Q 395.330836 85.844718 393.491691 85.770931 +Q 391.647862 85.696955 390.705822 85.011765 +Q 389.762222 84.326512 389.81133 83.102497 +z +M 390.847005 76.776625 +Q 390.816501 77.536951 391.550489 77.951083 +Q 392.282978 78.363592 393.786456 78.423912 +Q 395.283689 78.483981 396.048433 78.131543 +Q 396.813239 77.777543 396.843743 77.017217 +Q 396.874498 76.250646 396.140448 75.838075 +Q 395.406459 75.423943 393.909226 75.363873 +Q 392.405748 75.303553 391.642504 75.657616 +Q 390.87776 76.010054 390.847005 76.776625 +z +M 390.066383 76.745306 +Q 390.115554 75.51973 391.111018 74.912273 +Q 392.104922 74.304753 393.948751 74.378729 +Q 395.787896 74.452516 396.731497 75.137769 +Q 397.673536 75.822959 397.624365 77.048536 +Q 397.575257 78.272551 396.581354 78.880071 +Q 395.585889 79.487528 393.746744 79.41374 +Q 391.902915 79.339765 390.960876 78.654575 +Q 390.017275 77.969322 390.066383 76.745306 z " style="fill:#ffffff;"/> - </g> - <g id="text_18"> - <g id="patch_67"> - <path clip-path="url(#p826a730be7)" d="M 249.792273 284.331826 -L 250.851481 285.037573 -L 251.538499 283.982116 -L 252.225516 282.926659 -L 253.265994 283.636158 -L 254.306472 284.345656 -L 254.99349 283.290199 -L 255.680507 282.234742 -L 256.720985 282.94424 -L 257.761463 283.653738 -L 258.448481 282.598282 -L 259.135498 281.542825 -L 260.175976 282.252323 -L 261.216454 282.961821 -L 261.903472 281.906364 -L 262.590489 280.850908 -L 263.630967 281.560406 -L 264.671445 282.269904 -L 265.358463 281.214447 -L 266.04548 280.15899 -L 267.085958 280.868488 -L 268.126436 281.577986 -L 268.813454 280.52253 -L 269.500471 279.467073 -L 270.540949 280.176571 -L 271.581427 280.886069 -L 272.268445 279.830612 -L 272.955463 278.775156 -L 273.995941 279.484654 -L 275.036419 280.194152 -L 275.723436 279.138695 -L 276.410454 278.083238 -L 277.450932 278.792736 -L 278.49141 279.502234 -L 279.178427 278.446778 -L 279.865445 277.391321 -L 280.905923 278.100819 -L 281.946401 278.810317 -L 282.633418 277.75486 -L 283.320436 276.699404 -L 284.360914 277.408902 -L 285.401392 278.1184 -L 286.088409 277.062943 -L 286.775427 276.007486 -L 287.815905 276.716984 -L 288.856383 277.426482 -L 289.5434 276.371026 -L 290.230418 275.315569 -L 291.270896 276.025067 -L 292.311374 276.734565 -L 293.017121 275.675357 -L 293.722868 274.61615 -L 292.653674 273.860533 -L 291.584479 273.104917 -L 292.280239 271.99584 -L 292.975999 270.886763 -L 291.906804 270.131147 -L 290.837609 269.375531 -L 291.533369 268.266454 -L 292.229129 267.157377 -L 291.159935 266.401761 -L 290.09074 265.646144 -L 290.7865 264.537067 -L 291.48226 263.42799 -L 290.413065 262.672374 -L 289.343871 261.916758 -L 290.039631 260.807681 -L 290.735391 259.698604 -L 289.676183 258.992857 -L 288.616975 258.28711 -L 287.929958 259.342566 -L 287.24294 260.398023 -L 286.202462 259.688525 -L 285.161984 258.979027 -L 284.474967 260.034484 -L 283.787949 261.089941 -L 282.747471 260.380442 -L 281.706993 259.670944 -L 281.019976 260.726401 -L 280.332958 261.781858 -L 279.29248 261.07236 -L 278.252002 260.362862 -L 277.564985 261.418318 -L 276.877967 262.473775 -L 275.837489 261.764277 -L 274.797011 261.054779 -L 274.109994 262.110236 -L 273.422976 263.165693 -L 272.382498 262.456194 -L 271.34202 261.746696 -L 270.655002 262.802153 -L 269.967985 263.85761 -L 268.927507 263.148112 -L 267.887029 262.438614 -L 267.200011 263.49407 -L 266.512994 264.549527 -L 265.472516 263.840029 -L 264.432038 263.130531 -L 263.74502 264.185988 -L 263.058003 265.241445 -L 262.017525 264.531946 -L 260.977047 263.822448 -L 260.290029 264.877905 -L 259.603012 265.933362 -L 258.562534 265.223864 -L 257.522056 264.514366 -L 256.835038 265.569822 -L 256.148021 266.625279 -L 255.107543 265.915781 -L 254.067065 265.206283 -L 253.380047 266.26174 -L 252.69303 267.317197 -L 251.652552 266.607698 -L 250.612074 265.8982 -L 249.925056 266.953657 -L 249.238038 268.009114 -L 248.19756 267.299616 -L 247.157082 266.590118 -L 246.451335 267.649325 -L 245.745588 268.708533 -L 246.814783 269.464149 -L 247.883978 270.219766 -L 247.188218 271.328843 -L 246.492457 272.437919 -L 247.561652 273.193536 -L 248.630847 273.949152 -L 247.935087 275.058229 -L 247.239327 276.167306 -L 248.308522 276.922922 -L 249.377716 277.678539 -L 248.681956 278.787615 -L 247.986196 279.896692 -L 249.055391 280.652309 -L 250.124586 281.407925 -L 249.428826 282.517002 -L 248.733066 283.626079 + </g> + <g id="text_18"> + <g id="patch_68"> + <path clip-path="url(#pedd1dac049)" d="M 205.02959 224.510786 +L 205.819892 225.218191 +L 206.511404 224.428769 +L 207.202916 223.639347 +L 207.977325 224.347632 +L 208.751733 225.055918 +L 209.443245 224.266496 +L 210.134757 223.477074 +L 210.909165 224.185359 +L 211.683574 224.893645 +L 212.375086 224.104222 +L 213.066598 223.3148 +L 213.841006 224.023086 +L 214.615414 224.731371 +L 215.306926 223.941949 +L 215.998439 223.152527 +L 216.772847 223.860812 +L 217.547255 224.569098 +L 218.238767 223.779676 +L 218.930279 222.990253 +L 219.704688 223.698539 +L 220.479096 224.406824 +L 221.170608 223.617402 +L 221.86212 222.82798 +L 222.636528 223.536265 +L 223.410937 224.244551 +L 224.102449 223.455129 +L 224.793961 222.665707 +L 225.568369 223.373992 +L 226.342777 224.082278 +L 227.034289 223.292855 +L 227.725802 222.503433 +L 228.50021 223.211719 +L 229.274618 223.920004 +L 229.96613 223.130582 +L 230.657642 222.34116 +L 231.432051 223.049445 +L 232.206459 223.757731 +L 232.897971 222.968309 +L 233.589483 222.178886 +L 234.363891 222.887172 +L 235.1383 223.595457 +L 235.829812 222.806035 +L 236.521324 222.016613 +L 237.295732 222.724898 +L 238.07014 223.433184 +L 238.761652 222.643762 +L 239.453165 221.85434 +L 240.227573 222.562625 +L 241.001981 223.27091 +L 241.709387 222.480609 +L 242.416793 221.690307 +L 241.624148 220.940583 +L 240.831504 220.190859 +L 241.536568 219.358239 +L 242.241631 218.525619 +L 241.448987 217.775895 +L 240.656343 217.026172 +L 241.361407 216.193552 +L 242.06647 215.360932 +L 241.273826 214.611208 +L 240.481182 213.861484 +L 241.186246 213.028864 +L 241.891309 212.196244 +L 241.098665 211.44652 +L 240.306021 210.696797 +L 241.011084 209.864177 +L 241.716148 209.031557 +L 240.925846 208.324151 +L 240.135544 207.616745 +L 239.444032 208.406167 +L 238.75252 209.19559 +L 237.978112 208.487304 +L 237.203703 207.779019 +L 236.512191 208.568441 +L 235.820679 209.357863 +L 235.046271 208.649577 +L 234.271863 207.941292 +L 233.580351 208.730714 +L 232.888838 209.520136 +L 232.11443 208.811851 +L 231.340022 208.103565 +L 230.64851 208.892988 +L 229.956998 209.68241 +L 229.182589 208.974124 +L 228.408181 208.265839 +L 227.716669 209.055261 +L 227.025157 209.844683 +L 226.250749 209.136398 +L 225.47634 208.428112 +L 224.784828 209.217534 +L 224.093316 210.006957 +L 223.318908 209.298671 +L 222.5445 208.590386 +L 221.852988 209.379808 +L 221.161475 210.16923 +L 220.387067 209.460945 +L 219.612659 208.752659 +L 218.921147 209.542081 +L 218.229635 210.331503 +L 217.455226 209.623218 +L 216.680818 208.914932 +L 215.989306 209.704355 +L 215.297794 210.493777 +L 214.523386 209.785491 +L 213.748977 209.077206 +L 213.057465 209.866628 +L 212.365953 210.65605 +L 211.591545 209.947765 +L 210.817137 209.239479 +L 210.125625 210.028901 +L 209.434112 210.818324 +L 208.659704 210.110038 +L 207.885296 209.401753 +L 207.193784 210.191175 +L 206.502272 210.980597 +L 205.727863 210.272312 +L 204.953455 209.564026 +L 204.246049 210.354328 +L 203.538644 211.14463 +L 204.331288 211.894354 +L 205.123932 212.644077 +L 204.418868 213.476697 +L 203.713805 214.309317 +L 204.506449 215.059041 +L 205.299093 215.808765 +L 204.594029 216.641385 +L 203.888966 217.474005 +L 204.68161 218.223729 +L 205.474254 218.973452 +L 204.769191 219.806072 +L 204.064127 220.638692 +L 204.856771 221.388416 +L 205.649415 222.13814 +L 204.944352 222.97076 +L 204.239288 223.80338 z " style="fill:none;stroke:#0000ff;stroke-linejoin:miter;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 251.255216 274.898388 -L 254.351241 274.278359 -L 254.539753 275.219668 -L 251.443728 275.839697 -z -M 256.929487 276.5883 -L 258.824975 276.208698 -L 257.514226 269.663657 -L 255.534277 270.490426 -L 255.322569 269.433291 -L 257.291487 268.608732 -L 258.451577 268.376406 -L 259.974034 275.978581 -L 261.869522 275.598979 -L 262.06503 276.57522 -L 257.124995 277.564541 -z -M 264.11654 274.646061 -L 265.329946 274.403057 -L 265.622287 275.862822 -L 264.408881 276.105826 -z -M 269.066237 267.046137 -Q 268.17089 267.225445 267.895351 268.198497 -Q 267.621282 269.169342 267.975847 270.939812 -Q 268.328939 272.702928 268.956101 273.4952 -Q 269.585101 274.287103 270.480447 274.107795 -Q 271.383148 273.927015 271.656849 272.954332 -Q 271.932389 271.98128 271.579296 270.218164 -Q 271.224731 268.447693 270.5961 267.657628 -Q 269.968938 266.865357 269.066237 267.046137 -z -M 268.882143 266.12689 -Q 270.325362 265.837863 271.315143 266.827138 -Q 272.304556 267.814575 272.739386 269.985837 -Q 273.173112 272.151584 272.64062 273.445719 -Q 272.10776 274.738015 270.664541 275.027043 -Q 269.223162 275.315702 268.233748 274.328265 -Q 267.243967 273.33899 266.810241 271.173243 -Q 266.375411 269.001981 266.908271 267.709685 -Q 267.440763 266.41555 268.882143 266.12689 -z -M 276.552358 265.546922 -Q 275.657011 265.726229 275.381471 266.699281 -Q 275.107402 267.670126 275.461967 269.440596 -Q 275.81506 271.203713 276.442221 271.995984 -Q 277.071221 272.787887 277.966568 272.60858 -Q 278.869269 272.4278 279.14297 271.455116 -Q 279.418509 270.482064 279.065417 268.718948 -Q 278.710852 266.948478 278.08222 266.158413 -Q 277.455059 265.366142 276.552358 265.546922 -z -M 276.368264 264.627675 -Q 277.811482 264.338647 278.801263 265.327922 -Q 279.790677 266.315359 280.225507 268.486621 -Q 280.659232 270.652368 280.12674 271.946503 -Q 279.59388 273.2388 278.150662 273.527827 -Q 276.709282 273.816487 275.719869 272.82905 -Q 274.730087 271.839774 274.296362 269.674028 -Q 273.861532 267.502765 274.394392 266.210469 -Q 274.926884 264.916334 276.368264 264.627675 -z -M 284.038478 264.047706 -Q 283.143131 264.227014 282.867592 265.200066 -Q 282.593523 266.170911 282.948088 267.941381 -Q 283.30118 269.704497 283.928341 270.496769 -Q 284.557341 271.288672 285.452688 271.109364 -Q 286.355389 270.928584 286.62909 269.9559 -Q 286.904629 268.982849 286.551537 267.219732 -Q 286.196972 265.449262 285.56834 264.659197 -Q 284.941179 263.866926 284.038478 264.047706 -z -M 283.854384 263.128459 -Q 285.297602 262.839431 286.287384 263.828707 -Q 287.276797 264.816144 287.711627 266.987406 -Q 288.145353 269.153152 287.612861 270.447287 -Q 287.080001 271.739584 285.636782 272.028612 -Q 284.195402 272.317271 283.205989 271.329834 -Q 282.216208 270.340559 281.782482 268.174812 -Q 281.347652 266.00355 281.880512 264.711253 -Q 282.413004 263.417118 283.854384 263.128459 + </g> + <path clip-path="url(#pedd1dac049)" d="M 207.351713 216.902078 +L 209.978942 216.756664 +L 210.023153 217.555442 +L 207.395925 217.700855 +z +M 211.832637 218.966974 +L 213.441112 218.877947 +L 213.133706 213.323948 +L 211.402689 213.771858 +L 211.353038 212.874794 +L 213.074694 212.427402 +L 214.059125 212.372915 +L 214.416182 218.823979 +L 216.024658 218.734952 +L 216.07051 219.563371 +L 211.878489 219.795394 +z +M 217.990896 218.214557 +L 219.02057 218.157566 +L 219.089132 219.396295 +L 218.059458 219.453286 +z +M 222.972475 212.530568 +Q 222.2127 212.57262 221.87036 213.342716 +Q 221.529495 214.111166 221.61265 215.613554 +Q 221.695459 217.109701 222.119135 217.8374 +Q 222.544371 218.565011 223.304145 218.522959 +Q 224.07016 218.480561 224.41094 217.710551 +Q 224.753279 216.940455 224.67047 215.444308 +Q 224.587314 213.94192 224.162165 213.215868 +Q 223.73849 212.48817 222.972475 212.530568 +z +M 222.929299 211.750512 +Q 224.153988 211.682727 224.853497 212.615808 +Q 225.552921 213.547328 225.6549 215.389821 +Q 225.756621 217.227633 225.164358 218.232212 +Q 224.572008 219.23523 223.34732 219.303015 +Q 222.124192 219.370713 221.424769 218.439193 +Q 220.725259 217.506112 220.623539 215.6683 +Q 220.521559 213.825807 221.113909 212.822789 +Q 221.706172 211.81821 222.929299 211.750512 +z +M 229.325056 212.178961 +Q 228.565282 212.221014 228.222942 212.99111 +Q 227.882076 213.759559 227.965231 215.261947 +Q 228.048041 216.758095 228.471717 217.485793 +Q 228.896952 218.213404 229.656727 218.171352 +Q 230.422742 218.128954 230.763521 217.358944 +Q 231.105861 216.588849 231.023051 215.092701 +Q 230.939896 213.590313 230.514747 212.864261 +Q 230.091071 212.136563 229.325056 212.178961 +z +M 229.281881 211.398905 +Q 230.506569 211.33112 231.206079 212.264201 +Q 231.905503 213.195722 232.007482 215.038214 +Q 232.109202 216.876026 231.516939 217.880605 +Q 230.92459 218.883623 229.699902 218.951408 +Q 228.476774 219.019107 227.777351 218.087586 +Q 227.077841 217.154505 226.97612 215.316693 +Q 226.874141 213.474201 227.46649 212.471182 +Q 228.058753 211.466604 229.281881 211.398905 +z +M 235.677638 211.827354 +Q 234.917863 211.869407 234.575524 212.639503 +Q 234.234658 213.407952 234.317813 214.91034 +Q 234.400623 216.406488 234.824298 217.134186 +Q 235.249534 217.861798 236.009309 217.819745 +Q 236.775324 217.777347 237.116103 217.007338 +Q 237.458443 216.237242 237.375633 214.741094 +Q 237.292478 213.238706 236.867328 212.512655 +Q 236.443653 211.784957 235.677638 211.827354 +z +M 235.634463 211.047298 +Q 236.859151 210.979514 237.558661 211.912594 +Q 238.258084 212.844115 238.360064 214.686607 +Q 238.461784 216.524419 237.869521 217.528998 +Q 237.277172 218.532016 236.052484 218.599801 +Q 234.829356 218.6675 234.129932 217.735979 +Q 233.430422 216.802898 233.328702 214.965086 +Q 233.226722 213.122594 233.819072 212.119575 +Q 234.411335 211.114997 235.634463 211.047298 z " style="fill:#ffffff;stroke:#000000;stroke-width:3;"/> - <path clip-path="url(#p826a730be7)" d="M 251.255216 274.898388 -L 254.351241 274.278359 -L 254.539753 275.219668 -L 251.443728 275.839697 -z -M 256.929487 276.5883 -L 258.824975 276.208698 -L 257.514226 269.663657 -L 255.534277 270.490426 -L 255.322569 269.433291 -L 257.291487 268.608732 -L 258.451577 268.376406 -L 259.974034 275.978581 -L 261.869522 275.598979 -L 262.06503 276.57522 -L 257.124995 277.564541 -z -M 264.11654 274.646061 -L 265.329946 274.403057 -L 265.622287 275.862822 -L 264.408881 276.105826 -z -M 269.066237 267.046137 -Q 268.17089 267.225445 267.895351 268.198497 -Q 267.621282 269.169342 267.975847 270.939812 -Q 268.328939 272.702928 268.956101 273.4952 -Q 269.585101 274.287103 270.480447 274.107795 -Q 271.383148 273.927015 271.656849 272.954332 -Q 271.932389 271.98128 271.579296 270.218164 -Q 271.224731 268.447693 270.5961 267.657628 -Q 269.968938 266.865357 269.066237 267.046137 -z -M 268.882143 266.12689 -Q 270.325362 265.837863 271.315143 266.827138 -Q 272.304556 267.814575 272.739386 269.985837 -Q 273.173112 272.151584 272.64062 273.445719 -Q 272.10776 274.738015 270.664541 275.027043 -Q 269.223162 275.315702 268.233748 274.328265 -Q 267.243967 273.33899 266.810241 271.173243 -Q 266.375411 269.001981 266.908271 267.709685 -Q 267.440763 266.41555 268.882143 266.12689 -z -M 276.552358 265.546922 -Q 275.657011 265.726229 275.381471 266.699281 -Q 275.107402 267.670126 275.461967 269.440596 -Q 275.81506 271.203713 276.442221 271.995984 -Q 277.071221 272.787887 277.966568 272.60858 -Q 278.869269 272.4278 279.14297 271.455116 -Q 279.418509 270.482064 279.065417 268.718948 -Q 278.710852 266.948478 278.08222 266.158413 -Q 277.455059 265.366142 276.552358 265.546922 -z -M 276.368264 264.627675 -Q 277.811482 264.338647 278.801263 265.327922 -Q 279.790677 266.315359 280.225507 268.486621 -Q 280.659232 270.652368 280.12674 271.946503 -Q 279.59388 273.2388 278.150662 273.527827 -Q 276.709282 273.816487 275.719869 272.82905 -Q 274.730087 271.839774 274.296362 269.674028 -Q 273.861532 267.502765 274.394392 266.210469 -Q 274.926884 264.916334 276.368264 264.627675 -z -M 284.038478 264.047706 -Q 283.143131 264.227014 282.867592 265.200066 -Q 282.593523 266.170911 282.948088 267.941381 -Q 283.30118 269.704497 283.928341 270.496769 -Q 284.557341 271.288672 285.452688 271.109364 -Q 286.355389 270.928584 286.62909 269.9559 -Q 286.904629 268.982849 286.551537 267.219732 -Q 286.196972 265.449262 285.56834 264.659197 -Q 284.941179 263.866926 284.038478 264.047706 -z -M 283.854384 263.128459 -Q 285.297602 262.839431 286.287384 263.828707 -Q 287.276797 264.816144 287.711627 266.987406 -Q 288.145353 269.153152 287.612861 270.447287 -Q 287.080001 271.739584 285.636782 272.028612 -Q 284.195402 272.317271 283.205989 271.329834 -Q 282.216208 270.340559 281.782482 268.174812 -Q 281.347652 266.00355 281.880512 264.711253 -Q 282.413004 263.417118 283.854384 263.128459 + <path clip-path="url(#pedd1dac049)" d="M 207.351713 216.902078 +L 209.978942 216.756664 +L 210.023153 217.555442 +L 207.395925 217.700855 +z +M 211.832637 218.966974 +L 213.441112 218.877947 +L 213.133706 213.323948 +L 211.402689 213.771858 +L 211.353038 212.874794 +L 213.074694 212.427402 +L 214.059125 212.372915 +L 214.416182 218.823979 +L 216.024658 218.734952 +L 216.07051 219.563371 +L 211.878489 219.795394 +z +M 217.990896 218.214557 +L 219.02057 218.157566 +L 219.089132 219.396295 +L 218.059458 219.453286 +z +M 222.972475 212.530568 +Q 222.2127 212.57262 221.87036 213.342716 +Q 221.529495 214.111166 221.61265 215.613554 +Q 221.695459 217.109701 222.119135 217.8374 +Q 222.544371 218.565011 223.304145 218.522959 +Q 224.07016 218.480561 224.41094 217.710551 +Q 224.753279 216.940455 224.67047 215.444308 +Q 224.587314 213.94192 224.162165 213.215868 +Q 223.73849 212.48817 222.972475 212.530568 +z +M 222.929299 211.750512 +Q 224.153988 211.682727 224.853497 212.615808 +Q 225.552921 213.547328 225.6549 215.389821 +Q 225.756621 217.227633 225.164358 218.232212 +Q 224.572008 219.23523 223.34732 219.303015 +Q 222.124192 219.370713 221.424769 218.439193 +Q 220.725259 217.506112 220.623539 215.6683 +Q 220.521559 213.825807 221.113909 212.822789 +Q 221.706172 211.81821 222.929299 211.750512 +z +M 229.325056 212.178961 +Q 228.565282 212.221014 228.222942 212.99111 +Q 227.882076 213.759559 227.965231 215.261947 +Q 228.048041 216.758095 228.471717 217.485793 +Q 228.896952 218.213404 229.656727 218.171352 +Q 230.422742 218.128954 230.763521 217.358944 +Q 231.105861 216.588849 231.023051 215.092701 +Q 230.939896 213.590313 230.514747 212.864261 +Q 230.091071 212.136563 229.325056 212.178961 +z +M 229.281881 211.398905 +Q 230.506569 211.33112 231.206079 212.264201 +Q 231.905503 213.195722 232.007482 215.038214 +Q 232.109202 216.876026 231.516939 217.880605 +Q 230.92459 218.883623 229.699902 218.951408 +Q 228.476774 219.019107 227.777351 218.087586 +Q 227.077841 217.154505 226.97612 215.316693 +Q 226.874141 213.474201 227.46649 212.471182 +Q 228.058753 211.466604 229.281881 211.398905 +z +M 235.677638 211.827354 +Q 234.917863 211.869407 234.575524 212.639503 +Q 234.234658 213.407952 234.317813 214.91034 +Q 234.400623 216.406488 234.824298 217.134186 +Q 235.249534 217.861798 236.009309 217.819745 +Q 236.775324 217.777347 237.116103 217.007338 +Q 237.458443 216.237242 237.375633 214.741094 +Q 237.292478 213.238706 236.867328 212.512655 +Q 236.443653 211.784957 235.677638 211.827354 +z +M 235.634463 211.047298 +Q 236.859151 210.979514 237.558661 211.912594 +Q 238.258084 212.844115 238.360064 214.686607 +Q 238.461784 216.524419 237.869521 217.528998 +Q 237.277172 218.532016 236.052484 218.599801 +Q 234.829356 218.6675 234.129932 217.735979 +Q 233.430422 216.802898 233.328702 214.965086 +Q 233.226722 213.122594 233.819072 212.119575 +Q 234.411335 211.114997 235.634463 211.047298 z " style="fill:#ffffff;"/> - </g> - <g id="text_19"> - <g id="patch_68"> - <path clip-path="url(#p826a730be7)" d="M 259.763753 61.872332 -L 260.672813 62.763181 -L 261.54456 61.854314 -L 262.416308 60.945448 -L 263.306267 61.83649 -L 264.196226 62.727531 -L 265.067974 61.818665 -L 265.939722 60.909799 -L 266.829681 61.80084 -L 267.71964 62.691882 -L 268.591387 61.783016 -L 269.463135 60.874149 -L 270.353094 61.765191 -L 271.243053 62.656233 -L 272.114801 61.747366 -L 272.986548 60.8385 -L 273.876507 61.729542 -L 274.766466 62.620583 -L 275.638214 61.711717 -L 276.509962 60.802851 -L 277.399921 61.693892 -L 278.28988 62.584934 -L 279.161628 61.676068 -L 280.033375 60.767201 -L 280.923334 61.658243 -L 281.813293 62.549285 -L 282.685041 61.640418 -L 283.556789 60.731552 -L 284.446748 61.622594 -L 285.336707 62.513635 -L 286.208454 61.604769 -L 287.080202 60.695903 -L 287.970161 61.586944 -L 288.86012 62.477986 -L 289.731868 61.56912 -L 290.603615 60.660253 -L 291.493574 61.551295 -L 292.383533 62.442337 -L 293.255281 61.53347 -L 294.127029 60.624604 -L 295.016988 61.515646 -L 295.906947 62.406687 -L 296.778695 61.497821 -L 297.650442 60.588955 -L 298.540401 61.479996 -L 299.43036 62.371038 -L 300.302108 61.462172 -L 301.173856 60.553306 -L 302.063815 61.444347 -L 302.953774 62.335389 -L 303.844622 61.426329 -L 304.73547 60.51727 -L 303.825896 59.575565 -L 302.916322 58.633859 -L 303.806656 57.673943 -L 304.69699 56.714027 -L 303.787416 55.772322 -L 302.877842 54.830617 -L 303.768175 53.8707 -L 304.658509 52.910784 -L 303.748935 51.969079 -L 302.839361 51.027374 -L 303.729695 50.067457 -L 304.620029 49.107541 -L 303.710454 48.165836 -L 302.80088 47.224131 -L 303.691214 46.264215 -L 304.581548 45.304298 -L 303.672488 44.41345 -L 302.763429 43.522602 -L 301.891681 44.431468 -L 301.019933 45.340334 -L 300.129974 44.449293 -L 299.240015 43.558251 -L 298.368268 44.467117 -L 297.49652 45.375983 -L 296.606561 44.484942 -L 295.716602 43.5939 -L 294.844854 44.502767 -L 293.973107 45.411633 -L 293.083148 44.520591 -L 292.193189 43.62955 -L 291.321441 44.538416 -L 290.449693 45.447282 -L 289.559734 44.556241 -L 288.669775 43.665199 -L 287.798028 44.574065 -L 286.92628 45.482931 -L 286.036321 44.59189 -L 285.146362 43.700848 -L 284.274614 44.609715 -L 283.402866 45.518581 -L 282.512907 44.627539 -L 281.622948 43.736498 -L 280.751201 44.645364 -L 279.879453 45.55423 -L 278.989494 44.663188 -L 278.099535 43.772147 -L 277.227787 44.681013 -L 276.35604 45.589879 -L 275.466081 44.698838 -L 274.576122 43.807796 -L 273.704374 44.716662 -L 272.832626 45.625529 -L 271.942667 44.734487 -L 271.052708 43.843446 -L 270.18096 44.752312 -L 269.309213 45.661178 -L 268.419254 44.770136 -L 267.529295 43.879095 -L 266.657547 44.787961 -L 265.785799 45.696827 -L 264.89584 44.805786 -L 264.005881 43.914744 -L 263.134134 44.82361 -L 262.262386 45.732477 -L 261.372427 44.841435 -L 260.482468 43.950393 -L 259.59162 44.859453 -L 258.700771 45.768513 -L 259.610345 46.710218 -L 260.519919 47.651923 -L 259.629586 48.611839 -L 258.739252 49.571755 -L 259.648826 50.51346 -L 260.5584 51.455166 -L 259.668066 52.415082 -L 258.777732 53.374998 -L 259.687307 54.316703 -L 260.596881 55.258408 -L 259.706547 56.218325 -L 258.816213 57.178241 -L 259.725787 58.119946 -L 260.635361 59.061651 -L 259.745027 60.021568 -L 258.854694 60.981484 + </g> + <g id="text_19"> + <g id="patch_69"> + <path clip-path="url(#pedd1dac049)" d="M 213.025478 54.428638 +L 213.682634 55.261192 +L 214.499379 54.602174 +L 215.316124 53.943157 +L 215.957471 54.773849 +L 216.598819 55.604541 +L 217.415564 54.945523 +L 218.232308 54.286506 +L 218.873656 55.117198 +L 219.515004 55.94789 +L 220.331749 55.288872 +L 221.148493 54.629855 +L 221.789841 55.460547 +L 222.431189 56.291239 +L 223.247933 55.632222 +L 224.064678 54.973204 +L 224.706026 55.803896 +L 225.347374 56.634588 +L 226.164118 55.975571 +L 226.980863 55.316553 +L 227.622211 56.147245 +L 228.263558 56.977937 +L 229.080303 56.31892 +L 229.897048 55.659902 +L 230.538396 56.490594 +L 231.179743 57.321286 +L 231.996488 56.662269 +L 232.813233 56.003251 +L 233.454581 56.833943 +L 234.095928 57.664636 +L 234.912673 57.005618 +L 235.729418 56.3466 +L 236.370765 57.177292 +L 237.012113 58.007985 +L 237.828858 57.348967 +L 238.645603 56.689949 +L 239.28695 57.520641 +L 239.928298 58.351334 +L 240.745043 57.692316 +L 241.561788 57.033298 +L 242.203135 57.86399 +L 242.844483 58.694683 +L 243.661228 58.035665 +L 244.477972 57.376647 +L 245.11932 58.20734 +L 245.760668 59.038032 +L 246.577412 58.379014 +L 247.394157 57.719996 +L 248.035505 58.550689 +L 248.676853 59.381381 +L 249.509406 58.724224 +L 250.34196 58.067068 +L 249.689759 57.192422 +L 249.037559 56.317777 +L 249.875068 55.618528 +L 250.712578 54.91928 +L 250.060377 54.044634 +L 249.408176 53.169989 +L 250.245686 52.47074 +L 251.083195 51.771492 +L 250.430995 50.896846 +L 249.778794 50.0222 +L 250.616304 49.322952 +L 251.453813 48.623703 +L 250.801613 47.749058 +L 250.149412 46.874412 +L 250.986922 46.175164 +L 251.824431 45.475915 +L 251.167275 44.643362 +L 250.510118 43.810808 +L 249.693373 44.469826 +L 248.876629 45.128843 +L 248.235281 44.298151 +L 247.593933 43.467459 +L 246.777189 44.126477 +L 245.960444 44.785494 +L 245.319096 43.954802 +L 244.677749 43.12411 +L 243.861004 43.783128 +L 243.044259 44.442145 +L 242.402911 43.611453 +L 241.761564 42.780761 +L 240.944819 43.439778 +L 240.128074 44.098796 +L 239.486726 43.268104 +L 238.845379 42.437412 +L 238.028634 43.096429 +L 237.211889 43.755447 +L 236.570541 42.924755 +L 235.929194 42.094063 +L 235.112449 42.75308 +L 234.295704 43.412098 +L 233.654357 42.581406 +L 233.013009 41.750714 +L 232.196264 42.409731 +L 231.379519 43.068749 +L 230.738172 42.238057 +L 230.096824 41.407364 +L 229.280079 42.066382 +L 228.463334 42.7254 +L 227.821987 41.894708 +L 227.180639 41.064015 +L 226.363894 41.723033 +L 225.54715 42.382051 +L 224.905802 41.551359 +L 224.264454 40.720666 +L 223.44771 41.379684 +L 222.630965 42.038702 +L 221.989617 41.20801 +L 221.348269 40.377317 +L 220.531525 41.036335 +L 219.71478 41.695353 +L 219.073432 40.86466 +L 218.432085 40.033968 +L 217.61534 40.692986 +L 216.798595 41.352004 +L 216.157247 40.521311 +L 215.5159 39.690619 +L 214.683346 40.347776 +L 213.850793 41.004932 +L 214.502993 41.879578 +L 215.155194 42.754223 +L 214.317684 43.453472 +L 213.480175 44.15272 +L 214.132375 45.027366 +L 214.784576 45.902011 +L 213.947066 46.60126 +L 213.109557 47.300508 +L 213.761757 48.175154 +L 214.413958 49.0498 +L 213.576448 49.749048 +L 212.738939 50.448297 +L 213.39114 51.322942 +L 214.04334 52.197588 +L 213.205831 52.896836 +L 212.368321 53.596085 z " style="fill:none;stroke:#0000ff;stroke-linejoin:miter;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 262.959783 52.877037 -L 266.117122 52.845091 -L 266.126835 53.805042 -L 262.969496 53.836987 -z -M 268.219506 55.595211 -L 270.152533 55.575653 -L 270.084999 48.900995 -L 267.985625 49.344133 -L 267.974718 48.266063 -L 270.062842 47.823039 -L 271.245907 47.811069 -L 271.324348 55.563797 -L 273.257374 55.544239 -L 273.267447 56.539813 -L 268.22958 56.590785 -z -M 275.642653 55.026955 -L 276.880089 55.014435 -L 276.895152 56.503109 -L 275.657715 56.515629 -z -M 281.922471 48.483085 -Q 281.009393 48.492324 280.557272 49.396944 -Q 280.107007 50.299671 280.125275 52.105203 -Q 280.143467 53.903236 280.611924 54.798543 -Q 281.082256 55.69383 281.995335 55.684592 -Q 282.915912 55.675277 283.366158 54.770676 -Q 283.818279 53.866055 283.800087 52.068022 -Q 283.781819 50.26249 283.311506 49.369077 -Q 282.843049 48.473771 281.922471 48.483085 -z -M 281.912986 47.545633 -Q 283.384786 47.530742 284.172776 48.687204 -Q 284.960748 49.84179 284.983151 52.056052 -Q 285.005498 54.264689 284.241068 55.436858 -Q 283.476619 56.607152 282.00482 56.622044 -Q 280.534895 56.636916 279.746923 55.482329 -Q 278.958933 54.325867 278.936586 52.11723 -Q 278.914182 49.902969 279.678631 48.732675 -Q 280.443061 47.560506 281.912986 47.545633 -z -M 289.556846 48.405842 -Q 288.643768 48.41508 288.191647 49.319701 -Q 287.741382 50.222427 287.75965 52.02796 -Q 287.777842 53.825993 288.246299 54.721299 -Q 288.716631 55.616587 289.629709 55.607348 -Q 290.550287 55.598034 291.000533 54.693432 -Q 291.452654 53.788812 291.434462 51.990779 -Q 291.416194 50.185246 290.945881 49.291834 -Q 290.477424 48.396528 289.556846 48.405842 -z -M 289.547361 47.46839 -Q 291.01916 47.453498 291.807151 48.60996 -Q 292.595123 49.764547 292.617526 51.978809 -Q 292.639873 54.187446 291.875443 55.359615 -Q 291.110994 56.529909 289.639194 56.5448 -Q 288.16927 56.559673 287.381298 55.405086 -Q 286.593307 54.248624 286.570961 52.039987 -Q 286.548557 49.825725 287.313006 48.655431 -Q 288.077436 47.483262 289.547361 47.46839 -z -M 297.191221 48.328598 -Q 296.278142 48.337837 295.826022 49.242457 -Q 295.375757 50.145184 295.394025 51.950717 -Q 295.412217 53.74875 295.880674 54.644056 -Q 296.351006 55.539343 297.264084 55.530105 -Q 298.184662 55.520791 298.634908 54.616189 -Q 299.087029 53.711568 299.068837 51.913535 -Q 299.050569 50.108003 298.580256 49.21459 -Q 298.111799 48.319284 297.191221 48.328598 -z -M 297.181736 47.391146 -Q 298.653535 47.376255 299.441526 48.532717 -Q 300.229498 49.687304 300.251901 51.901565 -Q 300.274248 54.110202 299.509818 55.282371 -Q 298.745369 56.452665 297.273569 56.467557 -Q 295.803645 56.482429 295.015673 55.327842 -Q 294.227682 54.171381 294.205336 51.962744 -Q 294.182932 49.748482 294.947381 48.578188 -Q 295.711811 47.406019 297.181736 47.391146 + </g> + <path clip-path="url(#pedd1dac049)" d="M 216.619082 47.331407 +L 219.232281 47.639083 +L 219.138736 48.433595 +L 216.525537 48.125919 +z +M 220.679095 50.134756 +L 222.278981 50.323125 +L 222.929412 44.798784 +L 221.147205 44.942939 +L 221.252261 44.050665 +L 223.025157 43.905413 +L 224.004331 44.020701 +L 223.248844 50.437316 +L 224.848731 50.625685 +L 224.751714 51.449681 +L 220.582078 50.958752 +z +M 226.87511 50.450493 +L 227.899285 50.571079 +L 227.754217 51.803193 +L 226.730041 51.682608 +z +M 232.758349 45.705881 +Q 232.002631 45.616903 231.533195 46.316813 +Q 231.065492 47.015353 230.889547 48.509718 +Q 230.714333 49.997877 231.006821 50.787494 +Q 231.30086 51.577295 232.056578 51.666272 +Q 232.818502 51.755981 233.286387 51.055889 +Q 233.755824 50.355979 233.931038 48.867821 +Q 234.106984 47.373456 233.812761 46.585207 +Q 233.520274 45.795589 232.758349 45.705881 +z +M 232.849702 44.92999 +Q 234.06785 45.073414 234.596827 46.11271 +Q 235.125987 47.150454 234.910212 48.983108 +Q 234.694985 50.811106 233.939088 51.699122 +Q 233.183373 52.585587 231.965225 52.442163 +Q 230.748628 52.298922 230.219468 51.261178 +Q 229.690491 50.221882 229.905718 48.393883 +Q 230.121493 46.56123 230.877208 45.674765 +Q 231.633105 44.786749 232.849702 44.92999 +z +M 239.077008 46.449834 +Q 238.321291 46.360857 237.851854 47.060766 +Q 237.384152 47.759307 237.208206 49.253672 +Q 237.032992 50.74183 237.32548 51.531448 +Q 237.619519 52.321248 238.375237 52.410226 +Q 239.137161 52.499934 239.605046 51.799842 +Q 240.074483 51.099933 240.249698 49.611774 +Q 240.425643 48.117409 240.131421 47.32916 +Q 239.838933 46.539543 239.077008 46.449834 +z +M 239.168361 45.673944 +Q 240.386509 45.817367 240.915486 46.856663 +Q 241.444647 47.894408 241.228872 49.727062 +Q 241.013645 51.55506 240.257747 52.443076 +Q 239.502032 53.32954 238.283884 53.186117 +Q 237.067288 53.042876 236.538128 52.005131 +Q 236.00915 50.965835 236.224377 49.137837 +Q 236.440152 47.305183 237.195867 46.418719 +Q 237.951764 45.530703 239.168361 45.673944 +z +M 245.395667 47.193788 +Q 244.63995 47.10481 244.170513 47.80472 +Q 243.702811 48.50326 243.526866 49.997625 +Q 243.351651 51.485784 243.644139 52.275401 +Q 243.938179 53.065202 244.693896 53.154179 +Q 245.455821 53.243888 245.923706 52.543796 +Q 246.393142 51.843886 246.568357 50.355728 +Q 246.744302 48.861363 246.45008 48.073114 +Q 246.157592 47.283496 245.395667 47.193788 +z +M 245.48702 46.417897 +Q 246.705168 46.561321 247.234146 47.600617 +Q 247.763306 48.638361 247.547531 50.471015 +Q 247.332304 52.299013 246.576406 53.187029 +Q 245.820692 54.073494 244.602543 53.93007 +Q 243.385947 53.786829 242.856787 52.749085 +Q 242.327809 51.709788 242.543036 49.88179 +Q 242.758811 48.049136 243.514526 47.162672 +Q 244.270424 46.274656 245.48702 46.417897 z " style="fill:#ffffff;stroke:#000000;stroke-width:3;"/> - <path clip-path="url(#p826a730be7)" d="M 262.959783 52.877037 -L 266.117122 52.845091 -L 266.126835 53.805042 -L 262.969496 53.836987 -z -M 268.219506 55.595211 -L 270.152533 55.575653 -L 270.084999 48.900995 -L 267.985625 49.344133 -L 267.974718 48.266063 -L 270.062842 47.823039 -L 271.245907 47.811069 -L 271.324348 55.563797 -L 273.257374 55.544239 -L 273.267447 56.539813 -L 268.22958 56.590785 -z -M 275.642653 55.026955 -L 276.880089 55.014435 -L 276.895152 56.503109 -L 275.657715 56.515629 -z -M 281.922471 48.483085 -Q 281.009393 48.492324 280.557272 49.396944 -Q 280.107007 50.299671 280.125275 52.105203 -Q 280.143467 53.903236 280.611924 54.798543 -Q 281.082256 55.69383 281.995335 55.684592 -Q 282.915912 55.675277 283.366158 54.770676 -Q 283.818279 53.866055 283.800087 52.068022 -Q 283.781819 50.26249 283.311506 49.369077 -Q 282.843049 48.473771 281.922471 48.483085 -z -M 281.912986 47.545633 -Q 283.384786 47.530742 284.172776 48.687204 -Q 284.960748 49.84179 284.983151 52.056052 -Q 285.005498 54.264689 284.241068 55.436858 -Q 283.476619 56.607152 282.00482 56.622044 -Q 280.534895 56.636916 279.746923 55.482329 -Q 278.958933 54.325867 278.936586 52.11723 -Q 278.914182 49.902969 279.678631 48.732675 -Q 280.443061 47.560506 281.912986 47.545633 -z -M 289.556846 48.405842 -Q 288.643768 48.41508 288.191647 49.319701 -Q 287.741382 50.222427 287.75965 52.02796 -Q 287.777842 53.825993 288.246299 54.721299 -Q 288.716631 55.616587 289.629709 55.607348 -Q 290.550287 55.598034 291.000533 54.693432 -Q 291.452654 53.788812 291.434462 51.990779 -Q 291.416194 50.185246 290.945881 49.291834 -Q 290.477424 48.396528 289.556846 48.405842 -z -M 289.547361 47.46839 -Q 291.01916 47.453498 291.807151 48.60996 -Q 292.595123 49.764547 292.617526 51.978809 -Q 292.639873 54.187446 291.875443 55.359615 -Q 291.110994 56.529909 289.639194 56.5448 -Q 288.16927 56.559673 287.381298 55.405086 -Q 286.593307 54.248624 286.570961 52.039987 -Q 286.548557 49.825725 287.313006 48.655431 -Q 288.077436 47.483262 289.547361 47.46839 -z -M 297.191221 48.328598 -Q 296.278142 48.337837 295.826022 49.242457 -Q 295.375757 50.145184 295.394025 51.950717 -Q 295.412217 53.74875 295.880674 54.644056 -Q 296.351006 55.539343 297.264084 55.530105 -Q 298.184662 55.520791 298.634908 54.616189 -Q 299.087029 53.711568 299.068837 51.913535 -Q 299.050569 50.108003 298.580256 49.21459 -Q 298.111799 48.319284 297.191221 48.328598 -z -M 297.181736 47.391146 -Q 298.653535 47.376255 299.441526 48.532717 -Q 300.229498 49.687304 300.251901 51.901565 -Q 300.274248 54.110202 299.509818 55.282371 -Q 298.745369 56.452665 297.273569 56.467557 -Q 295.803645 56.482429 295.015673 55.327842 -Q 294.227682 54.171381 294.205336 51.962744 -Q 294.182932 49.748482 294.947381 48.578188 -Q 295.711811 47.406019 297.181736 47.391146 + <path clip-path="url(#pedd1dac049)" d="M 216.619082 47.331407 +L 219.232281 47.639083 +L 219.138736 48.433595 +L 216.525537 48.125919 +z +M 220.679095 50.134756 +L 222.278981 50.323125 +L 222.929412 44.798784 +L 221.147205 44.942939 +L 221.252261 44.050665 +L 223.025157 43.905413 +L 224.004331 44.020701 +L 223.248844 50.437316 +L 224.848731 50.625685 +L 224.751714 51.449681 +L 220.582078 50.958752 +z +M 226.87511 50.450493 +L 227.899285 50.571079 +L 227.754217 51.803193 +L 226.730041 51.682608 +z +M 232.758349 45.705881 +Q 232.002631 45.616903 231.533195 46.316813 +Q 231.065492 47.015353 230.889547 48.509718 +Q 230.714333 49.997877 231.006821 50.787494 +Q 231.30086 51.577295 232.056578 51.666272 +Q 232.818502 51.755981 233.286387 51.055889 +Q 233.755824 50.355979 233.931038 48.867821 +Q 234.106984 47.373456 233.812761 46.585207 +Q 233.520274 45.795589 232.758349 45.705881 +z +M 232.849702 44.92999 +Q 234.06785 45.073414 234.596827 46.11271 +Q 235.125987 47.150454 234.910212 48.983108 +Q 234.694985 50.811106 233.939088 51.699122 +Q 233.183373 52.585587 231.965225 52.442163 +Q 230.748628 52.298922 230.219468 51.261178 +Q 229.690491 50.221882 229.905718 48.393883 +Q 230.121493 46.56123 230.877208 45.674765 +Q 231.633105 44.786749 232.849702 44.92999 +z +M 239.077008 46.449834 +Q 238.321291 46.360857 237.851854 47.060766 +Q 237.384152 47.759307 237.208206 49.253672 +Q 237.032992 50.74183 237.32548 51.531448 +Q 237.619519 52.321248 238.375237 52.410226 +Q 239.137161 52.499934 239.605046 51.799842 +Q 240.074483 51.099933 240.249698 49.611774 +Q 240.425643 48.117409 240.131421 47.32916 +Q 239.838933 46.539543 239.077008 46.449834 +z +M 239.168361 45.673944 +Q 240.386509 45.817367 240.915486 46.856663 +Q 241.444647 47.894408 241.228872 49.727062 +Q 241.013645 51.55506 240.257747 52.443076 +Q 239.502032 53.32954 238.283884 53.186117 +Q 237.067288 53.042876 236.538128 52.005131 +Q 236.00915 50.965835 236.224377 49.137837 +Q 236.440152 47.305183 237.195867 46.418719 +Q 237.951764 45.530703 239.168361 45.673944 +z +M 245.395667 47.193788 +Q 244.63995 47.10481 244.170513 47.80472 +Q 243.702811 48.50326 243.526866 49.997625 +Q 243.351651 51.485784 243.644139 52.275401 +Q 243.938179 53.065202 244.693896 53.154179 +Q 245.455821 53.243888 245.923706 52.543796 +Q 246.393142 51.843886 246.568357 50.355728 +Q 246.744302 48.861363 246.45008 48.073114 +Q 246.157592 47.283496 245.395667 47.193788 +z +M 245.48702 46.417897 +Q 246.705168 46.561321 247.234146 47.600617 +Q 247.763306 48.638361 247.547531 50.471015 +Q 247.332304 52.299013 246.576406 53.187029 +Q 245.820692 54.073494 244.602543 53.93007 +Q 243.385947 53.786829 242.856787 52.749085 +Q 242.327809 51.709788 242.543036 49.88179 +Q 242.758811 48.049136 243.514526 47.162672 +Q 244.270424 46.274656 245.48702 46.417897 z " style="fill:#ffffff;"/> - </g> - <g id="text_20"> - <g id="patch_69"> - <path clip-path="url(#p826a730be7)" d="M 320.654056 273.491694 -L 320.796655 274.756473 -L 322.046499 274.601966 -L 323.296343 274.447459 -L 323.424006 275.700329 -L 323.55167 276.9532 -L 324.801514 276.798693 -L 326.051357 276.644185 -L 326.179021 277.897056 -L 326.306684 279.149926 -L 327.556528 278.995419 -L 328.806372 278.840912 -L 328.934036 280.093782 -L 329.061699 281.346652 -L 330.311543 281.192145 -L 331.561387 281.037638 -L 331.68905 282.290508 -L 331.816714 283.543379 -L 333.066558 283.388872 -L 334.316402 283.234365 -L 334.444065 284.487235 -L 334.571729 285.740105 -L 335.821572 285.585598 -L 337.071416 285.431091 -L 337.19908 286.683961 -L 337.326743 287.936832 -L 338.576587 287.782324 -L 339.826431 287.627817 -L 339.954095 288.880688 -L 340.081758 290.133558 -L 341.331602 289.979051 -L 342.581446 289.824544 -L 342.709109 291.077414 -L 342.836773 292.330284 -L 344.086617 292.175777 -L 345.33646 292.02127 -L 345.464124 293.27414 -L 345.591788 294.527011 -L 346.841631 294.372504 -L 348.091475 294.217996 -L 348.219139 295.470867 -L 348.346802 296.723737 -L 349.596646 296.56923 -L 350.84649 296.414723 -L 350.974153 297.667593 -L 351.101817 298.920463 -L 352.351661 298.765956 -L 353.601505 298.611449 -L 353.729168 299.864319 -L 353.856832 301.11719 -L 355.121611 300.974591 -L 356.38639 300.831993 -L 356.275498 299.527448 -L 356.164607 298.222903 -L 357.461094 298.040539 -L 358.75758 297.858175 -L 358.646689 296.55363 -L 358.535798 295.249085 -L 359.832284 295.066721 -L 361.12877 294.884357 -L 361.017879 293.579812 -L 360.906988 292.275267 -L 362.203474 292.092903 -L 363.499961 291.910539 -L 363.389069 290.605994 -L 363.278178 289.301449 -L 364.574665 289.119085 -L 365.871151 288.936721 -L 365.728552 287.671942 -L 365.585954 286.407163 -L 364.33611 286.56167 -L 363.086266 286.716177 -L 362.958602 285.463307 -L 362.830939 284.210437 -L 361.581095 284.364944 -L 360.331251 284.519451 -L 360.203588 283.266581 -L 360.075924 282.01371 -L 358.82608 282.168217 -L 357.576237 282.322725 -L 357.448573 281.069854 -L 357.320909 279.816984 -L 356.071066 279.971491 -L 354.821222 280.125998 -L 354.693558 278.873128 -L 354.565895 277.620258 -L 353.316051 277.774765 -L 352.066207 277.929272 -L 351.938544 276.676402 -L 351.81088 275.423531 -L 350.561036 275.578038 -L 349.311192 275.732545 -L 349.183529 274.479675 -L 349.055865 273.226805 -L 347.806021 273.381312 -L 346.556178 273.535819 -L 346.428514 272.282949 -L 346.300851 271.030078 -L 345.051007 271.184586 -L 343.801163 271.339093 -L 343.673499 270.086222 -L 343.545836 268.833352 -L 342.295992 268.987859 -L 341.046148 269.142366 -L 340.918485 267.889496 -L 340.790821 266.636626 -L 339.540977 266.791133 -L 338.291133 266.94564 -L 338.16347 265.69277 -L 338.035806 264.439899 -L 336.785963 264.594406 -L 335.536119 264.748914 -L 335.408455 263.496043 -L 335.280792 262.243173 -L 334.030948 262.39768 -L 332.781104 262.552187 -L 332.65344 261.299317 -L 332.525777 260.046447 -L 331.260998 260.189045 -L 329.996219 260.331644 -L 330.10711 261.636188 -L 330.218001 262.940733 -L 328.921515 263.123097 -L 327.625029 263.305462 -L 327.73592 264.610006 -L 327.846811 265.914551 -L 326.550325 266.096915 -L 325.253838 266.27928 -L 325.36473 267.583824 -L 325.475621 268.888369 -L 324.179134 269.070733 -L 322.882648 269.253098 -L 322.993539 270.557642 -L 323.10443 271.862187 -L 321.807944 272.044551 -L 320.511458 272.226916 + </g> + <g id="text_20"> + <g id="patch_70"> + <path clip-path="url(#pedd1dac049)" d="M 262.749733 222.888323 +L 262.82124 223.94657 +L 263.867498 223.864592 +L 264.913756 223.782614 +L 264.973274 224.830389 +L 265.032792 225.878165 +L 266.07905 225.796187 +L 267.125308 225.714209 +L 267.184826 226.761985 +L 267.244344 227.80976 +L 268.290602 227.727782 +L 269.33686 227.645804 +L 269.396378 228.69358 +L 269.455896 229.741356 +L 270.502154 229.659377 +L 271.548412 229.577399 +L 271.60793 230.625175 +L 271.667448 231.672951 +L 272.713706 231.590973 +L 273.759965 231.508994 +L 273.819483 232.55677 +L 273.879001 233.604546 +L 274.925259 233.522568 +L 275.971517 233.44059 +L 276.031035 234.488365 +L 276.090553 235.536141 +L 277.136811 235.454163 +L 278.183069 235.372185 +L 278.242587 236.419961 +L 278.302105 237.467736 +L 279.348363 237.385758 +L 280.394621 237.30378 +L 280.454139 238.351556 +L 280.513657 239.399331 +L 281.559915 239.317353 +L 282.606173 239.235375 +L 282.665691 240.283151 +L 282.725209 241.330927 +L 283.771467 241.248948 +L 284.817725 241.16697 +L 284.877243 242.214746 +L 284.936761 243.262522 +L 285.983019 243.180544 +L 287.029277 243.098565 +L 287.088795 244.146341 +L 287.148313 245.194117 +L 288.194572 245.112139 +L 289.24083 245.030161 +L 289.300348 246.077936 +L 289.359866 247.125712 +L 290.418113 247.054205 +L 291.47636 246.982698 +L 291.432733 245.89253 +L 291.389107 244.802361 +L 292.475234 244.698933 +L 293.561362 244.595505 +L 293.517736 243.505336 +L 293.474109 242.415168 +L 294.560237 242.31174 +L 295.646364 242.208311 +L 295.602738 241.118143 +L 295.559112 240.027974 +L 296.645239 239.924546 +L 297.731367 239.821118 +L 297.687741 238.730949 +L 297.644114 237.640781 +L 298.730242 237.537352 +L 299.816369 237.433924 +L 299.744862 236.375677 +L 299.673356 235.31743 +L 298.627097 235.399408 +L 297.580839 235.481386 +L 297.521321 234.433611 +L 297.461803 233.385835 +L 296.415545 233.467813 +L 295.369287 233.549791 +L 295.309769 232.502015 +L 295.250251 231.45424 +L 294.203993 231.536218 +L 293.157735 231.618196 +L 293.098217 230.57042 +L 293.038699 229.522644 +L 291.992441 229.604623 +L 290.946183 229.686601 +L 290.886665 228.638825 +L 290.827147 227.591049 +L 289.780889 227.673027 +L 288.734631 227.755006 +L 288.675113 226.70723 +L 288.615595 225.659454 +L 287.569337 225.741432 +L 286.523079 225.82341 +L 286.463561 224.775635 +L 286.404043 223.727859 +L 285.357785 223.809837 +L 284.311526 223.891815 +L 284.252008 222.844039 +L 284.19249 221.796264 +L 283.146232 221.878242 +L 282.099974 221.96022 +L 282.040456 220.912444 +L 281.980938 219.864669 +L 280.93468 219.946647 +L 279.888422 220.028625 +L 279.828904 218.980849 +L 279.769386 217.933073 +L 278.723128 218.015052 +L 277.67687 218.09703 +L 277.617352 217.049254 +L 277.557834 216.001478 +L 276.511576 216.083456 +L 275.465318 216.165435 +L 275.4058 215.117659 +L 275.346282 214.069883 +L 274.300024 214.151861 +L 273.253766 214.233839 +L 273.194248 213.186064 +L 273.13473 212.138288 +L 272.076483 212.209795 +L 271.018236 212.281302 +L 271.061862 213.37147 +L 271.105488 214.461639 +L 270.019361 214.565067 +L 268.933233 214.668495 +L 268.97686 215.758664 +L 269.020486 216.848832 +L 267.934358 216.95226 +L 266.848231 217.055689 +L 266.891857 218.145857 +L 266.935484 219.236026 +L 265.849356 219.339454 +L 264.763228 219.442882 +L 264.806855 220.533051 +L 264.850481 221.623219 +L 263.764354 221.726648 +L 262.678226 221.830076 z " style="fill:none;stroke:#0000ff;stroke-linejoin:miter;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 328.811509 268.533275 -L 331.280284 270.501767 -L 330.681788 271.252368 -L 328.213013 269.283877 -z -M 337.339702 269.959186 -Q 336.625751 269.389914 335.70402 269.806044 -Q 334.784925 270.221877 333.659238 271.633652 -Q 332.538226 273.039564 332.33631 274.029642 -Q 332.135861 275.02089 332.849812 275.590162 -Q 333.569627 276.164111 334.489891 275.746812 -Q 335.411622 275.330682 336.532633 273.92477 -Q 337.65832 272.512995 337.857601 271.523213 -Q 338.059517 270.533135 337.339702 269.959186 -z -M 337.924171 269.226177 -Q 339.074995 270.143793 338.956016 271.538131 -Q 338.838206 272.931002 337.457691 274.66237 -Q 336.080682 276.389339 334.74784 276.815796 -Q 333.416167 277.240787 332.265343 276.323171 -Q 331.115985 275.406724 331.233794 274.013853 -Q 331.352773 272.619515 332.729782 270.892546 -Q 334.110298 269.161178 335.44197 268.736187 -Q 336.774812 268.30973 337.924171 269.226177 -z -M 337.290171 278.207448 -L 338.257743 278.978947 -L 337.329606 280.142965 -L 336.362034 279.371466 -z -M 344.808991 274.917266 -L 348.441784 277.813894 -L 347.819909 278.593815 -L 345.034475 276.372833 -L 343.698379 278.048492 -Q 343.954163 278.139734 344.181894 278.26616 -Q 344.41109 278.393755 344.6134 278.555068 -Q 345.75836 279.468009 345.926559 280.6285 -Q 346.096224 281.790161 345.241731 282.86182 -Q 344.361521 283.965732 343.185342 284.030295 -Q 342.010332 284.093393 340.759819 283.096289 -Q 340.328809 282.752621 339.940121 282.322795 -Q 339.552898 281.894137 339.193336 281.36763 -L 339.935612 280.436708 -Q 340.168715 280.989481 340.52085 281.450113 -Q 340.872985 281.910746 341.362636 282.301171 -Q 342.155751 282.933567 342.949525 282.885433 -Q 343.744766 282.838468 344.315207 282.123051 -Q 344.88448 281.4091 344.753196 280.623367 -Q 344.624548 279.837336 343.831432 279.204941 -Q 343.46053 278.9092 343.025632 278.696724 -Q 342.592201 278.485418 342.069001 278.353612 -z -M 352.261018 281.856781 -Q 351.547068 281.287509 350.625337 281.703639 -Q 349.706241 282.119472 348.580554 283.531247 -Q 347.459543 284.937159 347.257627 285.927237 -Q 347.057177 286.918485 347.771128 287.487757 -Q 348.490943 288.061706 349.411208 287.644407 -Q 350.332939 287.228277 351.45395 285.822365 -Q 352.579637 284.41059 352.778918 283.420808 -Q 352.980833 282.43073 352.261018 281.856781 -z -M 352.845487 281.123772 -Q 353.996312 282.041388 353.877333 283.435726 -Q 353.759523 284.828598 352.379007 286.559965 -Q 351.001999 288.286934 349.669157 288.713392 -Q 348.337484 289.138383 347.186659 288.220766 -Q 346.037301 287.304319 346.155111 285.911448 -Q 346.27409 284.51711 347.651099 282.790141 -Q 349.031614 281.058773 350.363287 280.633782 -Q 351.696129 280.207325 352.845487 281.123772 -z -M 358.230461 286.61655 -Q 357.51651 286.047277 356.59478 286.463407 -Q 355.675684 286.87924 354.549997 288.291016 -Q 353.428986 289.696927 353.22707 290.687006 -Q 353.02662 291.678253 353.740571 292.247526 -Q 354.460386 292.821474 355.380651 292.404175 -Q 356.302381 291.988045 357.423393 290.582134 -Q 358.54908 289.170358 358.748361 288.180577 -Q 358.950276 287.190498 358.230461 286.61655 -z -M 358.81493 285.883541 -Q 359.965755 286.801157 359.846776 288.195495 -Q 359.728966 289.588366 358.34845 291.319734 -Q 356.971442 293.046703 355.6386 293.47316 -Q 354.306927 293.898151 353.156102 292.980535 -Q 352.006744 292.064088 352.124554 290.671216 -Q 352.243533 289.276879 353.620542 287.549909 -Q 355.001057 285.818542 356.33273 285.393551 -Q 357.665572 284.967094 358.81493 285.883541 + </g> + <path clip-path="url(#pedd1dac049)" d="M 269.725854 219.064918 +L 271.707631 220.795825 +L 271.181369 221.398361 +L 269.199593 219.667454 +z +M 276.77233 220.570287 +Q 276.199215 220.069722 275.416345 220.381747 +Q 274.635681 220.693623 273.645857 221.826907 +Q 272.660145 222.955485 272.455097 223.772186 +Q 272.251227 224.589915 272.824341 225.09048 +Q 273.402163 225.595156 274.183856 225.282104 +Q 274.966726 224.970079 275.952438 223.841502 +Q 276.942262 222.708217 277.145104 221.891665 +Q 277.350152 221.074964 276.77233 220.570287 +z +M 277.286257 219.981874 +Q 278.210066 220.78874 278.058975 221.945081 +Q 277.908912 223.100245 276.695016 224.490078 +Q 275.484203 225.87638 274.358699 226.181658 +Q 273.234223 226.485759 272.310414 225.678893 +Q 271.387782 224.873056 271.537845 223.717891 +Q 271.688936 222.56155 272.899749 221.175248 +Q 274.113645 219.785415 275.238121 219.481314 +Q 276.363625 219.176036 277.286257 219.981874 +z +M 276.423241 227.435092 +L 277.199947 228.113476 +L 276.383831 229.047877 +L 275.607125 228.369493 +z +M 282.805438 224.976654 +L 285.721616 227.523677 +L 285.174797 228.149749 +L 282.938826 226.196826 +L 281.763988 227.541939 +Q 281.973523 227.627445 282.158389 227.741194 +Q 282.344432 227.85597 282.506834 227.997814 +Q 283.425936 228.800568 283.522647 229.772952 +Q 283.620535 230.746363 282.869174 231.606624 +Q 282.0952 232.492775 281.113625 232.502625 +Q 280.133078 232.511298 279.129244 231.634538 +Q 278.783257 231.332349 278.475717 230.960012 +Q 278.169355 230.588703 277.889671 230.136968 +L 278.542359 229.389683 +Q 278.715786 229.858564 278.991745 230.255182 +Q 279.267704 230.651801 279.660764 230.995104 +Q 280.297427 231.551173 280.960038 231.540729 +Q 281.623826 231.531312 282.125419 230.95702 +Q 282.625984 230.383905 282.546018 229.724884 +Q 282.468256 229.065715 281.831592 228.509645 +Q 281.533855 228.249598 281.179735 228.056481 +Q 280.826791 227.864392 280.396148 227.735137 +z +M 288.750222 231.031917 +Q 288.177107 230.531352 287.394238 230.843377 +Q 286.613573 231.155252 285.623749 232.288537 +Q 284.638037 233.417114 284.43299 234.233815 +Q 284.229119 235.051544 284.802234 235.552109 +Q 285.380056 236.056786 286.161748 235.743733 +Q 286.944618 235.431708 287.93033 234.303131 +Q 288.920154 233.169847 289.122997 232.353295 +Q 289.328044 231.536593 288.750222 231.031917 +z +M 289.264149 230.443503 +Q 290.187958 231.250369 290.036867 232.40671 +Q 289.886804 233.561875 288.672908 234.951707 +Q 287.462096 236.33801 286.336592 236.643287 +Q 285.212116 236.947389 284.288307 236.140523 +Q 283.365674 235.334685 283.515738 234.179521 +Q 283.666829 233.023179 284.877641 231.636877 +Q 286.091537 230.247045 287.216013 229.942943 +Q 288.341517 229.637666 289.264149 230.443503 +z +M 293.542115 235.217211 +Q 292.969 234.716646 292.18613 235.028671 +Q 291.405465 235.340547 290.415642 236.473831 +Q 289.42993 237.602408 289.224882 238.419109 +Q 289.021011 239.236839 289.594126 239.737404 +Q 290.171948 240.24208 290.953641 239.929027 +Q 291.73651 239.617003 292.722223 238.488425 +Q 293.712046 237.355141 293.914889 236.538589 +Q 294.119937 235.721888 293.542115 235.217211 +z +M 294.056042 234.628798 +Q 294.979851 235.435663 294.82876 236.592004 +Q 294.678696 237.747169 293.464801 239.137002 +Q 292.253988 240.523304 291.128484 240.828582 +Q 290.004008 241.132683 289.080199 240.325817 +Q 288.157567 239.519979 288.30763 238.364815 +Q 288.458721 237.208474 289.669533 235.822171 +Q 290.883429 234.432339 292.007905 234.128238 +Q 293.133409 233.82296 294.056042 234.628798 z " style="fill:#ffffff;stroke:#000000;stroke-width:3;"/> - <path clip-path="url(#p826a730be7)" d="M 328.811509 268.533275 -L 331.280284 270.501767 -L 330.681788 271.252368 -L 328.213013 269.283877 -z -M 337.339702 269.959186 -Q 336.625751 269.389914 335.70402 269.806044 -Q 334.784925 270.221877 333.659238 271.633652 -Q 332.538226 273.039564 332.33631 274.029642 -Q 332.135861 275.02089 332.849812 275.590162 -Q 333.569627 276.164111 334.489891 275.746812 -Q 335.411622 275.330682 336.532633 273.92477 -Q 337.65832 272.512995 337.857601 271.523213 -Q 338.059517 270.533135 337.339702 269.959186 -z -M 337.924171 269.226177 -Q 339.074995 270.143793 338.956016 271.538131 -Q 338.838206 272.931002 337.457691 274.66237 -Q 336.080682 276.389339 334.74784 276.815796 -Q 333.416167 277.240787 332.265343 276.323171 -Q 331.115985 275.406724 331.233794 274.013853 -Q 331.352773 272.619515 332.729782 270.892546 -Q 334.110298 269.161178 335.44197 268.736187 -Q 336.774812 268.30973 337.924171 269.226177 -z -M 337.290171 278.207448 -L 338.257743 278.978947 -L 337.329606 280.142965 -L 336.362034 279.371466 -z -M 344.808991 274.917266 -L 348.441784 277.813894 -L 347.819909 278.593815 -L 345.034475 276.372833 -L 343.698379 278.048492 -Q 343.954163 278.139734 344.181894 278.26616 -Q 344.41109 278.393755 344.6134 278.555068 -Q 345.75836 279.468009 345.926559 280.6285 -Q 346.096224 281.790161 345.241731 282.86182 -Q 344.361521 283.965732 343.185342 284.030295 -Q 342.010332 284.093393 340.759819 283.096289 -Q 340.328809 282.752621 339.940121 282.322795 -Q 339.552898 281.894137 339.193336 281.36763 -L 339.935612 280.436708 -Q 340.168715 280.989481 340.52085 281.450113 -Q 340.872985 281.910746 341.362636 282.301171 -Q 342.155751 282.933567 342.949525 282.885433 -Q 343.744766 282.838468 344.315207 282.123051 -Q 344.88448 281.4091 344.753196 280.623367 -Q 344.624548 279.837336 343.831432 279.204941 -Q 343.46053 278.9092 343.025632 278.696724 -Q 342.592201 278.485418 342.069001 278.353612 -z -M 352.261018 281.856781 -Q 351.547068 281.287509 350.625337 281.703639 -Q 349.706241 282.119472 348.580554 283.531247 -Q 347.459543 284.937159 347.257627 285.927237 -Q 347.057177 286.918485 347.771128 287.487757 -Q 348.490943 288.061706 349.411208 287.644407 -Q 350.332939 287.228277 351.45395 285.822365 -Q 352.579637 284.41059 352.778918 283.420808 -Q 352.980833 282.43073 352.261018 281.856781 -z -M 352.845487 281.123772 -Q 353.996312 282.041388 353.877333 283.435726 -Q 353.759523 284.828598 352.379007 286.559965 -Q 351.001999 288.286934 349.669157 288.713392 -Q 348.337484 289.138383 347.186659 288.220766 -Q 346.037301 287.304319 346.155111 285.911448 -Q 346.27409 284.51711 347.651099 282.790141 -Q 349.031614 281.058773 350.363287 280.633782 -Q 351.696129 280.207325 352.845487 281.123772 -z -M 358.230461 286.61655 -Q 357.51651 286.047277 356.59478 286.463407 -Q 355.675684 286.87924 354.549997 288.291016 -Q 353.428986 289.696927 353.22707 290.687006 -Q 353.02662 291.678253 353.740571 292.247526 -Q 354.460386 292.821474 355.380651 292.404175 -Q 356.302381 291.988045 357.423393 290.582134 -Q 358.54908 289.170358 358.748361 288.180577 -Q 358.950276 287.190498 358.230461 286.61655 -z -M 358.81493 285.883541 -Q 359.965755 286.801157 359.846776 288.195495 -Q 359.728966 289.588366 358.34845 291.319734 -Q 356.971442 293.046703 355.6386 293.47316 -Q 354.306927 293.898151 353.156102 292.980535 -Q 352.006744 292.064088 352.124554 290.671216 -Q 352.243533 289.276879 353.620542 287.549909 -Q 355.001057 285.818542 356.33273 285.393551 -Q 357.665572 284.967094 358.81493 285.883541 + <path clip-path="url(#pedd1dac049)" d="M 269.725854 219.064918 +L 271.707631 220.795825 +L 271.181369 221.398361 +L 269.199593 219.667454 +z +M 276.77233 220.570287 +Q 276.199215 220.069722 275.416345 220.381747 +Q 274.635681 220.693623 273.645857 221.826907 +Q 272.660145 222.955485 272.455097 223.772186 +Q 272.251227 224.589915 272.824341 225.09048 +Q 273.402163 225.595156 274.183856 225.282104 +Q 274.966726 224.970079 275.952438 223.841502 +Q 276.942262 222.708217 277.145104 221.891665 +Q 277.350152 221.074964 276.77233 220.570287 +z +M 277.286257 219.981874 +Q 278.210066 220.78874 278.058975 221.945081 +Q 277.908912 223.100245 276.695016 224.490078 +Q 275.484203 225.87638 274.358699 226.181658 +Q 273.234223 226.485759 272.310414 225.678893 +Q 271.387782 224.873056 271.537845 223.717891 +Q 271.688936 222.56155 272.899749 221.175248 +Q 274.113645 219.785415 275.238121 219.481314 +Q 276.363625 219.176036 277.286257 219.981874 +z +M 276.423241 227.435092 +L 277.199947 228.113476 +L 276.383831 229.047877 +L 275.607125 228.369493 +z +M 282.805438 224.976654 +L 285.721616 227.523677 +L 285.174797 228.149749 +L 282.938826 226.196826 +L 281.763988 227.541939 +Q 281.973523 227.627445 282.158389 227.741194 +Q 282.344432 227.85597 282.506834 227.997814 +Q 283.425936 228.800568 283.522647 229.772952 +Q 283.620535 230.746363 282.869174 231.606624 +Q 282.0952 232.492775 281.113625 232.502625 +Q 280.133078 232.511298 279.129244 231.634538 +Q 278.783257 231.332349 278.475717 230.960012 +Q 278.169355 230.588703 277.889671 230.136968 +L 278.542359 229.389683 +Q 278.715786 229.858564 278.991745 230.255182 +Q 279.267704 230.651801 279.660764 230.995104 +Q 280.297427 231.551173 280.960038 231.540729 +Q 281.623826 231.531312 282.125419 230.95702 +Q 282.625984 230.383905 282.546018 229.724884 +Q 282.468256 229.065715 281.831592 228.509645 +Q 281.533855 228.249598 281.179735 228.056481 +Q 280.826791 227.864392 280.396148 227.735137 +z +M 288.750222 231.031917 +Q 288.177107 230.531352 287.394238 230.843377 +Q 286.613573 231.155252 285.623749 232.288537 +Q 284.638037 233.417114 284.43299 234.233815 +Q 284.229119 235.051544 284.802234 235.552109 +Q 285.380056 236.056786 286.161748 235.743733 +Q 286.944618 235.431708 287.93033 234.303131 +Q 288.920154 233.169847 289.122997 232.353295 +Q 289.328044 231.536593 288.750222 231.031917 +z +M 289.264149 230.443503 +Q 290.187958 231.250369 290.036867 232.40671 +Q 289.886804 233.561875 288.672908 234.951707 +Q 287.462096 236.33801 286.336592 236.643287 +Q 285.212116 236.947389 284.288307 236.140523 +Q 283.365674 235.334685 283.515738 234.179521 +Q 283.666829 233.023179 284.877641 231.636877 +Q 286.091537 230.247045 287.216013 229.942943 +Q 288.341517 229.637666 289.264149 230.443503 +z +M 293.542115 235.217211 +Q 292.969 234.716646 292.18613 235.028671 +Q 291.405465 235.340547 290.415642 236.473831 +Q 289.42993 237.602408 289.224882 238.419109 +Q 289.021011 239.236839 289.594126 239.737404 +Q 290.171948 240.24208 290.953641 239.929027 +Q 291.73651 239.617003 292.722223 238.488425 +Q 293.712046 237.355141 293.914889 236.538589 +Q 294.119937 235.721888 293.542115 235.217211 +z +M 294.056042 234.628798 +Q 294.979851 235.435663 294.82876 236.592004 +Q 294.678696 237.747169 293.464801 239.137002 +Q 292.253988 240.523304 291.128484 240.828582 +Q 290.004008 241.132683 289.080199 240.325817 +Q 288.157567 239.519979 288.30763 238.364815 +Q 288.458721 237.208474 289.669533 235.822171 +Q 290.883429 234.432339 292.007905 234.128238 +Q 293.133409 233.82296 294.056042 234.628798 z " style="fill:#ffffff;"/> - </g> - <g id="text_21"> - <g id="patch_70"> - <path clip-path="url(#p826a730be7)" d="M 457.823505 328.975921 -L 457.5202 330.212047 -L 458.746427 330.499015 -L 459.972653 330.785984 -L 459.659449 332.005773 -L 459.346245 333.225562 -L 460.572471 333.512531 -L 461.798697 333.7995 -L 461.485493 335.019289 -L 461.172289 336.239078 -L 462.398515 336.526046 -L 463.624741 336.813015 -L 463.311537 338.032804 -L 462.998333 339.252593 -L 464.224559 339.539562 -L 465.450786 339.82653 -L 465.137581 341.046319 -L 464.824377 342.266108 -L 466.050604 342.553077 -L 467.27683 342.840046 -L 466.963626 344.059835 -L 466.650421 345.279624 -L 467.876648 345.566593 -L 469.102874 345.853561 -L 468.78967 347.07335 -L 468.476466 348.293139 -L 469.702692 348.580108 -L 470.928918 348.867077 -L 470.615714 350.086866 -L 470.30251 351.306655 -L 471.528736 351.593624 -L 472.754963 351.880592 -L 472.441758 353.100381 -L 472.128554 354.32017 -L 473.35478 354.607139 -L 474.581007 354.894108 -L 474.267803 356.113897 -L 473.954598 357.333686 -L 475.180825 357.620654 -L 476.407051 357.907623 -L 476.093847 359.127412 -L 475.780643 360.347201 -L 477.006869 360.63417 -L 478.233095 360.921139 -L 477.919891 362.140928 -L 477.606687 363.360717 -L 478.832913 363.647685 -L 480.05914 363.934654 -L 479.745935 365.154443 -L 479.432731 366.374232 -L 480.668857 366.677537 -L 481.904982 366.980842 -L 482.251784 365.71836 -L 482.598586 364.455877 -L 483.878208 364.732826 -L 485.157831 365.009774 -L 485.504633 363.747291 -L 485.851435 362.484809 -L 487.131057 362.761757 -L 488.410679 363.038705 -L 488.757482 361.776223 -L 489.104284 360.51374 -L 490.383906 360.790688 -L 491.663528 361.067636 -L 492.01033 359.805154 -L 492.357132 358.542672 -L 493.636755 358.81962 -L 494.916377 359.096568 -L 495.219682 357.860442 -L 495.522987 356.624317 -L 494.296761 356.337348 -L 493.070535 356.05038 -L 493.383739 354.830591 -L 493.696943 353.610802 -L 492.470717 353.323833 -L 491.24449 353.036864 -L 491.557695 351.817075 -L 491.870899 350.597286 -L 490.644673 350.310317 -L 489.418446 350.023349 -L 489.73165 348.80356 -L 490.044855 347.583771 -L 488.818628 347.296802 -L 487.592402 347.009833 -L 487.905606 345.790044 -L 488.21881 344.570255 -L 486.992584 344.283286 -L 485.766358 343.996318 -L 486.079562 342.776529 -L 486.392766 341.55674 -L 485.16654 341.269771 -L 483.940314 340.982802 -L 484.253518 339.763013 -L 484.566722 338.543224 -L 483.340496 338.256256 -L 482.114269 337.969287 -L 482.427473 336.749498 -L 482.740678 335.529709 -L 481.514451 335.24274 -L 480.288225 334.955771 -L 480.601429 333.735982 -L 480.914633 332.516193 -L 479.688407 332.229225 -L 478.462181 331.942256 -L 478.775385 330.722467 -L 479.088589 329.502678 -L 477.862363 329.215709 -L 476.636137 328.92874 -L 476.949341 327.708951 -L 477.262545 326.489162 -L 476.036319 326.202194 -L 474.810092 325.915225 -L 475.123297 324.695436 -L 475.436501 323.475647 -L 474.210274 323.188678 -L 472.984048 322.90171 -L 473.297252 321.681921 -L 473.610456 320.462132 -L 472.374331 320.158826 -L 471.138206 319.855521 -L 470.791404 321.118004 -L 470.444602 322.380486 -L 469.164979 322.103538 -L 467.885357 321.82659 -L 467.538555 323.089072 -L 467.191753 324.351555 -L 465.91213 324.074607 -L 464.632508 323.797659 -L 464.285706 325.060141 -L 463.938904 326.322623 -L 462.659282 326.045675 -L 461.379659 325.768727 -L 461.032857 327.03121 -L 460.686055 328.293692 -L 459.406433 328.016744 -L 458.126811 327.739796 + </g> + <g id="text_21"> + <g id="patch_71"> + <path clip-path="url(#pedd1dac049)" d="M 365.568022 260.547211 +L 365.316581 261.577637 +L 366.338741 261.815474 +L 367.3609 262.053311 +L 367.101194 263.070134 +L 366.841487 264.086957 +L 367.863646 264.324794 +L 368.885806 264.562631 +L 368.626099 265.579454 +L 368.366393 266.596276 +L 369.388552 266.834113 +L 370.410711 267.07195 +L 370.151005 268.088773 +L 369.891298 269.105596 +L 370.913457 269.343433 +L 371.935617 269.58127 +L 371.67591 270.598093 +L 371.416204 271.614916 +L 372.438363 271.852753 +L 373.460522 272.09059 +L 373.200816 273.107413 +L 372.941109 274.124236 +L 373.963268 274.362073 +L 374.985428 274.59991 +L 374.725721 275.616733 +L 374.466015 276.633556 +L 375.488174 276.871393 +L 376.510333 277.10923 +L 376.250627 278.126053 +L 375.99092 279.142876 +L 377.01308 279.380713 +L 378.035239 279.61855 +L 377.775532 280.635373 +L 377.515826 281.652195 +L 378.537985 281.890032 +L 379.560144 282.127869 +L 379.300438 283.144692 +L 379.040731 284.161515 +L 380.062891 284.399352 +L 381.08505 284.637189 +L 380.825343 285.654012 +L 380.565637 286.670835 +L 381.587796 286.908672 +L 382.609955 287.146509 +L 382.350249 288.163332 +L 382.090542 289.180155 +L 383.112702 289.417992 +L 384.134861 289.655829 +L 383.875154 290.672652 +L 383.615448 291.689475 +L 384.645874 291.940915 +L 385.6763 292.192355 +L 385.963959 291.139919 +L 386.251619 290.087482 +L 387.318264 290.316912 +L 388.38491 290.546342 +L 388.672569 289.493905 +L 388.960229 288.441469 +L 390.026874 288.670898 +L 391.09352 288.900328 +L 391.381179 287.847892 +L 391.668839 286.795455 +L 392.735484 287.024885 +L 393.80213 287.254315 +L 394.089789 286.201878 +L 394.377449 285.149442 +L 395.444094 285.378871 +L 396.51074 285.608301 +L 396.76218 284.577875 +L 397.01362 283.547449 +L 395.99146 283.309612 +L 394.969301 283.071775 +L 395.229008 282.054952 +L 395.488714 281.038129 +L 394.466555 280.800292 +L 393.444395 280.562455 +L 393.704102 279.545632 +L 393.963809 278.528809 +L 392.941649 278.290972 +L 391.91949 278.053135 +L 392.179197 277.036312 +L 392.438903 276.01949 +L 391.416744 275.781653 +L 390.394584 275.543816 +L 390.654291 274.526993 +L 390.913998 273.51017 +L 389.891838 273.272333 +L 388.869679 273.034496 +L 389.129386 272.017673 +L 389.389092 271.00085 +L 388.366933 270.763013 +L 387.344773 270.525176 +L 387.60448 269.508353 +L 387.864187 268.49153 +L 386.842027 268.253693 +L 385.819868 268.015856 +L 386.079575 266.999033 +L 386.339281 265.98221 +L 385.317122 265.744373 +L 384.294962 265.506536 +L 384.554669 264.489713 +L 384.814376 263.47289 +L 383.792216 263.235053 +L 382.770057 262.997216 +L 383.029764 261.980393 +L 383.28947 260.963571 +L 382.267311 260.725734 +L 381.245151 260.487897 +L 381.504858 259.471074 +L 381.764565 258.454251 +L 380.742405 258.216414 +L 379.720246 257.978577 +L 379.979953 256.961754 +L 380.239659 255.944931 +L 379.2175 255.707094 +L 378.19534 255.469257 +L 378.455047 254.452434 +L 378.714754 253.435611 +L 377.684328 253.184171 +L 376.653902 252.932731 +L 376.366242 253.985167 +L 376.078583 255.037604 +L 375.011937 254.808174 +L 373.945292 254.578744 +L 373.657632 255.631181 +L 373.369973 256.683617 +L 372.303327 256.454187 +L 371.236682 256.224758 +L 370.949022 257.277194 +L 370.661363 258.329631 +L 369.594717 258.100201 +L 368.528072 257.870771 +L 368.240412 258.923208 +L 367.952753 259.975644 +L 366.886107 259.746214 +L 365.819462 259.516785 z " style="fill:none;stroke:#0000ff;stroke-linejoin:miter;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 467.191955 327.142318 -L 468.828277 329.842736 -L 468.007248 330.34024 -L 466.370926 327.639822 -z -M 474.70183 331.427768 -Q 474.228618 330.646828 473.219867 330.718759 -Q 472.213692 330.791322 470.669451 331.727057 -Q 469.131624 332.658906 468.599972 333.518191 -Q 468.069292 334.379081 468.542504 335.160021 -Q 469.019602 335.947375 470.027381 335.873841 -Q 471.036132 335.80191 472.573959 334.870061 -Q 474.1182 333.934326 474.647276 333.074408 -Q 475.178928 332.215123 474.70183 331.427768 -z -M 475.503616 330.941924 -Q 476.266391 332.200729 475.672851 333.468027 -Q 475.080914 334.734353 473.187094 335.881916 -Q 471.298084 337.026564 469.899986 336.966103 -Q 468.503492 336.90467 467.740717 335.645865 -Q 466.978914 334.388663 467.570851 333.122337 -Q 468.164391 331.85504 470.053401 330.710392 -Q 471.947221 329.562828 473.343715 329.624261 -Q 474.741813 329.684723 475.503616 330.941924 -z -M 471.804692 339.150648 -L 472.446006 340.209006 -L 471.172769 340.980526 -L 470.531455 339.922168 -z -M 479.997308 338.661767 -L 482.40515 342.635422 -L 481.552049 343.15236 -L 479.705842 340.105571 -L 477.872958 341.21621 -Q 478.081447 341.39023 478.25145 341.587571 -Q 478.422425 341.786515 478.556518 342.007808 -Q 479.315407 343.260199 479.072167 344.407311 -Q 478.829899 345.556027 477.657686 346.26633 -Q 476.450196 346.998011 475.32418 346.652101 -Q 474.199769 346.305219 473.370919 344.93737 -Q 473.085243 344.46592 472.869057 343.928245 -Q 472.653842 343.392175 472.498401 342.773845 -L 473.51667 342.156823 -Q 473.544368 342.756095 473.715606 343.310044 -Q 473.886844 343.863992 474.211388 344.399586 -Q 474.737071 345.267119 475.498568 345.496286 -Q 476.261036 345.727055 477.04358 345.252872 -Q 477.82452 344.77966 477.972882 343.996971 -Q 478.123818 343.214915 477.598135 342.347381 -Q 477.352298 341.941677 477.017633 341.591991 -Q 476.683939 341.243909 476.238532 340.939404 -z -M 484.591789 347.749139 -Q 484.118577 346.968199 483.109827 347.04013 -Q 482.103651 347.112693 480.55941 348.048428 -Q 479.021583 348.980277 478.489931 349.839563 -Q 477.959251 350.700452 478.432463 351.481392 -Q 478.909562 352.268747 479.917341 352.195212 -Q 480.926091 352.123281 482.463918 351.191432 -Q 484.008159 350.255697 484.537236 349.39578 -Q 485.068888 348.536494 484.591789 347.749139 -z -M 485.393576 347.263296 -Q 486.156351 348.522101 485.56281 349.789398 -Q 484.970873 351.055724 483.077053 352.203287 -Q 481.188044 353.347936 479.789946 353.287474 -Q 478.393452 353.226041 477.630677 351.967236 -Q 476.868873 350.710034 477.46081 349.443709 -Q 478.054351 348.176411 479.94336 347.031763 -Q 481.83718 345.8842 483.233675 345.945633 -Q 484.631773 346.006094 485.393576 347.263296 -z -M 488.54838 354.27869 -Q 488.075168 353.49775 487.066418 353.569681 -Q 486.060243 353.642244 484.516001 354.577979 -Q 482.978174 355.509828 482.446523 356.369113 -Q 481.915843 357.230003 482.389054 358.010943 -Q 482.866153 358.798297 483.873932 358.724763 -Q 484.882682 358.652832 486.420509 357.720983 -Q 487.964751 356.785248 488.493827 355.92533 -Q 489.025479 355.066045 488.54838 354.27869 -z -M 489.350167 353.792846 -Q 490.112942 355.051651 489.519401 356.318949 -Q 488.927465 357.585275 487.033644 358.732838 -Q 485.144635 359.877486 483.746537 359.817025 -Q 482.350043 359.755592 481.587268 358.496787 -Q 480.825465 357.239585 481.417401 355.973259 -Q 482.010942 354.705962 483.899951 353.561314 -Q 485.793772 352.41375 487.190266 352.475183 -Q 488.588364 352.535645 489.350167 353.792846 + </g> + <path clip-path="url(#pedd1dac049)" d="M 373.373108 259.009251 +L 374.739579 261.257858 +L 374.055917 261.673317 +L 372.689446 259.42471 +z +M 379.635886 262.572474 +Q 379.240713 261.922194 378.400165 261.983209 +Q 377.561764 262.044747 376.275892 262.826168 +Q 374.995361 263.604342 374.553231 264.320978 +Q 374.111913 265.038949 374.507086 265.689229 +Q 374.905505 266.34485 375.745242 266.2825 +Q 376.58579 266.221485 377.866321 265.443311 +Q 379.152193 264.661891 379.592176 263.944731 +Q 380.034305 263.228095 379.635886 262.572474 +z +M 380.303525 262.166752 +Q 380.940508 263.214945 380.447239 264.271656 +Q 379.955305 265.327556 378.378342 266.285871 +Q 376.805386 267.241752 375.640241 267.192853 +Q 374.476431 267.143144 373.839448 266.094951 +Q 373.203276 265.048094 373.69521 263.992194 +Q 374.18848 262.935482 375.761436 261.979602 +Q 377.338399 261.021287 378.502208 261.070996 +Q 379.667353 261.119895 380.303525 262.166752 +z +M 377.229816 269.011281 +L 377.765369 269.892564 +L 376.705159 270.53685 +L 376.169606 269.655567 +z +M 384.056471 268.595173 +L 386.067228 271.90399 +L 385.356861 272.335678 +L 383.815118 269.798651 +L 382.288896 270.726131 +Q 382.462822 270.870927 382.604701 271.035196 +Q 382.747391 271.200801 382.859371 271.38507 +Q 383.493108 272.427921 383.291628 273.384106 +Q 383.090959 274.341625 382.114871 274.93479 +Q 381.109407 275.545808 380.170694 275.258746 +Q 379.233317 274.970873 378.541155 273.831881 +Q 378.302591 273.43931 378.121864 272.991478 +Q 377.941949 272.544982 377.811758 272.029872 +L 378.659659 271.514605 +Q 378.683377 272.013969 378.826664 272.475411 +Q 378.969952 272.936852 379.240974 273.382835 +Q 379.679965 274.10522 380.314788 274.295382 +Q 380.950423 274.48688 381.602039 274.090895 +Q 382.252319 273.695722 382.375121 273.043325 +Q 382.500071 272.391451 382.06108 271.669066 +Q 381.855784 271.331241 381.576525 271.040192 +Q 381.298077 270.750478 380.926581 270.497197 +z +M 387.894861 276.163093 +Q 387.499688 275.512813 386.65914 275.573828 +Q 385.820739 275.635366 384.534867 276.416787 +Q 383.254336 277.194961 382.812206 277.911597 +Q 382.370888 278.629568 382.766061 279.279848 +Q 383.16448 279.935469 384.004217 279.873119 +Q 384.844765 279.812105 386.125296 279.03393 +Q 387.411168 278.25251 387.851151 277.53535 +Q 388.29328 276.818714 387.894861 276.163093 +z +M 388.5625 275.757371 +Q 389.199483 276.805564 388.706214 277.862275 +Q 388.21428 278.918175 386.637317 279.87649 +Q 385.064361 280.832371 383.899216 280.783472 +Q 382.735406 280.733763 382.098423 279.68557 +Q 381.462251 278.638713 381.954185 277.582813 +Q 382.447455 276.526102 384.020411 275.570221 +Q 385.597374 274.611906 386.761183 274.661616 +Q 387.926328 274.710514 388.5625 275.757371 +z +M 391.198959 281.600175 +Q 390.803786 280.949895 389.963237 281.01091 +Q 389.124836 281.072449 387.838964 281.853869 +Q 386.558433 282.632043 386.116304 283.348679 +Q 385.674986 284.06665 386.070159 284.71693 +Q 386.468577 285.372552 387.308314 285.310202 +Q 388.148862 285.249187 389.429393 284.471012 +Q 390.715265 283.689592 391.155248 282.972432 +Q 391.597378 282.255796 391.198959 281.600175 +z +M 391.866597 281.194453 +Q 392.503581 282.242646 392.010311 283.299357 +Q 391.518377 284.355257 389.941414 285.313572 +Q 388.368458 286.269453 387.203313 286.220555 +Q 386.039503 286.170845 385.40252 285.122652 +Q 384.766348 284.075795 385.258282 283.019895 +Q 385.751552 281.963184 387.324509 281.007303 +Q 388.901471 280.048988 390.065281 280.098698 +Q 391.230425 280.147596 391.866597 281.194453 z " style="fill:#ffffff;stroke:#000000;stroke-width:3;"/> - <path clip-path="url(#p826a730be7)" d="M 467.191955 327.142318 -L 468.828277 329.842736 -L 468.007248 330.34024 -L 466.370926 327.639822 -z -M 474.70183 331.427768 -Q 474.228618 330.646828 473.219867 330.718759 -Q 472.213692 330.791322 470.669451 331.727057 -Q 469.131624 332.658906 468.599972 333.518191 -Q 468.069292 334.379081 468.542504 335.160021 -Q 469.019602 335.947375 470.027381 335.873841 -Q 471.036132 335.80191 472.573959 334.870061 -Q 474.1182 333.934326 474.647276 333.074408 -Q 475.178928 332.215123 474.70183 331.427768 -z -M 475.503616 330.941924 -Q 476.266391 332.200729 475.672851 333.468027 -Q 475.080914 334.734353 473.187094 335.881916 -Q 471.298084 337.026564 469.899986 336.966103 -Q 468.503492 336.90467 467.740717 335.645865 -Q 466.978914 334.388663 467.570851 333.122337 -Q 468.164391 331.85504 470.053401 330.710392 -Q 471.947221 329.562828 473.343715 329.624261 -Q 474.741813 329.684723 475.503616 330.941924 -z -M 471.804692 339.150648 -L 472.446006 340.209006 -L 471.172769 340.980526 -L 470.531455 339.922168 -z -M 479.997308 338.661767 -L 482.40515 342.635422 -L 481.552049 343.15236 -L 479.705842 340.105571 -L 477.872958 341.21621 -Q 478.081447 341.39023 478.25145 341.587571 -Q 478.422425 341.786515 478.556518 342.007808 -Q 479.315407 343.260199 479.072167 344.407311 -Q 478.829899 345.556027 477.657686 346.26633 -Q 476.450196 346.998011 475.32418 346.652101 -Q 474.199769 346.305219 473.370919 344.93737 -Q 473.085243 344.46592 472.869057 343.928245 -Q 472.653842 343.392175 472.498401 342.773845 -L 473.51667 342.156823 -Q 473.544368 342.756095 473.715606 343.310044 -Q 473.886844 343.863992 474.211388 344.399586 -Q 474.737071 345.267119 475.498568 345.496286 -Q 476.261036 345.727055 477.04358 345.252872 -Q 477.82452 344.77966 477.972882 343.996971 -Q 478.123818 343.214915 477.598135 342.347381 -Q 477.352298 341.941677 477.017633 341.591991 -Q 476.683939 341.243909 476.238532 340.939404 -z -M 484.591789 347.749139 -Q 484.118577 346.968199 483.109827 347.04013 -Q 482.103651 347.112693 480.55941 348.048428 -Q 479.021583 348.980277 478.489931 349.839563 -Q 477.959251 350.700452 478.432463 351.481392 -Q 478.909562 352.268747 479.917341 352.195212 -Q 480.926091 352.123281 482.463918 351.191432 -Q 484.008159 350.255697 484.537236 349.39578 -Q 485.068888 348.536494 484.591789 347.749139 -z -M 485.393576 347.263296 -Q 486.156351 348.522101 485.56281 349.789398 -Q 484.970873 351.055724 483.077053 352.203287 -Q 481.188044 353.347936 479.789946 353.287474 -Q 478.393452 353.226041 477.630677 351.967236 -Q 476.868873 350.710034 477.46081 349.443709 -Q 478.054351 348.176411 479.94336 347.031763 -Q 481.83718 345.8842 483.233675 345.945633 -Q 484.631773 346.006094 485.393576 347.263296 -z -M 488.54838 354.27869 -Q 488.075168 353.49775 487.066418 353.569681 -Q 486.060243 353.642244 484.516001 354.577979 -Q 482.978174 355.509828 482.446523 356.369113 -Q 481.915843 357.230003 482.389054 358.010943 -Q 482.866153 358.798297 483.873932 358.724763 -Q 484.882682 358.652832 486.420509 357.720983 -Q 487.964751 356.785248 488.493827 355.92533 -Q 489.025479 355.066045 488.54838 354.27869 -z -M 489.350167 353.792846 -Q 490.112942 355.051651 489.519401 356.318949 -Q 488.927465 357.585275 487.033644 358.732838 -Q 485.144635 359.877486 483.746537 359.817025 -Q 482.350043 359.755592 481.587268 358.496787 -Q 480.825465 357.239585 481.417401 355.973259 -Q 482.010942 354.705962 483.899951 353.561314 -Q 485.793772 352.41375 487.190266 352.475183 -Q 488.588364 352.535645 489.350167 353.792846 + <path clip-path="url(#pedd1dac049)" d="M 373.373108 259.009251 +L 374.739579 261.257858 +L 374.055917 261.673317 +L 372.689446 259.42471 +z +M 379.635886 262.572474 +Q 379.240713 261.922194 378.400165 261.983209 +Q 377.561764 262.044747 376.275892 262.826168 +Q 374.995361 263.604342 374.553231 264.320978 +Q 374.111913 265.038949 374.507086 265.689229 +Q 374.905505 266.34485 375.745242 266.2825 +Q 376.58579 266.221485 377.866321 265.443311 +Q 379.152193 264.661891 379.592176 263.944731 +Q 380.034305 263.228095 379.635886 262.572474 +z +M 380.303525 262.166752 +Q 380.940508 263.214945 380.447239 264.271656 +Q 379.955305 265.327556 378.378342 266.285871 +Q 376.805386 267.241752 375.640241 267.192853 +Q 374.476431 267.143144 373.839448 266.094951 +Q 373.203276 265.048094 373.69521 263.992194 +Q 374.18848 262.935482 375.761436 261.979602 +Q 377.338399 261.021287 378.502208 261.070996 +Q 379.667353 261.119895 380.303525 262.166752 +z +M 377.229816 269.011281 +L 377.765369 269.892564 +L 376.705159 270.53685 +L 376.169606 269.655567 +z +M 384.056471 268.595173 +L 386.067228 271.90399 +L 385.356861 272.335678 +L 383.815118 269.798651 +L 382.288896 270.726131 +Q 382.462822 270.870927 382.604701 271.035196 +Q 382.747391 271.200801 382.859371 271.38507 +Q 383.493108 272.427921 383.291628 273.384106 +Q 383.090959 274.341625 382.114871 274.93479 +Q 381.109407 275.545808 380.170694 275.258746 +Q 379.233317 274.970873 378.541155 273.831881 +Q 378.302591 273.43931 378.121864 272.991478 +Q 377.941949 272.544982 377.811758 272.029872 +L 378.659659 271.514605 +Q 378.683377 272.013969 378.826664 272.475411 +Q 378.969952 272.936852 379.240974 273.382835 +Q 379.679965 274.10522 380.314788 274.295382 +Q 380.950423 274.48688 381.602039 274.090895 +Q 382.252319 273.695722 382.375121 273.043325 +Q 382.500071 272.391451 382.06108 271.669066 +Q 381.855784 271.331241 381.576525 271.040192 +Q 381.298077 270.750478 380.926581 270.497197 +z +M 387.894861 276.163093 +Q 387.499688 275.512813 386.65914 275.573828 +Q 385.820739 275.635366 384.534867 276.416787 +Q 383.254336 277.194961 382.812206 277.911597 +Q 382.370888 278.629568 382.766061 279.279848 +Q 383.16448 279.935469 384.004217 279.873119 +Q 384.844765 279.812105 386.125296 279.03393 +Q 387.411168 278.25251 387.851151 277.53535 +Q 388.29328 276.818714 387.894861 276.163093 +z +M 388.5625 275.757371 +Q 389.199483 276.805564 388.706214 277.862275 +Q 388.21428 278.918175 386.637317 279.87649 +Q 385.064361 280.832371 383.899216 280.783472 +Q 382.735406 280.733763 382.098423 279.68557 +Q 381.462251 278.638713 381.954185 277.582813 +Q 382.447455 276.526102 384.020411 275.570221 +Q 385.597374 274.611906 386.761183 274.661616 +Q 387.926328 274.710514 388.5625 275.757371 +z +M 391.198959 281.600175 +Q 390.803786 280.949895 389.963237 281.01091 +Q 389.124836 281.072449 387.838964 281.853869 +Q 386.558433 282.632043 386.116304 283.348679 +Q 385.674986 284.06665 386.070159 284.71693 +Q 386.468577 285.372552 387.308314 285.310202 +Q 388.148862 285.249187 389.429393 284.471012 +Q 390.715265 283.689592 391.155248 282.972432 +Q 391.597378 282.255796 391.198959 281.600175 +z +M 391.866597 281.194453 +Q 392.503581 282.242646 392.010311 283.299357 +Q 391.518377 284.355257 389.941414 285.313572 +Q 388.368458 286.269453 387.203313 286.220555 +Q 386.039503 286.170845 385.40252 285.122652 +Q 384.766348 284.075795 385.258282 283.019895 +Q 385.751552 281.963184 387.324509 281.007303 +Q 388.901471 280.048988 390.065281 280.098698 +Q 391.230425 280.147596 391.866597 281.194453 z " style="fill:#ffffff;"/> - </g> - <g id="text_22"> - <g id="patch_71"> - <path clip-path="url(#p826a730be7)" d="M 102.911118 348.344268 -L 103.848264 347.483014 -L 102.986205 346.564953 -L 102.124146 345.646892 -L 103.060486 344.804723 -L 103.996826 343.962554 -L 103.134767 343.044493 -L 102.272708 342.126432 -L 103.209049 341.284263 -L 104.145389 340.442094 -L 103.28333 339.524032 -L 102.421271 338.605971 -L 103.357612 337.763802 -L 104.293952 336.921633 -L 103.431893 336.003572 -L 102.569834 335.085511 -L 103.506174 334.243342 -L 104.442515 333.401173 -L 103.580456 332.483111 -L 102.718397 331.56505 -L 103.654737 330.722881 -L 104.591077 329.880712 -L 103.729018 328.962651 -L 102.866959 328.04459 -L 103.8033 327.202421 -L 104.73964 326.360252 -L 103.877581 325.44219 -L 103.015522 324.524129 -L 103.951862 323.68196 -L 104.888203 322.839791 -L 104.026144 321.92173 -L 103.164085 321.003669 -L 104.100425 320.1615 -L 105.036765 319.319331 -L 104.174706 318.401269 -L 103.312647 317.483208 -L 104.248988 316.641039 -L 105.185328 315.79887 -L 104.323269 314.880809 -L 103.46121 313.962748 -L 104.397551 313.120579 -L 105.333891 312.27841 -L 104.471832 311.360348 -L 103.609773 310.442287 -L 104.546113 309.600118 -L 105.482454 308.757949 -L 104.620395 307.839888 -L 103.758336 306.921827 -L 104.694676 306.079658 -L 105.631016 305.237489 -L 104.769763 304.300343 -L 103.908509 303.363197 -L 102.920549 304.222306 -L 101.932589 305.081416 -L 101.020521 304.142126 -L 100.108454 303.202836 -L 99.120494 304.061945 -L 98.132534 304.921054 -L 97.220466 303.981764 -L 96.308398 303.042474 -L 95.320438 303.901583 -L 94.332478 304.760693 -L 93.420411 303.821403 -L 92.508343 302.882112 -L 91.520383 303.741222 -L 90.532423 304.600331 -L 89.620355 303.661041 -L 88.708287 302.721751 -L 87.771142 303.583005 -L 86.833996 304.444258 -L 87.696055 305.362319 -L 88.558114 306.280381 -L 87.621774 307.12255 -L 86.685433 307.964719 -L 87.547492 308.88278 -L 88.409551 309.800841 -L 87.473211 310.64301 -L 86.536871 311.485179 -L 87.39893 312.40324 -L 88.260989 313.321302 -L 87.324648 314.163471 -L 86.388308 315.00564 -L 87.250367 315.923701 -L 88.112426 316.841762 -L 87.176086 317.683931 -L 86.239745 318.5261 -L 87.101804 319.444161 -L 87.963863 320.362223 -L 87.027523 321.204392 -L 86.091182 322.046561 -L 86.953241 322.964622 -L 87.8153 323.882683 -L 86.87896 324.724852 -L 85.94262 325.567021 -L 86.804679 326.485082 -L 87.666738 327.403143 -L 86.730397 328.245313 -L 85.794057 329.087482 -L 86.656116 330.005543 -L 87.518175 330.923604 -L 86.581835 331.765773 -L 85.645494 332.607942 -L 86.507553 333.526003 -L 87.369612 334.444064 -L 86.433272 335.286234 -L 85.496932 336.128403 -L 86.358991 337.046464 -L 87.22105 337.964525 -L 86.284709 338.806694 -L 85.348369 339.648863 -L 86.210428 340.566924 -L 87.072487 341.484985 -L 86.136146 342.327154 -L 85.199806 343.169324 -L 86.061865 344.087385 -L 86.923924 345.005446 -L 85.987584 345.847615 -L 85.051243 346.689784 -L 85.912497 347.62693 -L 86.773751 348.564076 -L 87.761711 347.704966 -L 88.74967 346.845857 -L 89.661738 347.785147 -L 90.573806 348.724437 -L 91.561766 347.865328 -L 92.549726 347.006218 -L 93.461794 347.945509 -L 94.373861 348.884799 -L 95.361821 348.025689 -L 96.349781 347.16658 -L 97.261849 348.10587 -L 98.173917 349.04516 -L 99.161877 348.186051 -L 100.149837 347.326942 -L 101.061904 348.266232 -L 101.973972 349.205522 + </g> + <g id="text_22"> + <g id="patch_72"> + <path clip-path="url(#pedd1dac049)" d="M 82.595038 277.845849 +L 83.375461 277.12756 +L 82.656512 276.363041 +L 81.937563 275.598522 +L 82.717327 274.896137 +L 83.497091 274.193752 +L 82.778142 273.429233 +L 82.059193 272.664714 +L 82.838957 271.962329 +L 83.61872 271.259944 +L 82.899771 270.495425 +L 82.180822 269.730906 +L 82.960586 269.028521 +L 83.74035 268.326136 +L 83.021401 267.561617 +L 82.302452 266.797099 +L 83.082216 266.094713 +L 83.861979 265.392328 +L 83.14303 264.627809 +L 82.424081 263.863291 +L 83.203845 263.160905 +L 83.983609 262.45852 +L 83.26466 261.694001 +L 82.545711 260.929483 +L 83.325475 260.227097 +L 84.105238 259.524712 +L 83.386289 258.760193 +L 82.667341 257.995675 +L 83.447104 257.293289 +L 84.226868 256.590904 +L 83.507919 255.826385 +L 82.78897 255.061867 +L 83.568734 254.359481 +L 84.348497 253.657096 +L 83.629548 252.892577 +L 82.9106 252.128059 +L 83.690363 251.425674 +L 84.470127 250.723288 +L 83.751178 249.95877 +L 83.032229 249.194251 +L 83.811993 248.491866 +L 84.591756 247.78948 +L 83.872807 247.024962 +L 83.153859 246.260443 +L 83.933622 245.558058 +L 84.713386 244.855672 +L 83.994437 244.091154 +L 83.275488 243.326635 +L 84.055252 242.62425 +L 84.835015 241.921864 +L 84.116726 241.141441 +L 83.398436 240.361018 +L 82.575667 241.077552 +L 81.752897 241.794086 +L 80.992261 241.011908 +L 80.231625 240.229729 +L 79.408856 240.946263 +L 78.586086 241.662797 +L 77.82545 240.880618 +L 77.064814 240.09844 +L 76.242045 240.814974 +L 75.419276 241.531508 +L 74.65864 240.749329 +L 73.898004 239.96715 +L 73.075234 240.683684 +L 72.252465 241.400218 +L 71.491829 240.61804 +L 70.731193 239.835861 +L 69.95077 240.554151 +L 69.170347 241.27244 +L 69.889295 242.036959 +L 70.608244 242.801478 +L 69.828481 243.503863 +L 69.048717 244.206248 +L 69.767666 244.970767 +L 70.486615 245.735286 +L 69.706851 246.437671 +L 68.927088 247.140056 +L 69.646036 247.904575 +L 70.364985 248.669094 +L 69.585222 249.371479 +L 68.805458 250.073864 +L 69.524407 250.838383 +L 70.243356 251.602901 +L 69.463592 252.305287 +L 68.683828 253.007672 +L 69.402777 253.772191 +L 70.121726 254.536709 +L 69.341963 255.239095 +L 68.562199 255.94148 +L 69.281148 256.705999 +L 70.000097 257.470517 +L 69.220333 258.172903 +L 68.440569 258.875288 +L 69.159518 259.639807 +L 69.878467 260.404325 +L 69.098704 261.106711 +L 68.31894 261.809096 +L 69.037889 262.573615 +L 69.756838 263.338133 +L 68.977074 264.040519 +L 68.19731 264.742904 +L 68.916259 265.507423 +L 69.635208 266.271941 +L 68.855445 266.974326 +L 68.075681 267.676712 +L 68.79463 268.44123 +L 69.513579 269.205749 +L 68.733815 269.908134 +L 67.954051 270.61052 +L 68.673 271.375038 +L 69.391949 272.139557 +L 68.612186 272.841942 +L 67.832422 273.544328 +L 68.551371 274.308846 +L 69.27032 275.073365 +L 68.490556 275.77575 +L 67.710792 276.478136 +L 68.429082 277.258559 +L 69.147372 278.038982 +L 69.970141 277.322448 +L 70.79291 276.605914 +L 71.553546 277.388092 +L 72.314182 278.170271 +L 73.136952 277.453737 +L 73.959721 276.737203 +L 74.720357 277.519382 +L 75.480993 278.30156 +L 76.303763 277.585026 +L 77.126532 276.868492 +L 77.887168 277.650671 +L 78.647804 278.43285 +L 79.470574 277.716316 +L 80.293343 276.999782 +L 81.053979 277.78196 +L 81.814615 278.564139 z " style="fill:none;stroke:#0000ff;stroke-linejoin:miter;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 94.09517 344.682437 -L 94.228297 341.527744 -L 95.187444 341.56822 -L 95.054316 344.722912 -z -M 90.21565 336.955043 -Q 90.17715 337.867356 91.056902 338.366142 -Q 91.934861 338.862975 93.73888 338.939104 -Q 95.535406 339.014917 96.453974 338.593897 -Q 97.372621 338.171003 97.41112 337.25869 -Q 97.449936 336.338884 96.570105 335.841971 -Q 95.690352 335.343185 93.893826 335.267372 -Q 92.089807 335.191243 91.173033 335.614216 -Q 90.254465 336.035236 90.21565 336.955043 -z -M 89.278983 336.915516 -Q 89.341041 335.444949 90.537109 334.718482 -Q 91.731304 333.991936 93.94371 334.085299 -Q 96.150495 334.178425 97.281107 335.003078 -Q 98.409844 335.827651 98.347787 337.298217 -Q 98.285808 338.76691 97.091614 339.493456 -Q 95.895545 340.219923 93.68876 340.126797 -Q 91.476354 340.033434 90.347616 339.208861 -Q 89.217005 338.384208 89.278983 336.915516 -z -M 96.905063 332.129277 -L 96.957239 330.892877 -L 98.444665 330.955646 -L 98.392489 332.192046 -z -M 89.812898 327.999004 -L 90.008795 323.356886 -L 91.005408 323.398943 -L 90.855205 326.958275 -L 92.996424 327.048634 -Q 92.919208 326.788272 92.886952 326.529807 -Q 92.854774 326.269469 92.865684 326.010949 -Q 92.927425 324.547876 93.76526 323.727471 -Q 94.603175 322.905193 95.972581 322.962982 -Q 97.3832 323.02251 98.129177 323.934148 -Q 98.87328 324.845706 98.805847 326.443659 -Q 98.782605 326.994419 98.664827 327.561833 -Q 98.547128 328.127373 98.334102 328.728301 -L 97.144535 328.678101 -Q 97.45337 328.16379 97.617586 327.60772 -Q 97.781802 327.051649 97.808206 326.425956 -Q 97.850975 325.412483 97.34385 324.799931 -Q 96.836805 324.185507 95.922618 324.146928 -Q 95.010305 324.108429 94.453298 324.677951 -Q 93.894496 325.24552 93.851728 326.258993 -Q 93.831727 326.732946 93.916712 327.209453 -Q 94.001776 327.684087 94.20399 328.184307 -z -M 91.020274 317.888028 -Q 90.981774 318.800341 91.861527 319.299127 -Q 92.739485 319.795961 94.543504 319.87209 -Q 96.34003 319.947903 97.258598 319.526882 -Q 98.177245 319.103989 98.215745 318.191676 -Q 98.25456 317.271869 97.374729 316.774957 -Q 96.494976 316.276171 94.69845 316.200358 -Q 92.894431 316.124229 91.977657 316.547201 -Q 91.059089 316.968222 91.020274 317.888028 -z -M 90.083607 317.848501 -Q 90.145665 316.377935 91.341733 315.651468 -Q 92.535928 314.924922 94.748334 315.018285 -Q 96.95512 315.111411 98.085731 315.936063 -Q 99.214469 316.760637 99.152411 318.231203 -Q 99.090432 319.699896 97.896238 320.426442 -Q 96.70017 321.152909 94.493384 321.059783 -Q 92.280978 320.96642 91.15224 320.141846 -Q 90.021629 319.317194 90.083607 317.848501 -z -M 91.342173 310.260052 -Q 91.303673 311.172365 92.183426 311.671151 -Q 93.061384 312.167984 94.865403 312.244113 -Q 96.661929 312.319926 97.580497 311.898906 -Q 98.499144 311.476012 98.537644 310.563699 -Q 98.576459 309.643893 97.696628 309.14698 -Q 96.816876 308.648194 95.020349 308.572381 -Q 93.21633 308.496252 92.299556 308.919225 -Q 91.380988 309.340245 91.342173 310.260052 -z -M 90.405506 310.220524 -Q 90.467564 308.749958 91.663632 308.023491 -Q 92.857827 307.296945 95.070233 307.390308 -Q 97.277019 307.483434 98.40763 308.308087 -Q 99.536368 309.13266 99.47431 310.603226 -Q 99.412331 312.071919 98.218137 312.798465 -Q 97.022069 313.524932 94.815283 313.431806 -Q 92.602877 313.338443 91.474139 312.51387 -Q 90.343528 311.689217 90.405506 310.220524 + </g> + <path clip-path="url(#pedd1dac049)" d="M 75.246157 274.799765 +L 75.355149 272.170773 +L 76.154463 272.203911 +L 76.04547 274.832903 +z +M 72.008455 268.362666 +Q 71.976935 269.12295 72.71037 269.538062 +Q 73.442308 269.951548 74.945704 270.013876 +Q 76.442855 270.075945 77.208069 269.724527 +Q 77.973347 269.371549 78.004867 268.611265 +Q 78.036645 267.844736 77.303146 267.431185 +Q 76.569711 267.016073 75.07256 266.954004 +Q 73.569164 266.891677 72.805447 267.24472 +Q 72.040234 267.596137 72.008455 268.362666 +z +M 71.227876 268.330305 +Q 71.278683 267.104795 72.274957 266.498668 +Q 73.269671 265.892476 75.1134 265.968913 +Q 76.952445 266.045156 77.89513 266.731668 +Q 78.836253 267.418116 78.785446 268.643626 +Q 78.734704 269.867574 77.73999 270.473766 +Q 76.743715 271.079894 74.90467 271.003651 +Q 73.060941 270.927214 72.119818 270.240766 +Q 71.177133 269.554253 71.227876 268.330305 +z +M 77.579987 264.337067 +L 77.622703 263.306702 +L 78.862263 263.358092 +L 78.819547 264.388457 +z +M 71.667302 260.899551 +L 71.827684 257.030999 +L 72.65822 257.065432 +L 72.535248 260.031634 +L 74.319652 260.105611 +Q 74.255145 259.888691 74.228105 259.673323 +Q 74.20113 259.456395 74.210062 259.240955 +Q 74.26061 258.02169 74.9583 257.337502 +Q 75.656054 256.651754 76.797261 256.699066 +Q 77.972814 256.747802 78.595023 257.507039 +Q 79.215672 258.266212 79.160464 259.597881 +Q 79.141435 260.056861 79.043637 260.529779 +Q 78.945903 261.001135 78.768753 261.502039 +L 77.777417 261.460941 +Q 78.034461 261.032157 78.170965 260.568664 +Q 78.307468 260.10517 78.329086 259.583743 +Q 78.3641 258.739156 77.941119 258.22901 +Q 77.518202 257.717303 76.756356 257.685718 +Q 75.996072 257.654198 75.532251 258.129144 +Q 75.066933 258.602463 75.031918 259.44705 +Q 75.015543 259.842023 75.086658 260.239059 +Q 75.157838 260.634535 75.326658 261.05126 +z +M 72.667207 252.472995 +Q 72.635688 253.23328 73.369122 253.648391 +Q 74.10106 254.061877 75.604456 254.124205 +Q 77.101608 254.186274 77.866821 253.834856 +Q 78.632099 253.481878 78.663619 252.721594 +Q 78.695398 251.955065 77.961898 251.541514 +Q 77.228464 251.126402 75.731312 251.064333 +Q 74.227916 251.002006 73.464199 251.355049 +Q 72.698986 251.706466 72.667207 252.472995 +z +M 71.886628 252.440634 +Q 71.937435 251.215124 72.93371 250.608997 +Q 73.928423 250.002805 75.772152 250.079242 +Q 77.611197 250.155485 78.553882 250.841997 +Q 79.495005 251.528445 79.444198 252.753955 +Q 79.393456 253.977904 78.398742 254.584095 +Q 77.402468 255.190223 75.563422 255.11398 +Q 73.719694 255.037543 72.77857 254.351095 +Q 71.835886 253.664583 71.886628 252.440634 +z +M 72.930749 246.116151 +Q 72.899229 246.876435 73.632664 247.291547 +Q 74.364602 247.705033 75.867998 247.767361 +Q 77.365149 247.82943 78.130362 247.478012 +Q 78.89564 247.125034 78.92716 246.36475 +Q 78.958939 245.598221 78.22544 245.18467 +Q 77.492005 244.769558 75.994854 244.707489 +Q 74.491458 244.645162 73.727741 244.998205 +Q 72.962527 245.349622 72.930749 246.116151 +z +M 72.150169 246.08379 +Q 72.200976 244.85828 73.197251 244.252153 +Q 74.191965 243.645961 76.035693 243.722398 +Q 77.874739 243.798641 78.817423 244.485153 +Q 79.758547 245.171601 79.70774 246.397111 +Q 79.656997 247.621059 78.662284 248.227251 +Q 77.666009 248.833379 75.826964 248.757136 +Q 73.983235 248.680698 73.042112 247.994251 +Q 72.099427 247.307738 72.150169 246.08379 z " style="fill:#ffffff;stroke:#000000;stroke-width:3;"/> - <path clip-path="url(#p826a730be7)" d="M 94.09517 344.682437 -L 94.228297 341.527744 -L 95.187444 341.56822 -L 95.054316 344.722912 -z -M 90.21565 336.955043 -Q 90.17715 337.867356 91.056902 338.366142 -Q 91.934861 338.862975 93.73888 338.939104 -Q 95.535406 339.014917 96.453974 338.593897 -Q 97.372621 338.171003 97.41112 337.25869 -Q 97.449936 336.338884 96.570105 335.841971 -Q 95.690352 335.343185 93.893826 335.267372 -Q 92.089807 335.191243 91.173033 335.614216 -Q 90.254465 336.035236 90.21565 336.955043 -z -M 89.278983 336.915516 -Q 89.341041 335.444949 90.537109 334.718482 -Q 91.731304 333.991936 93.94371 334.085299 -Q 96.150495 334.178425 97.281107 335.003078 -Q 98.409844 335.827651 98.347787 337.298217 -Q 98.285808 338.76691 97.091614 339.493456 -Q 95.895545 340.219923 93.68876 340.126797 -Q 91.476354 340.033434 90.347616 339.208861 -Q 89.217005 338.384208 89.278983 336.915516 -z -M 96.905063 332.129277 -L 96.957239 330.892877 -L 98.444665 330.955646 -L 98.392489 332.192046 -z -M 89.812898 327.999004 -L 90.008795 323.356886 -L 91.005408 323.398943 -L 90.855205 326.958275 -L 92.996424 327.048634 -Q 92.919208 326.788272 92.886952 326.529807 -Q 92.854774 326.269469 92.865684 326.010949 -Q 92.927425 324.547876 93.76526 323.727471 -Q 94.603175 322.905193 95.972581 322.962982 -Q 97.3832 323.02251 98.129177 323.934148 -Q 98.87328 324.845706 98.805847 326.443659 -Q 98.782605 326.994419 98.664827 327.561833 -Q 98.547128 328.127373 98.334102 328.728301 -L 97.144535 328.678101 -Q 97.45337 328.16379 97.617586 327.60772 -Q 97.781802 327.051649 97.808206 326.425956 -Q 97.850975 325.412483 97.34385 324.799931 -Q 96.836805 324.185507 95.922618 324.146928 -Q 95.010305 324.108429 94.453298 324.677951 -Q 93.894496 325.24552 93.851728 326.258993 -Q 93.831727 326.732946 93.916712 327.209453 -Q 94.001776 327.684087 94.20399 328.184307 -z -M 91.020274 317.888028 -Q 90.981774 318.800341 91.861527 319.299127 -Q 92.739485 319.795961 94.543504 319.87209 -Q 96.34003 319.947903 97.258598 319.526882 -Q 98.177245 319.103989 98.215745 318.191676 -Q 98.25456 317.271869 97.374729 316.774957 -Q 96.494976 316.276171 94.69845 316.200358 -Q 92.894431 316.124229 91.977657 316.547201 -Q 91.059089 316.968222 91.020274 317.888028 -z -M 90.083607 317.848501 -Q 90.145665 316.377935 91.341733 315.651468 -Q 92.535928 314.924922 94.748334 315.018285 -Q 96.95512 315.111411 98.085731 315.936063 -Q 99.214469 316.760637 99.152411 318.231203 -Q 99.090432 319.699896 97.896238 320.426442 -Q 96.70017 321.152909 94.493384 321.059783 -Q 92.280978 320.96642 91.15224 320.141846 -Q 90.021629 319.317194 90.083607 317.848501 -z -M 91.342173 310.260052 -Q 91.303673 311.172365 92.183426 311.671151 -Q 93.061384 312.167984 94.865403 312.244113 -Q 96.661929 312.319926 97.580497 311.898906 -Q 98.499144 311.476012 98.537644 310.563699 -Q 98.576459 309.643893 97.696628 309.14698 -Q 96.816876 308.648194 95.020349 308.572381 -Q 93.21633 308.496252 92.299556 308.919225 -Q 91.380988 309.340245 91.342173 310.260052 -z -M 90.405506 310.220524 -Q 90.467564 308.749958 91.663632 308.023491 -Q 92.857827 307.296945 95.070233 307.390308 -Q 97.277019 307.483434 98.40763 308.308087 -Q 99.536368 309.13266 99.47431 310.603226 -Q 99.412331 312.071919 98.218137 312.798465 -Q 97.022069 313.524932 94.815283 313.431806 -Q 92.602877 313.338443 91.474139 312.51387 -Q 90.343528 311.689217 90.405506 310.220524 + <path clip-path="url(#pedd1dac049)" d="M 75.246157 274.799765 +L 75.355149 272.170773 +L 76.154463 272.203911 +L 76.04547 274.832903 +z +M 72.008455 268.362666 +Q 71.976935 269.12295 72.71037 269.538062 +Q 73.442308 269.951548 74.945704 270.013876 +Q 76.442855 270.075945 77.208069 269.724527 +Q 77.973347 269.371549 78.004867 268.611265 +Q 78.036645 267.844736 77.303146 267.431185 +Q 76.569711 267.016073 75.07256 266.954004 +Q 73.569164 266.891677 72.805447 267.24472 +Q 72.040234 267.596137 72.008455 268.362666 +z +M 71.227876 268.330305 +Q 71.278683 267.104795 72.274957 266.498668 +Q 73.269671 265.892476 75.1134 265.968913 +Q 76.952445 266.045156 77.89513 266.731668 +Q 78.836253 267.418116 78.785446 268.643626 +Q 78.734704 269.867574 77.73999 270.473766 +Q 76.743715 271.079894 74.90467 271.003651 +Q 73.060941 270.927214 72.119818 270.240766 +Q 71.177133 269.554253 71.227876 268.330305 +z +M 77.579987 264.337067 +L 77.622703 263.306702 +L 78.862263 263.358092 +L 78.819547 264.388457 +z +M 71.667302 260.899551 +L 71.827684 257.030999 +L 72.65822 257.065432 +L 72.535248 260.031634 +L 74.319652 260.105611 +Q 74.255145 259.888691 74.228105 259.673323 +Q 74.20113 259.456395 74.210062 259.240955 +Q 74.26061 258.02169 74.9583 257.337502 +Q 75.656054 256.651754 76.797261 256.699066 +Q 77.972814 256.747802 78.595023 257.507039 +Q 79.215672 258.266212 79.160464 259.597881 +Q 79.141435 260.056861 79.043637 260.529779 +Q 78.945903 261.001135 78.768753 261.502039 +L 77.777417 261.460941 +Q 78.034461 261.032157 78.170965 260.568664 +Q 78.307468 260.10517 78.329086 259.583743 +Q 78.3641 258.739156 77.941119 258.22901 +Q 77.518202 257.717303 76.756356 257.685718 +Q 75.996072 257.654198 75.532251 258.129144 +Q 75.066933 258.602463 75.031918 259.44705 +Q 75.015543 259.842023 75.086658 260.239059 +Q 75.157838 260.634535 75.326658 261.05126 +z +M 72.667207 252.472995 +Q 72.635688 253.23328 73.369122 253.648391 +Q 74.10106 254.061877 75.604456 254.124205 +Q 77.101608 254.186274 77.866821 253.834856 +Q 78.632099 253.481878 78.663619 252.721594 +Q 78.695398 251.955065 77.961898 251.541514 +Q 77.228464 251.126402 75.731312 251.064333 +Q 74.227916 251.002006 73.464199 251.355049 +Q 72.698986 251.706466 72.667207 252.472995 +z +M 71.886628 252.440634 +Q 71.937435 251.215124 72.93371 250.608997 +Q 73.928423 250.002805 75.772152 250.079242 +Q 77.611197 250.155485 78.553882 250.841997 +Q 79.495005 251.528445 79.444198 252.753955 +Q 79.393456 253.977904 78.398742 254.584095 +Q 77.402468 255.190223 75.563422 255.11398 +Q 73.719694 255.037543 72.77857 254.351095 +Q 71.835886 253.664583 71.886628 252.440634 +z +M 72.930749 246.116151 +Q 72.899229 246.876435 73.632664 247.291547 +Q 74.364602 247.705033 75.867998 247.767361 +Q 77.365149 247.82943 78.130362 247.478012 +Q 78.89564 247.125034 78.92716 246.36475 +Q 78.958939 245.598221 78.22544 245.18467 +Q 77.492005 244.769558 75.994854 244.707489 +Q 74.491458 244.645162 73.727741 244.998205 +Q 72.962527 245.349622 72.930749 246.116151 +z +M 72.150169 246.08379 +Q 72.200976 244.85828 73.197251 244.252153 +Q 74.191965 243.645961 76.035693 243.722398 +Q 77.874739 243.798641 78.817423 244.485153 +Q 79.758547 245.171601 79.70774 246.397111 +Q 79.656997 247.621059 78.662284 248.227251 +Q 77.666009 248.833379 75.826964 248.757136 +Q 73.983235 248.680698 73.042112 247.994251 +Q 72.099427 247.307738 72.150169 246.08379 z " style="fill:#ffffff;"/> - </g> - <g id="text_23"> - <g id="patch_72"> - <path clip-path="url(#p826a730be7)" d="M 458.091162 112.861394 -L 457.809038 114.102525 -L 459.039992 114.368484 -L 460.270946 114.634444 -L 459.978646 115.85941 -L 459.686345 117.084376 -L 460.917299 117.350335 -L 462.148253 117.616294 -L 461.855952 118.84126 -L 461.563651 120.066227 -L 462.794605 120.332186 -L 464.025559 120.598145 -L 463.733258 121.823111 -L 463.440958 123.048077 -L 464.671912 123.314036 -L 465.902866 123.579996 -L 465.610565 124.804962 -L 465.318264 126.029928 -L 466.549218 126.295887 -L 467.780172 126.561846 -L 467.487871 127.786813 -L 467.19557 129.011779 -L 468.426525 129.277738 -L 469.657479 129.543697 -L 469.365178 130.768663 -L 469.072877 131.993629 -L 470.303831 132.259589 -L 471.534785 132.525548 -L 471.242484 133.750514 -L 470.950183 134.97548 -L 472.181137 135.241439 -L 473.412091 135.507398 -L 473.119791 136.732365 -L 472.82749 137.957331 -L 474.058444 138.22329 -L 475.289398 138.489249 -L 474.997097 139.714215 -L 474.704796 140.939182 -L 475.93575 141.205141 -L 477.166704 141.4711 -L 476.874403 142.696066 -L 476.582103 143.921032 -L 477.813057 144.186991 -L 479.044011 144.45295 -L 478.75171 145.677917 -L 478.459409 146.902883 -L 479.690363 147.168842 -L 480.921317 147.434801 -L 480.629016 148.659767 -L 480.336715 149.884734 -L 481.577846 150.166857 -L 482.818977 150.448981 -L 483.144141 149.180753 -L 483.469305 147.912525 -L 484.753476 148.167552 -L 486.037647 148.422579 -L 486.36281 147.154351 -L 486.687974 145.886123 -L 487.972145 146.14115 -L 489.256316 146.396177 -L 489.58148 145.127949 -L 489.906643 143.859721 -L 491.190814 144.114748 -L 492.474985 144.369775 -L 492.800149 143.101547 -L 493.125312 141.833319 -L 494.409483 142.088346 -L 495.693654 142.343373 -L 495.975778 141.102242 -L 496.257902 139.861111 -L 495.026948 139.595152 -L 493.795994 139.329193 -L 494.088295 138.104227 -L 494.380596 136.87926 -L 493.149642 136.613301 -L 491.918687 136.347342 -L 492.210988 135.122376 -L 492.503289 133.89741 -L 491.272335 133.631451 -L 490.041381 133.365491 -L 490.333682 132.140525 -L 490.625983 130.915559 -L 489.395029 130.6496 -L 488.164075 130.383641 -L 488.456375 129.158675 -L 488.748676 127.933708 -L 487.517722 127.667749 -L 486.286768 127.40179 -L 486.579069 126.176824 -L 486.87137 124.951858 -L 485.640416 124.685899 -L 484.409462 124.419939 -L 484.701763 123.194973 -L 484.994063 121.970007 -L 483.763109 121.704048 -L 482.532155 121.438089 -L 482.824456 120.213122 -L 483.116757 118.988156 -L 481.885803 118.722197 -L 480.654849 118.456238 -L 480.94715 117.231272 -L 481.239451 116.006306 -L 480.008497 115.740346 -L 478.777543 115.474387 -L 479.069843 114.249421 -L 479.362144 113.024455 -L 478.13119 112.758496 -L 476.900236 112.492537 -L 477.192537 111.26757 -L 477.484838 110.042604 -L 476.253884 109.776645 -L 475.02293 109.510686 -L 475.315231 108.28572 -L 475.607531 107.060753 -L 474.376577 106.794794 -L 473.145623 106.528835 -L 473.437924 105.303869 -L 473.730225 104.078903 -L 472.489094 103.796779 -L 471.247963 103.514655 -L 470.922799 104.782883 -L 470.597635 106.051111 -L 469.313465 105.796084 -L 468.029294 105.541057 -L 467.70413 106.809285 -L 467.378966 108.077513 -L 466.094795 107.822486 -L 464.810625 107.567459 -L 464.485461 108.835687 -L 464.160297 110.103915 -L 462.876126 109.848888 -L 461.591955 109.593861 -L 461.266792 110.862089 -L 460.941628 112.130317 -L 459.657457 111.87529 -L 458.373286 111.620263 + </g> + <g id="text_23"> + <g id="patch_73"> + <path clip-path="url(#pedd1dac049)" d="M 365.580212 93.292488 +L 365.327727 94.322658 +L 366.349645 94.561532 +L 367.371563 94.800405 +L 367.110825 95.816964 +L 366.850088 96.833523 +L 367.872006 97.072396 +L 368.893923 97.311269 +L 368.633186 98.327829 +L 368.372448 99.344388 +L 369.394366 99.583261 +L 370.416284 99.822134 +L 370.155546 100.838693 +L 369.894809 101.855252 +L 370.916727 102.094126 +L 371.938644 102.332999 +L 371.677907 103.349558 +L 371.417169 104.366117 +L 372.439087 104.60499 +L 373.461005 104.843863 +L 373.200267 105.860423 +L 372.93953 106.876982 +L 373.961448 107.115855 +L 374.983365 107.354728 +L 374.722628 108.371287 +L 374.46189 109.387846 +L 375.483808 109.62672 +L 376.505726 109.865593 +L 376.244988 110.882152 +L 375.984251 111.898711 +L 377.006169 112.137584 +L 378.028086 112.376457 +L 377.767349 113.393017 +L 377.506611 114.409576 +L 378.528529 114.648449 +L 379.550447 114.887322 +L 379.289709 115.903881 +L 379.028972 116.92044 +L 380.05089 117.159314 +L 381.072807 117.398187 +L 380.81207 118.414746 +L 380.551332 119.431305 +L 381.57325 119.670178 +L 382.595168 119.909051 +L 382.33443 120.925611 +L 382.073693 121.94217 +L 383.095611 122.181043 +L 384.117528 122.419916 +L 383.856791 123.436475 +L 383.596053 124.453034 +L 384.626224 124.705519 +L 385.656394 124.958004 +L 385.945121 123.90586 +L 386.233847 122.853715 +L 387.30026 123.084226 +L 388.366672 123.314737 +L 388.655398 122.262593 +L 388.944125 121.210449 +L 390.010537 121.44096 +L 391.076949 121.671471 +L 391.365676 120.619327 +L 391.654402 119.567183 +L 392.720815 119.797694 +L 393.787227 120.028205 +L 394.075953 118.976061 +L 394.36468 117.923916 +L 395.431092 118.154427 +L 396.497504 118.384938 +L 396.749989 117.354768 +L 397.002474 116.324597 +L 395.980556 116.085724 +L 394.958638 115.846851 +L 395.219376 114.830292 +L 395.480113 113.813733 +L 394.458196 113.574859 +L 393.436278 113.335986 +L 393.697015 112.319427 +L 393.957753 111.302868 +L 392.935835 111.063995 +L 391.913917 110.825121 +L 392.174655 109.808562 +L 392.435393 108.792003 +L 391.413475 108.55313 +L 390.391557 108.314257 +L 390.652294 107.297698 +L 390.913032 106.281139 +L 389.891114 106.042265 +L 388.869196 105.803392 +L 389.129934 104.786833 +L 389.390672 103.770274 +L 388.368754 103.531401 +L 387.346836 103.292527 +L 387.607573 102.275968 +L 387.868311 101.259409 +L 386.846393 101.020536 +L 385.824475 100.781663 +L 386.085213 99.765104 +L 386.345951 98.748545 +L 385.324033 98.509671 +L 384.302115 98.270798 +L 384.562852 97.254239 +L 384.82359 96.23768 +L 383.801672 95.998807 +L 382.779754 95.759933 +L 383.040492 94.743374 +L 383.30123 93.726815 +L 382.279312 93.487942 +L 381.257394 93.249069 +L 381.518131 92.23251 +L 381.778869 91.215951 +L 380.756951 90.977077 +L 379.735033 90.738204 +L 379.995771 89.721645 +L 380.256509 88.705086 +L 379.234591 88.466213 +L 378.212673 88.227339 +L 378.47341 87.21078 +L 378.734148 86.194221 +L 377.703977 85.941737 +L 376.673807 85.689252 +L 376.38508 86.741396 +L 376.096354 87.79354 +L 375.029942 87.563029 +L 373.963529 87.332518 +L 373.674803 88.384662 +L 373.386076 89.436807 +L 372.319664 89.206296 +L 371.253252 88.975784 +L 370.964525 90.027929 +L 370.675799 91.080073 +L 369.609387 90.849562 +L 368.542974 90.619051 +L 368.254248 91.671195 +L 367.965521 92.723339 +L 366.899109 92.492828 +L 365.832697 92.262317 z " style="fill:none;stroke:#0000ff;stroke-linejoin:miter;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 467.426889 110.867865 -L 469.109147 113.539908 -L 468.296745 114.051378 -L 466.614486 111.379335 -z -M 475.008944 115.024274 -Q 474.522447 114.25154 473.515074 114.340709 -Q 472.510287 114.430467 470.982272 115.392471 -Q 469.460604 116.350479 468.943723 117.21873 -Q 468.427841 118.088567 468.914338 118.861302 -Q 469.40483 119.640383 470.411204 119.549627 -Q 471.418577 119.460458 472.940245 118.502449 -Q 474.46826 117.540445 474.982555 116.671607 -Q 475.499436 115.803356 475.008944 115.024274 -z -M 475.802306 114.524791 -Q 476.586494 115.77037 476.01471 117.047631 -Q 475.444513 118.323893 473.570592 119.503672 -Q 471.701432 120.680454 470.302504 120.643908 -Q 468.905164 120.606363 468.120976 119.360785 -Q 467.337786 118.116793 467.907983 116.840531 -Q 468.479767 115.56327 470.348928 114.386488 -Q 472.222848 113.206709 473.620189 113.244254 -Q 475.019116 113.2808 475.802306 114.524791 -z -M 472.244286 122.795564 -L 472.903604 123.842802 -L 471.643745 124.63598 -L 470.984427 123.588743 -z -M 480.427344 122.166667 -L 482.902782 126.098568 -L 482.058645 126.630018 -L 480.16061 123.615243 -L 478.346984 124.757061 -Q 478.558419 124.927491 478.731772 125.121895 -Q 478.906123 125.317887 479.043981 125.536855 -Q 479.824173 126.776086 479.600584 127.92719 -Q 479.377993 129.07988 478.218098 129.810124 -Q 477.023295 130.562345 475.89153 130.235739 -Q 474.761351 129.908135 473.909233 128.554659 -Q 473.615537 128.088162 473.390189 127.554263 -Q 473.165839 127.021951 472.999848 126.406369 -L 474.007417 125.772026 -Q 474.045358 126.370737 474.226044 126.921677 -Q 474.406729 127.472616 474.740384 128.002582 -Q 475.280824 128.860999 476.046128 129.077111 -Q 476.812431 129.29481 477.586752 128.807314 -Q 478.359486 128.320818 478.494443 127.535707 -Q 478.631985 126.751184 478.091544 125.892766 -Q 477.838806 125.491325 477.49821 125.147413 -Q 477.158613 124.805087 476.708064 124.508242 -z -M 485.176542 131.174147 -Q 484.690046 130.401413 483.682673 130.490583 -Q 482.677885 130.58034 481.14987 131.542344 -Q 479.628202 132.500352 479.111322 133.368603 -Q 478.59544 134.238441 479.081936 135.011175 -Q 479.572428 135.790256 480.578802 135.6995 -Q 481.586175 135.610331 483.107843 134.652322 -Q 484.635858 133.690318 485.150153 132.82148 -Q 485.667034 131.953229 485.176542 131.174147 -z -M 485.969904 130.674665 -Q 486.754092 131.920243 486.182308 133.197504 -Q 485.612112 134.473767 483.738191 135.653545 -Q 481.86903 136.830327 480.470103 136.793781 -Q 479.072762 136.756236 478.288574 135.510658 -Q 477.505385 134.266666 478.075582 132.990404 -Q 478.647366 131.713143 480.516526 130.536361 -Q 482.390447 129.356582 483.787788 129.394127 -Q 485.186715 129.430673 485.969904 130.674665 -z -M 489.244206 137.635088 -Q 488.757709 136.862354 487.750336 136.951523 -Q 486.745549 137.041281 485.217534 138.003285 -Q 483.695866 138.961293 483.178985 139.829544 -Q 482.663103 140.699381 483.1496 141.472116 -Q 483.640092 142.251197 484.646466 142.160441 -Q 485.653839 142.071272 487.175507 141.113263 -Q 488.703522 140.151259 489.217817 139.282421 -Q 489.734698 138.41417 489.244206 137.635088 -z -M 490.037568 137.135606 -Q 490.821756 138.381184 490.249972 139.658445 -Q 489.679775 140.934708 487.805854 142.114486 -Q 485.936694 143.291268 484.537767 143.254722 -Q 483.140426 143.217177 482.356238 141.971599 -Q 481.573049 140.727607 482.143246 139.451345 -Q 482.715029 138.174084 484.58419 136.997302 -Q 486.458111 135.817523 487.855451 135.855068 -Q 489.254379 135.891614 490.037568 137.135606 + </g> + <path clip-path="url(#pedd1dac049)" d="M 373.386854 91.762443 +L 374.751044 94.012434 +L 374.066961 94.4272 +L 372.702771 92.177208 +z +M 379.646016 95.332014 +Q 379.251503 94.681333 378.410893 94.741496 +Q 377.57243 94.802184 376.285766 95.5823 +Q 375.004447 96.359176 374.561591 97.075363 +Q 374.119545 97.792887 374.514059 98.443567 +Q 374.911813 99.099592 375.751612 99.038093 +Q 376.592222 98.977931 377.873541 98.201055 +Q 379.160205 97.420939 379.600914 96.704226 +Q 380.04377 95.988038 379.646016 95.332014 +z +M 380.314066 94.926969 +Q 380.949986 95.975807 380.455645 97.032017 +Q 379.962641 98.087418 378.384708 99.044134 +Q 376.810783 99.998419 375.645688 99.948339 +Q 374.481929 99.89745 373.846009 98.848612 +Q 373.210899 97.80111 373.703904 96.745709 +Q 374.198244 95.689499 375.772169 94.735213 +Q 377.350103 93.778498 378.513861 93.829387 +Q 379.678956 93.879467 380.314066 94.926969 +z +M 377.233419 101.768378 +L 377.768078 102.650203 +L 376.707215 103.293414 +L 376.172556 102.411589 +z +M 384.060492 101.359191 +L 386.067893 104.670046 +L 385.357089 105.101013 +L 383.817919 102.562424 +L 382.290757 103.488357 +Q 382.464536 103.633328 382.606249 103.797742 +Q 382.748771 103.963491 382.860564 104.147873 +Q 383.493243 105.191367 383.290794 106.147346 +Q 383.089154 107.104662 382.112465 107.696837 +Q 381.106383 108.306834 380.167961 108.018821 +Q 379.230876 107.729998 378.53987 106.590305 +Q 378.301703 106.197492 378.121431 105.749477 +Q 377.941969 105.302798 377.8123 104.787557 +L 378.660723 104.273151 +Q 378.683935 104.772538 378.826754 105.234125 +Q 378.969573 105.695711 379.240143 106.141968 +Q 379.678402 106.864798 380.313032 107.055604 +Q 380.948472 107.247746 381.600489 106.852422 +Q 382.251169 106.457909 382.374633 105.805636 +Q 382.500243 105.153889 382.061985 104.431059 +Q 381.857032 104.093026 381.578068 103.801694 +Q 381.299914 103.511698 380.928675 103.258041 +z +M 387.891207 108.931 +Q 387.496694 108.280319 386.656084 108.340482 +Q 385.817621 108.40117 384.530957 109.181286 +Q 383.249638 109.958162 382.806782 110.674349 +Q 382.364736 111.391873 382.75925 112.042553 +Q 383.157004 112.698578 383.996803 112.637079 +Q 384.837413 112.576917 386.118732 111.800041 +Q 387.405396 111.019925 387.846106 110.303212 +Q 388.288961 109.587024 387.891207 108.931 +z +M 388.559257 108.525955 +Q 389.195177 109.574793 388.700837 110.631003 +Q 388.207832 111.686404 386.629899 112.64312 +Q 385.055974 113.597405 383.890879 113.547325 +Q 382.72712 113.496436 382.0912 112.447598 +Q 381.45609 111.400096 381.949095 110.344695 +Q 382.443435 109.288485 384.01736 108.334199 +Q 385.595294 107.377484 386.759052 107.428373 +Q 387.924147 107.478453 388.559257 108.525955 +z +M 391.18979 114.371429 +Q 390.795277 113.720749 389.954667 113.780911 +Q 389.116203 113.8416 387.82954 114.621716 +Q 386.548221 115.398591 386.105365 116.114779 +Q 385.663319 116.832302 386.057833 117.482982 +Q 386.455587 118.139007 387.295386 118.077509 +Q 388.135996 118.017346 389.417315 117.24047 +Q 390.703979 116.460354 391.144688 115.743641 +Q 391.587544 115.027454 391.18979 114.371429 +z +M 391.85784 113.966384 +Q 392.49376 115.015222 391.999419 116.071433 +Q 391.506415 117.126833 389.928481 118.083549 +Q 388.354556 119.037834 387.189462 118.987755 +Q 386.025703 118.936865 385.389783 117.888027 +Q 384.754673 116.840525 385.247677 115.785125 +Q 385.742018 114.728914 387.315943 113.774629 +Q 388.893876 112.817913 390.057635 112.868803 +Q 391.22273 112.918882 391.85784 113.966384 z " style="fill:#ffffff;stroke:#000000;stroke-width:3;"/> - <path clip-path="url(#p826a730be7)" d="M 467.426889 110.867865 -L 469.109147 113.539908 -L 468.296745 114.051378 -L 466.614486 111.379335 -z -M 475.008944 115.024274 -Q 474.522447 114.25154 473.515074 114.340709 -Q 472.510287 114.430467 470.982272 115.392471 -Q 469.460604 116.350479 468.943723 117.21873 -Q 468.427841 118.088567 468.914338 118.861302 -Q 469.40483 119.640383 470.411204 119.549627 -Q 471.418577 119.460458 472.940245 118.502449 -Q 474.46826 117.540445 474.982555 116.671607 -Q 475.499436 115.803356 475.008944 115.024274 -z -M 475.802306 114.524791 -Q 476.586494 115.77037 476.01471 117.047631 -Q 475.444513 118.323893 473.570592 119.503672 -Q 471.701432 120.680454 470.302504 120.643908 -Q 468.905164 120.606363 468.120976 119.360785 -Q 467.337786 118.116793 467.907983 116.840531 -Q 468.479767 115.56327 470.348928 114.386488 -Q 472.222848 113.206709 473.620189 113.244254 -Q 475.019116 113.2808 475.802306 114.524791 -z -M 472.244286 122.795564 -L 472.903604 123.842802 -L 471.643745 124.63598 -L 470.984427 123.588743 -z -M 480.427344 122.166667 -L 482.902782 126.098568 -L 482.058645 126.630018 -L 480.16061 123.615243 -L 478.346984 124.757061 -Q 478.558419 124.927491 478.731772 125.121895 -Q 478.906123 125.317887 479.043981 125.536855 -Q 479.824173 126.776086 479.600584 127.92719 -Q 479.377993 129.07988 478.218098 129.810124 -Q 477.023295 130.562345 475.89153 130.235739 -Q 474.761351 129.908135 473.909233 128.554659 -Q 473.615537 128.088162 473.390189 127.554263 -Q 473.165839 127.021951 472.999848 126.406369 -L 474.007417 125.772026 -Q 474.045358 126.370737 474.226044 126.921677 -Q 474.406729 127.472616 474.740384 128.002582 -Q 475.280824 128.860999 476.046128 129.077111 -Q 476.812431 129.29481 477.586752 128.807314 -Q 478.359486 128.320818 478.494443 127.535707 -Q 478.631985 126.751184 478.091544 125.892766 -Q 477.838806 125.491325 477.49821 125.147413 -Q 477.158613 124.805087 476.708064 124.508242 -z -M 485.176542 131.174147 -Q 484.690046 130.401413 483.682673 130.490583 -Q 482.677885 130.58034 481.14987 131.542344 -Q 479.628202 132.500352 479.111322 133.368603 -Q 478.59544 134.238441 479.081936 135.011175 -Q 479.572428 135.790256 480.578802 135.6995 -Q 481.586175 135.610331 483.107843 134.652322 -Q 484.635858 133.690318 485.150153 132.82148 -Q 485.667034 131.953229 485.176542 131.174147 -z -M 485.969904 130.674665 -Q 486.754092 131.920243 486.182308 133.197504 -Q 485.612112 134.473767 483.738191 135.653545 -Q 481.86903 136.830327 480.470103 136.793781 -Q 479.072762 136.756236 478.288574 135.510658 -Q 477.505385 134.266666 478.075582 132.990404 -Q 478.647366 131.713143 480.516526 130.536361 -Q 482.390447 129.356582 483.787788 129.394127 -Q 485.186715 129.430673 485.969904 130.674665 -z -M 489.244206 137.635088 -Q 488.757709 136.862354 487.750336 136.951523 -Q 486.745549 137.041281 485.217534 138.003285 -Q 483.695866 138.961293 483.178985 139.829544 -Q 482.663103 140.699381 483.1496 141.472116 -Q 483.640092 142.251197 484.646466 142.160441 -Q 485.653839 142.071272 487.175507 141.113263 -Q 488.703522 140.151259 489.217817 139.282421 -Q 489.734698 138.41417 489.244206 137.635088 -z -M 490.037568 137.135606 -Q 490.821756 138.381184 490.249972 139.658445 -Q 489.679775 140.934708 487.805854 142.114486 -Q 485.936694 143.291268 484.537767 143.254722 -Q 483.140426 143.217177 482.356238 141.971599 -Q 481.573049 140.727607 482.143246 139.451345 -Q 482.715029 138.174084 484.58419 136.997302 -Q 486.458111 135.817523 487.855451 135.855068 -Q 489.254379 135.891614 490.037568 137.135606 + <path clip-path="url(#pedd1dac049)" d="M 373.386854 91.762443 +L 374.751044 94.012434 +L 374.066961 94.4272 +L 372.702771 92.177208 +z +M 379.646016 95.332014 +Q 379.251503 94.681333 378.410893 94.741496 +Q 377.57243 94.802184 376.285766 95.5823 +Q 375.004447 96.359176 374.561591 97.075363 +Q 374.119545 97.792887 374.514059 98.443567 +Q 374.911813 99.099592 375.751612 99.038093 +Q 376.592222 98.977931 377.873541 98.201055 +Q 379.160205 97.420939 379.600914 96.704226 +Q 380.04377 95.988038 379.646016 95.332014 +z +M 380.314066 94.926969 +Q 380.949986 95.975807 380.455645 97.032017 +Q 379.962641 98.087418 378.384708 99.044134 +Q 376.810783 99.998419 375.645688 99.948339 +Q 374.481929 99.89745 373.846009 98.848612 +Q 373.210899 97.80111 373.703904 96.745709 +Q 374.198244 95.689499 375.772169 94.735213 +Q 377.350103 93.778498 378.513861 93.829387 +Q 379.678956 93.879467 380.314066 94.926969 +z +M 377.233419 101.768378 +L 377.768078 102.650203 +L 376.707215 103.293414 +L 376.172556 102.411589 +z +M 384.060492 101.359191 +L 386.067893 104.670046 +L 385.357089 105.101013 +L 383.817919 102.562424 +L 382.290757 103.488357 +Q 382.464536 103.633328 382.606249 103.797742 +Q 382.748771 103.963491 382.860564 104.147873 +Q 383.493243 105.191367 383.290794 106.147346 +Q 383.089154 107.104662 382.112465 107.696837 +Q 381.106383 108.306834 380.167961 108.018821 +Q 379.230876 107.729998 378.53987 106.590305 +Q 378.301703 106.197492 378.121431 105.749477 +Q 377.941969 105.302798 377.8123 104.787557 +L 378.660723 104.273151 +Q 378.683935 104.772538 378.826754 105.234125 +Q 378.969573 105.695711 379.240143 106.141968 +Q 379.678402 106.864798 380.313032 107.055604 +Q 380.948472 107.247746 381.600489 106.852422 +Q 382.251169 106.457909 382.374633 105.805636 +Q 382.500243 105.153889 382.061985 104.431059 +Q 381.857032 104.093026 381.578068 103.801694 +Q 381.299914 103.511698 380.928675 103.258041 +z +M 387.891207 108.931 +Q 387.496694 108.280319 386.656084 108.340482 +Q 385.817621 108.40117 384.530957 109.181286 +Q 383.249638 109.958162 382.806782 110.674349 +Q 382.364736 111.391873 382.75925 112.042553 +Q 383.157004 112.698578 383.996803 112.637079 +Q 384.837413 112.576917 386.118732 111.800041 +Q 387.405396 111.019925 387.846106 110.303212 +Q 388.288961 109.587024 387.891207 108.931 +z +M 388.559257 108.525955 +Q 389.195177 109.574793 388.700837 110.631003 +Q 388.207832 111.686404 386.629899 112.64312 +Q 385.055974 113.597405 383.890879 113.547325 +Q 382.72712 113.496436 382.0912 112.447598 +Q 381.45609 111.400096 381.949095 110.344695 +Q 382.443435 109.288485 384.01736 108.334199 +Q 385.595294 107.377484 386.759052 107.428373 +Q 387.924147 107.478453 388.559257 108.525955 +z +M 391.18979 114.371429 +Q 390.795277 113.720749 389.954667 113.780911 +Q 389.116203 113.8416 387.82954 114.621716 +Q 386.548221 115.398591 386.105365 116.114779 +Q 385.663319 116.832302 386.057833 117.482982 +Q 386.455587 118.139007 387.295386 118.077509 +Q 388.135996 118.017346 389.417315 117.24047 +Q 390.703979 116.460354 391.144688 115.743641 +Q 391.587544 115.027454 391.18979 114.371429 +z +M 391.85784 113.966384 +Q 392.49376 115.015222 391.999419 116.071433 +Q 391.506415 117.126833 389.928481 118.083549 +Q 388.354556 119.037834 387.189462 118.987755 +Q 386.025703 118.936865 385.389783 117.888027 +Q 384.754673 116.840525 385.247677 115.785125 +Q 385.742018 114.728914 387.315943 113.774629 +Q 388.893876 112.817913 390.057635 112.868803 +Q 391.22273 112.918882 391.85784 113.966384 z " style="fill:#ffffff;"/> - </g> - <g id="text_24"> - <g id="patch_73"> - <path clip-path="url(#p826a730be7)" d="M 102.376357 132.065148 -L 103.331763 131.224197 -L 102.489597 130.287854 -L 101.647431 129.351511 -L 102.601622 128.529622 -L 103.555814 127.707734 -L 102.713648 126.771391 -L 101.871482 125.835047 -L 102.825673 125.013159 -L 103.779865 124.19127 -L 102.937699 123.254927 -L 102.095533 122.318584 -L 103.049724 121.496696 -L 104.003916 120.674807 -L 103.16175 119.738464 -L 102.319583 118.802121 -L 103.273775 117.980232 -L 104.227966 117.158344 -L 103.3858 116.222001 -L 102.543634 115.285658 -L 103.497826 114.463769 -L 104.452017 113.641881 -L 103.609851 112.705537 -L 102.767685 111.769194 -L 103.721877 110.947306 -L 104.676068 110.125417 -L 103.833902 109.189074 -L 102.991736 108.252731 -L 103.945927 107.430842 -L 104.900119 106.608954 -L 104.057953 105.672611 -L 103.215787 104.736268 -L 104.169978 103.914379 -L 105.12417 103.092491 -L 104.282004 102.156147 -L 103.439838 101.219804 -L 104.394029 100.397916 -L 105.348221 99.576027 -L 104.506054 98.639684 -L 103.663888 97.703341 -L 104.61808 96.881453 -L 105.572271 96.059564 -L 104.730105 95.123221 -L 103.887939 94.186878 -L 104.842131 93.364989 -L 105.796322 92.543101 -L 104.954156 91.606758 -L 104.11199 90.670414 -L 105.066182 89.848526 -L 106.020373 89.026637 -L 105.179422 88.071231 -L 104.33847 87.115825 -L 103.332308 87.953543 -L 102.326145 88.79126 -L 101.434437 87.83262 -L 100.542729 86.87398 -L 99.536567 87.711698 -L 98.530404 88.549415 -L 97.638697 87.590775 -L 96.746989 86.632135 -L 95.740826 87.469853 -L 94.734664 88.30757 -L 93.842956 87.34893 -L 92.951248 86.390291 -L 91.945085 87.228008 -L 90.938923 88.065726 -L 90.047215 87.107086 -L 89.155507 86.148446 -L 88.200101 86.989397 -L 87.244695 87.830348 -L 88.086861 88.766692 -L 88.929027 89.703035 -L 87.974836 90.524923 -L 87.020644 91.346812 -L 87.86281 92.283155 -L 88.704976 93.219498 -L 87.750785 94.041387 -L 86.796593 94.863275 -L 87.638759 95.799618 -L 88.480925 96.735961 -L 87.526734 97.55785 -L 86.572543 98.379738 -L 87.414709 99.316081 -L 88.256875 100.252425 -L 87.302683 101.074313 -L 86.348492 101.896202 -L 87.190658 102.832545 -L 88.032824 103.768888 -L 87.078632 104.590776 -L 86.124441 105.412665 -L 86.966607 106.349008 -L 87.808773 107.285351 -L 86.854582 108.10724 -L 85.90039 108.929128 -L 86.742556 109.865471 -L 87.584722 110.801814 -L 86.630531 111.623703 -L 85.676339 112.445592 -L 86.518505 113.381935 -L 87.360671 114.318278 -L 86.40648 115.140166 -L 85.452288 115.962055 -L 86.294454 116.898398 -L 87.13662 117.834741 -L 86.182429 118.65663 -L 85.228238 119.478518 -L 86.070404 120.414861 -L 86.91257 121.351204 -L 85.958378 122.173093 -L 85.004187 122.994981 -L 85.846353 123.931325 -L 86.688519 124.867668 -L 85.734327 125.689556 -L 84.780136 126.511445 -L 85.622302 127.447788 -L 86.464468 128.384131 -L 85.510277 129.20602 -L 84.556085 130.027908 -L 85.397037 130.983314 -L 86.237988 131.93872 -L 87.24415 131.101003 -L 88.250313 130.263285 -L 89.142021 131.221925 -L 90.033729 132.180565 -L 91.039891 131.342848 -L 92.046054 130.50513 -L 92.937762 131.46377 -L 93.829469 132.42241 -L 94.835632 131.584692 -L 95.841794 130.746975 -L 96.733502 131.705615 -L 97.62521 132.664255 -L 98.631373 131.826537 -L 99.637535 130.98882 -L 100.529243 131.94746 -L 101.420951 132.9061 + </g> + <g id="text_24"> + <g id="patch_74"> + <path clip-path="url(#pedd1dac049)" d="M 82.153575 111.320455 +L 82.949141 110.618975 +L 82.246662 109.839295 +L 81.544183 109.059616 +L 82.338751 108.374022 +L 83.133319 107.688428 +L 82.43084 106.908749 +L 81.728362 106.129069 +L 82.522929 105.443476 +L 83.317497 104.757882 +L 82.615018 103.978203 +L 81.91254 103.198523 +L 82.707108 102.51293 +L 83.501675 101.827336 +L 82.799197 101.047656 +L 82.096718 100.267977 +L 82.891286 99.582383 +L 83.685854 98.89679 +L 82.983375 98.11711 +L 82.280896 97.337431 +L 83.075464 96.651837 +L 83.870032 95.966243 +L 83.167553 95.186564 +L 82.465074 94.406884 +L 83.259642 93.721291 +L 84.05421 93.035697 +L 83.351731 92.256018 +L 82.649253 91.476338 +L 83.44382 90.790745 +L 84.238388 90.105151 +L 83.53591 89.325471 +L 82.833431 88.545792 +L 83.627999 87.860198 +L 84.422566 87.174605 +L 83.720088 86.394925 +L 83.017609 85.615246 +L 83.812177 84.929652 +L 84.606745 84.244059 +L 83.904266 83.464379 +L 83.201787 82.684699 +L 83.996355 81.999106 +L 84.790923 81.313512 +L 84.088444 80.533833 +L 83.385966 79.754153 +L 84.180533 79.06856 +L 84.975101 78.382966 +L 84.272622 77.603287 +L 83.570144 76.823607 +L 84.364711 76.138013 +L 85.159279 75.45242 +L 84.457799 74.656854 +L 83.756319 73.861287 +L 82.918453 74.560109 +L 82.080588 75.258931 +L 81.336808 74.460706 +L 80.593029 73.662482 +L 79.755163 74.361304 +L 78.917298 75.060125 +L 78.173518 74.261901 +L 77.429738 73.463676 +L 76.591873 74.162498 +L 75.754007 74.86132 +L 75.010228 74.063095 +L 74.266448 73.264871 +L 73.428583 73.963692 +L 72.590717 74.662514 +L 71.846938 73.86429 +L 71.103158 73.066065 +L 70.307592 73.767545 +L 69.512026 74.469025 +L 70.214504 75.248705 +L 70.916983 76.028384 +L 70.122415 76.713978 +L 69.327848 77.399572 +L 70.030326 78.179251 +L 70.732805 78.958931 +L 69.938237 79.644524 +L 69.143669 80.330118 +L 69.846148 81.109797 +L 70.548627 81.889477 +L 69.754059 82.57507 +L 68.959491 83.260664 +L 69.66197 84.040344 +L 70.364448 84.820023 +L 69.569881 85.505617 +L 68.775313 86.19121 +L 69.477792 86.97089 +L 70.18027 87.750569 +L 69.385702 88.436163 +L 68.591135 89.121757 +L 69.293613 89.901436 +L 69.996092 90.681116 +L 69.201524 91.366709 +L 68.406957 92.052303 +L 69.109435 92.831982 +L 69.811914 93.611662 +L 69.017346 94.297255 +L 68.222778 94.982849 +L 68.925257 95.762529 +L 69.627736 96.542208 +L 68.833168 97.227802 +L 68.0386 97.913395 +L 68.741079 98.693075 +L 69.443557 99.472754 +L 68.64899 100.158348 +L 67.854422 100.843941 +L 68.556901 101.623621 +L 69.259379 102.403301 +L 68.464811 103.088894 +L 67.670244 103.774488 +L 68.372722 104.554167 +L 69.075201 105.333847 +L 68.280633 106.01944 +L 67.486066 106.705034 +L 68.188544 107.484713 +L 68.891023 108.264393 +L 68.096455 108.949987 +L 67.301887 109.63558 +L 68.003367 110.431146 +L 68.704848 111.226713 +L 69.542713 110.527891 +L 70.380579 109.829069 +L 71.124358 110.627294 +L 71.868138 111.425518 +L 72.706003 110.726696 +L 73.543869 110.027875 +L 74.287648 110.826099 +L 75.031428 111.624324 +L 75.869294 110.925502 +L 76.707159 110.22668 +L 77.450939 111.024905 +L 78.194718 111.823129 +L 79.032584 111.124308 +L 79.870449 110.425486 +L 80.614229 111.22371 +L 81.358008 112.021935 z " style="fill:none;stroke:#0000ff;stroke-linejoin:miter;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 93.640993 128.215036 -L 93.841765 125.063926 -L 94.799822 125.124968 -L 94.59905 128.276079 -z -M 89.928136 120.406196 -Q 89.870074 121.317473 90.738924 121.835017 -Q 91.606022 122.35057 93.407993 122.465383 -Q 95.202479 122.579718 96.129868 122.1785 -Q 97.057375 121.775411 97.115437 120.864133 -Q 97.173976 119.945371 96.305007 119.429699 -Q 95.436157 118.912155 93.641671 118.797819 -Q 91.8397 118.683007 90.914064 119.086216 -Q 89.986675 119.487434 89.928136 120.406196 -z -M 88.992533 120.346584 -Q 89.086124 118.877688 90.297501 118.177046 -Q 91.507007 117.476286 93.716901 117.617089 -Q 95.921181 117.757534 97.033842 118.606251 -Q 98.144631 119.454849 98.05104 120.923745 -Q 97.957569 122.39077 96.748063 123.091531 -Q 95.536686 123.792172 93.332405 123.651727 -Q 91.122511 123.510924 90.011722 122.662326 -Q 88.899062 121.813609 88.992533 120.346584 -z -M 96.719535 115.725044 -L 96.798222 114.490049 -L 98.28396 114.584712 -L 98.205272 115.819708 -z -M 89.717606 111.443578 -L 90.013042 106.806731 -L 91.008524 106.870157 -L 90.781999 110.425448 -L 92.920787 110.561721 -Q 92.849174 110.299762 92.82247 110.040665 -Q 92.795885 109.779696 92.812338 109.52147 -Q 92.905451 108.060058 93.760693 107.257816 -Q 94.616054 106.453703 95.983906 106.540855 -Q 97.392924 106.63063 98.119172 107.558061 -Q 98.843549 108.485373 98.741851 110.081512 -Q 98.706799 110.631646 98.576876 111.196403 -Q 98.447072 111.759288 98.221203 112.355507 -L 97.032988 112.2798 -Q 97.352784 111.772233 97.528892 111.219813 -Q 97.704999 110.667393 97.74482 110.04241 -Q 97.80932 109.030088 97.315453 108.406799 -Q 96.821705 107.781638 95.908557 107.723457 -Q 94.997279 107.665395 94.428182 108.222837 -Q 93.857333 108.778288 93.792833 109.79061 -Q 93.76267 110.264025 93.837413 110.742246 -Q 93.912275 111.218595 94.103712 111.723038 -z -M 91.141608 101.36083 -Q 91.083546 102.272107 91.952396 102.789651 -Q 92.819494 103.305205 94.621465 103.420017 -Q 96.415951 103.534352 97.34334 103.133134 -Q 98.270848 102.730045 98.328909 101.818768 -Q 98.387448 100.900006 97.518479 100.384333 -Q 96.649629 99.866789 94.855143 99.752454 -Q 93.053172 99.637642 92.127536 100.04085 -Q 91.200147 100.442068 91.141608 101.36083 -z -M 90.206005 101.301219 -Q 90.299596 99.832322 91.510973 99.131681 -Q 92.720479 98.43092 94.930373 98.571723 -Q 97.134654 98.712168 98.247314 99.560885 -Q 99.358103 100.409483 99.264512 101.87838 -Q 99.171041 103.345405 97.961535 104.046166 -Q 96.750158 104.746807 94.545877 104.606362 -Q 92.335983 104.465559 91.225194 103.616961 -Q 90.112534 102.768244 90.206005 101.301219 -z -M 91.627072 93.741515 -Q 91.56901 94.652792 92.43786 95.170336 -Q 93.304957 95.685889 95.106928 95.800701 -Q 96.901415 95.915037 97.828803 95.513819 -Q 98.756311 95.110729 98.814373 94.199452 -Q 98.872911 93.28069 98.003942 92.765018 -Q 97.135093 92.247474 95.340606 92.133138 -Q 93.538635 92.018326 92.612999 92.421535 -Q 91.68561 92.822753 91.627072 93.741515 -z -M 90.691469 93.681903 -Q 90.785059 92.213006 91.996437 91.512365 -Q 93.205943 90.811604 95.415837 90.952407 -Q 97.620117 91.092853 98.732777 91.94157 -Q 99.843566 92.790168 99.749976 94.259064 -Q 99.656504 95.726089 98.446998 96.42685 -Q 97.235621 97.127491 95.031341 96.987046 -Q 92.821447 96.846243 91.710658 95.997645 -Q 90.597998 95.148928 90.691469 93.681903 + </g> + <path clip-path="url(#pedd1dac049)" d="M 74.871336 108.118316 +L 75.036379 105.492247 +L 75.834803 105.542426 +L 75.669761 108.168495 +z +M 71.77167 101.613623 +Q 71.723941 102.373063 72.448355 102.803724 +Q 73.171307 103.232727 74.673032 103.327107 +Q 76.168519 103.421095 76.941053 103.08608 +Q 77.713686 102.749504 77.761415 101.990065 +Q 77.809536 101.224388 77.085025 100.795287 +Q 76.360611 100.364626 74.865124 100.270638 +Q 73.363399 100.176258 72.592326 100.512931 +Q 71.819791 100.847947 71.77167 101.613623 +z +M 70.991959 101.56462 +Q 71.068894 100.340473 72.07787 99.755734 +Q 73.085287 99.170896 74.926966 99.286642 +Q 76.763967 99.402093 77.691794 100.108556 +Q 78.618062 100.814921 78.541127 102.039068 +Q 78.46429 103.261656 77.456873 103.846494 +Q 76.447896 104.431233 74.610896 104.315782 +Q 72.769217 104.200036 71.842949 103.493671 +Q 70.915122 102.787208 70.991959 101.56462 +z +M 77.427798 97.707778 +L 77.492482 96.678558 +L 78.730664 96.756375 +L 78.66598 97.785595 +z +M 71.589778 94.14493 +L 71.832638 90.280679 +L 72.662251 90.332818 +L 72.476039 93.295722 +L 74.25846 93.407744 +Q 74.198594 93.189496 74.176154 92.973601 +Q 74.153812 92.756147 74.167337 92.540946 +Q 74.24388 91.323037 74.956004 90.653886 +Q 75.668226 89.983176 76.808164 90.054819 +Q 77.98241 90.128618 78.588284 90.900954 +Q 79.192599 91.673192 79.108999 93.00338 +Q 79.080186 93.46185 78.972323 93.932574 +Q 78.864557 94.401739 78.676763 94.898751 +L 77.686529 94.836517 +Q 77.952661 94.413314 78.099019 93.952837 +Q 78.245378 93.492361 78.278112 92.971513 +Q 78.331134 92.127865 77.919129 91.608813 +Q 77.507223 91.088202 76.746224 91.040374 +Q 75.986785 90.992645 75.512939 91.457589 +Q 75.037632 91.920876 74.98461 92.764524 +Q 74.959815 93.159058 75.022445 93.557521 +Q 75.085173 93.954425 75.245067 94.374656 +z +M 72.76919 85.741618 +Q 72.721461 86.501057 73.445875 86.931718 +Q 74.168827 87.360722 75.670551 87.455102 +Q 77.166038 87.54909 77.938573 87.214074 +Q 78.711206 86.877499 78.758935 86.11806 +Q 78.807056 85.352383 78.082544 84.923282 +Q 77.358131 84.49262 75.862644 84.398632 +Q 74.360919 84.304252 73.589846 84.640926 +Q 72.817311 84.975941 72.76919 85.741618 +z +M 71.989478 85.692615 +Q 72.066413 84.468468 73.07539 83.883728 +Q 74.082807 83.298891 75.924486 83.414636 +Q 77.761486 83.530088 78.689314 84.236551 +Q 79.615581 84.942916 79.538647 86.167063 +Q 79.46181 87.389651 78.454393 87.974488 +Q 77.445416 88.559228 75.608416 88.443776 +Q 73.766737 88.328031 72.840469 87.621666 +Q 71.912641 86.915203 71.989478 85.692615 +z +M 73.168259 79.391841 +Q 73.12053 80.151281 73.844944 80.581942 +Q 74.567896 81.010945 76.069621 81.105325 +Q 77.565108 81.199313 78.337642 80.864298 +Q 79.110275 80.527722 79.158004 79.768283 +Q 79.206125 79.002606 78.481613 78.573505 +Q 77.7572 78.142844 76.261713 78.048856 +Q 74.759988 77.954476 73.988915 78.291149 +Q 73.21638 78.626165 73.168259 79.391841 +z +M 72.388547 79.342838 +Q 72.465482 78.118691 73.474459 77.533952 +Q 74.481876 76.949114 76.323555 77.06486 +Q 78.160555 77.180311 79.088383 77.886774 +Q 80.014651 78.593139 79.937716 79.817286 +Q 79.860879 81.039874 78.853462 81.624712 +Q 77.844485 82.209451 76.007485 82.094 +Q 74.165806 81.978254 73.239538 81.271889 +Q 72.311711 80.565426 72.388547 79.342838 z " style="fill:#ffffff;stroke:#000000;stroke-width:3;"/> - <path clip-path="url(#p826a730be7)" d="M 93.640993 128.215036 -L 93.841765 125.063926 -L 94.799822 125.124968 -L 94.59905 128.276079 -z -M 89.928136 120.406196 -Q 89.870074 121.317473 90.738924 121.835017 -Q 91.606022 122.35057 93.407993 122.465383 -Q 95.202479 122.579718 96.129868 122.1785 -Q 97.057375 121.775411 97.115437 120.864133 -Q 97.173976 119.945371 96.305007 119.429699 -Q 95.436157 118.912155 93.641671 118.797819 -Q 91.8397 118.683007 90.914064 119.086216 -Q 89.986675 119.487434 89.928136 120.406196 -z -M 88.992533 120.346584 -Q 89.086124 118.877688 90.297501 118.177046 -Q 91.507007 117.476286 93.716901 117.617089 -Q 95.921181 117.757534 97.033842 118.606251 -Q 98.144631 119.454849 98.05104 120.923745 -Q 97.957569 122.39077 96.748063 123.091531 -Q 95.536686 123.792172 93.332405 123.651727 -Q 91.122511 123.510924 90.011722 122.662326 -Q 88.899062 121.813609 88.992533 120.346584 -z -M 96.719535 115.725044 -L 96.798222 114.490049 -L 98.28396 114.584712 -L 98.205272 115.819708 -z -M 89.717606 111.443578 -L 90.013042 106.806731 -L 91.008524 106.870157 -L 90.781999 110.425448 -L 92.920787 110.561721 -Q 92.849174 110.299762 92.82247 110.040665 -Q 92.795885 109.779696 92.812338 109.52147 -Q 92.905451 108.060058 93.760693 107.257816 -Q 94.616054 106.453703 95.983906 106.540855 -Q 97.392924 106.63063 98.119172 107.558061 -Q 98.843549 108.485373 98.741851 110.081512 -Q 98.706799 110.631646 98.576876 111.196403 -Q 98.447072 111.759288 98.221203 112.355507 -L 97.032988 112.2798 -Q 97.352784 111.772233 97.528892 111.219813 -Q 97.704999 110.667393 97.74482 110.04241 -Q 97.80932 109.030088 97.315453 108.406799 -Q 96.821705 107.781638 95.908557 107.723457 -Q 94.997279 107.665395 94.428182 108.222837 -Q 93.857333 108.778288 93.792833 109.79061 -Q 93.76267 110.264025 93.837413 110.742246 -Q 93.912275 111.218595 94.103712 111.723038 -z -M 91.141608 101.36083 -Q 91.083546 102.272107 91.952396 102.789651 -Q 92.819494 103.305205 94.621465 103.420017 -Q 96.415951 103.534352 97.34334 103.133134 -Q 98.270848 102.730045 98.328909 101.818768 -Q 98.387448 100.900006 97.518479 100.384333 -Q 96.649629 99.866789 94.855143 99.752454 -Q 93.053172 99.637642 92.127536 100.04085 -Q 91.200147 100.442068 91.141608 101.36083 -z -M 90.206005 101.301219 -Q 90.299596 99.832322 91.510973 99.131681 -Q 92.720479 98.43092 94.930373 98.571723 -Q 97.134654 98.712168 98.247314 99.560885 -Q 99.358103 100.409483 99.264512 101.87838 -Q 99.171041 103.345405 97.961535 104.046166 -Q 96.750158 104.746807 94.545877 104.606362 -Q 92.335983 104.465559 91.225194 103.616961 -Q 90.112534 102.768244 90.206005 101.301219 -z -M 91.627072 93.741515 -Q 91.56901 94.652792 92.43786 95.170336 -Q 93.304957 95.685889 95.106928 95.800701 -Q 96.901415 95.915037 97.828803 95.513819 -Q 98.756311 95.110729 98.814373 94.199452 -Q 98.872911 93.28069 98.003942 92.765018 -Q 97.135093 92.247474 95.340606 92.133138 -Q 93.538635 92.018326 92.612999 92.421535 -Q 91.68561 92.822753 91.627072 93.741515 -z -M 90.691469 93.681903 -Q 90.785059 92.213006 91.996437 91.512365 -Q 93.205943 90.811604 95.415837 90.952407 -Q 97.620117 91.092853 98.732777 91.94157 -Q 99.843566 92.790168 99.749976 94.259064 -Q 99.656504 95.726089 98.446998 96.42685 -Q 97.235621 97.127491 95.031341 96.987046 -Q 92.821447 96.846243 91.710658 95.997645 -Q 90.597998 95.148928 90.691469 93.681903 + <path clip-path="url(#pedd1dac049)" d="M 74.871336 108.118316 +L 75.036379 105.492247 +L 75.834803 105.542426 +L 75.669761 108.168495 +z +M 71.77167 101.613623 +Q 71.723941 102.373063 72.448355 102.803724 +Q 73.171307 103.232727 74.673032 103.327107 +Q 76.168519 103.421095 76.941053 103.08608 +Q 77.713686 102.749504 77.761415 101.990065 +Q 77.809536 101.224388 77.085025 100.795287 +Q 76.360611 100.364626 74.865124 100.270638 +Q 73.363399 100.176258 72.592326 100.512931 +Q 71.819791 100.847947 71.77167 101.613623 +z +M 70.991959 101.56462 +Q 71.068894 100.340473 72.07787 99.755734 +Q 73.085287 99.170896 74.926966 99.286642 +Q 76.763967 99.402093 77.691794 100.108556 +Q 78.618062 100.814921 78.541127 102.039068 +Q 78.46429 103.261656 77.456873 103.846494 +Q 76.447896 104.431233 74.610896 104.315782 +Q 72.769217 104.200036 71.842949 103.493671 +Q 70.915122 102.787208 70.991959 101.56462 +z +M 77.427798 97.707778 +L 77.492482 96.678558 +L 78.730664 96.756375 +L 78.66598 97.785595 +z +M 71.589778 94.14493 +L 71.832638 90.280679 +L 72.662251 90.332818 +L 72.476039 93.295722 +L 74.25846 93.407744 +Q 74.198594 93.189496 74.176154 92.973601 +Q 74.153812 92.756147 74.167337 92.540946 +Q 74.24388 91.323037 74.956004 90.653886 +Q 75.668226 89.983176 76.808164 90.054819 +Q 77.98241 90.128618 78.588284 90.900954 +Q 79.192599 91.673192 79.108999 93.00338 +Q 79.080186 93.46185 78.972323 93.932574 +Q 78.864557 94.401739 78.676763 94.898751 +L 77.686529 94.836517 +Q 77.952661 94.413314 78.099019 93.952837 +Q 78.245378 93.492361 78.278112 92.971513 +Q 78.331134 92.127865 77.919129 91.608813 +Q 77.507223 91.088202 76.746224 91.040374 +Q 75.986785 90.992645 75.512939 91.457589 +Q 75.037632 91.920876 74.98461 92.764524 +Q 74.959815 93.159058 75.022445 93.557521 +Q 75.085173 93.954425 75.245067 94.374656 +z +M 72.76919 85.741618 +Q 72.721461 86.501057 73.445875 86.931718 +Q 74.168827 87.360722 75.670551 87.455102 +Q 77.166038 87.54909 77.938573 87.214074 +Q 78.711206 86.877499 78.758935 86.11806 +Q 78.807056 85.352383 78.082544 84.923282 +Q 77.358131 84.49262 75.862644 84.398632 +Q 74.360919 84.304252 73.589846 84.640926 +Q 72.817311 84.975941 72.76919 85.741618 +z +M 71.989478 85.692615 +Q 72.066413 84.468468 73.07539 83.883728 +Q 74.082807 83.298891 75.924486 83.414636 +Q 77.761486 83.530088 78.689314 84.236551 +Q 79.615581 84.942916 79.538647 86.167063 +Q 79.46181 87.389651 78.454393 87.974488 +Q 77.445416 88.559228 75.608416 88.443776 +Q 73.766737 88.328031 72.840469 87.621666 +Q 71.912641 86.915203 71.989478 85.692615 +z +M 73.168259 79.391841 +Q 73.12053 80.151281 73.844944 80.581942 +Q 74.567896 81.010945 76.069621 81.105325 +Q 77.565108 81.199313 78.337642 80.864298 +Q 79.110275 80.527722 79.158004 79.768283 +Q 79.206125 79.002606 78.481613 78.573505 +Q 77.7572 78.142844 76.261713 78.048856 +Q 74.759988 77.954476 73.988915 78.291149 +Q 73.21638 78.626165 73.168259 79.391841 +z +M 72.388547 79.342838 +Q 72.465482 78.118691 73.474459 77.533952 +Q 74.481876 76.949114 76.323555 77.06486 +Q 78.160555 77.180311 79.088383 77.886774 +Q 80.014651 78.593139 79.937716 79.817286 +Q 79.860879 81.039874 78.853462 81.624712 +Q 77.844485 82.209451 76.007485 82.094 +Q 74.165806 81.978254 73.239538 81.271889 +Q 72.311711 80.565426 72.388547 79.342838 z " style="fill:#ffffff;"/> - </g> - <g id="text_25"> - <g id="patch_74"> - <path clip-path="url(#p826a730be7)" d="M 312.626564 182.340606 -L 313.869008 182.616888 -L 314.129174 181.384696 -L 314.389339 180.152505 -L 315.615667 180.43904 -L 316.841994 180.725574 -L 317.10216 179.493383 -L 317.362325 178.261191 -L 318.588653 178.547726 -L 319.81498 178.834261 -L 320.075146 177.602069 -L 320.335311 176.369878 -L 321.561639 176.656412 -L 322.787966 176.942947 -L 323.048131 175.710755 -L 323.308297 174.478564 -L 324.534624 174.765099 -L 325.760952 175.051633 -L 326.021117 173.819442 -L 326.281283 172.58725 -L 327.50761 172.873785 -L 328.733938 173.16032 -L 328.994103 171.928128 -L 329.254269 170.695937 -L 330.480596 170.982471 -L 331.706924 171.269006 -L 331.967089 170.036815 -L 332.227255 168.804623 -L 333.453582 169.091158 -L 334.67991 169.377692 -L 334.940075 168.145501 -L 335.200241 166.913309 -L 336.426568 167.199844 -L 337.652896 167.486379 -L 337.913061 166.254187 -L 338.173227 165.021996 -L 339.399554 165.30853 -L 340.625882 165.595065 -L 340.886047 164.362874 -L 341.146213 163.130682 -L 342.37254 163.417217 -L 343.598868 163.703752 -L 343.859033 162.47156 -L 344.119198 161.239368 -L 345.345526 161.525903 -L 346.571854 161.812438 -L 346.832019 160.580246 -L 347.092184 159.348055 -L 348.318512 159.634589 -L 349.54484 159.921124 -L 349.821122 158.67868 -L 350.097404 157.436235 -L 348.82766 157.117041 -L 347.557917 156.797848 -L 347.806899 155.512491 -L 348.055882 154.227135 -L 346.786138 153.907941 -L 345.516395 153.588747 -L 345.765378 152.303391 -L 346.01436 151.018034 -L 344.744617 150.698841 -L 343.474873 150.379647 -L 343.723856 149.09429 -L 343.972839 147.808934 -L 342.703095 147.48974 -L 341.433351 147.170546 -L 341.682334 145.88519 -L 341.931317 144.599833 -L 340.688872 144.323552 -L 339.446428 144.04727 -L 339.186263 145.279461 -L 338.926097 146.511653 -L 337.69977 146.225118 -L 336.473442 145.938583 -L 336.213277 147.170775 -L 335.953112 148.402966 -L 334.726784 148.116432 -L 333.500456 147.829897 -L 333.240291 149.062089 -L 332.980126 150.29428 -L 331.753798 150.007745 -L 330.52747 149.721211 -L 330.267305 150.953402 -L 330.00714 152.185594 -L 328.780812 151.899059 -L 327.554484 151.612524 -L 327.294319 152.844716 -L 327.034154 154.076907 -L 325.807826 153.790373 -L 324.581498 153.503838 -L 324.321333 154.736029 -L 324.061168 155.968221 -L 322.83484 155.681686 -L 321.608512 155.395152 -L 321.348347 156.627343 -L 321.088182 157.859535 -L 319.861854 157.573 -L 318.635526 157.286465 -L 318.375361 158.518657 -L 318.115196 159.750848 -L 316.888868 159.464314 -L 315.66254 159.177779 -L 315.402375 160.40997 -L 315.14221 161.642162 -L 313.915882 161.355627 -L 312.689554 161.069092 -L 312.429389 162.301284 -L 312.169224 163.533476 -L 310.942896 163.246941 -L 309.716568 162.960406 -L 309.456403 164.192598 -L 309.196238 165.424789 -L 307.96991 165.138255 -L 306.743582 164.85172 -L 306.483417 166.083911 -L 306.223252 167.316103 -L 304.996924 167.029568 -L 303.770596 166.743033 -L 303.494314 167.985478 -L 303.218032 169.227922 -L 304.487776 169.547116 -L 305.75752 169.86631 -L 305.508537 171.151666 -L 305.259554 172.437023 -L 306.529298 172.756217 -L 307.799041 173.07541 -L 307.550059 174.360767 -L 307.301076 175.646123 -L 308.57082 175.965317 -L 309.840563 176.284511 -L 309.59158 177.569867 -L 309.342598 178.855224 -L 310.612341 179.174418 -L 311.882085 179.493611 -L 311.633102 180.778968 -L 311.384119 182.064324 + </g> + <g id="text_25"> + <g id="patch_75"> + <path clip-path="url(#pedd1dac049)" d="M 243.859501 151.911596 +L 244.878197 152.206992 +L 245.159648 151.195972 +L 245.441099 150.184951 +L 246.445849 150.488023 +L 247.4506 150.791094 +L 247.732051 149.780074 +L 248.013501 148.769054 +L 249.018252 149.072125 +L 250.023003 149.375196 +L 250.304454 148.364176 +L 250.585904 147.353156 +L 251.590655 147.656227 +L 252.595406 147.959299 +L 252.876856 146.948278 +L 253.158307 145.937258 +L 254.163058 146.24033 +L 255.167809 146.543401 +L 255.449259 145.532381 +L 255.73071 144.52136 +L 256.735461 144.824432 +L 257.740211 145.127503 +L 258.021662 144.116483 +L 258.303113 143.105463 +L 259.307864 143.408534 +L 260.312614 143.711605 +L 260.594065 142.700585 +L 260.875516 141.689565 +L 261.880266 141.992636 +L 262.885017 142.295708 +L 263.166468 141.284687 +L 263.447918 140.273667 +L 264.452669 140.576738 +L 265.45742 140.87981 +L 265.738871 139.86879 +L 266.020321 138.857769 +L 267.025072 139.160841 +L 268.029823 139.463912 +L 268.311273 138.452892 +L 268.592724 137.441872 +L 269.597475 137.744943 +L 270.602226 138.048014 +L 270.883676 137.036994 +L 271.165127 136.025974 +L 272.169878 136.329045 +L 273.174629 136.632117 +L 273.456079 135.621096 +L 273.73753 134.610076 +L 274.742281 134.913147 +L 275.747031 135.216219 +L 276.042427 134.197523 +L 276.337823 133.178827 +L 275.29869 132.846301 +L 274.259557 132.513776 +L 274.534516 131.45795 +L 274.809474 130.402124 +L 273.770342 130.069598 +L 272.731209 129.737073 +L 273.006167 128.681247 +L 273.281126 127.625421 +L 272.241993 127.292895 +L 271.20286 126.96037 +L 271.477819 125.904544 +L 271.752778 124.848718 +L 270.713645 124.516192 +L 269.674512 124.183667 +L 269.949471 123.127841 +L 270.224429 122.072015 +L 269.205734 121.776619 +L 268.187038 121.481223 +L 267.905587 122.492244 +L 267.624136 123.503264 +L 266.619386 123.200193 +L 265.614635 122.897121 +L 265.333184 123.908141 +L 265.051734 124.919162 +L 264.046983 124.61609 +L 263.042232 124.313019 +L 262.760781 125.324039 +L 262.479331 126.335059 +L 261.47458 126.031988 +L 260.469829 125.728917 +L 260.188378 126.739937 +L 259.906928 127.750957 +L 258.902177 127.447886 +L 257.897426 127.144814 +L 257.615976 128.155835 +L 257.334525 129.166855 +L 256.329774 128.863784 +L 255.325023 128.560712 +L 255.043573 129.571732 +L 254.762122 130.582753 +L 253.757371 130.279681 +L 252.752621 129.97661 +L 252.47117 130.98763 +L 252.189719 131.998651 +L 251.184969 131.695579 +L 250.180218 131.392508 +L 249.898767 132.403528 +L 249.617317 133.414548 +L 248.612566 133.111477 +L 247.607815 132.808406 +L 247.326364 133.819426 +L 247.044914 134.830446 +L 246.040163 134.527375 +L 245.035412 134.224303 +L 244.753961 135.235324 +L 244.472511 136.246344 +L 243.46776 135.943272 +L 242.463009 135.640201 +L 242.181559 136.651221 +L 241.900108 137.662242 +L 240.895357 137.35917 +L 239.890606 137.056099 +L 239.609156 138.067119 +L 239.327705 139.078139 +L 238.322954 138.775068 +L 237.318204 138.471997 +L 237.022808 139.490693 +L 236.727412 140.509388 +L 237.766545 140.841914 +L 238.805678 141.17444 +L 238.530719 142.230266 +L 238.25576 143.286091 +L 239.294893 143.618617 +L 240.334026 143.951143 +L 240.059068 145.006969 +L 239.784109 146.062794 +L 240.823242 146.39532 +L 241.862375 146.727846 +L 241.587416 147.783672 +L 241.312457 148.839498 +L 242.35159 149.172023 +L 243.390723 149.504549 +L 243.115764 150.560375 +L 242.840805 151.616201 z " style="fill:none;stroke:#0000ff;stroke-linejoin:miter;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 310.589137 173.014361 -L 313.253236 171.319551 -L 313.768523 172.129538 -L 311.104424 173.824349 -z -M 314.709831 165.412837 -Q 313.939394 165.902963 314.033301 166.909905 -Q 314.127785 167.914259 315.096967 169.437732 -Q 316.062123 170.954876 316.932796 171.467666 -Q 317.805051 171.979451 318.575488 171.489324 -Q 319.352253 170.995172 319.256763 169.989236 -Q 319.162856 168.982294 318.1977 167.46515 -Q 317.228518 165.941677 316.357269 165.431475 -Q 315.486596 164.918685 314.709831 165.412837 -z -M 314.206621 164.621833 -Q 315.448496 163.831794 316.728434 164.397563 -Q 318.007364 164.961749 319.195946 166.830099 -Q 320.381508 168.693703 320.351543 170.092787 -Q 320.320573 171.490288 319.078698 172.280328 -Q 317.838404 173.06936 316.559474 172.505174 -Q 315.279536 171.939405 314.093974 170.075802 -Q 312.905393 168.207452 312.936364 166.80995 -Q 312.966328 165.410866 314.206621 164.621833 -z -M 322.494041 168.140904 -L 323.538165 167.476667 -L 324.337262 168.73278 -L 323.293138 169.397017 -z -M 321.826654 159.960895 -L 325.746866 157.466988 -L 326.282281 158.308615 -L 323.276469 160.220812 -L 324.426806 162.029046 -Q 324.596239 161.816812 324.789826 161.642546 -Q 324.984996 161.467274 325.203313 161.328388 -Q 326.43886 160.542375 327.591002 160.760546 -Q 328.744727 160.977711 329.480419 162.134158 -Q 330.238253 163.325409 329.916975 164.458699 -Q 329.594691 165.590406 328.24524 166.448882 -Q 327.78013 166.744769 327.247297 166.972627 -Q 326.716046 167.199478 326.101251 167.368364 -L 325.462175 166.363789 -Q 326.060701 166.323033 326.610785 166.139757 -Q 327.160868 165.956482 327.689258 165.620338 -Q 328.545124 165.075865 328.757633 164.309553 -Q 328.971724 163.542235 328.480591 162.770215 -Q 327.990465 161.999778 327.204728 161.868517 -Q 326.419566 161.734667 325.563701 162.27914 -Q 325.163453 162.533764 324.821147 162.875974 -Q 324.480422 163.217178 324.185701 163.669118 -z -M 330.811692 155.169374 -Q 330.041255 155.659501 330.135163 156.666443 -Q 330.229646 157.670797 331.198828 159.194269 -Q 332.163984 160.711414 333.034657 161.224204 -Q 333.906912 161.735988 334.677349 161.245862 -Q 335.454114 160.75171 335.358625 159.745774 -Q 335.264717 158.738832 334.299561 157.221687 -Q 333.330379 155.698215 332.45913 155.188013 -Q 331.588458 154.675222 330.811692 155.169374 -z -M 330.308483 154.378371 -Q 331.550358 153.588332 332.830295 154.1541 -Q 334.109226 154.718287 335.297807 156.586637 -Q 336.483369 158.45024 336.453405 159.849324 -Q 336.422434 161.246826 335.180559 162.036865 -Q 333.940266 162.825898 332.661335 162.261711 -Q 331.381398 161.695943 330.195836 159.832339 -Q 329.007254 157.963989 329.038225 156.566488 -Q 329.068189 155.167404 330.308483 154.378371 -z -M 337.253426 151.07136 -Q 336.482988 151.561487 336.576896 152.568429 -Q 336.671379 153.572783 337.640561 155.096255 -Q 338.605717 156.6134 339.47639 157.12619 -Q 340.348645 157.637974 341.119082 157.147848 -Q 341.895848 156.653696 341.800358 155.64776 -Q 341.70645 154.640818 340.741294 153.123673 -Q 339.772112 151.600201 338.900864 151.089999 -Q 338.030191 150.577208 337.253426 151.07136 -z -M 336.750216 150.280357 -Q 337.992091 149.490318 339.272028 150.056086 -Q 340.550959 150.620273 341.73954 152.488623 -Q 342.925102 154.352226 342.895138 155.75131 -Q 342.864167 157.148812 341.622292 157.938851 -Q 340.381999 158.727884 339.103068 158.163698 -Q 337.823131 157.597929 336.637569 155.734325 -Q 335.448988 153.865975 335.479958 152.468474 -Q 335.509923 151.06939 336.750216 150.280357 + </g> + <path clip-path="url(#pedd1dac049)" d="M 242.657655 144.047739 +L 244.962791 142.77895 +L 245.348551 143.479798 +L 243.043415 144.748588 +z +M 246.486162 137.94352 +Q 245.819534 138.310444 245.844448 139.152835 +Q 245.869978 139.993104 246.595538 141.311303 +Q 247.318085 142.624025 248.015102 143.096479 +Q 248.713488 143.568179 249.380116 143.201255 +Q 250.052219 142.831317 250.025936 141.989679 +Q 250.001022 141.147288 249.278475 139.834565 +Q 248.552915 138.516367 247.855282 138.046035 +Q 247.158265 137.573582 246.486162 137.94352 +z +M 246.109443 137.259097 +Q 247.183987 136.667648 248.218574 137.205778 +Q 249.252407 137.742539 250.142217 139.359146 +Q 251.029767 140.971646 250.930949 142.133622 +Q 250.831379 143.294229 249.756835 143.885678 +Q 248.68366 144.476373 247.649827 143.939612 +Q 246.61524 143.401482 245.72769 141.788982 +Q 244.83788 140.172376 244.937451 139.011768 +Q 245.036268 137.849792 246.109443 137.259097 +z +M 252.815869 140.623486 +L 253.719307 140.126217 +L 254.317536 141.213081 +L 253.414098 141.71035 +z +M 252.692885 133.785268 +L 256.084884 131.918249 +L 256.485713 132.646475 +L 253.884907 134.078007 +L 254.746086 135.642597 +Q 254.898206 135.47504 255.068409 135.340336 +Q 255.239981 135.204878 255.428881 135.100904 +Q 256.49795 134.512469 257.444614 134.754767 +Q 258.392648 134.996312 258.943411 135.996938 +Q 259.51075 137.027679 259.183698 137.953218 +Q 258.855893 138.877389 257.688268 139.520071 +Q 257.285827 139.741582 256.830658 139.902938 +Q 256.376857 140.063541 255.856638 140.171524 +L 255.378205 139.302307 +Q 255.878127 139.300024 256.345288 139.176656 +Q 256.81245 139.053289 257.269644 138.80164 +Q 258.010189 138.394031 258.227399 137.767946 +Q 258.445978 137.141107 258.078301 136.473111 +Q 257.711377 135.806483 257.064845 135.655817 +Q 256.418929 135.503029 255.678384 135.910639 +Q 255.332066 136.101258 255.029309 136.36778 +Q 254.727921 136.633548 254.458943 136.993842 +z +M 260.418442 130.274937 +Q 259.751815 130.641861 259.776729 131.484252 +Q 259.802258 132.324522 260.527819 133.64272 +Q 261.250365 134.955442 261.947383 135.427896 +Q 262.645769 135.899596 263.312396 135.532672 +Q 263.9845 135.162734 263.958217 134.321096 +Q 263.933302 133.478705 263.210756 132.165982 +Q 262.485195 130.847784 261.787563 130.377452 +Q 261.090545 129.904999 260.418442 130.274937 +z +M 260.041723 129.590514 +Q 261.116267 128.999065 262.150854 129.537195 +Q 263.184687 130.073956 264.074497 131.690563 +Q 264.962047 133.303063 264.86323 134.465039 +Q 264.763659 135.625646 263.689115 136.217095 +Q 262.61594 136.80779 261.582107 136.271029 +Q 260.54752 135.732899 259.659971 134.120399 +Q 258.770161 132.503793 258.869731 131.343185 +Q 258.968549 130.181209 260.041723 129.590514 +z +M 265.99221 127.207033 +Q 265.325582 127.573957 265.350496 128.416348 +Q 265.376026 129.256617 266.101586 130.574816 +Q 266.824133 131.887538 267.52115 132.359992 +Q 268.219536 132.831692 268.886164 132.464768 +Q 269.558267 132.09483 269.531984 131.253192 +Q 269.50707 130.410801 268.784523 129.098078 +Q 268.058963 127.77988 267.36133 127.309548 +Q 266.664313 126.837095 265.99221 127.207033 +z +M 265.615491 126.52261 +Q 266.690035 125.931161 267.724622 126.469291 +Q 268.758455 127.006052 269.648265 128.622659 +Q 270.535814 130.235159 270.436997 131.397135 +Q 270.337427 132.557742 269.262883 133.149191 +Q 268.189708 133.739886 267.155875 133.203125 +Q 266.121288 132.664995 265.233738 131.052495 +Q 264.343928 129.435889 264.443499 128.275281 +Q 264.542316 127.113305 265.615491 126.52261 z " style="fill:#ffffff;stroke:#000000;stroke-width:3;"/> - <path clip-path="url(#p826a730be7)" d="M 310.589137 173.014361 -L 313.253236 171.319551 -L 313.768523 172.129538 -L 311.104424 173.824349 -z -M 314.709831 165.412837 -Q 313.939394 165.902963 314.033301 166.909905 -Q 314.127785 167.914259 315.096967 169.437732 -Q 316.062123 170.954876 316.932796 171.467666 -Q 317.805051 171.979451 318.575488 171.489324 -Q 319.352253 170.995172 319.256763 169.989236 -Q 319.162856 168.982294 318.1977 167.46515 -Q 317.228518 165.941677 316.357269 165.431475 -Q 315.486596 164.918685 314.709831 165.412837 -z -M 314.206621 164.621833 -Q 315.448496 163.831794 316.728434 164.397563 -Q 318.007364 164.961749 319.195946 166.830099 -Q 320.381508 168.693703 320.351543 170.092787 -Q 320.320573 171.490288 319.078698 172.280328 -Q 317.838404 173.06936 316.559474 172.505174 -Q 315.279536 171.939405 314.093974 170.075802 -Q 312.905393 168.207452 312.936364 166.80995 -Q 312.966328 165.410866 314.206621 164.621833 -z -M 322.494041 168.140904 -L 323.538165 167.476667 -L 324.337262 168.73278 -L 323.293138 169.397017 -z -M 321.826654 159.960895 -L 325.746866 157.466988 -L 326.282281 158.308615 -L 323.276469 160.220812 -L 324.426806 162.029046 -Q 324.596239 161.816812 324.789826 161.642546 -Q 324.984996 161.467274 325.203313 161.328388 -Q 326.43886 160.542375 327.591002 160.760546 -Q 328.744727 160.977711 329.480419 162.134158 -Q 330.238253 163.325409 329.916975 164.458699 -Q 329.594691 165.590406 328.24524 166.448882 -Q 327.78013 166.744769 327.247297 166.972627 -Q 326.716046 167.199478 326.101251 167.368364 -L 325.462175 166.363789 -Q 326.060701 166.323033 326.610785 166.139757 -Q 327.160868 165.956482 327.689258 165.620338 -Q 328.545124 165.075865 328.757633 164.309553 -Q 328.971724 163.542235 328.480591 162.770215 -Q 327.990465 161.999778 327.204728 161.868517 -Q 326.419566 161.734667 325.563701 162.27914 -Q 325.163453 162.533764 324.821147 162.875974 -Q 324.480422 163.217178 324.185701 163.669118 -z -M 330.811692 155.169374 -Q 330.041255 155.659501 330.135163 156.666443 -Q 330.229646 157.670797 331.198828 159.194269 -Q 332.163984 160.711414 333.034657 161.224204 -Q 333.906912 161.735988 334.677349 161.245862 -Q 335.454114 160.75171 335.358625 159.745774 -Q 335.264717 158.738832 334.299561 157.221687 -Q 333.330379 155.698215 332.45913 155.188013 -Q 331.588458 154.675222 330.811692 155.169374 -z -M 330.308483 154.378371 -Q 331.550358 153.588332 332.830295 154.1541 -Q 334.109226 154.718287 335.297807 156.586637 -Q 336.483369 158.45024 336.453405 159.849324 -Q 336.422434 161.246826 335.180559 162.036865 -Q 333.940266 162.825898 332.661335 162.261711 -Q 331.381398 161.695943 330.195836 159.832339 -Q 329.007254 157.963989 329.038225 156.566488 -Q 329.068189 155.167404 330.308483 154.378371 -z -M 337.253426 151.07136 -Q 336.482988 151.561487 336.576896 152.568429 -Q 336.671379 153.572783 337.640561 155.096255 -Q 338.605717 156.6134 339.47639 157.12619 -Q 340.348645 157.637974 341.119082 157.147848 -Q 341.895848 156.653696 341.800358 155.64776 -Q 341.70645 154.640818 340.741294 153.123673 -Q 339.772112 151.600201 338.900864 151.089999 -Q 338.030191 150.577208 337.253426 151.07136 -z -M 336.750216 150.280357 -Q 337.992091 149.490318 339.272028 150.056086 -Q 340.550959 150.620273 341.73954 152.488623 -Q 342.925102 154.352226 342.895138 155.75131 -Q 342.864167 157.148812 341.622292 157.938851 -Q 340.381999 158.727884 339.103068 158.163698 -Q 337.823131 157.597929 336.637569 155.734325 -Q 335.448988 153.865975 335.479958 152.468474 -Q 335.509923 151.06939 336.750216 150.280357 + <path clip-path="url(#pedd1dac049)" d="M 242.657655 144.047739 +L 244.962791 142.77895 +L 245.348551 143.479798 +L 243.043415 144.748588 +z +M 246.486162 137.94352 +Q 245.819534 138.310444 245.844448 139.152835 +Q 245.869978 139.993104 246.595538 141.311303 +Q 247.318085 142.624025 248.015102 143.096479 +Q 248.713488 143.568179 249.380116 143.201255 +Q 250.052219 142.831317 250.025936 141.989679 +Q 250.001022 141.147288 249.278475 139.834565 +Q 248.552915 138.516367 247.855282 138.046035 +Q 247.158265 137.573582 246.486162 137.94352 +z +M 246.109443 137.259097 +Q 247.183987 136.667648 248.218574 137.205778 +Q 249.252407 137.742539 250.142217 139.359146 +Q 251.029767 140.971646 250.930949 142.133622 +Q 250.831379 143.294229 249.756835 143.885678 +Q 248.68366 144.476373 247.649827 143.939612 +Q 246.61524 143.401482 245.72769 141.788982 +Q 244.83788 140.172376 244.937451 139.011768 +Q 245.036268 137.849792 246.109443 137.259097 +z +M 252.815869 140.623486 +L 253.719307 140.126217 +L 254.317536 141.213081 +L 253.414098 141.71035 +z +M 252.692885 133.785268 +L 256.084884 131.918249 +L 256.485713 132.646475 +L 253.884907 134.078007 +L 254.746086 135.642597 +Q 254.898206 135.47504 255.068409 135.340336 +Q 255.239981 135.204878 255.428881 135.100904 +Q 256.49795 134.512469 257.444614 134.754767 +Q 258.392648 134.996312 258.943411 135.996938 +Q 259.51075 137.027679 259.183698 137.953218 +Q 258.855893 138.877389 257.688268 139.520071 +Q 257.285827 139.741582 256.830658 139.902938 +Q 256.376857 140.063541 255.856638 140.171524 +L 255.378205 139.302307 +Q 255.878127 139.300024 256.345288 139.176656 +Q 256.81245 139.053289 257.269644 138.80164 +Q 258.010189 138.394031 258.227399 137.767946 +Q 258.445978 137.141107 258.078301 136.473111 +Q 257.711377 135.806483 257.064845 135.655817 +Q 256.418929 135.503029 255.678384 135.910639 +Q 255.332066 136.101258 255.029309 136.36778 +Q 254.727921 136.633548 254.458943 136.993842 +z +M 260.418442 130.274937 +Q 259.751815 130.641861 259.776729 131.484252 +Q 259.802258 132.324522 260.527819 133.64272 +Q 261.250365 134.955442 261.947383 135.427896 +Q 262.645769 135.899596 263.312396 135.532672 +Q 263.9845 135.162734 263.958217 134.321096 +Q 263.933302 133.478705 263.210756 132.165982 +Q 262.485195 130.847784 261.787563 130.377452 +Q 261.090545 129.904999 260.418442 130.274937 +z +M 260.041723 129.590514 +Q 261.116267 128.999065 262.150854 129.537195 +Q 263.184687 130.073956 264.074497 131.690563 +Q 264.962047 133.303063 264.86323 134.465039 +Q 264.763659 135.625646 263.689115 136.217095 +Q 262.61594 136.80779 261.582107 136.271029 +Q 260.54752 135.732899 259.659971 134.120399 +Q 258.770161 132.503793 258.869731 131.343185 +Q 258.968549 130.181209 260.041723 129.590514 +z +M 265.99221 127.207033 +Q 265.325582 127.573957 265.350496 128.416348 +Q 265.376026 129.256617 266.101586 130.574816 +Q 266.824133 131.887538 267.52115 132.359992 +Q 268.219536 132.831692 268.886164 132.464768 +Q 269.558267 132.09483 269.531984 131.253192 +Q 269.50707 130.410801 268.784523 129.098078 +Q 268.058963 127.77988 267.36133 127.309548 +Q 266.664313 126.837095 265.99221 127.207033 +z +M 265.615491 126.52261 +Q 266.690035 125.931161 267.724622 126.469291 +Q 268.758455 127.006052 269.648265 128.622659 +Q 270.535814 130.235159 270.436997 131.397135 +Q 270.337427 132.557742 269.262883 133.149191 +Q 268.189708 133.739886 267.155875 133.203125 +Q 266.121288 132.664995 265.233738 131.052495 +Q 264.343928 129.435889 264.443499 128.275281 +Q 264.542316 127.113305 265.615491 126.52261 z " style="fill:#ffffff;"/> - </g> - <g id="text_26"> - <g id="patch_75"> - <path clip-path="url(#p826a730be7)" d="M 168.080122 355.428057 -L 168.240626 356.690688 -L 169.473676 356.507275 -L 170.706726 356.323862 -L 170.837649 357.563585 -L 170.968572 358.803307 -L 172.201623 358.619894 -L 173.434673 358.436481 -L 173.565596 359.676204 -L 173.696519 360.915927 -L 174.929569 360.732514 -L 176.162619 360.549101 -L 176.293542 361.788823 -L 176.424465 363.028546 -L 177.657516 362.845133 -L 178.890566 362.66172 -L 179.021489 363.901443 -L 179.152412 365.141165 -L 180.385462 364.957752 -L 181.618512 364.774339 -L 181.749435 366.014062 -L 181.880358 367.253785 -L 183.113409 367.070372 -L 184.346459 366.886958 -L 184.477382 368.126681 -L 184.608305 369.366404 -L 185.841355 369.182991 -L 187.074405 368.999578 -L 187.205328 370.239301 -L 187.336251 371.479023 -L 188.569302 371.29561 -L 189.802352 371.112197 -L 189.933275 372.35192 -L 190.064198 373.591643 -L 191.297248 373.408229 -L 192.530298 373.224816 -L 192.661221 374.464539 -L 192.792144 375.704262 -L 194.025195 375.520849 -L 195.258245 375.337436 -L 195.389168 376.577158 -L 195.520091 377.816881 -L 196.753141 377.633468 -L 197.986191 377.450055 -L 198.117114 378.689778 -L 198.248037 379.9295 -L 199.510669 379.768996 -L 200.7733 379.608492 -L 200.643937 378.305649 -L 200.514574 377.002807 -L 201.808346 376.802092 -L 203.102118 376.601376 -L 202.972755 375.298534 -L 202.843391 373.995691 -L 204.137164 373.794976 -L 205.430936 373.594261 -L 205.301573 372.291418 -L 205.172209 370.988576 -L 206.465982 370.78786 -L 207.759754 370.587145 -L 207.630391 369.284303 -L 207.501027 367.98146 -L 208.794799 367.780745 -L 210.088572 367.58003 -L 209.928068 366.317398 -L 209.767563 365.054766 -L 208.534513 365.23818 -L 207.301463 365.421593 -L 207.17054 364.18187 -L 207.039617 362.942147 -L 205.806567 363.12556 -L 204.573516 363.308973 -L 204.442593 362.069251 -L 204.31167 360.829528 -L 203.07862 361.012941 -L 201.84557 361.196354 -L 201.714647 359.956631 -L 201.583724 358.716909 -L 200.350674 358.900322 -L 199.117623 359.083735 -L 198.9867 357.844012 -L 198.855777 356.604289 -L 197.622727 356.787702 -L 196.389677 356.971115 -L 196.258754 355.731393 -L 196.127831 354.49167 -L 194.894781 354.675083 -L 193.66173 354.858496 -L 193.530807 353.618773 -L 193.399884 352.379051 -L 192.166834 352.562464 -L 190.933784 352.745877 -L 190.802861 351.506154 -L 190.671938 350.266431 -L 189.438888 350.449844 -L 188.205837 350.633257 -L 188.074914 349.393535 -L 187.943991 348.153812 -L 186.710941 348.337225 -L 185.477891 348.520638 -L 185.346968 347.280915 -L 185.216045 346.041193 -L 183.982995 346.224606 -L 182.749944 346.408019 -L 182.619021 345.168296 -L 182.488098 343.928573 -L 181.255048 344.111986 -L 180.021998 344.2954 -L 179.891075 343.055677 -L 179.760152 341.815954 -L 178.49752 341.976458 -L 177.234889 342.136963 -L 177.364252 343.439805 -L 177.493616 344.742648 -L 176.199843 344.943363 -L 174.906071 345.144078 -L 175.035434 346.446921 -L 175.164798 347.749763 -L 173.871026 347.950479 -L 172.577253 348.151194 -L 172.706617 349.454036 -L 172.83598 350.756879 -L 171.542208 350.957594 -L 170.248435 351.158309 -L 170.377799 352.461152 -L 170.507162 353.763994 -L 169.21339 353.96471 -L 167.919617 354.165425 + </g> + <g id="text_26"> + <g id="patch_76"> + <path clip-path="url(#pedd1dac049)" d="M 133.688616 281.85393 +L 133.841081 282.903575 +L 134.865739 282.732461 +L 135.890397 282.561347 +L 136.017875 283.592343 +L 136.145353 284.623339 +L 137.170011 284.452225 +L 138.194669 284.281111 +L 138.322147 285.312107 +L 138.449625 286.343103 +L 139.474283 286.171989 +L 140.498941 286.000875 +L 140.626419 287.031871 +L 140.753898 288.062867 +L 141.778555 287.891753 +L 142.803213 287.720639 +L 142.930691 288.751635 +L 143.05817 289.782632 +L 144.082827 289.611518 +L 145.107485 289.440403 +L 145.234964 290.4714 +L 145.362442 291.502396 +L 146.3871 291.331282 +L 147.411757 291.160168 +L 147.539236 292.191164 +L 147.666714 293.22216 +L 148.691372 293.051046 +L 149.71603 292.879932 +L 149.843508 293.910928 +L 149.970986 294.941924 +L 150.995644 294.77081 +L 152.020302 294.599696 +L 152.14778 295.630692 +L 152.275258 296.661688 +L 153.299916 296.490574 +L 154.324574 296.31946 +L 154.452052 297.350456 +L 154.57953 298.381452 +L 155.604188 298.210338 +L 156.628846 298.039224 +L 156.756324 299.07022 +L 156.883802 300.101216 +L 157.90846 299.930102 +L 158.933118 299.758988 +L 159.060596 300.789984 +L 159.188075 301.82098 +L 160.237719 301.668515 +L 161.287364 301.51605 +L 161.160249 300.432439 +L 161.033134 299.348828 +L 162.108129 299.162397 +L 163.183123 298.975966 +L 163.056008 297.892355 +L 162.928893 296.808745 +L 164.003888 296.622313 +L 165.078883 296.435882 +L 164.951767 295.352271 +L 164.824652 294.268661 +L 165.899647 294.08223 +L 166.974642 293.895798 +L 166.847526 292.812188 +L 166.720411 291.728577 +L 167.795406 291.542146 +L 168.870401 291.355715 +L 168.717936 290.30607 +L 168.56547 289.256425 +L 167.540812 289.427539 +L 166.516155 289.598653 +L 166.388676 288.567657 +L 166.261198 287.536661 +L 165.23654 287.707775 +L 164.211882 287.878889 +L 164.084404 286.847893 +L 163.956926 285.816897 +L 162.932268 285.988011 +L 161.90761 286.159125 +L 161.780132 285.128129 +L 161.652654 284.097133 +L 160.627996 284.268247 +L 159.603338 284.439361 +L 159.47586 283.408365 +L 159.348382 282.377368 +L 158.323724 282.548482 +L 157.299066 282.719597 +L 157.171588 281.6886 +L 157.04411 280.657604 +L 156.019452 280.828718 +L 154.994794 280.999832 +L 154.867316 279.968836 +L 154.739837 278.93784 +L 153.71518 279.108954 +L 152.690522 279.280068 +L 152.563044 278.249072 +L 152.435565 277.218076 +L 151.410908 277.38919 +L 150.38625 277.560304 +L 150.258772 276.529308 +L 150.131293 275.498312 +L 149.106635 275.669426 +L 148.081978 275.84054 +L 147.954499 274.809544 +L 147.827021 273.778548 +L 146.802363 273.949662 +L 145.777706 274.120776 +L 145.650227 273.08978 +L 145.522749 272.058784 +L 144.498091 272.229898 +L 143.473433 272.401012 +L 143.345955 271.370016 +L 143.218477 270.33902 +L 142.168832 270.491485 +L 141.119187 270.64395 +L 141.246302 271.727561 +L 141.373418 272.811172 +L 140.298423 272.997603 +L 139.223428 273.184034 +L 139.350543 274.267645 +L 139.477659 275.351255 +L 138.402664 275.537687 +L 137.327669 275.724118 +L 137.454784 276.807729 +L 137.581899 277.891339 +L 136.506905 278.07777 +L 135.43191 278.264202 +L 135.559025 279.347812 +L 135.68614 280.431423 +L 134.611145 280.617854 +L 133.536151 280.804285 z " style="fill:none;stroke:#0000ff;stroke-linejoin:miter;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 181.290548 349.008217 -Q 180.568603 348.449117 179.652861 348.878264 -Q 178.739749 349.307078 177.634178 350.734661 -Q 176.533199 352.156314 176.345331 353.149154 -Q 176.158946 354.143142 176.880891 354.702242 -Q 177.608766 355.265934 178.523025 354.835639 -Q 179.438768 354.406491 180.539747 352.984837 -Q 181.645318 351.557254 181.830555 350.564749 -Q 182.018423 349.571909 181.290548 349.008217 -z -M 181.864573 348.267 -Q 183.028283 349.168219 182.929071 350.564102 -Q 182.831008 351.958503 181.475162 353.709256 -Q 180.12276 355.455563 178.796094 355.900861 -Q 177.470576 356.344677 176.306866 355.443459 -Q 175.144639 354.543388 175.242702 353.148987 -Q 175.341913 351.753104 176.694315 350.006798 -Q 178.050161 348.256044 179.375679 347.812228 -Q 180.702345 347.366929 181.864573 348.267 -z -M 181.357888 357.256352 -L 182.336293 358.014064 -L 181.424742 359.191116 -L 180.446336 358.433404 -z -M 190.342655 356.018492 -Q 189.62071 355.459392 188.704968 355.88854 -Q 187.791856 356.317353 186.686285 357.744936 -Q 185.585306 359.16659 185.397438 360.15943 -Q 185.211053 361.153418 185.932998 361.712518 -Q 186.660873 362.27621 187.575133 361.845914 -Q 188.490875 361.416766 189.591854 359.995113 -Q 190.697425 358.56753 190.882662 357.575024 -Q 191.07053 356.582184 190.342655 356.018492 -z -M 190.91668 355.277276 -Q 192.08039 356.178494 191.981179 357.574378 -Q 191.883115 358.968778 190.527269 360.719532 -Q 189.174867 362.465838 187.848201 362.911137 -Q 186.522684 363.354953 185.358974 362.453734 -Q 184.196746 361.553664 184.294809 360.159263 -Q 184.39402 358.763379 185.746422 357.017073 -Q 187.102269 355.26632 188.427786 354.822504 -Q 189.754452 354.377205 190.91668 355.277276 -z -M 196.378938 360.693205 -Q 195.656993 360.134105 194.741251 360.563253 -Q 193.828139 360.992066 192.722567 362.419649 -Q 191.621588 363.841303 191.433721 364.834143 -Q 191.247336 365.828131 191.969281 366.387231 -Q 192.697155 366.950923 193.611415 366.520627 -Q 194.527157 366.091479 195.628136 364.669826 -Q 196.733708 363.242243 196.918945 362.249737 -Q 197.106812 361.256897 196.378938 360.693205 -z -M 196.952962 359.951989 -Q 198.116672 360.853207 198.017461 362.249091 -Q 197.919398 363.643491 196.563552 365.394245 -Q 195.21115 367.140551 193.884484 367.58585 -Q 192.558966 368.029666 191.395256 367.128447 -Q 190.233028 366.228377 190.331092 364.833976 -Q 190.430303 363.438092 191.782705 361.691786 -Q 193.138551 359.941033 194.464069 359.497217 -Q 195.790735 359.051918 196.952962 359.951989 -z -M 202.41522 365.367918 -Q 201.693275 364.808818 200.777533 365.237966 -Q 199.864421 365.666779 198.75885 367.094362 -Q 197.657871 368.516016 197.470003 369.508856 -Q 197.283618 370.502844 198.005563 371.061944 -Q 198.733438 371.625636 199.647697 371.19534 -Q 200.56344 370.766192 201.664419 369.344539 -Q 202.76999 367.916956 202.955227 366.92445 -Q 203.143095 365.93161 202.41522 365.367918 -z -M 202.989245 364.626701 -Q 204.152955 365.52792 204.053743 366.923803 -Q 203.95568 368.318204 202.599834 370.068958 -Q 201.247432 371.815264 199.920766 372.260563 -Q 198.595248 372.704379 197.431538 371.80316 -Q 196.269311 370.90309 196.367374 369.508689 -Q 196.466585 368.112805 197.818987 366.366499 -Q 199.174833 364.615746 200.500351 364.171929 -Q 201.827017 363.726631 202.989245 364.626701 + </g> + <path clip-path="url(#pedd1dac049)" d="M 144.600312 276.308916 +Q 143.990492 275.853784 143.233861 276.224937 +Q 142.479417 276.595772 141.579434 277.801639 +Q 140.683189 279.002497 140.541388 279.83252 +Q 140.400839 280.663477 141.010659 281.118609 +Q 141.625489 281.577479 142.380867 281.205392 +Q 143.137497 280.834239 144.033742 279.633381 +Q 144.933726 278.427514 145.07334 277.597809 +Q 145.215141 276.767786 144.600312 276.308916 +z +M 145.067593 275.682817 +Q 146.050569 276.416448 145.988616 277.580972 +Q 145.927597 278.744244 144.823879 280.223089 +Q 143.722965 281.698179 142.624192 282.088885 +Q 141.526354 282.478339 140.543378 281.744708 +Q 139.561655 281.012011 139.622674 279.84874 +Q 139.684627 278.684216 140.785541 277.209127 +Q 141.889258 275.730281 142.987097 275.340827 +Q 144.08587 274.95012 145.067593 275.682817 +z +M 144.778792 283.180274 +L 145.605243 283.797085 +L 144.863201 284.79133 +L 144.03675 284.174519 +z +M 152.246547 282.015586 +Q 151.636726 281.560454 150.880096 281.931607 +Q 150.125652 282.302442 149.225669 283.508309 +Q 148.329424 284.709167 148.187622 285.539189 +Q 148.047073 286.370147 148.656894 286.825279 +Q 149.271723 287.284149 150.027101 286.912061 +Q 150.783732 286.540908 151.679977 285.34005 +Q 152.57996 284.134184 152.719575 283.304479 +Q 152.861376 282.474456 152.246547 282.015586 +z +M 152.713828 281.389487 +Q 153.696803 282.123118 153.63485 283.287642 +Q 153.573832 284.450913 152.470114 285.929759 +Q 151.3692 287.404848 150.270427 287.795555 +Q 149.172588 288.185009 148.189613 287.451378 +Q 147.207889 286.718681 147.268908 285.555409 +Q 147.330861 284.390886 148.431775 282.915796 +Q 149.535493 281.43695 150.633331 281.047496 +Q 151.732104 280.65679 152.713828 281.389487 +z +M 157.345341 285.821006 +Q 156.73552 285.365874 155.97889 285.737027 +Q 155.224446 286.107862 154.324463 287.313729 +Q 153.428218 288.514587 153.286416 289.344609 +Q 153.145867 290.175567 153.755688 290.630698 +Q 154.370517 291.089568 155.125895 290.717481 +Q 155.882526 290.346328 156.778771 289.14547 +Q 157.678754 287.939604 157.818369 287.109898 +Q 157.96017 286.279876 157.345341 285.821006 +z +M 157.812622 285.194907 +Q 158.795597 285.928538 158.733644 287.093062 +Q 158.672626 288.256333 157.568908 289.735179 +Q 156.467994 291.210268 155.369221 291.600975 +Q 154.271382 291.990429 153.288407 291.256797 +Q 152.306684 290.524101 152.367702 289.360829 +Q 152.429655 288.196306 153.530569 286.721216 +Q 154.634287 285.24237 155.732125 284.852916 +Q 156.830898 284.46221 157.812622 285.194907 +z +M 162.444135 289.626426 +Q 161.834314 289.171294 161.077684 289.542447 +Q 160.32324 289.913282 159.423257 291.119149 +Q 158.527012 292.320006 158.38521 293.150029 +Q 158.244661 293.980987 158.854482 294.436118 +Q 159.469311 294.894988 160.224689 294.522901 +Q 160.98132 294.151748 161.877565 292.95089 +Q 162.777548 291.745023 162.917163 290.915318 +Q 163.058964 290.085296 162.444135 289.626426 +z +M 162.911416 289.000327 +Q 163.894391 289.733958 163.832438 290.898481 +Q 163.77142 292.061753 162.667702 293.540599 +Q 161.566788 295.015688 160.468015 295.406394 +Q 159.370176 295.795849 158.387201 295.062217 +Q 157.405478 294.329521 157.466496 293.166249 +Q 157.528449 292.001726 158.629363 290.526636 +Q 159.733081 289.04779 160.830919 288.658336 +Q 161.929692 288.26763 162.911416 289.000327 z " style="fill:#ffffff;stroke:#000000;stroke-width:3;"/> - <path clip-path="url(#p826a730be7)" d="M 181.290548 349.008217 -Q 180.568603 348.449117 179.652861 348.878264 -Q 178.739749 349.307078 177.634178 350.734661 -Q 176.533199 352.156314 176.345331 353.149154 -Q 176.158946 354.143142 176.880891 354.702242 -Q 177.608766 355.265934 178.523025 354.835639 -Q 179.438768 354.406491 180.539747 352.984837 -Q 181.645318 351.557254 181.830555 350.564749 -Q 182.018423 349.571909 181.290548 349.008217 -z -M 181.864573 348.267 -Q 183.028283 349.168219 182.929071 350.564102 -Q 182.831008 351.958503 181.475162 353.709256 -Q 180.12276 355.455563 178.796094 355.900861 -Q 177.470576 356.344677 176.306866 355.443459 -Q 175.144639 354.543388 175.242702 353.148987 -Q 175.341913 351.753104 176.694315 350.006798 -Q 178.050161 348.256044 179.375679 347.812228 -Q 180.702345 347.366929 181.864573 348.267 -z -M 181.357888 357.256352 -L 182.336293 358.014064 -L 181.424742 359.191116 -L 180.446336 358.433404 -z -M 190.342655 356.018492 -Q 189.62071 355.459392 188.704968 355.88854 -Q 187.791856 356.317353 186.686285 357.744936 -Q 185.585306 359.16659 185.397438 360.15943 -Q 185.211053 361.153418 185.932998 361.712518 -Q 186.660873 362.27621 187.575133 361.845914 -Q 188.490875 361.416766 189.591854 359.995113 -Q 190.697425 358.56753 190.882662 357.575024 -Q 191.07053 356.582184 190.342655 356.018492 -z -M 190.91668 355.277276 -Q 192.08039 356.178494 191.981179 357.574378 -Q 191.883115 358.968778 190.527269 360.719532 -Q 189.174867 362.465838 187.848201 362.911137 -Q 186.522684 363.354953 185.358974 362.453734 -Q 184.196746 361.553664 184.294809 360.159263 -Q 184.39402 358.763379 185.746422 357.017073 -Q 187.102269 355.26632 188.427786 354.822504 -Q 189.754452 354.377205 190.91668 355.277276 -z -M 196.378938 360.693205 -Q 195.656993 360.134105 194.741251 360.563253 -Q 193.828139 360.992066 192.722567 362.419649 -Q 191.621588 363.841303 191.433721 364.834143 -Q 191.247336 365.828131 191.969281 366.387231 -Q 192.697155 366.950923 193.611415 366.520627 -Q 194.527157 366.091479 195.628136 364.669826 -Q 196.733708 363.242243 196.918945 362.249737 -Q 197.106812 361.256897 196.378938 360.693205 -z -M 196.952962 359.951989 -Q 198.116672 360.853207 198.017461 362.249091 -Q 197.919398 363.643491 196.563552 365.394245 -Q 195.21115 367.140551 193.884484 367.58585 -Q 192.558966 368.029666 191.395256 367.128447 -Q 190.233028 366.228377 190.331092 364.833976 -Q 190.430303 363.438092 191.782705 361.691786 -Q 193.138551 359.941033 194.464069 359.497217 -Q 195.790735 359.051918 196.952962 359.951989 -z -M 202.41522 365.367918 -Q 201.693275 364.808818 200.777533 365.237966 -Q 199.864421 365.666779 198.75885 367.094362 -Q 197.657871 368.516016 197.470003 369.508856 -Q 197.283618 370.502844 198.005563 371.061944 -Q 198.733438 371.625636 199.647697 371.19534 -Q 200.56344 370.766192 201.664419 369.344539 -Q 202.76999 367.916956 202.955227 366.92445 -Q 203.143095 365.93161 202.41522 365.367918 -z -M 202.989245 364.626701 -Q 204.152955 365.52792 204.053743 366.923803 -Q 203.95568 368.318204 202.599834 370.068958 -Q 201.247432 371.815264 199.920766 372.260563 -Q 198.595248 372.704379 197.431538 371.80316 -Q 196.269311 370.90309 196.367374 369.508689 -Q 196.466585 368.112805 197.818987 366.366499 -Q 199.174833 364.615746 200.500351 364.171929 -Q 201.827017 363.726631 202.989245 364.626701 + <path clip-path="url(#pedd1dac049)" d="M 144.600312 276.308916 +Q 143.990492 275.853784 143.233861 276.224937 +Q 142.479417 276.595772 141.579434 277.801639 +Q 140.683189 279.002497 140.541388 279.83252 +Q 140.400839 280.663477 141.010659 281.118609 +Q 141.625489 281.577479 142.380867 281.205392 +Q 143.137497 280.834239 144.033742 279.633381 +Q 144.933726 278.427514 145.07334 277.597809 +Q 145.215141 276.767786 144.600312 276.308916 +z +M 145.067593 275.682817 +Q 146.050569 276.416448 145.988616 277.580972 +Q 145.927597 278.744244 144.823879 280.223089 +Q 143.722965 281.698179 142.624192 282.088885 +Q 141.526354 282.478339 140.543378 281.744708 +Q 139.561655 281.012011 139.622674 279.84874 +Q 139.684627 278.684216 140.785541 277.209127 +Q 141.889258 275.730281 142.987097 275.340827 +Q 144.08587 274.95012 145.067593 275.682817 +z +M 144.778792 283.180274 +L 145.605243 283.797085 +L 144.863201 284.79133 +L 144.03675 284.174519 +z +M 152.246547 282.015586 +Q 151.636726 281.560454 150.880096 281.931607 +Q 150.125652 282.302442 149.225669 283.508309 +Q 148.329424 284.709167 148.187622 285.539189 +Q 148.047073 286.370147 148.656894 286.825279 +Q 149.271723 287.284149 150.027101 286.912061 +Q 150.783732 286.540908 151.679977 285.34005 +Q 152.57996 284.134184 152.719575 283.304479 +Q 152.861376 282.474456 152.246547 282.015586 +z +M 152.713828 281.389487 +Q 153.696803 282.123118 153.63485 283.287642 +Q 153.573832 284.450913 152.470114 285.929759 +Q 151.3692 287.404848 150.270427 287.795555 +Q 149.172588 288.185009 148.189613 287.451378 +Q 147.207889 286.718681 147.268908 285.555409 +Q 147.330861 284.390886 148.431775 282.915796 +Q 149.535493 281.43695 150.633331 281.047496 +Q 151.732104 280.65679 152.713828 281.389487 +z +M 157.345341 285.821006 +Q 156.73552 285.365874 155.97889 285.737027 +Q 155.224446 286.107862 154.324463 287.313729 +Q 153.428218 288.514587 153.286416 289.344609 +Q 153.145867 290.175567 153.755688 290.630698 +Q 154.370517 291.089568 155.125895 290.717481 +Q 155.882526 290.346328 156.778771 289.14547 +Q 157.678754 287.939604 157.818369 287.109898 +Q 157.96017 286.279876 157.345341 285.821006 +z +M 157.812622 285.194907 +Q 158.795597 285.928538 158.733644 287.093062 +Q 158.672626 288.256333 157.568908 289.735179 +Q 156.467994 291.210268 155.369221 291.600975 +Q 154.271382 291.990429 153.288407 291.256797 +Q 152.306684 290.524101 152.367702 289.360829 +Q 152.429655 288.196306 153.530569 286.721216 +Q 154.634287 285.24237 155.732125 284.852916 +Q 156.830898 284.46221 157.812622 285.194907 +z +M 162.444135 289.626426 +Q 161.834314 289.171294 161.077684 289.542447 +Q 160.32324 289.913282 159.423257 291.119149 +Q 158.527012 292.320006 158.38521 293.150029 +Q 158.244661 293.980987 158.854482 294.436118 +Q 159.469311 294.894988 160.224689 294.522901 +Q 160.98132 294.151748 161.877565 292.95089 +Q 162.777548 291.745023 162.917163 290.915318 +Q 163.058964 290.085296 162.444135 289.626426 +z +M 162.911416 289.000327 +Q 163.894391 289.733958 163.832438 290.898481 +Q 163.77142 292.061753 162.667702 293.540599 +Q 161.566788 295.015688 160.468015 295.406394 +Q 159.370176 295.795849 158.387201 295.062217 +Q 157.405478 294.329521 157.466496 293.166249 +Q 157.528449 292.001726 158.629363 290.526636 +Q 159.733081 289.04779 160.830919 288.658336 +Q 161.929692 288.26763 162.911416 289.000327 z " style="fill:#ffffff;"/> - </g> - <g id="text_27"> - <g id="patch_76"> - <path clip-path="url(#p826a730be7)" d="M 438.992262 322.712101 -L 440.254946 322.87219 -L 440.385461 321.632424 -L 440.515976 320.392658 -L 441.749087 320.575665 -L 442.982197 320.758673 -L 443.112712 319.518907 -L 443.243227 318.279141 -L 444.476338 318.462149 -L 445.709448 318.645156 -L 445.839963 317.40539 -L 445.970478 316.165624 -L 447.203589 316.348632 -L 448.4367 316.531639 -L 448.567215 315.291873 -L 448.69773 314.052108 -L 449.93084 314.235115 -L 451.163951 314.418122 -L 451.294466 313.178357 -L 451.424981 311.938591 -L 452.658091 312.121598 -L 453.891202 312.304605 -L 454.021717 311.06484 -L 454.152232 309.825074 -L 455.385342 310.008081 -L 456.618453 310.191089 -L 456.748968 308.951323 -L 456.879483 307.711557 -L 458.112594 307.894564 -L 459.345704 308.077572 -L 459.476219 306.837806 -L 459.606734 305.59804 -L 460.839845 305.781048 -L 462.072955 305.964055 -L 462.20347 304.724289 -L 462.333985 303.484523 -L 463.567096 303.667531 -L 464.800207 303.850538 -L 464.930722 302.610772 -L 465.061237 301.371006 -L 466.294347 301.554014 -L 467.527458 301.737021 -L 467.657973 300.497255 -L 467.788488 299.25749 -L 469.021598 299.440497 -L 470.254709 299.623504 -L 470.414798 298.36082 -L 470.574886 297.098136 -L 469.281048 296.897846 -L 467.98721 296.697557 -L 468.116144 295.394672 -L 468.245079 294.091787 -L 466.951241 293.891497 -L 465.657402 293.691208 -L 465.786337 292.388323 -L 465.915272 291.085437 -L 464.621434 290.885148 -L 463.327595 290.684858 -L 463.45653 289.381973 -L 463.585465 288.079088 -L 462.291626 287.878799 -L 460.997788 287.678509 -L 461.126723 286.375624 -L 461.255657 285.072739 -L 459.992973 284.91265 -L 458.730289 284.752562 -L 458.599774 285.992327 -L 458.469259 287.232093 -L 457.236148 287.049086 -L 456.003038 286.866079 -L 455.872523 288.105844 -L 455.742008 289.34561 -L 454.508897 289.162603 -L 453.275787 288.979595 -L 453.145271 290.219361 -L 453.014756 291.459127 -L 451.781646 291.27612 -L 450.548535 291.093112 -L 450.41802 292.332878 -L 450.287505 293.572644 -L 449.054395 293.389636 -L 447.821284 293.206629 -L 447.690769 294.446395 -L 447.560254 295.686161 -L 446.327144 295.503153 -L 445.094033 295.320146 -L 444.963518 296.559912 -L 444.833003 297.799677 -L 443.599892 297.61667 -L 442.366782 297.433663 -L 442.236267 298.673429 -L 442.105752 299.913194 -L 440.872641 299.730187 -L 439.639531 299.54718 -L 439.509016 300.786945 -L 439.378501 302.026711 -L 438.14539 301.843704 -L 436.91228 301.660697 -L 436.781765 302.900462 -L 436.651249 304.140228 -L 435.418139 303.957221 -L 434.185028 303.774213 -L 434.054513 305.013979 -L 433.923998 306.253745 -L 432.690888 306.070738 -L 431.457777 305.88773 -L 431.327262 307.127496 -L 431.196747 308.367262 -L 429.963637 308.184254 -L 428.730526 308.001247 -L 428.570437 309.263931 -L 428.410349 310.526616 -L 429.704187 310.726905 -L 430.998025 310.927195 -L 430.86909 312.23008 -L 430.740156 313.532965 -L 432.033994 313.733254 -L 433.327832 313.933544 -L 433.198898 315.236429 -L 433.069963 316.539314 -L 434.363801 316.739603 -L 435.65764 316.939893 -L 435.528705 318.242778 -L 435.39977 319.545663 -L 436.693609 319.745953 -L 437.987447 319.946242 -L 437.858512 321.249127 -L 437.729577 322.552012 + </g> + <g id="text_27"> + <g id="patch_77"> + <path clip-path="url(#pedd1dac049)" d="M 352.873077 255.981704 +L 353.922876 256.1331 +L 354.049305 255.101975 +L 354.175734 254.07085 +L 355.200565 254.240921 +L 356.225397 254.410991 +L 356.351825 253.379866 +L 356.478254 252.348741 +L 357.503085 252.518812 +L 358.527917 252.688883 +L 358.654345 251.657757 +L 358.780774 250.626632 +L 359.805606 250.796703 +L 360.830437 250.966774 +L 360.956866 249.935648 +L 361.083294 248.904523 +L 362.108126 249.074594 +L 363.132957 249.244665 +L 363.259386 248.21354 +L 363.385815 247.182414 +L 364.410646 247.352485 +L 365.435478 247.522556 +L 365.561906 246.491431 +L 365.688335 245.460305 +L 366.713166 245.630376 +L 367.737998 245.800447 +L 367.864427 244.769322 +L 367.990855 243.738196 +L 369.015687 243.908267 +L 370.040518 244.078338 +L 370.166947 243.047213 +L 370.293376 242.016088 +L 371.318207 242.186159 +L 372.343039 242.356229 +L 372.469467 241.325104 +L 372.595896 240.293979 +L 373.620727 240.46405 +L 374.645559 240.634121 +L 374.771987 239.602995 +L 374.898416 238.57187 +L 375.923248 238.741941 +L 376.948079 238.912012 +L 377.074508 237.880886 +L 377.200936 236.849761 +L 378.225768 237.019832 +L 379.250599 237.189903 +L 379.401996 236.140103 +L 379.553393 235.090304 +L 378.478209 234.904967 +L 377.403025 234.71963 +L 377.529037 233.635891 +L 377.655049 232.552151 +L 376.579865 232.366814 +L 375.504681 232.181478 +L 375.630693 231.097738 +L 375.756705 230.013998 +L 374.681521 229.828662 +L 373.606337 229.643325 +L 373.732349 228.559585 +L 373.858361 227.475846 +L 372.783177 227.290509 +L 371.707993 227.105172 +L 371.834005 226.021433 +L 371.960017 224.937693 +L 370.910218 224.786296 +L 369.860418 224.6349 +L 369.73399 225.666025 +L 369.607561 226.69715 +L 368.58273 226.527079 +L 367.557898 226.357009 +L 367.431469 227.388134 +L 367.305041 228.419259 +L 366.280209 228.249188 +L 365.255378 228.079117 +L 365.128949 229.110243 +L 365.00252 230.141368 +L 363.977689 229.971297 +L 362.952858 229.801226 +L 362.826429 230.832352 +L 362.7 231.863477 +L 361.675169 231.693406 +L 360.650337 231.523335 +L 360.523909 232.55446 +L 360.39748 233.585586 +L 359.372648 233.415515 +L 358.347817 233.245444 +L 358.221388 234.276569 +L 358.09496 235.307695 +L 357.070128 235.137624 +L 356.045297 234.967553 +L 355.918868 235.998678 +L 355.792439 237.029804 +L 354.767608 236.859733 +L 353.742776 236.689662 +L 353.616348 237.720787 +L 353.489919 238.751912 +L 352.465088 238.581841 +L 351.440256 238.411771 +L 351.313827 239.442896 +L 351.187399 240.474021 +L 350.162567 240.30395 +L 349.137736 240.133879 +L 349.011307 241.165005 +L 348.884878 242.19613 +L 347.860047 242.026059 +L 346.835216 241.855988 +L 346.708787 242.887114 +L 346.582358 243.918239 +L 345.557527 243.748168 +L 344.532695 243.578097 +L 344.381299 244.627897 +L 344.229902 245.677696 +L 345.305086 245.863033 +L 346.38027 246.04837 +L 346.254258 247.132109 +L 346.128246 248.215849 +L 347.20343 248.401186 +L 348.278614 248.586522 +L 348.152602 249.670262 +L 348.026589 250.754002 +L 349.101774 250.939338 +L 350.176958 251.124675 +L 350.050945 252.208415 +L 349.924933 253.292154 +L 351.000117 253.477491 +L 352.075301 253.662828 +L 351.949289 254.746567 +L 351.823277 255.830307 z " style="fill:none;stroke:#0000ff;stroke-linejoin:miter;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 436.077044 308.316573 -Q 435.355283 308.875911 435.541995 309.869838 -Q 435.729041 310.861134 436.835082 312.288353 -Q 437.936529 313.709644 438.85093 314.139639 -Q 439.766813 314.568485 440.488574 314.009148 -Q 441.216263 313.445216 441.028069 312.452438 -Q 440.841357 311.458511 439.73991 310.03722 -Q 438.633869 308.610001 437.719134 308.182637 -Q 436.804733 307.752642 436.077044 308.316573 -z -M 435.502775 307.575546 -Q 436.666189 306.673944 437.993001 307.118806 -Q 439.318665 307.562186 440.675087 309.312493 -Q 442.028063 311.058355 442.127734 312.454205 -Q 442.226256 313.848574 441.062843 314.750175 -Q 439.900911 315.650628 438.575248 315.207248 -Q 437.248435 314.762386 435.895459 313.016525 -Q 434.539037 311.266218 434.440514 309.871849 -Q 434.340844 308.475999 435.502775 307.575546 -z -M 444.080357 310.312382 -L 445.058513 309.554348 -L 445.970451 310.7311 -L 444.992295 311.489134 -z -M 445.126844 301.303319 -Q 444.405083 301.862657 444.591795 302.856584 -Q 444.778841 303.84788 445.884882 305.275099 -Q 446.986329 306.69639 447.90073 307.126385 -Q 448.816613 307.555231 449.538374 306.995894 -Q 450.266063 306.431962 450.077869 305.439184 -Q 449.891157 304.445257 448.78971 303.023966 -Q 447.683669 301.596747 446.768934 301.169383 -Q 445.854533 300.739388 445.126844 301.303319 -z -M 444.552575 300.562292 -Q 445.715989 299.66069 447.042801 300.105552 -Q 448.368465 300.548932 449.724887 302.29924 -Q 451.077863 304.045101 451.177534 305.440951 -Q 451.276056 306.83532 450.112643 307.736921 -Q 448.950711 308.637374 447.625048 308.193994 -Q 446.298235 307.749132 444.945259 306.003271 -Q 443.588836 304.252964 443.490314 302.858595 -Q 443.390644 301.462745 444.552575 300.562292 -z -M 451.161587 296.626621 -Q 450.439827 297.185958 450.626539 298.179885 -Q 450.813584 299.171181 451.919626 300.5984 -Q 453.021072 302.019691 453.935474 302.449686 -Q 454.851357 302.878532 455.573118 302.319195 -Q 456.300807 301.755263 456.112613 300.762485 -Q 455.925901 299.768558 454.824454 298.347267 -Q 453.718413 296.920048 452.803678 296.492684 -Q 451.889277 296.062689 451.161587 296.626621 -z -M 450.587319 295.885593 -Q 451.750732 294.983991 453.077545 295.428853 -Q 454.403209 295.872233 455.759631 297.622541 -Q 457.112607 299.368402 457.212278 300.764252 -Q 457.3108 302.158621 456.147386 303.060222 -Q 454.985455 303.960675 453.659791 303.517295 -Q 452.332979 303.072433 450.980002 301.326572 -Q 449.62358 299.576265 449.525058 298.181896 -Q 449.425388 296.786046 450.587319 295.885593 -z -M 457.196331 291.949922 -Q 456.47457 292.509259 456.661283 293.503186 -Q 456.848328 294.494482 457.954369 295.921701 -Q 459.055816 297.342992 459.970218 297.772987 -Q 460.886101 298.201833 461.607862 297.642496 -Q 462.335551 297.078564 462.147357 296.085786 -Q 461.960645 295.091859 460.859198 293.670568 -Q 459.753157 292.243349 458.838422 291.815985 -Q 457.92402 291.38599 457.196331 291.949922 -z -M 456.622063 291.208894 -Q 457.785476 290.307292 459.112289 290.752154 -Q 460.437952 291.195534 461.794375 292.945842 -Q 463.147351 294.691703 463.247022 296.087553 -Q 463.345544 297.481922 462.18213 298.383523 -Q 461.020199 299.283976 459.694535 298.840596 -Q 458.367723 298.395734 457.014746 296.649873 -Q 455.658324 294.899566 455.559802 293.505198 -Q 455.460131 292.109347 456.622063 291.208894 + </g> + <path clip-path="url(#pedd1dac049)" d="M 350.649399 243.94561 +Q 350.040042 244.401362 350.181437 245.232176 +Q 350.323148 246.060803 351.224358 247.265753 +Q 352.121825 248.465698 352.877582 248.837016 +Q 353.634589 249.207398 354.243946 248.751646 +Q 354.858308 248.29215 354.715662 247.462272 +Q 354.574267 246.631458 353.6768 245.431513 +Q 352.77559 244.226564 352.019518 243.857432 +Q 351.263761 243.486114 350.649399 243.94561 +z +M 350.181481 243.319987 +Q 351.163709 242.585355 352.262879 242.974943 +Q 353.361114 243.363279 354.466336 244.841001 +Q 355.568752 246.314969 355.63189 247.479429 +Q 355.694093 248.642638 354.711864 249.377269 +Q 353.730887 250.110965 352.632653 249.722628 +Q 351.533483 249.333041 350.431068 247.859073 +Q 349.325845 246.381351 349.263643 245.218142 +Q 349.200504 244.053682 350.181481 243.319987 +z +M 357.289385 245.722687 +L 358.115207 245.105035 +L 358.858261 246.098524 +L 358.032439 246.716176 +z +M 358.289821 238.23116 +Q 357.680464 238.686912 357.821859 239.517726 +Q 357.963569 240.346352 358.864779 241.551302 +Q 359.762246 242.751247 360.518003 243.122566 +Q 361.275011 243.492948 361.884368 243.037196 +Q 362.498729 242.5777 362.356083 241.747822 +Q 362.214689 240.917008 361.317222 239.717063 +Q 360.416011 238.512113 359.659939 238.142982 +Q 358.904182 237.771664 358.289821 238.23116 +z +M 357.821902 237.605537 +Q 358.804131 236.870905 359.903301 237.260493 +Q 361.001535 237.648829 362.106758 239.126551 +Q 363.209173 240.600519 363.272311 241.764979 +Q 363.334514 242.928187 362.352286 243.662819 +Q 361.371309 244.396514 360.273075 244.008178 +Q 359.173904 243.61859 358.071489 242.144623 +Q 356.966267 240.666901 356.904064 239.503692 +Q 356.840926 238.339232 357.821902 237.605537 +z +M 363.384738 234.420551 +Q 362.775381 234.876304 362.916776 235.707117 +Q 363.058487 236.535744 363.959697 237.740694 +Q 364.857164 238.940639 365.612921 239.311957 +Q 366.369928 239.68234 366.979285 239.226588 +Q 367.593647 238.767092 367.451001 237.937214 +Q 367.309606 237.1064 366.412139 235.906455 +Q 365.510929 234.701505 364.754857 234.332374 +Q 363.9991 233.961056 363.384738 234.420551 +z +M 362.91682 233.794928 +Q 363.899048 233.060297 364.998218 233.449884 +Q 366.096453 233.838221 367.201675 235.315942 +Q 368.304091 236.78991 368.367229 237.95437 +Q 368.429432 239.117579 367.447203 239.852211 +Q 366.466226 240.585906 365.367992 240.19757 +Q 364.268822 239.807982 363.166407 238.334014 +Q 362.061184 236.856293 361.998982 235.693084 +Q 361.935843 234.528624 362.91682 233.794928 +z +M 368.479656 230.609943 +Q 367.870299 231.065695 368.011694 231.896509 +Q 368.153404 232.725136 369.054614 233.930086 +Q 369.952081 235.130031 370.707838 235.501349 +Q 371.464846 235.871732 372.074203 235.415979 +Q 372.688565 234.956484 372.545919 234.126606 +Q 372.404524 233.295792 371.507057 232.095847 +Q 370.605846 230.890897 369.849774 230.521766 +Q 369.094018 230.150447 368.479656 230.609943 +z +M 368.011738 229.98432 +Q 368.993966 229.249689 370.093136 229.639276 +Q 371.19137 230.027613 372.296593 231.505334 +Q 373.399008 232.979302 373.462147 234.143762 +Q 373.524349 235.306971 372.542121 236.041602 +Q 371.561144 236.775298 370.46291 236.386962 +Q 369.36374 235.997374 368.261324 234.523406 +Q 367.156102 233.045684 367.093899 231.882476 +Q 367.030761 230.718016 368.011738 229.98432 z " style="fill:#ffffff;stroke:#000000;stroke-width:3;"/> - <path clip-path="url(#p826a730be7)" d="M 436.077044 308.316573 -Q 435.355283 308.875911 435.541995 309.869838 -Q 435.729041 310.861134 436.835082 312.288353 -Q 437.936529 313.709644 438.85093 314.139639 -Q 439.766813 314.568485 440.488574 314.009148 -Q 441.216263 313.445216 441.028069 312.452438 -Q 440.841357 311.458511 439.73991 310.03722 -Q 438.633869 308.610001 437.719134 308.182637 -Q 436.804733 307.752642 436.077044 308.316573 -z -M 435.502775 307.575546 -Q 436.666189 306.673944 437.993001 307.118806 -Q 439.318665 307.562186 440.675087 309.312493 -Q 442.028063 311.058355 442.127734 312.454205 -Q 442.226256 313.848574 441.062843 314.750175 -Q 439.900911 315.650628 438.575248 315.207248 -Q 437.248435 314.762386 435.895459 313.016525 -Q 434.539037 311.266218 434.440514 309.871849 -Q 434.340844 308.475999 435.502775 307.575546 -z -M 444.080357 310.312382 -L 445.058513 309.554348 -L 445.970451 310.7311 -L 444.992295 311.489134 -z -M 445.126844 301.303319 -Q 444.405083 301.862657 444.591795 302.856584 -Q 444.778841 303.84788 445.884882 305.275099 -Q 446.986329 306.69639 447.90073 307.126385 -Q 448.816613 307.555231 449.538374 306.995894 -Q 450.266063 306.431962 450.077869 305.439184 -Q 449.891157 304.445257 448.78971 303.023966 -Q 447.683669 301.596747 446.768934 301.169383 -Q 445.854533 300.739388 445.126844 301.303319 -z -M 444.552575 300.562292 -Q 445.715989 299.66069 447.042801 300.105552 -Q 448.368465 300.548932 449.724887 302.29924 -Q 451.077863 304.045101 451.177534 305.440951 -Q 451.276056 306.83532 450.112643 307.736921 -Q 448.950711 308.637374 447.625048 308.193994 -Q 446.298235 307.749132 444.945259 306.003271 -Q 443.588836 304.252964 443.490314 302.858595 -Q 443.390644 301.462745 444.552575 300.562292 -z -M 451.161587 296.626621 -Q 450.439827 297.185958 450.626539 298.179885 -Q 450.813584 299.171181 451.919626 300.5984 -Q 453.021072 302.019691 453.935474 302.449686 -Q 454.851357 302.878532 455.573118 302.319195 -Q 456.300807 301.755263 456.112613 300.762485 -Q 455.925901 299.768558 454.824454 298.347267 -Q 453.718413 296.920048 452.803678 296.492684 -Q 451.889277 296.062689 451.161587 296.626621 -z -M 450.587319 295.885593 -Q 451.750732 294.983991 453.077545 295.428853 -Q 454.403209 295.872233 455.759631 297.622541 -Q 457.112607 299.368402 457.212278 300.764252 -Q 457.3108 302.158621 456.147386 303.060222 -Q 454.985455 303.960675 453.659791 303.517295 -Q 452.332979 303.072433 450.980002 301.326572 -Q 449.62358 299.576265 449.525058 298.181896 -Q 449.425388 296.786046 450.587319 295.885593 -z -M 457.196331 291.949922 -Q 456.47457 292.509259 456.661283 293.503186 -Q 456.848328 294.494482 457.954369 295.921701 -Q 459.055816 297.342992 459.970218 297.772987 -Q 460.886101 298.201833 461.607862 297.642496 -Q 462.335551 297.078564 462.147357 296.085786 -Q 461.960645 295.091859 460.859198 293.670568 -Q 459.753157 292.243349 458.838422 291.815985 -Q 457.92402 291.38599 457.196331 291.949922 -z -M 456.622063 291.208894 -Q 457.785476 290.307292 459.112289 290.752154 -Q 460.437952 291.195534 461.794375 292.945842 -Q 463.147351 294.691703 463.247022 296.087553 -Q 463.345544 297.481922 462.18213 298.383523 -Q 461.020199 299.283976 459.694535 298.840596 -Q 458.367723 298.395734 457.014746 296.649873 -Q 455.658324 294.899566 455.559802 293.505198 -Q 455.460131 292.109347 456.622063 291.208894 + <path clip-path="url(#pedd1dac049)" d="M 350.649399 243.94561 +Q 350.040042 244.401362 350.181437 245.232176 +Q 350.323148 246.060803 351.224358 247.265753 +Q 352.121825 248.465698 352.877582 248.837016 +Q 353.634589 249.207398 354.243946 248.751646 +Q 354.858308 248.29215 354.715662 247.462272 +Q 354.574267 246.631458 353.6768 245.431513 +Q 352.77559 244.226564 352.019518 243.857432 +Q 351.263761 243.486114 350.649399 243.94561 +z +M 350.181481 243.319987 +Q 351.163709 242.585355 352.262879 242.974943 +Q 353.361114 243.363279 354.466336 244.841001 +Q 355.568752 246.314969 355.63189 247.479429 +Q 355.694093 248.642638 354.711864 249.377269 +Q 353.730887 250.110965 352.632653 249.722628 +Q 351.533483 249.333041 350.431068 247.859073 +Q 349.325845 246.381351 349.263643 245.218142 +Q 349.200504 244.053682 350.181481 243.319987 +z +M 357.289385 245.722687 +L 358.115207 245.105035 +L 358.858261 246.098524 +L 358.032439 246.716176 +z +M 358.289821 238.23116 +Q 357.680464 238.686912 357.821859 239.517726 +Q 357.963569 240.346352 358.864779 241.551302 +Q 359.762246 242.751247 360.518003 243.122566 +Q 361.275011 243.492948 361.884368 243.037196 +Q 362.498729 242.5777 362.356083 241.747822 +Q 362.214689 240.917008 361.317222 239.717063 +Q 360.416011 238.512113 359.659939 238.142982 +Q 358.904182 237.771664 358.289821 238.23116 +z +M 357.821902 237.605537 +Q 358.804131 236.870905 359.903301 237.260493 +Q 361.001535 237.648829 362.106758 239.126551 +Q 363.209173 240.600519 363.272311 241.764979 +Q 363.334514 242.928187 362.352286 243.662819 +Q 361.371309 244.396514 360.273075 244.008178 +Q 359.173904 243.61859 358.071489 242.144623 +Q 356.966267 240.666901 356.904064 239.503692 +Q 356.840926 238.339232 357.821902 237.605537 +z +M 363.384738 234.420551 +Q 362.775381 234.876304 362.916776 235.707117 +Q 363.058487 236.535744 363.959697 237.740694 +Q 364.857164 238.940639 365.612921 239.311957 +Q 366.369928 239.68234 366.979285 239.226588 +Q 367.593647 238.767092 367.451001 237.937214 +Q 367.309606 237.1064 366.412139 235.906455 +Q 365.510929 234.701505 364.754857 234.332374 +Q 363.9991 233.961056 363.384738 234.420551 +z +M 362.91682 233.794928 +Q 363.899048 233.060297 364.998218 233.449884 +Q 366.096453 233.838221 367.201675 235.315942 +Q 368.304091 236.78991 368.367229 237.95437 +Q 368.429432 239.117579 367.447203 239.852211 +Q 366.466226 240.585906 365.367992 240.19757 +Q 364.268822 239.807982 363.166407 238.334014 +Q 362.061184 236.856293 361.998982 235.693084 +Q 361.935843 234.528624 362.91682 233.794928 +z +M 368.479656 230.609943 +Q 367.870299 231.065695 368.011694 231.896509 +Q 368.153404 232.725136 369.054614 233.930086 +Q 369.952081 235.130031 370.707838 235.501349 +Q 371.464846 235.871732 372.074203 235.415979 +Q 372.688565 234.956484 372.545919 234.126606 +Q 372.404524 233.295792 371.507057 232.095847 +Q 370.605846 230.890897 369.849774 230.521766 +Q 369.094018 230.150447 368.479656 230.609943 +z +M 368.011738 229.98432 +Q 368.993966 229.249689 370.093136 229.639276 +Q 371.19137 230.027613 372.296593 231.505334 +Q 373.399008 232.979302 373.462147 234.143762 +Q 373.524349 235.306971 372.542121 236.041602 +Q 371.561144 236.775298 370.46291 236.386962 +Q 369.36374 235.997374 368.261324 234.523406 +Q 367.156102 233.045684 367.093899 231.882476 +Q 367.030761 230.718016 368.011738 229.98432 z " style="fill:#ffffff;"/> - </g> - <g id="text_28"> - <g id="patch_77"> - <path clip-path="url(#p826a730be7)" d="M 87.02964 292.672852 -L 87.189696 293.93554 -L 88.422811 293.752565 -L 89.655926 293.56959 -L 89.786409 294.809359 -L 89.916892 296.049128 -L 91.150007 295.866153 -L 92.383122 295.683178 -L 92.513605 296.922947 -L 92.644088 298.162716 -L 93.877203 297.979741 -L 95.110318 297.796766 -L 95.240801 299.036535 -L 95.371284 300.276304 -L 96.604399 300.093329 -L 97.837514 299.910354 -L 97.967997 301.150123 -L 98.09848 302.389892 -L 99.331595 302.206917 -L 100.564711 302.023942 -L 100.695193 303.263711 -L 100.825676 304.50348 -L 102.058791 304.320505 -L 103.291907 304.13753 -L 103.422389 305.377299 -L 103.552872 306.617068 -L 104.785987 306.434093 -L 106.019103 306.251118 -L 106.149585 307.490887 -L 106.280068 308.730656 -L 107.513183 308.547681 -L 108.746299 308.364706 -L 108.876781 309.604475 -L 109.007264 310.844244 -L 110.240379 310.661269 -L 111.473495 310.478294 -L 111.603977 311.718063 -L 111.73446 312.957832 -L 112.967575 312.774857 -L 114.200691 312.591882 -L 114.331173 313.831651 -L 114.461656 315.07142 -L 115.694771 314.888445 -L 116.927887 314.70547 -L 117.05837 315.945239 -L 117.188852 317.185008 -L 118.451541 317.024952 -L 119.714229 316.864896 -L 119.585328 315.562008 -L 119.456428 314.25912 -L 120.750271 314.058864 -L 122.044115 313.858608 -L 121.915214 312.55572 -L 121.786313 311.252831 -L 123.080157 311.052575 -L 124.374 310.85232 -L 124.2451 309.549431 -L 124.116199 308.246543 -L 125.410043 308.046287 -L 126.703886 307.846031 -L 126.574985 306.543143 -L 126.446085 305.240254 -L 127.739928 305.039999 -L 129.033772 304.839743 -L 128.873716 303.577054 -L 128.71366 302.314366 -L 127.480545 302.497341 -L 126.247429 302.680316 -L 126.116947 301.440547 -L 125.986464 300.200778 -L 124.753349 300.383753 -L 123.520233 300.566728 -L 123.389751 299.326959 -L 123.259268 298.08719 -L 122.026153 298.270165 -L 120.793037 298.45314 -L 120.662555 297.213371 -L 120.532072 295.973602 -L 119.298957 296.156577 -L 118.065841 296.339552 -L 117.935359 295.099783 -L 117.804876 293.860014 -L 116.57176 294.042989 -L 115.338645 294.225964 -L 115.208162 292.986195 -L 115.07768 291.746426 -L 113.844564 291.929401 -L 112.611449 292.112376 -L 112.480966 290.872607 -L 112.350484 289.632838 -L 111.117368 289.815813 -L 109.884253 289.998788 -L 109.75377 288.759019 -L 109.623288 287.51925 -L 108.390172 287.702225 -L 107.157057 287.8852 -L 107.026574 286.645431 -L 106.896092 285.405662 -L 105.662976 285.588637 -L 104.429861 285.771613 -L 104.299378 284.531843 -L 104.168896 283.292074 -L 102.93578 283.475049 -L 101.702665 283.658025 -L 101.572182 282.418255 -L 101.4417 281.178486 -L 100.208584 281.361461 -L 98.975469 281.544437 -L 98.844986 280.304667 -L 98.714503 279.064898 -L 97.451815 279.224954 -L 96.189127 279.38501 -L 96.318027 280.687898 -L 96.446928 281.990787 -L 95.153084 282.191043 -L 93.859241 282.391298 -L 93.988142 283.694187 -L 94.117042 284.997075 -L 92.823199 285.197331 -L 91.529355 285.397587 -L 91.658256 286.700475 -L 91.787157 288.003364 -L 90.493313 288.203619 -L 89.19947 288.403875 -L 89.32837 289.706763 -L 89.457271 291.009652 -L 88.163428 291.209908 -L 86.869584 291.410163 + </g> + <g id="text_28"> + <g id="patch_78"> + <path clip-path="url(#pedd1dac049)" d="M 68.849801 233.525242 +L 69.001493 234.574999 +L 70.026276 234.40464 +L 71.05106 234.234281 +L 71.177778 235.265371 +L 71.304497 236.296461 +L 72.329281 236.126101 +L 73.354064 235.955742 +L 73.480783 236.986832 +L 73.607502 238.017922 +L 74.632285 237.847563 +L 75.657069 237.677203 +L 75.783788 238.708293 +L 75.910506 239.739383 +L 76.93529 239.569024 +L 77.960073 239.398665 +L 78.086792 240.429754 +L 78.213511 241.460844 +L 79.238294 241.290485 +L 80.263078 241.120126 +L 80.389797 242.151216 +L 80.516515 243.182305 +L 81.541299 243.011946 +L 82.566083 242.841587 +L 82.692801 243.872677 +L 82.81952 244.903766 +L 83.844304 244.733407 +L 84.869087 244.563048 +L 84.995806 245.594138 +L 85.122524 246.625228 +L 86.147308 246.454868 +L 87.172092 246.284509 +L 87.29881 247.315599 +L 87.425529 248.346689 +L 88.450313 248.17633 +L 89.475096 248.00597 +L 89.601815 249.03706 +L 89.728534 250.06815 +L 90.753317 249.897791 +L 91.778101 249.727432 +L 91.904819 250.758521 +L 92.031538 251.789611 +L 93.056322 251.619252 +L 94.081105 251.448893 +L 94.207824 252.479983 +L 94.334543 253.511072 +L 95.3843 253.35938 +L 96.434057 253.207688 +L 96.30774 252.123984 +L 96.181423 251.04028 +L 97.256554 250.854641 +L 98.331686 250.669002 +L 98.205369 249.585298 +L 98.079052 248.501594 +L 99.154184 248.315954 +L 100.229316 248.130315 +L 100.102999 247.046611 +L 99.976682 245.962907 +L 101.051814 245.777268 +L 102.126946 245.591629 +L 102.000629 244.507925 +L 101.874312 243.424221 +L 102.949444 243.238581 +L 104.024576 243.052942 +L 103.872884 242.003185 +L 103.721192 240.953428 +L 102.696408 241.123788 +L 101.671625 241.294147 +L 101.544906 240.263057 +L 101.418187 239.231967 +L 100.393404 239.402326 +L 99.36862 239.572686 +L 99.241902 238.541596 +L 99.115183 237.510506 +L 98.090399 237.680865 +L 97.065616 237.851224 +L 96.938897 236.820135 +L 96.812178 235.789045 +L 95.787395 235.959404 +L 94.762611 236.129763 +L 94.635892 235.098674 +L 94.509174 234.067584 +L 93.48439 234.237943 +L 92.459607 234.408302 +L 92.332888 233.377212 +L 92.206169 232.346123 +L 91.181386 232.516482 +L 90.156602 232.686841 +L 90.029883 231.655751 +L 89.903165 230.624661 +L 88.878381 230.795021 +L 87.853597 230.96538 +L 87.726879 229.93429 +L 87.60016 228.9032 +L 86.575376 229.073559 +L 85.550593 229.243919 +L 85.423874 228.212829 +L 85.297156 227.181739 +L 84.272372 227.352098 +L 83.247588 227.522457 +L 83.12087 226.491368 +L 82.994151 225.460278 +L 81.969367 225.630637 +L 80.944584 225.800996 +L 80.817865 224.769906 +L 80.691146 223.738817 +L 79.666363 223.909176 +L 78.641579 224.079535 +L 78.514861 223.048445 +L 78.388142 222.017356 +L 77.338385 222.169048 +L 76.288628 222.32074 +L 76.414945 223.404444 +L 76.541262 224.488148 +L 75.46613 224.673787 +L 74.390998 224.859426 +L 74.517315 225.94313 +L 74.643632 227.026834 +L 73.5685 227.212473 +L 72.493368 227.398113 +L 72.619685 228.481817 +L 72.746002 229.565521 +L 71.67087 229.75116 +L 70.595738 229.936799 +L 70.722055 231.020503 +L 70.848372 232.104207 +L 69.77324 232.289846 +L 68.698109 232.475486 z " style="fill:none;stroke:#0000ff;stroke-linejoin:miter;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 100.242345 286.257704 -Q 99.520599 285.698348 98.604704 286.12717 -Q 97.69144 286.555659 96.585362 287.98285 -Q 95.483878 289.404112 95.295658 290.396885 -Q 95.10892 291.390807 95.830666 291.950163 -Q 96.558341 292.514114 97.472753 292.084143 -Q 98.388648 291.65532 99.490132 290.234058 -Q 100.59621 288.806867 100.7818 287.814428 -Q 100.97002 286.821654 100.242345 286.257704 -z -M 100.816633 285.516691 -Q 101.980023 286.418323 101.880316 287.814171 -Q 101.781758 289.208537 100.42529 290.958809 -Q 99.072268 292.704635 97.745444 293.149462 -Q 96.419768 293.592808 95.256378 292.691176 -Q 94.094471 291.790692 94.193029 290.396326 -Q 94.292736 289.000478 95.645758 287.254653 -Q 97.002226 285.504381 98.327901 285.061035 -Q 99.654725 284.616208 100.816633 285.516691 -z -M 100.306756 294.505863 -L 101.284892 295.263923 -L 100.372923 296.440651 -L 99.394787 295.682591 -z -M 109.291962 293.271194 -Q 108.570216 292.711837 107.654321 293.14066 -Q 106.741058 293.569149 105.634979 294.996339 -Q 104.533495 296.417602 104.345275 297.410375 -Q 104.158537 298.404297 104.880283 298.963653 -Q 105.607958 299.527604 106.52237 299.097632 -Q 107.438265 298.66881 108.539749 297.247548 -Q 109.645827 295.820357 109.831417 294.827918 -Q 110.019637 293.835144 109.291962 293.271194 -z -M 109.86625 292.530181 -Q 111.02964 293.431813 110.929933 294.827661 -Q 110.831375 296.222027 109.474907 297.972299 -Q 108.121885 299.718125 106.795061 300.162952 -Q 105.469385 300.606297 104.305996 299.704666 -Q 103.144088 298.804182 103.242646 297.409816 -Q 103.342353 296.013968 104.695375 294.268142 -Q 106.051843 292.517871 107.377518 292.074525 -Q 108.704342 291.629698 109.86625 292.530181 -z -M 115.326584 297.94805 -Q 114.604838 297.388694 113.688943 297.817516 -Q 112.775679 298.246005 111.669601 299.673196 -Q 110.568117 301.094458 110.379897 302.087231 -Q 110.193159 303.081153 110.914905 303.640509 -Q 111.64258 304.20446 112.556992 303.774489 -Q 113.472887 303.345666 114.574371 301.924404 -Q 115.680449 300.497214 115.866039 299.504774 -Q 116.054259 298.512001 115.326584 297.94805 -z -M 115.900872 297.207037 -Q 117.064262 298.108669 116.964555 299.504517 -Q 116.865997 300.898883 115.509529 302.649155 -Q 114.156507 304.394981 112.829683 304.839808 -Q 111.504007 305.283154 110.340617 304.381522 -Q 109.17871 303.481039 109.277268 302.086673 -Q 109.376975 300.690825 110.729997 298.944999 -Q 112.086465 297.194727 113.41214 296.751382 -Q 114.738964 296.306554 115.900872 297.207037 -z -M 121.361206 302.624906 -Q 120.63946 302.06555 119.723565 302.494373 -Q 118.810301 302.922862 117.704223 304.350052 -Q 116.602739 305.771314 116.414519 306.764088 -Q 116.227781 307.758009 116.949527 308.317366 -Q 117.677202 308.881316 118.591614 308.451345 -Q 119.507509 308.022523 120.608993 306.60126 -Q 121.715071 305.17407 121.90066 304.18163 -Q 122.08888 303.188857 121.361206 302.624906 -z -M 121.935494 301.883894 -Q 123.098884 302.785526 122.999177 304.181374 -Q 122.900618 305.57574 121.544151 307.326012 -Q 120.191128 309.071837 118.864305 309.516665 -Q 117.538629 309.96001 116.375239 309.058378 -Q 115.213331 308.157895 115.31189 306.763529 -Q 115.411597 305.367681 116.764619 303.621855 -Q 118.121087 301.871583 119.446762 301.428238 -Q 120.773586 300.98341 121.935494 301.883894 + </g> + <path clip-path="url(#pedd1dac049)" d="M 79.765579 227.988268 +Q 79.156094 227.532688 78.39919 227.903283 +Q 77.644473 228.273562 76.743602 229.478766 +Q 75.846473 230.678963 75.70406 231.508881 +Q 75.562899 232.339735 76.172384 232.795315 +Q 76.786875 233.254638 77.542527 232.883107 +Q 78.299431 232.512512 79.19656 231.312315 +Q 80.097431 230.107111 80.237657 229.277509 +Q 80.38007 228.447591 79.765579 227.988268 +z +M 80.233321 227.362514 +Q 81.215756 228.096869 81.152945 229.261347 +Q 81.091069 230.424573 79.986262 231.902605 +Q 78.884262 233.376883 77.785201 233.76678 +Q 76.687076 234.155425 75.704642 233.42107 +Q 74.723458 232.68765 74.785334 231.524424 +Q 74.848145 230.359946 75.950145 228.885669 +Q 77.054952 227.407636 78.153077 227.018991 +Q 79.252138 226.629094 80.233321 227.362514 +z +M 79.938997 234.859756 +L 80.764993 235.477175 +L 80.022218 236.470874 +L 79.196222 235.853454 +z +M 87.407607 233.700569 +Q 86.798122 233.244989 86.041218 233.615584 +Q 85.286502 233.985863 84.38563 235.191067 +Q 83.488501 236.391264 83.346088 237.221182 +Q 83.204927 238.052036 83.814412 238.507616 +Q 84.428903 238.966939 85.184555 238.595408 +Q 85.941459 238.224813 86.838588 237.024616 +Q 87.73946 235.819412 87.879686 234.98981 +Q 88.022098 234.159892 87.407607 233.700569 +z +M 87.875349 233.074815 +Q 88.857784 233.80917 88.794973 234.973648 +Q 88.733098 236.136874 87.628291 237.614906 +Q 86.52629 239.089184 85.42723 239.479081 +Q 84.329105 239.867726 83.34667 239.133371 +Q 82.365487 238.399951 82.427362 237.236725 +Q 82.490173 236.072247 83.592173 234.597969 +Q 84.69698 233.119937 85.795106 232.731292 +Q 86.894166 232.341395 87.875349 233.074815 +z +M 92.503596 237.509744 +Q 91.894111 237.054164 91.137208 237.424759 +Q 90.382491 237.795038 89.48162 239.000242 +Q 88.58449 240.200439 88.442077 241.030357 +Q 88.300916 241.861211 88.910401 242.316791 +Q 89.524892 242.776114 90.280545 242.404583 +Q 91.037448 242.033988 91.934578 240.833791 +Q 92.835449 239.628587 92.975675 238.798985 +Q 93.118087 237.969067 92.503596 237.509744 +z +M 92.971339 236.88399 +Q 93.953773 237.618345 93.890962 238.782823 +Q 93.829087 239.946049 92.72428 241.424081 +Q 91.62228 242.898359 90.523219 243.288256 +Q 89.425094 243.676901 88.442659 242.942546 +Q 87.461476 242.209126 87.523351 241.0459 +Q 87.586162 239.881422 88.688163 238.407145 +Q 89.79297 236.929112 90.891095 236.540467 +Q 91.990155 236.15057 92.971339 236.88399 +z +M 97.599586 241.31892 +Q 96.990101 240.863339 96.233197 241.233934 +Q 95.47848 241.604213 94.577609 242.809417 +Q 93.680479 244.009614 93.538067 244.839532 +Q 93.396905 245.670386 94.00639 246.125967 +Q 94.620882 246.585289 95.376534 246.213759 +Q 96.133437 245.843163 97.030567 244.642966 +Q 97.931438 243.437762 98.071664 242.60816 +Q 98.214077 241.778242 97.599586 241.31892 +z +M 98.067328 240.693165 +Q 99.049763 241.42752 98.986952 242.591998 +Q 98.925076 243.755224 97.820269 245.233256 +Q 96.718269 246.707534 95.619208 247.097431 +Q 94.521083 247.486076 93.538648 246.751721 +Q 92.557465 246.018301 92.619341 244.855075 +Q 92.682151 243.690598 93.784152 242.21632 +Q 94.888959 240.738287 95.987084 240.349642 +Q 97.086145 239.959745 98.067328 240.693165 z " style="fill:#ffffff;stroke:#000000;stroke-width:3;"/> - <path clip-path="url(#p826a730be7)" d="M 100.242345 286.257704 -Q 99.520599 285.698348 98.604704 286.12717 -Q 97.69144 286.555659 96.585362 287.98285 -Q 95.483878 289.404112 95.295658 290.396885 -Q 95.10892 291.390807 95.830666 291.950163 -Q 96.558341 292.514114 97.472753 292.084143 -Q 98.388648 291.65532 99.490132 290.234058 -Q 100.59621 288.806867 100.7818 287.814428 -Q 100.97002 286.821654 100.242345 286.257704 -z -M 100.816633 285.516691 -Q 101.980023 286.418323 101.880316 287.814171 -Q 101.781758 289.208537 100.42529 290.958809 -Q 99.072268 292.704635 97.745444 293.149462 -Q 96.419768 293.592808 95.256378 292.691176 -Q 94.094471 291.790692 94.193029 290.396326 -Q 94.292736 289.000478 95.645758 287.254653 -Q 97.002226 285.504381 98.327901 285.061035 -Q 99.654725 284.616208 100.816633 285.516691 -z -M 100.306756 294.505863 -L 101.284892 295.263923 -L 100.372923 296.440651 -L 99.394787 295.682591 -z -M 109.291962 293.271194 -Q 108.570216 292.711837 107.654321 293.14066 -Q 106.741058 293.569149 105.634979 294.996339 -Q 104.533495 296.417602 104.345275 297.410375 -Q 104.158537 298.404297 104.880283 298.963653 -Q 105.607958 299.527604 106.52237 299.097632 -Q 107.438265 298.66881 108.539749 297.247548 -Q 109.645827 295.820357 109.831417 294.827918 -Q 110.019637 293.835144 109.291962 293.271194 -z -M 109.86625 292.530181 -Q 111.02964 293.431813 110.929933 294.827661 -Q 110.831375 296.222027 109.474907 297.972299 -Q 108.121885 299.718125 106.795061 300.162952 -Q 105.469385 300.606297 104.305996 299.704666 -Q 103.144088 298.804182 103.242646 297.409816 -Q 103.342353 296.013968 104.695375 294.268142 -Q 106.051843 292.517871 107.377518 292.074525 -Q 108.704342 291.629698 109.86625 292.530181 -z -M 115.326584 297.94805 -Q 114.604838 297.388694 113.688943 297.817516 -Q 112.775679 298.246005 111.669601 299.673196 -Q 110.568117 301.094458 110.379897 302.087231 -Q 110.193159 303.081153 110.914905 303.640509 -Q 111.64258 304.20446 112.556992 303.774489 -Q 113.472887 303.345666 114.574371 301.924404 -Q 115.680449 300.497214 115.866039 299.504774 -Q 116.054259 298.512001 115.326584 297.94805 -z -M 115.900872 297.207037 -Q 117.064262 298.108669 116.964555 299.504517 -Q 116.865997 300.898883 115.509529 302.649155 -Q 114.156507 304.394981 112.829683 304.839808 -Q 111.504007 305.283154 110.340617 304.381522 -Q 109.17871 303.481039 109.277268 302.086673 -Q 109.376975 300.690825 110.729997 298.944999 -Q 112.086465 297.194727 113.41214 296.751382 -Q 114.738964 296.306554 115.900872 297.207037 -z -M 121.361206 302.624906 -Q 120.63946 302.06555 119.723565 302.494373 -Q 118.810301 302.922862 117.704223 304.350052 -Q 116.602739 305.771314 116.414519 306.764088 -Q 116.227781 307.758009 116.949527 308.317366 -Q 117.677202 308.881316 118.591614 308.451345 -Q 119.507509 308.022523 120.608993 306.60126 -Q 121.715071 305.17407 121.90066 304.18163 -Q 122.08888 303.188857 121.361206 302.624906 -z -M 121.935494 301.883894 -Q 123.098884 302.785526 122.999177 304.181374 -Q 122.900618 305.57574 121.544151 307.326012 -Q 120.191128 309.071837 118.864305 309.516665 -Q 117.538629 309.96001 116.375239 309.058378 -Q 115.213331 308.157895 115.31189 306.763529 -Q 115.411597 305.367681 116.764619 303.621855 -Q 118.121087 301.871583 119.446762 301.428238 -Q 120.773586 300.98341 121.935494 301.883894 + <path clip-path="url(#pedd1dac049)" d="M 79.765579 227.988268 +Q 79.156094 227.532688 78.39919 227.903283 +Q 77.644473 228.273562 76.743602 229.478766 +Q 75.846473 230.678963 75.70406 231.508881 +Q 75.562899 232.339735 76.172384 232.795315 +Q 76.786875 233.254638 77.542527 232.883107 +Q 78.299431 232.512512 79.19656 231.312315 +Q 80.097431 230.107111 80.237657 229.277509 +Q 80.38007 228.447591 79.765579 227.988268 +z +M 80.233321 227.362514 +Q 81.215756 228.096869 81.152945 229.261347 +Q 81.091069 230.424573 79.986262 231.902605 +Q 78.884262 233.376883 77.785201 233.76678 +Q 76.687076 234.155425 75.704642 233.42107 +Q 74.723458 232.68765 74.785334 231.524424 +Q 74.848145 230.359946 75.950145 228.885669 +Q 77.054952 227.407636 78.153077 227.018991 +Q 79.252138 226.629094 80.233321 227.362514 +z +M 79.938997 234.859756 +L 80.764993 235.477175 +L 80.022218 236.470874 +L 79.196222 235.853454 +z +M 87.407607 233.700569 +Q 86.798122 233.244989 86.041218 233.615584 +Q 85.286502 233.985863 84.38563 235.191067 +Q 83.488501 236.391264 83.346088 237.221182 +Q 83.204927 238.052036 83.814412 238.507616 +Q 84.428903 238.966939 85.184555 238.595408 +Q 85.941459 238.224813 86.838588 237.024616 +Q 87.73946 235.819412 87.879686 234.98981 +Q 88.022098 234.159892 87.407607 233.700569 +z +M 87.875349 233.074815 +Q 88.857784 233.80917 88.794973 234.973648 +Q 88.733098 236.136874 87.628291 237.614906 +Q 86.52629 239.089184 85.42723 239.479081 +Q 84.329105 239.867726 83.34667 239.133371 +Q 82.365487 238.399951 82.427362 237.236725 +Q 82.490173 236.072247 83.592173 234.597969 +Q 84.69698 233.119937 85.795106 232.731292 +Q 86.894166 232.341395 87.875349 233.074815 +z +M 92.503596 237.509744 +Q 91.894111 237.054164 91.137208 237.424759 +Q 90.382491 237.795038 89.48162 239.000242 +Q 88.58449 240.200439 88.442077 241.030357 +Q 88.300916 241.861211 88.910401 242.316791 +Q 89.524892 242.776114 90.280545 242.404583 +Q 91.037448 242.033988 91.934578 240.833791 +Q 92.835449 239.628587 92.975675 238.798985 +Q 93.118087 237.969067 92.503596 237.509744 +z +M 92.971339 236.88399 +Q 93.953773 237.618345 93.890962 238.782823 +Q 93.829087 239.946049 92.72428 241.424081 +Q 91.62228 242.898359 90.523219 243.288256 +Q 89.425094 243.676901 88.442659 242.942546 +Q 87.461476 242.209126 87.523351 241.0459 +Q 87.586162 239.881422 88.688163 238.407145 +Q 89.79297 236.929112 90.891095 236.540467 +Q 91.990155 236.15057 92.971339 236.88399 +z +M 97.599586 241.31892 +Q 96.990101 240.863339 96.233197 241.233934 +Q 95.47848 241.604213 94.577609 242.809417 +Q 93.680479 244.009614 93.538067 244.839532 +Q 93.396905 245.670386 94.00639 246.125967 +Q 94.620882 246.585289 95.376534 246.213759 +Q 96.133437 245.843163 97.030567 244.642966 +Q 97.931438 243.437762 98.071664 242.60816 +Q 98.214077 241.778242 97.599586 241.31892 +z +M 98.067328 240.693165 +Q 99.049763 241.42752 98.986952 242.591998 +Q 98.925076 243.755224 97.820269 245.233256 +Q 96.718269 246.707534 95.619208 247.097431 +Q 94.521083 247.486076 93.538648 246.751721 +Q 92.557465 246.018301 92.619341 244.855075 +Q 92.682151 243.690598 93.784152 242.21632 +Q 94.888959 240.738287 95.987084 240.349642 +Q 97.086145 239.959745 98.067328 240.693165 z " style="fill:#ffffff;"/> - </g> - <g id="text_29"> - <g id="patch_78"> - <path clip-path="url(#p826a730be7)" d="M 427.103145 114.886521 -L 428.366615 115.040284 -L 428.49092 113.79988 -L 428.615225 112.559477 -L 429.849237 112.736307 -L 431.083248 112.913137 -L 431.207553 111.672733 -L 431.331858 110.432329 -L 432.56587 110.609159 -L 433.799881 110.785989 -L 433.924186 109.545585 -L 434.048492 108.305181 -L 435.282503 108.482011 -L 436.516515 108.658841 -L 436.64082 107.418437 -L 436.765125 106.178034 -L 437.999136 106.354864 -L 439.233148 106.531694 -L 439.357453 105.29129 -L 439.481758 104.050886 -L 440.715769 104.227716 -L 441.949781 104.404546 -L 442.074086 103.164142 -L 442.198391 101.923738 -L 443.432402 102.100568 -L 444.666414 102.277398 -L 444.790719 101.036995 -L 444.915024 99.796591 -L 446.149035 99.973421 -L 447.383047 100.150251 -L 447.507352 98.909847 -L 447.631657 97.669443 -L 448.865668 97.846273 -L 450.09968 98.023103 -L 450.223985 96.782699 -L 450.34829 95.542296 -L 451.582302 95.719125 -L 452.816313 95.895955 -L 452.940618 94.655552 -L 453.064923 93.415148 -L 454.298935 93.591978 -L 455.532946 93.768808 -L 455.657251 92.528404 -L 455.781556 91.288 -L 457.015568 91.46483 -L 458.249579 91.64166 -L 458.403343 90.37819 -L 458.557106 89.11472 -L 457.262281 88.920912 -L 455.967456 88.727104 -L 456.089865 87.42359 -L 456.212273 86.120075 -L 454.917448 85.926268 -L 453.622623 85.73246 -L 453.745032 84.428945 -L 453.867441 83.125431 -L 452.572615 82.931623 -L 451.27779 82.737815 -L 451.400199 81.434301 -L 451.522608 80.130787 -L 450.227782 79.936979 -L 448.932957 79.743171 -L 449.055366 78.439657 -L 449.177775 77.136142 -L 447.914304 76.982379 -L 446.650834 76.828615 -L 446.526529 78.069019 -L 446.402224 79.309423 -L 445.168213 79.132593 -L 443.934201 78.955763 -L 443.809896 80.196166 -L 443.685591 81.43657 -L 442.45158 81.25974 -L 441.217568 81.08291 -L 441.093263 82.323314 -L 440.968958 83.563718 -L 439.734947 83.386888 -L 438.500935 83.210058 -L 438.37663 84.450462 -L 438.252325 85.690865 -L 437.018314 85.514036 -L 435.784302 85.337206 -L 435.659997 86.577609 -L 435.535692 87.818013 -L 434.30168 87.641183 -L 433.067669 87.464353 -L 432.943364 88.704757 -L 432.819059 89.945161 -L 431.585047 89.768331 -L 430.351036 89.591501 -L 430.226731 90.831905 -L 430.102426 92.072308 -L 428.868414 91.895478 -L 427.634403 91.718648 -L 427.510098 92.959052 -L 427.385793 94.199456 -L 426.151781 94.022626 -L 424.91777 93.845796 -L 424.793465 95.0862 -L 424.66916 96.326604 -L 423.435148 96.149774 -L 422.201137 95.972944 -L 422.076832 97.213348 -L 421.952527 98.453751 -L 420.718515 98.276921 -L 419.484504 98.100091 -L 419.360199 99.340495 -L 419.235893 100.580899 -L 418.001882 100.404069 -L 416.76787 100.227239 -L 416.614107 101.490709 -L 416.460343 102.754179 -L 417.755168 102.947987 -L 419.049993 103.141795 -L 418.927585 104.445309 -L 418.805176 105.748824 -L 420.100001 105.942632 -L 421.394826 106.136439 -L 421.272418 107.439954 -L 421.150009 108.743468 -L 422.444834 108.937276 -L 423.739659 109.131084 -L 423.617251 110.434598 -L 423.494842 111.738113 -L 424.789667 111.93192 -L 426.084492 112.125728 -L 425.962084 113.429243 -L 425.839675 114.732757 + </g> + <g id="text_29"> + <g id="patch_79"> + <path clip-path="url(#pedd1dac049)" d="M 341.53431 97.525021 +L 342.58629 97.660439 +L 342.697026 96.62751 +L 342.807763 95.594582 +L 343.835062 95.749051 +L 344.862361 95.903521 +L 344.973097 94.870593 +L 345.083834 93.837664 +L 346.111133 93.992134 +L 347.138432 94.146603 +L 347.249168 93.113675 +L 347.359905 92.080746 +L 348.387204 92.235216 +L 349.414502 92.389685 +L 349.525239 91.356757 +L 349.635976 90.323829 +L 350.663274 90.478298 +L 351.690573 90.632768 +L 351.80131 89.599839 +L 351.912046 88.566911 +L 352.939345 88.72138 +L 353.966644 88.87585 +L 354.077381 87.842921 +L 354.188117 86.809993 +L 355.215416 86.964462 +L 356.242715 87.118932 +L 356.353451 86.086004 +L 356.464188 85.053075 +L 357.491487 85.207545 +L 358.518786 85.362014 +L 358.629522 84.329086 +L 358.740259 83.296157 +L 359.767558 83.450627 +L 360.794857 83.605096 +L 360.905593 82.572168 +L 361.01633 81.53924 +L 362.043629 81.693709 +L 363.070927 81.848179 +L 363.181664 80.81525 +L 363.292401 79.782322 +L 364.319699 79.936791 +L 365.346998 80.091261 +L 365.457735 79.058332 +L 365.568471 78.025404 +L 366.59577 78.179873 +L 367.623069 78.334343 +L 367.758487 77.282363 +L 367.893905 76.230383 +L 366.816027 76.061415 +L 365.738149 75.892447 +L 365.84767 74.806917 +L 365.95719 73.721386 +L 364.879312 73.552418 +L 363.801434 73.38345 +L 363.910955 72.29792 +L 364.020475 71.21239 +L 362.942597 71.043422 +L 361.864719 70.874454 +L 361.97424 69.788924 +L 362.08376 68.703393 +L 361.005882 68.534425 +L 359.928004 68.365457 +L 360.037525 67.279927 +L 360.147045 66.194397 +L 359.095065 66.058979 +L 358.043085 65.923561 +L 357.932348 66.95649 +L 357.821611 67.989418 +L 356.794313 67.834949 +L 355.767014 67.680479 +L 355.656277 68.713407 +L 355.545541 69.746336 +L 354.518242 69.591866 +L 353.490943 69.437397 +L 353.380206 70.470325 +L 353.26947 71.503254 +L 352.242171 71.348784 +L 351.214872 71.194315 +L 351.104136 72.227243 +L 350.993399 73.260171 +L 349.9661 73.105702 +L 348.938801 72.951232 +L 348.828065 73.984161 +L 348.717328 75.017089 +L 347.690029 74.86262 +L 346.66273 74.70815 +L 346.551994 75.741079 +L 346.441257 76.774007 +L 345.413958 76.619538 +L 344.38666 76.465068 +L 344.275923 77.497996 +L 344.165186 78.530925 +L 343.137888 78.376455 +L 342.110589 78.221986 +L 341.999852 79.254914 +L 341.889116 80.287843 +L 340.861817 80.133373 +L 339.834518 79.978904 +L 339.723781 81.011832 +L 339.613045 82.04476 +L 338.585746 81.890291 +L 337.558447 81.735821 +L 337.44771 82.76875 +L 337.336974 83.801678 +L 336.309675 83.647209 +L 335.282376 83.492739 +L 335.17164 84.525668 +L 335.060903 85.558596 +L 334.033604 85.404127 +L 333.006305 85.249657 +L 332.870888 86.301637 +L 332.73547 87.353617 +L 333.813347 87.522585 +L 334.891225 87.691553 +L 334.781705 88.777083 +L 334.672185 89.862614 +L 335.750062 90.031582 +L 336.82794 90.20055 +L 336.71842 91.28608 +L 336.6089 92.37161 +L 337.686777 92.540578 +L 338.764655 92.709546 +L 338.655135 93.795076 +L 338.545615 94.880607 +L 339.623492 95.049575 +L 340.70137 95.218543 +L 340.59185 96.304073 +L 340.48233 97.389603 z " style="fill:none;stroke:#0000ff;stroke-linejoin:miter;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 424.115875 100.505772 -Q 423.396924 101.068717 423.588611 102.061696 -Q 423.780619 103.052043 424.893793 104.473706 -Q 426.002344 105.889463 426.918887 106.314874 -Q 427.836906 106.739128 428.555857 106.176183 -Q 429.280713 105.608615 429.08755 104.616792 -Q 428.895862 103.623812 427.787312 102.208055 -Q 426.674138 100.786392 425.757274 100.363614 -Q 424.840731 99.938204 424.115875 100.505772 -z -M 423.537903 99.76763 -Q 424.696787 98.860213 426.02581 99.298425 -Q 427.353678 99.735161 428.718848 101.478654 -Q 430.08055 103.217718 430.18721 104.613052 -Q 430.292713 106.00691 429.133829 106.914326 -Q 427.976422 107.820586 426.648554 107.38385 -Q 425.319531 106.945638 423.957828 105.206574 -Q 422.592658 103.463082 422.487155 102.069224 -Q 422.380495 100.67389 423.537903 99.76763 -z -M 432.129082 102.461478 -L 433.10343 101.698555 -L 434.02125 102.870725 -L 433.046902 103.633648 -z -M 433.130441 93.447287 -Q 432.41149 94.010232 432.603177 95.003211 -Q 432.795185 95.993558 433.908359 97.415221 -Q 435.01691 98.830978 435.933453 99.256389 -Q 436.851472 99.680644 437.570423 99.117699 -Q 438.295279 98.55013 438.102116 97.558307 -Q 437.910429 96.565328 436.801878 95.14957 -Q 435.688704 93.727908 434.77184 93.305129 -Q 433.855297 92.879719 433.130441 93.447287 -z -M 432.552469 92.709145 -Q 433.711353 91.801729 435.040376 92.239941 -Q 436.368244 92.676677 437.733414 94.420169 -Q 439.095116 96.159233 439.201776 97.554567 -Q 439.307279 98.948425 438.148395 99.855841 -Q 436.990988 100.762102 435.66312 100.325366 -Q 434.334097 99.887154 432.972394 98.14809 -Q 431.607224 96.404597 431.501721 95.010739 -Q 431.395061 93.615405 432.552469 92.709145 -z -M 439.14169 88.740427 -Q 438.422739 89.303372 438.614426 90.296351 -Q 438.806433 91.286698 439.919608 92.70836 -Q 441.028158 94.124118 441.944701 94.549528 -Q 442.862721 94.973783 443.581672 94.410838 -Q 444.306528 93.843269 444.113364 92.851446 -Q 443.921677 91.858467 442.813127 90.44271 -Q 441.699952 89.021047 440.783089 88.598269 -Q 439.866546 88.172858 439.14169 88.740427 -z -M 438.563718 88.002284 -Q 439.722601 87.094868 441.051625 87.53308 -Q 442.379492 87.969816 443.744663 89.713309 -Q 445.106365 91.452373 445.213024 92.847707 -Q 445.318528 94.241564 444.159644 95.148981 -Q 443.002236 96.055241 441.674369 95.618505 -Q 440.345345 95.180293 438.983643 93.441229 -Q 437.618473 91.697736 437.512969 90.303879 -Q 437.40631 88.908545 438.563718 88.002284 -z -M 445.152938 84.033566 -Q 444.433987 84.596511 444.625675 85.58949 -Q 444.817682 86.579837 445.930856 88.0015 -Q 447.039407 89.417257 447.95595 89.842668 -Q 448.873969 90.266922 449.59292 89.703977 -Q 450.317776 89.136409 450.124613 88.144586 -Q 449.932926 87.151606 448.824375 85.735849 -Q 447.711201 84.314186 446.794337 83.891408 -Q 445.877794 83.465998 445.152938 84.033566 -z -M 444.574966 83.295424 -Q 445.73385 82.388007 447.062873 82.82622 -Q 448.390741 83.262955 449.755911 85.006448 -Q 451.117614 86.745512 451.224273 88.140846 -Q 451.329776 89.534704 450.170892 90.44212 -Q 449.013485 91.34838 447.685617 90.911644 -Q 446.356594 90.473432 444.994892 88.734368 -Q 443.629721 86.990876 443.524218 85.597018 -Q 443.417559 84.201684 444.574966 83.295424 + </g> + <path clip-path="url(#pedd1dac049)" d="M 339.12789 85.524127 +Q 338.525533 85.989092 338.679543 86.81766 +Q 338.833836 87.644036 339.753262 88.835145 +Q 340.66887 90.021306 341.430185 90.38109 +Q 342.192737 90.73992 342.795094 90.274956 +Q 343.402398 89.806173 343.247151 88.978559 +Q 343.093141 88.149991 342.177533 86.96383 +Q 341.258107 85.772722 340.49651 85.415129 +Q 339.735195 85.055344 339.12789 85.524127 +z +M 338.650514 84.905691 +Q 339.621459 84.156211 340.726426 84.529041 +Q 341.830437 84.900635 342.958 86.361382 +Q 344.082698 87.818418 344.163534 88.981783 +Q 344.243415 90.143912 343.27247 90.893392 +Q 342.302761 91.641918 341.19875 91.270324 +Q 340.093783 90.897494 338.969085 89.440458 +Q 337.841523 87.979711 337.761642 86.817582 +Q 337.680806 85.654217 338.650514 84.905691 +z +M 345.794127 87.200044 +L 346.610463 86.569907 +L 347.368537 87.551984 +L 346.5522 88.182121 +z +M 346.680545 79.694171 +Q 346.078188 80.159136 346.232198 80.987704 +Q 346.38649 81.81408 347.305917 83.005189 +Q 348.221524 84.19135 348.982839 84.551134 +Q 349.745391 84.909964 350.347748 84.445 +Q 350.955053 83.976216 350.799805 83.148603 +Q 350.645795 82.320035 349.730188 81.133874 +Q 348.810761 79.942766 348.049164 79.585173 +Q 347.287849 79.225388 346.680545 79.694171 +z +M 346.203169 79.075735 +Q 347.174114 78.326254 348.27908 78.699085 +Q 349.383092 79.070679 350.510654 80.531425 +Q 351.635353 81.988462 351.716188 83.151827 +Q 351.796069 84.313956 350.825124 85.063436 +Q 349.855416 85.811962 348.751404 85.440368 +Q 347.646438 85.067538 346.52174 83.610502 +Q 345.394177 82.149755 345.314296 80.987626 +Q 345.23346 79.824261 346.203169 79.075735 +z +M 351.716936 75.806539 +Q 351.114579 76.271504 351.268589 77.100072 +Q 351.422882 77.926448 352.342308 79.117557 +Q 353.257916 80.303718 354.019231 80.663502 +Q 354.781783 81.022332 355.38414 80.557368 +Q 355.991444 80.088584 355.836197 79.260971 +Q 355.682187 78.432403 354.766579 77.246242 +Q 353.847153 76.055134 353.085556 75.697541 +Q 352.324241 75.337756 351.716936 75.806539 +z +M 351.23956 75.188103 +Q 352.210505 74.438622 353.315472 74.811453 +Q 354.419483 75.183047 355.547046 76.643793 +Q 356.671744 78.10083 356.75258 79.264195 +Q 356.832461 80.426324 355.861516 81.175804 +Q 354.891807 81.92433 353.787796 81.552736 +Q 352.682829 81.179906 351.558131 79.72287 +Q 350.430569 78.262123 350.350688 77.099994 +Q 350.269852 75.936629 351.23956 75.188103 +z +M 356.753328 71.918907 +Q 356.15097 72.383872 356.304981 73.21244 +Q 356.459273 74.038816 357.3787 75.229925 +Q 358.294307 76.416086 359.055622 76.77587 +Q 359.818174 77.1347 360.420531 76.669736 +Q 361.027836 76.200953 360.872588 75.373339 +Q 360.718578 74.544771 359.802971 73.35861 +Q 358.883544 72.167502 358.121947 71.809909 +Q 357.360632 71.450124 356.753328 71.918907 +z +M 356.275951 71.300471 +Q 357.246897 70.550991 358.351863 70.923821 +Q 359.455875 71.295415 360.583437 72.756162 +Q 361.708135 74.213198 361.788971 75.376563 +Q 361.868852 76.538692 360.897907 77.288172 +Q 359.928199 78.036698 358.824187 77.665104 +Q 357.719221 77.292274 356.594522 75.835238 +Q 355.46696 74.374491 355.387079 73.212362 +Q 355.306243 72.048997 356.275951 71.300471 z " style="fill:#ffffff;stroke:#000000;stroke-width:3;"/> - <path clip-path="url(#p826a730be7)" d="M 424.115875 100.505772 -Q 423.396924 101.068717 423.588611 102.061696 -Q 423.780619 103.052043 424.893793 104.473706 -Q 426.002344 105.889463 426.918887 106.314874 -Q 427.836906 106.739128 428.555857 106.176183 -Q 429.280713 105.608615 429.08755 104.616792 -Q 428.895862 103.623812 427.787312 102.208055 -Q 426.674138 100.786392 425.757274 100.363614 -Q 424.840731 99.938204 424.115875 100.505772 -z -M 423.537903 99.76763 -Q 424.696787 98.860213 426.02581 99.298425 -Q 427.353678 99.735161 428.718848 101.478654 -Q 430.08055 103.217718 430.18721 104.613052 -Q 430.292713 106.00691 429.133829 106.914326 -Q 427.976422 107.820586 426.648554 107.38385 -Q 425.319531 106.945638 423.957828 105.206574 -Q 422.592658 103.463082 422.487155 102.069224 -Q 422.380495 100.67389 423.537903 99.76763 -z -M 432.129082 102.461478 -L 433.10343 101.698555 -L 434.02125 102.870725 -L 433.046902 103.633648 -z -M 433.130441 93.447287 -Q 432.41149 94.010232 432.603177 95.003211 -Q 432.795185 95.993558 433.908359 97.415221 -Q 435.01691 98.830978 435.933453 99.256389 -Q 436.851472 99.680644 437.570423 99.117699 -Q 438.295279 98.55013 438.102116 97.558307 -Q 437.910429 96.565328 436.801878 95.14957 -Q 435.688704 93.727908 434.77184 93.305129 -Q 433.855297 92.879719 433.130441 93.447287 -z -M 432.552469 92.709145 -Q 433.711353 91.801729 435.040376 92.239941 -Q 436.368244 92.676677 437.733414 94.420169 -Q 439.095116 96.159233 439.201776 97.554567 -Q 439.307279 98.948425 438.148395 99.855841 -Q 436.990988 100.762102 435.66312 100.325366 -Q 434.334097 99.887154 432.972394 98.14809 -Q 431.607224 96.404597 431.501721 95.010739 -Q 431.395061 93.615405 432.552469 92.709145 -z -M 439.14169 88.740427 -Q 438.422739 89.303372 438.614426 90.296351 -Q 438.806433 91.286698 439.919608 92.70836 -Q 441.028158 94.124118 441.944701 94.549528 -Q 442.862721 94.973783 443.581672 94.410838 -Q 444.306528 93.843269 444.113364 92.851446 -Q 443.921677 91.858467 442.813127 90.44271 -Q 441.699952 89.021047 440.783089 88.598269 -Q 439.866546 88.172858 439.14169 88.740427 -z -M 438.563718 88.002284 -Q 439.722601 87.094868 441.051625 87.53308 -Q 442.379492 87.969816 443.744663 89.713309 -Q 445.106365 91.452373 445.213024 92.847707 -Q 445.318528 94.241564 444.159644 95.148981 -Q 443.002236 96.055241 441.674369 95.618505 -Q 440.345345 95.180293 438.983643 93.441229 -Q 437.618473 91.697736 437.512969 90.303879 -Q 437.40631 88.908545 438.563718 88.002284 -z -M 445.152938 84.033566 -Q 444.433987 84.596511 444.625675 85.58949 -Q 444.817682 86.579837 445.930856 88.0015 -Q 447.039407 89.417257 447.95595 89.842668 -Q 448.873969 90.266922 449.59292 89.703977 -Q 450.317776 89.136409 450.124613 88.144586 -Q 449.932926 87.151606 448.824375 85.735849 -Q 447.711201 84.314186 446.794337 83.891408 -Q 445.877794 83.465998 445.152938 84.033566 -z -M 444.574966 83.295424 -Q 445.73385 82.388007 447.062873 82.82622 -Q 448.390741 83.262955 449.755911 85.006448 -Q 451.117614 86.745512 451.224273 88.140846 -Q 451.329776 89.534704 450.170892 90.44212 -Q 449.013485 91.34838 447.685617 90.911644 -Q 446.356594 90.473432 444.994892 88.734368 -Q 443.629721 86.990876 443.524218 85.597018 -Q 443.417559 84.201684 444.574966 83.295424 + <path clip-path="url(#pedd1dac049)" d="M 339.12789 85.524127 +Q 338.525533 85.989092 338.679543 86.81766 +Q 338.833836 87.644036 339.753262 88.835145 +Q 340.66887 90.021306 341.430185 90.38109 +Q 342.192737 90.73992 342.795094 90.274956 +Q 343.402398 89.806173 343.247151 88.978559 +Q 343.093141 88.149991 342.177533 86.96383 +Q 341.258107 85.772722 340.49651 85.415129 +Q 339.735195 85.055344 339.12789 85.524127 +z +M 338.650514 84.905691 +Q 339.621459 84.156211 340.726426 84.529041 +Q 341.830437 84.900635 342.958 86.361382 +Q 344.082698 87.818418 344.163534 88.981783 +Q 344.243415 90.143912 343.27247 90.893392 +Q 342.302761 91.641918 341.19875 91.270324 +Q 340.093783 90.897494 338.969085 89.440458 +Q 337.841523 87.979711 337.761642 86.817582 +Q 337.680806 85.654217 338.650514 84.905691 +z +M 345.794127 87.200044 +L 346.610463 86.569907 +L 347.368537 87.551984 +L 346.5522 88.182121 +z +M 346.680545 79.694171 +Q 346.078188 80.159136 346.232198 80.987704 +Q 346.38649 81.81408 347.305917 83.005189 +Q 348.221524 84.19135 348.982839 84.551134 +Q 349.745391 84.909964 350.347748 84.445 +Q 350.955053 83.976216 350.799805 83.148603 +Q 350.645795 82.320035 349.730188 81.133874 +Q 348.810761 79.942766 348.049164 79.585173 +Q 347.287849 79.225388 346.680545 79.694171 +z +M 346.203169 79.075735 +Q 347.174114 78.326254 348.27908 78.699085 +Q 349.383092 79.070679 350.510654 80.531425 +Q 351.635353 81.988462 351.716188 83.151827 +Q 351.796069 84.313956 350.825124 85.063436 +Q 349.855416 85.811962 348.751404 85.440368 +Q 347.646438 85.067538 346.52174 83.610502 +Q 345.394177 82.149755 345.314296 80.987626 +Q 345.23346 79.824261 346.203169 79.075735 +z +M 351.716936 75.806539 +Q 351.114579 76.271504 351.268589 77.100072 +Q 351.422882 77.926448 352.342308 79.117557 +Q 353.257916 80.303718 354.019231 80.663502 +Q 354.781783 81.022332 355.38414 80.557368 +Q 355.991444 80.088584 355.836197 79.260971 +Q 355.682187 78.432403 354.766579 77.246242 +Q 353.847153 76.055134 353.085556 75.697541 +Q 352.324241 75.337756 351.716936 75.806539 +z +M 351.23956 75.188103 +Q 352.210505 74.438622 353.315472 74.811453 +Q 354.419483 75.183047 355.547046 76.643793 +Q 356.671744 78.10083 356.75258 79.264195 +Q 356.832461 80.426324 355.861516 81.175804 +Q 354.891807 81.92433 353.787796 81.552736 +Q 352.682829 81.179906 351.558131 79.72287 +Q 350.430569 78.262123 350.350688 77.099994 +Q 350.269852 75.936629 351.23956 75.188103 +z +M 356.753328 71.918907 +Q 356.15097 72.383872 356.304981 73.21244 +Q 356.459273 74.038816 357.3787 75.229925 +Q 358.294307 76.416086 359.055622 76.77587 +Q 359.818174 77.1347 360.420531 76.669736 +Q 361.027836 76.200953 360.872588 75.373339 +Q 360.718578 74.544771 359.802971 73.35861 +Q 358.883544 72.167502 358.121947 71.809909 +Q 357.360632 71.450124 356.753328 71.918907 +z +M 356.275951 71.300471 +Q 357.246897 70.550991 358.351863 70.923821 +Q 359.455875 71.295415 360.583437 72.756162 +Q 361.708135 74.213198 361.788971 75.376563 +Q 361.868852 76.538692 360.897907 77.288172 +Q 359.928199 78.036698 358.824187 77.665104 +Q 357.719221 77.292274 356.594522 75.835238 +Q 355.46696 74.374491 355.387079 73.212362 +Q 355.306243 72.048997 356.275951 71.300471 z " style="fill:#ffffff;"/> - </g> - <g id="text_30"> - <g id="patch_79"> - <path clip-path="url(#p826a730be7)" d="M 87.022916 75.572775 -L 87.184532 76.835265 -L 88.417421 76.650765 -L 89.650309 76.466266 -L 89.782324 77.705873 -L 89.914339 78.94548 -L 91.147227 78.76098 -L 92.380116 78.576481 -L 92.512131 79.816088 -L 92.644146 81.055695 -L 93.877034 80.871195 -L 95.109923 80.686696 -L 95.241938 81.926303 -L 95.373953 83.165909 -L 96.606841 82.98141 -L 97.839729 82.79691 -L 97.971745 84.036517 -L 98.10376 85.276124 -L 99.336648 85.091625 -L 100.569536 84.907125 -L 100.701552 86.146732 -L 100.833567 87.386339 -L 102.066455 87.20184 -L 103.299343 87.01734 -L 103.431359 88.256947 -L 103.563374 89.496554 -L 104.796262 89.312054 -L 106.02915 89.127555 -L 106.161165 90.367162 -L 106.293181 91.606769 -L 107.526069 91.422269 -L 108.758957 91.23777 -L 108.890972 92.477377 -L 109.022988 93.716984 -L 110.255876 93.532484 -L 111.488764 93.347985 -L 111.620779 94.587592 -L 111.752795 95.827198 -L 112.985683 95.642699 -L 114.218571 95.4582 -L 114.350586 96.697806 -L 114.482601 97.937413 -L 115.71549 97.752914 -L 116.948378 97.568414 -L 117.080393 98.808021 -L 117.212408 100.047628 -L 118.474898 99.886011 -L 119.737388 99.724395 -L 119.606876 98.421667 -L 119.476365 97.118939 -L 120.76996 96.917083 -L 122.063555 96.715228 -L 121.933044 95.4125 -L 121.802532 94.109772 -L 123.096127 93.907917 -L 124.389722 93.706062 -L 124.259211 92.403334 -L 124.128699 91.100606 -L 125.422294 90.898751 -L 126.715889 90.696895 -L 126.585378 89.394167 -L 126.454867 88.091439 -L 127.748462 87.889584 -L 129.042057 87.687729 -L 128.88044 86.425239 -L 128.718823 85.16275 -L 127.485935 85.347249 -L 126.253047 85.531749 -L 126.121032 84.292142 -L 125.989016 83.052535 -L 124.756128 83.237034 -L 123.52324 83.421534 -L 123.391225 82.181927 -L 123.25921 80.94232 -L 122.026321 81.12682 -L 120.793433 81.311319 -L 120.661418 80.071712 -L 120.529403 78.832105 -L 119.296514 79.016605 -L 118.063626 79.201104 -L 117.931611 77.961497 -L 117.799596 76.72189 -L 116.566708 76.90639 -L 115.333819 77.090889 -L 115.201804 75.851283 -L 115.069789 74.611676 -L 113.836901 74.796175 -L 112.604012 74.980675 -L 112.471997 73.741068 -L 112.339982 72.501461 -L 111.107094 72.68596 -L 109.874206 72.87046 -L 109.74219 71.630853 -L 109.610175 70.391246 -L 108.377287 70.575745 -L 107.144399 70.760245 -L 107.012383 69.520638 -L 106.880368 68.281031 -L 105.64748 68.465531 -L 104.414592 68.65003 -L 104.282576 67.410423 -L 104.150561 66.170816 -L 102.917673 66.355316 -L 101.684785 66.539815 -L 101.55277 65.300208 -L 101.420754 64.060601 -L 100.187866 64.245101 -L 98.954978 64.4296 -L 98.822963 63.189993 -L 98.690947 61.950387 -L 97.428458 62.112003 -L 96.165968 62.27362 -L 96.29648 63.576348 -L 96.426991 64.879076 -L 95.133396 65.080931 -L 93.839801 65.282786 -L 93.970312 66.585515 -L 94.100824 67.888243 -L 92.807229 68.090098 -L 91.513634 68.291953 -L 91.644145 69.594681 -L 91.774656 70.897409 -L 90.481061 71.099264 -L 89.187466 71.301119 -L 89.317978 72.603847 -L 89.448489 73.906575 -L 88.154894 74.108431 -L 86.861299 74.310286 + </g> + <g id="text_30"> + <g id="patch_80"> + <path clip-path="url(#pedd1dac049)" d="M 68.846109 66.353544 +L 68.998717 67.403168 +L 70.023351 67.231915 +L 71.047986 67.060662 +L 71.175604 68.091641 +L 71.303222 69.122619 +L 72.327857 68.951366 +L 73.352491 68.780113 +L 73.48011 69.811092 +L 73.607728 70.842071 +L 74.632362 70.670818 +L 75.656997 70.499564 +L 75.784615 71.530543 +L 75.912233 72.561522 +L 76.936868 72.390269 +L 77.961503 72.219016 +L 78.089121 73.249994 +L 78.216739 74.280973 +L 79.241374 74.10972 +L 80.266008 73.938467 +L 80.393626 74.969446 +L 80.521245 76.000424 +L 81.545879 75.829171 +L 82.570514 75.657918 +L 82.698132 76.688897 +L 82.82575 77.719876 +L 83.850385 77.548622 +L 84.875019 77.377369 +L 85.002638 78.408348 +L 85.130256 79.439327 +L 86.15489 79.268074 +L 87.179525 79.09682 +L 87.307143 80.127799 +L 87.434762 81.158778 +L 88.459396 80.987525 +L 89.484031 80.816272 +L 89.611649 81.84725 +L 89.739267 82.878229 +L 90.763902 82.706976 +L 91.788536 82.535723 +L 91.916155 83.566702 +L 92.043773 84.59768 +L 93.068407 84.426427 +L 94.093042 84.255174 +L 94.22066 85.286153 +L 94.348278 86.317132 +L 95.397902 86.164524 +L 96.447527 86.011916 +L 96.320264 84.928323 +L 96.193002 83.844729 +L 97.267971 83.658152 +L 98.342941 83.471575 +L 98.215678 82.387981 +L 98.088416 81.304388 +L 99.163386 81.117811 +L 100.238355 80.931234 +L 100.111093 79.84764 +L 99.98383 78.764047 +L 101.0588 78.57747 +L 102.133769 78.390893 +L 102.006507 77.307299 +L 101.879244 76.223706 +L 102.954214 76.037128 +L 104.029184 75.850551 +L 103.876576 74.800927 +L 103.723968 73.751303 +L 102.699333 73.922556 +L 101.674699 74.093809 +L 101.547081 73.062831 +L 101.419462 72.031852 +L 100.394828 72.203105 +L 99.370193 72.374358 +L 99.242575 71.343379 +L 99.114957 70.312401 +L 98.090322 70.483654 +L 97.065688 70.654907 +L 96.938069 69.623928 +L 96.810451 68.592949 +L 95.785817 68.764203 +L 94.761182 68.935456 +L 94.633564 67.904477 +L 94.505945 66.873498 +L 93.481311 67.044751 +L 92.456676 67.216005 +L 92.329058 66.185026 +L 92.20144 65.154047 +L 91.176805 65.3253 +L 90.152171 65.496553 +L 90.024553 64.465575 +L 89.896934 63.434596 +L 88.8723 63.605849 +L 87.847665 63.777102 +L 87.720047 62.746123 +L 87.592429 61.715145 +L 86.567794 61.886398 +L 85.54316 62.057651 +L 85.415541 61.026672 +L 85.287923 59.995693 +L 84.263288 60.166946 +L 83.238654 60.3382 +L 83.111036 59.307221 +L 82.983417 58.276242 +L 81.958783 58.447495 +L 80.934148 58.618748 +L 80.80653 57.58777 +L 80.678912 56.556791 +L 79.654277 56.728044 +L 78.629643 56.899297 +L 78.502024 55.868318 +L 78.374406 54.83734 +L 77.324782 54.989947 +L 76.275158 55.142555 +L 76.40242 56.226149 +L 76.529683 57.309742 +L 75.454713 57.496319 +L 74.379744 57.682896 +L 74.507006 58.76649 +L 74.634269 59.850083 +L 73.559299 60.03666 +L 72.484329 60.223238 +L 72.611592 61.306831 +L 72.738854 62.390425 +L 71.663885 62.577002 +L 70.588915 62.763579 +L 70.716178 63.847172 +L 70.84344 64.930766 +L 69.768471 65.117343 +L 68.693501 65.30392 z " style="fill:none;stroke:#0000ff;stroke-linejoin:miter;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 100.22768 69.141298 -Q 99.505243 68.582834 98.589879 69.012789 -Q 97.677146 69.442406 96.572833 70.870963 -Q 95.473106 72.293586 95.286114 73.286591 -Q 95.100605 74.280743 95.823042 74.839207 -Q 96.551413 75.402257 97.465293 74.971156 -Q 98.380657 74.541202 99.480383 73.118579 -Q 100.584696 71.690022 100.769059 70.697354 -Q 100.956051 69.704348 100.22768 69.141298 -z -M 100.801051 68.399576 -Q 101.965555 69.299769 101.867574 70.695739 -Q 101.770739 72.090226 100.416436 73.842173 -Q 99.065574 75.58967 97.739301 76.036138 -Q 96.414174 76.481122 95.249671 75.580929 -Q 94.08665 74.681883 94.183485 73.287396 -Q 94.281466 71.891426 95.632329 70.143928 -Q 96.986632 68.391981 98.311758 67.946997 -Q 99.638031 67.50053 100.801051 68.399576 -z -M 100.302287 77.389371 -L 101.28136 78.146221 -L 100.370847 79.324075 -L 99.391774 78.567225 -z -M 109.285961 76.143595 -Q 108.563524 75.585131 107.64816 76.015086 -Q 106.735426 76.444703 105.631113 77.87326 -Q 104.531387 79.295883 104.344394 80.288888 -Q 104.158885 81.28304 104.881323 81.841504 -Q 105.609694 82.404554 106.523574 81.973453 -Q 107.438938 81.543498 108.538664 80.120875 -Q 109.642977 78.692319 109.827339 77.69965 -Q 110.014332 76.706645 109.285961 76.143595 -z -M 109.859332 75.401873 -Q 111.023836 76.302066 110.925854 77.698036 -Q 110.82902 79.092523 109.474717 80.84447 -Q 108.123854 82.591967 106.797581 83.038435 -Q 105.472455 83.483419 104.307951 82.583226 -Q 103.144931 81.684179 103.241766 80.289693 -Q 103.339747 78.893722 104.69061 77.146225 -Q 106.044913 75.394278 107.370039 74.949294 -Q 108.696312 74.502826 109.859332 75.401873 -z -M 115.32636 80.812987 -Q 114.603923 80.254523 113.688559 80.684478 -Q 112.775825 81.114096 111.671512 82.542652 -Q 110.571786 83.965275 110.384794 84.95828 -Q 110.199284 85.952432 110.921722 86.510896 -Q 111.650093 87.073947 112.563973 86.642845 -Q 113.479337 86.212891 114.579063 84.790268 -Q 115.683376 83.361711 115.867738 82.369043 -Q 116.054731 81.376038 115.32636 80.812987 -z -M 115.899731 80.071265 -Q 117.064235 80.971458 116.966254 82.367428 -Q 116.869419 83.761915 115.515116 85.513862 -Q 114.164253 87.26136 112.83798 87.707827 -Q 111.512854 88.152811 110.34835 87.252618 -Q 109.18533 86.353572 109.282165 84.959085 -Q 109.380146 83.563115 110.731009 81.815618 -Q 112.085312 80.06367 113.410438 79.618686 -Q 114.736711 79.172219 115.899731 80.071265 -z -M 121.366759 85.48238 -Q 120.644322 84.923916 119.728958 85.35387 -Q 118.816224 85.783488 117.711911 87.212045 -Q 116.612185 88.634668 116.425193 89.627673 -Q 116.239683 90.621825 116.962121 91.180288 -Q 117.690492 91.743339 118.604372 91.312238 -Q 119.519736 90.882283 120.619462 89.45966 -Q 121.723775 88.031104 121.908137 87.038435 -Q 122.09513 86.04543 121.366759 85.48238 -z -M 121.94013 84.740657 -Q 123.104634 85.64085 123.006653 87.036821 -Q 122.909818 88.431307 121.555515 90.183255 -Q 120.204652 91.930752 118.878379 92.377219 -Q 117.553253 92.822203 116.388749 91.92201 -Q 115.225729 91.022964 115.322564 89.628477 -Q 115.420545 88.232507 116.771408 86.48501 -Q 118.125711 84.733063 119.450837 84.288079 -Q 120.77711 83.841611 121.94013 84.740657 + </g> + <path clip-path="url(#pedd1dac049)" d="M 79.757052 60.807049 +Q 79.14717 60.352 78.39059 60.723255 +Q 77.636196 61.094193 76.736377 62.300182 +Q 75.840295 63.501161 75.698606 64.331203 +Q 75.55817 65.16218 76.168052 65.617229 +Q 76.782944 66.076015 77.538272 65.703825 +Q 78.294852 65.33257 79.190934 64.13159 +Q 80.090753 62.925601 80.230255 62.095877 +Q 80.371944 61.265835 79.757052 60.807049 +z +M 80.224248 60.180886 +Q 81.207323 60.914384 81.145528 62.078916 +Q 81.084668 63.242196 79.981151 64.721191 +Q 78.880437 66.19643 77.781717 66.587286 +Q 76.683931 66.976889 75.700856 66.243391 +Q 74.719034 65.510828 74.779894 64.347548 +Q 74.841689 63.183016 75.942403 61.707777 +Q 77.04592 60.228781 78.143705 59.839178 +Q 79.242425 59.448323 80.224248 60.180886 +z +M 79.936465 67.678382 +L 80.763 68.295081 +L 80.021092 69.289427 +L 79.194558 68.672728 +z +M 87.404061 66.51268 +Q 86.794179 66.057631 86.037599 66.428886 +Q 85.283206 66.799824 84.383386 68.005813 +Q 83.487304 69.206793 83.345616 70.036835 +Q 83.205179 70.867811 83.815062 71.32286 +Q 84.429953 71.781646 85.185281 71.409457 +Q 85.941861 71.038201 86.837943 69.837221 +Q 87.737763 68.631232 87.877264 67.801508 +Q 88.018953 66.971466 87.404061 66.51268 +z +M 87.871257 65.886517 +Q 88.854332 66.620015 88.792538 67.784547 +Q 88.731677 68.947827 87.62816 70.426823 +Q 86.527446 71.902062 85.428726 72.292917 +Q 84.330941 72.68252 83.347866 71.949022 +Q 82.366043 71.216459 82.426903 70.053179 +Q 82.488698 68.888647 83.589412 67.413408 +Q 84.692929 65.934413 85.790715 65.544809 +Q 86.889435 65.153954 87.871257 65.886517 +z +M 92.503372 70.317407 +Q 91.89349 69.862358 91.13691 70.233614 +Q 90.382516 70.604552 89.482697 71.810541 +Q 88.586615 73.01152 88.444926 73.841562 +Q 88.30449 74.672539 88.914372 75.127588 +Q 89.529264 75.586374 90.284592 75.214184 +Q 91.041172 74.842929 91.937254 73.641949 +Q 92.837073 72.43596 92.976575 71.606236 +Q 93.118264 70.776194 92.503372 70.317407 +z +M 92.970568 69.691245 +Q 93.953643 70.424743 93.891848 71.589275 +Q 93.830988 72.752554 92.727471 74.23155 +Q 91.626757 75.706789 90.528037 76.097645 +Q 89.430251 76.487248 88.447176 75.75375 +Q 87.465353 75.021187 87.526214 73.857907 +Q 87.588009 72.693375 88.688723 71.218136 +Q 89.79224 69.73914 90.890025 69.349537 +Q 91.988745 68.958682 92.970568 69.691245 +z +M 97.602683 74.122135 +Q 96.9928 73.667086 96.23622 74.038342 +Q 95.481827 74.409279 94.582007 75.615268 +Q 93.685925 76.816248 93.544237 77.64629 +Q 93.403801 78.477266 94.013683 78.932315 +Q 94.628575 79.391102 95.383902 79.018912 +Q 96.140482 78.647656 97.036564 77.446676 +Q 97.936384 76.240687 98.075886 75.410963 +Q 98.217574 74.580921 97.602683 74.122135 +z +M 98.069879 73.495972 +Q 99.052954 74.22947 98.991159 75.394002 +Q 98.930298 76.557282 97.826781 78.036278 +Q 96.726068 79.511517 95.627348 79.902372 +Q 94.529562 80.291975 93.546487 79.558478 +Q 92.564664 78.825914 92.625525 77.662634 +Q 92.68732 76.498102 93.788033 75.022864 +Q 94.89155 73.543868 95.989336 73.154265 +Q 97.088056 72.763409 98.069879 73.495972 z " style="fill:#ffffff;stroke:#000000;stroke-width:3;"/> - <path clip-path="url(#p826a730be7)" d="M 100.22768 69.141298 -Q 99.505243 68.582834 98.589879 69.012789 -Q 97.677146 69.442406 96.572833 70.870963 -Q 95.473106 72.293586 95.286114 73.286591 -Q 95.100605 74.280743 95.823042 74.839207 -Q 96.551413 75.402257 97.465293 74.971156 -Q 98.380657 74.541202 99.480383 73.118579 -Q 100.584696 71.690022 100.769059 70.697354 -Q 100.956051 69.704348 100.22768 69.141298 -z -M 100.801051 68.399576 -Q 101.965555 69.299769 101.867574 70.695739 -Q 101.770739 72.090226 100.416436 73.842173 -Q 99.065574 75.58967 97.739301 76.036138 -Q 96.414174 76.481122 95.249671 75.580929 -Q 94.08665 74.681883 94.183485 73.287396 -Q 94.281466 71.891426 95.632329 70.143928 -Q 96.986632 68.391981 98.311758 67.946997 -Q 99.638031 67.50053 100.801051 68.399576 -z -M 100.302287 77.389371 -L 101.28136 78.146221 -L 100.370847 79.324075 -L 99.391774 78.567225 -z -M 109.285961 76.143595 -Q 108.563524 75.585131 107.64816 76.015086 -Q 106.735426 76.444703 105.631113 77.87326 -Q 104.531387 79.295883 104.344394 80.288888 -Q 104.158885 81.28304 104.881323 81.841504 -Q 105.609694 82.404554 106.523574 81.973453 -Q 107.438938 81.543498 108.538664 80.120875 -Q 109.642977 78.692319 109.827339 77.69965 -Q 110.014332 76.706645 109.285961 76.143595 -z -M 109.859332 75.401873 -Q 111.023836 76.302066 110.925854 77.698036 -Q 110.82902 79.092523 109.474717 80.84447 -Q 108.123854 82.591967 106.797581 83.038435 -Q 105.472455 83.483419 104.307951 82.583226 -Q 103.144931 81.684179 103.241766 80.289693 -Q 103.339747 78.893722 104.69061 77.146225 -Q 106.044913 75.394278 107.370039 74.949294 -Q 108.696312 74.502826 109.859332 75.401873 -z -M 115.32636 80.812987 -Q 114.603923 80.254523 113.688559 80.684478 -Q 112.775825 81.114096 111.671512 82.542652 -Q 110.571786 83.965275 110.384794 84.95828 -Q 110.199284 85.952432 110.921722 86.510896 -Q 111.650093 87.073947 112.563973 86.642845 -Q 113.479337 86.212891 114.579063 84.790268 -Q 115.683376 83.361711 115.867738 82.369043 -Q 116.054731 81.376038 115.32636 80.812987 -z -M 115.899731 80.071265 -Q 117.064235 80.971458 116.966254 82.367428 -Q 116.869419 83.761915 115.515116 85.513862 -Q 114.164253 87.26136 112.83798 87.707827 -Q 111.512854 88.152811 110.34835 87.252618 -Q 109.18533 86.353572 109.282165 84.959085 -Q 109.380146 83.563115 110.731009 81.815618 -Q 112.085312 80.06367 113.410438 79.618686 -Q 114.736711 79.172219 115.899731 80.071265 -z -M 121.366759 85.48238 -Q 120.644322 84.923916 119.728958 85.35387 -Q 118.816224 85.783488 117.711911 87.212045 -Q 116.612185 88.634668 116.425193 89.627673 -Q 116.239683 90.621825 116.962121 91.180288 -Q 117.690492 91.743339 118.604372 91.312238 -Q 119.519736 90.882283 120.619462 89.45966 -Q 121.723775 88.031104 121.908137 87.038435 -Q 122.09513 86.04543 121.366759 85.48238 -z -M 121.94013 84.740657 -Q 123.104634 85.64085 123.006653 87.036821 -Q 122.909818 88.431307 121.555515 90.183255 -Q 120.204652 91.930752 118.878379 92.377219 -Q 117.553253 92.822203 116.388749 91.92201 -Q 115.225729 91.022964 115.322564 89.628477 -Q 115.420545 88.232507 116.771408 86.48501 -Q 118.125711 84.733063 119.450837 84.288079 -Q 120.77711 83.841611 121.94013 84.740657 + <path clip-path="url(#pedd1dac049)" d="M 79.757052 60.807049 +Q 79.14717 60.352 78.39059 60.723255 +Q 77.636196 61.094193 76.736377 62.300182 +Q 75.840295 63.501161 75.698606 64.331203 +Q 75.55817 65.16218 76.168052 65.617229 +Q 76.782944 66.076015 77.538272 65.703825 +Q 78.294852 65.33257 79.190934 64.13159 +Q 80.090753 62.925601 80.230255 62.095877 +Q 80.371944 61.265835 79.757052 60.807049 +z +M 80.224248 60.180886 +Q 81.207323 60.914384 81.145528 62.078916 +Q 81.084668 63.242196 79.981151 64.721191 +Q 78.880437 66.19643 77.781717 66.587286 +Q 76.683931 66.976889 75.700856 66.243391 +Q 74.719034 65.510828 74.779894 64.347548 +Q 74.841689 63.183016 75.942403 61.707777 +Q 77.04592 60.228781 78.143705 59.839178 +Q 79.242425 59.448323 80.224248 60.180886 +z +M 79.936465 67.678382 +L 80.763 68.295081 +L 80.021092 69.289427 +L 79.194558 68.672728 +z +M 87.404061 66.51268 +Q 86.794179 66.057631 86.037599 66.428886 +Q 85.283206 66.799824 84.383386 68.005813 +Q 83.487304 69.206793 83.345616 70.036835 +Q 83.205179 70.867811 83.815062 71.32286 +Q 84.429953 71.781646 85.185281 71.409457 +Q 85.941861 71.038201 86.837943 69.837221 +Q 87.737763 68.631232 87.877264 67.801508 +Q 88.018953 66.971466 87.404061 66.51268 +z +M 87.871257 65.886517 +Q 88.854332 66.620015 88.792538 67.784547 +Q 88.731677 68.947827 87.62816 70.426823 +Q 86.527446 71.902062 85.428726 72.292917 +Q 84.330941 72.68252 83.347866 71.949022 +Q 82.366043 71.216459 82.426903 70.053179 +Q 82.488698 68.888647 83.589412 67.413408 +Q 84.692929 65.934413 85.790715 65.544809 +Q 86.889435 65.153954 87.871257 65.886517 +z +M 92.503372 70.317407 +Q 91.89349 69.862358 91.13691 70.233614 +Q 90.382516 70.604552 89.482697 71.810541 +Q 88.586615 73.01152 88.444926 73.841562 +Q 88.30449 74.672539 88.914372 75.127588 +Q 89.529264 75.586374 90.284592 75.214184 +Q 91.041172 74.842929 91.937254 73.641949 +Q 92.837073 72.43596 92.976575 71.606236 +Q 93.118264 70.776194 92.503372 70.317407 +z +M 92.970568 69.691245 +Q 93.953643 70.424743 93.891848 71.589275 +Q 93.830988 72.752554 92.727471 74.23155 +Q 91.626757 75.706789 90.528037 76.097645 +Q 89.430251 76.487248 88.447176 75.75375 +Q 87.465353 75.021187 87.526214 73.857907 +Q 87.588009 72.693375 88.688723 71.218136 +Q 89.79224 69.73914 90.890025 69.349537 +Q 91.988745 68.958682 92.970568 69.691245 +z +M 97.602683 74.122135 +Q 96.9928 73.667086 96.23622 74.038342 +Q 95.481827 74.409279 94.582007 75.615268 +Q 93.685925 76.816248 93.544237 77.64629 +Q 93.403801 78.477266 94.013683 78.932315 +Q 94.628575 79.391102 95.383902 79.018912 +Q 96.140482 78.647656 97.036564 77.446676 +Q 97.936384 76.240687 98.075886 75.410963 +Q 98.217574 74.580921 97.602683 74.122135 +z +M 98.069879 73.495972 +Q 99.052954 74.22947 98.991159 75.394002 +Q 98.930298 76.557282 97.826781 78.036278 +Q 96.726068 79.511517 95.627348 79.902372 +Q 94.529562 80.291975 93.546487 79.558478 +Q 92.564664 78.825914 92.625525 77.662634 +Q 92.68732 76.498102 93.788033 75.022864 +Q 94.89155 73.543868 95.989336 73.154265 +Q 97.088056 72.763409 98.069879 73.495972 z " style="fill:#ffffff;"/> - </g> - <g id="text_31"> - <g id="patch_80"> - <path clip-path="url(#p826a730be7)" d="M 354.806092 65.67798 -L 354.966317 66.940647 -L 356.199408 66.757506 -L 357.432499 66.574365 -L 357.563148 67.814117 -L 357.693797 69.053869 -L 358.926888 68.870728 -L 360.159979 68.687587 -L 360.290628 69.927339 -L 360.421277 71.16709 -L 361.654368 70.98395 -L 362.887458 70.800809 -L 363.018107 72.040561 -L 363.148757 73.280312 -L 364.381847 73.097172 -L 365.614938 72.914031 -L 365.745587 74.153783 -L 365.876236 75.393534 -L 367.109327 75.210394 -L 368.342418 75.027253 -L 368.473067 76.267005 -L 368.603716 77.506756 -L 369.836807 77.323615 -L 371.069897 77.140475 -L 371.200547 78.380226 -L 371.331196 79.619978 -L 372.564286 79.436837 -L 373.797377 79.253697 -L 373.928026 80.493448 -L 374.058675 81.7332 -L 375.291766 81.550059 -L 376.524857 81.366919 -L 376.655506 82.60667 -L 376.786155 83.846422 -L 378.019246 83.663281 -L 379.252337 83.480141 -L 379.382986 84.719892 -L 379.513635 85.959644 -L 380.746726 85.776503 -L 381.979816 85.593362 -L 382.110465 86.833114 -L 382.241114 88.072866 -L 383.474205 87.889725 -L 384.707296 87.706584 -L 384.837945 88.946336 -L 384.968594 90.186088 -L 386.231261 90.025862 -L 387.493928 89.865637 -L 387.364853 88.562766 -L 387.235777 87.259895 -L 388.529594 87.059465 -L 389.82341 86.859036 -L 389.694335 85.556165 -L 389.565259 84.253294 -L 390.859076 84.052864 -L 392.152892 83.852435 -L 392.023817 82.549564 -L 391.894741 81.246693 -L 393.188558 81.046263 -L 394.482374 80.845834 -L 394.353299 79.542963 -L 394.224223 78.240092 -L 395.51804 78.039662 -L 396.811857 77.839233 -L 396.651631 76.576566 -L 396.491406 75.313899 -L 395.258315 75.49704 -L 394.025224 75.68018 -L 393.894575 74.440429 -L 393.763926 73.200677 -L 392.530835 73.383818 -L 391.297745 73.566958 -L 391.167096 72.327207 -L 391.036447 71.087455 -L 389.803356 71.270596 -L 388.570265 71.453736 -L 388.439616 70.213985 -L 388.308967 68.974233 -L 387.075876 69.157374 -L 385.842785 69.340514 -L 385.712136 68.100763 -L 385.581487 66.861011 -L 384.348396 67.044152 -L 383.115306 67.227293 -L 382.984657 65.987541 -L 382.854007 64.747789 -L 381.620917 64.93093 -L 380.387826 65.114071 -L 380.257177 63.874319 -L 380.126528 62.634567 -L 378.893437 62.817708 -L 377.660346 63.000849 -L 377.529697 61.761097 -L 377.399048 60.521345 -L 376.165957 60.704486 -L 374.932867 60.887627 -L 374.802217 59.647875 -L 374.671568 58.408124 -L 373.438478 58.591264 -L 372.205387 58.774405 -L 372.074738 57.534653 -L 371.944089 56.294902 -L 370.710998 56.478042 -L 369.477907 56.661183 -L 369.347258 55.421431 -L 369.216609 54.18168 -L 367.983518 54.36482 -L 366.750427 54.547961 -L 366.619778 53.308209 -L 366.489129 52.068458 -L 365.226462 52.228683 -L 363.963795 52.388908 -L 364.092871 53.69178 -L 364.221946 54.994651 -L 362.92813 55.19508 -L 361.634313 55.39551 -L 361.763389 56.698381 -L 361.892464 58.001252 -L 360.598648 58.201681 -L 359.304831 58.402111 -L 359.433907 59.704982 -L 359.562982 61.007853 -L 358.269166 61.208282 -L 356.975349 61.408712 -L 357.104425 62.711583 -L 357.2335 64.014454 -L 355.939683 64.214883 -L 354.645867 64.415313 + </g> + <g id="text_31"> + <g id="patch_81"> + <path clip-path="url(#pedd1dac049)" d="M 291.543697 301.665646 +L 292.593294 301.818445 +L 292.721099 300.787489 +L 292.848905 299.756533 +L 293.873508 299.927973 +L 294.898112 300.099412 +L 295.025917 299.068457 +L 295.153723 298.037501 +L 296.178326 298.20894 +L 297.20293 298.38038 +L 297.330735 297.349424 +L 297.458541 296.318468 +L 298.483144 296.489908 +L 299.507748 296.661347 +L 299.635553 295.630392 +L 299.763359 294.599436 +L 300.787962 294.770875 +L 301.812566 294.942315 +L 301.940371 293.911359 +L 302.068177 292.880403 +L 303.09278 293.051843 +L 304.117384 293.223282 +L 304.245189 292.192327 +L 304.372995 291.161371 +L 305.397598 291.33281 +L 306.422202 291.50425 +L 306.550007 290.473294 +L 306.677813 289.442339 +L 307.702416 289.613778 +L 308.72702 289.785217 +L 308.854825 288.754262 +L 308.982631 287.723306 +L 310.007234 287.894745 +L 311.031837 288.066185 +L 311.159643 287.035229 +L 311.287449 286.004274 +L 312.312052 286.175713 +L 313.336655 286.347152 +L 313.464461 285.316197 +L 313.592267 284.285241 +L 314.61687 284.45668 +L 315.641473 284.62812 +L 315.769279 283.597164 +L 315.897085 282.566209 +L 316.921688 282.737648 +L 317.946291 282.909087 +L 318.09909 281.859491 +L 318.251888 280.809894 +L 317.176953 280.623122 +L 316.102017 280.43635 +L 316.229476 279.352779 +L 316.356936 278.269209 +L 315.282 278.082436 +L 314.207065 277.895664 +L 314.334524 276.812094 +L 314.461983 275.728523 +L 313.387048 275.541751 +L 312.312112 275.354979 +L 312.439571 274.271408 +L 312.56703 273.187838 +L 311.492095 273.001065 +L 310.417159 272.814293 +L 310.544619 271.730723 +L 310.672078 270.647152 +L 309.622481 270.494354 +L 308.572885 270.341555 +L 308.445079 271.372511 +L 308.317274 272.403467 +L 307.29267 272.232027 +L 306.268067 272.060588 +L 306.140262 273.091543 +L 306.012456 274.122499 +L 304.987853 273.95106 +L 303.963249 273.77962 +L 303.835444 274.810576 +L 303.707638 275.841532 +L 302.683035 275.670092 +L 301.658431 275.498653 +L 301.530626 276.529608 +L 301.40282 277.560564 +L 300.378217 277.389125 +L 299.353613 277.217685 +L 299.225808 278.248641 +L 299.098002 279.279597 +L 298.073399 279.108157 +L 297.048795 278.936718 +L 296.92099 279.967673 +L 296.793184 280.998629 +L 295.768581 280.82719 +L 294.743977 280.65575 +L 294.616172 281.686706 +L 294.488366 282.717661 +L 293.463763 282.546222 +L 292.439159 282.374783 +L 292.311354 283.405738 +L 292.183548 284.436694 +L 291.158945 284.265255 +L 290.134341 284.093815 +L 290.006536 285.124771 +L 289.87873 286.155726 +L 288.854127 285.984287 +L 287.829523 285.812848 +L 287.701718 286.843803 +L 287.573912 287.874759 +L 286.549309 287.70332 +L 285.524705 287.53188 +L 285.3969 288.562836 +L 285.269094 289.593791 +L 284.244491 289.422352 +L 283.219887 289.250913 +L 283.067089 290.300509 +L 282.91429 291.350106 +L 283.989226 291.536878 +L 285.064162 291.72365 +L 284.936702 292.807221 +L 284.809243 293.890791 +L 285.884179 294.077564 +L 286.959114 294.264336 +L 286.831655 295.347906 +L 286.704196 296.431477 +L 287.779131 296.618249 +L 288.854067 296.805021 +L 288.726608 297.888592 +L 288.599148 298.972162 +L 289.674084 299.158935 +L 290.749019 299.345707 +L 290.62156 300.429277 +L 290.494101 301.512848 z " style="fill:none;stroke:#0000ff;stroke-linejoin:miter;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 368.017936 59.261058 -Q 367.296115 58.701799 366.380278 59.130744 -Q 365.467072 59.559356 364.361185 60.986695 -Q 363.259892 62.408105 363.071805 63.400903 -Q 362.8852 64.39485 363.607021 64.95411 -Q 364.334772 65.517963 365.249126 65.087869 -Q 366.164963 64.658923 367.266257 63.237513 -Q 368.372143 61.810174 368.5576 60.81771 -Q 368.745686 59.824911 368.017936 59.261058 -z -M 368.592125 58.519969 -Q 369.755636 59.421444 369.656116 60.817306 -Q 369.557745 62.211685 368.201512 63.962139 -Q 366.848724 65.708146 365.52196 66.153152 -Q 364.196344 66.596675 363.032833 65.695199 -Q 361.870804 64.794872 361.969176 63.400493 -Q 362.068695 62.004631 363.421483 60.258624 -Q 364.777716 58.50817 366.103332 58.064647 -Q 367.430096 57.619641 368.592125 58.519969 -z -M 368.083454 67.509208 -L 369.061692 68.267137 -L 368.149881 69.443987 -L 367.171643 68.686059 -z -M 377.068495 66.273333 -Q 376.346673 65.714074 375.430836 66.143019 -Q 374.51763 66.571631 373.411743 67.99897 -Q 372.31045 69.42038 372.122363 70.413178 -Q 371.935758 71.407125 372.65758 71.966385 -Q 373.38533 72.530238 374.299685 72.100144 -Q 375.215522 71.671198 376.316815 70.249788 -Q 377.422702 68.822449 377.608158 67.829985 -Q 377.796245 66.837186 377.068495 66.273333 -z -M 377.642683 65.532244 -Q 378.806194 66.433719 378.706674 67.829581 -Q 378.608303 69.22396 377.25207 70.974414 -Q 375.899282 72.720421 374.572518 73.165427 -Q 373.246902 73.60895 372.083391 72.707474 -Q 370.921363 71.807147 371.019734 70.412768 -Q 371.119254 69.016907 372.472041 67.270899 -Q 373.828274 65.520445 375.15389 65.076922 -Q 376.480654 64.631916 377.642683 65.532244 -z -M 383.103744 70.94938 -Q 382.381923 70.39012 381.466086 70.819066 -Q 380.552879 71.247677 379.446993 72.675016 -Q 378.345699 74.096426 378.157613 75.089225 -Q 377.971008 76.083172 378.692829 76.642431 -Q 379.420579 77.206284 380.334934 76.77619 -Q 381.250771 76.347245 382.352064 74.925835 -Q 383.457951 73.498496 383.643407 72.506031 -Q 383.831494 71.513233 383.103744 70.94938 -z -M 383.677933 70.20829 -Q 384.841443 71.109766 384.741924 72.505627 -Q 384.643553 73.900006 383.28732 75.65046 -Q 381.934532 77.396468 380.607768 77.841473 -Q 379.282152 78.284997 378.118641 77.383521 -Q 376.956612 76.483194 377.054984 75.088814 -Q 377.154503 73.692953 378.507291 71.946945 -Q 379.863524 70.196492 381.18914 69.752968 -Q 382.515904 69.307963 383.677933 70.20829 -z -M 389.138994 75.625426 -Q 388.417172 75.066167 387.501335 75.495112 -Q 386.588129 75.923724 385.482242 77.351063 -Q 384.380949 78.772473 384.192862 79.765271 -Q 384.006257 80.759218 384.728079 81.318477 -Q 385.455829 81.88233 386.370184 81.452237 -Q 387.286021 81.023291 388.387314 79.601881 -Q 389.493201 78.174542 389.678657 77.182078 -Q 389.866744 76.189279 389.138994 75.625426 -z -M 389.713182 74.884336 -Q 390.876693 75.785812 390.777173 77.181673 -Q 390.678802 78.576053 389.322569 80.326507 -Q 387.969781 82.072514 386.643017 82.51752 -Q 385.317401 82.961043 384.153891 82.059567 -Q 382.991862 81.15924 383.090233 79.764861 -Q 383.189753 78.368999 384.54254 76.622992 -Q 385.898773 74.872538 387.224389 74.429015 -Q 388.551153 73.984009 389.713182 74.884336 + </g> + <path clip-path="url(#pedd1dac049)" d="M 289.336095 289.626593 +Q 288.72613 290.081532 288.866415 290.912533 +Q 289.007019 291.741349 289.906619 292.947501 +Q 290.802483 294.148644 291.557743 294.520971 +Q 292.314256 294.892364 292.924221 294.437426 +Q 293.539196 293.978751 293.397658 293.148683 +Q 293.257373 292.317681 292.361509 291.116539 +Q 291.461909 289.910386 290.70633 289.540246 +Q 289.95107 289.167919 289.336095 289.626593 +z +M 288.869013 289.000346 +Q 289.852221 288.267027 290.95087 288.658082 +Q 292.048585 289.047885 293.151833 290.527081 +Q 294.252279 292.00252 294.313862 293.167063 +Q 294.374511 294.330354 293.391303 295.063673 +Q 292.409347 295.796058 291.311632 295.406255 +Q 290.212983 295.0152 289.112538 293.539761 +Q 288.009289 292.060565 287.94864 290.897274 +Q 287.887057 289.732731 288.869013 289.000346 +z +M 295.973702 291.412536 +L 296.800348 290.795988 +L 297.542075 291.790468 +L 296.715428 292.407017 +z +M 296.984141 283.922352 +Q 296.374176 284.37729 296.514461 285.208292 +Q 296.655065 286.037107 297.554665 287.243259 +Q 298.450529 288.444402 299.205789 288.816729 +Q 299.962302 289.188122 300.572267 288.733184 +Q 301.187241 288.274509 301.045704 287.444441 +Q 300.905418 286.613439 300.009555 285.412297 +Q 299.109954 284.206144 298.354376 283.836004 +Q 297.599116 283.463677 296.984141 283.922352 +z +M 296.517059 283.296104 +Q 297.500267 282.562785 298.598916 282.95384 +Q 299.696631 283.343643 300.799879 284.822839 +Q 301.900325 286.298278 301.961908 287.462821 +Q 302.022557 288.626112 301.039349 289.359431 +Q 300.057393 290.091816 298.959678 289.702013 +Q 297.861029 289.310958 296.760583 287.83552 +Q 295.657335 286.356323 295.596686 285.193032 +Q 295.535103 284.028489 296.517059 283.296104 +z +M 302.084143 280.118551 +Q 301.474178 280.573489 301.614463 281.404491 +Q 301.755067 282.233306 302.654667 283.439458 +Q 303.550531 284.640601 304.305791 285.012928 +Q 305.062304 285.384321 305.672268 284.929383 +Q 306.287243 284.470708 306.145706 283.64064 +Q 306.00542 282.809638 305.109557 281.608496 +Q 304.209956 280.402343 303.454378 280.032203 +Q 302.699118 279.659876 302.084143 280.118551 +z +M 301.61706 279.492303 +Q 302.600269 278.758984 303.698918 279.150039 +Q 304.796633 279.539842 305.899881 281.019038 +Q 307.000327 282.494477 307.06191 283.65902 +Q 307.122559 284.822311 306.139351 285.55563 +Q 305.157395 286.288015 304.05968 285.898212 +Q 302.961031 285.507157 301.860585 284.031719 +Q 300.757337 282.552522 300.696688 281.389231 +Q 300.635105 280.224688 301.61706 279.492303 +z +M 307.184145 276.31475 +Q 306.57418 276.769688 306.714465 277.60069 +Q 306.855068 278.429505 307.754669 279.635657 +Q 308.650533 280.8368 309.405793 281.209127 +Q 310.162305 281.58052 310.77227 281.125582 +Q 311.387245 280.666907 311.245707 279.836839 +Q 311.105422 279.005837 310.209558 277.804695 +Q 309.309958 276.598542 308.55438 276.228402 +Q 307.799119 275.856075 307.184145 276.31475 +z +M 306.717062 275.688502 +Q 307.700271 274.955183 308.79892 275.346238 +Q 309.896634 275.736041 310.999883 277.215237 +Q 312.100328 278.690676 312.161912 279.855219 +Q 312.222561 281.01851 311.239353 281.751829 +Q 310.257397 282.484214 309.159682 282.094411 +Q 308.061033 281.703356 306.960587 280.227918 +Q 305.857339 278.748721 305.79669 277.58543 +Q 305.735106 276.420887 306.717062 275.688502 z " style="fill:#ffffff;stroke:#000000;stroke-width:3;"/> - <path clip-path="url(#p826a730be7)" d="M 368.017936 59.261058 -Q 367.296115 58.701799 366.380278 59.130744 -Q 365.467072 59.559356 364.361185 60.986695 -Q 363.259892 62.408105 363.071805 63.400903 -Q 362.8852 64.39485 363.607021 64.95411 -Q 364.334772 65.517963 365.249126 65.087869 -Q 366.164963 64.658923 367.266257 63.237513 -Q 368.372143 61.810174 368.5576 60.81771 -Q 368.745686 59.824911 368.017936 59.261058 -z -M 368.592125 58.519969 -Q 369.755636 59.421444 369.656116 60.817306 -Q 369.557745 62.211685 368.201512 63.962139 -Q 366.848724 65.708146 365.52196 66.153152 -Q 364.196344 66.596675 363.032833 65.695199 -Q 361.870804 64.794872 361.969176 63.400493 -Q 362.068695 62.004631 363.421483 60.258624 -Q 364.777716 58.50817 366.103332 58.064647 -Q 367.430096 57.619641 368.592125 58.519969 -z -M 368.083454 67.509208 -L 369.061692 68.267137 -L 368.149881 69.443987 -L 367.171643 68.686059 -z -M 377.068495 66.273333 -Q 376.346673 65.714074 375.430836 66.143019 -Q 374.51763 66.571631 373.411743 67.99897 -Q 372.31045 69.42038 372.122363 70.413178 -Q 371.935758 71.407125 372.65758 71.966385 -Q 373.38533 72.530238 374.299685 72.100144 -Q 375.215522 71.671198 376.316815 70.249788 -Q 377.422702 68.822449 377.608158 67.829985 -Q 377.796245 66.837186 377.068495 66.273333 -z -M 377.642683 65.532244 -Q 378.806194 66.433719 378.706674 67.829581 -Q 378.608303 69.22396 377.25207 70.974414 -Q 375.899282 72.720421 374.572518 73.165427 -Q 373.246902 73.60895 372.083391 72.707474 -Q 370.921363 71.807147 371.019734 70.412768 -Q 371.119254 69.016907 372.472041 67.270899 -Q 373.828274 65.520445 375.15389 65.076922 -Q 376.480654 64.631916 377.642683 65.532244 -z -M 383.103744 70.94938 -Q 382.381923 70.39012 381.466086 70.819066 -Q 380.552879 71.247677 379.446993 72.675016 -Q 378.345699 74.096426 378.157613 75.089225 -Q 377.971008 76.083172 378.692829 76.642431 -Q 379.420579 77.206284 380.334934 76.77619 -Q 381.250771 76.347245 382.352064 74.925835 -Q 383.457951 73.498496 383.643407 72.506031 -Q 383.831494 71.513233 383.103744 70.94938 -z -M 383.677933 70.20829 -Q 384.841443 71.109766 384.741924 72.505627 -Q 384.643553 73.900006 383.28732 75.65046 -Q 381.934532 77.396468 380.607768 77.841473 -Q 379.282152 78.284997 378.118641 77.383521 -Q 376.956612 76.483194 377.054984 75.088814 -Q 377.154503 73.692953 378.507291 71.946945 -Q 379.863524 70.196492 381.18914 69.752968 -Q 382.515904 69.307963 383.677933 70.20829 -z -M 389.138994 75.625426 -Q 388.417172 75.066167 387.501335 75.495112 -Q 386.588129 75.923724 385.482242 77.351063 -Q 384.380949 78.772473 384.192862 79.765271 -Q 384.006257 80.759218 384.728079 81.318477 -Q 385.455829 81.88233 386.370184 81.452237 -Q 387.286021 81.023291 388.387314 79.601881 -Q 389.493201 78.174542 389.678657 77.182078 -Q 389.866744 76.189279 389.138994 75.625426 -z -M 389.713182 74.884336 -Q 390.876693 75.785812 390.777173 77.181673 -Q 390.678802 78.576053 389.322569 80.326507 -Q 387.969781 82.072514 386.643017 82.51752 -Q 385.317401 82.961043 384.153891 82.059567 -Q 382.991862 81.15924 383.090233 79.764861 -Q 383.189753 78.368999 384.54254 76.622992 -Q 385.898773 74.872538 387.224389 74.429015 -Q 388.551153 73.984009 389.713182 74.884336 + <path clip-path="url(#pedd1dac049)" d="M 289.336095 289.626593 +Q 288.72613 290.081532 288.866415 290.912533 +Q 289.007019 291.741349 289.906619 292.947501 +Q 290.802483 294.148644 291.557743 294.520971 +Q 292.314256 294.892364 292.924221 294.437426 +Q 293.539196 293.978751 293.397658 293.148683 +Q 293.257373 292.317681 292.361509 291.116539 +Q 291.461909 289.910386 290.70633 289.540246 +Q 289.95107 289.167919 289.336095 289.626593 +z +M 288.869013 289.000346 +Q 289.852221 288.267027 290.95087 288.658082 +Q 292.048585 289.047885 293.151833 290.527081 +Q 294.252279 292.00252 294.313862 293.167063 +Q 294.374511 294.330354 293.391303 295.063673 +Q 292.409347 295.796058 291.311632 295.406255 +Q 290.212983 295.0152 289.112538 293.539761 +Q 288.009289 292.060565 287.94864 290.897274 +Q 287.887057 289.732731 288.869013 289.000346 +z +M 295.973702 291.412536 +L 296.800348 290.795988 +L 297.542075 291.790468 +L 296.715428 292.407017 +z +M 296.984141 283.922352 +Q 296.374176 284.37729 296.514461 285.208292 +Q 296.655065 286.037107 297.554665 287.243259 +Q 298.450529 288.444402 299.205789 288.816729 +Q 299.962302 289.188122 300.572267 288.733184 +Q 301.187241 288.274509 301.045704 287.444441 +Q 300.905418 286.613439 300.009555 285.412297 +Q 299.109954 284.206144 298.354376 283.836004 +Q 297.599116 283.463677 296.984141 283.922352 +z +M 296.517059 283.296104 +Q 297.500267 282.562785 298.598916 282.95384 +Q 299.696631 283.343643 300.799879 284.822839 +Q 301.900325 286.298278 301.961908 287.462821 +Q 302.022557 288.626112 301.039349 289.359431 +Q 300.057393 290.091816 298.959678 289.702013 +Q 297.861029 289.310958 296.760583 287.83552 +Q 295.657335 286.356323 295.596686 285.193032 +Q 295.535103 284.028489 296.517059 283.296104 +z +M 302.084143 280.118551 +Q 301.474178 280.573489 301.614463 281.404491 +Q 301.755067 282.233306 302.654667 283.439458 +Q 303.550531 284.640601 304.305791 285.012928 +Q 305.062304 285.384321 305.672268 284.929383 +Q 306.287243 284.470708 306.145706 283.64064 +Q 306.00542 282.809638 305.109557 281.608496 +Q 304.209956 280.402343 303.454378 280.032203 +Q 302.699118 279.659876 302.084143 280.118551 +z +M 301.61706 279.492303 +Q 302.600269 278.758984 303.698918 279.150039 +Q 304.796633 279.539842 305.899881 281.019038 +Q 307.000327 282.494477 307.06191 283.65902 +Q 307.122559 284.822311 306.139351 285.55563 +Q 305.157395 286.288015 304.05968 285.898212 +Q 302.961031 285.507157 301.860585 284.031719 +Q 300.757337 282.552522 300.696688 281.389231 +Q 300.635105 280.224688 301.61706 279.492303 +z +M 307.184145 276.31475 +Q 306.57418 276.769688 306.714465 277.60069 +Q 306.855068 278.429505 307.754669 279.635657 +Q 308.650533 280.8368 309.405793 281.209127 +Q 310.162305 281.58052 310.77227 281.125582 +Q 311.387245 280.666907 311.245707 279.836839 +Q 311.105422 279.005837 310.209558 277.804695 +Q 309.309958 276.598542 308.55438 276.228402 +Q 307.799119 275.856075 307.184145 276.31475 +z +M 306.717062 275.688502 +Q 307.700271 274.955183 308.79892 275.346238 +Q 309.896634 275.736041 310.999883 277.215237 +Q 312.100328 278.690676 312.161912 279.855219 +Q 312.222561 281.01851 311.239353 281.751829 +Q 310.257397 282.484214 309.159682 282.094411 +Q 308.061033 281.703356 306.960587 280.227918 +Q 305.857339 278.748721 305.79669 277.58543 +Q 305.735106 276.420887 306.717062 275.688502 z " style="fill:#ffffff;"/> - </g> - <g id="text_32"> - <g id="patch_81"> - <path clip-path="url(#p826a730be7)" d="M 140.327347 366.22327 -L 140.89339 367.363268 -L 141.997926 366.785295 -L 143.102463 366.207322 -L 143.633044 367.335389 -L 144.163625 368.463457 -L 145.268161 367.885484 -L 146.372698 367.307511 -L 146.903279 368.435578 -L 147.43386 369.563646 -L 148.538396 368.985673 -L 149.642933 368.407699 -L 150.173514 369.535767 -L 150.704095 370.663835 -L 151.808631 370.085862 -L 152.913168 369.507888 -L 153.443749 370.635956 -L 153.97433 371.764024 -L 155.078866 371.18605 -L 156.183403 370.608077 -L 156.713984 371.736145 -L 157.244565 372.864212 -L 158.349101 372.286239 -L 159.453638 371.708266 -L 159.984219 372.836334 -L 160.5148 373.964401 -L 161.619336 373.386428 -L 162.723873 372.808455 -L 163.254454 373.936522 -L 163.785035 375.06459 -L 164.889571 374.486617 -L 165.994108 373.908644 -L 166.524689 375.036711 -L 167.05527 376.164779 -L 168.159806 375.586806 -L 169.264343 375.008832 -L 169.794924 376.1369 -L 170.325505 377.264968 -L 171.430041 376.686994 -L 172.534578 376.109021 -L 173.065159 377.237089 -L 173.59574 378.365157 -L 174.700276 377.787183 -L 175.804813 377.20921 -L 176.335394 378.337278 -L 176.865975 379.465345 -L 178.005973 378.899302 -L 179.145971 378.333259 -L 178.596145 377.145057 -L 178.046319 375.956854 -L 179.202534 375.342607 -L 180.35875 374.728359 -L 179.808924 373.540157 -L 179.259098 372.351954 -L 180.415313 371.737707 -L 181.571528 371.123459 -L 181.021702 369.935256 -L 180.471876 368.747054 -L 181.628092 368.132806 -L 182.784307 367.518559 -L 182.234481 366.330356 -L 181.684655 365.142154 -L 182.84087 364.527906 -L 183.997085 363.913659 -L 183.431042 362.773661 -L 182.864999 361.633663 -L 181.760463 362.211636 -L 180.655927 362.789609 -L 180.125345 361.661542 -L 179.594764 360.533474 -L 178.490228 361.111447 -L 177.385692 361.689421 -L 176.85511 360.561353 -L 176.324529 359.433285 -L 175.219993 360.011258 -L 174.115457 360.589232 -L 173.584875 359.461164 -L 173.054294 358.333096 -L 171.949758 358.91107 -L 170.845222 359.489043 -L 170.31464 358.360975 -L 169.784059 357.232908 -L 168.679523 357.810881 -L 167.574987 358.388854 -L 167.044405 357.260786 -L 166.513824 356.132719 -L 165.409288 356.710692 -L 164.304752 357.288665 -L 163.77417 356.160598 -L 163.243589 355.03253 -L 162.139053 355.610503 -L 161.034517 356.188476 -L 160.503935 355.060409 -L 159.973354 353.932341 -L 158.868818 354.510314 -L 157.764282 355.088288 -L 157.2337 353.96022 -L 156.703119 352.832152 -L 155.598583 353.410126 -L 154.494047 353.988099 -L 153.963465 352.860031 -L 153.432884 351.731963 -L 152.328348 352.309937 -L 151.223812 352.88791 -L 150.69323 351.759842 -L 150.162649 350.631775 -L 149.058113 351.209748 -L 147.953577 351.787721 -L 147.422995 350.659654 -L 146.892414 349.531586 -L 145.752416 350.097629 -L 144.612418 350.663672 -L 145.162244 351.851874 -L 145.71207 353.040077 -L 144.555855 353.654324 -L 143.39964 354.268572 -L 143.949466 355.456775 -L 144.499291 356.644977 -L 143.343076 357.259225 -L 142.186861 357.873472 -L 142.736687 359.061675 -L 143.286513 360.249877 -L 142.130298 360.864125 -L 140.974083 361.478372 -L 141.523908 362.666575 -L 142.073734 363.854777 -L 140.917519 364.469025 -L 139.761304 365.083273 + </g> + <g id="text_32"> + <g id="patch_82"> + <path clip-path="url(#pedd1dac049)" d="M 111.563173 290.537 +L 112.046896 291.480934 +L 112.961155 290.987646 +L 113.875414 290.494357 +L 114.329462 291.428726 +L 114.783509 292.363094 +L 115.697768 291.869806 +L 116.612028 291.376517 +L 117.066075 292.310886 +L 117.520122 293.245254 +L 118.434382 292.751966 +L 119.348641 292.258677 +L 119.802688 293.193046 +L 120.256736 294.127414 +L 121.170995 293.634126 +L 122.085254 293.140837 +L 122.539302 294.075206 +L 122.993349 295.009574 +L 123.907608 294.516286 +L 124.821868 294.022997 +L 125.275915 294.957366 +L 125.729962 295.891734 +L 126.644222 295.398446 +L 127.558481 294.905157 +L 128.012528 295.839526 +L 128.466576 296.773894 +L 129.380835 296.280606 +L 130.295094 295.787317 +L 130.749142 296.721686 +L 131.203189 297.656054 +L 132.117448 297.162766 +L 133.031707 296.669477 +L 133.485755 297.603846 +L 133.939802 298.538214 +L 134.854061 298.044926 +L 135.768321 297.551637 +L 136.222368 298.486006 +L 136.676415 299.420374 +L 137.590675 298.927086 +L 138.504934 298.433797 +L 138.958981 299.368166 +L 139.413029 300.302535 +L 140.327288 299.809246 +L 141.241547 299.315957 +L 141.695595 300.250326 +L 142.149642 301.184695 +L 143.093577 300.700972 +L 144.037511 300.217249 +L 143.566792 299.232976 +L 143.096073 298.248703 +L 144.053011 297.724641 +L 145.009949 297.20058 +L 144.539229 296.216307 +L 144.06851 295.232033 +L 145.025448 294.707972 +L 145.982386 294.183911 +L 145.511667 293.199637 +L 145.040947 292.215364 +L 145.997885 291.691303 +L 146.954823 291.167241 +L 146.484104 290.182968 +L 146.013385 289.198695 +L 146.970323 288.674633 +L 147.927261 288.150572 +L 147.443538 287.206637 +L 146.959816 286.262703 +L 146.045556 286.755992 +L 145.131297 287.24928 +L 144.67725 286.314911 +L 144.223202 285.380543 +L 143.308943 285.873831 +L 142.394684 286.36712 +L 141.940636 285.432751 +L 141.486589 284.498383 +L 140.57233 284.991671 +L 139.65807 285.48496 +L 139.204023 284.550591 +L 138.749976 283.616223 +L 137.835716 284.109511 +L 136.921457 284.6028 +L 136.46741 283.668431 +L 136.013362 282.734063 +L 135.099103 283.227351 +L 134.184844 283.72064 +L 133.730796 282.786271 +L 133.276749 281.851903 +L 132.36249 282.345191 +L 131.448231 282.83848 +L 130.994183 281.904111 +L 130.540136 280.969743 +L 129.625877 281.463031 +L 128.711617 281.95632 +L 128.25757 281.021951 +L 127.803523 280.087583 +L 126.889263 280.580871 +L 125.975004 281.07416 +L 125.520957 280.139791 +L 125.066909 279.205423 +L 124.15265 279.698711 +L 123.238391 280.192 +L 122.784343 279.257631 +L 122.330296 278.323263 +L 121.416037 278.816551 +L 120.501777 279.30984 +L 120.04773 278.375471 +L 119.593683 277.441103 +L 118.679423 277.934391 +L 117.765164 278.42768 +L 117.311117 277.493311 +L 116.857069 276.558942 +L 115.913135 277.042665 +L 114.9692 277.526388 +L 115.43992 278.510661 +L 115.910639 279.494934 +L 114.953701 280.018996 +L 113.996763 280.543057 +L 114.467482 281.52733 +L 114.938201 282.511604 +L 113.981263 283.035665 +L 113.024325 283.559726 +L 113.495045 284.544 +L 113.965764 285.528273 +L 113.008826 286.052334 +L 112.051888 286.576396 +L 112.522607 287.560669 +L 112.993327 288.544942 +L 112.036389 289.069004 +L 111.079451 289.593065 z " style="fill:none;stroke:#0000ff;stroke-linejoin:miter;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 150.698726 355.823068 -Q 149.833265 355.531905 149.109115 356.23785 -Q 148.387339 356.942615 147.811591 358.653987 -Q 147.238234 360.358251 147.386652 361.35775 -Q 147.536848 362.357846 148.402308 362.649009 -Q 149.274877 362.942563 149.997251 362.23602 -Q 150.721401 361.530076 151.294758 359.825812 -Q 151.870506 358.11444 151.719713 357.11612 -Q 151.571294 356.116622 150.698726 355.823068 -z -M 150.99766 354.934505 -Q 152.392704 355.403832 152.757157 356.754946 -Q 153.122208 358.104282 152.416124 360.203068 -Q 151.711834 362.296522 150.604827 363.152599 -Q 149.498417 364.006899 148.103374 363.537572 -Q 146.710107 363.068842 146.345056 361.719506 -Q 145.980603 360.368393 146.684893 358.274938 -Q 147.390977 356.176152 148.497386 355.321852 -Q 149.604394 354.465775 150.99766 354.934505 -z -M 153.469603 363.592142 -L 154.642506 363.986736 -L 154.167798 365.397774 -L 152.994895 365.00318 -z -M 159.412335 357.931586 -L 163.816053 359.413107 -L 163.497987 360.358538 -L 160.121447 359.222585 -L 159.438082 361.253841 -Q 159.709648 361.252224 159.966866 361.293258 -Q 160.22586 361.33489 160.471103 361.417396 -Q 161.859039 361.884332 162.41352 362.917571 -Q 162.969778 363.951407 162.532736 365.250486 -Q 162.08254 366.588662 160.999158 367.0511 -Q 159.916375 367.511761 158.400486 367.001778 -Q 157.878011 366.826004 157.365881 366.554798 -Q 156.855528 366.284189 156.337749 365.912169 -L 156.717396 364.783694 -Q 157.125295 365.223595 157.613592 365.536241 -Q 158.10189 365.848886 158.69545 366.048575 -Q 159.656875 366.372022 160.386465 366.055647 -Q 161.117832 365.73987 161.409592 364.872633 -Q 161.700755 364.007172 161.308978 363.313542 -Q 160.919576 362.618732 159.958151 362.295284 -Q 159.508538 362.144023 159.027221 362.092879 -Q 158.547682 362.042333 158.010929 362.097169 -z -M 168.786536 361.90826 -Q 167.921076 361.617097 167.196926 362.323042 -Q 166.47515 363.027807 165.899402 364.739179 -Q 165.326045 366.443443 165.474463 367.442942 -Q 165.624659 368.443038 166.490119 368.734201 -Q 167.362688 369.027755 168.085061 368.321212 -Q 168.809212 367.615268 169.382569 365.911004 -Q 169.958317 364.199631 169.807524 363.201312 -Q 169.659105 362.201814 168.786536 361.90826 -z -M 169.085471 361.019697 -Q 170.480515 361.489024 170.844968 362.840137 -Q 171.210019 364.189474 170.503935 366.288259 -Q 169.799645 368.381714 168.692638 369.237791 -Q 167.586228 370.092091 166.191184 369.622764 -Q 164.797918 369.154034 164.432867 367.804698 -Q 164.068413 366.453584 164.772704 364.36013 -Q 165.478788 362.261344 166.585197 361.407044 -Q 167.692204 360.550967 169.085471 361.019697 -z -M 176.022771 364.34271 -Q 175.157311 364.051547 174.433161 364.757492 -Q 173.711385 365.462257 173.135637 367.17363 -Q 172.56228 368.877893 172.710698 369.877392 -Q 172.860894 370.877488 173.726354 371.168651 -Q 174.598923 371.462205 175.321296 370.755663 -Q 176.045447 370.049718 176.618804 368.345454 -Q 177.194552 366.634082 177.043759 365.635762 -Q 176.89534 364.636264 176.022771 364.34271 -z -M 176.321706 363.454147 -Q 177.71675 363.923475 178.081203 365.274588 -Q 178.446254 366.623924 177.74017 368.72271 -Q 177.03588 370.816164 175.928873 371.672242 -Q 174.822463 372.526542 173.427419 372.057214 -Q 172.034153 371.588484 171.669102 370.239148 -Q 171.304648 368.888035 172.008939 366.79458 -Q 172.715023 364.695794 173.821432 363.841494 -Q 174.928439 362.985417 176.321706 363.454147 + </g> + <path clip-path="url(#pedd1dac049)" d="M 120.095287 281.761161 +Q 119.371048 281.5277 118.775105 282.123599 +Q 118.181129 282.71849 117.719478 284.150609 +Q 117.259746 285.576779 117.39399 286.408058 +Q 117.529721 287.239815 118.25396 287.473277 +Q 118.984147 287.708656 119.578603 287.112278 +Q 120.174546 286.516378 120.634278 285.090208 +Q 121.095929 283.65809 120.959718 282.827819 +Q 120.825474 281.996541 120.095287 281.761161 +z +M 120.334981 281.01759 +Q 121.502388 281.393909 121.820365 282.515891 +Q 122.138822 283.636386 121.572666 285.392702 +Q 121.007947 287.144556 120.09457 287.869606 +Q 119.181673 288.593168 118.014266 288.216849 +Q 116.848346 287.841009 116.529889 286.720514 +Q 116.211911 285.598532 116.77663 283.846677 +Q 117.342786 282.090362 118.255684 281.366799 +Q 119.169061 280.64175 120.334981 281.01759 +z +M 122.486341 288.20556 +L 123.467855 288.521956 +L 123.087222 289.702747 +L 122.105707 289.386351 +z +M 127.378345 283.425952 +L 131.063485 284.613874 +L 130.808451 285.405034 +L 127.98288 284.494198 +L 127.43494 286.194002 +Q 127.66121 286.189783 127.875974 286.221255 +Q 128.092226 286.253206 128.297452 286.319361 +Q 129.45891 286.693763 129.931869 287.548861 +Q 130.406316 288.404438 130.055884 289.491539 +Q 129.694905 290.611358 128.797051 291.008151 +Q 127.899676 291.403457 126.631144 290.994539 +Q 126.193924 290.853599 125.764314 290.633029 +Q 125.336192 290.412938 124.90081 290.108423 +L 125.205221 289.164087 +Q 125.549761 289.526328 125.95995 289.78168 +Q 126.370139 290.037032 126.866845 290.197147 +Q 127.671389 290.456496 128.275985 290.185154 +Q 128.882068 289.914292 129.116009 289.188566 +Q 129.349471 288.464328 129.01568 287.890493 +Q 128.683855 287.31565 127.879311 287.056301 +Q 127.503064 286.935016 127.101458 286.897491 +Q 126.70134 286.860445 126.254661 286.911815 +z +M 135.231613 286.640427 +Q 134.507374 286.406965 133.911431 287.002864 +Q 133.317455 287.597756 132.855805 289.029874 +Q 132.396072 290.456044 132.530316 291.287323 +Q 132.666047 292.119081 133.390286 292.352542 +Q 134.120473 292.587922 134.714929 291.991543 +Q 135.310872 291.395644 135.770605 289.969474 +Q 136.232255 288.537355 136.096044 287.707084 +Q 135.9618 286.875806 135.231613 286.640427 +z +M 135.471307 285.896855 +Q 136.638714 286.273174 136.956691 287.395156 +Q 137.275148 288.515651 136.708992 290.271967 +Q 136.144273 292.023821 135.230897 292.748871 +Q 134.317999 293.472433 133.150592 293.096114 +Q 131.984672 292.720274 131.666215 291.599779 +Q 131.348238 290.477797 131.912956 288.725943 +Q 132.479112 286.969627 133.39201 286.246065 +Q 134.305387 285.521015 135.471307 285.896855 +z +M 141.287073 288.592432 +Q 140.562834 288.358971 139.966891 288.95487 +Q 139.372915 289.549761 138.911264 290.98188 +Q 138.451532 292.40805 138.585776 293.239329 +Q 138.721507 294.071086 139.445746 294.304548 +Q 140.175933 294.539927 140.770389 293.943549 +Q 141.366332 293.347649 141.826064 291.921479 +Q 142.287715 290.489361 142.151504 289.65909 +Q 142.01726 288.827812 141.287073 288.592432 +z +M 141.526767 287.848861 +Q 142.694174 288.22518 143.012151 289.347162 +Q 143.330608 290.467657 142.764452 292.223973 +Q 142.199733 293.975827 141.286356 294.700876 +Q 140.373459 295.424439 139.206052 295.04812 +Q 138.040132 294.67228 137.721675 293.551785 +Q 137.403697 292.429803 137.968416 290.677948 +Q 138.534572 288.921633 139.44747 288.19807 +Q 140.360847 287.473021 141.526767 287.848861 z " style="fill:#ffffff;stroke:#000000;stroke-width:3;"/> - <path clip-path="url(#p826a730be7)" d="M 150.698726 355.823068 -Q 149.833265 355.531905 149.109115 356.23785 -Q 148.387339 356.942615 147.811591 358.653987 -Q 147.238234 360.358251 147.386652 361.35775 -Q 147.536848 362.357846 148.402308 362.649009 -Q 149.274877 362.942563 149.997251 362.23602 -Q 150.721401 361.530076 151.294758 359.825812 -Q 151.870506 358.11444 151.719713 357.11612 -Q 151.571294 356.116622 150.698726 355.823068 -z -M 150.99766 354.934505 -Q 152.392704 355.403832 152.757157 356.754946 -Q 153.122208 358.104282 152.416124 360.203068 -Q 151.711834 362.296522 150.604827 363.152599 -Q 149.498417 364.006899 148.103374 363.537572 -Q 146.710107 363.068842 146.345056 361.719506 -Q 145.980603 360.368393 146.684893 358.274938 -Q 147.390977 356.176152 148.497386 355.321852 -Q 149.604394 354.465775 150.99766 354.934505 -z -M 153.469603 363.592142 -L 154.642506 363.986736 -L 154.167798 365.397774 -L 152.994895 365.00318 -z -M 159.412335 357.931586 -L 163.816053 359.413107 -L 163.497987 360.358538 -L 160.121447 359.222585 -L 159.438082 361.253841 -Q 159.709648 361.252224 159.966866 361.293258 -Q 160.22586 361.33489 160.471103 361.417396 -Q 161.859039 361.884332 162.41352 362.917571 -Q 162.969778 363.951407 162.532736 365.250486 -Q 162.08254 366.588662 160.999158 367.0511 -Q 159.916375 367.511761 158.400486 367.001778 -Q 157.878011 366.826004 157.365881 366.554798 -Q 156.855528 366.284189 156.337749 365.912169 -L 156.717396 364.783694 -Q 157.125295 365.223595 157.613592 365.536241 -Q 158.10189 365.848886 158.69545 366.048575 -Q 159.656875 366.372022 160.386465 366.055647 -Q 161.117832 365.73987 161.409592 364.872633 -Q 161.700755 364.007172 161.308978 363.313542 -Q 160.919576 362.618732 159.958151 362.295284 -Q 159.508538 362.144023 159.027221 362.092879 -Q 158.547682 362.042333 158.010929 362.097169 -z -M 168.786536 361.90826 -Q 167.921076 361.617097 167.196926 362.323042 -Q 166.47515 363.027807 165.899402 364.739179 -Q 165.326045 366.443443 165.474463 367.442942 -Q 165.624659 368.443038 166.490119 368.734201 -Q 167.362688 369.027755 168.085061 368.321212 -Q 168.809212 367.615268 169.382569 365.911004 -Q 169.958317 364.199631 169.807524 363.201312 -Q 169.659105 362.201814 168.786536 361.90826 -z -M 169.085471 361.019697 -Q 170.480515 361.489024 170.844968 362.840137 -Q 171.210019 364.189474 170.503935 366.288259 -Q 169.799645 368.381714 168.692638 369.237791 -Q 167.586228 370.092091 166.191184 369.622764 -Q 164.797918 369.154034 164.432867 367.804698 -Q 164.068413 366.453584 164.772704 364.36013 -Q 165.478788 362.261344 166.585197 361.407044 -Q 167.692204 360.550967 169.085471 361.019697 -z -M 176.022771 364.34271 -Q 175.157311 364.051547 174.433161 364.757492 -Q 173.711385 365.462257 173.135637 367.17363 -Q 172.56228 368.877893 172.710698 369.877392 -Q 172.860894 370.877488 173.726354 371.168651 -Q 174.598923 371.462205 175.321296 370.755663 -Q 176.045447 370.049718 176.618804 368.345454 -Q 177.194552 366.634082 177.043759 365.635762 -Q 176.89534 364.636264 176.022771 364.34271 -z -M 176.321706 363.454147 -Q 177.71675 363.923475 178.081203 365.274588 -Q 178.446254 366.623924 177.74017 368.72271 -Q 177.03588 370.816164 175.928873 371.672242 -Q 174.822463 372.526542 173.427419 372.057214 -Q 172.034153 371.588484 171.669102 370.239148 -Q 171.304648 368.888035 172.008939 366.79458 -Q 172.715023 364.695794 173.821432 363.841494 -Q 174.928439 362.985417 176.321706 363.454147 + <path clip-path="url(#pedd1dac049)" d="M 120.095287 281.761161 +Q 119.371048 281.5277 118.775105 282.123599 +Q 118.181129 282.71849 117.719478 284.150609 +Q 117.259746 285.576779 117.39399 286.408058 +Q 117.529721 287.239815 118.25396 287.473277 +Q 118.984147 287.708656 119.578603 287.112278 +Q 120.174546 286.516378 120.634278 285.090208 +Q 121.095929 283.65809 120.959718 282.827819 +Q 120.825474 281.996541 120.095287 281.761161 +z +M 120.334981 281.01759 +Q 121.502388 281.393909 121.820365 282.515891 +Q 122.138822 283.636386 121.572666 285.392702 +Q 121.007947 287.144556 120.09457 287.869606 +Q 119.181673 288.593168 118.014266 288.216849 +Q 116.848346 287.841009 116.529889 286.720514 +Q 116.211911 285.598532 116.77663 283.846677 +Q 117.342786 282.090362 118.255684 281.366799 +Q 119.169061 280.64175 120.334981 281.01759 +z +M 122.486341 288.20556 +L 123.467855 288.521956 +L 123.087222 289.702747 +L 122.105707 289.386351 +z +M 127.378345 283.425952 +L 131.063485 284.613874 +L 130.808451 285.405034 +L 127.98288 284.494198 +L 127.43494 286.194002 +Q 127.66121 286.189783 127.875974 286.221255 +Q 128.092226 286.253206 128.297452 286.319361 +Q 129.45891 286.693763 129.931869 287.548861 +Q 130.406316 288.404438 130.055884 289.491539 +Q 129.694905 290.611358 128.797051 291.008151 +Q 127.899676 291.403457 126.631144 290.994539 +Q 126.193924 290.853599 125.764314 290.633029 +Q 125.336192 290.412938 124.90081 290.108423 +L 125.205221 289.164087 +Q 125.549761 289.526328 125.95995 289.78168 +Q 126.370139 290.037032 126.866845 290.197147 +Q 127.671389 290.456496 128.275985 290.185154 +Q 128.882068 289.914292 129.116009 289.188566 +Q 129.349471 288.464328 129.01568 287.890493 +Q 128.683855 287.31565 127.879311 287.056301 +Q 127.503064 286.935016 127.101458 286.897491 +Q 126.70134 286.860445 126.254661 286.911815 +z +M 135.231613 286.640427 +Q 134.507374 286.406965 133.911431 287.002864 +Q 133.317455 287.597756 132.855805 289.029874 +Q 132.396072 290.456044 132.530316 291.287323 +Q 132.666047 292.119081 133.390286 292.352542 +Q 134.120473 292.587922 134.714929 291.991543 +Q 135.310872 291.395644 135.770605 289.969474 +Q 136.232255 288.537355 136.096044 287.707084 +Q 135.9618 286.875806 135.231613 286.640427 +z +M 135.471307 285.896855 +Q 136.638714 286.273174 136.956691 287.395156 +Q 137.275148 288.515651 136.708992 290.271967 +Q 136.144273 292.023821 135.230897 292.748871 +Q 134.317999 293.472433 133.150592 293.096114 +Q 131.984672 292.720274 131.666215 291.599779 +Q 131.348238 290.477797 131.912956 288.725943 +Q 132.479112 286.969627 133.39201 286.246065 +Q 134.305387 285.521015 135.471307 285.896855 +z +M 141.287073 288.592432 +Q 140.562834 288.358971 139.966891 288.95487 +Q 139.372915 289.549761 138.911264 290.98188 +Q 138.451532 292.40805 138.585776 293.239329 +Q 138.721507 294.071086 139.445746 294.304548 +Q 140.175933 294.539927 140.770389 293.943549 +Q 141.366332 293.347649 141.826064 291.921479 +Q 142.287715 290.489361 142.151504 289.65909 +Q 142.01726 288.827812 141.287073 288.592432 +z +M 141.526767 287.848861 +Q 142.694174 288.22518 143.012151 289.347162 +Q 143.330608 290.467657 142.764452 292.223973 +Q 142.199733 293.975827 141.286356 294.700876 +Q 140.373459 295.424439 139.206052 295.04812 +Q 138.040132 294.67228 137.721675 293.551785 +Q 137.403697 292.429803 137.968416 290.677948 +Q 138.534572 288.921633 139.44747 288.19807 +Q 140.360847 287.473021 141.526767 287.848861 z " style="fill:#ffffff;"/> - </g> - <g id="text_33"> - <g id="patch_82"> - <path clip-path="url(#p826a730be7)" d="M 461.353975 383.638985 -L 461.556614 384.895543 -L 462.782841 384.670998 -L 464.009068 384.446452 -L 464.181375 385.681103 -L 464.353683 386.915754 -L 465.57991 386.691209 -L 466.806137 386.466663 -L 466.978445 387.701314 -L 467.150753 388.935965 -L 468.37698 388.71142 -L 469.603207 388.486875 -L 469.775515 389.721526 -L 469.947823 390.956177 -L 471.17405 390.731631 -L 472.400277 390.507086 -L 472.572585 391.741737 -L 472.744892 392.976388 -L 473.971119 392.751842 -L 475.197346 392.527297 -L 475.369654 393.761948 -L 475.541962 394.996599 -L 476.768189 394.772054 -L 477.994416 394.547508 -L 478.166724 395.782159 -L 478.339032 397.01681 -L 479.565259 396.792265 -L 480.791486 396.567719 -L 480.963794 397.802371 -L 481.136102 399.037022 -L 482.362329 398.812476 -L 483.588555 398.587931 -L 483.760863 399.822582 -L 483.933171 401.057233 -L 485.159398 400.832687 -L 486.385625 400.608142 -L 486.557933 401.842793 -L 486.730241 403.077444 -L 487.956468 402.852899 -L 489.182695 402.628353 -L 489.355003 403.863004 -L 489.527311 405.097655 -L 490.753538 404.87311 -L 491.979765 404.648564 -L 492.152072 405.883216 -L 492.32438 407.117867 -L 493.580938 406.915228 -L 494.837496 406.712589 -L 494.664636 405.414801 -L 494.491776 404.117014 -L 495.778113 403.873145 -L 497.064449 403.629277 -L 496.891589 402.331489 -L 496.718729 401.033701 -L 498.005066 400.789832 -L 499.291402 400.545964 -L 499.118542 399.248176 -L 498.945682 397.950388 -L 500.232019 397.70652 -L 501.518355 397.462651 -L 501.345495 396.164863 -L 501.172635 394.867076 -L 502.458972 394.623207 -L 503.745308 394.379339 -L 503.542669 393.122781 -L 503.340031 391.866223 -L 502.113804 392.090768 -L 500.887577 392.315314 -L 500.715269 391.080663 -L 500.542961 389.846012 -L 499.316734 390.070557 -L 498.090507 390.295103 -L 497.918199 389.060451 -L 497.745891 387.8258 -L 496.519664 388.050346 -L 495.293437 388.274891 -L 495.121129 387.04024 -L 494.948822 385.805589 -L 493.722595 386.030135 -L 492.496368 386.25468 -L 492.32406 385.020029 -L 492.151752 383.785378 -L 490.925525 384.009923 -L 489.699298 384.234469 -L 489.52699 382.999818 -L 489.354682 381.765167 -L 488.128455 381.989712 -L 486.902228 382.214258 -L 486.72992 380.979607 -L 486.557612 379.744955 -L 485.331386 379.969501 -L 484.105159 380.194046 -L 483.932851 378.959395 -L 483.760543 377.724744 -L 482.534316 377.94929 -L 481.308089 378.173835 -L 481.135781 376.939184 -L 480.963473 375.704533 -L 479.737246 375.929078 -L 478.511019 376.153624 -L 478.338711 374.918973 -L 478.166403 373.684322 -L 476.940176 373.908867 -L 475.713949 374.133413 -L 475.541642 372.898762 -L 475.369334 371.664111 -L 474.143107 371.888656 -L 472.91688 372.113201 -L 472.744572 370.87855 -L 472.572264 369.643899 -L 471.315706 369.846538 -L 470.059148 370.049177 -L 470.232008 371.346964 -L 470.404868 372.644752 -L 469.118532 372.888621 -L 467.832195 373.132489 -L 468.005055 374.430277 -L 468.177915 375.728065 -L 466.891579 375.971933 -L 465.605242 376.215802 -L 465.778102 377.51359 -L 465.950962 378.811377 -L 464.664626 379.055246 -L 463.378289 379.299115 -L 463.551149 380.596902 -L 463.724009 381.89469 -L 462.437673 382.138559 -L 461.151336 382.382427 + </g> + <g id="text_33"> + <g id="patch_83"> + <path clip-path="url(#pedd1dac049)" d="M 336.837116 290.584724 +L 337.306435 291.535902 +L 338.228087 291.056568 +L 339.149738 290.577233 +L 339.589531 291.518395 +L 340.029323 292.459558 +L 340.950975 291.980223 +L 341.872626 291.500888 +L 342.312419 292.442051 +L 342.752211 293.383213 +L 343.673863 292.903878 +L 344.595514 292.424544 +L 345.035307 293.365706 +L 345.475099 294.306868 +L 346.396751 293.827533 +L 347.318403 293.348199 +L 347.758195 294.289361 +L 348.197987 295.230523 +L 349.119639 294.751189 +L 350.041291 294.271854 +L 350.481083 295.213016 +L 350.920875 296.154178 +L 351.842527 295.674844 +L 352.764179 295.195509 +L 353.203971 296.136671 +L 353.643763 297.077834 +L 354.565415 296.598499 +L 355.487067 296.119164 +L 355.926859 297.060327 +L 356.366652 298.001489 +L 357.288303 297.522154 +L 358.209955 297.04282 +L 358.649747 297.983982 +L 359.08954 298.925144 +L 360.011191 298.445809 +L 360.932843 297.966475 +L 361.372635 298.907637 +L 361.812428 299.848799 +L 362.73408 299.369465 +L 363.655731 298.89013 +L 364.095524 299.831292 +L 364.535316 300.772454 +L 365.456968 300.29312 +L 366.378619 299.813785 +L 366.818412 300.754947 +L 367.258204 301.69611 +L 368.209382 301.226791 +L 369.16056 300.757472 +L 368.704857 299.766158 +L 368.249153 298.774843 +L 369.213946 298.265388 +L 370.178739 297.755933 +L 369.723036 296.764618 +L 369.267332 295.773303 +L 370.232125 295.263848 +L 371.196918 294.754393 +L 370.741215 293.763078 +L 370.285511 292.771764 +L 371.250304 292.262309 +L 372.215097 291.752853 +L 371.759394 290.761539 +L 371.30369 289.770224 +L 372.268483 289.260769 +L 373.233277 288.751314 +L 372.763958 287.800136 +L 372.294639 286.848958 +L 371.372987 287.328292 +L 370.451336 287.807627 +L 370.011543 286.866465 +L 369.571751 285.925302 +L 368.650099 286.404637 +L 367.728447 286.883972 +L 367.288655 285.942809 +L 366.848863 285.001647 +L 365.927211 285.480982 +L 365.005559 285.960316 +L 364.565767 285.019154 +L 364.125975 284.077992 +L 363.204323 284.557327 +L 362.282671 285.036661 +L 361.842879 284.095499 +L 361.403087 283.154337 +L 360.481435 283.633671 +L 359.559783 284.113006 +L 359.119991 283.171844 +L 358.680198 282.230682 +L 357.758547 282.710016 +L 356.836895 283.189351 +L 356.397103 282.248189 +L 355.95731 281.307026 +L 355.035659 281.786361 +L 354.114007 282.265696 +L 353.674215 281.324533 +L 353.234422 280.383371 +L 352.312771 280.862706 +L 351.391119 281.34204 +L 350.951326 280.400878 +L 350.511534 279.459716 +L 349.589882 279.939051 +L 348.668231 280.418385 +L 348.228438 279.477223 +L 347.788646 278.536061 +L 346.866994 279.015395 +L 345.945343 279.49473 +L 345.50555 278.553568 +L 345.065758 277.612406 +L 344.144106 278.09174 +L 343.222454 278.571075 +L 342.782662 277.629913 +L 342.34287 276.68875 +L 341.391692 277.158069 +L 340.440513 277.627388 +L 340.896217 278.618702 +L 341.351921 279.610017 +L 340.387128 280.119472 +L 339.422334 280.628927 +L 339.878038 281.620242 +L 340.333742 282.611557 +L 339.368949 283.121012 +L 338.404155 283.630467 +L 338.859859 284.621782 +L 339.315563 285.613096 +L 338.35077 286.122551 +L 337.385976 286.632007 +L 337.84168 287.623321 +L 338.297384 288.614636 +L 337.332591 289.124091 +L 336.367797 289.633546 z " style="fill:none;stroke:#0000ff;stroke-linejoin:miter;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 474.342324 376.78096 -Q 473.602085 376.246316 472.701207 376.705847 -Q 471.802946 377.164957 470.745733 378.628713 -Q 469.692912 380.08639 469.538352 381.084957 -Q 469.385311 382.084622 470.125549 382.619266 -Q 470.871868 383.158302 471.771226 382.697673 -Q 472.672105 382.238141 473.724926 380.780465 -Q 474.782139 379.316708 474.934081 378.318563 -Q 475.088642 377.319996 474.342324 376.78096 -z -M 474.89124 376.020962 -Q 476.084437 376.882761 476.031962 378.281181 -Q 475.980584 379.678081 474.684044 381.473197 -Q 473.390797 383.263753 472.079765 383.753168 -Q 470.76983 384.241063 469.576633 383.379265 -Q 468.384956 382.518564 468.436334 381.121664 -Q 468.488809 379.723243 469.782056 377.932688 -Q 471.078596 376.137572 472.38853 375.649677 -Q 473.699563 375.160262 474.89124 376.020962 -z -M 474.685455 385.02223 -L 475.688653 385.7468 -L 474.816974 386.953677 -L 473.813776 386.229108 -z -M 482.039145 381.377892 -L 485.805696 384.098321 -L 485.221649 384.906959 -L 482.333656 382.821077 -L 481.078833 384.558433 -Q 481.338671 384.637396 481.572161 384.752839 -Q 481.80717 384.86938 482.01693 385.020881 -Q 483.204047 385.878288 483.427293 387.029458 -Q 483.652059 388.181726 482.849544 389.292844 -Q 482.022876 390.437401 480.851104 390.557876 -Q 479.680429 390.676831 478.383872 389.74038 -Q 477.936993 389.417617 477.528286 389.006779 -Q 477.121099 388.597038 476.736883 388.088243 -L 477.434007 387.123045 -Q 477.693157 387.664095 478.066819 388.107445 -Q 478.44048 388.550794 478.948159 388.91747 -Q 479.770477 389.511398 480.56106 389.425536 -Q 481.353164 389.340772 481.888906 388.599014 -Q 482.42355 387.858775 482.255016 387.080181 -Q 482.089099 386.301165 481.266781 385.707238 -Q 480.882222 385.429486 480.437704 385.237952 -Q 479.994707 385.047516 479.465826 384.940764 -z -M 489.813037 387.954836 -Q 489.072799 387.420191 488.17192 387.879723 -Q 487.273659 388.338832 486.216446 389.802589 -Q 485.163625 391.260265 485.009065 392.258833 -Q 484.856024 393.258498 485.596263 393.793142 -Q 486.342581 394.332178 487.241939 393.871548 -Q 488.142818 393.412017 489.195639 391.95434 -Q 490.252852 390.490584 490.404795 389.492439 -Q 490.559355 388.493872 489.813037 387.954836 -z -M 490.361953 387.194838 -Q 491.55515 388.056636 491.502675 389.455056 -Q 491.451297 390.851957 490.154757 392.647073 -Q 488.861511 394.437628 487.550478 394.927043 -Q 486.240543 395.414939 485.047346 394.55314 -Q 483.855669 393.69244 483.907047 392.295539 -Q 483.959522 390.897119 485.252769 389.106563 -Q 486.549309 387.311447 487.859243 386.823552 -Q 489.170276 386.334137 490.361953 387.194838 -z -M 496.002272 392.425072 -Q 495.262034 391.890428 494.361155 392.349959 -Q 493.462894 392.809069 492.405682 394.272825 -Q 491.35286 395.730502 491.1983 396.729069 -Q 491.04526 397.728734 491.785498 398.263378 -Q 492.531816 398.802414 493.431175 398.341785 -Q 494.332053 397.882253 495.384875 396.424577 -Q 496.442087 394.96082 496.59403 393.962675 -Q 496.74859 392.964108 496.002272 392.425072 -z -M 496.551188 391.665074 -Q 497.744385 392.526872 497.69191 393.925293 -Q 497.640532 395.322193 496.343992 397.117309 -Q 495.050746 398.907865 493.739713 399.39728 -Q 492.429779 399.885175 491.236582 399.023376 -Q 490.044904 398.162676 490.096282 396.765775 -Q 490.148757 395.367355 491.442004 393.576799 -Q 492.738544 391.781684 494.048479 391.293788 -Q 495.359511 390.804373 496.551188 391.665074 + </g> + <path clip-path="url(#pedd1dac049)" d="M 345.501638 281.93959 +Q 344.781032 281.695147 344.1761 282.281919 +Q 343.57315 282.867713 343.089784 284.292649 +Q 342.608427 285.711666 342.73002 286.544889 +Q 342.853092 287.378614 343.573699 287.623057 +Q 344.300224 287.869508 344.903676 287.282234 +Q 345.508608 286.695462 345.989966 285.276445 +Q 346.473331 283.851509 346.349756 283.019264 +Q 346.228163 282.186041 345.501638 281.93959 +z +M 345.752607 281.199748 +Q 346.914159 281.593768 347.215045 282.720454 +Q 347.516434 283.84566 346.923646 285.593167 +Q 346.332365 287.336235 345.408073 288.047317 +Q 344.484282 288.75692 343.32273 288.362899 +Q 342.162658 287.969381 341.861269 286.844175 +Q 341.560383 285.717489 342.151665 283.974421 +Q 342.744452 282.226914 343.668242 281.517311 +Q 344.592534 280.806229 345.752607 281.199748 +z +M 347.79446 288.419588 +L 348.771052 288.750867 +L 348.372514 289.925736 +L 347.395922 289.594458 +z +M 352.75855 283.714892 +L 356.425208 284.958692 +L 356.158177 285.745884 +L 353.346777 284.792204 +L 352.773063 286.483483 +Q 352.999371 286.482703 353.213633 286.517436 +Q 353.429373 286.55267 353.63357 286.621938 +Q 354.789203 287.01395 355.24911 287.876138 +Q 355.710497 288.738828 355.343581 289.820478 +Q 354.965623 290.93468 354.061841 291.31778 +Q 353.158562 291.699399 351.896391 291.271247 +Q 351.461364 291.123678 351.035157 290.896603 +Q 350.61043 290.67003 350.179726 290.358932 +L 350.498456 289.419332 +Q 350.837451 289.786768 351.243711 290.048326 +Q 351.649971 290.309883 352.144185 290.47753 +Q 352.944695 290.749078 353.553345 290.486958 +Q 354.163476 290.225339 354.408421 289.503254 +Q 354.652864 288.782647 354.327834 288.203805 +Q 354.004785 287.623985 353.204276 287.352437 +Q 352.829916 287.225447 352.428927 287.181821 +Q 352.029418 287.138697 351.58201 287.183272 +z +M 360.56205 287.048367 +Q 359.841444 286.803923 359.236512 287.390695 +Q 358.633561 287.976489 358.150196 289.401425 +Q 357.668838 290.820443 357.790431 291.653666 +Q 357.913504 292.487391 358.63411 292.731834 +Q 359.360635 292.978285 359.964088 292.391011 +Q 360.56902 291.804239 361.050377 290.385222 +Q 361.533742 288.960286 361.410168 288.128041 +Q 361.288575 287.294818 360.56205 287.048367 +z +M 360.813018 286.308524 +Q 361.974571 286.702545 362.275457 287.829231 +Q 362.576845 288.954437 361.984058 290.701944 +Q 361.392776 292.445012 360.468484 293.156094 +Q 359.544694 293.865696 358.383142 293.471676 +Q 357.223069 293.078157 356.921681 291.952951 +Q 356.620794 290.826265 357.212076 289.083197 +Q 357.804864 287.33569 358.728654 286.626088 +Q 359.652946 285.915006 360.813018 286.308524 +z +M 366.587139 289.092191 +Q 365.866533 288.847748 365.261601 289.43452 +Q 364.658651 290.020314 364.175285 291.44525 +Q 363.693928 292.864267 363.815521 293.69749 +Q 363.938593 294.531215 364.6592 294.775658 +Q 365.385725 295.022109 365.989177 294.434835 +Q 366.594109 293.848063 367.075467 292.429046 +Q 367.558832 291.00411 367.435257 290.171865 +Q 367.313664 289.338642 366.587139 289.092191 +z +M 366.838108 288.352349 +Q 367.99966 288.746369 368.300546 289.873055 +Q 368.601935 290.998261 368.009147 292.745768 +Q 367.417866 294.488836 366.493574 295.199919 +Q 365.569783 295.909521 364.408231 295.5155 +Q 363.248159 295.121982 362.94677 293.996776 +Q 362.645884 292.87009 363.237166 291.127022 +Q 363.829953 289.379515 364.753743 288.669912 +Q 365.678035 287.95883 366.838108 288.352349 z " style="fill:#ffffff;stroke:#000000;stroke-width:3;"/> - <path clip-path="url(#p826a730be7)" d="M 474.342324 376.78096 -Q 473.602085 376.246316 472.701207 376.705847 -Q 471.802946 377.164957 470.745733 378.628713 -Q 469.692912 380.08639 469.538352 381.084957 -Q 469.385311 382.084622 470.125549 382.619266 -Q 470.871868 383.158302 471.771226 382.697673 -Q 472.672105 382.238141 473.724926 380.780465 -Q 474.782139 379.316708 474.934081 378.318563 -Q 475.088642 377.319996 474.342324 376.78096 -z -M 474.89124 376.020962 -Q 476.084437 376.882761 476.031962 378.281181 -Q 475.980584 379.678081 474.684044 381.473197 -Q 473.390797 383.263753 472.079765 383.753168 -Q 470.76983 384.241063 469.576633 383.379265 -Q 468.384956 382.518564 468.436334 381.121664 -Q 468.488809 379.723243 469.782056 377.932688 -Q 471.078596 376.137572 472.38853 375.649677 -Q 473.699563 375.160262 474.89124 376.020962 -z -M 474.685455 385.02223 -L 475.688653 385.7468 -L 474.816974 386.953677 -L 473.813776 386.229108 -z -M 482.039145 381.377892 -L 485.805696 384.098321 -L 485.221649 384.906959 -L 482.333656 382.821077 -L 481.078833 384.558433 -Q 481.338671 384.637396 481.572161 384.752839 -Q 481.80717 384.86938 482.01693 385.020881 -Q 483.204047 385.878288 483.427293 387.029458 -Q 483.652059 388.181726 482.849544 389.292844 -Q 482.022876 390.437401 480.851104 390.557876 -Q 479.680429 390.676831 478.383872 389.74038 -Q 477.936993 389.417617 477.528286 389.006779 -Q 477.121099 388.597038 476.736883 388.088243 -L 477.434007 387.123045 -Q 477.693157 387.664095 478.066819 388.107445 -Q 478.44048 388.550794 478.948159 388.91747 -Q 479.770477 389.511398 480.56106 389.425536 -Q 481.353164 389.340772 481.888906 388.599014 -Q 482.42355 387.858775 482.255016 387.080181 -Q 482.089099 386.301165 481.266781 385.707238 -Q 480.882222 385.429486 480.437704 385.237952 -Q 479.994707 385.047516 479.465826 384.940764 -z -M 489.813037 387.954836 -Q 489.072799 387.420191 488.17192 387.879723 -Q 487.273659 388.338832 486.216446 389.802589 -Q 485.163625 391.260265 485.009065 392.258833 -Q 484.856024 393.258498 485.596263 393.793142 -Q 486.342581 394.332178 487.241939 393.871548 -Q 488.142818 393.412017 489.195639 391.95434 -Q 490.252852 390.490584 490.404795 389.492439 -Q 490.559355 388.493872 489.813037 387.954836 -z -M 490.361953 387.194838 -Q 491.55515 388.056636 491.502675 389.455056 -Q 491.451297 390.851957 490.154757 392.647073 -Q 488.861511 394.437628 487.550478 394.927043 -Q 486.240543 395.414939 485.047346 394.55314 -Q 483.855669 393.69244 483.907047 392.295539 -Q 483.959522 390.897119 485.252769 389.106563 -Q 486.549309 387.311447 487.859243 386.823552 -Q 489.170276 386.334137 490.361953 387.194838 -z -M 496.002272 392.425072 -Q 495.262034 391.890428 494.361155 392.349959 -Q 493.462894 392.809069 492.405682 394.272825 -Q 491.35286 395.730502 491.1983 396.729069 -Q 491.04526 397.728734 491.785498 398.263378 -Q 492.531816 398.802414 493.431175 398.341785 -Q 494.332053 397.882253 495.384875 396.424577 -Q 496.442087 394.96082 496.59403 393.962675 -Q 496.74859 392.964108 496.002272 392.425072 -z -M 496.551188 391.665074 -Q 497.744385 392.526872 497.69191 393.925293 -Q 497.640532 395.322193 496.343992 397.117309 -Q 495.050746 398.907865 493.739713 399.39728 -Q 492.429779 399.885175 491.236582 399.023376 -Q 490.044904 398.162676 490.096282 396.765775 -Q 490.148757 395.367355 491.442004 393.576799 -Q 492.738544 391.781684 494.048479 391.293788 -Q 495.359511 390.804373 496.551188 391.665074 + <path clip-path="url(#pedd1dac049)" d="M 345.501638 281.93959 +Q 344.781032 281.695147 344.1761 282.281919 +Q 343.57315 282.867713 343.089784 284.292649 +Q 342.608427 285.711666 342.73002 286.544889 +Q 342.853092 287.378614 343.573699 287.623057 +Q 344.300224 287.869508 344.903676 287.282234 +Q 345.508608 286.695462 345.989966 285.276445 +Q 346.473331 283.851509 346.349756 283.019264 +Q 346.228163 282.186041 345.501638 281.93959 +z +M 345.752607 281.199748 +Q 346.914159 281.593768 347.215045 282.720454 +Q 347.516434 283.84566 346.923646 285.593167 +Q 346.332365 287.336235 345.408073 288.047317 +Q 344.484282 288.75692 343.32273 288.362899 +Q 342.162658 287.969381 341.861269 286.844175 +Q 341.560383 285.717489 342.151665 283.974421 +Q 342.744452 282.226914 343.668242 281.517311 +Q 344.592534 280.806229 345.752607 281.199748 +z +M 347.79446 288.419588 +L 348.771052 288.750867 +L 348.372514 289.925736 +L 347.395922 289.594458 +z +M 352.75855 283.714892 +L 356.425208 284.958692 +L 356.158177 285.745884 +L 353.346777 284.792204 +L 352.773063 286.483483 +Q 352.999371 286.482703 353.213633 286.517436 +Q 353.429373 286.55267 353.63357 286.621938 +Q 354.789203 287.01395 355.24911 287.876138 +Q 355.710497 288.738828 355.343581 289.820478 +Q 354.965623 290.93468 354.061841 291.31778 +Q 353.158562 291.699399 351.896391 291.271247 +Q 351.461364 291.123678 351.035157 290.896603 +Q 350.61043 290.67003 350.179726 290.358932 +L 350.498456 289.419332 +Q 350.837451 289.786768 351.243711 290.048326 +Q 351.649971 290.309883 352.144185 290.47753 +Q 352.944695 290.749078 353.553345 290.486958 +Q 354.163476 290.225339 354.408421 289.503254 +Q 354.652864 288.782647 354.327834 288.203805 +Q 354.004785 287.623985 353.204276 287.352437 +Q 352.829916 287.225447 352.428927 287.181821 +Q 352.029418 287.138697 351.58201 287.183272 +z +M 360.56205 287.048367 +Q 359.841444 286.803923 359.236512 287.390695 +Q 358.633561 287.976489 358.150196 289.401425 +Q 357.668838 290.820443 357.790431 291.653666 +Q 357.913504 292.487391 358.63411 292.731834 +Q 359.360635 292.978285 359.964088 292.391011 +Q 360.56902 291.804239 361.050377 290.385222 +Q 361.533742 288.960286 361.410168 288.128041 +Q 361.288575 287.294818 360.56205 287.048367 +z +M 360.813018 286.308524 +Q 361.974571 286.702545 362.275457 287.829231 +Q 362.576845 288.954437 361.984058 290.701944 +Q 361.392776 292.445012 360.468484 293.156094 +Q 359.544694 293.865696 358.383142 293.471676 +Q 357.223069 293.078157 356.921681 291.952951 +Q 356.620794 290.826265 357.212076 289.083197 +Q 357.804864 287.33569 358.728654 286.626088 +Q 359.652946 285.915006 360.813018 286.308524 +z +M 366.587139 289.092191 +Q 365.866533 288.847748 365.261601 289.43452 +Q 364.658651 290.020314 364.175285 291.44525 +Q 363.693928 292.864267 363.815521 293.69749 +Q 363.938593 294.531215 364.6592 294.775658 +Q 365.385725 295.022109 365.989177 294.434835 +Q 366.594109 293.848063 367.075467 292.429046 +Q 367.558832 291.00411 367.435257 290.171865 +Q 367.313664 289.338642 366.587139 289.092191 +z +M 366.838108 288.352349 +Q 367.99966 288.746369 368.300546 289.873055 +Q 368.601935 290.998261 368.009147 292.745768 +Q 367.417866 294.488836 366.493574 295.199919 +Q 365.569783 295.909521 364.408231 295.5155 +Q 363.248159 295.121982 362.94677 293.996776 +Q 362.645884 292.87009 363.237166 291.127022 +Q 363.829953 289.379515 364.753743 288.669912 +Q 365.678035 287.95883 366.838108 288.352349 z " style="fill:#ffffff;"/> - </g> - <g id="text_34"> - <g id="patch_83"> - <path clip-path="url(#p826a730be7)" d="M 186.985127 282.632693 -L 188.244658 282.815949 -L 188.397923 281.578789 -L 188.551189 280.34163 -L 189.78073 280.547257 -L 191.010271 280.752884 -L 191.163537 279.515725 -L 191.316802 278.278566 -L 192.546343 278.484193 -L 193.775884 278.68982 -L 193.92915 277.45266 -L 194.082416 276.215501 -L 195.311957 276.421128 -L 196.541498 276.626755 -L 196.694763 275.389596 -L 196.848029 274.152437 -L 198.07757 274.358064 -L 199.307111 274.563691 -L 199.460377 273.326531 -L 199.613643 272.089372 -L 200.843183 272.294999 -L 202.072724 272.500626 -L 202.22599 271.263467 -L 202.379256 270.026308 -L 203.608797 270.231935 -L 204.838338 270.437562 -L 204.991604 269.200403 -L 205.144869 267.963243 -L 206.37441 268.16887 -L 207.603951 268.374497 -L 207.757217 267.137338 -L 207.910483 265.900179 -L 209.140024 266.105806 -L 210.369565 266.311433 -L 210.52283 265.074274 -L 210.676096 263.837114 -L 211.905637 264.042741 -L 213.135178 264.248368 -L 213.288444 263.011209 -L 213.441709 261.77405 -L 214.67125 261.979677 -L 215.900791 262.185304 -L 216.054057 260.948145 -L 216.207323 259.710985 -L 217.436864 259.916612 -L 218.666405 260.122239 -L 218.84966 258.862709 -L 219.032916 257.603178 -L 217.742975 257.379156 -L 216.453034 257.155135 -L 216.605879 255.854838 -L 216.758724 254.554541 -L 215.468783 254.330519 -L 214.178842 254.106497 -L 214.331687 252.806201 -L 214.484532 251.505904 -L 213.194591 251.281882 -L 211.90465 251.05786 -L 212.057495 249.757563 -L 212.21034 248.457266 -L 210.920399 248.233245 -L 209.630458 248.009223 -L 209.783304 246.708926 -L 209.936149 245.408629 -L 208.676618 245.225374 -L 207.417087 245.042118 -L 207.263822 246.279277 -L 207.110556 247.516437 -L 205.881015 247.31081 -L 204.651474 247.105183 -L 204.498208 248.342342 -L 204.344943 249.579501 -L 203.115402 249.373874 -L 201.885861 249.168247 -L 201.732595 250.405406 -L 201.579329 251.642566 -L 200.349788 251.436939 -L 199.120247 251.231312 -L 198.966982 252.468471 -L 198.813716 253.70563 -L 197.584175 253.500003 -L 196.354634 253.294376 -L 196.201368 254.531535 -L 196.048102 255.768695 -L 194.818561 255.563068 -L 193.589021 255.357441 -L 193.435755 256.5946 -L 193.282489 257.831759 -L 192.052948 257.626132 -L 190.823407 257.420505 -L 190.670141 258.657664 -L 190.516876 259.894823 -L 189.287335 259.689197 -L 188.057794 259.48357 -L 187.904528 260.720729 -L 187.751262 261.957888 -L 186.521721 261.752261 -L 185.29218 261.546634 -L 185.138915 262.783793 -L 184.985649 264.020952 -L 183.756108 263.815325 -L 182.526567 263.609699 -L 182.373301 264.846858 -L 182.220035 266.084017 -L 180.990495 265.87839 -L 179.760954 265.672763 -L 179.607688 266.909922 -L 179.454422 268.147081 -L 178.224881 267.941454 -L 176.99534 267.735827 -L 176.812085 268.995358 -L 176.628829 270.254889 -L 177.91877 270.478911 -L 179.208711 270.702932 -L 179.055866 272.003229 -L 178.903021 273.303526 -L 180.192962 273.527548 -L 181.482903 273.751569 -L 181.330058 275.051866 -L 181.177213 276.352163 -L 182.467154 276.576185 -L 183.757095 276.800207 -L 183.60425 278.100503 -L 183.451405 279.4008 -L 184.741346 279.624822 -L 186.031287 279.848844 -L 185.878441 281.149141 -L 185.725596 282.449438 + </g> + <g id="text_34"> + <g id="patch_84"> + <path clip-path="url(#pedd1dac049)" d="M 149.903466 226.298562 +L 150.951269 226.463205 +L 151.09071 225.433759 +L 151.230151 224.404312 +L 152.252753 224.587312 +L 153.275355 224.770313 +L 153.414796 223.740866 +L 153.554237 222.71142 +L 154.576839 222.89442 +L 155.59944 223.07742 +L 155.738881 222.047974 +L 155.878322 221.018527 +L 156.900924 221.201527 +L 157.923526 221.384528 +L 158.062967 220.355081 +L 158.202408 219.325635 +L 159.22501 219.508635 +L 160.247611 219.691635 +L 160.387052 218.662189 +L 160.526493 217.632742 +L 161.549095 217.815742 +L 162.571697 217.998742 +L 162.711138 216.969296 +L 162.850579 215.93985 +L 163.873181 216.12285 +L 164.895782 216.30585 +L 165.035223 215.276404 +L 165.174664 214.246957 +L 166.197266 214.429957 +L 167.219868 214.612957 +L 167.359309 213.583511 +L 167.49875 212.554065 +L 168.521352 212.737065 +L 169.543954 212.920065 +L 169.683394 211.890618 +L 169.822835 210.861172 +L 170.845437 211.044172 +L 171.868039 211.227172 +L 172.00748 210.197726 +L 172.146921 209.16828 +L 173.169523 209.35128 +L 174.192125 209.53428 +L 174.331565 208.504833 +L 174.471006 207.475387 +L 175.493608 207.658387 +L 176.51621 207.841387 +L 176.680853 206.793584 +L 176.845496 205.74578 +L 175.772738 205.546879 +L 174.69998 205.347978 +L 174.839669 204.265917 +L 174.979358 203.183855 +L 173.9066 202.984954 +L 172.833843 202.786054 +L 172.973532 201.703992 +L 173.11322 200.62193 +L 172.040463 200.423029 +L 170.967705 200.224129 +L 171.107394 199.142067 +L 171.247083 198.060005 +L 170.174325 197.861105 +L 169.101567 197.662204 +L 169.241256 196.580142 +L 169.380945 195.49808 +L 168.333141 195.333438 +L 167.285338 195.168795 +L 167.145897 196.198241 +L 167.006456 197.227688 +L 165.983854 197.044688 +L 164.961252 196.861687 +L 164.821811 197.891134 +L 164.68237 198.92058 +L 163.659768 198.73758 +L 162.637167 198.55458 +L 162.497726 199.584026 +L 162.358285 200.613473 +L 161.335683 200.430473 +L 160.313081 200.247472 +L 160.17364 201.276919 +L 160.034199 202.306365 +L 159.011597 202.123365 +L 157.988996 201.940365 +L 157.849555 202.969811 +L 157.710114 203.999258 +L 156.687512 203.816258 +L 155.66491 203.633258 +L 155.525469 204.662704 +L 155.386028 205.69215 +L 154.363426 205.50915 +L 153.340825 205.32615 +L 153.201384 206.355596 +L 153.061943 207.385043 +L 152.039341 207.202043 +L 151.016739 207.019043 +L 150.877298 208.048489 +L 150.737857 209.077935 +L 149.715255 208.894935 +L 148.692654 208.711935 +L 148.553213 209.741382 +L 148.413772 210.770828 +L 147.39117 210.587828 +L 146.368568 210.404828 +L 146.229127 211.434274 +L 146.089686 212.46372 +L 145.067084 212.28072 +L 144.044482 212.09772 +L 143.905042 213.127167 +L 143.765601 214.156613 +L 142.742999 213.973613 +L 141.720397 213.790613 +L 141.555754 214.838416 +L 141.391111 215.88622 +L 142.463869 216.085121 +L 143.536627 216.284022 +L 143.396938 217.366083 +L 143.257249 218.448145 +L 144.330007 218.647046 +L 145.402764 218.845946 +L 145.263075 219.928008 +L 145.123387 221.01007 +L 146.196144 221.208971 +L 147.268902 221.407871 +L 147.129213 222.489933 +L 146.989524 223.571995 +L 148.062282 223.770895 +L 149.13504 223.969796 +L 148.995351 225.051858 +L 148.855662 226.13392 z " style="fill:none;stroke:#0000ff;stroke-linejoin:miter;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 184.334826 268.186046 -Q 183.602913 268.732031 183.771337 269.72922 -Q 183.940142 270.723784 185.01978 272.171079 -Q 186.094934 273.612362 187.001283 274.059081 -Q 187.909135 274.504679 188.641048 273.958693 -Q 189.378973 273.408223 189.209046 272.412156 -Q 189.040623 271.414967 187.965469 269.973684 -Q 186.88583 268.526389 185.9791 268.082295 -Q 185.072751 267.635576 184.334826 268.186046 -z -M 183.774266 267.434595 -Q 184.954045 266.554516 186.272462 267.023674 -Q 187.589758 267.49133 188.9138 269.266258 -Q 190.234479 271.036676 190.308493 272.434122 -Q 190.381386 273.830065 189.201608 274.710144 -Q 188.023333 275.589102 186.706037 275.121447 -Q 185.38762 274.652288 184.06694 272.881869 -Q 182.742898 271.106942 182.670005 269.710999 -Q 182.595991 268.313553 183.774266 267.434595 -z -M 192.300129 270.328528 -L 193.292044 269.588589 -L 194.182213 270.781893 -L 193.190298 271.521832 -z -M 191.02714 262.220664 -L 194.751331 259.442529 -L 195.347767 260.242073 -L 192.492253 262.372201 -L 193.773693 264.090018 -Q 193.926898 263.865788 194.10701 263.677628 -Q 194.288624 263.488347 194.496025 263.333632 -Q 195.669792 262.458038 196.834954 262.590049 -Q 198.00162 262.720939 198.821159 263.819561 -Q 199.665362 264.951246 199.429129 266.105265 -Q 199.191775 267.25778 197.909799 268.214095 -Q 197.467946 268.543705 196.953505 268.810501 -Q 196.440566 269.076176 195.840011 269.29025 -L 195.1281 268.335907 -Q 195.721947 268.250817 196.256902 268.027198 -Q 196.791856 267.80358 197.293826 267.429126 -Q 198.106896 266.8226 198.261912 266.042623 -Q 198.418431 265.261525 197.871324 264.528109 -Q 197.325339 263.796195 196.532024 263.723645 -Q 195.739091 263.648471 194.92602 264.254996 -Q 194.545786 264.53864 194.229838 264.905325 -Q 193.915392 265.270888 193.655045 265.743467 -z -M 199.631553 256.775147 -Q 198.89964 257.321133 199.068063 258.318321 -Q 199.236869 259.312886 200.316507 260.760181 -Q 201.391661 262.201464 202.29801 262.648183 -Q 203.205861 263.09378 203.937775 262.547795 -Q 204.6757 261.997325 204.505773 261.001257 -Q 204.33735 260.004069 203.262196 258.562786 -Q 202.182557 257.115491 201.275827 256.671396 -Q 200.369478 256.224677 199.631553 256.775147 -z -M 199.070993 256.023696 -Q 200.250772 255.143617 201.569189 255.612776 -Q 202.886484 256.080431 204.210527 257.855359 -Q 205.531206 259.625778 205.60522 261.023224 -Q 205.678113 262.419167 204.498335 263.299246 -Q 203.320059 264.178204 202.002764 263.710548 -Q 200.684347 263.241389 199.363667 261.470971 -Q 198.039625 259.696043 197.966732 258.3001 -Q 197.892718 256.902654 199.070993 256.023696 -z -M 205.751183 252.210087 -Q 205.01927 252.756073 205.187693 253.753261 -Q 205.356499 254.747826 206.436137 256.19512 -Q 207.511291 257.636404 208.41764 258.083122 -Q 209.325491 258.52872 210.057405 257.982735 -Q 210.79533 257.432265 210.625403 256.436197 -Q 210.45698 255.439009 209.381826 253.997725 -Q 208.302187 252.550431 207.395457 252.106336 -Q 206.489108 251.659617 205.751183 252.210087 -z -M 205.190623 251.458636 -Q 206.370402 250.578557 207.688819 251.047716 -Q 209.006114 251.515371 210.330157 253.290299 -Q 211.650836 255.060718 211.72485 256.458164 -Q 211.797743 257.854107 210.617965 258.734186 -Q 209.439689 259.613144 208.122394 259.145488 -Q 206.803977 258.676329 205.483297 256.905911 -Q 204.159255 255.130983 204.086362 253.73504 -Q 204.012348 252.337594 205.190623 251.458636 + </g> + <path clip-path="url(#pedd1dac049)" d="M 147.831972 214.235345 +Q 147.216908 214.683365 147.347799 215.515899 +Q 147.479033 216.346249 148.364954 217.562484 +Q 149.247195 218.773668 149.998202 219.154501 +Q 150.750472 219.534414 151.365536 219.086394 +Q 151.985652 218.634694 151.853498 217.803081 +Q 151.722607 216.970548 150.840365 215.759364 +Q 149.954445 214.543129 149.203095 214.164478 +Q 148.452088 213.783645 147.831972 214.235345 +z +M 147.371992 213.603862 +Q 148.36342 212.881694 149.457582 213.285133 +Q 150.550824 213.687308 151.637296 215.17887 +Q 152.721009 216.666643 152.769436 217.831807 +Q 152.816943 218.995709 151.825515 219.717877 +Q 150.835351 220.439125 149.742108 220.03695 +Q 148.647946 219.633512 147.564234 218.145739 +Q 146.477762 216.654177 146.430255 215.490275 +Q 146.381827 214.325111 147.371992 213.603862 +z +M 154.448985 216.096138 +L 155.282542 215.488965 +L 156.012989 216.491759 +L 155.179432 217.098933 +z +M 153.465087 209.327955 +L 156.594715 207.048296 +L 157.084133 207.720193 +L 154.6845 209.468116 +L 155.736013 210.911685 +Q 155.865801 210.726291 156.017669 210.571209 +Q 156.170799 210.415206 156.345088 210.288252 +Q 157.331464 209.569763 158.301118 209.690811 +Q 159.272036 209.810939 159.944526 210.734166 +Q 160.637256 211.685179 160.429468 212.644559 +Q 160.220761 213.602677 159.143451 214.387402 +Q 158.77214 214.65787 158.340937 214.87531 +Q 157.910998 215.091829 157.408538 215.264519 +L 156.824364 214.462536 +Q 157.320011 214.397261 157.767897 214.215996 +Q 158.215784 214.034731 158.637614 213.727464 +Q 159.320878 213.229766 159.457444 212.581297 +Q 159.595273 211.931908 159.146332 211.315581 +Q 158.698312 210.700517 158.037947 210.632542 +Q 157.377924 210.562384 156.69466 211.060082 +Q 156.37513 211.292831 156.10838 211.595387 +Q 155.842894 211.897023 155.621472 212.288345 +z +M 160.686589 204.871883 +Q 160.071525 205.319904 160.202416 206.152437 +Q 160.33365 206.982787 161.219571 208.199023 +Q 162.101812 209.410206 162.852819 209.79104 +Q 163.605089 210.170953 164.220153 209.722933 +Q 164.840269 209.271233 164.708115 208.439619 +Q 164.577224 207.607086 163.694983 206.395902 +Q 162.809062 205.179667 162.057712 204.801017 +Q 161.306705 204.420183 160.686589 204.871883 +z +M 160.226609 204.240401 +Q 161.218037 203.518233 162.312199 203.921671 +Q 163.405442 204.323846 164.491914 205.815408 +Q 165.575626 207.303181 165.624053 208.468346 +Q 165.67156 209.632247 164.680133 210.354415 +Q 163.689968 211.075663 162.596726 210.673488 +Q 161.502563 210.27005 160.418851 208.782277 +Q 159.332379 207.290715 159.284872 206.126814 +Q 159.236445 204.961649 160.226609 204.240401 +z +M 165.829225 201.125924 +Q 165.214161 201.573944 165.345052 202.406477 +Q 165.476286 203.236828 166.362207 204.453063 +Q 167.244448 205.664247 167.995455 206.04508 +Q 168.747725 206.424993 169.362789 205.976973 +Q 169.982905 205.525273 169.850751 204.69366 +Q 169.71986 203.861126 168.837619 202.649943 +Q 167.951698 201.433707 167.200348 201.055057 +Q 166.449341 200.674224 165.829225 201.125924 +z +M 165.369246 200.494441 +Q 166.360673 199.772273 167.454836 200.175711 +Q 168.548078 200.577887 169.63455 202.069448 +Q 170.718262 203.557221 170.766689 204.722386 +Q 170.814197 205.886288 169.822769 206.608456 +Q 168.832604 207.329704 167.739362 206.927529 +Q 166.645199 206.52409 165.561487 205.036317 +Q 164.475015 203.544756 164.427508 202.380854 +Q 164.379081 201.215689 165.369246 200.494441 z " style="fill:#ffffff;stroke:#000000;stroke-width:3;"/> - <path clip-path="url(#p826a730be7)" d="M 184.334826 268.186046 -Q 183.602913 268.732031 183.771337 269.72922 -Q 183.940142 270.723784 185.01978 272.171079 -Q 186.094934 273.612362 187.001283 274.059081 -Q 187.909135 274.504679 188.641048 273.958693 -Q 189.378973 273.408223 189.209046 272.412156 -Q 189.040623 271.414967 187.965469 269.973684 -Q 186.88583 268.526389 185.9791 268.082295 -Q 185.072751 267.635576 184.334826 268.186046 -z -M 183.774266 267.434595 -Q 184.954045 266.554516 186.272462 267.023674 -Q 187.589758 267.49133 188.9138 269.266258 -Q 190.234479 271.036676 190.308493 272.434122 -Q 190.381386 273.830065 189.201608 274.710144 -Q 188.023333 275.589102 186.706037 275.121447 -Q 185.38762 274.652288 184.06694 272.881869 -Q 182.742898 271.106942 182.670005 269.710999 -Q 182.595991 268.313553 183.774266 267.434595 -z -M 192.300129 270.328528 -L 193.292044 269.588589 -L 194.182213 270.781893 -L 193.190298 271.521832 -z -M 191.02714 262.220664 -L 194.751331 259.442529 -L 195.347767 260.242073 -L 192.492253 262.372201 -L 193.773693 264.090018 -Q 193.926898 263.865788 194.10701 263.677628 -Q 194.288624 263.488347 194.496025 263.333632 -Q 195.669792 262.458038 196.834954 262.590049 -Q 198.00162 262.720939 198.821159 263.819561 -Q 199.665362 264.951246 199.429129 266.105265 -Q 199.191775 267.25778 197.909799 268.214095 -Q 197.467946 268.543705 196.953505 268.810501 -Q 196.440566 269.076176 195.840011 269.29025 -L 195.1281 268.335907 -Q 195.721947 268.250817 196.256902 268.027198 -Q 196.791856 267.80358 197.293826 267.429126 -Q 198.106896 266.8226 198.261912 266.042623 -Q 198.418431 265.261525 197.871324 264.528109 -Q 197.325339 263.796195 196.532024 263.723645 -Q 195.739091 263.648471 194.92602 264.254996 -Q 194.545786 264.53864 194.229838 264.905325 -Q 193.915392 265.270888 193.655045 265.743467 -z -M 199.631553 256.775147 -Q 198.89964 257.321133 199.068063 258.318321 -Q 199.236869 259.312886 200.316507 260.760181 -Q 201.391661 262.201464 202.29801 262.648183 -Q 203.205861 263.09378 203.937775 262.547795 -Q 204.6757 261.997325 204.505773 261.001257 -Q 204.33735 260.004069 203.262196 258.562786 -Q 202.182557 257.115491 201.275827 256.671396 -Q 200.369478 256.224677 199.631553 256.775147 -z -M 199.070993 256.023696 -Q 200.250772 255.143617 201.569189 255.612776 -Q 202.886484 256.080431 204.210527 257.855359 -Q 205.531206 259.625778 205.60522 261.023224 -Q 205.678113 262.419167 204.498335 263.299246 -Q 203.320059 264.178204 202.002764 263.710548 -Q 200.684347 263.241389 199.363667 261.470971 -Q 198.039625 259.696043 197.966732 258.3001 -Q 197.892718 256.902654 199.070993 256.023696 -z -M 205.751183 252.210087 -Q 205.01927 252.756073 205.187693 253.753261 -Q 205.356499 254.747826 206.436137 256.19512 -Q 207.511291 257.636404 208.41764 258.083122 -Q 209.325491 258.52872 210.057405 257.982735 -Q 210.79533 257.432265 210.625403 256.436197 -Q 210.45698 255.439009 209.381826 253.997725 -Q 208.302187 252.550431 207.395457 252.106336 -Q 206.489108 251.659617 205.751183 252.210087 -z -M 205.190623 251.458636 -Q 206.370402 250.578557 207.688819 251.047716 -Q 209.006114 251.515371 210.330157 253.290299 -Q 211.650836 255.060718 211.72485 256.458164 -Q 211.797743 257.854107 210.617965 258.734186 -Q 209.439689 259.613144 208.122394 259.145488 -Q 206.803977 258.676329 205.483297 256.905911 -Q 204.159255 255.130983 204.086362 253.73504 -Q 204.012348 252.337594 205.190623 251.458636 + <path clip-path="url(#pedd1dac049)" d="M 147.831972 214.235345 +Q 147.216908 214.683365 147.347799 215.515899 +Q 147.479033 216.346249 148.364954 217.562484 +Q 149.247195 218.773668 149.998202 219.154501 +Q 150.750472 219.534414 151.365536 219.086394 +Q 151.985652 218.634694 151.853498 217.803081 +Q 151.722607 216.970548 150.840365 215.759364 +Q 149.954445 214.543129 149.203095 214.164478 +Q 148.452088 213.783645 147.831972 214.235345 +z +M 147.371992 213.603862 +Q 148.36342 212.881694 149.457582 213.285133 +Q 150.550824 213.687308 151.637296 215.17887 +Q 152.721009 216.666643 152.769436 217.831807 +Q 152.816943 218.995709 151.825515 219.717877 +Q 150.835351 220.439125 149.742108 220.03695 +Q 148.647946 219.633512 147.564234 218.145739 +Q 146.477762 216.654177 146.430255 215.490275 +Q 146.381827 214.325111 147.371992 213.603862 +z +M 154.448985 216.096138 +L 155.282542 215.488965 +L 156.012989 216.491759 +L 155.179432 217.098933 +z +M 153.465087 209.327955 +L 156.594715 207.048296 +L 157.084133 207.720193 +L 154.6845 209.468116 +L 155.736013 210.911685 +Q 155.865801 210.726291 156.017669 210.571209 +Q 156.170799 210.415206 156.345088 210.288252 +Q 157.331464 209.569763 158.301118 209.690811 +Q 159.272036 209.810939 159.944526 210.734166 +Q 160.637256 211.685179 160.429468 212.644559 +Q 160.220761 213.602677 159.143451 214.387402 +Q 158.77214 214.65787 158.340937 214.87531 +Q 157.910998 215.091829 157.408538 215.264519 +L 156.824364 214.462536 +Q 157.320011 214.397261 157.767897 214.215996 +Q 158.215784 214.034731 158.637614 213.727464 +Q 159.320878 213.229766 159.457444 212.581297 +Q 159.595273 211.931908 159.146332 211.315581 +Q 158.698312 210.700517 158.037947 210.632542 +Q 157.377924 210.562384 156.69466 211.060082 +Q 156.37513 211.292831 156.10838 211.595387 +Q 155.842894 211.897023 155.621472 212.288345 +z +M 160.686589 204.871883 +Q 160.071525 205.319904 160.202416 206.152437 +Q 160.33365 206.982787 161.219571 208.199023 +Q 162.101812 209.410206 162.852819 209.79104 +Q 163.605089 210.170953 164.220153 209.722933 +Q 164.840269 209.271233 164.708115 208.439619 +Q 164.577224 207.607086 163.694983 206.395902 +Q 162.809062 205.179667 162.057712 204.801017 +Q 161.306705 204.420183 160.686589 204.871883 +z +M 160.226609 204.240401 +Q 161.218037 203.518233 162.312199 203.921671 +Q 163.405442 204.323846 164.491914 205.815408 +Q 165.575626 207.303181 165.624053 208.468346 +Q 165.67156 209.632247 164.680133 210.354415 +Q 163.689968 211.075663 162.596726 210.673488 +Q 161.502563 210.27005 160.418851 208.782277 +Q 159.332379 207.290715 159.284872 206.126814 +Q 159.236445 204.961649 160.226609 204.240401 +z +M 165.829225 201.125924 +Q 165.214161 201.573944 165.345052 202.406477 +Q 165.476286 203.236828 166.362207 204.453063 +Q 167.244448 205.664247 167.995455 206.04508 +Q 168.747725 206.424993 169.362789 205.976973 +Q 169.982905 205.525273 169.850751 204.69366 +Q 169.71986 203.861126 168.837619 202.649943 +Q 167.951698 201.433707 167.200348 201.055057 +Q 166.449341 200.674224 165.829225 201.125924 +z +M 165.369246 200.494441 +Q 166.360673 199.772273 167.454836 200.175711 +Q 168.548078 200.577887 169.63455 202.069448 +Q 170.718262 203.557221 170.766689 204.722386 +Q 170.814197 205.886288 169.822769 206.608456 +Q 168.832604 207.329704 167.739362 206.927529 +Q 166.645199 206.52409 165.561487 205.036317 +Q 164.475015 203.544756 164.427508 202.380854 +Q 164.379081 201.215689 165.369246 200.494441 z " style="fill:#ffffff;"/> - </g> - <g id="text_35"> - <g id="patch_84"> - <path clip-path="url(#p826a730be7)" d="M 101.213951 69.480616 -L 101.786305 70.617459 -L 102.88762 70.033371 -L 103.988936 69.449284 -L 104.525762 70.574393 -L 105.062589 71.699502 -L 106.163904 71.115414 -L 107.265219 70.531327 -L 107.802046 71.656436 -L 108.338873 72.781545 -L 109.440188 72.197458 -L 110.541503 71.61337 -L 111.07833 72.738479 -L 111.615156 73.863588 -L 112.716472 73.279501 -L 113.817787 72.695413 -L 114.354613 73.820522 -L 114.89144 74.945631 -L 115.992755 74.361544 -L 117.09407 73.777456 -L 117.630897 74.902565 -L 118.167724 76.027674 -L 119.269039 75.443587 -L 120.370354 74.859499 -L 120.907181 75.984608 -L 121.444008 77.109717 -L 122.545323 76.52563 -L 123.646638 75.941543 -L 124.183465 77.066652 -L 124.720291 78.191761 -L 125.821606 77.607673 -L 126.922922 77.023586 -L 127.459748 78.148695 -L 127.996575 79.273804 -L 129.09789 78.689716 -L 130.199205 78.105629 -L 130.736032 79.230738 -L 131.272859 80.355847 -L 132.374174 79.771759 -L 133.475489 79.187672 -L 134.012316 80.312781 -L 134.549142 81.43789 -L 135.650458 80.853802 -L 136.751773 80.269715 -L 137.2886 81.394824 -L 137.825426 82.519933 -L 138.962269 81.947579 -L 140.099111 81.375225 -L 139.542707 80.190089 -L 138.986303 79.004953 -L 140.139095 78.384305 -L 141.291887 77.763657 -L 140.735483 76.578521 -L 140.179078 75.393385 -L 141.331871 74.772737 -L 142.484663 74.152089 -L 141.928259 72.966953 -L 141.371854 71.781817 -L 142.524647 71.161169 -L 143.677439 70.540521 -L 143.121035 69.355385 -L 142.56463 68.170249 -L 143.717422 67.549601 -L 144.870215 66.928953 -L 144.297861 65.792111 -L 143.725507 64.655268 -L 142.624191 65.239356 -L 141.522876 65.823443 -L 140.98605 64.698334 -L 140.449223 63.573225 -L 139.347908 64.157313 -L 138.246593 64.7414 -L 137.709766 63.616291 -L 137.172939 62.491182 -L 136.071624 63.07527 -L 134.970309 63.659357 -L 134.433482 62.534248 -L 133.896655 61.409139 -L 132.79534 61.993227 -L 131.694025 62.577314 -L 131.157198 61.452205 -L 130.620372 60.327096 -L 129.519057 60.911184 -L 128.417741 61.495271 -L 127.880915 60.370162 -L 127.344088 59.245053 -L 126.242773 59.82914 -L 125.141458 60.413228 -L 124.604631 59.288119 -L 124.067804 58.16301 -L 122.966489 58.747097 -L 121.865174 59.331185 -L 121.328347 58.206076 -L 120.79152 57.080967 -L 119.690205 57.665054 -L 118.58889 58.249142 -L 118.052063 57.124033 -L 117.515237 55.998924 -L 116.413922 56.583011 -L 115.312606 57.167099 -L 114.77578 56.041989 -L 114.238953 54.91688 -L 113.137638 55.500968 -L 112.036323 56.085055 -L 111.499496 54.959946 -L 110.962669 53.834837 -L 109.861354 54.418925 -L 108.760039 55.003012 -L 108.223212 53.877903 -L 107.686386 52.752794 -L 106.549543 53.325148 -L 105.412701 53.897502 -L 105.969105 55.082638 -L 106.525509 56.267775 -L 105.372717 56.888422 -L 104.219925 57.50907 -L 104.776329 58.694206 -L 105.332733 59.879343 -L 104.179941 60.49999 -L 103.027149 61.120638 -L 103.583553 62.305774 -L 104.139957 63.49091 -L 102.987165 64.111558 -L 101.834373 64.732206 -L 102.390777 65.917342 -L 102.947182 67.102478 -L 101.794389 67.723126 -L 100.641597 68.343774 + </g> + <g id="text_35"> + <g id="patch_85"> + <path clip-path="url(#pedd1dac049)" d="M 80.273535 62.04738 +L 80.762209 62.988761 +L 81.673865 62.490678 +L 82.585521 61.992594 +L 83.044469 62.924565 +L 83.503417 63.856536 +L 84.415073 63.358453 +L 85.326729 62.860369 +L 85.785678 63.79234 +L 86.244626 64.724311 +L 87.156282 64.226228 +L 88.067938 63.728144 +L 88.526886 64.660115 +L 88.985835 65.592087 +L 89.897491 65.094003 +L 90.809147 64.59592 +L 91.268095 65.527891 +L 91.727043 66.459862 +L 92.638699 65.961778 +L 93.550355 65.463695 +L 94.009304 66.395666 +L 94.468252 67.327637 +L 95.379908 66.829553 +L 96.291564 66.33147 +L 96.750512 67.263441 +L 97.209461 68.195412 +L 98.121117 67.697329 +L 99.032772 67.199245 +L 99.491721 68.131216 +L 99.950669 69.063187 +L 100.862325 68.565104 +L 101.773981 68.06702 +L 102.23293 68.998991 +L 102.691878 69.930962 +L 103.603534 69.432879 +L 104.51519 68.934795 +L 104.974138 69.866766 +L 105.433087 70.798738 +L 106.344742 70.300654 +L 107.256398 69.802571 +L 107.715347 70.734542 +L 108.174295 71.666513 +L 109.085951 71.168429 +L 109.997607 70.670346 +L 110.456555 71.602317 +L 110.915504 72.534288 +L 111.856885 72.045614 +L 112.798266 71.556941 +L 112.322384 70.575153 +L 111.846502 69.593366 +L 112.800674 69.064286 +L 113.754846 68.535206 +L 113.278964 67.553418 +L 112.803082 66.571631 +L 113.757254 66.042551 +L 114.711427 65.513471 +L 114.235545 64.531683 +L 113.759662 63.549896 +L 114.713835 63.020816 +L 115.668007 62.491736 +L 115.192125 61.509949 +L 114.716243 60.528161 +L 115.670415 59.999081 +L 116.624588 59.470001 +L 116.135914 58.52862 +L 115.647241 57.587239 +L 114.735585 58.085322 +L 113.823929 58.583406 +L 113.36498 57.651435 +L 112.906032 56.719464 +L 111.994376 57.217547 +L 111.08272 57.715631 +L 110.623772 56.78366 +L 110.164823 55.851689 +L 109.253167 56.349772 +L 108.341512 56.847856 +L 107.882563 55.915885 +L 107.423615 54.983913 +L 106.511959 55.481997 +L 105.600303 55.98008 +L 105.141354 55.048109 +L 104.682406 54.116138 +L 103.77075 54.614222 +L 102.859094 55.112305 +L 102.400146 54.180334 +L 101.941197 53.248363 +L 101.029542 53.746447 +L 100.117886 54.24453 +L 99.658937 53.312559 +L 99.199989 52.380588 +L 98.288333 52.878671 +L 97.376677 53.376755 +L 96.917729 52.444784 +L 96.45878 51.512813 +L 95.547124 52.010896 +L 94.635468 52.50898 +L 94.17652 51.577009 +L 93.717572 50.645038 +L 92.805916 51.143121 +L 91.89426 51.641205 +L 91.435311 50.709234 +L 90.976363 49.777262 +L 90.064707 50.275346 +L 89.153051 50.773429 +L 88.694103 49.841458 +L 88.235154 48.909487 +L 87.323498 49.407571 +L 86.411842 49.905654 +L 85.952894 48.973683 +L 85.493946 48.041712 +L 84.552565 48.530386 +L 83.611184 49.019059 +L 84.087066 50.000847 +L 84.562948 50.982634 +L 83.608775 51.511714 +L 82.654603 52.040794 +L 83.130485 53.022582 +L 83.606367 54.004369 +L 82.652195 54.533449 +L 81.698023 55.062529 +L 82.173905 56.044317 +L 82.649787 57.026104 +L 81.695615 57.555184 +L 80.741442 58.084264 +L 81.217324 59.066051 +L 81.693206 60.047839 +L 80.739034 60.576919 +L 79.784862 61.105999 z " style="fill:none;stroke:#0000ff;stroke-linejoin:miter;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 111.527516 59.023079 -Q 110.660455 58.736719 109.940229 59.446667 -Q 109.222372 60.155422 108.656119 61.86996 -Q 108.092219 63.577376 108.246176 64.576037 -Q 108.401913 65.575285 109.268974 65.861645 -Q 110.143157 66.150358 110.861602 65.439822 -Q 111.581828 64.729873 112.145729 63.022457 -Q 112.711981 61.30792 112.555656 60.310452 -Q 112.401699 59.311791 111.527516 59.023079 -z -M 111.82152 58.132872 -Q 113.219145 58.594459 113.591082 59.943531 -Q 113.963608 61.290823 113.269169 63.393491 -Q 112.576495 65.490818 111.47425 66.353018 -Q 110.372594 67.213439 108.97497 66.751852 -Q 107.579126 66.290853 107.2066 64.943561 -Q 106.834663 63.594489 107.527337 61.497163 -Q 108.221776 59.394495 109.323432 58.534074 -Q 110.425677 57.671873 111.82152 58.132872 -z -M 114.341419 66.776673 -L 115.516492 67.164759 -L 115.049613 68.578407 -L 113.87454 68.190321 -z -M 120.25268 61.08326 -L 124.664544 62.540346 -L 124.351723 63.487526 -L 120.968938 62.370309 -L 120.296844 64.405321 -Q 120.568397 64.402199 120.825838 64.441806 -Q 121.085059 64.482002 121.330756 64.563147 -Q 122.721259 65.022382 123.281459 66.052531 -Q 123.84344 67.083268 123.413606 68.38475 -Q 122.970835 69.725401 121.890034 70.193837 -Q 120.80982 70.660493 119.291128 70.158922 -Q 118.767687 69.986047 118.254061 69.717684 -Q 117.742216 69.449909 117.222383 69.080765 -L 117.595768 67.950202 -Q 118.006099 68.387836 118.496122 68.69777 -Q 118.986145 69.007703 119.580803 69.204098 -Q 120.544007 69.522211 121.271831 69.201796 -Q 122.001436 68.88197 122.288385 68.013128 -Q 122.574745 67.146067 122.179129 66.454619 -Q 121.785881 65.761978 120.822678 65.443866 -Q 120.372233 65.295099 119.890641 65.246624 -Q 119.410829 65.198737 118.874387 65.256548 -z -M 129.648783 65.007906 -Q 128.781721 64.721546 128.061496 65.431494 -Q 127.343638 66.140249 126.777386 67.854787 -Q 126.213485 69.562203 126.367442 70.560864 -Q 126.52318 71.560112 127.390241 71.846473 -Q 128.264424 72.135185 128.982869 71.424649 -Q 129.703095 70.714701 130.266995 69.007285 -Q 130.833248 67.292747 130.676922 66.295279 -Q 130.522965 65.296618 129.648783 65.007906 -z -M 129.942787 64.117699 -Q 131.340411 64.579286 131.712349 65.928359 -Q 132.084874 67.27565 131.390436 69.378318 -Q 130.697761 71.475645 129.595517 72.337846 -Q 128.493861 73.198266 127.096236 72.736679 -Q 125.700392 72.27568 125.327867 70.928388 -Q 124.955929 69.579316 125.648604 67.48199 -Q 126.343042 65.379322 127.444699 64.518901 -Q 128.546943 63.656701 129.942787 64.117699 -z -M 136.898402 67.402204 -Q 136.031341 67.115844 135.311115 67.825792 -Q 134.593258 68.534548 134.027005 70.249086 -Q 133.463105 71.956502 133.617062 72.955162 -Q 133.772799 73.954411 134.63986 74.240771 -Q 135.514043 74.529483 136.232488 73.818947 -Q 136.952714 73.108999 137.516615 71.401583 -Q 138.082867 69.687045 137.926542 68.689577 -Q 137.772585 67.690917 136.898402 67.402204 -z -M 137.192406 66.511998 -Q 138.590031 66.973585 138.961968 68.322657 -Q 139.334494 69.669949 138.640055 71.772616 -Q 137.947381 73.869943 136.845136 74.732144 -Q 135.74348 75.592564 134.345856 75.130977 -Q 132.950012 74.669979 132.577486 73.322687 -Q 132.205549 71.973615 132.898223 69.876288 -Q 133.592662 67.77362 134.694318 66.9132 -Q 135.796563 66.050999 137.192406 66.511998 + </g> + <path clip-path="url(#pedd1dac049)" d="M 88.75944 53.226852 +Q 88.033986 52.997197 87.44118 53.596218 +Q 86.850336 54.194221 86.396214 55.628745 +Q 85.943978 57.057309 86.082586 57.887871 +Q 86.222684 58.718905 86.948139 58.94856 +Q 87.679552 59.180101 88.270868 58.580608 +Q 88.863673 57.981587 89.315909 56.553022 +Q 89.770031 55.118499 89.629462 54.288955 +Q 89.490854 53.458393 88.75944 53.226852 +z +M 88.995226 52.482032 +Q 90.164593 52.852215 90.488459 53.972511 +Q 90.812796 55.091318 90.255872 56.850583 +Q 89.700362 58.605379 88.790806 59.335216 +Q 87.881721 60.063563 86.712354 59.69338 +Q 85.544476 59.323669 85.220138 58.204862 +Q 84.896272 57.084565 85.451782 55.329769 +Q 86.008707 53.570504 86.917792 52.842157 +Q 87.827348 52.112321 88.995226 52.482032 +z +M 91.184307 59.658604 +L 92.16747 59.96984 +L 91.793043 61.152615 +L 90.809881 60.841378 +z +M 96.051142 54.853369 +L 99.74247 56.021921 +L 99.491595 56.814409 +L 96.661278 55.918425 +L 96.122274 57.621084 +Q 96.348518 57.615676 96.563445 57.64602 +Q 96.779861 57.676835 96.985432 57.741911 +Q 98.148841 58.110208 98.626284 58.96281 +Q 99.105218 59.815883 98.7605 60.90481 +Q 98.405407 62.026509 97.50965 62.428012 +Q 96.614364 62.828026 95.343701 62.425776 +Q 94.905747 62.287135 94.474985 62.068824 +Q 94.045713 61.850984 93.608737 61.54876 +L 93.908184 60.602838 +Q 94.254623 60.963265 94.666147 61.216459 +Q 95.077671 61.469653 95.575211 61.627157 +Q 96.381106 61.882277 96.984269 61.607764 +Q 97.588921 61.333722 97.819047 60.606778 +Q 98.048702 59.881323 97.711902 59.309249 +Q 97.377063 58.736157 96.571167 58.481037 +Q 96.194288 58.36173 95.792491 58.326314 +Q 95.392184 58.29137 94.945781 58.345086 +z +M 103.921184 58.026554 +Q 103.195729 57.796899 102.602924 58.39592 +Q 102.01208 58.993923 101.557957 60.428447 +Q 101.105721 61.857011 101.24433 62.687573 +Q 101.384427 63.518607 102.109882 63.748262 +Q 102.841295 63.979803 103.432611 63.38031 +Q 104.025416 62.781289 104.477652 61.352724 +Q 104.931774 59.918201 104.791205 59.088657 +Q 104.652597 58.258095 103.921184 58.026554 +z +M 104.156969 57.281734 +Q 105.326336 57.651917 105.650202 58.772213 +Q 105.97454 59.89102 105.417615 61.650285 +Q 104.862105 63.405081 103.952549 64.134918 +Q 103.043464 64.863264 101.874097 64.493082 +Q 100.706219 64.123371 100.381882 63.004564 +Q 100.058016 61.884267 100.613526 60.129471 +Q 101.17045 58.370206 102.079535 57.641859 +Q 102.989091 56.912023 104.156969 57.281734 +z +M 109.986812 59.94673 +Q 109.261357 59.717075 108.668552 60.316096 +Q 108.077708 60.914099 107.623586 62.348622 +Q 107.17135 63.777187 107.309958 64.607749 +Q 107.450056 65.438782 108.17551 65.668437 +Q 108.906924 65.899978 109.498239 65.300486 +Q 110.091044 64.701465 110.54328 63.2729 +Q 110.997403 61.838376 110.856833 61.008833 +Q 110.718225 60.178271 109.986812 59.94673 +z +M 110.222597 59.201909 +Q 111.391965 59.572092 111.71583 60.692389 +Q 112.040168 61.811196 111.483243 63.570461 +Q 110.927733 65.325257 110.018177 66.055093 +Q 109.109093 66.78344 107.939725 66.413257 +Q 106.771847 66.043546 106.44751 64.924739 +Q 106.123644 63.804442 106.679154 62.049646 +Q 107.236078 60.290381 108.145163 59.562035 +Q 109.054719 58.832198 110.222597 59.201909 z " style="fill:#ffffff;stroke:#000000;stroke-width:3;"/> - <path clip-path="url(#p826a730be7)" d="M 111.527516 59.023079 -Q 110.660455 58.736719 109.940229 59.446667 -Q 109.222372 60.155422 108.656119 61.86996 -Q 108.092219 63.577376 108.246176 64.576037 -Q 108.401913 65.575285 109.268974 65.861645 -Q 110.143157 66.150358 110.861602 65.439822 -Q 111.581828 64.729873 112.145729 63.022457 -Q 112.711981 61.30792 112.555656 60.310452 -Q 112.401699 59.311791 111.527516 59.023079 -z -M 111.82152 58.132872 -Q 113.219145 58.594459 113.591082 59.943531 -Q 113.963608 61.290823 113.269169 63.393491 -Q 112.576495 65.490818 111.47425 66.353018 -Q 110.372594 67.213439 108.97497 66.751852 -Q 107.579126 66.290853 107.2066 64.943561 -Q 106.834663 63.594489 107.527337 61.497163 -Q 108.221776 59.394495 109.323432 58.534074 -Q 110.425677 57.671873 111.82152 58.132872 -z -M 114.341419 66.776673 -L 115.516492 67.164759 -L 115.049613 68.578407 -L 113.87454 68.190321 -z -M 120.25268 61.08326 -L 124.664544 62.540346 -L 124.351723 63.487526 -L 120.968938 62.370309 -L 120.296844 64.405321 -Q 120.568397 64.402199 120.825838 64.441806 -Q 121.085059 64.482002 121.330756 64.563147 -Q 122.721259 65.022382 123.281459 66.052531 -Q 123.84344 67.083268 123.413606 68.38475 -Q 122.970835 69.725401 121.890034 70.193837 -Q 120.80982 70.660493 119.291128 70.158922 -Q 118.767687 69.986047 118.254061 69.717684 -Q 117.742216 69.449909 117.222383 69.080765 -L 117.595768 67.950202 -Q 118.006099 68.387836 118.496122 68.69777 -Q 118.986145 69.007703 119.580803 69.204098 -Q 120.544007 69.522211 121.271831 69.201796 -Q 122.001436 68.88197 122.288385 68.013128 -Q 122.574745 67.146067 122.179129 66.454619 -Q 121.785881 65.761978 120.822678 65.443866 -Q 120.372233 65.295099 119.890641 65.246624 -Q 119.410829 65.198737 118.874387 65.256548 -z -M 129.648783 65.007906 -Q 128.781721 64.721546 128.061496 65.431494 -Q 127.343638 66.140249 126.777386 67.854787 -Q 126.213485 69.562203 126.367442 70.560864 -Q 126.52318 71.560112 127.390241 71.846473 -Q 128.264424 72.135185 128.982869 71.424649 -Q 129.703095 70.714701 130.266995 69.007285 -Q 130.833248 67.292747 130.676922 66.295279 -Q 130.522965 65.296618 129.648783 65.007906 -z -M 129.942787 64.117699 -Q 131.340411 64.579286 131.712349 65.928359 -Q 132.084874 67.27565 131.390436 69.378318 -Q 130.697761 71.475645 129.595517 72.337846 -Q 128.493861 73.198266 127.096236 72.736679 -Q 125.700392 72.27568 125.327867 70.928388 -Q 124.955929 69.579316 125.648604 67.48199 -Q 126.343042 65.379322 127.444699 64.518901 -Q 128.546943 63.656701 129.942787 64.117699 -z -M 136.898402 67.402204 -Q 136.031341 67.115844 135.311115 67.825792 -Q 134.593258 68.534548 134.027005 70.249086 -Q 133.463105 71.956502 133.617062 72.955162 -Q 133.772799 73.954411 134.63986 74.240771 -Q 135.514043 74.529483 136.232488 73.818947 -Q 136.952714 73.108999 137.516615 71.401583 -Q 138.082867 69.687045 137.926542 68.689577 -Q 137.772585 67.690917 136.898402 67.402204 -z -M 137.192406 66.511998 -Q 138.590031 66.973585 138.961968 68.322657 -Q 139.334494 69.669949 138.640055 71.772616 -Q 137.947381 73.869943 136.845136 74.732144 -Q 135.74348 75.592564 134.345856 75.130977 -Q 132.950012 74.669979 132.577486 73.322687 -Q 132.205549 71.973615 132.898223 69.876288 -Q 133.592662 67.77362 134.694318 66.9132 -Q 135.796563 66.050999 137.192406 66.511998 + <path clip-path="url(#pedd1dac049)" d="M 88.75944 53.226852 +Q 88.033986 52.997197 87.44118 53.596218 +Q 86.850336 54.194221 86.396214 55.628745 +Q 85.943978 57.057309 86.082586 57.887871 +Q 86.222684 58.718905 86.948139 58.94856 +Q 87.679552 59.180101 88.270868 58.580608 +Q 88.863673 57.981587 89.315909 56.553022 +Q 89.770031 55.118499 89.629462 54.288955 +Q 89.490854 53.458393 88.75944 53.226852 +z +M 88.995226 52.482032 +Q 90.164593 52.852215 90.488459 53.972511 +Q 90.812796 55.091318 90.255872 56.850583 +Q 89.700362 58.605379 88.790806 59.335216 +Q 87.881721 60.063563 86.712354 59.69338 +Q 85.544476 59.323669 85.220138 58.204862 +Q 84.896272 57.084565 85.451782 55.329769 +Q 86.008707 53.570504 86.917792 52.842157 +Q 87.827348 52.112321 88.995226 52.482032 +z +M 91.184307 59.658604 +L 92.16747 59.96984 +L 91.793043 61.152615 +L 90.809881 60.841378 +z +M 96.051142 54.853369 +L 99.74247 56.021921 +L 99.491595 56.814409 +L 96.661278 55.918425 +L 96.122274 57.621084 +Q 96.348518 57.615676 96.563445 57.64602 +Q 96.779861 57.676835 96.985432 57.741911 +Q 98.148841 58.110208 98.626284 58.96281 +Q 99.105218 59.815883 98.7605 60.90481 +Q 98.405407 62.026509 97.50965 62.428012 +Q 96.614364 62.828026 95.343701 62.425776 +Q 94.905747 62.287135 94.474985 62.068824 +Q 94.045713 61.850984 93.608737 61.54876 +L 93.908184 60.602838 +Q 94.254623 60.963265 94.666147 61.216459 +Q 95.077671 61.469653 95.575211 61.627157 +Q 96.381106 61.882277 96.984269 61.607764 +Q 97.588921 61.333722 97.819047 60.606778 +Q 98.048702 59.881323 97.711902 59.309249 +Q 97.377063 58.736157 96.571167 58.481037 +Q 96.194288 58.36173 95.792491 58.326314 +Q 95.392184 58.29137 94.945781 58.345086 +z +M 103.921184 58.026554 +Q 103.195729 57.796899 102.602924 58.39592 +Q 102.01208 58.993923 101.557957 60.428447 +Q 101.105721 61.857011 101.24433 62.687573 +Q 101.384427 63.518607 102.109882 63.748262 +Q 102.841295 63.979803 103.432611 63.38031 +Q 104.025416 62.781289 104.477652 61.352724 +Q 104.931774 59.918201 104.791205 59.088657 +Q 104.652597 58.258095 103.921184 58.026554 +z +M 104.156969 57.281734 +Q 105.326336 57.651917 105.650202 58.772213 +Q 105.97454 59.89102 105.417615 61.650285 +Q 104.862105 63.405081 103.952549 64.134918 +Q 103.043464 64.863264 101.874097 64.493082 +Q 100.706219 64.123371 100.381882 63.004564 +Q 100.058016 61.884267 100.613526 60.129471 +Q 101.17045 58.370206 102.079535 57.641859 +Q 102.989091 56.912023 104.156969 57.281734 +z +M 109.986812 59.94673 +Q 109.261357 59.717075 108.668552 60.316096 +Q 108.077708 60.914099 107.623586 62.348622 +Q 107.17135 63.777187 107.309958 64.607749 +Q 107.450056 65.438782 108.17551 65.668437 +Q 108.906924 65.899978 109.498239 65.300486 +Q 110.091044 64.701465 110.54328 63.2729 +Q 110.997403 61.838376 110.856833 61.008833 +Q 110.718225 60.178271 109.986812 59.94673 +z +M 110.222597 59.201909 +Q 111.391965 59.572092 111.71583 60.692389 +Q 112.040168 61.811196 111.483243 63.570461 +Q 110.927733 65.325257 110.018177 66.055093 +Q 109.109093 66.78344 107.939725 66.413257 +Q 106.771847 66.043546 106.44751 64.924739 +Q 106.123644 63.804442 106.679154 62.049646 +Q 107.236078 60.290381 108.145163 59.562035 +Q 109.054719 58.832198 110.222597 59.201909 z " style="fill:#ffffff;"/> - </g> - <g id="text_36"> - <g id="patch_85"> - <path clip-path="url(#p826a730be7)" d="M 379.978267 68.376961 -L 380.524232 69.52671 -L 381.638734 68.968195 -L 382.753235 68.40968 -L 383.263953 69.546879 -L 383.774671 70.684077 -L 384.889173 70.125562 -L 386.003674 69.567047 -L 386.514392 70.704246 -L 387.02511 71.841445 -L 388.139612 71.28293 -L 389.254113 70.724415 -L 389.764831 71.861613 -L 390.275549 72.998812 -L 391.390051 72.440297 -L 392.504552 71.881782 -L 393.01527 73.01898 -L 393.525988 74.156179 -L 394.64049 73.597664 -L 395.754991 73.039149 -L 396.265709 74.176347 -L 396.776427 75.313546 -L 397.890929 74.755031 -L 399.00543 74.196516 -L 399.516148 75.333715 -L 400.026866 76.470913 -L 401.141368 75.912398 -L 402.255869 75.353883 -L 402.766587 76.491082 -L 403.277305 77.62828 -L 404.391807 77.069765 -L 405.506308 76.51125 -L 406.017026 77.648449 -L 406.527744 78.785648 -L 407.642246 78.227133 -L 408.756747 77.668618 -L 409.267465 78.805816 -L 409.778183 79.943015 -L 410.892685 79.3845 -L 412.007186 78.825985 -L 412.517904 79.963183 -L 413.028622 81.100382 -L 414.143123 80.541867 -L 415.257625 79.983352 -L 415.768343 81.12055 -L 416.279061 82.257749 -L 417.42881 81.711784 -L 418.578558 81.16582 -L 418.049654 79.968158 -L 417.520749 78.770496 -L 418.687558 78.176619 -L 419.854367 77.582741 -L 419.325462 76.38508 -L 418.796557 75.187418 -L 419.963366 74.59354 -L 421.130175 73.999663 -L 420.60127 72.802001 -L 420.072366 71.60434 -L 421.239175 71.010462 -L 422.405983 70.416585 -L 421.877079 69.218923 -L 421.348174 68.021261 -L 422.514983 67.427384 -L 423.681792 66.833506 -L 423.135827 65.683758 -L 422.589862 64.534009 -L 421.47536 65.092524 -L 420.360859 65.651039 -L 419.850141 64.51384 -L 419.339423 63.376642 -L 418.224921 63.935157 -L 417.11042 64.493672 -L 416.599702 63.356473 -L 416.088984 62.219274 -L 414.974482 62.777789 -L 413.859981 63.336304 -L 413.349263 62.199106 -L 412.838545 61.061907 -L 411.724043 61.620422 -L 410.609542 62.178937 -L 410.098824 61.041739 -L 409.588106 59.90454 -L 408.473604 60.463055 -L 407.359103 61.02157 -L 406.848385 59.884371 -L 406.337667 58.747173 -L 405.223165 59.305688 -L 404.108664 59.864203 -L 403.597946 58.727004 -L 403.087228 57.589806 -L 401.972726 58.148321 -L 400.858225 58.706836 -L 400.347507 57.569637 -L 399.836789 56.432439 -L 398.722287 56.990954 -L 397.607786 57.549469 -L 397.097068 56.41227 -L 396.58635 55.275071 -L 395.471848 55.833586 -L 394.357347 56.392101 -L 393.846629 55.254903 -L 393.335911 54.117704 -L 392.221409 54.676219 -L 391.106908 55.234734 -L 390.59619 54.097536 -L 390.085472 52.960337 -L 388.97097 53.518852 -L 387.856469 54.077367 -L 387.345751 52.940169 -L 386.835033 51.80297 -L 385.685284 52.348935 -L 384.535536 52.894899 -L 385.06444 54.092561 -L 385.593345 55.290223 -L 384.426536 55.8841 -L 383.259727 56.477978 -L 383.788632 57.675639 -L 384.317537 58.873301 -L 383.150728 59.467178 -L 381.983919 60.061056 -L 382.512824 61.258718 -L 383.041728 62.456379 -L 381.874919 63.050257 -L 380.708111 63.644134 -L 381.237015 64.841796 -L 381.76592 66.039458 -L 380.599111 66.633335 -L 379.432302 67.227213 + </g> + <g id="text_36"> + <g id="patch_86"> + <path clip-path="url(#pedd1dac049)" d="M 303.279583 61.179264 +L 303.747079 62.131339 +L 304.669647 61.65377 +L 305.592215 61.176202 +L 306.030204 62.118205 +L 306.468193 63.060207 +L 307.390761 62.582639 +L 308.313329 62.10507 +L 308.751318 63.047073 +L 309.189307 63.989076 +L 310.111875 63.511507 +L 311.034443 63.033939 +L 311.472432 63.975942 +L 311.910421 64.917945 +L 312.832989 64.440376 +L 313.755558 63.962808 +L 314.193546 64.90481 +L 314.631535 65.846813 +L 315.554103 65.369245 +L 316.476672 64.891676 +L 316.91466 65.833679 +L 317.352649 66.775682 +L 318.275218 66.298113 +L 319.197786 65.820545 +L 319.635775 66.762548 +L 320.073763 67.70455 +L 320.996332 67.226982 +L 321.9189 66.749413 +L 322.356889 67.691416 +L 322.794878 68.633419 +L 323.717446 68.15585 +L 324.640014 67.678282 +L 325.078003 68.620285 +L 325.515992 69.562288 +L 326.43856 69.084719 +L 327.361128 68.607151 +L 327.799117 69.549153 +L 328.237106 70.491156 +L 329.159674 70.013588 +L 330.082242 69.536019 +L 330.520231 70.478022 +L 330.95822 71.420025 +L 331.880788 70.942456 +L 332.803356 70.464888 +L 333.241345 71.406891 +L 333.679334 72.348893 +L 334.631409 71.881397 +L 335.583484 71.413901 +L 335.12968 70.421716 +L 334.675876 69.42953 +L 335.641643 68.921924 +L 336.60741 68.414317 +L 336.153606 67.422132 +L 335.699802 66.429946 +L 336.665569 65.92234 +L 337.631336 65.414733 +L 337.177532 64.422548 +L 336.723728 63.430362 +L 337.689495 62.922756 +L 338.655262 62.415149 +L 338.201458 61.422964 +L 337.747654 60.430778 +L 338.713421 59.923172 +L 339.679188 59.415565 +L 339.211692 58.46349 +L 338.744196 57.511415 +L 337.821628 57.988983 +L 336.89906 58.466552 +L 336.461071 57.524549 +L 336.023082 56.582546 +L 335.100514 57.060115 +L 334.177946 57.537683 +L 333.739957 56.59568 +L 333.301968 55.653678 +L 332.3794 56.131246 +L 331.456832 56.608815 +L 331.018843 55.666812 +L 330.580854 54.724809 +L 329.658286 55.202378 +L 328.735718 55.679946 +L 328.297729 54.737943 +L 327.85974 53.79594 +L 326.937172 54.273509 +L 326.014604 54.751077 +L 325.576615 53.809075 +L 325.138626 52.867072 +L 324.216058 53.34464 +L 323.29349 53.822209 +L 322.855501 52.880206 +L 322.417512 51.938203 +L 321.494944 52.415772 +L 320.572375 52.89334 +L 320.134387 51.951337 +L 319.696398 51.009335 +L 318.77383 51.486903 +L 317.851261 51.964472 +L 317.413273 51.022469 +L 316.975284 50.080466 +L 316.052715 50.558035 +L 315.130147 51.035603 +L 314.692158 50.0936 +L 314.25417 49.151597 +L 313.331601 49.629166 +L 312.409033 50.106734 +L 311.971044 49.164732 +L 311.533055 48.222729 +L 310.610487 48.700297 +L 309.687919 49.177866 +L 309.24993 48.235863 +L 308.811941 47.29386 +L 307.859866 47.761356 +L 306.907791 48.228852 +L 307.361595 49.221038 +L 307.815399 50.213224 +L 306.849632 50.72083 +L 305.883865 51.228436 +L 306.337669 52.220622 +L 306.791473 53.212808 +L 305.825706 53.720414 +L 304.859939 54.22802 +L 305.313743 55.220206 +L 305.767547 56.212391 +L 304.80178 56.719998 +L 303.836013 57.227604 +L 304.289817 58.21979 +L 304.743621 59.211975 +L 303.777854 59.719582 +L 302.812087 60.227188 z " style="fill:none;stroke:#0000ff;stroke-linejoin:miter;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 390.530431 58.160233 -Q 389.670209 57.853938 388.933791 58.547075 -Q 388.199767 59.239075 387.594096 60.940088 -Q 386.990941 62.634035 387.12181 63.635982 -Q 387.254444 64.638559 388.114666 64.944854 -Q 388.981952 65.253664 389.716605 64.559898 -Q 390.453023 63.866761 391.056178 62.172813 -Q 391.661849 60.471801 391.528586 59.470991 -Q 391.397718 58.469043 390.530431 58.160233 -z -M 390.844902 57.277048 -Q 392.231501 57.770768 392.572205 59.128064 -Q 392.913537 60.483595 392.170757 62.569676 -Q 391.429864 64.650458 390.308014 65.486991 -Q 389.186794 66.321757 387.800195 65.828038 -Q 386.415362 65.334947 386.074029 63.979417 -Q 385.733326 62.622121 386.474219 60.541339 -Q 387.216999 58.455257 388.338219 57.620491 -Q 389.460069 56.783958 390.844902 57.277048 -z -M 393.164642 65.976703 -L 394.330445 66.391804 -L 393.831065 67.794301 -L 392.665262 67.379199 -z -M 399.205725 60.42123 -L 403.582786 61.979748 -L 403.248189 62.919456 -L 399.892089 61.724466 -L 399.173208 63.743425 -Q 399.444761 63.746571 399.701219 63.79211 -Q 399.959444 63.838277 400.203202 63.925071 -Q 401.582736 64.416275 402.119013 65.459078 -Q 402.657056 66.50251 402.1973 67.793725 -Q 401.723707 69.123801 400.632382 69.567169 -Q 399.541687 70.008771 398.034975 69.472283 -Q 397.515662 69.287375 397.008367 69.007229 -Q 396.502838 68.727712 395.991663 68.346669 -L 396.391041 67.225025 -Q 396.791162 67.672012 397.273902 67.993173 -Q 397.756642 68.314333 398.346609 68.524399 -Q 399.302214 68.864657 400.03724 68.561125 -Q 400.774032 68.258222 401.080955 67.396234 -Q 401.38725 66.536013 401.007697 65.835618 -Q 400.630539 65.134087 399.674934 64.793829 -Q 399.228043 64.634707 398.747697 64.57513 -Q 398.269118 64.516183 397.731485 64.561598 -z -M 408.508749 64.56168 -Q 407.648528 64.255386 406.912109 64.948523 -Q 406.178086 65.640523 405.572415 67.341535 -Q 404.96926 69.035483 405.100128 70.03743 -Q 405.232762 71.040007 406.092984 71.346301 -Q 406.960271 71.655112 407.694923 70.961346 -Q 408.431342 70.268208 409.034497 68.574261 -Q 409.640168 66.873248 409.506904 65.872438 -Q 409.376036 64.870491 408.508749 64.56168 -z -M 408.82322 63.678496 -Q 410.209819 64.172215 410.550523 65.529512 -Q 410.891855 66.885042 410.149075 68.971123 -Q 409.408182 71.051905 408.286332 71.888438 -Q 407.165112 72.723205 405.778513 72.229485 -Q 404.39368 71.736395 404.052347 70.380865 -Q 403.711644 69.023568 404.452537 66.942786 -Q 405.195317 64.856705 406.316538 64.021939 -Q 407.438387 63.185406 408.82322 63.678496 -z -M 415.70118 67.122652 -Q 414.840959 66.816358 414.10454 67.509495 -Q 413.370517 68.201495 412.764846 69.902507 -Q 412.161691 71.596455 412.292559 72.598402 -Q 412.425194 73.600979 413.285415 73.907273 -Q 414.152702 74.216084 414.887354 73.522318 -Q 415.623773 72.829181 416.226928 71.135233 -Q 416.832599 69.434221 416.699335 68.43341 -Q 416.568467 67.431463 415.70118 67.122652 -z -M 416.015651 66.239468 -Q 417.40225 66.733188 417.742954 68.090484 -Q 418.084287 69.446014 417.341506 71.532096 -Q 416.600613 73.612877 415.478764 74.44941 -Q 414.357543 75.284177 412.970944 74.790458 -Q 411.586111 74.297367 411.244779 72.941837 -Q 410.904075 71.58454 411.644968 69.503758 -Q 412.387749 67.417677 413.508969 66.582911 -Q 414.630818 65.746378 416.015651 66.239468 + </g> + <path clip-path="url(#pedd1dac049)" d="M 311.960647 52.55074 +Q 311.240511 52.304917 310.634456 52.890529 +Q 310.030384 53.475168 309.544291 54.899175 +Q 309.060217 56.317268 309.180213 57.150722 +Q 309.301689 57.984681 310.021826 58.230504 +Q 310.747877 58.478346 311.352453 57.892229 +Q 311.958508 57.306617 312.442583 55.888524 +Q 312.928676 54.464517 312.806696 53.632036 +Q 312.686699 52.798582 311.960647 52.55074 +z +M 312.213032 51.81138 +Q 313.373828 52.207624 313.672556 53.334884 +Q 313.971788 54.460666 313.375655 56.207034 +Q 312.781036 57.948967 311.855384 58.658277 +Q 310.930236 59.366109 309.769441 58.969864 +Q 308.610124 58.574125 308.310891 57.448343 +Q 308.012163 56.321083 308.606782 54.579151 +Q 309.202916 52.832782 310.128063 52.124951 +Q 311.053716 51.41564 312.213032 51.81138 +z +M 314.241054 59.035118 +L 315.217009 59.368266 +L 314.816222 60.54237 +L 313.840266 60.209222 +z +M 319.214146 54.339938 +L 322.878414 55.590758 +L 322.609877 56.377437 +L 319.800308 55.418374 +L 319.223356 57.108551 +Q 319.449665 57.108205 319.663859 57.143348 +Q 319.879533 57.178996 320.083596 57.248654 +Q 321.238476 57.642879 321.696731 58.505947 +Q 322.156465 59.369519 321.787478 60.450463 +Q 321.407386 61.56394 320.502873 61.945308 +Q 319.598864 62.325197 318.337515 61.894628 +Q 317.902772 61.746226 317.477 61.518335 +Q 317.052708 61.290949 316.622601 60.979026 +L 316.94313 60.040039 +Q 317.28142 60.408124 317.687179 60.670459 +Q 318.092937 60.932794 318.58683 61.101387 +Q 319.386817 61.374467 319.995969 61.113513 +Q 320.606599 60.853064 320.852927 60.131449 +Q 321.09875 59.411312 320.774829 58.831848 +Q 320.452891 58.25141 319.652904 57.97833 +Q 319.278788 57.850623 318.877883 57.806229 +Q 318.478457 57.76234 318.030965 57.806058 +z +M 327.011247 57.688352 +Q 326.29111 57.442529 325.685055 58.028141 +Q 325.080984 58.61278 324.59489 60.036787 +Q 324.110816 61.45488 324.230813 62.288334 +Q 324.352288 63.122294 325.072425 63.368117 +Q 325.798477 63.615959 326.403053 63.029842 +Q 327.009107 62.444229 327.493182 61.026137 +Q 327.979275 59.602129 327.857295 58.769649 +Q 327.737298 57.936194 327.011247 57.688352 +z +M 327.263632 56.948992 +Q 328.424427 57.345237 328.723155 58.472497 +Q 329.022388 59.598278 328.426254 61.344646 +Q 327.831635 63.086579 326.905983 63.795889 +Q 325.980835 64.503721 324.82004 64.107477 +Q 323.660723 63.711737 323.36149 62.585956 +Q 323.062762 61.458696 323.657382 59.716763 +Q 324.253515 57.970395 325.178663 57.262563 +Q 326.104315 56.553252 327.263632 56.948992 +z +M 333.03241 59.743713 +Q 332.312274 59.49789 331.706219 60.083502 +Q 331.102148 60.66814 330.616054 62.092148 +Q 330.13198 63.51024 330.251976 64.343695 +Q 330.373452 65.177654 331.093589 65.423477 +Q 331.81964 65.671319 332.424216 65.085202 +Q 333.030271 64.49959 333.514346 63.081497 +Q 334.000439 61.657489 333.878459 60.825009 +Q 333.758462 59.991555 333.03241 59.743713 +z +M 333.284795 59.004352 +Q 334.445591 59.400597 334.744319 60.527857 +Q 335.043552 61.653638 334.447418 63.400007 +Q 333.852799 65.141939 332.927147 65.85125 +Q 332.001999 66.559082 330.841204 66.162837 +Q 329.681887 65.767097 329.382654 64.641316 +Q 329.083926 63.514056 329.678545 61.772124 +Q 330.274679 60.025755 331.199826 59.317923 +Q 332.125479 58.608613 333.284795 59.004352 z " style="fill:#ffffff;stroke:#000000;stroke-width:3;"/> - <path clip-path="url(#p826a730be7)" d="M 390.530431 58.160233 -Q 389.670209 57.853938 388.933791 58.547075 -Q 388.199767 59.239075 387.594096 60.940088 -Q 386.990941 62.634035 387.12181 63.635982 -Q 387.254444 64.638559 388.114666 64.944854 -Q 388.981952 65.253664 389.716605 64.559898 -Q 390.453023 63.866761 391.056178 62.172813 -Q 391.661849 60.471801 391.528586 59.470991 -Q 391.397718 58.469043 390.530431 58.160233 -z -M 390.844902 57.277048 -Q 392.231501 57.770768 392.572205 59.128064 -Q 392.913537 60.483595 392.170757 62.569676 -Q 391.429864 64.650458 390.308014 65.486991 -Q 389.186794 66.321757 387.800195 65.828038 -Q 386.415362 65.334947 386.074029 63.979417 -Q 385.733326 62.622121 386.474219 60.541339 -Q 387.216999 58.455257 388.338219 57.620491 -Q 389.460069 56.783958 390.844902 57.277048 -z -M 393.164642 65.976703 -L 394.330445 66.391804 -L 393.831065 67.794301 -L 392.665262 67.379199 -z -M 399.205725 60.42123 -L 403.582786 61.979748 -L 403.248189 62.919456 -L 399.892089 61.724466 -L 399.173208 63.743425 -Q 399.444761 63.746571 399.701219 63.79211 -Q 399.959444 63.838277 400.203202 63.925071 -Q 401.582736 64.416275 402.119013 65.459078 -Q 402.657056 66.50251 402.1973 67.793725 -Q 401.723707 69.123801 400.632382 69.567169 -Q 399.541687 70.008771 398.034975 69.472283 -Q 397.515662 69.287375 397.008367 69.007229 -Q 396.502838 68.727712 395.991663 68.346669 -L 396.391041 67.225025 -Q 396.791162 67.672012 397.273902 67.993173 -Q 397.756642 68.314333 398.346609 68.524399 -Q 399.302214 68.864657 400.03724 68.561125 -Q 400.774032 68.258222 401.080955 67.396234 -Q 401.38725 66.536013 401.007697 65.835618 -Q 400.630539 65.134087 399.674934 64.793829 -Q 399.228043 64.634707 398.747697 64.57513 -Q 398.269118 64.516183 397.731485 64.561598 -z -M 408.508749 64.56168 -Q 407.648528 64.255386 406.912109 64.948523 -Q 406.178086 65.640523 405.572415 67.341535 -Q 404.96926 69.035483 405.100128 70.03743 -Q 405.232762 71.040007 406.092984 71.346301 -Q 406.960271 71.655112 407.694923 70.961346 -Q 408.431342 70.268208 409.034497 68.574261 -Q 409.640168 66.873248 409.506904 65.872438 -Q 409.376036 64.870491 408.508749 64.56168 -z -M 408.82322 63.678496 -Q 410.209819 64.172215 410.550523 65.529512 -Q 410.891855 66.885042 410.149075 68.971123 -Q 409.408182 71.051905 408.286332 71.888438 -Q 407.165112 72.723205 405.778513 72.229485 -Q 404.39368 71.736395 404.052347 70.380865 -Q 403.711644 69.023568 404.452537 66.942786 -Q 405.195317 64.856705 406.316538 64.021939 -Q 407.438387 63.185406 408.82322 63.678496 -z -M 415.70118 67.122652 -Q 414.840959 66.816358 414.10454 67.509495 -Q 413.370517 68.201495 412.764846 69.902507 -Q 412.161691 71.596455 412.292559 72.598402 -Q 412.425194 73.600979 413.285415 73.907273 -Q 414.152702 74.216084 414.887354 73.522318 -Q 415.623773 72.829181 416.226928 71.135233 -Q 416.832599 69.434221 416.699335 68.43341 -Q 416.568467 67.431463 415.70118 67.122652 -z -M 416.015651 66.239468 -Q 417.40225 66.733188 417.742954 68.090484 -Q 418.084287 69.446014 417.341506 71.532096 -Q 416.600613 73.612877 415.478764 74.44941 -Q 414.357543 75.284177 412.970944 74.790458 -Q 411.586111 74.297367 411.244779 72.941837 -Q 410.904075 71.58454 411.644968 69.503758 -Q 412.387749 67.417677 413.508969 66.582911 -Q 414.630818 65.746378 416.015651 66.239468 + <path clip-path="url(#pedd1dac049)" d="M 311.960647 52.55074 +Q 311.240511 52.304917 310.634456 52.890529 +Q 310.030384 53.475168 309.544291 54.899175 +Q 309.060217 56.317268 309.180213 57.150722 +Q 309.301689 57.984681 310.021826 58.230504 +Q 310.747877 58.478346 311.352453 57.892229 +Q 311.958508 57.306617 312.442583 55.888524 +Q 312.928676 54.464517 312.806696 53.632036 +Q 312.686699 52.798582 311.960647 52.55074 +z +M 312.213032 51.81138 +Q 313.373828 52.207624 313.672556 53.334884 +Q 313.971788 54.460666 313.375655 56.207034 +Q 312.781036 57.948967 311.855384 58.658277 +Q 310.930236 59.366109 309.769441 58.969864 +Q 308.610124 58.574125 308.310891 57.448343 +Q 308.012163 56.321083 308.606782 54.579151 +Q 309.202916 52.832782 310.128063 52.124951 +Q 311.053716 51.41564 312.213032 51.81138 +z +M 314.241054 59.035118 +L 315.217009 59.368266 +L 314.816222 60.54237 +L 313.840266 60.209222 +z +M 319.214146 54.339938 +L 322.878414 55.590758 +L 322.609877 56.377437 +L 319.800308 55.418374 +L 319.223356 57.108551 +Q 319.449665 57.108205 319.663859 57.143348 +Q 319.879533 57.178996 320.083596 57.248654 +Q 321.238476 57.642879 321.696731 58.505947 +Q 322.156465 59.369519 321.787478 60.450463 +Q 321.407386 61.56394 320.502873 61.945308 +Q 319.598864 62.325197 318.337515 61.894628 +Q 317.902772 61.746226 317.477 61.518335 +Q 317.052708 61.290949 316.622601 60.979026 +L 316.94313 60.040039 +Q 317.28142 60.408124 317.687179 60.670459 +Q 318.092937 60.932794 318.58683 61.101387 +Q 319.386817 61.374467 319.995969 61.113513 +Q 320.606599 60.853064 320.852927 60.131449 +Q 321.09875 59.411312 320.774829 58.831848 +Q 320.452891 58.25141 319.652904 57.97833 +Q 319.278788 57.850623 318.877883 57.806229 +Q 318.478457 57.76234 318.030965 57.806058 +z +M 327.011247 57.688352 +Q 326.29111 57.442529 325.685055 58.028141 +Q 325.080984 58.61278 324.59489 60.036787 +Q 324.110816 61.45488 324.230813 62.288334 +Q 324.352288 63.122294 325.072425 63.368117 +Q 325.798477 63.615959 326.403053 63.029842 +Q 327.009107 62.444229 327.493182 61.026137 +Q 327.979275 59.602129 327.857295 58.769649 +Q 327.737298 57.936194 327.011247 57.688352 +z +M 327.263632 56.948992 +Q 328.424427 57.345237 328.723155 58.472497 +Q 329.022388 59.598278 328.426254 61.344646 +Q 327.831635 63.086579 326.905983 63.795889 +Q 325.980835 64.503721 324.82004 64.107477 +Q 323.660723 63.711737 323.36149 62.585956 +Q 323.062762 61.458696 323.657382 59.716763 +Q 324.253515 57.970395 325.178663 57.262563 +Q 326.104315 56.553252 327.263632 56.948992 +z +M 333.03241 59.743713 +Q 332.312274 59.49789 331.706219 60.083502 +Q 331.102148 60.66814 330.616054 62.092148 +Q 330.13198 63.51024 330.251976 64.343695 +Q 330.373452 65.177654 331.093589 65.423477 +Q 331.81964 65.671319 332.424216 65.085202 +Q 333.030271 64.49959 333.514346 63.081497 +Q 334.000439 61.657489 333.878459 60.825009 +Q 333.758462 59.991555 333.03241 59.743713 +z +M 333.284795 59.004352 +Q 334.445591 59.400597 334.744319 60.527857 +Q 335.043552 61.653638 334.447418 63.400007 +Q 333.852799 65.141939 332.927147 65.85125 +Q 332.001999 66.559082 330.841204 66.162837 +Q 329.681887 65.767097 329.382654 64.641316 +Q 329.083926 63.514056 329.678545 61.772124 +Q 330.274679 60.025755 331.199826 59.317923 +Q 332.125479 58.608613 333.284795 59.004352 z " style="fill:#ffffff;"/> - </g> - <g id="text_37"> - <g id="patch_86"> - <path clip-path="url(#p826a730be7)" d="M 497.567949 188.614519 -L 497.076389 189.788559 -L 498.236243 190.245497 -L 499.396096 190.702436 -L 498.890351 191.841854 -L 498.384605 192.981273 -L 499.544459 193.438212 -L 500.704312 193.89515 -L 500.198566 195.034569 -L 499.692821 196.173987 -L 500.852674 196.630926 -L 502.012528 197.087864 -L 501.506782 198.227283 -L 501.001036 199.366701 -L 502.16089 199.82364 -L 503.320744 200.280578 -L 502.814998 201.419997 -L 502.309252 202.559415 -L 503.469106 203.016354 -L 504.62896 203.473293 -L 504.123214 204.612711 -L 503.617468 205.75213 -L 504.777322 206.209068 -L 505.937175 206.666007 -L 505.43143 207.805425 -L 504.925684 208.944844 -L 506.085538 209.401782 -L 507.245391 209.858721 -L 506.739645 210.99814 -L 506.2339 212.137558 -L 507.393753 212.594497 -L 508.553607 213.051435 -L 508.047861 214.190854 -L 507.542115 215.330272 -L 508.701969 215.787211 -L 509.861823 216.244149 -L 509.356077 217.383568 -L 508.850331 218.522986 -L 510.010185 218.979925 -L 511.170039 219.436864 -L 510.664293 220.576282 -L 510.158547 221.715701 -L 511.318401 222.172639 -L 512.478254 222.629578 -L 511.972509 223.768996 -L 511.466763 224.908415 -L 512.640803 225.399974 -L 513.814842 225.891534 -L 514.353464 224.698211 -L 514.892085 223.504888 -L 516.113187 223.977164 -L 517.334288 224.44944 -L 517.87291 223.256117 -L 518.411531 222.062793 -L 519.632633 222.535069 -L 520.853734 223.007345 -L 521.392356 221.814022 -L 521.930977 220.620699 -L 523.152079 221.092975 -L 524.37318 221.565251 -L 524.911802 220.371928 -L 525.450424 219.178605 -L 526.671525 219.650881 -L 527.892627 220.123157 -L 528.384186 218.949117 -L 528.875746 217.775078 -L 527.715892 217.318139 -L 526.556039 216.8612 -L 527.061784 215.721782 -L 527.56753 214.582363 -L 526.407676 214.125425 -L 525.247823 213.668486 -L 525.753569 212.529068 -L 526.259314 211.389649 -L 525.099461 210.932711 -L 523.939607 210.475772 -L 524.445353 209.336354 -L 524.951099 208.196935 -L 523.791245 207.739996 -L 522.631391 207.283058 -L 523.137137 206.143639 -L 523.642883 205.004221 -L 522.483029 204.547282 -L 521.323175 204.090344 -L 521.828921 202.950925 -L 522.334667 201.811507 -L 521.174813 201.354568 -L 520.01496 200.89763 -L 520.520705 199.758211 -L 521.026451 198.618793 -L 519.866598 198.161854 -L 518.706744 197.704915 -L 519.21249 196.565497 -L 519.718235 195.426078 -L 518.558382 194.96914 -L 517.398528 194.512201 -L 517.904274 193.372783 -L 518.41002 192.233364 -L 517.250166 191.776426 -L 516.090312 191.319487 -L 516.596058 190.180069 -L 517.101804 189.04065 -L 515.94195 188.583711 -L 514.782096 188.126773 -L 515.287842 186.987354 -L 515.793588 185.847936 -L 514.633734 185.390997 -L 513.473881 184.934059 -L 513.979626 183.79464 -L 514.485372 182.655222 -L 513.311332 182.163662 -L 512.137293 181.672102 -L 511.598671 182.865425 -L 511.06005 184.058749 -L 509.838948 183.586473 -L 508.617847 183.114197 -L 508.079225 184.30752 -L 507.540604 185.500843 -L 506.319502 185.028567 -L 505.098401 184.556291 -L 504.559779 185.749614 -L 504.021158 186.942937 -L 502.800056 186.470661 -L 501.578955 185.998385 -L 501.040333 187.191708 -L 500.501711 188.385032 -L 499.28061 187.912756 -L 498.059508 187.44048 + </g> + <g id="text_37"> + <g id="patch_87"> + <path clip-path="url(#pedd1dac049)" d="M 396.683463 152.137045 +L 396.305752 153.128173 +L 397.28413 153.477431 +L 398.262507 153.826689 +L 397.872046 154.789364 +L 397.481586 155.752039 +L 398.459963 156.101297 +L 399.438341 156.450555 +L 399.04788 157.41323 +L 398.657419 158.375906 +L 399.635797 158.725163 +L 400.614174 159.074421 +L 400.223713 160.037097 +L 399.833253 160.999772 +L 400.81163 161.34903 +L 401.790008 161.698287 +L 401.399547 162.660963 +L 401.009086 163.623638 +L 401.987464 163.972896 +L 402.965841 164.322154 +L 402.57538 165.284829 +L 402.184919 166.247505 +L 403.163297 166.596762 +L 404.141675 166.94602 +L 403.751214 167.908695 +L 403.360753 168.871371 +L 404.33913 169.220629 +L 405.317508 169.569886 +L 404.927047 170.532562 +L 404.536586 171.495237 +L 405.514964 171.844495 +L 406.493342 172.193753 +L 406.102881 173.156428 +L 405.71242 174.119103 +L 406.690797 174.468361 +L 407.669175 174.817619 +L 407.278714 175.780294 +L 406.888253 176.74297 +L 407.866631 177.092227 +L 408.845008 177.441485 +L 408.454548 178.404161 +L 408.064087 179.366836 +L 409.042464 179.716094 +L 410.020842 180.065351 +L 409.630381 181.028027 +L 409.23992 181.990702 +L 410.231048 182.368413 +L 411.222176 182.746123 +L 411.638564 181.737663 +L 412.054951 180.729202 +L 413.084756 181.089581 +L 414.114561 181.449959 +L 414.530948 180.441498 +L 414.947335 179.433038 +L 415.97714 179.793416 +L 417.006945 180.153794 +L 417.423332 179.145334 +L 417.839719 178.136874 +L 418.869524 178.497252 +L 419.899329 178.85763 +L 420.315716 177.84917 +L 420.732103 176.840709 +L 421.761908 177.201087 +L 422.791713 177.561465 +L 423.169423 176.570337 +L 423.547134 175.579209 +L 422.568756 175.229952 +L 421.590379 174.880694 +L 421.980839 173.918018 +L 422.3713 172.955343 +L 421.392923 172.606085 +L 420.414545 172.256828 +L 420.805006 171.294152 +L 421.195467 170.331477 +L 420.217089 169.982219 +L 419.238712 169.632961 +L 419.629173 168.670286 +L 420.019633 167.70761 +L 419.041256 167.358353 +L 418.062878 167.009095 +L 418.453339 166.04642 +L 418.8438 165.083744 +L 417.865422 164.734486 +L 416.887045 164.385229 +L 417.277506 163.422553 +L 417.667966 162.459878 +L 416.689589 162.11062 +L 415.711211 161.761362 +L 416.101672 160.798687 +L 416.492133 159.836012 +L 415.513755 159.486754 +L 414.535378 159.137496 +L 414.925839 158.174821 +L 415.3163 157.212145 +L 414.337922 156.862888 +L 413.359544 156.51363 +L 413.750005 155.550954 +L 414.140466 154.588279 +L 413.162088 154.239021 +L 412.183711 153.889764 +L 412.574172 152.927088 +L 412.964633 151.964413 +L 411.986255 151.615155 +L 411.007877 151.265897 +L 411.398338 150.303222 +L 411.788799 149.340546 +L 410.810422 148.991289 +L 409.832044 148.642031 +L 410.222505 147.679356 +L 410.612966 146.71668 +L 409.621838 146.33897 +L 408.63071 145.961259 +L 408.214322 146.96972 +L 407.797935 147.97818 +L 406.76813 147.617802 +L 405.738325 147.257424 +L 405.321938 148.265884 +L 404.905551 149.274344 +L 403.875746 148.913966 +L 402.845941 148.553588 +L 402.429554 149.562049 +L 402.013167 150.570509 +L 400.983362 150.210131 +L 399.953557 149.849753 +L 399.53717 150.858213 +L 399.120783 151.866673 +L 398.090978 151.506295 +L 397.061173 151.145917 z " style="fill:none;stroke:#0000ff;stroke-linejoin:miter;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 512.219103 189.650561 -Q 511.872887 188.805617 510.865202 188.720047 -Q 509.859962 188.635501 508.189158 189.320114 -Q 506.525294 190.001883 505.866669 190.768197 -Q 505.208754 191.536247 505.554971 192.381192 -Q 505.904031 193.233077 506.911005 193.316911 -Q 507.91869 193.402481 509.582555 192.720712 -Q 511.253359 192.0361 511.909538 191.268761 -Q 512.568163 190.502446 512.219103 189.650561 -z -M 513.086603 189.295103 -Q 513.644672 190.657077 512.861557 191.816846 -Q 512.080177 192.975904 510.031143 193.815497 -Q 507.987314 194.652957 506.61556 194.376146 -Q 505.245541 194.098625 504.687471 192.73665 -Q 504.130113 191.376411 504.911493 190.217353 -Q 505.694608 189.057584 507.738437 188.220124 -Q 509.787471 187.380532 511.15749 187.658053 -Q 512.529244 187.934864 513.086603 189.295103 -z -M 508.157972 196.82994 -L 508.627177 197.97504 -L 507.249587 198.539508 -L 506.780382 197.394408 -z -M 516.327136 197.619055 -L 518.088788 201.918384 -L 517.165768 202.296591 -L 515.815027 199.000093 -L 513.831922 199.81267 -Q 514.010863 200.016952 514.148163 200.238296 -Q 514.286175 200.461375 514.384281 200.700805 -Q 514.939507 202.055839 514.521106 203.151271 -Q 514.103415 204.248438 512.83513 204.768118 -Q 511.528676 205.303438 510.470026 204.786887 -Q 509.413112 204.269624 508.8067 202.78967 -Q 508.59769 202.27958 508.467611 201.71486 -Q 508.338242 201.151874 508.280694 200.516908 -L 509.382419 200.065475 -Q 509.316731 200.661781 509.399881 201.235599 -Q 509.483031 201.809418 509.720477 202.388907 -Q 510.105083 203.327542 510.821762 203.672166 -Q 511.539151 204.018526 512.385831 203.671599 -Q 513.230776 203.325382 513.498866 202.575222 -Q 513.769402 201.826086 513.384796 200.887452 -Q 513.204934 200.448497 512.928623 200.051088 -Q 512.653023 199.655415 512.260298 199.285444 -z -M 519.454901 207.309601 -Q 519.108685 206.464656 518.101 206.379087 -Q 517.09576 206.294541 515.424956 206.979153 -Q 513.761092 207.660923 513.102467 208.427237 -Q 512.444552 209.195287 512.790769 210.040232 -Q 513.139829 210.892116 514.146803 210.975951 -Q 515.154488 211.061521 516.818353 210.379752 -Q 518.489157 209.695139 519.145336 208.927801 -Q 519.803961 208.161486 519.454901 207.309601 -z -M 520.322401 206.954143 -Q 520.88047 208.316117 520.097355 209.475886 -Q 519.315975 210.634944 517.266941 211.474537 -Q 515.223112 212.311996 513.851358 212.035186 -Q 512.481339 211.757665 511.923269 210.39569 -Q 511.365911 209.035451 512.147291 207.876393 -Q 512.930406 206.716624 514.974235 205.879164 -Q 517.023269 205.039571 518.393288 205.317093 -Q 519.765042 205.593903 520.322401 206.954143 -z -M 522.349665 214.374301 -Q 522.003448 213.529357 520.995763 213.443787 -Q 519.990524 213.359241 518.31972 214.043854 -Q 516.655855 214.725623 515.99723 215.491938 -Q 515.339316 216.259987 515.685532 217.104932 -Q 516.034592 217.956817 517.041567 218.040652 -Q 518.049252 218.126221 519.713116 217.444452 -Q 521.38392 216.75984 522.0401 215.992501 -Q 522.698725 215.226186 522.349665 214.374301 -z -M 523.217164 214.018843 -Q 523.775234 215.380818 522.992119 216.540586 -Q 522.210739 217.699644 520.161705 218.539237 -Q 518.117875 219.376697 516.746121 219.099886 -Q 515.376102 218.822365 514.818033 217.46039 -Q 514.260674 216.100151 515.042054 214.941093 -Q 515.825169 213.781324 517.868998 212.943864 -Q 519.918033 212.104272 521.288052 212.381793 -Q 522.659806 212.658604 523.217164 214.018843 + </g> + <path clip-path="url(#pedd1dac049)" d="M 408.914325 152.604273 +Q 408.603143 151.909873 407.761536 151.865817 +Q 406.921993 151.822548 405.548877 152.437882 +Q 404.181464 153.050661 403.653594 153.706709 +Q 403.126364 154.364183 403.437545 155.058583 +Q 403.751283 155.758687 404.592251 155.801317 +Q 405.433859 155.845373 406.801271 155.232594 +Q 408.174388 154.61726 408.700193 153.960425 +Q 409.228063 153.304377 408.914325 152.604273 +z +M 409.627262 152.284785 +Q 410.128858 153.404095 409.507927 154.391212 +Q 408.888422 155.377689 407.204466 156.13232 +Q 405.524787 156.885035 404.374783 156.691528 +Q 403.226205 156.497382 402.724609 155.378071 +Q 402.223651 154.260187 402.843156 153.27371 +Q 403.464087 152.286593 405.143766 151.533879 +Q 406.827722 150.779247 407.9763 150.973393 +Q 409.126304 151.1669 409.627262 152.284785 +z +M 405.725721 158.693626 +L 406.147446 159.634703 +L 405.015303 160.14205 +L 404.593578 159.200974 +z +M 412.551094 159.13025 +L 414.134479 162.663565 +L 413.375914 163.0035 +L 412.161858 160.294341 +L 410.532085 161.024691 +Q 410.686641 161.190004 410.806976 161.370652 +Q 410.92795 161.552726 411.016129 161.749497 +Q 411.515169 162.863104 411.196269 163.786784 +Q 410.878008 164.71189 409.835694 165.178982 +Q 408.762011 165.660132 407.866316 165.25849 +Q 406.972047 164.856208 406.427 163.639938 +Q 406.239141 163.220732 406.115546 162.753891 +Q 405.992591 162.288477 405.927511 161.76117 +L 406.832941 161.35542 +Q 406.794334 161.853854 406.879087 162.329539 +Q 406.963839 162.805225 407.177258 163.281466 +Q 407.522944 164.052864 408.12917 164.320545 +Q 408.736035 164.589651 409.431861 164.27783 +Q 410.126261 163.966649 410.329293 163.334603 +Q 410.534389 162.703345 410.188702 161.931947 +Q 410.027041 161.571201 409.78617 161.247664 +Q 409.545938 160.925552 409.208847 160.628012 +z +M 415.41791 167.116991 +Q 415.106729 166.42259 414.265121 166.378534 +Q 413.425579 166.335265 412.052463 166.9506 +Q 410.68505 167.563379 410.15718 168.219427 +Q 409.629949 168.8769 409.941131 169.571301 +Q 410.254868 170.271404 411.095837 170.314035 +Q 411.937444 170.358091 413.304857 169.745312 +Q 414.677973 169.129977 415.203778 168.473143 +Q 415.731648 167.817095 415.41791 167.116991 +z +M 416.130847 166.797502 +Q 416.632444 167.916813 416.011513 168.903929 +Q 415.392008 169.890406 413.708051 170.645038 +Q 412.028373 171.397753 410.878369 171.204246 +Q 409.729791 171.0101 409.228194 169.890789 +Q 408.727236 168.772904 409.346741 167.786427 +Q 409.967672 166.799311 411.647351 166.046596 +Q 413.331308 165.291965 414.479886 165.486111 +Q 415.629889 165.679618 416.130847 166.797502 +z +M 418.019744 172.922969 +Q 417.708562 172.228569 416.866955 172.184513 +Q 416.027412 172.141244 414.654296 172.756578 +Q 413.286884 173.369357 412.759014 174.025405 +Q 412.231783 174.682879 412.542964 175.377279 +Q 412.856702 176.077383 413.697671 176.120013 +Q 414.539278 176.164069 415.906691 175.55129 +Q 417.279807 174.935955 417.805612 174.279121 +Q 418.333482 173.623073 418.019744 172.922969 +z +M 418.732681 172.603481 +Q 419.234278 173.722791 418.613347 174.709907 +Q 417.993841 175.696385 416.309885 176.451016 +Q 414.630206 177.203731 413.480202 177.010224 +Q 412.331624 176.816078 411.830028 175.696767 +Q 411.32907 174.578883 411.948575 173.592405 +Q 412.569506 172.605289 414.249185 171.852575 +Q 415.933141 171.097943 417.081719 171.292089 +Q 418.231723 171.485596 418.732681 172.603481 z " style="fill:#ffffff;stroke:#000000;stroke-width:3;"/> - <path clip-path="url(#p826a730be7)" d="M 512.219103 189.650561 -Q 511.872887 188.805617 510.865202 188.720047 -Q 509.859962 188.635501 508.189158 189.320114 -Q 506.525294 190.001883 505.866669 190.768197 -Q 505.208754 191.536247 505.554971 192.381192 -Q 505.904031 193.233077 506.911005 193.316911 -Q 507.91869 193.402481 509.582555 192.720712 -Q 511.253359 192.0361 511.909538 191.268761 -Q 512.568163 190.502446 512.219103 189.650561 -z -M 513.086603 189.295103 -Q 513.644672 190.657077 512.861557 191.816846 -Q 512.080177 192.975904 510.031143 193.815497 -Q 507.987314 194.652957 506.61556 194.376146 -Q 505.245541 194.098625 504.687471 192.73665 -Q 504.130113 191.376411 504.911493 190.217353 -Q 505.694608 189.057584 507.738437 188.220124 -Q 509.787471 187.380532 511.15749 187.658053 -Q 512.529244 187.934864 513.086603 189.295103 -z -M 508.157972 196.82994 -L 508.627177 197.97504 -L 507.249587 198.539508 -L 506.780382 197.394408 -z -M 516.327136 197.619055 -L 518.088788 201.918384 -L 517.165768 202.296591 -L 515.815027 199.000093 -L 513.831922 199.81267 -Q 514.010863 200.016952 514.148163 200.238296 -Q 514.286175 200.461375 514.384281 200.700805 -Q 514.939507 202.055839 514.521106 203.151271 -Q 514.103415 204.248438 512.83513 204.768118 -Q 511.528676 205.303438 510.470026 204.786887 -Q 509.413112 204.269624 508.8067 202.78967 -Q 508.59769 202.27958 508.467611 201.71486 -Q 508.338242 201.151874 508.280694 200.516908 -L 509.382419 200.065475 -Q 509.316731 200.661781 509.399881 201.235599 -Q 509.483031 201.809418 509.720477 202.388907 -Q 510.105083 203.327542 510.821762 203.672166 -Q 511.539151 204.018526 512.385831 203.671599 -Q 513.230776 203.325382 513.498866 202.575222 -Q 513.769402 201.826086 513.384796 200.887452 -Q 513.204934 200.448497 512.928623 200.051088 -Q 512.653023 199.655415 512.260298 199.285444 -z -M 519.454901 207.309601 -Q 519.108685 206.464656 518.101 206.379087 -Q 517.09576 206.294541 515.424956 206.979153 -Q 513.761092 207.660923 513.102467 208.427237 -Q 512.444552 209.195287 512.790769 210.040232 -Q 513.139829 210.892116 514.146803 210.975951 -Q 515.154488 211.061521 516.818353 210.379752 -Q 518.489157 209.695139 519.145336 208.927801 -Q 519.803961 208.161486 519.454901 207.309601 -z -M 520.322401 206.954143 -Q 520.88047 208.316117 520.097355 209.475886 -Q 519.315975 210.634944 517.266941 211.474537 -Q 515.223112 212.311996 513.851358 212.035186 -Q 512.481339 211.757665 511.923269 210.39569 -Q 511.365911 209.035451 512.147291 207.876393 -Q 512.930406 206.716624 514.974235 205.879164 -Q 517.023269 205.039571 518.393288 205.317093 -Q 519.765042 205.593903 520.322401 206.954143 -z -M 522.349665 214.374301 -Q 522.003448 213.529357 520.995763 213.443787 -Q 519.990524 213.359241 518.31972 214.043854 -Q 516.655855 214.725623 515.99723 215.491938 -Q 515.339316 216.259987 515.685532 217.104932 -Q 516.034592 217.956817 517.041567 218.040652 -Q 518.049252 218.126221 519.713116 217.444452 -Q 521.38392 216.75984 522.0401 215.992501 -Q 522.698725 215.226186 522.349665 214.374301 -z -M 523.217164 214.018843 -Q 523.775234 215.380818 522.992119 216.540586 -Q 522.210739 217.699644 520.161705 218.539237 -Q 518.117875 219.376697 516.746121 219.099886 -Q 515.376102 218.822365 514.818033 217.46039 -Q 514.260674 216.100151 515.042054 214.941093 -Q 515.825169 213.781324 517.868998 212.943864 -Q 519.918033 212.104272 521.288052 212.381793 -Q 522.659806 212.658604 523.217164 214.018843 + <path clip-path="url(#pedd1dac049)" d="M 408.914325 152.604273 +Q 408.603143 151.909873 407.761536 151.865817 +Q 406.921993 151.822548 405.548877 152.437882 +Q 404.181464 153.050661 403.653594 153.706709 +Q 403.126364 154.364183 403.437545 155.058583 +Q 403.751283 155.758687 404.592251 155.801317 +Q 405.433859 155.845373 406.801271 155.232594 +Q 408.174388 154.61726 408.700193 153.960425 +Q 409.228063 153.304377 408.914325 152.604273 +z +M 409.627262 152.284785 +Q 410.128858 153.404095 409.507927 154.391212 +Q 408.888422 155.377689 407.204466 156.13232 +Q 405.524787 156.885035 404.374783 156.691528 +Q 403.226205 156.497382 402.724609 155.378071 +Q 402.223651 154.260187 402.843156 153.27371 +Q 403.464087 152.286593 405.143766 151.533879 +Q 406.827722 150.779247 407.9763 150.973393 +Q 409.126304 151.1669 409.627262 152.284785 +z +M 405.725721 158.693626 +L 406.147446 159.634703 +L 405.015303 160.14205 +L 404.593578 159.200974 +z +M 412.551094 159.13025 +L 414.134479 162.663565 +L 413.375914 163.0035 +L 412.161858 160.294341 +L 410.532085 161.024691 +Q 410.686641 161.190004 410.806976 161.370652 +Q 410.92795 161.552726 411.016129 161.749497 +Q 411.515169 162.863104 411.196269 163.786784 +Q 410.878008 164.71189 409.835694 165.178982 +Q 408.762011 165.660132 407.866316 165.25849 +Q 406.972047 164.856208 406.427 163.639938 +Q 406.239141 163.220732 406.115546 162.753891 +Q 405.992591 162.288477 405.927511 161.76117 +L 406.832941 161.35542 +Q 406.794334 161.853854 406.879087 162.329539 +Q 406.963839 162.805225 407.177258 163.281466 +Q 407.522944 164.052864 408.12917 164.320545 +Q 408.736035 164.589651 409.431861 164.27783 +Q 410.126261 163.966649 410.329293 163.334603 +Q 410.534389 162.703345 410.188702 161.931947 +Q 410.027041 161.571201 409.78617 161.247664 +Q 409.545938 160.925552 409.208847 160.628012 +z +M 415.41791 167.116991 +Q 415.106729 166.42259 414.265121 166.378534 +Q 413.425579 166.335265 412.052463 166.9506 +Q 410.68505 167.563379 410.15718 168.219427 +Q 409.629949 168.8769 409.941131 169.571301 +Q 410.254868 170.271404 411.095837 170.314035 +Q 411.937444 170.358091 413.304857 169.745312 +Q 414.677973 169.129977 415.203778 168.473143 +Q 415.731648 167.817095 415.41791 167.116991 +z +M 416.130847 166.797502 +Q 416.632444 167.916813 416.011513 168.903929 +Q 415.392008 169.890406 413.708051 170.645038 +Q 412.028373 171.397753 410.878369 171.204246 +Q 409.729791 171.0101 409.228194 169.890789 +Q 408.727236 168.772904 409.346741 167.786427 +Q 409.967672 166.799311 411.647351 166.046596 +Q 413.331308 165.291965 414.479886 165.486111 +Q 415.629889 165.679618 416.130847 166.797502 +z +M 418.019744 172.922969 +Q 417.708562 172.228569 416.866955 172.184513 +Q 416.027412 172.141244 414.654296 172.756578 +Q 413.286884 173.369357 412.759014 174.025405 +Q 412.231783 174.682879 412.542964 175.377279 +Q 412.856702 176.077383 413.697671 176.120013 +Q 414.539278 176.164069 415.906691 175.55129 +Q 417.279807 174.935955 417.805612 174.279121 +Q 418.333482 173.623073 418.019744 172.922969 +z +M 418.732681 172.603481 +Q 419.234278 173.722791 418.613347 174.709907 +Q 417.993841 175.696385 416.309885 176.451016 +Q 414.630206 177.203731 413.480202 177.010224 +Q 412.331624 176.816078 411.830028 175.696767 +Q 411.32907 174.578883 411.948575 173.592405 +Q 412.569506 172.605289 414.249185 171.852575 +Q 415.933141 171.097943 417.081719 171.292089 +Q 418.231723 171.485596 418.732681 172.603481 z " style="fill:#ffffff;"/> - </g> - <g id="text_38"> - <g id="patch_87"> - <path clip-path="url(#p826a730be7)" d="M 121.202054 387.770496 -L 122.11962 388.652581 -L 122.964297 387.735753 -L 123.808974 386.818925 -L 124.689132 387.701747 -L 125.56929 388.584569 -L 126.413967 387.667741 -L 127.258645 386.750913 -L 128.138803 387.633735 -L 129.018961 388.516557 -L 129.863638 387.599729 -L 130.708315 386.682901 -L 131.588473 387.565723 -L 132.468631 388.448545 -L 133.313308 387.531717 -L 134.157986 386.614889 -L 135.038144 387.497711 -L 135.918302 388.380533 -L 136.762979 387.463705 -L 137.607656 386.546877 -L 138.487814 387.429699 -L 139.367972 388.312521 -L 140.21265 387.395693 -L 141.057327 386.478865 -L 141.937485 387.361687 -L 142.817643 388.244509 -L 143.66232 387.327681 -L 144.506997 386.410853 -L 145.387155 387.293675 -L 146.267313 388.176497 -L 147.111991 387.259669 -L 147.956668 386.342841 -L 148.836826 387.225663 -L 149.716984 388.108485 -L 150.561661 387.191657 -L 151.406338 386.274829 -L 152.286496 387.157651 -L 153.166655 388.040473 -L 154.011332 387.123645 -L 154.856009 386.206817 -L 155.736167 387.089639 -L 156.616325 387.972461 -L 157.461002 387.055633 -L 158.305679 386.138805 -L 159.185837 387.021627 -L 160.065996 387.904449 -L 160.94808 386.986884 -L 161.830165 386.069318 -L 160.911597 385.136384 -L 159.993029 384.20345 -L 160.874111 383.235035 -L 161.755193 382.26662 -L 160.836625 381.333685 -L 159.918056 380.400751 -L 160.799139 379.432336 -L 161.680221 378.463921 -L 160.761653 377.530987 -L 159.843084 376.598053 -L 160.724167 375.629638 -L 161.605249 374.661222 -L 160.686681 373.728288 -L 159.768112 372.795354 -L 160.649194 371.826939 -L 161.530277 370.858524 -L 160.612711 369.976439 -L 159.695145 369.094355 -L 158.850468 370.011183 -L 158.005791 370.928011 -L 157.125633 370.045189 -L 156.245475 369.162367 -L 155.400798 370.079195 -L 154.556121 370.996023 -L 153.675962 370.113201 -L 152.795804 369.230379 -L 151.951127 370.147207 -L 151.10645 371.064035 -L 150.226292 370.181213 -L 149.346134 369.298391 -L 148.501457 370.215219 -L 147.656779 371.132047 -L 146.776621 370.249225 -L 145.896463 369.366402 -L 145.051786 370.283231 -L 144.207109 371.200059 -L 143.326951 370.317237 -L 142.446793 369.434414 -L 141.602116 370.351243 -L 140.757438 371.268071 -L 139.87728 370.385249 -L 138.997122 369.502426 -L 138.152445 370.419255 -L 137.307768 371.336083 -L 136.42761 370.45326 -L 135.547452 369.570438 -L 134.702774 370.487266 -L 133.858097 371.404095 -L 132.977939 370.521272 -L 132.097781 369.63845 -L 131.253104 370.555278 -L 130.408427 371.472107 -L 129.528269 370.589284 -L 128.648111 369.706462 -L 127.803433 370.62329 -L 126.958756 371.540118 -L 126.078598 370.657296 -L 125.19844 369.774474 -L 124.353763 370.691302 -L 123.509086 371.60813 -L 122.628928 370.725308 -L 121.74877 369.842486 -L 120.866685 370.760052 -L 119.9846 371.677617 -L 120.903168 372.610552 -L 121.821737 373.543486 -L 120.940654 374.511901 -L 120.059572 375.480316 -L 120.97814 376.41325 -L 121.896709 377.346184 -L 121.015626 378.314599 -L 120.134544 379.283014 -L 121.053113 380.215949 -L 121.971681 381.148883 -L 121.090599 382.117298 -L 120.209516 383.085713 -L 121.128085 384.018647 -L 122.046653 384.951581 -L 121.165571 385.919996 -L 120.284489 386.888411 + </g> + <g id="text_38"> + <g id="patch_88"> + <path clip-path="url(#pedd1dac049)" d="M 96.29867 307.341171 +L 97.0627 308.076874 +L 97.767229 307.313433 +L 98.471759 306.549993 +L 99.204615 307.286284 +L 99.937471 308.022576 +L 100.642001 307.259135 +L 101.34653 306.495695 +L 102.079386 307.231986 +L 102.812242 307.968278 +L 103.516772 307.204837 +L 104.221302 306.441396 +L 104.954158 307.177688 +L 105.687014 307.91398 +L 106.391543 307.150539 +L 107.096073 306.387098 +L 107.828929 307.12339 +L 108.561785 307.859682 +L 109.266315 307.096241 +L 109.970844 306.3328 +L 110.7037 307.069092 +L 111.436557 307.805384 +L 112.141086 307.041943 +L 112.845616 306.278502 +L 113.578472 307.014794 +L 114.311328 307.751086 +L 115.015857 306.987645 +L 115.720387 306.224204 +L 116.453243 306.960496 +L 117.186099 307.696788 +L 117.890629 306.933347 +L 118.595158 306.169906 +L 119.328014 306.906198 +L 120.060871 307.64249 +L 120.7654 306.879049 +L 121.46993 306.115608 +L 122.202786 306.8519 +L 122.935642 307.588191 +L 123.640171 306.824751 +L 124.344701 306.06131 +L 125.077557 306.797602 +L 125.810413 307.533893 +L 126.514943 306.770453 +L 127.219472 306.007012 +L 127.952328 306.743304 +L 128.685185 307.479595 +L 129.420888 306.715566 +L 130.156591 305.951536 +L 129.391761 305.173458 +L 128.626931 304.39538 +L 129.361833 303.588975 +L 130.096736 302.78257 +L 129.331906 302.004492 +L 128.567076 301.226414 +L 129.301978 300.420009 +L 130.036881 299.613604 +L 129.272051 298.835526 +L 128.507221 298.057448 +L 129.242124 297.251043 +L 129.977026 296.444638 +L 129.212196 295.66656 +L 128.447366 294.888482 +L 129.182269 294.082077 +L 129.917171 293.275672 +L 129.153142 292.539969 +L 128.389112 291.804266 +L 127.684583 292.567707 +L 126.980053 293.331148 +L 126.247197 292.594856 +L 125.514341 291.858564 +L 124.809811 292.622005 +L 124.105282 293.385446 +L 123.372426 292.649154 +L 122.63957 291.912862 +L 121.93504 292.676303 +L 121.230511 293.439744 +L 120.497654 292.703452 +L 119.764798 291.96716 +L 119.060269 292.730601 +L 118.355739 293.494042 +L 117.622883 292.75775 +L 116.890027 292.021458 +L 116.185497 292.784899 +L 115.480968 293.54834 +L 114.748112 292.812048 +L 114.015256 292.075757 +L 113.310726 292.839197 +L 112.606197 293.602638 +L 111.87334 292.866346 +L 111.140484 292.130055 +L 110.435955 292.893495 +L 109.731425 293.656936 +L 108.998569 292.920644 +L 108.265713 292.184353 +L 107.561183 292.947793 +L 106.856654 293.711234 +L 106.123798 292.974942 +L 105.390942 292.238651 +L 104.686412 293.002092 +L 103.981882 293.765532 +L 103.249026 293.029241 +L 102.51617 292.292949 +L 101.811641 293.05639 +L 101.107111 293.81983 +L 100.374255 293.083539 +L 99.641399 292.347247 +L 98.936869 293.110688 +L 98.23234 293.874128 +L 97.499484 293.137837 +L 96.766627 292.401545 +L 96.030925 293.165575 +L 95.295222 293.929604 +L 96.060052 294.707682 +L 96.824881 295.48576 +L 96.089979 296.292165 +L 95.355076 297.09857 +L 96.119906 297.876648 +L 96.884736 298.654727 +L 96.149834 299.461131 +L 95.414931 300.267536 +L 96.179761 301.045614 +L 96.944591 301.823693 +L 96.209688 302.630097 +L 95.474786 303.436502 +L 96.239616 304.21458 +L 97.004446 304.992659 +L 96.269543 305.799063 +L 95.534641 306.605468 z " style="fill:none;stroke:#0000ff;stroke-linejoin:miter;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 125.26795 381.497882 -L 127.2007 381.459777 -L 127.069125 374.786074 -L 124.974099 375.249335 -L 124.952848 374.17142 -L 127.036625 373.70838 -L 128.21952 373.685058 -L 128.372347 381.436677 -L 130.305097 381.398572 -L 130.324722 382.394004 -L 125.287576 382.493313 -z -M 132.685302 380.858424 -L 133.922562 380.834031 -L 133.951908 382.322492 -L 132.714648 382.346885 -z -M 138.902041 374.254599 -Q 137.989094 374.272598 137.545674 375.181515 -Q 137.104091 376.088521 137.139683 377.893795 -Q 137.175127 379.691571 137.652154 380.582341 -Q 138.131054 381.473074 139.044002 381.455075 -Q 139.964448 381.436928 140.405993 380.528047 -Q 140.849413 379.61913 140.813969 377.821355 -Q 140.778377 376.01608 140.299513 375.127222 -Q 139.822487 374.236452 138.902041 374.254599 -z -M 138.883561 373.317281 -Q 140.35515 373.288268 141.154201 374.437116 -Q 141.953215 375.584089 141.996864 377.798033 -Q 142.040403 380.006354 141.287255 381.185804 -Q 140.534071 382.363379 139.062482 382.392392 -Q 137.592767 382.421369 136.793753 381.274396 -Q 135.994702 380.125548 135.951164 377.917227 -Q 135.907515 375.703282 136.6607 374.525707 -Q 137.413847 373.346257 138.883561 373.317281 -z -M 146.535323 374.104105 -Q 145.622376 374.122104 145.178956 375.031021 -Q 144.737374 375.938027 144.772966 377.743301 -Q 144.80841 379.541077 145.285436 380.431847 -Q 145.764337 381.32258 146.677284 381.304581 -Q 147.59773 381.286434 148.039276 380.377554 -Q 148.482696 379.468636 148.447251 377.670861 -Q 148.41166 375.865587 147.932796 374.976728 -Q 147.455769 374.085958 146.535323 374.104105 -z -M 146.516844 373.166787 -Q 147.988433 373.137774 148.787484 374.286622 -Q 149.586498 375.433595 149.630147 377.647539 -Q 149.673685 379.85586 148.920537 381.03531 -Q 148.167353 382.212885 146.695764 382.241899 -Q 145.22605 382.270875 144.427036 381.123902 -Q 143.627985 379.975054 143.584446 377.766733 -Q 143.540797 375.552789 144.293982 374.375213 -Q 145.047129 373.195763 146.516844 373.166787 -z -M 154.168606 373.953611 -Q 153.255658 373.97161 152.812238 374.880527 -Q 152.370656 375.787533 152.406248 377.592807 -Q 152.441692 379.390583 152.918718 380.281353 -Q 153.397619 381.172086 154.310566 381.154087 -Q 155.231013 381.13594 155.672558 380.22706 -Q 156.115978 379.318142 156.080534 377.520367 -Q 156.044942 375.715093 155.566078 374.826234 -Q 155.089052 373.935464 154.168606 373.953611 -z -M 154.150126 373.016293 -Q 155.621715 372.98728 156.420766 374.136128 -Q 157.21978 375.283101 157.263429 377.497045 -Q 157.306967 379.705366 156.55382 380.884816 -Q 155.800635 382.062392 154.329046 382.091405 -Q 152.859332 382.120381 152.060318 380.973408 -Q 151.261267 379.82456 151.217729 377.616239 -Q 151.17408 375.402295 151.927264 374.224719 -Q 152.680412 373.045269 154.150126 373.016293 + </g> + <path clip-path="url(#pedd1dac049)" d="M 99.691241 302.116798 +L 101.301891 302.086376 +L 101.196847 296.524868 +L 99.450673 296.909475 +L 99.433707 296.011197 +L 101.170507 295.626768 +L 102.156268 295.608149 +L 102.278279 302.067934 +L 103.88893 302.037513 +L 103.904598 302.867052 +L 99.706909 302.946337 +z +M 105.872806 301.589031 +L 106.903872 301.569556 +L 106.927301 302.80996 +L 105.896235 302.829435 +z +M 111.057973 296.090131 +Q 110.297172 296.104501 109.927028 296.861626 +Q 109.558418 297.617159 109.586833 299.121579 +Q 109.61513 300.619749 110.012038 301.362386 +Q 110.410508 302.104994 111.171309 302.090624 +Q 111.93836 302.076136 112.306941 301.31904 +Q 112.677084 300.561915 112.648787 299.063745 +Q 112.620372 297.559326 112.221932 296.818281 +Q 111.825024 296.075644 111.057973 296.090131 +z +M 111.04322 295.309021 +Q 112.269564 295.285858 112.934647 296.243781 +Q 113.599701 297.200143 113.634549 299.045126 +Q 113.669308 300.885423 113.040872 301.867778 +Q 112.412407 302.848571 111.186063 302.871734 +Q 109.961281 302.894868 109.296227 301.938506 +Q 108.631144 300.980583 108.596385 299.140286 +Q 108.561537 297.295303 109.190003 296.31451 +Q 109.818438 295.332154 111.04322 295.309021 +z +M 117.419144 295.969983 +Q 116.658342 295.984353 116.288199 296.741478 +Q 115.919588 297.497011 115.948003 299.00143 +Q 115.9763 300.499601 116.373208 301.242238 +Q 116.771678 301.984845 117.53248 301.970475 +Q 118.29953 301.955987 118.668111 301.198892 +Q 119.038254 300.441767 119.009957 298.943597 +Q 118.981542 297.439178 118.583102 296.698132 +Q 118.186194 295.955495 117.419144 295.969983 +z +M 117.40439 295.188872 +Q 118.630734 295.165709 119.295817 296.123633 +Q 119.960871 297.079994 119.995719 298.924978 +Q 120.030478 300.765275 119.402042 301.74763 +Q 118.773577 302.728423 117.547233 302.751586 +Q 116.322451 302.774719 115.657398 301.818358 +Q 114.992314 300.860434 114.957555 299.020138 +Q 114.922707 297.175154 115.551173 296.194361 +Q 116.179609 295.212006 117.40439 295.188872 +z +M 123.780314 295.849835 +Q 123.019512 295.864204 122.649369 296.621329 +Q 122.280758 297.376863 122.309173 298.881282 +Q 122.337471 300.379452 122.734378 301.122089 +Q 123.132848 301.864697 123.89365 301.850327 +Q 124.6607 301.835839 125.029281 301.078744 +Q 125.399424 300.321619 125.371127 298.823448 +Q 125.342712 297.319029 124.944272 296.577984 +Q 124.547364 295.835347 123.780314 295.849835 +z +M 123.76556 295.068724 +Q 124.991904 295.045561 125.656987 296.003485 +Q 126.322041 296.959846 126.356889 298.804829 +Q 126.391648 300.645126 125.763212 301.627482 +Q 125.134747 302.608275 123.908403 302.631438 +Q 122.683622 302.654571 122.018568 301.69821 +Q 121.353484 300.740286 121.318725 298.899989 +Q 121.283877 297.055006 121.912343 296.074213 +Q 122.540779 295.091857 123.76556 295.068724 z " style="fill:#ffffff;stroke:#000000;stroke-width:3;"/> - <path clip-path="url(#p826a730be7)" d="M 125.26795 381.497882 -L 127.2007 381.459777 -L 127.069125 374.786074 -L 124.974099 375.249335 -L 124.952848 374.17142 -L 127.036625 373.70838 -L 128.21952 373.685058 -L 128.372347 381.436677 -L 130.305097 381.398572 -L 130.324722 382.394004 -L 125.287576 382.493313 -z -M 132.685302 380.858424 -L 133.922562 380.834031 -L 133.951908 382.322492 -L 132.714648 382.346885 -z -M 138.902041 374.254599 -Q 137.989094 374.272598 137.545674 375.181515 -Q 137.104091 376.088521 137.139683 377.893795 -Q 137.175127 379.691571 137.652154 380.582341 -Q 138.131054 381.473074 139.044002 381.455075 -Q 139.964448 381.436928 140.405993 380.528047 -Q 140.849413 379.61913 140.813969 377.821355 -Q 140.778377 376.01608 140.299513 375.127222 -Q 139.822487 374.236452 138.902041 374.254599 -z -M 138.883561 373.317281 -Q 140.35515 373.288268 141.154201 374.437116 -Q 141.953215 375.584089 141.996864 377.798033 -Q 142.040403 380.006354 141.287255 381.185804 -Q 140.534071 382.363379 139.062482 382.392392 -Q 137.592767 382.421369 136.793753 381.274396 -Q 135.994702 380.125548 135.951164 377.917227 -Q 135.907515 375.703282 136.6607 374.525707 -Q 137.413847 373.346257 138.883561 373.317281 -z -M 146.535323 374.104105 -Q 145.622376 374.122104 145.178956 375.031021 -Q 144.737374 375.938027 144.772966 377.743301 -Q 144.80841 379.541077 145.285436 380.431847 -Q 145.764337 381.32258 146.677284 381.304581 -Q 147.59773 381.286434 148.039276 380.377554 -Q 148.482696 379.468636 148.447251 377.670861 -Q 148.41166 375.865587 147.932796 374.976728 -Q 147.455769 374.085958 146.535323 374.104105 -z -M 146.516844 373.166787 -Q 147.988433 373.137774 148.787484 374.286622 -Q 149.586498 375.433595 149.630147 377.647539 -Q 149.673685 379.85586 148.920537 381.03531 -Q 148.167353 382.212885 146.695764 382.241899 -Q 145.22605 382.270875 144.427036 381.123902 -Q 143.627985 379.975054 143.584446 377.766733 -Q 143.540797 375.552789 144.293982 374.375213 -Q 145.047129 373.195763 146.516844 373.166787 -z -M 154.168606 373.953611 -Q 153.255658 373.97161 152.812238 374.880527 -Q 152.370656 375.787533 152.406248 377.592807 -Q 152.441692 379.390583 152.918718 380.281353 -Q 153.397619 381.172086 154.310566 381.154087 -Q 155.231013 381.13594 155.672558 380.22706 -Q 156.115978 379.318142 156.080534 377.520367 -Q 156.044942 375.715093 155.566078 374.826234 -Q 155.089052 373.935464 154.168606 373.953611 -z -M 154.150126 373.016293 -Q 155.621715 372.98728 156.420766 374.136128 -Q 157.21978 375.283101 157.263429 377.497045 -Q 157.306967 379.705366 156.55382 380.884816 -Q 155.800635 382.062392 154.329046 382.091405 -Q 152.859332 382.120381 152.060318 380.973408 -Q 151.261267 379.82456 151.217729 377.616239 -Q 151.17408 375.402295 151.927264 374.224719 -Q 152.680412 373.045269 154.150126 373.016293 + <path clip-path="url(#pedd1dac049)" d="M 99.691241 302.116798 +L 101.301891 302.086376 +L 101.196847 296.524868 +L 99.450673 296.909475 +L 99.433707 296.011197 +L 101.170507 295.626768 +L 102.156268 295.608149 +L 102.278279 302.067934 +L 103.88893 302.037513 +L 103.904598 302.867052 +L 99.706909 302.946337 +z +M 105.872806 301.589031 +L 106.903872 301.569556 +L 106.927301 302.80996 +L 105.896235 302.829435 +z +M 111.057973 296.090131 +Q 110.297172 296.104501 109.927028 296.861626 +Q 109.558418 297.617159 109.586833 299.121579 +Q 109.61513 300.619749 110.012038 301.362386 +Q 110.410508 302.104994 111.171309 302.090624 +Q 111.93836 302.076136 112.306941 301.31904 +Q 112.677084 300.561915 112.648787 299.063745 +Q 112.620372 297.559326 112.221932 296.818281 +Q 111.825024 296.075644 111.057973 296.090131 +z +M 111.04322 295.309021 +Q 112.269564 295.285858 112.934647 296.243781 +Q 113.599701 297.200143 113.634549 299.045126 +Q 113.669308 300.885423 113.040872 301.867778 +Q 112.412407 302.848571 111.186063 302.871734 +Q 109.961281 302.894868 109.296227 301.938506 +Q 108.631144 300.980583 108.596385 299.140286 +Q 108.561537 297.295303 109.190003 296.31451 +Q 109.818438 295.332154 111.04322 295.309021 +z +M 117.419144 295.969983 +Q 116.658342 295.984353 116.288199 296.741478 +Q 115.919588 297.497011 115.948003 299.00143 +Q 115.9763 300.499601 116.373208 301.242238 +Q 116.771678 301.984845 117.53248 301.970475 +Q 118.29953 301.955987 118.668111 301.198892 +Q 119.038254 300.441767 119.009957 298.943597 +Q 118.981542 297.439178 118.583102 296.698132 +Q 118.186194 295.955495 117.419144 295.969983 +z +M 117.40439 295.188872 +Q 118.630734 295.165709 119.295817 296.123633 +Q 119.960871 297.079994 119.995719 298.924978 +Q 120.030478 300.765275 119.402042 301.74763 +Q 118.773577 302.728423 117.547233 302.751586 +Q 116.322451 302.774719 115.657398 301.818358 +Q 114.992314 300.860434 114.957555 299.020138 +Q 114.922707 297.175154 115.551173 296.194361 +Q 116.179609 295.212006 117.40439 295.188872 +z +M 123.780314 295.849835 +Q 123.019512 295.864204 122.649369 296.621329 +Q 122.280758 297.376863 122.309173 298.881282 +Q 122.337471 300.379452 122.734378 301.122089 +Q 123.132848 301.864697 123.89365 301.850327 +Q 124.6607 301.835839 125.029281 301.078744 +Q 125.399424 300.321619 125.371127 298.823448 +Q 125.342712 297.319029 124.944272 296.577984 +Q 124.547364 295.835347 123.780314 295.849835 +z +M 123.76556 295.068724 +Q 124.991904 295.045561 125.656987 296.003485 +Q 126.322041 296.959846 126.356889 298.804829 +Q 126.391648 300.645126 125.763212 301.627482 +Q 125.134747 302.608275 123.908403 302.631438 +Q 122.683622 302.654571 122.018568 301.69821 +Q 121.353484 300.740286 121.318725 298.899989 +Q 121.283877 297.055006 121.912343 296.074213 +Q 122.540779 295.091857 123.76556 295.068724 z " style="fill:#ffffff;"/> - </g> - <g id="text_39"> - <g id="patch_88"> - <path clip-path="url(#p826a730be7)" d="M 402.662064 387.391133 -L 403.563129 388.290067 -L 404.424648 387.389047 -L 405.286168 386.488027 -L 406.149818 387.387006 -L 407.013467 388.285984 -L 407.874987 387.384964 -L 408.736506 386.483944 -L 409.600156 387.382923 -L 410.463806 388.281901 -L 411.325325 387.380881 -L 412.186845 386.479861 -L 413.050494 387.37884 -L 413.914144 388.277819 -L 414.775664 387.376798 -L 415.637183 386.475778 -L 416.500833 387.374757 -L 417.364483 388.273736 -L 418.226002 387.372716 -L 419.087522 386.471696 -L 419.951171 387.370674 -L 420.814821 388.269653 -L 421.676341 387.368633 -L 422.53786 386.467613 -L 423.40151 387.366591 -L 424.26516 388.26557 -L 425.126679 387.36455 -L 425.988199 386.46353 -L 426.851848 387.362509 -L 427.715498 388.261487 -L 428.577018 387.360467 -L 429.438537 386.459447 -L 430.302187 387.358426 -L 431.165837 388.257404 -L 432.027356 387.356384 -L 432.888876 386.455364 -L 433.752525 387.354343 -L 434.616175 388.253322 -L 435.477695 387.352301 -L 436.339214 386.451281 -L 437.202864 387.35026 -L 438.066514 388.249239 -L 438.928033 387.348219 -L 439.789553 386.447199 -L 440.653202 387.346177 -L 441.516852 388.245156 -L 442.415786 387.344092 -L 443.314721 386.443027 -L 442.413596 385.493233 -L 441.512472 384.54344 -L 442.411346 383.591516 -L 443.31022 382.639592 -L 442.409096 381.689799 -L 441.507971 380.740005 -L 442.406845 379.788081 -L 443.30572 378.836158 -L 442.404595 377.886364 -L 441.50347 376.93657 -L 442.402345 375.984646 -L 443.301219 375.032723 -L 442.400094 374.082929 -L 441.49897 373.133135 -L 442.397844 372.181212 -L 443.296718 371.229288 -L 442.395654 370.330353 -L 441.49459 369.431419 -L 440.63307 370.332439 -L 439.77155 371.233459 -L 438.907901 370.334481 -L 438.044251 369.435502 -L 437.182731 370.336522 -L 436.321212 371.237542 -L 435.457562 370.338563 -L 434.593913 369.439585 -L 433.732393 370.340605 -L 432.870873 371.241625 -L 432.007224 370.342646 -L 431.143574 369.443668 -L 430.282054 370.344688 -L 429.420535 371.245708 -L 428.556885 370.346729 -L 427.693236 369.44775 -L 426.831716 370.34877 -L 425.970196 371.249791 -L 425.106547 370.350812 -L 424.242897 369.451833 -L 423.381377 370.352853 -L 422.519858 371.253873 -L 421.656208 370.354895 -L 420.792559 369.455916 -L 419.931039 370.356936 -L 419.069519 371.257956 -L 418.20587 370.358978 -L 417.34222 369.459999 -L 416.4807 370.361019 -L 415.619181 371.262039 -L 414.755531 370.36306 -L 413.891882 369.464082 -L 413.030362 370.365102 -L 412.168842 371.266122 -L 411.305193 370.367143 -L 410.441543 369.468165 -L 409.580023 370.369185 -L 408.718504 371.270205 -L 407.854854 370.371226 -L 406.991205 369.472247 -L 406.129685 370.373267 -L 405.268165 371.274288 -L 404.404516 370.375309 -L 403.540866 369.47633 -L 402.641932 370.377395 -L 401.742997 371.278459 -L 402.644122 372.228253 -L 403.545246 373.178046 -L 402.646372 374.12997 -L 401.747498 375.081894 -L 402.648622 376.031687 -L 403.549747 376.981481 -L 402.650873 377.933405 -L 401.751999 378.885329 -L 402.653123 379.835122 -L 403.554248 380.784916 -L 402.655373 381.73684 -L 401.756499 382.688763 -L 402.657624 383.638557 -L 403.558748 384.588351 -L 402.659874 385.540275 -L 401.761 386.492198 + </g> + <g id="text_39"> + <g id="patch_89"> + <path clip-path="url(#pedd1dac049)" d="M 321.467051 307.038559 +L 322.217898 307.78771 +L 322.935871 307.036898 +L 323.653843 306.286086 +L 324.373512 307.035273 +L 325.093181 307.784459 +L 325.811153 307.033647 +L 326.529126 306.282835 +L 327.248794 307.032022 +L 327.968463 307.781208 +L 328.686435 307.030396 +L 329.404408 306.279584 +L 330.124077 307.02877 +L 330.843745 307.777957 +L 331.561718 307.027145 +L 332.27969 306.276333 +L 332.999359 307.025519 +L 333.719027 307.774706 +L 334.437 307.023894 +L 335.154972 306.273082 +L 335.874641 307.022268 +L 336.59431 307.771455 +L 337.312282 307.020643 +L 338.030255 306.269831 +L 338.749923 307.019017 +L 339.469592 307.768204 +L 340.187564 307.017392 +L 340.905537 306.26658 +L 341.625206 307.015766 +L 342.344874 307.764953 +L 343.062847 307.014141 +L 343.780819 306.263329 +L 344.500488 307.012515 +L 345.220156 307.761702 +L 345.938129 307.01089 +L 346.656102 306.260077 +L 347.37577 307.009264 +L 348.095439 307.758451 +L 348.813411 307.007639 +L 349.531384 306.256826 +L 350.251052 307.006013 +L 350.970721 307.7552 +L 351.688693 307.004388 +L 352.406666 306.253575 +L 353.126335 307.002762 +L 353.846003 307.751949 +L 354.595155 307.001101 +L 355.344306 306.250254 +L 354.593411 305.45872 +L 353.842515 304.667185 +L 354.591619 303.873955 +L 355.340722 303.080725 +L 354.589827 302.28919 +L 353.838932 301.497656 +L 354.588035 300.704426 +L 355.337139 299.911195 +L 354.586243 299.119661 +L 353.835348 298.328127 +L 354.584451 297.534896 +L 355.333555 296.741666 +L 354.582659 295.950132 +L 353.831764 295.158598 +L 354.580868 294.365367 +L 355.329971 293.572137 +L 354.579124 292.822985 +L 353.828276 292.073834 +L 353.110304 292.824646 +L 352.392331 293.575458 +L 351.672662 292.826272 +L 350.952994 292.077085 +L 350.235021 292.827897 +L 349.517049 293.57871 +L 348.79738 292.829523 +L 348.077712 292.080336 +L 347.359739 292.831148 +L 346.641767 293.581961 +L 345.922098 292.832774 +L 345.202429 292.083587 +L 344.484457 292.834399 +L 343.766484 293.585212 +L 343.046816 292.836025 +L 342.327147 292.086838 +L 341.609175 292.83765 +L 340.891202 293.588463 +L 340.171533 292.839276 +L 339.451865 292.090089 +L 338.733892 292.840901 +L 338.01592 293.591714 +L 337.296251 292.842527 +L 336.576583 292.09334 +L 335.85861 292.844152 +L 335.140637 293.594965 +L 334.420969 292.845778 +L 333.7013 292.096591 +L 332.983328 292.847404 +L 332.265355 293.598216 +L 331.545687 292.849029 +L 330.826018 292.099842 +L 330.108046 292.850655 +L 329.390073 293.601467 +L 328.670404 292.85228 +L 327.950736 292.103093 +L 327.232763 292.853906 +L 326.514791 293.604718 +L 325.795122 292.855531 +L 325.075454 292.106344 +L 324.357481 292.857157 +L 323.639508 293.607969 +L 322.91984 292.858782 +L 322.200171 292.109595 +L 321.45102 292.860443 +L 320.701868 293.61129 +L 321.452764 294.402825 +L 322.203659 295.194359 +L 321.454556 295.987589 +L 320.705452 296.78082 +L 321.456348 297.572354 +L 322.207243 298.363888 +L 321.458139 299.157119 +L 320.709036 299.950349 +L 321.459931 300.741883 +L 322.210827 301.533418 +L 321.461723 302.326648 +L 320.71262 303.119878 +L 321.463515 303.911412 +L 322.21441 304.702947 +L 321.465307 305.496177 +L 320.716203 306.289407 z " style="fill:none;stroke:#0000ff;stroke-linejoin:miter;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 406.843485 381.19493 -L 408.776609 381.192643 -L 408.76871 374.517648 -L 406.665461 374.942012 -L 406.664185 373.863887 -L 408.756184 373.439537 -L 409.939309 373.438137 -L 409.948483 381.191256 -L 411.881607 381.188969 -L 411.882785 382.184593 -L 406.844663 382.190555 -z -M 414.271412 380.693015 -L 415.508911 380.691551 -L 415.510673 382.1803 -L 414.273174 382.181764 -z -M 420.609443 374.205511 -Q 419.696319 374.206592 419.236134 375.107137 -Q 418.777822 376.005805 418.779959 377.811428 -Q 418.782086 379.609552 419.242526 380.509008 -Q 419.704841 381.408462 420.617965 381.407381 -Q 421.538589 381.406292 421.996899 380.505749 -Q 422.457084 379.605204 422.454956 377.80708 -Q 422.452819 376.001456 421.990507 375.103877 -Q 421.530067 374.204422 420.609443 374.205511 -z -M 420.608334 373.268012 -Q 422.080207 373.26627 422.857835 374.429726 -Q 423.63546 375.591306 423.63808 377.80568 -Q 423.640694 380.014428 422.865822 381.179721 -Q 422.090948 382.343139 420.619074 382.34488 -Q 419.149075 382.34662 418.37145 381.185039 -Q 417.593823 380.021584 417.591209 377.812835 -Q 417.588589 375.598462 418.363463 374.435044 -Q 419.138335 373.269751 420.608334 373.268012 -z -M 428.244203 374.196477 -Q 427.331079 374.197557 426.870894 375.098102 -Q 426.412582 375.99677 426.414719 377.802394 -Q 426.416847 379.600518 426.877286 380.499974 -Q 427.339601 381.399427 428.252725 381.398347 -Q 429.17335 381.397257 429.631659 380.496714 -Q 430.091844 379.596169 430.089716 377.798045 -Q 430.08758 375.992422 429.625267 375.094843 -Q 429.164828 374.195387 428.244203 374.196477 -z -M 428.243094 373.258977 -Q 429.714968 373.257236 430.492595 374.420691 -Q 431.27022 375.582272 431.27284 377.796645 -Q 431.275454 380.005394 430.500582 381.170687 -Q 429.725709 382.334104 428.253835 382.335846 -Q 426.783836 382.337586 426.006211 381.176005 -Q 425.228583 380.012549 425.22597 377.803801 -Q 425.223349 375.589427 425.998223 374.42601 -Q 426.773095 373.260717 428.243094 373.258977 -z -M 435.878963 374.187442 -Q 434.965839 374.188523 434.505654 375.089068 -Q 434.047342 375.987736 434.049479 377.79336 -Q 434.051607 379.591484 434.512046 380.490939 -Q 434.974361 381.390393 435.887485 381.389312 -Q 436.80811 381.388223 437.26642 380.48768 -Q 437.726604 379.587135 437.724477 377.789011 -Q 437.72234 375.983387 437.260027 375.085809 -Q 436.799588 374.186353 435.878963 374.187442 -z -M 435.877854 373.249943 -Q 437.349728 373.248201 438.127355 374.411657 -Q 438.90498 375.573238 438.907601 377.787611 -Q 438.910214 379.99636 438.135343 381.161652 -Q 437.360469 382.32507 435.888595 382.326812 -Q 434.418596 382.328551 433.640971 381.166971 -Q 432.863344 380.003515 432.86073 377.794766 -Q 432.85811 375.580393 433.632983 374.416975 -Q 434.407855 373.251683 435.877854 373.249943 + </g> + <path clip-path="url(#pedd1dac049)" d="M 324.95184 301.87524 +L 326.562776 301.873419 +L 326.556487 296.310922 +L 324.803761 296.664467 +L 324.802745 295.76603 +L 326.546096 295.412496 +L 327.532033 295.411381 +L 327.539338 301.872315 +L 329.150275 301.870493 +L 329.151213 302.70018 +L 324.952778 302.704927 +z +M 331.141801 301.457304 +L 332.17305 301.456138 +L 332.174453 302.696762 +L 331.143204 302.697928 +z +M 336.423778 296.051328 +Q 335.662841 296.052188 335.279314 296.802622 +Q 334.897348 297.551492 334.899049 299.056179 +Q 334.900744 300.554615 335.284404 301.304182 +Q 335.669627 302.053747 336.430564 302.052887 +Q 337.197751 302.052019 337.579715 301.301587 +Q 337.963242 300.551153 337.961548 299.052716 +Q 337.959846 297.54803 337.574625 296.800027 +Q 337.190965 296.050461 336.423778 296.051328 +z +M 336.422895 295.270078 +Q 337.649456 295.268692 338.297428 296.238272 +Q 338.945398 297.20629 338.947484 299.051601 +Q 338.949566 300.892225 338.303788 301.863268 +Q 337.658009 302.832749 336.431447 302.834136 +Q 335.206448 302.835521 334.558478 301.867503 +Q 333.910506 300.897923 333.908425 299.057299 +Q 333.906339 297.211988 334.552118 296.242507 +Q 335.197895 295.271464 336.422895 295.270078 +z +M 342.786079 296.044134 +Q 342.025142 296.044995 341.641615 296.795429 +Q 341.259649 297.544299 341.26135 299.048985 +Q 341.263044 300.547422 341.646705 301.296988 +Q 342.031927 302.046553 342.792864 302.045693 +Q 343.560051 302.044825 343.942016 301.294393 +Q 344.325542 300.543959 344.323848 299.045522 +Q 344.322147 297.540836 343.936926 296.792833 +Q 343.553266 296.043267 342.786079 296.044134 +z +M 342.785195 295.262885 +Q 344.011757 295.261498 344.659729 296.231078 +Q 345.307699 297.199096 345.309785 299.044408 +Q 345.311866 300.885031 344.666089 301.856075 +Q 344.020309 302.825556 342.793748 302.826942 +Q 341.568749 302.828327 340.920779 301.86031 +Q 340.272807 300.890729 340.270726 299.050105 +Q 340.268639 297.204794 340.914419 296.235313 +Q 341.560196 295.26427 342.785195 295.262885 +z +M 349.148379 296.03694 +Q 348.387442 296.037801 348.003915 296.788235 +Q 347.621949 297.537105 347.623651 299.041791 +Q 347.625345 300.540228 348.009005 301.289795 +Q 348.394228 302.039359 349.155165 302.038499 +Q 349.922352 302.037632 350.304316 301.287199 +Q 350.687843 300.536765 350.686149 299.038329 +Q 350.684447 297.533642 350.299226 296.78564 +Q 349.915566 296.036073 349.148379 296.03694 +z +M 349.147496 295.255691 +Q 350.374058 295.254304 351.022029 296.223885 +Q 351.669999 297.191903 351.672086 299.037214 +Q 351.674167 300.877838 351.028389 301.848881 +Q 350.38261 302.818362 349.156048 302.819749 +Q 347.931049 302.821134 347.283079 301.853116 +Q 346.635108 300.883535 346.633026 299.042911 +Q 346.63094 297.1976 347.276719 296.228119 +Q 347.922497 295.257076 349.147496 295.255691 z " style="fill:#ffffff;stroke:#000000;stroke-width:3;"/> - <path clip-path="url(#p826a730be7)" d="M 406.843485 381.19493 -L 408.776609 381.192643 -L 408.76871 374.517648 -L 406.665461 374.942012 -L 406.664185 373.863887 -L 408.756184 373.439537 -L 409.939309 373.438137 -L 409.948483 381.191256 -L 411.881607 381.188969 -L 411.882785 382.184593 -L 406.844663 382.190555 -z -M 414.271412 380.693015 -L 415.508911 380.691551 -L 415.510673 382.1803 -L 414.273174 382.181764 -z -M 420.609443 374.205511 -Q 419.696319 374.206592 419.236134 375.107137 -Q 418.777822 376.005805 418.779959 377.811428 -Q 418.782086 379.609552 419.242526 380.509008 -Q 419.704841 381.408462 420.617965 381.407381 -Q 421.538589 381.406292 421.996899 380.505749 -Q 422.457084 379.605204 422.454956 377.80708 -Q 422.452819 376.001456 421.990507 375.103877 -Q 421.530067 374.204422 420.609443 374.205511 -z -M 420.608334 373.268012 -Q 422.080207 373.26627 422.857835 374.429726 -Q 423.63546 375.591306 423.63808 377.80568 -Q 423.640694 380.014428 422.865822 381.179721 -Q 422.090948 382.343139 420.619074 382.34488 -Q 419.149075 382.34662 418.37145 381.185039 -Q 417.593823 380.021584 417.591209 377.812835 -Q 417.588589 375.598462 418.363463 374.435044 -Q 419.138335 373.269751 420.608334 373.268012 -z -M 428.244203 374.196477 -Q 427.331079 374.197557 426.870894 375.098102 -Q 426.412582 375.99677 426.414719 377.802394 -Q 426.416847 379.600518 426.877286 380.499974 -Q 427.339601 381.399427 428.252725 381.398347 -Q 429.17335 381.397257 429.631659 380.496714 -Q 430.091844 379.596169 430.089716 377.798045 -Q 430.08758 375.992422 429.625267 375.094843 -Q 429.164828 374.195387 428.244203 374.196477 -z -M 428.243094 373.258977 -Q 429.714968 373.257236 430.492595 374.420691 -Q 431.27022 375.582272 431.27284 377.796645 -Q 431.275454 380.005394 430.500582 381.170687 -Q 429.725709 382.334104 428.253835 382.335846 -Q 426.783836 382.337586 426.006211 381.176005 -Q 425.228583 380.012549 425.22597 377.803801 -Q 425.223349 375.589427 425.998223 374.42601 -Q 426.773095 373.260717 428.243094 373.258977 -z -M 435.878963 374.187442 -Q 434.965839 374.188523 434.505654 375.089068 -Q 434.047342 375.987736 434.049479 377.79336 -Q 434.051607 379.591484 434.512046 380.490939 -Q 434.974361 381.390393 435.887485 381.389312 -Q 436.80811 381.388223 437.26642 380.48768 -Q 437.726604 379.587135 437.724477 377.789011 -Q 437.72234 375.983387 437.260027 375.085809 -Q 436.799588 374.186353 435.878963 374.187442 -z -M 435.877854 373.249943 -Q 437.349728 373.248201 438.127355 374.411657 -Q 438.90498 375.573238 438.907601 377.787611 -Q 438.910214 379.99636 438.135343 381.161652 -Q 437.360469 382.32507 435.888595 382.326812 -Q 434.418596 382.328551 433.640971 381.166971 -Q 432.863344 380.003515 432.86073 377.794766 -Q 432.85811 375.580393 433.632983 374.416975 -Q 434.407855 373.251683 435.877854 373.249943 + <path clip-path="url(#pedd1dac049)" d="M 324.95184 301.87524 +L 326.562776 301.873419 +L 326.556487 296.310922 +L 324.803761 296.664467 +L 324.802745 295.76603 +L 326.546096 295.412496 +L 327.532033 295.411381 +L 327.539338 301.872315 +L 329.150275 301.870493 +L 329.151213 302.70018 +L 324.952778 302.704927 +z +M 331.141801 301.457304 +L 332.17305 301.456138 +L 332.174453 302.696762 +L 331.143204 302.697928 +z +M 336.423778 296.051328 +Q 335.662841 296.052188 335.279314 296.802622 +Q 334.897348 297.551492 334.899049 299.056179 +Q 334.900744 300.554615 335.284404 301.304182 +Q 335.669627 302.053747 336.430564 302.052887 +Q 337.197751 302.052019 337.579715 301.301587 +Q 337.963242 300.551153 337.961548 299.052716 +Q 337.959846 297.54803 337.574625 296.800027 +Q 337.190965 296.050461 336.423778 296.051328 +z +M 336.422895 295.270078 +Q 337.649456 295.268692 338.297428 296.238272 +Q 338.945398 297.20629 338.947484 299.051601 +Q 338.949566 300.892225 338.303788 301.863268 +Q 337.658009 302.832749 336.431447 302.834136 +Q 335.206448 302.835521 334.558478 301.867503 +Q 333.910506 300.897923 333.908425 299.057299 +Q 333.906339 297.211988 334.552118 296.242507 +Q 335.197895 295.271464 336.422895 295.270078 +z +M 342.786079 296.044134 +Q 342.025142 296.044995 341.641615 296.795429 +Q 341.259649 297.544299 341.26135 299.048985 +Q 341.263044 300.547422 341.646705 301.296988 +Q 342.031927 302.046553 342.792864 302.045693 +Q 343.560051 302.044825 343.942016 301.294393 +Q 344.325542 300.543959 344.323848 299.045522 +Q 344.322147 297.540836 343.936926 296.792833 +Q 343.553266 296.043267 342.786079 296.044134 +z +M 342.785195 295.262885 +Q 344.011757 295.261498 344.659729 296.231078 +Q 345.307699 297.199096 345.309785 299.044408 +Q 345.311866 300.885031 344.666089 301.856075 +Q 344.020309 302.825556 342.793748 302.826942 +Q 341.568749 302.828327 340.920779 301.86031 +Q 340.272807 300.890729 340.270726 299.050105 +Q 340.268639 297.204794 340.914419 296.235313 +Q 341.560196 295.26427 342.785195 295.262885 +z +M 349.148379 296.03694 +Q 348.387442 296.037801 348.003915 296.788235 +Q 347.621949 297.537105 347.623651 299.041791 +Q 347.625345 300.540228 348.009005 301.289795 +Q 348.394228 302.039359 349.155165 302.038499 +Q 349.922352 302.037632 350.304316 301.287199 +Q 350.687843 300.536765 350.686149 299.038329 +Q 350.684447 297.533642 350.299226 296.78564 +Q 349.915566 296.036073 349.148379 296.03694 +z +M 349.147496 295.255691 +Q 350.374058 295.254304 351.022029 296.223885 +Q 351.669999 297.191903 351.672086 299.037214 +Q 351.674167 300.877838 351.028389 301.848881 +Q 350.38261 302.818362 349.156048 302.819749 +Q 347.931049 302.821134 347.283079 301.853116 +Q 346.635108 300.883535 346.633026 299.042911 +Q 346.63094 297.1976 347.276719 296.228119 +Q 347.922497 295.257076 349.147496 295.255691 z " style="fill:#ffffff;"/> - </g> - <g id="text_40"> - <g id="patch_89"> - <path clip-path="url(#p826a730be7)" d="M 120.866685 61.239948 -L 121.74877 62.157514 -L 122.628928 61.274692 -L 123.509086 60.39187 -L 124.353763 61.308698 -L 125.19844 62.225526 -L 126.078598 61.342704 -L 126.958756 60.459882 -L 127.803433 61.37671 -L 128.648111 62.293538 -L 129.528269 61.410716 -L 130.408427 60.527893 -L 131.253104 61.444722 -L 132.097781 62.36155 -L 132.977939 61.478728 -L 133.858097 60.595905 -L 134.702774 61.512734 -L 135.547452 62.429562 -L 136.42761 61.54674 -L 137.307768 60.663917 -L 138.152445 61.580745 -L 138.997122 62.497574 -L 139.87728 61.614751 -L 140.757438 60.731929 -L 141.602116 61.648757 -L 142.446793 62.565586 -L 143.326951 61.682763 -L 144.207109 60.799941 -L 145.051786 61.716769 -L 145.896463 62.633598 -L 146.776621 61.750775 -L 147.656779 60.867953 -L 148.501457 61.784781 -L 149.346134 62.701609 -L 150.226292 61.818787 -L 151.10645 60.935965 -L 151.951127 61.852793 -L 152.795804 62.769621 -L 153.675962 61.886799 -L 154.556121 61.003977 -L 155.400798 61.920805 -L 156.245475 62.837633 -L 157.125633 61.954811 -L 158.005791 61.071989 -L 158.850468 61.988817 -L 159.695145 62.905645 -L 160.612711 62.023561 -L 161.530277 61.141476 -L 160.649194 60.173061 -L 159.768112 59.204646 -L 160.686681 58.271712 -L 161.605249 57.338778 -L 160.724167 56.370362 -L 159.843084 55.401947 -L 160.761653 54.469013 -L 161.680221 53.536079 -L 160.799139 52.567664 -L 159.918056 51.599249 -L 160.836625 50.666315 -L 161.755193 49.73338 -L 160.874111 48.764965 -L 159.993029 47.79655 -L 160.911597 46.863616 -L 161.830165 45.930682 -L 160.94808 45.013116 -L 160.065996 44.095551 -L 159.185837 44.978373 -L 158.305679 45.861195 -L 157.461002 44.944367 -L 156.616325 44.027539 -L 155.736167 44.910361 -L 154.856009 45.793183 -L 154.011332 44.876355 -L 153.166655 43.959527 -L 152.286496 44.842349 -L 151.406338 45.725171 -L 150.561661 44.808343 -L 149.716984 43.891515 -L 148.836826 44.774337 -L 147.956668 45.657159 -L 147.111991 44.740331 -L 146.267313 43.823503 -L 145.387155 44.706325 -L 144.506997 45.589147 -L 143.66232 44.672319 -L 142.817643 43.755491 -L 141.937485 44.638313 -L 141.057327 45.521135 -L 140.21265 44.604307 -L 139.367972 43.687479 -L 138.487814 44.570301 -L 137.607656 45.453123 -L 136.762979 44.536295 -L 135.918302 43.619467 -L 135.038144 44.502289 -L 134.157986 45.385111 -L 133.313308 44.468283 -L 132.468631 43.551455 -L 131.588473 44.434277 -L 130.708315 45.317099 -L 129.863638 44.400271 -L 129.018961 43.483443 -L 128.138803 44.366265 -L 127.258645 45.249087 -L 126.413967 44.332259 -L 125.56929 43.415431 -L 124.689132 44.298253 -L 123.808974 45.181075 -L 122.964297 44.264247 -L 122.11962 43.347419 -L 121.202054 44.229504 -L 120.284489 45.111589 -L 121.165571 46.080004 -L 122.046653 47.048419 -L 121.128085 47.981353 -L 120.209516 48.914287 -L 121.090599 49.882702 -L 121.971681 50.851117 -L 121.053113 51.784051 -L 120.134544 52.716986 -L 121.015626 53.685401 -L 121.896709 54.653816 -L 120.97814 55.58675 -L 120.059572 56.519684 -L 120.940654 57.488099 -L 121.821737 58.456514 -L 120.903168 59.389448 -L 119.9846 60.322383 + </g> + <g id="text_40"> + <g id="patch_90"> + <path clip-path="url(#pedd1dac049)" d="M 96.030925 55.890425 +L 96.766627 56.654455 +L 97.499484 55.918163 +L 98.23234 55.181872 +L 98.936869 55.945312 +L 99.641399 56.708753 +L 100.374255 55.972461 +L 101.107111 55.23617 +L 101.811641 55.99961 +L 102.51617 56.763051 +L 103.249026 56.026759 +L 103.981882 55.290468 +L 104.686412 56.053908 +L 105.390942 56.817349 +L 106.123798 56.081058 +L 106.856654 55.344766 +L 107.561183 56.108207 +L 108.265713 56.871647 +L 108.998569 56.135356 +L 109.731425 55.399064 +L 110.435955 56.162505 +L 111.140484 56.925945 +L 111.87334 56.189654 +L 112.606197 55.453362 +L 113.310726 56.216803 +L 114.015256 56.980243 +L 114.748112 56.243952 +L 115.480968 55.50766 +L 116.185497 56.271101 +L 116.890027 57.034542 +L 117.622883 56.29825 +L 118.355739 55.561958 +L 119.060269 56.325399 +L 119.764798 57.08884 +L 120.497654 56.352548 +L 121.230511 55.616256 +L 121.93504 56.379697 +L 122.63957 57.143138 +L 123.372426 56.406846 +L 124.105282 55.670554 +L 124.809811 56.433995 +L 125.514341 57.197436 +L 126.247197 56.461144 +L 126.980053 55.724852 +L 127.684583 56.488293 +L 128.389112 57.251734 +L 129.153142 56.516031 +L 129.917171 55.780328 +L 129.182269 54.973923 +L 128.447366 54.167518 +L 129.212196 53.38944 +L 129.977026 52.611362 +L 129.242124 51.804957 +L 128.507221 50.998552 +L 129.272051 50.220474 +L 130.036881 49.442396 +L 129.301978 48.635991 +L 128.567076 47.829586 +L 129.331906 47.051508 +L 130.096736 46.27343 +L 129.361833 45.467025 +L 128.626931 44.66062 +L 129.391761 43.882542 +L 130.156591 43.104464 +L 129.420888 42.340434 +L 128.685185 41.576405 +L 127.952328 42.312696 +L 127.219472 43.048988 +L 126.514943 42.285547 +L 125.810413 41.522107 +L 125.077557 42.258398 +L 124.344701 42.99469 +L 123.640171 42.231249 +L 122.935642 41.467809 +L 122.202786 42.2041 +L 121.46993 42.940392 +L 120.7654 42.176951 +L 120.060871 41.41351 +L 119.328014 42.149802 +L 118.595158 42.886094 +L 117.890629 42.122653 +L 117.186099 41.359212 +L 116.453243 42.095504 +L 115.720387 42.831796 +L 115.015857 42.068355 +L 114.311328 41.304914 +L 113.578472 42.041206 +L 112.845616 42.777498 +L 112.141086 42.014057 +L 111.436557 41.250616 +L 110.7037 41.986908 +L 109.970844 42.7232 +L 109.266315 41.959759 +L 108.561785 41.196318 +L 107.828929 41.93261 +L 107.096073 42.668902 +L 106.391543 41.905461 +L 105.687014 41.14202 +L 104.954158 41.878312 +L 104.221302 42.614604 +L 103.516772 41.851163 +L 102.812242 41.087722 +L 102.079386 41.824014 +L 101.34653 42.560305 +L 100.642001 41.796865 +L 99.937471 41.033424 +L 99.204615 41.769716 +L 98.471759 42.506007 +L 97.767229 41.742567 +L 97.0627 40.979126 +L 96.29867 41.714829 +L 95.534641 42.450532 +L 96.269543 43.256937 +L 97.004446 44.063341 +L 96.239616 44.84142 +L 95.474786 45.619498 +L 96.209688 46.425903 +L 96.944591 47.232307 +L 96.179761 48.010386 +L 95.414931 48.788464 +L 96.149834 49.594869 +L 96.884736 50.401273 +L 96.119906 51.179352 +L 95.355076 51.95743 +L 96.089979 52.763835 +L 96.824881 53.57024 +L 96.060052 54.348318 +L 95.295222 55.126396 z " style="fill:none;stroke:#0000ff;stroke-linejoin:miter;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 125.176661 55.132468 -L 127.10941 55.170573 -L 127.240986 48.49687 -L 125.129328 48.877195 -L 125.15058 47.799279 -L 127.250989 47.418733 -L 128.433885 47.442054 -L 128.281058 55.193673 -L 130.213807 55.231778 -L 130.194182 56.22721 -L 125.157035 56.1279 -z -M 132.613453 54.785868 -L 133.850713 54.810261 -L 133.821367 56.298721 -L 132.584108 56.274328 -z -M 139.085655 48.432211 -Q 138.172708 48.414212 137.693807 49.304945 -Q 137.216817 50.19384 137.181226 51.999114 -Q 137.145782 53.79689 137.587327 54.70577 -Q 138.030747 55.614687 138.943694 55.632687 -Q 139.86414 55.650834 140.341167 54.760064 -Q 140.820068 53.86933 140.855512 52.071555 -Q 140.891103 50.266281 140.447647 49.359238 -Q 140.006101 48.450358 139.085655 48.432211 -z -M 139.104135 47.494893 -Q 140.575724 47.523906 141.328871 48.703356 -Q 142.082056 49.880931 142.038407 52.094876 -Q 141.994869 54.303197 141.195818 55.452045 -Q 140.396804 56.599018 138.925215 56.570004 -Q 137.4555 56.541028 136.702316 55.363453 -Q 135.949168 54.184003 135.992707 51.975682 -Q 136.036356 49.761737 136.83537 48.614765 -Q 137.634421 47.465917 139.104135 47.494893 -z -M 146.718937 48.582705 -Q 145.80599 48.564706 145.327089 49.455439 -Q 144.8501 50.344334 144.814508 52.149608 -Q 144.779064 53.947384 145.220609 54.856264 -Q 145.664029 55.765181 146.576977 55.783181 -Q 147.497423 55.801328 147.974449 54.910558 -Q 148.45335 54.019824 148.488794 52.222049 -Q 148.524386 50.416775 148.080929 49.509732 -Q 147.639384 48.600852 146.718937 48.582705 -z -M 146.737417 47.645387 -Q 148.209006 47.6744 148.962154 48.85385 -Q 149.715338 50.031425 149.671689 52.24537 -Q 149.628151 54.453691 148.8291 55.602539 -Q 148.030086 56.749512 146.558497 56.720498 -Q 145.088782 56.691522 144.335598 55.513947 -Q 143.582451 54.334497 143.625989 52.126176 -Q 143.669638 49.912231 144.468652 48.765258 -Q 145.267703 47.616411 146.737417 47.645387 -z -M 154.35222 48.733199 -Q 153.439272 48.7152 152.960371 49.605933 -Q 152.483382 50.494828 152.44779 52.300102 -Q 152.412346 54.097878 152.853891 55.006758 -Q 153.297311 55.915675 154.210259 55.933674 -Q 155.130705 55.951822 155.607731 55.061051 -Q 156.086632 54.170318 156.122076 52.372543 -Q 156.157668 50.567268 155.714211 49.660226 -Q 155.272666 48.751346 154.35222 48.733199 -z -M 154.370699 47.795881 -Q 155.842288 47.824894 156.595436 49.004344 -Q 157.34862 50.181919 157.304971 52.395864 -Q 157.261433 54.604185 156.462382 55.753032 -Q 155.663368 56.900005 154.191779 56.870992 -Q 152.722065 56.842016 151.96888 55.664441 -Q 151.215733 54.484991 151.259271 52.27667 -Q 151.30292 50.062725 152.101934 48.915752 -Q 152.900985 47.766905 154.370699 47.795881 + </g> + <path clip-path="url(#pedd1dac049)" d="M 99.618359 50.797889 +L 101.229009 50.828311 +L 101.334054 45.266803 +L 99.574602 45.585196 +L 99.591569 44.686918 +L 101.341647 44.368348 +L 102.327408 44.386967 +L 102.205397 50.846752 +L 103.816048 50.877174 +L 103.800379 51.706714 +L 99.602691 51.627428 +z +M 105.815445 50.503927 +L 106.846511 50.523402 +L 106.823083 51.763806 +L 105.792016 51.744331 +z +M 111.204564 45.204753 +Q 110.443762 45.190383 110.045292 45.93299 +Q 109.648414 46.674065 109.619999 48.178485 +Q 109.591702 49.676655 109.960283 50.43375 +Q 110.330426 51.190875 111.091228 51.205245 +Q 111.858278 51.219733 112.255186 50.477096 +Q 112.653656 49.734488 112.681953 48.236318 +Q 112.710368 46.731899 112.340195 45.976336 +Q 111.971614 45.219241 111.204564 45.204753 +z +M 111.219317 44.423642 +Q 112.445661 44.446805 113.074097 45.42916 +Q 113.702562 46.409953 113.667715 48.254937 +Q 113.632955 50.095234 112.967872 51.053157 +Q 112.302818 52.009519 111.076474 51.986356 +Q 109.851693 51.963222 109.223227 50.982429 +Q 108.594791 50.000074 108.629551 48.159777 +Q 108.664398 46.314794 109.329452 45.358432 +Q 109.994536 44.400509 111.219317 44.423642 +z +M 117.565734 45.324901 +Q 116.804932 45.310531 116.406462 46.053139 +Q 116.009584 46.794214 115.981169 48.298633 +Q 115.952872 49.796803 116.321453 50.553899 +Q 116.691596 51.311024 117.452398 51.325394 +Q 118.219449 51.339881 118.616356 50.597244 +Q 119.014826 49.854637 119.043123 48.356466 +Q 119.071538 46.852047 118.701365 46.096485 +Q 118.332785 45.339389 117.565734 45.324901 +z +M 117.580487 44.543791 +Q 118.806831 44.566953 119.435267 45.549309 +Q 120.063732 46.530102 120.028885 48.375085 +Q 119.994126 50.215382 119.329042 51.173306 +Q 118.663988 52.129667 117.437644 52.106504 +Q 116.212863 52.083371 115.584397 51.102578 +Q 114.955962 50.120222 114.990721 48.279926 +Q 115.025568 46.434942 115.690622 45.478581 +Q 116.355706 44.520657 117.580487 44.543791 +z +M 123.926904 45.44505 +Q 123.166102 45.43068 122.767632 46.173287 +Q 122.370754 46.914362 122.342339 48.418781 +Q 122.314042 49.916952 122.682623 50.674047 +Q 123.052766 51.431172 123.813568 51.445542 +Q 124.580619 51.46003 124.977526 50.717393 +Q 125.375996 49.974785 125.404293 48.476615 +Q 125.432708 46.972196 125.062536 46.216633 +Q 124.693955 45.459538 123.926904 45.44505 +z +M 123.941657 44.663939 +Q 125.168001 44.687102 125.796437 45.669457 +Q 126.424902 46.65025 126.390055 48.495234 +Q 126.355296 50.335531 125.690212 51.293454 +Q 125.025158 52.249816 123.798814 52.226653 +Q 122.574033 52.203519 121.945568 51.222726 +Q 121.317132 50.240371 121.351891 48.400074 +Q 121.386739 46.555091 122.051792 45.598729 +Q 122.716876 44.640806 123.941657 44.663939 z " style="fill:#ffffff;stroke:#000000;stroke-width:3;"/> - <path clip-path="url(#p826a730be7)" d="M 125.176661 55.132468 -L 127.10941 55.170573 -L 127.240986 48.49687 -L 125.129328 48.877195 -L 125.15058 47.799279 -L 127.250989 47.418733 -L 128.433885 47.442054 -L 128.281058 55.193673 -L 130.213807 55.231778 -L 130.194182 56.22721 -L 125.157035 56.1279 -z -M 132.613453 54.785868 -L 133.850713 54.810261 -L 133.821367 56.298721 -L 132.584108 56.274328 -z -M 139.085655 48.432211 -Q 138.172708 48.414212 137.693807 49.304945 -Q 137.216817 50.19384 137.181226 51.999114 -Q 137.145782 53.79689 137.587327 54.70577 -Q 138.030747 55.614687 138.943694 55.632687 -Q 139.86414 55.650834 140.341167 54.760064 -Q 140.820068 53.86933 140.855512 52.071555 -Q 140.891103 50.266281 140.447647 49.359238 -Q 140.006101 48.450358 139.085655 48.432211 -z -M 139.104135 47.494893 -Q 140.575724 47.523906 141.328871 48.703356 -Q 142.082056 49.880931 142.038407 52.094876 -Q 141.994869 54.303197 141.195818 55.452045 -Q 140.396804 56.599018 138.925215 56.570004 -Q 137.4555 56.541028 136.702316 55.363453 -Q 135.949168 54.184003 135.992707 51.975682 -Q 136.036356 49.761737 136.83537 48.614765 -Q 137.634421 47.465917 139.104135 47.494893 -z -M 146.718937 48.582705 -Q 145.80599 48.564706 145.327089 49.455439 -Q 144.8501 50.344334 144.814508 52.149608 -Q 144.779064 53.947384 145.220609 54.856264 -Q 145.664029 55.765181 146.576977 55.783181 -Q 147.497423 55.801328 147.974449 54.910558 -Q 148.45335 54.019824 148.488794 52.222049 -Q 148.524386 50.416775 148.080929 49.509732 -Q 147.639384 48.600852 146.718937 48.582705 -z -M 146.737417 47.645387 -Q 148.209006 47.6744 148.962154 48.85385 -Q 149.715338 50.031425 149.671689 52.24537 -Q 149.628151 54.453691 148.8291 55.602539 -Q 148.030086 56.749512 146.558497 56.720498 -Q 145.088782 56.691522 144.335598 55.513947 -Q 143.582451 54.334497 143.625989 52.126176 -Q 143.669638 49.912231 144.468652 48.765258 -Q 145.267703 47.616411 146.737417 47.645387 -z -M 154.35222 48.733199 -Q 153.439272 48.7152 152.960371 49.605933 -Q 152.483382 50.494828 152.44779 52.300102 -Q 152.412346 54.097878 152.853891 55.006758 -Q 153.297311 55.915675 154.210259 55.933674 -Q 155.130705 55.951822 155.607731 55.061051 -Q 156.086632 54.170318 156.122076 52.372543 -Q 156.157668 50.567268 155.714211 49.660226 -Q 155.272666 48.751346 154.35222 48.733199 -z -M 154.370699 47.795881 -Q 155.842288 47.824894 156.595436 49.004344 -Q 157.34862 50.181919 157.304971 52.395864 -Q 157.261433 54.604185 156.462382 55.753032 -Q 155.663368 56.900005 154.191779 56.870992 -Q 152.722065 56.842016 151.96888 55.664441 -Q 151.215733 54.484991 151.259271 52.27667 -Q 151.30292 50.062725 152.101934 48.915752 -Q 152.900985 47.766905 154.370699 47.795881 + <path clip-path="url(#pedd1dac049)" d="M 99.618359 50.797889 +L 101.229009 50.828311 +L 101.334054 45.266803 +L 99.574602 45.585196 +L 99.591569 44.686918 +L 101.341647 44.368348 +L 102.327408 44.386967 +L 102.205397 50.846752 +L 103.816048 50.877174 +L 103.800379 51.706714 +L 99.602691 51.627428 +z +M 105.815445 50.503927 +L 106.846511 50.523402 +L 106.823083 51.763806 +L 105.792016 51.744331 +z +M 111.204564 45.204753 +Q 110.443762 45.190383 110.045292 45.93299 +Q 109.648414 46.674065 109.619999 48.178485 +Q 109.591702 49.676655 109.960283 50.43375 +Q 110.330426 51.190875 111.091228 51.205245 +Q 111.858278 51.219733 112.255186 50.477096 +Q 112.653656 49.734488 112.681953 48.236318 +Q 112.710368 46.731899 112.340195 45.976336 +Q 111.971614 45.219241 111.204564 45.204753 +z +M 111.219317 44.423642 +Q 112.445661 44.446805 113.074097 45.42916 +Q 113.702562 46.409953 113.667715 48.254937 +Q 113.632955 50.095234 112.967872 51.053157 +Q 112.302818 52.009519 111.076474 51.986356 +Q 109.851693 51.963222 109.223227 50.982429 +Q 108.594791 50.000074 108.629551 48.159777 +Q 108.664398 46.314794 109.329452 45.358432 +Q 109.994536 44.400509 111.219317 44.423642 +z +M 117.565734 45.324901 +Q 116.804932 45.310531 116.406462 46.053139 +Q 116.009584 46.794214 115.981169 48.298633 +Q 115.952872 49.796803 116.321453 50.553899 +Q 116.691596 51.311024 117.452398 51.325394 +Q 118.219449 51.339881 118.616356 50.597244 +Q 119.014826 49.854637 119.043123 48.356466 +Q 119.071538 46.852047 118.701365 46.096485 +Q 118.332785 45.339389 117.565734 45.324901 +z +M 117.580487 44.543791 +Q 118.806831 44.566953 119.435267 45.549309 +Q 120.063732 46.530102 120.028885 48.375085 +Q 119.994126 50.215382 119.329042 51.173306 +Q 118.663988 52.129667 117.437644 52.106504 +Q 116.212863 52.083371 115.584397 51.102578 +Q 114.955962 50.120222 114.990721 48.279926 +Q 115.025568 46.434942 115.690622 45.478581 +Q 116.355706 44.520657 117.580487 44.543791 +z +M 123.926904 45.44505 +Q 123.166102 45.43068 122.767632 46.173287 +Q 122.370754 46.914362 122.342339 48.418781 +Q 122.314042 49.916952 122.682623 50.674047 +Q 123.052766 51.431172 123.813568 51.445542 +Q 124.580619 51.46003 124.977526 50.717393 +Q 125.375996 49.974785 125.404293 48.476615 +Q 125.432708 46.972196 125.062536 46.216633 +Q 124.693955 45.459538 123.926904 45.44505 +z +M 123.941657 44.663939 +Q 125.168001 44.687102 125.796437 45.669457 +Q 126.424902 46.65025 126.390055 48.495234 +Q 126.355296 50.335531 125.690212 51.293454 +Q 125.025158 52.249816 123.798814 52.226653 +Q 122.574033 52.203519 121.945568 51.222726 +Q 121.317132 50.240371 121.351891 48.400074 +Q 121.386739 46.555091 122.051792 45.598729 +Q 122.716876 44.640806 123.941657 44.663939 z " style="fill:#ffffff;"/> - </g> - <g id="text_41"> - <g id="patch_90"> - <path clip-path="url(#p826a730be7)" d="M 402.641932 61.622605 -L 403.540866 62.52367 -L 404.404516 61.624691 -L 405.268165 60.725712 -L 406.129685 61.626733 -L 406.991205 62.527753 -L 407.854854 61.628774 -L 408.718504 60.729795 -L 409.580023 61.630815 -L 410.441543 62.531835 -L 411.305193 61.632857 -L 412.168842 60.733878 -L 413.030362 61.634898 -L 413.891882 62.535918 -L 414.755531 61.63694 -L 415.619181 60.737961 -L 416.4807 61.638981 -L 417.34222 62.540001 -L 418.20587 61.641022 -L 419.069519 60.742044 -L 419.931039 61.643064 -L 420.792559 62.544084 -L 421.656208 61.645105 -L 422.519858 60.746127 -L 423.381377 61.647147 -L 424.242897 62.548167 -L 425.106547 61.649188 -L 425.970196 60.750209 -L 426.831716 61.65123 -L 427.693236 62.55225 -L 428.556885 61.653271 -L 429.420535 60.754292 -L 430.282054 61.655312 -L 431.143574 62.556332 -L 432.007224 61.657354 -L 432.870873 60.758375 -L 433.732393 61.659395 -L 434.593913 62.560415 -L 435.457562 61.661437 -L 436.321212 60.762458 -L 437.182731 61.663478 -L 438.044251 62.564498 -L 438.907901 61.665519 -L 439.77155 60.766541 -L 440.63307 61.667561 -L 441.49459 62.568581 -L 442.395654 61.669647 -L 443.296718 60.770712 -L 442.397844 59.818788 -L 441.49897 58.866865 -L 442.400094 57.917071 -L 443.301219 56.967277 -L 442.402345 56.015354 -L 441.50347 55.06343 -L 442.404595 54.113636 -L 443.30572 53.163842 -L 442.406845 52.211919 -L 441.507971 51.259995 -L 442.409096 50.310201 -L 443.31022 49.360408 -L 442.411346 48.408484 -L 441.512472 47.45656 -L 442.413596 46.506767 -L 443.314721 45.556973 -L 442.415786 44.655908 -L 441.516852 43.754844 -L 440.653202 44.653823 -L 439.789553 45.552801 -L 438.928033 44.651781 -L 438.066514 43.750761 -L 437.202864 44.64974 -L 436.339214 45.548719 -L 435.477695 44.647699 -L 434.616175 43.746678 -L 433.752525 44.645657 -L 432.888876 45.544636 -L 432.027356 44.643616 -L 431.165837 43.742596 -L 430.302187 44.641574 -L 429.438537 45.540553 -L 428.577018 44.639533 -L 427.715498 43.738513 -L 426.851848 44.637491 -L 425.988199 45.53647 -L 425.126679 44.63545 -L 424.26516 43.73443 -L 423.40151 44.633409 -L 422.53786 45.532387 -L 421.676341 44.631367 -L 420.814821 43.730347 -L 419.951171 44.629326 -L 419.087522 45.528304 -L 418.226002 44.627284 -L 417.364483 43.726264 -L 416.500833 44.625243 -L 415.637183 45.524222 -L 414.775664 44.623202 -L 413.914144 43.722181 -L 413.050494 44.62116 -L 412.186845 45.520139 -L 411.325325 44.619119 -L 410.463806 43.718099 -L 409.600156 44.617077 -L 408.736506 45.516056 -L 407.874987 44.615036 -L 407.013467 43.714016 -L 406.149818 44.612994 -L 405.286168 45.511973 -L 404.424648 44.610953 -L 403.563129 43.709933 -L 402.662064 44.608867 -L 401.761 45.507802 -L 402.659874 46.459725 -L 403.558748 47.411649 -L 402.657624 48.361443 -L 401.756499 49.311237 -L 402.655373 50.26316 -L 403.554248 51.215084 -L 402.653123 52.164878 -L 401.751999 53.114671 -L 402.650873 54.066595 -L 403.549747 55.018519 -L 402.648622 55.968313 -L 401.747498 56.918106 -L 402.646372 57.87003 -L 403.545246 58.821954 -L 402.644122 59.771747 -L 401.742997 60.721541 + </g> + <g id="text_41"> + <g id="patch_91"> + <path clip-path="url(#pedd1dac049)" d="M 321.45102 56.195557 +L 322.200171 56.946405 +L 322.91984 56.197218 +L 323.639508 55.448031 +L 324.357481 56.198843 +L 325.075454 56.949656 +L 325.795122 56.200469 +L 326.514791 55.451282 +L 327.232763 56.202094 +L 327.950736 56.952907 +L 328.670404 56.20372 +L 329.390073 55.454533 +L 330.108046 56.205345 +L 330.826018 56.956158 +L 331.545687 56.206971 +L 332.265355 55.457784 +L 332.983328 56.208596 +L 333.7013 56.959409 +L 334.420969 56.210222 +L 335.140637 55.461035 +L 335.85861 56.211848 +L 336.576583 56.96266 +L 337.296251 56.213473 +L 338.01592 55.464286 +L 338.733892 56.215099 +L 339.451865 56.965911 +L 340.171533 56.216724 +L 340.891202 55.467537 +L 341.609175 56.21835 +L 342.327147 56.969162 +L 343.046816 56.219975 +L 343.766484 55.470788 +L 344.484457 56.221601 +L 345.202429 56.972413 +L 345.922098 56.223226 +L 346.641767 55.474039 +L 347.359739 56.224852 +L 348.077712 56.975664 +L 348.79738 56.226477 +L 349.517049 55.47729 +L 350.235021 56.228103 +L 350.952994 56.978915 +L 351.672662 56.229728 +L 352.392331 55.480542 +L 353.110304 56.231354 +L 353.828276 56.982166 +L 354.579124 56.233015 +L 355.329971 55.483863 +L 354.580868 54.690633 +L 353.831764 53.897402 +L 354.582659 53.105868 +L 355.333555 52.314334 +L 354.584451 51.521104 +L 353.835348 50.727873 +L 354.586243 49.936339 +L 355.337139 49.144805 +L 354.588035 48.351574 +L 353.838932 47.558344 +L 354.589827 46.76681 +L 355.340722 45.975275 +L 354.591619 45.182045 +L 353.842515 44.388815 +L 354.593411 43.59728 +L 355.344306 42.805746 +L 354.595155 42.054899 +L 353.846003 41.304051 +L 353.126335 42.053238 +L 352.406666 42.802425 +L 351.688693 42.051612 +L 350.970721 41.3008 +L 350.251052 42.049987 +L 349.531384 42.799174 +L 348.813411 42.048361 +L 348.095439 41.297549 +L 347.37577 42.046736 +L 346.656102 42.795923 +L 345.938129 42.04511 +L 345.220156 41.294298 +L 344.500488 42.043485 +L 343.780819 42.792671 +L 343.062847 42.041859 +L 342.344874 41.291047 +L 341.625206 42.040234 +L 340.905537 42.78942 +L 340.187564 42.038608 +L 339.469592 41.287796 +L 338.749923 42.036983 +L 338.030255 42.786169 +L 337.312282 42.035357 +L 336.59431 41.284545 +L 335.874641 42.033732 +L 335.154972 42.782918 +L 334.437 42.032106 +L 333.719027 41.281294 +L 332.999359 42.030481 +L 332.27969 42.779667 +L 331.561718 42.028855 +L 330.843745 41.278043 +L 330.124077 42.02723 +L 329.404408 42.776416 +L 328.686435 42.025604 +L 327.968463 41.274792 +L 327.248794 42.023978 +L 326.529126 42.773165 +L 325.811153 42.022353 +L 325.093181 41.271541 +L 324.373512 42.020727 +L 323.653843 42.769914 +L 322.935871 42.019102 +L 322.217898 41.26829 +L 321.467051 42.017441 +L 320.716203 42.766593 +L 321.465307 43.559823 +L 322.21441 44.353053 +L 321.463515 45.144588 +L 320.71262 45.936122 +L 321.461723 46.729352 +L 322.210827 47.522582 +L 321.459931 48.314117 +L 320.709036 49.105651 +L 321.458139 49.898881 +L 322.207243 50.692112 +L 321.456348 51.483646 +L 320.705452 52.27518 +L 321.454556 53.068411 +L 322.203659 53.861641 +L 321.452764 54.653175 +L 320.701868 55.44471 z " style="fill:none;stroke:#0000ff;stroke-linejoin:miter;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 406.838005 55.436316 -L 408.771129 55.438604 -L 408.779027 48.763609 -L 406.674779 49.182994 -L 406.676055 48.10487 -L 408.769053 47.685471 -L 409.952177 47.686871 -L 409.943003 55.439991 -L 411.876126 55.442278 -L 411.874948 56.437902 -L 406.836827 56.431941 -z -M 414.267099 54.951982 -L 415.504598 54.953446 -L 415.502836 56.442195 -L 414.265337 56.440731 -z -M 420.620465 48.479495 -Q 419.707341 48.478415 419.245026 49.377869 -Q 418.784589 50.275449 418.782452 52.081073 -Q 418.780325 53.879197 419.238634 54.77974 -Q 419.698819 55.680285 420.611943 55.681365 -Q 421.532568 55.682455 421.993007 54.782999 -Q 422.455322 53.883545 422.45745 52.085422 -Q 422.459586 50.279798 421.999399 49.381128 -Q 421.54109 48.480585 420.620465 48.479495 -z -M 420.621575 47.541996 -Q 422.093449 47.543738 422.86832 48.709031 -Q 423.643194 49.872448 423.640574 52.086822 -Q 423.63796 54.29557 422.860333 55.459026 -Q 422.082708 56.620606 420.610834 56.618865 -Q 419.140835 56.617125 418.365961 55.453708 -Q 417.59109 54.288415 417.593703 52.079666 -Q 417.596323 49.865293 418.373949 48.703712 -Q 419.151576 47.540257 420.621575 47.541996 -z -M 428.255226 48.48853 -Q 427.342101 48.487449 426.879787 49.386903 -Q 426.419349 50.284484 426.417213 52.090107 -Q 426.415085 53.888231 426.873395 54.788774 -Q 427.333579 55.689319 428.246704 55.6904 -Q 429.167328 55.691489 429.627768 54.792033 -Q 430.090082 53.89258 430.09221 52.094456 -Q 430.094347 50.288832 429.63416 49.390162 -Q 429.17585 48.489619 428.255226 48.48853 -z -M 428.256335 47.55103 -Q 429.728209 47.552772 430.503081 48.718065 -Q 431.277955 49.881483 431.275334 52.095856 -Q 431.272721 54.304604 430.495093 55.46806 -Q 429.717468 56.629641 428.245594 56.627899 -Q 426.775595 56.62616 426.000721 55.462742 -Q 425.22585 54.297449 425.228463 52.088701 -Q 425.231084 49.874327 426.008709 48.712747 -Q 426.786336 47.549291 428.256335 47.55103 -z -M 435.889986 48.497564 -Q 434.976862 48.496484 434.514547 49.395937 -Q 434.05411 50.293518 434.051973 52.099142 -Q 434.049845 53.897265 434.508155 54.797808 -Q 434.96834 55.698354 435.881464 55.699434 -Q 436.802088 55.700523 437.262528 54.801068 -Q 437.724843 53.901614 437.72697 52.10349 -Q 437.729107 50.297867 437.26892 49.399196 -Q 436.81061 48.498653 435.889986 48.497564 -z -M 435.891095 47.560065 -Q 437.362969 47.561806 438.137841 48.727099 -Q 438.912715 49.890517 438.910095 52.10489 -Q 438.907481 54.313639 438.129854 55.477094 -Q 437.352229 56.638675 435.880355 56.636933 -Q 434.410356 56.635194 433.635482 55.471776 -Q 432.86061 54.306483 432.863224 52.097735 -Q 432.865844 49.883362 433.643469 48.721781 -Q 434.421096 47.558325 435.891095 47.560065 + </g> + <path clip-path="url(#pedd1dac049)" d="M 324.947476 51.040132 +L 326.558413 51.041954 +L 326.564702 45.479457 +L 324.811181 45.829037 +L 324.812197 44.9306 +L 326.556343 44.58101 +L 327.54228 44.582124 +L 327.534975 51.043058 +L 329.145911 51.044879 +L 329.144973 51.874566 +L 324.946538 51.869819 +z +M 331.138367 50.636194 +L 332.169616 50.63736 +L 332.168213 51.877985 +L 331.136964 51.876819 +z +M 336.432555 45.242177 +Q 335.671618 45.241317 335.286395 45.990882 +Q 334.902737 46.738886 334.901035 48.243572 +Q 334.899341 49.742009 335.281305 50.492441 +Q 335.664832 51.242875 336.425769 51.243736 +Q 337.192956 51.244603 337.576616 50.495036 +Q 337.961839 49.745471 337.963533 48.247035 +Q 337.965235 46.742348 337.581706 45.993477 +Q 337.199742 45.243044 336.432555 45.242177 +z +M 336.433438 44.460927 +Q 337.66 44.462314 338.305777 45.433358 +Q 338.951557 46.402838 338.94947 48.24815 +Q 338.947389 50.088774 338.299417 51.058354 +Q 337.651447 52.026372 336.424886 52.024985 +Q 335.199886 52.0236 334.554107 51.054119 +Q 333.90833 50.083076 333.910411 48.242452 +Q 333.912497 46.397141 334.560467 45.429123 +Q 335.208439 44.459542 336.433438 44.460927 +z +M 342.794855 45.249371 +Q 342.033918 45.24851 341.648696 45.998075 +Q 341.265037 46.746079 341.263336 48.250766 +Q 341.261642 49.749203 341.643606 50.499635 +Q 342.027133 51.250069 342.78807 51.250929 +Q 343.555257 51.251797 343.938917 50.50223 +Q 344.32414 49.752665 344.325834 48.254229 +Q 344.327535 46.749542 343.944007 46.000671 +Q 343.562043 45.250238 342.794855 45.249371 +z +M 342.795739 44.468121 +Q 344.022301 44.469508 344.668078 45.440551 +Q 345.313857 46.410032 345.311771 48.255344 +Q 345.30969 50.095967 344.661718 51.065548 +Q 344.013748 52.033566 342.787186 52.032179 +Q 341.562187 52.030794 340.916408 51.061313 +Q 340.27063 50.09027 340.272712 48.249646 +Q 340.274798 46.404335 340.922768 45.436317 +Q 341.57074 44.466736 342.795739 44.468121 +z +M 349.157156 45.256565 +Q 348.396219 45.255704 348.010996 46.005269 +Q 347.627338 46.753273 347.625636 48.25796 +Q 347.623942 49.756396 348.005906 50.506829 +Q 348.389433 51.257263 349.15037 51.258123 +Q 349.917557 51.258991 350.301218 50.509424 +Q 350.68644 49.759859 350.688135 48.261423 +Q 350.689836 46.756736 350.306307 46.007864 +Q 349.924343 45.257432 349.157156 45.256565 +z +M 349.158039 44.475315 +Q 350.384601 44.476702 351.030379 45.447745 +Q 351.676158 46.417226 351.674071 48.262537 +Q 351.67199 50.103161 351.024019 51.072742 +Q 350.376049 52.04076 349.149487 52.039373 +Q 347.924488 52.037988 347.278708 51.068507 +Q 346.632931 50.097464 346.635012 48.25684 +Q 346.637099 46.411528 347.285069 45.44351 +Q 347.93304 44.47393 349.158039 44.475315 z " style="fill:#ffffff;stroke:#000000;stroke-width:3;"/> - <path clip-path="url(#p826a730be7)" d="M 406.838005 55.436316 -L 408.771129 55.438604 -L 408.779027 48.763609 -L 406.674779 49.182994 -L 406.676055 48.10487 -L 408.769053 47.685471 -L 409.952177 47.686871 -L 409.943003 55.439991 -L 411.876126 55.442278 -L 411.874948 56.437902 -L 406.836827 56.431941 -z -M 414.267099 54.951982 -L 415.504598 54.953446 -L 415.502836 56.442195 -L 414.265337 56.440731 -z -M 420.620465 48.479495 -Q 419.707341 48.478415 419.245026 49.377869 -Q 418.784589 50.275449 418.782452 52.081073 -Q 418.780325 53.879197 419.238634 54.77974 -Q 419.698819 55.680285 420.611943 55.681365 -Q 421.532568 55.682455 421.993007 54.782999 -Q 422.455322 53.883545 422.45745 52.085422 -Q 422.459586 50.279798 421.999399 49.381128 -Q 421.54109 48.480585 420.620465 48.479495 -z -M 420.621575 47.541996 -Q 422.093449 47.543738 422.86832 48.709031 -Q 423.643194 49.872448 423.640574 52.086822 -Q 423.63796 54.29557 422.860333 55.459026 -Q 422.082708 56.620606 420.610834 56.618865 -Q 419.140835 56.617125 418.365961 55.453708 -Q 417.59109 54.288415 417.593703 52.079666 -Q 417.596323 49.865293 418.373949 48.703712 -Q 419.151576 47.540257 420.621575 47.541996 -z -M 428.255226 48.48853 -Q 427.342101 48.487449 426.879787 49.386903 -Q 426.419349 50.284484 426.417213 52.090107 -Q 426.415085 53.888231 426.873395 54.788774 -Q 427.333579 55.689319 428.246704 55.6904 -Q 429.167328 55.691489 429.627768 54.792033 -Q 430.090082 53.89258 430.09221 52.094456 -Q 430.094347 50.288832 429.63416 49.390162 -Q 429.17585 48.489619 428.255226 48.48853 -z -M 428.256335 47.55103 -Q 429.728209 47.552772 430.503081 48.718065 -Q 431.277955 49.881483 431.275334 52.095856 -Q 431.272721 54.304604 430.495093 55.46806 -Q 429.717468 56.629641 428.245594 56.627899 -Q 426.775595 56.62616 426.000721 55.462742 -Q 425.22585 54.297449 425.228463 52.088701 -Q 425.231084 49.874327 426.008709 48.712747 -Q 426.786336 47.549291 428.256335 47.55103 -z -M 435.889986 48.497564 -Q 434.976862 48.496484 434.514547 49.395937 -Q 434.05411 50.293518 434.051973 52.099142 -Q 434.049845 53.897265 434.508155 54.797808 -Q 434.96834 55.698354 435.881464 55.699434 -Q 436.802088 55.700523 437.262528 54.801068 -Q 437.724843 53.901614 437.72697 52.10349 -Q 437.729107 50.297867 437.26892 49.399196 -Q 436.81061 48.498653 435.889986 48.497564 -z -M 435.891095 47.560065 -Q 437.362969 47.561806 438.137841 48.727099 -Q 438.912715 49.890517 438.910095 52.10489 -Q 438.907481 54.313639 438.129854 55.477094 -Q 437.352229 56.638675 435.880355 56.636933 -Q 434.410356 56.635194 433.635482 55.471776 -Q 432.86061 54.306483 432.863224 52.097735 -Q 432.865844 49.883362 433.643469 48.721781 -Q 434.421096 47.558325 435.891095 47.560065 + <path clip-path="url(#pedd1dac049)" d="M 324.947476 51.040132 +L 326.558413 51.041954 +L 326.564702 45.479457 +L 324.811181 45.829037 +L 324.812197 44.9306 +L 326.556343 44.58101 +L 327.54228 44.582124 +L 327.534975 51.043058 +L 329.145911 51.044879 +L 329.144973 51.874566 +L 324.946538 51.869819 +z +M 331.138367 50.636194 +L 332.169616 50.63736 +L 332.168213 51.877985 +L 331.136964 51.876819 +z +M 336.432555 45.242177 +Q 335.671618 45.241317 335.286395 45.990882 +Q 334.902737 46.738886 334.901035 48.243572 +Q 334.899341 49.742009 335.281305 50.492441 +Q 335.664832 51.242875 336.425769 51.243736 +Q 337.192956 51.244603 337.576616 50.495036 +Q 337.961839 49.745471 337.963533 48.247035 +Q 337.965235 46.742348 337.581706 45.993477 +Q 337.199742 45.243044 336.432555 45.242177 +z +M 336.433438 44.460927 +Q 337.66 44.462314 338.305777 45.433358 +Q 338.951557 46.402838 338.94947 48.24815 +Q 338.947389 50.088774 338.299417 51.058354 +Q 337.651447 52.026372 336.424886 52.024985 +Q 335.199886 52.0236 334.554107 51.054119 +Q 333.90833 50.083076 333.910411 48.242452 +Q 333.912497 46.397141 334.560467 45.429123 +Q 335.208439 44.459542 336.433438 44.460927 +z +M 342.794855 45.249371 +Q 342.033918 45.24851 341.648696 45.998075 +Q 341.265037 46.746079 341.263336 48.250766 +Q 341.261642 49.749203 341.643606 50.499635 +Q 342.027133 51.250069 342.78807 51.250929 +Q 343.555257 51.251797 343.938917 50.50223 +Q 344.32414 49.752665 344.325834 48.254229 +Q 344.327535 46.749542 343.944007 46.000671 +Q 343.562043 45.250238 342.794855 45.249371 +z +M 342.795739 44.468121 +Q 344.022301 44.469508 344.668078 45.440551 +Q 345.313857 46.410032 345.311771 48.255344 +Q 345.30969 50.095967 344.661718 51.065548 +Q 344.013748 52.033566 342.787186 52.032179 +Q 341.562187 52.030794 340.916408 51.061313 +Q 340.27063 50.09027 340.272712 48.249646 +Q 340.274798 46.404335 340.922768 45.436317 +Q 341.57074 44.466736 342.795739 44.468121 +z +M 349.157156 45.256565 +Q 348.396219 45.255704 348.010996 46.005269 +Q 347.627338 46.753273 347.625636 48.25796 +Q 347.623942 49.756396 348.005906 50.506829 +Q 348.389433 51.257263 349.15037 51.258123 +Q 349.917557 51.258991 350.301218 50.509424 +Q 350.68644 49.759859 350.688135 48.261423 +Q 350.689836 46.756736 350.306307 46.007864 +Q 349.924343 45.257432 349.157156 45.256565 +z +M 349.158039 44.475315 +Q 350.384601 44.476702 351.030379 45.447745 +Q 351.676158 46.417226 351.674071 48.262537 +Q 351.67199 50.103161 351.024019 51.072742 +Q 350.376049 52.04076 349.149487 52.039373 +Q 347.924488 52.037988 347.278708 51.068507 +Q 346.632931 50.097464 346.635012 48.25684 +Q 346.637099 46.411528 347.285069 45.44351 +Q 347.93304 44.47393 349.158039 44.475315 z " style="fill:#ffffff;"/> - </g> - <g id="text_42"> - <g id="patch_91"> - <path clip-path="url(#p826a730be7)" d="M 164.74346 172.879592 -L 164.94854 174.135754 -L 166.174328 173.908827 -L 167.400116 173.6819 -L 167.574823 174.916214 -L 167.749529 176.150528 -L 168.975317 175.9236 -L 170.201106 175.696673 -L 170.375812 176.930987 -L 170.550518 178.165301 -L 171.776306 177.938374 -L 173.002095 177.711446 -L 173.176801 178.94576 -L 173.351507 180.180074 -L 174.577296 179.953147 -L 175.803084 179.72622 -L 175.97779 180.960534 -L 176.152496 182.194848 -L 177.378285 181.967921 -L 178.604073 181.740993 -L 178.778779 182.975307 -L 178.953486 184.209621 -L 180.179274 183.982694 -L 181.405062 183.755767 -L 181.579769 184.990081 -L 181.754475 186.224395 -L 182.980263 185.997467 -L 184.206052 185.77054 -L 184.380758 187.004854 -L 184.555464 188.239168 -L 185.781252 188.012241 -L 187.007041 187.785314 -L 187.181747 189.019628 -L 187.356453 190.253942 -L 188.582242 190.027014 -L 189.80803 189.800087 -L 189.982736 191.034401 -L 190.157442 192.268715 -L 191.383231 192.041788 -L 192.609019 191.81486 -L 192.783725 193.049174 -L 192.958432 194.283488 -L 194.18422 194.056561 -L 195.410008 193.829634 -L 195.584715 195.063948 -L 195.759421 196.298262 -L 197.015582 196.093182 -L 198.271744 195.888103 -L 198.096363 194.590653 -L 197.920982 193.293204 -L 199.206843 193.046837 -L 200.492703 192.80047 -L 200.317322 191.50302 -L 200.141941 190.205571 -L 201.427801 189.959203 -L 202.713662 189.712836 -L 202.538281 188.415387 -L 202.3629 187.117937 -L 203.64876 186.87157 -L 204.93462 186.625203 -L 204.759239 185.327754 -L 204.583859 184.030304 -L 205.869719 183.783937 -L 207.155579 183.53757 -L 206.9505 182.281408 -L 206.74542 181.025246 -L 205.519632 181.252173 -L 204.293843 181.479101 -L 204.119137 180.244787 -L 203.944431 179.010473 -L 202.718643 179.2374 -L 201.492854 179.464327 -L 201.318148 178.230013 -L 201.143442 176.995699 -L 199.917653 177.222627 -L 198.691865 177.449554 -L 198.517159 176.21524 -L 198.342453 174.980926 -L 197.116664 175.207853 -L 195.890876 175.434781 -L 195.71617 174.200467 -L 195.541463 172.966153 -L 194.315675 173.19308 -L 193.089887 173.420007 -L 192.91518 172.185693 -L 192.740474 170.951379 -L 191.514686 171.178306 -L 190.288897 171.405234 -L 190.114191 170.17092 -L 189.939485 168.936606 -L 188.713697 169.163533 -L 187.487908 169.39046 -L 187.313202 168.156146 -L 187.138496 166.921832 -L 185.912707 167.14876 -L 184.686919 167.375687 -L 184.512213 166.141373 -L 184.337507 164.907059 -L 183.111718 165.133986 -L 181.88593 165.360913 -L 181.711224 164.126599 -L 181.536517 162.892285 -L 180.310729 163.119213 -L 179.084941 163.34614 -L 178.910234 162.111826 -L 178.735528 160.877512 -L 177.50974 161.104439 -L 176.283951 161.331367 -L 176.109245 160.097053 -L 175.934539 158.862739 -L 174.678377 159.067818 -L 173.422215 159.272898 -L 173.597596 160.570347 -L 173.772977 161.867797 -L 172.487117 162.114164 -L 171.201257 162.360531 -L 171.376638 163.65798 -L 171.552019 164.95543 -L 170.266158 165.201797 -L 168.980298 165.448164 -L 169.155679 166.745614 -L 169.33106 168.043063 -L 168.0452 168.28943 -L 166.759339 168.535797 -L 166.93472 169.833247 -L 167.110101 171.130696 -L 165.824241 171.377064 -L 164.538381 171.623431 + </g> + <g id="text_42"> + <g id="patch_92"> + <path clip-path="url(#pedd1dac049)" d="M 128.951611 140.557369 +L 129.173152 141.594635 +L 130.184252 141.356138 +L 131.195352 141.117641 +L 131.390728 142.137951 +L 131.586104 143.15826 +L 132.597203 142.919763 +L 133.608303 142.681266 +L 133.803679 143.701576 +L 133.999055 144.721886 +L 135.010155 144.483389 +L 136.021254 144.244892 +L 136.21663 145.265202 +L 136.412006 146.285512 +L 137.423106 146.047015 +L 138.434206 145.808518 +L 138.629581 146.828828 +L 138.824957 147.849137 +L 139.836057 147.610641 +L 140.847157 147.372144 +L 141.042532 148.392453 +L 141.237908 149.412763 +L 142.249008 149.174266 +L 143.260108 148.935769 +L 143.455484 149.956079 +L 143.650859 150.976389 +L 144.661959 150.737892 +L 145.673059 150.499395 +L 145.868435 151.519705 +L 146.06381 152.540015 +L 147.07491 152.301518 +L 148.08601 152.063021 +L 148.281386 153.083331 +L 148.476762 154.10364 +L 149.487861 153.865143 +L 150.498961 153.626646 +L 150.694337 154.646956 +L 150.889713 155.667266 +L 151.900813 155.428769 +L 152.911912 155.190272 +L 153.107288 156.210582 +L 153.302664 157.230892 +L 154.313764 156.992395 +L 155.324864 156.753898 +L 155.520239 157.774208 +L 155.715615 158.794517 +L 156.75288 158.572976 +L 157.790146 158.351435 +L 157.591653 157.278602 +L 157.39316 156.205768 +L 158.453474 155.948659 +L 159.513788 155.69155 +L 159.315295 154.618717 +L 159.116802 153.545884 +L 160.177116 153.288775 +L 161.23743 153.031666 +L 161.038937 151.958832 +L 160.840444 150.885999 +L 161.900758 150.62889 +L 162.961072 150.371781 +L 162.762579 149.298948 +L 162.564086 148.226114 +L 163.6244 147.969005 +L 164.684714 147.711896 +L 164.463173 146.674631 +L 164.241631 145.637365 +L 163.230532 145.875862 +L 162.219432 146.114359 +L 162.024056 145.094049 +L 161.82868 144.07374 +L 160.81758 144.312237 +L 159.806481 144.550734 +L 159.611105 143.530424 +L 159.415729 142.510114 +L 158.404629 142.748611 +L 157.393529 142.987108 +L 157.198154 141.966798 +L 157.002778 140.946488 +L 155.991678 141.184985 +L 154.980578 141.423482 +L 154.785203 140.403172 +L 154.589827 139.382863 +L 153.578727 139.621359 +L 152.567627 139.859856 +L 152.372251 138.839547 +L 152.176876 137.819237 +L 151.165776 138.057734 +L 150.154676 138.296231 +L 149.9593 137.275921 +L 149.763925 136.255611 +L 148.752825 136.494108 +L 147.741725 136.732605 +L 147.546349 135.712295 +L 147.350973 134.691985 +L 146.339874 134.930482 +L 145.328774 135.168979 +L 145.133398 134.148669 +L 144.938022 133.12836 +L 143.926922 133.366857 +L 142.915823 133.605354 +L 142.720447 132.585044 +L 142.525071 131.564734 +L 141.513971 131.803231 +L 140.502871 132.041728 +L 140.307496 131.021418 +L 140.11212 130.001108 +L 139.10102 130.239605 +L 138.08992 130.478102 +L 137.894545 129.457792 +L 137.699169 128.437483 +L 136.661903 128.659024 +L 135.624638 128.880565 +L 135.823131 129.953398 +L 136.021624 131.026232 +L 134.96131 131.283341 +L 133.900996 131.54045 +L 134.099489 132.613283 +L 134.297982 133.686116 +L 133.237668 133.943225 +L 132.177354 134.200334 +L 132.375847 135.273168 +L 132.57434 136.346001 +L 131.514026 136.60311 +L 130.453712 136.860219 +L 130.652205 137.933052 +L 130.850698 139.005886 +L 129.790384 139.262995 +L 128.73007 139.520104 z " style="fill:none;stroke:#0000ff;stroke-linejoin:miter;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 171.759175 170.299487 -L 173.328488 171.428306 -L 177.226251 166.009536 -L 175.272078 165.123562 -L 175.901632 164.24834 -L 177.846673 165.127744 -L 178.807134 165.818612 -L 174.279817 172.112604 -L 175.849129 173.241423 -L 175.267749 174.049672 -L 171.177795 171.107736 -z -M 178.077602 174.236935 -L 179.082206 174.959554 -L 178.212873 176.168123 -L 177.20827 175.445504 -z -M 187.012945 172.681942 -Q 186.271669 172.148737 185.371685 172.610018 -Q 184.474318 173.070871 183.419951 174.536679 -Q 182.369964 175.996398 182.217343 176.995264 -Q 182.066245 177.995224 182.807521 178.52843 -Q 183.554885 179.066014 184.453347 178.603639 -Q 185.353331 178.142358 186.403319 176.682639 -Q 187.457685 175.216831 187.607689 174.218393 -Q 187.760309 173.219527 187.012945 172.681942 -z -M 187.560383 171.920879 -Q 188.755253 172.780358 188.705494 174.178878 -Q 188.65683 175.575875 187.36378 177.373506 -Q 186.074015 179.166571 184.763936 179.658532 -Q 183.454951 180.148971 182.260082 179.289493 -Q 181.066735 178.431109 181.115399 177.034111 -Q 181.165157 175.635592 182.454923 173.842527 -Q 183.747973 172.044896 185.056957 171.554457 -Q 186.367036 171.062495 187.560383 171.920879 -z -M 193.210853 177.140146 -Q 192.469577 176.606941 191.569593 177.068222 -Q 190.672226 177.529075 189.617859 178.994883 -Q 188.567872 180.454602 188.415252 181.453468 -Q 188.264153 182.453428 189.005429 182.986633 -Q 189.752793 183.524218 190.651255 183.061842 -Q 191.551239 182.600562 192.601227 181.140842 -Q 193.655594 179.675035 193.805597 178.676596 -Q 193.958217 177.677731 193.210853 177.140146 -z -M 193.758292 176.379083 -Q 194.953161 177.238562 194.903402 178.637081 -Q 194.854739 180.034079 193.561688 181.83171 -Q 192.271923 183.624775 190.961844 184.116736 -Q 189.652859 184.607175 188.45799 183.747696 -Q 187.264643 182.889313 187.313307 181.492315 -Q 187.363065 180.093795 188.652831 178.300731 -Q 189.945881 176.503099 191.254865 176.01266 -Q 192.564945 175.520699 193.758292 176.379083 -z -M 199.408761 181.59835 -Q 198.667486 181.065145 197.767501 181.526425 -Q 196.870134 181.987279 195.815767 183.453087 -Q 194.76578 184.912806 194.61316 185.911671 -Q 194.462062 186.911632 195.203337 187.444837 -Q 195.950701 187.982422 196.849163 187.520046 -Q 197.749147 187.058765 198.799135 185.599046 -Q 199.853502 184.133239 200.003505 183.1348 -Q 200.156125 182.135935 199.408761 181.59835 -z -M 199.9562 180.837287 -Q 201.151069 181.696765 201.10131 183.095285 -Q 201.052647 184.492283 199.759597 186.289914 -Q 198.469831 188.082979 197.159752 188.57494 -Q 195.850768 189.065379 194.655898 188.2059 -Q 193.462551 187.347516 193.511215 185.950519 -Q 193.560974 184.551999 194.850739 182.758934 -Q 196.143789 180.961303 197.452774 180.470864 -Q 198.762853 179.978903 199.9562 180.837287 + </g> + <path clip-path="url(#pedd1dac049)" d="M 134.68671 138.125857 +L 136.038616 139.001911 +L 139.063593 134.333836 +L 137.401177 133.675491 +L 137.889762 132.921518 +L 139.54431 133.574765 +L 140.371713 134.110934 +L 136.858152 139.532981 +L 138.210058 140.409035 +L 137.75886 141.105312 +L 134.235513 138.822134 +z +M 140.105221 141.147451 +L 140.97065 141.708262 +L 140.295978 142.7494 +L 139.430549 142.188589 +z +M 147.479613 139.491494 +Q 146.84103 139.077684 146.110599 139.498058 +Q 145.382329 139.91797 144.564056 141.180711 +Q 143.749181 142.438206 143.662577 143.275789 +Q 143.577284 144.114221 144.215866 144.528031 +Q 144.859694 144.94524 145.588814 144.524017 +Q 146.319245 144.103643 147.134119 142.846147 +Q 147.952392 141.583407 148.036836 140.746285 +Q 148.12344 139.908703 147.479613 139.491494 +z +M 147.904469 138.835865 +Q 148.933806 139.50289 148.948994 140.668961 +Q 148.965033 141.833721 147.961522 143.382316 +Q 146.960561 144.926977 145.890029 145.389486 +Q 144.820347 145.850684 143.79101 145.18366 +Q 142.762985 144.517485 142.746946 143.352725 +Q 142.731757 142.186653 143.732719 140.641993 +Q 144.736229 139.093398 145.805912 138.6322 +Q 146.876443 138.16969 147.904469 138.835865 +z +M 152.818887 142.951417 +Q 152.180305 142.537607 151.449873 142.957981 +Q 150.721603 143.377894 149.90333 144.640634 +Q 149.088456 145.898129 149.001851 146.735712 +Q 148.916559 147.574145 149.555141 147.987955 +Q 150.198968 148.405164 150.928088 147.98394 +Q 151.658519 147.563566 152.473394 146.306071 +Q 153.291667 145.04333 153.37611 144.206209 +Q 153.462714 143.368626 152.818887 142.951417 +z +M 153.243743 142.295789 +Q 154.27308 142.962813 154.288269 144.128885 +Q 154.304307 145.293645 153.300797 146.842239 +Q 152.299835 148.3869 151.229303 148.84941 +Q 150.159621 149.310608 149.130284 148.643584 +Q 148.102259 147.977409 148.08622 146.812649 +Q 148.071032 145.646577 149.071993 144.101916 +Q 150.075504 142.553322 151.145186 142.092124 +Q 152.215718 141.629614 153.243743 142.295789 +z +M 158.158161 146.411341 +Q 157.519579 145.997531 156.789148 146.417905 +Q 156.060877 146.837817 155.242604 148.100558 +Q 154.42773 149.358053 154.341126 150.195636 +Q 154.255833 151.034069 154.894415 151.447879 +Q 155.538242 151.865088 156.267362 151.443864 +Q 156.997793 151.02349 157.812668 149.765994 +Q 158.630941 148.503254 158.715384 147.666133 +Q 158.801988 146.82855 158.158161 146.411341 +z +M 158.583017 145.755712 +Q 159.612354 146.422737 159.627543 147.588808 +Q 159.643582 148.753569 158.640071 150.302163 +Q 157.639109 151.846824 156.568578 152.309333 +Q 155.498895 152.770531 154.469559 152.103507 +Q 153.441533 151.437332 153.425495 150.272572 +Q 153.410306 149.106501 154.411267 147.56184 +Q 155.414778 146.013245 156.48446 145.552047 +Q 157.554992 145.089538 158.583017 145.755712 z " style="fill:#ffffff;stroke:#000000;stroke-width:3;"/> - <path clip-path="url(#p826a730be7)" d="M 171.759175 170.299487 -L 173.328488 171.428306 -L 177.226251 166.009536 -L 175.272078 165.123562 -L 175.901632 164.24834 -L 177.846673 165.127744 -L 178.807134 165.818612 -L 174.279817 172.112604 -L 175.849129 173.241423 -L 175.267749 174.049672 -L 171.177795 171.107736 -z -M 178.077602 174.236935 -L 179.082206 174.959554 -L 178.212873 176.168123 -L 177.20827 175.445504 -z -M 187.012945 172.681942 -Q 186.271669 172.148737 185.371685 172.610018 -Q 184.474318 173.070871 183.419951 174.536679 -Q 182.369964 175.996398 182.217343 176.995264 -Q 182.066245 177.995224 182.807521 178.52843 -Q 183.554885 179.066014 184.453347 178.603639 -Q 185.353331 178.142358 186.403319 176.682639 -Q 187.457685 175.216831 187.607689 174.218393 -Q 187.760309 173.219527 187.012945 172.681942 -z -M 187.560383 171.920879 -Q 188.755253 172.780358 188.705494 174.178878 -Q 188.65683 175.575875 187.36378 177.373506 -Q 186.074015 179.166571 184.763936 179.658532 -Q 183.454951 180.148971 182.260082 179.289493 -Q 181.066735 178.431109 181.115399 177.034111 -Q 181.165157 175.635592 182.454923 173.842527 -Q 183.747973 172.044896 185.056957 171.554457 -Q 186.367036 171.062495 187.560383 171.920879 -z -M 193.210853 177.140146 -Q 192.469577 176.606941 191.569593 177.068222 -Q 190.672226 177.529075 189.617859 178.994883 -Q 188.567872 180.454602 188.415252 181.453468 -Q 188.264153 182.453428 189.005429 182.986633 -Q 189.752793 183.524218 190.651255 183.061842 -Q 191.551239 182.600562 192.601227 181.140842 -Q 193.655594 179.675035 193.805597 178.676596 -Q 193.958217 177.677731 193.210853 177.140146 -z -M 193.758292 176.379083 -Q 194.953161 177.238562 194.903402 178.637081 -Q 194.854739 180.034079 193.561688 181.83171 -Q 192.271923 183.624775 190.961844 184.116736 -Q 189.652859 184.607175 188.45799 183.747696 -Q 187.264643 182.889313 187.313307 181.492315 -Q 187.363065 180.093795 188.652831 178.300731 -Q 189.945881 176.503099 191.254865 176.01266 -Q 192.564945 175.520699 193.758292 176.379083 -z -M 199.408761 181.59835 -Q 198.667486 181.065145 197.767501 181.526425 -Q 196.870134 181.987279 195.815767 183.453087 -Q 194.76578 184.912806 194.61316 185.911671 -Q 194.462062 186.911632 195.203337 187.444837 -Q 195.950701 187.982422 196.849163 187.520046 -Q 197.749147 187.058765 198.799135 185.599046 -Q 199.853502 184.133239 200.003505 183.1348 -Q 200.156125 182.135935 199.408761 181.59835 -z -M 199.9562 180.837287 -Q 201.151069 181.696765 201.10131 183.095285 -Q 201.052647 184.492283 199.759597 186.289914 -Q 198.469831 188.082979 197.159752 188.57494 -Q 195.850768 189.065379 194.655898 188.2059 -Q 193.462551 187.347516 193.511215 185.950519 -Q 193.560974 184.551999 194.850739 182.758934 -Q 196.143789 180.961303 197.452774 180.470864 -Q 198.762853 179.978903 199.9562 180.837287 + <path clip-path="url(#pedd1dac049)" d="M 134.68671 138.125857 +L 136.038616 139.001911 +L 139.063593 134.333836 +L 137.401177 133.675491 +L 137.889762 132.921518 +L 139.54431 133.574765 +L 140.371713 134.110934 +L 136.858152 139.532981 +L 138.210058 140.409035 +L 137.75886 141.105312 +L 134.235513 138.822134 +z +M 140.105221 141.147451 +L 140.97065 141.708262 +L 140.295978 142.7494 +L 139.430549 142.188589 +z +M 147.479613 139.491494 +Q 146.84103 139.077684 146.110599 139.498058 +Q 145.382329 139.91797 144.564056 141.180711 +Q 143.749181 142.438206 143.662577 143.275789 +Q 143.577284 144.114221 144.215866 144.528031 +Q 144.859694 144.94524 145.588814 144.524017 +Q 146.319245 144.103643 147.134119 142.846147 +Q 147.952392 141.583407 148.036836 140.746285 +Q 148.12344 139.908703 147.479613 139.491494 +z +M 147.904469 138.835865 +Q 148.933806 139.50289 148.948994 140.668961 +Q 148.965033 141.833721 147.961522 143.382316 +Q 146.960561 144.926977 145.890029 145.389486 +Q 144.820347 145.850684 143.79101 145.18366 +Q 142.762985 144.517485 142.746946 143.352725 +Q 142.731757 142.186653 143.732719 140.641993 +Q 144.736229 139.093398 145.805912 138.6322 +Q 146.876443 138.16969 147.904469 138.835865 +z +M 152.818887 142.951417 +Q 152.180305 142.537607 151.449873 142.957981 +Q 150.721603 143.377894 149.90333 144.640634 +Q 149.088456 145.898129 149.001851 146.735712 +Q 148.916559 147.574145 149.555141 147.987955 +Q 150.198968 148.405164 150.928088 147.98394 +Q 151.658519 147.563566 152.473394 146.306071 +Q 153.291667 145.04333 153.37611 144.206209 +Q 153.462714 143.368626 152.818887 142.951417 +z +M 153.243743 142.295789 +Q 154.27308 142.962813 154.288269 144.128885 +Q 154.304307 145.293645 153.300797 146.842239 +Q 152.299835 148.3869 151.229303 148.84941 +Q 150.159621 149.310608 149.130284 148.643584 +Q 148.102259 147.977409 148.08622 146.812649 +Q 148.071032 145.646577 149.071993 144.101916 +Q 150.075504 142.553322 151.145186 142.092124 +Q 152.215718 141.629614 153.243743 142.295789 +z +M 158.158161 146.411341 +Q 157.519579 145.997531 156.789148 146.417905 +Q 156.060877 146.837817 155.242604 148.100558 +Q 154.42773 149.358053 154.341126 150.195636 +Q 154.255833 151.034069 154.894415 151.447879 +Q 155.538242 151.865088 156.267362 151.443864 +Q 156.997793 151.02349 157.812668 149.765994 +Q 158.630941 148.503254 158.715384 147.666133 +Q 158.801988 146.82855 158.158161 146.411341 +z +M 158.583017 145.755712 +Q 159.612354 146.422737 159.627543 147.588808 +Q 159.643582 148.753569 158.640071 150.302163 +Q 157.639109 151.846824 156.568578 152.309333 +Q 155.498895 152.770531 154.469559 152.103507 +Q 153.441533 151.437332 153.425495 150.272572 +Q 153.410306 149.106501 154.411267 147.56184 +Q 155.414778 146.013245 156.48446 145.552047 +Q 157.554992 145.089538 158.583017 145.755712 z " style="fill:#ffffff;"/> - </g> - <g id="text_43"> - <g id="patch_92"> - <path clip-path="url(#p826a730be7)" d="M 452.868262 273.974964 -L 454.11921 274.209757 -L 454.323121 272.97993 -L 454.527032 271.750104 -L 455.747098 272.006019 -L 456.967163 272.261934 -L 457.171074 271.032107 -L 457.374985 269.80228 -L 458.595051 270.058195 -L 459.815117 270.314111 -L 460.019027 269.084284 -L 460.222938 267.854457 -L 461.443004 268.110372 -L 462.66307 268.366287 -L 462.86698 267.136461 -L 463.070891 265.906634 -L 464.290957 266.162549 -L 465.511023 266.418464 -L 465.714934 265.188637 -L 465.918844 263.958811 -L 467.13891 264.214726 -L 468.358976 264.470641 -L 468.562887 263.240814 -L 468.766797 262.010987 -L 469.986863 262.266903 -L 471.206929 262.522818 -L 471.41084 261.292991 -L 471.614751 260.063164 -L 472.834816 260.319079 -L 474.054882 260.574994 -L 474.258793 259.345168 -L 474.462704 258.115341 -L 475.68277 258.371256 -L 476.902835 258.627171 -L 477.106746 257.397344 -L 477.310657 256.167518 -L 478.530723 256.423433 -L 479.750789 256.679348 -L 479.954699 255.449521 -L 480.15861 254.219695 -L 481.378676 254.47561 -L 482.598742 254.731525 -L 482.802652 253.501698 -L 483.006563 252.271871 -L 484.226629 252.527786 -L 485.446695 252.783701 -L 485.681488 251.532753 -L 485.916281 250.281805 -L 484.636621 250.005031 -L 483.356961 249.728258 -L 483.563043 248.43533 -L 483.769124 247.142401 -L 482.489464 246.865628 -L 481.209804 246.588855 -L 481.415886 245.295926 -L 481.621967 244.002998 -L 480.342307 243.726225 -L 479.062647 243.449451 -L 479.268729 242.156523 -L 479.47481 240.863595 -L 478.19515 240.586821 -L 476.91549 240.310048 -L 477.121571 239.01712 -L 477.327653 237.724191 -L 476.076705 237.489398 -L 474.825756 237.254605 -L 474.621845 238.484431 -L 474.417935 239.714258 -L 473.197869 239.458343 -L 471.977803 239.202428 -L 471.773892 240.432255 -L 471.569982 241.662081 -L 470.349916 241.406166 -L 469.12985 241.150251 -L 468.925939 242.380078 -L 468.722028 243.609904 -L 467.501963 243.353989 -L 466.281897 243.098074 -L 466.077986 244.327901 -L 465.874075 245.557728 -L 464.654009 245.301813 -L 463.433944 245.045897 -L 463.230033 246.275724 -L 463.026122 247.505551 -L 461.806056 247.249636 -L 460.58599 246.993721 -L 460.38208 248.223547 -L 460.178169 249.453374 -L 458.958103 249.197459 -L 457.738037 248.941544 -L 457.534127 250.171371 -L 457.330216 251.401197 -L 456.11015 251.145282 -L 454.890084 250.889367 -L 454.686173 252.119194 -L 454.482263 253.349021 -L 453.262197 253.093105 -L 452.042131 252.83719 -L 451.83822 254.067017 -L 451.63431 255.296844 -L 450.414244 255.040929 -L 449.194178 254.785014 -L 448.990267 256.01484 -L 448.786357 257.244667 -L 447.566291 256.988752 -L 446.346225 256.732837 -L 446.142314 257.962664 -L 445.938403 259.19249 -L 444.718338 258.936575 -L 443.498272 258.68066 -L 443.263478 259.931609 -L 443.028685 261.182557 -L 444.308345 261.45933 -L 445.588005 261.736104 -L 445.381924 263.029032 -L 445.175842 264.32196 -L 446.455502 264.598734 -L 447.735162 264.875507 -L 447.529081 266.168435 -L 447.322999 267.461364 -L 448.602659 267.738137 -L 449.88232 268.01491 -L 449.676238 269.307839 -L 449.470156 270.600767 -L 450.749816 270.87754 -L 452.029477 271.154314 -L 451.823395 272.447242 -L 451.617313 273.74017 + </g> + <g id="text_43"> + <g id="patch_93"> + <path clip-path="url(#pedd1dac049)" d="M 353.84612 140.73987 +L 354.059721 141.7788 +L 355.072615 141.548044 +L 356.08551 141.317287 +L 356.273076 142.339062 +L 356.460642 143.360836 +L 357.473536 143.13008 +L 358.486431 142.899323 +L 358.673997 143.921098 +L 358.861562 144.942872 +L 359.874457 144.712116 +L 360.887351 144.481359 +L 361.074917 145.503134 +L 361.262483 146.524908 +L 362.275378 146.294152 +L 363.288272 146.063395 +L 363.475838 147.085169 +L 363.663404 148.106944 +L 364.676299 147.876187 +L 365.689193 147.645431 +L 365.876759 148.667205 +L 366.064325 149.68898 +L 367.077219 149.458223 +L 368.090114 149.227467 +L 368.27768 150.249241 +L 368.465246 151.271016 +L 369.47814 151.040259 +L 370.491035 150.809503 +L 370.678601 151.831277 +L 370.866167 152.853052 +L 371.879061 152.622295 +L 372.891955 152.391539 +L 373.079521 153.413313 +L 373.267087 154.435088 +L 374.279982 154.204331 +L 375.292876 153.973575 +L 375.480442 154.995349 +L 375.668008 156.017124 +L 376.680903 155.786367 +L 377.693797 155.555611 +L 377.881363 156.577385 +L 378.068929 157.59916 +L 379.081823 157.368403 +L 380.094718 157.137647 +L 380.282284 158.159421 +L 380.46985 159.181196 +L 381.508779 158.967595 +L 382.547709 158.753994 +L 382.357428 157.679674 +L 382.167147 156.605353 +L 383.229396 156.356362 +L 384.291645 156.10737 +L 384.101364 155.03305 +L 383.911083 153.95873 +L 384.973332 153.709739 +L 386.035582 153.460747 +L 385.8453 152.386427 +L 385.655019 151.312107 +L 386.717269 151.063116 +L 387.779518 150.814124 +L 387.589237 149.739804 +L 387.398956 148.665484 +L 388.461205 148.416492 +L 389.523454 148.167501 +L 389.309853 147.128571 +L 389.096252 146.089642 +L 388.083358 146.320398 +L 387.070463 146.551154 +L 386.882897 145.52938 +L 386.695331 144.507606 +L 385.682437 144.738362 +L 384.669543 144.969118 +L 384.481977 143.947344 +L 384.294411 142.92557 +L 383.281516 143.156326 +L 382.268622 143.387082 +L 382.081056 142.365308 +L 381.89349 141.343534 +L 380.880595 141.57429 +L 379.867701 141.805046 +L 379.680135 140.783272 +L 379.492569 139.761498 +L 378.479675 139.992254 +L 377.46678 140.22301 +L 377.279214 139.201236 +L 377.091648 138.179462 +L 376.078754 138.410218 +L 375.065859 138.640974 +L 374.878293 137.6192 +L 374.690727 136.597426 +L 373.677833 136.828182 +L 372.664938 137.058938 +L 372.477373 136.037164 +L 372.289807 135.01539 +L 371.276912 135.246146 +L 370.264018 135.476902 +L 370.076452 134.455128 +L 369.888886 133.433354 +L 368.875991 133.66411 +L 367.863097 133.894866 +L 367.675531 132.873092 +L 367.487965 131.851318 +L 366.475071 132.082074 +L 365.462176 132.31283 +L 365.27461 131.291056 +L 365.087044 130.269282 +L 364.07415 130.500038 +L 363.061255 130.730795 +L 362.873689 129.70902 +L 362.686123 128.687246 +L 361.647194 128.900847 +L 360.608264 129.114448 +L 360.798545 130.188768 +L 360.988827 131.263088 +L 359.926577 131.51208 +L 358.864328 131.761071 +L 359.054609 132.835391 +L 359.24489 133.909711 +L 358.182641 134.158703 +L 357.120392 134.407694 +L 357.310673 135.482014 +L 357.500954 136.556334 +L 356.438705 136.805326 +L 355.376455 137.054318 +L 355.566736 138.128638 +L 355.757018 139.202958 +L 354.694768 139.451949 +L 353.632519 139.700941 z " style="fill:none;stroke:#0000ff;stroke-linejoin:miter;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 452.830556 266.499953 -L 454.426181 265.408645 -L 450.657939 259.899019 -L 449.15964 261.434871 -L 448.551005 260.544974 -L 450.040018 259.015473 -L 451.016584 258.347562 -L 455.393461 264.747086 -L 456.989086 263.655777 -L 457.551147 264.477578 -L 453.392617 267.321754 -z -M 458.683759 261.899297 -L 459.705206 261.20069 -L 460.545651 262.429523 -L 459.524204 263.128129 -z -M 460.26342 252.968283 -Q 459.509716 253.48377 459.637072 254.48703 -Q 459.764918 255.487685 460.784248 256.97807 -Q 461.799345 258.462264 462.686596 258.945803 -Q 463.575395 259.428285 464.3291 258.912797 -Q 465.088995 258.393076 464.960091 257.390874 -Q 464.832734 256.387614 463.817638 254.903419 -Q 462.798307 253.413035 461.910567 252.932101 -Q 461.023315 252.448562 460.26342 252.968283 -z -M 459.734173 252.194459 -Q 460.949076 251.36354 462.247128 251.886413 -Q 463.544121 252.407737 464.794203 254.235509 -Q 466.04111 256.058638 466.05771 257.457944 -Q 466.07325 258.855703 464.858347 259.686621 -Q 463.644991 260.516481 462.347998 259.995157 -Q 461.049947 259.472284 459.80304 257.649155 -Q 458.552957 255.821384 458.537416 254.423625 -Q 458.520817 253.024319 459.734173 252.194459 -z -M 466.565248 248.658223 -Q 465.811544 249.17371 465.9389 250.176971 -Q 466.066745 251.177626 467.086076 252.66801 -Q 468.101173 254.152205 468.988424 254.635744 -Q 469.877223 255.118225 470.630927 254.602738 -Q 471.390822 254.083017 471.261919 253.080815 -Q 471.134562 252.077554 470.119466 250.59336 -Q 469.100135 249.102975 468.212395 248.622042 -Q 467.325143 248.138502 466.565248 248.658223 -z -M 466.036001 247.8844 -Q 467.250904 247.053481 468.548956 247.576353 -Q 469.845949 248.097678 471.096031 249.92545 -Q 472.342938 251.748579 472.359538 253.147885 -Q 472.375078 254.545643 471.160175 255.376562 -Q 469.946819 256.206422 468.649826 255.685097 -Q 467.351775 255.162225 466.104868 253.339096 -Q 464.854785 251.511324 464.839244 250.113566 -Q 464.822645 248.71426 466.036001 247.8844 -z -M 472.867076 244.348164 -Q 472.113372 244.863651 472.240728 245.866912 -Q 472.368573 246.867566 473.387904 248.357951 -Q 474.403001 249.842145 475.290252 250.325685 -Q 476.179051 250.808166 476.932755 250.292679 -Q 477.69265 249.772958 477.563747 248.770756 -Q 477.43639 247.767495 476.421294 246.283301 -Q 475.401963 244.792916 474.514222 244.311983 -Q 473.626971 243.828443 472.867076 244.348164 -z -M 472.337829 243.57434 -Q 473.552732 242.743422 474.850784 243.266294 -Q 476.147777 243.787619 477.397859 245.615391 -Q 478.644766 247.43852 478.661366 248.837826 -Q 478.676906 250.235584 477.462003 251.066503 -Q 476.248647 251.896363 474.951654 251.375038 -Q 473.653603 250.852166 472.406695 249.029037 -Q 471.156613 247.201265 471.141072 245.803507 -Q 471.124473 244.4042 472.337829 243.57434 + </g> + <path clip-path="url(#pedd1dac049)" d="M 359.599649 138.352295 +L 360.944815 139.238664 +L 364.005408 134.593863 +L 362.348077 133.922822 +L 362.842414 133.172608 +L 364.491917 133.838491 +L 365.315195 134.380972 +L 361.760264 139.775987 +L 363.10543 140.662355 +L 362.64892 141.355161 +L 359.143139 139.045101 +z +M 364.99489 141.415246 +L 365.856004 141.98266 +L 365.173389 143.018607 +L 364.312274 142.451193 +z +M 372.381732 139.815742 +Q 371.746334 139.397059 371.012708 139.811834 +Q 370.281248 140.226164 369.45334 141.482609 +Q 368.628871 142.733835 368.535863 143.570731 +Q 368.44416 144.408486 369.079558 144.827169 +Q 369.720175 145.24929 370.452496 144.833655 +Q 371.186121 144.41888 372.01059 143.167654 +Q 372.838497 141.91121 372.929341 141.074759 +Q 373.022349 140.237863 372.381732 139.815742 +z +M 372.81159 139.163382 +Q 373.835795 139.83826 373.842065 141.004414 +Q 373.849194 142.169262 372.833868 143.710136 +Q 371.821121 145.247095 370.747083 145.701403 +Q 369.673904 146.154406 368.649699 145.479528 +Q 367.626799 144.80551 367.61967 143.640661 +Q 367.613401 142.474507 368.626148 140.937548 +Q 369.641474 139.396674 370.714652 138.943671 +Q 371.78869 138.489364 372.81159 139.163382 +z +M 377.694386 143.316403 +Q 377.058988 142.89772 376.325362 143.312495 +Q 375.593902 143.726825 374.765994 144.98327 +Q 373.941525 146.234496 373.848517 147.071392 +Q 373.756814 147.909147 374.392212 148.32783 +Q 375.032829 148.749951 375.76515 148.334316 +Q 376.498775 147.919541 377.323244 146.668315 +Q 378.151152 145.411871 378.241995 144.57542 +Q 378.335003 143.738524 377.694386 143.316403 +z +M 378.124245 142.664043 +Q 379.148449 143.338921 379.154719 144.505075 +Q 379.161848 145.669924 378.146522 147.210797 +Q 377.133775 148.747756 376.059737 149.202064 +Q 374.986558 149.655067 373.962354 148.980189 +Q 372.939454 148.306171 372.932324 147.141322 +Q 372.926055 145.975168 373.938802 144.438209 +Q 374.954128 142.897336 376.027306 142.444332 +Q 377.101345 141.990025 378.124245 142.664043 +z +M 383.00704 146.817064 +Q 382.371642 146.398381 381.638016 146.813156 +Q 380.906556 147.227486 380.078648 148.483931 +Q 379.254179 149.735157 379.161171 150.572053 +Q 379.069468 151.409808 379.704866 151.828491 +Q 380.345483 152.250612 381.077804 151.834977 +Q 381.811429 151.420202 382.635898 150.168977 +Q 383.463806 148.912532 383.554649 148.076081 +Q 383.647657 147.239185 383.00704 146.817064 +z +M 383.436899 146.164704 +Q 384.461103 146.839582 384.467373 148.005736 +Q 384.474502 149.170585 383.459176 150.711458 +Q 382.446429 152.248417 381.372391 152.702725 +Q 380.299212 153.155728 379.275008 152.48085 +Q 378.252108 151.806832 378.244979 150.641983 +Q 378.238709 149.475829 379.251456 147.93887 +Q 380.266782 146.397997 381.33996 145.944993 +Q 382.413999 145.490686 383.436899 146.164704 z " style="fill:#ffffff;stroke:#000000;stroke-width:3;"/> - <path clip-path="url(#p826a730be7)" d="M 452.830556 266.499953 -L 454.426181 265.408645 -L 450.657939 259.899019 -L 449.15964 261.434871 -L 448.551005 260.544974 -L 450.040018 259.015473 -L 451.016584 258.347562 -L 455.393461 264.747086 -L 456.989086 263.655777 -L 457.551147 264.477578 -L 453.392617 267.321754 -z -M 458.683759 261.899297 -L 459.705206 261.20069 -L 460.545651 262.429523 -L 459.524204 263.128129 -z -M 460.26342 252.968283 -Q 459.509716 253.48377 459.637072 254.48703 -Q 459.764918 255.487685 460.784248 256.97807 -Q 461.799345 258.462264 462.686596 258.945803 -Q 463.575395 259.428285 464.3291 258.912797 -Q 465.088995 258.393076 464.960091 257.390874 -Q 464.832734 256.387614 463.817638 254.903419 -Q 462.798307 253.413035 461.910567 252.932101 -Q 461.023315 252.448562 460.26342 252.968283 -z -M 459.734173 252.194459 -Q 460.949076 251.36354 462.247128 251.886413 -Q 463.544121 252.407737 464.794203 254.235509 -Q 466.04111 256.058638 466.05771 257.457944 -Q 466.07325 258.855703 464.858347 259.686621 -Q 463.644991 260.516481 462.347998 259.995157 -Q 461.049947 259.472284 459.80304 257.649155 -Q 458.552957 255.821384 458.537416 254.423625 -Q 458.520817 253.024319 459.734173 252.194459 -z -M 466.565248 248.658223 -Q 465.811544 249.17371 465.9389 250.176971 -Q 466.066745 251.177626 467.086076 252.66801 -Q 468.101173 254.152205 468.988424 254.635744 -Q 469.877223 255.118225 470.630927 254.602738 -Q 471.390822 254.083017 471.261919 253.080815 -Q 471.134562 252.077554 470.119466 250.59336 -Q 469.100135 249.102975 468.212395 248.622042 -Q 467.325143 248.138502 466.565248 248.658223 -z -M 466.036001 247.8844 -Q 467.250904 247.053481 468.548956 247.576353 -Q 469.845949 248.097678 471.096031 249.92545 -Q 472.342938 251.748579 472.359538 253.147885 -Q 472.375078 254.545643 471.160175 255.376562 -Q 469.946819 256.206422 468.649826 255.685097 -Q 467.351775 255.162225 466.104868 253.339096 -Q 464.854785 251.511324 464.839244 250.113566 -Q 464.822645 248.71426 466.036001 247.8844 -z -M 472.867076 244.348164 -Q 472.113372 244.863651 472.240728 245.866912 -Q 472.368573 246.867566 473.387904 248.357951 -Q 474.403001 249.842145 475.290252 250.325685 -Q 476.179051 250.808166 476.932755 250.292679 -Q 477.69265 249.772958 477.563747 248.770756 -Q 477.43639 247.767495 476.421294 246.283301 -Q 475.401963 244.792916 474.514222 244.311983 -Q 473.626971 243.828443 472.867076 244.348164 -z -M 472.337829 243.57434 -Q 473.552732 242.743422 474.850784 243.266294 -Q 476.147777 243.787619 477.397859 245.615391 -Q 478.644766 247.43852 478.661366 248.837826 -Q 478.676906 250.235584 477.462003 251.066503 -Q 476.248647 251.896363 474.951654 251.375038 -Q 473.653603 250.852166 472.406695 249.029037 -Q 471.156613 247.201265 471.141072 245.803507 -Q 471.124473 244.4042 472.337829 243.57434 + <path clip-path="url(#pedd1dac049)" d="M 359.599649 138.352295 +L 360.944815 139.238664 +L 364.005408 134.593863 +L 362.348077 133.922822 +L 362.842414 133.172608 +L 364.491917 133.838491 +L 365.315195 134.380972 +L 361.760264 139.775987 +L 363.10543 140.662355 +L 362.64892 141.355161 +L 359.143139 139.045101 +z +M 364.99489 141.415246 +L 365.856004 141.98266 +L 365.173389 143.018607 +L 364.312274 142.451193 +z +M 372.381732 139.815742 +Q 371.746334 139.397059 371.012708 139.811834 +Q 370.281248 140.226164 369.45334 141.482609 +Q 368.628871 142.733835 368.535863 143.570731 +Q 368.44416 144.408486 369.079558 144.827169 +Q 369.720175 145.24929 370.452496 144.833655 +Q 371.186121 144.41888 372.01059 143.167654 +Q 372.838497 141.91121 372.929341 141.074759 +Q 373.022349 140.237863 372.381732 139.815742 +z +M 372.81159 139.163382 +Q 373.835795 139.83826 373.842065 141.004414 +Q 373.849194 142.169262 372.833868 143.710136 +Q 371.821121 145.247095 370.747083 145.701403 +Q 369.673904 146.154406 368.649699 145.479528 +Q 367.626799 144.80551 367.61967 143.640661 +Q 367.613401 142.474507 368.626148 140.937548 +Q 369.641474 139.396674 370.714652 138.943671 +Q 371.78869 138.489364 372.81159 139.163382 +z +M 377.694386 143.316403 +Q 377.058988 142.89772 376.325362 143.312495 +Q 375.593902 143.726825 374.765994 144.98327 +Q 373.941525 146.234496 373.848517 147.071392 +Q 373.756814 147.909147 374.392212 148.32783 +Q 375.032829 148.749951 375.76515 148.334316 +Q 376.498775 147.919541 377.323244 146.668315 +Q 378.151152 145.411871 378.241995 144.57542 +Q 378.335003 143.738524 377.694386 143.316403 +z +M 378.124245 142.664043 +Q 379.148449 143.338921 379.154719 144.505075 +Q 379.161848 145.669924 378.146522 147.210797 +Q 377.133775 148.747756 376.059737 149.202064 +Q 374.986558 149.655067 373.962354 148.980189 +Q 372.939454 148.306171 372.932324 147.141322 +Q 372.926055 145.975168 373.938802 144.438209 +Q 374.954128 142.897336 376.027306 142.444332 +Q 377.101345 141.990025 378.124245 142.664043 +z +M 383.00704 146.817064 +Q 382.371642 146.398381 381.638016 146.813156 +Q 380.906556 147.227486 380.078648 148.483931 +Q 379.254179 149.735157 379.161171 150.572053 +Q 379.069468 151.409808 379.704866 151.828491 +Q 380.345483 152.250612 381.077804 151.834977 +Q 381.811429 151.420202 382.635898 150.168977 +Q 383.463806 148.912532 383.554649 148.076081 +Q 383.647657 147.239185 383.00704 146.817064 +z +M 383.436899 146.164704 +Q 384.461103 146.839582 384.467373 148.005736 +Q 384.474502 149.170585 383.459176 150.711458 +Q 382.446429 152.248417 381.372391 152.702725 +Q 380.299212 153.155728 379.275008 152.48085 +Q 378.252108 151.806832 378.244979 150.641983 +Q 378.238709 149.475829 379.251456 147.93887 +Q 380.266782 146.397997 381.33996 145.944993 +Q 382.413999 145.490686 383.436899 146.164704 z " style="fill:#ffffff;"/> - </g> - <g id="text_44"> - <g id="patch_93"> - <path clip-path="url(#p826a730be7)" d="M 111.879422 194.894911 -L 112.97948 195.535125 -L 113.58352 194.444626 -L 114.187561 193.354127 -L 115.251445 194.003899 -L 116.315329 194.653671 -L 116.91937 193.563172 -L 117.52341 192.472673 -L 118.587294 193.122445 -L 119.651178 193.772217 -L 120.255219 192.681718 -L 120.85926 191.591219 -L 121.923144 192.240991 -L 122.987028 192.890764 -L 123.591068 191.800264 -L 124.195109 190.709765 -L 125.258993 191.359538 -L 126.322877 192.00931 -L 126.926918 190.918811 -L 127.530958 189.828312 -L 128.594843 190.478084 -L 129.658727 191.127856 -L 130.262767 190.037357 -L 130.866808 188.946858 -L 131.930692 189.59663 -L 132.994576 190.246402 -L 133.598617 189.155903 -L 134.202657 188.065404 -L 135.266541 188.715176 -L 136.330426 189.364948 -L 136.934466 188.274449 -L 137.538507 187.18395 -L 138.602391 187.833722 -L 139.666275 188.483494 -L 140.270316 187.392995 -L 140.874356 186.302496 -L 141.93824 186.952268 -L 143.002124 187.60204 -L 143.606165 186.511541 -L 144.210206 185.421042 -L 145.27409 186.070814 -L 146.337974 186.720586 -L 146.942014 185.630087 -L 147.546055 184.539588 -L 148.609939 185.18936 -L 149.673823 185.839132 -L 150.314037 184.739075 -L 150.954251 183.639018 -L 149.841201 182.949632 -L 148.72815 182.260247 -L 149.355371 181.111017 -L 149.982592 179.961788 -L 148.869542 179.272403 -L 147.756491 178.583017 -L 148.383712 177.433788 -L 149.010933 176.284559 -L 147.897883 175.595173 -L 146.784832 174.905788 -L 147.412053 173.756559 -L 148.039274 172.60733 -L 146.926224 171.917944 -L 145.813173 171.228559 -L 146.440394 170.079329 -L 147.067615 168.9301 -L 145.967558 168.289887 -L 144.8675 167.649673 -L 144.26346 168.740172 -L 143.659419 169.830671 -L 142.595535 169.180899 -L 141.531651 168.531127 -L 140.92761 169.621626 -L 140.32357 170.712125 -L 139.259686 170.062353 -L 138.195801 169.41258 -L 137.591761 170.50308 -L 136.98772 171.593579 -L 135.923836 170.943806 -L 134.859952 170.294034 -L 134.255911 171.384533 -L 133.651871 172.475032 -L 132.587987 171.82526 -L 131.524103 171.175488 -L 130.920062 172.265987 -L 130.316021 173.356486 -L 129.252137 172.706714 -L 128.188253 172.056942 -L 127.584213 173.147441 -L 126.980172 174.23794 -L 125.916288 173.588168 -L 124.852404 172.938396 -L 124.248363 174.028895 -L 123.644323 175.119394 -L 122.580438 174.469622 -L 121.516554 173.81985 -L 120.912514 174.910349 -L 120.308473 176.000848 -L 119.244589 175.351076 -L 118.180705 174.701304 -L 117.576664 175.791803 -L 116.972624 176.882302 -L 115.90874 176.23253 -L 114.844855 175.582758 -L 114.240815 176.673257 -L 113.636774 177.763756 -L 112.57289 177.113984 -L 111.509006 176.464212 -L 110.904965 177.554711 -L 110.300925 178.64521 -L 109.237041 177.995438 -L 108.173157 177.345665 -L 107.532943 178.445723 -L 106.892729 179.54578 -L 108.005779 180.235166 -L 109.11883 180.924551 -L 108.491609 182.07378 -L 107.864388 183.223009 -L 108.977438 183.912395 -L 110.090489 184.601781 -L 109.463268 185.75101 -L 108.836047 186.900239 -L 109.949097 187.589624 -L 111.062148 188.27901 -L 110.434927 189.428239 -L 109.807706 190.577468 -L 110.920756 191.266854 -L 112.033807 191.956239 -L 111.406586 193.105468 -L 110.779365 194.254698 + </g> + <g id="text_44"> + <g id="patch_94"> + <path clip-path="url(#pedd1dac049)" d="M 82.808538 202.075874 +L 83.29598 203.017893 +L 84.208287 202.521002 +L 85.120593 202.024111 +L 85.578323 202.956682 +L 86.036052 203.889252 +L 86.948358 203.392362 +L 87.860665 202.895471 +L 88.318394 203.828041 +L 88.776123 204.760612 +L 89.68843 204.263721 +L 90.600736 203.76683 +L 91.058465 204.699401 +L 91.516195 205.631971 +L 92.428501 205.13508 +L 93.340808 204.63819 +L 93.798537 205.57076 +L 94.256266 206.503331 +L 95.168573 206.00644 +L 96.080879 205.509549 +L 96.538608 206.442119 +L 96.996337 207.37469 +L 97.908644 206.877799 +L 98.820951 206.380908 +L 99.27868 207.313479 +L 99.736409 208.246049 +L 100.648715 207.749158 +L 101.561022 207.252268 +L 102.018751 208.184838 +L 102.47648 209.117409 +L 103.388787 208.620518 +L 104.301093 208.123627 +L 104.758823 209.056198 +L 105.216552 209.988768 +L 106.128858 209.491877 +L 107.041165 208.994986 +L 107.498894 209.927557 +L 107.956623 210.860127 +L 108.86893 210.363237 +L 109.781236 209.866346 +L 110.238965 210.798916 +L 110.696695 211.731487 +L 111.609001 211.234596 +L 112.521308 210.737705 +L 112.979037 211.670276 +L 113.436766 212.602846 +L 114.378785 212.115404 +L 115.320805 211.627962 +L 114.846207 210.645553 +L 114.371609 209.663144 +L 115.326473 209.135313 +L 116.281336 208.607481 +L 115.806738 207.625072 +L 115.332141 206.642663 +L 116.287004 206.114831 +L 117.241868 205.586999 +L 116.76727 204.60459 +L 116.292672 203.622181 +L 117.247535 203.09435 +L 118.202399 202.566518 +L 117.727801 201.584109 +L 117.253203 200.6017 +L 118.208067 200.073868 +L 119.16293 199.546037 +L 118.675488 198.604017 +L 118.188047 197.661998 +L 117.27574 198.158889 +L 116.363433 198.65578 +L 115.905704 197.723209 +L 115.447975 196.790639 +L 114.535669 197.28753 +L 113.623362 197.78442 +L 113.165633 196.85185 +L 112.707904 195.919279 +L 111.795597 196.41617 +L 110.883291 196.913061 +L 110.425561 195.98049 +L 109.967832 195.04792 +L 109.055526 195.544811 +L 108.143219 196.041702 +L 107.68549 195.109131 +L 107.227761 194.176561 +L 106.315454 194.673451 +L 105.403148 195.170342 +L 104.945419 194.237772 +L 104.487689 193.305201 +L 103.575383 193.802092 +L 102.663076 194.298983 +L 102.205347 193.366412 +L 101.747618 192.433842 +L 100.835311 192.930733 +L 99.923005 193.427623 +L 99.465276 192.495053 +L 99.007546 191.562483 +L 98.09524 192.059373 +L 97.182933 192.556264 +L 96.725204 191.623694 +L 96.267475 190.691123 +L 95.355169 191.188014 +L 94.442862 191.684905 +L 93.985133 190.752334 +L 93.527404 189.819764 +L 92.615097 190.316655 +L 91.702791 190.813545 +L 91.245061 189.880975 +L 90.787332 188.948404 +L 89.875026 189.445295 +L 88.962719 189.942186 +L 88.50499 189.009616 +L 88.047261 188.077045 +L 87.105241 188.564487 +L 86.163222 189.051929 +L 86.63782 190.034338 +L 87.112418 191.016747 +L 86.157554 191.544579 +L 85.202691 192.07241 +L 85.677289 193.054819 +L 86.151886 194.037228 +L 85.197023 194.56506 +L 84.242159 195.092892 +L 84.716757 196.075301 +L 85.191355 197.05771 +L 84.236491 197.585541 +L 83.281628 198.113373 +L 83.756226 199.095782 +L 84.230823 200.078191 +L 83.27596 200.606023 +L 82.321096 201.133854 z " style="fill:none;stroke:#0000ff;stroke-linejoin:miter;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 114.347508 187.839009 -L 116.216487 187.345156 -L 114.511234 180.891651 -L 112.585068 181.836969 -L 112.309641 180.794619 -L 114.22493 179.852175 -L 115.368796 179.549923 -L 117.349476 187.045779 -L 119.218455 186.551926 -L 119.472806 187.514514 -L 114.601859 188.801597 -z -M 121.403548 185.464495 -L 122.599984 185.148352 -L 122.980313 186.587702 -L 121.783877 186.903844 -z -M 123.249415 177.467575 -L 127.74149 176.280603 -L 127.99632 177.245004 -L 124.552033 178.155111 -L 125.099534 180.227121 -Q 125.325372 180.076297 125.562706 179.968979 -Q 125.801853 179.861183 126.052017 179.79508 -Q 127.4678 179.420979 128.499443 179.978424 -Q 129.532898 180.53539 129.88305 181.860534 -Q 130.243739 183.225559 129.593768 184.207955 -Q 128.943317 185.188538 127.397014 185.597128 -Q 126.864056 185.737955 126.287207 185.793412 -Q 125.712171 185.84839 125.075116 185.822788 -L 124.770949 184.671671 -Q 125.353628 184.814427 125.933388 184.806685 -Q 126.513148 184.798942 127.118618 184.638955 -Q 128.099333 184.379814 128.534323 183.714098 -Q 128.971125 183.047902 128.737371 182.163264 -Q 128.504096 181.280439 127.79522 180.916974 -Q 127.087677 180.551217 126.106962 180.810358 -Q 125.648328 180.931546 125.218331 181.153771 -Q 124.790147 181.375517 124.372199 181.716737 -z -M 133.264671 175.627947 -Q 132.381846 175.861222 132.165823 176.849192 -Q 131.951134 177.834871 132.412415 179.580581 -Q 132.871779 181.319039 133.545833 182.071819 -Q 134.221699 182.824119 135.104524 182.590845 -Q 135.9946 182.355654 136.20881 181.368162 -Q 136.424833 180.380192 135.965468 178.641733 -Q 135.504188 176.896024 134.828801 176.145536 -Q 134.154747 175.392756 133.264671 175.627947 -z -M 133.025169 174.721556 -Q 134.448203 174.345538 135.496157 175.272968 -Q 136.543631 176.198586 137.109334 178.339482 -Q 137.6736 180.47494 137.22057 181.798985 -Q 136.76706 183.121218 135.344026 183.497236 -Q 133.922804 183.872775 132.87533 182.947157 -Q 131.827377 182.019727 131.263111 179.884269 -Q 130.697407 177.743373 131.150917 176.42114 -Q 131.603947 175.097095 133.025169 174.721556 -z -M 140.646095 173.677504 -Q 139.76327 173.910779 139.547247 174.898749 -Q 139.332558 175.884428 139.793838 177.630137 -Q 140.253203 179.368596 140.927256 180.121376 -Q 141.603123 180.873676 142.485948 180.640402 -Q 143.376024 180.405211 143.590234 179.417719 -Q 143.806257 178.429749 143.346892 176.69129 -Q 142.885612 174.945581 142.210224 174.195093 -Q 141.536171 173.442313 140.646095 173.677504 -z -M 140.406593 172.771113 -Q 141.829627 172.395095 142.87758 173.322525 -Q 143.925055 174.248143 144.490758 176.389039 -Q 145.055024 178.524497 144.601994 179.848542 -Q 144.148484 181.170775 142.72545 181.546793 -Q 141.304228 181.922332 140.256754 180.996714 -Q 139.208801 180.069284 138.644534 177.933826 -Q 138.078831 175.79293 138.532341 174.470697 -Q 138.985371 173.146652 140.406593 172.771113 + </g> + <path clip-path="url(#pedd1dac049)" d="M 87.698571 198.216962 +L 89.233752 198.705159 +L 90.919477 193.404241 +L 89.142252 193.207983 +L 89.414525 192.351795 +L 91.182815 192.545212 +L 92.122388 192.844002 +L 90.164391 199.001108 +L 91.699573 199.489305 +L 91.448135 200.279976 +L 87.447132 199.007633 +z +M 93.722425 199.701369 +L 94.70518 200.013891 +L 94.329207 201.196174 +L 93.346452 200.883652 +z +M 98.59554 194.902503 +L 102.285337 196.075881 +L 102.033425 196.868041 +L 99.204283 195.968356 +L 98.663052 197.670309 +Q 98.889303 197.665197 99.10419 197.695821 +Q 99.320566 197.726919 99.526051 197.792264 +Q 100.688977 198.162082 101.165306 199.015308 +Q 101.643123 199.869007 101.296981 200.957482 +Q 100.940422 202.078716 100.04414 202.479047 +Q 99.148332 202.877889 97.878196 202.473978 +Q 97.440424 202.334764 97.009948 202.11589 +Q 96.580961 201.897489 96.144381 201.594694 +L 96.445065 200.649165 +Q 96.791031 201.010044 97.202224 201.263776 +Q 97.613417 201.517508 98.11075 201.675663 +Q 98.916311 201.931836 99.519833 201.658112 +Q 100.124843 201.384862 100.355919 200.658219 +Q 100.586523 199.933065 100.250471 199.360551 +Q 99.916382 198.787022 99.110821 198.530848 +Q 98.734098 198.411048 98.332347 198.375107 +Q 97.932086 198.339639 97.485613 198.392771 +z +M 106.461425 198.085978 +Q 105.736271 197.855374 105.142683 198.453619 +Q 104.551057 199.050849 104.09506 200.484777 +Q 103.640956 201.91275 103.778477 202.743492 +Q 103.917488 203.574708 104.642642 203.805311 +Q 105.373752 204.037809 105.965851 203.43909 +Q 106.559439 202.840845 107.013543 201.412873 +Q 107.469541 199.978944 107.330057 199.149217 +Q 107.192535 198.318475 106.461425 198.085978 +z +M 106.698184 197.341466 +Q 107.867066 197.713178 108.189467 198.833897 +Q 108.512341 199.953128 107.953116 201.711663 +Q 107.395312 203.465731 106.484802 204.194377 +Q 105.574765 204.921534 104.405883 204.549823 +Q 103.23849 204.178584 102.915616 203.059354 +Q 102.593215 201.938635 103.15102 200.184567 +Q 103.710244 198.426032 104.620281 197.698875 +Q 105.530791 196.970228 106.698184 197.341466 +z +M 112.524537 200.014084 +Q 111.799383 199.783481 111.205795 200.381726 +Q 110.614169 200.978955 110.158172 202.412884 +Q 109.704068 203.840856 109.841589 204.671599 +Q 109.9806 205.502815 110.705754 205.733418 +Q 111.436864 205.965915 112.028963 205.367197 +Q 112.622551 204.768951 113.076655 203.340979 +Q 113.532653 201.907051 113.393169 201.077324 +Q 113.255647 200.246581 112.524537 200.014084 +z +M 112.761296 199.269573 +Q 113.930178 199.641285 114.252579 200.762004 +Q 114.575453 201.881234 114.016228 203.639769 +Q 113.458424 205.393837 112.547914 206.122483 +Q 111.637877 206.849641 110.468995 206.477929 +Q 109.301602 206.106691 108.978728 204.987461 +Q 108.656327 203.866741 109.214131 202.112673 +Q 109.773356 200.354138 110.683393 199.626981 +Q 111.593903 198.898335 112.761296 199.269573 z " style="fill:#ffffff;stroke:#000000;stroke-width:3;"/> - <path clip-path="url(#p826a730be7)" d="M 114.347508 187.839009 -L 116.216487 187.345156 -L 114.511234 180.891651 -L 112.585068 181.836969 -L 112.309641 180.794619 -L 114.22493 179.852175 -L 115.368796 179.549923 -L 117.349476 187.045779 -L 119.218455 186.551926 -L 119.472806 187.514514 -L 114.601859 188.801597 -z -M 121.403548 185.464495 -L 122.599984 185.148352 -L 122.980313 186.587702 -L 121.783877 186.903844 -z -M 123.249415 177.467575 -L 127.74149 176.280603 -L 127.99632 177.245004 -L 124.552033 178.155111 -L 125.099534 180.227121 -Q 125.325372 180.076297 125.562706 179.968979 -Q 125.801853 179.861183 126.052017 179.79508 -Q 127.4678 179.420979 128.499443 179.978424 -Q 129.532898 180.53539 129.88305 181.860534 -Q 130.243739 183.225559 129.593768 184.207955 -Q 128.943317 185.188538 127.397014 185.597128 -Q 126.864056 185.737955 126.287207 185.793412 -Q 125.712171 185.84839 125.075116 185.822788 -L 124.770949 184.671671 -Q 125.353628 184.814427 125.933388 184.806685 -Q 126.513148 184.798942 127.118618 184.638955 -Q 128.099333 184.379814 128.534323 183.714098 -Q 128.971125 183.047902 128.737371 182.163264 -Q 128.504096 181.280439 127.79522 180.916974 -Q 127.087677 180.551217 126.106962 180.810358 -Q 125.648328 180.931546 125.218331 181.153771 -Q 124.790147 181.375517 124.372199 181.716737 -z -M 133.264671 175.627947 -Q 132.381846 175.861222 132.165823 176.849192 -Q 131.951134 177.834871 132.412415 179.580581 -Q 132.871779 181.319039 133.545833 182.071819 -Q 134.221699 182.824119 135.104524 182.590845 -Q 135.9946 182.355654 136.20881 181.368162 -Q 136.424833 180.380192 135.965468 178.641733 -Q 135.504188 176.896024 134.828801 176.145536 -Q 134.154747 175.392756 133.264671 175.627947 -z -M 133.025169 174.721556 -Q 134.448203 174.345538 135.496157 175.272968 -Q 136.543631 176.198586 137.109334 178.339482 -Q 137.6736 180.47494 137.22057 181.798985 -Q 136.76706 183.121218 135.344026 183.497236 -Q 133.922804 183.872775 132.87533 182.947157 -Q 131.827377 182.019727 131.263111 179.884269 -Q 130.697407 177.743373 131.150917 176.42114 -Q 131.603947 175.097095 133.025169 174.721556 -z -M 140.646095 173.677504 -Q 139.76327 173.910779 139.547247 174.898749 -Q 139.332558 175.884428 139.793838 177.630137 -Q 140.253203 179.368596 140.927256 180.121376 -Q 141.603123 180.873676 142.485948 180.640402 -Q 143.376024 180.405211 143.590234 179.417719 -Q 143.806257 178.429749 143.346892 176.69129 -Q 142.885612 174.945581 142.210224 174.195093 -Q 141.536171 173.442313 140.646095 173.677504 -z -M 140.406593 172.771113 -Q 141.829627 172.395095 142.87758 173.322525 -Q 143.925055 174.248143 144.490758 176.389039 -Q 145.055024 178.524497 144.601994 179.848542 -Q 144.148484 181.170775 142.72545 181.546793 -Q 141.304228 181.922332 140.256754 180.996714 -Q 139.208801 180.069284 138.644534 177.933826 -Q 138.078831 175.79293 138.532341 174.470697 -Q 138.985371 173.146652 140.406593 172.771113 + <path clip-path="url(#pedd1dac049)" d="M 87.698571 198.216962 +L 89.233752 198.705159 +L 90.919477 193.404241 +L 89.142252 193.207983 +L 89.414525 192.351795 +L 91.182815 192.545212 +L 92.122388 192.844002 +L 90.164391 199.001108 +L 91.699573 199.489305 +L 91.448135 200.279976 +L 87.447132 199.007633 +z +M 93.722425 199.701369 +L 94.70518 200.013891 +L 94.329207 201.196174 +L 93.346452 200.883652 +z +M 98.59554 194.902503 +L 102.285337 196.075881 +L 102.033425 196.868041 +L 99.204283 195.968356 +L 98.663052 197.670309 +Q 98.889303 197.665197 99.10419 197.695821 +Q 99.320566 197.726919 99.526051 197.792264 +Q 100.688977 198.162082 101.165306 199.015308 +Q 101.643123 199.869007 101.296981 200.957482 +Q 100.940422 202.078716 100.04414 202.479047 +Q 99.148332 202.877889 97.878196 202.473978 +Q 97.440424 202.334764 97.009948 202.11589 +Q 96.580961 201.897489 96.144381 201.594694 +L 96.445065 200.649165 +Q 96.791031 201.010044 97.202224 201.263776 +Q 97.613417 201.517508 98.11075 201.675663 +Q 98.916311 201.931836 99.519833 201.658112 +Q 100.124843 201.384862 100.355919 200.658219 +Q 100.586523 199.933065 100.250471 199.360551 +Q 99.916382 198.787022 99.110821 198.530848 +Q 98.734098 198.411048 98.332347 198.375107 +Q 97.932086 198.339639 97.485613 198.392771 +z +M 106.461425 198.085978 +Q 105.736271 197.855374 105.142683 198.453619 +Q 104.551057 199.050849 104.09506 200.484777 +Q 103.640956 201.91275 103.778477 202.743492 +Q 103.917488 203.574708 104.642642 203.805311 +Q 105.373752 204.037809 105.965851 203.43909 +Q 106.559439 202.840845 107.013543 201.412873 +Q 107.469541 199.978944 107.330057 199.149217 +Q 107.192535 198.318475 106.461425 198.085978 +z +M 106.698184 197.341466 +Q 107.867066 197.713178 108.189467 198.833897 +Q 108.512341 199.953128 107.953116 201.711663 +Q 107.395312 203.465731 106.484802 204.194377 +Q 105.574765 204.921534 104.405883 204.549823 +Q 103.23849 204.178584 102.915616 203.059354 +Q 102.593215 201.938635 103.15102 200.184567 +Q 103.710244 198.426032 104.620281 197.698875 +Q 105.530791 196.970228 106.698184 197.341466 +z +M 112.524537 200.014084 +Q 111.799383 199.783481 111.205795 200.381726 +Q 110.614169 200.978955 110.158172 202.412884 +Q 109.704068 203.840856 109.841589 204.671599 +Q 109.9806 205.502815 110.705754 205.733418 +Q 111.436864 205.965915 112.028963 205.367197 +Q 112.622551 204.768951 113.076655 203.340979 +Q 113.532653 201.907051 113.393169 201.077324 +Q 113.255647 200.246581 112.524537 200.014084 +z +M 112.761296 199.269573 +Q 113.930178 199.641285 114.252579 200.762004 +Q 114.575453 201.881234 114.016228 203.639769 +Q 113.458424 205.393837 112.547914 206.122483 +Q 111.637877 206.849641 110.468995 206.477929 +Q 109.301602 206.106691 108.978728 204.987461 +Q 108.656327 203.866741 109.214131 202.112673 +Q 109.773356 200.354138 110.683393 199.626981 +Q 111.593903 198.898335 112.761296 199.269573 z " style="fill:#ffffff;"/> - </g> - <g id="text_45"> - <g id="patch_94"> - <path clip-path="url(#p826a730be7)" d="M 393.209423 194.221768 -L 394.294978 194.886275 -L 394.923109 193.809472 -L 395.551239 192.732669 -L 396.600418 193.405929 -L 397.649596 194.079188 -L 398.277727 193.002385 -L 398.905858 191.925582 -L 399.955036 192.598841 -L 401.004214 193.272101 -L 401.632345 192.195298 -L 402.260476 191.118495 -L 403.309654 191.791754 -L 404.358832 192.465014 -L 404.986963 191.388211 -L 405.615094 190.311408 -L 406.664272 190.984667 -L 407.71345 191.657927 -L 408.341581 190.581124 -L 408.969712 189.504321 -L 410.01889 190.17758 -L 411.068068 190.85084 -L 411.696199 189.774036 -L 412.32433 188.697233 -L 413.373508 189.370493 -L 414.422686 190.043752 -L 415.050817 188.966949 -L 415.678948 187.890146 -L 416.728126 188.563406 -L 417.777305 189.236665 -L 418.405435 188.159862 -L 419.033566 187.083059 -L 420.082744 187.756319 -L 421.131923 188.429578 -L 421.760054 187.352775 -L 422.388184 186.275972 -L 423.437363 186.949231 -L 424.486541 187.622491 -L 425.114672 186.545688 -L 425.742803 185.468885 -L 426.791981 186.142144 -L 427.841159 186.815404 -L 428.46929 185.738601 -L 429.097421 184.661798 -L 430.146599 185.335057 -L 431.195777 186.008317 -L 431.860285 184.922762 -L 432.524792 183.837207 -L 431.427341 183.123251 -L 430.329889 182.409295 -L 430.9825 181.274291 -L 431.635111 180.139288 -L 430.537659 179.425332 -L 429.440207 178.711376 -L 430.092818 177.576373 -L 430.745429 176.441369 -L 429.647977 175.727413 -L 428.550525 175.013457 -L 429.203136 173.878454 -L 429.855747 172.74345 -L 428.758295 172.029494 -L 427.660843 171.315538 -L 428.313454 170.180535 -L 428.966065 169.045532 -L 427.88051 168.381024 -L 426.794955 167.716516 -L 426.166824 168.79332 -L 425.538693 169.870123 -L 424.489515 169.196863 -L 423.440337 168.523604 -L 422.812206 169.600407 -L 422.184075 170.67721 -L 421.134897 170.00395 -L 420.085719 169.330691 -L 419.457588 170.407494 -L 418.829457 171.484297 -L 417.780279 170.811037 -L 416.731101 170.137778 -L 416.10297 171.214581 -L 415.474839 172.291384 -L 414.425661 171.618125 -L 413.376483 170.944865 -L 412.748352 172.021668 -L 412.120221 173.098471 -L 411.071043 172.425212 -L 410.021865 171.751952 -L 409.393734 172.828755 -L 408.765603 173.905558 -L 407.716425 173.232299 -L 406.667246 172.559039 -L 406.039116 173.635842 -L 405.410985 174.712646 -L 404.361807 174.039386 -L 403.312628 173.366126 -L 402.684497 174.44293 -L 402.056367 175.519733 -L 401.007188 174.846473 -L 399.95801 174.173214 -L 399.329879 175.250017 -L 398.701748 176.32682 -L 397.65257 175.65356 -L 396.603392 174.980301 -L 395.975261 176.057104 -L 395.34713 177.133907 -L 394.297952 176.460647 -L 393.248774 175.787388 -L 392.620643 176.864191 -L 391.992512 177.940994 -L 390.943334 177.267735 -L 389.894156 176.594475 -L 389.229648 177.68003 -L 388.565141 178.765585 -L 389.662592 179.479541 -L 390.760044 180.193497 -L 390.107433 181.3285 -L 389.454822 182.463504 -L 390.552274 183.17746 -L 391.649726 183.891416 -L 390.997115 185.026419 -L 390.344504 186.161423 -L 391.441956 186.875379 -L 392.539408 187.589335 -L 391.886797 188.724338 -L 391.234186 189.859341 -L 392.331638 190.573297 -L 393.429089 191.287253 -L 392.776479 192.422257 -L 392.123868 193.55726 + </g> + <g id="text_45"> + <g id="patch_95"> + <path clip-path="url(#pedd1dac049)" d="M 308.149147 202.752778 +L 308.657587 203.683632 +L 309.558524 203.166412 +L 310.459461 202.649192 +L 310.937983 203.571266 +L 311.416506 204.493339 +L 312.317442 203.97612 +L 313.218379 203.4589 +L 313.696902 204.380973 +L 314.175424 205.303047 +L 315.076361 204.785827 +L 315.977298 204.268607 +L 316.45582 205.190681 +L 316.934343 206.112755 +L 317.83528 205.595535 +L 318.736217 205.078315 +L 319.214739 206.000388 +L 319.693262 206.922462 +L 320.594198 206.405242 +L 321.495135 205.888022 +L 321.973658 206.810096 +L 322.45218 207.73217 +L 323.353117 207.21495 +L 324.254054 206.69773 +L 324.732576 207.619803 +L 325.211099 208.541877 +L 326.112036 208.024657 +L 327.012973 207.507437 +L 327.491495 208.429511 +L 327.970018 209.351585 +L 328.870954 208.834365 +L 329.771891 208.317145 +L 330.250414 209.239218 +L 330.728936 210.161292 +L 331.629873 209.644072 +L 332.53081 209.126852 +L 333.009333 210.048926 +L 333.487855 210.971 +L 334.388792 210.45378 +L 335.289729 209.93656 +L 335.768251 210.858633 +L 336.246774 211.780707 +L 337.147711 211.263487 +L 338.048647 210.746267 +L 338.52717 211.668341 +L 339.005692 212.590415 +L 339.936546 212.081975 +L 340.8674 211.573535 +L 340.370896 210.602014 +L 339.874392 209.630492 +L 340.817181 209.081385 +L 341.759971 208.532278 +L 341.263466 207.560756 +L 340.766962 206.589235 +L 341.709752 206.040128 +L 342.652541 205.491021 +L 342.156037 204.519499 +L 341.659533 203.547978 +L 342.602322 202.99887 +L 343.545111 202.449763 +L 343.048607 201.478242 +L 342.552103 200.50672 +L 343.494892 199.957613 +L 344.437682 199.408506 +L 343.929242 198.477652 +L 343.420802 197.546798 +L 342.519866 198.064018 +L 341.618929 198.581238 +L 341.140406 197.659164 +L 340.661884 196.73709 +L 339.760947 197.25431 +L 338.86001 197.77153 +L 338.381488 196.849457 +L 337.902965 195.927383 +L 337.002028 196.444603 +L 336.101091 196.961823 +L 335.622569 196.039749 +L 335.144046 195.117675 +L 334.24311 195.634895 +L 333.342173 196.152115 +L 332.86365 195.230041 +L 332.385128 194.307968 +L 331.484191 194.825188 +L 330.583254 195.342408 +L 330.104731 194.420334 +L 329.626209 193.49826 +L 328.725272 194.01548 +L 327.824335 194.5327 +L 327.345813 193.610626 +L 326.86729 192.688553 +L 325.966353 193.205773 +L 325.065417 193.722993 +L 324.586894 192.800919 +L 324.108372 191.878845 +L 323.207435 192.396065 +L 322.306498 192.913285 +L 321.827975 191.991211 +L 321.349453 191.069138 +L 320.448516 191.586358 +L 319.547579 192.103578 +L 319.069057 191.181504 +L 318.590534 190.25943 +L 317.689597 190.77665 +L 316.788661 191.29387 +L 316.310138 190.371796 +L 315.831616 189.449723 +L 314.930679 189.966943 +L 314.029742 190.484163 +L 313.551219 189.562089 +L 313.072697 188.640015 +L 312.141843 189.148455 +L 311.210989 189.656894 +L 311.707493 190.628416 +L 312.203997 191.599937 +L 311.261208 192.149045 +L 310.318419 192.698152 +L 310.814923 193.669673 +L 311.311427 194.641195 +L 310.368638 195.190302 +L 309.425848 195.739409 +L 309.922352 196.710931 +L 310.418857 197.682452 +L 309.476067 198.231559 +L 308.533278 198.780667 +L 309.029782 199.752188 +L 309.526286 200.72371 +L 308.583497 201.272817 +L 307.640708 201.821924 z " style="fill:none;stroke:#0000ff;stroke-linejoin:miter;"/> - </g> - <path clip-path="url(#p826a730be7)" d="M 395.833737 187.222469 -L 397.713231 186.770282 -L 396.151847 180.280466 -L 394.205145 181.182736 -L 393.952955 180.134522 -L 395.88872 179.234883 -L 397.039021 178.958132 -L 398.852595 186.496163 -L 400.732089 186.043975 -L 400.964981 187.011979 -L 396.066629 188.190473 -z -M 402.940814 185.005382 -L 404.143982 184.715912 -L 404.492223 186.16336 -L 403.289055 186.45283 -z -M 404.963979 177.051468 -L 409.481328 175.964639 -L 409.714659 176.934466 -L 406.250993 177.767789 -L 406.752303 179.851457 -Q 406.981437 179.70569 407.221098 179.603674 -Q 407.462582 179.50122 407.714154 179.440695 -Q 409.137903 179.098155 410.156899 179.678394 -Q 411.177719 180.258194 411.498329 181.590794 -Q 411.828588 182.963499 411.15694 183.931205 -Q 410.484854 184.897087 408.929851 185.271205 -Q 408.393894 185.400151 407.815955 185.442772 -Q 407.239839 185.484955 406.603511 185.445199 -L 406.325006 184.287605 -Q 406.904368 184.443277 407.484157 184.448424 -Q 408.063946 184.45357 408.672822 184.307081 -Q 409.659055 184.069803 410.108734 183.41392 -Q 410.560237 182.757598 410.346204 181.867983 -Q 410.132611 180.980191 409.431988 180.601059 -Q 408.732751 180.219665 407.746517 180.456943 -Q 407.285303 180.567906 406.850473 180.780518 -Q 406.417465 180.992692 405.992036 181.324537 -z -M 415.017652 175.434913 -Q 414.12986 175.648507 413.89193 176.631431 -Q 413.655385 177.612095 414.077748 179.367626 -Q 414.498356 181.115866 415.155511 181.883442 -Q 415.814488 182.65058 416.70228 182.436986 -Q 417.597364 182.221638 417.833471 181.239152 -Q 418.071401 180.256227 417.650792 178.507988 -Q 417.228429 176.752456 416.56989 175.987141 -Q 415.912736 175.219565 415.017652 175.434913 -z -M 414.798357 174.523422 -Q 416.229397 174.179128 417.256477 175.129623 -Q 418.283118 176.078295 418.801094 178.231237 -Q 419.317754 180.37871 418.835404 181.692358 -Q 418.352616 183.004183 416.921575 183.348477 -Q 415.492358 183.692333 414.465717 182.743661 -Q 413.438637 181.793165 412.921977 179.645693 -Q 412.404001 177.492751 412.886789 176.180926 -Q 413.369139 174.867277 414.798357 174.523422 -z -M 422.440606 173.649025 -Q 421.552814 173.862619 421.314884 174.845544 -Q 421.078339 175.826207 421.500702 177.581738 -Q 421.921311 179.329978 422.578465 180.097555 -Q 423.237442 180.864693 424.125234 180.651099 -Q 425.020318 180.435751 425.256425 179.453264 -Q 425.494355 178.47034 425.073746 176.7221 -Q 424.651383 174.966569 423.992845 174.201254 -Q 423.335691 173.433677 422.440606 173.649025 -z -M 422.221311 172.737534 -Q 423.652352 172.39324 424.679431 173.343736 -Q 425.706072 174.292408 426.224048 176.445349 -Q 426.740708 178.592822 426.258359 179.90647 -Q 425.775571 181.218296 424.34453 181.56259 -Q 422.915312 181.906445 421.888671 180.957773 -Q 420.861592 180.007278 420.344931 177.859805 -Q 419.826956 175.706864 420.309744 174.395038 -Q 420.792093 173.08139 422.221311 172.737534 + </g> + <path clip-path="url(#pedd1dac049)" d="M 312.951433 198.785201 +L 314.497174 199.238856 +L 316.063627 193.901476 +L 314.28245 193.745114 +L 314.535458 192.883037 +L 316.30764 193.036759 +L 317.253676 193.314408 +L 315.434214 199.513866 +L 316.979956 199.967521 +L 316.746308 200.763631 +L 312.717785 199.58131 +z +M 319.007054 200.134179 +L 319.996568 200.424589 +L 319.647196 201.615004 +L 318.657682 201.324595 +z +M 323.771352 195.227263 +L 327.486529 196.31762 +L 327.252441 197.115229 +L 324.403839 196.279201 +L 323.900902 197.99286 +Q 324.126982 197.982676 324.342501 198.008475 +Q 324.55952 198.034714 324.766419 198.095436 +Q 325.937344 198.439088 326.432682 199.28142 +Q 326.929519 200.124192 326.607868 201.220154 +Q 326.276537 202.3491 325.389456 202.769425 +Q 324.502815 203.188251 323.223943 202.812919 +Q 322.783159 202.683554 322.347884 202.474386 +Q 321.914108 202.265659 321.470849 201.972727 +L 321.750259 201.020695 +Q 322.10423 201.373726 322.521008 201.618176 +Q 322.937786 201.862625 323.43854 202.00959 +Q 324.249642 202.247638 324.846874 201.960452 +Q 325.445606 201.673705 325.660333 200.942064 +Q 325.874621 200.211923 325.525818 199.647087 +Q 325.178954 199.081192 324.367852 198.843144 +Q 323.988538 198.73182 323.586082 198.704895 +Q 323.185126 198.67841 322.739957 198.741539 +z +M 331.706634 198.233583 +Q 330.976493 198.019296 330.396466 198.630699 +Q 329.818379 199.241043 329.394645 200.684834 +Q 328.972671 202.122629 329.128783 202.950079 +Q 329.286395 203.77797 330.016537 203.992257 +Q 330.752675 204.208304 331.331202 203.596461 +Q 331.911229 202.985058 332.333203 201.547264 +Q 332.756937 200.103472 332.598885 199.277081 +Q 332.442773 198.449631 331.706634 198.233583 +z +M 331.926642 197.483951 +Q 333.103564 197.829363 333.45101 198.942572 +Q 333.798896 200.054282 333.279239 201.824913 +Q 332.760901 203.591046 331.866956 204.339923 +Q 330.973452 205.087301 329.796529 204.741889 +Q 328.621106 204.396917 328.27322 203.285207 +Q 327.925774 202.171998 328.444112 200.405865 +Q 328.963769 198.635234 329.857274 197.887856 +Q 330.751219 197.138979 331.926642 197.483951 +z +M 337.811451 200.025269 +Q 337.081309 199.810982 336.501283 200.422385 +Q 335.923196 201.032729 335.499461 202.47652 +Q 335.077487 203.914315 335.2336 204.741765 +Q 335.391211 205.569656 336.121353 205.783943 +Q 336.857492 205.99999 337.436019 205.388147 +Q 338.016045 204.776744 338.438019 203.33895 +Q 338.861754 201.895158 338.703702 201.068767 +Q 338.547589 200.241317 337.811451 200.025269 +z +M 338.031458 199.275637 +Q 339.20838 199.621049 339.555826 200.734258 +Q 339.903713 201.845968 339.384055 203.616599 +Q 338.865717 205.382732 337.971773 206.131609 +Q 337.078268 206.878987 335.901346 206.533575 +Q 334.725923 206.188603 334.378036 205.076893 +Q 334.03059 203.963684 334.548928 202.197551 +Q 335.068586 200.42692 335.96209 199.679542 +Q 336.856035 198.930665 338.031458 199.275637 z " style="fill:#ffffff;stroke:#000000;stroke-width:3;"/> - <path clip-path="url(#p826a730be7)" d="M 395.833737 187.222469 -L 397.713231 186.770282 -L 396.151847 180.280466 -L 394.205145 181.182736 -L 393.952955 180.134522 -L 395.88872 179.234883 -L 397.039021 178.958132 -L 398.852595 186.496163 -L 400.732089 186.043975 -L 400.964981 187.011979 -L 396.066629 188.190473 -z -M 402.940814 185.005382 -L 404.143982 184.715912 -L 404.492223 186.16336 -L 403.289055 186.45283 -z -M 404.963979 177.051468 -L 409.481328 175.964639 -L 409.714659 176.934466 -L 406.250993 177.767789 -L 406.752303 179.851457 -Q 406.981437 179.70569 407.221098 179.603674 -Q 407.462582 179.50122 407.714154 179.440695 -Q 409.137903 179.098155 410.156899 179.678394 -Q 411.177719 180.258194 411.498329 181.590794 -Q 411.828588 182.963499 411.15694 183.931205 -Q 410.484854 184.897087 408.929851 185.271205 -Q 408.393894 185.400151 407.815955 185.442772 -Q 407.239839 185.484955 406.603511 185.445199 -L 406.325006 184.287605 -Q 406.904368 184.443277 407.484157 184.448424 -Q 408.063946 184.45357 408.672822 184.307081 -Q 409.659055 184.069803 410.108734 183.41392 -Q 410.560237 182.757598 410.346204 181.867983 -Q 410.132611 180.980191 409.431988 180.601059 -Q 408.732751 180.219665 407.746517 180.456943 -Q 407.285303 180.567906 406.850473 180.780518 -Q 406.417465 180.992692 405.992036 181.324537 -z -M 415.017652 175.434913 -Q 414.12986 175.648507 413.89193 176.631431 -Q 413.655385 177.612095 414.077748 179.367626 -Q 414.498356 181.115866 415.155511 181.883442 -Q 415.814488 182.65058 416.70228 182.436986 -Q 417.597364 182.221638 417.833471 181.239152 -Q 418.071401 180.256227 417.650792 178.507988 -Q 417.228429 176.752456 416.56989 175.987141 -Q 415.912736 175.219565 415.017652 175.434913 -z -M 414.798357 174.523422 -Q 416.229397 174.179128 417.256477 175.129623 -Q 418.283118 176.078295 418.801094 178.231237 -Q 419.317754 180.37871 418.835404 181.692358 -Q 418.352616 183.004183 416.921575 183.348477 -Q 415.492358 183.692333 414.465717 182.743661 -Q 413.438637 181.793165 412.921977 179.645693 -Q 412.404001 177.492751 412.886789 176.180926 -Q 413.369139 174.867277 414.798357 174.523422 -z -M 422.440606 173.649025 -Q 421.552814 173.862619 421.314884 174.845544 -Q 421.078339 175.826207 421.500702 177.581738 -Q 421.921311 179.329978 422.578465 180.097555 -Q 423.237442 180.864693 424.125234 180.651099 -Q 425.020318 180.435751 425.256425 179.453264 -Q 425.494355 178.47034 425.073746 176.7221 -Q 424.651383 174.966569 423.992845 174.201254 -Q 423.335691 173.433677 422.440606 173.649025 -z -M 422.221311 172.737534 -Q 423.652352 172.39324 424.679431 173.343736 -Q 425.706072 174.292408 426.224048 176.445349 -Q 426.740708 178.592822 426.258359 179.90647 -Q 425.775571 181.218296 424.34453 181.56259 -Q 422.915312 181.906445 421.888671 180.957773 -Q 420.861592 180.007278 420.344931 177.859805 -Q 419.826956 175.706864 420.309744 174.395038 -Q 420.792093 173.08139 422.221311 172.737534 + <path clip-path="url(#pedd1dac049)" d="M 312.951433 198.785201 +L 314.497174 199.238856 +L 316.063627 193.901476 +L 314.28245 193.745114 +L 314.535458 192.883037 +L 316.30764 193.036759 +L 317.253676 193.314408 +L 315.434214 199.513866 +L 316.979956 199.967521 +L 316.746308 200.763631 +L 312.717785 199.58131 +z +M 319.007054 200.134179 +L 319.996568 200.424589 +L 319.647196 201.615004 +L 318.657682 201.324595 +z +M 323.771352 195.227263 +L 327.486529 196.31762 +L 327.252441 197.115229 +L 324.403839 196.279201 +L 323.900902 197.99286 +Q 324.126982 197.982676 324.342501 198.008475 +Q 324.55952 198.034714 324.766419 198.095436 +Q 325.937344 198.439088 326.432682 199.28142 +Q 326.929519 200.124192 326.607868 201.220154 +Q 326.276537 202.3491 325.389456 202.769425 +Q 324.502815 203.188251 323.223943 202.812919 +Q 322.783159 202.683554 322.347884 202.474386 +Q 321.914108 202.265659 321.470849 201.972727 +L 321.750259 201.020695 +Q 322.10423 201.373726 322.521008 201.618176 +Q 322.937786 201.862625 323.43854 202.00959 +Q 324.249642 202.247638 324.846874 201.960452 +Q 325.445606 201.673705 325.660333 200.942064 +Q 325.874621 200.211923 325.525818 199.647087 +Q 325.178954 199.081192 324.367852 198.843144 +Q 323.988538 198.73182 323.586082 198.704895 +Q 323.185126 198.67841 322.739957 198.741539 +z +M 331.706634 198.233583 +Q 330.976493 198.019296 330.396466 198.630699 +Q 329.818379 199.241043 329.394645 200.684834 +Q 328.972671 202.122629 329.128783 202.950079 +Q 329.286395 203.77797 330.016537 203.992257 +Q 330.752675 204.208304 331.331202 203.596461 +Q 331.911229 202.985058 332.333203 201.547264 +Q 332.756937 200.103472 332.598885 199.277081 +Q 332.442773 198.449631 331.706634 198.233583 +z +M 331.926642 197.483951 +Q 333.103564 197.829363 333.45101 198.942572 +Q 333.798896 200.054282 333.279239 201.824913 +Q 332.760901 203.591046 331.866956 204.339923 +Q 330.973452 205.087301 329.796529 204.741889 +Q 328.621106 204.396917 328.27322 203.285207 +Q 327.925774 202.171998 328.444112 200.405865 +Q 328.963769 198.635234 329.857274 197.887856 +Q 330.751219 197.138979 331.926642 197.483951 +z +M 337.811451 200.025269 +Q 337.081309 199.810982 336.501283 200.422385 +Q 335.923196 201.032729 335.499461 202.47652 +Q 335.077487 203.914315 335.2336 204.741765 +Q 335.391211 205.569656 336.121353 205.783943 +Q 336.857492 205.99999 337.436019 205.388147 +Q 338.016045 204.776744 338.438019 203.33895 +Q 338.861754 201.895158 338.703702 201.068767 +Q 338.547589 200.241317 337.811451 200.025269 +z +M 338.031458 199.275637 +Q 339.20838 199.621049 339.555826 200.734258 +Q 339.903713 201.845968 339.384055 203.616599 +Q 338.865717 205.382732 337.971773 206.131609 +Q 337.078268 206.878987 335.901346 206.533575 +Q 334.725923 206.188603 334.378036 205.076893 +Q 334.03059 203.963684 334.548928 202.197551 +Q 335.068586 200.42692 335.96209 199.679542 +Q 336.856035 198.930665 338.031458 199.275637 z " style="fill:#ffffff;"/> + </g> + </g> </g> + <defs> + <clipPath id="pedd1dac049"> + <rect height="266.112" width="357.12" x="57.6" y="41.472"/> + </clipPath> + </defs> </g> </g> - <defs> - <clipPath id="p826a730be7"> - <rect height="345.6" width="446.4" x="72" y="43.2"/> - </clipPath> - </defs> </g> </g> </g> diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index 093c89d7c0b9..35f620e7775b 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -1593,18 +1593,20 @@ def contour_dat(): return x, y, z -@image_comparison(baseline_images=['contour_hatching']) +@image_comparison(baseline_images=['contour_hatching'], + remove_text=True, style='mpl20') def test_contour_hatching(): x, y, z = contour_dat() fig = plt.figure() ax = fig.add_subplot(111) - cs = ax.contourf(x, y, z, hatches=['-', '/', '\\', '//'], + cs = ax.contourf(x, y, z, 7, hatches=['/', '\\', '//', '-'], cmap=plt.get_cmap('gray'), extend='both', alpha=0.5) -@image_comparison(baseline_images=['contour_colorbar']) +@image_comparison(baseline_images=['contour_colorbar'], + style='mpl20') def test_contour_colorbar(): x, y, z = contour_dat() diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py index 76af52341de9..0acaf6580006 100644 --- a/lib/matplotlib/tests/test_contour.py +++ b/lib/matplotlib/tests/test_contour.py @@ -242,7 +242,7 @@ def test_contour_datetime_axis(): @image_comparison(baseline_images=['contour_test_label_transforms'], - extensions=['png'], remove_text=True) + extensions=['png'], remove_text=True, style='mpl20') def test_labels(): # Adapted from pylab_examples example code: contour_demo.py # see issues #2475, #2843, and #2818 for explanation @@ -371,7 +371,7 @@ def test_contourf_log_extension(): ax3 = fig.add_subplot(133) # make data set with large range e.g. between 1e-8 and 1e10 - data_exp = np.linspace(-8, 10, 1200) + data_exp = np.linspace(-7.5, 9.5, 1200) data = np.power(10, data_exp).reshape(30, 40) # make manual levels e.g. between 1e-4 and 1e-6 levels_exp = np.arange(-4., 7.) diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py index 4b83ac05899a..85e0405c18b8 100644 --- a/lib/matplotlib/tests/test_lines.py +++ b/lib/matplotlib/tests/test_lines.py @@ -144,7 +144,8 @@ def test_set_drawstyle(): assert len(line.get_path().vertices) == len(x) -@image_comparison(baseline_images=['line_collection_dashes'], remove_text=True) +@image_comparison(baseline_images=['line_collection_dashes'], + remove_text=True, style='mpl20') def test_set_line_coll_dash_image(): fig = plt.figure() ax = fig.add_subplot(1, 1, 1) diff --git a/lib/matplotlib/tests/test_patheffects.py b/lib/matplotlib/tests/test_patheffects.py index 98b64d149b42..6e80d8d98b17 100644 --- a/lib/matplotlib/tests/test_patheffects.py +++ b/lib/matplotlib/tests/test_patheffects.py @@ -119,7 +119,7 @@ def test_SimplePatchShadow_offset(): assert pe._offset == (4, 5) -@image_comparison(baseline_images=['collection'], tol=0.02) +@image_comparison(baseline_images=['collection'], tol=0.02, style='mpl20') def test_collection(): x, y = np.meshgrid(np.linspace(0, 10, 150), np.linspace(-5, 5, 100)) data = np.sin(x) + np.cos(y) diff --git a/lib/mpl_toolkits/mplot3d/axes3d.py b/lib/mpl_toolkits/mplot3d/axes3d.py index 334dc42dc650..a6d1f7280841 100644 --- a/lib/mpl_toolkits/mplot3d/axes3d.py +++ b/lib/mpl_toolkits/mplot3d/axes3d.py @@ -1996,8 +1996,11 @@ def _3d_extend_contour(self, cset, stride=5): dz = (levels[1] - levels[0]) / 2 for z, linec in zip(levels, colls): - topverts = art3d.paths_to_3d_segments(linec.get_paths(), z - dz) - botverts = art3d.paths_to_3d_segments(linec.get_paths(), z + dz) + paths = linec.get_paths() + if not paths: + continue + topverts = art3d.paths_to_3d_segments(paths, z - dz) + botverts = art3d.paths_to_3d_segments(paths, z + dz) color = linec.get_color()[0] diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/contour3d.pdf b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/contour3d.pdf index d72cfee76b9b91922fa075a272df5400a527dc9b..5a7250708c9a61f38d839334d993a392c3abd10c 100644 GIT binary patch literal 25170 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 RzTAkL1C@?WR!t7|{{TD2dO`pI literal 24391 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 diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/contour3d.png b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/contour3d.png index a8aa9cab3161e02c7fa834b17096af5869a2a24b..ba603596e4b3b81c938b7786265b59891bea350b 100644 GIT binary patch literal 83161 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μVZwH_)>}M1q@?H2+n~Y$-_$_ zlkWPErVHcU7Uc()Zf5Y=0q!MW%RIZ;grV<e-(^<ZO)Z&@?COSg0#8K!^>WYq|CLa` z*r_=-^tDeggUSzp^2*G?Ar5@Xz;d!YmvNp;Z@jOu2-+<m4QKD@c%C%wh5*QV*B-x; zBq6b0BtDb<51!R+7{kt|LF7d~Z&tbL=wsfZ!1LgC{H+$t?JJi(^DZxv$%{6^J2$FR zW&g(bh2KQbE50zaofwZdjr=nnybcam7uOLMUbXhLwz}^$t(V;2&*V`8P!P^VN?_6z z1L^V^k&i@TnDD@u4L0Jja^(O`*p2JEYplrWXfK*{?!z-uN$eyU1UxR@b_dld+jE?x zbycl(xJZ%4sj_cXN;Fm3r$1AL%IVMBSTHi^30k?br*M{^xN`?!@$RS?ucS|#JnC87 zevCixJbf&Q@nDnICHpC0{$u5wLffA{4&zwic8wS!MC)U*#X2-#92+GqakQ*L0dOzi z70O|blLB35wGZWvV|g(+ce%ky-;UE!r{-q^FY{IdNS?ydh|hDZ4OSj-cH5AMmP6g3 zZ|%pX@9*!6B-U3pxpaReqx`R$-BAB1rEKM<MS+w_KP=w&ZYEjw&W#VqM>E15-s}dM zJ%YSFW%Y=Y;8WjNzbQ4CuPLaN3`hLVOEnCcjmP6u9mz<lG74*cC=^tzo}P=;o&n}j ziPN`ciaYBv{zs`ue&0W{YghlYNf>-L=c`TpX#%TQm_iVPHX4>_`PxD8Mdc@2W_ETl zfZo{X4Nc6KWKAkPwm4}|L%b6#LW`5i<C>@h$~3Uk2IwEA*a6PwxQudKHmyjG0th-Y zie@dg2v!qqu7{+Az9BeHmX^R?{}Rz>R?z1w>L2k($MO&5<0Bl?gKe6cIGvw+V9cz# z%A45R^@u4a3jX1ZS+$$TA0er!CYiCB9c*&)#weUA`R9*|$}66Pke?(1_|0Y=0ZioA zXyk``FiX<x^uxvJF?)OFfJFiTGGqbzm`L!BSPmKEbDuW0?$OhCoISFOb2#)00^RO$ zOPPe`HYM+3uGG@~pbJIsTU=4n4ByxTUtNvti&IYF7zn!phlqj*v^T)@`i&nbtH2Ye zGSfVgPgn*a7PSX$3(%sAmCE~qu_0)|{gr>=kTMY=o1CH<iX@^xJO+;o)$;$gqNMO$ zLG=au)D;}yb)&V0^nPDaxc%uKC-ajGk=#db5<lkk?vk^EWa*fvfVen!TU(X;K_T8H z`WFC11IJoGeFbS|<!@PlKP}Ju;?S|h+{!Aiu8z2I;qL!?0qXwM)KL!tcm>!{f8DJ6 z7c-d-<X*X_;!#SH$4N~RL{La#r=`nAZ@<o<cWqkATK|6HF&+ZnfWXG+u-D38!rY$C z-0`-ik;=AAZFANu<RG!7o;LBvU-hN-{7zGxde%9K5#9Ao=NRh|wV<8+JtnGM2L9{< zo-oCM91lB^%b2?>bR+yGQ%qw$cxOHMJkQrGv-KzMfw$X<hZsBtlV-6X?E+2*ah9Ns z3+#13WT`{>r4jURnihsIK;a0(gB(+|6pzo826hIsT}<TX8!?nLiyczM!UL{e11!Lb z<@MmpuwLloF@07F<^06ZeTZ@wX0E0<O{OoGAcT8wof7TTij)&mQ;h)C8PFhrz8|hE z6cHL%A`=Fe=?9DSmC0vODF<>)?ezlm<)bSxcS8wt8{XXyats-L56Y09dVN%Wx===& zfWYIl+(J@*AZ;4a$XyP9n5YvG5wYpma$S@i_7?^U50fztn9%^P4d-+ixPuu9Y)s&J ztEN98_uJvsGtj_IF5kSkEmWqncdAz}>2Ye@*ft0h``z;7?y7@pt*zWNm2)<ho01nh z(vQkW9m86IR-(Q8dzqvWuWpMD7uR_+V1SULlNtIanj<l>V<-YoCO(?rXxrIkIAWJU zeo`s9r($Pfhk9~{n&f00PvDqP<oJ!qF}?t}LK-Lz@8v!Ya*T1BgSdJ7wLz6S6(O)F zxc(?1dFM|YQNXCUtKOLkeC~{X-^SaHC1uq~{`wCk@r{|(sK@tiZBdeV-m~c5EzC9A ztiyts4EX8+Q}n@*tM$gbICvv$>AzUlhEZzP36nOL12)++YYxN|TU_?`f5sfbu*t>% z<3B*W09%cNG0I#GwL>7JS;zxvep{}j4{oBmbpLAbN2s=B51ULpuHAii>_gLwCF8H? zmS?>!Iz5``YS#o&wr<MEjq3Cu-3Sitf55h5|NSH)q=d?OjB-ct$x$;XTU{j?z>**- z0y`JC`@RfGGKzF@5GN3zdxg)+35HN$qWSBY3N<dbiB=OCy3GvxJEkQ*t&M-!Z@8I4 zHO6J9T1mH$VF<q0TM{<tT??B;saktH3jaq$C8^h_1+J~(3gN0l1D9Lu2wd^o$!tlx zY0Bb?X`S@^79LqO<9J60tfEA5X*Zwvo2|1k?XO$qd_s&&imRAk9_bXt@eF7+d9Qs) z*ZzZo-~A|glid#Bl7LFDIrj^@yKTR$=Ap(Cc3C1d0SoY+RTN(bivU{$fLU<IN>O<{ zU3+G@ULQvRH(cB59j{^$RIOZlJul(&M#ST8M7TYt*~Yxs^HPwraka}%vw<T^Qfexo z?>^%&l;ZHyp)gATq~_*EqyPo|(%JI9n@t<&UbX#82N&4NR|0+$V;&`MNx#ZWFOf-A zR_+NYy^NN|uXcVVSlPJL)WzgMEuwppXE+lnhFR)+rT-cMD2l-M@vOWXNsZW|ti^b} zH&QGS0StMN3>GKFbTSa8M*OMJ2BF(#eUr|hI&4c^=KR`x#+=t{gcH1F_6^WmBZYNe zPCN_zVC&YMZK;U9qpW4)^%$AGJ094%K&o<##Vu;J%0$g$eV3xp2(^{940Z+)>724^ z5pm;ibcb{~2X9peWR0@SaanAL(_fY(&&T`+zBazxE5_Vex!fzct$Mj0CvL^oH<Jh4 zv4wN_Nkqol4{SdQGE~X?r-OXH9lM9yJ!*AaYAv<7Ch$K@^NXsefSu|3Wc9gO-F0$J zQqw@4Zp?<P_lib{0$DHXQ>HQ<3pe-hOo^Jgg$4HqEVI9u5=F`z06PediGa_vdvwHm z2Des7hUxGXr9@H8rX|Xqco7csi=`e<#7swOVA+q}B^d;r_h$oi9Zode%W90j9&F6~ zU>h6Y4`W?%L^<sQ`hV6$!*95m00{HUw||s@GFNnIKlLyj18BM0wCM4)k``?AHMp#@ zy2qm^yHFnpD2}*JWSSCn8eZm^&Ke*8;HeMe43$-yV6w4L-k2?vMG7?zomcU1io-Hd z3v_NY$^JsBj=;hoS<)<`WgP72o`ml1FW~$}O7w5j+rMujhBcAAF~L21yAlAk5dBd{ zR#!{jtBEXT=zy=rZAA+{Jq4`gd@s`j_L1ZRow(cs>pFy+w9C0Drxq8bffwu<{^nMG z@Fn}~zwVmoQCKDx{Bywo@=ZX2^C3O`lVY8IOFc*XVxo!^<RJi6(GKKol&*igQDLn3 zv6#oER@(dMCd`sT`|B@+>tttLDyV4>t@$hVmCB8-$EdLN&S~)M)ByH#Bl|yG%&0#q z9=P*mp*B44G&&KpqJ*jYf4)W3N<u3xo;q68%bFPbn~&xrw}>T0D$r?o_HB-iKF{9c zd_XqeY_U(Kbib8Fvxqnc>(rU({eD`I$h3jguz~)l5#N0Oh6~0kLWF!{-Hzy@$?P($ zY1LqJNiGeFuccUYWm$!srEa*q8Ot-e>K8vr19E~G$|M+UbK_N)7;N1bY`HeeBy#YW z;iEu`1jMC4PT+sH&II|UHNrJ=e>YKp|J|!ASvG`c{U+E37Z$)E0GtUV<R+GvM~9g@ zM%rAj3G9??k=D#-F#7HO05lVl4{)8*fVZD>Iyqbs@@|s^b`9nCq=QglZ@5>DBk^Mh zVUD`N`*#<QG{v%yKBsk06GF5$=ZHc%Qk@nS7J&EijQ%ugy3Vz*8Jl;`mHH*ED$i}C zC?6e6isaX&50(+A0u`RVw?f?0gsj<_uP}(@XI(YXJdWbXNk-qfeLOKR*7{Si5*NfA zvhte6jf7GmvqS}4TVo&YPF6g2czqazp|#BKQm{+3-07{ZB599TX04#XyM!Wj4jZ!w zM_srKeF#5?sE;?Ov$OQ`l@j-$|3-Se`|*UaTC<RNqeHJk)i4dq)Zeg#FfutSln*!l zV{;;qN}YzaTY*2#9Ng4qoIAX9MSt!}r6LuOdC9RKgRc}gdCh%x4bx)|DlVQ0%Bxw~ zN<EUFeqRINr#Ckrlk;u2hj6C${wB?^n#v*`_0w+^BTO83j%7-Jd{lpkfwC>@>Dz|! zKY6@MHra3ty+5w_hx9`38k4I8wh^$#xzhRoxA}aS=_KS;3Ensg3=e}GtC3=gQMUPl z_lXuJd{-3G-jNkE+P{0kk?qAK?FLD`VKQH`x=0Zx+fRnM-KubS4MvJTPLJf#K6eyO zk#K~k;(i5cPHs*wIq_-?kwUe^SB=s<nOQ~LgGCtjDG%!E2Y{R=iuYd~z@Fs@-cPBO zeycf8S!#_{Xt}{?NxqLWVo6YK?jvCPI9aZ9BO3gv6sM>TPIII1CsMCsfXq;L>f200 zv6(-)vzSf92G_OKfmz;r6f_@?S6mB~U_DeTMycfjfjYjSe#iimL1||Nw7}qCWSQwL zkfx}uuUEZRlU^8eiQ$%&l5Em80rX3N$Okpl>({RZqAAaB-5eDE(trG6AJ@+ZJ1p|` zK*X-4lSJr~wt5~tgn*pi?I5tV!`@eh*hph74)4LfU(WLaM-&U>KwEW+l*z%XTUX}~ zil%~s9px<y$5)-c)PC#t{~&}8rM>|&SJX)#;cbnLjn!^{laYjD(`pd3c{AXivk;dJ zYxDJx{~`5j#no+8F!4~@aLrJMDwC`}^hjIF?9`!(r$}Vr1imzeZ-u4c1y{?H>>NXV zH7=of=xA-PN#Eo9xUkCfmo)}x7nP2_q?k3Q$^LJA8U;)0#0p}mv#l{{t=Gn^NfWvH z#IOx1G?srgTzpZ3_Na54NWY8I^GoFzh#nRm#OonJA+Z1-6sb=6PzZ4@#H40EA93wl z(DNM?i8M|Ez_!D25cmQ38;79m`t=p>%{Tc6|B~9~iF7Mn{yk?RLGTVx;uaPbu0)4F z6la`PV%s>=L=P|XL!ek)^@0{2uBarRJ~_loe^1m+z=VJO8f9|%%Ublf7(_lBlAJ#X zT6<u>sBLKY1{{@reSLE7ZXXxK{x~b*g4^eIvmOYJT)?~reDz^rVeZ1z>z|M$qiqzj zrxT3pUYn2?+0<EdX#CX&|FYSK-A#s8oeX2Qnf{IV5j&|3myABthkkG?5yF{t+ais< zuW-Gu;vb$&G;!x)bE|QSe#k-_YOXShEF;6Ty>dA_osPr=F*m3M-BSwN<w~l=3iO`v zi%Zu>E6BbOnAjmlOM|{RCLAVJsroxjN;$IE`ZKR`iNZI`4=B}zQ5<wCJ`3lY8xSDm z8yXvFkRl-+E(JQGU8K#Kug9j1-z|LHm9~G6aC|HBU%@HI3ZGp}2RPHuz@+KvZs39n zuYF-2Taj5)krR{>Bh3x^Y1y<(?d~aNY|SS-1fmcOIvA}l{^!2eFgD*EJNwYYNQZpE zS3X8VzXvhHi0SmW@!@4_0h5GUN{~1`?21ywHYKkYn3Mo^OtO%T^6}kV1slY&^~|U8 zUT0b_d0)$+YPYS(!Sf-M5c+A*6_g*qgfiHf_*JPS9W2ukZ^H{y?=I~#+2!G_tgu8q znyvJ16^|T|#Z8Xo$mYt2h{Yd?3X)=bNeJi_T0C{6<oD(zefWbr-NVHgIizW6Os}XB zRVMSp-|dI<!FjorU!$P<DtUQ1_MF;oy{h@NDiTgY)Fo?|81|ePHr|@qVtjun@kuVL zeeg^<-<A_M!z8U%N(zk&|CqaEyfLMQ*oyOvmZJxOFHPVjgdOMqdIrHZub<0vkbwl{ zIdWik>*K!zhYv3^)B*rk)6mT=6)0W1ySv_Ez3Ab?r@X^1Ll}IW#j#P@wnp>R+!3=4 zRS3=ahezZrNt;ak)sjN4ff1j6%d%yzW7DPjLuPXz@x#X0!SJB%hFDzRPvuP%=;8_) zN0tA!f0Ie}3QWMsoqio4SVANGmL~hv#smHvU1uMg0nfuoNvmMqjfR^I*+r3mX>Y+F zWqyH((g+pdg@0?={xoxsx63L(k(}(gwCI*vTQi9E`V4z*-dn|Vht&?K=BM4-6DswM zF8IG<Q>;~qH&aU3WsBeam4NKvk5#cE1eCMhny2LV?~MOS;df(qZVSa5Lq!Fnjo}Ng zK5(1tG?$;Wm`X+aWz$}PmTcrMZy54gclg0y2>Y4ae~ovnD{O(`>SA{f2*=l@!eXL= z`Be>@$Yk{riL1*?+k@FML*8xz4cHaw=8$U-y{G;<yvf-FTNvKCuUPm^Lqmup7c>}* zhMKSx?kMGzcpZzKo3KfC-E$kAl3c)Vl3i971~8}J)FhV#DWIJTM;MCm8PsoGqYDE` zC8I@Z^YXaxd5GRI$6VxKb=vFXf07~kXk-_8G`LBLzH9wqHyFpcG57SbG*tQX1_|Ha zDV!N+XLa5w*Gl5l29^s2IQ(kL2?89mFxUsz`Wkvx=id@3r3Ht?J(owSvr4wA!*fw$ zADYFLdy+jQ%hUx^GWzS716p}dQzUz&@B=-xLVSo%NMD&#z50<|=df;dQXC%v=fUqo zYj79|>>)r(?`8&`cf0xaa#6{yJX)vLmHmf3(53PX5J+XB`#)b#c&|Rynl__2;OeD} zrZ3PpMIjT{eaSXY2H7@1;S;6AF4Bs!pZyi|cCAe+J8JmT;}##JrX0eAHwQtwj);7h zc)vsPU116bVG(VCi^50>cHQfNIl8n4tF!x8!+)y&QFt*P7$h^08&jh>NR&sKP6NYp zf_*CaK3sU6d9er@Q2w4s?!v6aKV+L?$uXux&EDSq8a#N>!8uc4gcww`=yOCg630I_ zF>bb%jBhOMrIpnT7aaU?dtrO6ADvvtou-I8Yc^_MHD!}xz7%4kWm&Lz0{#>ziYVQ7 zzx!x1V`XL5sh*s^C1a3zozEpX!v;axIwu$1g}v&ZUF98HbK}?<(XNuvkA?#A;}HuB zqI5)t?5}&xPRKB=-7V?b-!tc$6C@We<W4Zt5{jwd)XrVmPl?;>tm1Vi4R61G^M?1j zj_u6oe^n4VjN8pA8K7H$a{9arl__;0xMLFK8JekRnEWRgXK>+x&43p@3Zz1NJ04J> z-2&DJ8@=32-5qkm%pqTzZaN;DJ544<my|Zt_&2w?BaB3TQXV#7(!>2MO*Ln5#pzr? z-UTTmFs>-V{dZ~|JX&B(R>5S#b!l-}G$j_A|9}bW?w6=2T#ktP`_dgsH^$I0=9U1N zHQQ)V<HM}2cLyfsJL^Rc9^}x?xqev5a9~M_)mW<5)lo<zbSL0tps5Mxv_4382`|`> zWC-3Gg7vSK$Rht#h!m^rT}_?&WdeW1HtR!}bah3j{b27elf*bn$TT)75?+O7A&#$< zsCe0pdih@#71ly!8Tet!{IV&P^t>8YX*J`3t08j5Dlb<LY>t?ZrUO6f6oS7;qV-E6 zW+Roo@gtAgXKS1@q<NzKkoRCJ2{W>D(NF!rcDDDQ)`yphyf`zX0_Fl~GhP6YZ7L^f zwSq7yIv@<ajgtaif;rJI=vqpkwr(!3sjn9^I3$C+_Cyo7m+tV1mez+AYfO7O=Mep) zD(e=~=h=MgC4QR$llkG3AhxkliH~s_Z{KK=o;Kijf&i}*PrEhjKU%hIcx~xsbaK6M zy0_fcK${1w%{)b9Y1wHKmBdxY_YG9*Dl+7*mO81FF=lK-0C8W@c0~Y4OG!p{oWvW7 z;(ljFkwqVp;;im)&XPdGp>ZN>y?oPk+4+@#I7}@)tulN)D*57zD0@Ll9q1rbbZBAy zAlPZRb*V=3x5c7{@epI*Y<B5(>lKuV6bUz;iZle4xZ+2D%bkMxYwGQ4!6v9t6;F@R zV5asg*2^$Q2k-K8wB<Pb=HY3P%a=W64y{@TPTuUDcFxS)&2M`bG?3~ekwt99wH%`y zWT(@M$RbTJ)-L{6cYd6%2^PtA$>{)n58>>10v7n}11=yffN@8Fvfcy~k9O=n$q8Cm z^&(|v*%&~6w5duJq}{^w)pu)H?R48YVWIct*J|(no$M_g@MOOU!=me7<luUAmWePh zAoODTBR7n)N?gYM77b9cP?=f<c!>EY`NpImZ(gt@44(mT(3jTOi%vKKMHhbb4BTOS zkdw|g2k7Dms|8rw*$dW)S)B6k=1w|+F~$l|`B)=63L?`*A|t9*p=R3itK5|D1v-EG z9mEzKnzhij;2MM8?*jg2Tr<pG_JFFKkxNNT>;Cq#13%8g>9;)<8Q9OEUj02M^`|Ye z+2!<KS;pl8DH*N3Rtf{Nh*1@mtgMYS^fa%k_&u2An29JBrUVsU4J5ok!HJ5dQ&Pqm zDi$b$O==Y_`rT!DOR!0mW+&NSX0l5+KB1JJU&1P@=8W5*DW;i7UCAs9*+nQddzZ&_ zPxn^G)Wd^VMJ0+d7(~Q%%&F!7)$o-fR&u_$|IbENhzeNgU<}CA%uMh14q!vpv3?E1 zQwD3MfeZcusK;xUF2M36LLT)#ivQysw6gp_MqVCFB*f@Usp#mtdOGXShj?e)iNYrk zx>F2#j(P-Ryu&g=_ShL_P8?^+yHuKd;l>D;fha}YDEd-~o0p|nnGPIrKhZ+L9%ihk zw`R|)Y<jPqTG-yO>X8D>2tY^y<`6Jo3<OmmH+%A)QXh#{aLODPu6#_93&_&sOimr? z{PWH2Z@$IWGB<@t7|8x{X$WZDVI$7VBu+5e7?;~r<2T76qM<=kWbqv-eFv_AXi@7> zL2H?UcV94<SPJ<@e&5wr($f~h7PYFoTWwnzk5{J}@~D=+_(^_P7leS8%@-Q9N_qGm z*?CkaJupE3H`QgDYZ$<{VxkedzA0=LD5uwR;i3(}sy4^(UeX9eBF1py!CiAB&LkvH zJ{Fr<R%RQ(=`yO;`LX?Z(_=DITQL~KZW!fH3jLIN>L|Oe5X|SOzOEd0R?`FV8}QCR zG9Gx$OID)11@zRCgI7<iY2PlDK)7@llHpHppLZi$dU(M#0K-&q=zD9$4qKqI`2X7t zRE(cnC4ejddJiuTmcNw}$=Ml}QRRY(jEfD{7l2u>csqE_JgbJ~OLm`eN4_nT^kjPW zvhSB5CD!AP?zvswhcHg$;ByGXw+gn{_!UV)VOF{jehqyns0_hRhYSyU<HiS0esZlO zh^7jVG&FrL?(fH-k@86;?mtEt4P^Ch<r=J~=ya`4)fZrk!z1I7&bMF~D_L@j-yEox zA$?5=VCVE(_~A{jwJsE9MX2YD8S752{&K%1<E9^^Oj$N@{uXx2K$5bJYv0{{7%*}e z@Gx*nhj64H6YnLME>|DQs(_`<+JA+yj}WWeLc^qsI~WgNP1Rzb!WdE*Sm^R~o*b7= zV3~4brjhM6#Rf-Ic$0{V3RTLWvh<9%-swa=;&N?V-%++iK4msOw}tKZPer#gYLuu6 zmY{(jVumpv<Wsk!?PZSqI=@YKH1cf`>uq&{{V|u;-aEHQ7N>XCdfQXAe+q6dvmDo| zs@hghOaU0i)Dw5xu1RxNo;n5)#emQcR!=v1&|LCXLBU3rNB6(h#1Ao->%nRO5_s|w z&Qn|mDvpY%osCVUOU;+9Q-oB@1z==<R<^;2Pi)0$wy0sz^VM4f$j^#<1kUAA&qwRU zkrH28pRtq2FOem}D1S_nO4kjG3>w0|2VRuM9<Adv<SOuyoq?HN;INW)zy${Mh(JY& z`P`iD1H{+Zgh}%hgMl>@MA85Q5X5hV3#vpFfH-{k?|UGcNsR`OlYy?c+x*#mZ3dmg zO;f6c#=n14uuK^&uOiE^S<6Vb3f^9J&qlrIDvXDR=`B4}lnmE`4A+;?%XqKU(l}8r zxzt44=pCO_a?esexL{jHR^9ci-v#4-ofnEadcu9t^5aV)Y%>gwjsQpa=aig%P(fsS z#HdeD;#Lkf`alc~Q2|!k;O7JNah=UbJ?brw-l~Pr`e{28M*fRM(WtPc@F|Hh-YC&d zt0;MfY2u4%T-3FwGDFE7TV@8=PkGs>u^*BwtKw$tx!*8EY!ZZ}6|MDKVEu2#;=<x$ z$w`$uz3T8kS65z(I3Yk|n>*<hMA7?(wDsSKQUOmc8o>_x7dQNd(~PXV{HxGjr;AaJ zvs<^jD~IURjhtEd%Wagoe`sKc$HkO1lS%^?y!Y|-Y8M@j!oPs|*S8vv!x=adJ2-Aa z!K*FjUZ}zutMdxZ;t#KOgOh@MWNVkI{pn{aT8oM`sRjVC5A3((A>;s@X?k429So~Z zNHsS<KM1&QFkmijAo@$9zu(#MgH?{qzo<mEVYF%ry+-jzw|a3?izQkBO<h>%nsCr| zNndvgDthU^T`SXRHM!9+J{<Gu!wZ<^P3&b`<jRR3um|{2MnifGR@F%#CjB7+d3uSk zqAFg7jKY$&r+|J>9Gclrxm6?GfR!Qo`+IG%+Bn|(z}ndFtZlr+7~Xm|b4_Xv5++o$ z-=+-nFivTy8Tev?#wmBJBoDb!-}|+Qowbay|NSEX?ac8KuNwU7io|GtNPQllPsE+M zUFhf0;i*<(3Z7^>e~@|y*a_F>)&NYdIf*0F4YZJ%mFuBx*5v#T$p0sp^h6rt%T9+s z{p7lKNd40A-&j-7+6TTghe9=-91yp#^9MF(bMs&TKzWnwrg&3ejjgE#uc5z@x4O>s z*!n|XsD-=#<lj^D)%siszeS-jcHBD%D1Y8299chla0GRoy(Nw}t^$xnpcR7dBgcx9 zA)X*#N#LsFRg_d-@%G9BE$7bnKZQk;n^&HZC>v-TA9HO0)m13VYw>7B6zMvd$}^cd zTvVY{vpY6Klw5)14Vkx*s>zq-W5mDBr2*GlZ{S6Jj&Wm-alNHPcR&J`CFAaJXCe$+ zD~WZ_GFYZur2SLAb~&jutVc(}r%qwYEehPT^=rC<@EkC+LNopuk-uC-e*@>Ov#%!U zyInhCa$L1gAc0#3<LflhQ=on~d&S0cD@XX^dt~(2Wa?YD$4;0`O`+Y(g+ZFS{?Tna z$S85=4(5Mq@}$Iz(?a+E<R^F#`$WZKoB#vfwqzTl;7<#^5er(2%?SW1t)Q;XVHK|7 z<``qp<KhW!t<8IND}%3oaHvcnxWeR#s6s=)?4a!N{;)nGd$0H1!QWoCK0FJgOb@na zzU?y;tT`Rb4RGgIl7DtvmBW`7(*Z^cWy~O4+lz?zu6zuVWpBRj9v>qdvc_Lj4x7{f z#pdX}G;n#gj6`Qp5(o|e@5$GQK&d7f#+1AY(fq;?qhaz_7OZp4b>GOm>I!+&rLlH@ z-0lA0f80>uHi{n2S5L|?<g#^(9#r@k0@2I|=Zhkbc@Q0F{H|OZf*!iaO2~=j7^FL4 zIE7y=J-UHKGCw`AZIz3WNgFaVzSt!8Wn31h8z69OFq!U0Oi0+hZN~!a3}BjMNcJx) zyqTT?L~sj5bey88*4jh>^B;&K8tUqq1qFcsXhoFlt{Ey;VZo$t_YWgx(5UX|G?UQ& zERCe{LH7xXKJ;!qV>_cX<7Zx{=k<Hy&nFTF9tDuEOd^XVi#!sG+bP3VqLl(4NL~pH z^CW`(U<f>o&rm{ibXGPt`(3ykEcj;`u#A8Jz#YIAR3g>2a+H?AZ}}9axNW2XV3?{i z;!c+FsiP(^pt}hJ4Aj-x$o@iL4q^ayp%`5l@cziEu%Nkktd0DCFMzKi*|>i_X$E}@ ztvUJh0W0s%0>dG<-z*q}tekX%xsJbgNVC5KCFuJ=M!ETn2u{MVzkZjUrU4a&3QaHt zpKp4Q;Dpj@lQRM6^YQ%=+@X#cJpGACf*CCG{1ZHPhSha+z-Z<3nF^0MP;q>_yR!Q1 zvX^HfdBZ92T(}spxghnBS)oVS<g4ns9@V{)P5;2ETJES@_h+z5-BQ<i#@m>{=;@eg z!1Im?=7#nLVKw*xS2&IO>FgbuW)68D;(G{En(s{DA2C(EI&9I-EzOGXa@4~7<&Hn! zg{!JlS~cQ(0rvttd7w^(yCb{KR)Du*O0wm77}`G1+BZD98vA#!>`AenNYxK!lkV&| zZ^x-I%hpJtq<wx{Kz~KAIr;I6DRoSiGTpje3%(VeQ)6}{om68_U-aCjP4erHq6+A; ztY9o9;Jhj`$fHZKau)h`vdOXnYjHUR670GJyoT!Uq0o`9gEPb(nf<vPq7^AOFa>t- zX7K5%*g^Eee=jcq^}0Wy<KDRavdsDn(eo6s^|TB18FkP9xXBN?3oM+R&c_xO*;W4~ zpSogHAq@=;ARQ(?%~t-oO-f5^F_?s2-Uq@}W!IlXb3iDm`gp=Gq*?jRVHMfa`}&`U z?_4w9Z5QEDt=LguU>(m(uZhdw;oH9Wckbv-@yPI6zlY*kuwYO#2!}pw?}D^jcOV8Z zwraOHmK~1|lBt<WS`{+D95jysh&9-=!LZV249sEozB$n5!*|#wxK-I&q~qmRLjJJX zG%W)k#}IekTD<y?pN(T9`9iEGf~Tn?Yj^Z!$|ym?V`;y|Ont61DPL9I`MhBT9u=$Y zih%nhA0hI$F^uy&0}NVdJ@(mr7d>r(V<%e$P4L=G=ojC^#B%P}NgnktpDws#W@O!( z|C2XfSJQJCE#Mv!hUc3<=iiOZ%z^-cQEBxrfg~7kuLrmc+Kk_gRLk>J6Q4?~$y+aF zjg<1poo>F~d1h{2WNdnR&Wzq&*Qn2q36~}MjvBi@@!~-SaP{fTJ67@Tr%CG+J{{4- zinC+As9K2l$j;seC=Ou21vubm?0&PG^@vBTfBzbcX9cU#@XZ+GwFl=HSJRjBuf*G) zy4}yx8Qu{*g+~DS3VQCmAS`%}<9nIvhutEm@%}8;*X%aeU=3dIBirB>Xe$@XCE<mN zBK&)v4SsbJM_Qd8qcPOT%m4!udR!>@{r6feZ2C9(+lEXCvHggzOy)t`pA@J1|9=<M zQvBt?fRe<tG-F3cTrU6tXd`RtGNl5C*5~1(j0pf*MwA?9vCs8>^^tg%|LH}$6p9z; ziSaD|1^0d5_%$|i$la_F179^q_;<3K!>OwWd}LH_V&gE?ju6tr-)0cL-kxfBu%iR7 z3KYd(X@`j$qoO9ZnoTz66YcXPFGiha5jC~BV3J4iBDb9~$gFFrnEE7JGUXd(6yhJk z<wlA^`Uaz0nhB039nG6I#4I-Gsn_(9*r1&ani1fANjAag$erS>A4RuWoGUTg3T^=@ zjh}43K^uF--|G-=c7jbsVE`vow(B}I`#Cy;>MGq?K&4sN)Ww((3M9QK5QeTG<5e|f zkmYuKACB^CW~MIU9>2LSr^6Ms{YlMl$O2-tg&VJXL)YN(@U0bV-o3m0sO`Ne@o&$$ z?}IDlNWsQ;S?AGAFpRD?*`<qjpG3mGueJfK%X7g229;4?qRSPubLKj^xDZH2H@aSb z)e+_lEZfu|^D5|-EHgvv2IE%X5{4bJ&F3~NOQ5O4lT%Ydy0qd3-SP?!@7u_}Wy$i} z4qi|?DWa??*!)8WK_G_(wX5ENIG3NbDjkh9fyx?G34_(miK4(e7AS+xz2f|=D5smh zs0`kL`|ta0tC<}KR6dXm%@}{r#idzCfe8--hK9=05v8(sl>s2B1f@j5^m9}KgcJGh zPrG%5Uwx^P*&uxKIY{fE%KZxaDHgU==RuUw^AfKSdy)SVCF0^+nKr@fp{1VwE*Ip4 zCz_eTdqp5z&KULQG9nMPmxc7SeXU5N{T?<L4az<3TdxYk^E}QSaIl4;qTpB#FsGc; z&MvA*YcYyj=+)WygoGv3*&nCN>*&@ss<lh<^tv-6$0<T_#r6$jXBRDTDDUw@k0lHj z$kDsZ0|drUhN~-OVusLf--Rl~vs<bx?XWgY<Zpg!^7h_mr@?2Pzw=0sM<h-4TwT{k z(TjobW&H2_6ocKV*%A$;f&UV?97$s0jWe#@vkqyXdj>k|puAYgv*fg(v)oC#`PYE# z_7|haevvPi_J!o~%?rk-Yu!IW!;{<U{c?S7_9T$3ZxAv}6KCn)dk-~@uTp$r*UqbJ zYkz!MfZy2f_1It#1R1t`^YkW9jC~rfI4OV769sX{XY&(yhyiyN;PmAk?iU<>x%AJp z7ns(;yJ>z@Wdq}nzz+y|d5&07pic@02#*<wQiPCu>rJo+F~&vWybv5_#hgo8R#umg zyn%)mK3Tq63tZ=s?nDQ(a4$WgCMhgqkIs$6B?>yW*FJZ|pe6lE57lG7u?~4|*m!FF z@2jwaZNn=`ns5G03kUmjl*HD=W1W~R&K!1Uj?_?{v0207Xh}tT^Z2yXXzZZJT|d$V zfA%sxT%?i#)Y{X3xZ~=i5wmn0ssa_20jl(_JH$`AB9rj+f#q(hW!3`wRXrq8Q(J!& zNvIYPD<)ndvl+v5*_6!dQlyD9m>i6bB*zUs+V|#>gf1x@*aXe3Twj=nnsL8GCnuM) zoHH*o`|>i|K}Q@a$|XeI8}d_AZevnTF=%|osmpbRY7JC*ci}S=^#lgeFUf;(Dau?v zpjQwReK6XH6ry41zQyL?=GLMLG%ZslLfrAVVf%-EO$Q)<?Oar=J^z>F`iODj;sOD4 z9ZQ-jp4%^cr|3d$&YhQ~^3Yz2YZa}4cBiwAcENzKJ(WN0k8`!7ZT^<?ck@?{`t4`Z z+K+kT*^P3uCA5;*-f_r<v80%SyKlB>kb~_7J9p|Ed6fkThqED!o{8SG!y~z!40}P@ z?xkXAHXrXer7rF0O_Wu(|BR;Gjm_IG&iQUCx64}~-_)AL;)EGuS|yt}s2h`(D^0;y z8%K#KuDdjZOz8>kffXKOt0zS=V&m8Pg48i=RI6h#(DTg-f7M(6H6RfIDGl%kOVdMZ zD3gA{(Kv6lddfTKtR`eF6Tv!r{BP$EH~2o$@MKUW0U9R2M$F18q^rAHm75pUHx(Ec z^Fh`S=*NIw2n_en?k+}AV`I1U?TROyH^bJ`{$-S<w}GdRExMcM;~j4Mia!hrMdA;& zwa@&=S?j1T2D`$Kr02L!+Ad(M5$rKDJ^x}y%pQ#oQ5<x7z&ha)nIM!MZ~;)(Gj=eE z_B{8(kDo!9l%`j5bs8-9Js$~pMa(FD@{4I1@p6s`K$Tgz3mcr<6*tx=hmer~Yqrak zWKZDb^9YawfB3_<ZsUH3`d+79yX&fG=&0!ExGOs(%wbk~(L2LDW$Msp>gM`;V8QRo zPhh~pqy6>GBmsTz#m(N*y3ek&r<$LCA50Pu|8Ob)>L4%gKs`8O6zyz!Zo=#Yzxfwq z#9H}O=JR0bSO_9pKB7)9Qgjj))5^}pN)3euvR+q?fwS^4=StoyW;D3KZkUwO0Dwz| zgvkPli^e@kCV8E)Z)~gaQiMHYJcVM-6(t6eyh}hoyl;Xk1pRSm4}@u_%YBvZ7^9Xs zLZgPtD9D%O{F7@o3p~yz_JCo}rw)Vted&=*mz?m3cEqzBPuTu*T4EmOrHdxB<bbnH z>rPs1%)}m*HI~QKisFp9+6T1xi#L`P48Br_uxu|Y*`dArP26SHK?_z`0<0(){zAZ< z&tdZKr3?JhsAtPdw}b%`8U;3<aYHb}4yJ=-PX+-^w)@~>{U_Alnh6N|yWZTsfr1bf z6;bwnmDL)9pT_eMy-_G8u-yv%`_~))tXTK9E}BblF*V`|!?kFkBMS}x`z2rZVKGD8 zS9doyV8O&=8?H3j>%FgCnPQz=b$?&jhEJy@0RBx681?0G#=9E4elGrmnqSclKmWBU z)h#^u>Cg4);XGG(czEQf$sHFS!`~M?drD@RkuEpmr=A{G{@IE)>nK{U%u6deV6}#X zWFeK!kWaLsGocm3l@&94k1Mjw*rkd^e!#lp#uov)cR*lXbuuLQh159n`?Q_Tt8-0! ztSsA%k&zJ?_~~&`KZbWVaC2AATiX0H&HBh5$;hgwL>J%RY~5oPuvjiJ&GvE+4Y3e~ zGEPv6$lvCciW)aVPrac+ZpDzFI>sa*qlMh-5+yU=e9gJNL`v?}>YGIP36Z(Xy)WF) zXK;F4pwc~?)xaL^(mV-nzjl#wWlfE5XecT;z3Lkqi*^+1_{-Z~ojjV#=y-UWn@tF; zf7ut7d0Oe{ytt0H_*{_jO;K1^;9=tl2I42q-zSfO2lMH)8vlN7Tm$|dqu8_D?oFZ9 zcOhknMu}=?(|*sip#5$1!+->(k2-w-_^R<ZpXY9(^$CV~si^dxow3Nt%U?=B&nHgH zk09vS0HX|s0v#Try`P>26mBOLj)Hgodj@DYcPJaJFM@|(yWy6f&?YY`gJ(gQM+Z_O z`H2n1*#Ua63ETd0D}ammgB%x^C<pbcob|xS?gmMiE$0<w$jMt7ShH*k5UGN6f{D^q zt*t+{x3}AIGZFK^la3%6jfvvV%*v{`$tBlUZu7U{30<im!|<QWFIUb>to)~2@Vko- zzpR*f2lMM3zfkwV)U010A~5iP<uUZg2th%8<asQ?_<uybcRbbq|2}@q%(Al`Ga(^+ z#mUYNQTEDSA!P48lOlU%uQIYDBMHeSM9JP|_q(57@6Y#lyZNKr?NzTj&+~lTANTup zUH9uUGNtJv-cLtp3tuJBt>fo;MpRbFujxZ_<C?@o^e{LHgQ4*J*gR7xK}l)pw~Cg= z#z>Vyu;z$aTCz||E{LFoRR=%{Md{-ovQq!ia%9UlYwp6xHB>0kmov4*hUqs3!Rsav ze~U-(kAUSSSyZ>HiI!l4Jc1oZRD-}}#L9*i`31v46+xMMBEhGMd7Cq}F15el<zj^7 zv&>hoW~2KHC?7Nhg4*BzJzF4$IBpawQjR5ulK{XvNQqlL^|+J^QXd1qSqUkrH~^zC z5RGzFr?<~YIj&sXveuO989TbAda)l6wW6VifpC*YMRCh;;cIeHzOIecmcAl>U(Qzq zGuleFj)$6?u;+cC84aHx&Vze7%9O7^V18AlZ;b6s7sJJo!HK&$`<J5K)ekp3c}JsO zSMr5(Z2Sn<hqd;}SK=6N_*tmy^-|XrG0Jtg@FKdPIRpq7!lTSIL<9vew|*39JX4e< z;S&-HgMZ`dyqFeMJD4c@DXzg=BRK@7r$)>z*DwEY{7@amA+Pn0TVIQU!i({nJ<g+^ zDjB_?efk(op}5pBe#t{lDaDalh0CV7s70RZW?w(vpHCQz36nY0lkc14!(VWu6?j17 z4>|SVgX1)4`Gw$+0LlEi2!Hv%=hp*Cx_~cdNj(jRJo%tF&c4a|t9ZeIkaPfRk>%y( zfh*qNnDy+K%=2&YUo6(DzpU1kkI%jbMO6Py`%9E!j5}?M7qz3Y_}X$oGsb1Sb&I<4 zDfV}UR{?W>Z`V71C;W38$NA7gDlzn7+(PHsK9zHh3gUVOq3@ypCAu3yW_JDNH?cKG z1z){-wXm=NII{&LX+cA~eq3Z$p0fTE_mvVG2@$SY!^~l0icc7<sZ{e2CiI4Yf*&!K zA?5n;=f1b0u`!AS8|_0Z`pjv5)Q=tm%efDp+KyLipH&@9O1io`;zO>|IWk&7Ws)&A zr9Ol&4t`U~=W~ASkiM&i^<6TqEH;=%@vTY5TXE8z8R7uzqt4OR*uc}E59UF0P7%FJ zBbmJwsvHVey+oiuA$z3rG5btRo_!+SIS*AvsJR2KPh4JA6;ibN&|}LJvsRG`GS#G| z<A<bAi7rQARka@zfBt*H#N2+N@#47{Lgq^i!ut@P(Tlv===|D3>F%Lr^=m%$zBj~N zgD4yvHQh3m?9#w-OTKjM2dT1mFmQ;usFj{kvQJ}u6OVpnaXGEtRtLG%nHT(L{5l&s zW}a5f>eFEzN+dx}R~)MLq{>sluCYIfZ(6<6mEQBo6XpQ{2(5_*is5YSe*2nzs6A1^ z7IrWaNkIT?oyFtF<nV4DK_<{h4dIKTRa_7B{tR7iX{l7g&4@5FQgv3b27MlvcZQsl zF`PS+JX8Z7_4L((J{93B26FePI7?$`?pPTXYY8T^1z8zvY;GRPqbw;SISiKXa{YW| zt4U#6Grh1shTA(Ye>iI-SNnAvae3PE3(>NVlcZCwCIayo+gHPkOop7H%e>~-)hJo= z4ku&oR260l0uYHwKK)Gun;V+ClurZx;=KNQ<Xp{Sh(L%AP%lpjNxt9-%GE#+lU%10 zU7@%9OY~wyd9qhwf%dR#t-4day-CT9KBB7agaBmZ?PD&!YFIiIC+(gDE@cENiu}tK z{N-vhU>T`(@A^ctdsN|C%rKGV$M|SNskYHCO5qZ^2zKT7U{(&P3$y~~Cql{8lpUUY zTnRwr2_?y#_jKr2=)rey=HQ@u`?;&Hx34dxYU9Ox_`=sl-*b7)DBm~}JV{C9No(1d zhg^3qVNO);ap4zSUkJ8vePzbX)$u*@%NK@Oo@hw=MP?7J+af|kzXtr?WXavb3{!fK zX`scwq7<B4%Jpn$#SzKduqp0@tE(H)=IN5MHd)nQV330EjVHpG7Ai9z#{8jsbLql_ zRBe_3R~aE86a<S2@Lj++JQ1pz9YA;IZ2rPt)!Gw*u$snkT4QGX997L{W$9Q)QY5^n zZ!B->PcX{Bwpf2FNRvXwm%iVU3}o$8F@+^Hc{f(M?q^q;Jz+HgM>$S>J^Q5(zd81b zY-uYiE5YGy(X%;Ye2X|5QU8?KA_Gs0aeXM40b}FGt8^jT#1Z~pSJB(I6$`aT7<w(U zZS@Hjs_Tf?*AGEAQTvj}(m<g`Gw}4mU@oVrnH<Id;u;NA8a<(GUbQfD$Y!8LQcdgV zYBy|n20kDIvtiOW1=vJ3tDCaJ%k5plkgpRR5NKSW)*R+rQGJiPKPH?#KYy^YSc$h_ z#2Gj@KImZ~U^{M!`u#UH`>Awx#LQ+}12_4$IQk;B`1%LqiamBYCxLklHT*y~;VvK5 z{L%bxz*)l!@sq!N_{0MGYzj<f7EwKs12JDW$d8yDEqu!*8n}0QJZ9|XD-3yA;Rt06 zf>%ESq_L>|HI!f}!Pmu9nlf6bB1U>DV9zYuLYe?KRSX_(2$1HEOI{~&uC^kW92^NL zDdgyG#lz!mp`FW&t_x9D$M&CzMAzCoA6)4n-q+Hg2k@hcdF-hEg3+D5Z8GZcpx$-) ztR?q|61D9oxYp+c<>ldBY%vZ|oee7#!W@>34k7_p4_OUZ@n2?U;%J^v@ol+fWoF9e z8CJ)&UaA&G(EiL+*0;r{knddi)4*o<M7}4yB9Pc_W7h83e0hJjQ^Or7#F?3$P7Pg~ zo*6WOf9N?d1V_mApNFw2V|iETp?fkQz~DX;BFNAo-A(vA_cuJL>hF_JudNUrg^$Qb z2mE6-c$eJWsczl9<#I33kQW)i{{FjL=TEobB8jKT>{rixFqK{nkJ#v3%iqlUI>Q}! zy!KbTWueR&OZb6<Po3>=@#s7xZ5&LoW=>9*AwAAfqV!z_sSEfuZf)^ycs{)|s#5p3 zF@_`YgrPM1;-GkPaxyTFQ!SMXg(t;0^u+FLY%S=6bsZRq=YS3U+!)WpTVza6%Bt(g zelJnsk;OR=-FR_@^TlohBYuNK7Ad&9kl;a>a}EneFAde|_rnLl9Ol7N5vkU2>d5-p zYMTrPj6OFD1kGOiGF95Ye0D|;Hrrs`d34(T_o?sp)A=sIBEf3L|EP=UJ9;k#0FO+a zuP+<_HLV(^20%c2n^x&oC4+BmXqTA_eFR(<kku$VD!6fBa{JQ7c0h<NKL$c+#@fu_ zLC@qz0m&u3MhC7yqQuXF^oqeaRx_Ln*};$O2x1El6K*#h(Pno;-fnOw61ENZSB4;J z*2&j-bMN%c-rLQIMcK9!Pt!+od=3^252d_WSKik;^loy8Fk%n}2fB#H>TnfiNIJ1# zDJ0+5I0~P_MtQ!5t@b!=d7V;2-Uz5`;cauqYL}mwVU|P;Y=-lIKV|Qsbj~hNUG`p* z*Va@Pl%LDj%2?Rygb(Eku?J_0zn7;G9paDNClZXq%rX0tZ~7@64*R*3yC^-}<Mwm_ zvV0%zP3rQ*!0Nis;3!N7gcAMbOWz<C4!USCxovKbK?hSGL8MmfHux1CE#1DbsOE{e zeUg9sy~+8Q3GwEv>MY~GGduee??uaVo&g9j>4vr&opN)uYXMdG)i&eep2^=UFFs$w zK*;yRoNYX%o;U97F2K=?!6oLx{)mxOFPnb@As;eMQEi7KT!=?SCYj2O^v4nV9Q=5w z>uoh=#^{KPx&r2F&gd;`_N8y?*}+lx1s4h>C0s62n7p@)`?zoj*5U|qlH4n*sw~XR za+m17g91woeUibxLga<yiCBagd52Fm&%^xKuYWed)!xF{`HG;L$P4;+a})0fH7Rha zh9Vp|?&(U4RhmtFevimV5zxk=RJ5hCic<LXks!h7!y66Rj*|DBc@6iL1uN`!ly-=| z;Ly^R28`I>uMuUzaKreaeaQUfam8<Mzc#vj8!*n<+Hz7O8g@)BZ0N+1EVm%jeNki! z3M~t7ZyHDo=$SvCo0olVwXwDJn|{jb`(_9<EC->o88R@X93MA*yMESxExTj=Fj!;% zXs!KR+FBzZ+Lkl1^Sj*{zCxCC$L|)Lys?B=W0$7Zu&wF>?c8#q@Yl{=elUVu(XQTI zsV-wbBH(}BX<^yIy>p{#j5D|(;LopLc*VuVu-ds1{fjz*SWt^J6m@vHzq)T=%#Vle zMsVKn*9sLa3J}OZXL>kEm%Khc*mN+njDeW<-6w_um2yqvAjz)S>meS}Wxvg=tj!3e z(kE@^C!IC4Qr6GWa+h35O6iTda0Zkn=t*W7H8NeXssFs*k&u7&h{kZ2$SVl<=CG+P zF-9>#_MNcNB3Uhr^xPcVz&uRKmnh|e#H%)zcLmvg46gfZaQ!?JXz`>h)F%C*{T8R! zk3m;E!TQu5P>05M?}A5HzvkQE7JjLJ??;ExfGVREHBSd2iAI(r&6?QDMkDlWszJ?$ z!Ir-aDLvp(YX-P<X({A$Uff3R90qg*Ycr%8zXR9AGwJbq4$a+I)|JDqMYs15P;Eu6 zDHtc&yLfa&o$>Htq8uq~XRoQUiDc|5Po_<1sul*7;TgK&w)tYGPOK!ZWOqntc~lgQ z+WKAEMW@0{rLE#F2S3n2yw$Eexv9?7=ys^^!?bj%;v|E(*Hx)d8!`OVVCMP>bD-Qy zU0q7)>??p1Y(RrYj^R6Frt??HRH(mqN%ZonJ8g|VQFPv~B=Et?*Djg0bLN#*l<=k^ zY>{T#qrW6eA~Pa5yVdg+ix7(^?)r=0+>t9Z-TOqAsi@ixq(S4wR>d~PaAGWm3^_SP zq1o38^Dp@wj#c%26ofeEPqJbeByi-ls%JL!jg80WtF#K)wFJ9kzt~c!Nwg5Mn!0^D ziO?9uc5DCF0$L2Snp#*hAS44W3<IWBdn)-(#@Zu{Zm`;C%GfTEfAX)zu{Ov3Jwl58 zD!xeLhh7G;cb9z3ERsO-iWY@dW83i&7KZ*c<G}XlF1IGa488Ep<us+@G#3^ncpgxV zVNR4vxxEkv=Uk;iHeU%ZhpCB6BrJr~&YYS}`8@;%1B|iY*$idXha+Iw(5GaURZB!T zgO~@F&dhRGGDg+7=8fV5pUT(ywzxGB#V;ietw4tj;im8^(;4=LeCF7AW;yL3+$hBe zBij#c<%Ch&lSfl_hM#<8WQ}tYxpl`nlI3Kzu2V-b-L-eo7i`?rO&wktK1ix5vW0gU zJJ-(pN%NeG=(>cLlYc<Z{HY$7BXrl9z8Bjc@fuSxMZqom>pma9B>L66j}+PQ$3sTZ zf*pLs#QKMUw41vFCKt6odxV<AL$Yt2Uj=8BqJZ@~pDL@mL}(j#QM2XdpB7y@oEqSp zMy3s-v?vPhUH57+_A0)X8=nvqgT2U|)nOuusdifZd!+a1(7A1O^_)i5=k9u{NQJ)R z^&|&rooEV9n=w4<aa^@g7jN$<7t!(nX*lqH3C_(7HMD<-MTCX<Zr@HoD?9z@l-syj z7mUq_Rx`7*6ofNAfH?;bRg5~py8R{|vwM@FUrL;Me?`~gFlCc=4W11xq#6yhYiI=y z<#w)U2Cf@#X3mkks<iWCx`S20BCM;6lRb2YqO3yHDWRDA$Iy|uNNc-#zRg-4^FzP? zJ)y?>dg1@~gfx)Y)iX7EylHnhDS|npy$*hnf>FtVi~(zI0Vl!sdD%Rcqt)VXA8~11 z=D<Nr*G*3e4vuRuI;nhMIr3$!Ws}7sQCV4RP&Lm~?kaP8E!P%0u(qnqU#8f)S9HCW z5hEqP)WAbM1~a|X)72lc?;ykrCVggrEe~s4+N14@Sxw<F`S?V`Pz}?<*oJg{jO!}4 zGdTu5NBY<_4dvu!)c<J#PL0T;u)#4yP|cq2g?rul)aJ^HyEum0of>_)5}n}EQeuf9 z$AsdKrnZ#h!cWNLpLe>xx{z2nJU*fA{f+90)e^+6kp6ozvRmCxy}H~=h*N#>6x55> zS9YYr(S;xTxmEK!O<gWZxUrVj)(Ak`0H?C@_~~FR!f$CV!T90kEa|XdoD33CHWqCt z9OKp$3kn-ZEChTx?|mAQ-XFjDK{u-&DwzrEgg!{{YbRx$E>`4N{4-5m*;mg?>$Z-T zvB7D1C`+o$o0cgwC_iOl!J83cj7a2bO8WC(rcV)nqrw#Z<kzLQU1HE)=IZY4?j8yT zOnmPSd|Dmv)HnM%%N=r45CCQpo!7Cx?;-cbNu1H39hv{IYG~qq#WZrP(K@@mMlVrr z1b|z3s7L4i=lku0cA|Tyhr$~S=@Nl|=+K=jWh|>{&hfWMQZ@mQ)tS1xQ)K&}*y?(` z?ox9^X6B{rYwJ?NoRfC-D(rH@a1g#J?lQjk_|EhN#fRZEmwp3P>#hY}qa8Jk-@fXH z-FKI&ZV}Ao_ZiX2{8GVnL2wTYP&a*Jzm?}$>=I$4SPe@mVAlj~39NV5)Yp$6?60R4 zjQ#av4Qjjz2S8Sf0$LyVf$Rpv*LYsB_^#E}>uk!UG)5=B(sPH?Wh32-?!ng7pvF>4 z4t3zbYUq8OuRXzqs{r5+A&!(lXzP~sR@&FupQ81!SIwq;6cKQA2|hebdQ#CnzfKt4 zDb(uJznOs-?kM(Nd?x^8KA38wC;GKxYAl)RFs#UqzM-2d%lwTok4-lJC0Z4bGVBmp z&gkHXD@^Z~c9EGXxh#0FD}Wap+hJZ8?0<kSP!$kHDulIid^`Bwe1x-SQSoCtYK(nd z#hXJ%Igu2Cg_vpguw+&_URZCh*Hg&k_vdGGB&hGyzmRF;e$8ZLm#%lu{t1)__?lYx z(|rB&I6X7fZ0e>!otoIrIPp{LvR)Y_Z$opTL7x9L4P9OEM|?J5b#C}d{n5<ad#4=R zY0W57u@$f=IKM?AuXXK511SJE(f$l{9BY&^YNH+dEn=8$y?ppNQI*3{<S$-af*o<- z1FIVwy_W8s=1|B)=cWJNrd1pUvkmkGG-PY(PO+*(@WYKpRr*Ty(4}xI7X>lI0JcH_ zwqcqHYjMeriDG~|R=!VhKZ|A`Cc-m?VgZ-KSMZnpHTKc(3KDoY)maEVE=qW3X;T!h zsWJXB!<KX)TC-O7G}!cP-ulc|c|U&1#nm+k&d$*7zb&-o4se$9v}<@`I{NUUKiH{f zb4HWgqR}tcn{*V0=5^SE4S)`?99z3RaoJ?=fm6bxoTV@7s>l%Rrg-Wq6TPyxorh9= zoV4G?+XyiyRWTe6HSNAPUqKTfG>6#3lPTzZy8Bhe9xWZxoH&UsR81~)#KeG_9BtGM z(ZZ%)GXo&6Qw~%(SrK7Yi|$PzYjzVBp^hPL`*MBu{yef6<KlQrDMt%~$C$AbBj@#( zVc)xfxUuha`aW<S+k1>KEnhZm?a$B9Tm{G*DinmzcGQ-uYf{M5C~10#tnd@f{&tP6 zyuT}c>gMREc8%?ji}JXo)%Yg;WyP)`dK&qeO;3s#`N&iPHmy+i&4ofv0>Q38Og<?g zoabhVE28Jyw|EHCM)AuAg<Z&QIVkcnzuJr!`^A~w?1I1=oUkSc3sy#K^P^{gN7VR` z#wy22f!W0;g>&u7I|Df_3fKsO_qeat*TOz*^hYq;0NkTsc&{H*So+SE>+E4d65+j_ zRCRC^4WWO>8bs6uT7r#@4O77Y%m~Vy-sicIf;_Rf*SJ{{ei9?GLy&=RmY-Xp;WAXA z_9~REdD7}U&OS>4Q3;8zwKXozXw0E~QE6!ffUnd>kABZMd;Ivgv^(2BxYG=c)B|gB zS_@6DEazX-LbUXFV)rd+f{{5a(VCT+e?J~>m)3}Xva9QKstbCn@1)jBD~z!rgjH=s zK^%o?M=Ae!)cDXb*BEVElE;}2L>CeIdnPz!T`;eSL}OV^hL_jZ*I#60tcw+ykwA&_ z*#%t=<X@^W^j5$+0JAa~S8$-Jcm=s~deOqX&y^-Ag0}Cjsn~X0XM}_zZAC@4P>ZKC z=yoh-AFykr=^PgEtzuCW`rLXu%Yvapfph=<eb|PF!{TJS*NER5AE^9$>B9#wvXPKJ z-MDowMcQ>okQS%c738}@;g@P3%0DZ!F4eucy(FENir@W0O;kt-C#S}~K{{jD#s#EE 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 literal 77702 zcmeFZg;!Kx)IL7c&?y3v1A-zUqom}}h=2pqT~g9Iq(ip?q6kt_qI5`i3yKob4U$qL zG4#Oi@Oj_&kNB<iorTM#&b{Z{efEC#-p_un(MT;-N-}0L2n0g;P)$h(0wI7wAozwP zQ1CaYULo$_H^S!%4|Pev=Ou}46!<f#yPDB+2!z_|>K9(V+!sd(1O|DiB(Lj}zBTKe zXgiL+eTaGVzNo14V42X;v%``G8cf3d77{~PPsacDx4LP@`})M<>VZj{zN9TVZjQgj z=$D5R#(m~Sztz9ykG@S*dPw*V5e)PE2K#AAcZ=HYv&~9ja_MD$y_>m#fu4bZ53ca+ z>;bVoTxL|Stf+8v7Snj-9T-ES5EOOw;e~AIa6o9UJ|(OaFr}*xJrk6M>*_;BK|u1~ zKM_UXh5h$+{7#6%f8PnVf^c4aC8rG@M052WZA&J^|J)J&|8DdDZ1ewrzd8LcF7Omc zFmif&*}Ok=IOu?vTU@!j;JtB_)wEdQD4+9mL}B3|iY@iC{IE!V;SVH;jy@=enjtz` zg|-@(iJEPk*@a{3=Ogdw8ro>3tWC)mW|4)3=5Q-sPOcpJt8k)+a}u)l$QS5_IHs!I zdWWPZDlGJSRL(tJvnWAjIv)Pi2(CFy&UQcQ*j`;k)8^_rqz&*evM8Dk6W5i7yR1FC zNv5JtIK-B5y_dGU3AK9kd5e1``tkB0mbpPJ=RkTFz`cT4tlBRzqfXZqNQ9(C(!S?k znlF6Y6MXQ*+K3^HX3hmC%yY3~k}e1q$hrp}6Pu8p=gw+BM`aL`gCGf3&kOOa-wG$` z``Q$kT#I7uG5I_i)s&IWlMqiiLn4>-^p~%5U`1o#34<ajEiLvP*Yb^+s3<>`G2h-5 zeNRgv;v)qT`d7+sC%Pic;Z{uMgKtnAdygMNBTp3$yc9!Q2WL@c7|fn5lX_HC{`?i1 z_^DBCt<dpWUc9|CU8BwSzG=2BA|fJdvqAjHpUf3^GsZj}(jkWzTJYUSV#srR#oK*F z=O~_wwwst&)A-kDwaeT|8ECbsk6(4HKw7jjRO?Mus*S@73!_wW^Yx1cvEgztPf6a? zVk3zH<r_^~h%B`X4IOTEUb@A`%xVrFBzY=x(H`;vbHrVl1NGg)axVW}eQUp>Ha#~T zsZy@?htGene-!ds*s-{;7bt+u?veu=<1ykD5lO92So|?x^eN!W-T&^OfAu_)+$^L& z7KZZsJ4G}T`<~X7zH$(W@sXYz7xZ9pspsF+wuL*=t8aupEE+^!GR4*q*_F|8aXDRq zuR{U@ADnn~%$F%5_=Tj5ePki*`-(|`=ZQWVo^USAeP5!g;ZkK9ztRBMUbF+a)yU^l zl@Q44F9wOYP|tdbVUcV{=HGusC^`)b6<vSKvnUmo-6^2v*;}g;=rghFHs?`NsxrKS zZWo6y{kf)hb9D-S7VJBS`Wy<4I*AQZdH&m`#=9?aq8NRC^3>;F;A3=!f8`l5!+6oB z$vwdcI<B1d?yF@(iuZXLUX=@w|9#<Sjtg~6<$bSCqX1)g#mOEol!o_JjxfJ4#<Tvl zk2DozKV}v;Kb$|&Jc%QSRg8YQv&ka-6+FR^<&}dwWwrDxQdQwXP5Ztg`Q9%`P;n)Y z{Mq#}K(UuV2d$hYm#LZF79af^PwZ`=zC5ZLF8b7B;*YZdc2&>&BlujHBD5L!5|jkQ zW5VM~N$N|)ga>P)I*(z}^$p2*nCKM41P7BXyuhNR`a|gswpra)?z*yeQwr}%opY9& z621AAImS;mS%Xf(M-)iFmAZV_!R~GEN2_uF-VGYFAo$8UDwKlH9QoFjnHS%oZo9lS zn9Kh?4Q)6%ShU1voBl%|b0mlyAL%$lfw6u0B36+|Gx44Y-b6@-DAIKO-bQ@N)h0WF z!6EAxtKg(JIwPIAdF_=WA|ofua;PO8vq(lxOOBI01-(oxuY8G&{p!{do}_QK6!AoM z);Kq%Uzn*1FzhFpYr`3wvUrmX^osN_^Nhoz%^Ap!tAlOs0Vl(+l8e88+Mc`Fz?<A> z9{il|eTWs)9Bka;@nDIU6GEaqqmKh$V>rx;2~J@%WHu}1lGS^4@hmutoa@;clJVd< z)bsEm`y0|pe((n*)try=hD&#v9kO^gL;nLq6>hrSop)Ey!+dqoQ%x$Gr~lrBA}+T= zx7HRL?&b{f{@ImCHm0l#Z)m6;MpR@V|IGVMd=(Iy_+idNS4(t@tKrHJNqH(nt5}09 zmuVFMi!RduVGDGf%zp(hQw!jj;hwN5i(hu?=iNJBYq~CFUd;wSx@dfve(DmuG7iwg zA<z11@jRoO?WdCQIt7HoB5NbQgfi<UJ7`46;P$hz!r(vF4GluNJ;Q|)8DP5(d7zxh zd8!DFH@!>T38#rwVHxuU5y~4AqQrF%Bc`<Ng(`Cc2T|jaRC(j-4}lcmC~{Wfz-FNz zi}&B4xt8DZT~dI@9CFD}m9yuU_&`w>&dmGc$O3KlFgNvWz#$)i{2ci<a1sPXMmOc< z0Hg^p09dBzL`Y_Qd_pi-n#Vfgfw*CQkxDaNlc2^8$$CoAts=^^r3Vg=6dXEbdN?!b z53?w;@Q_;WTNzsZjhx}ixy*0uLY2m%DdOxX=^4p*X2p<%t^$f8n%9z^w!>dX1cw1E z9MZWmNibKaYNblZ{dC=;(UuWkI0^D5d9x71#>U($XiQsdM(whz`JVqdmJi$a9oUiA z0r<ZN&6FdzL+UN{Ji4GMgtLP~{+d~z!F^fc=Fx`)-Q8hyCrnrq;xqD%$s%xW_+Xde zsjUeBqbbKL`&2^WmSA+zKlv4IGt*~?A&W5^JD0U8@!E1WSAO|law5yKBU-(Xk6)4i zKv6F6Oe;fGENy$!150)mgp^`Pz2nHB4)JMa*%m?C0yrciyIMlMF_w`3JsID7GF?68 z`zcD?bSY25<~HSJyxYl=-?LAFXS!=oxpLQN&!1Uv-umh~=Bw*eq)_Z20j_x7P$21A z^60X@N97&`udOrHrUx+TBfYatHl81B-Kr3MS#xD}EP!o??<Xvz_~KCIfUgNz#rta9 zbehSD2R6{Iz~V<%c^11I^j0i}X9N*5;YAq$MMQaKBj`>tb9gmtp{rD;O8mrNVZjs? z6gxJQCNLwibd!mhIkh&!k>>OsoOy)#jl9&{`(iy>zsk~`i`2K~V#q|{n~<iqB@40d zz()UFPNZdyes8k+LtzX!G{8=$YBD{&1ob>iCY9+>TB^5q)U5nlQJ&JVWTXC*2--SY zk&XB#{UHEKhkjf+T=3rbl{-76MyPTB!8Ou!@WY7*wKIA=O+%Ec=o=ifCR`1?Pi_O? z`mYI~C#h#>YH6DZB+@<H2WfW5fqvJgX=N;1{?9^0{^wz6jHiKAkH=K%9jh|BoRwD~ z2u=(2<ftD=l)JEioLuA538(m^Q&74gefogl_p{I!#Y(>fMi4`CCOUVM*Ir(wj-npR zt81^K{ZxTUR-kVWIuTnliee?MH|;Ol|0mQ#mYYXH&I;H5lGG3wE0+jL2h633DDogO z+*OejY&HBEFf2ClvP&r0bcCADHY1YN=fAW(^pO%j$>gR&Q1$Il%Yylv0aoZ%u(~$% z+GU&(Hv3a@v-+}Uxq}F(*63lNJlaU{0$~-vUb^XrWveiBE}%+@!mk>vY17Fy=ZRH# zSW8L2g8m`P<4J0Ot7!vnF=7G&V??w*{4)i6?5S@r{_`FWOD5>=zX$0?Z{&yKQ{I=G zm)zRO>uwrg!Sel8B~XU!vlFzXpMiXyGk1lIan;jm<)(K*9RSYch2-}2f*)t=)d7?n z4|=ogI+(bUr_ZVxDd{%}6mgsSt@}xrVpq#bfn}>4_V_+gup^f6_kkk-I9Aqvqj3wA zma8)nx7SZ>ef~UGoFy@Vz3mx}KSF(>q<`A$ZdSX3VFeb$US$qJ^+pssI3y4N*7v%W zc0b>qlTXFNJC!T9IfiYRS3+ZAQ*TezP)^rKZEW-d56rm2#+u$0;yrci+@iP($#^wx zkk4f8?<h9QOYI&m`Am~OD!#_KVUFgdRmd_F=zvr3#{B+T<ll%^nkWj(m$|Z*PLWE; z+y9O6BCCuZg`;_)K1VT53Ow6->12LoCW|sS`#TEAZw0ei|5-#ui$S#XtxkBIAYAZ2 zYrl~uP5T^edN<NgK&;Fla?8oIL_fRGsZ%mu{}iRLy%sG=As^&QGMpu#(L*O@b>8gg zr9qBDxs4$z46;8Nm*g0i_-PugxNIi7-Af#VT^)k&If{J`(-w=DB>ga{?<ol<O?(gS zt8Piz8&p3ux?!w0X=(cL0u8J8{b#iZx<SSgH?A?hWV*<xrs(`2{sbUcl__Wk622G( z*SA9D89p?Yz5=FE;u_lfG^O5ZkAQMc9A{3KbMR}|b{w!{#6DF!Wz``Kj`S(%aXq8X zp9w(-Fgss?Y*~Nq(8D2=+48=xVG@zqIEd}l?fb*OmZ*Pxub4MTB3|*$s+U+AoKp7< zFb;p~#mwuJTC=dm>HmJv69jlw$oF?SPmMImf3C2feC@yaUfs9x+YA1v8*c(;+y*7o zvb6r8hd&0$J&tAOJynbjJV}yEOzc}x_D0!*9ngav@FV|2)EMvIzfo*|Uo;5a{_@@v z^`d@Z^EwEh*bb38vma~uLmH&+Ha65J($)XDhDa}fNBs}~7d>3ev3}E=ho{^kQMaoD zeil|e&$MDg(pBI5iJ6C^slFp}9GO7{5Omnk;5~)V2B>@m%0pzF<Iui^q4kY4m+7k% z;KCAN1<TM<92QyjtZzBmT+dsnA$%3(=Y~|!MiVG6d=v1>?cYIQSa^+-!WFXNLQx=w z6tW>b9_3!!Q|!2dDmri~g3n`_NyYf!Lhse#n%7c4a{`<A4<213KB!9nhtp^t)Pg(J z2)Y+RV`d}Xf^rev+8X>P^Za|}!mRgv_jt=;HC3RsaWr_qq=N1d-(Jz4XeDd&O8G3@ zQ-xX9XPsqIRP^(tHD<U}yuagU^`xi1w|y@?$x?-W8kBW%X$14WHqjKSwJ`?SMBHo^ z*Q0ltqAS1v&Xob(RP`0~6M~A{BfcL#M}yjY90lBt=2bU7$CjAXcQQ_-?~YXd`S83v zn_2ksS}O&*?+_7Rk`O?6PgxsO!DQi}Ogp&PnOC`1R}mJM&7I!C5CwI7_G}|ltFb}6 z=#JyT#~*9^AkC1i66ZV(#S3$|kudz{VnJKZ@IBFL+|pHDudGe)#*k;xvu)pUg3mW_ zPMLEgjeqv%2K~jKqlAkeZVD_W!?iYsWS+k1P4`pOxL42paSMnYHGMh6dJhy&iC^9@ z(CyUMbo&L$Z3IEvmhKX=a*}5#V7>G$7A<9N{PD_ic)lppow(omnUNs!LD89^Dw%Ou z8YTG2;!!!X7B)>UG4NQBiJ0o<?q8ucLB@p3(0P@UMhn%AwaZQAS+@_#mM2m__+vse zZV@PJTN;g}k0ZxXyfOI0BA`4nrlL6y4r?4iGKK$@xlv=pZ}~UQF&i4Qcg`jBK^k{3 zd>lJ}OgZDXSrXN=1bo20KfQgd#6%Ix{KN;?pAsH;vmLk%XIGOs8z}Dko`T{Y6ny^` z_jHBt!Y)5OWA`P>d82&3IDiKk@u91DEEE3Q;_}|sBl~Q(i3TOr$+Y%&|3R9$s;_TH za(G6`$biGBMYVHPVo0{_3fb^8wr}kLAHo-__ao`R15DS{>Uv}5nveIATVLN)jaztc zVBS75LVvL}a6xhN=1qwg>oinsl3_g@fvnVW=l^srndo&ua1!*kisqOy^CUk!DZ4Nz z(gS-1U<F(zzDMe=D}@uZ>m>%YE{=&1tC>18UT(9}{dgwEHxS5Jka;%lGVk^QDsur_ z$M6c(%Iqjr7A0+Og>~Mt=`;B-cV>0{n`BCPi|bz9vi-Lf^jW#vyey>6UUvV+%iUKN zU7t16{*9TqEtb^Ib%?j@Qi7GCG)^(VquNCH;YXQjI23z=8sV<b%XZ25JnqM?uAIbY zKO@y%9x|?;H|97-&F#W|Tpo+NKO)MHZlCnXYpJjimoI0_06Rb`$S?R8qOH)Ssn@gJ zrm9FEOYahX^!Y=I*^FBv^mP!qVicia{}q$_A(82L-`Dod*Y>irvwbOxC22<}qEP1~ zkhY2E4s$LyYv*G3s9Q)ko5yKo&cD~}1Qs+TJ^IBg1ufCzbsX(|t-SN9b1lEV+<cOH z`WeI6TESoazY1AMUf8?uKhJ9676&<bphu$j1fVfyk)4Es?bYD&_epZ7qtL5_Rj9P= zTf_UVxu1pMH5f%~MlvG>?2$}9D2+fRIqEcO;(A@lrl;FswD+gnqd$SOD>_0w9!<!v zBLkw^Upgcwh?6dai_MEJxWg5K(Flhj@L&psvnnAMlGKnnSM}x*j36h^+174ECCA$e zj8@{sY5d}9C31Mbtd1yqG)wu=;Ld+dG<*C_hF5|UE)oI+*>>4o7Ryv^)3n5hPOhVJ z%8wy5-~8~|2Rb^uG^|bp3@Hxrvb6vZh9jk732`VQP{aXViS3vFFN=}c_%lX@wv?1G zDJdfKX58mmVXrM>dZMx2o8Z6@eP>$+!)<oX(<&8)2OF+*(Mki%(7P+JhuVn``i=qm zfHquLFQallsnx?eH<gY|e**f|N{Stpo_()4RmR{yng>c_ECQv;q1ip!hqzL#o}Z(L z8cIQ8k{?Iug6>on`u7uG{OE%~GKevhMl>a&#h0bn1|z_P2>D~-T0L>W_p3^BGIFuH zgqjDkdcEExNmMAY{Bu}-wf>`wB;#BgK89EBX33Ar|HqhFfZf6AB&nc?BCH5KbI7cr zT`e!EHhPakq)cx#x+$Kdw1$^!@T%-L!~_VsygmABaRG%yE8!10h$Iq3!g^DvZfKlq z{<P&Sa7*t+e*GG@i(R=_{bkbLF&l}vpR)Dc?snDJe{70XVN)gh`MP}I2a-zt;*5>% zv^x#2{w3Aa=`ZrRxrr9W6%3l~u>KvqW_$Z+@fT<OXzMQz5oTp+c8pJo_6H|~-}m|4 zPqK-}&(tS=H3xPa%!KdC^xHUDRPL+GW~zdQX4F3xN&wO#-R`(A<b(JUpo?-x5w)4W zj!tJM22f@a92SU!YjPC}E~BF?S)cBgYjIFY2lc-BFtFy|@M|~g?*V$S*u%QWb;r~0 zDUHHI!#Mup&<QwM-?LT5Z#MX;N05hK)-c9uRd3#VuW}n(-!}x2Ox!Unr?BB)_gza- zSAB5P4iQGv*7GGu9nY}&y1El#Oio+fQ}L}Qs=+-b^KNBvwX;UN#!Xs{^?hq|sM+8& ztVuz~A#?b>{P5imL94<rPx86)<{J6{fL(aIj34@__W`j1I!KLS(--p3TkY?hesA`~ zgJhKynS`MBPz!scZBh7)@rtZ|tYEd%nr3)>6MpRnw+Z1-$;&kjrJD-lsEHajpJPME z+ecmv^?fOzI<QJzZ8EFvkbd%&u9}T59P-1Lx1N+YPashpFGi2ZlqCp1n+3s5MavPQ z7OOx}f`8zSo%pM7IA0qZ$DiEi0S%J`G}(x~=Yp*f!`_KBy>g0ox0<<C^7OiwXE+*} zY<VXJ{~qePx-=;d%7$MxA+t0*-o+cTS%c?x3Gumn5Y;G4u#_|lft>yHP&%9)IuB@+ zFz@jIOqHckQth-MZZFH+uv8S*tk0otYnV*Qo+heQEaZt9Ux+KSN{$gmmSu!WqVQsj zB7*R{hG}+1W=2S|HXwxb(}aaj^CyRqTe&nb_zC7j-Y?0!CT=0zFd>?T-f3i;XZd=x zlHP4OSJ91)Hl21gN-~gwJ@&f5Yi{*06JSsjU@-AOU+Y@Fp1-uYN(Jq2A@3S)J7q)a zUbj9%w{6ZtWo3y_om%<1MOK+E><CF&22SMNWbFdotip}-(!ISx|5gDJ#Hvp2$+_}Q zTgU7Su9Ca2In94P@GfW8Ptyp$6N!--?l9VLsTxviTeORv;<I~7wD|c9+5P6h_tB(N zf5n4@F>Pkgg=er*K@MDXnYle3#|_oSA>Hh-5mEpPvJPWvNNswd*T>#E_bCXXm2!$C z<K;8)hQwyK(3*yNmK${CI4a)p&JS;YB8unm)6XE*vtsKe-fgn}IV)(PRiDjQ7d914 ze|C@4-|b}Wh}5KuPEopMyYBo_`0n|4mHk`MI<{3<-3x!C{w9)q*nPOj64S(J{X!<I z%6C^;JIIi1XUe5*$^}tPh~03^=g184TcMvpO)t96G%xHGmpAuYojW^<ns9r!a~TVO z9kahhvETO**<91+rI#$+cX)~<h@!a*M^jF1XV&d@7d(OxmOBm4u(-_;o1TfmQKYAu zQdTWEt{I(dE6khj^e(m@`3ge{%^^9ge$lt+tyOk-CI0pdZT_{jh0iKh7+)G|AI+m9 z7R|QVCXSs5Go%n(*{?#4^w8(S?Nh&t8wNt*5h8b-@jhMO2~o}fY|ch7sJl<gI*gM< z?HvcyKQG(iO^1lJ?0jRqEd)_4${G>OMe20Y{JppE!*Si@h(MuD)|)P2wib0T5t}OY zBQ+$;UH_@$NMwvk?6t{X&9zl2eS-t7<cPMG6|JaIlQp8y9geP`MqiE@QE^47eX4_N zWo>NDkhLT!r!=E5Q>IYuq8o1%vV%mQ`O&}}yFrt<p#XY_r#;Rm^0Ly>GyCn2Xc{fC zPocIOd=Nx4J0i?IIE9}k&FkjbZ<F$U<=4_aj8zlZ_Rgua;CF6_SzqyypS)X@x0#_d zm!7pMa*?fvxBe&J9j6lRvOY&PiWrM(IgkD_gT94Ru`2GHd$M&2HN9FtAgaq{S(te# zMH7uZx|d5T(YO;Xg`x#cnAN(EmXO+s=q-lQ>~I~FvpwMtSHPRDaWUEG%);ve(VuOH zVh;dW_`$SQs@=R695<z1P<Fd3<so7?+fL<Kppe~SVxPp``%5-qp(aX5l#6ks;^n_c zHRoyk;yJSPmjoZ`ATE7g6KjtJHx~aVVVb{F;-W2F5w&9NE!ExjdY&wmYm`JZU6b6D z=AS>O_@3)vNeDlWwa|o0!K}6UsFGbUsv@?0*k(|xiEKM`ZNc>cl3(Xbji4?;2an-M z^uKgeG&D>=zf`}d+-16vY~#}1i<S7~<=nKFw}S&ofi7Q_f%^1Nnfpz<TR}hb4V>d< z2xZT4n44$cv}aDSm)E>o_cZf&ndV;pNw(7JN8HP4`^Rj#hkx*Edcjnd*eYdzr}o0f zY+Sj*Q0Z<m0p!!LBSw_8QNDqzVdgu+nh6RzHo9oSx8J#gjPEs;Zq8{u1Y;EN<pN!W zJe`!`pcgzy&ufG8XlS|Ma_ua+|I24ti=Ee^J15T|Gn7)<8B+M$Bb$iX{xB<=F{2v= zlXM`OHk6JBnv^&>$$u7&7S`Tv(!SYlT@mFhM&9EA$czN7FU>_?aONGun2&TgQrNq; ze|#9s<eEk2dwaRI(!k3!rocVUPlwxW+mA0>-TAJkA9GyPPQ~iG;M<ic%-3CaXPsai zsFGd<d^Nb|f6W41L}WyJF;LFDwR>hw{YD)X^9i$4s@UyBzyg9nPJSWTII21C13zaX z@4K~Z^gmW5Ym%{x$i=S6BrnU7eD_+`pk^FA@%uhp_9dQsah}viyx$wm-(7qPo`57r z{-#gR_TQVnlJmt*x!w}}BG7U4+TPz!B|SVNoEd=pu7$b^U!&=?nVWxnc_IF0s)Cea zMuzAAv;dne2S%7@L#U#PCGShY((^Spo5PjbU_BPRMTJp9n%GX+ai1GWH28oSduEvY z-FB)F3)@IazadINP+?fSjpUNEhdxNmPkxM$+a>EN)O0_TrYZd6cCUq~e~vgi$u2<_ z=Ty??rxu2Sewy?k<zzzS+kjmQ_GY+)MlyzAGc?jMwb!n44(9FS<70kFawm#wHQ=vm z9c>)JJ*kynLG*DMT|cGl%dtgr&ut!#p{_Q}edOGk5_rUs-SrmXMEGOt`g)pc1o~n* zefr0^CPOwgB_(Hy23415Q8{_vf&(%zGBy0I8aKY4UbE4dN_H1&Rv9-F+^VmDkhzqt zs>HMzwO;G5X@rQroHlxu?V;;6OFdfJalBxZWo*2m$ZWVpppfxr@<TpeeZ;iIns)2V zj~W-ime7+C<rhwk!Mq2PEwQO-8BkMVCiYMo{N&5w@$4@)Oo1B}zO{O~*Tr$(tsw>W z<_bF{)IkZ@wu7EQ@mc(}4#%j?&`Ln0O->rQNiARX7BVnN(O$f_9S<YGc0&vWB0xh3 zegN$xln5q3R};)lhx#*f+?mJ2xlFMAqq|kFR2QA+sJ%B!_BUiY=*;mD-1mFuJ;fIq z2IY=vk%D)zoRl*ZBuJBx_up+pWVwx@paFOZ2usIQ&Ctl!50fY}z?MEhu|F!9e^l;= zp5Hl8+7689ftfNIw44wWqaCP65_ThME%r}TX{W!kGhX~F3mQTN=>?0mKyyqLus@V- zD~&*J20R&%dYHP-V%d=}oKL}}?NXOrHetRQ1mFav;==_zrHJ^xo<(OF!%c+jT4v{s ziCG7_!<NVR3W&>v2mN7HgX_;9-fg$0l|+T$g^`GFNXK+@+1c4GNW?KppA#tgqRbeC z?eC{3i(Xs4eo#L%`F%?7_W|6~t%Z7jib6kd4@TeY5nPw!IPq^K^V_If0Cf@zkuIB) z260x_i;ea4l>7jy<&#tGo4A()CyEcH*;N5~&y|1x(<?FEH&;B}sOVLDV68qsS9#?c z=7KM0UQD++du+;ZRB&%KQ;*sy#K{tWc+VsEx!f$w;czY?jkg@sa_tZW{!|L~&yF1; znq{@B=znhjxwql>rTb@S6Je2%FiiLz@^@#@XPdo7xd_=r#A-iIu+<(X^pd^9!+oVy zn(}rtnX4;4lLa|$Dz9ZgNpQ3c=1f3GMm(9x%^b@GGEssWEJ4jDSSi3ukMH`G8+`th zoUPRSf?_I<deOQ0`cA{Ppc_lgQH8hke>=smA;L|><N06I%<&slu119`SoIgP4q3y4 z24hx);ND<>{t67vNkID19DeiNwt>&i4wBNBkrL+F3_<Vt4_J+6OuLG3J9B;YqtA^; z<1@A%9_8Os$zrspnf%K3=XZ*)R2=0W4do*FDcFTHAY{xL>uq%dWKZnXbB6L6`!^LI z=IQLp5;N{sf&wSZ>jEv2cGzLoTKRXoWAFU<m(*t;=EIM~LF%+qkwRlm!%6EOIv7S$ z@6eM8AijW+_h8JD8}~Xj`-KrTC~JA?-}J4(!oaLb1&}!SWY`E{DI%0D#n^}d878A` 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 Foe_Ed?V&|~wD`I2G9@-Jp1 z`Rs^f?H?@@#HV4c`|@pywg*(_=kc76)JyPN!dx~Pd>|L+k22bp>hy0q8JDLkVQvEw zE604aQ4<+i8%#hXuwheAtN?R73BKqonfOdJP&3-birEPEKjee=U$Os%RSQ1ZL=#BN zz*YeHP_3~$uL3SzJJ{{T2AfKs%i|_3LZya^p6$z=*pKA(F8jiX3R*As6Uc_&q5Li` zT?T7AH=U?fQTUQ`$iulJ%9=v-3RrZalD91nDnewFFQ2@7jaZEvGv-{-X1>Jes4t!? zY^g{3>8L$#Lf?x_<ct9^5f)^eoYHq%|9D`Y33*1!%{-$XVNDU;j4!h;E~Z0?CePsR zR)n~_l88~j;Z}ioygrTAw<FtWvp$;YQ6#U16|YE)P#_XQp|^ZfkNd!k#_yEAX(teD zV~oZLyB-q_0MuQLR+w482y4oq>RcUgzo5&{OmZ+XO95MkB>2W|1eM1ZUaUW9!~h8g z?>{tXXqCum>;&eshH}%Kb%()NLb*m%jqIs`W(=ZMnp}t!giK7&D`F4w@L4n$Ezl;O z=uC3i$?UDp?`;8>$B(lI;(ZS9Qcu^`!}V%ZZRVEHwAoXn0WW$Poh)N6eo)N@_`t_2 z0E439$`XSSx?k!{7DVmoj1zxnhc)V^)KEJv&@$UhuYdGhpsr&cSk^XM(K~akJ(0u* z=MkdCh;h8H0rh@cQfEVv=+CR*Q_!+WQ2D;ot165Or^+Bp=4KHg$~8JhiO>Y%uHBJ9 zeAEEb)cSOU$^HrZk`NUG!Y7ckuUYSN@*$x0VJ!CyE0nLETUAuwV!O$vxJ){?f312$ zcvoK++?iGJ;A+?Z*Nc7Yh>I<m(}-4II$@FnC3e4GAjPrw(w~Rn!+%%1Be!P{3$P7L zekLO8Mtvy6v;;QHMDw6U0ig0el&$y35IVnfKLhoUQx57Vva(OZ+W~I7cQk1$PxrZx zh`x_j1JqKk6OJzSvgM3+m~7CW;gt!yFLbx*sWD{m576%=BqhQm$YBCMyEYWKKj!t< z93%c+wq>IAG3fX;hN20ED)O|>5=6}QQ_g9g-@6;D&W+Af*`@nns)bg2TAqW4*dqlK z(!)X!TtgEzKxQKMngur5R?>I*7SX1|s+~8s`-vG^2{i#!UC2w%hd9v4FsKnXB*F)9 z0uVs?P;C@(a*-ex=E7ZQQW$ly9B}{iw^YwSXMwJ82jL0)vEQxF27l$t_`6*%=}xC) z4?-tc9u^bz)1`cw-&VEYPsSoJChl$*)A@{OH@ZRhNlbLCm~|c|fSJjm^D+=bEZF}F z$3QaubgFQ1a%Pbg+xwpaKMcRg7?okbD%iFIW~{&lo>kirAqeLYX*+H~35ma)9_l;g zZ-ncfj{eL-uD|r2mblJzeLl*e%+&Hat{KXP2GfXW<62a(6-GhSDAn7>IOMgN7NVkO zi6TO2B7m3z6?TaVVr*ee1!Z3sJ>5Q>$vhVW1MRD6Y%E!4|6Tb8kK5{AALfPK1R_iu zm)CsP_}qrxPPa#MCVlXNBOMB~(Ko#x22w}Oh$>v4NM|2%>pwO)e;%~LyfJNDFA4z8 znneC@7ve^6^u&2liNz-69ODR8yi{H(9aD;xVN4DoSB>%f2!^x>M=nN8SrF!2)PO#R zA!ZC7h#X-n9)`L9yGO$5@4xJWr+lmZoLp%s7R2qH4@Dg?HF#m<?PFH(C*T;n2^?>) z1~RVMmB~KAdt|^YBn%VbY}fw96sZGnPAC|4(jcOP{x7;Mm6#tx(P7?KEy%K^X(uPt z6%chKh*rzZjH=^~^l8NkTrvzH30l9Mkjnd3-Xj{S5>F7zT$D`cZcVvyUA^6NbZr`K zAlSdP$a5fQ@yR)V>#v1<A@~}I6{j3Dh3z%E;!$|a2i&~Taouw>D`o(Wmb_cbs-hNQ zm<5i=%PFM;Dz8R{Z^uqG4Qm@GIT<->FTZcn016bhu?^Bq%wnr29eDI2G_)=&;dFKB zUi*3xyjz_|A}hKMuT6;4#PypED;_V>bRUGsRsY$%c$jKqA=vsTaOowrxq<PQ0y`H; zSAz{yz`HZbpk*B22{>yQkfsPG45-mx_}y)?ze#`z(xSgXQ#f^7ZvsvYjQAGL4>7*B zHiZ6xWe>XAU+$oQ=HVQ!`H7=h6SX3ysfUN_K|hGyI~vAl>z8io%hSa$PNi|~#<*me zf-9$tvdCvg7H~aww8Z73H+%d3MzzL26j5ogHmbA~$Zcfs2Q9i&BoWF;afbLq4K|4~ z1%>cJ@-t|#0kYXITB42TR83}9Z`Y=Js8wLChZ%@Z!1G!0t`Vu_gl$<?&{vAkan0G_ z93kUr_8mB~oMq6qojht7@6?p$!tD!Uz5(7N8p;d@Fuq8fbD@e#?#_aZNinu~@D>6R zdc671uQcLj6`y%19bZ}k6{WXSO@)~wea0(G10?N2KinJtEg=;`g*-+1lY`6cf^Thr z0ao!@-rGrDjSXJp=XG;6`<rM}y(#fK0Ttu;r<}1CoD5aYNevX2uE#I4v+LE;z1zTT z2@J$Y;TcNftv9ueS~~5uzr@n@&R~T9kz!-i|K`5B*d!j;YaQH9`$>nKh9r*jLLGsl z@~Yaz3Z4Qw{P!1f12%z7<0j$$q%PuCUJ_~&=^Uzl3w(Y>w=K3(-M)rEUy5dhlhV?? zFX1Md+zdi;ijI0QeKm&wO!wm3;gtRVfC-Rvdct6%HdOA<vWQ(<d)#C$HC13U9DHaU zkpDU^Ii~W9mTq_Uud{(75La>eWp|Frc3r)1z^|TADU(Ox5JWrGlaXS52BtLBq-rVH za9yHd1Ie;L96ve%4Wltzn%?WE>iAHw`A#cQv-_nn8=(-?PIOWla#A;*(}0EsUbnc# z+U2DKP?(d%hBB5p>$da6|6EJztsmvZPltNuHrD&G%|*@Bm7%_I@Z~)~#i$rjo3OO= zPhLLRm;EfHZX`g+#mNKrifN$oB%T$bJ{A#0T$WqH_q^`Q`J=LkYB-nqP2dkhq&Y~G z?^pl!?cOs2<Ig507K{|UaOo&25HkC-&Ya1nI^)qRzJM*^m`#2Q16E2j17j<^zs(PW zKm)|z^6v#HatP@>B`D%6%><ZOIBXqmzbCvMgL(Pzwg;983Zo4aoBOH7dQM)p#Lm7m zBd?|p$tssy`7}J6{Et=rrRN`=N1nD!Ww)Q1vfv}BR>Y=`#`5B>BRV_`fDI<jRbfbv zLmDAp#$Fr0-8Sevp8K4KN4`wZyV(z@r9tk6D<u-B8m1<@8hC_MzVrtXmwl021(~#5 zmL)<}Y4?eK>O<oUF#xt?0F<LIN|P>vcHX1+;9&aB;1HQ{4O$Kr#AvJmSvKxkaCD&s zP*4F>EPxJmT0yJZT<lP*ZZIP6D#HwS`>DxI@{SXyp4W|->89)0Y@^v|Nm}*M+7b%U z<$W>A=fMxYC<2!ATI7Fi<)+6|<HkiqL&XsdORVQg>;*F5g$Tx|!uEqC4B+QlaLmga zEXv2<#&3MS*%L4kuqS>Z`e>wy)1`0!xsBbLFt0_*Ps5OGi#!Vly&A!TVYw6qDk30* z=d+&!Vlq5blg`qP`#B1%D|HP6E<%2UcuUCl^XN@)cAdoFNYq5Inc`)FG26FiDuBMa za>6y<u#sHmzq=wv6cO-me4D;|;V*KyRVu5qcW-((Cdxmg_dF|{&?3}%SLH_qY4dya zWQJT67@Q$x?Yj9LQ#)WY;TP3y6Sp22xkQQ#QnUPIk;Y?-UTajS!Ul%GAPm531SAdA z=i*AOhxXl~Vw4NdriDo}-B&q4=5TGr%+;8Z3i_&w?TgJ-G0p3$L%G9hQKlQHssk#0 zsdn?ZGXb*@)f^IMAqVrhsDd1+GCEj@rAOh2mi#ToyjLivs5XM*xCy!HOQ0>GF`Eej zrq%b^kbeMNf;<|G($aMG)FO6!pOwB_hqP2Ca#^n1H)Jcq=~?$N??H8-;!pbi<`qB_ zs91AJ%N-HhC!mE`wc33?;a0IOcQ7xP?c^vz6cPR}E)j>^eY;p>1q2<LQQH894-l4t zwIIvVx@a&M0~3z7em+?->rb$)R(w)~IDU_ADehNkpM<Jig6`qQDHQ#_9!iHy3soZj zeJJs&Ga|rGG?wVDl8>lXzB!@6briI+24|6<;E;>r))5Di$+0f)A??%54<A;DRC1g@ zENTd0S*Z>h3s~5f3TONznU&dh(P0RT8!IbD>Ta+N8~6sWvb1YO87wg6joS!IIPlV} zrN4vW-pBp69*jSMicLV-yt2xn`zA;!o4wurVaDZ`6i*bx2uxrX??j)J^3GLp<Xbfo zq4`BdxsBAfW6rc=ET$qaC<Ys$$hLViI#_|%do#>0Q|7a@UB_QJ{#`f@SOlj@Od>M8 zcZPTJ229=FzjoN;@lt%ZQ7^3z3a>Fq4fLh<QQx*0fUe=8*Uq`_eDOX`&1L<e&pGhN zCKCrNmy7X!vQ(r$3nfe$hQ^79nI_JqyMSKT@b=}33i;_6n;wrOtGa?6tg&YMCoC%; zv2=Uook7)La7*Igh}(lLqI6IW_w#pJ94|Xr%0$4^XC*?E3@!CGlQ23`8_$s)Bju|} z<lHSB<0qrF{`lQLi;4MINKAD)$1^>Rj&dFIj3eonZ#z3c5s3M(OyStw`>er0{|nj> z>?$<0Qp><0FQz)TL>QVzW%qV<Zh#z9d-<HbFBzKm@@U4iaVzD0gvwphplbM1Vny?O z*1Y*Q%{Y*o{MX3}8TsGZSM7u}YkblUKHdqf6064>d#<X5Nbsrdv;*^egB<F<hWT`v zi6*ws7$a8IL}-=*=C9%i$_OZctDxIb>~NCaJ#Hb7xGn=#fdxvGHk_g<E#1nXoX}_Z z<Y+rNX0F{`m2Pb%J%z>+c~qf^kW8__;#R>7lEbWByI5&sPm{wy49;Xa`1s{ND&&~s zj`>bMGwg@~(L{qCA|c;!ZPfaCwv*~wgU$HM88!aXc-^0uThgmWVXTKPB(r8CJ<g6- zdYuO!rYQD-&ISjU%D<b>)LyH-a!GB+b@Wcj76}|CSSd+*&8<mMJTn~O1KUm^b-Ss) zSrxs$8rIWR0wf&;Z6E+pzJErDjZKuHni3%4XdFv6{Us(ymm<N?Vu?Hd+rF8$ahqk` z8}N<41Xdo*Ts(Pmdka+}0dom<JeN&%IoCgh#rGMJOz_nS3k%leKU1?wT3~nDK+UDz zhtBCn12LDAVyHEqx0cIbaJ)$xV3P2oLaTB7h!Pl_!2fHGcnU-Hfs|%S=tYI-<++oN zutxwM3$fA6eC^G4I6ZHVI_CBZUH2+P5G3An6Q1vbzMtLgu+kO?Mk^LAw`ekmQm>qw z+(ezx&_Oarxl!qlR{YiSnzZpg&1&@U*{#yP!O^Vn_ks%D7plarT}MVMi^-(UQ&#}c z0{jIU^T?zzZhaFgmjNuoSTtR_zOhw6G>I$4Si##}z`bpac3-wX2uX}BMG^?**!&)r zd{-Y*tYeXOWqkLSAnk+AbWW>>vW_SEk0b(vvdnG0kJtN;XKo#lc{C?0&53PZ_g7i> zt)X6L%~Qvx8!Wj09@sotjErI7q0bk7jKkI7aG^US#>s%{TjtB+Is3)jxx-VJ-p+B+ ze63f;@PN>)sF#)buo-*GIGI~Thr#HZQbuGvnsEIl2FoWAhREL~wK8oE<4H0=jwFfQ z_bOyChK!5zo`+@@f2A7E8{efI@=!r6vrW2g7!$9gQv(n@G-O~rRd$ThkAWdsWpe$Q z$Tr59O`2i<F_lUPjvRyfc?GXf#I549S%uQiBduNMx1>akOoY#9#bssNKS*E5NMANS zJYIwfk4g$ZDczl~Pgqs8^_Nw(4>xwa+6VyV+9E_a(f_-mj);}cP$M2w*JgV5uNjN? z#kaOpW8O~eFa=%W?am)eLM%})K9HX2U-MmtsQS>8^qm}kUUEA}*>1fl3|>z%{5E1d z)B49CFN5v9O)ZBBt)OUuEfsIupEJ?B^NLP6-GoDgs^BpU`Y~DZ2yy^_1F~i1F|gE^ zrn3R(R|-=pQCnecE>*+y41<;_e*@r~o^j2}ctU3apLyiOj^?7YKT@4b8$F<t=_T5{ zHZXGdl1(qih!d%#r8N=&{ej1RL*(te;G}QY{`hL%U6gM{8EXwMrAMrW$UwQ^#vjmj z#2)IHV*o<P8}BpL@wXyj3i8K?d7JEwHPq96pL1JLRS<dnAj)$ukC$!yM(qFN0uWgf zdYtaj`o&V(tnpYm*c~u1Rajn~w}>=AsiAYZew4vZPXWI<^R;b&-X3XIirAAfnLgmK z#iq6J;YK7Z0Yaj@-<bfK@I@)?OMcU;t+<kSl1)SXL94H3!N9JGywBs#kDnuN8K><f z$9z*#Fke(J<-<_HA??+@CBCrl7v~f5Siip5mpLwRe{Bym=gONph>||A+pS&w$o=o< zvqg~6iD<+SYjrGB2HcX@KnJ4Tc3Jy#dJoXOn3B9}j)dKkzR|*v=K5K+zxyv)4tsdY zPSkmRmKyUTcHiL_Pmpxp?T){!8<m_iJl9X}`TtDNU`W2F8%yaG#@#i>N(yW)y%^o2 zOj~R7DY%cHI5%@P4g&t;JoxK&y~Z~?d)rCLdTyDSl@zI=k|3)AsiN?po+fO{byfaf z0f|0{ujshZ0my_IHy*M_YskATeriuEOvYTOVK!g|Y=+Rh|M&@}&9*B^AQ8l#05b59 zw(7nc`|pr`_c!i0jP_R^gNl%~>{mhGs}3PKtvaslR-}DvGd8?^g`D=&H`?r(nSV@Z zLq#*hs#LhXL_g-NWP91YpT39%OrWn(mp0&WYF)w*rJvI+k*}{>0ovGEz>mUyOGk5) zz`)%ch%#mV^H1JJ)?mP4DJNdca_iDL<&JzVHm&x7nt_b62bCDlg0X$x#DKZ>&LU?p zK<}xb%rJga%gwCXUHXrP{FULq%bURre*R{i9=k8qud+z8a;BlQ^sztCDV`wmYK8iZ z<eDB5VgkNdd;Yd^UDPq^wV*ooMEp5*xed(Y2XzBFi{>x#J}XGXv4B21A_}ILLnjOW zgH#0uffGHBTz}FB7r4BK3h0c$>uDrMI#m67KuOC`&Y~r`Z<sHq{SA1ABZMhh`056# z(Wy6rk9w+$>uKqANcURd-BwE+^4;6pVF}`7crY;IsKc402_;t=);7|)L-gMgybEZH zc*k5I(f>c?FzSB^0fTHrht91=?)-4`(j6eXsnBsAuO#NPX1y|JQ(Pzci78OyFMA0; z3q4x3TDgtn`3d{nVE+!m`Q1NsPUVuZAM^c0lNkexoQxiRddJd@oMPsHGe8=;J(Hw2 zSdO`(?4No7m-DW9I>RzK@URULF@usIB;M{OHGfh}IYK)@+b(WuN(rECwA24#ShChk z+SpJfEqYqD{+^U&_PY@$*#!M#=zDm$A9%@wHCA*K4)Jp?aH}r;jOyRrKK<Oj71G0K z`6sHu`S0Q~l^L&ae(zYfJuy4eb2<)}H=&jW;=|fZgS_wtRr$fX@kzTc_?)~Z>g{&D z{)$X@vmJM(3wL;;Szbj|d>nO>WMso{vMYiYboko#c<<Z;vaxuWL!P1iG7(b{rKRy* zT?tEo1Qpo59<lkXW<;4$w3{$*0|u5wZ{K<rxl1GW47xcp-IQXD$dWf}ySM2A`?w?W zc3_o7IF}ZG?v3dN=a^0@yKFbNY5&ZKixnr=D3k`0V;GauPH7;@$)S|ew$2)&%x;5S zj=(+#aSw|WRpR3d^@sl>_?Yp+NR<pDGxhOgRTT}~)C^R`UY$@2MIMJ&<>S#x+^-F^ z3%}u^o}7N4<~oqng<}8VH2}2y@nK^~1B_=YbQl-#i=ISSdT*~%<orcBW*&VzhSmRd z%&1263>8{OaH$`W%$S&^4dyC{`Ysa8Nl<BZsBxk(kmYf7%qxb`6v8r3oVL{&1DCG| z7Iqy^cL38uorNJhxB&gIV}qobS6fk%NE=2z%W$#E!f&<<R?WoBsjJW!k$wNjD9h2j z0Utkd|M++CvSjZ3cQi&HB2N!ly*<LzA;-91+aZit^kO?U_ty=IZ-|UqU|Y}jW*=ZW z^i(!MX15rCS3GPt!mY=4S!_RX7mik-LS#whBttI!F2i5V^SvWGdDYhy#`-^%Vuz`R zsaT%Uj#yl>qX-Fy|MBIoiI25u<{uXEhIVEpf(X;6#g)lJtLRqdlNh8qi)6Z3kl8{4 z7WVf?<6_sU<-F><TKYNioOqKM*?&QRJ$8C*OI^8mt-*HDACrbF@B-`6952s!f0(r& z$^O`Xe%!QsBNb&92#*kXIdgLy$o38DcPWctvjaD<Dv<UO9Q9nELE`+*4`4H91i46C z^|~1qPxu8{DPic-F~0U9*Os-Cn9lUAD$5)*B|na{?|1oK%h@IKWTzN=-ruD;`WR~h zWMGU-9+}TcywX9$Hhj!_lRS>9CT@~Pj270%EehWk&~*?cpGw0H$+a@Rl_OSYCzUzg z`v2U{EZqJ#Yy0;RQM4j}6>0M6nt4<#wW>%Ga;TdH`K7q+_vQs7j$7l_8u}M<LNV(y zkL$M8Ab%7ZyM3eqjQl_P*QAbd>vAkDQ&yK48Ty8NOhy>~{Vx0vBi)(|{tCH=spA7E zMG+7X`}c8LYugU9TIWxvPRJ(EzZb|(={>#%tP>>o1Pf;Csle8D@|RD$)`L_1g}d@H zdKMI{i9=}7;?=Ne6hBa;@;ckcXKO=$t3uKHlozsRNI79l5=Z=3xnwEt{j0?(oe<)> zvq%y^oA=Mxlrlx%Xaocj<gRqijTX+^vRh(21xO~M)-|Uy6-jzej=S!WNI#GnEqfn+ zpo$<QY0K}lii<FTFkbirsFzC?7K@9P+LnQ~#%JqX6vB})b9)WGnKn@8&vsCqhcriQ z=!3Y}u=aa+f6J=AkU|dXXRMcqFIKn1lm*PxKw2Up9r!~TgTlG_jnTECNNKotnWo69 zF#!kDQD<_*0>Z1pW#TAnZ?C~aj~%E=cmFDPoxL_=R4EV?;N&9!(ejHvZ$38;9{9UH z(dKt28<buOAKF8?#O+EBH{nC*F`~OO?xN8!W;Bs;14spS3=m?KStc^yO#!0VmiHFl zx~oQsB5JfzceSOo$m5%G15<xM%efk7uQAk2$^!390w`V%ga-3oGx=IKq2UO*Mum%Z zHD80W>fz5cT!jrdXrRYfj)!$w{1@}s@)Jyi)tf}|NSDlcb{Y-$58sA;Z6=tJuK$g) zw*ZQ1ZRY6gj8UOL&{P(>??Xm*|MLy^B|OHETU&}3<b@(gZEQ`X8V_(~zpP*mw8<B| z5wZsFX#uo!A+vuJ<K?3w57Y!!`(|`)&26EC;WNb!$8A=67wQ`#_M~~8QM;5ph#ar# zJEzn%K$Tr+VHzw=7n~(ypsDuug7zhT-167|N7GeDMfp8%Vu2-;4v}U_X(?%t4s{Wb zC8R`Hy1Tn$X%Iw8q;u((kQ8Z`Mp%>vDXHJf=X-wV@FyJZd+(i@XP$ZPOy)k?DRKCA z9MpMS(;u5)k5XiT67{X_da*8@vb)<5sqs`R=Wf0`%-A{I2MVYEtMaH4#5Zn|F%_Q$ zjm}IJCe6P}{T#6Kw7Kh)h5^Ome8;+YLfxg{Za7w9L7g)F+N4j)laAq1poD6*7Oe^3 zz?1Dg7Sx*wlGfCi%??J4WDr=tp4PlrDt$_0XPolK)@luj%O!-NI>U=6VsKNzqm59Z zNvNXo(S~)P2wrvRt~G;-YwRUSm5WeRhJtwZ*YB^5;%DkU!SZJ_m>KvPvD*-FH)&tL zVLI#c-GhrGp3fLuGZ!UrvWJmYd%rRB2i^1jeMQ%H{#6oYmH#y!*?jf7OWxnJ@52VQ z?K09b+3%0-HoqVB`Hifa$rAhRCW`8&5O^rV<}nJ9VcNljaxfaLL9F?(GyFF8KBodt z9`DJQ((NCuX`(CI+77tIs6F;VPGF`{nXOHd<uiT<d(`{SA68GF$h`QAH*X{xBkbJr ztGAut3c+(K&VTMLL?L?1?|Z=TM8jk5%KuHr)zX#wGJ3S{>Dhefp5V#hJa!yjU-&Ov zT*PA%+@i(USM04n9$aE$l8Px{a^Y*QE1D+T29w4VFUHbQxU9M0AT3<Sq=+me<Br-H z^PZiETgm=|&78iyEIj+u(dwb=`R1T(|4-g&GV<)1?|IeRj@DKi|G9&!s~fpJ=7dG| z{Z^L3bn|KoO>LwrO{PN+8J1!ahe8l|7U2Z~af&MRBzzQW|0q@YS!EUP0+^E<`02du zj^K0+Q{r4EB=Oqu?m^YE>&T*o>=Su3#_ZjV%Atuj)iLoM#jU}eyx(3mXST>{En|wa zh(p_YEuP#7L}H4OREI)rQcv%z?>7R9d1S63e5pX`i>dS%F<Nm6sjsF2a^*9$cOOVX zl$8cLn#3>u+2X#H`q>j%t&gGg!U?T`VHJ(wx$-Nb@Y*1Gb;D<5vw9XQA#CYFWJx|| zE>%y8rC380hCx~(y~8PYk;h=Ss79&Wd8=a5;~BUyHUBe^a-V)B*7ok?E++8rH{$oS zR|S;4)-)_$8<yfL7mu4)eCUEFyPq;%QePZDIZ&a&I$!#|t|DubZ(bBjOdAnokE#5w zhk#4K31al6C27;(&&np|$01@x$>~Oe%2Y8w(_7U%66sB#LBjOo2Soq;=aJITY-$XH zG!n)Zn~mRd5B$)%+%j$pSy2c9L9z&Dqq$shhh-?Do-Cr<b6M{@%T*8$(2<WmM(SCK zP;R*;En%UZzgo~=Zy_ymUteDhhIrGI`)@p}KsmTcVP^A6T|A!D2)yCB-S4`!-|f5* z-o8A~zv;T;3)n^nn68V<ljPrd;N3Kxn=yK<p8Mvrk~=8}9R!ETSkr`P%V|@{LFFwe z6`}INl!!6~Z5`DZP&9`2cBmICNj>owPwan_JFnVFHSGysiUkq{8v24n3<u8xU-e=i z5R&@vO~YpFcbPFH#xWnwV-$mQ`-365%UUBEnh|E;DdEBB>pZkPkWnn{;^ah{(KylL z_4Sw<k;YmzF|7Ax(EIJQKFqRizCsWx6u6o|Q=?-HouOojh_6cD>T0Az96LX)eLxZ$ zpVroQ;K1_Uwzl%5?$N#~InuO^n?E?8v=hychV<aFf}%`$*Z7l0h9-wLF5uGAJR`LH zJP*6t68WXiy7F%tyMo@La4#DJqXUm^?;c^S4rn+Qob1LPR(BB;o=9XDHht12*22)j zcqq8aDRNO4{A!j&U5JwngA+m<5+?KOdn83`(sN>hQzj@QSv(5_6S}I3tNA6ksxI=y z3FD`x6PcuurnTd|xVt}yFb&B`zY7_ql^lx~6#;)c$d;OY^n^3qc{zU#JU*Z@sh;~( z#x0TiqH3a^XwtAG9RDS3u+iqi`@hRC(d#52S3e^mVnuC$DWhsEby9+>5JYSgr>J`E zRRJ@XQtz$E$wO-iYrMO$jp2D5@J{_=)}211OvTzp)L>8a-R58I0z2c*k!E?_0l{Ks z#CII;`_0+oYQtD-v*S4Z%M{ivN`H;IJA2A>hrSD@EvC8oE8EX{cQavew~%qTd*J`D z^5!6a>%0apq{<opY?fEN`J_;Q@2%p-k7vUCc4p;160~M8Dx*22wxt(zhN@iG7~qg0 zh8c|fp`bF1AF1Jei?K0K#-w+0iL}gTDxiq<=dV8>r1J^Q$&+*oYh82_8_xk_Tn7m2 z+<BZ0kvJbr10ZS&g_Ck!bD{PqU}n%~2G^FoQ0-NeBRrpCLv=`4KQ)Xr5do4<y&eO3 z<w42RgXbRVwmUuVZ`31}{3-W${2MUPwez#FtL791;JlvPJFh$;!X$4WA1R<0FhOM3 zO`G*!$JOmZ*|_uTDMoqwyJucq=eG03G7<x9Zq@!2%U8>Zv5c+clJQfqS#XPwq7Km{ z)&xQ(_*;48<-|HU8-wS{AYGAXn7OhJRO_3ubBzuA5-||@e^zpH?lcjCNb~+!4UFzI zUdAwtiS{o&#Q1=D2dDOYqew(}<>3uFo6-!3tFK?(DyD|LbjpCht0q3|U<1Et5m>r9 zz9f@f6bf{oQg4*FGkv4^2*)2LdjMD4?hRoZB4?HZ*?tq^)!%(qM;Dlv$H0FVi9T$) zyAJH$f3gzh`kQY$@JzO+FOAwv>bx4rw<xa||KS^5Y<D!@{A_7A89%Q1XK_VYEH}r} ztkY<v_bJ=6N_ryH5(W-oYV;FKx?2y>^;WSokivie+EIAbn*sMm=BJ@y^ufv|k{DKS zaaXnD_0Jvq+^F$WUajXxo{{JlNIR$5At@QVy4OQ3{J=nC6;=HG4j~NZ#QaiP8&{8h zDzu%@4kU`R7&r$P6);K9z$+@uUT*&4)4$tG+w0Z0BQFb&itq3YisNq+ZwD`u&zHZd z`cp<W-C&IS-#u?Wk<Lh$*{>MH*~&bDGFq$nt4BN}2?IsgJ%6G0c0$`Bb>cHzG$&ee z6sw1uIV^wDt^oBLxLDJ#srIO|F{cgf{7&4lUv?Vwbj;c5H2TRj`K5-*b8XVHv8$+Y zLfU7)thcGqB5j#F(FNg?t6)XMcRNw50KGZ5rwNJRNJyH;EdeN&X@5SXF>=ZD4X<3U z03F&0a{3p1jbU;-7Kpv`v@0^(c5S<lcy%oikH${yX!iVC#p{4rI_gP8-c@t(Osa2D z9$~ZSt9XyG)<OJjUA7L;fmH8+yD=~vMxCo{hTF|J@C`5baBB@Y1mJ6JP9;Xy?t9P7 zrO0kbHj)r8%k+x96+65bq4e9133ZL{r~NnfPwG&QN0}zV0{TM`KTp=W`|RD~Plk1M zTad4HsCLZza(8a^x`(N!uJwF#RbGydgI6oSm@N7l>(qO?|Iiz088(fy!df{r8?x8^ zVn=&{M~3s>S4u?H0T|~}KYDo&Zb-I?Z#f+T??i}jL%)u%T3S|tqh{he=L$d<RZ6dB z6gah;U$M%)T`k_6(tPYlidI=h^3B#;(o?Zn?wY;Q0|t3W&GqN6MAmiW`Yg}7$0RPv z^gea`b1|@k>#%Tixa`WeRq5oLegZ{6E<S~2JS_JrEX;?8HKSwjpP!j#jW^phZ-_e? zpQpM%*)t+Rs|s0CD8fmTn7{&b55sXZlAi3;uakmHYRbT>?Vs^Xyzwz4<`NGx?sfxv zXE*K`TsG*60<TGAt`BdlW&UE9>R=Eh3S6V!e7brb_6a*=D2HAy;)(8RnfrzEV;5iI zQ$qA7-8v=Jn7E+P53couK_3+5G($=lIy!~hbPzRb<x!a5upAe7Hd^|7?OjdvD#j;C z|8=~zkpW|r3LPewKYS}mbhxhd0Pp!DPZPHqW5bG1+frf7hsr8F8dtOm1nqYrv9_p5 zD|diwy^_hUqymP~*Esa&upR3*QP~F>P*{$%aH70Q%(B_R%%w9i_6$$FJedJcZJ}R+ zp|<n82e@s4mpdOL&le^N7<{%@d}ST(Y7hEnBM*9&_P{=9weJsu*_u|jd5Qi~K?-rB zXRd&;+4amQ>}g!b{2#tlf7?LxH(0%{O@;m=B16NwOLu9aaA9944v(5L3Dy#65545u z625UixUtsMt4clUy1*!c*C7R2?k_YDVeiYs9X^MynFje33bNT?EFyO-niv3w{2PE` zltwm}%^M$b3?0BE_=!zE1aFt$2p)s^n*7_(Kj0b1=k*Em0vQbOm&gP)gmCieI0)Z1 zmFDh4?IObai37f#N;W6$!^qOP9b0$@c`EgP4z7+@f0W^A`DZ)~zpEALc*nbwmEQf^ zk!>Si*(w<y#?JGe^5*Zyf~i_=+)YfSO+hv|itA<GTm%r^@G|&!clxrjghWZ&Oo5ev z$HP6g^8p)<t44veDs7D2v$+T11(jPCQm*5X^!ZfY5x!KI#US^waLuVJ(wdKvW>J&Y zI{$vODolgx0I?2jyz;viozyH#yT`cwp-l_T%h1F1&X^{XvQ?LnL0(A)TIJ&wu?d!y zGw|{*x7Uqo@P>x?%HdJR++wtaK|0QeFtl=p>?*Sctv<qb<R7?BC{EAzt?p4Wo+X)_ zWn55^(lCs?S14Y$<`yu|d2mdpfDon-4bkdVfcZm(^Sy_+*H(dqz9x4psRInkcfS)i z$Ylelf1+)+b*fk6w;nbq<CK*Z6mTZ7;VUBK`bcK2K}t{{LEQ~t^jBvd5h`n>1q_`# z9{7<AI$y@DpX%FAL)UcN@p|D+6!>1U&bQnk@de30W?1s4aup}z*zWLQ$PKb2;fFIX zFugmo97OI-bDLY5{Z1E^=lb?9?@=0o-^!qqco@&fcWuOvM`0Lmn*5FIu7FSP_avq? zIw-T&#WJ#1h9X*Dd=?cfqM(rgMV7?nVB@HifU+>C4P_jbYN3hIS(DZvS8>H+10@lQ zYU0k+>VqqbquvaREp*%j>oeQ>ukfge+4a9y{!mPfBuOB2h+@eEi#cA<{=;|y_})H} zyZtwJ;2y?nOr+oA$aCp1-@916nw#bF8iNc$iLS^>8=TfE4)%`#>YO+q9Hi%HG^C0M z#RPr;_evX&3t$ZU^6;M>jNvnFj|<UV;ki4Bg`Ovr)}DbBGqdkL|75`#n#QTO!0IHN zZo<S+c^={c$bhl8xpGsoD&ub?Cw{c%)HU-Ll90dqtXB=lqW>mdg^s%BJt1?ts){sh zl3t`6@+$wl+Mh$4*Cn5?O7Va-jQvTH8isv-kT#YW6HN=~xk?Bl8HqyeYeJ`UHfrkZ z0P`+VUts|81wp^$>y_tTez0HzW_d8E2wv{*nbG78vqgJ4PVBVvPob@rSeQ<II&>^3 zD`fx6%`9OxKxTvS-KLQ}@2c_uXls8x&%d@9Pwl)heC0ecAsy!{b1BV~;h?g&_|U`r ztO8yg-o^YV0<%xxI}ui9A9F+>GtZP_+Y$pxv<zr<K<vlZ>bQ)#x5@D-;A8@rHjBBt z?CiULlBE3S193vZLA?Dd0=jHa({32pkI|(!fxEu3)?1Xwg7=?Kg~GI5NRm%eAL57a z5}(f!AAlcR-?*hfRuuphi(U{DNFqIKS#_X0UBHE{Ihg2Mx*Rxvm_j$+yn5}EG5+_e zh}TbS779smLotc^INf^Gz`+HapIy|}FClSK1(0>ur;JlP`dIRLsdo?gNs78-6WVcr z5D-~b=0t~{?uR+j=EubK$X-qyeV6qG#h-T&?=Afm%7Is7t9Hr*#b&^n8B|6%G{qJc zvg+7BuJrJ=bG0_<!~o_(7ha7{&9~f&KWr7Nb)UFNqHH+?t8#}vmn#q2)+JI7+99{o z#RfemVB4Zbqgy7e^XGObg=X7X-<gZOa-ssRRQZx})0BJ@3c$kSMtKJ5K}$YSOFnK6 zk}q^>ZIW%2SVwxD#N)oIBm~@fC-k8aUkf3csfSRq+an(HI){&gb;@#x?enYuM@q^` z8TZbAO?>>~{Q7~#)iGb^!OFFUaJ7+wua)mw&bNxAk(iLZT>3a3!X*dlDzurEl~sFa z={C2=fiDRjf9~_Ee<?IFGvNUfec#ImycWHmx{rpk=94Z|16U12q1E@?il!qSUhF>N z_WUh-jyXB`C^5eRaApRCQAy%3S=m%={Sy3<x>sLxUX5@aJI}giDXCp-^j8`lajGr0 zrnza#OQinzs{V!ri-i*laNUnF4cl{zSNa?B7^ccZms}?Bs2Rj2Djth6gJujKl$ER< zu3}t?IhtE}da^KDo+qFLt&yLk&nd%R-uY&F%3|?c=4o)nvoO6W0R0Wcly6g)R|ve8 z&=(5ShA+8W(}KZ0uW*MO@{Qbh>Uat}8Yz_kEf^<RUH*;0&ZR2XJ>J+5ht|g0H0rnx z_la^q)YRh<7oD<vSC11BVP^VebI2F*Qm}_na!DKorS+!vYy8VrElH90sp;gwIVQ%~ zd-6tuz3BoP&T*9wme*xv<_C+<05N0e&5g5L#H4uB1HWG?B&xL2j(2Py#!XvDN$RQD z@|(tkwM_%%YUYY29oU$G0|fljsgFOradU1{d7?hSf{F*1oH>ldO(OS*rByYANv>%s zcthM;IHz<g$th1U87&x#0MwEI=>Ow9!)H7Pw1)y<rb<JWs+nkGorpRQHoU-EfF_D> zJ7n=b)hFd)A<0}So7?Gerqd~(nI6^{Az^|g@Qw(1oSy+<>ml*O)d5A-VrZ!I3b93z zgV}jJhkzIQ{ql3%Bq7F*9O&NnExuN&U}_S(H~#vCq~HS3iC(z~Y0DaEa=2R<=Ymlt zIGGY>=>^_d?Slp|-Jm>r8*D~X(9wv~C*Ts8pz9ZL2?n|&l<Jj3-=UjR#h5{z2YpC; z{dAluVPO6gkPVW6H0WJntV}HU#x*<u`(g)z;V6)RXozqHw8#M=?2^Mr8&0qE4J*rJ zr6!2l{K8UrS(&)FlvJZ_87(dCxok*hz(d1o{|C8qE2FMMzr`k&wemZ$S)Md6;Ju4h zIBv@~18YsWaP74W>5n+<koDS1e>;&*fx!KEX^C*R&wX0<r-5iL-<23pji;+y+t^_| zjQi2Mw?co{S34D$<z9OJ&6#hsO++2x!AFdX4P4%q`_$N8t<H4JfasOFAZ`42$<Erj zmRs5rsW(|5uoH^{Q1@Bu!3<%_yyyT%_#AZLNpA>cSNl<_RGUoL4n<p(q+%^Smh&af zL$6h`#vs@7_2RRWzi>el#dm5*OlI~s%g`lpZO9xDGw2kUobjH#YNx=}4TM6X16ER& z89kOHB_u*N!~rm5jWh^HF^+gteLYcKhmvVcF{%B~E`V6Z25FWLi~J7)OWyA-=_o4+ z;QC>bcGYEt7gDN-u%#vA#ddG<NIbmxB~*^S{!k3jZ|s%W{d%&W)z=~tUNnYteAG{A z>Is`!<G2mC-8G38r59cEdIgB+aC(e7q+^ahWgK;ogAt}3K{~qqPU2tlR|Zv~04n_S z+vkrJ1pd4mX&=X9Yh+ZYSN*Z&$E;N9-ifHalwYqz=z&Hr+2W&$pHwRuMVexjt&jg- z3t-OTs0dPg1-g$`>E5hNY8~w9&e-F<uqz$FymE8t>2?naQNK-Xed{1K5RLiP17^3o zeOv3!V_ml)jvDvVA6bK=6Jo^_w_|h68bWj((ZN#~nEm0R!3Qd50+!?6{HS%d_=16N z9;OSuQKu3l?QKABxk|k!+%SJ5&gTfocI!jkDWLU+A~BI3{&$A>)mA>EIh^AASqqbP z4(&@eR4_%XtI>N%&K7i8ifMx7mDdS@vpK%$uK-7pFom@LXLu0&B*3@D?&_q?g!C7} zX@TIjO-C>P_#srb)2zlqqb}^MgZR^x=N;x)MpsPLU+~Wi{$GNAAbAX6>MUbtbbf8* z?5ybR8XINX0|G5f<wEOor@Z5Wow}6FbMb{MVcK{B+IV0B<46qf1Xh1!%QmDRcxaJb z(sLpuj+Ayb#zs`XtSiXZuIv?vOS5lI{e3-J$p5W@6Muxwtim=GBBQMSrN$JWKpsf6 zm3th7rhI&OdL_Ul7=Wn)y_q}S@*6bJp+x3u*_4!bIuBIt9J^xv#hS>!yoDH0pN$K@ z-%3mO!;A3-9e3gh9z*D|$YfkJAX0uSj4R#fXAY#sBO?sDX4T%pw7@I5%eQ!%aW(xM zT^rf6ep)qj>4N7#+N!HN{pa+E4=7WST*wq{DDLPURAt<pq~pP%WS#tK+NoiuY+SD) z0Y9(USeQasNC1C^{K~6uw`P;gPB$3LGxEjKo!Y;X#j(trJ_jb6kdWZCe|`CSFrD&I zyl)^zXxA0Np9%j**uPV(KcI}g+S4tSSSI}N!c@EWb&X_GnKUS<4LL$yK~v)mnb1dh zwWX2vD2xIb;X0na6R9vWui=2rD;YOqMt+x)y;iCgu(3PYUYl8Pj`9x&DH4CGaN`5v zsa+-S-Y)*5_t9!lvWXKpuH5bA&Ohr^1;kONu>XMie18h>x_%bWn_^3eAgO(@rK2N0 zN6aA~^&6s>r!9<gdc_cN*>uNWHW7f2J<6}JPPnC9h^eb9|Izosd?%=E`(i&hOv9dF z)64&t@A9HTO_cW*tG@S`JHy5=R`;^9UdcR;WygoBI<GYY_^kF?2XMZXM9ay0lcIlq zLyIu5J&IS}Pz8Tn?fg?(0-SexIB-K7Ilx$%CC^^`u@%h;-^HNfl{=O~7I1F(ktl$R z!d`WieJNeK0*`*~qKhUuRueuei6!Yo&=?Ag)DiuZ#lThRKKCOz_zPBM=-Kn-5Yt^b z|3v+L*UorNi7s{;M_wSor{<lx`fo4iUKT$)%)arXBI7wYrQbz=e2sl>uBR*HJ+0-3 z451G@?UZTmKy$owHK<kq_NP*<u!eJ6VOpTeoLLXquY~)B4%G1gEcjYK?{Gj(99T6^ z^6!j|$nXSBJODJv7z=5+%g$x6c79jqpAnn%9^NG82iz`x8LXw39CQYnNB$XP`0ISq zw=;pIOh4ZllJPdR#+Y!jEbrQ$CL*iC$<nADQadE>f1jo((nJ6h;s$P}CZwhmj~uM& zCeS5&r;nsDyLB08Adt~asyR<ES*`eq%OWnh-XW>AP{rZg_F7x#sl$@N40|t7duTKm z8yn^!5%~IuP2W)ei}vi4g*aXMzH&-hyZ`B)ha~s6-{M~eXNev(ACMA#yyd37Kk+-f z@6CQcIDjzY92VV#ti|D>rwd-Z=5s>dGz%tuZ-n^mCZy!B`5I9X>Mc`P_6#d%Plr;2 z<9bX5-s%g;@3rztO+3ypwG8YF!;xiYS6@f+%2=7^;k-yk6ky4dt+&JCy!sR|J{Ld$ z_E%?UL$*5B@BNgE90240oVI%L<NPm{L3JtjJbZg&5T2)yJoj&yYsnD&Mj!gV9t@xb zrCvFk%!?`Aq$`==eKCf?S-=Yfy2<`&TEUzWUh{sd<NaArlHRz0;#Zm@MjCGKiRU`w z+oW1U;@Ua!ERMSi_N-#Oo>szd;_dG7i9Uxc3P63srm>duQ0gF+^7&K)KD67gZoUf! z!s-694Zee^8LnzR;o=@S9_SFuQOsJ-(WT~Eh3S#~Yv&Ql16+g5T`cLuP4*^{s&AJf zxq>|Op06@QczDOQV^VWD#qgYz110bD@V8Bb&*xtII+tdLoZYNM=B!+^^BLVqNGv_> zuJru0Y$vZf^ID8U0sQyojhv5IF!2pjUe}jymtZ^xVs?f>vT}6C0u?>xw-nf5VQOz( zMXh_hW5_o`yw$HS`VrslQ4u?>8y~~X#9v(F6-1H6B5E!z2hEFN-d9wtW5~30o)Hz* zfpkgJ>+G1n#e|@ccL<rjsfzRyiXv5VrvFF5wh#Cv(wXJbld-iyWhFiCbZ%|Nb_csf z%bH-$GSB7cHzu~LHt5ITJjpOX)fCh*LY`Qd8q$74#(f}_cnBnH&s*a%9EQB^`Z415 ztDeQ?kB&(E-NkrMSnOTEz;oQgICAbEr_35=2JRDJ&$g<gf0<6aF8+{i5HrYm9M5qH zOMvvzvsn9B`dFB(e&Nf3vhwo^gy)p4vDNUg3?*f9*84`y7{p=nSi_hIDJCh!z4M4y z04M#jAXoTq(=_=^qSsnjq0u1MiwNaxRm@x+uqsMNXB2jPJXd>_Tiso5_q@aDK`9br z1=FD&_siA8-CRTGLT}<cZ>@o1k0{CU$j=EoY57=slURvX$)$K#^szobl=tZfD4XbO z;0!;wI`j{;%Qa853<*=J^+M^jFY;eW-ag4&9QR2TkncZec2MBhcK@vDYLs4^>i)cN z`|=wt8>Rr?pX1yEKRnMR_c?JqMW&(0_Zdf@go<2D*wQax@TD0|GUbTCfEe4vi7AXK zgo%dZFS&x#Q2~MN4&Kr3h}h)5RHAFO|6?KPs%agR{K4$YRmsBG?RNO;ut$_{6;9O3 z%RT{+G~Yswd%NXv(q~dx#*0$Ck2QhmrGvs3^e^|CR|xr4_4)8aqe;(lrSYzEngz@b zk(CW-tCJoyqR2gDx#-uKkTLmJ{gT(|C-!NsDO3x<=#A@^12+k;i?zs4aN7OW9lkKL zDB0T$*?~csGeM&kmtx@)PJPGw3Z;lMA=RtJUUy?wCaJwj-bF7o{a;{s2Ws!=g}=ev zMVb6zaNER&sT1Z(v)cFH&kjGaFmZp!EGvs7HmP;Ce<Q;tgAwQXwH}=09xOW;6X)|T zeDfWIEu$WcFF66Y5OyJ8u*JOR?2?QFDm#5KkBW^{S`DP6tt<#iRUxUJ07mr+5McxA z?pTv+mOP(7Tz;1$CIhcuN{4^E{rwRa!>H8_pYdvb@Q_^gi2S1E<5i39L&KV_`+!K3 zPCAYoLn^LhSTkR12~)10QK&{K(L^wXjn0S!G|AVZ^1%v}*pI;qj1jcG3?8ql=j2q6 z3l?0Lj#ylikG713nxZa^J*HWowA*XUon`_4PQ4d})W5|$NkS(t=B0B!@j=+(u6JmZ z?1rf7>MjP}-8A3bUQPaXb2?x0+;|gs`sQf*^~<$y93Q`uzmy7g^xJq0fX(r+`@3zH zTOkRj;FX&n7fpsVCxmvmqJ=~<5p4O!I2Z)#n30-{^*i3L2o3bBY1svELwkk`8DN?3 zQRX2*)yRH^ohzAM3rXW*?Pt2TVu^VW_@<)R81mF1KQ7kJdA}&-EZ{-p^WFXZ_1<to zufLNjN85#oeBSRuw3Gl4X3)3tDh4T7X$uNlYu#_QftJrGG)?sk)qS@XrIuK(c$S~q z>$)_(%vwL>%6FV+62Mol4Ad*JiW|O{s_6Z&GvtxzL6w9sbz2Lo$00s6a^SP_sUqwQ zcb|bsEqC0Z?86>;sYe~zvv|LdC<nuyC{WIQh>bVP!YUftKtDjGA?+UnAlIN0aL^Zd zkpW$a>W$f41iepr`6GClW;Tq^cm{c%n9=ms@iY(43b8|iQk0&4G)bm91tO<LJaC8b zvCbHTuBaG4MWIU8TOexEY8Ry>0w`qv>YYs9qC@u9=q+x@ruG1iN7evVs-qN~DDpWp z;>{~Cu>YbFS|m)~3_1Ljgo?T~7sqWt(o;AI1~N;@wzifPlBErBa5^+dU>IrpyOmFK z3WPCjBNApNKE8%g;{i>Cd*zAAIF`-Wn3H0rV+)NT`xWt5Qhrq+c}1y2&tnQS_pmzR zex22IeLV0O_Tc5(@j?J?;pIR|_uP3UEDfi;bOY^fw{i{;>mf|Qtn`gPno<bJrzMAt z!$W~uu_4&tZu7nuX7*{Ow`=-&LZT0#95krJRYMF=@gVyq`12NAD_>7zi*pTrYn^+; zorcfc4a{&VD<enp&I;zH-C53ZvEv@s*&lUHx%;nQ!uSYnGly>Z_*BEJNh%ORd4X`O zqLzHEH%yrk|DDPbjw-`oNvgRpZ4YwK8Ey<qUlV_^UK_8Dlcv6@<Cx@~#V%(w80^t5 zKI)@+W}v4f^{1zR`g*(rp1r~SQu9}(>oic_Q7;yv!aqUGngk^x4yDz+MrMUkdIpV^ z7ng#(ExE97^Uj&2-&k8Zh|pXwv&QS|;)?CU)rLLBi{c|G7f47+<VpXt*;(VD52v`m zzVnPI{0}I-n6YbzZ#XofppHon)P^XO6)kosuQ;`q(?m|ifw94KC_TV+sv<zfb1(PK z>YrJ$C0s@XT82f>0+9)p41xEC401H#$zu#U4<ti6e^RcPK)!I`lT*k+J^*)l*9y2i zy#kthYP~G%JBnFUjh3_;Fs>;PdHottx!k?EkawAG<*L+bQqfCx=_h1_S`Ow$@QheD zqP9IGN_EONivHBcWo=?_+tOfWQJ$I-nj>Gmx7cI_?;fRF#*>#_hP%V482yUgC*NC- zPY7fIxqdP*umzZ277IC*8nP1pZ4X$)yg0%KAt0}vey)|2E7ak+<CX|iA*>q>${8X| zvF}qoC<T{XIw|HFxr>!N7rlyf(6@e<AGM$3+kjEAbv$m8^dBSxZ%5m@66}GOIX^a~ zG;=})h=6M*H31k+%~t%Bi?n{4V5d2`q0v)BnKExmgCKtna7;hjYftq5!%9aho5_m| zfwypJHT{Mn&Dftp+Ub{E8zEghuGpH1L14o4e9n93ghC03a8%+a43c0hfMJ<9VFwhA zK6VOVBogU#GVtK9uXIBbl8WJ};o|JhX-h(~o2JJHDYdq>!EmFFw~VNWb!Z|FWz`QK z+ZrWaRKHbXyoy?kIgEaunhm}zH35{_H!cbKNcz?er`rXgPU*kSns03MUXlf9?z~5F z#|ZIVj3_R+Xww`CK1;x!b5|m3%_sRUT8$u0D}S!{XUwKS;O4b{dK60X^)oSKKN4M4 zx9G`<HN3>Q(~JgmA%4@We7~roeKbRx?zUTH%<h0n2#@;3;1(PeljywwEF@T4Vw~Iz zn&{=mWxu=*IGCcdc3%Vr4QfwsDWxcm5T)BEN<0jp#?KADKY{8)37ilH#|il_7vr3T z1&vC0v^O{ah~<i1^q|?ck#=_yoLk5W98tg)mdNjB))89Yvk3)KQW6>Fz)2vc?>GZ* z6CLl&CZxv#QX8gZ`FYIsW=mDbDmEk}S71%v7+G6DC#Cc^FM-yvq!G+OsWi&zXre1F z4`LZ7k$OXCNNMR?{ewrpH-L?k3~)HMTG}9p217r~M3WsR(1bzE7JckJs0HqsJri|U zZVm?OXM4H1Ut*&!oMEn=J{_Hh>xJ7&BSJu+QLDGtDyOA%JR2lWWUA1Z?sGQ=lA{El zQHhoMpGz^@Y6u`y&pr!C@kONC2R}%CNt9+UrS|vg=Be=rP6+(ok~u|rvDUpAG^eC= z4VqK|U8}Dxp-N<AmWDu`UzAOyM~NVX$VBHs;oJ_Uz7`N;VP(qw)IcZE2s1D4kXL${ zL8tzV*(JPwofCC!M^G|$@H!OX?Tdiedwoqo0e!TO@*v&s@Xew2PXdS8qlU%vid-GU z>G(d3aFC2D09O06k6-UiZecQ>U9C`MgM(h(xJI$Ie8+zxj<T{ZmrTxvDbMJ7OLc@) ztYad0|7Gg3YfOip4(VGqaw;3llr+2##K?ym{9aCkWDa2$l-XG|9v(p!mNGL<PX^Rg zuzyb$d%YyPZFe^IEVGZjso2hgD6~Ufr+a7VIoqTa;U~SXhqcxch=v}oq=7<+cv!Kt zQ~P6$e_bvDgO{^M#!p!`97J;trHFw|nMa{QC0G}h>Ub_X6DyxRvDRX(K2L@v&HDjY zeR=YUEwDd+^|CT^q0tnxV%V7z$VNM_<P1;NuW%BD{4$#Yrc6p>ps7IBPC^b-oolEP z>;k>o6|<|RJrJK!=l6D4T+EWiJ|GiEgXw>ic)tXIiJY~jq-G*nCN?GrnL#KNN_>80 zu%`zTple_3sn=hELojaM5~r!-7^rcV0Avx6f!%Wykq1|{k4`fq;ojshJHrv=9ZwtS zx-g)9ky0m1<oi}f1h`?gra^nd6FroAj6=Vx+68)xmCaIt=fdhWl{2nplW8=>?SHA1 z?>ZGvezU}m5;*CC&tJqs?ATl1jSr&MJHF2c@WnNOC+tX15B7lp5C6o31PqKy56Pw@ zK8cBIKXpXdf7}JYkaL6$N+?T9u$xMBU$W;jm~`|Bg#9NT5p-nXWn_k%(N9Ejmf1`R zk^P$>AjkL1vIPQx9xo71NjXddP<q;pyzI*BuH6CY>5Kc`%U^x*6blmY3xsmp$_wn$ zKi9=P1#D?V`JTM0b-)S(o;sBMnU6q-Sv_jv83E|bzR5{aV6gxf2`#^8$)zS@{{@6G z1KX(AN&Yy|=c@+g(`tXera)cM{0eayr$XZPDLfBbiZ&7AU@<J_cU3k}x#M0RJsHJ3 zW7J$NL?AE#2>3uaz11vM%FtH~A2ZZ$tW@$r6tOkc3kr<TU!io_n=)?vjoB=-9|O5k z#eJ2-_N8AFHK#)c*Tf=7&md#(2f4xvnAGtvo{e+}zNDliz;K5K1h(%GD!SISHD&nL zm+@?9#ro8&)bh<#?EtY~Yxi$`7fy}K<L^9t4M9s1PKAu?%890dr3J>xPTm?31w1la z@Jo{VR^&w6RA&NPaPX9<;M?Zng_5n`n+U)u-FgBdK7+~^ifTU)D5aN(nO6fXm<Y7W zUm%-{z6ToSkFdh%11BHTni$Lp#2q<sYrN$(-}PSf!)FHA<<c1&fD8;iU?qAkUX^1g z=5gDyWeEiLCZk&I2D?EC_~(x|e2KZYEcvM{L{ihmq&9}2=UoxluX|+MaT?0Ii$!0J z$m1PflAO5Nf3!qp&+61v9ENbkYVm0BXEbM8kX8U&c&NuZner>l-Qch~rr{Y7U7Ov0 z|3Ij)dNnZt;H*$T9RmiM-3a2fUVnfSOXr(6E2yAKvG@ISXn)PS#c+A+5&sA)O}z3K zXkw8OF;d@x(3+~n?5v_8_g2@i?t<Y_g|Leu!U_IZoEFRRJm{buM>w8S`$q+acL&?G zg2=MJU%GuPZ!6lKTOaqhAzF(Zq-M^?rH+_RfjFSd(Yz*@@$^ptK$#fYV~89lW8<2_ zYST=Gl4#YNisXz@#;G1U<X?MY1)JiIG?)t3@iiOIg~PM+Q%llkc@2VUEU43T+BHj* zq%Zmx8VKH~wJ`XFoK^I%2}z$$`MgsF&D�x~~p_mVaaNFJf>TP>?Q^ZE+}i)wwZR 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úICF}vWcY<i|MDF;+I{wI_OszS@`gyA< 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 J@0HC0{s&*)Z>j(Q diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/contour3d.svg b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/contour3d.svg index 85c9eca23f97..943adc627c98 100644 --- a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/contour3d.svg +++ b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/contour3d.svg @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="utf-8" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<!-- Created with matplotlib (http://matplotlib.org/) --> -<svg height="432pt" version="1.1" viewBox="0 0 576 432" width="576pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<!-- Created with matplotlib (https://matplotlib.org/) --> +<svg height="345.6pt" version="1.1" viewBox="0 0 460.8 345.6" width="460.8pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <defs> <style type="text/css"> *{stroke-linecap:butt;stroke-linejoin:round;} @@ -10,2444 +10,2581 @@ </defs> <g id="figure_1"> <g id="patch_1"> - <path d="M 0 432 -L 576 432 -L 576 0 -L 0 0 + <path d="M 0 345.6 +L 460.8 345.6 +L 460.8 0 +L 0 0 z " style="fill:#ffffff;"/> </g> <g id="patch_2"> - <path d="M 72 388.8 -L 518.4 388.8 -L 518.4 43.2 -L 72 43.2 + <path d="M 57.6 307.584 +L 414.72 307.584 +L 414.72 41.472 +L 57.6 41.472 z " style="fill:#ffffff;"/> </g> <g id="pane3d_1"> <g id="patch_3"> - <path d="M 131.177218 312.43458 -L 258.939234 227.701291 -L 256.812132 65.789882 -L 121.926546 141.921 + <path d="M 104.941774 248.782626 +L 207.151387 183.537994 +L 205.449705 58.866209 +L 97.541237 117.48717 " style="fill:#f2f2f2;opacity:0.5;stroke:#f2f2f2;stroke-linejoin:miter;"/> </g> </g> <g id="pane3d_2"> <g id="patch_4"> - <path d="M 258.939234 227.701291 -L 465.901687 275.072667 -L 474.560748 108.278886 -L 256.812132 65.789882 + <path d="M 207.151387 183.537994 +L 372.72135 220.013954 +L 379.648599 91.582742 +L 205.449705 58.866209 " style="fill:#e6e6e6;opacity:0.5;stroke:#e6e6e6;stroke-linejoin:miter;"/> </g> </g> <g id="pane3d_3"> <g id="patch_5"> - <path d="M 131.177218 312.43458 -L 348.929684 367.606266 -L 465.901687 275.072667 -L 258.939234 227.701291 + <path d="M 104.941774 248.782626 +L 279.143747 291.264825 +L 372.72135 220.013954 +L 207.151387 183.537994 " style="fill:#ececec;opacity:0.5;stroke:#ececec;stroke-linejoin:miter;"/> </g> </g> <g id="axis3d_1"> <g id="line2d_1"> - <path d="M 131.177218 312.43458 -L 348.929684 367.606266 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-width:0.75;"/> + <path d="M 104.941774 248.782626 +L 279.143747 291.264825 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-width:0.8;"/> </g> <g id="Line3DCollection_1"> - <path d="M 135.341407 313.489655 -L 262.91012 228.610182 -L 260.98105 66.603357 -" style="fill:none;stroke:#e6e6e6;"/> - <path d="M 160.483807 319.859956 -L 286.874573 234.095375 -L 286.148026 71.514157 -" style="fill:none;stroke:#e6e6e6;"/> - <path d="M 185.898981 326.299368 -L 311.080141 239.635758 -L 311.581097 76.476879 -" style="fill:none;stroke:#e6e6e6;"/> - <path d="M 211.591391 332.809024 -L 335.530482 245.232165 -L 337.284506 81.492351 -" style="fill:none;stroke:#e6e6e6;"/> - <path d="M 237.565599 339.390079 -L 360.229327 250.885453 -L 363.262586 86.56142 -" style="fill:none;stroke:#e6e6e6;"/> - <path d="M 263.826267 346.043713 -L 385.180483 256.596492 -L 389.519764 91.684949 -" style="fill:none;stroke:#e6e6e6;"/> - <path d="M 290.378159 352.771135 -L 410.387838 262.366172 -L 416.060561 96.86382 -" style="fill:none;stroke:#e6e6e6;"/> - <path d="M 317.226148 359.573579 -L 435.855357 268.1954 -L 442.889598 102.098935 -" style="fill:none;stroke:#e6e6e6;"/> - <path d="M 344.375213 366.452305 -L 461.587089 274.085104 -L 470.011596 107.391216 -" style="fill:none;stroke:#e6e6e6;"/> + <path d="M 108.273125 249.595035 +L 210.328096 184.23784 +L 208.78484 59.492585 +" style="fill:none;stroke:#b0b0b0;stroke-width:0.8;"/> + <path d="M 128.387046 254.500166 +L 229.499659 188.461439 +L 228.918421 63.273901 +" style="fill:none;stroke:#b0b0b0;stroke-width:0.8;"/> + <path d="M 148.719185 259.458514 +L 248.864113 192.727533 +L 249.264878 67.095197 +" style="fill:none;stroke:#b0b0b0;stroke-width:0.8;"/> + <path d="M 169.273113 264.470949 +L 268.424386 197.036767 +L 269.827605 70.957111 +" style="fill:none;stroke:#b0b0b0;stroke-width:0.8;"/> + <path d="M 190.052479 269.538361 +L 288.183461 201.389799 +L 290.610069 74.860294 +" style="fill:none;stroke:#b0b0b0;stroke-width:0.8;"/> + <path d="M 211.061014 274.661659 +L 308.144387 205.787299 +L 311.615811 78.805411 +" style="fill:none;stroke:#b0b0b0;stroke-width:0.8;"/> + <path d="M 232.302527 279.841774 +L 328.31027 210.229952 +L 332.848449 82.793142 +" style="fill:none;stroke:#b0b0b0;stroke-width:0.8;"/> + <path d="M 253.780918 285.079655 +L 348.684285 214.718458 +L 354.311678 86.82418 +" style="fill:none;stroke:#b0b0b0;stroke-width:0.8;"/> + <path d="M 275.50017 290.376275 +L 369.269671 219.25353 +L 376.009277 90.899236 +" style="fill:none;stroke:#b0b0b0;stroke-width:0.8;"/> </g> <g id="xtick_1"> <g id="line2d_2"> - <path d="M 136.440324 312.758477 -L 133.139482 314.954734 -" style="fill:none;stroke:#000000;stroke-linecap:square;"/> + <path d="M 109.152259 249.032027 +L 106.511585 250.723145 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-width:0.8;"/> </g> </g> <g id="xtick_2"> <g id="line2d_3"> - <path d="M 161.572996 319.120869 -L 158.301354 321.340896 -" style="fill:none;stroke:#000000;stroke-linecap:square;"/> + <path d="M 129.258396 253.931069 +L 126.641083 255.64049 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-width:0.8;"/> </g> </g> <g id="xtick_3"> <g id="line2d_4"> - <path d="M 186.978165 325.552244 -L 183.736553 327.79643 -" style="fill:none;stroke:#000000;stroke-linecap:square;"/> + <path d="M 149.582532 258.883228 +L 146.989242 260.611251 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-width:0.8;"/> </g> </g> <g id="xtick_4"> <g id="line2d_5"> - <path d="M 212.660287 332.05373 -L 209.449556 334.322471 -" style="fill:none;stroke:#000000;stroke-linecap:square;"/> + <path d="M 170.128229 263.889372 +L 167.559645 265.636302 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-width:0.8;"/> </g> </g> <g id="xtick_5"> <g id="line2d_6"> - <path d="M 238.623915 338.62648 -L 235.444941 340.920181 -" style="fill:none;stroke:#000000;stroke-linecap:square;"/> + <path d="M 190.899132 268.95039 +L 188.355953 270.716539 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-width:0.8;"/> </g> </g> <g id="xtick_6"> <g id="line2d_7"> - <path d="M 264.873705 345.271673 -L 261.727385 347.590748 -" style="fill:none;stroke:#000000;stroke-linecap:square;"/> + <path d="M 211.898964 274.067188 +L 209.381908 275.852876 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-width:0.8;"/> </g> </g> <g id="xtick_7"> <g id="line2d_8"> - <path d="M 291.414412 351.990512 -L 288.301669 354.335385 -" style="fill:none;stroke:#000000;stroke-linecap:square;"/> + <path d="M 233.131529 279.240694 +L 230.641335 281.046246 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-width:0.8;"/> </g> </g> <g id="xtick_8"> <g id="line2d_9"> - <path d="M 318.2509 358.784229 -L 315.17268 361.155332 -" style="fill:none;stroke:#000000;stroke-linecap:square;"/> + <path d="M 254.60072 284.471856 +L 252.138144 286.297605 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-width:0.8;"/> </g> </g> <g id="xtick_9"> <g id="line2d_10"> - <path d="M 345.388141 365.654082 -L 342.345417 368.051858 -" style="fill:none;stroke:#000000;stroke-linecap:square;"/> + <path d="M 276.310512 289.761643 +L 273.876334 291.60793 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-width:0.8;"/> </g> </g> </g> <g id="axis3d_2"> <g id="line2d_11"> - <path d="M 465.901687 275.072667 -L 348.929684 367.606266 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-width:0.75;"/> + <path d="M 372.72135 220.013954 +L 279.143747 291.264825 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-width:0.8;"/> </g> <g id="Line3DCollection_2"> - <path d="M 124.83963 140.276819 -L 133.925947 310.61159 -L 351.454544 365.608914 -" style="fill:none;stroke:#e6e6e6;"/> - <path d="M 142.120716 130.523157 -L 150.241556 299.790884 -L 366.433824 353.759184 -" style="fill:none;stroke:#e6e6e6;"/> - <path d="M 159.070412 120.956535 -L 166.260112 289.167187 -L 381.127889 342.135079 -" style="fill:none;stroke:#e6e6e6;"/> - <path d="M 175.698161 111.571626 -L 181.989655 278.735167 -L 395.544809 330.730218 -" style="fill:none;stroke:#e6e6e6;"/> - <path d="M 192.013047 102.363299 -L 197.437937 268.489682 -L 409.692352 319.538453 -" style="fill:none;stroke:#e6e6e6;"/> - <path d="M 208.023819 93.326618 -L 212.612435 258.425775 -L 423.577998 308.55387 -" style="fill:none;stroke:#e6e6e6;"/> - <path d="M 223.738902 84.456828 -L 227.520363 248.53866 -L 437.208951 297.770766 -" style="fill:none;stroke:#e6e6e6;"/> - <path d="M 239.166411 75.749348 -L 242.168684 238.823719 -L 450.592157 287.18365 -" style="fill:none;stroke:#e6e6e6;"/> - <path d="M 254.31417 67.199763 -L 256.564121 229.276494 -L 463.734308 276.787226 -" style="fill:none;stroke:#e6e6e6;"/> + <path d="M 99.871704 116.221151 +L 107.140758 247.378924 +L 281.163635 289.726863 +" style="fill:none;stroke:#b0b0b0;stroke-width:0.8;"/> + <path d="M 113.696573 108.710831 +L 120.193245 239.046981 +L 293.147059 280.602571 +" style="fill:none;stroke:#b0b0b0;stroke-width:0.8;"/> + <path d="M 127.25633 101.344532 +L 133.00809 230.866734 +L 304.902311 271.652011 +" style="fill:none;stroke:#b0b0b0;stroke-width:0.8;"/> + <path d="M 140.558528 94.118152 +L 145.591724 222.834078 +L 316.435847 262.870268 +" style="fill:none;stroke:#b0b0b0;stroke-width:0.8;"/> + <path d="M 153.610437 87.02774 +L 157.95035 214.945055 +L 327.753882 254.252609 +" style="fill:none;stroke:#b0b0b0;stroke-width:0.8;"/> + <path d="M 166.419055 80.069496 +L 170.089948 207.195847 +L 338.862398 245.79448 +" style="fill:none;stroke:#b0b0b0;stroke-width:0.8;"/> + <path d="M 178.991121 73.239758 +L 182.01629 199.582768 +L 349.767161 237.49149 +" style="fill:none;stroke:#b0b0b0;stroke-width:0.8;"/> + <path d="M 191.333129 66.534998 +L 193.734947 192.102263 +L 360.473725 229.339411 +" style="fill:none;stroke:#b0b0b0;stroke-width:0.8;"/> + <path d="M 203.451336 59.951817 +L 205.251297 184.7509 +L 370.987446 221.334164 +" style="fill:none;stroke:#b0b0b0;stroke-width:0.8;"/> </g> <g id="xtick_10"> <g id="line2d_12"> - <path d="M 349.633738 365.148563 -L 355.10024 366.530648 -" style="fill:none;stroke:#000000;stroke-linecap:square;"/> + <path d="M 279.70699 289.372393 +L 284.080192 290.436599 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-width:0.8;"/> </g> </g> <g id="xtick_11"> <g id="line2d_13"> - <path d="M 364.624972 353.307638 -L 370.055544 354.663277 -" style="fill:none;stroke:#000000;stroke-linecap:square;"/> + <path d="M 291.699978 280.254881 +L 296.044435 281.298724 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-width:0.8;"/> </g> </g> <g id="xtick_12"> <g id="line2d_14"> - <path d="M 379.33087 341.692089 -L 384.725881 343.022034 -" style="fill:none;stroke:#000000;stroke-linecap:square;"/> + <path d="M 303.464696 271.310909 +L 307.780705 272.334966 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-width:0.8;"/> </g> </g> <g id="xtick_13"> <g id="line2d_15"> - <path d="M 393.7595 330.295542 -L 399.119319 331.600517 -" style="fill:none;stroke:#000000;stroke-linecap:square;"/> + <path d="M 315.0076 262.535567 +L 319.295455 263.540398 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-width:0.8;"/> </g> </g> <g id="xtick_14"> <g id="line2d_16"> - <path d="M 407.91863 319.11186 -L 413.243626 320.392561 -" style="fill:none;stroke:#000000;stroke-linecap:square;"/> + <path d="M 326.334904 253.924132 +L 330.5949 254.910272 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-width:0.8;"/> </g> </g> <g id="xtick_15"> <g id="line2d_17"> - <path d="M 421.815742 308.135135 -L 427.106278 309.392234 -" style="fill:none;stroke:#000000;stroke-linecap:square;"/> + <path d="M 337.452594 245.472054 +L 341.685022 246.44002 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-width:0.8;"/> </g> </g> <g id="xtick_16"> <g id="line2d_18"> - <path d="M 435.458042 297.359676 -L 440.714481 298.593818 -" style="fill:none;stroke:#000000;stroke-linecap:square;"/> + <path d="M 348.366433 237.17495 +L 352.571585 238.12524 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-width:0.8;"/> </g> </g> <g id="xtick_17"> <g id="line2d_19"> - <path d="M 448.852474 286.779996 -L 454.075176 287.991806 -" style="fill:none;stroke:#000000;stroke-linecap:square;"/> + <path d="M 359.081979 229.028597 +L 363.260141 229.96169 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-width:0.8;"/> </g> </g> <g id="xtick_18"> <g id="line2d_20"> - <path d="M 462.005733 276.390809 -L 467.195055 277.580886 -" style="fill:none;stroke:#000000;stroke-linecap:square;"/> + <path d="M 369.604586 221.028923 +L 373.756044 221.945282 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-width:0.8;"/> </g> </g> </g> <g id="axis3d_3"> <g id="line2d_21"> - <path d="M 465.901687 275.072667 -L 474.560748 108.278886 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-width:0.75;"/> + <path d="M 372.72135 220.013954 +L 379.648599 91.582742 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-width:0.8;"/> </g> <g id="Line3DCollection_3"> - <path d="M 466.066381 271.900274 -L 258.89869 224.615172 -L 131.001569 309.196909 -" style="fill:none;stroke:#e6e6e6;"/> - <path d="M 468.068718 233.330576 -L 258.406032 187.114858 -L 128.865116 269.816616 -" style="fill:none;stroke:#e6e6e6;"/> - <path d="M 470.120301 193.812297 -L 257.901772 148.731448 -L 126.674356 229.435289 -" style="fill:none;stroke:#e6e6e6;"/> - <path d="M 472.222968 153.310006 -L 257.385496 109.433377 -L 124.42719 188.014268 -" style="fill:none;stroke:#e6e6e6;"/> - <path d="M 474.378652 111.786488 -L 256.856768 69.187556 -L 122.121412 145.512876 -" style="fill:none;stroke:#e6e6e6;"/> + <path d="M 372.853105 217.571211 +L 207.118952 181.161682 +L 104.801255 246.28962 +" style="fill:none;stroke:#b0b0b0;stroke-width:0.8;"/> + <path d="M 373.649204 202.811525 +L 206.923029 166.807584 +L 103.952003 231.222754 +" style="fill:none;stroke:#b0b0b0;stroke-width:0.8;"/> + <path d="M 374.454975 187.872544 +L 206.724825 152.286441 +L 103.092093 215.966794 +" style="fill:none;stroke:#b0b0b0;stroke-width:0.8;"/> + <path d="M 375.270593 172.750981 +L 206.524302 137.595318 +L 102.221322 200.518158 +" style="fill:none;stroke:#b0b0b0;stroke-width:0.8;"/> + <path d="M 376.096241 157.443469 +L 206.321417 122.731215 +L 101.339485 184.873173 +" style="fill:none;stroke:#b0b0b0;stroke-width:0.8;"/> + <path d="M 376.932104 141.946556 +L 206.11613 107.691058 +L 100.446367 169.02807 +" style="fill:none;stroke:#b0b0b0;stroke-width:0.8;"/> + <path d="M 377.778374 126.256705 +L 205.908396 92.4717 +L 99.541752 152.978987 +" style="fill:none;stroke:#b0b0b0;stroke-width:0.8;"/> + <path d="M 378.635247 110.370291 +L 205.698173 77.06992 +L 98.625416 136.721957 +" style="fill:none;stroke:#b0b0b0;stroke-width:0.8;"/> + <path d="M 379.502921 94.283596 +L 205.485415 61.482418 +L 97.69713 120.252914 +" style="fill:none;stroke:#b0b0b0;stroke-width:0.8;"/> </g> <g id="xtick_19"> <g id="line2d_22"> - <path d="M 464.337863 271.505747 -L 469.527014 272.690148 -" style="fill:none;stroke:#000000;stroke-linecap:square;"/> + <path d="M 371.47029 217.267425 +L 375.621611 218.179414 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-width:0.8;"/> </g> </g> <g id="xtick_20"> <g id="line2d_23"> - <path d="M 466.318508 232.944779 -L 471.572824 234.102983 -" style="fill:none;stroke:#000000;stroke-linecap:square;"/> + <path d="M 372.257767 202.511049 +L 376.434991 203.413106 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-width:0.8;"/> </g> </g> <g id="xtick_21"> <g id="line2d_24"> - <path d="M 468.347848 193.435781 -L 473.668985 194.566132 -" style="fill:none;stroke:#000000;stroke-linecap:square;"/> + <path d="M 373.054806 187.57548 +L 377.258259 188.467297 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-width:0.8;"/> </g> </g> <g id="xtick_22"> <g id="line2d_25"> - <path d="M 470.4277 152.943356 -L 475.817377 154.044099 -" style="fill:none;stroke:#000000;stroke-linecap:square;"/> + <path d="M 373.861584 172.457436 +L 378.091596 173.338693 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-width:0.8;"/> </g> </g> <g id="xtick_23"> <g id="line2d_26"> - <path d="M 472.559975 111.430323 -L 478.01998 112.499596 -" style="fill:none;stroke:#000000;stroke-linecap:square;"/> + <path d="M 374.678278 157.153551 +L 378.935188 158.023921 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-width:0.8;"/> </g> </g> - </g> - <g id="axes_1"> - <g id="Line3DCollection_4"> - <path clip-path="url(#p23ac792d96)" d="M 346.728528 289.268915 -L 347.878329 289.674571 -L 349.048249 290.066191 -L 350.239667 290.442708 -L 351.453982 290.803032 -L 352.692613 291.146054 -L 353.956996 291.470649 -L 355.24858 291.775676 -L 356.568828 292.059978 -L 357.919216 292.322385 -L 359.301239 292.561706 -L 360.716408 292.776733 -L 362.16626 292.966235 -L 363.1789 293.07816 -L 363.67135 293.114701 -L 365.266241 293.196031 -L 366.790408 293.235133 -L 366.928054 293.227208 -L 368.842996 293.067866 -L 368.975574 293.053736 -L 370.271682 292.661891 -L 370.848224 292.100117 -L 370.772568 291.615037 -L 370.718907 291.371965 -L 370.157864 290.798078 -L 369.786065 290.454634 -L 369.31242 290.156268 -L 368.356757 289.598584 -L 367.772066 289.282837 -L 367.342227 289.086256 -L 366.263526 288.623104 -L 365.159604 288.179834 -L 364.030933 287.756027 -L 363.582587 287.598507 -L 362.864579 287.361273 -L 361.66921 286.989013 -L 360.453361 286.632819 -L 359.217063 286.292615 -L 357.960241 285.968403 -L 356.682712 285.660268 -L 355.384182 285.368374 -L 354.064242 285.092974 -L 352.722361 284.834403 -L 351.357887 284.593091 -L 349.970033 284.369562 -L 349.824773 284.348332 -L 348.530198 284.18485 -L 347.054241 284.027147 -L 345.543079 283.89569 -L 344.754012 283.841735 -L 343.939377 283.832539 -L 342.215513 283.857755 -L 341.939388 283.868164 -L 340.328926 284.179612 -L 339.632196 284.707817 -L 339.754866 285.430819 -L 339.889184 285.565894 -L 340.618721 286.273408 -L 340.701644 286.350085 -L 341.522595 286.854165 -L 342.45981 287.411617 -L 342.616747 287.500185 -L 343.484192 287.905994 -L 344.538543 288.379319 -L 345.611198 288.840143 -L 346.012812 289.003228 -L 346.728528 289.268915 -" style="fill:none;stroke:#b40426;"/> - </g> - <g id="Line3DCollection_5"> - <path clip-path="url(#p23ac792d96)" d="M 284.115706 156.823725 -L 285.351281 157.166792 -L 286.58748 157.521197 -L 287.824297 157.888216 -L 289.061723 158.269221 -L 290.299748 158.665682 -L 291.538358 159.079167 -L 292.777541 159.511339 -L 294.017279 159.963952 -L 295.257553 160.438845 -L 296.498341 160.937935 -L 297.739618 161.463205 -L 298.981356 162.016694 -L 300.223525 162.600482 -L 301.46609 163.216671 -L 302.709014 163.867368 -L 303.952257 164.554663 -L 305.195774 165.2806 -L 306.439519 166.047158 -L 307.683442 166.856214 -L 308.927491 167.709518 -L 310.171612 168.608658 -L 311.415747 169.555024 -L 312.65984 170.549778 -L 313.903831 171.593814 -L 315.147662 172.687725 -L 316.391274 173.83177 -L 317.634611 175.025835 -L 318.877619 176.269409 -L 320.120245 177.561548 -L 321.362442 178.900854 -L 322.604169 180.285452 -L 323.84539 181.712972 -L 325.086076 183.180536 -L 326.326206 184.684756 -L 327.565771 186.221727 -L 328.804769 187.787041 -L 330.04321 189.375794 -L 331.281117 190.98261 -L 332.518525 192.60167 -L 333.755481 194.226742 -L 334.992046 195.851226 -L 336.228296 197.468206 -L 337.464318 199.070496 -L 338.700215 200.65071 -L 339.936101 202.201321 -L 341.172105 203.714734 -L 342.408364 205.183359 -L 343.64503 206.599685 -L 344.882261 207.956357 -L 346.120226 209.246256 -L 347.3591 210.462569 -L 348.599062 211.598871 -L 349.840294 212.64919 -L 351.082981 213.608077 -L 352.327308 214.470667 -L 353.573454 215.232735 -L 354.821596 215.890746 -L 356.071904 216.441893 -L 357.324539 216.884134 -L 358.579651 217.216212 -L 359.837377 217.437673 -L 361.097842 217.54887 -L 362.361155 217.55096 -L 363.627405 217.445886 -L 364.896667 217.236362 -L 366.168995 216.925835 -L 367.444425 216.518446 -L 368.722971 216.018984 -L 370.004628 215.432831 -L 371.289373 214.765898 -L 372.57716 214.024563 -L 373.867928 213.215594 -L 375.161596 212.346083 -L 376.458065 211.423363 -L 377.757225 210.454937 -L 379.058947 209.448394 -L 380.363093 208.411341 -L 381.669513 207.351324 -L 382.97805 206.275758 -L 384.288538 205.191865 -L 385.600809 204.106608 -L 386.914689 203.026638 -L 388.230007 201.958243 -L 389.546589 200.907305 -L 390.864267 199.879267 -L 392.182876 198.8791 -L 393.502257 197.911286 -L 394.822259 196.979798 -L 396.142739 196.088097 -L 397.463565 195.239132 -L 398.784612 194.43534 -L 400.105771 193.678663 -L 401.426941 192.970562 -L 402.748034 192.312038 -L 404.068975 191.703659 -L 405.3897 191.145587 -L 406.710155 190.637608 -L 408.030302 190.179168 -L 409.35011 189.769408 -L 410.669559 189.407194 -L 411.988641 189.091159 -L 413.307355 188.819734 -L 414.625709 188.591183 -L 415.943718 188.403636 -L 417.261403 188.25512 -L 418.578793 188.143589 -L 419.89592 188.066952 -L 421.212821 188.023095 -L 422.529535 188.009904 -L 423.846105 188.02529 -L 425.162576 188.067198 -L 426.478993 188.133629 -L 427.795401 188.222649 -L 429.111849 188.332401 -L 430.428381 188.461111 -L 431.745043 188.607097 -L 433.061878 188.768771 -L 434.37893 188.944643 -L 435.69624 189.133321 -" style="fill:none;stroke:#aac7fd;"/> - </g> - <g id="Line3DCollection_6"> - <path clip-path="url(#p23ac792d96)" d="M 284.114116 156.518143 -L 285.349568 156.811901 -L 286.58565 157.110097 -L 287.822361 157.413219 -L 289.059697 157.721794 -L 290.297655 158.036387 -L 291.536231 158.3576 -L 292.775419 158.686071 -L 294.015212 159.022475 -L 295.255605 159.36752 -L 296.496589 159.721941 -L 297.738154 160.086502 -L 298.980291 160.461989 -L 300.222987 160.849203 -L 301.46623 161.248954 -L 302.710006 161.662056 -L 303.954299 162.089317 -L 305.199094 162.531529 -L 306.444371 162.989458 -L 307.690114 163.463834 -L 308.936301 163.95534 -L 310.182911 164.464597 -L 311.429924 164.992152 -L 312.677318 165.538465 -L 313.92507 166.103895 -L 315.173157 166.688689 -L 316.421557 167.292962 -L 317.670249 167.916692 -L 318.919212 168.559701 -L 320.168425 169.221648 -L 321.417871 169.902016 -L 322.667534 170.600105 -L 323.917399 171.315023 -L 325.167455 172.045684 -L 326.417695 172.790799 -L 327.668114 173.548884 -L 328.918713 174.318253 -L 330.169494 175.097027 -L 331.420466 175.883144 -L 332.671643 176.674361 -L 333.923042 177.468275 -L 335.174689 178.262334 -L 336.42661 179.053858 -L 337.678842 179.840059 -L 338.931423 180.618062 -L 340.184398 181.384934 -L 341.437817 182.137712 -L 342.691735 182.873425 -L 343.946209 183.589132 -L 345.201302 184.281947 -L 346.457081 184.949072 -L 347.713613 185.587827 -L 348.970968 186.19568 -L 350.22922 186.770274 -L 351.48844 187.309456 -L 352.7487 187.811304 -L 354.010071 188.274144 -L 355.272623 188.696574 -L 356.536423 189.077484 -L 357.801534 189.416059 -L 359.068014 189.711802 -L 360.335918 189.964529 -L 361.605294 190.174377 -L 362.876186 190.341803 -L 364.148628 190.467574 -L 365.422649 190.552761 -L 366.698271 190.598726 -L 367.975506 190.607105 -L 369.254361 190.579787 -L 370.534833 190.518893 -L 371.816913 190.426754 -L 373.100582 190.305878 -L 374.385816 190.158926 -L 375.672584 189.988682 -L 376.960846 189.79802 -L 378.250559 189.589878 -L 379.541674 189.367222 -L 380.834135 189.13302 -L 382.127885 188.89021 -L 383.422862 188.641677 -L 384.719003 188.390222 -L 386.016242 188.138544 -L 387.314512 187.889213 -L 388.613747 187.644655 -L 389.91388 187.407136 -L 391.214847 187.178745 -L 392.516584 186.961389 -L 393.819032 186.756779 -L 395.122131 186.56643 -L 396.425828 186.391659 -L 397.730072 186.233581 -L 399.034816 186.093115 -L 400.34002 185.970988 -L 401.645644 185.867743 -L 402.951656 185.783746 -L 404.258028 185.719198 -L 405.564736 185.674142 -L 406.87176 185.648481 -L 408.179086 185.641989 -L 409.486703 185.65432 -L 410.794604 185.68503 -L 412.102786 185.733581 -L 413.41125 185.799363 -L 414.72 185.881702 -L 416.029041 185.979875 -L 417.338383 186.093119 -L 418.648036 186.220645 -L 419.958014 186.361648 -L 421.268331 186.515315 -L 422.579002 186.680834 -L 423.890045 186.857403 -L 425.201477 187.044234 -L 426.513316 187.24056 -L 427.825579 187.445641 -L 429.138284 187.658765 -L 430.451451 187.879254 -L 431.765095 188.106463 -L 433.079235 188.339786 -L 434.393887 188.578653 -L 435.709067 188.822532 -" style="fill:none;stroke:#6f92f3;"/> + <g id="xtick_24"> + <g id="line2d_27"> + <path d="M 375.505074 141.660379 +L 379.789225 142.519524 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-width:0.8;"/> + </g> </g> - <g id="Line3DCollection_7"> - <path clip-path="url(#p23ac792d96)" d="M 284.11332 156.365006 -L 285.34871 156.634175 -L 286.584734 156.904347 -L 287.821392 157.175622 -L 289.058684 157.448107 -L 290.29661 157.721915 -L 291.535168 157.997168 -L 292.774359 158.273996 -L 294.014181 158.552534 -L 295.254633 158.832927 -L 296.495715 159.115322 -L 297.737424 159.399875 -L 298.979759 159.686745 -L 300.222719 159.976093 -L 301.4663 160.268085 -L 302.7105 160.562884 -L 303.955317 160.860656 -L 305.200748 161.16156 -L 306.44679 161.465752 -L 307.693438 161.773382 -L 308.94069 162.084587 -L 310.188542 162.399496 -L 311.43699 162.718219 -L 312.686029 163.040851 -L 313.935656 163.367467 -L 315.185866 163.698118 -L 316.436656 164.032829 -L 317.688021 164.371599 -L 318.939957 164.714392 -L 320.192461 165.061143 -L 321.445529 165.411748 -L 322.699159 165.766069 -L 323.953348 166.123928 -L 325.208095 166.485105 -L 326.463397 166.849344 -L 327.719255 167.216344 -L 328.975669 167.585766 -L 330.232639 167.957231 -L 331.490169 168.330321 -L 332.74826 168.704584 -L 334.006918 169.079533 -L 335.266147 169.454649 -L 336.525954 169.82939 -L 337.786345 170.203187 -L 339.04733 170.575457 -L 340.308918 170.945603 -L 341.571119 171.31302 -L 342.833945 171.677103 -L 344.097408 172.037251 -L 345.361522 172.392876 -L 346.626299 172.743404 -L 347.891755 173.088289 -L 349.157904 173.42701 -L 350.424761 173.759087 -L 351.692342 174.084077 -L 352.960661 174.401587 -L 354.229733 174.711273 -L 355.499574 175.012848 -L 356.770197 175.306083 -L 358.041615 175.590812 -L 359.313841 175.866933 -L 360.586886 176.134408 -L 361.86076 176.393265 -L 363.135474 176.643598 -L 364.411033 176.885564 -L 365.687445 177.119384 -L 366.964714 177.345338 -L 368.242844 177.563759 -L 369.521835 177.775037 -L 370.801687 177.979607 -L 372.0824 178.177944 -L 373.363969 178.370564 -L 374.646391 178.55801 -L 375.929658 178.740853 -L 377.213764 178.919679 -L 378.498699 179.095089 -L 379.784454 179.267686 -L 381.071019 179.438077 -L 382.358382 179.606861 -L 383.64653 179.774623 -L 384.935452 179.941934 -L 386.225133 180.109341 -L 387.515563 180.277366 -L 388.806726 180.446501 -L 390.09861 180.617205 -L 391.391202 180.789899 -L 392.68449 180.96497 -L 393.978463 181.142762 -L 395.273108 181.323581 -L 396.568416 181.507691 -L 397.864376 181.695315 -L 399.160979 181.886639 -L 400.458218 182.081807 -L 401.756086 182.280927 -L 403.054576 182.484071 -L 404.353682 182.691278 -L 405.653401 182.902554 -L 406.95373 183.117878 -L 408.254665 183.337203 -L 409.556205 183.560458 -L 410.858349 183.78755 -L 412.161097 184.018371 -L 413.464449 184.252796 -L 414.768408 184.490688 -L 416.072973 184.731899 -L 417.378148 184.976275 -L 418.683936 185.223656 -L 419.990339 185.473879 -L 421.297361 185.726779 -L 422.605005 185.982191 -L 423.913276 186.239954 -L 425.222177 186.499908 -L 426.531712 186.761898 -L 427.841885 187.025774 -L 429.152701 187.291392 -L 430.464163 187.558616 -L 431.776276 187.827316 -L 433.089044 188.097368 -L 434.402469 188.368658 -L 435.716556 188.641078 -" style="fill:none;stroke:#3b4cc0;"/> + <g id="xtick_25"> + <g id="line2d_28"> + <path d="M 376.34216 125.974384 +L 380.653902 126.821956 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-width:0.8;"/> + </g> </g> - <g id="Line3DCollection_8"> - <path clip-path="url(#p23ac792d96)" d="M 284.113075 156.318058 -L 285.348462 156.582881 -L 286.584485 156.848369 -L 287.821144 157.1146 -L 289.058438 157.381659 -L 290.29637 157.64964 -L 291.534937 157.918642 -L 292.77414 158.188773 -L 294.013978 158.460147 -L 295.254452 158.732883 -L 296.495559 159.007109 -L 297.7373 159.282955 -L 298.979673 159.560557 -L 300.222677 159.840054 -L 301.46631 160.12159 -L 302.710571 160.405304 -L 303.955458 160.691341 -L 305.200968 160.979838 -L 306.447099 161.270932 -L 307.693849 161.564751 -L 308.941214 161.861416 -L 310.189192 162.161035 -L 311.437781 162.463705 -L 312.686976 162.769506 -L 313.936774 163.078499 -L 315.187173 163.390725 -L 316.438169 163.706201 -L 317.689759 164.024917 -L 318.94194 164.346836 -L 320.19471 164.671888 -L 321.448066 164.999973 -L 322.702006 165.330955 -L 323.956529 165.664662 -L 325.211634 166.000888 -L 326.46732 166.339386 -L 327.723587 166.679875 -L 328.980438 167.022035 -L 330.237872 167.365511 -L 331.495894 167.709914 -L 332.754507 168.05482 -L 334.013714 168.399779 -L 335.273523 168.744311 -L 336.533939 169.087914 -L 337.79497 169.430069 -L 339.056624 169.77024 -L 340.31891 170.107884 -L 341.58184 170.442454 -L 342.845424 170.773405 -L 344.109673 171.100199 -L 345.374601 171.422315 -L 346.640221 171.739249 -L 347.906545 172.050527 -L 349.173588 172.355704 -L 350.441363 172.654375 -L 351.709885 172.946178 -L 352.979167 173.2308 -L 354.249222 173.50798 -L 355.520063 173.777513 -L 356.791701 174.039255 -L 358.06415 174.293125 -L 359.337417 174.539104 -L 360.611514 174.777239 -L 361.886446 175.00764 -L 363.162222 175.230485 -L 364.438845 175.446012 -L 365.71632 175.654519 -L 366.994648 175.856362 -L 368.27383 176.051952 -L 369.553863 176.241746 -L 370.834745 176.426247 -L 372.116471 176.605996 -L 373.399035 176.781566 -L 374.682429 176.953557 -L 375.966644 177.122589 -L 377.251669 177.289295 -L 378.537493 177.454314 -L 379.824104 177.618288 -L 381.111487 177.781849 -L 382.399629 177.94562 -L 383.688514 178.110204 -L 384.978129 178.276184 -L 386.268457 178.444111 -L 387.559483 178.614506 -L 388.851193 178.787853 -L 390.143571 178.964597 -L 391.436603 179.145142 -L 392.730276 179.329847 -L 394.024575 179.519025 -L 395.319489 179.712945 -L 396.615007 179.911828 -L 397.911118 180.11585 -L 399.207812 180.325143 -L 400.505083 180.539795 -L 401.802921 180.75985 -L 403.101323 180.985316 -L 404.400282 181.21616 -L 405.699796 181.452318 -L 406.999861 181.693691 -L 408.300477 181.940154 -L 409.601643 182.191555 -L 410.90336 182.44772 -L 412.205629 182.708455 -L 413.508453 182.973551 -L 414.811835 183.242786 -L 416.115779 183.515927 -L 417.420289 183.792734 -L 418.725371 184.072963 -L 420.03103 184.356366 -L 421.337272 184.642696 -L 422.644104 184.931708 -L 423.951531 185.223161 -L 425.259562 185.516818 -L 426.568202 185.812451 -L 427.877458 186.109839 -L 429.187338 186.408767 -L 430.497848 186.709035 -L 431.808995 187.010451 -L 433.120786 187.312831 -L 434.433228 187.616007 -L 435.746325 187.91982 -" style="fill:none;stroke:#b40426;"/> + <g id="xtick_26"> + <g id="line2d_29"> + <path d="M 377.189729 110.091945 +L 381.52942 110.927586 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-width:0.8;"/> + </g> </g> - <g id="Line3DCollection_9"> - <path clip-path="url(#p23ac792d96)" d="M 284.115042 156.696154 -L 285.35067 157.040277 -L 286.58693 157.397687 -L 287.823815 157.770001 -L 289.061315 158.158973 -L 290.299418 158.566484 -L 291.538109 158.994548 -L 292.777371 159.445306 -L 294.017185 159.921024 -L 295.257526 160.424081 -L 296.498368 160.956961 -L 297.739681 161.522241 -L 298.981429 162.122573 -L 300.223574 162.760665 -L 301.466074 163.439257 -L 302.708882 164.161099 -L 303.951946 164.928915 -L 305.195212 165.745375 -L 306.438621 166.613059 -L 307.682108 167.534414 -L 308.925609 168.511717 -L 310.169053 169.547026 -L 311.412369 170.64214 -L 312.655484 171.798549 -L 313.898324 173.017386 -L 315.140813 174.29938 -L 316.382878 175.644811 -L 317.624447 177.053466 -L 318.865452 178.524594 -L 320.105829 180.05687 -L 321.345519 181.648359 -L 322.58447 183.296493 -L 323.82264 184.998042 -L 325.059995 186.749103 -L 326.296512 188.545092 -L 327.532184 190.380745 -L 328.767012 192.250131 -L 330.001016 194.146665 -L 331.234231 196.063147 -L 332.466707 197.991791 -L 333.698514 199.924281 -L 334.929737 201.851826 -L 336.16048 203.765229 -L 337.390866 205.654958 -L 338.621034 207.511231 -L 339.851141 209.324108 -L 341.08136 211.083579 -L 342.311879 212.779668 -L 343.5429 214.402532 -L 344.774638 215.942564 -L 346.007315 217.390498 -L 347.241166 218.737506 -L 348.476429 219.975304 -L 349.713346 221.096237 -L 350.952159 222.093377 -L 352.193111 222.960597 -L 353.436438 223.692649 -L 354.68237 224.285226 -L 355.931126 224.735016 -L 357.182913 225.039744 -L 358.437924 225.198205 -L 359.696332 225.210278 -L 360.958292 225.076936 -L 362.223936 224.800236 -L 363.493374 224.383302 -L 364.766689 223.830292 -L 366.043939 223.146353 -L 367.325156 222.337567 -L 368.610341 221.410885 -L 369.899472 220.374053 -L 371.192496 219.235526 -L 372.489334 218.004377 -L 373.789883 216.690203 -L 375.094014 215.303018 -L 376.401574 213.853155 -L 377.71239 212.351153 -L 379.026272 210.807654 -L 380.343009 209.233299 -L 381.66238 207.638622 -L 382.984149 206.033956 -L 384.308075 204.429336 -L 385.633907 202.834417 -L 386.961394 201.258395 -L 388.290283 199.709933 -L 389.620324 198.197106 -L 390.951271 196.727349 -L 392.282887 195.30741 -L 393.614942 193.943329 -L 394.94722 192.64041 -L 396.279515 191.403213 -L 397.611639 190.235552 -L 398.943418 189.140506 -L 400.274695 188.120431 -L 401.605331 187.176985 -L 402.935206 186.311162 -L 404.264216 185.523325 -L 405.592277 184.813248 -L 406.919321 184.180163 -L 408.245299 183.622807 -L 409.570179 183.139473 -L 410.893942 182.728063 -L 412.216587 182.386136 -L 413.538124 182.110965 -L 414.858579 181.899584 -L 416.177985 181.748836 -L 417.496389 181.655421 -L 418.813845 181.615941 -L 420.130414 181.626935 -L 421.446164 181.684923 -L 422.761169 181.786433 -L 424.075506 181.928038 -L 425.389254 182.106374 -L 426.702496 182.318172 -L 428.015315 182.56027 -L 429.327794 182.829631 -L 430.640015 183.123358 -L 431.95206 183.438702 -L 433.264007 183.773066 -L 434.575935 184.124016 -L 435.887917 184.489279 -" style="fill:none;stroke:#dddcdc;"/> + <g id="xtick_27"> + <g id="line2d_30"> + <path d="M 378.04798 94.009349 +L 382.415984 94.832689 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-width:0.8;"/> + </g> </g> + </g> + <g id="axes_1"> + <g id="Line3DCollection_4"/> + <g id="Line3DCollection_5"/> + <g id="Line3DCollection_6"/> + <g id="Line3DCollection_7"/> + <g id="Line3DCollection_8"/> + <g id="Line3DCollection_9"/> <g id="Line3DCollection_10"> - <path clip-path="url(#p23ac792d96)" d="M 347.066192 292.798264 -L 351.916687 294.259646 -L 356.994519 295.563649 -L 362.329994 296.685395 -L 367.961279 297.593627 -L 372.54786 298.115317 -L 377.156607 298.402031 -L 380.55716 298.418237 -L 382.389667 298.341883 -L 384.449695 298.127479 -L 386.758704 297.6009 -L 387.350565 297.410382 -L 388.25542 296.923204 -L 388.813646 296.354528 -L 389.024909 295.70442 -L 388.756325 294.768842 -L 388.144453 293.934295 -L 387.389021 293.211035 -L 385.616845 291.968086 -L 383.667541 290.865078 -L 380.526962 289.383576 -L 376.072933 287.624244 -L 371.394174 286.048858 -L 366.531751 284.624354 -L 360.219753 283.034849 -L 353.654676 281.649403 -L 346.819388 280.477293 -L 341.122944 279.715513 -L 335.139895 279.168888 -L 331.974887 279.02335 -L 328.570002 279.052314 -L 326.647311 279.226236 -L 325.761578 279.352225 -L 324.50123 279.743582 -L 323.799319 280.267574 -L 323.636756 280.91992 -L 323.997135 281.696966 -L 325.11294 282.7819 -L 326.826483 283.990828 -L 329.657686 285.623598 -L 332.670486 287.133983 -L 336.415117 288.817914 -L 341.29406 290.774534 -L 347.066192 292.798264 -L 347.066192 292.798264 -" style="fill:none;stroke:#ee8468;"/> + <path clip-path="url(#p6ec0e0aa4f)" d="M 280.012832 231.006435 +L 280.966011 231.295719 +L 281.942773 231.568767 +L 282.944847 231.824289 +L 283.973998 232.060961 +L 285.032024 232.277431 +L 286.12075 232.472323 +L 287.242028 232.644233 +L 287.832553 232.720383 +L 288.42617 232.771264 +L 289.694231 232.838092 +L 290.798482 232.859385 +L 291.073854 232.824575 +L 292.197471 232.640852 +L 292.703909 232.219141 +L 292.497412 231.797473 +L 292.382545 231.609371 +L 291.868697 231.270931 +L 291.122666 230.830004 +L 290.978891 230.753943 +L 290.275954 230.462446 +L 289.388508 230.124954 +L 288.474729 229.807097 +L 287.53445 229.508929 +L 286.567304 229.230649 +L 286.080838 229.104499 +L 285.568602 228.975544 +L 284.544482 228.739155 +L 283.621814 228.545022 +L 283.497541 228.519566 +L 282.414503 228.326188 +L 281.298977 228.156365 +L 280.148865 228.011512 +L 278.961643 227.893342 +L 278.149848 227.833328 +L 277.685406 227.838609 +L 276.228615 227.912012 +L 276.172304 227.916783 +L 275.385269 228.271693 +L 275.422832 228.483329 +L 275.505569 228.833964 +L 275.881689 229.118868 +L 276.558353 229.60102 +L 276.579046 229.614433 +L 277.378296 229.982298 +L 278.222407 230.347196 +L 279.089712 230.696351 +L 279.289019 230.769526 +L 280.012832 231.006435 +" style="fill:none;stroke:#d95847;stroke-width:1.5;"/> </g> <g id="Line3DCollection_11"> - <path clip-path="url(#p23ac792d96)" d="M 284.108123 155.366098 -L 285.343492 155.553222 -L 286.579534 155.736441 -L 287.816256 155.915749 -L 289.053663 156.091163 -L 290.291758 156.262727 -L 291.530549 156.430508 -L 292.77004 156.594603 -L 294.010236 156.755134 -L 295.251142 156.912248 -L 296.492763 157.066119 -L 297.735104 157.216946 -L 298.978168 157.364947 -L 300.221961 157.510362 -L 301.466486 157.653445 -L 302.711745 157.79446 -L 303.957743 157.93368 -L 305.20448 158.071374 -L 306.45196 158.207807 -L 307.700184 158.343231 -L 308.949154 158.477873 -L 310.19887 158.611932 -L 311.449333 158.745567 -L 312.700545 158.878887 -L 313.952506 159.011945 -L 315.205217 159.144724 -L 316.458681 159.27713 -L 317.712898 159.408984 -L 318.967872 159.540013 -L 320.223607 159.669839 -L 321.480108 159.797978 -L 322.737381 159.923829 -L 323.995435 160.046676 -L 325.25428 160.16568 -L 326.51393 160.279883 -L 327.774398 160.388208 -L 329.035702 160.489463 -L 330.297864 160.582347 -L 331.560905 160.665458 -L 332.824854 160.737308 -L 334.089738 160.796332 -L 335.355592 160.840904 -L 336.622449 160.86936 -L 337.890349 160.880013 -L 339.159333 160.871178 -L 340.429443 160.841193 -L 341.700725 160.788451 -L 342.973226 160.711417 -L 344.246994 160.608661 -L 345.522077 160.478885 -L 346.798523 160.320947 -L 348.07638 160.133888 -L 349.355693 159.916961 -L 350.636507 159.669649 -L 351.918861 159.39169 -L 353.202793 159.083095 -L 354.488334 158.744166 -L 355.775512 158.375508 -L 357.064345 157.978036 -L 358.354849 157.552987 -L 359.647029 157.101918 -L 360.940882 156.626703 -L 362.236397 156.129529 -L 363.533556 155.612886 -L 364.832327 155.079548 -L 366.132672 154.532561 -L 367.434543 153.975213 -L 368.73788 153.411015 -L 370.042617 152.843667 -L 371.348676 152.277028 -L 372.655971 151.715082 -L 373.964408 151.161899 -L 375.273885 150.621603 -L 376.584296 150.098326 -L 377.895524 149.596175 -L 379.207451 149.119191 -L 380.519954 148.671312 -L 381.832907 148.256337 -L 383.146182 147.877888 -L 384.459651 147.539381 -L 385.773186 147.243997 -L 387.086661 146.99465 -L 388.399954 146.793968 -L 389.712946 146.644274 -L 391.025522 146.547564 -L 392.337574 146.505501 -L 393.649002 146.519401 -L 394.959713 146.590233 -L 396.26962 146.718617 -L 397.578649 146.904824 -L 398.886734 147.148786 -L 400.193817 147.450105 -L 401.499853 147.808063 -L 402.804806 148.22164 -L 404.108651 148.689532 -L 405.411372 149.210168 -L 406.712966 149.781734 -L 408.013436 150.402196 -L 409.312799 151.06932 -L 410.611078 151.780701 -L 411.908307 152.533784 -L 413.204526 153.325894 -L 414.499783 154.154251 -L 415.794136 155.016004 -L 417.087646 155.908249 -L 418.380381 156.828051 -L 419.672415 157.772465 -L 420.963823 158.738559 -L 422.254687 159.723429 -L 423.545091 160.724215 -L 424.835121 161.738122 -L 426.124865 162.762426 -L 427.414411 163.794493 -L 428.703849 164.831787 -L 429.993267 165.871878 -L 431.282754 166.912452 -L 432.572398 167.951315 -L 433.862284 168.986402 -L 435.152497 170.015774 -L 436.443116 171.037627 -" style="fill:none;stroke:#e7745b;"/> + <path clip-path="url(#p6ec0e0aa4f)" d="M 227.292565 128.962268 +L 228.281025 129.22643 +L 229.269984 129.499322 +L 230.259438 129.781926 +L 231.249378 130.0753 +L 232.239798 130.380575 +L 233.230687 130.698958 +L 234.222033 131.031731 +L 235.213823 131.380243 +L 236.206042 131.745911 +L 237.198673 132.13021 +L 238.191694 132.534668 +L 239.185085 132.960855 +L 240.17882 133.410371 +L 241.172872 133.884837 +L 242.167211 134.385874 +L 243.161805 134.91509 +L 244.156619 135.474062 +L 245.151615 136.064312 +L 246.146754 136.687285 +L 247.141993 137.344329 +L 248.137289 138.036667 +L 249.132598 138.765368 +L 250.127872 139.531329 +L 251.123065 140.335236 +L 252.11813 141.177548 +L 253.113019 142.058463 +L 254.107689 142.977893 +L 255.102095 143.935445 +L 256.096196 144.930392 +L 257.089954 145.961658 +L 258.083335 147.027798 +L 259.076312 148.126988 +L 260.06886 149.257013 +L 261.060965 150.415262 +L 262.052617 151.59873 +L 263.043815 152.804021 +L 264.034568 154.027361 +L 265.024894 155.26461 +L 266.01482 156.511286 +L 267.004385 157.762591 +L 267.993637 159.013444 +L 268.982637 160.258518 +L 269.971455 161.492282 +L 270.960172 162.709046 +L 271.948881 163.903017 +L 272.937684 165.068345 +L 273.926691 166.199187 +L 274.916024 167.289757 +L 275.905809 168.334395 +L 276.896181 169.327617 +L 277.88728 170.264178 +L 278.879249 171.13913 +L 279.872235 171.947876 +L 280.866385 172.686219 +L 281.861846 173.350413 +L 282.858763 173.937206 +L 283.857277 174.443874 +L 284.857523 174.868258 +L 285.859631 175.208783 +L 286.86372 175.464483 +L 287.869902 175.635008 +L 288.878274 175.72063 +L 289.888924 175.722239 +L 290.901924 175.641332 +L 291.917334 175.479999 +L 292.935196 175.240893 +L 293.95554 174.927203 +L 294.978377 174.542618 +L 296.003703 174.09128 +L 297.031498 173.577742 +L 298.061728 173.006913 +L 299.094343 172.384007 +L 300.129276 171.714484 +L 301.166452 171.00399 +L 302.20578 170.258301 +L 303.247157 169.483264 +L 304.290474 168.684733 +L 305.33561 167.868519 +L 306.38244 167.040334 +L 307.430831 166.205736 +L 308.480647 165.370088 +L 309.531752 164.538511 +L 310.584005 163.715847 +L 311.637271 162.906625 +L 312.691414 162.115036 +L 313.746301 161.344907 +L 314.801806 160.59969 +L 315.857807 159.882444 +L 316.914191 159.195835 +L 317.970852 158.542131 +L 319.02769 157.923212 +L 320.084617 157.34057 +L 321.141553 156.795333 +L 322.198428 156.288269 +L 323.25518 155.819818 +L 324.31176 155.390102 +L 325.368124 154.998958 +L 326.424242 154.64596 +L 327.480088 154.330444 +L 328.535647 154.05154 +L 329.590913 153.808193 +L 330.645884 153.599195 +L 331.700567 153.423211 +L 332.754974 153.278799 +L 333.809123 153.164442 +L 334.863035 153.078564 +L 335.916736 153.019553 +L 336.970257 152.985783 +L 338.023628 152.975626 +L 339.076884 152.987473 +L 340.130061 153.019743 +L 341.183194 153.070895 +L 342.236321 153.13944 +L 343.289479 153.223949 +L 344.342705 153.323056 +L 345.396034 153.435465 +L 346.449503 153.559954 +L 347.503144 153.695375 +L 348.556992 153.840657 +" style="fill:none;stroke:#b9d0f9;stroke-width:1.5;"/> </g> <g id="Line3DCollection_12"> - <path clip-path="url(#p23ac792d96)" d="M 283.268051 299.477578 -L 283.081544 299.410729 -L 282.128459 299.067098 -L 281.03165 298.626857 -L 279.978869 298.156061 -L 279.13015 297.73324 -L 278.972474 297.65312 -L 278.017781 297.114344 -L 277.114164 296.54029 -L 277.085079 296.519826 -L 276.273233 295.922803 -L 275.738401 295.477062 -L 275.495908 295.261365 -L 274.792705 294.54864 -L 274.774958 294.528346 -L 274.182693 293.771255 -L 274.101127 293.650856 -L 273.682369 292.917715 -L 273.637628 292.825295 -L 273.350646 292.043396 -L 273.331097 291.960374 -L 273.21793 291.299707 -L 273.209243 290.842692 -L 273.216792 290.588683 -L 273.343816 289.909438 -L 273.526309 289.417082 -L 273.58916 289.259544 -L 273.956469 288.639823 -L 274.44267 288.049481 -L 275.053558 287.489858 -L 275.797841 286.962991 -L 276.687748 286.471759 -L 277.739877 286.020081 -L 278.849215 285.654643 -L 278.977403 285.613449 -L 280.442372 285.261863 -L 281.305043 285.114318 -L 282.181691 284.976466 -L 283.359973 284.856829 -L 284.285342 284.778694 -L 285.214562 284.740855 -L 286.909147 284.705689 -L 286.954163 284.706257 -L 288.578835 284.753247 -L 290.155139 284.834736 -L 290.471064 284.857227 -L 291.660968 284.966576 -L 293.121913 285.130682 -L 294.546472 285.321094 -L 295.936454 285.536601 -L 297.09497 285.740745 -L 297.292311 285.77696 -L 298.612536 286.043329 -L 299.906141 286.32933 -L 301.174462 286.634069 -L 302.418782 286.956683 -L 303.640342 287.296337 -L 303.802924 287.344713 -L 304.833616 287.657061 -L 306.003197 288.035614 -L 307.151452 288.430345 -L 308.279638 288.840399 -L 309.388987 289.264934 -L 310.116952 289.557698 -L 310.473012 289.708688 -L 311.522942 290.178075 -L 312.555822 290.66082 -L 313.300382 291.023895 -L 313.562766 291.163414 -L 314.525116 291.699475 -L 315.472728 292.247397 -L 315.479013 292.251177 -L 316.34884 292.848542 -L 317.023035 293.32784 -L 317.193516 293.473882 -L 317.960507 294.157236 -L 318.111855 294.296639 -L 318.621064 294.919787 -L 318.823732 295.176158 -L 319.129552 295.795154 -L 319.217771 295.980427 -L 319.330888 296.718177 -L 319.289591 296.927431 -L 319.193783 297.396668 -L 318.833324 298.022256 -L 318.270443 298.599881 -L 317.520712 299.133207 -L 316.597415 299.625354 -L 315.511348 300.078849 -L 314.533218 300.40861 -L 314.268325 300.495026 -L 312.864146 300.8728 -L 311.886434 301.090687 -L 311.301635 301.212783 -L 309.60086 301.5075 -L 309.570138 301.51233 -L 307.641386 301.764528 -L 307.514062 301.778404 -L 305.55245 301.957497 -L 305.486412 301.962278 -L 303.689753 302.064198 -L 303.032405 302.087844 -L 301.903361 302.115182 -L 300.188713 302.119121 -L 300.181642 302.119077 -L 298.523478 302.076843 -L 296.915953 301.997992 -L 296.633952 301.978 -L 295.359878 301.882053 -L 293.849865 301.73304 -L 292.383493 301.55281 -L 291.172573 301.374055 -L 290.959589 301.342308 -L 289.577587 301.102037 -L 288.235848 300.833274 -L 286.93398 300.536389 -L 285.671882 300.211545 -L 284.449746 299.858694 -L 283.268051 299.477578 -" style="fill:none;stroke:#3b4cc0;"/> + <path clip-path="url(#p6ec0e0aa4f)" d="M 227.291293 128.72697 +L 228.279654 128.953164 +L 229.26852 129.182775 +L 230.257889 129.416179 +L 231.247758 129.653781 +L 232.238124 129.896018 +L 233.228985 130.143352 +L 234.220335 130.396275 +L 235.21217 130.655306 +L 236.204484 130.92099 +L 237.197271 131.193894 +L 238.190523 131.474607 +L 239.184233 131.763732 +L 240.17839 132.061886 +L 241.172984 132.369694 +L 242.168005 132.687783 +L 243.163439 133.016774 +L 244.159275 133.357277 +L 245.155497 133.709882 +L 246.152091 134.075152 +L 247.14904 134.453612 +L 248.146329 134.84574 +L 249.14394 135.251957 +L 250.141854 135.672618 +L 251.140056 136.107999 +L 252.138525 136.55829 +L 253.137246 137.023581 +L 254.136199 137.503853 +L 255.135369 137.99897 +L 256.13474 138.508669 +L 257.134297 139.032552 +L 258.134027 139.570081 +L 259.133919 140.120568 +L 260.133964 140.683176 +L 261.134156 141.256916 +L 262.134492 141.840641 +L 263.13497 142.433055 +L 264.135595 143.032711 +L 265.136373 143.638021 +L 266.137314 144.247258 +L 267.138434 144.858572 +L 268.139751 145.469997 +L 269.141288 146.079471 +L 270.143074 146.684845 +L 271.145138 147.283907 +L 272.147519 147.874399 +L 273.150254 148.454038 +L 274.153388 149.020537 +L 275.156967 149.571632 +L 276.161042 150.105099 +L 277.165665 150.618786 +L 278.17089 151.110627 +L 279.176775 151.578674 +L 280.183376 152.021111 +L 281.190752 152.436281 +L 282.19896 152.822704 +L 283.208057 153.179091 +L 284.218099 153.504362 +L 285.229138 153.797662 +L 286.241227 154.058366 +L 287.254411 154.286088 +L 288.268734 154.480687 +L 289.284236 154.642271 +L 290.300949 154.771188 +L 291.318902 154.868032 +L 292.338119 154.933626 +L 293.358617 154.969019 +L 294.380405 154.975471 +L 295.403489 154.954436 +L 296.427866 154.907548 +L 297.45353 154.8366 +L 298.480466 154.743526 +L 299.508653 154.630373 +L 300.538067 154.499285 +L 301.568677 154.352476 +L 302.600448 154.192206 +L 303.633339 154.020761 +L 304.667308 153.840425 +L 305.702308 153.653462 +L 306.73829 153.462091 +L 307.775202 153.268471 +L 308.812993 153.074679 +L 309.85161 152.882694 +L 310.890997 152.694385 +L 311.931104 152.511495 +L 312.971878 152.335634 +L 314.013267 152.168269 +L 315.055225 152.010719 +L 316.097705 151.864151 +L 317.140662 151.729577 +L 318.184057 151.607857 +L 319.227853 151.499698 +L 320.272016 151.405661 +L 321.316515 151.326162 +L 322.361325 151.261485 +L 323.406423 151.211782 +L 324.451789 151.177089 +L 325.497408 151.157331 +L 326.543269 151.152331 +L 327.589362 151.161827 +L 328.635683 151.185473 +L 329.682229 151.222857 +L 330.729 151.27351 +L 331.776 151.336911 +L 332.823233 151.412504 +L 333.870706 151.499701 +L 334.918429 151.597897 +L 335.966411 151.706469 +L 337.014665 151.824793 +L 338.063202 151.952243 +L 339.112036 152.088201 +L 340.161182 152.23206 +L 341.210652 152.383231 +L 342.260463 152.541144 +L 343.310627 152.705249 +L 344.361161 152.875025 +L 345.412076 153.049977 +L 346.463388 153.229636 +L 347.51511 153.413563 +L 348.567254 153.60135 +" style="fill:none;stroke:#8db0fe;stroke-width:1.5;"/> </g> <g id="Line3DCollection_13"> - <path clip-path="url(#p23ac792d96)" d="M 399.24716 291.953812 -L 395.731221 290.326794 -L 391.668491 288.656109 -L 386.592856 286.796559 -L 381.212228 285.028135 -L 373.891577 282.911292 -L 367.595071 281.314402 -L 359.804971 279.594363 -L 351.763424 278.081423 -L 343.476257 276.767328 -L 334.949539 275.643861 -L 326.157878 274.725701 -L 318.223579 274.140783 -L 312.130477 273.970024 -L 310.396203 274.012283 -L 308.558004 274.128526 -L 307.207161 274.280256 -L 305.82264 274.638977 -L 305.048589 275.142522 -L 304.918261 275.799021 -L 305.442823 276.611396 -L 306.860919 277.733805 -L 309.614851 279.373008 -L 312.538277 280.900759 -L 315.898023 282.548385 -L 330.117779 289.002304 -L 337.674625 292.19022 -L 344.384213 294.789001 -L 350.206728 296.808202 -L 356.305131 298.642607 -L 361.414499 299.950893 -L 366.752722 301.09754 -L 372.325101 302.076353 -L 378.148517 302.872179 -L 384.243818 303.466546 -L 384.243818 303.466546 -" style="fill:none;stroke:#f2cbb7;"/> + <path clip-path="url(#p6ec0e0aa4f)" d="M 227.290656 128.609055 +L 228.278968 128.816315 +L 229.267787 129.024347 +L 230.257114 129.233229 +L 231.246947 129.443042 +L 232.237288 129.653874 +L 233.228135 129.865819 +L 234.219487 130.078977 +L 235.211345 130.293451 +L 236.203707 130.509354 +L 237.196572 130.726798 +L 238.189939 130.945904 +L 239.183808 131.166793 +L 240.178175 131.389592 +L 241.17304 131.614425 +L 242.1684 131.841421 +L 243.164254 132.070705 +L 244.160599 132.302401 +L 245.157432 132.536629 +L 246.154751 132.773504 +L 247.152552 133.013132 +L 248.150834 133.255612 +L 249.149592 133.501028 +L 250.148823 133.749455 +L 251.148525 134.00095 +L 252.148693 134.255551 +L 253.149325 134.513279 +L 254.150417 134.774131 +L 255.151965 135.038082 +L 256.153969 135.30508 +L 257.156423 135.575046 +L 258.159327 135.847873 +L 259.162679 136.123424 +L 260.166476 136.401531 +L 261.170718 136.681995 +L 262.175404 136.964585 +L 263.180535 137.24904 +L 264.186111 137.535068 +L 265.192135 137.822347 +L 266.198608 138.11053 +L 267.205534 138.39924 +L 268.212918 138.68808 +L 269.220763 138.97663 +L 270.229076 139.264454 +L 271.237864 139.551102 +L 272.247135 139.836114 +L 273.256895 140.119025 +L 274.267156 140.399369 +L 275.277927 140.676684 +L 276.289217 140.950514 +L 277.301039 141.220421 +L 278.313404 141.485982 +L 279.326323 141.746798 +L 280.339809 142.002497 +L 281.353873 142.252739 +L 282.368529 142.497222 +L 283.383787 142.73568 +L 284.399659 142.967893 +L 285.416157 143.193684 +L 286.433292 143.412925 +L 287.451073 143.625538 +L 288.469509 143.831494 +L 289.488608 144.030814 +L 290.508379 144.22357 +L 291.528827 144.409884 +L 292.549956 144.589926 +L 293.571771 144.76391 +L 294.594275 144.932095 +L 295.617468 145.094779 +L 296.64135 145.252297 +L 297.66592 145.405017 +L 298.691176 145.553334 +L 299.717113 145.697668 +L 300.743726 145.838457 +L 301.771011 145.976153 +L 302.798959 146.111218 +L 303.827563 146.244118 +L 304.856815 146.37532 +L 305.886705 146.505283 +L 306.917224 146.63446 +L 307.948361 146.763289 +L 308.980107 146.892192 +L 310.01245 147.021572 +L 311.04538 147.151806 +L 312.078888 147.283248 +L 313.112962 147.416222 +L 314.147592 147.551027 +L 315.18277 147.687927 +L 316.218486 147.827157 +L 317.254732 147.968922 +L 318.2915 148.113393 +L 319.328783 148.260712 +L 320.366575 148.410992 +L 321.404869 148.564314 +L 322.44366 148.720735 +L 323.482946 148.880284 +L 324.522721 149.042967 +L 325.562984 149.208766 +L 326.603732 149.377647 +L 327.644964 149.549552 +L 328.686679 149.724414 +L 329.728878 149.902146 +L 330.77156 150.082653 +L 331.814726 150.265829 +L 332.858379 150.451562 +L 333.902519 150.639732 +L 334.947149 150.830215 +L 335.992271 151.022887 +L 337.037889 151.217619 +L 338.084004 151.414287 +L 339.130621 151.612765 +L 340.177741 151.812929 +L 341.22537 152.014661 +L 342.273508 152.217846 +L 343.322161 152.422372 +L 344.371331 152.628135 +L 345.421021 152.835033 +L 346.471235 153.042973 +L 347.521975 153.251867 +L 348.573245 153.46163 +" style="fill:none;stroke:#6282ea;stroke-width:1.5;"/> </g> <g id="Line3DCollection_14"> - <path clip-path="url(#p23ac792d96)" d="M 284.104357 154.642241 -L 285.339775 154.783391 -L 286.5759 154.920087 -L 287.812738 155.05267 -L 289.050296 155.181551 -L 290.288582 155.307217 -L 291.5276 155.430229 -L 292.767356 155.551228 -L 294.007856 155.670929 -L 295.249102 155.790123 -L 296.491097 155.909668 -L 297.733842 156.03049 -L 298.977338 156.153572 -L 300.221583 156.279944 -L 301.466574 156.410675 -L 302.712306 156.546854 -L 303.958774 156.68958 -L 305.205968 156.839942 -L 306.453879 156.998997 -L 307.702496 157.167752 -L 308.951807 157.347136 -L 310.201798 157.537978 -L 311.452455 157.740981 -L 312.703761 157.956692 -L 313.955703 158.185474 -L 315.208266 158.427483 -L 316.461434 158.682633 -L 317.715196 158.950576 -L 318.969541 159.230674 -L 320.224461 159.521977 -L 321.479952 159.823203 -L 322.736014 160.132721 -L 323.992652 160.448539 -L 325.249876 160.768296 -L 326.507704 161.08926 -L 327.766159 161.40833 -L 329.025275 161.722044 -L 330.28509 162.026594 -L 331.545656 162.317851 -L 332.807029 162.591388 -L 334.069279 162.842517 -L 335.332483 163.06633 -L 336.596727 163.257746 -L 337.862109 163.411564 -L 339.128732 163.522521 -L 340.396711 163.585353 -L 341.666165 163.594863 -L 342.937223 163.545992 -L 344.210016 163.433888 -L 345.484679 163.253975 -L 346.761353 163.002034 -L 348.040175 162.674266 -L 349.321283 162.267364 -L 350.604812 161.778577 -L 351.890893 161.205772 -L 353.179646 160.547488 -L 354.471186 159.802982 -L 355.765614 158.972274 -L 357.063019 158.056177 -L 358.363474 157.056318 -L 359.667035 155.975154 -L 360.97374 154.815976 -L 362.283605 153.582898 -L 363.596627 152.280843 -L 364.912776 150.915515 -L 366.232004 149.493356 -L 367.554235 148.021504 -L 368.879371 146.507728 -L 370.207288 144.960369 -L 371.537842 143.388263 -L 372.870861 141.800656 -L 374.206157 140.207123 -L 375.543517 138.617476 -L 376.882711 137.041665 -L 378.223494 135.489687 -L 379.565604 133.971485 -L 380.908768 132.496857 -L 382.252703 131.075354 -L 383.597119 129.716197 -L 384.941722 128.42819 -L 386.286218 127.219637 -L 387.630312 126.098272 -L 388.973715 125.071193 -L 390.316145 124.144805 -L 391.65733 123.324775 -L 392.99701 122.615993 -L 394.33494 122.022543 -L 395.67089 121.547688 -L 397.004651 121.19386 -L 398.336033 120.962659 -L 399.664867 120.854871 -L 400.991006 120.870479 -L 402.314329 121.008697 -L 403.634736 121.267999 -L 404.952152 121.646163 -L 406.266526 122.140316 -L 407.577831 122.746985 -L 408.886062 123.462153 -L 410.191236 124.281313 -L 411.493394 125.199529 -L 412.792594 126.211494 -L 414.088914 127.311593 -L 415.38245 128.493957 -L 416.673314 129.752526 -L 417.961631 131.081102 -L 419.247542 132.473402 -L 420.531196 133.923108 -L 421.812753 135.423918 -L 423.092381 136.969583 -L 424.370255 138.553952 -L 425.646552 140.171006 -L 426.921457 141.814889 -L 428.195154 143.479939 -L 429.467828 145.160707 -L 430.739665 146.851984 -L 432.010847 148.548812 -L 433.281555 150.246501 -L 434.551966 151.940637 -L 435.822253 153.627091 -L 437.092584 155.302022 -" style="fill:none;stroke:#f7b89c;"/> + <path clip-path="url(#p6ec0e0aa4f)" d="M 227.29046 128.572904 +L 228.27877 128.776819 +L 229.267588 128.981244 +L 230.256915 129.186242 +L 231.246751 129.391877 +L 232.237096 129.598223 +L 233.227949 129.805355 +L 234.219312 130.013355 +L 235.211183 130.222313 +L 236.203561 130.43232 +L 237.196447 130.643474 +L 238.18984 130.855875 +L 239.183738 131.069629 +L 240.178142 131.284842 +L 241.173048 131.501624 +L 242.168457 131.720084 +L 243.164366 131.940332 +L 244.160774 132.162476 +L 245.157679 132.386618 +L 246.155079 132.612858 +L 247.152971 132.84129 +L 248.151354 133.071997 +L 249.150225 133.305053 +L 250.14958 133.54052 +L 251.149419 133.778444 +L 252.149738 134.018859 +L 253.150535 134.261775 +L 254.151807 134.507186 +L 255.153552 134.755064 +L 256.155768 135.005354 +L 257.158452 135.257979 +L 258.161605 135.512835 +L 259.165223 135.76979 +L 260.169307 136.028684 +L 261.173856 136.289327 +L 262.17887 136.551504 +L 263.18435 136.814967 +L 264.190298 137.079444 +L 265.196715 137.344634 +L 266.203605 137.610212 +L 267.210972 137.87583 +L 268.218818 138.141119 +L 269.227151 138.405694 +L 270.235976 138.669153 +L 271.245299 138.931085 +L 272.255128 139.191071 +L 273.265472 139.44869 +L 274.276339 139.703522 +L 275.287739 139.955154 +L 276.299681 140.203183 +L 277.312176 140.447222 +L 278.325236 140.686906 +L 279.33887 140.921892 +L 280.353091 141.151869 +L 281.367908 141.376557 +L 282.383333 141.595716 +L 283.399377 141.809144 +L 284.41605 142.016685 +L 285.433361 142.218227 +L 286.45132 142.413706 +L 287.469934 142.60311 +L 288.489211 142.786474 +L 289.509157 142.963883 +L 290.529778 143.135474 +L 291.551076 143.301429 +L 292.573056 143.46198 +L 293.595719 143.617399 +L 294.619064 143.768003 +L 295.64309 143.914144 +L 296.667796 144.05621 +L 297.693177 144.194617 +L 298.719228 144.329806 +L 299.745943 144.462239 +L 300.773315 144.592393 +L 301.801335 144.720757 +L 302.829995 144.847822 +L 303.859283 144.974081 +L 304.88919 145.100024 +L 305.919703 145.226127 +L 306.950811 145.352857 +L 307.982503 145.480662 +L 309.014766 145.609965 +L 310.047587 145.741169 +L 311.080954 145.874647 +L 312.114857 146.01074 +L 313.149283 146.14976 +L 314.18422 146.291982 +L 315.21966 146.437649 +L 316.255591 146.586967 +L 317.292005 146.740107 +L 318.328894 146.897205 +L 319.36625 147.05836 +L 320.404066 147.223642 +L 321.442337 147.393085 +L 322.481058 147.566693 +L 323.520226 147.744443 +L 324.559837 147.926285 +L 325.599889 148.112142 +L 326.640382 148.301919 +L 327.681315 148.495497 +L 328.722688 148.692744 +L 329.764503 148.89351 +L 330.806762 149.097634 +L 331.849468 149.304945 +L 332.892623 149.515264 +L 333.936231 149.728405 +L 334.980297 149.944181 +L 336.024824 150.162402 +L 337.069818 150.382876 +L 338.115283 150.605415 +L 339.161225 150.829834 +L 340.207649 151.05595 +L 341.254561 151.283588 +L 342.301966 151.512576 +L 343.34987 151.742751 +L 344.398278 151.973957 +L 345.447196 152.206047 +L 346.496629 152.43888 +L 347.546582 152.672326 +L 348.59706 152.906261 +" style="fill:none;stroke:#dd5f4b;stroke-width:1.5;"/> </g> <g id="Line3DCollection_15"> - <path clip-path="url(#p23ac792d96)" d="M 272.418006 304.792077 -L 269.069012 303.499307 -L 265.98185 302.028401 -L 263.145492 300.335317 -L 261.496081 299.130615 -L 259.974795 297.787128 -L 258.651735 296.30952 -L 257.556445 294.650473 -L 256.866341 293.049489 -L 256.536333 291.539722 -L 256.509177 290.10698 -L 256.754131 288.743544 -L 257.2548 287.445203 -L 258.007442 286.210813 -L 259.020782 285.042242 -L 260.324568 283.946404 -L 261.967298 282.934686 -L 264.017274 282.023172 -L 266.578122 281.236334 -L 269.799797 280.609618 -L 273.96127 280.209145 -L 278.231867 280.139062 -L 281.436467 280.254344 -L 285.959023 280.62915 -L 290.227368 281.186544 -L 295.605184 282.158253 -L 300.694193 283.344617 -L 305.538754 284.7165 -L 310.171636 286.252632 -L 314.617676 287.937121 -L 318.88459 289.766256 -L 322.971394 291.742616 -L 325.901939 293.334634 -L 329.399289 295.585796 -L 331.72758 297.562281 -L 332.521483 298.514009 -L 333.035025 299.399997 -L 333.278023 300.069435 -L 333.335213 300.796689 -L 333.191387 301.476473 -L 332.86048 302.112054 -L 332.370969 302.710211 -L 331.729731 303.272531 -L 330.054501 304.304464 -L 327.944634 305.233919 -L 325.456044 306.074045 -L 322.630094 306.834529 -L 318.337933 307.721721 -L 314.003628 308.373749 -L 309.834802 308.804511 -L 304.373006 309.108559 -L 299.158078 309.134163 -L 294.258878 308.929758 -L 289.640219 308.52308 -L 285.277534 307.933836 -L 281.146188 307.181524 -L 277.249354 306.265415 -L 273.585552 305.188118 -L 272.418006 304.792077 -L 272.418006 304.792077 -" style="fill:none;stroke:#7b9ff9;"/> + <path clip-path="url(#p6ec0e0aa4f)" d="M 227.292034 128.864039 +L 228.280536 129.129014 +L 229.269544 129.404219 +L 230.259052 129.690901 +L 231.249052 129.990409 +L 232.239534 130.304193 +L 233.230487 130.633802 +L 234.221897 130.980886 +L 235.213748 131.347189 +L 236.206021 131.734542 +L 237.198695 132.14486 +L 238.191744 132.580126 +L 239.185143 133.042381 +L 240.178859 133.533712 +L 241.172859 134.056228 +L 242.167106 134.612046 +L 243.161557 135.203264 +L 244.15617 135.831939 +L 245.150896 136.500056 +L 246.145686 137.209499 +L 247.140487 137.962022 +L 248.135242 138.75921 +L 249.129896 139.602448 +L 250.124388 140.492883 +L 251.118659 141.431387 +L 252.11265 142.418522 +L 253.106302 143.454505 +L 254.099558 144.539169 +L 255.092362 145.671938 +L 256.084663 146.85179 +L 257.076415 148.077237 +L 258.067576 149.3463 +L 259.058112 150.656492 +L 260.047996 152.004809 +L 261.03721 153.387721 +L 262.025747 154.801174 +L 263.013609 156.240601 +L 264.000813 157.700932 +L 264.987385 159.176623 +L 265.973366 160.661679 +L 266.958811 162.149696 +L 267.943789 163.633906 +L 268.928384 165.107226 +L 269.912693 166.562317 +L 270.896827 167.991648 +L 271.880913 169.387563 +L 272.865088 170.742356 +L 273.849503 172.048344 +L 274.83432 173.29795 +L 275.81971 174.483774 +L 276.805852 175.598683 +L 277.792933 176.63588 +L 278.781143 177.588984 +L 279.770677 178.452103 +L 280.761728 179.2199 +L 281.754489 179.887659 +L 282.749151 180.451339 +L 283.745896 180.907624 +L 284.744901 181.253962 +L 285.746331 181.488603 +L 286.750339 181.610618 +L 287.757065 181.619914 +L 288.766633 181.517241 +L 289.779149 181.304182 +L 290.794699 180.983143 +L 291.813351 180.557325 +L 292.835151 180.030692 +L 293.860125 179.407926 +L 294.888273 178.694381 +L 295.919577 177.896021 +L 296.953997 177.019355 +L 297.991467 176.07137 +L 299.031906 175.059456 +L 300.075211 173.991324 +L 301.121259 172.874929 +L 302.169912 171.718388 +L 303.221017 170.529894 +L 304.274407 169.31764 +L 305.329904 168.089739 +L 306.387319 166.854146 +L 307.44646 165.618589 +L 308.507125 164.390501 +L 309.569115 163.176964 +L 310.632226 161.984648 +L 311.696259 160.819772 +L 312.761017 159.688058 +L 313.82631 158.594706 +L 314.891954 157.544364 +L 315.957776 156.541116 +L 317.023612 155.588474 +L 318.089311 154.689375 +L 319.154734 153.84619 +L 320.219756 153.060732 +L 321.284265 152.334279 +L 322.348165 151.667595 +L 323.411373 151.06096 +L 324.473821 150.514201 +L 325.535457 150.026726 +L 326.596239 149.597562 +L 327.656143 149.225394 +L 328.715154 148.908608 +L 329.773269 148.645325 +L 330.8305 148.433443 +L 331.886863 148.27068 +L 332.942388 148.154604 +L 333.997111 148.082674 +L 335.051076 148.052274 +L 336.104331 148.06074 +L 337.156931 148.105391 +L 338.208935 148.183554 +L 339.260404 148.292589 +L 340.311403 148.429908 +L 341.361997 148.592993 +L 342.412252 148.779408 +L 343.462235 148.986816 +L 344.512012 149.212986 +L 345.561648 149.4558 +L 346.611206 149.713261 +L 347.660748 149.983493 +L 348.710333 150.264745 +" style="fill:none;stroke:#dddcdc;stroke-width:1.5;"/> </g> <g id="Line3DCollection_16"> - <path clip-path="url(#p23ac792d96)" d="M 229.118401 270.068859 -L 248.542101 271.630068 -L 260.306421 272.785987 -L 270.24039 273.979714 -L 278.534355 275.209722 -L 285.207228 276.414449 -L 291.628518 277.8097 -L 297.788001 279.405733 -L 303.70021 281.195317 -L 309.399612 283.15674 -L 314.92969 285.261317 -L 321.915067 288.163773 -L 329.822281 291.708616 -L 339.148161 296.14057 -L 348.96463 300.984152 -L 353.52311 303.309025 -L 357.621798 305.404409 -L 371.998248 312.863118 -L 371.998248 312.863118 -" style="fill:none;stroke:#c0d4f5;"/> - <path clip-path="url(#p23ac792d96)" d="M 411.569988 275.598263 -L 409.063583 275.412494 -L 403.728273 275.127525 -L 399.709849 274.876109 -L 393.554932 274.461556 -L 387.357392 274.082602 -L 376.622888 273.344684 -L 371.310599 272.988705 -L 364.446228 272.44768 -L 356.905376 271.843878 -L 342.091875 270.460944 -L 332.006227 269.305869 -L 322.297683 267.898135 -L 315.343201 266.668112 -L 309.241394 265.347295 -L 303.131963 263.796901 -L 297.325901 262.049996 -L 291.750902 260.159967 -L 285.322322 257.736267 -L 282.21255 256.463313 -L 277.111096 254.302855 -L 262.458813 247.508994 -L 262.458813 247.508994 -" style="fill:none;stroke:#c0d4f5;"/> + <path clip-path="url(#p6ec0e0aa4f)" d="M 275.734601 232.118766 +L 276.664461 232.425254 +L 277.604814 232.72492 +L 278.556201 233.017357 +L 279.519158 233.302157 +L 280.494217 233.578913 +L 281.481908 233.847221 +L 282.482757 234.106674 +L 283.497288 234.356867 +L 284.526025 234.597392 +L 285.569495 234.82784 +L 286.628227 235.047795 +L 287.702759 235.256833 +L 288.793642 235.454522 +L 289.901442 235.640415 +L 291.026746 235.814047 +L 292.170166 235.974934 +L 293.192705 236.105154 +L 293.333946 236.121405 +L 294.530658 236.244283 +L 295.74979 236.351132 +L 296.992223 236.441257 +L 297.040861 236.444263 +L 298.292405 236.489499 +L 299.623286 236.515453 +L 299.722496 236.516273 +L 301.051117 236.470658 +L 301.742052 236.436925 +L 302.601477 236.336175 +L 303.282077 236.248174 +L 304.42408 235.968821 +L 304.545482 235.913254 +L 305.206337 235.607757 +L 305.649754 235.169896 +L 305.666396 235.092774 +L 305.752519 234.654964 +L 305.555202 234.176537 +L 305.502327 234.060298 +L 305.039411 233.557834 +L 304.861049 233.377367 +L 304.397635 233.032419 +L 303.766362 232.592158 +L 303.696763 232.551236 +L 302.929716 232.11929 +L 302.143064 231.702557 +L 302.09022 231.675759 +L 301.314655 231.317076 +L 300.468636 230.945223 +L 299.607417 230.585208 +L 299.56192 230.566926 +L 298.720255 230.244767 +L 297.819472 229.914927 +L 296.906191 229.59484 +L 295.980842 229.284165 +L 295.312158 229.068694 +L 295.042467 228.983561 +L 294.089896 228.693837 +L 293.126729 228.412368 +L 292.153182 228.138972 +L 291.16943 227.873498 +L 290.175602 227.615826 +L 289.171786 227.365867 +L 288.158032 227.123562 +L 287.134346 226.888881 +L 286.100698 226.66182 +L 285.057017 226.442404 +L 284.003193 226.230688 +L 282.93908 226.026751 +L 281.86449 225.830699 +L 280.7792 225.642667 +L 279.682945 225.462817 +L 278.87068 225.336905 +L 278.573891 225.292419 +L 277.448083 225.134243 +L 276.309133 224.985695 +L 275.156515 224.847116 +L 273.989651 224.718882 +L 273.670045 224.686615 +L 272.793823 224.611327 +L 271.574582 224.520478 +L 270.335925 224.443473 +L 270.242725 224.438525 +L 269.032967 224.411784 +L 267.750716 224.402811 +L 267.693694 224.405635 +L 266.211219 224.49984 +L 265.936524 224.52127 +L 264.685526 224.768087 +L 264.013681 225.094344 +L 263.940566 225.130473 +L 263.926887 225.155095 +L 263.671567 225.601781 +L 263.847764 226.155884 +L 263.853996 226.176614 +L 264.372673 226.735124 +L 264.481529 226.853714 +L 265.008679 227.237593 +L 265.549247 227.632145 +L 265.685803 227.712236 +L 266.427251 228.142633 +L 267.074801 228.516122 +L 267.177382 228.567838 +L 267.972585 228.962172 +L 268.772635 229.353934 +L 269.117077 229.519298 +L 269.595465 229.73044 +L 270.437155 230.094417 +L 271.285877 230.454198 +L 271.818798 230.67454 +L 272.149238 230.804378 +L 273.031731 231.141738 +L 273.922889 231.473671 +L 274.823332 231.799719 +L 275.64878 232.089432 +L 275.734601 232.118766 +" style="fill:none;stroke:#f18d6f;stroke-width:1.5;"/> </g> <g id="Line3DCollection_17"> - <path clip-path="url(#p23ac792d96)" d="M 244.069412 161.418465 -L 243.327052 161.988993 -L 242.584269 162.570633 -L 241.841058 163.162824 -L 241.097404 163.76437 -L 240.353276 164.373253 -L 239.608619 164.98642 -L 238.863354 165.59956 -L 238.117368 166.206854 -L 237.370508 166.800746 -L 236.622577 167.371715 -L 235.873325 167.908098 -L 235.122446 168.395979 -L 234.369575 168.819172 -L 233.614288 169.159338 -L 232.856103 169.396261 -L 232.094491 169.508314 -L 231.328886 169.473139 -L 230.558706 169.268556 -L 229.783373 168.873686 -L 229.002353 168.270294 -L 228.215181 167.444288 -L 227.421511 166.387331 -L 226.621158 165.098478 -L 225.814138 163.585741 -L 225.000716 161.867455 -L 224.181441 159.973338 -L 223.357172 157.945094 -L 222.529096 155.836468 -L 221.698726 153.712626 -L 220.867884 151.648829 -L 220.038658 149.728347 -L 219.21335 148.039683 -L 218.394387 146.673164 -L 217.584234 145.717093 -L 216.785283 145.253631 -L 215.999742 145.354701 -L 215.229519 146.078155 -L 214.476126 147.464499 -L 213.740587 149.534418 -L 213.023376 152.287291 -L 212.324383 155.700823 -L 211.642909 159.731822 -L 210.977688 164.318065 -L 210.326951 169.381114 -L 209.688494 174.829862 -L 209.059786 180.564562 -L 208.438072 186.48105 -L 207.820491 192.474905 -L 207.204183 198.445293 -L 206.586395 204.298299 -L 205.964563 209.949627 -L 205.336386 215.326554 -L 204.699873 220.369162 -L 204.053377 225.030841 -L 203.395605 229.278156 -L 202.725615 233.090177 -L 202.042793 236.457381 -L 201.346831 239.380263 -L 200.637682 241.867768 -L 199.915526 243.935658 -L 199.180722 245.604914 -L 198.433769 246.900234 -L 197.675267 247.848698 -L 196.905882 248.478621 -L 196.126316 248.818621 -L 195.337288 248.896889 -L 194.539509 248.740659 -L 193.733675 248.375858 -L 192.920454 247.826889 -L 192.100485 247.116552 -L 191.274372 246.266035 -L 190.442688 245.29498 -L 189.605974 244.22158 -L 188.764744 243.062699 -L 187.919482 241.833988 -L 187.070652 240.550005 -L 186.218696 239.22431 -L 185.364035 237.869546 -L 184.507075 236.497508 -L 183.648199 235.11918 -L 182.787778 233.744773 -L 181.926162 232.383738 -L 181.063682 231.044775 -L 180.200652 229.735837 -L 179.337364 228.464127 -L 178.474089 227.236101 -L 177.611077 226.057465 -L 176.748554 224.933182 -L 175.886724 223.86748 -L 175.025764 222.863866 -L 174.165831 221.925147 -L 173.307056 221.053455 -L 172.449547 220.250277 -L 171.593389 219.516494 -L 170.738645 218.852413 -L 169.885358 218.25782 -L 169.033551 217.73202 -L 168.183227 217.273885 -L 167.334373 216.881905 -L 166.486963 216.554237 -L 165.640953 216.28875 -L 164.796291 216.083079 -L 163.952911 215.934665 -L 163.11074 215.840802 -L 162.269698 215.798677 -L 161.429699 215.805406 -L 160.590651 215.858075 -L 159.752461 215.953765 -L 158.915032 216.089583 -L 158.07827 216.262687 -L 157.242077 216.470305 -L 156.406359 216.709757 -L 155.571022 216.978465 -L 154.735977 217.273966 -L 153.901136 217.593924 -L 153.066415 217.936133 -L 152.231735 218.298519 -L 151.39702 218.679146 -L 150.5622 219.076217 -" style="fill:none;stroke:#dddcdc;"/> + <path clip-path="url(#p6ec0e0aa4f)" d="M 227.542033 236.27911 +L 227.409656 236.211833 +L 226.768936 235.870987 +L 226.0484 235.427587 +L 225.873324 235.303775 +L 225.397692 234.937163 +L 224.961056 234.54196 +L 224.821243 234.39682 +L 224.390454 233.860486 +L 224.344998 233.788935 +L 224.065854 233.236986 +L 224.017402 233.080556 +L 223.929215 232.65788 +L 223.937171 232.204486 +L 223.945447 232.114947 +L 224.116849 231.608654 +L 224.421406 231.133832 +L 224.866026 230.692023 +L 225.461256 230.285607 +L 226.222188 229.91801 +L 227.16976 229.594001 +L 228.063566 229.382525 +L 228.341054 229.322064 +L 229.80065 229.121376 +L 229.813287 229.11993 +L 231.276311 229.038837 +L 231.749373 229.025058 +L 232.634854 229.036472 +L 233.916468 229.086932 +L 234.546634 229.128861 +L 235.132305 229.182717 +L 236.291336 229.317796 +L 237.413485 229.478569 +L 238.500704 229.663767 +L 239.554868 229.872176 +L 240.577777 230.102624 +L 241.571169 230.353978 +L 242.536722 230.625144 +L 243.476062 230.915056 +L 244.390764 231.22268 +L 245.28236 231.547009 +L 245.635287 231.68555 +L 246.136532 231.898054 +L 246.95616 232.273895 +L 247.754041 232.665691 +L 247.9291 232.75786 +L 248.492869 233.099523 +L 249.198652 233.55736 +L 249.279745 233.613748 +L 249.81295 234.080138 +L 250.097359 234.347555 +L 250.331759 234.670869 +L 250.546949 234.997197 +L 250.659082 235.397035 +L 250.701251 235.57934 +L 250.600861 236.103256 +L 250.286325 236.578226 +L 249.993449 236.821251 +L 249.768688 237.006719 +L 249.579739 237.111442 +L 249.064359 237.392455 +L 248.178999 237.736668 +L 247.122574 238.041594 +L 246.773936 238.11931 +L 245.872191 238.301845 +L 244.938375 238.445915 +L 244.4159 238.514561 +L 243.317301 238.621855 +L 242.699027 238.66694 +L 241.821343 238.710034 +L 240.629123 238.737358 +L 240.410405 238.738706 +L 239.076552 238.713591 +L 237.918064 238.658578 +L 237.79582 238.651546 +L 236.57412 238.548577 +L 235.39771 238.41436 +L 234.265375 238.249839 +L 233.17625 238.055709 +L 232.129803 237.832433 +L 231.125833 237.580241 +L 230.164462 237.299141 +L 229.246134 236.988919 +L 228.371621 236.649132 +L 227.542033 236.27911 +" style="fill:none;stroke:#5d7ce6;stroke-width:1.5;"/> </g> <g id="Line3DCollection_18"> - <path clip-path="url(#p23ac792d96)" d="M 244.065813 161.211584 -L 243.322902 161.753526 -L 242.579515 162.304433 -L 241.835657 162.86419 -L 241.091322 163.432311 -L 240.346499 164.007828 -L 239.60116 164.589159 -L 238.855265 165.173971 -L 238.108753 165.759028 -L 237.361539 166.340053 -L 236.613512 166.911583 -L 235.86453 167.466862 -L 235.114417 167.997776 -L 234.36296 168.494834 -L 233.609913 168.947243 -L 232.854994 169.343073 -L 232.097892 169.669541 -L 231.338277 169.913424 -L 230.575805 170.061611 -L 229.810141 170.101788 -L 229.04097 170.023252 -L 228.268026 169.81782 -L 227.491112 169.480802 -L 226.710128 169.011982 -L 225.9251 168.416556 -L 225.136199 167.705932 -L 224.34377 166.898343 -L 223.548343 166.019182 -L 222.750644 165.100984 -L 221.95159 164.183027 -L 221.15228 163.31048 -L 220.353972 162.533134 -L 219.55804 161.903711 -L 218.765934 161.475822 -L 217.979119 161.30168 -L 217.199011 161.429672 -L 216.426914 161.901956 -L 215.663951 162.75222 -L 214.911004 164.00378 -L 214.168666 165.668134 -L 213.437201 167.744095 -L 212.716526 170.217565 -L 212.006203 173.061968 -L 211.305455 176.239316 -L 210.613199 179.701827 -L 209.928089 183.393989 -L 209.248575 187.254916 -L 208.572967 191.22084 -L 207.899499 195.227599 -L 207.226403 199.212958 -L 206.551964 203.118655 -L 205.874578 206.892083 -L 205.192793 210.487543 -L 204.505346 213.86707 -L 203.811179 217.00081 -L 203.109453 219.867014 -L 202.399542 222.451688 -L 201.68103 224.747973 -L 200.953688 226.75533 -L 200.217455 228.478602 -L 199.472414 229.92703 -L 198.718766 231.113264 -L 197.956803 232.052447 -L 197.186886 232.761376 -L 196.40942 233.257792 -L 195.624843 233.559781 -L 194.833602 233.68532 -L 194.036152 233.651925 -L 193.232935 233.476423 -L 192.424387 233.174804 -L 191.610926 232.762153 -L 190.792953 232.252632 -L 189.970853 231.659503 -L 189.144993 230.995175 -L 188.315725 230.271263 -L 187.483386 229.498647 -L 186.648301 228.687529 -L 185.810782 227.847483 -L 184.971128 226.987493 -L 184.129628 226.115981 -L 183.28656 225.240824 -L 182.442187 224.369366 -L 181.596765 223.508421 -L 180.750531 222.664269 -L 179.903713 221.842656 -L 179.056523 221.048787 -L 178.209155 220.287325 -L 177.361792 219.56239 -L 176.514596 218.877559 -L 175.667713 218.235875 -L 174.821273 217.639855 -L 173.975387 217.091507 -L 173.13015 216.592348 -L 172.285638 216.143426 -L 171.441912 215.745348 -L 170.599017 215.398308 -L 169.756982 215.102119 -L 168.915823 214.856246 -L 168.07554 214.659846 -L 167.236125 214.511796 -L 166.397555 214.410733 -L 165.559798 214.355091 -L 164.722816 214.343131 -L 163.886559 214.37298 -L 163.050974 214.442655 -L 162.216001 214.550102 -L 161.381578 214.693216 -L 160.547637 214.86987 -L 159.71411 215.077934 -L 158.880926 215.315303 -L 158.048016 215.579905 -L 157.215308 215.869724 -L 156.382733 216.182808 -L 155.550225 216.517281 -L 154.717715 216.871354 -L 153.885141 217.243328 -L 153.052441 217.631596 -L 152.219558 218.034655 -L 151.386436 218.451096 -L 150.553023 218.879613 -" style="fill:none;stroke:#aac7fd;"/> + <path clip-path="url(#p6ec0e0aa4f)" d="M 316.077563 235.464607 +L 315.471237 234.904982 +L 314.805007 234.390759 +L 313.343934 233.460335 +L 310.952221 232.219133 +L 307.667611 230.805485 +L 303.85546 229.408949 +L 299.20135 227.93705 +L 293.297712 226.346336 +L 287.143828 224.954767 +L 280.741123 223.757464 +L 274.074021 222.761634 +L 268.276922 222.110331 +L 262.96129 221.725886 +L 259.517048 221.657474 +L 256.405509 221.823103 +L 255.132501 222.063142 +L 254.299228 222.403579 +L 253.899884 222.843271 +L 253.926822 223.380655 +L 254.555464 224.168239 +L 255.833968 225.153625 +L 257.265703 226.036403 +L 259.770142 227.382413 +L 265.269292 229.911995 +L 270.4383 232.017471 +L 275.865878 233.965915 +L 280.621075 235.442535 +L 285.628721 236.75326 +L 290.927571 237.867219 +L 295.402296 238.595579 +L 300.118952 239.153358 +L 305.14674 239.487377 +L 308.14509 239.527684 +L 310.727861 239.415732 +L 310.727861 239.415732 +" style="fill:none;stroke:#f7b89c;stroke-width:1.5;"/> </g> <g id="Line3DCollection_19"> - <path clip-path="url(#p23ac792d96)" d="M 244.06545 161.190725 -L 243.322361 161.722863 -L 242.578718 162.259807 -L 241.834494 162.79989 -L 241.089642 163.340585 -L 240.344096 163.878279 -L 239.597759 164.408012 -L 238.850499 164.923194 -L 238.10214 165.41531 -L 237.352458 165.873628 -L 236.601167 166.284933 -L 235.847916 166.633306 -L 235.092281 166.899992 -L 234.333764 167.063391 -L 233.57179 167.099204 -L 232.805712 166.980782 -L 232.034822 166.679713 -L 231.258365 166.16667 -L 230.475563 165.412541 -L 229.685645 164.389845 -L 228.887887 163.074395 -L 228.081659 161.447193 -L 227.266472 159.496449 -L 226.442039 157.219659 -L 225.608327 154.625597 -L 224.765616 151.736087 -L 223.914543 148.5874 -L 223.05614 145.231104 -L 222.19186 141.734236 -L 221.323575 138.17864 -L 220.453557 134.659409 -L 219.584433 131.282376 -L 218.719114 128.160683 -L 217.860694 125.410558 -L 217.012335 123.146451 -L 216.177128 121.475828 -L 215.357953 120.493908 -L 214.557333 120.27872 -L 213.777304 120.886837 -L 213.019302 122.350106 -L 212.284076 124.67364 -L 211.571646 127.835244 -L 210.881293 131.786312 -L 210.211589 136.454141 -L 209.560467 141.745456 -L 208.925321 147.550898 -L 208.303129 153.750106 -L 207.690596 160.217068 -L 207.08429 166.825356 -L 206.480786 173.45296 -L 205.876793 179.986454 -L 205.269258 186.324335 -L 204.655455 192.379434 -L 204.033047 198.080383 -L 203.400119 203.372182 -L 202.755194 208.215965 -L 202.097221 212.588097 -L 201.425551 216.478748 -L 200.739903 219.89011 -L 200.040308 222.834409 -L 199.327062 225.331841 -L 198.60067 227.408557 -L 197.861793 229.094792 -L 197.111198 230.423198 -L 196.349719 231.427428 -L 195.578215 232.140986 -L 194.797544 232.596344 -L 194.008543 232.824315 -L 193.212005 232.85364 -L 192.408677 232.710775 -L 191.599251 232.419822 -L 190.784363 232.002578 -L 189.964595 231.478658 -L 189.140479 230.865679 -L 188.312502 230.179455 -L 187.481108 229.434203 -L 186.646707 228.642743 -L 185.809677 227.816667 -L 184.97037 226.9665 -L 184.129114 226.101822 -L 183.286214 225.231369 -L 182.441957 224.363116 -L 181.596613 223.50433 -L 180.750432 222.661618 -L 179.903649 221.840955 -L 179.056482 221.047707 -L 178.20913 220.286646 -L 177.361776 219.561967 -L 176.514586 218.877298 -L 175.667707 218.235716 -L 174.821269 217.639759 -L 173.975385 217.09145 -L 173.130148 216.592314 -L 172.285637 216.143407 -L 171.441911 215.745337 -L 170.599017 215.398301 -L 169.756982 215.102115 -L 168.915823 214.856244 -L 168.07554 214.659845 -L 167.236125 214.511795 -L 166.397555 214.410733 -L 165.559798 214.355091 -L 164.722816 214.343131 -L 163.886559 214.372979 -L 163.050974 214.442655 -L 162.216001 214.550102 -L 161.381578 214.693216 -L 160.547637 214.86987 -L 159.71411 215.077934 -L 158.880926 215.315303 -L 158.048016 215.579905 -L 157.215308 215.869724 -L 156.382733 216.182808 -L 155.550225 216.517281 -L 154.717715 216.871354 -L 153.885141 217.243328 -L 153.052441 217.631596 -L 152.219558 218.034655 -L 151.386436 218.451096 -L 150.553023 218.879613 -" style="fill:none;stroke:#f7b89c;"/> + <path clip-path="url(#p6ec0e0aa4f)" d="M 227.286498 127.839895 +L 228.274793 127.983981 +L 229.263628 128.12506 +L 230.253005 128.263127 +L 231.24293 128.398196 +L 232.233407 128.5303 +L 233.224439 128.659491 +L 234.216032 128.785844 +L 235.208188 128.909453 +L 236.200913 129.030431 +L 237.19421 129.148912 +L 238.188083 129.265048 +L 239.182535 129.379009 +L 240.177569 129.490979 +L 241.173189 129.601153 +L 242.169396 129.709735 +L 243.166194 129.816933 +L 244.163584 129.922958 +L 245.161568 130.028012 +L 246.160147 130.132288 +L 247.159323 130.235962 +L 248.159096 130.339188 +L 249.159467 130.442087 +L 250.160436 130.544743 +L 251.162005 130.647198 +L 252.164174 130.749437 +L 253.166945 130.85139 +L 254.170318 130.952918 +L 255.174298 131.05381 +L 256.178886 131.153776 +L 257.184086 131.252443 +L 258.189905 131.349348 +L 259.196348 131.44394 +L 260.203424 131.535574 +L 261.211144 131.62351 +L 262.219518 131.706921 +L 263.228562 131.784887 +L 264.238291 131.856407 +L 265.248724 131.920403 +L 266.259883 131.975727 +L 267.271791 132.021175 +L 268.284473 132.055496 +L 269.297959 132.077407 +L 270.312279 132.08561 +L 271.327466 132.078807 +L 272.343554 132.055719 +L 273.36058 132.015107 +L 274.378581 131.955791 +L 275.397595 131.876669 +L 276.417662 131.776741 +L 277.438818 131.655129 +L 278.461104 131.511094 +L 279.484555 131.34406 +L 280.509205 131.15363 +L 281.535089 130.939601 +L 282.562234 130.701983 +L 283.590667 130.441008 +L 284.620409 130.157141 +L 285.651476 129.851088 +L 286.683879 129.5238 +L 287.717623 129.176477 +L 288.752705 128.810561 +L 289.789118 128.427738 +L 290.826845 128.029922 +L 291.865862 127.619252 +L 292.906138 127.198072 +L 293.947634 126.768914 +L 294.990304 126.334481 +L 296.034094 125.897623 +L 297.078941 125.461311 +L 298.124776 125.028613 +L 299.171526 124.602662 +L 300.219108 124.186634 +L 301.267436 123.783711 +L 302.316419 123.397054 +L 303.365961 123.029777 +L 304.415963 122.68491 +L 305.466325 122.365379 +L 306.516945 122.073973 +L 307.56772 121.813323 +L 308.618549 121.585877 +L 309.669329 121.39388 +L 310.719964 121.239356 +L 311.770357 121.124091 +L 312.820417 121.049624 +L 313.870059 121.017235 +L 314.919202 121.027938 +L 315.96777 121.082479 +L 317.015696 121.181335 +L 318.062919 121.324714 +L 319.109387 121.512565 +L 320.155054 121.744581 +L 321.199882 122.020208 +L 322.243845 122.338663 +L 323.286921 122.698939 +L 324.329098 123.099829 +L 325.370373 123.539935 +L 326.410749 124.017691 +L 327.450239 124.531376 +L 328.488863 125.079139 +L 329.526645 125.659014 +L 330.56362 126.268938 +L 331.599827 126.906773 +L 332.635309 127.570323 +L 333.670117 128.257352 +L 334.704305 128.965599 +L 335.737932 129.692798 +L 336.771058 130.436691 +L 337.80375 131.19504 +L 338.836073 131.965646 +L 339.868097 132.746354 +L 340.899892 133.535068 +L 341.931529 134.32976 +L 342.963079 135.128476 +L 343.994614 135.929346 +L 345.026204 136.730588 +L 346.057919 137.530513 +L 347.089828 138.327529 +L 348.121997 139.120146 +L 349.154493 139.906973 +" style="fill:none;stroke:#f4987a;stroke-width:1.5;"/> </g> <g id="Line3DCollection_20"> - <path clip-path="url(#p23ac792d96)" d="M 244.059743 160.862676 -L 243.315841 161.35297 -L 242.571341 161.846653 -L 241.826241 162.34357 -L 241.080536 162.843389 -L 240.334216 163.345549 -L 239.587266 163.849202 -L 238.839664 164.353149 -L 238.091376 164.855771 -L 237.34236 165.354965 -L 236.592561 165.848081 -L 235.841907 166.331874 -L 235.090314 166.802468 -L 234.337679 167.255361 -L 233.583883 167.68545 -L 232.828792 168.087113 -L 232.072258 168.454342 -L 231.314123 168.780937 -L 230.554225 169.060755 -L 229.792405 169.288037 -L 229.028513 169.457775 -L 228.262423 169.566141 -L 227.49404 169.610926 -L 226.723315 169.591998 -L 225.950255 169.511727 -L 225.174938 169.375349 -L 224.397518 169.191247 -L 223.618236 168.971089 -L 222.837422 168.729823 -L 222.055495 168.485481 -L 221.272956 168.258792 -L 220.490379 168.072595 -L 219.708391 167.951076 -L 218.927654 167.918845 -L 218.14884 167.999909 -L 217.372597 168.216583 -L 216.599527 168.588416 -L 215.83015 169.131192 -L 215.064881 169.856078 -L 214.304007 170.768968 -L 213.547666 171.870084 -L 212.795845 173.153855 -L 212.048367 174.609087 -L 211.304908 176.219405 -L 210.564998 177.963951 -L 209.828053 179.818277 -L 209.093388 181.755383 -L 208.360255 183.746824 -L 207.627867 185.763827 -L 206.895431 187.778342 -L 206.162175 189.76399 -L 205.427374 191.696847 -L 204.690369 193.556041 -L 203.950588 195.324158 -L 203.207546 196.987445 -L 202.460862 198.535829 -L 201.710251 199.962785 -L 200.955523 201.265056 -L 200.196574 202.442296 -L 199.43338 203.496637 -L 198.665979 204.432238 -L 197.894467 205.254824 -L 197.118979 205.971256 -L 196.339682 206.589144 -L 195.556763 207.116501 -L 194.770422 207.561472 -L 193.980863 207.932115 -L 193.188289 208.236235 -L 192.3929 208.481278 -L 191.594888 208.674267 -L 190.794437 208.821764 -L 189.99172 208.929875 -L 189.186902 209.004258 -L 188.38014 209.050149 -L 187.571579 209.072399 -L 186.761359 209.075504 -L 185.949614 209.063637 -L 185.136468 209.040677 -L 184.322041 209.010233 -L 183.506449 208.97566 -L 182.689801 208.940076 -L 181.8722 208.906369 -L 181.053744 208.877203 -L 180.234527 208.85502 -L 179.414635 208.842047 -L 178.59415 208.840291 -L 177.773147 208.851542 -L 176.951694 208.877376 -L 176.129854 208.919156 -L 175.30768 208.978037 -L 174.485222 209.054967 -L 173.662521 209.150699 -L 172.839613 209.265796 -L 172.016525 209.400639 -L 171.19328 209.555443 -L 170.369892 209.730262 -L 169.546373 209.925007 -L 168.722727 210.139454 -L 167.898953 210.373264 -L 167.075046 210.625992 -L 166.250997 210.897102 -L 165.426792 211.185979 -L 164.602414 211.491948 -L 163.777846 211.81428 -L 162.953064 212.152207 -L 162.128046 212.504935 -L 161.302765 212.871649 -L 160.477195 213.25153 -L 159.65131 213.643758 -L 158.825082 214.047521 -L 157.998482 214.462024 -L 157.171483 214.88649 -L 156.344058 215.320171 -L 155.51618 215.762347 -L 154.687822 216.21233 -L 153.85896 216.669469 -L 153.02957 217.133149 -L 152.199628 217.602793 -L 151.369113 218.07786 -L 150.538004 218.557852 -" style="fill:none;stroke:#6f92f3;"/> + <path clip-path="url(#p6ec0e0aa4f)" d="M 320.442238 232.240992 +L 316.036389 230.482729 +L 311.451873 228.874536 +L 305.749175 227.114218 +L 299.853745 225.516021 +L 293.760994 224.080044 +L 286.414213 222.597856 +L 278.812154 221.318008 +L 270.9748 220.221979 +L 261.758703 219.169092 +L 252.885767 218.386317 +L 245.999717 218.031583 +L 242.151721 218.054941 +L 240.300128 218.267709 +L 239.395555 218.482677 +L 238.818735 218.879344 +L 238.843577 219.413542 +L 239.920059 220.356431 +L 241.361422 221.206935 +L 244.856855 222.907181 +L 270.613959 233.824858 +L 276.875025 236.170216 +L 281.544279 237.725672 +L 286.434214 239.138549 +L 291.590638 240.37313 +L 297.034701 241.410948 +L 302.766989 242.248259 +L 306.352289 242.647394 +L 306.352289 242.647394 +" style="fill:none;stroke:#ead4c8;stroke-width:1.5;"/> </g> <g id="Line3DCollection_21"> - <path clip-path="url(#p23ac792d96)" d="M 244.059239 160.833702 -L 243.31509 161.310377 -L 242.570234 161.784662 -L 241.824625 162.254245 -L 241.078202 162.715957 -L 240.330878 163.165563 -L 239.582541 163.597516 -L 238.833041 164.004699 -L 238.082188 164.37815 -L 237.329741 164.706794 -L 236.575404 164.977195 -L 235.818816 165.173359 -L 235.059547 165.276614 -L 234.297095 165.265608 -L 233.530888 165.116451 -L 232.760281 164.803053 -L 231.984574 164.297673 -L 231.20302 163.571728 -L 230.414851 162.596861 -L 229.619307 161.346267 -L 228.81567 159.796272 -L 228.003308 157.928114 -L 227.181727 155.729852 -L 226.350617 153.198329 -L 225.509913 150.341057 -L 224.659843 147.177906 -L 223.800972 143.742431 -L 222.934241 140.082711 -L 222.060988 136.261534 -L 221.182952 132.355832 -L 220.302254 128.455252 -L 219.421356 124.659861 -L 218.542998 121.07698 -L 217.670102 117.817269 -L 216.805671 114.990217 -L 215.952654 112.69929 -L 215.11382 111.037015 -L 214.291621 110.080345 -L 213.488069 109.886619 -L 212.704627 110.490446 -L 211.942133 111.901731 -L 211.200749 114.105023 -L 210.479955 117.060236 -L 209.778568 120.704678 -L 209.094812 124.956227 -L 208.4264 129.717419 -L 207.770652 134.880121 -L 207.124622 140.330481 -L 206.485229 145.953798 -L 205.849388 151.639046 -L 205.21413 157.282797 -L 204.576699 162.79239 -L 203.93464 168.088229 -L 203.285851 173.105206 -L 202.628621 177.793278 -L 201.961644 182.117273 -L 201.284007 186.05607 -L 200.595169 189.601263 -L 199.894925 192.755489 -L 199.183359 195.530546 -L 198.460793 197.945433 -L 197.727736 200.024442 -L 196.984834 201.795372 -L 196.232821 203.28795 -L 195.47248 204.532479 -L 194.704604 205.55876 -L 193.929974 206.395257 -L 193.149334 207.06852 -L 192.363377 207.602815 -L 191.572735 208.019947 -L 190.77798 208.339225 -L 189.979616 208.577545 -L 189.178089 208.749553 -L 188.373786 208.867847 -L 187.567044 208.943214 -L 186.758155 208.984868 -L 185.947372 209.000679 -L 185.134915 208.99738 -L 184.320977 208.980753 -L 183.505727 208.955787 -L 182.689315 208.926813 -L 181.871877 208.897606 -L 181.053531 208.87147 -L 180.234388 208.851307 -L 179.414546 208.839666 -L 178.594093 208.838779 -L 177.773111 208.850592 -L 176.951672 208.876785 -L 176.129839 208.918792 -L 175.307671 208.977815 -L 174.485217 209.054833 -L 173.662518 209.150619 -L 172.839611 209.265748 -L 172.016524 209.400611 -L 171.193279 209.555427 -L 170.369892 209.730253 -L 169.546373 209.925001 -L 168.722727 210.139451 -L 167.898953 210.373263 -L 167.075046 210.625991 -L 166.250997 210.897101 -L 165.426792 211.185979 -L 164.602414 211.491948 -L 163.777846 211.81428 -L 162.953064 212.152207 -L 162.128046 212.504935 -L 161.302765 212.871649 -L 160.477195 213.25153 -L 159.65131 213.643758 -L 158.825082 214.047521 -L 157.998482 214.462024 -L 157.171483 214.88649 -L 156.344058 215.320171 -L 155.51618 215.762347 -L 154.687822 216.21233 -L 153.85896 216.669469 -L 153.02957 217.133149 -L 152.199628 217.602793 -L 151.369113 218.07786 -L 150.538004 218.557852 -" style="fill:none;stroke:#e7745b;"/> + <path clip-path="url(#p6ec0e0aa4f)" d="M 223.136452 240.259484 +L 220.503347 239.23962 +L 218.145888 238.037248 +L 216.596013 237.002343 +L 215.522281 236.09111 +L 214.446104 234.843619 +L 213.768811 233.56974 +L 213.509308 232.426746 +L 213.573763 231.346599 +L 213.934771 230.337939 +L 214.585522 229.398922 +L 215.539013 228.532304 +L 216.836909 227.747455 +L 218.54946 227.060303 +L 220.803192 226.49968 +L 223.831513 226.118909 +L 226.218991 226.026088 +L 230.087713 226.150827 +L 233.619575 226.506961 +L 237.98565 227.221141 +L 242.147741 228.17823 +L 245.859879 229.262403 +L 249.459143 230.531257 +L 252.834077 231.967785 +L 255.739803 233.471465 +L 257.356671 234.525561 +L 258.608671 235.565691 +L 259.140379 236.154003 +L 259.565506 236.818907 +L 259.71176 237.11547 +L 259.815668 237.687252 +L 259.740212 238.218227 +L 259.310832 238.935596 +L 259.113076 239.171785 +L 257.944734 240.002131 +L 256.320255 240.72857 +L 254.292284 241.362962 +L 251.878471 241.909076 +L 248.954537 242.373875 +L 245.732134 242.697542 +L 241.369902 242.870129 +L 237.37075 242.779646 +L 233.670148 242.481662 +L 230.229768 242.004783 +L 227.031016 241.363586 +L 224.069713 240.562514 +L 223.136452 240.259484 +L 223.136452 240.259484 +" style="fill:none;stroke:#82a6fb;stroke-width:1.5;"/> </g> <g id="Line3DCollection_22"> - <path clip-path="url(#p23ac792d96)" d="M 244.056747 160.690501 -L 243.31236 161.155507 -L 242.567316 161.621263 -L 241.821612 162.087643 -L 241.075244 162.55445 -L 240.328205 163.021406 -L 239.580487 163.488127 -L 238.832079 163.954105 -L 238.082968 164.41868 -L 237.333133 164.881024 -L 236.582554 165.340115 -L 235.831201 165.794722 -L 235.079041 166.243396 -L 234.326035 166.68447 -L 233.572138 167.116069 -L 232.817298 167.536143 -L 232.061461 167.942509 -L 231.304568 168.332921 -L 230.546558 168.705161 -L 229.787372 169.057149 -L 229.026955 169.387076 -L 228.265259 169.693549 -L 227.502248 169.975747 -L 226.737901 170.233579 -L 225.972217 170.467834 -L 225.20522 170.680304 -L 224.436961 170.873882 -L 223.667521 171.052613 -L 222.897012 171.221688 -L 222.125577 171.387376 -L 221.353388 171.556895 -L 220.580643 171.738208 -L 219.807558 171.939761 -L 219.034363 172.170172 -L 218.26129 172.437876 -L 217.488566 172.75076 -L 216.716403 173.115794 -L 215.944985 173.538692 -L 215.174461 174.023624 -L 214.404939 174.572987 -L 213.636478 175.187271 -L 212.869081 175.865007 -L 212.102704 176.602822 -L 211.337246 177.395578 -L 210.572561 178.236604 -L 209.808461 179.117992 -L 209.044728 180.030937 -L 208.281116 180.966117 -L 207.51737 181.914061 -L 206.75323 182.865511 -L 205.988444 183.811745 -L 205.222772 184.744843 -L 204.456001 185.657897 -L 203.687941 186.545149 -L 202.918437 187.402068 -L 202.147365 188.225354 -L 201.374634 189.012898 -L 200.600187 189.763683 -L 199.823993 190.477664 -L 199.046049 191.155617 -L 198.266372 191.79898 -L 197.484998 192.409699 -L 196.701975 192.990074 -L 195.917362 193.542622 -L 195.131221 194.069967 -L 194.34362 194.574735 -L 193.554624 195.059489 -L 192.7643 195.526665 -L 191.972709 195.978547 -L 191.17991 196.417239 -L 190.385956 196.844661 -L 189.590899 197.26255 -L 188.794783 197.67247 -L 187.99765 198.075828 -L 187.199538 198.473883 -L 186.400482 198.867768 -L 185.600512 199.258502 -L 184.799659 199.647006 -L 183.99795 200.034115 -L 183.195408 200.420584 -L 182.392059 200.807104 -L 181.587922 201.194301 -L 180.783019 201.582745 -L 179.977368 201.972952 -L 179.170986 202.365388 -L 178.36389 202.760468 -L 177.556093 203.158562 -L 176.74761 203.559992 -L 175.938451 203.965036 -L 175.128628 204.373927 -L 174.318149 204.786859 -L 173.507022 205.203982 -L 172.695252 205.62541 -L 171.882846 206.051218 -L 171.069805 206.481447 -L 170.256133 206.916109 -L 169.441831 207.355183 -L 168.626899 207.798624 -L 167.811335 208.24636 -L 166.995137 208.698303 -L 166.178304 209.154341 -L 165.360831 209.614351 -L 164.542714 210.078195 -L 163.723948 210.545726 -L 162.904528 211.016788 -L 162.084449 211.49122 -L 161.263704 211.968858 -L 160.442287 212.449537 -L 159.620192 212.93309 -L 158.797412 213.419354 -L 157.973941 213.908168 -L 157.149772 214.399377 -L 156.324899 214.892828 -L 155.499315 215.388377 -L 154.673015 215.885886 -L 153.845992 216.385223 -L 153.018242 216.886264 -L 152.189757 217.388894 -L 151.360533 217.893004 -L 150.530565 218.398494 -" style="fill:none;stroke:#3b4cc0;"/> + <path clip-path="url(#p6ec0e0aa4f)" d="M 227.283486 127.282526 +L 228.27182 127.391211 +L 229.26072 127.496467 +L 230.25019 127.598556 +L 231.240237 127.697794 +L 232.230865 127.794557 +L 233.22208 127.889276 +L 234.213885 127.982446 +L 235.206285 128.074616 +L 236.199281 128.166394 +L 237.192877 128.258444 +L 238.187074 128.351478 +L 239.181871 128.446251 +L 240.177267 128.543557 +L 241.173259 128.64422 +L 242.169845 128.749077 +L 243.167019 128.858977 +L 244.164774 128.974755 +L 245.163103 129.097228 +L 246.161997 129.227169 +L 247.161446 129.365294 +L 248.161439 129.512243 +L 249.161964 129.668555 +L 250.163009 129.834653 +L 251.164563 130.010815 +L 252.166612 130.197162 +L 253.169147 130.393627 +L 254.172157 130.599944 +L 255.175633 130.815619 +L 256.179569 131.039923 +L 257.183962 131.271867 +L 258.188811 131.510195 +L 259.194122 131.753375 +L 260.199901 131.999588 +L 261.206163 132.24673 +L 262.212927 132.492414 +L 263.22022 132.733974 +L 264.228072 132.968478 +L 265.236525 133.192746 +L 266.245624 133.403369 +L 267.255423 133.596738 +L 268.265986 133.769074 +L 269.277382 133.916465 +L 270.289687 134.034905 +L 271.302986 134.120341 +L 272.317369 134.168721 +L 273.332932 134.176045 +L 274.349778 134.138414 +L 275.368012 134.052093 +L 276.387743 133.913561 +L 277.409082 133.719566 +L 278.43214 133.467185 +L 279.457026 133.15387 +L 280.48385 132.777504 +L 281.512714 132.336445 +L 282.543717 131.829565 +L 283.576949 131.256296 +L 284.612491 130.616651 +L 285.650415 129.911256 +L 286.690779 129.141365 +L 287.733628 128.308869 +L 288.778992 127.416301 +L 289.826884 126.466831 +L 290.877301 125.464249 +L 291.930221 124.412947 +L 292.985603 123.317884 +L 294.043388 122.184558 +L 295.103497 121.018951 +L 296.165831 119.827485 +L 297.230273 118.616962 +L 298.296689 117.394505 +L 299.364925 116.167485 +L 300.434813 114.943456 +L 301.506169 113.730082 +L 302.578795 112.535059 +L 303.652483 111.366044 +L 304.727015 110.23058 +L 305.802162 109.136022 +L 306.877695 108.089472 +L 307.953378 107.097707 +L 309.028974 106.167121 +L 310.104249 105.303669 +L 311.178972 104.512818 +L 312.252916 103.7995 +L 313.325864 103.168077 +L 314.397608 102.622314 +L 315.467952 102.165358 +L 316.536712 101.79972 +L 317.603721 101.527272 +L 318.668826 101.349248 +L 319.731893 101.266251 +L 320.792805 101.278269 +L 321.851463 101.384697 +L 322.907789 101.584359 +L 323.961722 101.875545 +L 325.013221 102.256043 +L 326.062265 102.723179 +L 327.10885 103.273858 +L 328.152989 103.904611 +L 329.194715 104.611637 +L 330.234075 105.390851 +L 331.271131 106.237926 +L 332.30596 107.148347 +L 333.338651 108.117445 +L 334.369305 109.140449 +L 335.398034 110.212519 +L 336.424957 111.328793 +L 337.450203 112.484417 +L 338.473905 113.674579 +L 339.496204 114.894543 +L 340.517242 116.139674 +L 341.537166 117.405465 +L 342.556123 118.687553 +L 343.574263 119.981745 +L 344.591732 121.284028 +L 345.608677 122.590585 +L 346.625244 123.897806 +L 347.641573 125.20229 +L 348.657802 126.50086 +L 349.674067 127.790557 +" style="fill:none;stroke:#f5c4ac;stroke-width:1.5;"/> </g> <g id="Line3DCollection_23"> - <path clip-path="url(#p23ac792d96)" d="M 244.056337 160.666909 -L 243.311749 161.120826 -L 242.566415 161.570788 -L 241.820297 162.014909 -L 241.073343 162.450686 -L 240.325486 162.874846 -L 239.576639 163.283179 -L 238.826686 163.670357 -L 238.075485 164.029741 -L 237.322857 164.353195 -L 236.568582 164.630914 -L 235.812396 164.85129 -L 235.053986 165.000833 -L 234.292987 165.064166 -L 233.528983 165.024143 -L 232.761512 164.862083 -L 231.990069 164.55817 -L 231.214117 164.092029 -L 230.433106 163.443482 -L 229.646492 162.593498 -L 228.853761 161.525303 -L 228.054462 160.225643 -L 227.24824 158.686125 -L 226.434876 156.904593 -L 225.614319 154.88644 -L 224.786726 152.645778 -L 223.952492 150.206339 -L 223.112277 147.602032 -L 222.267016 144.877036 -L 221.417924 142.085364 -L 220.566481 139.289841 -L 219.714405 136.560475 -L 218.863603 133.972252 -L 218.016111 131.602426 -L 217.174017 129.527424 -L 216.339378 127.819529 -L 215.514126 126.543542 -L 214.699978 125.753641 -L 213.898355 125.490646 -L 213.110305 125.779905 -L 212.336452 126.629939 -L 211.57696 128.031977 -L 210.83153 129.960389 -L 210.099409 132.374004 -L 209.379431 135.218206 -L 208.670083 138.427648 -L 207.96957 141.929387 -L 207.275908 145.646225 -L 206.587014 149.500034 -L 205.900789 153.414875 -L 205.215208 157.319733 -L 204.528385 161.150751 -L 203.838634 164.852887 -L 203.144513 168.380973 -L 202.444844 171.700179 -L 201.73873 174.785942 -L 201.025544 177.623436 -L 200.304923 180.20668 -L 199.576731 182.537387 -L 198.841039 184.623651 -L 198.09808 186.478576 -L 197.34822 188.118929 -L 196.591913 189.56387 -L 195.829678 190.833833 -L 195.06206 191.949564 -L 194.289611 192.931349 -L 193.512868 193.798428 -L 192.732338 194.568579 -L 191.948488 195.257865 -L 191.161738 195.880516 -L 190.372459 196.448909 -L 189.580974 196.973641 -L 188.787557 197.463656 -L 187.992442 197.926404 -L 187.195822 198.36802 -L 186.397856 198.793513 -L 185.598676 199.206936 -L 184.798388 199.611552 -L 183.997078 200.009981 -L 183.194817 200.40432 -L 182.391661 200.796252 -L 181.587658 201.187132 -L 180.782845 201.578057 -L 179.977254 201.969916 -L 179.170913 202.363442 -L 178.363843 202.759233 -L 177.556064 203.157786 -L 176.747591 203.559509 -L 175.93844 203.964738 -L 175.128621 204.373746 -L 174.318145 204.78675 -L 173.507019 205.203917 -L 172.695251 205.625371 -L 171.882845 206.051195 -L 171.069805 206.481434 -L 170.256133 206.916102 -L 169.441831 207.355179 -L 168.626898 207.798621 -L 167.811335 208.246359 -L 166.995137 208.698302 -L 166.178304 209.15434 -L 165.360831 209.614351 -L 164.542714 210.078195 -L 163.723948 210.545726 -L 162.904528 211.016788 -L 162.084449 211.49122 -L 161.263704 211.968858 -L 160.442287 212.449537 -L 159.620192 212.93309 -L 158.797412 213.419354 -L 157.973941 213.908168 -L 157.149772 214.399377 -L 156.324899 214.892828 -L 155.499315 215.388377 -L 154.673015 215.885886 -L 153.845992 216.385223 -L 153.018242 216.886264 -L 152.189757 217.388894 -L 151.360533 217.893004 -L 150.530565 218.398494 -" style="fill:none;stroke:#b40426;"/> + <path clip-path="url(#p6ec0e0aa4f)" d="M 218.116269 244.672537 +L 214.377281 243.451078 +L 211.787632 242.394624 +L 209.393962 241.210887 +L 207.059962 239.770018 +L 205.29954 238.395035 +L 204.185901 237.294004 +L 203.234476 236.087838 +L 202.481704 234.752597 +L 202.074621 233.608704 +L 201.887252 232.400336 +L 201.913462 231.371227 +L 202.129526 230.325686 +L 202.604233 229.183072 +L 203.097208 228.366692 +L 203.94803 227.374917 +L 204.822717 226.592875 +L 206.017962 225.786163 +L 207.492945 225.046076 +L 209.300783 224.384634 +L 212.081159 223.731204 +L 214.35748 223.398427 +L 218.332245 223.149453 +L 222.869305 223.210749 +L 227.182016 223.538493 +L 231.714409 224.121002 +L 235.988192 224.885418 +L 240.049644 225.802217 +L 244.873426 227.133952 +L 249.45727 228.646495 +L 253.897437 230.338799 +L 258.850222 232.517248 +L 262.021898 234.119741 +L 264.406507 235.468514 +L 267.065471 237.318111 +L 268.415844 238.578944 +L 269.140699 239.744066 +L 269.199906 239.857567 +L 269.298715 240.611903 +L 269.27508 240.975171 +L 269.07681 241.480352 +L 268.568908 242.117307 +L 267.715232 242.821626 +L 266.298674 243.600295 +L 264.565874 244.307291 +L 261.406387 245.269683 +L 257.836872 246.081267 +L 253.635308 246.777326 +L 248.730906 247.311209 +L 244.360879 247.564462 +L 240.133378 247.619031 +L 234.869757 247.429574 +L 229.965328 246.990856 +L 225.360143 246.319869 +L 221.119196 245.457804 +L 218.116269 244.672537 +L 218.116269 244.672537 +" style="fill:none;stroke:#aac7fd;stroke-width:1.5;"/> + </g> + <g id="Line3DCollection_24"> + <path clip-path="url(#p6ec0e0aa4f)" d="M 183.29472 216.161021 +L 201.19429 217.570727 +L 211.653329 218.624483 +L 219.539002 219.62492 +L 226.052298 220.660158 +L 231.273208 221.673264 +L 236.284342 222.840238 +L 241.311221 224.229727 +L 245.715435 225.619164 +L 251.1198 227.547538 +L 257.116862 229.921704 +L 263.857825 232.823635 +L 272.531519 236.795186 +L 297.598599 249.112601 +L 297.598599 249.112601 +" style="fill:none;stroke:#cdd9ec;stroke-width:1.5;"/> + <path clip-path="url(#p6ec0e0aa4f)" d="M 329.25599 220.418662 +L 324.763808 220.132019 +L 312.368498 219.394598 +L 292.763296 218.086462 +L 274.831884 216.587057 +L 262.23747 215.13387 +L 256.756309 214.316962 +L 250.429087 213.176998 +L 244.434662 211.825255 +L 239.697213 210.537368 +L 234.274476 208.833295 +L 227.416424 206.345635 +L 216.917557 201.96409 +L 210.730997 199.145237 +L 209.967051 198.789925 +L 209.967051 198.789925 +" style="fill:none;stroke:#cdd9ec;stroke-width:1.5;"/> + </g> + <g id="Line3DCollection_25"> + <path clip-path="url(#p6ec0e0aa4f)" d="M 195.25553 132.500218 +L 194.661642 132.939524 +L 194.067415 133.387387 +L 193.472846 133.843375 +L 192.877923 134.306565 +L 192.282621 134.775405 +L 191.686895 135.247544 +L 191.090683 135.719661 +L 190.493894 136.187278 +L 189.896407 136.644575 +L 189.298062 137.084221 +L 188.69866 137.497236 +L 188.097957 137.872904 +L 187.49566 138.198762 +L 186.89143 138.46069 +L 186.284883 138.643121 +L 185.675593 138.729401 +L 185.063109 138.702317 +L 184.446965 138.544788 +L 183.826699 138.240739 +L 183.201882 137.776127 +L 182.572145 137.140102 +L 181.937209 136.326245 +L 181.296926 135.333828 +L 180.65131 134.16902 +L 180.000573 132.84594 +L 179.345153 131.38747 +L 178.685737 129.825722 +L 178.023276 128.20208 +L 177.358981 126.566722 +L 176.694307 124.977598 +L 176.030927 123.498828 +L 175.37068 122.198556 +L 174.715509 121.146337 +L 174.067387 120.410161 +L 173.428226 120.053296 +L 172.799793 120.13112 +L 172.183615 120.688179 +L 171.580901 121.755664 +L 170.99247 123.349502 +L 170.418701 125.469214 +L 169.859507 128.097634 +L 169.314327 131.201503 +L 168.782151 134.73291 +L 168.261561 138.631457 +L 167.750795 142.826994 +L 167.247828 147.242713 +L 166.750457 151.798409 +L 166.256392 156.413677 +L 165.763347 161.010875 +L 165.269116 165.517691 +L 164.771651 169.869212 +L 164.269109 174.009447 +L 163.759898 177.892255 +L 163.242702 181.481748 +L 162.716484 184.75218 +L 162.180492 187.687437 +L 161.634235 190.280184 +L 161.077465 192.530803 +L 160.510146 194.446181 +L 159.932421 196.038457 +L 159.344578 197.323784 +L 158.747015 198.32118 +L 158.140214 199.051497 +L 157.524705 199.536538 +L 156.901053 199.798338 +L 156.26983 199.858604 +L 155.631607 199.738308 +L 154.98694 199.45741 +L 154.336363 199.034705 +L 153.680388 198.487745 +L 153.019497 197.832847 +L 152.35415 197.085135 +L 151.68478 196.258617 +L 151.011795 195.366278 +L 150.335585 194.420171 +L 149.656522 193.431504 +L 148.974957 192.410719 +L 148.291228 191.367551 +L 147.60566 190.311081 +L 146.918559 189.249769 +L 146.230222 188.191475 +L 145.540929 187.143478 +L 144.850945 186.112477 +L 144.160521 185.104594 +L 143.469891 184.125378 +L 142.779271 183.179798 +L 142.088862 182.272248 +L 141.398844 181.40655 +L 140.709379 180.585959 +L 140.020611 179.813176 +L 139.332665 179.090363 +L 138.645645 178.41916 +L 137.959638 177.800714 +L 137.274711 177.2357 +L 136.590916 176.724358 +L 135.908287 176.266522 +L 135.226841 175.861655 +L 134.546581 175.508892 +L 133.867499 175.207067 +L 133.18957 174.954762 +L 132.512763 174.750338 +L 131.837033 174.591971 +L 131.162329 174.477692 +L 130.488592 174.405418 +L 129.815759 174.372981 +L 129.143759 174.378163 +L 128.472521 174.418718 +L 127.801968 174.492399 +L 127.132026 174.596979 +L 126.462616 174.730269 +L 125.793662 174.890135 +L 125.125087 175.074513 +L 124.456818 175.281418 +L 123.788782 175.508954 +L 123.120909 175.755322 +L 122.453132 176.018822 +L 121.785388 176.297859 +L 121.117616 176.590943 +L 120.44976 176.896687 +" style="fill:none;stroke:#dddcdc;stroke-width:1.5;"/> + </g> + <g id="Line3DCollection_26"> + <path clip-path="url(#p6ec0e0aa4f)" d="M 195.25265 132.34092 +L 194.658321 132.758215 +L 194.063612 133.182413 +L 193.468525 133.613426 +L 192.873058 134.05088 +L 192.277199 134.494028 +L 191.680928 134.941653 +L 191.084212 135.391957 +L 190.487002 135.842452 +L 189.889231 136.289841 +L 189.29081 136.729919 +L 188.691624 137.157484 +L 188.091533 137.566287 +L 187.490368 137.949022 +L 186.88793 138.297377 +L 186.283995 138.602166 +L 185.678314 138.853547 +L 185.070621 139.041337 +L 184.460644 139.15544 +L 183.848113 139.186377 +L 183.232776 139.125904 +L 182.614421 138.967721 +L 181.99289 138.708217 +L 181.368103 138.347226 +L 180.74008 137.888748 +L 180.108959 137.341567 +L 179.475016 136.719724 +L 178.838675 136.04277 +L 178.200515 135.335758 +L 177.561272 134.628931 +L 176.921824 133.95707 +L 176.283177 133.358514 +L 175.646432 132.873857 +L 175.012747 132.544383 +L 174.383295 132.410293 +L 173.759209 132.508848 +L 173.141531 132.872506 +L 172.53116 133.52721 +L 171.928803 134.490911 +L 171.334932 135.772463 +L 170.749761 137.370953 +L 170.173221 139.275525 +L 169.604962 141.465716 +L 169.044364 143.912273 +L 168.490559 146.578407 +L 167.942471 149.421372 +L 167.39886 152.394285 +L 166.858373 155.448047 +L 166.319599 158.533251 +L 165.781122 161.601978 +L 165.241571 164.609365 +L 164.699662 167.514904 +L 164.154235 170.283408 +L 163.604277 172.885644 +L 163.048943 175.298624 +L 162.487562 177.505601 +L 161.919634 179.4958 +L 161.344824 181.263939 +L 160.76295 182.809604 +L 160.173964 184.136524 +L 159.577931 185.251813 +L 158.975013 186.165213 +L 158.365443 186.888384 +L 157.749509 187.43426 +L 157.127536 187.8165 +L 156.499874 188.049032 +L 155.866882 188.145696 +L 155.228921 188.119982 +L 154.586348 187.984846 +L 153.93951 187.752599 +L 153.288741 187.434858 +L 152.634363 187.042527 +L 151.976682 186.585817 +L 151.315994 186.074285 +L 150.65258 185.516872 +L 149.986709 184.921958 +L 149.318641 184.297397 +L 148.648626 183.650562 +L 147.976902 182.98837 +L 147.303703 182.317305 +L 146.629248 181.643434 +L 145.95375 180.972412 +L 145.277412 180.309484 +L 144.600425 179.659487 +L 143.922971 179.026845 +L 143.245218 178.415566 +L 142.567324 177.82924 +L 141.889434 177.27104 +L 141.211677 176.74372 +L 140.53417 176.249624 +L 139.857018 175.790688 +L 139.18031 175.36846 +L 138.50412 174.984108 +L 137.82851 174.638438 +L 137.153529 174.331918 +L 136.479213 174.064697 +L 135.805586 173.836631 +L 135.132658 173.64731 +L 134.460432 173.496081 +L 133.7889 173.382083 +L 133.118044 173.304264 +L 132.447839 173.26142 +L 131.778252 173.252211 +L 131.109247 173.275194 +L 130.440779 173.328845 +L 129.772801 173.411579 +L 129.105262 173.521777 +L 128.43811 173.6578 +L 127.771288 173.81801 +L 127.104741 174.000783 +L 126.438413 174.204527 +L 125.772246 174.427687 +L 125.106187 174.668762 +L 124.44018 174.926307 +L 123.774172 175.198943 +L 123.108113 175.485362 +L 122.441953 175.784329 +L 121.775647 176.094684 +L 121.109149 176.415344 +L 120.442418 176.745302 +" style="fill:none;stroke:#b9d0f9;stroke-width:1.5;"/> + </g> + <g id="Line3DCollection_27"> + <path clip-path="url(#p6ec0e0aa4f)" d="M 195.25236 132.324858 +L 194.657889 132.734605 +L 194.062975 133.148052 +L 193.467595 133.563915 +L 192.871714 133.98025 +L 192.275277 134.394275 +L 191.678207 134.802169 +L 191.080399 135.198859 +L 190.481712 135.577788 +L 189.881967 135.930694 +L 189.280934 136.247399 +L 188.678333 136.515646 +L 188.073825 136.720994 +L 187.467011 136.846811 +L 186.857432 136.874387 +L 186.24457 136.783203 +L 185.627858 136.551379 +L 185.006692 136.156336 +L 184.38045 135.575657 +L 183.748516 134.78818 +L 183.11031 133.775284 +L 182.465327 132.522339 +L 181.813178 131.020266 +L 181.153631 129.267137 +L 180.486662 127.26971 +L 179.812493 125.044787 +L 179.131634 122.620298 +L 178.444912 120.03595 +L 177.753488 117.343362 +L 177.05886 114.605553 +L 176.362845 111.895745 +L 175.667547 109.295429 +L 174.975291 106.891726 +L 174.288555 104.774129 +L 173.609868 103.030768 +L 172.941702 101.744388 +L 172.286362 100.988309 +L 171.645866 100.822614 +L 171.021844 101.290865 +L 170.415441 102.417582 +L 169.82726 104.206703 +L 169.257317 106.641138 +L 168.705034 109.68346 +L 168.169271 113.277688 +L 167.648373 117.352001 +L 167.140256 121.822191 +L 166.642503 126.595581 +L 166.152477 131.575142 +L 165.667432 136.663524 +L 165.184629 141.766779 +L 164.701434 146.797569 +L 164.215406 151.677738 +L 163.724364 156.340164 +L 163.226438 160.729895 +L 162.720096 164.80458 +L 162.204155 168.534293 +L 161.677776 171.900835 +L 161.140441 174.896636 +L 160.591922 177.523385 +L 160.032246 179.790495 +L 159.46165 181.713517 +L 158.880536 183.312589 +L 158.289434 184.61099 +L 157.688958 185.633863 +L 157.079775 186.40712 +L 156.462572 186.956559 +L 155.838035 187.307185 +L 155.206834 187.482722 +L 154.569604 187.505303 +L 153.926942 187.395297 +L 153.279401 187.171263 +L 152.62749 186.849985 +L 151.971676 186.446567 +L 151.312383 185.974573 +L 150.650001 185.44618 +L 149.984886 184.872337 +L 149.317365 184.262912 +L 148.647742 183.626834 +L 147.976296 182.972205 +L 147.303291 182.306403 +L 146.628971 181.636155 +L 145.953566 180.967599 +L 145.27729 180.306334 +L 144.600346 179.657446 +L 143.922919 179.025535 +L 143.245185 178.414734 +L 142.567304 177.828717 +L 141.889421 177.270715 +L 141.211669 176.74352 +L 140.534166 176.249501 +L 139.857015 175.790614 +L 139.180308 175.368416 +L 138.504119 174.984082 +L 137.828509 174.638423 +L 137.153529 174.331909 +L 136.479213 174.064692 +L 135.805586 173.836628 +L 135.132658 173.647308 +L 134.460432 173.496081 +L 133.7889 173.382082 +L 133.118044 173.304264 +L 132.447839 173.26142 +L 131.778252 173.252211 +L 131.109247 173.275194 +L 130.440779 173.328845 +L 129.772801 173.411579 +L 129.105262 173.521777 +L 128.43811 173.6578 +L 127.771288 173.81801 +L 127.104741 174.000783 +L 126.438413 174.204527 +L 125.772246 174.427687 +L 125.106187 174.668762 +L 124.44018 174.926307 +L 123.774172 175.198943 +L 123.108113 175.485362 +L 122.441953 175.784329 +L 121.775647 176.094684 +L 121.109149 176.415344 +L 120.442418 176.745302 +" style="fill:none;stroke:#f5c4ac;stroke-width:1.5;"/> + </g> + <g id="Line3DCollection_28"> + <path clip-path="url(#p6ec0e0aa4f)" d="M 195.247794 132.07226 +L 194.652673 132.449787 +L 194.057073 132.829923 +L 193.460993 133.212549 +L 192.864429 133.59741 +L 192.267373 133.984073 +L 191.669813 134.371886 +L 191.071731 134.759925 +L 190.473101 135.146943 +L 189.873888 135.531323 +L 189.274049 135.911023 +L 188.673526 136.283543 +L 188.072251 136.645901 +L 187.470143 136.994628 +L 186.867107 137.325796 +L 186.263034 137.635077 +L 185.657806 137.917844 +L 185.051298 138.169321 +L 184.44338 138.384781 +L 183.833924 138.559788 +L 183.22281 138.690487 +L 182.609938 138.773928 +L 181.995232 138.808413 +L 181.378652 138.793838 +L 180.760204 138.73203 +L 180.13995 138.627019 +L 179.518015 138.48526 +L 178.894589 138.315738 +L 178.269938 138.129964 +L 177.644396 137.941821 +L 177.018365 137.76727 +L 176.392303 137.623898 +L 175.766712 137.530328 +L 175.142123 137.505511 +L 174.519072 137.56793 +L 173.898078 137.734769 +L 173.279622 138.02108 +L 172.66412 138.439018 +L 172.051905 138.99718 +L 171.443205 139.700105 +L 170.838133 140.547964 +L 170.236676 141.536469 +L 169.638694 142.656997 +L 169.043926 143.896942 +L 168.451999 145.240242 +L 167.862442 146.668073 +L 167.274711 148.159645 +L 166.688204 149.693055 +L 166.102294 151.246146 +L 165.516345 152.797323 +L 164.92974 154.326273 +L 164.341899 155.814572 +L 163.752296 157.246152 +L 163.16047 158.607602 +L 162.566037 159.888332 +L 161.96869 161.080589 +L 161.368201 162.179344 +L 160.764418 163.182093 +L 160.157259 164.088568 +L 159.546704 164.900411 +L 158.932783 165.620823 +L 158.315574 166.254214 +L 157.695183 166.805867 +L 157.071746 167.281641 +L 156.445411 167.687705 +L 155.816338 168.030334 +L 155.18469 168.315729 +L 154.550631 168.549901 +L 153.91432 168.738584 +L 153.27591 168.887185 +L 152.635549 169.000759 +L 151.993376 169.084004 +L 151.349522 169.141278 +L 150.704112 169.176615 +L 150.057263 169.193747 +L 149.409087 169.196138 +L 148.759691 169.187 +L 148.109174 169.169321 +L 147.457633 169.145879 +L 146.80516 169.119258 +L 146.151841 169.091859 +L 145.49776 169.065904 +L 144.842995 169.043446 +L 144.187621 169.026366 +L 143.531708 169.016376 +L 142.87532 169.015024 +L 142.218518 169.023687 +L 141.561356 169.043579 +L 140.903883 169.07575 +L 140.246144 169.121088 +L 139.588178 169.180325 +L 138.930017 169.254038 +L 138.27169 169.342663 +L 137.61322 169.446492 +L 136.954624 169.565691 +L 136.295914 169.700302 +L 135.637099 169.850255 +L 134.978182 170.01538 +L 134.319163 170.195414 +L 133.660037 170.390014 +L 133.000797 170.598768 +L 132.341433 170.821204 +L 131.681932 171.0568 +L 131.022277 171.304996 +L 130.362451 171.5652 +L 129.702436 171.8368 +L 129.042212 172.11917 +L 128.381756 172.411678 +L 127.721048 172.713694 +L 127.060065 173.024591 +L 126.398786 173.343758 +L 125.737187 173.670597 +L 125.075246 174.004532 +L 124.412944 174.345007 +L 123.750258 174.691494 +L 123.087168 175.043491 +L 122.423656 175.400525 +L 121.759703 175.76215 +L 121.09529 176.127953 +L 120.430403 176.497546 +" style="fill:none;stroke:#8db0fe;stroke-width:1.5;"/> + </g> + <g id="Line3DCollection_29"> + <path clip-path="url(#p6ec0e0aa4f)" d="M 195.247391 132.04995 +L 194.652072 132.41699 +L 194.056187 132.78219 +L 193.4597 133.143768 +L 192.862561 133.499287 +L 192.264702 133.845484 +L 191.666033 134.178087 +L 191.066433 134.491618 +L 190.46575 134.779175 +L 189.863793 135.032231 +L 189.260323 135.24044 +L 188.655053 135.391486 +L 188.047637 135.470993 +L 187.437676 135.462518 +L 186.82471 135.347668 +L 186.208225 135.106351 +L 185.587659 134.717208 +L 184.962416 134.158231 +L 184.331881 133.407583 +L 183.695446 132.444625 +L 183.052536 131.25113 +L 182.402647 129.812648 +L 181.745381 128.119986 +L 181.080494 126.170713 +L 180.407931 123.970614 +L 179.727874 121.534988 +L 179.040777 118.889672 +L 178.347393 116.071687 +L 177.648791 113.129381 +L 176.946362 110.12199 +L 176.241803 107.118544 +L 175.537085 104.196093 +L 174.834398 101.437275 +L 174.136082 98.927297 +L 173.444537 96.750467 +L 172.762123 94.986453 +L 172.091056 93.706502 +L 171.433297 92.969865 +L 170.790455 92.820697 +L 170.163702 93.285644 +L 169.553706 94.372332 +L 168.9606 96.068867 +L 168.383964 98.344382 +L 167.822855 101.150602 +L 167.27585 104.424295 +L 166.74112 108.090412 +L 166.216522 112.065693 +L 165.699697 116.262471 +L 165.188183 120.592425 +L 164.679511 124.970065 +L 164.171304 129.315754 +L 163.661359 133.558141 +L 163.147712 137.635936 +L 162.628681 141.499009 +L 162.102897 145.108824 +L 161.569315 148.438301 +L 161.027205 151.471174 +L 160.476135 154.200972 +L 159.91594 156.629727 +L 159.346687 158.76652 +L 158.768634 160.625983 +L 158.182189 162.22682 +L 157.587867 163.590437 +L 156.986257 164.739721 +L 156.377984 165.698009 +L 155.763683 166.488245 +L 155.143979 167.132348 +L 154.519467 167.650761 +L 153.890701 168.062168 +L 153.258188 168.383359 +L 152.622384 168.629203 +L 151.983693 168.81271 +L 151.342471 168.945156 +L 150.699029 169.036242 +L 150.053635 169.094275 +L 149.406524 169.126349 +L 148.757898 169.138523 +L 148.107932 169.135983 +L 147.456782 169.123179 +L 146.804581 169.103956 +L 146.151452 169.081646 +L 145.497501 169.059156 +L 144.842825 169.039032 +L 144.18751 169.023507 +L 143.531637 169.014543 +L 142.875275 169.01386 +L 142.218489 169.022956 +L 141.561337 169.043124 +L 140.903872 169.07547 +L 140.246137 169.120917 +L 139.588173 169.180221 +L 138.930015 169.253976 +L 138.271689 169.342626 +L 137.613219 169.446471 +L 136.954623 169.565679 +L 136.295914 169.700295 +L 135.637099 169.850251 +L 134.978182 170.015377 +L 134.319162 170.195412 +L 133.660037 170.390013 +L 133.000797 170.598768 +L 132.341433 170.821204 +L 131.681932 171.0568 +L 131.022277 171.304996 +L 130.362451 171.5652 +L 129.702436 171.8368 +L 129.042212 172.11917 +L 128.381756 172.411678 +L 127.721048 172.713694 +L 127.060065 173.024591 +L 126.398786 173.343758 +L 125.737187 173.670597 +L 125.075246 174.004532 +L 124.412944 174.345007 +L 123.750258 174.691494 +L 123.087168 175.043491 +L 122.423656 175.400525 +L 121.759703 175.76215 +L 121.09529 176.127953 +L 120.430403 176.497546 +" style="fill:none;stroke:#f4987a;stroke-width:1.5;"/> + </g> + <g id="Line3DCollection_30"> + <path clip-path="url(#p6ec0e0aa4f)" d="M 195.245398 131.939685 +L 194.649888 132.29774 +L 194.053853 132.656373 +L 193.45729 133.015485 +L 192.860195 133.374926 +L 192.262564 133.734483 +L 191.664389 134.093858 +L 191.065663 134.452661 +L 190.466374 134.810384 +L 189.866507 135.166389 +L 189.266043 135.519889 +L 188.664961 135.869936 +L 188.063233 136.215415 +L 187.460828 136.555042 +L 186.85771 136.887373 +L 186.253838 137.21083 +L 185.649169 137.523732 +L 185.043654 137.824349 +L 184.437246 138.110974 +L 183.829898 138.382005 +L 183.221564 138.636049 +L 182.612207 138.872033 +L 182.001798 139.089325 +L 181.39032 139.287856 +L 180.777773 139.468232 +L 180.164176 139.631834 +L 179.549569 139.780889 +L 178.934017 139.918512 +L 178.31761 140.0487 +L 177.700462 140.17628 +L 177.082711 140.306809 +L 176.464514 140.44642 +L 175.846046 140.601616 +L 175.22749 140.779032 +L 174.609032 140.985165 +L 173.990853 141.226085 +L 173.373122 141.507161 +L 172.755988 141.832793 +L 172.139569 142.20619 +L 171.523952 142.6292 +L 170.909182 143.102199 +L 170.295265 143.624056 +L 169.682163 144.192173 +L 169.069797 144.802595 +L 168.458048 145.450185 +L 167.846769 146.128854 +L 167.235782 146.831822 +L 166.624893 147.55191 +L 166.013896 148.281827 +L 165.402584 149.014444 +L 164.790755 149.743044 +L 164.178218 150.461529 +L 163.5648 151.164581 +L 162.950353 151.847765 +L 162.33475 152.507592 +L 161.717892 153.141523 +L 161.099708 153.747931 +L 160.48015 154.326036 +L 159.859194 154.875801 +L 159.236839 155.397825 +L 158.613098 155.893215 +L 157.987998 156.363469 +L 157.36158 156.810357 +L 156.73389 157.235819 +L 156.104977 157.641874 +L 155.474896 158.030546 +L 154.8437 158.403806 +L 154.21144 158.763532 +L 153.578167 159.111482 +L 152.943928 159.449274 +L 152.308765 159.778389 +L 151.672719 160.100163 +L 151.035826 160.415802 +L 150.39812 160.726387 +L 149.75963 161.03289 +L 149.120385 161.336181 +L 148.48041 161.637047 +L 147.839727 161.936195 +L 147.19836 162.234268 +L 146.556327 162.53185 +L 145.913647 162.82947 +L 145.270338 163.127612 +L 144.626415 163.426714 +L 143.981894 163.727173 +L 143.336789 164.029349 +L 142.691112 164.333561 +L 142.044874 164.640093 +L 141.398088 164.949194 +L 140.750761 165.261077 +L 140.102903 165.575924 +L 139.454519 165.893882 +L 138.805617 166.215066 +L 138.156202 166.539566 +L 137.506277 166.867438 +L 136.855844 167.198715 +L 136.204907 167.533404 +L 135.553465 167.871491 +L 134.901519 168.21294 +L 134.249068 168.557697 +L 133.59611 168.905693 +L 132.942643 169.256842 +L 132.288665 169.61105 +L 131.634171 169.96821 +L 130.979159 170.328209 +L 130.323623 170.690927 +L 129.667559 171.05624 +L 129.010963 171.424021 +L 128.35383 171.794143 +L 127.696153 172.166479 +L 127.037929 172.540903 +L 126.379152 172.91729 +L 125.719817 173.29552 +L 125.059919 173.675477 +L 124.399452 174.05705 +L 123.738412 174.440132 +L 123.076794 174.824621 +L 122.414593 175.210423 +L 121.751806 175.597448 +L 121.088427 175.985613 +L 120.424452 176.37484 +" style="fill:none;stroke:#6282ea;stroke-width:1.5;"/> + </g> + <g id="Line3DCollection_31"> + <path clip-path="url(#p6ec0e0aa4f)" d="M 195.245069 131.92152 +L 194.649399 132.271036 +L 194.053132 132.617506 +L 193.456237 132.95948 +L 192.858674 133.295028 +L 192.260389 133.621631 +L 191.661311 133.936048 +L 191.061349 134.234175 +L 190.460388 134.5109 +L 189.858286 134.75996 +L 189.254866 134.973804 +L 188.649917 135.143494 +L 188.043189 135.258641 +L 187.434389 135.307408 +L 186.823187 135.27659 +L 186.20921 135.151804 +L 185.592055 134.917791 +L 184.971294 134.558862 +L 184.346485 134.059481 +L 183.717193 133.404993 +L 183.083009 132.582483 +L 182.443569 131.581745 +L 181.798592 130.396316 +L 181.147901 129.024536 +L 180.491455 127.470559 +L 179.829381 125.745249 +L 179.161994 123.866881 +L 178.489822 121.861565 +L 177.813613 119.763318 +L 177.134339 117.61373 +L 176.453185 115.461177 +L 175.771524 113.359565 +L 175.090882 111.366634 +L 174.412888 109.541868 +L 173.739214 107.944117 +L 173.071502 106.629037 +L 172.411301 105.646528 +L 171.759983 105.038304 +L 171.118684 104.835798 +L 170.488244 105.058527 +L 169.869161 105.713053 +L 169.261568 106.792623 +L 168.665224 108.277499 +L 168.079527 110.135983 +L 167.503545 112.326019 +L 166.936066 114.797289 +L 166.375656 117.493628 +L 165.820727 120.355593 +L 165.269611 123.323026 +L 164.720631 126.337454 +L 164.172166 129.344195 +L 163.622708 132.294078 +L 163.070908 135.144723 +L 162.515611 137.861349 +L 161.955876 140.417138 +L 161.390984 142.793175 +L 160.820436 144.978046 +L 160.243938 146.967144 +L 159.661385 148.761788 +L 159.072831 150.368211 +L 158.478464 151.796504 +L 157.878576 153.059575 +L 157.27353 154.17218 +L 156.663742 155.150051 +L 156.049648 156.009164 +L 155.431689 156.765139 +L 154.810295 157.432789 +L 154.185871 158.025806 +L 153.558791 158.556556 +L 152.929391 159.035997 +L 152.297967 159.47366 +L 151.664779 159.877704 +L 151.030046 160.255015 +L 150.393954 160.611331 +L 149.756658 160.951375 +L 149.118285 161.279005 +L 148.478941 161.59734 +L 147.83871 161.908895 +L 147.197663 162.215685 +L 146.555854 162.519326 +L 145.913329 162.821114 +L 145.270126 163.122092 +L 144.626276 163.423104 +L 143.981803 163.724836 +L 143.33673 164.02785 +L 142.691074 164.332609 +L 142.044851 164.639495 +L 141.398073 164.948822 +L 140.750752 165.260848 +L 140.102897 165.575784 +L 139.454516 165.893797 +L 138.805615 166.215016 +L 138.156201 166.539536 +L 137.506276 166.86742 +L 136.855844 167.198704 +L 136.204906 167.533398 +L 135.553465 167.871488 +L 134.901519 168.212938 +L 134.249068 168.557696 +L 133.59611 168.905692 +L 132.942643 169.256842 +L 132.288665 169.61105 +L 131.634171 169.96821 +L 130.979159 170.328209 +L 130.323623 170.690927 +L 129.667559 171.05624 +L 129.010963 171.424021 +L 128.35383 171.794143 +L 127.696153 172.166479 +L 127.037929 172.540903 +L 126.379152 172.91729 +L 125.719817 173.29552 +L 125.059919 173.675477 +L 124.399452 174.05705 +L 123.738412 174.440132 +L 123.076794 174.824621 +L 122.414593 175.210423 +L 121.751806 175.597448 +L 121.088427 175.985613 +L 120.424452 176.37484 +" style="fill:none;stroke:#dd5f4b;stroke-width:1.5;"/> </g> </g> </g> <defs> - <clipPath id="p23ac792d96"> - <rect height="345.6" width="446.4" x="72.0" y="43.2"/> + <clipPath id="p6ec0e0aa4f"> + <rect height="266.112" width="357.12" x="57.6" y="41.472"/> </clipPath> </defs> </svg> diff --git a/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/tricontour.png b/lib/mpl_toolkits/tests/baseline_images/test_mplot3d/tricontour.png index 97cfed8225bcb9f44b0a432875930ad0cf71c5e3..b71eaf6d9a86f86a9db40fa7754c9487b0ce831a 100644 GIT binary patch literal 71328 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 s%q@MSu=Kq{ip31lLbYJA&lkt}_~|i(SSao)7Ly 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 a(C*U`wL0R?&q2aJCyt#tnxSUm_kRF4plFi- literal 71222 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 diff --git a/lib/mpl_toolkits/tests/test_mplot3d.py b/lib/mpl_toolkits/tests/test_mplot3d.py index 18a6a896fd83..ca4cb2d46207 100644 --- a/lib/mpl_toolkits/tests/test_mplot3d.py +++ b/lib/mpl_toolkits/tests/test_mplot3d.py @@ -55,7 +55,8 @@ def test_bar3d_notshaded(): fig.canvas.draw() -@image_comparison(baseline_images=['contour3d'], remove_text=True) +@image_comparison(baseline_images=['contour3d'], + remove_text=True, style='mpl20') def test_contour3d(): fig = plt.figure() ax = fig.gca(projection='3d') From 4270fd09e3376322eb36e12fea8331e0d0df1b63 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Fri, 6 Jul 2018 23:34:34 +0200 Subject: [PATCH 0926/1161] Don't associate Wx timers with the parent frame. This is consistent with the behavior on Qt and GTK, and avoids a segfault due to lack of disconnection of the timer after the parent widget is destroyed (otherwise, we'd need to keep track of timers associated with each widget and tear them down when the widget is destroyed). --- .../2018-02-15-AL-deprecations.rst | 3 +++ lib/matplotlib/backends/backend_wx.py | 25 +++++++------------ 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst index a34615e18dee..0fcf8fb909b7 100644 --- a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst +++ b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst @@ -48,3 +48,6 @@ The following rcParams are deprecated: The following keyword arguments are deprecated: - passing ``verts`` to ``Axes.scatter`` (use ``marker`` instead), - passing ``obj_type`` to ``cbook.deprecated``, + +The following call signatures are deprecated: +- passing a ``wx.EvtHandler`` as first argument to ``backend_wx.TimerWx``, diff --git a/lib/matplotlib/backends/backend_wx.py b/lib/matplotlib/backends/backend_wx.py index 657e543f45c3..986b40806b0a 100644 --- a/lib/matplotlib/backends/backend_wx.py +++ b/lib/matplotlib/backends/backend_wx.py @@ -118,19 +118,15 @@ class TimerWx(TimerBase): ''' - def __init__(self, parent, *args, **kwargs): + def __init__(self, *args, **kwargs): + if isinstance(args[0], wx.EvtHandler): + cbook.warn_deprecated( + "3.0", "Passing a wx.EvtHandler as first argument to the " + "TimerWx constructor is deprecated since %(version)s.") + args = args[1:] TimerBase.__init__(self, *args, **kwargs) - - # Create a new timer and connect the timer event to our handler. - # For WX, the events have to use a widget for binding. - self.parent = parent - self._timer = wx.Timer(self.parent, wx.NewId()) - self.parent.Bind(wx.EVT_TIMER, self._on_timer, self._timer) - - # Unbinding causes Wx to stop for some reason. Disabling for now. -# def __del__(self): -# TimerBase.__del__(self) -# self.parent.Bind(wx.EVT_TIMER, None, self._timer) + self._timer = wx.Timer() + self._timer.Notify = self._on_timer def _timer_start(self): self._timer.Start(self._interval, self._single) @@ -144,9 +140,6 @@ def _timer_set_interval(self): def _timer_set_single_shot(self): self._timer.Start() - def _on_timer(self, *args): - TimerBase._on_timer(self) - class RendererWx(RendererBase): """ @@ -704,7 +697,7 @@ def new_timer(self, *args, **kwargs): will be executed by the timer every *interval*. """ - return TimerWx(self, *args, **kwargs) + return TimerWx(*args, **kwargs) def flush_events(self): wx.Yield() From 99db86c832238df65813b4e963e646805d11336c Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Tue, 15 May 2018 02:11:47 -0700 Subject: [PATCH 0927/1161] Deprecate text.latex.unicode. It is 2018 and Python3 is ruling the world; it is high time for usetex to default to unicode support as well. (If ``\usepackage[utf8]{inputenc}`` is irremediably breaking some users' setup we can always revisit this decision.) --- doc/api/next_api_changes/2018-02-15-AL-deprecations.rst | 1 + doc/api/next_api_changes/2018-05-15-AL.rst | 8 ++++++++ examples/text_labels_and_annotations/tex_demo.py | 1 - .../text_labels_and_annotations/usetex_baseline_test.py | 1 - lib/matplotlib/__init__.py | 2 ++ lib/matplotlib/mpl-data/stylelib/_classic_test.mplstyle | 2 -- lib/matplotlib/mpl-data/stylelib/classic.mplstyle | 2 -- lib/matplotlib/rcsetup.py | 2 +- lib/matplotlib/tests/test_backend_ps.py | 4 ++-- lib/matplotlib/tests/test_rcparams.py | 3 ++- lib/matplotlib/texmanager.py | 6 ++---- matplotlibrc.template | 2 -- 12 files changed, 18 insertions(+), 16 deletions(-) create mode 100644 doc/api/next_api_changes/2018-05-15-AL.rst diff --git a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst index a34615e18dee..f1dbe3b2d2e2 100644 --- a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst +++ b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst @@ -44,6 +44,7 @@ The following classes, methods, functions, and attributes are deprecated: The following rcParams are deprecated: - ``examples.directory`` (use ``datapath`` instead), - ``pgf.debug`` (the pgf backend relies on logging), +- ``text.latex.unicode``, The following keyword arguments are deprecated: - passing ``verts`` to ``Axes.scatter`` (use ``marker`` instead), diff --git a/doc/api/next_api_changes/2018-05-15-AL.rst b/doc/api/next_api_changes/2018-05-15-AL.rst new file mode 100644 index 000000000000..82422ec5500e --- /dev/null +++ b/doc/api/next_api_changes/2018-05-15-AL.rst @@ -0,0 +1,8 @@ +Changes regarding the text.latex.unicode rcParam +```````````````````````````````````````````````` + +The rcParam now defaults to True and is deprecated (i.e., in future versions +of Maplotlib, unicode input will always be supported). + +Moreover, the underlying implementation now uses ``\usepackage[utf8]{inputenc}`` +instead of ``\usepackage{ucs}\usepackage[utf8x]{inputenc}``. diff --git a/examples/text_labels_and_annotations/tex_demo.py b/examples/text_labels_and_annotations/tex_demo.py index 495ee4b3c583..f8683a825795 100644 --- a/examples/text_labels_and_annotations/tex_demo.py +++ b/examples/text_labels_and_annotations/tex_demo.py @@ -17,7 +17,6 @@ import numpy as np import matplotlib matplotlib.rcParams['text.usetex'] = True -matplotlib.rcParams['text.latex.unicode'] = True import matplotlib.pyplot as plt diff --git a/examples/text_labels_and_annotations/usetex_baseline_test.py b/examples/text_labels_and_annotations/usetex_baseline_test.py index 6d8b79177d17..0a72afab63e2 100644 --- a/examples/text_labels_and_annotations/usetex_baseline_test.py +++ b/examples/text_labels_and_annotations/usetex_baseline_test.py @@ -11,7 +11,6 @@ from matplotlib import rcParams rcParams['text.usetex'] = True -rcParams['text.latex.unicode'] = True class Axes(maxes.Axes): diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 29fc2f1388db..e38ca9f68fac 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -820,8 +820,10 @@ def gen_candidates(): 'axes.hold': ('2.1',), 'backend.qt4': ('2.2',), 'backend.qt5': ('2.2',), + 'text.latex.unicde': ('3.0',), } + _all_deprecated = {*_deprecated_map, *_deprecated_ignore_map} diff --git a/lib/matplotlib/mpl-data/stylelib/_classic_test.mplstyle b/lib/matplotlib/mpl-data/stylelib/_classic_test.mplstyle index c42222ad8f19..853b3481e4c7 100644 --- a/lib/matplotlib/mpl-data/stylelib/_classic_test.mplstyle +++ b/lib/matplotlib/mpl-data/stylelib/_classic_test.mplstyle @@ -109,8 +109,6 @@ text.usetex : False # use latex for all text handling. The following fo # If another font is desired which can loaded using the # LaTeX \usepackage command, please inquire at the # matplotlib mailing list -text.latex.unicode : False # use "ucs" and "inputenc" LaTeX packages for handling - # unicode strings. text.latex.preamble : # IMPROPER USE OF THIS FEATURE WILL LEAD TO LATEX FAILURES # AND IS THEREFORE UNSUPPORTED. PLEASE DO NOT ASK FOR HELP # IF THIS FEATURE DOES NOT DO WHAT YOU EXPECT IT TO. diff --git a/lib/matplotlib/mpl-data/stylelib/classic.mplstyle b/lib/matplotlib/mpl-data/stylelib/classic.mplstyle index 94ae5bf7a4f3..6da7b07b27dd 100644 --- a/lib/matplotlib/mpl-data/stylelib/classic.mplstyle +++ b/lib/matplotlib/mpl-data/stylelib/classic.mplstyle @@ -111,8 +111,6 @@ text.usetex : False # use latex for all text handling. The following fo # If another font is desired which can loaded using the # LaTeX \usepackage command, please inquire at the # matplotlib mailing list -text.latex.unicode : False # use "ucs" and "inputenc" LaTeX packages for handling - # unicode strings. text.latex.preamble : # IMPROPER USE OF THIS FEATURE WILL LEAD TO LATEX FAILURES # AND IS THEREFORE UNSUPPORTED. PLEASE DO NOT ASK FOR HELP # IF THIS FEATURE DOES NOT DO WHAT YOU EXPECT IT TO. diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index 594154b5e088..215b5665ee78 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -1100,7 +1100,7 @@ def _validate_linestyle(ls): # text props 'text.color': ['black', validate_color], 'text.usetex': [False, validate_bool], - 'text.latex.unicode': [False, validate_bool], + 'text.latex.unicode': [True, validate_bool], 'text.latex.preamble': [[''], validate_stringlist], 'text.latex.preview': [False, validate_bool], 'text.dvipnghack': [None, validate_bool_maybe_none], diff --git a/lib/matplotlib/tests/test_backend_ps.py b/lib/matplotlib/tests/test_backend_ps.py index fd0d192c3e38..ca6b53346308 100644 --- a/lib/matplotlib/tests/test_backend_ps.py +++ b/lib/matplotlib/tests/test_backend_ps.py @@ -32,11 +32,11 @@ needs_ghostscript( ('ps', False, {'ps.usedistiller': 'ghostscript'})), needs_usetex(needs_ghostscript( - ('ps', False, {'text.latex.unicode': True, 'text.usetex': True}))), + ('ps', False, {'text.usetex': True}))), ('eps', False, {}), ('eps', True, {'ps.useafm': True}), needs_usetex(needs_ghostscript( - ('eps', False, {'text.latex.unicode': True, 'text.usetex': True}))), + ('eps', False, {'text.usetex': True}))), ], ids=[ 'ps', 'ps with distiller', diff --git a/lib/matplotlib/tests/test_rcparams.py b/lib/matplotlib/tests/test_rcparams.py index 6a0040d1e0d8..020a8b1a6f84 100644 --- a/lib/matplotlib/tests/test_rcparams.py +++ b/lib/matplotlib/tests/test_rcparams.py @@ -463,7 +463,8 @@ def test_if_rctemplate_is_up_to_date(): continue if k in deprecated: continue - if k.startswith(("verbose.", "examples.directory")): + if k.startswith( + ("verbose.", "examples.directory", "text.latex.unicode")): continue found = False for line in rclines: diff --git a/lib/matplotlib/texmanager.py b/lib/matplotlib/texmanager.py index 085a65f49e9a..aed767da0e76 100644 --- a/lib/matplotlib/texmanager.py +++ b/lib/matplotlib/texmanager.py @@ -203,8 +203,7 @@ def make_tex(self, tex, fontsize): if rcParams['text.latex.unicode']: unicode_preamble = r""" -\usepackage{ucs} -\usepackage[utf8x]{inputenc}""" +\usepackage[utf8]{inputenc}""" else: unicode_preamble = '' @@ -255,8 +254,7 @@ def make_tex_preview(self, tex, fontsize): if rcParams['text.latex.unicode']: unicode_preamble = r""" -\usepackage{ucs} -\usepackage[utf8x]{inputenc}""" +\usepackage[utf8]{inputenc}""" else: unicode_preamble = '' diff --git a/matplotlibrc.template b/matplotlibrc.template index cf777b901ec2..aa864b872998 100644 --- a/matplotlibrc.template +++ b/matplotlibrc.template @@ -225,8 +225,6 @@ backend : $TEMPLATE_BACKEND ## If another font is desired which can loaded using the ## LaTeX \usepackage command, please inquire at the ## matplotlib mailing list -#text.latex.unicode : False ## use "ucs" and "inputenc" LaTeX packages for handling - ## unicode strings. #text.latex.preamble : ## IMPROPER USE OF THIS FEATURE WILL LEAD TO LATEX FAILURES ## AND IS THEREFORE UNSUPPORTED. PLEASE DO NOT ASK FOR HELP ## IF THIS FEATURE DOES NOT DO WHAT YOU EXPECT IT TO. From 9a147a45287e6c2f0aa191418b3a02c0e195dd64 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Thu, 7 Jun 2018 08:30:11 +0200 Subject: [PATCH 0928/1161] Suppress some more rc deprecation warnings. --- lib/matplotlib/__init__.py | 24 ++++++++++++++++++------ lib/matplotlib/style/core.py | 7 ++++++- 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index e38ca9f68fac..382ef4e6234c 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -820,7 +820,7 @@ def gen_candidates(): 'axes.hold': ('2.1',), 'backend.qt4': ('2.2',), 'backend.qt5': ('2.2',), - 'text.latex.unicde': ('3.0',), + 'text.latex.unicode': ('3.0',), } @@ -883,7 +883,7 @@ def __setitem__(self, key, val): val = alt_val(val) elif key in _deprecated_remain_as_none and val is not None: version, = _deprecated_remain_as_none[key] - addendum = None + addendum = '' if key.startswith('backend'): addendum = ( "In order to force the use of a specific Qt binding, " @@ -1243,21 +1243,33 @@ def rcdefaults(): Use a specific style file. Call ``style.use('default')`` to restore the default style. """ - rcParams.clear() - rcParams.update(rcParamsDefault) + # Deprecation warnings were already handled when creating rcParamsDefault, + # no need to reemit them here. + with warnings.catch_warnings(): + warnings.simplefilter("ignore", mplDeprecation) + rcParams.clear() + rcParams.update(rcParamsDefault) def rc_file_defaults(): """Restore the rc params from the original rc file loaded by Matplotlib. """ - rcParams.update(rcParamsOrig) + # Deprecation warnings were already handled when creating rcParamsOrig, no + # need to reemit them here. + with warnings.catch_warnings(): + warnings.simplefilter("ignore", mplDeprecation) + rcParams.update(rcParamsOrig) def rc_file(fname): """ Update rc params from file. """ - rcParams.update(rc_params_from_file(fname)) + # Deprecation warnings were already handled in rc_params_from_file, no need + # to reemit them here. + with warnings.catch_warnings(): + warnings.simplefilter("ignore", mplDeprecation) + rcParams.update(rc_params_from_file(fname)) class rc_context: diff --git a/lib/matplotlib/style/core.py b/lib/matplotlib/style/core.py index 27cc8339c242..157c26d8ff13 100644 --- a/lib/matplotlib/style/core.py +++ b/lib/matplotlib/style/core.py @@ -18,6 +18,7 @@ import matplotlib as mpl from matplotlib import rc_params_from_file, rcParamsDefault +from matplotlib.cbook import MatplotlibDeprecationWarning __all__ = ['use', 'context', 'available', 'library', 'reload_library'] @@ -98,7 +99,11 @@ def use(style): if not isinstance(style, str): _apply_style(style) elif style == 'default': - _apply_style(rcParamsDefault, warn=False) + # Deprecation warnings were already handled when creating + # rcParamsDefault, no need to reemit them here. + with warnings.catch_warnings(): + warnings.simplefilter("ignore", MatplotlibDeprecationWarning) + _apply_style(rcParamsDefault, warn=False) elif style in library: _apply_style(library[style]) else: From 764fbe571f6333ca43e120dd290929b17741db4f Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Sun, 8 Jul 2018 16:43:25 -0700 Subject: [PATCH 0929/1161] FIX: subplots don't mutate kwargs passed by user. --- lib/matplotlib/figure.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index 6fdf1265ff3b..b8b91e9a0dd4 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -1471,6 +1471,9 @@ def subplots(self, nrows=1, ncols=1, sharex=False, sharey=False, subplot_kw = {} if gridspec_kw is None: gridspec_kw = {} + # don't mutate kwargs passed by user... + subplot_kw = subplot_kw.copy() + gridspec_kw = gridspec_kw.copy() if self.get_constrained_layout(): gs = GridSpec(nrows, ncols, figure=self, **gridspec_kw) From 590ee8e133903accb519c2618c05bd93f39a4557 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Sun, 8 Jul 2018 22:44:44 -0400 Subject: [PATCH 0930/1161] TST: exclude tox files from flake8 checking --- .flake8 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.flake8 b/.flake8 index 0c9fcd3fc117..4c64cd4eada0 100644 --- a/.flake8 +++ b/.flake8 @@ -18,6 +18,8 @@ exclude = versioneer.py tools/gh_api.py tools/github_stats.py + .tox + .eggs per-file-ignores = setup.py: E402 From f8758ebb346fd653b969b2375705ada525c11c09 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade <quantum.analyst@gmail.com> Date: Mon, 9 Jul 2018 00:27:08 -0400 Subject: [PATCH 0931/1161] TST: Place animation files in a temp dir. --- lib/matplotlib/tests/test_animation.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/tests/test_animation.py b/lib/matplotlib/tests/test_animation.py index 54bca6d3553a..7b9fc1e4a69f 100644 --- a/lib/matplotlib/tests/test_animation.py +++ b/lib/matplotlib/tests/test_animation.py @@ -215,9 +215,10 @@ def test_movie_writer_registry(): not animation.writers.is_available(mpl.rcParams["animation.writer"]), reason="animation writer not installed") @pytest.mark.parametrize("method_name", ["to_html5_video", "to_jshtml"]) -def test_embed_limit(method_name, caplog): - with mpl.rc_context({"animation.embed_limit": 1e-6}): # ~1 byte. - getattr(make_animation(frames=1), method_name)() +def test_embed_limit(method_name, caplog, tmpdir): + with tmpdir.as_cwd(): + with mpl.rc_context({"animation.embed_limit": 1e-6}): # ~1 byte. + getattr(make_animation(frames=1), method_name)() assert len(caplog.records) == 1 record, = caplog.records assert (record.name == "matplotlib.animation" From e732310caa659b20d8b160f294196aee341cf851 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sat, 13 Jan 2018 16:07:16 -0800 Subject: [PATCH 0932/1161] Cache paths of fonts shipped with mpl relative to the mpl data path. This lets the font cache stay valid across multiple virtualenvs (as long as the list of fonts shipped by mpl does not change). --- lib/matplotlib/font_manager.py | 75 ++++++++++++++++++++++------------ 1 file changed, 48 insertions(+), 27 deletions(-) diff --git a/lib/matplotlib/font_manager.py b/lib/matplotlib/font_manager.py index b8688860c9d4..ce1d921dced0 100644 --- a/lib/matplotlib/font_manager.py +++ b/lib/matplotlib/font_manager.py @@ -44,6 +44,7 @@ from dummy_threading import Timer import warnings +import matplotlib as mpl from matplotlib import afm, cbook, ft2font, rcParams, get_cachedir from matplotlib.fontconfig_pattern import ( parse_fontconfig_pattern, generate_fontconfig_pattern) @@ -828,15 +829,23 @@ def copy(self): class JSONEncoder(json.JSONEncoder): def default(self, o): if isinstance(o, FontManager): - return dict(o.__dict__, _class='FontManager') + return dict(o.__dict__, __class__='FontManager') elif isinstance(o, FontEntry): - return dict(o.__dict__, _class='FontEntry') + d = dict(o.__dict__, __class__='FontEntry') + try: + # Cache paths of fonts shipped with mpl relative to the mpl + # data path, which helps in the presence of venvs. + d["fname"] = str( + Path(d["fname"]).relative_to(mpl.get_data_path())) + except ValueError: + pass + return d else: return super().default(o) def _json_decode(o): - cls = o.pop('_class', None) + cls = o.pop('__class__', None) if cls is None: return o elif cls == 'FontManager': @@ -846,15 +855,21 @@ def _json_decode(o): elif cls == 'FontEntry': r = FontEntry.__new__(FontEntry) r.__dict__.update(o) + if not os.path.isabs(r.fname): + r.fname = os.path.join(mpl.get_data_path(), r.fname) return r else: - raise ValueError("don't know how to deserialize _class=%s" % cls) + raise ValueError("don't know how to deserialize __class__=%s" % cls) def json_dump(data, filename): - """Dumps a data structure as JSON in the named file. - Handles FontManager and its fields.""" + """ + Dumps a data structure as JSON in the named file. + Handles FontManager and its fields. File paths that are children of the + Matplotlib data path (typically, fonts shipped with Matplotlib) are stored + relative to that data path (to remain valid across virtualenvs). + """ with open(filename, 'w') as fh: try: json.dump(data, fh, cls=JSONEncoder, indent=2) @@ -863,9 +878,13 @@ def json_dump(data, filename): def json_load(filename): - """Loads a data structure as JSON from the named file. - Handles FontManager and its fields.""" + """ + Loads a data structure as JSON from the named file. + Handles FontManager and its fields. Relative file paths are interpreted + as being relative to the Matplotlib data path, and transformed into + absolute paths. + """ with open(filename, 'r') as fh: return json.load(fh, object_hook=_json_decode) @@ -951,30 +970,32 @@ def __init__(self, size=None, weight='normal'): _log.debug('font search path %s', str(paths)) # Load TrueType fonts and create font dictionary. - self.ttffiles = findSystemFonts(paths) + findSystemFonts() self.defaultFamily = { 'ttf': 'DejaVu Sans', 'afm': 'Helvetica'} self.defaultFont = {} - for fname in self.ttffiles: - _log.debug('trying fontname %s', fname) - if fname.lower().find('DejaVuSans.ttf')>=0: - self.defaultFont['ttf'] = fname - break - else: - # use anything - self.defaultFont['ttf'] = self.ttffiles[0] - - self.ttflist = createFontList(self.ttffiles) - - self.afmfiles = (findSystemFonts(paths, fontext='afm') - + findSystemFonts(fontext='afm')) - self.afmlist = createFontList(self.afmfiles, fontext='afm') - if len(self.afmfiles): - self.defaultFont['afm'] = self.afmfiles[0] - else: - self.defaultFont['afm'] = None + ttffiles = findSystemFonts(paths) + findSystemFonts() + self.defaultFont['ttf'] = next( + (fname for fname in ttffiles + if fname.lower().endswith("dejavusans.ttf")), + ttffiles[0]) + self.ttflist = createFontList(ttffiles) + + afmfiles = (findSystemFonts(paths, fontext='afm') + + findSystemFonts(fontext='afm')) + self.afmlist = createFontList(afmfiles, fontext='afm') + self.defaultFont['afm'] = afmfiles[0] if afmfiles else None + + @property + @cbook.deprecated("3.0") + def ttffiles(self): + return [font.fname for font in self.ttflist] + + @property + @cbook.deprecated("3.0") + def afmfiles(self): + return [font.fname for font in self.afmlist] def get_default_weight(self): """ From 9f821d1d37e7a35038fd7b6a564c63d095fc9399 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Mon, 9 Jul 2018 00:16:10 +0200 Subject: [PATCH 0933/1161] Include cache version in fontlist cache filename. --- .flake8 | 2 +- lib/matplotlib/font_manager.py | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.flake8 b/.flake8 index 4c64cd4eada0..0103d1ff3001 100644 --- a/.flake8 +++ b/.flake8 @@ -42,7 +42,7 @@ per-file-ignores = matplotlib/backends/qt_editor/formlayout.py: E301, E501 matplotlib/backends/tkagg.py: E231, E302, E701 matplotlib/backends/windowing.py: E301, E302 - matplotlib/font_manager.py: E203, E221, E225, E251, E261, E262, E302, E501 + matplotlib/font_manager.py: E203, E221, E251, E261, E262, E302, E501 matplotlib/fontconfig_pattern.py: E201, E203, E221, E222, E225, E302 matplotlib/legend_handler.py: E201, E501 matplotlib/mathtext.py: E201, E202, E203, E211, E221, E222, E225, E231, E251, E261, E301, E302, E303, E402, E501 diff --git a/lib/matplotlib/font_manager.py b/lib/matplotlib/font_manager.py index ce1d921dced0..e451dfdb281f 100644 --- a/lib/matplotlib/font_manager.py +++ b/lib/matplotlib/font_manager.py @@ -945,7 +945,7 @@ class FontManager(object): # Increment this version number whenever the font cache data # format or behavior has changed and requires a existing font # cache files to be rebuilt. - __version__ = 201 + __version__ = 300 def __init__(self, size=None, weight='normal'): self._version = self.__version__ @@ -1333,7 +1333,8 @@ def findfont(prop, fontext='ttf'): cachedir = get_cachedir() if cachedir is not None: - _fmcache = os.path.join(cachedir, 'fontList.json') + _fmcache = os.path.join( + cachedir, 'fontlist-v{}.json'.format(FontManager.__version__)) fontManager = None From 3ba2e6d5935ece346b12f2e82db70de4b528b101 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Mon, 9 Jul 2018 11:35:50 +0200 Subject: [PATCH 0934/1161] Suppress a spurious missing-glyph warning with ft2font. `FT_Get_Char_Index(face, 0)` returns 0; that doesn't warrant a warning. --- src/ft2font.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ft2font.cpp b/src/ft2font.cpp index 4e30da77ef46..02f6b6ac4686 100644 --- a/src/ft2font.cpp +++ b/src/ft2font.cpp @@ -168,7 +168,7 @@ inline double conv(long v) FT_UInt ft_get_char_index_or_warn(FT_Face face, FT_ULong charcode) { FT_UInt glyph_index = FT_Get_Char_Index(face, charcode); - if (!glyph_index) { + if (charcode && !glyph_index) { PyErr_WarnEx(NULL, "Required glyph missing from current font.", 1); } return glyph_index; From d5698c95ce4fc72415d6747683aa25c64ac11b6c Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Mon, 9 Jul 2018 17:03:36 +0200 Subject: [PATCH 0935/1161] Remove some conditional branches in examples for wx<4. --- examples/user_interfaces/embedding_in_wx4_sgskip.py | 12 +++--------- examples/user_interfaces/embedding_in_wx5_sgskip.py | 6 +----- 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/examples/user_interfaces/embedding_in_wx4_sgskip.py b/examples/user_interfaces/embedding_in_wx4_sgskip.py index a6b81f97681d..c984e02b06da 100644 --- a/examples/user_interfaces/embedding_in_wx4_sgskip.py +++ b/examples/user_interfaces/embedding_in_wx4_sgskip.py @@ -27,15 +27,9 @@ def __init__(self, canvas, cankill): # for simplicity I'm going to reuse a bitmap from wx, you'll # probably want to add your own. - if 'phoenix' in wx.PlatformInfo: - self.AddTool(self.ON_CUSTOM, 'Click me', - _load_bitmap('back.png'), - 'Activate custom contol') - self.Bind(wx.EVT_TOOL, self._on_custom, id=self.ON_CUSTOM) - else: - self.AddSimpleTool(self.ON_CUSTOM, _load_bitmap('back.png'), - 'Click me', 'Activate custom contol') - self.Bind(wx.EVT_TOOL, self._on_custom, id=self.ON_CUSTOM) + self.AddTool(self.ON_CUSTOM, 'Click me', _load_bitmap('back.png'), + 'Activate custom contol') + self.Bind(wx.EVT_TOOL, self._on_custom, id=self.ON_CUSTOM) def _on_custom(self, evt): # add some text to the axes in a random location in axes (0,1) diff --git a/examples/user_interfaces/embedding_in_wx5_sgskip.py b/examples/user_interfaces/embedding_in_wx5_sgskip.py index 61261cd1297d..c726a988fd89 100644 --- a/examples/user_interfaces/embedding_in_wx5_sgskip.py +++ b/examples/user_interfaces/embedding_in_wx5_sgskip.py @@ -6,13 +6,9 @@ """ import wx +import wx.lib.agw.aui as aui import wx.lib.mixins.inspection as wit -if 'phoenix' in wx.PlatformInfo: - import wx.lib.agw.aui as aui -else: - import wx.aui as aui - import matplotlib as mpl from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigureCanvas from matplotlib.backends.backend_wxagg import NavigationToolbar2WxAgg as NavigationToolbar From d8a08bc930795582506f73ed4a6650703e9ad1de Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Mon, 9 Jul 2018 17:09:37 +0200 Subject: [PATCH 0936/1161] Remove _macosx.NavigationToolbar. We've switched to NavigationToolbar2 for years. It's a private class so can be removed directly. --- src/_macosx.m | 482 -------------------------------------------------- 1 file changed, 482 deletions(-) diff --git a/src/_macosx.m b/src/_macosx.m index c3ebac8c35c1..8d23fdcd43ff 100644 --- a/src/_macosx.m +++ b/src/_macosx.m @@ -877,485 +877,6 @@ static CGFloat _get_device_scale(CGContextRef cr) FigureManager_new, /* tp_new */ }; -@interface NavigationToolbarHandler : NSObject -{ PyObject* toolbar; -} -- (NavigationToolbarHandler*)initWithToolbar:(PyObject*)toolbar; --(void)left:(id)sender; --(void)right:(id)sender; --(void)up:(id)sender; --(void)down:(id)sender; --(void)zoominx:(id)sender; --(void)zoominy:(id)sender; --(void)zoomoutx:(id)sender; --(void)zoomouty:(id)sender; -@end - -typedef struct { - PyObject_HEAD - NSPopUpButton* menu; - NavigationToolbarHandler* handler; -} NavigationToolbar; - -@implementation NavigationToolbarHandler -- (NavigationToolbarHandler*)initWithToolbar:(PyObject*)theToolbar -{ [self init]; - toolbar = theToolbar; - return self; -} - --(void)left:(id)sender -{ PyObject* result; - PyGILState_STATE gstate; - gstate = PyGILState_Ensure(); - result = PyObject_CallMethod(toolbar, "panx", "i", -1); - if(result) - Py_DECREF(result); - else - PyErr_Print(); - PyGILState_Release(gstate); -} - --(void)right:(id)sender -{ PyObject* result; - PyGILState_STATE gstate; - gstate = PyGILState_Ensure(); - result = PyObject_CallMethod(toolbar, "panx", "i", 1); - if(result) - Py_DECREF(result); - else - PyErr_Print(); - PyGILState_Release(gstate); -} - --(void)up:(id)sender -{ PyObject* result; - PyGILState_STATE gstate; - gstate = PyGILState_Ensure(); - result = PyObject_CallMethod(toolbar, "pany", "i", 1); - if(result) - Py_DECREF(result); - else - PyErr_Print(); - PyGILState_Release(gstate); -} - --(void)down:(id)sender -{ PyObject* result; - PyGILState_STATE gstate; - gstate = PyGILState_Ensure(); - result = PyObject_CallMethod(toolbar, "pany", "i", -1); - if(result) - Py_DECREF(result); - else - PyErr_Print(); - PyGILState_Release(gstate); -} - --(void)zoominx:(id)sender -{ PyObject* result; - PyGILState_STATE gstate; - gstate = PyGILState_Ensure(); - result = PyObject_CallMethod(toolbar, "zoomx", "i", 1); - if(result) - Py_DECREF(result); - else - PyErr_Print(); - PyGILState_Release(gstate); -} - --(void)zoomoutx:(id)sender -{ PyObject* result; - PyGILState_STATE gstate; - gstate = PyGILState_Ensure(); - result = PyObject_CallMethod(toolbar, "zoomx", "i", -1); - if(result) - Py_DECREF(result); - else - PyErr_Print(); - PyGILState_Release(gstate); -} - --(void)zoominy:(id)sender -{ PyObject* result; - PyGILState_STATE gstate; - gstate = PyGILState_Ensure(); - result = PyObject_CallMethod(toolbar, "zoomy", "i", 1); - if(result) - Py_DECREF(result); - else - PyErr_Print(); - PyGILState_Release(gstate); -} - --(void)zoomouty:(id)sender -{ PyObject* result; - PyGILState_STATE gstate; - gstate = PyGILState_Ensure(); - result = PyObject_CallMethod(toolbar, "zoomy", "i", -1); - if(result) - Py_DECREF(result); - else - PyErr_Print(); - PyGILState_Release(gstate); -} - --(void)save_figure:(id)sender -{ PyObject* result; - PyGILState_STATE gstate; - gstate = PyGILState_Ensure(); - result = PyObject_CallMethod(toolbar, "save_figure", ""); - if(result) - Py_DECREF(result); - else - PyErr_Print(); - PyGILState_Release(gstate); -} -@end - -static PyObject* -NavigationToolbar_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -{ - NavigationToolbarHandler* handler = [NavigationToolbarHandler alloc]; - if (!handler) return NULL; - NavigationToolbar *self = (NavigationToolbar*)type->tp_alloc(type, 0); - if (!self) - { [handler release]; - return NULL; - } - self->handler = handler; - return (PyObject*)self; -} - -static int -NavigationToolbar_init(NavigationToolbar *self, PyObject *args, PyObject *kwds) -{ - int i; - NSRect rect; - - const float smallgap = 2; - const float biggap = 10; - const int height = 32; - - PyObject* images; - PyObject* obj; - - FigureCanvas* canvas; - View* view; - - obj = PyObject_GetAttrString((PyObject*)self, "canvas"); - if (obj==NULL) - { - PyErr_SetString(PyExc_AttributeError, "Attempt to install toolbar for NULL canvas"); - return -1; - } - Py_DECREF(obj); /* Don't increase the reference count */ - if (!PyObject_IsInstance(obj, (PyObject*) &FigureCanvasType)) - { - PyErr_SetString(PyExc_TypeError, "Attempt to install toolbar for object that is not a FigureCanvas"); - return -1; - } - canvas = (FigureCanvas*)obj; - view = canvas->view; - if(!view) - { - PyErr_SetString(PyExc_RuntimeError, "NSView* is NULL"); - return -1; - } - - if(!PyArg_ParseTuple(args, "O", &images)) return -1; - if(!PyDict_Check(images)) return -1; - - NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init]; - NSRect bounds = [view bounds]; - NSWindow* window = [view window]; - - bounds.origin.y += height; - [view setFrame: bounds]; - - bounds.size.height += height; - [window setContentSize: bounds.size]; - - char* imagenames[9] = {"stock_left", - "stock_right", - "stock_zoom-in", - "stock_zoom-out", - "stock_up", - "stock_down", - "stock_zoom-in", - "stock_zoom-out", - "stock_save_as"}; - - NSString* tooltips[9] = { - @"Pan left with click or wheel mouse (bidirectional)", - @"Pan right with click or wheel mouse (bidirectional)", - @"Zoom In X (shrink the x axis limits) with click or wheel mouse (bidirectional)", - @"Zoom Out X (expand the x axis limits) with click or wheel mouse (bidirectional)", - @"Pan up with click or wheel mouse (bidirectional)", - @"Pan down with click or wheel mouse (bidirectional)", - @"Zoom in Y (shrink the y axis limits) with click or wheel mouse (bidirectional)", - @"Zoom Out Y (expand the y axis limits) with click or wheel mouse (bidirectional)", - @"Save the figure"}; - - SEL actions[9] = {@selector(left:), - @selector(right:), - @selector(zoominx:), - @selector(zoomoutx:), - @selector(up:), - @selector(down:), - @selector(zoominy:), - @selector(zoomouty:), - @selector(save_figure:)}; - - SEL scroll_actions[9][2] = {{@selector(left:), @selector(right:)}, - {@selector(left:), @selector(right:)}, - {@selector(zoominx:), @selector(zoomoutx:)}, - {@selector(zoominx:), @selector(zoomoutx:)}, - {@selector(up:), @selector(down:)}, - {@selector(up:), @selector(down:)}, - {@selector(zoominy:), @selector(zoomouty:)}, - {@selector(zoominy:), @selector(zoomouty:)}, - {nil,nil}, - }; - - - rect.size.width = 120; - rect.size.height = 24; - rect.origin.x = biggap; - rect.origin.y = 0.5*(height - rect.size.height); - self->menu = [[NSPopUpButton alloc] initWithFrame: rect - pullsDown: YES]; - [self->menu setAutoenablesItems: NO]; - [[window contentView] addSubview: self->menu]; - [self->menu release]; - rect.origin.x += rect.size.width + biggap; - rect.size.width = 24; - - self->handler = [self->handler initWithToolbar: (PyObject*)self]; - for (i = 0; i < 9; i++) - { - NSButton* button; - SEL scrollWheelUpAction = scroll_actions[i][0]; - SEL scrollWheelDownAction = scroll_actions[i][1]; - if (scrollWheelUpAction && scrollWheelDownAction) - { - ScrollableButton* scrollable_button = [ScrollableButton alloc]; - [scrollable_button initWithFrame: rect]; - [scrollable_button setScrollWheelUpAction: scrollWheelUpAction]; - [scrollable_button setScrollWheelDownAction: scrollWheelDownAction]; - button = (NSButton*)scrollable_button; - } - else - { - button = [NSButton alloc]; - [button initWithFrame: rect]; - } - PyObject* imagedata = PyDict_GetItemString(images, imagenames[i]); - NSImage* image = _read_ppm_image(imagedata); - [button setBezelStyle: NSShadowlessSquareBezelStyle]; - [button setButtonType: NSMomentaryLightButton]; - if(image) - { - [button setImage: image]; - [image release]; - } - [button setToolTip: tooltips[i]]; - [button setTarget: self->handler]; - [button setAction: actions[i]]; - [[window contentView] addSubview: button]; - [button release]; - rect.origin.x += rect.size.width + smallgap; - } - [[window contentView] display]; - [pool release]; - - return 0; -} - -static void -NavigationToolbar_dealloc(NavigationToolbar *self) -{ - [self->handler release]; - Py_TYPE(self)->tp_free((PyObject*)self); -} - -static PyObject* -NavigationToolbar_repr(NavigationToolbar* self) -{ - return PyUnicode_FromFormat("NavigationToolbar object %p", (void*)self); -} - -static char NavigationToolbar_doc[] = -"NavigationToolbar\n"; - -static PyObject* -NavigationToolbar_update (NavigationToolbar* self) -{ - int n; - NSPopUpButton* button = self->menu; - if (!button) - { - PyErr_SetString(PyExc_RuntimeError, "Menu button is NULL"); - return NULL; - } - - PyObject* canvas = PyObject_GetAttrString((PyObject*)self, "canvas"); - if (canvas==NULL) - { - PyErr_SetString(PyExc_AttributeError, "Failed to find canvas"); - return NULL; - } - Py_DECREF(canvas); /* Don't keep a reference here */ - PyObject* figure = PyObject_GetAttrString(canvas, "figure"); - if (figure==NULL) - { - PyErr_SetString(PyExc_AttributeError, "Failed to find figure"); - return NULL; - } - Py_DECREF(figure); /* Don't keep a reference here */ - PyObject* axes = PyObject_GetAttrString(figure, "axes"); - if (axes==NULL) - { - PyErr_SetString(PyExc_AttributeError, "Failed to find figure axes"); - return NULL; - } - Py_DECREF(axes); /* Don't keep a reference here */ - if (!PyList_Check(axes)) - { - PyErr_SetString(PyExc_TypeError, "Figure axes is not a list"); - return NULL; - } - n = PyList_GET_SIZE(axes); - - NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init]; - [button removeAllItems]; - - NSMenu* menu = [button menu]; - [menu addItem: [MenuItem menuItemWithTitle: @"Axes"]]; - - if (n==0) - { - [button setEnabled: NO]; - } - else - { - int i; - [menu addItem: [MenuItem menuItemSelectAll]]; - [menu addItem: [MenuItem menuItemInvertAll]]; - [menu addItem: [NSMenuItem separatorItem]]; - for (i = 0; i < n; i++) - { - [menu addItem: [MenuItem menuItemForAxis: i]]; - } - [button setEnabled: YES]; - } - [pool release]; - Py_RETURN_NONE; -} - -static PyObject* -NavigationToolbar_get_active (NavigationToolbar* self) -{ - NSPopUpButton* button = self->menu; - if (!button) - { - PyErr_SetString(PyExc_RuntimeError, "Menu button is NULL"); - return NULL; - } - NSMenu* menu = [button menu]; - NSArray* items = [menu itemArray]; - size_t n = [items count]; - int* states = calloc(n, sizeof(int)); - if (!states) - { - PyErr_SetString(PyExc_RuntimeError, "calloc failed"); - return NULL; - } - int i; - unsigned int m = 0; - NSEnumerator* enumerator = [items objectEnumerator]; - MenuItem* item; - while ((item = [enumerator nextObject])) - { - if ([item isSeparatorItem]) continue; - i = [item index]; - if (i < 0) continue; - if ([item state]==NSOnState) - { - states[i] = 1; - m++; - } - } - Py_ssize_t list_index = 0; - PyObject* list = PyList_New(m); - - size_t state_index; - for (state_index = 0; state_index < n; state_index++) - { - if(states[state_index]==1) - { - PyList_SET_ITEM(list, list_index++, PyLong_FromSize_t(state_index)); - } - } - free(states); - return list; -} - -static PyMethodDef NavigationToolbar_methods[] = { - {"update", - (PyCFunction)NavigationToolbar_update, - METH_NOARGS, - "Updates the toolbar menu." - }, - {"get_active", - (PyCFunction)NavigationToolbar_get_active, - METH_NOARGS, - "Returns a list of integers identifying which items in the menu are selected." - }, - {NULL} /* Sentinel */ -}; - -static PyTypeObject NavigationToolbarType = { - PyVarObject_HEAD_INIT(NULL, 0) - "_macosx.NavigationToolbar", /*tp_name*/ - sizeof(NavigationToolbar), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)NavigationToolbar_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - (reprfunc)NavigationToolbar_repr, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ - NavigationToolbar_doc, /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - NavigationToolbar_methods, /* tp_methods */ - 0, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - (initproc)NavigationToolbar_init, /* tp_init */ - 0, /* tp_alloc */ - NavigationToolbar_new, /* tp_new */ -}; - @interface NavigationToolbar2Handler : NSObject { PyObject* toolbar; NSButton* panbutton; @@ -3092,7 +2613,6 @@ static bool verify_framework(void) if (PyType_Ready(&FigureCanvasType) < 0 || PyType_Ready(&FigureManagerType) < 0 - || PyType_Ready(&NavigationToolbarType) < 0 || PyType_Ready(&NavigationToolbar2Type) < 0 || PyType_Ready(&TimerType) < 0) return NULL; @@ -3107,12 +2627,10 @@ static bool verify_framework(void) Py_INCREF(&FigureCanvasType); Py_INCREF(&FigureManagerType); - Py_INCREF(&NavigationToolbarType); Py_INCREF(&NavigationToolbar2Type); Py_INCREF(&TimerType); PyModule_AddObject(module, "FigureCanvas", (PyObject*) &FigureCanvasType); PyModule_AddObject(module, "FigureManager", (PyObject*) &FigureManagerType); - PyModule_AddObject(module, "NavigationToolbar", (PyObject*) &NavigationToolbarType); PyModule_AddObject(module, "NavigationToolbar2", (PyObject*) &NavigationToolbar2Type); PyModule_AddObject(module, "Timer", (PyObject*) &TimerType); From 8ef7b499540382fe13973483ff2a1f5a682971a9 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Mon, 9 Jul 2018 09:33:31 -0700 Subject: [PATCH 0937/1161] TST: Add test to make sure kwargs dicts aren't mutated by subplots --- lib/matplotlib/tests/test_subplots.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/matplotlib/tests/test_subplots.py b/lib/matplotlib/tests/test_subplots.py index 30cebe656e58..8c3558d10ca5 100644 --- a/lib/matplotlib/tests/test_subplots.py +++ b/lib/matplotlib/tests/test_subplots.py @@ -149,3 +149,12 @@ def test_get_gridspec(): # ahem, pretty trivial, but... fig, ax = plt.subplots() assert ax.get_subplotspec().get_gridspec() == ax.get_gridspec() + + +def test_dont_mutate_kwargs(): + subplot_kw = {'sharex': 'all'} + gridspec_kw = {'width_ratios': [1, 2]} + fig, ax = plt.subplots(1, 2, subplot_kw=subplot_kw, + gridspec_kw=gridspec_kw) + assert subplot_kw == {'sharex': 'all'} + assert gridspec_kw == {'width_ratios': [1, 2]} From b18d16c13209a860f77a7dbad001cf472257cbb3 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Sat, 7 Jul 2018 16:00:03 -0700 Subject: [PATCH 0938/1161] ENH have ax.get_tightbbox have a bbox around all artists --- doc/api/next_api_changes/2018-04-29-JMK.rst | 20 +++++++ lib/matplotlib/artist.py | 52 ++++++++++++++++ lib/matplotlib/axes/_base.py | 59 ++++++++++++++----- lib/matplotlib/backend_bases.py | 31 +--------- lib/matplotlib/figure.py | 45 +++++++++++--- lib/matplotlib/legend.py | 16 +++++ lib/matplotlib/tests/test_figure.py | 25 ++++++++ .../intermediate/constrainedlayout_guide.py | 36 ++++++++++- tutorials/intermediate/tight_layout_guide.py | 29 +++++++++ 9 files changed, 259 insertions(+), 54 deletions(-) create mode 100644 doc/api/next_api_changes/2018-04-29-JMK.rst diff --git a/doc/api/next_api_changes/2018-04-29-JMK.rst b/doc/api/next_api_changes/2018-04-29-JMK.rst new file mode 100644 index 000000000000..d25c74062c16 --- /dev/null +++ b/doc/api/next_api_changes/2018-04-29-JMK.rst @@ -0,0 +1,20 @@ +`.matplotlib.Axes.get_tightbbox` now includes all artists +--------------------------------------------------------- + +Layout tools like `.Figure.tight_layout`, ``constrained_layout``, +and ``fig.savefig('fname.png', bbox_inches="tight")`` use +`.matplotlib.Axes.get_tightbbox` to determine the bounds of each axes on +a figure and adjust spacing between axes. + +In Matplotlib 2.2 ``get_tightbbox`` started to include legends made on the +axes, but still excluded some other artists, like text that may overspill an +axes. For Matplotlib 3.0, *all* artists are now included in the bounding box. + +This new default may be overridden in either of two ways: + +1. Make the artist to be excluded a child of the figure, not the axes. E.g., + call ``fig.legend()`` instead of ``ax.legend()`` (perhaps using + `~.matplotlib.Axes.get_legend_handles_labels` to gather handles and labels + from the parent axes). +2. If the artist is a child of the axes, set the artist property + ``artist.set_in_layout(False)``. diff --git a/lib/matplotlib/artist.py b/lib/matplotlib/artist.py index b2d7f971c973..6745ce69e406 100644 --- a/lib/matplotlib/artist.py +++ b/lib/matplotlib/artist.py @@ -114,6 +114,7 @@ def __init__(self): self._sketch = rcParams['path.sketch'] self._path_effects = rcParams['path.effects'] self._sticky_edges = _XYPair([], []) + self._in_layout = True def __getstate__(self): d = self.__dict__.copy() @@ -251,6 +252,33 @@ def get_window_extent(self, renderer): """ return Bbox([[0, 0], [0, 0]]) + def get_tightbbox(self, renderer): + """ + Like `Artist.get_window_extent`, but includes any clipping. + + Parameters + ---------- + renderer : `.RendererBase` instance + renderer that will be used to draw the figures (i.e. + ``fig.canvas.get_renderer()``) + + Returns + ------- + bbox : `.BboxBase` + containing the bounding box (in figure pixel co-ordinates). + """ + + bbox = self.get_window_extent(renderer) + if self.get_clip_on(): + clip_box = self.get_clip_box() + if clip_box is not None: + bbox = Bbox.intersection(bbox, clip_box) + clip_path = self.get_clip_path() + if clip_path is not None and bbox is not None: + clip_path = clip_path.get_fully_transformed_path() + bbox = Bbox.intersection(bbox, clip_path.get_extents()) + return bbox + def add_callback(self, func): """ Adds a callback function that will be called whenever one of @@ -701,6 +729,17 @@ def get_animated(self): "Return the artist's animated state" return self._animated + def get_in_layout(self): + """ + Return boolean flag, ``True`` if artist is included in layout + calculations. + + E.g. :doc:`/tutorials/intermediate/constrainedlayout_guide`, + `.Figure.tight_layout()`, and + ``fig.savefig(fname, bbox_inches='tight')``. + """ + return self._in_layout + def get_clip_on(self): 'Return whether artist uses clipping' return self._clipon @@ -830,6 +869,19 @@ def set_animated(self, b): self._animated = b self.pchanged() + def set_in_layout(self, in_layout): + """ + Set if artist is to be included in layout calculations, + E.g. :doc:`/tutorials/intermediate/constrainedlayout_guide`, + `.Figure.tight_layout()`, and + ``fig.savefig(fname, bbox_inches='tight')``. + + Parameters + ---------- + in_layout : bool + """ + self._in_layout = in_layout + def update(self, props): """ Update this artist's properties from the dictionary *prop*. diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 7b43c6c4306a..e03ead41791c 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -4110,19 +4110,47 @@ def pick(self, *args): martist.Artist.pick(self, args[0]) def get_default_bbox_extra_artists(self): + """ + Return a default list of artists that are used for the bounding box + calculation. + + Artists are excluded either by not being visible or + ``artist.set_in_layout(False)``. + """ return [artist for artist in self.get_children() - if artist.get_visible()] + if (artist.get_visible() and artist.get_in_layout())] - def get_tightbbox(self, renderer, call_axes_locator=True): + def get_tightbbox(self, renderer, call_axes_locator=True, + bbox_extra_artists=None): """ - Return the tight bounding box of the axes. - The dimension of the Bbox in canvas coordinate. + Return the tight bounding box of the axes, including axis and their + decorators (xlabel, title, etc). + + Artists that have ``artist.set_in_layout(False)`` are not included + in the bbox. + + Parameters + ---------- + renderer : `.RendererBase` instance + renderer that will be used to draw the figures (i.e. + ``fig.canvas.get_renderer()``) + + bbox_extra_artists : list of `.Artist` or ``None`` + List of artists to include in the tight bounding box. If + ``None`` (default), then all artist children of the axes are + included in the tight bounding box. + + call_axes_locator : boolean (default ``True``) + If *call_axes_locator* is ``False``, it does not call the + ``_axes_locator`` attribute, which is necessary to get the correct + bounding box. ``call_axes_locator=False`` can be used if the + caller is only interested in the relative size of the tightbbox + compared to the axes bbox. - If *call_axes_locator* is *False*, it does not call the - _axes_locator attribute, which is necessary to get the correct - bounding box. ``call_axes_locator==False`` can be used if the - caller is only intereted in the relative size of the tightbbox - compared to the axes bbox. + Returns + ------- + bbox : `.BboxBase` + bounding box in figure pixel coordinates. """ bb = [] @@ -4155,11 +4183,14 @@ def get_tightbbox(self, renderer, call_axes_locator=True): if bb_yaxis: bb.append(bb_yaxis) - for child in self.get_children(): - if isinstance(child, OffsetBox) and child.get_visible(): - bb.append(child.get_window_extent(renderer)) - elif isinstance(child, Legend) and child.get_visible(): - bb.append(child._legend_box.get_window_extent(renderer)) + bbox_artists = bbox_extra_artists + if bbox_artists is None: + bbox_artists = self.get_default_bbox_extra_artists() + + for a in bbox_artists: + bbox = a.get_tightbbox(renderer) + if bbox is not None and (bbox.width != 0 or bbox.height != 0): + bb.append(bbox) _bbox = mtransforms.Bbox.union( [b for b in bb if b.width != 0 or b.height != 0]) diff --git a/lib/matplotlib/backend_bases.py b/lib/matplotlib/backend_bases.py index 43f22e3f4f90..ce15d9295fac 100644 --- a/lib/matplotlib/backend_bases.py +++ b/lib/matplotlib/backend_bases.py @@ -2048,36 +2048,9 @@ def print_figure(self, filename, dpi=None, facecolor=None, edgecolor=None, dryrun=True, **kwargs) renderer = self.figure._cachedRenderer - bbox_inches = self.figure.get_tightbbox(renderer) - bbox_artists = kwargs.pop("bbox_extra_artists", None) - if bbox_artists is None: - bbox_artists = \ - self.figure.get_default_bbox_extra_artists() - - bbox_filtered = [] - for a in bbox_artists: - bbox = a.get_window_extent(renderer) - if a.get_clip_on(): - clip_box = a.get_clip_box() - if clip_box is not None: - bbox = Bbox.intersection(bbox, clip_box) - clip_path = a.get_clip_path() - if clip_path is not None and bbox is not None: - clip_path = \ - clip_path.get_fully_transformed_path() - bbox = Bbox.intersection( - bbox, clip_path.get_extents()) - if bbox is not None and ( - bbox.width != 0 or bbox.height != 0): - bbox_filtered.append(bbox) - - if bbox_filtered: - _bbox = Bbox.union(bbox_filtered) - trans = Affine2D().scale(1.0 / self.figure.dpi) - bbox_extra = TransformedBbox(_bbox, trans) - bbox_inches = Bbox.union([bbox_inches, bbox_extra]) - + bbox_inches = self.figure.get_tightbbox(renderer, + bbox_extra_artists=bbox_artists) pad = kwargs.pop("pad_inches", None) if pad is None: pad = rcParams['savefig.pad_inches'] diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index 6fdf1265ff3b..080ad8a8cfa1 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -1593,10 +1593,7 @@ def draw(self, renderer): try: renderer.open_group('figure') if self.get_constrained_layout() and self.axes: - if True: - self.execute_constrained_layout(renderer) - else: - pass + self.execute_constrained_layout(renderer) if self.get_tight_layout() and self.axes: try: self.tight_layout(renderer, @@ -2181,7 +2178,7 @@ def waitforbuttonpress(self, timeout=-1): def get_default_bbox_extra_artists(self): bbox_artists = [artist for artist in self.get_children() - if artist.get_visible()] + if (artist.get_visible() and artist.get_in_layout())] for ax in self.axes: if ax.get_visible(): bbox_artists.extend(ax.get_default_bbox_extra_artists()) @@ -2189,18 +2186,44 @@ def get_default_bbox_extra_artists(self): bbox_artists.remove(self.patch) return bbox_artists - def get_tightbbox(self, renderer): + def get_tightbbox(self, renderer, bbox_extra_artists=None): """ Return a (tight) bounding box of the figure in inches. - Currently, this takes only axes title, axis labels, and axis - ticklabels into account. Needs improvement. + Artists that have ``artist.set_in_layout(False)`` are not included + in the bbox. + + Parameters + ---------- + renderer : `.RendererBase` instance + renderer that will be used to draw the figures (i.e. + ``fig.canvas.get_renderer()``) + + bbox_extra_artists : list of `.Artist` or ``None`` + List of artists to include in the tight bounding box. If + ``None`` (default), then all artist children of each axes are + included in the tight bounding box. + + Returns + ------- + bbox : `.BboxBase` + containing the bounding box (in figure inches). """ bb = [] + if bbox_extra_artists is None: + artists = self.get_default_bbox_extra_artists() + else: + artists = bbox_extra_artists + + for a in artists: + bbox = a.get_tightbbox(renderer) + if bbox is not None and (bbox.width != 0 or bbox.height != 0): + bb.append(bbox) + for ax in self.axes: if ax.get_visible(): - bb.append(ax.get_tightbbox(renderer)) + bb.append(ax.get_tightbbox(renderer, bbox_extra_artists)) if len(bb) == 0: return self.bbox_inches @@ -2252,6 +2275,10 @@ def tight_layout(self, renderer=None, pad=1.08, h_pad=None, w_pad=None, """ Automatically adjust subplot parameters to give specified padding. + To exclude an artist on the axes from the bounding box calculation + that determines the subplot parameters (i.e. legend, or annotation), + then set `a.set_in_layout(False)` for that artist. + Parameters ---------- pad : float diff --git a/lib/matplotlib/legend.py b/lib/matplotlib/legend.py index 2364a2c63df6..00e63951cd18 100644 --- a/lib/matplotlib/legend.py +++ b/lib/matplotlib/legend.py @@ -981,6 +981,22 @@ def get_window_extent(self, *args, **kwargs): 'Return extent of the legend.' return self._legend_box.get_window_extent(*args, **kwargs) + def get_tightbbox(self, renderer): + """ + Like `.Legend.get_window_extent`, but uses the box for the legend. + + Parameters + ---------- + renderer : `.RendererBase` instance + renderer that will be used to draw the figures (i.e. + ``fig.canvas.get_renderer()``) + + Returns + ------- + `.BboxBase` : containing the bounding box in figure pixel co-ordinates. + """ + return self._legend_box.get_window_extent(renderer) + def get_frame_on(self): """Get whether the legend box patch is drawn.""" return self._drawFrame diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py index de5a6c8aa0dd..3e07838da984 100644 --- a/lib/matplotlib/tests/test_figure.py +++ b/lib/matplotlib/tests/test_figure.py @@ -391,3 +391,28 @@ def test_fspath(fmt, tmpdir): # All the supported formats include the format name (case-insensitive) # in the first 100 bytes. assert fmt.encode("ascii") in file.read(100).lower() + + +def test_tightbbox(): + fig, ax = plt.subplots() + ax.set_xlim(0, 1) + t = ax.text(1., 0.5, 'This dangles over end') + renderer = fig.canvas.get_renderer() + x1Nom0 = 9.035 # inches + assert np.abs(t.get_tightbbox(renderer).x1 - x1Nom0 * fig.dpi) < 2 + assert np.abs(ax.get_tightbbox(renderer).x1 - x1Nom0 * fig.dpi) < 2 + assert np.abs(fig.get_tightbbox(renderer).x1 - x1Nom0) < 0.05 + assert np.abs(fig.get_tightbbox(renderer).x0 - 0.679) < 0.05 + # now exclude t from the tight bbox so now the bbox is quite a bit + # smaller + t.set_in_layout(False) + x1Nom = 7.333 + assert np.abs(ax.get_tightbbox(renderer).x1 - x1Nom * fig.dpi) < 2 + assert np.abs(fig.get_tightbbox(renderer).x1 - x1Nom) < 0.05 + + t.set_in_layout(True) + x1Nom = 7.333 + assert np.abs(ax.get_tightbbox(renderer).x1 - x1Nom0 * fig.dpi) < 2 + # test bbox_extra_artists method... + assert np.abs(ax.get_tightbbox(renderer, + bbox_extra_artists=[]).x1 - x1Nom * fig.dpi) < 2 diff --git a/tutorials/intermediate/constrainedlayout_guide.py b/tutorials/intermediate/constrainedlayout_guide.py index 179b520761c3..144f4685c605 100644 --- a/tutorials/intermediate/constrainedlayout_guide.py +++ b/tutorials/intermediate/constrainedlayout_guide.py @@ -189,7 +189,7 @@ def example_plot(ax, fontsize=12, nodec=False): fig, ax = plt.subplots(constrained_layout=True) ax.plot(np.arange(10), label='This is a plot') -ax.legend(loc='center left', bbox_to_anchor=(0.9, 0.5)) +ax.legend(loc='center left', bbox_to_anchor=(0.8, 0.5)) ############################################# # However, this will steal space from a subplot layout: @@ -198,7 +198,39 @@ def example_plot(ax, fontsize=12, nodec=False): for ax in axs.flatten()[:-1]: ax.plot(np.arange(10)) axs[1, 1].plot(np.arange(10), label='This is a plot') -axs[1, 1].legend(loc='center left', bbox_to_anchor=(0.9, 0.5)) +axs[1, 1].legend(loc='center left', bbox_to_anchor=(0.8, 0.5)) + +############################################# +# In order for a legend or other artist to *not* steal space +# from the subplot layout, we can ``leg.set_in_layout(False)``. +# Of course this can mean the legend ends up +# cropped, but can be useful if the plot is subsequently called +# with ``fig.savefig('outname.png', bbox_inches='tight')``. Note, +# however, that the legend's ``get_in_layout`` status will have to be +# toggled again to make the saved file work: + +fig, axs = plt.subplots(2, 2, constrained_layout=True) +for ax in axs.flatten()[:-1]: + ax.plot(np.arange(10)) +axs[1, 1].plot(np.arange(10), label='This is a plot') +leg = axs[1, 1].legend(loc='center left', bbox_to_anchor=(0.8, 0.5)) +leg.set_in_layout(False) +wanttoprint = False +if wanttoprint: + leg.set_in_layout(True) + fig.do_constrained_layout(False) + fig.savefig('outname.png', bbox_inches='tight') + +############################################# +# A better way to get around this awkwardness is to simply +# use a legend for the figure: +fig, axs = plt.subplots(2, 2, constrained_layout=True) +for ax in axs.flatten()[:-1]: + ax.plot(np.arange(10)) +lines = axs[1, 1].plot(np.arange(10), label='This is a plot') +labels = [l.get_label() for l in lines] +leg = fig.legend(lines, labels, loc='center left', + bbox_to_anchor=(0.8, 0.5), bbox_transform=axs[1, 1].transAxes) ############################################################################### # Padding and Spacing diff --git a/tutorials/intermediate/tight_layout_guide.py b/tutorials/intermediate/tight_layout_guide.py index 333333bda7c1..f83f24dde8e9 100644 --- a/tutorials/intermediate/tight_layout_guide.py +++ b/tutorials/intermediate/tight_layout_guide.py @@ -283,6 +283,35 @@ def example_plot(ax, fontsize=12): None, 1 - (gs2.top-top)], h_pad=0.5) +############################################################################### +# Legends and Annotations +# ======================= +# +# Pre Matplotlih 2.2, legends and annotations were excluded from the bounding +# box calculations that decide the layout. Subsequently these artists were +# added to the calculation, but sometimes it is undesirable to include them. +# For instance in this case it might be good to have the axes shring a bit +# to make room for the legend: + +fig, ax = plt.subplots(figsize=(4, 3)) +lines = ax.plot(range(10), label='A simple plot') +ax.legend(bbox_to_anchor=(0.7, 0.5), loc='center left',) +fig.tight_layout() +plt.show() + +############################################################################### +# However, sometimes this is not desired (quite often when using +# ``fig.savefig('outname.png', bbox_inches='tight')``). In order to +# remove the legend from the bounding box calculation, we simply set its +# bounding ``leg.set_in_layout(False)`` and the legend will be ignored. + +fig, ax = plt.subplots(figsize=(4, 3)) +lines = ax.plot(range(10), label='B simple plot') +leg = ax.legend(bbox_to_anchor=(0.7, 0.5), loc='center left',) +leg.set_in_layout(False) +fig.tight_layout() +plt.show() + ############################################################################### # Use with AxesGrid1 # ================== From 18b95257b669f75082f131835679c1a3643ddb4a Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Mon, 9 Jul 2018 21:47:06 +0200 Subject: [PATCH 0939/1161] Fix css for parameter types --- doc/_static/mpl.css | 4 - doc/devel/documenting_mpl.rst | 161 ++++++++++++++++++---------------- 2 files changed, 84 insertions(+), 81 deletions(-) diff --git a/doc/_static/mpl.css b/doc/_static/mpl.css index af7ab4a1bc1b..93a7f84518f9 100644 --- a/doc/_static/mpl.css +++ b/doc/_static/mpl.css @@ -147,10 +147,6 @@ dl.glossary dt { font-size: 1.1em; } -dl.docutils dt { - font-weight: bold; -} - pre a { color: inherit; text-decoration: none; diff --git a/doc/devel/documenting_mpl.rst b/doc/devel/documenting_mpl.rst index acef194ed9d0..42f5bd89cb88 100644 --- a/doc/devel/documenting_mpl.rst +++ b/doc/devel/documenting_mpl.rst @@ -5,7 +5,7 @@ Writing documentation ===================== .. contents:: Contents - :depth: 2 + :depth: 3 :local: :backlinks: top :class: multicol-toc @@ -387,123 +387,130 @@ and the Sphinx_ documentation. Some Matplotlib-specific formatting conventions to keep in mind: Function arguments - Function arguments and keywords within docstrings should be referred to - using the ``*emphasis*`` role. This will keep Matplotlib's documentation - consistent with Python's documentation: +~~~~~~~~~~~~~~~~~~ +Function arguments and keywords within docstrings should be referred to +using the ``*emphasis*`` role. This will keep Matplotlib's documentation +consistent with Python's documentation: - .. code-block:: rst +.. code-block:: rst - If *linestyles* is *None*, the 'solid' is used. + If *linestyles* is *None*, the 'solid' is used. - Do not use the ```default role``` or the ````literal```` role: +Do not use the ```default role``` or the ````literal```` role: - .. code-block:: rst +.. code-block:: rst - Neither `argument` nor ``argument`` should be used. + Neither `argument` nor ``argument`` should be used. Quotes for strings - Matplotlib does not have a convention whether to use single-quotes or - double-quotes. There is a mixture of both in the current code. +~~~~~~~~~~~~~~~~~~ +Matplotlib does not have a convention whether to use single-quotes or +double-quotes. There is a mixture of both in the current code. - Use simple single or double quotes when giving string values, e.g.:: rst +Use simple single or double quotes when giving string values, e.g.:: rst - .. code-block:: rst +.. code-block:: rst - If 'tight', try to figure out the tight bbox of the figure. + If 'tight', try to figure out the tight bbox of the figure. Parameter type descriptions - The main goal for parameter type descriptions is to be readable and - understandable by humans. If the possible types are too complex use a - simplification for the type description and explain the type more - precisely in the text. +~~~~~~~~~~~~~~~~~~~~~~~~~~~ +The main goal for parameter type descriptions is to be readable and +understandable by humans. If the possible types are too complex use a +simplification for the type description and explain the type more +precisely in the text. - Generally, the `numpydoc docstring guide`_ conventions apply. The following - rules expand on them where the numpydoc conventions are not specific. +Generally, the `numpydoc docstring guide`_ conventions apply. The following +rules expand on them where the numpydoc conventions are not specific. - Use ``float`` for a type that can be any number. +Use ``float`` for a type that can be any number. - Use ``array-like`` for homogeneous numeric sequences, which could - typically be a numpy.array. Dimensionality may be specified using ``2D``, - ``3D``, ``n-dimensional``. If you need to have variables denoting the - sizes of the dimensions, use capital letters in brackets - (``array-like (M, N)``). When refering to them in the text they are easier - read and no special formatting is needed. +Use ``array-like`` for homogeneous numeric sequences, which could +typically be a numpy.array. Dimensionality may be specified using ``2D``, +``3D``, ``n-dimensional``. If you need to have variables denoting the +sizes of the dimensions, use capital letters in brackets +(``array-like (M, N)``). When refering to them in the text they are easier +read and no special formatting is needed. - ``float`` is the implicit default dtype for array-likes. For other dtypes - use ``array-like of int``. +``float`` is the implicit default dtype for array-likes. For other dtypes +use ``array-like of int``. - Some possible uses:: +Some possible uses:: - 2D array-like - array-like (N) - array-like (M, N) - array-like (M, N, 3) - array-like of int + 2D array-like + array-like (N) + array-like (M, N) + array-like (M, N, 3) + array-like of int - Non-numeric homogeneous sequences are described as lists, e.g.:: +Non-numeric homogeneous sequences are described as lists, e.g.:: - list of str - list of `.Artist` + list of str + list of `.Artist` Referencing types - Generally, the rules from referring-to-other-code_ apply. More specifically: +~~~~~~~~~~~~~~~~~ +Generally, the rules from referring-to-other-code_ apply. More specifically: - Use full references ```~matplotlib.colors.Normalize``` with an - abbreviation tilde in parameter types. While the full name helps the - reader of plain text docstrings, the HTML does not need to show the full - name as it links to it. Hence, the ``~``-shortening keeps it more readable. +Use full references ```~matplotlib.colors.Normalize``` with an +abbreviation tilde in parameter types. While the full name helps the +reader of plain text docstrings, the HTML does not need to show the full +name as it links to it. Hence, the ``~``-shortening keeps it more readable. - Use abbreviated links ```.Normalize``` in the text. +Use abbreviated links ```.Normalize``` in the text. - .. code-block:: rst +.. code-block:: rst - norm : `~matplotlib.colors.Normalize`, optional - A `.Normalize` instance is used to scale luminance data to 0, 1. + norm : `~matplotlib.colors.Normalize`, optional + A `.Normalize` instance is used to scale luminance data to 0, 1. ``See also`` sections - Sphinx automatically links code elements in the definition blocks of ``See - also`` sections. No need to use backticks there:: +~~~~~~~~~~~~~~~~~~~~~ +Sphinx automatically links code elements in the definition blocks of ``See +also`` sections. No need to use backticks there:: - See also - -------- - vlines : vertical lines - axhline: horizontal line across the axes + See also + -------- + vlines : vertical lines + axhline: horizontal line across the axes Wrapping parameter lists - Long parameter lists should be wrapped using a ``\`` for continuation and - starting on the new line without any indent: +~~~~~~~~~~~~~~~~~~~~~~~~ +Long parameter lists should be wrapped using a ``\`` for continuation and +starting on the new line without any indent: - .. code-block:: python +.. code-block:: python - def add_axes(self, *args, **kwargs): - """ - ... + def add_axes(self, *args, **kwargs): + """ + ... - Parameters - ---------- - projection : - {'aitoff', 'hammer', 'lambert', 'mollweide', 'polar', \ - 'rectilinear'}, optional - The projection type of the axes. + Parameters + ---------- + projection : + {'aitoff', 'hammer', 'lambert', 'mollweide', 'polar', \ + 'rectilinear'}, optional + The projection type of the axes. - ... - """ + ... + """ - Alternatively, you can describe the valid parameter values in a dedicated - section of the docstring. +Alternatively, you can describe the valid parameter values in a dedicated +section of the docstring. rcParams - rcParams can be referenced with the custom ``:rc:`` role: - :literal:`:rc:\`foo\`` yields ``rcParams["foo"]``. Use `= [default-val]` - to indicate the default value of the parameter. The default value should be - literal, i.e. enclosed in double backticks. For simplicity these may be - omitted for string default values. +~~~~~~~~ +rcParams can be referenced with the custom ``:rc:`` role: +:literal:`:rc:\`foo\`` yields ``rcParams["foo"]``. Use `= [default-val]` +to indicate the default value of the parameter. The default value should be +literal, i.e. enclosed in double backticks. For simplicity these may be +omitted for string default values. - .. code-block:: rst +.. code-block:: rst - If not provided, defaults to :rc:`figure.figsize` = ``[6.4, 4.8]``. - If not provided, defaults to :rc:`figure.facecolor` = 'w'. + If not provided, defaults to :rc:`figure.figsize` = ``[6.4, 4.8]``. + If not provided, defaults to :rc:`figure.facecolor` = 'w'. Deprecated formatting conventions --------------------------------- From aae1b6e14ea0b37479390c78fdba3438b454a250 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Tue, 3 Jul 2018 22:23:18 +0200 Subject: [PATCH 0940/1161] Deactivate smartquotes --- doc/conf.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/doc/conf.py b/doc/conf.py index 9275fcc2b7b3..1b3943bed77d 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -223,10 +223,6 @@ def _check_deps(): # using the given strftime format. html_last_updated_fmt = '%b %d, %Y' -# If true, SmartyPants will be used to convert quotes and dashes to -# typographically correct entities. -#html_use_smartypants = True - # Content template for the index page. html_index = 'index.html' @@ -255,6 +251,9 @@ def _check_deps(): # Output file base name for HTML help builder. htmlhelp_basename = 'Matplotlibdoc' +# Use typographic quote characters. +smartquotes = False + # Path to favicon html_favicon = '_static/favicon.ico' From 1eccdbeb13c8d509e0adbb62f5b53b597929683a Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Mon, 9 Jul 2018 13:58:23 -0700 Subject: [PATCH 0941/1161] FIX: let extends work for PowerNorm --- lib/matplotlib/colorbar.py | 5 +++-- lib/matplotlib/tests/test_colorbar.py | 10 +++++++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/colorbar.py b/lib/matplotlib/colorbar.py index 0670383e5b2e..a198cb5fe66c 100644 --- a/lib/matplotlib/colorbar.py +++ b/lib/matplotlib/colorbar.py @@ -828,8 +828,9 @@ def _process_values(self, b=None): b = self.norm.inverse(self._uniform_y(self.cmap.N + 1)) - if isinstance(self.norm, colors.LogNorm): - # If using a lognorm, ensure extensions don't go negative + if isinstance(self.norm, (colors.PowerNorm, colors.LogNorm)): + # If using a lognorm or powernorm, ensure extensions don't + # go negative if self._extend_lower(): b[0] = 0.9 * b[0] if self._extend_upper(): diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py index 450d73e69697..2230c20e7d2f 100644 --- a/lib/matplotlib/tests/test_colorbar.py +++ b/lib/matplotlib/tests/test_colorbar.py @@ -4,7 +4,7 @@ from matplotlib import rc_context from matplotlib.testing.decorators import image_comparison import matplotlib.pyplot as plt -from matplotlib.colors import BoundaryNorm, LogNorm +from matplotlib.colors import BoundaryNorm, LogNorm, PowerNorm from matplotlib.cm import get_cmap from matplotlib.colorbar import ColorbarBase @@ -372,6 +372,14 @@ def test_colorbar_lognorm_extension(): assert cb._values[0] >= 0.0 +def test_colorbar_powernorm_extension(): + # Test that colorbar with powernorm is extended correctly + f, ax = plt.subplots() + cb = ColorbarBase(ax, norm=PowerNorm(gamma=0.5, vmin=0.0, vmax=1.0), + orientation='vertical', extend='both') + assert cb._values[0] >= 0.0 + + def test_colorbar_axes_kw(): # test fix for #8493: This does only test, that axes-related keywords pass # and do not raise an exception. From 092e4da943d736d5db1dd7a009fd26cde0225495 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Mon, 9 Jul 2018 17:29:09 -0700 Subject: [PATCH 0942/1161] TST: fix flake8 error --- .flake8 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.flake8 b/.flake8 index 0c9fcd3fc117..b822e54143d6 100644 --- a/.flake8 +++ b/.flake8 @@ -79,7 +79,7 @@ per-file-ignores = mpl_toolkits/axisartist/grid_finder.py: E231, E261, E302, E303, E402 mpl_toolkits/axisartist/grid_helper_curvelinear.py: E225, E231, E261, E262, E271, E302, E303, E501 mpl_toolkits/mplot3d/art3d.py: E203, E222, E225, E231 - mpl_toolkits/mplot3d/axes3d.py: E203, E231, E303, E402, E501, E701 + mpl_toolkits/mplot3d/axes3d.py: E203, E231, E402, E501, E701 mpl_toolkits/mplot3d/axis3d.py: E231, E302 mpl_toolkits/mplot3d/proj3d.py: E231, E302, E303 mpl_toolkits/tests/test_axes_grid1.py: E201, E202 From 4e8e9957582095187ec073e43fc8247764eeb7ba Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade <quantum.analyst@gmail.com> Date: Mon, 9 Jul 2018 20:39:52 -0400 Subject: [PATCH 0943/1161] Remove superfluous flake8 exception. --- .flake8 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.flake8 b/.flake8 index 0103d1ff3001..59fb0f1aa39b 100644 --- a/.flake8 +++ b/.flake8 @@ -81,7 +81,7 @@ per-file-ignores = mpl_toolkits/axisartist/grid_finder.py: E231, E261, E302, E303, E402 mpl_toolkits/axisartist/grid_helper_curvelinear.py: E225, E231, E261, E262, E271, E302, E303, E501 mpl_toolkits/mplot3d/art3d.py: E203, E222, E225, E231 - mpl_toolkits/mplot3d/axes3d.py: E203, E231, E303, E402, E501, E701 + mpl_toolkits/mplot3d/axes3d.py: E203, E231, E402, E501, E701 mpl_toolkits/mplot3d/axis3d.py: E231, E302 mpl_toolkits/mplot3d/proj3d.py: E231, E302, E303 mpl_toolkits/tests/test_axes_grid1.py: E201, E202 From 866e183d686a919b1bddcbffbb2178a01613930b Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade <quantum.analyst@gmail.com> Date: Mon, 9 Jul 2018 20:40:09 -0400 Subject: [PATCH 0944/1161] Make flake8 doc/ exceptions explicit. --- .flake8 | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.flake8 b/.flake8 index 59fb0f1aa39b..d027648d783c 100644 --- a/.flake8 +++ b/.flake8 @@ -87,8 +87,11 @@ per-file-ignores = mpl_toolkits/tests/test_axes_grid1.py: E201, E202 mpl_toolkits/tests/test_mplot3d.py: E231, E302 - doc/**: E302, E501 - doc/conf.py: E402 + doc/conf.py: E402, E501 + doc/sphinxext/github.py: E302, E501 + doc/sphinxext/math_symbol_table.py: E302, E501 + doc/sphinxext/skip_deprecated.py: E302 + doc/users/generate_credits.py: E302, E501 tutorials/**: E402, E501 examples/**: E501, E402 From c548e87a09675b798c8d596de44925676024fe20 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade <quantum.analyst@gmail.com> Date: Mon, 9 Jul 2018 20:49:44 -0400 Subject: [PATCH 0945/1161] Make flake8 tutorials/ exceptions explicit. --- .flake8 | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/.flake8 b/.flake8 index d027648d783c..8c1dd1c066b5 100644 --- a/.flake8 +++ b/.flake8 @@ -92,7 +92,29 @@ per-file-ignores = doc/sphinxext/math_symbol_table.py: E302, E501 doc/sphinxext/skip_deprecated.py: E302 doc/users/generate_credits.py: E302, E501 - tutorials/**: E402, E501 + tutorials/advanced/path_tutorial.py: E402, E501 + tutorials/advanced/patheffects_guide.py: E402, E501 + tutorials/advanced/transforms_tutorial.py: E402, E501 + tutorials/colors/colormaps.py: E501 + tutorials/colors/colors.py: E402 + tutorials/intermediate/artists.py: E402, E501 + tutorials/intermediate/constrainedlayout_guide.py: E402, E501 + tutorials/intermediate/gridspec.py: E402, E501 + tutorials/intermediate/legend_guide.py: E402, E501 + tutorials/intermediate/tight_layout_guide.py: E402, E501 + tutorials/introductory/customizing.py: E501 + tutorials/introductory/images.py: E402, E501 + tutorials/introductory/pyplot.py: E402, E501 + tutorials/introductory/sample_plots.py: E501 + tutorials/introductory/usage.py: E402, E501 + tutorials/text/annotations.py: E501 + tutorials/text/mathtext.py: E501 + tutorials/text/pgf.py: E501 + tutorials/text/text_intro.py: E402 + tutorials/text/text_props.py: E501 + tutorials/text/usetex.py: E501 + tutorials/toolkits/axes_grid.py: E501 + tutorials/toolkits/axisartist.py: E501 examples/**: E501, E402 examples/images_contours_and_fields/tricontour_demo.py: E201 From 0c01f06543e07731480df17455fc893ad49f14c2 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade <quantum.analyst@gmail.com> Date: Mon, 9 Jul 2018 21:02:12 -0400 Subject: [PATCH 0946/1161] Make flake8 examples/ exceptions explicit. --- .flake8 | 180 ++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 162 insertions(+), 18 deletions(-) diff --git a/.flake8 b/.flake8 index 8c1dd1c066b5..400114155fc0 100644 --- a/.flake8 +++ b/.flake8 @@ -116,24 +116,168 @@ per-file-ignores = tutorials/toolkits/axes_grid.py: E501 tutorials/toolkits/axisartist.py: E501 - examples/**: E501, E402 - examples/images_contours_and_fields/tricontour_demo.py: E201 - examples/images_contours_and_fields/tripcolor_demo.py: E201 - examples/images_contours_and_fields/triplot_demo.py: E201 + examples/animation/frame_grabbing_sgskip.py: E402 + examples/axes_grid1/inset_locator_demo.py: E402 + examples/axisartist/demo_curvelinear_grid.py: E402 + examples/color/color_by_yvalue.py: E402 + examples/color/color_cycle_default.py: E402 + examples/color/color_cycler.py: E402 + examples/color/color_demo.py: E402 + examples/color/colorbar_basics.py: E402 + examples/color/colormap_reference.py: E402 + examples/color/named_colors.py: E402 + examples/event_handling/data_browser.py: E501 + examples/event_handling/path_editor.py: E501 + examples/event_handling/pick_event_demo.py: E501 + examples/event_handling/poly_editor.py: E501 + examples/event_handling/viewlims.py: E501 + examples/images_contours_and_fields/affine_image.py: E402 + examples/images_contours_and_fields/barb_demo.py: E402, E501 + examples/images_contours_and_fields/barcode_demo.py: E402 + examples/images_contours_and_fields/contour_corner_mask.py: E402 + examples/images_contours_and_fields/contour_demo.py: E402, E501 + examples/images_contours_and_fields/contour_image.py: E402 + examples/images_contours_and_fields/contourf_demo.py: E402, E501 + examples/images_contours_and_fields/contourf_hatching.py: E402 + examples/images_contours_and_fields/contourf_log.py: E402 + examples/images_contours_and_fields/custom_cmap.py: E402 + examples/images_contours_and_fields/demo_bboximage.py: E402 + examples/images_contours_and_fields/image_clip_path.py: E402 + examples/images_contours_and_fields/image_demo.py: E402 + examples/images_contours_and_fields/image_masked.py: E402 + examples/images_contours_and_fields/image_transparency_blend.py: E402 + examples/images_contours_and_fields/image_zcoord.py: E402 + examples/images_contours_and_fields/interpolation_methods.py: E402 + examples/images_contours_and_fields/irregulardatagrid.py: E402 + examples/images_contours_and_fields/layer_images.py: E402 + examples/images_contours_and_fields/matshow.py: E402 + examples/images_contours_and_fields/multi_image.py: E402 + examples/images_contours_and_fields/pcolor_demo.py: E402 + examples/images_contours_and_fields/plot_streamplot.py: E402 + examples/images_contours_and_fields/quadmesh_demo.py: E402 + examples/images_contours_and_fields/quiver_demo.py: E402 + examples/images_contours_and_fields/quiver_simple_demo.py: E402 + examples/images_contours_and_fields/shading_example.py: E402, E501 + examples/images_contours_and_fields/specgram_demo.py: E402, E501 + examples/images_contours_and_fields/spy_demos.py: E402 + examples/images_contours_and_fields/tricontour_demo.py: E201, E402 + examples/images_contours_and_fields/tricontour_smooth_delaunay.py: E402 + examples/images_contours_and_fields/tricontour_smooth_user.py: E402 + examples/images_contours_and_fields/trigradient_demo.py: E402 + examples/images_contours_and_fields/triinterp_demo.py: E402 + examples/images_contours_and_fields/tripcolor_demo.py: E201, E402 + examples/images_contours_and_fields/triplot_demo.py: E201, E402 + examples/images_contours_and_fields/watermark_image.py: E402 + examples/lines_bars_and_markers/fill_between_demo.py: E402 + examples/lines_bars_and_markers/filled_step.py: E402 + examples/lines_bars_and_markers/joinstyle.py: E402 + examples/lines_bars_and_markers/scatter_piecharts.py: E402 + examples/lines_bars_and_markers/span_regions.py: E402 + examples/misc/agg_oo_sgskip.py: E402 + examples/misc/anchored_artists.py: E501 + examples/misc/contour_manual.py: E501 + examples/misc/font_indexing.py: E501 + examples/misc/ftface_props.py: E501 + examples/misc/histogram_path.py: E402 + examples/misc/print_stdout_sgskip.py: E402 + examples/misc/svg_filter_line.py: E402, E501 + examples/misc/svg_filter_pie.py: E402, E501 examples/misc/table_demo.py: E201 - examples/pyplots/annotate_transform.py: E228, E251 - examples/pyplots/annotation_polar.py: E231 - examples/pyplots/auto_subplots_adjust.py: E231, E261, E302 - examples/pyplots/boxplot_demo_pyplot.py: E231 + examples/mplot3d/voxels.py: E501 + examples/mplot3d/wire3d_zero_stride.py: E501 + examples/pie_and_polar_charts/nested_pie.py: E402 + examples/pie_and_polar_charts/pie_and_donut_labels.py: E402 + examples/pie_and_polar_charts/pie_demo2.py: E402 + examples/pie_and_polar_charts/pie_features.py: E402 + examples/pie_and_polar_charts/polar_bar.py: E402 + examples/pie_and_polar_charts/polar_demo.py: E402 + examples/pie_and_polar_charts/polar_legend.py: E402 + examples/pie_and_polar_charts/polar_scatter.py: E402 + examples/pyplots/align_ylabels.py: E402 + examples/pyplots/annotate_transform.py: E228, E251, E402, E501 + examples/pyplots/annotation_basic.py: E402 + examples/pyplots/annotation_polar.py: E231, E402 + examples/pyplots/auto_subplots_adjust.py: E231, E261, E302, E402 + examples/pyplots/boxplot_demo_pyplot.py: E231, E402 examples/pyplots/compound_path_demo.py: E231 - examples/pyplots/fig_axes_customize_simple.py: E261 - examples/pyplots/pyplot_formatstr.py: E231 - examples/pyplots/pyplot_mathtext.py: E231 + examples/pyplots/dollar_ticks.py: E402 + examples/pyplots/fig_axes_customize_simple.py: E261, E402 + examples/pyplots/fig_axes_labels_simple.py: E402 + examples/pyplots/fig_x.py: E402 + examples/pyplots/pyplot_formatstr.py: E231, E402 + examples/pyplots/pyplot_mathtext.py: E231, E402 + examples/pyplots/pyplot_scales.py: E402 examples/pyplots/pyplot_simple.py: E231 - examples/pyplots/pyplot_two_subplots.py: E302 - examples/pyplots/text_commands.py: E231 - examples/pyplots/text_layout.py: E231 - examples/pyplots/whats_new_98_4_fancy.py: E225, E261, E302 - examples/pyplots/whats_new_98_4_fill_between.py: E225 - examples/pyplots/whats_new_98_4_legend.py: E228 - examples/pyplots/whats_new_99_spines.py: E231, E261 + examples/pyplots/pyplot_simple.py: E402 + examples/pyplots/pyplot_text.py: E402 + examples/pyplots/pyplot_three.py: E402 + examples/pyplots/pyplot_two_subplots.py: E302, E402 + examples/pyplots/text_commands.py: E231, E402 + examples/pyplots/text_layout.py: E231, E402 + examples/pyplots/whats_new_1_subplot3d.py: E402 + examples/pyplots/whats_new_98_4_fancy.py: E225, E261, E302, E402 + examples/pyplots/whats_new_98_4_fill_between.py: E225, E402 + examples/pyplots/whats_new_98_4_legend.py: E228, E402 + examples/pyplots/whats_new_99_axes_grid.py: E402 + examples/pyplots/whats_new_99_mplot3d.py: E402 + examples/pyplots/whats_new_99_spines.py: E231, E261, E402 + examples/recipes/placing_text_boxes.py: E501 + examples/scales/power_norm.py: E402 + examples/shapes_and_collections/artist_reference.py: E402 + examples/shapes_and_collections/collections.py: E402 + examples/shapes_and_collections/compound_path.py: E402 + examples/shapes_and_collections/dolphin.py: E402, E501 + examples/shapes_and_collections/donut.py: E402 + examples/shapes_and_collections/ellipse_collection.py: E402 + examples/shapes_and_collections/ellipse_demo.py: E402 + examples/shapes_and_collections/fancybox_demo.py: E402 + examples/shapes_and_collections/hatch_demo.py: E402 + examples/shapes_and_collections/line_collection.py: E402 + examples/shapes_and_collections/marker_path.py: E402 + examples/shapes_and_collections/patch_collection.py: E402 + examples/shapes_and_collections/path_patch.py: E402, E501 + examples/shapes_and_collections/quad_bezier.py: E402 + examples/shapes_and_collections/scatter.py: E402 + examples/showcase/firefox.py: E501 + examples/specialty_plots/anscombe.py: E402, E501 + examples/specialty_plots/radar_chart.py: E402 + examples/specialty_plots/sankey_basics.py: E402, E501 + examples/specialty_plots/sankey_links.py: E402 + examples/specialty_plots/sankey_rankine.py: E402 + examples/specialty_plots/skewt.py: E402 + examples/statistics/boxplot_demo.py: E501 + examples/style_sheets/bmh.py: E501 + examples/style_sheets/ggplot.py: E501 + examples/style_sheets/plot_solarizedlight2.py: E501 + examples/subplots_axes_and_figures/axes_margins.py: E402 + examples/subplots_axes_and_figures/axes_zoom_effect.py: E402 + examples/subplots_axes_and_figures/demo_tight_layout.py: E402 + examples/subplots_axes_and_figures/two_scales.py: E402 + examples/tests/backend_driver_sgskip.py: E402, E501 + examples/text_labels_and_annotations/annotation_demo.py: E501 + examples/text_labels_and_annotations/custom_legends.py: E402 + examples/text_labels_and_annotations/font_family_rc_sgskip.py: E402 + examples/text_labels_and_annotations/font_file.py: E402 + examples/text_labels_and_annotations/legend.py: E402 + examples/text_labels_and_annotations/line_with_text.py: E402 + examples/text_labels_and_annotations/mathtext_asarray.py: E402 + examples/text_labels_and_annotations/tex_demo.py: E402 + examples/text_labels_and_annotations/watermark_text.py: E402 + examples/ticks_and_spines/auto_ticks.py: E501 + examples/user_interfaces/embedding_in_gtk3_panzoom_sgskip.py: E402 + examples/user_interfaces/embedding_in_gtk3_sgskip.py: E402 + examples/user_interfaces/embedding_in_qt_sgskip.py: E402 + examples/user_interfaces/embedding_in_wx2_sgskip.py: E501 + examples/user_interfaces/embedding_in_wx3_sgskip.py: E501 + examples/user_interfaces/embedding_in_wx4_sgskip.py: E501 + examples/user_interfaces/embedding_in_wx5_sgskip.py: E501 + examples/user_interfaces/embedding_webagg_sgskip.py: E501 + examples/user_interfaces/gtk_spreadsheet_sgskip.py: E402 + examples/user_interfaces/mathtext_wx_sgskip.py: E402, E501 + examples/user_interfaces/mpl_with_glade3_sgskip.py: E402 + examples/user_interfaces/pylab_with_gtk_sgskip.py: E402, E501 + examples/user_interfaces/toolmanager_sgskip.py: E402 + examples/userdemo/custom_boxstyle01.py: E402 + examples/userdemo/pgf_preamble_sgskip.py: E402 + examples/userdemo/simple_annotate01.py: E501 + examples/widgets/rectangle_selector.py: E501 From 695e729f6e4673bc3c2ef9ab79530aea0f25ad14 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Mon, 9 Jul 2018 21:53:08 -0400 Subject: [PATCH 0947/1161] CI: don't run tox to test pytz We install pandas on 2 of the entries in the test matrix which in pytz. Additionally explicitly install pytz on one of the py3.6 runs. --- .travis.yml | 1 - requirements/testing/travis36.txt | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index b586846373bd..21295a079dee 100644 --- a/.travis.yml +++ b/.travis.yml @@ -163,7 +163,6 @@ script: - | echo "Calling pytest with the following arguments: $PYTEST_ADDOPTS" python -mpytest - - tox -e pytz - | if [[ $RUN_FLAKE8 == 1 ]]; then flake8 --statistics && echo "Flake8 passed without any issues!" diff --git a/requirements/testing/travis36.txt b/requirements/testing/travis36.txt index 70d746b82b51..31ea599d7e82 100644 --- a/requirements/testing/travis36.txt +++ b/requirements/testing/travis36.txt @@ -4,3 +4,4 @@ flake8 flake8-per-file-ignores jupyter pandas<0.21.0 +pytz From db26adf43bf7293d1ced8a220b252d3ffb34ac22 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Mon, 9 Jul 2018 22:02:52 -0400 Subject: [PATCH 0948/1161] Revert "Merge pull request #11605 from anntzer/spurious-ft2font-missing-glyph-warning" This reverts commit 7684f0f5f42c1d1e3c4d1f9d79f98581f7cdb683, reversing changes made to 9324b27097811d467b857f9a6ac94e02457608e5. --- src/ft2font.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ft2font.cpp b/src/ft2font.cpp index 02f6b6ac4686..4e30da77ef46 100644 --- a/src/ft2font.cpp +++ b/src/ft2font.cpp @@ -168,7 +168,7 @@ inline double conv(long v) FT_UInt ft_get_char_index_or_warn(FT_Face face, FT_ULong charcode) { FT_UInt glyph_index = FT_Get_Char_Index(face, charcode); - if (charcode && !glyph_index) { + if (!glyph_index) { PyErr_WarnEx(NULL, "Required glyph missing from current font.", 1); } return glyph_index; From 8256c25c3623f3d50dd11d9d7cca35c27c40ad8a Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Mon, 9 Jul 2018 22:03:22 -0400 Subject: [PATCH 0949/1161] Revert "Merge pull request #9175 from anntzer/warn-on-freetype-missing-glyphs" This reverts commit c8a48b8f8e376beb757373e97d1e5406e4730177, reversing changes made to 40cfdae8c4475aac55148c194207ad4997d6a357. --- src/ft2font.cpp | 17 +++-------------- src/ft2font_wrapper.cpp | 4 ++-- 2 files changed, 5 insertions(+), 16 deletions(-) diff --git a/src/ft2font.cpp b/src/ft2font.cpp index 4e30da77ef46..ef622b2e9cac 100644 --- a/src/ft2font.cpp +++ b/src/ft2font.cpp @@ -162,19 +162,9 @@ FT2Image::draw_rect_filled(unsigned long x0, unsigned long y0, unsigned long x1, inline double conv(long v) { - return v / 64.; + return double(v) / 64.0; } -FT_UInt ft_get_char_index_or_warn(FT_Face face, FT_ULong charcode) -{ - FT_UInt glyph_index = FT_Get_Char_Index(face, charcode); - if (!glyph_index) { - PyErr_WarnEx(NULL, "Required glyph missing from current font.", 1); - } - return glyph_index; -} - - int FT2Font::get_path_count() { // get the glyph as a path, a list of (COMMAND, *args) as described in matplotlib.path @@ -621,7 +611,7 @@ void FT2Font::set_text( FT_BBox glyph_bbox; FT_Pos last_advance; - glyph_index = ft_get_char_index_or_warn(face, codepoints[n]); + glyph_index = FT_Get_Char_Index(face, codepoints[n]); // retrieve kerning distance and move pen position if (use_kerning && previous && glyph_index) { @@ -674,8 +664,7 @@ void FT2Font::set_text( void FT2Font::load_char(long charcode, FT_Int32 flags) { - FT_UInt glyph_index = ft_get_char_index_or_warn(face, (FT_ULong)charcode); - int error = FT_Load_Glyph(face, glyph_index, flags); + int error = FT_Load_Char(face, (unsigned long)charcode, flags); if (error) { throw std::runtime_error("Could not load charcode"); diff --git a/src/ft2font_wrapper.cpp b/src/ft2font_wrapper.cpp index 3ebaffffb9d2..a90c7b115e0e 100644 --- a/src/ft2font_wrapper.cpp +++ b/src/ft2font_wrapper.cpp @@ -998,8 +998,8 @@ static PyObject *PyFT2Font_get_char_index(PyFT2Font *self, PyObject *args, PyObj const char *PyFT2Font_get_sfnt__doc__ = "get_sfnt(name)\n" "\n" - "Get all values from the SFNT names table. Result is a dictionary whose " - "key is the platform-ID, ISO-encoding-scheme, language-code, and " + "Get all values from the SFNT names table. Result is a dictionary whose" + "key is the platform-ID, ISO-encoding-scheme, language-code, and" "description.\n"; static PyObject *PyFT2Font_get_sfnt(PyFT2Font *self, PyObject *args, PyObject *kwds) From 158bd2c24b839bf05d885b7b0631c7c25dc1f1bc Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Mon, 9 Jul 2018 00:04:57 -0400 Subject: [PATCH 0950/1161] DOC: move 2.2 whats new to it's own file --- doc/users/prev_whats_new/whats_new_2.2.rst | 388 ++++++++++++++++++++ doc/users/whats_new.rst | 393 +-------------------- 2 files changed, 393 insertions(+), 388 deletions(-) create mode 100644 doc/users/prev_whats_new/whats_new_2.2.rst diff --git a/doc/users/prev_whats_new/whats_new_2.2.rst b/doc/users/prev_whats_new/whats_new_2.2.rst new file mode 100644 index 000000000000..c6dfdf2aac48 --- /dev/null +++ b/doc/users/prev_whats_new/whats_new_2.2.rst @@ -0,0 +1,388 @@ +.. _whats-new-2-2-0: + +New in Matplotlib 2.2 +===================== + +Constrained Layout Manager +-------------------------- + +.. warning:: + + Constrained Layout is **experimental**. The + behaviour and API are subject to change, or the whole functionality + may be removed without a deprecation period. + + +A new method to automatically decide spacing between subplots and their +organizing ``GridSpec`` instances has been added. It is meant to +replace the venerable ``tight_layout`` method. It is invoked via +a new ``constrained_layout=True`` kwarg to +`~.figure.Figure` or `~.figure.subplots`. + +There are new ``rcParams`` for this package, and spacing can be +more finely tuned with the new `~.set_constrained_layout_pads`. + +Features include: + + - Automatic spacing for subplots with a fixed-size padding in inches around + subplots and all their decorators, and space between as a fraction + of subplot size between subplots. + - Spacing for `~.figure.suptitle`, and colorbars that are attached to + more than one axes. + - Nested `~.GridSpec` layouts using `~.GridSpecFromSubplotSpec`. + + For more details and capabilities please see the new tutorial: + :doc:`/tutorials/intermediate/constrainedlayout_guide` + +Note the new API to access this: + +New ``plt.figure`` and ``plt.subplots`` kwarg: ``constrained_layout`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +:meth:`~matplotlib.pyplot.figure` and :meth:`~matplotlib.pyplot.subplots` +can now be called with ``constrained_layout=True`` kwarg to enable +constrained_layout. + +New ``ax.set_position`` behaviour +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +:meth:`~matplotlib.axes.set_position` now makes the specified axis no +longer responsive to ``constrained_layout``, consistent with the idea that the +user wants to place an axis manually. + +Internally, this means that old ``ax.set_position`` calls *inside* the library +are changed to private ``ax._set_position`` calls so that +``constrained_layout`` will still work with these axes. + +New ``figure`` kwarg for ``GridSpec`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +In order to facilitate ``constrained_layout``, ``GridSpec`` now accepts a +``figure`` keyword. This is backwards compatible, in that not supplying this +will simply cause ``constrained_layout`` to not operate on the subplots +orgainzed by this ``GridSpec`` instance. Routines that use ``GridSpec`` (e.g. +``fig.subplots``) have been modified to pass the figure to ``GridSpec``. + + +xlabels and ylabels can now be automatically aligned +---------------------------------------------------- + +Subplot axes ``ylabels`` can be misaligned horizontally if the tick labels +are very different widths. The same can happen to ``xlabels`` if the +ticklabels are rotated on one subplot (for instance). The new methods +on the `Figure` class: `Figure.align_xlabels` and `Figure.align_ylabels` +will now align these labels horizontally or vertically. If the user only +wants to align some axes, a list of axes can be passed. If no list is +passed, the algorithm looks at all the labels on the figure. + +Only labels that have the same subplot locations are aligned. i.e. the +ylabels are aligned only if the subplots are in the same column of the +subplot layout. + +Alignemnt is persistent and automatic after these are called. + +A convenience wrapper `Figure.align_labels` calls both functions at once. + +.. plot:: + + import matplotlib.gridspec as gridspec + + fig = plt.figure(figsize=(5, 3), tight_layout=True) + gs = gridspec.GridSpec(2, 2) + + ax = fig.add_subplot(gs[0,:]) + ax.plot(np.arange(0, 1e6, 1000)) + ax.set_ylabel('Test') + for i in range(2): + ax = fig.add_subplot(gs[1, i]) + ax.set_ylabel('Booooo') + ax.set_xlabel('Hello') + if i == 0: + for tick in ax.get_xticklabels(): + tick.set_rotation(45) + fig.align_labels() + + +Axes legends now included in tight_bbox +--------------------------------------- + +Legends created via ``ax.legend`` can sometimes overspill the limits of +the axis. Tools like ``fig.tight_layout()`` and +``fig.savefig(bbox_inches='tight')`` would clip these legends. A change +was made to include them in the ``tight`` calculations. + + +Cividis colormap +---------------- + +A new dark blue/yellow colormap named 'cividis' was added. Like +viridis, cividis is perceptually uniform and colorblind +friendly. However, cividis also goes a step further: not only is it +usable by colorblind users, it should actually look effectively +identical to colorblind and non-colorblind users. For more details, +see Nunez J, Anderton C, and Renslow R. (submitted). Optimizing +colormaps with consideration for color vision deficiency to enable +accurate interpretation of scientific data." + +.. plot:: + + import matplotlib.pyplot as plt + import numpy as np + + fig, ax = plt.subplots() + pcm = ax.pcolormesh(np.random.rand(32,32), cmap='cividis') + fig.colorbar(pcm) + + +New style colorblind-friendly color cycle +----------------------------------------- + +A new style defining a color cycle has been added, +tableau-colorblind10, to provide another option for +colorblind-friendly plots. A demonstration of this new +style can be found in the reference_ of style sheets. To +load this color cycle in place of the default one:: + + import matplotlib.pyplot as plt + plt.style.use('tableau-colorblind10') + +.. _reference: https://matplotlib.org/gallery/style_sheets/style_sheets_reference.html + + +Support for numpy.datetime64 +---------------------------- + +Matplotlib has supported `datetime.datetime` dates for a long time in +`matplotlib.dates`. We +now support `numpy.datetime64` dates as well. Anywhere that +`dateime.datetime` could be used, `numpy.datetime64` can be used. eg:: + + time = np.arange('2005-02-01', '2005-02-02', dtype='datetime64[h]') + plt.plot(time) + + + +Writing animations with Pillow +------------------------------ +It is now possible to use Pillow as an animation writer. Supported output +formats are currently gif (Pillow>=3.4) and webp (Pillow>=5.0). Use e.g. as :: + + from __future__ import division + + from matplotlib import pyplot as plt + from matplotlib.animation import FuncAnimation, PillowWriter + + fig, ax = plt.subplots() + line, = plt.plot([0, 1]) + + def animate(i): + line.set_ydata([0, i / 20]) + return [line] + + anim = FuncAnimation(fig, animate, 20, blit=True) + anim.save("movie.gif", writer=PillowWriter(fps=24)) + plt.show() + + +Slider UI widget can snap to discrete values +-------------------------------------------- + +The slider UI widget can take the optional argument *valstep*. Doing so +forces the slider to take on only discrete values, starting from *valmin* and +counting up to *valmax* with steps of size *valstep*. + +If *closedmax==True*, then the slider will snap to *valmax* as well. + + + +``capstyle`` and ``joinstyle`` attributes added to `Collection` +--------------------------------------------------------------- + +The `Collection` class now has customizable ``capstyle`` and ``joinstyle`` +attributes. This allows the user for example to set the ``capstyle`` of +errorbars. + + +*pad* kwarg added to ax.set_title +--------------------------------- + +The method `axes.set_title` now has a *pad* kwarg, that specifies the +distance from the top of an axes to where the title is drawn. The units +of *pad* is points, and the default is the value of the (already-existing) +``rcParams['axes.titlepad']``. + + +Comparison of 2 colors in Matplotlib +------------------------------------ + +As the colors in Matplotlib can be specified with a wide variety of ways, the +`matplotlib.colors.same_color` method has been added which checks if +two `~matplotlib.colors` are the same. + + +Autoscaling a polar plot snaps to the origin +-------------------------------------------- + +Setting the limits automatically in a polar plot now snaps the radial limit +to zero if the automatic limit is nearby. This means plotting from zero doesn't +automatically scale to include small negative values on the radial axis. + +The limits can still be set manually in the usual way using `set_ylim`. + + +PathLike support +---------------- + +On Python 3.6+, `~matplotlib.pyplot.savefig`, `~matplotlib.pyplot.imsave`, +`~matplotlib.pyplot.imread`, and animation writers now accept `os.PathLike`\s +as input. + + +`Axes.tick_params` can set gridline properties +---------------------------------------------- + +`Tick` objects hold gridlines as well as the tick mark and its label. +`Axis.set_tick_params`, `Axes.tick_params` and `pyplot.tick_params` +now have keyword arguments 'grid_color', 'grid_alpha', 'grid_linewidth', +and 'grid_linestyle' for overriding the defaults in `rcParams`: +'grid.color', etc. + + +`Axes.imshow` clips RGB values to the valid range +------------------------------------------------- + +When `Axes.imshow` is passed an RGB or RGBA value with out-of-range +values, it now logs a warning and clips them to the valid range. +The old behaviour, wrapping back in to the range, often hid outliers +and made interpreting RGB images unreliable. + + +Properties in `matplotlibrc` to place xaxis and yaxis tick labels +----------------------------------------------------------------- + +Introducing four new boolean properties in `.matplotlibrc` for default +positions of xaxis and yaxis tick labels, namely, +`xtick.labeltop`, `xtick.labelbottom`, `ytick.labelright` and +`ytick.labelleft`. These can also be changed in rcParams. + + +PGI bindings for gtk3 +--------------------- + +The GTK3 backends can now use PGI_ instead of PyGObject_. PGI is a fairly +incomplete binding for GObject, thus its use is not recommended; its main +benefit is its availability on Travis (thus allowing CI testing for the gtk3agg +and gtk3cairo backends). + +The binding selection rules are as follows: +- if ``gi`` has already been imported, use it; else +- if ``pgi`` has already been imported, use it; else +- if ``gi`` can be imported, use it; else +- if ``pgi`` can be imported, use it; else +- error out. + +Thus, to force usage of PGI when both bindings are installed, import it first. + +.. _PGI: https://pgi.readthedocs.io/en/latest/ +.. _PyGObject: http://pygobject.readthedocs.io/en/latest/# + + + +Cairo rendering for Qt, WX, and Tk canvases +------------------------------------------- + +The new ``Qt4Cairo``, ``Qt5Cairo``, ``WXCairo``, and ``TkCairo`` +backends allow Qt, Wx, and Tk canvases to use Cairo rendering instead of +Agg. + + +Added support for QT in new ToolManager +--------------------------------------- + +Now it is possible to use the ToolManager with Qt5 +For example + + import matplotlib + + matplotlib.use('QT5AGG') + matplotlib.rcParams['toolbar'] = 'toolmanager' + import matplotlib.pyplot as plt + + plt.plot([1,2,3]) + plt.show() + + +Treat the new Tool classes experimental for now, the API will likely change and perhaps the rcParam as well + +The main example `examples/user_interfaces/toolmanager_sgskip.py` shows more +details, just adjust the header to use QT instead of GTK3 + + + +TkAgg backend reworked to support PyPy +-------------------------------------- + +PyPy_ can now plot using the TkAgg backend, supported on PyPy 5.9 +and greater (both PyPy for python 2.7 and PyPy for python 3.5). + +.. _PyPy: https:/www.pypy.org + + + +Python logging library used for debug output +-------------------------------------------- + +Matplotlib has in the past (sporadically) used an internal +verbose-output reporter. This version converts those calls to using the +standard python `logging` library. + +Support for the old ``rcParams`` ``verbose.level`` and ``verbose.fileo`` is +dropped. + +The command-line options ``--verbose-helpful`` and ``--verbose-debug`` are +still accepted, but deprecated. They are now equivalent to setting +``logging.INFO`` and ``logging.DEBUG``. + +The logger's root name is ``matplotlib`` and can be accessed from programs +as:: + + import logging + mlog = logging.getLogger('matplotlib') + +Instructions for basic usage are in :ref:`troubleshooting-faq` and for +developers in :ref:`contributing`. + +.. _logging: https://docs.python.org/3/library/logging.html + +Improved `repr` for `Transform`\s +--------------------------------- + +`Transform`\s now indent their `repr`\s in a more legible manner: + +.. code-block:: ipython + + In [1]: l, = plt.plot([]); l.get_transform() + Out[1]: + CompositeGenericTransform( + TransformWrapper( + BlendedAffine2D( + IdentityTransform(), + IdentityTransform())), + CompositeGenericTransform( + BboxTransformFrom( + TransformedBbox( + Bbox(x0=-0.05500000000000001, y0=-0.05500000000000001, x1=0.05500000000000001, y1=0.05500000000000001), + TransformWrapper( + BlendedAffine2D( + IdentityTransform(), + IdentityTransform())))), + BboxTransformTo( + TransformedBbox( + Bbox(x0=0.125, y0=0.10999999999999999, x1=0.9, y1=0.88), + BboxTransformTo( + TransformedBbox( + Bbox(x0=0.0, y0=0.0, x1=6.4, y1=4.8), + Affine2D( + [[ 100. 0. 0.] + [ 0. 100. 0.] + [ 0. 0. 1.]]))))))) diff --git a/doc/users/whats_new.rst b/doc/users/whats_new.rst index df0aa9375632..751e7ad76aa8 100644 --- a/doc/users/whats_new.rst +++ b/doc/users/whats_new.rst @@ -22,395 +22,12 @@ revision, see the :ref:`github-stats`. next_whats_new/* -New in Matplotlib 2.2 -===================== - -Constrained Layout Manager --------------------------- - -.. warning:: - - Constrained Layout is **experimental**. The - behaviour and API are subject to change, or the whole functionality - may be removed without a deprecation period. - - -A new method to automatically decide spacing between subplots and their -organizing ``GridSpec`` instances has been added. It is meant to -replace the venerable ``tight_layout`` method. It is invoked via -a new ``constrained_layout=True`` kwarg to -`~.figure.Figure` or `~.figure.subplots`. - -There are new ``rcParams`` for this package, and spacing can be -more finely tuned with the new `~.set_constrained_layout_pads`. - -Features include: - - - Automatic spacing for subplots with a fixed-size padding in inches around - subplots and all their decorators, and space between as a fraction - of subplot size between subplots. - - Spacing for `~.figure.suptitle`, and colorbars that are attached to - more than one axes. - - Nested `~.GridSpec` layouts using `~.GridSpecFromSubplotSpec`. - - For more details and capabilities please see the new tutorial: - :doc:`/tutorials/intermediate/constrainedlayout_guide` - -Note the new API to access this: - -New ``plt.figure`` and ``plt.subplots`` kwarg: ``constrained_layout`` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -:meth:`~matplotlib.pyplot.figure` and :meth:`~matplotlib.pyplot.subplots` -can now be called with ``constrained_layout=True`` kwarg to enable -constrained_layout. - -New ``ax.set_position`` behaviour -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -:meth:`~matplotlib.axes.set_position` now makes the specified axis no -longer responsive to ``constrained_layout``, consistent with the idea that the -user wants to place an axis manually. - -Internally, this means that old ``ax.set_position`` calls *inside* the library -are changed to private ``ax._set_position`` calls so that -``constrained_layout`` will still work with these axes. - -New ``figure`` kwarg for ``GridSpec`` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -In order to facilitate ``constrained_layout``, ``GridSpec`` now accepts a -``figure`` keyword. This is backwards compatible, in that not supplying this -will simply cause ``constrained_layout`` to not operate on the subplots -orgainzed by this ``GridSpec`` instance. Routines that use ``GridSpec`` (e.g. -``fig.subplots``) have been modified to pass the figure to ``GridSpec``. - - -xlabels and ylabels can now be automatically aligned ----------------------------------------------------- - -Subplot axes ``ylabels`` can be misaligned horizontally if the tick labels -are very different widths. The same can happen to ``xlabels`` if the -ticklabels are rotated on one subplot (for instance). The new methods -on the `Figure` class: `Figure.align_xlabels` and `Figure.align_ylabels` -will now align these labels horizontally or vertically. If the user only -wants to align some axes, a list of axes can be passed. If no list is -passed, the algorithm looks at all the labels on the figure. - -Only labels that have the same subplot locations are aligned. i.e. the -ylabels are aligned only if the subplots are in the same column of the -subplot layout. - -Alignemnt is persistent and automatic after these are called. - -A convenience wrapper `Figure.align_labels` calls both functions at once. - -.. plot:: - - import matplotlib.gridspec as gridspec - - fig = plt.figure(figsize=(5, 3), tight_layout=True) - gs = gridspec.GridSpec(2, 2) - - ax = fig.add_subplot(gs[0,:]) - ax.plot(np.arange(0, 1e6, 1000)) - ax.set_ylabel('Test') - for i in range(2): - ax = fig.add_subplot(gs[1, i]) - ax.set_ylabel('Booooo') - ax.set_xlabel('Hello') - if i == 0: - for tick in ax.get_xticklabels(): - tick.set_rotation(45) - fig.align_labels() - - -Axes legends now included in tight_bbox ---------------------------------------- - -Legends created via ``ax.legend`` can sometimes overspill the limits of -the axis. Tools like ``fig.tight_layout()`` and -``fig.savefig(bbox_inches='tight')`` would clip these legends. A change -was made to include them in the ``tight`` calculations. - - -Cividis colormap ----------------- - -A new dark blue/yellow colormap named 'cividis' was added. Like -viridis, cividis is perceptually uniform and colorblind -friendly. However, cividis also goes a step further: not only is it -usable by colorblind users, it should actually look effectively -identical to colorblind and non-colorblind users. For more details, -see Nunez J, Anderton C, and Renslow R. (submitted). Optimizing -colormaps with consideration for color vision deficiency to enable -accurate interpretation of scientific data." - -.. plot:: - - import matplotlib.pyplot as plt - import numpy as np - - fig, ax = plt.subplots() - pcm = ax.pcolormesh(np.random.rand(32,32), cmap='cividis') - fig.colorbar(pcm) - - -New style colorblind-friendly color cycle ------------------------------------------ - -A new style defining a color cycle has been added, -tableau-colorblind10, to provide another option for -colorblind-friendly plots. A demonstration of this new -style can be found in the reference_ of style sheets. To -load this color cycle in place of the default one:: - - import matplotlib.pyplot as plt - plt.style.use('tableau-colorblind10') - -.. _reference: https://matplotlib.org/gallery/style_sheets/style_sheets_reference.html - - -Support for numpy.datetime64 ----------------------------- - -Matplotlib has supported `datetime.datetime` dates for a long time in -`matplotlib.dates`. We -now support `numpy.datetime64` dates as well. Anywhere that -`dateime.datetime` could be used, `numpy.datetime64` can be used. eg:: - - time = np.arange('2005-02-01', '2005-02-02', dtype='datetime64[h]') - plt.plot(time) - - - -Writing animations with Pillow ------------------------------- -It is now possible to use Pillow as an animation writer. Supported output -formats are currently gif (Pillow>=3.4) and webp (Pillow>=5.0). Use e.g. as :: - - from __future__ import division - - from matplotlib import pyplot as plt - from matplotlib.animation import FuncAnimation, PillowWriter - - fig, ax = plt.subplots() - line, = plt.plot([0, 1]) - - def animate(i): - line.set_ydata([0, i / 20]) - return [line] - - anim = FuncAnimation(fig, animate, 20, blit=True) - anim.save("movie.gif", writer=PillowWriter(fps=24)) - plt.show() - - -Slider UI widget can snap to discrete values --------------------------------------------- - -The slider UI widget can take the optional argument *valstep*. Doing so -forces the slider to take on only discrete values, starting from *valmin* and -counting up to *valmax* with steps of size *valstep*. - -If *closedmax==True*, then the slider will snap to *valmax* as well. - - - -``capstyle`` and ``joinstyle`` attributes added to `Collection` ---------------------------------------------------------------- - -The `Collection` class now has customizable ``capstyle`` and ``joinstyle`` -attributes. This allows the user for example to set the ``capstyle`` of -errorbars. - - -*pad* kwarg added to ax.set_title ---------------------------------- - -The method `axes.set_title` now has a *pad* kwarg, that specifies the -distance from the top of an axes to where the title is drawn. The units -of *pad* is points, and the default is the value of the (already-existing) -``rcParams['axes.titlepad']``. - - -Comparison of 2 colors in Matplotlib ------------------------------------- - -As the colors in Matplotlib can be specified with a wide variety of ways, the -`matplotlib.colors.same_color` method has been added which checks if -two `~matplotlib.colors` are the same. - - -Autoscaling a polar plot snaps to the origin --------------------------------------------- - -Setting the limits automatically in a polar plot now snaps the radial limit -to zero if the automatic limit is nearby. This means plotting from zero doesn't -automatically scale to include small negative values on the radial axis. - -The limits can still be set manually in the usual way using `set_ylim`. - - -PathLike support ----------------- - -On Python 3.6+, `~matplotlib.pyplot.savefig`, `~matplotlib.pyplot.imsave`, -`~matplotlib.pyplot.imread`, and animation writers now accept `os.PathLike`\s -as input. - - -`Axes.tick_params` can set gridline properties ----------------------------------------------- - -`Tick` objects hold gridlines as well as the tick mark and its label. -`Axis.set_tick_params`, `Axes.tick_params` and `pyplot.tick_params` -now have keyword arguments 'grid_color', 'grid_alpha', 'grid_linewidth', -and 'grid_linestyle' for overriding the defaults in `rcParams`: -'grid.color', etc. - - -`Axes.imshow` clips RGB values to the valid range -------------------------------------------------- - -When `Axes.imshow` is passed an RGB or RGBA value with out-of-range -values, it now logs a warning and clips them to the valid range. -The old behaviour, wrapping back in to the range, often hid outliers -and made interpreting RGB images unreliable. - - -Properties in `matplotlibrc` to place xaxis and yaxis tick labels ------------------------------------------------------------------ - -Introducing four new boolean properties in `.matplotlibrc` for default -positions of xaxis and yaxis tick labels, namely, -`xtick.labeltop`, `xtick.labelbottom`, `ytick.labelright` and -`ytick.labelleft`. These can also be changed in rcParams. - - -PGI bindings for gtk3 ---------------------- - -The GTK3 backends can now use PGI_ instead of PyGObject_. PGI is a fairly -incomplete binding for GObject, thus its use is not recommended; its main -benefit is its availability on Travis (thus allowing CI testing for the gtk3agg -and gtk3cairo backends). - -The binding selection rules are as follows: -- if ``gi`` has already been imported, use it; else -- if ``pgi`` has already been imported, use it; else -- if ``gi`` can be imported, use it; else -- if ``pgi`` can be imported, use it; else -- error out. - -Thus, to force usage of PGI when both bindings are installed, import it first. - -.. _PGI: https://pgi.readthedocs.io/en/latest/ -.. _PyGObject: http://pygobject.readthedocs.io/en/latest/# - - - -Cairo rendering for Qt, WX, and Tk canvases -------------------------------------------- - -The new ``Qt4Cairo``, ``Qt5Cairo``, ``WXCairo``, and ``TkCairo`` -backends allow Qt, Wx, and Tk canvases to use Cairo rendering instead of -Agg. - - -Added support for QT in new ToolManager ---------------------------------------- - -Now it is possible to use the ToolManager with Qt5 -For example - - import matplotlib - - matplotlib.use('QT5AGG') - matplotlib.rcParams['toolbar'] = 'toolmanager' - import matplotlib.pyplot as plt - - plt.plot([1,2,3]) - plt.show() - - -Treat the new Tool classes experimental for now, the API will likely change and perhaps the rcParam as well - -The main example `examples/user_interfaces/toolmanager_sgskip.py` shows more -details, just adjust the header to use QT instead of GTK3 - - - -TkAgg backend reworked to support PyPy --------------------------------------- - -PyPy_ can now plot using the TkAgg backend, supported on PyPy 5.9 -and greater (both PyPy for python 2.7 and PyPy for python 3.5). - -.. _PyPy: https:/www.pypy.org - - - -Python logging library used for debug output --------------------------------------------- - -Matplotlib has in the past (sporadically) used an internal -verbose-output reporter. This version converts those calls to using the -standard python `logging` library. - -Support for the old ``rcParams`` ``verbose.level`` and ``verbose.fileo`` is -dropped. - -The command-line options ``--verbose-helpful`` and ``--verbose-debug`` are -still accepted, but deprecated. They are now equivalent to setting -``logging.INFO`` and ``logging.DEBUG``. - -The logger's root name is ``matplotlib`` and can be accessed from programs -as:: - - import logging - mlog = logging.getLogger('matplotlib') - -Instructions for basic usage are in :ref:`troubleshooting-faq` and for -developers in :ref:`contributing`. - -.. _logging: https://docs.python.org/3/library/logging.html - -Improved `repr` for `Transform`\s ---------------------------------- - -`Transform`\s now indent their `repr`\s in a more legible manner: - -.. code-block:: ipython - - In [1]: l, = plt.plot([]); l.get_transform() - Out[1]: - CompositeGenericTransform( - TransformWrapper( - BlendedAffine2D( - IdentityTransform(), - IdentityTransform())), - CompositeGenericTransform( - BboxTransformFrom( - TransformedBbox( - Bbox(x0=-0.05500000000000001, y0=-0.05500000000000001, x1=0.05500000000000001, y1=0.05500000000000001), - TransformWrapper( - BlendedAffine2D( - IdentityTransform(), - IdentityTransform())))), - BboxTransformTo( - TransformedBbox( - Bbox(x0=0.125, y0=0.10999999999999999, x1=0.9, y1=0.88), - BboxTransformTo( - TransformedBbox( - Bbox(x0=0.0, y0=0.0, x1=6.4, y1=4.8), - Affine2D( - [[ 100. 0. 0.] - [ 0. 100. 0.] - [ 0. 0. 1.]]))))))) - - + .. include:: next_whats_new/README.rst + .. toctree:: + :glob: + :maxdepth: 1 + next_whats_new/* From 06259883ca40e263b9acd3e99220d3384aa043a6 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Mon, 9 Jul 2018 00:05:10 -0400 Subject: [PATCH 0951/1161] DOC: comment out the auto-include next whats new --- doc/users/whats_new.rst | 7 ------- 1 file changed, 7 deletions(-) diff --git a/doc/users/whats_new.rst b/doc/users/whats_new.rst index 751e7ad76aa8..fa1a60da0366 100644 --- a/doc/users/whats_new.rst +++ b/doc/users/whats_new.rst @@ -14,13 +14,6 @@ revision, see the :ref:`github-stats`. .. For a release, add a new section after this, then comment out the include and toctree below by indenting them. Uncomment them after the release. -.. include:: next_whats_new/README.rst -.. toctree:: - :glob: - :maxdepth: 1 - - next_whats_new/* - .. include:: next_whats_new/README.rst .. toctree:: From 52d48c96c38eb4b0fe233bbee7f4c0b26e55a11c Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Mon, 9 Jul 2018 00:08:57 -0400 Subject: [PATCH 0952/1161] DOC: copy whats_new entries up to top level file --- .../2018_01_25_scale_axis_by_factor.rst | 10 -- .../anchored_direction_arrows.rst | 15 -- .../next_whats_new/colorbar_minor_ticks.rst | 10 -- doc/users/next_whats_new/colorbarticks.rst | 7 - doc/users/next_whats_new/cyclic_colormaps.rst | 9 - .../default_filename_suffix.rst | 13 -- .../legend_title_fontsize_kwarg.rst | 9 - .../next_whats_new/markevery_prop_cycle.rst | 7 - doc/users/next_whats_new/pgf_pdfpages.rst | 19 -- .../next_whats_new/pie_chart_default.rst | 8 - .../next_whats_new/subplot_get_gridspec.rst | 20 --- .../title_will_not_overlap_xaxis.rst | 15 -- doc/users/whats_new.rst | 166 ++++++++++++++++++ 13 files changed, 166 insertions(+), 142 deletions(-) delete mode 100644 doc/users/next_whats_new/2018_01_25_scale_axis_by_factor.rst delete mode 100644 doc/users/next_whats_new/anchored_direction_arrows.rst delete mode 100644 doc/users/next_whats_new/colorbar_minor_ticks.rst delete mode 100644 doc/users/next_whats_new/colorbarticks.rst delete mode 100644 doc/users/next_whats_new/cyclic_colormaps.rst delete mode 100644 doc/users/next_whats_new/default_filename_suffix.rst delete mode 100644 doc/users/next_whats_new/legend_title_fontsize_kwarg.rst delete mode 100644 doc/users/next_whats_new/markevery_prop_cycle.rst delete mode 100644 doc/users/next_whats_new/pgf_pdfpages.rst delete mode 100644 doc/users/next_whats_new/pie_chart_default.rst delete mode 100644 doc/users/next_whats_new/subplot_get_gridspec.rst delete mode 100644 doc/users/next_whats_new/title_will_not_overlap_xaxis.rst diff --git a/doc/users/next_whats_new/2018_01_25_scale_axis_by_factor.rst b/doc/users/next_whats_new/2018_01_25_scale_axis_by_factor.rst deleted file mode 100644 index 0d28bbde7b22..000000000000 --- a/doc/users/next_whats_new/2018_01_25_scale_axis_by_factor.rst +++ /dev/null @@ -1,10 +0,0 @@ -Ability to scale axis by a fixed order of magnitude ---------------------------------------------------- - -To scale an axis by a fixed order of magnitude, set the *scilimits* argument of -``Axes.ticklabel_format`` to the same (non-zero) lower and upper limits. Say to scale -the y axis by a million (1e6), use ``ax.ticklabel_format(style='sci', scilimits=(6, 6), axis='y')``. - -The behavior of ``scilimits=(0, 0)`` is unchanged. With this setting, matplotlib will adjust -the order of magnitude depending on the axis values, rather than keeping it fixed. Previously, setting -``scilimits=(m, m)`` was equivalent to setting ``scilimits=(0, 0)``. diff --git a/doc/users/next_whats_new/anchored_direction_arrows.rst b/doc/users/next_whats_new/anchored_direction_arrows.rst deleted file mode 100644 index 8e241a4732b3..000000000000 --- a/doc/users/next_whats_new/anchored_direction_arrows.rst +++ /dev/null @@ -1,15 +0,0 @@ -Add ``AnchoredDirectionArrows`` feature to mpl_toolkits --------------------------------------------------------- - -A new mpl_toolkits class -:class:`~mpl_toolkits.axes_grid1.anchored_artists.AnchoredDirectionArrows` -draws a pair of orthogonal arrows to inidcate directions on a 2D plot. A -minimal working example takes in the transformation object for the coordinate -system (typically ax.transAxes), and arrow labels. There are several optional -parameters that can be used to alter layout. For example, the arrow pairs can -be rotated and the color can be changed. By default the labels and arrows have -the same color, but the class may also pass arguments for costumizing arrow -and text layout, these are passed to :class:`matplotlib.text.TextPath` and -`matplotlib.patches.FancyArrowPatch`. Location, length and width for both -arrow tail and head can be adjusted, the the direction arrows and labels can -have a frame. Padding and separation parameters can be adjusted. diff --git a/doc/users/next_whats_new/colorbar_minor_ticks.rst b/doc/users/next_whats_new/colorbar_minor_ticks.rst deleted file mode 100644 index a8b47a940875..000000000000 --- a/doc/users/next_whats_new/colorbar_minor_ticks.rst +++ /dev/null @@ -1,10 +0,0 @@ -Add ``minorticks_on()/off()`` methods for colorbar --------------------------------------------------- - -A new method :meth:`.Colobar.minorticks_on` is -introduced to correctly display minor ticks on the colorbar. This method -doesn't allow the minor ticks to extend into the regions beyond vmin and vmax -when the extend `kwarg` (used while creating the colorbar) is set to 'both', -'max' or 'min'. -A complementary method :meth:`.Colobar.minorticks_off` -is introduced to remove the minor ticks on the colorbar. diff --git a/doc/users/next_whats_new/colorbarticks.rst b/doc/users/next_whats_new/colorbarticks.rst deleted file mode 100644 index 7b70e0f6ce6d..000000000000 --- a/doc/users/next_whats_new/colorbarticks.rst +++ /dev/null @@ -1,7 +0,0 @@ -Colorbar ticks can now be automatic ------------------------------------ - -The number of ticks on colorbars was appropriate for a large colorbar, but -looked bad if the colorbar was made smaller (i.e. via the ``shrink`` kwarg). -This has been changed so that the number of ticks is now responsive to how -large the colorbar is. diff --git a/doc/users/next_whats_new/cyclic_colormaps.rst b/doc/users/next_whats_new/cyclic_colormaps.rst deleted file mode 100644 index 361aa789c835..000000000000 --- a/doc/users/next_whats_new/cyclic_colormaps.rst +++ /dev/null @@ -1,9 +0,0 @@ -Cyclic colormaps ----------------- - -Two new colormaps named 'twilight' and 'twilight_shifted' were added. -These colormaps start and end on the same color, and have two -symmetric halves with equal lightness, but diverging color. Since they -wrap around, they are a good choice for cyclic data such as phase -angles, compass directions, or time of day. Like viridis, twilight is -perceptually uniform and colorblind friendly. diff --git a/doc/users/next_whats_new/default_filename_suffix.rst b/doc/users/next_whats_new/default_filename_suffix.rst deleted file mode 100644 index 0f8730b421e0..000000000000 --- a/doc/users/next_whats_new/default_filename_suffix.rst +++ /dev/null @@ -1,13 +0,0 @@ -Stop adding a suffix to suggest unique file name ------------------------------------------------- - -Previously, when saving a figure to a file using the GUI's -save dialog box, if the default filename (based on the -figure window title) already existed on disk, Matplotlib -would append a suffix (e.g. `Figure_1-1.png`), preventing -the dialog from prompting to overwrite the file. This -behaviour has been removed. Now if the file name exists on -disk, the user is prompted whether or not to overwrite it. -This eliminates guesswork, and allows intentional -overwriting, especially when the figure name has been -manually set using `fig.canvas.set_window_title()`. diff --git a/doc/users/next_whats_new/legend_title_fontsize_kwarg.rst b/doc/users/next_whats_new/legend_title_fontsize_kwarg.rst deleted file mode 100644 index 3cff9b171b30..000000000000 --- a/doc/users/next_whats_new/legend_title_fontsize_kwarg.rst +++ /dev/null @@ -1,9 +0,0 @@ -Legend now has a title_fontsize kwarg (and rcParam) ---------------------------------------------------- - -The title for a `.Figure.legend` and `.Axes.legend` can now have its -fontsize set via the ``title_fontsize`` kwarg. There is also a new -:rc:`legend.title_fontsize`. Both default to ``None``, which means -the legend title will have the same fontsize as the axes default fontsize -(*not* the legend fontsize, set by the ``fontsize`` kwarg or -:rc:`legend.fontsize`). diff --git a/doc/users/next_whats_new/markevery_prop_cycle.rst b/doc/users/next_whats_new/markevery_prop_cycle.rst deleted file mode 100644 index 05e647cbfa80..000000000000 --- a/doc/users/next_whats_new/markevery_prop_cycle.rst +++ /dev/null @@ -1,7 +0,0 @@ -Implemented support for axes.prop_cycle property markevery in rcParams ----------------------------------------------------------------------- - -The Matplotlib ``rcParams`` settings object now supports configuration -of the attribute `axes.prop_cycle` with cyclers using the `markevery` -Line2D object property. An example of this feature is provided at -`~matplotlib/examples/lines_bars_and_markers/markevery_prop_cycle.py` \ No newline at end of file diff --git a/doc/users/next_whats_new/pgf_pdfpages.rst b/doc/users/next_whats_new/pgf_pdfpages.rst deleted file mode 100644 index 7398019505e6..000000000000 --- a/doc/users/next_whats_new/pgf_pdfpages.rst +++ /dev/null @@ -1,19 +0,0 @@ -Multipage PDF support for pgf backend -------------------------------------- - -The pgf backend now also supports multipage PDF files. - -.. code-block:: python - - from matplotlib.backends.backend_pgf import PdfPages - import matplotlib.pyplot as plt - - with PdfPages('multipage.pdf') as pdf: - # page 1 - plt.plot([2, 1, 3]) - pdf.savefig() - - # page 2 - plt.cla() - plt.plot([3, 1, 2]) - pdf.savefig() diff --git a/doc/users/next_whats_new/pie_chart_default.rst b/doc/users/next_whats_new/pie_chart_default.rst deleted file mode 100644 index 2b7c7b9c59cd..000000000000 --- a/doc/users/next_whats_new/pie_chart_default.rst +++ /dev/null @@ -1,8 +0,0 @@ -Pie charts are now circular by default --------------------------------------- -We acknowledge that the majority of people do not like egg-shaped pies. -Therefore, an axes to which a pie chart is plotted will be set to have -equal aspect ratio by default. This ensures that the pie appears circular -independent on the axes size or units. To revert to the previous behaviour -you may set the axes' aspect to automatic, ax.set_aspect("auto") or -plt.axis("auto"). \ No newline at end of file diff --git a/doc/users/next_whats_new/subplot_get_gridspec.rst b/doc/users/next_whats_new/subplot_get_gridspec.rst deleted file mode 100644 index 2f6841303b42..000000000000 --- a/doc/users/next_whats_new/subplot_get_gridspec.rst +++ /dev/null @@ -1,20 +0,0 @@ -Add ``ax.get_gridspec`` to `.SubplotBase` ------------------------------------------ - -New method `.SubplotBase.get_gridspec` is added so that users can -easily get the gridspec that went into making an axes: - - .. code:: - - import matplotlib.pyplot as plt - - fig, axs = plt.subplots(3, 2) - gs = axs[0, -1].get_gridspec() - - # remove the last column - for ax in axs[:,-1].flatten(): - ax.remove() - - # make a subplot in last column that spans rows. - ax = fig.add_subplot(gs[:, -1]) - plt.show() diff --git a/doc/users/next_whats_new/title_will_not_overlap_xaxis.rst b/doc/users/next_whats_new/title_will_not_overlap_xaxis.rst deleted file mode 100644 index 74db251a4a5f..000000000000 --- a/doc/users/next_whats_new/title_will_not_overlap_xaxis.rst +++ /dev/null @@ -1,15 +0,0 @@ -Axes title will no longer overlap xaxis ---------------------------------------- - -Previously an axes title had to be moved manually if an xaxis overlapped -(usually when the xaxis was put on the top of the axes). Now, the title -will be automatically moved above the xaxis and its decorators (including -the xlabel) if they are at the top. - -If desired, the title can still be placed manually. There is a slight kludge; -the algorithm checks if the y-position of the title is 1.0 (the default), -and moves if it is. If the user places the title in the default location -(i.e. ``ax.title.set_position(0.5, 1.0)``), the title will still be moved -above the xaxis. If the user wants to avoid this, they can -specify a number that is close (i.e. ``ax.title.set_position(0.5, 1.01)``) -and the title will not be moved via this algorithm. diff --git a/doc/users/whats_new.rst b/doc/users/whats_new.rst index fa1a60da0366..5608877c7c5c 100644 --- a/doc/users/whats_new.rst +++ b/doc/users/whats_new.rst @@ -22,6 +22,172 @@ revision, see the :ref:`github-stats`. next_whats_new/* +Ability to scale axis by a fixed order of magnitude +--------------------------------------------------- + +To scale an axis by a fixed order of magnitude, set the *scilimits* argument of +``Axes.ticklabel_format`` to the same (non-zero) lower and upper limits. Say to scale +the y axis by a million (1e6), use ``ax.ticklabel_format(style='sci', scilimits=(6, 6), axis='y')``. + +The behavior of ``scilimits=(0, 0)`` is unchanged. With this setting, matplotlib will adjust +the order of magnitude depending on the axis values, rather than keeping it fixed. Previously, setting +``scilimits=(m, m)`` was equivalent to setting ``scilimits=(0, 0)``. + + +Add ``AnchoredDirectionArrows`` feature to mpl_toolkits +-------------------------------------------------------- + +A new mpl_toolkits class +:class:`~mpl_toolkits.axes_grid1.anchored_artists.AnchoredDirectionArrows` +draws a pair of orthogonal arrows to inidcate directions on a 2D plot. A +minimal working example takes in the transformation object for the coordinate +system (typically ax.transAxes), and arrow labels. There are several optional +parameters that can be used to alter layout. For example, the arrow pairs can +be rotated and the color can be changed. By default the labels and arrows have +the same color, but the class may also pass arguments for costumizing arrow +and text layout, these are passed to :class:`matplotlib.text.TextPath` and +`matplotlib.patches.FancyArrowPatch`. Location, length and width for both +arrow tail and head can be adjusted, the the direction arrows and labels can +have a frame. Padding and separation parameters can be adjusted. + + +Add ``minorticks_on()/off()`` methods for colorbar +-------------------------------------------------- + +A new method :meth:`.Colobar.minorticks_on` is +introduced to correctly display minor ticks on the colorbar. This method +doesn't allow the minor ticks to extend into the regions beyond vmin and vmax +when the extend `kwarg` (used while creating the colorbar) is set to 'both', +'max' or 'min'. +A complementary method :meth:`.Colobar.minorticks_off` +is introduced to remove the minor ticks on the colorbar. + + +Colorbar ticks can now be automatic +----------------------------------- + +The number of ticks on colorbars was appropriate for a large colorbar, but +looked bad if the colorbar was made smaller (i.e. via the ``shrink`` kwarg). +This has been changed so that the number of ticks is now responsive to how +large the colorbar is. + + +Cyclic colormaps +---------------- + +Two new colormaps named 'twilight' and 'twilight_shifted' were added. +These colormaps start and end on the same color, and have two +symmetric halves with equal lightness, but diverging color. Since they +wrap around, they are a good choice for cyclic data such as phase +angles, compass directions, or time of day. Like viridis, twilight is +perceptually uniform and colorblind friendly. + + +Stop adding a suffix to suggest unique file name +------------------------------------------------ + +Previously, when saving a figure to a file using the GUI's +save dialog box, if the default filename (based on the +figure window title) already existed on disk, Matplotlib +would append a suffix (e.g. `Figure_1-1.png`), preventing +the dialog from prompting to overwrite the file. This +behaviour has been removed. Now if the file name exists on +disk, the user is prompted whether or not to overwrite it. +This eliminates guesswork, and allows intentional +overwriting, especially when the figure name has been +manually set using `fig.canvas.set_window_title()`. + + +Legend now has a title_fontsize kwarg (and rcParam) +--------------------------------------------------- + +The title for a `.Figure.legend` and `.Axes.legend` can now have its +fontsize set via the ``title_fontsize`` kwarg. There is also a new +:rc:`legend.title_fontsize`. Both default to ``None``, which means +the legend title will have the same fontsize as the axes default fontsize +(*not* the legend fontsize, set by the ``fontsize`` kwarg or +:rc:`legend.fontsize`). + + +Implemented support for axes.prop_cycle property markevery in rcParams +---------------------------------------------------------------------- + +The Matplotlib ``rcParams`` settings object now supports configuration +of the attribute `axes.prop_cycle` with cyclers using the `markevery` +Line2D object property. An example of this feature is provided at +`~matplotlib/examples/lines_bars_and_markers/markevery_prop_cycle.py` + +Multipage PDF support for pgf backend +------------------------------------- + +The pgf backend now also supports multipage PDF files. + +.. code-block:: python + + from matplotlib.backends.backend_pgf import PdfPages + import matplotlib.pyplot as plt + + with PdfPages('multipage.pdf') as pdf: + # page 1 + plt.plot([2, 1, 3]) + pdf.savefig() + + # page 2 + plt.cla() + plt.plot([3, 1, 2]) + pdf.savefig() + + +Pie charts are now circular by default +-------------------------------------- +We acknowledge that the majority of people do not like egg-shaped pies. +Therefore, an axes to which a pie chart is plotted will be set to have +equal aspect ratio by default. This ensures that the pie appears circular +independent on the axes size or units. To revert to the previous behaviour +you may set the axes' aspect to automatic, ax.set_aspect("auto") or +plt.axis("auto"). + +Add ``ax.get_gridspec`` to `.SubplotBase` +----------------------------------------- + +New method `.SubplotBase.get_gridspec` is added so that users can +easily get the gridspec that went into making an axes: + + .. code:: + + import matplotlib.pyplot as plt + + fig, axs = plt.subplots(3, 2) + gs = axs[0, -1].get_gridspec() + + # remove the last column + for ax in axs[:,-1].flatten(): + ax.remove() + + # make a subplot in last column that spans rows. + ax = fig.add_subplot(gs[:, -1]) + plt.show() + + +Axes title will no longer overlap xaxis +--------------------------------------- + +Previously an axes title had to be moved manually if an xaxis overlapped +(usually when the xaxis was put on the top of the axes). Now, the title +will be automatically moved above the xaxis and its decorators (including +the xlabel) if they are at the top. + +If desired, the title can still be placed manually. There is a slight kludge; +the algorithm checks if the y-position of the title is 1.0 (the default), +and moves if it is. If the user places the title in the default location +(i.e. ``ax.title.set_position(0.5, 1.0)``), the title will still be moved +above the xaxis. If the user wants to avoid this, they can +specify a number that is close (i.e. ``ax.title.set_position(0.5, 1.01)``) +and the title will not be moved via this algorithm. + + + + From ffc22bf817b3775b6f297f3d067af79d3ccb81bd Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Mon, 9 Jul 2018 00:16:29 -0400 Subject: [PATCH 0953/1161] DOC: merge up the api changes --- doc/api/api_changes.rst | 432 ++++++++++++++++++ doc/api/api_changes/2017-11-25-JMK.rst | 8 - doc/api/api_changes/2017-12-01-JMK.rst | 8 - doc/api/api_changes/2017-12-20-TH.rst | 5 - doc/api/next_api_changes/2017-12-12-JMK.rst | 7 - doc/api/next_api_changes/2018-02-07-JMK.rst | 9 - doc/api/next_api_changes/2018-02-15-DS.rst | 7 - doc/api/next_api_changes/2018-02-15-ES.rst | 6 - .../2018-02-16-ES-removals.rst | 9 - .../next_api_changes/2018-02-20-DS-hold.rst | 7 - doc/api/next_api_changes/2018-02-21-AL.rst | 5 - .../2018-02-26-AL-removals.rst | 52 --- doc/api/next_api_changes/2018-03-23-AL.rst | 4 - doc/api/next_api_changes/2018-04-20-AL.rst | 5 - doc/api/next_api_changes/2018-04-22-AL.rst | 8 - doc/api/next_api_changes/2018-04-22-ZHD.rst | 14 - doc/api/next_api_changes/2018-04-29-ZHD.rst | 13 - doc/api/next_api_changes/2018-04-30-AL.rst | 7 - doc/api/next_api_changes/2018-04-30-ZHD.rst | 13 - doc/api/next_api_changes/2018-05-06-ZHD.rst | 7 - doc/api/next_api_changes/2018-05-16-TH.rst | 7 - doc/api/next_api_changes/2018-05-22-AL.rst | 4 - doc/api/next_api_changes/2018-05-25-AL.rst | 7 - doc/api/next_api_changes/2018-05-26-AL.rst | 11 - doc/api/next_api_changes/2018-05-26-TH.rst | 9 - .../2018-06-03-JD-funcani-zorder.rst | 9 - .../2018-06-09-EF-contour_levels.rst | 16 - .../next_api_changes/2018-06-24-PM-JMK.rst | 5 - doc/api/next_api_changes/2018-06-27-AL.rst | 13 - doc/api/next_api_changes/2018-07-02-JMK.rst | 37 -- 30 files changed, 432 insertions(+), 312 deletions(-) delete mode 100644 doc/api/api_changes/2017-11-25-JMK.rst delete mode 100644 doc/api/api_changes/2017-12-01-JMK.rst delete mode 100644 doc/api/api_changes/2017-12-20-TH.rst delete mode 100644 doc/api/next_api_changes/2017-12-12-JMK.rst delete mode 100644 doc/api/next_api_changes/2018-02-07-JMK.rst delete mode 100644 doc/api/next_api_changes/2018-02-15-DS.rst delete mode 100644 doc/api/next_api_changes/2018-02-15-ES.rst delete mode 100644 doc/api/next_api_changes/2018-02-16-ES-removals.rst delete mode 100644 doc/api/next_api_changes/2018-02-20-DS-hold.rst delete mode 100644 doc/api/next_api_changes/2018-02-21-AL.rst delete mode 100644 doc/api/next_api_changes/2018-02-26-AL-removals.rst delete mode 100644 doc/api/next_api_changes/2018-03-23-AL.rst delete mode 100644 doc/api/next_api_changes/2018-04-20-AL.rst delete mode 100644 doc/api/next_api_changes/2018-04-22-AL.rst delete mode 100644 doc/api/next_api_changes/2018-04-22-ZHD.rst delete mode 100644 doc/api/next_api_changes/2018-04-29-ZHD.rst delete mode 100644 doc/api/next_api_changes/2018-04-30-AL.rst delete mode 100644 doc/api/next_api_changes/2018-04-30-ZHD.rst delete mode 100644 doc/api/next_api_changes/2018-05-06-ZHD.rst delete mode 100644 doc/api/next_api_changes/2018-05-16-TH.rst delete mode 100644 doc/api/next_api_changes/2018-05-22-AL.rst delete mode 100644 doc/api/next_api_changes/2018-05-25-AL.rst delete mode 100644 doc/api/next_api_changes/2018-05-26-AL.rst delete mode 100644 doc/api/next_api_changes/2018-05-26-TH.rst delete mode 100644 doc/api/next_api_changes/2018-06-03-JD-funcani-zorder.rst delete mode 100644 doc/api/next_api_changes/2018-06-09-EF-contour_levels.rst delete mode 100644 doc/api/next_api_changes/2018-06-24-PM-JMK.rst delete mode 100644 doc/api/next_api_changes/2018-06-27-AL.rst delete mode 100644 doc/api/next_api_changes/2018-07-02-JMK.rst diff --git a/doc/api/api_changes.rst b/doc/api/api_changes.rst index fa9ccddf786d..8732297c3c03 100644 --- a/doc/api/api_changes.rst +++ b/doc/api/api_changes.rst @@ -19,6 +19,438 @@ For new features that were added to Matplotlib, please see next_api_changes/* +API Changes for 3.0 +=================== + +Drop support for python 2 +------------------------- + +Matplotlib 3 only supports python 3.5 and higher + + +`.Axes.hist2d` now uses `~.Axes.pcolormesh` instead of `~.Axes.pcolorfast` +-------------------------------------------------------------------------- + +`.Axes.hist2d` now uses `~.Axes.pcolormesh` instead of `~.Axes.pcolorfast`, +which will improve the handling of log-axes. Note that the +returned *image* now is of type `~.matplotlib.collections.QuadMesh` +instead of `~.matplotlib.image.AxesImage`. + + +`Text.set_text` with string argument ``None`` sets string to empty +------------------------------------------------------------------ + +`Text.set_text` when passed a string value of ``None`` would set the +string to ``"None"``, so subsequent calls to `Text.get_text` would return +the ambiguous ``"None"`` string. + +This change sets text objects passed ``None`` to have empty strings, so that +`Text.get_text` returns and an empty string. + +Deprecations +------------ +The following modules are deprecated: + +- :mod:`matplotlib.compat.subprocess`. This was a python 2 workaround, but all + the functionality can now be found in the python 3 standard library + :mod:`subprocess`. +- :mod:`matplotlib.backends.wx_compat`. Python 3 is only compatible with + wxPython 4, so support for wxPython 3 or earlier can be dropped. + +The following classes, methods, functions, and attributes are deprecated: + +- ``RcParams.msg_depr``, ``RcParams.msg_depr_ignore``, + ``RcParams.msg_depr_set``, ``RcParams.msg_obsolete``, + ``RcParams.msg_backend_obsolete``, +- ``afm.parse_afm``, +- ``backend_pgf.get_texcommand``, +- ``backend_ps.get_bbox``, +- ``backend_qt5.error_msg_qt``, ``backend_qt5.exception_handler``, +- ``backend_wx.FigureCanvasWx.macros``, +- ``cbook.GetRealpathAndStat``, ``cbook.Locked``, +- ``cbook.is_numlike`` (use ``isinstance(..., numbers.Number)`` instead), + ``cbook.listFiles``, ``cbook.unicode_safe``, +- ``container.Container.set_remove_method``, +- ``contour.ContourLabeler.cl``, ``.cl_xy``, and ``.cl_cvalues``, +- ``dates.DateFormatter.strftime_pre_1900``, ``dates.DateFormatter.strftime``, +- ``font_manager.TempCache``, +- ``mathtext.unichr_safe`` (use ``chr`` instead), +- ``table.Table.get_child_artists`` (use ``get_children`` instead), +- ``testing.compare.ImageComparisonTest``, ``testing.compare.compare_float``, +- ``testing.decorators.CleanupTest``, + ``testing.decorators.skip_if_command_unavailable``, +- ``FigureCanvasQT.keyAutoRepeat`` (directly check + ``event.guiEvent.isAutoRepeat()`` in the event handler to decide whether to + handle autorepeated key presses). +- ``FigureCanvasWx.macros``, +- ``_ImageBase.iterpnames``, use the ``interpolation_names`` property instead. + (this affects classes that inherit from ``_ImageBase`` including + :class:`FigureImage`, :class:`BboxImage`, and :class:`AxesImage`), +- ``patches.Polygon.xy``, +- ``texmanager.dvipng_hack_alpha``, +- ``text.Annotation.arrow``, + +The following rcParams are deprecated: +- ``examples.directory`` (use ``datapath`` instead), +- ``pgf.debug`` (the pgf backend relies on logging), +- ``text.latex.unicode``, + +The following keyword arguments are deprecated: +- passing ``verts`` to ``Axes.scatter`` (use ``marker`` instead), +- passing ``obj_type`` to ``cbook.deprecated``, + +The following call signatures are deprecated: +- passing a ``wx.EvtHandler`` as first argument to ``backend_wx.TimerWx``, + +Deprecated methods removed from `matplotlib.testing` +---------------------------------------------------- + +The deprecated methods `knownfailureif` and `remove_text` have been removed +from :mod:`matplotlib.testing.decorators`. + +The entire contents of `testing.noseclasses` have also been removed. + + +matplotlib.cbook.Bunch deprecated +--------------------------------- + +The ``matplotlib.cbook.Bunch`` class has been deprecated. Instead, use +`types.SimpleNamespace` from the standard library which provides the same +functionality. + + +Removal of deprecated backends +------------------------------ + +Deprecated backends have been removed: + + * GTKAgg + * GTKCairo + * GTK + * GDK + + +Hold machinery removed +---------------------- + +Setting or unsetting ``hold`` (deprecated in version 2.1) has now +been completely removed. Matplotlib now always behaves as if ``hold=True``. +To clear an axes you can manually use :meth:`~.axes.Axes.cla()`, +or to clear an entire figure use :meth:`~.figure.Figure.clf()`. + + +``Axes3D.get_xlim``, ``get_ylim`` and ``get_zlim`` now return a tuple +--------------------------------------------------------------------- + +They previously returned an array. Returning a tuple is consistent with the +behavior for 2D axes. + + +Modified APIs +------------- + +The following APIs have been modified: + +- ``Axes.mouseover_set`` is now a frozenset, and deprecated. Directly + manipulate the artist's ``.mouseover`` attribute to change their mouseover + status. + +Removal of deprecated APIs +-------------------------- + +The following deprecated API elements have been removed: + +- ``matplotlib.checkdep_tex``, ``matplotlib.checkdep_xmllint``, +- ``backend_bases.IdleEvent``, +- ``cbook.converter``, ``cbook.tostr``, ``cbook.todatetime``, ``cbook.todate``, + ``cbook.tofloat``, ``cbook.toint``, ``cbook.unique``, + ``cbook.is_string_like``, ``cbook.is_sequence_of_strings``, + ``cbook.is_scalar``, ``cbook.soundex``, ``cbook.dict_delall``, + ``cbook.get_split_ind``, ``cbook.wrap``, ``cbook.get_recursive_filelist``, + ``cbook.pieces``, ``cbook.exception_to_str``, ``cbook.allequal``, + ``cbook.alltrue``, ``cbook.onetrue``, ``cbook.allpairs``, ``cbook.finddir``, + ``cbook.reverse_dict``, ``cbook.restrict_dict``, ``cbook.issubclass_safe``, + ``cbook.recursive_remove``, ``cbook.unmasked_index_ranges``, + ``cbook.Null``, ``cbook.RingBuffer``, ``cbook.Sorter``, ``cbook.Xlator``, +- ``font_manager.weight_as_number``, ``font_manager.ttfdict_to_fnames``, +- ``pyplot.colors``, ``pyplot.spectral``, +- ``rcsetup.validate_negative_linestyle``, + ``rcsetup.validate_negative_linestyle_legacy``, +- ``testing.compare.verifiers``, ``testing.compare.verify``, +- ``testing.decorators.knownfailureif``, + ``testing.decorators.ImageComparisonTest.remove_text``, +- ``tests.assert_str_equal``, ``tests.test_tinypages.file_same``, +- ``texmanager.dvipng_hack_alpha``, +- ``_AxesBase.axesPatch``, ``_AxesBase.set_color_cycle``, + ``_AxesBase.get_cursor_props``, ``_AxesBase.set_cursor_props``, +- ``_ImageBase.iterpnames``, +- ``FigureCanvasBase.start_event_loop_default``; +- ``FigureCanvasBase.stop_event_loop_default``; +- ``Figure.figurePatch``, +- ``FigureCanvasBase.dynamic_update``, ``FigureCanvasBase.idle_event``, + ``FigureCanvasBase.get_linestyle``, ``FigureCanvasBase.set_linestyle``, +- ``FigureCanvasQTAgg.blitbox``, +- passing non-numbers to ``EngFormatter.format_eng``, +- passing ``frac`` to ``PolarAxes.set_theta_grids``, +- any mention of idle events, + +The following API elements have been removed: + +- ``backend_cairo.HAS_CAIRO_CFFI``, +- ``sphinxext.sphinx_version``, + + +``font_manager.list_fonts`` now follows the platform's casefolding semantics +---------------------------------------------------------------------------- + +i.e., it behaves case-insensitively on Windows only. + + +``bar``/``barh`` no longer accepts ``left``/``bottom`` as first named argument +------------------------------------------------------------------------------ + +These arguments were renamed in 2.0 to ``x``/``y`` following the change of the +default alignment from ``edge`` to ``center``. + + +Deprecation of certain marker styles +------------------------------------ + +Using ``(n, 3)`` as marker style to specify a circle marker is deprecated. Use +``"o"`` instead. + +Using ``([(x0, y0), (x1, y1), ...], 0)`` as marker style to specify a custom +marker path is deprecated. Use ``[(x0, y0), (x1, y1), ...]`` instead. + + +Different exception types for undocumented options +-------------------------------------------------- + +- Passing ``style='comma'`` to :meth:`~matplotlib.axes.Axes.ticklabel_format` + was never supported. It now raises ``ValueError`` like all other + unsupported styles, rather than ``NotImplementedError``. + +- Passing the undocumented ``xmin`` or ``xmax`` arguments to + :meth:`~matplotlib.axes.Axes.set_xlim` would silently override the ``left`` + and ``right`` arguments. :meth:`~matplotlib.axes.Axes.set_ylim` and the + 3D equivalents (e.g. :meth:`~mpl_toolkits.axes.Axes3D.set_zlim3d`) had a + corresponding problem. + The ``_min`` and ``_max`` arguments are now deprecated, and a ``TypeError`` + will be raised if they would override the earlier limit arguments. + + +Improved call signature for Axes.margins() +------------------------------------------ + +:meth:`matplotlib.axes.Axes.margins` and :meth:`mpl_toolkits.mplot3d.Axes3D.margins` +no longer accept arbitrary keywords. ``TypeError`` will therefore be raised +if unknown kwargs are passed; previously they would be silently ignored. + +If too many positional arguments are passed, ``TypeError`` will be raised +instead of ``ValueError``, for consistency with other call-signature violations. + +``Axes3D.margins`` now raises ``TypeError`` instead of emitting a deprecation +warning if only two positional arguments are passed. To supply only ``x`` and +``y`` margins, use keyword arguments. + + +Remove lib/mpl_examples +----------------------- + +The symlink from lib/mpl_examples to ../examples has been removed. +This is not installed as an importable package and should not affect +end users, however this may require down-stream packagers to adjust. +The content is still available top-level examples directory. + + +Explicit arguments instead of \*args, \*\*kwargs +------------------------------------------------ + +:PEP:`3102` describes keyword-only arguments, which allow Matplotlib +to provide explicit call signatures - where we previously used +``*args, **kwargs`` and ``kwargs.pop``, we can now expose named +arguments. In some places, unknown kwargs were previously ignored but +now raise ``TypeError`` because ``**kwargs`` has been removed. + +- :meth:`matplotlib.axes.Axes.stem` no longer accepts unknown keywords, + and raises ``TypeError`` instead of emitting a deprecation. +- :meth:`mpl_toolkits.axes_grid1.axes_divider.SubPlotDivider` raises + ``TypeError`` instead of ``Exception`` when passed unknown kwargs. + + +Consistent handling of \*args in Axes.stem +------------------------------------------ + +:meth:`matplotlib.axex.Axes.stem` now raises TypeError when passed +unhandled positional arguments. If two or more arguments are passed +(ie X, Y, [linefmt], ...) and Y cannot be cast to an array, an error +will be raised instead of treating X as Y and Y as linefmt. + + +``matplotlib.cbook.deprecation.mplDeprecation`` is deprecated +------------------------------------------------------------- + +:class:`matplotlib.cbook.deprecation.mplDeprecation` will be removed in +future versions. It is just an alias for +:class:`matplotlib.cbook.deprecation.MatplotlibDeprecationWarning`. +Please use the :class:`~.MatplotlibDeprecationWarning` directly if neccessary. + + +The cleanup decorators and test classes in matplotlib.testing.decorators no longer destroy the warnings filter on exit +---------------------------------------------------------------------------------------------------------------------- + +Instead, they restore the warnings filter that existed before the test started +using ``warnings.catch_warnings``. + + +Non-interactive FigureManager classes are now aliases of FigureManagerBase +-------------------------------------------------------------------------- + +The `FigureManagerPdf`, `FigureManagerPS`, and `FigureManagerSVG` classes, +which were previously empty subclasses of `FigureManagerBase` (i.e., not +adding or overriding any attribute or method), are now direct aliases for +`FigureManagerBase`. + + +Change to the output of `.image.thumbnail` +------------------------------------------ + +When called with ``preview=False``, ``image.thumbnail`` previously returned an +figure whose canvas class was set according to the output file extension. It +now returns a figure whose canvas class is the base `FigureCanvasBase` (and +relies on `FigureCanvasBase.print_figure`) to handle the canvas switching +properly). + +As a side effect of this change, `image.thumbnail` now also supports .ps, .eps, +and .svgz output. + + +Removed proprietary sphinx directives +------------------------------------- + +The matplotlib documentation used the proprietary sphinx directives +`.. htmlonly::`, and `.. latexonly::`. These have been replaced with the +standard sphinx directives `.. only:: html` and `.. only:: latex`. This +change will not affect any users. Only downstream package maintainers, who +have used the proprietary directives in their docs, will have to switch to the +sphinx directives. + + +`.FuncAnimation` now draws artists according to their zorder when blitting +-------------------------------------------------------------------------- + +`.FuncAnimation` now draws artists returned by the user- +function according to their zorder when using blitting, +instead of using the order in which they are being passed. +However, note that only zorder of passed artists will be +respected, as they are drawn on top of any existing artists +(see `#11369 <https://github.com/matplotlib/matplotlib/issues/11369>`_). + +Contour color autoscaling improvements +-------------------------------------- + +Selection of contour levels is now the same for contour and +contourf; previously, for contour, levels outside the data range were +deleted. (Exception: if no contour levels are found within the +data range, the `levels` attribute is replaced with a list holding +only the minimum of the data range.) + +When contour is called with levels specified as a target number rather +than a list, and the 'extend' kwarg is used, the levels are now chosen +such that some data typically will fall in the extended range. + +When contour is called with a `LogNorm` or a `LogLocator`, it will now +select colors using the geometric mean rather than the arithmetic mean +of the contour levels. + + +Streamplot last row and column fixed +------------------------------------ + +A bug was fixed where the last row and column of data in +`~.Axes.axes.streamplot` were being dropped. + + +Changes to backend loading +-------------------------- + +Failure to load backend modules (``macosx`` on non-framework builds and +``gtk3`` when running headless) now raises `ImportError` (instead of +`RuntimeError` and `TypeError`, respectively. + +Third-party backends that integrate with an interactive framework are now +encouraged to define the ``required_interactive_framework`` global value to one +of the following values: "qt5", "qt4", "gtk3", "wx", "tk", or "macosx". This +information will be used to determine whether it is possible to switch from a +backend to another (specifically, whether they use the same interactive +framework). + + +Changed default `AutoDateLocator` kwarg ``interval_multiples`` to ``True`` +-------------------------------------------------------------------------- + +The default value of the tick locator for dates, `.dates.AutoDateLocator` +kwarg ``interval_multiples`` was set to ``False`` which leads to not-nice +looking automatic ticks in many instances. The much nicer +``interval_multiples=True`` is the new default. See below to get the +old behavior back: + + .. plot:: + + import matplotlib.pyplot as plt + import datetime + import matplotlib.dates as mdates + + t0 = datetime.datetime(2009, 8, 20, 1, 10, 12) + tf = datetime.datetime(2009, 8, 20, 1, 42, 11) + + + fig, axs = plt.subplots(1, 2, constrained_layout=True) + ax = axs[0] + ax.axhspan(t0, tf, facecolor="blue", alpha=0.25) + ax.set_ylim(t0 - datetime.timedelta(minutes=3), + tf + datetime.timedelta(minutes=3)) + ax.set_title('NEW DEFAULT') + + ax = axs[1] + ax.axhspan(t0, tf, facecolor="blue", alpha=0.25) + ax.set_ylim(t0 - datetime.timedelta(minutes=3), + tf + datetime.timedelta(minutes=3)) + # old behavior + locator = mdates.AutoDateLocator(interval_multiples=False, ) + ax.yaxis.set_major_locator(locator) + ax.yaxis.set_major_formatter(mdates.AutoDateFormatter(locator)) + + ax.set_title('OLD') + plt.show() + + +`.Axes.get_position` now returns actual position if aspect changed +------------------------------------------------------------------ + +`.Axes.get_position` used to return the original position unless a +draw had been triggered or `.Axes.apply_aspect` had been called, even +if the kwarg *original* was set to *False*. Now `.Axes.apply_aspect` +is called so ``ax.get_position()`` will return the new modified position. +To get the old behaviour, ``ax.get_position(original=True)``. + + +The ticks for colorbar now adjust for the size of the colorbar +-------------------------------------------------------------- + +Colorbar ticks now adjust for the size of the colorbar if the +colorbar is made from a mappable that is not a contour or +doesn't have a BoundaryNorm, or boundaries are not specified. +If boundaries, etc are specified, the colorbar maintains the +original behaviour. + + +Deprecations +------------ + +`.Legend.draggable()` is drepecated in favor of `.Legend.set_draggable()`. +``Legend.draggable`` may be reintroduced as a property in future releases. + API Changes in 2.2.0 ==================== diff --git a/doc/api/api_changes/2017-11-25-JMK.rst b/doc/api/api_changes/2017-11-25-JMK.rst deleted file mode 100644 index 333e7c29b8d6..000000000000 --- a/doc/api/api_changes/2017-11-25-JMK.rst +++ /dev/null @@ -1,8 +0,0 @@ -`.Axes.get_position` now returns actual position if aspect changed ------------------------------------------------------------------- - -`.Axes.get_position` used to return the original position unless a -draw had been triggered or `.Axes.apply_aspect` had been called, even -if the kwarg *original* was set to *False*. Now `.Axes.apply_aspect` -is called so ``ax.get_position()`` will return the new modified position. -To get the old behaviour, ``ax.get_position(original=True)``. diff --git a/doc/api/api_changes/2017-12-01-JMK.rst b/doc/api/api_changes/2017-12-01-JMK.rst deleted file mode 100644 index a6c8c72a2fae..000000000000 --- a/doc/api/api_changes/2017-12-01-JMK.rst +++ /dev/null @@ -1,8 +0,0 @@ -The ticks for colorbar now adjust for the size of the colorbar --------------------------------------------------------------- - -Colorbar ticks now adjust for the size of the colorbar if the -colorbar is made from a mappable that is not a contour or -doesn't have a BoundaryNorm, or boundaries are not specified. -If boundaries, etc are specified, the colorbar maintains the -original behaviour. diff --git a/doc/api/api_changes/2017-12-20-TH.rst b/doc/api/api_changes/2017-12-20-TH.rst deleted file mode 100644 index 032f81a0e738..000000000000 --- a/doc/api/api_changes/2017-12-20-TH.rst +++ /dev/null @@ -1,5 +0,0 @@ -Deprecations ------------- - -`.Legend.draggable()` is drepecated in favor of `.Legend.set_draggable()`. -``Legend.draggable`` may be reintroduced as a property in future releases. \ No newline at end of file diff --git a/doc/api/next_api_changes/2017-12-12-JMK.rst b/doc/api/next_api_changes/2017-12-12-JMK.rst deleted file mode 100644 index ff7af6595872..000000000000 --- a/doc/api/next_api_changes/2017-12-12-JMK.rst +++ /dev/null @@ -1,7 +0,0 @@ -`.Axes.hist2d` now uses `~.Axes.pcolormesh` instead of `~.Axes.pcolorfast` --------------------------------------------------------------------------- - -`.Axes.hist2d` now uses `~.Axes.pcolormesh` instead of `~.Axes.pcolorfast`, -which will improve the handling of log-axes. Note that the -returned *image* now is of type `~.matplotlib.collections.QuadMesh` -instead of `~.matplotlib.image.AxesImage`. diff --git a/doc/api/next_api_changes/2018-02-07-JMK.rst b/doc/api/next_api_changes/2018-02-07-JMK.rst deleted file mode 100644 index 3a98bb67e5ad..000000000000 --- a/doc/api/next_api_changes/2018-02-07-JMK.rst +++ /dev/null @@ -1,9 +0,0 @@ -`Text.set_text` with string argument ``None`` sets string to empty ------------------------------------------------------------------- - -`Text.set_text` when passed a string value of ``None`` would set the -string to ``"None"``, so subsequent calls to `Text.get_text` would return -the ambiguous ``"None"`` string. - -This change sets text objects passed ``None`` to have empty strings, so that -`Text.get_text` returns and an empty string. diff --git a/doc/api/next_api_changes/2018-02-15-DS.rst b/doc/api/next_api_changes/2018-02-15-DS.rst deleted file mode 100644 index a8634d3dfc79..000000000000 --- a/doc/api/next_api_changes/2018-02-15-DS.rst +++ /dev/null @@ -1,7 +0,0 @@ -Deprecated methods removed from `matplotlib.testing` ----------------------------------------------------- - -The deprecated methods `knownfailureif` and `remove_text` have been removed -from :mod:`matplotlib.testing.decorators`. - -The entire contents of `testing.noseclasses` have also been removed. diff --git a/doc/api/next_api_changes/2018-02-15-ES.rst b/doc/api/next_api_changes/2018-02-15-ES.rst deleted file mode 100644 index 0deebc5b140f..000000000000 --- a/doc/api/next_api_changes/2018-02-15-ES.rst +++ /dev/null @@ -1,6 +0,0 @@ -matplotlib.cbook.Bunch deprecated ---------------------------------- - -The ``matplotlib.cbook.Bunch`` class has been deprecated. Instead, use -`types.SimpleNamespace` from the standard library which provides the same -functionality. diff --git a/doc/api/next_api_changes/2018-02-16-ES-removals.rst b/doc/api/next_api_changes/2018-02-16-ES-removals.rst deleted file mode 100644 index a9558b0f3090..000000000000 --- a/doc/api/next_api_changes/2018-02-16-ES-removals.rst +++ /dev/null @@ -1,9 +0,0 @@ -Removal of deprecated backends ------------------------------- - -Deprecated backends have been removed: - - * GTKAgg - * GTKCairo - * GTK - * GDK diff --git a/doc/api/next_api_changes/2018-02-20-DS-hold.rst b/doc/api/next_api_changes/2018-02-20-DS-hold.rst deleted file mode 100644 index 6e75643adf7b..000000000000 --- a/doc/api/next_api_changes/2018-02-20-DS-hold.rst +++ /dev/null @@ -1,7 +0,0 @@ -Hold machinery removed ----------------------- - -Setting or unsetting ``hold`` (deprecated in version 2.1) has now -been completely removed. Matplotlib now always behaves as if ``hold=True``. -To clear an axes you can manually use :meth:`~.axes.Axes.cla()`, -or to clear an entire figure use :meth:`~.figure.Figure.clf()`. diff --git a/doc/api/next_api_changes/2018-02-21-AL.rst b/doc/api/next_api_changes/2018-02-21-AL.rst deleted file mode 100644 index 6087b7c67530..000000000000 --- a/doc/api/next_api_changes/2018-02-21-AL.rst +++ /dev/null @@ -1,5 +0,0 @@ -``Axes3D.get_xlim``, ``get_ylim`` and ``get_zlim`` now return a tuple ---------------------------------------------------------------------- - -They previously returned an array. Returning a tuple is consistent with the -behavior for 2D axes. diff --git a/doc/api/next_api_changes/2018-02-26-AL-removals.rst b/doc/api/next_api_changes/2018-02-26-AL-removals.rst deleted file mode 100644 index cef1b3932613..000000000000 --- a/doc/api/next_api_changes/2018-02-26-AL-removals.rst +++ /dev/null @@ -1,52 +0,0 @@ -Modified APIs -------------- - -The following APIs have been modified: - -- ``Axes.mouseover_set`` is now a frozenset, and deprecated. Directly - manipulate the artist's ``.mouseover`` attribute to change their mouseover - status. - -Removal of deprecated APIs --------------------------- - -The following deprecated API elements have been removed: - -- ``matplotlib.checkdep_tex``, ``matplotlib.checkdep_xmllint``, -- ``backend_bases.IdleEvent``, -- ``cbook.converter``, ``cbook.tostr``, ``cbook.todatetime``, ``cbook.todate``, - ``cbook.tofloat``, ``cbook.toint``, ``cbook.unique``, - ``cbook.is_string_like``, ``cbook.is_sequence_of_strings``, - ``cbook.is_scalar``, ``cbook.soundex``, ``cbook.dict_delall``, - ``cbook.get_split_ind``, ``cbook.wrap``, ``cbook.get_recursive_filelist``, - ``cbook.pieces``, ``cbook.exception_to_str``, ``cbook.allequal``, - ``cbook.alltrue``, ``cbook.onetrue``, ``cbook.allpairs``, ``cbook.finddir``, - ``cbook.reverse_dict``, ``cbook.restrict_dict``, ``cbook.issubclass_safe``, - ``cbook.recursive_remove``, ``cbook.unmasked_index_ranges``, - ``cbook.Null``, ``cbook.RingBuffer``, ``cbook.Sorter``, ``cbook.Xlator``, -- ``font_manager.weight_as_number``, ``font_manager.ttfdict_to_fnames``, -- ``pyplot.colors``, ``pyplot.spectral``, -- ``rcsetup.validate_negative_linestyle``, - ``rcsetup.validate_negative_linestyle_legacy``, -- ``testing.compare.verifiers``, ``testing.compare.verify``, -- ``testing.decorators.knownfailureif``, - ``testing.decorators.ImageComparisonTest.remove_text``, -- ``tests.assert_str_equal``, ``tests.test_tinypages.file_same``, -- ``texmanager.dvipng_hack_alpha``, -- ``_AxesBase.axesPatch``, ``_AxesBase.set_color_cycle``, - ``_AxesBase.get_cursor_props``, ``_AxesBase.set_cursor_props``, -- ``_ImageBase.iterpnames``, -- ``FigureCanvasBase.start_event_loop_default``; -- ``FigureCanvasBase.stop_event_loop_default``; -- ``Figure.figurePatch``, -- ``FigureCanvasBase.dynamic_update``, ``FigureCanvasBase.idle_event``, - ``FigureCanvasBase.get_linestyle``, ``FigureCanvasBase.set_linestyle``, -- ``FigureCanvasQTAgg.blitbox``, -- passing non-numbers to ``EngFormatter.format_eng``, -- passing ``frac`` to ``PolarAxes.set_theta_grids``, -- any mention of idle events, - -The following API elements have been removed: - -- ``backend_cairo.HAS_CAIRO_CFFI``, -- ``sphinxext.sphinx_version``, diff --git a/doc/api/next_api_changes/2018-03-23-AL.rst b/doc/api/next_api_changes/2018-03-23-AL.rst deleted file mode 100644 index 68490caa4ede..000000000000 --- a/doc/api/next_api_changes/2018-03-23-AL.rst +++ /dev/null @@ -1,4 +0,0 @@ -``font_manager.list_fonts`` now follows the platform's casefolding semantics ----------------------------------------------------------------------------- - -i.e., it behaves case-insensitively on Windows only. diff --git a/doc/api/next_api_changes/2018-04-20-AL.rst b/doc/api/next_api_changes/2018-04-20-AL.rst deleted file mode 100644 index 3e1d5c80fde5..000000000000 --- a/doc/api/next_api_changes/2018-04-20-AL.rst +++ /dev/null @@ -1,5 +0,0 @@ -``bar``/``barh`` no longer accepts ``left``/``bottom`` as first named argument ------------------------------------------------------------------------------- - -These arguments were renamed in 2.0 to ``x``/``y`` following the change of the -default alignment from ``edge`` to ``center``. diff --git a/doc/api/next_api_changes/2018-04-22-AL.rst b/doc/api/next_api_changes/2018-04-22-AL.rst deleted file mode 100644 index cbc856f397e9..000000000000 --- a/doc/api/next_api_changes/2018-04-22-AL.rst +++ /dev/null @@ -1,8 +0,0 @@ -Deprecation of certain marker styles ------------------------------------- - -Using ``(n, 3)`` as marker style to specify a circle marker is deprecated. Use -``"o"`` instead. - -Using ``([(x0, y0), (x1, y1), ...], 0)`` as marker style to specify a custom -marker path is deprecated. Use ``[(x0, y0), (x1, y1), ...]`` instead. diff --git a/doc/api/next_api_changes/2018-04-22-ZHD.rst b/doc/api/next_api_changes/2018-04-22-ZHD.rst deleted file mode 100644 index 9b519ab9e88b..000000000000 --- a/doc/api/next_api_changes/2018-04-22-ZHD.rst +++ /dev/null @@ -1,14 +0,0 @@ -Different exception types for undocumented options --------------------------------------------------- - -- Passing ``style='comma'`` to :meth:`~matplotlib.axes.Axes.ticklabel_format` - was never supported. It now raises ``ValueError`` like all other - unsupported styles, rather than ``NotImplementedError``. - -- Passing the undocumented ``xmin`` or ``xmax`` arguments to - :meth:`~matplotlib.axes.Axes.set_xlim` would silently override the ``left`` - and ``right`` arguments. :meth:`~matplotlib.axes.Axes.set_ylim` and the - 3D equivalents (e.g. :meth:`~mpl_toolkits.axes.Axes3D.set_zlim3d`) had a - corresponding problem. - The ``_min`` and ``_max`` arguments are now deprecated, and a ``TypeError`` - will be raised if they would override the earlier limit arguments. diff --git a/doc/api/next_api_changes/2018-04-29-ZHD.rst b/doc/api/next_api_changes/2018-04-29-ZHD.rst deleted file mode 100644 index e93c89965749..000000000000 --- a/doc/api/next_api_changes/2018-04-29-ZHD.rst +++ /dev/null @@ -1,13 +0,0 @@ -Improved call signature for Axes.margins() ------------------------------------------- - -:meth:`matplotlib.axes.Axes.margins` and :meth:`mpl_toolkits.mplot3d.Axes3D.margins` -no longer accept arbitrary keywords. ``TypeError`` will therefore be raised -if unknown kwargs are passed; previously they would be silently ignored. - -If too many positional arguments are passed, ``TypeError`` will be raised -instead of ``ValueError``, for consistency with other call-signature violations. - -``Axes3D.margins`` now raises ``TypeError`` instead of emitting a deprecation -warning if only two positional arguments are passed. To supply only ``x`` and -``y`` margins, use keyword arguments. diff --git a/doc/api/next_api_changes/2018-04-30-AL.rst b/doc/api/next_api_changes/2018-04-30-AL.rst deleted file mode 100644 index 84aefd954d7a..000000000000 --- a/doc/api/next_api_changes/2018-04-30-AL.rst +++ /dev/null @@ -1,7 +0,0 @@ -Remove lib/mpl_examples ------------------------ - -The symlink from lib/mpl_examples to ../examples has been removed. -This is not installed as an importable package and should not affect -end users, however this may require down-stream packagers to adjust. -The content is still available top-level examples directory. diff --git a/doc/api/next_api_changes/2018-04-30-ZHD.rst b/doc/api/next_api_changes/2018-04-30-ZHD.rst deleted file mode 100644 index ac4c1e71bbf3..000000000000 --- a/doc/api/next_api_changes/2018-04-30-ZHD.rst +++ /dev/null @@ -1,13 +0,0 @@ -Explicit arguments instead of \*args, \*\*kwargs ------------------------------------------------- - -:PEP:`3102` describes keyword-only arguments, which allow Matplotlib -to provide explicit call signatures - where we previously used -``*args, **kwargs`` and ``kwargs.pop``, we can now expose named -arguments. In some places, unknown kwargs were previously ignored but -now raise ``TypeError`` because ``**kwargs`` has been removed. - -- :meth:`matplotlib.axes.Axes.stem` no longer accepts unknown keywords, - and raises ``TypeError`` instead of emitting a deprecation. -- :meth:`mpl_toolkits.axes_grid1.axes_divider.SubPlotDivider` raises - ``TypeError`` instead of ``Exception`` when passed unknown kwargs. diff --git a/doc/api/next_api_changes/2018-05-06-ZHD.rst b/doc/api/next_api_changes/2018-05-06-ZHD.rst deleted file mode 100644 index 61a8886c4890..000000000000 --- a/doc/api/next_api_changes/2018-05-06-ZHD.rst +++ /dev/null @@ -1,7 +0,0 @@ -Consistent handling of \*args in Axes.stem ------------------------------------------- - -:meth:`matplotlib.axex.Axes.stem` now raises TypeError when passed -unhandled positional arguments. If two or more arguments are passed -(ie X, Y, [linefmt], ...) and Y cannot be cast to an array, an error -will be raised instead of treating X as Y and Y as linefmt. diff --git a/doc/api/next_api_changes/2018-05-16-TH.rst b/doc/api/next_api_changes/2018-05-16-TH.rst deleted file mode 100644 index 3576ab427160..000000000000 --- a/doc/api/next_api_changes/2018-05-16-TH.rst +++ /dev/null @@ -1,7 +0,0 @@ -``matplotlib.cbook.deprecation.mplDeprecation`` is deprecated -------------------------------------------------------------- - -:class:`matplotlib.cbook.deprecation.mplDeprecation` will be removed in -future versions. It is just an alias for -:class:`matplotlib.cbook.deprecation.MatplotlibDeprecationWarning`. -Please use the :class:`~.MatplotlibDeprecationWarning` directly if neccessary. diff --git a/doc/api/next_api_changes/2018-05-22-AL.rst b/doc/api/next_api_changes/2018-05-22-AL.rst deleted file mode 100644 index 1c8b7adcdf28..000000000000 --- a/doc/api/next_api_changes/2018-05-22-AL.rst +++ /dev/null @@ -1,4 +0,0 @@ -The cleanup decorators and test classes in matplotlib.testing.decorators no longer destroy the warnings filter on exit -`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` -Instead, they restore the warnings filter that existed before the test started -using ``warnings.catch_warnings``. diff --git a/doc/api/next_api_changes/2018-05-25-AL.rst b/doc/api/next_api_changes/2018-05-25-AL.rst deleted file mode 100644 index cc461c69c61a..000000000000 --- a/doc/api/next_api_changes/2018-05-25-AL.rst +++ /dev/null @@ -1,7 +0,0 @@ -Non-interactive FigureManager classes are now aliases of FigureManagerBase -`````````````````````````````````````````````````````````````````````````` - -The `FigureManagerPdf`, `FigureManagerPS`, and `FigureManagerSVG` classes, -which were previously empty subclasses of `FigureManagerBase` (i.e., not -adding or overriding any attribute or method), are now direct aliases for -`FigureManagerBase`. diff --git a/doc/api/next_api_changes/2018-05-26-AL.rst b/doc/api/next_api_changes/2018-05-26-AL.rst deleted file mode 100644 index 05a8b3b72bb5..000000000000 --- a/doc/api/next_api_changes/2018-05-26-AL.rst +++ /dev/null @@ -1,11 +0,0 @@ -Change to the output of `.image.thumbnail` -`````````````````````````````````````````` - -When called with ``preview=False``, ``image.thumbnail`` previously returned an -figure whose canvas class was set according to the output file extension. It -now returns a figure whose canvas class is the base `FigureCanvasBase` (and -relies on `FigureCanvasBase.print_figure`) to handle the canvas switching -properly). - -As a side effect of this change, `image.thumbnail` now also supports .ps, .eps, -and .svgz output. diff --git a/doc/api/next_api_changes/2018-05-26-TH.rst b/doc/api/next_api_changes/2018-05-26-TH.rst deleted file mode 100644 index 8c5352bab062..000000000000 --- a/doc/api/next_api_changes/2018-05-26-TH.rst +++ /dev/null @@ -1,9 +0,0 @@ -Removed proprietary sphinx directives -------------------------------------- - -The matplotlib documentation used the proprietary sphinx directives -`.. htmlonly::`, and `.. latexonly::`. These have been replaced with the -standard sphinx directives `.. only:: html` and `.. only:: latex`. This -change will not affect any users. Only downstream package maintainers, who -have used the proprietary directives in their docs, will have to switch to the -sphinx directives. diff --git a/doc/api/next_api_changes/2018-06-03-JD-funcani-zorder.rst b/doc/api/next_api_changes/2018-06-03-JD-funcani-zorder.rst deleted file mode 100644 index 95e52e7db727..000000000000 --- a/doc/api/next_api_changes/2018-06-03-JD-funcani-zorder.rst +++ /dev/null @@ -1,9 +0,0 @@ -`.FuncAnimation` now draws artists according to their zorder when blitting --------------------------------------------------------------------------- - -`.FuncAnimation` now draws artists returned by the user- -function according to their zorder when using blitting, -instead of using the order in which they are being passed. -However, note that only zorder of passed artists will be -respected, as they are drawn on top of any existing artists -(see `#11369 <https://github.com/matplotlib/matplotlib/issues/11369>`_). \ No newline at end of file diff --git a/doc/api/next_api_changes/2018-06-09-EF-contour_levels.rst b/doc/api/next_api_changes/2018-06-09-EF-contour_levels.rst deleted file mode 100644 index 9e18dbbe8cb6..000000000000 --- a/doc/api/next_api_changes/2018-06-09-EF-contour_levels.rst +++ /dev/null @@ -1,16 +0,0 @@ -Contour color autoscaling improvements --------------------------------------- - -Selection of contour levels is now the same for contour and -contourf; previously, for contour, levels outside the data range were -deleted. (Exception: if no contour levels are found within the -data range, the `levels` attribute is replaced with a list holding -only the minimum of the data range.) - -When contour is called with levels specified as a target number rather -than a list, and the 'extend' kwarg is used, the levels are now chosen -such that some data typically will fall in the extended range. - -When contour is called with a `LogNorm` or a `LogLocator`, it will now -select colors using the geometric mean rather than the arithmetic mean -of the contour levels. diff --git a/doc/api/next_api_changes/2018-06-24-PM-JMK.rst b/doc/api/next_api_changes/2018-06-24-PM-JMK.rst deleted file mode 100644 index 0044c8b13a15..000000000000 --- a/doc/api/next_api_changes/2018-06-24-PM-JMK.rst +++ /dev/null @@ -1,5 +0,0 @@ -Streamplot last row and column fixed ------------------------------------- - -A bug was fixed where the last row and column of data in -`~.Axes.axes.streamplot` were being dropped. diff --git a/doc/api/next_api_changes/2018-06-27-AL.rst b/doc/api/next_api_changes/2018-06-27-AL.rst deleted file mode 100644 index 51a8171bf02d..000000000000 --- a/doc/api/next_api_changes/2018-06-27-AL.rst +++ /dev/null @@ -1,13 +0,0 @@ -Changes to backend loading -`````````````````````````` - -Failure to load backend modules (``macosx`` on non-framework builds and -``gtk3`` when running headless) now raises `ImportError` (instead of -`RuntimeError` and `TypeError`, respectively. - -Third-party backends that integrate with an interactive framework are now -encouraged to define the ``required_interactive_framework`` global value to one -of the following values: "qt5", "qt4", "gtk3", "wx", "tk", or "macosx". This -information will be used to determine whether it is possible to switch from a -backend to another (specifically, whether they use the same interactive -framework). diff --git a/doc/api/next_api_changes/2018-07-02-JMK.rst b/doc/api/next_api_changes/2018-07-02-JMK.rst deleted file mode 100644 index 20f591fbd69b..000000000000 --- a/doc/api/next_api_changes/2018-07-02-JMK.rst +++ /dev/null @@ -1,37 +0,0 @@ -Changed default `AutoDateLocator` kwarg ``interval_multiples`` to ``True`` --------------------------------------------------------------------------- - -The default value of the tick locator for dates, `.dates.AutoDateLocator` -kwarg ``interval_multiples`` was set to ``False`` which leads to not-nice -looking automatic ticks in many instances. The much nicer -``interval_multiples=True`` is the new default. See below to get the -old behavior back: - - .. plot:: - - import matplotlib.pyplot as plt - import datetime - import matplotlib.dates as mdates - - t0 = datetime.datetime(2009, 8, 20, 1, 10, 12) - tf = datetime.datetime(2009, 8, 20, 1, 42, 11) - - - fig, axs = plt.subplots(1, 2, constrained_layout=True) - ax = axs[0] - ax.axhspan(t0, tf, facecolor="blue", alpha=0.25) - ax.set_ylim(t0 - datetime.timedelta(minutes=3), - tf + datetime.timedelta(minutes=3)) - ax.set_title('NEW DEFAULT') - - ax = axs[1] - ax.axhspan(t0, tf, facecolor="blue", alpha=0.25) - ax.set_ylim(t0 - datetime.timedelta(minutes=3), - tf + datetime.timedelta(minutes=3)) - # old behavior - locator = mdates.AutoDateLocator(interval_multiples=False, ) - ax.yaxis.set_major_locator(locator) - ax.yaxis.set_major_formatter(mdates.AutoDateFormatter(locator)) - - ax.set_title('OLD') - plt.show() From 5257c4f2326286dfa5bfa244613c9d31c8cf0b99 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Wed, 23 Aug 2017 19:57:23 -0700 Subject: [PATCH 0954/1161] Require calling a _BoundMethodProxy to get the underlying callable. Code that used to call `_proxy(...)` now needs to call `_proxy()(...)`. Instead of catching a ReferenceError, that could be either raised by a failure to dereference the proxy, or by the underlying callable, one can now check that `_proxy()` does not return None (to distinguish between the two cases). This is the same design as the stdlib's WeakMethod. --- .../2018-05-06-AL-callbackregistry.rst | 6 + lib/matplotlib/cbook/__init__.py | 173 +++++------------- 2 files changed, 54 insertions(+), 125 deletions(-) create mode 100644 doc/api/next_api_changes/2018-05-06-AL-callbackregistry.rst diff --git a/doc/api/next_api_changes/2018-05-06-AL-callbackregistry.rst b/doc/api/next_api_changes/2018-05-06-AL-callbackregistry.rst new file mode 100644 index 000000000000..afbbb76b309f --- /dev/null +++ b/doc/api/next_api_changes/2018-05-06-AL-callbackregistry.rst @@ -0,0 +1,6 @@ +`CallbackRegistry` now stores callbacks using stdlib's `WeakMethod`\s +````````````````````````````````````````````````````````````````````` + +In particular, this implies that ``CallbackRegistry.callbacks[signal]`` is now +a mapping of callback ids to `WeakMethod`\s (i.e., they need to be first called +with no arguments to retrieve the method itself). diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index d32517544ac1..bb4be18edae7 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -26,7 +26,8 @@ import traceback import types import warnings -from weakref import ref, WeakKeyDictionary +import weakref +from weakref import WeakMethod import numpy as np @@ -61,100 +62,26 @@ def unicode_safe(s): return s -class _BoundMethodProxy(object): - """ - Our own proxy object which enables weak references to bound and unbound - methods and arbitrary callables. Pulls information about the function, - class, and instance out of a bound method. Stores a weak reference to the - instance to support garbage collection. +def _exception_printer(exc): + traceback.print_exc() - @organization: IBM Corporation - @copyright: Copyright (c) 2005, 2006 IBM Corporation - @license: The BSD License - Minor bugfixes by Michael Droettboom +class _StrongRef: + """ + Wrapper similar to a weakref, but keeping a strong reference to the object. """ - def __init__(self, cb): - self._hash = hash(cb) - self._destroy_callbacks = [] - try: - try: - self.inst = ref(cb.__self__, self._destroy) - except TypeError: - self.inst = None - self.func = cb.__func__ - self.klass = cb.__self__.__class__ - except AttributeError: - self.inst = None - self.func = cb - self.klass = None - - def add_destroy_callback(self, callback): - self._destroy_callbacks.append(_BoundMethodProxy(callback)) - - def _destroy(self, wk): - for callback in self._destroy_callbacks: - try: - callback(self) - except ReferenceError: - pass - - def __getstate__(self): - d = self.__dict__.copy() - # de-weak reference inst - inst = d['inst'] - if inst is not None: - d['inst'] = inst() - return d - - def __setstate__(self, statedict): - self.__dict__ = statedict - inst = statedict['inst'] - # turn inst back into a weakref - if inst is not None: - self.inst = ref(inst) - - def __call__(self, *args, **kwargs): - """ - Proxy for a call to the weak referenced object. Take - arbitrary params to pass to the callable. - - Raises `ReferenceError`: When the weak reference refers to - a dead object - """ - if self.inst is not None and self.inst() is None: - raise ReferenceError - elif self.inst is not None: - # build a new instance method with a strong reference to the - # instance - mtd = types.MethodType(self.func, self.inst()) + def __init__(self, obj): + self._obj = obj - else: - # not a bound method, just return the func - mtd = self.func - # invoke the callable and return the result - return mtd(*args, **kwargs) + def __call__(self): + return self._obj def __eq__(self, other): - """ - Compare the held function and instance with that held by - another proxy. - """ - try: - if self.inst is None: - return self.func == other.func and other.inst is None - else: - return self.func == other.func and self.inst() == other.inst() - except Exception: - return False + return isinstance(other, _StrongRef) and self._obj == other._obj def __hash__(self): - return self._hash - - -def _exception_printer(exc): - traceback.print_exc() + return hash(self._obj) class CallbackRegistry(object): @@ -179,20 +106,13 @@ class CallbackRegistry(object): >>> callbacks.disconnect(id_eat) >>> callbacks.process('eat', 456) # nothing will be called - In practice, one should always disconnect all callbacks when they - are no longer needed to avoid dangling references (and thus memory - leaks). However, real code in matplotlib rarely does so, and due - to its design, it is rather difficult to place this kind of code. - To get around this, and prevent this class of memory leaks, we - instead store weak references to bound methods only, so when the - destination object needs to die, the CallbackRegistry won't keep - it alive. The Python stdlib weakref module can not create weak - references to bound methods directly, so we need to create a proxy - object to handle weak references to bound methods (or regular free - functions). This technique was shared by Peter Parente on his - `"Mindtrove" blog - <http://mindtrove.info/python-weak-references/>`_. - + In practice, one should always disconnect all callbacks when they are + no longer needed to avoid dangling references (and thus memory leaks). + However, real code in Matplotlib rarely does so, and due to its design, + it is rather difficult to place this kind of code. To get around this, + and prevent this class of memory leaks, we instead store weak references + to bound methods only, so when the destination object needs to die, the + CallbackRegistry won't keep it alive. Parameters ---------- @@ -211,12 +131,17 @@ def handler(exc: Exception) -> None: def h(exc): traceback.print_exc() - """ + + # We maintain two mappings: + # callbacks: signal -> {cid -> callback} + # _func_cid_map: signal -> {callback -> cid} + # (actually, callbacks are weakrefs to the actual callbacks). + def __init__(self, exception_handler=_exception_printer): self.exception_handler = exception_handler - self.callbacks = dict() - self._cid = 0 + self.callbacks = {} + self._cid_gen = itertools.count() self._func_cid_map = {} # In general, callbacks may not be pickled; thus, we simply recreate an @@ -236,18 +161,17 @@ def __setstate__(self, state): def connect(self, s, func): """Register *func* to be called when signal *s* is generated. """ - self._func_cid_map.setdefault(s, WeakKeyDictionary()) - # Note proxy not needed in python 3. - # TODO rewrite this when support for python2.x gets dropped. - proxy = _BoundMethodProxy(func) + self._func_cid_map.setdefault(s, {}) + try: + proxy = WeakMethod(func, self._remove_proxy) + except TypeError: + proxy = _StrongRef(func) if proxy in self._func_cid_map[s]: return self._func_cid_map[s][proxy] - proxy.add_destroy_callback(self._remove_proxy) - self._cid += 1 - cid = self._cid + cid = next(self._cid_gen) self._func_cid_map[s][proxy] = cid - self.callbacks.setdefault(s, dict()) + self.callbacks.setdefault(s, {}) self.callbacks[s][cid] = proxy return cid @@ -257,7 +181,6 @@ def _remove_proxy(self, proxy): del self.callbacks[signal][proxies[proxy]] except KeyError: pass - if len(self.callbacks[signal]) == 0: del self.callbacks[signal] del self._func_cid_map[signal] @@ -284,12 +207,11 @@ def process(self, s, *args, **kwargs): All of the functions registered to receive callbacks on *s* will be called with ``*args`` and ``**kwargs``. """ - if s in self.callbacks: - for cid, proxy in list(self.callbacks[s].items()): + for cid, ref in list(self.callbacks.get(s, {}).items()): + func = ref() + if func is not None: try: - proxy(*args, **kwargs) - except ReferenceError: - self._remove_proxy(proxy) + func(*args, **kwargs) # this does not capture KeyboardInterrupt, SystemExit, # and GeneratorExit except Exception as exc: @@ -978,10 +900,10 @@ class Grouper(object): """ def __init__(self, init=()): - self._mapping = {ref(x): [ref(x)] for x in init} + self._mapping = {weakref.ref(x): [weakref.ref(x)] for x in init} def __contains__(self, item): - return ref(item) in self._mapping + return weakref.ref(item) in self._mapping def clean(self): """Clean dead weak references from the dictionary.""" @@ -996,10 +918,10 @@ def join(self, a, *args): Join given arguments into the same set. Accepts one or more arguments. """ mapping = self._mapping - set_a = mapping.setdefault(ref(a), [ref(a)]) + set_a = mapping.setdefault(weakref.ref(a), [weakref.ref(a)]) for arg in args: - set_b = mapping.get(ref(arg), [ref(arg)]) + set_b = mapping.get(weakref.ref(arg), [weakref.ref(arg)]) if set_b is not set_a: if len(set_b) > len(set_a): set_a, set_b = set_b, set_a @@ -1012,13 +934,14 @@ def join(self, a, *args): def joined(self, a, b): """Returns True if *a* and *b* are members of the same set.""" self.clean() - return self._mapping.get(ref(a), object()) is self._mapping.get(ref(b)) + return (self._mapping.get(weakref.ref(a), object()) + is self._mapping.get(weakref.ref(b))) def remove(self, a): self.clean() - set_a = self._mapping.pop(ref(a), None) + set_a = self._mapping.pop(weakref.ref(a), None) if set_a: - set_a.remove(ref(a)) + set_a.remove(weakref.ref(a)) def __iter__(self): """ @@ -1034,7 +957,7 @@ def __iter__(self): def get_siblings(self, a): """Returns all of the items joined with *a*, including itself.""" self.clean() - siblings = self._mapping.get(ref(a), [ref(a)]) + siblings = self._mapping.get(weakref.ref(a), [weakref.ref(a)]) return [x() for x in siblings] From 5c455cff10845381856f1fb8d0989e1eaa9f2a28 Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Tue, 10 Jul 2018 08:40:04 -0700 Subject: [PATCH 0955/1161] Clean up what's new --- doc/users/whats_new.rst | 60 ++++++++++++++++++++++------------------- 1 file changed, 32 insertions(+), 28 deletions(-) diff --git a/doc/users/whats_new.rst b/doc/users/whats_new.rst index 5608877c7c5c..967b82a7a8c2 100644 --- a/doc/users/whats_new.rst +++ b/doc/users/whats_new.rst @@ -1,8 +1,8 @@ .. _whats-new: -========================== - What's new in Matplotlib -========================== +============================= + What's new in Matplotlib 3.0 +============================= For a list of all of the issues and pull requests since the last revision, see the :ref:`github-stats`. @@ -26,10 +26,14 @@ Ability to scale axis by a fixed order of magnitude --------------------------------------------------- To scale an axis by a fixed order of magnitude, set the *scilimits* argument of -``Axes.ticklabel_format`` to the same (non-zero) lower and upper limits. Say to scale -the y axis by a million (1e6), use ``ax.ticklabel_format(style='sci', scilimits=(6, 6), axis='y')``. +`.Axes.ticklabel_format` to the same (non-zero) lower and upper limits. Say to scale +the y axis by a million (1e6), use -The behavior of ``scilimits=(0, 0)`` is unchanged. With this setting, matplotlib will adjust +.. code-block:: python + + ax.ticklabel_format(style='sci', scilimits=(6, 6), axis='y') + +The behavior of ``scilimits=(0, 0)`` is unchanged. With this setting, Matplotlib will adjust the order of magnitude depending on the axis values, rather than keeping it fixed. Previously, setting ``scilimits=(m, m)`` was equivalent to setting ``scilimits=(0, 0)``. @@ -39,12 +43,12 @@ Add ``AnchoredDirectionArrows`` feature to mpl_toolkits A new mpl_toolkits class :class:`~mpl_toolkits.axes_grid1.anchored_artists.AnchoredDirectionArrows` -draws a pair of orthogonal arrows to inidcate directions on a 2D plot. A +draws a pair of orthogonal arrows to indicate directions on a 2D plot. A minimal working example takes in the transformation object for the coordinate system (typically ax.transAxes), and arrow labels. There are several optional parameters that can be used to alter layout. For example, the arrow pairs can be rotated and the color can be changed. By default the labels and arrows have -the same color, but the class may also pass arguments for costumizing arrow +the same color, but the class may also pass arguments for customizing arrow and text layout, these are passed to :class:`matplotlib.text.TextPath` and `matplotlib.patches.FancyArrowPatch`. Location, length and width for both arrow tail and head can be adjusted, the the direction arrows and labels can @@ -54,20 +58,20 @@ have a frame. Padding and separation parameters can be adjusted. Add ``minorticks_on()/off()`` methods for colorbar -------------------------------------------------- -A new method :meth:`.Colobar.minorticks_on` is -introduced to correctly display minor ticks on the colorbar. This method +A new method :meth:`.colorbar.Colobar.minorticks_on` has been added +to correctly display minor ticks on a colorbar. This method doesn't allow the minor ticks to extend into the regions beyond vmin and vmax when the extend `kwarg` (used while creating the colorbar) is set to 'both', 'max' or 'min'. -A complementary method :meth:`.Colobar.minorticks_off` -is introduced to remove the minor ticks on the colorbar. +A complementary method :meth:`.colorbar.Colobar.minorticks_off` +has also been added to remove the minor ticks on the colorbar. Colorbar ticks can now be automatic ----------------------------------- -The number of ticks on colorbars was appropriate for a large colorbar, but -looked bad if the colorbar was made smaller (i.e. via the ``shrink`` kwarg). +The number of ticks placed on colorbars was previously appropriate for a large +colorbar, but looked bad if the colorbar was made smaller (i.e. via the ``shrink`` kwarg). This has been changed so that the number of ticks is now responsive to how large the colorbar is. @@ -75,16 +79,16 @@ large the colorbar is. Cyclic colormaps ---------------- -Two new colormaps named 'twilight' and 'twilight_shifted' were added. +Two new colormaps named 'twilight' and 'twilight_shifted' have been added. These colormaps start and end on the same color, and have two symmetric halves with equal lightness, but diverging color. Since they wrap around, they are a good choice for cyclic data such as phase -angles, compass directions, or time of day. Like viridis, twilight is +angles, compass directions, or time of day. Like *viridis*, *twilight* is perceptually uniform and colorblind friendly. -Stop adding a suffix to suggest unique file name ------------------------------------------------- +Don't automatically rename duplicate file names +----------------------------------------------- Previously, when saving a figure to a file using the GUI's save dialog box, if the default filename (based on the @@ -95,11 +99,11 @@ behaviour has been removed. Now if the file name exists on disk, the user is prompted whether or not to overwrite it. This eliminates guesswork, and allows intentional overwriting, especially when the figure name has been -manually set using `fig.canvas.set_window_title()`. +manually set using `.figure.Figure.canvas.set_window_title()`. -Legend now has a title_fontsize kwarg (and rcParam) ---------------------------------------------------- +Legend now has a *title_fontsize* kwarg (and rcParam) +----------------------------------------------------- The title for a `.Figure.legend` and `.Axes.legend` can now have its fontsize set via the ``title_fontsize`` kwarg. There is also a new @@ -109,13 +113,13 @@ the legend title will have the same fontsize as the axes default fontsize :rc:`legend.fontsize`). -Implemented support for axes.prop_cycle property markevery in rcParams ----------------------------------------------------------------------- +Support for axes.prop_cycle property *markevery* in rcParams +------------------------------------------------------------ The Matplotlib ``rcParams`` settings object now supports configuration of the attribute `axes.prop_cycle` with cyclers using the `markevery` Line2D object property. An example of this feature is provided at -`~matplotlib/examples/lines_bars_and_markers/markevery_prop_cycle.py` +`~/matplotlib/examples/lines_bars_and_markers/markevery_prop_cycle.py` Multipage PDF support for pgf backend ------------------------------------- @@ -144,8 +148,8 @@ We acknowledge that the majority of people do not like egg-shaped pies. Therefore, an axes to which a pie chart is plotted will be set to have equal aspect ratio by default. This ensures that the pie appears circular independent on the axes size or units. To revert to the previous behaviour -you may set the axes' aspect to automatic, ax.set_aspect("auto") or -plt.axis("auto"). +set the axes' aspect ratio to automatic by using ``ax.set_aspect("auto")`` or +``plt.axis("auto")``. Add ``ax.get_gridspec`` to `.SubplotBase` ----------------------------------------- @@ -169,8 +173,8 @@ easily get the gridspec that went into making an axes: plt.show() -Axes title will no longer overlap xaxis ---------------------------------------- +Axes titles will no longer overlap xaxis +---------------------------------------- Previously an axes title had to be moved manually if an xaxis overlapped (usually when the xaxis was put on the top of the axes). Now, the title From aa58a366962a1bc2629a9ef10d715eb4b7c463aa Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Tue, 10 Jul 2018 12:50:13 -0700 Subject: [PATCH 0956/1161] DOC: move a couple of GridSpec examples into subplots gallery --- .../gridspec_multicolumn.py | 33 +++++++++++++++++++ .../gridspec_nested.py} | 16 +++++---- examples/userdemo/demo_gridspec02.py | 30 ----------------- 3 files changed, 42 insertions(+), 37 deletions(-) create mode 100644 examples/subplots_axes_and_figures/gridspec_multicolumn.py rename examples/{userdemo/demo_gridspec04.py => subplots_axes_and_figures/gridspec_nested.py} (76%) delete mode 100644 examples/userdemo/demo_gridspec02.py diff --git a/examples/subplots_axes_and_figures/gridspec_multicolumn.py b/examples/subplots_axes_and_figures/gridspec_multicolumn.py new file mode 100644 index 000000000000..29098f5a4548 --- /dev/null +++ b/examples/subplots_axes_and_figures/gridspec_multicolumn.py @@ -0,0 +1,33 @@ +""" +======================================================= +Using Gridspec to make multi-column/row subplot layouts +======================================================= + +`~.matplotlib.gridspec.GridSpec` is a flexible way to layout +subplot grids. Here is an example with a 3x3 grid, and +axes spanning all three columns, two columns, and two rows. + +""" +import matplotlib.pyplot as plt +from matplotlib.gridspec import GridSpec + + +def format_axes(fig): + for i, ax in enumerate(fig.axes): + ax.text(0.5, 0.5, "ax%d" % (i+1), va="center", ha="center") + ax.tick_params(labelbottom=False, labelleft=False) + +fig = plt.figure(constrained_layout=True) + +gs = GridSpec(3, 3, figure=fig) +ax1 = fig.add_subplot(gs[0, :]) +# identical to ax1 = plt.subplot(gs.new_subplotspec((0, 0), colspan=3)) +ax2 = fig.add_subplot(gs[1, :-1]) +ax3 = fig.add_subplot(gs[1:, -1]) +ax4 = fig.add_subplot(gs[-1, 0]) +ax5 = fig.add_subplot(gs[-1, -2]) + +fig.suptitle("GridSpec") +format_axes(fig) + +plt.show() diff --git a/examples/userdemo/demo_gridspec04.py b/examples/subplots_axes_and_figures/gridspec_nested.py similarity index 76% rename from examples/userdemo/demo_gridspec04.py rename to examples/subplots_axes_and_figures/gridspec_nested.py index bb5b3e37757f..e233e643ec68 100644 --- a/examples/userdemo/demo_gridspec04.py +++ b/examples/subplots_axes_and_figures/gridspec_nested.py @@ -1,24 +1,26 @@ """ -=============== -Demo Gridspec04 -=============== +================ +Nested Gridspecs +================ + +GridSpecs can be nested, so that a subplot from a parent GridSpec can +set the position for a nested grid of subplots. """ import matplotlib.pyplot as plt import matplotlib.gridspec as gridspec -def make_ticklabels_invisible(fig): +def format_axes(fig): for i, ax in enumerate(fig.axes): ax.text(0.5, 0.5, "ax%d" % (i+1), va="center", ha="center") ax.tick_params(labelbottom=False, labelleft=False) # gridspec inside gridspec - f = plt.figure() -gs0 = gridspec.GridSpec(1, 2) +gs0 = gridspec.GridSpec(1, 2, figure=f) gs00 = gridspec.GridSpecFromSubplotSpec(3, 3, subplot_spec=gs0[0]) @@ -40,6 +42,6 @@ def make_ticklabels_invisible(fig): f.add_subplot(ax6) plt.suptitle("GridSpec Inside GridSpec") -make_ticklabels_invisible(f) +format_axes(f) plt.show() diff --git a/examples/userdemo/demo_gridspec02.py b/examples/userdemo/demo_gridspec02.py deleted file mode 100644 index 15d75b2c642c..000000000000 --- a/examples/userdemo/demo_gridspec02.py +++ /dev/null @@ -1,30 +0,0 @@ -""" -=============== -Demo Gridspec02 -=============== - -""" -import matplotlib.pyplot as plt -from matplotlib.gridspec import GridSpec - - -def make_ticklabels_invisible(fig): - for i, ax in enumerate(fig.axes): - ax.text(0.5, 0.5, "ax%d" % (i+1), va="center", ha="center") - ax.tick_params(labelbottom=False, labelleft=False) - - -fig = plt.figure() - -gs = GridSpec(3, 3) -ax1 = plt.subplot(gs[0, :]) -# identical to ax1 = plt.subplot(gs.new_subplotspec((0, 0), colspan=3)) -ax2 = plt.subplot(gs[1, :-1]) -ax3 = plt.subplot(gs[1:, -1]) -ax4 = plt.subplot(gs[-1, 0]) -ax5 = plt.subplot(gs[-1, -2]) - -fig.suptitle("GridSpec") -make_ticklabels_invisible(fig) - -plt.show() From 0f9e5f98e4395a1f0be66aeddb941e4322b85a44 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade <quantum.analyst@gmail.com> Date: Tue, 10 Jul 2018 02:34:54 -0400 Subject: [PATCH 0957/1161] Fix incorrect doctest syntax. --- lib/matplotlib/axes/_axes.py | 2 +- lib/matplotlib/dviread.py | 6 +++--- lib/matplotlib/widgets.py | 4 ++-- lib/mpl_toolkits/axes_grid1/anchored_artists.py | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index a7216d709308..9fa6e6650b00 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -1147,7 +1147,7 @@ def plot(self, *args, scalex=True, scaley=True, **kwargs): >>> plot(x, y, 'go--', linewidth=2, markersize=12) >>> plot(x, y, color='green', marker='o', linestyle='dashed', - linewidth=2, markersize=12) + ... linewidth=2, markersize=12) When conflicting with *fmt*, keyword arguments take precedence. diff --git a/lib/matplotlib/dviread.py b/lib/matplotlib/dviread.py index a702f5585bc7..4335802ccfe1 100644 --- a/lib/matplotlib/dviread.py +++ b/lib/matplotlib/dviread.py @@ -177,9 +177,9 @@ class Dvi(object): file upon exit. Pages can be read via iteration. Here is an overly simple way to extract text without trying to detect whitespace:: - >>> with matplotlib.dviread.Dvi('input.dvi', 72) as dvi: - >>> for page in dvi: - >>> print(''.join(chr(t.glyph) for t in page.text)) + >>> with matplotlib.dviread.Dvi('input.dvi', 72) as dvi: + ... for page in dvi: + ... print(''.join(chr(t.glyph) for t in page.text)) """ # dispatch table _dtable = [None] * 256 diff --git a/lib/matplotlib/widgets.py b/lib/matplotlib/widgets.py index 0da7f2cde84b..c8f6411914bf 100644 --- a/lib/matplotlib/widgets.py +++ b/lib/matplotlib/widgets.py @@ -1714,10 +1714,10 @@ class SpanSelector(_SelectorWidget): >>> fig, ax = plt.subplots() >>> ax.plot([1, 2, 3], [10, 50, 100]) >>> def onselect(vmin, vmax): - print(vmin, vmax) + ... print(vmin, vmax) >>> rectprops = dict(facecolor='blue', alpha=0.5) >>> span = mwidgets.SpanSelector(ax, onselect, 'horizontal', - rectprops=rectprops) + ... rectprops=rectprops) >>> fig.show() See also: :doc:`/gallery/widgets/span_selector` diff --git a/lib/mpl_toolkits/axes_grid1/anchored_artists.py b/lib/mpl_toolkits/axes_grid1/anchored_artists.py index 9355247ff157..b66b9446ee77 100644 --- a/lib/mpl_toolkits/axes_grid1/anchored_artists.py +++ b/lib/mpl_toolkits/axes_grid1/anchored_artists.py @@ -505,8 +505,8 @@ def __init__(self, transform, label_x, label_y, length=0.15, -------- >>> import matplotlib.pyplot as plt >>> import numpy as np - >>> from mpl_toolkits.axes_grid1.anchored_artists import \ - ... AnchoredDirectionArrows + >>> from mpl_toolkits.axes_grid1.anchored_artists import ( + ... AnchoredDirectionArrows) >>> fig, ax = plt.subplots() >>> ax.imshow(np.random.random((10,10))) >>> arrows = AnchoredDirectionArrows(ax.transAxes, '111', '110') From ab58befdb731bc281c8165d5ad3a7999c71de208 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade <quantum.analyst@gmail.com> Date: Tue, 10 Jul 2018 02:48:35 -0400 Subject: [PATCH 0958/1161] Cleanup some doctest wrapping. --- lib/matplotlib/ticker.py | 4 ++-- .../axes_grid1/anchored_artists.py | 20 ++++++++++--------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/lib/matplotlib/ticker.py b/lib/matplotlib/ticker.py index 18f8a57acb6f..abac4392dca6 100644 --- a/lib/matplotlib/ticker.py +++ b/lib/matplotlib/ticker.py @@ -1420,9 +1420,9 @@ def tick_values(self, vmin, vmax): automatically for the associated :attr:`axis` simply call the Locator instance:: - >>> print((type(loc))) + >>> print(type(loc)) <type 'Locator'> - >>> print((loc())) + >>> print(loc()) [1, 2, 3, 4] """ diff --git a/lib/mpl_toolkits/axes_grid1/anchored_artists.py b/lib/mpl_toolkits/axes_grid1/anchored_artists.py index b66b9446ee77..c4a04b0e54b3 100644 --- a/lib/mpl_toolkits/axes_grid1/anchored_artists.py +++ b/lib/mpl_toolkits/axes_grid1/anchored_artists.py @@ -321,8 +321,8 @@ def __init__(self, transform, size, label, loc, -------- >>> import matplotlib.pyplot as plt >>> import numpy as np - >>> from mpl_toolkits.axes_grid1.anchored_artists import \ -AnchoredSizeBar + >>> from mpl_toolkits.axes_grid1.anchored_artists import ( + ... AnchoredSizeBar) >>> fig, ax = plt.subplots() >>> ax.imshow(np.random.random((10,10))) >>> bar = AnchoredSizeBar(ax.transData, 3, '3 data units', 4) @@ -333,10 +333,10 @@ def __init__(self, transform, size, label, loc, >>> import matplotlib.font_manager as fm >>> fontprops = fm.FontProperties(size=14, family='monospace') - >>> bar = AnchoredSizeBar(ax.transData, 3, '3 units', 4, pad=0.5, \ -sep=5, borderpad=0.5, frameon=False, \ -size_vertical=0.5, color='white', \ -fontproperties=fontprops) + >>> bar = AnchoredSizeBar(ax.transData, 3, '3 units', 4, pad=0.5, + ... sep=5, borderpad=0.5, frameon=False, + ... size_vertical=0.5, color='white', + ... fontproperties=fontprops) """ if fill_bar is None: fill_bar = size_vertical > 0 @@ -519,9 +519,11 @@ def __init__(self, transform, label_x, label_y, length=0.15, >>> import matplotlib.font_manager as fm >>> fontprops = fm.FontProperties(family='monospace') >>> arrows = AnchoredDirectionArrows(ax.transAxes, 'East', 'South', - ... loc='lower left', color='k', aspect_ratio=-1, sep_x=0.02, - ... sep_y=-0.01, text_props={'ec':'w', 'fc':'k'}, - ... fontproperties=fontprops) + ... loc='lower left', color='k', + ... aspect_ratio=-1, sep_x=0.02, + ... sep_y=-0.01, + ... text_props={'ec':'w', 'fc':'k'}, + ... fontproperties=fontprops) """ if arrow_props is None: arrow_props = {} From c7d7a914ef0d7ed9e77cddc291d0ed28117ca09d Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade <quantum.analyst@gmail.com> Date: Tue, 10 Jul 2018 02:48:50 -0400 Subject: [PATCH 0959/1161] Fix an undefined variable in doctest. --- lib/matplotlib/cbook/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index d32517544ac1..ad6c87bff532 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -2037,7 +2037,7 @@ def _array_perimeter(arr): array([[ 0, 1, 2, 3], [10, 11, 12, 13], [20, 21, 22, 23]]) - >>> _array_perimeter(arr) + >>> _array_perimeter(a) array([ 0, 1, 2, 3, 13, 23, 22, 21, 20, 10]) """ # note we use Python's half-open ranges to avoid repeating From 90203f5929b6e6ba07281b00f9d4c6a8ce3c2c49 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade <quantum.analyst@gmail.com> Date: Tue, 10 Jul 2018 17:01:41 -0400 Subject: [PATCH 0960/1161] Don't use Popen(..., shell=True). --- lib/matplotlib/cbook/__init__.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index d32517544ac1..706ad942582b 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -805,7 +805,7 @@ def report_memory(i=0): # argument may go away pid = os.getpid() if sys.platform == 'sunos5': try: - a2 = Popen('ps -p %d -o osz' % pid, shell=True, + a2 = Popen(['ps', '-p', '%d' % pid, '-o', 'osz'], stdout=PIPE).stdout.readlines() except OSError: raise NotImplementedError( @@ -814,7 +814,7 @@ def report_memory(i=0): # argument may go away mem = int(a2[-1].strip()) elif sys.platform == 'linux': try: - a2 = Popen('ps -p %d -o rss,sz' % pid, shell=True, + a2 = Popen(['ps', '-p', '%d' % pid, '-o', 'rss,sz'], stdout=PIPE).stdout.readlines() except OSError: raise NotImplementedError( @@ -823,7 +823,7 @@ def report_memory(i=0): # argument may go away mem = int(a2[1].split()[1]) elif sys.platform == 'darwin': try: - a2 = Popen('ps -p %d -o rss,vsz' % pid, shell=True, + a2 = Popen(['ps', '-p', '%d' % pid, '-o', 'rss,vsz'], stdout=PIPE).stdout.readlines() except OSError: raise NotImplementedError( From 5d3bb7820c600e51cd8c54870373e8eb7be9efd3 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Tue, 10 Jul 2018 16:25:55 -0500 Subject: [PATCH 0961/1161] FIX: be forgiving about the event for enterEvent not having a pos closes #11607 The event object passed in from PyQt4 does not have a `pos` attribute. Be forgiving of this and fallback to None. This matches the fallback behavior in backend_bases if xy is not passed to `enter_notify_event`. --- lib/matplotlib/backends/backend_qt5.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/backends/backend_qt5.py b/lib/matplotlib/backends/backend_qt5.py index ddbdf56e8177..00f75987a3ef 100644 --- a/lib/matplotlib/backends/backend_qt5.py +++ b/lib/matplotlib/backends/backend_qt5.py @@ -291,7 +291,11 @@ def get_width_height(self): return int(w / self._dpi_ratio), int(h / self._dpi_ratio) def enterEvent(self, event): - x, y = self.mouseEventCoords(event.pos()) + try: + x, y = self.mouseEventCoords(event.pos()) + except AttributeError: + # the event from PyQt4 does not include the position + x = y = None FigureCanvasBase.enter_notify_event(self, guiEvent=event, xy=(x, y)) def leaveEvent(self, event): From b1cd0a3d57d849d4c54f85d75f86e13de3efedd9 Mon Sep 17 00:00:00 2001 From: "Adrien F. Vincent" <vincent.adrien@gmail.com> Date: Tue, 5 Jun 2018 15:33:03 -0700 Subject: [PATCH 0962/1161] improve c kwarg checking (and error messages) in scatter --- lib/matplotlib/axes/_axes.py | 47 ++++++++++++++++++++++++++++++------ 1 file changed, 39 insertions(+), 8 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 9fa6e6650b00..8196257e9de0 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -3792,7 +3792,9 @@ def scatter(self, x, y, s=None, c=None, marker=None, cmap=None, norm=None, Note that *c* should not be a single numeric RGB or RGBA sequence because that is indistinguishable from an array of values to be colormapped. If you want to specify the same RGB or RGBA value for - all points, use a 2-D array with a single row. + all points, use a 2-D array with a single row. Otherwise, value- + matching will have precedence in case of a size matching with *x* + and *y*. marker : `~matplotlib.markers.MarkerStyle`, optional, default: 'o' The marker style. *marker* can be either an instance of the class @@ -3925,29 +3927,58 @@ def scatter(self, x, y, s=None, c=None, marker=None, cmap=None, norm=None, # c is an array for mapping. The potential ambiguity # with a sequence of 3 or 4 numbers is resolved in # favor of mapping, not rgb or rgba. + + # Convenience vars to track shape mismatch *and* conversion failures. + valid_shape = True # will be put to the test! + n_elem = 0 # used only for (some) exceptions + if c_none or co is not None: c_array = None else: - try: + try: # First, does 'c' look suitable for value-mapping? c_array = np.asanyarray(c, dtype=float) + n_elem = c_array.shape[0] if c_array.shape in xy_shape: c = np.ma.ravel(c_array) else: + if c_array.shape in ((3,), (4,)): + _log.warning( + "'c' kwarg looks like a **single** numeric RGB or " + "RGBA sequence, which should be avoided as value-" + "mapping will have precedence in case its length " + "matches with 'x' & 'y'. Please use a 2-D array " + "with a single row if you really want to specify " + "the same RGB or RGBA value for all points.") # Wrong size; it must not be intended for mapping. + valid_shape = False c_array = None except ValueError: # Failed to make a floating-point array; c must be color specs. c_array = None if c_array is None: - try: - # must be acceptable as PathCollection facecolors + try: # Then is 'c' acceptable as PathCollection facecolors? colors = mcolors.to_rgba_array(c) + n_elem = colors.shape[0] + if colors.shape[0] not in (1, x.size, y.size): + # NB: remember that a single color is also acceptable. + valid_shape = False + raise ValueError except ValueError: - # c not acceptable as PathCollection facecolor - raise ValueError("c of shape {} not acceptable as a color " - "sequence for x with size {}, y with size {}" - .format(c.shape, x.size, y.size)) + if not valid_shape: # but at least one conversion succeeded. + raise ValueError( + "'c' kwarg has {nc} elements, which is not acceptable " + "for use with 'x' with size {xs}, 'y' with size {ys}." + .format(nc=n_elem, xs=x.size, ys=y.size) + ) + # Both the mapping *and* the RGBA conversion failed: pretty + # severe failure => one may appreciate a verbose feedback. + raise ValueError( + "'c' kwarg must either be valid as mpl color(s) or " + "as numbers to be mapped to colors. " + "Here c = {}." # <- beware, could be long depending on c. + .format(c) + ) else: colors = None # use cmap, norm after collection is created From c77ee585e893e36618606230524cf0c5a2f09f85 Mon Sep 17 00:00:00 2001 From: "Adrien F. Vincent" <vincent.adrien@gmail.com> Date: Wed, 6 Jun 2018 20:49:59 -0700 Subject: [PATCH 0963/1161] fix an issue when *c* == 'none' --- lib/matplotlib/axes/_axes.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 8196257e9de0..dcc6f92dfcb3 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -3930,7 +3930,7 @@ def scatter(self, x, y, s=None, c=None, marker=None, cmap=None, norm=None, # Convenience vars to track shape mismatch *and* conversion failures. valid_shape = True # will be put to the test! - n_elem = 0 # used only for (some) exceptions + n_elem = -1 # used only for (some) exceptions if c_none or co is not None: c_array = None @@ -3960,8 +3960,9 @@ def scatter(self, x, y, s=None, c=None, marker=None, cmap=None, norm=None, try: # Then is 'c' acceptable as PathCollection facecolors? colors = mcolors.to_rgba_array(c) n_elem = colors.shape[0] - if colors.shape[0] not in (1, x.size, y.size): + if colors.shape[0] not in (0, 1, x.size, y.size): # NB: remember that a single color is also acceptable. + # Besides *colors* will be an empty array if c == 'none'. valid_shape = False raise ValueError except ValueError: From b68cc513c16189d415e6d50a34d15ed66d253a3a Mon Sep 17 00:00:00 2001 From: "Adrien F. Vincent" <vincent.adrien@gmail.com> Date: Thu, 7 Jun 2018 21:01:05 -0700 Subject: [PATCH 0964/1161] factor existing scatter tests into a class --- lib/matplotlib/tests/test_axes.py | 108 +++++++++++++++--------------- 1 file changed, 53 insertions(+), 55 deletions(-) diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index 12197bd8e55f..2af9e5375330 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -1660,63 +1660,61 @@ def test_hist2d_transpose(): ax.hist2d(x, y, bins=10, rasterized=True) -@image_comparison(baseline_images=['scatter', 'scatter']) -def test_scatter_plot(): - fig, ax = plt.subplots() - data = {"x": [3, 4, 2, 6], "y": [2, 5, 2, 3], "c": ['r', 'y', 'b', 'lime'], - "s": [24, 15, 19, 29]} - - ax.scatter(data["x"], data["y"], c=data["c"], s=data["s"]) - - # Reuse testcase from above for a labeled data test - fig, ax = plt.subplots() - ax.scatter("x", "y", c="c", s="s", data=data) - - -@image_comparison(baseline_images=['scatter_marker'], remove_text=True, - extensions=['png']) -def test_scatter_marker(): - fig, (ax0, ax1, ax2) = plt.subplots(ncols=3) - ax0.scatter([3, 4, 2, 6], [2, 5, 2, 3], - c=[(1, 0, 0), 'y', 'b', 'lime'], - s=[60, 50, 40, 30], - edgecolors=['k', 'r', 'g', 'b'], - marker='s') - ax1.scatter([3, 4, 2, 6], [2, 5, 2, 3], - c=[(1, 0, 0), 'y', 'b', 'lime'], - s=[60, 50, 40, 30], - edgecolors=['k', 'r', 'g', 'b'], - marker=mmarkers.MarkerStyle('o', fillstyle='top')) - # unit area ellipse - rx, ry = 3, 1 - area = rx * ry * np.pi - theta = np.linspace(0, 2 * np.pi, 21) - verts = np.column_stack([np.cos(theta) * rx / area, - np.sin(theta) * ry / area]) - ax2.scatter([3, 4, 2, 6], [2, 5, 2, 3], - c=[(1, 0, 0), 'y', 'b', 'lime'], - s=[60, 50, 40, 30], - edgecolors=['k', 'r', 'g', 'b'], - marker=verts) - - -@image_comparison(baseline_images=['scatter_2D'], remove_text=True, - extensions=['png']) -def test_scatter_2D(): - x = np.arange(3) - y = np.arange(2) - x, y = np.meshgrid(x, y) - z = x + y - fig, ax = plt.subplots() - ax.scatter(x, y, c=z, s=200, edgecolors='face') +class TestScatter(object): + @image_comparison(baseline_images=['scatter', 'scatter']) + def test_scatter_plot(self): + fig, ax = plt.subplots() + data = {"x": [3, 4, 2, 6], "y": [2, 5, 2, 3], + "c": ['r', 'y', 'b', 'lime'], "s": [24, 15, 19, 29]} + ax.scatter(data["x"], data["y"], c=data["c"], s=data["s"]) -def test_scatter_color(): - # Try to catch cases where 'c' kwarg should have been used. - with pytest.raises(ValueError): - plt.scatter([1, 2], [1, 2], color=[0.1, 0.2]) - with pytest.raises(ValueError): - plt.scatter([1, 2, 3], [1, 2, 3], color=[1, 2, 3]) + # Reuse testcase from above for a labeled data test + fig, ax = plt.subplots() + ax.scatter("x", "y", c="c", s="s", data=data) + + @image_comparison(baseline_images=['scatter_marker'], remove_text=True, + extensions=['png']) + def test_scatter_marker(self): + fig, (ax0, ax1, ax2) = plt.subplots(ncols=3) + ax0.scatter([3, 4, 2, 6], [2, 5, 2, 3], + c=[(1, 0, 0), 'y', 'b', 'lime'], + s=[60, 50, 40, 30], + edgecolors=['k', 'r', 'g', 'b'], + marker='s') + ax1.scatter([3, 4, 2, 6], [2, 5, 2, 3], + c=[(1, 0, 0), 'y', 'b', 'lime'], + s=[60, 50, 40, 30], + edgecolors=['k', 'r', 'g', 'b'], + marker=mmarkers.MarkerStyle('o', fillstyle='top')) + # unit area ellipse + rx, ry = 3, 1 + area = rx * ry * np.pi + theta = np.linspace(0, 2 * np.pi, 21) + verts = np.column_stack([np.cos(theta) * rx / area, + np.sin(theta) * ry / area]) + ax2.scatter([3, 4, 2, 6], [2, 5, 2, 3], + c=[(1, 0, 0), 'y', 'b', 'lime'], + s=[60, 50, 40, 30], + edgecolors=['k', 'r', 'g', 'b'], + verts=verts) + + @image_comparison(baseline_images=['scatter_2D'], remove_text=True, + extensions=['png']) + def test_scatter_2D(self): + x = np.arange(3) + y = np.arange(2) + x, y = np.meshgrid(x, y) + z = x + y + fig, ax = plt.subplots() + ax.scatter(x, y, c=z, s=200, edgecolors='face') + + def test_scatter_color(self): + # Try to catch cases where 'c' kwarg should have been used. + with pytest.raises(ValueError): + plt.scatter([1, 2], [1, 2], color=[0.1, 0.2]) + with pytest.raises(ValueError): + plt.scatter([1, 2, 3], [1, 2, 3], color=[1, 2, 3]) def test_as_mpl_axes_api(): From 607b4d6f39587f353795f7805b1db7d7f4f5ded1 Mon Sep 17 00:00:00 2001 From: "Adrien F. Vincent" <vincent.adrien@gmail.com> Date: Thu, 7 Jun 2018 22:21:56 -0700 Subject: [PATCH 0965/1161] add an explicit test about the 'c' kwarg for scatter --- lib/matplotlib/tests/test_axes.py | 58 +++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index 2af9e5375330..09e4db65da5d 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -1716,6 +1716,64 @@ def test_scatter_color(self): with pytest.raises(ValueError): plt.scatter([1, 2, 3], [1, 2, 3], color=[1, 2, 3]) + # Parameters for *test_scatter_c_kwarg*. NB: assuming that + # the scatter plot will have 4 elements. The tuple scheme is: + # (*c* parameter case, exception regexp key or None if no exception) + params_scatter_c_kwarg = [ + # Single letter-sequences + ("rgby", None), + ("rgb", "shape"), + ("rgbrgb", "shape"), + (["rgby"], "conversion"), + # Special cases + ("red", None), + ("none", None), + (None, None), + (["r", "g", "b", "none"], None), + # Non-valid color spec (FWIW, 'jaune' means yellow in French) + ("jaune", "conversion"), + (["jaune"], "conversion"), # wrong type before wrong size + (["jaune"]*4, "conversion"), + # Value-mapping like + ([0.5]*3, None), # should emit a warning for user's eyes though + ([0.5]*4, None), # NB: no warning as matching size allows mapping + ([0.5]*5, "shape"), + # RGB values + ([[1, 0, 0]], None), + ([[1, 0, 0]]*3, "shape"), + ([[1, 0, 0]]*4, None), + ([[1, 0, 0]]*5, "shape"), + # RGBA values + ([[1, 0, 0, 0.5]], None), + ([[1, 0, 0, 0.5]]*3, "shape"), + ([[1, 0, 0, 0.5]]*4, None), + ([[1, 0, 0, 0.5]]*5, "shape"), + # Mix of valid color specs + ([[1, 0, 0, 0.5]]*3 + [[1, 0, 0]], None), + ([[1, 0, 0, 0.5], "red", "0.0"], "shape"), + ([[1, 0, 0, 0.5], "red", "0.0", "C5"], None), + ([[1, 0, 0, 0.5], "red", "0.0", "C5", [0, 1, 0]], "shape"), + # Mix of valid and non valid color specs + ([[1, 0, 0, 0.5], "red", "jaune"], "conversion"), + ([[1, 0, 0, 0.5], "red", "0.0", "jaune"], "conversion"), + ([[1, 0, 0, 0.5], "red", "0.0", "C5", "jaune"], "conversion"), + ] + + @pytest.mark.parametrize('c_case, re_key', params_scatter_c_kwarg) + def test_scatter_c_kwarg(self, c_case, re_key): + # Additional checking of *c* (introduced in #11383). + REGEXP = {"shape": "^'c' kwarg has [0-9]+ elements", # shape mismatch + "conversion": "^'c' kwarg must either be valid", # bad vals + } + x = y = [0, 1, 2, 3] + fig, ax = plt.subplots() + + if re_key is None: + ax.scatter(x, y, c=c_case, edgecolors="black") + else: + with pytest.raises(ValueError, match=REGEXP[re_key]): + ax.scatter(x, y, c=c_case, edgecolors="black") + def test_as_mpl_axes_api(): # tests the _as_mpl_axes api From e9cdfc0070320843f26ec1b03e9ac494b39f4a46 Mon Sep 17 00:00:00 2001 From: "Adrien F. Vincent" <vincent.adrien@gmail.com> Date: Fri, 8 Jun 2018 10:09:45 -0700 Subject: [PATCH 0966/1161] fix naming of 'c' and drop the adjective 'named' --- lib/matplotlib/axes/_axes.py | 19 ++++++++++--------- lib/matplotlib/tests/test_axes.py | 17 +++++++++-------- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index dcc6f92dfcb3..69fa011cdb2c 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -3878,15 +3878,15 @@ def scatter(self, x, y, s=None, c=None, marker=None, cmap=None, norm=None, except ValueError: raise ValueError("'color' kwarg must be an mpl color" " spec or sequence of color specs.\n" - "For a sequence of values to be" - " color-mapped, use the 'c' kwarg instead.") + "For a sequence of values to be color-mapped," + " use the 'c' argument instead.") if edgecolors is None: edgecolors = co if facecolors is None: facecolors = co if c is not None: - raise ValueError("Supply a 'c' kwarg or a 'color' kwarg" - " but not both; they differ but" + raise ValueError("Supply a 'c' argument or a 'color'" + " kwarg but not both; they differ but" " their functionalities overlap.") if c is None: if facecolors is not None: @@ -3943,7 +3943,7 @@ def scatter(self, x, y, s=None, c=None, marker=None, cmap=None, norm=None, else: if c_array.shape in ((3,), (4,)): _log.warning( - "'c' kwarg looks like a **single** numeric RGB or " + "'c' argument looks like a single numeric RGB or " "RGBA sequence, which should be avoided as value-" "mapping will have precedence in case its length " "matches with 'x' & 'y'. Please use a 2-D array " @@ -3968,15 +3968,16 @@ def scatter(self, x, y, s=None, c=None, marker=None, cmap=None, norm=None, except ValueError: if not valid_shape: # but at least one conversion succeeded. raise ValueError( - "'c' kwarg has {nc} elements, which is not acceptable " - "for use with 'x' with size {xs}, 'y' with size {ys}." + "'c' argument has {nc} elements, which is not " + "acceptable for use with 'x' with size {xs}, " + "'y' with size {ys}." .format(nc=n_elem, xs=x.size, ys=y.size) ) # Both the mapping *and* the RGBA conversion failed: pretty # severe failure => one may appreciate a verbose feedback. raise ValueError( - "'c' kwarg must either be valid as mpl color(s) or " - "as numbers to be mapped to colors. " + "'c' argument must either be valid as mpl color(s) " + "or as numbers to be mapped to colors. " "Here c = {}." # <- beware, could be long depending on c. .format(c) ) diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index 09e4db65da5d..96aa1b09d74a 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -1716,10 +1716,10 @@ def test_scatter_color(self): with pytest.raises(ValueError): plt.scatter([1, 2, 3], [1, 2, 3], color=[1, 2, 3]) - # Parameters for *test_scatter_c_kwarg*. NB: assuming that - # the scatter plot will have 4 elements. The tuple scheme is: + # Parameters for *test_scatter_c*. NB: assuming that the + # scatter plot will have 4 elements. The tuple scheme is: # (*c* parameter case, exception regexp key or None if no exception) - params_scatter_c_kwarg = [ + params_test_scatter_c = [ # Single letter-sequences ("rgby", None), ("rgb", "shape"), @@ -1759,12 +1759,13 @@ def test_scatter_color(self): ([[1, 0, 0, 0.5], "red", "0.0", "C5", "jaune"], "conversion"), ] - @pytest.mark.parametrize('c_case, re_key', params_scatter_c_kwarg) - def test_scatter_c_kwarg(self, c_case, re_key): + @pytest.mark.parametrize('c_case, re_key', params_test_scatter_c) + def test_scatter_c(self, c_case, re_key): # Additional checking of *c* (introduced in #11383). - REGEXP = {"shape": "^'c' kwarg has [0-9]+ elements", # shape mismatch - "conversion": "^'c' kwarg must either be valid", # bad vals - } + REGEXP = { + "shape": "^'c' argument has [0-9]+ elements", # shape mismatch + "conversion": "^'c' argument must either be valid", # bad vals + } x = y = [0, 1, 2, 3] fig, ax = plt.subplots() From aab834cb608a48f24c1eccdaf5a994f8fa95d8cb Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Tue, 10 Jul 2018 21:20:42 -0700 Subject: [PATCH 0967/1161] DOC: modify tight_layout and add constrained_lyaout demo --- .flake8 | 1 + .../demo_constrained_layout.py | 76 +++++++++++++++++++ .../demo_tight_layout.py | 29 ++++++- .../gridspec_multicolumn.py | 2 +- 4 files changed, 104 insertions(+), 4 deletions(-) create mode 100644 examples/subplots_axes_and_figures/demo_constrained_layout.py diff --git a/.flake8 b/.flake8 index 400114155fc0..34c37efdc081 100644 --- a/.flake8 +++ b/.flake8 @@ -251,6 +251,7 @@ per-file-ignores = examples/style_sheets/plot_solarizedlight2.py: E501 examples/subplots_axes_and_figures/axes_margins.py: E402 examples/subplots_axes_and_figures/axes_zoom_effect.py: E402 + examples/subplots_axes_and_figures/demo_constrained_layout.py: E402 examples/subplots_axes_and_figures/demo_tight_layout.py: E402 examples/subplots_axes_and_figures/two_scales.py: E402 examples/tests/backend_driver_sgskip.py: E402, E501 diff --git a/examples/subplots_axes_and_figures/demo_constrained_layout.py b/examples/subplots_axes_and_figures/demo_constrained_layout.py new file mode 100644 index 000000000000..f269ac9b4468 --- /dev/null +++ b/examples/subplots_axes_and_figures/demo_constrained_layout.py @@ -0,0 +1,76 @@ +""" +===================================== +Resizing axes with constrained layout +===================================== + +Constrained layout attempts to resize subplots in +a figure so that there are no overlaps between axes objects and labels +on the axes. + +See :doc:`/tutorials/intermediate/constrainedlayout_guide` for more details and +:doc:`/tutorials/intermediate/tight_layout_guide` for an alternative. + +""" + +import matplotlib.pyplot as plt +import itertools +import warnings + + +def example_plot(ax): + ax.plot([1, 2]) + ax.set_xlabel('x-label', fontsize=12) + ax.set_ylabel('y-label', fontsize=12) + ax.set_title('Title', fontsize=14) + + +############################################################################### +# If we don't use constrained_layout, then labels overlap the axes + +fig, axs = plt.subplots(nrows=2, ncols=2, constrained_layout=False) + +for ax in axs.flatten(): + example_plot(ax) + +############################################################################### +# adding ``constrained_layout=True`` automatically adjusts. + +fig, axs = plt.subplots(nrows=2, ncols=2, constrained_layout=True) + +for ax in axs.flatten(): + example_plot(ax) + +############################################################################### +# Below is a more complicated example using nested gridspecs. + +fig = plt.figure(constrained_layout=True) + +import matplotlib.gridspec as gridspec + +gs0 = gridspec.GridSpec(1, 2, figure=fig) + +gs1 = gridspec.GridSpecFromSubplotSpec(3, 1, subplot_spec=gs0[0]) +for n in range(3): + ax = fig.add_subplot(gs1[n]) + example_plot(ax) + + +gs2 = gridspec.GridSpecFromSubplotSpec(2, 1, subplot_spec=gs0[1]) +for n in range(2): + ax = fig.add_subplot(gs2[n]) + example_plot(ax) + +plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions and methods is shown in this example: + +import matplotlib +matplotlib.gridspec.GridSpec +matplotlib.gridspec.GridSpecFromSubplotSpec diff --git a/examples/subplots_axes_and_figures/demo_tight_layout.py b/examples/subplots_axes_and_figures/demo_tight_layout.py index c05b8940d154..60c1bf2e91c9 100644 --- a/examples/subplots_axes_and_figures/demo_tight_layout.py +++ b/examples/subplots_axes_and_figures/demo_tight_layout.py @@ -1,7 +1,14 @@ """ -================= -Demo Tight Layout -================= +=============================== +Resizing axes with tight layout +=============================== + +`~.figure.Figure.tight_layout` attempts to resize subplots in +a figure so that there are no overlaps between axes objects and labels +on the axes. + +See :doc:`/tutorials/intermediate/tight_layout_guide` for more details and +:doc:`/tutorials/intermediate/constrainedlayout_guide` for an alternative. """ @@ -133,3 +140,19 @@ def example_plot(ax): gs2.update(top=top, bottom=bottom) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions and methods is shown in this example: + +import matplotlib +matplotlib.pyplot.tight_layout +matplotlib.figure.Figure.tight_layout +matplotlib.figure.Figure.add_subplot +matplotlib.pyplot.subplot2grid +matplotlib.gridspec.GridSpec diff --git a/examples/subplots_axes_and_figures/gridspec_multicolumn.py b/examples/subplots_axes_and_figures/gridspec_multicolumn.py index 29098f5a4548..5a22aa2d310c 100644 --- a/examples/subplots_axes_and_figures/gridspec_multicolumn.py +++ b/examples/subplots_axes_and_figures/gridspec_multicolumn.py @@ -3,7 +3,7 @@ Using Gridspec to make multi-column/row subplot layouts ======================================================= -`~.matplotlib.gridspec.GridSpec` is a flexible way to layout +`.GridSpec` is a flexible way to layout subplot grids. Here is an example with a 3x3 grid, and axes spanning all three columns, two columns, and two rows. From 265eb1c7dbf40ea2351d4306c3d8b46e8b106f5a Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Thu, 19 Oct 2017 19:55:26 +0100 Subject: [PATCH 0968/1161] Set norm to log if bins=='log' in hexbin Add API changes Fix hexbin test --- doc/api/api_changes.rst | 6 +++++ lib/matplotlib/axes/_axes.py | 24 ++++++++++++------ .../baseline_images/test_axes/hexbin_log.png | Bin 98178 -> 106594 bytes lib/matplotlib/tests/test_axes.py | 10 ++++---- 4 files changed, 27 insertions(+), 13 deletions(-) diff --git a/doc/api/api_changes.rst b/doc/api/api_changes.rst index 8732297c3c03..444dcb1c9bbb 100644 --- a/doc/api/api_changes.rst +++ b/doc/api/api_changes.rst @@ -451,6 +451,12 @@ Deprecations `.Legend.draggable()` is drepecated in favor of `.Legend.set_draggable()`. ``Legend.draggable`` may be reintroduced as a property in future releases. +Colorbar for log-scaled hexbin +------------------------------ + +When using `hexbin` and plotting with a logarithmic color scale, the colorbar +ticks are now correctly log scaled. Previously the tick values were linear +scaled log(number of counts). API Changes in 2.2.0 ==================== diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 9fa6e6650b00..77cb9f0e5bdb 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -4326,9 +4326,23 @@ def hexbin(self, x, y, C=None, gridsize=100, bins=None, offset_position="data" ) + # Check for valid norm + if norm is not None and not isinstance(norm, mcolors.Normalize): + msg = "'norm' must be an instance of 'mcolors.Normalize'" + raise ValueError(msg) + + # Set normalizer if bins is 'log' + if bins == 'log': + if norm is not None: + warnings.warn("Only one of 'bins' and 'norm' arguments can be " + "supplied, ignoring bins={}".format(bins)) + else: + norm = mcolors.LogNorm() + bins = None + if isinstance(norm, mcolors.LogNorm): if (accum == 0).any(): - # make sure we have not zeros + # make sure we have no zeros accum += 1 # autoscale the norm with curren accum values if it hasn't @@ -4337,10 +4351,7 @@ def hexbin(self, x, y, C=None, gridsize=100, bins=None, if norm.vmin is None and norm.vmax is None: norm.autoscale(accum) - # Transform accum if needed - if bins == 'log': - accum = np.log10(accum + 1) - elif bins is not None: + if bins is not None: if not iterable(bins): minimum, maximum = min(accum), max(accum) bins -= 1 # one less edge than bins @@ -4348,9 +4359,6 @@ def hexbin(self, x, y, C=None, gridsize=100, bins=None, bins = np.sort(bins) accum = bins.searchsorted(accum) - if norm is not None and not isinstance(norm, mcolors.Normalize): - raise ValueError( - "'norm' must be an instance of 'mcolors.Normalize'") collection.set_array(accum) collection.set_cmap(cmap) collection.set_norm(norm) diff --git a/lib/matplotlib/tests/baseline_images/test_axes/hexbin_log.png b/lib/matplotlib/tests/baseline_images/test_axes/hexbin_log.png index 7b3ddeed9d18ec4bc6779c72db797f1e33a0112f..febefb870918f8baed084d7d3259bf14c7b5c6eb 100644 GIT binary patch literal 106594 zcmeFY^;cY9@GaO#kl^kR5*&ilI0Q%_1b26LhsFs6_uw=Vf+e`SOXKeD7PN6^n$P#W z^=7U4Vg7)bX7%dZmn(hh)~VWiSDkQ0c`1yyq;CNL0EYC}&&mJ*d;kCdw~m4Y+ru-l zybb$6bP<<UMS;D1P)x&M-%%aEYPkRaSVpgJxIdzWR<NDQu3t1=RUFJ+J&c^q0Cq;M zj<yc2wpPaP+|8U_tQ_p$ak9StIXbwwasav6SxwE{*_ka&xY<qlIE?tXS>9Q?x;hH5 zvHhPjSsk1$*nTKwz6Su_0i-{Rse&?&Ry;u&eZK2=4y_JrE0)WMUjupn2EC`%e($D) zNh=dW>u}`84b4gV$;UN&OQI6aJG)4-v#_FN!L=17H5MfWOmL%%X$hxcc485Xsg^e$ zN_JD8{UVM3MJW#y0DueRBinx{T@)?C;zo%x<n5;mSd&r^HQw@VZo2>IdV{5QRjdpl z4#E~kq5h%Co#CbN3ATYPuB(X)c>B7+!ukJi{C~j+ZC)CNB2(H^OG`2m5(wY^dTB_Z zQ1^TpCYE>~Z@5rp#y5I*=r3J3Wm>(EK7@)0|3f^7|4)1au{1z4XmwRzy+l*#)EeeG zsZveN%?JPf39y+JPFc;CL`-;07B`lRj>=<FiLi*R!_&eUVvv%O0v^m``nKH4qOrxp zA{XZ8iJ8?)7<@f4uoi5S+Y%_H47B80a_;pZl|Rg9c%=Hxt8oFWinxH;UwlVov3;}v zd~p;GW+LN3#S$?bn?KK<+?=IWISBy8S2s2k%7x0>#S)=`5d&a;-2<P?VObOlu<<NO zr7|T+4b(93O%nFLo^B?6^?K~ROvHeWN|V0ZeJRnwAS@Bh)1ueiJX0=b*_!i&p8@kL zD<eZ}?Zf^3{Z@TZ970c*Q$pwcAGog1d^gYx)^Ge@ZpJ)#f?*>;>*6Zd1#8alx&dzY zb7LnbCOQX`m>25o$P|RHRC}Sez@g*%wb4wE)q!p-(cx&`)&4!vm%9j;wu{VD$Ez8Q zYWtNYG)<S+nHP4SHV3y}q*i>pIM)U=8C#XW67DH3ZyQ`~_4Yg;p!d8#C|szuArgH$ zP=F&QCEXl*c^tdjBx(my7k`AEpP|u96Q^x&Yy_Uu>fl{*#RF_@ZB0@7A651>Je)Ki z933GV9?q5?%~u9VQF{JZvTu$SeW(`g-n)QyAYeJ3t&3rj^L6CLiVUuJtoe58zs3lT zIc_9{s(@aS;X}ZgY|U)T)vV6r>gkhy?^wO<Lf4qzH5Whx8m{0t!ZQcJj+T_B!L?ni zv4U`NrJ<+E7P$J`+8zl_>%N+I^HIA3&hUNwJMhTl^0F@UVt3aZ2^kq~zQPEB3}_2D zdJYf8q}VJfE=#W*F8A4C_PHA}5b;kUggvv}fD#0TQFHw<I3c{gO12T%0aH#$VvO8% zWvp)$Y%tqVW+G=D2vIRH$@VKND=x}&@!yp~?n7j*4*d#4ZRwCdS-&3%zqyy$%Q_P2 zz3oQ?WbHX!9&hE(@c~oURZkTUmbXr`-hoHq<K)fv`9Z&3k5tFrnMj~^Tqjem%tg-v zkNs^KIy<19la0d23UTs_S!1>WLr@R;q$$CkdBfkTH@OZ}eHTY`+gl&-GLA&l1a5k~ zpYk9obs4fTCmvqk+^GJMnVTBcRAsb$v@m9oewp~L%<n5D|5J9}`Mgo6?>c3O<b=wo z!9P!RwDL)K+r<;`GaMgwK=R;$s6a=L<%aeybGezE9p{~PRw3{}c-jL3BoXFuht>=X zOiV4(q>LmjZue|R&z;YwEt#HuZj_6m+7~tf(}eU{tk9*Y?q)2}a0vPB0{O=UAAtPo zZOQbQDN8gd!mV;43ZrdubdaBW^>QI}#N=NS%Xd626J-BA)(otNZxk(>w#Bg+Iswt@ zkl6_%al$|EpPrWAdiwi|QczH+C6S;bp&|txE!IZrHM=K?uoNXpn}IH4+xym@=KMc- zr-Ma3@t&j<s%{pZYRWBl76n)PxYoSmD?1UFPC!&SUjr<%K=F>;JtNu6qpKEc1rM3} zvwF4ZR~qFTduyJ_KBFdm^!A2-9DdCCKNFS?r8hp$)txV6`3>|BD6QUfGKbgqfbJa( z-eF@p4$;?FzoeWxZ<pGu>rM3T%o%izwO^1gs3zaMK(3;&6wdxBto^c*{;(wK{;}Er zk~65aTes2VL+OzAZSR^$?AWREP+^^m;}{O+F~9g+{?Pp6^N{C1=-yYkyvBpk!+sjB zmdh>S9vw2!OXeJO$loja`-xcDydPtxP4e0F)>saCsLn}Kc&>M>(|Xd4W>Z<v$9mh% zgVQ$H1N=!Q(u9%A1H0|p$^wS=b0`_;s?cHF<CZ2xul_qh3hNeZxP$>ZBDI-Yr`OQy z69g8m8OW@`O4rny?{{cCYS}|}8D!7H^8}d<Cp>fk3MKP=B667Uu875$D=`}>NP2vP zT0n(HK4ve=zf8bgi!^7~m8q9Kojri+#_4n%*2MWpOKcPNRtvoS*=)*ndqZqy&o54e zWLUu#FcX_Ltkp>mO`6-^_U8c`?YN-HNLkM(Xo%u|_Kk;hOLX32t8~16N80)s1#-IW zL&&gk29;A}RmxQju(UryZD3YufY}ISr3_}#o9Y~+@~@kw>$`Tl7?lYfZIo+b)q<$R zibitO$$4R2Ri3_CqFWNV6oK91f+mE%;iOw*3#~!u=7tT&3Z;4rkM|tHw)%T-MFgl@ z9l`@vhdKAI!gBwon|BT(7eG6`Qr(-4V$bXFm8h(56;~1(IQA$PM>qO3_!!O?^z|3B z7Z3c`?y+_Wr8akWCc(hF+vq6tsH!~+Z#%G$EA!aPdJ6i@641)lZk-5b-A`wizy;6~ z?PJL_-5dwU&+Vja*%uKjoz*TCf0L!{WCgpu*11^cv)XP~y{g2K_Nw^8=Usl~Ei3!` ztHb^RTQGM`59p=6DJ$j06N^4J(|9X7rNY&YUV&h78zFmfG~Tz5|LmMPxlFI?L8Kzh zAaT)@8A9y-(#`xC{Ql@R8s-WEymnyS<}8Agk9&J-X$5lXb(L2VI-uQC{nTkXk*tRY zgT>cTv_M^R<m$>yR!TK4rWMv8Qy~<B!10%Vf-QHhm2#_n)e0>jZ7|{oIQzS4_f@ZF ziX}R*MwQWF)8xZ{20W8qq8rJSTfUtr6?(a0TL3n?aYfrr)ej6t*U9-k-{t{H<e-D? zE%GMb8DPIB0sY554Zaz!o?U~5uihGsaw2DckIB8BP>>A-yUt~jop&C1&!^XtmuM0O z&y{oJ{Pto`H|IniI?<|9%CYyroGQ)zyE#y(6AS^|KHs#D^@&_pPL6pT&37)=+IZe> zgvy96HMueKE;}L^yxh;(_^nn}a*&ddkx)?3QpRRqY`tuZJ*S19JfP9t)G+5Wd4D9h z20>pk{7$T5|2C1Q-Y+>Wjuo+3{JX0zdf*=8px?n4Z62%5aA`u~N#0_JY71M;Q_TLd zLKg}3<&;>-tTUgU#C+(2JMHlPBYXYZK4J2SE0GIqb9c4!5<XP6@`=a#X_PNzZ~ny{ z83SVm>zo!heTel`wA_v0il;m@fS!(SzTICG8Iv6FtFSQi>EVWp-LU!OwDm@x(*My( z-|K+3!~9MA^`ec>E?4&715c0R#a>7>84MEW$nDVJS?ShSp~^@0jU>J(xSY6h__*!J zdf5KMDq{YhA>1+bscMZ*3uKG|Cy2DbmR1R0?nKfybW1Vll31zES|Z!zhFJ#FMrvj0 zCZ{r7q0qNl9kt6nT|n4x%l6zQIceC6nS6q!d#r$m)Anp+DxWy-lg3aO`l;}JaNmUT z{Z)-{@Vfw8$X=#KX9{{$x$KQj8fed08%#u`%uT(_F#f<MD$c>V97p*qzRstZYSA3W z*ym1N$7&<;FhB%1Hm~y$2DFv}iQz@Sot<J{-ric(<`|WlwxffkwSsHJ-PLO^v@bgz zZDQ70k7}^1MJnwr(mrnFzA&d4Xsn#E>CRKH^Im`a>xptZ7)@`60)hk2Npw`tEG`c2 zj)3=AZo$RWhWYrX?H2;T71u^tCPElsOx$7+ah#LmdE-x%o)rWGT!dc$d~@z6%L8q` z58qtSig`E$IyFR}F!b-CHdCX)IN~Tu{@P^EyP_`v4lh)(Dajd)^H%u!7`)N0-&kB> zxN<_&|AEo(eokTTKU6r{HDp8i6uV}!c5yo0%p^XHiV7%Z*O2IFlwFl)fng91HdC&P z4;x>=iw?#{34n^XE<A`W=jS_?3c0$d@WI%d#s#{;W2Ytu>9kj6gC*0Pk2)>k!E*2& z0!<qqbnZ^aUZhBMXuH3mP_vr92491d7gCuy_4<TFY$C8{E9Sbm<DDCsW^LurNh6cq zi8zYWgi?(0(1=Eb>&PSOv-NRr0%b?Ag4gS>ash<ihum$J8th&buKrwCfL&8rlC14! z?K%GCyxb!`n?6$CCfB;{zxy){&yaV}Q~4(I`c*o_SkuDrF9UhtuH-bWjgs8VsdbI! z<4}F}X6YUcnkEZ6C!(&@;uM3Fk?9x(^=FDd1$<28lEH!dn#7WlhkE&uS$iX~ZU8eB z&5UTo05{izIyZ(lF~#G!h;OM`*<CjCGJSE+B!C*H|8%Dl1HTG&4GtyGG&5CiZmiF+ z_wS7u>GkwVhXfp24t)fJKra$C9<{K4i-+~f2DVo(K0Zf3&g3|Z*R|BHs-+RAY(0v8 zZ~+hr{r4!O-vMOQYbTZ$eq7d}QNu37*b56lxDHl-Jk$tVcvnF|4*m~Ik7uExG${$9 zvZM6>>n!@!!@X5G1H+fd({F?oFs7Rq#qoH{mbEQI_4tAFuWV~E7xRS^^*)h4==<xG zd4BfG0&Sw&H|`{RR^Oca(6|5&_Yc~aMxY)F|HB~6H)`qEwoCW09Ir~jhk8lX=TSix z)~N`Z5`~{VJb0g;o=ObbvkD3dB1|B}S+GeNLm>z$kOR+GnaLc?U(FeeDfpek0*?%9 z<BtzgF%|B|i~pEEn9~RcxY2!RhrwOKKq)HU#F!XN^)lUoI=dy%zrTe{F&5QY_U%vZ zCoLE9lzz8H_AO9Jk(ax%lo)2UXGwB$a+>(B6}AhHUz^fmX#gd;AM16+*hxS0<08F< zS<8N45D0@+MXNKZ1kvJK(~g2Sr}=8d>d@M9-)LBLkoA7d38mbe(J(MOU2PS*+fI08 zJ+G)P`}wkvV9%^tOXTXW0(7R_FG-O>b>@)Bf*#J0La)hAIF|fbMP2v3{|1bC^&Z_D zEDd&_3Vk+NdYo@=rE~!}G#${LG##?emg?{xL;EPbqnc0Kz%YIYsIy-ggqa4k9WOO_ zbuILIkjQN();YNS4m{He;$X%Fs2j0X2Rw<1+J7oAh7IG3jM%%QzN?RI<-?Vgl@U60 zDtfq4v+4D#Ud6_vR2|75bwE#7b8v#9XH(hF+#0%0Zw&4yQ>@FH`Ko(wmV}UZnb2;} zz*2W3JlR{Y&%Hn9ujHa9@6M7Kbl=Q&wov@c3z4Gxr%~vlC=3602dToi_bn_N$<)6R z615rn_^)vz=2rIhWw)L#E?hxDL4f~Ebv<t)1nt3tQJ-)*Fc7+EQ$FKP-4m5}_&3Jy zZc8`{BYFsz9X6#o!hRghf=cDqFLKv>v7GNFH*z0hTwqXf_X}Y~CW7YE<N2mZb8~Ze z-%$5zr(s3WIe8yaB1F}1gT&-ppMCQ&P)OnWU85omj1Gr+T{Ql=Rv$;=Vn?aE*77Aj zs+~iMdNjktj_qTH@38JQ=6D~E0&_+J(bLn@!ra{4-SghY1nPBIK+4sz(wkL&<?sI( z2|F8Yh2?e7Mt`b@_5IV!?PX4apvV5kq7-X?vj1{Q)j>N~vQuR<H}}_hPm<^wzU;bS zk55SPTcz8fy8G#>9`s_R*~8_yc5d{*C43<sP!Xf9UzhQ6vr=CD{Ez3VECTztysE@- znZJ5Vbo5;FH)EzZ^{Y>QZO|c6>PhS}4?A<SvRyz{WOz90_37H!cLZd>{=tFK%kvXD zIy%4+mRZklw_;Ov$3$UPZuwt{HLaP5)m#o1NNjyT8LIE~{zr-k|30B&l9xczHE~zT znpsv!q@cmU|CDBtwGktD!m!eQ+V%iwczJ&CJnKYm+{^NwueQKis&}BLj7|8Kf4j@u zKA@(dr{*U7<ti~v;DgHWB21=;j*f=WN_8G7ScF{Lkg0#dX|%=6%_sSxnJ6xnF~i(( zD!~|ha@?0eTI5kWsM|Lh2|oEyG;h=Rb(aO`!F@g=j5WDD;d-4=sC4K7fiXQ3Zy=79 zV=*gz+S#o^-H|Yx8wELeUVVKEkIgK0<UnGmS3G40)BoaAGa02dFygdLdy8l6Bx5mt zN-oaBYg_|~ikfMbRF}bHdi`!xMKb)od&dMy%!Dgh%N?Y=|8yEye-_lS@vMY-dR!&| zXo(ZbJ(IoC>gesWU#i2Hb6aS1p%?Tx$w+9bt*e_{Toj-;3;zd`c7iv_a&A-9YZHHd z=AuS4L^rq0TdifdcyLOt`3?Vl(zn)}*4(GdoN@0w6-vW|i_}-CRUP>w9d<3k1pXrb z7Q3kw7zAp$QjfU*NfRf~bf>bURd43jS_~5a%qCDq%?=g){12oC-IOqJEbZ#x445#s z@b+(Fa<C}1xcvuKZ!7I|E1#;oG$g|KsbTTuqt*l@yX`T%(fA>Mx<bDYTYQ*=0Cg!g zcdDrgp9!qTeep!6@(mjAe?#5&*pq^S_+;VV@#Pa);j1WPiqbF|b0YXkh88eBqd3L0 z6K^|A4n%Q~FT14Xv>9m&fXAK#B0F?3;39)%#2*E`?hN$z*7Q9^CFnyA^$4hYTp#@$ zi^uXZVu#O&X%coG($EXy&dlE%p{Ugp%v%M1=b~!vr&~JqhwAxxKb<<C&wpwye&3T3 zN7*4DP_u_JsI>njPME%@WpXwU4@05_E=ugww{VrG$?@FtGRFiva{e6)2V6{$wQYwi z4K=v<FR0cyjlvug=}bQ3$M?=j4ht>h9}<5o5ru&<{F8cz#c5oUWRnBveQU=i1B2II z8ha(&(}{0b*1n--!?N-AJ-HUVWLTt<F}ZMjji9US0;cT*G20FNZys}yt9%5{6GEyc z{>&ue79K(0<vKg!;~!eP)XJU=p*39>-wTuVlI!4KdwqxaGdk07zc@nnvi-9>Ry{*C zSs<aJj~i%B3_HmFHpmV_t+7OYx94xX<*9pEOsfE?ANme;<KHlVgL2{zQd$R0sS|o> z=;TG!Ee4ey$FiF<<#?qDD>R7--NLfv3-4y@+j{r+8Jay#chhaksQIl<hVEwP3HM_C z&X9F|mv$rVnj&Fp82k={h~JCU!rgc~B$M7ne9xL~-EOI_(rHT)mN3=!G-!4g1NY&M zPEHEi+q16@=ccAr8^xPBLM*a8LrnT&Dy^pI>TDO31qd-i?}pkRhbEsi^gV-pAFg4M zYZguYX3p=L?zGJvRLPPH14S1x6Cp$|Py)ZJDc<UT=Ve|R7V6w@^(0t5pp{kFmt8#N z-T*4!OC<pT0nJ8d+NC<Xt-pm?MSNK!=8aF+ON|$!g0FO@5egx@d)yN>aEh5tr+V6# z@_9Nm=yM_mI;{G1{(Bj|algo4dJcnbL^?D`pm2nCQKO8+U6Gzi(D<B~F})*vBNc+h z`U9pI-PUWYj{OHYn5sE7gaeE>(&vN&iq%UuZ44er$$0Hc_7|AF_H#l(Fcop3*@G=J zGqdIKd`Q>->B?vO1Jy>|l0AYgpuzjb9+N`gvyBb&F1&m173IG^CyD`hLgO53ht6=` zU%zppIQDsOQet^}92d3U5sEPed#tnPO;t0^YOTD<!Dd>Q!iqI+@*bN)!~U|!6|k{g zsp4v<seSqnMXB180<h{jB?pL#jaBe|tn8!QI%z&FsIJBfDAlR2GU>yFDRc44fc=ZR z+bz*&6M)}gy<g<1|I5R&+ngTJuWM{{WcEl$HD790>q>^vN!oRn33~aieoeLB{bZy| zGriORtTjudz1x97JY~kq342(?@IEo;oFc+UUD{EC_j6qXphy3Ty%J{#t8T#~i2PO7 zfbVOKBA-=cuLEqSnpudkwq;1<YGCkqOpP|YML#6c|7>l5qU{ABYI?KOrERn7byzy( zh4d<A9+tObexghGyAM4)Jj|`Ebox)jG%+zDsMq${_psmn@NyziwcUnI6dA&BvY7P8 zar`7$#|%3UYy#3@>;3V#E|9v_3Iu^!PQL@$*?$}yfJGe9LLKMIC4(gxvdev9W`Tz2 zh>CuqgKml<^-b#vj2SYs>)gFcF+t}KG`HXo(fzG8pB;PPs-tvkF(>olpL7`0(D^@_ zscxg4!hfK{ePe=m%_jkdG@SY<JSt!lLcLsngu-K)!z9h%ZcxM0)|O@ERiIa)=&odM ze~2D)TnR0&JB&u9{`c+fDOmI^+G(F|QY0nO-UGqv98+fL$!SYK`|pg1dp^v;%uAfC zA&q+PkgZ?39+NIClWtgJ9ZnP?cgR#*D*k62cO`^qkQPdK5ttH76{WIw`3g;5p<I@* zH%u8UtgTIQydB1?qynwOwVegCC7#4aN6+9RT9<mBPgu-fT(lCop5$N~BWY{+brv(d zNM>=C&o$V)!L3i<b&lrUTLy6yVAnH((UnK`!qT)y1CNRRq+fHtT$W}#&BQRzI}a7S z&P~^7iH_HKS#PMr_y15O^B?@$v&+iLs*(HworZBBp;3dED+3o8Hgq{Gt)Erxqo?u= zDSy7^?Wd{cN&4_3HQ3mYD0=?mYJrht-?%RVap^IYS*4|#3iq@n?u}{}W<F_<z15#G z4|^YY-{0*uL~IjZ8%450MHYh??MDbv)lPJl@k7rNeZ3>yEW^ZGD)w7v_doP;Xf0h7 zYNsn6mrkkoA^L!Zme@~7+5{r5(B9;D?lSTa>2}0g+n0C^j;x0pwSf*(_*-t~muC-! zCLn+B=m_iHEFt_!G=A0WS6jg_t-U%w8wSq7WcCd?1yvp}@;jO-NJ2&?xRudaP4bVd z^NJtjndb1J$1{iSDuRc1v!?c!IFR9dm0xucn%fh=@A;OC+t$0weDOwoWPFM6Y^y{c zt`opiuINA>T#3k}*GuIYyvL3pk=ltvwk${SlTzjv9x4jrV7ZwmJriLsD$@7@x%o@y z`Q1mkKgp6AT~sZrs~)y->BLf0qDFh70+`kZxGk=WCkW`obJXou%3%b7!*NtM<LE;< zKg9W%lNW4$;b-l2&R>RmB^d1SQ-MnZ+FM>KltBPBTN{n#I+q6jM4pRWJV$xk|4@p| znz!*rDy%5d(}M_;_48K*y}Z0$<(JaZ(wh2u7Z^5le#M84W4<x4)Bv3~iG9W1&{7BA z;)1;uSgoYl{kV$CmM4to3k?iG#r#R8Q?(FeKz6Z4c@$aNN*MhWD&@4OV{0t+z1j!^ zM7rYg`~4@Sk?238wCe&ur>$wlJ85Gaa6B3MqOZ*Z(jY2cXTZoH#+&1xY~8tkRJ!-F z6mibBTv^3<dMCo2hM^*4w<D@CIh=9F$9)XJbF<F(Rh-?qshvhG$#i781ViYdw!0TJ zqeZMs-U~}uA98Q?eaJR(T&1|=ZxVkb|28&vhLWOVrUdp+_52RDA^C)bF81<?e;y6V zDfy!qPtSNRs_YmlnA-*TEoV_%k;1OdqPh?Z0^taaG5&3&%7T<zd(1&@6ES^xi`FZ# zF%xIBKOjDiw%URTfN4W%5qZ)7@4}F-+l(5I@Tu+<!0)Wy!Q9p{!{H^gZvq$PtrE`+ ze&0cQ4RGnF`omQ|{*R!B4NTiS?gNgPAf>kudb<~5hl*B>FMp-s64yej&CUMmCXH#Z zY;Bk5nQ=M6;o_;4kL;D`X}wh?FdXH<=_U3S^!#^e(t9tz8mhsV;Z`g!W3SlT81R?7 z2y_7X*<dno5UNDLcc`BG7EJ{l&jDT$%KQZIIR0h}W=KpaPend1(NX*6s01-I$9se; zY9*MNFgJ+Y>iAqmt}36$j`vq9i7V66<i|tXvqQsnx|>>x6ZMQh6thGJ+8WFv4((6Z z)pQC%x9dSdu-eh(^>vl`2&r-9{F|bcg*SnICtmAw3-u2GwUX+)gg+P$=j5nA;G zol)uMFN}0=oCfy@ao@k)u`DMCHrbmsW|fiuzD(k>lKYs8P*yIaaVpM&d&;+C=pZoF znrtOnq-v&qo>ta>(U$$cdjY<egY-Atc3UHCwBF|N_t_kPf7+^SG04Sl2|O0FJ(AY1 zTrj&RXJHcseZkqRudA!_yx8SOdxoK(|Dz~wSMgK6B%EGM#u_B8D}-s|BZU1nW=m~V zxqFE)Q8jH%Z_&WnCb3Xf4!&kuD=bsdirGs-NY&=FYV~Pc=AzY+%`H;E$+c71mCY7Q zz>^t0KZ1Z&M-y!nmAtHaa&HBg=h(Ru%6Ce#VcO&1p3~??rNuAd5xkdUs=Eb~v0-UX zqChE6;)W)$=KlX(k^>#&r&u%X8MHm&uiba|nNt4J6nYfdx2z}m?b06=l@puYv3)_T zkgI^X_;E6-GmjHQf6sAHl9>YJ4iw=r4a#b<;IfH?;O;orged;;k>z*)I$!<$7xa!f zklc5lp&*regW*BD_}AJYBx=FaT9Pr9+o4jt!(p$9;2LLECVjkE&@Pi4c~K`P=R8(_ zOMv*zYJ__W!7)&C5;7~S*N7KBv4~_Gk6ms2soevgONm(7gW|05nx6u>wFzNm!8n@> z+$-n<s|G+$i&56Ea&l9l(sPr%%{Er@n8x>LTFZArJ-ha8tFTg{LE|1ZW{b1s=%7$G zOhU^Tf#t@mQ;5{hpKn+QF>2lO<#5mL&cxyP7P&44;9iDF8o1acKBOAETjbpIUtXt# zfUY{?Frwbx$gKf@$2Uhi74|$#_@5eCy)1j^(qvIn`%NdLnyAT{#wc9hx=fgJg_h2v zC6D}$z5WEMaK_v;)v$#fjQO_Q2K6p%>_p%<zP$^c{OCM?Ory~Kc>HATw4UAmsJdm; z;=d~lvC$w^(v_vy>Xz!nRvWK-TWsJ+*EmE8`z&WN7<k_3-XM@9+3r!YNeW7FHCiO4 zCPXTQ-Vpq>#>Lz3@g}fS{yF*!%VX)CbAgd#`{`v9iAhk$_ngV6Mxe+~p$BQ0KFkN= zL3FAWQXj^8Rd33w0(1nxu-F?J;(1EUhpBHuZa&`*R>X!e8z#ap7FDUaeF|7Lqqj6F zZD)l@gbAnFjC`qHN8>nAV_(X(W2W#!lj$z|iFa?qozvngMglNG*$>do--laUBTD5U zBiTXDT*>=Rx|bGh5mGlenhEr1qU0^urD7yz&F|6`JCIZ}qkmyM$8*c8<B^Z#(4Sjo z2W|aTejjq)*pN~xWns%dS_!wDOFv=fE-aJ;z9dPO&B1Cxo?ssx-1$?M&rtC|O~jdl z5&X{i$$1H3fj7#ZJ34|lU^X?LqnX!<JuK_1Q4D3D?+qV0U(AWEq*(##zp+GGVZAe= zvn`gx&%GwV4q-3ypDI5EM<vz^$%7|Cc4Hzf?IftJ-@zFYyvk9t-m9@3AurF3FJeI2 zNU_K-pKORJ)1VdA&iqW4^-3yP9*Y&Gdi<F3+}dr~-_#J<M$-xM8~vH^8A^FkRLw~h zUNb@Ii2F&7@}J~$<6fqeZquP`jMaR-RN9^6kC`Q`w8DIzL4yifx4EgqKX2I6&fQ%{ z|60v<GLJT*1$XQ*j|Iyn2D#zI{^BiTUGeC~!S}--q#LM_U-aTi2=QsV%&=cOi<(>4 z<<pZ<>NWB%Rls^4O_<Fe@qsSgRGLo>qMiHHaxz@XhAUM2v}n%f#n#7=_ibqSKbWuH ze3z?g&%-vX{u+52?4l=n>H|)n&yh3R4CnfLqS7ujcB!pvk^ajrgk^oe`#OE9{kO#< zK7Wd>vBfuEx;fu(;vt+6B>$<2J;qAAbDoAz?H^(e9s4ZocmC<{8pQ2^(R!)ZUppQW z2+MM(K@kp*C-t!6Py&k~HK4gPEiI8mKx0RIMkgR?8x5v?+~4^oNklg~uPAu)jwSZP zx%;ik`U425G=wrnle1MAhqrt7xMo^Y<D3g@6orz(%GuIx8VO6tf<%s!tz9n>GL0F9 za0RwykDi_}T9cpD+L0Hhgr4a|*B#pKZ_c$o5~BYnIS+L_UUVx!yG5T0nda=VjW=M^ zcLE_8eMPtIpR9I;1M?Pxt4_w_Zf)w{hfVq2`3;Tq%|8S(g;*>wRiHVPV+)VCyux*G zdw3>D3JQU+zjbyJ#T)7Z`5|uwtTx~}tW-tRH=*9L$4H1!(vV#&G&M!o3Vjkes=heZ zHrZaQhr_E7OKpB39&Hu|_B-P*%(CBAL@LGET_+r&t04w|VIuF+s{dDGtG(sI0Y$kR zu^E?h_c!I@4Dr|oSv?6`T)nk)sO;3IvD`EDD)=2b2Fe<#6Y(M!=8Tvi%^b>JwGlve z^}s54Nz`+u16QL;Sp24|KdvfzspvOze(Y`c|55Kj_2(ayC>>bzp9+Hsb98G=L%O8e zG%q6KN)1>6q%+{@Cv2Mf(sTII7c<jiS9Izco&55+LXu^Hhocfm>g1p2@<mpBXIL*D zDXAC}#0wO8N;Wz`zt=3+gA_C@OEXx8zOUwQ$)Q#*-U8W)oi*ku-Exv{d2nD1^;<xo z82OF~{I1>~?jv~ee{<1U9a2Jbqs2mfEZY&}QC3!ec>4hIF-GG>oKrqZ<T(0Z9$d38 z&=JvF2-ZL5@;@??wUC$`J$8TX9|a#;eu<6Em84S)sQ1L6BMfoGKEBx47J6uc;O^(J z%d<qh4ONs$i8ELT376_P?WXv)NtP9``P_6$&SWM4o<J<{4)G1#3k15i?;f}dq{*`f zcn>U2>N)uQE@};koE*60Fj(sDEY687ywzMl18w|->8G$Vap1KpW3z17mp(VeApu3X zXkgqvS*jmeb+yym9quJ(*B3@U{(#dRgu1<=MmV0tRL{%unxinZjrAyLvZB^EGZXeN zjxrYSPIHWLn%fK&s7}sMHVlsXe!zIJ&DqZJD1Mr`Xl}}veuGNX^K{5u=-C|_Ds3A1 z$&!?le9Sy$mzs<d7_3OjjpX2nJ!8TZ)>^=hcWMwiM_J<nxCqgmhSS){6DGx?8R|4J z?mBVF7%|dC_TBNi+|dJ0Z1=ot^Ob_Ox{qHIm+5>b3(uJ?>&jEU*3RGyM+ys}PU%Y- zQPY*Ni^5o5(PDK`!GfmhErxV8h0x2ZQ#|sQ!6V41*NvEAuz6JxopsSlbhuqIw>u&D zpO3u=Ru=3pC=eRMDUZnIuVV$o|7*)oQ)$6}{7wO3iK%C@b42P>tWIm*@#L~NLPFq^ z5oF@>&2`5y&rif)i2xfSO59%T*bP9`kq1JLg{7E%azIuLll<<uZj<Jc%pK7X#b7Zw z9$?HAmm(8=qZ_S0SZ{fO;S1|YpiOLuf;nnb@?7s!pSR56OB#fsNm!q>%3VGt5mzG7 z*|B?K(j^sYYW9gYo+-&?v3A&$n!j5+m<Z0I*ICtxv~!-%yy9MVyG$k-`f}tMSB4=o z=6C+(Q%FGX!dHN%#hlL>6Rg$29m2mZ&SGi(4b!R??<n(c<Db18sizv=zXHAwjcKE9 z^qGRS*4i3n@a%VMDpE*v7SalyZ_NrGZO=^#M|;7_8az{nsi$;is&hYEa>#ozs1^hq zk^|tz`FPfPy68UY1~-0#Cn1wPqw;$yZn;n3C7iY>!>%^tOp7p+Ls75)k|AwTn27gB z2-79*jct7>7+Ok-p6Ed_YRU|cxz?aj6y}7nn3KUlj<)1abjW*Gse((sydmA1P@ou6 z`7#<xL5A36HTQ{j3iysi#KLv*+FskldFLrqEy<2O*Q(4rXRx+@V8N6#-{$XVGK({k zB-!(ICsozqg}>GX5<py+1y;D~(mj6jn9zRzhVAiehrcKZ`yy-%*-w-Sw^B?^AV|7k z)K{<Gn14cgCvS3n;nT>EAQ-LgH}D`SC|#fnXF2^``mbt$3`1#pQEhxuRm+|okn_%3 zjmX-QUVxBhZf5v4g57hDwWtJ!K)p|iv#^|TQnpLM{dT(c9*6t3@0ajD5rtTQuj#E8 zdB3wA;E?ujP|1tw=Th{S8Hii=nWc8cRfxFaPw@r}m>)aZQa{Z0h~ILF1P0wrk_On5 zF6Y5)c1ADskUm8+{JH2iy#g)QZPr?(bio9sX_>azzmO~U=WLFBgwXL^lj~&&5|~4X zUq{`@<Jr<qveW=0+Q~b*DfzcLE1T{RvGod*s&}znLX7)#qBHt06R~rfCFzwq)N)#F z5=CTqY;cZT(Jw5@N|Nqg8?A1|$cYdtpQpZ-t7So+xkK@@s3Mq#0F;LRo9i=LjruOj z^(FiZ-MUmQcMd7pCq{4yyHalqre8M3w@nP7cYQq-g#KG-tJ@H}oKn~ic0DBeL<ZqP z__Ics{Cw<kCeCVYh@UjHRjL(XZN+f4oL^tsaZ4Um+>aUE9d0z;&tNIhG!tu&V)7XA zm_Kw@Tayzc;z*E%lrY0b68qJF@a0FRoOgp(G|_~qb|3?mss&!7n~Y-!-5Exd5fTyy zLQwu(yg@sDc`*h(R$C%97-5TxK?;ZXIxMSy-PG3bPqR1u@t31tn;5C#sH&U@TU(%G zCD%`#5$ditD5I9RNned6`*QwP6p7KG=XB%&m4Lq@LzKP)O0@Nhz#I^W+N%SFSRy8~ zGE&UheM~jQh0uKxyN+OOnMIP72zwl)MQjxVJK3Sbl)Zd?g;E}K%Md-2L~$PAyrC$U zoVvZl@aUdw!RSX55aD^_-2{T>p^!)#Lc<xXW+G)%t{pr}+NWlT3g2t|Q`YDwqpU*q zQ&;whj1N%RY8Z+~?B>P)_Uu^L*1Ol(Xc{#5{P4qOuZIAatObL4yf`^vDgr8WE>F2) zj90xJF4R`jnaxcs6otUF8s=e^;On#6T?o&9k~8TEpG%Smr(rfw7Xtka*TP_F*59W~ z_L&qxG9i}0z2*$PjoY-o1peLGz0%`@!Y{y<Kwi0Cq{gt&m2Jh&(D#Aw;L$A^u`)&! z>9bRQ)wj>8Cgim(csni=kT|qJ>+lT)Ygy{DDKd>*ID<8mvN{7~x|C{}6<N&w=uX!g zV}QkzHA<-BHzQ@M%gU@tHw`@*r*txAuf+`7x)U!$6!}X$FKFDcXN%9rGB#6hY?t8P z%*f8QztrGL!Awnji(ci#HHV;{?v)){Pk6WtwIL-V!Jbm@d+TqHsj~cU{l^vNLPq%+ zPkp!`VsjPX(D=+xghEyu0*lu<A0O|skgX1EVI3&qET18&RF5N7<Zt-4{+_#5w`h#U zyt({G>;5GCDbyF16gr>`6e<C^jP$aIkM0AhfgN89xRJ*Y_0Ez+^)Hl&RCIM0mA1)z zcA|94otZLT#s?;S%d0ENAK@C_s+7b6Z&h}V*E8^f2uOylwUCPxk?}5#w2gO6Le71} z?9Mi%2nKn&O?CpTi!6!NG#{`kS`&K@%kbr8rlPt_%>R&w{Z&NCX4CXr@oPWU>bYh} zUwtM?P|6s+o@D*N1TOtkY;9LIALI$4>|xS%KlXb5x6Z3sRpmQ6i2pka7W}Gb!0MBY z<^y-x=pTQiu1*K+=yFz>XQ%*qzG#d*3;Pw=ZdME1pC4GKdkvTU;vxs<VijpeFrFO2 z6>417IPaO8e&LV6SYj)5J9xY^S&^9W!Fz3rR!c2rSx;CgY&c!?A6vD!8FF_NmyPaj z_~Z~d5$=p+>%=5U-L0-rZ!^FB6hQx^^AJf@h~%vQWwvxs&Wm<Y)qGnZseH=DhT%yk znufZ(5bGPkzH}^4w34?rR6zcOggKGp_)7KH%6V2B6FKV>IZr+Yr&jY9-Aa*o={?dQ z>3rs@Y-UOwA)<E)-P;#QbGU;y-PGpB5iUZ}l{#<a<<+GZjh>zPHx45Bc;D7=2tgyC z9<yI=ZU)RREc}PRbUdfeRACyn8hqzlGyM-vGB*@b`p0+}2nvPr;2CE{{IC=6`w8qf zhe}Fu*hTM~eQa=`gpg3OWs^mJVmBP4kTH~mD1MZ~##p*D4Bl9o`XRB-$0wuBQ5Jb1 z8hrkM618)-Os>xouq9?V-R*KbZteIknlnPzrDFLo@oUbxXU2!8xY3`@8=SHoQs#1r zpZtF+D!}syggC76rIE3T@k)NJ7a*3xA-!}IMv3w?O($;&i-a<s$8>&-%A@nU;)D;C z$MGws5=cjl+8L1YA?{n3S$YcPie`l<Z42lHepnn;vUPah?u+;A+h@B?@HU5FKTf8s zQvrCgX^t_-1)?Uxzr~~c##m)%v}{Vrn@PVm6R1zvCp?V?SufR#_(lUg7B;?-SoO!Y zP$Oa@?X<G#{M@zw40ra>x!2tQ)PkTrjKd+nC?ZLbWt8Qoh7j*+Vu2{VUZ_>QnPEj^ zEcC#=4Hm2F??!bMST$=fQTm4_zRPXu%FK3;bPE(Uqi%MJvu~uIm@c#Pz>@ihKzHd9 zeg!{B5#aFT9ERw5--vLuGS@v5e3vdhYys=8QgZ5%d>+R|%i8*tPR6l7P6JU8Ea{>K zYhu4$^mRcn)ZTRWjE_-IB&)b+tdZ<}|3|SO38m8Vz~c6aIJ;b^oo!u$%|-%)-cgeN zEV<sWX%QN`>nMa^qn?<xw$0tUEN}LXJ-KhdYB@@z)nanU2-4?-i}$BR3iy_8^S4kx zuxb0JXJEJ0vMlEDPX8Bt{ZC0=)8j}|LH^=f+tgHU?8M6^2<rkMo5lWe>+Z<pP_oPx zIAkzKROf&dc%T@+F)YXlqYX7WBIK(<Jt4gVO6IWfxo6dYQwxOd><yI8f72U@Hw{55 zCx}&GJ)rW1*FNlM*6q5n8ptnETfewkuSz-w!oJ!nI0v4!8J8XlkAT(#h+HS&h_;wy z-+!0ivwb&*-{;bz3{HLi9x*2BdkMOWVGFPhTe!wV8b2<LlQ#*Gq)vlG#hUy)nDUn5 z(vpS2Y**ziLbn2r2&=G94J`%6AJM)Ud~Jfjdj2Vycac$HT}lzhDVs<>skZvp@Pud@ zED_btjVm`PT`7;6X4sm;)7<p;Vm9Om->!bM>ILD2877BN6LyjxR~|OO-7ZfOwH%QB zX(&&r-PCKtB}dN1_iPW1S$J}B;h>s0F=a%3Pjs>Mg_#I-7DsfE_#ETAGQcuGce<0i zKG2HV*NkWpi_Wmxvlgw12cB8u=VDV}ND$*=8Pyu2U5dTcb$s*^+sybUN&}?jD7tyB zn1_2YRZbgkiifHFB#MA8hW;;lQ3l^R_{us{rV$~w<r+;hy=a1_K_RlaLD$SthxOl$ zjDPgA#p19dt)5Wdb&jMqP~cug?}c3!*s62j&mz>6PYr-%OCpRPF^MJKWzzCx1dqBW zYKsGRjg6_<LwriGi5WjJ`h2ijt_gJz3MKjWJC>rplXRV*^mLM79H&xjDbit!X0+l` zfzAe@r_(3{qu5CseEgG(A~-LzOIZY_q``EP4eVF#9$bRo)Yplwo{h3eeq2AdcZS+h z%sW26Fq}Sf@d5R7?l{lz7PE*utVG;UrbBv%ixvti&evEym_5#PIyk<JynJ5`^1UjH z!QKm=T8v_{H8MZHn+j}y+xuh%_ueQYU}RtQ+rrWGKr5Syw+G$I%`D5u5e%*}J)Z_e z?C%r0{5nKu#!1Z~iL%nm?5wE)Dgx&4tPm+HOU;L&mup&{m_xSKWS_i8z9g>Oi16xw zDZ#J=CM>mdvtxYTx+xK}p!P146<bg1Hup}nl%W|BcKgQBjXCdc-q*WJTd)NBjy>b! zn1`vdBzs)s14rAr3sNX&un%r9k)!Py@5ogrvCn}sS!(5vmG5~SI$EQ3>bZCpn9p=d zP~t&@hU9MxpW1K9|GM_-_Y^fwoIL3aE0=MgHQb)7a*ovPL_Zp=-Lu4>p|`W4P0O&g zeiouE_u%RAgsEYfy*gxJK*@i47}TG6Oz}>?h{2VLggXAYKi+1o(e}8AgW&-YlI`-` z*W&mkZTnDjd5Z>Y<&M*8YUO8st|>Q}g<rj=M7j7=esg(TshjYf0O&k7z1)S*Th*65 zp1l@lLKa9|<UP}FCjWuBx&_qp5?!mFlD%<mI5)%28lA~NWH*?+MrYL2U8VP;qoIJC zXbezLinBFuV~Eert}C#+Eyw6R2gq7uw2<;%HyuL7j$suU94vA8sE1`?*=4?J{H=R^ zN=|?yz~Q~YV4&oZi_BR3RKDFc6P4xARfKRT<k#=`2!PfVMp8_gCNW-}H$7OqpptPk zK12KRGj77ow=t!AUv?zCGmWDZTU@;0;5xMWkcFqwjA)LtDXFYokMb7@<t?=%O%>!` z{(#r6UpiRJ;N|05`|#ha99YlHu!dhd1)W`l$#0zDcoTwdqv~B3YSLaS>yDn^uqF)) zeUw{S-MN#}CF~#&y2~YB6g>y5Iu%Yc8dA$J*Qr$>;o}~t%lhSdk`^?AvpGiIEA8n{ zwO~sq%ok-H7C5G%?K*E|Uqe!O+SVs)qq?2KlanjvoZ=BMM$H}9Iba>=>*+iK*Ak~g zIoSgtdyYq^lom?p=I21{Mr|og5pN;y06lkcvL&?PQDCXQ%`nB}Ek?a6l>Ugy?xmHe z`!&9?OW~*?6wI-0;*PSMIo_ZZln|=>H76)ee=4wTm(-Z;I^ZzQ$3W12m74GOKqy5^ z9FrQbv8NZRYutCf&XmCdORH~=u+O#wY<&6zILQ`Kj*sb^o6?4rMdRCq+EC>j8N9Vi zlCT8!e@WCaqQrCwi~Qh<hj>09-WdXXcLdIrs2Urv3?|p*wHGC?FmfPMsU}aLi9ag^ zcA%Q~an}_8zGRbj>NdjB7dy?C)27I+dy;T!ut*^La*MbTOEr!!qIc)I^Tx>%w!XZB zsW7^8tRlxvf9eRo7BE$};cWq%LDI!5Z&^8v5`y2yOP?m#KQu74Tuh3s`a$1mtTi<j z^%;CkC#?@maQmO8*9x0CR#>$s7}j$uOx@d+?-L_e=7?Vqvhj7trPE0%I4>Nxeavs7 zfa@CVNw$l6Imta%(*#{oE+V;#|1vxQ)}p|=Fi9@;MTZ?4FoJ*8xK1i4HSDBV7U`_J zbVzV*<b&B3P7Wi`WKHkVApCxBr^vfmtRypuKhr9M4wG}hzf*q&O(NwV$B+Q@v8y;x zWYY)>0Qo$F7cgOo-IR<#KT^;5&5=AML$kWR2%^BRGX>&|3~KJp4O3zAvFj7FtvZi! zDE@&u5k0be+pQ3i+Wv%0y+EG8k<-qdw0`^IHTM0xQv_|axiR7l*^NWKf17Uz@ML@& z_)QQhYal6Ibl>@YMNp)R^t(Zzi<|DxzXNT9Fw7A?g!m}NYf^NjT!vAO{SIPn-2F8I zk5rS}31TRvPU|{6l=1)?lY$2z$B*qDVWHr@(e~jzJ42D=jwsr<L>f8T;7&L8!Vtx* z5NW%>vEBxesI}l<R2H6vE52{WNAuRGN;#eqt}jM*IQkT1U%XStmNGxn)jJ*dZcbl{ z;22XYnYV4%82pGh1jM{{21;L#A4=U$+WGg)D~its;?ycx-y02)4!+ir%kuN{Bbcf_ z7K)TqubkXjqeCvnkz<D&D6^~0X^W_>{dZKXT0Zo>^SEzAfb9Kje|8T0VNU#WrtW5v zSjR!3JMohyNstqMZm};22RuV6l$3ilf||%^dJRMxH)^NoLT7-aH07IO@tUE?rYfJM zSgW|-5g@do#@=#_(P<MCYwi8i-9<q7CgJ#p_>56?_4=L>W?NTgkdaPI0>=;JzqjZN zSBhRCX9F!1_DGy^n0Q0F5olj~W4F;B@Pqa=@=_WK-|+RathsUl8*>%c&c!6Anmyrz zuabmC^A>&cd5Xl#DL-6FmfIx+44u)JiSsT3p|LjaeS2*T9dF2c_<79H-Xb~9mceI7 z!aL(o=?iIE3$C%<EIp+W{DG0ek+(Y3CgUsghTAOuj;gtkn}LX-Wa#+COSq=W<q^F? z?(Auli)T!%=$+1O?hJj&HeHp^&1}2C>v9a*phvfwlcE_RXAqGMu(ZTOt;dH~!@p0C zNs6cU_^entZYbLcq*cpJ@SG!0l?)zsJ052ZzJ1RTlTLSwzzz+=c#hbSZzZS}i-c34 zo@(GrDoJfj$6_RVBsd90b|&ad#(a?JJ2&b(+0p@F8WiZZT`y#{8}9^#8^1FflXGv% zH<7QaaA2=1EU8&5uM&3AZ_tflvqR{P@FL<PQSmB)uZosue3%^w61Dm^H<_$;cP~TI z?Z?FFZKq&k#7I#3t&?j0F0$85&k?^<qVSv9&QdP$mN{{YiZ}l-ieqOTi)?zsMW$Us zfRsT`gC|RzV0V%cp@>7j38~`__4(KRO?aTeUG(7{mBaH~QBXTtX`S9DYcdhSiy#=@ zNFMV9dHP=C!B!@em@;g%u*VJUPGtG0M+Qs4)+7j=4N{+IUGO*E+`v{l7*o3xd4s_@ zII<icW={o$(dHO$uv1mKcaDZEd$L3+#w3V#LrDTa2#9oMdGbsu(em@YUW^t~SvDXO zfWhK=f$IVC-<W_*JSiiJHgUoVxJPNdN)de#-PI3s151>Rn*(WGLJh{PFt?C38Ha0D zaDeIxA2|OJYB+GFvl01h<*+_bJ_XQM+_)Pmr)B3n;P;7({yWLRn}1B+)#a<#q7Rw( z48u#P%8c~JA!BFF11qo<rb>ewYpPWXUbgv89E()tf$HSSJnMX*A)TQ)5f1%9VxXZ1 z1>=eTGIr%s3BeczWv`_jk(c^g(ml)m34RH-*=aZQvCUwrw&7FVYflIgUhUi={C^7_ ze<CVNl?ykfT!MCX55$MluGKTXqHJR9w<WMU+LP>=bAM0c3v*fUO59p6)BjGA-9baA z_%V9@CU;HP*29($)@37LUhgd<J5RmEsHzjWa#BhivR5rps;@&_{TubAnf^%8(T0mI zv+Y>q^ndpPbdn1No^!Vmt<l}I@qqN~+%0jNW6RQebszx!uQ|RE<8jnv^;)%!NTLXH zKwN*eXeV;#=;yAlWz<B~5A%ec)WO#hj`NsqA;=i|<D&$Z^aKl%M7ijT4hb6Y-4VJ$ z6z3yS9isM*7dt)Z6&zBx_<w8(=}&P4fA*%#UK*@@V%_~|1K>3ogThDjFp1iK%jM2n zw0n9)739vaI^PK9wqJ~k6j*0)#$osC@9m%%nz&q+e(aO7JR$o4?ZhyhtHWi8nx<<4 zXmHd)6q+VJI2Y;4JH88ID@8qE@Y)iXw2xS>l0*qcxw3HNO8@GBMDOs`y?5L%c(skv zz(H`sL;iO<sgg*FPk-+%MN37yal`78JEQrUQbv}_pKzM{<Dj}HVJyiZiGdkdu@k!r zRmz;@JHNm|>=6V>l_AX94lZ}XfhxnT@kt7auVJtMu^+z7iC7~ffJg*JjAX?{omNe& zi08yeO!hQ`yZ1Yd`ge~wNfr%}<QMWy)6onPRk(aFDDO3~V5?nf>wg(53D%<>wY3FP zb0DOKus3~(*&^-F<6stKpTIte7g2p5JYa4|SO9BfBBo3GQ3iCC`Vek6q=;nPr@T$} zJ5NJD5Y|=jlB1HBf;jNe30ioJM~jwL-I*iQ1|#ps8^ONY-K>oba)Br`LQ%?~4e4e{ zd`_bz_$>yy<d7qwR&vmWcmdlyWwlVgK5&bv3d3Dagx9P({DRuC`d3ZWQa1tRzinzh z>%C=95i&$CQh3y*52?}L!3h3c*rY&2-0Q}3>QL8eaiU}&nCwjYwl&7HzgIUZDAWEA zTD`b~fpfS7t9ABVc1>rYI`Df>_K#1av0F&&BBA4{66+vJw(Xx-j2S*Txnmp+S`Va| zEn>_j)fv@w+0!<d33@XzPIktTU=2S0U?+;G+59LQZtU3jcA+2O!7bC4m+V&F*d&(b z(+81umlO4?e=|$oVBf8{jCej}J{mJ=Y+98n#2}n4KqcbGcw6kZpZVSMG^@yazT*%_ zFp?zWD_~Q{i_O!Rys5w+k|(#Rto{7Hbc2;u!Z{=(Eh{T)^`X_Pc6lem;F+)f-)hm^ zkn9cEO1`@7lbgnj@J)t`!%ESEZ~Mi=bDJ1cCm5)^+9%|Xw4&L&QY+#4g6VaGG>{^1 z0->FWSIcAIX!aI^t?fTDj%+{WBVBM5HZnIeynO5wwXI<Y@|IPj7?vs}Pbd1S7Mva{ z!vb}SpoMD*zP)~VJbqj<c=46@y<^%zPuAQtulT=c`o`eQny%}KIk9cqwr$(S#I|iG z6WbHpw(VT8%`f-!)%&BX&W}^or>akPuf6tKd$U6lMK$rwkHyP{>RyMLHn&IE*$0!d ztBxu;yE)vHw6@?E_*z$5WCmlO8-)8k9ok6F@OsjF5|#OH&HZ*?;B7o&)mKX|l_T<c zKiTHX{(Zy)yGt~(z0qPW?ec1d1dUaxwAmQp1@L)fBb+H4Vg8$&0&q$cy!^B_boOIY z)_Tzp@<0MU#l}s*4Ctq1gCOdoY{g@Ud3&w1CCiOx$d(67>$ND&<p|W0c(OtiMwQ4y z6za369@F1aUaC$Rho)0~(=V?p-faw@yG@U>k2I_JodkhY%E+Oe)SIazJ27SeW^Ujd zR>1feE5#B>0Wp>DHlGkJ5LY$BhnyfF5S7cc%?K%&zxgdCszWa=j?8|q^|V~qld{W< zeSFxz_rAD~95q9<Z%7e9ELWf8VEalVR2_c^r;T2jYMvXCS@kLnG9KnOJ5{%sg}*_t z?$$)1nQ-4RT5Nz>)&;k;v5g_Z_v@3-6(zm$+C})E1LHo=syM{taF(#{!Mwijk>c=3 z_r2ow2d%yP(EAoNPAd8hQVV_e75Xdxea6g90KB*V&e!Em2~BN*j(3W~et_}E8{mu4 z-g`s1mIB>0f>e(!5u;pk!}-<rNykLZ1QQWMz6K95!bXEF%d-kj+$mCO%dXttu!KPr zw2h(l>_`{ydWO==l&e!hBeE&x%w@U9zie_8UtlQ<sZ7j;Tl63Sn=2!M0#aT}y1T*s zMfO*HZXAnoGK~Jla;@bJq#ZxjQY|g8WY$&IOmf#FU?H=k^_6jbh80*g^Ht>F)m2%@ zZI>BnJU8Q!tY*p85eL!R=y*Hrlo?T`e5w=uc*T_x$Y9o8z?z>UKqhV@nafQ#Q@Xm@ zT2Pi}L#=gfv#6>j-OgbZ0kQkJ)(8FiyQ@chSyun?77j!j^#*BWV1*UvV^o~4f97Ly z#^HDp)Ayd;FX{SY`g*WuSQ^+|J{K^*HZjq(OR9(4X|}S&3f{i$a|nLL3?a_l3DU*d z(lzk?w`S>pnrm42{KWLhL$~uOFTUb#pV=JaYTI9U8cEtaX1|%hpIkoo&=~(6BaL34 zuTEC=wUGaf_<shka(N#syAAH`TR7imH@~#J_qMzP5d4>4<}<lRYvy@AF=oH>zJg|M z58%ILr*nAxK8K}g9Er<pmr8_)UEpj*+nXo?=h0{N+_u$OoBQ%X{#H2*d>(gqHLuf* z0X?lT$M9x_X4g`F+*Xr8gT2@>os)YU^O!A)IH*_<Mdf--v^2x6LI-s;W`sHXDIYwZ zN;iclArhl3cUlA1nRh1sB^M-4XGpo$QsBFv5kr{UR%X7GVULZ{$Az7wMj|gdr`5L4 zgn?(hIF!RoM<Xe}v3|@^>JfE$&zuzp!fmsT*5%RUh)}lp&bTA*S_9qP?Jw5vJ~4S* z$e@fTJPMPI+eD?r0&%S5WQuRzyR;v-cFNh#tXwov>~pauCVL*u*5*mn`X0;vp3?=J zrfr+#fExxPX}&#Q%l7pV$2S7M^PQCKcl&6#(-!@U&XKpX#_1RTLq7cN0{`biHm?_& z|IS<W&OYz8$Bd1aB1-4`*7flL{x^rc$AtFFf9vkG^RDN6r0xs$SMv*)PN%ikfMItq z0=ahWBk!%TR8h54JM=r%{qb+9o)Eo`kXrl6k*))t=6T_np*{c0WleQx1FmQUcYR3B z^X!54Ug-C{sK(fAjOt{Dv<SV92>o@4uWNI>U8trmDHnggDI%F0MyblXmqjjdDShxC zqPVS?9gRL*P2s0u5qjN{cCRQC8$%64oWXZI{Jt+;M*;`2zw-pkW!JAqQlo$kuQK6o z%=#ypfC-v4kC~&e-~xLJb+B@S#}EMwZyE{2<i=*m!CH+BG&gV-NFr~N<bu8$nZG(f zC?cq70W-Z<)VB(=66rQnnG|#Z4fuD@4NgdJ{}fE|@Pn>FheC58`IN{;V7qFmto7k0 zTCHa&-ra(4Wi{iVn4jaR%AJ7EmqsiwAZx07FTxHOisS7mZV3)y)iMaLVW`b{`QW6_ zPTQd7W)r$q=DhHxy(h4&e!rTDbeF95Gp{jNfaWwtItpUa7B_qqJ0ffy=HAXl8xac@ z{tcFMt^GUM9BRZ&+|ALKir2V3@~l?&0ot=o9LX)B&lPrciOlcDrz0Q73(MADRa5w^ z@z91I-$3-%NMEpFji7y4EbX4~mjgdW_^jXhmRAWw5AXH^U9R58=$;kx-poORYIg+R z567DJ`e(7-ciy+%G#0e?t$)>81G~@gKHvQ3hv|HsvOoSYZE)9ps{1{vzYdb~^_la( zYyRg}{jupYZr{eb-CVi#WVv;n>o&TID&Bzb-+**}e_oSMG_2Ts4MTdOD!-Gawo*Q* zGjeC0xCeGS)49LOoiQkr!?4+(-FhG<cVSx_!20_6_W&p!xEjlHw%d@ODsk@SMIZW$ zZ@8orE@e%$?q`G-Babzc1km=>hE=E$kAg;o78OvDOC4+=5QDIa&(h<C)xZ%2nIMZQ z&VC^g*@~S*t}a6TrckFv@6H!?T{9-j9ZTJ9AltF~ryNB=CZ)m>i=zsDkV7yYKD?*k zbD4>{H~?A=6={}hwG@P21esx{s+Gj7E`Dc)7%axXS<nYX0-+40<OM3uS%eOn)@LH^ zSZ?_2OSlDdDg3}J0#o^0zU?Z49y>8A)SG&8Mn-5_cMkq+&z+vbW3?c+12M8m0P9l1 zv9kZhPS_KZtJKh)2Pj~BjB#6N?Kgk`k9rH8+yq_vVvBMB8A_Gio6JH1lo%Xe`$lT6 zB^kFb6``wD{NXeyzE}l5x3}8-WzYa7ZY*C*)}cZq2)GYPw9>s^C54<0R5<k7)zJQz zJTHu8;FZnPAl9$M!SrcpB+(Ze&;v;)T)KiR!`Q1}i|11(htamJW348zo=^u3(3>&x zJRPmRtrB-#<X-#tW_u6=KfmwDjUP)F{Jk*$gD?)aE3AJ@_hYs9h?_SA{>LtaIp{3s z2>jPB{N2{h=hnw)+{dUj^DWlSqwvnO_}A3P%RT>FzctqtQVaXxi{j+88Kh<rlxK+~ zWBeoE@fEk3bVf-J);7e4RhrfNcKcp`%m8Nr|0~Vm<J7;N$TmQ%wVAQx<(@Y07s9I? z8#N8ib(_L4r~}2T*uY5%BG-XG4~1nZ^d42s5Gw7<pnw0it`Os;c}3Bq|8GlzQ@%z> z)o$<uVkT`RHR13V#M};NHr&mM5x1<NISUJfl=huWg;YW-K>J@sf&e{iV95AxgP>|0 zgJD9f@}_q8&IPSfRE(`7p+N+P@=}cy1~P@m@(c%!k{Ae<iJ|#$c@@GQkbkju?VyvO zMSKB(9uHQWQeeHcuR*;sR>-PsDvIT#HO`aV8i~+IvQ#GK=vWu?{?wCu`gxzbHinW5 zWj<H(b*KU~09aDkC(5j2NI8y@N73D?ArzaK8j;DS=rcHBCVOr$<UPt3?0s+7RMYZU z4c22)4C|yWxzHh&1Aq>X3h3hs{}T@HvzZ-F%kSs%qjuCj{G|uA?Zx-pHiH`u%lG4j z^?qB(1MiR78}Ypu`OicBvX=L`cK(zB;PmqHa*E69TfY7MHRt#8?tQ?GuUX-r#=$Zw zHNoHVXIE>?A}2GvNu`(h(UhfDEJs+8&|@v!k=ybB$ZKj0k}hlA4s_ns+o`SNU&ONP zr)?=@LbuwtI<}O+L3@y;TXk=H>+1^hJ~M73Yu=E5#PC#X{!{K`SFSZS>wQW&yhBVg zl_n?yQ%jeRH{XJo()qdT!pi(VRIpoFe5>P@nbC&edHPFVGdfb>VamBy$~VQDf5_N` z<5^C-#>}N;v2+(Jlb8rWPg$e&njHK}Z1$7*u{ute>J2t>gp=;xOU+R$>`4Qfcxc2Q zDLs#AuWRrhD053XcHP5&S&9wp4(oNY+CLpPkb3(J1QbzhY-}dGdg|-@LSWE;y?pL` z`|$nu<Ns$e=XpCR{BL;QCFONm<@Maa^z^Q;uU|N>=(=q^@btVKE@Xf7!~BPu!or$0 z3={s+womI!gqT@fx(@m3^?5&Fanr~F#70`tY6cYHVH;QVYVW?NG44@u$0uw$S7jcc z?d3M~jIW|L(41Z$v^GRCrOSM}bS$Y>VA1uh10iA`9M-#m%hdVq!}0*d<}-Lwezjn! zMDe6GVH>HxGPP`*EgDNI8f~vVS2`S~Z`WpgU7ub`?B7Z%pI-0zzwdv{kJETRFsrki z)AwP=JG<vLwrAqVi5*>1$0&mBL)v_fh$O@kNAPkJ=r1~52$t`{$^n!L;f2|sFw55_ zrb$B`^0Z>cuiOJ!z1{6!)mm1w5?Dj!&nFHn?^mR0kr_QTSos>3$%S(kd@?EzrX^J= z<<E9mD*x1^br+Gq<RQm5PC3J~Z0X=8x))Y%zy3i89HZ8900-0<4o}G!VL3$DqYNPa zyHpC2cW9gvkMV3iYhJG?C{e_tr*b~%QY%%vEx~k(RmCi8pJH2j^}Q(LL`xG&VY{za zT}T@am9{^doc8+Dmdy<q(qhI}rnv2$YDRyy4;y79(39l<Mv~z_mq<v(>eP~*^W^lq z#Y%Wws`OMl|8j8U1?daDq1qIg(TDDjx7^^4n<-zi2iJd{Z2Wk^{w6E!@jO;|(>99G zj#&|>c?X|8e>`#R$mV4JHsy6Xh82&)>&oX_U?G)N{;w3oe?!O1@)G=J6QJL#5#&~D zd)Y^7=M+8sLhlQv<`oaPSJN;J`5wQ|cMi4E@RUZr7=Q=89nuqg+{AR|5u09VcG&qa ziw@M(7T;M7nuApH3TI62!pPHLsb?6A;D5A{*mi?^?!|Q&f#Yi$1etjWhccB?qe-$2 z!Ww-CW`iXCfiR=*<Kr0u>Cs{1;J~b?mhRZ8VXVNERzl_kc*2x|w3TQTG=~A@zuTM+ za^m$hmR~P!k1|b`i}k!WA!RCRgpp@SXht#v1a(G-l$GhfmtO<zmiCb2X8e%~x*)w3 z@UqsMWsOHy`b_ciLX8s`1!Z-R=~rrJRfNCtK%|f%bx^(>RF^Ps>p}Wj>%z~t7KM<_ zUi}bKD=!Jc^=<I<)GgE9v?V|oTIr1)%!RnhFmR*hBsAXth_+XXR1?hs7j@)5M48V? zr$y+uMpLAB#0rxWGh>b|fNVyRVyT6PdGm@kLgs1RRVTlU(TAPaR1w7HCxNrR5jCJV znP97_BUs;>Pv;LXUclG-UZ#<LWdIoLTk*$~CWo>3BxlWYyWaTdk+&(gRkOdwHDh<& zjGyCIkfiB%|NlmcgtYfL*M9x4+@Ji%p#0?a_kWKq-V-gGDm%)YAKTk_*4EbSoATKr z|Lyf!JaBb1aiH1AM1|DW86POk>w{~~@xvJLn+U?!3&{ci9f98$DU0;&hIW4Rqyc_2 z+Z?x>!<IYQJV7i)&#CX>rs?4(=^aGNO(mr(l2peFMtr>XVWC3mpc;ZMjpp}0hT_ru zfNtdP2@~REQ$+YATZarHQAmMyxW56NmcXyBxIoU6iycZ{n@o>0F8ML#z0s&G$COtO z5@2&{kPHC^o(h$MFN!M%Nf895KkHf8sv0&NxrQE%zUhfdWG_bm+@eZ^9JJQbO4Dik zN0d9)Y60R;nl?*N=Q+bc-9N2I7M@!dyS&BwS`^0;v?>dY&?cq#Pfwkh1LmPC?2GR5 z2t$G<!)d~CN<GSVLN3ghUX*Gc(b7R=L2ntRU#jAOz`TjE?0#$q^5xkM_V`25$+80P z8;pIzb`BxA+##K9VfK}|6u76#nSf^%_${Cf>*TntI2|m5o(JH>G<9^#WYn)kX~BG7 z6KqX=;pMj%W<WfLkZbeo9tN+^u|IbB_t`zd$Y{bP0Uf8v;Mn;=a~p}jv<`f29Q7*| z23%M+k4NGh1&w76mrG=6u4iO*HLa_wtNRbso%mm9b4Tu%_=A44;r(6){yW+aSNuL# z?5#EjB7gbL#C0Xn`+Q*fehd3~D}U0|56bpY@0NM@z2rY?LYC`-W;O^x$Q}-9$8DTV zKO56(M0I#&-Oc^&6c6ND8DXU)L=gfPL}@RDX3NEzE>Ijsgp5Y4kjan%p#|<1Hl8XW zjAZQ+Rn<NAomyOcwE}MCT4%S-;rItQGX`BLCyo~iKdgRTyDM8`|NV+wyk3?0TIIEP z_CUIN>fhvER9sBqhEpU9N*}B;0Mk;zfSd)X^7!4<Dn!Mc)sf7^P1hvVbc)3qqFQAg zp;DrYbyKcX%_3Z8nFFuNg??V|e`P5T*iZ4>SQJ=mc^p%#VBgV=5<z+VtM3gS=@9#{ z3C6Kf^c(?61*{oZ^K5om6Z!V6I)W@?5`>Er*#(&1MW+GQJyt@@MAj2j&7axU$&|w; zWBOR?`TXR$tA@wd%KHzA+_sbX`+bb~O+NeVJWuI;FUo(S{Nlf7<{zN{oTvY>J$wv! zpDE|<Yxg{ApFY1wj~M%2uK32ZbRN;NvtAjB{_;Af{>btB(r<J#>>c^qDuq9!rmG*c zhSDvsgq2s#eov|_nYAXbw$8z^$se91eZ+?(`PVFpj83HbSbW{yJjR^;b~^o}ePVVi zI?!Vk^5@fAFrl)3y4>G<jxGHzbGe(g$xho81_BlFQda#Ag^yv6`kA>DPA~mkXTdVq z;jN+Fb5IQZc>4)k4Dg=A<)>55ZcFK(f3y|t&vhtOWVi0do^?s>5z#rh!!4QgRC#ml z3|BKI-g(v<_RBaJ|E2Bu=HUAP9#5~dmMImn_veWDk5Kt3in)EBSfc+{tiKQN`vQ2} z4xzXG6dXBu^sJq`sDW2KBJTNQ<a;jF*GcRlwSzjgdx&Z)TmGZ!?q?d>tGaCm&qBK( zC`+-P)@_~8NbN(a^{Eq6gtO|Zn^M_aV7PMf&<@hH-JO{DVk+lu$M<K+3}Pof#HTjI z`q8V}HmXN?ew~g<{1`o7xq&RO8_96EfZt0y;|mMb^hxg({(E2k1!m`)4bS%+q;@Qw z9Y$5qK5%ervRk^7&tap&e`9rheIL7f4;wD#gZHPB&HrM<+Y$Vpa^J6A_OImcJ$^6# zgFe<XE!z4)Ljx%~PuvezzY-qW>+Rm^(Ds0*e!el7jz(;o*U_Ap>MzvygeVY-3e4K_ z`Qb3NKk|Pl^B$3{c3G=>SKzRJC0z!4Gv_`o_>`xMh7JaxOw~AjwZqKO>x{l<xsr^_ z0968SvmJ=15fv3*J?gS!i%10&5Ek1t2_4KPPz+WV1OitZxkYO1)a8lX;;y)ZpkLl> zIQN_qEZm-rWvNL_Q)RM!TA-i|KF05*pW7}~3_NN@?x7U{bK8YhaS0Z~`XfgA3Tsuy z_7yX|%S7rK3x=8Nt!*$8wjcx7dkyd^07hT+q+CXZZP?}jxj|i80lC93O=3CQp^>|> zRfU@2AE)kt$D#-3ycpn*TmmS4<E)+j@0EfUe;_&TFEqb~H@@L!_+8Ha4`8@}-l*-> zrTWkC`Qc$>>NKeU(chl+U)$_n^G4QG`$Kvt?Q)^@WEu{mp8L6?EsTYO8_36$doqeC zZTj7TzdYwbUj6pp(HhwC^Io1Y+1h0SNg!x5{wyaffwj$1Bok)}2X0KSS|XW)o>P#d z2Tu_6{Wq~o7dISu4O&@$ix?+{B(Xi&Py3);^Fr{z5coFyD2(7On;k7h@u~t&WT{eS zRL$!N)`5K>u53i!)UZlSls>+D0KLx;JHfNXGE#(xOleAa=n*ZW-tIFxz>JoC-zteR zIvXk82pw-`=|RJ~P;n`4gIljGn1P4>_tCyzWzG7xRxr^dG=i#ORx#N+A)t;+Nf6WU zp37b#fC|TtU^Y^E0LiKe_||SWlMY#`)OnhEe?aNu1X88^Z@K^dgWQrw43VJ>>7msV z(R?jzT``em+8M3A!6LeIBZQd5_hHoF4>1K!T=4w@=3EW)jvRdtAw{ER@A2!>EkCKi zL-MZQ^u!ebaWjg(&j8Xx7pWvE1Q3NNByhzClmka5dvgHwc2v84$R3_y{{E_r-u52j zw(0Cw%T@xGV{i6NYG+RawM#2fnzolpYLM#QG&fe4g)M^ImvHd>bmDs?8V-BVvK>@a zt+?3}Glu&V0<%h=H-tiZ)rTC7$1V4@vLoi~A#+_wA7A8C5TPL1cM==zO-;clQ!}Wy z>i1Wir79epv^x#qXtz`8>6g$cl6k&H&{#8qJ{;e_*Hlr_I^^OD>KceLBQgZkCSWy` zmWmT8+WFBb8HR!ai<ZDk;OGK$BMF{%#lG&o9J$+sa@(E2XFDFaHa}JITWUNb1qc<S zf<MME5kVrD9T-{ElwgWQB8q~Vn0JcN^!vTH4M@hQ3$%*lt>Xssbt+fXL7oA61RBYB z8;%kej>u6H=fUFeT9k8o!I*1WoH~Ls1VwEI&$MPZ!d1!Gs7x`_OMpQ)&^$1D17&}a ze2vD#cwJ}@FH!n%3md%9A?nkb&_s@26OgBCghj~Pn#9=P2K+zRNl6_=dG2tH>?Pg@ zP#o<cQy{u!N&`1naHjl1QluRU@io^1eh_ZAL_@cz;}CI%bg<#Myy7n3iXWb7FXam) zd453eYqdg1dwA_p6l3uzb`$|l9`JNm;0@-#|CnH}tp|^R`rSEGxGe^DJ8(fJy0RHE z>@&=rcDefAvIm*M?f&rIiNCgg!AXOCr1^g2WOIAu?z{~7HPJvc4pxF#Gs16ggv-n4 zips6nfrF9og-GV4v0@FV2U;ol&*fmgs)d`iHAOprj@o!M>$F72u}fRuYA`mX7idM4 zd)`*%RZzFmh@7aLE73NMH(dm2+uE@l9B?7~g$KDW(k!X@#A#b5|1(qaI)t8eav-rs znvX?eCJdKH&0{l8XG#u&x>wZMVF!j6{;bq!Y0)aBhTaa!=mOW*@MdJ)v9(3+rC_uC zbR>^VFPSM*W)(t3UY8$<o*8;<X!~o&H!}q%dxIo43oW7LL<?)CBVBlY&yFe`9#k|G zRG=s=dYPQUyzWkF-@kix+*ulAKpF<wz+UiE>yBY!PKG`uoYpFY{s;AitrMU`JWH#| z#Ryw0_8wM0@3!xG-fdK(Y*aqBAr5lhME+%<l%NWdS-F9De*t8fsynSjD1<4IP%NR3 z>c2Rkc!Sa7<vRW38r-kn{gT<cFZ+bg@0SLdARHpj_s)qRZt8BkpS$8_{J!r0tD45X zB)=~Cdfsy*-1$lG=TvC*6ORpum|)|pLLM=$uV^8$*G9d1+W3-Ms$|vB@hc_$PLt5( zBQubDY^NY%U@?|BcMNHEvRWJ3{1zoW&%P9u=3)A@Z`U-n8@Z|Iy58r}8Zj+8Rd&8w zEYG`s&KxPezbx8P1Gqr~{z#z#IuPAlRPPGzUbMQ0B&=7!Q0wyO)K?g4EUn2*t)~T0 znne377AbmVIrC!59Hnu$pPs->l-PO#ppjVXp>)e`#c^6xdTXbkBkM!I_sw?({N9rM zEMK*|25p1>%M&`J9JG9=`HhUE{qF?X{rG4yz3fbEv`U!^2dsr2E=3=f=b#^DN&!Yk zngYR`QoOC8{!a^l*K`S}ZZWg4Bu4Yg8JuCyEkw_KeZ@)d{b&YxpN?DnXS*>=3vDpf zFG2rIT?OMa)<1pe<lzt6BDdS$rlQGFv+St9aIJn^N(WPr)4Y{KhbH*ceFQeSi4SH4 zcpTl=g6O{K8Fu~BX^Ge>!0OU{JBqj2u7SAb`96#IPK*0EkLw~kzy(j$>-_=U(!lO8 zw;kUX@UMA(XMUxfdV-5TlrK_A&x~fIjs2wflhw;=yg3|xSZ#a9GvpC=Y@rJ!TwC1+ zi=J*kN8F5EYZrfygsT~FMHwpivzw#k2{{(mg@`#%{>j9oa*LGVKV|J^M7xi^cecs4 z%eBgqr$thpf`G+wwOJ8LHtI$29UW@CBo=nRm0M=fDmfZE3xNAjm6k-o=o6?70jh6x ze=WpVorWptbj1ETJf|Z`m-nz1t$_?NFC8@VIlGj!4HC*AQLdd%yvW`zlJ?wnG~z$I z+TR(<`Quq_!<Lfslo`1pe>w(BU5slLm^Ml_z#b~aba|M5t4rfLm*jdXnC{97S9DrR z7^Q@S6_g>0iD%BxZ-=?ZVPejxXS{-@iL19hq~Q-fCjPZN^%xenLTy34_<G>@d!`xL z<j&SLUCua1kd2RdJgD!Em=Sz`b<Gusvj+P+Mi3(C*go`<bu-8<m}uUg|CPwst@g_X zd6L&HRDw;Q2O{fS2YKOo><z1`TCc+v#tZQL;<fV)?{T~^(|zG%M_MA?%YLu1|1``5 zaRct4!Rg-tfcS}CS70VT5>KfES*MiJ5;B054?ypCc?oCaK_O0#c#B-cFuKkaKditd z2Sr#9H8eq<Yxb`=(UKdNg^nV?k!7wJ&(B|c@jJ;Qh!RW5bs~`kW?9Uh`ygpv1}E=E z>i#A$tRawLN6HWIh-2rv_tQuzmtd*XG~s4rnMr5+S~->k;tG0HL4IOUu)|a-k|+}W z<;g2h)yQ?hg-BRVwM5k7B7w5*>!U4D1FPlmHb>D=n9AUKzAz+;iwImUq%a<&7#8@K zc(62i_aq|C6Bw?LOz0@TgkTz5sGTNh9M%+BA--fFtANs>w2E(LVf#XDCk08X#W`;m z!6<N6mc6U1prURWp-5WA1cRh1vTST*&{V*ojjqZTJkOCJ{?o{VfklGOB^GB8fJ)g% zAoJD-XZJRdmklu&Pu!MAHHM&L7XGKM@NW$pRV&JHB^FO`9IoNVF52l3^bS09a^EN4 z;g@D#EYB7*sZzi-N$aMuQy4ApRub_zpvV70o<UDi4nDpk)|fiPSp4=J+u%1@tONMC z9;hblhAxI|ojDztdL}@B(5<5n$<7w_^jYD$jtwUrJH|js=k@(xV@OrC5trcP9^ZXP z+9PW=($m&`m^E$7AW{qT&o%_%sA6LHtlm!i*t%i>=WLI$u@Ag|L6;ktcqF@gW*CVh zvJBMQ7N!ofsR{Dj+{U|l;ac*9mkOK0y~4f*GiK2DK)hdCaQ3}!v|u-U!G&k?b@+`B z<ytgoT-?bF7GiNSx4M5N8xcyHvtX)mjQrR6V#g43%Mt-%O;pqhm^Fkp07<9H0{m3K z!MJ!;VY7V~)C6a-xLd6<vmQxSC^j<+)vr^8ZD2}kX5`1k;l&A++i49Z;=-R|L?fat zc(M2N!#!9+Q7tbfRD%l&XktYx7D(LUbt2EN8b&K6gO`F6DIiKgcwj>G19-~IPt08Y z&B9ck2J2}laSenhq9a5rj#H7`l{3m@6DB1tQVnx-hRtKYeP;Xen={Bz=8#I_o`u|U z3=iTBDR3531%X7?8_0;-lafo~m|9|F>kHDmIY9ds!zR>IAvmx`IwHCUj2cSSbr5pS zno70pQN&WZg5HWsufY^4N}Xf}JTM7T5XYu8###WsMly5`2vujgKHhn<Ky~-ub{9Se z4kQclQDWl8%%(Ufu1dbxR4)AmMgxqUd-|OY;ZO?7^8gn@c^)Hu4YCz6+Ql2^@qq#8 z0$E#QTrgrH#19OxpL=yzt8G^|`|@}p%<2Ei^TrG_UL|ylU2pW0hraBmKQPnl<a_{S zclhV>#%b$Yk6(7e%2e(=v~;^pg4Td_jhSwmg5Erh{D2xE?-{>WxjV<c+Rv8nXsb3@ zZ*3!~FOxIhx}NVlR~e&=E;mM9xumA0j16Foim+>oRDa_r>!a(jD~HsBqZlS{_upFm zK=@-aB#Mt%qybn_%~U!U-Grn&kP+`(s^xUYM@!!wTxaaqg{oQV3+*b})i^Q3F_6N` zR3??_E{Bzn7ys~wOcu&4!!4k=CNyC}qJ=k#l;=)a**`h#D$+3vixiQo<A{c=C}s+% zqNCiG<C>(9Sc?oQxk+l$Vq=0&b|07}iTITvL5dVvxxw)AmAJKSqmj|A_@y~&C|nvp zE0_vstVkn!wfv$p=xou^aAnRr{qctkN}52RLMqRFC%cE5r)`@Q!9-bikqoNa^4(^H z{$yyPw0sv>vrt9^V?{S2b6^KroM^sVInh<tSkk<!jL}&x$kSMyw?9Y*XLMf_y}ZZH zOq0^*iq7a(0S@*)hSq!wO4JCm7^WRI&lVVb-OZO{IvwD6o%Z~}&EXalwvV=~o4EYH zo~XX3YCqL^URHf-Eqb)UjtsWXsJHNUe}d-`Ep8ZZ8pn47$zS$_HYOf3@;><Z-&^wc z_}^3HsY3A^h|ANZ$6cGI2F#{fv`Z$~e?p#1vMP?jtLt;@*=x5r>Z)S|fJ>zRLWES` z2Q>#HtB=#zQR)FuTVaBx%OlWL(P`v-?Osv`Ha87*9k<obOQ+Yeu6CNcc@bn2D&q<v z#B3o`=>DnY_}R)7vcX9m43#$nHaxo>>;S3@_n#8dYaQ;g!Aob<_^Sn(9Nx=Q0lMc{ z8R)q(+RH2IM}h56&^-Z0vR&Eyp9E+%*H1Xo=&6_RZB?oDq1S#p&$rdr9vk^j@1DI$ z@_dp#J3YPwq<U@|kpgyvcaGEipVxeod7u2!cWxU6701_>^y*C~I;~_{6`^g`gDovn z*A<pY?({#b4%Gs70q1Pzn!VV(RiqM|F%6^~yg<n`0uBk({crT-3ex+kzGg8k68;L9 zkH4f2H&NcLrvL*IlUoa|Gv$;v-|TT4ePWpR)Bf&i$H{=kr3-2p<8h&$?TL%x2sF%< z{q$-;l+IjJ*7S@yRcD5rMU9l~kZQ&zQ5!ogb^DMn+(k!gb@iKUK~PVCvYw{ueX+V0 zsZmjx8E5^k%%NH-S=Aq01fc(-{(Ag=<F3uxIV(pVo#IJt?W!m7XZIht1OCc^{{Z?P z`F_x5j>;#sBVP4vtDtkJ+!odpas}H_GVVV(VY9IfejbPZo^<MiP(}6oB6^!|Tbm+p z<LHwKBvQMJv|!Im;CUYHdhv?O_s329$*r5$r;Sj=*Y>%41;8y98(h5V9!k&TZ|4Kw zGOSkZrIab`3x+H<ZH=Quri3o12MWw8u*`@0{Np%dnN_s`^<vGLPdnw+5nKrbR)gw? zqcv%6VKk`D<IH0{Qbr-hQ;b81gfdr@G_o$fuJW+R5+%(kt9n-U)RZ&n_s&5lE6%w+ zk2-*R7X_wRrodhcUsY-JZFdx`uHEZ*2$3`eB1IaJLivM=4TnEk^c?6m<@nfv%=RuU z!b6l>5N&plwU~gjC0?*AXyXZHRtyUmp;~uzK|GB&)^uTQEl4N$NY8c8Xi$c5r|1wQ z<;l_MHVeAM-bE^wLc<9;hgype9u|Em6w3Enp5w)?!ACXxPFE<N90)@`q;2H4Dsm9< z0#jOExv96Eye00tqmwSf>xS8?xvvyGwgSrRxDse)S41R<l+eQ=NMedMo~l&CGGm&2 zUCR5|dD%~r@1gp{XG^8}FEwz4bn|<+PK2Pa57au1YIlXUz|+H}UV#?0G_d-&$(ixn z;sOLT?Mz)Grb>h++URzO^xo$j#&-&UP}YD4sMn@SFx4nK@#6Tz4!NpaDM&wpQRF4; zsyDk0)I;!(S>6M4DTdFt@Cylzs2Mu1(ys)AP|~iQcO*0W;IalkqmVIT@wq{ylvz$q zqY){UK2Y?;FWZw5?IDgp7|7huFs&M_r1hwl?u3`sFi32nCM`r;Kx4WFXS2)TOs`eQ zmTN23A->l6=sdLkcbAr|RZ|uFpySxvFyF%C-r(_IQ)z95ks=lTTZD`#d5vldq!^3H z3xh_IvTEw4sCyH~bsca@Tq{rgLn00$X-x8Hw4+tH>?jb<F;sCQM-%K_vYk%iYMpJ5 zzhT0nlR6o4lsX88QC8y`HtWQsSoxxXtcG0;RgiknrTa%cVg=I#tOMERE@EF6v@!<8 zZ$8v<y-Q>q5V(COw3q>a=@TJd5G`r=pAuI`qG(r|cQ?tdD_oAwYIW@)N^bcpV{*7c z1!vTrOadzBX|LgP@VtPM{-SG5AFFV?Du2WR!4O)M0*2R@eo#leLW3tK3MmrlgdE!O zj+R-LK$;=k9ildd4AJj@G<{wqvU@Lx74NaVQjsK#V`<Y!KDURH<;P2d77QLsBN|2# zE5QGSH1$p^Y6N}@2E9nN@Zkg_vBB$J{`^jO)46%}P9F3WZrqw>m2Rwe5Dv#Yp2s|P zE~Fv{B?C4!#3OM8%LRpqTAZWD1JptqTG%<G82GY%kYmM(DM`o|!q0`%jAyARahJ2a z5PHcMN}>Rr*4+x3y5gapPuW(<fV}A4SlI^N{1cC-Yle#*Ok%lH-s?V${rcT%rfqP3 z+AX%H7di=3vpGr|+Ql0@C3wkjNUda(CIK6TljDQ*a&2*(w1;=&{Z$B3ThkL0Qn7v~ z!0$?J&I$#TR68|;>U~z44l-6_L`Re5`h+76a@fjNvQR>3RBZX$*zKd~L=AD1<bKRM zrh>fV@Ls#z#E$UI5&!)zL!}`KAsZ^Sr0mNS#EQDKQWdK<7R|ohi0VQmVJvPcfaCW3 zC5MXeVr5dQ3Rb=x<}uU(6A(cRHCH`x4A1ny7su~l^u8s<?Xm;2gxOXA0*J4TLuvb} z;Af*9?`^MvQy(_z4tNW=9WO<_EYtxp8ATa=s1k!1SOvmdPAWf3NTOcoTo-SVb5Yv3 zLEo}g>XvuA5ZJhP+Qq?)Ap}_Wjv#(_TC1y-6E&hLeg5W^|GkKOo|s%N)KC%kj~rso z0K-a!&jCWQ7C*f6`6R>Xq)iJ$$xnX&7Bq&YeMx-!y8G-<{tQV*o19H=$q^1l&vcs> z0RE)^6F&V9Kmp*rsU5NIqxiq%G3dW5ytf3{mg6sD$mmbCOm&BAcb#xyvjCQXZTIfX zW~EL`(b-14X5O6%*JkEUGKy)8r(&?%&Ai%Y=ecf0=-3fLES9<NOTlOEEg5feH#gPh z{y&{)tam{27-9I;Agr$03Lv<;5xv3_AMV9?b+o)q%`R7#hgZwbmMN%nLOCEDMR1u> zidSskBBIHW_zy^M&+8VN&Ggo=v3G2ci;-0uKambb8`ON{6$>nZELo!~O=|KqnSsJA zL5VT`tk8&h+D?Zh2z-@bpi&+*C=!`hzjByURzA%*YrhnTI66&Uh^Kcdj+3BY$hhY_ zetIk^z;qX<m#bmDhEsw7Wp_{0QOeTV1P!Zq+lJpef8R_re%d4xC5d(JHIxy?6hhr? zo|*w13olSrZJGmRbS-{5rMw2UT}P<EaXOtw-gDaEbh(A~yyy1}@!Gfl=+Umt=Hv*w z=RVVZ?##&_ZsbRp`dQnVBi?f<EA2P7f*hSeZd^M|e+0Bti{ow2^#L^TPmL08Ve=43 z13{X`LKyyu`~0M$f6cn5rPbCGV*&JgsPj8@=jyQ=@zNJ<W7^|V&vu8JM;tBac52vq z>hZ1BQ&@M^_qX9wpWeon9<h;Am%(&_?{URctxI*~^u|{NjSh3Qac68;ZThn4rM*vN zG-JQp=WfewNejPoW$9hR&u8lFdukx{YKQM##Xo<q^6!oLy^pQLG}u7R7L?hWJ({D9 zurJR%jHPG<R|YzmtUp1oj6C2b&Fm29u3IR`miJW``WEVqb>8uyEhe#<yAG&3;TE3+ zay?QJZ4g9Sc)Vp=`t)I?SXV74gDqX}cWN6qOSiCu&6lXr4xM_lL%dtsGSh<WAA8U? zYqknbR|cb7m{@P9#4(1j!sO-ICyy-COuO!BtP2m{hmNi*d1rBoGC=TkJdL!xKnyL; z)7vCf`u+=tvf8F>qn9#!^iU|en|e$p?OVU3!V!-8v#geg{qBoP)~W7$fd8fMz1#DR z{!$Ah)INw57VyJg0pX-VzwG$z!oPI+eTj#$RFc|ZEcbijw_Vo|w6@|sJvq+sp#Qo1 z<#e4hTAwpJqlMr0Os8=PmN0rtJeo5Sq;A;~wCP3e>5QBwb{L0aep3^6yVjqmWs<+} zo75x{n3nqCL37io^aibBvcb<h&4{^gL&1i9-7Vn6!_>QK;Kc&XZh3k3+e(lHw%EX% z1ce&hzCWf*15pPJ2hW>K1xf{~4}Ezi4GGg;Fas=b_ji79)MGry#V}|_g);H)?tjA& zujS>YWd#`LL4T7S{95YCPf<h^MR8O~h7mWQ`;xT8>8B9`?^cN2<wt9oV{2$7WJCHI zGY@S@h>?^LrA7I%8j&z)hzu=P5LEgTDA3{vX|QX>jEx-KL;A%p(r%+sYKD+K6=M-+ zq*VUse*;(Ef>Ouo>C8rvVccps;^?m#(`FdlR1Jb@pT;jHiwrw@o2C(O38uqK9hp9L z=E-t2w4-;%4nY8ObfEB9QyW(~hEq7IAd1)MZ6il+Dyas(-DISktKR6cjhl#5zVEe3 z58Q%^(n$a*Q78f4hd|8mrm%#UpjN_K>b&w8xTwkmmJpw=qstoJT*#7j`$QF<V9~$N z*qJ=)<X~|Zcam;Fb5PRd{lM-Y%5VD2p_cUBK`(U$QQ=?c{eJK$l9uWTiT%=0r;9@h zK=^xC|L&FlbH6%we4?KTxOMQc?q}Qn_e-=+QV&A5(||ag8;~5XyKqb3?5Tyt>vw+n z4j_K@lgiXaRaNyqsVR`VGLyv4(F921h5v>0v_Za&EKfdL<r;X$>n|2`)Xc_4%G(~u z-U30~<ldHHag`{4ndmqv=Eb-u>~(*~^X`cf3)GIu!1>LtK)7h4jI7c!WG2;yg?JQ6 zo9|U3@>`_~QWiF;25NIskdlFmNTOOC%U-BWi(0TL_6bO1ls$PY8HZ?4Ts;1DU2JMk zo83y1TBgWl3|T`nBiJcm@`!v*Voh%&tIeg1YO9rm4UbrAkEd{aI&t2u{arAiDpZ4N zIZ;x#QAQ);PZfolH-&nkVl^<Ev#p>JuIlAP2U;8=%Fthxi!`W^7K*@9f=c8a&t?N< ztR_45c36w8IE0Ncnq`b)VzqsuNil+Y)W}6sa|0Dpj^Af`iloiCgIo=xjFe8<>`kQ( z)OF|{YFvF;t1Ils1uFma3Tyuet786RiVw6)+Xb5<j{G4(OYtFB3Db4Xv|=K0DVu+3 zL++zo2UbRj2_=N;2v#vj^|pp0$gn~3%>;YE$xD>cS{RG%I0I`7c%Lyb;V9<v!z2t{ zz%c{?ZMwkXV{42#xZ#UV>-6ia{+<}2-csPQOoZ4QaR7ZEpr!|@eKKHbYk>Y1Llm8z z63X3ERWptJc-&k6hY~>J$opSXY;eoI9pswFD2?PMwU7F%4ZZ)~4npj}y2bur(&Ga& zkZGmur?t?T_=;Dnz4x!F{di(kPZlO;I*!f&qba4XTe%AMz>DAIYR2C5V1QG8UXo=# zGoRnrR256%5=s~x<8l<Q0l^Y7-DE1bLffjC%Z#kh#&+JmGJqk1bP9FYw4HyE=b!~- z#i3c9P(@W2luOX+I+^zo`$=`O(WP$A0-ajOS&sb<JgS%!lBFb4IvPL^2;z2PHdN*} zO$I_YRc1+;uTFXtJ|b73XB2<MC5+=z5_4=M$Scec+b6+8>Yf>#DRU9}Vv0$abDKC8 z6=6-a`@K7bNOD($NB37nDG;$wK>>u%j0r%cXnjfHBgVI9rxKDz!u%=h7ah*WI%(YH zOa1wvQ&&X;t<bgHigN69nvzl~hVi8`73q?wsS@O(GI}A!(=2pjiB`?gw*ISBM6nG_ z(NXCnw`HC>rZ-~oEHt$x^~7=mZP_{!lyoja9=N27+9qdXRjsk&=gI!tPVssSqrMbK zyz7cIz;qu#2=Xp+6@$V<a$|X*{TQ-mWi^ULE5<MA_+rDPx37%tZO{ULtkN!oB%L`& zK#s&hb616~SH&QV6Qd4p#8Gy`3Kg)1wY(JzW_Y-tKbhQe1m;1ndEb_j7;w5K=`WWE z#hc@aH^LcDETVsOIZcRvy0)N~HGVW!hb1FgMiI4On{TaeD~#PoTlPolUk~_o%}xK- zUNd{C34dsZyH^U4N_@Z08f)-?DpJ?uj7r6_2zF6N6R;j6$Y|PRlU*#ZBTsZ)Ta<R? zJBa+h_Di;U);eBoz^?nJ-HT<W<lInn)<+RTOj&Ugf6sI^Z3+qkI2N-S9-$O#i%oD# z8c77PJ@yw_`C99<CQR?ENg8Qtj=epl?ahNAl~!h8YT4%*Gpf&&%bl(6AQUQcoan-3 zlP1xL9H+dI4#KruNs}lmtFgta+vFsPgYhT+Ey<V1%+N9r`~6CyszDui<YeTkG(J(K z&{_OPYkZeF&mI9Fma+YmSJYf*bCNpHK_ZW(u*{k0N|o6NgWP`bbi&Pf1&s>25F)mz zV8YTj2Y$^eq0FR;@A@&pvkMXD>pkZA`m*)gKV=?dVwhyoV`H+|N{wmQn;pXURyiYT z=k0v%Z9Y$Ab8t<-Bp2|Y+==5D$Kqy0$UECJh=2XM`X2UrDV6_Z8oB28yg%pyPe)bn zi5U5jVW)!LpdHBC`-OXLdjlRx<D@(3@{hUjZO+xz*4^HyKi{_fl|KC4&JD|_(0x2> z-5OiR>l$Wfn#@`#F1nWUb*?D@&$>1~tWAR{TDl(Z1?V?T$BnBqj~jZJQ2@YtUWA?x zLEG@e5Fb2jd+Wgx-;4E>EfB=f%F0*nCM28=@I630`ev0IfA7Vo7XA)G8Oe>A)4$~n z@+W)#!;`cipzF5}?tDf0<;j2d0c!j}boX7LenLs9(GdP>)AkE~pW4UukwAN}^rB0& z!pH6f-wI27h!MAlzM+^hf^E0zEb{yN^42$(GJo^s-XlfgV6|{9MIL_D`e`_T6ezV# z)#iu1g0}H`ng4)SNTU<`Q8R9Xu0eYg^w!gq4P(pLEQPMg9_YW2xu2p=G7DTa<+_^} z9NNZ_pruQv&176y>)iB>woYl$bY+31fD+${*Z3Ar+~uNbiGtvJPOsBUYXLBwO`G3F z@oIz3F1Qu8_^Px>nYP(I!>U@>Ky=nziQ_Xq{#Y4pzW;pxLZ5oyI^~G1stQkU8$yau zg{jfX_tRv()0L@z9r1tlybkp|fi4*y<NU~;Xn)e9H)#9M{14x^8T=m~)w#nf>>>oR z@k@9%Rr%!l+4S3+WBpIW+I1aqS675t=d+guGdZ1h!0o&qXlwX;_&&b`>)ye-u@BUY zqJ!LL_Qs(&#IGCach!-}>^t}oSbH}RE^i{heiyS8DXGz+pkzV4x`zH56DYR|smVbQ zL1J7*0*9|k)JsQ*!Fd%^c}6Y>nxmi)nNaN`4*)%LMr}q5d8r9nB+equ)K1r^fCMj0 zW~op>&4yPqM}XXMPoLEtV=NeKhL-+Ig;D67lr5Q{z!CK$IW42}#rbf_!J@*iT1L_? zz<TH?uh!yG$7m0pR3X_v(GWMI0#}VBA}Q(r+v*9WX;=ab7r8579IbeDp<~o?(V*=T z9&NOwyaXII$Po=1#Rm3NnLMbXp-4to@*t!l&dA;T_W?0Pt6|j1$TV)kBUE|7N(Dhv z{wRdx56;#m;Gu3tFQI;$@}$(*bp%($fOX1|DtaP#UQ}f|UThBst+@CPxG|5G7qmQx z(X^(RF`*+~wjelKd9OJ%8Vd+B&}|?lloDk3L0{h&u22KE&3>dT#XG_^<vysrfK98O zH%)YG@cwKws5T-r8+X_g?~ljhkazSw^<lz1LjIEJE0%p<UFj#`DM6>{soxq5Cob|M z!u!72IvJ)aaoBUhjS0H@ob)K#33_Y-30Zzzlz#anY-n7H@3Z!Wq8&tR*beiB_jy7= z8S=)yzLn=izWe3XRd?YH_Aw3d<$wJ;=XRIs#`ovb(Vo#xZLC8DXy@y{Xa(~6LkY~g zk`Q#FX&XAR_@!DFBW6~*BY>j%IYBPe1k);TuCuCI2qj<A+XZ;_KfkKpwkREZL?|al zlp}Np@k2kTp9#nq(#0#UiC=IR13|mRsArJom3}vxay4msK?(0Ramt8_6bl6<8}cH? zpzw1sk}~D17%cGVBDqFzpAYVxtS}3ah!0U5Z4k5uby+*%YY*;{Fp%QrEf2!4N`#bI z7m34Lstb5#l_2(7)>vP^NryxwHN=Q=jZ+j3)-oxIG$R!2zgfo*{{5m9LL_+BJa~Od z^{Hwc_6or%6o+3S$^|6*4j9n*d#Fmv05B}m30R<fl_;vgeG1l>hv5<;=9to(is}$9 z$Sn%<!z2MAP$tTHq(S066!79kA{8qJ_i-)8>~thiiq4@(;)=%IDpl8ZS>H@5=cGi5 z<WYCF2E^eL8n^l+*t1swO-*pRc-~sU7eZjw%S@%z)N-F(q{aD)-E2eelAuHIF|hhb zGrS5dL@KRH4=|}ZQ{<Eh_CVcD7Sj1+gS#6Y+s`n;&tgZ%%X?Ui(kfpMj2c^kC#T6V z!Z{dp#-zlPj0Keq-c6qk6y6}ex3yDs`1cFU!w+AqgW{<F(*nHYYDVqg{yl&?1hZ?E zZ^A?V{R~f|dV2M1%NB8fMzkIG;ci=SsE&1yd;6MDGH_x(2oxcZbW0kbFpayp9M~a; zcwUS8kGP4w{rmsl65uz3$nyV<-RutE1MA(r5qtsAXw;8H&}}StQGK4ENCUi1h{iVX zENhFNFuyC5pCa)ugwe(nK_`OxJRpt_-;K{#eW|8yK0APx<#n$-fRF3*Lnlk3S$r@C z22f(aFGO&~(7`{+Qc9snY$>1_kr4M`5`W!QNRRQelPdyEP0&>x*ChRwRFMw;q(rSk zDFqraGXRefM9ev*&pkXmI6rs!T=Uj`YMiI>FY|d_JH4|mY%#mFbM90u_{?Zp*ET(^ z*Y12(?>s+u)!dT9^ZT#Go(6mjnBQhu%D{m9NU;V!USG?ip8)iXpYT1H-?Kr#Om=R5 z6{6pj`9V)!Un|=!c|g5Cz8db6p2Jbw6q~36Ti%d}bK2p}j5zZfI{M`m1FY}j>sG-) z@1`)iOWF987N{eq4hHo8lnq}7@f8J}seo+{9i5Wt$wQ{Z|CX}hpYCHATf>!Q1Q+5k zQsl~xdX%n}i8{#`7~sfZmM9QhSpgRA_-AQ#TnkxN?l3Ga1hG5Vm_UPt*;1g#rv@r` zn$<vgPvuyy6Fw2~?+|V-aZycntIMd@mo>T*LiMfL;!I7jY!Qi*HMd@qp-Q<u8ydMJ zU!B}Pw9C6!CT%dvf629pw`2$Tm@g_+i=f#$Ss~6|(@l{Jjn6PXB^V**@Mzx6GPqNM zf$WK}AUxtTSgMQ+>LKFJt0LY4_5sR(o=e8@@<{2ni5)%wie%x0H#Gge{ua7&enVa7 zlBDH6vJa+l_(eN=d{o}nKRe(1{qw=^`Tl|LTge6hpC>$S{5-iHzd#+f+QJjv#?NGf zZcONB06MJDc>o0d{S08Zw?4O=5PlZ-5JT*LB73{Iue5#^#jL$WryumrW}iRm1`;u- zW89U!cHd2H);Eq}$699eZ}BJ3^G>Aq-h=tC6J^WNbjR1-!AFug-}q^m+*W=<wc`ZF zLxOKsvf4AeI>^YlF?`Iq#~1kL@Cyj!0qm63aUs?5+Wl0e%i}1UZ)1%8+4Xy92nN#v zmLGy<2Ch)V?LXM@POE5s|38hUd2g_2rCfsdCFf&6%FU*kvkbyOAEErNVHU(+wn%FG zx2|H1Y$(zeKW}&b`AsRL0B%|7g6&pWy<vK;HTN?k(Rm9p_R0}3$vz`)UdU`hGIEX4 zlk3J>t=N<=>2U3$Zb@Z8I+vN{2aw8YN<F>`?YSBkxUNlU4mTK;t!A(D6NrV<$Y6T| z(~RoU8XQBju?ZSmiMJ-v((#KV-3sehne98N*9w{<d@H40#M)}$&y*6+&@!qs#R9(V zE3l(ot#LG5TGRJ`SW}xo*48a%gbDmC3L`F^0Pr=|A9E87+}hR2$0-AqD7I=2QN#GX z?0(nWuln6@*4ds8>ky!CRRUBgp#Y`^3&%<(vfp4O_>M<TTkrVpC3zp>|3<uk3^ z8n5gb9<;L>D!IK`2M@XPySy4*<=)~yLI!`sUyR`+Anx`3Kce0-II^yN-;S+`CeFm> z#I|ianb@{%+qP}nwrxBAzMr>#^?ul0)wRF$?!9WQ3+Hv5En71pSqrz-zT18?ST9V= z5WCR(pDVPtc_X}&e|>I`o`#&~)ehyI&Bs7+;H|r-nqq&Os@E@GGY8qwz$o{tWc;4e z$sBCzZJ#kHaOx4qjAhhX!Ggw>%_2>9A3{N^U67e>1d*zyx?=K_1>bREbk}I7n6qdM zZ>Dx_upgg}m|l%pa%wj2q!d`A_i1`_dONFk8L($_s$yK7wmyY1Y|;2t+cmr($?2uX zaU?O*c&GQBiezncF&{}2U85au9Y!~M(K?lwEQhthew=j~S(jB4I@q|qSshFdvs_)@ z*8!)00J2rwsJTQz+1?Lk4cX42x#y}USCXZ7L9+Mm!R+XW0PU>8?DMg87rye|j-<zU z)mX49zV?ahEV?3FqLdiNq#zr(dG6$aQcBtL!23nZ`w`G1#WSOuz;n%Jz4FoW47B~A zHUgCW$NR>|C;WG}=XYU99R%MI^o%DsdsD<SqvMUlrx%xiJ7(s(pQOj>&;+aXh)4h5 zxUJD?h&OAIQR=lJ97XWU3_Slk0{5d>qsFo496W}eo)8X#4rKi7qfvQy9P^|0>^O6y zyCQ>5g(nnJM2>n%@M0L8E_R|q|0%Sc8fo|n)BMxk0u{U838S}Cc~Ynh5^b2JETGQj z2JSIaFm~b0z$YMPHHFkT#`<IKXv=P%p|Bwdj01+N*Ha84V^YG`xH>^mj(xLems5~` z<iQO~SPhA^Z7DP8>A_FXHC>q_wGtyHyadd-%Mww~Z_U*M1M8W%Qnd*h(6F6{lgxXQ z%=rxRhi~IM8606du}pY~{-S{<G|UE4sx`-B%5bTc0~;i^yv#V1VLd2xuVLs$V-U4w zp(~lEz9nW;V5Wk%kt&&!2MEiBBZXlJYW^`*B9<4-W3Y3qDh@Vh3anBNZr0nw6}C01 z?hj?8P(alO{5};DE%nEY!nJKlTu$;(Avf+Jq;RowByesCde{K`U{c)3cMeCzAp3~} zbCX+S(wYR$nckNJQIydZ1Drot15mTApRoM~*!2UWAhazCo->T^577Dap4M1vXB(KL z7mD6DEwNl*!bZ#Ltk*iU9Yl>Oa-Cnms~Gg32`PHn3m^R{Wq6zU?uV$?Gj!TM>a1Y> zzk7l&tp{plTN`~2E*@C!(ssTSd46nq23x**S$m4VD(i+X{F;DW`%S-~EjAI19N^T$ zb-Iy_*Q~+$=ThjJcB;bS6=@-+f{McXnqrAZr_njG@)9VNVZ2*HZiHRL?bR0j?giMo zq+MT8o%iaL^&SO2Y?X)(JGx4b>x^{MUt@K~(x?TPQN!zmSWJAWZcb4Y`cUU~Gdd~0 zX-Q1;1NDJ^KQsh&$K3f8_5G8(0&66NdyR|HDHCE~scmB*I_^br?~3>CF||K477qeA zfO>{%G>I6vC-GmYQ*{n#%$)TFGP02xkN2W?y0xm7nD{NM1;PZVq8xx}Ukd($z}iTA zhf~(SL?_;_%a63U+Tmj33Xao`T^7-zMBA_yDN2SJKv0}7>_-`CGeX4Ho0zgiPJN9O zAPQiQ^W`6lEU_WQkQd5>iY~j+Cn*jMt283{EoxG+Dw7mfVYo0gR{5_714+pCiA7*i zH1(r3DpZ6S=~sN=pN4FH1;!fW@^SgZWTbosQz5%DGFL(Mp+V1OL1m{-7KNXN$qbb9 zl(1Ye3Ti>5s2F^C6)vyT(<_vsHu1ISy;UcKw`}8QK19wJBM*`>eoS2+cLZtN&6WtM z<I|%rG(j1^`>B#rye_)vs><7wX~TP08Il=YQnznXIxV1bKq>TbeyZYIxc{o$tx}NS z+N%=27iAD|0J6rx|3zQG>5|{Q$65(tNEOBBfA4D5TAY|Y(e3<l9ub_(z>93pEf4$+ z=*jglSBzh?-1mCju~U?gv!E2_7&wryQ;Q*@PYpC-lmzN8o<4C)I=jtbI4keSTNSoy z&1q4{Zjiqf=aSYtrOa%33X+Ea$%C%Ggd#cx*;gtZ80&d&)qzv;bI1DPQ{WA~@KN&H zgR+~pYb7eXHyd0m7Ou^t=CZlxS3(zN9nNs8?n~uDB{Qlydnjgxm5ICKPVfu4P10br zA?sqB_@(00&+*NRS6@o~NjMEt45~5`F`*3KB_C1<>k~KnL6Gvhh~;FYI9rjd=T;N} zHA$l+!9eJ*RrhTYGPIeP#>ik#DThZDEEC`py929x1^PJh%}1X_1Ie)7#z_#Ow2z{L z=3I;HroigjTTIj%Wrf1<^o4Es^+4Ia{QUcCU8W+86Bt5#h;0g!7~IF(4D#kcGPEJv zyGGmmd7H^O8#86{8G>Oef)aydehT<vEL*ZxI189z(2-8L%fK9>F*6Zno+#a6*;$oK zSsbyE0U{s@uiqSLObWT!NR`q^!=S_|JM|7j#IP3Ki=tRfo@jFCBP#GO_T8!$TkeZZ zH`s`JzYTq++X4li*M3|A-Y``^2jVUk>i`GDE!f@j3)ip>*9W58tJOs#NK542A1ogr zLI%WDTwhBY5fSSv=C<rR$Uh~`*qE%+aO*LCfP79Et;=>XI#qu@atU33=<5P<LdcUL z%waScbvm`Uz=M-EWRYogU9#0PDWUXXogho(z(##l|D4cQm-cT>y)-|D<sp^SM(`fx z98lsB5;2yAf=AXoLV~mUwx^tkBxx0ORQ4;o&PuLyIr^`B(dxf=D-;b)E!J&TCgn+W zE*t8m>u0JN^vu7=natoALf@cMtdz{n59pGgESnf1!K<?n?}(dxtD$fbzf8W%^#FI8 z3$RigQXXby*Xw5PQ{mjhnAErEI1Fp-SKg%a?^JJ!)37b4K+sLox<=Oh(t&YKanhPs z6DzWNcR5gyO#3m?uM*RL(J-_e+jm^)Gku?rU$;q$9qr6&wcdPI+#Kh4-W6D8Ygn|@ z*xBsTbwb**WZb3ActV`u?A+n*+_k^t7(ugq!TMla+jqv{Yp(QavurXiv)Mrvet}(F z6XuLvA+s;z^?KmB%&mQ{?|$_Be7ptezJhz-{r0(Yy7^e+^@{GfOYWI!@Oj_7*nZ&- zSi_m(r0$*KOep5B!C|&42P)Vz4?<uUe5r2yQUxB<{2eyK0jI4-0b3?4JpsuaQLb;6 zj$CM(A{cOCZ`|jMT01Bxs)3&2!V$Q%S}nsJTIctq`*dSP_aMGb0`BrX%K=eawc-3r z{FgTOhBY_%IH~H^{7Ui4Cs@1x<GTK?`H2TNo>Yi>1**BKL27y&xsk$P-6Dg6_OV@J zEbPd8s3s?LYcPM_q4(1e%|$I0C3Dnb6=mdBewv}G<R-JjpLWJ)x3%UCSxMxLbC{GQ zZuE_!DetyQ<K28;n~Ff4Kdqx6Djdd41LjEQOo0_8f|pFK${oE*R+#yR8P-nSMPHg6 zZwym?a1OKP?<$DboppwJXn-*0!^`_V>?eIJ$zo!#YtB~7`%{I-VsoRFOiNbx=Y6Hk zb`K<m`x!%1Q<KWLe7uC`i6YzQ+YQg>({B5z+NCOy_i0g)3vhkT14axl*o}a`Z(VpM z_O=6ApR;b@5pJM$Kh25tj40gAZl)VOTv40&WvxaEXBH?P6^!Wlnp<*ngvBd_qjfqX z@$d*bHclObx!LkPS2S-Cv-)j}4oeg__4&nuhR)zRpbAljVvx~0pwGPhT#Hu4`N0w( z7onSd$0-TW1W1)Y>64H%<rbZ*Ut2TD(4_Txw1o)8*cAXBsqp8dSTijIbl+C4Qczha zyx)8fXz^~N@W_EiTJfsYEPVTlJD4$l{jw_vIa_tkH^)p8w{43q7aEiYij__G@A1Z; zF*?8zi##shegU>McLhBXdT2ZGMw@Vst#D&Kn0JLmnC||wLntc0l<=xjZ0aiodszwO zyGdq#<yvyIeqUrNyb8at=TT<;VhVpoL}<JLLSi_n>0-@YVp~#nBXk9j{!#?rjf!CA z1y(XsU?IkE6j^!M&()*CJcE4?sD5grreEYzUW-WCiE#v-akRG@NdEeNGY*Jv`;Aa) zf_?Sn)q};w<6XP&x?#C|YNr~-#I+VDX<#I8lk=I>5M}Z>#2DJ5)_Wkx^Zi5Nf&a3` zeJ+3sl?B^vZ^kh(lxoZvkLr2Dy#Hp7k1;2jK@ZOW-&87tfRL6Zj-BN93~e9yiVSiH zMNG_q?*50#!`ep!ay&`lXc(!pEgB3Od}2SILh4#3*6pdEbm&N985yS&p1EFD^HH<) z{^S+mdJRi=Tg3amo(|qQ%<b2)4)i&-^C|s5(8K)%9q8>w&)0_ME-1d~ctrm0*NqRa z&!eahpa{a%ck}ao^N@$=725Oj^7AbY?-sQJCB2@^8CGuYzYL5KgIz}X<b8y;hKM{K z61<uM`fLh9D2<~e2G<bs?sS{vjOQ4RrT;D$j75+(;$LsW0L(_pf}BauivrJ(AbOKE zv%fQke%@;0uXn<nuuAP^W7T7@e%_@&y?mVLmR3uS+hyn1G&k{2S}zs#RWDUFdQk;# zo{gT$5Aq$74O+>ZfyH)M28!A6)schXFA3dmY%sKGqYws`7_rG!=LC+MY{1JE@--71 zBd*nt$tMV{wK_3EHr%1kZZSTgSiGypU%4~ZIGKo0u$R2C%=EDm*vA1bG9ZBVj~5pY zA{mJjA6lJMHx&re-;ibiDbk>1RujNIHet)aVQhv)5X>QDqs}W1gyL2NgzXEl42aO> zafgI_=3FnvqLW_ZMFzdS=!K+u=KB-mQ+MX%0#h8SX2bYtOL@u7D4i{FBvk^;E=sTw zN>AP&(Hm7DW4MdW_R^lwc4ffsDQHe|(R>{gAyS`Hs<C*3sPtovEKmf)H7Z!@*L?06 z=?!#7=uXkGP)c}SXN3AH1SKx{GB@`H;U3S%TB-{#B63wNOV|}&mA~rtyLyJMR$5E! zRIz<yxbC5P-Ya^>Id|TsE4Toj-2e~nxBuLy|0Ac^JzuKxe4WWYWbM3V{YNr7@d8YZ zLr1!z?L4h)Px1aV?d;9N*8ExO!y<!uNDhg!liII*0N<;aVa|VeJ3y58UJ$gSxR@#t z-+89b_oqqJ16f*S8P>h2AE8O6{cY?_S_aAxsMn_g1EmwHphJj(pO)P4VTj4MRMX{# zm2$b6I9v+{lKQHxe0KnZVAS?_-pKGRbAwaMpplD}f=%Wo)kFv)s7gPb4=LrxufamK z!>xHM_cJcRrXQQCx3=%*@S`wrx@G?t#%WS;SPKO`Uav6OJt5w&F)S6bxil)1e20bJ zP4F5+Y`Qv)wj{b>)-c~|Rzvl-F1Ejag1;09UWBS3C7Sw|ohw5BpJR2QHr_S?6HlWH z3E{jdM{PVD2WfF>zS~abHH&ksL|A<kBD?Glg<bPyo0&u{%8|fyeMX6gXxiII1)3rb zkl=aEd%Ze{NQg}6I~+Md9rkHlOQvA^Uk2g0DPRIXKC#G@u;`2CaFA+vX!y_=1mHM@ zs^$ZT1RJWG_Tb5>NL)q}baNG2@a8o))Umk23JPM0jgL(Pr3`cIR5f^aM@4d%M-<m* zbRtAZDqRmBkha%Fsx8y5O#Cr?x(8Z5to<9^Usat4bllDcUp-ir>b(}5a4t@8yDy$I zFSh{L-2d1vE7U(#JMT3Aap&v-Zy#v;>)PdE`=vW&=QV1_l{*ALuRFs<yyx|K!@pf^ z={hP5sUMEgD`fZva%8ju)O*gQn^;Q4rk0tbeviL!R<oE!@#daqxPmWRZoh7(ApC9E zvQE1%vZHcd?Ns1B)hsvJD8f+DeYiXabzvIKsP+uSrtO&0nqbp522~{EzDDNT=<lW} z=vz!o3pRzTCq&pYO{?GH$#0?4D_VNIl9Zw%MD9{Xv1-cDEQ(q;J!_>aG<j#S)Rs>F zij36XdBi+NNH%V3Zto0JqH_9|mn5&w7?<MnyDxu5k0rvF49iDykWJ96`N}|kh<LT) z$cY3^z-(h{`AEq5AK|w?EIq&4`B!>9chVrz0=(0?3$Iy-8l8@X$&LAvMc*ZEUsP(B zi(+hAFQVtI$6FKcrw82dSH?<D$ZhsZXNXJpLzd^IAwK6>UZq`#ovH_rO&}6T&d=w` z+gZ-{S<=o9;IzIAll9zBUY~r(<g!UHz{T749*-OQ4t$$yYB;Q^8^#)$<=|gwg|@aR zUw-I>2?~%5p*CUv(!VJbeHgccw7e|I@lKD5ayrlO_~p_Bc`L%k!I4i6)7;Xc>b<kQ zeSCl9JoY5&eJJ|63&}gGD9b%`5W_ot^R<1W-7=;7mZYoi;Lz~K^?5tc!aO|lvq5*y zy8W)$`MQ*1U6IAC0~+dEMi-MCDCtolbx`^AU8vjM8-HKcjABzFVSgA`v|R)BR(j;o zZdRIdX^N2ykWY{4YjtbtKQA*)=^c=HN8HK7@BE#O`<}-@S)NPbW;<tf@0fPA<jgIV znv>(ttBCMWGIoN~*ks<&pPu#{&mV}rGCu}MY|0O!Of=`%7QFh@wRm>M(?glUGO0y7 zN@TY@hcGobQ_}~w(3-w-&3G?9rS}RFww2bFES=aV^-5s%LOoCYD5Stn?|j2H=-jpE zVJu63Q!oztl_{3ks+p_~O;tI;q3oa~;Vg+xKV>uVGek~mF@Yp3)umgZ7&g<(D&Bn% zZ!<6pulH{PxPBZ}wP@88vPK4~m}cOkb+BUniZ*+ugf;G)afd)pbLMp`RQ9LBXC#LA zS@BZW6@EWT7j!ck;r5CazsAmGH~R?)tHE=$vKyq#ToK~-F2?5*t>u3xBG1<WeCuv} zJiP7XU$1RHH<;!5S{1&XakcCM?_Ng#u!W#zJTX1_bUS^gPgX<lh2~Konp=ho7YJgX zSj2nmh3b;_P0*~b@5=bINHS93bOI-K+WlmM&MS%N2-3jD<M^}wBn_`tT7>>lGK;*c zc;5vWP7u+4z!1onOABWySo){ID2N-mQ(~MDz>faWQ?4r~9zbRYSMg_-n147-GR!<u zgND-*-m|dUV4{7{fL2o<E*35@JGA!~Gi=8UyR!(Z5*zvp&8^38k{>Uc6R$2N562!n z?!kC)r$*Yx$nwy-8DS7wjw6_`kPuImHzW1eUfOle#%@@sf7EM?z>xQZFC=mjB;+I> zpS5xmXTs~4e)u~roG7R64+(Sjg8g8Tc_5*am$BtJd#)ZYoS}m0uV7L#Qz;njSbB=T zlueh)L|nmA5_0-}5jfy*A>E>R(NYqb<jPi)-CXz#6dso;pg7rs5TwRf;*4L=VNZ2A zdaJr{6rBY*Dq>}>%&Q!I&z9-Podj${r0mn=W4S_=j6U8%<XT3-phA1d_u957L+Ap` z$l)|3+>v+Q=KSHVT+)~qFS<IhIBvr;XmP%eyGV+Zq`sYvAvjVDC$xT)5%``US7d=g zwTiMfHG|Y3_p6%e7edXfbMpndpW_y8;625wJ+{3KIUgJwFIHQf_u_`qAnFICt^eSA z=S&9yP|5xvSgIb~R$D)S?f4B~PpFTio_Jjy;rSn4@UzN%dO22kWDv^+3>EGC-)L@3 zWIj&jG5GsEN#P3ZSEyLRij;C(mtZ{I6+r=kyE~*NkP{wn4%Q{%uxyebL7_l5ieZaV zz8z$&j5(byJQ{g(F3w;gy?LVj1`*74Z|^D*CrKhY4V*sTRZ`gj;zc7}zQjD0c>HSX z-|VY7IA6D<*tPIUl~Ne~zI4;TGMKWe{JIdi;8D4!zE})dLNv3hEXshW!$1x`DJFB^ zlHz<N(XhU-7zI<x$SeQ4v9zE_1^9sV*YPC=7WS7mLDW8r$)1&xT)B{u`rpB9&~PLr z|0o#|ZZWv}M<<~%ObCnz4!JUM<jRe)s6`T`BqeY}5<?Ou64hvx4dd5G(Hix4ILe^T zk$x#CvPkJ7Rg#yLrM^dspAztyNGK@k7eyYF!4ah-i0zKP0BW3ELIv|kt6~li)qH5A z#*gVL<`}E~>S>G=^R6*a0z9&1op~#C3@m?&r*YN%vGN4y0U(6eZ2yW_q7ZH0ERi+V zoTWEnX|5Sd{wi$vZQ&q9&Eb2!ymQS(m?OZfV+*yj6>;FDTRco;VIcLuKYx4<TL>k) z1!Pw3;#2i5nbe&>n?))5*PKDilY5%WkKR#szd0FJ)C|F2DuKxf|A!ncE6Ls`^SLL> z*vWA}r|7=u=)P!P_r4z^a|2xLTwF#D4iCrJT97+0L_1Styx%sj;{c9R)m^0>q&#mf zlVsc+5+-7Sd`pMdmUMqxO0JAxK?Kg)Ry0Q?)R0O4ryu`h3VQDO5F|Apy(G=@x*ip3 zgXu&xUKrv(Ujx+JgK5yaMUVs30;F40{dM1Hk~t!b*<RZUKJyv*9kfdX6Y0MLg}uug zZp!zw@puXe4Qa!`;&QYp0l`t}N`4LM*q~G@Vd83V=raRrI$GnXrA)hFle+RVg5pxR zptBCbU7k1{T{G7VjmC~TV8$9K+?imgF{+Yb1&e&L5;*dB2+9)FWzeM%cru8q^=?zk zPg>O*b@@h3|LWD9op!@?1|;AYVhNpclIz{}A*1}QCIV-I*q$91Cs(4m^L1M`65^#f zZB_?WJ8jjT&pN`hlQYk7n+Tk_Z=sSjC~a0V5KGUM=#42ZZ|I=K`UU=saV=9IbLmj` zjTkcKEH>VP*@kbywz_$NxTVvB!4Zo})Q~Pf?6;MP#HGuiD2%!kT+r{x)G2GxA*igq z&g0l&GRl<Ut?An}?@<4W$<ETdw?4i@-?}(tGx9)jJN;%OD`%)$_>B4o^zDJ~in#N* zb;EY1-zl&en*SitqI;k-tc?rGmL=nMoc8Z^KBXJ1x6R?i74W6imEqX>V>X0maD?~U zF5COv>`%S_|ESC;ymu%qOE>=mjlNC0+yerPlje2yhg*v8y^<e~?z4`a?(XGnQ;cUb z!aWl6wDBjMFS06r;bg*UV=EQV7G${^@r~j6R?Y2_7>mksO$AXiG|uyO1J0d+C!5D% z-#VHE7AKkr<v=u%YCI1;qby)>qo61b+aU=~s*Nz4)eZrvx%xmfk~8|ilnmORX{ibl z>_H~O@GD0fRe|}rv#a`8VLiR^<C}68sT4ydWR3nx>Zl&5owI{gYZ|xKDjAy)aJbnD z_yH2hwh7YgcNX;N#fNTc%}VlcC}q=;-LG=fn!1YNq;txNPD$WqhlY2Dlh3BNIvS}7 zBpq%#@PiGOEiS!J#+Lluk7N@@G)p`ckp};>OLr3ag$`?!IBbA41&FYpg7S;z|Fi%f zKNUUwJ752JCDTb*cXp$Ix<GT7ugx}>@Oovv&J{mz5r1qSzDm5$OMqU}a^5g`?&D%^ z4SAmpJ)awLjyifiI@VTK^>}g~E_%K%xB!$N!2h3h4<s;2?X%YwaS?G96?_DLn}l&p z<y7tTrvp8=x|(3jyvl;b&0h`Sg&B9I&ds}M!F$2PhUqy;Ci>-d+}-ENu=6>4>pXs6 zJd<dpTYAfn=oum=NM5=7e(m3yhgnWm!-_7vnqgE2^ncM@i1%rT+)@P({@bW%I>&#X zY(C#yIiH7QfErN0mB-IDG0#`c53bLJrgw1H16j(dW0Zwp4NfIjqGPw|C<i4&wGH&z znnszbvfD$h6hioM87Al@HuG}n_MG|=B_tC^g@SKdi_?^V3X_-M+8OU%=mnDz$VBCA zpJ3XGWI%7Dm<pFvkPWj#RbYA@ww>Ce`P9xSGiQ>F+VMt5{0q6@#o9!nrCLoxY`n`j z1nI~UCl<Yv`UDnpR__Q^_f9P$0CqIx{-z-jFM=nW3b}$q6hd|-bxgu*+UXCSjc2?d zQ`StONt&vYJVZXwoORINAzqRt%}I2&xK#rotv%;^v&z(QRv0&^n8?`3F(Q~^$jM=9 zR`3NYt`Jvftav=3T$5dgE1b?(@Cqzv{c-#mHjZh9KST<D;pwJByTQ<A5I)@|tJn7T zDA>@M)JkJqC)=R7iE|FB;lq83y^^oCO5b!k8+ar8w>D{)&blaIno(V)x{MVj`z?U( z;UMM<SI7H%e~PN-SM4)UwH?ZTYezMFYfIbN#pOoL!zCQ-ere{L-5_wc2KR5nFtnZr zC}vdb6g<5@uM3_DY%1ODi<JU^AW&W>Se5tl=&&j&YRkqCe*eN1&dV$^!Yy@O2P?}i zvmbC5DfiU-0!{%iu~XyI^m9)?YBs=e(x~uOGLe&C9DHPq$DR}c4l}Uq6x75vo;9M1 z8Rkcl(x7{Aw-xUtor|r{S1Z6l=Vts(16~863hwOjSLlzp1Uk<yGi{H~cnDYB9SErA zYzx}&2Z9+oXN*>Vb+J_$QaDR-+4ELz=E$qeMb}xea<Qm?BQn481%_u)l_(F>V<p0X z8e)Z%;heM{i5Mv;mi8DTji==#AXuW`I`K!GhYoHZ2N(XLiR^kZ8~7PkN1s$MbU4c> zORl%=QrH3j@D$upVbzMzx$G!W!;-R;2%QCs#Pu$Ikdr)RRbs@pZ8&xmkrZ{AGSO_e zU#&_s!4peJz{dnp(6!9Iy@bS;qz=`IUZJ7^;>P3xQZ$A_>Po?stLcHrC_)vzu0&*X zl>V%(#CRKP#6+$E5TNX<WkZuh3u+!PF!7>arkVSS`SwzIsS;3vc{r5Vx)C?9#o@s@ zr6M2+{^cWJfUxdlXHQd+zJG5c<h1}4LU%JDfapC(9^q%fMidhIXn_0PYUFeXWXC}- z@bDf-6T-+L5)*MQpg^pCT;cOAWpCej)S*A68v>iClxy<1X5#4EJeOa6(q8BFUJ}rz zI7`5rp30l=mft>qw%A;Fh1CbzHrp&C(Yu)B0H3sgw}|~)5~~sDEgXH$77y0Y5%B0S z)t<Sw<tH!W`o`!?->);ypqz`tW@+Qgp0F>N%f(sj{y-7?I!il@zEz)!?5W`K68Wcy zk?ZD67w%9q`K_AYGBPK;??u3tfhICPP#!!?K%ap$7A`*!Adz>xz6~0Bro5~b(#n9W zNl}6u0oMsCueW?TdDI?jl%fdGPZYA5Xq3VrCJDPEkIQoR@$paS)nNe2XE<PBORG<t zd^<iAey#vU$x(n95rQ9fbH0qsQx~Gk;W#F6M;dXSZceK^Fd>(8Yl_q=&>7*gZ?^Q@ zl@$y}D<UI-AW;>i#6v4mQp7g8OTU9bi%u(!l<I?E?{F63YehE5?q^JWXD?>EV*_!k zog8C>0;Tqo<{S{$Q#?LAA6=?9EI8cE#upht4T0b<GRRlg(h<26!@-{eUiq6X#3hnA zP%c_lJza(#GdVhB$oK*+9Lg~ulGu+8gC9no3%B5(U6Gmsoxo^pC`U*h!AL-dI}A=A zPDdQC#zIw#o~GeQ@%C?@j9PHnvkHLAP6GuMwTZs-4fqXu-~c=S6>h*e^aA$<3royb z7gxV3ek;DYj4Hv_Fy`nH@HjKAZ<2ip#q@G$7(kWJ!Xm_S_t{6jveH36lDQ#DcMULn zd%Tw}u2|XKJ5<)%Bm=#;J`ZYOUN-$tID*9c%DOX=^SS-|^~>iDuwKTypnpwnY=^V` z4nqyV7GooUKEASv5{i+LOMYY=1;9JmXt9!k9T-YP5op0PVgZtr(qVDK&!I+IhF9tx ze|s%DRtV!0SQ3_)7&lgU+jf-O9Z+dLC4>93EtQ%HYt+K7a_ANqNX&D?ycrr3HD-CW zf^C05qPS|d`#n_<3|gy?UguZD&zQ<&42{;I{=wH>;{pbShK?Vo9mb{mYqgQVMt5;N z3SwbYs7tfPb{CTRpg*|y(2=o<JJ6OrGTo6922N_JlErFOSPKOGRGz-l$scVXkF<$N zlc~9!)L&Sw)OdnVfle@{D7Tj-L;+Y6+n)qllmM$mnLAIOR%VRcB3^9MR`DcJ=;ly> z=A``Us4NIESZm=Z&t!3qMy4shUxX0KcNi{&1%~NwS-q((?4;yGq3O(2m1T5A7~@xA zC{B*Mi~wz7lAx3n#uY$2FPvACiV!Duk>u=W`gtVDAw9Kb%e*#9$(h61KYgI{qN7tO z^eBy2f7pS`ec=_vkFQ+hzAwK?s29*LP#58>Ow5*tvvCZhM3+61wGm-;gBEw@@tZ&L z7XRxCfB){LjZ>|+Vh^^Z`3viXWx0m2#g}skWSgt0kM8Fo=U`*|W$I#6p$0sXKR!?- zw3)nGmsJu8Fxci#0@_NOU}&88FN0BAL(!?|;2e+ErbTy7Hz=t>KC9aF9ScRJjkpQW zv6N8_&T<4K3}#NYsxM)~w(7}iw45*Hd1v9YHN4Ijry2D$oWoLAlJXvte~#xZCQt+v zn=`e~A}cu2YesBTuT;+JoIe$OT#KxQ*7Qk0sVohwMCvR{s<6{_iypk3qLZ(b8Y9oF zJM1_EoR9xpt9nc(kK}DtbLUX@a6Bh9%)zSaza=ye<MX*t7Ab6Y;_lt4l*d_c?{_QG z`ZM`OS3E$>eXKwT`*Wvu>5od+pc@4KT>ksUlJ$NBu%Qn|cHzST6-F%9zIC8Z@c$@Q z0DYRS>HNed0?$Jj@6kk#oAX!mQ~K^|;r8fwcUIABuaj=d(JH-)`Pq4DH6`crypw3D zs*g6p$#j;A{pH3v3ZY{%dkx<9o!g4Vr_+~iHMjr4l~zwo#X7sQTs59cOI60y?o;$f z#afJNz;vhX(kzvaxnxUu+n9<ZZihvacR*I$!AVh@=2Q>H&kN+weT?h%j1C*1L{~SA zJFpJK#qW9k;~JjhwL|xJEoZy)9;*hA2T6x5M&+q~(X@43;L;$jU<H~>6(C{LXN7qk zWMT~Hs?iZ4b?P^&X*HXebX4Ssl-RqKZoY$Q7v_^TO-;{VcQ=uU75^}zg_SH_hcs<Z zT4}HOqb$YMS;?hM4DZ2ON?&8S@@s)XCUG(`>f7d*Wz_=qgkqW4`KGfxv{1SgWU*<Z zE%0=TW|S&@LVR5s^Hrykb!};iHT<~RvGkf0%J{Su`IYG%OstbyZ<!K&hMF8QfEby^ zA)!IUWT@=ZYEf&QMj>c6!n5Qk9HMG&Lnx$Tt5^&y+M$&tu|!;_669uj!kuS80Stgw z=#Ct#LqAGQAl$SeZ|Do)A9WR1msU3}NOCaghMx4^uVNKBh^a7p0aG--S>J2i!$XDb z&9^*5S3eni6mpYp%uLokuyyaE=FDOR=8xXLD+tr#^8K2@bVxLuX|a4ik5jyYjX|mz z=`cMzxX|Sq*?CXS*$bk};XTXiWTY1V)AFExkUjjrrvAPvonEDSgRidO>2^}7FvsbD zqk9wV0Mv0@NZw8b3R_M7>bTrLxqpAiiys4-Xy4Z9xI)@IL(@(kd;TQyK3We_<;SMT zSz}2dxkJX<41Sm~H*39<@_YDsikdsu7<d|e4Tl(qisWOAqA`M_g}aHEpku%`pNv6> zUJ|nh@JBO@Z+DJVPS%Q~r9hWJqC^TgLE`^ux<bD3Is*n(oozr<MxsqBNbdv!6uDT1 zjqX8+8gl=Qmu_L_%83%<{c2Tsg2q5bS$zS;6RXw}I@^FAh)oCy6yo~*nOa33QISSy z$q4#OfeTnN$A8ild2U^&wh*}%L{x`OAtIr)UtaH*>HgUt(j1XM;jdj7LN)l;_G+Xk zcF|r;;}u#q)hPM=VH*c<7`DW(*!o)vG<h=DV@1lQr+X(0=@+Xped9X}$|gWe_&h-% zsvILXv4c6sf!Ul-^4gADLr;f7$y_+yKyH|+_X{WG7+q<UDuhreDVH))nM>45->|X} z=9%wQ+qRX6Unw<9#Z!gu?Y;C>{{chuT$?y3GzRuQkJK5Jlbe<|uJ)~|lf7px!!Uxc zS=a6u5pm7O6Gc;GM#sMB4?DSClZNQie#EF_^d#&emZL@BC4L+PNu)>V-_@^FsP)bx z>Dd{iliT04{Xvo~URgbOP(0m2ou8j1c<;d<vhHlGL8nVPtEwIU+h8GfX?A6b{KnoX zu$G5+sQfIW;~M?}L7mX{9xB&@3;K!^6TCvUjODm0GV$<y;9PI=?6uVln1aP*7OmqB zg)B7^?=a%<tdA&--wuTv5d>BiVBMX5y|!cvXLHZ&`vE_Q;#e0Gi)O!J2HZfC#`HZO zm39;S-t`a=vt+t<&!uoRK#+uM+%t5V)g{maJ<BcJiLlPdZ$vFR7~(S4BC&)+Kjh&z zFEAz2oOPMgRCWjSlqWl98%Q+AK<I+YWPi!SjYnt5n=LLh<tMh55>Wf46{Bv~4Fu9~ z5+#MFiHx;|c%;Y&{;rUwbea?h9{5Yo&S?_PJT9aNQM~WXnWr>xG+QB#dFQvD(A%pd z$q;tx*{evHD`Ap|=a+_s45wL~4?^okASPu~;H0$0myE|Bk#Z{kD3<V1gCsfI%VdNT z%p+ig^ZR_1Igd>E(ORN!79Ho6CuE(hl;9jpuxO6_FBbVC!yPwY9Wq<_d*Zq6u;NmR zGt**YK{1Gc-Y(Yx@k#0E>ICFr6QP&^7q@Dh#!SBbB|dyA{u9);o&x^bcJVVtO0GfL z7NmG_s}=?8ftlfPEUv%y;AxLu=$RfIQsQ?}?`}R>VZY@{>{Uq8L&xT1De9(t^cX0o zk3Ao=<6#G;e_zaBA(+d`{w#J-;jo_05Fb5A?v5yS7fg>mnCnLh`d}p5-ah%x?O;$N z57=tQLok=-*bf>0Bj|}oNgF<+ugBx0ZK&2Qwr+sZZ^qCHXdC2O2`jbdKF0@N_h+B| zdx-a46_C9{#AeY<3If!iLFJwLUl(}*A>o?~&$4UOq(K`*aVcHdv^A5YLP*TBT4s21 zYKvaYl5sM~_}m9x0bpEHgB|t$ip92Pvy|Iok;<M(E%+b<XxkCNQ`H}~3cimmTc^jM zc8&*WVw@Q|p+s1s_9}ksT5p`5V!ybZn0v52tqP-rJ$$zg{y+r``3`RKKB%w=jvN9p z(^(XLPG1rIk>hf!TPblKE<26_YkEB3IMlC<?@v{it;UV2E*B@jE{68E>w%}475Ola zGnfLZ5Iq)rb&<;q2)Efho?)1dB3R_GR@j6yUGOhRW>__}Xh%2f#Ngg~DZqM6RM2LU zL6dNj=1iD1Z02f(N(m>(Bdt?g(m-tIdG2E}&W(aZ%Y{i+Uy~SupU)@RRO&w*ucc4~ zhc3p9k&4%FMi{p`H<ZIqh|qgjeyvzH!O#gU3k^)Q^*jLgd7>FzE~`jUn1XS>wu^9u zYX=tE$2q57%IL{6zRlboE*4DxopuE4Ajg)TFKTrfk;xv!j_q(!)*!dJ&it)GIELf% z(DQN8`OvZLJTItj7{%!i2q2*IdCwnQysyY!qknccs%!psKoE<QDd^@_TC07z&+=p8 z^GIebtIuJvs{@Q+ksj`tFD0WcM=S&lE*I@JLAB9u;X^BMh<uulR$ez&YZY1~wPFpu zh^eUOmx7U@sW#GO3PxsnX+c+(!wNIDDx<27t{v6;BoD;fcQz>02`pC;JYHVOlbwY) zmtO@pWHdK=VPM%DIk}dvqgDq+R8ClEfhGTKW;q<LMh02G)m^;3HgD}SuA<G0xn##Q zco%I%R$s5&fvRn6u244&Ej6ZHZ24hb>GD-o!s+-|<JBP?Y4z7V+=#4LxnE+{Slc)q z$qc9s=>D`J-V*V?_;sA<bVUPe9gwPF`;vtsf&8rey#L&<$$D24pjO(!2iBUCZBb^_ z!c@qz|69Kq*{3I>%a3|$XP3NR7pAh5RQXA+26sR?ed=fpA3A?J-$~EI+j&NN#BNDg zV!+v`sRnlFwCO4@kl8vw$*uZ*^Sau8g_F}<admoeleW2=OI|Uot{Q&54zchAcWM#+ zogV52$;r$aY3@+PR~en<sNAuY5{R9tX>P+LIAT)5i9aHf+p6W$#hPFkwSC(DG*W%X zni_}Zx%=}ulC#^8^SLRGc$6e~)B7*V1Iq#wAm8igxuf_F!T({tUxUA2sG1{pEj3q? zS;N>-;2c}gA$2?Ue2CTXTw&dHG1O$7u%p9e3f{e)c|P@eV>DGdx((|Y7Xz55N~1x^ zY~XV)6-MqfRbMUm(xyOkRht6i|Fa^jDz;HxjRr5Yj5;P}aaRHx5+8~`D+iwEAgWF3 zb>^^Q@}{z}ShlIeMoPx&Rss2nrnUa1F}3NtC(txkt96o2zfvg9(qTnbB~vrF+7X<G zjbq%E1r%UXDObjyJY3YTg=>73r>N5KK>a&2g-&u{+DMrXSekR|yNcXvoyTP|aw<KH zI-gj9dD5_kRHAn2Dsr;3U=LPVbfCrN9^pe{%`PFB*(&skcB9Nc@7AuzlU{4gBZ~CF zwro&gWh>`};-bBJ4y1ZyR^LCu_nE`;pRUh2O2g`M=_|iyUR^}<`CLHqkc^ilt`uIl zLJ*KL%uwr*G~M)L>3b6yBe}vmhAQmq5D0hX;Dcr_b@}l-3@t4R9rHS7R4d-&k>u$& ze`N_wMvHS)PjaiLch1i-<Tve%_w^efC&jYZ{8ecPWCIK+cGbVkqgDQWHJ1i!BM{)5 z>50_Y1bs|S2^oZ}=XJ|AF9-qn)~(_(`rNQGet(h-l3>8y|2vrtpc-W&1MhF?h9^SM zq);{>cln4iJh=TO*lh*H4GJ7zFl>e5a4)i^9vLzu6B@6D?kQK87<@Tb=*OR5$3~g{ zG{ZE7`3M`&luh(SJd*DFOFxr_ylZIba(m0Nf0gER#l5bG6$4rg^yLY`HviG0J}3d1 zYL1N&Yt^xVl=iBYQaun3O|U3h(HW6Q0%^jS*T~c!B)AR6+=Lh`v)9aHu$kgiGK`u2 zF1Ssj(hp~XaIv`#$`FRd>Q9*=jBYt&u{pFFoF8kOSp(RmFKR?pmjEPz5I7ugiG)0v z4F$c@`Ngbw*g?2rBttCN42YybVjKl@keog}#4LG}$;F*kHN+&d2sH<^C-+Wog)jp# zDx6l(-|=AeSS1GU>GV=3&pI4dsys;Had~#rc-h|$iY-K1=@!Hhr9&8{_ZWy!!Dod0 z4x;kQ=7i!w7_sXS$0c_`eCIB%X?~@DpiJ=cn{DWoFbfk}Wt$_Z^>#qTg92JeE+a-> z`2PlQ!$jsJq~>Y`QdZf5@8TQ<7r3;Ur}*Y{_<G$D9-I1s9Jv78<&Ac!57EYwz>Ale z5a@LHVn|t|FCOr`_PE^l3>x2U9=6{#^e8skeD-`>xV-xV+(=rr>9*HF|L<@`g*Iwr zR>StGfmo^<`liVPIVyO```5zJXVpK4@~`$G{5!(o@|m=~LwdEtAD^wijDd%or-oSp z5`hAQQm-@5N1Z&FAu1vx0E=7%=FA*U!+Flv&r@=a35y&HB%Lyywu?!^CNm*g(w|j| z4AVHyo<#QS3C6jFw6J-aGsFO%O*5~Ym{bqUBu|uF(jO)wR!?|MqBt_%w`?KH2zj9@ z)OYBweFVo*#C(c>Ll>1A*Y65=g)-M(?Yw?_RQJfK%<Qt%pu%a7e`7;>{_z&WL-Z!( z;3ZdyWgH*^Sd=W%{G@)qa%ILF{IYPyP={EnjO?1d`eJ8krmZvwUyN{s0&>RH<MBEM z@**N)V8_7KV51kB=?kYDT8pF#cnaAy&1$8FqQ%6+4nl~)@97O@=tjeeU<1aygk)9R z3FE|%qmg7tsY;ll-jfqa`bH;~?VSXThx}}hUPyV<82xNCm?e;xM_#maB1+6-Ld@<U z6-aAC(-6(U?B%v>XMeY_k?z6j@cz<@zcb|4l*27;GTRkvP?BPdf>i<4yvkqlvO~eq z@o_}xbg$9A$|q74$~EVtHM}ilmeXl@uK=ZR##6j<?M6$8%+MhzqnEe`E+S`|$(}(v z-y!Dk=XgLrEd8$Yx&0T*@i|aZmx8c29$3rJ&*h5F?g7E>5p4Tyyt>hIC+r?^*HuF% zq8X5Y*G~n=qyO))!vDOxIk>$K^m*U$&a7nt({)g?VHdo+vH^&yDE5N&B7j(qqhM`# z1ThxhyH!$oXaAYaz4`V1lZ;XoBg<;_^qcMA@D`6f<*%JTUa`+r_ejCbOg~W2O`uDZ zYqHl5sLai2wzt^AQ^3X`6Mnduq+3ve%C#hoaOWgI>*?p)a$YbA`<oE1XswW;dTVRn zb{EP{DYI5kEGt<WH9RVjY8t-0U8+SRx?VhvfhDUlQH7b<V6p}Z<|kos4{ke-4khm{ z>)X9*!iA!Y-nbFXL5&vU*ywi<|70J1Z2l(U)=trp?_~)!IOK4Yn8iFX;2^z*XjjJQ zF8F~;t=`+@x008wl(&SvO(i-N-?kil&3I|0Ve%AzGyj@UjB5e1Y%18E*2P7fIA>^D z8IPb@FnWUiWa4JZ;3jHcJ&mn{Z$5l-Zmio&7Mo)}lfE@Gg~5w0E@xf+NVi7%r}V{s zY`2JoqW$jA$W?uzw<C3UD>YnfN^4E$>b;&N%~0#$epK4>QIbI``)<j1pU)UT0XFyl z@9DBgX2}5I*AM<finr?&h&Oj`T1WL^2F{0e%ms)`TGte>le|ku2JUe6c1>loq1428 zWSz5>;j+$;)91PEx3i|8+7|p{`%VW8jx<&MyGzH_`KwA>Zp8t^lfBg^r#r8z`uG<5 z5hYOzLv_r}5rfF>lWpb`RhAC{GEKVM4XL|z_sZ~jogrb?SGd#0{lUSVzB0bs(M^(D z&~69e><HF*H2+1dU$JFV2rcYu>L&xs4ZVl33KZ5c8^Hm@Av^`Q>Q;L)Hg<;uj2kHJ zMYjTm#j7mOr>fgd%-07QccN-EGpuV=hMpB*I&3`u@WAJ$#qHhY`@cuU{UhA;9;gM8 zIk0r5!SP-qy=Bb#-{ZE#03Mf?ztG8KC?BD3w{^MtWu*smM+}lxPsJs`utRv`ADc60 zYk9S^2G4MzwmvXEw(Kb!Mf2LdNX>l2kvY1pVv3<t41U5z@95HD);0gdIff`vt0A0I zD*N#&4^_Q+ufx}!nnUJZgS(uH!b7SI@5pb6YOH{2DY=#qJx<{fOS+t9Q7Qjw`n3VO zfScE**{z5{ZQT*BSLKOkcg9E;V1LBVhMzm#`>>t&ML-;dW>^Mh&k1O3TK#Y6rRTfk z2l40ixAz5|3C?aVe#3Xh$_=WcZim==+DX2O*_rtFCC>BPM4fGS?q-M3EXM53haB7i zk+xM=qb6@pXAq^CprwCQm~)cr0#n3#De*TRPANIt&=U-C#Dy8{-Qznu;T#*e<U*Y| z_yPv}_+ID89$^8?niwZmchwr|hn1IHIEfs@0tO>D#cFLsah97HM{u$N*oOXL@!=q3 zr|JN)krSMzrOuDf^ER_e!)4{e2e(C4*Um+os*|$I)6$ler7U8z-3DeaA3bpb6v3|` zL?~*KfKxgqs4)d%K2s1~gFh-Dfg%JbCWHpmGh%^$h-rAh$af@-3mBHQ8O<G5Egc=@ z7tS(S6CPV0HBW~F>n$&fUrJ8e?K8R@$~Pa?T`M{sR~rpECvUtzln7z-DU~L`oY0PA zl37~9wZ!uPNrC(Qy!q&_<2(ih?kN2dzUpq1xOV$Vxp4JH>TCo*KOrkU{<B|V6IcQ0 z##@(52X?RVRoFDQtl`GRNh)>biyt&6x&P9?#0DL7+qG*n!OX@F$f?)Ns+29E3gefo zCe9+Gqb}G{)UKv$k<)t8SSMj6XJ3(L*HZZu%x@qFGSnLvL0Mp4TX#r9rorizfB6B; zXEI)L!KsTEM+s-5QRLULa<1oLkUp_<zCL4cM&kzErP_L<&~Tk|Ut5sHEikyq+Q)2U ziK5pExPF4|#T}GFt&5Z6bs=g;5jfI-q@R=`%HNf)pmubdofeMX6-bM{OAnfQOpfrr zb9#P7?6@wpIE4ys!r&YO;Q_HmfOD;9Z)#KTGPT{oe1!?(aRGPH4r6%g^e#U~#Yhvo zV^HRYHq=>4Zb%kNyw97(t4@#9YEo#_=(0l}P~_9A%cgbRe5(;5rPd^gBtdPH3-`dK zKnF@4fT|l1B;}Wc(mj01h2u$^{^W@-J~Hn@5hK@TVPs3UvzPlz=kwP$tO<4jL1Y{| zLa-0_vR%~Ar_DKmhrvSOku9X#X}p?#E6tsYzW=k$4}}6vtB<>!qoL9$>F!NATo5V@ z`9CcHjIW_HHa|l#<qz_Py>u$Fc>@(}vQF6utbjzYu)N_Zy>S6`1|i|290#94krwMS z3R1JcpHc$4k0uhsmT_<?ax2bXq<xBOY!IhJ#J)7*#D-BTvZDEW|G*-l`1g#qMZ+vl zlp93(=#O}Q6JWivM=QR;fHxz&$t=ZJ2-d{`A@6rSX)U5=n`*rLr4wux3G5zQebQDy z5iHP5GiJrkC47wcKXMFDdfhH4&%~wEmx_$GzIvXxt??@&tlzRiZOgFY96iVg1sbq{ zB1MUWc@s;k`9-1#W`y@tY8O2BMW11|n9S0@>m++qNjBDtsCd~3RMVPP^3u=Vzl>gw zg2vImR^>`~1pfT!MtnvXlq}qWwj=weE^y?AjLS7LJ}HpbF7ffRad{bmOjb7w+!KlG zoqk@LVR=8wPw}6%^-oHlsfWE}v%`RzBRan2mtbd+o$3F#Iy${QpRVb@-@8VSFPxwk zFyF^7V)1WHvVWhlcEg(qU_9^jUoWk+!5A6BvwNe~CD)>S{H2;GeF;>R6(C_J@yFrx zXRk*fJPpDvOdt&4A(%*mvmf4Z!jYzNjUs3y<~h8AqldWQ=Pnvo^W1$`O2b1$9Z03V z0kDEmYX9))C7+0?7R<4+242y+>BkKow1dBqgM+s)j!>UCCfhR&uKTb+yV~3V%s_AN zPw|8jAy?>Zjm#oP_9V+1B%+9lcDt_;v^C2t!8+Nd(JdTF47Z|A(<v)-)fpR12g`Q_ z3(g739gBLC&Iz>da9j)(pd$l}%cJvz7A*6lg+R=zCa_;vLBo;05|o{@gw+`#sK&W^ ztwW2n7?s^&CWhlfk(lV0_~ffE(2k)F7$2-Cz}6Y&DP`rsizzc{+MDV_l8elRQ1SId z!l`m%)37|X=}CE>-1pDI{$b&uTqR5ClDq^*f|2birv)dvg|^J~W6R7Wrv)Vn!EiM1 z3M|ugS%#yHijOL%$)L#GP%DB(#Q7!;Vld>U^^=3!$Q78L6VN??fTpI=b7Dy%I??*x z3E05;D@q}lxrrM~&WT#U@C(ZqK=prSgYn)wHiNFs@qi6Y!Z;p4y}vRTc?5EHMX2k5 z{QBI+`#wd|z90%BTgyHu&Ne!~Gn-6ecEGO*iXJ-5WBCR;>^6iNfhw8lYn#IE+Qjxe zKwDJ*yhpy=eDyjsM?wkHvKT?|p5YxNxF*KI@@@IW`#5(asQh-7^QCIEz}bS)=ynKP z2)87WoCnGLy*_I1XmK+9f%(Wl7QLc7^-VZu)iw8|e0VBy^%UQ9ETU8Cg4y+xO^Qf~ z);K=2f&roPN3?M}nv4vjn>xROG<n^$IgKFT)mACUwp$XnaEiuln~R(ozKMkngw`q& zTUX6L2EM$1U2mR{4=OKd&{fwZBrjv+Dk8qoei!);_ApxcFGUi=eziyXons-4&v5NE zsC7+tV6>}N#SV|OcM*X~U)f3XTPV;Mdfu=qZ*tYd@UFQD-J~YoCQezDqA>J2l9su- z(A$^eoT1LOq=kbqulU(s<cLwVcvpVngZdNaO5wB_9Ob0O<*~Y$1YoqUheN$az4u`k z<Ad~&q6i0X&|tGhSFLIV);!-y)0*|tIUVei@9{H<{%?TU?*MCXf_OVm`7#YF5$WAn zkod~9Kb$sXxDrO4s=5iN4ebgq2l#D}PSU44s8j7M7G1rRt!qQ_aqF-=Sh|bO1LU7m zVSlthS+2DYdOmo)qeZh_Z<8%=MCyKcoMN94@0N%45q7Nt8G?U4d){Q-enhid8`OJg zL@M7oCk@+pLjdmdTRB<Qll#(DO_lA*B=Rk~_Xomq9zo!=?_c-aW8V3v{UYcq%p!Ch zmYR~zyw8#mV<hCnS8+OnAl;kwRn1gW%9o<mwNn!<S3b$wXYp$_3m#{2TIUb@$&WA- z+8Wquv~}D2=^tx@DR=`#b3C5)Kd7reT~+@N7(wU0*?Wn8F1yA3ZTs|n4~%e!-8-%W z#v1<1pZOua>xcg7?H<Y@4sp|PXaL?uOh;3G_vinBFZ|zkI14y$<elUeBwJq>ibZc^ zEjtDAq184J^ZX*Kp_+9&4~sO{7DKqb+@)Z$)&c?x+NgeCQIrKX=wh#0Cih=FIu@S% z0_5JdhPT*Hru&$`?ct~_OhH9rxD*15%eBd%mogqMy;m%-T$Sn=#qaxXK%S;eRO)q_ zZMKeyE^f2EUrqvxBe~pXkbQl&f2jx{O=ElPi~Y2>xxW-n`*gA<EVl2Tur>>L-=wNE zJn4F=x@})StqI!S78$~qKJdDq1>6#sR<pQg3)kDiJY52J+P&jC5Paa%zy9y}x4-$P zclN!yjl(i9hqww34Zz!o|M+kIia-0kXYcrA+wk%$gsttUT#*+s+51XxQND^J>&S`Y zS9aB053GeGiG6OY#eUNi&GN`LEPRxVJAD={Jj}C5T(RYNoQ-*bRtQd*9Pg5?r}18A z4c&7dlPP$mch=KC?H9^pR1aM5An!EnUpq3?61oEFnum1QO9<O3pctcc?i=BT8Hi#B z8J(kJOyUt6aN@BxDsnjM>2)$(`F+rvvpk&Oj3-TUCRvI|WW27rDff4`=#<RhJXnH8 zjo*&sth*5%iB_r-^=!+)F*8l@WvQ6>OJuMb0)5HpNk)`N3+$+?rHc*VXt>Aiz@I~? z0;Q_akZc>1Gu4__(h*oTQ5DY;^Xg)F7xu86D|!^=gJ^&<AnvniZL`{brcK3?BWA)< zxz7$ypA0Ek!48ijkBVcZj9gKcf|-Prt-MbWq9$+^a`!5XLWehI%cTNJB#{&$w&lSv zaC1z#4OJ;wy>U#VEM<~M?c|`s`qCI%E*oYBKXNg*)C;&!8+LXor00c-w5*nx%jXq0 zQ_|fK&)KrAVy6SxIY?=|NhIxJvVar;H_CB)8Noo&74}Y8@-F4F<#9EoG3d3j+z}t* z?|F`TkDfk<zHtUE3UoThfBSX9-e}>n)x3ylBkt}s00HuO&j0?4pX48(`}*x3%C$jn z!rvj@(zv^?$h#c#X@(ec=Y>`GqbSgmr_qzAuWk8$FA^;V{m7o(ya2QLrI$@yd@xL} zt`Z=}jv&JU((S~z@Z}}wcM)sxr%uE9MrKOK)9CTb3s@RrA9<i|n{IUQ14rmua#iN* z9n=b9g#OtAH*4;Ez9WQ=AtXW&MQzklMTFTBXhK{!6GAUOWyJ_;Lwte;V3J^0X4o`f ztm2MNaqDwzsp0E}86r~Ge;c|9xmto6dg+v|^UQsWGe5GviL;7VLn5BXhG*;W>{>F3 zY~Zr$?|sPyoG3<=j^yO(N)-?xp}<OH%oapBvb<#Wu9y+aW?tIu$`bQ>8yN=C$d$Dc zjhiOisw|m!QxP%vpky?LT9+7_R-iyJ8fDsgBJ@oR|5_1pRbDC*W@-rt9S!s(!wMt< zMw{!UP?)JBE!9mXrLpKlS(c1I^x_$T%qtUhSQID9c9D|f2pHzxvK5;A(OD5?^e8=~ zFHep#SBF>2G$izFUWb5p=G}761uM$b+u9E}ny1VQN8$onz}}>ba{+6WR6Mh-UOZ<I z{M6OSj1nN-5=>rsLKWYEsxI~F*A!dC<?=$Abp?|PI0!*8Av%ps4jL%g>Ckz7MDO(x z(u<OH7v9~+_Y5HwqzLrR&aji1Cpus5pxyEjQ3N`#oQG}~aW-DlXB$F?wy(V`N5#OP z7w>Q9H__1;rkA+~Tq~-VxofyryqTCy?%aIsLmc9IaA*MDM%??3dk8+%?6S8Ec1MKW zQM_R%?y|<8+<OmlWIgJ<Ze2i6p1FMZ2+&h!;)8Y2k0mAYJmx3$`%Qv*C&k=<FEZ%I z@YLQI8T1zV>7AX$2i!_R=%+~O;0P|NC$uqq!=rezRf8IXX!HP%?*)q>bI1pQaMZ`E zDU=Uf3o6n5qgI(tyD(L3;-e2s1(ASD3#zC7pflrvl^r_H6BK5Jqw5Nc#4;gWS1?Sn zn%TRSOz~=gz>=BMwNWZA3$c{QDD(lv5Xee0Lqfr-8{x5dHT1|>u~V!>uUjI4p)|%{ zN&Sh=O^u$Zxfl$v0xa2RaE-h&1@=PRn`KiOc0yhr(nMm&Fe5~QM`=1*ZNiGC{P3`w zQYh@GCBZW#hFo3i^cV%lh0q~jFnBuRDayGt8i<t%4XR3xV=qJkj=_`SS#~p2;asuA zb{JG=8BR*Spu|c-1(t{VTLgu3Wnn#$=t&(FU5tT5qmiCzLSh3xz}f9(cE(XU&Ki$; zgZCCt(xhNMOCVM7AX9^=)ShDj@-@JN8^_;lCg7p73;A+1lzj@bBhmY3GU%QMlS-_o z7^3cU<;7e6%(v-$`3+Q+u(3k;Cl9mydOW{p>juFverSlvJjr%ZmqL=QJ?smw5GM1u z<AeT{2_4fJ;ajglC&4`OAaeYkSeEDPdGyS=>-Q{)L?-e2YP?sR-$LIwbIUzc#>Tgo zdmcP;Yd3sQ+^84tE%Zn_#HDc<0zLqqdFC13^Pczc!4H1$hWh#bAOCKC{XhN+!_~pn z7rq;j<uIOJx@~!gX)$tjXYY!}-vY*yrVLHcg@=(GJBsw9!6zb^<sq_9fuQzRC9Y1b z6Nny_%WkyM@GW{Qu!8e--$-p$`SMj`q6@ECKA6b#tq0ODKki-HBei8AVS#>9)GA!V zG-Keha=+k6Ixf{Epkq8e+vo&4(VC&FD$F&dA|-T9j;-(P!it^N#E?`xOSR{(Ju-k; z#-wWN2_&u1{+x#P;D~M2v2_yv>N(gqvu*$P{xcwL=@v_CSyk8!-IjWZkZUvIDQT?@ z?6K^HM#DFjqiF_ox>&9IG3Ww`#<!*5O6G9YHVa9;4Uwq9T=hGib=evB>vfCFmBwFr zOlE1_CWUF8hZPN`Y}2yya-->P$?gS$6{g3cRyC9i;MQb@j@0>l>B$}XUpj@9*O<R= zgV1sH#F`*=&ZPuF6I*Z7e)Sb(GH)jS8ri%u7{ru~>KfnPJ&;i$E6bRTwWgm7JGaF+ zx&NK_@xOlQ6Wss!y|;ej2f(2c$RVzVLj&*tc>3w5dEtc@c>ek4Z@8}y{Acgw@ejP? zrlrZ<Ex3sFe3KHZWl^y9D$8D1$F0xxKTXq>`f9JbubTx4uq&{4_pjUT_F^sID`9cj zHVgR8It8ybJ=fb8(DIXA9T(5el{mWlPer-R@0VWp%FA8`dij3#4_+?&g)1|A{l1R& z6FuY#GolAfQQ6P-KIk=mkrwf-w@kzc-~FRc-Zdp)4snQU!Jz?o8?n2&$AAA{{U(3= z=YM~*?4P>^I?rMrU$x_%n<EpY^J~mA5|AQX%&5FnpF#}fR;%VL8g-d8D{D!$(Dur$ zzN+m0@^kySJIj-W<=WE|Dn@MCwQn(f3pESNE^M#$Z?$ZDn}s%P;=p1b`@5^hM9jUb z>gXxZ_OZr(bWuB)OV4r4vRiDc){}js(0%{68M>9DtU_B$*;MS^di}Ov6H>{!c&5tZ z)B45i+XLHjk*Jm>cB*i9N#1D<=n{Kgw%f}dxJXcH^%GhXErAw6BNl>Q=vt{K(=T^u zSD%sbteLRDg5K|bU2NT#LUFCodDfgHaNuiP=kw-Xp?cHq71uR}p!~Z}{29;u!oR*@ z1*lsFy$OGZcuV8Z0KAR(^FRE5`0GFWo7+8%+k@Gh@bzz^Sq7?@`;H+G+;{N)(gZqb zWCdTvn$8D?*^1@D<Brh@hj);z820XWc&m{mxjn;On34BjzAkJ(CQR;uq670IFkcDy zj^fku@f?V`T)ALICRRTVz+7NrFeYFVPrpASO$&?(^tw5N?u>4d(RCR}pa??l4Wm5e zjnNY0JfR4}x!Hi%#w+A%$b;oulXWiSF~?8Uuvc^`G%{DG!7&Z4CTJ9Da1^AHv*E_9 zno-I3RW|*QNk~iWS|5oalzPJi5*qooIYLpAB6fo1^}>>)6slOXUQbY_8p@I`O0I!i zLw#JD(#a7XrBKKfHodT0k{%Ex21?_4fpS_khLKmyl&<6$0zD}hkYQqB8~S8)$tlz@ z(}XP6JwXUq2?znNLV@L&+hJ&C2mvRNjXe*RS#X@1FLQQ2qzFQ$79r+J290d#j>#y3 zF!z?+oBIDOSUSB7Ydywz`b#r<gBc?6JV=Lg#Fk<DMDe}SV61l1gA|d;YiHEwlTV3k z-JqCUS^73~Hv@L23{H6lujklVz|I28ujKU4cucM&bjZK&33Po0Iw>|&+=VHU2kg9H z_{}|%og94B3syjKk7OS6&<W)DJy*Z}mWIfq55a0#V0|>kzw|A%lxH*#oj~q8cIAF9 zh4GZ|(znpj7@f`<xyM@!4a&d&U;YDM{ruN%%l5AuhX&vwu7X1n$ZbTC`$z!UAD(%; zV4e}qZ(#-lSXn|=meJSWI8dlaj%;8yRzW0spSE|SP<*e88X=?>GcQ14`<;E}>yD7d zhitM}kS`0NYY0xUn;EuLG&ujA4&OCkAX`=@Cm<w%f%#I1tOXOpZ>A8)1PO*v1k@;m z7zXS1=NK1D!8n)G>t?u;1-#Um(6NC*8kwbMrvrR21U1YGN8e@4y^E$zh+d&w6Sng% zOKyg<k##xpT@=9(nZH&tJPyS$Ff&dh+oTc`9s8P5;3%+U>R2<=n(1paGKF3F1jscI z=^%zel>$S7Ay=3LNJI$|y@1I=u3w-kEfW#@69h|?CCiDP!cmCErAH`K8J0^M0atk) ziKSKM)qATzmx2T(m6$J?hd?08%%Prh#Zq0MIh5?>DnD`(I<X9l7>0I6YCO5dk)6wy z*eiPF*o7=utcm%7MTm1|P%JRXQ?g*mgCqCCG)tM~G54)EnBz=YRz-z;?hqF+4$@wZ z@ddM48gocJQQ5-)1tcRuN;WSZ2+`}OCD}-PEGy|wD@$1*-3t()cP^g0cCNUolI}%g zQMz69u?KO}(tw%=+`P%r?VO+ECO+l{nkesPvVbW-SC`@R*~?yk_R)tRi5~1w6zF!T z@-v;4*LWY6hS4}Yh-U9>PWaYq*T3GIfFi$3Jb;Hd#8q%;0NzHt<Gl|NLcmxdyj_jJ z&27Twc4P}zA*<_w2y*|um{QhFC)23^TMEzncRx(He*;7al9H_%e=knCg(UzuX_ zXu!;l_YgG{t6io&W&1lEniz}+@|YYiKoBKgRU`-mfz%^|0t{$?keQl6At)~Ou}nzL zg6`|QP^?iVS*)5jOlK_jX3-E-<^J9__w{ybHfq-vwZz-W*$TTwpRHnuDFW-s2wM?G z%#;VxEfN#!%w=jx#WU6}Q}y&sM%NZV5m~`zT1%|O`H#oK66i>vD~hVe#~rGT#1&)c zm4&uv>d9Kiu8Sd&l7yj(r^#<L3J!~ikcYqp4UxElViAT0tQdkSfmm-avYTPI6||TJ z$F!1h(-cdihnxk=cIe|o2|=0T$mxO#<51AI8Hw>Ec;+E)xo<M^V0dwIFB9J_jmYTz zoN0;{RsF$ua8;FnVYw5J$!^wRDha)0iVsuvX5Bi>noS&gXO~cKfWYwhi2ibh2;|c_ zJKtI@^?rdu5if*Jc{ogI^Z{lD=^psL;Hx5w%TcLEa;3AYwW^JshIsClCs6<7gk*Yo z<Hh6wyOR-YPPX2~4^uo~PHkdediByPbvu{`Pc+8gxlQ!+xy5D9Z4u6GMK9r<Uh?V+ z5F;d=g!>;qe)Wa#0Nf~%<B$aM*2iH8_%`B$|NMRYZ(sTZ>&Mq__fT#>^5S5jongN= z{s6++&D!|W#1bAjQa^-?p{3|INmRpcN8>LpYcSeK#f=_t<b!fqjh>dOEmZZ`D)ju~ z_m(uANj*~Mc<Dt1l6F2?H*Jy&`!451f44T8hHlQlHu;Ss->chF<7?v&;8?O-d$~j+ zOSoYOFFt_R%w(TDT+@+j^K)f^j7r}?x3$f@W#Cz)HvRx~AGswFTa$ohEV6=!M(dpa zDrK!%w#mp-g{d}7T4;2F0d_*KX7;KGp><H4gqn%18V$N?d|SnkUEi<!S(KEMQY%@? zHnVX2X5KaI;n1*X0VWsvvB)!E6J@ZJ)y>(3E@aKv#ka^4E#nWs%~}s;5!%#j;~})@ z)}l?Dn|hM*l|5I@`Rx{n7v|-Yu@2Ft);YR?bm9w)hJe0t_VO=rS$^4m?gqT;Lyz%? zFaIw0Jb3hW59Qi$s04C|tKiT8yv=y{i3d6U$USc!1@kSBD=`GGJgHZD!@Zt+-&NVf zZF0iCW!ulnMN{L-&?|hq(wHvw^Od%BxwgwI_Ff<M_i`mI;G2oX`B@}|wCD4tjYY4} z+x2)_uCnaH77pscxg=rb?F|v(@ee%8#=UpZ%lcss;32Mpx4i)vLg3kFpXHDL_>UQn zudTk-&BEE&&hv90`bEC-xfc&Fwu53eM?<CKt4P1`-l+F5p4BW$la-TPT3y*v<64nI z7nr{3t}Z+X<NdJgXP=`|^VUMuhiX&4eTh{%vMmEcn!D}1XuOm2V97(n^z~(-!D`K( zY19acnh_jZ$Dv_KR#Ek)pT$c)$6mBt!wSBXab3<`i&?AeX94Si-f!Eai&AK1JBvAk z3gi_Nwf$F)DUnv2MiR!QE*u3Cnu8>|_(ZEcgJr*!M4T!N%)BWzv#;xF>&<$)FlSDD zy`U*|fvZisUNfGM8+>k>w!yv=s(Ld~8g_1VOp?}e3kQuT6W98^KGX_6HJ5p*iR-sD zeWl8AEBn^f;iXoLm`qD+x*TBl)-!Z(1yq$kd*)ew?Z-bsHqWoV!XXZf$z;OkKmU2Y z@P#kj?xDQp@wU$aeCnyE2qEy`gAekFPke&UeeQGEeT9SHEd14{KhH~l_pMv9tvd$R zMsmjLGAu8lue^47nYd00&S5sz&~A!;^HnIyhm$eT>mbWfnL#I0@B!W31E4s%Ojzxc zZFER7Ff&hYJEwbE*?H#x?N~;S^vPCp`lsg<1IK*D#soDb<_Z=pl*EYIsEY5_ra)|% zx|kp40%m5=k;NXFBVEs6kYTK6T59)pTux9!5e%vGIP38~h9LV%jwxBF9qT!p4Oven z^lU+<4qpg;7Y&qS=`JJRVd6WixG5`k%1j+vs%ngUhrWsBnLSbABa%ZR`!yAhpv;0J zNc>)?p+Fdz0!ttfEladSvV)@{qY882Y*5xsNz_0Plv1*mF`l6~EQY>BI>}Cm#`p|R zg5WSDB5WALW(Wk}f(jiU3r)||FxL3l0T)6-rb5@`s0da)T2nD1a+NwXYlyj*K?J7- zzAS<5)iCu5g<9t7IFm2aGdW9k#-8u7<fd%reR8!-ecZFu6nHhvgRL?E*~udFdL^9^ zR7w&^B=3ypDdTxcT87_q5wz!#u|<Qh`Smph8&i@&&iq0bfMDWFhjtY^Q_^iA-Br>( z*m*}RK%TFF??LZO4EdTls8xc4WUNvDH!m=S(mypLbS&9wN;1kX`I4!7lUQcu>}Hf& z+*reA0XaV<Cx&cgcXIKHy)IbOTz{hpI?I{@?N`E}j|}^;wi-!a*H~EkPQd5>uP^Y` z&%em~Kk`p+_fW2iyEO;!BOmz)olb`&N%)Ju_>0>!h_?ye5(eOFuf4{ZGiP}0vBy|l zU0rBXRX+RK&+_W4ukyqbPw>9?y{~S2{q@)R%x6BsOE0|yzzZ+Dz_ZUj%a8oXkKB@R zt2Q;z?m8?lA&En`wl8*-w4fsBeH-8da(W9ff-Dc?10Zo|nqJ-jbPib>z@Udo62g&< z=<(a$L3<te&c~6tha%u55W*ZYj|P%IwoF(XK-Zx~fh`%01jS7Qg)yjuY$ZWEjay~1 z0r`@N3}FQ~j-Hi}P&)Ra9x$SihUi1j1qy+=h0I`rp<_Mi@{FV`_0j8OwP(qSr(3!a zMU<s<8X3Xm_my;plYodY4+%yfkpdOV#CM`3ngmwegcIpDrEnRmGAT=(fJZQd(%WUR z6!c79pKBe8I`_|GN}@*0x-%%Lgp0xhRZd<g|Mw_URUGj~VoD>ha$L=chGDmqj+?2L zqX92f$(WckI1dRKQTbz{utn7DwW90<!K*1{-Gpu5!-$d)jn;{FqgF713%*aTj*b+l z!dN@Fvh+*jOhnl@kL9J=vB(%EkO#{obeIQ+05hL34P|bd!qg`vvs&575~f93&&z8& zt5~CSlbm_(IKR785`ADaOQIK8iS_<UCa<Vra&}NVCPf9C1+cNy5E8x6=?HA5EPpG< zC(7<)DIpPT7Focekr<K$#T4afx#O{OkDUkHJdo~|IkA9GE$Re2Euip(Z@&&9o}(ep z2!jMWEihh5&hNr>hE6VVeI`j%-064G5Mn>qNbr!Q0W#<#X+qdog>EORdxU_jtwhiL z&fYckbvtm^)NH-cFzyYkd(dYxz;n+%$8*m;$FKa#uN-^;hqxx()dt`n{m~!sv5$R> zvu9&@f<O6_KjFuI?8oZ%EX(-OAN^6j_{A^s-uJ$jzy9mL=BcNi;<tbMw*mO-SHHS& z@;&+Fll=YP|NSj90RPGNeg`&nXja@kTENy~9(e%i_fS=&*CD)q`jU(4ut)L!$Do^n z2qtydSI?rS&qb!7vyDgZQW#Ir@dVx8#XR~Day04&=Z~Ghua*qUVG^wkJE+4|?jOEI z`jyuKDBk}ldUTayn2;|gk=T)#D5urZbXQ=uA%u=#vRHe~l%?4O@CjuIO>kpn`pyDL z%Mf1*Xj$$=3i`ba)Aba=Pz1r*%3~;4@nwF!AOw0Y$Cy~?IWd90&7&uYil71W;K(s_ zZBdsrSu-P6Y%Jm7@U={tB6KBV-HvL55@OL})yVAaOI{ma4k8C}J^%n907*naR8Lxl zE|b#WvJy+K6jY&IsXcoY=|NDsXsk}6k;q{w<=<49sW4R!c(y`TjxAy!Qp&NxOoeaf z9kTM5sWwlo9O#ncM6q~K*rs2GIfa=|m=TTlZS7KMENcVGD0IuukRjz$JHBr1_%5fi zHHuO?ZpBU*l=^B8&x_-GnU%5DBE%9f0II^QaFNjs<leA5>6S&h1@%yrVSM#f61_xY zFcX+qu<?b0ToDr|MRMqDRV;I%*i%9hHGZ>|!12$GNq0R83|}jv2iwJd%pAnU@;JdN zZU)(UyxxMF(%FnJ9x9Nnb<xy<Dt<o0eeIhNVx33-t_RTvBDukLE$P+_b7Vb+h0_E* zbAIvK+}%TW_oBA1NNq%33-t6kRKPs?FlJ>LU0y<t9gWA`7>o%1wNr3m=bHPxB@kFS zvdkk-JaD^5a>wFEpUH=~wYaNu03UkjA%5$(ev2=C=}VVv|DE6Y9sc%j|CX<O<tzN< zU;ZVZ`OIf{=9y<|xAN}pE`vd%!`tuo+1a^uH=QTG_g(zq%fHLL?>Inl)Y}AE9xiC@ zhONubSGaGZHvRz2$$bxzD;a<7ZLTaM#?)+3zuJo-;EI-NtGaN4d1DK-G*c1>N7rHw znh3sQ>Jk~!`h!?t*LPZNW&O3<Ln{?QLGY^~YW&h76O^4<8*p7;|5zD&RZrG5>o^mz zM(brerYPG4CxMP_`f(<-HUukn+OTq^H4cO&GsCogs}w6lDsA0{m0M};io{T^ZS}MN z=Fn!my7F7~i>c=*hKTp;`!;(Cot94UZm=}I(Te5Ucp|Iuh(vwgYOAU+BdwS9*jkr2 z8mtx;M%etnQ}k=&50s(H>N(gc`nB-~kOx!u6I5#B4`7zL+W3RY_>+Bq<$rVAOi=0Z ztJ>VOVwuO^)Jc8LcF%dzU0-)IJK8DNjmBf^^uhRYi<NHhc3$swNNhCz%64<|Tyy;; z4t?;R`g$^RUmq|LiC+H8LG`+fzZ$*n!hJ-nL2P7)tLmL+`~lzf!{5pO`HkOY?bzzo z7rqmqTv6xusye_2@JZb0Gx-p=7I(D=@WUVeFaV>`=#uT9`qZcRsh|2OjvtS8o1T2~ zNq*o5et=JY@{|1V5C1Snj~-=nbF*H4b90k>?zu|E`<smAjU@&v{i`o{h?|5<X2Rb# zwB_KgHnKZTFIq19<t>D(9+g`%irc-(w>v~&{n#qqLHBkK<=SzRLcqJby9+;eIvqNf zk>k73XYwI#E$(U$;FS<UxG2O6@V@uGk1v1u%RoH&zWn7cv%9;Cs`Bi!&+>ym_=A`2 zb3UK5ySuyacO!W1YbW_{-}&>r^u=%9P(Qa4I-a0K(P(onU!EZ-o4YL*qoPMwF1zey zw<n;Z(ZapVOcz;`?Y3}qrS{lqUcgS1U~clu-w|yA;<Zlj(N@S(fwoJ_?ip$V>b~y0 zHv}(ro{*}va)zReSoPVrX__cmXfDShn9}>yURLYBah0D&X%DoRu2W4Gw%Lq@=q0On zQz=^3gi;@>X1^D9u=(t1CP<+ajEkQupINod_Fquyg3+olkcw-(IFYeWX`eo%v^0Aa zY>Vk@TkE$qeB1k8{q@Uwiq-e2clGxrH^Y>yU;x{yn`orbHBp7sE$aPNd4CHhPW6|B zW-y{?i|OmTG=w5zNVsa7uQ`0$C>wV+bK0!nn%S#mXt_1f`LL>EshGk?k6+myj<l}D zyg)AO)ysx5OkDq!M30+_S+<}DUbB#^zv1BOecVE*!e4yyGyMEN`(>u1>D5<w3*mtW z9$;l<rT+W)$3K3cey-)2e280%yV?VICG73(k!2ZcYm0T8*4EZ)uitPu<X3<7SNZUV zKg`n765sPZ-^2Ug|NhJN`SFi`oL~F3U%P2z{D1%SZ#aK)>!$U0Nu&w%dYH8pwBL<P z+RKqHt_4|6c=2WA$Oh^xY+gP*WHxt^&;A4ck>iLD$oWec%)<dB4s*|u`0)99V+<D? z1N>@_`MZu0)`zVA;~q9s(!Go#_soy>2&oVpxUpgjMejdKv9<)K&JdP*<R^wP#8fE7 zz~DQAo3c=8LoEag$)1ue3n2mDk4B6eftpAH2}uA4*;*hJCg#^EkXaDLEae!hWZu-Q zTSV{y2I-u{2Kp|m8KZ+FqhktYA+lr>8=0_?Y+^VwA98<po3&)ZJ;@%4DL9p_0>WG! z>Y;CPd|41>NoFK?*6bKtW(ztABovG_CDW8$-$M}|NH$6FbV`FJ5Dm9Vd4tyf73m`q zI3nk^Zy-S!YgFr)0Y;;CuL21$Em_6$vOY;7(U5(^JJwCkx+%!D;HW9s41FRmIVylC z;IT|Jp)Wa30tJ?of|(|$7&;Ubs^nM_QBuj-EQVz2n1l|3(lL1{-BxJ<$70Vxqh4>J zhV$8wzR6f}GfvM|*v>i(T#gk;ZNO<Li#!X1Bxi5lVO}_<S*b!&&6o3pLMf&R%uOT* zxfo9~dk%u&`;j=L9gTUWnP6uSQmGGuCV-FShKx6yeR752sX2D$nVjgvFzrk+MeL&@ z-lXGz$(69PgG}bw7f<1n1X*8$y%Fy3_t1Agg03y$Is@c89wmJJn}{m*`LChJ)(H2k zVqQN_*qtCp*UPy0jlJkz5+M-2_6=lX4efQ&^IMT|d~_oks^d#AkM96{?fIAa$1l9h zcm2?v&jP+#9>CXLdyVDg<@)E#dH=44Yk4LE{KQZE1kXSJJZH|F;fW`n;P-y-_xS$r z|NaAQ^AK0YTh;(HrmFR|&$FOfw*mb0PyaMO`IA3MmSqbk`K9nnzw}Fd>|-CRzwhqu z^1uUkdP1-u&cu=p#-QdV#E*iaXU|`KIY6=;_qEGtcnZkTb<A)8B51Z)LPCwiyrsl~ z5wulrOl?&5sNg#RO$0j&=yI3YBacQSuYh6z`B0*YLIHVCBg1zFMHj{=gk%J6uQB#8 zu`I`YgQ&SWkL5S=^?=&wchf@lxgVuY$_k}x#t`M+RywmfRk3F>25wBQmY~9_i}`#r zAF0O9gvfd=i6w#}60j&eo1vwTt-vtTq$YICLP~*WjY-XtHPM<xk+{8bX|D!fip<V~ zV@JCTWzN9lD7s)E=Vf-9CEx@)5+&O%IxUF28llW7)M~lLO;t_RZm`T1x>Dd!y5tlX z=0wfooW?6R(rz?x#1jy<iY1H$hGtHohN-4>O->@7RAL@wWb`InC<dfb&@nk)O}+0_ z<0Q__cG2ftwnXMFs)lo;=-ECp7*hnxneAnIY0j`WV_sNBvrg?Xjfxv(US$x%+}3Iy zA|d91mgRY9QV&UXBl)A~fl6fjs)6}h)Rj)FD4G?<4=jcrn_Mj=d3B5A<Tl~{qp;M+ zjdEn1MOLl};63U+5)?DaFlHXFx7NKt02yc4%?Ub-<zE&g-MSrQeH9&zVRwYAtwi?j z`3u)p`sFgv%?pd)526!%h)d#Tm4R7aUcTzH@mg@L&*V>k`qMYOtwUTJ-m(VZa5$vj z?{ntN;tl1@nKK+awn)0@cDr=DSI_OJavz>~<{6%O<{A7A${IcS&)>_x`yc<5-L1VF zdsDj-vJBnK(9P}mRK8Pc7&wP{?4hV3Dni)Wjy1trNY0IL=SFm1*}*>kFqI)OJ=!5V z(rv{*LDN{uBp=wC%%LL8k3#51L(O-<O{yE4Fgl@R8*x77>(DtLALbGuIHf3~P>P}} zfCDKEctyLRNuVfMzCN?~%+gzFn7$pGb96YW!<<XWjGimX!p24IWdlg1s7VGQ1*sHx zVx77j-{YQiuV(ccqWoLH5EQ1NB1pv0={wSMc(D{pX;ei$;I8C!Bqvixj^(@`GAA0I zBRV`JTR03zly}pXnbeUe)0PtpHdnSx6P&ICq&T2!qK0r!{6bXJtB_%tYV-~cN)MkS zkOxzeJL0LD;Yx#7+3`{PxHckvkE#f9?k%f!%#xh}Fv>fe%44$rl#~;l3k+-?L$^|} z<%guk$FO*?1hE+75ruDWu2YoZ_cJ?7_>$Rs0qA!7P!f5xOass|9G*=aA$Q;uO#`-< z*XL*G1j5)+kvCSpE+nI96ec6Z&8hDJb|!?Y+>U%#@CyCE{72H0kuV`UWBdo-h2Fan zL-9v9Fw<Dvha>B#4@mhI61I2I*G|><1M|@R$jVX-#}4|0Z@fa4uORmvi8TW2emr7h zm^dT}`s&Fm5B4pD2i|ob@BF|!Zuc<mN?gw~`4G1TZ`m9`5#h-vpX9mco?H0+x#yna zLm&Fk4fXx>(@*ol3or2e^UvQ<KaalmVLth-XL#g^2XCmKYsQ^o`~foPA!%B(LG?1M zKLO10Qq9N($k)=QabaPJTBsGJQ%d8nTvmz}OHv?TZ9bd4#modkRpza-f7-7~mA3Ci zgipb^fOXA0_tUKQhynCmRsXNK_^RPnrCj2Wbb%q<w^{ue7BAfB*=pFTN8Mh%y=au# zdONYcU^O0LUhkODlUQ<v*1FXfVNtcCJ@ryAyErY?HfbFa70Bws%~I<PSM9N^OJm4t zi`m;4xzg%9wxv?k^DF{qi<NpLsVPW}uUDCs8p74GRlPqE*qe7KLc`__zWFSo`|g+v zdrHV{{j=DBm}dV&W}9<u4#}vQS5wyWt9lD5SBHQZXSMMMphs7!>E9yQd8{Q_%~NIk z0qFKlb3d>)8h_;^=-!A{vMRE^y04#xP0a3{Td(h?Lg4#<{Gai!{^5UOxO!*hC*Cc1 zGoQ(aI2i6~18_VZ^Wuvy^7XHO9e|T3Px9i6FLLf&3|&0+)Kh%=)1R&lwNHKOQ~cfE z{T)B^Ge2`f+kNJlXL!$h-opn!_`w_70ieh|zBoV`g|{>A96R=Hjl;umh_?+C@~j|S zW3lTy0(ukvt`oQGnS6+Y;jT6SKl|Cw^6q!Pn-6^80|5No&;1<le)qfijo<hU06zNB zkMi`>PxHOs`@I}Fa)hUzdWzrw{om)k?|ttLZTDt*0KfjlZ}8DaewNo>e4B(&T6IjK zbW}q|k&V^GcGvP&?CdV&jieW{hAjx-n>JI>up|}iv`J=DTjrpZKc(B$%Y`Hs(yf|J zJ+yM+mPbS@@~2*W#|(ub6iv?CI7^#F5yn}pF&9-SN-tNrD-HWJhF;rD-my<<MyCs( zt%Q;W5`Q~WtkmpTX$58>s(n=9Xa&+%iRY=NWG(GGskagT%~~GPD*9d@25sr$wx+8c z`qk2bmeQn76fsM&UbiP%Js!g%>$WEu4Ij2S{Hn27w#U@{94`;9DrCVi^~pj%RhtNO zOI>AESnkYm#y4ZI&1Y31_?D+r7OCJSDVJ4HZ{m4U?z~Bh=3MJQw$z+Y!BVr%t8-7e z#Q7Z*iV$=AR0+eB>_n5BWzJrR?d2pCy>@~@3#w6yv4Z!6?VV;amxi&<X0`bFt%jis zXjMN@6;|E^hVUJVzy7no;a|M#7uemrJG`DZQUmay`GdFXnS6+YL3Dpc=35Y(o12_E zb&5wGd4%Ec3c}{siQU~@R#sNn+1WWzlI*|z%|GQ||MDLZ?iLl0141@dq0=Oh>npD} zZ4cj%SsKRBQ(lnIM(9!xJ+_89y^TA)9Yau^#kiPH4cSW6IJHyH<V25RDdrO@(V&w6 z;vw(1NFYAu0+va7_*9u3i@%#9@+n0l;R6GqU&Nx%-GF8WrWOQL6zLU+Q%qUn!wDp5 zflGWWzAQ>NDX=CGyx@ajoTn^zrrbN+W9AbIH7vOq&S*&jfqT2#bd0AXIYD9p;-Q=4 zB+xhU|E}bCgj^kocr1ZQNbwkkW=<jn>vn`!OOB-{8C{dplMI70(UhtHi`Q64IhBG$ zJWDb!wSptETKyLKc!tK;WtMk?A;&OPi$z(k<>q4W)<{!9XV-Vg)H2cpM<6Nnh()vx z1s526Fl0Dvsp`9<J!YCvsKcw&Oy)RtL#CE_h?JKlGetz%%$LZ6WvduasKKkS?j|g` zIlDy{k6}COG4qbCtdF2LQO0>n=A))BK);g_g5k{8QjDycfU}A*0aJ$Pv&=Q)$qdCP zfgq7+q#+i0-ipUIA1KBPl0jz&(!FQ^B4Dz3&gK1>lF;1>B;$acDaCjjozLj~!)Y+W z^oirx3llmoZzBCJG8iE1E70lS`!TF<C+#9X5n*RH$|;_|0Q+;8`#ofN3B9ll^K7v# zO&Su&XaXxsNVgMni;KmwOmB7k#-IPo1G9i{^qFxz+j#63{|D?f<hEZ9em3LfU;pJd zWvp-3Gx-qLhqo*Vq>YV@4K_A5Zd!jgiv$99X&B9#Sgyf2^xWpf4~u=!tcVr<3lG`8 z8h+=t@Y}nw3`_{fWCm6UK2V%kCBJ`_bUPy%H|s?M&k#~W=ork*V>5-Z$9FBEBNQFM zgy;bjjSo~5)I{blLex_&gw9q~=7q*5uAoK<CE25X8+Mg<G5WwNB7m_<(uw-I(NIvT zT6Bds>`bESfiVFqi!}hV;3&#&hjz|A=^g<?t|pR1_CLjm9-_1~1f%~?YB@8A`GmWn zA6dwFf(UuAB*u`6C&8C&TZ<LNRlYcdjtL|Z@Ceh8aMlk<C9rHJh|uyP!bn|dra=Mh zgoIQADW0PAVkV*lgo#>wN$7AA4ZwilRoD(aK<Jr_nI>$9K7Gj<$c#zoFbOHHtjT9Y z(b7wbMh~c!KoLwy5{WbKE9NbcmHo<Ooy=Q~^+t3|!MI4t)l#vjMM}xMwtrP)?q9z@ zCj>*5TZ+u0!I5@z3{dQ(G4F4XLoP^Ws>DcSH;FpY0o+s>oQ&t+Y#n?m%$LCCF%Pgh zFO}$xp0C8DNi$Q7IItbGn}89F?O@Unuf^3B%#ro_*t^LU3^HpWO`}TA{`=QticT(5 z<1Wh=S;0Gd=pC%rdx#P@;Q{l(4}K79El)rFG*3VM^o@7O&3`5z;$V1N7=Sk$)rC;K zX&n^b_h0`f{D(jIOHRJ@#?=?TQ_x8<k3Ec(AtImUaJ7;!dn0rYIDg^dwzA$=*p9Wv z3=qz3lRthGT`Jk2R&e9Sn=!q&N4}cIFxSwLcGFnPEQh?W%vYnwDiBL-RH5Y}g`!sl zFJsuvg!llKqWrn^3<e1l%f7T26%8huJ*EuL8PE_5LYuT8O#`Y1uTkDDglGip%^Z0x z5vDx6yv?u^*{IGI6qR1Az<r%<?(OczP^o&dx|*NhHPAO19*b8)Pco8H!&lT3T9>jR z8kx~B45Sjv$^<cJ5UiPEC5BkNMv{n@Gj^XF)v|6|MW0iCnHU~cj@c1T0-mVhyBFGo zjcUtKXfz0`i2f`@)~^-CXhF|JHgOCU8!m)K31=%GFfXeKjzfnxsIISQz-noH*7mqj zta`-2IK&!x0*vyMnWoX83xU^08>RdkWFcX#GbOQ#4FxVOi|v#l^Yi0D-M<flvyeC? zc+YgNO9=6p6q5v*wX$d?k>x7@1-QNPvw`mUK>u7Ece1DWR0xTpiQolfT2>I!C`%Z+ zg6|3WKoFvl2T(k8go@4YRY`j*NOtXcX=V`TI(UCra^(Pc-w!^)d%pXfw|f}Zh9*1V z;Ohg=KmYuj=B+%$?ZsW419-RNzDJMq2Vec4dDn*?zoeJvPK5M(kp)<>0!QPkuXMfW zCg^gn-i8}5dNhiq(%2Ef6xuL*fudh&1j7RT7NSxDO`Eizn}&s}A#~e~((-w6(XomK zL^UL-nVY0W%J9#zq+DNK~xROkpHmMk}v9U7tssW_Z_K3FGs8z7G8LDk*|0b>V zgy<=((2-bLrkcLp(5aVnC_UrresW#hul8qywx_-H`boWSRrxuASfIK7CS)yEa<gBu zunhbE707k*UAFx_Q&*PPiR*W4^D<Gfp{vi+A}MDtF551f8PqHuPv0KjzGL7kQ?NXK zqh=4(f+o#5Ws1d_)Mg5zm%4qT)VhI!c(A$FO!{j=*@wOv*X>&vBEo<1(;wkC|KeZL z?H{ZV@*xg!r{T~5JOFMc3;677=eclp`|gPa-;Qzaf4=Dz+V;2K@mSn}J1ZmidIocI z27d7OpzGWIm6yIt-o|bSZ-;%nc~DhOed7${ojX&Z<WjgDB#=YgT{tuV4}hD+0{-$} zeU*Rl9lyZ2*RD-f<4%C??Jal@WPSCfZ$l;-?xoYUHIy$U3ukJwoz;0-!9q(ym+oeP z$y?sLmcFkvQnGQ~r1jNvX}w>lTxE-t*4EuIo4OVwRcTj>aMoj_>FC_JzhLCGKcAkh z;M)o!Ew=15B(1zb*bUuATDHvHYope}MPlf)TzIa@!n40&0mDQSCZX}19kG*|U7Tas zEShabCU3LR(9%3ER7wva^}d9fK`iY<LWdk}v5PycgCzUrKxq_KqHnD^D5)%}QS@w9 zw{=a<(9P<$N$uq;J(4Z$-+nT0F{;4_(<+x2u&(8ec46@;*$TO-1u2@g*;+GOrT{x> zCc!7rngWthsA<$i7mAj{sU6i*CuA$lzGw(&OO-?O91RtVTG3XnuH3VZrdP-SN)EGw z_TwKu^Ho0jj-TcHsW(}^^JYPB!rvj@(m1@zZzEp(|6WE_3H~m+(tIF%^HmrQki^A; zvNst5bpQ4h!s!v=@e?GwITB!eyn`QDveg9f(7E6-xncsCNsh?_ooT_~b-3`vG9WQ8 zunXCWpeB+*ie3z}X{mW{d@R1J4k(NAsxi1NK|31r{BlF+c*1Id*htK%n4l&J_yCEE z8GEV*OHSfEsf`9qR#>c2j8%5Cl%6Zf0?x5Gvo*?2(c^`^`*_dNDG(tsfe?f&L?w@D zNLh2^$l@hsM3;?ZT+%m$RT<NjoS~Vcz=bftmid4^a(X6bVCER2elA2=w~iK!G_nQH z`T_lrkw{>wjtw(rrU_O8a~$V=m%ho%(5<lNQwkh&97148W_Sz}jS3}-VK+nq%yE06 zB#}5~!7(Fc$M^6UQt~pCYY_rn@i-IN)aUXcyS~R%V@~K1H!AZSVeAvOiXnTxi`PhS zF`^(s-{frO1Bzf+>(1yF1#|D{x}q+>Q=M@0%(6KivNP$DdrP;Q<6J-_zG_VNIuwPC zsvw?du?5gXk-5|_3w8?qvr*#B&Xs(i1P7hncwSG}!FL4Tm3XcNO63{opDD02B^fJ4 z54Imq5iiU(gk&#Z=S_IHd){LTCG=AA-7)U<Ep&S~5<6Cw;=_A)FBW-TU5+np^NjG= z{cvmpf2<D=ZQ%ZY_TDtuvMj6b`>nmtaECYM%elI1>Vlq1>b9Z_a4@wH2rCqAwe`Wq zB0`qzAnZ^{SR#<Dmaz#wU@QoS0jmfTcG!fZ#>inAW66VLgg_X&aCIYr)J4;D*N|B` zyv#ShckeyZ-pe2Mx#ygFU*^lKs;qjM)%PFqGVi^6pS|}P?m6qOwf^h>Yrlg`%eoBu z$l40Bx&o06Y9Qm*aQ<3{Dvb8VT=~6goV|SJ-Wx2iz(bCO0eFfqM$kvK1kBOs?f*cG zBjmz4B#H62wm=N#{02J7@!Q+zTBt|n6N~qrYBj;f2E3APmke&?xSpk4j>*r*s1^D* zGNMfBZ9CKoRo`Grp||5H2SPOfTL@YPLWu9xWnnx);%%tGP%KQy<0_|w5sz7_FoQDG zcvFbes>$U8!8wDGP$C2g-XkZW%!!!kkLp0TD7>vXC!W47F`|?{<S)LSZO}I*Yw?() zDrnj!ree*Gxft)G2s_n~Ws@<q8M%*{Xu{Yh<PwavR4V#Xpf$^OLfj~63?yfwp)5&H zN~#%UUnSRwoInz>;#o6ee7)vF?Xl|z3?xug4z!QQU~w1`Mw()4&s`vscw#9rHS-q& zNu;X%Y_T}Jc2YGJ#+tJ26P8TQsvUFadSvx_b06`Q$vIL}aX#MX)$v)bW*aO=8B0;d z5y4%SO2x#-jH(nt@g8m+E-@-n&Ml3Iql(>ZKqQ{^-k4G?Ci0|7MKQ8uM@jf0GRz^j zl(+h5q>y^z9g7(os#T9m6_eH1h^>#`vLH@tcDV#Eb>vC6E7q^)6l)RtALwBV!4~2A zvy+PDS0;#uY8Vq=-{#!sw#lB^VDg79lI|$BfO1(dxu<`9f<}gNIi@%}BtPFL{z^pj z>TRUU&UJ29Z};Xl+}=f=z8oyluDiOb(4AT`a?n4<*k2&PJP1AYcL5Jd3wVL|E*1vh zTfl=V1M?l<`>lNLAAX*H`Okju0j=y2LYiQ{?&;>iZ=Zf5yikQfpX$Sx8(FLTY(zB- z$@j*=(yQa9EQ~K<d}&aJHHGYApY*_E9H>+1fpvfb&6H{o#sDZ&(0)CwDB5pgs;GLT zQxnEqo<LNS8;rx4DfwiMexZ;?4pi_6xs#5hTc|Z>LRLRk9IHw2ums|WM-g%#lY2|% z<68SySdYehcyOcfTCJs{W`3j$MVv`MVdP7Ut!wb9Qji8CRfQcdRGlKfN7~H-(Yl~Z z7&wxORD3X5y>h5a4J&!ihr%%}9b>B4YjAk_)3CR|IeSE0kE04>QdEQ(kC+0ZQN!-N z<%W!EZ)E0Tw%k&4d=9IW{VK3nkDT(wgUdCuS2(OvV&j|ZX|w24)J9|BEMLBLt_dGs zKUg72rr%wU$^dITN$l{hWIrD^`!&9ngdYQd6iRa4hVm{5>{+BGFoRcA0(*BHfs1J5 z1(V&J;k8g*JU((1Ybibs``mk@VCB_u%@6@zegz$k1A%Ac=nc-ICaj_NTGo)FwDOD} z>!VTF&+76z(W{+OEq8!93PdCG&;Q_fV-do~dhO<kV|*>+yZ-FA^X#{L=(Lw{e|WoL z+=T)7p2s2w@Gam$<p6G6TIav|r$53U{&I9Z{r~_V07*naROCm$=5n&7mm(eA(zZds zn(#N(3AQzxa%wDQt>Nu^rlWsKs0Y}L1=x0MA5TB5-*;<Ew^F)wV|Ps;v33cVt?@O# zUsJ|y!*rd!i$<m$Co-)LF3fXVWQL)-Y_mqWq9Hlg|F>nC1Clw$aF-<<;pSE}$6oEc zwH-dJ7pWP;q0!H6*S(S0ngu*vpXrPfwmm-1v~B9?n_XLIExm18LT+Qb-_Z=E8=SU% z3up1#o?v5Uk9085>p9BV-^9{Y{_uim%iirwQIAx&38C2Y^qLij4?3*v$e^)l_Bk56 zkOMef)+B3>>{1_0+gCdIt!f30r>u9u?v36YBY1)Ph8W>b|K&f)U;DYgNVLe0T;M%| zg#mcV`2Cl@!qwk<<7@8M)|+Fyp72xlO&>Qs@$Fr=dTX1VIF2%F`<}Snn`oVS+U}?O zy}GqTlUba!>^qHlzw5vE;n2IhzWbK*EjqVp_gHm}?)$=hFGud&Z`yRXZQn$SNRSWw z8oQCaOHi-;?ytSf&DU<7_EPR24~PWv+;h+Ik&k?Y7hZVb-Ch3z?>H6);3?w8fA|Id z(l`AL_HG}X_EO#*^wZ$k0~n2Fw18*eJoe^Zlb>WK9y@8hTKTz@Y2-3KtVnO?%~QNe zY4e&CT;v;uWi)}Vb1d2Ey!Rk2aWv$6O_N|$(48cxesJ8l@~-{ND^#w1q8m}-Y0Md+ z@}_Akot;U+G94>G(K<^me0C#WCG)L!tk9?lX+}6I-;x^k{h$udhQ;R2Hg?3wr!!u* z(%Xi4>=klvn{g&SC}m97*6SP~gU56jx+SK=0yd0&%Z$!7YKkxmP<d%t!K&mP=JCMf zO`F%6v8!!c*PGb4MbkE}Vlvl`6HC?Xb1y1c?T?$aSEa=@9$sNmL~Y-GPMo$(T9<ab z%~mOwJyQm{&6%ksX)|rECzpf}@N|Kr_ow(M%xMZwyjM1D+4+=mspC$3@-cMkW!gQ2 zqe;`(^*aT>E2XzNX^ceo*gB*qc&GaJDGO%J{rCME!YjY~8h`#n|1mdSeKZPaKd3S= zFTL~<FTecq15*K6;Nii-mwk$O{pB|>*5IALcjreKa`{3iAU)`#&copmEDez8_~qwb zdjqlzQ<TWY8uIk}FnQ3Wot*EXu|=@tXL|IuGDKnd^$GpW9G{pb)OO>O%M>e?YA8fU z%3w2ue2tf2bQy>;!Q4>tvmw+cYN&c1-wSs>AJ_V<fF8wYCD;o&Ab2mhN>CNl2ZL{I zbrP7t0?SFxFfJIzVSq`MV8oMHkElnCl9&o3Q2D^(otl5=;sa9Sh>T|%cpciDZMVcS z6AYoaa_J2dp9BUhmNWK{p)Dwgxmm3-suCtXCD)iGGvRD}M2Th34_Gl{3{ckW-JS$y zuVP3kiHvWIzZEmVVQ>V7ZbU12H}Ww`P)RA&Q2B@|1c6B@NQ`S3$A?vqi6%@mMbyzZ z6^Fiu$51#!r4a|Nk5|R1W#SSlwJb*ymZFSOBO>u!n=F(2h|)(ukor@EtzrpVgli>h z4A5Y7_j?tUFF2f}fH28o(j-)1E=idb36b@bl_efjXlC(~2%Mm{)`X5U5IS}Z@lF&% zy#*xufuIrP;38#mUV^fWh4hvqIaJ~!C^q^OOHlPKzSkOjJ~148aEaj?1*TN=;t-xV zi)`(qXO<y}v7-W$drUE#cbx7NL~ra;Wk=W>yU2V+0c$Yty9C4VeRJ1t!1msqzo^3j zW@8;zmJnlbUwyq%>RAB1Q@pFV@yabOJ$2!<mve6{asU^&2Nnk4Tfl=Nfy7Dl@Unnc zmoXR4fphrln=t8=gXs4#m(D{R;cwoCF6%Ikkc;P$r2)FNi{=HgzJ^$XI)~ogMz{Au zX^NF4^wu_%C0sa*Uf!Vk*ptZ71pCz+n3ZKr-X7z0I|mWUm4s{~X7pG>vR9IB6_jUE zTw+iOUd7(FAs#D-mje^?=&|4dG!F7mA%<uKY9#0c3#e6mqQNh&iY6Yv;)3GCk%dHY zqZku=Y+Mn=b&b3t!dJrH?tmnz7!EV?Dk66gl{ZAjvzPa=#<P}ANUfqORNi81JzQ!6 zN#QN8mm3Ui&iV8Jl{m0wRj{I5ot(jn<8r!3YAO;_F(k*Sa6UdHk&2N|Lg^Nxq*CH5 zNK8ep5rVR8GS1sWK-l#IDm8dD7@$zt(*fQa29lGA<G}YZwMVkhlnP5<aw2hzd=Rir zD9JUjku9EBDsqX*eT>DCX~K?QYW6epDWiJaN`(VAsA~x-UJaERjCkzS8|ea@_x5Co z*AC8LM4eM~q+Qpw)3I%v9orpNY$qMt=-3t8>e#kz+g8W6_2+rV_{M*5*IAw1yK3#Z z=bHOkqMA~-3Tj0H9AYRAR<1bJ!K~$gm5~Hh<{>x3GvxfA2#&X;d0Y}BwvWi=qIld% zJuP)BBSsm027z1wxMESlI4eg3ghVhe!NYQaC0+O4;8n1KxOs{rNDXPl-3PTMZpnvM z$)l^kNSRgjzh0@`5c6SjJK{pj_a!J1t(0^QX;2IK(t-Z>F5=(v>wXFIUTOava$}A3 zFRtad$i(1X&W@dRpBu2-1uZ!xwlOIo$@3Q9_kuFMGXI0nI0BW)RoF}EV*movEwH8~ zejAi95%Zep%PD(*T<@9oYrnqx6GZ*#k;H6TpFt0Vjjy#W_%bKP`%uzycVU&B!-|>c z{g;F&mVd+%Q>M$;;&LwH+vy{N^%cj9{Gw816*#@RtYJk=9QWQz%XNZ_W0xsJL~ORC zeE?StJw)BOf3gJ~6X4<6nXN&m>a1ju`)g5&pbt$UKe3$NDQSVM5kCVrXtC!UAv1~k zv|<viZvfiFB8&`S06u8bYX(1WEG<X2TnUfC^zd1>ti`0UEzv|a{ZCD%WoULC;;G@3 z6qA?QMQZ(Q2}#&9&o8`tA8E*&29TN>TL2&C6}#Xi*;P8b8^(~b7TdypTur93flMEp zkWB%9+hWAiM-EB)b1)^!=cbc%BzvNnB0}zgh4x{7&aSkE_(8yDEeaFYtK#DRL8nX0 z6kfhFNQNa7>e&m@FirY;`Q#}7m@;bRFYqJ!Du!Ak@O>uW1@gc9!gwr{-Z}IQYGKy| z(+4eS@NifapxOhwz6dnOl*~*J$F4`-r`AA7)}p%hzv1VOLLC?@g`D$6tlU5=rYQ`W z64f+Yc_#Od`X0}*#u9G8<q+kgR%VEr+Oa_~_1hZl;mvr1JG=n?^;qwvKwG=7qleLN zB!#QOiw|~KG@Q@OZx!}@%;|gGkmBg8;r74c!R=QZTG&Y9`*GzZIQ@Y~<lD01DXDaX zzZk4DdnhWYrEFIGXI2g`PE5vX0e`(XZwI@GGfl{D2;1^r{t9IIY$CV8di*69!F<6Y zcJ=EFmQHpX$FO{{^<s^?0AmSy-Q|x%<sw=b!Ea3al_u{^lO>l2Pm%6bAv6nT_hR^! z6VGMM>5f2aQdO&V*2R;HsqMaz_pXuOx*{nSKQ|=do~QO&xFH87xL7=4jH||xO~s3w zzo%Q7Agzo{+is-Ir#RjJUbk?a+ka+HpVSe~v}$PU533Sn89bk#FLvUcR~Ri8wB~tJ zZ8GZ{t`|g|nEicg`eUx;V~aF4W%%tU;i(<W5cKw4w%1?ZFTfZ45Fc*LWDxoW=u=<5 z14TC=x9t6pv2y^+_wI>^;W2CKfZQd!!KbS7O@SA4YKc4i0462<=_#kmCHQ2lF4LHk zj%v<TKI3Ag`Y3_p9Gl5w4j9d7Hbj|v;(E)~mB3mujM%sNbY9Tq`uE1Rcwa80X|Qw2 z={CbPAdQ!%{(N(lTjiiCgyg>S?IrQ;_u^(TSCbLz@;U#|EY7%ZRW<(!Z$bSgQ5<kE z2DC%{^Mvsovis|$I_pshQ)9>9zyKtR)aT*qgHrI_?t?3#f7F7}1k%G3uNy0Mv<$YK zuCmygPpH0wS;NGnbkD=_xj(;1mdgE3SJj}BAY=q`w5*is>QUF~SNKjmHzPu&Z1UDv z`gM&I^(v?Lbu0P1klQh$tz`l>BL=HSk0tN4I;V;KQZ_nfCD}G82~v%%V^XiGGDkHF z_P%JNc!dY@vcQF^*&t^0SV2EF=2-NS^+GPSCkE}d$FT9xvtm<(ff4y3uEYMkT5<E^ zt*ilWTW51Qg^TwLnHs`YpM^Jnd30!5+F{SbNaG}`L!~Hv5-v;BUxyB<eo7Zw8Ly3d z)u4|4nTNGHzbM)&Q>Jp^lVX_@CiNu)rtB-C*=FVHWG04$qRQ>@lZPTIbsPc;c05m9 z2pi2gmqxz^CnZGEqCnHIM6G^?jw>lb-cUsIv@VN~w*2r+bLHadc-ZdtbuX-V?`7SP zvK5{5fKs>fk_<u#*vXkSZQJ4K;~L9Gf5ys1XXY4@X4l!wPE)zNXQNn3*YozC^x;FR z=4a{c=jGPhLaXA=#J2zezix=Fd5!(=1+x9U+9wXF&Tss4XDnB}de7DdVp>O2=r3{1 zZ&+(xvX--S|4CkqRNq$za#?1F!1YzQ7jJe4(F7hgRW*O|+h-$*?htGd96AQ(8hpp6 zybGA3+f?2Sub~u=7NJN=$aH^P1g)}P0wBvN$d+L7n={A<!oFyAthlf*ph4ym`K&<B za6LzJ8SD`-^Jfbc(c{2ZacX@6mWsQv43pSH^00nf4cz^oV%!!w1_=1ZFd<@Ep8P@e zAKs{VuWHJNH6XOc(Q9z%@Yz(a+T=?pI41vowq`TPap4igr-rY%u@KF2Qjqq=T{-N4 z^)E_7hg325g&N8-6|kV<qo|M7cO2&QDIrVX9_531Ws)7C!xDY7^cYNzSvtTgW9Fpw ziLJn)<J6#mSYU1*Mew@f7`B+@_^pXyNG~ql2~bV-*tCp^Q%mp$yCvZ?orQDI*FVMF zm6<#^k>(r<V>Hjq_5qkNxwpvy6(Pu}3zFS^G%8bhhFrLX_pc^4&p4DpJ9Gi%q#9XE z_b3B+E74(&Oq%*^Dc)jeMUJ%aRX}=(JqU~#>7K*f6(_G9W(;hkIzh_UO?3$lK&Z0# z_A~kc)Koq{+K6}|k~@&}zWV6C8TMZQGBl&@mR~-zi_Xp~%q5-xkP=f{=$_Y(IK6%4 z15KlK3koBK99T$U%=IhF1OH=A{qioNyGJtBvdQlE`uFuSewVTGR!&SMd$<iaII#bY z%(Z@R()=6!I-rzS`{x)G-&D8bThuzfz|Bt0<)w1<8C@h_Q-mg$XdAd3i^#XOr`(h& zea8@QBRr=MOr_)&B%Px79kJWu6sDkJUn7~sMRNEYorqGk_*iPj9mAOt#7g(;PM+a0 zkyh}8djHMzbCFiqMG*33Vic@%@{T8S{JtP1IfSt_Wn*a9Us#dilK3Yc;)y(Ew0zH= zon^WF6$KChT<1qEk=(S(e2|JJot&nnwsecJi^fQFSu4*9_42*{G^3qZP^FGetbSml z-f$JU`{JTA;k*3=Q~_kfEa`?A2FdPa{V}E~tp@&S%t{)Wmj>ek=e7JW0o#YUzeQ5n zlftu9jB)o=c(i(@XbDBcin0heja8%@D_5AMoBGOy0(Vvim>MX``fS;ai_g)*itS(# z%L&tBBnymb7&O9I(G656@AKo6sEe<YE4@Yrs7UrJ6<R_^Xv6azd!Z}nEh-!;s*|C| zX1T;7=cH*nu)Z~@6u2b67^DfNP`3*&CS<Jw0t6b(ED5=@#grvT9&l)<f|!hAEYMs> zkC7qKuhho9jFo24RZ#ln6>&6)|Na(o2}a;fG>u9?$qWBf713^A6itsc5Umc0FF+-0 zzgdr>tt;fC(bqrgw^+7MBo|KKTk`d+&B~TVw{|BR(``!d^TqELcR2449!u~kn;y5` zeeaoLMsJ%%39rl6qnag-{b7hLUJYzNyB|p55bvA5p9vdXZG+oyVR{~J<GnJ>QP~89 zxgh{ob0|v9>t7ob4<#O#A~W*8zzO7clFI$Ha}}zJTe=`nyo_tyt#mNYU{(i{GqoPf z<Bz{ZCnp6F_+B-xQb=6VXrTugOt2nc6%GMIMtCY^Zo~&>A*<(v*Tl_W;ab;2QjF0e z>g$1xtkyqKk*B}%X6_F<$1B;?J!NR12p4SvCDQcr!S5msX{rLs7BK!?hOI<s=GgcJ z6`6oulcRENRAm=vR75mBZO|kwmZ)@U?_9;-3Orsln6fp`rh>d1;1wPPqw6Z9T9um$ zzBL$q1S@qURa_WDUCZ|bFNu=;W+(K3MMo#=DF2mb(`cv8e0@)8XpF0*3w%wC1YW$M zMFoj=5^rpIM%(Gp96dH`D`wa^$*?=;tzUOpO^N}<cH!m)Gsu34)MxnF@G`4iNXsTA zNE-YukW-mI5X^WtpHf*mn$lQWc)q`%7I^MOEM!r!^1;j^Tbr7=BGbD-gHmOJX#{_m zMuqpCVe}@Nt&!&>Bv}jxfOHD=J$*c9ABb#UPgpP>d|tcsw>&iccbcc8qeC(jgX1&) z-zG5UGv<43v^~!GIVyN-U+cHcaOpBHx#oz8;OVy3%mGibFX7yeggfdr<eQ$r<+{Ri zTQgsBa{k7!kC;txhWv>(@6J06+C*S#m*NlS|G-<{<^E{xil0Un^hcM-Y(J~xwCU>H zMc2%A?N4Nz`$YE8-o#c@NRkV_psUhhjO0@f-k(EknW%1;=*zX;XReDiQwEd*9Kg|| z`{xII{W5DmXtHg2cDv4>%a6>e;uH1@UNL9Oe0!d#m<bu*QPZ>s))F4b9Cp?UPugK` zJ#x4Xns5AX^VeGO3+Gp#t02$QsTkr8=u=N02%lKX*iHA>gy288uVYt22Fz>TptAfl zjxT+>vL;#6EB@gHgoZc2tU=}`lP7TwU*-1g^bFL{*-VGS(dl`LwAO*Nm%?dzw`PY! zlyLHG6L+f1fQi+qdfv*-$5sd9OR|g0Bb}qPhsn%D_s7fk_ld>^r->qf#Qfef*WHom zY*8zP<)7^{>+LCW)}K3RaB-R=AHM|@z7*2p^DiB|t?(P2CX3Tnrk;kD_sdSqhc?a( zHFoIxc&8aVuYK=YeXn2Ub;m&A_?Uje_b3m1-8K70eH}7>J|&7dUriN580i~*Tv!F* zlC;$=){t+$VBE$Ch7IldFL^qrm~#RYy{x&sERjz?esFE`v0+%6ni7zf6Z70gJuGw= z7Vz#imInSQPjad^l5n+vWI@ySIF1t5@}~~ZLq#Vp8tQdx)?@W0AsWWNxKAHrPY)T# zH=Y02D`h!8bc~GwBNlSP8!7BV2wtseST;mFnvq$nD$R&6{!k*tUE=Y;75*nOe?!|P z!lzgkFH^TTx8#0-jx#aCgw>>p`b{-EkAaE*hPgTX;Fpr($RbC)Wm5A7LkganePnrO zgF!~6W$EnwgYHPD4gA`J+dvQarf%grp3Ohn!<_S7OUxTOPrMC6q_Y5GH$XosBG33m zt&Fww>|{h}zQbHb!aGwTc2G@AGGsT}vRFp1TKK4p6G7;e4%7nVYC|QwFY@Ufg*Hx6 zS1=y;-m7yGbXOIT1stFwLFA-|uC6u8`jW%xxux@=h}T`A^~Qi|^LtClLG)I)6=z-7 z=>j=(UJG-2R<F*}^!6{l88tD?X^dA-0i*Nve;evu`tkLW{hIFe;Ht}eQMiG%|Kpwh zdTZ$0j7G2Rc6NLHsc&UEicc_t79-^ACrP?t4zK6^K`%=p-^Iv;S{c+2yeUM#0MvM( z)OX0VWs)e0Hl)>i3m`;p2np8`8o=5(E8`*M`l-thN;PAb+!cVL)i-~qgot&SVSVV1 zK>*6SQn@N%{ww+!O1As5sp@11b$YT%CRh?whS(QHqH^{@5b&+_sagHyyZUoR+|wc) zna}~$=0A#Shf673^=0(;5vh?CNpG;h^3W<^b`8at5_b>j`Udb|v7k&)puo}-q`sLk zv~Fa)%H<*0kQ{r~d?by%&+Wg#n<7GycfW;L+=_kG9bX=CUxdjr!pbyc<72f!GyeA| zr1`d}<#DEN!<C<Ep#!_8+5pj!53qi@#sTt}Q)O~&XN`Pp{|Do~$`1;u#!%=oAy!RM zu4@$E8mDAQ9OcE=E;C4@@V`5XOHy>o6p0d2e@BXG0r|R>KvMio!i72;{{=(17&XY= zoMwJ(v5Y~`!<tVNf8y5SZZsc-(1yc@g$ylUhitcfX2LpEz~f4eq%yV*brqF4>A+hw zYj<OaVgO3+D^_}quit{;?LrYYrz)OG2`zc_$>x-#EkyrD==ZkSVKV6oS1`={_>tlO z$e;0H>+^lV2+hC#)Lqd4EU7bn#44X5Mn^9{>g+_PZuvYmBg$Vs*X&#bJ77)iKk@zN zW*eFqo!m!ua|ttK4p&s>iTV3}tW|6==2Yu}8QGhu8Qf!9VuTYPO_PpG@8$}Q#;SAR z_!vZL6a5o>=Q@EV4_6>dlx7ZCM{HE602dA|`Bn66A&J;m->HE>p(j&S02MARteZ0` zLa5J9>}HRzGA@L)63uVbo#J%Z-0x%iWySCEDG{iKDcbwW^bIl2HTR<iry<j>bu<;u za0_<`r2E<b5If?_CCSZmTARRV5Lvv;NG+S)X+1(bB}q2i63(3WlS=cqCnISiM1Kph zs|dP=G^KR`SsqWkS)m~|uQiK-%Fubc0Ou_`{Fq}#Tst*&M9HxGfobhjlwqdR4M}M! z_8Tz;XAL(u%<>q5$9^KNL%EI+bfG36Bu0Q@p%T{uVMrHX8vWi{%#c6aOot-Uo46MH zA<^=i3C(FaYI=?d_BbxUuWeuJ8>$=tI8Liu#T32}q<|$yP_3iQn}IeWi4Pxf3oqrY zom!sfA<jJVH=qZ#&{0B1(el*52m+VjGu9W!90Wqd1d~gXl~7Yc?Va%r2%p%&DI#wD zTAUXb8lq_-+;}!B7bP1$O@VE|g4&y=IdPd9OL1K2+YOHQy1{k)K)xt`-bG&Bf>8Am zEP57+QRZ(2sz_Z)H`nNO60Y2ii-a1L6t2A&!i}V{lc%W)ob-7e<CM_8C!I0jZfD;> z)pSPKUhEXHb72i_dmH^VYpbjMvnJij_;al1r#<8Usy)%ylYpcE&GRbJ`?|`NBlb$i z7Yj>8zswl(UbX*IO{3>gljpA~8{#8QT%=&%2g`&3TRI6I<A09ay-(KtJ(;a96N6;8 zs(%ezEDH^Oi0FgJb3@T8xa8>sq(exn*PE6EAi?_JuBw@f20(;18hij9O}!VaQxIX# z9ou`X<JrX0Fn+BG54T1DpQ4d>(^VwX>#yk3tl%CPhTSh@;aUU1)^*Vkm8XdsT#&|m zSfg{WS=r-3MV8t1Y_@Acez<I)qNOlR29EQ>8(@^e;4N5zRF1cm^p)iA@;*w^PhxKA z;Z$?JojYq$G3~f;ARsMYWF~M|8AjvEQ;;i4f23lTRUy%6Vk#&1(jD{5)Vc6azLanO zod_gCTF70S%A8VRV<%BGIT82lEQN^TU7jcQf+Vp%OPMR8-$cySCUHYd@i{>1S?2ak zz|U;RU4KWD-(#o>A}E!b7_V-GJ3W5M3nY@sfJcD|C&@=U1>J&)!aGB`G2|E3;BKGL zds+PoH52$;_%<>8Aqb%{xxaNUW5+e<f1|kFz6J5t5*J6E*DK>EjKIw%k>_%n392)8 z>s2CF&)-$3G&{646J2@M0kAW1Q`Xm`t@5~b%906WzN2_enNrsEpf!K03SS@YO^5dP zfT@CEH&Dl?r@M*8s?X|)LA^HI)+gboktw1vcgS<eV_ROqFUg5DqdIG<3UA$8IrH`@ zUgEym_?InL-8cS%dsFe&J5ihA6Yey1p?jwZ>!V9T4(Yt61(^dm0k9>)Zu`r?kj_5~ zp3vX8+=V+|pxx&^=XV?JlIRuW6VpxJ$N;1Zg7547uH*f7yyJdO+RiG&EB+fp_Kn8) zdh-2zY@Y&Msym;d-_9M+DKotyQ5?5ju#DbZSp-!x#|E2!B9H)-ovkFO9O=5+8Z)r7 zBE6aa3E@6$Hj~mh{wZ&E#BQqgTIoqE?;%*J%qezK=mc%L+CH4t;0jolvp_sx^S(vg z+lYeT>z7(uy*ON*D(Yv*Vgz$4=1%8G<4>J`=yT|oG4_db6(r<Q29(@!c2@@1Tultm z)&Amz>P>H5y})N}ck*tIsQSuAzlau7yxwv~xVz*~9Xuag`fYbqu)>3KyZLeP%nozK z_jM=#j{3FJ{V^P)HW(aq)7%5|eWEE2^?i5h9{al2`!pnDzPIhuYmMGsgW+U7x~#yV zMU5Y4%topZ@=K!FzkPXQ!F_l{^zcR#QzUDN;ScDxr{q(IViuFfr8MzUVDl&`vcKQP zHiE@^)v`zNmpw^LTBeQ9R8SJ9Xkh=j%VqvUelq;~i0ech$w+?gZSN-yjs+*}ODy_k zAi~N#z-dzswXqVsyWQC@AZ7yA-w?V&RLDi;#;9?VD+3>17Hg*1nTDzfK!vc;J%WD& z@Q<-9%-of!=rTPQ?MtdeOw$U<H<#V53;Q*9$^moHFBedvvuJAmF@YCG`Hxy1Ru~k+ zgU5*1FQ?P&CI+zBq;=tj($B{;090e*;Qn?Mipz|p&V@7<7a5P5J_z(PjfI^xs&Cb# z6i==NR5`53DUdoGCsw8djQ2|1vy)IvChsdV3|PYKl?n8ad|tJBQ&3mhVOcQGZHdR& zoGY#3Yv@T<OILSbT|j41qQU`eRZNYik)_1AbS$N@d4><_RW<k8oPEwGmYF9V;MLEW zzuylp9$!D7mv<SeLS|kQ&hUNCl%IVRs!zIoe$^!fSYAK+-qT<sD)e+-{rpTD1|Bhn z&y0dsN_QOZLO%^5urVrJeP?>Eo0}C?2ec+w<%QRR3$fgeVxt^=UK!tA-#?|{EIJ{! z@HF<n#FsArFAMN(j17h0EM=j>t#IED(cgnNg1CQ~VBa%I0<$1eu&q&8S~j=>Is=-V z{s#V=a_WwD_Ds1Qy*swVwfw5&5AyohGso@Iu@xly8yHV|qbT_Y-O?6%XFlV+RA}S| zjigl*)l9j6s<z&`6s9B*hQznL$>>5OZRt;hI4(LKc-<WhR1B3695%_S(s}MMI#4kn zhQL-Nj^|2RrsVUC89&macc&!(2oOS3797jFLdg(3&DUQ*EDIDK={1O{t8;5~W3(nG ztN1Z!&#`I7KZ-pd)a+6m3Z|_N50ymmB#9QCiP|JfASfpzW-Nko$m%FMt#)4_g7H|! z(;OXI$#;At2S+YXt88_Fdn<(#VF%0MsfQXiY*d<YFlJ6rEwoly4B>DdDjJp_p3jn7 zfm7XCBAl@VOOB$gxw2h4<RBbW*%&sQcJMkyYl7nl_S=LhZdf!{HM!r=!wU6QlGuZ- zwP2oS)N)29)P+8;5p`$<oP!Hem0}exI9ri~XC`M^`-#A-b>J}ESz$11c1B-^2|J|Q zIcY!Y_qk6n=*^rv8*HSdr%lTJlN~7($yb%vJH8LM&h}*=)W}kfPFOE=?ZtezK<~ZB zy{%b+`V&bsvtsz$>u@QlzB4rGiY^fiMgpaO>cbfO2yph;_0hCT{kyeUf$(?jh-0RF z`RbKlcc<6T>)CwdjGr2HL>Tt6GvdF%7}wKhl>YnVK_dUp8M<W<>aI`keWK1l`Ja^K z$G)G=#+L7eFo(4fBXh{k3^idfrv)xnaneVUu>O_s*|-Htk#JeO*%~qec(7UG^*W3| zYSWh}*c88r0_M-~T>Ix1F*F4vju1B;yr?{KG73VdYJKL4`Ib`!y(YyJzaI-8W$aj? z#271K!w3)=Vx7YS;T~|*3~1N@1LU)sGYG{pzkXgUC2SjLjJGi+!YAyQxBK{v#-zx` zBzV=-eP%=Aa#V16#;O(`-J??tji_Na_<Y*I&?B#_(9$dUg*`EQ+$A*WAa>ys(nzO* zC1wL0S_6GY^5->>LPz1;-WgQBCASLj3j-8@A--CJB+XeGE%x}7qrxN3P;Y>yM+63T zJ7Hc{Kg&T4>{juB%7A!SWv~&51_~(}_E?e@B?AOH9idqe+!5mFU1%mAoeEU$&oFrD z0wNu^vYaIFWDa2X@FT4Z<NMS#6v`pBzr?i`-a9+@NW?dF#hBgA&yzEdn$>@1_ZNO7 zQG^giy8A7AfIN6<VlVxm_q_w<w1B_2QAkN$0U#H%Fb2H7Df+F5b>tG|<}s8UYO?<! z^Lx;1**`;)?DJSJ3$%xDZCvn_GdI-Khj9_?s4%(^hKE^QQ0=$gJ?|6H!*ia;v#dTW zh}SVy>Qh{C$w>EeLuKT(tIPal&h1NeZ~r$xa5Z$ilx2BOnx~Lvys^sW-x9r@uC+`c z@+iLdo?U5NQ7>VFU(Km}1KqS#)4D*ds<DkVK-H%0+QdNwefrAF(lglpIgYV+<ITpO z2XC?7DI8zr5`V`^1gllj#M4yV5GZ-E=f9;i0!-n>5>Fx;jPT$?RtfW}42uT_r~YFI z01>sQ9_Q3fWh8xUz)p!t$KL_6CJK<1==Tf-PY|ntFuT545RTgmuBbpAH=@+ewdncL znUWfUqp}4rU~<x&>cWWk#x+6*Y*5pIC~&W4l0O626D00Ant@S9hoyfdN~Zm>ziilG zvCiJ6vU#1MD>I)rxNPA8^32IGai>0+q@s3iAHvOYuUfz*%#H;~wD<ClMo-aay6s=f zgdI}Eybcp+SE6v*zI`2D0GmH`ajWUX7_7?LlxEX%LL+ls!@{}a(<?{wlVtUVH5Jck zjdN$V!S2{BIJf2a&(T*Y)(~TE9`;WVrxVaRbXXHBReC<(D^dnN_vr4M)$R#2BA@O5 zuf&R>QFgVz?m2J2GhffUODP$Y>HRl(vztxs9JOgEiymlPU8+wBMssyeAEti~R|i<n zquOJfym0FGHYzPXp`I!%IM%tbBkt(ueXs84KLRtmT&tTt1mwpYhU}MPJ<*&9*D+eH z5;iV+wr=v#OfMKdba5~@yF7{yw!E|28$0OpdO8I3v3@tb10mk4da-wTKR4}m`?sH+ z|7*7lv4Ow4d@C!vZ)KH5D*i_1^FIASulw5l`O-iB6D?M8i-iQL-WX-_&gEiO=OsMP zdVBdRvmr%xUFE6#tqUyuY{Kj}y?SPMUVB@w4R?p1)SBecs@?F<geJvIe7JR2F{w6$ zsdR3-T!P}g3~TLE*%+&@sRK2a*V7FDd7Jcj#ppPxD;Bfnn9lqfN58lwJU8o3Cnv(@ z>@^O&)-;C&=c&;S+gdx0YOLASo6>aWwI$8AwN<NqY##3q{5W;lVf1Vk`{KV{MON%n zg!*CI;`W8<(!A>MT6c9HT{!MX*za%?J)Q?wACq5E*>BT6KfX%Pr<b6vn|nNQ_3m6_ zZrmp9-iPe2wYwj*uU<F4j*onj^gemN&VOe=b)f)e&Y0iF2uCkq_9<L^@$WtNN_@DS z`Lq-RUv}ne+ED-HIRtvdNC(#0t$y|Roo`h9I6>{D=-Wl(7ms<m76;0e&F|R!A@o#1 zy)bpdyI0%G&w2J&mnlsJEtso`DmFk=2TRRB8S@FHm4dkO=RkVjZyLNzzwSacHpD$F z`3ChfU$FWr<Z_sUz4a+wQo2#OQ6(BhjDw9YV#}{FhULMQB9x55i1US2atZQ%yZOSw zSvQTQSLd59e~Z<ZtTz=<s5CgI;0igdWrHKjxR@-wCv*w#|NOwu)%bG~6er!nu1V@j zGEoYSS)<(RZqSU)<N~8ha>uN_8XFctlW|ZZ_3cp?k;W+J{xN8;h@_DUa1uU%Z;lB* zH=~(?%O~A^+(iwlch-|u3tld)$B*<h77M%sM*LC>&*?MtHj<W=zK}QvWo-v-$01ve z*Kaw3tRPj@4}NmdcMHl{KO^44I*;=MQx;ydI-kQ~%tpQi*bolYQandPXdoa|*%33w zX?w0PdU2b-9#VYESl0vGzZl0{{hb~ZOlRe^$4^~idlSA74?Xvlw148+UwlA3J}5md zD76xqruv@j2_3*Y*(A8LyhU#p34gSV-K`RRymh>%cl)kMYwG($0jpo|d#;|NuZU%p z|8X6r_`alUFSd?%2uJ1=D?lFl=rd#l`4F8vNK~IE{Au)?w$V?9WSRu<Z~=9J<S>V~ zFW2^3y26o6tuy&Lbu9*g(g+{xHgd{a>ft|B%tWTL>8*{F{szF@M0slvk`C208<eP7 zA*=~A14y70Kq`S@Y?EJjzvC4UDKT~AY4}#)BNOz=2Z(h;5g}v|T8Mdz_w>yzgsFMa z-W2L5CFq$=g@kRj+^I8}>ZmSxBNZe4*`~s*T&l`unkg*yB`W&Iz(tvzcg@NXMeS)z zV8ggPmJHz8l{tT5xYP?ElCX>!Sd?_wz)Bn~{_%<dtBO)9UHG>UxWTJegN{X9ll`O+ zIN*UOJ?=A0#o<3u$4VI6TEdM~7$H$X)|91)QO}FB0GVjd7IxjJC80KCeL-(T7K6Pa z0Dr_HCtP*3TQK=B9sw=L!es_LmFjkxro`p*MuV#bSTj9N<__+oW&qn!1VFQ4m1sXQ zW80}<J?JEwUqowyX4cC(`{uoREOED#;y+-C@XB&2c$6U51@@Drhy!wR6sbSv-Ws<p zs>l1kIV<+q1=e062-V+6yuX1uE6t}gw}hSUc%ANV(UWcUAyc)$_SpKf5&Ka1*JoWM z?+7UYxD6b!&&x87PSu|UJD4q4gfL*&r;Fv*wzjtutkX43O&s$@W$&-mUp(qnI=la& zEcb}Mp3`yP2C?+^|9e7wjzb9d<FDXie4m*+?n1q}qJDjeXAW##K}^mu*xK#c*@fIP zmXTOPFdai_a;qLcG0S&n7nYOscH*ZZcLgcTpRdWrZ*NjTj6K=y2)>ffR|wsmB20Yu zvpfH(z2bX6h2ZWXfuMNd7L~q+;{`&wvcYcUY}sDlMlw<l^7N*w_$RJOcw6i{SgAf^ zx-qSzaG-$)Tyftk`45ojlmZk*z!mxaT56O-MFNxxM+|%FI~LeKff=hy#xM$y4npZT z$KMUcf7JL14k)$h2rJ71JFN{~5`wVgQFA!9QOP4^$f)=O+?^}Sj@DTR1>ZgAR_KV~ zP{$&y)ZykKk?-G5JA9}N6Kb(mJHNKRYzc2DWPU?g!p{Is#>(-2>VER!@?Nb$ckCnP zDX1%zG`z7J6;yfVS`lw-s&Kk^pV5V9)_-BBVgtKyB<)S$2{nYWI^H_{4&T05P0zGP z9+<{w*&ycbhTIhGA~NMs00~#ej}sDmXjNEC48>lsMtEl2037ZqF9%Ua>{A)jBjr%i zf=9w~2<5wk`<>Why{@HOZH5eysZ62BUZSX(<!$p@LlYZ_R<9pnq+XhN-)X=P-HwPE zyk<q)kgE%ti7(wCjb7aG!s4myZ(9M$jx+M@nm-=Xt;ekdp=a9XvHraW=^domHb~3) z8=u%cQY`p!Qq)NeEAUV%e-p&$<sajHZsc|8l)d-Xb@lciZK||r+DzaMXYBS__L?>O z1s)F%@9JGH!_W6aIeVwr=MM1l9bV@0Y<`q?rl<O6%hPMW!G!O+5?L<I8gF;gvWLRW z2i*L4?De>maXW^M#aIz+S^6{C<rDDFI)=BGDsYaTJui}Dd*+uz(M37r@o`66BW%&b zCv2~2X6&X`m}n-ieh7rjfc35Dzjey;0?9LyYaVH^G>>r*)Uz-f-eIAw{$<I?um|{m zE*T#c0JTQFW!;TBSG2vbNj4Z;k8PxCIy>wn`uw$WwjrXxcRrh@gtccl?3B?+j+$i- zbWJtI5xei}N@%!`3=0QNpfdXb1{z0zwJCx20CKmtzeqgX2~8qyARf&W=uVX9mh1%< zF_iczmgUQ=jLEfL6l4PDBdFmvp`@VB%-4R$2j!`Xl_%+xy>tSDy|eH%Qd_PxiLm}T zvz}{1%aYsc5L;|npZ)UJ{a@oqjwhvX|B00TJ`kN9!v7YCD$5O+{XUw#|4q3ZA>j8E z{FoP<wEKFryQ}_O?Ed#}Fv9EeF8e6G>m>bop;%zh)#u0+lw{y+<HnKf!{>`Y@9Sgd zKk37F6Zcf>>iO0A6vXS#?;d$ani=xpmEZctH4Jqb?H<#0N4|_U+#yeStkcYUVY<%l zhP6H|$E9lrl;;;QY`Lnu^qp|o;B?TvTzil`PnjaJO0#Icaws0|kOb%3-I$tbIFhfL zLX~d=&R#WM-7a$tKofoK1BeLr?EE1v!H^n%JkxLA(u3d=5Ny_d9Ql48y=+~5=rZVb zK=)7y+`x2wtaoR2zqx+d8iDvMyLvCT*RM4DWu~{kWBDEyKWFNF{QK^iX7-ZjhXu@e z%fZe`n`XyBk*#RJc<({Wl2X%xhc=0`itBUw>*2E^X{Rjc{yKf{VcB;ep+{3GNh>P! zt90tL1P-%-)3*w#>+m)`?3_Y%poLm}&k*(yk~u!svBC=U&TKU6lyi0x32j`Z3K~#L zY&@#C&E1q>`cTsTQHizS-n--sE)uQBJG`)3gqzwS?zN}6fD=LC29BWR3A)}G9%xg( zCdQK#onWz!54Nlklf864KgEoEJ*987Ewg@#8c^W$qEbob6r2g?zmQ<t{86yb7M;KI z?_|K>Xb{T1$+Y;dL!jeoUzCdu4Zi?K{gAFV^7|OFCw9l0R#J&mZVxxEaK)x9CC=Ja zP`sRLyqeBVT#(1X)%V<asE~HD&#~#x5K+63gAWFSIIxzU&g*NvL0A8$EJmN32(NFu z@N44eyVeiCB<Z~*xf)OLO^@Dnxcl1M+Y4WL?qz#DejT{_UK}*HS2Ty{B59uXr#Y{z ziU5rE&(rh+J6#@Z7IEi0!E|)>8M5HkN;&OF%IQW1og}J5US^=Kt966;0==BCpr2~Z zi0f3g-+zAVm(^9Ow;rA;OSJLwSD|`#!VoFq6T%Xt;DOT=Dp9nRuWMu?xKTp%^6)GF zM|8%lErfu{-HoH9chd8BlpeT)@L@S1eroo>ak777to<P*V%iEZ&Jp+|g3ls*a<WIL zApjK$heQ2rCwkZ)r@f7*7gye}Okd;`88)lVNinxXPa7sMB7l^nF}lPQe7LF4v$Svt zK97)&u)0qu4mn-H(Vg)MC9G~KJyun*vLDadTs8ME10FUO|J=xIjI<P1oO&`FZLM(q z?-@Rhb2(HG3rSpcbX9chF@b%dGU}bUIenIhH0Z@NSlOHm4IP>R{tzCL^$3Yq3dQO? zwqVQrfy=>05<*0Pn;XpGNMM3>pUxmtjmIM7-uA-Jo!+AF2ydFTD6-_Svb)TI<Rk4X zr<3@VJdGOJTqkYKUr)$v>~Pfp9QBoaP$zG^)vaOQdyC`m#QhOUx)Q<Vzo{xFACIt4 zJb-A3nD%|gb^sS*#r9aPD!cNryZ;m7=gss7t?&D^PkfB`ZT@#v@iamK)%~t2#t1$A z{UYIc`rk9pCVF3AdDhq0T~|-Jx{f@%LQ-@+!X_tWv%DWQeGbihg6-a#?AndCiQa07 z_5eQnfUTvr_Uox^9ykq-rC1@NlfvUy+5(umI`E+!j#KFBED*AhHA`wu=4@BCQBbQ{ zx_yYY_K=vLbsd2PlKRSrV%Ly11U)4^#l2t}d~X7`QB*YFr}sjL#+<mEB$gK4*y_O+ ze~L}VfxYn03s^<!H-DILm{Wu`<qlOQrj`qdW)f~tCyamNC{<8@{jMzVZ0YHJ1YyJ_ z3wpJ`cPyr0FzE%Tr4n@yE<<et_(&?01WB#!KnO(AJl(M0iaI9L(MtagU@QYK`bmN! zLP<kVOd7M<VM*THV=5xUEcY0~EQ=g$at>5Q85w@`FO|se=I<D&v~)H{MiD5U3k4*u zF1&G#0Yk>bvpUc_{<b0J#H!y!nmMplHHIQYQo`&xgogz{)nE_zLZc(+lNSn8D&WY_ zJP+hUcZJ$(!{E}ag&0mNsPb>jh``&flE~$t55Q2C^Eb!oBZ1xY%K>-Q2W_<L4m7`{ zByJRdLdW?#!|bhfH|>=qO^*j0f*3hE(Kq}N@;~dGf4#RdHmBUH+Y$#5)-{D!RPG44 zWt9=-dP{3YGU-`3shF6+oIH`p&g3({o+f$vnqj&b?;b|%GS>8vg#*6fY3!}~U4C_C z95zn@de1?6EmvLtu|S{wiJturKYDwAT={;zU3tE_dtJ985rYoFekMl#>U3d!pNSx& z4#1MNvj)~GYyw&X4k#wx7)cZZ%l_%LqN47QkWUKU2ozvRK!3hcwlxOmZi}wM>n6|$ znOXR`zcZhg2m>(o#=UEpPrBkSX=hgqikr+;<IeZ7k*4HU-j_@e1yVt2-t@Mq1i;VW zU6ibT@RDqCih4>Vig2Tkkw~Bjhj!ZZ<{M)LpsWPZoFbe5BUXB!$q(S^vVd9Z!H_V( zCZO~iu1Izx3;p5Pdp>~QVh?Xzn#1N#(B9Z6)1jlVXj^R{Xk_EO5EzA2N9aEJTA4u= z#<vyH7BmGTRvG8Xbb_+VF>wYf;*z)!|7T3!SvVumzS=2Pc8*Do-^^EI(Fqds`u>b{ zl*|PwxFpykkc1pBQgrgv-b%KC$w6$vsRsNMPREp_s(c?GC!WrM=^7*j5=<5OysNlH zM~G44aP_xHosHFFl~NTDFR+^$xZBwD>BLqh;o6^`b7y^HA)B{Kqv6p>*6jjyZwF=P z)7TDXxAE8J`@Uqe5CHAm2<ybow1jr?kn(WJS`%Y)!?IiC=`K@qCoT{gUJa7(Gk5$y z{QxW>l(%wASO?>K+Hlgaa{rz>^xs3YaEs{%eLaHfCoL@v4++M>X%;lY$;sJjzndw! zAUmJPCi}l3Mc;#pE+rV;S)ZSYypz9fqy;DSK8ytW4$oYxULLA)&-q$9fZg3tY24lZ zGH{EBVpi`z98KxnUM!ENbolEKdDk<nhG!*8)YdPoFPRAd#%-CLFElT!p@x<Hmd?SY z_m!~Egfa<Z){4s@8C6s#`#XihQQbudmEAPXU)(U<G`vI_*O^{oIGO`#rWs>@u&a}Y zp20M5<ZvAwt}h#Dk(Va6Mv8~F(YyMWCaE0q0oE0$RF#$hP4Q>B%U%1}W<z=w?RGb| z%gJNh>5+;*k%E5I&h#NrIb`}MHh`#`;)Zh_5Wxi;apw-B^~caOUX`|Ol&@<kyXJ=h z6)-fuE_TS}`l7^fNd?vY)5G8ElS3Y!srB!vH=F^E2Jf9IHz8dQWbfBsuK^VqngZW3 z5+Xtc=;y)|T|*O-1EC6Y{}A|?3e?ch>;G`}SbAO#hj-tfadywac5Z+ppZ^x)<silV zq%dXcQR66^Yy5SvkyEV1tAxn}qT|A0f52f&YJC0bLoTM2mDAkf(|reR(>o{Ryv<W# z+`R_o9BEZZYv*@J==;}sr+babvh&uH_8Yvb$DJp?E0{SlnvhbC1P~}Z>L|*BiKd)P z7f={lml6194D&)IE)HF#bzef2hWn?QSRO=S;z}Hv618bOy6S43jC8Wtdf>nhVi;ir zHb3#{kHZr=vlY*S81GB&r!Jq(>e<bnGsvqDk7L)XRkJJSVAtt3t4cd>e9z;N&As<1 z<{^ZgXcrLPOvGZj%zuR`UN%#M5m?;Lr|9G30$Pv%y^Q~KNFmwde+;evxUk=V(RYN# zv;R2QvjC!ln_;5vLU)Glwh^kW7aF;blauzQ9ku3gVK-GaSU^E(!#q8bbgl{l4X=rW z^GX~4z<pD=q_rfLb8e(pnscLn1<rsrcYLcO3YOxm3`X^r_Pam@%-K=7-0Lsl^S{dm zTz}cT6kvJqGwYRV)iFw1bDhzH14Nf1e=f^<t;j5LN^_W){UfQ|{5O1lZ{NTpBE-g| z=CD*8LDza{5T_#%U$fTv?0T&n5z=2c_ysu*OLo_?k=Q-%2jr{iGyzPpi%_T(38HhT zjHHWrKRAj{nJiUIfY7IQ6Y3JR@%a5Iv3Q=bXorQJvAnD+T<Kb5kdGA4o&KJ1@f%9@ z;OT3Y=+=qolOkTX?g`Nq1oG#O_6yElWfbr0{Q0=vC(D1G?Xl(T_kF4#&-cZGlV*Z% zngWltF*pBR%k)R`@+&Q+@#rM%zQOD6HHzVX3|?a|30hfOGxYFyEjoHh_&UO2$mr^L z>fuCHMw6(Aahg94qO19)=0vnL0Bu~E;GD8R;tys@gwPERkC0L7k{KK13Eg;29TJWg zDQ?l6_5r3Ae4bhQ^)VCAcji_<7+3;r06g?7!LjlX_lF2*SdO4@tAC=b=i&j$m$j)C z6a(5)vBKW6%-rOxpW2=sFbqmM;EKcJ;SWe|&S8I+&Y+joKy}E$2?p7z*N1-f+G5Za zQ(QM%oi<d2B}|~hgMa;Pgx120!pDV{(PmV{qGd@7U^TalU5WCVvwgrNcOOxymp27- zwBqXpl|aqTw&g&D{B14D$4n00aT|hJI)5k=Zu6kIZf*cdF$tPCf(j{x&8;OQY*rqv zWnknGugjXxK2J6(Joht4RURgiY*a)>zgALVi3b%lPa-EPY#lLHhbh9j!N5QO;Q8YZ zXn`q8KKPlzqAnCMRMf(FD^71kka?xOR%WkwkaafNX+*e<`>?L#2xX2l3B@`0sXD3- z*?`;tc-mY?e8O<oB@IJr*Ndpc7OZ43>E9I3z>AK^qt(Ac0e<gc0Hzdmn5k;g`uQ2l zp1S4xBpjlf*-D%3eZFb9CA;IR7wW!FFVg~&dmAC-U-kYn@_h^7uWLbZlxIfgNLe5K zc6XV+PpDTfJME9_iJcDVN<Bs$&JF-xKfzlvK}U>HBdY&RKG;u?cRZP+kjvs59T*r$ zH{QJHHCJ!)*67xKg4Z{4!Ad5|(G@W*`bJ%rr*&--UTz@MIeNf4&CpSnIPIsew}=N4 za{2MHNOK5AMMP35;tPs0DaXo3x?VDE{f5TmWZvX>$q$(s{p(uulUR5QezmJwj^!Y& z%K`5n{h+bFBj8LY*arL_Ni?;>94FpgkIv4|#!p;8KP5$zK*$=U9JceWxX@CpccRAc zMlR<B*B<nTkItsBDKQ!wYnE(97XO(RVkG7m*(uJTKdCs3NJQ$7S~BCx%|7gH@-@>R z?wG{>q<Q!AB{O(x3$P6A;8E~l=;`j0dN5AH`GMX-maw(46eO*%4*VjbBpB2lh?JYD z3y`TZLOIqp?B3`swCHjh#42>LFGj_eHpv6TrBp>V1f&<pQNM(t)!>EH#6)FJr!(O` z5*conbt-1Kut;G~z>{36JtUjVSDQaZ)3>^#n+Oc14J-aB+_v==AQ~lw!FkK*B8$vL zdKtmt$qFOy0cTaJAR!STBK2b?_o63IZA`$!0`gS}YKw3#t(|?*u;s18ji4jDdp1m= z6u?WDW3>=~APB&3riM}E_l-e<mVAO9yutVP_jKAbmp2LGtDL2>*(-8^yauG1LSV1? z1pDCG!HAHt!4z+K{d~*38S(bV%A_}y7aq>9cK(gDJJCURSRTyIBM{=i%?!8B7@E1} zCPKF(q+dxp>D9>eHaWjO?r~q9`2VGi{?f&=-ki|@4#j(jGXf(5YZ91WEQ{~U=EE>Q zL~7+pn$Qs-5&{}Xj-^Je6sSFBV1{1rYnJ#7a%J=o+bGPWW?-Z!%gYa#><#fSW#N=U zK@rIb6oMfxkf3n{2z0b1#wq7Wf%QR%)fl%v8pkIda5Cria`tjHoyhdqV;?RErJ9hk zS?%Kp6Gd0xhlDo&mjx(4x{i0%Vv~~NQC#ga-4~Dmy(PbnwqTAKN1$|+PzgkB68=sc z^YaU;iCn$^#qX;!gNEXl5}y2}&WSsAeKfDKoLk<2NprAF9%8M;pDU7d$UVKGM$7=5 zU$vIupt?uoz49xyd({zK7Q4-}&e2Z?{Q3#x^Fl>ak9PwRS_XjCoBrZBW3QYq4Gml7 zNd+cdEpg05sEf<1wV$nb{;YgG47VHDw#~{PFF(FLb^hWQc5`yL&Vtx_T<LtX8A34F zfcA*&v<EDMY?ZeBCXWpv^7UiPcyX5F`vcX0(J}=lj_E~<h4QD}N%pAvoJ8XnXH(Cb zl*7d_UtbO&ojz00uLDI@G}b3vbM4v+%)=fNg*CoS<eg8ez!)k33f`di>Bl)y__z%= zjU*jV<tur;Tx3=OVD%N!grL+F;O(4uT%i-}RL*UZL)h07hc815&K`pP&FxM6xbOL@ zDqO142MW3N8CJ1T`wqiDFo?#=jpY1>`$0js##^XlV|4tH`!VhgIi(*5`ZPtf=o#<< z-WQ#?>~gdq#L@tSPhBNcT;}x+xNt{<MCk4(3>+;9@`*O|&*2gz4a~$JEw9g^vs#>G zJ5}fQ4X_D!r7m~3K6y{N(_w_WG4*o5<Mnj~&w3ue+T+xF$DfCDg&|Y3>z~H9v*@58 z^>by-(-K9FVeH5L@83WG=ih>Y66h*FVT}I+--vO8-}R0laD5O|;O?USePOhFGR-c# zQ#QGic_vEuRt_W0TrDmoQ$qRA43q)}C6#!dkfTN8#-Sl=A1LDM3)2TWr*c6Ygs};l zDt&k2--cIXR5-5cz4Biycqw;MWeaL>lxMcvw!aOIb{-V;l^t<DF!}DQgLznr|H!br zK=CduBcC4sg|J3_me6xp2~9Tsj{GXsrn9Gn|0pLGYDC~1<8z53S*nBx9@H_8seTkm zUqob%LC}3LcH5Y7IE?yzNbO_I*N~?ylU@EqCnvm8<<sn3vwNN4@gQGow*}i71y+7& zTE_n7U9IG_SW8<b)w0E?x31>b-yK6cagK7)svDBJK1*m3$qNSSd+X~P^z~Z%mHa4f z)?N8sJ=TE^$0wBb?HWD4k8jhpjZ0llA{X`ZUC7=ZsIsVfPYt!sHbeP9&x4;b@}!lN zZEXUM*1M%nElIL&`vNlC(O&)Vp4^m;E2e?_h)(~wPWbtiB#%4KkX@?8@506KjnO_O z?Hsc~#e0^(v4o!NCk_KpSc_lxqx>px3_VU?u)OtRmeQZt&B07i66g$wfDC_-L<AH^ z;vRZ9em}%c_wEBF!AA$*%wT6-0=1b706!_&%}J558Xdx@B+OL`BAxi^xj-6&KMyb! z`_Wi$qgH$=(&cA25+osM)Fwr&ImuNbMiF|oLL-vAq`alpAX_A>)$&MIEFw;@<uxP` z!UHrSa0SKcg<cnk0yG%yin(<k<v_HVd^1T~{kw8<MaX7G&hCQoAmCO!%xq$l)o%*$ zj6R$lQ3Ck~xy*GHbt+cc6!g@A0^pm8#Lg4+g$2sNi%)W>_nmjx1&9g4sn1PZO}5Cz zsiKPbKvWyk(0~rYU-~24?noQWzwRfpJqb?d&0_ZeO!f1HMu$rr#F8a~-9lYVl0MUX zv#S_?8WHa5v)mL5;sG<3Znq2XKLdYU7OI!mg;L+Mgs>{lSi4o8O+8>p4z+mNKL){d z+&`!f|J-5TLdE9wGt$8;>-v<4m`P^-1b}O%22kINo$_KJb2Rg7yJ4m3z%(fdb~<$p z(T>M~Idyr<Xr5E-4<AV&E!kHBWzT}=Q2pU0DsrScE{J-XF!j%ZC!x}Pa3Mw$iJxdu z|0NEE$NZz12TCR#hEol+^^^yhBUw)-u;j@KiHvAVb^Lh1AW8S@*wr2n1;t4nK-S~P z+Qkj{a}%u>>U!!(3sB-`7KQWP{RsyvI89W15wh4aK`iH0Ed*AD1;mi2L_{Y&S|8K6 ziOzbsiU=Tni2U~J^w*I!M$CRz6=kK80*9)?NfD>ix7TwU{~138+!~<XL!1Z;P_$^k zG(#jrR1Y@z$ZCV((NvB{m*n3cg6YV1&|?C1N~^i^stk>)cXkbb+#p)T!cL0OS4*y; zemhmLipwZAlqD$EtmNm1qBd8f<&DP&?DFTWS4?&FF18Z6V)O8wbt*n-Fe%N@Da~aU z?c6>P#x9VooO{D2tBXidM?I~y;ao%5Z-EZDu90U3=OCA4U0;Ch;j7QJt9nNR=Wf|m z0zB={Rkdn^qT*OC;Ht$!YkZ(VW&j;0r4iL|3_6mW*!;$mJRK>OJJ~>H3)J=W{JA+; z6uctRKYGAI?Loj2M6A5qm3+mV#>BXFsbsDbn|{v<d#h^&8+fsl%?M)@C*2$fVjENk z8Jcn8oD)z;HI0id&>{|@F?K>3Qz7&YeuenP8?sV$dkeg`G|yr8jk^a(<D#Ot;ibkC z%;6$%s@8KKVm#Y`tvB2(kTy<oTWS(T&>$i@$g8m~JoAtUKd(LkDIw&VoJEp8>nLj$ z;ldZ>9WXQ@oGVX&F)Iai)AZcL@T<W_N+|-wAcZ9lw=pT~4#%_v#`UP=s!^h(fk8Vj z3-hRFmLDDHMk>yOhDJH)Tpx>%ye*B=OV0gm#m9G`G}Vt4Up_eeKg!-IxYGBD7LIM( zb|$vXiL>KLCbn(cwrx#pOl&(7+s@g)f7N&MU7b^v+ILB6zt8)u?q0oCcU|@{hGHI1 zr<R_MF$?nc@kVQSewI#;&D^;UccdXv7jlIcR+MdvgBf!)uZMQ5t@W$)tMH;nbQ=PZ z=k+K5-52!J1~4A9GvWYaDuk^j;;uj(!GWL9C$h(`0JUAxZ#x8&O7mpR;_0FEM9fKz zcV4fn^s?$QwB`+bBlPnEZCPGx5_9%Ln18h<PjK;Ep{*r?HQcMIikS)PReN@QBBzTn zcl!NOm+XmWIAN_(qUjp%M~rj=hPR3azfmNJ2SHU`oJny#3plteqh%jEjm6nCV`5_o z7fIpbk+r6RoK$L<$I72<yABW#{J`3OebiqDc@UJ`b9plaxrMf51`SE+O4Z63<#Ed% zBa_%6#jfSO8=4d0zp8!uW9k~z5cK4%C~a(^wqAsnNC*kg*4Ef=nXE}LGUW*MRjugG z^aG=&9U+YO4Ygmq!F!XRuv25h^9vtn=h9@)b{^~YJP;$e0yZijH}&lnHnvNIKWoCf z1(j@9pr>=5{<xH_Ibj=n(~YiT(^%J9&s}d5{;==Ug0qblV08s~M%{UJW4=>;_Dhtj z(_Qnr5fn|+kko4beQ%=9oFnmQxU2_QM`-;M6I03LQ5b@?Q;ZoeN58}gO@&*pi-|2e zz6ue}Tl*_=8G`FUM%|z-9RCYA7SE;<vlz9qv8_K-1Wcq?S`O(eDNx5cxcX-dVjIpJ zPU}>^V6w$_Kj(ObD@G;H?Wxus-7vjmRYRz(vDWP;M3{;9I249u$ZS6f{pxa+6{P;K zjlC{afDzRV%*LAXW6Oq7CzQTQ9lyt4lqi719*HH0huGM;3Q~;?2HC{fzk|dGIzj9f zJxl?$VM+A|(lL?~^=Fai_?Z&qEAS~tKZD8vwTX$c%TRsdOZ6X?Ke)j6W>>8m*4+y8 zl3Qvj;TDpjGkSIeUe<}dlk$9bld73*FWP90qaAcuYC$)p_`mHG6Ux?lD*QKToE;$3 zs7^MN_RmQ1VEU_~AhHOZm;7)#pkoUb7@d9LJYLE6s!~Q8I-gN^*Tmx{F_GP*I8pbu zdF1RJ2p1H_6p4cSQ0(4D=6<g9yFw{OaH&#gu0OZdPx*JzN|&;yqVG>-=Ua`J{?a9< zupOL~!_6Tl9ibE1hs8fl79lUtc}5KVx#O%=tzz(uq}T=7T}qi1>OEhkd!7cSMw)@% zs0-`q+gq>K%tCA8*aT|;UOv)0>hGKg@0{$6m6!G)inkqrBBDX=JYSfQI-O4e3D5Iv zqXqFdbiVdyS3)QXk4dRAnuV4Lt7Hdh>2=s@pnoA~d4qKM;Q|&Iixp~O5VuG+N~vr! zqdvU{k~LxUW5o)|Ba-84KR$ErPsVA!ibDNUF>q;9pTDg>{1hj&RGNv}d8u{`|AGZ5 zEj6FL;`<NR5U{l<+}Kl9bZH)9TUatwfN0OV$PGwS5$|WL+4YQAsi|FwuZU<oeNi0S z1DCFfV6SY>Y0gZSA`)KVjAscxm2q~07jUzf>4kKA3N!=d$~sve;Z}Ik3w<0`nCAD( zT@zz_xB0t`1Jr~yy@SUIeQ}GRByTZ~xSt#T2klptc(=C5Umxm+H~bweh*9+Bow9lp znSLPWYUl#&a)NvjJZ<3&c4Rtw6cY_i=;lqKP(4)gZ@B&QSfyK|(@KFZ!8<+vitG;5 z$nS7$)aHiqn<_e&2d#)(<QxO{=Zm@Bhs0kCs_B}k2@Hcd{Ly?rLZAZC4aiTxWD~<< z@>OB#f;UJCW(DDlhzl7@T>4oZ^w&JKq)Ug>{$W;wn?cyTs0cKddrfqsV?1?{XRMIs zFsu(F1ZwWDjaYhPC|E^C5mIqT(@9g`c=k7tkA>I|VxYDKBJ9D9^FGc=MZ3)^2WeOK zi^p<0seSsQy>twfUmuU1%NnEaGdW*j&Rc|YLaNnsDD9TpVWINf9!8PeBI&LEq++6D zdO%%VFEx8IWfWUR)1?Uy#FOgEo#W3-n3QmiTeMF|I~F6o;KiG$HBTys*dj<eT$K#2 zf({nAK74y(l|4|w#)e+iD)&1^Yh05+noeStpYwAEUARIA?jL$UZ#F3YSBS#n3=*9m zMXwx1uV87_-3(}p<6(g|3UB2z$03{IeW+Z_T_(Hulp;lf)$a*+c1<>S_B1aW#o5Ve z*9q*|ubk=5+9KYqGWeuZRdtJa8^@`GH-^3eX2H$=-}`ZX{(g_ceiIWjxqpCFf<ruo zR3c|}o7~qR%j7zzZ4)>((t!A&8H|%$eOH9`PAFo1*m1n%lvFNfr}#`4$TT11-aoP$ zvV5zJc68|34l^5oy8N$*4Xj}_pM&VQFMm6JACHPd)Q7mXlk9Zn-tP56Q-j4es#9V- zL7MCGg7~N(PQ1@CC6E{aNn)2;k<R59b$VK#`Ub&({t(uP9Zs5Bd(d`KRh+7J?Q<7L z%xvyJcHv0L>7RTw5m?irhAm_zCd1IYL5r2C6><uQ>#<!TsM2NOj$l+jOJ~Zj@52l| zL$CTHFVO5nl{ZJGg?UwT@$jNzB}J6EDpGxLAng;1yto;zgDcX!*i(I&xK6a^GjPCq zYkF)eY&0r1-Alq&LBaV3m%!PPym`4`S$yQ;d5e<_^*vjxm*$1|MLZn`$|AQg_UNO` z&mO%kI9Z-|bOf_qJS)k34tcJIH78&Stl~KDmRjga%90fBo`qCeqaDsSAovLTSbMB) zuRm80x(>kOF4};_$^U?}3wDzUZLA+1{^M=sOKSTzAgu1G{K`;wLakz0ncF6u1po4E zqY;cPMX`SEifmbrQNBQ!08;?;bDGMD{9?w6b6I^XR#6>1Y_(+feF4$#-a`G`YgKbn zI7x#vD;c#DiovAZk_0+D^aC6b=aQ?fh(Y1tZ>ZxZnCVFi2;bTyc~RIhO<a@VI+U2p z*~m{KY~{rx_4mwzYZl&{<H)H!<#@T|L>okKs@CL#gP2O}Vk?M}d+1zDT}H4GB#S3W zF=}auBqUakB<JGOcAfMG(t9#zBI~Eh_d;!EMG=Q<#4w9Q=aq*W+t~`!0^Cc#$+xRd zhS8U+!0?;7-p90;;his@eLypi`vrU8{D{6y9a#n4G|Tqc1B)_C+adF_?j#tRB3NPa zxW&&sa%o|17ohf;(RSr+7sIiDzc<~4Xmg3Ml5Zt`ZqzqhTghrl+Ou-R_F=<6Kn$w9 zyK^$r>TK-UDcxil0oDyq1Hiv6<$Y=3oz(j(kY{>%NBC5LhC>|U1)O@FzEYcvl+MQ< zh19?pw1Op<TEQe=(4?*xVKvn5*<hMz#8i`df0!Vgnri&}YaMd+QFTIE@L~KneHhDj zuzBY?)tL+l$SFi|k_xX8kQE+KMCC}F^N_C$-lF@FqKN4dpj@rT>Z1Tynuigs|1GN| z0Z!PU4j%{;<d^(6gRr;&y47q+%h8~U3)m`!<ISiJmE8KNG>)WaniTuQeleqNNl&Mr zU~I43@-NxG1<t4Sx+d+IWOEvJJ*7c=A$fyEloK_DD%~}(xk}lXhz=lr-n=A^O{cJP zGAuWi|62toeydYCr?bXptcrs}W^TV_*=n}@?O6}Gu|2lhTH~HTr@gB1-nh$w`?0L- z^%VLGN$%LT`u4NOcoW(_THt>nzUyw&DjapQrP*c28dxu@CP~k24|Ko46|Zf-W1^6_ z14Zi}KX};!7;4_xuYp0SNrYvNO!w;7IjP961oTnqZP#!HFt1IvVCr5^Q1lfT1;XdE zAFV4QSSz1AndYw{>zYvw&&0gaz9yL$hr0c_ODeq66tVer;)G$@q0>Kuq7ZIVxp;Hb z28gz`U3m61Bx~#}azaY3v%rjDR7jj4GE_F4ap1F_ArEUnlHfe_PKg~&80}ps0hs#= zEYnRvN!r)D8SEtOzxdBxC)j+NLaDV8RNBUM_xf<dTe})17a=itrH16DU?B)g8cK(B zav2&u&=PTb?fi%eZIsCmRYip!N7EJGjFC1ZEZu3?=!7>z`5EW?6;FsBuKx(nvgAMg z#Y5i#Q0eNHnG$vr`(otSqPie_1}QAkc+d}plhOe0g1hIqGjqZnx{2nj<W7z_1DsAa zi|z8e8$)8mHlMq}W56E9z|*m3P_y;Ow65nrj(3KLvcx)Q`vLf8E+$6HJ8ee(I=Z)v z2CeIYnEV1EuAN-o#B#Q<y$*O>Y<n`469=ip#_r{+Z(G6eWp(y9x!~_M(>TVPKSq#t z1<7EhdRqMx{@|JzAzeDpExAm7FsN{AcWe<wly9;OfUxmJ$#c#P6<Xn+yiu)Rxl`wF zhyi)NQ(A6rC28?=_)pg(!q(H%%3Atp7;3ZGp@L7}{u8zADJiWi+d|2&*1;2J^ak0k zg!!(`(Pc2+(X;fxzvpD6(#c1dN^ukCPzNO2_U+PRnW0w+FmC*%E<ItP@soH%qBaZY zlDZ6s3d#iCgMl&0>mBo2&homB4@i9@K~N4*I@t1&bzT!9IdNklgrpZ<`(eB#t*4_V zF7{Kus&9)^tkD{2%j?|B6s$?Pu<2W&E{l}wRGZ~)=}0WS&#{vBAA`gwFND)E);p49 zdC9|r+{G$vUWvk6p*TZFS`Dak{7KaDCa|#K$E}5>qXj%5(4od$)5au}#fe>%xzcDk zl^0=f`a@dd4~uZ1#~ZM6+P0J~7cniFbw{ezTU;}>Cs&mAuuA91@5cZooaAtOA*4Cm z{8DKeAHDxkN*c72<%Rg_?AMQd)|>4EQ!%2Zr3pdz=55C=;rBY^2{8>qFaw?B4z5)e zn+|X<HE|8#?&$4$47<qRkHq^res^F7uibT9R1>xYj{7vGu6WADSVc~3|G?L4steMv z48Ds;42gX4e?^<kBhA~&z*$80c-9hBZrB{&fCes>$?IU(*;bLZ1hP6jpqRFs#i|ka z*)}RZOA+1M(Kj<uENXT;nWIUyD?g*zftr)R07^{`V(}l$Bx@2UH9wA8u5(E2R7#Av z0+f~WorY$6xM)->rYPl%*QEYX1YPy_p~HgNOT6>+^Qqrzu$H}e44RCwR(dQq((Gc? zXs)fBAn6{`Lk){)6vbztcZB5&MXi91NPPv0jBL_9E|KCBw7>b&!M89{USMr_=Dx7j zo9!o35}<IaP+A@fBQOpNco$L_C$Chc=gBw3oOxT&{I1jqxY|SE_$s0n;+FY*tu!m{ zjfL9^-rYny+MIusdx5gp#$PPjW*%!8On=oDCPlEly0(h;3BlQ``?w_D%Mr3qtM|7{ z83WdNJ9q7TJ%2Zi{(IV|A+)}yZhpDX-Y0r?o_4gfz@=bXN#Nv(hmY9PK}s2rBE!-O z^Q70Nqi-$l$rT;~I?xADoK)%p`B~*&W>tp6P~-NBPHL*|ZMj+{3w*PnO!CBwJt=P; zVhigXYKqyyo3$$0Otsc)k6O(Dr!oO1A~IqG3q<mwN53y&`i+llm2M(INHNDjU&Kl) z(w^@<mO;-|M`I~wK#R|b{@Oph%7ldHu*=(+3i?!=`ZcLKpN_v8d~STjg5p45op_sj zG#~M=;O~b8p}#ZUSG^SNsr!?_d;c3)2ERv}eV=S(`#w!(8Q7g~wnTZ`wTeAX`-s;n zV05Q|6S?BJmd=KyCX<2<PuplJ{MiV#x@<G9#@BXA<8glYchg1Q6ITU;r#a=6WPnoZ zSnC{jxkBVQ*j`&PID`dfcFVZCdl|7;_|{pHbb~{=NbC2e)H}T<)LZ}m3%sx2KB0N< zv&?h)y_t(Ql7o63fmjLbE=X-llF&aR#${Nz9IT3Quja{kNm}GvDoux9ob#;Q*DIdh zO+<XfW_%5hxlCpzonNi$8x@?5n!MYekQW<b_VGK^Etwh9EJX3K|6)K|D>wY6RIRW5 zmF*gd$J?7?U3jOu&sazH!`=A4Ki`_0&^g6@D`i8zvSfs%GB}MhzK5Ek-4IButc(5Z zC$OA2dvv8Ga}zV8w^p@8dhd|Z$pyzokk}d`J~q@bmZ+#fJUwT+IHJJ1AL`r$2d5t4 zrKlN5^w70Hl4B<Cs@G@jkx1CAqgAwEDE)VS(F6G)>>^-?X9QAX`q;77&Y2_-Ti{__ zy}JSF=24--06Q2t%RZtPbkD4RXy-dq_Q(G1Zae52B3ir8_#(goaaVAEo<1tQ?*bXV zePguyq0-O%37z=>3qrY0uXFAWQCM?%_EBMH?9b)#sgN&PCrgMTM;~wCKSt(HEXYOX z=W?6k>LAK{mtNsHpuu_v(|9qh;kmAWkzs%{k3&#q1bKbE@_%L36xxn!kqOrOTv} z|JAe0-GL(qq25J+Sostyi1kOz^HG>EiinY}&(EX6cj_NtKU(YStcZSN;aQ1h(lCK> zfLg`jSe{4LynEnHM4r<B{HcoVdq5eOf;8uucQFg0<M&Tb9~IJIrmUci`b5-b3$;}6 zGMj<+6S8iOKHP5O7m0L;`2uT$c?1{6LB5ypI2Bl6HB2)mntLJ2Lvpz>EZXmVGV44T z`vTIj;I2~gscMCN7!^W=Ev)z<G*>qHvn(gO9E9;QQG>iynT)r23zMp#Lo5LYoY+b9 zhtJQNgj+ZgMGM`t1f^i{4Ialsn%1<G=ZSOCqF5ep5P-rE&b3JeSq$$q?*kvRhOt>0 zE1N3IoTzwxnWC5{x_DWZNL?JC&&YQ-<>?e^^~kCw_xa$f+_47t*KWcmr&%<sEv_-N zJ@HSgA@#+}sZdlCBO+kE2J9s7WA4x$U}X#So!1fZz|>ILdLX81M)bN6?Z+SLJ)=pu z>?4vk!FG$eB!=LP2jI1o5Y0_Q<<4nW8O0KgNE0?~k8+AxmtE>Oa)(KRUVRmrP$T_9 zi{h2LHjJ+FkQ&!2xW5*PUOW5w{sdWggwdj!MbX5%rlyOc)Rh@BB<chdGbB!8BnXAY zExQoZOdw&yZGnTX1%n=t+lm-uY~IA0__cDEXpn$T5#F|%-51I>C(MN(8yUgTSJ@we zB-Q;sM67oaGae5BroGnlhWLS!`XYnNAtbl7uk~f@ZQZ5z>nc>!Pv&}m>mU8Sf0XvX zJ*rFbV($LxH<5T?e^AV~!6A-u+8&p{z>irzSwl$-BDKu#NnGekL~B)LXEzBTcYj2y zw%x-rZ9pcFunI7cB6LuyzxKs%Y?QJ0&B*5nc&J9Es;(&lk`IiciUg!W+%Z+qCYCH2 zlzubd`LZ|rJSG<R>y~WyO=JC#V?X?6sA#WR;92-$n(<ENE1B)M+wEP>(=L&0o$#@a z;#u79vwMv;&vsUD-eUpe+g`JT{;crs(cLWn5q^HBKo>x^-z{11v(R^cmOk`vMS`FT zSaFD&;kv4w9S&58bZDj2U^G~S%19YUX(s?Z?jpRx`lN{Y-@)a3P5ZR8&mbY0e5^EL zVPF#Mcq{uy{%bqTuo0HbB#E?pFosk`vO$$#-&99jD(=m62F_?jl;629#yv*A>wsEu z;;q_!0kuW1e_Q=7l?6qF6L+z#(qrFdI3za!ALH{03Q69EvY=<5JawJraOd6M0DGoA z##3zGj4s#u7X-f8a$vvwPkhTDs%0!BUl;sw_@f3@7;iazIDCi?4to*{2{Z>6VR@Na zn6SV)reNn%*>_1D*ge;y(I>V6Y{mB+jK=Z!!`z4gTk~qbwR9-xqyoB%G08@0T5Wz+ z&)OfV*o%{9V(LJvP;Oe4mP(e{r!7dw7Z69o?VYBA+vkg2_{H_ml?O~aGO=g52$4k_ zi+`Pk7xvK`QRP^7E8p+EBSkykv%Xo5#yCy>qpRQtczr(N#)bVmuPt%+KHqy@w&|!| zoh$<b-FmbqEHr>VjC)g$$4)Q@HQBsBgx$^Z%oRi*BQG9MV~ukIucSGKh|t!H`*}vG zHCP-jK|bJYfE5)NpIaAu^2w!wqv295vv5@YyEStY=czq~wRnG~eVh11IX<wMP-~o3 z)gNANERIfuJO<?V2wJU6m12DQ?}8f@4g?fpR;z*RYUz8Kw=kemp-8Gw*T}U$IUoKF zK%j(lHib*XZ(scb@$dD68cf-G^ch92VciBv@4H#?{Th9_&HHZP`fT!yX5FTVChW`V zQ&kceE{YTUdk`n&D|gR*{4#(1%`x*?b!-=d>4mPWlK@q_(t7A(WX8L3VTisF>A}Fa z+R3{K=s!JqW#J=e^B#NBQ`Es#$5`v%-b&;O<oo}$05SpHM+wnC{8CWO%&0AX0lDB- zTwJ{;&y_WY%Yz?$In(EpJcs3aAvwca<h|E8yj@4JUgC~?``SpvZNP1i7x}!J^*Qvv zCc_a|tQw5A%3}_WZ*c6;vRyvz{XV4lpX+jW>{M-WjInNTynt<<|C$TLeL^1tX|Iz? z-*__5yg%c(V6Fy!H^-|b0T6k7i%l-J*&7Mmo_=B8TChtNs$N}$B*NmlI-W&!&*Ro3 z6NF@p|0?#ROa%KO6vZ%^QWs>`6KMSksI0dFf^r%XU>$<b{EsQ4#X8d^YzL1BHGPUF zWetH!68Bk@Pu(kg@dBtvkt4}@Rjsut!!nv}S-vk3$Dj{5Bz5x7C5G!F9i0?T``$`E zC(`06Q3K7Ch$f$X#9qC{DklU4X=*4q3ZfizM(Y~xw&j#+fPeXUe6``$QLMRuhzc<y z8@&$1v4-5}1Vsvw!>p#I6;|XQv<0b+VV7{xP4ef$hB~|meSHegig}-D9T69#=(Je+ zx}Cis76I*SKB=3jG$WMLjWd!oO}Wuoy)e}3sEPI%g=>3y77mZ826-isDu>I<5(luR z1+Fq5fe|-M4d%N0CgKkXAOmZA-R}mLz5VuIpFi3P2tihwoG_w6Q_le~iN)<~$E?@x zWAyHmQ-)6PnyI$7J%vxQTy6F`8_IR0-Crl^w#aTzU`GkiAmueB;`kM2y`^x^1fztC zK8!{vFVNji(kLWS$O+GHv!}mWJH}R&$gkZ&91O+B&SrTuf>z_f?+so!`%STv0J>EX zf3CUFAjB`Doqtf|!H}>UrYx`7$e*#CZS+6HF3$GFPlgpoh=G%^FV-D4Gr2^x`Pl5P zZ-jh_29H2x&jTJ}BS7{teh;M8q1ZktlX&f4npc4a+=@rNqF{rO4FTt)Jt7o|8uJ*v z`Yf<Wr|KNzD?y9?AcycVurkXc&G7;(YOw8Gcyj+c@A@m_-V-$b;qVVXtNl`8vLo$q zB3q=48s*j{oe5(6lWSmPg~=#&1(vhxava$=&g~-*3k@=OCQrms>he$1Y6aBQEIS^s z@;C49(9=(v&*dg-f98IARo%sC>Vl=88B{}Gdw4pL!~S43sKerDJ9(YZe;oX?C5IhL zAYKYc2N1eMdVMXn*sZ<CiggD>i0PI^^*BDQTLHz2aRJuHZ~Ii#JAY<IHep6M{DBEt z19*E}db-6`+&ve>b52@U6DJ#DRmeysjHBUn6JyPwUKfJS%B&<J*x@Yj-G`Tv-Ci5X z(GsT48VmUyn8rjh90bVXxDXqi3u2^bNFVy8Q$Q`?{9`Ax==9NhP!8Yz3GLzS<O1WZ z5BB0&;G#&QY}&ZCdVou*U<&HA=$YiFxD{k$DCGq`{}T$Q%pPBz5hw2#cNsOS6!JpX zzBb-x2rm=Tm>IsbDXb??02Hu0*;q<`VZxpY<gJ^pZ4#BBtcCa`x^h(v{+e408<UrH zqP*bs54<K#8kw5TKF=62Goaf(MRdY_3Vyz(9|})BldDnsT14E;Oc!QQ3OU4YKNCDw zU<c%1n_Fwk!;NF4FaGdojl(0&h=J|o`ML7TSd3Hs9_bS0Zmpy4x4cuL7t%o{HH?8C zneP?B-io4_;n=ndbB-GkNge`BXKF+fY|9%3L7q7N`L+mf_cX~UrzjY@@%AH(tucCH zas=XR4Pzo~f0rvHQ#J4jcmi|4`vR?&<)+Rk=<+PfeImhtX+<(k4cM=b4{4=-fdoCX zi~S!R?a?`T-Cx|oGx`rmuOAH7y|3NeqwRdGtP7i7v%m@o^1lix92q!g$Hb~-O6c|7 zVCb@pd{wE7+Xs|~JB~p2W_Wr;_}DUM8+7uPd~7k;%!|`%)hjBOhD<s&PTb<|SrEcy zM^wZLv{hrt>yL)oRhi`+_6&=3U&lDFZK=NGpGnisYNdu4|Lu*BOfYs0Z)Cn`VGJO# zJAWHbB3xMiVQS4#GL$I^>Vc7b&tCTc+mV}K=}4J{P#|s9!QIzV+)R4*F6g^Ej_0tE z(qe7ui5HOx6UbZQH7SJ+TG(XO{53`YkH@^%C-%dix?Q?<QPW!cXt^UD&9yNxWm8Kg zv^G%p-v{D!NmQ_N!QLp0bRxM2Yh9CduQ3$Y-ZMwUee~~J!1SPnTSKIU83Nq(<b#?> z*OUCgOBJ&iFU{}S`B(5+xu_m4iu?fJx^HQ9)pTvYyiF#Ad5sAxuQ>I`$KojZHoH&O z?M8D2uGd4Mk2?30Zo3U&41pO`K(%%KX5C%~HmR@3_W?sn{I8lG--7l2bx|Y)p9ecJ zHavYOMXJz%?jH~K#DcX(PsfS~*J(P;2c=@~h<@>iJP1LV&5n44Z@Z4XvYfDigbce@ zc}@;u2wDZsUmvZ6YYBT6uD-jL8IzC9VydiO??tjS>*4gF_4qj&YIUCh-Z=*}Yg0iS z3k0}$bur}twjHC78;-Sz0N)3YR}>CjoNg*!?{6HozroWNFEVT+gvjVPUk6H`zXcx} z{#U?q+a{rn0b}^|f3X}G(_3bs*+(u%xWU@v#u~GCzCL;ntY)%37PR|TLRx<72=wtO zt~i1<bzMAD@jWUQp%A+2Hg<WwV863yS-AI-2t(foT<>sRP>36y+Do?%G8Hs#!B`eM zg5}@~FqORw^i~PPg9d5Q$TtI;V^GyxUl@V__<NRSrmI9<NhKnzN;ZpgslIUQG|M#M zbV2tN`6uCQ+BJ2Zy{Tlf6(NxOgr<a!wk3J*;l-$SE4es4L71V}sC;;HNhIY2TOyaa zx6>t(0lk>ECa0_;tJK`*FPGn^d5#x0VXu4NAJESm*<6?gpJ$pGnVIW$Y$NXAEV2LT zJRZIUM(upB4EB*G$)S&)XW{|T1iZVzWi)9TU6w&k=DBf})mQ$V_PA{wdxWd{qBjGt ziF>D40>NIpTCX?Ay<dr%_aLk0#)=01J$6U*$5;vQ6Zw%iLHynZB`cYx+k5o!y~iS( zpm|Rm8RUSo<ci)dqk4|pI<}~3`ImD1cn*>b*q<)tEy2wC;#fXGzp#ZhxRhBOUAXtl zSnhvi*-xNjnAo86I8{j7(f`~at8inoQ7|W_#c8N4veq(u8@4H|84$_L5x?e(3<b3e zep}--+GuM}a3%J*By)btrR@F_qNBa>7!@ePFekZBXnh{v6g4)CX~3MpbC&k5pNS|< zBp`Y%Ks`%_#&thQc57JxyLFyWTNm95Gtl;Dj$&9}U-Z3`ZFy=OopJ%Yc)lC*aID}* z4#P64_oakMQ~94L(Qw<bdjjKV9|^CbL1w=Tr~kxEPek6(hMQ2P(cL$C#GoI`Z9T(W zJ-3KQM@KJXQi7rw-5!@Dyc+_6eTJYsjwqe24xi5F_#hs;g3LQu5L)E+9^-t%a`Y#6 zmBhfkoy9Hsr$#o2i3mlJN4Qr3#<P_NS3-f>fS?+pc?Fm}FGxi2yd%iTKa}C3#Ghc{ z_%KlDD-CwNd0n`Lk7Now=AoO_#yg*!)~RARhT<#&=UH+q2(7rv?`b>YZ@7iBzUGk+ z-FAZt7_`ey%;@@S;)w`NU9#8xkUJ1-IL=i{U8|(wlK*lCYJcCYVP1^DnbsK2FI(E% zW5I@$A8QGjdNbz3!nCQB>R%eWW_Q#dr}J)++Tjf3ij|hi<fa3mJ{n??3llh)VaWQK z_0PV34_FPaX=nLhcBb$_rrC6*r`{Sses*TBCF(>2nl_sm_Ds6qt>D)w5sbqE;zehi z>Izh;S;Rs5nw@RDK}WFlGfE$!bNU)?@zG3x*DFWe^gc!!1u#mtzX?_jr+dW~Y!R`a z>8Gs#>aik>4^K#~J1?&jrjYK;%DfM5KBl^NMsW@_=C<4A4nO|aJL+?50e?xU^A7pX zH?}KA{D$K9G3qz@pCkP1Q0WW8csslA<YItgnRm?TqGXtB3y7L&20<)+iV6cq%ds(B zH?SyD>EvPYr!wp_KvfS4gB=P(Z4n!KyC;H95k+FZm;u%iOBhxk&ZcXYcWEe5Hbj{? zzK{G_xs7SNVk|tO$j)_|(nziVK}f#r?07k2X}G9{>gGSn$^4nkLx|fC5liehlbC4d zS|sExxvzY(w3U2y>TTC@8U`j*pJRR#EIz&%9#0%v7<_H|V!u0(T3?8!4u$)FE|w}m zDMV||;@`qK%W&M_r8{PKEr)dfiE^MGkhttyKu&d{TOP1~%^aL?%OkxJ^M^jD?6Xy| zaDlhLbaq4(^LVaG2?EoVF?#I$>)-d2KGZB>NCTv^Q#QmBn0B2Tt7N<_L(Z8AgqcGM zi}9M8$`Ec3B&N2ZCx<@mzQjJ4WDIrtsTxMUsk>t$fzV2Ye<ZltSXNHD%YYQhJejjs zkJ+vX{MPEz+}0n9!xN*xu<cMl6rUgLnq{203-FW_!*G-iGX<P4^;3XNRj$2Sdyttt zp_%=CGGzW65H>b8@(r~VX1~{oY(BSGx1Rf)uJ^6$o;{B|_kGx&hZ5$LI%3ZgQhl#W zj;r49uMN}pN1!Qv?m55m<80^6pdMex>-t8Lw5`6?LA5i}I4mI|)o;%^n3VzFrZ!_U z%i1WGh|XXg9p1bfr^Zl4b2%hKm;Q(j<6;jqq7T(Z(_(!0fpT(J7w_QxJEhWCG#=UV z3_<`<vNa_ccJpV2ZX+uuk)Z%=3w_FQs&6R0;&eXOgp-N#^uLQVc~xyO%w<o6W1<6U z(fx+L*q0oMhbLiwDBN<NZMKyPeZOy&0<K<{GRF&&QJc-K!1k~?eCN{K9>Zjd-Aez1 zgF}35Y_6F%t#qlnH6+09(Fw7=3A@{bSU9!FDr;#(!z!7@u_jd%_}HM0zs4AZ-jxK$ z$KAG@fW$3|cuQqb&-mx4yVU{E-sE@Q<{PEtbEe9`_=-i@d(YQ9827mvm$I?I{;!Dm zlg8ltZN=lFVf5v%X3xNX&UW8NO}`d`d!YLw@wX;dn$O)hbw*wtf&bEydTU!7kLSY) zzPor4%gD_h@u&XR<F_ZW-_wl7H3QjL3>gevnMoPOrV9yQQMGBhgD1y<x@#<9SFfsy z?P_R_{8Eld94gj1(grwN$4RW@M3FK5hTFOmW+-mEV4Th+U)SdJr|Y`lqP`ihICHsR zS}}RhMS>-}wyx&)ws{_Ksr?KWeAsf217`KWXfJqoi+q=h++)?N@W-Kj|5)RR_<%8n zZymJjdE4th%Qz;H&%>M^xmVu%=JCr2S5N=_jL^*9VA$*WO3w(o5`Vvx(A!VJhXQ2K zn?a$E!Bst#su)R1^psLsp|1m>>HiSo?C}lXO_*=i>iK0<NpLFftI2M&<q<2>wC709 zBzdoM#rHRTTA;dR&Wako_;EQwN=}z*0}`fC>wFHQB;txauhJ6^H_0zIqYo^k^pU+2 zUTr~9HLUXw09m_zauj_=kZ8<c$PwKJt|#N4`)VE9YzbCOQ~=#_-IXCSGG8RfA{osY zmE39fued}HMld5~!Xeu<%85RVmV~|7Cr0ffSlYqr%K#s~TG*fNQ)r<H9#Gws2BT>q zz#PF2m?P{9z35rS;C-*ne4XShwORowPc*k?@E35Q8*q^3jn1;@T;Def-#co*#KACR z@SC3J?l|JN0^)smgBQ_L5Z{+U;+`wKWq|KKwQnG@-^<{~qSEK0O|!4vN59<{Ywz>< z_eZVE7s$g0<;hHcfQOQFIQjRr{>f84P$jwPgaIp7Sc74e(uL_kP0K)l3w<gdTm#9D z^&T$TwM=anx@rnxm34Tm$s&bJY838u!riex(B%yJb2vvZ2>9C;oDQKXUN|JyW!%R0 zQz)mD+ZD21Y$ckh{O>QTM(pfER=8^>;ZcZGZavF&H%0*Lj)!9_3V0XYt@_(Bh@@jr z2m!h62U%(nE-A6wGir`Lm|IWD_``?TWrqNF#$TB8uXrLt)a$bKpyrHsliL)70?wOU z2EHf7nzCz~p^Dh=XFQV$K|PPt`*3(ThqIs*2&~AtLpjftbbNdIJm)F8N2XmxSP(4X z^1M4Y$~hsvfjZjv3Iq6v*5rK>pmUxxe7-+V&QaYurI@gf?{)+2un47A2>3>D+~^u9 z4v0V940iQ|USQ&UzXyT6-dvnAAjJj`JRWxeAn7#i)-$;C+3DwY`03XBzV$Ij{5gj> z1zh11(|gP1KFYV<Kl8acbIBtpgO*tAX>Vh*1=!M`mxFIT6qFPLD15VQNBNWOkGggg zp$e)yTVUz|d_Jw*I&$k-gwDMf+f)Nf6vD|VBBiOt-oo&DdK81r8x&UCq`M{Sw}-t; zEJx#K6!J%r3mrhv!&vI{pEw*XLiO|p6;@^=pm0b#nj>Tw=F1NnAwK_}R@tb|F1g%= z#lAvK6_9R^mDd<twuc9;JLXX+Iy5OblNEY3E80w@@^;Hi?c<@YN3wKhzd4GoPN9aZ zr^K2~aN^UTxH!r0vuLoM1I2EkLf68Z*}<NOEbZV<Cr7PZg<JhOf^5L~Ik1nsDs`mL zM{`S$j=5;dg=yG8*O}6;Jsk8A|60*$(cx9d!tX3Xe7LKg!4nho=y;*;AEw60xE$)v zzY+ERfV#v2Ww(Ps$!H(;CLiekXtLc}7m&8LHkpOwwY9l{hqX0r4NbdA+*cqTi2Zjp zw!fa*?l*crH$eV3w#2LV*~^Xad!qMa;$xrrYrh6pFqr(Act~5babjDI{VW|_D&CXO zj1lN|tI7!iEu~@|MFN`5<y0S*oCFJ<qT<P+1sa4QE}tE+nZ(+zRV(5)qpYUU+Xyqw zfYJeDrrOuWWDO^2R|H@S7}yzT%r&$L)o<sY*B`33Gw$h$Stf7(DYeoT<$<@d92G+j zENdYMqg*`&@6s->%B{+x^xG#7+f>-uSFd?wtc}I{*9p44L(FaPF;9B0eJ{qrov$rO zKckP>>QcL5E^i?dpSQ!R!VC$g;Ppgv1|}8Xdpwu1rt{3+&W0ye1bRJ>y6nn*t{qG~ z(b(8R&YeG6h`dkJtv$$;2o4%24L1I9Y~JCqpGi>EcW_OeVVSzX+YFftY;U~c8%MXn z$nT#2K-zBlua}4uihsXz@nzgq;;_Q&AEd#^7lB^sIcTH%ANXDZh}{|aUk{VK&s6j1 z4D4)d9QKEn1m<ip{Pu)ieZTsNKLozQ@?J1oSGILci+Nnz7p+nlr0V{C1Sl;aSzdN@ zZ|r}tas=R7`d%_IdmJOr(hTL63z`HuO{7PO%@rBxPy^C~mbCuV!(?^xQO?iAf5l&} z%yFj%!AsA9==hU#yCyH|wX2kNQ$|+&6N}!Qn5b{n>uG&vOm6Y+|Mv*2qNRy=g6SU; z6l%rwbWp|5ZpXMB-LCdye1yYDO)U#OySH#jy?{rbAljzY;p5Eh(<}G4oxfH;^5H5` zdJM=^KoR(z(D+?{e_)If^Ed940_EQ}{d!dpKUi5sn$}Dl92^cmhleGQ2zi}jx@{3# z05L#wtl;<S%>59$(oH|I?@cOj&}JC%LI3l%-=N9FM(E1mWHM<?(*{OGS7rE{CtkN= zot|^|!RN+EF(=>Sc5PSzhZ|)E!VKR7wV4b1#E;32?lTq>=PP`HX}#%xG(o>7X9<m? zyGbNpzT$eWYb`**qf>-OR?*#Rz-h?3u6?c#GR$&uJ-&gTd!NAB3iusQGar*PHv{m@ zH%oQCkEus%fUTqJ@1>cW7-pYy1-~at+^sp%(i4vO;u2$yO}neqW#Y*Si2_;F7zl3w z=agKSc-CVTVFl>C^U!J1o`)^uXYw9o*n~xGhgwU!C-a1)&fKCUIiGB&0pW^CH$X&~ zvudmqDp>%uE|6~X#AWP`)S~TIFHoG6c=oYXY6V15JC1VIuezBpBBf8R?~U`nc$f50 zd39}fY$G~&Kong)b>;?ox&PZ&0)h=}(=Jx1GB7iP|Ig(9f8*=!dGPzN>bdhW=v2_? z7Cd>CYllzkCU4!kWz?+&eZIq;VNg(Q-s-;HwqFqw>hFG_>sXTX8kYuWSCfCV%>em6 z@;~J1>B3jNZtR{^J^!NQ6{AtKfcN?^*O<#rlfXl&9IGfKwXO!T*vaKC0tO!z*h#$f z0<32COF+G^g11XuiQscw^y4P3;b3Fcs31)mUGZIQ%z{h_y>QOKV<))g8G67YLU3u1 zPP5Og(q~Ekg5|^F*p1!=Bh8AIHnTKO%)gvIKbtw$_l9h14WL?6ztDO9yQXrdgy%9T z_WbU|G6FQF3Fq8(e&0O5PWSpa^eX(%dBxWOb@Tt|;J*ECbGzRAneyDz*L$5QL&cUM ze?>t83Rdo~`%6Zd3F{0}q>@al1?6YL7*oTNRHr(?=C=7UvMkkj-MDRe3#-EG`Si&m zj|jO;r;}C-ugx(GhBQ7N|4-QDA!ky?W3G_Kk8u>Lv~dc0w);>18UDYMnQp#K8i}t{ zoy*ssM*V@1MR=ONzJho6_eO0SsKmtXIwWpsQuH9VC-(|+oO<(g^3X-D&rr2iC*3n> zMK$<lc1wx)Is_(W$GdWUI2blMQuw>hA~jaC%U4b>`rx!3n=Hx8qPl1P^}`}sj5idN zV1$IiR($z1D5tb24Gkzh%XR3Y!W65!4$YP;^?Io{(jY%*6{G&lZTqRP0#|yqhz@O# z1pD)G!dWJR;r<p*TLX!sg|bWr!2m6rLli56{y_zmo{V6@E=)B9W{S>VgM^bwh;r+I z(#lOjOLTG)Y<?YlYC<VbP2bIYnwbp4!GUDy$-kRWPgEJmVztz1n*_!&0@Knd7g^RN ztJ7%8y-74yiMNw6(Y|^$&3G9fGo>6O8Q!iHj)QL408)FUNCdWi>)6rm43FB}yHOxq ze$s3H$&#nEXQNB)U!_rl_mEke!{_$v{pqs2wpP;Al&V_e+<zmEdI4KLq_R>O0jyF{ zX1AU;QiFST%T~Ulxy0I#T~u9ttPze;q!TOw2bq-?almj^F^N|X#nficW^J=j9rRgX zyT&FS_`|BeBA*8~I0Op<(o(9Z<5{{-R$M5Y!Men!h%6SmJU6VW0lV5lhF}pHXr@nP zlBnQCe_UlmQ}Kk@xQ4W59oDr7Hn=z*-e?6|Gl7MuRhZvg6|bkqlFblOpsxcZomm9h z23<H&M47&f6TYl?`JKhcB0u53M|U~k&~o>yw|K+(h|K<ojK6`3#umAFp=OFmF%Jy< zmyxq){&Hu&h6b|GD{wy$MlvmM<~_r$V*^%W4{YOIVJgW;x+l6olr}v`<W(*rW7S1k zIl2T~0gQM?A<OHTbGH~So(AXw$;cz^Zh@?#;z*ar{RqP={4(us_D0jqL=j&?@>TEX znLD|)MxK5X8Snarh^X_QPbxo<jwGQ=DMgw{rTJ3MwwKQ!^8JHmun6161|={|tE;pR zk2a^y?r~y}a`YrpbT4B~I{exP_Dc@*{q8dD5)d`HYm1*^F6hZ`+Z-ekVeo}s8p0sT z06s51zoF-+^%NB(?gLA6CsFRsw2}x`k%p0{Y2{@uk><BL01;gRZ~||y_Y>tV+eDeX zbim1J^}Z|HYf(6-)tvlC=^>+hdLr-3h&U+;16p4LRy7$4NIIt*+&mjKLeajO8MvMo zXSU_Ok-+oa@fau({xl1C*OC7q(m|F3%S2}ot6Hx+)EcyJRbm8L7z&ssb9TUCM8W;< zEuBA{iTEKLRQ|k`RpxyMQMrTTN=jjq%vl#Fi;6q?zMdkkn&|k5UwNBNzIn;()>?U% zO}QM;wJ({MgzHzQYuoc?8;WJiG9^2wNU#++-gM3qGjIM|8-IgAO`|t>J-v1+RkHTZ zJ#rbBzwen=w#^7=yWx3||1LqU{kz(d!g5mfm3+IFYx=hFT9!#xp+}3vThWY0iNT|# z{8FpOX5Q{ZXEH-s79j)|sM(ctEV>!#JprYmp%E4l=?_l>Uw!W1ad?uph%dw=&rvKd zo3Z#bj*+YhA2jq&%q(VPWE0lmYiSnkL}FnDZ5&3jXcH?gHD5_@L7M$JFbCK2!Y>Yp zOoecH(#~(Mf<HS&v)MCMZN@?dnfx0Z&Dqy|$V)Sf$)d&~Y~d*E?TMC)n*<^uyxK{h z$!H3^#U!Nq=Qf*qID4lj{y#_|=a(P{PtnRxWt11t3)EbCLx&M?5COW1*d`t>y|cd; zDBXE^TO2lRzjLJCE*WY(HH)c0vEUC&NSg`SM?oaPlbhB04gvsxIln9{splT~CC^XS zH|F&O7sQ+97O{-@&5ej)nn0g7;=H}Z9i@Y}tm9KcxVdmvPz2%nN`J4^R`@^H+O}@J zl`1az5Vgo_n_z33^Y1`oImzFDS&NS>qrzIoEtfe=HBlkr-xQT)c{Ve>m^L0*xHcfs zk;`qZSts@b?u|<GH83@AOL*|8gpeFOs4S!AD`zg;q=YuWn+;HR)Ps-C$=x<#7%5gi z&y<f3oiG(NW<)u{VSI{JEXVe&@->PK4UbzG!7Z<fthAiCe%TpF8;3B8m@~zN2Gnny z1~Sy)t*6^uD$9KutjJ(kh?@S2mLOq=0lt78wx=yD;`pR`R}I&Y)m%YfzX4F<)sQN( zFmecsk=xs?zwX3oWMJ2gEoj%RQ~E(jAr@(h+%7wOs~eO{bs<Z(5Su$&=vG3H=<VRm z<u(@=#Ui0-G|fb1>P1FIE$U#+)n`P7UH^C~*-=vprzV3cq&3U^wmkD(ORcd70U^ec z5f@QIXClp)&p|M1vMjSZs0RFYo)KL?tw0fAyzv}yfVMEbQ~@3s)>x+J*DVzsC+JYw zYCI3u%~PJSEEvwX3eyKV+LJqCe(VubPRLGjS4hNyRGG_`J5_Z<ceiVZ|N0^yeK-wy zaxuiUvFJ~dXh}Oh?zKaq0@XxxQiRCXno)3ecH|mYvgPWUfR+19s36z#(_#FQ?j97; zDuydB-sWRGapA0%i>q$>U=XHP4K8|g70*$JW=Q7Ob2;@45H!d&P1~Hfom?;Y2n$%x zupbm%Q1MWM5G)}504OLB>v4zhm}dhJ5m21_k-y>?)4?E#^JpmOUjHb|!bMTh`#>P9 zaML5%)ZJe)?G7#q?nNRQoX4J!^5|B2tl$SOuP)U$7r5H&{A6`DF(ogyH?MAN=@COg zt91X%uJ=!MN-mnn0+UgewZ3Ic%NE*Z9J1|(>o2s^>dWr5jT&Xyw`E|xyS#*Yd=8#x zQG*}3M}vpP-awqdST1hygb4{h4zSJ3E$8{7ciBckO3i6#WrUMaE%l0A0i2ZDa<g>I zV0yMSo?Mi$KX~C93%rCVR+~d273KhmC(a_AoK|{bR1{Wz=@(zv6sc2;@iv6<_hzD! z_<Pzv@MUE<5PoxL`UaAL=wvUeuA2K>+k{=5&DXLfqd9Ib#Z!^<o020;*|03~H4h-s zf@WccN6uH8<S>oh|Lb1r9FK@UO5c87Qedot*sn%`<s6e^1jn{I8OE#13C)WKlZI{K zzU#?H(Hqa0k-Pb4M)~rWkyIISk_-h80$muc=gR6NpT=LABpOPX2GCgYkl~!#=*Jq? zpTFg~JbmxpY_-l$G#2IZW$=R*G(0xc+8Rukshs06o)g|sF;u!<L_TqAX-F~rkU}`W zlUv+!<&8Fy^L%CXVnd*~m8d>5V4N19(-A2s*9{|aZcT=<^9*Tz@N!@t^01;#&WlIJ zgKB>5Z;d-J&s-#ey3VQ^ybMK2A-5C}ZcZW(;*#w14)*bW?ibuWj;c>w4}|p#J!2=} z3I^fjWyCK*{Hzwi_EPh3E%@MJge8Kasam~L{EB{%-$!aNNitbAKk!KCnFo}$kwH)t zVJSJWq!l4l5}PHeL;OK@6VS@-0<EpDu&dl&{(4G-$T~m{{cCbzbiHJd%gKv8G(sDX z0Ce($s89*Jx>`=`M00pmJ@uRo+Ph|&L;NsR7~p^}J0~2OEyvM*&QDN7QI+21@CSv_ zKpl&QT&VAC2FY+LgP?767%S5mL&-z`eQ}9E7Q7s^ymJZ@r7ic>(U#(4dTq#JK5j6> zeR3tj5d3s~G-0~>@kj>sM(tN5OhNfDa^!rP^nv=*5A5Zvn`_@d@k2=qJ#-FMTB^Si zY<hgWKbyx%87S4h=PNWkKrjReY(ZfMY47B}X@6Ch!>;ZnDJ+N=PMbhnDjKkVExb0m z0+N|wQ>F`i2zZd$po>3m3!KKLHbWy9#4i4#0Q1*)#_pxY`r+5QR2#eJ3LGq0pD$$( zer4tscj6=!QBVGDID-W4=*O;+e1InKorVvTgH10C+vZ9Sm)sKidVnO#c!ao!iS6ei zLY7nm<sSe;gM$VBpSc7j#lof*Rh=Kf-sRYIEv}Xh4FDZZzcNDsy2Yjvz&<wNR^5we zs^;LrY_-dgxh<%!9-u!Q1svPb8J$)JFwr*TJ~kp3zvNpP5hTp17wFt9N<k^w>IRZC z{nLw)46kRs(KDHV(HN5@1QLkV2X*Ow0~m-vu#b)<YByt=-N;+H=BBdA&i(z{Q_Hx3 zg4$fbFN^7sc;#Q9GDPtxxHBTbpmGERzIc~HR*v-_YtDiRL~R}7<Q39Fm=TD0sD21# zDXyAc(C_ChC1sbV{at)1G}3%s0YsJz5)hh5P)jQvVKG{^G7+sw|77K8sB)iF160it zF&V{0MdYk0z>lLp)f`#fnDg6k5Eb*98G;fz(g0bSxu43H;27;FbM1+bEq~IRUhujH zN#Nl0!EyWz)j^dq6Jp(zJ~5iG^rixXd!nJj({b!1s;%J}UW5AcDgA_>xi1BgpC2wl zP*4;#zYpy&V65!a8?CPm@1!umf>E?uUQN56Zjn)pVH2#JmPj^fs{a>_0sWxDdJ^E7 z=S;V{H~x~ed{><_8UE-A#456Cc~ufRa__tNap*uy4jsTo2Lj)Q8(f_3JH#11-UHHa zXBbc%==Q%PbZ38`-ToACvOi*t4vm6_g7~Tl5S2g1Y&(dHb}9X?sjdloFgI{2;i0;z z+{mrP70X{<eC(-fUk!LhMvcLze##TQdayAsKLR_&AbL41Dq8r~1EZx>Q%d()h>Qve zZ?c3<6A1u#BiXxRD~scjswB0HD$L#JmV?#K-pOmMh;nj@0TTu=WF^C6^21@?F-2+w z+$561qI}&P*hgL5+3ku)#MU-T9}k_4(B2zIS+rmtNw1y_#Mj^BySIxRqMREol_s6w z_MPCK2IB0k#SrUEEkz#_bj9+r^L*L;4KTs~JM~C1p#Nzgrb<r7ao7-~un5F0&+44t z^0|?Tu9y+&<l;dnb^-E~nigFK7DWa&{z+r(Ei^!>psi(4)m#6(!7AdmhUUpVw3#5f z*Wq`Ws#n~g3{htXn4bdKe98|ft3ap_I#AZYnKb(kYcgUW-Z|foWZlFG`30cA_b&1! z@17}!nn<{OkE&swIEyYXf^!5gx)qw33J+<w*p)|uY43!Cvh`gBD``M_Aoj*83WMC~ z`b*G>W2o3}G!r<bP0jNm6y^hQiB~o^J)G<7Tw>C|fiMasbZ}E=4L(h7M-}rUQ6A$d zn5_P4oWuRdfH;hmPW(t=750B$-^@&qS!6gZMV=zG=$e?ie=;LnGEI##_PYj#<F^Yi zgd>nEe7yj7Jf(v`k!YQRV12!!{1-p%E4KZxqw0TgLTXHT;kHyto=<`b1114Gn}$(8 zVyD~1F%qYVnFq<6a{Gqo0o`JxaFHk(6GR5UQam9q54m$I_T}ZpfAo*C8tibsFk<}x zhg!Id1qv1$5anBn(C@5I$Do?|@_pCfhO`4(pLUscvvH7zv7nuq(Q14>mfONZ!pRcP z5|jmOb@>g#A~GyI!`Qh0E4tD_&S>b?adOrB(h?pO;w8bw0dU3S(vavXV6LOP8;F`# zS<9}q^thrw(?3uX;>u4@URTwm-0`@;1hdHW!apd&%2JT)gn_vEa`*`jd;lFC9UyMl zCfX(22?(`SUV1%e0DVv~as9}j{h#07T(vr$HQNOU|EIg_aB6D%)&T^h_f9}ix}XTs zB1H*;z@?)oNL4^VLX+MRsR3!1C@2CVy@bxCx6njDkX{l%KzeTp@HXE0&F{^;|KMdN zb53$5=j80YzO}#gowfHu8dXkeeA2Z-jzU(tKF~)m1>m6zg*`t`X5LEK8p4?~nbokt zcB9t2x-u&IN9YH*VC8Ow1cNy&uX1NzsGZMbC<DV_O=dph`96p!7Ngz3mEFzA-u^LB z{Mq`I0Iz<BWoP$gC?x{}&F88@+Sx{&d{TPx4_H!${;w_s^9Z=}+~Rs7vaHq{PvG$R zw3YaGjDPqHbLQuWWqx`Q0a~6r5mI*Fn_pJW#lkj%e!hg3kII_bU@58vEWb(W3F<(s z#r3#8RCpl1Ig{8#2H%pTDMe+B$P!o5Or^jTq)cu0XszsPsHtiAGwmQS7;Jl^ZZk7G zn=~ve%%sMdZ(?$?b8R0H_>7dt%T^qoE6v6mGYCd%>5I{up1wZznzR0WVX3b#R)r{u zGF&Yfe~Vxkk%*>B(sI^5fQ5{BcHHeCpC%&CSA3ErCi?op6BAFqrO7i<P*5nvJrHrh zHWMYKq}Xgs)pqstaPHLDmUA?n{4A+IS8`vbkBW+V_wggNVvOASR_fMrFPHv9qu~BC zKe;`syVPW}FKw&U9e%Q|Y--V^fcK$5yg74d2>#RK=(?)uVozcCU8!QG=EK=QUR}j~ z=9QI-vuNIcBfgR1r>p)`zg%(OVVmt4s^O)UEyM&+YCy%@oCmBrpYB~f-slelMsk8| z@W*>x6B1H2Hul>aR2LQ(56cur$s%T!o6t@?)#T?(DZKLo=P=e25WssGX^7NK?oz7g zqe?GnuGdPdgy0i2Eb`Smc&QGo7x&+r_$`fT)5oyuUI+=ViGgNmRDZmfiUR$|Vt3%N zJ`n~U&CM@#Cu->Gc7k;|gSim(44yOILQW0)4<XHcva{6vEKkDT_t`>%^7DnSUvIB< zTY8t4cIRv4Sm4<r;>aSdNy@fFc4f*b_j$6OVD?>9W~KQ*Q9p#<M_y4Ze_bV4bnfET zyY*>vB_yYivF8f~{UAf*jYtfUZzxo`25(H*yjo&|3Hbv&W73-;O>6{HrUUR-YaGXK zK~x+ZR#|vw%kAi7oTei7_S_+WV#)k{!y<ON&eNBvdD5xwRrBagPUI0-J(C(TR`G&K ziLj;Wx0^akJz~nPrxi*<mPH%~iwPLyF4F6-AlAps6m!N4w~)oBUGB*A9|SQeQL)tq zT^&jOG!Z*82o`cEFeo=5B|GrrCZ)J=q&t0?+LiqLIiT;J+LD!*l{v4Cq4|(FcLjf2 z!poO0>3MmTu?HS?(@QdpRnHu}1OollTzAMJ;vQWIx4e2pae28s0Xw5?iOT%b`(_Ca zT0C{h{P*8b-5t7ePlm`{j@!A`Oha3HuU1)7k^zZCs&dY^M>3&co)QmB%#reLi<T1= zFH9PIDreU%0*;@zcXs+BI5;@2`p}8-J_#l~O|_y<UYwJ5SB%b`fVL^0YQg7Y#RX_# zXY=WjQeuXidT-xST%qBACKdN7AST74Tqv8{wFI-a=E$w+!(3TesiC8DV9vJOf3QBe zJ#47!eg3L?Qa$MsXAD`Pzu#@z(<Ss)F0mj#rE1jOmg(aHwEH?g(4`cNt>F%}rA!)Q zRO6QhURJhRqd!+wjVzr3pnb{Crtwb8%@x-EbjMp`@`JV@N?VYbnfdeQ&)BFAfi~Ql z^V})#Inntk189`YZO#4Mqr=hjh&L45M<*kbeku0+l=^(WlqQ#h!QW(NWj&d)FfoZx zi@two`UI%30H0gOOX+d;X-$MxCBjBBU4{>efD~0djPnkm;rG9{*>MLBR~;T-Y%hLw z9wL>VvJCBcr;!(XbpMYY`RdgxIsX&ssOV@Sh_SKp#s13bDiOrn+xrL`N>?8__DRv# zd7+EJalGug(Y&aza5Es!?-CQGGF>L1A8)c__W3T;*-9mOms_G-S&}HaRm=*(JSzQ& zm!9q`(AEKsypI@~JxsZQ6~fGpmz<Wnd2PHL?TotzX$A>{vE$`-^FJS1kU|y~7x|Ty zd9_j`)HF3IcXoER4ki&c|EkTUwh%+91e{9&ebm+`gXQBA>*Zs_x$5wcLNUkyZ^Flf zZk+FN<=E|L?ak!4E6>_ZDNPauZArz_XU^{8Urov$^ztzIV;D~7*fC1<4gLGEL;mS^ zef;JD&z+D9=1%OLRSoL=a^AQcs7*j#g`dk|CM7An(v;Ak@8Wq9dk=r9Gzs-2cXAv^ zZdcP`_9a^eI%``Sx#>EeeIBc14_<f>dCGH@Qtd4i=CL*ayBuiyJuMRK@6{EV)&8jK z>q!<vznYXOv}oc{KJM0ao=3{YKK9eeVJfNLp{zp8(k6CGuPy1OrUrjIHgq|Nc8iF- zjYE&hSoN$GI3H+;lp*?Czp`zr4|Uj9n7?epY|ch=H8s-P(WQ49OAVp-k>T{OV(<NW z9}UQ>L(S4;0r1ikHc1So=6xM|$A<c@HOy2G&BFVX$05F1B;xxXced7^TsI9Q(WFhW zZcQ>G3~|x5e6VZ@Gfb`#I4r0+%!BE>eC3RyA0s5vpemPNrYXAfjEcVx6EAUun`*&6 zNSL=a=+1_f_`7jv#wPK<u;#C7L{m^O&FOoT5sPhDgy7R3N3SGA>nV!zoDIrKZhn0% ztOQPB+uv+cqIlUZhw3#8(&Vt6bE@iv{CB9Bs-Gq|&*U+^fmDLa*%;|{Q%@3^fI!8U znhv-XcU%Uz^^ra|eZOUH+v}*eMJ0%k6)=D9NqF5ZqH{&O8cW!wDjmD-wYE<#>2ja* zJ5;=lrl9N{ei)itf>2Wrr>fPR4o>@3u1DyQ*M6_aVd|-LIaL4d&vDK|@3n_h$3>I+ z9+}*N(G=b#N)aOELRky;B4v+kaT({^kPi+L8T$rYGJXg}*4bnvD63=hgL)l>x-Mvx zmWNr7D{P+FEWCT1l6(`+vArx-i;BO^A`q@A8F<X?81RCG8%b-H@6bZhKNFg|v92V@ zA=1$KC6}^#Vdjl*dLt7{P66M*IqJ?y4_U<|Y``5oeu(-aWVy;k_jDWOH3b?Ey(!u4 zdz-CTjGM_+le_9bQSk6cS#W4cx5EZBLlWcd?8+G%1E0)#Jj${4%lqGQo)yfpe*Szi zr(0b1xsGsO2Xfc+CN}wkGUtN<Z|(QDIZS8AE@cg3eYJHSdc}1Q%O~o)e!-*ay_7#V z+-Mmbev6#7h!gN!!mi<FY#5oiLZgO4c@xzwegx=BC=2FsbdQ~2+9I@~I>ItFHzo7# z7}BU<<9QLyYa2GV?6xbrd<EFni$2=tZv<-dOx997_)Q_Ks2}`m)+C1fQyuwFf!kZ| z-dh84Jk9l~wpm95@@D1E3Ov5+cirXd^d8Lwy`HTl5#u!vc2n=Q)QW8z8I`qaO=3=i zc@XuENVH;>Mzap?DVjkg94B0qi<_SFeCJV!`@NfkMSo1aV!V!;s$BP&iua__j7w>= zmcsKS-lp2d(ru`z8Z%8mp<Vts^XpIi6{F}rs$(i2S%G%;j_ZbcS7VC_#=@}2w21<o zrsmxp6|1-OT)!||)V?C(IUXdjUr`d|YOJP>-u#XkZ_7r>Dbk$pVFcSvDs9Ska4Z*g zY$lxlhEKC4>jt9z+p3hy!It;8x;#8ex^m9oDb+@xt$3r)rgajxh}z1+S?2=RYy%aG zU4GD~*+i~laLNhE@tvLf?iC)H=zk~<m0k-ujW6SU6HtE#{b2fKa)#`vIUldgRmy=T zhS$Y)kGCzk>_57-O=wb7%oN4O2iQ_C-Ts=os2a?Nbus#VH*fbS7o&N?nDCRlZKV40 zmzo-OadGj|aYvtUHNas}(@yGseuUfr+r4^>xC@sR^I)iQ3thE4j;Rw*@T0PsKVjbT zVktCihJ%;S<?-j15fKqxbn>mQA>OVx*ZxGqBShEu`8jC}jQP~CTD8s`sI5-JW+JSJ zB|kqu<@2<Qqm;6DNVP*Pi8bJGW+x*Gpaw7S>JpJ(G5M$h&UZg7Dac6O*@l??A_@u` zg)lNOkf!J7kJWkJINJ(W{#;Z9<_NWN>Jl+AFobdBX?8KB5swt8!vRG!GVVwcF)Vdk z((ya_opY0&c+>vgndHCMGytqA+w6WRwYHiX=}QL(Nw-DqYuBzF(TWMsa?1tn?6`jW z2xEKv`0-4qsF)Z!@H`+*(U%pXXJquI!S~R*@561P&U<Iu%r_Yr7?5N5&8E1D3Tf^4 zw@BsX<;SWK>HYH(DOBJoUh6-vSGQ(-H?6u81ia=Vh3ezd6<+rU@qPRL9kV^(*(pkh zxX@^?6Z3&lT|3{ky&CsH;kD?D-|k<4Z0tqFZBA5Dh12n3x)X)AyM@v%&(BW5Bar4! z-au-VRU2+DuGQ%oKqRuW1xleRp>rZw$imXnRWL+?zSPjr2%2^pg<bT)l8=%YX6{6x z+C6qzx|r)JWMFf*@7b-EXSbei%lG~*4wBERs?4{y6@3pZ=P^jYY{@_OZHZena@Too zVv4F~qK1c!q-A7$su7Nk?QbZUhy&=PZwdxo#X8GDAb?#dsNaLbGg@)ZSCo_jj4-jW zvG;v^6qJgN?b~f07mWm@Ba{g^I<!q^tW{igzNpSeg|JP(C79Bo-Sg+TlE70jh&bOJ zk2Ur+57^w?T&d@#Ibn{i>9Sk^Cp%L!14{Y@qo}ATJy`OI@68O(EFM_r{rhC#E6ein zJzAkJE*4~ThtHi|0?GRAH?%|qxM|4+|N6i@?1GPqjJ*5eg@~ENXhdg%!2#ZJR~9eJ z9^OWj(i_&^4o}B3F)=li2Rtlb0i$wr+4Ej-k#GU6zp*E)C3M%lIGMra^_WQ$g>*+? zF?{H8M}p;L#*JPqu8~?|qaVvr<S+k3D$u{9z5R-ypzW}QogA~8n0yUkuR7@mo*m*i zQ_sOA;~3QYYp#Ds*yh5{;aNTZhyEQ;$?`CbIk$^mK!elx-sNX@c3GvR150PEt@o}! zsnE#D<xjOzzw*e<Ktqz9+5~M)8gpOgD3<x~`IfT<8QY=V#pY{K5zSJ6y82&#(F7d# zTFiY-bqeXT4NYQ1qtOvjQLVi<nqnpqP0&YAU$Y#njfbY66PCR2>(vd(Ez%xuh6`q? zfIWvHFHC%Y<>%=}AOH>;00`0yGTxr90b7(wrGY}BN8|kgZ^cckVqWK75)1-&B>k3? zi%b9MQ{=aA+9pL08`>gGv>}lI!2HzF7dQsn5@)1da&mHRUS3P#<8nDtUP#VRWWN%g znuUc0CFjEbx5QJ<E#ka*4b4ara@x=J_1tbt-}hfYbX6Y#)MaM!!`0NRaIIl{<r2TW zMh6Fj4Rdt(Zr^4Bo1ZZ5O#K#)=F88jC(&Np)(Z;@N3SOSI)mQvqR-3AGby*F@z|J( z++Q7?pKvJY0KnU)6~9(vCQ<mLl5%yVsLgk?;ZK)G3Vj-Y6~0US_z`)$yEG3dbLWt* zGLl2e7P~)cF$yaz-2#i{^9c!&E1wL;?a_wW58ot;QR%<4OYQ0k7FoIa>~YaU!iHy) zs+Ja2EVq0}R1_tk^c;XE`-HPH{;$yS2xRk?0=EK4J{B<C5m?2$GVfj6;h#Tod%uT- zMMPS}O6o)G(*0T0)YQOle_RL%pst!O2=+5(GU$<_f<X+nvyJ{oATgvBQFZlZ;F%w2 zSIlH%*UL(NSy?tAowNb@vVl^&ejcz`%3$5bqyI*MtK5(6$E#j(B_t%&pPzxr5~Lym zfwbz)zuhm&D0G-28alLWgn<u_xdM87tn4`zB_$<27gvF&oYk-8!K@lEk#C>YX3Ef* z1ypKS@$9pB_>eUg3j1nkgv(fRjeT5h`<wg0vd?x0TZ6?`L@P8}g})2P<8f-ytX9CX zgvG>$U}>dj#H><1exvRPBs7(H3eSIP!vUP!v$oFcKaGrxw0CqI7RetNotcR(GOeBi zf(IsqlnS8z8dTo((q{cGt(~5TwKLhx_6Cp!HG>&HbL!~mI0AJcwkBuKSP_lKUuXE@ zOjV~-`~l0R28B%M%)M}=g-`1q=5(p5_rKWfP2o*8@ZrtExzw7OR69XIMU#NjRf|=q zj)rU9^jN*Ol)2Au0T7-2hSCnAu+)|jlc3c`N-UJIGQjRS-1-&6foGlvl{<((8xxaE zkRA&N2zVXg!qs8JE{I%wnYz9{gHzqQ%)+l<ICABq7W;5E*20Hk*IB8+sN=s;QdIPd z908efk_C6C1O%3OL?E7PZhn5BR^%GUl~%t9wRF<tf`!uk7$JHF1|e_Xl3k?cd97ED z(nFy|Zb|T#j!QS&|4Nf%U=q^dcCQ1S$I=<cs}5!~L)NYBR8kc|xSYjllgqx+cqwRZ z&U(tVR~%I9!EXU9AYGr~RR0q+S_3G|;HjvnE-(bWN~OpXM-E(9bDm+&g{gk|`gH|r z(ACq`)vQXVxNur`*?zRZ=MIm%hsQxGT9A_5k(4c?r>E!L`}Y?JwgjP|PdJl-gjr2c zwpNNY@Hb<XphOz|OlNWJBIl<b?)Hu8y7-io@KgNZRRAg9gSD1WI;998uI!#vT6OjH zbpZclM>sod0>1w3;aNpRMZl=ZkF6pTG%?U(+F_gZSwK9>3Xuwex48p>%E;I_BR`+g zZSmW-cVTTU2hgq*)L1!P-P~OEmi4bc{fGHq_jTd&-V<ns$a(!Bah;*bVvj%-+oANc zVPDR~h%Vmm5XN|k|N67y+WT;64C;b<FsQMc7hdokW~={v{^S1O3_vjehxOlB{c-UB d4-TWw=@?pu;99o?)FI&YKurf;e9toEe*inTW}5&2 literal 98178 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 DUrk*b diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index 12197bd8e55f..cea6c273a076 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -858,18 +858,18 @@ def __init__(self, x, y): @image_comparison(baseline_images=['hexbin_log'], - remove_text=True, - extensions=['png']) + extensions=['png'], style='mpl20') def test_hexbin_log(): - # Issue #1636 - np.random.seed(0) + # Issue #1636 (and also test log scaled colorbar) + np.random.seed(19680801) n = 100000 x = np.random.standard_normal(n) y = 2.0 + 3.0 * x + 4.0 * np.random.standard_normal(n) y = np.power(2, y * 0.5) fig, ax = plt.subplots() - ax.hexbin(x, y, yscale='log') + h = ax.hexbin(x, y, yscale='log', bins='log') + plt.colorbar(h) def test_inverted_limits(): From 61dd35a0286b28549c4143c681b145a08b56956e Mon Sep 17 00:00:00 2001 From: Andreas Gustafsson <gson@guru.araneus.fi> Date: Wed, 11 Jul 2018 20:49:34 +0300 Subject: [PATCH 0969/1161] Fix bug #11635: Do not call the flush method on a file object opened for reading, because it returns an error on BSD systems, with the end result that "import matplotlib.pyplot" fails with the error message "TypeError: First argument must be a path or file object reading bytes". --- src/file_compat.h | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/file_compat.h b/src/file_compat.h index a1d93f3f318f..428db6b4bda9 100644 --- a/src/file_compat.h +++ b/src/file_compat.h @@ -59,12 +59,15 @@ static NPY_INLINE FILE *mpl_PyFile_Dup(PyObject *file, char *mode, mpl_off_t *or mpl_off_t pos; FILE *handle; - /* Flush first to ensure things end up in the file in the correct order */ - ret = PyObject_CallMethod(file, (char *)"flush", (char *)""); - if (ret == NULL) { - return NULL; + if (mode[0] != 'r') { + /* Flush first to ensure things end up in the file in the correct order */ + ret = PyObject_CallMethod(file, (char *)"flush", (char *)""); + if (ret == NULL) { + return NULL; + } + Py_DECREF(ret); } - Py_DECREF(ret); + fd = PyObject_AsFileDescriptor(file); if (fd == -1) { return NULL; From 18d0f9ad4d8c5af45af6c88e077898eb4850d7a8 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Wed, 11 Jul 2018 06:38:46 -0700 Subject: [PATCH 0970/1161] DOC: better tight_layout error handling --- lib/matplotlib/tight_layout.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/tight_layout.py b/lib/matplotlib/tight_layout.py index 19da29327000..344413cc9b7e 100644 --- a/lib/matplotlib/tight_layout.py +++ b/lib/matplotlib/tight_layout.py @@ -326,8 +326,16 @@ def get_tight_layout_figure(fig, axes_list, subplotspec_list, renderer, rows, cols, num1, num2 = subplotspec.get_geometry() div_row, mod_row = divmod(max_nrows, rows) div_col, mod_col = divmod(max_ncols, cols) - if (mod_row != 0) or (mod_col != 0): - raise RuntimeError("") + if mod_row != 0: + warnings.warn('tight_layout not applied: ' + 'number of rows in subplot specifications must' + 'be multiples of one another.') + return {} + if mod_col != 0: + warnings.warn('tight_layout not applied: ' + 'number of columns in subplot specifications must' + 'be multiples of one another.') + return {} rowNum1, colNum1 = divmod(num1, cols) if num2 is None: From 3031da056f6221275918ec2639a6a4c2b37ccbb7 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Wed, 11 Jul 2018 11:25:04 -0700 Subject: [PATCH 0971/1161] TST: add a test for tight_layout warning --- lib/matplotlib/tests/test_tightlayout.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lib/matplotlib/tests/test_tightlayout.py b/lib/matplotlib/tests/test_tightlayout.py index 6bb0a5670adb..2d143c63d9c4 100644 --- a/lib/matplotlib/tests/test_tightlayout.py +++ b/lib/matplotlib/tests/test_tightlayout.py @@ -305,3 +305,14 @@ def test_big_decorators_vertical(): with warnings.catch_warnings(record=True) as w: fig.tight_layout() assert len(w) == 1 + + +def test_badsubplotgrid(): + # test that we get warning for mismatched subplot grids rather + # than an error + ax1 = plt.subplot2grid((4, 5), (0, 0)) + # this is the bad entry: + ax5 = plt.subplot2grid((5, 5), (0, 3), colspan=3, rowspan=5) + with warnings.catch_warnings(record=True) as w: + plt.tight_layout() + assert len(w) == 1 From d2ec53b4ef9635056d943576239466e41b90c246 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Wed, 11 Jul 2018 02:57:38 +0200 Subject: [PATCH 0972/1161] Minor docstring fixes --- lib/matplotlib/axes/_axes.py | 2 +- lib/matplotlib/pyplot.py | 10 ++++++++-- lib/matplotlib/stackplot.py | 2 +- lib/matplotlib/streamplot.py | 2 +- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index a0cb6613ce33..5227ce62812a 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -273,7 +273,7 @@ def get_legend_handles_labels(self, legend_handler_map=None): @docstring.dedent_interpd def legend(self, *args, **kwargs): """ - Places a legend on the axes. + Place a legend on the axes. Call signatures:: diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index 5f64a7ede616..3096473ca63a 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -341,7 +341,7 @@ def setp(obj, *args, **kwargs): def xkcd(scale=1, length=100, randomness=2): """ - Turns on `xkcd <https://xkcd.com/>`_ sketch-style drawing mode. + Turn on `xkcd <https://xkcd.com/>`_ sketch-style drawing mode. This will only have effect on things drawn after this function is called. @@ -410,7 +410,7 @@ def figure(num=None, # autoincrement if None, else integer from 1-N **kwargs ): """ - Creates a new figure. + Create a new figure. Parameters ---------- @@ -575,6 +575,7 @@ def gcf(): def fignum_exists(num): + """Return whether the figure with the given id exists.""" return _pylab_helpers.Gcf.has_fignum(num) or num in get_figlabels() @@ -591,6 +592,11 @@ def get_figlabels(): def get_current_fig_manager(): + """ + Return the figure manager of the active figure. + + If there is currently no active figure, a new one is created. + """ figManager = _pylab_helpers.Gcf.get_active() if figManager is None: gcf() # creates an active figure as a side effect diff --git a/lib/matplotlib/stackplot.py b/lib/matplotlib/stackplot.py index 2848d4a5cfa1..d18d3d76531b 100644 --- a/lib/matplotlib/stackplot.py +++ b/lib/matplotlib/stackplot.py @@ -15,7 +15,7 @@ def stackplot(axes, x, *args, labels=(), colors=None, baseline='zero', **kwargs): """ - Draws a stacked area plot. + Draw a stacked area plot. Parameters ---------- diff --git a/lib/matplotlib/streamplot.py b/lib/matplotlib/streamplot.py index 17ca2cec1f5f..12bcf9159e91 100644 --- a/lib/matplotlib/streamplot.py +++ b/lib/matplotlib/streamplot.py @@ -20,7 +20,7 @@ def streamplot(axes, x, y, u, v, density=1, linewidth=None, color=None, cmap=None, norm=None, arrowsize=1, arrowstyle='-|>', minlength=0.1, transform=None, zorder=None, start_points=None, maxlength=4.0, integration_direction='both'): - """Draws streamlines of a vector flow. + """Draw streamlines of a vector flow. *x*, *y* : 1d arrays an *evenly spaced* grid. From 8408b0eac3e90302f581f098951e52cae55f6a06 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Thu, 12 Jul 2018 10:15:29 +0200 Subject: [PATCH 0973/1161] Fix gitter badge; remove depsy badge. Depsy is no more (https://twitter.com/depsy_org/status/970376969782149120) and the image link is broken. --- README.rst | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/README.rst b/README.rst index 7dfbce56ce65..6586a7c73dd9 100644 --- a/README.rst +++ b/README.rst @@ -1,4 +1,4 @@ -|Travis|_ |AppVeyor|_ |Codecov|_ |PyPi|_ |Gitter|_ |Depsy|_ +|Travis|_ |AppVeyor|_ |Codecov|_ |PyPi|_ |Gitter|_ |NUMFocus|_ .. |Travis| image:: https://travis-ci.org/matplotlib/matplotlib.svg?branch=master @@ -13,11 +13,8 @@ .. |PyPi| image:: https://badge.fury.io/py/matplotlib.svg .. _PyPi: https://badge.fury.io/py/matplotlib -.. |Gitter| image:: https://img.shields.io/gitter/room/nwjs/nw.js.svg - :target: https://gitter.im/matplotlib/matplotlib?utm_source=share-link&utm_medium=link&utm_campaign=share-link - -.. |Depsy| image:: http://depsy.org/api/package/pypi/matplotlib/badge.svg -.. _Depsy: http://depsy.org/package/python/matplotlib +.. |Gitter| image:: https://badges.gitter.im/matplotlib/matplotlib.png +.. _Gitter: https://gitter.im/matplotlib/matplotlib .. |NUMFocus| image:: https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A .. _NUMFocus: http://www.numfocus.org @@ -73,7 +70,8 @@ matplotlib's communication channels include active mailing lists: The first is a good starting point for general questions and discussions. -`Gitter <https://gitter.im/matplotlib/matplotlib>`_ is for coordinating development and asking questions directly related to contributing to matplotlib. +Gitter_ is for coordinating development and asking questions directly related +to contributing to matplotlib. Contribute ========== From b97cd2d0a722cff302749375e9e07b16a9429424 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Thu, 12 Jul 2018 10:58:27 +0200 Subject: [PATCH 0974/1161] Fix deprecation messages. 1) in generate_deprecation message, pass `addendum` to the format dict (otherwise formatting `%(addendum)s` will throw). 2) in warn_deprecated in the rcParams, `key` is the name of the deprecated object, not the whole deprecation message. --- lib/matplotlib/__init__.py | 4 ++-- lib/matplotlib/cbook/deprecation.py | 7 +++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index b8c0ef8314c7..0918766572e9 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -862,11 +862,11 @@ def __setitem__(self, key, val): "either import that binding first, or set the QT_API " "environment variable.") cbook.warn_deprecated( - "2.2", key, obj_type="rcparam", addendum=addendum) + "2.2", name=key, obj_type="rcparam", addendum=addendum) elif key in _deprecated_ignore_map: version, alt_key = _deprecated_ignore_map[key] cbook.warn_deprecated( - version, key, obj_type="rcparam", alternative=alt_key) + version, name=key, obj_type="rcparam", alternative=alt_key) return elif key == 'examples.directory': cbook.warn_deprecated( diff --git a/lib/matplotlib/cbook/deprecation.py b/lib/matplotlib/cbook/deprecation.py index 7a3a8d8c5178..b93a5ca94f8f 100644 --- a/lib/matplotlib/cbook/deprecation.py +++ b/lib/matplotlib/cbook/deprecation.py @@ -46,10 +46,9 @@ def _generate_deprecation_message( + (" Use %(alternative)s instead." if alternative else "") + (" %(addendum)s" if addendum else "")) - return ( - message % dict(func=name, name=name, obj_type=obj_type, since=since, - removal=removal, alternative=alternative) - + addendum) + return message % dict( + func=name, name=name, obj_type=obj_type, since=since, removal=removal, + alternative=alternative, addendum=addendum) def warn_deprecated( From 30d764b6f444a7fadaed5226e6a05222e4abb4cd Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sat, 2 Sep 2017 01:20:17 -0700 Subject: [PATCH 0975/1161] Don't update style-blacklisted rcparams in rc_* functions. This avoids incorrectly updating e.g. the ``backend`` or ``interactive`` rcParams. --- .../2017-09-02-AL-rc-blacklist.rst | 7 +++++ lib/matplotlib/__init__.py | 27 +++++++++++++++---- 2 files changed, 29 insertions(+), 5 deletions(-) create mode 100644 doc/api/api_changes/2017-09-02-AL-rc-blacklist.rst diff --git a/doc/api/api_changes/2017-09-02-AL-rc-blacklist.rst b/doc/api/api_changes/2017-09-02-AL-rc-blacklist.rst new file mode 100644 index 000000000000..bf93734bffc8 --- /dev/null +++ b/doc/api/api_changes/2017-09-02-AL-rc-blacklist.rst @@ -0,0 +1,7 @@ +Blacklisted rcparams no longer updated by `rcdefaults`, `rc_file_defaults`, `rc_file` +------------------------------------------------------------------------------------- + +The rc modifier functions `rcdefaults`, `rc_file_defaults` and `rc_file` +now ignore rcParams in the `matplotlib.style.core.STYLE_BLACKLIST` set. In +particular, this prevents the ``backend`` and ``interactive`` rcParams from +being incorrectly modified by these functions. diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index b8c0ef8314c7..45f36ccc2471 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -1205,7 +1205,11 @@ def rc(group, **kwargs): def rcdefaults(): - """Restore the rc params from Matplotlib's internal defaults. + """ + Restore the rc params from Matplotlib's internal default style. + + Style-blacklisted rc params (defined in + `matplotlib.style.core.STYLE_BLACKLIST`) are not updated. See Also -------- @@ -1219,29 +1223,42 @@ def rcdefaults(): # no need to reemit them here. with warnings.catch_warnings(): warnings.simplefilter("ignore", mplDeprecation) + from .style.core import STYLE_BLACKLIST rcParams.clear() - rcParams.update(rcParamsDefault) + rcParams.update({k: v for k, v in rcParamsDefault.items() + if k not in STYLE_BLACKLIST}) def rc_file_defaults(): - """Restore the rc params from the original rc file loaded by Matplotlib. + """ + Restore the rc params from the original rc file loaded by Matplotlib. + + Style-blacklisted rc params (defined in + `matplotlib.style.core.STYLE_BLACKLIST`) are not updated. """ # Deprecation warnings were already handled when creating rcParamsOrig, no # need to reemit them here. with warnings.catch_warnings(): warnings.simplefilter("ignore", mplDeprecation) - rcParams.update(rcParamsOrig) + from .style.core import STYLE_BLACKLIST + rcParams.update({k: v for k, v in rcParamsOrig.items() + if k not in STYLE_BLACKLIST}) def rc_file(fname): """ Update rc params from file. + + Style-blacklisted rc params (defined in + `matplotlib.style.core.STYLE_BLACKLIST`) are not updated. """ # Deprecation warnings were already handled in rc_params_from_file, no need # to reemit them here. with warnings.catch_warnings(): warnings.simplefilter("ignore", mplDeprecation) - rcParams.update(rc_params_from_file(fname)) + from .style.core import STYLE_BLACKLIST + rcParams.update({k: v for k, v in rc_params_from_file(fname).items() + if k not in STYLE_BLACKLIST}) class rc_context: From 47acec49be2fd455b610201b2b919dad917b1fca Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Wed, 11 Jul 2018 11:50:04 -0700 Subject: [PATCH 0976/1161] Split API changes into individual pages --- doc/api/api_changes.rst | 3809 +---------------- doc/api/api_changes_old.rst | 10 + doc/api/prev_api_changes/api_changes_0.40.rst | 67 + doc/api/prev_api_changes/api_changes_0.42.rst | 37 + doc/api/prev_api_changes/api_changes_0.50.rst | 86 + .../prev_api_changes/api_changes_0.54.3.rst | 10 + doc/api/prev_api_changes/api_changes_0.54.rst | 212 + doc/api/prev_api_changes/api_changes_0.60.rst | 15 + doc/api/prev_api_changes/api_changes_0.61.rst | 8 + doc/api/prev_api_changes/api_changes_0.63.rst | 43 + .../prev_api_changes/api_changes_0.65.1.rst | 10 + doc/api/prev_api_changes/api_changes_0.65.rst | 12 + doc/api/prev_api_changes/api_changes_0.70.rst | 9 + doc/api/prev_api_changes/api_changes_0.71.rst | 41 + doc/api/prev_api_changes/api_changes_0.72.rst | 33 + doc/api/prev_api_changes/api_changes_0.73.rst | 10 + doc/api/prev_api_changes/api_changes_0.80.rst | 9 + doc/api/prev_api_changes/api_changes_0.81.rst | 49 + doc/api/prev_api_changes/api_changes_0.82.rst | 52 + doc/api/prev_api_changes/api_changes_0.83.rst | 24 + doc/api/prev_api_changes/api_changes_0.84.rst | 18 + doc/api/prev_api_changes/api_changes_0.85.rst | 43 + doc/api/prev_api_changes/api_changes_0.86.rst | 28 + .../prev_api_changes/api_changes_0.87.7.rst | 89 + .../prev_api_changes/api_changes_0.90.0.rst | 40 + .../prev_api_changes/api_changes_0.90.1.rst | 65 + .../prev_api_changes/api_changes_0.91.0.rst | 70 + .../prev_api_changes/api_changes_0.91.2.rst | 16 + .../prev_api_changes/api_changes_0.98.0.rst | 312 ++ .../prev_api_changes/api_changes_0.98.1.rst | 5 + .../prev_api_changes/api_changes_0.98.x.rst | 110 + doc/api/prev_api_changes/api_changes_0.99.rst | 27 + .../prev_api_changes/api_changes_0.99.x.rst | 124 + .../prev_api_changes/api_changes_1.1.x.rst | 25 + .../prev_api_changes/api_changes_1.2.x.rst | 145 + .../prev_api_changes/api_changes_1.3.x.rst | 217 + .../prev_api_changes/api_changes_1.4.x.rst | 208 + .../prev_api_changes/api_changes_1.5.0.rst | 406 ++ .../prev_api_changes/api_changes_1.5.2.rst | 17 + .../prev_api_changes/api_changes_1.5.3.rst | 26 + .../prev_api_changes/api_changes_2.0.0.rst | 204 + .../prev_api_changes/api_changes_2.0.1.rst | 63 + .../prev_api_changes/api_changes_2.1.0.rst | 445 ++ .../prev_api_changes/api_changes_2.1.1.rst | 13 + .../prev_api_changes/api_changes_2.1.2.rst | 23 + .../prev_api_changes/api_changes_2.2.0.rst | 289 ++ 46 files changed, 3779 insertions(+), 3795 deletions(-) create mode 100644 doc/api/api_changes_old.rst create mode 100644 doc/api/prev_api_changes/api_changes_0.40.rst create mode 100644 doc/api/prev_api_changes/api_changes_0.42.rst create mode 100644 doc/api/prev_api_changes/api_changes_0.50.rst create mode 100644 doc/api/prev_api_changes/api_changes_0.54.3.rst create mode 100644 doc/api/prev_api_changes/api_changes_0.54.rst create mode 100644 doc/api/prev_api_changes/api_changes_0.60.rst create mode 100644 doc/api/prev_api_changes/api_changes_0.61.rst create mode 100644 doc/api/prev_api_changes/api_changes_0.63.rst create mode 100644 doc/api/prev_api_changes/api_changes_0.65.1.rst create mode 100644 doc/api/prev_api_changes/api_changes_0.65.rst create mode 100644 doc/api/prev_api_changes/api_changes_0.70.rst create mode 100644 doc/api/prev_api_changes/api_changes_0.71.rst create mode 100644 doc/api/prev_api_changes/api_changes_0.72.rst create mode 100644 doc/api/prev_api_changes/api_changes_0.73.rst create mode 100644 doc/api/prev_api_changes/api_changes_0.80.rst create mode 100644 doc/api/prev_api_changes/api_changes_0.81.rst create mode 100644 doc/api/prev_api_changes/api_changes_0.82.rst create mode 100644 doc/api/prev_api_changes/api_changes_0.83.rst create mode 100644 doc/api/prev_api_changes/api_changes_0.84.rst create mode 100644 doc/api/prev_api_changes/api_changes_0.85.rst create mode 100644 doc/api/prev_api_changes/api_changes_0.86.rst create mode 100644 doc/api/prev_api_changes/api_changes_0.87.7.rst create mode 100644 doc/api/prev_api_changes/api_changes_0.90.0.rst create mode 100644 doc/api/prev_api_changes/api_changes_0.90.1.rst create mode 100644 doc/api/prev_api_changes/api_changes_0.91.0.rst create mode 100644 doc/api/prev_api_changes/api_changes_0.91.2.rst create mode 100644 doc/api/prev_api_changes/api_changes_0.98.0.rst create mode 100644 doc/api/prev_api_changes/api_changes_0.98.1.rst create mode 100644 doc/api/prev_api_changes/api_changes_0.98.x.rst create mode 100644 doc/api/prev_api_changes/api_changes_0.99.rst create mode 100644 doc/api/prev_api_changes/api_changes_0.99.x.rst create mode 100644 doc/api/prev_api_changes/api_changes_1.1.x.rst create mode 100644 doc/api/prev_api_changes/api_changes_1.2.x.rst create mode 100644 doc/api/prev_api_changes/api_changes_1.3.x.rst create mode 100644 doc/api/prev_api_changes/api_changes_1.4.x.rst create mode 100644 doc/api/prev_api_changes/api_changes_1.5.0.rst create mode 100644 doc/api/prev_api_changes/api_changes_1.5.2.rst create mode 100644 doc/api/prev_api_changes/api_changes_1.5.3.rst create mode 100644 doc/api/prev_api_changes/api_changes_2.0.0.rst create mode 100644 doc/api/prev_api_changes/api_changes_2.0.1.rst create mode 100644 doc/api/prev_api_changes/api_changes_2.1.0.rst create mode 100644 doc/api/prev_api_changes/api_changes_2.1.1.rst create mode 100644 doc/api/prev_api_changes/api_changes_2.1.2.rst create mode 100644 doc/api/prev_api_changes/api_changes_2.2.0.rst diff --git a/doc/api/api_changes.rst b/doc/api/api_changes.rst index 444dcb1c9bbb..dc54f47a2c1d 100644 --- a/doc/api/api_changes.rst +++ b/doc/api/api_changes.rst @@ -3,12 +3,19 @@ API Changes ============= -Log of changes to Matplotlib that affect the outward-facing API. If -updating Matplotlib breaks your scripts, this list may help you figure -out what caused the breakage and how to fix it by updating your code. +A log of changes to the most recent version Matplotlib that affect the +utward-facing API. If updating Matplotlib breaks your scripts, this list may +help you figure out what caused the breakage and how to fix it by updating +your code. For API changes in older versions see :doc:`api_changes_old`. -For new features that were added to Matplotlib, please see -:ref:`whats-new`. +For new features that were added to Matplotlib, see :ref:`whats-new`. + +This pages lists API changes for the most recent version of Matplotlib. + +.. toctree:: + :maxdepth: 1 + + api_changes_old .. for a release comment out the toctree below @@ -19,8 +26,8 @@ For new features that were added to Matplotlib, please see next_api_changes/* -API Changes for 3.0 -=================== +API Changes for 3.0.0 +===================== Drop support for python 2 ------------------------- @@ -460,3791 +467,3 @@ scaled log(number of counts). API Changes in 2.2.0 ==================== - - - -New dependency --------------- - -`kiwisolver <https://github.com/nucleic/kiwi>`__ is now a required -dependency to support the new constrained_layout, see -:doc:`/tutorials/intermediate/constrainedlayout_guide` for -more details. - - -Deprecations ------------- - -Classes, functions, and methods -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The unused and untested ``Artist.onRemove`` and ``Artist.hitlist`` methods have -been deprecated. - -The now unused ``mlab.less_simple_linear_interpolation`` function is -deprecated. - -The unused ``ContourLabeler.get_real_label_width`` method is deprecated. - -The unused ``FigureManagerBase.show_popup`` method is deprecated. This -introduced in e945059b327d42a99938b939a1be867fa023e7ba in 2005 but never built -out into any of the backends. - -:class:`backend_tkagg.AxisMenu` is deprecated, as it has become -unused since the removal of "classic" toolbars. - - -Changed function signatures -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -kwarg ``fig`` to `.GridSpec.get_subplot_params` is -deprecated, use ``figure`` instead. - -Using `.pyplot.axes` with an `~matplotlib.axes.Axes` as argument is deprecated. This sets -the current axes, i.e. it has the same effect as `.pyplot.sca`. For clarity -``plt.sca(ax)`` should be preferred over ``plt.axes(ax)``. - - -Using strings instead of booleans to control grid and tick visibility -is deprecated. Using ``"on"``, ``"off"``, ``"true"``, or ``"false"`` -to control grid and tick visibility has been deprecated. Instead, use -normal booleans (``True``/``False``) or boolean-likes. In the future, -all non-empty strings may be interpreted as ``True``. - -When given 2D inputs with non-matching numbers of columns, `~.pyplot.plot` -currently cycles through the columns of the narrower input, until all the -columns of the wider input have been plotted. This behavior is deprecated; in -the future, only broadcasting (1 column to *n* columns) will be performed. - - -rcparams -~~~~~~~~ - -The :rc:`backend.qt4` and :rc:`backend.qt5` rcParams were deprecated -in version 2.2. In order to force the use of a specific Qt binding, -either import that binding first, or set the ``QT_API`` environment -variable. - -Deprecation of the ``nbagg.transparent`` rcParam. To control -transparency of figure patches in the nbagg (or any other) backend, -directly set ``figure.patch.facecolor``, or the ``figure.facecolor`` -rcParam. - -Deprecated `Axis.unit_data` -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Use `Axis.units` (which has long existed) instead. - - -Removals --------- - -Function Signatures -~~~~~~~~~~~~~~~~~~~ - -Contouring no longer supports ``legacy`` corner masking. The -deprecated ``ContourSet.vmin`` and ``ContourSet.vmax`` properties have -been removed. - -Passing ``None`` instead of ``"none"`` as format to `~.Axes.errorbar` is no -longer supported. - -The ``bgcolor`` keyword argument to ``Axes`` has been removed. - -Modules, methods, and functions -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The ``matplotlib.finance``, ``mpl_toolkits.exceltools`` and -``mpl_toolkits.gtktools`` modules have been removed. ``matplotlib.finance`` -remains available at https://github.com/matplotlib/mpl_finance. - -The ``mpl_toolkits.mplot3d.art3d.iscolor`` function has been removed. - -The ``Axes.get_axis_bgcolor``, ``Axes.set_axis_bgcolor``, -``Bbox.update_from_data``, ``Bbox.update_datalim_numerix``, -``MaxNLocator.bin_boundaries`` methods have been removed. - -``mencoder`` can no longer be used to encode animations. - -The unused `FONT_SCALE` and `fontd` attributes of the `RendererSVG` -class have been removed. - -color maps -~~~~~~~~~~ - -The ``spectral`` colormap has been removed. The ``Vega*`` colormaps, which -were aliases for the ``tab*`` colormaps, have been removed. - - -rcparams -~~~~~~~~ - -The following deprecated rcParams have been removed: - -- ``axes.color_cycle`` (see ``axes.prop_cycle``), -- ``legend.isaxes``, -- ``svg.embed_char_paths`` (see ``svg.fonttype``), -- ``text.fontstyle``, ``text.fontangle``, ``text.fontvariant``, - ``text.fontweight``, ``text.fontsize`` (renamed to ``text.style``, etc.), -- ``tick.size`` (renamed to ``tick.major.size``). - - - -Only accept string-like for Categorical input ---------------------------------------------- - -Do not accept mixed string / float / int input, only -strings are valid categoricals. - -Removal of unused imports -------------------------- -Many unused imports were removed from the codebase. As a result, -trying to import certain classes or functions from the "wrong" module -(e.g. `~.Figure` from :mod:`matplotlib.backends.backend_agg` instead of -:mod:`matplotlib.figure`) will now raise an `ImportError`. - - -``Axes3D.get_xlim``, ``get_ylim`` and ``get_zlim`` now return a tuple ---------------------------------------------------------------------- - -They previously returned an array. Returning a tuple is consistent with the -behavior for 2D axes. - - -Exception type changes ----------------------- - -If `MovieWriterRegistry` can't find the requested `MovieWriter`, a -more helpful `RuntimeError` message is now raised instead of the -previously raised `KeyError`. - -`~.tight_layout.auto_adjust_subplotpars` now raises `ValueError` -instead of `RuntimeError` when sizes of input lists don't match - - -`Figure.set_figwidth` and `Figure.set_figheight` default forward to True ------------------------------------------------------------------------- - -`matplotlib.Figure.set_figwidth` and `matplotlib.Figure.set_figheight` -had the kwarg `forward=False` -by default, but `Figure.set_size_inches` now defaults to `forward=True`. -This makes these functions conistent. - - -Do not truncate svg sizes to nearest point ------------------------------------------- - -There is no reason to size the SVG out put in integer points, change -to out putting floats for the *height*, *width*, and *viewBox* attributes -of the *svg* element. - - -Fontsizes less than 1 pt are clipped to be 1 pt. ------------------------------------------------- - -FreeType doesn't allow fonts to get smaller than 1 pt, so all Agg -backends were silently rounding up to 1 pt. PDF (other vector -backends?) were letting us write fonts that were less than 1 pt, but -they could not be placed properly because position information comes from -FreeType. This change makes it so no backends can use fonts smaller than -1 pt, consistent with FreeType and ensuring more consistent results across -backends. - - - -Changes to Qt backend class MRO -------------------------------- - -To support both Agg and cairo rendering for Qt backends all of the -non-Agg specific code previously in -:class:`.backend_qt5agg.FigureCanvasQTAggBase` has been moved to -:class:`.backend_qt5.FigureCanvasQT` so it can be shared with the cairo -implementation. The :meth:`.FigureCanvasQTAggBase.paintEvent`, -:meth:`.FigureCanvasQTAggBase.blit`, and -:meth:`.FigureCanvasQTAggBase.print_figure` methods have moved to -:meth:`.FigureCanvasQTAgg.paintEvent`, :meth:`.FigureCanvasQTAgg.blit`, and -:meth:`.FigureCanvasQTAgg.print_figure`. The first two methods assume that -the instance is also a :class:`QWidget` so to use -:class:`FigureCanvasQTAggBase` it was required to multiple inherit -from a :class:`QWidget` sub-class. - -Having moved all of its methods either up or down the class hierarchy -:class:`FigureCanvasQTAggBase` has been deprecated. To do this with -out warning and to preserve as much API as possible, -:class:`.backend_qt5.FigureCanvasQTAggBase` now inherits from -:class:`.backend_qt5.FigureCanvasQTAgg`. - -The MRO for :class:`FigureCanvasQTAgg` and -:class:`FigureCanvasQTAggBase` used to be :: - - - [matplotlib.backends.backend_qt5agg.FigureCanvasQTAgg, - matplotlib.backends.backend_qt5agg.FigureCanvasQTAggBase, - matplotlib.backends.backend_agg.FigureCanvasAgg, - matplotlib.backends.backend_qt5.FigureCanvasQT, - PyQt5.QtWidgets.QWidget, - PyQt5.QtCore.QObject, - sip.wrapper, - PyQt5.QtGui.QPaintDevice, - sip.simplewrapper, - matplotlib.backend_bases.FigureCanvasBase, - object] - -and :: - - - [matplotlib.backends.backend_qt5agg.FigureCanvasQTAggBase, - matplotlib.backends.backend_agg.FigureCanvasAgg, - matplotlib.backend_bases.FigureCanvasBase, - object] - - -respectively. They are now :: - - [matplotlib.backends.backend_qt5agg.FigureCanvasQTAgg, - matplotlib.backends.backend_agg.FigureCanvasAgg, - matplotlib.backends.backend_qt5.FigureCanvasQT, - PyQt5.QtWidgets.QWidget, - PyQt5.QtCore.QObject, - sip.wrapper, - PyQt5.QtGui.QPaintDevice, - sip.simplewrapper, - matplotlib.backend_bases.FigureCanvasBase, - object] - -and :: - - [matplotlib.backends.backend_qt5agg.FigureCanvasQTAggBase, - matplotlib.backends.backend_qt5agg.FigureCanvasQTAgg, - matplotlib.backends.backend_agg.FigureCanvasAgg, - matplotlib.backends.backend_qt5.FigureCanvasQT, - PyQt5.QtWidgets.QWidget, - PyQt5.QtCore.QObject, - sip.wrapper, - PyQt5.QtGui.QPaintDevice, - sip.simplewrapper, - matplotlib.backend_bases.FigureCanvasBase, - object] - - - - -`Axes.imshow` clips RGB values to the valid range -------------------------------------------------- - -When `Axes.imshow` is passed an RGB or RGBA value with out-of-range -values, it now logs a warning and clips them to the valid range. -The old behaviour, wrapping back in to the range, often hid outliers -and made interpreting RGB images unreliable. - - -GTKAgg and GTKCairo backends deprecated ---------------------------------------- - -The GTKAgg and GTKCairo backends have been deprecated. These obsolete backends -allow figures to be rendered via the GTK+ 2 toolkit. They are untested, known -to be broken, will not work with Python 3, and their use has been discouraged -for some time. Instead, use the `GTK3Agg` and `GTK3Cairo` backends for -rendering to GTK+ 3 windows. - - - -API Changes in 2.1.2 -==================== - -`Figure.legend` no longer checks for repeated lines to ignore -------------------------------------------------------------- - -`matplotlib.Figure.legend` used to check if a line had the -same label as an existing legend entry. If it also had the same line color -or marker color legend didn't add a new entry for that line. However, the -list of conditions was incomplete, didn't handle RGB tuples, -didn't handle linewidths or linestyles etc. - -This logic did not exist in `Axes.legend`. It was included (erroneously) -in Matplotlib 2.1.1 when the legend argument parsing was unified -[#9324](https://github.com/matplotlib/matplotlib/pull/9324). This change -removes that check in `Axes.legend` again to restore the old behavior. - -This logic has also been dropped from `.Figure.legend`, where it -was previously undocumented. Repeated -lines with the same label will now each have an entry in the legend. If -you do not want the duplicate entries, don't add a label to the line, or -prepend the label with an underscore. - -API Changes in 2.1.1 -==================== - -Default behavior of log scales reverted to clip <= 0 values ------------------------------------------------------------ - -The change it 2.1.0 to mask in logscale by default had more disruptive -changes than anticipated and has been reverted, however the clipping is now -done in a way that fixes the issues that motivated changing the default behavior -to ``'mask'``. - -As a side effect of this change, error bars which go negative now work as expected -on log scales. - -API Changes in 2.1.0 -==================== - - -Default behavior of log scales changed to mask <= 0 values ----------------------------------------------------------- - -Calling `matplotlib.axes.Axes.set_xscale` or `matplotlib.axes.Axes.set_yscale` -now uses 'mask' as the default method to handle invalid values (as opposed to -'clip'). This means that any values <= 0 on a log scale will not be shown. - -Previously they were clipped to a very small number and shown. - - -:meth:`matplotlib.cbook.CallbackRegistry.process` suppresses exceptions by default ----------------------------------------------------------------------------------- - -Matplotlib uses instances of :obj:`~matplotlib.cbook.CallbackRegistry` -as a bridge between user input event from the GUI and user callbacks. -Previously, any exceptions raised in a user call back would bubble out -of of the ``process`` method, which is typically in the GUI event -loop. Most GUI frameworks simple print the traceback to the screen -and continue as there is not always a clear method of getting the -exception back to the user. However PyQt5 now exits the process when -it receives an un-handled python exception in the event loop. Thus, -:meth:`~matplotlib.cbook.CallbackRegistry.process` now suppresses and -prints tracebacks to stderr by default. - -What :meth:`~matplotlib.cbook.CallbackRegistry.process` does with exceptions -is now user configurable via the ``exception_handler`` attribute and kwarg. To -restore the previous behavior pass ``None`` :: - - cb = CallbackRegistry(exception_handler=None) - - -A function which take and ``Exception`` as its only argument may also be passed :: - - def maybe_reraise(exc): - if isinstance(exc, RuntimeError): - pass - else: - raise exc - - cb = CallbackRegistry(exception_handler=maybe_reraise) - - - -Improved toggling of the axes grids ------------------------------------ - -The `g` key binding now switches the states of the `x` and `y` grids -independently (by cycling through all four on/off combinations). - -The new `G` key binding switches the states of the minor grids. - -Both bindings are disabled if only a subset of the grid lines (in either -direction) is visible, to avoid making irreversible changes to the figure. - - -Ticklabels are turned off instead of being invisible ----------------------------------------------------- - -Internally, the `Tick`'s :func:`~matplotlib.axis.Tick.label1On` attribute -is now used to hide tick labels instead of setting the visibility on the tick -label objects. -This improves overall performance and fixes some issues. -As a consequence, in case those labels ought to be shown, -:func:`~matplotlib.axes.Axes.tick_params` -needs to be used, e.g. - -:: - - ax.tick_params(labelbottom=True) - - -Removal of warning on empty legends ------------------------------------ - -``plt.legend`` used to issue a warning when no labeled artist could be -found. This warning has been removed. - - -More accurate legend autopositioning ------------------------------------- - -Automatic positioning of legends now prefers using the area surrounded -by a `Line2D` rather than placing the legend over the line itself. - - -Cleanup of stock sample data ----------------------------- - -The sample data of stocks has been cleaned up to remove redundancies and -increase portability. The ``AAPL.dat.gz``, ``INTC.dat.gz`` and ``aapl.csv`` -files have been removed entirely and will also no longer be available from -`matplotlib.cbook.get_sample_data`. If a CSV file is required, we suggest using -the ``msft.csv`` that continues to be shipped in the sample data. If a NumPy -binary file is acceptable, we suggest using one of the following two new files. -The ``aapl.npy.gz`` and ``goog.npy`` files have been replaced by ``aapl.npz`` -and ``goog.npz``, wherein the first column's type has changed from -`datetime.date` to `np.datetime64` for better portability across Python -versions. Note that Matplotlib does not fully support `np.datetime64` as yet. - - -Updated qhull to 2015.2 ------------------------ - -The version of qhull shipped with Matplotlib, which is used for -Delaunay triangulation, has been updated from version 2012.1 to -2015.2. - -Improved Delaunay triangulations with large offsets ---------------------------------------------------- - -Delaunay triangulations now deal with large x,y offsets in a better -way. This can cause minor changes to any triangulations calculated -using Matplotlib, i.e. any use of `matplotlib.tri.Triangulation` that -requests that a Delaunay triangulation is calculated, which includes -`matplotlib.pyplot.tricontour`, `matplotlib.pyplot.tricontourf`, -`matplotlib.pyplot.tripcolor`, `matplotlib.pyplot.triplot`, -`matplotlib.mlab.griddata` and -`mpl_toolkits.mplot3d.axes3d.Axes3D.plot_trisurf`. - - - -Use ``backports.functools_lru_cache`` instead of ``functools32`` ----------------------------------------------------------------- - -It's better maintained and more widely used (by pylint, jaraco, etc). - - - -``cbook.is_numlike`` only performs an instance check ----------------------------------------------------- - -:func:`~matplotlib.cbook.is_numlike` now only checks that its argument -is an instance of ``(numbers.Number, np.Number)``. In particular, -this means that arrays are now not num-like. - - - -Elliptical arcs now drawn between correct angles ------------------------------------------------- - -The `matplotlib.patches.Arc` patch is now correctly drawn between the given -angles. - -Previously a circular arc was drawn and then stretched into an ellipse, -so the resulting arc did not lie between *theta1* and *theta2*. - - - -``-d$backend`` no longer sets the backend ------------------------------------------ - -It is no longer possible to set the backend by passing ``-d$backend`` -at the command line. Use the ``MPLBACKEND`` environment variable -instead. - - -Path.intersects_bbox always treats the bounding box as filled -------------------------------------------------------------- - -Previously, when ``Path.intersects_bbox`` was called with ``filled`` set to -``False``, it would treat both the path and the bounding box as unfilled. This -behavior was not well documented and it is usually not the desired behavior, -since bounding boxes are used to represent more complex shapes located inside -the bounding box. This behavior has now been changed: when ``filled`` is -``False``, the path will be treated as unfilled, but the bounding box is still -treated as filled. The old behavior was arguably an implementation bug. - -When ``Path.intersects_bbox`` is called with ``filled`` set to ``True`` -(the default value), there is no change in behavior. For those rare cases where -``Path.intersects_bbox`` was called with ``filled`` set to ``False`` and where -the old behavior is actually desired, the suggested workaround is to call -``Path.intersects_path`` with a rectangle as the path:: - - from matplotlib.path import Path - from matplotlib.transforms import Bbox, BboxTransformTo - rect = Path.unit_rectangle().transformed(BboxTransformTo(bbox)) - result = path.intersects_path(rect, filled=False) - - - - -WX no longer calls generates ``IdleEvent`` events or calls ``idle_event`` -------------------------------------------------------------------------- - -Removed unused private method ``_onIdle`` from ``FigureCanvasWx``. - -The ``IdleEvent`` class and ``FigureCanvasBase.idle_event`` method -will be removed in 2.2 - - - -Correct scaling of :func:`magnitude_spectrum()` ------------------------------------------------ - -The functions :func:`matplotlib.mlab.magnitude_spectrum()` and :func:`matplotlib.pyplot.magnitude_spectrum()` implicitly assumed the sum -of windowing function values to be one. In Matplotlib and Numpy the -standard windowing functions are scaled to have maximum value of one, -which usually results in a sum of the order of n/2 for a n-point -signal. Thus the amplitude scaling :func:`magnitude_spectrum()` was -off by that amount when using standard windowing functions (`Bug 8417 -<https://github.com/matplotlib/matplotlib/issues/8417>`_ ). Now the -behavior is consistent with :func:`matplotlib.pyplot.psd()` and -:func:`scipy.signal.welch()`. The following example demonstrates the -new and old scaling:: - - import matplotlib.pyplot as plt - import numpy as np - - tau, n = 10, 1024 # 10 second signal with 1024 points - T = tau/n # sampling interval - t = np.arange(n)*T - - a = 4 # amplitude - x = a*np.sin(40*np.pi*t) # 20 Hz sine with amplitude a - - # New correct behavior: Amplitude at 20 Hz is a/2 - plt.magnitude_spectrum(x, Fs=1/T, sides='onesided', scale='linear') - - # Original behavior: Amplitude at 20 Hz is (a/2)*(n/2) for a Hanning window - w = np.hanning(n) # default window is a Hanning window - plt.magnitude_spectrum(x*np.sum(w), Fs=1/T, sides='onesided', scale='linear') - - - - - -Change to signatures of :meth:`~matplotlib.axes.Axes.bar` & :meth:`~matplotlib.axes.Axes.barh` ----------------------------------------------------------------------------------------------- - -For 2.0 the :ref:`default value of *align* <barbarh_align>` changed to -``'center'``. However this caused the signature of -:meth:`~matplotlib.axes.Axes.bar` and -:meth:`~matplotlib.axes.Axes.barh` to be misleading as the first parameters were -still *left* and *bottom* respectively:: - - bar(left, height, *, align='center', **kwargs) - barh(bottom, width, *, align='center', **kwargs) - -despite behaving as the center in both cases. The methods now take -``*args, **kwargs`` as input and are documented to have the primary -signatures of:: - - bar(x, height, *, align='center', **kwargs) - barh(y, width, *, align='center', **kwargs) - -Passing *left* and *bottom* as keyword arguments to -:meth:`~matplotlib.axes.Axes.bar` and -:meth:`~matplotlib.axes.Axes.barh` respectively will warn. -Support will be removed in Matplotlib 3.0. - - -Font cache as json ------------------- - -The font cache is now saved as json, rather than a pickle. - - -Invalid (Non-finite) Axis Limit Error -------------------------------------- - -When using :func:`~matplotlib.axes.Axes.set_xlim` and -:func:`~matplotlib.axes.Axes.set_ylim`, passing non-finite values now -results in a ``ValueError``. The previous behavior resulted in the -limits being erroneously reset to ``(-0.001, 0.001)``. - -``scatter`` and ``Collection`` offsets are no longer implicitly flattened -------------------------------------------------------------------------- - -`~matplotlib.collections.Collection` (and thus both 2D -`~matplotlib.axes.Axes.scatter` and 3D -`~mpl_toolkits.mplot3d.axes3d.Axes3D.scatter`) no -longer implicitly flattens its offsets. As a consequence, ``scatter``'s ``x`` -and ``y`` arguments can no longer be 2+-dimensional arrays. - -Deprecations ------------- - -``GraphicsContextBase``\'s ``linestyle`` property. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The ``GraphicsContextBase.get_linestyle`` and -``GraphicsContextBase.set_linestyle`` methods, which had no effect, -have been deprecated. All of the backends Matplotlib ships use -``GraphicsContextBase.get_dashes`` and -``GraphicsContextBase.set_dashes`` which are more general. -Third-party backends should also migrate to the ``*_dashes`` methods. - - -``NavigationToolbar2.dynamic_update`` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Use :meth:`draw_idle` method on the ``Canvas`` instance instead. - - -Testing -~~~~~~~ - -`matplotlib.testing.noseclasses` is deprecated and will be removed in 2.3 - - -``EngFormatter`` *num* arg as string -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Passing a string as *num* argument when calling an instance of -`matplotlib.ticker.EngFormatter` is deprecated and will be removed in 2.3. - - -``mpl_toolkits.axes_grid`` module -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -All functionally from `mpl_toolkits.axes_grid` can be found in either -`mpl_toolkits.axes_grid1` or `mpl_toolkits.axisartist`. Axes classes -from `mpl_toolkits.axes_grid` based on `Axis` from -`mpl_toolkits.axisartist` can be found in `mpl_toolkits.axisartist`. - - -``Axes`` collision in ``Figure.add_axes`` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Adding an axes instance to a figure by using the same arguments as for -a previous axes instance currently reuses the earlier instance. This -behavior has been deprecated in Matplotlib 2.1. In a future version, a -*new* instance will always be created and returned. Meanwhile, in such -a situation, a deprecation warning is raised by -:class:`~matplotlib.figure.AxesStack`. - -This warning can be suppressed, and the future behavior ensured, by passing -a *unique* label to each axes instance. See the docstring of -:meth:`~matplotlib.figure.Figure.add_axes` for more information. - -Additional details on the rationale behind this deprecation can be found -in :ghissue:`7377` and :ghissue:`9024`. - - -Former validators for ``contour.negative_linestyle`` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -The former public validation functions ``validate_negative_linestyle`` -and ``validate_negative_linestyle_legacy`` will be deprecated in 2.1 and -may be removed in 2.3. There are no public functions to replace them. - - - -``cbook`` -~~~~~~~~~ - -Many unused or near-unused :mod:`matplotlib.cbook` functions and -classes have been deprecated: ``converter``, ``tostr``, -``todatetime``, ``todate``, ``tofloat``, ``toint``, ``unique``, -``is_string_like``, ``is_sequence_of_strings``, ``is_scalar``, -``Sorter``, ``Xlator``, ``soundex``, ``Null``, ``dict_delall``, -``RingBuffer``, ``get_split_ind``, ``wrap``, -``get_recursive_filelist``, ``pieces``, ``exception_to_str``, -``allequal``, ``alltrue``, ``onetrue``, ``allpairs``, ``finddir``, -``reverse_dict``, ``restrict_dict``, ``issubclass_safe``, -``recursive_remove``, ``unmasked_index_ranges``. - - -Code Removal ------------- - -qt4_compat.py -~~~~~~~~~~~~~ - -Moved to ``qt_compat.py``. Renamed because it now handles Qt5 as well. - - -Previously Deprecated methods -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The ``GraphicsContextBase.set_graylevel``, ``FigureCanvasBase.onHilite`` and -``mpl_toolkits.axes_grid1.mpl_axes.Axes.toggle_axisline`` methods have been -removed. - -The ``ArtistInspector.findobj`` method, which was never working due to the lack -of a ``get_children`` method, has been removed. - -The deprecated ``point_in_path``, ``get_path_extents``, -``point_in_path_collection``, ``path_intersects_path``, -``convert_path_to_polygons``, ``cleanup_path`` and ``clip_path_to_rect`` -functions in the ``matplotlib.path`` module have been removed. Their -functionality remains exposed as methods on the ``Path`` class. - -The deprecated ``Artist.get_axes`` and ``Artist.set_axes`` methods -have been removed - - -The ``matplotlib.backends.backend_ps.seq_allequal`` function has been removed. -Use ``np.array_equal`` instead. - -The deprecated ``matplotlib.rcsetup.validate_maskedarray``, -``matplotlib.rcsetup.deprecate_savefig_extension`` and -``matplotlib.rcsetup.validate_tkpythoninspect`` functions, and associated -``savefig.extension`` and ``tk.pythoninspect`` rcparams entries have been -removed. - - -The kwarg ``resolution`` of -:class:`matplotlib.projections.polar.PolarAxes` has been removed. It -has deprecation with no effect from version `0.98.x`. - - -``Axes.set_aspect("normal")`` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Support for setting an ``Axes``\'s aspect to ``"normal"`` has been -removed, in favor of the synonym ``"auto"``. - - -``shading`` kwarg to ``pcolor`` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The ``shading`` kwarg to `~matplotlib.axes.Axes.pcolor` has been -removed. Set ``edgecolors`` appropriately instead. - - -Functions removed from the `lines` module -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The :mod:`matplotlib.lines` module no longer imports the -``pts_to_prestep``, ``pts_to_midstep`` and ``pts_to_poststep`` -functions from :mod:`matplotlib.cbook`. - - -PDF backend functions -~~~~~~~~~~~~~~~~~~~~~ - -The methods ``embedTeXFont`` and ``tex_font_mapping`` of -:class:`matplotlib.backqend_pdf.PdfFile` have been removed. It is -unlikely that external users would have called these methods, which -are related to the font system internal to the PDF backend. - - -matplotlib.delaunay -~~~~~~~~~~~~~~~~~~~ - -Remove the delaunay triangulation code which is now handled by Qhull -via :mod:`matplotlib.tri`. - -API Changes in 2.0.1 -==================== - -Extensions to `matplotlib.backend_bases.GraphicsContextBase` ------------------------------------------------------------- - -To better support controlling the color of hatches, the method -`matplotlib.backend_bases.GraphicsContextBase.set_hatch_color` was -added to the expected API of ``GraphicsContext`` classes. Calls to -this method are currently wrapped with a ``try:...except Attribute:`` -block to preserve back-compatibility with any third-party backends -which do not extend `~matplotlib.backend_bases.GraphicsContextBase`. - -This value can be accessed in the backends via -`matplotlib.backend_bases.GraphicsContextBase.get_hatch_color` (which -was added in 2.0 see :ref:`gc_get_hatch_color_wn`) and should be used -to color the hatches. - -In the future there may also be ``hatch_linewidth`` and -``hatch_density`` related methods added. It is encouraged, but not -required that third-party backends extend -`~matplotlib.backend_bases.GraphicsContextBase` to make adapting to -these changes easier. - - -`afm.get_fontconfig_fonts` returns a list of paths and does not check for existence ------------------------------------------------------------------------------------ - -`afm.get_fontconfig_fonts` used to return a set of paths encoded as a -``{key: 1, ...}`` dict, and checked for the existence of the paths. It now -returns a list and dropped the existence check, as the same check is performed -by the caller (`afm.findSystemFonts`) as well. - - -`bar` now returns rectangles of negative height or width if the corresponding input is negative ------------------------------------------------------------------------------------------------ - -`plt.bar` used to normalize the coordinates of the rectangles that it created, -to keep their height and width positives, even if the corresponding input was -negative. This normalization has been removed to permit a simpler computation -of the correct `sticky_edges` to use. - - -Do not clip line width when scaling dashes ------------------------------------------- - -The algorithm to scale dashes was changed to no longer clip the -scaling factor: the dash patterns now continue to shrink at thin line widths. -If the line width is smaller than the effective pixel size, this may result in -dashed lines turning into solid gray-ish lines. This also required slightly -tweaking the default patterns for '--', ':', and '.-' so that with the default -line width the final patterns would not change. - -There is no way to restore the old behavior. - - -Deprecate 'Vega' color maps ---------------------------- - -The "Vega" colormaps are deprecated in Matplotlib 2.0.1 and will be -removed in Matplotlib 2.2. Use the "tab" colormaps instead: "tab10", -"tab20", "tab20b", "tab20c". - - -API Changes in 2.0.0 -==================== - -Deprecation and removal ------------------------ - -Color of Axes -~~~~~~~~~~~~~ -The ``axisbg`` and ``axis_bgcolor`` properties on *Axes* have been -deprecated in favor of ``facecolor``. - -GTK and GDK backends deprecated -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The GDK and GTK backends have been deprecated. These obsolete backends -allow figures to be rendered via the GDK API to files and GTK2 figures. -They are untested and known to be broken, and their use has been -discouraged for some time. Instead, use the `GTKAgg` and `GTKCairo` -backends for rendering to GTK2 windows. - -WX backend deprecated -~~~~~~~~~~~~~~~~~~~~~ -The WX backend has been deprecated. It is untested, and its -use has been discouraged for some time. Instead, use the `WXAgg` -backend for rendering figures to WX windows. - -CocoaAgg backend removed -~~~~~~~~~~~~~~~~~~~~~~~~ -The deprecated and not fully functional CocoaAgg backend has been removed. - -`round` removed from TkAgg Backend -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The TkAgg backend had its own implementation of the `round` function. This -was unused internally and has been removed. Instead, use either the -`round` builtin function or `numpy.round`. - -'hold' functionality deprecated -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The 'hold' keyword argument and all functions and methods related -to it are deprecated, along with the 'axes.hold' `rcParams` entry. -The behavior will remain consistent with the default ``hold=True`` -state that has long been in place. Instead of using a function -or keyword argument (``hold=False``) to change that behavior, -explicitly clear the axes or figure as needed prior to subsequent -plotting commands. - - -`Artist.update` has return value --------------------------------- - -The methods `matplotlib.artist.Artist.set`, -`matplotlib.Artist.update`, and the function `matplotlib.artist.setp` -now use a common codepath to look up how to update the given artist -properties (either using the setter methods or an attribute/property). - -The behavior of `matplotlib.Artist.update` is slightly changed to -return a list of the values returned from the setter methods to avoid -changing the API of `matplotlib.Artist.set` and -`matplotlib.artist.setp`. - -The keys passed into `matplotlib.Artist.update` are now converted to -lower case before being processed, to match the behavior of -`matplotlib.Artist.set` and `matplotlib.artist.setp`. This should not -break any user code because there are no set methods with capitals in -their names, but this puts a constraint on naming properties in the future. - - -`Legend` initializers gain edgecolor and facecolor kwargs ---------------------------------------------------------- - -The :class:`~matplotlib.legend.Legend` background patch (or 'frame') -can have its ``edgecolor`` and ``facecolor`` determined by the -corresponding keyword arguments to the :class:`matplotlib.legend.Legend` -initializer, or to any of the methods or functions that call that -initializer. If left to their default values of `None`, their values -will be taken from ``matplotlib.rcParams``. The previously-existing -``framealpha`` kwarg still controls the alpha transparency of the -patch. - - -Qualitative colormaps ---------------------- - -Colorbrewer's qualitative/discrete colormaps ("Accent", "Dark2", "Paired", -"Pastel1", "Pastel2", "Set1", "Set2", "Set3") are now implemented as -``ListedColormap`` instead of ``LinearSegmentedColormap``. - -To use these for images where categories are specified as integers, for -instance, use:: - - plt.imshow(x, cmap='Dark2', norm=colors.NoNorm()) - - -Change in the ``draw_image`` backend API ----------------------------------------- - -The ``draw_image`` method implemented by backends has changed its interface. - -This change is only relevant if the backend declares that it is able -to transform images by returning ``True`` from ``option_scale_image``. -See the ``draw_image`` docstring for more information. - - - -`matplotlib.ticker.LinearLocator` algorithm update --------------------------------------------------- - -The ``matplotlib.ticker.LinearLocator`` is used to define the range and -location of axis ticks when the user wants an exact number of ticks. -``LinearLocator`` thus differs from the default locator ``MaxNLocator``, -for which the user specifies a maximum number of intervals rather than -a precise number of ticks. - -The view range algorithm in ``matplotlib.ticker.LinearLocator`` has been -changed so that more convenient tick locations are chosen. The new algorithm -returns a plot view range that is a multiple of the user-requested number of -ticks. This ensures tick marks will be located at whole integers more -consistently. For example, when both y-axes of a``twinx`` plot use -``matplotlib.ticker.LinearLocator`` with the same number of ticks, -their y-tick locations and grid lines will coincide. - -`matplotlib.ticker.LogLocator` gains numticks kwarg ---------------------------------------------------- - -The maximum number of ticks generated by the -`~matplotlib.ticker.LogLocator` can now be controlled explicitly -via setting the new 'numticks' kwarg to an integer. By default -the kwarg is None which internally sets it to the 'auto' string, -triggering a new algorithm for adjusting the maximum according -to the axis length relative to the ticklabel font size. - -`matplotlib.ticker.LogFormatter`: two new kwargs ------------------------------------------------- - -Previously, minor ticks on log-scaled axes were not labeled by -default. An algorithm has been added to the -`~matplotlib.ticker.LogFormatter` to control the labeling of -ticks between integer powers of the base. The algorithm uses -two parameters supplied in a kwarg tuple named 'minor_thresholds'. -See the docstring for further explanation. - -To improve support for axes using `~matplotlib.ticker.SymmetricLogLocator`, -a 'linthresh' kwarg was added. - - -New defaults for 3D quiver function in mpl_toolkits.mplot3d.axes3d.py ---------------------------------------------------------------------- - -Matplotlib has both a 2D and a 3D ``quiver`` function. These changes -affect only the 3D function and make the default behavior of the 3D -function match the 2D version. There are two changes: - -1) The 3D quiver function previously normalized the arrows to be the - same length, which makes it unusable for situations where the - arrows should be different lengths and does not match the behavior - of the 2D function. This normalization behavior is now controlled - with the ``normalize`` keyword, which defaults to False. - -2) The ``pivot`` keyword now defaults to ``tail`` instead of - ``tip``. This was done in order to match the default behavior of - the 2D quiver function. - -To obtain the previous behavior with the 3D quiver function, one can -call the function with :: - - ax.quiver(x, y, z, u, v, w, normalize=True, pivot='tip') - -where "ax" is an ``Axes3d`` object created with something like :: - - import mpl_toolkits.mplot3d.axes3d - ax = plt.sublot(111, projection='3d') - - -Stale figure behavior ---------------------- - -Attempting to draw the figure will now mark it as not stale (independent if -the draw succeeds). This change is to prevent repeatedly trying to re-draw a -figure which is raising an error on draw. The previous behavior would only mark -a figure as not stale after a full re-draw succeeded. - - -The spectral colormap is now nipy_spectral ------------------------------------------- - -The colormaps formerly known as ``spectral`` and ``spectral_r`` have been -replaced by ``nipy_spectral`` and ``nipy_spectral_r`` since Matplotlib -1.3.0. Even though the colormap was deprecated in Matplotlib 1.3.0, it never -raised a warning. As of Matplotlib 2.0.0, using the old names raises a -deprecation warning. In the future, using the old names will raise an error. - -Default install no longer includes test images ----------------------------------------------- - -To reduce the size of wheels and source installs, the tests and -baseline images are no longer included by default. - -To restore installing the tests and images, use a `setup.cfg` with :: - - [packages] - tests = True - toolkits_tests = True - -in the source directory at build/install time. - -Changes in 1.5.3 -================ - -``ax.plot(..., marker=None)`` gives default marker --------------------------------------------------- - -Prior to 1.5.3 kwargs passed to `~matplotlib.Axes.plot` were handled -in two parts -- default kwargs generated internal to -`~matplotlib.Axes.plot` (such as the cycled styles) and user supplied -kwargs. The internally generated kwargs were passed to the -`matplotlib.lines.Line2D.__init__` and the user kwargs were passed to -``ln.set(**kwargs)`` to update the artist after it was created. Now -both sets of kwargs are merged and passed to -`~matplotlib.lines.Line2D.__init__`. This change was made to allow `None` -to be passed in via the user kwargs to mean 'do the default thing' as -is the convention through out mpl rather than raising an exception. - -Unlike most `~matplotlib.lines.Line2D` setter methods -`~matplotlib.lines.Line2D.set_marker` did accept `None` as a valid -input which was mapped to 'no marker'. Thus, by routing this -``marker=None`` through ``__init__`` rather than ``set(...)`` the meaning -of ``ax.plot(..., marker=None)`` changed from 'no markers' to 'default markers -from rcparams'. - -This is change is only evident if ``mpl.rcParams['lines.marker']`` has a value -other than ``'None'`` (which is string ``'None'`` which means 'no marker'). - - -Changes in 1.5.2 -================ - - -Default Behavior Changes ------------------------- - -Changed default ``autorange`` behavior in boxplots -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Prior to v1.5.2, the whiskers of boxplots would extend to the minimum -and maximum values if the quartiles were all equal (i.e., Q1 = median -= Q3). This behavior has been disabled by default to restore consistency -with other plotting packages. - -To restore the old behavior, simply set ``autorange=True`` when -calling ``plt.boxplot``. - - -Changes in 1.5.0 -================ - -Code Changes ------------- - -Reversed `matplotlib.cbook.ls_mapper`, added `ls_mapper_r` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Formerly, `matplotlib.cbook.ls_mapper` was a dictionary with -the long-form line-style names (`"solid"`) as keys and the short -forms (`"-"`) as values. This long-to-short mapping is now done -by `ls_mapper_r`, and the short-to-long mapping is done by the -`ls_mapper`. - -Prevent moving artists between Axes, Property-ify Artist.axes, deprecate Artist.{get,set}_axes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -This was done to prevent an Artist that is -already associated with an Axes from being moved/added to a different Axes. -This was never supported as it causes havoc with the transform stack. -The apparent support for this (as it did not raise an exception) was -the source of multiple bug reports and questions on SO. - -For almost all use-cases, the assignment of the axes to an artist should be -taken care of by the axes as part of the ``Axes.add_*`` method, hence the -deprecation of {get,set}_axes. - -Removing the ``set_axes`` method will also remove the 'axes' line from -the ACCEPTS kwarg tables (assuming that the removal date gets here -before that gets overhauled). - -Tightened input validation on 'pivot' kwarg to quiver -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Tightened validation so that only {'tip', 'tail', 'mid', and 'middle'} -(but any capitalization) are valid values for the 'pivot' kwarg in -the `Quiver.__init__` (and hence `Axes.quiver` and -`plt.quiver` which both fully delegate to `Quiver`). Previously any -input matching 'mid.*' would be interpreted as 'middle', 'tip.*' as -'tip' and any string not matching one of those patterns as 'tail'. - -The value of `Quiver.pivot` is normalized to be in the set {'tip', -'tail', 'middle'} in `Quiver.__init__`. - -Reordered `Axes.get_children` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The artist order returned by `Axes.get_children` did not -match the one used by `Axes.draw`. They now use the same -order, as `Axes.draw` now calls `Axes.get_children`. - -Changed behaviour of contour plots -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The default behaviour of :func:`~matplotlib.pyplot.contour` and -:func:`~matplotlib.pyplot.contourf` when using a masked array is now determined -by the new keyword argument `corner_mask`, or if this is not specified then -the new rcParam `contour.corner_mask` instead. The new default behaviour is -equivalent to using `corner_mask=True`; the previous behaviour can be obtained -using `corner_mask=False` or by changing the rcParam. The example -http://matplotlib.org/examples/pylab_examples/contour_corner_mask.html -demonstrates the difference. Use of the old contouring algorithm, which is -obtained with `corner_mask='legacy'`, is now deprecated. - -Contour labels may now appear in different places than in earlier versions of -Matplotlib. - -In addition, the keyword argument `nchunk` now applies to -:func:`~matplotlib.pyplot.contour` as well as -:func:`~matplotlib.pyplot.contourf`, and it subdivides the domain into -subdomains of exactly `nchunk` by `nchunk` quads, whereas previously it was -only roughly `nchunk` by `nchunk` quads. - -The C/C++ object that performs contour calculations used to be stored in the -public attribute QuadContourSet.Cntr, but is now stored in a private attribute -and should not be accessed by end users. - -Added set_params function to all Locator types -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -This was a bug fix targeted at making the api for Locators more consistent. - -In the old behavior, only locators of type MaxNLocator have set_params() -defined, causing its use on any other Locator to raise an AttributeError *( -aside: set_params(args) is a function that sets the parameters of a Locator -instance to be as specified within args)*. The fix involves moving set_params() -to the Locator class such that all subtypes will have this function defined. - -Since each of the Locator subtypes have their own modifiable parameters, a -universal set_params() in Locator isn't ideal. Instead, a default no-operation -function that raises a warning is implemented in Locator. Subtypes extending -Locator will then override with their own implementations. Subtypes that do -not have a need for set_params() will fall back onto their parent's -implementation, which raises a warning as intended. - -In the new behavior, Locator instances will not raise an AttributeError -when set_params() is called. For Locators that do not implement set_params(), -the default implementation in Locator is used. - -Disallow ``None`` as x or y value in ax.plot -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Do not allow ``None`` as a valid input for the ``x`` or ``y`` args in -`ax.plot`. This may break some user code, but this was never officially -supported (ex documented) and allowing ``None`` objects through can lead -to confusing exceptions downstream. - -To create an empty line use :: - - ln1, = ax.plot([], [], ...) - ln2, = ax.plot([], ...) - -In either case to update the data in the `Line2D` object you must update -both the ``x`` and ``y`` data. - - -Removed `args` and `kwargs` from `MicrosecondLocator.__call__` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The call signature of :meth:`~matplotlib.dates.MicrosecondLocator.__call__` -has changed from `__call__(self, *args, **kwargs)` to `__call__(self)`. -This is consistent with the superclass :class:`~matplotlib.ticker.Locator` -and also all the other Locators derived from this superclass. - - -No `ValueError` for the MicrosecondLocator and YearLocator -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The :class:`~matplotlib.dates.MicrosecondLocator` and -:class:`~matplotlib.dates.YearLocator` objects when called will return -an empty list if the axes have no data or the view has no interval. -Previously, they raised a `ValueError`. This is consistent with all -the Date Locators. - -'OffsetBox.DrawingArea' respects the 'clip' keyword argument -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The call signature was `OffsetBox.DrawingArea(..., clip=True)` but nothing -was done with the `clip` argument. The object did not do any clipping -regardless of that parameter. Now the object can and does clip the -child `Artists` if they are set to be clipped. - -You can turn off the clipping on a per-child basis using -`child.set_clip_on(False)`. - -Add salt to clipPath id -~~~~~~~~~~~~~~~~~~~~~~~ - -Add salt to the hash used to determine the id of the ``clipPath`` -nodes. This is to avoid conflicts when two svg documents with the same -clip path are included in the same document (see -https://github.com/ipython/ipython/issues/8133 and -https://github.com/matplotlib/matplotlib/issues/4349 ), however this -means that the svg output is no longer deterministic if the same -figure is saved twice. It is not expected that this will affect any -users as the current ids are generated from an md5 hash of properties -of the clip path and any user would have a very difficult time -anticipating the value of the id. - -Changed snap threshold for circle markers to inf -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -When drawing circle markers above some marker size (previously 6.0) -the path used to generate the marker was snapped to pixel centers. However, -this ends up distorting the marker away from a circle. By setting the -snap threshold to inf snapping is never done on circles. - -This change broke several tests, but is an improvement. - -Preserve units with Text position -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Previously the 'get_position' method on Text would strip away unit information -even though the units were still present. There was no inherent need to do -this, so it has been changed so that unit data (if present) will be preserved. -Essentially a call to 'get_position' will return the exact value from a call to -'set_position'. - -If you wish to get the old behaviour, then you can use the new method called -'get_unitless_position'. - -New API for custom Axes view changes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Interactive pan and zoom were previously implemented using a Cartesian-specific -algorithm that was not necessarily applicable to custom Axes. Three new private -methods, :meth:`~matplotlib.axes._base._AxesBase._get_view`, -:meth:`~matplotlib.axes._base._AxesBase._set_view`, and -:meth:`~matplotlib.axes._base._AxesBase._set_view_from_bbox`, allow for custom -*Axes* classes to override the pan and zoom algorithms. Implementors of -custom *Axes* who override these methods may provide suitable behaviour for -both pan and zoom as well as the view navigation buttons on the interactive -toolbars. - -MathTex visual changes ----------------------- - -The spacing commands in mathtext have been changed to more closely -match vanilla TeX. - - -Improved spacing in mathtext -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The extra space that appeared after subscripts and superscripts has -been removed. - -No annotation coordinates wrap -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -In #2351 for 1.4.0 the behavior of ['axes points', 'axes pixel', -'figure points', 'figure pixel'] as coordinates was change to -no longer wrap for negative values. In 1.4.3 this change was -reverted for 'axes points' and 'axes pixel' and in addition caused -'axes fraction' to wrap. For 1.5 the behavior has been reverted to -as it was in 1.4.0-1.4.2, no wrapping for any type of coordinate. - -Deprecation ------------ - -Deprecated `GraphicsContextBase.set_graylevel` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The `GraphicsContextBase.set_graylevel` function has been deprecated in 1.5 and -will be removed in 1.6. It has been unused. The -`GraphicsContextBase.set_foreground` could be used instead. - -deprecated idle_event -~~~~~~~~~~~~~~~~~~~~~ - -The `idle_event` was broken or missing in most backends and causes spurious -warnings in some cases, and its use in creating animations is now obsolete due -to the animations module. Therefore code involving it has been removed from all -but the wx backend (where it partially works), and its use is deprecated. The -animations module may be used instead to create animations. - -`color_cycle` deprecated -~~~~~~~~~~~~~~~~~~~~~~~~ - -In light of the new property cycling feature, -the Axes method *set_color_cycle* is now deprecated. -Calling this method will replace the current property cycle with -one that cycles just the given colors. - -Similarly, the rc parameter *axes.color_cycle* is also deprecated in -lieu of the new *axes.prop_cycle* parameter. Having both parameters in -the same rc file is not recommended as the result cannot be -predicted. For compatibility, setting *axes.color_cycle* will -replace the cycler in *axes.prop_cycle* with a color cycle. -Accessing *axes.color_cycle* will return just the color portion -of the property cycle, if it exists. - -Timeline for removal has not been set. - - -Bundled jquery --------------- - -The version of jquery bundled with the webagg backend has been upgraded -from 1.7.1 to 1.11.3. If you are using the version of jquery bundled -with webagg you will need to update your html files as such - -.. code-block:: diff - - - <script src="_static/jquery/js/jquery-1.7.1.min.js"></script> - + <script src="_static/jquery/js/jquery-1.11.3.min.js"></script> - - -Code Removed ------------- - -Removed `Image` from main namespace -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -`Image` was imported from PIL/pillow to test if PIL is available, but -there is no reason to keep `Image` in the namespace once the availability -has been determined. - -Removed `lod` from Artist -~~~~~~~~~~~~~~~~~~~~~~~~~ - -Removed the method *set_lod* and all references to -the attribute *_lod* as the are not used anywhere else in the -code base. It appears to be a feature stub that was never built -out. - -Removed threading related classes from cbook -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The classes ``Scheduler``, ``Timeout``, and ``Idle`` were in cbook, but -are not used internally. They appear to be a prototype for the idle event -system which was not working and has recently been pulled out. - -Removed `Lena` images from sample_data -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The ``lena.png`` and ``lena.jpg`` images have been removed from -Matplotlib's sample_data directory. The images are also no longer -available from `matplotlib.cbook.get_sample_data`. We suggest using -`matplotlib.cbook.get_sample_data('grace_hopper.png')` or -`matplotlib.cbook.get_sample_data('grace_hopper.jpg')` instead. - - -Legend -~~~~~~ -Removed handling of `loc` as a positional argument to `Legend` - - -Legend handlers -~~~~~~~~~~~~~~~ -Remove code to allow legend handlers to be callable. They must now -implement a method ``legend_artist``. - - -Axis -~~~~ -Removed method ``set_scale``. This is now handled via a private method which -should not be used directly by users. It is called via ``Axes.set_{x,y}scale`` -which takes care of ensuring the related changes are also made to the Axes -object. - -finance.py -~~~~~~~~~~ - -Removed functions with ambiguous argument order from finance.py - - -Annotation -~~~~~~~~~~ - -Removed ``textcoords`` and ``xytext`` proprieties from Annotation objects. - - -spinxext.ipython_*.py -~~~~~~~~~~~~~~~~~~~~~ - -Both ``ipython_console_highlighting`` and ``ipython_directive`` have been -moved to `IPython`. - -Change your import from 'matplotlib.sphinxext.ipython_directive' to -'IPython.sphinxext.ipython_directive' and from -'matplotlib.sphinxext.ipython_directive' to -'IPython.sphinxext.ipython_directive' - - -LineCollection.color -~~~~~~~~~~~~~~~~~~~~ - -Deprecated in 2005, use ``set_color`` - - -remove ``'faceted'`` as a valid value for `shading` in ``tri.tripcolor`` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Use `edgecolor` instead. Added validation on ``shading`` to -only be valid values. - - -Remove ``faceted`` kwarg from scatter -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Remove support for the ``faceted`` kwarg. This was deprecated in -d48b34288e9651ff95c3b8a071ef5ac5cf50bae7 (2008-04-18!) and replaced by -``edgecolor``. - - -Remove ``set_colorbar`` method from ``ScalarMappable`` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Remove ``set_colorbar`` method, use `colorbar` attribute directly. - - -patheffects.svg -~~~~~~~~~~~~~~~ - - - remove ``get_proxy_renderer`` method from ``AbstarctPathEffect`` class - - remove ``patch_alpha`` and ``offset_xy`` from ``SimplePatchShadow`` - - -Remove ``testing.image_util.py`` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Contained only a no-longer used port of functionality from PIL - - -Remove ``mlab.FIFOBuffer`` -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Not used internally and not part of core mission of mpl. - - -Remove ``mlab.prepca`` -~~~~~~~~~~~~~~~~~~~~~~ -Deprecated in 2009. - - -Remove ``NavigationToolbar2QTAgg`` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Added no functionality over the base ``NavigationToolbar2Qt`` - - -mpl.py -~~~~~~ - -Remove the module `matplotlib.mpl`. Deprecated in 1.3 by -PR #1670 and commit 78ce67d161625833cacff23cfe5d74920248c5b2 - - -Changes in 1.4.x -================ - -Code changes ------------- - -* A major refactoring of the axes module was made. The axes module has been - split into smaller modules: - - - the `_base` module, which contains a new private _AxesBase class. This - class contains all methods except plotting and labelling methods. - - the `axes` module, which contains the Axes class. This class inherits - from _AxesBase, and contains all plotting and labelling methods. - - the `_subplot` module, with all the classes concerning subplotting. - -There are a couple of things that do not exists in the `axes` module's -namespace anymore. If you use them, you need to import them from their -original location: - - - math -> `import math` - - ma -> `from numpy import ma` - - cbook -> `from matplotlib import cbook` - - docstring -> `from matplotlib import docstring` - - is_sequence_of_strings -> `from matplotlib.cbook import is_sequence_of_strings` - - is_string_like -> `from matplotlib.cbook import is_string_like` - - iterable -> `from matplotlib.cbook import iterable` - - itertools -> `import itertools` - - martist -> `from matplotlib import artist as martist` - - matplotlib -> `import matplotlib` - - mcoll -> `from matplotlib import collections as mcoll` - - mcolors -> `from matplotlib import colors as mcolors` - - mcontour -> `from matplotlib import contour as mcontour` - - mpatches -> `from matplotlib import patches as mpatches` - - mpath -> `from matplotlib import path as mpath` - - mquiver -> `from matplotlib import quiver as mquiver` - - mstack -> `from matplotlib import stack as mstack` - - mstream -> `from matplotlib import stream as mstream` - - mtable -> `from matplotlib import table as mtable` - -* As part of the refactoring to enable Qt5 support, the module - `matplotlib.backends.qt4_compat` was renamed to - `matplotlib.qt_compat`. `qt4_compat` is deprecated in 1.4 and - will be removed in 1.5. - -* The :func:`~matplotlib.pyplot.errorbar` method has been changed such that - the upper and lower limits (*lolims*, *uplims*, *xlolims*, *xuplims*) now - point in the correct direction. - -* The *fmt* kwarg for :func:`~matplotlib.pyplot.errorbar now supports - the string 'none' to suppress drawing of a line and markers; use - of the *None* object for this is deprecated. The default *fmt* - value is changed to the empty string (''), so the line and markers - are governed by the :func:`~matplotlib.pyplot.plot` defaults. - -* A bug has been fixed in the path effects rendering of fonts, which now means - that the font size is consistent with non-path effect fonts. See - https://github.com/matplotlib/matplotlib/issues/2889 for more detail. - -* The Sphinx extensions `ipython_directive` and - `ipython_console_highlighting` have been moved to the IPython - project itself. While they remain in Matplotlib for this release, - they have been deprecated. Update your extensions in `conf.py` to - point to `IPython.sphinxext.ipython_directive` instead of - `matplotlib.sphinxext.ipython_directive`. - -* In `~matplotlib.finance`, almost all functions have been deprecated - and replaced with a pair of functions name `*_ochl` and `*_ohlc`. - The former is the 'open-close-high-low' order of quotes used - previously in this module, and the latter is the - 'open-high-low-close' order that is standard in finance. - -* For consistency the ``face_alpha`` keyword to - :class:`matplotlib.patheffects.SimplePatchShadow` has been deprecated in - favour of the ``alpha`` keyword. Similarly, the keyword ``offset_xy`` is now - named ``offset`` across all :class:`~matplotlib.patheffects.AbstractPathEffect`s. - ``matplotlib.patheffects._Base`` has - been renamed to :class:`matplotlib.patheffects.AbstractPathEffect`. - ``matplotlib.patheffect.ProxyRenderer`` has been renamed to - :class:`matplotlib.patheffects.PathEffectRenderer` and is now a full - RendererBase subclass. - -* The artist used to draw the outline of a `colorbar` has been changed - from a `matplotlib.lines.Line2D` to `matplotlib.patches.Polygon`, - thus `colorbar.ColorbarBase.outline` is now a - `matplotlib.patches.Polygon` object. - -* The legend handler interface has changed from a callable, to any object - which implements the ``legend_artists`` method (a deprecation phase will - see this interface be maintained for v1.4). See - :doc:`/tutorials/intermediate/legend_guide` for further details. Further legend changes - include: - - * :func:`matplotlib.axes.Axes._get_legend_handles` now returns a generator - of handles, rather than a list. - - * The :func:`~matplotlib.pyplot.legend` function's "loc" positional - argument has been deprecated. Use the "loc" keyword instead. - -* The rcParams `savefig.transparent` has been added to control - default transparency when saving figures. - -* Slightly refactored the `Annotation` family. The text location in - `Annotation` is now handled entirely handled by the underlying `Text` - object so `set_position` works as expected. The attributes `xytext` and - `textcoords` have been deprecated in favor of `xyann` and `anncoords` so - that `Annotation` and `AnnotaionBbox` can share a common sensibly named - api for getting/setting the location of the text or box. - - - `xyann` -> set the location of the annotation - - `xy` -> set where the arrow points to - - `anncoords` -> set the units of the annotation location - - `xycoords` -> set the units of the point location - - `set_position()` -> `Annotation` only set location of annotation - -* `matplotlib.mlab.specgram`, `matplotlib.mlab.psd`, `matplotlib.mlab.csd`, - `matplotlib.mlab.cohere`, `matplotlib.mlab.cohere_pairs`, - `matplotlib.pyplot.specgram`, `matplotlib.pyplot.psd`, - `matplotlib.pyplot.csd`, and `matplotlib.pyplot.cohere` now raise - ValueError where they previously raised AssertionError. - -* For `matplotlib.mlab.psd`, `matplotlib.mlab.csd`, - `matplotlib.mlab.cohere`, `matplotlib.mlab.cohere_pairs`, - `matplotlib.pyplot.specgram`, `matplotlib.pyplot.psd`, - `matplotlib.pyplot.csd`, and `matplotlib.pyplot.cohere`, in cases - where a shape (n, 1) array is returned, this is now converted to a (n, ) - array. Previously, (n, m) arrays were averaged to an (n, ) array, but - (n, 1) arrays were returend unchanged. This change makes the dimensions - consistent in both cases. - -* Added the rcParam `axes.fromatter.useoffset` to control the default value - of `useOffset` in `ticker.ScalarFormatter` - -* Added `Formatter` sub-class `StrMethodFormatter` which - does the exact same thing as `FormatStrFormatter`, but for new-style - formatting strings. - -* Deprecated `matplotlib.testing.image_util` and the only function within, - `matplotlib.testing.image_util.autocontrast`. These will be removed - completely in v1.5.0. - -* The ``fmt`` argument of :meth:`~matplotlib.axes.Axes.plot_date` has been - changed from ``bo`` to just ``o``, so color cycling can happen by default. - -* Removed the class `FigureManagerQTAgg` and deprecated `NavigationToolbar2QTAgg` - which will be removed in 1.5. - -* Removed formerly public (non-prefixed) attributes `rect` and - `drawRect` from `FigureCanvasQTAgg`; they were always an - implementation detail of the (preserved) `drawRectangle()` function. - -* The function signatures of `tight_bbox.adjust_bbox` and - `tight_bbox.process_figure_for_rasterizing` have been changed. A new - `fixed_dpi` parameter allows for overriding the `figure.dpi` setting - instead of trying to deduce the intended behaviour from the file format. - -* Added support for horizontal/vertical axes padding to - `mpl_toolkits.axes_grid1.ImageGrid` --- argument ``axes_pad`` can now be - tuple-like if separate axis padding is required. - The original behavior is preserved. - -* Added support for skewed transforms to `matplotlib.transforms.Affine2D`, - which can be created using the `skew` and `skew_deg` methods. - -* Added clockwise parameter to control sectors direction in `axes.pie` - -* In `matplotlib.lines.Line2D` the `markevery` functionality has been extended. - Previously an integer start-index and stride-length could be specified using - either a two-element-list or a two-element-tuple. Now this can only be done - using a two-element-tuple. If a two-element-list is used then it will be - treated as numpy fancy indexing and only the two markers corresponding to the - given indexes will be shown. - -* removed prop kwarg from `mpl_toolkits.axes_grid1.anchored_artists.AnchoredSizeBar` - call. It was passed through to the base-class `__init__` and is only used for - setting padding. Now `fontproperties` (which is what is really used to set - the font properties of `AnchoredSizeBar`) is passed through in place of `prop`. - If `fontpropreties` is not passed in, but `prop` is, then `prop` is used inplace - of `fontpropreties`. If both are passed in, `prop` is silently ignored. - - -* The use of the index 0 in `plt.subplot` and related commands is - deprecated. Due to a lack of validation calling `plt.subplots(2, 2, - 0)` does not raise an exception, but puts an axes in the _last_ - position. This is due to the indexing in subplot being 1-based (to - mirror MATLAB) so before indexing into the `GridSpec` object used to - determine where the axes should go, 1 is subtracted off. Passing in - 0 results in passing -1 to `GridSpec` which results in getting the - last position back. Even though this behavior is clearly wrong and - not intended, we are going through a deprecation cycle in an - abundance of caution that any users are exploiting this 'feature'. - The use of 0 as an index will raise a warning in 1.4 and an - exception in 1.5. - -* Clipping is now off by default on offset boxes. - -* Matplotlib now uses a less-aggressive call to ``gc.collect(1)`` when - closing figures to avoid major delays with large numbers of user objects - in memory. - -* The default clip value of *all* pie artists now defaults to ``False``. - - -Code removal ------------- - -* Removed ``mlab.levypdf``. The code raised a numpy error (and has for - a long time) and was not the standard form of the Levy distribution. - ``scipy.stats.levy`` should be used instead - - -.. _changes_in_1_3: - - -Changes in 1.3.x -================ - -Changes in 1.3.1 ----------------- - -It is rare that we make an API change in a bugfix release, however, -for 1.3.1 since 1.3.0 the following change was made: - -- `text.Text.cached` (used to cache font objects) has been made into a - private variable. Among the obvious encapsulation benefit, this - removes this confusing-looking member from the documentation. - -- The method :meth:`~matplotlib.axes.Axes.hist` now always returns bin - occupancies as an array of type `float`. Previously, it was sometimes - an array of type `int`, depending on the call. - -Code removal ------------- - -* The following items that were deprecated in version 1.2 or earlier - have now been removed completely. - - - The Qt 3.x backends (`qt` and `qtagg`) have been removed in - favor of the Qt 4.x backends (`qt4` and `qt4agg`). - - - The FltkAgg and Emf backends have been removed. - - - The `matplotlib.nxutils` module has been removed. Use the - functionality on `matplotlib.path.Path.contains_point` and - friends instead. - - - Instead of `axes.Axes.get_frame`, use `axes.Axes.patch`. - - - The following `kwargs` to the `legend` function have been - renamed: - - - `pad` -> `borderpad` - - `labelsep` -> `labelspacing` - - `handlelen` -> `handlelength` - - `handletextsep` -> `handletextpad` - - `axespad` -> `borderaxespad` - - Related to this, the following rcParams have been removed: - - - `legend.pad`, `legend.labelsep`, `legend.handlelen`, - `legend.handletextsep` and `legend.axespad` - - - For the `hist` function, instead of `width`, use `rwidth` - (relative width). - - - On `patches.Circle`, the `resolution` kwarg has been removed. - For a circle made up of line segments, use - `patches.CirclePolygon`. - - - The printing functions in the Wx backend have been removed due - to the burden of keeping them up-to-date. - - - `mlab.liaupunov` has been removed. - - - `mlab.save`, `mlab.load`, `pylab.save` and `pylab.load` have - been removed. We recommend using `numpy.savetxt` and - `numpy.loadtxt` instead. - - - `widgets.HorizontalSpanSelector` has been removed. Use - `widgets.SpanSelector` instead. - -Code deprecation ----------------- - -* The CocoaAgg backend has been deprecated, with the possibility for - deletion or resurrection in a future release. - -* The top-level functions in `matplotlib.path` that are implemented in - C++ were never meant to be public. Instead, users should use the - Pythonic wrappers for them in the `path.Path` and - `collections.Collection` classes. Use the following mapping to update - your code: - - - `point_in_path` -> `path.Path.contains_point` - - `get_path_extents` -> `path.Path.get_extents` - - `point_in_path_collection` -> `collection.Collection.contains` - - `path_in_path` -> `path.Path.contains_path` - - `path_intersects_path` -> `path.Path.intersects_path` - - `convert_path_to_polygons` -> `path.Path.to_polygons` - - `cleanup_path` -> `path.Path.cleaned` - - `points_in_path` -> `path.Path.contains_points` - - `clip_path_to_rect` -> `path.Path.clip_to_bbox` - -* `matplotlib.colors.normalize` and `matplotlib.colors.no_norm` have - been deprecated in favour of `matplotlib.colors.Normalize` and - `matplotlib.colors.NoNorm` respectively. - -* The `ScalarMappable` class' `set_colorbar` is now - deprecated. Instead, the - :attr:`matplotlib.cm.ScalarMappable.colorbar` attribute should be - used. In previous Matplotlib versions this attribute was an - undocumented tuple of ``(colorbar_instance, colorbar_axes)`` but is - now just ``colorbar_instance``. To get the colorbar axes it is - possible to just use the - :attr:`~matplotlib.colorbar.ColorbarBase.ax` attribute on a colorbar - instance. - -* The `~matplotlib.mpl` module is now deprecated. Those who relied on this - module should transition to simply using ``import matplotlib as mpl``. - -Code changes ------------- - -* :class:`~matplotlib.patches.Patch` now fully supports using RGBA values for - its ``facecolor`` and ``edgecolor`` attributes, which enables faces and - edges to have different alpha values. If the - :class:`~matplotlib.patches.Patch` object's ``alpha`` attribute is set to - anything other than ``None``, that value will override any alpha-channel - value in both the face and edge colors. Previously, if - :class:`~matplotlib.patches.Patch` had ``alpha=None``, the alpha component - of ``edgecolor`` would be applied to both the edge and face. - -* The optional ``isRGB`` argument to - :meth:`~matplotlib.backend_bases.GraphicsContextBase.set_foreground` (and - the other GraphicsContext classes that descend from it) has been renamed to - ``isRGBA``, and should now only be set to ``True`` if the ``fg`` color - argument is known to be an RGBA tuple. - -* For :class:`~matplotlib.patches.Patch`, the ``capstyle`` used is now - ``butt``, to be consistent with the default for most other objects, and to - avoid problems with non-solid ``linestyle`` appearing solid when using a - large ``linewidth``. Previously, :class:`~matplotlib.patches.Patch` used - ``capstyle='projecting'``. - -* `Path` objects can now be marked as `readonly` by passing - `readonly=True` to its constructor. The built-in path singletons, - obtained through `Path.unit*` class methods return readonly paths. - If you have code that modified these, you will need to make a - deepcopy first, using either:: - - import copy - path = copy.deepcopy(Path.unit_circle()) - - # or - - path = Path.unit_circle().deepcopy() - - Deep copying a `Path` always creates an editable (i.e. non-readonly) - `Path`. - -* The list at ``Path.NUM_VERTICES`` was replaced by a dictionary mapping - Path codes to the number of expected vertices at - :attr:`~matplotlib.path.Path.NUM_VERTICES_FOR_CODE`. - -* To support XKCD style plots, the :func:`matplotlib.path.cleanup_path` - method's signature was updated to require a sketch argument. Users of - :func:`matplotlib.path.cleanup_path` are encouraged to use the new - :meth:`~matplotlib.path.Path.cleaned` Path method. - -* Data limits on a plot now start from a state of having "null" - limits, rather than limits in the range (0, 1). This has an effect - on artists that only control limits in one direction, such as - `axvline` and `axhline`, since their limits will not longer also - include the range (0, 1). This fixes some problems where the - computed limits would be dependent on the order in which artists - were added to the axes. - -* Fixed a bug in setting the position for the right/top spine with data - position type. Previously, it would draw the right or top spine at - +1 data offset. - -* In :class:`~matplotlib.patches.FancyArrow`, the default arrow head - width, ``head_width``, has been made larger to produce a visible - arrow head. The new value of this kwarg is ``head_width = 20 * - width``. - -* It is now possible to provide ``number of levels + 1`` colors in the case of - `extend='both'` for contourf (or just ``number of levels`` colors for an - extend value ``min`` or ``max``) such that the resulting colormap's - ``set_under`` and ``set_over`` are defined appropriately. Any other number - of colors will continue to behave as before (if more colors are provided - than levels, the colors will be unused). A similar change has been applied - to contour, where ``extend='both'`` would expect ``number of levels + 2`` - colors. - -* A new keyword *extendrect* in :meth:`~matplotlib.pyplot.colorbar` and - :class:`~matplotlib.colorbar.ColorbarBase` allows one to control the shape - of colorbar extensions. - -* The extension of :class:`~matplotlib.widgets.MultiCursor` to both vertical - (default) and/or horizontal cursor implied that ``self.line`` is replaced - by ``self.vline`` for vertical cursors lines and ``self.hline`` is added - for the horizontal cursors lines. - -* On POSIX platforms, the :func:`~matplotlib.cbook.report_memory` function - raises :class:`NotImplementedError` instead of :class:`OSError` if the - :command:`ps` command cannot be run. - -* The :func:`matplotlib.cbook.check_output` function has been moved to - :func:`matplotlib.compat.subprocess`. - -Configuration and rcParams --------------------------- - -* On Linux, the user-specific `matplotlibrc` configuration file is now - located in `~/.config/matplotlib/matplotlibrc` to conform to the - `XDG Base Directory Specification - <https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html>`_. - -* The `font.*` rcParams now affect only text objects created after the - rcParam has been set, and will not retroactively affect already - existing text objects. This brings their behavior in line with most - other rcParams. - -* Removed call of :meth:`~matplotlib.axes.Axes.grid` in - :meth:`~matplotlib.pyplot.plotfile`. To draw the axes grid, set the - ``axes.grid`` rcParam to *True*, or explicitly call - :meth:`~matplotlib.axes.Axes.grid`. - -Changes in 1.2.x -================ - -* The ``classic`` option of the rc parameter ``toolbar`` is deprecated - and will be removed in the next release. - -* The :meth:`~matplotlib.cbook.isvector` method has been removed since it - is no longer functional. - -* The `rasterization_zorder` property on `~matplotlib.axes.Axes` a - zorder below which artists are rasterized. This has defaulted to - -30000.0, but it now defaults to `None`, meaning no artists will be - rasterized. In order to rasterize artists below a given zorder - value, `set_rasterization_zorder` must be explicitly called. - -* In :meth:`~matplotlib.axes.Axes.scatter`, and `~pyplot.scatter`, - when specifying a marker using a tuple, the angle is now specified - in degrees, not radians. - -* Using :meth:`~matplotlib.axes.Axes.twinx` or - :meth:`~matplotlib.axes.Axes.twiny` no longer overrides the current locaters - and formatters on the axes. - -* In :meth:`~matplotlib.axes.Axes.contourf`, the handling of the *extend* - kwarg has changed. Formerly, the extended ranges were mapped - after to 0, 1 after being normed, so that they always corresponded - to the extreme values of the colormap. Now they are mapped - outside this range so that they correspond to the special - colormap values determined by the - :meth:`~matplotlib.colors.Colormap.set_under` and - :meth:`~matplotlib.colors.Colormap.set_over` methods, which - default to the colormap end points. - -* The new rc parameter ``savefig.format`` replaces ``cairo.format`` and - ``savefig.extension``, and sets the default file format used by - :meth:`matplotlib.figure.Figure.savefig`. - -* In :meth:`~matplotlib.pyplot.pie` and :meth:`~matplotlib.Axes.pie`, one can - now set the radius of the pie; setting the *radius* to 'None' (the default - value), will result in a pie with a radius of 1 as before. - -* Use of :func:`~matplotlib.projections.projection_factory` is now deprecated - in favour of axes class identification using - :func:`~matplotlib.projections.process_projection_requirements` followed by - direct axes class invocation (at the time of writing, functions which do this - are: :meth:`~matplotlib.figure.Figure.add_axes`, - :meth:`~matplotlib.figure.Figure.add_subplot` and - :meth:`~matplotlib.figure.Figure.gca`). Therefore:: - - - key = figure._make_key(*args, **kwargs) - ispolar = kwargs.pop('polar', False) - projection = kwargs.pop('projection', None) - if ispolar: - if projection is not None and projection != 'polar': - raise ValueError('polar and projection args are inconsistent') - projection = 'polar' - ax = projection_factory(projection, self, rect, **kwargs) - key = self._make_key(*args, **kwargs) - - # is now - - projection_class, kwargs, key = \ - process_projection_requirements(self, *args, **kwargs) - ax = projection_class(self, rect, **kwargs) - - This change means that third party objects can expose themselves as - Matplotlib axes by providing a ``_as_mpl_axes`` method. See - :ref:`adding-new-scales` for more detail. - -* A new keyword *extendfrac* in :meth:`~matplotlib.pyplot.colorbar` and - :class:`~matplotlib.colorbar.ColorbarBase` allows one to control the size of - the triangular minimum and maximum extensions on colorbars. - -* A new keyword *capthick* in :meth:`~matplotlib.pyplot.errorbar` has been - added as an intuitive alias to the *markeredgewidth* and *mew* keyword - arguments, which indirectly controlled the thickness of the caps on - the errorbars. For backwards compatibility, specifying either of the - original keyword arguments will override any value provided by - *capthick*. - -* Transform subclassing behaviour is now subtly changed. If your transform - implements a non-affine transformation, then it should override the - ``transform_non_affine`` method, rather than the generic ``transform`` method. - Previously transforms would define ``transform`` and then copy the - method into ``transform_non_affine``:: - - class MyTransform(mtrans.Transform): - def transform(self, xy): - ... - transform_non_affine = transform - - - This approach will no longer function correctly and should be changed to:: - - class MyTransform(mtrans.Transform): - def transform_non_affine(self, xy): - ... - - -* Artists no longer have ``x_isdata`` or ``y_isdata`` attributes; instead - any artist's transform can be interrogated with - ``artist_instance.get_transform().contains_branch(ax.transData)`` - -* Lines added to an axes now take into account their transform when updating the - data and view limits. This means transforms can now be used as a pre-transform. - For instance:: - - >>> import matplotlib.pyplot as plt - >>> import matplotlib.transforms as mtrans - >>> ax = plt.axes() - >>> ax.plot(range(10), transform=mtrans.Affine2D().scale(10) + ax.transData) - >>> print(ax.viewLim) - Bbox('array([[ 0., 0.],\n [ 90., 90.]])') - -* One can now easily get a transform which goes from one transform's coordinate - system to another, in an optimized way, using the new subtract method on a - transform. For instance, to go from data coordinates to axes coordinates:: - - >>> import matplotlib.pyplot as plt - >>> ax = plt.axes() - >>> data2ax = ax.transData - ax.transAxes - >>> print(ax.transData.depth, ax.transAxes.depth) - 3, 1 - >>> print(data2ax.depth) - 2 - - for versions before 1.2 this could only be achieved in a sub-optimal way, - using ``ax.transData + ax.transAxes.inverted()`` (depth is a new concept, - but had it existed it would return 4 for this example). - -* ``twinx`` and ``twiny`` now returns an instance of SubplotBase if - parent axes is an instance of SubplotBase. - -* All Qt3-based backends are now deprecated due to the lack of py3k bindings. - Qt and QtAgg backends will continue to work in v1.2.x for py2.6 - and py2.7. It is anticipated that the Qt3 support will be completely - removed for the next release. - -* :class:`~matplotlib.colors.ColorConverter`, - :class:`~matplotlib.colors.Colormap` and - :class:`~matplotlib.colors.Normalize` now subclasses ``object`` - -* ContourSet instances no longer have a ``transform`` attribute. Instead, - access the transform with the ``get_transform`` method. - -Changes in 1.1.x -================ - -* Added new :class:`matplotlib.sankey.Sankey` for generating Sankey diagrams. - -* In :meth:`~matplotlib.pyplot.imshow`, setting *interpolation* to 'nearest' - will now always mean that the nearest-neighbor interpolation is performed. - If you want the no-op interpolation to be performed, choose 'none'. - -* There were errors in how the tri-functions were handling input parameters - that had to be fixed. If your tri-plots are not working correctly anymore, - or you were working around apparent mistakes, please see issue #203 in the - github tracker. When in doubt, use kwargs. - -* The 'symlog' scale had some bad behavior in previous versions. This has now - been fixed and users should now be able to use it without frustrations. - The fixes did result in some minor changes in appearance for some users who - may have been depending on the bad behavior. - -* There is now a common set of markers for all plotting functions. Previously, - some markers existed only for :meth:`~matplotlib.pyplot.scatter` or just for - :meth:`~matplotlib.pyplot.plot`. This is now no longer the case. This merge - did result in a conflict. The string 'd' now means "thin diamond" while - 'D' will mean "regular diamond". - -Changes beyond 0.99.x -===================== - -* The default behavior of :meth:`matplotlib.axes.Axes.set_xlim`, - :meth:`matplotlib.axes.Axes.set_ylim`, and - :meth:`matplotlib.axes.Axes.axis`, and their corresponding - pyplot functions, has been changed: when view limits are - set explicitly with one of these methods, autoscaling is turned - off for the matching axis. A new *auto* kwarg is available to - control this behavior. The limit kwargs have been renamed to - *left* and *right* instead of *xmin* and *xmax*, and *bottom* - and *top* instead of *ymin* and *ymax*. The old names may still - be used, however. - -* There are five new Axes methods with corresponding pyplot - functions to facilitate autoscaling, tick location, and tick - label formatting, and the general appearance of ticks and - tick labels: - - + :meth:`matplotlib.axes.Axes.autoscale` turns autoscaling - on or off, and applies it. - - + :meth:`matplotlib.axes.Axes.margins` sets margins used to - autoscale the :attr:`matplotlib.axes.Axes.viewLim` based on - the :attr:`matplotlib.axes.Axes.dataLim`. - - + :meth:`matplotlib.axes.Axes.locator_params` allows one to - adjust axes locator parameters such as *nbins*. - - + :meth:`matplotlib.axes.Axes.ticklabel_format` is a convenience - method for controlling the :class:`matplotlib.ticker.ScalarFormatter` - that is used by default with linear axes. - - + :meth:`matplotlib.axes.Axes.tick_params` controls direction, size, - visibility, and color of ticks and their labels. - -* The :meth:`matplotlib.axes.Axes.bar` method accepts a *error_kw* - kwarg; it is a dictionary of kwargs to be passed to the - errorbar function. - -* The :meth:`matplotlib.axes.Axes.hist` *color* kwarg now accepts - a sequence of color specs to match a sequence of datasets. - -* The :class:`~matplotlib.collections.EllipseCollection` has been - changed in two ways: - - + There is a new *units* option, 'xy', that scales the ellipse with - the data units. This matches the :class:'~matplotlib.patches.Ellipse` - scaling. - - + The *height* and *width* kwargs have been changed to specify - the height and width, again for consistency with - :class:`~matplotlib.patches.Ellipse`, and to better match - their names; previously they specified the half-height and - half-width. - -* There is a new rc parameter ``axes.color_cycle``, and the color - cycle is now independent of the rc parameter ``lines.color``. - :func:`matplotlib.Axes.set_default_color_cycle` is deprecated. - -* You can now print several figures to one pdf file and modify the - document information dictionary of a pdf file. See the docstrings - of the class :class:`matplotlib.backends.backend_pdf.PdfPages` for - more information. - -* Removed configobj_ and `enthought.traits`_ packages, which are only - required by the experimental traited config and are somewhat out of - date. If needed, install them independently. - -.. _configobj: http://www.voidspace.org.uk/python/configobj.html -.. _`enthought.traits`: http://code.enthought.com/pages/traits.html - -* The new rc parameter ``savefig.extension`` sets the filename extension - that is used by :meth:`matplotlib.figure.Figure.savefig` if its *fname* - argument lacks an extension. - -* In an effort to simplify the backend API, all clipping rectangles - and paths are now passed in using GraphicsContext objects, even - on collections and images. Therefore:: - - draw_path_collection(self, master_transform, cliprect, clippath, - clippath_trans, paths, all_transforms, offsets, - offsetTrans, facecolors, edgecolors, linewidths, - linestyles, antialiaseds, urls) - - # is now - - draw_path_collection(self, gc, master_transform, paths, all_transforms, - offsets, offsetTrans, facecolors, edgecolors, - linewidths, linestyles, antialiaseds, urls) - - - draw_quad_mesh(self, master_transform, cliprect, clippath, - clippath_trans, meshWidth, meshHeight, coordinates, - offsets, offsetTrans, facecolors, antialiased, - showedges) - - # is now - - draw_quad_mesh(self, gc, master_transform, meshWidth, meshHeight, - coordinates, offsets, offsetTrans, facecolors, - antialiased, showedges) - - - draw_image(self, x, y, im, bbox, clippath=None, clippath_trans=None) - - # is now - - draw_image(self, gc, x, y, im) - -* There are four new Axes methods with corresponding pyplot - functions that deal with unstructured triangular grids: - - + :meth:`matplotlib.axes.Axes.tricontour` draws contour lines - on a triangular grid. - - + :meth:`matplotlib.axes.Axes.tricontourf` draws filled contours - on a triangular grid. - - + :meth:`matplotlib.axes.Axes.tripcolor` draws a pseudocolor - plot on a triangular grid. - - + :meth:`matplotlib.axes.Axes.triplot` draws a triangular grid - as lines and/or markers. - -Changes in 0.99 -=============== - -* pylab no longer provides a load and save function. These are - available in matplotlib.mlab, or you can use numpy.loadtxt and - numpy.savetxt for text files, or np.save and np.load for binary - numpy arrays. - -* User-generated colormaps can now be added to the set recognized - by :func:`matplotlib.cm.get_cmap`. Colormaps can be made the - default and applied to the current image using - :func:`matplotlib.pyplot.set_cmap`. - -* changed use_mrecords default to False in mlab.csv2rec since this is - partially broken - -* Axes instances no longer have a "frame" attribute. Instead, use the - new "spines" attribute. Spines is a dictionary where the keys are - the names of the spines (e.g., 'left','right' and so on) and the - values are the artists that draw the spines. For normal - (rectilinear) axes, these artists are Line2D instances. For other - axes (such as polar axes), these artists may be Patch instances. - -* Polar plots no longer accept a resolution kwarg. Instead, each Path - must specify its own number of interpolation steps. This is - unlikely to be a user-visible change -- if interpolation of data is - required, that should be done before passing it to Matplotlib. - -Changes for 0.98.x -================== -* psd(), csd(), and cohere() will now automatically wrap negative - frequency components to the beginning of the returned arrays. - This is much more sensible behavior and makes them consistent - with specgram(). The previous behavior was more of an oversight - than a design decision. - -* Added new keyword parameters *nonposx*, *nonposy* to - :class:`matplotlib.axes.Axes` methods that set log scale - parameters. The default is still to mask out non-positive - values, but the kwargs accept 'clip', which causes non-positive - values to be replaced with a very small positive value. - -* Added new :func:`matplotlib.pyplot.fignum_exists` and - :func:`matplotlib.pyplot.get_fignums`; they merely expose - information that had been hidden in :mod:`matplotlib._pylab_helpers`. - -* Deprecated numerix package. - -* Added new :func:`matplotlib.image.imsave` and exposed it to the - :mod:`matplotlib.pyplot` interface. - -* Remove support for pyExcelerator in exceltools -- use xlwt - instead - -* Changed the defaults of acorr and xcorr to use usevlines=True, - maxlags=10 and normed=True since these are the best defaults - -* Following keyword parameters for :class:`matplotlib.label.Label` are now - deprecated and new set of parameters are introduced. The new parameters - are given as a fraction of the font-size. Also, *scatteryoffsets*, - *fancybox* and *columnspacing* are added as keyword parameters. - - ================ ================ - Deprecated New - ================ ================ - pad borderpad - labelsep labelspacing - handlelen handlelength - handlestextsep handletextpad - axespad borderaxespad - ================ ================ - - -* Removed the configobj and experimental traits rc support - -* Modified :func:`matplotlib.mlab.psd`, :func:`matplotlib.mlab.csd`, - :func:`matplotlib.mlab.cohere`, and :func:`matplotlib.mlab.specgram` - to scale one-sided densities by a factor of 2. Also, optionally - scale the densities by the sampling frequency, which gives true values - of densities that can be integrated by the returned frequency values. - This also gives better MATLAB compatibility. The corresponding - :class:`matplotlib.axes.Axes` methods and :mod:`matplotlib.pyplot` - functions were updated as well. - -* Font lookup now uses a nearest-neighbor approach rather than an - exact match. Some fonts may be different in plots, but should be - closer to what was requested. - -* :meth:`matplotlib.axes.Axes.set_xlim`, - :meth:`matplotlib.axes.Axes.set_ylim` now return a copy of the - :attr:`viewlim` array to avoid modify-in-place surprises. - -* :meth:`matplotlib.afm.AFM.get_fullname` and - :meth:`matplotlib.afm.AFM.get_familyname` no longer raise an - exception if the AFM file does not specify these optional - attributes, but returns a guess based on the required FontName - attribute. - -* Changed precision kwarg in :func:`matplotlib.pyplot.spy`; default is - 0, and the string value 'present' is used for sparse arrays only to - show filled locations. - -* :class:`matplotlib.collections.EllipseCollection` added. - -* Added ``angles`` kwarg to :func:`matplotlib.pyplot.quiver` for more - flexible specification of the arrow angles. - -* Deprecated (raise NotImplementedError) all the mlab2 functions from - :mod:`matplotlib.mlab` out of concern that some of them were not - clean room implementations. - -* Methods :meth:`matplotlib.collections.Collection.get_offsets` and - :meth:`matplotlib.collections.Collection.set_offsets` added to - :class:`~matplotlib.collections.Collection` base class. - -* :attr:`matplotlib.figure.Figure.figurePatch` renamed - :attr:`matplotlib.figure.Figure.patch`; - :attr:`matplotlib.axes.Axes.axesPatch` renamed - :attr:`matplotlib.axes.Axes.patch`; - :attr:`matplotlib.axes.Axes.axesFrame` renamed - :attr:`matplotlib.axes.Axes.frame`. - :meth:`matplotlib.axes.Axes.get_frame`, which returns - :attr:`matplotlib.axes.Axes.patch`, is deprecated. - -* Changes in the :class:`matplotlib.contour.ContourLabeler` attributes - (:func:`matplotlib.pyplot.clabel` function) so that they all have a - form like ``.labelAttribute``. The three attributes that are most - likely to be used by end users, ``.cl``, ``.cl_xy`` and - ``.cl_cvalues`` have been maintained for the moment (in addition to - their renamed versions), but they are deprecated and will eventually - be removed. - -* Moved several functions in :mod:`matplotlib.mlab` and - :mod:`matplotlib.cbook` into a separate module - :mod:`matplotlib.numerical_methods` because they were unrelated to - the initial purpose of mlab or cbook and appeared more coherent - elsewhere. - -Changes for 0.98.1 -================== - -* Removed broken :mod:`matplotlib.axes3d` support and replaced it with - a non-implemented error pointing to 0.91.x - -Changes for 0.98.0 -================== - -* :func:`matplotlib.image.imread` now no longer always returns RGBA data---if - the image is luminance or RGB, it will return a MxN or MxNx3 array - if possible. Also uint8 is no longer always forced to float. - -* Rewrote the :class:`matplotlib.cm.ScalarMappable` callback - infrastructure to use :class:`matplotlib.cbook.CallbackRegistry` - rather than custom callback handling. Any users of - :meth:`matplotlib.cm.ScalarMappable.add_observer` of the - :class:`~matplotlib.cm.ScalarMappable` should use the - :attr:`matplotlib.cm.ScalarMappable.callbacks` - :class:`~matplotlib.cbook.CallbackRegistry` instead. - -* New axes function and Axes method provide control over the plot - color cycle: :func:`matplotlib.axes.set_default_color_cycle` and - :meth:`matplotlib.axes.Axes.set_color_cycle`. - -* Matplotlib now requires Python 2.4, so :mod:`matplotlib.cbook` will - no longer provide :class:`set`, :func:`enumerate`, :func:`reversed` - or :func:`izip` compatibility functions. - -* In Numpy 1.0, bins are specified by the left edges only. The axes - method :meth:`matplotlib.axes.Axes.hist` now uses future Numpy 1.3 - semantics for histograms. Providing ``binedges``, the last value gives - the upper-right edge now, which was implicitly set to +infinity in - Numpy 1.0. This also means that the last bin doesn't contain upper - outliers any more by default. - -* New axes method and pyplot function, - :func:`~matplotlib.pyplot.hexbin`, is an alternative to - :func:`~matplotlib.pyplot.scatter` for large datasets. It makes - something like a :func:`~matplotlib.pyplot.pcolor` of a 2-D - histogram, but uses hexagonal bins. - -* New kwarg, ``symmetric``, in :class:`matplotlib.ticker.MaxNLocator` - allows one require an axis to be centered around zero. - -* Toolkits must now be imported from ``mpl_toolkits`` (not ``matplotlib.toolkits``) - -Notes about the transforms refactoring --------------------------------------- - -A major new feature of the 0.98 series is a more flexible and -extensible transformation infrastructure, written in Python/Numpy -rather than a custom C extension. - -The primary goal of this refactoring was to make it easier to -extend matplotlib to support new kinds of projections. This is -mostly an internal improvement, and the possible user-visible -changes it allows are yet to come. - -See :mod:`matplotlib.transforms` for a description of the design of -the new transformation framework. - -For efficiency, many of these functions return views into Numpy -arrays. This means that if you hold on to a reference to them, -their contents may change. If you want to store a snapshot of -their current values, use the Numpy array method copy(). - -The view intervals are now stored only in one place -- in the -:class:`matplotlib.axes.Axes` instance, not in the locator instances -as well. This means locators must get their limits from their -:class:`matplotlib.axis.Axis`, which in turn looks up its limits from -the :class:`~matplotlib.axes.Axes`. If a locator is used temporarily -and not assigned to an Axis or Axes, (e.g., in -:mod:`matplotlib.contour`), a dummy axis must be created to store its -bounds. Call :meth:`matplotlib.ticker.Locator.create_dummy_axis` to -do so. - -The functionality of :class:`Pbox` has been merged with -:class:`~matplotlib.transforms.Bbox`. Its methods now all return -copies rather than modifying in place. - -The following lists many of the simple changes necessary to update -code from the old transformation framework to the new one. In -particular, methods that return a copy are named with a verb in the -past tense, whereas methods that alter an object in place are named -with a verb in the present tense. - -:mod:`matplotlib.transforms` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -============================================================ ============================================================ -Old method New method -============================================================ ============================================================ -:meth:`Bbox.get_bounds` :attr:`transforms.Bbox.bounds` ------------------------------------------------------------- ------------------------------------------------------------ -:meth:`Bbox.width` :attr:`transforms.Bbox.width` ------------------------------------------------------------- ------------------------------------------------------------ -:meth:`Bbox.height` :attr:`transforms.Bbox.height` ------------------------------------------------------------- ------------------------------------------------------------ -`Bbox.intervalx().get_bounds()` :attr:`transforms.Bbox.intervalx` -`Bbox.intervalx().set_bounds()` [:attr:`Bbox.intervalx` is now a property.] ------------------------------------------------------------- ------------------------------------------------------------ -`Bbox.intervaly().get_bounds()` :attr:`transforms.Bbox.intervaly` -`Bbox.intervaly().set_bounds()` [:attr:`Bbox.intervaly` is now a property.] ------------------------------------------------------------- ------------------------------------------------------------ -:meth:`Bbox.xmin` :attr:`transforms.Bbox.x0` or - :attr:`transforms.Bbox.xmin` [1]_ ------------------------------------------------------------- ------------------------------------------------------------ -:meth:`Bbox.ymin` :attr:`transforms.Bbox.y0` or - :attr:`transforms.Bbox.ymin` [1]_ ------------------------------------------------------------- ------------------------------------------------------------ -:meth:`Bbox.xmax` :attr:`transforms.Bbox.x1` or - :attr:`transforms.Bbox.xmax` [1]_ ------------------------------------------------------------- ------------------------------------------------------------ -:meth:`Bbox.ymax` :attr:`transforms.Bbox.y1` or - :attr:`transforms.Bbox.ymax` [1]_ ------------------------------------------------------------- ------------------------------------------------------------ -`Bbox.overlaps(bboxes)` `Bbox.count_overlaps(bboxes)` ------------------------------------------------------------- ------------------------------------------------------------ -`bbox_all(bboxes)` `Bbox.union(bboxes)` - [:meth:`transforms.Bbox.union` is a staticmethod.] ------------------------------------------------------------- ------------------------------------------------------------ -`lbwh_to_bbox(l, b, w, h)` `Bbox.from_bounds(x0, y0, w, h)` - [:meth:`transforms.Bbox.from_bounds` is a staticmethod.] ------------------------------------------------------------- ------------------------------------------------------------ -`inverse_transform_bbox(trans, bbox)` `Bbox.inverse_transformed(trans)` ------------------------------------------------------------- ------------------------------------------------------------ -`Interval.contains_open(v)` `interval_contains_open(tuple, v)` ------------------------------------------------------------- ------------------------------------------------------------ -`Interval.contains(v)` `interval_contains(tuple, v)` ------------------------------------------------------------- ------------------------------------------------------------ -`identity_transform()` :class:`matplotlib.transforms.IdentityTransform` ------------------------------------------------------------- ------------------------------------------------------------ -`blend_xy_sep_transform(xtrans, ytrans)` `blended_transform_factory(xtrans, ytrans)` ------------------------------------------------------------- ------------------------------------------------------------ -`scale_transform(xs, ys)` `Affine2D().scale(xs[, ys])` ------------------------------------------------------------- ------------------------------------------------------------ -`get_bbox_transform(boxin, boxout)` `BboxTransform(boxin, boxout)` or - `BboxTransformFrom(boxin)` or - `BboxTransformTo(boxout)` ------------------------------------------------------------- ------------------------------------------------------------ -`Transform.seq_xy_tup(points)` `Transform.transform(points)` ------------------------------------------------------------- ------------------------------------------------------------ -`Transform.inverse_xy_tup(points)` `Transform.inverted().transform(points)` -============================================================ ============================================================ - -.. [1] The :class:`~matplotlib.transforms.Bbox` is bound by the points - (x0, y0) to (x1, y1) and there is no defined order to these points, - that is, x0 is not necessarily the left edge of the box. To get - the left edge of the :class:`Bbox`, use the read-only property - :attr:`~matplotlib.transforms.Bbox.xmin`. - -:mod:`matplotlib.axes` -~~~~~~~~~~~~~~~~~~~~~~ - -============================================================ ============================================================ -Old method New method -============================================================ ============================================================ -`Axes.get_position()` :meth:`matplotlib.axes.Axes.get_position` [2]_ ------------------------------------------------------------- ------------------------------------------------------------ -`Axes.set_position()` :meth:`matplotlib.axes.Axes.set_position` [3]_ ------------------------------------------------------------- ------------------------------------------------------------ -`Axes.toggle_log_lineary()` :meth:`matplotlib.axes.Axes.set_yscale` [4]_ ------------------------------------------------------------- ------------------------------------------------------------ -`Subplot` class removed. -============================================================ ============================================================ - -The :class:`Polar` class has moved to :mod:`matplotlib.projections.polar`. - -.. [2] :meth:`matplotlib.axes.Axes.get_position` used to return a list - of points, now it returns a :class:`matplotlib.transforms.Bbox` - instance. - -.. [3] :meth:`matplotlib.axes.Axes.set_position` now accepts either - four scalars or a :class:`matplotlib.transforms.Bbox` instance. - -.. [4] Since the recfactoring allows for more than two scale types - ('log' or 'linear'), it no longer makes sense to have a toggle. - `Axes.toggle_log_lineary()` has been removed. - -:mod:`matplotlib.artist` -~~~~~~~~~~~~~~~~~~~~~~~~ - -============================================================ ============================================================ -Old method New method -============================================================ ============================================================ -`Artist.set_clip_path(path)` `Artist.set_clip_path(path, transform)` [5]_ -============================================================ ============================================================ - -.. [5] :meth:`matplotlib.artist.Artist.set_clip_path` now accepts a - :class:`matplotlib.path.Path` instance and a - :class:`matplotlib.transforms.Transform` that will be applied to - the path immediately before clipping. - -:mod:`matplotlib.collections` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -============================================================ ============================================================ -Old method New method -============================================================ ============================================================ -`linestyle` `linestyles` [6]_ -============================================================ ============================================================ - -.. [6] Linestyles are now treated like all other collection - attributes, i.e. a single value or multiple values may be - provided. - -:mod:`matplotlib.colors` -~~~~~~~~~~~~~~~~~~~~~~~~ - -============================================================ ============================================================ -Old method New method -============================================================ ============================================================ -`ColorConvertor.to_rgba_list(c)` `ColorConvertor.to_rgba_array(c)` - [:meth:`matplotlib.colors.ColorConvertor.to_rgba_array` - returns an Nx4 Numpy array of RGBA color quadruples.] -============================================================ ============================================================ - -:mod:`matplotlib.contour` -~~~~~~~~~~~~~~~~~~~~~~~~~ - -============================================================ ============================================================ -Old method New method -============================================================ ============================================================ -`Contour._segments` :meth:`matplotlib.contour.Contour.get_paths`` [Returns a - list of :class:`matplotlib.path.Path` instances.] -============================================================ ============================================================ - -:mod:`matplotlib.figure` -~~~~~~~~~~~~~~~~~~~~~~~~ - -============================================================ ============================================================ -Old method New method -============================================================ ============================================================ -`Figure.dpi.get()` / `Figure.dpi.set()` :attr:`matplotlib.figure.Figure.dpi` *(a property)* -============================================================ ============================================================ - -:mod:`matplotlib.patches` -~~~~~~~~~~~~~~~~~~~~~~~~~ - -============================================================ ============================================================ -Old method New method -============================================================ ============================================================ -`Patch.get_verts()` :meth:`matplotlib.patches.Patch.get_path` [Returns a - :class:`matplotlib.path.Path` instance] -============================================================ ============================================================ - -:mod:`matplotlib.backend_bases` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -============================================================ ============================================================ -Old method New method -============================================================ ============================================================ -`GraphicsContext.set_clip_rectangle(tuple)` `GraphicsContext.set_clip_rectangle(bbox)` ------------------------------------------------------------- ------------------------------------------------------------ -`GraphicsContext.get_clip_path()` `GraphicsContext.get_clip_path()` [7]_ ------------------------------------------------------------- ------------------------------------------------------------ -`GraphicsContext.set_clip_path()` `GraphicsContext.set_clip_path()` [8]_ -============================================================ ============================================================ - -:class:`~matplotlib.backend_bases.RendererBase` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -New methods: - - * :meth:`draw_path(self, gc, path, transform, rgbFace) - <matplotlib.backend_bases.RendererBase.draw_path>` - - * :meth:`draw_markers(self, gc, marker_path, marker_trans, path, - trans, rgbFace) - <matplotlib.backend_bases.RendererBase.draw_markers>` - - * :meth:`draw_path_collection(self, master_transform, cliprect, - clippath, clippath_trans, paths, all_transforms, offsets, - offsetTrans, facecolors, edgecolors, linewidths, linestyles, - antialiaseds) - <matplotlib.backend_bases.RendererBase.draw_path_collection>` - *[optional]* - -Changed methods: - - * `draw_image(self, x, y, im, bbox)` is now - :meth:`draw_image(self, x, y, im, bbox, clippath, clippath_trans) - <matplotlib.backend_bases.RendererBase.draw_image>` - -Removed methods: - - * `draw_arc` - - * `draw_line_collection` - - * `draw_line` - - * `draw_lines` - - * `draw_point` - - * `draw_quad_mesh` - - * `draw_poly_collection` - - * `draw_polygon` - - * `draw_rectangle` - - * `draw_regpoly_collection` - -.. [7] :meth:`matplotlib.backend_bases.GraphicsContext.get_clip_path` - returns a tuple of the form (*path*, *affine_transform*), where - *path* is a :class:`matplotlib.path.Path` instance and - *affine_transform* is a :class:`matplotlib.transforms.Affine2D` - instance. - -.. [8] :meth:`matplotlib.backend_bases.GraphicsContext.set_clip_path` - now only accepts a :class:`matplotlib.transforms.TransformedPath` - instance. - -Changes for 0.91.2 -================== - -* For :func:`csv2rec`, checkrows=0 is the new default indicating all rows - will be checked for type inference - -* A warning is issued when an image is drawn on log-scaled axes, since - it will not log-scale the image data. - -* Moved :func:`rec2gtk` to :mod:`matplotlib.toolkits.gtktools` - -* Moved :func:`rec2excel` to :mod:`matplotlib.toolkits.exceltools` - -* Removed, dead/experimental ExampleInfo, Namespace and Importer - code from :mod:`matplotlib.__init__` - -Changes for 0.91.1 -================== - -Changes for 0.91.0 -================== - -* Changed :func:`cbook.is_file_like` to - :func:`cbook.is_writable_file_like` and corrected behavior. - -* Added ax kwarg to :func:`pyplot.colorbar` and - :meth:`Figure.colorbar` so that one can specify the axes object from - which space for the colorbar is to be taken, if one does not want to - make the colorbar axes manually. - -* Changed :func:`cbook.reversed` so it yields a tuple rather than a - (index, tuple). This agrees with the python reversed builtin, - and cbook only defines reversed if python doesn't provide the - builtin. - -* Made skiprows=1 the default on :func:`csv2rec` - -* The gd and paint backends have been deleted. - -* The errorbar method and function now accept additional kwargs - so that upper and lower limits can be indicated by capping the - bar with a caret instead of a straight line segment. - -* The :mod:`matplotlib.dviread` file now has a parser for files like - psfonts.map and pdftex.map, to map TeX font names to external files. - -* The file :mod:`matplotlib.type1font` contains a new class for Type 1 - fonts. Currently it simply reads pfa and pfb format files and - stores the data in a way that is suitable for embedding in pdf - files. In the future the class might actually parse the font to - allow e.g., subsetting. - -* :mod:`matplotlib.FT2Font` now supports :meth:`FT_Attach_File`. In - practice this can be used to read an afm file in addition to a - pfa/pfb file, to get metrics and kerning information for a Type 1 - font. - -* The :class:`AFM` class now supports querying CapHeight and stem - widths. The get_name_char method now has an isord kwarg like - get_width_char. - -* Changed :func:`pcolor` default to shading='flat'; but as noted now in the - docstring, it is preferable to simply use the edgecolor kwarg. - -* The mathtext font commands (``\cal``, ``\rm``, ``\it``, ``\tt``) now - behave as TeX does: they are in effect until the next font change - command or the end of the grouping. Therefore uses of ``$\cal{R}$`` - should be changed to ``${\cal R}$``. Alternatively, you may use the - new LaTeX-style font commands (``\mathcal``, ``\mathrm``, - ``\mathit``, ``\mathtt``) which do affect the following group, - e.g., ``$\mathcal{R}$``. - -* Text creation commands have a new default linespacing and a new - ``linespacing`` kwarg, which is a multiple of the maximum vertical - extent of a line of ordinary text. The default is 1.2; - ``linespacing=2`` would be like ordinary double spacing, for example. - -* Changed default kwarg in - :meth:`matplotlib.colors.Normalize.__init__`` to ``clip=False``; - clipping silently defeats the purpose of the special over, under, - and bad values in the colormap, thereby leading to unexpected - behavior. The new default should reduce such surprises. - -* Made the emit property of :meth:`~matplotlib.axes.Axes.set_xlim` and - :meth:`~matplotlib.axes.Axes.set_ylim` ``True`` by default; removed - the Axes custom callback handling into a 'callbacks' attribute which - is a :class:`~matplotlib.cbook.CallbackRegistry` instance. This now - supports the 'xlim_changed' and 'ylim_changed' Axes events. - -Changes for 0.90.1 -================== - -:: - - The file dviread.py has a (very limited and fragile) dvi reader - for usetex support. The API might change in the future so don't - depend on it yet. - - Removed deprecated support for a float value as a gray-scale; - now it must be a string, like '0.5'. Added alpha kwarg to - ColorConverter.to_rgba_list. - - New method set_bounds(vmin, vmax) for formatters, locators sets - the viewInterval and dataInterval from floats. - - Removed deprecated colorbar_classic. - - Line2D.get_xdata and get_ydata valid_only=False kwarg is replaced - by orig=True. When True, it returns the original data, otherwise - the processed data (masked, converted) - - Some modifications to the units interface. - units.ConversionInterface.tickers renamed to - units.ConversionInterface.axisinfo and it now returns a - units.AxisInfo object rather than a tuple. This will make it - easier to add axis info functionality (e.g., I added a default label - on this iteration) w/o having to change the tuple length and hence - the API of the client code every time new functionality is added. - Also, units.ConversionInterface.convert_to_value is now simply - named units.ConversionInterface.convert. - - Axes.errorbar uses Axes.vlines and Axes.hlines to draw its error - limits int he vertical and horizontal direction. As you'll see - in the changes below, these functions now return a LineCollection - rather than a list of lines. The new return signature for - errorbar is ylins, caplines, errorcollections where - errorcollections is a xerrcollection, yerrcollection - - Axes.vlines and Axes.hlines now create and returns a LineCollection, not a list - of lines. This is much faster. The kwarg signature has changed, - so consult the docs - - MaxNLocator accepts a new Boolean kwarg ('integer') to force - ticks to integer locations. - - Commands that pass an argument to the Text constructor or to - Text.set_text() now accept any object that can be converted - with '%s'. This affects xlabel(), title(), etc. - - Barh now takes a **kwargs dict instead of most of the old - arguments. This helps ensure that bar and barh are kept in sync, - but as a side effect you can no longer pass e.g., color as a - positional argument. - - ft2font.get_charmap() now returns a dict that maps character codes - to glyph indices (until now it was reversed) - - Moved data files into lib/matplotlib so that setuptools' develop - mode works. Re-organized the mpl-data layout so that this source - structure is maintained in the installation. (i.e., the 'fonts' and - 'images' sub-directories are maintained in site-packages.). - Suggest removing site-packages/matplotlib/mpl-data and - ~/.matplotlib/ttffont.cache before installing - -Changes for 0.90.0 -================== - -:: - - All artists now implement a "pick" method which users should not - call. Rather, set the "picker" property of any artist you want to - pick on (the epsilon distance in points for a hit test) and - register with the "pick_event" callback. See - examples/pick_event_demo.py for details - - Bar, barh, and hist have "log" binary kwarg: log=True - sets the ordinate to a log scale. - - Boxplot can handle a list of vectors instead of just - an array, so vectors can have different lengths. - - Plot can handle 2-D x and/or y; it plots the columns. - - Added linewidth kwarg to bar and barh. - - Made the default Artist._transform None (rather than invoking - identity_transform for each artist only to have it overridden - later). Use artist.get_transform() rather than artist._transform, - even in derived classes, so that the default transform will be - created lazily as needed - - New LogNorm subclass of Normalize added to colors.py. - All Normalize subclasses have new inverse() method, and - the __call__() method has a new clip kwarg. - - Changed class names in colors.py to match convention: - normalize -> Normalize, no_norm -> NoNorm. Old names - are still available for now. - - Removed obsolete pcolor_classic command and method. - - Removed lineprops and markerprops from the Annotation code and - replaced them with an arrow configurable with kwarg arrowprops. - See examples/annotation_demo.py - JDH - -Changes for 0.87.7 -================== - -:: - - Completely reworked the annotations API because I found the old - API cumbersome. The new design is much more legible and easy to - read. See matplotlib.text.Annotation and - examples/annotation_demo.py - - markeredgecolor and markerfacecolor cannot be configured in - matplotlibrc any more. Instead, markers are generally colored - automatically based on the color of the line, unless marker colors - are explicitly set as kwargs - NN - - Changed default comment character for load to '#' - JDH - - math_parse_s_ft2font_svg from mathtext.py & mathtext2.py now returns - width, height, svg_elements. svg_elements is an instance of Bunch ( - cmbook.py) and has the attributes svg_glyphs and svg_lines, which are both - lists. - - Renderer.draw_arc now takes an additional parameter, rotation. - It specifies to draw the artist rotated in degrees anti- - clockwise. It was added for rotated ellipses. - - Renamed Figure.set_figsize_inches to Figure.set_size_inches to - better match the get method, Figure.get_size_inches. - - Removed the copy_bbox_transform from transforms.py; added - shallowcopy methods to all transforms. All transforms already - had deepcopy methods. - - FigureManager.resize(width, height): resize the window - specified in pixels - - barh: x and y args have been renamed to width and bottom - respectively, and their order has been swapped to maintain - a (position, value) order. - - bar and barh: now accept kwarg 'edgecolor'. - - bar and barh: The left, height, width and bottom args can - now all be scalars or sequences; see docstring. - - barh: now defaults to edge aligned instead of center - aligned bars - - bar, barh and hist: Added a keyword arg 'align' that - controls between edge or center bar alignment. - - Collections: PolyCollection and LineCollection now accept - vertices or segments either in the original form [(x,y), - (x,y), ...] or as a 2D numerix array, with X as the first column - and Y as the second. Contour and quiver output the numerix - form. The transforms methods Bbox.update() and - Transformation.seq_xy_tups() now accept either form. - - Collections: LineCollection is now a ScalarMappable like - PolyCollection, etc. - - Specifying a grayscale color as a float is deprecated; use - a string instead, e.g., 0.75 -> '0.75'. - - Collections: initializers now accept any mpl color arg, or - sequence of such args; previously only a sequence of rgba - tuples was accepted. - - Colorbar: completely new version and api; see docstring. The - original version is still accessible as colorbar_classic, but - is deprecated. - - Contourf: "extend" kwarg replaces "clip_ends"; see docstring. - Masked array support added to pcolormesh. - - Modified aspect-ratio handling: - Removed aspect kwarg from imshow - Axes methods: - set_aspect(self, aspect, adjustable=None, anchor=None) - set_adjustable(self, adjustable) - set_anchor(self, anchor) - Pylab interface: - axis('image') - - Backend developers: ft2font's load_char now takes a flags - argument, which you can OR together from the LOAD_XXX - constants. - -Changes for 0.86 -================ - -:: - - Matplotlib data is installed into the matplotlib module. - This is similar to package_data. This should get rid of - having to check for many possibilities in _get_data_path(). - The MATPLOTLIBDATA env key is still checked first to allow - for flexibility. - - 1) Separated the color table data from cm.py out into - a new file, _cm.py, to make it easier to find the actual - code in cm.py and to add new colormaps. Everything - from _cm.py is imported by cm.py, so the split should be - transparent. - 2) Enabled automatic generation of a colormap from - a list of colors in contour; see modified - examples/contour_demo.py. - 3) Support for imshow of a masked array, with the - ability to specify colors (or no color at all) for - masked regions, and for regions that are above or - below the normally mapped region. See - examples/image_masked.py. - 4) In support of the above, added two new classes, - ListedColormap, and no_norm, to colors.py, and modified - the Colormap class to include common functionality. Added - a clip kwarg to the normalize class. - -Changes for 0.85 -================ - -:: - - Made xtick and ytick separate props in rc - - made pos=None the default for tick formatters rather than 0 to - indicate "not supplied" - - Removed "feature" of minor ticks which prevents them from - overlapping major ticks. Often you want major and minor ticks at - the same place, and can offset the major ticks with the pad. This - could be made configurable - - Changed the internal structure of contour.py to a more OO style. - Calls to contour or contourf in axes.py or pylab.py now return - a ContourSet object which contains references to the - LineCollections or PolyCollections created by the call, - as well as the configuration variables that were used. - The ContourSet object is a "mappable" if a colormap was used. - - Added a clip_ends kwarg to contourf. From the docstring: - * clip_ends = True - If False, the limits for color scaling are set to the - minimum and maximum contour levels. - True (default) clips the scaling limits. Example: - if the contour boundaries are V = [-100, 2, 1, 0, 1, 2, 100], - then the scaling limits will be [-100, 100] if clip_ends - is False, and [-3, 3] if clip_ends is True. - Added kwargs linewidths, antialiased, and nchunk to contourf. These - are experimental; see the docstring. - - Changed Figure.colorbar(): - kw argument order changed; - if mappable arg is a non-filled ContourSet, colorbar() shows - lines instead hof polygons. - if mappable arg is a filled ContourSet with clip_ends=True, - the endpoints are not labelled, so as to give the - correct impression of open-endedness. - - Changed LineCollection.get_linewidths to get_linewidth, for - consistency. - - -Changes for 0.84 -================ - -:: - - Unified argument handling between hlines and vlines. Both now - take optionally a fmt argument (as in plot) and a keyword args - that can be passed onto Line2D. - - Removed all references to "data clipping" in rc and lines.py since - these were not used and not optimized. I'm sure they'll be - resurrected later with a better implementation when needed. - - 'set' removed - no more deprecation warnings. Use 'setp' instead. - - Backend developers: Added flipud method to image and removed it - from to_str. Removed origin kwarg from backend.draw_image. - origin is handled entirely by the frontend now. - -Changes for 0.83 -================ - -:: - - - Made HOME/.matplotlib the new config dir where the matplotlibrc - file, the ttf.cache, and the tex.cache live. The new default - filenames in .matplotlib have no leading dot and are not hidden. - e.g., the new names are matplotlibrc, tex.cache, and ttffont.cache. - This is how ipython does it so it must be right. - - If old files are found, a warning is issued and they are moved to - the new location. - - - backends/__init__.py no longer imports new_figure_manager, - draw_if_interactive and show from the default backend, but puts - these imports into a call to pylab_setup. Also, the Toolbar is no - longer imported from WX/WXAgg. New usage: - - from backends import pylab_setup - new_figure_manager, draw_if_interactive, show = pylab_setup() - - - Moved Figure.get_width_height() to FigureCanvasBase. It now - returns int instead of float. - -Changes for 0.82 -================ - -:: - - - toolbar import change in GTKAgg, GTKCairo and WXAgg - - - Added subplot config tool to GTK* backends -- note you must now - import the NavigationToolbar2 from your backend of choice rather - than from backend_gtk because it needs to know about the backend - specific canvas -- see examples/embedding_in_gtk2.py. Ditto for - wx backend -- see examples/embedding_in_wxagg.py - - - - hist bin change - - Sean Richards notes there was a problem in the way we created - the binning for histogram, which made the last bin - underrepresented. From his post: - - I see that hist uses the linspace function to create the bins - and then uses searchsorted to put the values in their correct - bin. That's all good but I am confused over the use of linspace - for the bin creation. I wouldn't have thought that it does - what is needed, to quote the docstring it creates a "Linear - spaced array from min to max". For it to work correctly - shouldn't the values in the bins array be the same bound for - each bin? (i.e. each value should be the lower bound of a - bin). To provide the correct bins for hist would it not be - something like - - def bins(xmin, xmax, N): - if N==1: return xmax - dx = (xmax-xmin)/N # instead of N-1 - return xmin + dx*arange(N) - - - This suggestion is implemented in 0.81. My test script with these - changes does not reveal any bias in the binning - - from matplotlib.numerix.mlab import randn, rand, zeros, Float - from matplotlib.mlab import hist, mean - - Nbins = 50 - Ntests = 200 - results = zeros((Ntests,Nbins), typecode=Float) - for i in range(Ntests): - print 'computing', i - x = rand(10000) - n, bins = hist(x, Nbins) - results[i] = n - print mean(results) - - -Changes for 0.81 -================ - -:: - - - pylab and artist "set" functions renamed to setp to avoid clash - with python2.4 built-in set. Current version will issue a - deprecation warning which will be removed in future versions - - - imshow interpolation arguments changes for advanced interpolation - schemes. See help imshow, particularly the interpolation, - filternorm and filterrad kwargs - - - Support for masked arrays has been added to the plot command and - to the Line2D object. Only the valid points are plotted. A - "valid_only" kwarg was added to the get_xdata() and get_ydata() - methods of Line2D; by default it is False, so that the original - data arrays are returned. Setting it to True returns the plottable - points. - - - contour changes: - - Masked arrays: contour and contourf now accept masked arrays as - the variable to be contoured. Masking works correctly for - contour, but a bug remains to be fixed before it will work for - contourf. The "badmask" kwarg has been removed from both - functions. - - Level argument changes: - - Old version: a list of levels as one of the positional - arguments specified the lower bound of each filled region; the - upper bound of the last region was taken as a very large - number. Hence, it was not possible to specify that z values - between 0 and 1, for example, be filled, and that values - outside that range remain unfilled. - - New version: a list of N levels is taken as specifying the - boundaries of N-1 z ranges. Now the user has more control over - what is colored and what is not. Repeated calls to contourf - (with different colormaps or color specifications, for example) - can be used to color different ranges of z. Values of z - outside an expected range are left uncolored. - - Example: - Old: contourf(z, [0, 1, 2]) would yield 3 regions: 0-1, 1-2, and >2. - New: it would yield 2 regions: 0-1, 1-2. If the same 3 regions were - desired, the equivalent list of levels would be [0, 1, 2, - 1e38]. - -Changes for 0.80 -================ - -:: - - - xlim/ylim/axis always return the new limits regardless of - arguments. They now take kwargs which allow you to selectively - change the upper or lower limits while leaving unnamed limits - unchanged. See help(xlim) for example - -Changes for 0.73 -================ - -:: - - - Removed deprecated ColormapJet and friends - - - Removed all error handling from the verbose object - - - figure num of zero is now allowed - -Changes for 0.72 -================ - -:: - - - Line2D, Text, and Patch copy_properties renamed update_from and - moved into artist base class - - - LineCollecitons.color renamed to LineCollections.set_color for - consistency with set/get introspection mechanism, - - - pylab figure now defaults to num=None, which creates a new figure - with a guaranteed unique number - - - contour method syntax changed - now it is MATLAB compatible - - unchanged: contour(Z) - old: contour(Z, x=Y, y=Y) - new: contour(X, Y, Z) - - see http://matplotlib.sf.net/matplotlib.pylab.html#-contour - - - - Increased the default resolution for save command. - - - Renamed the base attribute of the ticker classes to _base to avoid conflict - with the base method. Sitt for subs - - - subs=none now does autosubbing in the tick locator. - - - New subplots that overlap old will delete the old axes. If you - do not want this behavior, use fig.add_subplot or the axes - command - -Changes for 0.71 -================ - -:: - - Significant numerix namespace changes, introduced to resolve - namespace clashes between python built-ins and mlab names. - Refactored numerix to maintain separate modules, rather than - folding all these names into a single namespace. See the following - mailing list threads for more information and background - - http://sourceforge.net/mailarchive/forum.php?thread_id=6398890&forum_id=36187 - http://sourceforge.net/mailarchive/forum.php?thread_id=6323208&forum_id=36187 - - - OLD usage - - from matplotlib.numerix import array, mean, fft - - NEW usage - - from matplotlib.numerix import array - from matplotlib.numerix.mlab import mean - from matplotlib.numerix.fft import fft - - numerix dir structure mirrors numarray (though it is an incomplete - implementation) - - numerix - numerix/mlab - numerix/linear_algebra - numerix/fft - numerix/random_array - - but of course you can use 'numerix : Numeric' and still get the - symbols. - - pylab still imports most of the symbols from Numerix, MLab, fft, - etc, but is more cautious. For names that clash with python names - (min, max, sum), pylab keeps the builtins and provides the numeric - versions with an a* prefix, e.g., (amin, amax, asum) - -Changes for 0.70 -================ - -:: - - MplEvent factored into a base class Event and derived classes - MouseEvent and KeyEvent - - Removed definct set_measurement in wx toolbar - -Changes for 0.65.1 -================== - -:: - - removed add_axes and add_subplot from backend_bases. Use - figure.add_axes and add_subplot instead. The figure now manages the - current axes with gca and sca for get and set current axes. If you - have code you are porting which called, e.g., figmanager.add_axes, you - can now simply do figmanager.canvas.figure.add_axes. - -Changes for 0.65 -================ - -:: - - - mpl_connect and mpl_disconnect in the MATLAB interface renamed to - connect and disconnect - - Did away with the text methods for angle since they were ambiguous. - fontangle could mean fontstyle (obligue, etc) or the rotation of the - text. Use style and rotation instead. - -Changes for 0.63 -================ - -:: - - Dates are now represented internally as float days since 0001-01-01, - UTC. - - All date tickers and formatters are now in matplotlib.dates, rather - than matplotlib.tickers - - converters have been abolished from all functions and classes. - num2date and date2num are now the converter functions for all date - plots - - Most of the date tick locators have a different meaning in their - constructors. In the prior implementation, the first argument was a - base and multiples of the base were ticked. e.g., - - HourLocator(5) # old: tick every 5 minutes - - In the new implementation, the explicit points you want to tick are - provided as a number or sequence - - HourLocator(range(0,5,61)) # new: tick every 5 minutes - - This gives much greater flexibility. I have tried to make the - default constructors (no args) behave similarly, where possible. - - Note that YearLocator still works under the base/multiple scheme. - The difference between the YearLocator and the other locators is - that years are not recurrent. - - - Financial functions: - - matplotlib.finance.quotes_historical_yahoo(ticker, date1, date2) - - date1, date2 are now datetime instances. Return value is a list - of quotes where the quote time is a float - days since gregorian - start, as returned by date2num - - See examples/finance_demo.py for example usage of new API - -Changes for 0.61 -================ - -:: - - canvas.connect is now deprecated for event handling. use - mpl_connect and mpl_disconnect instead. The callback signature is - func(event) rather than func(widget, event) - -Changes for 0.60 -================ - -:: - - ColormapJet and Grayscale are deprecated. For backwards - compatibility, they can be obtained either by doing - - from matplotlib.cm import ColormapJet - - or - - from matplotlib.matlab import * - - They are replaced by cm.jet and cm.grey - -Changes for 0.54.3 -================== - -:: - - removed the set_default_font / get_default_font scheme from the - font_manager to unify customization of font defaults with the rest of - the rc scheme. See examples/font_properties_demo.py and help(rc) in - matplotlib.matlab. - -Changes for 0.54 -================ - -MATLAB interface ----------------- - -dpi -~~~ - -Several of the backends used a PIXELS_PER_INCH hack that I added to -try and make images render consistently across backends. This just -complicated matters. So you may find that some font sizes and line -widths appear different than before. Apologies for the -inconvenience. You should set the dpi to an accurate value for your -screen to get true sizes. - - -pcolor and scatter -~~~~~~~~~~~~~~~~~~ - -There are two changes to the MATLAB interface API, both involving the -patch drawing commands. For efficiency, pcolor and scatter have been -rewritten to use polygon collections, which are a new set of objects -from matplotlib.collections designed to enable efficient handling of -large collections of objects. These new collections make it possible -to build large scatter plots or pcolor plots with no loops at the -python level, and are significantly faster than their predecessors. -The original pcolor and scatter functions are retained as -pcolor_classic and scatter_classic. - -The return value from pcolor is a PolyCollection. Most of the -propertes that are available on rectangles or other patches are also -available on PolyCollections, e.g., you can say:: - - c = scatter(blah, blah) - c.set_linewidth(1.0) - c.set_facecolor('r') - c.set_alpha(0.5) - -or:: - - c = scatter(blah, blah) - set(c, 'linewidth', 1.0, 'facecolor', 'r', 'alpha', 0.5) - - -Because the collection is a single object, you no longer need to loop -over the return value of scatter or pcolor to set properties for the -entire list. - -If you want the different elements of a collection to vary on a -property, e.g., to have different line widths, see matplotlib.collections -for a discussion on how to set the properties as a sequence. - -For scatter, the size argument is now in points^2 (the area of the -symbol in points) as in MATLAB and is not in data coords as before. -Using sizes in data coords caused several problems. So you will need -to adjust your size arguments accordingly or use scatter_classic. - -mathtext spacing -~~~~~~~~~~~~~~~~ - -For reasons not clear to me (and which I'll eventually fix) spacing no -longer works in font groups. However, I added three new spacing -commands which compensate for this '\ ' (regular space), '\/' (small -space) and '\hspace{frac}' where frac is a fraction of fontsize in -points. You will need to quote spaces in font strings, is:: - - title(r'$\rm{Histogram\ of\ IQ:}\ \mu=100,\ \sigma=15$') - - - -Object interface - Application programmers ------------------------------------------- - -Autoscaling -~~~~~~~~~~~ - - The x and y axis instances no longer have autoscale view. These are - handled by axes.autoscale_view - -Axes creation -~~~~~~~~~~~~~ - - You should not instantiate your own Axes any more using the OO API. - Rather, create a Figure as before and in place of:: - - f = Figure(figsize=(5,4), dpi=100) - a = Subplot(f, 111) - f.add_axis(a) - - use:: - - f = Figure(figsize=(5,4), dpi=100) - a = f.add_subplot(111) - - That is, add_axis no longer exists and is replaced by:: - - add_axes(rect, axisbg=defaultcolor, frameon=True) - add_subplot(num, axisbg=defaultcolor, frameon=True) - -Artist methods -~~~~~~~~~~~~~~ - - If you define your own Artists, you need to rename the _draw method - to draw - -Bounding boxes -~~~~~~~~~~~~~~ - - matplotlib.transforms.Bound2D is replaced by - matplotlib.transforms.Bbox. If you want to construct a bbox from - left, bottom, width, height (the signature for Bound2D), use - matplotlib.transforms.lbwh_to_bbox, as in - - bbox = clickBBox = lbwh_to_bbox(left, bottom, width, height) - - The Bbox has a different API than the Bound2D. e.g., if you want to - get the width and height of the bbox - - OLD:: - width = fig.bbox.x.interval() - height = fig.bbox.y.interval() - - New:: - width = fig.bbox.width() - height = fig.bbox.height() - - - - -Object constructors -~~~~~~~~~~~~~~~~~~~ - - You no longer pass the bbox, dpi, or transforms to the various - Artist constructors. The old way or creating lines and rectangles - was cumbersome because you had to pass so many attributes to the - Line2D and Rectangle classes not related directly to the geometry - and properties of the object. Now default values are added to the - object when you call axes.add_line or axes.add_patch, so they are - hidden from the user. - - If you want to define a custom transformation on these objects, call - o.set_transform(trans) where trans is a Transformation instance. - - In prior versions of you wanted to add a custom line in data coords, - you would have to do - - l = Line2D(dpi, bbox, x, y, - color = color, - transx = transx, - transy = transy, - ) - - now all you need is - - l = Line2D(x, y, color=color) - - and the axes will set the transformation for you (unless you have - set your own already, in which case it will eave it unchanged) - -Transformations -~~~~~~~~~~~~~~~ - - The entire transformation architecture has been rewritten. - Previously the x and y transformations where stored in the xaxis and - yaxis instances. The problem with this approach is it only allows - for separable transforms (where the x and y transformations don't - depend on one another). But for cases like polar, they do. Now - transformations operate on x,y together. There is a new base class - matplotlib.transforms.Transformation and two concrete - implementations, matplotlib.transforms.SeparableTransformation and - matplotlib.transforms.Affine. The SeparableTransformation is - constructed with the bounding box of the input (this determines the - rectangular coordinate system of the input, i.e., the x and y view - limits), the bounding box of the display, and possibly nonlinear - transformations of x and y. The 2 most frequently used - transformations, data coordinates -> display and axes coordinates -> - display are available as ax.transData and ax.transAxes. See - alignment_demo.py which uses axes coords. - - Also, the transformations should be much faster now, for two reasons - - * they are written entirely in extension code - - * because they operate on x and y together, they can do the entire - transformation in one loop. Earlier I did something along the - lines of:: - - xt = sx*func(x) + tx - yt = sy*func(y) + ty - - Although this was done in numerix, it still involves 6 length(x) - for-loops (the multiply, add, and function evaluation each for x - and y). Now all of that is done in a single pass. - - - If you are using transformations and bounding boxes to get the - cursor position in data coordinates, the method calls are a little - different now. See the updated examples/coords_demo.py which shows - you how to do this. - - Likewise, if you are using the artist bounding boxes to pick items - on the canvas with the GUI, the bbox methods are somewhat - different. You will need to see the updated - examples/object_picker.py. - - See unit/transforms_unit.py for many examples using the new - transformations. - - -.. highlight:: none - -Changes for 0.50 -================ - -:: - - * refactored Figure class so it is no longer backend dependent. - FigureCanvasBackend takes over the backend specific duties of the - Figure. matplotlib.backend_bases.FigureBase moved to - matplotlib.figure.Figure. - - * backends must implement FigureCanvasBackend (the thing that - controls the figure and handles the events if any) and - FigureManagerBackend (wraps the canvas and the window for MATLAB - interface). FigureCanvasBase implements a backend switching - mechanism - - * Figure is now an Artist (like everything else in the figure) and - is totally backend independent - - * GDFONTPATH renamed to TTFPATH - - * backend faceColor argument changed to rgbFace - - * colormap stuff moved to colors.py - - * arg_to_rgb in backend_bases moved to class ColorConverter in - colors.py - - * GD users must upgrade to gd-2.0.22 and gdmodule-0.52 since new gd - features (clipping, antialiased lines) are now used. - - * Renderer must implement points_to_pixels - - Migrating code: - - MATLAB interface: - - The only API change for those using the MATLAB interface is in how - you call figure redraws for dynamically updating figures. In the - old API, you did - - fig.draw() - - In the new API, you do - - manager = get_current_fig_manager() - manager.canvas.draw() - - See the examples system_monitor.py, dynamic_demo.py, and anim.py - - API - - There is one important API change for application developers. - Figure instances used subclass GUI widgets that enabled them to be - placed directly into figures. e.g., FigureGTK subclassed - gtk.DrawingArea. Now the Figure class is independent of the - backend, and FigureCanvas takes over the functionality formerly - handled by Figure. In order to include figures into your apps, - you now need to do, for example - - # gtk example - fig = Figure(figsize=(5,4), dpi=100) - canvas = FigureCanvasGTK(fig) # a gtk.DrawingArea - canvas.show() - vbox.pack_start(canvas) - - If you use the NavigationToolbar, this in now initialized with a - FigureCanvas, not a Figure. The examples embedding_in_gtk.py, - embedding_in_gtk2.py, and mpl_with_glade.py all reflect the new - API so use these as a guide. - - All prior calls to - - figure.draw() and - figure.print_figure(args) - - should now be - - canvas.draw() and - canvas.print_figure(args) - - Apologies for the inconvenience. This refactorization brings - significant more freedom in developing matplotlib and should bring - better plotting capabilities, so I hope the inconvenience is worth - it. - -Changes for 0.42 -================ - -:: - - * Refactoring AxisText to be backend independent. Text drawing and - get_window_extent functionality will be moved to the Renderer. - - * backend_bases.AxisTextBase is now text.Text module - - * All the erase and reset functionality removed from AxisText - not - needed with double buffered drawing. Ditto with state change. - Text instances have a get_prop_tup method that returns a hashable - tuple of text properties which you can use to see if text props - have changed, e.g., by caching a font or layout instance in a dict - with the prop tup as a key -- see RendererGTK.get_pango_layout in - backend_gtk for an example. - - * Text._get_xy_display renamed Text.get_xy_display - - * Artist set_renderer and wash_brushes methods removed - - * Moved Legend class from matplotlib.axes into matplotlib.legend - - * Moved Tick, XTick, YTick, Axis, XAxis, YAxis from matplotlib.axes - to matplotlib.axis - - * moved process_text_args to matplotlib.text - - * After getting Text handled in a backend independent fashion, the - import process is much cleaner since there are no longer cyclic - dependencies - - * matplotlib.matlab._get_current_fig_manager renamed to - matplotlib.matlab.get_current_fig_manager to allow user access to - the GUI window attribute, e.g., figManager.window for GTK and - figManager.frame for wx - -Changes for 0.40 -================ - -:: - - - Artist - * __init__ takes a DPI instance and a Bound2D instance which is - the bounding box of the artist in display coords - * get_window_extent returns a Bound2D instance - * set_size is removed; replaced by bbox and dpi - * the clip_gc method is removed. Artists now clip themselves with - their box - * added _clipOn boolean attribute. If True, gc clip to bbox. - - - AxisTextBase - * Initialized with a transx, transy which are Transform instances - * set_drawing_area removed - * get_left_right and get_top_bottom are replaced by get_window_extent - - - Line2D Patches now take transx, transy - * Initialized with a transx, transy which are Transform instances - - - Patches - * Initialized with a transx, transy which are Transform instances - - - FigureBase attributes dpi is a DPI instance rather than scalar and - new attribute bbox is a Bound2D in display coords, and I got rid - of the left, width, height, etc... attributes. These are now - accessible as, for example, bbox.x.min is left, bbox.x.interval() - is width, bbox.y.max is top, etc... - - - GcfBase attribute pagesize renamed to figsize - - - Axes - * removed figbg attribute - * added fig instance to __init__ - * resizing is handled by figure call to resize. - - - Subplot - * added fig instance to __init__ - - - Renderer methods for patches now take gcEdge and gcFace instances. - gcFace=None takes the place of filled=False - - - True and False symbols provided by cbook in a python2.3 compatible - way - - - new module transforms supplies Bound1D, Bound2D and Transform - instances and more - - - Changes to the MATLAB helpers API - - * _matlab_helpers.GcfBase is renamed by Gcf. Backends no longer - need to derive from this class. Instead, they provide a factory - function new_figure_manager(num, figsize, dpi). The destroy - method of the GcfDerived from the backends is moved to the derived - FigureManager. - - * FigureManagerBase moved to backend_bases - - * Gcf.get_all_figwins renamed to Gcf.get_all_fig_managers - - Jeremy: - - Make sure to self._reset = False in AxisTextWX._set_font. This was - something missing in my backend code. diff --git a/doc/api/api_changes_old.rst b/doc/api/api_changes_old.rst new file mode 100644 index 000000000000..d21b7cad1197 --- /dev/null +++ b/doc/api/api_changes_old.rst @@ -0,0 +1,10 @@ + +================ + Old API Changes +================ + +.. toctree:: + :glob: + :maxdepth: 1 + + prev_api_changes/* diff --git a/doc/api/prev_api_changes/api_changes_0.40.rst b/doc/api/prev_api_changes/api_changes_0.40.rst new file mode 100644 index 000000000000..31b473ac3239 --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_0.40.rst @@ -0,0 +1,67 @@ + +Changes for 0.40 +================ + +:: + + - Artist + * __init__ takes a DPI instance and a Bound2D instance which is + the bounding box of the artist in display coords + * get_window_extent returns a Bound2D instance + * set_size is removed; replaced by bbox and dpi + * the clip_gc method is removed. Artists now clip themselves with + their box + * added _clipOn boolean attribute. If True, gc clip to bbox. + + - AxisTextBase + * Initialized with a transx, transy which are Transform instances + * set_drawing_area removed + * get_left_right and get_top_bottom are replaced by get_window_extent + + - Line2D Patches now take transx, transy + * Initialized with a transx, transy which are Transform instances + + - Patches + * Initialized with a transx, transy which are Transform instances + + - FigureBase attributes dpi is a DPI instance rather than scalar and + new attribute bbox is a Bound2D in display coords, and I got rid + of the left, width, height, etc... attributes. These are now + accessible as, for example, bbox.x.min is left, bbox.x.interval() + is width, bbox.y.max is top, etc... + + - GcfBase attribute pagesize renamed to figsize + + - Axes + * removed figbg attribute + * added fig instance to __init__ + * resizing is handled by figure call to resize. + + - Subplot + * added fig instance to __init__ + + - Renderer methods for patches now take gcEdge and gcFace instances. + gcFace=None takes the place of filled=False + + - True and False symbols provided by cbook in a python2.3 compatible + way + + - new module transforms supplies Bound1D, Bound2D and Transform + instances and more + + - Changes to the MATLAB helpers API + + * _matlab_helpers.GcfBase is renamed by Gcf. Backends no longer + need to derive from this class. Instead, they provide a factory + function new_figure_manager(num, figsize, dpi). The destroy + method of the GcfDerived from the backends is moved to the derived + FigureManager. + + * FigureManagerBase moved to backend_bases + + * Gcf.get_all_figwins renamed to Gcf.get_all_fig_managers + + Jeremy: + + Make sure to self._reset = False in AxisTextWX._set_font. This was + something missing in my backend code. diff --git a/doc/api/prev_api_changes/api_changes_0.42.rst b/doc/api/prev_api_changes/api_changes_0.42.rst new file mode 100644 index 000000000000..8b5069449c0c --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_0.42.rst @@ -0,0 +1,37 @@ +Changes for 0.42 +================ + +:: + + * Refactoring AxisText to be backend independent. Text drawing and + get_window_extent functionality will be moved to the Renderer. + + * backend_bases.AxisTextBase is now text.Text module + + * All the erase and reset functionality removed from AxisText - not + needed with double buffered drawing. Ditto with state change. + Text instances have a get_prop_tup method that returns a hashable + tuple of text properties which you can use to see if text props + have changed, e.g., by caching a font or layout instance in a dict + with the prop tup as a key -- see RendererGTK.get_pango_layout in + backend_gtk for an example. + + * Text._get_xy_display renamed Text.get_xy_display + + * Artist set_renderer and wash_brushes methods removed + + * Moved Legend class from matplotlib.axes into matplotlib.legend + + * Moved Tick, XTick, YTick, Axis, XAxis, YAxis from matplotlib.axes + to matplotlib.axis + + * moved process_text_args to matplotlib.text + + * After getting Text handled in a backend independent fashion, the + import process is much cleaner since there are no longer cyclic + dependencies + + * matplotlib.matlab._get_current_fig_manager renamed to + matplotlib.matlab.get_current_fig_manager to allow user access to + the GUI window attribute, e.g., figManager.window for GTK and + figManager.frame for wx diff --git a/doc/api/prev_api_changes/api_changes_0.50.rst b/doc/api/prev_api_changes/api_changes_0.50.rst new file mode 100644 index 000000000000..dfd8249ce46a --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_0.50.rst @@ -0,0 +1,86 @@ + +Changes for 0.50 +================ + +:: + + * refactored Figure class so it is no longer backend dependent. + FigureCanvasBackend takes over the backend specific duties of the + Figure. matplotlib.backend_bases.FigureBase moved to + matplotlib.figure.Figure. + + * backends must implement FigureCanvasBackend (the thing that + controls the figure and handles the events if any) and + FigureManagerBackend (wraps the canvas and the window for MATLAB + interface). FigureCanvasBase implements a backend switching + mechanism + + * Figure is now an Artist (like everything else in the figure) and + is totally backend independent + + * GDFONTPATH renamed to TTFPATH + + * backend faceColor argument changed to rgbFace + + * colormap stuff moved to colors.py + + * arg_to_rgb in backend_bases moved to class ColorConverter in + colors.py + + * GD users must upgrade to gd-2.0.22 and gdmodule-0.52 since new gd + features (clipping, antialiased lines) are now used. + + * Renderer must implement points_to_pixels + + Migrating code: + + MATLAB interface: + + The only API change for those using the MATLAB interface is in how + you call figure redraws for dynamically updating figures. In the + old API, you did + + fig.draw() + + In the new API, you do + + manager = get_current_fig_manager() + manager.canvas.draw() + + See the examples system_monitor.py, dynamic_demo.py, and anim.py + + API + + There is one important API change for application developers. + Figure instances used subclass GUI widgets that enabled them to be + placed directly into figures. e.g., FigureGTK subclassed + gtk.DrawingArea. Now the Figure class is independent of the + backend, and FigureCanvas takes over the functionality formerly + handled by Figure. In order to include figures into your apps, + you now need to do, for example + + # gtk example + fig = Figure(figsize=(5,4), dpi=100) + canvas = FigureCanvasGTK(fig) # a gtk.DrawingArea + canvas.show() + vbox.pack_start(canvas) + + If you use the NavigationToolbar, this in now initialized with a + FigureCanvas, not a Figure. The examples embedding_in_gtk.py, + embedding_in_gtk2.py, and mpl_with_glade.py all reflect the new + API so use these as a guide. + + All prior calls to + + figure.draw() and + figure.print_figure(args) + + should now be + + canvas.draw() and + canvas.print_figure(args) + + Apologies for the inconvenience. This refactorization brings + significant more freedom in developing matplotlib and should bring + better plotting capabilities, so I hope the inconvenience is worth + it. diff --git a/doc/api/prev_api_changes/api_changes_0.54.3.rst b/doc/api/prev_api_changes/api_changes_0.54.3.rst new file mode 100644 index 000000000000..a20dd5efcdd8 --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_0.54.3.rst @@ -0,0 +1,10 @@ + +Changes for 0.54.3 +================== + +:: + + removed the set_default_font / get_default_font scheme from the + font_manager to unify customization of font defaults with the rest of + the rc scheme. See examples/font_properties_demo.py and help(rc) in + matplotlib.matlab. diff --git a/doc/api/prev_api_changes/api_changes_0.54.rst b/doc/api/prev_api_changes/api_changes_0.54.rst new file mode 100644 index 000000000000..5ff92935c7d9 --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_0.54.rst @@ -0,0 +1,212 @@ + +Changes for 0.54 +================ + +MATLAB interface +---------------- + +dpi +~~~ + +Several of the backends used a PIXELS_PER_INCH hack that I added to +try and make images render consistently across backends. This just +complicated matters. So you may find that some font sizes and line +widths appear different than before. Apologies for the +inconvenience. You should set the dpi to an accurate value for your +screen to get true sizes. + + +pcolor and scatter +~~~~~~~~~~~~~~~~~~ + +There are two changes to the MATLAB interface API, both involving the +patch drawing commands. For efficiency, pcolor and scatter have been +rewritten to use polygon collections, which are a new set of objects +from matplotlib.collections designed to enable efficient handling of +large collections of objects. These new collections make it possible +to build large scatter plots or pcolor plots with no loops at the +python level, and are significantly faster than their predecessors. +The original pcolor and scatter functions are retained as +pcolor_classic and scatter_classic. + +The return value from pcolor is a PolyCollection. Most of the +propertes that are available on rectangles or other patches are also +available on PolyCollections, e.g., you can say:: + + c = scatter(blah, blah) + c.set_linewidth(1.0) + c.set_facecolor('r') + c.set_alpha(0.5) + +or:: + + c = scatter(blah, blah) + set(c, 'linewidth', 1.0, 'facecolor', 'r', 'alpha', 0.5) + + +Because the collection is a single object, you no longer need to loop +over the return value of scatter or pcolor to set properties for the +entire list. + +If you want the different elements of a collection to vary on a +property, e.g., to have different line widths, see matplotlib.collections +for a discussion on how to set the properties as a sequence. + +For scatter, the size argument is now in points^2 (the area of the +symbol in points) as in MATLAB and is not in data coords as before. +Using sizes in data coords caused several problems. So you will need +to adjust your size arguments accordingly or use scatter_classic. + +mathtext spacing +~~~~~~~~~~~~~~~~ + +For reasons not clear to me (and which I'll eventually fix) spacing no +longer works in font groups. However, I added three new spacing +commands which compensate for this '\ ' (regular space), '\/' (small +space) and '\hspace{frac}' where frac is a fraction of fontsize in +points. You will need to quote spaces in font strings, is:: + + title(r'$\rm{Histogram\ of\ IQ:}\ \mu=100,\ \sigma=15$') + + + +Object interface - Application programmers +------------------------------------------ + +Autoscaling +~~~~~~~~~~~ + + The x and y axis instances no longer have autoscale view. These are + handled by axes.autoscale_view + +Axes creation +~~~~~~~~~~~~~ + + You should not instantiate your own Axes any more using the OO API. + Rather, create a Figure as before and in place of:: + + f = Figure(figsize=(5,4), dpi=100) + a = Subplot(f, 111) + f.add_axis(a) + + use:: + + f = Figure(figsize=(5,4), dpi=100) + a = f.add_subplot(111) + + That is, add_axis no longer exists and is replaced by:: + + add_axes(rect, axisbg=defaultcolor, frameon=True) + add_subplot(num, axisbg=defaultcolor, frameon=True) + +Artist methods +~~~~~~~~~~~~~~ + + If you define your own Artists, you need to rename the _draw method + to draw + +Bounding boxes +~~~~~~~~~~~~~~ + + matplotlib.transforms.Bound2D is replaced by + matplotlib.transforms.Bbox. If you want to construct a bbox from + left, bottom, width, height (the signature for Bound2D), use + matplotlib.transforms.lbwh_to_bbox, as in + + bbox = clickBBox = lbwh_to_bbox(left, bottom, width, height) + + The Bbox has a different API than the Bound2D. e.g., if you want to + get the width and height of the bbox + + OLD:: + width = fig.bbox.x.interval() + height = fig.bbox.y.interval() + + New:: + width = fig.bbox.width() + height = fig.bbox.height() + + + + +Object constructors +~~~~~~~~~~~~~~~~~~~ + + You no longer pass the bbox, dpi, or transforms to the various + Artist constructors. The old way or creating lines and rectangles + was cumbersome because you had to pass so many attributes to the + Line2D and Rectangle classes not related directly to the geometry + and properties of the object. Now default values are added to the + object when you call axes.add_line or axes.add_patch, so they are + hidden from the user. + + If you want to define a custom transformation on these objects, call + o.set_transform(trans) where trans is a Transformation instance. + + In prior versions of you wanted to add a custom line in data coords, + you would have to do + + l = Line2D(dpi, bbox, x, y, + color = color, + transx = transx, + transy = transy, + ) + + now all you need is + + l = Line2D(x, y, color=color) + + and the axes will set the transformation for you (unless you have + set your own already, in which case it will eave it unchanged) + +Transformations +~~~~~~~~~~~~~~~ + + The entire transformation architecture has been rewritten. + Previously the x and y transformations where stored in the xaxis and + yaxis instances. The problem with this approach is it only allows + for separable transforms (where the x and y transformations don't + depend on one another). But for cases like polar, they do. Now + transformations operate on x,y together. There is a new base class + matplotlib.transforms.Transformation and two concrete + implementations, matplotlib.transforms.SeparableTransformation and + matplotlib.transforms.Affine. The SeparableTransformation is + constructed with the bounding box of the input (this determines the + rectangular coordinate system of the input, i.e., the x and y view + limits), the bounding box of the display, and possibly nonlinear + transformations of x and y. The 2 most frequently used + transformations, data coordinates -> display and axes coordinates -> + display are available as ax.transData and ax.transAxes. See + alignment_demo.py which uses axes coords. + + Also, the transformations should be much faster now, for two reasons + + * they are written entirely in extension code + + * because they operate on x and y together, they can do the entire + transformation in one loop. Earlier I did something along the + lines of:: + + xt = sx*func(x) + tx + yt = sy*func(y) + ty + + Although this was done in numerix, it still involves 6 length(x) + for-loops (the multiply, add, and function evaluation each for x + and y). Now all of that is done in a single pass. + + + If you are using transformations and bounding boxes to get the + cursor position in data coordinates, the method calls are a little + different now. See the updated examples/coords_demo.py which shows + you how to do this. + + Likewise, if you are using the artist bounding boxes to pick items + on the canvas with the GUI, the bbox methods are somewhat + different. You will need to see the updated + examples/object_picker.py. + + See unit/transforms_unit.py for many examples using the new + transformations. + + +.. highlight:: none diff --git a/doc/api/prev_api_changes/api_changes_0.60.rst b/doc/api/prev_api_changes/api_changes_0.60.rst new file mode 100644 index 000000000000..024e7f12b72e --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_0.60.rst @@ -0,0 +1,15 @@ +Changes for 0.60 +================ + +:: + + ColormapJet and Grayscale are deprecated. For backwards + compatibility, they can be obtained either by doing + + from matplotlib.cm import ColormapJet + + or + + from matplotlib.matlab import * + + They are replaced by cm.jet and cm.grey diff --git a/doc/api/prev_api_changes/api_changes_0.61.rst b/doc/api/prev_api_changes/api_changes_0.61.rst new file mode 100644 index 000000000000..e11f43c3b8b2 --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_0.61.rst @@ -0,0 +1,8 @@ +Changes for 0.61 +================ + +:: + + canvas.connect is now deprecated for event handling. use + mpl_connect and mpl_disconnect instead. The callback signature is + func(event) rather than func(widget, event) diff --git a/doc/api/prev_api_changes/api_changes_0.63.rst b/doc/api/prev_api_changes/api_changes_0.63.rst new file mode 100644 index 000000000000..39806e467aea --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_0.63.rst @@ -0,0 +1,43 @@ +Changes for 0.63 +================ + +:: + + Dates are now represented internally as float days since 0001-01-01, + UTC. + + All date tickers and formatters are now in matplotlib.dates, rather + than matplotlib.tickers + + converters have been abolished from all functions and classes. + num2date and date2num are now the converter functions for all date + plots + + Most of the date tick locators have a different meaning in their + constructors. In the prior implementation, the first argument was a + base and multiples of the base were ticked. e.g., + + HourLocator(5) # old: tick every 5 minutes + + In the new implementation, the explicit points you want to tick are + provided as a number or sequence + + HourLocator(range(0,5,61)) # new: tick every 5 minutes + + This gives much greater flexibility. I have tried to make the + default constructors (no args) behave similarly, where possible. + + Note that YearLocator still works under the base/multiple scheme. + The difference between the YearLocator and the other locators is + that years are not recurrent. + + + Financial functions: + + matplotlib.finance.quotes_historical_yahoo(ticker, date1, date2) + + date1, date2 are now datetime instances. Return value is a list + of quotes where the quote time is a float - days since gregorian + start, as returned by date2num + + See examples/finance_demo.py for example usage of new API diff --git a/doc/api/prev_api_changes/api_changes_0.65.1.rst b/doc/api/prev_api_changes/api_changes_0.65.1.rst new file mode 100644 index 000000000000..ecfa4f963ec0 --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_0.65.1.rst @@ -0,0 +1,10 @@ +Changes for 0.65.1 +================== + +:: + + removed add_axes and add_subplot from backend_bases. Use + figure.add_axes and add_subplot instead. The figure now manages the + current axes with gca and sca for get and set current axes. If you + have code you are porting which called, e.g., figmanager.add_axes, you + can now simply do figmanager.canvas.figure.add_axes. diff --git a/doc/api/prev_api_changes/api_changes_0.65.rst b/doc/api/prev_api_changes/api_changes_0.65.rst new file mode 100644 index 000000000000..c90f47eec81d --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_0.65.rst @@ -0,0 +1,12 @@ +Changes for 0.65 +================ + +:: + + + mpl_connect and mpl_disconnect in the MATLAB interface renamed to + connect and disconnect + + Did away with the text methods for angle since they were ambiguous. + fontangle could mean fontstyle (obligue, etc) or the rotation of the + text. Use style and rotation instead. diff --git a/doc/api/prev_api_changes/api_changes_0.70.rst b/doc/api/prev_api_changes/api_changes_0.70.rst new file mode 100644 index 000000000000..4c1a37d22ade --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_0.70.rst @@ -0,0 +1,9 @@ +Changes for 0.70 +================ + +:: + + MplEvent factored into a base class Event and derived classes + MouseEvent and KeyEvent + + Removed definct set_measurement in wx toolbar diff --git a/doc/api/prev_api_changes/api_changes_0.71.rst b/doc/api/prev_api_changes/api_changes_0.71.rst new file mode 100644 index 000000000000..0651ae91413e --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_0.71.rst @@ -0,0 +1,41 @@ +Changes for 0.71 +================ + +:: + + Significant numerix namespace changes, introduced to resolve + namespace clashes between python built-ins and mlab names. + Refactored numerix to maintain separate modules, rather than + folding all these names into a single namespace. See the following + mailing list threads for more information and background + + http://sourceforge.net/mailarchive/forum.php?thread_id=6398890&forum_id=36187 + http://sourceforge.net/mailarchive/forum.php?thread_id=6323208&forum_id=36187 + + + OLD usage + + from matplotlib.numerix import array, mean, fft + + NEW usage + + from matplotlib.numerix import array + from matplotlib.numerix.mlab import mean + from matplotlib.numerix.fft import fft + + numerix dir structure mirrors numarray (though it is an incomplete + implementation) + + numerix + numerix/mlab + numerix/linear_algebra + numerix/fft + numerix/random_array + + but of course you can use 'numerix : Numeric' and still get the + symbols. + + pylab still imports most of the symbols from Numerix, MLab, fft, + etc, but is more cautious. For names that clash with python names + (min, max, sum), pylab keeps the builtins and provides the numeric + versions with an a* prefix, e.g., (amin, amax, asum) diff --git a/doc/api/prev_api_changes/api_changes_0.72.rst b/doc/api/prev_api_changes/api_changes_0.72.rst new file mode 100644 index 000000000000..32d735fb0c26 --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_0.72.rst @@ -0,0 +1,33 @@ +Changes for 0.72 +================ + +:: + + - Line2D, Text, and Patch copy_properties renamed update_from and + moved into artist base class + + - LineCollecitons.color renamed to LineCollections.set_color for + consistency with set/get introspection mechanism, + + - pylab figure now defaults to num=None, which creates a new figure + with a guaranteed unique number + + - contour method syntax changed - now it is MATLAB compatible + + unchanged: contour(Z) + old: contour(Z, x=Y, y=Y) + new: contour(X, Y, Z) + + see http://matplotlib.sf.net/matplotlib.pylab.html#-contour + + + - Increased the default resolution for save command. + + - Renamed the base attribute of the ticker classes to _base to avoid conflict + with the base method. Sitt for subs + + - subs=none now does autosubbing in the tick locator. + + - New subplots that overlap old will delete the old axes. If you + do not want this behavior, use fig.add_subplot or the axes + command diff --git a/doc/api/prev_api_changes/api_changes_0.73.rst b/doc/api/prev_api_changes/api_changes_0.73.rst new file mode 100644 index 000000000000..d2c44e9de046 --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_0.73.rst @@ -0,0 +1,10 @@ +Changes for 0.73 +================ + +:: + + - Removed deprecated ColormapJet and friends + + - Removed all error handling from the verbose object + + - figure num of zero is now allowed diff --git a/doc/api/prev_api_changes/api_changes_0.80.rst b/doc/api/prev_api_changes/api_changes_0.80.rst new file mode 100644 index 000000000000..d768e9eadda2 --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_0.80.rst @@ -0,0 +1,9 @@ +Changes for 0.80 +================ + +:: + + - xlim/ylim/axis always return the new limits regardless of + arguments. They now take kwargs which allow you to selectively + change the upper or lower limits while leaving unnamed limits + unchanged. See help(xlim) for example diff --git a/doc/api/prev_api_changes/api_changes_0.81.rst b/doc/api/prev_api_changes/api_changes_0.81.rst new file mode 100644 index 000000000000..c01c5af9d6f7 --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_0.81.rst @@ -0,0 +1,49 @@ +Changes for 0.81 +================ + +:: + + - pylab and artist "set" functions renamed to setp to avoid clash + with python2.4 built-in set. Current version will issue a + deprecation warning which will be removed in future versions + + - imshow interpolation arguments changes for advanced interpolation + schemes. See help imshow, particularly the interpolation, + filternorm and filterrad kwargs + + - Support for masked arrays has been added to the plot command and + to the Line2D object. Only the valid points are plotted. A + "valid_only" kwarg was added to the get_xdata() and get_ydata() + methods of Line2D; by default it is False, so that the original + data arrays are returned. Setting it to True returns the plottable + points. + + - contour changes: + + Masked arrays: contour and contourf now accept masked arrays as + the variable to be contoured. Masking works correctly for + contour, but a bug remains to be fixed before it will work for + contourf. The "badmask" kwarg has been removed from both + functions. + + Level argument changes: + + Old version: a list of levels as one of the positional + arguments specified the lower bound of each filled region; the + upper bound of the last region was taken as a very large + number. Hence, it was not possible to specify that z values + between 0 and 1, for example, be filled, and that values + outside that range remain unfilled. + + New version: a list of N levels is taken as specifying the + boundaries of N-1 z ranges. Now the user has more control over + what is colored and what is not. Repeated calls to contourf + (with different colormaps or color specifications, for example) + can be used to color different ranges of z. Values of z + outside an expected range are left uncolored. + + Example: + Old: contourf(z, [0, 1, 2]) would yield 3 regions: 0-1, 1-2, and >2. + New: it would yield 2 regions: 0-1, 1-2. If the same 3 regions were + desired, the equivalent list of levels would be [0, 1, 2, + 1e38]. diff --git a/doc/api/prev_api_changes/api_changes_0.82.rst b/doc/api/prev_api_changes/api_changes_0.82.rst new file mode 100644 index 000000000000..8fcdc1ff81d0 --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_0.82.rst @@ -0,0 +1,52 @@ +Changes for 0.82 +================ + +:: + + - toolbar import change in GTKAgg, GTKCairo and WXAgg + + - Added subplot config tool to GTK* backends -- note you must now + import the NavigationToolbar2 from your backend of choice rather + than from backend_gtk because it needs to know about the backend + specific canvas -- see examples/embedding_in_gtk2.py. Ditto for + wx backend -- see examples/embedding_in_wxagg.py + + + - hist bin change + + Sean Richards notes there was a problem in the way we created + the binning for histogram, which made the last bin + underrepresented. From his post: + + I see that hist uses the linspace function to create the bins + and then uses searchsorted to put the values in their correct + bin. That's all good but I am confused over the use of linspace + for the bin creation. I wouldn't have thought that it does + what is needed, to quote the docstring it creates a "Linear + spaced array from min to max". For it to work correctly + shouldn't the values in the bins array be the same bound for + each bin? (i.e. each value should be the lower bound of a + bin). To provide the correct bins for hist would it not be + something like + + def bins(xmin, xmax, N): + if N==1: return xmax + dx = (xmax-xmin)/N # instead of N-1 + return xmin + dx*arange(N) + + + This suggestion is implemented in 0.81. My test script with these + changes does not reveal any bias in the binning + + from matplotlib.numerix.mlab import randn, rand, zeros, Float + from matplotlib.mlab import hist, mean + + Nbins = 50 + Ntests = 200 + results = zeros((Ntests,Nbins), typecode=Float) + for i in range(Ntests): + print 'computing', i + x = rand(10000) + n, bins = hist(x, Nbins) + results[i] = n + print mean(results) diff --git a/doc/api/prev_api_changes/api_changes_0.83.rst b/doc/api/prev_api_changes/api_changes_0.83.rst new file mode 100644 index 000000000000..1d2590c88aa7 --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_0.83.rst @@ -0,0 +1,24 @@ +Changes for 0.83 +================ + +:: + + - Made HOME/.matplotlib the new config dir where the matplotlibrc + file, the ttf.cache, and the tex.cache live. The new default + filenames in .matplotlib have no leading dot and are not hidden. + e.g., the new names are matplotlibrc, tex.cache, and ttffont.cache. + This is how ipython does it so it must be right. + + If old files are found, a warning is issued and they are moved to + the new location. + + - backends/__init__.py no longer imports new_figure_manager, + draw_if_interactive and show from the default backend, but puts + these imports into a call to pylab_setup. Also, the Toolbar is no + longer imported from WX/WXAgg. New usage: + + from backends import pylab_setup + new_figure_manager, draw_if_interactive, show = pylab_setup() + + - Moved Figure.get_width_height() to FigureCanvasBase. It now + returns int instead of float. diff --git a/doc/api/prev_api_changes/api_changes_0.84.rst b/doc/api/prev_api_changes/api_changes_0.84.rst new file mode 100644 index 000000000000..84f5c31fa236 --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_0.84.rst @@ -0,0 +1,18 @@ +Changes for 0.84 +================ + +:: + + Unified argument handling between hlines and vlines. Both now + take optionally a fmt argument (as in plot) and a keyword args + that can be passed onto Line2D. + + Removed all references to "data clipping" in rc and lines.py since + these were not used and not optimized. I'm sure they'll be + resurrected later with a better implementation when needed. + + 'set' removed - no more deprecation warnings. Use 'setp' instead. + + Backend developers: Added flipud method to image and removed it + from to_str. Removed origin kwarg from backend.draw_image. + origin is handled entirely by the frontend now. diff --git a/doc/api/prev_api_changes/api_changes_0.85.rst b/doc/api/prev_api_changes/api_changes_0.85.rst new file mode 100644 index 000000000000..e61d616594a2 --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_0.85.rst @@ -0,0 +1,43 @@ +Changes for 0.85 +================ + +:: + + Made xtick and ytick separate props in rc + + made pos=None the default for tick formatters rather than 0 to + indicate "not supplied" + + Removed "feature" of minor ticks which prevents them from + overlapping major ticks. Often you want major and minor ticks at + the same place, and can offset the major ticks with the pad. This + could be made configurable + + Changed the internal structure of contour.py to a more OO style. + Calls to contour or contourf in axes.py or pylab.py now return + a ContourSet object which contains references to the + LineCollections or PolyCollections created by the call, + as well as the configuration variables that were used. + The ContourSet object is a "mappable" if a colormap was used. + + Added a clip_ends kwarg to contourf. From the docstring: + * clip_ends = True + If False, the limits for color scaling are set to the + minimum and maximum contour levels. + True (default) clips the scaling limits. Example: + if the contour boundaries are V = [-100, 2, 1, 0, 1, 2, 100], + then the scaling limits will be [-100, 100] if clip_ends + is False, and [-3, 3] if clip_ends is True. + Added kwargs linewidths, antialiased, and nchunk to contourf. These + are experimental; see the docstring. + + Changed Figure.colorbar(): + kw argument order changed; + if mappable arg is a non-filled ContourSet, colorbar() shows + lines instead hof polygons. + if mappable arg is a filled ContourSet with clip_ends=True, + the endpoints are not labelled, so as to give the + correct impression of open-endedness. + + Changed LineCollection.get_linewidths to get_linewidth, for + consistency. diff --git a/doc/api/prev_api_changes/api_changes_0.86.rst b/doc/api/prev_api_changes/api_changes_0.86.rst new file mode 100644 index 000000000000..be9118d52fe7 --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_0.86.rst @@ -0,0 +1,28 @@ +Changes for 0.86 +================ + +:: + + Matplotlib data is installed into the matplotlib module. + This is similar to package_data. This should get rid of + having to check for many possibilities in _get_data_path(). + The MATPLOTLIBDATA env key is still checked first to allow + for flexibility. + + 1) Separated the color table data from cm.py out into + a new file, _cm.py, to make it easier to find the actual + code in cm.py and to add new colormaps. Everything + from _cm.py is imported by cm.py, so the split should be + transparent. + 2) Enabled automatic generation of a colormap from + a list of colors in contour; see modified + examples/contour_demo.py. + 3) Support for imshow of a masked array, with the + ability to specify colors (or no color at all) for + masked regions, and for regions that are above or + below the normally mapped region. See + examples/image_masked.py. + 4) In support of the above, added two new classes, + ListedColormap, and no_norm, to colors.py, and modified + the Colormap class to include common functionality. Added + a clip kwarg to the normalize class. diff --git a/doc/api/prev_api_changes/api_changes_0.87.7.rst b/doc/api/prev_api_changes/api_changes_0.87.7.rst new file mode 100644 index 000000000000..0a89e1ebd98e --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_0.87.7.rst @@ -0,0 +1,89 @@ + + +Changes for 0.87.7 +================== + +:: + + Completely reworked the annotations API because I found the old + API cumbersome. The new design is much more legible and easy to + read. See matplotlib.text.Annotation and + examples/annotation_demo.py + + markeredgecolor and markerfacecolor cannot be configured in + matplotlibrc any more. Instead, markers are generally colored + automatically based on the color of the line, unless marker colors + are explicitly set as kwargs - NN + + Changed default comment character for load to '#' - JDH + + math_parse_s_ft2font_svg from mathtext.py & mathtext2.py now returns + width, height, svg_elements. svg_elements is an instance of Bunch ( + cmbook.py) and has the attributes svg_glyphs and svg_lines, which are both + lists. + + Renderer.draw_arc now takes an additional parameter, rotation. + It specifies to draw the artist rotated in degrees anti- + clockwise. It was added for rotated ellipses. + + Renamed Figure.set_figsize_inches to Figure.set_size_inches to + better match the get method, Figure.get_size_inches. + + Removed the copy_bbox_transform from transforms.py; added + shallowcopy methods to all transforms. All transforms already + had deepcopy methods. + + FigureManager.resize(width, height): resize the window + specified in pixels + + barh: x and y args have been renamed to width and bottom + respectively, and their order has been swapped to maintain + a (position, value) order. + + bar and barh: now accept kwarg 'edgecolor'. + + bar and barh: The left, height, width and bottom args can + now all be scalars or sequences; see docstring. + + barh: now defaults to edge aligned instead of center + aligned bars + + bar, barh and hist: Added a keyword arg 'align' that + controls between edge or center bar alignment. + + Collections: PolyCollection and LineCollection now accept + vertices or segments either in the original form [(x,y), + (x,y), ...] or as a 2D numerix array, with X as the first column + and Y as the second. Contour and quiver output the numerix + form. The transforms methods Bbox.update() and + Transformation.seq_xy_tups() now accept either form. + + Collections: LineCollection is now a ScalarMappable like + PolyCollection, etc. + + Specifying a grayscale color as a float is deprecated; use + a string instead, e.g., 0.75 -> '0.75'. + + Collections: initializers now accept any mpl color arg, or + sequence of such args; previously only a sequence of rgba + tuples was accepted. + + Colorbar: completely new version and api; see docstring. The + original version is still accessible as colorbar_classic, but + is deprecated. + + Contourf: "extend" kwarg replaces "clip_ends"; see docstring. + Masked array support added to pcolormesh. + + Modified aspect-ratio handling: + Removed aspect kwarg from imshow + Axes methods: + set_aspect(self, aspect, adjustable=None, anchor=None) + set_adjustable(self, adjustable) + set_anchor(self, anchor) + Pylab interface: + axis('image') + + Backend developers: ft2font's load_char now takes a flags + argument, which you can OR together from the LOAD_XXX + constants. diff --git a/doc/api/prev_api_changes/api_changes_0.90.0.rst b/doc/api/prev_api_changes/api_changes_0.90.0.rst new file mode 100644 index 000000000000..cfaacd8ecc88 --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_0.90.0.rst @@ -0,0 +1,40 @@ +Changes for 0.90.0 +================== + +:: + + All artists now implement a "pick" method which users should not + call. Rather, set the "picker" property of any artist you want to + pick on (the epsilon distance in points for a hit test) and + register with the "pick_event" callback. See + examples/pick_event_demo.py for details + + Bar, barh, and hist have "log" binary kwarg: log=True + sets the ordinate to a log scale. + + Boxplot can handle a list of vectors instead of just + an array, so vectors can have different lengths. + + Plot can handle 2-D x and/or y; it plots the columns. + + Added linewidth kwarg to bar and barh. + + Made the default Artist._transform None (rather than invoking + identity_transform for each artist only to have it overridden + later). Use artist.get_transform() rather than artist._transform, + even in derived classes, so that the default transform will be + created lazily as needed + + New LogNorm subclass of Normalize added to colors.py. + All Normalize subclasses have new inverse() method, and + the __call__() method has a new clip kwarg. + + Changed class names in colors.py to match convention: + normalize -> Normalize, no_norm -> NoNorm. Old names + are still available for now. + + Removed obsolete pcolor_classic command and method. + + Removed lineprops and markerprops from the Annotation code and + replaced them with an arrow configurable with kwarg arrowprops. + See examples/annotation_demo.py - JDH diff --git a/doc/api/prev_api_changes/api_changes_0.90.1.rst b/doc/api/prev_api_changes/api_changes_0.90.1.rst new file mode 100644 index 000000000000..0b16e180e22d --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_0.90.1.rst @@ -0,0 +1,65 @@ + +Changes for 0.90.1 +================== + +:: + + The file dviread.py has a (very limited and fragile) dvi reader + for usetex support. The API might change in the future so don't + depend on it yet. + + Removed deprecated support for a float value as a gray-scale; + now it must be a string, like '0.5'. Added alpha kwarg to + ColorConverter.to_rgba_list. + + New method set_bounds(vmin, vmax) for formatters, locators sets + the viewInterval and dataInterval from floats. + + Removed deprecated colorbar_classic. + + Line2D.get_xdata and get_ydata valid_only=False kwarg is replaced + by orig=True. When True, it returns the original data, otherwise + the processed data (masked, converted) + + Some modifications to the units interface. + units.ConversionInterface.tickers renamed to + units.ConversionInterface.axisinfo and it now returns a + units.AxisInfo object rather than a tuple. This will make it + easier to add axis info functionality (e.g., I added a default label + on this iteration) w/o having to change the tuple length and hence + the API of the client code every time new functionality is added. + Also, units.ConversionInterface.convert_to_value is now simply + named units.ConversionInterface.convert. + + Axes.errorbar uses Axes.vlines and Axes.hlines to draw its error + limits int he vertical and horizontal direction. As you'll see + in the changes below, these functions now return a LineCollection + rather than a list of lines. The new return signature for + errorbar is ylins, caplines, errorcollections where + errorcollections is a xerrcollection, yerrcollection + + Axes.vlines and Axes.hlines now create and returns a LineCollection, not a list + of lines. This is much faster. The kwarg signature has changed, + so consult the docs + + MaxNLocator accepts a new Boolean kwarg ('integer') to force + ticks to integer locations. + + Commands that pass an argument to the Text constructor or to + Text.set_text() now accept any object that can be converted + with '%s'. This affects xlabel(), title(), etc. + + Barh now takes a **kwargs dict instead of most of the old + arguments. This helps ensure that bar and barh are kept in sync, + but as a side effect you can no longer pass e.g., color as a + positional argument. + + ft2font.get_charmap() now returns a dict that maps character codes + to glyph indices (until now it was reversed) + + Moved data files into lib/matplotlib so that setuptools' develop + mode works. Re-organized the mpl-data layout so that this source + structure is maintained in the installation. (i.e., the 'fonts' and + 'images' sub-directories are maintained in site-packages.). + Suggest removing site-packages/matplotlib/mpl-data and + ~/.matplotlib/ttffont.cache before installing diff --git a/doc/api/prev_api_changes/api_changes_0.91.0.rst b/doc/api/prev_api_changes/api_changes_0.91.0.rst new file mode 100644 index 000000000000..5d871128e5d4 --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_0.91.0.rst @@ -0,0 +1,70 @@ + +Changes for 0.91.0 +================== + +* Changed :func:`cbook.is_file_like` to + :func:`cbook.is_writable_file_like` and corrected behavior. + +* Added ax kwarg to :func:`pyplot.colorbar` and + :meth:`Figure.colorbar` so that one can specify the axes object from + which space for the colorbar is to be taken, if one does not want to + make the colorbar axes manually. + +* Changed :func:`cbook.reversed` so it yields a tuple rather than a + (index, tuple). This agrees with the python reversed builtin, + and cbook only defines reversed if python doesn't provide the + builtin. + +* Made skiprows=1 the default on :func:`csv2rec` + +* The gd and paint backends have been deleted. + +* The errorbar method and function now accept additional kwargs + so that upper and lower limits can be indicated by capping the + bar with a caret instead of a straight line segment. + +* The :mod:`matplotlib.dviread` file now has a parser for files like + psfonts.map and pdftex.map, to map TeX font names to external files. + +* The file :mod:`matplotlib.type1font` contains a new class for Type 1 + fonts. Currently it simply reads pfa and pfb format files and + stores the data in a way that is suitable for embedding in pdf + files. In the future the class might actually parse the font to + allow e.g., subsetting. + +* :mod:`matplotlib.FT2Font` now supports :meth:`FT_Attach_File`. In + practice this can be used to read an afm file in addition to a + pfa/pfb file, to get metrics and kerning information for a Type 1 + font. + +* The :class:`AFM` class now supports querying CapHeight and stem + widths. The get_name_char method now has an isord kwarg like + get_width_char. + +* Changed :func:`pcolor` default to shading='flat'; but as noted now in the + docstring, it is preferable to simply use the edgecolor kwarg. + +* The mathtext font commands (``\cal``, ``\rm``, ``\it``, ``\tt``) now + behave as TeX does: they are in effect until the next font change + command or the end of the grouping. Therefore uses of ``$\cal{R}$`` + should be changed to ``${\cal R}$``. Alternatively, you may use the + new LaTeX-style font commands (``\mathcal``, ``\mathrm``, + ``\mathit``, ``\mathtt``) which do affect the following group, + e.g., ``$\mathcal{R}$``. + +* Text creation commands have a new default linespacing and a new + ``linespacing`` kwarg, which is a multiple of the maximum vertical + extent of a line of ordinary text. The default is 1.2; + ``linespacing=2`` would be like ordinary double spacing, for example. + +* Changed default kwarg in + :meth:`matplotlib.colors.Normalize.__init__`` to ``clip=False``; + clipping silently defeats the purpose of the special over, under, + and bad values in the colormap, thereby leading to unexpected + behavior. The new default should reduce such surprises. + +* Made the emit property of :meth:`~matplotlib.axes.Axes.set_xlim` and + :meth:`~matplotlib.axes.Axes.set_ylim` ``True`` by default; removed + the Axes custom callback handling into a 'callbacks' attribute which + is a :class:`~matplotlib.cbook.CallbackRegistry` instance. This now + supports the 'xlim_changed' and 'ylim_changed' Axes events. diff --git a/doc/api/prev_api_changes/api_changes_0.91.2.rst b/doc/api/prev_api_changes/api_changes_0.91.2.rst new file mode 100644 index 000000000000..3c33abf7e187 --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_0.91.2.rst @@ -0,0 +1,16 @@ + +Changes for 0.91.2 +================== + +* For :func:`csv2rec`, checkrows=0 is the new default indicating all rows + will be checked for type inference + +* A warning is issued when an image is drawn on log-scaled axes, since + it will not log-scale the image data. + +* Moved :func:`rec2gtk` to :mod:`matplotlib.toolkits.gtktools` + +* Moved :func:`rec2excel` to :mod:`matplotlib.toolkits.exceltools` + +* Removed, dead/experimental ExampleInfo, Namespace and Importer + code from :mod:`matplotlib.__init__` diff --git a/doc/api/prev_api_changes/api_changes_0.98.0.rst b/doc/api/prev_api_changes/api_changes_0.98.0.rst new file mode 100644 index 000000000000..ffea743742b9 --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_0.98.0.rst @@ -0,0 +1,312 @@ + + +Changes for 0.98.0 +================== + +* :func:`matplotlib.image.imread` now no longer always returns RGBA data---if + the image is luminance or RGB, it will return a MxN or MxNx3 array + if possible. Also uint8 is no longer always forced to float. + +* Rewrote the :class:`matplotlib.cm.ScalarMappable` callback + infrastructure to use :class:`matplotlib.cbook.CallbackRegistry` + rather than custom callback handling. Any users of + :meth:`matplotlib.cm.ScalarMappable.add_observer` of the + :class:`~matplotlib.cm.ScalarMappable` should use the + :attr:`matplotlib.cm.ScalarMappable.callbacks` + :class:`~matplotlib.cbook.CallbackRegistry` instead. + +* New axes function and Axes method provide control over the plot + color cycle: :func:`matplotlib.axes.set_default_color_cycle` and + :meth:`matplotlib.axes.Axes.set_color_cycle`. + +* Matplotlib now requires Python 2.4, so :mod:`matplotlib.cbook` will + no longer provide :class:`set`, :func:`enumerate`, :func:`reversed` + or :func:`izip` compatibility functions. + +* In Numpy 1.0, bins are specified by the left edges only. The axes + method :meth:`matplotlib.axes.Axes.hist` now uses future Numpy 1.3 + semantics for histograms. Providing ``binedges``, the last value gives + the upper-right edge now, which was implicitly set to +infinity in + Numpy 1.0. This also means that the last bin doesn't contain upper + outliers any more by default. + +* New axes method and pyplot function, + :func:`~matplotlib.pyplot.hexbin`, is an alternative to + :func:`~matplotlib.pyplot.scatter` for large datasets. It makes + something like a :func:`~matplotlib.pyplot.pcolor` of a 2-D + histogram, but uses hexagonal bins. + +* New kwarg, ``symmetric``, in :class:`matplotlib.ticker.MaxNLocator` + allows one require an axis to be centered around zero. + +* Toolkits must now be imported from ``mpl_toolkits`` (not ``matplotlib.toolkits``) + +Notes about the transforms refactoring +-------------------------------------- + +A major new feature of the 0.98 series is a more flexible and +extensible transformation infrastructure, written in Python/Numpy +rather than a custom C extension. + +The primary goal of this refactoring was to make it easier to +extend matplotlib to support new kinds of projections. This is +mostly an internal improvement, and the possible user-visible +changes it allows are yet to come. + +See :mod:`matplotlib.transforms` for a description of the design of +the new transformation framework. + +For efficiency, many of these functions return views into Numpy +arrays. This means that if you hold on to a reference to them, +their contents may change. If you want to store a snapshot of +their current values, use the Numpy array method copy(). + +The view intervals are now stored only in one place -- in the +:class:`matplotlib.axes.Axes` instance, not in the locator instances +as well. This means locators must get their limits from their +:class:`matplotlib.axis.Axis`, which in turn looks up its limits from +the :class:`~matplotlib.axes.Axes`. If a locator is used temporarily +and not assigned to an Axis or Axes, (e.g., in +:mod:`matplotlib.contour`), a dummy axis must be created to store its +bounds. Call :meth:`matplotlib.ticker.Locator.create_dummy_axis` to +do so. + +The functionality of :class:`Pbox` has been merged with +:class:`~matplotlib.transforms.Bbox`. Its methods now all return +copies rather than modifying in place. + +The following lists many of the simple changes necessary to update +code from the old transformation framework to the new one. In +particular, methods that return a copy are named with a verb in the +past tense, whereas methods that alter an object in place are named +with a verb in the present tense. + +:mod:`matplotlib.transforms` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +============================================================ ============================================================ +Old method New method +============================================================ ============================================================ +:meth:`Bbox.get_bounds` :attr:`transforms.Bbox.bounds` +------------------------------------------------------------ ------------------------------------------------------------ +:meth:`Bbox.width` :attr:`transforms.Bbox.width` +------------------------------------------------------------ ------------------------------------------------------------ +:meth:`Bbox.height` :attr:`transforms.Bbox.height` +------------------------------------------------------------ ------------------------------------------------------------ +`Bbox.intervalx().get_bounds()` :attr:`transforms.Bbox.intervalx` +`Bbox.intervalx().set_bounds()` [:attr:`Bbox.intervalx` is now a property.] +------------------------------------------------------------ ------------------------------------------------------------ +`Bbox.intervaly().get_bounds()` :attr:`transforms.Bbox.intervaly` +`Bbox.intervaly().set_bounds()` [:attr:`Bbox.intervaly` is now a property.] +------------------------------------------------------------ ------------------------------------------------------------ +:meth:`Bbox.xmin` :attr:`transforms.Bbox.x0` or + :attr:`transforms.Bbox.xmin` [1]_ +------------------------------------------------------------ ------------------------------------------------------------ +:meth:`Bbox.ymin` :attr:`transforms.Bbox.y0` or + :attr:`transforms.Bbox.ymin` [1]_ +------------------------------------------------------------ ------------------------------------------------------------ +:meth:`Bbox.xmax` :attr:`transforms.Bbox.x1` or + :attr:`transforms.Bbox.xmax` [1]_ +------------------------------------------------------------ ------------------------------------------------------------ +:meth:`Bbox.ymax` :attr:`transforms.Bbox.y1` or + :attr:`transforms.Bbox.ymax` [1]_ +------------------------------------------------------------ ------------------------------------------------------------ +`Bbox.overlaps(bboxes)` `Bbox.count_overlaps(bboxes)` +------------------------------------------------------------ ------------------------------------------------------------ +`bbox_all(bboxes)` `Bbox.union(bboxes)` + [:meth:`transforms.Bbox.union` is a staticmethod.] +------------------------------------------------------------ ------------------------------------------------------------ +`lbwh_to_bbox(l, b, w, h)` `Bbox.from_bounds(x0, y0, w, h)` + [:meth:`transforms.Bbox.from_bounds` is a staticmethod.] +------------------------------------------------------------ ------------------------------------------------------------ +`inverse_transform_bbox(trans, bbox)` `Bbox.inverse_transformed(trans)` +------------------------------------------------------------ ------------------------------------------------------------ +`Interval.contains_open(v)` `interval_contains_open(tuple, v)` +------------------------------------------------------------ ------------------------------------------------------------ +`Interval.contains(v)` `interval_contains(tuple, v)` +------------------------------------------------------------ ------------------------------------------------------------ +`identity_transform()` :class:`matplotlib.transforms.IdentityTransform` +------------------------------------------------------------ ------------------------------------------------------------ +`blend_xy_sep_transform(xtrans, ytrans)` `blended_transform_factory(xtrans, ytrans)` +------------------------------------------------------------ ------------------------------------------------------------ +`scale_transform(xs, ys)` `Affine2D().scale(xs[, ys])` +------------------------------------------------------------ ------------------------------------------------------------ +`get_bbox_transform(boxin, boxout)` `BboxTransform(boxin, boxout)` or + `BboxTransformFrom(boxin)` or + `BboxTransformTo(boxout)` +------------------------------------------------------------ ------------------------------------------------------------ +`Transform.seq_xy_tup(points)` `Transform.transform(points)` +------------------------------------------------------------ ------------------------------------------------------------ +`Transform.inverse_xy_tup(points)` `Transform.inverted().transform(points)` +============================================================ ============================================================ + +.. [1] The :class:`~matplotlib.transforms.Bbox` is bound by the points + (x0, y0) to (x1, y1) and there is no defined order to these points, + that is, x0 is not necessarily the left edge of the box. To get + the left edge of the :class:`Bbox`, use the read-only property + :attr:`~matplotlib.transforms.Bbox.xmin`. + +:mod:`matplotlib.axes` +~~~~~~~~~~~~~~~~~~~~~~ + +============================================================ ============================================================ +Old method New method +============================================================ ============================================================ +`Axes.get_position()` :meth:`matplotlib.axes.Axes.get_position` [2]_ +------------------------------------------------------------ ------------------------------------------------------------ +`Axes.set_position()` :meth:`matplotlib.axes.Axes.set_position` [3]_ +------------------------------------------------------------ ------------------------------------------------------------ +`Axes.toggle_log_lineary()` :meth:`matplotlib.axes.Axes.set_yscale` [4]_ +------------------------------------------------------------ ------------------------------------------------------------ +`Subplot` class removed. +============================================================ ============================================================ + +The :class:`Polar` class has moved to :mod:`matplotlib.projections.polar`. + +.. [2] :meth:`matplotlib.axes.Axes.get_position` used to return a list + of points, now it returns a :class:`matplotlib.transforms.Bbox` + instance. + +.. [3] :meth:`matplotlib.axes.Axes.set_position` now accepts either + four scalars or a :class:`matplotlib.transforms.Bbox` instance. + +.. [4] Since the recfactoring allows for more than two scale types + ('log' or 'linear'), it no longer makes sense to have a toggle. + `Axes.toggle_log_lineary()` has been removed. + +:mod:`matplotlib.artist` +~~~~~~~~~~~~~~~~~~~~~~~~ + +============================================================ ============================================================ +Old method New method +============================================================ ============================================================ +`Artist.set_clip_path(path)` `Artist.set_clip_path(path, transform)` [5]_ +============================================================ ============================================================ + +.. [5] :meth:`matplotlib.artist.Artist.set_clip_path` now accepts a + :class:`matplotlib.path.Path` instance and a + :class:`matplotlib.transforms.Transform` that will be applied to + the path immediately before clipping. + +:mod:`matplotlib.collections` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +============================================================ ============================================================ +Old method New method +============================================================ ============================================================ +`linestyle` `linestyles` [6]_ +============================================================ ============================================================ + +.. [6] Linestyles are now treated like all other collection + attributes, i.e. a single value or multiple values may be + provided. + +:mod:`matplotlib.colors` +~~~~~~~~~~~~~~~~~~~~~~~~ + +============================================================ ============================================================ +Old method New method +============================================================ ============================================================ +`ColorConvertor.to_rgba_list(c)` `ColorConvertor.to_rgba_array(c)` + [:meth:`matplotlib.colors.ColorConvertor.to_rgba_array` + returns an Nx4 Numpy array of RGBA color quadruples.] +============================================================ ============================================================ + +:mod:`matplotlib.contour` +~~~~~~~~~~~~~~~~~~~~~~~~~ + +============================================================ ============================================================ +Old method New method +============================================================ ============================================================ +`Contour._segments` :meth:`matplotlib.contour.Contour.get_paths`` [Returns a + list of :class:`matplotlib.path.Path` instances.] +============================================================ ============================================================ + +:mod:`matplotlib.figure` +~~~~~~~~~~~~~~~~~~~~~~~~ + +============================================================ ============================================================ +Old method New method +============================================================ ============================================================ +`Figure.dpi.get()` / `Figure.dpi.set()` :attr:`matplotlib.figure.Figure.dpi` *(a property)* +============================================================ ============================================================ + +:mod:`matplotlib.patches` +~~~~~~~~~~~~~~~~~~~~~~~~~ + +============================================================ ============================================================ +Old method New method +============================================================ ============================================================ +`Patch.get_verts()` :meth:`matplotlib.patches.Patch.get_path` [Returns a + :class:`matplotlib.path.Path` instance] +============================================================ ============================================================ + +:mod:`matplotlib.backend_bases` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +============================================================ ============================================================ +Old method New method +============================================================ ============================================================ +`GraphicsContext.set_clip_rectangle(tuple)` `GraphicsContext.set_clip_rectangle(bbox)` +------------------------------------------------------------ ------------------------------------------------------------ +`GraphicsContext.get_clip_path()` `GraphicsContext.get_clip_path()` [7]_ +------------------------------------------------------------ ------------------------------------------------------------ +`GraphicsContext.set_clip_path()` `GraphicsContext.set_clip_path()` [8]_ +============================================================ ============================================================ + +:class:`~matplotlib.backend_bases.RendererBase` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +New methods: + + * :meth:`draw_path(self, gc, path, transform, rgbFace) + <matplotlib.backend_bases.RendererBase.draw_path>` + + * :meth:`draw_markers(self, gc, marker_path, marker_trans, path, + trans, rgbFace) + <matplotlib.backend_bases.RendererBase.draw_markers>` + + * :meth:`draw_path_collection(self, master_transform, cliprect, + clippath, clippath_trans, paths, all_transforms, offsets, + offsetTrans, facecolors, edgecolors, linewidths, linestyles, + antialiaseds) + <matplotlib.backend_bases.RendererBase.draw_path_collection>` + *[optional]* + +Changed methods: + + * `draw_image(self, x, y, im, bbox)` is now + :meth:`draw_image(self, x, y, im, bbox, clippath, clippath_trans) + <matplotlib.backend_bases.RendererBase.draw_image>` + +Removed methods: + + * `draw_arc` + + * `draw_line_collection` + + * `draw_line` + + * `draw_lines` + + * `draw_point` + + * `draw_quad_mesh` + + * `draw_poly_collection` + + * `draw_polygon` + + * `draw_rectangle` + + * `draw_regpoly_collection` + +.. [7] :meth:`matplotlib.backend_bases.GraphicsContext.get_clip_path` + returns a tuple of the form (*path*, *affine_transform*), where + *path* is a :class:`matplotlib.path.Path` instance and + *affine_transform* is a :class:`matplotlib.transforms.Affine2D` + instance. + +.. [8] :meth:`matplotlib.backend_bases.GraphicsContext.set_clip_path` + now only accepts a :class:`matplotlib.transforms.TransformedPath` + instance. diff --git a/doc/api/prev_api_changes/api_changes_0.98.1.rst b/doc/api/prev_api_changes/api_changes_0.98.1.rst new file mode 100644 index 000000000000..fd6e1bae6b20 --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_0.98.1.rst @@ -0,0 +1,5 @@ +Changes for 0.98.1 +================== + +* Removed broken :mod:`matplotlib.axes3d` support and replaced it with + a non-implemented error pointing to 0.91.x diff --git a/doc/api/prev_api_changes/api_changes_0.98.x.rst b/doc/api/prev_api_changes/api_changes_0.98.x.rst new file mode 100644 index 000000000000..4020d8715d36 --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_0.98.x.rst @@ -0,0 +1,110 @@ + +Changes for 0.98.x +================== +* psd(), csd(), and cohere() will now automatically wrap negative + frequency components to the beginning of the returned arrays. + This is much more sensible behavior and makes them consistent + with specgram(). The previous behavior was more of an oversight + than a design decision. + +* Added new keyword parameters *nonposx*, *nonposy* to + :class:`matplotlib.axes.Axes` methods that set log scale + parameters. The default is still to mask out non-positive + values, but the kwargs accept 'clip', which causes non-positive + values to be replaced with a very small positive value. + +* Added new :func:`matplotlib.pyplot.fignum_exists` and + :func:`matplotlib.pyplot.get_fignums`; they merely expose + information that had been hidden in :mod:`matplotlib._pylab_helpers`. + +* Deprecated numerix package. + +* Added new :func:`matplotlib.image.imsave` and exposed it to the + :mod:`matplotlib.pyplot` interface. + +* Remove support for pyExcelerator in exceltools -- use xlwt + instead + +* Changed the defaults of acorr and xcorr to use usevlines=True, + maxlags=10 and normed=True since these are the best defaults + +* Following keyword parameters for :class:`matplotlib.label.Label` are now + deprecated and new set of parameters are introduced. The new parameters + are given as a fraction of the font-size. Also, *scatteryoffsets*, + *fancybox* and *columnspacing* are added as keyword parameters. + + ================ ================ + Deprecated New + ================ ================ + pad borderpad + labelsep labelspacing + handlelen handlelength + handlestextsep handletextpad + axespad borderaxespad + ================ ================ + + +* Removed the configobj and experimental traits rc support + +* Modified :func:`matplotlib.mlab.psd`, :func:`matplotlib.mlab.csd`, + :func:`matplotlib.mlab.cohere`, and :func:`matplotlib.mlab.specgram` + to scale one-sided densities by a factor of 2. Also, optionally + scale the densities by the sampling frequency, which gives true values + of densities that can be integrated by the returned frequency values. + This also gives better MATLAB compatibility. The corresponding + :class:`matplotlib.axes.Axes` methods and :mod:`matplotlib.pyplot` + functions were updated as well. + +* Font lookup now uses a nearest-neighbor approach rather than an + exact match. Some fonts may be different in plots, but should be + closer to what was requested. + +* :meth:`matplotlib.axes.Axes.set_xlim`, + :meth:`matplotlib.axes.Axes.set_ylim` now return a copy of the + :attr:`viewlim` array to avoid modify-in-place surprises. + +* :meth:`matplotlib.afm.AFM.get_fullname` and + :meth:`matplotlib.afm.AFM.get_familyname` no longer raise an + exception if the AFM file does not specify these optional + attributes, but returns a guess based on the required FontName + attribute. + +* Changed precision kwarg in :func:`matplotlib.pyplot.spy`; default is + 0, and the string value 'present' is used for sparse arrays only to + show filled locations. + +* :class:`matplotlib.collections.EllipseCollection` added. + +* Added ``angles`` kwarg to :func:`matplotlib.pyplot.quiver` for more + flexible specification of the arrow angles. + +* Deprecated (raise NotImplementedError) all the mlab2 functions from + :mod:`matplotlib.mlab` out of concern that some of them were not + clean room implementations. + +* Methods :meth:`matplotlib.collections.Collection.get_offsets` and + :meth:`matplotlib.collections.Collection.set_offsets` added to + :class:`~matplotlib.collections.Collection` base class. + +* :attr:`matplotlib.figure.Figure.figurePatch` renamed + :attr:`matplotlib.figure.Figure.patch`; + :attr:`matplotlib.axes.Axes.axesPatch` renamed + :attr:`matplotlib.axes.Axes.patch`; + :attr:`matplotlib.axes.Axes.axesFrame` renamed + :attr:`matplotlib.axes.Axes.frame`. + :meth:`matplotlib.axes.Axes.get_frame`, which returns + :attr:`matplotlib.axes.Axes.patch`, is deprecated. + +* Changes in the :class:`matplotlib.contour.ContourLabeler` attributes + (:func:`matplotlib.pyplot.clabel` function) so that they all have a + form like ``.labelAttribute``. The three attributes that are most + likely to be used by end users, ``.cl``, ``.cl_xy`` and + ``.cl_cvalues`` have been maintained for the moment (in addition to + their renamed versions), but they are deprecated and will eventually + be removed. + +* Moved several functions in :mod:`matplotlib.mlab` and + :mod:`matplotlib.cbook` into a separate module + :mod:`matplotlib.numerical_methods` because they were unrelated to + the initial purpose of mlab or cbook and appeared more coherent + elsewhere. diff --git a/doc/api/prev_api_changes/api_changes_0.99.rst b/doc/api/prev_api_changes/api_changes_0.99.rst new file mode 100644 index 000000000000..4332d3f105d4 --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_0.99.rst @@ -0,0 +1,27 @@ +Changes in 0.99 +=============== + +* pylab no longer provides a load and save function. These are + available in matplotlib.mlab, or you can use numpy.loadtxt and + numpy.savetxt for text files, or np.save and np.load for binary + numpy arrays. + +* User-generated colormaps can now be added to the set recognized + by :func:`matplotlib.cm.get_cmap`. Colormaps can be made the + default and applied to the current image using + :func:`matplotlib.pyplot.set_cmap`. + +* changed use_mrecords default to False in mlab.csv2rec since this is + partially broken + +* Axes instances no longer have a "frame" attribute. Instead, use the + new "spines" attribute. Spines is a dictionary where the keys are + the names of the spines (e.g., 'left','right' and so on) and the + values are the artists that draw the spines. For normal + (rectilinear) axes, these artists are Line2D instances. For other + axes (such as polar axes), these artists may be Patch instances. + +* Polar plots no longer accept a resolution kwarg. Instead, each Path + must specify its own number of interpolation steps. This is + unlikely to be a user-visible change -- if interpolation of data is + required, that should be done before passing it to Matplotlib. diff --git a/doc/api/prev_api_changes/api_changes_0.99.x.rst b/doc/api/prev_api_changes/api_changes_0.99.x.rst new file mode 100644 index 000000000000..d9e8a56fa98d --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_0.99.x.rst @@ -0,0 +1,124 @@ +Changes beyond 0.99.x +===================== + +* The default behavior of :meth:`matplotlib.axes.Axes.set_xlim`, + :meth:`matplotlib.axes.Axes.set_ylim`, and + :meth:`matplotlib.axes.Axes.axis`, and their corresponding + pyplot functions, has been changed: when view limits are + set explicitly with one of these methods, autoscaling is turned + off for the matching axis. A new *auto* kwarg is available to + control this behavior. The limit kwargs have been renamed to + *left* and *right* instead of *xmin* and *xmax*, and *bottom* + and *top* instead of *ymin* and *ymax*. The old names may still + be used, however. + +* There are five new Axes methods with corresponding pyplot + functions to facilitate autoscaling, tick location, and tick + label formatting, and the general appearance of ticks and + tick labels: + + + :meth:`matplotlib.axes.Axes.autoscale` turns autoscaling + on or off, and applies it. + + + :meth:`matplotlib.axes.Axes.margins` sets margins used to + autoscale the :attr:`matplotlib.axes.Axes.viewLim` based on + the :attr:`matplotlib.axes.Axes.dataLim`. + + + :meth:`matplotlib.axes.Axes.locator_params` allows one to + adjust axes locator parameters such as *nbins*. + + + :meth:`matplotlib.axes.Axes.ticklabel_format` is a convenience + method for controlling the :class:`matplotlib.ticker.ScalarFormatter` + that is used by default with linear axes. + + + :meth:`matplotlib.axes.Axes.tick_params` controls direction, size, + visibility, and color of ticks and their labels. + +* The :meth:`matplotlib.axes.Axes.bar` method accepts a *error_kw* + kwarg; it is a dictionary of kwargs to be passed to the + errorbar function. + +* The :meth:`matplotlib.axes.Axes.hist` *color* kwarg now accepts + a sequence of color specs to match a sequence of datasets. + +* The :class:`~matplotlib.collections.EllipseCollection` has been + changed in two ways: + + + There is a new *units* option, 'xy', that scales the ellipse with + the data units. This matches the :class:'~matplotlib.patches.Ellipse` + scaling. + + + The *height* and *width* kwargs have been changed to specify + the height and width, again for consistency with + :class:`~matplotlib.patches.Ellipse`, and to better match + their names; previously they specified the half-height and + half-width. + +* There is a new rc parameter ``axes.color_cycle``, and the color + cycle is now independent of the rc parameter ``lines.color``. + :func:`matplotlib.Axes.set_default_color_cycle` is deprecated. + +* You can now print several figures to one pdf file and modify the + document information dictionary of a pdf file. See the docstrings + of the class :class:`matplotlib.backends.backend_pdf.PdfPages` for + more information. + +* Removed configobj_ and `enthought.traits`_ packages, which are only + required by the experimental traited config and are somewhat out of + date. If needed, install them independently. + +.. _configobj: http://www.voidspace.org.uk/python/configobj.html +.. _`enthought.traits`: http://code.enthought.com/pages/traits.html + +* The new rc parameter ``savefig.extension`` sets the filename extension + that is used by :meth:`matplotlib.figure.Figure.savefig` if its *fname* + argument lacks an extension. + +* In an effort to simplify the backend API, all clipping rectangles + and paths are now passed in using GraphicsContext objects, even + on collections and images. Therefore:: + + draw_path_collection(self, master_transform, cliprect, clippath, + clippath_trans, paths, all_transforms, offsets, + offsetTrans, facecolors, edgecolors, linewidths, + linestyles, antialiaseds, urls) + + # is now + + draw_path_collection(self, gc, master_transform, paths, all_transforms, + offsets, offsetTrans, facecolors, edgecolors, + linewidths, linestyles, antialiaseds, urls) + + + draw_quad_mesh(self, master_transform, cliprect, clippath, + clippath_trans, meshWidth, meshHeight, coordinates, + offsets, offsetTrans, facecolors, antialiased, + showedges) + + # is now + + draw_quad_mesh(self, gc, master_transform, meshWidth, meshHeight, + coordinates, offsets, offsetTrans, facecolors, + antialiased, showedges) + + + draw_image(self, x, y, im, bbox, clippath=None, clippath_trans=None) + + # is now + + draw_image(self, gc, x, y, im) + +* There are four new Axes methods with corresponding pyplot + functions that deal with unstructured triangular grids: + + + :meth:`matplotlib.axes.Axes.tricontour` draws contour lines + on a triangular grid. + + + :meth:`matplotlib.axes.Axes.tricontourf` draws filled contours + on a triangular grid. + + + :meth:`matplotlib.axes.Axes.tripcolor` draws a pseudocolor + plot on a triangular grid. + + + :meth:`matplotlib.axes.Axes.triplot` draws a triangular grid + as lines and/or markers. diff --git a/doc/api/prev_api_changes/api_changes_1.1.x.rst b/doc/api/prev_api_changes/api_changes_1.1.x.rst new file mode 100644 index 000000000000..8320e2c4fc09 --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_1.1.x.rst @@ -0,0 +1,25 @@ + +Changes in 1.1.x +================ + +* Added new :class:`matplotlib.sankey.Sankey` for generating Sankey diagrams. + +* In :meth:`~matplotlib.pyplot.imshow`, setting *interpolation* to 'nearest' + will now always mean that the nearest-neighbor interpolation is performed. + If you want the no-op interpolation to be performed, choose 'none'. + +* There were errors in how the tri-functions were handling input parameters + that had to be fixed. If your tri-plots are not working correctly anymore, + or you were working around apparent mistakes, please see issue #203 in the + github tracker. When in doubt, use kwargs. + +* The 'symlog' scale had some bad behavior in previous versions. This has now + been fixed and users should now be able to use it without frustrations. + The fixes did result in some minor changes in appearance for some users who + may have been depending on the bad behavior. + +* There is now a common set of markers for all plotting functions. Previously, + some markers existed only for :meth:`~matplotlib.pyplot.scatter` or just for + :meth:`~matplotlib.pyplot.plot`. This is now no longer the case. This merge + did result in a conflict. The string 'd' now means "thin diamond" while + 'D' will mean "regular diamond". diff --git a/doc/api/prev_api_changes/api_changes_1.2.x.rst b/doc/api/prev_api_changes/api_changes_1.2.x.rst new file mode 100644 index 000000000000..05082a1bc321 --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_1.2.x.rst @@ -0,0 +1,145 @@ +Changes in 1.2.x +================ + +* The ``classic`` option of the rc parameter ``toolbar`` is deprecated + and will be removed in the next release. + +* The :meth:`~matplotlib.cbook.isvector` method has been removed since it + is no longer functional. + +* The `rasterization_zorder` property on `~matplotlib.axes.Axes` a + zorder below which artists are rasterized. This has defaulted to + -30000.0, but it now defaults to `None`, meaning no artists will be + rasterized. In order to rasterize artists below a given zorder + value, `set_rasterization_zorder` must be explicitly called. + +* In :meth:`~matplotlib.axes.Axes.scatter`, and `~pyplot.scatter`, + when specifying a marker using a tuple, the angle is now specified + in degrees, not radians. + +* Using :meth:`~matplotlib.axes.Axes.twinx` or + :meth:`~matplotlib.axes.Axes.twiny` no longer overrides the current locaters + and formatters on the axes. + +* In :meth:`~matplotlib.axes.Axes.contourf`, the handling of the *extend* + kwarg has changed. Formerly, the extended ranges were mapped + after to 0, 1 after being normed, so that they always corresponded + to the extreme values of the colormap. Now they are mapped + outside this range so that they correspond to the special + colormap values determined by the + :meth:`~matplotlib.colors.Colormap.set_under` and + :meth:`~matplotlib.colors.Colormap.set_over` methods, which + default to the colormap end points. + +* The new rc parameter ``savefig.format`` replaces ``cairo.format`` and + ``savefig.extension``, and sets the default file format used by + :meth:`matplotlib.figure.Figure.savefig`. + +* In :meth:`~matplotlib.pyplot.pie` and :meth:`~matplotlib.Axes.pie`, one can + now set the radius of the pie; setting the *radius* to 'None' (the default + value), will result in a pie with a radius of 1 as before. + +* Use of :func:`~matplotlib.projections.projection_factory` is now deprecated + in favour of axes class identification using + :func:`~matplotlib.projections.process_projection_requirements` followed by + direct axes class invocation (at the time of writing, functions which do this + are: :meth:`~matplotlib.figure.Figure.add_axes`, + :meth:`~matplotlib.figure.Figure.add_subplot` and + :meth:`~matplotlib.figure.Figure.gca`). Therefore:: + + + key = figure._make_key(*args, **kwargs) + ispolar = kwargs.pop('polar', False) + projection = kwargs.pop('projection', None) + if ispolar: + if projection is not None and projection != 'polar': + raise ValueError('polar and projection args are inconsistent') + projection = 'polar' + ax = projection_factory(projection, self, rect, **kwargs) + key = self._make_key(*args, **kwargs) + + # is now + + projection_class, kwargs, key = \ + process_projection_requirements(self, *args, **kwargs) + ax = projection_class(self, rect, **kwargs) + + This change means that third party objects can expose themselves as + Matplotlib axes by providing a ``_as_mpl_axes`` method. See + :ref:`adding-new-scales` for more detail. + +* A new keyword *extendfrac* in :meth:`~matplotlib.pyplot.colorbar` and + :class:`~matplotlib.colorbar.ColorbarBase` allows one to control the size of + the triangular minimum and maximum extensions on colorbars. + +* A new keyword *capthick* in :meth:`~matplotlib.pyplot.errorbar` has been + added as an intuitive alias to the *markeredgewidth* and *mew* keyword + arguments, which indirectly controlled the thickness of the caps on + the errorbars. For backwards compatibility, specifying either of the + original keyword arguments will override any value provided by + *capthick*. + +* Transform subclassing behaviour is now subtly changed. If your transform + implements a non-affine transformation, then it should override the + ``transform_non_affine`` method, rather than the generic ``transform`` method. + Previously transforms would define ``transform`` and then copy the + method into ``transform_non_affine``:: + + class MyTransform(mtrans.Transform): + def transform(self, xy): + ... + transform_non_affine = transform + + + This approach will no longer function correctly and should be changed to:: + + class MyTransform(mtrans.Transform): + def transform_non_affine(self, xy): + ... + + +* Artists no longer have ``x_isdata`` or ``y_isdata`` attributes; instead + any artist's transform can be interrogated with + ``artist_instance.get_transform().contains_branch(ax.transData)`` + +* Lines added to an axes now take into account their transform when updating the + data and view limits. This means transforms can now be used as a pre-transform. + For instance:: + + >>> import matplotlib.pyplot as plt + >>> import matplotlib.transforms as mtrans + >>> ax = plt.axes() + >>> ax.plot(range(10), transform=mtrans.Affine2D().scale(10) + ax.transData) + >>> print(ax.viewLim) + Bbox('array([[ 0., 0.],\n [ 90., 90.]])') + +* One can now easily get a transform which goes from one transform's coordinate + system to another, in an optimized way, using the new subtract method on a + transform. For instance, to go from data coordinates to axes coordinates:: + + >>> import matplotlib.pyplot as plt + >>> ax = plt.axes() + >>> data2ax = ax.transData - ax.transAxes + >>> print(ax.transData.depth, ax.transAxes.depth) + 3, 1 + >>> print(data2ax.depth) + 2 + + for versions before 1.2 this could only be achieved in a sub-optimal way, + using ``ax.transData + ax.transAxes.inverted()`` (depth is a new concept, + but had it existed it would return 4 for this example). + +* ``twinx`` and ``twiny`` now returns an instance of SubplotBase if + parent axes is an instance of SubplotBase. + +* All Qt3-based backends are now deprecated due to the lack of py3k bindings. + Qt and QtAgg backends will continue to work in v1.2.x for py2.6 + and py2.7. It is anticipated that the Qt3 support will be completely + removed for the next release. + +* :class:`~matplotlib.colors.ColorConverter`, + :class:`~matplotlib.colors.Colormap` and + :class:`~matplotlib.colors.Normalize` now subclasses ``object`` + +* ContourSet instances no longer have a ``transform`` attribute. Instead, + access the transform with the ``get_transform`` method. diff --git a/doc/api/prev_api_changes/api_changes_1.3.x.rst b/doc/api/prev_api_changes/api_changes_1.3.x.rst new file mode 100644 index 000000000000..0c88515ec1ab --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_1.3.x.rst @@ -0,0 +1,217 @@ +.. _changes_in_1_3: + + +Changes in 1.3.x +================ + +Changes in 1.3.1 +---------------- + +It is rare that we make an API change in a bugfix release, however, +for 1.3.1 since 1.3.0 the following change was made: + +- `text.Text.cached` (used to cache font objects) has been made into a + private variable. Among the obvious encapsulation benefit, this + removes this confusing-looking member from the documentation. + +- The method :meth:`~matplotlib.axes.Axes.hist` now always returns bin + occupancies as an array of type `float`. Previously, it was sometimes + an array of type `int`, depending on the call. + +Code removal +------------ + +* The following items that were deprecated in version 1.2 or earlier + have now been removed completely. + + - The Qt 3.x backends (`qt` and `qtagg`) have been removed in + favor of the Qt 4.x backends (`qt4` and `qt4agg`). + + - The FltkAgg and Emf backends have been removed. + + - The `matplotlib.nxutils` module has been removed. Use the + functionality on `matplotlib.path.Path.contains_point` and + friends instead. + + - Instead of `axes.Axes.get_frame`, use `axes.Axes.patch`. + + - The following `kwargs` to the `legend` function have been + renamed: + + - `pad` -> `borderpad` + - `labelsep` -> `labelspacing` + - `handlelen` -> `handlelength` + - `handletextsep` -> `handletextpad` + - `axespad` -> `borderaxespad` + + Related to this, the following rcParams have been removed: + + - `legend.pad`, `legend.labelsep`, `legend.handlelen`, + `legend.handletextsep` and `legend.axespad` + + - For the `hist` function, instead of `width`, use `rwidth` + (relative width). + + - On `patches.Circle`, the `resolution` kwarg has been removed. + For a circle made up of line segments, use + `patches.CirclePolygon`. + + - The printing functions in the Wx backend have been removed due + to the burden of keeping them up-to-date. + + - `mlab.liaupunov` has been removed. + + - `mlab.save`, `mlab.load`, `pylab.save` and `pylab.load` have + been removed. We recommend using `numpy.savetxt` and + `numpy.loadtxt` instead. + + - `widgets.HorizontalSpanSelector` has been removed. Use + `widgets.SpanSelector` instead. + +Code deprecation +---------------- + +* The CocoaAgg backend has been deprecated, with the possibility for + deletion or resurrection in a future release. + +* The top-level functions in `matplotlib.path` that are implemented in + C++ were never meant to be public. Instead, users should use the + Pythonic wrappers for them in the `path.Path` and + `collections.Collection` classes. Use the following mapping to update + your code: + + - `point_in_path` -> `path.Path.contains_point` + - `get_path_extents` -> `path.Path.get_extents` + - `point_in_path_collection` -> `collection.Collection.contains` + - `path_in_path` -> `path.Path.contains_path` + - `path_intersects_path` -> `path.Path.intersects_path` + - `convert_path_to_polygons` -> `path.Path.to_polygons` + - `cleanup_path` -> `path.Path.cleaned` + - `points_in_path` -> `path.Path.contains_points` + - `clip_path_to_rect` -> `path.Path.clip_to_bbox` + +* `matplotlib.colors.normalize` and `matplotlib.colors.no_norm` have + been deprecated in favour of `matplotlib.colors.Normalize` and + `matplotlib.colors.NoNorm` respectively. + +* The `ScalarMappable` class' `set_colorbar` is now + deprecated. Instead, the + :attr:`matplotlib.cm.ScalarMappable.colorbar` attribute should be + used. In previous Matplotlib versions this attribute was an + undocumented tuple of ``(colorbar_instance, colorbar_axes)`` but is + now just ``colorbar_instance``. To get the colorbar axes it is + possible to just use the + :attr:`~matplotlib.colorbar.ColorbarBase.ax` attribute on a colorbar + instance. + +* The `~matplotlib.mpl` module is now deprecated. Those who relied on this + module should transition to simply using ``import matplotlib as mpl``. + +Code changes +------------ + +* :class:`~matplotlib.patches.Patch` now fully supports using RGBA values for + its ``facecolor`` and ``edgecolor`` attributes, which enables faces and + edges to have different alpha values. If the + :class:`~matplotlib.patches.Patch` object's ``alpha`` attribute is set to + anything other than ``None``, that value will override any alpha-channel + value in both the face and edge colors. Previously, if + :class:`~matplotlib.patches.Patch` had ``alpha=None``, the alpha component + of ``edgecolor`` would be applied to both the edge and face. + +* The optional ``isRGB`` argument to + :meth:`~matplotlib.backend_bases.GraphicsContextBase.set_foreground` (and + the other GraphicsContext classes that descend from it) has been renamed to + ``isRGBA``, and should now only be set to ``True`` if the ``fg`` color + argument is known to be an RGBA tuple. + +* For :class:`~matplotlib.patches.Patch`, the ``capstyle`` used is now + ``butt``, to be consistent with the default for most other objects, and to + avoid problems with non-solid ``linestyle`` appearing solid when using a + large ``linewidth``. Previously, :class:`~matplotlib.patches.Patch` used + ``capstyle='projecting'``. + +* `Path` objects can now be marked as `readonly` by passing + `readonly=True` to its constructor. The built-in path singletons, + obtained through `Path.unit*` class methods return readonly paths. + If you have code that modified these, you will need to make a + deepcopy first, using either:: + + import copy + path = copy.deepcopy(Path.unit_circle()) + + # or + + path = Path.unit_circle().deepcopy() + + Deep copying a `Path` always creates an editable (i.e. non-readonly) + `Path`. + +* The list at ``Path.NUM_VERTICES`` was replaced by a dictionary mapping + Path codes to the number of expected vertices at + :attr:`~matplotlib.path.Path.NUM_VERTICES_FOR_CODE`. + +* To support XKCD style plots, the :func:`matplotlib.path.cleanup_path` + method's signature was updated to require a sketch argument. Users of + :func:`matplotlib.path.cleanup_path` are encouraged to use the new + :meth:`~matplotlib.path.Path.cleaned` Path method. + +* Data limits on a plot now start from a state of having "null" + limits, rather than limits in the range (0, 1). This has an effect + on artists that only control limits in one direction, such as + `axvline` and `axhline`, since their limits will not longer also + include the range (0, 1). This fixes some problems where the + computed limits would be dependent on the order in which artists + were added to the axes. + +* Fixed a bug in setting the position for the right/top spine with data + position type. Previously, it would draw the right or top spine at + +1 data offset. + +* In :class:`~matplotlib.patches.FancyArrow`, the default arrow head + width, ``head_width``, has been made larger to produce a visible + arrow head. The new value of this kwarg is ``head_width = 20 * + width``. + +* It is now possible to provide ``number of levels + 1`` colors in the case of + `extend='both'` for contourf (or just ``number of levels`` colors for an + extend value ``min`` or ``max``) such that the resulting colormap's + ``set_under`` and ``set_over`` are defined appropriately. Any other number + of colors will continue to behave as before (if more colors are provided + than levels, the colors will be unused). A similar change has been applied + to contour, where ``extend='both'`` would expect ``number of levels + 2`` + colors. + +* A new keyword *extendrect* in :meth:`~matplotlib.pyplot.colorbar` and + :class:`~matplotlib.colorbar.ColorbarBase` allows one to control the shape + of colorbar extensions. + +* The extension of :class:`~matplotlib.widgets.MultiCursor` to both vertical + (default) and/or horizontal cursor implied that ``self.line`` is replaced + by ``self.vline`` for vertical cursors lines and ``self.hline`` is added + for the horizontal cursors lines. + +* On POSIX platforms, the :func:`~matplotlib.cbook.report_memory` function + raises :class:`NotImplementedError` instead of :class:`OSError` if the + :command:`ps` command cannot be run. + +* The :func:`matplotlib.cbook.check_output` function has been moved to + :func:`matplotlib.compat.subprocess`. + +Configuration and rcParams +-------------------------- + +* On Linux, the user-specific `matplotlibrc` configuration file is now + located in `~/.config/matplotlib/matplotlibrc` to conform to the + `XDG Base Directory Specification + <https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html>`_. + +* The `font.*` rcParams now affect only text objects created after the + rcParam has been set, and will not retroactively affect already + existing text objects. This brings their behavior in line with most + other rcParams. + +* Removed call of :meth:`~matplotlib.axes.Axes.grid` in + :meth:`~matplotlib.pyplot.plotfile`. To draw the axes grid, set the + ``axes.grid`` rcParam to *True*, or explicitly call + :meth:`~matplotlib.axes.Axes.grid`. diff --git a/doc/api/prev_api_changes/api_changes_1.4.x.rst b/doc/api/prev_api_changes/api_changes_1.4.x.rst new file mode 100644 index 000000000000..1e73ccba36dc --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_1.4.x.rst @@ -0,0 +1,208 @@ +Changes in 1.4.x +================ + +Code changes +------------ + +* A major refactoring of the axes module was made. The axes module has been + split into smaller modules: + + - the `_base` module, which contains a new private _AxesBase class. This + class contains all methods except plotting and labelling methods. + - the `axes` module, which contains the Axes class. This class inherits + from _AxesBase, and contains all plotting and labelling methods. + - the `_subplot` module, with all the classes concerning subplotting. + +There are a couple of things that do not exists in the `axes` module's +namespace anymore. If you use them, you need to import them from their +original location: + + - math -> `import math` + - ma -> `from numpy import ma` + - cbook -> `from matplotlib import cbook` + - docstring -> `from matplotlib import docstring` + - is_sequence_of_strings -> `from matplotlib.cbook import is_sequence_of_strings` + - is_string_like -> `from matplotlib.cbook import is_string_like` + - iterable -> `from matplotlib.cbook import iterable` + - itertools -> `import itertools` + - martist -> `from matplotlib import artist as martist` + - matplotlib -> `import matplotlib` + - mcoll -> `from matplotlib import collections as mcoll` + - mcolors -> `from matplotlib import colors as mcolors` + - mcontour -> `from matplotlib import contour as mcontour` + - mpatches -> `from matplotlib import patches as mpatches` + - mpath -> `from matplotlib import path as mpath` + - mquiver -> `from matplotlib import quiver as mquiver` + - mstack -> `from matplotlib import stack as mstack` + - mstream -> `from matplotlib import stream as mstream` + - mtable -> `from matplotlib import table as mtable` + +* As part of the refactoring to enable Qt5 support, the module + `matplotlib.backends.qt4_compat` was renamed to + `matplotlib.qt_compat`. `qt4_compat` is deprecated in 1.4 and + will be removed in 1.5. + +* The :func:`~matplotlib.pyplot.errorbar` method has been changed such that + the upper and lower limits (*lolims*, *uplims*, *xlolims*, *xuplims*) now + point in the correct direction. + +* The *fmt* kwarg for :func:`~matplotlib.pyplot.errorbar now supports + the string 'none' to suppress drawing of a line and markers; use + of the *None* object for this is deprecated. The default *fmt* + value is changed to the empty string (''), so the line and markers + are governed by the :func:`~matplotlib.pyplot.plot` defaults. + +* A bug has been fixed in the path effects rendering of fonts, which now means + that the font size is consistent with non-path effect fonts. See + https://github.com/matplotlib/matplotlib/issues/2889 for more detail. + +* The Sphinx extensions `ipython_directive` and + `ipython_console_highlighting` have been moved to the IPython + project itself. While they remain in Matplotlib for this release, + they have been deprecated. Update your extensions in `conf.py` to + point to `IPython.sphinxext.ipython_directive` instead of + `matplotlib.sphinxext.ipython_directive`. + +* In `~matplotlib.finance`, almost all functions have been deprecated + and replaced with a pair of functions name `*_ochl` and `*_ohlc`. + The former is the 'open-close-high-low' order of quotes used + previously in this module, and the latter is the + 'open-high-low-close' order that is standard in finance. + +* For consistency the ``face_alpha`` keyword to + :class:`matplotlib.patheffects.SimplePatchShadow` has been deprecated in + favour of the ``alpha`` keyword. Similarly, the keyword ``offset_xy`` is now + named ``offset`` across all :class:`~matplotlib.patheffects.AbstractPathEffect`s. + ``matplotlib.patheffects._Base`` has + been renamed to :class:`matplotlib.patheffects.AbstractPathEffect`. + ``matplotlib.patheffect.ProxyRenderer`` has been renamed to + :class:`matplotlib.patheffects.PathEffectRenderer` and is now a full + RendererBase subclass. + +* The artist used to draw the outline of a `colorbar` has been changed + from a `matplotlib.lines.Line2D` to `matplotlib.patches.Polygon`, + thus `colorbar.ColorbarBase.outline` is now a + `matplotlib.patches.Polygon` object. + +* The legend handler interface has changed from a callable, to any object + which implements the ``legend_artists`` method (a deprecation phase will + see this interface be maintained for v1.4). See + :doc:`/tutorials/intermediate/legend_guide` for further details. Further legend changes + include: + + * :func:`matplotlib.axes.Axes._get_legend_handles` now returns a generator + of handles, rather than a list. + + * The :func:`~matplotlib.pyplot.legend` function's "loc" positional + argument has been deprecated. Use the "loc" keyword instead. + +* The rcParams `savefig.transparent` has been added to control + default transparency when saving figures. + +* Slightly refactored the `Annotation` family. The text location in + `Annotation` is now handled entirely handled by the underlying `Text` + object so `set_position` works as expected. The attributes `xytext` and + `textcoords` have been deprecated in favor of `xyann` and `anncoords` so + that `Annotation` and `AnnotaionBbox` can share a common sensibly named + api for getting/setting the location of the text or box. + + - `xyann` -> set the location of the annotation + - `xy` -> set where the arrow points to + - `anncoords` -> set the units of the annotation location + - `xycoords` -> set the units of the point location + - `set_position()` -> `Annotation` only set location of annotation + +* `matplotlib.mlab.specgram`, `matplotlib.mlab.psd`, `matplotlib.mlab.csd`, + `matplotlib.mlab.cohere`, `matplotlib.mlab.cohere_pairs`, + `matplotlib.pyplot.specgram`, `matplotlib.pyplot.psd`, + `matplotlib.pyplot.csd`, and `matplotlib.pyplot.cohere` now raise + ValueError where they previously raised AssertionError. + +* For `matplotlib.mlab.psd`, `matplotlib.mlab.csd`, + `matplotlib.mlab.cohere`, `matplotlib.mlab.cohere_pairs`, + `matplotlib.pyplot.specgram`, `matplotlib.pyplot.psd`, + `matplotlib.pyplot.csd`, and `matplotlib.pyplot.cohere`, in cases + where a shape (n, 1) array is returned, this is now converted to a (n, ) + array. Previously, (n, m) arrays were averaged to an (n, ) array, but + (n, 1) arrays were returend unchanged. This change makes the dimensions + consistent in both cases. + +* Added the rcParam `axes.fromatter.useoffset` to control the default value + of `useOffset` in `ticker.ScalarFormatter` + +* Added `Formatter` sub-class `StrMethodFormatter` which + does the exact same thing as `FormatStrFormatter`, but for new-style + formatting strings. + +* Deprecated `matplotlib.testing.image_util` and the only function within, + `matplotlib.testing.image_util.autocontrast`. These will be removed + completely in v1.5.0. + +* The ``fmt`` argument of :meth:`~matplotlib.axes.Axes.plot_date` has been + changed from ``bo`` to just ``o``, so color cycling can happen by default. + +* Removed the class `FigureManagerQTAgg` and deprecated `NavigationToolbar2QTAgg` + which will be removed in 1.5. + +* Removed formerly public (non-prefixed) attributes `rect` and + `drawRect` from `FigureCanvasQTAgg`; they were always an + implementation detail of the (preserved) `drawRectangle()` function. + +* The function signatures of `tight_bbox.adjust_bbox` and + `tight_bbox.process_figure_for_rasterizing` have been changed. A new + `fixed_dpi` parameter allows for overriding the `figure.dpi` setting + instead of trying to deduce the intended behaviour from the file format. + +* Added support for horizontal/vertical axes padding to + `mpl_toolkits.axes_grid1.ImageGrid` --- argument ``axes_pad`` can now be + tuple-like if separate axis padding is required. + The original behavior is preserved. + +* Added support for skewed transforms to `matplotlib.transforms.Affine2D`, + which can be created using the `skew` and `skew_deg` methods. + +* Added clockwise parameter to control sectors direction in `axes.pie` + +* In `matplotlib.lines.Line2D` the `markevery` functionality has been extended. + Previously an integer start-index and stride-length could be specified using + either a two-element-list or a two-element-tuple. Now this can only be done + using a two-element-tuple. If a two-element-list is used then it will be + treated as numpy fancy indexing and only the two markers corresponding to the + given indexes will be shown. + +* removed prop kwarg from `mpl_toolkits.axes_grid1.anchored_artists.AnchoredSizeBar` + call. It was passed through to the base-class `__init__` and is only used for + setting padding. Now `fontproperties` (which is what is really used to set + the font properties of `AnchoredSizeBar`) is passed through in place of `prop`. + If `fontpropreties` is not passed in, but `prop` is, then `prop` is used inplace + of `fontpropreties`. If both are passed in, `prop` is silently ignored. + + +* The use of the index 0 in `plt.subplot` and related commands is + deprecated. Due to a lack of validation calling `plt.subplots(2, 2, + 0)` does not raise an exception, but puts an axes in the _last_ + position. This is due to the indexing in subplot being 1-based (to + mirror MATLAB) so before indexing into the `GridSpec` object used to + determine where the axes should go, 1 is subtracted off. Passing in + 0 results in passing -1 to `GridSpec` which results in getting the + last position back. Even though this behavior is clearly wrong and + not intended, we are going through a deprecation cycle in an + abundance of caution that any users are exploiting this 'feature'. + The use of 0 as an index will raise a warning in 1.4 and an + exception in 1.5. + +* Clipping is now off by default on offset boxes. + +* Matplotlib now uses a less-aggressive call to ``gc.collect(1)`` when + closing figures to avoid major delays with large numbers of user objects + in memory. + +* The default clip value of *all* pie artists now defaults to ``False``. + + +Code removal +------------ + +* Removed ``mlab.levypdf``. The code raised a numpy error (and has for + a long time) and was not the standard form of the Levy distribution. + ``scipy.stats.levy`` should be used instead diff --git a/doc/api/prev_api_changes/api_changes_1.5.0.rst b/doc/api/prev_api_changes/api_changes_1.5.0.rst new file mode 100644 index 000000000000..76540c234509 --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_1.5.0.rst @@ -0,0 +1,406 @@ + +Changes in 1.5.0 +================ + +Code Changes +------------ + +Reversed `matplotlib.cbook.ls_mapper`, added `ls_mapper_r` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Formerly, `matplotlib.cbook.ls_mapper` was a dictionary with +the long-form line-style names (`"solid"`) as keys and the short +forms (`"-"`) as values. This long-to-short mapping is now done +by `ls_mapper_r`, and the short-to-long mapping is done by the +`ls_mapper`. + +Prevent moving artists between Axes, Property-ify Artist.axes, deprecate Artist.{get,set}_axes +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This was done to prevent an Artist that is +already associated with an Axes from being moved/added to a different Axes. +This was never supported as it causes havoc with the transform stack. +The apparent support for this (as it did not raise an exception) was +the source of multiple bug reports and questions on SO. + +For almost all use-cases, the assignment of the axes to an artist should be +taken care of by the axes as part of the ``Axes.add_*`` method, hence the +deprecation of {get,set}_axes. + +Removing the ``set_axes`` method will also remove the 'axes' line from +the ACCEPTS kwarg tables (assuming that the removal date gets here +before that gets overhauled). + +Tightened input validation on 'pivot' kwarg to quiver +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Tightened validation so that only {'tip', 'tail', 'mid', and 'middle'} +(but any capitalization) are valid values for the 'pivot' kwarg in +the `Quiver.__init__` (and hence `Axes.quiver` and +`plt.quiver` which both fully delegate to `Quiver`). Previously any +input matching 'mid.*' would be interpreted as 'middle', 'tip.*' as +'tip' and any string not matching one of those patterns as 'tail'. + +The value of `Quiver.pivot` is normalized to be in the set {'tip', +'tail', 'middle'} in `Quiver.__init__`. + +Reordered `Axes.get_children` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The artist order returned by `Axes.get_children` did not +match the one used by `Axes.draw`. They now use the same +order, as `Axes.draw` now calls `Axes.get_children`. + +Changed behaviour of contour plots +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The default behaviour of :func:`~matplotlib.pyplot.contour` and +:func:`~matplotlib.pyplot.contourf` when using a masked array is now determined +by the new keyword argument `corner_mask`, or if this is not specified then +the new rcParam `contour.corner_mask` instead. The new default behaviour is +equivalent to using `corner_mask=True`; the previous behaviour can be obtained +using `corner_mask=False` or by changing the rcParam. The example +http://matplotlib.org/examples/pylab_examples/contour_corner_mask.html +demonstrates the difference. Use of the old contouring algorithm, which is +obtained with `corner_mask='legacy'`, is now deprecated. + +Contour labels may now appear in different places than in earlier versions of +Matplotlib. + +In addition, the keyword argument `nchunk` now applies to +:func:`~matplotlib.pyplot.contour` as well as +:func:`~matplotlib.pyplot.contourf`, and it subdivides the domain into +subdomains of exactly `nchunk` by `nchunk` quads, whereas previously it was +only roughly `nchunk` by `nchunk` quads. + +The C/C++ object that performs contour calculations used to be stored in the +public attribute QuadContourSet.Cntr, but is now stored in a private attribute +and should not be accessed by end users. + +Added set_params function to all Locator types +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This was a bug fix targeted at making the api for Locators more consistent. + +In the old behavior, only locators of type MaxNLocator have set_params() +defined, causing its use on any other Locator to raise an AttributeError *( +aside: set_params(args) is a function that sets the parameters of a Locator +instance to be as specified within args)*. The fix involves moving set_params() +to the Locator class such that all subtypes will have this function defined. + +Since each of the Locator subtypes have their own modifiable parameters, a +universal set_params() in Locator isn't ideal. Instead, a default no-operation +function that raises a warning is implemented in Locator. Subtypes extending +Locator will then override with their own implementations. Subtypes that do +not have a need for set_params() will fall back onto their parent's +implementation, which raises a warning as intended. + +In the new behavior, Locator instances will not raise an AttributeError +when set_params() is called. For Locators that do not implement set_params(), +the default implementation in Locator is used. + +Disallow ``None`` as x or y value in ax.plot +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Do not allow ``None`` as a valid input for the ``x`` or ``y`` args in +`ax.plot`. This may break some user code, but this was never officially +supported (ex documented) and allowing ``None`` objects through can lead +to confusing exceptions downstream. + +To create an empty line use :: + + ln1, = ax.plot([], [], ...) + ln2, = ax.plot([], ...) + +In either case to update the data in the `Line2D` object you must update +both the ``x`` and ``y`` data. + + +Removed `args` and `kwargs` from `MicrosecondLocator.__call__` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The call signature of :meth:`~matplotlib.dates.MicrosecondLocator.__call__` +has changed from `__call__(self, *args, **kwargs)` to `__call__(self)`. +This is consistent with the superclass :class:`~matplotlib.ticker.Locator` +and also all the other Locators derived from this superclass. + + +No `ValueError` for the MicrosecondLocator and YearLocator +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The :class:`~matplotlib.dates.MicrosecondLocator` and +:class:`~matplotlib.dates.YearLocator` objects when called will return +an empty list if the axes have no data or the view has no interval. +Previously, they raised a `ValueError`. This is consistent with all +the Date Locators. + +'OffsetBox.DrawingArea' respects the 'clip' keyword argument +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The call signature was `OffsetBox.DrawingArea(..., clip=True)` but nothing +was done with the `clip` argument. The object did not do any clipping +regardless of that parameter. Now the object can and does clip the +child `Artists` if they are set to be clipped. + +You can turn off the clipping on a per-child basis using +`child.set_clip_on(False)`. + +Add salt to clipPath id +~~~~~~~~~~~~~~~~~~~~~~~ + +Add salt to the hash used to determine the id of the ``clipPath`` +nodes. This is to avoid conflicts when two svg documents with the same +clip path are included in the same document (see +https://github.com/ipython/ipython/issues/8133 and +https://github.com/matplotlib/matplotlib/issues/4349 ), however this +means that the svg output is no longer deterministic if the same +figure is saved twice. It is not expected that this will affect any +users as the current ids are generated from an md5 hash of properties +of the clip path and any user would have a very difficult time +anticipating the value of the id. + +Changed snap threshold for circle markers to inf +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +When drawing circle markers above some marker size (previously 6.0) +the path used to generate the marker was snapped to pixel centers. However, +this ends up distorting the marker away from a circle. By setting the +snap threshold to inf snapping is never done on circles. + +This change broke several tests, but is an improvement. + +Preserve units with Text position +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Previously the 'get_position' method on Text would strip away unit information +even though the units were still present. There was no inherent need to do +this, so it has been changed so that unit data (if present) will be preserved. +Essentially a call to 'get_position' will return the exact value from a call to +'set_position'. + +If you wish to get the old behaviour, then you can use the new method called +'get_unitless_position'. + +New API for custom Axes view changes +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Interactive pan and zoom were previously implemented using a Cartesian-specific +algorithm that was not necessarily applicable to custom Axes. Three new private +methods, :meth:`~matplotlib.axes._base._AxesBase._get_view`, +:meth:`~matplotlib.axes._base._AxesBase._set_view`, and +:meth:`~matplotlib.axes._base._AxesBase._set_view_from_bbox`, allow for custom +*Axes* classes to override the pan and zoom algorithms. Implementors of +custom *Axes* who override these methods may provide suitable behaviour for +both pan and zoom as well as the view navigation buttons on the interactive +toolbars. + +MathTex visual changes +---------------------- + +The spacing commands in mathtext have been changed to more closely +match vanilla TeX. + + +Improved spacing in mathtext +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The extra space that appeared after subscripts and superscripts has +been removed. + +No annotation coordinates wrap +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +In #2351 for 1.4.0 the behavior of ['axes points', 'axes pixel', +'figure points', 'figure pixel'] as coordinates was change to +no longer wrap for negative values. In 1.4.3 this change was +reverted for 'axes points' and 'axes pixel' and in addition caused +'axes fraction' to wrap. For 1.5 the behavior has been reverted to +as it was in 1.4.0-1.4.2, no wrapping for any type of coordinate. + +Deprecation +----------- + +Deprecated `GraphicsContextBase.set_graylevel` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The `GraphicsContextBase.set_graylevel` function has been deprecated in 1.5 and +will be removed in 1.6. It has been unused. The +`GraphicsContextBase.set_foreground` could be used instead. + +deprecated idle_event +~~~~~~~~~~~~~~~~~~~~~ + +The `idle_event` was broken or missing in most backends and causes spurious +warnings in some cases, and its use in creating animations is now obsolete due +to the animations module. Therefore code involving it has been removed from all +but the wx backend (where it partially works), and its use is deprecated. The +animations module may be used instead to create animations. + +`color_cycle` deprecated +~~~~~~~~~~~~~~~~~~~~~~~~ + +In light of the new property cycling feature, +the Axes method *set_color_cycle* is now deprecated. +Calling this method will replace the current property cycle with +one that cycles just the given colors. + +Similarly, the rc parameter *axes.color_cycle* is also deprecated in +lieu of the new *axes.prop_cycle* parameter. Having both parameters in +the same rc file is not recommended as the result cannot be +predicted. For compatibility, setting *axes.color_cycle* will +replace the cycler in *axes.prop_cycle* with a color cycle. +Accessing *axes.color_cycle* will return just the color portion +of the property cycle, if it exists. + +Timeline for removal has not been set. + + +Bundled jquery +-------------- + +The version of jquery bundled with the webagg backend has been upgraded +from 1.7.1 to 1.11.3. If you are using the version of jquery bundled +with webagg you will need to update your html files as such + +.. code-block:: diff + + - <script src="_static/jquery/js/jquery-1.7.1.min.js"></script> + + <script src="_static/jquery/js/jquery-1.11.3.min.js"></script> + + +Code Removed +------------ + +Removed `Image` from main namespace +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +`Image` was imported from PIL/pillow to test if PIL is available, but +there is no reason to keep `Image` in the namespace once the availability +has been determined. + +Removed `lod` from Artist +~~~~~~~~~~~~~~~~~~~~~~~~~ + +Removed the method *set_lod* and all references to +the attribute *_lod* as the are not used anywhere else in the +code base. It appears to be a feature stub that was never built +out. + +Removed threading related classes from cbook +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +The classes ``Scheduler``, ``Timeout``, and ``Idle`` were in cbook, but +are not used internally. They appear to be a prototype for the idle event +system which was not working and has recently been pulled out. + +Removed `Lena` images from sample_data +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The ``lena.png`` and ``lena.jpg`` images have been removed from +Matplotlib's sample_data directory. The images are also no longer +available from `matplotlib.cbook.get_sample_data`. We suggest using +`matplotlib.cbook.get_sample_data('grace_hopper.png')` or +`matplotlib.cbook.get_sample_data('grace_hopper.jpg')` instead. + + +Legend +~~~~~~ +Removed handling of `loc` as a positional argument to `Legend` + + +Legend handlers +~~~~~~~~~~~~~~~ +Remove code to allow legend handlers to be callable. They must now +implement a method ``legend_artist``. + + +Axis +~~~~ +Removed method ``set_scale``. This is now handled via a private method which +should not be used directly by users. It is called via ``Axes.set_{x,y}scale`` +which takes care of ensuring the related changes are also made to the Axes +object. + +finance.py +~~~~~~~~~~ + +Removed functions with ambiguous argument order from finance.py + + +Annotation +~~~~~~~~~~ + +Removed ``textcoords`` and ``xytext`` proprieties from Annotation objects. + + +spinxext.ipython_*.py +~~~~~~~~~~~~~~~~~~~~~ + +Both ``ipython_console_highlighting`` and ``ipython_directive`` have been +moved to `IPython`. + +Change your import from 'matplotlib.sphinxext.ipython_directive' to +'IPython.sphinxext.ipython_directive' and from +'matplotlib.sphinxext.ipython_directive' to +'IPython.sphinxext.ipython_directive' + + +LineCollection.color +~~~~~~~~~~~~~~~~~~~~ + +Deprecated in 2005, use ``set_color`` + + +remove ``'faceted'`` as a valid value for `shading` in ``tri.tripcolor`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Use `edgecolor` instead. Added validation on ``shading`` to +only be valid values. + + +Remove ``faceted`` kwarg from scatter +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Remove support for the ``faceted`` kwarg. This was deprecated in +d48b34288e9651ff95c3b8a071ef5ac5cf50bae7 (2008-04-18!) and replaced by +``edgecolor``. + + +Remove ``set_colorbar`` method from ``ScalarMappable`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Remove ``set_colorbar`` method, use `colorbar` attribute directly. + + +patheffects.svg +~~~~~~~~~~~~~~~ + + - remove ``get_proxy_renderer`` method from ``AbstarctPathEffect`` class + - remove ``patch_alpha`` and ``offset_xy`` from ``SimplePatchShadow`` + + +Remove ``testing.image_util.py`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Contained only a no-longer used port of functionality from PIL + + +Remove ``mlab.FIFOBuffer`` +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Not used internally and not part of core mission of mpl. + + +Remove ``mlab.prepca`` +~~~~~~~~~~~~~~~~~~~~~~ +Deprecated in 2009. + + +Remove ``NavigationToolbar2QTAgg`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Added no functionality over the base ``NavigationToolbar2Qt`` + + +mpl.py +~~~~~~ + +Remove the module `matplotlib.mpl`. Deprecated in 1.3 by +PR #1670 and commit 78ce67d161625833cacff23cfe5d74920248c5b2 diff --git a/doc/api/prev_api_changes/api_changes_1.5.2.rst b/doc/api/prev_api_changes/api_changes_1.5.2.rst new file mode 100644 index 000000000000..d2ee33546314 --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_1.5.2.rst @@ -0,0 +1,17 @@ +Changes in 1.5.2 +================ + + +Default Behavior Changes +------------------------ + +Changed default ``autorange`` behavior in boxplots +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Prior to v1.5.2, the whiskers of boxplots would extend to the minimum +and maximum values if the quartiles were all equal (i.e., Q1 = median += Q3). This behavior has been disabled by default to restore consistency +with other plotting packages. + +To restore the old behavior, simply set ``autorange=True`` when +calling ``plt.boxplot``. diff --git a/doc/api/prev_api_changes/api_changes_1.5.3.rst b/doc/api/prev_api_changes/api_changes_1.5.3.rst new file mode 100644 index 000000000000..9806cbf9bb03 --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_1.5.3.rst @@ -0,0 +1,26 @@ +Changes in 1.5.3 +================ + +``ax.plot(..., marker=None)`` gives default marker +-------------------------------------------------- + +Prior to 1.5.3 kwargs passed to `~matplotlib.Axes.plot` were handled +in two parts -- default kwargs generated internal to +`~matplotlib.Axes.plot` (such as the cycled styles) and user supplied +kwargs. The internally generated kwargs were passed to the +`matplotlib.lines.Line2D.__init__` and the user kwargs were passed to +``ln.set(**kwargs)`` to update the artist after it was created. Now +both sets of kwargs are merged and passed to +`~matplotlib.lines.Line2D.__init__`. This change was made to allow `None` +to be passed in via the user kwargs to mean 'do the default thing' as +is the convention through out mpl rather than raising an exception. + +Unlike most `~matplotlib.lines.Line2D` setter methods +`~matplotlib.lines.Line2D.set_marker` did accept `None` as a valid +input which was mapped to 'no marker'. Thus, by routing this +``marker=None`` through ``__init__`` rather than ``set(...)`` the meaning +of ``ax.plot(..., marker=None)`` changed from 'no markers' to 'default markers +from rcparams'. + +This is change is only evident if ``mpl.rcParams['lines.marker']`` has a value +other than ``'None'`` (which is string ``'None'`` which means 'no marker'). diff --git a/doc/api/prev_api_changes/api_changes_2.0.0.rst b/doc/api/prev_api_changes/api_changes_2.0.0.rst new file mode 100644 index 000000000000..047413abe8b0 --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_2.0.0.rst @@ -0,0 +1,204 @@ + +API Changes in 2.0.0 +==================== + +Deprecation and removal +----------------------- + +Color of Axes +~~~~~~~~~~~~~ +The ``axisbg`` and ``axis_bgcolor`` properties on *Axes* have been +deprecated in favor of ``facecolor``. + +GTK and GDK backends deprecated +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +The GDK and GTK backends have been deprecated. These obsolete backends +allow figures to be rendered via the GDK API to files and GTK2 figures. +They are untested and known to be broken, and their use has been +discouraged for some time. Instead, use the `GTKAgg` and `GTKCairo` +backends for rendering to GTK2 windows. + +WX backend deprecated +~~~~~~~~~~~~~~~~~~~~~ +The WX backend has been deprecated. It is untested, and its +use has been discouraged for some time. Instead, use the `WXAgg` +backend for rendering figures to WX windows. + +CocoaAgg backend removed +~~~~~~~~~~~~~~~~~~~~~~~~ +The deprecated and not fully functional CocoaAgg backend has been removed. + +`round` removed from TkAgg Backend +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +The TkAgg backend had its own implementation of the `round` function. This +was unused internally and has been removed. Instead, use either the +`round` builtin function or `numpy.round`. + +'hold' functionality deprecated +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +The 'hold' keyword argument and all functions and methods related +to it are deprecated, along with the 'axes.hold' `rcParams` entry. +The behavior will remain consistent with the default ``hold=True`` +state that has long been in place. Instead of using a function +or keyword argument (``hold=False``) to change that behavior, +explicitly clear the axes or figure as needed prior to subsequent +plotting commands. + + +`Artist.update` has return value +-------------------------------- + +The methods `matplotlib.artist.Artist.set`, +`matplotlib.Artist.update`, and the function `matplotlib.artist.setp` +now use a common codepath to look up how to update the given artist +properties (either using the setter methods or an attribute/property). + +The behavior of `matplotlib.Artist.update` is slightly changed to +return a list of the values returned from the setter methods to avoid +changing the API of `matplotlib.Artist.set` and +`matplotlib.artist.setp`. + +The keys passed into `matplotlib.Artist.update` are now converted to +lower case before being processed, to match the behavior of +`matplotlib.Artist.set` and `matplotlib.artist.setp`. This should not +break any user code because there are no set methods with capitals in +their names, but this puts a constraint on naming properties in the future. + + +`Legend` initializers gain edgecolor and facecolor kwargs +--------------------------------------------------------- + +The :class:`~matplotlib.legend.Legend` background patch (or 'frame') +can have its ``edgecolor`` and ``facecolor`` determined by the +corresponding keyword arguments to the :class:`matplotlib.legend.Legend` +initializer, or to any of the methods or functions that call that +initializer. If left to their default values of `None`, their values +will be taken from ``matplotlib.rcParams``. The previously-existing +``framealpha`` kwarg still controls the alpha transparency of the +patch. + + +Qualitative colormaps +--------------------- + +Colorbrewer's qualitative/discrete colormaps ("Accent", "Dark2", "Paired", +"Pastel1", "Pastel2", "Set1", "Set2", "Set3") are now implemented as +``ListedColormap`` instead of ``LinearSegmentedColormap``. + +To use these for images where categories are specified as integers, for +instance, use:: + + plt.imshow(x, cmap='Dark2', norm=colors.NoNorm()) + + +Change in the ``draw_image`` backend API +---------------------------------------- + +The ``draw_image`` method implemented by backends has changed its interface. + +This change is only relevant if the backend declares that it is able +to transform images by returning ``True`` from ``option_scale_image``. +See the ``draw_image`` docstring for more information. + + + +`matplotlib.ticker.LinearLocator` algorithm update +-------------------------------------------------- + +The ``matplotlib.ticker.LinearLocator`` is used to define the range and +location of axis ticks when the user wants an exact number of ticks. +``LinearLocator`` thus differs from the default locator ``MaxNLocator``, +for which the user specifies a maximum number of intervals rather than +a precise number of ticks. + +The view range algorithm in ``matplotlib.ticker.LinearLocator`` has been +changed so that more convenient tick locations are chosen. The new algorithm +returns a plot view range that is a multiple of the user-requested number of +ticks. This ensures tick marks will be located at whole integers more +consistently. For example, when both y-axes of a``twinx`` plot use +``matplotlib.ticker.LinearLocator`` with the same number of ticks, +their y-tick locations and grid lines will coincide. + +`matplotlib.ticker.LogLocator` gains numticks kwarg +--------------------------------------------------- + +The maximum number of ticks generated by the +`~matplotlib.ticker.LogLocator` can now be controlled explicitly +via setting the new 'numticks' kwarg to an integer. By default +the kwarg is None which internally sets it to the 'auto' string, +triggering a new algorithm for adjusting the maximum according +to the axis length relative to the ticklabel font size. + +`matplotlib.ticker.LogFormatter`: two new kwargs +------------------------------------------------ + +Previously, minor ticks on log-scaled axes were not labeled by +default. An algorithm has been added to the +`~matplotlib.ticker.LogFormatter` to control the labeling of +ticks between integer powers of the base. The algorithm uses +two parameters supplied in a kwarg tuple named 'minor_thresholds'. +See the docstring for further explanation. + +To improve support for axes using `~matplotlib.ticker.SymmetricLogLocator`, +a 'linthresh' kwarg was added. + + +New defaults for 3D quiver function in mpl_toolkits.mplot3d.axes3d.py +--------------------------------------------------------------------- + +Matplotlib has both a 2D and a 3D ``quiver`` function. These changes +affect only the 3D function and make the default behavior of the 3D +function match the 2D version. There are two changes: + +1) The 3D quiver function previously normalized the arrows to be the + same length, which makes it unusable for situations where the + arrows should be different lengths and does not match the behavior + of the 2D function. This normalization behavior is now controlled + with the ``normalize`` keyword, which defaults to False. + +2) The ``pivot`` keyword now defaults to ``tail`` instead of + ``tip``. This was done in order to match the default behavior of + the 2D quiver function. + +To obtain the previous behavior with the 3D quiver function, one can +call the function with :: + + ax.quiver(x, y, z, u, v, w, normalize=True, pivot='tip') + +where "ax" is an ``Axes3d`` object created with something like :: + + import mpl_toolkits.mplot3d.axes3d + ax = plt.sublot(111, projection='3d') + + +Stale figure behavior +--------------------- + +Attempting to draw the figure will now mark it as not stale (independent if +the draw succeeds). This change is to prevent repeatedly trying to re-draw a +figure which is raising an error on draw. The previous behavior would only mark +a figure as not stale after a full re-draw succeeded. + + +The spectral colormap is now nipy_spectral +------------------------------------------ + +The colormaps formerly known as ``spectral`` and ``spectral_r`` have been +replaced by ``nipy_spectral`` and ``nipy_spectral_r`` since Matplotlib +1.3.0. Even though the colormap was deprecated in Matplotlib 1.3.0, it never +raised a warning. As of Matplotlib 2.0.0, using the old names raises a +deprecation warning. In the future, using the old names will raise an error. + +Default install no longer includes test images +---------------------------------------------- + +To reduce the size of wheels and source installs, the tests and +baseline images are no longer included by default. + +To restore installing the tests and images, use a `setup.cfg` with :: + + [packages] + tests = True + toolkits_tests = True + +in the source directory at build/install time. diff --git a/doc/api/prev_api_changes/api_changes_2.0.1.rst b/doc/api/prev_api_changes/api_changes_2.0.1.rst new file mode 100644 index 000000000000..d1783bcd92bd --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_2.0.1.rst @@ -0,0 +1,63 @@ + +API Changes in 2.0.1 +==================== + +Extensions to `matplotlib.backend_bases.GraphicsContextBase` +------------------------------------------------------------ + +To better support controlling the color of hatches, the method +`matplotlib.backend_bases.GraphicsContextBase.set_hatch_color` was +added to the expected API of ``GraphicsContext`` classes. Calls to +this method are currently wrapped with a ``try:...except Attribute:`` +block to preserve back-compatibility with any third-party backends +which do not extend `~matplotlib.backend_bases.GraphicsContextBase`. + +This value can be accessed in the backends via +`matplotlib.backend_bases.GraphicsContextBase.get_hatch_color` (which +was added in 2.0 see :ref:`gc_get_hatch_color_wn`) and should be used +to color the hatches. + +In the future there may also be ``hatch_linewidth`` and +``hatch_density`` related methods added. It is encouraged, but not +required that third-party backends extend +`~matplotlib.backend_bases.GraphicsContextBase` to make adapting to +these changes easier. + + +`afm.get_fontconfig_fonts` returns a list of paths and does not check for existence +----------------------------------------------------------------------------------- + +`afm.get_fontconfig_fonts` used to return a set of paths encoded as a +``{key: 1, ...}`` dict, and checked for the existence of the paths. It now +returns a list and dropped the existence check, as the same check is performed +by the caller (`afm.findSystemFonts`) as well. + + +`bar` now returns rectangles of negative height or width if the corresponding input is negative +----------------------------------------------------------------------------------------------- + +`plt.bar` used to normalize the coordinates of the rectangles that it created, +to keep their height and width positives, even if the corresponding input was +negative. This normalization has been removed to permit a simpler computation +of the correct `sticky_edges` to use. + + +Do not clip line width when scaling dashes +------------------------------------------ + +The algorithm to scale dashes was changed to no longer clip the +scaling factor: the dash patterns now continue to shrink at thin line widths. +If the line width is smaller than the effective pixel size, this may result in +dashed lines turning into solid gray-ish lines. This also required slightly +tweaking the default patterns for '--', ':', and '.-' so that with the default +line width the final patterns would not change. + +There is no way to restore the old behavior. + + +Deprecate 'Vega' color maps +--------------------------- + +The "Vega" colormaps are deprecated in Matplotlib 2.0.1 and will be +removed in Matplotlib 2.2. Use the "tab" colormaps instead: "tab10", +"tab20", "tab20b", "tab20c". diff --git a/doc/api/prev_api_changes/api_changes_2.1.0.rst b/doc/api/prev_api_changes/api_changes_2.1.0.rst new file mode 100644 index 000000000000..df3bba17d7bd --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_2.1.0.rst @@ -0,0 +1,445 @@ + + +API Changes in 2.1.0 +==================== + + +Default behavior of log scales changed to mask <= 0 values +---------------------------------------------------------- + +Calling `matplotlib.axes.Axes.set_xscale` or `matplotlib.axes.Axes.set_yscale` +now uses 'mask' as the default method to handle invalid values (as opposed to +'clip'). This means that any values <= 0 on a log scale will not be shown. + +Previously they were clipped to a very small number and shown. + + +:meth:`matplotlib.cbook.CallbackRegistry.process` suppresses exceptions by default +---------------------------------------------------------------------------------- + +Matplotlib uses instances of :obj:`~matplotlib.cbook.CallbackRegistry` +as a bridge between user input event from the GUI and user callbacks. +Previously, any exceptions raised in a user call back would bubble out +of of the ``process`` method, which is typically in the GUI event +loop. Most GUI frameworks simple print the traceback to the screen +and continue as there is not always a clear method of getting the +exception back to the user. However PyQt5 now exits the process when +it receives an un-handled python exception in the event loop. Thus, +:meth:`~matplotlib.cbook.CallbackRegistry.process` now suppresses and +prints tracebacks to stderr by default. + +What :meth:`~matplotlib.cbook.CallbackRegistry.process` does with exceptions +is now user configurable via the ``exception_handler`` attribute and kwarg. To +restore the previous behavior pass ``None`` :: + + cb = CallbackRegistry(exception_handler=None) + + +A function which take and ``Exception`` as its only argument may also be passed :: + + def maybe_reraise(exc): + if isinstance(exc, RuntimeError): + pass + else: + raise exc + + cb = CallbackRegistry(exception_handler=maybe_reraise) + + + +Improved toggling of the axes grids +----------------------------------- + +The `g` key binding now switches the states of the `x` and `y` grids +independently (by cycling through all four on/off combinations). + +The new `G` key binding switches the states of the minor grids. + +Both bindings are disabled if only a subset of the grid lines (in either +direction) is visible, to avoid making irreversible changes to the figure. + + +Ticklabels are turned off instead of being invisible +---------------------------------------------------- + +Internally, the `Tick`'s :func:`~matplotlib.axis.Tick.label1On` attribute +is now used to hide tick labels instead of setting the visibility on the tick +label objects. +This improves overall performance and fixes some issues. +As a consequence, in case those labels ought to be shown, +:func:`~matplotlib.axes.Axes.tick_params` +needs to be used, e.g. + +:: + + ax.tick_params(labelbottom=True) + + +Removal of warning on empty legends +----------------------------------- + +``plt.legend`` used to issue a warning when no labeled artist could be +found. This warning has been removed. + + +More accurate legend autopositioning +------------------------------------ + +Automatic positioning of legends now prefers using the area surrounded +by a `Line2D` rather than placing the legend over the line itself. + + +Cleanup of stock sample data +---------------------------- + +The sample data of stocks has been cleaned up to remove redundancies and +increase portability. The ``AAPL.dat.gz``, ``INTC.dat.gz`` and ``aapl.csv`` +files have been removed entirely and will also no longer be available from +`matplotlib.cbook.get_sample_data`. If a CSV file is required, we suggest using +the ``msft.csv`` that continues to be shipped in the sample data. If a NumPy +binary file is acceptable, we suggest using one of the following two new files. +The ``aapl.npy.gz`` and ``goog.npy`` files have been replaced by ``aapl.npz`` +and ``goog.npz``, wherein the first column's type has changed from +`datetime.date` to `np.datetime64` for better portability across Python +versions. Note that Matplotlib does not fully support `np.datetime64` as yet. + + +Updated qhull to 2015.2 +----------------------- + +The version of qhull shipped with Matplotlib, which is used for +Delaunay triangulation, has been updated from version 2012.1 to +2015.2. + +Improved Delaunay triangulations with large offsets +--------------------------------------------------- + +Delaunay triangulations now deal with large x,y offsets in a better +way. This can cause minor changes to any triangulations calculated +using Matplotlib, i.e. any use of `matplotlib.tri.Triangulation` that +requests that a Delaunay triangulation is calculated, which includes +`matplotlib.pyplot.tricontour`, `matplotlib.pyplot.tricontourf`, +`matplotlib.pyplot.tripcolor`, `matplotlib.pyplot.triplot`, +`matplotlib.mlab.griddata` and +`mpl_toolkits.mplot3d.axes3d.Axes3D.plot_trisurf`. + + + +Use ``backports.functools_lru_cache`` instead of ``functools32`` +---------------------------------------------------------------- + +It's better maintained and more widely used (by pylint, jaraco, etc). + + + +``cbook.is_numlike`` only performs an instance check +---------------------------------------------------- + +:func:`~matplotlib.cbook.is_numlike` now only checks that its argument +is an instance of ``(numbers.Number, np.Number)``. In particular, +this means that arrays are now not num-like. + + + +Elliptical arcs now drawn between correct angles +------------------------------------------------ + +The `matplotlib.patches.Arc` patch is now correctly drawn between the given +angles. + +Previously a circular arc was drawn and then stretched into an ellipse, +so the resulting arc did not lie between *theta1* and *theta2*. + + + +``-d$backend`` no longer sets the backend +----------------------------------------- + +It is no longer possible to set the backend by passing ``-d$backend`` +at the command line. Use the ``MPLBACKEND`` environment variable +instead. + + +Path.intersects_bbox always treats the bounding box as filled +------------------------------------------------------------- + +Previously, when ``Path.intersects_bbox`` was called with ``filled`` set to +``False``, it would treat both the path and the bounding box as unfilled. This +behavior was not well documented and it is usually not the desired behavior, +since bounding boxes are used to represent more complex shapes located inside +the bounding box. This behavior has now been changed: when ``filled`` is +``False``, the path will be treated as unfilled, but the bounding box is still +treated as filled. The old behavior was arguably an implementation bug. + +When ``Path.intersects_bbox`` is called with ``filled`` set to ``True`` +(the default value), there is no change in behavior. For those rare cases where +``Path.intersects_bbox`` was called with ``filled`` set to ``False`` and where +the old behavior is actually desired, the suggested workaround is to call +``Path.intersects_path`` with a rectangle as the path:: + + from matplotlib.path import Path + from matplotlib.transforms import Bbox, BboxTransformTo + rect = Path.unit_rectangle().transformed(BboxTransformTo(bbox)) + result = path.intersects_path(rect, filled=False) + + + + +WX no longer calls generates ``IdleEvent`` events or calls ``idle_event`` +------------------------------------------------------------------------- + +Removed unused private method ``_onIdle`` from ``FigureCanvasWx``. + +The ``IdleEvent`` class and ``FigureCanvasBase.idle_event`` method +will be removed in 2.2 + + + +Correct scaling of :func:`magnitude_spectrum()` +----------------------------------------------- + +The functions :func:`matplotlib.mlab.magnitude_spectrum()` and :func:`matplotlib.pyplot.magnitude_spectrum()` implicitly assumed the sum +of windowing function values to be one. In Matplotlib and Numpy the +standard windowing functions are scaled to have maximum value of one, +which usually results in a sum of the order of n/2 for a n-point +signal. Thus the amplitude scaling :func:`magnitude_spectrum()` was +off by that amount when using standard windowing functions (`Bug 8417 +<https://github.com/matplotlib/matplotlib/issues/8417>`_ ). Now the +behavior is consistent with :func:`matplotlib.pyplot.psd()` and +:func:`scipy.signal.welch()`. The following example demonstrates the +new and old scaling:: + + import matplotlib.pyplot as plt + import numpy as np + + tau, n = 10, 1024 # 10 second signal with 1024 points + T = tau/n # sampling interval + t = np.arange(n)*T + + a = 4 # amplitude + x = a*np.sin(40*np.pi*t) # 20 Hz sine with amplitude a + + # New correct behavior: Amplitude at 20 Hz is a/2 + plt.magnitude_spectrum(x, Fs=1/T, sides='onesided', scale='linear') + + # Original behavior: Amplitude at 20 Hz is (a/2)*(n/2) for a Hanning window + w = np.hanning(n) # default window is a Hanning window + plt.magnitude_spectrum(x*np.sum(w), Fs=1/T, sides='onesided', scale='linear') + + + + + +Change to signatures of :meth:`~matplotlib.axes.Axes.bar` & :meth:`~matplotlib.axes.Axes.barh` +---------------------------------------------------------------------------------------------- + +For 2.0 the :ref:`default value of *align* <barbarh_align>` changed to +``'center'``. However this caused the signature of +:meth:`~matplotlib.axes.Axes.bar` and +:meth:`~matplotlib.axes.Axes.barh` to be misleading as the first parameters were +still *left* and *bottom* respectively:: + + bar(left, height, *, align='center', **kwargs) + barh(bottom, width, *, align='center', **kwargs) + +despite behaving as the center in both cases. The methods now take +``*args, **kwargs`` as input and are documented to have the primary +signatures of:: + + bar(x, height, *, align='center', **kwargs) + barh(y, width, *, align='center', **kwargs) + +Passing *left* and *bottom* as keyword arguments to +:meth:`~matplotlib.axes.Axes.bar` and +:meth:`~matplotlib.axes.Axes.barh` respectively will warn. +Support will be removed in Matplotlib 3.0. + + +Font cache as json +------------------ + +The font cache is now saved as json, rather than a pickle. + + +Invalid (Non-finite) Axis Limit Error +------------------------------------- + +When using :func:`~matplotlib.axes.Axes.set_xlim` and +:func:`~matplotlib.axes.Axes.set_ylim`, passing non-finite values now +results in a ``ValueError``. The previous behavior resulted in the +limits being erroneously reset to ``(-0.001, 0.001)``. + +``scatter`` and ``Collection`` offsets are no longer implicitly flattened +------------------------------------------------------------------------- + +`~matplotlib.collections.Collection` (and thus both 2D +`~matplotlib.axes.Axes.scatter` and 3D +`~mpl_toolkits.mplot3d.axes3d.Axes3D.scatter`) no +longer implicitly flattens its offsets. As a consequence, ``scatter``'s ``x`` +and ``y`` arguments can no longer be 2+-dimensional arrays. + +Deprecations +------------ + +``GraphicsContextBase``\'s ``linestyle`` property. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The ``GraphicsContextBase.get_linestyle`` and +``GraphicsContextBase.set_linestyle`` methods, which had no effect, +have been deprecated. All of the backends Matplotlib ships use +``GraphicsContextBase.get_dashes`` and +``GraphicsContextBase.set_dashes`` which are more general. +Third-party backends should also migrate to the ``*_dashes`` methods. + + +``NavigationToolbar2.dynamic_update`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Use :meth:`draw_idle` method on the ``Canvas`` instance instead. + + +Testing +~~~~~~~ + +`matplotlib.testing.noseclasses` is deprecated and will be removed in 2.3 + + +``EngFormatter`` *num* arg as string +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Passing a string as *num* argument when calling an instance of +`matplotlib.ticker.EngFormatter` is deprecated and will be removed in 2.3. + + +``mpl_toolkits.axes_grid`` module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +All functionally from `mpl_toolkits.axes_grid` can be found in either +`mpl_toolkits.axes_grid1` or `mpl_toolkits.axisartist`. Axes classes +from `mpl_toolkits.axes_grid` based on `Axis` from +`mpl_toolkits.axisartist` can be found in `mpl_toolkits.axisartist`. + + +``Axes`` collision in ``Figure.add_axes`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Adding an axes instance to a figure by using the same arguments as for +a previous axes instance currently reuses the earlier instance. This +behavior has been deprecated in Matplotlib 2.1. In a future version, a +*new* instance will always be created and returned. Meanwhile, in such +a situation, a deprecation warning is raised by +:class:`~matplotlib.figure.AxesStack`. + +This warning can be suppressed, and the future behavior ensured, by passing +a *unique* label to each axes instance. See the docstring of +:meth:`~matplotlib.figure.Figure.add_axes` for more information. + +Additional details on the rationale behind this deprecation can be found +in :ghissue:`7377` and :ghissue:`9024`. + + +Former validators for ``contour.negative_linestyle`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +The former public validation functions ``validate_negative_linestyle`` +and ``validate_negative_linestyle_legacy`` will be deprecated in 2.1 and +may be removed in 2.3. There are no public functions to replace them. + + + +``cbook`` +~~~~~~~~~ + +Many unused or near-unused :mod:`matplotlib.cbook` functions and +classes have been deprecated: ``converter``, ``tostr``, +``todatetime``, ``todate``, ``tofloat``, ``toint``, ``unique``, +``is_string_like``, ``is_sequence_of_strings``, ``is_scalar``, +``Sorter``, ``Xlator``, ``soundex``, ``Null``, ``dict_delall``, +``RingBuffer``, ``get_split_ind``, ``wrap``, +``get_recursive_filelist``, ``pieces``, ``exception_to_str``, +``allequal``, ``alltrue``, ``onetrue``, ``allpairs``, ``finddir``, +``reverse_dict``, ``restrict_dict``, ``issubclass_safe``, +``recursive_remove``, ``unmasked_index_ranges``. + + +Code Removal +------------ + +qt4_compat.py +~~~~~~~~~~~~~ + +Moved to ``qt_compat.py``. Renamed because it now handles Qt5 as well. + + +Previously Deprecated methods +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The ``GraphicsContextBase.set_graylevel``, ``FigureCanvasBase.onHilite`` and +``mpl_toolkits.axes_grid1.mpl_axes.Axes.toggle_axisline`` methods have been +removed. + +The ``ArtistInspector.findobj`` method, which was never working due to the lack +of a ``get_children`` method, has been removed. + +The deprecated ``point_in_path``, ``get_path_extents``, +``point_in_path_collection``, ``path_intersects_path``, +``convert_path_to_polygons``, ``cleanup_path`` and ``clip_path_to_rect`` +functions in the ``matplotlib.path`` module have been removed. Their +functionality remains exposed as methods on the ``Path`` class. + +The deprecated ``Artist.get_axes`` and ``Artist.set_axes`` methods +have been removed + + +The ``matplotlib.backends.backend_ps.seq_allequal`` function has been removed. +Use ``np.array_equal`` instead. + +The deprecated ``matplotlib.rcsetup.validate_maskedarray``, +``matplotlib.rcsetup.deprecate_savefig_extension`` and +``matplotlib.rcsetup.validate_tkpythoninspect`` functions, and associated +``savefig.extension`` and ``tk.pythoninspect`` rcparams entries have been +removed. + + +The kwarg ``resolution`` of +:class:`matplotlib.projections.polar.PolarAxes` has been removed. It +has deprecation with no effect from version `0.98.x`. + + +``Axes.set_aspect("normal")`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Support for setting an ``Axes``\'s aspect to ``"normal"`` has been +removed, in favor of the synonym ``"auto"``. + + +``shading`` kwarg to ``pcolor`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The ``shading`` kwarg to `~matplotlib.axes.Axes.pcolor` has been +removed. Set ``edgecolors`` appropriately instead. + + +Functions removed from the `lines` module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The :mod:`matplotlib.lines` module no longer imports the +``pts_to_prestep``, ``pts_to_midstep`` and ``pts_to_poststep`` +functions from :mod:`matplotlib.cbook`. + + +PDF backend functions +~~~~~~~~~~~~~~~~~~~~~ + +The methods ``embedTeXFont`` and ``tex_font_mapping`` of +:class:`matplotlib.backqend_pdf.PdfFile` have been removed. It is +unlikely that external users would have called these methods, which +are related to the font system internal to the PDF backend. + + +matplotlib.delaunay +~~~~~~~~~~~~~~~~~~~ + +Remove the delaunay triangulation code which is now handled by Qhull +via :mod:`matplotlib.tri`. diff --git a/doc/api/prev_api_changes/api_changes_2.1.1.rst b/doc/api/prev_api_changes/api_changes_2.1.1.rst new file mode 100644 index 000000000000..39ebbb635373 --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_2.1.1.rst @@ -0,0 +1,13 @@ +API Changes in 2.1.1 +==================== + +Default behavior of log scales reverted to clip <= 0 values +----------------------------------------------------------- + +The change it 2.1.0 to mask in logscale by default had more disruptive +changes than anticipated and has been reverted, however the clipping is now +done in a way that fixes the issues that motivated changing the default behavior +to ``'mask'``. + +As a side effect of this change, error bars which go negative now work as expected +on log scales. diff --git a/doc/api/prev_api_changes/api_changes_2.1.2.rst b/doc/api/prev_api_changes/api_changes_2.1.2.rst new file mode 100644 index 000000000000..85807e05e61a --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_2.1.2.rst @@ -0,0 +1,23 @@ + +API Changes in 2.1.2 +==================== + +`Figure.legend` no longer checks for repeated lines to ignore +------------------------------------------------------------- + +`matplotlib.Figure.legend` used to check if a line had the +same label as an existing legend entry. If it also had the same line color +or marker color legend didn't add a new entry for that line. However, the +list of conditions was incomplete, didn't handle RGB tuples, +didn't handle linewidths or linestyles etc. + +This logic did not exist in `Axes.legend`. It was included (erroneously) +in Matplotlib 2.1.1 when the legend argument parsing was unified +[#9324](https://github.com/matplotlib/matplotlib/pull/9324). This change +removes that check in `Axes.legend` again to restore the old behavior. + +This logic has also been dropped from `.Figure.legend`, where it +was previously undocumented. Repeated +lines with the same label will now each have an entry in the legend. If +you do not want the duplicate entries, don't add a label to the line, or +prepend the label with an underscore. diff --git a/doc/api/prev_api_changes/api_changes_2.2.0.rst b/doc/api/prev_api_changes/api_changes_2.2.0.rst new file mode 100644 index 000000000000..dd8ee811a2b5 --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_2.2.0.rst @@ -0,0 +1,289 @@ + +API Changes in 2.2.0 +==================== + + + +New dependency +-------------- + +`kiwisolver <https://github.com/nucleic/kiwi>`__ is now a required +dependency to support the new constrained_layout, see +:doc:`/tutorials/intermediate/constrainedlayout_guide` for +more details. + + +Deprecations +------------ + +Classes, functions, and methods +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The unused and untested ``Artist.onRemove`` and ``Artist.hitlist`` methods have +been deprecated. + +The now unused ``mlab.less_simple_linear_interpolation`` function is +deprecated. + +The unused ``ContourLabeler.get_real_label_width`` method is deprecated. + +The unused ``FigureManagerBase.show_popup`` method is deprecated. This +introduced in e945059b327d42a99938b939a1be867fa023e7ba in 2005 but never built +out into any of the backends. + +:class:`backend_tkagg.AxisMenu` is deprecated, as it has become +unused since the removal of "classic" toolbars. + + +Changed function signatures +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +kwarg ``fig`` to `.GridSpec.get_subplot_params` is +deprecated, use ``figure`` instead. + +Using `.pyplot.axes` with an `~matplotlib.axes.Axes` as argument is deprecated. This sets +the current axes, i.e. it has the same effect as `.pyplot.sca`. For clarity +``plt.sca(ax)`` should be preferred over ``plt.axes(ax)``. + + +Using strings instead of booleans to control grid and tick visibility +is deprecated. Using ``"on"``, ``"off"``, ``"true"``, or ``"false"`` +to control grid and tick visibility has been deprecated. Instead, use +normal booleans (``True``/``False``) or boolean-likes. In the future, +all non-empty strings may be interpreted as ``True``. + +When given 2D inputs with non-matching numbers of columns, `~.pyplot.plot` +currently cycles through the columns of the narrower input, until all the +columns of the wider input have been plotted. This behavior is deprecated; in +the future, only broadcasting (1 column to *n* columns) will be performed. + + +rcparams +~~~~~~~~ + +The :rc:`backend.qt4` and :rc:`backend.qt5` rcParams were deprecated +in version 2.2. In order to force the use of a specific Qt binding, +either import that binding first, or set the ``QT_API`` environment +variable. + +Deprecation of the ``nbagg.transparent`` rcParam. To control +transparency of figure patches in the nbagg (or any other) backend, +directly set ``figure.patch.facecolor``, or the ``figure.facecolor`` +rcParam. + +Deprecated `Axis.unit_data` +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Use `Axis.units` (which has long existed) instead. + + +Removals +-------- + +Function Signatures +~~~~~~~~~~~~~~~~~~~ + +Contouring no longer supports ``legacy`` corner masking. The +deprecated ``ContourSet.vmin`` and ``ContourSet.vmax`` properties have +been removed. + +Passing ``None`` instead of ``"none"`` as format to `~.Axes.errorbar` is no +longer supported. + +The ``bgcolor`` keyword argument to ``Axes`` has been removed. + +Modules, methods, and functions +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The ``matplotlib.finance``, ``mpl_toolkits.exceltools`` and +``mpl_toolkits.gtktools`` modules have been removed. ``matplotlib.finance`` +remains available at https://github.com/matplotlib/mpl_finance. + +The ``mpl_toolkits.mplot3d.art3d.iscolor`` function has been removed. + +The ``Axes.get_axis_bgcolor``, ``Axes.set_axis_bgcolor``, +``Bbox.update_from_data``, ``Bbox.update_datalim_numerix``, +``MaxNLocator.bin_boundaries`` methods have been removed. + +``mencoder`` can no longer be used to encode animations. + +The unused `FONT_SCALE` and `fontd` attributes of the `RendererSVG` +class have been removed. + +color maps +~~~~~~~~~~ + +The ``spectral`` colormap has been removed. The ``Vega*`` colormaps, which +were aliases for the ``tab*`` colormaps, have been removed. + + +rcparams +~~~~~~~~ + +The following deprecated rcParams have been removed: + +- ``axes.color_cycle`` (see ``axes.prop_cycle``), +- ``legend.isaxes``, +- ``svg.embed_char_paths`` (see ``svg.fonttype``), +- ``text.fontstyle``, ``text.fontangle``, ``text.fontvariant``, + ``text.fontweight``, ``text.fontsize`` (renamed to ``text.style``, etc.), +- ``tick.size`` (renamed to ``tick.major.size``). + + + +Only accept string-like for Categorical input +--------------------------------------------- + +Do not accept mixed string / float / int input, only +strings are valid categoricals. + +Removal of unused imports +------------------------- +Many unused imports were removed from the codebase. As a result, +trying to import certain classes or functions from the "wrong" module +(e.g. `~.Figure` from :mod:`matplotlib.backends.backend_agg` instead of +:mod:`matplotlib.figure`) will now raise an `ImportError`. + + +``Axes3D.get_xlim``, ``get_ylim`` and ``get_zlim`` now return a tuple +--------------------------------------------------------------------- + +They previously returned an array. Returning a tuple is consistent with the +behavior for 2D axes. + + +Exception type changes +---------------------- + +If `MovieWriterRegistry` can't find the requested `MovieWriter`, a +more helpful `RuntimeError` message is now raised instead of the +previously raised `KeyError`. + +`~.tight_layout.auto_adjust_subplotpars` now raises `ValueError` +instead of `RuntimeError` when sizes of input lists don't match + + +`Figure.set_figwidth` and `Figure.set_figheight` default forward to True +------------------------------------------------------------------------ + +`matplotlib.Figure.set_figwidth` and `matplotlib.Figure.set_figheight` +had the kwarg `forward=False` +by default, but `Figure.set_size_inches` now defaults to `forward=True`. +This makes these functions conistent. + + +Do not truncate svg sizes to nearest point +------------------------------------------ + +There is no reason to size the SVG out put in integer points, change +to out putting floats for the *height*, *width*, and *viewBox* attributes +of the *svg* element. + + +Fontsizes less than 1 pt are clipped to be 1 pt. +------------------------------------------------ + +FreeType doesn't allow fonts to get smaller than 1 pt, so all Agg +backends were silently rounding up to 1 pt. PDF (other vector +backends?) were letting us write fonts that were less than 1 pt, but +they could not be placed properly because position information comes from +FreeType. This change makes it so no backends can use fonts smaller than +1 pt, consistent with FreeType and ensuring more consistent results across +backends. + + + +Changes to Qt backend class MRO +------------------------------- + +To support both Agg and cairo rendering for Qt backends all of the +non-Agg specific code previously in +:class:`.backend_qt5agg.FigureCanvasQTAggBase` has been moved to +:class:`.backend_qt5.FigureCanvasQT` so it can be shared with the cairo +implementation. The :meth:`.FigureCanvasQTAggBase.paintEvent`, +:meth:`.FigureCanvasQTAggBase.blit`, and +:meth:`.FigureCanvasQTAggBase.print_figure` methods have moved to +:meth:`.FigureCanvasQTAgg.paintEvent`, :meth:`.FigureCanvasQTAgg.blit`, and +:meth:`.FigureCanvasQTAgg.print_figure`. The first two methods assume that +the instance is also a :class:`QWidget` so to use +:class:`FigureCanvasQTAggBase` it was required to multiple inherit +from a :class:`QWidget` sub-class. + +Having moved all of its methods either up or down the class hierarchy +:class:`FigureCanvasQTAggBase` has been deprecated. To do this with +out warning and to preserve as much API as possible, +:class:`.backend_qt5.FigureCanvasQTAggBase` now inherits from +:class:`.backend_qt5.FigureCanvasQTAgg`. + +The MRO for :class:`FigureCanvasQTAgg` and +:class:`FigureCanvasQTAggBase` used to be :: + + + [matplotlib.backends.backend_qt5agg.FigureCanvasQTAgg, + matplotlib.backends.backend_qt5agg.FigureCanvasQTAggBase, + matplotlib.backends.backend_agg.FigureCanvasAgg, + matplotlib.backends.backend_qt5.FigureCanvasQT, + PyQt5.QtWidgets.QWidget, + PyQt5.QtCore.QObject, + sip.wrapper, + PyQt5.QtGui.QPaintDevice, + sip.simplewrapper, + matplotlib.backend_bases.FigureCanvasBase, + object] + +and :: + + + [matplotlib.backends.backend_qt5agg.FigureCanvasQTAggBase, + matplotlib.backends.backend_agg.FigureCanvasAgg, + matplotlib.backend_bases.FigureCanvasBase, + object] + + +respectively. They are now :: + + [matplotlib.backends.backend_qt5agg.FigureCanvasQTAgg, + matplotlib.backends.backend_agg.FigureCanvasAgg, + matplotlib.backends.backend_qt5.FigureCanvasQT, + PyQt5.QtWidgets.QWidget, + PyQt5.QtCore.QObject, + sip.wrapper, + PyQt5.QtGui.QPaintDevice, + sip.simplewrapper, + matplotlib.backend_bases.FigureCanvasBase, + object] + +and :: + + [matplotlib.backends.backend_qt5agg.FigureCanvasQTAggBase, + matplotlib.backends.backend_qt5agg.FigureCanvasQTAgg, + matplotlib.backends.backend_agg.FigureCanvasAgg, + matplotlib.backends.backend_qt5.FigureCanvasQT, + PyQt5.QtWidgets.QWidget, + PyQt5.QtCore.QObject, + sip.wrapper, + PyQt5.QtGui.QPaintDevice, + sip.simplewrapper, + matplotlib.backend_bases.FigureCanvasBase, + object] + + + + +`Axes.imshow` clips RGB values to the valid range +------------------------------------------------- + +When `Axes.imshow` is passed an RGB or RGBA value with out-of-range +values, it now logs a warning and clips them to the valid range. +The old behaviour, wrapping back in to the range, often hid outliers +and made interpreting RGB images unreliable. + + +GTKAgg and GTKCairo backends deprecated +--------------------------------------- + +The GTKAgg and GTKCairo backends have been deprecated. These obsolete backends +allow figures to be rendered via the GTK+ 2 toolkit. They are untested, known +to be broken, will not work with Python 3, and their use has been discouraged +for some time. Instead, use the `GTK3Agg` and `GTK3Cairo` backends for +rendering to GTK+ 3 windows. From 42ed60de9ec87576836c4006fee1de143f63445c Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Thu, 12 Jul 2018 08:58:05 -0700 Subject: [PATCH 0977/1161] Small fixes --- doc/api/api_changes_old.rst | 1 + doc/api/prev_api_changes/api_changes_0.40.rst | 2 +- doc/api/prev_api_changes/api_changes_0.42.rst | 2 +- doc/api/prev_api_changes/api_changes_0.50.rst | 2 +- doc/api/prev_api_changes/api_changes_0.54.3.rst | 2 +- doc/api/prev_api_changes/api_changes_0.60.rst | 2 +- doc/api/prev_api_changes/api_changes_0.61.rst | 2 +- doc/api/prev_api_changes/api_changes_0.63.rst | 2 +- doc/api/prev_api_changes/api_changes_0.65.1.rst | 2 +- doc/api/prev_api_changes/api_changes_0.65.rst | 2 +- doc/api/prev_api_changes/api_changes_0.70.rst | 2 +- doc/api/prev_api_changes/api_changes_0.71.rst | 2 +- doc/api/prev_api_changes/api_changes_0.72.rst | 2 +- doc/api/prev_api_changes/api_changes_0.73.rst | 2 +- doc/api/prev_api_changes/api_changes_0.80.rst | 2 +- doc/api/prev_api_changes/api_changes_0.81.rst | 2 +- doc/api/prev_api_changes/api_changes_0.82.rst | 2 +- doc/api/prev_api_changes/api_changes_0.83.rst | 2 +- doc/api/prev_api_changes/api_changes_0.84.rst | 2 +- doc/api/prev_api_changes/api_changes_0.85.rst | 2 +- doc/api/prev_api_changes/api_changes_0.86.rst | 2 +- doc/api/prev_api_changes/api_changes_0.87.7.rst | 2 +- doc/api/prev_api_changes/api_changes_0.90.0.rst | 2 +- doc/api/prev_api_changes/api_changes_0.90.1.rst | 2 +- 24 files changed, 24 insertions(+), 23 deletions(-) diff --git a/doc/api/api_changes_old.rst b/doc/api/api_changes_old.rst index d21b7cad1197..ab9381680498 100644 --- a/doc/api/api_changes_old.rst +++ b/doc/api/api_changes_old.rst @@ -5,6 +5,7 @@ .. toctree:: :glob: + :reversed: :maxdepth: 1 prev_api_changes/* diff --git a/doc/api/prev_api_changes/api_changes_0.40.rst b/doc/api/prev_api_changes/api_changes_0.40.rst index 31b473ac3239..83815ff43157 100644 --- a/doc/api/prev_api_changes/api_changes_0.40.rst +++ b/doc/api/prev_api_changes/api_changes_0.40.rst @@ -2,7 +2,7 @@ Changes for 0.40 ================ -:: +.. code-block:: text - Artist * __init__ takes a DPI instance and a Bound2D instance which is diff --git a/doc/api/prev_api_changes/api_changes_0.42.rst b/doc/api/prev_api_changes/api_changes_0.42.rst index 8b5069449c0c..e90d2af0ab2c 100644 --- a/doc/api/prev_api_changes/api_changes_0.42.rst +++ b/doc/api/prev_api_changes/api_changes_0.42.rst @@ -1,7 +1,7 @@ Changes for 0.42 ================ -:: +.. code-block:: text * Refactoring AxisText to be backend independent. Text drawing and get_window_extent functionality will be moved to the Renderer. diff --git a/doc/api/prev_api_changes/api_changes_0.50.rst b/doc/api/prev_api_changes/api_changes_0.50.rst index dfd8249ce46a..bf1b608d2b63 100644 --- a/doc/api/prev_api_changes/api_changes_0.50.rst +++ b/doc/api/prev_api_changes/api_changes_0.50.rst @@ -2,7 +2,7 @@ Changes for 0.50 ================ -:: +.. code-block:: text * refactored Figure class so it is no longer backend dependent. FigureCanvasBackend takes over the backend specific duties of the diff --git a/doc/api/prev_api_changes/api_changes_0.54.3.rst b/doc/api/prev_api_changes/api_changes_0.54.3.rst index a20dd5efcdd8..0747a0372927 100644 --- a/doc/api/prev_api_changes/api_changes_0.54.3.rst +++ b/doc/api/prev_api_changes/api_changes_0.54.3.rst @@ -2,7 +2,7 @@ Changes for 0.54.3 ================== -:: +.. code-block:: text removed the set_default_font / get_default_font scheme from the font_manager to unify customization of font defaults with the rest of diff --git a/doc/api/prev_api_changes/api_changes_0.60.rst b/doc/api/prev_api_changes/api_changes_0.60.rst index 024e7f12b72e..d27c5ae1848b 100644 --- a/doc/api/prev_api_changes/api_changes_0.60.rst +++ b/doc/api/prev_api_changes/api_changes_0.60.rst @@ -1,7 +1,7 @@ Changes for 0.60 ================ -:: +.. code-block:: text ColormapJet and Grayscale are deprecated. For backwards compatibility, they can be obtained either by doing diff --git a/doc/api/prev_api_changes/api_changes_0.61.rst b/doc/api/prev_api_changes/api_changes_0.61.rst index e11f43c3b8b2..570c8d1d22e4 100644 --- a/doc/api/prev_api_changes/api_changes_0.61.rst +++ b/doc/api/prev_api_changes/api_changes_0.61.rst @@ -1,7 +1,7 @@ Changes for 0.61 ================ -:: +.. code-block:: text canvas.connect is now deprecated for event handling. use mpl_connect and mpl_disconnect instead. The callback signature is diff --git a/doc/api/prev_api_changes/api_changes_0.63.rst b/doc/api/prev_api_changes/api_changes_0.63.rst index 39806e467aea..bb896ad55207 100644 --- a/doc/api/prev_api_changes/api_changes_0.63.rst +++ b/doc/api/prev_api_changes/api_changes_0.63.rst @@ -1,7 +1,7 @@ Changes for 0.63 ================ -:: +.. code-block:: text Dates are now represented internally as float days since 0001-01-01, UTC. diff --git a/doc/api/prev_api_changes/api_changes_0.65.1.rst b/doc/api/prev_api_changes/api_changes_0.65.1.rst index ecfa4f963ec0..fb75baaa6acb 100644 --- a/doc/api/prev_api_changes/api_changes_0.65.1.rst +++ b/doc/api/prev_api_changes/api_changes_0.65.1.rst @@ -1,7 +1,7 @@ Changes for 0.65.1 ================== -:: +.. code-block:: text removed add_axes and add_subplot from backend_bases. Use figure.add_axes and add_subplot instead. The figure now manages the diff --git a/doc/api/prev_api_changes/api_changes_0.65.rst b/doc/api/prev_api_changes/api_changes_0.65.rst index c90f47eec81d..43fffb1bcf4e 100644 --- a/doc/api/prev_api_changes/api_changes_0.65.rst +++ b/doc/api/prev_api_changes/api_changes_0.65.rst @@ -1,7 +1,7 @@ Changes for 0.65 ================ -:: +.. code-block:: text mpl_connect and mpl_disconnect in the MATLAB interface renamed to diff --git a/doc/api/prev_api_changes/api_changes_0.70.rst b/doc/api/prev_api_changes/api_changes_0.70.rst index 4c1a37d22ade..b8094658b249 100644 --- a/doc/api/prev_api_changes/api_changes_0.70.rst +++ b/doc/api/prev_api_changes/api_changes_0.70.rst @@ -1,7 +1,7 @@ Changes for 0.70 ================ -:: +.. code-block:: text MplEvent factored into a base class Event and derived classes MouseEvent and KeyEvent diff --git a/doc/api/prev_api_changes/api_changes_0.71.rst b/doc/api/prev_api_changes/api_changes_0.71.rst index 0651ae91413e..d10a7439e672 100644 --- a/doc/api/prev_api_changes/api_changes_0.71.rst +++ b/doc/api/prev_api_changes/api_changes_0.71.rst @@ -1,7 +1,7 @@ Changes for 0.71 ================ -:: +.. code-block:: text Significant numerix namespace changes, introduced to resolve namespace clashes between python built-ins and mlab names. diff --git a/doc/api/prev_api_changes/api_changes_0.72.rst b/doc/api/prev_api_changes/api_changes_0.72.rst index 32d735fb0c26..9529e396f356 100644 --- a/doc/api/prev_api_changes/api_changes_0.72.rst +++ b/doc/api/prev_api_changes/api_changes_0.72.rst @@ -1,7 +1,7 @@ Changes for 0.72 ================ -:: +.. code-block:: text - Line2D, Text, and Patch copy_properties renamed update_from and moved into artist base class diff --git a/doc/api/prev_api_changes/api_changes_0.73.rst b/doc/api/prev_api_changes/api_changes_0.73.rst index d2c44e9de046..ec7c4e34c6ef 100644 --- a/doc/api/prev_api_changes/api_changes_0.73.rst +++ b/doc/api/prev_api_changes/api_changes_0.73.rst @@ -1,7 +1,7 @@ Changes for 0.73 ================ -:: +.. code-block:: text - Removed deprecated ColormapJet and friends diff --git a/doc/api/prev_api_changes/api_changes_0.80.rst b/doc/api/prev_api_changes/api_changes_0.80.rst index d768e9eadda2..1c118fd21aca 100644 --- a/doc/api/prev_api_changes/api_changes_0.80.rst +++ b/doc/api/prev_api_changes/api_changes_0.80.rst @@ -1,7 +1,7 @@ Changes for 0.80 ================ -:: +.. code-block:: text - xlim/ylim/axis always return the new limits regardless of arguments. They now take kwargs which allow you to selectively diff --git a/doc/api/prev_api_changes/api_changes_0.81.rst b/doc/api/prev_api_changes/api_changes_0.81.rst index c01c5af9d6f7..f571d5dbae2c 100644 --- a/doc/api/prev_api_changes/api_changes_0.81.rst +++ b/doc/api/prev_api_changes/api_changes_0.81.rst @@ -1,7 +1,7 @@ Changes for 0.81 ================ -:: +.. code-block:: text - pylab and artist "set" functions renamed to setp to avoid clash with python2.4 built-in set. Current version will issue a diff --git a/doc/api/prev_api_changes/api_changes_0.82.rst b/doc/api/prev_api_changes/api_changes_0.82.rst index 8fcdc1ff81d0..31a90fca52d4 100644 --- a/doc/api/prev_api_changes/api_changes_0.82.rst +++ b/doc/api/prev_api_changes/api_changes_0.82.rst @@ -1,7 +1,7 @@ Changes for 0.82 ================ -:: +.. code-block:: text - toolbar import change in GTKAgg, GTKCairo and WXAgg diff --git a/doc/api/prev_api_changes/api_changes_0.83.rst b/doc/api/prev_api_changes/api_changes_0.83.rst index 1d2590c88aa7..267951c18aee 100644 --- a/doc/api/prev_api_changes/api_changes_0.83.rst +++ b/doc/api/prev_api_changes/api_changes_0.83.rst @@ -1,7 +1,7 @@ Changes for 0.83 ================ -:: +.. code-block:: text - Made HOME/.matplotlib the new config dir where the matplotlibrc file, the ttf.cache, and the tex.cache live. The new default diff --git a/doc/api/prev_api_changes/api_changes_0.84.rst b/doc/api/prev_api_changes/api_changes_0.84.rst index 84f5c31fa236..7dabe214e3cc 100644 --- a/doc/api/prev_api_changes/api_changes_0.84.rst +++ b/doc/api/prev_api_changes/api_changes_0.84.rst @@ -1,7 +1,7 @@ Changes for 0.84 ================ -:: +.. code-block:: text Unified argument handling between hlines and vlines. Both now take optionally a fmt argument (as in plot) and a keyword args diff --git a/doc/api/prev_api_changes/api_changes_0.85.rst b/doc/api/prev_api_changes/api_changes_0.85.rst index e61d616594a2..29f646e0e9d8 100644 --- a/doc/api/prev_api_changes/api_changes_0.85.rst +++ b/doc/api/prev_api_changes/api_changes_0.85.rst @@ -1,7 +1,7 @@ Changes for 0.85 ================ -:: +.. code-block:: text Made xtick and ytick separate props in rc diff --git a/doc/api/prev_api_changes/api_changes_0.86.rst b/doc/api/prev_api_changes/api_changes_0.86.rst index be9118d52fe7..5e0c813347b2 100644 --- a/doc/api/prev_api_changes/api_changes_0.86.rst +++ b/doc/api/prev_api_changes/api_changes_0.86.rst @@ -1,7 +1,7 @@ Changes for 0.86 ================ -:: +.. code-block:: text Matplotlib data is installed into the matplotlib module. This is similar to package_data. This should get rid of diff --git a/doc/api/prev_api_changes/api_changes_0.87.7.rst b/doc/api/prev_api_changes/api_changes_0.87.7.rst index 0a89e1ebd98e..c3538c6f7432 100644 --- a/doc/api/prev_api_changes/api_changes_0.87.7.rst +++ b/doc/api/prev_api_changes/api_changes_0.87.7.rst @@ -3,7 +3,7 @@ Changes for 0.87.7 ================== -:: +.. code-block:: text Completely reworked the annotations API because I found the old API cumbersome. The new design is much more legible and easy to diff --git a/doc/api/prev_api_changes/api_changes_0.90.0.rst b/doc/api/prev_api_changes/api_changes_0.90.0.rst index cfaacd8ecc88..7bbdfc06c760 100644 --- a/doc/api/prev_api_changes/api_changes_0.90.0.rst +++ b/doc/api/prev_api_changes/api_changes_0.90.0.rst @@ -1,7 +1,7 @@ Changes for 0.90.0 ================== -:: +.. code-block:: text All artists now implement a "pick" method which users should not call. Rather, set the "picker" property of any artist you want to diff --git a/doc/api/prev_api_changes/api_changes_0.90.1.rst b/doc/api/prev_api_changes/api_changes_0.90.1.rst index 0b16e180e22d..89311d4ed102 100644 --- a/doc/api/prev_api_changes/api_changes_0.90.1.rst +++ b/doc/api/prev_api_changes/api_changes_0.90.1.rst @@ -2,7 +2,7 @@ Changes for 0.90.1 ================== -:: +.. code-block:: text The file dviread.py has a (very limited and fragile) dvi reader for usetex support. The API might change in the future so don't From d45f9d43cd1510c2df6e7c7f0a016f5be9a8556b Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Thu, 12 Jul 2018 09:09:19 -0700 Subject: [PATCH 0978/1161] Add note --- doc/api/api_changes.rst | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/doc/api/api_changes.rst b/doc/api/api_changes.rst index dc54f47a2c1d..246ee6b7bdd7 100644 --- a/doc/api/api_changes.rst +++ b/doc/api/api_changes.rst @@ -17,7 +17,14 @@ This pages lists API changes for the most recent version of Matplotlib. api_changes_old -.. for a release comment out the toctree below +.. note:: + + The list below is a table of contents of individual files from the 'next_api_changes' folder. + When a release is made + + - The full text list below should be moved into its own file in 'prev_api_changes' + - All the files in 'next_api_changes' should be moved to the bottom of this page + - This note, and the toctree below should be commented out .. toctree:: From ed4fe750e5766b77406afd48ca48996e644f9f93 Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Wed, 11 Jul 2018 08:55:05 -0700 Subject: [PATCH 0979/1161] Clean up next api_changes --- doc/api/api_changes.rst | 148 +++++++++++++++++++++------------------- 1 file changed, 77 insertions(+), 71 deletions(-) diff --git a/doc/api/api_changes.rst b/doc/api/api_changes.rst index 444dcb1c9bbb..99cf4eafac44 100644 --- a/doc/api/api_changes.rst +++ b/doc/api/api_changes.rst @@ -28,6 +28,15 @@ Drop support for python 2 Matplotlib 3 only supports python 3.5 and higher +Hold machinery removed +---------------------- + +Setting or unsetting ``hold`` (deprecated in version 2.1) has now +been completely removed. Matplotlib now always behaves as if ``hold=True``. +To clear an axes you can manually use :meth:`~.axes.Axes.cla()`, +or to clear an entire figure use :meth:`~.figure.Figure.clf()`. + + `.Axes.hist2d` now uses `~.Axes.pcolormesh` instead of `~.Axes.pcolorfast` -------------------------------------------------------------------------- @@ -61,46 +70,51 @@ The following classes, methods, functions, and attributes are deprecated: - ``RcParams.msg_depr``, ``RcParams.msg_depr_ignore``, ``RcParams.msg_depr_set``, ``RcParams.msg_obsolete``, - ``RcParams.msg_backend_obsolete``, -- ``afm.parse_afm``, -- ``backend_pgf.get_texcommand``, -- ``backend_ps.get_bbox``, -- ``backend_qt5.error_msg_qt``, ``backend_qt5.exception_handler``, -- ``backend_wx.FigureCanvasWx.macros``, -- ``cbook.GetRealpathAndStat``, ``cbook.Locked``, + ``RcParams.msg_backend_obsolete`` +- ``afm.parse_afm`` +- ``backend_pgf.get_texcommand`` +- ``backend_ps.get_bbox`` +- ``backend_qt5.error_msg_qt``, ``backend_qt5.exception_handler`` +- ``backend_wx.FigureCanvasWx.macros`` +- ``cbook.GetRealpathAndStat``, ``cbook.Locked`` - ``cbook.is_numlike`` (use ``isinstance(..., numbers.Number)`` instead), - ``cbook.listFiles``, ``cbook.unicode_safe``, -- ``container.Container.set_remove_method``, -- ``contour.ContourLabeler.cl``, ``.cl_xy``, and ``.cl_cvalues``, -- ``dates.DateFormatter.strftime_pre_1900``, ``dates.DateFormatter.strftime``, -- ``font_manager.TempCache``, -- ``mathtext.unichr_safe`` (use ``chr`` instead), -- ``table.Table.get_child_artists`` (use ``get_children`` instead), + ``cbook.listFiles``, ``cbook.unicode_safe`` +- ``container.Container.set_remove_method`` +- ``contour.ContourLabeler.cl``, ``.cl_xy``, and ``.cl_cvalues`` +- ``dates.DateFormatter.strftime_pre_1900``, ``dates.DateFormatter.strftime`` +- ``font_manager.TempCache`` +- ``mathtext.unichr_safe`` (use ``chr`` instead) +- ``table.Table.get_child_artists`` (use ``get_children`` instead) - ``testing.compare.ImageComparisonTest``, ``testing.compare.compare_float``, -- ``testing.decorators.CleanupTest``, - ``testing.decorators.skip_if_command_unavailable``, +- ``testing.decorators.CleanupTest`` + ``testing.decorators.skip_if_command_unavailable`` - ``FigureCanvasQT.keyAutoRepeat`` (directly check ``event.guiEvent.isAutoRepeat()`` in the event handler to decide whether to - handle autorepeated key presses). -- ``FigureCanvasWx.macros``, + handle autorepeated key presses) +- ``FigureCanvasWx.macros`` - ``_ImageBase.iterpnames``, use the ``interpolation_names`` property instead. (this affects classes that inherit from ``_ImageBase`` including - :class:`FigureImage`, :class:`BboxImage`, and :class:`AxesImage`), -- ``patches.Polygon.xy``, -- ``texmanager.dvipng_hack_alpha``, -- ``text.Annotation.arrow``, + :class:`FigureImage`, :class:`BboxImage`, and :class:`AxesImage`) +- ``patches.Polygon.xy`` +- ``texmanager.dvipng_hack_alpha`` +- ``text.Annotation.arrow`` +- `.Legend.draggable()`, in favor of `.Legend.set_draggable()` + (``Legend.draggable`` may be reintroduced as a property in future releases) + The following rcParams are deprecated: -- ``examples.directory`` (use ``datapath`` instead), -- ``pgf.debug`` (the pgf backend relies on logging), -- ``text.latex.unicode``, + +- ``examples.directory`` (use ``datapath`` instead) +- ``pgf.debug`` (the pgf backend relies on logging) +- ``text.latex.unicode`` The following keyword arguments are deprecated: -- passing ``verts`` to ``Axes.scatter`` (use ``marker`` instead), -- passing ``obj_type`` to ``cbook.deprecated``, + +- passing ``verts`` to ``Axes.scatter`` (use ``marker`` instead) +- passing ``obj_type`` to ``cbook.deprecated`` The following call signatures are deprecated: -- passing a ``wx.EvtHandler`` as first argument to ``backend_wx.TimerWx``, +- passing a ``wx.EvtHandler`` as first argument to ``backend_wx.TimerWx`` Deprecated methods removed from `matplotlib.testing` ---------------------------------------------------- @@ -111,6 +125,15 @@ from :mod:`matplotlib.testing.decorators`. The entire contents of `testing.noseclasses` have also been removed. +``matplotlib.cbook.deprecation.mplDeprecation`` is deprecated +------------------------------------------------------------- + +:class:`matplotlib.cbook.deprecation.mplDeprecation` will be removed in +future versions. It is just an alias for +:class:`matplotlib.cbook.deprecation.MatplotlibDeprecationWarning`. +Please use the :class:`~.MatplotlibDeprecationWarning` directly if neccessary. + + matplotlib.cbook.Bunch deprecated --------------------------------- @@ -119,6 +142,16 @@ The ``matplotlib.cbook.Bunch`` class has been deprecated. Instead, use functionality. +Deprecation of certain marker styles +------------------------------------ + +Using ``(n, 3)`` as marker style to specify a circle marker is deprecated. Use +``"o"`` instead. + +Using ``([(x0, y0), (x1, y1), ...], 0)`` as marker style to specify a custom +marker path is deprecated. Use ``[(x0, y0), (x1, y1), ...]`` instead. + + Removal of deprecated backends ------------------------------ @@ -130,15 +163,6 @@ Deprecated backends have been removed: * GDK -Hold machinery removed ----------------------- - -Setting or unsetting ``hold`` (deprecated in version 2.1) has now -been completely removed. Matplotlib now always behaves as if ``hold=True``. -To clear an axes you can manually use :meth:`~.axes.Axes.cla()`, -or to clear an entire figure use :meth:`~.figure.Figure.clf()`. - - ``Axes3D.get_xlim``, ``get_ylim`` and ``get_zlim`` now return a tuple --------------------------------------------------------------------- @@ -213,16 +237,6 @@ These arguments were renamed in 2.0 to ``x``/``y`` following the change of the default alignment from ``edge`` to ``center``. -Deprecation of certain marker styles ------------------------------------- - -Using ``(n, 3)`` as marker style to specify a circle marker is deprecated. Use -``"o"`` instead. - -Using ``([(x0, y0), (x1, y1), ...], 0)`` as marker style to specify a custom -marker path is deprecated. Use ``[(x0, y0), (x1, y1), ...]`` instead. - - Different exception types for undocumented options -------------------------------------------------- @@ -243,7 +257,7 @@ Improved call signature for Axes.margins() ------------------------------------------ :meth:`matplotlib.axes.Axes.margins` and :meth:`mpl_toolkits.mplot3d.Axes3D.margins` -no longer accept arbitrary keywords. ``TypeError`` will therefore be raised +no longer accept arbitrary keywords. ``TypeError`` will therefore be raised if unknown kwargs are passed; previously they would be silently ignored. If too many positional arguments are passed, ``TypeError`` will be raised @@ -254,8 +268,8 @@ warning if only two positional arguments are passed. To supply only ``x`` and ``y`` margins, use keyword arguments. -Remove lib/mpl_examples ------------------------ +lib/mpl_examples removed +------------------------ The symlink from lib/mpl_examples to ../examples has been removed. This is not installed as an importable package and should not affect @@ -287,20 +301,12 @@ unhandled positional arguments. If two or more arguments are passed will be raised instead of treating X as Y and Y as linefmt. -``matplotlib.cbook.deprecation.mplDeprecation`` is deprecated -------------------------------------------------------------- - -:class:`matplotlib.cbook.deprecation.mplDeprecation` will be removed in -future versions. It is just an alias for -:class:`matplotlib.cbook.deprecation.MatplotlibDeprecationWarning`. -Please use the :class:`~.MatplotlibDeprecationWarning` directly if neccessary. - - -The cleanup decorators and test classes in matplotlib.testing.decorators no longer destroy the warnings filter on exit ----------------------------------------------------------------------------------------------------------------------- +Cleanup decorators and test classes no longer destroy warnings filter on exit +----------------------------------------------------------------------------- -Instead, they restore the warnings filter that existed before the test started -using ``warnings.catch_warnings``. +The decorators and classes in matplotlib.testing.decorators no longer +destroy the warnings filter on exit. Instead, they restore the warnings +filter that existed before the test started using ``warnings.catch_warnings``. Non-interactive FigureManager classes are now aliases of FigureManagerBase @@ -315,13 +321,13 @@ adding or overriding any attribute or method), are now direct aliases for Change to the output of `.image.thumbnail` ------------------------------------------ -When called with ``preview=False``, ``image.thumbnail`` previously returned an +When called with ``preview=False``, `.image.thumbnail` previously returned an figure whose canvas class was set according to the output file extension. It now returns a figure whose canvas class is the base `FigureCanvasBase` (and relies on `FigureCanvasBase.print_figure`) to handle the canvas switching properly). -As a side effect of this change, `image.thumbnail` now also supports .ps, .eps, +As a side effect of this change, `.image.thumbnail` now also supports .ps, .eps, and .svgz output. @@ -376,7 +382,7 @@ Changes to backend loading Failure to load backend modules (``macosx`` on non-framework builds and ``gtk3`` when running headless) now raises `ImportError` (instead of -`RuntimeError` and `TypeError`, respectively. +`RuntimeError` and `TypeError`, respectively). Third-party backends that integrate with an interactive framework are now encouraged to define the ``required_interactive_framework`` global value to one @@ -386,11 +392,11 @@ backend to another (specifically, whether they use the same interactive framework). -Changed default `AutoDateLocator` kwarg ``interval_multiples`` to ``True`` --------------------------------------------------------------------------- +Changed default `AutoDateLocator` kwarg *interval_multiples* to ``True`` +------------------------------------------------------------------------ The default value of the tick locator for dates, `.dates.AutoDateLocator` -kwarg ``interval_multiples`` was set to ``False`` which leads to not-nice +kwarg *interval_multiples* was set to ``False`` which leads to not-nice looking automatic ticks in many instances. The much nicer ``interval_multiples=True`` is the new default. See below to get the old behavior back: @@ -430,9 +436,9 @@ old behavior back: `.Axes.get_position` used to return the original position unless a draw had been triggered or `.Axes.apply_aspect` had been called, even -if the kwarg *original* was set to *False*. Now `.Axes.apply_aspect` +if the kwarg *original* was set to ``False``. Now `.Axes.apply_aspect` is called so ``ax.get_position()`` will return the new modified position. -To get the old behaviour, ``ax.get_position(original=True)``. +To get the old behaviour use ``ax.get_position(original=True)``. The ticks for colorbar now adjust for the size of the colorbar From a605cd69ae63df2850eb17322e79628eb35d9f31 Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Thu, 12 Jul 2018 15:02:03 -0700 Subject: [PATCH 0980/1161] Remove duplicated item --- doc/api/api_changes.rst | 7 ------- 1 file changed, 7 deletions(-) diff --git a/doc/api/api_changes.rst b/doc/api/api_changes.rst index 99cf4eafac44..ddf06a519acb 100644 --- a/doc/api/api_changes.rst +++ b/doc/api/api_changes.rst @@ -450,13 +450,6 @@ doesn't have a BoundaryNorm, or boundaries are not specified. If boundaries, etc are specified, the colorbar maintains the original behaviour. - -Deprecations ------------- - -`.Legend.draggable()` is drepecated in favor of `.Legend.set_draggable()`. -``Legend.draggable`` may be reintroduced as a property in future releases. - Colorbar for log-scaled hexbin ------------------------------ From dd521232b83b6625c55ce7c13f8883b8fb5a4c63 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Thu, 12 Jul 2018 00:41:35 +0200 Subject: [PATCH 0981/1161] Fix barplot color if none and alpha is set --- lib/matplotlib/axes/_axes.py | 4 ++-- lib/matplotlib/tests/test_axes.py | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index a0cb6613ce33..b091cad4291f 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -1999,14 +1999,14 @@ def bar(self, x, height, width=0.8, bottom=None, *, align="center", linewidth = itertools.cycle(np.atleast_1d(linewidth)) color = itertools.chain(itertools.cycle(mcolors.to_rgba_array(color)), # Fallback if color == "none". - itertools.repeat([0, 0, 0, 0])) + itertools.repeat('none')) if edgecolor is None: edgecolor = itertools.repeat(None) else: edgecolor = itertools.chain( itertools.cycle(mcolors.to_rgba_array(edgecolor)), # Fallback if edgecolor == "none". - itertools.repeat([0, 0, 0, 0])) + itertools.repeat('none')) # We will now resolve the alignment and really have # left, bottom, width, height vectors diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index 12197bd8e55f..778b75791dd9 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -1456,6 +1456,22 @@ def test_bar_tick_label_multiple_old_alignment(): align='center') +def test_bar_color_none_alpha(): + ax = plt.gca() + rects = ax.bar([1, 2], [2, 4], alpha=0.3, color='none', edgecolor='r') + for rect in rects: + assert rect.get_facecolor() == (0, 0, 0, 0) + assert rect.get_edgecolor() == (1, 0, 0, 0.3) + + +def test_bar_edgecolor_none_alpha(): + ax = plt.gca() + rects = ax.bar([1, 2], [2, 4], alpha=0.3, color='r', edgecolor='none') + for rect in rects: + assert rect.get_facecolor() == (1, 0, 0, 0.3) + assert rect.get_edgecolor() == (0, 0, 0, 0) + + @image_comparison(baseline_images=['barh_tick_label'], extensions=['png']) def test_barh_tick_label(): From a64aa6b226d7567b17db0bfc69a4abaaf9af9bcd Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade <quantum.analyst@gmail.com> Date: Thu, 12 Jul 2018 22:08:54 -0400 Subject: [PATCH 0982/1161] Add CircleCI cache of user fonts. Hopefully, this will reduce build failures due to Humor Sans mirrors being down / blocking CircleCI. --- .circleci/config.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 007878e37c07..25864ea9e68c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -47,6 +47,12 @@ fonts-run: &fonts-install echo "Not downloading Humor-Sans; file already exists." fi fc-cache -f -v + save_cache: + key: fonts-1 + paths: + - ~/.local/share/fonts/ + restore_cache: + key: fonts-1 pip-run: &pip-install # Upgrade pip and setuptools and wheel to get as clean an install as possible From f04a33ae1a2b0518dcbc66d199b0cce1fda9446d Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade <quantum.analyst@gmail.com> Date: Tue, 10 Jul 2018 15:24:19 -0400 Subject: [PATCH 0983/1161] Remove unused imports from examples. --- examples/event_handling/ginput_manual_clabel_sgskip.py | 5 +---- examples/images_contours_and_fields/contour_label_demo.py | 1 - examples/images_contours_and_fields/figimage_demo.py | 1 - examples/images_contours_and_fields/quadmesh_demo.py | 2 +- examples/images_contours_and_fields/quiver_demo.py | 1 - examples/lines_bars_and_markers/scatter_symbol.py | 1 - examples/misc/load_converter.py | 1 - examples/misc/plotfile_demo.py | 2 -- examples/misc/transoffset.py | 1 - examples/mplot3d/surface3d_3.py | 1 - examples/pyplots/fig_axes_customize_simple.py | 2 +- examples/pyplots/fig_x.py | 1 - examples/shapes_and_collections/patch_collection.py | 1 - examples/specialty_plots/sankey_basics.py | 2 +- examples/specialty_plots/sankey_links.py | 2 -- examples/statistics/violinplot.py | 1 - examples/subplots_axes_and_figures/figure_title.py | 1 - examples/tests/backend_driver_sgskip.py | 1 - examples/text_labels_and_annotations/date.py | 1 - examples/text_labels_and_annotations/fonts_demo_kw.py | 2 -- examples/text_labels_and_annotations/mathtext_examples.py | 1 - examples/text_labels_and_annotations/text_alignment.py | 2 -- examples/text_labels_and_annotations/usetex_baseline_test.py | 1 - examples/units/basic_units.py | 1 - examples/user_interfaces/embedding_in_wx3_sgskip.py | 5 ----- examples/user_interfaces/mpl_with_glade3_sgskip.py | 1 - examples/userdemo/connectionstyle_demo.py | 1 - examples/widgets/menu.py | 1 - 28 files changed, 4 insertions(+), 39 deletions(-) diff --git a/examples/event_handling/ginput_manual_clabel_sgskip.py b/examples/event_handling/ginput_manual_clabel_sgskip.py index abe1e345d86b..96104cace49d 100644 --- a/examples/event_handling/ginput_manual_clabel_sgskip.py +++ b/examples/event_handling/ginput_manual_clabel_sgskip.py @@ -14,12 +14,9 @@ """ - import time -import matplotlib + import numpy as np -import matplotlib.cm as cm -import matplotlib.mlab as mlab import matplotlib.pyplot as plt diff --git a/examples/images_contours_and_fields/contour_label_demo.py b/examples/images_contours_and_fields/contour_label_demo.py index af26ab997c87..f09a7f6a141d 100644 --- a/examples/images_contours_and_fields/contour_label_demo.py +++ b/examples/images_contours_and_fields/contour_label_demo.py @@ -12,7 +12,6 @@ import matplotlib import numpy as np -import matplotlib.cm as cm import matplotlib.ticker as ticker import matplotlib.pyplot as plt diff --git a/examples/images_contours_and_fields/figimage_demo.py b/examples/images_contours_and_fields/figimage_demo.py index b2ce013d77a5..ef805576cae0 100644 --- a/examples/images_contours_and_fields/figimage_demo.py +++ b/examples/images_contours_and_fields/figimage_demo.py @@ -8,7 +8,6 @@ """ import numpy as np import matplotlib -import matplotlib.cm as cm import matplotlib.pyplot as plt diff --git a/examples/images_contours_and_fields/quadmesh_demo.py b/examples/images_contours_and_fields/quadmesh_demo.py index 0e517a886a10..5488ddd83637 100644 --- a/examples/images_contours_and_fields/quadmesh_demo.py +++ b/examples/images_contours_and_fields/quadmesh_demo.py @@ -11,7 +11,7 @@ import copy -from matplotlib import cm, colors, pyplot as plt +from matplotlib import cm, pyplot as plt import numpy as np n = 12 diff --git a/examples/images_contours_and_fields/quiver_demo.py b/examples/images_contours_and_fields/quiver_demo.py index 7c1711710076..696b0a50ad7e 100644 --- a/examples/images_contours_and_fields/quiver_demo.py +++ b/examples/images_contours_and_fields/quiver_demo.py @@ -13,7 +13,6 @@ """ import matplotlib.pyplot as plt import numpy as np -from numpy import ma X, Y = np.meshgrid(np.arange(0, 2 * np.pi, .2), np.arange(0, 2 * np.pi, .2)) U = np.cos(X) diff --git a/examples/lines_bars_and_markers/scatter_symbol.py b/examples/lines_bars_and_markers/scatter_symbol.py index 3d04490c189e..d99b6a80a740 100644 --- a/examples/lines_bars_and_markers/scatter_symbol.py +++ b/examples/lines_bars_and_markers/scatter_symbol.py @@ -8,7 +8,6 @@ """ import matplotlib.pyplot as plt import numpy as np -import matplotlib # Fixing random state for reproducibility np.random.seed(19680801) diff --git a/examples/misc/load_converter.py b/examples/misc/load_converter.py index 33a482cb27b7..9488972cae87 100644 --- a/examples/misc/load_converter.py +++ b/examples/misc/load_converter.py @@ -7,7 +7,6 @@ import numpy as np import matplotlib.pyplot as plt import matplotlib.cbook as cbook -import matplotlib.dates as mdates from matplotlib.dates import bytespdate2num datafile = cbook.get_sample_data('msft.csv', asfileobj=False) diff --git a/examples/misc/plotfile_demo.py b/examples/misc/plotfile_demo.py index b927b4870add..94bd1bd9b2bb 100644 --- a/examples/misc/plotfile_demo.py +++ b/examples/misc/plotfile_demo.py @@ -6,8 +6,6 @@ Example use of ``plotfile`` to plot data directly from a file. """ import matplotlib.pyplot as plt -import numpy as np - import matplotlib.cbook as cbook fname = cbook.get_sample_data('msft.csv', asfileobj=False) diff --git a/examples/misc/transoffset.py b/examples/misc/transoffset.py index 127ca6bf6769..7328ce2103f3 100644 --- a/examples/misc/transoffset.py +++ b/examples/misc/transoffset.py @@ -23,7 +23,6 @@ import matplotlib.transforms as mtransforms import numpy as np -from matplotlib.transforms import offset_copy xs = np.arange(7) ys = xs**2 diff --git a/examples/mplot3d/surface3d_3.py b/examples/mplot3d/surface3d_3.py index 06ab93ab0a2c..bef4e41acf43 100644 --- a/examples/mplot3d/surface3d_3.py +++ b/examples/mplot3d/surface3d_3.py @@ -8,7 +8,6 @@ from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt -from matplotlib import cm from matplotlib.ticker import LinearLocator import numpy as np diff --git a/examples/pyplots/fig_axes_customize_simple.py b/examples/pyplots/fig_axes_customize_simple.py index 50c2411bfcb8..47d8eafbc647 100644 --- a/examples/pyplots/fig_axes_customize_simple.py +++ b/examples/pyplots/fig_axes_customize_simple.py @@ -5,7 +5,7 @@ Customize the background, labels and ticks of a simple plot. """ -import numpy as np + import matplotlib.pyplot as plt ############################################################################### diff --git a/examples/pyplots/fig_x.py b/examples/pyplots/fig_x.py index 4e5d120a9a9b..d8a8c1dfaa3d 100644 --- a/examples/pyplots/fig_x.py +++ b/examples/pyplots/fig_x.py @@ -5,7 +5,6 @@ Add lines to a figure (without axes). """ -import numpy as np import matplotlib.pyplot as plt import matplotlib.lines as lines diff --git a/examples/shapes_and_collections/patch_collection.py b/examples/shapes_and_collections/patch_collection.py index f86d59ea65b2..05e343465ffe 100644 --- a/examples/shapes_and_collections/patch_collection.py +++ b/examples/shapes_and_collections/patch_collection.py @@ -8,7 +8,6 @@ """ import numpy as np -import matplotlib from matplotlib.patches import Circle, Wedge, Polygon from matplotlib.collections import PatchCollection import matplotlib.pyplot as plt diff --git a/examples/specialty_plots/sankey_basics.py b/examples/specialty_plots/sankey_basics.py index abfd913e193b..f625a59a8c45 100644 --- a/examples/specialty_plots/sankey_basics.py +++ b/examples/specialty_plots/sankey_basics.py @@ -5,7 +5,7 @@ Demonstrate the Sankey class by producing three basic diagrams. """ -import numpy as np + import matplotlib.pyplot as plt from matplotlib.sankey import Sankey diff --git a/examples/specialty_plots/sankey_links.py b/examples/specialty_plots/sankey_links.py index 7221d3592058..61dfc06d41b0 100644 --- a/examples/specialty_plots/sankey_links.py +++ b/examples/specialty_plots/sankey_links.py @@ -6,8 +6,6 @@ Demonstrate/test the Sankey class by producing a long chain of connections. """ -from itertools import cycle - import matplotlib.pyplot as plt from matplotlib.sankey import Sankey diff --git a/examples/statistics/violinplot.py b/examples/statistics/violinplot.py index 03640bc56272..667f23e2a308 100644 --- a/examples/statistics/violinplot.py +++ b/examples/statistics/violinplot.py @@ -16,7 +16,6 @@ have a great section: http://scikit-learn.org/stable/modules/density.html """ -import random import numpy as np import matplotlib.pyplot as plt diff --git a/examples/subplots_axes_and_figures/figure_title.py b/examples/subplots_axes_and_figures/figure_title.py index cb96d5bacde9..1c54c3887be7 100644 --- a/examples/subplots_axes_and_figures/figure_title.py +++ b/examples/subplots_axes_and_figures/figure_title.py @@ -5,7 +5,6 @@ Create a figure with separate subplot titles and a centered figure title. """ -from matplotlib.font_manager import FontProperties import matplotlib.pyplot as plt import numpy as np diff --git a/examples/tests/backend_driver_sgskip.py b/examples/tests/backend_driver_sgskip.py index acbd99ab6ed2..8878c6273bce 100644 --- a/examples/tests/backend_driver_sgskip.py +++ b/examples/tests/backend_driver_sgskip.py @@ -357,7 +357,6 @@ def drive(backend, directories, python=['python'], switches=[]): # Clear the destination directory for the examples path = backend if os.path.exists(path): - import glob for fname in os.listdir(path): os.unlink(os.path.join(path, fname)) else: diff --git a/examples/text_labels_and_annotations/date.py b/examples/text_labels_and_annotations/date.py index 383db6353e13..90e9f94a511e 100644 --- a/examples/text_labels_and_annotations/date.py +++ b/examples/text_labels_and_annotations/date.py @@ -16,7 +16,6 @@ :class:`numpy.datetime64` objects. """ -import datetime import numpy as np import matplotlib.pyplot as plt import matplotlib.dates as mdates diff --git a/examples/text_labels_and_annotations/fonts_demo_kw.py b/examples/text_labels_and_annotations/fonts_demo_kw.py index f323570cada5..bfcec95f93f2 100644 --- a/examples/text_labels_and_annotations/fonts_demo_kw.py +++ b/examples/text_labels_and_annotations/fonts_demo_kw.py @@ -8,9 +8,7 @@ See :doc:`fonts_demo` to achieve the same effect using setters. """ -from matplotlib.font_manager import FontProperties import matplotlib.pyplot as plt -import numpy as np plt.subplot(111, facecolor='w') alignment = {'horizontalalignment': 'center', 'verticalalignment': 'baseline'} diff --git a/examples/text_labels_and_annotations/mathtext_examples.py b/examples/text_labels_and_annotations/mathtext_examples.py index eec403d3c531..6272099819f5 100644 --- a/examples/text_labels_and_annotations/mathtext_examples.py +++ b/examples/text_labels_and_annotations/mathtext_examples.py @@ -9,7 +9,6 @@ import subprocess import sys import re -import gc # Selection of features following "Writing mathematical expressions" tutorial mathtext_titles = { diff --git a/examples/text_labels_and_annotations/text_alignment.py b/examples/text_labels_and_annotations/text_alignment.py index 2503440c3277..e92984098c92 100644 --- a/examples/text_labels_and_annotations/text_alignment.py +++ b/examples/text_labels_and_annotations/text_alignment.py @@ -9,8 +9,6 @@ """ import matplotlib.pyplot as plt -from matplotlib.lines import Line2D -from matplotlib.patches import Rectangle # Build a rectangle in axes coords left, width = .25, .5 diff --git a/examples/text_labels_and_annotations/usetex_baseline_test.py b/examples/text_labels_and_annotations/usetex_baseline_test.py index 0a72afab63e2..3aa08103bbb5 100644 --- a/examples/text_labels_and_annotations/usetex_baseline_test.py +++ b/examples/text_labels_and_annotations/usetex_baseline_test.py @@ -5,7 +5,6 @@ """ -import matplotlib import matplotlib.pyplot as plt import matplotlib.axes as maxes diff --git a/examples/units/basic_units.py b/examples/units/basic_units.py index 826f543e9c3d..67ffa36f6fac 100644 --- a/examples/units/basic_units.py +++ b/examples/units/basic_units.py @@ -11,7 +11,6 @@ import matplotlib.units as units import matplotlib.ticker as ticker -from matplotlib.axes import Axes from matplotlib.cbook import iterable diff --git a/examples/user_interfaces/embedding_in_wx3_sgskip.py b/examples/user_interfaces/embedding_in_wx3_sgskip.py index 5a3d1a7aac85..fcb69f0a910b 100644 --- a/examples/user_interfaces/embedding_in_wx3_sgskip.py +++ b/examples/user_interfaces/embedding_in_wx3_sgskip.py @@ -21,11 +21,6 @@ Thanks to matplotlib and wx teams for creating such great software! """ - -import sys -import time -import os -import gc import matplotlib import matplotlib.cm as cm import matplotlib.cbook as cbook diff --git a/examples/user_interfaces/mpl_with_glade3_sgskip.py b/examples/user_interfaces/mpl_with_glade3_sgskip.py index ffdf22e32ce0..3329bc342da9 100644 --- a/examples/user_interfaces/mpl_with_glade3_sgskip.py +++ b/examples/user_interfaces/mpl_with_glade3_sgskip.py @@ -12,7 +12,6 @@ from gi.repository import Gtk from matplotlib.figure import Figure -from matplotlib.axes import Subplot from matplotlib.backends.backend_gtk3agg import ( FigureCanvasGTK3Agg as FigureCanvas) import numpy as np diff --git a/examples/userdemo/connectionstyle_demo.py b/examples/userdemo/connectionstyle_demo.py index 4c8abe22e4a5..1ea2bf5fe8fd 100644 --- a/examples/userdemo/connectionstyle_demo.py +++ b/examples/userdemo/connectionstyle_demo.py @@ -6,7 +6,6 @@ """ import matplotlib.pyplot as plt -import matplotlib.patches as mpatches fig, axs = plt.subplots(3, 5, figsize=(8, 4.8)) diff --git a/examples/widgets/menu.py b/examples/widgets/menu.py index a099b1fc92ff..fa5e3a54ace0 100644 --- a/examples/widgets/menu.py +++ b/examples/widgets/menu.py @@ -5,7 +5,6 @@ """ import numpy as np -import matplotlib import matplotlib.colors as colors import matplotlib.patches as patches import matplotlib.mathtext as mathtext From bed25a85abca08031f642a844a85c7ca3d7b39df Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade <quantum.analyst@gmail.com> Date: Fri, 13 Jul 2018 01:08:13 -0400 Subject: [PATCH 0984/1161] Annotate reason for Axes3D import in examples. --- examples/frontpage/3D.py | 4 +++- examples/mplot3d/2dcollections3d.py | 4 +++- examples/mplot3d/3d_bars.py | 3 ++- examples/mplot3d/bars3d.py | 4 +++- examples/mplot3d/custom_shaded_3d_surface.py | 4 +++- examples/mplot3d/hist3d.py | 4 +++- examples/mplot3d/lines3d.py | 8 +++++--- examples/mplot3d/lorenz_attractor.py | 3 ++- examples/mplot3d/mixed_subplots.py | 4 +++- examples/mplot3d/offset.py | 4 +++- examples/mplot3d/pathpatch3d.py | 6 +++--- examples/mplot3d/polys3d.py | 4 +++- examples/mplot3d/quiver3d.py | 4 +++- examples/mplot3d/scatter3d.py | 4 +++- examples/mplot3d/subplot3d.py | 5 ++++- examples/mplot3d/surface3d.py | 4 +++- examples/mplot3d/surface3d_2.py | 4 +++- examples/mplot3d/surface3d_3.py | 4 +++- examples/mplot3d/surface3d_radial.py | 4 +++- examples/mplot3d/text3d.py | 4 +++- examples/mplot3d/tricontour3d.py | 4 +++- examples/mplot3d/tricontourf3d.py | 4 +++- examples/mplot3d/trisurf3d.py | 4 +++- examples/mplot3d/trisurf3d_2.py | 4 +++- examples/mplot3d/voxels.py | 5 ++++- examples/mplot3d/voxels_numpy_logo.py | 4 +++- examples/mplot3d/voxels_rgb.py | 4 +++- examples/mplot3d/voxels_torus.py | 4 +++- examples/mplot3d/wire3d_animation_sgskip.py | 4 +++- examples/pyplots/whats_new_1_subplot3d.py | 4 +++- 30 files changed, 92 insertions(+), 34 deletions(-) diff --git a/examples/frontpage/3D.py b/examples/frontpage/3D.py index d08b52f54b24..ee93026ed06e 100644 --- a/examples/frontpage/3D.py +++ b/examples/frontpage/3D.py @@ -6,7 +6,9 @@ This example reproduces the frontpage 3D example. """ -from mpl_toolkits.mplot3d import Axes3D +# This import registers the 3D projection, but is otherwise unused. +from mpl_toolkits.mplot3d import Axes3D # noqa: F401 unused import + from matplotlib import cbook from matplotlib import cm from matplotlib.colors import LightSource diff --git a/examples/mplot3d/2dcollections3d.py b/examples/mplot3d/2dcollections3d.py index 21a7a4148749..589e1083f7f5 100644 --- a/examples/mplot3d/2dcollections3d.py +++ b/examples/mplot3d/2dcollections3d.py @@ -7,7 +7,9 @@ selective axes of a 3D plot. """ -from mpl_toolkits.mplot3d import Axes3D +# This import registers the 3D projection, but is otherwise unused. +from mpl_toolkits.mplot3d import Axes3D # noqa: F401 unused import + import numpy as np import matplotlib.pyplot as plt diff --git a/examples/mplot3d/3d_bars.py b/examples/mplot3d/3d_bars.py index abacacc85dce..483dbcc4fb71 100644 --- a/examples/mplot3d/3d_bars.py +++ b/examples/mplot3d/3d_bars.py @@ -10,7 +10,8 @@ import numpy as np import matplotlib.pyplot as plt -from mpl_toolkits.mplot3d import Axes3D +# This import registers the 3D projection, but is otherwise unused. +from mpl_toolkits.mplot3d import Axes3D # noqa: F401 unused import # setup the figure and axes diff --git a/examples/mplot3d/bars3d.py b/examples/mplot3d/bars3d.py index 2cb2a5078b35..e30175ffac41 100644 --- a/examples/mplot3d/bars3d.py +++ b/examples/mplot3d/bars3d.py @@ -7,7 +7,9 @@ planes y=0, y=1, etc. """ -from mpl_toolkits.mplot3d import Axes3D +# This import registers the 3D projection, but is otherwise unused. +from mpl_toolkits.mplot3d import Axes3D # noqa: F401 unused import + import matplotlib.pyplot as plt import numpy as np diff --git a/examples/mplot3d/custom_shaded_3d_surface.py b/examples/mplot3d/custom_shaded_3d_surface.py index 2c37bfae0fc9..366658856470 100644 --- a/examples/mplot3d/custom_shaded_3d_surface.py +++ b/examples/mplot3d/custom_shaded_3d_surface.py @@ -6,7 +6,9 @@ Demonstrates using custom hillshading in a 3D surface plot. """ -from mpl_toolkits.mplot3d import Axes3D +# This import registers the 3D projection, but is otherwise unused. +from mpl_toolkits.mplot3d import Axes3D # noqa: F401 unused import + from matplotlib import cbook from matplotlib import cm from matplotlib.colors import LightSource diff --git a/examples/mplot3d/hist3d.py b/examples/mplot3d/hist3d.py index 9897f1606c5b..4cab341a64a2 100644 --- a/examples/mplot3d/hist3d.py +++ b/examples/mplot3d/hist3d.py @@ -6,7 +6,9 @@ Demo of a histogram for 2 dimensional data as a bar graph in 3D. """ -from mpl_toolkits.mplot3d import Axes3D +# This import registers the 3D projection, but is otherwise unused. +from mpl_toolkits.mplot3d import Axes3D # noqa: F401 unused import + import matplotlib.pyplot as plt import numpy as np diff --git a/examples/mplot3d/lines3d.py b/examples/mplot3d/lines3d.py index 34ef9328c663..e0e45b1c051c 100644 --- a/examples/mplot3d/lines3d.py +++ b/examples/mplot3d/lines3d.py @@ -6,12 +6,14 @@ This example demonstrates plotting a parametric curve in 3D. ''' -import matplotlib as mpl -from mpl_toolkits.mplot3d import Axes3D +# This import registers the 3D projection, but is otherwise unused. +from mpl_toolkits.mplot3d import Axes3D # noqa: F401 unused import + import numpy as np import matplotlib.pyplot as plt -mpl.rcParams['legend.fontsize'] = 10 + +plt.rcParams['legend.fontsize'] = 10 fig = plt.figure() ax = fig.gca(projection='3d') diff --git a/examples/mplot3d/lorenz_attractor.py b/examples/mplot3d/lorenz_attractor.py index 47b21292b4cb..5a1328a769d3 100644 --- a/examples/mplot3d/lorenz_attractor.py +++ b/examples/mplot3d/lorenz_attractor.py @@ -15,7 +15,8 @@ import numpy as np import matplotlib.pyplot as plt -from mpl_toolkits.mplot3d import Axes3D +# This import registers the 3D projection, but is otherwise unused. +from mpl_toolkits.mplot3d import Axes3D # noqa: F401 unused import def lorenz(x, y, z, s=10, r=28, b=2.667): diff --git a/examples/mplot3d/mixed_subplots.py b/examples/mplot3d/mixed_subplots.py index fd1af313b6e3..0a13715aad1b 100644 --- a/examples/mplot3d/mixed_subplots.py +++ b/examples/mplot3d/mixed_subplots.py @@ -5,7 +5,9 @@ This example shows a how to plot a 2D and 3D plot on the same figure. """ -from mpl_toolkits.mplot3d import Axes3D +# This import registers the 3D projection, but is otherwise unused. +from mpl_toolkits.mplot3d import Axes3D # noqa: F401 unused import + import matplotlib.pyplot as plt import numpy as np diff --git a/examples/mplot3d/offset.py b/examples/mplot3d/offset.py index da846c8cc26a..04c56ed2066e 100644 --- a/examples/mplot3d/offset.py +++ b/examples/mplot3d/offset.py @@ -13,7 +13,9 @@ automatically trigger it. ''' -from mpl_toolkits.mplot3d import Axes3D +# This import registers the 3D projection, but is otherwise unused. +from mpl_toolkits.mplot3d import Axes3D # noqa: F401 unused import + import matplotlib.pyplot as plt import numpy as np diff --git a/examples/mplot3d/pathpatch3d.py b/examples/mplot3d/pathpatch3d.py index 55d33dc94823..5976adf728a5 100644 --- a/examples/mplot3d/pathpatch3d.py +++ b/examples/mplot3d/pathpatch3d.py @@ -9,11 +9,11 @@ import numpy as np import matplotlib.pyplot as plt from matplotlib.patches import Circle, PathPatch -# register Axes3D class with matplotlib by importing Axes3D -from mpl_toolkits.mplot3d import Axes3D -import mpl_toolkits.mplot3d.art3d as art3d from matplotlib.text import TextPath from matplotlib.transforms import Affine2D +# This import registers the 3D projection, but is otherwise unused. +from mpl_toolkits.mplot3d import Axes3D # noqa: F401 unused import +import mpl_toolkits.mplot3d.art3d as art3d def text3d(ax, xyz, s, zdir="z", size=None, angle=0, usetex=False, **kwargs): diff --git a/examples/mplot3d/polys3d.py b/examples/mplot3d/polys3d.py index 09adab3db8ba..2f7769bb784c 100644 --- a/examples/mplot3d/polys3d.py +++ b/examples/mplot3d/polys3d.py @@ -8,7 +8,9 @@ of 'jagged stained glass' effect. """ -from mpl_toolkits.mplot3d import Axes3D +# This import registers the 3D projection, but is otherwise unused. +from mpl_toolkits.mplot3d import Axes3D # noqa: F401 unused import + from matplotlib.collections import PolyCollection import matplotlib.pyplot as plt from matplotlib import colors as mcolors diff --git a/examples/mplot3d/quiver3d.py b/examples/mplot3d/quiver3d.py index 16ba7eab0190..6921b4a1d26c 100644 --- a/examples/mplot3d/quiver3d.py +++ b/examples/mplot3d/quiver3d.py @@ -6,7 +6,9 @@ Demonstrates plotting directional arrows at points on a 3d meshgrid. ''' -from mpl_toolkits.mplot3d import axes3d +# This import registers the 3D projection, but is otherwise unused. +from mpl_toolkits.mplot3d import Axes3D # noqa: F401 unused import + import matplotlib.pyplot as plt import numpy as np diff --git a/examples/mplot3d/scatter3d.py b/examples/mplot3d/scatter3d.py index 090ace56e1ed..d8c6a05606cd 100644 --- a/examples/mplot3d/scatter3d.py +++ b/examples/mplot3d/scatter3d.py @@ -6,7 +6,9 @@ Demonstration of a basic scatterplot in 3D. ''' -from mpl_toolkits.mplot3d import Axes3D +# This import registers the 3D projection, but is otherwise unused. +from mpl_toolkits.mplot3d import Axes3D # noqa: F401 unused import + import matplotlib.pyplot as plt import numpy as np diff --git a/examples/mplot3d/subplot3d.py b/examples/mplot3d/subplot3d.py index 9ece9f7ddc02..e9c1c3f2d712 100644 --- a/examples/mplot3d/subplot3d.py +++ b/examples/mplot3d/subplot3d.py @@ -7,10 +7,13 @@ ''' import matplotlib.pyplot as plt -from mpl_toolkits.mplot3d.axes3d import Axes3D, get_test_data from matplotlib import cm import numpy as np +from mpl_toolkits.mplot3d.axes3d import get_test_data +# This import registers the 3D projection, but is otherwise unused. +from mpl_toolkits.mplot3d import Axes3D # noqa: F401 unused import + # set up a figure twice as wide as it is tall fig = plt.figure(figsize=plt.figaspect(0.5)) diff --git a/examples/mplot3d/surface3d.py b/examples/mplot3d/surface3d.py index 44133c271c02..eac122b6aa13 100644 --- a/examples/mplot3d/surface3d.py +++ b/examples/mplot3d/surface3d.py @@ -10,7 +10,9 @@ z axis tick labels. ''' -from mpl_toolkits.mplot3d import Axes3D +# This import registers the 3D projection, but is otherwise unused. +from mpl_toolkits.mplot3d import Axes3D # noqa: F401 unused import + import matplotlib.pyplot as plt from matplotlib import cm from matplotlib.ticker import LinearLocator, FormatStrFormatter diff --git a/examples/mplot3d/surface3d_2.py b/examples/mplot3d/surface3d_2.py index bfc60ae563ac..fe3c2fe476ea 100644 --- a/examples/mplot3d/surface3d_2.py +++ b/examples/mplot3d/surface3d_2.py @@ -6,7 +6,9 @@ Demonstrates a very basic plot of a 3D surface using a solid color. ''' -from mpl_toolkits.mplot3d import Axes3D +# This import registers the 3D projection, but is otherwise unused. +from mpl_toolkits.mplot3d import Axes3D # noqa: F401 unused import + import matplotlib.pyplot as plt import numpy as np diff --git a/examples/mplot3d/surface3d_3.py b/examples/mplot3d/surface3d_3.py index bef4e41acf43..d75dc6680152 100644 --- a/examples/mplot3d/surface3d_3.py +++ b/examples/mplot3d/surface3d_3.py @@ -6,7 +6,9 @@ Demonstrates plotting a 3D surface colored in a checkerboard pattern. ''' -from mpl_toolkits.mplot3d import Axes3D +# This import registers the 3D projection, but is otherwise unused. +from mpl_toolkits.mplot3d import Axes3D # noqa: F401 unused import + import matplotlib.pyplot as plt from matplotlib.ticker import LinearLocator import numpy as np diff --git a/examples/mplot3d/surface3d_radial.py b/examples/mplot3d/surface3d_radial.py index 9125624eca45..521f6195330d 100644 --- a/examples/mplot3d/surface3d_radial.py +++ b/examples/mplot3d/surface3d_radial.py @@ -10,7 +10,9 @@ Example contributed by Armin Moser. ''' -from mpl_toolkits.mplot3d import Axes3D +# This import registers the 3D projection, but is otherwise unused. +from mpl_toolkits.mplot3d import Axes3D # noqa: F401 unused import + import matplotlib.pyplot as plt import numpy as np diff --git a/examples/mplot3d/text3d.py b/examples/mplot3d/text3d.py index d26cf2b74eaf..ed4934faf5a1 100644 --- a/examples/mplot3d/text3d.py +++ b/examples/mplot3d/text3d.py @@ -16,7 +16,9 @@ ''' -from mpl_toolkits.mplot3d import Axes3D +# This import registers the 3D projection, but is otherwise unused. +from mpl_toolkits.mplot3d import Axes3D # noqa: F401 unused import + import matplotlib.pyplot as plt diff --git a/examples/mplot3d/tricontour3d.py b/examples/mplot3d/tricontour3d.py index 7e9e6971bb62..feb187cbaa16 100644 --- a/examples/mplot3d/tricontour3d.py +++ b/examples/mplot3d/tricontour3d.py @@ -9,8 +9,10 @@ tricontourf3d_demo shows the filled version of this example. """ +# This import registers the 3D projection, but is otherwise unused. +from mpl_toolkits.mplot3d import Axes3D # noqa: F401 unused import + import matplotlib.pyplot as plt -from mpl_toolkits.mplot3d import Axes3D import matplotlib.tri as tri import numpy as np diff --git a/examples/mplot3d/tricontourf3d.py b/examples/mplot3d/tricontourf3d.py index eebb3ef62e6a..d25b2dbd1ea5 100644 --- a/examples/mplot3d/tricontourf3d.py +++ b/examples/mplot3d/tricontourf3d.py @@ -9,8 +9,10 @@ tricontour3d_demo shows the unfilled version of this example. """ +# This import registers the 3D projection, but is otherwise unused. +from mpl_toolkits.mplot3d import Axes3D # noqa: F401 unused import + import matplotlib.pyplot as plt -from mpl_toolkits.mplot3d import Axes3D import matplotlib.tri as tri import numpy as np diff --git a/examples/mplot3d/trisurf3d.py b/examples/mplot3d/trisurf3d.py index 4d6283cad211..070a3154f2cb 100644 --- a/examples/mplot3d/trisurf3d.py +++ b/examples/mplot3d/trisurf3d.py @@ -6,7 +6,9 @@ Plot a 3D surface with a triangular mesh. ''' -from mpl_toolkits.mplot3d import Axes3D +# This import registers the 3D projection, but is otherwise unused. +from mpl_toolkits.mplot3d import Axes3D # noqa: F401 unused import + import matplotlib.pyplot as plt import numpy as np diff --git a/examples/mplot3d/trisurf3d_2.py b/examples/mplot3d/trisurf3d_2.py index 24d19e60b498..b948c1b14b5d 100644 --- a/examples/mplot3d/trisurf3d_2.py +++ b/examples/mplot3d/trisurf3d_2.py @@ -12,9 +12,11 @@ import numpy as np import matplotlib.pyplot as plt -from mpl_toolkits.mplot3d import Axes3D import matplotlib.tri as mtri +# This import registers the 3D projection, but is otherwise unused. +from mpl_toolkits.mplot3d import Axes3D # noqa: F401 unused import + fig = plt.figure(figsize=plt.figaspect(0.5)) diff --git a/examples/mplot3d/voxels.py b/examples/mplot3d/voxels.py index 76cf64c33a00..4ba96fff6c65 100644 --- a/examples/mplot3d/voxels.py +++ b/examples/mplot3d/voxels.py @@ -8,7 +8,10 @@ import matplotlib.pyplot as plt import numpy as np -from mpl_toolkits.mplot3d import Axes3D + +# This import registers the 3D projection, but is otherwise unused. +from mpl_toolkits.mplot3d import Axes3D # noqa: F401 unused import + # prepare some coordinates x, y, z = np.indices((8, 8, 8)) diff --git a/examples/mplot3d/voxels_numpy_logo.py b/examples/mplot3d/voxels_numpy_logo.py index 648a3cff7822..38b00b49f4de 100644 --- a/examples/mplot3d/voxels_numpy_logo.py +++ b/examples/mplot3d/voxels_numpy_logo.py @@ -7,7 +7,9 @@ ''' import matplotlib.pyplot as plt import numpy as np -from mpl_toolkits.mplot3d import Axes3D + +# This import registers the 3D projection, but is otherwise unused. +from mpl_toolkits.mplot3d import Axes3D # noqa: F401 unused import def explode(data): diff --git a/examples/mplot3d/voxels_rgb.py b/examples/mplot3d/voxels_rgb.py index 1b577cad47fe..7b012b2a61f8 100644 --- a/examples/mplot3d/voxels_rgb.py +++ b/examples/mplot3d/voxels_rgb.py @@ -8,7 +8,9 @@ import matplotlib.pyplot as plt import numpy as np -from mpl_toolkits.mplot3d import Axes3D + +# This import registers the 3D projection, but is otherwise unused. +from mpl_toolkits.mplot3d import Axes3D # noqa: F401 unused import def midpoints(x): diff --git a/examples/mplot3d/voxels_torus.py b/examples/mplot3d/voxels_torus.py index 4f60e31403d8..3112f82792da 100644 --- a/examples/mplot3d/voxels_torus.py +++ b/examples/mplot3d/voxels_torus.py @@ -9,7 +9,9 @@ import matplotlib.pyplot as plt import matplotlib.colors import numpy as np -from mpl_toolkits.mplot3d import Axes3D + +# This import registers the 3D projection, but is otherwise unused. +from mpl_toolkits.mplot3d import Axes3D # noqa: F401 unused import def midpoints(x): diff --git a/examples/mplot3d/wire3d_animation_sgskip.py b/examples/mplot3d/wire3d_animation_sgskip.py index 303a2817a0df..4e727817264c 100644 --- a/examples/mplot3d/wire3d_animation_sgskip.py +++ b/examples/mplot3d/wire3d_animation_sgskip.py @@ -10,7 +10,9 @@ """ -from mpl_toolkits.mplot3d import axes3d +# This import registers the 3D projection, but is otherwise unused. +from mpl_toolkits.mplot3d import Axes3D # noqa: F401 unused import + import matplotlib.pyplot as plt import numpy as np import time diff --git a/examples/pyplots/whats_new_1_subplot3d.py b/examples/pyplots/whats_new_1_subplot3d.py index 0e69530deec4..96886b0e1f8c 100644 --- a/examples/pyplots/whats_new_1_subplot3d.py +++ b/examples/pyplots/whats_new_1_subplot3d.py @@ -5,7 +5,9 @@ Create two three-dimensional plots in the same figure. """ -from mpl_toolkits.mplot3d.axes3d import Axes3D +# This import registers the 3D projection, but is otherwise unused. +from mpl_toolkits.mplot3d import Axes3D # noqa: F401 unused import + from matplotlib import cm #from matplotlib.ticker import LinearLocator, FixedLocator, FormatStrFormatter import matplotlib.pyplot as plt From 3dac582993f3f32a60f05a54b5d23afd6ec20a5d Mon Sep 17 00:00:00 2001 From: Avinash Sharma <avinashmnit30@gmail.com> Date: Tue, 5 Jun 2018 08:10:27 -0400 Subject: [PATCH 0985/1161] SVG Backend gouraud_triangle correction pcolormesh.svg update --- lib/matplotlib/backends/backend_svg.py | 73 +- .../baseline_images/test_axes/pcolormesh.svg | 30377 ++++++++-------- 2 files changed, 15751 insertions(+), 14699 deletions(-) diff --git a/lib/matplotlib/backends/backend_svg.py b/lib/matplotlib/backends/backend_svg.py index 17b913fbd4b7..514ee3d161f5 100644 --- a/lib/matplotlib/backends/backend_svg.py +++ b/lib/matplotlib/backends/backend_svg.py @@ -686,6 +686,16 @@ def draw_gouraud_triangle(self, gc, points, colors, trans): operator='arithmetic', k2="1", k3="1") writer.end('filter') + # feColorMatrix filter to correct opacity + writer.start( + 'filter', + id='colorMat') + writer.element( + 'feColorMatrix', + attrib={'type': 'matrix'}, + values='1 0 0 0 0 \n0 1 0 0 0 \n0 0 1 0 0' + + ' \n1 1 1 1 0 \n0 0 0 0 1 ') + writer.end('filter') avg_color = np.sum(colors[:, :], axis=0) / 3.0 # Just skip fully-transparent triangles @@ -719,41 +729,64 @@ def draw_gouraud_triangle(self, gc, points, colors, trans): writer.start( 'linearGradient', id="GR%x_%d" % (self._n_gradients, i), + gradientUnits="userSpaceOnUse", x1=short_float_fmt(x1), y1=short_float_fmt(y1), x2=short_float_fmt(xb), y2=short_float_fmt(yb)) writer.element( 'stop', - offset='0', - style=generate_css({'stop-color': rgb2hex(c), + offset='1', + style=generate_css({'stop-color': rgb2hex(avg_color), 'stop-opacity': short_float_fmt(c[-1])})) writer.element( 'stop', - offset='1', + offset='0', style=generate_css({'stop-color': rgb2hex(c), 'stop-opacity': "0"})) + writer.end('linearGradient') - writer.element( - 'polygon', - id='GT%x' % self._n_gradients, - points=" ".join([short_float_fmt(x) - for x in (x1, y1, x2, y2, x3, y3)])) writer.end('defs') - avg_color = np.sum(colors[:, :], axis=0) / 3.0 - href = '#GT%x' % self._n_gradients + # triangle formation using "path" + dpath = "M " + short_float_fmt(x1)+',' + short_float_fmt(y1) + dpath += " L " + short_float_fmt(x2) + ',' + short_float_fmt(y2) + dpath += " " + short_float_fmt(x3) + ',' + short_float_fmt(y3) + " Z" + writer.element( - 'use', - attrib={'xlink:href': href, + 'path', + attrib={'d': dpath, 'fill': rgb2hex(avg_color), - 'fill-opacity': short_float_fmt(avg_color[-1])}) - for i in range(3): - writer.element( - 'use', - attrib={'xlink:href': href, - 'fill': 'url(#GR%x_%d)' % (self._n_gradients, i), - 'fill-opacity': '1', - 'filter': 'url(#colorAdd)'}) + 'fill-opacity': '1', + 'shape-rendering': "crispEdges"}) + + writer.start( + 'g', + attrib={'stroke': "none", + 'stroke-width': "0", + 'shape-rendering': "crispEdges", + 'filter': "url(#colorMat)"}) + + writer.element( + 'path', + attrib={'d': dpath, + 'fill': 'url(#GR%x_0)' % self._n_gradients, + 'shape-rendering': "crispEdges"}) + + writer.element( + 'path', + attrib={'d': dpath, + 'fill': 'url(#GR%x_1)' % self._n_gradients, + 'filter': 'url(#colorAdd)', + 'shape-rendering': "crispEdges"}) + + writer.element( + 'path', + attrib={'d': dpath, + 'fill': 'url(#GR%x_2)' % self._n_gradients, + 'filter': 'url(#colorAdd)', + 'shape-rendering': "crispEdges"}) + + writer.end('g') self._n_gradients += 1 diff --git a/lib/matplotlib/tests/baseline_images/test_axes/pcolormesh.svg b/lib/matplotlib/tests/baseline_images/test_axes/pcolormesh.svg index c472c8904f2d..c94b782c5ee0 100644 --- a/lib/matplotlib/tests/baseline_images/test_axes/pcolormesh.svg +++ b/lib/matplotlib/tests/baseline_images/test_axes/pcolormesh.svg @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<!-- Created with matplotlib (http://matplotlib.org/) --> +<!-- Created with matplotlib (https://matplotlib.org/) --> <svg height="432pt" version="1.1" viewBox="0 0 576 432" width="576pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <defs> <style type="text/css"> @@ -27,1519 +27,1519 @@ z " style="fill:#ffffff;"/> </g> <g id="QuadMesh_1"> - <path clip-path="url(#p5e7a54fa6f)" d="M 129.769412 388.367134 + <path clip-path="url(#pbe138f2136)" d="M 129.769412 388.367134 L 115.796057 383.535538 L 122.57811 382.008527 L 136.551464 386.840123 L 129.769412 388.367134 " style="fill:#800000;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 115.796057 383.535538 + <path clip-path="url(#pbe138f2136)" d="M 115.796057 383.535538 L 103.130227 372.690382 L 109.912279 371.163372 L 122.57811 382.008527 L 115.796057 383.535538 " style="fill:#e80000;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 103.130227 372.690382 + <path clip-path="url(#pbe138f2136)" d="M 103.130227 372.690382 L 92.708182 356.633344 L 99.490235 355.106333 L 109.912279 371.163372 L 103.130227 372.690382 " style="fill:#ff4e00;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 92.708182 356.633344 + <path clip-path="url(#pbe138f2136)" d="M 92.708182 356.633344 L 85.300324 336.551363 L 92.082377 335.024352 L 99.490235 355.106333 L 92.708182 356.633344 " style="fill:#ff8d00;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 85.300324 336.551363 + <path clip-path="url(#pbe138f2136)" d="M 85.300324 336.551363 L 81.454244 313.928905 L 88.236296 312.401894 L 92.082377 335.024352 L 85.300324 336.551363 " style="fill:#ffb900;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 81.454244 313.928905 + <path clip-path="url(#pbe138f2136)" d="M 81.454244 313.928905 L 81.454244 290.438229 L 88.236296 288.911218 L 88.236296 312.401894 L 81.454244 313.928905 " style="fill:#ffd000;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 81.454244 290.438229 + <path clip-path="url(#pbe138f2136)" d="M 81.454244 290.438229 L 85.300324 267.815771 L 92.082377 266.28876 L 88.236296 288.911218 L 81.454244 290.438229 " style="fill:#ffd000;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 85.300324 267.815771 + <path clip-path="url(#pbe138f2136)" d="M 85.300324 267.815771 L 92.708182 247.73379 L 99.490235 246.206779 L 92.082377 266.28876 L 85.300324 267.815771 " style="fill:#ffb900;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 92.708182 247.73379 + <path clip-path="url(#pbe138f2136)" d="M 92.708182 247.73379 L 103.130227 231.676751 L 109.912279 230.149741 L 99.490235 246.206779 L 92.708182 247.73379 " style="fill:#ff8d00;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 103.130227 231.676751 + <path clip-path="url(#pbe138f2136)" d="M 103.130227 231.676751 L 115.796057 220.831596 L 122.57811 219.304585 L 109.912279 230.149741 L 103.130227 231.676751 " style="fill:#ff4e00;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 115.796057 220.831596 + <path clip-path="url(#pbe138f2136)" d="M 115.796057 220.831596 L 129.769412 216 L 136.551464 214.472989 L 122.57811 219.304585 L 115.796057 220.831596 " style="fill:#e80000;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 136.551464 386.840123 + <path clip-path="url(#pbe138f2136)" d="M 136.551464 386.840123 L 122.57811 382.008527 L 129.181827 379.043276 L 143.155182 383.874871 L 136.551464 386.840123 " style="fill:#b20000;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 122.57811 382.008527 + <path clip-path="url(#pbe138f2136)" d="M 122.57811 382.008527 L 109.912279 371.163372 L 116.515997 368.19812 L 129.181827 379.043276 L 122.57811 382.008527 " style="fill:#ff3000;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 109.912279 371.163372 + <path clip-path="url(#pbe138f2136)" d="M 109.912279 371.163372 L 99.490235 355.106333 L 106.093953 352.141082 L 116.515997 368.19812 L 109.912279 371.163372 " style="fill:#ff8200;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 99.490235 355.106333 + <path clip-path="url(#pbe138f2136)" d="M 99.490235 355.106333 L 92.082377 335.024352 L 98.686095 332.059101 L 106.093953 352.141082 L 99.490235 355.106333 " style="fill:#ffc400;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 92.082377 335.024352 + <path clip-path="url(#pbe138f2136)" d="M 92.082377 335.024352 L 88.236296 312.401894 L 94.840014 309.436643 L 98.686095 332.059101 L 92.082377 335.024352 " style="fill:#f8f500;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 88.236296 312.401894 + <path clip-path="url(#pbe138f2136)" d="M 88.236296 312.401894 L 88.236296 288.911218 L 94.840014 285.945966 L 94.840014 309.436643 L 88.236296 312.401894 " style="fill:#e1ff16;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 88.236296 288.911218 + <path clip-path="url(#pbe138f2136)" d="M 88.236296 288.911218 L 92.082377 266.28876 L 98.686095 263.323509 L 94.840014 285.945966 L 88.236296 288.911218 " style="fill:#e1ff16;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 92.082377 266.28876 + <path clip-path="url(#pbe138f2136)" d="M 92.082377 266.28876 L 99.490235 246.206779 L 106.093953 243.241528 L 98.686095 263.323509 L 92.082377 266.28876 " style="fill:#f8f500;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 99.490235 246.206779 + <path clip-path="url(#pbe138f2136)" d="M 99.490235 246.206779 L 109.912279 230.149741 L 116.515997 227.184489 L 106.093953 243.241528 L 99.490235 246.206779 " style="fill:#ffc400;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 109.912279 230.149741 + <path clip-path="url(#pbe138f2136)" d="M 109.912279 230.149741 L 122.57811 219.304585 L 129.181827 216.339333 L 116.515997 227.184489 L 109.912279 230.149741 " style="fill:#ff8200;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 122.57811 219.304585 + <path clip-path="url(#pbe138f2136)" d="M 122.57811 219.304585 L 136.551464 214.472989 L 143.155182 211.507738 L 129.181827 216.339333 L 122.57811 219.304585 " style="fill:#ff3000;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 143.155182 383.874871 + <path clip-path="url(#pbe138f2136)" d="M 143.155182 383.874871 L 129.181827 379.043276 L 135.495019 374.69016 L 149.468374 379.521756 L 143.155182 383.874871 " style="fill:#e40000;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 129.181827 379.043276 + <path clip-path="url(#pbe138f2136)" d="M 129.181827 379.043276 L 116.515997 368.19812 L 122.829188 363.845005 L 135.495019 374.69016 L 129.181827 379.043276 " style="fill:#ff6000;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 116.515997 368.19812 + <path clip-path="url(#pbe138f2136)" d="M 116.515997 368.19812 L 106.093953 352.141082 L 112.407144 347.787966 L 122.829188 363.845005 L 116.515997 368.19812 " style="fill:#ffb600;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 106.093953 352.141082 + <path clip-path="url(#pbe138f2136)" d="M 106.093953 352.141082 L 98.686095 332.059101 L 104.999286 327.705985 L 112.407144 347.787966 L 106.093953 352.141082 " style="fill:#f1fc06;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 98.686095 332.059101 + <path clip-path="url(#pbe138f2136)" d="M 98.686095 332.059101 L 94.840014 309.436643 L 101.153206 305.083527 L 104.999286 327.705985 L 98.686095 332.059101 " style="fill:#c1ff36;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 94.840014 309.436643 + <path clip-path="url(#pbe138f2136)" d="M 94.840014 309.436643 L 94.840014 285.945966 L 101.153206 281.592851 L 101.153206 305.083527 L 94.840014 309.436643 " style="fill:#aaff4d;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 94.840014 285.945966 + <path clip-path="url(#pbe138f2136)" d="M 94.840014 285.945966 L 98.686095 263.323509 L 104.999286 258.970393 L 101.153206 281.592851 L 94.840014 285.945966 " style="fill:#aaff4d;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 98.686095 263.323509 + <path clip-path="url(#pbe138f2136)" d="M 98.686095 263.323509 L 106.093953 243.241528 L 112.407144 238.888412 L 104.999286 258.970393 L 98.686095 263.323509 " style="fill:#c1ff36;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 106.093953 243.241528 + <path clip-path="url(#pbe138f2136)" d="M 106.093953 243.241528 L 116.515997 227.184489 L 122.829188 222.831374 L 112.407144 238.888412 L 106.093953 243.241528 " style="fill:#f1fc06;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 116.515997 227.184489 + <path clip-path="url(#pbe138f2136)" d="M 116.515997 227.184489 L 129.181827 216.339333 L 135.495019 211.986218 L 122.829188 222.831374 L 116.515997 227.184489 " style="fill:#ffb600;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 129.181827 216.339333 + <path clip-path="url(#pbe138f2136)" d="M 129.181827 216.339333 L 143.155182 211.507738 L 149.468374 207.154622 L 135.495019 211.986218 L 129.181827 216.339333 " style="fill:#ff6000;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 149.468374 379.521756 + <path clip-path="url(#pbe138f2136)" d="M 149.468374 379.521756 L 135.495019 374.69016 L 141.410428 369.023137 L 155.383783 373.854732 L 149.468374 379.521756 " style="fill:#ff2500;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 135.495019 374.69016 + <path clip-path="url(#pbe138f2136)" d="M 135.495019 374.69016 L 122.829188 363.845005 L 128.744598 358.177981 L 141.410428 369.023137 L 135.495019 374.69016 " style="fill:#ff8900;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 122.829188 363.845005 + <path clip-path="url(#pbe138f2136)" d="M 122.829188 363.845005 L 112.407144 347.787966 L 118.322554 342.120943 L 128.744598 358.177981 L 122.829188 363.845005 " style="fill:#ffe600;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 112.407144 347.787966 + <path clip-path="url(#pbe138f2136)" d="M 112.407144 347.787966 L 104.999286 327.705985 L 110.914696 322.038962 L 118.322554 342.120943 L 112.407144 347.787966 " style="fill:#c1ff36;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 104.999286 327.705985 + <path clip-path="url(#pbe138f2136)" d="M 104.999286 327.705985 L 101.153206 305.083527 L 107.068615 299.416504 L 110.914696 322.038962 L 104.999286 327.705985 " style="fill:#8dff6a;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 101.153206 305.083527 + <path clip-path="url(#pbe138f2136)" d="M 101.153206 305.083527 L 101.153206 281.592851 L 107.068615 275.925827 L 107.068615 299.416504 L 101.153206 305.083527 " style="fill:#73ff83;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 101.153206 281.592851 + <path clip-path="url(#pbe138f2136)" d="M 101.153206 281.592851 L 104.999286 258.970393 L 110.914696 253.30337 L 107.068615 275.925827 L 101.153206 281.592851 " style="fill:#73ff83;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 104.999286 258.970393 + <path clip-path="url(#pbe138f2136)" d="M 104.999286 258.970393 L 112.407144 238.888412 L 118.322554 233.221389 L 110.914696 253.30337 L 104.999286 258.970393 " style="fill:#8dff6a;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 112.407144 238.888412 + <path clip-path="url(#pbe138f2136)" d="M 112.407144 238.888412 L 122.829188 222.831374 L 128.744598 217.16435 L 118.322554 233.221389 L 112.407144 238.888412 " style="fill:#c1ff36;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 122.829188 222.831374 + <path clip-path="url(#pbe138f2136)" d="M 122.829188 222.831374 L 135.495019 211.986218 L 141.410428 206.319194 L 128.744598 217.16435 L 122.829188 222.831374 " style="fill:#ffe600;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 135.495019 211.986218 + <path clip-path="url(#pbe138f2136)" d="M 135.495019 211.986218 L 149.468374 207.154622 L 155.383783 201.487599 L 141.410428 206.319194 L 135.495019 211.986218 " style="fill:#ff8900;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 155.383783 373.854732 + <path clip-path="url(#pbe138f2136)" d="M 155.383783 373.854732 L 141.410428 369.023137 L 146.827558 362.138483 L 160.800913 366.970079 L 155.383783 373.854732 " style="fill:#ff4700;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 141.410428 369.023137 + <path clip-path="url(#pbe138f2136)" d="M 141.410428 369.023137 L 128.744598 358.177981 L 134.161728 351.293327 L 146.827558 362.138483 L 141.410428 369.023137 " style="fill:#ffb200;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 128.744598 358.177981 + <path clip-path="url(#pbe138f2136)" d="M 128.744598 358.177981 L 118.322554 342.120943 L 123.739684 335.236289 L 134.161728 351.293327 L 128.744598 358.177981 " style="fill:#dbff1c;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 118.322554 342.120943 + <path clip-path="url(#pbe138f2136)" d="M 118.322554 342.120943 L 110.914696 322.038962 L 116.331826 315.154308 L 123.739684 335.236289 L 118.322554 342.120943 " style="fill:#94ff63;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 110.914696 322.038962 + <path clip-path="url(#pbe138f2136)" d="M 110.914696 322.038962 L 107.068615 299.416504 L 112.485745 292.53185 L 116.331826 315.154308 L 110.914696 322.038962 " style="fill:#5dff9a;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 107.068615 299.416504 + <path clip-path="url(#pbe138f2136)" d="M 107.068615 299.416504 L 107.068615 275.925827 L 112.485745 269.041173 L 112.485745 292.53185 L 107.068615 299.416504 " style="fill:#3cffba;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 107.068615 275.925827 + <path clip-path="url(#pbe138f2136)" d="M 107.068615 275.925827 L 110.914696 253.30337 L 116.331826 246.418716 L 112.485745 269.041173 L 107.068615 275.925827 " style="fill:#3cffba;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 110.914696 253.30337 + <path clip-path="url(#pbe138f2136)" d="M 110.914696 253.30337 L 118.322554 233.221389 L 123.739684 226.336735 L 116.331826 246.418716 L 110.914696 253.30337 " style="fill:#5dff9a;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 118.322554 233.221389 + <path clip-path="url(#pbe138f2136)" d="M 118.322554 233.221389 L 128.744598 217.16435 L 134.161728 210.279696 L 123.739684 226.336735 L 118.322554 233.221389 " style="fill:#94ff63;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 128.744598 217.16435 + <path clip-path="url(#pbe138f2136)" d="M 128.744598 217.16435 L 141.410428 206.319194 L 146.827558 199.43454 L 134.161728 210.279696 L 128.744598 217.16435 " style="fill:#dbff1c;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 141.410428 206.319194 + <path clip-path="url(#pbe138f2136)" d="M 141.410428 206.319194 L 155.383783 201.487599 L 160.800913 194.602945 L 146.827558 199.43454 L 141.410428 206.319194 " style="fill:#ffb200;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 160.800913 366.970079 + <path clip-path="url(#pbe138f2136)" d="M 160.800913 366.970079 L 146.827558 362.138483 L 151.654376 354.153163 L 165.627731 358.984758 L 160.800913 366.970079 " style="fill:#ff6800;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 146.827558 362.138483 + <path clip-path="url(#pbe138f2136)" d="M 146.827558 362.138483 L 134.161728 351.293327 L 138.988546 343.308007 L 151.654376 354.153163 L 146.827558 362.138483 " style="fill:#ffd700;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 134.161728 351.293327 + <path clip-path="url(#pbe138f2136)" d="M 134.161728 351.293327 L 123.739684 335.236289 L 128.566502 327.250969 L 138.988546 343.308007 L 134.161728 351.293327 " style="fill:#b7ff40;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 123.739684 335.236289 + <path clip-path="url(#pbe138f2136)" d="M 123.739684 335.236289 L 116.331826 315.154308 L 121.158644 307.168988 L 128.566502 327.250969 L 123.739684 335.236289 " style="fill:#66ff90;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 116.331826 315.154308 + <path clip-path="url(#pbe138f2136)" d="M 116.331826 315.154308 L 112.485745 292.53185 L 117.312563 284.54653 L 121.158644 307.168988 L 116.331826 315.154308 " style="fill:#29ffce;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 112.485745 292.53185 + <path clip-path="url(#pbe138f2136)" d="M 112.485745 292.53185 L 112.485745 269.041173 L 117.312563 261.055853 L 117.312563 284.54653 L 112.485745 292.53185 " style="fill:#06ecf1;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 112.485745 269.041173 + <path clip-path="url(#pbe138f2136)" d="M 112.485745 269.041173 L 116.331826 246.418716 L 121.158644 238.433395 L 117.312563 261.055853 L 112.485745 269.041173 " style="fill:#06ecf1;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 116.331826 246.418716 + <path clip-path="url(#pbe138f2136)" d="M 116.331826 246.418716 L 123.739684 226.336735 L 128.566502 218.351415 L 121.158644 238.433395 L 116.331826 246.418716 " style="fill:#29ffce;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 123.739684 226.336735 + <path clip-path="url(#pbe138f2136)" d="M 123.739684 226.336735 L 134.161728 210.279696 L 138.988546 202.294376 L 128.566502 218.351415 L 123.739684 226.336735 " style="fill:#66ff90;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 134.161728 210.279696 + <path clip-path="url(#pbe138f2136)" d="M 134.161728 210.279696 L 146.827558 199.43454 L 151.654376 191.44922 L 138.988546 202.294376 L 134.161728 210.279696 " style="fill:#b7ff40;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 146.827558 199.43454 + <path clip-path="url(#pbe138f2136)" d="M 146.827558 199.43454 L 160.800913 194.602945 L 165.627731 186.617625 L 151.654376 191.44922 L 146.827558 199.43454 " style="fill:#ffd700;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 165.627731 358.984758 + <path clip-path="url(#pbe138f2136)" d="M 165.627731 358.984758 L 151.654376 354.153163 L 155.808879 345.20284 L 169.782234 350.034436 L 165.627731 358.984758 " style="fill:#ff8600;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 151.654376 354.153163 + <path clip-path="url(#pbe138f2136)" d="M 151.654376 354.153163 L 138.988546 343.308007 L 143.143049 334.357684 L 155.808879 345.20284 L 151.654376 354.153163 " style="fill:#f4f802;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 138.988546 343.308007 + <path clip-path="url(#pbe138f2136)" d="M 138.988546 343.308007 L 128.566502 327.250969 L 132.721005 318.300646 L 143.143049 334.357684 L 138.988546 343.308007 " style="fill:#94ff63;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 128.566502 327.250969 + <path clip-path="url(#pbe138f2136)" d="M 128.566502 327.250969 L 121.158644 307.168988 L 125.313147 298.218665 L 132.721005 318.300646 L 128.566502 327.250969 " style="fill:#3cffba;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 121.158644 307.168988 + <path clip-path="url(#pbe138f2136)" d="M 121.158644 307.168988 L 117.312563 284.54653 L 121.467066 275.596207 L 125.313147 298.218665 L 121.158644 307.168988 " style="fill:#00dcfe;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 117.312563 284.54653 + <path clip-path="url(#pbe138f2136)" d="M 117.312563 284.54653 L 117.312563 261.055853 L 121.467066 252.105531 L 121.467066 275.596207 L 117.312563 284.54653 " style="fill:#00acff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 117.312563 261.055853 + <path clip-path="url(#pbe138f2136)" d="M 117.312563 261.055853 L 121.158644 238.433395 L 125.313147 229.483073 L 121.467066 252.105531 L 117.312563 261.055853 " style="fill:#00acff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 121.158644 238.433395 + <path clip-path="url(#pbe138f2136)" d="M 121.158644 238.433395 L 128.566502 218.351415 L 132.721005 209.401092 L 125.313147 229.483073 L 121.158644 238.433395 " style="fill:#00dcfe;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 128.566502 218.351415 + <path clip-path="url(#pbe138f2136)" d="M 128.566502 218.351415 L 138.988546 202.294376 L 143.143049 193.344053 L 132.721005 209.401092 L 128.566502 218.351415 " style="fill:#3cffba;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 138.988546 202.294376 + <path clip-path="url(#pbe138f2136)" d="M 138.988546 202.294376 L 151.654376 191.44922 L 155.808879 182.498898 L 143.143049 193.344053 L 138.988546 202.294376 " style="fill:#94ff63;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 151.654376 191.44922 + <path clip-path="url(#pbe138f2136)" d="M 151.654376 191.44922 L 165.627731 186.617625 L 169.782234 177.667302 L 155.808879 182.498898 L 151.654376 191.44922 " style="fill:#f4f802;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 169.782234 350.034436 + <path clip-path="url(#pbe138f2136)" d="M 169.782234 350.034436 L 155.808879 345.20284 L 159.220486 335.439573 L 173.19384 340.271169 L 169.782234 350.034436 " style="fill:#ff9f00;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 155.808879 345.20284 + <path clip-path="url(#pbe138f2136)" d="M 155.808879 345.20284 L 143.143049 334.357684 L 146.554655 324.594417 L 159.220486 335.439573 L 155.808879 345.20284 " style="fill:#dbff1c;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 143.143049 334.357684 + <path clip-path="url(#pbe138f2136)" d="M 143.143049 334.357684 L 132.721005 318.300646 L 136.132611 308.537379 L 146.554655 324.594417 L 143.143049 334.357684 " style="fill:#73ff83;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 132.721005 318.300646 + <path clip-path="url(#pbe138f2136)" d="M 132.721005 318.300646 L 125.313147 298.218665 L 128.724753 288.455398 L 136.132611 308.537379 L 132.721005 318.300646 " style="fill:#19ffde;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 125.313147 298.218665 + <path clip-path="url(#pbe138f2136)" d="M 125.313147 298.218665 L 121.467066 275.596207 L 124.878672 265.83294 L 128.724753 288.455398 L 125.313147 298.218665 " style="fill:#00a4ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 121.467066 275.596207 + <path clip-path="url(#pbe138f2136)" d="M 121.467066 275.596207 L 121.467066 252.105531 L 124.878672 242.342263 L 124.878672 265.83294 L 121.467066 275.596207 " style="fill:#0068ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 121.467066 252.105531 + <path clip-path="url(#pbe138f2136)" d="M 121.467066 252.105531 L 125.313147 229.483073 L 128.724753 219.719806 L 124.878672 242.342263 L 121.467066 252.105531 " style="fill:#0068ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 125.313147 229.483073 + <path clip-path="url(#pbe138f2136)" d="M 125.313147 229.483073 L 132.721005 209.401092 L 136.132611 199.637825 L 128.724753 219.719806 L 125.313147 229.483073 " style="fill:#00a4ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 132.721005 209.401092 + <path clip-path="url(#pbe138f2136)" d="M 132.721005 209.401092 L 143.143049 193.344053 L 146.554655 183.580786 L 136.132611 199.637825 L 132.721005 209.401092 " style="fill:#19ffde;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 143.143049 193.344053 + <path clip-path="url(#pbe138f2136)" d="M 143.143049 193.344053 L 155.808879 182.498898 L 159.220486 172.735631 L 146.554655 183.580786 L 143.143049 193.344053 " style="fill:#73ff83;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 155.808879 182.498898 + <path clip-path="url(#pbe138f2136)" d="M 155.808879 182.498898 L 169.782234 177.667302 L 173.19384 167.904035 L 159.220486 172.735631 L 155.808879 182.498898 " style="fill:#dbff1c;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 173.19384 340.271169 + <path clip-path="url(#pbe138f2136)" d="M 173.19384 340.271169 L 159.220486 335.439573 L 161.831235 325.029231 L 175.80459 329.860826 L 173.19384 340.271169 " style="fill:#ffb200;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 159.220486 335.439573 + <path clip-path="url(#pbe138f2136)" d="M 159.220486 335.439573 L 146.554655 324.594417 L 149.165405 314.184075 L 161.831235 325.029231 L 159.220486 335.439573 " style="fill:#c4ff33;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 146.554655 324.594417 + <path clip-path="url(#pbe138f2136)" d="M 146.554655 324.594417 L 136.132611 308.537379 L 138.74336 298.127037 L 149.165405 314.184075 L 146.554655 324.594417 " style="fill:#5aff9d;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 136.132611 308.537379 + <path clip-path="url(#pbe138f2136)" d="M 136.132611 308.537379 L 128.724753 288.455398 L 131.335502 278.045056 L 138.74336 298.127037 L 136.132611 308.537379 " style="fill:#00d8ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 128.724753 288.455398 + <path clip-path="url(#pbe138f2136)" d="M 128.724753 288.455398 L 124.878672 265.83294 L 127.489422 255.422598 L 131.335502 278.045056 L 128.724753 288.455398 " style="fill:#0070ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 124.878672 265.83294 + <path clip-path="url(#pbe138f2136)" d="M 124.878672 265.83294 L 124.878672 242.342263 L 127.489422 231.931921 L 127.489422 255.422598 L 124.878672 265.83294 " style="fill:#0028ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 124.878672 242.342263 + <path clip-path="url(#pbe138f2136)" d="M 124.878672 242.342263 L 128.724753 219.719806 L 131.335502 209.309464 L 127.489422 231.931921 L 124.878672 242.342263 " style="fill:#0028ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 128.724753 219.719806 + <path clip-path="url(#pbe138f2136)" d="M 128.724753 219.719806 L 136.132611 199.637825 L 138.74336 189.227483 L 131.335502 209.309464 L 128.724753 219.719806 " style="fill:#0070ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 136.132611 199.637825 + <path clip-path="url(#pbe138f2136)" d="M 136.132611 199.637825 L 146.554655 183.580786 L 149.165405 173.170444 L 138.74336 189.227483 L 136.132611 199.637825 " style="fill:#00d8ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 146.554655 183.580786 + <path clip-path="url(#pbe138f2136)" d="M 146.554655 183.580786 L 159.220486 172.735631 L 161.831235 162.325288 L 149.165405 173.170444 L 146.554655 183.580786 " style="fill:#5aff9d;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 159.220486 172.735631 + <path clip-path="url(#pbe138f2136)" d="M 159.220486 172.735631 L 173.19384 167.904035 L 175.80459 157.493693 L 161.831235 162.325288 L 159.220486 172.735631 " style="fill:#c4ff33;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 175.80459 329.860826 + <path clip-path="url(#pbe138f2136)" d="M 175.80459 329.860826 L 161.831235 325.029231 L 163.596773 314.148676 L 177.570128 318.980272 L 175.80459 329.860826 " style="fill:#ffc400;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 161.831235 325.029231 + <path clip-path="url(#pbe138f2136)" d="M 161.831235 325.029231 L 149.165405 314.184075 L 150.930943 303.303521 L 163.596773 314.148676 L 161.831235 325.029231 " style="fill:#b4ff43;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 149.165405 314.184075 + <path clip-path="url(#pbe138f2136)" d="M 149.165405 314.184075 L 138.74336 298.127037 L 140.508899 287.246482 L 150.930943 303.303521 L 149.165405 314.184075 " style="fill:#46ffb1;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 138.74336 298.127037 + <path clip-path="url(#pbe138f2136)" d="M 138.74336 298.127037 L 131.335502 278.045056 L 133.101041 267.164501 L 140.508899 287.246482 L 138.74336 298.127037 " style="fill:#00b8ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 131.335502 278.045056 + <path clip-path="url(#pbe138f2136)" d="M 131.335502 278.045056 L 127.489422 255.422598 L 129.25496 244.542043 L 133.101041 267.164501 L 131.335502 278.045056 " style="fill:#0040ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 127.489422 255.422598 + <path clip-path="url(#pbe138f2136)" d="M 127.489422 255.422598 L 127.489422 231.931921 L 129.25496 221.051367 L 129.25496 244.542043 L 127.489422 255.422598 " style="fill:#0000f6;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 127.489422 231.931921 + <path clip-path="url(#pbe138f2136)" d="M 127.489422 231.931921 L 131.335502 209.309464 L 133.101041 198.428909 L 129.25496 221.051367 L 127.489422 231.931921 " style="fill:#0000f6;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 131.335502 209.309464 + <path clip-path="url(#pbe138f2136)" d="M 131.335502 209.309464 L 138.74336 189.227483 L 140.508899 178.346928 L 133.101041 198.428909 L 131.335502 209.309464 " style="fill:#0040ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 138.74336 189.227483 + <path clip-path="url(#pbe138f2136)" d="M 138.74336 189.227483 L 149.165405 173.170444 L 150.930943 162.289889 L 140.508899 178.346928 L 138.74336 189.227483 " style="fill:#00b8ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 149.165405 173.170444 + <path clip-path="url(#pbe138f2136)" d="M 149.165405 173.170444 L 161.831235 162.325288 L 163.596773 151.444734 L 150.930943 162.289889 L 149.165405 173.170444 " style="fill:#46ffb1;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 161.831235 162.325288 + <path clip-path="url(#pbe138f2136)" d="M 161.831235 162.325288 L 175.80459 157.493693 L 177.570128 146.613138 L 163.596773 151.444734 L 161.831235 162.325288 " style="fill:#b4ff43;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 177.570128 318.980272 + <path clip-path="url(#pbe138f2136)" d="M 177.570128 318.980272 L 163.596773 314.148676 L 164.487105 302.98276 L 178.46046 307.814356 L 177.570128 318.980272 " style="fill:#ffd000;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 163.596773 314.148676 + <path clip-path="url(#pbe138f2136)" d="M 163.596773 314.148676 L 150.930943 303.303521 L 151.821275 292.137605 L 164.487105 302.98276 L 163.596773 314.148676 " style="fill:#a7ff50;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 150.930943 303.303521 + <path clip-path="url(#pbe138f2136)" d="M 150.930943 303.303521 L 140.508899 287.246482 L 141.399231 276.080566 L 151.821275 292.137605 L 150.930943 303.303521 " style="fill:#36ffc1;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 140.508899 287.246482 + <path clip-path="url(#pbe138f2136)" d="M 140.508899 287.246482 L 133.101041 267.164501 L 133.991373 255.998585 L 141.399231 276.080566 L 140.508899 287.246482 " style="fill:#00a0ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 133.101041 267.164501 + <path clip-path="url(#pbe138f2136)" d="M 133.101041 267.164501 L 129.25496 244.542043 L 130.145292 233.376127 L 133.991373 255.998585 L 133.101041 267.164501 " style="fill:#001cff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 129.25496 244.542043 + <path clip-path="url(#pbe138f2136)" d="M 129.25496 244.542043 L 129.25496 221.051367 L 130.145292 209.885451 L 130.145292 233.376127 L 129.25496 244.542043 " style="fill:#0000b2;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 129.25496 221.051367 + <path clip-path="url(#pbe138f2136)" d="M 129.25496 221.051367 L 133.101041 198.428909 L 133.991373 187.262993 L 130.145292 209.885451 L 129.25496 221.051367 " style="fill:#0000b2;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 133.101041 198.428909 + <path clip-path="url(#pbe138f2136)" d="M 133.101041 198.428909 L 140.508899 178.346928 L 141.399231 167.181012 L 133.991373 187.262993 L 133.101041 198.428909 " style="fill:#001cff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 140.508899 178.346928 + <path clip-path="url(#pbe138f2136)" d="M 140.508899 178.346928 L 150.930943 162.289889 L 151.821275 151.123973 L 141.399231 167.181012 L 140.508899 178.346928 " style="fill:#00a0ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 150.930943 162.289889 + <path clip-path="url(#pbe138f2136)" d="M 150.930943 162.289889 L 163.596773 151.444734 L 164.487105 140.278818 L 151.821275 151.123973 L 150.930943 162.289889 " style="fill:#36ffc1;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 163.596773 151.444734 + <path clip-path="url(#pbe138f2136)" d="M 163.596773 151.444734 L 177.570128 146.613138 L 178.46046 135.447222 L 164.487105 140.278818 L 163.596773 151.444734 " style="fill:#a7ff50;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 178.46046 307.814356 + <path clip-path="url(#pbe138f2136)" d="M 178.46046 307.814356 L 164.487105 302.98276 L 164.487105 291.721182 L 178.46046 296.552778 L 178.46046 307.814356 " style="fill:#ffd300;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 164.487105 302.98276 + <path clip-path="url(#pbe138f2136)" d="M 164.487105 302.98276 L 151.821275 292.137605 L 151.821275 280.876027 L 164.487105 291.721182 L 164.487105 302.98276 " style="fill:#a4ff53;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 151.821275 292.137605 + <path clip-path="url(#pbe138f2136)" d="M 151.821275 292.137605 L 141.399231 276.080566 L 141.399231 264.818988 L 151.821275 280.876027 L 151.821275 292.137605 " style="fill:#30ffc7;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 141.399231 276.080566 + <path clip-path="url(#pbe138f2136)" d="M 141.399231 276.080566 L 133.991373 255.998585 L 133.991373 244.737007 L 141.399231 264.818988 L 141.399231 276.080566 " style="fill:#0094ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 133.991373 255.998585 + <path clip-path="url(#pbe138f2136)" d="M 133.991373 255.998585 L 130.145292 233.376127 L 130.145292 222.114549 L 133.991373 244.737007 L 133.991373 255.998585 " style="fill:#0008ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 130.145292 233.376127 + <path clip-path="url(#pbe138f2136)" d="M 130.145292 233.376127 L 130.145292 209.885451 L 130.145292 198.623873 L 130.145292 222.114549 L 130.145292 233.376127 " style="fill:#000080;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 130.145292 209.885451 + <path clip-path="url(#pbe138f2136)" d="M 130.145292 209.885451 L 133.991373 187.262993 L 133.991373 176.001415 L 130.145292 198.623873 L 130.145292 209.885451 " style="fill:#000080;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 133.991373 187.262993 + <path clip-path="url(#pbe138f2136)" d="M 133.991373 187.262993 L 141.399231 167.181012 L 141.399231 155.919434 L 133.991373 176.001415 L 133.991373 187.262993 " style="fill:#0008ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 141.399231 167.181012 + <path clip-path="url(#pbe138f2136)" d="M 141.399231 167.181012 L 151.821275 151.123973 L 151.821275 139.862395 L 141.399231 155.919434 L 141.399231 167.181012 " style="fill:#0094ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 151.821275 151.123973 + <path clip-path="url(#pbe138f2136)" d="M 151.821275 151.123973 L 164.487105 140.278818 L 164.487105 129.01724 L 151.821275 139.862395 L 151.821275 151.123973 " style="fill:#30ffc7;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 164.487105 140.278818 + <path clip-path="url(#pbe138f2136)" d="M 164.487105 140.278818 L 178.46046 135.447222 L 178.46046 124.185644 L 164.487105 129.01724 L 164.487105 140.278818 " style="fill:#a4ff53;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 178.46046 296.552778 + <path clip-path="url(#pbe138f2136)" d="M 178.46046 296.552778 L 164.487105 291.721182 L 163.596773 280.555266 L 177.570128 285.386862 L 178.46046 296.552778 " style="fill:#ffd300;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 164.487105 291.721182 + <path clip-path="url(#pbe138f2136)" d="M 164.487105 291.721182 L 151.821275 280.876027 L 150.930943 269.710111 L 163.596773 280.555266 L 164.487105 291.721182 " style="fill:#a4ff53;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 151.821275 280.876027 + <path clip-path="url(#pbe138f2136)" d="M 151.821275 280.876027 L 141.399231 264.818988 L 140.508899 253.653072 L 150.930943 269.710111 L 151.821275 280.876027 " style="fill:#30ffc7;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 141.399231 264.818988 + <path clip-path="url(#pbe138f2136)" d="M 141.399231 264.818988 L 133.991373 244.737007 L 133.101041 233.571091 L 140.508899 253.653072 L 141.399231 264.818988 " style="fill:#0094ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 133.991373 244.737007 + <path clip-path="url(#pbe138f2136)" d="M 133.991373 244.737007 L 130.145292 222.114549 L 129.25496 210.948633 L 133.101041 233.571091 L 133.991373 244.737007 " style="fill:#0008ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 130.145292 222.114549 + <path clip-path="url(#pbe138f2136)" d="M 130.145292 222.114549 L 130.145292 198.623873 L 129.25496 187.457957 L 129.25496 210.948633 L 130.145292 222.114549 " style="fill:#000080;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 130.145292 198.623873 + <path clip-path="url(#pbe138f2136)" d="M 130.145292 198.623873 L 133.991373 176.001415 L 133.101041 164.835499 L 129.25496 187.457957 L 130.145292 198.623873 " style="fill:#000080;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 133.991373 176.001415 + <path clip-path="url(#pbe138f2136)" d="M 133.991373 176.001415 L 141.399231 155.919434 L 140.508899 144.753518 L 133.101041 164.835499 L 133.991373 176.001415 " style="fill:#0008ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 141.399231 155.919434 + <path clip-path="url(#pbe138f2136)" d="M 141.399231 155.919434 L 151.821275 139.862395 L 150.930943 128.696479 L 140.508899 144.753518 L 141.399231 155.919434 " style="fill:#0094ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 151.821275 139.862395 + <path clip-path="url(#pbe138f2136)" d="M 151.821275 139.862395 L 164.487105 129.01724 L 163.596773 117.851324 L 150.930943 128.696479 L 151.821275 139.862395 " style="fill:#30ffc7;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 164.487105 129.01724 + <path clip-path="url(#pbe138f2136)" d="M 164.487105 129.01724 L 178.46046 124.185644 L 177.570128 113.019728 L 163.596773 117.851324 L 164.487105 129.01724 " style="fill:#a4ff53;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 177.570128 285.386862 + <path clip-path="url(#pbe138f2136)" d="M 177.570128 285.386862 L 163.596773 280.555266 L 161.831235 269.674712 L 175.80459 274.506307 L 177.570128 285.386862 " style="fill:#ffd000;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 163.596773 280.555266 + <path clip-path="url(#pbe138f2136)" d="M 163.596773 280.555266 L 150.930943 269.710111 L 149.165405 258.829556 L 161.831235 269.674712 L 163.596773 280.555266 " style="fill:#a7ff50;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 150.930943 269.710111 + <path clip-path="url(#pbe138f2136)" d="M 150.930943 269.710111 L 140.508899 253.653072 L 138.74336 242.772517 L 149.165405 258.829556 L 150.930943 269.710111 " style="fill:#36ffc1;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 140.508899 253.653072 + <path clip-path="url(#pbe138f2136)" d="M 140.508899 253.653072 L 133.101041 233.571091 L 131.335502 222.690536 L 138.74336 242.772517 L 140.508899 253.653072 " style="fill:#00a0ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 133.101041 233.571091 + <path clip-path="url(#pbe138f2136)" d="M 133.101041 233.571091 L 129.25496 210.948633 L 127.489422 200.068079 L 131.335502 222.690536 L 133.101041 233.571091 " style="fill:#001cff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 129.25496 210.948633 + <path clip-path="url(#pbe138f2136)" d="M 129.25496 210.948633 L 129.25496 187.457957 L 127.489422 176.577402 L 127.489422 200.068079 L 129.25496 210.948633 " style="fill:#0000b2;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 129.25496 187.457957 + <path clip-path="url(#pbe138f2136)" d="M 129.25496 187.457957 L 133.101041 164.835499 L 131.335502 153.954944 L 127.489422 176.577402 L 129.25496 187.457957 " style="fill:#0000b2;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 133.101041 164.835499 + <path clip-path="url(#pbe138f2136)" d="M 133.101041 164.835499 L 140.508899 144.753518 L 138.74336 133.872963 L 131.335502 153.954944 L 133.101041 164.835499 " style="fill:#001cff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 140.508899 144.753518 + <path clip-path="url(#pbe138f2136)" d="M 140.508899 144.753518 L 150.930943 128.696479 L 149.165405 117.815925 L 138.74336 133.872963 L 140.508899 144.753518 " style="fill:#00a0ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 150.930943 128.696479 + <path clip-path="url(#pbe138f2136)" d="M 150.930943 128.696479 L 163.596773 117.851324 L 161.831235 106.970769 L 149.165405 117.815925 L 150.930943 128.696479 " style="fill:#36ffc1;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 163.596773 117.851324 + <path clip-path="url(#pbe138f2136)" d="M 163.596773 117.851324 L 177.570128 113.019728 L 175.80459 102.139174 L 161.831235 106.970769 L 163.596773 117.851324 " style="fill:#a7ff50;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 175.80459 274.506307 + <path clip-path="url(#pbe138f2136)" d="M 175.80459 274.506307 L 161.831235 269.674712 L 159.220486 259.264369 L 173.19384 264.095965 L 175.80459 274.506307 " style="fill:#ffc400;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 161.831235 269.674712 + <path clip-path="url(#pbe138f2136)" d="M 161.831235 269.674712 L 149.165405 258.829556 L 146.554655 248.419214 L 159.220486 259.264369 L 161.831235 269.674712 " style="fill:#b4ff43;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 149.165405 258.829556 + <path clip-path="url(#pbe138f2136)" d="M 149.165405 258.829556 L 138.74336 242.772517 L 136.132611 232.362175 L 146.554655 248.419214 L 149.165405 258.829556 " style="fill:#46ffb1;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 138.74336 242.772517 + <path clip-path="url(#pbe138f2136)" d="M 138.74336 242.772517 L 131.335502 222.690536 L 128.724753 212.280194 L 136.132611 232.362175 L 138.74336 242.772517 " style="fill:#00b8ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 131.335502 222.690536 + <path clip-path="url(#pbe138f2136)" d="M 131.335502 222.690536 L 127.489422 200.068079 L 124.878672 189.657737 L 128.724753 212.280194 L 131.335502 222.690536 " style="fill:#0040ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 127.489422 200.068079 + <path clip-path="url(#pbe138f2136)" d="M 127.489422 200.068079 L 127.489422 176.577402 L 124.878672 166.16706 L 124.878672 189.657737 L 127.489422 200.068079 " style="fill:#0000f6;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 127.489422 176.577402 + <path clip-path="url(#pbe138f2136)" d="M 127.489422 176.577402 L 131.335502 153.954944 L 128.724753 143.544602 L 124.878672 166.16706 L 127.489422 176.577402 " style="fill:#0000f6;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 131.335502 153.954944 + <path clip-path="url(#pbe138f2136)" d="M 131.335502 153.954944 L 138.74336 133.872963 L 136.132611 123.462621 L 128.724753 143.544602 L 131.335502 153.954944 " style="fill:#0040ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 138.74336 133.872963 + <path clip-path="url(#pbe138f2136)" d="M 138.74336 133.872963 L 149.165405 117.815925 L 146.554655 107.405583 L 136.132611 123.462621 L 138.74336 133.872963 " style="fill:#00b8ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 149.165405 117.815925 + <path clip-path="url(#pbe138f2136)" d="M 149.165405 117.815925 L 161.831235 106.970769 L 159.220486 96.560427 L 146.554655 107.405583 L 149.165405 117.815925 " style="fill:#46ffb1;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 161.831235 106.970769 + <path clip-path="url(#pbe138f2136)" d="M 161.831235 106.970769 L 175.80459 102.139174 L 173.19384 91.728831 L 159.220486 96.560427 L 161.831235 106.970769 " style="fill:#b4ff43;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 173.19384 264.095965 + <path clip-path="url(#pbe138f2136)" d="M 173.19384 264.095965 L 159.220486 259.264369 L 155.808879 249.501102 L 169.782234 254.332698 L 173.19384 264.095965 " style="fill:#ffb200;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 159.220486 259.264369 + <path clip-path="url(#pbe138f2136)" d="M 159.220486 259.264369 L 146.554655 248.419214 L 143.143049 238.655947 L 155.808879 249.501102 L 159.220486 259.264369 " style="fill:#c4ff33;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 146.554655 248.419214 + <path clip-path="url(#pbe138f2136)" d="M 146.554655 248.419214 L 136.132611 232.362175 L 132.721005 222.598908 L 143.143049 238.655947 L 146.554655 248.419214 " style="fill:#5aff9d;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 136.132611 232.362175 + <path clip-path="url(#pbe138f2136)" d="M 136.132611 232.362175 L 128.724753 212.280194 L 125.313147 202.516927 L 132.721005 222.598908 L 136.132611 232.362175 " style="fill:#00d8ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 128.724753 212.280194 + <path clip-path="url(#pbe138f2136)" d="M 128.724753 212.280194 L 124.878672 189.657737 L 121.467066 179.894469 L 125.313147 202.516927 L 128.724753 212.280194 " style="fill:#0070ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 124.878672 189.657737 + <path clip-path="url(#pbe138f2136)" d="M 124.878672 189.657737 L 124.878672 166.16706 L 121.467066 156.403793 L 121.467066 179.894469 L 124.878672 189.657737 " style="fill:#0028ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 124.878672 166.16706 + <path clip-path="url(#pbe138f2136)" d="M 124.878672 166.16706 L 128.724753 143.544602 L 125.313147 133.781335 L 121.467066 156.403793 L 124.878672 166.16706 " style="fill:#0028ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 128.724753 143.544602 + <path clip-path="url(#pbe138f2136)" d="M 128.724753 143.544602 L 136.132611 123.462621 L 132.721005 113.699354 L 125.313147 133.781335 L 128.724753 143.544602 " style="fill:#0070ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 136.132611 123.462621 + <path clip-path="url(#pbe138f2136)" d="M 136.132611 123.462621 L 146.554655 107.405583 L 143.143049 97.642316 L 132.721005 113.699354 L 136.132611 123.462621 " style="fill:#00d8ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 146.554655 107.405583 + <path clip-path="url(#pbe138f2136)" d="M 146.554655 107.405583 L 159.220486 96.560427 L 155.808879 86.79716 L 143.143049 97.642316 L 146.554655 107.405583 " style="fill:#5aff9d;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 159.220486 96.560427 + <path clip-path="url(#pbe138f2136)" d="M 159.220486 96.560427 L 173.19384 91.728831 L 169.782234 81.965564 L 155.808879 86.79716 L 159.220486 96.560427 " style="fill:#c4ff33;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 169.782234 254.332698 + <path clip-path="url(#pbe138f2136)" d="M 169.782234 254.332698 L 155.808879 249.501102 L 151.654376 240.55078 L 165.627731 245.382375 L 169.782234 254.332698 " style="fill:#ff9f00;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 155.808879 249.501102 + <path clip-path="url(#pbe138f2136)" d="M 155.808879 249.501102 L 143.143049 238.655947 L 138.988546 229.705624 L 151.654376 240.55078 L 155.808879 249.501102 " style="fill:#dbff1c;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 143.143049 238.655947 + <path clip-path="url(#pbe138f2136)" d="M 143.143049 238.655947 L 132.721005 222.598908 L 128.566502 213.648585 L 138.988546 229.705624 L 143.143049 238.655947 " style="fill:#73ff83;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 132.721005 222.598908 + <path clip-path="url(#pbe138f2136)" d="M 132.721005 222.598908 L 125.313147 202.516927 L 121.158644 193.566605 L 128.566502 213.648585 L 132.721005 222.598908 " style="fill:#19ffde;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 125.313147 202.516927 + <path clip-path="url(#pbe138f2136)" d="M 125.313147 202.516927 L 121.467066 179.894469 L 117.312563 170.944147 L 121.158644 193.566605 L 125.313147 202.516927 " style="fill:#00a4ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 121.467066 179.894469 + <path clip-path="url(#pbe138f2136)" d="M 121.467066 179.894469 L 121.467066 156.403793 L 117.312563 147.45347 L 117.312563 170.944147 L 121.467066 179.894469 " style="fill:#0068ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 121.467066 156.403793 + <path clip-path="url(#pbe138f2136)" d="M 121.467066 156.403793 L 125.313147 133.781335 L 121.158644 124.831012 L 117.312563 147.45347 L 121.467066 156.403793 " style="fill:#0068ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 125.313147 133.781335 + <path clip-path="url(#pbe138f2136)" d="M 125.313147 133.781335 L 132.721005 113.699354 L 128.566502 104.749031 L 121.158644 124.831012 L 125.313147 133.781335 " style="fill:#00a4ff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 132.721005 113.699354 + <path clip-path="url(#pbe138f2136)" d="M 132.721005 113.699354 L 143.143049 97.642316 L 138.988546 88.691993 L 128.566502 104.749031 L 132.721005 113.699354 " style="fill:#19ffde;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 143.143049 97.642316 + <path clip-path="url(#pbe138f2136)" d="M 143.143049 97.642316 L 155.808879 86.79716 L 151.654376 77.846837 L 138.988546 88.691993 L 143.143049 97.642316 " style="fill:#73ff83;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 155.808879 86.79716 + <path clip-path="url(#pbe138f2136)" d="M 155.808879 86.79716 L 169.782234 81.965564 L 165.627731 73.015242 L 151.654376 77.846837 L 155.808879 86.79716 " style="fill:#dbff1c;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 165.627731 245.382375 + <path clip-path="url(#pbe138f2136)" d="M 165.627731 245.382375 L 151.654376 240.55078 L 146.827558 232.56546 L 160.800913 237.397055 L 165.627731 245.382375 " style="fill:#ff8600;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 151.654376 240.55078 + <path clip-path="url(#pbe138f2136)" d="M 151.654376 240.55078 L 138.988546 229.705624 L 134.161728 221.720304 L 146.827558 232.56546 L 151.654376 240.55078 " style="fill:#f4f802;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 138.988546 229.705624 + <path clip-path="url(#pbe138f2136)" d="M 138.988546 229.705624 L 128.566502 213.648585 L 123.739684 205.663265 L 134.161728 221.720304 L 138.988546 229.705624 " style="fill:#94ff63;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 128.566502 213.648585 + <path clip-path="url(#pbe138f2136)" d="M 128.566502 213.648585 L 121.158644 193.566605 L 116.331826 185.581284 L 123.739684 205.663265 L 128.566502 213.648585 " style="fill:#3cffba;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 121.158644 193.566605 + <path clip-path="url(#pbe138f2136)" d="M 121.158644 193.566605 L 117.312563 170.944147 L 112.485745 162.958827 L 116.331826 185.581284 L 121.158644 193.566605 " style="fill:#00dcfe;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 117.312563 170.944147 + <path clip-path="url(#pbe138f2136)" d="M 117.312563 170.944147 L 117.312563 147.45347 L 112.485745 139.46815 L 112.485745 162.958827 L 117.312563 170.944147 " style="fill:#00acff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 117.312563 147.45347 + <path clip-path="url(#pbe138f2136)" d="M 117.312563 147.45347 L 121.158644 124.831012 L 116.331826 116.845692 L 112.485745 139.46815 L 117.312563 147.45347 " style="fill:#00acff;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 121.158644 124.831012 + <path clip-path="url(#pbe138f2136)" d="M 121.158644 124.831012 L 128.566502 104.749031 L 123.739684 96.763711 L 116.331826 116.845692 L 121.158644 124.831012 " style="fill:#00dcfe;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 128.566502 104.749031 + <path clip-path="url(#pbe138f2136)" d="M 128.566502 104.749031 L 138.988546 88.691993 L 134.161728 80.706673 L 123.739684 96.763711 L 128.566502 104.749031 " style="fill:#3cffba;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 138.988546 88.691993 + <path clip-path="url(#pbe138f2136)" d="M 138.988546 88.691993 L 151.654376 77.846837 L 146.827558 69.861517 L 134.161728 80.706673 L 138.988546 88.691993 " style="fill:#94ff63;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 151.654376 77.846837 + <path clip-path="url(#pbe138f2136)" d="M 151.654376 77.846837 L 165.627731 73.015242 L 160.800913 65.029921 L 146.827558 69.861517 L 151.654376 77.846837 " style="fill:#f4f802;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 160.800913 237.397055 + <path clip-path="url(#pbe138f2136)" d="M 160.800913 237.397055 L 146.827558 232.56546 L 141.410428 225.680806 L 155.383783 230.512401 L 160.800913 237.397055 " style="fill:#ff6800;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 146.827558 232.56546 + <path clip-path="url(#pbe138f2136)" d="M 146.827558 232.56546 L 134.161728 221.720304 L 128.744598 214.83565 L 141.410428 225.680806 L 146.827558 232.56546 " style="fill:#ffd700;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 134.161728 221.720304 + <path clip-path="url(#pbe138f2136)" d="M 134.161728 221.720304 L 123.739684 205.663265 L 118.322554 198.778611 L 128.744598 214.83565 L 134.161728 221.720304 " style="fill:#b7ff40;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 123.739684 205.663265 + <path clip-path="url(#pbe138f2136)" d="M 123.739684 205.663265 L 116.331826 185.581284 L 110.914696 178.69663 L 118.322554 198.778611 L 123.739684 205.663265 " style="fill:#66ff90;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 116.331826 185.581284 + <path clip-path="url(#pbe138f2136)" d="M 116.331826 185.581284 L 112.485745 162.958827 L 107.068615 156.074173 L 110.914696 178.69663 L 116.331826 185.581284 " style="fill:#29ffce;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 112.485745 162.958827 + <path clip-path="url(#pbe138f2136)" d="M 112.485745 162.958827 L 112.485745 139.46815 L 107.068615 132.583496 L 107.068615 156.074173 L 112.485745 162.958827 " style="fill:#06ecf1;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 112.485745 139.46815 + <path clip-path="url(#pbe138f2136)" d="M 112.485745 139.46815 L 116.331826 116.845692 L 110.914696 109.961038 L 107.068615 132.583496 L 112.485745 139.46815 " style="fill:#06ecf1;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 116.331826 116.845692 + <path clip-path="url(#pbe138f2136)" d="M 116.331826 116.845692 L 123.739684 96.763711 L 118.322554 89.879057 L 110.914696 109.961038 L 116.331826 116.845692 " style="fill:#29ffce;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 123.739684 96.763711 + <path clip-path="url(#pbe138f2136)" d="M 123.739684 96.763711 L 134.161728 80.706673 L 128.744598 73.822019 L 118.322554 89.879057 L 123.739684 96.763711 " style="fill:#66ff90;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 134.161728 80.706673 + <path clip-path="url(#pbe138f2136)" d="M 134.161728 80.706673 L 146.827558 69.861517 L 141.410428 62.976863 L 128.744598 73.822019 L 134.161728 80.706673 " style="fill:#b7ff40;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 146.827558 69.861517 + <path clip-path="url(#pbe138f2136)" d="M 146.827558 69.861517 L 160.800913 65.029921 L 155.383783 58.145268 L 141.410428 62.976863 L 146.827558 69.861517 " style="fill:#ffd700;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 155.383783 230.512401 + <path clip-path="url(#pbe138f2136)" d="M 155.383783 230.512401 L 141.410428 225.680806 L 135.495019 220.013782 L 149.468374 224.845378 L 155.383783 230.512401 " style="fill:#ff4700;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 141.410428 225.680806 + <path clip-path="url(#pbe138f2136)" d="M 141.410428 225.680806 L 128.744598 214.83565 L 122.829188 209.168626 L 135.495019 220.013782 L 141.410428 225.680806 " style="fill:#ffb200;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 128.744598 214.83565 + <path clip-path="url(#pbe138f2136)" d="M 128.744598 214.83565 L 118.322554 198.778611 L 112.407144 193.111588 L 122.829188 209.168626 L 128.744598 214.83565 " style="fill:#dbff1c;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 118.322554 198.778611 + <path clip-path="url(#pbe138f2136)" d="M 118.322554 198.778611 L 110.914696 178.69663 L 104.999286 173.029607 L 112.407144 193.111588 L 118.322554 198.778611 " style="fill:#94ff63;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 110.914696 178.69663 + <path clip-path="url(#pbe138f2136)" d="M 110.914696 178.69663 L 107.068615 156.074173 L 101.153206 150.407149 L 104.999286 173.029607 L 110.914696 178.69663 " style="fill:#5dff9a;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 107.068615 156.074173 + <path clip-path="url(#pbe138f2136)" d="M 107.068615 156.074173 L 107.068615 132.583496 L 101.153206 126.916473 L 101.153206 150.407149 L 107.068615 156.074173 " style="fill:#3cffba;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 107.068615 132.583496 + <path clip-path="url(#pbe138f2136)" d="M 107.068615 132.583496 L 110.914696 109.961038 L 104.999286 104.294015 L 101.153206 126.916473 L 107.068615 132.583496 " style="fill:#3cffba;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 110.914696 109.961038 + <path clip-path="url(#pbe138f2136)" d="M 110.914696 109.961038 L 118.322554 89.879057 L 112.407144 84.212034 L 104.999286 104.294015 L 110.914696 109.961038 " style="fill:#5dff9a;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 118.322554 89.879057 + <path clip-path="url(#pbe138f2136)" d="M 118.322554 89.879057 L 128.744598 73.822019 L 122.829188 68.154995 L 112.407144 84.212034 L 118.322554 89.879057 " style="fill:#94ff63;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 128.744598 73.822019 + <path clip-path="url(#pbe138f2136)" d="M 128.744598 73.822019 L 141.410428 62.976863 L 135.495019 57.30984 L 122.829188 68.154995 L 128.744598 73.822019 " style="fill:#dbff1c;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 141.410428 62.976863 + <path clip-path="url(#pbe138f2136)" d="M 141.410428 62.976863 L 155.383783 58.145268 L 149.468374 52.478244 L 135.495019 57.30984 L 141.410428 62.976863 " style="fill:#ffb200;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 149.468374 224.845378 + <path clip-path="url(#pbe138f2136)" d="M 149.468374 224.845378 L 135.495019 220.013782 L 129.181827 215.660667 L 143.155182 220.492262 L 149.468374 224.845378 " style="fill:#ff2500;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 135.495019 220.013782 + <path clip-path="url(#pbe138f2136)" d="M 135.495019 220.013782 L 122.829188 209.168626 L 116.515997 204.815511 L 129.181827 215.660667 L 135.495019 220.013782 " style="fill:#ff8900;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 122.829188 209.168626 + <path clip-path="url(#pbe138f2136)" d="M 122.829188 209.168626 L 112.407144 193.111588 L 106.093953 188.758472 L 116.515997 204.815511 L 122.829188 209.168626 " style="fill:#ffe600;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 112.407144 193.111588 + <path clip-path="url(#pbe138f2136)" d="M 112.407144 193.111588 L 104.999286 173.029607 L 98.686095 168.676491 L 106.093953 188.758472 L 112.407144 193.111588 " style="fill:#c1ff36;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 104.999286 173.029607 + <path clip-path="url(#pbe138f2136)" d="M 104.999286 173.029607 L 101.153206 150.407149 L 94.840014 146.054034 L 98.686095 168.676491 L 104.999286 173.029607 " style="fill:#8dff6a;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 101.153206 150.407149 + <path clip-path="url(#pbe138f2136)" d="M 101.153206 150.407149 L 101.153206 126.916473 L 94.840014 122.563357 L 94.840014 146.054034 L 101.153206 150.407149 " style="fill:#73ff83;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 101.153206 126.916473 + <path clip-path="url(#pbe138f2136)" d="M 101.153206 126.916473 L 104.999286 104.294015 L 98.686095 99.940899 L 94.840014 122.563357 L 101.153206 126.916473 " style="fill:#73ff83;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 104.999286 104.294015 + <path clip-path="url(#pbe138f2136)" d="M 104.999286 104.294015 L 112.407144 84.212034 L 106.093953 79.858918 L 98.686095 99.940899 L 104.999286 104.294015 " style="fill:#8dff6a;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 112.407144 84.212034 + <path clip-path="url(#pbe138f2136)" d="M 112.407144 84.212034 L 122.829188 68.154995 L 116.515997 63.80188 L 106.093953 79.858918 L 112.407144 84.212034 " style="fill:#c1ff36;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 122.829188 68.154995 + <path clip-path="url(#pbe138f2136)" d="M 122.829188 68.154995 L 135.495019 57.30984 L 129.181827 52.956724 L 116.515997 63.80188 L 122.829188 68.154995 " style="fill:#ffe600;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 135.495019 57.30984 + <path clip-path="url(#pbe138f2136)" d="M 135.495019 57.30984 L 149.468374 52.478244 L 143.155182 48.125129 L 129.181827 52.956724 L 135.495019 57.30984 " style="fill:#ff8900;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 143.155182 220.492262 + <path clip-path="url(#pbe138f2136)" d="M 143.155182 220.492262 L 129.181827 215.660667 L 122.57811 212.695415 L 136.551464 217.527011 L 143.155182 220.492262 " style="fill:#e40000;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 129.181827 215.660667 + <path clip-path="url(#pbe138f2136)" d="M 129.181827 215.660667 L 116.515997 204.815511 L 109.912279 201.850259 L 122.57811 212.695415 L 129.181827 215.660667 " style="fill:#ff6000;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 116.515997 204.815511 + <path clip-path="url(#pbe138f2136)" d="M 116.515997 204.815511 L 106.093953 188.758472 L 99.490235 185.793221 L 109.912279 201.850259 L 116.515997 204.815511 " style="fill:#ffb600;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 106.093953 188.758472 + <path clip-path="url(#pbe138f2136)" d="M 106.093953 188.758472 L 98.686095 168.676491 L 92.082377 165.71124 L 99.490235 185.793221 L 106.093953 188.758472 " style="fill:#f1fc06;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 98.686095 168.676491 + <path clip-path="url(#pbe138f2136)" d="M 98.686095 168.676491 L 94.840014 146.054034 L 88.236296 143.088782 L 92.082377 165.71124 L 98.686095 168.676491 " style="fill:#c1ff36;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 94.840014 146.054034 + <path clip-path="url(#pbe138f2136)" d="M 94.840014 146.054034 L 94.840014 122.563357 L 88.236296 119.598106 L 88.236296 143.088782 L 94.840014 146.054034 " style="fill:#aaff4d;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 94.840014 122.563357 + <path clip-path="url(#pbe138f2136)" d="M 94.840014 122.563357 L 98.686095 99.940899 L 92.082377 96.975648 L 88.236296 119.598106 L 94.840014 122.563357 " style="fill:#aaff4d;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 98.686095 99.940899 + <path clip-path="url(#pbe138f2136)" d="M 98.686095 99.940899 L 106.093953 79.858918 L 99.490235 76.893667 L 92.082377 96.975648 L 98.686095 99.940899 " style="fill:#c1ff36;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 106.093953 79.858918 + <path clip-path="url(#pbe138f2136)" d="M 106.093953 79.858918 L 116.515997 63.80188 L 109.912279 60.836628 L 99.490235 76.893667 L 106.093953 79.858918 " style="fill:#f1fc06;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 116.515997 63.80188 + <path clip-path="url(#pbe138f2136)" d="M 116.515997 63.80188 L 129.181827 52.956724 L 122.57811 49.991473 L 109.912279 60.836628 L 116.515997 63.80188 " style="fill:#ffb600;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 129.181827 52.956724 + <path clip-path="url(#pbe138f2136)" d="M 129.181827 52.956724 L 143.155182 48.125129 L 136.551464 45.159877 L 122.57811 49.991473 L 129.181827 52.956724 " style="fill:#ff6000;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 136.551464 217.527011 + <path clip-path="url(#pbe138f2136)" d="M 136.551464 217.527011 L 122.57811 212.695415 L 115.796057 211.168404 L 129.769412 216 L 136.551464 217.527011 " style="fill:#b20000;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 122.57811 212.695415 + <path clip-path="url(#pbe138f2136)" d="M 122.57811 212.695415 L 109.912279 201.850259 L 103.130227 200.323249 L 115.796057 211.168404 L 122.57811 212.695415 " style="fill:#ff3000;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 109.912279 201.850259 + <path clip-path="url(#pbe138f2136)" d="M 109.912279 201.850259 L 99.490235 185.793221 L 92.708182 184.26621 L 103.130227 200.323249 L 109.912279 201.850259 " style="fill:#ff8200;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 99.490235 185.793221 + <path clip-path="url(#pbe138f2136)" d="M 99.490235 185.793221 L 92.082377 165.71124 L 85.300324 164.184229 L 92.708182 184.26621 L 99.490235 185.793221 " style="fill:#ffc400;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 92.082377 165.71124 + <path clip-path="url(#pbe138f2136)" d="M 92.082377 165.71124 L 88.236296 143.088782 L 81.454244 141.561771 L 85.300324 164.184229 L 92.082377 165.71124 " style="fill:#f8f500;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 88.236296 143.088782 + <path clip-path="url(#pbe138f2136)" d="M 88.236296 143.088782 L 88.236296 119.598106 L 81.454244 118.071095 L 81.454244 141.561771 L 88.236296 143.088782 " style="fill:#e1ff16;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 88.236296 119.598106 + <path clip-path="url(#pbe138f2136)" d="M 88.236296 119.598106 L 92.082377 96.975648 L 85.300324 95.448637 L 81.454244 118.071095 L 88.236296 119.598106 " style="fill:#e1ff16;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 92.082377 96.975648 + <path clip-path="url(#pbe138f2136)" d="M 92.082377 96.975648 L 99.490235 76.893667 L 92.708182 75.366656 L 85.300324 95.448637 L 92.082377 96.975648 " style="fill:#f8f500;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 99.490235 76.893667 + <path clip-path="url(#pbe138f2136)" d="M 99.490235 76.893667 L 109.912279 60.836628 L 103.130227 59.309618 L 92.708182 75.366656 L 99.490235 76.893667 " style="fill:#ffc400;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 109.912279 60.836628 + <path clip-path="url(#pbe138f2136)" d="M 109.912279 60.836628 L 122.57811 49.991473 L 115.796057 48.464462 L 103.130227 59.309618 L 109.912279 60.836628 " style="fill:#ff8200;stroke:#000000;stroke-width:0.5;"/> - <path clip-path="url(#p5e7a54fa6f)" d="M 122.57811 49.991473 + <path clip-path="url(#pbe138f2136)" d="M 122.57811 49.991473 L 136.551464 45.159877 L 129.769412 43.632866 L 115.796057 48.464462 @@ -1781,1519 +1781,1519 @@ z " style="fill:#ffffff;"/> </g> <g id="QuadMesh_2"> - <path clip-path="url(#p5f11f07486)" d="M 287.322353 388.367134 + <path clip-path="url(#p7bc635573d)" d="M 287.322353 388.367134 L 273.348998 383.535538 L 280.131051 382.008527 L 294.104406 386.840123 L 287.322353 388.367134 " style="fill:#800000;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 273.348998 383.535538 + <path clip-path="url(#p7bc635573d)" d="M 273.348998 383.535538 L 260.683168 372.690382 L 267.46522 371.163372 L 280.131051 382.008527 L 273.348998 383.535538 " style="fill:#e80000;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 260.683168 372.690382 + <path clip-path="url(#p7bc635573d)" d="M 260.683168 372.690382 L 250.261124 356.633344 L 257.043176 355.106333 L 267.46522 371.163372 L 260.683168 372.690382 " style="fill:#ff4e00;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 250.261124 356.633344 + <path clip-path="url(#p7bc635573d)" d="M 250.261124 356.633344 L 242.853266 336.551363 L 249.635318 335.024352 L 257.043176 355.106333 L 250.261124 356.633344 " style="fill:#ff8d00;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 242.853266 336.551363 + <path clip-path="url(#p7bc635573d)" d="M 242.853266 336.551363 L 239.007185 313.928905 L 245.789238 312.401894 L 249.635318 335.024352 L 242.853266 336.551363 " style="fill:#ffb900;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 239.007185 313.928905 + <path clip-path="url(#p7bc635573d)" d="M 239.007185 313.928905 L 239.007185 290.438229 L 245.789238 288.911218 L 245.789238 312.401894 L 239.007185 313.928905 " style="fill:#ffd000;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 239.007185 290.438229 + <path clip-path="url(#p7bc635573d)" d="M 239.007185 290.438229 L 242.853266 267.815771 L 249.635318 266.28876 L 245.789238 288.911218 L 239.007185 290.438229 " style="fill:#ffd000;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 242.853266 267.815771 + <path clip-path="url(#p7bc635573d)" d="M 242.853266 267.815771 L 250.261124 247.73379 L 257.043176 246.206779 L 249.635318 266.28876 L 242.853266 267.815771 " style="fill:#ffb900;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 250.261124 247.73379 + <path clip-path="url(#p7bc635573d)" d="M 250.261124 247.73379 L 260.683168 231.676751 L 267.46522 230.149741 L 257.043176 246.206779 L 250.261124 247.73379 " style="fill:#ff8d00;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 260.683168 231.676751 + <path clip-path="url(#p7bc635573d)" d="M 260.683168 231.676751 L 273.348998 220.831596 L 280.131051 219.304585 L 267.46522 230.149741 L 260.683168 231.676751 " style="fill:#ff4e00;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 273.348998 220.831596 + <path clip-path="url(#p7bc635573d)" d="M 273.348998 220.831596 L 287.322353 216 L 294.104406 214.472989 L 280.131051 219.304585 L 273.348998 220.831596 " style="fill:#e80000;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 294.104406 386.840123 + <path clip-path="url(#p7bc635573d)" d="M 294.104406 386.840123 L 280.131051 382.008527 L 286.734769 379.043276 L 300.708123 383.874871 L 294.104406 386.840123 " style="fill:#b20000;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 280.131051 382.008527 + <path clip-path="url(#p7bc635573d)" d="M 280.131051 382.008527 L 267.46522 371.163372 L 274.068938 368.19812 L 286.734769 379.043276 L 280.131051 382.008527 " style="fill:#ff3000;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 267.46522 371.163372 + <path clip-path="url(#p7bc635573d)" d="M 267.46522 371.163372 L 257.043176 355.106333 L 263.646894 352.141082 L 274.068938 368.19812 L 267.46522 371.163372 " style="fill:#ff8200;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 257.043176 355.106333 + <path clip-path="url(#p7bc635573d)" d="M 257.043176 355.106333 L 249.635318 335.024352 L 256.239036 332.059101 L 263.646894 352.141082 L 257.043176 355.106333 " style="fill:#ffc400;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 249.635318 335.024352 + <path clip-path="url(#p7bc635573d)" d="M 249.635318 335.024352 L 245.789238 312.401894 L 252.392955 309.436643 L 256.239036 332.059101 L 249.635318 335.024352 " style="fill:#f8f500;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 245.789238 312.401894 + <path clip-path="url(#p7bc635573d)" d="M 245.789238 312.401894 L 245.789238 288.911218 L 252.392955 285.945966 L 252.392955 309.436643 L 245.789238 312.401894 " style="fill:#e1ff16;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 245.789238 288.911218 + <path clip-path="url(#p7bc635573d)" d="M 245.789238 288.911218 L 249.635318 266.28876 L 256.239036 263.323509 L 252.392955 285.945966 L 245.789238 288.911218 " style="fill:#e1ff16;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 249.635318 266.28876 + <path clip-path="url(#p7bc635573d)" d="M 249.635318 266.28876 L 257.043176 246.206779 L 263.646894 243.241528 L 256.239036 263.323509 L 249.635318 266.28876 " style="fill:#f8f500;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 257.043176 246.206779 + <path clip-path="url(#p7bc635573d)" d="M 257.043176 246.206779 L 267.46522 230.149741 L 274.068938 227.184489 L 263.646894 243.241528 L 257.043176 246.206779 " style="fill:#ffc400;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 267.46522 230.149741 + <path clip-path="url(#p7bc635573d)" d="M 267.46522 230.149741 L 280.131051 219.304585 L 286.734769 216.339333 L 274.068938 227.184489 L 267.46522 230.149741 " style="fill:#ff8200;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 280.131051 219.304585 + <path clip-path="url(#p7bc635573d)" d="M 280.131051 219.304585 L 294.104406 214.472989 L 300.708123 211.507738 L 286.734769 216.339333 L 280.131051 219.304585 " style="fill:#ff3000;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 300.708123 383.874871 + <path clip-path="url(#p7bc635573d)" d="M 300.708123 383.874871 L 286.734769 379.043276 L 293.04796 374.69016 L 307.021315 379.521756 L 300.708123 383.874871 " style="fill:#e40000;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 286.734769 379.043276 + <path clip-path="url(#p7bc635573d)" d="M 286.734769 379.043276 L 274.068938 368.19812 L 280.38213 363.845005 L 293.04796 374.69016 L 286.734769 379.043276 " style="fill:#ff6000;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 274.068938 368.19812 + <path clip-path="url(#p7bc635573d)" d="M 274.068938 368.19812 L 263.646894 352.141082 L 269.960085 347.787966 L 280.38213 363.845005 L 274.068938 368.19812 " style="fill:#ffb600;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 263.646894 352.141082 + <path clip-path="url(#p7bc635573d)" d="M 263.646894 352.141082 L 256.239036 332.059101 L 262.552227 327.705985 L 269.960085 347.787966 L 263.646894 352.141082 " style="fill:#f1fc06;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 256.239036 332.059101 + <path clip-path="url(#p7bc635573d)" d="M 256.239036 332.059101 L 252.392955 309.436643 L 258.706147 305.083527 L 262.552227 327.705985 L 256.239036 332.059101 " style="fill:#c1ff36;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 252.392955 309.436643 + <path clip-path="url(#p7bc635573d)" d="M 252.392955 309.436643 L 252.392955 285.945966 L 258.706147 281.592851 L 258.706147 305.083527 L 252.392955 309.436643 " style="fill:#aaff4d;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 252.392955 285.945966 + <path clip-path="url(#p7bc635573d)" d="M 252.392955 285.945966 L 256.239036 263.323509 L 262.552227 258.970393 L 258.706147 281.592851 L 252.392955 285.945966 " style="fill:#aaff4d;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 256.239036 263.323509 + <path clip-path="url(#p7bc635573d)" d="M 256.239036 263.323509 L 263.646894 243.241528 L 269.960085 238.888412 L 262.552227 258.970393 L 256.239036 263.323509 " style="fill:#c1ff36;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 263.646894 243.241528 + <path clip-path="url(#p7bc635573d)" d="M 263.646894 243.241528 L 274.068938 227.184489 L 280.38213 222.831374 L 269.960085 238.888412 L 263.646894 243.241528 " style="fill:#f1fc06;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 274.068938 227.184489 + <path clip-path="url(#p7bc635573d)" d="M 274.068938 227.184489 L 286.734769 216.339333 L 293.04796 211.986218 L 280.38213 222.831374 L 274.068938 227.184489 " style="fill:#ffb600;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 286.734769 216.339333 + <path clip-path="url(#p7bc635573d)" d="M 286.734769 216.339333 L 300.708123 211.507738 L 307.021315 207.154622 L 293.04796 211.986218 L 286.734769 216.339333 " style="fill:#ff6000;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 307.021315 379.521756 + <path clip-path="url(#p7bc635573d)" d="M 307.021315 379.521756 L 293.04796 374.69016 L 298.96337 369.023137 L 312.936724 373.854732 L 307.021315 379.521756 " style="fill:#ff2500;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 293.04796 374.69016 + <path clip-path="url(#p7bc635573d)" d="M 293.04796 374.69016 L 280.38213 363.845005 L 286.297539 358.177981 L 298.96337 369.023137 L 293.04796 374.69016 " style="fill:#ff8900;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 280.38213 363.845005 + <path clip-path="url(#p7bc635573d)" d="M 280.38213 363.845005 L 269.960085 347.787966 L 275.875495 342.120943 L 286.297539 358.177981 L 280.38213 363.845005 " style="fill:#ffe600;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 269.960085 347.787966 + <path clip-path="url(#p7bc635573d)" d="M 269.960085 347.787966 L 262.552227 327.705985 L 268.467637 322.038962 L 275.875495 342.120943 L 269.960085 347.787966 " style="fill:#c1ff36;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 262.552227 327.705985 + <path clip-path="url(#p7bc635573d)" d="M 262.552227 327.705985 L 258.706147 305.083527 L 264.621556 299.416504 L 268.467637 322.038962 L 262.552227 327.705985 " style="fill:#8dff6a;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 258.706147 305.083527 + <path clip-path="url(#p7bc635573d)" d="M 258.706147 305.083527 L 258.706147 281.592851 L 264.621556 275.925827 L 264.621556 299.416504 L 258.706147 305.083527 " style="fill:#73ff83;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 258.706147 281.592851 + <path clip-path="url(#p7bc635573d)" d="M 258.706147 281.592851 L 262.552227 258.970393 L 268.467637 253.30337 L 264.621556 275.925827 L 258.706147 281.592851 " style="fill:#73ff83;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 262.552227 258.970393 + <path clip-path="url(#p7bc635573d)" d="M 262.552227 258.970393 L 269.960085 238.888412 L 275.875495 233.221389 L 268.467637 253.30337 L 262.552227 258.970393 " style="fill:#8dff6a;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 269.960085 238.888412 + <path clip-path="url(#p7bc635573d)" d="M 269.960085 238.888412 L 280.38213 222.831374 L 286.297539 217.16435 L 275.875495 233.221389 L 269.960085 238.888412 " style="fill:#c1ff36;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 280.38213 222.831374 + <path clip-path="url(#p7bc635573d)" d="M 280.38213 222.831374 L 293.04796 211.986218 L 298.96337 206.319194 L 286.297539 217.16435 L 280.38213 222.831374 " style="fill:#ffe600;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 293.04796 211.986218 + <path clip-path="url(#p7bc635573d)" d="M 293.04796 211.986218 L 307.021315 207.154622 L 312.936724 201.487599 L 298.96337 206.319194 L 293.04796 211.986218 " style="fill:#ff8900;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 312.936724 373.854732 + <path clip-path="url(#p7bc635573d)" d="M 312.936724 373.854732 L 298.96337 369.023137 L 304.3805 362.138483 L 318.353854 366.970079 L 312.936724 373.854732 " style="fill:#ff4700;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 298.96337 369.023137 + <path clip-path="url(#p7bc635573d)" d="M 298.96337 369.023137 L 286.297539 358.177981 L 291.714669 351.293327 L 304.3805 362.138483 L 298.96337 369.023137 " style="fill:#ffb200;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 286.297539 358.177981 + <path clip-path="url(#p7bc635573d)" d="M 286.297539 358.177981 L 275.875495 342.120943 L 281.292625 335.236289 L 291.714669 351.293327 L 286.297539 358.177981 " style="fill:#dbff1c;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 275.875495 342.120943 + <path clip-path="url(#p7bc635573d)" d="M 275.875495 342.120943 L 268.467637 322.038962 L 273.884767 315.154308 L 281.292625 335.236289 L 275.875495 342.120943 " style="fill:#94ff63;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 268.467637 322.038962 + <path clip-path="url(#p7bc635573d)" d="M 268.467637 322.038962 L 264.621556 299.416504 L 270.038686 292.53185 L 273.884767 315.154308 L 268.467637 322.038962 " style="fill:#5dff9a;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 264.621556 299.416504 + <path clip-path="url(#p7bc635573d)" d="M 264.621556 299.416504 L 264.621556 275.925827 L 270.038686 269.041173 L 270.038686 292.53185 L 264.621556 299.416504 " style="fill:#3cffba;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 264.621556 275.925827 + <path clip-path="url(#p7bc635573d)" d="M 264.621556 275.925827 L 268.467637 253.30337 L 273.884767 246.418716 L 270.038686 269.041173 L 264.621556 275.925827 " style="fill:#3cffba;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 268.467637 253.30337 + <path clip-path="url(#p7bc635573d)" d="M 268.467637 253.30337 L 275.875495 233.221389 L 281.292625 226.336735 L 273.884767 246.418716 L 268.467637 253.30337 " style="fill:#5dff9a;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 275.875495 233.221389 + <path clip-path="url(#p7bc635573d)" d="M 275.875495 233.221389 L 286.297539 217.16435 L 291.714669 210.279696 L 281.292625 226.336735 L 275.875495 233.221389 " style="fill:#94ff63;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 286.297539 217.16435 + <path clip-path="url(#p7bc635573d)" d="M 286.297539 217.16435 L 298.96337 206.319194 L 304.3805 199.43454 L 291.714669 210.279696 L 286.297539 217.16435 " style="fill:#dbff1c;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 298.96337 206.319194 + <path clip-path="url(#p7bc635573d)" d="M 298.96337 206.319194 L 312.936724 201.487599 L 318.353854 194.602945 L 304.3805 199.43454 L 298.96337 206.319194 " style="fill:#ffb200;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 318.353854 366.970079 + <path clip-path="url(#p7bc635573d)" d="M 318.353854 366.970079 L 304.3805 362.138483 L 309.207318 354.153163 L 323.180672 358.984758 L 318.353854 366.970079 " style="fill:#ff6800;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 304.3805 362.138483 + <path clip-path="url(#p7bc635573d)" d="M 304.3805 362.138483 L 291.714669 351.293327 L 296.541487 343.308007 L 309.207318 354.153163 L 304.3805 362.138483 " style="fill:#ffd700;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 291.714669 351.293327 + <path clip-path="url(#p7bc635573d)" d="M 291.714669 351.293327 L 281.292625 335.236289 L 286.119443 327.250969 L 296.541487 343.308007 L 291.714669 351.293327 " style="fill:#b7ff40;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 281.292625 335.236289 + <path clip-path="url(#p7bc635573d)" d="M 281.292625 335.236289 L 273.884767 315.154308 L 278.711585 307.168988 L 286.119443 327.250969 L 281.292625 335.236289 " style="fill:#66ff90;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 273.884767 315.154308 + <path clip-path="url(#p7bc635573d)" d="M 273.884767 315.154308 L 270.038686 292.53185 L 274.865504 284.54653 L 278.711585 307.168988 L 273.884767 315.154308 " style="fill:#29ffce;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 270.038686 292.53185 + <path clip-path="url(#p7bc635573d)" d="M 270.038686 292.53185 L 270.038686 269.041173 L 274.865504 261.055853 L 274.865504 284.54653 L 270.038686 292.53185 " style="fill:#06ecf1;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 270.038686 269.041173 + <path clip-path="url(#p7bc635573d)" d="M 270.038686 269.041173 L 273.884767 246.418716 L 278.711585 238.433395 L 274.865504 261.055853 L 270.038686 269.041173 " style="fill:#06ecf1;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 273.884767 246.418716 + <path clip-path="url(#p7bc635573d)" d="M 273.884767 246.418716 L 281.292625 226.336735 L 286.119443 218.351415 L 278.711585 238.433395 L 273.884767 246.418716 " style="fill:#29ffce;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 281.292625 226.336735 + <path clip-path="url(#p7bc635573d)" d="M 281.292625 226.336735 L 291.714669 210.279696 L 296.541487 202.294376 L 286.119443 218.351415 L 281.292625 226.336735 " style="fill:#66ff90;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 291.714669 210.279696 + <path clip-path="url(#p7bc635573d)" d="M 291.714669 210.279696 L 304.3805 199.43454 L 309.207318 191.44922 L 296.541487 202.294376 L 291.714669 210.279696 " style="fill:#b7ff40;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 304.3805 199.43454 + <path clip-path="url(#p7bc635573d)" d="M 304.3805 199.43454 L 318.353854 194.602945 L 323.180672 186.617625 L 309.207318 191.44922 L 304.3805 199.43454 " style="fill:#ffd700;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 323.180672 358.984758 + <path clip-path="url(#p7bc635573d)" d="M 323.180672 358.984758 L 309.207318 354.153163 L 313.361821 345.20284 L 327.335175 350.034436 L 323.180672 358.984758 " style="fill:#ff8600;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 309.207318 354.153163 + <path clip-path="url(#p7bc635573d)" d="M 309.207318 354.153163 L 296.541487 343.308007 L 300.69599 334.357684 L 313.361821 345.20284 L 309.207318 354.153163 " style="fill:#f4f802;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 296.541487 343.308007 + <path clip-path="url(#p7bc635573d)" d="M 296.541487 343.308007 L 286.119443 327.250969 L 290.273946 318.300646 L 300.69599 334.357684 L 296.541487 343.308007 " style="fill:#94ff63;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 286.119443 327.250969 + <path clip-path="url(#p7bc635573d)" d="M 286.119443 327.250969 L 278.711585 307.168988 L 282.866088 298.218665 L 290.273946 318.300646 L 286.119443 327.250969 " style="fill:#3cffba;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 278.711585 307.168988 + <path clip-path="url(#p7bc635573d)" d="M 278.711585 307.168988 L 274.865504 284.54653 L 279.020007 275.596207 L 282.866088 298.218665 L 278.711585 307.168988 " style="fill:#00dcfe;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 274.865504 284.54653 + <path clip-path="url(#p7bc635573d)" d="M 274.865504 284.54653 L 274.865504 261.055853 L 279.020007 252.105531 L 279.020007 275.596207 L 274.865504 284.54653 " style="fill:#00acff;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 274.865504 261.055853 + <path clip-path="url(#p7bc635573d)" d="M 274.865504 261.055853 L 278.711585 238.433395 L 282.866088 229.483073 L 279.020007 252.105531 L 274.865504 261.055853 " style="fill:#00acff;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 278.711585 238.433395 + <path clip-path="url(#p7bc635573d)" d="M 278.711585 238.433395 L 286.119443 218.351415 L 290.273946 209.401092 L 282.866088 229.483073 L 278.711585 238.433395 " style="fill:#00dcfe;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 286.119443 218.351415 + <path clip-path="url(#p7bc635573d)" d="M 286.119443 218.351415 L 296.541487 202.294376 L 300.69599 193.344053 L 290.273946 209.401092 L 286.119443 218.351415 " style="fill:#3cffba;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 296.541487 202.294376 + <path clip-path="url(#p7bc635573d)" d="M 296.541487 202.294376 L 309.207318 191.44922 L 313.361821 182.498898 L 300.69599 193.344053 L 296.541487 202.294376 " style="fill:#94ff63;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 309.207318 191.44922 + <path clip-path="url(#p7bc635573d)" d="M 309.207318 191.44922 L 323.180672 186.617625 L 327.335175 177.667302 L 313.361821 182.498898 L 309.207318 191.44922 " style="fill:#f4f802;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 327.335175 350.034436 + <path clip-path="url(#p7bc635573d)" d="M 327.335175 350.034436 L 313.361821 345.20284 L 316.773427 335.439573 L 330.746782 340.271169 L 327.335175 350.034436 " style="fill:#ff9f00;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 313.361821 345.20284 + <path clip-path="url(#p7bc635573d)" d="M 313.361821 345.20284 L 300.69599 334.357684 L 304.107596 324.594417 L 316.773427 335.439573 L 313.361821 345.20284 " style="fill:#dbff1c;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 300.69599 334.357684 + <path clip-path="url(#p7bc635573d)" d="M 300.69599 334.357684 L 290.273946 318.300646 L 293.685552 308.537379 L 304.107596 324.594417 L 300.69599 334.357684 " style="fill:#73ff83;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 290.273946 318.300646 + <path clip-path="url(#p7bc635573d)" d="M 290.273946 318.300646 L 282.866088 298.218665 L 286.277694 288.455398 L 293.685552 308.537379 L 290.273946 318.300646 " style="fill:#19ffde;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 282.866088 298.218665 + <path clip-path="url(#p7bc635573d)" d="M 282.866088 298.218665 L 279.020007 275.596207 L 282.431614 265.83294 L 286.277694 288.455398 L 282.866088 298.218665 " style="fill:#00a4ff;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 279.020007 275.596207 + <path clip-path="url(#p7bc635573d)" d="M 279.020007 275.596207 L 279.020007 252.105531 L 282.431614 242.342263 L 282.431614 265.83294 L 279.020007 275.596207 " style="fill:#0068ff;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 279.020007 252.105531 + <path clip-path="url(#p7bc635573d)" d="M 279.020007 252.105531 L 282.866088 229.483073 L 286.277694 219.719806 L 282.431614 242.342263 L 279.020007 252.105531 " style="fill:#0068ff;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 282.866088 229.483073 + <path clip-path="url(#p7bc635573d)" d="M 282.866088 229.483073 L 290.273946 209.401092 L 293.685552 199.637825 L 286.277694 219.719806 L 282.866088 229.483073 " style="fill:#00a4ff;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 290.273946 209.401092 + <path clip-path="url(#p7bc635573d)" d="M 290.273946 209.401092 L 300.69599 193.344053 L 304.107596 183.580786 L 293.685552 199.637825 L 290.273946 209.401092 " style="fill:#19ffde;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 300.69599 193.344053 + <path clip-path="url(#p7bc635573d)" d="M 300.69599 193.344053 L 313.361821 182.498898 L 316.773427 172.735631 L 304.107596 183.580786 L 300.69599 193.344053 " style="fill:#73ff83;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 313.361821 182.498898 + <path clip-path="url(#p7bc635573d)" d="M 313.361821 182.498898 L 327.335175 177.667302 L 330.746782 167.904035 L 316.773427 172.735631 L 313.361821 182.498898 " style="fill:#dbff1c;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 330.746782 340.271169 + <path clip-path="url(#p7bc635573d)" d="M 330.746782 340.271169 L 316.773427 335.439573 L 319.384176 325.029231 L 333.357531 329.860826 L 330.746782 340.271169 " style="fill:#ffb200;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 316.773427 335.439573 + <path clip-path="url(#p7bc635573d)" d="M 316.773427 335.439573 L 304.107596 324.594417 L 306.718346 314.184075 L 319.384176 325.029231 L 316.773427 335.439573 " style="fill:#c4ff33;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 304.107596 324.594417 + <path clip-path="url(#p7bc635573d)" d="M 304.107596 324.594417 L 293.685552 308.537379 L 296.296302 298.127037 L 306.718346 314.184075 L 304.107596 324.594417 " style="fill:#5aff9d;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 293.685552 308.537379 + <path clip-path="url(#p7bc635573d)" d="M 293.685552 308.537379 L 286.277694 288.455398 L 288.888444 278.045056 L 296.296302 298.127037 L 293.685552 308.537379 " style="fill:#00d8ff;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 286.277694 288.455398 + <path clip-path="url(#p7bc635573d)" d="M 286.277694 288.455398 L 282.431614 265.83294 L 285.042363 255.422598 L 288.888444 278.045056 L 286.277694 288.455398 " style="fill:#0070ff;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 282.431614 265.83294 + <path clip-path="url(#p7bc635573d)" d="M 282.431614 265.83294 L 282.431614 242.342263 L 285.042363 231.931921 L 285.042363 255.422598 L 282.431614 265.83294 " style="fill:#0028ff;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 282.431614 242.342263 + <path clip-path="url(#p7bc635573d)" d="M 282.431614 242.342263 L 286.277694 219.719806 L 288.888444 209.309464 L 285.042363 231.931921 L 282.431614 242.342263 " style="fill:#0028ff;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 286.277694 219.719806 + <path clip-path="url(#p7bc635573d)" d="M 286.277694 219.719806 L 293.685552 199.637825 L 296.296302 189.227483 L 288.888444 209.309464 L 286.277694 219.719806 " style="fill:#0070ff;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 293.685552 199.637825 + <path clip-path="url(#p7bc635573d)" d="M 293.685552 199.637825 L 304.107596 183.580786 L 306.718346 173.170444 L 296.296302 189.227483 L 293.685552 199.637825 " style="fill:#00d8ff;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 304.107596 183.580786 + <path clip-path="url(#p7bc635573d)" d="M 304.107596 183.580786 L 316.773427 172.735631 L 319.384176 162.325288 L 306.718346 173.170444 L 304.107596 183.580786 " style="fill:#5aff9d;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 316.773427 172.735631 + <path clip-path="url(#p7bc635573d)" d="M 316.773427 172.735631 L 330.746782 167.904035 L 333.357531 157.493693 L 319.384176 162.325288 L 316.773427 172.735631 " style="fill:#c4ff33;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 333.357531 329.860826 + <path clip-path="url(#p7bc635573d)" d="M 333.357531 329.860826 L 319.384176 325.029231 L 321.149714 314.148676 L 335.123069 318.980272 L 333.357531 329.860826 " style="fill:#ffc400;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 319.384176 325.029231 + <path clip-path="url(#p7bc635573d)" d="M 319.384176 325.029231 L 306.718346 314.184075 L 308.483884 303.303521 L 321.149714 314.148676 L 319.384176 325.029231 " style="fill:#b4ff43;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 306.718346 314.184075 + <path clip-path="url(#p7bc635573d)" d="M 306.718346 314.184075 L 296.296302 298.127037 L 298.06184 287.246482 L 308.483884 303.303521 L 306.718346 314.184075 " style="fill:#46ffb1;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 296.296302 298.127037 + <path clip-path="url(#p7bc635573d)" d="M 296.296302 298.127037 L 288.888444 278.045056 L 290.653982 267.164501 L 298.06184 287.246482 L 296.296302 298.127037 " style="fill:#00b8ff;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 288.888444 278.045056 + <path clip-path="url(#p7bc635573d)" d="M 288.888444 278.045056 L 285.042363 255.422598 L 286.807901 244.542043 L 290.653982 267.164501 L 288.888444 278.045056 " style="fill:#0040ff;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 285.042363 255.422598 + <path clip-path="url(#p7bc635573d)" d="M 285.042363 255.422598 L 285.042363 231.931921 L 286.807901 221.051367 L 286.807901 244.542043 L 285.042363 255.422598 " style="fill:#0000f6;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 285.042363 231.931921 + <path clip-path="url(#p7bc635573d)" d="M 285.042363 231.931921 L 288.888444 209.309464 L 290.653982 198.428909 L 286.807901 221.051367 L 285.042363 231.931921 " style="fill:#0000f6;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 288.888444 209.309464 + <path clip-path="url(#p7bc635573d)" d="M 288.888444 209.309464 L 296.296302 189.227483 L 298.06184 178.346928 L 290.653982 198.428909 L 288.888444 209.309464 " style="fill:#0040ff;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 296.296302 189.227483 + <path clip-path="url(#p7bc635573d)" d="M 296.296302 189.227483 L 306.718346 173.170444 L 308.483884 162.289889 L 298.06184 178.346928 L 296.296302 189.227483 " style="fill:#00b8ff;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 306.718346 173.170444 + <path clip-path="url(#p7bc635573d)" d="M 306.718346 173.170444 L 319.384176 162.325288 L 321.149714 151.444734 L 308.483884 162.289889 L 306.718346 173.170444 " style="fill:#46ffb1;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 319.384176 162.325288 + <path clip-path="url(#p7bc635573d)" d="M 319.384176 162.325288 L 333.357531 157.493693 L 335.123069 146.613138 L 321.149714 151.444734 L 319.384176 162.325288 " style="fill:#b4ff43;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 335.123069 318.980272 + <path clip-path="url(#p7bc635573d)" d="M 335.123069 318.980272 L 321.149714 314.148676 L 322.040047 302.98276 L 336.013401 307.814356 L 335.123069 318.980272 " style="fill:#ffd000;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 321.149714 314.148676 + <path clip-path="url(#p7bc635573d)" d="M 321.149714 314.148676 L 308.483884 303.303521 L 309.374216 292.137605 L 322.040047 302.98276 L 321.149714 314.148676 " style="fill:#a7ff50;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 308.483884 303.303521 + <path clip-path="url(#p7bc635573d)" d="M 308.483884 303.303521 L 298.06184 287.246482 L 298.952172 276.080566 L 309.374216 292.137605 L 308.483884 303.303521 " style="fill:#36ffc1;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 298.06184 287.246482 + <path clip-path="url(#p7bc635573d)" d="M 298.06184 287.246482 L 290.653982 267.164501 L 291.544314 255.998585 L 298.952172 276.080566 L 298.06184 287.246482 " style="fill:#00a0ff;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 290.653982 267.164501 + <path clip-path="url(#p7bc635573d)" d="M 290.653982 267.164501 L 286.807901 244.542043 L 287.698233 233.376127 L 291.544314 255.998585 L 290.653982 267.164501 " style="fill:#001cff;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 286.807901 244.542043 + <path clip-path="url(#p7bc635573d)" d="M 286.807901 244.542043 L 286.807901 221.051367 L 287.698233 209.885451 L 287.698233 233.376127 L 286.807901 244.542043 " style="fill:#0000b2;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 286.807901 221.051367 + <path clip-path="url(#p7bc635573d)" d="M 286.807901 221.051367 L 290.653982 198.428909 L 291.544314 187.262993 L 287.698233 209.885451 L 286.807901 221.051367 " style="fill:#0000b2;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 290.653982 198.428909 + <path clip-path="url(#p7bc635573d)" d="M 290.653982 198.428909 L 298.06184 178.346928 L 298.952172 167.181012 L 291.544314 187.262993 L 290.653982 198.428909 " style="fill:#001cff;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 298.06184 178.346928 + <path clip-path="url(#p7bc635573d)" d="M 298.06184 178.346928 L 308.483884 162.289889 L 309.374216 151.123973 L 298.952172 167.181012 L 298.06184 178.346928 " style="fill:#00a0ff;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 308.483884 162.289889 + <path clip-path="url(#p7bc635573d)" d="M 308.483884 162.289889 L 321.149714 151.444734 L 322.040047 140.278818 L 309.374216 151.123973 L 308.483884 162.289889 " style="fill:#36ffc1;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 321.149714 151.444734 + <path clip-path="url(#p7bc635573d)" d="M 321.149714 151.444734 L 335.123069 146.613138 L 336.013401 135.447222 L 322.040047 140.278818 L 321.149714 151.444734 " style="fill:#a7ff50;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 336.013401 307.814356 + <path clip-path="url(#p7bc635573d)" d="M 336.013401 307.814356 L 322.040047 302.98276 L 322.040047 291.721182 L 336.013401 296.552778 L 336.013401 307.814356 " style="fill:#ffd300;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 322.040047 302.98276 + <path clip-path="url(#p7bc635573d)" d="M 322.040047 302.98276 L 309.374216 292.137605 L 309.374216 280.876027 L 322.040047 291.721182 L 322.040047 302.98276 " style="fill:#a4ff53;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 309.374216 292.137605 + <path clip-path="url(#p7bc635573d)" d="M 309.374216 292.137605 L 298.952172 276.080566 L 298.952172 264.818988 L 309.374216 280.876027 L 309.374216 292.137605 " style="fill:#30ffc7;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 298.952172 276.080566 + <path clip-path="url(#p7bc635573d)" d="M 298.952172 276.080566 L 291.544314 255.998585 L 291.544314 244.737007 L 298.952172 264.818988 L 298.952172 276.080566 " style="fill:#0094ff;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 291.544314 255.998585 + <path clip-path="url(#p7bc635573d)" d="M 291.544314 255.998585 L 287.698233 233.376127 L 287.698233 222.114549 L 291.544314 244.737007 L 291.544314 255.998585 " style="fill:#0008ff;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 287.698233 233.376127 + <path clip-path="url(#p7bc635573d)" d="M 287.698233 233.376127 L 287.698233 209.885451 L 287.698233 198.623873 L 287.698233 222.114549 L 287.698233 233.376127 " style="fill:#000080;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 287.698233 209.885451 + <path clip-path="url(#p7bc635573d)" d="M 287.698233 209.885451 L 291.544314 187.262993 L 291.544314 176.001415 L 287.698233 198.623873 L 287.698233 209.885451 " style="fill:#000080;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 291.544314 187.262993 + <path clip-path="url(#p7bc635573d)" d="M 291.544314 187.262993 L 298.952172 167.181012 L 298.952172 155.919434 L 291.544314 176.001415 L 291.544314 187.262993 " style="fill:#0008ff;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 298.952172 167.181012 + <path clip-path="url(#p7bc635573d)" d="M 298.952172 167.181012 L 309.374216 151.123973 L 309.374216 139.862395 L 298.952172 155.919434 L 298.952172 167.181012 " style="fill:#0094ff;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 309.374216 151.123973 + <path clip-path="url(#p7bc635573d)" d="M 309.374216 151.123973 L 322.040047 140.278818 L 322.040047 129.01724 L 309.374216 139.862395 L 309.374216 151.123973 " style="fill:#30ffc7;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 322.040047 140.278818 + <path clip-path="url(#p7bc635573d)" d="M 322.040047 140.278818 L 336.013401 135.447222 L 336.013401 124.185644 L 322.040047 129.01724 L 322.040047 140.278818 " style="fill:#a4ff53;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 336.013401 296.552778 + <path clip-path="url(#p7bc635573d)" d="M 336.013401 296.552778 L 322.040047 291.721182 L 321.149714 280.555266 L 335.123069 285.386862 L 336.013401 296.552778 " style="fill:#ffd300;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 322.040047 291.721182 + <path clip-path="url(#p7bc635573d)" d="M 322.040047 291.721182 L 309.374216 280.876027 L 308.483884 269.710111 L 321.149714 280.555266 L 322.040047 291.721182 " style="fill:#a4ff53;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 309.374216 280.876027 + <path clip-path="url(#p7bc635573d)" d="M 309.374216 280.876027 L 298.952172 264.818988 L 298.06184 253.653072 L 308.483884 269.710111 L 309.374216 280.876027 " style="fill:#30ffc7;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 298.952172 264.818988 + <path clip-path="url(#p7bc635573d)" d="M 298.952172 264.818988 L 291.544314 244.737007 L 290.653982 233.571091 L 298.06184 253.653072 L 298.952172 264.818988 " style="fill:#0094ff;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 291.544314 244.737007 + <path clip-path="url(#p7bc635573d)" d="M 291.544314 244.737007 L 287.698233 222.114549 L 286.807901 210.948633 L 290.653982 233.571091 L 291.544314 244.737007 " style="fill:#0008ff;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 287.698233 222.114549 + <path clip-path="url(#p7bc635573d)" d="M 287.698233 222.114549 L 287.698233 198.623873 L 286.807901 187.457957 L 286.807901 210.948633 L 287.698233 222.114549 " style="fill:#000080;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 287.698233 198.623873 + <path clip-path="url(#p7bc635573d)" d="M 287.698233 198.623873 L 291.544314 176.001415 L 290.653982 164.835499 L 286.807901 187.457957 L 287.698233 198.623873 " style="fill:#000080;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 291.544314 176.001415 + <path clip-path="url(#p7bc635573d)" d="M 291.544314 176.001415 L 298.952172 155.919434 L 298.06184 144.753518 L 290.653982 164.835499 L 291.544314 176.001415 " style="fill:#0008ff;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 298.952172 155.919434 + <path clip-path="url(#p7bc635573d)" d="M 298.952172 155.919434 L 309.374216 139.862395 L 308.483884 128.696479 L 298.06184 144.753518 L 298.952172 155.919434 " style="fill:#0094ff;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 309.374216 139.862395 + <path clip-path="url(#p7bc635573d)" d="M 309.374216 139.862395 L 322.040047 129.01724 L 321.149714 117.851324 L 308.483884 128.696479 L 309.374216 139.862395 " style="fill:#30ffc7;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 322.040047 129.01724 + <path clip-path="url(#p7bc635573d)" d="M 322.040047 129.01724 L 336.013401 124.185644 L 335.123069 113.019728 L 321.149714 117.851324 L 322.040047 129.01724 " style="fill:#a4ff53;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 335.123069 285.386862 + <path clip-path="url(#p7bc635573d)" d="M 335.123069 285.386862 L 321.149714 280.555266 L 319.384176 269.674712 L 333.357531 274.506307 L 335.123069 285.386862 " style="fill:#ffd000;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 321.149714 280.555266 + <path clip-path="url(#p7bc635573d)" d="M 321.149714 280.555266 L 308.483884 269.710111 L 306.718346 258.829556 L 319.384176 269.674712 L 321.149714 280.555266 " style="fill:#a7ff50;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 308.483884 269.710111 + <path clip-path="url(#p7bc635573d)" d="M 308.483884 269.710111 L 298.06184 253.653072 L 296.296302 242.772517 L 306.718346 258.829556 L 308.483884 269.710111 " style="fill:#36ffc1;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 298.06184 253.653072 + <path clip-path="url(#p7bc635573d)" d="M 298.06184 253.653072 L 290.653982 233.571091 L 288.888444 222.690536 L 296.296302 242.772517 L 298.06184 253.653072 " style="fill:#00a0ff;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 290.653982 233.571091 + <path clip-path="url(#p7bc635573d)" d="M 290.653982 233.571091 L 286.807901 210.948633 L 285.042363 200.068079 L 288.888444 222.690536 L 290.653982 233.571091 " style="fill:#001cff;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 286.807901 210.948633 + <path clip-path="url(#p7bc635573d)" d="M 286.807901 210.948633 L 286.807901 187.457957 L 285.042363 176.577402 L 285.042363 200.068079 L 286.807901 210.948633 " style="fill:#0000b2;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 286.807901 187.457957 + <path clip-path="url(#p7bc635573d)" d="M 286.807901 187.457957 L 290.653982 164.835499 L 288.888444 153.954944 L 285.042363 176.577402 L 286.807901 187.457957 " style="fill:#0000b2;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 290.653982 164.835499 + <path clip-path="url(#p7bc635573d)" d="M 290.653982 164.835499 L 298.06184 144.753518 L 296.296302 133.872963 L 288.888444 153.954944 L 290.653982 164.835499 " style="fill:#001cff;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 298.06184 144.753518 + <path clip-path="url(#p7bc635573d)" d="M 298.06184 144.753518 L 308.483884 128.696479 L 306.718346 117.815925 L 296.296302 133.872963 L 298.06184 144.753518 " style="fill:#00a0ff;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 308.483884 128.696479 + <path clip-path="url(#p7bc635573d)" d="M 308.483884 128.696479 L 321.149714 117.851324 L 319.384176 106.970769 L 306.718346 117.815925 L 308.483884 128.696479 " style="fill:#36ffc1;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 321.149714 117.851324 + <path clip-path="url(#p7bc635573d)" d="M 321.149714 117.851324 L 335.123069 113.019728 L 333.357531 102.139174 L 319.384176 106.970769 L 321.149714 117.851324 " style="fill:#a7ff50;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 333.357531 274.506307 + <path clip-path="url(#p7bc635573d)" d="M 333.357531 274.506307 L 319.384176 269.674712 L 316.773427 259.264369 L 330.746782 264.095965 L 333.357531 274.506307 " style="fill:#ffc400;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 319.384176 269.674712 + <path clip-path="url(#p7bc635573d)" d="M 319.384176 269.674712 L 306.718346 258.829556 L 304.107596 248.419214 L 316.773427 259.264369 L 319.384176 269.674712 " style="fill:#b4ff43;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 306.718346 258.829556 + <path clip-path="url(#p7bc635573d)" d="M 306.718346 258.829556 L 296.296302 242.772517 L 293.685552 232.362175 L 304.107596 248.419214 L 306.718346 258.829556 " style="fill:#46ffb1;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 296.296302 242.772517 + <path clip-path="url(#p7bc635573d)" d="M 296.296302 242.772517 L 288.888444 222.690536 L 286.277694 212.280194 L 293.685552 232.362175 L 296.296302 242.772517 " style="fill:#00b8ff;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 288.888444 222.690536 + <path clip-path="url(#p7bc635573d)" d="M 288.888444 222.690536 L 285.042363 200.068079 L 282.431614 189.657737 L 286.277694 212.280194 L 288.888444 222.690536 " style="fill:#0040ff;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 285.042363 200.068079 + <path clip-path="url(#p7bc635573d)" d="M 285.042363 200.068079 L 285.042363 176.577402 L 282.431614 166.16706 L 282.431614 189.657737 L 285.042363 200.068079 " style="fill:#0000f6;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 285.042363 176.577402 + <path clip-path="url(#p7bc635573d)" d="M 285.042363 176.577402 L 288.888444 153.954944 L 286.277694 143.544602 L 282.431614 166.16706 L 285.042363 176.577402 " style="fill:#0000f6;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 288.888444 153.954944 + <path clip-path="url(#p7bc635573d)" d="M 288.888444 153.954944 L 296.296302 133.872963 L 293.685552 123.462621 L 286.277694 143.544602 L 288.888444 153.954944 " style="fill:#0040ff;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 296.296302 133.872963 + <path clip-path="url(#p7bc635573d)" d="M 296.296302 133.872963 L 306.718346 117.815925 L 304.107596 107.405583 L 293.685552 123.462621 L 296.296302 133.872963 " style="fill:#00b8ff;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 306.718346 117.815925 + <path clip-path="url(#p7bc635573d)" d="M 306.718346 117.815925 L 319.384176 106.970769 L 316.773427 96.560427 L 304.107596 107.405583 L 306.718346 117.815925 " style="fill:#46ffb1;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 319.384176 106.970769 + <path clip-path="url(#p7bc635573d)" d="M 319.384176 106.970769 L 333.357531 102.139174 L 330.746782 91.728831 L 316.773427 96.560427 L 319.384176 106.970769 " style="fill:#b4ff43;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 330.746782 264.095965 + <path clip-path="url(#p7bc635573d)" d="M 330.746782 264.095965 L 316.773427 259.264369 L 313.361821 249.501102 L 327.335175 254.332698 L 330.746782 264.095965 " style="fill:#ffb200;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 316.773427 259.264369 + <path clip-path="url(#p7bc635573d)" d="M 316.773427 259.264369 L 304.107596 248.419214 L 300.69599 238.655947 L 313.361821 249.501102 L 316.773427 259.264369 " style="fill:#c4ff33;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 304.107596 248.419214 + <path clip-path="url(#p7bc635573d)" d="M 304.107596 248.419214 L 293.685552 232.362175 L 290.273946 222.598908 L 300.69599 238.655947 L 304.107596 248.419214 " style="fill:#5aff9d;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 293.685552 232.362175 + <path clip-path="url(#p7bc635573d)" d="M 293.685552 232.362175 L 286.277694 212.280194 L 282.866088 202.516927 L 290.273946 222.598908 L 293.685552 232.362175 " style="fill:#00d8ff;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 286.277694 212.280194 + <path clip-path="url(#p7bc635573d)" d="M 286.277694 212.280194 L 282.431614 189.657737 L 279.020007 179.894469 L 282.866088 202.516927 L 286.277694 212.280194 " style="fill:#0070ff;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 282.431614 189.657737 + <path clip-path="url(#p7bc635573d)" d="M 282.431614 189.657737 L 282.431614 166.16706 L 279.020007 156.403793 L 279.020007 179.894469 L 282.431614 189.657737 " style="fill:#0028ff;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 282.431614 166.16706 + <path clip-path="url(#p7bc635573d)" d="M 282.431614 166.16706 L 286.277694 143.544602 L 282.866088 133.781335 L 279.020007 156.403793 L 282.431614 166.16706 " style="fill:#0028ff;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 286.277694 143.544602 + <path clip-path="url(#p7bc635573d)" d="M 286.277694 143.544602 L 293.685552 123.462621 L 290.273946 113.699354 L 282.866088 133.781335 L 286.277694 143.544602 " style="fill:#0070ff;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 293.685552 123.462621 + <path clip-path="url(#p7bc635573d)" d="M 293.685552 123.462621 L 304.107596 107.405583 L 300.69599 97.642316 L 290.273946 113.699354 L 293.685552 123.462621 " style="fill:#00d8ff;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 304.107596 107.405583 + <path clip-path="url(#p7bc635573d)" d="M 304.107596 107.405583 L 316.773427 96.560427 L 313.361821 86.79716 L 300.69599 97.642316 L 304.107596 107.405583 " style="fill:#5aff9d;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 316.773427 96.560427 + <path clip-path="url(#p7bc635573d)" d="M 316.773427 96.560427 L 330.746782 91.728831 L 327.335175 81.965564 L 313.361821 86.79716 L 316.773427 96.560427 " style="fill:#c4ff33;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 327.335175 254.332698 + <path clip-path="url(#p7bc635573d)" d="M 327.335175 254.332698 L 313.361821 249.501102 L 309.207318 240.55078 L 323.180672 245.382375 L 327.335175 254.332698 " style="fill:#ff9f00;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 313.361821 249.501102 + <path clip-path="url(#p7bc635573d)" d="M 313.361821 249.501102 L 300.69599 238.655947 L 296.541487 229.705624 L 309.207318 240.55078 L 313.361821 249.501102 " style="fill:#dbff1c;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 300.69599 238.655947 + <path clip-path="url(#p7bc635573d)" d="M 300.69599 238.655947 L 290.273946 222.598908 L 286.119443 213.648585 L 296.541487 229.705624 L 300.69599 238.655947 " style="fill:#73ff83;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 290.273946 222.598908 + <path clip-path="url(#p7bc635573d)" d="M 290.273946 222.598908 L 282.866088 202.516927 L 278.711585 193.566605 L 286.119443 213.648585 L 290.273946 222.598908 " style="fill:#19ffde;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 282.866088 202.516927 + <path clip-path="url(#p7bc635573d)" d="M 282.866088 202.516927 L 279.020007 179.894469 L 274.865504 170.944147 L 278.711585 193.566605 L 282.866088 202.516927 " style="fill:#00a4ff;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 279.020007 179.894469 + <path clip-path="url(#p7bc635573d)" d="M 279.020007 179.894469 L 279.020007 156.403793 L 274.865504 147.45347 L 274.865504 170.944147 L 279.020007 179.894469 " style="fill:#0068ff;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 279.020007 156.403793 + <path clip-path="url(#p7bc635573d)" d="M 279.020007 156.403793 L 282.866088 133.781335 L 278.711585 124.831012 L 274.865504 147.45347 L 279.020007 156.403793 " style="fill:#0068ff;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 282.866088 133.781335 + <path clip-path="url(#p7bc635573d)" d="M 282.866088 133.781335 L 290.273946 113.699354 L 286.119443 104.749031 L 278.711585 124.831012 L 282.866088 133.781335 " style="fill:#00a4ff;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 290.273946 113.699354 + <path clip-path="url(#p7bc635573d)" d="M 290.273946 113.699354 L 300.69599 97.642316 L 296.541487 88.691993 L 286.119443 104.749031 L 290.273946 113.699354 " style="fill:#19ffde;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 300.69599 97.642316 + <path clip-path="url(#p7bc635573d)" d="M 300.69599 97.642316 L 313.361821 86.79716 L 309.207318 77.846837 L 296.541487 88.691993 L 300.69599 97.642316 " style="fill:#73ff83;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 313.361821 86.79716 + <path clip-path="url(#p7bc635573d)" d="M 313.361821 86.79716 L 327.335175 81.965564 L 323.180672 73.015242 L 309.207318 77.846837 L 313.361821 86.79716 " style="fill:#dbff1c;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 323.180672 245.382375 + <path clip-path="url(#p7bc635573d)" d="M 323.180672 245.382375 L 309.207318 240.55078 L 304.3805 232.56546 L 318.353854 237.397055 L 323.180672 245.382375 " style="fill:#ff8600;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 309.207318 240.55078 + <path clip-path="url(#p7bc635573d)" d="M 309.207318 240.55078 L 296.541487 229.705624 L 291.714669 221.720304 L 304.3805 232.56546 L 309.207318 240.55078 " style="fill:#f4f802;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 296.541487 229.705624 + <path clip-path="url(#p7bc635573d)" d="M 296.541487 229.705624 L 286.119443 213.648585 L 281.292625 205.663265 L 291.714669 221.720304 L 296.541487 229.705624 " style="fill:#94ff63;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 286.119443 213.648585 + <path clip-path="url(#p7bc635573d)" d="M 286.119443 213.648585 L 278.711585 193.566605 L 273.884767 185.581284 L 281.292625 205.663265 L 286.119443 213.648585 " style="fill:#3cffba;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 278.711585 193.566605 + <path clip-path="url(#p7bc635573d)" d="M 278.711585 193.566605 L 274.865504 170.944147 L 270.038686 162.958827 L 273.884767 185.581284 L 278.711585 193.566605 " style="fill:#00dcfe;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 274.865504 170.944147 + <path clip-path="url(#p7bc635573d)" d="M 274.865504 170.944147 L 274.865504 147.45347 L 270.038686 139.46815 L 270.038686 162.958827 L 274.865504 170.944147 " style="fill:#00acff;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 274.865504 147.45347 + <path clip-path="url(#p7bc635573d)" d="M 274.865504 147.45347 L 278.711585 124.831012 L 273.884767 116.845692 L 270.038686 139.46815 L 274.865504 147.45347 " style="fill:#00acff;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 278.711585 124.831012 + <path clip-path="url(#p7bc635573d)" d="M 278.711585 124.831012 L 286.119443 104.749031 L 281.292625 96.763711 L 273.884767 116.845692 L 278.711585 124.831012 " style="fill:#00dcfe;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 286.119443 104.749031 + <path clip-path="url(#p7bc635573d)" d="M 286.119443 104.749031 L 296.541487 88.691993 L 291.714669 80.706673 L 281.292625 96.763711 L 286.119443 104.749031 " style="fill:#3cffba;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 296.541487 88.691993 + <path clip-path="url(#p7bc635573d)" d="M 296.541487 88.691993 L 309.207318 77.846837 L 304.3805 69.861517 L 291.714669 80.706673 L 296.541487 88.691993 " style="fill:#94ff63;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 309.207318 77.846837 + <path clip-path="url(#p7bc635573d)" d="M 309.207318 77.846837 L 323.180672 73.015242 L 318.353854 65.029921 L 304.3805 69.861517 L 309.207318 77.846837 " style="fill:#f4f802;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 318.353854 237.397055 + <path clip-path="url(#p7bc635573d)" d="M 318.353854 237.397055 L 304.3805 232.56546 L 298.96337 225.680806 L 312.936724 230.512401 L 318.353854 237.397055 " style="fill:#ff6800;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 304.3805 232.56546 + <path clip-path="url(#p7bc635573d)" d="M 304.3805 232.56546 L 291.714669 221.720304 L 286.297539 214.83565 L 298.96337 225.680806 L 304.3805 232.56546 " style="fill:#ffd700;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 291.714669 221.720304 + <path clip-path="url(#p7bc635573d)" d="M 291.714669 221.720304 L 281.292625 205.663265 L 275.875495 198.778611 L 286.297539 214.83565 L 291.714669 221.720304 " style="fill:#b7ff40;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 281.292625 205.663265 + <path clip-path="url(#p7bc635573d)" d="M 281.292625 205.663265 L 273.884767 185.581284 L 268.467637 178.69663 L 275.875495 198.778611 L 281.292625 205.663265 " style="fill:#66ff90;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 273.884767 185.581284 + <path clip-path="url(#p7bc635573d)" d="M 273.884767 185.581284 L 270.038686 162.958827 L 264.621556 156.074173 L 268.467637 178.69663 L 273.884767 185.581284 " style="fill:#29ffce;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 270.038686 162.958827 + <path clip-path="url(#p7bc635573d)" d="M 270.038686 162.958827 L 270.038686 139.46815 L 264.621556 132.583496 L 264.621556 156.074173 L 270.038686 162.958827 " style="fill:#06ecf1;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 270.038686 139.46815 + <path clip-path="url(#p7bc635573d)" d="M 270.038686 139.46815 L 273.884767 116.845692 L 268.467637 109.961038 L 264.621556 132.583496 L 270.038686 139.46815 " style="fill:#06ecf1;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 273.884767 116.845692 + <path clip-path="url(#p7bc635573d)" d="M 273.884767 116.845692 L 281.292625 96.763711 L 275.875495 89.879057 L 268.467637 109.961038 L 273.884767 116.845692 " style="fill:#29ffce;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 281.292625 96.763711 + <path clip-path="url(#p7bc635573d)" d="M 281.292625 96.763711 L 291.714669 80.706673 L 286.297539 73.822019 L 275.875495 89.879057 L 281.292625 96.763711 " style="fill:#66ff90;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 291.714669 80.706673 + <path clip-path="url(#p7bc635573d)" d="M 291.714669 80.706673 L 304.3805 69.861517 L 298.96337 62.976863 L 286.297539 73.822019 L 291.714669 80.706673 " style="fill:#b7ff40;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 304.3805 69.861517 + <path clip-path="url(#p7bc635573d)" d="M 304.3805 69.861517 L 318.353854 65.029921 L 312.936724 58.145268 L 298.96337 62.976863 L 304.3805 69.861517 " style="fill:#ffd700;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 312.936724 230.512401 + <path clip-path="url(#p7bc635573d)" d="M 312.936724 230.512401 L 298.96337 225.680806 L 293.04796 220.013782 L 307.021315 224.845378 L 312.936724 230.512401 " style="fill:#ff4700;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 298.96337 225.680806 + <path clip-path="url(#p7bc635573d)" d="M 298.96337 225.680806 L 286.297539 214.83565 L 280.38213 209.168626 L 293.04796 220.013782 L 298.96337 225.680806 " style="fill:#ffb200;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 286.297539 214.83565 + <path clip-path="url(#p7bc635573d)" d="M 286.297539 214.83565 L 275.875495 198.778611 L 269.960085 193.111588 L 280.38213 209.168626 L 286.297539 214.83565 " style="fill:#dbff1c;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 275.875495 198.778611 + <path clip-path="url(#p7bc635573d)" d="M 275.875495 198.778611 L 268.467637 178.69663 L 262.552227 173.029607 L 269.960085 193.111588 L 275.875495 198.778611 " style="fill:#94ff63;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 268.467637 178.69663 + <path clip-path="url(#p7bc635573d)" d="M 268.467637 178.69663 L 264.621556 156.074173 L 258.706147 150.407149 L 262.552227 173.029607 L 268.467637 178.69663 " style="fill:#5dff9a;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 264.621556 156.074173 + <path clip-path="url(#p7bc635573d)" d="M 264.621556 156.074173 L 264.621556 132.583496 L 258.706147 126.916473 L 258.706147 150.407149 L 264.621556 156.074173 " style="fill:#3cffba;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 264.621556 132.583496 + <path clip-path="url(#p7bc635573d)" d="M 264.621556 132.583496 L 268.467637 109.961038 L 262.552227 104.294015 L 258.706147 126.916473 L 264.621556 132.583496 " style="fill:#3cffba;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 268.467637 109.961038 + <path clip-path="url(#p7bc635573d)" d="M 268.467637 109.961038 L 275.875495 89.879057 L 269.960085 84.212034 L 262.552227 104.294015 L 268.467637 109.961038 " style="fill:#5dff9a;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 275.875495 89.879057 + <path clip-path="url(#p7bc635573d)" d="M 275.875495 89.879057 L 286.297539 73.822019 L 280.38213 68.154995 L 269.960085 84.212034 L 275.875495 89.879057 " style="fill:#94ff63;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 286.297539 73.822019 + <path clip-path="url(#p7bc635573d)" d="M 286.297539 73.822019 L 298.96337 62.976863 L 293.04796 57.30984 L 280.38213 68.154995 L 286.297539 73.822019 " style="fill:#dbff1c;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 298.96337 62.976863 + <path clip-path="url(#p7bc635573d)" d="M 298.96337 62.976863 L 312.936724 58.145268 L 307.021315 52.478244 L 293.04796 57.30984 L 298.96337 62.976863 " style="fill:#ffb200;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 307.021315 224.845378 + <path clip-path="url(#p7bc635573d)" d="M 307.021315 224.845378 L 293.04796 220.013782 L 286.734769 215.660667 L 300.708123 220.492262 L 307.021315 224.845378 " style="fill:#ff2500;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 293.04796 220.013782 + <path clip-path="url(#p7bc635573d)" d="M 293.04796 220.013782 L 280.38213 209.168626 L 274.068938 204.815511 L 286.734769 215.660667 L 293.04796 220.013782 " style="fill:#ff8900;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 280.38213 209.168626 + <path clip-path="url(#p7bc635573d)" d="M 280.38213 209.168626 L 269.960085 193.111588 L 263.646894 188.758472 L 274.068938 204.815511 L 280.38213 209.168626 " style="fill:#ffe600;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 269.960085 193.111588 + <path clip-path="url(#p7bc635573d)" d="M 269.960085 193.111588 L 262.552227 173.029607 L 256.239036 168.676491 L 263.646894 188.758472 L 269.960085 193.111588 " style="fill:#c1ff36;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 262.552227 173.029607 + <path clip-path="url(#p7bc635573d)" d="M 262.552227 173.029607 L 258.706147 150.407149 L 252.392955 146.054034 L 256.239036 168.676491 L 262.552227 173.029607 " style="fill:#8dff6a;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 258.706147 150.407149 + <path clip-path="url(#p7bc635573d)" d="M 258.706147 150.407149 L 258.706147 126.916473 L 252.392955 122.563357 L 252.392955 146.054034 L 258.706147 150.407149 " style="fill:#73ff83;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 258.706147 126.916473 + <path clip-path="url(#p7bc635573d)" d="M 258.706147 126.916473 L 262.552227 104.294015 L 256.239036 99.940899 L 252.392955 122.563357 L 258.706147 126.916473 " style="fill:#73ff83;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 262.552227 104.294015 + <path clip-path="url(#p7bc635573d)" d="M 262.552227 104.294015 L 269.960085 84.212034 L 263.646894 79.858918 L 256.239036 99.940899 L 262.552227 104.294015 " style="fill:#8dff6a;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 269.960085 84.212034 + <path clip-path="url(#p7bc635573d)" d="M 269.960085 84.212034 L 280.38213 68.154995 L 274.068938 63.80188 L 263.646894 79.858918 L 269.960085 84.212034 " style="fill:#c1ff36;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 280.38213 68.154995 + <path clip-path="url(#p7bc635573d)" d="M 280.38213 68.154995 L 293.04796 57.30984 L 286.734769 52.956724 L 274.068938 63.80188 L 280.38213 68.154995 " style="fill:#ffe600;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 293.04796 57.30984 + <path clip-path="url(#p7bc635573d)" d="M 293.04796 57.30984 L 307.021315 52.478244 L 300.708123 48.125129 L 286.734769 52.956724 L 293.04796 57.30984 " style="fill:#ff8900;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 300.708123 220.492262 + <path clip-path="url(#p7bc635573d)" d="M 300.708123 220.492262 L 286.734769 215.660667 L 280.131051 212.695415 L 294.104406 217.527011 L 300.708123 220.492262 " style="fill:#e40000;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 286.734769 215.660667 + <path clip-path="url(#p7bc635573d)" d="M 286.734769 215.660667 L 274.068938 204.815511 L 267.46522 201.850259 L 280.131051 212.695415 L 286.734769 215.660667 " style="fill:#ff6000;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 274.068938 204.815511 + <path clip-path="url(#p7bc635573d)" d="M 274.068938 204.815511 L 263.646894 188.758472 L 257.043176 185.793221 L 267.46522 201.850259 L 274.068938 204.815511 " style="fill:#ffb600;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 263.646894 188.758472 + <path clip-path="url(#p7bc635573d)" d="M 263.646894 188.758472 L 256.239036 168.676491 L 249.635318 165.71124 L 257.043176 185.793221 L 263.646894 188.758472 " style="fill:#f1fc06;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 256.239036 168.676491 + <path clip-path="url(#p7bc635573d)" d="M 256.239036 168.676491 L 252.392955 146.054034 L 245.789238 143.088782 L 249.635318 165.71124 L 256.239036 168.676491 " style="fill:#c1ff36;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 252.392955 146.054034 + <path clip-path="url(#p7bc635573d)" d="M 252.392955 146.054034 L 252.392955 122.563357 L 245.789238 119.598106 L 245.789238 143.088782 L 252.392955 146.054034 " style="fill:#aaff4d;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 252.392955 122.563357 + <path clip-path="url(#p7bc635573d)" d="M 252.392955 122.563357 L 256.239036 99.940899 L 249.635318 96.975648 L 245.789238 119.598106 L 252.392955 122.563357 " style="fill:#aaff4d;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 256.239036 99.940899 + <path clip-path="url(#p7bc635573d)" d="M 256.239036 99.940899 L 263.646894 79.858918 L 257.043176 76.893667 L 249.635318 96.975648 L 256.239036 99.940899 " style="fill:#c1ff36;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 263.646894 79.858918 + <path clip-path="url(#p7bc635573d)" d="M 263.646894 79.858918 L 274.068938 63.80188 L 267.46522 60.836628 L 257.043176 76.893667 L 263.646894 79.858918 " style="fill:#f1fc06;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 274.068938 63.80188 + <path clip-path="url(#p7bc635573d)" d="M 274.068938 63.80188 L 286.734769 52.956724 L 280.131051 49.991473 L 267.46522 60.836628 L 274.068938 63.80188 " style="fill:#ffb600;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 286.734769 52.956724 + <path clip-path="url(#p7bc635573d)" d="M 286.734769 52.956724 L 300.708123 48.125129 L 294.104406 45.159877 L 280.131051 49.991473 L 286.734769 52.956724 " style="fill:#ff6000;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 294.104406 217.527011 + <path clip-path="url(#p7bc635573d)" d="M 294.104406 217.527011 L 280.131051 212.695415 L 273.348998 211.168404 L 287.322353 216 L 294.104406 217.527011 " style="fill:#b20000;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 280.131051 212.695415 + <path clip-path="url(#p7bc635573d)" d="M 280.131051 212.695415 L 267.46522 201.850259 L 260.683168 200.323249 L 273.348998 211.168404 L 280.131051 212.695415 " style="fill:#ff3000;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 267.46522 201.850259 + <path clip-path="url(#p7bc635573d)" d="M 267.46522 201.850259 L 257.043176 185.793221 L 250.261124 184.26621 L 260.683168 200.323249 L 267.46522 201.850259 " style="fill:#ff8200;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 257.043176 185.793221 + <path clip-path="url(#p7bc635573d)" d="M 257.043176 185.793221 L 249.635318 165.71124 L 242.853266 164.184229 L 250.261124 184.26621 L 257.043176 185.793221 " style="fill:#ffc400;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 249.635318 165.71124 + <path clip-path="url(#p7bc635573d)" d="M 249.635318 165.71124 L 245.789238 143.088782 L 239.007185 141.561771 L 242.853266 164.184229 L 249.635318 165.71124 " style="fill:#f8f500;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 245.789238 143.088782 + <path clip-path="url(#p7bc635573d)" d="M 245.789238 143.088782 L 245.789238 119.598106 L 239.007185 118.071095 L 239.007185 141.561771 L 245.789238 143.088782 " style="fill:#e1ff16;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 245.789238 119.598106 + <path clip-path="url(#p7bc635573d)" d="M 245.789238 119.598106 L 249.635318 96.975648 L 242.853266 95.448637 L 239.007185 118.071095 L 245.789238 119.598106 " style="fill:#e1ff16;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 249.635318 96.975648 + <path clip-path="url(#p7bc635573d)" d="M 249.635318 96.975648 L 257.043176 76.893667 L 250.261124 75.366656 L 242.853266 95.448637 L 249.635318 96.975648 " style="fill:#f8f500;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 257.043176 76.893667 + <path clip-path="url(#p7bc635573d)" d="M 257.043176 76.893667 L 267.46522 60.836628 L 260.683168 59.309618 L 250.261124 75.366656 L 257.043176 76.893667 " style="fill:#ffc400;stroke:#0000ff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 267.46522 60.836628 + <path clip-path="url(#p7bc635573d)" d="M 267.46522 60.836628 L 280.131051 49.991473 L 273.348998 48.464462 L 260.683168 59.309618 L 267.46522 60.836628 " style="fill:#ff8200;stroke:#ffffff;stroke-width:2;"/> - <path clip-path="url(#p5f11f07486)" d="M 280.131051 49.991473 + <path clip-path="url(#p7bc635573d)" d="M 280.131051 49.991473 L 294.104406 45.159877 L 287.322353 43.632866 L 273.348998 48.464462 @@ -3515,19238 +3515,20257 @@ z " style="fill:#ffffff;"/> </g> <g id="QuadMesh_3"> - <g clip-path="url(#pe29b2f9dcc)"> + <g clip-path="url(#pea2653665e)"> <filter id="colorAdd"> <feComposite in="SourceGraphic" in2="BackgroundImage" k2="1" k3="1" operator="arithmetic"/> </filter> + <filter id="colorMat"> + <feColorMatrix type="matrix" values="1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +1 1 1 1 0 +0 0 0 0 1 "/> + </filter> <defs> - <linearGradient id="GR0_0" x1="444.875294" x2="445.280079" y1="388.367134" y2="385.824762"> - <stop offset="0" style="stop-color:#800000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#800000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR0_0" x1="444.875294" x2="445.280079" y1="388.367134" y2="385.824762"> + <stop offset="1" style="stop-color:#ba0400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#800000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR0_1" x1="430.901939" x2="434.63551" y1="383.535538" y2="379.313035"> - <stop offset="0" style="stop-color:#e80000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e80000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR0_1" x1="430.901939" x2="434.63551" y1="383.535538" y2="379.313035"> + <stop offset="1" style="stop-color:#ba0400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e80000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR0_2" x1="441.279643" x2="440.681707" y1="385.18783" y2="386.917108"> - <stop offset="0" style="stop-color:#c60c00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c60c00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR0_2" x1="441.279643" x2="440.681707" y1="385.18783" y2="386.917108"> + <stop offset="1" style="stop-color:#ba0400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c60c00;stop-opacity:0;"/> </linearGradient> - <polygon id="GT0" points="441.279643 385.18783 444.875294 388.367134 430.901939 383.535538"/> </defs> - <use fill="#ba0400" fill-opacity="1" xlink:href="#GT0"/> - <use fill="url(#GR0_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT0"/> - <use fill="url(#GR0_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT0"/> - <use fill="url(#GR0_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT0"/> + <path d="M 441.279643,385.18783 L 444.875294,388.367134 430.901939,383.535538 Z" fill="#ba0400" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.279643,385.18783 L 444.875294,388.367134 430.901939,383.535538 Z" fill="url(#GR0_0)" shape-rendering="crispEdges"/> + <path d="M 441.279643,385.18783 L 444.875294,388.367134 430.901939,383.535538 Z" fill="url(#GR0_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.279643,385.18783 L 444.875294,388.367134 430.901939,383.535538 Z" fill="url(#GR0_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1_0" x1="430.901939" x2="434.63551" y1="383.535538" y2="379.313035"> - <stop offset="0" style="stop-color:#e80000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e80000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1_0" x1="430.901939" x2="434.63551" y1="383.535538" y2="379.313035"> + <stop offset="1" style="stop-color:#e41400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e80000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1_1" x1="437.683992" x2="437.279207" y1="382.008527" y2="384.550899"> - <stop offset="0" style="stop-color:#ff3000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff3000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1_1" x1="437.683992" x2="437.279207" y1="382.008527" y2="384.550899"> + <stop offset="1" style="stop-color:#e41400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff3000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1_2" x1="441.279643" x2="440.424861" y1="385.18783" y2="381.391408"> - <stop offset="0" style="stop-color:#c60c00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c60c00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1_2" x1="441.279643" x2="440.424861" y1="385.18783" y2="381.391408"> + <stop offset="1" style="stop-color:#e41400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c60c00;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1" points="441.279643 385.18783 430.901939 383.535538 437.683992 382.008527"/> </defs> - <use fill="#e41400" fill-opacity="1" xlink:href="#GT1"/> - <use fill="url(#GR1_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1"/> - <use fill="url(#GR1_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1"/> - <use fill="url(#GR1_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1"/> + <path d="M 441.279643,385.18783 L 430.901939,383.535538 437.683992,382.008527 Z" fill="#e41400" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.279643,385.18783 L 430.901939,383.535538 437.683992,382.008527 Z" fill="url(#GR1_0)" shape-rendering="crispEdges"/> + <path d="M 441.279643,385.18783 L 430.901939,383.535538 437.683992,382.008527 Z" fill="url(#GR1_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.279643,385.18783 L 430.901939,383.535538 437.683992,382.008527 Z" fill="url(#GR1_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2_0" x1="437.683992" x2="437.279207" y1="382.008527" y2="384.550899"> - <stop offset="0" style="stop-color:#ff3000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff3000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2_0" x1="437.683992" x2="437.279207" y1="382.008527" y2="384.550899"> + <stop offset="1" style="stop-color:#d21400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff3000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2_1" x1="451.657347" x2="447.923776" y1="386.840123" y2="391.062626"> - <stop offset="0" style="stop-color:#b20000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b20000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2_1" x1="451.657347" x2="447.923776" y1="386.840123" y2="391.062626"> + <stop offset="1" style="stop-color:#d21400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b20000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2_2" x1="441.279643" x2="441.877579" y1="385.18783" y2="383.458553"> - <stop offset="0" style="stop-color:#c60c00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c60c00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2_2" x1="441.279643" x2="441.877579" y1="385.18783" y2="383.458553"> + <stop offset="1" style="stop-color:#d21400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c60c00;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2" points="441.279643 385.18783 437.683992 382.008527 451.657347 386.840123"/> </defs> - <use fill="#d21400" fill-opacity="1" xlink:href="#GT2"/> - <use fill="url(#GR2_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2"/> - <use fill="url(#GR2_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2"/> - <use fill="url(#GR2_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2"/> + <path d="M 441.279643,385.18783 L 437.683992,382.008527 451.657347,386.840123 Z" fill="#d21400" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.279643,385.18783 L 437.683992,382.008527 451.657347,386.840123 Z" fill="url(#GR2_0)" shape-rendering="crispEdges"/> + <path d="M 441.279643,385.18783 L 437.683992,382.008527 451.657347,386.840123 Z" fill="url(#GR2_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.279643,385.18783 L 437.683992,382.008527 451.657347,386.840123 Z" fill="url(#GR2_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3_0" x1="451.657347" x2="447.923776" y1="386.840123" y2="391.062626"> - <stop offset="0" style="stop-color:#b20000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b20000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3_0" x1="451.657347" x2="447.923776" y1="386.840123" y2="391.062626"> + <stop offset="1" style="stop-color:#a80400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b20000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3_1" x1="444.875294" x2="445.280079" y1="388.367134" y2="385.824762"> - <stop offset="0" style="stop-color:#800000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#800000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3_1" x1="444.875294" x2="445.280079" y1="388.367134" y2="385.824762"> + <stop offset="1" style="stop-color:#a80400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#800000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3_2" x1="441.279643" x2="442.134425" y1="385.18783" y2="388.984253"> - <stop offset="0" style="stop-color:#c60c00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c60c00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3_2" x1="441.279643" x2="442.134425" y1="385.18783" y2="388.984253"> + <stop offset="1" style="stop-color:#a80400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c60c00;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3" points="441.279643 385.18783 451.657347 386.840123 444.875294 388.367134"/> </defs> - <use fill="#a80400" fill-opacity="1" xlink:href="#GT3"/> - <use fill="url(#GR3_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3"/> - <use fill="url(#GR3_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3"/> - <use fill="url(#GR3_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3"/> + <path d="M 441.279643,385.18783 L 451.657347,386.840123 444.875294,388.367134 Z" fill="#a80400" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.279643,385.18783 L 451.657347,386.840123 444.875294,388.367134 Z" fill="url(#GR3_0)" shape-rendering="crispEdges"/> + <path d="M 441.279643,385.18783 L 451.657347,386.840123 444.875294,388.367134 Z" fill="url(#GR3_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.279643,385.18783 L 451.657347,386.840123 444.875294,388.367134 Z" fill="url(#GR3_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR4_0" x1="430.901939" x2="432.763238" y1="383.535538" y2="379.650826"> - <stop offset="0" style="stop-color:#e80000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e80000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR4_0" x1="430.901939" x2="432.763238" y1="383.535538" y2="379.650826"> + <stop offset="1" style="stop-color:#f52f00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e80000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR4_1" x1="418.236109" x2="424.359478" y1="372.690382" y2="369.778318"> - <stop offset="0" style="stop-color:#ff4e00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff4e00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR4_1" x1="418.236109" x2="424.359478" y1="372.690382" y2="369.778318"> + <stop offset="1" style="stop-color:#f52f00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff4e00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR4_2" x1="427.960051" x2="426.148369" y1="377.349455" y2="379.465279"> - <stop offset="0" style="stop-color:#f94000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f94000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR4_2" x1="427.960051" x2="426.148369" y1="377.349455" y2="379.465279"> + <stop offset="1" style="stop-color:#f52f00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f94000;stop-opacity:0;"/> </linearGradient> - <polygon id="GT4" points="427.960051 377.349455 430.901939 383.535538 418.236109 372.690382"/> </defs> - <use fill="#f52f00" fill-opacity="1" xlink:href="#GT4"/> - <use fill="url(#GR4_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT4"/> - <use fill="url(#GR4_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT4"/> - <use fill="url(#GR4_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT4"/> + <path d="M 427.960051,377.349455 L 430.901939,383.535538 418.236109,372.690382 Z" fill="#f52f00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 427.960051,377.349455 L 430.901939,383.535538 418.236109,372.690382 Z" fill="url(#GR4_0)" shape-rendering="crispEdges"/> + <path d="M 427.960051,377.349455 L 430.901939,383.535538 418.236109,372.690382 Z" fill="url(#GR4_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 427.960051,377.349455 L 430.901939,383.535538 418.236109,372.690382 Z" fill="url(#GR4_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR5_0" x1="418.236109" x2="424.359478" y1="372.690382" y2="369.778318"> - <stop offset="0" style="stop-color:#ff4e00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff4e00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR5_0" x1="418.236109" x2="424.359478" y1="372.690382" y2="369.778318"> + <stop offset="1" style="stop-color:#fd5b00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff4e00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR5_1" x1="425.018162" x2="423.156863" y1="371.163372" y2="375.048084"> - <stop offset="0" style="stop-color:#ff8200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR5_1" x1="425.018162" x2="423.156863" y1="371.163372" y2="375.048084"> + <stop offset="1" style="stop-color:#fd5b00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR5_2" x1="427.960051" x2="426.492485" y1="377.349455" y2="370.831421"> - <stop offset="0" style="stop-color:#f94000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f94000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR5_2" x1="427.960051" x2="426.492485" y1="377.349455" y2="370.831421"> + <stop offset="1" style="stop-color:#fd5b00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f94000;stop-opacity:0;"/> </linearGradient> - <polygon id="GT5" points="427.960051 377.349455 418.236109 372.690382 425.018162 371.163372"/> </defs> - <use fill="#fd5b00" fill-opacity="1" xlink:href="#GT5"/> - <use fill="url(#GR5_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT5"/> - <use fill="url(#GR5_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT5"/> - <use fill="url(#GR5_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT5"/> + <path d="M 427.960051,377.349455 L 418.236109,372.690382 425.018162,371.163372 Z" fill="#fd5b00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 427.960051,377.349455 L 418.236109,372.690382 425.018162,371.163372 Z" fill="url(#GR5_0)" shape-rendering="crispEdges"/> + <path d="M 427.960051,377.349455 L 418.236109,372.690382 425.018162,371.163372 Z" fill="url(#GR5_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 427.960051,377.349455 L 418.236109,372.690382 425.018162,371.163372 Z" fill="url(#GR5_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR6_0" x1="425.018162" x2="423.156863" y1="371.163372" y2="375.048084"> - <stop offset="0" style="stop-color:#ff8200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR6_0" x1="425.018162" x2="423.156863" y1="371.163372" y2="375.048084"> + <stop offset="1" style="stop-color:#fd5100;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR6_1" x1="437.683992" x2="431.560623" y1="382.008527" y2="384.920591"> - <stop offset="0" style="stop-color:#ff3000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff3000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR6_1" x1="437.683992" x2="431.560623" y1="382.008527" y2="384.920591"> + <stop offset="1" style="stop-color:#fd5100;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff3000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR6_2" x1="427.960051" x2="429.771732" y1="377.349455" y2="375.23363"> - <stop offset="0" style="stop-color:#f94000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f94000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR6_2" x1="427.960051" x2="429.771732" y1="377.349455" y2="375.23363"> + <stop offset="1" style="stop-color:#fd5100;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f94000;stop-opacity:0;"/> </linearGradient> - <polygon id="GT6" points="427.960051 377.349455 425.018162 371.163372 437.683992 382.008527"/> </defs> - <use fill="#fd5100" fill-opacity="1" xlink:href="#GT6"/> - <use fill="url(#GR6_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT6"/> - <use fill="url(#GR6_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT6"/> - <use fill="url(#GR6_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT6"/> + <path d="M 427.960051,377.349455 L 425.018162,371.163372 437.683992,382.008527 Z" fill="#fd5100" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 427.960051,377.349455 L 425.018162,371.163372 437.683992,382.008527 Z" fill="url(#GR6_0)" shape-rendering="crispEdges"/> + <path d="M 427.960051,377.349455 L 425.018162,371.163372 437.683992,382.008527 Z" fill="url(#GR6_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 427.960051,377.349455 L 425.018162,371.163372 437.683992,382.008527 Z" fill="url(#GR6_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR7_0" x1="437.683992" x2="431.560623" y1="382.008527" y2="384.920591"> - <stop offset="0" style="stop-color:#ff3000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff3000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR7_0" x1="437.683992" x2="431.560623" y1="382.008527" y2="384.920591"> + <stop offset="1" style="stop-color:#f52600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff3000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR7_1" x1="430.901939" x2="432.763238" y1="383.535538" y2="379.650826"> - <stop offset="0" style="stop-color:#e80000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e80000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR7_1" x1="430.901939" x2="432.763238" y1="383.535538" y2="379.650826"> + <stop offset="1" style="stop-color:#f52600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e80000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR7_2" x1="427.960051" x2="429.427616" y1="377.349455" y2="383.867489"> - <stop offset="0" style="stop-color:#f94000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f94000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR7_2" x1="427.960051" x2="429.427616" y1="377.349455" y2="383.867489"> + <stop offset="1" style="stop-color:#f52600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f94000;stop-opacity:0;"/> </linearGradient> - <polygon id="GT7" points="427.960051 377.349455 437.683992 382.008527 430.901939 383.535538"/> </defs> - <use fill="#f52600" fill-opacity="1" xlink:href="#GT7"/> - <use fill="url(#GR7_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT7"/> - <use fill="url(#GR7_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT7"/> - <use fill="url(#GR7_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT7"/> + <path d="M 427.960051,377.349455 L 437.683992,382.008527 430.901939,383.535538 Z" fill="#f52600" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 427.960051,377.349455 L 437.683992,382.008527 430.901939,383.535538 Z" fill="url(#GR7_0)" shape-rendering="crispEdges"/> + <path d="M 427.960051,377.349455 L 437.683992,382.008527 430.901939,383.535538 Z" fill="url(#GR7_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 427.960051,377.349455 L 437.683992,382.008527 430.901939,383.535538 Z" fill="url(#GR7_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR8_0" x1="418.236109" x2="421.812416" y1="372.690382" y2="368.455902"> - <stop offset="0" style="stop-color:#ff4e00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff4e00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR8_0" x1="418.236109" x2="421.812416" y1="372.690382" y2="368.455902"> + <stop offset="1" style="stop-color:#ff7600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff4e00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR8_1" x1="407.814065" x2="414.620551" y1="356.633344" y2="355.224365"> - <stop offset="0" style="stop-color:#ff8d00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8d00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR8_1" x1="407.814065" x2="414.620551" y1="356.633344" y2="355.224365"> + <stop offset="1" style="stop-color:#ff7600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8d00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR8_2" x1="416.416113" x2="413.68155" y1="363.898358" y2="365.673264"> - <stop offset="0" style="stop-color:#ff8800;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8800;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR8_2" x1="416.416113" x2="413.68155" y1="363.898358" y2="365.673264"> + <stop offset="1" style="stop-color:#ff7600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8800;stop-opacity:0;"/> </linearGradient> - <polygon id="GT8" points="416.416113 363.898358 418.236109 372.690382 407.814065 356.633344"/> </defs> - <use fill="#ff7600" fill-opacity="1" xlink:href="#GT8"/> - <use fill="url(#GR8_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT8"/> - <use fill="url(#GR8_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT8"/> - <use fill="url(#GR8_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT8"/> + <path d="M 416.416113,363.898358 L 418.236109,372.690382 407.814065,356.633344 Z" fill="#ff7600" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 416.416113,363.898358 L 418.236109,372.690382 407.814065,356.633344 Z" fill="url(#GR8_0)" shape-rendering="crispEdges"/> + <path d="M 416.416113,363.898358 L 418.236109,372.690382 407.814065,356.633344 Z" fill="url(#GR8_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 416.416113,363.898358 L 418.236109,372.690382 407.814065,356.633344 Z" fill="url(#GR8_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR9_0" x1="407.814065" x2="414.620551" y1="356.633344" y2="355.224365"> - <stop offset="0" style="stop-color:#ff8d00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8d00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR9_0" x1="407.814065" x2="414.620551" y1="356.633344" y2="355.224365"> + <stop offset="1" style="stop-color:#ff9e00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8d00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR9_1" x1="414.596117" x2="411.019811" y1="355.106333" y2="359.340814"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR9_1" x1="414.596117" x2="411.019811" y1="355.106333" y2="359.340814"> + <stop offset="1" style="stop-color:#ff9e00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR9_2" x1="416.416113" x2="414.444247" y1="363.898358" y2="355.140527"> - <stop offset="0" style="stop-color:#ff8800;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8800;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR9_2" x1="416.416113" x2="414.444247" y1="363.898358" y2="355.140527"> + <stop offset="1" style="stop-color:#ff9e00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8800;stop-opacity:0;"/> </linearGradient> - <polygon id="GT9" points="416.416113 363.898358 407.814065 356.633344 414.596117 355.106333"/> </defs> - <use fill="#ff9e00" fill-opacity="1" xlink:href="#GT9"/> - <use fill="url(#GR9_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT9"/> - <use fill="url(#GR9_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT9"/> - <use fill="url(#GR9_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT9"/> + <path d="M 416.416113,363.898358 L 407.814065,356.633344 414.596117,355.106333 Z" fill="#ff9e00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 416.416113,363.898358 L 407.814065,356.633344 414.596117,355.106333 Z" fill="url(#GR9_0)" shape-rendering="crispEdges"/> + <path d="M 416.416113,363.898358 L 407.814065,356.633344 414.596117,355.106333 Z" fill="url(#GR9_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 416.416113,363.898358 L 407.814065,356.633344 414.596117,355.106333 Z" fill="url(#GR9_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRa_0" x1="414.596117" x2="411.019811" y1="355.106333" y2="359.340814"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRa_0" x1="414.596117" x2="411.019811" y1="355.106333" y2="359.340814"> + <stop offset="1" style="stop-color:#ff9a00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRa_1" x1="425.018162" x2="418.211676" y1="371.163372" y2="372.57235"> - <stop offset="0" style="stop-color:#ff8200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRa_1" x1="425.018162" x2="418.211676" y1="371.163372" y2="372.57235"> + <stop offset="1" style="stop-color:#ff9a00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRa_2" x1="416.416113" x2="419.150676" y1="363.898358" y2="362.123452"> - <stop offset="0" style="stop-color:#ff8800;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8800;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRa_2" x1="416.416113" x2="419.150676" y1="363.898358" y2="362.123452"> + <stop offset="1" style="stop-color:#ff9a00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8800;stop-opacity:0;"/> </linearGradient> - <polygon id="GTa" points="416.416113 363.898358 414.596117 355.106333 425.018162 371.163372"/> </defs> - <use fill="#ff9a00" fill-opacity="1" xlink:href="#GTa"/> - <use fill="url(#GRa_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTa"/> - <use fill="url(#GRa_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTa"/> - <use fill="url(#GRa_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTa"/> + <path d="M 416.416113,363.898358 L 414.596117,355.106333 425.018162,371.163372 Z" fill="#ff9a00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 416.416113,363.898358 L 414.596117,355.106333 425.018162,371.163372 Z" fill="url(#GRa_0)" shape-rendering="crispEdges"/> + <path d="M 416.416113,363.898358 L 414.596117,355.106333 425.018162,371.163372 Z" fill="url(#GRa_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 416.416113,363.898358 L 414.596117,355.106333 425.018162,371.163372 Z" fill="url(#GRa_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRb_0" x1="425.018162" x2="418.211676" y1="371.163372" y2="372.57235"> - <stop offset="0" style="stop-color:#ff8200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRb_0" x1="425.018162" x2="418.211676" y1="371.163372" y2="372.57235"> + <stop offset="1" style="stop-color:#ff7300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRb_1" x1="418.236109" x2="421.812416" y1="372.690382" y2="368.455902"> - <stop offset="0" style="stop-color:#ff4e00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff4e00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRb_1" x1="418.236109" x2="421.812416" y1="372.690382" y2="368.455902"> + <stop offset="1" style="stop-color:#ff7300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff4e00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRb_2" x1="416.416113" x2="418.387979" y1="363.898358" y2="372.656188"> - <stop offset="0" style="stop-color:#ff8800;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8800;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRb_2" x1="416.416113" x2="418.387979" y1="363.898358" y2="372.656188"> + <stop offset="1" style="stop-color:#ff7300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8800;stop-opacity:0;"/> </linearGradient> - <polygon id="GTb" points="416.416113 363.898358 425.018162 371.163372 418.236109 372.690382"/> </defs> - <use fill="#ff7300" fill-opacity="1" xlink:href="#GTb"/> - <use fill="url(#GRb_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTb"/> - <use fill="url(#GRb_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTb"/> - <use fill="url(#GRb_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTb"/> + <path d="M 416.416113,363.898358 L 425.018162,371.163372 418.236109,372.690382 Z" fill="#ff7300" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 416.416113,363.898358 L 425.018162,371.163372 418.236109,372.690382 Z" fill="url(#GRb_0)" shape-rendering="crispEdges"/> + <path d="M 416.416113,363.898358 L 425.018162,371.163372 418.236109,372.690382 Z" fill="url(#GRb_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 416.416113,363.898358 L 425.018162,371.163372 418.236109,372.690382 Z" fill="url(#GRb_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRc_0" x1="407.814065" x2="412.830232" y1="356.633344" y2="352.797231"> - <stop offset="0" style="stop-color:#ff8d00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8d00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRc_0" x1="407.814065" x2="412.830232" y1="356.633344" y2="352.797231"> + <stop offset="1" style="stop-color:#fead00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8d00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRc_1" x1="400.406207" x2="407.226762" y1="336.551363" y2="336.353837"> - <stop offset="0" style="stop-color:#ffb900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRc_1" x1="400.406207" x2="407.226762" y1="336.551363" y2="336.353837"> + <stop offset="1" style="stop-color:#fead00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRc_2" x1="407.501162" x2="404.268387" y1="345.828848" y2="347.021357"> - <stop offset="0" style="stop-color:#fdc000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fdc000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRc_2" x1="407.501162" x2="404.268387" y1="345.828848" y2="347.021357"> + <stop offset="1" style="stop-color:#fead00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fdc000;stop-opacity:0;"/> </linearGradient> - <polygon id="GTc" points="407.501162 345.828848 407.814065 356.633344 400.406207 336.551363"/> </defs> - <use fill="#fead00" fill-opacity="1" xlink:href="#GTc"/> - <use fill="url(#GRc_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTc"/> - <use fill="url(#GRc_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTc"/> - <use fill="url(#GRc_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTc"/> + <path d="M 407.501162,345.828848 L 407.814065,356.633344 400.406207,336.551363 Z" fill="#fead00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 407.501162,345.828848 L 407.814065,356.633344 400.406207,336.551363 Z" fill="url(#GRc_0)" shape-rendering="crispEdges"/> + <path d="M 407.501162,345.828848 L 407.814065,356.633344 400.406207,336.551363 Z" fill="url(#GRc_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 407.501162,345.828848 L 407.814065,356.633344 400.406207,336.551363 Z" fill="url(#GRc_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRd_0" x1="400.406207" x2="407.226762" y1="336.551363" y2="336.353837"> - <stop offset="0" style="stop-color:#ffb900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRd_0" x1="400.406207" x2="407.226762" y1="336.551363" y2="336.353837"> + <stop offset="1" style="stop-color:#fccf00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRd_1" x1="407.188259" x2="402.172092" y1="335.024352" y2="338.860465"> - <stop offset="0" style="stop-color:#f8f500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f8f500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRd_1" x1="407.188259" x2="402.172092" y1="335.024352" y2="338.860465"> + <stop offset="1" style="stop-color:#fccf00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f8f500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRd_2" x1="407.501162" x2="405.170756" y1="345.828848" y2="335.478602"> - <stop offset="0" style="stop-color:#fdc000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fdc000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRd_2" x1="407.501162" x2="405.170756" y1="345.828848" y2="335.478602"> + <stop offset="1" style="stop-color:#fccf00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fdc000;stop-opacity:0;"/> </linearGradient> - <polygon id="GTd" points="407.501162 345.828848 400.406207 336.551363 407.188259 335.024352"/> </defs> - <use fill="#fccf00" fill-opacity="1" xlink:href="#GTd"/> - <use fill="url(#GRd_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTd"/> - <use fill="url(#GRd_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTd"/> - <use fill="url(#GRd_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTd"/> + <path d="M 407.501162,345.828848 L 400.406207,336.551363 407.188259,335.024352 Z" fill="#fccf00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 407.501162,345.828848 L 400.406207,336.551363 407.188259,335.024352 Z" fill="url(#GRd_0)" shape-rendering="crispEdges"/> + <path d="M 407.501162,345.828848 L 400.406207,336.551363 407.188259,335.024352 Z" fill="url(#GRd_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 407.501162,345.828848 L 400.406207,336.551363 407.188259,335.024352 Z" fill="url(#GRd_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRe_0" x1="407.188259" x2="402.172092" y1="335.024352" y2="338.860465"> - <stop offset="0" style="stop-color:#f8f500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f8f500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRe_0" x1="407.188259" x2="402.172092" y1="335.024352" y2="338.860465"> + <stop offset="1" style="stop-color:#fcd300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f8f500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRe_1" x1="414.596117" x2="407.775562" y1="355.106333" y2="355.303859"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRe_1" x1="414.596117" x2="407.775562" y1="355.106333" y2="355.303859"> + <stop offset="1" style="stop-color:#fcd300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRe_2" x1="407.501162" x2="410.733937" y1="345.828848" y2="344.636339"> - <stop offset="0" style="stop-color:#fdc000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fdc000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRe_2" x1="407.501162" x2="410.733937" y1="345.828848" y2="344.636339"> + <stop offset="1" style="stop-color:#fcd300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fdc000;stop-opacity:0;"/> </linearGradient> - <polygon id="GTe" points="407.501162 345.828848 407.188259 335.024352 414.596117 355.106333"/> </defs> - <use fill="#fcd300" fill-opacity="1" xlink:href="#GTe"/> - <use fill="url(#GRe_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTe"/> - <use fill="url(#GRe_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTe"/> - <use fill="url(#GRe_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTe"/> + <path d="M 407.501162,345.828848 L 407.188259,335.024352 414.596117,355.106333 Z" fill="#fcd300" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 407.501162,345.828848 L 407.188259,335.024352 414.596117,355.106333 Z" fill="url(#GRe_0)" shape-rendering="crispEdges"/> + <path d="M 407.501162,345.828848 L 407.188259,335.024352 414.596117,355.106333 Z" fill="url(#GRe_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 407.501162,345.828848 L 407.188259,335.024352 414.596117,355.106333 Z" fill="url(#GRe_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRf_0" x1="414.596117" x2="407.775562" y1="355.106333" y2="355.303859"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRf_0" x1="414.596117" x2="407.775562" y1="355.106333" y2="355.303859"> + <stop offset="1" style="stop-color:#feb000;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRf_1" x1="407.814065" x2="412.830232" y1="356.633344" y2="352.797231"> - <stop offset="0" style="stop-color:#ff8d00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8d00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRf_1" x1="407.814065" x2="412.830232" y1="356.633344" y2="352.797231"> + <stop offset="1" style="stop-color:#feb000;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8d00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRf_2" x1="407.501162" x2="409.831568" y1="345.828848" y2="356.179094"> - <stop offset="0" style="stop-color:#fdc000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fdc000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRf_2" x1="407.501162" x2="409.831568" y1="345.828848" y2="356.179094"> + <stop offset="1" style="stop-color:#feb000;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fdc000;stop-opacity:0;"/> </linearGradient> - <polygon id="GTf" points="407.501162 345.828848 414.596117 355.106333 407.814065 356.633344"/> </defs> - <use fill="#feb000" fill-opacity="1" xlink:href="#GTf"/> - <use fill="url(#GRf_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTf"/> - <use fill="url(#GRf_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTf"/> - <use fill="url(#GRf_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTf"/> + <path d="M 407.501162,345.828848 L 414.596117,355.106333 407.814065,356.633344 Z" fill="#feb000" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 407.501162,345.828848 L 414.596117,355.106333 407.814065,356.633344 Z" fill="url(#GRf_0)" shape-rendering="crispEdges"/> + <path d="M 407.501162,345.828848 L 414.596117,355.106333 407.814065,356.633344 Z" fill="url(#GRf_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 407.501162,345.828848 L 414.596117,355.106333 407.814065,356.633344 Z" fill="url(#GRf_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR10_0" x1="400.406207" x2="406.428874" y1="336.551363" y2="333.517072"> - <stop offset="0" style="stop-color:#ffb900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR10_0" x1="400.406207" x2="406.428874" y1="336.551363" y2="333.517072"> + <stop offset="1" style="stop-color:#fccd02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR10_1" x1="396.560126" x2="403.060454" y1="313.928905" y2="314.719183"> - <stop offset="0" style="stop-color:#ffd000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR10_1" x1="396.560126" x2="403.060454" y1="313.928905" y2="314.719183"> + <stop offset="1" style="stop-color:#fccd02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR10_2" x1="401.874193" x2="398.452269" y1="324.476629" y2="325.058395"> - <stop offset="0" style="stop-color:#f6df05;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f6df05;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR10_2" x1="401.874193" x2="398.452269" y1="324.476629" y2="325.058395"> + <stop offset="1" style="stop-color:#fccd02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f6df05;stop-opacity:0;"/> </linearGradient> - <polygon id="GT10" points="401.874193 324.476629 400.406207 336.551363 396.560126 313.928905"/> </defs> - <use fill="#fccd02" fill-opacity="1" xlink:href="#GT10"/> - <use fill="url(#GR10_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT10"/> - <use fill="url(#GR10_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT10"/> - <use fill="url(#GR10_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT10"/> + <path d="M 401.874193,324.476629 L 400.406207,336.551363 396.560126,313.928905 Z" fill="#fccd02" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 401.874193,324.476629 L 400.406207,336.551363 396.560126,313.928905 Z" fill="url(#GR10_0)" shape-rendering="crispEdges"/> + <path d="M 401.874193,324.476629 L 400.406207,336.551363 396.560126,313.928905 Z" fill="url(#GR10_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 401.874193,324.476629 L 400.406207,336.551363 396.560126,313.928905 Z" fill="url(#GR10_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR11_0" x1="396.560126" x2="403.060454" y1="313.928905" y2="314.719183"> - <stop offset="0" style="stop-color:#ffd000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR11_0" x1="396.560126" x2="403.060454" y1="313.928905" y2="314.719183"> + <stop offset="1" style="stop-color:#f2e509;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR11_1" x1="403.342179" x2="397.319511" y1="312.401894" y2="315.436185"> - <stop offset="0" style="stop-color:#e1ff16;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e1ff16;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR11_1" x1="403.342179" x2="397.319511" y1="312.401894" y2="315.436185"> + <stop offset="1" style="stop-color:#f2e509;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e1ff16;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR11_2" x1="401.874193" x2="399.357511" y1="324.476629" y2="313.299061"> - <stop offset="0" style="stop-color:#f6df05;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f6df05;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR11_2" x1="401.874193" x2="399.357511" y1="324.476629" y2="313.299061"> + <stop offset="1" style="stop-color:#f2e509;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f6df05;stop-opacity:0;"/> </linearGradient> - <polygon id="GT11" points="401.874193 324.476629 396.560126 313.928905 403.342179 312.401894"/> </defs> - <use fill="#f2e509" fill-opacity="1" xlink:href="#GT11"/> - <use fill="url(#GR11_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT11"/> - <use fill="url(#GR11_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT11"/> - <use fill="url(#GR11_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT11"/> + <path d="M 401.874193,324.476629 L 396.560126,313.928905 403.342179,312.401894 Z" fill="#f2e509" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 401.874193,324.476629 L 396.560126,313.928905 403.342179,312.401894 Z" fill="url(#GR11_0)" shape-rendering="crispEdges"/> + <path d="M 401.874193,324.476629 L 396.560126,313.928905 403.342179,312.401894 Z" fill="url(#GR11_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 401.874193,324.476629 L 396.560126,313.928905 403.342179,312.401894 Z" fill="url(#GR11_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR12_0" x1="403.342179" x2="397.319511" y1="312.401894" y2="315.436185"> - <stop offset="0" style="stop-color:#e1ff16;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e1ff16;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR12_0" x1="403.342179" x2="397.319511" y1="312.401894" y2="315.436185"> + <stop offset="1" style="stop-color:#eff109;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e1ff16;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR12_1" x1="407.188259" x2="400.687931" y1="335.024352" y2="334.234075"> - <stop offset="0" style="stop-color:#f8f500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f8f500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR12_1" x1="407.188259" x2="400.687931" y1="335.024352" y2="334.234075"> + <stop offset="1" style="stop-color:#eff109;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f8f500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR12_2" x1="401.874193" x2="405.296117" y1="324.476629" y2="323.894862"> - <stop offset="0" style="stop-color:#f6df05;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f6df05;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR12_2" x1="401.874193" x2="405.296117" y1="324.476629" y2="323.894862"> + <stop offset="1" style="stop-color:#eff109;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f6df05;stop-opacity:0;"/> </linearGradient> - <polygon id="GT12" points="401.874193 324.476629 403.342179 312.401894 407.188259 335.024352"/> </defs> - <use fill="#eff109" fill-opacity="1" xlink:href="#GT12"/> - <use fill="url(#GR12_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT12"/> - <use fill="url(#GR12_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT12"/> - <use fill="url(#GR12_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT12"/> + <path d="M 401.874193,324.476629 L 403.342179,312.401894 407.188259,335.024352 Z" fill="#eff109" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 401.874193,324.476629 L 403.342179,312.401894 407.188259,335.024352 Z" fill="url(#GR12_0)" shape-rendering="crispEdges"/> + <path d="M 401.874193,324.476629 L 403.342179,312.401894 407.188259,335.024352 Z" fill="url(#GR12_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 401.874193,324.476629 L 403.342179,312.401894 407.188259,335.024352 Z" fill="url(#GR12_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR13_0" x1="407.188259" x2="400.687931" y1="335.024352" y2="334.234075"> - <stop offset="0" style="stop-color:#f8f500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f8f500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR13_0" x1="407.188259" x2="400.687931" y1="335.024352" y2="334.234075"> + <stop offset="1" style="stop-color:#f9da02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f8f500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR13_1" x1="400.406207" x2="406.428874" y1="336.551363" y2="333.517072"> - <stop offset="0" style="stop-color:#ffb900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR13_1" x1="400.406207" x2="406.428874" y1="336.551363" y2="333.517072"> + <stop offset="1" style="stop-color:#f9da02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR13_2" x1="401.874193" x2="404.390874" y1="324.476629" y2="335.654196"> - <stop offset="0" style="stop-color:#f6df05;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f6df05;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR13_2" x1="401.874193" x2="404.390874" y1="324.476629" y2="335.654196"> + <stop offset="1" style="stop-color:#f9da02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f6df05;stop-opacity:0;"/> </linearGradient> - <polygon id="GT13" points="401.874193 324.476629 407.188259 335.024352 400.406207 336.551363"/> </defs> - <use fill="#f9da02" fill-opacity="1" xlink:href="#GT13"/> - <use fill="url(#GR13_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT13"/> - <use fill="url(#GR13_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT13"/> - <use fill="url(#GR13_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT13"/> + <path d="M 401.874193,324.476629 L 407.188259,335.024352 400.406207,336.551363 Z" fill="#f9da02" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 401.874193,324.476629 L 407.188259,335.024352 400.406207,336.551363 Z" fill="url(#GR13_0)" shape-rendering="crispEdges"/> + <path d="M 401.874193,324.476629 L 407.188259,335.024352 400.406207,336.551363 Z" fill="url(#GR13_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 401.874193,324.476629 L 407.188259,335.024352 400.406207,336.551363 Z" fill="url(#GR13_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR14_0" x1="396.560126" x2="403.182286" y1="313.928905" y2="311.884081"> - <stop offset="0" style="stop-color:#ffd000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR14_0" x1="396.560126" x2="403.182286" y1="313.928905" y2="311.884081"> + <stop offset="1" style="stop-color:#fad704;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR14_1" x1="396.560126" x2="402.492268" y1="290.438229" y2="292.046375"> - <stop offset="0" style="stop-color:#ffd000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR14_1" x1="396.560126" x2="402.492268" y1="290.438229" y2="292.046375"> + <stop offset="1" style="stop-color:#fad704;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR14_2" x1="399.951153" x2="396.560126" y1="301.420061" y2="301.420061"> - <stop offset="0" style="stop-color:#f0e70b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f0e70b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR14_2" x1="399.951153" x2="396.560126" y1="301.420061" y2="301.420061"> + <stop offset="1" style="stop-color:#fad704;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f0e70b;stop-opacity:0;"/> </linearGradient> - <polygon id="GT14" points="399.951153 301.420061 396.560126 313.928905 396.560126 290.438229"/> </defs> - <use fill="#fad704" fill-opacity="1" xlink:href="#GT14"/> - <use fill="url(#GR14_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT14"/> - <use fill="url(#GR14_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT14"/> - <use fill="url(#GR14_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT14"/> + <path d="M 399.951153,301.420061 L 396.560126,313.928905 396.560126,290.438229 Z" fill="#fad704" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 399.951153,301.420061 L 396.560126,313.928905 396.560126,290.438229 Z" fill="url(#GR14_0)" shape-rendering="crispEdges"/> + <path d="M 399.951153,301.420061 L 396.560126,313.928905 396.560126,290.438229 Z" fill="url(#GR14_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 399.951153,301.420061 L 396.560126,313.928905 396.560126,290.438229 Z" fill="url(#GR14_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR15_0" x1="396.560126" x2="402.492268" y1="290.438229" y2="292.046375"> - <stop offset="0" style="stop-color:#ffd000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR15_0" x1="396.560126" x2="402.492268" y1="290.438229" y2="292.046375"> + <stop offset="1" style="stop-color:#f0e70b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR15_1" x1="403.342179" x2="396.720019" y1="288.911218" y2="290.956042"> - <stop offset="0" style="stop-color:#e1ff16;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e1ff16;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR15_1" x1="403.342179" x2="396.720019" y1="288.911218" y2="290.956042"> + <stop offset="1" style="stop-color:#f0e70b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e1ff16;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR15_2" x1="399.951153" x2="397.434229" y1="301.420061" y2="290.24142"> - <stop offset="0" style="stop-color:#f0e70b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f0e70b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR15_2" x1="399.951153" x2="397.434229" y1="301.420061" y2="290.24142"> + <stop offset="1" style="stop-color:#f0e70b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f0e70b;stop-opacity:0;"/> </linearGradient> - <polygon id="GT15" points="399.951153 301.420061 396.560126 290.438229 403.342179 288.911218"/> </defs> - <use fill="#f0e70b" fill-opacity="1" xlink:href="#GT15"/> - <use fill="url(#GR15_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT15"/> - <use fill="url(#GR15_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT15"/> - <use fill="url(#GR15_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT15"/> + <path d="M 399.951153,301.420061 L 396.560126,290.438229 403.342179,288.911218 Z" fill="#f0e70b" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 399.951153,301.420061 L 396.560126,290.438229 403.342179,288.911218 Z" fill="url(#GR15_0)" shape-rendering="crispEdges"/> + <path d="M 399.951153,301.420061 L 396.560126,290.438229 403.342179,288.911218 Z" fill="url(#GR15_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 399.951153,301.420061 L 396.560126,290.438229 403.342179,288.911218 Z" fill="url(#GR15_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR16_0" x1="403.342179" x2="396.720019" y1="288.911218" y2="290.956042"> - <stop offset="0" style="stop-color:#e1ff16;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e1ff16;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR16_0" x1="403.342179" x2="396.720019" y1="288.911218" y2="290.956042"> + <stop offset="1" style="stop-color:#e6f712;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e1ff16;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR16_1" x1="403.342179" x2="397.410037" y1="312.401894" y2="310.793748"> - <stop offset="0" style="stop-color:#e1ff16;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e1ff16;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR16_1" x1="403.342179" x2="397.410037" y1="312.401894" y2="310.793748"> + <stop offset="1" style="stop-color:#e6f712;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e1ff16;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR16_2" x1="399.951153" x2="403.342179" y1="301.420061" y2="301.420061"> - <stop offset="0" style="stop-color:#f0e70b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f0e70b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR16_2" x1="399.951153" x2="403.342179" y1="301.420061" y2="301.420061"> + <stop offset="1" style="stop-color:#e6f712;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f0e70b;stop-opacity:0;"/> </linearGradient> - <polygon id="GT16" points="399.951153 301.420061 403.342179 288.911218 403.342179 312.401894"/> </defs> - <use fill="#e6f712" fill-opacity="1" xlink:href="#GT16"/> - <use fill="url(#GR16_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT16"/> - <use fill="url(#GR16_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT16"/> - <use fill="url(#GR16_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT16"/> + <path d="M 399.951153,301.420061 L 403.342179,288.911218 403.342179,312.401894 Z" fill="#e6f712" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 399.951153,301.420061 L 403.342179,288.911218 403.342179,312.401894 Z" fill="url(#GR16_0)" shape-rendering="crispEdges"/> + <path d="M 399.951153,301.420061 L 403.342179,288.911218 403.342179,312.401894 Z" fill="url(#GR16_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 399.951153,301.420061 L 403.342179,288.911218 403.342179,312.401894 Z" fill="url(#GR16_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR17_0" x1="403.342179" x2="397.410037" y1="312.401894" y2="310.793748"> - <stop offset="0" style="stop-color:#e1ff16;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e1ff16;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR17_0" x1="403.342179" x2="397.410037" y1="312.401894" y2="310.793748"> + <stop offset="1" style="stop-color:#f0e70b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e1ff16;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR17_1" x1="396.560126" x2="403.182286" y1="313.928905" y2="311.884081"> - <stop offset="0" style="stop-color:#ffd000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR17_1" x1="396.560126" x2="403.182286" y1="313.928905" y2="311.884081"> + <stop offset="1" style="stop-color:#f0e70b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR17_2" x1="399.951153" x2="402.468076" y1="301.420061" y2="312.598703"> - <stop offset="0" style="stop-color:#f0e70b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f0e70b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR17_2" x1="399.951153" x2="402.468076" y1="301.420061" y2="312.598703"> + <stop offset="1" style="stop-color:#f0e70b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f0e70b;stop-opacity:0;"/> </linearGradient> - <polygon id="GT17" points="399.951153 301.420061 403.342179 312.401894 396.560126 313.928905"/> </defs> - <use fill="#f0e70b" fill-opacity="1" xlink:href="#GT17"/> - <use fill="url(#GR17_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT17"/> - <use fill="url(#GR17_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT17"/> - <use fill="url(#GR17_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT17"/> + <path d="M 399.951153,301.420061 L 403.342179,312.401894 396.560126,313.928905 Z" fill="#f0e70b" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 399.951153,301.420061 L 403.342179,312.401894 396.560126,313.928905 Z" fill="url(#GR17_0)" shape-rendering="crispEdges"/> + <path d="M 399.951153,301.420061 L 403.342179,312.401894 396.560126,313.928905 Z" fill="url(#GR17_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 399.951153,301.420061 L 403.342179,312.401894 396.560126,313.928905 Z" fill="url(#GR17_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR18_0" x1="396.560126" x2="403.421792" y1="290.438229" y2="289.483252"> - <stop offset="0" style="stop-color:#ffd000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR18_0" x1="396.560126" x2="403.421792" y1="290.438229" y2="289.483252"> + <stop offset="1" style="stop-color:#fccd02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR18_1" x1="400.406207" x2="405.52482" y1="267.815771" y2="270.068462"> - <stop offset="0" style="stop-color:#ffb900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR18_1" x1="400.406207" x2="405.52482" y1="267.815771" y2="270.068462"> + <stop offset="1" style="stop-color:#fccd02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR18_2" x1="401.874193" x2="398.704585" y1="278.363494" y2="277.824624"> - <stop offset="0" style="stop-color:#f6df05;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f6df05;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR18_2" x1="401.874193" x2="398.704585" y1="278.363494" y2="277.824624"> + <stop offset="1" style="stop-color:#fccd02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f6df05;stop-opacity:0;"/> </linearGradient> - <polygon id="GT18" points="401.874193 278.363494 396.560126 290.438229 400.406207 267.815771"/> </defs> - <use fill="#fccd02" fill-opacity="1" xlink:href="#GT18"/> - <use fill="url(#GR18_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT18"/> - <use fill="url(#GR18_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT18"/> - <use fill="url(#GR18_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT18"/> + <path d="M 401.874193,278.363494 L 396.560126,290.438229 400.406207,267.815771 Z" fill="#fccd02" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 401.874193,278.363494 L 396.560126,290.438229 400.406207,267.815771 Z" fill="url(#GR18_0)" shape-rendering="crispEdges"/> + <path d="M 401.874193,278.363494 L 396.560126,290.438229 400.406207,267.815771 Z" fill="url(#GR18_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 401.874193,278.363494 L 396.560126,290.438229 400.406207,267.815771 Z" fill="url(#GR18_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR19_0" x1="400.406207" x2="405.52482" y1="267.815771" y2="270.068462"> - <stop offset="0" style="stop-color:#ffb900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR19_0" x1="400.406207" x2="405.52482" y1="267.815771" y2="270.068462"> + <stop offset="1" style="stop-color:#f9da02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR19_1" x1="407.188259" x2="400.326594" y1="266.28876" y2="267.243737"> - <stop offset="0" style="stop-color:#f8f500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f8f500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR19_1" x1="407.188259" x2="400.326594" y1="266.28876" y2="267.243737"> + <stop offset="1" style="stop-color:#f9da02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f8f500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR19_2" x1="401.874193" x2="399.54308" y1="278.363494" y2="268.010108"> - <stop offset="0" style="stop-color:#f6df05;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f6df05;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR19_2" x1="401.874193" x2="399.54308" y1="278.363494" y2="268.010108"> + <stop offset="1" style="stop-color:#f9da02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f6df05;stop-opacity:0;"/> </linearGradient> - <polygon id="GT19" points="401.874193 278.363494 400.406207 267.815771 407.188259 266.28876"/> </defs> - <use fill="#f9da02" fill-opacity="1" xlink:href="#GT19"/> - <use fill="url(#GR19_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT19"/> - <use fill="url(#GR19_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT19"/> - <use fill="url(#GR19_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT19"/> + <path d="M 401.874193,278.363494 L 400.406207,267.815771 407.188259,266.28876 Z" fill="#f9da02" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 401.874193,278.363494 L 400.406207,267.815771 407.188259,266.28876 Z" fill="url(#GR19_0)" shape-rendering="crispEdges"/> + <path d="M 401.874193,278.363494 L 400.406207,267.815771 407.188259,266.28876 Z" fill="url(#GR19_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 401.874193,278.363494 L 400.406207,267.815771 407.188259,266.28876 Z" fill="url(#GR19_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1a_0" x1="407.188259" x2="400.326594" y1="266.28876" y2="267.243737"> - <stop offset="0" style="stop-color:#f8f500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f8f500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1a_0" x1="407.188259" x2="400.326594" y1="266.28876" y2="267.243737"> + <stop offset="1" style="stop-color:#eff109;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f8f500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1a_1" x1="403.342179" x2="398.223566" y1="288.911218" y2="286.658526"> - <stop offset="0" style="stop-color:#e1ff16;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e1ff16;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1a_1" x1="403.342179" x2="398.223566" y1="288.911218" y2="286.658526"> + <stop offset="1" style="stop-color:#eff109;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e1ff16;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1a_2" x1="401.874193" x2="405.0438" y1="278.363494" y2="278.902364"> - <stop offset="0" style="stop-color:#f6df05;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f6df05;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1a_2" x1="401.874193" x2="405.0438" y1="278.363494" y2="278.902364"> + <stop offset="1" style="stop-color:#eff109;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f6df05;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1a" points="401.874193 278.363494 407.188259 266.28876 403.342179 288.911218"/> </defs> - <use fill="#eff109" fill-opacity="1" xlink:href="#GT1a"/> - <use fill="url(#GR1a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1a"/> - <use fill="url(#GR1a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1a"/> - <use fill="url(#GR1a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1a"/> + <path d="M 401.874193,278.363494 L 407.188259,266.28876 403.342179,288.911218 Z" fill="#eff109" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 401.874193,278.363494 L 407.188259,266.28876 403.342179,288.911218 Z" fill="url(#GR1a_0)" shape-rendering="crispEdges"/> + <path d="M 401.874193,278.363494 L 407.188259,266.28876 403.342179,288.911218 Z" fill="url(#GR1a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 401.874193,278.363494 L 407.188259,266.28876 403.342179,288.911218 Z" fill="url(#GR1a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1b_0" x1="403.342179" x2="398.223566" y1="288.911218" y2="286.658526"> - <stop offset="0" style="stop-color:#e1ff16;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e1ff16;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1b_0" x1="403.342179" x2="398.223566" y1="288.911218" y2="286.658526"> + <stop offset="1" style="stop-color:#f2e509;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e1ff16;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1b_1" x1="396.560126" x2="403.421792" y1="290.438229" y2="289.483252"> - <stop offset="0" style="stop-color:#ffd000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1b_1" x1="396.560126" x2="403.421792" y1="290.438229" y2="289.483252"> + <stop offset="1" style="stop-color:#f2e509;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1b_2" x1="401.874193" x2="404.205306" y1="278.363494" y2="288.716881"> - <stop offset="0" style="stop-color:#f6df05;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f6df05;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1b_2" x1="401.874193" x2="404.205306" y1="278.363494" y2="288.716881"> + <stop offset="1" style="stop-color:#f2e509;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f6df05;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1b" points="401.874193 278.363494 403.342179 288.911218 396.560126 290.438229"/> </defs> - <use fill="#f2e509" fill-opacity="1" xlink:href="#GT1b"/> - <use fill="url(#GR1b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1b"/> - <use fill="url(#GR1b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1b"/> - <use fill="url(#GR1b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1b"/> + <path d="M 401.874193,278.363494 L 403.342179,288.911218 396.560126,290.438229 Z" fill="#f2e509" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 401.874193,278.363494 L 403.342179,288.911218 396.560126,290.438229 Z" fill="url(#GR1b_0)" shape-rendering="crispEdges"/> + <path d="M 401.874193,278.363494 L 403.342179,288.911218 396.560126,290.438229 Z" fill="url(#GR1b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 401.874193,278.363494 L 403.342179,288.911218 396.560126,290.438229 Z" fill="url(#GR1b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1c_0" x1="400.406207" x2="407.12911" y1="267.815771" y2="268.042515"> - <stop offset="0" style="stop-color:#ffb900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1c_0" x1="400.406207" x2="407.12911" y1="267.815771" y2="268.042515"> + <stop offset="1" style="stop-color:#fead00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1c_1" x1="407.814065" x2="411.852123" y1="247.73379" y2="250.385449"> - <stop offset="0" style="stop-color:#ff8d00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8d00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1c_1" x1="407.814065" x2="411.852123" y1="247.73379" y2="250.385449"> + <stop offset="1" style="stop-color:#fead00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8d00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1c_2" x1="407.501162" x2="404.764204" y1="257.011275" y2="256.001664"> - <stop offset="0" style="stop-color:#fdc000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fdc000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1c_2" x1="407.501162" x2="404.764204" y1="257.011275" y2="256.001664"> + <stop offset="1" style="stop-color:#fead00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fdc000;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1c" points="407.501162 257.011275 400.406207 267.815771 407.814065 247.73379"/> </defs> - <use fill="#fead00" fill-opacity="1" xlink:href="#GT1c"/> - <use fill="url(#GR1c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1c"/> - <use fill="url(#GR1c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1c"/> - <use fill="url(#GR1c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1c"/> + <path d="M 407.501162,257.011275 L 400.406207,267.815771 407.814065,247.73379 Z" fill="#fead00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 407.501162,257.011275 L 400.406207,267.815771 407.814065,247.73379 Z" fill="url(#GR1c_0)" shape-rendering="crispEdges"/> + <path d="M 407.501162,257.011275 L 400.406207,267.815771 407.814065,247.73379 Z" fill="url(#GR1c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 407.501162,257.011275 L 400.406207,267.815771 407.814065,247.73379 Z" fill="url(#GR1c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1d_0" x1="407.814065" x2="411.852123" y1="247.73379" y2="250.385449"> - <stop offset="0" style="stop-color:#ff8d00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8d00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1d_0" x1="407.814065" x2="411.852123" y1="247.73379" y2="250.385449"> + <stop offset="1" style="stop-color:#feb000;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8d00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1d_1" x1="414.596117" x2="407.873214" y1="246.206779" y2="245.980035"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1d_1" x1="414.596117" x2="407.873214" y1="246.206779" y2="245.980035"> + <stop offset="1" style="stop-color:#feb000;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1d_2" x1="407.501162" x2="405.528175" y1="257.011275" y2="248.248468"> - <stop offset="0" style="stop-color:#fdc000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fdc000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1d_2" x1="407.501162" x2="405.528175" y1="257.011275" y2="248.248468"> + <stop offset="1" style="stop-color:#feb000;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fdc000;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1d" points="407.501162 257.011275 407.814065 247.73379 414.596117 246.206779"/> </defs> - <use fill="#feb000" fill-opacity="1" xlink:href="#GT1d"/> - <use fill="url(#GR1d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1d"/> - <use fill="url(#GR1d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1d"/> - <use fill="url(#GR1d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1d"/> + <path d="M 407.501162,257.011275 L 407.814065,247.73379 414.596117,246.206779 Z" fill="#feb000" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 407.501162,257.011275 L 407.814065,247.73379 414.596117,246.206779 Z" fill="url(#GR1d_0)" shape-rendering="crispEdges"/> + <path d="M 407.501162,257.011275 L 407.814065,247.73379 414.596117,246.206779 Z" fill="url(#GR1d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 407.501162,257.011275 L 407.814065,247.73379 414.596117,246.206779 Z" fill="url(#GR1d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1e_0" x1="414.596117" x2="407.873214" y1="246.206779" y2="245.980035"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1e_0" x1="414.596117" x2="407.873214" y1="246.206779" y2="245.980035"> + <stop offset="1" style="stop-color:#fcd300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1e_1" x1="407.188259" x2="403.150201" y1="266.28876" y2="263.637101"> - <stop offset="0" style="stop-color:#f8f500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f8f500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1e_1" x1="407.188259" x2="403.150201" y1="266.28876" y2="263.637101"> + <stop offset="1" style="stop-color:#fcd300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f8f500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1e_2" x1="407.501162" x2="410.23812" y1="257.011275" y2="258.020886"> - <stop offset="0" style="stop-color:#fdc000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fdc000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1e_2" x1="407.501162" x2="410.23812" y1="257.011275" y2="258.020886"> + <stop offset="1" style="stop-color:#fcd300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fdc000;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1e" points="407.501162 257.011275 414.596117 246.206779 407.188259 266.28876"/> </defs> - <use fill="#fcd300" fill-opacity="1" xlink:href="#GT1e"/> - <use fill="url(#GR1e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1e"/> - <use fill="url(#GR1e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1e"/> - <use fill="url(#GR1e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1e"/> + <path d="M 407.501162,257.011275 L 414.596117,246.206779 407.188259,266.28876 Z" fill="#fcd300" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 407.501162,257.011275 L 414.596117,246.206779 407.188259,266.28876 Z" fill="url(#GR1e_0)" shape-rendering="crispEdges"/> + <path d="M 407.501162,257.011275 L 414.596117,246.206779 407.188259,266.28876 Z" fill="url(#GR1e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 407.501162,257.011275 L 414.596117,246.206779 407.188259,266.28876 Z" fill="url(#GR1e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1f_0" x1="407.188259" x2="403.150201" y1="266.28876" y2="263.637101"> - <stop offset="0" style="stop-color:#f8f500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f8f500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1f_0" x1="407.188259" x2="403.150201" y1="266.28876" y2="263.637101"> + <stop offset="1" style="stop-color:#fccf00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f8f500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1f_1" x1="400.406207" x2="407.12911" y1="267.815771" y2="268.042515"> - <stop offset="0" style="stop-color:#ffb900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1f_1" x1="400.406207" x2="407.12911" y1="267.815771" y2="268.042515"> + <stop offset="1" style="stop-color:#fccf00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1f_2" x1="407.501162" x2="409.474149" y1="257.011275" y2="265.774081"> - <stop offset="0" style="stop-color:#fdc000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fdc000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1f_2" x1="407.501162" x2="409.474149" y1="257.011275" y2="265.774081"> + <stop offset="1" style="stop-color:#fccf00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fdc000;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1f" points="407.501162 257.011275 407.188259 266.28876 400.406207 267.815771"/> </defs> - <use fill="#fccf00" fill-opacity="1" xlink:href="#GT1f"/> - <use fill="url(#GR1f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1f"/> - <use fill="url(#GR1f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1f"/> - <use fill="url(#GR1f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1f"/> + <path d="M 407.501162,257.011275 L 407.188259,266.28876 400.406207,267.815771 Z" fill="#fccf00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 407.501162,257.011275 L 407.188259,266.28876 400.406207,267.815771 Z" fill="url(#GR1f_0)" shape-rendering="crispEdges"/> + <path d="M 407.501162,257.011275 L 407.188259,266.28876 400.406207,267.815771 Z" fill="url(#GR1f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 407.501162,257.011275 L 407.188259,266.28876 400.406207,267.815771 Z" fill="url(#GR1f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR20_0" x1="407.814065" x2="413.835675" y1="247.73379" y2="249.242294"> - <stop offset="0" style="stop-color:#ff8d00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8d00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR20_0" x1="407.814065" x2="413.835675" y1="247.73379" y2="249.242294"> + <stop offset="1" style="stop-color:#ff7600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8d00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR20_1" x1="418.236109" x2="420.937876" y1="231.676751" y2="234.320139"> - <stop offset="0" style="stop-color:#ff4e00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff4e00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR20_1" x1="418.236109" x2="420.937876" y1="231.676751" y2="234.320139"> + <stop offset="1" style="stop-color:#ff7600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff4e00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR20_2" x1="416.416113" x2="414.378897" y1="238.941765" y2="237.619482"> - <stop offset="0" style="stop-color:#ff8800;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8800;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR20_2" x1="416.416113" x2="414.378897" y1="238.941765" y2="237.619482"> + <stop offset="1" style="stop-color:#ff7600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8800;stop-opacity:0;"/> </linearGradient> - <polygon id="GT20" points="416.416113 238.941765 407.814065 247.73379 418.236109 231.676751"/> </defs> - <use fill="#ff7600" fill-opacity="1" xlink:href="#GT20"/> - <use fill="url(#GR20_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT20"/> - <use fill="url(#GR20_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT20"/> - <use fill="url(#GR20_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT20"/> + <path d="M 416.416113,238.941765 L 407.814065,247.73379 418.236109,231.676751 Z" fill="#ff7600" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 416.416113,238.941765 L 407.814065,247.73379 418.236109,231.676751 Z" fill="url(#GR20_0)" shape-rendering="crispEdges"/> + <path d="M 416.416113,238.941765 L 407.814065,247.73379 418.236109,231.676751 Z" fill="url(#GR20_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 416.416113,238.941765 L 407.814065,247.73379 418.236109,231.676751 Z" fill="url(#GR20_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR21_0" x1="418.236109" x2="420.937876" y1="231.676751" y2="234.320139"> - <stop offset="0" style="stop-color:#ff4e00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff4e00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR21_0" x1="418.236109" x2="420.937876" y1="231.676751" y2="234.320139"> + <stop offset="1" style="stop-color:#ff7300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff4e00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR21_1" x1="425.018162" x2="418.996551" y1="230.149741" y2="228.641236"> - <stop offset="0" style="stop-color:#ff8200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR21_1" x1="425.018162" x2="418.996551" y1="230.149741" y2="228.641236"> + <stop offset="1" style="stop-color:#ff7300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR21_2" x1="416.416113" x2="414.947097" y1="238.941765" y2="232.417288"> - <stop offset="0" style="stop-color:#ff8800;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8800;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR21_2" x1="416.416113" x2="414.947097" y1="238.941765" y2="232.417288"> + <stop offset="1" style="stop-color:#ff7300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8800;stop-opacity:0;"/> </linearGradient> - <polygon id="GT21" points="416.416113 238.941765 418.236109 231.676751 425.018162 230.149741"/> </defs> - <use fill="#ff7300" fill-opacity="1" xlink:href="#GT21"/> - <use fill="url(#GR21_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT21"/> - <use fill="url(#GR21_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT21"/> - <use fill="url(#GR21_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT21"/> + <path d="M 416.416113,238.941765 L 418.236109,231.676751 425.018162,230.149741 Z" fill="#ff7300" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 416.416113,238.941765 L 418.236109,231.676751 425.018162,230.149741 Z" fill="url(#GR21_0)" shape-rendering="crispEdges"/> + <path d="M 416.416113,238.941765 L 418.236109,231.676751 425.018162,230.149741 Z" fill="url(#GR21_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 416.416113,238.941765 L 418.236109,231.676751 425.018162,230.149741 Z" fill="url(#GR21_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR22_0" x1="425.018162" x2="418.996551" y1="230.149741" y2="228.641236"> - <stop offset="0" style="stop-color:#ff8200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR22_0" x1="425.018162" x2="418.996551" y1="230.149741" y2="228.641236"> + <stop offset="1" style="stop-color:#ff9a00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR22_1" x1="414.596117" x2="411.89435" y1="246.206779" y2="243.563391"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR22_1" x1="414.596117" x2="411.89435" y1="246.206779" y2="243.563391"> + <stop offset="1" style="stop-color:#ff9a00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR22_2" x1="416.416113" x2="418.453329" y1="238.941765" y2="240.264049"> - <stop offset="0" style="stop-color:#ff8800;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8800;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR22_2" x1="416.416113" x2="418.453329" y1="238.941765" y2="240.264049"> + <stop offset="1" style="stop-color:#ff9a00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8800;stop-opacity:0;"/> </linearGradient> - <polygon id="GT22" points="416.416113 238.941765 425.018162 230.149741 414.596117 246.206779"/> </defs> - <use fill="#ff9a00" fill-opacity="1" xlink:href="#GT22"/> - <use fill="url(#GR22_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT22"/> - <use fill="url(#GR22_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT22"/> - <use fill="url(#GR22_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT22"/> + <path d="M 416.416113,238.941765 L 425.018162,230.149741 414.596117,246.206779 Z" fill="#ff9a00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 416.416113,238.941765 L 425.018162,230.149741 414.596117,246.206779 Z" fill="url(#GR22_0)" shape-rendering="crispEdges"/> + <path d="M 416.416113,238.941765 L 425.018162,230.149741 414.596117,246.206779 Z" fill="url(#GR22_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 416.416113,238.941765 L 425.018162,230.149741 414.596117,246.206779 Z" fill="url(#GR22_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR23_0" x1="414.596117" x2="411.89435" y1="246.206779" y2="243.563391"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR23_0" x1="414.596117" x2="411.89435" y1="246.206779" y2="243.563391"> + <stop offset="1" style="stop-color:#ff9e00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR23_1" x1="407.814065" x2="413.835675" y1="247.73379" y2="249.242294"> - <stop offset="0" style="stop-color:#ff8d00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8d00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR23_1" x1="407.814065" x2="413.835675" y1="247.73379" y2="249.242294"> + <stop offset="1" style="stop-color:#ff9e00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8d00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR23_2" x1="416.416113" x2="417.88513" y1="238.941765" y2="245.466243"> - <stop offset="0" style="stop-color:#ff8800;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8800;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR23_2" x1="416.416113" x2="417.88513" y1="238.941765" y2="245.466243"> + <stop offset="1" style="stop-color:#ff9e00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8800;stop-opacity:0;"/> </linearGradient> - <polygon id="GT23" points="416.416113 238.941765 414.596117 246.206779 407.814065 247.73379"/> </defs> - <use fill="#ff9e00" fill-opacity="1" xlink:href="#GT23"/> - <use fill="url(#GR23_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT23"/> - <use fill="url(#GR23_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT23"/> - <use fill="url(#GR23_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT23"/> + <path d="M 416.416113,238.941765 L 414.596117,246.206779 407.814065,247.73379 Z" fill="#ff9e00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 416.416113,238.941765 L 414.596117,246.206779 407.814065,247.73379 Z" fill="url(#GR23_0)" shape-rendering="crispEdges"/> + <path d="M 416.416113,238.941765 L 414.596117,246.206779 407.814065,247.73379 Z" fill="url(#GR23_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 416.416113,238.941765 L 414.596117,246.206779 407.814065,247.73379 Z" fill="url(#GR23_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR24_0" x1="418.236109" x2="422.395558" y1="231.676751" y2="234.303161"> - <stop offset="0" style="stop-color:#ff4e00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff4e00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR24_0" x1="418.236109" x2="422.395558" y1="231.676751" y2="234.303161"> + <stop offset="1" style="stop-color:#f52f00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff4e00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR24_1" x1="430.901939" x2="432.164364" y1="220.831596" y2="222.816009"> - <stop offset="0" style="stop-color:#e80000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e80000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR24_1" x1="430.901939" x2="432.164364" y1="220.831596" y2="222.816009"> + <stop offset="1" style="stop-color:#f52f00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e80000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR24_2" x1="427.960051" x2="426.902772" y1="225.490668" y2="224.255895"> - <stop offset="0" style="stop-color:#f94000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f94000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR24_2" x1="427.960051" x2="426.902772" y1="225.490668" y2="224.255895"> + <stop offset="1" style="stop-color:#f52f00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f94000;stop-opacity:0;"/> </linearGradient> - <polygon id="GT24" points="427.960051 225.490668 418.236109 231.676751 430.901939 220.831596"/> </defs> - <use fill="#f52f00" fill-opacity="1" xlink:href="#GT24"/> - <use fill="url(#GR24_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT24"/> - <use fill="url(#GR24_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT24"/> - <use fill="url(#GR24_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT24"/> + <path d="M 427.960051,225.490668 L 418.236109,231.676751 430.901939,220.831596 Z" fill="#f52f00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 427.960051,225.490668 L 418.236109,231.676751 430.901939,220.831596 Z" fill="url(#GR24_0)" shape-rendering="crispEdges"/> + <path d="M 427.960051,225.490668 L 418.236109,231.676751 430.901939,220.831596 Z" fill="url(#GR24_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 427.960051,225.490668 L 418.236109,231.676751 430.901939,220.831596 Z" fill="url(#GR24_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR25_0" x1="430.901939" x2="432.164364" y1="220.831596" y2="222.816009"> - <stop offset="0" style="stop-color:#e80000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e80000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR25_0" x1="430.901939" x2="432.164364" y1="220.831596" y2="222.816009"> + <stop offset="1" style="stop-color:#f52600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e80000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR25_1" x1="437.683992" x2="433.524543" y1="219.304585" y2="216.678175"> - <stop offset="0" style="stop-color:#ff3000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff3000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR25_1" x1="437.683992" x2="433.524543" y1="219.304585" y2="216.678175"> + <stop offset="1" style="stop-color:#f52600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff3000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR25_2" x1="427.960051" x2="427.103594" y1="225.490668" y2="221.686811"> - <stop offset="0" style="stop-color:#f94000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f94000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR25_2" x1="427.960051" x2="427.103594" y1="225.490668" y2="221.686811"> + <stop offset="1" style="stop-color:#f52600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f94000;stop-opacity:0;"/> </linearGradient> - <polygon id="GT25" points="427.960051 225.490668 430.901939 220.831596 437.683992 219.304585"/> </defs> - <use fill="#f52600" fill-opacity="1" xlink:href="#GT25"/> - <use fill="url(#GR25_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT25"/> - <use fill="url(#GR25_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT25"/> - <use fill="url(#GR25_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT25"/> + <path d="M 427.960051,225.490668 L 430.901939,220.831596 437.683992,219.304585 Z" fill="#f52600" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 427.960051,225.490668 L 430.901939,220.831596 437.683992,219.304585 Z" fill="url(#GR25_0)" shape-rendering="crispEdges"/> + <path d="M 427.960051,225.490668 L 430.901939,220.831596 437.683992,219.304585 Z" fill="url(#GR25_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 427.960051,225.490668 L 430.901939,220.831596 437.683992,219.304585 Z" fill="url(#GR25_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR26_0" x1="437.683992" x2="433.524543" y1="219.304585" y2="216.678175"> - <stop offset="0" style="stop-color:#ff3000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff3000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR26_0" x1="437.683992" x2="433.524543" y1="219.304585" y2="216.678175"> + <stop offset="1" style="stop-color:#fd5100;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff3000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR26_1" x1="425.018162" x2="423.755737" y1="230.149741" y2="228.165328"> - <stop offset="0" style="stop-color:#ff8200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR26_1" x1="425.018162" x2="423.755737" y1="230.149741" y2="228.165328"> + <stop offset="1" style="stop-color:#fd5100;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR26_2" x1="427.960051" x2="429.017329" y1="225.490668" y2="226.725441"> - <stop offset="0" style="stop-color:#f94000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f94000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR26_2" x1="427.960051" x2="429.017329" y1="225.490668" y2="226.725441"> + <stop offset="1" style="stop-color:#fd5100;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f94000;stop-opacity:0;"/> </linearGradient> - <polygon id="GT26" points="427.960051 225.490668 437.683992 219.304585 425.018162 230.149741"/> </defs> - <use fill="#fd5100" fill-opacity="1" xlink:href="#GT26"/> - <use fill="url(#GR26_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT26"/> - <use fill="url(#GR26_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT26"/> - <use fill="url(#GR26_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT26"/> + <path d="M 427.960051,225.490668 L 437.683992,219.304585 425.018162,230.149741 Z" fill="#fd5100" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 427.960051,225.490668 L 437.683992,219.304585 425.018162,230.149741 Z" fill="url(#GR26_0)" shape-rendering="crispEdges"/> + <path d="M 427.960051,225.490668 L 437.683992,219.304585 425.018162,230.149741 Z" fill="url(#GR26_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 427.960051,225.490668 L 437.683992,219.304585 425.018162,230.149741 Z" fill="url(#GR26_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR27_0" x1="425.018162" x2="423.755737" y1="230.149741" y2="228.165328"> - <stop offset="0" style="stop-color:#ff8200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR27_0" x1="425.018162" x2="423.755737" y1="230.149741" y2="228.165328"> + <stop offset="1" style="stop-color:#fd5b00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR27_1" x1="418.236109" x2="422.395558" y1="231.676751" y2="234.303161"> - <stop offset="0" style="stop-color:#ff4e00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff4e00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR27_1" x1="418.236109" x2="422.395558" y1="231.676751" y2="234.303161"> + <stop offset="1" style="stop-color:#fd5b00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff4e00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR27_2" x1="427.960051" x2="428.816507" y1="225.490668" y2="229.294525"> - <stop offset="0" style="stop-color:#f94000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f94000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR27_2" x1="427.960051" x2="428.816507" y1="225.490668" y2="229.294525"> + <stop offset="1" style="stop-color:#fd5b00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f94000;stop-opacity:0;"/> </linearGradient> - <polygon id="GT27" points="427.960051 225.490668 425.018162 230.149741 418.236109 231.676751"/> </defs> - <use fill="#fd5b00" fill-opacity="1" xlink:href="#GT27"/> - <use fill="url(#GR27_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT27"/> - <use fill="url(#GR27_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT27"/> - <use fill="url(#GR27_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT27"/> + <path d="M 427.960051,225.490668 L 425.018162,230.149741 418.236109,231.676751 Z" fill="#fd5b00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 427.960051,225.490668 L 425.018162,230.149741 418.236109,231.676751 Z" fill="url(#GR27_0)" shape-rendering="crispEdges"/> + <path d="M 427.960051,225.490668 L 425.018162,230.149741 418.236109,231.676751 Z" fill="url(#GR27_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 427.960051,225.490668 L 425.018162,230.149741 418.236109,231.676751 Z" fill="url(#GR27_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR28_0" x1="430.901939" x2="431.505014" y1="220.831596" y2="222.143982"> - <stop offset="0" style="stop-color:#e80000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e80000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR28_0" x1="430.901939" x2="431.505014" y1="220.831596" y2="222.143982"> + <stop offset="1" style="stop-color:#ba0400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e80000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR28_1" x1="444.875294" x2="445.029539" y1="216" y2="216.503478"> - <stop offset="0" style="stop-color:#800000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#800000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR28_1" x1="444.875294" x2="445.029539" y1="216" y2="216.503478"> + <stop offset="1" style="stop-color:#ba0400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#800000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR28_2" x1="441.279643" x2="441.15332" y1="217.652292" y2="217.286955"> - <stop offset="0" style="stop-color:#c60c00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c60c00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR28_2" x1="441.279643" x2="441.15332" y1="217.652292" y2="217.286955"> + <stop offset="1" style="stop-color:#ba0400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c60c00;stop-opacity:0;"/> </linearGradient> - <polygon id="GT28" points="441.279643 217.652292 430.901939 220.831596 444.875294 216"/> </defs> - <use fill="#ba0400" fill-opacity="1" xlink:href="#GT28"/> - <use fill="url(#GR28_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT28"/> - <use fill="url(#GR28_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT28"/> - <use fill="url(#GR28_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT28"/> + <path d="M 441.279643,217.652292 L 430.901939,220.831596 444.875294,216 Z" fill="#ba0400" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.279643,217.652292 L 430.901939,220.831596 444.875294,216 Z" fill="url(#GR28_0)" shape-rendering="crispEdges"/> + <path d="M 441.279643,217.652292 L 430.901939,220.831596 444.875294,216 Z" fill="url(#GR28_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.279643,217.652292 L 430.901939,220.831596 444.875294,216 Z" fill="url(#GR28_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR29_0" x1="444.875294" x2="445.029539" y1="216" y2="216.503478"> - <stop offset="0" style="stop-color:#800000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#800000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR29_0" x1="444.875294" x2="445.029539" y1="216" y2="216.503478"> + <stop offset="1" style="stop-color:#a80400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#800000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR29_1" x1="451.657347" x2="451.054272" y1="214.472989" y2="213.160603"> - <stop offset="0" style="stop-color:#b20000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b20000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR29_1" x1="451.657347" x2="451.054272" y1="214.472989" y2="213.160603"> + <stop offset="1" style="stop-color:#a80400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b20000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR29_2" x1="441.279643" x2="441.099057" y1="217.652292" y2="216.850237"> - <stop offset="0" style="stop-color:#c60c00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c60c00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR29_2" x1="441.279643" x2="441.099057" y1="217.652292" y2="216.850237"> + <stop offset="1" style="stop-color:#a80400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c60c00;stop-opacity:0;"/> </linearGradient> - <polygon id="GT29" points="441.279643 217.652292 444.875294 216 451.657347 214.472989"/> </defs> - <use fill="#a80400" fill-opacity="1" xlink:href="#GT29"/> - <use fill="url(#GR29_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT29"/> - <use fill="url(#GR29_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT29"/> - <use fill="url(#GR29_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT29"/> + <path d="M 441.279643,217.652292 L 444.875294,216 451.657347,214.472989 Z" fill="#a80400" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.279643,217.652292 L 444.875294,216 451.657347,214.472989 Z" fill="url(#GR29_0)" shape-rendering="crispEdges"/> + <path d="M 441.279643,217.652292 L 444.875294,216 451.657347,214.472989 Z" fill="url(#GR29_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.279643,217.652292 L 444.875294,216 451.657347,214.472989 Z" fill="url(#GR29_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2a_0" x1="451.657347" x2="451.054272" y1="214.472989" y2="213.160603"> - <stop offset="0" style="stop-color:#b20000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b20000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2a_0" x1="451.657347" x2="451.054272" y1="214.472989" y2="213.160603"> + <stop offset="1" style="stop-color:#d21400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b20000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2a_1" x1="437.683992" x2="437.529747" y1="219.304585" y2="218.801107"> - <stop offset="0" style="stop-color:#ff3000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff3000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2a_1" x1="437.683992" x2="437.529747" y1="219.304585" y2="218.801107"> + <stop offset="1" style="stop-color:#d21400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff3000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2a_2" x1="441.279643" x2="441.405967" y1="217.652292" y2="218.01763"> - <stop offset="0" style="stop-color:#c60c00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c60c00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2a_2" x1="441.279643" x2="441.405967" y1="217.652292" y2="218.01763"> + <stop offset="1" style="stop-color:#d21400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c60c00;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2a" points="441.279643 217.652292 451.657347 214.472989 437.683992 219.304585"/> </defs> - <use fill="#d21400" fill-opacity="1" xlink:href="#GT2a"/> - <use fill="url(#GR2a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2a"/> - <use fill="url(#GR2a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2a"/> - <use fill="url(#GR2a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2a"/> + <path d="M 441.279643,217.652292 L 451.657347,214.472989 437.683992,219.304585 Z" fill="#d21400" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.279643,217.652292 L 451.657347,214.472989 437.683992,219.304585 Z" fill="url(#GR2a_0)" shape-rendering="crispEdges"/> + <path d="M 441.279643,217.652292 L 451.657347,214.472989 437.683992,219.304585 Z" fill="url(#GR2a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.279643,217.652292 L 451.657347,214.472989 437.683992,219.304585 Z" fill="url(#GR2a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2b_0" x1="437.683992" x2="437.529747" y1="219.304585" y2="218.801107"> - <stop offset="0" style="stop-color:#ff3000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff3000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2b_0" x1="437.683992" x2="437.529747" y1="219.304585" y2="218.801107"> + <stop offset="1" style="stop-color:#e41400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff3000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2b_1" x1="430.901939" x2="431.505014" y1="220.831596" y2="222.143982"> - <stop offset="0" style="stop-color:#e80000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e80000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2b_1" x1="430.901939" x2="431.505014" y1="220.831596" y2="222.143982"> + <stop offset="1" style="stop-color:#e41400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e80000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2b_2" x1="441.279643" x2="441.460229" y1="217.652292" y2="218.454348"> - <stop offset="0" style="stop-color:#c60c00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c60c00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2b_2" x1="441.279643" x2="441.460229" y1="217.652292" y2="218.454348"> + <stop offset="1" style="stop-color:#e41400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c60c00;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2b" points="441.279643 217.652292 437.683992 219.304585 430.901939 220.831596"/> </defs> - <use fill="#e41400" fill-opacity="1" xlink:href="#GT2b"/> - <use fill="url(#GR2b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2b"/> - <use fill="url(#GR2b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2b"/> - <use fill="url(#GR2b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2b"/> + <path d="M 441.279643,217.652292 L 437.683992,219.304585 430.901939,220.831596 Z" fill="#e41400" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.279643,217.652292 L 437.683992,219.304585 430.901939,220.831596 Z" fill="url(#GR2b_0)" shape-rendering="crispEdges"/> + <path d="M 441.279643,217.652292 L 437.683992,219.304585 430.901939,220.831596 Z" fill="url(#GR2b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.279643,217.652292 L 437.683992,219.304585 430.901939,220.831596 Z" fill="url(#GR2b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2c_0" x1="451.657347" x2="451.977984" y1="386.840123" y2="383.304995"> - <stop offset="0" style="stop-color:#b20000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b20000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2c_0" x1="451.657347" x2="451.977984" y1="386.840123" y2="383.304995"> + <stop offset="1" style="stop-color:#dc1c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b20000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2c_1" x1="437.683992" x2="442.651992" y1="382.008527" y2="377.312737"> - <stop offset="0" style="stop-color:#ff3000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff3000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2c_1" x1="437.683992" x2="442.651992" y1="382.008527" y2="377.312737"> + <stop offset="1" style="stop-color:#dc1c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff3000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2c_2" x1="447.972528" x2="447.162016" y1="382.941699" y2="385.285763"> - <stop offset="0" style="stop-color:#e52400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e52400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2c_2" x1="447.972528" x2="447.162016" y1="382.941699" y2="385.285763"> + <stop offset="1" style="stop-color:#dc1c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e52400;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2c" points="447.972528 382.941699 451.657347 386.840123 437.683992 382.008527"/> </defs> - <use fill="#dc1c00" fill-opacity="1" xlink:href="#GT2c"/> - <use fill="url(#GR2c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2c"/> - <use fill="url(#GR2c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2c"/> - <use fill="url(#GR2c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2c"/> + <path d="M 447.972528,382.941699 L 451.657347,386.840123 437.683992,382.008527 Z" fill="#dc1c00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.972528,382.941699 L 451.657347,386.840123 437.683992,382.008527 Z" fill="url(#GR2c_0)" shape-rendering="crispEdges"/> + <path d="M 447.972528,382.941699 L 451.657347,386.840123 437.683992,382.008527 Z" fill="url(#GR2c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.972528,382.941699 L 451.657347,386.840123 437.683992,382.008527 Z" fill="url(#GR2c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2d_0" x1="437.683992" x2="442.651992" y1="382.008527" y2="377.312737"> - <stop offset="0" style="stop-color:#ff3000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff3000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2d_0" x1="437.683992" x2="442.651992" y1="382.008527" y2="377.312737"> + <stop offset="1" style="stop-color:#f63c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff3000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2d_1" x1="444.28771" x2="443.967073" y1="379.043276" y2="382.578404"> - <stop offset="0" style="stop-color:#ff6000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2d_1" x1="444.28771" x2="443.967073" y1="379.043276" y2="382.578404"> + <stop offset="1" style="stop-color:#f63c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2d_2" x1="447.972528" x2="445.897461" y1="382.941699" y2="378.320453"> - <stop offset="0" style="stop-color:#e52400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e52400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2d_2" x1="447.972528" x2="445.897461" y1="382.941699" y2="378.320453"> + <stop offset="1" style="stop-color:#f63c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e52400;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2d" points="447.972528 382.941699 437.683992 382.008527 444.28771 379.043276"/> </defs> - <use fill="#f63c00" fill-opacity="1" xlink:href="#GT2d"/> - <use fill="url(#GR2d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2d"/> - <use fill="url(#GR2d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2d"/> - <use fill="url(#GR2d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2d"/> + <path d="M 447.972528,382.941699 L 437.683992,382.008527 444.28771,379.043276 Z" fill="#f63c00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.972528,382.941699 L 437.683992,382.008527 444.28771,379.043276 Z" fill="url(#GR2d_0)" shape-rendering="crispEdges"/> + <path d="M 447.972528,382.941699 L 437.683992,382.008527 444.28771,379.043276 Z" fill="url(#GR2d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.972528,382.941699 L 437.683992,382.008527 444.28771,379.043276 Z" fill="url(#GR2d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2e_0" x1="444.28771" x2="443.967073" y1="379.043276" y2="382.578404"> - <stop offset="0" style="stop-color:#ff6000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2e_0" x1="444.28771" x2="443.967073" y1="379.043276" y2="382.578404"> + <stop offset="1" style="stop-color:#ed2c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2e_1" x1="458.261065" x2="453.293064" y1="383.874871" y2="388.570661"> - <stop offset="0" style="stop-color:#e40000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e40000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2e_1" x1="458.261065" x2="453.293064" y1="383.874871" y2="388.570661"> + <stop offset="1" style="stop-color:#ed2c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e40000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2e_2" x1="447.972528" x2="448.78304" y1="382.941699" y2="380.597635"> - <stop offset="0" style="stop-color:#e52400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e52400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2e_2" x1="447.972528" x2="448.78304" y1="382.941699" y2="380.597635"> + <stop offset="1" style="stop-color:#ed2c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e52400;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2e" points="447.972528 382.941699 444.28771 379.043276 458.261065 383.874871"/> </defs> - <use fill="#ed2c00" fill-opacity="1" xlink:href="#GT2e"/> - <use fill="url(#GR2e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2e"/> - <use fill="url(#GR2e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2e"/> - <use fill="url(#GR2e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2e"/> + <path d="M 447.972528,382.941699 L 444.28771,379.043276 458.261065,383.874871 Z" fill="#ed2c00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.972528,382.941699 L 444.28771,379.043276 458.261065,383.874871 Z" fill="url(#GR2e_0)" shape-rendering="crispEdges"/> + <path d="M 447.972528,382.941699 L 444.28771,379.043276 458.261065,383.874871 Z" fill="url(#GR2e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.972528,382.941699 L 444.28771,379.043276 458.261065,383.874871 Z" fill="url(#GR2e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2f_0" x1="458.261065" x2="453.293064" y1="383.874871" y2="388.570661"> - <stop offset="0" style="stop-color:#e40000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e40000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2f_0" x1="458.261065" x2="453.293064" y1="383.874871" y2="388.570661"> + <stop offset="1" style="stop-color:#d30c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e40000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2f_1" x1="451.657347" x2="451.977984" y1="386.840123" y2="383.304995"> - <stop offset="0" style="stop-color:#b20000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b20000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2f_1" x1="451.657347" x2="451.977984" y1="386.840123" y2="383.304995"> + <stop offset="1" style="stop-color:#d30c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b20000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2f_2" x1="447.972528" x2="450.047595" y1="382.941699" y2="387.562946"> - <stop offset="0" style="stop-color:#e52400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e52400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2f_2" x1="447.972528" x2="450.047595" y1="382.941699" y2="387.562946"> + <stop offset="1" style="stop-color:#d30c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e52400;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2f" points="447.972528 382.941699 458.261065 383.874871 451.657347 386.840123"/> </defs> - <use fill="#d30c00" fill-opacity="1" xlink:href="#GT2f"/> - <use fill="url(#GR2f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2f"/> - <use fill="url(#GR2f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2f"/> - <use fill="url(#GR2f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2f"/> + <path d="M 447.972528,382.941699 L 458.261065,383.874871 451.657347,386.840123 Z" fill="#d30c00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.972528,382.941699 L 458.261065,383.874871 451.657347,386.840123 Z" fill="url(#GR2f_0)" shape-rendering="crispEdges"/> + <path d="M 447.972528,382.941699 L 458.261065,383.874871 451.657347,386.840123 Z" fill="url(#GR2f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.972528,382.941699 L 458.261065,383.874871 451.657347,386.840123 Z" fill="url(#GR2f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR30_0" x1="437.683992" x2="439.668943" y1="382.008527" y2="377.154521"> - <stop offset="0" style="stop-color:#ff3000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff3000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR30_0" x1="437.683992" x2="439.668943" y1="382.008527" y2="377.154521"> + <stop offset="1" style="stop-color:#ff6100;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff3000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR30_1" x1="425.018162" x2="431.646366" y1="371.163372" y2="368.253905"> - <stop offset="0" style="stop-color:#ff8200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR30_1" x1="425.018162" x2="431.646366" y1="371.163372" y2="368.253905"> + <stop offset="1" style="stop-color:#ff6100;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR30_2" x1="434.652936" x2="432.523701" y1="375.103324" y2="377.590012"> - <stop offset="0" style="stop-color:#ff7200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff7200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR30_2" x1="434.652936" x2="432.523701" y1="375.103324" y2="377.590012"> + <stop offset="1" style="stop-color:#ff6100;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff7200;stop-opacity:0;"/> </linearGradient> - <polygon id="GT30" points="434.652936 375.103324 437.683992 382.008527 425.018162 371.163372"/> </defs> - <use fill="#ff6100" fill-opacity="1" xlink:href="#GT30"/> - <use fill="url(#GR30_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT30"/> - <use fill="url(#GR30_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT30"/> - <use fill="url(#GR30_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT30"/> + <path d="M 434.652936,375.103324 L 437.683992,382.008527 425.018162,371.163372 Z" fill="#ff6100" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 434.652936,375.103324 L 437.683992,382.008527 425.018162,371.163372 Z" fill="url(#GR30_0)" shape-rendering="crispEdges"/> + <path d="M 434.652936,375.103324 L 437.683992,382.008527 425.018162,371.163372 Z" fill="url(#GR30_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 434.652936,375.103324 L 437.683992,382.008527 425.018162,371.163372 Z" fill="url(#GR30_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR31_0" x1="425.018162" x2="431.646366" y1="371.163372" y2="368.253905"> - <stop offset="0" style="stop-color:#ff8200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR31_0" x1="425.018162" x2="431.646366" y1="371.163372" y2="368.253905"> + <stop offset="1" style="stop-color:#ff8e00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR31_1" x1="431.621879" x2="429.636929" y1="368.19812" y2="373.052126"> - <stop offset="0" style="stop-color:#ffb600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR31_1" x1="431.621879" x2="429.636929" y1="368.19812" y2="373.052126"> + <stop offset="1" style="stop-color:#ff8e00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR31_2" x1="434.652936" x2="431.563982" y1="375.103324" y2="368.224118"> - <stop offset="0" style="stop-color:#ff7200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff7200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR31_2" x1="434.652936" x2="431.563982" y1="375.103324" y2="368.224118"> + <stop offset="1" style="stop-color:#ff8e00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff7200;stop-opacity:0;"/> </linearGradient> - <polygon id="GT31" points="434.652936 375.103324 425.018162 371.163372 431.621879 368.19812"/> </defs> - <use fill="#ff8e00" fill-opacity="1" xlink:href="#GT31"/> - <use fill="url(#GR31_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT31"/> - <use fill="url(#GR31_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT31"/> - <use fill="url(#GR31_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT31"/> + <path d="M 434.652936,375.103324 L 425.018162,371.163372 431.621879,368.19812 Z" fill="#ff8e00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 434.652936,375.103324 L 425.018162,371.163372 431.621879,368.19812 Z" fill="url(#GR31_0)" shape-rendering="crispEdges"/> + <path d="M 434.652936,375.103324 L 425.018162,371.163372 431.621879,368.19812 Z" fill="url(#GR31_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 434.652936,375.103324 L 425.018162,371.163372 431.621879,368.19812 Z" fill="url(#GR31_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR32_0" x1="431.621879" x2="429.636929" y1="368.19812" y2="373.052126"> - <stop offset="0" style="stop-color:#ffb600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR32_0" x1="431.621879" x2="429.636929" y1="368.19812" y2="373.052126"> + <stop offset="1" style="stop-color:#ff8300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR32_1" x1="444.28771" x2="437.659505" y1="379.043276" y2="381.952743"> - <stop offset="0" style="stop-color:#ff6000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR32_1" x1="444.28771" x2="437.659505" y1="379.043276" y2="381.952743"> + <stop offset="1" style="stop-color:#ff8300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR32_2" x1="434.652936" x2="436.78217" y1="375.103324" y2="372.616635"> - <stop offset="0" style="stop-color:#ff7200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff7200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR32_2" x1="434.652936" x2="436.78217" y1="375.103324" y2="372.616635"> + <stop offset="1" style="stop-color:#ff8300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff7200;stop-opacity:0;"/> </linearGradient> - <polygon id="GT32" points="434.652936 375.103324 431.621879 368.19812 444.28771 379.043276"/> </defs> - <use fill="#ff8300" fill-opacity="1" xlink:href="#GT32"/> - <use fill="url(#GR32_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT32"/> - <use fill="url(#GR32_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT32"/> - <use fill="url(#GR32_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT32"/> + <path d="M 434.652936,375.103324 L 431.621879,368.19812 444.28771,379.043276 Z" fill="#ff8300" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 434.652936,375.103324 L 431.621879,368.19812 444.28771,379.043276 Z" fill="url(#GR32_0)" shape-rendering="crispEdges"/> + <path d="M 434.652936,375.103324 L 431.621879,368.19812 444.28771,379.043276 Z" fill="url(#GR32_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 434.652936,375.103324 L 431.621879,368.19812 444.28771,379.043276 Z" fill="url(#GR32_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR33_0" x1="444.28771" x2="437.659505" y1="379.043276" y2="381.952743"> - <stop offset="0" style="stop-color:#ff6000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR33_0" x1="444.28771" x2="437.659505" y1="379.043276" y2="381.952743"> + <stop offset="1" style="stop-color:#ff5600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR33_1" x1="437.683992" x2="439.668943" y1="382.008527" y2="377.154521"> - <stop offset="0" style="stop-color:#ff3000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff3000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR33_1" x1="437.683992" x2="439.668943" y1="382.008527" y2="377.154521"> + <stop offset="1" style="stop-color:#ff5600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff3000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR33_2" x1="434.652936" x2="437.741889" y1="375.103324" y2="381.98253"> - <stop offset="0" style="stop-color:#ff7200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff7200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR33_2" x1="434.652936" x2="437.741889" y1="375.103324" y2="381.98253"> + <stop offset="1" style="stop-color:#ff5600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff7200;stop-opacity:0;"/> </linearGradient> - <polygon id="GT33" points="434.652936 375.103324 444.28771 379.043276 437.683992 382.008527"/> </defs> - <use fill="#ff5600" fill-opacity="1" xlink:href="#GT33"/> - <use fill="url(#GR33_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT33"/> - <use fill="url(#GR33_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT33"/> - <use fill="url(#GR33_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT33"/> + <path d="M 434.652936,375.103324 L 444.28771,379.043276 437.683992,382.008527 Z" fill="#ff5600" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 434.652936,375.103324 L 444.28771,379.043276 437.683992,382.008527 Z" fill="url(#GR33_0)" shape-rendering="crispEdges"/> + <path d="M 434.652936,375.103324 L 444.28771,379.043276 437.683992,382.008527 Z" fill="url(#GR33_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 434.652936,375.103324 L 444.28771,379.043276 437.683992,382.008527 Z" fill="url(#GR33_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR34_0" x1="425.018162" x2="428.904791" y1="371.163372" y2="366.108842"> - <stop offset="0" style="stop-color:#ff8200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR34_0" x1="425.018162" x2="428.904791" y1="371.163372" y2="366.108842"> + <stop offset="1" style="stop-color:#feac00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR34_1" x1="414.596117" x2="421.516221" y1="355.106333" y2="353.717267"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR34_1" x1="414.596117" x2="421.516221" y1="355.106333" y2="353.717267"> + <stop offset="1" style="stop-color:#feac00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR34_2" x1="423.108998" x2="420.108769" y1="361.652227" y2="363.599567"> - <stop offset="0" style="stop-color:#fcbe01;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fcbe01;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR34_2" x1="423.108998" x2="420.108769" y1="361.652227" y2="363.599567"> + <stop offset="1" style="stop-color:#feac00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fcbe01;stop-opacity:0;"/> </linearGradient> - <polygon id="GT34" points="423.108998 361.652227 425.018162 371.163372 414.596117 355.106333"/> </defs> - <use fill="#feac00" fill-opacity="1" xlink:href="#GT34"/> - <use fill="url(#GR34_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT34"/> - <use fill="url(#GR34_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT34"/> - <use fill="url(#GR34_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT34"/> + <path d="M 423.108998,361.652227 L 425.018162,371.163372 414.596117,355.106333 Z" fill="#feac00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 423.108998,361.652227 L 425.018162,371.163372 414.596117,355.106333 Z" fill="url(#GR34_0)" shape-rendering="crispEdges"/> + <path d="M 423.108998,361.652227 L 425.018162,371.163372 414.596117,355.106333 Z" fill="url(#GR34_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 423.108998,361.652227 L 425.018162,371.163372 414.596117,355.106333 Z" fill="url(#GR34_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR35_0" x1="414.596117" x2="421.516221" y1="355.106333" y2="353.717267"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR35_0" x1="414.596117" x2="421.516221" y1="355.106333" y2="353.717267"> + <stop offset="1" style="stop-color:#f9d502;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR35_1" x1="421.199835" x2="417.313206" y1="352.141082" y2="357.195611"> - <stop offset="0" style="stop-color:#f1fc06;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f1fc06;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR35_1" x1="421.199835" x2="417.313206" y1="352.141082" y2="357.195611"> + <stop offset="1" style="stop-color:#f9d502;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f1fc06;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR35_2" x1="423.108998" x2="419.234495" y1="361.652227" y2="353.023574"> - <stop offset="0" style="stop-color:#fcbe01;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fcbe01;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR35_2" x1="423.108998" x2="419.234495" y1="361.652227" y2="353.023574"> + <stop offset="1" style="stop-color:#f9d502;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fcbe01;stop-opacity:0;"/> </linearGradient> - <polygon id="GT35" points="423.108998 361.652227 414.596117 355.106333 421.199835 352.141082"/> </defs> - <use fill="#f9d502" fill-opacity="1" xlink:href="#GT35"/> - <use fill="url(#GR35_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT35"/> - <use fill="url(#GR35_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT35"/> - <use fill="url(#GR35_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT35"/> + <path d="M 423.108998,361.652227 L 414.596117,355.106333 421.199835,352.141082 Z" fill="#f9d502" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 423.108998,361.652227 L 414.596117,355.106333 421.199835,352.141082 Z" fill="url(#GR35_0)" shape-rendering="crispEdges"/> + <path d="M 423.108998,361.652227 L 414.596117,355.106333 421.199835,352.141082 Z" fill="url(#GR35_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 423.108998,361.652227 L 414.596117,355.106333 421.199835,352.141082 Z" fill="url(#GR35_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR36_0" x1="421.199835" x2="417.313206" y1="352.141082" y2="357.195611"> - <stop offset="0" style="stop-color:#f1fc06;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f1fc06;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR36_0" x1="421.199835" x2="417.313206" y1="352.141082" y2="357.195611"> + <stop offset="1" style="stop-color:#f9d002;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f1fc06;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR36_1" x1="431.621879" x2="424.701775" y1="368.19812" y2="369.587186"> - <stop offset="0" style="stop-color:#ffb600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR36_1" x1="431.621879" x2="424.701775" y1="368.19812" y2="369.587186"> + <stop offset="1" style="stop-color:#f9d002;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR36_2" x1="423.108998" x2="426.109228" y1="361.652227" y2="359.704886"> - <stop offset="0" style="stop-color:#fcbe01;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fcbe01;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR36_2" x1="423.108998" x2="426.109228" y1="361.652227" y2="359.704886"> + <stop offset="1" style="stop-color:#f9d002;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fcbe01;stop-opacity:0;"/> </linearGradient> - <polygon id="GT36" points="423.108998 361.652227 421.199835 352.141082 431.621879 368.19812"/> </defs> - <use fill="#f9d002" fill-opacity="1" xlink:href="#GT36"/> - <use fill="url(#GR36_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT36"/> - <use fill="url(#GR36_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT36"/> - <use fill="url(#GR36_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT36"/> + <path d="M 423.108998,361.652227 L 421.199835,352.141082 431.621879,368.19812 Z" fill="#f9d002" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 423.108998,361.652227 L 421.199835,352.141082 431.621879,368.19812 Z" fill="url(#GR36_0)" shape-rendering="crispEdges"/> + <path d="M 423.108998,361.652227 L 421.199835,352.141082 431.621879,368.19812 Z" fill="url(#GR36_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 423.108998,361.652227 L 421.199835,352.141082 431.621879,368.19812 Z" fill="url(#GR36_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR37_0" x1="431.621879" x2="424.701775" y1="368.19812" y2="369.587186"> - <stop offset="0" style="stop-color:#ffb600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR37_0" x1="431.621879" x2="424.701775" y1="368.19812" y2="369.587186"> + <stop offset="1" style="stop-color:#fea700;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR37_1" x1="425.018162" x2="428.904791" y1="371.163372" y2="366.108842"> - <stop offset="0" style="stop-color:#ff8200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR37_1" x1="425.018162" x2="428.904791" y1="371.163372" y2="366.108842"> + <stop offset="1" style="stop-color:#fea700;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR37_2" x1="423.108998" x2="426.983502" y1="361.652227" y2="370.28088"> - <stop offset="0" style="stop-color:#fcbe01;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fcbe01;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR37_2" x1="423.108998" x2="426.983502" y1="361.652227" y2="370.28088"> + <stop offset="1" style="stop-color:#fea700;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fcbe01;stop-opacity:0;"/> </linearGradient> - <polygon id="GT37" points="423.108998 361.652227 431.621879 368.19812 425.018162 371.163372"/> </defs> - <use fill="#fea700" fill-opacity="1" xlink:href="#GT37"/> - <use fill="url(#GR37_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT37"/> - <use fill="url(#GR37_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT37"/> - <use fill="url(#GR37_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT37"/> + <path d="M 423.108998,361.652227 L 431.621879,368.19812 425.018162,371.163372 Z" fill="#fea700" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 423.108998,361.652227 L 431.621879,368.19812 425.018162,371.163372 Z" fill="url(#GR37_0)" shape-rendering="crispEdges"/> + <path d="M 423.108998,361.652227 L 431.621879,368.19812 425.018162,371.163372 Z" fill="url(#GR37_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 423.108998,361.652227 L 431.621879,368.19812 425.018162,371.163372 Z" fill="url(#GR37_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR38_0" x1="414.596117" x2="420.003639" y1="355.106333" y2="350.679792"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR38_0" x1="414.596117" x2="420.003639" y1="355.106333" y2="350.679792"> + <stop offset="1" style="stop-color:#f6e205;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR38_1" x1="407.188259" x2="413.887282" y1="335.024352" y2="334.790617"> - <stop offset="0" style="stop-color:#f8f500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f8f500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR38_1" x1="407.188259" x2="413.887282" y1="335.024352" y2="334.790617"> + <stop offset="1" style="stop-color:#f6e205;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f8f500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR38_2" x1="414.194047" x2="410.806262" y1="343.582717" y2="344.832406"> - <stop offset="0" style="stop-color:#eaed0f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#eaed0f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR38_2" x1="414.194047" x2="410.806262" y1="343.582717" y2="344.832406"> + <stop offset="1" style="stop-color:#f6e205;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#eaed0f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT38" points="414.194047 343.582717 414.596117 355.106333 407.188259 335.024352"/> </defs> - <use fill="#f6e205" fill-opacity="1" xlink:href="#GT38"/> - <use fill="url(#GR38_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT38"/> - <use fill="url(#GR38_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT38"/> - <use fill="url(#GR38_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT38"/> + <path d="M 414.194047,343.582717 L 414.596117,355.106333 407.188259,335.024352 Z" fill="#f6e205" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 414.194047,343.582717 L 414.596117,355.106333 407.188259,335.024352 Z" fill="url(#GR38_0)" shape-rendering="crispEdges"/> + <path d="M 414.194047,343.582717 L 414.596117,355.106333 407.188259,335.024352 Z" fill="url(#GR38_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 414.194047,343.582717 L 414.596117,355.106333 407.188259,335.024352 Z" fill="url(#GR38_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR39_0" x1="407.188259" x2="413.887282" y1="335.024352" y2="334.790617"> - <stop offset="0" style="stop-color:#f8f500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f8f500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR39_0" x1="407.188259" x2="413.887282" y1="335.024352" y2="334.790617"> + <stop offset="1" style="stop-color:#e1f617;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f8f500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR39_1" x1="413.791977" x2="408.384455" y1="332.059101" y2="336.485641"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR39_1" x1="413.791977" x2="408.384455" y1="332.059101" y2="336.485641"> + <stop offset="1" style="stop-color:#e1f617;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR39_2" x1="414.194047" x2="409.820398" y1="343.582717" y2="333.842449"> - <stop offset="0" style="stop-color:#eaed0f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#eaed0f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR39_2" x1="414.194047" x2="409.820398" y1="343.582717" y2="333.842449"> + <stop offset="1" style="stop-color:#e1f617;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#eaed0f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT39" points="414.194047 343.582717 407.188259 335.024352 413.791977 332.059101"/> </defs> - <use fill="#e1f617" fill-opacity="1" xlink:href="#GT39"/> - <use fill="url(#GR39_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT39"/> - <use fill="url(#GR39_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT39"/> - <use fill="url(#GR39_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT39"/> + <path d="M 414.194047,343.582717 L 407.188259,335.024352 413.791977,332.059101 Z" fill="#e1f617" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 414.194047,343.582717 L 407.188259,335.024352 413.791977,332.059101 Z" fill="url(#GR39_0)" shape-rendering="crispEdges"/> + <path d="M 414.194047,343.582717 L 407.188259,335.024352 413.791977,332.059101 Z" fill="url(#GR39_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 414.194047,343.582717 L 407.188259,335.024352 413.791977,332.059101 Z" fill="url(#GR39_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3a_0" x1="413.791977" x2="408.384455" y1="332.059101" y2="336.485641"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3a_0" x1="413.791977" x2="408.384455" y1="332.059101" y2="336.485641"> + <stop offset="1" style="stop-color:#dff819;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3a_1" x1="421.199835" x2="414.500812" y1="352.141082" y2="352.374817"> - <stop offset="0" style="stop-color:#f1fc06;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f1fc06;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3a_1" x1="421.199835" x2="414.500812" y1="352.141082" y2="352.374817"> + <stop offset="1" style="stop-color:#dff819;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f1fc06;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3a_2" x1="414.194047" x2="417.581832" y1="343.582717" y2="342.333028"> - <stop offset="0" style="stop-color:#eaed0f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#eaed0f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3a_2" x1="414.194047" x2="417.581832" y1="343.582717" y2="342.333028"> + <stop offset="1" style="stop-color:#dff819;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#eaed0f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3a" points="414.194047 343.582717 413.791977 332.059101 421.199835 352.141082"/> </defs> - <use fill="#dff819" fill-opacity="1" xlink:href="#GT3a"/> - <use fill="url(#GR3a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3a"/> - <use fill="url(#GR3a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3a"/> - <use fill="url(#GR3a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3a"/> + <path d="M 414.194047,343.582717 L 413.791977,332.059101 421.199835,352.141082 Z" fill="#dff819" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 414.194047,343.582717 L 413.791977,332.059101 421.199835,352.141082 Z" fill="url(#GR3a_0)" shape-rendering="crispEdges"/> + <path d="M 414.194047,343.582717 L 413.791977,332.059101 421.199835,352.141082 Z" fill="url(#GR3a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 414.194047,343.582717 L 413.791977,332.059101 421.199835,352.141082 Z" fill="url(#GR3a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3b_0" x1="421.199835" x2="414.500812" y1="352.141082" y2="352.374817"> - <stop offset="0" style="stop-color:#f1fc06;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f1fc06;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3b_0" x1="421.199835" x2="414.500812" y1="352.141082" y2="352.374817"> + <stop offset="1" style="stop-color:#f3e507;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f1fc06;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3b_1" x1="414.596117" x2="420.003639" y1="355.106333" y2="350.679792"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3b_1" x1="414.596117" x2="420.003639" y1="355.106333" y2="350.679792"> + <stop offset="1" style="stop-color:#f3e507;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3b_2" x1="414.194047" x2="418.567696" y1="343.582717" y2="353.322985"> - <stop offset="0" style="stop-color:#eaed0f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#eaed0f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3b_2" x1="414.194047" x2="418.567696" y1="343.582717" y2="353.322985"> + <stop offset="1" style="stop-color:#f3e507;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#eaed0f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3b" points="414.194047 343.582717 421.199835 352.141082 414.596117 355.106333"/> </defs> - <use fill="#f3e507" fill-opacity="1" xlink:href="#GT3b"/> - <use fill="url(#GR3b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3b"/> - <use fill="url(#GR3b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3b"/> - <use fill="url(#GR3b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3b"/> + <path d="M 414.194047,343.582717 L 421.199835,352.141082 414.596117,355.106333 Z" fill="#f3e507" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 414.194047,343.582717 L 421.199835,352.141082 414.596117,355.106333 Z" fill="url(#GR3b_0)" shape-rendering="crispEdges"/> + <path d="M 414.194047,343.582717 L 421.199835,352.141082 414.596117,355.106333 Z" fill="url(#GR3b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 414.194047,343.582717 L 421.199835,352.141082 414.596117,355.106333 Z" fill="url(#GR3b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3c_0" x1="407.188259" x2="413.565968" y1="335.024352" y2="331.633953"> - <stop offset="0" style="stop-color:#f8f500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f8f500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3c_0" x1="407.188259" x2="413.565968" y1="335.024352" y2="331.633953"> + <stop offset="1" style="stop-color:#e3fb14;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f8f500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3c_1" x1="403.342179" x2="409.554175" y1="312.401894" y2="313.071373"> - <stop offset="0" style="stop-color:#e1ff16;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e1ff16;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3c_1" x1="403.342179" x2="409.554175" y1="312.401894" y2="313.071373"> + <stop offset="1" style="stop-color:#e3fb14;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e1ff16;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3c_2" x1="408.567078" x2="405.112992" y1="322.230497" y2="322.817732"> - <stop offset="0" style="stop-color:#d1fc26;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d1fc26;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3c_2" x1="408.567078" x2="405.112992" y1="322.230497" y2="322.817732"> + <stop offset="1" style="stop-color:#e3fb14;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d1fc26;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3c" points="408.567078 322.230497 407.188259 335.024352 403.342179 312.401894"/> </defs> - <use fill="#e3fb14" fill-opacity="1" xlink:href="#GT3c"/> - <use fill="url(#GR3c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3c"/> - <use fill="url(#GR3c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3c"/> - <use fill="url(#GR3c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3c"/> + <path d="M 408.567078,322.230497 L 407.188259,335.024352 403.342179,312.401894 Z" fill="#e3fb14" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 408.567078,322.230497 L 407.188259,335.024352 403.342179,312.401894 Z" fill="url(#GR3c_0)" shape-rendering="crispEdges"/> + <path d="M 408.567078,322.230497 L 407.188259,335.024352 403.342179,312.401894 Z" fill="url(#GR3c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 408.567078,322.230497 L 407.188259,335.024352 403.342179,312.401894 Z" fill="url(#GR3c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3d_0" x1="403.342179" x2="409.554175" y1="312.401894" y2="313.071373"> - <stop offset="0" style="stop-color:#e1ff16;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e1ff16;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3d_0" x1="403.342179" x2="409.554175" y1="312.401894" y2="313.071373"> + <stop offset="1" style="stop-color:#c9fe2d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e1ff16;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3d_1" x1="409.945897" x2="403.568188" y1="309.436643" y2="312.827042"> - <stop offset="0" style="stop-color:#aaff4d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#aaff4d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3d_1" x1="409.945897" x2="403.568188" y1="309.436643" y2="312.827042"> + <stop offset="1" style="stop-color:#c9fe2d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#aaff4d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3d_2" x1="408.567078" x2="404.017585" y1="322.230497" y2="312.098618"> - <stop offset="0" style="stop-color:#d1fc26;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d1fc26;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3d_2" x1="408.567078" x2="404.017585" y1="322.230497" y2="312.098618"> + <stop offset="1" style="stop-color:#c9fe2d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d1fc26;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3d" points="408.567078 322.230497 403.342179 312.401894 409.945897 309.436643"/> </defs> - <use fill="#c9fe2d" fill-opacity="1" xlink:href="#GT3d"/> - <use fill="url(#GR3d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3d"/> - <use fill="url(#GR3d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3d"/> - <use fill="url(#GR3d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3d"/> + <path d="M 408.567078,322.230497 L 403.342179,312.401894 409.945897,309.436643 Z" fill="#c9fe2d" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 408.567078,322.230497 L 403.342179,312.401894 409.945897,309.436643 Z" fill="url(#GR3d_0)" shape-rendering="crispEdges"/> + <path d="M 408.567078,322.230497 L 403.342179,312.401894 409.945897,309.436643 Z" fill="url(#GR3d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 408.567078,322.230497 L 403.342179,312.401894 409.945897,309.436643 Z" fill="url(#GR3d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3e_0" x1="409.945897" x2="403.568188" y1="309.436643" y2="312.827042"> - <stop offset="0" style="stop-color:#aaff4d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#aaff4d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3e_0" x1="409.945897" x2="403.568188" y1="309.436643" y2="312.827042"> + <stop offset="1" style="stop-color:#bffe38;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#aaff4d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3e_1" x1="413.791977" x2="407.579981" y1="332.059101" y2="331.389622"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3e_1" x1="413.791977" x2="407.579981" y1="332.059101" y2="331.389622"> + <stop offset="1" style="stop-color:#bffe38;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3e_2" x1="408.567078" x2="412.021164" y1="322.230497" y2="321.643263"> - <stop offset="0" style="stop-color:#d1fc26;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d1fc26;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3e_2" x1="408.567078" x2="412.021164" y1="322.230497" y2="321.643263"> + <stop offset="1" style="stop-color:#bffe38;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d1fc26;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3e" points="408.567078 322.230497 409.945897 309.436643 413.791977 332.059101"/> </defs> - <use fill="#bffe38" fill-opacity="1" xlink:href="#GT3e"/> - <use fill="url(#GR3e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3e"/> - <use fill="url(#GR3e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3e"/> - <use fill="url(#GR3e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3e"/> + <path d="M 408.567078,322.230497 L 409.945897,309.436643 413.791977,332.059101 Z" fill="#bffe38" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 408.567078,322.230497 L 409.945897,309.436643 413.791977,332.059101 Z" fill="url(#GR3e_0)" shape-rendering="crispEdges"/> + <path d="M 408.567078,322.230497 L 409.945897,309.436643 413.791977,332.059101 Z" fill="url(#GR3e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 408.567078,322.230497 L 409.945897,309.436643 413.791977,332.059101 Z" fill="url(#GR3e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3f_0" x1="413.791977" x2="407.579981" y1="332.059101" y2="331.389622"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3f_0" x1="413.791977" x2="407.579981" y1="332.059101" y2="331.389622"> + <stop offset="1" style="stop-color:#d8fb1f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3f_1" x1="407.188259" x2="413.565968" y1="335.024352" y2="331.633953"> - <stop offset="0" style="stop-color:#f8f500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f8f500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3f_1" x1="407.188259" x2="413.565968" y1="335.024352" y2="331.633953"> + <stop offset="1" style="stop-color:#d8fb1f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f8f500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3f_2" x1="408.567078" x2="413.116571" y1="322.230497" y2="332.362376"> - <stop offset="0" style="stop-color:#d1fc26;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d1fc26;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3f_2" x1="408.567078" x2="413.116571" y1="322.230497" y2="332.362376"> + <stop offset="1" style="stop-color:#d8fb1f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d1fc26;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3f" points="408.567078 322.230497 413.791977 332.059101 407.188259 335.024352"/> </defs> - <use fill="#d8fb1f" fill-opacity="1" xlink:href="#GT3f"/> - <use fill="url(#GR3f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3f"/> - <use fill="url(#GR3f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3f"/> - <use fill="url(#GR3f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3f"/> + <path d="M 408.567078,322.230497 L 413.791977,332.059101 407.188259,335.024352 Z" fill="#d8fb1f" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 408.567078,322.230497 L 413.791977,332.059101 407.188259,335.024352 Z" fill="url(#GR3f_0)" shape-rendering="crispEdges"/> + <path d="M 408.567078,322.230497 L 413.791977,332.059101 407.188259,335.024352 Z" fill="url(#GR3f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 408.567078,322.230497 L 413.791977,332.059101 407.188259,335.024352 Z" fill="url(#GR3f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR40_0" x1="403.342179" x2="410.190981" y1="312.401894" y2="310.198405"> - <stop offset="0" style="stop-color:#e1ff16;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e1ff16;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR40_0" x1="403.342179" x2="410.190981" y1="312.401894" y2="310.198405"> + <stop offset="1" style="stop-color:#d8ff1f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e1ff16;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR40_1" x1="403.342179" x2="408.861826" y1="288.911218" y2="290.288988"> - <stop offset="0" style="stop-color:#e1ff16;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e1ff16;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR40_1" x1="403.342179" x2="408.861826" y1="288.911218" y2="290.288988"> + <stop offset="1" style="stop-color:#d8ff1f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e1ff16;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR40_2" x1="406.644038" x2="403.342179" y1="299.17393" y2="299.17393"> - <stop offset="0" style="stop-color:#c6ff31;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c6ff31;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR40_2" x1="406.644038" x2="403.342179" y1="299.17393" y2="299.17393"> + <stop offset="1" style="stop-color:#d8ff1f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c6ff31;stop-opacity:0;"/> </linearGradient> - <polygon id="GT40" points="406.644038 299.17393 403.342179 312.401894 403.342179 288.911218"/> </defs> - <use fill="#d8ff1f" fill-opacity="1" xlink:href="#GT40"/> - <use fill="url(#GR40_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT40"/> - <use fill="url(#GR40_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT40"/> - <use fill="url(#GR40_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT40"/> + <path d="M 406.644038,299.17393 L 403.342179,312.401894 403.342179,288.911218 Z" fill="#d8ff1f" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 406.644038,299.17393 L 403.342179,312.401894 403.342179,288.911218 Z" fill="url(#GR40_0)" shape-rendering="crispEdges"/> + <path d="M 406.644038,299.17393 L 403.342179,312.401894 403.342179,288.911218 Z" fill="url(#GR40_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 406.644038,299.17393 L 403.342179,312.401894 403.342179,288.911218 Z" fill="url(#GR40_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR41_0" x1="403.342179" x2="408.861826" y1="288.911218" y2="290.288988"> - <stop offset="0" style="stop-color:#e1ff16;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e1ff16;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR41_0" x1="403.342179" x2="408.861826" y1="288.911218" y2="290.288988"> + <stop offset="1" style="stop-color:#c6ff31;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e1ff16;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR41_1" x1="409.945897" x2="403.097094" y1="285.945966" y2="288.149456"> - <stop offset="0" style="stop-color:#aaff4d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#aaff4d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR41_1" x1="409.945897" x2="403.097094" y1="285.945966" y2="288.149456"> + <stop offset="1" style="stop-color:#c6ff31;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#aaff4d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR41_2" x1="406.644038" x2="402.255" y1="299.17393" y2="289.399391"> - <stop offset="0" style="stop-color:#c6ff31;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c6ff31;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR41_2" x1="406.644038" x2="402.255" y1="299.17393" y2="289.399391"> + <stop offset="1" style="stop-color:#c6ff31;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c6ff31;stop-opacity:0;"/> </linearGradient> - <polygon id="GT41" points="406.644038 299.17393 403.342179 288.911218 409.945897 285.945966"/> </defs> - <use fill="#c6ff31" fill-opacity="1" xlink:href="#GT41"/> - <use fill="url(#GR41_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT41"/> - <use fill="url(#GR41_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT41"/> - <use fill="url(#GR41_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT41"/> + <path d="M 406.644038,299.17393 L 403.342179,288.911218 409.945897,285.945966 Z" fill="#c6ff31" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 406.644038,299.17393 L 403.342179,288.911218 409.945897,285.945966 Z" fill="url(#GR41_0)" shape-rendering="crispEdges"/> + <path d="M 406.644038,299.17393 L 403.342179,288.911218 409.945897,285.945966 Z" fill="url(#GR41_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 406.644038,299.17393 L 403.342179,288.911218 409.945897,285.945966 Z" fill="url(#GR41_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR42_0" x1="409.945897" x2="403.097094" y1="285.945966" y2="288.149456"> - <stop offset="0" style="stop-color:#aaff4d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#aaff4d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR42_0" x1="409.945897" x2="403.097094" y1="285.945966" y2="288.149456"> + <stop offset="1" style="stop-color:#b3ff43;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#aaff4d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR42_1" x1="409.945897" x2="404.426249" y1="309.436643" y2="308.058872"> - <stop offset="0" style="stop-color:#aaff4d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#aaff4d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR42_1" x1="409.945897" x2="404.426249" y1="309.436643" y2="308.058872"> + <stop offset="1" style="stop-color:#b3ff43;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#aaff4d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR42_2" x1="406.644038" x2="409.945897" y1="299.17393" y2="299.17393"> - <stop offset="0" style="stop-color:#c6ff31;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c6ff31;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR42_2" x1="406.644038" x2="409.945897" y1="299.17393" y2="299.17393"> + <stop offset="1" style="stop-color:#b3ff43;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c6ff31;stop-opacity:0;"/> </linearGradient> - <polygon id="GT42" points="406.644038 299.17393 409.945897 285.945966 409.945897 309.436643"/> </defs> - <use fill="#b3ff43" fill-opacity="1" xlink:href="#GT42"/> - <use fill="url(#GR42_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT42"/> - <use fill="url(#GR42_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT42"/> - <use fill="url(#GR42_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT42"/> + <path d="M 406.644038,299.17393 L 409.945897,285.945966 409.945897,309.436643 Z" fill="#b3ff43" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 406.644038,299.17393 L 409.945897,285.945966 409.945897,309.436643 Z" fill="url(#GR42_0)" shape-rendering="crispEdges"/> + <path d="M 406.644038,299.17393 L 409.945897,285.945966 409.945897,309.436643 Z" fill="url(#GR42_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 406.644038,299.17393 L 409.945897,285.945966 409.945897,309.436643 Z" fill="url(#GR42_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR43_0" x1="409.945897" x2="404.426249" y1="309.436643" y2="308.058872"> - <stop offset="0" style="stop-color:#aaff4d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#aaff4d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR43_0" x1="409.945897" x2="404.426249" y1="309.436643" y2="308.058872"> + <stop offset="1" style="stop-color:#c6ff31;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#aaff4d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR43_1" x1="403.342179" x2="410.190981" y1="312.401894" y2="310.198405"> - <stop offset="0" style="stop-color:#e1ff16;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e1ff16;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR43_1" x1="403.342179" x2="410.190981" y1="312.401894" y2="310.198405"> + <stop offset="1" style="stop-color:#c6ff31;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e1ff16;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR43_2" x1="406.644038" x2="411.033076" y1="299.17393" y2="308.948469"> - <stop offset="0" style="stop-color:#c6ff31;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c6ff31;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR43_2" x1="406.644038" x2="411.033076" y1="299.17393" y2="308.948469"> + <stop offset="1" style="stop-color:#c6ff31;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c6ff31;stop-opacity:0;"/> </linearGradient> - <polygon id="GT43" points="406.644038 299.17393 409.945897 309.436643 403.342179 312.401894"/> </defs> - <use fill="#c6ff31" fill-opacity="1" xlink:href="#GT43"/> - <use fill="url(#GR43_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT43"/> - <use fill="url(#GR43_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT43"/> - <use fill="url(#GR43_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT43"/> + <path d="M 406.644038,299.17393 L 409.945897,309.436643 403.342179,312.401894 Z" fill="#c6ff31" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 406.644038,299.17393 L 409.945897,309.436643 403.342179,312.401894 Z" fill="url(#GR43_0)" shape-rendering="crispEdges"/> + <path d="M 406.644038,299.17393 L 409.945897,309.436643 403.342179,312.401894 Z" fill="url(#GR43_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 406.644038,299.17393 L 409.945897,309.436643 403.342179,312.401894 Z" fill="url(#GR43_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR44_0" x1="403.342179" x2="410.226398" y1="288.911218" y2="287.945456"> - <stop offset="0" style="stop-color:#e1ff16;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e1ff16;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR44_0" x1="403.342179" x2="410.226398" y1="288.911218" y2="287.945456"> + <stop offset="1" style="stop-color:#e3fb14;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e1ff16;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR44_1" x1="407.188259" x2="411.810141" y1="266.28876" y2="268.176296"> - <stop offset="0" style="stop-color:#f8f500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f8f500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR44_1" x1="407.188259" x2="411.810141" y1="266.28876" y2="268.176296"> + <stop offset="1" style="stop-color:#e3fb14;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f8f500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR44_2" x1="408.567078" x2="405.602958" y1="276.117363" y2="275.613428"> - <stop offset="0" style="stop-color:#d1fc26;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d1fc26;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR44_2" x1="408.567078" x2="405.602958" y1="276.117363" y2="275.613428"> + <stop offset="1" style="stop-color:#e3fb14;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d1fc26;stop-opacity:0;"/> </linearGradient> - <polygon id="GT44" points="408.567078 276.117363 403.342179 288.911218 407.188259 266.28876"/> </defs> - <use fill="#e3fb14" fill-opacity="1" xlink:href="#GT44"/> - <use fill="url(#GR44_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT44"/> - <use fill="url(#GR44_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT44"/> - <use fill="url(#GR44_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT44"/> + <path d="M 408.567078,276.117363 L 403.342179,288.911218 407.188259,266.28876 Z" fill="#e3fb14" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 408.567078,276.117363 L 403.342179,288.911218 407.188259,266.28876 Z" fill="url(#GR44_0)" shape-rendering="crispEdges"/> + <path d="M 408.567078,276.117363 L 403.342179,288.911218 407.188259,266.28876 Z" fill="url(#GR44_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 408.567078,276.117363 L 403.342179,288.911218 407.188259,266.28876 Z" fill="url(#GR44_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR45_0" x1="407.188259" x2="411.810141" y1="266.28876" y2="268.176296"> - <stop offset="0" style="stop-color:#f8f500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f8f500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR45_0" x1="407.188259" x2="411.810141" y1="266.28876" y2="268.176296"> + <stop offset="1" style="stop-color:#d8fb1f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f8f500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR45_1" x1="413.791977" x2="406.907758" y1="263.323509" y2="264.28927"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR45_1" x1="413.791977" x2="406.907758" y1="263.323509" y2="264.28927"> + <stop offset="1" style="stop-color:#d8fb1f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR45_2" x1="408.567078" x2="404.662935" y1="276.117363" y2="267.422701"> - <stop offset="0" style="stop-color:#d1fc26;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d1fc26;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR45_2" x1="408.567078" x2="404.662935" y1="276.117363" y2="267.422701"> + <stop offset="1" style="stop-color:#d8fb1f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d1fc26;stop-opacity:0;"/> </linearGradient> - <polygon id="GT45" points="408.567078 276.117363 407.188259 266.28876 413.791977 263.323509"/> </defs> - <use fill="#d8fb1f" fill-opacity="1" xlink:href="#GT45"/> - <use fill="url(#GR45_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT45"/> - <use fill="url(#GR45_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT45"/> - <use fill="url(#GR45_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT45"/> + <path d="M 408.567078,276.117363 L 407.188259,266.28876 413.791977,263.323509 Z" fill="#d8fb1f" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 408.567078,276.117363 L 407.188259,266.28876 413.791977,263.323509 Z" fill="url(#GR45_0)" shape-rendering="crispEdges"/> + <path d="M 408.567078,276.117363 L 407.188259,266.28876 413.791977,263.323509 Z" fill="url(#GR45_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 408.567078,276.117363 L 407.188259,266.28876 413.791977,263.323509 Z" fill="url(#GR45_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR46_0" x1="413.791977" x2="406.907758" y1="263.323509" y2="264.28927"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR46_0" x1="413.791977" x2="406.907758" y1="263.323509" y2="264.28927"> + <stop offset="1" style="stop-color:#bffe38;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR46_1" x1="409.945897" x2="405.324015" y1="285.945966" y2="284.05843"> - <stop offset="0" style="stop-color:#aaff4d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#aaff4d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR46_1" x1="409.945897" x2="405.324015" y1="285.945966" y2="284.05843"> + <stop offset="1" style="stop-color:#bffe38;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#aaff4d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR46_2" x1="408.567078" x2="411.531198" y1="276.117363" y2="276.621298"> - <stop offset="0" style="stop-color:#d1fc26;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d1fc26;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR46_2" x1="408.567078" x2="411.531198" y1="276.117363" y2="276.621298"> + <stop offset="1" style="stop-color:#bffe38;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d1fc26;stop-opacity:0;"/> </linearGradient> - <polygon id="GT46" points="408.567078 276.117363 413.791977 263.323509 409.945897 285.945966"/> </defs> - <use fill="#bffe38" fill-opacity="1" xlink:href="#GT46"/> - <use fill="url(#GR46_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT46"/> - <use fill="url(#GR46_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT46"/> - <use fill="url(#GR46_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT46"/> + <path d="M 408.567078,276.117363 L 413.791977,263.323509 409.945897,285.945966 Z" fill="#bffe38" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 408.567078,276.117363 L 413.791977,263.323509 409.945897,285.945966 Z" fill="url(#GR46_0)" shape-rendering="crispEdges"/> + <path d="M 408.567078,276.117363 L 413.791977,263.323509 409.945897,285.945966 Z" fill="url(#GR46_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 408.567078,276.117363 L 413.791977,263.323509 409.945897,285.945966 Z" fill="url(#GR46_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR47_0" x1="409.945897" x2="405.324015" y1="285.945966" y2="284.05843"> - <stop offset="0" style="stop-color:#aaff4d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#aaff4d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR47_0" x1="409.945897" x2="405.324015" y1="285.945966" y2="284.05843"> + <stop offset="1" style="stop-color:#c9fe2d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#aaff4d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR47_1" x1="403.342179" x2="410.226398" y1="288.911218" y2="287.945456"> - <stop offset="0" style="stop-color:#e1ff16;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e1ff16;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR47_1" x1="403.342179" x2="410.226398" y1="288.911218" y2="287.945456"> + <stop offset="1" style="stop-color:#c9fe2d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e1ff16;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR47_2" x1="408.567078" x2="412.471222" y1="276.117363" y2="284.812026"> - <stop offset="0" style="stop-color:#d1fc26;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d1fc26;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR47_2" x1="408.567078" x2="412.471222" y1="276.117363" y2="284.812026"> + <stop offset="1" style="stop-color:#c9fe2d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d1fc26;stop-opacity:0;"/> </linearGradient> - <polygon id="GT47" points="408.567078 276.117363 409.945897 285.945966 403.342179 288.911218"/> </defs> - <use fill="#c9fe2d" fill-opacity="1" xlink:href="#GT47"/> - <use fill="url(#GR47_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT47"/> - <use fill="url(#GR47_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT47"/> - <use fill="url(#GR47_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT47"/> + <path d="M 408.567078,276.117363 L 409.945897,285.945966 403.342179,288.911218 Z" fill="#c9fe2d" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 408.567078,276.117363 L 409.945897,285.945966 403.342179,288.911218 Z" fill="url(#GR47_0)" shape-rendering="crispEdges"/> + <path d="M 408.567078,276.117363 L 409.945897,285.945966 403.342179,288.911218 Z" fill="url(#GR47_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 408.567078,276.117363 L 409.945897,285.945966 403.342179,288.911218 Z" fill="url(#GR47_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR48_0" x1="407.188259" x2="413.638434" y1="266.28876" y2="266.591788"> - <stop offset="0" style="stop-color:#f8f500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f8f500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR48_0" x1="407.188259" x2="413.638434" y1="266.28876" y2="266.591788"> + <stop offset="1" style="stop-color:#f6e205;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f8f500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR48_1" x1="414.596117" x2="418.101505" y1="246.206779" y2="248.337881"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR48_1" x1="414.596117" x2="418.101505" y1="246.206779" y2="248.337881"> + <stop offset="1" style="stop-color:#f6e205;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR48_2" x1="414.194047" x2="411.769074" y1="254.765144" y2="253.870618"> - <stop offset="0" style="stop-color:#eaed0f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#eaed0f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR48_2" x1="414.194047" x2="411.769074" y1="254.765144" y2="253.870618"> + <stop offset="1" style="stop-color:#f6e205;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#eaed0f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT48" points="414.194047 254.765144 407.188259 266.28876 414.596117 246.206779"/> </defs> - <use fill="#f6e205" fill-opacity="1" xlink:href="#GT48"/> - <use fill="url(#GR48_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT48"/> - <use fill="url(#GR48_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT48"/> - <use fill="url(#GR48_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT48"/> + <path d="M 414.194047,254.765144 L 407.188259,266.28876 414.596117,246.206779 Z" fill="#f6e205" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 414.194047,254.765144 L 407.188259,266.28876 414.596117,246.206779 Z" fill="url(#GR48_0)" shape-rendering="crispEdges"/> + <path d="M 414.194047,254.765144 L 407.188259,266.28876 414.596117,246.206779 Z" fill="url(#GR48_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 414.194047,254.765144 L 407.188259,266.28876 414.596117,246.206779 Z" fill="url(#GR48_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR49_0" x1="414.596117" x2="418.101505" y1="246.206779" y2="248.337881"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR49_0" x1="414.596117" x2="418.101505" y1="246.206779" y2="248.337881"> + <stop offset="1" style="stop-color:#f3e507;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR49_1" x1="421.199835" x2="414.74966" y1="243.241528" y2="242.9385"> - <stop offset="0" style="stop-color:#f1fc06;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f1fc06;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR49_1" x1="421.199835" x2="414.74966" y1="243.241528" y2="242.9385"> + <stop offset="1" style="stop-color:#f3e507;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f1fc06;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR49_2" x1="414.194047" x2="411.063394" y1="254.765144" y2="247.79307"> - <stop offset="0" style="stop-color:#eaed0f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#eaed0f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR49_2" x1="414.194047" x2="411.063394" y1="254.765144" y2="247.79307"> + <stop offset="1" style="stop-color:#f3e507;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#eaed0f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT49" points="414.194047 254.765144 414.596117 246.206779 421.199835 243.241528"/> </defs> - <use fill="#f3e507" fill-opacity="1" xlink:href="#GT49"/> - <use fill="url(#GR49_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT49"/> - <use fill="url(#GR49_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT49"/> - <use fill="url(#GR49_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT49"/> + <path d="M 414.194047,254.765144 L 414.596117,246.206779 421.199835,243.241528 Z" fill="#f3e507" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 414.194047,254.765144 L 414.596117,246.206779 421.199835,243.241528 Z" fill="url(#GR49_0)" shape-rendering="crispEdges"/> + <path d="M 414.194047,254.765144 L 414.596117,246.206779 421.199835,243.241528 Z" fill="url(#GR49_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 414.194047,254.765144 L 414.596117,246.206779 421.199835,243.241528 Z" fill="url(#GR49_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR4a_0" x1="421.199835" x2="414.74966" y1="243.241528" y2="242.9385"> - <stop offset="0" style="stop-color:#f1fc06;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f1fc06;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR4a_0" x1="421.199835" x2="414.74966" y1="243.241528" y2="242.9385"> + <stop offset="1" style="stop-color:#dff819;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f1fc06;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR4a_1" x1="413.791977" x2="410.28659" y1="263.323509" y2="261.192407"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR4a_1" x1="413.791977" x2="410.28659" y1="263.323509" y2="261.192407"> + <stop offset="1" style="stop-color:#dff819;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR4a_2" x1="414.194047" x2="416.61902" y1="254.765144" y2="255.65967"> - <stop offset="0" style="stop-color:#eaed0f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#eaed0f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR4a_2" x1="414.194047" x2="416.61902" y1="254.765144" y2="255.65967"> + <stop offset="1" style="stop-color:#dff819;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#eaed0f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT4a" points="414.194047 254.765144 421.199835 243.241528 413.791977 263.323509"/> </defs> - <use fill="#dff819" fill-opacity="1" xlink:href="#GT4a"/> - <use fill="url(#GR4a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT4a"/> - <use fill="url(#GR4a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT4a"/> - <use fill="url(#GR4a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT4a"/> + <path d="M 414.194047,254.765144 L 421.199835,243.241528 413.791977,263.323509 Z" fill="#dff819" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 414.194047,254.765144 L 421.199835,243.241528 413.791977,263.323509 Z" fill="url(#GR4a_0)" shape-rendering="crispEdges"/> + <path d="M 414.194047,254.765144 L 421.199835,243.241528 413.791977,263.323509 Z" fill="url(#GR4a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 414.194047,254.765144 L 421.199835,243.241528 413.791977,263.323509 Z" fill="url(#GR4a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR4b_0" x1="413.791977" x2="410.28659" y1="263.323509" y2="261.192407"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR4b_0" x1="413.791977" x2="410.28659" y1="263.323509" y2="261.192407"> + <stop offset="1" style="stop-color:#e1f617;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR4b_1" x1="407.188259" x2="413.638434" y1="266.28876" y2="266.591788"> - <stop offset="0" style="stop-color:#f8f500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f8f500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR4b_1" x1="407.188259" x2="413.638434" y1="266.28876" y2="266.591788"> + <stop offset="1" style="stop-color:#e1f617;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f8f500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR4b_2" x1="414.194047" x2="417.324701" y1="254.765144" y2="261.737218"> - <stop offset="0" style="stop-color:#eaed0f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#eaed0f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR4b_2" x1="414.194047" x2="417.324701" y1="254.765144" y2="261.737218"> + <stop offset="1" style="stop-color:#e1f617;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#eaed0f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT4b" points="414.194047 254.765144 413.791977 263.323509 407.188259 266.28876"/> </defs> - <use fill="#e1f617" fill-opacity="1" xlink:href="#GT4b"/> - <use fill="url(#GR4b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT4b"/> - <use fill="url(#GR4b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT4b"/> - <use fill="url(#GR4b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT4b"/> + <path d="M 414.194047,254.765144 L 413.791977,263.323509 407.188259,266.28876 Z" fill="#e1f617" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 414.194047,254.765144 L 413.791977,263.323509 407.188259,266.28876 Z" fill="url(#GR4b_0)" shape-rendering="crispEdges"/> + <path d="M 414.194047,254.765144 L 413.791977,263.323509 407.188259,266.28876 Z" fill="url(#GR4b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 414.194047,254.765144 L 413.791977,263.323509 407.188259,266.28876 Z" fill="url(#GR4b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR4c_0" x1="414.596117" x2="419.885091" y1="246.206779" y2="247.749352"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR4c_0" x1="414.596117" x2="419.885091" y1="246.206779" y2="247.749352"> + <stop offset="1" style="stop-color:#feac00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR4c_1" x1="425.018162" x2="427.211093" y1="230.149741" y2="232.112507"> - <stop offset="0" style="stop-color:#ff8200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR4c_1" x1="425.018162" x2="427.211093" y1="230.149741" y2="232.112507"> + <stop offset="1" style="stop-color:#feac00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR4c_2" x1="423.108998" x2="421.462923" y1="236.695634" y2="235.627226"> - <stop offset="0" style="stop-color:#fcbe01;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fcbe01;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR4c_2" x1="423.108998" x2="421.462923" y1="236.695634" y2="235.627226"> + <stop offset="1" style="stop-color:#feac00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fcbe01;stop-opacity:0;"/> </linearGradient> - <polygon id="GT4c" points="423.108998 236.695634 414.596117 246.206779 425.018162 230.149741"/> </defs> - <use fill="#feac00" fill-opacity="1" xlink:href="#GT4c"/> - <use fill="url(#GR4c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT4c"/> - <use fill="url(#GR4c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT4c"/> - <use fill="url(#GR4c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT4c"/> + <path d="M 423.108998,236.695634 L 414.596117,246.206779 425.018162,230.149741 Z" fill="#feac00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 423.108998,236.695634 L 414.596117,246.206779 425.018162,230.149741 Z" fill="url(#GR4c_0)" shape-rendering="crispEdges"/> + <path d="M 423.108998,236.695634 L 414.596117,246.206779 425.018162,230.149741 Z" fill="url(#GR4c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 423.108998,236.695634 L 414.596117,246.206779 425.018162,230.149741 Z" fill="url(#GR4c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR4d_0" x1="425.018162" x2="427.211093" y1="230.149741" y2="232.112507"> - <stop offset="0" style="stop-color:#ff8200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR4d_0" x1="425.018162" x2="427.211093" y1="230.149741" y2="232.112507"> + <stop offset="1" style="stop-color:#fea700;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR4d_1" x1="431.621879" x2="426.332905" y1="227.184489" y2="225.641916"> - <stop offset="0" style="stop-color:#ffb600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR4d_1" x1="431.621879" x2="426.332905" y1="227.184489" y2="225.641916"> + <stop offset="1" style="stop-color:#fea700;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR4d_2" x1="423.108998" x2="420.983253" y1="236.695634" y2="231.961526"> - <stop offset="0" style="stop-color:#fcbe01;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fcbe01;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR4d_2" x1="423.108998" x2="420.983253" y1="236.695634" y2="231.961526"> + <stop offset="1" style="stop-color:#fea700;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fcbe01;stop-opacity:0;"/> </linearGradient> - <polygon id="GT4d" points="423.108998 236.695634 425.018162 230.149741 431.621879 227.184489"/> </defs> - <use fill="#fea700" fill-opacity="1" xlink:href="#GT4d"/> - <use fill="url(#GR4d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT4d"/> - <use fill="url(#GR4d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT4d"/> - <use fill="url(#GR4d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT4d"/> + <path d="M 423.108998,236.695634 L 425.018162,230.149741 431.621879,227.184489 Z" fill="#fea700" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 423.108998,236.695634 L 425.018162,230.149741 431.621879,227.184489 Z" fill="url(#GR4d_0)" shape-rendering="crispEdges"/> + <path d="M 423.108998,236.695634 L 425.018162,230.149741 431.621879,227.184489 Z" fill="url(#GR4d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 423.108998,236.695634 L 425.018162,230.149741 431.621879,227.184489 Z" fill="url(#GR4d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR4e_0" x1="431.621879" x2="426.332905" y1="227.184489" y2="225.641916"> - <stop offset="0" style="stop-color:#ffb600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR4e_0" x1="431.621879" x2="426.332905" y1="227.184489" y2="225.641916"> + <stop offset="1" style="stop-color:#f9d002;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR4e_1" x1="421.199835" x2="419.006904" y1="243.241528" y2="241.278761"> - <stop offset="0" style="stop-color:#f1fc06;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f1fc06;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR4e_1" x1="421.199835" x2="419.006904" y1="243.241528" y2="241.278761"> + <stop offset="1" style="stop-color:#f9d002;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f1fc06;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR4e_2" x1="423.108998" x2="424.755073" y1="236.695634" y2="237.764042"> - <stop offset="0" style="stop-color:#fcbe01;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fcbe01;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR4e_2" x1="423.108998" x2="424.755073" y1="236.695634" y2="237.764042"> + <stop offset="1" style="stop-color:#f9d002;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fcbe01;stop-opacity:0;"/> </linearGradient> - <polygon id="GT4e" points="423.108998 236.695634 431.621879 227.184489 421.199835 243.241528"/> </defs> - <use fill="#f9d002" fill-opacity="1" xlink:href="#GT4e"/> - <use fill="url(#GR4e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT4e"/> - <use fill="url(#GR4e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT4e"/> - <use fill="url(#GR4e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT4e"/> + <path d="M 423.108998,236.695634 L 431.621879,227.184489 421.199835,243.241528 Z" fill="#f9d002" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 423.108998,236.695634 L 431.621879,227.184489 421.199835,243.241528 Z" fill="url(#GR4e_0)" shape-rendering="crispEdges"/> + <path d="M 423.108998,236.695634 L 431.621879,227.184489 421.199835,243.241528 Z" fill="url(#GR4e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 423.108998,236.695634 L 431.621879,227.184489 421.199835,243.241528 Z" fill="url(#GR4e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR4f_0" x1="421.199835" x2="419.006904" y1="243.241528" y2="241.278761"> - <stop offset="0" style="stop-color:#f1fc06;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f1fc06;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR4f_0" x1="421.199835" x2="419.006904" y1="243.241528" y2="241.278761"> + <stop offset="1" style="stop-color:#f9d502;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f1fc06;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR4f_1" x1="414.596117" x2="419.885091" y1="246.206779" y2="247.749352"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR4f_1" x1="414.596117" x2="419.885091" y1="246.206779" y2="247.749352"> + <stop offset="1" style="stop-color:#f9d502;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR4f_2" x1="423.108998" x2="425.234744" y1="236.695634" y2="241.429742"> - <stop offset="0" style="stop-color:#fcbe01;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fcbe01;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR4f_2" x1="423.108998" x2="425.234744" y1="236.695634" y2="241.429742"> + <stop offset="1" style="stop-color:#f9d502;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fcbe01;stop-opacity:0;"/> </linearGradient> - <polygon id="GT4f" points="423.108998 236.695634 421.199835 243.241528 414.596117 246.206779"/> </defs> - <use fill="#f9d502" fill-opacity="1" xlink:href="#GT4f"/> - <use fill="url(#GR4f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT4f"/> - <use fill="url(#GR4f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT4f"/> - <use fill="url(#GR4f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT4f"/> + <path d="M 423.108998,236.695634 L 421.199835,243.241528 414.596117,246.206779 Z" fill="#f9d502" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 423.108998,236.695634 L 421.199835,243.241528 414.596117,246.206779 Z" fill="url(#GR4f_0)" shape-rendering="crispEdges"/> + <path d="M 423.108998,236.695634 L 421.199835,243.241528 414.596117,246.206779 Z" fill="url(#GR4f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 423.108998,236.695634 L 421.199835,243.241528 414.596117,246.206779 Z" fill="url(#GR4f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR50_0" x1="425.018162" x2="427.733576" y1="230.149741" y2="232.238744"> - <stop offset="0" style="stop-color:#ff8200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR50_0" x1="425.018162" x2="427.733576" y1="230.149741" y2="232.238744"> + <stop offset="1" style="stop-color:#ff6100;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR50_1" x1="437.683992" x2="438.520932" y1="219.304585" y2="220.47236"> - <stop offset="0" style="stop-color:#ff3000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff3000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR50_1" x1="437.683992" x2="438.520932" y1="219.304585" y2="220.47236"> + <stop offset="1" style="stop-color:#ff6100;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff3000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR50_2" x1="434.652936" x2="433.988651" y1="223.244537" y2="222.468732"> - <stop offset="0" style="stop-color:#ff7200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff7200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR50_2" x1="434.652936" x2="433.988651" y1="223.244537" y2="222.468732"> + <stop offset="1" style="stop-color:#ff6100;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff7200;stop-opacity:0;"/> </linearGradient> - <polygon id="GT50" points="434.652936 223.244537 425.018162 230.149741 437.683992 219.304585"/> </defs> - <use fill="#ff6100" fill-opacity="1" xlink:href="#GT50"/> - <use fill="url(#GR50_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT50"/> - <use fill="url(#GR50_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT50"/> - <use fill="url(#GR50_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT50"/> + <path d="M 434.652936,223.244537 L 425.018162,230.149741 437.683992,219.304585 Z" fill="#ff6100" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 434.652936,223.244537 L 425.018162,230.149741 437.683992,219.304585 Z" fill="url(#GR50_0)" shape-rendering="crispEdges"/> + <path d="M 434.652936,223.244537 L 425.018162,230.149741 437.683992,219.304585 Z" fill="url(#GR50_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 434.652936,223.244537 L 425.018162,230.149741 437.683992,219.304585 Z" fill="url(#GR50_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR51_0" x1="437.683992" x2="438.520932" y1="219.304585" y2="220.47236"> - <stop offset="0" style="stop-color:#ff3000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff3000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR51_0" x1="437.683992" x2="438.520932" y1="219.304585" y2="220.47236"> + <stop offset="1" style="stop-color:#ff5600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff3000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR51_1" x1="444.28771" x2="441.572296" y1="216.339333" y2="214.25033"> - <stop offset="0" style="stop-color:#ff6000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR51_1" x1="444.28771" x2="441.572296" y1="216.339333" y2="214.25033"> + <stop offset="1" style="stop-color:#ff5600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR51_2" x1="434.652936" x2="433.689235" y1="223.244537" y2="221.098341"> - <stop offset="0" style="stop-color:#ff7200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff7200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR51_2" x1="434.652936" x2="433.689235" y1="223.244537" y2="221.098341"> + <stop offset="1" style="stop-color:#ff5600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff7200;stop-opacity:0;"/> </linearGradient> - <polygon id="GT51" points="434.652936 223.244537 437.683992 219.304585 444.28771 216.339333"/> </defs> - <use fill="#ff5600" fill-opacity="1" xlink:href="#GT51"/> - <use fill="url(#GR51_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT51"/> - <use fill="url(#GR51_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT51"/> - <use fill="url(#GR51_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT51"/> + <path d="M 434.652936,223.244537 L 437.683992,219.304585 444.28771,216.339333 Z" fill="#ff5600" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 434.652936,223.244537 L 437.683992,219.304585 444.28771,216.339333 Z" fill="url(#GR51_0)" shape-rendering="crispEdges"/> + <path d="M 434.652936,223.244537 L 437.683992,219.304585 444.28771,216.339333 Z" fill="url(#GR51_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 434.652936,223.244537 L 437.683992,219.304585 444.28771,216.339333 Z" fill="url(#GR51_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR52_0" x1="444.28771" x2="441.572296" y1="216.339333" y2="214.25033"> - <stop offset="0" style="stop-color:#ff6000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR52_0" x1="444.28771" x2="441.572296" y1="216.339333" y2="214.25033"> + <stop offset="1" style="stop-color:#ff8300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR52_1" x1="431.621879" x2="430.78494" y1="227.184489" y2="226.016714"> - <stop offset="0" style="stop-color:#ffb600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR52_1" x1="431.621879" x2="430.78494" y1="227.184489" y2="226.016714"> + <stop offset="1" style="stop-color:#ff8300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR52_2" x1="434.652936" x2="435.317221" y1="223.244537" y2="224.020342"> - <stop offset="0" style="stop-color:#ff7200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff7200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR52_2" x1="434.652936" x2="435.317221" y1="223.244537" y2="224.020342"> + <stop offset="1" style="stop-color:#ff8300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff7200;stop-opacity:0;"/> </linearGradient> - <polygon id="GT52" points="434.652936 223.244537 444.28771 216.339333 431.621879 227.184489"/> </defs> - <use fill="#ff8300" fill-opacity="1" xlink:href="#GT52"/> - <use fill="url(#GR52_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT52"/> - <use fill="url(#GR52_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT52"/> - <use fill="url(#GR52_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT52"/> + <path d="M 434.652936,223.244537 L 444.28771,216.339333 431.621879,227.184489 Z" fill="#ff8300" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 434.652936,223.244537 L 444.28771,216.339333 431.621879,227.184489 Z" fill="url(#GR52_0)" shape-rendering="crispEdges"/> + <path d="M 434.652936,223.244537 L 444.28771,216.339333 431.621879,227.184489 Z" fill="url(#GR52_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 434.652936,223.244537 L 444.28771,216.339333 431.621879,227.184489 Z" fill="url(#GR52_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR53_0" x1="431.621879" x2="430.78494" y1="227.184489" y2="226.016714"> - <stop offset="0" style="stop-color:#ffb600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR53_0" x1="431.621879" x2="430.78494" y1="227.184489" y2="226.016714"> + <stop offset="1" style="stop-color:#ff8e00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR53_1" x1="425.018162" x2="427.733576" y1="230.149741" y2="232.238744"> - <stop offset="0" style="stop-color:#ff8200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR53_1" x1="425.018162" x2="427.733576" y1="230.149741" y2="232.238744"> + <stop offset="1" style="stop-color:#ff8e00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR53_2" x1="434.652936" x2="435.616637" y1="223.244537" y2="225.390733"> - <stop offset="0" style="stop-color:#ff7200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff7200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR53_2" x1="434.652936" x2="435.616637" y1="223.244537" y2="225.390733"> + <stop offset="1" style="stop-color:#ff8e00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff7200;stop-opacity:0;"/> </linearGradient> - <polygon id="GT53" points="434.652936 223.244537 431.621879 227.184489 425.018162 230.149741"/> </defs> - <use fill="#ff8e00" fill-opacity="1" xlink:href="#GT53"/> - <use fill="url(#GR53_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT53"/> - <use fill="url(#GR53_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT53"/> - <use fill="url(#GR53_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT53"/> + <path d="M 434.652936,223.244537 L 431.621879,227.184489 425.018162,230.149741 Z" fill="#ff8e00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 434.652936,223.244537 L 431.621879,227.184489 425.018162,230.149741 Z" fill="url(#GR53_0)" shape-rendering="crispEdges"/> + <path d="M 434.652936,223.244537 L 431.621879,227.184489 425.018162,230.149741 Z" fill="url(#GR53_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 434.652936,223.244537 L 431.621879,227.184489 425.018162,230.149741 Z" fill="url(#GR53_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR54_0" x1="437.683992" x2="437.376308" y1="219.304585" y2="218.089631"> - <stop offset="0" style="stop-color:#ff3000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff3000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR54_0" x1="437.683992" x2="437.376308" y1="219.304585" y2="218.089631"> + <stop offset="1" style="stop-color:#dc1c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff3000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR54_1" x1="451.657347" x2="451.503924" y1="214.472989" y2="214.068082"> - <stop offset="0" style="stop-color:#b20000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b20000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR54_1" x1="451.657347" x2="451.503924" y1="214.472989" y2="214.068082"> + <stop offset="1" style="stop-color:#dc1c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b20000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR54_2" x1="447.972528" x2="448.077825" y1="215.406161" y2="215.710688"> - <stop offset="0" style="stop-color:#e52400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e52400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR54_2" x1="447.972528" x2="448.077825" y1="215.406161" y2="215.710688"> + <stop offset="1" style="stop-color:#dc1c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e52400;stop-opacity:0;"/> </linearGradient> - <polygon id="GT54" points="447.972528 215.406161 437.683992 219.304585 451.657347 214.472989"/> </defs> - <use fill="#dc1c00" fill-opacity="1" xlink:href="#GT54"/> - <use fill="url(#GR54_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT54"/> - <use fill="url(#GR54_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT54"/> - <use fill="url(#GR54_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT54"/> + <path d="M 447.972528,215.406161 L 437.683992,219.304585 451.657347,214.472989 Z" fill="#dc1c00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.972528,215.406161 L 437.683992,219.304585 451.657347,214.472989 Z" fill="url(#GR54_0)" shape-rendering="crispEdges"/> + <path d="M 447.972528,215.406161 L 437.683992,219.304585 451.657347,214.472989 Z" fill="url(#GR54_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.972528,215.406161 L 437.683992,219.304585 451.657347,214.472989 Z" fill="url(#GR54_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR55_0" x1="451.657347" x2="451.503924" y1="214.472989" y2="214.068082"> - <stop offset="0" style="stop-color:#b20000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b20000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR55_0" x1="451.657347" x2="451.503924" y1="214.472989" y2="214.068082"> + <stop offset="1" style="stop-color:#d30c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b20000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR55_1" x1="458.261065" x2="458.568749" y1="211.507738" y2="212.722692"> - <stop offset="0" style="stop-color:#e40000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e40000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR55_1" x1="458.261065" x2="458.568749" y1="211.507738" y2="212.722692"> + <stop offset="1" style="stop-color:#d30c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e40000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR55_2" x1="447.972528" x2="448.242108" y1="215.406161" y2="216.006526"> - <stop offset="0" style="stop-color:#e52400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e52400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR55_2" x1="447.972528" x2="448.242108" y1="215.406161" y2="216.006526"> + <stop offset="1" style="stop-color:#d30c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e52400;stop-opacity:0;"/> </linearGradient> - <polygon id="GT55" points="447.972528 215.406161 451.657347 214.472989 458.261065 211.507738"/> </defs> - <use fill="#d30c00" fill-opacity="1" xlink:href="#GT55"/> - <use fill="url(#GR55_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT55"/> - <use fill="url(#GR55_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT55"/> - <use fill="url(#GR55_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT55"/> + <path d="M 447.972528,215.406161 L 451.657347,214.472989 458.261065,211.507738 Z" fill="#d30c00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.972528,215.406161 L 451.657347,214.472989 458.261065,211.507738 Z" fill="url(#GR55_0)" shape-rendering="crispEdges"/> + <path d="M 447.972528,215.406161 L 451.657347,214.472989 458.261065,211.507738 Z" fill="url(#GR55_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.972528,215.406161 L 451.657347,214.472989 458.261065,211.507738 Z" fill="url(#GR55_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR56_0" x1="458.261065" x2="458.568749" y1="211.507738" y2="212.722692"> - <stop offset="0" style="stop-color:#e40000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e40000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR56_0" x1="458.261065" x2="458.568749" y1="211.507738" y2="212.722692"> + <stop offset="1" style="stop-color:#ed2c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e40000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR56_1" x1="444.28771" x2="444.441133" y1="216.339333" y2="216.74424"> - <stop offset="0" style="stop-color:#ff6000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR56_1" x1="444.28771" x2="444.441133" y1="216.339333" y2="216.74424"> + <stop offset="1" style="stop-color:#ed2c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR56_2" x1="447.972528" x2="447.867231" y1="215.406161" y2="215.101635"> - <stop offset="0" style="stop-color:#e52400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e52400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR56_2" x1="447.972528" x2="447.867231" y1="215.406161" y2="215.101635"> + <stop offset="1" style="stop-color:#ed2c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e52400;stop-opacity:0;"/> </linearGradient> - <polygon id="GT56" points="447.972528 215.406161 458.261065 211.507738 444.28771 216.339333"/> </defs> - <use fill="#ed2c00" fill-opacity="1" xlink:href="#GT56"/> - <use fill="url(#GR56_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT56"/> - <use fill="url(#GR56_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT56"/> - <use fill="url(#GR56_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT56"/> + <path d="M 447.972528,215.406161 L 458.261065,211.507738 444.28771,216.339333 Z" fill="#ed2c00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.972528,215.406161 L 458.261065,211.507738 444.28771,216.339333 Z" fill="url(#GR56_0)" shape-rendering="crispEdges"/> + <path d="M 447.972528,215.406161 L 458.261065,211.507738 444.28771,216.339333 Z" fill="url(#GR56_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.972528,215.406161 L 458.261065,211.507738 444.28771,216.339333 Z" fill="url(#GR56_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR57_0" x1="444.28771" x2="444.441133" y1="216.339333" y2="216.74424"> - <stop offset="0" style="stop-color:#ff6000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR57_0" x1="444.28771" x2="444.441133" y1="216.339333" y2="216.74424"> + <stop offset="1" style="stop-color:#f63c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR57_1" x1="437.683992" x2="437.376308" y1="219.304585" y2="218.089631"> - <stop offset="0" style="stop-color:#ff3000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff3000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR57_1" x1="437.683992" x2="437.376308" y1="219.304585" y2="218.089631"> + <stop offset="1" style="stop-color:#f63c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff3000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR57_2" x1="447.972528" x2="447.702948" y1="215.406161" y2="214.805797"> - <stop offset="0" style="stop-color:#e52400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e52400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR57_2" x1="447.972528" x2="447.702948" y1="215.406161" y2="214.805797"> + <stop offset="1" style="stop-color:#f63c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e52400;stop-opacity:0;"/> </linearGradient> - <polygon id="GT57" points="447.972528 215.406161 444.28771 216.339333 437.683992 219.304585"/> </defs> - <use fill="#f63c00" fill-opacity="1" xlink:href="#GT57"/> - <use fill="url(#GR57_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT57"/> - <use fill="url(#GR57_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT57"/> - <use fill="url(#GR57_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT57"/> + <path d="M 447.972528,215.406161 L 444.28771,216.339333 437.683992,219.304585 Z" fill="#f63c00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.972528,215.406161 L 444.28771,216.339333 437.683992,219.304585 Z" fill="url(#GR57_0)" shape-rendering="crispEdges"/> + <path d="M 447.972528,215.406161 L 444.28771,216.339333 437.683992,219.304585 Z" fill="url(#GR57_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.972528,215.406161 L 444.28771,216.339333 437.683992,219.304585 Z" fill="url(#GR57_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR58_0" x1="458.261065" x2="458.36719" y1="383.874871" y2="379.375356"> - <stop offset="0" style="stop-color:#e40000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e40000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR58_0" x1="458.261065" x2="458.36719" y1="383.874871" y2="379.375356"> + <stop offset="1" style="stop-color:#f43700;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e40000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR58_1" x1="444.28771" x2="450.15223" y1="379.043276" y2="374.152193"> - <stop offset="0" style="stop-color:#ff6000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR58_1" x1="444.28771" x2="450.15223" y1="379.043276" y2="374.152193"> + <stop offset="1" style="stop-color:#f43700;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR58_2" x1="454.430983" x2="453.421665" y1="379.282516" y2="382.201542"> - <stop offset="0" style="stop-color:#f84400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f84400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR58_2" x1="454.430983" x2="453.421665" y1="379.282516" y2="382.201542"> + <stop offset="1" style="stop-color:#f43700;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f84400;stop-opacity:0;"/> </linearGradient> - <polygon id="GT58" points="454.430983 379.282516 458.261065 383.874871 444.28771 379.043276"/> </defs> - <use fill="#f43700" fill-opacity="1" xlink:href="#GT58"/> - <use fill="url(#GR58_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT58"/> - <use fill="url(#GR58_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT58"/> - <use fill="url(#GR58_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT58"/> + <path d="M 454.430983,379.282516 L 458.261065,383.874871 444.28771,379.043276 Z" fill="#f43700" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 454.430983,379.282516 L 458.261065,383.874871 444.28771,379.043276 Z" fill="url(#GR58_0)" shape-rendering="crispEdges"/> + <path d="M 454.430983,379.282516 L 458.261065,383.874871 444.28771,379.043276 Z" fill="url(#GR58_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 454.430983,379.282516 L 458.261065,383.874871 444.28771,379.043276 Z" fill="url(#GR58_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR59_0" x1="444.28771" x2="450.15223" y1="379.043276" y2="374.152193"> - <stop offset="0" style="stop-color:#ff6000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR59_0" x1="444.28771" x2="450.15223" y1="379.043276" y2="374.152193"> + <stop offset="1" style="stop-color:#fd6400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR59_1" x1="450.600901" x2="450.494775" y1="374.69016" y2="379.189676"> - <stop offset="0" style="stop-color:#ff8900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR59_1" x1="450.600901" x2="450.494775" y1="374.69016" y2="379.189676"> + <stop offset="1" style="stop-color:#fd6400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR59_2" x1="454.430983" x2="451.050615" y1="379.282516" y2="374.380071"> - <stop offset="0" style="stop-color:#f84400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f84400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR59_2" x1="454.430983" x2="451.050615" y1="379.282516" y2="374.380071"> + <stop offset="1" style="stop-color:#fd6400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f84400;stop-opacity:0;"/> </linearGradient> - <polygon id="GT59" points="454.430983 379.282516 444.28771 379.043276 450.600901 374.69016"/> </defs> - <use fill="#fd6400" fill-opacity="1" xlink:href="#GT59"/> - <use fill="url(#GR59_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT59"/> - <use fill="url(#GR59_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT59"/> - <use fill="url(#GR59_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT59"/> + <path d="M 454.430983,379.282516 L 444.28771,379.043276 450.600901,374.69016 Z" fill="#fd6400" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 454.430983,379.282516 L 444.28771,379.043276 450.600901,374.69016 Z" fill="url(#GR59_0)" shape-rendering="crispEdges"/> + <path d="M 454.430983,379.282516 L 444.28771,379.043276 450.600901,374.69016 Z" fill="url(#GR59_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 454.430983,379.282516 L 444.28771,379.043276 450.600901,374.69016 Z" fill="url(#GR59_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR5a_0" x1="450.600901" x2="450.494775" y1="374.69016" y2="379.189676"> - <stop offset="0" style="stop-color:#ff8900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR5a_0" x1="450.600901" x2="450.494775" y1="374.69016" y2="379.189676"> + <stop offset="1" style="stop-color:#fd5100;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR5a_1" x1="464.574256" x2="458.709736" y1="379.521756" y2="384.412839"> - <stop offset="0" style="stop-color:#ff2500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff2500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR5a_1" x1="464.574256" x2="458.709736" y1="379.521756" y2="384.412839"> + <stop offset="1" style="stop-color:#fd5100;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff2500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR5a_2" x1="454.430983" x2="455.440301" y1="379.282516" y2="376.363489"> - <stop offset="0" style="stop-color:#f84400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f84400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR5a_2" x1="454.430983" x2="455.440301" y1="379.282516" y2="376.363489"> + <stop offset="1" style="stop-color:#fd5100;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f84400;stop-opacity:0;"/> </linearGradient> - <polygon id="GT5a" points="454.430983 379.282516 450.600901 374.69016 464.574256 379.521756"/> </defs> - <use fill="#fd5100" fill-opacity="1" xlink:href="#GT5a"/> - <use fill="url(#GR5a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT5a"/> - <use fill="url(#GR5a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT5a"/> - <use fill="url(#GR5a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT5a"/> + <path d="M 454.430983,379.282516 L 450.600901,374.69016 464.574256,379.521756 Z" fill="#fd5100" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 454.430983,379.282516 L 450.600901,374.69016 464.574256,379.521756 Z" fill="url(#GR5a_0)" shape-rendering="crispEdges"/> + <path d="M 454.430983,379.282516 L 450.600901,374.69016 464.574256,379.521756 Z" fill="url(#GR5a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 454.430983,379.282516 L 450.600901,374.69016 464.574256,379.521756 Z" fill="url(#GR5a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR5b_0" x1="464.574256" x2="458.709736" y1="379.521756" y2="384.412839"> - <stop offset="0" style="stop-color:#ff2500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff2500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR5b_0" x1="464.574256" x2="458.709736" y1="379.521756" y2="384.412839"> + <stop offset="1" style="stop-color:#f42300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff2500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR5b_1" x1="458.261065" x2="458.36719" y1="383.874871" y2="379.375356"> - <stop offset="0" style="stop-color:#e40000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e40000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR5b_1" x1="458.261065" x2="458.36719" y1="383.874871" y2="379.375356"> + <stop offset="1" style="stop-color:#f42300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e40000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR5b_2" x1="454.430983" x2="457.811351" y1="379.282516" y2="384.184961"> - <stop offset="0" style="stop-color:#f84400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f84400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR5b_2" x1="454.430983" x2="457.811351" y1="379.282516" y2="384.184961"> + <stop offset="1" style="stop-color:#f42300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f84400;stop-opacity:0;"/> </linearGradient> - <polygon id="GT5b" points="454.430983 379.282516 464.574256 379.521756 458.261065 383.874871"/> </defs> - <use fill="#f42300" fill-opacity="1" xlink:href="#GT5b"/> - <use fill="url(#GR5b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT5b"/> - <use fill="url(#GR5b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT5b"/> - <use fill="url(#GR5b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT5b"/> + <path d="M 454.430983,379.282516 L 464.574256,379.521756 458.261065,383.874871 Z" fill="#f42300" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 454.430983,379.282516 L 464.574256,379.521756 458.261065,383.874871 Z" fill="url(#GR5b_0)" shape-rendering="crispEdges"/> + <path d="M 454.430983,379.282516 L 464.574256,379.521756 458.261065,383.874871 Z" fill="url(#GR5b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 454.430983,379.282516 L 464.574256,379.521756 458.261065,383.874871 Z" fill="url(#GR5b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR5c_0" x1="444.28771" x2="446.282089" y1="379.043276" y2="373.21285"> - <stop offset="0" style="stop-color:#ff6000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR5c_0" x1="444.28771" x2="446.282089" y1="379.043276" y2="373.21285"> + <stop offset="1" style="stop-color:#ff9200;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR5c_1" x1="431.621879" x2="438.545051" y1="368.19812" y2="365.304343"> - <stop offset="0" style="stop-color:#ffb600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR5c_1" x1="431.621879" x2="438.545051" y1="368.19812" y2="365.304343"> + <stop offset="1" style="stop-color:#ff9200;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR5c_2" x1="441.11139" x2="438.700776" y1="371.44414" y2="374.259447"> - <stop offset="0" style="stop-color:#ffa100;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffa100;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR5c_2" x1="441.11139" x2="438.700776" y1="371.44414" y2="374.259447"> + <stop offset="1" style="stop-color:#ff9200;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffa100;stop-opacity:0;"/> </linearGradient> - <polygon id="GT5c" points="441.11139 371.44414 444.28771 379.043276 431.621879 368.19812"/> </defs> - <use fill="#ff9200" fill-opacity="1" xlink:href="#GT5c"/> - <use fill="url(#GR5c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT5c"/> - <use fill="url(#GR5c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT5c"/> - <use fill="url(#GR5c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT5c"/> + <path d="M 441.11139,371.44414 L 444.28771,379.043276 431.621879,368.19812 Z" fill="#ff9200" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.11139,371.44414 L 444.28771,379.043276 431.621879,368.19812 Z" fill="url(#GR5c_0)" shape-rendering="crispEdges"/> + <path d="M 441.11139,371.44414 L 444.28771,379.043276 431.621879,368.19812 Z" fill="url(#GR5c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.11139,371.44414 L 444.28771,379.043276 431.621879,368.19812 Z" fill="url(#GR5c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR5d_0" x1="431.621879" x2="438.545051" y1="368.19812" y2="365.304343"> - <stop offset="0" style="stop-color:#ffb600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR5d_0" x1="431.621879" x2="438.545051" y1="368.19812" y2="365.304343"> + <stop offset="1" style="stop-color:#ffbf00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR5d_1" x1="437.935071" x2="435.940692" y1="363.845005" y2="369.675431"> - <stop offset="0" style="stop-color:#ffe600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffe600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR5d_1" x1="437.935071" x2="435.940692" y1="363.845005" y2="369.675431"> + <stop offset="1" style="stop-color:#ffbf00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffe600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR5d_2" x1="441.11139" x2="436.536519" y1="371.44414" y2="364.809344"> - <stop offset="0" style="stop-color:#ffa100;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffa100;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR5d_2" x1="441.11139" x2="436.536519" y1="371.44414" y2="364.809344"> + <stop offset="1" style="stop-color:#ffbf00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffa100;stop-opacity:0;"/> </linearGradient> - <polygon id="GT5d" points="441.11139 371.44414 431.621879 368.19812 437.935071 363.845005"/> </defs> - <use fill="#ffbf00" fill-opacity="1" xlink:href="#GT5d"/> - <use fill="url(#GR5d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT5d"/> - <use fill="url(#GR5d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT5d"/> - <use fill="url(#GR5d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT5d"/> + <path d="M 441.11139,371.44414 L 431.621879,368.19812 437.935071,363.845005 Z" fill="#ffbf00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.11139,371.44414 L 431.621879,368.19812 437.935071,363.845005 Z" fill="url(#GR5d_0)" shape-rendering="crispEdges"/> + <path d="M 441.11139,371.44414 L 431.621879,368.19812 437.935071,363.845005 Z" fill="url(#GR5d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.11139,371.44414 L 431.621879,368.19812 437.935071,363.845005 Z" fill="url(#GR5d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR5e_0" x1="437.935071" x2="435.940692" y1="363.845005" y2="369.675431"> - <stop offset="0" style="stop-color:#ffe600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffe600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR5e_0" x1="437.935071" x2="435.940692" y1="363.845005" y2="369.675431"> + <stop offset="1" style="stop-color:#ffb000;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffe600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR5e_1" x1="450.600901" x2="443.677729" y1="374.69016" y2="377.583938"> - <stop offset="0" style="stop-color:#ff8900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR5e_1" x1="450.600901" x2="443.677729" y1="374.69016" y2="377.583938"> + <stop offset="1" style="stop-color:#ffb000;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR5e_2" x1="441.11139" x2="443.522005" y1="371.44414" y2="368.628834"> - <stop offset="0" style="stop-color:#ffa100;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffa100;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR5e_2" x1="441.11139" x2="443.522005" y1="371.44414" y2="368.628834"> + <stop offset="1" style="stop-color:#ffb000;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffa100;stop-opacity:0;"/> </linearGradient> - <polygon id="GT5e" points="441.11139 371.44414 437.935071 363.845005 450.600901 374.69016"/> </defs> - <use fill="#ffb000" fill-opacity="1" xlink:href="#GT5e"/> - <use fill="url(#GR5e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT5e"/> - <use fill="url(#GR5e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT5e"/> - <use fill="url(#GR5e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT5e"/> + <path d="M 441.11139,371.44414 L 437.935071,363.845005 450.600901,374.69016 Z" fill="#ffb000" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.11139,371.44414 L 437.935071,363.845005 450.600901,374.69016 Z" fill="url(#GR5e_0)" shape-rendering="crispEdges"/> + <path d="M 441.11139,371.44414 L 437.935071,363.845005 450.600901,374.69016 Z" fill="url(#GR5e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.11139,371.44414 L 437.935071,363.845005 450.600901,374.69016 Z" fill="url(#GR5e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR5f_0" x1="450.600901" x2="443.677729" y1="374.69016" y2="377.583938"> - <stop offset="0" style="stop-color:#ff8900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR5f_0" x1="450.600901" x2="443.677729" y1="374.69016" y2="377.583938"> + <stop offset="1" style="stop-color:#ff8400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR5f_1" x1="444.28771" x2="446.282089" y1="379.043276" y2="373.21285"> - <stop offset="0" style="stop-color:#ff6000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR5f_1" x1="444.28771" x2="446.282089" y1="379.043276" y2="373.21285"> + <stop offset="1" style="stop-color:#ff8400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR5f_2" x1="441.11139" x2="445.686261" y1="371.44414" y2="378.078937"> - <stop offset="0" style="stop-color:#ffa100;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffa100;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR5f_2" x1="441.11139" x2="445.686261" y1="371.44414" y2="378.078937"> + <stop offset="1" style="stop-color:#ff8400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffa100;stop-opacity:0;"/> </linearGradient> - <polygon id="GT5f" points="441.11139 371.44414 450.600901 374.69016 444.28771 379.043276"/> </defs> - <use fill="#ff8400" fill-opacity="1" xlink:href="#GT5f"/> - <use fill="url(#GR5f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT5f"/> - <use fill="url(#GR5f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT5f"/> - <use fill="url(#GR5f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT5f"/> + <path d="M 441.11139,371.44414 L 450.600901,374.69016 444.28771,379.043276 Z" fill="#ff8400" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.11139,371.44414 L 450.600901,374.69016 444.28771,379.043276 Z" fill="url(#GR5f_0)" shape-rendering="crispEdges"/> + <path d="M 441.11139,371.44414 L 450.600901,374.69016 444.28771,379.043276 Z" fill="url(#GR5f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.11139,371.44414 L 450.600901,374.69016 444.28771,379.043276 Z" fill="url(#GR5f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR60_0" x1="431.621879" x2="435.739919" y1="368.19812" y2="362.309807"> - <stop offset="0" style="stop-color:#ffb600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR60_0" x1="431.621879" x2="435.739919" y1="368.19812" y2="362.309807"> + <stop offset="1" style="stop-color:#f4dd07;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR60_1" x1="421.199835" x2="428.109346" y1="352.141082" y2="350.750099"> - <stop offset="0" style="stop-color:#f1fc06;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f1fc06;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR60_1" x1="421.199835" x2="428.109346" y1="352.141082" y2="350.750099"> + <stop offset="1" style="stop-color:#f4dd07;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f1fc06;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR60_2" x1="429.567453" x2="426.352528" y1="357.993043" y2="360.079735"> - <stop offset="0" style="stop-color:#ece60f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ece60f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR60_2" x1="429.567453" x2="426.352528" y1="357.993043" y2="360.079735"> + <stop offset="1" style="stop-color:#f4dd07;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ece60f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT60" points="429.567453 357.993043 431.621879 368.19812 421.199835 352.141082"/> </defs> - <use fill="#f4dd07" fill-opacity="1" xlink:href="#GT60"/> - <use fill="url(#GR60_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT60"/> - <use fill="url(#GR60_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT60"/> - <use fill="url(#GR60_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT60"/> + <path d="M 429.567453,357.993043 L 431.621879,368.19812 421.199835,352.141082 Z" fill="#f4dd07" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 429.567453,357.993043 L 431.621879,368.19812 421.199835,352.141082 Z" fill="url(#GR60_0)" shape-rendering="crispEdges"/> + <path d="M 429.567453,357.993043 L 431.621879,368.19812 421.199835,352.141082 Z" fill="url(#GR60_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 429.567453,357.993043 L 431.621879,368.19812 421.199835,352.141082 Z" fill="url(#GR60_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR61_0" x1="421.199835" x2="428.109346" y1="352.141082" y2="350.750099"> - <stop offset="0" style="stop-color:#f1fc06;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f1fc06;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR61_0" x1="421.199835" x2="428.109346" y1="352.141082" y2="350.750099"> + <stop offset="1" style="stop-color:#dff619;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f1fc06;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR61_1" x1="427.513027" x2="423.394987" y1="347.787966" y2="353.676279"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR61_1" x1="427.513027" x2="423.394987" y1="347.787966" y2="353.676279"> + <stop offset="1" style="stop-color:#dff619;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR61_2" x1="429.567453" x2="424.136255" y1="357.993043" y2="350.116341"> - <stop offset="0" style="stop-color:#ece60f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ece60f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR61_2" x1="429.567453" x2="424.136255" y1="357.993043" y2="350.116341"> + <stop offset="1" style="stop-color:#dff619;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ece60f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT61" points="429.567453 357.993043 421.199835 352.141082 427.513027 347.787966"/> </defs> - <use fill="#dff619" fill-opacity="1" xlink:href="#GT61"/> - <use fill="url(#GR61_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT61"/> - <use fill="url(#GR61_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT61"/> - <use fill="url(#GR61_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT61"/> + <path d="M 429.567453,357.993043 L 421.199835,352.141082 427.513027,347.787966 Z" fill="#dff619" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 429.567453,357.993043 L 421.199835,352.141082 427.513027,347.787966 Z" fill="url(#GR61_0)" shape-rendering="crispEdges"/> + <path d="M 429.567453,357.993043 L 421.199835,352.141082 427.513027,347.787966 Z" fill="url(#GR61_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 429.567453,357.993043 L 421.199835,352.141082 427.513027,347.787966 Z" fill="url(#GR61_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR62_0" x1="427.513027" x2="423.394987" y1="347.787966" y2="353.676279"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR62_0" x1="427.513027" x2="423.394987" y1="347.787966" y2="353.676279"> + <stop offset="1" style="stop-color:#e4ee17;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR62_1" x1="437.935071" x2="431.02556" y1="363.845005" y2="365.235987"> - <stop offset="0" style="stop-color:#ffe600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffe600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR62_1" x1="437.935071" x2="431.02556" y1="363.845005" y2="365.235987"> + <stop offset="1" style="stop-color:#e4ee17;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffe600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR62_2" x1="429.567453" x2="432.782378" y1="357.993043" y2="355.906352"> - <stop offset="0" style="stop-color:#ece60f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ece60f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR62_2" x1="429.567453" x2="432.782378" y1="357.993043" y2="355.906352"> + <stop offset="1" style="stop-color:#e4ee17;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ece60f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT62" points="429.567453 357.993043 427.513027 347.787966 437.935071 363.845005"/> </defs> - <use fill="#e4ee17" fill-opacity="1" xlink:href="#GT62"/> - <use fill="url(#GR62_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT62"/> - <use fill="url(#GR62_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT62"/> - <use fill="url(#GR62_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT62"/> + <path d="M 429.567453,357.993043 L 427.513027,347.787966 437.935071,363.845005 Z" fill="#e4ee17" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 429.567453,357.993043 L 427.513027,347.787966 437.935071,363.845005 Z" fill="url(#GR62_0)" shape-rendering="crispEdges"/> + <path d="M 429.567453,357.993043 L 427.513027,347.787966 437.935071,363.845005 Z" fill="url(#GR62_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 429.567453,357.993043 L 427.513027,347.787966 437.935071,363.845005 Z" fill="url(#GR62_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR63_0" x1="437.935071" x2="431.02556" y1="363.845005" y2="365.235987"> - <stop offset="0" style="stop-color:#ffe600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffe600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR63_0" x1="437.935071" x2="431.02556" y1="363.845005" y2="365.235987"> + <stop offset="1" style="stop-color:#f9d605;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffe600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR63_1" x1="431.621879" x2="435.739919" y1="368.19812" y2="362.309807"> - <stop offset="0" style="stop-color:#ffb600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR63_1" x1="431.621879" x2="435.739919" y1="368.19812" y2="362.309807"> + <stop offset="1" style="stop-color:#f9d605;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR63_2" x1="429.567453" x2="434.998651" y1="357.993043" y2="365.869745"> - <stop offset="0" style="stop-color:#ece60f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ece60f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR63_2" x1="429.567453" x2="434.998651" y1="357.993043" y2="365.869745"> + <stop offset="1" style="stop-color:#f9d605;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ece60f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT63" points="429.567453 357.993043 437.935071 363.845005 431.621879 368.19812"/> </defs> - <use fill="#f9d605" fill-opacity="1" xlink:href="#GT63"/> - <use fill="url(#GR63_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT63"/> - <use fill="url(#GR63_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT63"/> - <use fill="url(#GR63_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT63"/> + <path d="M 429.567453,357.993043 L 437.935071,363.845005 431.621879,368.19812 Z" fill="#f9d605" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 429.567453,357.993043 L 437.935071,363.845005 431.621879,368.19812 Z" fill="url(#GR63_0)" shape-rendering="crispEdges"/> + <path d="M 429.567453,357.993043 L 437.935071,363.845005 431.621879,368.19812 Z" fill="url(#GR63_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 429.567453,357.993043 L 437.935071,363.845005 431.621879,368.19812 Z" fill="url(#GR63_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR64_0" x1="421.199835" x2="426.941273" y1="352.141082" y2="347.132548"> - <stop offset="0" style="stop-color:#f1fc06;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f1fc06;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR64_0" x1="421.199835" x2="426.941273" y1="352.141082" y2="347.132548"> + <stop offset="1" style="stop-color:#d1fe26;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f1fc06;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR64_1" x1="413.791977" x2="420.287148" y1="332.059101" y2="331.768124"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR64_1" x1="413.791977" x2="420.287148" y1="332.059101" y2="331.768124"> + <stop offset="1" style="stop-color:#d1fe26;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR64_2" x1="420.652502" x2="417.167263" y1="339.923533" y2="341.209171"> - <stop offset="0" style="stop-color:#c0fe37;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c0fe37;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR64_2" x1="420.652502" x2="417.167263" y1="339.923533" y2="341.209171"> + <stop offset="1" style="stop-color:#d1fe26;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c0fe37;stop-opacity:0;"/> </linearGradient> - <polygon id="GT64" points="420.652502 339.923533 421.199835 352.141082 413.791977 332.059101"/> </defs> - <use fill="#d1fe26" fill-opacity="1" xlink:href="#GT64"/> - <use fill="url(#GR64_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT64"/> - <use fill="url(#GR64_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT64"/> - <use fill="url(#GR64_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT64"/> + <path d="M 420.652502,339.923533 L 421.199835,352.141082 413.791977,332.059101 Z" fill="#d1fe26" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 420.652502,339.923533 L 421.199835,352.141082 413.791977,332.059101 Z" fill="url(#GR64_0)" shape-rendering="crispEdges"/> + <path d="M 420.652502,339.923533 L 421.199835,352.141082 413.791977,332.059101 Z" fill="url(#GR64_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 420.652502,339.923533 L 421.199835,352.141082 413.791977,332.059101 Z" fill="url(#GR64_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR65_0" x1="413.791977" x2="420.287148" y1="332.059101" y2="331.768124"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR65_0" x1="413.791977" x2="420.287148" y1="332.059101" y2="331.768124"> + <stop offset="1" style="stop-color:#afff48;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR65_1" x1="420.105169" x2="414.36373" y1="327.705985" y2="332.714519"> - <stop offset="0" style="stop-color:#8dff6a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8dff6a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR65_1" x1="420.105169" x2="414.36373" y1="327.705985" y2="332.714519"> + <stop offset="1" style="stop-color:#afff48;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8dff6a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR65_2" x1="420.652502" x2="414.766452" y1="339.923533" y2="331.387174"> - <stop offset="0" style="stop-color:#c0fe37;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c0fe37;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR65_2" x1="420.652502" x2="414.766452" y1="339.923533" y2="331.387174"> + <stop offset="1" style="stop-color:#afff48;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c0fe37;stop-opacity:0;"/> </linearGradient> - <polygon id="GT65" points="420.652502 339.923533 413.791977 332.059101 420.105169 327.705985"/> </defs> - <use fill="#afff48" fill-opacity="1" xlink:href="#GT65"/> - <use fill="url(#GR65_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT65"/> - <use fill="url(#GR65_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT65"/> - <use fill="url(#GR65_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT65"/> + <path d="M 420.652502,339.923533 L 413.791977,332.059101 420.105169,327.705985 Z" fill="#afff48" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 420.652502,339.923533 L 413.791977,332.059101 420.105169,327.705985 Z" fill="url(#GR65_0)" shape-rendering="crispEdges"/> + <path d="M 420.652502,339.923533 L 413.791977,332.059101 420.105169,327.705985 Z" fill="url(#GR65_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 420.652502,339.923533 L 413.791977,332.059101 420.105169,327.705985 Z" fill="url(#GR65_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR66_0" x1="420.105169" x2="414.36373" y1="327.705985" y2="332.714519"> - <stop offset="0" style="stop-color:#8dff6a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8dff6a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR66_0" x1="420.105169" x2="414.36373" y1="327.705985" y2="332.714519"> + <stop offset="1" style="stop-color:#afff48;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8dff6a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR66_1" x1="427.513027" x2="421.017856" y1="347.787966" y2="348.078943"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR66_1" x1="427.513027" x2="421.017856" y1="347.787966" y2="348.078943"> + <stop offset="1" style="stop-color:#afff48;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR66_2" x1="420.652502" x2="424.137741" y1="339.923533" y2="338.637896"> - <stop offset="0" style="stop-color:#c0fe37;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c0fe37;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR66_2" x1="420.652502" x2="424.137741" y1="339.923533" y2="338.637896"> + <stop offset="1" style="stop-color:#afff48;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c0fe37;stop-opacity:0;"/> </linearGradient> - <polygon id="GT66" points="420.652502 339.923533 420.105169 327.705985 427.513027 347.787966"/> </defs> - <use fill="#afff48" fill-opacity="1" xlink:href="#GT66"/> - <use fill="url(#GR66_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT66"/> - <use fill="url(#GR66_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT66"/> - <use fill="url(#GR66_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT66"/> + <path d="M 420.652502,339.923533 L 420.105169,327.705985 427.513027,347.787966 Z" fill="#afff48" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 420.652502,339.923533 L 420.105169,327.705985 427.513027,347.787966 Z" fill="url(#GR66_0)" shape-rendering="crispEdges"/> + <path d="M 420.652502,339.923533 L 420.105169,327.705985 427.513027,347.787966 Z" fill="url(#GR66_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 420.652502,339.923533 L 420.105169,327.705985 427.513027,347.787966 Z" fill="url(#GR66_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR67_0" x1="427.513027" x2="421.017856" y1="347.787966" y2="348.078943"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR67_0" x1="427.513027" x2="421.017856" y1="347.787966" y2="348.078943"> + <stop offset="1" style="stop-color:#d1fe26;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR67_1" x1="421.199835" x2="426.941273" y1="352.141082" y2="347.132548"> - <stop offset="0" style="stop-color:#f1fc06;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f1fc06;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR67_1" x1="421.199835" x2="426.941273" y1="352.141082" y2="347.132548"> + <stop offset="1" style="stop-color:#d1fe26;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f1fc06;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR67_2" x1="420.652502" x2="426.538551" y1="339.923533" y2="348.459893"> - <stop offset="0" style="stop-color:#c0fe37;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c0fe37;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR67_2" x1="420.652502" x2="426.538551" y1="339.923533" y2="348.459893"> + <stop offset="1" style="stop-color:#d1fe26;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c0fe37;stop-opacity:0;"/> </linearGradient> - <polygon id="GT67" points="420.652502 339.923533 427.513027 347.787966 421.199835 352.141082"/> </defs> - <use fill="#d1fe26" fill-opacity="1" xlink:href="#GT67"/> - <use fill="url(#GR67_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT67"/> - <use fill="url(#GR67_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT67"/> - <use fill="url(#GR67_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT67"/> + <path d="M 420.652502,339.923533 L 427.513027,347.787966 421.199835,352.141082 Z" fill="#d1fe26" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 420.652502,339.923533 L 427.513027,347.787966 421.199835,352.141082 Z" fill="url(#GR67_0)" shape-rendering="crispEdges"/> + <path d="M 420.652502,339.923533 L 427.513027,347.787966 421.199835,352.141082 Z" fill="url(#GR67_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 420.652502,339.923533 L 427.513027,347.787966 421.199835,352.141082 Z" fill="url(#GR67_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR68_0" x1="413.791977" x2="420.462995" y1="332.059101" y2="328.349461"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR68_0" x1="413.791977" x2="420.462995" y1="332.059101" y2="328.349461"> + <stop offset="1" style="stop-color:#adff4a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR68_1" x1="409.945897" x2="415.811898" y1="309.436643" y2="309.973131"> - <stop offset="0" style="stop-color:#aaff4d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#aaff4d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR68_1" x1="409.945897" x2="415.811898" y1="309.436643" y2="309.973131"> + <stop offset="1" style="stop-color:#adff4a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#aaff4d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR68_2" x1="415.025533" x2="411.597967" y1="318.571314" y2="319.15404"> - <stop offset="0" style="stop-color:#9bff5c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#9bff5c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR68_2" x1="415.025533" x2="411.597967" y1="318.571314" y2="319.15404"> + <stop offset="1" style="stop-color:#adff4a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#9bff5c;stop-opacity:0;"/> </linearGradient> - <polygon id="GT68" points="415.025533 318.571314 413.791977 332.059101 409.945897 309.436643"/> </defs> - <use fill="#adff4a" fill-opacity="1" xlink:href="#GT68"/> - <use fill="url(#GR68_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT68"/> - <use fill="url(#GR68_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT68"/> - <use fill="url(#GR68_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT68"/> + <path d="M 415.025533,318.571314 L 413.791977,332.059101 409.945897,309.436643 Z" fill="#adff4a" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 415.025533,318.571314 L 413.791977,332.059101 409.945897,309.436643 Z" fill="url(#GR68_0)" shape-rendering="crispEdges"/> + <path d="M 415.025533,318.571314 L 413.791977,332.059101 409.945897,309.436643 Z" fill="url(#GR68_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 415.025533,318.571314 L 413.791977,332.059101 409.945897,309.436643 Z" fill="url(#GR68_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR69_0" x1="409.945897" x2="415.811898" y1="309.436643" y2="309.973131"> - <stop offset="0" style="stop-color:#aaff4d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#aaff4d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR69_0" x1="409.945897" x2="415.811898" y1="309.436643" y2="309.973131"> + <stop offset="1" style="stop-color:#93ff64;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#aaff4d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR69_1" x1="416.259088" x2="409.588071" y1="305.083527" y2="308.793167"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR69_1" x1="416.259088" x2="409.588071" y1="305.083527" y2="308.793167"> + <stop offset="1" style="stop-color:#93ff64;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR69_2" x1="415.025533" x2="409.11973" y1="318.571314" y2="310.006307"> - <stop offset="0" style="stop-color:#9bff5c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#9bff5c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR69_2" x1="415.025533" x2="409.11973" y1="318.571314" y2="310.006307"> + <stop offset="1" style="stop-color:#93ff64;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#9bff5c;stop-opacity:0;"/> </linearGradient> - <polygon id="GT69" points="415.025533 318.571314 409.945897 309.436643 416.259088 305.083527"/> </defs> - <use fill="#93ff64" fill-opacity="1" xlink:href="#GT69"/> - <use fill="url(#GR69_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT69"/> - <use fill="url(#GR69_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT69"/> - <use fill="url(#GR69_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT69"/> + <path d="M 415.025533,318.571314 L 409.945897,309.436643 416.259088,305.083527 Z" fill="#93ff64" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 415.025533,318.571314 L 409.945897,309.436643 416.259088,305.083527 Z" fill="url(#GR69_0)" shape-rendering="crispEdges"/> + <path d="M 415.025533,318.571314 L 409.945897,309.436643 416.259088,305.083527 Z" fill="url(#GR69_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 415.025533,318.571314 L 409.945897,309.436643 416.259088,305.083527 Z" fill="url(#GR69_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR6a_0" x1="416.259088" x2="409.588071" y1="305.083527" y2="308.793167"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR6a_0" x1="416.259088" x2="409.588071" y1="305.083527" y2="308.793167"> + <stop offset="1" style="stop-color:#89ff6e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR6a_1" x1="420.105169" x2="414.239167" y1="327.705985" y2="327.169497"> - <stop offset="0" style="stop-color:#8dff6a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8dff6a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR6a_1" x1="420.105169" x2="414.239167" y1="327.705985" y2="327.169497"> + <stop offset="1" style="stop-color:#89ff6e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8dff6a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR6a_2" x1="415.025533" x2="418.453098" y1="318.571314" y2="317.988588"> - <stop offset="0" style="stop-color:#9bff5c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#9bff5c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR6a_2" x1="415.025533" x2="418.453098" y1="318.571314" y2="317.988588"> + <stop offset="1" style="stop-color:#89ff6e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#9bff5c;stop-opacity:0;"/> </linearGradient> - <polygon id="GT6a" points="415.025533 318.571314 416.259088 305.083527 420.105169 327.705985"/> </defs> - <use fill="#89ff6e" fill-opacity="1" xlink:href="#GT6a"/> - <use fill="url(#GR6a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT6a"/> - <use fill="url(#GR6a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT6a"/> - <use fill="url(#GR6a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT6a"/> + <path d="M 415.025533,318.571314 L 416.259088,305.083527 420.105169,327.705985 Z" fill="#89ff6e" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 415.025533,318.571314 L 416.259088,305.083527 420.105169,327.705985 Z" fill="url(#GR6a_0)" shape-rendering="crispEdges"/> + <path d="M 415.025533,318.571314 L 416.259088,305.083527 420.105169,327.705985 Z" fill="url(#GR6a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 415.025533,318.571314 L 416.259088,305.083527 420.105169,327.705985 Z" fill="url(#GR6a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR6b_0" x1="420.105169" x2="414.239167" y1="327.705985" y2="327.169497"> - <stop offset="0" style="stop-color:#8dff6a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8dff6a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR6b_0" x1="420.105169" x2="414.239167" y1="327.705985" y2="327.169497"> + <stop offset="1" style="stop-color:#a3ff54;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8dff6a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR6b_1" x1="413.791977" x2="420.462995" y1="332.059101" y2="328.349461"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR6b_1" x1="413.791977" x2="420.462995" y1="332.059101" y2="328.349461"> + <stop offset="1" style="stop-color:#a3ff54;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR6b_2" x1="415.025533" x2="420.931335" y1="318.571314" y2="327.136321"> - <stop offset="0" style="stop-color:#9bff5c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#9bff5c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR6b_2" x1="415.025533" x2="420.931335" y1="318.571314" y2="327.136321"> + <stop offset="1" style="stop-color:#a3ff54;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#9bff5c;stop-opacity:0;"/> </linearGradient> - <polygon id="GT6b" points="415.025533 318.571314 420.105169 327.705985 413.791977 332.059101"/> </defs> - <use fill="#a3ff54" fill-opacity="1" xlink:href="#GT6b"/> - <use fill="url(#GR6b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT6b"/> - <use fill="url(#GR6b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT6b"/> - <use fill="url(#GR6b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT6b"/> + <path d="M 415.025533,318.571314 L 420.105169,327.705985 413.791977,332.059101 Z" fill="#a3ff54" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 415.025533,318.571314 L 420.105169,327.705985 413.791977,332.059101 Z" fill="url(#GR6b_0)" shape-rendering="crispEdges"/> + <path d="M 415.025533,318.571314 L 420.105169,327.705985 413.791977,332.059101 Z" fill="url(#GR6b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 415.025533,318.571314 L 420.105169,327.705985 413.791977,332.059101 Z" fill="url(#GR6b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR6c_0" x1="409.945897" x2="416.934578" y1="309.436643" y2="307.131183"> - <stop offset="0" style="stop-color:#aaff4d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#aaff4d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR6c_0" x1="409.945897" x2="416.934578" y1="309.436643" y2="307.131183"> + <stop offset="1" style="stop-color:#a1ff56;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#aaff4d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR6c_1" x1="409.945897" x2="415.011653" y1="285.945966" y2="287.094556"> - <stop offset="0" style="stop-color:#aaff4d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#aaff4d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR6c_1" x1="409.945897" x2="415.011653" y1="285.945966" y2="287.094556"> + <stop offset="1" style="stop-color:#a1ff56;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#aaff4d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR6c_2" x1="413.102492" x2="409.945897" y1="295.514747" y2="295.514747"> - <stop offset="0" style="stop-color:#8fff68;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8fff68;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR6c_2" x1="413.102492" x2="409.945897" y1="295.514747" y2="295.514747"> + <stop offset="1" style="stop-color:#a1ff56;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8fff68;stop-opacity:0;"/> </linearGradient> - <polygon id="GT6c" points="413.102492 295.514747 409.945897 309.436643 409.945897 285.945966"/> </defs> - <use fill="#a1ff56" fill-opacity="1" xlink:href="#GT6c"/> - <use fill="url(#GR6c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT6c"/> - <use fill="url(#GR6c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT6c"/> - <use fill="url(#GR6c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT6c"/> + <path d="M 413.102492,295.514747 L 409.945897,309.436643 409.945897,285.945966 Z" fill="#a1ff56" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 413.102492,295.514747 L 409.945897,309.436643 409.945897,285.945966 Z" fill="url(#GR6c_0)" shape-rendering="crispEdges"/> + <path d="M 413.102492,295.514747 L 409.945897,309.436643 409.945897,285.945966 Z" fill="url(#GR6c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 413.102492,295.514747 L 409.945897,309.436643 409.945897,285.945966 Z" fill="url(#GR6c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR6d_0" x1="409.945897" x2="415.011653" y1="285.945966" y2="287.094556"> - <stop offset="0" style="stop-color:#aaff4d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#aaff4d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR6d_0" x1="409.945897" x2="415.011653" y1="285.945966" y2="287.094556"> + <stop offset="1" style="stop-color:#8fff68;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#aaff4d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR6d_1" x1="416.259088" x2="409.270406" y1="281.592851" y2="283.898311"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR6d_1" x1="416.259088" x2="409.270406" y1="281.592851" y2="283.898311"> + <stop offset="1" style="stop-color:#8fff68;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR6d_2" x1="413.102492" x2="407.613495" y1="295.514747" y2="287.55422"> - <stop offset="0" style="stop-color:#8fff68;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8fff68;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR6d_2" x1="413.102492" x2="407.613495" y1="295.514747" y2="287.55422"> + <stop offset="1" style="stop-color:#8fff68;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8fff68;stop-opacity:0;"/> </linearGradient> - <polygon id="GT6d" points="413.102492 295.514747 409.945897 285.945966 416.259088 281.592851"/> </defs> - <use fill="#8fff68" fill-opacity="1" xlink:href="#GT6d"/> - <use fill="url(#GR6d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT6d"/> - <use fill="url(#GR6d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT6d"/> - <use fill="url(#GR6d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT6d"/> + <path d="M 413.102492,295.514747 L 409.945897,285.945966 416.259088,281.592851 Z" fill="#8fff68" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 413.102492,295.514747 L 409.945897,285.945966 416.259088,281.592851 Z" fill="url(#GR6d_0)" shape-rendering="crispEdges"/> + <path d="M 413.102492,295.514747 L 409.945897,285.945966 416.259088,281.592851 Z" fill="url(#GR6d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 413.102492,295.514747 L 409.945897,285.945966 416.259088,281.592851 Z" fill="url(#GR6d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR6e_0" x1="416.259088" x2="409.270406" y1="281.592851" y2="283.898311"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR6e_0" x1="416.259088" x2="409.270406" y1="281.592851" y2="283.898311"> + <stop offset="1" style="stop-color:#7cff7a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR6e_1" x1="416.259088" x2="411.193331" y1="305.083527" y2="303.934938"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR6e_1" x1="416.259088" x2="411.193331" y1="305.083527" y2="303.934938"> + <stop offset="1" style="stop-color:#7cff7a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR6e_2" x1="413.102492" x2="416.259088" y1="295.514747" y2="295.514747"> - <stop offset="0" style="stop-color:#8fff68;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8fff68;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR6e_2" x1="413.102492" x2="416.259088" y1="295.514747" y2="295.514747"> + <stop offset="1" style="stop-color:#7cff7a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8fff68;stop-opacity:0;"/> </linearGradient> - <polygon id="GT6e" points="413.102492 295.514747 416.259088 281.592851 416.259088 305.083527"/> </defs> - <use fill="#7cff7a" fill-opacity="1" xlink:href="#GT6e"/> - <use fill="url(#GR6e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT6e"/> - <use fill="url(#GR6e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT6e"/> - <use fill="url(#GR6e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT6e"/> + <path d="M 413.102492,295.514747 L 416.259088,281.592851 416.259088,305.083527 Z" fill="#7cff7a" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 413.102492,295.514747 L 416.259088,281.592851 416.259088,305.083527 Z" fill="url(#GR6e_0)" shape-rendering="crispEdges"/> + <path d="M 413.102492,295.514747 L 416.259088,281.592851 416.259088,305.083527 Z" fill="url(#GR6e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 413.102492,295.514747 L 416.259088,281.592851 416.259088,305.083527 Z" fill="url(#GR6e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR6f_0" x1="416.259088" x2="411.193331" y1="305.083527" y2="303.934938"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR6f_0" x1="416.259088" x2="411.193331" y1="305.083527" y2="303.934938"> + <stop offset="1" style="stop-color:#8fff68;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR6f_1" x1="409.945897" x2="416.934578" y1="309.436643" y2="307.131183"> - <stop offset="0" style="stop-color:#aaff4d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#aaff4d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR6f_1" x1="409.945897" x2="416.934578" y1="309.436643" y2="307.131183"> + <stop offset="1" style="stop-color:#8fff68;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#aaff4d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR6f_2" x1="413.102492" x2="418.59149" y1="295.514747" y2="303.475274"> - <stop offset="0" style="stop-color:#8fff68;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8fff68;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR6f_2" x1="413.102492" x2="418.59149" y1="295.514747" y2="303.475274"> + <stop offset="1" style="stop-color:#8fff68;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8fff68;stop-opacity:0;"/> </linearGradient> - <polygon id="GT6f" points="413.102492 295.514747 416.259088 305.083527 409.945897 309.436643"/> </defs> - <use fill="#8fff68" fill-opacity="1" xlink:href="#GT6f"/> - <use fill="url(#GR6f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT6f"/> - <use fill="url(#GR6f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT6f"/> - <use fill="url(#GR6f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT6f"/> + <path d="M 413.102492,295.514747 L 416.259088,305.083527 409.945897,309.436643 Z" fill="#8fff68" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 413.102492,295.514747 L 416.259088,305.083527 409.945897,309.436643 Z" fill="url(#GR6f_0)" shape-rendering="crispEdges"/> + <path d="M 413.102492,295.514747 L 416.259088,305.083527 409.945897,309.436643 Z" fill="url(#GR6f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 413.102492,295.514747 L 416.259088,305.083527 409.945897,309.436643 Z" fill="url(#GR6f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR70_0" x1="409.945897" x2="416.723343" y1="285.945966" y2="285.030733"> - <stop offset="0" style="stop-color:#aaff4d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#aaff4d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR70_0" x1="409.945897" x2="416.723343" y1="285.945966" y2="285.030733"> + <stop offset="1" style="stop-color:#adff4a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#aaff4d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR70_1" x1="413.791977" x2="417.885181" y1="263.323509" y2="264.86505"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR70_1" x1="413.791977" x2="417.885181" y1="263.323509" y2="264.86505"> + <stop offset="1" style="stop-color:#adff4a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR70_2" x1="415.025533" x2="412.317257" y1="272.45818" y2="271.997741"> - <stop offset="0" style="stop-color:#9bff5c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#9bff5c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR70_2" x1="415.025533" x2="412.317257" y1="272.45818" y2="271.997741"> + <stop offset="1" style="stop-color:#adff4a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#9bff5c;stop-opacity:0;"/> </linearGradient> - <polygon id="GT70" points="415.025533 272.45818 409.945897 285.945966 413.791977 263.323509"/> </defs> - <use fill="#adff4a" fill-opacity="1" xlink:href="#GT70"/> - <use fill="url(#GR70_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT70"/> - <use fill="url(#GR70_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT70"/> - <use fill="url(#GR70_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT70"/> + <path d="M 415.025533,272.45818 L 409.945897,285.945966 413.791977,263.323509 Z" fill="#adff4a" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 415.025533,272.45818 L 409.945897,285.945966 413.791977,263.323509 Z" fill="url(#GR70_0)" shape-rendering="crispEdges"/> + <path d="M 415.025533,272.45818 L 409.945897,285.945966 413.791977,263.323509 Z" fill="url(#GR70_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 415.025533,272.45818 L 409.945897,285.945966 413.791977,263.323509 Z" fill="url(#GR70_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR71_0" x1="413.791977" x2="417.885181" y1="263.323509" y2="264.86505"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR71_0" x1="413.791977" x2="417.885181" y1="263.323509" y2="264.86505"> + <stop offset="1" style="stop-color:#a3ff54;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR71_1" x1="420.105169" x2="413.327722" y1="258.970393" y2="259.885627"> - <stop offset="0" style="stop-color:#8dff6a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8dff6a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR71_1" x1="420.105169" x2="413.327722" y1="258.970393" y2="259.885627"> + <stop offset="1" style="stop-color:#a3ff54;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8dff6a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR71_2" x1="415.025533" x2="410.359089" y1="272.45818" y2="265.690577"> - <stop offset="0" style="stop-color:#9bff5c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#9bff5c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR71_2" x1="415.025533" x2="410.359089" y1="272.45818" y2="265.690577"> + <stop offset="1" style="stop-color:#a3ff54;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#9bff5c;stop-opacity:0;"/> </linearGradient> - <polygon id="GT71" points="415.025533 272.45818 413.791977 263.323509 420.105169 258.970393"/> </defs> - <use fill="#a3ff54" fill-opacity="1" xlink:href="#GT71"/> - <use fill="url(#GR71_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT71"/> - <use fill="url(#GR71_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT71"/> - <use fill="url(#GR71_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT71"/> + <path d="M 415.025533,272.45818 L 413.791977,263.323509 420.105169,258.970393 Z" fill="#a3ff54" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 415.025533,272.45818 L 413.791977,263.323509 420.105169,258.970393 Z" fill="url(#GR71_0)" shape-rendering="crispEdges"/> + <path d="M 415.025533,272.45818 L 413.791977,263.323509 420.105169,258.970393 Z" fill="url(#GR71_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 415.025533,272.45818 L 413.791977,263.323509 420.105169,258.970393 Z" fill="url(#GR71_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR72_0" x1="420.105169" x2="413.327722" y1="258.970393" y2="259.885627"> - <stop offset="0" style="stop-color:#8dff6a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8dff6a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR72_0" x1="420.105169" x2="413.327722" y1="258.970393" y2="259.885627"> + <stop offset="1" style="stop-color:#89ff6e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8dff6a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR72_1" x1="416.259088" x2="412.165884" y1="281.592851" y2="280.051309"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR72_1" x1="416.259088" x2="412.165884" y1="281.592851" y2="280.051309"> + <stop offset="1" style="stop-color:#89ff6e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR72_2" x1="415.025533" x2="417.733808" y1="272.45818" y2="272.918618"> - <stop offset="0" style="stop-color:#9bff5c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#9bff5c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR72_2" x1="415.025533" x2="417.733808" y1="272.45818" y2="272.918618"> + <stop offset="1" style="stop-color:#89ff6e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#9bff5c;stop-opacity:0;"/> </linearGradient> - <polygon id="GT72" points="415.025533 272.45818 420.105169 258.970393 416.259088 281.592851"/> </defs> - <use fill="#89ff6e" fill-opacity="1" xlink:href="#GT72"/> - <use fill="url(#GR72_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT72"/> - <use fill="url(#GR72_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT72"/> - <use fill="url(#GR72_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT72"/> + <path d="M 415.025533,272.45818 L 420.105169,258.970393 416.259088,281.592851 Z" fill="#89ff6e" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 415.025533,272.45818 L 420.105169,258.970393 416.259088,281.592851 Z" fill="url(#GR72_0)" shape-rendering="crispEdges"/> + <path d="M 415.025533,272.45818 L 420.105169,258.970393 416.259088,281.592851 Z" fill="url(#GR72_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 415.025533,272.45818 L 420.105169,258.970393 416.259088,281.592851 Z" fill="url(#GR72_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR73_0" x1="416.259088" x2="412.165884" y1="281.592851" y2="280.051309"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR73_0" x1="416.259088" x2="412.165884" y1="281.592851" y2="280.051309"> + <stop offset="1" style="stop-color:#93ff64;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR73_1" x1="409.945897" x2="416.723343" y1="285.945966" y2="285.030733"> - <stop offset="0" style="stop-color:#aaff4d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#aaff4d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR73_1" x1="409.945897" x2="416.723343" y1="285.945966" y2="285.030733"> + <stop offset="1" style="stop-color:#93ff64;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#aaff4d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR73_2" x1="415.025533" x2="419.691976" y1="272.45818" y2="279.225782"> - <stop offset="0" style="stop-color:#9bff5c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#9bff5c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR73_2" x1="415.025533" x2="419.691976" y1="272.45818" y2="279.225782"> + <stop offset="1" style="stop-color:#93ff64;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#9bff5c;stop-opacity:0;"/> </linearGradient> - <polygon id="GT73" points="415.025533 272.45818 416.259088 281.592851 409.945897 285.945966"/> </defs> - <use fill="#93ff64" fill-opacity="1" xlink:href="#GT73"/> - <use fill="url(#GR73_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT73"/> - <use fill="url(#GR73_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT73"/> - <use fill="url(#GR73_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT73"/> + <path d="M 415.025533,272.45818 L 416.259088,281.592851 409.945897,285.945966 Z" fill="#93ff64" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 415.025533,272.45818 L 416.259088,281.592851 409.945897,285.945966 Z" fill="url(#GR73_0)" shape-rendering="crispEdges"/> + <path d="M 415.025533,272.45818 L 416.259088,281.592851 409.945897,285.945966 Z" fill="url(#GR73_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 415.025533,272.45818 L 416.259088,281.592851 409.945897,285.945966 Z" fill="url(#GR73_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR74_0" x1="413.791977" x2="419.773238" y1="263.323509" y2="263.739781"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR74_0" x1="413.791977" x2="419.773238" y1="263.323509" y2="263.739781"> + <stop offset="1" style="stop-color:#d1fe26;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR74_1" x1="421.199835" x2="424.141169" y1="243.241528" y2="244.893176"> - <stop offset="0" style="stop-color:#f1fc06;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f1fc06;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR74_1" x1="421.199835" x2="424.141169" y1="243.241528" y2="244.893176"> + <stop offset="1" style="stop-color:#d1fe26;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f1fc06;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR74_2" x1="420.652502" x2="418.580711" y1="251.10596" y2="250.341717"> - <stop offset="0" style="stop-color:#c0fe37;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c0fe37;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR74_2" x1="420.652502" x2="418.580711" y1="251.10596" y2="250.341717"> + <stop offset="1" style="stop-color:#d1fe26;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c0fe37;stop-opacity:0;"/> </linearGradient> - <polygon id="GT74" points="420.652502 251.10596 413.791977 263.323509 421.199835 243.241528"/> </defs> - <use fill="#d1fe26" fill-opacity="1" xlink:href="#GT74"/> - <use fill="url(#GR74_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT74"/> - <use fill="url(#GR74_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT74"/> - <use fill="url(#GR74_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT74"/> + <path d="M 420.652502,251.10596 L 413.791977,263.323509 421.199835,243.241528 Z" fill="#d1fe26" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 420.652502,251.10596 L 413.791977,263.323509 421.199835,243.241528 Z" fill="url(#GR74_0)" shape-rendering="crispEdges"/> + <path d="M 420.652502,251.10596 L 413.791977,263.323509 421.199835,243.241528 Z" fill="url(#GR74_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 420.652502,251.10596 L 413.791977,263.323509 421.199835,243.241528 Z" fill="url(#GR74_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR75_0" x1="421.199835" x2="424.141169" y1="243.241528" y2="244.893176"> - <stop offset="0" style="stop-color:#f1fc06;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f1fc06;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR75_0" x1="421.199835" x2="424.141169" y1="243.241528" y2="244.893176"> + <stop offset="1" style="stop-color:#d1fe26;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f1fc06;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR75_1" x1="427.513027" x2="421.531765" y1="238.888412" y2="238.47214"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR75_1" x1="427.513027" x2="421.531765" y1="238.888412" y2="238.47214"> + <stop offset="1" style="stop-color:#d1fe26;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR75_2" x1="420.652502" x2="417.153556" y1="251.10596" y2="246.031546"> - <stop offset="0" style="stop-color:#c0fe37;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c0fe37;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR75_2" x1="420.652502" x2="417.153556" y1="251.10596" y2="246.031546"> + <stop offset="1" style="stop-color:#d1fe26;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c0fe37;stop-opacity:0;"/> </linearGradient> - <polygon id="GT75" points="420.652502 251.10596 421.199835 243.241528 427.513027 238.888412"/> </defs> - <use fill="#d1fe26" fill-opacity="1" xlink:href="#GT75"/> - <use fill="url(#GR75_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT75"/> - <use fill="url(#GR75_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT75"/> - <use fill="url(#GR75_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT75"/> + <path d="M 420.652502,251.10596 L 421.199835,243.241528 427.513027,238.888412 Z" fill="#d1fe26" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 420.652502,251.10596 L 421.199835,243.241528 427.513027,238.888412 Z" fill="url(#GR75_0)" shape-rendering="crispEdges"/> + <path d="M 420.652502,251.10596 L 421.199835,243.241528 427.513027,238.888412 Z" fill="url(#GR75_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 420.652502,251.10596 L 421.199835,243.241528 427.513027,238.888412 Z" fill="url(#GR75_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR76_0" x1="427.513027" x2="421.531765" y1="238.888412" y2="238.47214"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR76_0" x1="427.513027" x2="421.531765" y1="238.888412" y2="238.47214"> + <stop offset="1" style="stop-color:#afff48;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR76_1" x1="420.105169" x2="417.163835" y1="258.970393" y2="257.318745"> - <stop offset="0" style="stop-color:#8dff6a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8dff6a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR76_1" x1="420.105169" x2="417.163835" y1="258.970393" y2="257.318745"> + <stop offset="1" style="stop-color:#afff48;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8dff6a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR76_2" x1="420.652502" x2="422.724292" y1="251.10596" y2="251.870204"> - <stop offset="0" style="stop-color:#c0fe37;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c0fe37;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR76_2" x1="420.652502" x2="422.724292" y1="251.10596" y2="251.870204"> + <stop offset="1" style="stop-color:#afff48;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c0fe37;stop-opacity:0;"/> </linearGradient> - <polygon id="GT76" points="420.652502 251.10596 427.513027 238.888412 420.105169 258.970393"/> </defs> - <use fill="#afff48" fill-opacity="1" xlink:href="#GT76"/> - <use fill="url(#GR76_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT76"/> - <use fill="url(#GR76_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT76"/> - <use fill="url(#GR76_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT76"/> + <path d="M 420.652502,251.10596 L 427.513027,238.888412 420.105169,258.970393 Z" fill="#afff48" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 420.652502,251.10596 L 427.513027,238.888412 420.105169,258.970393 Z" fill="url(#GR76_0)" shape-rendering="crispEdges"/> + <path d="M 420.652502,251.10596 L 427.513027,238.888412 420.105169,258.970393 Z" fill="url(#GR76_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 420.652502,251.10596 L 427.513027,238.888412 420.105169,258.970393 Z" fill="url(#GR76_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR77_0" x1="420.105169" x2="417.163835" y1="258.970393" y2="257.318745"> - <stop offset="0" style="stop-color:#8dff6a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8dff6a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR77_0" x1="420.105169" x2="417.163835" y1="258.970393" y2="257.318745"> + <stop offset="1" style="stop-color:#afff48;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8dff6a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR77_1" x1="413.791977" x2="419.773238" y1="263.323509" y2="263.739781"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR77_1" x1="413.791977" x2="419.773238" y1="263.323509" y2="263.739781"> + <stop offset="1" style="stop-color:#afff48;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR77_2" x1="420.652502" x2="424.151447" y1="251.10596" y2="256.180375"> - <stop offset="0" style="stop-color:#c0fe37;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c0fe37;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR77_2" x1="420.652502" x2="424.151447" y1="251.10596" y2="256.180375"> + <stop offset="1" style="stop-color:#afff48;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c0fe37;stop-opacity:0;"/> </linearGradient> - <polygon id="GT77" points="420.652502 251.10596 420.105169 258.970393 413.791977 263.323509"/> </defs> - <use fill="#afff48" fill-opacity="1" xlink:href="#GT77"/> - <use fill="url(#GR77_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT77"/> - <use fill="url(#GR77_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT77"/> - <use fill="url(#GR77_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT77"/> + <path d="M 420.652502,251.10596 L 420.105169,258.970393 413.791977,263.323509 Z" fill="#afff48" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 420.652502,251.10596 L 420.105169,258.970393 413.791977,263.323509 Z" fill="url(#GR77_0)" shape-rendering="crispEdges"/> + <path d="M 420.652502,251.10596 L 420.105169,258.970393 413.791977,263.323509 Z" fill="url(#GR77_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 420.652502,251.10596 L 420.105169,258.970393 413.791977,263.323509 Z" fill="url(#GR77_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR78_0" x1="421.199835" x2="425.459768" y1="243.241528" y2="244.737046"> - <stop offset="0" style="stop-color:#f1fc06;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f1fc06;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR78_0" x1="421.199835" x2="425.459768" y1="243.241528" y2="244.737046"> + <stop offset="1" style="stop-color:#f4dd07;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f1fc06;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR78_1" x1="431.621879" x2="433.262643" y1="227.184489" y2="228.529828"> - <stop offset="0" style="stop-color:#ffb600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR78_1" x1="431.621879" x2="433.262643" y1="227.184489" y2="228.529828"> + <stop offset="1" style="stop-color:#f4dd07;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR78_2" x1="429.567453" x2="428.340484" y1="233.036451" y2="232.24007"> - <stop offset="0" style="stop-color:#ece60f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ece60f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR78_2" x1="429.567453" x2="428.340484" y1="233.036451" y2="232.24007"> + <stop offset="1" style="stop-color:#f4dd07;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ece60f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT78" points="429.567453 233.036451 421.199835 243.241528 431.621879 227.184489"/> </defs> - <use fill="#f4dd07" fill-opacity="1" xlink:href="#GT78"/> - <use fill="url(#GR78_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT78"/> - <use fill="url(#GR78_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT78"/> - <use fill="url(#GR78_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT78"/> + <path d="M 429.567453,233.036451 L 421.199835,243.241528 431.621879,227.184489 Z" fill="#f4dd07" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 429.567453,233.036451 L 421.199835,243.241528 431.621879,227.184489 Z" fill="url(#GR78_0)" shape-rendering="crispEdges"/> + <path d="M 429.567453,233.036451 L 421.199835,243.241528 431.621879,227.184489 Z" fill="url(#GR78_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 429.567453,233.036451 L 421.199835,243.241528 431.621879,227.184489 Z" fill="url(#GR78_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR79_0" x1="431.621879" x2="433.262643" y1="227.184489" y2="228.529828"> - <stop offset="0" style="stop-color:#ffb600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR79_0" x1="431.621879" x2="433.262643" y1="227.184489" y2="228.529828"> + <stop offset="1" style="stop-color:#f9d605;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR79_1" x1="437.935071" x2="433.675138" y1="222.831374" y2="221.335855"> - <stop offset="0" style="stop-color:#ffe600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffe600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR79_1" x1="437.935071" x2="433.675138" y1="222.831374" y2="221.335855"> + <stop offset="1" style="stop-color:#f9d605;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffe600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR79_2" x1="429.567453" x2="427.494649" y1="233.036451" y2="230.030325"> - <stop offset="0" style="stop-color:#ece60f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ece60f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR79_2" x1="429.567453" x2="427.494649" y1="233.036451" y2="230.030325"> + <stop offset="1" style="stop-color:#f9d605;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ece60f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT79" points="429.567453 233.036451 431.621879 227.184489 437.935071 222.831374"/> </defs> - <use fill="#f9d605" fill-opacity="1" xlink:href="#GT79"/> - <use fill="url(#GR79_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT79"/> - <use fill="url(#GR79_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT79"/> - <use fill="url(#GR79_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT79"/> + <path d="M 429.567453,233.036451 L 431.621879,227.184489 437.935071,222.831374 Z" fill="#f9d605" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 429.567453,233.036451 L 431.621879,227.184489 437.935071,222.831374 Z" fill="url(#GR79_0)" shape-rendering="crispEdges"/> + <path d="M 429.567453,233.036451 L 431.621879,227.184489 437.935071,222.831374 Z" fill="url(#GR79_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 429.567453,233.036451 L 431.621879,227.184489 437.935071,222.831374 Z" fill="url(#GR79_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR7a_0" x1="437.935071" x2="433.675138" y1="222.831374" y2="221.335855"> - <stop offset="0" style="stop-color:#ffe600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffe600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR7a_0" x1="437.935071" x2="433.675138" y1="222.831374" y2="221.335855"> + <stop offset="1" style="stop-color:#e4ee17;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffe600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR7a_1" x1="427.513027" x2="425.872263" y1="238.888412" y2="237.543074"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR7a_1" x1="427.513027" x2="425.872263" y1="238.888412" y2="237.543074"> + <stop offset="1" style="stop-color:#e4ee17;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR7a_2" x1="429.567453" x2="430.794421" y1="233.036451" y2="233.832832"> - <stop offset="0" style="stop-color:#ece60f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ece60f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR7a_2" x1="429.567453" x2="430.794421" y1="233.036451" y2="233.832832"> + <stop offset="1" style="stop-color:#e4ee17;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ece60f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT7a" points="429.567453 233.036451 437.935071 222.831374 427.513027 238.888412"/> </defs> - <use fill="#e4ee17" fill-opacity="1" xlink:href="#GT7a"/> - <use fill="url(#GR7a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT7a"/> - <use fill="url(#GR7a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT7a"/> - <use fill="url(#GR7a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT7a"/> + <path d="M 429.567453,233.036451 L 437.935071,222.831374 427.513027,238.888412 Z" fill="#e4ee17" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 429.567453,233.036451 L 437.935071,222.831374 427.513027,238.888412 Z" fill="url(#GR7a_0)" shape-rendering="crispEdges"/> + <path d="M 429.567453,233.036451 L 437.935071,222.831374 427.513027,238.888412 Z" fill="url(#GR7a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 429.567453,233.036451 L 437.935071,222.831374 427.513027,238.888412 Z" fill="url(#GR7a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR7b_0" x1="427.513027" x2="425.872263" y1="238.888412" y2="237.543074"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR7b_0" x1="427.513027" x2="425.872263" y1="238.888412" y2="237.543074"> + <stop offset="1" style="stop-color:#dff619;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR7b_1" x1="421.199835" x2="425.459768" y1="243.241528" y2="244.737046"> - <stop offset="0" style="stop-color:#f1fc06;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f1fc06;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR7b_1" x1="421.199835" x2="425.459768" y1="243.241528" y2="244.737046"> + <stop offset="1" style="stop-color:#dff619;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f1fc06;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR7b_2" x1="429.567453" x2="431.640257" y1="233.036451" y2="236.042576"> - <stop offset="0" style="stop-color:#ece60f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ece60f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR7b_2" x1="429.567453" x2="431.640257" y1="233.036451" y2="236.042576"> + <stop offset="1" style="stop-color:#dff619;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ece60f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT7b" points="429.567453 233.036451 427.513027 238.888412 421.199835 243.241528"/> </defs> - <use fill="#dff619" fill-opacity="1" xlink:href="#GT7b"/> - <use fill="url(#GR7b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT7b"/> - <use fill="url(#GR7b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT7b"/> - <use fill="url(#GR7b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT7b"/> + <path d="M 429.567453,233.036451 L 427.513027,238.888412 421.199835,243.241528 Z" fill="#dff619" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 429.567453,233.036451 L 427.513027,238.888412 421.199835,243.241528 Z" fill="url(#GR7b_0)" shape-rendering="crispEdges"/> + <path d="M 429.567453,233.036451 L 427.513027,238.888412 421.199835,243.241528 Z" fill="url(#GR7b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 429.567453,233.036451 L 427.513027,238.888412 421.199835,243.241528 Z" fill="url(#GR7b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR7c_0" x1="431.621879" x2="432.670938" y1="227.184489" y2="228.211022"> - <stop offset="0" style="stop-color:#ffb600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR7c_0" x1="431.621879" x2="432.670938" y1="227.184489" y2="228.211022"> + <stop offset="1" style="stop-color:#ff9200;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR7c_1" x1="444.28771" x2="444.63044" y1="216.339333" y2="216.767322"> - <stop offset="0" style="stop-color:#ff6000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR7c_1" x1="444.28771" x2="444.63044" y1="216.339333" y2="216.767322"> + <stop offset="1" style="stop-color:#ff9200;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR7c_2" x1="441.11139" x2="440.851384" y1="219.585353" y2="219.281698"> - <stop offset="0" style="stop-color:#ffa100;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffa100;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR7c_2" x1="441.11139" x2="440.851384" y1="219.585353" y2="219.281698"> + <stop offset="1" style="stop-color:#ff9200;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffa100;stop-opacity:0;"/> </linearGradient> - <polygon id="GT7c" points="441.11139 219.585353 431.621879 227.184489 444.28771 216.339333"/> </defs> - <use fill="#ff9200" fill-opacity="1" xlink:href="#GT7c"/> - <use fill="url(#GR7c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT7c"/> - <use fill="url(#GR7c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT7c"/> - <use fill="url(#GR7c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT7c"/> + <path d="M 441.11139,219.585353 L 431.621879,227.184489 444.28771,216.339333 Z" fill="#ff9200" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.11139,219.585353 L 431.621879,227.184489 444.28771,216.339333 Z" fill="url(#GR7c_0)" shape-rendering="crispEdges"/> + <path d="M 441.11139,219.585353 L 431.621879,227.184489 444.28771,216.339333 Z" fill="url(#GR7c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.11139,219.585353 L 431.621879,227.184489 444.28771,216.339333 Z" fill="url(#GR7c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR7d_0" x1="444.28771" x2="444.63044" y1="216.339333" y2="216.767322"> - <stop offset="0" style="stop-color:#ff6000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR7d_0" x1="444.28771" x2="444.63044" y1="216.339333" y2="216.767322"> + <stop offset="1" style="stop-color:#ff8400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR7d_1" x1="450.600901" x2="449.551842" y1="211.986218" y2="210.959685"> - <stop offset="0" style="stop-color:#ff8900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR7d_1" x1="450.600901" x2="449.551842" y1="211.986218" y2="210.959685"> + <stop offset="1" style="stop-color:#ff8400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR7d_2" x1="441.11139" x2="440.61795" y1="219.585353" y2="218.869732"> - <stop offset="0" style="stop-color:#ffa100;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffa100;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR7d_2" x1="441.11139" x2="440.61795" y1="219.585353" y2="218.869732"> + <stop offset="1" style="stop-color:#ff8400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffa100;stop-opacity:0;"/> </linearGradient> - <polygon id="GT7d" points="441.11139 219.585353 444.28771 216.339333 450.600901 211.986218"/> </defs> - <use fill="#ff8400" fill-opacity="1" xlink:href="#GT7d"/> - <use fill="url(#GR7d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT7d"/> - <use fill="url(#GR7d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT7d"/> - <use fill="url(#GR7d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT7d"/> + <path d="M 441.11139,219.585353 L 444.28771,216.339333 450.600901,211.986218 Z" fill="#ff8400" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.11139,219.585353 L 444.28771,216.339333 450.600901,211.986218 Z" fill="url(#GR7d_0)" shape-rendering="crispEdges"/> + <path d="M 441.11139,219.585353 L 444.28771,216.339333 450.600901,211.986218 Z" fill="url(#GR7d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.11139,219.585353 L 444.28771,216.339333 450.600901,211.986218 Z" fill="url(#GR7d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR7e_0" x1="450.600901" x2="449.551842" y1="211.986218" y2="210.959685"> - <stop offset="0" style="stop-color:#ff8900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR7e_0" x1="450.600901" x2="449.551842" y1="211.986218" y2="210.959685"> + <stop offset="1" style="stop-color:#ffb000;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR7e_1" x1="437.935071" x2="437.59234" y1="222.831374" y2="222.403385"> - <stop offset="0" style="stop-color:#ffe600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffe600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR7e_1" x1="437.935071" x2="437.59234" y1="222.831374" y2="222.403385"> + <stop offset="1" style="stop-color:#ffb000;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffe600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR7e_2" x1="441.11139" x2="441.371397" y1="219.585353" y2="219.889009"> - <stop offset="0" style="stop-color:#ffa100;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffa100;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR7e_2" x1="441.11139" x2="441.371397" y1="219.585353" y2="219.889009"> + <stop offset="1" style="stop-color:#ffb000;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffa100;stop-opacity:0;"/> </linearGradient> - <polygon id="GT7e" points="441.11139 219.585353 450.600901 211.986218 437.935071 222.831374"/> </defs> - <use fill="#ffb000" fill-opacity="1" xlink:href="#GT7e"/> - <use fill="url(#GR7e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT7e"/> - <use fill="url(#GR7e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT7e"/> - <use fill="url(#GR7e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT7e"/> + <path d="M 441.11139,219.585353 L 450.600901,211.986218 437.935071,222.831374 Z" fill="#ffb000" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.11139,219.585353 L 450.600901,211.986218 437.935071,222.831374 Z" fill="url(#GR7e_0)" shape-rendering="crispEdges"/> + <path d="M 441.11139,219.585353 L 450.600901,211.986218 437.935071,222.831374 Z" fill="url(#GR7e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.11139,219.585353 L 450.600901,211.986218 437.935071,222.831374 Z" fill="url(#GR7e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR7f_0" x1="437.935071" x2="437.59234" y1="222.831374" y2="222.403385"> - <stop offset="0" style="stop-color:#ffe600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffe600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR7f_0" x1="437.935071" x2="437.59234" y1="222.831374" y2="222.403385"> + <stop offset="1" style="stop-color:#ffbf00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffe600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR7f_1" x1="431.621879" x2="432.670938" y1="227.184489" y2="228.211022"> - <stop offset="0" style="stop-color:#ffb600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR7f_1" x1="431.621879" x2="432.670938" y1="227.184489" y2="228.211022"> + <stop offset="1" style="stop-color:#ffbf00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR7f_2" x1="441.11139" x2="441.604831" y1="219.585353" y2="220.300975"> - <stop offset="0" style="stop-color:#ffa100;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffa100;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR7f_2" x1="441.11139" x2="441.604831" y1="219.585353" y2="220.300975"> + <stop offset="1" style="stop-color:#ffbf00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffa100;stop-opacity:0;"/> </linearGradient> - <polygon id="GT7f" points="441.11139 219.585353 437.935071 222.831374 431.621879 227.184489"/> </defs> - <use fill="#ffbf00" fill-opacity="1" xlink:href="#GT7f"/> - <use fill="url(#GR7f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT7f"/> - <use fill="url(#GR7f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT7f"/> - <use fill="url(#GR7f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT7f"/> + <path d="M 441.11139,219.585353 L 437.935071,222.831374 431.621879,227.184489 Z" fill="#ffbf00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.11139,219.585353 L 437.935071,222.831374 431.621879,227.184489 Z" fill="url(#GR7f_0)" shape-rendering="crispEdges"/> + <path d="M 441.11139,219.585353 L 437.935071,222.831374 431.621879,227.184489 Z" fill="url(#GR7f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.11139,219.585353 L 437.935071,222.831374 431.621879,227.184489 Z" fill="url(#GR7f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR80_0" x1="444.28771" x2="444.041392" y1="216.339333" y2="212.395948"> - <stop offset="0" style="stop-color:#ff6000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR80_0" x1="444.28771" x2="444.041392" y1="216.339333" y2="212.395948"> + <stop offset="1" style="stop-color:#f43700;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR80_1" x1="458.261065" x2="457.699412" y1="211.507738" y2="210.2672"> - <stop offset="0" style="stop-color:#e40000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e40000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR80_1" x1="458.261065" x2="457.699412" y1="211.507738" y2="210.2672"> + <stop offset="1" style="stop-color:#f43700;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e40000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR80_2" x1="454.430983" x2="454.766111" y1="211.746978" y2="212.716195"> - <stop offset="0" style="stop-color:#f84400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f84400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR80_2" x1="454.430983" x2="454.766111" y1="211.746978" y2="212.716195"> + <stop offset="1" style="stop-color:#f43700;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f84400;stop-opacity:0;"/> </linearGradient> - <polygon id="GT80" points="454.430983 211.746978 444.28771 216.339333 458.261065 211.507738"/> </defs> - <use fill="#f43700" fill-opacity="1" xlink:href="#GT80"/> - <use fill="url(#GR80_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT80"/> - <use fill="url(#GR80_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT80"/> - <use fill="url(#GR80_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT80"/> + <path d="M 454.430983,211.746978 L 444.28771,216.339333 458.261065,211.507738 Z" fill="#f43700" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 454.430983,211.746978 L 444.28771,216.339333 458.261065,211.507738 Z" fill="url(#GR80_0)" shape-rendering="crispEdges"/> + <path d="M 454.430983,211.746978 L 444.28771,216.339333 458.261065,211.507738 Z" fill="url(#GR80_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 454.430983,211.746978 L 444.28771,216.339333 458.261065,211.507738 Z" fill="url(#GR80_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR81_0" x1="458.261065" x2="457.699412" y1="211.507738" y2="210.2672"> - <stop offset="0" style="stop-color:#e40000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e40000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR81_0" x1="458.261065" x2="457.699412" y1="211.507738" y2="210.2672"> + <stop offset="1" style="stop-color:#f42300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e40000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR81_1" x1="464.574256" x2="464.820573" y1="207.154622" y2="211.098008"> - <stop offset="0" style="stop-color:#ff2500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff2500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR81_1" x1="464.574256" x2="464.820573" y1="207.154622" y2="211.098008"> + <stop offset="1" style="stop-color:#f42300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff2500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR81_2" x1="454.430983" x2="455.553381" y1="211.746978" y2="213.374758"> - <stop offset="0" style="stop-color:#f84400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f84400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR81_2" x1="454.430983" x2="455.553381" y1="211.746978" y2="213.374758"> + <stop offset="1" style="stop-color:#f42300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f84400;stop-opacity:0;"/> </linearGradient> - <polygon id="GT81" points="454.430983 211.746978 458.261065 211.507738 464.574256 207.154622"/> </defs> - <use fill="#f42300" fill-opacity="1" xlink:href="#GT81"/> - <use fill="url(#GR81_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT81"/> - <use fill="url(#GR81_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT81"/> - <use fill="url(#GR81_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT81"/> + <path d="M 454.430983,211.746978 L 458.261065,211.507738 464.574256,207.154622 Z" fill="#f42300" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 454.430983,211.746978 L 458.261065,211.507738 464.574256,207.154622 Z" fill="url(#GR81_0)" shape-rendering="crispEdges"/> + <path d="M 454.430983,211.746978 L 458.261065,211.507738 464.574256,207.154622 Z" fill="url(#GR81_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 454.430983,211.746978 L 458.261065,211.507738 464.574256,207.154622 Z" fill="url(#GR81_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR82_0" x1="464.574256" x2="464.820573" y1="207.154622" y2="211.098008"> - <stop offset="0" style="stop-color:#ff2500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff2500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR82_0" x1="464.574256" x2="464.820573" y1="207.154622" y2="211.098008"> + <stop offset="1" style="stop-color:#fd5100;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff2500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR82_1" x1="450.600901" x2="451.162553" y1="211.986218" y2="213.226756"> - <stop offset="0" style="stop-color:#ff8900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR82_1" x1="450.600901" x2="451.162553" y1="211.986218" y2="213.226756"> + <stop offset="1" style="stop-color:#fd5100;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR82_2" x1="454.430983" x2="454.095855" y1="211.746978" y2="210.777761"> - <stop offset="0" style="stop-color:#f84400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f84400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR82_2" x1="454.430983" x2="454.095855" y1="211.746978" y2="210.777761"> + <stop offset="1" style="stop-color:#fd5100;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f84400;stop-opacity:0;"/> </linearGradient> - <polygon id="GT82" points="454.430983 211.746978 464.574256 207.154622 450.600901 211.986218"/> </defs> - <use fill="#fd5100" fill-opacity="1" xlink:href="#GT82"/> - <use fill="url(#GR82_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT82"/> - <use fill="url(#GR82_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT82"/> - <use fill="url(#GR82_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT82"/> + <path d="M 454.430983,211.746978 L 464.574256,207.154622 450.600901,211.986218 Z" fill="#fd5100" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 454.430983,211.746978 L 464.574256,207.154622 450.600901,211.986218 Z" fill="url(#GR82_0)" shape-rendering="crispEdges"/> + <path d="M 454.430983,211.746978 L 464.574256,207.154622 450.600901,211.986218 Z" fill="url(#GR82_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 454.430983,211.746978 L 464.574256,207.154622 450.600901,211.986218 Z" fill="url(#GR82_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR83_0" x1="450.600901" x2="451.162553" y1="211.986218" y2="213.226756"> - <stop offset="0" style="stop-color:#ff8900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR83_0" x1="450.600901" x2="451.162553" y1="211.986218" y2="213.226756"> + <stop offset="1" style="stop-color:#fd6400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR83_1" x1="444.28771" x2="444.041392" y1="216.339333" y2="212.395948"> - <stop offset="0" style="stop-color:#ff6000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR83_1" x1="444.28771" x2="444.041392" y1="216.339333" y2="212.395948"> + <stop offset="1" style="stop-color:#fd6400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR83_2" x1="454.430983" x2="453.308584" y1="211.746978" y2="210.119198"> - <stop offset="0" style="stop-color:#f84400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f84400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR83_2" x1="454.430983" x2="453.308584" y1="211.746978" y2="210.119198"> + <stop offset="1" style="stop-color:#fd6400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f84400;stop-opacity:0;"/> </linearGradient> - <polygon id="GT83" points="454.430983 211.746978 450.600901 211.986218 444.28771 216.339333"/> </defs> - <use fill="#fd6400" fill-opacity="1" xlink:href="#GT83"/> - <use fill="url(#GR83_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT83"/> - <use fill="url(#GR83_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT83"/> - <use fill="url(#GR83_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT83"/> + <path d="M 454.430983,211.746978 L 450.600901,211.986218 444.28771,216.339333 Z" fill="#fd6400" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 454.430983,211.746978 L 450.600901,211.986218 444.28771,216.339333 Z" fill="url(#GR83_0)" shape-rendering="crispEdges"/> + <path d="M 454.430983,211.746978 L 450.600901,211.986218 444.28771,216.339333 Z" fill="url(#GR83_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 454.430983,211.746978 L 450.600901,211.986218 444.28771,216.339333 Z" fill="url(#GR83_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR84_0" x1="464.574256" x2="464.347051" y1="379.521756" y2="374.112753"> - <stop offset="0" style="stop-color:#ff2500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff2500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR84_0" x1="464.574256" x2="464.347051" y1="379.521756" y2="374.112753"> + <stop offset="1" style="stop-color:#ff5d00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff2500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR84_1" x1="450.600901" x2="457.060551" y1="374.69016" y2="369.732222"> - <stop offset="0" style="stop-color:#ff8900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR84_1" x1="450.600901" x2="457.060551" y1="374.69016" y2="369.732222"> + <stop offset="1" style="stop-color:#ff5d00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR84_2" x1="460.545283" x2="459.354307" y1="374.272446" y2="377.716844"> - <stop offset="0" style="stop-color:#ff6a00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6a00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR84_2" x1="460.545283" x2="459.354307" y1="374.272446" y2="377.716844"> + <stop offset="1" style="stop-color:#ff5d00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6a00;stop-opacity:0;"/> </linearGradient> - <polygon id="GT84" points="460.545283 374.272446 464.574256 379.521756 450.600901 374.69016"/> </defs> - <use fill="#ff5d00" fill-opacity="1" xlink:href="#GT84"/> - <use fill="url(#GR84_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT84"/> - <use fill="url(#GR84_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT84"/> - <use fill="url(#GR84_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT84"/> + <path d="M 460.545283,374.272446 L 464.574256,379.521756 450.600901,374.69016 Z" fill="#ff5d00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 460.545283,374.272446 L 464.574256,379.521756 450.600901,374.69016 Z" fill="url(#GR84_0)" shape-rendering="crispEdges"/> + <path d="M 460.545283,374.272446 L 464.574256,379.521756 450.600901,374.69016 Z" fill="url(#GR84_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 460.545283,374.272446 L 464.574256,379.521756 450.600901,374.69016 Z" fill="url(#GR84_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR85_0" x1="450.600901" x2="457.060551" y1="374.69016" y2="369.732222"> - <stop offset="0" style="stop-color:#ff8900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR85_0" x1="450.600901" x2="457.060551" y1="374.69016" y2="369.732222"> + <stop offset="1" style="stop-color:#ff8c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR85_1" x1="456.516311" x2="456.743516" y1="369.023137" y2="374.43214"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR85_1" x1="456.516311" x2="456.743516" y1="369.023137" y2="374.43214"> + <stop offset="1" style="stop-color:#ff8c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR85_2" x1="460.545283" x2="455.994917" y1="374.272446" y2="369.522637"> - <stop offset="0" style="stop-color:#ff6a00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6a00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR85_2" x1="460.545283" x2="455.994917" y1="374.272446" y2="369.522637"> + <stop offset="1" style="stop-color:#ff8c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6a00;stop-opacity:0;"/> </linearGradient> - <polygon id="GT85" points="460.545283 374.272446 450.600901 374.69016 456.516311 369.023137"/> </defs> - <use fill="#ff8c00" fill-opacity="1" xlink:href="#GT85"/> - <use fill="url(#GR85_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT85"/> - <use fill="url(#GR85_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT85"/> - <use fill="url(#GR85_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT85"/> + <path d="M 460.545283,374.272446 L 450.600901,374.69016 456.516311,369.023137 Z" fill="#ff8c00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 460.545283,374.272446 L 450.600901,374.69016 456.516311,369.023137 Z" fill="url(#GR85_0)" shape-rendering="crispEdges"/> + <path d="M 460.545283,374.272446 L 450.600901,374.69016 456.516311,369.023137 Z" fill="url(#GR85_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 460.545283,374.272446 L 450.600901,374.69016 456.516311,369.023137 Z" fill="url(#GR85_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR86_0" x1="456.516311" x2="456.743516" y1="369.023137" y2="374.43214"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR86_0" x1="456.516311" x2="456.743516" y1="369.023137" y2="374.43214"> + <stop offset="1" style="stop-color:#ff7600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR86_1" x1="470.489665" x2="464.030016" y1="373.854732" y2="378.812671"> - <stop offset="0" style="stop-color:#ff4700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff4700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR86_1" x1="470.489665" x2="464.030016" y1="373.854732" y2="378.812671"> + <stop offset="1" style="stop-color:#ff7600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff4700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR86_2" x1="460.545283" x2="461.73626" y1="374.272446" y2="370.828049"> - <stop offset="0" style="stop-color:#ff6a00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6a00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR86_2" x1="460.545283" x2="461.73626" y1="374.272446" y2="370.828049"> + <stop offset="1" style="stop-color:#ff7600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6a00;stop-opacity:0;"/> </linearGradient> - <polygon id="GT86" points="460.545283 374.272446 456.516311 369.023137 470.489665 373.854732"/> </defs> - <use fill="#ff7600" fill-opacity="1" xlink:href="#GT86"/> - <use fill="url(#GR86_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT86"/> - <use fill="url(#GR86_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT86"/> - <use fill="url(#GR86_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT86"/> + <path d="M 460.545283,374.272446 L 456.516311,369.023137 470.489665,373.854732 Z" fill="#ff7600" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 460.545283,374.272446 L 456.516311,369.023137 470.489665,373.854732 Z" fill="url(#GR86_0)" shape-rendering="crispEdges"/> + <path d="M 460.545283,374.272446 L 456.516311,369.023137 470.489665,373.854732 Z" fill="url(#GR86_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 460.545283,374.272446 L 456.516311,369.023137 470.489665,373.854732 Z" fill="url(#GR86_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR87_0" x1="470.489665" x2="464.030016" y1="373.854732" y2="378.812671"> - <stop offset="0" style="stop-color:#ff4700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff4700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR87_0" x1="470.489665" x2="464.030016" y1="373.854732" y2="378.812671"> + <stop offset="1" style="stop-color:#ff4700;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff4700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR87_1" x1="464.574256" x2="464.347051" y1="379.521756" y2="374.112753"> - <stop offset="0" style="stop-color:#ff2500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff2500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR87_1" x1="464.574256" x2="464.347051" y1="379.521756" y2="374.112753"> + <stop offset="1" style="stop-color:#ff4700;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff2500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR87_2" x1="460.545283" x2="465.09565" y1="374.272446" y2="379.022256"> - <stop offset="0" style="stop-color:#ff6a00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6a00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR87_2" x1="460.545283" x2="465.09565" y1="374.272446" y2="379.022256"> + <stop offset="1" style="stop-color:#ff4700;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6a00;stop-opacity:0;"/> </linearGradient> - <polygon id="GT87" points="460.545283 374.272446 470.489665 373.854732 464.574256 379.521756"/> </defs> - <use fill="#ff4700" fill-opacity="1" xlink:href="#GT87"/> - <use fill="url(#GR87_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT87"/> - <use fill="url(#GR87_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT87"/> - <use fill="url(#GR87_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT87"/> + <path d="M 460.545283,374.272446 L 470.489665,373.854732 464.574256,379.521756 Z" fill="#ff4700" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 460.545283,374.272446 L 470.489665,373.854732 464.574256,379.521756 Z" fill="url(#GR87_0)" shape-rendering="crispEdges"/> + <path d="M 460.545283,374.272446 L 470.489665,373.854732 464.574256,379.521756 Z" fill="url(#GR87_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 460.545283,374.272446 L 470.489665,373.854732 464.574256,379.521756 Z" fill="url(#GR87_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR88_0" x1="450.600901" x2="452.492638" y1="374.69016" y2="367.901839"> - <stop offset="0" style="stop-color:#ff8900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR88_0" x1="450.600901" x2="452.492638" y1="374.69016" y2="367.901839"> + <stop offset="1" style="stop-color:#fcbd02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR88_1" x1="437.935071" x2="444.98842" y1="363.845005" y2="360.961492"> - <stop offset="0" style="stop-color:#ffe600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffe600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR88_1" x1="437.935071" x2="444.98842" y1="363.845005" y2="360.961492"> + <stop offset="1" style="stop-color:#fcbd02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffe600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR88_2" x1="447.225691" x2="444.574651" y1="366.434071" y2="369.530165"> - <stop offset="0" style="stop-color:#f6c807;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f6c807;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR88_2" x1="447.225691" x2="444.574651" y1="366.434071" y2="369.530165"> + <stop offset="1" style="stop-color:#fcbd02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f6c807;stop-opacity:0;"/> </linearGradient> - <polygon id="GT88" points="447.225691 366.434071 450.600901 374.69016 437.935071 363.845005"/> </defs> - <use fill="#fcbd02" fill-opacity="1" xlink:href="#GT88"/> - <use fill="url(#GR88_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT88"/> - <use fill="url(#GR88_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT88"/> - <use fill="url(#GR88_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT88"/> + <path d="M 447.225691,366.434071 L 450.600901,374.69016 437.935071,363.845005 Z" fill="#fcbd02" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.225691,366.434071 L 450.600901,374.69016 437.935071,363.845005 Z" fill="url(#GR88_0)" shape-rendering="crispEdges"/> + <path d="M 447.225691,366.434071 L 450.600901,374.69016 437.935071,363.845005 Z" fill="url(#GR88_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.225691,366.434071 L 450.600901,374.69016 437.935071,363.845005 Z" fill="url(#GR88_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR89_0" x1="437.935071" x2="444.98842" y1="363.845005" y2="360.961492"> - <stop offset="0" style="stop-color:#ffe600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffe600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR89_0" x1="437.935071" x2="444.98842" y1="363.845005" y2="360.961492"> + <stop offset="1" style="stop-color:#f0e40c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffe600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR89_1" x1="443.85048" x2="441.958743" y1="358.177981" y2="364.966303"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR89_1" x1="443.85048" x2="441.958743" y1="358.177981" y2="364.966303"> + <stop offset="1" style="stop-color:#f0e40c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR89_2" x1="447.225691" x2="441.486184" y1="366.434071" y2="360.443001"> - <stop offset="0" style="stop-color:#f6c807;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f6c807;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR89_2" x1="447.225691" x2="441.486184" y1="366.434071" y2="360.443001"> + <stop offset="1" style="stop-color:#f0e40c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f6c807;stop-opacity:0;"/> </linearGradient> - <polygon id="GT89" points="447.225691 366.434071 437.935071 363.845005 443.85048 358.177981"/> </defs> - <use fill="#f0e40c" fill-opacity="1" xlink:href="#GT89"/> - <use fill="url(#GR89_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT89"/> - <use fill="url(#GR89_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT89"/> - <use fill="url(#GR89_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT89"/> + <path d="M 447.225691,366.434071 L 437.935071,363.845005 443.85048,358.177981 Z" fill="#f0e40c" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.225691,366.434071 L 437.935071,363.845005 443.85048,358.177981 Z" fill="url(#GR89_0)" shape-rendering="crispEdges"/> + <path d="M 447.225691,366.434071 L 437.935071,363.845005 443.85048,358.177981 Z" fill="url(#GR89_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.225691,366.434071 L 437.935071,363.845005 443.85048,358.177981 Z" fill="url(#GR89_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR8a_0" x1="443.85048" x2="441.958743" y1="358.177981" y2="364.966303"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR8a_0" x1="443.85048" x2="441.958743" y1="358.177981" y2="364.966303"> + <stop offset="1" style="stop-color:#f0d30c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR8a_1" x1="456.516311" x2="449.462961" y1="369.023137" y2="371.90665"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR8a_1" x1="456.516311" x2="449.462961" y1="369.023137" y2="371.90665"> + <stop offset="1" style="stop-color:#f0d30c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR8a_2" x1="447.225691" x2="449.876731" y1="366.434071" y2="363.337977"> - <stop offset="0" style="stop-color:#f6c807;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f6c807;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR8a_2" x1="447.225691" x2="449.876731" y1="366.434071" y2="363.337977"> + <stop offset="1" style="stop-color:#f0d30c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f6c807;stop-opacity:0;"/> </linearGradient> - <polygon id="GT8a" points="447.225691 366.434071 443.85048 358.177981 456.516311 369.023137"/> </defs> - <use fill="#f0d30c" fill-opacity="1" xlink:href="#GT8a"/> - <use fill="url(#GR8a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT8a"/> - <use fill="url(#GR8a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT8a"/> - <use fill="url(#GR8a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT8a"/> + <path d="M 447.225691,366.434071 L 443.85048,358.177981 456.516311,369.023137 Z" fill="#f0d30c" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.225691,366.434071 L 443.85048,358.177981 456.516311,369.023137 Z" fill="url(#GR8a_0)" shape-rendering="crispEdges"/> + <path d="M 447.225691,366.434071 L 443.85048,358.177981 456.516311,369.023137 Z" fill="url(#GR8a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.225691,366.434071 L 443.85048,358.177981 456.516311,369.023137 Z" fill="url(#GR8a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR8b_0" x1="456.516311" x2="449.462961" y1="369.023137" y2="371.90665"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR8b_0" x1="456.516311" x2="449.462961" y1="369.023137" y2="371.90665"> + <stop offset="1" style="stop-color:#fcac02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR8b_1" x1="450.600901" x2="452.492638" y1="374.69016" y2="367.901839"> - <stop offset="0" style="stop-color:#ff8900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR8b_1" x1="450.600901" x2="452.492638" y1="374.69016" y2="367.901839"> + <stop offset="1" style="stop-color:#fcac02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR8b_2" x1="447.225691" x2="452.965197" y1="366.434071" y2="372.42514"> - <stop offset="0" style="stop-color:#f6c807;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f6c807;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR8b_2" x1="447.225691" x2="452.965197" y1="366.434071" y2="372.42514"> + <stop offset="1" style="stop-color:#fcac02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f6c807;stop-opacity:0;"/> </linearGradient> - <polygon id="GT8b" points="447.225691 366.434071 456.516311 369.023137 450.600901 374.69016"/> </defs> - <use fill="#fcac02" fill-opacity="1" xlink:href="#GT8b"/> - <use fill="url(#GR8b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT8b"/> - <use fill="url(#GR8b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT8b"/> - <use fill="url(#GR8b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT8b"/> + <path d="M 447.225691,366.434071 L 456.516311,369.023137 450.600901,374.69016 Z" fill="#fcac02" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.225691,366.434071 L 456.516311,369.023137 450.600901,374.69016 Z" fill="url(#GR8b_0)" shape-rendering="crispEdges"/> + <path d="M 447.225691,366.434071 L 456.516311,369.023137 450.600901,374.69016 Z" fill="url(#GR8b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.225691,366.434071 L 456.516311,369.023137 450.600901,374.69016 Z" fill="url(#GR8b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR8c_0" x1="437.935071" x2="442.204715" y1="363.845005" y2="357.131336"> - <stop offset="0" style="stop-color:#ffe600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffe600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR8c_0" x1="437.935071" x2="442.204715" y1="363.845005" y2="357.131336"> + <stop offset="1" style="stop-color:#d9f521;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffe600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR8c_1" x1="427.513027" x2="434.311482" y1="347.787966" y2="346.377633"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR8c_1" x1="427.513027" x2="434.311482" y1="347.787966" y2="346.377633"> + <stop offset="1" style="stop-color:#d9f521;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR8c_2" x1="435.681753" x2="432.306752" y1="352.982974" y2="355.173565"> - <stop offset="0" style="stop-color:#cbf92d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#cbf92d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR8c_2" x1="435.681753" x2="432.306752" y1="352.982974" y2="355.173565"> + <stop offset="1" style="stop-color:#d9f521;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#cbf92d;stop-opacity:0;"/> </linearGradient> - <polygon id="GT8c" points="435.681753 352.982974 437.935071 363.845005 427.513027 347.787966"/> </defs> - <use fill="#d9f521" fill-opacity="1" xlink:href="#GT8c"/> - <use fill="url(#GR8c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT8c"/> - <use fill="url(#GR8c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT8c"/> - <use fill="url(#GR8c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT8c"/> + <path d="M 435.681753,352.982974 L 437.935071,363.845005 427.513027,347.787966 Z" fill="#d9f521" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 435.681753,352.982974 L 437.935071,363.845005 427.513027,347.787966 Z" fill="url(#GR8c_0)" shape-rendering="crispEdges"/> + <path d="M 435.681753,352.982974 L 437.935071,363.845005 427.513027,347.787966 Z" fill="url(#GR8c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 435.681753,352.982974 L 437.935071,363.845005 427.513027,347.787966 Z" fill="url(#GR8c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR8d_0" x1="427.513027" x2="434.311482" y1="347.787966" y2="346.377633"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR8d_0" x1="427.513027" x2="434.311482" y1="347.787966" y2="346.377633"> + <stop offset="1" style="stop-color:#b5fd42;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR8d_1" x1="433.428436" x2="429.158791" y1="342.120943" y2="348.834612"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR8d_1" x1="433.428436" x2="429.158791" y1="342.120943" y2="348.834612"> + <stop offset="1" style="stop-color:#b5fd42;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR8d_2" x1="435.681753" x2="429.177373" y1="352.982974" y2="346.193505"> - <stop offset="0" style="stop-color:#cbf92d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#cbf92d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR8d_2" x1="435.681753" x2="429.177373" y1="352.982974" y2="346.193505"> + <stop offset="1" style="stop-color:#b5fd42;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#cbf92d;stop-opacity:0;"/> </linearGradient> - <polygon id="GT8d" points="435.681753 352.982974 427.513027 347.787966 433.428436 342.120943"/> </defs> - <use fill="#b5fd42" fill-opacity="1" xlink:href="#GT8d"/> - <use fill="url(#GR8d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT8d"/> - <use fill="url(#GR8d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT8d"/> - <use fill="url(#GR8d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT8d"/> + <path d="M 435.681753,352.982974 L 427.513027,347.787966 433.428436,342.120943 Z" fill="#b5fd42" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 435.681753,352.982974 L 427.513027,347.787966 433.428436,342.120943 Z" fill="url(#GR8d_0)" shape-rendering="crispEdges"/> + <path d="M 435.681753,352.982974 L 427.513027,347.787966 433.428436,342.120943 Z" fill="url(#GR8d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 435.681753,352.982974 L 427.513027,347.787966 433.428436,342.120943 Z" fill="url(#GR8d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR8e_0" x1="433.428436" x2="429.158791" y1="342.120943" y2="348.834612"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR8e_0" x1="433.428436" x2="429.158791" y1="342.120943" y2="348.834612"> + <stop offset="1" style="stop-color:#befd3a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR8e_1" x1="443.85048" x2="437.052025" y1="358.177981" y2="359.588314"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR8e_1" x1="443.85048" x2="437.052025" y1="358.177981" y2="359.588314"> + <stop offset="1" style="stop-color:#befd3a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR8e_2" x1="435.681753" x2="439.056755" y1="352.982974" y2="350.792382"> - <stop offset="0" style="stop-color:#cbf92d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#cbf92d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR8e_2" x1="435.681753" x2="439.056755" y1="352.982974" y2="350.792382"> + <stop offset="1" style="stop-color:#befd3a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#cbf92d;stop-opacity:0;"/> </linearGradient> - <polygon id="GT8e" points="435.681753 352.982974 433.428436 342.120943 443.85048 358.177981"/> </defs> - <use fill="#befd3a" fill-opacity="1" xlink:href="#GT8e"/> - <use fill="url(#GR8e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT8e"/> - <use fill="url(#GR8e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT8e"/> - <use fill="url(#GR8e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT8e"/> + <path d="M 435.681753,352.982974 L 433.428436,342.120943 443.85048,358.177981 Z" fill="#befd3a" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 435.681753,352.982974 L 433.428436,342.120943 443.85048,358.177981 Z" fill="url(#GR8e_0)" shape-rendering="crispEdges"/> + <path d="M 435.681753,352.982974 L 433.428436,342.120943 443.85048,358.177981 Z" fill="url(#GR8e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 435.681753,352.982974 L 433.428436,342.120943 443.85048,358.177981 Z" fill="url(#GR8e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR8f_0" x1="443.85048" x2="437.052025" y1="358.177981" y2="359.588314"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR8f_0" x1="443.85048" x2="437.052025" y1="358.177981" y2="359.588314"> + <stop offset="1" style="stop-color:#e2f519;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR8f_1" x1="437.935071" x2="442.204715" y1="363.845005" y2="357.131336"> - <stop offset="0" style="stop-color:#ffe600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffe600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR8f_1" x1="437.935071" x2="442.204715" y1="363.845005" y2="357.131336"> + <stop offset="1" style="stop-color:#e2f519;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffe600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR8f_2" x1="435.681753" x2="442.186134" y1="352.982974" y2="359.772442"> - <stop offset="0" style="stop-color:#cbf92d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#cbf92d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR8f_2" x1="435.681753" x2="442.186134" y1="352.982974" y2="359.772442"> + <stop offset="1" style="stop-color:#e2f519;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#cbf92d;stop-opacity:0;"/> </linearGradient> - <polygon id="GT8f" points="435.681753 352.982974 443.85048 358.177981 437.935071 363.845005"/> </defs> - <use fill="#e2f519" fill-opacity="1" xlink:href="#GT8f"/> - <use fill="url(#GR8f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT8f"/> - <use fill="url(#GR8f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT8f"/> - <use fill="url(#GR8f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT8f"/> + <path d="M 435.681753,352.982974 L 443.85048,358.177981 437.935071,363.845005 Z" fill="#e2f519" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 435.681753,352.982974 L 443.85048,358.177981 437.935071,363.845005 Z" fill="url(#GR8f_0)" shape-rendering="crispEdges"/> + <path d="M 435.681753,352.982974 L 443.85048,358.177981 437.935071,363.845005 Z" fill="url(#GR8f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 435.681753,352.982974 L 443.85048,358.177981 437.935071,363.845005 Z" fill="url(#GR8f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR90_0" x1="427.513027" x2="433.527931" y1="347.787966" y2="342.22859"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR90_0" x1="427.513027" x2="433.527931" y1="347.787966" y2="342.22859"> + <stop offset="1" style="stop-color:#9fff58;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR90_1" x1="420.105169" x2="426.328141" y1="327.705985" y2="327.345293"> - <stop offset="0" style="stop-color:#8dff6a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8dff6a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR90_1" x1="420.105169" x2="426.328141" y1="327.705985" y2="327.345293"> + <stop offset="1" style="stop-color:#9fff58;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8dff6a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR90_2" x1="426.766802" x2="423.24332" y1="334.913464" y2="336.213209"> - <stop offset="0" style="stop-color:#90ff67;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#90ff67;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR90_2" x1="426.766802" x2="423.24332" y1="334.913464" y2="336.213209"> + <stop offset="1" style="stop-color:#9fff58;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#90ff67;stop-opacity:0;"/> </linearGradient> - <polygon id="GT90" points="426.766802 334.913464 427.513027 347.787966 420.105169 327.705985"/> </defs> - <use fill="#9fff58" fill-opacity="1" xlink:href="#GT90"/> - <use fill="url(#GR90_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT90"/> - <use fill="url(#GR90_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT90"/> - <use fill="url(#GR90_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT90"/> + <path d="M 426.766802,334.913464 L 427.513027,347.787966 420.105169,327.705985 Z" fill="#9fff58" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 426.766802,334.913464 L 427.513027,347.787966 420.105169,327.705985 Z" fill="url(#GR90_0)" shape-rendering="crispEdges"/> + <path d="M 426.766802,334.913464 L 427.513027,347.787966 420.105169,327.705985 Z" fill="url(#GR90_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 426.766802,334.913464 L 427.513027,347.787966 420.105169,327.705985 Z" fill="url(#GR90_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR91_0" x1="420.105169" x2="426.328141" y1="327.705985" y2="327.345293"> - <stop offset="0" style="stop-color:#8dff6a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8dff6a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR91_0" x1="420.105169" x2="426.328141" y1="327.705985" y2="327.345293"> + <stop offset="1" style="stop-color:#7eff79;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8dff6a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR91_1" x1="426.020578" x2="420.005674" y1="322.038962" y2="327.598338"> - <stop offset="0" style="stop-color:#5dff9a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5dff9a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR91_1" x1="426.020578" x2="420.005674" y1="322.038962" y2="327.598338"> + <stop offset="1" style="stop-color:#7eff79;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5dff9a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR91_2" x1="426.766802" x2="419.978353" y1="334.913464" y2="327.827476"> - <stop offset="0" style="stop-color:#90ff67;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#90ff67;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR91_2" x1="426.766802" x2="419.978353" y1="334.913464" y2="327.827476"> + <stop offset="1" style="stop-color:#7eff79;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#90ff67;stop-opacity:0;"/> </linearGradient> - <polygon id="GT91" points="426.766802 334.913464 420.105169 327.705985 426.020578 322.038962"/> </defs> - <use fill="#7eff79" fill-opacity="1" xlink:href="#GT91"/> - <use fill="url(#GR91_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT91"/> - <use fill="url(#GR91_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT91"/> - <use fill="url(#GR91_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT91"/> + <path d="M 426.766802,334.913464 L 420.105169,327.705985 426.020578,322.038962 Z" fill="#7eff79" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 426.766802,334.913464 L 420.105169,327.705985 426.020578,322.038962 Z" fill="url(#GR91_0)" shape-rendering="crispEdges"/> + <path d="M 426.766802,334.913464 L 420.105169,327.705985 426.020578,322.038962 Z" fill="url(#GR91_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 426.766802,334.913464 L 420.105169,327.705985 426.020578,322.038962 Z" fill="url(#GR91_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR92_0" x1="426.020578" x2="420.005674" y1="322.038962" y2="327.598338"> - <stop offset="0" style="stop-color:#5dff9a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5dff9a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR92_0" x1="426.020578" x2="420.005674" y1="322.038962" y2="327.598338"> + <stop offset="1" style="stop-color:#80ff77;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5dff9a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR92_1" x1="433.428436" x2="427.205464" y1="342.120943" y2="342.481635"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR92_1" x1="433.428436" x2="427.205464" y1="342.120943" y2="342.481635"> + <stop offset="1" style="stop-color:#80ff77;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR92_2" x1="426.766802" x2="430.290284" y1="334.913464" y2="333.613719"> - <stop offset="0" style="stop-color:#90ff67;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#90ff67;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR92_2" x1="426.766802" x2="430.290284" y1="334.913464" y2="333.613719"> + <stop offset="1" style="stop-color:#80ff77;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#90ff67;stop-opacity:0;"/> </linearGradient> - <polygon id="GT92" points="426.766802 334.913464 426.020578 322.038962 433.428436 342.120943"/> </defs> - <use fill="#80ff77" fill-opacity="1" xlink:href="#GT92"/> - <use fill="url(#GR92_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT92"/> - <use fill="url(#GR92_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT92"/> - <use fill="url(#GR92_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT92"/> + <path d="M 426.766802,334.913464 L 426.020578,322.038962 433.428436,342.120943 Z" fill="#80ff77" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 426.766802,334.913464 L 426.020578,322.038962 433.428436,342.120943 Z" fill="url(#GR92_0)" shape-rendering="crispEdges"/> + <path d="M 426.766802,334.913464 L 426.020578,322.038962 433.428436,342.120943 Z" fill="url(#GR92_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 426.766802,334.913464 L 426.020578,322.038962 433.428436,342.120943 Z" fill="url(#GR92_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR93_0" x1="433.428436" x2="427.205464" y1="342.120943" y2="342.481635"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR93_0" x1="433.428436" x2="427.205464" y1="342.120943" y2="342.481635"> + <stop offset="1" style="stop-color:#a1ff55;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR93_1" x1="427.513027" x2="433.527931" y1="347.787966" y2="342.22859"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR93_1" x1="427.513027" x2="433.527931" y1="347.787966" y2="342.22859"> + <stop offset="1" style="stop-color:#a1ff55;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR93_2" x1="426.766802" x2="433.555252" y1="334.913464" y2="341.999452"> - <stop offset="0" style="stop-color:#90ff67;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#90ff67;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR93_2" x1="426.766802" x2="433.555252" y1="334.913464" y2="341.999452"> + <stop offset="1" style="stop-color:#a1ff55;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#90ff67;stop-opacity:0;"/> </linearGradient> - <polygon id="GT93" points="426.766802 334.913464 433.428436 342.120943 427.513027 347.787966"/> </defs> - <use fill="#a1ff55" fill-opacity="1" xlink:href="#GT93"/> - <use fill="url(#GR93_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT93"/> - <use fill="url(#GR93_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT93"/> - <use fill="url(#GR93_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT93"/> + <path d="M 426.766802,334.913464 L 433.428436,342.120943 427.513027,347.787966 Z" fill="#a1ff55" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 426.766802,334.913464 L 433.428436,342.120943 427.513027,347.787966 Z" fill="url(#GR93_0)" shape-rendering="crispEdges"/> + <path d="M 426.766802,334.913464 L 433.428436,342.120943 427.513027,347.787966 Z" fill="url(#GR93_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 426.766802,334.913464 L 433.428436,342.120943 427.513027,347.787966 Z" fill="url(#GR93_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR94_0" x1="420.105169" x2="426.998418" y1="327.705985" y2="323.737442"> - <stop offset="0" style="stop-color:#8dff6a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8dff6a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR94_0" x1="420.105169" x2="426.998418" y1="327.705985" y2="323.737442"> + <stop offset="1" style="stop-color:#78ff7f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8dff6a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR94_1" x1="416.259088" x2="421.730687" y1="305.083527" y2="305.483766"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR94_1" x1="416.259088" x2="421.730687" y1="305.083527" y2="305.483766"> + <stop offset="1" style="stop-color:#78ff7f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR94_2" x1="421.139833" x2="417.797019" y1="313.561245" y2="314.129562"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR94_2" x1="421.139833" x2="417.797019" y1="313.561245" y2="314.129562"> + <stop offset="1" style="stop-color:#78ff7f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <polygon id="GT94" points="421.139833 313.561245 420.105169 327.705985 416.259088 305.083527"/> </defs> - <use fill="#78ff7f" fill-opacity="1" xlink:href="#GT94"/> - <use fill="url(#GR94_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT94"/> - <use fill="url(#GR94_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT94"/> - <use fill="url(#GR94_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT94"/> + <path d="M 421.139833,313.561245 L 420.105169,327.705985 416.259088,305.083527 Z" fill="#78ff7f" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 421.139833,313.561245 L 420.105169,327.705985 416.259088,305.083527 Z" fill="url(#GR94_0)" shape-rendering="crispEdges"/> + <path d="M 421.139833,313.561245 L 420.105169,327.705985 416.259088,305.083527 Z" fill="url(#GR94_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 421.139833,313.561245 L 420.105169,327.705985 416.259088,305.083527 Z" fill="url(#GR94_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR95_0" x1="416.259088" x2="421.730687" y1="305.083527" y2="305.483766"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR95_0" x1="416.259088" x2="421.730687" y1="305.083527" y2="305.483766"> + <stop offset="1" style="stop-color:#5dff9a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR95_1" x1="422.174498" x2="415.281248" y1="299.416504" y2="303.385048"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR95_1" x1="422.174498" x2="415.281248" y1="299.416504" y2="303.385048"> + <stop offset="1" style="stop-color:#5dff9a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR95_2" x1="421.139833" x2="414.569119" y1="313.561245" y2="306.702535"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR95_2" x1="421.139833" x2="414.569119" y1="313.561245" y2="306.702535"> + <stop offset="1" style="stop-color:#5dff9a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <polygon id="GT95" points="421.139833 313.561245 416.259088 305.083527 422.174498 299.416504"/> </defs> - <use fill="#5dff9a" fill-opacity="1" xlink:href="#GT95"/> - <use fill="url(#GR95_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT95"/> - <use fill="url(#GR95_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT95"/> - <use fill="url(#GR95_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT95"/> + <path d="M 421.139833,313.561245 L 416.259088,305.083527 422.174498,299.416504 Z" fill="#5dff9a" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 421.139833,313.561245 L 416.259088,305.083527 422.174498,299.416504 Z" fill="url(#GR95_0)" shape-rendering="crispEdges"/> + <path d="M 421.139833,313.561245 L 416.259088,305.083527 422.174498,299.416504 Z" fill="url(#GR95_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 421.139833,313.561245 L 416.259088,305.083527 422.174498,299.416504 Z" fill="url(#GR95_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR96_0" x1="422.174498" x2="415.281248" y1="299.416504" y2="303.385048"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR96_0" x1="422.174498" x2="415.281248" y1="299.416504" y2="303.385048"> + <stop offset="1" style="stop-color:#55ffa2;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR96_1" x1="426.020578" x2="420.548979" y1="322.038962" y2="321.638723"> - <stop offset="0" style="stop-color:#5dff9a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5dff9a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR96_1" x1="426.020578" x2="420.548979" y1="322.038962" y2="321.638723"> + <stop offset="1" style="stop-color:#55ffa2;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5dff9a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR96_2" x1="421.139833" x2="424.482647" y1="313.561245" y2="312.992927"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR96_2" x1="421.139833" x2="424.482647" y1="313.561245" y2="312.992927"> + <stop offset="1" style="stop-color:#55ffa2;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <polygon id="GT96" points="421.139833 313.561245 422.174498 299.416504 426.020578 322.038962"/> </defs> - <use fill="#55ffa2" fill-opacity="1" xlink:href="#GT96"/> - <use fill="url(#GR96_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT96"/> - <use fill="url(#GR96_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT96"/> - <use fill="url(#GR96_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT96"/> + <path d="M 421.139833,313.561245 L 422.174498,299.416504 426.020578,322.038962 Z" fill="#55ffa2" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 421.139833,313.561245 L 422.174498,299.416504 426.020578,322.038962 Z" fill="url(#GR96_0)" shape-rendering="crispEdges"/> + <path d="M 421.139833,313.561245 L 422.174498,299.416504 426.020578,322.038962 Z" fill="url(#GR96_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 421.139833,313.561245 L 422.174498,299.416504 426.020578,322.038962 Z" fill="url(#GR96_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR97_0" x1="426.020578" x2="420.548979" y1="322.038962" y2="321.638723"> - <stop offset="0" style="stop-color:#5dff9a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5dff9a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR97_0" x1="426.020578" x2="420.548979" y1="322.038962" y2="321.638723"> + <stop offset="1" style="stop-color:#70ff87;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5dff9a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR97_1" x1="420.105169" x2="426.998418" y1="327.705985" y2="323.737442"> - <stop offset="0" style="stop-color:#8dff6a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8dff6a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR97_1" x1="420.105169" x2="426.998418" y1="327.705985" y2="323.737442"> + <stop offset="1" style="stop-color:#70ff87;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8dff6a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR97_2" x1="421.139833" x2="427.710547" y1="313.561245" y2="320.419954"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR97_2" x1="421.139833" x2="427.710547" y1="313.561245" y2="320.419954"> + <stop offset="1" style="stop-color:#70ff87;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <polygon id="GT97" points="421.139833 313.561245 426.020578 322.038962 420.105169 327.705985"/> </defs> - <use fill="#70ff87" fill-opacity="1" xlink:href="#GT97"/> - <use fill="url(#GR97_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT97"/> - <use fill="url(#GR97_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT97"/> - <use fill="url(#GR97_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT97"/> + <path d="M 421.139833,313.561245 L 426.020578,322.038962 420.105169,327.705985 Z" fill="#70ff87" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 421.139833,313.561245 L 426.020578,322.038962 420.105169,327.705985 Z" fill="url(#GR97_0)" shape-rendering="crispEdges"/> + <path d="M 421.139833,313.561245 L 426.020578,322.038962 420.105169,327.705985 Z" fill="url(#GR97_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 421.139833,313.561245 L 426.020578,322.038962 420.105169,327.705985 Z" fill="url(#GR97_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR98_0" x1="416.259088" x2="423.281766" y1="305.083527" y2="302.752803"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR98_0" x1="416.259088" x2="423.281766" y1="305.083527" y2="302.752803"> + <stop offset="1" style="stop-color:#6aff8d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR98_1" x1="416.259088" x2="420.836395" y1="281.592851" y2="282.521479"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR98_1" x1="416.259088" x2="420.836395" y1="281.592851" y2="282.521479"> + <stop offset="1" style="stop-color:#6aff8d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR98_2" x1="419.216793" x2="416.259088" y1="290.504677" y2="290.504677"> - <stop offset="0" style="stop-color:#58ff9f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#58ff9f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR98_2" x1="419.216793" x2="416.259088" y1="290.504677" y2="290.504677"> + <stop offset="1" style="stop-color:#6aff8d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#58ff9f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT98" points="419.216793 290.504677 416.259088 305.083527 416.259088 281.592851"/> </defs> - <use fill="#6aff8d" fill-opacity="1" xlink:href="#GT98"/> - <use fill="url(#GR98_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT98"/> - <use fill="url(#GR98_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT98"/> - <use fill="url(#GR98_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT98"/> + <path d="M 419.216793,290.504677 L 416.259088,305.083527 416.259088,281.592851 Z" fill="#6aff8d" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 419.216793,290.504677 L 416.259088,305.083527 416.259088,281.592851 Z" fill="url(#GR98_0)" shape-rendering="crispEdges"/> + <path d="M 419.216793,290.504677 L 416.259088,305.083527 416.259088,281.592851 Z" fill="url(#GR98_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 419.216793,290.504677 L 416.259088,305.083527 416.259088,281.592851 Z" fill="url(#GR98_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR99_0" x1="416.259088" x2="420.836395" y1="281.592851" y2="282.521479"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR99_0" x1="416.259088" x2="420.836395" y1="281.592851" y2="282.521479"> + <stop offset="1" style="stop-color:#58ff9f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR99_1" x1="422.174498" x2="415.151819" y1="275.925827" y2="278.256552"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR99_1" x1="422.174498" x2="415.151819" y1="275.925827" y2="278.256552"> + <stop offset="1" style="stop-color:#58ff9f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR99_2" x1="419.216793" x2="413.349523" y1="290.504677" y2="284.380245"> - <stop offset="0" style="stop-color:#58ff9f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#58ff9f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR99_2" x1="419.216793" x2="413.349523" y1="290.504677" y2="284.380245"> + <stop offset="1" style="stop-color:#58ff9f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#58ff9f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT99" points="419.216793 290.504677 416.259088 281.592851 422.174498 275.925827"/> </defs> - <use fill="#58ff9f" fill-opacity="1" xlink:href="#GT99"/> - <use fill="url(#GR99_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT99"/> - <use fill="url(#GR99_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT99"/> - <use fill="url(#GR99_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT99"/> + <path d="M 419.216793,290.504677 L 416.259088,281.592851 422.174498,275.925827 Z" fill="#58ff9f" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 419.216793,290.504677 L 416.259088,281.592851 422.174498,275.925827 Z" fill="url(#GR99_0)" shape-rendering="crispEdges"/> + <path d="M 419.216793,290.504677 L 416.259088,281.592851 422.174498,275.925827 Z" fill="url(#GR99_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 419.216793,290.504677 L 416.259088,281.592851 422.174498,275.925827 Z" fill="url(#GR99_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR9a_0" x1="422.174498" x2="415.151819" y1="275.925827" y2="278.256552"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR9a_0" x1="422.174498" x2="415.151819" y1="275.925827" y2="278.256552"> + <stop offset="1" style="stop-color:#46ffb1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR9a_1" x1="422.174498" x2="417.59719" y1="299.416504" y2="298.487876"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR9a_1" x1="422.174498" x2="417.59719" y1="299.416504" y2="298.487876"> + <stop offset="1" style="stop-color:#46ffb1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR9a_2" x1="419.216793" x2="422.174498" y1="290.504677" y2="290.504677"> - <stop offset="0" style="stop-color:#58ff9f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#58ff9f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR9a_2" x1="419.216793" x2="422.174498" y1="290.504677" y2="290.504677"> + <stop offset="1" style="stop-color:#46ffb1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#58ff9f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT9a" points="419.216793 290.504677 422.174498 275.925827 422.174498 299.416504"/> </defs> - <use fill="#46ffb1" fill-opacity="1" xlink:href="#GT9a"/> - <use fill="url(#GR9a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT9a"/> - <use fill="url(#GR9a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT9a"/> - <use fill="url(#GR9a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT9a"/> + <path d="M 419.216793,290.504677 L 422.174498,275.925827 422.174498,299.416504 Z" fill="#46ffb1" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 419.216793,290.504677 L 422.174498,275.925827 422.174498,299.416504 Z" fill="url(#GR9a_0)" shape-rendering="crispEdges"/> + <path d="M 419.216793,290.504677 L 422.174498,275.925827 422.174498,299.416504 Z" fill="url(#GR9a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 419.216793,290.504677 L 422.174498,275.925827 422.174498,299.416504 Z" fill="url(#GR9a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR9b_0" x1="422.174498" x2="417.59719" y1="299.416504" y2="298.487876"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR9b_0" x1="422.174498" x2="417.59719" y1="299.416504" y2="298.487876"> + <stop offset="1" style="stop-color:#58ff9f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR9b_1" x1="416.259088" x2="423.281766" y1="305.083527" y2="302.752803"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR9b_1" x1="416.259088" x2="423.281766" y1="305.083527" y2="302.752803"> + <stop offset="1" style="stop-color:#58ff9f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR9b_2" x1="419.216793" x2="425.084063" y1="290.504677" y2="296.62911"> - <stop offset="0" style="stop-color:#58ff9f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#58ff9f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR9b_2" x1="419.216793" x2="425.084063" y1="290.504677" y2="296.62911"> + <stop offset="1" style="stop-color:#58ff9f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#58ff9f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT9b" points="419.216793 290.504677 422.174498 299.416504 416.259088 305.083527"/> </defs> - <use fill="#58ff9f" fill-opacity="1" xlink:href="#GT9b"/> - <use fill="url(#GR9b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT9b"/> - <use fill="url(#GR9b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT9b"/> - <use fill="url(#GR9b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT9b"/> + <path d="M 419.216793,290.504677 L 422.174498,299.416504 416.259088,305.083527 Z" fill="#58ff9f" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 419.216793,290.504677 L 422.174498,299.416504 416.259088,305.083527 Z" fill="url(#GR9b_0)" shape-rendering="crispEdges"/> + <path d="M 419.216793,290.504677 L 422.174498,299.416504 416.259088,305.083527 Z" fill="url(#GR9b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 419.216793,290.504677 L 422.174498,299.416504 416.259088,305.083527 Z" fill="url(#GR9b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR9c_0" x1="416.259088" x2="422.769163" y1="281.592851" y2="280.798328"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR9c_0" x1="416.259088" x2="422.769163" y1="281.592851" y2="280.798328"> + <stop offset="1" style="stop-color:#78ff7f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR9c_1" x1="420.105169" x2="423.643805" y1="258.970393" y2="260.191425"> - <stop offset="0" style="stop-color:#8dff6a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8dff6a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR9c_1" x1="420.105169" x2="423.643805" y1="258.970393" y2="260.191425"> + <stop offset="1" style="stop-color:#78ff7f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8dff6a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR9c_2" x1="421.139833" x2="418.733413" y1="267.44811" y2="267.038991"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR9c_2" x1="421.139833" x2="418.733413" y1="267.44811" y2="267.038991"> + <stop offset="1" style="stop-color:#78ff7f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <polygon id="GT9c" points="421.139833 267.44811 416.259088 281.592851 420.105169 258.970393"/> </defs> - <use fill="#78ff7f" fill-opacity="1" xlink:href="#GT9c"/> - <use fill="url(#GR9c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT9c"/> - <use fill="url(#GR9c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT9c"/> - <use fill="url(#GR9c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT9c"/> + <path d="M 421.139833,267.44811 L 416.259088,281.592851 420.105169,258.970393 Z" fill="#78ff7f" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 421.139833,267.44811 L 416.259088,281.592851 420.105169,258.970393 Z" fill="url(#GR9c_0)" shape-rendering="crispEdges"/> + <path d="M 421.139833,267.44811 L 416.259088,281.592851 420.105169,258.970393 Z" fill="url(#GR9c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 421.139833,267.44811 L 416.259088,281.592851 420.105169,258.970393 Z" fill="url(#GR9c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR9d_0" x1="420.105169" x2="423.643805" y1="258.970393" y2="260.191425"> - <stop offset="0" style="stop-color:#8dff6a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8dff6a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR9d_0" x1="420.105169" x2="423.643805" y1="258.970393" y2="260.191425"> + <stop offset="1" style="stop-color:#70ff87;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8dff6a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR9d_1" x1="426.020578" x2="419.510503" y1="253.30337" y2="254.097893"> - <stop offset="0" style="stop-color:#5dff9a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5dff9a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR9d_1" x1="426.020578" x2="419.510503" y1="253.30337" y2="254.097893"> + <stop offset="1" style="stop-color:#70ff87;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5dff9a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR9d_2" x1="421.139833" x2="416.409718" y1="267.44811" y2="262.510674"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR9d_2" x1="421.139833" x2="416.409718" y1="267.44811" y2="262.510674"> + <stop offset="1" style="stop-color:#70ff87;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <polygon id="GT9d" points="421.139833 267.44811 420.105169 258.970393 426.020578 253.30337"/> </defs> - <use fill="#70ff87" fill-opacity="1" xlink:href="#GT9d"/> - <use fill="url(#GR9d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT9d"/> - <use fill="url(#GR9d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT9d"/> - <use fill="url(#GR9d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT9d"/> + <path d="M 421.139833,267.44811 L 420.105169,258.970393 426.020578,253.30337 Z" fill="#70ff87" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 421.139833,267.44811 L 420.105169,258.970393 426.020578,253.30337 Z" fill="url(#GR9d_0)" shape-rendering="crispEdges"/> + <path d="M 421.139833,267.44811 L 420.105169,258.970393 426.020578,253.30337 Z" fill="url(#GR9d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 421.139833,267.44811 L 420.105169,258.970393 426.020578,253.30337 Z" fill="url(#GR9d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR9e_0" x1="426.020578" x2="419.510503" y1="253.30337" y2="254.097893"> - <stop offset="0" style="stop-color:#5dff9a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5dff9a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR9e_0" x1="426.020578" x2="419.510503" y1="253.30337" y2="254.097893"> + <stop offset="1" style="stop-color:#55ffa2;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5dff9a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR9e_1" x1="422.174498" x2="418.635861" y1="275.925827" y2="274.704795"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR9e_1" x1="422.174498" x2="418.635861" y1="275.925827" y2="274.704795"> + <stop offset="1" style="stop-color:#55ffa2;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR9e_2" x1="421.139833" x2="423.546253" y1="267.44811" y2="267.85723"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR9e_2" x1="421.139833" x2="423.546253" y1="267.44811" y2="267.85723"> + <stop offset="1" style="stop-color:#55ffa2;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <polygon id="GT9e" points="421.139833 267.44811 426.020578 253.30337 422.174498 275.925827"/> </defs> - <use fill="#55ffa2" fill-opacity="1" xlink:href="#GT9e"/> - <use fill="url(#GR9e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT9e"/> - <use fill="url(#GR9e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT9e"/> - <use fill="url(#GR9e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT9e"/> + <path d="M 421.139833,267.44811 L 426.020578,253.30337 422.174498,275.925827 Z" fill="#55ffa2" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 421.139833,267.44811 L 426.020578,253.30337 422.174498,275.925827 Z" fill="url(#GR9e_0)" shape-rendering="crispEdges"/> + <path d="M 421.139833,267.44811 L 426.020578,253.30337 422.174498,275.925827 Z" fill="url(#GR9e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 421.139833,267.44811 L 426.020578,253.30337 422.174498,275.925827 Z" fill="url(#GR9e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR9f_0" x1="422.174498" x2="418.635861" y1="275.925827" y2="274.704795"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR9f_0" x1="422.174498" x2="418.635861" y1="275.925827" y2="274.704795"> + <stop offset="1" style="stop-color:#5dff9a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR9f_1" x1="416.259088" x2="422.769163" y1="281.592851" y2="280.798328"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR9f_1" x1="416.259088" x2="422.769163" y1="281.592851" y2="280.798328"> + <stop offset="1" style="stop-color:#5dff9a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR9f_2" x1="421.139833" x2="425.869949" y1="267.44811" y2="272.385547"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR9f_2" x1="421.139833" x2="425.869949" y1="267.44811" y2="272.385547"> + <stop offset="1" style="stop-color:#5dff9a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <polygon id="GT9f" points="421.139833 267.44811 422.174498 275.925827 416.259088 281.592851"/> </defs> - <use fill="#5dff9a" fill-opacity="1" xlink:href="#GT9f"/> - <use fill="url(#GR9f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT9f"/> - <use fill="url(#GR9f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT9f"/> - <use fill="url(#GR9f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT9f"/> + <path d="M 421.139833,267.44811 L 422.174498,275.925827 416.259088,281.592851 Z" fill="#5dff9a" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 421.139833,267.44811 L 422.174498,275.925827 416.259088,281.592851 Z" fill="url(#GR9f_0)" shape-rendering="crispEdges"/> + <path d="M 421.139833,267.44811 L 422.174498,275.925827 416.259088,281.592851 Z" fill="url(#GR9f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 421.139833,267.44811 L 422.174498,275.925827 416.259088,281.592851 Z" fill="url(#GR9f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRa0_0" x1="420.105169" x2="425.37733" y1="258.970393" y2="259.516245"> - <stop offset="0" style="stop-color:#8dff6a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8dff6a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRa0_0" x1="420.105169" x2="425.37733" y1="258.970393" y2="259.516245"> + <stop offset="1" style="stop-color:#9fff58;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8dff6a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRa0_1" x1="427.513027" x2="429.86615" y1="238.888412" y2="240.105985"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRa0_1" x1="427.513027" x2="429.86615" y1="238.888412" y2="240.105985"> + <stop offset="1" style="stop-color:#9fff58;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRa0_2" x1="426.766802" x2="425.083393" y1="246.095891" y2="245.474913"> - <stop offset="0" style="stop-color:#90ff67;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#90ff67;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRa0_2" x1="426.766802" x2="425.083393" y1="246.095891" y2="245.474913"> + <stop offset="1" style="stop-color:#9fff58;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#90ff67;stop-opacity:0;"/> </linearGradient> - <polygon id="GTa0" points="426.766802 246.095891 420.105169 258.970393 427.513027 238.888412"/> </defs> - <use fill="#9fff58" fill-opacity="1" xlink:href="#GTa0"/> - <use fill="url(#GRa0_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTa0"/> - <use fill="url(#GRa0_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTa0"/> - <use fill="url(#GRa0_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTa0"/> + <path d="M 426.766802,246.095891 L 420.105169,258.970393 427.513027,238.888412 Z" fill="#9fff58" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 426.766802,246.095891 L 420.105169,258.970393 427.513027,238.888412 Z" fill="url(#GRa0_0)" shape-rendering="crispEdges"/> + <path d="M 426.766802,246.095891 L 420.105169,258.970393 427.513027,238.888412 Z" fill="url(#GRa0_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 426.766802,246.095891 L 420.105169,258.970393 427.513027,238.888412 Z" fill="url(#GRa0_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRa1_0" x1="427.513027" x2="429.86615" y1="238.888412" y2="240.105985"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRa1_0" x1="427.513027" x2="429.86615" y1="238.888412" y2="240.105985"> + <stop offset="1" style="stop-color:#a1ff55;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRa1_1" x1="433.428436" x2="428.156275" y1="233.221389" y2="232.675537"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRa1_1" x1="433.428436" x2="428.156275" y1="233.221389" y2="232.675537"> + <stop offset="1" style="stop-color:#a1ff55;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRa1_2" x1="426.766802" x2="423.523493" y1="246.095891" y2="242.710427"> - <stop offset="0" style="stop-color:#90ff67;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#90ff67;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRa1_2" x1="426.766802" x2="423.523493" y1="246.095891" y2="242.710427"> + <stop offset="1" style="stop-color:#a1ff55;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#90ff67;stop-opacity:0;"/> </linearGradient> - <polygon id="GTa1" points="426.766802 246.095891 427.513027 238.888412 433.428436 233.221389"/> </defs> - <use fill="#a1ff55" fill-opacity="1" xlink:href="#GTa1"/> - <use fill="url(#GRa1_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTa1"/> - <use fill="url(#GRa1_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTa1"/> - <use fill="url(#GRa1_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTa1"/> + <path d="M 426.766802,246.095891 L 427.513027,238.888412 433.428436,233.221389 Z" fill="#a1ff55" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 426.766802,246.095891 L 427.513027,238.888412 433.428436,233.221389 Z" fill="url(#GRa1_0)" shape-rendering="crispEdges"/> + <path d="M 426.766802,246.095891 L 427.513027,238.888412 433.428436,233.221389 Z" fill="url(#GRa1_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 426.766802,246.095891 L 427.513027,238.888412 433.428436,233.221389 Z" fill="url(#GRa1_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRa2_0" x1="433.428436" x2="428.156275" y1="233.221389" y2="232.675537"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRa2_0" x1="433.428436" x2="428.156275" y1="233.221389" y2="232.675537"> + <stop offset="1" style="stop-color:#80ff77;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRa2_1" x1="426.020578" x2="423.667455" y1="253.30337" y2="252.085797"> - <stop offset="0" style="stop-color:#5dff9a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5dff9a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRa2_1" x1="426.020578" x2="423.667455" y1="253.30337" y2="252.085797"> + <stop offset="1" style="stop-color:#80ff77;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5dff9a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRa2_2" x1="426.766802" x2="428.450212" y1="246.095891" y2="246.716869"> - <stop offset="0" style="stop-color:#90ff67;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#90ff67;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRa2_2" x1="426.766802" x2="428.450212" y1="246.095891" y2="246.716869"> + <stop offset="1" style="stop-color:#80ff77;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#90ff67;stop-opacity:0;"/> </linearGradient> - <polygon id="GTa2" points="426.766802 246.095891 433.428436 233.221389 426.020578 253.30337"/> </defs> - <use fill="#80ff77" fill-opacity="1" xlink:href="#GTa2"/> - <use fill="url(#GRa2_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTa2"/> - <use fill="url(#GRa2_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTa2"/> - <use fill="url(#GRa2_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTa2"/> + <path d="M 426.766802,246.095891 L 433.428436,233.221389 426.020578,253.30337 Z" fill="#80ff77" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 426.766802,246.095891 L 433.428436,233.221389 426.020578,253.30337 Z" fill="url(#GRa2_0)" shape-rendering="crispEdges"/> + <path d="M 426.766802,246.095891 L 433.428436,233.221389 426.020578,253.30337 Z" fill="url(#GRa2_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 426.766802,246.095891 L 433.428436,233.221389 426.020578,253.30337 Z" fill="url(#GRa2_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRa3_0" x1="426.020578" x2="423.667455" y1="253.30337" y2="252.085797"> - <stop offset="0" style="stop-color:#5dff9a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5dff9a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRa3_0" x1="426.020578" x2="423.667455" y1="253.30337" y2="252.085797"> + <stop offset="1" style="stop-color:#7eff79;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5dff9a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRa3_1" x1="420.105169" x2="425.37733" y1="258.970393" y2="259.516245"> - <stop offset="0" style="stop-color:#8dff6a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8dff6a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRa3_1" x1="420.105169" x2="425.37733" y1="258.970393" y2="259.516245"> + <stop offset="1" style="stop-color:#7eff79;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8dff6a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRa3_2" x1="426.766802" x2="430.010112" y1="246.095891" y2="249.481355"> - <stop offset="0" style="stop-color:#90ff67;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#90ff67;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRa3_2" x1="426.766802" x2="430.010112" y1="246.095891" y2="249.481355"> + <stop offset="1" style="stop-color:#7eff79;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#90ff67;stop-opacity:0;"/> </linearGradient> - <polygon id="GTa3" points="426.766802 246.095891 426.020578 253.30337 420.105169 258.970393"/> </defs> - <use fill="#7eff79" fill-opacity="1" xlink:href="#GTa3"/> - <use fill="url(#GRa3_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTa3"/> - <use fill="url(#GRa3_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTa3"/> - <use fill="url(#GRa3_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTa3"/> + <path d="M 426.766802,246.095891 L 426.020578,253.30337 420.105169,258.970393 Z" fill="#7eff79" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 426.766802,246.095891 L 426.020578,253.30337 420.105169,258.970393 Z" fill="url(#GRa3_0)" shape-rendering="crispEdges"/> + <path d="M 426.766802,246.095891 L 426.020578,253.30337 420.105169,258.970393 Z" fill="url(#GRa3_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 426.766802,246.095891 L 426.020578,253.30337 420.105169,258.970393 Z" fill="url(#GRa3_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRa4_0" x1="427.513027" x2="430.422926" y1="238.888412" y2="240.150571"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRa4_0" x1="427.513027" x2="430.422926" y1="238.888412" y2="240.150571"> + <stop offset="1" style="stop-color:#d9f521;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRa4_1" x1="437.935071" x2="438.991272" y1="222.831374" y2="223.625684"> - <stop offset="0" style="stop-color:#ffe600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffe600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRa4_1" x1="437.935071" x2="438.991272" y1="222.831374" y2="223.625684"> + <stop offset="1" style="stop-color:#d9f521;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffe600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRa4_2" x1="435.681753" x2="434.894737" y1="228.026381" y2="227.515557"> - <stop offset="0" style="stop-color:#cbf92d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#cbf92d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRa4_2" x1="435.681753" x2="434.894737" y1="228.026381" y2="227.515557"> + <stop offset="1" style="stop-color:#d9f521;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#cbf92d;stop-opacity:0;"/> </linearGradient> - <polygon id="GTa4" points="435.681753 228.026381 427.513027 238.888412 437.935071 222.831374"/> </defs> - <use fill="#d9f521" fill-opacity="1" xlink:href="#GTa4"/> - <use fill="url(#GRa4_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTa4"/> - <use fill="url(#GRa4_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTa4"/> - <use fill="url(#GRa4_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTa4"/> + <path d="M 435.681753,228.026381 L 427.513027,238.888412 437.935071,222.831374 Z" fill="#d9f521" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 435.681753,228.026381 L 427.513027,238.888412 437.935071,222.831374 Z" fill="url(#GRa4_0)" shape-rendering="crispEdges"/> + <path d="M 435.681753,228.026381 L 427.513027,238.888412 437.935071,222.831374 Z" fill="url(#GRa4_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 435.681753,228.026381 L 427.513027,238.888412 437.935071,222.831374 Z" fill="url(#GRa4_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRa5_0" x1="437.935071" x2="438.991272" y1="222.831374" y2="223.625684"> - <stop offset="0" style="stop-color:#ffe600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffe600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRa5_0" x1="437.935071" x2="438.991272" y1="222.831374" y2="223.625684"> + <stop offset="1" style="stop-color:#e2f519;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffe600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRa5_1" x1="443.85048" x2="440.940581" y1="217.16435" y2="215.902191"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRa5_1" x1="443.85048" x2="440.940581" y1="217.16435" y2="215.902191"> + <stop offset="1" style="stop-color:#e2f519;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRa5_2" x1="435.681753" x2="434.164996" y1="228.026381" y2="226.443144"> - <stop offset="0" style="stop-color:#cbf92d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#cbf92d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRa5_2" x1="435.681753" x2="434.164996" y1="228.026381" y2="226.443144"> + <stop offset="1" style="stop-color:#e2f519;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#cbf92d;stop-opacity:0;"/> </linearGradient> - <polygon id="GTa5" points="435.681753 228.026381 437.935071 222.831374 443.85048 217.16435"/> </defs> - <use fill="#e2f519" fill-opacity="1" xlink:href="#GTa5"/> - <use fill="url(#GRa5_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTa5"/> - <use fill="url(#GRa5_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTa5"/> - <use fill="url(#GRa5_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTa5"/> + <path d="M 435.681753,228.026381 L 437.935071,222.831374 443.85048,217.16435 Z" fill="#e2f519" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 435.681753,228.026381 L 437.935071,222.831374 443.85048,217.16435 Z" fill="url(#GRa5_0)" shape-rendering="crispEdges"/> + <path d="M 435.681753,228.026381 L 437.935071,222.831374 443.85048,217.16435 Z" fill="url(#GRa5_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 435.681753,228.026381 L 437.935071,222.831374 443.85048,217.16435 Z" fill="url(#GRa5_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRa6_0" x1="443.85048" x2="440.940581" y1="217.16435" y2="215.902191"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRa6_0" x1="443.85048" x2="440.940581" y1="217.16435" y2="215.902191"> + <stop offset="1" style="stop-color:#befd3a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRa6_1" x1="433.428436" x2="432.372235" y1="233.221389" y2="232.427079"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRa6_1" x1="433.428436" x2="432.372235" y1="233.221389" y2="232.427079"> + <stop offset="1" style="stop-color:#befd3a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRa6_2" x1="435.681753" x2="436.46877" y1="228.026381" y2="228.537205"> - <stop offset="0" style="stop-color:#cbf92d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#cbf92d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRa6_2" x1="435.681753" x2="436.46877" y1="228.026381" y2="228.537205"> + <stop offset="1" style="stop-color:#befd3a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#cbf92d;stop-opacity:0;"/> </linearGradient> - <polygon id="GTa6" points="435.681753 228.026381 443.85048 217.16435 433.428436 233.221389"/> </defs> - <use fill="#befd3a" fill-opacity="1" xlink:href="#GTa6"/> - <use fill="url(#GRa6_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTa6"/> - <use fill="url(#GRa6_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTa6"/> - <use fill="url(#GRa6_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTa6"/> + <path d="M 435.681753,228.026381 L 443.85048,217.16435 433.428436,233.221389 Z" fill="#befd3a" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 435.681753,228.026381 L 443.85048,217.16435 433.428436,233.221389 Z" fill="url(#GRa6_0)" shape-rendering="crispEdges"/> + <path d="M 435.681753,228.026381 L 443.85048,217.16435 433.428436,233.221389 Z" fill="url(#GRa6_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 435.681753,228.026381 L 443.85048,217.16435 433.428436,233.221389 Z" fill="url(#GRa6_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRa7_0" x1="433.428436" x2="432.372235" y1="233.221389" y2="232.427079"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRa7_0" x1="433.428436" x2="432.372235" y1="233.221389" y2="232.427079"> + <stop offset="1" style="stop-color:#b5fd42;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRa7_1" x1="427.513027" x2="430.422926" y1="238.888412" y2="240.150571"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRa7_1" x1="427.513027" x2="430.422926" y1="238.888412" y2="240.150571"> + <stop offset="1" style="stop-color:#b5fd42;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRa7_2" x1="435.681753" x2="437.198511" y1="228.026381" y2="229.609618"> - <stop offset="0" style="stop-color:#cbf92d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#cbf92d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRa7_2" x1="435.681753" x2="437.198511" y1="228.026381" y2="229.609618"> + <stop offset="1" style="stop-color:#b5fd42;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#cbf92d;stop-opacity:0;"/> </linearGradient> - <polygon id="GTa7" points="435.681753 228.026381 433.428436 233.221389 427.513027 238.888412"/> </defs> - <use fill="#b5fd42" fill-opacity="1" xlink:href="#GTa7"/> - <use fill="url(#GRa7_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTa7"/> - <use fill="url(#GRa7_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTa7"/> - <use fill="url(#GRa7_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTa7"/> + <path d="M 435.681753,228.026381 L 433.428436,233.221389 427.513027,238.888412 Z" fill="#b5fd42" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 435.681753,228.026381 L 433.428436,233.221389 427.513027,238.888412 Z" fill="url(#GRa7_0)" shape-rendering="crispEdges"/> + <path d="M 435.681753,228.026381 L 433.428436,233.221389 427.513027,238.888412 Z" fill="url(#GRa7_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 435.681753,228.026381 L 433.428436,233.221389 427.513027,238.888412 Z" fill="url(#GRa7_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRa8_0" x1="437.935071" x2="437.389651" y1="222.831374" y2="222.120342"> - <stop offset="0" style="stop-color:#ffe600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffe600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRa8_0" x1="437.935071" x2="437.389651" y1="222.831374" y2="222.120342"> + <stop offset="1" style="stop-color:#fcbd02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffe600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRa8_1" x1="450.600901" x2="450.397169" y1="211.986218" y2="211.756957"> - <stop offset="0" style="stop-color:#ff8900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRa8_1" x1="450.600901" x2="450.397169" y1="211.986218" y2="211.756957"> + <stop offset="1" style="stop-color:#fcbd02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRa8_2" x1="447.225691" x2="447.374381" y1="214.575284" y2="214.748936"> - <stop offset="0" style="stop-color:#f6c807;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f6c807;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRa8_2" x1="447.225691" x2="447.374381" y1="214.575284" y2="214.748936"> + <stop offset="1" style="stop-color:#fcbd02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f6c807;stop-opacity:0;"/> </linearGradient> - <polygon id="GTa8" points="447.225691 214.575284 437.935071 222.831374 450.600901 211.986218"/> </defs> - <use fill="#fcbd02" fill-opacity="1" xlink:href="#GTa8"/> - <use fill="url(#GRa8_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTa8"/> - <use fill="url(#GRa8_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTa8"/> - <use fill="url(#GRa8_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTa8"/> + <path d="M 447.225691,214.575284 L 437.935071,222.831374 450.600901,211.986218 Z" fill="#fcbd02" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.225691,214.575284 L 437.935071,222.831374 450.600901,211.986218 Z" fill="url(#GRa8_0)" shape-rendering="crispEdges"/> + <path d="M 447.225691,214.575284 L 437.935071,222.831374 450.600901,211.986218 Z" fill="url(#GRa8_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.225691,214.575284 L 437.935071,222.831374 450.600901,211.986218 Z" fill="url(#GRa8_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRa9_0" x1="450.600901" x2="450.397169" y1="211.986218" y2="211.756957"> - <stop offset="0" style="stop-color:#ff8900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRa9_0" x1="450.600901" x2="450.397169" y1="211.986218" y2="211.756957"> + <stop offset="1" style="stop-color:#fcac02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRa9_1" x1="456.516311" x2="457.061731" y1="206.319194" y2="207.030226"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRa9_1" x1="456.516311" x2="457.061731" y1="206.319194" y2="207.030226"> + <stop offset="1" style="stop-color:#fcac02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRa9_2" x1="447.225691" x2="447.547605" y1="214.575284" y2="214.911308"> - <stop offset="0" style="stop-color:#f6c807;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f6c807;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRa9_2" x1="447.225691" x2="447.547605" y1="214.575284" y2="214.911308"> + <stop offset="1" style="stop-color:#fcac02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f6c807;stop-opacity:0;"/> </linearGradient> - <polygon id="GTa9" points="447.225691 214.575284 450.600901 211.986218 456.516311 206.319194"/> </defs> - <use fill="#fcac02" fill-opacity="1" xlink:href="#GTa9"/> - <use fill="url(#GRa9_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTa9"/> - <use fill="url(#GRa9_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTa9"/> - <use fill="url(#GRa9_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTa9"/> + <path d="M 447.225691,214.575284 L 450.600901,211.986218 456.516311,206.319194 Z" fill="#fcac02" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.225691,214.575284 L 450.600901,211.986218 456.516311,206.319194 Z" fill="url(#GRa9_0)" shape-rendering="crispEdges"/> + <path d="M 447.225691,214.575284 L 450.600901,211.986218 456.516311,206.319194 Z" fill="url(#GRa9_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.225691,214.575284 L 450.600901,211.986218 456.516311,206.319194 Z" fill="url(#GRa9_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRaa_0" x1="456.516311" x2="457.061731" y1="206.319194" y2="207.030226"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRaa_0" x1="456.516311" x2="457.061731" y1="206.319194" y2="207.030226"> + <stop offset="1" style="stop-color:#f0d30c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRaa_1" x1="443.85048" x2="444.054213" y1="217.16435" y2="217.393611"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRaa_1" x1="443.85048" x2="444.054213" y1="217.16435" y2="217.393611"> + <stop offset="1" style="stop-color:#f0d30c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRaa_2" x1="447.225691" x2="447.077001" y1="214.575284" y2="214.401632"> - <stop offset="0" style="stop-color:#f6c807;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f6c807;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRaa_2" x1="447.225691" x2="447.077001" y1="214.575284" y2="214.401632"> + <stop offset="1" style="stop-color:#f0d30c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f6c807;stop-opacity:0;"/> </linearGradient> - <polygon id="GTaa" points="447.225691 214.575284 456.516311 206.319194 443.85048 217.16435"/> </defs> - <use fill="#f0d30c" fill-opacity="1" xlink:href="#GTaa"/> - <use fill="url(#GRaa_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTaa"/> - <use fill="url(#GRaa_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTaa"/> - <use fill="url(#GRaa_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTaa"/> + <path d="M 447.225691,214.575284 L 456.516311,206.319194 443.85048,217.16435 Z" fill="#f0d30c" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.225691,214.575284 L 456.516311,206.319194 443.85048,217.16435 Z" fill="url(#GRaa_0)" shape-rendering="crispEdges"/> + <path d="M 447.225691,214.575284 L 456.516311,206.319194 443.85048,217.16435 Z" fill="url(#GRaa_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.225691,214.575284 L 456.516311,206.319194 443.85048,217.16435 Z" fill="url(#GRaa_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRab_0" x1="443.85048" x2="444.054213" y1="217.16435" y2="217.393611"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRab_0" x1="443.85048" x2="444.054213" y1="217.16435" y2="217.393611"> + <stop offset="1" style="stop-color:#f0e40c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRab_1" x1="437.935071" x2="437.389651" y1="222.831374" y2="222.120342"> - <stop offset="0" style="stop-color:#ffe600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffe600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRab_1" x1="437.935071" x2="437.389651" y1="222.831374" y2="222.120342"> + <stop offset="1" style="stop-color:#f0e40c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffe600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRab_2" x1="447.225691" x2="446.903777" y1="214.575284" y2="214.23926"> - <stop offset="0" style="stop-color:#f6c807;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f6c807;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRab_2" x1="447.225691" x2="446.903777" y1="214.575284" y2="214.23926"> + <stop offset="1" style="stop-color:#f0e40c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f6c807;stop-opacity:0;"/> </linearGradient> - <polygon id="GTab" points="447.225691 214.575284 443.85048 217.16435 437.935071 222.831374"/> </defs> - <use fill="#f0e40c" fill-opacity="1" xlink:href="#GTab"/> - <use fill="url(#GRab_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTab"/> - <use fill="url(#GRab_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTab"/> - <use fill="url(#GRab_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTab"/> + <path d="M 447.225691,214.575284 L 443.85048,217.16435 437.935071,222.831374 Z" fill="#f0e40c" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.225691,214.575284 L 443.85048,217.16435 437.935071,222.831374 Z" fill="url(#GRab_0)" shape-rendering="crispEdges"/> + <path d="M 447.225691,214.575284 L 443.85048,217.16435 437.935071,222.831374 Z" fill="url(#GRab_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.225691,214.575284 L 443.85048,217.16435 437.935071,222.831374 Z" fill="url(#GRab_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRac_0" x1="450.600901" x2="451.245105" y1="211.986218" y2="205.772689"> - <stop offset="0" style="stop-color:#ff8900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRac_0" x1="450.600901" x2="451.245105" y1="211.986218" y2="205.772689"> + <stop offset="1" style="stop-color:#ff5d00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRac_1" x1="464.574256" x2="463.523811" y1="207.154622" y2="205.164642"> - <stop offset="0" style="stop-color:#ff2500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff2500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRac_1" x1="464.574256" x2="463.523811" y1="207.154622" y2="205.164642"> + <stop offset="1" style="stop-color:#ff5d00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff2500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRac_2" x1="460.545283" x2="461.104549" y1="206.736908" y2="208.35435"> - <stop offset="0" style="stop-color:#ff6a00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6a00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRac_2" x1="460.545283" x2="461.104549" y1="206.736908" y2="208.35435"> + <stop offset="1" style="stop-color:#ff5d00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6a00;stop-opacity:0;"/> </linearGradient> - <polygon id="GTac" points="460.545283 206.736908 450.600901 211.986218 464.574256 207.154622"/> </defs> - <use fill="#ff5d00" fill-opacity="1" xlink:href="#GTac"/> - <use fill="url(#GRac_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTac"/> - <use fill="url(#GRac_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTac"/> - <use fill="url(#GRac_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTac"/> + <path d="M 460.545283,206.736908 L 450.600901,211.986218 464.574256,207.154622 Z" fill="#ff5d00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 460.545283,206.736908 L 450.600901,211.986218 464.574256,207.154622 Z" fill="url(#GRac_0)" shape-rendering="crispEdges"/> + <path d="M 460.545283,206.736908 L 450.600901,211.986218 464.574256,207.154622 Z" fill="url(#GRac_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 460.545283,206.736908 L 450.600901,211.986218 464.574256,207.154622 Z" fill="url(#GRac_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRad_0" x1="464.574256" x2="463.523811" y1="207.154622" y2="205.164642"> - <stop offset="0" style="stop-color:#ff2500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff2500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRad_0" x1="464.574256" x2="463.523811" y1="207.154622" y2="205.164642"> + <stop offset="1" style="stop-color:#ff4700;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff2500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRad_1" x1="470.489665" x2="469.845462" y1="201.487599" y2="207.701128"> - <stop offset="0" style="stop-color:#ff4700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff4700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRad_1" x1="470.489665" x2="469.845462" y1="201.487599" y2="207.701128"> + <stop offset="1" style="stop-color:#ff4700;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff4700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRad_2" x1="460.545283" x2="462.682073" y1="206.736908" y2="208.967353"> - <stop offset="0" style="stop-color:#ff6a00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6a00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRad_2" x1="460.545283" x2="462.682073" y1="206.736908" y2="208.967353"> + <stop offset="1" style="stop-color:#ff4700;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6a00;stop-opacity:0;"/> </linearGradient> - <polygon id="GTad" points="460.545283 206.736908 464.574256 207.154622 470.489665 201.487599"/> </defs> - <use fill="#ff4700" fill-opacity="1" xlink:href="#GTad"/> - <use fill="url(#GRad_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTad"/> - <use fill="url(#GRad_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTad"/> - <use fill="url(#GRad_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTad"/> + <path d="M 460.545283,206.736908 L 464.574256,207.154622 470.489665,201.487599 Z" fill="#ff4700" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 460.545283,206.736908 L 464.574256,207.154622 470.489665,201.487599 Z" fill="url(#GRad_0)" shape-rendering="crispEdges"/> + <path d="M 460.545283,206.736908 L 464.574256,207.154622 470.489665,201.487599 Z" fill="url(#GRad_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 460.545283,206.736908 L 464.574256,207.154622 470.489665,201.487599 Z" fill="url(#GRad_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRae_0" x1="470.489665" x2="469.845462" y1="201.487599" y2="207.701128"> - <stop offset="0" style="stop-color:#ff4700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff4700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRae_0" x1="470.489665" x2="469.845462" y1="201.487599" y2="207.701128"> + <stop offset="1" style="stop-color:#ff7600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff4700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRae_1" x1="456.516311" x2="457.566755" y1="206.319194" y2="208.309175"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRae_1" x1="456.516311" x2="457.566755" y1="206.319194" y2="208.309175"> + <stop offset="1" style="stop-color:#ff7600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRae_2" x1="460.545283" x2="459.986017" y1="206.736908" y2="205.119467"> - <stop offset="0" style="stop-color:#ff6a00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6a00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRae_2" x1="460.545283" x2="459.986017" y1="206.736908" y2="205.119467"> + <stop offset="1" style="stop-color:#ff7600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6a00;stop-opacity:0;"/> </linearGradient> - <polygon id="GTae" points="460.545283 206.736908 470.489665 201.487599 456.516311 206.319194"/> </defs> - <use fill="#ff7600" fill-opacity="1" xlink:href="#GTae"/> - <use fill="url(#GRae_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTae"/> - <use fill="url(#GRae_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTae"/> - <use fill="url(#GRae_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTae"/> + <path d="M 460.545283,206.736908 L 470.489665,201.487599 456.516311,206.319194 Z" fill="#ff7600" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 460.545283,206.736908 L 470.489665,201.487599 456.516311,206.319194 Z" fill="url(#GRae_0)" shape-rendering="crispEdges"/> + <path d="M 460.545283,206.736908 L 470.489665,201.487599 456.516311,206.319194 Z" fill="url(#GRae_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 460.545283,206.736908 L 470.489665,201.487599 456.516311,206.319194 Z" fill="url(#GRae_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRaf_0" x1="456.516311" x2="457.566755" y1="206.319194" y2="208.309175"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRaf_0" x1="456.516311" x2="457.566755" y1="206.319194" y2="208.309175"> + <stop offset="1" style="stop-color:#ff8c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRaf_1" x1="450.600901" x2="451.245105" y1="211.986218" y2="205.772689"> - <stop offset="0" style="stop-color:#ff8900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRaf_1" x1="450.600901" x2="451.245105" y1="211.986218" y2="205.772689"> + <stop offset="1" style="stop-color:#ff8c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRaf_2" x1="460.545283" x2="458.408494" y1="206.736908" y2="204.506463"> - <stop offset="0" style="stop-color:#ff6a00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6a00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRaf_2" x1="460.545283" x2="458.408494" y1="206.736908" y2="204.506463"> + <stop offset="1" style="stop-color:#ff8c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6a00;stop-opacity:0;"/> </linearGradient> - <polygon id="GTaf" points="460.545283 206.736908 456.516311 206.319194 450.600901 211.986218"/> </defs> - <use fill="#ff8c00" fill-opacity="1" xlink:href="#GTaf"/> - <use fill="url(#GRaf_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTaf"/> - <use fill="url(#GRaf_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTaf"/> - <use fill="url(#GRaf_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTaf"/> + <path d="M 460.545283,206.736908 L 456.516311,206.319194 450.600901,211.986218 Z" fill="#ff8c00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 460.545283,206.736908 L 456.516311,206.319194 450.600901,211.986218 Z" fill="url(#GRaf_0)" shape-rendering="crispEdges"/> + <path d="M 460.545283,206.736908 L 456.516311,206.319194 450.600901,211.986218 Z" fill="url(#GRaf_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 460.545283,206.736908 L 456.516311,206.319194 450.600901,211.986218 Z" fill="url(#GRaf_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRb0_0" x1="470.489665" x2="469.828857" y1="373.854732" y2="367.613609"> - <stop offset="0" style="stop-color:#ff4700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff4700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRb0_0" x1="470.489665" x2="469.828857" y1="373.854732" y2="367.613609"> + <stop offset="1" style="stop-color:#ff8200;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff4700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRb0_1" x1="456.516311" x2="463.328267" y1="369.023137" y2="364.048453"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRb0_1" x1="456.516311" x2="463.328267" y1="369.023137" y2="364.048453"> + <stop offset="1" style="stop-color:#ff8200;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRb0_2" x1="466.211553" x2="464.859152" y1="367.996608" y2="371.907858"> - <stop offset="0" style="stop-color:#ff8e00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8e00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRb0_2" x1="466.211553" x2="464.859152" y1="367.996608" y2="371.907858"> + <stop offset="1" style="stop-color:#ff8200;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8e00;stop-opacity:0;"/> </linearGradient> - <polygon id="GTb0" points="466.211553 367.996608 470.489665 373.854732 456.516311 369.023137"/> </defs> - <use fill="#ff8200" fill-opacity="1" xlink:href="#GTb0"/> - <use fill="url(#GRb0_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTb0"/> - <use fill="url(#GRb0_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTb0"/> - <use fill="url(#GRb0_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTb0"/> + <path d="M 466.211553,367.996608 L 470.489665,373.854732 456.516311,369.023137 Z" fill="#ff8200" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 466.211553,367.996608 L 470.489665,373.854732 456.516311,369.023137 Z" fill="url(#GRb0_0)" shape-rendering="crispEdges"/> + <path d="M 466.211553,367.996608 L 470.489665,373.854732 456.516311,369.023137 Z" fill="url(#GRb0_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 466.211553,367.996608 L 470.489665,373.854732 456.516311,369.023137 Z" fill="url(#GRb0_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRb1_0" x1="456.516311" x2="463.328267" y1="369.023137" y2="364.048453"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRb1_0" x1="456.516311" x2="463.328267" y1="369.023137" y2="364.048453"> + <stop offset="1" style="stop-color:#ffb200;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRb1_1" x1="461.933441" x2="462.594249" y1="362.138483" y2="368.379607"> - <stop offset="0" style="stop-color:#ffd700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRb1_1" x1="461.933441" x2="462.594249" y1="362.138483" y2="368.379607"> + <stop offset="1" style="stop-color:#ffb200;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRb1_2" x1="466.211553" x2="460.722441" y1="367.996608" y2="363.677548"> - <stop offset="0" style="stop-color:#ff8e00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8e00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRb1_2" x1="466.211553" x2="460.722441" y1="367.996608" y2="363.677548"> + <stop offset="1" style="stop-color:#ffb200;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8e00;stop-opacity:0;"/> </linearGradient> - <polygon id="GTb1" points="466.211553 367.996608 456.516311 369.023137 461.933441 362.138483"/> </defs> - <use fill="#ffb200" fill-opacity="1" xlink:href="#GTb1"/> - <use fill="url(#GRb1_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTb1"/> - <use fill="url(#GRb1_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTb1"/> - <use fill="url(#GRb1_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTb1"/> + <path d="M 466.211553,367.996608 L 456.516311,369.023137 461.933441,362.138483 Z" fill="#ffb200" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 466.211553,367.996608 L 456.516311,369.023137 461.933441,362.138483 Z" fill="url(#GRb1_0)" shape-rendering="crispEdges"/> + <path d="M 466.211553,367.996608 L 456.516311,369.023137 461.933441,362.138483 Z" fill="url(#GRb1_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 466.211553,367.996608 L 456.516311,369.023137 461.933441,362.138483 Z" fill="url(#GRb1_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRb2_0" x1="461.933441" x2="462.594249" y1="362.138483" y2="368.379607"> - <stop offset="0" style="stop-color:#ffd700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRb2_0" x1="461.933441" x2="462.594249" y1="362.138483" y2="368.379607"> + <stop offset="1" style="stop-color:#ff9a00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRb2_1" x1="475.906795" x2="469.094839" y1="366.970079" y2="371.944762"> - <stop offset="0" style="stop-color:#ff6800;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6800;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRb2_1" x1="475.906795" x2="469.094839" y1="366.970079" y2="371.944762"> + <stop offset="1" style="stop-color:#ff9a00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6800;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRb2_2" x1="466.211553" x2="467.563954" y1="367.996608" y2="364.085357"> - <stop offset="0" style="stop-color:#ff8e00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8e00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRb2_2" x1="466.211553" x2="467.563954" y1="367.996608" y2="364.085357"> + <stop offset="1" style="stop-color:#ff9a00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8e00;stop-opacity:0;"/> </linearGradient> - <polygon id="GTb2" points="466.211553 367.996608 461.933441 362.138483 475.906795 366.970079"/> </defs> - <use fill="#ff9a00" fill-opacity="1" xlink:href="#GTb2"/> - <use fill="url(#GRb2_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTb2"/> - <use fill="url(#GRb2_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTb2"/> - <use fill="url(#GRb2_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTb2"/> + <path d="M 466.211553,367.996608 L 461.933441,362.138483 475.906795,366.970079 Z" fill="#ff9a00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 466.211553,367.996608 L 461.933441,362.138483 475.906795,366.970079 Z" fill="url(#GRb2_0)" shape-rendering="crispEdges"/> + <path d="M 466.211553,367.996608 L 461.933441,362.138483 475.906795,366.970079 Z" fill="url(#GRb2_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 466.211553,367.996608 L 461.933441,362.138483 475.906795,366.970079 Z" fill="url(#GRb2_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRb3_0" x1="475.906795" x2="469.094839" y1="366.970079" y2="371.944762"> - <stop offset="0" style="stop-color:#ff6800;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6800;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRb3_0" x1="475.906795" x2="469.094839" y1="366.970079" y2="371.944762"> + <stop offset="1" style="stop-color:#ff6900;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6800;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRb3_1" x1="470.489665" x2="469.828857" y1="373.854732" y2="367.613609"> - <stop offset="0" style="stop-color:#ff4700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff4700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRb3_1" x1="470.489665" x2="469.828857" y1="373.854732" y2="367.613609"> + <stop offset="1" style="stop-color:#ff6900;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff4700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRb3_2" x1="466.211553" x2="471.700665" y1="367.996608" y2="372.315668"> - <stop offset="0" style="stop-color:#ff8e00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8e00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRb3_2" x1="466.211553" x2="471.700665" y1="367.996608" y2="372.315668"> + <stop offset="1" style="stop-color:#ff6900;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8e00;stop-opacity:0;"/> </linearGradient> - <polygon id="GTb3" points="466.211553 367.996608 475.906795 366.970079 470.489665 373.854732"/> </defs> - <use fill="#ff6900" fill-opacity="1" xlink:href="#GTb3"/> - <use fill="url(#GRb3_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTb3"/> - <use fill="url(#GRb3_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTb3"/> - <use fill="url(#GRb3_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTb3"/> + <path d="M 466.211553,367.996608 L 475.906795,366.970079 470.489665,373.854732 Z" fill="#ff6900" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 466.211553,367.996608 L 475.906795,366.970079 470.489665,373.854732 Z" fill="url(#GRb3_0)" shape-rendering="crispEdges"/> + <path d="M 466.211553,367.996608 L 475.906795,366.970079 470.489665,373.854732 Z" fill="url(#GRb3_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 466.211553,367.996608 L 475.906795,366.970079 470.489665,373.854732 Z" fill="url(#GRb3_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRb4_0" x1="456.516311" x2="458.203117" y1="369.023137" y2="361.321473"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRb4_0" x1="456.516311" x2="458.203117" y1="369.023137" y2="361.321473"> + <stop offset="1" style="stop-color:#eadc11;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRb4_1" x1="443.85048" x2="450.903433" y1="358.177981" y2="355.294434"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRb4_1" x1="443.85048" x2="450.903433" y1="358.177981" y2="355.294434"> + <stop offset="1" style="stop-color:#eadc11;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRb4_2" x1="452.891961" x2="450.045534" y1="360.158232" y2="363.482514"> - <stop offset="0" style="stop-color:#e4e217;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e4e217;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRb4_2" x1="452.891961" x2="450.045534" y1="360.158232" y2="363.482514"> + <stop offset="1" style="stop-color:#eadc11;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e4e217;stop-opacity:0;"/> </linearGradient> - <polygon id="GTb4" points="452.891961 360.158232 456.516311 369.023137 443.85048 358.177981"/> </defs> - <use fill="#eadc11" fill-opacity="1" xlink:href="#GTb4"/> - <use fill="url(#GRb4_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTb4"/> - <use fill="url(#GRb4_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTb4"/> - <use fill="url(#GRb4_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTb4"/> + <path d="M 452.891961,360.158232 L 456.516311,369.023137 443.85048,358.177981 Z" fill="#eadc11" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.891961,360.158232 L 456.516311,369.023137 443.85048,358.177981 Z" fill="url(#GRb4_0)" shape-rendering="crispEdges"/> + <path d="M 452.891961,360.158232 L 456.516311,369.023137 443.85048,358.177981 Z" fill="url(#GRb4_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.891961,360.158232 L 456.516311,369.023137 443.85048,358.177981 Z" fill="url(#GRb4_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRb5_0" x1="443.85048" x2="450.903433" y1="358.177981" y2="355.294434"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRb5_0" x1="443.85048" x2="450.903433" y1="358.177981" y2="355.294434"> + <stop offset="1" style="stop-color:#d2f526;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRb5_1" x1="449.26761" x2="447.580804" y1="351.293327" y2="358.994991"> - <stop offset="0" style="stop-color:#b7ff40;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b7ff40;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRb5_1" x1="449.26761" x2="447.580804" y1="351.293327" y2="358.994991"> + <stop offset="1" style="stop-color:#d2f526;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b7ff40;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRb5_2" x1="452.891961" x2="446.345424" y1="360.158232" y2="355.007147"> - <stop offset="0" style="stop-color:#e4e217;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e4e217;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRb5_2" x1="452.891961" x2="446.345424" y1="360.158232" y2="355.007147"> + <stop offset="1" style="stop-color:#d2f526;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e4e217;stop-opacity:0;"/> </linearGradient> - <polygon id="GTb5" points="452.891961 360.158232 443.85048 358.177981 449.26761 351.293327"/> </defs> - <use fill="#d2f526" fill-opacity="1" xlink:href="#GTb5"/> - <use fill="url(#GRb5_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTb5"/> - <use fill="url(#GRb5_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTb5"/> - <use fill="url(#GRb5_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTb5"/> + <path d="M 452.891961,360.158232 L 443.85048,358.177981 449.26761,351.293327 Z" fill="#d2f526" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.891961,360.158232 L 443.85048,358.177981 449.26761,351.293327 Z" fill="url(#GRb5_0)" shape-rendering="crispEdges"/> + <path d="M 452.891961,360.158232 L 443.85048,358.177981 449.26761,351.293327 Z" fill="url(#GRb5_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.891961,360.158232 L 443.85048,358.177981 449.26761,351.293327 Z" fill="url(#GRb5_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRb6_0" x1="449.26761" x2="447.580804" y1="351.293327" y2="358.994991"> - <stop offset="0" style="stop-color:#b7ff40;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b7ff40;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRb6_0" x1="449.26761" x2="447.580804" y1="351.293327" y2="358.994991"> + <stop offset="1" style="stop-color:#dee81d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b7ff40;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRb6_1" x1="461.933441" x2="454.880488" y1="362.138483" y2="365.02203"> - <stop offset="0" style="stop-color:#ffd700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRb6_1" x1="461.933441" x2="454.880488" y1="362.138483" y2="365.02203"> + <stop offset="1" style="stop-color:#dee81d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRb6_2" x1="452.891961" x2="455.738387" y1="360.158232" y2="356.83395"> - <stop offset="0" style="stop-color:#e4e217;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e4e217;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRb6_2" x1="452.891961" x2="455.738387" y1="360.158232" y2="356.83395"> + <stop offset="1" style="stop-color:#dee81d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e4e217;stop-opacity:0;"/> </linearGradient> - <polygon id="GTb6" points="452.891961 360.158232 449.26761 351.293327 461.933441 362.138483"/> </defs> - <use fill="#dee81d" fill-opacity="1" xlink:href="#GTb6"/> - <use fill="url(#GRb6_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTb6"/> - <use fill="url(#GRb6_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTb6"/> - <use fill="url(#GRb6_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTb6"/> + <path d="M 452.891961,360.158232 L 449.26761,351.293327 461.933441,362.138483 Z" fill="#dee81d" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.891961,360.158232 L 449.26761,351.293327 461.933441,362.138483 Z" fill="url(#GRb6_0)" shape-rendering="crispEdges"/> + <path d="M 452.891961,360.158232 L 449.26761,351.293327 461.933441,362.138483 Z" fill="url(#GRb6_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.891961,360.158232 L 449.26761,351.293327 461.933441,362.138483 Z" fill="url(#GRb6_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRb7_0" x1="461.933441" x2="454.880488" y1="362.138483" y2="365.02203"> - <stop offset="0" style="stop-color:#ffd700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRb7_0" x1="461.933441" x2="454.880488" y1="362.138483" y2="365.02203"> + <stop offset="1" style="stop-color:#f6ce08;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRb7_1" x1="456.516311" x2="458.203117" y1="369.023137" y2="361.321473"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRb7_1" x1="456.516311" x2="458.203117" y1="369.023137" y2="361.321473"> + <stop offset="1" style="stop-color:#f6ce08;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRb7_2" x1="452.891961" x2="459.438497" y1="360.158232" y2="365.309317"> - <stop offset="0" style="stop-color:#e4e217;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e4e217;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRb7_2" x1="452.891961" x2="459.438497" y1="360.158232" y2="365.309317"> + <stop offset="1" style="stop-color:#f6ce08;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e4e217;stop-opacity:0;"/> </linearGradient> - <polygon id="GTb7" points="452.891961 360.158232 461.933441 362.138483 456.516311 369.023137"/> </defs> - <use fill="#f6ce08" fill-opacity="1" xlink:href="#GTb7"/> - <use fill="url(#GRb7_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTb7"/> - <use fill="url(#GRb7_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTb7"/> - <use fill="url(#GRb7_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTb7"/> + <path d="M 452.891961,360.158232 L 461.933441,362.138483 456.516311,369.023137 Z" fill="#f6ce08" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.891961,360.158232 L 461.933441,362.138483 456.516311,369.023137 Z" fill="url(#GRb7_0)" shape-rendering="crispEdges"/> + <path d="M 452.891961,360.158232 L 461.933441,362.138483 456.516311,369.023137 Z" fill="url(#GRb7_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.891961,360.158232 L 461.933441,362.138483 456.516311,369.023137 Z" fill="url(#GRb7_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRb8_0" x1="443.85048" x2="448.196534" y1="358.177981" y2="350.673073"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRb8_0" x1="443.85048" x2="448.196534" y1="358.177981" y2="350.673073"> + <stop offset="1" style="stop-color:#b0ff46;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRb8_1" x1="433.428436" x2="440.03317" y1="342.120943" y2="340.680067"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRb8_1" x1="433.428436" x2="440.03317" y1="342.120943" y2="340.680067"> + <stop offset="1" style="stop-color:#b0ff46;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRb8_2" x1="441.348023" x2="437.870284" y1="346.707135" y2="348.96441"> - <stop offset="0" style="stop-color:#a3ff54;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a3ff54;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRb8_2" x1="441.348023" x2="437.870284" y1="346.707135" y2="348.96441"> + <stop offset="1" style="stop-color:#b0ff46;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a3ff54;stop-opacity:0;"/> </linearGradient> - <polygon id="GTb8" points="441.348023 346.707135 443.85048 358.177981 433.428436 342.120943"/> </defs> - <use fill="#b0ff46" fill-opacity="1" xlink:href="#GTb8"/> - <use fill="url(#GRb8_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTb8"/> - <use fill="url(#GRb8_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTb8"/> - <use fill="url(#GRb8_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTb8"/> + <path d="M 441.348023,346.707135 L 443.85048,358.177981 433.428436,342.120943 Z" fill="#b0ff46" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.348023,346.707135 L 443.85048,358.177981 433.428436,342.120943 Z" fill="url(#GRb8_0)" shape-rendering="crispEdges"/> + <path d="M 441.348023,346.707135 L 443.85048,358.177981 433.428436,342.120943 Z" fill="url(#GRb8_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.348023,346.707135 L 443.85048,358.177981 433.428436,342.120943 Z" fill="url(#GRb8_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRb9_0" x1="433.428436" x2="440.03317" y1="342.120943" y2="340.680067"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRb9_0" x1="433.428436" x2="440.03317" y1="342.120943" y2="340.680067"> + <stop offset="1" style="stop-color:#8aff6d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRb9_1" x1="438.845566" x2="434.499512" y1="335.236289" y2="342.741197"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRb9_1" x1="438.845566" x2="434.499512" y1="335.236289" y2="342.741197"> + <stop offset="1" style="stop-color:#8aff6d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRb9_2" x1="441.348023" x2="434.227984" y1="346.707135" y2="341.104794"> - <stop offset="0" style="stop-color:#a3ff54;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a3ff54;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRb9_2" x1="441.348023" x2="434.227984" y1="346.707135" y2="341.104794"> + <stop offset="1" style="stop-color:#8aff6d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a3ff54;stop-opacity:0;"/> </linearGradient> - <polygon id="GTb9" points="441.348023 346.707135 433.428436 342.120943 438.845566 335.236289"/> </defs> - <use fill="#8aff6d" fill-opacity="1" xlink:href="#GTb9"/> - <use fill="url(#GRb9_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTb9"/> - <use fill="url(#GRb9_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTb9"/> - <use fill="url(#GRb9_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTb9"/> + <path d="M 441.348023,346.707135 L 433.428436,342.120943 438.845566,335.236289 Z" fill="#8aff6d" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.348023,346.707135 L 433.428436,342.120943 438.845566,335.236289 Z" fill="url(#GRb9_0)" shape-rendering="crispEdges"/> + <path d="M 441.348023,346.707135 L 433.428436,342.120943 438.845566,335.236289 Z" fill="url(#GRb9_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.348023,346.707135 L 433.428436,342.120943 438.845566,335.236289 Z" fill="url(#GRb9_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRba_0" x1="438.845566" x2="434.499512" y1="335.236289" y2="342.741197"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRba_0" x1="438.845566" x2="434.499512" y1="335.236289" y2="342.741197"> + <stop offset="1" style="stop-color:#95ff61;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRba_1" x1="449.26761" x2="442.662876" y1="351.293327" y2="352.734203"> - <stop offset="0" style="stop-color:#b7ff40;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b7ff40;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRba_1" x1="449.26761" x2="442.662876" y1="351.293327" y2="352.734203"> + <stop offset="1" style="stop-color:#95ff61;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b7ff40;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRba_2" x1="441.348023" x2="444.825763" y1="346.707135" y2="344.44986"> - <stop offset="0" style="stop-color:#a3ff54;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a3ff54;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRba_2" x1="441.348023" x2="444.825763" y1="346.707135" y2="344.44986"> + <stop offset="1" style="stop-color:#95ff61;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a3ff54;stop-opacity:0;"/> </linearGradient> - <polygon id="GTba" points="441.348023 346.707135 438.845566 335.236289 449.26761 351.293327"/> </defs> - <use fill="#95ff61" fill-opacity="1" xlink:href="#GTba"/> - <use fill="url(#GRba_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTba"/> - <use fill="url(#GRba_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTba"/> - <use fill="url(#GRba_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTba"/> + <path d="M 441.348023,346.707135 L 438.845566,335.236289 449.26761,351.293327 Z" fill="#95ff61" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.348023,346.707135 L 438.845566,335.236289 449.26761,351.293327 Z" fill="url(#GRba_0)" shape-rendering="crispEdges"/> + <path d="M 441.348023,346.707135 L 438.845566,335.236289 449.26761,351.293327 Z" fill="url(#GRba_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.348023,346.707135 L 438.845566,335.236289 449.26761,351.293327 Z" fill="url(#GRba_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRbb_0" x1="449.26761" x2="442.662876" y1="351.293327" y2="352.734203"> - <stop offset="0" style="stop-color:#b7ff40;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b7ff40;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRbb_0" x1="449.26761" x2="442.662876" y1="351.293327" y2="352.734203"> + <stop offset="1" style="stop-color:#bcff3b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b7ff40;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRbb_1" x1="443.85048" x2="448.196534" y1="358.177981" y2="350.673073"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRbb_1" x1="443.85048" x2="448.196534" y1="358.177981" y2="350.673073"> + <stop offset="1" style="stop-color:#bcff3b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRbb_2" x1="441.348023" x2="448.468063" y1="346.707135" y2="352.309476"> - <stop offset="0" style="stop-color:#a3ff54;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a3ff54;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRbb_2" x1="441.348023" x2="448.468063" y1="346.707135" y2="352.309476"> + <stop offset="1" style="stop-color:#bcff3b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a3ff54;stop-opacity:0;"/> </linearGradient> - <polygon id="GTbb" points="441.348023 346.707135 449.26761 351.293327 443.85048 358.177981"/> </defs> - <use fill="#bcff3b" fill-opacity="1" xlink:href="#GTbb"/> - <use fill="url(#GRbb_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTbb"/> - <use fill="url(#GRbb_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTbb"/> - <use fill="url(#GRbb_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTbb"/> + <path d="M 441.348023,346.707135 L 449.26761,351.293327 443.85048,358.177981 Z" fill="#bcff3b" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.348023,346.707135 L 449.26761,351.293327 443.85048,358.177981 Z" fill="url(#GRbb_0)" shape-rendering="crispEdges"/> + <path d="M 441.348023,346.707135 L 449.26761,351.293327 443.85048,358.177981 Z" fill="url(#GRbb_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.348023,346.707135 L 449.26761,351.293327 443.85048,358.177981 Z" fill="url(#GRbb_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRbc_0" x1="433.428436" x2="439.655414" y1="342.120943" y2="336.069648"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRbc_0" x1="433.428436" x2="439.655414" y1="342.120943" y2="336.069648"> + <stop offset="1" style="stop-color:#70ff87;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRbc_1" x1="426.020578" x2="431.91383" y1="322.038962" y2="321.603911"> - <stop offset="0" style="stop-color:#5dff9a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5dff9a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRbc_1" x1="426.020578" x2="431.91383" y1="322.038962" y2="321.603911"> + <stop offset="1" style="stop-color:#70ff87;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5dff9a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRbc_2" x1="432.433072" x2="428.931208" y1="328.637625" y2="329.929396"> - <stop offset="0" style="stop-color:#60ff97;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#60ff97;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRbc_2" x1="432.433072" x2="428.931208" y1="328.637625" y2="329.929396"> + <stop offset="1" style="stop-color:#70ff87;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#60ff97;stop-opacity:0;"/> </linearGradient> - <polygon id="GTbc" points="432.433072 328.637625 433.428436 342.120943 426.020578 322.038962"/> </defs> - <use fill="#70ff87" fill-opacity="1" xlink:href="#GTbc"/> - <use fill="url(#GRbc_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTbc"/> - <use fill="url(#GRbc_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTbc"/> - <use fill="url(#GRbc_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTbc"/> + <path d="M 432.433072,328.637625 L 433.428436,342.120943 426.020578,322.038962 Z" fill="#70ff87" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 432.433072,328.637625 L 433.428436,342.120943 426.020578,322.038962 Z" fill="url(#GRbc_0)" shape-rendering="crispEdges"/> + <path d="M 432.433072,328.637625 L 433.428436,342.120943 426.020578,322.038962 Z" fill="url(#GRbc_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 432.433072,328.637625 L 433.428436,342.120943 426.020578,322.038962 Z" fill="url(#GRbc_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRbd_0" x1="426.020578" x2="431.91383" y1="322.038962" y2="321.603911"> - <stop offset="0" style="stop-color:#5dff9a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5dff9a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRbd_0" x1="426.020578" x2="431.91383" y1="322.038962" y2="321.603911"> + <stop offset="1" style="stop-color:#4dffaa;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5dff9a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRbd_1" x1="431.437708" x2="425.21073" y1="315.154308" y2="321.205602"> - <stop offset="0" style="stop-color:#29ffce;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#29ffce;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRbd_1" x1="431.437708" x2="425.21073" y1="315.154308" y2="321.205602"> + <stop offset="1" style="stop-color:#4dffaa;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#29ffce;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRbd_2" x1="432.433072" x2="425.265845" y1="328.637625" y2="322.998155"> - <stop offset="0" style="stop-color:#60ff97;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#60ff97;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRbd_2" x1="432.433072" x2="425.265845" y1="328.637625" y2="322.998155"> + <stop offset="1" style="stop-color:#4dffaa;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#60ff97;stop-opacity:0;"/> </linearGradient> - <polygon id="GTbd" points="432.433072 328.637625 426.020578 322.038962 431.437708 315.154308"/> </defs> - <use fill="#4dffaa" fill-opacity="1" xlink:href="#GTbd"/> - <use fill="url(#GRbd_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTbd"/> - <use fill="url(#GRbd_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTbd"/> - <use fill="url(#GRbd_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTbd"/> + <path d="M 432.433072,328.637625 L 426.020578,322.038962 431.437708,315.154308 Z" fill="#4dffaa" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 432.433072,328.637625 L 426.020578,322.038962 431.437708,315.154308 Z" fill="url(#GRbd_0)" shape-rendering="crispEdges"/> + <path d="M 432.433072,328.637625 L 426.020578,322.038962 431.437708,315.154308 Z" fill="url(#GRbd_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 432.433072,328.637625 L 426.020578,322.038962 431.437708,315.154308 Z" fill="url(#GRbd_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRbe_0" x1="431.437708" x2="425.21073" y1="315.154308" y2="321.205602"> - <stop offset="0" style="stop-color:#29ffce;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#29ffce;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRbe_0" x1="431.437708" x2="425.21073" y1="315.154308" y2="321.205602"> + <stop offset="1" style="stop-color:#50ffa7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#29ffce;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRbe_1" x1="438.845566" x2="432.952314" y1="335.236289" y2="335.67134"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRbe_1" x1="438.845566" x2="432.952314" y1="335.236289" y2="335.67134"> + <stop offset="1" style="stop-color:#50ffa7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRbe_2" x1="432.433072" x2="435.934936" y1="328.637625" y2="327.345855"> - <stop offset="0" style="stop-color:#60ff97;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#60ff97;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRbe_2" x1="432.433072" x2="435.934936" y1="328.637625" y2="327.345855"> + <stop offset="1" style="stop-color:#50ffa7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#60ff97;stop-opacity:0;"/> </linearGradient> - <polygon id="GTbe" points="432.433072 328.637625 431.437708 315.154308 438.845566 335.236289"/> </defs> - <use fill="#50ffa7" fill-opacity="1" xlink:href="#GTbe"/> - <use fill="url(#GRbe_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTbe"/> - <use fill="url(#GRbe_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTbe"/> - <use fill="url(#GRbe_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTbe"/> + <path d="M 432.433072,328.637625 L 431.437708,315.154308 438.845566,335.236289 Z" fill="#50ffa7" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 432.433072,328.637625 L 431.437708,315.154308 438.845566,335.236289 Z" fill="url(#GRbe_0)" shape-rendering="crispEdges"/> + <path d="M 432.433072,328.637625 L 431.437708,315.154308 438.845566,335.236289 Z" fill="url(#GRbe_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 432.433072,328.637625 L 431.437708,315.154308 438.845566,335.236289 Z" fill="url(#GRbe_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRbf_0" x1="438.845566" x2="432.952314" y1="335.236289" y2="335.67134"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRbf_0" x1="438.845566" x2="432.952314" y1="335.236289" y2="335.67134"> + <stop offset="1" style="stop-color:#73ff83;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRbf_1" x1="433.428436" x2="439.655414" y1="342.120943" y2="336.069648"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRbf_1" x1="433.428436" x2="439.655414" y1="342.120943" y2="336.069648"> + <stop offset="1" style="stop-color:#73ff83;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRbf_2" x1="432.433072" x2="439.600299" y1="328.637625" y2="334.277095"> - <stop offset="0" style="stop-color:#60ff97;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#60ff97;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRbf_2" x1="432.433072" x2="439.600299" y1="328.637625" y2="334.277095"> + <stop offset="1" style="stop-color:#73ff83;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#60ff97;stop-opacity:0;"/> </linearGradient> - <polygon id="GTbf" points="432.433072 328.637625 438.845566 335.236289 433.428436 342.120943"/> </defs> - <use fill="#73ff83" fill-opacity="1" xlink:href="#GTbf"/> - <use fill="url(#GRbf_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTbf"/> - <use fill="url(#GRbf_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTbf"/> - <use fill="url(#GRbf_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTbf"/> + <path d="M 432.433072,328.637625 L 438.845566,335.236289 433.428436,342.120943 Z" fill="#73ff83" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 432.433072,328.637625 L 438.845566,335.236289 433.428436,342.120943 Z" fill="url(#GRbf_0)" shape-rendering="crispEdges"/> + <path d="M 432.433072,328.637625 L 438.845566,335.236289 433.428436,342.120943 Z" fill="url(#GRbf_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 432.433072,328.637625 L 438.845566,335.236289 433.428436,342.120943 Z" fill="url(#GRbf_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRc0_0" x1="426.020578" x2="433.053474" y1="322.038962" y2="317.899426"> - <stop offset="0" style="stop-color:#5dff9a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5dff9a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRc0_0" x1="426.020578" x2="433.053474" y1="322.038962" y2="317.899426"> + <stop offset="1" style="stop-color:#44fdb3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5dff9a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRc0_1" x1="422.174498" x2="427.21079" y1="299.416504" y2="299.684652"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRc0_1" x1="422.174498" x2="427.21079" y1="299.416504" y2="299.684652"> + <stop offset="1" style="stop-color:#44fdb3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRc0_2" x1="426.806103" x2="423.604832" y1="307.285406" y2="307.829659"> - <stop offset="0" style="stop-color:#32fac5;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#32fac5;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRc0_2" x1="426.806103" x2="423.604832" y1="307.285406" y2="307.829659"> + <stop offset="1" style="stop-color:#44fdb3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#32fac5;stop-opacity:0;"/> </linearGradient> - <polygon id="GTc0" points="426.806103 307.285406 426.020578 322.038962 422.174498 299.416504"/> </defs> - <use fill="#44fdb3" fill-opacity="1" xlink:href="#GTc0"/> - <use fill="url(#GRc0_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTc0"/> - <use fill="url(#GRc0_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTc0"/> - <use fill="url(#GRc0_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTc0"/> + <path d="M 426.806103,307.285406 L 426.020578,322.038962 422.174498,299.416504 Z" fill="#44fdb3" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 426.806103,307.285406 L 426.020578,322.038962 422.174498,299.416504 Z" fill="url(#GRc0_0)" shape-rendering="crispEdges"/> + <path d="M 426.806103,307.285406 L 426.020578,322.038962 422.174498,299.416504 Z" fill="url(#GRc0_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 426.806103,307.285406 L 426.020578,322.038962 422.174498,299.416504 Z" fill="url(#GRc0_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRc1_0" x1="422.174498" x2="427.21079" y1="299.416504" y2="299.684652"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRc1_0" x1="422.174498" x2="427.21079" y1="299.416504" y2="299.684652"> + <stop offset="1" style="stop-color:#27f7d0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRc1_1" x1="427.591628" x2="420.558731" y1="292.53185" y2="296.671385"> - <stop offset="0" style="stop-color:#06ecf1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06ecf1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRc1_1" x1="427.591628" x2="420.558731" y1="292.53185" y2="296.671385"> + <stop offset="1" style="stop-color:#27f7d0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06ecf1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRc1_2" x1="426.806103" x2="420.121492" y1="307.285406" y2="302.025678"> - <stop offset="0" style="stop-color:#32fac5;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#32fac5;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRc1_2" x1="426.806103" x2="420.121492" y1="307.285406" y2="302.025678"> + <stop offset="1" style="stop-color:#27f7d0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#32fac5;stop-opacity:0;"/> </linearGradient> - <polygon id="GTc1" points="426.806103 307.285406 422.174498 299.416504 427.591628 292.53185"/> </defs> - <use fill="#27f7d0" fill-opacity="1" xlink:href="#GTc1"/> - <use fill="url(#GRc1_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTc1"/> - <use fill="url(#GRc1_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTc1"/> - <use fill="url(#GRc1_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTc1"/> + <path d="M 426.806103,307.285406 L 422.174498,299.416504 427.591628,292.53185 Z" fill="#27f7d0" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 426.806103,307.285406 L 422.174498,299.416504 427.591628,292.53185 Z" fill="url(#GRc1_0)" shape-rendering="crispEdges"/> + <path d="M 426.806103,307.285406 L 422.174498,299.416504 427.591628,292.53185 Z" fill="url(#GRc1_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 426.806103,307.285406 L 422.174498,299.416504 427.591628,292.53185 Z" fill="url(#GRc1_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRc2_0" x1="427.591628" x2="420.558731" y1="292.53185" y2="296.671385"> - <stop offset="0" style="stop-color:#06ecf1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06ecf1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRc2_0" x1="427.591628" x2="420.558731" y1="292.53185" y2="296.671385"> + <stop offset="1" style="stop-color:#20f7d7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06ecf1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRc2_1" x1="431.437708" x2="426.401415" y1="315.154308" y2="314.88616"> - <stop offset="0" style="stop-color:#29ffce;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#29ffce;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRc2_1" x1="431.437708" x2="426.401415" y1="315.154308" y2="314.88616"> + <stop offset="1" style="stop-color:#20f7d7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#29ffce;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRc2_2" x1="426.806103" x2="430.007374" y1="307.285406" y2="306.741153"> - <stop offset="0" style="stop-color:#32fac5;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#32fac5;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRc2_2" x1="426.806103" x2="430.007374" y1="307.285406" y2="306.741153"> + <stop offset="1" style="stop-color:#20f7d7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#32fac5;stop-opacity:0;"/> </linearGradient> - <polygon id="GTc2" points="426.806103 307.285406 427.591628 292.53185 431.437708 315.154308"/> </defs> - <use fill="#20f7d7" fill-opacity="1" xlink:href="#GTc2"/> - <use fill="url(#GRc2_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTc2"/> - <use fill="url(#GRc2_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTc2"/> - <use fill="url(#GRc2_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTc2"/> + <path d="M 426.806103,307.285406 L 427.591628,292.53185 431.437708,315.154308 Z" fill="#20f7d7" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 426.806103,307.285406 L 427.591628,292.53185 431.437708,315.154308 Z" fill="url(#GRc2_0)" shape-rendering="crispEdges"/> + <path d="M 426.806103,307.285406 L 427.591628,292.53185 431.437708,315.154308 Z" fill="url(#GRc2_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 426.806103,307.285406 L 427.591628,292.53185 431.437708,315.154308 Z" fill="url(#GRc2_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRc3_0" x1="431.437708" x2="426.401415" y1="315.154308" y2="314.88616"> - <stop offset="0" style="stop-color:#29ffce;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#29ffce;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRc3_0" x1="431.437708" x2="426.401415" y1="315.154308" y2="314.88616"> + <stop offset="1" style="stop-color:#3dfdb9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#29ffce;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRc3_1" x1="426.020578" x2="433.053474" y1="322.038962" y2="317.899426"> - <stop offset="0" style="stop-color:#5dff9a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5dff9a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRc3_1" x1="426.020578" x2="433.053474" y1="322.038962" y2="317.899426"> + <stop offset="1" style="stop-color:#3dfdb9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5dff9a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRc3_2" x1="426.806103" x2="433.490714" y1="307.285406" y2="312.545134"> - <stop offset="0" style="stop-color:#32fac5;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#32fac5;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRc3_2" x1="426.806103" x2="433.490714" y1="307.285406" y2="312.545134"> + <stop offset="1" style="stop-color:#3dfdb9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#32fac5;stop-opacity:0;"/> </linearGradient> - <polygon id="GTc3" points="426.806103 307.285406 431.437708 315.154308 426.020578 322.038962"/> </defs> - <use fill="#3dfdb9" fill-opacity="1" xlink:href="#GTc3"/> - <use fill="url(#GRc3_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTc3"/> - <use fill="url(#GRc3_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTc3"/> - <use fill="url(#GRc3_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTc3"/> + <path d="M 426.806103,307.285406 L 431.437708,315.154308 426.020578,322.038962 Z" fill="#3dfdb9" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 426.806103,307.285406 L 431.437708,315.154308 426.020578,322.038962 Z" fill="url(#GRc3_0)" shape-rendering="crispEdges"/> + <path d="M 426.806103,307.285406 L 431.437708,315.154308 426.020578,322.038962 Z" fill="url(#GRc3_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 426.806103,307.285406 L 431.437708,315.154308 426.020578,322.038962 Z" fill="url(#GRc3_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRc4_0" x1="422.174498" x2="429.100469" y1="299.416504" y2="297.15715"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRc4_0" x1="422.174498" x2="429.100469" y1="299.416504" y2="297.15715"> + <stop offset="1" style="stop-color:#33fcc3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRc4_1" x1="422.174498" x2="426.234685" y1="275.925827" y2="276.64992"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRc4_1" x1="422.174498" x2="426.234685" y1="275.925827" y2="276.64992"> + <stop offset="1" style="stop-color:#33fcc3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRc4_2" x1="424.883063" x2="422.174498" y1="284.228839" y2="284.228839"> - <stop offset="0" style="stop-color:#21f6d6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#21f6d6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRc4_2" x1="424.883063" x2="422.174498" y1="284.228839" y2="284.228839"> + <stop offset="1" style="stop-color:#33fcc3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#21f6d6;stop-opacity:0;"/> </linearGradient> - <polygon id="GTc4" points="424.883063 284.228839 422.174498 299.416504 422.174498 275.925827"/> </defs> - <use fill="#33fcc3" fill-opacity="1" xlink:href="#GTc4"/> - <use fill="url(#GRc4_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTc4"/> - <use fill="url(#GRc4_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTc4"/> - <use fill="url(#GRc4_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTc4"/> + <path d="M 424.883063,284.228839 L 422.174498,299.416504 422.174498,275.925827 Z" fill="#33fcc3" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 424.883063,284.228839 L 422.174498,299.416504 422.174498,275.925827 Z" fill="url(#GRc4_0)" shape-rendering="crispEdges"/> + <path d="M 424.883063,284.228839 L 422.174498,299.416504 422.174498,275.925827 Z" fill="url(#GRc4_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 424.883063,284.228839 L 422.174498,299.416504 422.174498,275.925827 Z" fill="url(#GRc4_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRc5_0" x1="422.174498" x2="426.234685" y1="275.925827" y2="276.64992"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRc5_0" x1="422.174498" x2="426.234685" y1="275.925827" y2="276.64992"> + <stop offset="1" style="stop-color:#21f6d6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRc5_1" x1="427.591628" x2="420.665656" y1="269.041173" y2="271.300528"> - <stop offset="0" style="stop-color:#06ecf1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06ecf1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRc5_1" x1="427.591628" x2="420.665656" y1="269.041173" y2="271.300528"> + <stop offset="1" style="stop-color:#21f6d6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06ecf1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRc5_2" x1="424.883063" x2="419.175196" y1="284.228839" y2="279.737653"> - <stop offset="0" style="stop-color:#21f6d6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#21f6d6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRc5_2" x1="424.883063" x2="419.175196" y1="284.228839" y2="279.737653"> + <stop offset="1" style="stop-color:#21f6d6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#21f6d6;stop-opacity:0;"/> </linearGradient> - <polygon id="GTc5" points="424.883063 284.228839 422.174498 275.925827 427.591628 269.041173"/> </defs> - <use fill="#21f6d6" fill-opacity="1" xlink:href="#GTc5"/> - <use fill="url(#GRc5_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTc5"/> - <use fill="url(#GRc5_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTc5"/> - <use fill="url(#GRc5_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTc5"/> + <path d="M 424.883063,284.228839 L 422.174498,275.925827 427.591628,269.041173 Z" fill="#21f6d6" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 424.883063,284.228839 L 422.174498,275.925827 427.591628,269.041173 Z" fill="url(#GRc5_0)" shape-rendering="crispEdges"/> + <path d="M 424.883063,284.228839 L 422.174498,275.925827 427.591628,269.041173 Z" fill="url(#GRc5_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 424.883063,284.228839 L 422.174498,275.925827 427.591628,269.041173 Z" fill="url(#GRc5_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRc6_0" x1="427.591628" x2="420.665656" y1="269.041173" y2="271.300528"> - <stop offset="0" style="stop-color:#06ecf1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06ecf1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRc6_0" x1="427.591628" x2="420.665656" y1="269.041173" y2="271.300528"> + <stop offset="1" style="stop-color:#0ff0e8;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06ecf1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRc6_1" x1="427.591628" x2="423.53144" y1="292.53185" y2="291.807757"> - <stop offset="0" style="stop-color:#06ecf1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06ecf1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRc6_1" x1="427.591628" x2="423.53144" y1="292.53185" y2="291.807757"> + <stop offset="1" style="stop-color:#0ff0e8;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06ecf1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRc6_2" x1="424.883063" x2="427.591628" y1="284.228839" y2="284.228839"> - <stop offset="0" style="stop-color:#21f6d6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#21f6d6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRc6_2" x1="424.883063" x2="427.591628" y1="284.228839" y2="284.228839"> + <stop offset="1" style="stop-color:#0ff0e8;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#21f6d6;stop-opacity:0;"/> </linearGradient> - <polygon id="GTc6" points="424.883063 284.228839 427.591628 269.041173 427.591628 292.53185"/> </defs> - <use fill="#0ff0e8" fill-opacity="1" xlink:href="#GTc6"/> - <use fill="url(#GRc6_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTc6"/> - <use fill="url(#GRc6_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTc6"/> - <use fill="url(#GRc6_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTc6"/> + <path d="M 424.883063,284.228839 L 427.591628,269.041173 427.591628,292.53185 Z" fill="#0ff0e8" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 424.883063,284.228839 L 427.591628,269.041173 427.591628,292.53185 Z" fill="url(#GRc6_0)" shape-rendering="crispEdges"/> + <path d="M 424.883063,284.228839 L 427.591628,269.041173 427.591628,292.53185 Z" fill="url(#GRc6_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 424.883063,284.228839 L 427.591628,269.041173 427.591628,292.53185 Z" fill="url(#GRc6_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRc7_0" x1="427.591628" x2="423.53144" y1="292.53185" y2="291.807757"> - <stop offset="0" style="stop-color:#06ecf1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06ecf1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRc7_0" x1="427.591628" x2="423.53144" y1="292.53185" y2="291.807757"> + <stop offset="1" style="stop-color:#21f6d6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06ecf1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRc7_1" x1="422.174498" x2="429.100469" y1="299.416504" y2="297.15715"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRc7_1" x1="422.174498" x2="429.100469" y1="299.416504" y2="297.15715"> + <stop offset="1" style="stop-color:#21f6d6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRc7_2" x1="424.883063" x2="430.590929" y1="284.228839" y2="288.720024"> - <stop offset="0" style="stop-color:#21f6d6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#21f6d6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRc7_2" x1="424.883063" x2="430.590929" y1="284.228839" y2="288.720024"> + <stop offset="1" style="stop-color:#21f6d6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#21f6d6;stop-opacity:0;"/> </linearGradient> - <polygon id="GTc7" points="424.883063 284.228839 427.591628 292.53185 422.174498 299.416504"/> </defs> - <use fill="#21f6d6" fill-opacity="1" xlink:href="#GTc7"/> - <use fill="url(#GRc7_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTc7"/> - <use fill="url(#GRc7_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTc7"/> - <use fill="url(#GRc7_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTc7"/> + <path d="M 424.883063,284.228839 L 427.591628,292.53185 422.174498,299.416504 Z" fill="#21f6d6" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 424.883063,284.228839 L 427.591628,292.53185 422.174498,299.416504 Z" fill="url(#GRc7_0)" shape-rendering="crispEdges"/> + <path d="M 424.883063,284.228839 L 427.591628,292.53185 422.174498,299.416504 Z" fill="url(#GRc7_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 424.883063,284.228839 L 427.591628,292.53185 422.174498,299.416504 Z" fill="url(#GRc7_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRc8_0" x1="422.174498" x2="428.218666" y1="275.925827" y2="275.322459"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRc8_0" x1="422.174498" x2="428.218666" y1="275.925827" y2="275.322459"> + <stop offset="1" style="stop-color:#44fdb3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRc8_1" x1="426.020578" x2="428.984314" y1="253.30337" y2="254.233779"> - <stop offset="0" style="stop-color:#5dff9a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5dff9a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRc8_1" x1="426.020578" x2="428.984314" y1="253.30337" y2="254.233779"> + <stop offset="1" style="stop-color:#44fdb3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5dff9a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRc8_2" x1="426.806103" x2="424.742422" y1="261.172272" y2="260.821422"> - <stop offset="0" style="stop-color:#32fac5;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#32fac5;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRc8_2" x1="426.806103" x2="424.742422" y1="261.172272" y2="260.821422"> + <stop offset="1" style="stop-color:#44fdb3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#32fac5;stop-opacity:0;"/> </linearGradient> - <polygon id="GTc8" points="426.806103 261.172272 422.174498 275.925827 426.020578 253.30337"/> </defs> - <use fill="#44fdb3" fill-opacity="1" xlink:href="#GTc8"/> - <use fill="url(#GRc8_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTc8"/> - <use fill="url(#GRc8_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTc8"/> - <use fill="url(#GRc8_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTc8"/> + <path d="M 426.806103,261.172272 L 422.174498,275.925827 426.020578,253.30337 Z" fill="#44fdb3" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 426.806103,261.172272 L 422.174498,275.925827 426.020578,253.30337 Z" fill="url(#GRc8_0)" shape-rendering="crispEdges"/> + <path d="M 426.806103,261.172272 L 422.174498,275.925827 426.020578,253.30337 Z" fill="url(#GRc8_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 426.806103,261.172272 L 422.174498,275.925827 426.020578,253.30337 Z" fill="url(#GRc8_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRc9_0" x1="426.020578" x2="428.984314" y1="253.30337" y2="254.233779"> - <stop offset="0" style="stop-color:#5dff9a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5dff9a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRc9_0" x1="426.020578" x2="428.984314" y1="253.30337" y2="254.233779"> + <stop offset="1" style="stop-color:#3dfdb9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5dff9a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRc9_1" x1="431.437708" x2="425.39354" y1="246.418716" y2="247.022084"> - <stop offset="0" style="stop-color:#29ffce;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#29ffce;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRc9_1" x1="431.437708" x2="425.39354" y1="246.418716" y2="247.022084"> + <stop offset="1" style="stop-color:#3dfdb9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#29ffce;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRc9_2" x1="426.806103" x2="422.496907" y1="261.172272" y2="257.781618"> - <stop offset="0" style="stop-color:#32fac5;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#32fac5;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRc9_2" x1="426.806103" x2="422.496907" y1="261.172272" y2="257.781618"> + <stop offset="1" style="stop-color:#3dfdb9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#32fac5;stop-opacity:0;"/> </linearGradient> - <polygon id="GTc9" points="426.806103 261.172272 426.020578 253.30337 431.437708 246.418716"/> </defs> - <use fill="#3dfdb9" fill-opacity="1" xlink:href="#GTc9"/> - <use fill="url(#GRc9_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTc9"/> - <use fill="url(#GRc9_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTc9"/> - <use fill="url(#GRc9_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTc9"/> + <path d="M 426.806103,261.172272 L 426.020578,253.30337 431.437708,246.418716 Z" fill="#3dfdb9" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 426.806103,261.172272 L 426.020578,253.30337 431.437708,246.418716 Z" fill="url(#GRc9_0)" shape-rendering="crispEdges"/> + <path d="M 426.806103,261.172272 L 426.020578,253.30337 431.437708,246.418716 Z" fill="url(#GRc9_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 426.806103,261.172272 L 426.020578,253.30337 431.437708,246.418716 Z" fill="url(#GRc9_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRca_0" x1="431.437708" x2="425.39354" y1="246.418716" y2="247.022084"> - <stop offset="0" style="stop-color:#29ffce;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#29ffce;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRca_0" x1="431.437708" x2="425.39354" y1="246.418716" y2="247.022084"> + <stop offset="1" style="stop-color:#20f7d7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#29ffce;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRca_1" x1="427.591628" x2="424.627892" y1="269.041173" y2="268.110764"> - <stop offset="0" style="stop-color:#06ecf1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06ecf1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRca_1" x1="427.591628" x2="424.627892" y1="269.041173" y2="268.110764"> + <stop offset="1" style="stop-color:#20f7d7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06ecf1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRca_2" x1="426.806103" x2="428.869784" y1="261.172272" y2="261.523121"> - <stop offset="0" style="stop-color:#32fac5;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#32fac5;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRca_2" x1="426.806103" x2="428.869784" y1="261.172272" y2="261.523121"> + <stop offset="1" style="stop-color:#20f7d7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#32fac5;stop-opacity:0;"/> </linearGradient> - <polygon id="GTca" points="426.806103 261.172272 431.437708 246.418716 427.591628 269.041173"/> </defs> - <use fill="#20f7d7" fill-opacity="1" xlink:href="#GTca"/> - <use fill="url(#GRca_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTca"/> - <use fill="url(#GRca_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTca"/> - <use fill="url(#GRca_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTca"/> + <path d="M 426.806103,261.172272 L 431.437708,246.418716 427.591628,269.041173 Z" fill="#20f7d7" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 426.806103,261.172272 L 431.437708,246.418716 427.591628,269.041173 Z" fill="url(#GRca_0)" shape-rendering="crispEdges"/> + <path d="M 426.806103,261.172272 L 431.437708,246.418716 427.591628,269.041173 Z" fill="url(#GRca_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 426.806103,261.172272 L 431.437708,246.418716 427.591628,269.041173 Z" fill="url(#GRca_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRcb_0" x1="427.591628" x2="424.627892" y1="269.041173" y2="268.110764"> - <stop offset="0" style="stop-color:#06ecf1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06ecf1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRcb_0" x1="427.591628" x2="424.627892" y1="269.041173" y2="268.110764"> + <stop offset="1" style="stop-color:#27f7d0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06ecf1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRcb_1" x1="422.174498" x2="428.218666" y1="275.925827" y2="275.322459"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRcb_1" x1="422.174498" x2="428.218666" y1="275.925827" y2="275.322459"> + <stop offset="1" style="stop-color:#27f7d0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRcb_2" x1="426.806103" x2="431.115299" y1="261.172272" y2="264.562925"> - <stop offset="0" style="stop-color:#32fac5;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#32fac5;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRcb_2" x1="426.806103" x2="431.115299" y1="261.172272" y2="264.562925"> + <stop offset="1" style="stop-color:#27f7d0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#32fac5;stop-opacity:0;"/> </linearGradient> - <polygon id="GTcb" points="426.806103 261.172272 427.591628 269.041173 422.174498 275.925827"/> </defs> - <use fill="#27f7d0" fill-opacity="1" xlink:href="#GTcb"/> - <use fill="url(#GRcb_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTcb"/> - <use fill="url(#GRcb_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTcb"/> - <use fill="url(#GRcb_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTcb"/> + <path d="M 426.806103,261.172272 L 427.591628,269.041173 422.174498,275.925827 Z" fill="#27f7d0" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 426.806103,261.172272 L 427.591628,269.041173 422.174498,275.925827 Z" fill="url(#GRcb_0)" shape-rendering="crispEdges"/> + <path d="M 426.806103,261.172272 L 427.591628,269.041173 422.174498,275.925827 Z" fill="url(#GRcb_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 426.806103,261.172272 L 427.591628,269.041173 422.174498,275.925827 Z" fill="url(#GRcb_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRcc_0" x1="426.020578" x2="430.301791" y1="253.30337" y2="253.949162"> - <stop offset="0" style="stop-color:#5dff9a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5dff9a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRcc_0" x1="426.020578" x2="430.301791" y1="253.30337" y2="253.949162"> + <stop offset="1" style="stop-color:#70ff87;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5dff9a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRcc_1" x1="433.428436" x2="435.176035" y1="233.221389" y2="234.052524"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRcc_1" x1="433.428436" x2="435.176035" y1="233.221389" y2="234.052524"> + <stop offset="1" style="stop-color:#70ff87;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRcc_2" x1="432.433072" x2="431.166643" y1="239.820052" y2="239.352891"> - <stop offset="0" style="stop-color:#60ff97;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#60ff97;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRcc_2" x1="432.433072" x2="431.166643" y1="239.820052" y2="239.352891"> + <stop offset="1" style="stop-color:#70ff87;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#60ff97;stop-opacity:0;"/> </linearGradient> - <polygon id="GTcc" points="432.433072 239.820052 426.020578 253.30337 433.428436 233.221389"/> </defs> - <use fill="#70ff87" fill-opacity="1" xlink:href="#GTcc"/> - <use fill="url(#GRcc_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTcc"/> - <use fill="url(#GRcc_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTcc"/> - <use fill="url(#GRcc_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTcc"/> + <path d="M 432.433072,239.820052 L 426.020578,253.30337 433.428436,233.221389 Z" fill="#70ff87" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 432.433072,239.820052 L 426.020578,253.30337 433.428436,233.221389 Z" fill="url(#GRcc_0)" shape-rendering="crispEdges"/> + <path d="M 432.433072,239.820052 L 426.020578,253.30337 433.428436,233.221389 Z" fill="url(#GRcc_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 432.433072,239.820052 L 426.020578,253.30337 433.428436,233.221389 Z" fill="url(#GRcc_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRcd_0" x1="433.428436" x2="435.176035" y1="233.221389" y2="234.052524"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRcd_0" x1="433.428436" x2="435.176035" y1="233.221389" y2="234.052524"> + <stop offset="1" style="stop-color:#73ff83;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRcd_1" x1="438.845566" x2="434.564353" y1="226.336735" y2="225.690943"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRcd_1" x1="438.845566" x2="434.564353" y1="226.336735" y2="225.690943"> + <stop offset="1" style="stop-color:#73ff83;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRcd_2" x1="432.433072" x2="429.841084" y1="239.820052" y2="237.780569"> - <stop offset="0" style="stop-color:#60ff97;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#60ff97;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRcd_2" x1="432.433072" x2="429.841084" y1="239.820052" y2="237.780569"> + <stop offset="1" style="stop-color:#73ff83;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#60ff97;stop-opacity:0;"/> </linearGradient> - <polygon id="GTcd" points="432.433072 239.820052 433.428436 233.221389 438.845566 226.336735"/> </defs> - <use fill="#73ff83" fill-opacity="1" xlink:href="#GTcd"/> - <use fill="url(#GRcd_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTcd"/> - <use fill="url(#GRcd_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTcd"/> - <use fill="url(#GRcd_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTcd"/> + <path d="M 432.433072,239.820052 L 433.428436,233.221389 438.845566,226.336735 Z" fill="#73ff83" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 432.433072,239.820052 L 433.428436,233.221389 438.845566,226.336735 Z" fill="url(#GRcd_0)" shape-rendering="crispEdges"/> + <path d="M 432.433072,239.820052 L 433.428436,233.221389 438.845566,226.336735 Z" fill="url(#GRcd_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 432.433072,239.820052 L 433.428436,233.221389 438.845566,226.336735 Z" fill="url(#GRcd_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRce_0" x1="438.845566" x2="434.564353" y1="226.336735" y2="225.690943"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRce_0" x1="438.845566" x2="434.564353" y1="226.336735" y2="225.690943"> + <stop offset="1" style="stop-color:#50ffa7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRce_1" x1="431.437708" x2="429.690109" y1="246.418716" y2="245.58758"> - <stop offset="0" style="stop-color:#29ffce;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#29ffce;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRce_1" x1="431.437708" x2="429.690109" y1="246.418716" y2="245.58758"> + <stop offset="1" style="stop-color:#50ffa7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#29ffce;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRce_2" x1="432.433072" x2="433.699502" y1="239.820052" y2="240.287214"> - <stop offset="0" style="stop-color:#60ff97;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#60ff97;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRce_2" x1="432.433072" x2="433.699502" y1="239.820052" y2="240.287214"> + <stop offset="1" style="stop-color:#50ffa7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#60ff97;stop-opacity:0;"/> </linearGradient> - <polygon id="GTce" points="432.433072 239.820052 438.845566 226.336735 431.437708 246.418716"/> </defs> - <use fill="#50ffa7" fill-opacity="1" xlink:href="#GTce"/> - <use fill="url(#GRce_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTce"/> - <use fill="url(#GRce_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTce"/> - <use fill="url(#GRce_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTce"/> + <path d="M 432.433072,239.820052 L 438.845566,226.336735 431.437708,246.418716 Z" fill="#50ffa7" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 432.433072,239.820052 L 438.845566,226.336735 431.437708,246.418716 Z" fill="url(#GRce_0)" shape-rendering="crispEdges"/> + <path d="M 432.433072,239.820052 L 438.845566,226.336735 431.437708,246.418716 Z" fill="url(#GRce_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 432.433072,239.820052 L 438.845566,226.336735 431.437708,246.418716 Z" fill="url(#GRce_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRcf_0" x1="431.437708" x2="429.690109" y1="246.418716" y2="245.58758"> - <stop offset="0" style="stop-color:#29ffce;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#29ffce;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRcf_0" x1="431.437708" x2="429.690109" y1="246.418716" y2="245.58758"> + <stop offset="1" style="stop-color:#4dffaa;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#29ffce;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRcf_1" x1="426.020578" x2="430.301791" y1="253.30337" y2="253.949162"> - <stop offset="0" style="stop-color:#5dff9a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5dff9a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRcf_1" x1="426.020578" x2="430.301791" y1="253.30337" y2="253.949162"> + <stop offset="1" style="stop-color:#4dffaa;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5dff9a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRcf_2" x1="432.433072" x2="435.02506" y1="239.820052" y2="241.859535"> - <stop offset="0" style="stop-color:#60ff97;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#60ff97;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRcf_2" x1="432.433072" x2="435.02506" y1="239.820052" y2="241.859535"> + <stop offset="1" style="stop-color:#4dffaa;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#60ff97;stop-opacity:0;"/> </linearGradient> - <polygon id="GTcf" points="432.433072 239.820052 431.437708 246.418716 426.020578 253.30337"/> </defs> - <use fill="#4dffaa" fill-opacity="1" xlink:href="#GTcf"/> - <use fill="url(#GRcf_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTcf"/> - <use fill="url(#GRcf_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTcf"/> - <use fill="url(#GRcf_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTcf"/> + <path d="M 432.433072,239.820052 L 431.437708,246.418716 426.020578,253.30337 Z" fill="#4dffaa" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 432.433072,239.820052 L 431.437708,246.418716 426.020578,253.30337 Z" fill="url(#GRcf_0)" shape-rendering="crispEdges"/> + <path d="M 432.433072,239.820052 L 431.437708,246.418716 426.020578,253.30337 Z" fill="url(#GRcf_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 432.433072,239.820052 L 431.437708,246.418716 426.020578,253.30337 Z" fill="url(#GRcf_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRd0_0" x1="433.428436" x2="434.707987" y1="233.221389" y2="233.919576"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRd0_0" x1="433.428436" x2="434.707987" y1="233.221389" y2="233.919576"> + <stop offset="1" style="stop-color:#b0ff46;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRd0_1" x1="443.85048" x2="444.300071" y1="217.16435" y2="217.474752"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRd0_1" x1="443.85048" x2="444.300071" y1="217.16435" y2="217.474752"> + <stop offset="1" style="stop-color:#b0ff46;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRd0_2" x1="441.348023" x2="441.014329" y1="221.750542" y2="221.533953"> - <stop offset="0" style="stop-color:#a3ff54;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a3ff54;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRd0_2" x1="441.348023" x2="441.014329" y1="221.750542" y2="221.533953"> + <stop offset="1" style="stop-color:#b0ff46;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a3ff54;stop-opacity:0;"/> </linearGradient> - <polygon id="GTd0" points="441.348023 221.750542 433.428436 233.221389 443.85048 217.16435"/> </defs> - <use fill="#b0ff46" fill-opacity="1" xlink:href="#GTd0"/> - <use fill="url(#GRd0_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTd0"/> - <use fill="url(#GRd0_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTd0"/> - <use fill="url(#GRd0_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTd0"/> + <path d="M 441.348023,221.750542 L 433.428436,233.221389 443.85048,217.16435 Z" fill="#b0ff46" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.348023,221.750542 L 433.428436,233.221389 443.85048,217.16435 Z" fill="url(#GRd0_0)" shape-rendering="crispEdges"/> + <path d="M 441.348023,221.750542 L 433.428436,233.221389 443.85048,217.16435 Z" fill="url(#GRd0_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.348023,221.750542 L 433.428436,233.221389 443.85048,217.16435 Z" fill="url(#GRd0_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRd1_0" x1="443.85048" x2="444.300071" y1="217.16435" y2="217.474752"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRd1_0" x1="443.85048" x2="444.300071" y1="217.16435" y2="217.474752"> + <stop offset="1" style="stop-color:#bcff3b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRd1_1" x1="449.26761" x2="447.98806" y1="210.279696" y2="209.581509"> - <stop offset="0" style="stop-color:#b7ff40;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b7ff40;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRd1_1" x1="449.26761" x2="447.98806" y1="210.279696" y2="209.581509"> + <stop offset="1" style="stop-color:#bcff3b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b7ff40;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRd1_2" x1="441.348023" x2="440.664844" y1="221.750542" y2="221.212989"> - <stop offset="0" style="stop-color:#a3ff54;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a3ff54;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRd1_2" x1="441.348023" x2="440.664844" y1="221.750542" y2="221.212989"> + <stop offset="1" style="stop-color:#bcff3b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a3ff54;stop-opacity:0;"/> </linearGradient> - <polygon id="GTd1" points="441.348023 221.750542 443.85048 217.16435 449.26761 210.279696"/> </defs> - <use fill="#bcff3b" fill-opacity="1" xlink:href="#GTd1"/> - <use fill="url(#GRd1_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTd1"/> - <use fill="url(#GRd1_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTd1"/> - <use fill="url(#GRd1_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTd1"/> + <path d="M 441.348023,221.750542 L 443.85048,217.16435 449.26761,210.279696 Z" fill="#bcff3b" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.348023,221.750542 L 443.85048,217.16435 449.26761,210.279696 Z" fill="url(#GRd1_0)" shape-rendering="crispEdges"/> + <path d="M 441.348023,221.750542 L 443.85048,217.16435 449.26761,210.279696 Z" fill="url(#GRd1_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.348023,221.750542 L 443.85048,217.16435 449.26761,210.279696 Z" fill="url(#GRd1_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRd2_0" x1="449.26761" x2="447.98806" y1="210.279696" y2="209.581509"> - <stop offset="0" style="stop-color:#b7ff40;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b7ff40;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRd2_0" x1="449.26761" x2="447.98806" y1="210.279696" y2="209.581509"> + <stop offset="1" style="stop-color:#95ff61;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b7ff40;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRd2_1" x1="438.845566" x2="438.395975" y1="226.336735" y2="226.026332"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRd2_1" x1="438.845566" x2="438.395975" y1="226.336735" y2="226.026332"> + <stop offset="1" style="stop-color:#95ff61;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRd2_2" x1="441.348023" x2="441.681718" y1="221.750542" y2="221.967131"> - <stop offset="0" style="stop-color:#a3ff54;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a3ff54;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRd2_2" x1="441.348023" x2="441.681718" y1="221.750542" y2="221.967131"> + <stop offset="1" style="stop-color:#95ff61;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a3ff54;stop-opacity:0;"/> </linearGradient> - <polygon id="GTd2" points="441.348023 221.750542 449.26761 210.279696 438.845566 226.336735"/> </defs> - <use fill="#95ff61" fill-opacity="1" xlink:href="#GTd2"/> - <use fill="url(#GRd2_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTd2"/> - <use fill="url(#GRd2_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTd2"/> - <use fill="url(#GRd2_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTd2"/> + <path d="M 441.348023,221.750542 L 449.26761,210.279696 438.845566,226.336735 Z" fill="#95ff61" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.348023,221.750542 L 449.26761,210.279696 438.845566,226.336735 Z" fill="url(#GRd2_0)" shape-rendering="crispEdges"/> + <path d="M 441.348023,221.750542 L 449.26761,210.279696 438.845566,226.336735 Z" fill="url(#GRd2_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.348023,221.750542 L 449.26761,210.279696 438.845566,226.336735 Z" fill="url(#GRd2_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRd3_0" x1="438.845566" x2="438.395975" y1="226.336735" y2="226.026332"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRd3_0" x1="438.845566" x2="438.395975" y1="226.336735" y2="226.026332"> + <stop offset="1" style="stop-color:#8aff6d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRd3_1" x1="433.428436" x2="434.707987" y1="233.221389" y2="233.919576"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRd3_1" x1="433.428436" x2="434.707987" y1="233.221389" y2="233.919576"> + <stop offset="1" style="stop-color:#8aff6d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRd3_2" x1="441.348023" x2="442.031202" y1="221.750542" y2="222.288096"> - <stop offset="0" style="stop-color:#a3ff54;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a3ff54;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRd3_2" x1="441.348023" x2="442.031202" y1="221.750542" y2="222.288096"> + <stop offset="1" style="stop-color:#8aff6d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a3ff54;stop-opacity:0;"/> </linearGradient> - <polygon id="GTd3" points="441.348023 221.750542 438.845566 226.336735 433.428436 233.221389"/> </defs> - <use fill="#8aff6d" fill-opacity="1" xlink:href="#GTd3"/> - <use fill="url(#GRd3_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTd3"/> - <use fill="url(#GRd3_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTd3"/> - <use fill="url(#GRd3_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTd3"/> + <path d="M 441.348023,221.750542 L 438.845566,226.336735 433.428436,233.221389 Z" fill="#8aff6d" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.348023,221.750542 L 438.845566,226.336735 433.428436,233.221389 Z" fill="url(#GRd3_0)" shape-rendering="crispEdges"/> + <path d="M 441.348023,221.750542 L 438.845566,226.336735 433.428436,233.221389 Z" fill="url(#GRd3_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.348023,221.750542 L 438.845566,226.336735 433.428436,233.221389 Z" fill="url(#GRd3_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRd4_0" x1="443.85048" x2="442.199029" y1="217.16435" y2="214.141785"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRd4_0" x1="443.85048" x2="442.199029" y1="217.16435" y2="214.141785"> + <stop offset="1" style="stop-color:#eadc11;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRd4_1" x1="456.516311" x2="455.729805" y1="206.319194" y2="205.517023"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRd4_1" x1="456.516311" x2="455.729805" y1="206.319194" y2="205.517023"> + <stop offset="1" style="stop-color:#eadc11;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRd4_2" x1="452.891961" x2="453.446821" y1="208.299445" y2="208.947455"> - <stop offset="0" style="stop-color:#e4e217;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e4e217;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRd4_2" x1="452.891961" x2="453.446821" y1="208.299445" y2="208.947455"> + <stop offset="1" style="stop-color:#eadc11;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e4e217;stop-opacity:0;"/> </linearGradient> - <polygon id="GTd4" points="452.891961 208.299445 443.85048 217.16435 456.516311 206.319194"/> </defs> - <use fill="#eadc11" fill-opacity="1" xlink:href="#GTd4"/> - <use fill="url(#GRd4_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTd4"/> - <use fill="url(#GRd4_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTd4"/> - <use fill="url(#GRd4_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTd4"/> + <path d="M 452.891961,208.299445 L 443.85048,217.16435 456.516311,206.319194 Z" fill="#eadc11" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.891961,208.299445 L 443.85048,217.16435 456.516311,206.319194 Z" fill="url(#GRd4_0)" shape-rendering="crispEdges"/> + <path d="M 452.891961,208.299445 L 443.85048,217.16435 456.516311,206.319194 Z" fill="url(#GRd4_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.891961,208.299445 L 443.85048,217.16435 456.516311,206.319194 Z" fill="url(#GRd4_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRd5_0" x1="456.516311" x2="455.729805" y1="206.319194" y2="205.517023"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRd5_0" x1="456.516311" x2="455.729805" y1="206.319194" y2="205.517023"> + <stop offset="1" style="stop-color:#f6ce08;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRd5_1" x1="461.933441" x2="463.584892" y1="199.43454" y2="202.457105"> - <stop offset="0" style="stop-color:#ffd700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRd5_1" x1="461.933441" x2="463.584892" y1="199.43454" y2="202.457105"> + <stop offset="1" style="stop-color:#f6ce08;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRd5_2" x1="452.891961" x2="454.168091" y1="208.299445" y2="209.303557"> - <stop offset="0" style="stop-color:#e4e217;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e4e217;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRd5_2" x1="452.891961" x2="454.168091" y1="208.299445" y2="209.303557"> + <stop offset="1" style="stop-color:#f6ce08;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e4e217;stop-opacity:0;"/> </linearGradient> - <polygon id="GTd5" points="452.891961 208.299445 456.516311 206.319194 461.933441 199.43454"/> </defs> - <use fill="#f6ce08" fill-opacity="1" xlink:href="#GTd5"/> - <use fill="url(#GRd5_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTd5"/> - <use fill="url(#GRd5_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTd5"/> - <use fill="url(#GRd5_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTd5"/> + <path d="M 452.891961,208.299445 L 456.516311,206.319194 461.933441,199.43454 Z" fill="#f6ce08" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.891961,208.299445 L 456.516311,206.319194 461.933441,199.43454 Z" fill="url(#GRd5_0)" shape-rendering="crispEdges"/> + <path d="M 452.891961,208.299445 L 456.516311,206.319194 461.933441,199.43454 Z" fill="url(#GRd5_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.891961,208.299445 L 456.516311,206.319194 461.933441,199.43454 Z" fill="url(#GRd5_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRd6_0" x1="461.933441" x2="463.584892" y1="199.43454" y2="202.457105"> - <stop offset="0" style="stop-color:#ffd700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRd6_0" x1="461.933441" x2="463.584892" y1="199.43454" y2="202.457105"> + <stop offset="1" style="stop-color:#dee81d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRd6_1" x1="449.26761" x2="450.054116" y1="210.279696" y2="211.081868"> - <stop offset="0" style="stop-color:#b7ff40;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b7ff40;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRd6_1" x1="449.26761" x2="450.054116" y1="210.279696" y2="211.081868"> + <stop offset="1" style="stop-color:#dee81d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b7ff40;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRd6_2" x1="452.891961" x2="452.3371" y1="208.299445" y2="207.651436"> - <stop offset="0" style="stop-color:#e4e217;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e4e217;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRd6_2" x1="452.891961" x2="452.3371" y1="208.299445" y2="207.651436"> + <stop offset="1" style="stop-color:#dee81d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e4e217;stop-opacity:0;"/> </linearGradient> - <polygon id="GTd6" points="452.891961 208.299445 461.933441 199.43454 449.26761 210.279696"/> </defs> - <use fill="#dee81d" fill-opacity="1" xlink:href="#GTd6"/> - <use fill="url(#GRd6_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTd6"/> - <use fill="url(#GRd6_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTd6"/> - <use fill="url(#GRd6_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTd6"/> + <path d="M 452.891961,208.299445 L 461.933441,199.43454 449.26761,210.279696 Z" fill="#dee81d" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.891961,208.299445 L 461.933441,199.43454 449.26761,210.279696 Z" fill="url(#GRd6_0)" shape-rendering="crispEdges"/> + <path d="M 452.891961,208.299445 L 461.933441,199.43454 449.26761,210.279696 Z" fill="url(#GRd6_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.891961,208.299445 L 461.933441,199.43454 449.26761,210.279696 Z" fill="url(#GRd6_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRd7_0" x1="449.26761" x2="450.054116" y1="210.279696" y2="211.081868"> - <stop offset="0" style="stop-color:#b7ff40;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b7ff40;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRd7_0" x1="449.26761" x2="450.054116" y1="210.279696" y2="211.081868"> + <stop offset="1" style="stop-color:#d2f526;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b7ff40;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRd7_1" x1="443.85048" x2="442.199029" y1="217.16435" y2="214.141785"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRd7_1" x1="443.85048" x2="442.199029" y1="217.16435" y2="214.141785"> + <stop offset="1" style="stop-color:#d2f526;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRd7_2" x1="452.891961" x2="451.61583" y1="208.299445" y2="207.295333"> - <stop offset="0" style="stop-color:#e4e217;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e4e217;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRd7_2" x1="452.891961" x2="451.61583" y1="208.299445" y2="207.295333"> + <stop offset="1" style="stop-color:#d2f526;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e4e217;stop-opacity:0;"/> </linearGradient> - <polygon id="GTd7" points="452.891961 208.299445 449.26761 210.279696 443.85048 217.16435"/> </defs> - <use fill="#d2f526" fill-opacity="1" xlink:href="#GTd7"/> - <use fill="url(#GRd7_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTd7"/> - <use fill="url(#GRd7_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTd7"/> - <use fill="url(#GRd7_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTd7"/> + <path d="M 452.891961,208.299445 L 449.26761,210.279696 443.85048,217.16435 Z" fill="#d2f526" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.891961,208.299445 L 449.26761,210.279696 443.85048,217.16435 Z" fill="url(#GRd7_0)" shape-rendering="crispEdges"/> + <path d="M 452.891961,208.299445 L 449.26761,210.279696 443.85048,217.16435 Z" fill="url(#GRd7_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.891961,208.299445 L 449.26761,210.279696 443.85048,217.16435 Z" fill="url(#GRd7_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRd8_0" x1="456.516311" x2="458.373257" y1="206.319194" y2="198.580278"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRd8_0" x1="456.516311" x2="458.373257" y1="206.319194" y2="198.580278"> + <stop offset="1" style="stop-color:#ff8200;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRd8_1" x1="470.489665" x2="468.891124" y1="201.487599" y2="198.842001"> - <stop offset="0" style="stop-color:#ff4700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff4700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRd8_1" x1="470.489665" x2="468.891124" y1="201.487599" y2="198.842001"> + <stop offset="1" style="stop-color:#ff8200;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff4700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRd8_2" x1="466.211553" x2="466.985456" y1="200.46107" y2="202.699257"> - <stop offset="0" style="stop-color:#ff8e00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8e00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRd8_2" x1="466.211553" x2="466.985456" y1="200.46107" y2="202.699257"> + <stop offset="1" style="stop-color:#ff8200;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8e00;stop-opacity:0;"/> </linearGradient> - <polygon id="GTd8" points="466.211553 200.46107 456.516311 206.319194 470.489665 201.487599"/> </defs> - <use fill="#ff8200" fill-opacity="1" xlink:href="#GTd8"/> - <use fill="url(#GRd8_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTd8"/> - <use fill="url(#GRd8_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTd8"/> - <use fill="url(#GRd8_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTd8"/> + <path d="M 466.211553,200.46107 L 456.516311,206.319194 470.489665,201.487599 Z" fill="#ff8200" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 466.211553,200.46107 L 456.516311,206.319194 470.489665,201.487599 Z" fill="url(#GRd8_0)" shape-rendering="crispEdges"/> + <path d="M 466.211553,200.46107 L 456.516311,206.319194 470.489665,201.487599 Z" fill="url(#GRd8_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 466.211553,200.46107 L 456.516311,206.319194 470.489665,201.487599 Z" fill="url(#GRd8_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRd9_0" x1="470.489665" x2="468.891124" y1="201.487599" y2="198.842001"> - <stop offset="0" style="stop-color:#ff4700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff4700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRd9_0" x1="470.489665" x2="468.891124" y1="201.487599" y2="198.842001"> + <stop offset="1" style="stop-color:#ff6900;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff4700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRd9_1" x1="475.906795" x2="474.049849" y1="194.602945" y2="202.341862"> - <stop offset="0" style="stop-color:#ff6800;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6800;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRd9_1" x1="475.906795" x2="474.049849" y1="194.602945" y2="202.341862"> + <stop offset="1" style="stop-color:#ff6900;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6800;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRd9_2" x1="466.211553" x2="469.352661" y1="200.46107" y2="202.932623"> - <stop offset="0" style="stop-color:#ff8e00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8e00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRd9_2" x1="466.211553" x2="469.352661" y1="200.46107" y2="202.932623"> + <stop offset="1" style="stop-color:#ff6900;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8e00;stop-opacity:0;"/> </linearGradient> - <polygon id="GTd9" points="466.211553 200.46107 470.489665 201.487599 475.906795 194.602945"/> </defs> - <use fill="#ff6900" fill-opacity="1" xlink:href="#GTd9"/> - <use fill="url(#GRd9_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTd9"/> - <use fill="url(#GRd9_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTd9"/> - <use fill="url(#GRd9_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTd9"/> + <path d="M 466.211553,200.46107 L 470.489665,201.487599 475.906795,194.602945 Z" fill="#ff6900" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 466.211553,200.46107 L 470.489665,201.487599 475.906795,194.602945 Z" fill="url(#GRd9_0)" shape-rendering="crispEdges"/> + <path d="M 466.211553,200.46107 L 470.489665,201.487599 475.906795,194.602945 Z" fill="url(#GRd9_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 466.211553,200.46107 L 470.489665,201.487599 475.906795,194.602945 Z" fill="url(#GRd9_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRda_0" x1="475.906795" x2="474.049849" y1="194.602945" y2="202.341862"> - <stop offset="0" style="stop-color:#ff6800;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6800;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRda_0" x1="475.906795" x2="474.049849" y1="194.602945" y2="202.341862"> + <stop offset="1" style="stop-color:#ff9a00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6800;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRda_1" x1="461.933441" x2="463.531982" y1="199.43454" y2="202.080138"> - <stop offset="0" style="stop-color:#ffd700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRda_1" x1="461.933441" x2="463.531982" y1="199.43454" y2="202.080138"> + <stop offset="1" style="stop-color:#ff9a00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRda_2" x1="466.211553" x2="465.437651" y1="200.46107" y2="198.222883"> - <stop offset="0" style="stop-color:#ff8e00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8e00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRda_2" x1="466.211553" x2="465.437651" y1="200.46107" y2="198.222883"> + <stop offset="1" style="stop-color:#ff9a00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8e00;stop-opacity:0;"/> </linearGradient> - <polygon id="GTda" points="466.211553 200.46107 475.906795 194.602945 461.933441 199.43454"/> </defs> - <use fill="#ff9a00" fill-opacity="1" xlink:href="#GTda"/> - <use fill="url(#GRda_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTda"/> - <use fill="url(#GRda_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTda"/> - <use fill="url(#GRda_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTda"/> + <path d="M 466.211553,200.46107 L 475.906795,194.602945 461.933441,199.43454 Z" fill="#ff9a00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 466.211553,200.46107 L 475.906795,194.602945 461.933441,199.43454 Z" fill="url(#GRda_0)" shape-rendering="crispEdges"/> + <path d="M 466.211553,200.46107 L 475.906795,194.602945 461.933441,199.43454 Z" fill="url(#GRda_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 466.211553,200.46107 L 475.906795,194.602945 461.933441,199.43454 Z" fill="url(#GRda_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRdb_0" x1="461.933441" x2="463.531982" y1="199.43454" y2="202.080138"> - <stop offset="0" style="stop-color:#ffd700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRdb_0" x1="461.933441" x2="463.531982" y1="199.43454" y2="202.080138"> + <stop offset="1" style="stop-color:#ffb200;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRdb_1" x1="456.516311" x2="458.373257" y1="206.319194" y2="198.580278"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRdb_1" x1="456.516311" x2="458.373257" y1="206.319194" y2="198.580278"> + <stop offset="1" style="stop-color:#ffb200;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRdb_2" x1="466.211553" x2="463.070445" y1="200.46107" y2="197.989516"> - <stop offset="0" style="stop-color:#ff8e00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8e00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRdb_2" x1="466.211553" x2="463.070445" y1="200.46107" y2="197.989516"> + <stop offset="1" style="stop-color:#ffb200;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8e00;stop-opacity:0;"/> </linearGradient> - <polygon id="GTdb" points="466.211553 200.46107 461.933441 199.43454 456.516311 206.319194"/> </defs> - <use fill="#ffb200" fill-opacity="1" xlink:href="#GTdb"/> - <use fill="url(#GRdb_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTdb"/> - <use fill="url(#GRdb_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTdb"/> - <use fill="url(#GRdb_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTdb"/> + <path d="M 466.211553,200.46107 L 461.933441,199.43454 456.516311,206.319194 Z" fill="#ffb200" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 466.211553,200.46107 L 461.933441,199.43454 456.516311,206.319194 Z" fill="url(#GRdb_0)" shape-rendering="crispEdges"/> + <path d="M 466.211553,200.46107 L 461.933441,199.43454 456.516311,206.319194 Z" fill="url(#GRdb_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 466.211553,200.46107 L 461.933441,199.43454 456.516311,206.319194 Z" fill="url(#GRdb_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRdc_0" x1="475.906795" x2="474.736032" y1="366.970079" y2="359.990851"> - <stop offset="0" style="stop-color:#ff6800;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6800;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRdc_0" x1="475.906795" x2="474.736032" y1="366.970079" y2="359.990851"> + <stop offset="1" style="stop-color:#fea500;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6800;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRdc_1" x1="461.933441" x2="468.907274" y1="362.138483" y2="357.161746"> - <stop offset="0" style="stop-color:#ffd700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRdc_1" x1="461.933441" x2="468.907274" y1="362.138483" y2="357.161746"> + <stop offset="1" style="stop-color:#fea500;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRdc_2" x1="471.333527" x2="469.842677" y1="360.561621" y2="364.873276"> - <stop offset="0" style="stop-color:#fcaf01;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fcaf01;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRdc_2" x1="471.333527" x2="469.842677" y1="360.561621" y2="364.873276"> + <stop offset="1" style="stop-color:#fea500;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fcaf01;stop-opacity:0;"/> </linearGradient> - <polygon id="GTdc" points="471.333527 360.561621 475.906795 366.970079 461.933441 362.138483"/> </defs> - <use fill="#fea500" fill-opacity="1" xlink:href="#GTdc"/> - <use fill="url(#GRdc_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTdc"/> - <use fill="url(#GRdc_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTdc"/> - <use fill="url(#GRdc_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTdc"/> + <path d="M 471.333527,360.561621 L 475.906795,366.970079 461.933441,362.138483 Z" fill="#fea500" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 471.333527,360.561621 L 475.906795,366.970079 461.933441,362.138483 Z" fill="url(#GRdc_0)" shape-rendering="crispEdges"/> + <path d="M 471.333527,360.561621 L 475.906795,366.970079 461.933441,362.138483 Z" fill="url(#GRdc_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 471.333527,360.561621 L 475.906795,366.970079 461.933441,362.138483 Z" fill="url(#GRdc_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRdd_0" x1="461.933441" x2="468.907274" y1="362.138483" y2="357.161746"> - <stop offset="0" style="stop-color:#ffd700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRdd_0" x1="461.933441" x2="468.907274" y1="362.138483" y2="357.161746"> + <stop offset="1" style="stop-color:#fbd501;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRdd_1" x1="466.760259" x2="467.931023" y1="354.153163" y2="361.13239"> - <stop offset="0" style="stop-color:#f4f802;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f4f802;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRdd_1" x1="466.760259" x2="467.931023" y1="354.153163" y2="361.13239"> + <stop offset="1" style="stop-color:#fbd501;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f4f802;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRdd_2" x1="471.333527" x2="465.146991" y1="360.561621" y2="356.822098"> - <stop offset="0" style="stop-color:#fcaf01;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fcaf01;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRdd_2" x1="471.333527" x2="465.146991" y1="360.561621" y2="356.822098"> + <stop offset="1" style="stop-color:#fbd501;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fcaf01;stop-opacity:0;"/> </linearGradient> - <polygon id="GTdd" points="471.333527 360.561621 461.933441 362.138483 466.760259 354.153163"/> </defs> - <use fill="#fbd501" fill-opacity="1" xlink:href="#GTdd"/> - <use fill="url(#GRdd_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTdd"/> - <use fill="url(#GRdd_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTdd"/> - <use fill="url(#GRdd_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTdd"/> + <path d="M 471.333527,360.561621 L 461.933441,362.138483 466.760259,354.153163 Z" fill="#fbd501" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 471.333527,360.561621 L 461.933441,362.138483 466.760259,354.153163 Z" fill="url(#GRdd_0)" shape-rendering="crispEdges"/> + <path d="M 471.333527,360.561621 L 461.933441,362.138483 466.760259,354.153163 Z" fill="url(#GRdd_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 471.333527,360.561621 L 461.933441,362.138483 466.760259,354.153163 Z" fill="url(#GRdd_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRde_0" x1="466.760259" x2="467.931023" y1="354.153163" y2="361.13239"> - <stop offset="0" style="stop-color:#f4f802;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f4f802;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRde_0" x1="466.760259" x2="467.931023" y1="354.153163" y2="361.13239"> + <stop offset="1" style="stop-color:#fbba01;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f4f802;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRde_1" x1="480.733614" x2="473.75978" y1="358.984758" y2="363.961496"> - <stop offset="0" style="stop-color:#ff8600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRde_1" x1="480.733614" x2="473.75978" y1="358.984758" y2="363.961496"> + <stop offset="1" style="stop-color:#fbba01;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRde_2" x1="471.333527" x2="472.824377" y1="360.561621" y2="356.249965"> - <stop offset="0" style="stop-color:#fcaf01;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fcaf01;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRde_2" x1="471.333527" x2="472.824377" y1="360.561621" y2="356.249965"> + <stop offset="1" style="stop-color:#fbba01;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fcaf01;stop-opacity:0;"/> </linearGradient> - <polygon id="GTde" points="471.333527 360.561621 466.760259 354.153163 480.733614 358.984758"/> </defs> - <use fill="#fbba01" fill-opacity="1" xlink:href="#GTde"/> - <use fill="url(#GRde_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTde"/> - <use fill="url(#GRde_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTde"/> - <use fill="url(#GRde_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTde"/> + <path d="M 471.333527,360.561621 L 466.760259,354.153163 480.733614,358.984758 Z" fill="#fbba01" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 471.333527,360.561621 L 466.760259,354.153163 480.733614,358.984758 Z" fill="url(#GRde_0)" shape-rendering="crispEdges"/> + <path d="M 471.333527,360.561621 L 466.760259,354.153163 480.733614,358.984758 Z" fill="url(#GRde_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 471.333527,360.561621 L 466.760259,354.153163 480.733614,358.984758 Z" fill="url(#GRde_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRdf_0" x1="480.733614" x2="473.75978" y1="358.984758" y2="363.961496"> - <stop offset="0" style="stop-color:#ff8600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRdf_0" x1="480.733614" x2="473.75978" y1="358.984758" y2="363.961496"> + <stop offset="1" style="stop-color:#fe8a00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRdf_1" x1="475.906795" x2="474.736032" y1="366.970079" y2="359.990851"> - <stop offset="0" style="stop-color:#ff6800;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6800;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRdf_1" x1="475.906795" x2="474.736032" y1="366.970079" y2="359.990851"> + <stop offset="1" style="stop-color:#fe8a00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6800;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRdf_2" x1="471.333527" x2="477.520064" y1="360.561621" y2="364.301143"> - <stop offset="0" style="stop-color:#fcaf01;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fcaf01;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRdf_2" x1="471.333527" x2="477.520064" y1="360.561621" y2="364.301143"> + <stop offset="1" style="stop-color:#fe8a00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fcaf01;stop-opacity:0;"/> </linearGradient> - <polygon id="GTdf" points="471.333527 360.561621 480.733614 358.984758 475.906795 366.970079"/> </defs> - <use fill="#fe8a00" fill-opacity="1" xlink:href="#GTdf"/> - <use fill="url(#GRdf_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTdf"/> - <use fill="url(#GRdf_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTdf"/> - <use fill="url(#GRdf_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTdf"/> + <path d="M 471.333527,360.561621 L 480.733614,358.984758 475.906795,366.970079 Z" fill="#fe8a00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 471.333527,360.561621 L 480.733614,358.984758 475.906795,366.970079 Z" fill="url(#GRdf_0)" shape-rendering="crispEdges"/> + <path d="M 471.333527,360.561621 L 480.733614,358.984758 475.906795,366.970079 Z" fill="url(#GRdf_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 471.333527,360.561621 L 480.733614,358.984758 475.906795,366.970079 Z" fill="url(#GRdf_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRe0_0" x1="461.933441" x2="463.330612" y1="362.138483" y2="353.592457"> - <stop offset="0" style="stop-color:#ffd700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRe0_0" x1="461.933441" x2="463.330612" y1="362.138483" y2="353.592457"> + <stop offset="1" style="stop-color:#d7ee23;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRe0_1" x1="449.26761" x2="456.214729" y1="351.293327" y2="348.401284"> - <stop offset="0" style="stop-color:#b7ff40;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b7ff40;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRe0_1" x1="449.26761" x2="456.214729" y1="351.293327" y2="348.401284"> + <stop offset="1" style="stop-color:#d7ee23;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b7ff40;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRe0_2" x1="458.013935" x2="455.020479" y1="352.723245" y2="356.219239"> - <stop offset="0" style="stop-color:#cff329;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#cff329;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRe0_2" x1="458.013935" x2="455.020479" y1="352.723245" y2="356.219239"> + <stop offset="1" style="stop-color:#d7ee23;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#cff329;stop-opacity:0;"/> </linearGradient> - <polygon id="GTe0" points="458.013935 352.723245 461.933441 362.138483 449.26761 351.293327"/> </defs> - <use fill="#d7ee23" fill-opacity="1" xlink:href="#GTe0"/> - <use fill="url(#GRe0_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTe0"/> - <use fill="url(#GRe0_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTe0"/> - <use fill="url(#GRe0_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTe0"/> + <path d="M 458.013935,352.723245 L 461.933441,362.138483 449.26761,351.293327 Z" fill="#d7ee23" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 458.013935,352.723245 L 461.933441,362.138483 449.26761,351.293327 Z" fill="url(#GRe0_0)" shape-rendering="crispEdges"/> + <path d="M 458.013935,352.723245 L 461.933441,362.138483 449.26761,351.293327 Z" fill="url(#GRe0_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 458.013935,352.723245 L 461.933441,362.138483 449.26761,351.293327 Z" fill="url(#GRe0_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRe1_0" x1="449.26761" x2="456.214729" y1="351.293327" y2="348.401284"> - <stop offset="0" style="stop-color:#b7ff40;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b7ff40;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRe1_0" x1="449.26761" x2="456.214729" y1="351.293327" y2="348.401284"> + <stop offset="1" style="stop-color:#b3fb44;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b7ff40;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRe1_1" x1="454.094428" x2="452.697257" y1="343.308007" y2="351.854033"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRe1_1" x1="454.094428" x2="452.697257" y1="343.308007" y2="351.854033"> + <stop offset="1" style="stop-color:#b3fb44;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRe1_2" x1="458.013935" x2="450.975089" y1="352.723245" y2="348.468534"> - <stop offset="0" style="stop-color:#cff329;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#cff329;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRe1_2" x1="458.013935" x2="450.975089" y1="352.723245" y2="348.468534"> + <stop offset="1" style="stop-color:#b3fb44;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#cff329;stop-opacity:0;"/> </linearGradient> - <polygon id="GTe1" points="458.013935 352.723245 449.26761 351.293327 454.094428 343.308007"/> </defs> - <use fill="#b3fb44" fill-opacity="1" xlink:href="#GTe1"/> - <use fill="url(#GRe1_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTe1"/> - <use fill="url(#GRe1_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTe1"/> - <use fill="url(#GRe1_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTe1"/> + <path d="M 458.013935,352.723245 L 449.26761,351.293327 454.094428,343.308007 Z" fill="#b3fb44" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 458.013935,352.723245 L 449.26761,351.293327 454.094428,343.308007 Z" fill="url(#GRe1_0)" shape-rendering="crispEdges"/> + <path d="M 458.013935,352.723245 L 449.26761,351.293327 454.094428,343.308007 Z" fill="url(#GRe1_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 458.013935,352.723245 L 449.26761,351.293327 454.094428,343.308007 Z" fill="url(#GRe1_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRe2_0" x1="454.094428" x2="452.697257" y1="343.308007" y2="351.854033"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRe2_0" x1="454.094428" x2="452.697257" y1="343.308007" y2="351.854033"> + <stop offset="1" style="stop-color:#c8f930;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRe2_1" x1="466.760259" x2="459.81314" y1="354.153163" y2="357.045206"> - <stop offset="0" style="stop-color:#f4f802;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f4f802;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRe2_1" x1="466.760259" x2="459.81314" y1="354.153163" y2="357.045206"> + <stop offset="1" style="stop-color:#c8f930;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f4f802;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRe2_2" x1="458.013935" x2="461.00739" y1="352.723245" y2="349.227251"> - <stop offset="0" style="stop-color:#cff329;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#cff329;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRe2_2" x1="458.013935" x2="461.00739" y1="352.723245" y2="349.227251"> + <stop offset="1" style="stop-color:#c8f930;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#cff329;stop-opacity:0;"/> </linearGradient> - <polygon id="GTe2" points="458.013935 352.723245 454.094428 343.308007 466.760259 354.153163"/> </defs> - <use fill="#c8f930" fill-opacity="1" xlink:href="#GTe2"/> - <use fill="url(#GRe2_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTe2"/> - <use fill="url(#GRe2_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTe2"/> - <use fill="url(#GRe2_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTe2"/> + <path d="M 458.013935,352.723245 L 454.094428,343.308007 466.760259,354.153163 Z" fill="#c8f930" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 458.013935,352.723245 L 454.094428,343.308007 466.760259,354.153163 Z" fill="url(#GRe2_0)" shape-rendering="crispEdges"/> + <path d="M 458.013935,352.723245 L 454.094428,343.308007 466.760259,354.153163 Z" fill="url(#GRe2_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 458.013935,352.723245 L 454.094428,343.308007 466.760259,354.153163 Z" fill="url(#GRe2_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRe3_0" x1="466.760259" x2="459.81314" y1="354.153163" y2="357.045206"> - <stop offset="0" style="stop-color:#f4f802;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f4f802;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRe3_0" x1="466.760259" x2="459.81314" y1="354.153163" y2="357.045206"> + <stop offset="1" style="stop-color:#ecec0f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f4f802;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRe3_1" x1="461.933441" x2="463.330612" y1="362.138483" y2="353.592457"> - <stop offset="0" style="stop-color:#ffd700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRe3_1" x1="461.933441" x2="463.330612" y1="362.138483" y2="353.592457"> + <stop offset="1" style="stop-color:#ecec0f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRe3_2" x1="458.013935" x2="465.05278" y1="352.723245" y2="356.977956"> - <stop offset="0" style="stop-color:#cff329;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#cff329;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRe3_2" x1="458.013935" x2="465.05278" y1="352.723245" y2="356.977956"> + <stop offset="1" style="stop-color:#ecec0f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#cff329;stop-opacity:0;"/> </linearGradient> - <polygon id="GTe3" points="458.013935 352.723245 466.760259 354.153163 461.933441 362.138483"/> </defs> - <use fill="#ecec0f" fill-opacity="1" xlink:href="#GTe3"/> - <use fill="url(#GRe3_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTe3"/> - <use fill="url(#GRe3_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTe3"/> - <use fill="url(#GRe3_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTe3"/> + <path d="M 458.013935,352.723245 L 466.760259,354.153163 461.933441,362.138483 Z" fill="#ecec0f" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 458.013935,352.723245 L 466.760259,354.153163 461.933441,362.138483 Z" fill="url(#GRe3_0)" shape-rendering="crispEdges"/> + <path d="M 458.013935,352.723245 L 466.760259,354.153163 461.933441,362.138483 Z" fill="url(#GRe3_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 458.013935,352.723245 L 466.760259,354.153163 461.933441,362.138483 Z" fill="url(#GRe3_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRe4_0" x1="449.26761" x2="453.625805" y1="351.293327" y2="343.059949"> - <stop offset="0" style="stop-color:#b7ff40;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b7ff40;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRe4_0" x1="449.26761" x2="453.625805" y1="351.293327" y2="343.059949"> + <stop offset="1" style="stop-color:#88ff6e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b7ff40;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRe4_1" x1="438.845566" x2="445.187288" y1="335.236289" y2="333.76042"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRe4_1" x1="438.845566" x2="445.187288" y1="335.236289" y2="333.76042"> + <stop offset="1" style="stop-color:#88ff6e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRe4_2" x1="446.469997" x2="442.948603" y1="339.272148" y2="341.557758"> - <stop offset="0" style="stop-color:#7bff7b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#7bff7b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRe4_2" x1="446.469997" x2="442.948603" y1="339.272148" y2="341.557758"> + <stop offset="1" style="stop-color:#88ff6e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#7bff7b;stop-opacity:0;"/> </linearGradient> - <polygon id="GTe4" points="446.469997 339.272148 449.26761 351.293327 438.845566 335.236289"/> </defs> - <use fill="#88ff6e" fill-opacity="1" xlink:href="#GTe4"/> - <use fill="url(#GRe4_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTe4"/> - <use fill="url(#GRe4_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTe4"/> - <use fill="url(#GRe4_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTe4"/> + <path d="M 446.469997,339.272148 L 449.26761,351.293327 438.845566,335.236289 Z" fill="#88ff6e" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 446.469997,339.272148 L 449.26761,351.293327 438.845566,335.236289 Z" fill="url(#GRe4_0)" shape-rendering="crispEdges"/> + <path d="M 446.469997,339.272148 L 449.26761,351.293327 438.845566,335.236289 Z" fill="url(#GRe4_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 446.469997,339.272148 L 449.26761,351.293327 438.845566,335.236289 Z" fill="url(#GRe4_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRe5_0" x1="438.845566" x2="445.187288" y1="335.236289" y2="333.76042"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRe5_0" x1="438.845566" x2="445.187288" y1="335.236289" y2="333.76042"> + <stop offset="1" style="stop-color:#5fff97;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRe5_1" x1="443.672384" x2="439.31419" y1="327.250969" y2="335.484346"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRe5_1" x1="443.672384" x2="439.31419" y1="327.250969" y2="335.484346"> + <stop offset="1" style="stop-color:#5fff97;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRe5_2" x1="446.469997" x2="439.099156" y1="339.272148" y2="334.816758"> - <stop offset="0" style="stop-color:#7bff7b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#7bff7b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRe5_2" x1="446.469997" x2="439.099156" y1="339.272148" y2="334.816758"> + <stop offset="1" style="stop-color:#5fff97;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#7bff7b;stop-opacity:0;"/> </linearGradient> - <polygon id="GTe5" points="446.469997 339.272148 438.845566 335.236289 443.672384 327.250969"/> </defs> - <use fill="#5fff97" fill-opacity="1" xlink:href="#GTe5"/> - <use fill="url(#GRe5_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTe5"/> - <use fill="url(#GRe5_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTe5"/> - <use fill="url(#GRe5_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTe5"/> + <path d="M 446.469997,339.272148 L 438.845566,335.236289 443.672384,327.250969 Z" fill="#5fff97" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 446.469997,339.272148 L 438.845566,335.236289 443.672384,327.250969 Z" fill="url(#GRe5_0)" shape-rendering="crispEdges"/> + <path d="M 446.469997,339.272148 L 438.845566,335.236289 443.672384,327.250969 Z" fill="url(#GRe5_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 446.469997,339.272148 L 438.845566,335.236289 443.672384,327.250969 Z" fill="url(#GRe5_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRe6_0" x1="443.672384" x2="439.31419" y1="327.250969" y2="335.484346"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRe6_0" x1="443.672384" x2="439.31419" y1="327.250969" y2="335.484346"> + <stop offset="1" style="stop-color:#6eff88;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRe6_1" x1="454.094428" x2="447.752707" y1="343.308007" y2="344.783876"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRe6_1" x1="454.094428" x2="447.752707" y1="343.308007" y2="344.783876"> + <stop offset="1" style="stop-color:#6eff88;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRe6_2" x1="446.469997" x2="449.991391" y1="339.272148" y2="336.986538"> - <stop offset="0" style="stop-color:#7bff7b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#7bff7b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRe6_2" x1="446.469997" x2="449.991391" y1="339.272148" y2="336.986538"> + <stop offset="1" style="stop-color:#6eff88;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#7bff7b;stop-opacity:0;"/> </linearGradient> - <polygon id="GTe6" points="446.469997 339.272148 443.672384 327.250969 454.094428 343.308007"/> </defs> - <use fill="#6eff88" fill-opacity="1" xlink:href="#GTe6"/> - <use fill="url(#GRe6_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTe6"/> - <use fill="url(#GRe6_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTe6"/> - <use fill="url(#GRe6_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTe6"/> + <path d="M 446.469997,339.272148 L 443.672384,327.250969 454.094428,343.308007 Z" fill="#6eff88" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 446.469997,339.272148 L 443.672384,327.250969 454.094428,343.308007 Z" fill="url(#GRe6_0)" shape-rendering="crispEdges"/> + <path d="M 446.469997,339.272148 L 443.672384,327.250969 454.094428,343.308007 Z" fill="url(#GRe6_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 446.469997,339.272148 L 443.672384,327.250969 454.094428,343.308007 Z" fill="url(#GRe6_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRe7_0" x1="454.094428" x2="447.752707" y1="343.308007" y2="344.783876"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRe7_0" x1="454.094428" x2="447.752707" y1="343.308007" y2="344.783876"> + <stop offset="1" style="stop-color:#97ff5f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRe7_1" x1="449.26761" x2="453.625805" y1="351.293327" y2="343.059949"> - <stop offset="0" style="stop-color:#b7ff40;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b7ff40;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRe7_1" x1="449.26761" x2="453.625805" y1="351.293327" y2="343.059949"> + <stop offset="1" style="stop-color:#97ff5f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b7ff40;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRe7_2" x1="446.469997" x2="453.840839" y1="339.272148" y2="343.727537"> - <stop offset="0" style="stop-color:#7bff7b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#7bff7b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRe7_2" x1="446.469997" x2="453.840839" y1="339.272148" y2="343.727537"> + <stop offset="1" style="stop-color:#97ff5f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#7bff7b;stop-opacity:0;"/> </linearGradient> - <polygon id="GTe7" points="446.469997 339.272148 454.094428 343.308007 449.26761 351.293327"/> </defs> - <use fill="#97ff5f" fill-opacity="1" xlink:href="#GTe7"/> - <use fill="url(#GRe7_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTe7"/> - <use fill="url(#GRe7_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTe7"/> - <use fill="url(#GRe7_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTe7"/> + <path d="M 446.469997,339.272148 L 454.094428,343.308007 449.26761,351.293327 Z" fill="#97ff5f" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 446.469997,339.272148 L 454.094428,343.308007 449.26761,351.293327 Z" fill="url(#GRe7_0)" shape-rendering="crispEdges"/> + <path d="M 446.469997,339.272148 L 454.094428,343.308007 449.26761,351.293327 Z" fill="url(#GRe7_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 446.469997,339.272148 L 454.094428,343.308007 449.26761,351.293327 Z" fill="url(#GRe7_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRe8_0" x1="438.845566" x2="445.224" y1="335.236289" y2="328.785081"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRe8_0" x1="438.845566" x2="445.224" y1="335.236289" y2="328.785081"> + <stop offset="1" style="stop-color:#41fcb7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRe8_1" x1="431.437708" x2="436.952215" y1="315.154308" y2="314.647199"> - <stop offset="0" style="stop-color:#29ffce;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#29ffce;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRe8_1" x1="431.437708" x2="436.952215" y1="315.154308" y2="314.647199"> + <stop offset="1" style="stop-color:#41fcb7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#29ffce;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRe8_2" x1="437.555046" x2="434.134294" y1="321.202638" y2="322.464488"> - <stop offset="0" style="stop-color:#33f6c6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#33f6c6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRe8_2" x1="437.555046" x2="434.134294" y1="321.202638" y2="322.464488"> + <stop offset="1" style="stop-color:#41fcb7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#33f6c6;stop-opacity:0;"/> </linearGradient> - <polygon id="GTe8" points="437.555046 321.202638 438.845566 335.236289 431.437708 315.154308"/> </defs> - <use fill="#41fcb7" fill-opacity="1" xlink:href="#GTe8"/> - <use fill="url(#GRe8_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTe8"/> - <use fill="url(#GRe8_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTe8"/> - <use fill="url(#GRe8_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTe8"/> + <path d="M 437.555046,321.202638 L 438.845566,335.236289 431.437708,315.154308 Z" fill="#41fcb7" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 437.555046,321.202638 L 438.845566,335.236289 431.437708,315.154308 Z" fill="url(#GRe8_0)" shape-rendering="crispEdges"/> + <path d="M 437.555046,321.202638 L 438.845566,335.236289 431.437708,315.154308 Z" fill="url(#GRe8_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 437.555046,321.202638 L 438.845566,335.236289 431.437708,315.154308 Z" fill="url(#GRe8_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRe9_0" x1="431.437708" x2="436.952215" y1="315.154308" y2="314.647199"> - <stop offset="0" style="stop-color:#29ffce;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#29ffce;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRe9_0" x1="431.437708" x2="436.952215" y1="315.154308" y2="314.647199"> + <stop offset="1" style="stop-color:#1ff1db;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#29ffce;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRe9_1" x1="436.264526" x2="429.886092" y1="307.168988" y2="313.620195"> - <stop offset="0" style="stop-color:#00dcfe;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00dcfe;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRe9_1" x1="436.264526" x2="429.886092" y1="307.168988" y2="313.620195"> + <stop offset="1" style="stop-color:#1ff1db;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00dcfe;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRe9_2" x1="437.555046" x2="430.397064" y1="321.202638" y2="316.875914"> - <stop offset="0" style="stop-color:#33f6c6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#33f6c6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRe9_2" x1="437.555046" x2="430.397064" y1="321.202638" y2="316.875914"> + <stop offset="1" style="stop-color:#1ff1db;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#33f6c6;stop-opacity:0;"/> </linearGradient> - <polygon id="GTe9" points="437.555046 321.202638 431.437708 315.154308 436.264526 307.168988"/> </defs> - <use fill="#1ff1db" fill-opacity="1" xlink:href="#GTe9"/> - <use fill="url(#GRe9_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTe9"/> - <use fill="url(#GRe9_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTe9"/> - <use fill="url(#GRe9_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTe9"/> + <path d="M 437.555046,321.202638 L 431.437708,315.154308 436.264526,307.168988 Z" fill="#1ff1db" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 437.555046,321.202638 L 431.437708,315.154308 436.264526,307.168988 Z" fill="url(#GRe9_0)" shape-rendering="crispEdges"/> + <path d="M 437.555046,321.202638 L 431.437708,315.154308 436.264526,307.168988 Z" fill="url(#GRe9_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 437.555046,321.202638 L 431.437708,315.154308 436.264526,307.168988 Z" fill="url(#GRe9_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRea_0" x1="436.264526" x2="429.886092" y1="307.168988" y2="313.620195"> - <stop offset="0" style="stop-color:#00dcfe;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00dcfe;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRea_0" x1="436.264526" x2="429.886092" y1="307.168988" y2="313.620195"> + <stop offset="1" style="stop-color:#25f1d5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00dcfe;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRea_1" x1="443.672384" x2="438.157877" y1="327.250969" y2="327.758077"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRea_1" x1="443.672384" x2="438.157877" y1="327.250969" y2="327.758077"> + <stop offset="1" style="stop-color:#25f1d5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRea_2" x1="437.555046" x2="440.975799" y1="321.202638" y2="319.940788"> - <stop offset="0" style="stop-color:#33f6c6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#33f6c6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRea_2" x1="437.555046" x2="440.975799" y1="321.202638" y2="319.940788"> + <stop offset="1" style="stop-color:#25f1d5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#33f6c6;stop-opacity:0;"/> </linearGradient> - <polygon id="GTea" points="437.555046 321.202638 436.264526 307.168988 443.672384 327.250969"/> </defs> - <use fill="#25f1d5" fill-opacity="1" xlink:href="#GTea"/> - <use fill="url(#GRea_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTea"/> - <use fill="url(#GRea_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTea"/> - <use fill="url(#GRea_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTea"/> + <path d="M 437.555046,321.202638 L 436.264526,307.168988 443.672384,327.250969 Z" fill="#25f1d5" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 437.555046,321.202638 L 436.264526,307.168988 443.672384,327.250969 Z" fill="url(#GRea_0)" shape-rendering="crispEdges"/> + <path d="M 437.555046,321.202638 L 436.264526,307.168988 443.672384,327.250969 Z" fill="url(#GRea_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 437.555046,321.202638 L 436.264526,307.168988 443.672384,327.250969 Z" fill="url(#GRea_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GReb_0" x1="443.672384" x2="438.157877" y1="327.250969" y2="327.758077"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GReb_0" x1="443.672384" x2="438.157877" y1="327.250969" y2="327.758077"> + <stop offset="1" style="stop-color:#47fcb0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GReb_1" x1="438.845566" x2="445.224" y1="335.236289" y2="328.785081"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GReb_1" x1="438.845566" x2="445.224" y1="335.236289" y2="328.785081"> + <stop offset="1" style="stop-color:#47fcb0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GReb_2" x1="437.555046" x2="444.713029" y1="321.202638" y2="325.529363"> - <stop offset="0" style="stop-color:#33f6c6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#33f6c6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GReb_2" x1="437.555046" x2="444.713029" y1="321.202638" y2="325.529363"> + <stop offset="1" style="stop-color:#47fcb0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#33f6c6;stop-opacity:0;"/> </linearGradient> - <polygon id="GTeb" points="437.555046 321.202638 443.672384 327.250969 438.845566 335.236289"/> </defs> - <use fill="#47fcb0" fill-opacity="1" xlink:href="#GTeb"/> - <use fill="url(#GReb_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTeb"/> - <use fill="url(#GReb_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTeb"/> - <use fill="url(#GReb_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTeb"/> + <path d="M 437.555046,321.202638 L 443.672384,327.250969 438.845566,335.236289 Z" fill="#47fcb0" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 437.555046,321.202638 L 443.672384,327.250969 438.845566,335.236289 Z" fill="url(#GReb_0)" shape-rendering="crispEdges"/> + <path d="M 437.555046,321.202638 L 443.672384,327.250969 438.845566,335.236289 Z" fill="url(#GReb_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 437.555046,321.202638 L 443.672384,327.250969 438.845566,335.236289 Z" fill="url(#GReb_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRec_0" x1="431.437708" x2="438.512254" y1="315.154308" y2="310.962448"> - <stop offset="0" style="stop-color:#29ffce;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#29ffce;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRec_0" x1="431.437708" x2="438.512254" y1="315.154308" y2="310.962448"> + <stop offset="1" style="stop-color:#13eee5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#29ffce;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRec_1" x1="427.591628" x2="432.157891" y1="292.53185" y2="292.678163"> - <stop offset="0" style="stop-color:#06ecf1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06ecf1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRec_1" x1="427.591628" x2="432.157891" y1="292.53185" y2="292.678163"> + <stop offset="1" style="stop-color:#13eee5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06ecf1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRec_2" x1="431.928077" x2="428.922735" y1="299.850419" y2="300.361362"> - <stop offset="0" style="stop-color:#0cddef;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0cddef;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRec_2" x1="431.928077" x2="428.922735" y1="299.850419" y2="300.361362"> + <stop offset="1" style="stop-color:#13eee5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0cddef;stop-opacity:0;"/> </linearGradient> - <polygon id="GTec" points="431.928077 299.850419 431.437708 315.154308 427.591628 292.53185"/> </defs> - <use fill="#13eee5" fill-opacity="1" xlink:href="#GTec"/> - <use fill="url(#GRec_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTec"/> - <use fill="url(#GRec_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTec"/> - <use fill="url(#GRec_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTec"/> + <path d="M 431.928077,299.850419 L 431.437708,315.154308 427.591628,292.53185 Z" fill="#13eee5" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 431.928077,299.850419 L 431.437708,315.154308 427.591628,292.53185 Z" fill="url(#GRec_0)" shape-rendering="crispEdges"/> + <path d="M 431.928077,299.850419 L 431.437708,315.154308 427.591628,292.53185 Z" fill="url(#GRec_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 431.928077,299.850419 L 431.437708,315.154308 427.591628,292.53185 Z" fill="url(#GRec_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRed_0" x1="427.591628" x2="432.157891" y1="292.53185" y2="292.678163"> - <stop offset="0" style="stop-color:#06ecf1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06ecf1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRed_0" x1="427.591628" x2="432.157891" y1="292.53185" y2="292.678163"> + <stop offset="1" style="stop-color:#06d2f5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06ecf1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRed_1" x1="432.418446" x2="425.3439" y1="284.54653" y2="288.738389"> - <stop offset="0" style="stop-color:#00acff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00acff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRed_1" x1="432.418446" x2="425.3439" y1="284.54653" y2="288.738389"> + <stop offset="1" style="stop-color:#06d2f5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00acff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRed_2" x1="431.928077" x2="425.512073" y1="299.850419" y2="295.972192"> - <stop offset="0" style="stop-color:#0cddef;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0cddef;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRed_2" x1="431.928077" x2="425.512073" y1="299.850419" y2="295.972192"> + <stop offset="1" style="stop-color:#06d2f5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0cddef;stop-opacity:0;"/> </linearGradient> - <polygon id="GTed" points="431.928077 299.850419 427.591628 292.53185 432.418446 284.54653"/> </defs> - <use fill="#06d2f5" fill-opacity="1" xlink:href="#GTed"/> - <use fill="url(#GRed_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTed"/> - <use fill="url(#GRed_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTed"/> - <use fill="url(#GRed_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTed"/> + <path d="M 431.928077,299.850419 L 427.591628,292.53185 432.418446,284.54653 Z" fill="#06d2f5" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 431.928077,299.850419 L 427.591628,292.53185 432.418446,284.54653 Z" fill="url(#GRed_0)" shape-rendering="crispEdges"/> + <path d="M 431.928077,299.850419 L 427.591628,292.53185 432.418446,284.54653 Z" fill="url(#GRed_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 431.928077,299.850419 L 427.591628,292.53185 432.418446,284.54653 Z" fill="url(#GRed_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRee_0" x1="432.418446" x2="425.3439" y1="284.54653" y2="288.738389"> - <stop offset="0" style="stop-color:#00acff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00acff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRee_0" x1="432.418446" x2="425.3439" y1="284.54653" y2="288.738389"> + <stop offset="1" style="stop-color:#04cdf9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00acff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRee_1" x1="436.264526" x2="431.698263" y1="307.168988" y2="307.022675"> - <stop offset="0" style="stop-color:#00dcfe;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00dcfe;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRee_1" x1="436.264526" x2="431.698263" y1="307.168988" y2="307.022675"> + <stop offset="1" style="stop-color:#04cdf9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00dcfe;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRee_2" x1="431.928077" x2="434.933418" y1="299.850419" y2="299.339476"> - <stop offset="0" style="stop-color:#0cddef;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0cddef;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRee_2" x1="431.928077" x2="434.933418" y1="299.850419" y2="299.339476"> + <stop offset="1" style="stop-color:#04cdf9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0cddef;stop-opacity:0;"/> </linearGradient> - <polygon id="GTee" points="431.928077 299.850419 432.418446 284.54653 436.264526 307.168988"/> </defs> - <use fill="#04cdf9" fill-opacity="1" xlink:href="#GTee"/> - <use fill="url(#GRee_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTee"/> - <use fill="url(#GRee_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTee"/> - <use fill="url(#GRee_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTee"/> + <path d="M 431.928077,299.850419 L 432.418446,284.54653 436.264526,307.168988 Z" fill="#04cdf9" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 431.928077,299.850419 L 432.418446,284.54653 436.264526,307.168988 Z" fill="url(#GRee_0)" shape-rendering="crispEdges"/> + <path d="M 431.928077,299.850419 L 432.418446,284.54653 436.264526,307.168988 Z" fill="url(#GRee_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 431.928077,299.850419 L 432.418446,284.54653 436.264526,307.168988 Z" fill="url(#GRee_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRef_0" x1="436.264526" x2="431.698263" y1="307.168988" y2="307.022675"> - <stop offset="0" style="stop-color:#00dcfe;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00dcfe;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRef_0" x1="436.264526" x2="431.698263" y1="307.168988" y2="307.022675"> + <stop offset="1" style="stop-color:#12e8e9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00dcfe;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRef_1" x1="431.437708" x2="438.512254" y1="315.154308" y2="310.962448"> - <stop offset="0" style="stop-color:#29ffce;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#29ffce;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRef_1" x1="431.437708" x2="438.512254" y1="315.154308" y2="310.962448"> + <stop offset="1" style="stop-color:#12e8e9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#29ffce;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRef_2" x1="431.928077" x2="438.34408" y1="299.850419" y2="303.728645"> - <stop offset="0" style="stop-color:#0cddef;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0cddef;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRef_2" x1="431.928077" x2="438.34408" y1="299.850419" y2="303.728645"> + <stop offset="1" style="stop-color:#12e8e9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0cddef;stop-opacity:0;"/> </linearGradient> - <polygon id="GTef" points="431.928077 299.850419 436.264526 307.168988 431.437708 315.154308"/> </defs> - <use fill="#12e8e9" fill-opacity="1" xlink:href="#GTef"/> - <use fill="url(#GRef_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTef"/> - <use fill="url(#GRef_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTef"/> - <use fill="url(#GRef_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTef"/> + <path d="M 431.928077,299.850419 L 436.264526,307.168988 431.437708,315.154308 Z" fill="#12e8e9" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 431.928077,299.850419 L 436.264526,307.168988 431.437708,315.154308 Z" fill="url(#GRef_0)" shape-rendering="crispEdges"/> + <path d="M 431.928077,299.850419 L 436.264526,307.168988 431.437708,315.154308 Z" fill="url(#GRef_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 431.928077,299.850419 L 436.264526,307.168988 431.437708,315.154308 Z" fill="url(#GRef_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRf0_0" x1="427.591628" x2="434.258231" y1="292.53185" y2="290.456536"> - <stop offset="0" style="stop-color:#06ecf1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06ecf1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRf0_0" x1="427.591628" x2="434.258231" y1="292.53185" y2="290.456536"> + <stop offset="1" style="stop-color:#05e2f3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06ecf1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRf0_1" x1="427.591628" x2="431.111139" y1="269.041173" y2="269.580888"> - <stop offset="0" style="stop-color:#06ecf1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06ecf1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRf0_1" x1="427.591628" x2="431.111139" y1="269.041173" y2="269.580888"> + <stop offset="1" style="stop-color:#05e2f3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06ecf1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRf0_2" x1="430.005037" x2="427.591628" y1="276.793852" y2="276.793852"> - <stop offset="0" style="stop-color:#03ccf8;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#03ccf8;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRf0_2" x1="430.005037" x2="427.591628" y1="276.793852" y2="276.793852"> + <stop offset="1" style="stop-color:#05e2f3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#03ccf8;stop-opacity:0;"/> </linearGradient> - <polygon id="GTf0" points="430.005037 276.793852 427.591628 292.53185 427.591628 269.041173"/> </defs> - <use fill="#05e2f3" fill-opacity="1" xlink:href="#GTf0"/> - <use fill="url(#GRf0_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTf0"/> - <use fill="url(#GRf0_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTf0"/> - <use fill="url(#GRf0_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTf0"/> + <path d="M 430.005037,276.793852 L 427.591628,292.53185 427.591628,269.041173 Z" fill="#05e2f3" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 430.005037,276.793852 L 427.591628,292.53185 427.591628,269.041173 Z" fill="url(#GRf0_0)" shape-rendering="crispEdges"/> + <path d="M 430.005037,276.793852 L 427.591628,292.53185 427.591628,269.041173 Z" fill="url(#GRf0_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 430.005037,276.793852 L 427.591628,292.53185 427.591628,269.041173 Z" fill="url(#GRf0_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRf1_0" x1="427.591628" x2="431.111139" y1="269.041173" y2="269.580888"> - <stop offset="0" style="stop-color:#06ecf1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06ecf1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRf1_0" x1="427.591628" x2="431.111139" y1="269.041173" y2="269.580888"> + <stop offset="1" style="stop-color:#03cdf8;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06ecf1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRf1_1" x1="432.418446" x2="425.751842" y1="261.055853" y2="263.131167"> - <stop offset="0" style="stop-color:#00acff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00acff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRf1_1" x1="432.418446" x2="425.751842" y1="261.055853" y2="263.131167"> + <stop offset="1" style="stop-color:#03cdf8;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00acff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRf1_2" x1="430.005037" x2="424.805285" y1="276.793852" y2="273.650802"> - <stop offset="0" style="stop-color:#03ccf8;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#03ccf8;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRf1_2" x1="430.005037" x2="424.805285" y1="276.793852" y2="273.650802"> + <stop offset="1" style="stop-color:#03cdf8;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#03ccf8;stop-opacity:0;"/> </linearGradient> - <polygon id="GTf1" points="430.005037 276.793852 427.591628 269.041173 432.418446 261.055853"/> </defs> - <use fill="#03cdf8" fill-opacity="1" xlink:href="#GTf1"/> - <use fill="url(#GRf1_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTf1"/> - <use fill="url(#GRf1_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTf1"/> - <use fill="url(#GRf1_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTf1"/> + <path d="M 430.005037,276.793852 L 427.591628,269.041173 432.418446,261.055853 Z" fill="#03cdf8" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 430.005037,276.793852 L 427.591628,269.041173 432.418446,261.055853 Z" fill="url(#GRf1_0)" shape-rendering="crispEdges"/> + <path d="M 430.005037,276.793852 L 427.591628,269.041173 432.418446,261.055853 Z" fill="url(#GRf1_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 430.005037,276.793852 L 427.591628,269.041173 432.418446,261.055853 Z" fill="url(#GRf1_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRf2_0" x1="432.418446" x2="425.751842" y1="261.055853" y2="263.131167"> - <stop offset="0" style="stop-color:#00acff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00acff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRf2_0" x1="432.418446" x2="425.751842" y1="261.055853" y2="263.131167"> + <stop offset="1" style="stop-color:#01b7fd;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00acff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRf2_1" x1="432.418446" x2="428.898935" y1="284.54653" y2="284.006816"> - <stop offset="0" style="stop-color:#00acff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00acff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRf2_1" x1="432.418446" x2="428.898935" y1="284.54653" y2="284.006816"> + <stop offset="1" style="stop-color:#01b7fd;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00acff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRf2_2" x1="430.005037" x2="432.418446" y1="276.793852" y2="276.793852"> - <stop offset="0" style="stop-color:#03ccf8;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#03ccf8;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRf2_2" x1="430.005037" x2="432.418446" y1="276.793852" y2="276.793852"> + <stop offset="1" style="stop-color:#01b7fd;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#03ccf8;stop-opacity:0;"/> </linearGradient> - <polygon id="GTf2" points="430.005037 276.793852 432.418446 261.055853 432.418446 284.54653"/> </defs> - <use fill="#01b7fd" fill-opacity="1" xlink:href="#GTf2"/> - <use fill="url(#GRf2_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTf2"/> - <use fill="url(#GRf2_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTf2"/> - <use fill="url(#GRf2_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTf2"/> + <path d="M 430.005037,276.793852 L 432.418446,261.055853 432.418446,284.54653 Z" fill="#01b7fd" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 430.005037,276.793852 L 432.418446,261.055853 432.418446,284.54653 Z" fill="url(#GRf2_0)" shape-rendering="crispEdges"/> + <path d="M 430.005037,276.793852 L 432.418446,261.055853 432.418446,284.54653 Z" fill="url(#GRf2_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 430.005037,276.793852 L 432.418446,261.055853 432.418446,284.54653 Z" fill="url(#GRf2_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRf3_0" x1="432.418446" x2="428.898935" y1="284.54653" y2="284.006816"> - <stop offset="0" style="stop-color:#00acff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00acff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRf3_0" x1="432.418446" x2="428.898935" y1="284.54653" y2="284.006816"> + <stop offset="1" style="stop-color:#03cdf8;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00acff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRf3_1" x1="427.591628" x2="434.258231" y1="292.53185" y2="290.456536"> - <stop offset="0" style="stop-color:#06ecf1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06ecf1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRf3_1" x1="427.591628" x2="434.258231" y1="292.53185" y2="290.456536"> + <stop offset="1" style="stop-color:#03cdf8;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06ecf1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRf3_2" x1="430.005037" x2="435.204788" y1="276.793852" y2="279.936901"> - <stop offset="0" style="stop-color:#03ccf8;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#03ccf8;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRf3_2" x1="430.005037" x2="435.204788" y1="276.793852" y2="279.936901"> + <stop offset="1" style="stop-color:#03cdf8;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#03ccf8;stop-opacity:0;"/> </linearGradient> - <polygon id="GTf3" points="430.005037 276.793852 432.418446 284.54653 427.591628 292.53185"/> </defs> - <use fill="#03cdf8" fill-opacity="1" xlink:href="#GTf3"/> - <use fill="url(#GRf3_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTf3"/> - <use fill="url(#GRf3_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTf3"/> - <use fill="url(#GRf3_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTf3"/> + <path d="M 430.005037,276.793852 L 432.418446,284.54653 427.591628,292.53185 Z" fill="#03cdf8" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 430.005037,276.793852 L 432.418446,284.54653 427.591628,292.53185 Z" fill="url(#GRf3_0)" shape-rendering="crispEdges"/> + <path d="M 430.005037,276.793852 L 432.418446,284.54653 427.591628,292.53185 Z" fill="url(#GRf3_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 430.005037,276.793852 L 432.418446,284.54653 427.591628,292.53185 Z" fill="url(#GRf3_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRf4_0" x1="427.591628" x2="432.929525" y1="269.041173" y2="268.683516"> - <stop offset="0" style="stop-color:#06ecf1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06ecf1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRf4_0" x1="427.591628" x2="432.929525" y1="269.041173" y2="268.683516"> + <stop offset="1" style="stop-color:#13eee5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06ecf1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRf4_1" x1="431.437708" x2="433.811263" y1="246.418716" y2="247.091277"> - <stop offset="0" style="stop-color:#29ffce;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#29ffce;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRf4_1" x1="431.437708" x2="433.811263" y1="246.418716" y2="247.091277"> + <stop offset="1" style="stop-color:#13eee5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#29ffce;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRf4_2" x1="431.928077" x2="430.242195" y1="253.737284" y2="253.450665"> - <stop offset="0" style="stop-color:#0cddef;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0cddef;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRf4_2" x1="431.928077" x2="430.242195" y1="253.737284" y2="253.450665"> + <stop offset="1" style="stop-color:#13eee5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0cddef;stop-opacity:0;"/> </linearGradient> - <polygon id="GTf4" points="431.928077 253.737284 427.591628 269.041173 431.437708 246.418716"/> </defs> - <use fill="#13eee5" fill-opacity="1" xlink:href="#GTf4"/> - <use fill="url(#GRf4_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTf4"/> - <use fill="url(#GRf4_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTf4"/> - <use fill="url(#GRf4_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTf4"/> + <path d="M 431.928077,253.737284 L 427.591628,269.041173 431.437708,246.418716 Z" fill="#13eee5" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 431.928077,253.737284 L 427.591628,269.041173 431.437708,246.418716 Z" fill="url(#GRf4_0)" shape-rendering="crispEdges"/> + <path d="M 431.928077,253.737284 L 427.591628,269.041173 431.437708,246.418716 Z" fill="url(#GRf4_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 431.928077,253.737284 L 427.591628,269.041173 431.437708,246.418716 Z" fill="url(#GRf4_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRf5_0" x1="431.437708" x2="433.811263" y1="246.418716" y2="247.091277"> - <stop offset="0" style="stop-color:#29ffce;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#29ffce;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRf5_0" x1="431.437708" x2="433.811263" y1="246.418716" y2="247.091277"> + <stop offset="1" style="stop-color:#12e8e9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#29ffce;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRf5_1" x1="436.264526" x2="430.926629" y1="238.433395" y2="238.791053"> - <stop offset="0" style="stop-color:#00dcfe;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00dcfe;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRf5_1" x1="436.264526" x2="430.926629" y1="238.433395" y2="238.791053"> + <stop offset="1" style="stop-color:#12e8e9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00dcfe;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRf5_2" x1="431.928077" x2="428.328944" y1="253.737284" y2="251.561747"> - <stop offset="0" style="stop-color:#0cddef;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0cddef;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRf5_2" x1="431.928077" x2="428.328944" y1="253.737284" y2="251.561747"> + <stop offset="1" style="stop-color:#12e8e9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0cddef;stop-opacity:0;"/> </linearGradient> - <polygon id="GTf5" points="431.928077 253.737284 431.437708 246.418716 436.264526 238.433395"/> </defs> - <use fill="#12e8e9" fill-opacity="1" xlink:href="#GTf5"/> - <use fill="url(#GRf5_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTf5"/> - <use fill="url(#GRf5_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTf5"/> - <use fill="url(#GRf5_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTf5"/> + <path d="M 431.928077,253.737284 L 431.437708,246.418716 436.264526,238.433395 Z" fill="#12e8e9" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 431.928077,253.737284 L 431.437708,246.418716 436.264526,238.433395 Z" fill="url(#GRf5_0)" shape-rendering="crispEdges"/> + <path d="M 431.928077,253.737284 L 431.437708,246.418716 436.264526,238.433395 Z" fill="url(#GRf5_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 431.928077,253.737284 L 431.437708,246.418716 436.264526,238.433395 Z" fill="url(#GRf5_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRf6_0" x1="436.264526" x2="430.926629" y1="238.433395" y2="238.791053"> - <stop offset="0" style="stop-color:#00dcfe;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00dcfe;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRf6_0" x1="436.264526" x2="430.926629" y1="238.433395" y2="238.791053"> + <stop offset="1" style="stop-color:#04cdf9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00dcfe;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRf6_1" x1="432.418446" x2="430.044891" y1="261.055853" y2="260.383292"> - <stop offset="0" style="stop-color:#00acff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00acff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRf6_1" x1="432.418446" x2="430.044891" y1="261.055853" y2="260.383292"> + <stop offset="1" style="stop-color:#04cdf9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00acff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRf6_2" x1="431.928077" x2="433.613959" y1="253.737284" y2="254.023904"> - <stop offset="0" style="stop-color:#0cddef;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0cddef;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRf6_2" x1="431.928077" x2="433.613959" y1="253.737284" y2="254.023904"> + <stop offset="1" style="stop-color:#04cdf9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0cddef;stop-opacity:0;"/> </linearGradient> - <polygon id="GTf6" points="431.928077 253.737284 436.264526 238.433395 432.418446 261.055853"/> </defs> - <use fill="#04cdf9" fill-opacity="1" xlink:href="#GTf6"/> - <use fill="url(#GRf6_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTf6"/> - <use fill="url(#GRf6_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTf6"/> - <use fill="url(#GRf6_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTf6"/> + <path d="M 431.928077,253.737284 L 436.264526,238.433395 432.418446,261.055853 Z" fill="#04cdf9" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 431.928077,253.737284 L 436.264526,238.433395 432.418446,261.055853 Z" fill="url(#GRf6_0)" shape-rendering="crispEdges"/> + <path d="M 431.928077,253.737284 L 436.264526,238.433395 432.418446,261.055853 Z" fill="url(#GRf6_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 431.928077,253.737284 L 436.264526,238.433395 432.418446,261.055853 Z" fill="url(#GRf6_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRf7_0" x1="432.418446" x2="430.044891" y1="261.055853" y2="260.383292"> - <stop offset="0" style="stop-color:#00acff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00acff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRf7_0" x1="432.418446" x2="430.044891" y1="261.055853" y2="260.383292"> + <stop offset="1" style="stop-color:#06d2f5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00acff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRf7_1" x1="427.591628" x2="432.929525" y1="269.041173" y2="268.683516"> - <stop offset="0" style="stop-color:#06ecf1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06ecf1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRf7_1" x1="427.591628" x2="432.929525" y1="269.041173" y2="268.683516"> + <stop offset="1" style="stop-color:#06d2f5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06ecf1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRf7_2" x1="431.928077" x2="435.52721" y1="253.737284" y2="255.912822"> - <stop offset="0" style="stop-color:#0cddef;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0cddef;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRf7_2" x1="431.928077" x2="435.52721" y1="253.737284" y2="255.912822"> + <stop offset="1" style="stop-color:#06d2f5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0cddef;stop-opacity:0;"/> </linearGradient> - <polygon id="GTf7" points="431.928077 253.737284 432.418446 261.055853 427.591628 269.041173"/> </defs> - <use fill="#06d2f5" fill-opacity="1" xlink:href="#GTf7"/> - <use fill="url(#GRf7_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTf7"/> - <use fill="url(#GRf7_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTf7"/> - <use fill="url(#GRf7_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTf7"/> + <path d="M 431.928077,253.737284 L 432.418446,261.055853 427.591628,269.041173 Z" fill="#06d2f5" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 431.928077,253.737284 L 432.418446,261.055853 427.591628,269.041173 Z" fill="url(#GRf7_0)" shape-rendering="crispEdges"/> + <path d="M 431.928077,253.737284 L 432.418446,261.055853 427.591628,269.041173 Z" fill="url(#GRf7_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 431.928077,253.737284 L 432.418446,261.055853 427.591628,269.041173 Z" fill="url(#GRf7_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRf8_0" x1="431.437708" x2="434.424728" y1="246.418716" y2="247.05605"> - <stop offset="0" style="stop-color:#29ffce;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#29ffce;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRf8_0" x1="431.437708" x2="434.424728" y1="246.418716" y2="247.05605"> + <stop offset="1" style="stop-color:#41fcb7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#29ffce;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRf8_1" x1="438.845566" x2="439.976627" y1="226.336735" y2="226.82977"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRf8_1" x1="438.845566" x2="439.976627" y1="226.336735" y2="226.82977"> + <stop offset="1" style="stop-color:#41fcb7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRf8_2" x1="437.555046" x2="436.727112" y1="232.385065" y2="232.079656"> - <stop offset="0" style="stop-color:#33f6c6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#33f6c6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRf8_2" x1="437.555046" x2="436.727112" y1="232.385065" y2="232.079656"> + <stop offset="1" style="stop-color:#41fcb7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#33f6c6;stop-opacity:0;"/> </linearGradient> - <polygon id="GTf8" points="437.555046 232.385065 431.437708 246.418716 438.845566 226.336735"/> </defs> - <use fill="#41fcb7" fill-opacity="1" xlink:href="#GTf8"/> - <use fill="url(#GRf8_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTf8"/> - <use fill="url(#GRf8_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTf8"/> - <use fill="url(#GRf8_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTf8"/> + <path d="M 437.555046,232.385065 L 431.437708,246.418716 438.845566,226.336735 Z" fill="#41fcb7" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 437.555046,232.385065 L 431.437708,246.418716 438.845566,226.336735 Z" fill="url(#GRf8_0)" shape-rendering="crispEdges"/> + <path d="M 437.555046,232.385065 L 431.437708,246.418716 438.845566,226.336735 Z" fill="url(#GRf8_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 437.555046,232.385065 L 431.437708,246.418716 438.845566,226.336735 Z" fill="url(#GRf8_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRf9_0" x1="438.845566" x2="439.976627" y1="226.336735" y2="226.82977"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRf9_0" x1="438.845566" x2="439.976627" y1="226.336735" y2="226.82977"> + <stop offset="1" style="stop-color:#47fcb0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRf9_1" x1="443.672384" x2="440.685364" y1="218.351415" y2="217.71408"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRf9_1" x1="443.672384" x2="440.685364" y1="218.351415" y2="217.71408"> + <stop offset="1" style="stop-color:#47fcb0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRf9_2" x1="437.555046" x2="435.822581" y1="232.385065" y2="231.337856"> - <stop offset="0" style="stop-color:#33f6c6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#33f6c6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRf9_2" x1="437.555046" x2="435.822581" y1="232.385065" y2="231.337856"> + <stop offset="1" style="stop-color:#47fcb0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#33f6c6;stop-opacity:0;"/> </linearGradient> - <polygon id="GTf9" points="437.555046 232.385065 438.845566 226.336735 443.672384 218.351415"/> </defs> - <use fill="#47fcb0" fill-opacity="1" xlink:href="#GTf9"/> - <use fill="url(#GRf9_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTf9"/> - <use fill="url(#GRf9_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTf9"/> - <use fill="url(#GRf9_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTf9"/> + <path d="M 437.555046,232.385065 L 438.845566,226.336735 443.672384,218.351415 Z" fill="#47fcb0" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 437.555046,232.385065 L 438.845566,226.336735 443.672384,218.351415 Z" fill="url(#GRf9_0)" shape-rendering="crispEdges"/> + <path d="M 437.555046,232.385065 L 438.845566,226.336735 443.672384,218.351415 Z" fill="url(#GRf9_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 437.555046,232.385065 L 438.845566,226.336735 443.672384,218.351415 Z" fill="url(#GRf9_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRfa_0" x1="443.672384" x2="440.685364" y1="218.351415" y2="217.71408"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRfa_0" x1="443.672384" x2="440.685364" y1="218.351415" y2="217.71408"> + <stop offset="1" style="stop-color:#25f1d5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRfa_1" x1="436.264526" x2="435.133465" y1="238.433395" y2="237.94036"> - <stop offset="0" style="stop-color:#00dcfe;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00dcfe;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRfa_1" x1="436.264526" x2="435.133465" y1="238.433395" y2="237.94036"> + <stop offset="1" style="stop-color:#25f1d5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00dcfe;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRfa_2" x1="437.555046" x2="438.38298" y1="232.385065" y2="232.690474"> - <stop offset="0" style="stop-color:#33f6c6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#33f6c6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRfa_2" x1="437.555046" x2="438.38298" y1="232.385065" y2="232.690474"> + <stop offset="1" style="stop-color:#25f1d5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#33f6c6;stop-opacity:0;"/> </linearGradient> - <polygon id="GTfa" points="437.555046 232.385065 443.672384 218.351415 436.264526 238.433395"/> </defs> - <use fill="#25f1d5" fill-opacity="1" xlink:href="#GTfa"/> - <use fill="url(#GRfa_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTfa"/> - <use fill="url(#GRfa_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTfa"/> - <use fill="url(#GRfa_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTfa"/> + <path d="M 437.555046,232.385065 L 443.672384,218.351415 436.264526,238.433395 Z" fill="#25f1d5" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 437.555046,232.385065 L 443.672384,218.351415 436.264526,238.433395 Z" fill="url(#GRfa_0)" shape-rendering="crispEdges"/> + <path d="M 437.555046,232.385065 L 443.672384,218.351415 436.264526,238.433395 Z" fill="url(#GRfa_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 437.555046,232.385065 L 443.672384,218.351415 436.264526,238.433395 Z" fill="url(#GRfa_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRfb_0" x1="436.264526" x2="435.133465" y1="238.433395" y2="237.94036"> - <stop offset="0" style="stop-color:#00dcfe;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00dcfe;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRfb_0" x1="436.264526" x2="435.133465" y1="238.433395" y2="237.94036"> + <stop offset="1" style="stop-color:#1ff1db;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00dcfe;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRfb_1" x1="431.437708" x2="434.424728" y1="246.418716" y2="247.05605"> - <stop offset="0" style="stop-color:#29ffce;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#29ffce;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRfb_1" x1="431.437708" x2="434.424728" y1="246.418716" y2="247.05605"> + <stop offset="1" style="stop-color:#1ff1db;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#29ffce;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRfb_2" x1="437.555046" x2="439.287512" y1="232.385065" y2="233.432274"> - <stop offset="0" style="stop-color:#33f6c6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#33f6c6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRfb_2" x1="437.555046" x2="439.287512" y1="232.385065" y2="233.432274"> + <stop offset="1" style="stop-color:#1ff1db;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#33f6c6;stop-opacity:0;"/> </linearGradient> - <polygon id="GTfb" points="437.555046 232.385065 436.264526 238.433395 431.437708 246.418716"/> </defs> - <use fill="#1ff1db" fill-opacity="1" xlink:href="#GTfb"/> - <use fill="url(#GRfb_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTfb"/> - <use fill="url(#GRfb_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTfb"/> - <use fill="url(#GRfb_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTfb"/> + <path d="M 437.555046,232.385065 L 436.264526,238.433395 431.437708,246.418716 Z" fill="#1ff1db" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 437.555046,232.385065 L 436.264526,238.433395 431.437708,246.418716 Z" fill="url(#GRfb_0)" shape-rendering="crispEdges"/> + <path d="M 437.555046,232.385065 L 436.264526,238.433395 431.437708,246.418716 Z" fill="url(#GRfb_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 437.555046,232.385065 L 436.264526,238.433395 431.437708,246.418716 Z" fill="url(#GRfb_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRfc_0" x1="438.845566" x2="438.367003" y1="226.336735" y2="226.005"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRfc_0" x1="438.845566" x2="438.367003" y1="226.336735" y2="226.005"> + <stop offset="1" style="stop-color:#88ff6e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRfc_1" x1="449.26761" x2="449.097979" y1="210.279696" y2="210.172107"> - <stop offset="0" style="stop-color:#b7ff40;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b7ff40;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRfc_1" x1="449.26761" x2="449.097979" y1="210.279696" y2="210.172107"> + <stop offset="1" style="stop-color:#88ff6e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b7ff40;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRfc_2" x1="446.469997" x2="446.595294" y1="214.315555" y2="214.396881"> - <stop offset="0" style="stop-color:#7bff7b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#7bff7b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRfc_2" x1="446.469997" x2="446.595294" y1="214.315555" y2="214.396881"> + <stop offset="1" style="stop-color:#88ff6e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#7bff7b;stop-opacity:0;"/> </linearGradient> - <polygon id="GTfc" points="446.469997 214.315555 438.845566 226.336735 449.26761 210.279696"/> </defs> - <use fill="#88ff6e" fill-opacity="1" xlink:href="#GTfc"/> - <use fill="url(#GRfc_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTfc"/> - <use fill="url(#GRfc_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTfc"/> - <use fill="url(#GRfc_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTfc"/> + <path d="M 446.469997,214.315555 L 438.845566,226.336735 449.26761,210.279696 Z" fill="#88ff6e" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 446.469997,214.315555 L 438.845566,226.336735 449.26761,210.279696 Z" fill="url(#GRfc_0)" shape-rendering="crispEdges"/> + <path d="M 446.469997,214.315555 L 438.845566,226.336735 449.26761,210.279696 Z" fill="url(#GRfc_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 446.469997,214.315555 L 438.845566,226.336735 449.26761,210.279696 Z" fill="url(#GRfc_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRfd_0" x1="449.26761" x2="449.097979" y1="210.279696" y2="210.172107"> - <stop offset="0" style="stop-color:#b7ff40;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b7ff40;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRfd_0" x1="449.26761" x2="449.097979" y1="210.279696" y2="210.172107"> + <stop offset="1" style="stop-color:#97ff5f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b7ff40;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRfd_1" x1="454.094428" x2="454.572991" y1="202.294376" y2="202.62611"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRfd_1" x1="454.094428" x2="454.572991" y1="202.294376" y2="202.62611"> + <stop offset="1" style="stop-color:#97ff5f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRfd_2" x1="446.469997" x2="446.732264" y1="214.315555" y2="214.474085"> - <stop offset="0" style="stop-color:#7bff7b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#7bff7b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRfd_2" x1="446.469997" x2="446.732264" y1="214.315555" y2="214.474085"> + <stop offset="1" style="stop-color:#97ff5f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#7bff7b;stop-opacity:0;"/> </linearGradient> - <polygon id="GTfd" points="446.469997 214.315555 449.26761 210.279696 454.094428 202.294376"/> </defs> - <use fill="#97ff5f" fill-opacity="1" xlink:href="#GTfd"/> - <use fill="url(#GRfd_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTfd"/> - <use fill="url(#GRfd_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTfd"/> - <use fill="url(#GRfd_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTfd"/> + <path d="M 446.469997,214.315555 L 449.26761,210.279696 454.094428,202.294376 Z" fill="#97ff5f" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 446.469997,214.315555 L 449.26761,210.279696 454.094428,202.294376 Z" fill="url(#GRfd_0)" shape-rendering="crispEdges"/> + <path d="M 446.469997,214.315555 L 449.26761,210.279696 454.094428,202.294376 Z" fill="url(#GRfd_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 446.469997,214.315555 L 449.26761,210.279696 454.094428,202.294376 Z" fill="url(#GRfd_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRfe_0" x1="454.094428" x2="454.572991" y1="202.294376" y2="202.62611"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRfe_0" x1="454.094428" x2="454.572991" y1="202.294376" y2="202.62611"> + <stop offset="1" style="stop-color:#6eff88;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRfe_1" x1="443.672384" x2="443.842016" y1="218.351415" y2="218.459003"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRfe_1" x1="443.672384" x2="443.842016" y1="218.351415" y2="218.459003"> + <stop offset="1" style="stop-color:#6eff88;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRfe_2" x1="446.469997" x2="446.3447" y1="214.315555" y2="214.23423"> - <stop offset="0" style="stop-color:#7bff7b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#7bff7b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRfe_2" x1="446.469997" x2="446.3447" y1="214.315555" y2="214.23423"> + <stop offset="1" style="stop-color:#6eff88;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#7bff7b;stop-opacity:0;"/> </linearGradient> - <polygon id="GTfe" points="446.469997 214.315555 454.094428 202.294376 443.672384 218.351415"/> </defs> - <use fill="#6eff88" fill-opacity="1" xlink:href="#GTfe"/> - <use fill="url(#GRfe_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTfe"/> - <use fill="url(#GRfe_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTfe"/> - <use fill="url(#GRfe_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTfe"/> + <path d="M 446.469997,214.315555 L 454.094428,202.294376 443.672384,218.351415 Z" fill="#6eff88" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 446.469997,214.315555 L 454.094428,202.294376 443.672384,218.351415 Z" fill="url(#GRfe_0)" shape-rendering="crispEdges"/> + <path d="M 446.469997,214.315555 L 454.094428,202.294376 443.672384,218.351415 Z" fill="url(#GRfe_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 446.469997,214.315555 L 454.094428,202.294376 443.672384,218.351415 Z" fill="url(#GRfe_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GRff_0" x1="443.672384" x2="443.842016" y1="218.351415" y2="218.459003"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRff_0" x1="443.672384" x2="443.842016" y1="218.351415" y2="218.459003"> + <stop offset="1" style="stop-color:#5fff97;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRff_1" x1="438.845566" x2="438.367003" y1="226.336735" y2="226.005"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRff_1" x1="438.845566" x2="438.367003" y1="226.336735" y2="226.005"> + <stop offset="1" style="stop-color:#5fff97;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GRff_2" x1="446.469997" x2="446.207731" y1="214.315555" y2="214.157025"> - <stop offset="0" style="stop-color:#7bff7b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#7bff7b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GRff_2" x1="446.469997" x2="446.207731" y1="214.315555" y2="214.157025"> + <stop offset="1" style="stop-color:#5fff97;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#7bff7b;stop-opacity:0;"/> </linearGradient> - <polygon id="GTff" points="446.469997 214.315555 443.672384 218.351415 438.845566 226.336735"/> </defs> - <use fill="#5fff97" fill-opacity="1" xlink:href="#GTff"/> - <use fill="url(#GRff_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTff"/> - <use fill="url(#GRff_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTff"/> - <use fill="url(#GRff_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GTff"/> + <path d="M 446.469997,214.315555 L 443.672384,218.351415 438.845566,226.336735 Z" fill="#5fff97" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 446.469997,214.315555 L 443.672384,218.351415 438.845566,226.336735 Z" fill="url(#GRff_0)" shape-rendering="crispEdges"/> + <path d="M 446.469997,214.315555 L 443.672384,218.351415 438.845566,226.336735 Z" fill="url(#GRff_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 446.469997,214.315555 L 443.672384,218.351415 438.845566,226.336735 Z" fill="url(#GRff_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR100_0" x1="449.26761" x2="447.26355" y1="210.279696" y2="204.786423"> - <stop offset="0" style="stop-color:#b7ff40;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b7ff40;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR100_0" x1="449.26761" x2="447.26355" y1="210.279696" y2="204.786423"> + <stop offset="1" style="stop-color:#d7ee23;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b7ff40;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR100_1" x1="461.933441" x2="460.542545" y1="199.43454" y2="198.142462"> - <stop offset="0" style="stop-color:#ffd700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR100_1" x1="461.933441" x2="460.542545" y1="199.43454" y2="198.142462"> + <stop offset="1" style="stop-color:#d7ee23;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR100_2" x1="458.013935" x2="458.965538" y1="200.864458" y2="201.975816"> - <stop offset="0" style="stop-color:#cff329;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#cff329;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR100_2" x1="458.013935" x2="458.965538" y1="200.864458" y2="201.975816"> + <stop offset="1" style="stop-color:#d7ee23;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#cff329;stop-opacity:0;"/> </linearGradient> - <polygon id="GT100" points="458.013935 200.864458 449.26761 210.279696 461.933441 199.43454"/> </defs> - <use fill="#d7ee23" fill-opacity="1" xlink:href="#GT100"/> - <use fill="url(#GR100_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT100"/> - <use fill="url(#GR100_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT100"/> - <use fill="url(#GR100_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT100"/> + <path d="M 458.013935,200.864458 L 449.26761,210.279696 461.933441,199.43454 Z" fill="#d7ee23" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 458.013935,200.864458 L 449.26761,210.279696 461.933441,199.43454 Z" fill="url(#GR100_0)" shape-rendering="crispEdges"/> + <path d="M 458.013935,200.864458 L 449.26761,210.279696 461.933441,199.43454 Z" fill="url(#GR100_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 458.013935,200.864458 L 449.26761,210.279696 461.933441,199.43454 Z" fill="url(#GR100_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR101_0" x1="461.933441" x2="460.542545" y1="199.43454" y2="198.142462"> - <stop offset="0" style="stop-color:#ffd700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR101_0" x1="461.933441" x2="460.542545" y1="199.43454" y2="198.142462"> + <stop offset="1" style="stop-color:#ecec0f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR101_1" x1="466.760259" x2="468.76432" y1="191.44922" y2="196.942493"> - <stop offset="0" style="stop-color:#f4f802;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f4f802;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR101_1" x1="466.760259" x2="468.76432" y1="191.44922" y2="196.942493"> + <stop offset="1" style="stop-color:#ecec0f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f4f802;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR101_2" x1="458.013935" x2="460.251546" y1="200.864458" y2="202.217008"> - <stop offset="0" style="stop-color:#cff329;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#cff329;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR101_2" x1="458.013935" x2="460.251546" y1="200.864458" y2="202.217008"> + <stop offset="1" style="stop-color:#ecec0f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#cff329;stop-opacity:0;"/> </linearGradient> - <polygon id="GT101" points="458.013935 200.864458 461.933441 199.43454 466.760259 191.44922"/> </defs> - <use fill="#ecec0f" fill-opacity="1" xlink:href="#GT101"/> - <use fill="url(#GR101_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT101"/> - <use fill="url(#GR101_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT101"/> - <use fill="url(#GR101_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT101"/> + <path d="M 458.013935,200.864458 L 461.933441,199.43454 466.760259,191.44922 Z" fill="#ecec0f" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 458.013935,200.864458 L 461.933441,199.43454 466.760259,191.44922 Z" fill="url(#GR101_0)" shape-rendering="crispEdges"/> + <path d="M 458.013935,200.864458 L 461.933441,199.43454 466.760259,191.44922 Z" fill="url(#GR101_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 458.013935,200.864458 L 461.933441,199.43454 466.760259,191.44922 Z" fill="url(#GR101_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR102_0" x1="466.760259" x2="468.76432" y1="191.44922" y2="196.942493"> - <stop offset="0" style="stop-color:#f4f802;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f4f802;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR102_0" x1="466.760259" x2="468.76432" y1="191.44922" y2="196.942493"> + <stop offset="1" style="stop-color:#c8f930;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f4f802;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR102_1" x1="454.094428" x2="455.485325" y1="202.294376" y2="203.586455"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR102_1" x1="454.094428" x2="455.485325" y1="202.294376" y2="203.586455"> + <stop offset="1" style="stop-color:#c8f930;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR102_2" x1="458.013935" x2="457.062331" y1="200.864458" y2="199.7531"> - <stop offset="0" style="stop-color:#cff329;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#cff329;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR102_2" x1="458.013935" x2="457.062331" y1="200.864458" y2="199.7531"> + <stop offset="1" style="stop-color:#c8f930;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#cff329;stop-opacity:0;"/> </linearGradient> - <polygon id="GT102" points="458.013935 200.864458 466.760259 191.44922 454.094428 202.294376"/> </defs> - <use fill="#c8f930" fill-opacity="1" xlink:href="#GT102"/> - <use fill="url(#GR102_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT102"/> - <use fill="url(#GR102_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT102"/> - <use fill="url(#GR102_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT102"/> + <path d="M 458.013935,200.864458 L 466.760259,191.44922 454.094428,202.294376 Z" fill="#c8f930" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 458.013935,200.864458 L 466.760259,191.44922 454.094428,202.294376 Z" fill="url(#GR102_0)" shape-rendering="crispEdges"/> + <path d="M 458.013935,200.864458 L 466.760259,191.44922 454.094428,202.294376 Z" fill="url(#GR102_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 458.013935,200.864458 L 466.760259,191.44922 454.094428,202.294376 Z" fill="url(#GR102_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR103_0" x1="454.094428" x2="455.485325" y1="202.294376" y2="203.586455"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR103_0" x1="454.094428" x2="455.485325" y1="202.294376" y2="203.586455"> + <stop offset="1" style="stop-color:#b3fb44;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR103_1" x1="449.26761" x2="447.26355" y1="210.279696" y2="204.786423"> - <stop offset="0" style="stop-color:#b7ff40;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b7ff40;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR103_1" x1="449.26761" x2="447.26355" y1="210.279696" y2="204.786423"> + <stop offset="1" style="stop-color:#b3fb44;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b7ff40;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR103_2" x1="458.013935" x2="455.776323" y1="200.864458" y2="199.511908"> - <stop offset="0" style="stop-color:#cff329;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#cff329;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR103_2" x1="458.013935" x2="455.776323" y1="200.864458" y2="199.511908"> + <stop offset="1" style="stop-color:#b3fb44;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#cff329;stop-opacity:0;"/> </linearGradient> - <polygon id="GT103" points="458.013935 200.864458 454.094428 202.294376 449.26761 210.279696"/> </defs> - <use fill="#b3fb44" fill-opacity="1" xlink:href="#GT103"/> - <use fill="url(#GR103_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT103"/> - <use fill="url(#GR103_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT103"/> - <use fill="url(#GR103_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT103"/> + <path d="M 458.013935,200.864458 L 454.094428,202.294376 449.26761,210.279696 Z" fill="#b3fb44" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 458.013935,200.864458 L 454.094428,202.294376 449.26761,210.279696 Z" fill="url(#GR103_0)" shape-rendering="crispEdges"/> + <path d="M 458.013935,200.864458 L 454.094428,202.294376 449.26761,210.279696 Z" fill="url(#GR103_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 458.013935,200.864458 L 454.094428,202.294376 449.26761,210.279696 Z" fill="url(#GR103_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR104_0" x1="461.933441" x2="464.907095" y1="199.43454" y2="190.81025"> - <stop offset="0" style="stop-color:#ffd700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR104_0" x1="461.933441" x2="464.907095" y1="199.43454" y2="190.81025"> + <stop offset="1" style="stop-color:#fea500;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR104_1" x1="475.906795" x2="473.721778" y1="194.602945" y2="191.397906"> - <stop offset="0" style="stop-color:#ff6800;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6800;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR104_1" x1="475.906795" x2="473.721778" y1="194.602945" y2="191.397906"> + <stop offset="1" style="stop-color:#fea500;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6800;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR104_2" x1="471.333527" x2="472.308918" y1="193.026083" y2="195.84699"> - <stop offset="0" style="stop-color:#fcaf01;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fcaf01;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR104_2" x1="471.333527" x2="472.308918" y1="193.026083" y2="195.84699"> + <stop offset="1" style="stop-color:#fea500;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fcaf01;stop-opacity:0;"/> </linearGradient> - <polygon id="GT104" points="471.333527 193.026083 461.933441 199.43454 475.906795 194.602945"/> </defs> - <use fill="#fea500" fill-opacity="1" xlink:href="#GT104"/> - <use fill="url(#GR104_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT104"/> - <use fill="url(#GR104_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT104"/> - <use fill="url(#GR104_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT104"/> + <path d="M 471.333527,193.026083 L 461.933441,199.43454 475.906795,194.602945 Z" fill="#fea500" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 471.333527,193.026083 L 461.933441,199.43454 475.906795,194.602945 Z" fill="url(#GR104_0)" shape-rendering="crispEdges"/> + <path d="M 471.333527,193.026083 L 461.933441,199.43454 475.906795,194.602945 Z" fill="url(#GR104_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 471.333527,193.026083 L 461.933441,199.43454 475.906795,194.602945 Z" fill="url(#GR104_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR105_0" x1="475.906795" x2="473.721778" y1="194.602945" y2="191.397906"> - <stop offset="0" style="stop-color:#ff6800;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6800;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR105_0" x1="475.906795" x2="473.721778" y1="194.602945" y2="191.397906"> + <stop offset="1" style="stop-color:#fe8a00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6800;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR105_1" x1="480.733614" x2="477.759959" y1="186.617625" y2="195.241915"> - <stop offset="0" style="stop-color:#ff8600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR105_1" x1="480.733614" x2="477.759959" y1="186.617625" y2="195.241915"> + <stop offset="1" style="stop-color:#fe8a00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR105_2" x1="471.333527" x2="475.381079" y1="193.026083" y2="195.472672"> - <stop offset="0" style="stop-color:#fcaf01;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fcaf01;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR105_2" x1="471.333527" x2="475.381079" y1="193.026083" y2="195.472672"> + <stop offset="1" style="stop-color:#fe8a00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fcaf01;stop-opacity:0;"/> </linearGradient> - <polygon id="GT105" points="471.333527 193.026083 475.906795 194.602945 480.733614 186.617625"/> </defs> - <use fill="#fe8a00" fill-opacity="1" xlink:href="#GT105"/> - <use fill="url(#GR105_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT105"/> - <use fill="url(#GR105_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT105"/> - <use fill="url(#GR105_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT105"/> + <path d="M 471.333527,193.026083 L 475.906795,194.602945 480.733614,186.617625 Z" fill="#fe8a00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 471.333527,193.026083 L 475.906795,194.602945 480.733614,186.617625 Z" fill="url(#GR105_0)" shape-rendering="crispEdges"/> + <path d="M 471.333527,193.026083 L 475.906795,194.602945 480.733614,186.617625 Z" fill="url(#GR105_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 471.333527,193.026083 L 475.906795,194.602945 480.733614,186.617625 Z" fill="url(#GR105_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR106_0" x1="480.733614" x2="477.759959" y1="186.617625" y2="195.241915"> - <stop offset="0" style="stop-color:#ff8600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR106_0" x1="480.733614" x2="477.759959" y1="186.617625" y2="195.241915"> + <stop offset="1" style="stop-color:#fbba01;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR106_1" x1="466.760259" x2="468.945277" y1="191.44922" y2="194.654259"> - <stop offset="0" style="stop-color:#f4f802;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f4f802;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR106_1" x1="466.760259" x2="468.945277" y1="191.44922" y2="194.654259"> + <stop offset="1" style="stop-color:#fbba01;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f4f802;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR106_2" x1="471.333527" x2="470.358136" y1="193.026083" y2="190.205175"> - <stop offset="0" style="stop-color:#fcaf01;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fcaf01;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR106_2" x1="471.333527" x2="470.358136" y1="193.026083" y2="190.205175"> + <stop offset="1" style="stop-color:#fbba01;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fcaf01;stop-opacity:0;"/> </linearGradient> - <polygon id="GT106" points="471.333527 193.026083 480.733614 186.617625 466.760259 191.44922"/> </defs> - <use fill="#fbba01" fill-opacity="1" xlink:href="#GT106"/> - <use fill="url(#GR106_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT106"/> - <use fill="url(#GR106_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT106"/> - <use fill="url(#GR106_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT106"/> + <path d="M 471.333527,193.026083 L 480.733614,186.617625 466.760259,191.44922 Z" fill="#fbba01" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 471.333527,193.026083 L 480.733614,186.617625 466.760259,191.44922 Z" fill="url(#GR106_0)" shape-rendering="crispEdges"/> + <path d="M 471.333527,193.026083 L 480.733614,186.617625 466.760259,191.44922 Z" fill="url(#GR106_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 471.333527,193.026083 L 480.733614,186.617625 466.760259,191.44922 Z" fill="url(#GR106_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR107_0" x1="466.760259" x2="468.945277" y1="191.44922" y2="194.654259"> - <stop offset="0" style="stop-color:#f4f802;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f4f802;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR107_0" x1="466.760259" x2="468.945277" y1="191.44922" y2="194.654259"> + <stop offset="1" style="stop-color:#fbd501;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f4f802;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR107_1" x1="461.933441" x2="464.907095" y1="199.43454" y2="190.81025"> - <stop offset="0" style="stop-color:#ffd700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR107_1" x1="461.933441" x2="464.907095" y1="199.43454" y2="190.81025"> + <stop offset="1" style="stop-color:#fbd501;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR107_2" x1="471.333527" x2="467.285975" y1="193.026083" y2="190.579493"> - <stop offset="0" style="stop-color:#fcaf01;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fcaf01;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR107_2" x1="471.333527" x2="467.285975" y1="193.026083" y2="190.579493"> + <stop offset="1" style="stop-color:#fbd501;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fcaf01;stop-opacity:0;"/> </linearGradient> - <polygon id="GT107" points="471.333527 193.026083 466.760259 191.44922 461.933441 199.43454"/> </defs> - <use fill="#fbd501" fill-opacity="1" xlink:href="#GT107"/> - <use fill="url(#GR107_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT107"/> - <use fill="url(#GR107_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT107"/> - <use fill="url(#GR107_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT107"/> + <path d="M 471.333527,193.026083 L 466.760259,191.44922 461.933441,199.43454 Z" fill="#fbd501" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 471.333527,193.026083 L 466.760259,191.44922 461.933441,199.43454 Z" fill="url(#GR107_0)" shape-rendering="crispEdges"/> + <path d="M 471.333527,193.026083 L 466.760259,191.44922 461.933441,199.43454 Z" fill="url(#GR107_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 471.333527,193.026083 L 466.760259,191.44922 461.933441,199.43454 Z" fill="url(#GR107_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR108_0" x1="480.733614" x2="479.00382" y1="358.984758" y2="351.371373"> - <stop offset="0" style="stop-color:#ff8600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR108_0" x1="480.733614" x2="479.00382" y1="358.984758" y2="351.371373"> + <stop offset="1" style="stop-color:#f8c203;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR108_1" x1="466.760259" x2="473.745713" y1="354.153163" y2="349.176414"> - <stop offset="0" style="stop-color:#f4f802;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f4f802;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR108_1" x1="466.760259" x2="473.745713" y1="354.153163" y2="349.176414"> + <stop offset="1" style="stop-color:#f8c203;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f4f802;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR108_2" x1="475.824188" x2="474.220217" y1="352.093799" y2="356.732608"> - <stop offset="0" style="stop-color:#f3c708;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f3c708;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR108_2" x1="475.824188" x2="474.220217" y1="352.093799" y2="356.732608"> + <stop offset="1" style="stop-color:#f8c203;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f3c708;stop-opacity:0;"/> </linearGradient> - <polygon id="GT108" points="475.824188 352.093799 480.733614 358.984758 466.760259 354.153163"/> </defs> - <use fill="#f8c203" fill-opacity="1" xlink:href="#GT108"/> - <use fill="url(#GR108_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT108"/> - <use fill="url(#GR108_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT108"/> - <use fill="url(#GR108_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT108"/> + <path d="M 475.824188,352.093799 L 480.733614,358.984758 466.760259,354.153163 Z" fill="#f8c203" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 475.824188,352.093799 L 480.733614,358.984758 466.760259,354.153163 Z" fill="url(#GR108_0)" shape-rendering="crispEdges"/> + <path d="M 475.824188,352.093799 L 480.733614,358.984758 466.760259,354.153163 Z" fill="url(#GR108_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 475.824188,352.093799 L 480.733614,358.984758 466.760259,354.153163 Z" fill="url(#GR108_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR109_0" x1="466.760259" x2="473.745713" y1="354.153163" y2="349.176414"> - <stop offset="0" style="stop-color:#f4f802;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f4f802;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR109_0" x1="466.760259" x2="473.745713" y1="354.153163" y2="349.176414"> + <stop offset="1" style="stop-color:#ebea0d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f4f802;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR109_1" x1="470.914762" x2="472.644556" y1="345.20284" y2="352.816225"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR109_1" x1="470.914762" x2="472.644556" y1="345.20284" y2="352.816225"> + <stop offset="1" style="stop-color:#ebea0d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR109_2" x1="475.824188" x2="469.153424" y1="352.093799" y2="348.997407"> - <stop offset="0" style="stop-color:#f3c708;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f3c708;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR109_2" x1="475.824188" x2="469.153424" y1="352.093799" y2="348.997407"> + <stop offset="1" style="stop-color:#ebea0d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f3c708;stop-opacity:0;"/> </linearGradient> - <polygon id="GT109" points="475.824188 352.093799 466.760259 354.153163 470.914762 345.20284"/> </defs> - <use fill="#ebea0d" fill-opacity="1" xlink:href="#GT109"/> - <use fill="url(#GR109_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT109"/> - <use fill="url(#GR109_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT109"/> - <use fill="url(#GR109_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT109"/> + <path d="M 475.824188,352.093799 L 466.760259,354.153163 470.914762,345.20284 Z" fill="#ebea0d" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 475.824188,352.093799 L 466.760259,354.153163 470.914762,345.20284 Z" fill="url(#GR109_0)" shape-rendering="crispEdges"/> + <path d="M 475.824188,352.093799 L 466.760259,354.153163 470.914762,345.20284 Z" fill="url(#GR109_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 475.824188,352.093799 L 466.760259,354.153163 470.914762,345.20284 Z" fill="url(#GR109_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR10a_0" x1="470.914762" x2="472.644556" y1="345.20284" y2="352.816225"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR10a_0" x1="470.914762" x2="472.644556" y1="345.20284" y2="352.816225"> + <stop offset="1" style="stop-color:#efcd0c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR10a_1" x1="484.888116" x2="477.902662" y1="350.034436" y2="355.011184"> - <stop offset="0" style="stop-color:#ff9f00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff9f00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR10a_1" x1="484.888116" x2="477.902662" y1="350.034436" y2="355.011184"> + <stop offset="1" style="stop-color:#efcd0c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff9f00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR10a_2" x1="475.824188" x2="477.428158" y1="352.093799" y2="347.45499"> - <stop offset="0" style="stop-color:#f3c708;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f3c708;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR10a_2" x1="475.824188" x2="477.428158" y1="352.093799" y2="347.45499"> + <stop offset="1" style="stop-color:#efcd0c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f3c708;stop-opacity:0;"/> </linearGradient> - <polygon id="GT10a" points="475.824188 352.093799 470.914762 345.20284 484.888116 350.034436"/> </defs> - <use fill="#efcd0c" fill-opacity="1" xlink:href="#GT10a"/> - <use fill="url(#GR10a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT10a"/> - <use fill="url(#GR10a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT10a"/> - <use fill="url(#GR10a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT10a"/> + <path d="M 475.824188,352.093799 L 470.914762,345.20284 484.888116,350.034436 Z" fill="#efcd0c" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 475.824188,352.093799 L 470.914762,345.20284 484.888116,350.034436 Z" fill="url(#GR10a_0)" shape-rendering="crispEdges"/> + <path d="M 475.824188,352.093799 L 470.914762,345.20284 484.888116,350.034436 Z" fill="url(#GR10a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 475.824188,352.093799 L 470.914762,345.20284 484.888116,350.034436 Z" fill="url(#GR10a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR10b_0" x1="484.888116" x2="477.902662" y1="350.034436" y2="355.011184"> - <stop offset="0" style="stop-color:#ff9f00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff9f00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR10b_0" x1="484.888116" x2="477.902662" y1="350.034436" y2="355.011184"> + <stop offset="1" style="stop-color:#fba403;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff9f00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR10b_1" x1="480.733614" x2="479.00382" y1="358.984758" y2="351.371373"> - <stop offset="0" style="stop-color:#ff8600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR10b_1" x1="480.733614" x2="479.00382" y1="358.984758" y2="351.371373"> + <stop offset="1" style="stop-color:#fba403;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR10b_2" x1="475.824188" x2="482.494951" y1="352.093799" y2="355.190191"> - <stop offset="0" style="stop-color:#f3c708;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f3c708;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR10b_2" x1="475.824188" x2="482.494951" y1="352.093799" y2="355.190191"> + <stop offset="1" style="stop-color:#fba403;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f3c708;stop-opacity:0;"/> </linearGradient> - <polygon id="GT10b" points="475.824188 352.093799 484.888116 350.034436 480.733614 358.984758"/> </defs> - <use fill="#fba403" fill-opacity="1" xlink:href="#GT10b"/> - <use fill="url(#GR10b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT10b"/> - <use fill="url(#GR10b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT10b"/> - <use fill="url(#GR10b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT10b"/> + <path d="M 475.824188,352.093799 L 484.888116,350.034436 480.733614,358.984758 Z" fill="#fba403" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 475.824188,352.093799 L 484.888116,350.034436 480.733614,358.984758 Z" fill="url(#GR10b_0)" shape-rendering="crispEdges"/> + <path d="M 475.824188,352.093799 L 484.888116,350.034436 480.733614,358.984758 Z" fill="url(#GR10b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 475.824188,352.093799 L 484.888116,350.034436 480.733614,358.984758 Z" fill="url(#GR10b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR10c_0" x1="466.760259" x2="467.807951" y1="354.153163" y2="344.852854"> - <stop offset="0" style="stop-color:#f4f802;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f4f802;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR10c_0" x1="466.760259" x2="467.807951" y1="354.153163" y2="344.852854"> + <stop offset="1" style="stop-color:#bffc38;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f4f802;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR10c_1" x1="454.094428" x2="460.848607" y1="343.308007" y2="340.403959"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR10c_1" x1="454.094428" x2="460.848607" y1="343.308007" y2="340.403959"> + <stop offset="1" style="stop-color:#bffc38;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR10c_2" x1="462.504595" x2="459.414968" y1="344.255424" y2="347.863735"> - <stop offset="0" style="stop-color:#b5fd41;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b5fd41;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR10c_2" x1="462.504595" x2="459.414968" y1="344.255424" y2="347.863735"> + <stop offset="1" style="stop-color:#bffc38;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b5fd41;stop-opacity:0;"/> </linearGradient> - <polygon id="GT10c" points="462.504595 344.255424 466.760259 354.153163 454.094428 343.308007"/> </defs> - <use fill="#bffc38" fill-opacity="1" xlink:href="#GT10c"/> - <use fill="url(#GR10c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT10c"/> - <use fill="url(#GR10c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT10c"/> - <use fill="url(#GR10c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT10c"/> + <path d="M 462.504595,344.255424 L 466.760259,354.153163 454.094428,343.308007 Z" fill="#bffc38" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 462.504595,344.255424 L 466.760259,354.153163 454.094428,343.308007 Z" fill="url(#GR10c_0)" shape-rendering="crispEdges"/> + <path d="M 462.504595,344.255424 L 466.760259,354.153163 454.094428,343.308007 Z" fill="url(#GR10c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 462.504595,344.255424 L 466.760259,354.153163 454.094428,343.308007 Z" fill="url(#GR10c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR10d_0" x1="454.094428" x2="460.848607" y1="343.308007" y2="340.403959"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR10d_0" x1="454.094428" x2="460.848607" y1="343.308007" y2="340.403959"> + <stop offset="1" style="stop-color:#94fe63;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR10d_1" x1="458.248931" x2="457.201239" y1="334.357684" y2="343.657993"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR10d_1" x1="458.248931" x2="457.201239" y1="334.357684" y2="343.657993"> + <stop offset="1" style="stop-color:#94fe63;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR10d_2" x1="462.504595" x2="455.223439" y1="344.255424" y2="340.875704"> - <stop offset="0" style="stop-color:#b5fd41;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b5fd41;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR10d_2" x1="462.504595" x2="455.223439" y1="344.255424" y2="340.875704"> + <stop offset="1" style="stop-color:#94fe63;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b5fd41;stop-opacity:0;"/> </linearGradient> - <polygon id="GT10d" points="462.504595 344.255424 454.094428 343.308007 458.248931 334.357684"/> </defs> - <use fill="#94fe63" fill-opacity="1" xlink:href="#GT10d"/> - <use fill="url(#GR10d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT10d"/> - <use fill="url(#GR10d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT10d"/> - <use fill="url(#GR10d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT10d"/> + <path d="M 462.504595,344.255424 L 454.094428,343.308007 458.248931,334.357684 Z" fill="#94fe63" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 462.504595,344.255424 L 454.094428,343.308007 458.248931,334.357684 Z" fill="url(#GR10d_0)" shape-rendering="crispEdges"/> + <path d="M 462.504595,344.255424 L 454.094428,343.308007 458.248931,334.357684 Z" fill="url(#GR10d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 462.504595,344.255424 L 454.094428,343.308007 458.248931,334.357684 Z" fill="url(#GR10d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR10e_0" x1="458.248931" x2="457.201239" y1="334.357684" y2="343.657993"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR10e_0" x1="458.248931" x2="457.201239" y1="334.357684" y2="343.657993"> + <stop offset="1" style="stop-color:#acfe4b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR10e_1" x1="470.914762" x2="464.160583" y1="345.20284" y2="348.106888"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR10e_1" x1="470.914762" x2="464.160583" y1="345.20284" y2="348.106888"> + <stop offset="1" style="stop-color:#acfe4b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR10e_2" x1="462.504595" x2="465.594223" y1="344.255424" y2="340.647112"> - <stop offset="0" style="stop-color:#b5fd41;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b5fd41;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR10e_2" x1="462.504595" x2="465.594223" y1="344.255424" y2="340.647112"> + <stop offset="1" style="stop-color:#acfe4b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b5fd41;stop-opacity:0;"/> </linearGradient> - <polygon id="GT10e" points="462.504595 344.255424 458.248931 334.357684 470.914762 345.20284"/> </defs> - <use fill="#acfe4b" fill-opacity="1" xlink:href="#GT10e"/> - <use fill="url(#GR10e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT10e"/> - <use fill="url(#GR10e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT10e"/> - <use fill="url(#GR10e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT10e"/> + <path d="M 462.504595,344.255424 L 458.248931,334.357684 470.914762,345.20284 Z" fill="#acfe4b" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 462.504595,344.255424 L 458.248931,334.357684 470.914762,345.20284 Z" fill="url(#GR10e_0)" shape-rendering="crispEdges"/> + <path d="M 462.504595,344.255424 L 458.248931,334.357684 470.914762,345.20284 Z" fill="url(#GR10e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 462.504595,344.255424 L 458.248931,334.357684 470.914762,345.20284 Z" fill="url(#GR10e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR10f_0" x1="470.914762" x2="464.160583" y1="345.20284" y2="348.106888"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR10f_0" x1="470.914762" x2="464.160583" y1="345.20284" y2="348.106888"> + <stop offset="1" style="stop-color:#d7fc20;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR10f_1" x1="466.760259" x2="467.807951" y1="354.153163" y2="344.852854"> - <stop offset="0" style="stop-color:#f4f802;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f4f802;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR10f_1" x1="466.760259" x2="467.807951" y1="354.153163" y2="344.852854"> + <stop offset="1" style="stop-color:#d7fc20;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f4f802;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR10f_2" x1="462.504595" x2="469.785751" y1="344.255424" y2="347.635143"> - <stop offset="0" style="stop-color:#b5fd41;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b5fd41;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR10f_2" x1="462.504595" x2="469.785751" y1="344.255424" y2="347.635143"> + <stop offset="1" style="stop-color:#d7fc20;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b5fd41;stop-opacity:0;"/> </linearGradient> - <polygon id="GT10f" points="462.504595 344.255424 470.914762 345.20284 466.760259 354.153163"/> </defs> - <use fill="#d7fc20" fill-opacity="1" xlink:href="#GT10f"/> - <use fill="url(#GR10f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT10f"/> - <use fill="url(#GR10f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT10f"/> - <use fill="url(#GR10f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT10f"/> + <path d="M 462.504595,344.255424 L 470.914762,345.20284 466.760259,354.153163 Z" fill="#d7fc20" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 462.504595,344.255424 L 470.914762,345.20284 466.760259,354.153163 Z" fill="url(#GR10f_0)" shape-rendering="crispEdges"/> + <path d="M 462.504595,344.255424 L 470.914762,345.20284 466.760259,354.153163 Z" fill="url(#GR10f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 462.504595,344.255424 L 470.914762,345.20284 466.760259,354.153163 Z" fill="url(#GR10f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR110_0" x1="454.094428" x2="458.417937" y1="343.308007" y2="334.440082"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR110_0" x1="454.094428" x2="458.417937" y1="343.308007" y2="334.440082"> + <stop offset="1" style="stop-color:#62ff94;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR110_1" x1="443.672384" x2="449.691971" y1="327.250969" y2="325.742292"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR110_1" x1="443.672384" x2="449.691971" y1="327.250969" y2="325.742292"> + <stop offset="1" style="stop-color:#62ff94;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR110_2" x1="450.960658" x2="447.455435" y1="330.804326" y2="333.07944"> - <stop offset="0" style="stop-color:#57ffa0;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#57ffa0;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR110_2" x1="450.960658" x2="447.455435" y1="330.804326" y2="333.07944"> + <stop offset="1" style="stop-color:#62ff94;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#57ffa0;stop-opacity:0;"/> </linearGradient> - <polygon id="GT110" points="450.960658 330.804326 454.094428 343.308007 443.672384 327.250969"/> </defs> - <use fill="#62ff94" fill-opacity="1" xlink:href="#GT110"/> - <use fill="url(#GR110_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT110"/> - <use fill="url(#GR110_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT110"/> - <use fill="url(#GR110_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT110"/> + <path d="M 450.960658,330.804326 L 454.094428,343.308007 443.672384,327.250969 Z" fill="#62ff94" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 450.960658,330.804326 L 454.094428,343.308007 443.672384,327.250969 Z" fill="url(#GR110_0)" shape-rendering="crispEdges"/> + <path d="M 450.960658,330.804326 L 454.094428,343.308007 443.672384,327.250969 Z" fill="url(#GR110_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 450.960658,330.804326 L 454.094428,343.308007 443.672384,327.250969 Z" fill="url(#GR110_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR111_0" x1="443.672384" x2="449.691971" y1="327.250969" y2="325.742292"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR111_0" x1="443.672384" x2="449.691971" y1="327.250969" y2="325.742292"> + <stop offset="1" style="stop-color:#3affbd;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR111_1" x1="447.826887" x2="443.503379" y1="318.300646" y2="327.168571"> - <stop offset="0" style="stop-color:#19ffde;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19ffde;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR111_1" x1="447.826887" x2="443.503379" y1="318.300646" y2="327.168571"> + <stop offset="1" style="stop-color:#3affbd;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19ffde;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR111_2" x1="450.960658" x2="443.607335" y1="330.804326" y2="327.391109"> - <stop offset="0" style="stop-color:#57ffa0;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#57ffa0;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR111_2" x1="450.960658" x2="443.607335" y1="330.804326" y2="327.391109"> + <stop offset="1" style="stop-color:#3affbd;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#57ffa0;stop-opacity:0;"/> </linearGradient> - <polygon id="GT111" points="450.960658 330.804326 443.672384 327.250969 447.826887 318.300646"/> </defs> - <use fill="#3affbd" fill-opacity="1" xlink:href="#GT111"/> - <use fill="url(#GR111_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT111"/> - <use fill="url(#GR111_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT111"/> - <use fill="url(#GR111_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT111"/> + <path d="M 450.960658,330.804326 L 443.672384,327.250969 447.826887,318.300646 Z" fill="#3affbd" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 450.960658,330.804326 L 443.672384,327.250969 447.826887,318.300646 Z" fill="url(#GR111_0)" shape-rendering="crispEdges"/> + <path d="M 450.960658,330.804326 L 443.672384,327.250969 447.826887,318.300646 Z" fill="url(#GR111_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 450.960658,330.804326 L 443.672384,327.250969 447.826887,318.300646 Z" fill="url(#GR111_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR112_0" x1="447.826887" x2="443.503379" y1="318.300646" y2="327.168571"> - <stop offset="0" style="stop-color:#19ffde;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19ffde;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR112_0" x1="447.826887" x2="443.503379" y1="318.300646" y2="327.168571"> + <stop offset="1" style="stop-color:#4cffab;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19ffde;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR112_1" x1="458.248931" x2="452.229345" y1="334.357684" y2="335.866361"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR112_1" x1="458.248931" x2="452.229345" y1="334.357684" y2="335.866361"> + <stop offset="1" style="stop-color:#4cffab;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR112_2" x1="450.960658" x2="454.465881" y1="330.804326" y2="328.529213"> - <stop offset="0" style="stop-color:#57ffa0;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#57ffa0;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR112_2" x1="450.960658" x2="454.465881" y1="330.804326" y2="328.529213"> + <stop offset="1" style="stop-color:#4cffab;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#57ffa0;stop-opacity:0;"/> </linearGradient> - <polygon id="GT112" points="450.960658 330.804326 447.826887 318.300646 458.248931 334.357684"/> </defs> - <use fill="#4cffab" fill-opacity="1" xlink:href="#GT112"/> - <use fill="url(#GR112_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT112"/> - <use fill="url(#GR112_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT112"/> - <use fill="url(#GR112_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT112"/> + <path d="M 450.960658,330.804326 L 447.826887,318.300646 458.248931,334.357684 Z" fill="#4cffab" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 450.960658,330.804326 L 447.826887,318.300646 458.248931,334.357684 Z" fill="url(#GR112_0)" shape-rendering="crispEdges"/> + <path d="M 450.960658,330.804326 L 447.826887,318.300646 458.248931,334.357684 Z" fill="url(#GR112_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 450.960658,330.804326 L 447.826887,318.300646 458.248931,334.357684 Z" fill="url(#GR112_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR113_0" x1="458.248931" x2="452.229345" y1="334.357684" y2="335.866361"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR113_0" x1="458.248931" x2="452.229345" y1="334.357684" y2="335.866361"> + <stop offset="1" style="stop-color:#75ff82;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR113_1" x1="454.094428" x2="458.417937" y1="343.308007" y2="334.440082"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR113_1" x1="454.094428" x2="458.417937" y1="343.308007" y2="334.440082"> + <stop offset="1" style="stop-color:#75ff82;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR113_2" x1="450.960658" x2="458.313981" y1="330.804326" y2="334.217544"> - <stop offset="0" style="stop-color:#57ffa0;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#57ffa0;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR113_2" x1="450.960658" x2="458.313981" y1="330.804326" y2="334.217544"> + <stop offset="1" style="stop-color:#75ff82;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#57ffa0;stop-opacity:0;"/> </linearGradient> - <polygon id="GT113" points="450.960658 330.804326 458.248931 334.357684 454.094428 343.308007"/> </defs> - <use fill="#75ff82" fill-opacity="1" xlink:href="#GT113"/> - <use fill="url(#GR113_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT113"/> - <use fill="url(#GR113_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT113"/> - <use fill="url(#GR113_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT113"/> + <path d="M 450.960658,330.804326 L 458.248931,334.357684 454.094428,343.308007 Z" fill="#75ff82" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 450.960658,330.804326 L 458.248931,334.357684 454.094428,343.308007 Z" fill="url(#GR113_0)" shape-rendering="crispEdges"/> + <path d="M 450.960658,330.804326 L 458.248931,334.357684 454.094428,343.308007 Z" fill="url(#GR113_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 450.960658,330.804326 L 458.248931,334.357684 454.094428,343.308007 Z" fill="url(#GR113_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR114_0" x1="443.672384" x2="450.142756" y1="327.250969" y2="320.530247"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR114_0" x1="443.672384" x2="450.142756" y1="327.250969" y2="320.530247"> + <stop offset="1" style="stop-color:#1be9df;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR114_1" x1="436.264526" x2="441.35804" y1="307.168988" y2="306.598209"> - <stop offset="0" style="stop-color:#00dcfe;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00dcfe;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR114_1" x1="436.264526" x2="441.35804" y1="307.168988" y2="306.598209"> + <stop offset="1" style="stop-color:#1be9df;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00dcfe;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR114_2" x1="442.045707" x2="438.764181" y1="312.734817" y2="313.945309"> - <stop offset="0" style="stop-color:#15e0e5;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#15e0e5;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR114_2" x1="442.045707" x2="438.764181" y1="312.734817" y2="313.945309"> + <stop offset="1" style="stop-color:#1be9df;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#15e0e5;stop-opacity:0;"/> </linearGradient> - <polygon id="GT114" points="442.045707 312.734817 443.672384 327.250969 436.264526 307.168988"/> </defs> - <use fill="#1be9df" fill-opacity="1" xlink:href="#GT114"/> - <use fill="url(#GR114_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT114"/> - <use fill="url(#GR114_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT114"/> - <use fill="url(#GR114_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT114"/> + <path d="M 442.045707,312.734817 L 443.672384,327.250969 436.264526,307.168988 Z" fill="#1be9df" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 442.045707,312.734817 L 443.672384,327.250969 436.264526,307.168988 Z" fill="url(#GR114_0)" shape-rendering="crispEdges"/> + <path d="M 442.045707,312.734817 L 443.672384,327.250969 436.264526,307.168988 Z" fill="url(#GR114_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 442.045707,312.734817 L 443.672384,327.250969 436.264526,307.168988 Z" fill="url(#GR114_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR115_0" x1="436.264526" x2="441.35804" y1="307.168988" y2="306.598209"> - <stop offset="0" style="stop-color:#00dcfe;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00dcfe;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR115_0" x1="436.264526" x2="441.35804" y1="307.168988" y2="306.598209"> + <stop offset="1" style="stop-color:#07cbf6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00dcfe;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR115_1" x1="440.419029" x2="433.948658" y1="298.218665" y2="304.939386"> - <stop offset="0" style="stop-color:#00a4ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a4ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR115_1" x1="440.419029" x2="433.948658" y1="298.218665" y2="304.939386"> + <stop offset="1" style="stop-color:#07cbf6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a4ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR115_2" x1="442.045707" x2="435.163776" y1="312.734817" y2="309.540407"> - <stop offset="0" style="stop-color:#15e0e5;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#15e0e5;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR115_2" x1="442.045707" x2="435.163776" y1="312.734817" y2="309.540407"> + <stop offset="1" style="stop-color:#07cbf6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#15e0e5;stop-opacity:0;"/> </linearGradient> - <polygon id="GT115" points="442.045707 312.734817 436.264526 307.168988 440.419029 298.218665"/> </defs> - <use fill="#07cbf6" fill-opacity="1" xlink:href="#GT115"/> - <use fill="url(#GR115_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT115"/> - <use fill="url(#GR115_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT115"/> - <use fill="url(#GR115_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT115"/> + <path d="M 442.045707,312.734817 L 436.264526,307.168988 440.419029,298.218665 Z" fill="#07cbf6" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 442.045707,312.734817 L 436.264526,307.168988 440.419029,298.218665 Z" fill="url(#GR115_0)" shape-rendering="crispEdges"/> + <path d="M 442.045707,312.734817 L 436.264526,307.168988 440.419029,298.218665 Z" fill="url(#GR115_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 442.045707,312.734817 L 436.264526,307.168988 440.419029,298.218665 Z" fill="url(#GR115_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR116_0" x1="440.419029" x2="433.948658" y1="298.218665" y2="304.939386"> - <stop offset="0" style="stop-color:#00a4ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a4ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR116_0" x1="440.419029" x2="433.948658" y1="298.218665" y2="304.939386"> + <stop offset="1" style="stop-color:#0fd6eb;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a4ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR116_1" x1="447.826887" x2="442.733374" y1="318.300646" y2="318.871424"> - <stop offset="0" style="stop-color:#19ffde;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19ffde;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR116_1" x1="447.826887" x2="442.733374" y1="318.300646" y2="318.871424"> + <stop offset="1" style="stop-color:#0fd6eb;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19ffde;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR116_2" x1="442.045707" x2="445.327232" y1="312.734817" y2="311.524325"> - <stop offset="0" style="stop-color:#15e0e5;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#15e0e5;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR116_2" x1="442.045707" x2="445.327232" y1="312.734817" y2="311.524325"> + <stop offset="1" style="stop-color:#0fd6eb;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#15e0e5;stop-opacity:0;"/> </linearGradient> - <polygon id="GT116" points="442.045707 312.734817 440.419029 298.218665 447.826887 318.300646"/> </defs> - <use fill="#0fd6eb" fill-opacity="1" xlink:href="#GT116"/> - <use fill="url(#GR116_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT116"/> - <use fill="url(#GR116_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT116"/> - <use fill="url(#GR116_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT116"/> + <path d="M 442.045707,312.734817 L 440.419029,298.218665 447.826887,318.300646 Z" fill="#0fd6eb" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 442.045707,312.734817 L 440.419029,298.218665 447.826887,318.300646 Z" fill="url(#GR116_0)" shape-rendering="crispEdges"/> + <path d="M 442.045707,312.734817 L 440.419029,298.218665 447.826887,318.300646 Z" fill="url(#GR116_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 442.045707,312.734817 L 440.419029,298.218665 447.826887,318.300646 Z" fill="url(#GR116_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR117_0" x1="447.826887" x2="442.733374" y1="318.300646" y2="318.871424"> - <stop offset="0" style="stop-color:#19ffde;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19ffde;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR117_0" x1="447.826887" x2="442.733374" y1="318.300646" y2="318.871424"> + <stop offset="1" style="stop-color:#24f5d4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19ffde;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR117_1" x1="443.672384" x2="450.142756" y1="327.250969" y2="320.530247"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR117_1" x1="443.672384" x2="450.142756" y1="327.250969" y2="320.530247"> + <stop offset="1" style="stop-color:#24f5d4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR117_2" x1="442.045707" x2="448.927637" y1="312.734817" y2="315.929227"> - <stop offset="0" style="stop-color:#15e0e5;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#15e0e5;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR117_2" x1="442.045707" x2="448.927637" y1="312.734817" y2="315.929227"> + <stop offset="1" style="stop-color:#24f5d4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#15e0e5;stop-opacity:0;"/> </linearGradient> - <polygon id="GT117" points="442.045707 312.734817 447.826887 318.300646 443.672384 327.250969"/> </defs> - <use fill="#24f5d4" fill-opacity="1" xlink:href="#GT117"/> - <use fill="url(#GR117_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT117"/> - <use fill="url(#GR117_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT117"/> - <use fill="url(#GR117_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT117"/> + <path d="M 442.045707,312.734817 L 447.826887,318.300646 443.672384,327.250969 Z" fill="#24f5d4" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 442.045707,312.734817 L 447.826887,318.300646 443.672384,327.250969 Z" fill="url(#GR117_0)" shape-rendering="crispEdges"/> + <path d="M 442.045707,312.734817 L 447.826887,318.300646 443.672384,327.250969 Z" fill="url(#GR117_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 442.045707,312.734817 L 447.826887,318.300646 443.672384,327.250969 Z" fill="url(#GR117_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR118_0" x1="436.264526" x2="443.260801" y1="307.168988" y2="303.074947"> - <stop offset="0" style="stop-color:#00dcfe;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00dcfe;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR118_0" x1="436.264526" x2="443.260801" y1="307.168988" y2="303.074947"> + <stop offset="1" style="stop-color:#00baff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00dcfe;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR118_1" x1="432.418446" x2="436.485128" y1="284.54653" y2="284.586256"> - <stop offset="0" style="stop-color:#00acff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00acff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR118_1" x1="432.418446" x2="436.485128" y1="284.54653" y2="284.586256"> + <stop offset="1" style="stop-color:#00baff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00acff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR118_2" x1="436.418737" x2="433.660384" y1="291.382597" y2="291.851549"> - <stop offset="0" style="stop-color:#00a6ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a6ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR118_2" x1="436.418737" x2="433.660384" y1="291.382597" y2="291.851549"> + <stop offset="1" style="stop-color:#00baff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a6ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT118" points="436.418737 291.382597 436.264526 307.168988 432.418446 284.54653"/> </defs> - <use fill="#00baff" fill-opacity="1" xlink:href="#GT118"/> - <use fill="url(#GR118_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT118"/> - <use fill="url(#GR118_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT118"/> - <use fill="url(#GR118_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT118"/> + <path d="M 436.418737,291.382597 L 436.264526,307.168988 432.418446,284.54653 Z" fill="#00baff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 436.418737,291.382597 L 436.264526,307.168988 432.418446,284.54653 Z" fill="url(#GR118_0)" shape-rendering="crispEdges"/> + <path d="M 436.418737,291.382597 L 436.264526,307.168988 432.418446,284.54653 Z" fill="url(#GR118_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 436.418737,291.382597 L 436.264526,307.168988 432.418446,284.54653 Z" fill="url(#GR118_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR119_0" x1="432.418446" x2="436.485128" y1="284.54653" y2="284.586256"> - <stop offset="0" style="stop-color:#00acff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00acff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR119_0" x1="432.418446" x2="436.485128" y1="284.54653" y2="284.586256"> + <stop offset="1" style="stop-color:#0094ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00acff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR119_1" x1="436.572949" x2="429.576674" y1="275.596207" y2="279.690248"> - <stop offset="0" style="stop-color:#0068ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0068ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR119_1" x1="436.572949" x2="429.576674" y1="275.596207" y2="279.690248"> + <stop offset="1" style="stop-color:#0094ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0068ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR119_2" x1="436.418737" x2="430.516914" y1="291.382597" y2="288.643127"> - <stop offset="0" style="stop-color:#00a6ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a6ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR119_2" x1="436.418737" x2="430.516914" y1="291.382597" y2="288.643127"> + <stop offset="1" style="stop-color:#0094ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a6ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT119" points="436.418737 291.382597 432.418446 284.54653 436.572949 275.596207"/> </defs> - <use fill="#0094ff" fill-opacity="1" xlink:href="#GT119"/> - <use fill="url(#GR119_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT119"/> - <use fill="url(#GR119_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT119"/> - <use fill="url(#GR119_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT119"/> + <path d="M 436.418737,291.382597 L 432.418446,284.54653 436.572949,275.596207 Z" fill="#0094ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 436.418737,291.382597 L 432.418446,284.54653 436.572949,275.596207 Z" fill="url(#GR119_0)" shape-rendering="crispEdges"/> + <path d="M 436.418737,291.382597 L 432.418446,284.54653 436.572949,275.596207 Z" fill="url(#GR119_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 436.418737,291.382597 L 432.418446,284.54653 436.572949,275.596207 Z" fill="url(#GR119_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR11a_0" x1="436.572949" x2="429.576674" y1="275.596207" y2="279.690248"> - <stop offset="0" style="stop-color:#0068ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0068ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR11a_0" x1="436.572949" x2="429.576674" y1="275.596207" y2="279.690248"> + <stop offset="1" style="stop-color:#0091ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0068ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR11a_1" x1="440.419029" x2="436.352347" y1="298.218665" y2="298.178939"> - <stop offset="0" style="stop-color:#00a4ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a4ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR11a_1" x1="440.419029" x2="436.352347" y1="298.218665" y2="298.178939"> + <stop offset="1" style="stop-color:#0091ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a4ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR11a_2" x1="436.418737" x2="439.177091" y1="291.382597" y2="290.913645"> - <stop offset="0" style="stop-color:#00a6ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a6ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR11a_2" x1="436.418737" x2="439.177091" y1="291.382597" y2="290.913645"> + <stop offset="1" style="stop-color:#0091ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a6ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT11a" points="436.418737 291.382597 436.572949 275.596207 440.419029 298.218665"/> </defs> - <use fill="#0091ff" fill-opacity="1" xlink:href="#GT11a"/> - <use fill="url(#GR11a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT11a"/> - <use fill="url(#GR11a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT11a"/> - <use fill="url(#GR11a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT11a"/> + <path d="M 436.418737,291.382597 L 436.572949,275.596207 440.419029,298.218665 Z" fill="#0091ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 436.418737,291.382597 L 436.572949,275.596207 440.419029,298.218665 Z" fill="url(#GR11a_0)" shape-rendering="crispEdges"/> + <path d="M 436.418737,291.382597 L 436.572949,275.596207 440.419029,298.218665 Z" fill="url(#GR11a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 436.418737,291.382597 L 436.572949,275.596207 440.419029,298.218665 Z" fill="url(#GR11a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR11b_0" x1="440.419029" x2="436.352347" y1="298.218665" y2="298.178939"> - <stop offset="0" style="stop-color:#00a4ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a4ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR11b_0" x1="440.419029" x2="436.352347" y1="298.218665" y2="298.178939"> + <stop offset="1" style="stop-color:#00b8ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a4ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR11b_1" x1="436.264526" x2="443.260801" y1="307.168988" y2="303.074947"> - <stop offset="0" style="stop-color:#00dcfe;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00dcfe;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR11b_1" x1="436.264526" x2="443.260801" y1="307.168988" y2="303.074947"> + <stop offset="1" style="stop-color:#00b8ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00dcfe;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR11b_2" x1="436.418737" x2="442.320561" y1="291.382597" y2="294.122068"> - <stop offset="0" style="stop-color:#00a6ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a6ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR11b_2" x1="436.418737" x2="442.320561" y1="291.382597" y2="294.122068"> + <stop offset="1" style="stop-color:#00b8ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a6ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT11b" points="436.418737 291.382597 440.419029 298.218665 436.264526 307.168988"/> </defs> - <use fill="#00b8ff" fill-opacity="1" xlink:href="#GT11b"/> - <use fill="url(#GR11b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT11b"/> - <use fill="url(#GR11b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT11b"/> - <use fill="url(#GR11b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT11b"/> + <path d="M 436.418737,291.382597 L 440.419029,298.218665 436.264526,307.168988 Z" fill="#00b8ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 436.418737,291.382597 L 440.419029,298.218665 436.264526,307.168988 Z" fill="url(#GR11b_0)" shape-rendering="crispEdges"/> + <path d="M 436.418737,291.382597 L 440.419029,298.218665 436.264526,307.168988 Z" fill="url(#GR11b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 436.418737,291.382597 L 440.419029,298.218665 436.264526,307.168988 Z" fill="url(#GR11b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR11c_0" x1="432.418446" x2="438.623677" y1="284.54653" y2="282.773557"> - <stop offset="0" style="stop-color:#00acff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00acff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR11c_0" x1="432.418446" x2="438.623677" y1="284.54653" y2="282.773557"> + <stop offset="1" style="stop-color:#00a1ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00acff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR11c_1" x1="432.418446" x2="435.3782" y1="261.055853" y2="261.434889"> - <stop offset="0" style="stop-color:#00acff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00acff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR11c_1" x1="432.418446" x2="435.3782" y1="261.055853" y2="261.434889"> + <stop offset="1" style="stop-color:#00a1ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00acff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR11c_2" x1="434.495697" x2="432.418446" y1="268.32603" y2="268.32603"> - <stop offset="0" style="stop-color:#008aff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#008aff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR11c_2" x1="434.495697" x2="432.418446" y1="268.32603" y2="268.32603"> + <stop offset="1" style="stop-color:#00a1ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#008aff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT11c" points="434.495697 268.32603 432.418446 284.54653 432.418446 261.055853"/> </defs> - <use fill="#00a1ff" fill-opacity="1" xlink:href="#GT11c"/> - <use fill="url(#GR11c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT11c"/> - <use fill="url(#GR11c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT11c"/> - <use fill="url(#GR11c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT11c"/> + <path d="M 434.495697,268.32603 L 432.418446,284.54653 432.418446,261.055853 Z" fill="#00a1ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 434.495697,268.32603 L 432.418446,284.54653 432.418446,261.055853 Z" fill="url(#GR11c_0)" shape-rendering="crispEdges"/> + <path d="M 434.495697,268.32603 L 432.418446,284.54653 432.418446,261.055853 Z" fill="url(#GR11c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 434.495697,268.32603 L 432.418446,284.54653 432.418446,261.055853 Z" fill="url(#GR11c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR11d_0" x1="432.418446" x2="435.3782" y1="261.055853" y2="261.434889"> - <stop offset="0" style="stop-color:#00acff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00acff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR11d_0" x1="432.418446" x2="435.3782" y1="261.055853" y2="261.434889"> + <stop offset="1" style="stop-color:#008aff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00acff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR11d_1" x1="436.572949" x2="430.367717" y1="252.105531" y2="253.878503"> - <stop offset="0" style="stop-color:#0068ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0068ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR11d_1" x1="436.572949" x2="430.367717" y1="252.105531" y2="253.878503"> + <stop offset="1" style="stop-color:#008aff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0068ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR11d_2" x1="434.495697" x2="430.010244" y1="268.32603" y2="266.244002"> - <stop offset="0" style="stop-color:#008aff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#008aff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR11d_2" x1="434.495697" x2="430.010244" y1="268.32603" y2="266.244002"> + <stop offset="1" style="stop-color:#008aff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#008aff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT11d" points="434.495697 268.32603 432.418446 261.055853 436.572949 252.105531"/> </defs> - <use fill="#008aff" fill-opacity="1" xlink:href="#GT11d"/> - <use fill="url(#GR11d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT11d"/> - <use fill="url(#GR11d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT11d"/> - <use fill="url(#GR11d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT11d"/> + <path d="M 434.495697,268.32603 L 432.418446,261.055853 436.572949,252.105531 Z" fill="#008aff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 434.495697,268.32603 L 432.418446,261.055853 436.572949,252.105531 Z" fill="url(#GR11d_0)" shape-rendering="crispEdges"/> + <path d="M 434.495697,268.32603 L 432.418446,261.055853 436.572949,252.105531 Z" fill="url(#GR11d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 434.495697,268.32603 L 432.418446,261.055853 436.572949,252.105531 Z" fill="url(#GR11d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR11e_0" x1="436.572949" x2="430.367717" y1="252.105531" y2="253.878503"> - <stop offset="0" style="stop-color:#0068ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0068ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR11e_0" x1="436.572949" x2="430.367717" y1="252.105531" y2="253.878503"> + <stop offset="1" style="stop-color:#0074ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0068ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR11e_1" x1="436.572949" x2="433.613195" y1="275.596207" y2="275.217171"> - <stop offset="0" style="stop-color:#0068ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0068ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR11e_1" x1="436.572949" x2="433.613195" y1="275.596207" y2="275.217171"> + <stop offset="1" style="stop-color:#0074ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0068ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR11e_2" x1="434.495697" x2="436.572949" y1="268.32603" y2="268.32603"> - <stop offset="0" style="stop-color:#008aff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#008aff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR11e_2" x1="434.495697" x2="436.572949" y1="268.32603" y2="268.32603"> + <stop offset="1" style="stop-color:#0074ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#008aff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT11e" points="434.495697 268.32603 436.572949 252.105531 436.572949 275.596207"/> </defs> - <use fill="#0074ff" fill-opacity="1" xlink:href="#GT11e"/> - <use fill="url(#GR11e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT11e"/> - <use fill="url(#GR11e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT11e"/> - <use fill="url(#GR11e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT11e"/> + <path d="M 434.495697,268.32603 L 436.572949,252.105531 436.572949,275.596207 Z" fill="#0074ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 434.495697,268.32603 L 436.572949,252.105531 436.572949,275.596207 Z" fill="url(#GR11e_0)" shape-rendering="crispEdges"/> + <path d="M 434.495697,268.32603 L 436.572949,252.105531 436.572949,275.596207 Z" fill="url(#GR11e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 434.495697,268.32603 L 436.572949,252.105531 436.572949,275.596207 Z" fill="url(#GR11e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR11f_0" x1="436.572949" x2="433.613195" y1="275.596207" y2="275.217171"> - <stop offset="0" style="stop-color:#0068ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0068ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR11f_0" x1="436.572949" x2="433.613195" y1="275.596207" y2="275.217171"> + <stop offset="1" style="stop-color:#008aff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0068ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR11f_1" x1="432.418446" x2="438.623677" y1="284.54653" y2="282.773557"> - <stop offset="0" style="stop-color:#00acff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00acff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR11f_1" x1="432.418446" x2="438.623677" y1="284.54653" y2="282.773557"> + <stop offset="1" style="stop-color:#008aff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00acff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR11f_2" x1="434.495697" x2="438.98115" y1="268.32603" y2="270.408059"> - <stop offset="0" style="stop-color:#008aff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#008aff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR11f_2" x1="434.495697" x2="438.98115" y1="268.32603" y2="270.408059"> + <stop offset="1" style="stop-color:#008aff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#008aff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT11f" points="434.495697 268.32603 436.572949 275.596207 432.418446 284.54653"/> </defs> - <use fill="#008aff" fill-opacity="1" xlink:href="#GT11f"/> - <use fill="url(#GR11f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT11f"/> - <use fill="url(#GR11f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT11f"/> - <use fill="url(#GR11f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT11f"/> + <path d="M 434.495697,268.32603 L 436.572949,275.596207 432.418446,284.54653 Z" fill="#008aff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 434.495697,268.32603 L 436.572949,275.596207 432.418446,284.54653 Z" fill="url(#GR11f_0)" shape-rendering="crispEdges"/> + <path d="M 434.495697,268.32603 L 436.572949,275.596207 432.418446,284.54653 Z" fill="url(#GR11f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 434.495697,268.32603 L 436.572949,275.596207 432.418446,284.54653 Z" fill="url(#GR11f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR120_0" x1="432.418446" x2="436.772638" y1="261.055853" y2="260.957629"> - <stop offset="0" style="stop-color:#00acff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00acff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR120_0" x1="432.418446" x2="436.772638" y1="261.055853" y2="260.957629"> + <stop offset="1" style="stop-color:#00baff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00acff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR120_1" x1="436.264526" x2="438.03718" y1="238.433395" y2="238.882588"> - <stop offset="0" style="stop-color:#00dcfe;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00dcfe;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR120_1" x1="436.264526" x2="438.03718" y1="238.433395" y2="238.882588"> + <stop offset="1" style="stop-color:#00baff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00dcfe;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR120_2" x1="436.418737" x2="435.139296" y1="245.269463" y2="245.051943"> - <stop offset="0" style="stop-color:#00a6ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a6ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR120_2" x1="436.418737" x2="435.139296" y1="245.269463" y2="245.051943"> + <stop offset="1" style="stop-color:#00baff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a6ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT120" points="436.418737 245.269463 432.418446 261.055853 436.264526 238.433395"/> </defs> - <use fill="#00baff" fill-opacity="1" xlink:href="#GT120"/> - <use fill="url(#GR120_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT120"/> - <use fill="url(#GR120_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT120"/> - <use fill="url(#GR120_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT120"/> + <path d="M 436.418737,245.269463 L 432.418446,261.055853 436.264526,238.433395 Z" fill="#00baff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 436.418737,245.269463 L 432.418446,261.055853 436.264526,238.433395 Z" fill="url(#GR120_0)" shape-rendering="crispEdges"/> + <path d="M 436.418737,245.269463 L 432.418446,261.055853 436.264526,238.433395 Z" fill="url(#GR120_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 436.418737,245.269463 L 432.418446,261.055853 436.264526,238.433395 Z" fill="url(#GR120_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR121_0" x1="436.264526" x2="438.03718" y1="238.433395" y2="238.882588"> - <stop offset="0" style="stop-color:#00dcfe;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00dcfe;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR121_0" x1="436.264526" x2="438.03718" y1="238.433395" y2="238.882588"> + <stop offset="1" style="stop-color:#00b8ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00dcfe;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR121_1" x1="440.419029" x2="436.064837" y1="229.483073" y2="229.581297"> - <stop offset="0" style="stop-color:#00a4ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a4ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR121_1" x1="440.419029" x2="436.064837" y1="229.483073" y2="229.581297"> + <stop offset="1" style="stop-color:#00b8ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a4ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR121_2" x1="436.418737" x2="433.681222" y1="245.269463" y2="243.998781"> - <stop offset="0" style="stop-color:#00a6ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a6ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR121_2" x1="436.418737" x2="433.681222" y1="245.269463" y2="243.998781"> + <stop offset="1" style="stop-color:#00b8ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a6ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT121" points="436.418737 245.269463 436.264526 238.433395 440.419029 229.483073"/> </defs> - <use fill="#00b8ff" fill-opacity="1" xlink:href="#GT121"/> - <use fill="url(#GR121_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT121"/> - <use fill="url(#GR121_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT121"/> - <use fill="url(#GR121_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT121"/> + <path d="M 436.418737,245.269463 L 436.264526,238.433395 440.419029,229.483073 Z" fill="#00b8ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 436.418737,245.269463 L 436.264526,238.433395 440.419029,229.483073 Z" fill="url(#GR121_0)" shape-rendering="crispEdges"/> + <path d="M 436.418737,245.269463 L 436.264526,238.433395 440.419029,229.483073 Z" fill="url(#GR121_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 436.418737,245.269463 L 436.264526,238.433395 440.419029,229.483073 Z" fill="url(#GR121_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR122_0" x1="440.419029" x2="436.064837" y1="229.483073" y2="229.581297"> - <stop offset="0" style="stop-color:#00a4ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a4ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR122_0" x1="440.419029" x2="436.064837" y1="229.483073" y2="229.581297"> + <stop offset="1" style="stop-color:#0091ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a4ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR122_1" x1="436.572949" x2="434.800295" y1="252.105531" y2="251.656338"> - <stop offset="0" style="stop-color:#0068ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0068ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR122_1" x1="436.572949" x2="434.800295" y1="252.105531" y2="251.656338"> + <stop offset="1" style="stop-color:#0091ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0068ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR122_2" x1="436.418737" x2="437.698179" y1="245.269463" y2="245.486983"> - <stop offset="0" style="stop-color:#00a6ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a6ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR122_2" x1="436.418737" x2="437.698179" y1="245.269463" y2="245.486983"> + <stop offset="1" style="stop-color:#0091ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a6ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT122" points="436.418737 245.269463 440.419029 229.483073 436.572949 252.105531"/> </defs> - <use fill="#0091ff" fill-opacity="1" xlink:href="#GT122"/> - <use fill="url(#GR122_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT122"/> - <use fill="url(#GR122_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT122"/> - <use fill="url(#GR122_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT122"/> + <path d="M 436.418737,245.269463 L 440.419029,229.483073 436.572949,252.105531 Z" fill="#0091ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 436.418737,245.269463 L 440.419029,229.483073 436.572949,252.105531 Z" fill="url(#GR122_0)" shape-rendering="crispEdges"/> + <path d="M 436.418737,245.269463 L 440.419029,229.483073 436.572949,252.105531 Z" fill="url(#GR122_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 436.418737,245.269463 L 440.419029,229.483073 436.572949,252.105531 Z" fill="url(#GR122_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR123_0" x1="436.572949" x2="434.800295" y1="252.105531" y2="251.656338"> - <stop offset="0" style="stop-color:#0068ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0068ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR123_0" x1="436.572949" x2="434.800295" y1="252.105531" y2="251.656338"> + <stop offset="1" style="stop-color:#0094ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0068ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR123_1" x1="432.418446" x2="436.772638" y1="261.055853" y2="260.957629"> - <stop offset="0" style="stop-color:#00acff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00acff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR123_1" x1="432.418446" x2="436.772638" y1="261.055853" y2="260.957629"> + <stop offset="1" style="stop-color:#0094ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00acff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR123_2" x1="436.418737" x2="439.156253" y1="245.269463" y2="246.540145"> - <stop offset="0" style="stop-color:#00a6ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a6ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR123_2" x1="436.418737" x2="439.156253" y1="245.269463" y2="246.540145"> + <stop offset="1" style="stop-color:#0094ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a6ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT123" points="436.418737 245.269463 436.572949 252.105531 432.418446 261.055853"/> </defs> - <use fill="#0094ff" fill-opacity="1" xlink:href="#GT123"/> - <use fill="url(#GR123_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT123"/> - <use fill="url(#GR123_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT123"/> - <use fill="url(#GR123_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT123"/> + <path d="M 436.418737,245.269463 L 436.572949,252.105531 432.418446,261.055853 Z" fill="#0094ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 436.418737,245.269463 L 436.572949,252.105531 432.418446,261.055853 Z" fill="url(#GR123_0)" shape-rendering="crispEdges"/> + <path d="M 436.418737,245.269463 L 436.572949,252.105531 432.418446,261.055853 Z" fill="url(#GR123_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 436.418737,245.269463 L 436.572949,252.105531 432.418446,261.055853 Z" fill="url(#GR123_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR124_0" x1="436.264526" x2="437.682109" y1="238.433395" y2="238.8477"> - <stop offset="0" style="stop-color:#00dcfe;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00dcfe;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR124_0" x1="436.264526" x2="437.682109" y1="238.433395" y2="238.8477"> + <stop offset="1" style="stop-color:#1be9df;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00dcfe;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR124_1" x1="443.672384" x2="444.181582" y1="218.351415" y2="218.554207"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR124_1" x1="443.672384" x2="444.181582" y1="218.351415" y2="218.554207"> + <stop offset="1" style="stop-color:#1be9df;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR124_2" x1="442.045707" x2="441.670335" y1="223.917244" y2="223.778776"> - <stop offset="0" style="stop-color:#15e0e5;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#15e0e5;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR124_2" x1="442.045707" x2="441.670335" y1="223.917244" y2="223.778776"> + <stop offset="1" style="stop-color:#1be9df;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#15e0e5;stop-opacity:0;"/> </linearGradient> - <polygon id="GT124" points="442.045707 223.917244 436.264526 238.433395 443.672384 218.351415"/> </defs> - <use fill="#1be9df" fill-opacity="1" xlink:href="#GT124"/> - <use fill="url(#GR124_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT124"/> - <use fill="url(#GR124_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT124"/> - <use fill="url(#GR124_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT124"/> + <path d="M 442.045707,223.917244 L 436.264526,238.433395 443.672384,218.351415 Z" fill="#1be9df" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 442.045707,223.917244 L 436.264526,238.433395 443.672384,218.351415 Z" fill="url(#GR124_0)" shape-rendering="crispEdges"/> + <path d="M 442.045707,223.917244 L 436.264526,238.433395 443.672384,218.351415 Z" fill="url(#GR124_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 442.045707,223.917244 L 436.264526,238.433395 443.672384,218.351415 Z" fill="url(#GR124_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR125_0" x1="443.672384" x2="444.181582" y1="218.351415" y2="218.554207"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR125_0" x1="443.672384" x2="444.181582" y1="218.351415" y2="218.554207"> + <stop offset="1" style="stop-color:#24f5d4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR125_1" x1="447.826887" x2="446.409304" y1="209.401092" y2="208.986787"> - <stop offset="0" style="stop-color:#19ffde;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19ffde;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR125_1" x1="447.826887" x2="446.409304" y1="209.401092" y2="208.986787"> + <stop offset="1" style="stop-color:#24f5d4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19ffde;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR125_2" x1="442.045707" x2="441.258486" y1="223.917244" y2="223.551837"> - <stop offset="0" style="stop-color:#15e0e5;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#15e0e5;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR125_2" x1="442.045707" x2="441.258486" y1="223.917244" y2="223.551837"> + <stop offset="1" style="stop-color:#24f5d4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#15e0e5;stop-opacity:0;"/> </linearGradient> - <polygon id="GT125" points="442.045707 223.917244 443.672384 218.351415 447.826887 209.401092"/> </defs> - <use fill="#24f5d4" fill-opacity="1" xlink:href="#GT125"/> - <use fill="url(#GR125_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT125"/> - <use fill="url(#GR125_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT125"/> - <use fill="url(#GR125_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT125"/> + <path d="M 442.045707,223.917244 L 443.672384,218.351415 447.826887,209.401092 Z" fill="#24f5d4" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 442.045707,223.917244 L 443.672384,218.351415 447.826887,209.401092 Z" fill="url(#GR125_0)" shape-rendering="crispEdges"/> + <path d="M 442.045707,223.917244 L 443.672384,218.351415 447.826887,209.401092 Z" fill="url(#GR125_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 442.045707,223.917244 L 443.672384,218.351415 447.826887,209.401092 Z" fill="url(#GR125_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR126_0" x1="447.826887" x2="446.409304" y1="209.401092" y2="208.986787"> - <stop offset="0" style="stop-color:#19ffde;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19ffde;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR126_0" x1="447.826887" x2="446.409304" y1="209.401092" y2="208.986787"> + <stop offset="1" style="stop-color:#0fd6eb;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19ffde;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR126_1" x1="440.419029" x2="439.909832" y1="229.483073" y2="229.280281"> - <stop offset="0" style="stop-color:#00a4ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a4ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR126_1" x1="440.419029" x2="439.909832" y1="229.483073" y2="229.280281"> + <stop offset="1" style="stop-color:#0fd6eb;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a4ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR126_2" x1="442.045707" x2="442.421079" y1="223.917244" y2="224.055711"> - <stop offset="0" style="stop-color:#15e0e5;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#15e0e5;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR126_2" x1="442.045707" x2="442.421079" y1="223.917244" y2="224.055711"> + <stop offset="1" style="stop-color:#0fd6eb;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#15e0e5;stop-opacity:0;"/> </linearGradient> - <polygon id="GT126" points="442.045707 223.917244 447.826887 209.401092 440.419029 229.483073"/> </defs> - <use fill="#0fd6eb" fill-opacity="1" xlink:href="#GT126"/> - <use fill="url(#GR126_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT126"/> - <use fill="url(#GR126_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT126"/> - <use fill="url(#GR126_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT126"/> + <path d="M 442.045707,223.917244 L 447.826887,209.401092 440.419029,229.483073 Z" fill="#0fd6eb" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 442.045707,223.917244 L 447.826887,209.401092 440.419029,229.483073 Z" fill="url(#GR126_0)" shape-rendering="crispEdges"/> + <path d="M 442.045707,223.917244 L 447.826887,209.401092 440.419029,229.483073 Z" fill="url(#GR126_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 442.045707,223.917244 L 447.826887,209.401092 440.419029,229.483073 Z" fill="url(#GR126_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR127_0" x1="440.419029" x2="439.909832" y1="229.483073" y2="229.280281"> - <stop offset="0" style="stop-color:#00a4ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a4ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR127_0" x1="440.419029" x2="439.909832" y1="229.483073" y2="229.280281"> + <stop offset="1" style="stop-color:#07cbf6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a4ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR127_1" x1="436.264526" x2="437.682109" y1="238.433395" y2="238.8477"> - <stop offset="0" style="stop-color:#00dcfe;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00dcfe;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR127_1" x1="436.264526" x2="437.682109" y1="238.433395" y2="238.8477"> + <stop offset="1" style="stop-color:#07cbf6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00dcfe;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR127_2" x1="442.045707" x2="442.832927" y1="223.917244" y2="224.282651"> - <stop offset="0" style="stop-color:#15e0e5;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#15e0e5;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR127_2" x1="442.045707" x2="442.832927" y1="223.917244" y2="224.282651"> + <stop offset="1" style="stop-color:#07cbf6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#15e0e5;stop-opacity:0;"/> </linearGradient> - <polygon id="GT127" points="442.045707 223.917244 440.419029 229.483073 436.264526 238.433395"/> </defs> - <use fill="#07cbf6" fill-opacity="1" xlink:href="#GT127"/> - <use fill="url(#GR127_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT127"/> - <use fill="url(#GR127_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT127"/> - <use fill="url(#GR127_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT127"/> + <path d="M 442.045707,223.917244 L 440.419029,229.483073 436.264526,238.433395 Z" fill="#07cbf6" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 442.045707,223.917244 L 440.419029,229.483073 436.264526,238.433395 Z" fill="url(#GR127_0)" shape-rendering="crispEdges"/> + <path d="M 442.045707,223.917244 L 440.419029,229.483073 436.264526,238.433395 Z" fill="url(#GR127_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 442.045707,223.917244 L 440.419029,229.483073 436.264526,238.433395 Z" fill="url(#GR127_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR128_0" x1="443.672384" x2="441.569228" y1="218.351415" y2="216.496603"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR128_0" x1="443.672384" x2="441.569228" y1="218.351415" y2="216.496603"> + <stop offset="1" style="stop-color:#62ff94;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR128_1" x1="454.094428" x2="453.301337" y1="202.294376" y2="201.832091"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR128_1" x1="454.094428" x2="453.301337" y1="202.294376" y2="201.832091"> + <stop offset="1" style="stop-color:#62ff94;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR128_2" x1="450.960658" x2="451.542818" y1="205.847734" y2="206.225593"> - <stop offset="0" style="stop-color:#57ffa0;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#57ffa0;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR128_2" x1="450.960658" x2="451.542818" y1="205.847734" y2="206.225593"> + <stop offset="1" style="stop-color:#62ff94;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#57ffa0;stop-opacity:0;"/> </linearGradient> - <polygon id="GT128" points="450.960658 205.847734 443.672384 218.351415 454.094428 202.294376"/> </defs> - <use fill="#62ff94" fill-opacity="1" xlink:href="#GT128"/> - <use fill="url(#GR128_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT128"/> - <use fill="url(#GR128_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT128"/> - <use fill="url(#GR128_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT128"/> + <path d="M 450.960658,205.847734 L 443.672384,218.351415 454.094428,202.294376 Z" fill="#62ff94" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 450.960658,205.847734 L 443.672384,218.351415 454.094428,202.294376 Z" fill="url(#GR128_0)" shape-rendering="crispEdges"/> + <path d="M 450.960658,205.847734 L 443.672384,218.351415 454.094428,202.294376 Z" fill="url(#GR128_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 450.960658,205.847734 L 443.672384,218.351415 454.094428,202.294376 Z" fill="url(#GR128_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR129_0" x1="454.094428" x2="453.301337" y1="202.294376" y2="201.832091"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR129_0" x1="454.094428" x2="453.301337" y1="202.294376" y2="201.832091"> + <stop offset="1" style="stop-color:#75ff82;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR129_1" x1="458.248931" x2="460.352088" y1="193.344053" y2="195.198865"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR129_1" x1="458.248931" x2="460.352088" y1="193.344053" y2="195.198865"> + <stop offset="1" style="stop-color:#75ff82;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR129_2" x1="450.960658" x2="452.181923" y1="205.847734" y2="206.414613"> - <stop offset="0" style="stop-color:#57ffa0;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#57ffa0;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR129_2" x1="450.960658" x2="452.181923" y1="205.847734" y2="206.414613"> + <stop offset="1" style="stop-color:#75ff82;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#57ffa0;stop-opacity:0;"/> </linearGradient> - <polygon id="GT129" points="450.960658 205.847734 454.094428 202.294376 458.248931 193.344053"/> </defs> - <use fill="#75ff82" fill-opacity="1" xlink:href="#GT129"/> - <use fill="url(#GR129_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT129"/> - <use fill="url(#GR129_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT129"/> - <use fill="url(#GR129_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT129"/> + <path d="M 450.960658,205.847734 L 454.094428,202.294376 458.248931,193.344053 Z" fill="#75ff82" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 450.960658,205.847734 L 454.094428,202.294376 458.248931,193.344053 Z" fill="url(#GR129_0)" shape-rendering="crispEdges"/> + <path d="M 450.960658,205.847734 L 454.094428,202.294376 458.248931,193.344053 Z" fill="url(#GR129_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 450.960658,205.847734 L 454.094428,202.294376 458.248931,193.344053 Z" fill="url(#GR129_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR12a_0" x1="458.248931" x2="460.352088" y1="193.344053" y2="195.198865"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR12a_0" x1="458.248931" x2="460.352088" y1="193.344053" y2="195.198865"> + <stop offset="1" style="stop-color:#4cffab;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR12a_1" x1="447.826887" x2="448.619978" y1="209.401092" y2="209.863377"> - <stop offset="0" style="stop-color:#19ffde;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19ffde;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR12a_1" x1="447.826887" x2="448.619978" y1="209.401092" y2="209.863377"> + <stop offset="1" style="stop-color:#4cffab;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19ffde;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR12a_2" x1="450.960658" x2="450.378498" y1="205.847734" y2="205.469875"> - <stop offset="0" style="stop-color:#57ffa0;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#57ffa0;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR12a_2" x1="450.960658" x2="450.378498" y1="205.847734" y2="205.469875"> + <stop offset="1" style="stop-color:#4cffab;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#57ffa0;stop-opacity:0;"/> </linearGradient> - <polygon id="GT12a" points="450.960658 205.847734 458.248931 193.344053 447.826887 209.401092"/> </defs> - <use fill="#4cffab" fill-opacity="1" xlink:href="#GT12a"/> - <use fill="url(#GR12a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT12a"/> - <use fill="url(#GR12a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT12a"/> - <use fill="url(#GR12a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT12a"/> + <path d="M 450.960658,205.847734 L 458.248931,193.344053 447.826887,209.401092 Z" fill="#4cffab" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 450.960658,205.847734 L 458.248931,193.344053 447.826887,209.401092 Z" fill="url(#GR12a_0)" shape-rendering="crispEdges"/> + <path d="M 450.960658,205.847734 L 458.248931,193.344053 447.826887,209.401092 Z" fill="url(#GR12a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 450.960658,205.847734 L 458.248931,193.344053 447.826887,209.401092 Z" fill="url(#GR12a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR12b_0" x1="447.826887" x2="448.619978" y1="209.401092" y2="209.863377"> - <stop offset="0" style="stop-color:#19ffde;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19ffde;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR12b_0" x1="447.826887" x2="448.619978" y1="209.401092" y2="209.863377"> + <stop offset="1" style="stop-color:#3affbd;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19ffde;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR12b_1" x1="443.672384" x2="441.569228" y1="218.351415" y2="216.496603"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR12b_1" x1="443.672384" x2="441.569228" y1="218.351415" y2="216.496603"> + <stop offset="1" style="stop-color:#3affbd;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR12b_2" x1="450.960658" x2="449.739392" y1="205.847734" y2="205.280855"> - <stop offset="0" style="stop-color:#57ffa0;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#57ffa0;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR12b_2" x1="450.960658" x2="449.739392" y1="205.847734" y2="205.280855"> + <stop offset="1" style="stop-color:#3affbd;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#57ffa0;stop-opacity:0;"/> </linearGradient> - <polygon id="GT12b" points="450.960658 205.847734 447.826887 209.401092 443.672384 218.351415"/> </defs> - <use fill="#3affbd" fill-opacity="1" xlink:href="#GT12b"/> - <use fill="url(#GR12b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT12b"/> - <use fill="url(#GR12b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT12b"/> - <use fill="url(#GR12b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT12b"/> + <path d="M 450.960658,205.847734 L 447.826887,209.401092 443.672384,218.351415 Z" fill="#3affbd" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 450.960658,205.847734 L 447.826887,209.401092 443.672384,218.351415 Z" fill="url(#GR12b_0)" shape-rendering="crispEdges"/> + <path d="M 450.960658,205.847734 L 447.826887,209.401092 443.672384,218.351415 Z" fill="url(#GR12b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 450.960658,205.847734 L 447.826887,209.401092 443.672384,218.351415 Z" fill="url(#GR12b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR12c_0" x1="454.094428" x2="452.392138" y1="202.294376" y2="194.647921"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR12c_0" x1="454.094428" x2="452.392138" y1="202.294376" y2="194.647921"> + <stop offset="1" style="stop-color:#bffc38;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR12c_1" x1="466.760259" x2="464.756404" y1="191.44922" y2="189.746533"> - <stop offset="0" style="stop-color:#f4f802;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f4f802;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR12c_1" x1="466.760259" x2="464.756404" y1="191.44922" y2="189.746533"> + <stop offset="1" style="stop-color:#bffc38;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f4f802;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR12c_2" x1="462.504595" x2="463.836775" y1="192.396637" y2="193.952462"> - <stop offset="0" style="stop-color:#b5fd41;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b5fd41;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR12c_2" x1="462.504595" x2="463.836775" y1="192.396637" y2="193.952462"> + <stop offset="1" style="stop-color:#bffc38;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b5fd41;stop-opacity:0;"/> </linearGradient> - <polygon id="GT12c" points="462.504595 192.396637 454.094428 202.294376 466.760259 191.44922"/> </defs> - <use fill="#bffc38" fill-opacity="1" xlink:href="#GT12c"/> - <use fill="url(#GR12c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT12c"/> - <use fill="url(#GR12c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT12c"/> - <use fill="url(#GR12c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT12c"/> + <path d="M 462.504595,192.396637 L 454.094428,202.294376 466.760259,191.44922 Z" fill="#bffc38" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 462.504595,192.396637 L 454.094428,202.294376 466.760259,191.44922 Z" fill="url(#GR12c_0)" shape-rendering="crispEdges"/> + <path d="M 462.504595,192.396637 L 454.094428,202.294376 466.760259,191.44922 Z" fill="url(#GR12c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 462.504595,192.396637 L 454.094428,202.294376 466.760259,191.44922 Z" fill="url(#GR12c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR12d_0" x1="466.760259" x2="464.756404" y1="191.44922" y2="189.746533"> - <stop offset="0" style="stop-color:#f4f802;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f4f802;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR12d_0" x1="466.760259" x2="464.756404" y1="191.44922" y2="189.746533"> + <stop offset="1" style="stop-color:#d7fc20;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f4f802;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR12d_1" x1="470.914762" x2="472.617052" y1="182.498898" y2="190.145353"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR12d_1" x1="470.914762" x2="472.617052" y1="182.498898" y2="190.145353"> + <stop offset="1" style="stop-color:#d7fc20;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR12d_2" x1="462.504595" x2="465.644071" y1="192.396637" y2="193.853898"> - <stop offset="0" style="stop-color:#b5fd41;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b5fd41;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR12d_2" x1="462.504595" x2="465.644071" y1="192.396637" y2="193.853898"> + <stop offset="1" style="stop-color:#d7fc20;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b5fd41;stop-opacity:0;"/> </linearGradient> - <polygon id="GT12d" points="462.504595 192.396637 466.760259 191.44922 470.914762 182.498898"/> </defs> - <use fill="#d7fc20" fill-opacity="1" xlink:href="#GT12d"/> - <use fill="url(#GR12d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT12d"/> - <use fill="url(#GR12d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT12d"/> - <use fill="url(#GR12d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT12d"/> + <path d="M 462.504595,192.396637 L 466.760259,191.44922 470.914762,182.498898 Z" fill="#d7fc20" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 462.504595,192.396637 L 466.760259,191.44922 470.914762,182.498898 Z" fill="url(#GR12d_0)" shape-rendering="crispEdges"/> + <path d="M 462.504595,192.396637 L 466.760259,191.44922 470.914762,182.498898 Z" fill="url(#GR12d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 462.504595,192.396637 L 466.760259,191.44922 470.914762,182.498898 Z" fill="url(#GR12d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR12e_0" x1="470.914762" x2="472.617052" y1="182.498898" y2="190.145353"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR12e_0" x1="470.914762" x2="472.617052" y1="182.498898" y2="190.145353"> + <stop offset="1" style="stop-color:#acfe4b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR12e_1" x1="458.248931" x2="460.252786" y1="193.344053" y2="195.046741"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR12e_1" x1="458.248931" x2="460.252786" y1="193.344053" y2="195.046741"> + <stop offset="1" style="stop-color:#acfe4b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR12e_2" x1="462.504595" x2="461.172415" y1="192.396637" y2="190.840811"> - <stop offset="0" style="stop-color:#b5fd41;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b5fd41;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR12e_2" x1="462.504595" x2="461.172415" y1="192.396637" y2="190.840811"> + <stop offset="1" style="stop-color:#acfe4b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b5fd41;stop-opacity:0;"/> </linearGradient> - <polygon id="GT12e" points="462.504595 192.396637 470.914762 182.498898 458.248931 193.344053"/> </defs> - <use fill="#acfe4b" fill-opacity="1" xlink:href="#GT12e"/> - <use fill="url(#GR12e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT12e"/> - <use fill="url(#GR12e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT12e"/> - <use fill="url(#GR12e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT12e"/> + <path d="M 462.504595,192.396637 L 470.914762,182.498898 458.248931,193.344053 Z" fill="#acfe4b" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 462.504595,192.396637 L 470.914762,182.498898 458.248931,193.344053 Z" fill="url(#GR12e_0)" shape-rendering="crispEdges"/> + <path d="M 462.504595,192.396637 L 470.914762,182.498898 458.248931,193.344053 Z" fill="url(#GR12e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 462.504595,192.396637 L 470.914762,182.498898 458.248931,193.344053 Z" fill="url(#GR12e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR12f_0" x1="458.248931" x2="460.252786" y1="193.344053" y2="195.046741"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR12f_0" x1="458.248931" x2="460.252786" y1="193.344053" y2="195.046741"> + <stop offset="1" style="stop-color:#94fe63;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR12f_1" x1="454.094428" x2="452.392138" y1="202.294376" y2="194.647921"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR12f_1" x1="454.094428" x2="452.392138" y1="202.294376" y2="194.647921"> + <stop offset="1" style="stop-color:#94fe63;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR12f_2" x1="462.504595" x2="459.365119" y1="192.396637" y2="190.939375"> - <stop offset="0" style="stop-color:#b5fd41;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b5fd41;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR12f_2" x1="462.504595" x2="459.365119" y1="192.396637" y2="190.939375"> + <stop offset="1" style="stop-color:#94fe63;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b5fd41;stop-opacity:0;"/> </linearGradient> - <polygon id="GT12f" points="462.504595 192.396637 458.248931 193.344053 454.094428 202.294376"/> </defs> - <use fill="#94fe63" fill-opacity="1" xlink:href="#GT12f"/> - <use fill="url(#GR12f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT12f"/> - <use fill="url(#GR12f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT12f"/> - <use fill="url(#GR12f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT12f"/> + <path d="M 462.504595,192.396637 L 458.248931,193.344053 454.094428,202.294376 Z" fill="#94fe63" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 462.504595,192.396637 L 458.248931,193.344053 454.094428,202.294376 Z" fill="url(#GR12f_0)" shape-rendering="crispEdges"/> + <path d="M 462.504595,192.396637 L 458.248931,193.344053 454.094428,202.294376 Z" fill="url(#GR12f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 462.504595,192.396637 L 458.248931,193.344053 454.094428,202.294376 Z" fill="url(#GR12f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR130_0" x1="466.760259" x2="470.574529" y1="191.44922" y2="182.35618"> - <stop offset="0" style="stop-color:#f4f802;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f4f802;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR130_0" x1="466.760259" x2="470.574529" y1="191.44922" y2="182.35618"> + <stop offset="1" style="stop-color:#f8c203;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f4f802;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR130_1" x1="480.733614" x2="477.943183" y1="186.617625" y2="182.94727"> - <stop offset="0" style="stop-color:#ff8600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR130_1" x1="480.733614" x2="477.943183" y1="186.617625" y2="182.94727"> + <stop offset="1" style="stop-color:#f8c203;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR130_2" x1="475.824188" x2="476.984496" y1="184.558261" y2="187.913965"> - <stop offset="0" style="stop-color:#f3c708;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f3c708;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR130_2" x1="475.824188" x2="476.984496" y1="184.558261" y2="187.913965"> + <stop offset="1" style="stop-color:#f8c203;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f3c708;stop-opacity:0;"/> </linearGradient> - <polygon id="GT130" points="475.824188 184.558261 466.760259 191.44922 480.733614 186.617625"/> </defs> - <use fill="#f8c203" fill-opacity="1" xlink:href="#GT130"/> - <use fill="url(#GR130_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT130"/> - <use fill="url(#GR130_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT130"/> - <use fill="url(#GR130_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT130"/> + <path d="M 475.824188,184.558261 L 466.760259,191.44922 480.733614,186.617625 Z" fill="#f8c203" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 475.824188,184.558261 L 466.760259,191.44922 480.733614,186.617625 Z" fill="url(#GR130_0)" shape-rendering="crispEdges"/> + <path d="M 475.824188,184.558261 L 466.760259,191.44922 480.733614,186.617625 Z" fill="url(#GR130_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 475.824188,184.558261 L 466.760259,191.44922 480.733614,186.617625 Z" fill="url(#GR130_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR131_0" x1="480.733614" x2="477.943183" y1="186.617625" y2="182.94727"> - <stop offset="0" style="stop-color:#ff8600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR131_0" x1="480.733614" x2="477.943183" y1="186.617625" y2="182.94727"> + <stop offset="1" style="stop-color:#fba403;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR131_1" x1="484.888116" x2="481.073846" y1="177.667302" y2="186.760343"> - <stop offset="0" style="stop-color:#ff9f00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff9f00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR131_1" x1="484.888116" x2="481.073846" y1="177.667302" y2="186.760343"> + <stop offset="1" style="stop-color:#fba403;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff9f00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR131_2" x1="475.824188" x2="480.649803" y1="184.558261" y2="186.798184"> - <stop offset="0" style="stop-color:#f3c708;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f3c708;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR131_2" x1="475.824188" x2="480.649803" y1="184.558261" y2="186.798184"> + <stop offset="1" style="stop-color:#fba403;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f3c708;stop-opacity:0;"/> </linearGradient> - <polygon id="GT131" points="475.824188 184.558261 480.733614 186.617625 484.888116 177.667302"/> </defs> - <use fill="#fba403" fill-opacity="1" xlink:href="#GT131"/> - <use fill="url(#GR131_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT131"/> - <use fill="url(#GR131_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT131"/> - <use fill="url(#GR131_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT131"/> + <path d="M 475.824188,184.558261 L 480.733614,186.617625 484.888116,177.667302 Z" fill="#fba403" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 475.824188,184.558261 L 480.733614,186.617625 484.888116,177.667302 Z" fill="url(#GR131_0)" shape-rendering="crispEdges"/> + <path d="M 475.824188,184.558261 L 480.733614,186.617625 484.888116,177.667302 Z" fill="url(#GR131_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 475.824188,184.558261 L 480.733614,186.617625 484.888116,177.667302 Z" fill="url(#GR131_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR132_0" x1="484.888116" x2="481.073846" y1="177.667302" y2="186.760343"> - <stop offset="0" style="stop-color:#ff9f00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff9f00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR132_0" x1="484.888116" x2="481.073846" y1="177.667302" y2="186.760343"> + <stop offset="1" style="stop-color:#efcd0c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff9f00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR132_1" x1="470.914762" x2="473.705192" y1="182.498898" y2="186.169252"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR132_1" x1="470.914762" x2="473.705192" y1="182.498898" y2="186.169252"> + <stop offset="1" style="stop-color:#efcd0c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR132_2" x1="475.824188" x2="474.663879" y1="184.558261" y2="181.202558"> - <stop offset="0" style="stop-color:#f3c708;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f3c708;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR132_2" x1="475.824188" x2="474.663879" y1="184.558261" y2="181.202558"> + <stop offset="1" style="stop-color:#efcd0c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f3c708;stop-opacity:0;"/> </linearGradient> - <polygon id="GT132" points="475.824188 184.558261 484.888116 177.667302 470.914762 182.498898"/> </defs> - <use fill="#efcd0c" fill-opacity="1" xlink:href="#GT132"/> - <use fill="url(#GR132_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT132"/> - <use fill="url(#GR132_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT132"/> - <use fill="url(#GR132_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT132"/> + <path d="M 475.824188,184.558261 L 484.888116,177.667302 470.914762,182.498898 Z" fill="#efcd0c" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 475.824188,184.558261 L 484.888116,177.667302 470.914762,182.498898 Z" fill="url(#GR132_0)" shape-rendering="crispEdges"/> + <path d="M 475.824188,184.558261 L 484.888116,177.667302 470.914762,182.498898 Z" fill="url(#GR132_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 475.824188,184.558261 L 484.888116,177.667302 470.914762,182.498898 Z" fill="url(#GR132_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR133_0" x1="470.914762" x2="473.705192" y1="182.498898" y2="186.169252"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR133_0" x1="470.914762" x2="473.705192" y1="182.498898" y2="186.169252"> + <stop offset="1" style="stop-color:#ebea0d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR133_1" x1="466.760259" x2="470.574529" y1="191.44922" y2="182.35618"> - <stop offset="0" style="stop-color:#f4f802;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f4f802;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR133_1" x1="466.760259" x2="470.574529" y1="191.44922" y2="182.35618"> + <stop offset="1" style="stop-color:#ebea0d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f4f802;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR133_2" x1="475.824188" x2="470.998573" y1="184.558261" y2="182.318338"> - <stop offset="0" style="stop-color:#f3c708;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f3c708;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR133_2" x1="475.824188" x2="470.998573" y1="184.558261" y2="182.318338"> + <stop offset="1" style="stop-color:#ebea0d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f3c708;stop-opacity:0;"/> </linearGradient> - <polygon id="GT133" points="475.824188 184.558261 470.914762 182.498898 466.760259 191.44922"/> </defs> - <use fill="#ebea0d" fill-opacity="1" xlink:href="#GT133"/> - <use fill="url(#GR133_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT133"/> - <use fill="url(#GR133_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT133"/> - <use fill="url(#GR133_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT133"/> + <path d="M 475.824188,184.558261 L 470.914762,182.498898 466.760259,191.44922 Z" fill="#ebea0d" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 475.824188,184.558261 L 470.914762,182.498898 466.760259,191.44922 Z" fill="url(#GR133_0)" shape-rendering="crispEdges"/> + <path d="M 475.824188,184.558261 L 470.914762,182.498898 466.760259,191.44922 Z" fill="url(#GR133_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 475.824188,184.558261 L 470.914762,182.498898 466.760259,191.44922 Z" fill="url(#GR133_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR134_0" x1="484.888116" x2="482.578889" y1="350.034436" y2="341.894024"> - <stop offset="0" style="stop-color:#ff9f00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff9f00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR134_0" x1="484.888116" x2="482.578889" y1="350.034436" y2="341.894024"> + <stop offset="1" style="stop-color:#ebd110;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff9f00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR134_1" x1="470.914762" x2="477.790789" y1="345.20284" y2="340.22692"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR134_1" x1="470.914762" x2="477.790789" y1="345.20284" y2="340.22692"> + <stop offset="1" style="stop-color:#ebd110;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR134_2" x1="479.607242" x2="477.917401" y1="342.737004" y2="347.624157"> - <stop offset="0" style="stop-color:#e7d414;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e7d414;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR134_2" x1="479.607242" x2="477.917401" y1="342.737004" y2="347.624157"> + <stop offset="1" style="stop-color:#ebd110;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e7d414;stop-opacity:0;"/> </linearGradient> - <polygon id="GT134" points="479.607242 342.737004 484.888116 350.034436 470.914762 345.20284"/> </defs> - <use fill="#ebd110" fill-opacity="1" xlink:href="#GT134"/> - <use fill="url(#GR134_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT134"/> - <use fill="url(#GR134_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT134"/> - <use fill="url(#GR134_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT134"/> + <path d="M 479.607242,342.737004 L 484.888116,350.034436 470.914762,345.20284 Z" fill="#ebd110" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 479.607242,342.737004 L 484.888116,350.034436 470.914762,345.20284 Z" fill="url(#GR134_0)" shape-rendering="crispEdges"/> + <path d="M 479.607242,342.737004 L 484.888116,350.034436 470.914762,345.20284 Z" fill="url(#GR134_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 479.607242,342.737004 L 484.888116,350.034436 470.914762,345.20284 Z" fill="url(#GR134_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR135_0" x1="470.914762" x2="477.790789" y1="345.20284" y2="340.22692"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR135_0" x1="470.914762" x2="477.790789" y1="345.20284" y2="340.22692"> + <stop offset="1" style="stop-color:#d7f121;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR135_1" x1="474.326368" x2="476.635596" y1="335.439573" y2="343.579985"> - <stop offset="0" style="stop-color:#c4ff33;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c4ff33;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR135_1" x1="474.326368" x2="476.635596" y1="335.439573" y2="343.579985"> + <stop offset="1" style="stop-color:#d7f121;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c4ff33;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR135_2" x1="479.607242" x2="472.62853" y1="342.737004" y2="340.298413"> - <stop offset="0" style="stop-color:#e7d414;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e7d414;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR135_2" x1="479.607242" x2="472.62853" y1="342.737004" y2="340.298413"> + <stop offset="1" style="stop-color:#d7f121;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e7d414;stop-opacity:0;"/> </linearGradient> - <polygon id="GT135" points="479.607242 342.737004 470.914762 345.20284 474.326368 335.439573"/> </defs> - <use fill="#d7f121" fill-opacity="1" xlink:href="#GT135"/> - <use fill="url(#GR135_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT135"/> - <use fill="url(#GR135_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT135"/> - <use fill="url(#GR135_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT135"/> + <path d="M 479.607242,342.737004 L 470.914762,345.20284 474.326368,335.439573 Z" fill="#d7f121" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 479.607242,342.737004 L 470.914762,345.20284 474.326368,335.439573 Z" fill="url(#GR135_0)" shape-rendering="crispEdges"/> + <path d="M 479.607242,342.737004 L 470.914762,345.20284 474.326368,335.439573 Z" fill="url(#GR135_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 479.607242,342.737004 L 470.914762,345.20284 474.326368,335.439573 Z" fill="url(#GR135_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR136_0" x1="474.326368" x2="476.635596" y1="335.439573" y2="343.579985"> - <stop offset="0" style="stop-color:#c4ff33;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c4ff33;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR136_0" x1="474.326368" x2="476.635596" y1="335.439573" y2="343.579985"> + <stop offset="1" style="stop-color:#e3d718;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c4ff33;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR136_1" x1="488.299723" x2="481.423695" y1="340.271169" y2="345.247089"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR136_1" x1="488.299723" x2="481.423695" y1="340.271169" y2="345.247089"> + <stop offset="1" style="stop-color:#e3d718;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR136_2" x1="479.607242" x2="481.297083" y1="342.737004" y2="337.849851"> - <stop offset="0" style="stop-color:#e7d414;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e7d414;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR136_2" x1="479.607242" x2="481.297083" y1="342.737004" y2="337.849851"> + <stop offset="1" style="stop-color:#e3d718;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e7d414;stop-opacity:0;"/> </linearGradient> - <polygon id="GT136" points="479.607242 342.737004 474.326368 335.439573 488.299723 340.271169"/> </defs> - <use fill="#e3d718" fill-opacity="1" xlink:href="#GT136"/> - <use fill="url(#GR136_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT136"/> - <use fill="url(#GR136_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT136"/> - <use fill="url(#GR136_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT136"/> + <path d="M 479.607242,342.737004 L 474.326368,335.439573 488.299723,340.271169 Z" fill="#e3d718" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 479.607242,342.737004 L 474.326368,335.439573 488.299723,340.271169 Z" fill="url(#GR136_0)" shape-rendering="crispEdges"/> + <path d="M 479.607242,342.737004 L 474.326368,335.439573 488.299723,340.271169 Z" fill="url(#GR136_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 479.607242,342.737004 L 474.326368,335.439573 488.299723,340.271169 Z" fill="url(#GR136_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR137_0" x1="488.299723" x2="481.423695" y1="340.271169" y2="345.247089"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR137_0" x1="488.299723" x2="481.423695" y1="340.271169" y2="345.247089"> + <stop offset="1" style="stop-color:#f7b707;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR137_1" x1="484.888116" x2="482.578889" y1="350.034436" y2="341.894024"> - <stop offset="0" style="stop-color:#ff9f00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff9f00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR137_1" x1="484.888116" x2="482.578889" y1="350.034436" y2="341.894024"> + <stop offset="1" style="stop-color:#f7b707;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff9f00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR137_2" x1="479.607242" x2="486.585955" y1="342.737004" y2="345.175596"> - <stop offset="0" style="stop-color:#e7d414;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e7d414;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR137_2" x1="479.607242" x2="486.585955" y1="342.737004" y2="345.175596"> + <stop offset="1" style="stop-color:#f7b707;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e7d414;stop-opacity:0;"/> </linearGradient> - <polygon id="GT137" points="479.607242 342.737004 488.299723 340.271169 484.888116 350.034436"/> </defs> - <use fill="#f7b707" fill-opacity="1" xlink:href="#GT137"/> - <use fill="url(#GR137_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT137"/> - <use fill="url(#GR137_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT137"/> - <use fill="url(#GR137_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT137"/> + <path d="M 479.607242,342.737004 L 488.299723,340.271169 484.888116,350.034436 Z" fill="#f7b707" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 479.607242,342.737004 L 488.299723,340.271169 484.888116,350.034436 Z" fill="url(#GR137_0)" shape-rendering="crispEdges"/> + <path d="M 479.607242,342.737004 L 488.299723,340.271169 484.888116,350.034436 Z" fill="url(#GR137_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 479.607242,342.737004 L 488.299723,340.271169 484.888116,350.034436 Z" fill="url(#GR137_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR138_0" x1="470.914762" x2="471.584172" y1="345.20284" y2="335.255044"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR138_0" x1="470.914762" x2="471.584172" y1="345.20284" y2="335.255044"> + <stop offset="1" style="stop-color:#a3ff54;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR138_1" x1="458.248931" x2="464.736536" y1="334.357684" y2="331.444422"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR138_1" x1="458.248931" x2="464.736536" y1="334.357684" y2="331.444422"> + <stop offset="1" style="stop-color:#a3ff54;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR138_2" x1="466.28765" x2="463.15434" y1="334.898629" y2="338.557955"> - <stop offset="0" style="stop-color:#9bff5c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#9bff5c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR138_2" x1="466.28765" x2="463.15434" y1="334.898629" y2="338.557955"> + <stop offset="1" style="stop-color:#a3ff54;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#9bff5c;stop-opacity:0;"/> </linearGradient> - <polygon id="GT138" points="466.28765 334.898629 470.914762 345.20284 458.248931 334.357684"/> </defs> - <use fill="#a3ff54" fill-opacity="1" xlink:href="#GT138"/> - <use fill="url(#GR138_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT138"/> - <use fill="url(#GR138_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT138"/> - <use fill="url(#GR138_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT138"/> + <path d="M 466.28765,334.898629 L 470.914762,345.20284 458.248931,334.357684 Z" fill="#a3ff54" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 466.28765,334.898629 L 470.914762,345.20284 458.248931,334.357684 Z" fill="url(#GR138_0)" shape-rendering="crispEdges"/> + <path d="M 466.28765,334.898629 L 470.914762,345.20284 458.248931,334.357684 Z" fill="url(#GR138_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 466.28765,334.898629 L 470.914762,345.20284 458.248931,334.357684 Z" fill="url(#GR138_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR139_0" x1="458.248931" x2="464.736536" y1="334.357684" y2="331.444422"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR139_0" x1="458.248931" x2="464.736536" y1="334.357684" y2="331.444422"> + <stop offset="1" style="stop-color:#78ff7f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR139_1" x1="461.660538" x2="460.991127" y1="324.594417" y2="334.542213"> - <stop offset="0" style="stop-color:#5aff9d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5aff9d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR139_1" x1="461.660538" x2="460.991127" y1="324.594417" y2="334.542213"> + <stop offset="1" style="stop-color:#78ff7f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5aff9d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR139_2" x1="466.28765" x2="458.955221" y1="334.898629" y2="332.336437"> - <stop offset="0" style="stop-color:#9bff5c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#9bff5c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR139_2" x1="466.28765" x2="458.955221" y1="334.898629" y2="332.336437"> + <stop offset="1" style="stop-color:#78ff7f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#9bff5c;stop-opacity:0;"/> </linearGradient> - <polygon id="GT139" points="466.28765 334.898629 458.248931 334.357684 461.660538 324.594417"/> </defs> - <use fill="#78ff7f" fill-opacity="1" xlink:href="#GT139"/> - <use fill="url(#GR139_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT139"/> - <use fill="url(#GR139_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT139"/> - <use fill="url(#GR139_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT139"/> + <path d="M 466.28765,334.898629 L 458.248931,334.357684 461.660538,324.594417 Z" fill="#78ff7f" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 466.28765,334.898629 L 458.248931,334.357684 461.660538,324.594417 Z" fill="url(#GR139_0)" shape-rendering="crispEdges"/> + <path d="M 466.28765,334.898629 L 458.248931,334.357684 461.660538,324.594417 Z" fill="url(#GR139_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 466.28765,334.898629 L 458.248931,334.357684 461.660538,324.594417 Z" fill="url(#GR139_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR13a_0" x1="461.660538" x2="460.991127" y1="324.594417" y2="334.542213"> - <stop offset="0" style="stop-color:#5aff9d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5aff9d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR13a_0" x1="461.660538" x2="460.991127" y1="324.594417" y2="334.542213"> + <stop offset="1" style="stop-color:#93ff64;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5aff9d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR13a_1" x1="474.326368" x2="467.838763" y1="335.439573" y2="338.352836"> - <stop offset="0" style="stop-color:#c4ff33;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c4ff33;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR13a_1" x1="474.326368" x2="467.838763" y1="335.439573" y2="338.352836"> + <stop offset="1" style="stop-color:#93ff64;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c4ff33;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR13a_2" x1="466.28765" x2="469.420959" y1="334.898629" y2="331.239302"> - <stop offset="0" style="stop-color:#9bff5c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#9bff5c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR13a_2" x1="466.28765" x2="469.420959" y1="334.898629" y2="331.239302"> + <stop offset="1" style="stop-color:#93ff64;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#9bff5c;stop-opacity:0;"/> </linearGradient> - <polygon id="GT13a" points="466.28765 334.898629 461.660538 324.594417 474.326368 335.439573"/> </defs> - <use fill="#93ff64" fill-opacity="1" xlink:href="#GT13a"/> - <use fill="url(#GR13a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT13a"/> - <use fill="url(#GR13a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT13a"/> - <use fill="url(#GR13a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT13a"/> + <path d="M 466.28765,334.898629 L 461.660538,324.594417 474.326368,335.439573 Z" fill="#93ff64" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 466.28765,334.898629 L 461.660538,324.594417 474.326368,335.439573 Z" fill="url(#GR13a_0)" shape-rendering="crispEdges"/> + <path d="M 466.28765,334.898629 L 461.660538,324.594417 474.326368,335.439573 Z" fill="url(#GR13a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 466.28765,334.898629 L 461.660538,324.594417 474.326368,335.439573 Z" fill="url(#GR13a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR13b_0" x1="474.326368" x2="467.838763" y1="335.439573" y2="338.352836"> - <stop offset="0" style="stop-color:#c4ff33;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c4ff33;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR13b_0" x1="474.326368" x2="467.838763" y1="335.439573" y2="338.352836"> + <stop offset="1" style="stop-color:#beff39;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c4ff33;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR13b_1" x1="470.914762" x2="471.584172" y1="345.20284" y2="335.255044"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR13b_1" x1="470.914762" x2="471.584172" y1="345.20284" y2="335.255044"> + <stop offset="1" style="stop-color:#beff39;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR13b_2" x1="466.28765" x2="473.620078" y1="334.898629" y2="337.46082"> - <stop offset="0" style="stop-color:#9bff5c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#9bff5c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR13b_2" x1="466.28765" x2="473.620078" y1="334.898629" y2="337.46082"> + <stop offset="1" style="stop-color:#beff39;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#9bff5c;stop-opacity:0;"/> </linearGradient> - <polygon id="GT13b" points="466.28765 334.898629 474.326368 335.439573 470.914762 345.20284"/> </defs> - <use fill="#beff39" fill-opacity="1" xlink:href="#GT13b"/> - <use fill="url(#GR13b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT13b"/> - <use fill="url(#GR13b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT13b"/> - <use fill="url(#GR13b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT13b"/> + <path d="M 466.28765,334.898629 L 474.326368,335.439573 470.914762,345.20284 Z" fill="#beff39" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 466.28765,334.898629 L 474.326368,335.439573 470.914762,345.20284 Z" fill="url(#GR13b_0)" shape-rendering="crispEdges"/> + <path d="M 466.28765,334.898629 L 474.326368,335.439573 470.914762,345.20284 Z" fill="url(#GR13b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 466.28765,334.898629 L 474.326368,335.439573 470.914762,345.20284 Z" fill="url(#GR13b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR13c_0" x1="458.248931" x2="462.514149" y1="334.357684" y2="324.982777"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR13c_0" x1="458.248931" x2="462.514149" y1="334.357684" y2="324.982777"> + <stop offset="1" style="stop-color:#42fcb6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR13c_1" x1="447.826887" x2="453.473085" y1="318.300646" y2="316.767654"> - <stop offset="0" style="stop-color:#19ffde;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19ffde;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR13c_1" x1="447.826887" x2="453.473085" y1="318.300646" y2="316.767654"> + <stop offset="1" style="stop-color:#42fcb6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19ffde;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR13c_2" x1="454.743712" x2="451.314211" y1="321.447532" y2="323.673497"> - <stop offset="0" style="stop-color:#39f5bf;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#39f5bf;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR13c_2" x1="454.743712" x2="451.314211" y1="321.447532" y2="323.673497"> + <stop offset="1" style="stop-color:#42fcb6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#39f5bf;stop-opacity:0;"/> </linearGradient> - <polygon id="GT13c" points="454.743712 321.447532 458.248931 334.357684 447.826887 318.300646"/> </defs> - <use fill="#42fcb6" fill-opacity="1" xlink:href="#GT13c"/> - <use fill="url(#GR13c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT13c"/> - <use fill="url(#GR13c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT13c"/> - <use fill="url(#GR13c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT13c"/> + <path d="M 454.743712,321.447532 L 458.248931,334.357684 447.826887,318.300646 Z" fill="#42fcb6" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 454.743712,321.447532 L 458.248931,334.357684 447.826887,318.300646 Z" fill="url(#GR13c_0)" shape-rendering="crispEdges"/> + <path d="M 454.743712,321.447532 L 458.248931,334.357684 447.826887,318.300646 Z" fill="url(#GR13c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 454.743712,321.447532 L 458.248931,334.357684 447.826887,318.300646 Z" fill="url(#GR13c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR13d_0" x1="447.826887" x2="453.473085" y1="318.300646" y2="316.767654"> - <stop offset="0" style="stop-color:#19ffde;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19ffde;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR13d_0" x1="447.826887" x2="453.473085" y1="318.300646" y2="316.767654"> + <stop offset="1" style="stop-color:#1befdf;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19ffde;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR13d_1" x1="451.238493" x2="446.973276" y1="308.537379" y2="317.912286"> - <stop offset="0" style="stop-color:#00d8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00d8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR13d_1" x1="451.238493" x2="446.973276" y1="308.537379" y2="317.912286"> + <stop offset="1" style="stop-color:#1befdf;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00d8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR13d_2" x1="454.743712" x2="447.599584" y1="321.447532" y2="318.951138"> - <stop offset="0" style="stop-color:#39f5bf;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#39f5bf;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR13d_2" x1="454.743712" x2="447.599584" y1="321.447532" y2="318.951138"> + <stop offset="1" style="stop-color:#1befdf;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#39f5bf;stop-opacity:0;"/> </linearGradient> - <polygon id="GT13d" points="454.743712 321.447532 447.826887 318.300646 451.238493 308.537379"/> </defs> - <use fill="#1befdf" fill-opacity="1" xlink:href="#GT13d"/> - <use fill="url(#GR13d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT13d"/> - <use fill="url(#GR13d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT13d"/> - <use fill="url(#GR13d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT13d"/> + <path d="M 454.743712,321.447532 L 447.826887,318.300646 451.238493,308.537379 Z" fill="#1befdf" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 454.743712,321.447532 L 447.826887,318.300646 451.238493,308.537379 Z" fill="url(#GR13d_0)" shape-rendering="crispEdges"/> + <path d="M 454.743712,321.447532 L 447.826887,318.300646 451.238493,308.537379 Z" fill="url(#GR13d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 454.743712,321.447532 L 447.826887,318.300646 451.238493,308.537379 Z" fill="url(#GR13d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR13e_0" x1="451.238493" x2="446.973276" y1="308.537379" y2="317.912286"> - <stop offset="0" style="stop-color:#00d8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00d8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR13e_0" x1="451.238493" x2="446.973276" y1="308.537379" y2="317.912286"> + <stop offset="1" style="stop-color:#31efc9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00d8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR13e_1" x1="461.660538" x2="456.01434" y1="324.594417" y2="326.127409"> - <stop offset="0" style="stop-color:#5aff9d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5aff9d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR13e_1" x1="461.660538" x2="456.01434" y1="324.594417" y2="326.127409"> + <stop offset="1" style="stop-color:#31efc9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5aff9d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR13e_2" x1="454.743712" x2="458.173214" y1="321.447532" y2="319.221566"> - <stop offset="0" style="stop-color:#39f5bf;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#39f5bf;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR13e_2" x1="454.743712" x2="458.173214" y1="321.447532" y2="319.221566"> + <stop offset="1" style="stop-color:#31efc9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#39f5bf;stop-opacity:0;"/> </linearGradient> - <polygon id="GT13e" points="454.743712 321.447532 451.238493 308.537379 461.660538 324.594417"/> </defs> - <use fill="#31efc9" fill-opacity="1" xlink:href="#GT13e"/> - <use fill="url(#GR13e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT13e"/> - <use fill="url(#GR13e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT13e"/> - <use fill="url(#GR13e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT13e"/> + <path d="M 454.743712,321.447532 L 451.238493,308.537379 461.660538,324.594417 Z" fill="#31efc9" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 454.743712,321.447532 L 451.238493,308.537379 461.660538,324.594417 Z" fill="url(#GR13e_0)" shape-rendering="crispEdges"/> + <path d="M 454.743712,321.447532 L 451.238493,308.537379 461.660538,324.594417 Z" fill="url(#GR13e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 454.743712,321.447532 L 451.238493,308.537379 461.660538,324.594417 Z" fill="url(#GR13e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR13f_0" x1="461.660538" x2="456.01434" y1="324.594417" y2="326.127409"> - <stop offset="0" style="stop-color:#5aff9d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5aff9d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR13f_0" x1="461.660538" x2="456.01434" y1="324.594417" y2="326.127409"> + <stop offset="1" style="stop-color:#57fca0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5aff9d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR13f_1" x1="458.248931" x2="462.514149" y1="334.357684" y2="324.982777"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR13f_1" x1="458.248931" x2="462.514149" y1="334.357684" y2="324.982777"> + <stop offset="1" style="stop-color:#57fca0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR13f_2" x1="454.743712" x2="461.887841" y1="321.447532" y2="323.943925"> - <stop offset="0" style="stop-color:#39f5bf;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#39f5bf;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR13f_2" x1="454.743712" x2="461.887841" y1="321.447532" y2="323.943925"> + <stop offset="1" style="stop-color:#57fca0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#39f5bf;stop-opacity:0;"/> </linearGradient> - <polygon id="GT13f" points="454.743712 321.447532 461.660538 324.594417 458.248931 334.357684"/> </defs> - <use fill="#57fca0" fill-opacity="1" xlink:href="#GT13f"/> - <use fill="url(#GR13f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT13f"/> - <use fill="url(#GR13f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT13f"/> - <use fill="url(#GR13f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT13f"/> + <path d="M 454.743712,321.447532 L 461.660538,324.594417 458.248931,334.357684 Z" fill="#57fca0" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 454.743712,321.447532 L 461.660538,324.594417 458.248931,334.357684 Z" fill="url(#GR13f_0)" shape-rendering="crispEdges"/> + <path d="M 454.743712,321.447532 L 461.660538,324.594417 458.248931,334.357684 Z" fill="url(#GR13f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 454.743712,321.447532 L 461.660538,324.594417 458.248931,334.357684 Z" fill="url(#GR13f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR140_0" x1="447.826887" x2="454.328074" y1="318.300646" y2="311.483967"> - <stop offset="0" style="stop-color:#19ffde;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19ffde;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR140_0" x1="447.826887" x2="454.328074" y1="318.300646" y2="311.483967"> + <stop offset="1" style="stop-color:#0acaf1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19ffde;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR140_1" x1="440.419029" x2="445.054813" y1="298.218665" y2="297.597938"> - <stop offset="0" style="stop-color:#00a4ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a4ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR140_1" x1="440.419029" x2="445.054813" y1="298.218665" y2="297.597938"> + <stop offset="1" style="stop-color:#0acaf1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a4ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR140_2" x1="445.828761" x2="442.742213" y1="303.378022" y2="304.51659"> - <stop offset="0" style="stop-color:#06bbf7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06bbf7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR140_2" x1="445.828761" x2="442.742213" y1="303.378022" y2="304.51659"> + <stop offset="1" style="stop-color:#0acaf1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06bbf7;stop-opacity:0;"/> </linearGradient> - <polygon id="GT140" points="445.828761 303.378022 447.826887 318.300646 440.419029 298.218665"/> </defs> - <use fill="#0acaf1" fill-opacity="1" xlink:href="#GT140"/> - <use fill="url(#GR140_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT140"/> - <use fill="url(#GR140_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT140"/> - <use fill="url(#GR140_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT140"/> + <path d="M 445.828761,303.378022 L 447.826887,318.300646 440.419029,298.218665 Z" fill="#0acaf1" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 445.828761,303.378022 L 447.826887,318.300646 440.419029,298.218665 Z" fill="url(#GR140_0)" shape-rendering="crispEdges"/> + <path d="M 445.828761,303.378022 L 447.826887,318.300646 440.419029,298.218665 Z" fill="url(#GR140_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 445.828761,303.378022 L 447.826887,318.300646 440.419029,298.218665 Z" fill="url(#GR140_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR141_0" x1="440.419029" x2="445.054813" y1="298.218665" y2="297.597938"> - <stop offset="0" style="stop-color:#00a4ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a4ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR141_0" x1="440.419029" x2="445.054813" y1="298.218665" y2="297.597938"> + <stop offset="1" style="stop-color:#029bfc;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a4ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR141_1" x1="443.830635" x2="437.329448" y1="288.455398" y2="295.272077"> - <stop offset="0" style="stop-color:#0070ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0070ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR141_1" x1="443.830635" x2="437.329448" y1="288.455398" y2="295.272077"> + <stop offset="1" style="stop-color:#029bfc;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0070ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR141_2" x1="445.828761" x2="439.401028" y1="303.378022" y2="301.131961"> - <stop offset="0" style="stop-color:#06bbf7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06bbf7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR141_2" x1="445.828761" x2="439.401028" y1="303.378022" y2="301.131961"> + <stop offset="1" style="stop-color:#029bfc;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06bbf7;stop-opacity:0;"/> </linearGradient> - <polygon id="GT141" points="445.828761 303.378022 440.419029 298.218665 443.830635 288.455398"/> </defs> - <use fill="#029bfc" fill-opacity="1" xlink:href="#GT141"/> - <use fill="url(#GR141_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT141"/> - <use fill="url(#GR141_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT141"/> - <use fill="url(#GR141_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT141"/> + <path d="M 445.828761,303.378022 L 440.419029,298.218665 443.830635,288.455398 Z" fill="#029bfc" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 445.828761,303.378022 L 440.419029,298.218665 443.830635,288.455398 Z" fill="url(#GR141_0)" shape-rendering="crispEdges"/> + <path d="M 445.828761,303.378022 L 440.419029,298.218665 443.830635,288.455398 Z" fill="url(#GR141_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 445.828761,303.378022 L 440.419029,298.218665 443.830635,288.455398 Z" fill="url(#GR141_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR142_0" x1="443.830635" x2="437.329448" y1="288.455398" y2="295.272077"> - <stop offset="0" style="stop-color:#0070ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0070ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR142_0" x1="443.830635" x2="437.329448" y1="288.455398" y2="295.272077"> + <stop offset="1" style="stop-color:#02acfc;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0070ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR142_1" x1="451.238493" x2="446.602709" y1="308.537379" y2="309.158106"> - <stop offset="0" style="stop-color:#00d8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00d8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR142_1" x1="451.238493" x2="446.602709" y1="308.537379" y2="309.158106"> + <stop offset="1" style="stop-color:#02acfc;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00d8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR142_2" x1="445.828761" x2="448.915309" y1="303.378022" y2="302.239453"> - <stop offset="0" style="stop-color:#06bbf7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06bbf7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR142_2" x1="445.828761" x2="448.915309" y1="303.378022" y2="302.239453"> + <stop offset="1" style="stop-color:#02acfc;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06bbf7;stop-opacity:0;"/> </linearGradient> - <polygon id="GT142" points="445.828761 303.378022 443.830635 288.455398 451.238493 308.537379"/> </defs> - <use fill="#02acfc" fill-opacity="1" xlink:href="#GT142"/> - <use fill="url(#GR142_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT142"/> - <use fill="url(#GR142_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT142"/> - <use fill="url(#GR142_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT142"/> + <path d="M 445.828761,303.378022 L 443.830635,288.455398 451.238493,308.537379 Z" fill="#02acfc" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 445.828761,303.378022 L 443.830635,288.455398 451.238493,308.537379 Z" fill="url(#GR142_0)" shape-rendering="crispEdges"/> + <path d="M 445.828761,303.378022 L 443.830635,288.455398 451.238493,308.537379 Z" fill="url(#GR142_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 445.828761,303.378022 L 443.830635,288.455398 451.238493,308.537379 Z" fill="url(#GR142_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR143_0" x1="451.238493" x2="446.602709" y1="308.537379" y2="309.158106"> - <stop offset="0" style="stop-color:#00d8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00d8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR143_0" x1="451.238493" x2="446.602709" y1="308.537379" y2="309.158106"> + <stop offset="1" style="stop-color:#0adcf1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00d8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR143_1" x1="447.826887" x2="454.328074" y1="318.300646" y2="311.483967"> - <stop offset="0" style="stop-color:#19ffde;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19ffde;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR143_1" x1="447.826887" x2="454.328074" y1="318.300646" y2="311.483967"> + <stop offset="1" style="stop-color:#0adcf1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19ffde;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR143_2" x1="445.828761" x2="452.256495" y1="303.378022" y2="305.624083"> - <stop offset="0" style="stop-color:#06bbf7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06bbf7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR143_2" x1="445.828761" x2="452.256495" y1="303.378022" y2="305.624083"> + <stop offset="1" style="stop-color:#0adcf1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06bbf7;stop-opacity:0;"/> </linearGradient> - <polygon id="GT143" points="445.828761 303.378022 451.238493 308.537379 447.826887 318.300646"/> </defs> - <use fill="#0adcf1" fill-opacity="1" xlink:href="#GT143"/> - <use fill="url(#GR143_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT143"/> - <use fill="url(#GR143_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT143"/> - <use fill="url(#GR143_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT143"/> + <path d="M 445.828761,303.378022 L 451.238493,308.537379 447.826887,318.300646 Z" fill="#0adcf1" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 445.828761,303.378022 L 451.238493,308.537379 447.826887,318.300646 Z" fill="url(#GR143_0)" shape-rendering="crispEdges"/> + <path d="M 445.828761,303.378022 L 451.238493,308.537379 447.826887,318.300646 Z" fill="url(#GR143_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 445.828761,303.378022 L 451.238493,308.537379 447.826887,318.300646 Z" fill="url(#GR143_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR144_0" x1="440.419029" x2="447.185557" y1="298.218665" y2="294.399658"> - <stop offset="0" style="stop-color:#00a4ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a4ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR144_0" x1="440.419029" x2="447.185557" y1="298.218665" y2="294.399658"> + <stop offset="1" style="stop-color:#007dff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a4ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR144_1" x1="436.572949" x2="440.114898" y1="275.596207" y2="275.54869"> - <stop offset="0" style="stop-color:#0068ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0068ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR144_1" x1="436.572949" x2="440.114898" y1="275.596207" y2="275.54869"> + <stop offset="1" style="stop-color:#007dff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0068ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR144_2" x1="440.201792" x2="437.737288" y1="282.025802" y2="282.444797"> - <stop offset="0" style="stop-color:#006aff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#006aff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR144_2" x1="440.201792" x2="437.737288" y1="282.025802" y2="282.444797"> + <stop offset="1" style="stop-color:#007dff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#006aff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT144" points="440.201792 282.025802 440.419029 298.218665 436.572949 275.596207"/> </defs> - <use fill="#007dff" fill-opacity="1" xlink:href="#GT144"/> - <use fill="url(#GR144_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT144"/> - <use fill="url(#GR144_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT144"/> - <use fill="url(#GR144_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT144"/> + <path d="M 440.201792,282.025802 L 440.419029,298.218665 436.572949,275.596207 Z" fill="#007dff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 440.201792,282.025802 L 440.419029,298.218665 436.572949,275.596207 Z" fill="url(#GR144_0)" shape-rendering="crispEdges"/> + <path d="M 440.201792,282.025802 L 440.419029,298.218665 436.572949,275.596207 Z" fill="url(#GR144_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 440.201792,282.025802 L 440.419029,298.218665 436.572949,275.596207 Z" fill="url(#GR144_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR145_0" x1="436.572949" x2="440.114898" y1="275.596207" y2="275.54869"> - <stop offset="0" style="stop-color:#0068ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0068ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR145_0" x1="436.572949" x2="440.114898" y1="275.596207" y2="275.54869"> + <stop offset="1" style="stop-color:#0054ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0068ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR145_1" x1="439.984555" x2="433.218027" y1="265.83294" y2="269.651947"> - <stop offset="0" style="stop-color:#0028ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0028ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR145_1" x1="439.984555" x2="433.218027" y1="265.83294" y2="269.651947"> + <stop offset="1" style="stop-color:#0054ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0028ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR145_2" x1="440.201792" x2="434.965594" y1="282.025802" y2="280.196103"> - <stop offset="0" style="stop-color:#006aff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#006aff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR145_2" x1="440.201792" x2="434.965594" y1="282.025802" y2="280.196103"> + <stop offset="1" style="stop-color:#0054ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#006aff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT145" points="440.201792 282.025802 436.572949 275.596207 439.984555 265.83294"/> </defs> - <use fill="#0054ff" fill-opacity="1" xlink:href="#GT145"/> - <use fill="url(#GR145_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT145"/> - <use fill="url(#GR145_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT145"/> - <use fill="url(#GR145_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT145"/> + <path d="M 440.201792,282.025802 L 436.572949,275.596207 439.984555,265.83294 Z" fill="#0054ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 440.201792,282.025802 L 436.572949,275.596207 439.984555,265.83294 Z" fill="url(#GR145_0)" shape-rendering="crispEdges"/> + <path d="M 440.201792,282.025802 L 436.572949,275.596207 439.984555,265.83294 Z" fill="url(#GR145_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 440.201792,282.025802 L 436.572949,275.596207 439.984555,265.83294 Z" fill="url(#GR145_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR146_0" x1="439.984555" x2="433.218027" y1="265.83294" y2="269.651947"> - <stop offset="0" style="stop-color:#0028ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0028ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR146_0" x1="439.984555" x2="433.218027" y1="265.83294" y2="269.651947"> + <stop offset="1" style="stop-color:#0056ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0028ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR146_1" x1="443.830635" x2="440.288686" y1="288.455398" y2="288.502915"> - <stop offset="0" style="stop-color:#0070ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0070ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR146_1" x1="443.830635" x2="440.288686" y1="288.455398" y2="288.502915"> + <stop offset="1" style="stop-color:#0056ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0070ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR146_2" x1="440.201792" x2="442.666296" y1="282.025802" y2="281.606808"> - <stop offset="0" style="stop-color:#006aff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#006aff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR146_2" x1="440.201792" x2="442.666296" y1="282.025802" y2="281.606808"> + <stop offset="1" style="stop-color:#0056ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#006aff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT146" points="440.201792 282.025802 439.984555 265.83294 443.830635 288.455398"/> </defs> - <use fill="#0056ff" fill-opacity="1" xlink:href="#GT146"/> - <use fill="url(#GR146_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT146"/> - <use fill="url(#GR146_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT146"/> - <use fill="url(#GR146_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT146"/> + <path d="M 440.201792,282.025802 L 439.984555,265.83294 443.830635,288.455398 Z" fill="#0056ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 440.201792,282.025802 L 439.984555,265.83294 443.830635,288.455398 Z" fill="url(#GR146_0)" shape-rendering="crispEdges"/> + <path d="M 440.201792,282.025802 L 439.984555,265.83294 443.830635,288.455398 Z" fill="url(#GR146_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 440.201792,282.025802 L 439.984555,265.83294 443.830635,288.455398 Z" fill="url(#GR146_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR147_0" x1="443.830635" x2="440.288686" y1="288.455398" y2="288.502915"> - <stop offset="0" style="stop-color:#0070ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0070ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR147_0" x1="443.830635" x2="440.288686" y1="288.455398" y2="288.502915"> + <stop offset="1" style="stop-color:#0080ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0070ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR147_1" x1="440.419029" x2="447.185557" y1="298.218665" y2="294.399658"> - <stop offset="0" style="stop-color:#00a4ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a4ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR147_1" x1="440.419029" x2="447.185557" y1="298.218665" y2="294.399658"> + <stop offset="1" style="stop-color:#0080ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a4ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR147_2" x1="440.201792" x2="445.43799" y1="282.025802" y2="283.855502"> - <stop offset="0" style="stop-color:#006aff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#006aff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR147_2" x1="440.201792" x2="445.43799" y1="282.025802" y2="283.855502"> + <stop offset="1" style="stop-color:#0080ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#006aff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT147" points="440.201792 282.025802 443.830635 288.455398 440.419029 298.218665"/> </defs> - <use fill="#0080ff" fill-opacity="1" xlink:href="#GT147"/> - <use fill="url(#GR147_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT147"/> - <use fill="url(#GR147_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT147"/> - <use fill="url(#GR147_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT147"/> + <path d="M 440.201792,282.025802 L 443.830635,288.455398 440.419029,298.218665 Z" fill="#0080ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 440.201792,282.025802 L 443.830635,288.455398 440.419029,298.218665 Z" fill="url(#GR147_0)" shape-rendering="crispEdges"/> + <path d="M 440.201792,282.025802 L 443.830635,288.455398 440.419029,298.218665 Z" fill="url(#GR147_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 440.201792,282.025802 L 443.830635,288.455398 440.419029,298.218665 Z" fill="url(#GR147_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR148_0" x1="436.572949" x2="442.071364" y1="275.596207" y2="274.229713"> - <stop offset="0" style="stop-color:#0068ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0068ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR148_0" x1="436.572949" x2="442.071364" y1="275.596207" y2="274.229713"> + <stop offset="1" style="stop-color:#005eff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0068ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR148_1" x1="436.572949" x2="438.957815" y1="252.105531" y2="252.3502"> - <stop offset="0" style="stop-color:#0068ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0068ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR148_1" x1="436.572949" x2="438.957815" y1="252.105531" y2="252.3502"> + <stop offset="1" style="stop-color:#005eff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0068ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR148_2" x1="438.278752" x2="436.572949" y1="258.969235" y2="258.969235"> - <stop offset="0" style="stop-color:#0048ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0048ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR148_2" x1="438.278752" x2="436.572949" y1="258.969235" y2="258.969235"> + <stop offset="1" style="stop-color:#005eff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0048ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT148" points="438.278752 258.969235 436.572949 275.596207 436.572949 252.105531"/> </defs> - <use fill="#005eff" fill-opacity="1" xlink:href="#GT148"/> - <use fill="url(#GR148_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT148"/> - <use fill="url(#GR148_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT148"/> - <use fill="url(#GR148_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT148"/> + <path d="M 438.278752,258.969235 L 436.572949,275.596207 436.572949,252.105531 Z" fill="#005eff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 438.278752,258.969235 L 436.572949,275.596207 436.572949,252.105531 Z" fill="url(#GR148_0)" shape-rendering="crispEdges"/> + <path d="M 438.278752,258.969235 L 436.572949,275.596207 436.572949,252.105531 Z" fill="url(#GR148_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 438.278752,258.969235 L 436.572949,275.596207 436.572949,252.105531 Z" fill="url(#GR148_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR149_0" x1="436.572949" x2="438.957815" y1="252.105531" y2="252.3502"> - <stop offset="0" style="stop-color:#0068ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0068ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR149_0" x1="436.572949" x2="438.957815" y1="252.105531" y2="252.3502"> + <stop offset="1" style="stop-color:#0048ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0068ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR149_1" x1="439.984555" x2="434.486139" y1="242.342263" y2="243.708758"> - <stop offset="0" style="stop-color:#0028ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0028ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR149_1" x1="439.984555" x2="434.486139" y1="242.342263" y2="243.708758"> + <stop offset="1" style="stop-color:#0048ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0028ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR149_2" x1="438.278752" x2="434.62115" y1="258.969235" y2="257.691149"> - <stop offset="0" style="stop-color:#0048ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0048ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR149_2" x1="438.278752" x2="434.62115" y1="258.969235" y2="257.691149"> + <stop offset="1" style="stop-color:#0048ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0048ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT149" points="438.278752 258.969235 436.572949 252.105531 439.984555 242.342263"/> </defs> - <use fill="#0048ff" fill-opacity="1" xlink:href="#GT149"/> - <use fill="url(#GR149_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT149"/> - <use fill="url(#GR149_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT149"/> - <use fill="url(#GR149_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT149"/> + <path d="M 438.278752,258.969235 L 436.572949,252.105531 439.984555,242.342263 Z" fill="#0048ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 438.278752,258.969235 L 436.572949,252.105531 439.984555,242.342263 Z" fill="url(#GR149_0)" shape-rendering="crispEdges"/> + <path d="M 438.278752,258.969235 L 436.572949,252.105531 439.984555,242.342263 Z" fill="url(#GR149_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 438.278752,258.969235 L 436.572949,252.105531 439.984555,242.342263 Z" fill="url(#GR149_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR14a_0" x1="439.984555" x2="434.486139" y1="242.342263" y2="243.708758"> - <stop offset="0" style="stop-color:#0028ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0028ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR14a_0" x1="439.984555" x2="434.486139" y1="242.342263" y2="243.708758"> + <stop offset="1" style="stop-color:#0033ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0028ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR14a_1" x1="439.984555" x2="437.599688" y1="265.83294" y2="265.58827"> - <stop offset="0" style="stop-color:#0028ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0028ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR14a_1" x1="439.984555" x2="437.599688" y1="265.83294" y2="265.58827"> + <stop offset="1" style="stop-color:#0033ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0028ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR14a_2" x1="438.278752" x2="439.984555" y1="258.969235" y2="258.969235"> - <stop offset="0" style="stop-color:#0048ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0048ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR14a_2" x1="438.278752" x2="439.984555" y1="258.969235" y2="258.969235"> + <stop offset="1" style="stop-color:#0033ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0048ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT14a" points="438.278752 258.969235 439.984555 242.342263 439.984555 265.83294"/> </defs> - <use fill="#0033ff" fill-opacity="1" xlink:href="#GT14a"/> - <use fill="url(#GR14a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT14a"/> - <use fill="url(#GR14a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT14a"/> - <use fill="url(#GR14a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT14a"/> + <path d="M 438.278752,258.969235 L 439.984555,242.342263 439.984555,265.83294 Z" fill="#0033ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 438.278752,258.969235 L 439.984555,242.342263 439.984555,265.83294 Z" fill="url(#GR14a_0)" shape-rendering="crispEdges"/> + <path d="M 438.278752,258.969235 L 439.984555,242.342263 439.984555,265.83294 Z" fill="url(#GR14a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 438.278752,258.969235 L 439.984555,242.342263 439.984555,265.83294 Z" fill="url(#GR14a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR14b_0" x1="439.984555" x2="437.599688" y1="265.83294" y2="265.58827"> - <stop offset="0" style="stop-color:#0028ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0028ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR14b_0" x1="439.984555" x2="437.599688" y1="265.83294" y2="265.58827"> + <stop offset="1" style="stop-color:#0048ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0028ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR14b_1" x1="436.572949" x2="442.071364" y1="275.596207" y2="274.229713"> - <stop offset="0" style="stop-color:#0068ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0068ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR14b_1" x1="436.572949" x2="442.071364" y1="275.596207" y2="274.229713"> + <stop offset="1" style="stop-color:#0048ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0068ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR14b_2" x1="438.278752" x2="441.936353" y1="258.969235" y2="260.247321"> - <stop offset="0" style="stop-color:#0048ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0048ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR14b_2" x1="438.278752" x2="441.936353" y1="258.969235" y2="260.247321"> + <stop offset="1" style="stop-color:#0048ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0048ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT14b" points="438.278752 258.969235 439.984555 265.83294 436.572949 275.596207"/> </defs> - <use fill="#0048ff" fill-opacity="1" xlink:href="#GT14b"/> - <use fill="url(#GR14b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT14b"/> - <use fill="url(#GR14b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT14b"/> - <use fill="url(#GR14b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT14b"/> + <path d="M 438.278752,258.969235 L 439.984555,265.83294 436.572949,275.596207 Z" fill="#0048ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 438.278752,258.969235 L 439.984555,265.83294 436.572949,275.596207 Z" fill="url(#GR14b_0)" shape-rendering="crispEdges"/> + <path d="M 438.278752,258.969235 L 439.984555,265.83294 436.572949,275.596207 Z" fill="url(#GR14b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 438.278752,258.969235 L 439.984555,265.83294 436.572949,275.596207 Z" fill="url(#GR14b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR14c_0" x1="436.572949" x2="439.651169" y1="252.105531" y2="252.209535"> - <stop offset="0" style="stop-color:#0068ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0068ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR14c_0" x1="436.572949" x2="439.651169" y1="252.105531" y2="252.209535"> + <stop offset="1" style="stop-color:#007dff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0068ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR14c_1" x1="440.419029" x2="441.584159" y1="229.483073" y2="229.74418"> - <stop offset="0" style="stop-color:#00a4ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a4ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR14c_1" x1="440.419029" x2="441.584159" y1="229.483073" y2="229.74418"> + <stop offset="1" style="stop-color:#007dff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a4ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR14c_2" x1="440.201792" x2="439.350528" y1="235.912668" y2="235.767943"> - <stop offset="0" style="stop-color:#006aff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#006aff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR14c_2" x1="440.201792" x2="439.350528" y1="235.912668" y2="235.767943"> + <stop offset="1" style="stop-color:#007dff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#006aff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT14c" points="440.201792 235.912668 436.572949 252.105531 440.419029 229.483073"/> </defs> - <use fill="#007dff" fill-opacity="1" xlink:href="#GT14c"/> - <use fill="url(#GR14c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT14c"/> - <use fill="url(#GR14c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT14c"/> - <use fill="url(#GR14c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT14c"/> + <path d="M 440.201792,235.912668 L 436.572949,252.105531 440.419029,229.483073 Z" fill="#007dff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 440.201792,235.912668 L 436.572949,252.105531 440.419029,229.483073 Z" fill="url(#GR14c_0)" shape-rendering="crispEdges"/> + <path d="M 440.201792,235.912668 L 436.572949,252.105531 440.419029,229.483073 Z" fill="url(#GR14c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 440.201792,235.912668 L 436.572949,252.105531 440.419029,229.483073 Z" fill="url(#GR14c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR14d_0" x1="440.419029" x2="441.584159" y1="229.483073" y2="229.74418"> - <stop offset="0" style="stop-color:#00a4ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a4ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR14d_0" x1="440.419029" x2="441.584159" y1="229.483073" y2="229.74418"> + <stop offset="1" style="stop-color:#0080ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a4ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR14d_1" x1="443.830635" x2="440.752415" y1="219.719806" y2="219.615802"> - <stop offset="0" style="stop-color:#0070ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0070ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR14d_1" x1="443.830635" x2="440.752415" y1="219.719806" y2="219.615802"> + <stop offset="1" style="stop-color:#0080ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0070ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR14d_2" x1="440.201792" x2="438.393158" y1="235.912668" y2="235.280672"> - <stop offset="0" style="stop-color:#006aff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#006aff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR14d_2" x1="440.201792" x2="438.393158" y1="235.912668" y2="235.280672"> + <stop offset="1" style="stop-color:#0080ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#006aff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT14d" points="440.201792 235.912668 440.419029 229.483073 443.830635 219.719806"/> </defs> - <use fill="#0080ff" fill-opacity="1" xlink:href="#GT14d"/> - <use fill="url(#GR14d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT14d"/> - <use fill="url(#GR14d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT14d"/> - <use fill="url(#GR14d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT14d"/> + <path d="M 440.201792,235.912668 L 440.419029,229.483073 443.830635,219.719806 Z" fill="#0080ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 440.201792,235.912668 L 440.419029,229.483073 443.830635,219.719806 Z" fill="url(#GR14d_0)" shape-rendering="crispEdges"/> + <path d="M 440.201792,235.912668 L 440.419029,229.483073 443.830635,219.719806 Z" fill="url(#GR14d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 440.201792,235.912668 L 440.419029,229.483073 443.830635,219.719806 Z" fill="url(#GR14d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR14e_0" x1="443.830635" x2="440.752415" y1="219.719806" y2="219.615802"> - <stop offset="0" style="stop-color:#0070ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0070ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR14e_0" x1="443.830635" x2="440.752415" y1="219.719806" y2="219.615802"> + <stop offset="1" style="stop-color:#0056ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0070ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR14e_1" x1="439.984555" x2="438.819425" y1="242.342263" y2="242.081156"> - <stop offset="0" style="stop-color:#0028ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0028ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR14e_1" x1="439.984555" x2="438.819425" y1="242.342263" y2="242.081156"> + <stop offset="1" style="stop-color:#0056ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0028ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR14e_2" x1="440.201792" x2="441.053056" y1="235.912668" y2="236.057393"> - <stop offset="0" style="stop-color:#006aff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#006aff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR14e_2" x1="440.201792" x2="441.053056" y1="235.912668" y2="236.057393"> + <stop offset="1" style="stop-color:#0056ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#006aff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT14e" points="440.201792 235.912668 443.830635 219.719806 439.984555 242.342263"/> </defs> - <use fill="#0056ff" fill-opacity="1" xlink:href="#GT14e"/> - <use fill="url(#GR14e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT14e"/> - <use fill="url(#GR14e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT14e"/> - <use fill="url(#GR14e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT14e"/> + <path d="M 440.201792,235.912668 L 443.830635,219.719806 439.984555,242.342263 Z" fill="#0056ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 440.201792,235.912668 L 443.830635,219.719806 439.984555,242.342263 Z" fill="url(#GR14e_0)" shape-rendering="crispEdges"/> + <path d="M 440.201792,235.912668 L 443.830635,219.719806 439.984555,242.342263 Z" fill="url(#GR14e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 440.201792,235.912668 L 443.830635,219.719806 439.984555,242.342263 Z" fill="url(#GR14e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR14f_0" x1="439.984555" x2="438.819425" y1="242.342263" y2="242.081156"> - <stop offset="0" style="stop-color:#0028ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0028ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR14f_0" x1="439.984555" x2="438.819425" y1="242.342263" y2="242.081156"> + <stop offset="1" style="stop-color:#0054ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0028ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR14f_1" x1="436.572949" x2="439.651169" y1="252.105531" y2="252.209535"> - <stop offset="0" style="stop-color:#0068ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0068ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR14f_1" x1="436.572949" x2="439.651169" y1="252.105531" y2="252.209535"> + <stop offset="1" style="stop-color:#0054ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0068ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR14f_2" x1="440.201792" x2="442.010426" y1="235.912668" y2="236.544664"> - <stop offset="0" style="stop-color:#006aff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#006aff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR14f_2" x1="440.201792" x2="442.010426" y1="235.912668" y2="236.544664"> + <stop offset="1" style="stop-color:#0054ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#006aff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT14f" points="440.201792 235.912668 439.984555 242.342263 436.572949 252.105531"/> </defs> - <use fill="#0054ff" fill-opacity="1" xlink:href="#GT14f"/> - <use fill="url(#GR14f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT14f"/> - <use fill="url(#GR14f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT14f"/> - <use fill="url(#GR14f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT14f"/> + <path d="M 440.201792,235.912668 L 439.984555,242.342263 436.572949,252.105531 Z" fill="#0054ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 440.201792,235.912668 L 439.984555,242.342263 436.572949,252.105531 Z" fill="url(#GR14f_0)" shape-rendering="crispEdges"/> + <path d="M 440.201792,235.912668 L 439.984555,242.342263 436.572949,252.105531 Z" fill="url(#GR14f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 440.201792,235.912668 L 439.984555,242.342263 436.572949,252.105531 Z" fill="url(#GR14f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR150_0" x1="440.419029" x2="440.097694" y1="229.483073" y2="229.358626"> - <stop offset="0" style="stop-color:#00a4ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a4ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR150_0" x1="440.419029" x2="440.097694" y1="229.483073" y2="229.358626"> + <stop offset="1" style="stop-color:#0acaf1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a4ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR150_1" x1="447.826887" x2="447.713965" y1="209.401092" y2="209.360156"> - <stop offset="0" style="stop-color:#19ffde;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19ffde;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR150_1" x1="447.826887" x2="447.713965" y1="209.401092" y2="209.360156"> + <stop offset="1" style="stop-color:#0acaf1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19ffde;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR150_2" x1="445.828761" x2="445.912328" y1="214.560449" y2="214.591275"> - <stop offset="0" style="stop-color:#06bbf7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06bbf7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR150_2" x1="445.828761" x2="445.912328" y1="214.560449" y2="214.591275"> + <stop offset="1" style="stop-color:#0acaf1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06bbf7;stop-opacity:0;"/> </linearGradient> - <polygon id="GT150" points="445.828761 214.560449 440.419029 229.483073 447.826887 209.401092"/> </defs> - <use fill="#0acaf1" fill-opacity="1" xlink:href="#GT150"/> - <use fill="url(#GR150_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT150"/> - <use fill="url(#GR150_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT150"/> - <use fill="url(#GR150_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT150"/> + <path d="M 445.828761,214.560449 L 440.419029,229.483073 447.826887,209.401092 Z" fill="#0acaf1" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 445.828761,214.560449 L 440.419029,229.483073 447.826887,209.401092 Z" fill="url(#GR150_0)" shape-rendering="crispEdges"/> + <path d="M 445.828761,214.560449 L 440.419029,229.483073 447.826887,209.401092 Z" fill="url(#GR150_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 445.828761,214.560449 L 440.419029,229.483073 447.826887,209.401092 Z" fill="url(#GR150_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR151_0" x1="447.826887" x2="447.713965" y1="209.401092" y2="209.360156"> - <stop offset="0" style="stop-color:#19ffde;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19ffde;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR151_0" x1="447.826887" x2="447.713965" y1="209.401092" y2="209.360156"> + <stop offset="1" style="stop-color:#0adcf1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19ffde;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR151_1" x1="451.238493" x2="451.559828" y1="199.637825" y2="199.762272"> - <stop offset="0" style="stop-color:#00d8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00d8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR151_1" x1="451.238493" x2="451.559828" y1="199.637825" y2="199.762272"> + <stop offset="1" style="stop-color:#0adcf1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00d8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR151_2" x1="445.828761" x2="446.002789" y1="214.560449" y2="214.62126"> - <stop offset="0" style="stop-color:#06bbf7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06bbf7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR151_2" x1="445.828761" x2="446.002789" y1="214.560449" y2="214.62126"> + <stop offset="1" style="stop-color:#0adcf1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06bbf7;stop-opacity:0;"/> </linearGradient> - <polygon id="GT151" points="445.828761 214.560449 447.826887 209.401092 451.238493 199.637825"/> </defs> - <use fill="#0adcf1" fill-opacity="1" xlink:href="#GT151"/> - <use fill="url(#GR151_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT151"/> - <use fill="url(#GR151_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT151"/> - <use fill="url(#GR151_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT151"/> + <path d="M 445.828761,214.560449 L 447.826887,209.401092 451.238493,199.637825 Z" fill="#0adcf1" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 445.828761,214.560449 L 447.826887,209.401092 451.238493,199.637825 Z" fill="url(#GR151_0)" shape-rendering="crispEdges"/> + <path d="M 445.828761,214.560449 L 447.826887,209.401092 451.238493,199.637825 Z" fill="url(#GR151_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 445.828761,214.560449 L 447.826887,209.401092 451.238493,199.637825 Z" fill="url(#GR151_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR152_0" x1="451.238493" x2="451.559828" y1="199.637825" y2="199.762272"> - <stop offset="0" style="stop-color:#00d8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00d8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR152_0" x1="451.238493" x2="451.559828" y1="199.637825" y2="199.762272"> + <stop offset="1" style="stop-color:#02acfc;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00d8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR152_1" x1="443.830635" x2="443.943557" y1="219.719806" y2="219.760742"> - <stop offset="0" style="stop-color:#0070ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0070ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR152_1" x1="443.830635" x2="443.943557" y1="219.719806" y2="219.760742"> + <stop offset="1" style="stop-color:#02acfc;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0070ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR152_2" x1="445.828761" x2="445.745194" y1="214.560449" y2="214.529623"> - <stop offset="0" style="stop-color:#06bbf7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06bbf7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR152_2" x1="445.828761" x2="445.745194" y1="214.560449" y2="214.529623"> + <stop offset="1" style="stop-color:#02acfc;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06bbf7;stop-opacity:0;"/> </linearGradient> - <polygon id="GT152" points="445.828761 214.560449 451.238493 199.637825 443.830635 219.719806"/> </defs> - <use fill="#02acfc" fill-opacity="1" xlink:href="#GT152"/> - <use fill="url(#GR152_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT152"/> - <use fill="url(#GR152_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT152"/> - <use fill="url(#GR152_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT152"/> + <path d="M 445.828761,214.560449 L 451.238493,199.637825 443.830635,219.719806 Z" fill="#02acfc" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 445.828761,214.560449 L 451.238493,199.637825 443.830635,219.719806 Z" fill="url(#GR152_0)" shape-rendering="crispEdges"/> + <path d="M 445.828761,214.560449 L 451.238493,199.637825 443.830635,219.719806 Z" fill="url(#GR152_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 445.828761,214.560449 L 451.238493,199.637825 443.830635,219.719806 Z" fill="url(#GR152_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR153_0" x1="443.830635" x2="443.943557" y1="219.719806" y2="219.760742"> - <stop offset="0" style="stop-color:#0070ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0070ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR153_0" x1="443.830635" x2="443.943557" y1="219.719806" y2="219.760742"> + <stop offset="1" style="stop-color:#029bfc;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0070ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR153_1" x1="440.419029" x2="440.097694" y1="229.483073" y2="229.358626"> - <stop offset="0" style="stop-color:#00a4ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a4ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR153_1" x1="440.419029" x2="440.097694" y1="229.483073" y2="229.358626"> + <stop offset="1" style="stop-color:#029bfc;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a4ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR153_2" x1="445.828761" x2="445.654734" y1="214.560449" y2="214.499638"> - <stop offset="0" style="stop-color:#06bbf7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06bbf7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR153_2" x1="445.828761" x2="445.654734" y1="214.560449" y2="214.499638"> + <stop offset="1" style="stop-color:#029bfc;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06bbf7;stop-opacity:0;"/> </linearGradient> - <polygon id="GT153" points="445.828761 214.560449 443.830635 219.719806 440.419029 229.483073"/> </defs> - <use fill="#029bfc" fill-opacity="1" xlink:href="#GT153"/> - <use fill="url(#GR153_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT153"/> - <use fill="url(#GR153_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT153"/> - <use fill="url(#GR153_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT153"/> + <path d="M 445.828761,214.560449 L 443.830635,219.719806 440.419029,229.483073 Z" fill="#029bfc" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 445.828761,214.560449 L 443.830635,219.719806 440.419029,229.483073 Z" fill="url(#GR153_0)" shape-rendering="crispEdges"/> + <path d="M 445.828761,214.560449 L 443.830635,219.719806 440.419029,229.483073 Z" fill="url(#GR153_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 445.828761,214.560449 L 443.830635,219.719806 440.419029,229.483073 Z" fill="url(#GR153_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR154_0" x1="447.826887" x2="444.496061" y1="209.401092" y2="205.690988"> - <stop offset="0" style="stop-color:#19ffde;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19ffde;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR154_0" x1="447.826887" x2="444.496061" y1="209.401092" y2="205.690988"> + <stop offset="1" style="stop-color:#42fcb6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19ffde;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR154_1" x1="458.248931" x2="456.835443" y1="193.344053" y2="192.586754"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR154_1" x1="458.248931" x2="456.835443" y1="193.344053" y2="192.586754"> + <stop offset="1" style="stop-color:#42fcb6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR154_2" x1="454.743712" x2="455.772845" y1="196.490939" y2="197.158911"> - <stop offset="0" style="stop-color:#39f5bf;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#39f5bf;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR154_2" x1="454.743712" x2="455.772845" y1="196.490939" y2="197.158911"> + <stop offset="1" style="stop-color:#42fcb6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#39f5bf;stop-opacity:0;"/> </linearGradient> - <polygon id="GT154" points="454.743712 196.490939 447.826887 209.401092 458.248931 193.344053"/> </defs> - <use fill="#42fcb6" fill-opacity="1" xlink:href="#GT154"/> - <use fill="url(#GR154_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT154"/> - <use fill="url(#GR154_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT154"/> - <use fill="url(#GR154_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT154"/> + <path d="M 454.743712,196.490939 L 447.826887,209.401092 458.248931,193.344053 Z" fill="#42fcb6" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 454.743712,196.490939 L 447.826887,209.401092 458.248931,193.344053 Z" fill="url(#GR154_0)" shape-rendering="crispEdges"/> + <path d="M 454.743712,196.490939 L 447.826887,209.401092 458.248931,193.344053 Z" fill="url(#GR154_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 454.743712,196.490939 L 447.826887,209.401092 458.248931,193.344053 Z" fill="url(#GR154_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR155_0" x1="458.248931" x2="456.835443" y1="193.344053" y2="192.586754"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR155_0" x1="458.248931" x2="456.835443" y1="193.344053" y2="192.586754"> + <stop offset="1" style="stop-color:#57fca0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR155_1" x1="461.660538" x2="464.991363" y1="183.580786" y2="187.29089"> - <stop offset="0" style="stop-color:#5aff9d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5aff9d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR155_1" x1="461.660538" x2="464.991363" y1="183.580786" y2="187.29089"> + <stop offset="1" style="stop-color:#57fca0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5aff9d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR155_2" x1="454.743712" x2="456.887538" y1="196.490939" y2="197.240062"> - <stop offset="0" style="stop-color:#39f5bf;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#39f5bf;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR155_2" x1="454.743712" x2="456.887538" y1="196.490939" y2="197.240062"> + <stop offset="1" style="stop-color:#57fca0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#39f5bf;stop-opacity:0;"/> </linearGradient> - <polygon id="GT155" points="454.743712 196.490939 458.248931 193.344053 461.660538 183.580786"/> </defs> - <use fill="#57fca0" fill-opacity="1" xlink:href="#GT155"/> - <use fill="url(#GR155_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT155"/> - <use fill="url(#GR155_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT155"/> - <use fill="url(#GR155_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT155"/> + <path d="M 454.743712,196.490939 L 458.248931,193.344053 461.660538,183.580786 Z" fill="#57fca0" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 454.743712,196.490939 L 458.248931,193.344053 461.660538,183.580786 Z" fill="url(#GR155_0)" shape-rendering="crispEdges"/> + <path d="M 454.743712,196.490939 L 458.248931,193.344053 461.660538,183.580786 Z" fill="url(#GR155_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 454.743712,196.490939 L 458.248931,193.344053 461.660538,183.580786 Z" fill="url(#GR155_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR156_0" x1="461.660538" x2="464.991363" y1="183.580786" y2="187.29089"> - <stop offset="0" style="stop-color:#5aff9d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5aff9d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR156_0" x1="461.660538" x2="464.991363" y1="183.580786" y2="187.29089"> + <stop offset="1" style="stop-color:#31efc9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5aff9d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR156_1" x1="451.238493" x2="452.651981" y1="199.637825" y2="200.395124"> - <stop offset="0" style="stop-color:#00d8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00d8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR156_1" x1="451.238493" x2="452.651981" y1="199.637825" y2="200.395124"> + <stop offset="1" style="stop-color:#31efc9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00d8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR156_2" x1="454.743712" x2="453.71458" y1="196.490939" y2="195.822966"> - <stop offset="0" style="stop-color:#39f5bf;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#39f5bf;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR156_2" x1="454.743712" x2="453.71458" y1="196.490939" y2="195.822966"> + <stop offset="1" style="stop-color:#31efc9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#39f5bf;stop-opacity:0;"/> </linearGradient> - <polygon id="GT156" points="454.743712 196.490939 461.660538 183.580786 451.238493 199.637825"/> </defs> - <use fill="#31efc9" fill-opacity="1" xlink:href="#GT156"/> - <use fill="url(#GR156_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT156"/> - <use fill="url(#GR156_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT156"/> - <use fill="url(#GR156_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT156"/> + <path d="M 454.743712,196.490939 L 461.660538,183.580786 451.238493,199.637825 Z" fill="#31efc9" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 454.743712,196.490939 L 461.660538,183.580786 451.238493,199.637825 Z" fill="url(#GR156_0)" shape-rendering="crispEdges"/> + <path d="M 454.743712,196.490939 L 461.660538,183.580786 451.238493,199.637825 Z" fill="url(#GR156_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 454.743712,196.490939 L 461.660538,183.580786 451.238493,199.637825 Z" fill="url(#GR156_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR157_0" x1="451.238493" x2="452.651981" y1="199.637825" y2="200.395124"> - <stop offset="0" style="stop-color:#00d8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00d8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR157_0" x1="451.238493" x2="452.651981" y1="199.637825" y2="200.395124"> + <stop offset="1" style="stop-color:#1befdf;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00d8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR157_1" x1="447.826887" x2="444.496061" y1="209.401092" y2="205.690988"> - <stop offset="0" style="stop-color:#19ffde;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19ffde;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR157_1" x1="447.826887" x2="444.496061" y1="209.401092" y2="205.690988"> + <stop offset="1" style="stop-color:#1befdf;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19ffde;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR157_2" x1="454.743712" x2="452.599887" y1="196.490939" y2="195.741816"> - <stop offset="0" style="stop-color:#39f5bf;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#39f5bf;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR157_2" x1="454.743712" x2="452.599887" y1="196.490939" y2="195.741816"> + <stop offset="1" style="stop-color:#1befdf;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#39f5bf;stop-opacity:0;"/> </linearGradient> - <polygon id="GT157" points="454.743712 196.490939 451.238493 199.637825 447.826887 209.401092"/> </defs> - <use fill="#1befdf" fill-opacity="1" xlink:href="#GT157"/> - <use fill="url(#GR157_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT157"/> - <use fill="url(#GR157_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT157"/> - <use fill="url(#GR157_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT157"/> + <path d="M 454.743712,196.490939 L 451.238493,199.637825 447.826887,209.401092 Z" fill="#1befdf" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 454.743712,196.490939 L 451.238493,199.637825 447.826887,209.401092 Z" fill="url(#GR157_0)" shape-rendering="crispEdges"/> + <path d="M 454.743712,196.490939 L 451.238493,199.637825 447.826887,209.401092 Z" fill="url(#GR157_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 454.743712,196.490939 L 451.238493,199.637825 447.826887,209.401092 Z" fill="url(#GR157_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR158_0" x1="458.248931" x2="457.168921" y1="193.344053" y2="184.10589"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR158_0" x1="458.248931" x2="457.168921" y1="193.344053" y2="184.10589"> + <stop offset="1" style="stop-color:#a3ff54;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR158_1" x1="470.914762" x2="468.300653" y1="182.498898" y2="180.459529"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR158_1" x1="470.914762" x2="468.300653" y1="182.498898" y2="180.459529"> + <stop offset="1" style="stop-color:#a3ff54;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR158_2" x1="466.28765" x2="467.977774" y1="183.039842" y2="185.013702"> - <stop offset="0" style="stop-color:#9bff5c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#9bff5c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR158_2" x1="466.28765" x2="467.977774" y1="183.039842" y2="185.013702"> + <stop offset="1" style="stop-color:#a3ff54;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#9bff5c;stop-opacity:0;"/> </linearGradient> - <polygon id="GT158" points="466.28765 183.039842 458.248931 193.344053 470.914762 182.498898"/> </defs> - <use fill="#a3ff54" fill-opacity="1" xlink:href="#GT158"/> - <use fill="url(#GR158_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT158"/> - <use fill="url(#GR158_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT158"/> - <use fill="url(#GR158_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT158"/> + <path d="M 466.28765,183.039842 L 458.248931,193.344053 470.914762,182.498898 Z" fill="#a3ff54" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 466.28765,183.039842 L 458.248931,193.344053 470.914762,182.498898 Z" fill="url(#GR158_0)" shape-rendering="crispEdges"/> + <path d="M 466.28765,183.039842 L 458.248931,193.344053 470.914762,182.498898 Z" fill="url(#GR158_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 466.28765,183.039842 L 458.248931,193.344053 470.914762,182.498898 Z" fill="url(#GR158_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR159_0" x1="470.914762" x2="468.300653" y1="182.498898" y2="180.459529"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR159_0" x1="470.914762" x2="468.300653" y1="182.498898" y2="180.459529"> + <stop offset="1" style="stop-color:#beff39;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR159_1" x1="474.326368" x2="475.406379" y1="172.735631" y2="181.973794"> - <stop offset="0" style="stop-color:#c4ff33;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c4ff33;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR159_1" x1="474.326368" x2="475.406379" y1="172.735631" y2="181.973794"> + <stop offset="1" style="stop-color:#beff39;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c4ff33;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR159_2" x1="466.28765" x2="470.242801" y1="183.039842" y2="184.421902"> - <stop offset="0" style="stop-color:#9bff5c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#9bff5c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR159_2" x1="466.28765" x2="470.242801" y1="183.039842" y2="184.421902"> + <stop offset="1" style="stop-color:#beff39;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#9bff5c;stop-opacity:0;"/> </linearGradient> - <polygon id="GT159" points="466.28765 183.039842 470.914762 182.498898 474.326368 172.735631"/> </defs> - <use fill="#beff39" fill-opacity="1" xlink:href="#GT159"/> - <use fill="url(#GR159_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT159"/> - <use fill="url(#GR159_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT159"/> - <use fill="url(#GR159_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT159"/> + <path d="M 466.28765,183.039842 L 470.914762,182.498898 474.326368,172.735631 Z" fill="#beff39" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 466.28765,183.039842 L 470.914762,182.498898 474.326368,172.735631 Z" fill="url(#GR159_0)" shape-rendering="crispEdges"/> + <path d="M 466.28765,183.039842 L 470.914762,182.498898 474.326368,172.735631 Z" fill="url(#GR159_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 466.28765,183.039842 L 470.914762,182.498898 474.326368,172.735631 Z" fill="url(#GR159_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR15a_0" x1="474.326368" x2="475.406379" y1="172.735631" y2="181.973794"> - <stop offset="0" style="stop-color:#c4ff33;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c4ff33;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR15a_0" x1="474.326368" x2="475.406379" y1="172.735631" y2="181.973794"> + <stop offset="1" style="stop-color:#93ff64;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c4ff33;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR15a_1" x1="461.660538" x2="464.274647" y1="183.580786" y2="185.620155"> - <stop offset="0" style="stop-color:#5aff9d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5aff9d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR15a_1" x1="461.660538" x2="464.274647" y1="183.580786" y2="185.620155"> + <stop offset="1" style="stop-color:#93ff64;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5aff9d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR15a_2" x1="466.28765" x2="464.597526" y1="183.039842" y2="181.065981"> - <stop offset="0" style="stop-color:#9bff5c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#9bff5c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR15a_2" x1="466.28765" x2="464.597526" y1="183.039842" y2="181.065981"> + <stop offset="1" style="stop-color:#93ff64;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#9bff5c;stop-opacity:0;"/> </linearGradient> - <polygon id="GT15a" points="466.28765 183.039842 474.326368 172.735631 461.660538 183.580786"/> </defs> - <use fill="#93ff64" fill-opacity="1" xlink:href="#GT15a"/> - <use fill="url(#GR15a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT15a"/> - <use fill="url(#GR15a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT15a"/> - <use fill="url(#GR15a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT15a"/> + <path d="M 466.28765,183.039842 L 474.326368,172.735631 461.660538,183.580786 Z" fill="#93ff64" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 466.28765,183.039842 L 474.326368,172.735631 461.660538,183.580786 Z" fill="url(#GR15a_0)" shape-rendering="crispEdges"/> + <path d="M 466.28765,183.039842 L 474.326368,172.735631 461.660538,183.580786 Z" fill="url(#GR15a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 466.28765,183.039842 L 474.326368,172.735631 461.660538,183.580786 Z" fill="url(#GR15a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR15b_0" x1="461.660538" x2="464.274647" y1="183.580786" y2="185.620155"> - <stop offset="0" style="stop-color:#5aff9d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5aff9d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR15b_0" x1="461.660538" x2="464.274647" y1="183.580786" y2="185.620155"> + <stop offset="1" style="stop-color:#78ff7f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5aff9d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR15b_1" x1="458.248931" x2="457.168921" y1="193.344053" y2="184.10589"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR15b_1" x1="458.248931" x2="457.168921" y1="193.344053" y2="184.10589"> + <stop offset="1" style="stop-color:#78ff7f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR15b_2" x1="466.28765" x2="462.332498" y1="183.039842" y2="181.657782"> - <stop offset="0" style="stop-color:#9bff5c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#9bff5c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR15b_2" x1="466.28765" x2="462.332498" y1="183.039842" y2="181.657782"> + <stop offset="1" style="stop-color:#78ff7f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#9bff5c;stop-opacity:0;"/> </linearGradient> - <polygon id="GT15b" points="466.28765 183.039842 461.660538 183.580786 458.248931 193.344053"/> </defs> - <use fill="#78ff7f" fill-opacity="1" xlink:href="#GT15b"/> - <use fill="url(#GR15b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT15b"/> - <use fill="url(#GR15b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT15b"/> - <use fill="url(#GR15b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT15b"/> + <path d="M 466.28765,183.039842 L 461.660538,183.580786 458.248931,193.344053 Z" fill="#78ff7f" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 466.28765,183.039842 L 461.660538,183.580786 458.248931,193.344053 Z" fill="url(#GR15b_0)" shape-rendering="crispEdges"/> + <path d="M 466.28765,183.039842 L 461.660538,183.580786 458.248931,193.344053 Z" fill="url(#GR15b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 466.28765,183.039842 L 461.660538,183.580786 458.248931,193.344053 Z" fill="url(#GR15b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR15c_0" x1="470.914762" x2="475.268237" y1="182.498898" y2="173.175424"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR15c_0" x1="470.914762" x2="475.268237" y1="182.498898" y2="173.175424"> + <stop offset="1" style="stop-color:#ebd110;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR15c_1" x1="484.888116" x2="481.490642" y1="177.667302" y2="173.620332"> - <stop offset="0" style="stop-color:#ff9f00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff9f00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR15c_1" x1="484.888116" x2="481.490642" y1="177.667302" y2="173.620332"> + <stop offset="1" style="stop-color:#ebd110;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff9f00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR15c_2" x1="479.607242" x2="480.932756" y1="175.201466" y2="179.034955"> - <stop offset="0" style="stop-color:#e7d414;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e7d414;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR15c_2" x1="479.607242" x2="480.932756" y1="175.201466" y2="179.034955"> + <stop offset="1" style="stop-color:#ebd110;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e7d414;stop-opacity:0;"/> </linearGradient> - <polygon id="GT15c" points="479.607242 175.201466 470.914762 182.498898 484.888116 177.667302"/> </defs> - <use fill="#ebd110" fill-opacity="1" xlink:href="#GT15c"/> - <use fill="url(#GR15c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT15c"/> - <use fill="url(#GR15c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT15c"/> - <use fill="url(#GR15c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT15c"/> + <path d="M 479.607242,175.201466 L 470.914762,182.498898 484.888116,177.667302 Z" fill="#ebd110" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 479.607242,175.201466 L 470.914762,182.498898 484.888116,177.667302 Z" fill="url(#GR15c_0)" shape-rendering="crispEdges"/> + <path d="M 479.607242,175.201466 L 470.914762,182.498898 484.888116,177.667302 Z" fill="url(#GR15c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 479.607242,175.201466 L 470.914762,182.498898 484.888116,177.667302 Z" fill="url(#GR15c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR15d_0" x1="484.888116" x2="481.490642" y1="177.667302" y2="173.620332"> - <stop offset="0" style="stop-color:#ff9f00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff9f00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR15d_0" x1="484.888116" x2="481.490642" y1="177.667302" y2="173.620332"> + <stop offset="1" style="stop-color:#f7b707;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff9f00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR15d_1" x1="488.299723" x2="483.946248" y1="167.904035" y2="177.227509"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR15d_1" x1="488.299723" x2="483.946248" y1="167.904035" y2="177.227509"> + <stop offset="1" style="stop-color:#f7b707;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR15d_2" x1="479.607242" x2="485.081353" y1="175.201466" y2="177.114301"> - <stop offset="0" style="stop-color:#e7d414;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e7d414;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR15d_2" x1="479.607242" x2="485.081353" y1="175.201466" y2="177.114301"> + <stop offset="1" style="stop-color:#f7b707;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e7d414;stop-opacity:0;"/> </linearGradient> - <polygon id="GT15d" points="479.607242 175.201466 484.888116 177.667302 488.299723 167.904035"/> </defs> - <use fill="#f7b707" fill-opacity="1" xlink:href="#GT15d"/> - <use fill="url(#GR15d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT15d"/> - <use fill="url(#GR15d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT15d"/> - <use fill="url(#GR15d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT15d"/> + <path d="M 479.607242,175.201466 L 484.888116,177.667302 488.299723,167.904035 Z" fill="#f7b707" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 479.607242,175.201466 L 484.888116,177.667302 488.299723,167.904035 Z" fill="url(#GR15d_0)" shape-rendering="crispEdges"/> + <path d="M 479.607242,175.201466 L 484.888116,177.667302 488.299723,167.904035 Z" fill="url(#GR15d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 479.607242,175.201466 L 484.888116,177.667302 488.299723,167.904035 Z" fill="url(#GR15d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR15e_0" x1="488.299723" x2="483.946248" y1="167.904035" y2="177.227509"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR15e_0" x1="488.299723" x2="483.946248" y1="167.904035" y2="177.227509"> + <stop offset="1" style="stop-color:#e3d718;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR15e_1" x1="474.326368" x2="477.723843" y1="172.735631" y2="176.7826"> - <stop offset="0" style="stop-color:#c4ff33;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c4ff33;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR15e_1" x1="474.326368" x2="477.723843" y1="172.735631" y2="176.7826"> + <stop offset="1" style="stop-color:#e3d718;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c4ff33;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR15e_2" x1="479.607242" x2="478.281729" y1="175.201466" y2="171.367977"> - <stop offset="0" style="stop-color:#e7d414;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e7d414;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR15e_2" x1="479.607242" x2="478.281729" y1="175.201466" y2="171.367977"> + <stop offset="1" style="stop-color:#e3d718;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e7d414;stop-opacity:0;"/> </linearGradient> - <polygon id="GT15e" points="479.607242 175.201466 488.299723 167.904035 474.326368 172.735631"/> </defs> - <use fill="#e3d718" fill-opacity="1" xlink:href="#GT15e"/> - <use fill="url(#GR15e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT15e"/> - <use fill="url(#GR15e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT15e"/> - <use fill="url(#GR15e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT15e"/> + <path d="M 479.607242,175.201466 L 488.299723,167.904035 474.326368,172.735631 Z" fill="#e3d718" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 479.607242,175.201466 L 488.299723,167.904035 474.326368,172.735631 Z" fill="url(#GR15e_0)" shape-rendering="crispEdges"/> + <path d="M 479.607242,175.201466 L 488.299723,167.904035 474.326368,172.735631 Z" fill="url(#GR15e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 479.607242,175.201466 L 488.299723,167.904035 474.326368,172.735631 Z" fill="url(#GR15e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR15f_0" x1="474.326368" x2="477.723843" y1="172.735631" y2="176.7826"> - <stop offset="0" style="stop-color:#c4ff33;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c4ff33;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR15f_0" x1="474.326368" x2="477.723843" y1="172.735631" y2="176.7826"> + <stop offset="1" style="stop-color:#d7f121;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c4ff33;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR15f_1" x1="470.914762" x2="475.268237" y1="182.498898" y2="173.175424"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR15f_1" x1="470.914762" x2="475.268237" y1="182.498898" y2="173.175424"> + <stop offset="1" style="stop-color:#d7f121;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR15f_2" x1="479.607242" x2="474.133131" y1="175.201466" y2="173.288632"> - <stop offset="0" style="stop-color:#e7d414;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e7d414;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR15f_2" x1="479.607242" x2="474.133131" y1="175.201466" y2="173.288632"> + <stop offset="1" style="stop-color:#d7f121;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e7d414;stop-opacity:0;"/> </linearGradient> - <polygon id="GT15f" points="479.607242 175.201466 474.326368 172.735631 470.914762 182.498898"/> </defs> - <use fill="#d7f121" fill-opacity="1" xlink:href="#GT15f"/> - <use fill="url(#GR15f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT15f"/> - <use fill="url(#GR15f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT15f"/> - <use fill="url(#GR15f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT15f"/> + <path d="M 479.607242,175.201466 L 474.326368,172.735631 470.914762,182.498898 Z" fill="#d7f121" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 479.607242,175.201466 L 474.326368,172.735631 470.914762,182.498898 Z" fill="url(#GR15f_0)" shape-rendering="crispEdges"/> + <path d="M 479.607242,175.201466 L 474.326368,172.735631 470.914762,182.498898 Z" fill="url(#GR15f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 479.607242,175.201466 L 474.326368,172.735631 470.914762,182.498898 Z" fill="url(#GR15f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR160_0" x1="488.299723" x2="485.419166" y1="340.271169" y2="331.708053"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR160_0" x1="488.299723" x2="485.419166" y1="340.271169" y2="331.708053"> + <stop offset="1" style="stop-color:#e0da1b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR160_1" x1="474.326368" x2="480.992938" y1="335.439573" y2="330.469758"> - <stop offset="0" style="stop-color:#c4ff33;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c4ff33;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR160_1" x1="474.326368" x2="480.992938" y1="335.439573" y2="330.469758"> + <stop offset="1" style="stop-color:#e0da1b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c4ff33;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR160_2" x1="482.61842" x2="480.871418" y1="332.6502" y2="337.702668"> - <stop offset="0" style="stop-color:#dddd1d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dddd1d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR160_2" x1="482.61842" x2="480.871418" y1="332.6502" y2="337.702668"> + <stop offset="1" style="stop-color:#e0da1b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dddd1d;stop-opacity:0;"/> </linearGradient> - <polygon id="GT160" points="482.61842 332.6502 488.299723 340.271169 474.326368 335.439573"/> </defs> - <use fill="#e0da1b" fill-opacity="1" xlink:href="#GT160"/> - <use fill="url(#GR160_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT160"/> - <use fill="url(#GR160_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT160"/> - <use fill="url(#GR160_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT160"/> + <path d="M 482.61842,332.6502 L 488.299723,340.271169 474.326368,335.439573 Z" fill="#e0da1b" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 482.61842,332.6502 L 488.299723,340.271169 474.326368,335.439573 Z" fill="url(#GR160_0)" shape-rendering="crispEdges"/> + <path d="M 482.61842,332.6502 L 488.299723,340.271169 474.326368,335.439573 Z" fill="url(#GR160_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 482.61842,332.6502 L 488.299723,340.271169 474.326368,335.439573 Z" fill="url(#GR160_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR161_0" x1="474.326368" x2="480.992938" y1="335.439573" y2="330.469758"> - <stop offset="0" style="stop-color:#c4ff33;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c4ff33;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR161_0" x1="474.326368" x2="480.992938" y1="335.439573" y2="330.469758"> + <stop offset="1" style="stop-color:#c7f431;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c4ff33;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR161_1" x1="476.937117" x2="479.817674" y1="325.029231" y2="333.592346"> - <stop offset="0" style="stop-color:#b4ff43;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b4ff43;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR161_1" x1="476.937117" x2="479.817674" y1="325.029231" y2="333.592346"> + <stop offset="1" style="stop-color:#c7f431;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b4ff43;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR161_2" x1="482.61842" x2="475.475158" y1="332.6502" y2="330.858782"> - <stop offset="0" style="stop-color:#dddd1d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dddd1d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR161_2" x1="482.61842" x2="475.475158" y1="332.6502" y2="330.858782"> + <stop offset="1" style="stop-color:#c7f431;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dddd1d;stop-opacity:0;"/> </linearGradient> - <polygon id="GT161" points="482.61842 332.6502 474.326368 335.439573 476.937117 325.029231"/> </defs> - <use fill="#c7f431" fill-opacity="1" xlink:href="#GT161"/> - <use fill="url(#GR161_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT161"/> - <use fill="url(#GR161_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT161"/> - <use fill="url(#GR161_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT161"/> + <path d="M 482.61842,332.6502 L 474.326368,335.439573 476.937117,325.029231 Z" fill="#c7f431" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 482.61842,332.6502 L 474.326368,335.439573 476.937117,325.029231 Z" fill="url(#GR161_0)" shape-rendering="crispEdges"/> + <path d="M 482.61842,332.6502 L 474.326368,335.439573 476.937117,325.029231 Z" fill="url(#GR161_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 482.61842,332.6502 L 474.326368,335.439573 476.937117,325.029231 Z" fill="url(#GR161_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR162_0" x1="476.937117" x2="479.817674" y1="325.029231" y2="333.592346"> - <stop offset="0" style="stop-color:#b4ff43;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b4ff43;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR162_0" x1="476.937117" x2="479.817674" y1="325.029231" y2="333.592346"> + <stop offset="1" style="stop-color:#dbe020;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b4ff43;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR162_1" x1="490.910472" x2="484.243902" y1="329.860826" y2="334.830641"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR162_1" x1="490.910472" x2="484.243902" y1="329.860826" y2="334.830641"> + <stop offset="1" style="stop-color:#dbe020;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR162_2" x1="482.61842" x2="484.365423" y1="332.6502" y2="327.597731"> - <stop offset="0" style="stop-color:#dddd1d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dddd1d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR162_2" x1="482.61842" x2="484.365423" y1="332.6502" y2="327.597731"> + <stop offset="1" style="stop-color:#dbe020;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dddd1d;stop-opacity:0;"/> </linearGradient> - <polygon id="GT162" points="482.61842 332.6502 476.937117 325.029231 490.910472 329.860826"/> </defs> - <use fill="#dbe020" fill-opacity="1" xlink:href="#GT162"/> - <use fill="url(#GR162_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT162"/> - <use fill="url(#GR162_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT162"/> - <use fill="url(#GR162_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT162"/> + <path d="M 482.61842,332.6502 L 476.937117,325.029231 490.910472,329.860826 Z" fill="#dbe020" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 482.61842,332.6502 L 476.937117,325.029231 490.910472,329.860826 Z" fill="url(#GR162_0)" shape-rendering="crispEdges"/> + <path d="M 482.61842,332.6502 L 476.937117,325.029231 490.910472,329.860826 Z" fill="url(#GR162_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 482.61842,332.6502 L 476.937117,325.029231 490.910472,329.860826 Z" fill="url(#GR162_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR163_0" x1="490.910472" x2="484.243902" y1="329.860826" y2="334.830641"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR163_0" x1="490.910472" x2="484.243902" y1="329.860826" y2="334.830641"> + <stop offset="1" style="stop-color:#f4c70a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR163_1" x1="488.299723" x2="485.419166" y1="340.271169" y2="331.708053"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR163_1" x1="488.299723" x2="485.419166" y1="340.271169" y2="331.708053"> + <stop offset="1" style="stop-color:#f4c70a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR163_2" x1="482.61842" x2="489.761682" y1="332.6502" y2="334.441617"> - <stop offset="0" style="stop-color:#dddd1d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dddd1d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR163_2" x1="482.61842" x2="489.761682" y1="332.6502" y2="334.441617"> + <stop offset="1" style="stop-color:#f4c70a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dddd1d;stop-opacity:0;"/> </linearGradient> - <polygon id="GT163" points="482.61842 332.6502 490.910472 329.860826 488.299723 340.271169"/> </defs> - <use fill="#f4c70a" fill-opacity="1" xlink:href="#GT163"/> - <use fill="url(#GR163_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT163"/> - <use fill="url(#GR163_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT163"/> - <use fill="url(#GR163_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT163"/> + <path d="M 482.61842,332.6502 L 490.910472,329.860826 488.299723,340.271169 Z" fill="#f4c70a" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 482.61842,332.6502 L 490.910472,329.860826 488.299723,340.271169 Z" fill="url(#GR163_0)" shape-rendering="crispEdges"/> + <path d="M 482.61842,332.6502 L 490.910472,329.860826 488.299723,340.271169 Z" fill="url(#GR163_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 482.61842,332.6502 L 490.910472,329.860826 488.299723,340.271169 Z" fill="url(#GR163_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR164_0" x1="474.326368" x2="474.624548" y1="335.439573" y2="324.963409"> - <stop offset="0" style="stop-color:#c4ff33;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c4ff33;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR164_0" x1="474.326368" x2="474.624548" y1="335.439573" y2="324.963409"> + <stop offset="1" style="stop-color:#8cff6b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c4ff33;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR164_1" x1="461.660538" x2="467.818034" y1="324.594417" y2="321.681565"> - <stop offset="0" style="stop-color:#5aff9d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5aff9d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR164_1" x1="461.660538" x2="467.818034" y1="324.594417" y2="321.681565"> + <stop offset="1" style="stop-color:#8cff6b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5aff9d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR164_2" x1="469.298828" x2="466.175068" y1="324.811824" y2="328.459998"> - <stop offset="0" style="stop-color:#86ff71;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#86ff71;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR164_2" x1="469.298828" x2="466.175068" y1="324.811824" y2="328.459998"> + <stop offset="1" style="stop-color:#8cff6b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#86ff71;stop-opacity:0;"/> </linearGradient> - <polygon id="GT164" points="469.298828 324.811824 474.326368 335.439573 461.660538 324.594417"/> </defs> - <use fill="#8cff6b" fill-opacity="1" xlink:href="#GT164"/> - <use fill="url(#GR164_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT164"/> - <use fill="url(#GR164_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT164"/> - <use fill="url(#GR164_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT164"/> + <path d="M 469.298828,324.811824 L 474.326368,335.439573 461.660538,324.594417 Z" fill="#8cff6b" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 469.298828,324.811824 L 474.326368,335.439573 461.660538,324.594417 Z" fill="url(#GR164_0)" shape-rendering="crispEdges"/> + <path d="M 469.298828,324.811824 L 474.326368,335.439573 461.660538,324.594417 Z" fill="url(#GR164_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 469.298828,324.811824 L 474.326368,335.439573 461.660538,324.594417 Z" fill="url(#GR164_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR165_0" x1="461.660538" x2="467.818034" y1="324.594417" y2="321.681565"> - <stop offset="0" style="stop-color:#5aff9d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5aff9d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR165_0" x1="461.660538" x2="467.818034" y1="324.594417" y2="321.681565"> + <stop offset="1" style="stop-color:#62ff95;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5aff9d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR165_1" x1="464.271287" x2="463.973107" y1="314.184075" y2="324.660239"> - <stop offset="0" style="stop-color:#46ffb1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#46ffb1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR165_1" x1="464.271287" x2="463.973107" y1="314.184075" y2="324.660239"> + <stop offset="1" style="stop-color:#62ff95;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#46ffb1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR165_2" x1="469.298828" x2="462.061209" y1="324.811824" y2="322.996744"> - <stop offset="0" style="stop-color:#86ff71;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#86ff71;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR165_2" x1="469.298828" x2="462.061209" y1="324.811824" y2="322.996744"> + <stop offset="1" style="stop-color:#62ff95;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#86ff71;stop-opacity:0;"/> </linearGradient> - <polygon id="GT165" points="469.298828 324.811824 461.660538 324.594417 464.271287 314.184075"/> </defs> - <use fill="#62ff95" fill-opacity="1" xlink:href="#GT165"/> - <use fill="url(#GR165_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT165"/> - <use fill="url(#GR165_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT165"/> - <use fill="url(#GR165_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT165"/> + <path d="M 469.298828,324.811824 L 461.660538,324.594417 464.271287,314.184075 Z" fill="#62ff95" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 469.298828,324.811824 L 461.660538,324.594417 464.271287,314.184075 Z" fill="url(#GR165_0)" shape-rendering="crispEdges"/> + <path d="M 469.298828,324.811824 L 461.660538,324.594417 464.271287,314.184075 Z" fill="url(#GR165_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 469.298828,324.811824 L 461.660538,324.594417 464.271287,314.184075 Z" fill="url(#GR165_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR166_0" x1="464.271287" x2="463.973107" y1="314.184075" y2="324.660239"> - <stop offset="0" style="stop-color:#46ffb1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#46ffb1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR166_0" x1="464.271287" x2="463.973107" y1="314.184075" y2="324.660239"> + <stop offset="1" style="stop-color:#80ff77;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#46ffb1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR166_1" x1="476.937117" x2="470.779621" y1="325.029231" y2="327.942083"> - <stop offset="0" style="stop-color:#b4ff43;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b4ff43;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR166_1" x1="476.937117" x2="470.779621" y1="325.029231" y2="327.942083"> + <stop offset="1" style="stop-color:#80ff77;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b4ff43;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR166_2" x1="469.298828" x2="472.422587" y1="324.811824" y2="321.163651"> - <stop offset="0" style="stop-color:#86ff71;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#86ff71;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR166_2" x1="469.298828" x2="472.422587" y1="324.811824" y2="321.163651"> + <stop offset="1" style="stop-color:#80ff77;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#86ff71;stop-opacity:0;"/> </linearGradient> - <polygon id="GT166" points="469.298828 324.811824 464.271287 314.184075 476.937117 325.029231"/> </defs> - <use fill="#80ff77" fill-opacity="1" xlink:href="#GT166"/> - <use fill="url(#GR166_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT166"/> - <use fill="url(#GR166_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT166"/> - <use fill="url(#GR166_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT166"/> + <path d="M 469.298828,324.811824 L 464.271287,314.184075 476.937117,325.029231 Z" fill="#80ff77" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 469.298828,324.811824 L 464.271287,314.184075 476.937117,325.029231 Z" fill="url(#GR166_0)" shape-rendering="crispEdges"/> + <path d="M 469.298828,324.811824 L 464.271287,314.184075 476.937117,325.029231 Z" fill="url(#GR166_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 469.298828,324.811824 L 464.271287,314.184075 476.937117,325.029231 Z" fill="url(#GR166_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR167_0" x1="476.937117" x2="470.779621" y1="325.029231" y2="327.942083"> - <stop offset="0" style="stop-color:#b4ff43;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b4ff43;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR167_0" x1="476.937117" x2="470.779621" y1="325.029231" y2="327.942083"> + <stop offset="1" style="stop-color:#aaff4d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b4ff43;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR167_1" x1="474.326368" x2="474.624548" y1="335.439573" y2="324.963409"> - <stop offset="0" style="stop-color:#c4ff33;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c4ff33;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR167_1" x1="474.326368" x2="474.624548" y1="335.439573" y2="324.963409"> + <stop offset="1" style="stop-color:#aaff4d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c4ff33;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR167_2" x1="469.298828" x2="476.536446" y1="324.811824" y2="326.626904"> - <stop offset="0" style="stop-color:#86ff71;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#86ff71;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR167_2" x1="469.298828" x2="476.536446" y1="324.811824" y2="326.626904"> + <stop offset="1" style="stop-color:#aaff4d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#86ff71;stop-opacity:0;"/> </linearGradient> - <polygon id="GT167" points="469.298828 324.811824 476.937117 325.029231 474.326368 335.439573"/> </defs> - <use fill="#aaff4d" fill-opacity="1" xlink:href="#GT167"/> - <use fill="url(#GR167_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT167"/> - <use fill="url(#GR167_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT167"/> - <use fill="url(#GR167_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT167"/> + <path d="M 469.298828,324.811824 L 476.937117,325.029231 474.326368,335.439573 Z" fill="#aaff4d" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 469.298828,324.811824 L 476.937117,325.029231 474.326368,335.439573 Z" fill="url(#GR167_0)" shape-rendering="crispEdges"/> + <path d="M 469.298828,324.811824 L 476.937117,325.029231 474.326368,335.439573 Z" fill="url(#GR167_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 469.298828,324.811824 L 476.937117,325.029231 474.326368,335.439573 Z" fill="url(#GR167_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR168_0" x1="461.660538" x2="465.870755" y1="324.594417" y2="314.877074"> - <stop offset="0" style="stop-color:#5aff9d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5aff9d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR168_0" x1="461.660538" x2="465.870755" y1="324.594417" y2="314.877074"> + <stop offset="1" style="stop-color:#2be9d0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5aff9d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR168_1" x1="451.238493" x2="456.46629" y1="308.537379" y2="306.994504"> - <stop offset="0" style="stop-color:#00d8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00d8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR168_1" x1="451.238493" x2="456.46629" y1="308.537379" y2="306.994504"> + <stop offset="1" style="stop-color:#2be9d0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00d8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR168_2" x1="457.75489" x2="454.459375" y1="311.360727" y2="313.499727"> - <stop offset="0" style="stop-color:#28e4d3;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#28e4d3;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR168_2" x1="457.75489" x2="454.459375" y1="311.360727" y2="313.499727"> + <stop offset="1" style="stop-color:#2be9d0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#28e4d3;stop-opacity:0;"/> </linearGradient> - <polygon id="GT168" points="457.75489 311.360727 461.660538 324.594417 451.238493 308.537379"/> </defs> - <use fill="#2be9d0" fill-opacity="1" xlink:href="#GT168"/> - <use fill="url(#GR168_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT168"/> - <use fill="url(#GR168_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT168"/> - <use fill="url(#GR168_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT168"/> + <path d="M 457.75489,311.360727 L 461.660538,324.594417 451.238493,308.537379 Z" fill="#2be9d0" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 457.75489,311.360727 L 461.660538,324.594417 451.238493,308.537379 Z" fill="url(#GR168_0)" shape-rendering="crispEdges"/> + <path d="M 457.75489,311.360727 L 461.660538,324.594417 451.238493,308.537379 Z" fill="url(#GR168_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 457.75489,311.360727 L 461.660538,324.594417 451.238493,308.537379 Z" fill="url(#GR168_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR169_0" x1="451.238493" x2="456.46629" y1="308.537379" y2="306.994504"> - <stop offset="0" style="stop-color:#00d8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00d8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR169_0" x1="451.238493" x2="456.46629" y1="308.537379" y2="306.994504"> + <stop offset="1" style="stop-color:#0dd2f0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00d8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR169_1" x1="453.849243" x2="449.639026" y1="298.127037" y2="307.84438"> - <stop offset="0" style="stop-color:#00b8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00b8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR169_1" x1="453.849243" x2="449.639026" y1="298.127037" y2="307.84438"> + <stop offset="1" style="stop-color:#0dd2f0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00b8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR169_2" x1="457.75489" x2="450.957922" y1="311.360727" y2="309.656155"> - <stop offset="0" style="stop-color:#28e4d3;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#28e4d3;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR169_2" x1="457.75489" x2="450.957922" y1="311.360727" y2="309.656155"> + <stop offset="1" style="stop-color:#0dd2f0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#28e4d3;stop-opacity:0;"/> </linearGradient> - <polygon id="GT169" points="457.75489 311.360727 451.238493 308.537379 453.849243 298.127037"/> </defs> - <use fill="#0dd2f0" fill-opacity="1" xlink:href="#GT169"/> - <use fill="url(#GR169_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT169"/> - <use fill="url(#GR169_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT169"/> - <use fill="url(#GR169_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT169"/> + <path d="M 457.75489,311.360727 L 451.238493,308.537379 453.849243,298.127037 Z" fill="#0dd2f0" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 457.75489,311.360727 L 451.238493,308.537379 453.849243,298.127037 Z" fill="url(#GR169_0)" shape-rendering="crispEdges"/> + <path d="M 457.75489,311.360727 L 451.238493,308.537379 453.849243,298.127037 Z" fill="url(#GR169_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 457.75489,311.360727 L 451.238493,308.537379 453.849243,298.127037 Z" fill="url(#GR169_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR16a_0" x1="453.849243" x2="449.639026" y1="298.127037" y2="307.84438"> - <stop offset="0" style="stop-color:#00b8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00b8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR16a_0" x1="453.849243" x2="449.639026" y1="298.127037" y2="307.84438"> + <stop offset="1" style="stop-color:#25ded6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00b8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR16a_1" x1="464.271287" x2="459.04349" y1="314.184075" y2="315.72695"> - <stop offset="0" style="stop-color:#46ffb1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#46ffb1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR16a_1" x1="464.271287" x2="459.04349" y1="314.184075" y2="315.72695"> + <stop offset="1" style="stop-color:#25ded6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#46ffb1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR16a_2" x1="457.75489" x2="461.050406" y1="311.360727" y2="309.221727"> - <stop offset="0" style="stop-color:#28e4d3;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#28e4d3;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR16a_2" x1="457.75489" x2="461.050406" y1="311.360727" y2="309.221727"> + <stop offset="1" style="stop-color:#25ded6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#28e4d3;stop-opacity:0;"/> </linearGradient> - <polygon id="GT16a" points="457.75489 311.360727 453.849243 298.127037 464.271287 314.184075"/> </defs> - <use fill="#25ded6" fill-opacity="1" xlink:href="#GT16a"/> - <use fill="url(#GR16a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT16a"/> - <use fill="url(#GR16a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT16a"/> - <use fill="url(#GR16a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT16a"/> + <path d="M 457.75489,311.360727 L 453.849243,298.127037 464.271287,314.184075 Z" fill="#25ded6" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 457.75489,311.360727 L 453.849243,298.127037 464.271287,314.184075 Z" fill="url(#GR16a_0)" shape-rendering="crispEdges"/> + <path d="M 457.75489,311.360727 L 453.849243,298.127037 464.271287,314.184075 Z" fill="url(#GR16a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 457.75489,311.360727 L 453.849243,298.127037 464.271287,314.184075 Z" fill="url(#GR16a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR16b_0" x1="464.271287" x2="459.04349" y1="314.184075" y2="315.72695"> - <stop offset="0" style="stop-color:#46ffb1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#46ffb1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR16b_0" x1="464.271287" x2="459.04349" y1="314.184075" y2="315.72695"> + <stop offset="1" style="stop-color:#43f6b6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#46ffb1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR16b_1" x1="461.660538" x2="465.870755" y1="324.594417" y2="314.877074"> - <stop offset="0" style="stop-color:#5aff9d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5aff9d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR16b_1" x1="461.660538" x2="465.870755" y1="324.594417" y2="314.877074"> + <stop offset="1" style="stop-color:#43f6b6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5aff9d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR16b_2" x1="457.75489" x2="464.551858" y1="311.360727" y2="313.065299"> - <stop offset="0" style="stop-color:#28e4d3;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#28e4d3;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR16b_2" x1="457.75489" x2="464.551858" y1="311.360727" y2="313.065299"> + <stop offset="1" style="stop-color:#43f6b6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#28e4d3;stop-opacity:0;"/> </linearGradient> - <polygon id="GT16b" points="457.75489 311.360727 464.271287 314.184075 461.660538 324.594417"/> </defs> - <use fill="#43f6b6" fill-opacity="1" xlink:href="#GT16b"/> - <use fill="url(#GR16b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT16b"/> - <use fill="url(#GR16b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT16b"/> - <use fill="url(#GR16b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT16b"/> + <path d="M 457.75489,311.360727 L 464.271287,314.184075 461.660538,324.594417 Z" fill="#43f6b6" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 457.75489,311.360727 L 464.271287,314.184075 461.660538,324.594417 Z" fill="url(#GR16b_0)" shape-rendering="crispEdges"/> + <path d="M 457.75489,311.360727 L 464.271287,314.184075 461.660538,324.594417 Z" fill="url(#GR16b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 457.75489,311.360727 L 464.271287,314.184075 461.660538,324.594417 Z" fill="url(#GR16b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR16c_0" x1="451.238493" x2="457.699817" y1="308.537379" y2="301.844256"> - <stop offset="0" style="stop-color:#00d8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00d8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR16c_0" x1="451.238493" x2="457.699817" y1="308.537379" y2="301.844256"> + <stop offset="1" style="stop-color:#009eff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00d8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR16c_1" x1="443.830635" x2="447.976547" y1="288.455398" y2="287.803155"> - <stop offset="0" style="stop-color:#0070ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0070ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR16c_1" x1="443.830635" x2="447.976547" y1="288.455398" y2="287.803155"> + <stop offset="1" style="stop-color:#009eff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0070ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR16c_2" x1="448.839939" x2="446.000806" y1="293.291217" y2="294.338519"> - <stop offset="0" style="stop-color:#0090ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0090ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR16c_2" x1="448.839939" x2="446.000806" y1="293.291217" y2="294.338519"> + <stop offset="1" style="stop-color:#009eff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0090ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT16c" points="448.839939 293.291217 451.238493 308.537379 443.830635 288.455398"/> </defs> - <use fill="#009eff" fill-opacity="1" xlink:href="#GT16c"/> - <use fill="url(#GR16c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT16c"/> - <use fill="url(#GR16c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT16c"/> - <use fill="url(#GR16c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT16c"/> + <path d="M 448.839939,293.291217 L 451.238493,308.537379 443.830635,288.455398 Z" fill="#009eff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 448.839939,293.291217 L 451.238493,308.537379 443.830635,288.455398 Z" fill="url(#GR16c_0)" shape-rendering="crispEdges"/> + <path d="M 448.839939,293.291217 L 451.238493,308.537379 443.830635,288.455398 Z" fill="url(#GR16c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 448.839939,293.291217 L 451.238493,308.537379 443.830635,288.455398 Z" fill="url(#GR16c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR16d_0" x1="443.830635" x2="447.976547" y1="288.455398" y2="287.803155"> - <stop offset="0" style="stop-color:#0070ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0070ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR16d_0" x1="443.830635" x2="447.976547" y1="288.455398" y2="287.803155"> + <stop offset="1" style="stop-color:#006bff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0070ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR16d_1" x1="446.441385" x2="439.980061" y1="278.045056" y2="284.738178"> - <stop offset="0" style="stop-color:#0040ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0040ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR16d_1" x1="446.441385" x2="439.980061" y1="278.045056" y2="284.738178"> + <stop offset="1" style="stop-color:#006bff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0040ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR16d_2" x1="448.839939" x2="442.986055" y1="293.291217" y2="291.823155"> - <stop offset="0" style="stop-color:#0090ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0090ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR16d_2" x1="448.839939" x2="442.986055" y1="293.291217" y2="291.823155"> + <stop offset="1" style="stop-color:#006bff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0090ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT16d" points="448.839939 293.291217 443.830635 288.455398 446.441385 278.045056"/> </defs> - <use fill="#006bff" fill-opacity="1" xlink:href="#GT16d"/> - <use fill="url(#GR16d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT16d"/> - <use fill="url(#GR16d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT16d"/> - <use fill="url(#GR16d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT16d"/> + <path d="M 448.839939,293.291217 L 443.830635,288.455398 446.441385,278.045056 Z" fill="#006bff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 448.839939,293.291217 L 443.830635,288.455398 446.441385,278.045056 Z" fill="url(#GR16d_0)" shape-rendering="crispEdges"/> + <path d="M 448.839939,293.291217 L 443.830635,288.455398 446.441385,278.045056 Z" fill="url(#GR16d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 448.839939,293.291217 L 443.830635,288.455398 446.441385,278.045056 Z" fill="url(#GR16d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR16e_0" x1="446.441385" x2="439.980061" y1="278.045056" y2="284.738178"> - <stop offset="0" style="stop-color:#0040ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0040ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR16e_0" x1="446.441385" x2="439.980061" y1="278.045056" y2="284.738178"> + <stop offset="1" style="stop-color:#0083ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0040ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR16e_1" x1="453.849243" x2="449.703331" y1="298.127037" y2="298.779279"> - <stop offset="0" style="stop-color:#00b8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00b8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR16e_1" x1="453.849243" x2="449.703331" y1="298.127037" y2="298.779279"> + <stop offset="1" style="stop-color:#0083ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00b8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR16e_2" x1="448.839939" x2="451.679072" y1="293.291217" y2="292.243915"> - <stop offset="0" style="stop-color:#0090ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0090ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR16e_2" x1="448.839939" x2="451.679072" y1="293.291217" y2="292.243915"> + <stop offset="1" style="stop-color:#0083ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0090ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT16e" points="448.839939 293.291217 446.441385 278.045056 453.849243 298.127037"/> </defs> - <use fill="#0083ff" fill-opacity="1" xlink:href="#GT16e"/> - <use fill="url(#GR16e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT16e"/> - <use fill="url(#GR16e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT16e"/> - <use fill="url(#GR16e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT16e"/> + <path d="M 448.839939,293.291217 L 446.441385,278.045056 453.849243,298.127037 Z" fill="#0083ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 448.839939,293.291217 L 446.441385,278.045056 453.849243,298.127037 Z" fill="url(#GR16e_0)" shape-rendering="crispEdges"/> + <path d="M 448.839939,293.291217 L 446.441385,278.045056 453.849243,298.127037 Z" fill="url(#GR16e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 448.839939,293.291217 L 446.441385,278.045056 453.849243,298.127037 Z" fill="url(#GR16e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR16f_0" x1="453.849243" x2="449.703331" y1="298.127037" y2="298.779279"> - <stop offset="0" style="stop-color:#00b8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00b8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR16f_0" x1="453.849243" x2="449.703331" y1="298.127037" y2="298.779279"> + <stop offset="1" style="stop-color:#00b6ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00b8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR16f_1" x1="451.238493" x2="457.699817" y1="308.537379" y2="301.844256"> - <stop offset="0" style="stop-color:#00d8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00d8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR16f_1" x1="451.238493" x2="457.699817" y1="308.537379" y2="301.844256"> + <stop offset="1" style="stop-color:#00b6ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00d8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR16f_2" x1="448.839939" x2="454.693823" y1="293.291217" y2="294.759279"> - <stop offset="0" style="stop-color:#0090ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0090ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR16f_2" x1="448.839939" x2="454.693823" y1="293.291217" y2="294.759279"> + <stop offset="1" style="stop-color:#00b6ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0090ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT16f" points="448.839939 293.291217 453.849243 298.127037 451.238493 308.537379"/> </defs> - <use fill="#00b6ff" fill-opacity="1" xlink:href="#GT16f"/> - <use fill="url(#GR16f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT16f"/> - <use fill="url(#GR16f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT16f"/> - <use fill="url(#GR16f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT16f"/> + <path d="M 448.839939,293.291217 L 453.849243,298.127037 451.238493,308.537379 Z" fill="#00b6ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 448.839939,293.291217 L 453.849243,298.127037 451.238493,308.537379 Z" fill="url(#GR16f_0)" shape-rendering="crispEdges"/> + <path d="M 448.839939,293.291217 L 453.849243,298.127037 451.238493,308.537379 Z" fill="url(#GR16f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 448.839939,293.291217 L 453.849243,298.127037 451.238493,308.537379 Z" fill="url(#GR16f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR170_0" x1="443.830635" x2="450.17267" y1="288.455398" y2="285.102216"> - <stop offset="0" style="stop-color:#0070ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0070ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR170_0" x1="443.830635" x2="450.17267" y1="288.455398" y2="285.102216"> + <stop offset="1" style="stop-color:#0045fe;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0070ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR170_1" x1="439.984555" x2="442.980431" y1="265.83294" y2="265.720903"> - <stop offset="0" style="stop-color:#0028ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0028ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR170_1" x1="439.984555" x2="442.980431" y1="265.83294" y2="265.720903"> + <stop offset="1" style="stop-color:#0045fe;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0028ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR170_2" x1="443.21297" x2="441.084186" y1="271.938998" y2="272.300916"> - <stop offset="0" style="stop-color:#0036fd;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0036fd;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR170_2" x1="443.21297" x2="441.084186" y1="271.938998" y2="272.300916"> + <stop offset="1" style="stop-color:#0045fe;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0036fd;stop-opacity:0;"/> </linearGradient> - <polygon id="GT170" points="443.21297 271.938998 443.830635 288.455398 439.984555 265.83294"/> </defs> - <use fill="#0045fe" fill-opacity="1" xlink:href="#GT170"/> - <use fill="url(#GR170_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT170"/> - <use fill="url(#GR170_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT170"/> - <use fill="url(#GR170_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT170"/> + <path d="M 443.21297,271.938998 L 443.830635,288.455398 439.984555,265.83294 Z" fill="#0045fe" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 443.21297,271.938998 L 443.830635,288.455398 439.984555,265.83294 Z" fill="url(#GR170_0)" shape-rendering="crispEdges"/> + <path d="M 443.21297,271.938998 L 443.830635,288.455398 439.984555,265.83294 Z" fill="url(#GR170_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 443.21297,271.938998 L 443.830635,288.455398 439.984555,265.83294 Z" fill="url(#GR170_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR171_0" x1="439.984555" x2="442.980431" y1="265.83294" y2="265.720903"> - <stop offset="0" style="stop-color:#0028ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0028ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR171_0" x1="439.984555" x2="442.980431" y1="265.83294" y2="265.720903"> + <stop offset="1" style="stop-color:#0020fb;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0028ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR171_1" x1="442.595304" x2="436.25327" y1="255.422598" y2="258.775779"> - <stop offset="0" style="stop-color:#0000f6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000f6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR171_1" x1="442.595304" x2="436.25327" y1="255.422598" y2="258.775779"> + <stop offset="1" style="stop-color:#0020fb;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000f6;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR171_2" x1="443.21297" x2="438.734891" y1="271.938998" y2="270.815966"> - <stop offset="0" style="stop-color:#0036fd;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0036fd;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR171_2" x1="443.21297" x2="438.734891" y1="271.938998" y2="270.815966"> + <stop offset="1" style="stop-color:#0020fb;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0036fd;stop-opacity:0;"/> </linearGradient> - <polygon id="GT171" points="443.21297 271.938998 439.984555 265.83294 442.595304 255.422598"/> </defs> - <use fill="#0020fb" fill-opacity="1" xlink:href="#GT171"/> - <use fill="url(#GR171_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT171"/> - <use fill="url(#GR171_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT171"/> - <use fill="url(#GR171_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT171"/> + <path d="M 443.21297,271.938998 L 439.984555,265.83294 442.595304,255.422598 Z" fill="#0020fb" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 443.21297,271.938998 L 439.984555,265.83294 442.595304,255.422598 Z" fill="url(#GR171_0)" shape-rendering="crispEdges"/> + <path d="M 443.21297,271.938998 L 439.984555,265.83294 442.595304,255.422598 Z" fill="url(#GR171_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 443.21297,271.938998 L 439.984555,265.83294 442.595304,255.422598 Z" fill="url(#GR171_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR172_0" x1="442.595304" x2="436.25327" y1="255.422598" y2="258.775779"> - <stop offset="0" style="stop-color:#0000f6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000f6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR172_0" x1="442.595304" x2="436.25327" y1="255.422598" y2="258.775779"> + <stop offset="1" style="stop-color:#0028fb;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000f6;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR172_1" x1="446.441385" x2="443.445509" y1="278.045056" y2="278.157093"> - <stop offset="0" style="stop-color:#0040ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0040ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR172_1" x1="446.441385" x2="443.445509" y1="278.045056" y2="278.157093"> + <stop offset="1" style="stop-color:#0028fb;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0040ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR172_2" x1="443.21297" x2="445.341754" y1="271.938998" y2="271.57708"> - <stop offset="0" style="stop-color:#0036fd;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0036fd;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR172_2" x1="443.21297" x2="445.341754" y1="271.938998" y2="271.57708"> + <stop offset="1" style="stop-color:#0028fb;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0036fd;stop-opacity:0;"/> </linearGradient> - <polygon id="GT172" points="443.21297 271.938998 442.595304 255.422598 446.441385 278.045056"/> </defs> - <use fill="#0028fb" fill-opacity="1" xlink:href="#GT172"/> - <use fill="url(#GR172_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT172"/> - <use fill="url(#GR172_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT172"/> - <use fill="url(#GR172_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT172"/> + <path d="M 443.21297,271.938998 L 442.595304,255.422598 446.441385,278.045056 Z" fill="#0028fb" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 443.21297,271.938998 L 442.595304,255.422598 446.441385,278.045056 Z" fill="url(#GR172_0)" shape-rendering="crispEdges"/> + <path d="M 443.21297,271.938998 L 442.595304,255.422598 446.441385,278.045056 Z" fill="url(#GR172_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 443.21297,271.938998 L 442.595304,255.422598 446.441385,278.045056 Z" fill="url(#GR172_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR173_0" x1="446.441385" x2="443.445509" y1="278.045056" y2="278.157093"> - <stop offset="0" style="stop-color:#0040ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0040ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR173_0" x1="446.441385" x2="443.445509" y1="278.045056" y2="278.157093"> + <stop offset="1" style="stop-color:#004dfe;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0040ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR173_1" x1="443.830635" x2="450.17267" y1="288.455398" y2="285.102216"> - <stop offset="0" style="stop-color:#0070ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0070ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR173_1" x1="443.830635" x2="450.17267" y1="288.455398" y2="285.102216"> + <stop offset="1" style="stop-color:#004dfe;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0070ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR173_2" x1="443.21297" x2="447.691049" y1="271.938998" y2="273.062029"> - <stop offset="0" style="stop-color:#0036fd;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0036fd;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR173_2" x1="443.21297" x2="447.691049" y1="271.938998" y2="273.062029"> + <stop offset="1" style="stop-color:#004dfe;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0036fd;stop-opacity:0;"/> </linearGradient> - <polygon id="GT173" points="443.21297 271.938998 446.441385 278.045056 443.830635 288.455398"/> </defs> - <use fill="#004dfe" fill-opacity="1" xlink:href="#GT173"/> - <use fill="url(#GR173_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT173"/> - <use fill="url(#GR173_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT173"/> - <use fill="url(#GR173_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT173"/> + <path d="M 443.21297,271.938998 L 446.441385,278.045056 443.830635,288.455398 Z" fill="#004dfe" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 443.21297,271.938998 L 446.441385,278.045056 443.830635,288.455398 Z" fill="url(#GR173_0)" shape-rendering="crispEdges"/> + <path d="M 443.21297,271.938998 L 446.441385,278.045056 443.830635,288.455398 Z" fill="url(#GR173_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 443.21297,271.938998 L 446.441385,278.045056 443.830635,288.455398 Z" fill="url(#GR173_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR174_0" x1="439.984555" x2="444.493515" y1="265.83294" y2="264.932981"> - <stop offset="0" style="stop-color:#0028ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0028ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR174_0" x1="439.984555" x2="444.493515" y1="265.83294" y2="264.932981"> + <stop offset="1" style="stop-color:#0022fd;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0028ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR174_1" x1="439.984555" x2="441.782928" y1="242.342263" y2="242.480758"> - <stop offset="0" style="stop-color:#0028ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0028ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR174_1" x1="439.984555" x2="441.782928" y1="242.342263" y2="242.480758"> + <stop offset="1" style="stop-color:#0022fd;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0028ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR174_2" x1="441.28993" x2="439.984555" y1="248.882431" y2="248.882431"> - <stop offset="0" style="stop-color:#0014fa;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0014fa;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR174_2" x1="441.28993" x2="439.984555" y1="248.882431" y2="248.882431"> + <stop offset="1" style="stop-color:#0022fd;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0014fa;stop-opacity:0;"/> </linearGradient> - <polygon id="GT174" points="441.28993 248.882431 439.984555 265.83294 439.984555 242.342263"/> </defs> - <use fill="#0022fd" fill-opacity="1" xlink:href="#GT174"/> - <use fill="url(#GR174_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT174"/> - <use fill="url(#GR174_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT174"/> - <use fill="url(#GR174_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT174"/> + <path d="M 441.28993,248.882431 L 439.984555,265.83294 439.984555,242.342263 Z" fill="#0022fd" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.28993,248.882431 L 439.984555,265.83294 439.984555,242.342263 Z" fill="url(#GR174_0)" shape-rendering="crispEdges"/> + <path d="M 441.28993,248.882431 L 439.984555,265.83294 439.984555,242.342263 Z" fill="url(#GR174_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.28993,248.882431 L 439.984555,265.83294 439.984555,242.342263 Z" fill="url(#GR174_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR175_0" x1="439.984555" x2="441.782928" y1="242.342263" y2="242.480758"> - <stop offset="0" style="stop-color:#0028ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0028ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR175_0" x1="439.984555" x2="441.782928" y1="242.342263" y2="242.480758"> + <stop offset="1" style="stop-color:#0014fa;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0028ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR175_1" x1="442.595304" x2="438.086344" y1="231.931921" y2="232.83188"> - <stop offset="0" style="stop-color:#0000f6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000f6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR175_1" x1="442.595304" x2="438.086344" y1="231.931921" y2="232.83188"> + <stop offset="1" style="stop-color:#0014fa;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000f6;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR175_2" x1="441.28993" x2="438.518676" y1="248.882431" y2="248.187444"> - <stop offset="0" style="stop-color:#0014fa;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0014fa;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR175_2" x1="441.28993" x2="438.518676" y1="248.882431" y2="248.187444"> + <stop offset="1" style="stop-color:#0014fa;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0014fa;stop-opacity:0;"/> </linearGradient> - <polygon id="GT175" points="441.28993 248.882431 439.984555 242.342263 442.595304 231.931921"/> </defs> - <use fill="#0014fa" fill-opacity="1" xlink:href="#GT175"/> - <use fill="url(#GR175_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT175"/> - <use fill="url(#GR175_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT175"/> - <use fill="url(#GR175_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT175"/> + <path d="M 441.28993,248.882431 L 439.984555,242.342263 442.595304,231.931921 Z" fill="#0014fa" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.28993,248.882431 L 439.984555,242.342263 442.595304,231.931921 Z" fill="url(#GR175_0)" shape-rendering="crispEdges"/> + <path d="M 441.28993,248.882431 L 439.984555,242.342263 442.595304,231.931921 Z" fill="url(#GR175_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.28993,248.882431 L 439.984555,242.342263 442.595304,231.931921 Z" fill="url(#GR175_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR176_0" x1="442.595304" x2="438.086344" y1="231.931921" y2="232.83188"> - <stop offset="0" style="stop-color:#0000f6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000f6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR176_0" x1="442.595304" x2="438.086344" y1="231.931921" y2="232.83188"> + <stop offset="1" style="stop-color:#0007f7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000f6;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR176_1" x1="442.595304" x2="440.796931" y1="255.422598" y2="255.284103"> - <stop offset="0" style="stop-color:#0000f6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000f6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR176_1" x1="442.595304" x2="440.796931" y1="255.422598" y2="255.284103"> + <stop offset="1" style="stop-color:#0007f7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000f6;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR176_2" x1="441.28993" x2="442.595304" y1="248.882431" y2="248.882431"> - <stop offset="0" style="stop-color:#0014fa;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0014fa;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR176_2" x1="441.28993" x2="442.595304" y1="248.882431" y2="248.882431"> + <stop offset="1" style="stop-color:#0007f7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0014fa;stop-opacity:0;"/> </linearGradient> - <polygon id="GT176" points="441.28993 248.882431 442.595304 231.931921 442.595304 255.422598"/> </defs> - <use fill="#0007f7" fill-opacity="1" xlink:href="#GT176"/> - <use fill="url(#GR176_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT176"/> - <use fill="url(#GR176_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT176"/> - <use fill="url(#GR176_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT176"/> + <path d="M 441.28993,248.882431 L 442.595304,231.931921 442.595304,255.422598 Z" fill="#0007f7" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.28993,248.882431 L 442.595304,231.931921 442.595304,255.422598 Z" fill="url(#GR176_0)" shape-rendering="crispEdges"/> + <path d="M 441.28993,248.882431 L 442.595304,231.931921 442.595304,255.422598 Z" fill="url(#GR176_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.28993,248.882431 L 442.595304,231.931921 442.595304,255.422598 Z" fill="url(#GR176_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR177_0" x1="442.595304" x2="440.796931" y1="255.422598" y2="255.284103"> - <stop offset="0" style="stop-color:#0000f6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000f6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR177_0" x1="442.595304" x2="440.796931" y1="255.422598" y2="255.284103"> + <stop offset="1" style="stop-color:#0014fa;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000f6;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR177_1" x1="439.984555" x2="444.493515" y1="265.83294" y2="264.932981"> - <stop offset="0" style="stop-color:#0028ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0028ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR177_1" x1="439.984555" x2="444.493515" y1="265.83294" y2="264.932981"> + <stop offset="1" style="stop-color:#0014fa;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0028ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR177_2" x1="441.28993" x2="444.061183" y1="248.882431" y2="249.577417"> - <stop offset="0" style="stop-color:#0014fa;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0014fa;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR177_2" x1="441.28993" x2="444.061183" y1="248.882431" y2="249.577417"> + <stop offset="1" style="stop-color:#0014fa;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0014fa;stop-opacity:0;"/> </linearGradient> - <polygon id="GT177" points="441.28993 248.882431 442.595304 255.422598 439.984555 265.83294"/> </defs> - <use fill="#0014fa" fill-opacity="1" xlink:href="#GT177"/> - <use fill="url(#GR177_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT177"/> - <use fill="url(#GR177_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT177"/> - <use fill="url(#GR177_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT177"/> + <path d="M 441.28993,248.882431 L 442.595304,255.422598 439.984555,265.83294 Z" fill="#0014fa" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.28993,248.882431 L 442.595304,255.422598 439.984555,265.83294 Z" fill="url(#GR177_0)" shape-rendering="crispEdges"/> + <path d="M 441.28993,248.882431 L 442.595304,255.422598 439.984555,265.83294 Z" fill="url(#GR177_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.28993,248.882431 L 442.595304,255.422598 439.984555,265.83294 Z" fill="url(#GR177_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR178_0" x1="439.984555" x2="441.526456" y1="242.342263" y2="242.498236"> - <stop offset="0" style="stop-color:#0028ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0028ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR178_0" x1="439.984555" x2="441.526456" y1="242.342263" y2="242.498236"> + <stop offset="1" style="stop-color:#0045fe;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0028ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR178_1" x1="443.830635" x2="444.385311" y1="219.719806" y2="219.828227"> - <stop offset="0" style="stop-color:#0070ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0070ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR178_1" x1="443.830635" x2="444.385311" y1="219.719806" y2="219.828227"> + <stop offset="1" style="stop-color:#0045fe;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0070ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR178_2" x1="443.21297" x2="442.804346" y1="225.825863" y2="225.756393"> - <stop offset="0" style="stop-color:#0036fd;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0036fd;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR178_2" x1="443.21297" x2="442.804346" y1="225.825863" y2="225.756393"> + <stop offset="1" style="stop-color:#0045fe;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0036fd;stop-opacity:0;"/> </linearGradient> - <polygon id="GT178" points="443.21297 225.825863 439.984555 242.342263 443.830635 219.719806"/> </defs> - <use fill="#0045fe" fill-opacity="1" xlink:href="#GT178"/> - <use fill="url(#GR178_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT178"/> - <use fill="url(#GR178_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT178"/> - <use fill="url(#GR178_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT178"/> + <path d="M 443.21297,225.825863 L 439.984555,242.342263 443.830635,219.719806 Z" fill="#0045fe" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 443.21297,225.825863 L 439.984555,242.342263 443.830635,219.719806 Z" fill="url(#GR178_0)" shape-rendering="crispEdges"/> + <path d="M 443.21297,225.825863 L 439.984555,242.342263 443.830635,219.719806 Z" fill="url(#GR178_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 443.21297,225.825863 L 439.984555,242.342263 443.830635,219.719806 Z" fill="url(#GR178_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR179_0" x1="443.830635" x2="444.385311" y1="219.719806" y2="219.828227"> - <stop offset="0" style="stop-color:#0070ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0070ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR179_0" x1="443.830635" x2="444.385311" y1="219.719806" y2="219.828227"> + <stop offset="1" style="stop-color:#004dfe;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0070ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR179_1" x1="446.441385" x2="444.899484" y1="209.309464" y2="209.153491"> - <stop offset="0" style="stop-color:#0040ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0040ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR179_1" x1="446.441385" x2="444.899484" y1="209.309464" y2="209.153491"> + <stop offset="1" style="stop-color:#004dfe;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0040ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR179_2" x1="443.21297" x2="442.353394" y1="225.825863" y2="225.610295"> - <stop offset="0" style="stop-color:#0036fd;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0036fd;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR179_2" x1="443.21297" x2="442.353394" y1="225.825863" y2="225.610295"> + <stop offset="1" style="stop-color:#004dfe;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0036fd;stop-opacity:0;"/> </linearGradient> - <polygon id="GT179" points="443.21297 225.825863 443.830635 219.719806 446.441385 209.309464"/> </defs> - <use fill="#004dfe" fill-opacity="1" xlink:href="#GT179"/> - <use fill="url(#GR179_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT179"/> - <use fill="url(#GR179_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT179"/> - <use fill="url(#GR179_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT179"/> + <path d="M 443.21297,225.825863 L 443.830635,219.719806 446.441385,209.309464 Z" fill="#004dfe" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 443.21297,225.825863 L 443.830635,219.719806 446.441385,209.309464 Z" fill="url(#GR179_0)" shape-rendering="crispEdges"/> + <path d="M 443.21297,225.825863 L 443.830635,219.719806 446.441385,209.309464 Z" fill="url(#GR179_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 443.21297,225.825863 L 443.830635,219.719806 446.441385,209.309464 Z" fill="url(#GR179_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR17a_0" x1="446.441385" x2="444.899484" y1="209.309464" y2="209.153491"> - <stop offset="0" style="stop-color:#0040ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0040ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR17a_0" x1="446.441385" x2="444.899484" y1="209.309464" y2="209.153491"> + <stop offset="1" style="stop-color:#0028fb;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0040ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR17a_1" x1="442.595304" x2="442.040628" y1="231.931921" y2="231.8235"> - <stop offset="0" style="stop-color:#0000f6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000f6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR17a_1" x1="442.595304" x2="442.040628" y1="231.931921" y2="231.8235"> + <stop offset="1" style="stop-color:#0028fb;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000f6;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR17a_2" x1="443.21297" x2="443.621594" y1="225.825863" y2="225.895334"> - <stop offset="0" style="stop-color:#0036fd;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0036fd;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR17a_2" x1="443.21297" x2="443.621594" y1="225.825863" y2="225.895334"> + <stop offset="1" style="stop-color:#0028fb;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0036fd;stop-opacity:0;"/> </linearGradient> - <polygon id="GT17a" points="443.21297 225.825863 446.441385 209.309464 442.595304 231.931921"/> </defs> - <use fill="#0028fb" fill-opacity="1" xlink:href="#GT17a"/> - <use fill="url(#GR17a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT17a"/> - <use fill="url(#GR17a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT17a"/> - <use fill="url(#GR17a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT17a"/> + <path d="M 443.21297,225.825863 L 446.441385,209.309464 442.595304,231.931921 Z" fill="#0028fb" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 443.21297,225.825863 L 446.441385,209.309464 442.595304,231.931921 Z" fill="url(#GR17a_0)" shape-rendering="crispEdges"/> + <path d="M 443.21297,225.825863 L 446.441385,209.309464 442.595304,231.931921 Z" fill="url(#GR17a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 443.21297,225.825863 L 446.441385,209.309464 442.595304,231.931921 Z" fill="url(#GR17a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR17b_0" x1="442.595304" x2="442.040628" y1="231.931921" y2="231.8235"> - <stop offset="0" style="stop-color:#0000f6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000f6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR17b_0" x1="442.595304" x2="442.040628" y1="231.931921" y2="231.8235"> + <stop offset="1" style="stop-color:#0020fb;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000f6;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR17b_1" x1="439.984555" x2="441.526456" y1="242.342263" y2="242.498236"> - <stop offset="0" style="stop-color:#0028ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0028ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR17b_1" x1="439.984555" x2="441.526456" y1="242.342263" y2="242.498236"> + <stop offset="1" style="stop-color:#0020fb;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0028ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR17b_2" x1="443.21297" x2="444.072546" y1="225.825863" y2="226.041432"> - <stop offset="0" style="stop-color:#0036fd;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0036fd;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR17b_2" x1="443.21297" x2="444.072546" y1="225.825863" y2="226.041432"> + <stop offset="1" style="stop-color:#0020fb;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0036fd;stop-opacity:0;"/> </linearGradient> - <polygon id="GT17b" points="443.21297 225.825863 442.595304 231.931921 439.984555 242.342263"/> </defs> - <use fill="#0020fb" fill-opacity="1" xlink:href="#GT17b"/> - <use fill="url(#GR17b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT17b"/> - <use fill="url(#GR17b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT17b"/> - <use fill="url(#GR17b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT17b"/> + <path d="M 443.21297,225.825863 L 442.595304,231.931921 439.984555,242.342263 Z" fill="#0020fb" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 443.21297,225.825863 L 442.595304,231.931921 439.984555,242.342263 Z" fill="url(#GR17b_0)" shape-rendering="crispEdges"/> + <path d="M 443.21297,225.825863 L 442.595304,231.931921 439.984555,242.342263 Z" fill="url(#GR17b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 443.21297,225.825863 L 442.595304,231.931921 439.984555,242.342263 Z" fill="url(#GR17b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR17c_0" x1="443.830635" x2="441.781898" y1="219.719806" y2="218.703637"> - <stop offset="0" style="stop-color:#0070ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0070ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR17c_0" x1="443.830635" x2="441.781898" y1="219.719806" y2="218.703637"> + <stop offset="1" style="stop-color:#009eff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0070ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR17c_1" x1="451.238493" x2="450.507695" y1="199.637825" y2="199.397713"> - <stop offset="0" style="stop-color:#00d8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00d8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR17c_1" x1="451.238493" x2="450.507695" y1="199.637825" y2="199.397713"> + <stop offset="1" style="stop-color:#009eff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00d8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR17c_2" x1="448.839939" x2="449.381025" y1="204.473644" y2="204.67324"> - <stop offset="0" style="stop-color:#0090ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0090ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR17c_2" x1="448.839939" x2="449.381025" y1="204.473644" y2="204.67324"> + <stop offset="1" style="stop-color:#009eff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0090ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT17c" points="448.839939 204.473644 443.830635 219.719806 451.238493 199.637825"/> </defs> - <use fill="#009eff" fill-opacity="1" xlink:href="#GT17c"/> - <use fill="url(#GR17c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT17c"/> - <use fill="url(#GR17c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT17c"/> - <use fill="url(#GR17c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT17c"/> + <path d="M 448.839939,204.473644 L 443.830635,219.719806 451.238493,199.637825 Z" fill="#009eff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 448.839939,204.473644 L 443.830635,219.719806 451.238493,199.637825 Z" fill="url(#GR17c_0)" shape-rendering="crispEdges"/> + <path d="M 448.839939,204.473644 L 443.830635,219.719806 451.238493,199.637825 Z" fill="url(#GR17c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 448.839939,204.473644 L 443.830635,219.719806 451.238493,199.637825 Z" fill="url(#GR17c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR17d_0" x1="451.238493" x2="450.507695" y1="199.637825" y2="199.397713"> - <stop offset="0" style="stop-color:#00d8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00d8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR17d_0" x1="451.238493" x2="450.507695" y1="199.637825" y2="199.397713"> + <stop offset="1" style="stop-color:#00b6ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00d8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR17d_1" x1="453.849243" x2="455.89798" y1="189.227483" y2="190.243651"> - <stop offset="0" style="stop-color:#00b8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00b8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR17d_1" x1="453.849243" x2="455.89798" y1="189.227483" y2="190.243651"> + <stop offset="1" style="stop-color:#00b6ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00b8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR17d_2" x1="448.839939" x2="449.95558" y1="204.473644" y2="204.753429"> - <stop offset="0" style="stop-color:#0090ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0090ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR17d_2" x1="448.839939" x2="449.95558" y1="204.473644" y2="204.753429"> + <stop offset="1" style="stop-color:#00b6ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0090ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT17d" points="448.839939 204.473644 451.238493 199.637825 453.849243 189.227483"/> </defs> - <use fill="#00b6ff" fill-opacity="1" xlink:href="#GT17d"/> - <use fill="url(#GR17d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT17d"/> - <use fill="url(#GR17d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT17d"/> - <use fill="url(#GR17d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT17d"/> + <path d="M 448.839939,204.473644 L 451.238493,199.637825 453.849243,189.227483 Z" fill="#00b6ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 448.839939,204.473644 L 451.238493,199.637825 453.849243,189.227483 Z" fill="url(#GR17d_0)" shape-rendering="crispEdges"/> + <path d="M 448.839939,204.473644 L 451.238493,199.637825 453.849243,189.227483 Z" fill="url(#GR17d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 448.839939,204.473644 L 451.238493,199.637825 453.849243,189.227483 Z" fill="url(#GR17d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR17e_0" x1="453.849243" x2="455.89798" y1="189.227483" y2="190.243651"> - <stop offset="0" style="stop-color:#00b8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00b8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR17e_0" x1="453.849243" x2="455.89798" y1="189.227483" y2="190.243651"> + <stop offset="1" style="stop-color:#0083ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00b8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR17e_1" x1="446.441385" x2="447.172183" y1="209.309464" y2="209.549576"> - <stop offset="0" style="stop-color:#0040ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0040ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR17e_1" x1="446.441385" x2="447.172183" y1="209.309464" y2="209.549576"> + <stop offset="1" style="stop-color:#0083ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0040ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR17e_2" x1="448.839939" x2="448.298853" y1="204.473644" y2="204.274048"> - <stop offset="0" style="stop-color:#0090ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0090ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR17e_2" x1="448.839939" x2="448.298853" y1="204.473644" y2="204.274048"> + <stop offset="1" style="stop-color:#0083ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0090ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT17e" points="448.839939 204.473644 453.849243 189.227483 446.441385 209.309464"/> </defs> - <use fill="#0083ff" fill-opacity="1" xlink:href="#GT17e"/> - <use fill="url(#GR17e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT17e"/> - <use fill="url(#GR17e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT17e"/> - <use fill="url(#GR17e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT17e"/> + <path d="M 448.839939,204.473644 L 453.849243,189.227483 446.441385,209.309464 Z" fill="#0083ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 448.839939,204.473644 L 453.849243,189.227483 446.441385,209.309464 Z" fill="url(#GR17e_0)" shape-rendering="crispEdges"/> + <path d="M 448.839939,204.473644 L 453.849243,189.227483 446.441385,209.309464 Z" fill="url(#GR17e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 448.839939,204.473644 L 453.849243,189.227483 446.441385,209.309464 Z" fill="url(#GR17e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR17f_0" x1="446.441385" x2="447.172183" y1="209.309464" y2="209.549576"> - <stop offset="0" style="stop-color:#0040ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0040ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR17f_0" x1="446.441385" x2="447.172183" y1="209.309464" y2="209.549576"> + <stop offset="1" style="stop-color:#006bff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0040ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR17f_1" x1="443.830635" x2="441.781898" y1="219.719806" y2="218.703637"> - <stop offset="0" style="stop-color:#0070ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0070ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR17f_1" x1="443.830635" x2="441.781898" y1="219.719806" y2="218.703637"> + <stop offset="1" style="stop-color:#006bff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0070ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR17f_2" x1="448.839939" x2="447.724298" y1="204.473644" y2="204.193859"> - <stop offset="0" style="stop-color:#0090ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0090ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR17f_2" x1="448.839939" x2="447.724298" y1="204.473644" y2="204.193859"> + <stop offset="1" style="stop-color:#006bff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0090ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT17f" points="448.839939 204.473644 446.441385 209.309464 443.830635 219.719806"/> </defs> - <use fill="#006bff" fill-opacity="1" xlink:href="#GT17f"/> - <use fill="url(#GR17f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT17f"/> - <use fill="url(#GR17f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT17f"/> - <use fill="url(#GR17f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT17f"/> + <path d="M 448.839939,204.473644 L 446.441385,209.309464 443.830635,219.719806 Z" fill="#006bff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 448.839939,204.473644 L 446.441385,209.309464 443.830635,219.719806 Z" fill="url(#GR17f_0)" shape-rendering="crispEdges"/> + <path d="M 448.839939,204.473644 L 446.441385,209.309464 443.830635,219.719806 Z" fill="url(#GR17f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 448.839939,204.473644 L 446.441385,209.309464 443.830635,219.719806 Z" fill="url(#GR17f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR180_0" x1="451.238493" x2="447.191893" y1="199.637825" y2="194.040005"> - <stop offset="0" style="stop-color:#00d8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00d8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR180_0" x1="451.238493" x2="447.191893" y1="199.637825" y2="194.040005"> + <stop offset="1" style="stop-color:#2be9d0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00d8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR180_1" x1="461.660538" x2="459.636015" y1="183.580786" y2="182.583891"> - <stop offset="0" style="stop-color:#5aff9d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5aff9d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR180_1" x1="461.660538" x2="459.636015" y1="183.580786" y2="182.583891"> + <stop offset="1" style="stop-color:#2be9d0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5aff9d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR180_2" x1="457.75489" x2="459.213511" y1="186.404134" y2="187.350872"> - <stop offset="0" style="stop-color:#28e4d3;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#28e4d3;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR180_2" x1="457.75489" x2="459.213511" y1="186.404134" y2="187.350872"> + <stop offset="1" style="stop-color:#2be9d0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#28e4d3;stop-opacity:0;"/> </linearGradient> - <polygon id="GT180" points="457.75489 186.404134 451.238493 199.637825 461.660538 183.580786"/> </defs> - <use fill="#2be9d0" fill-opacity="1" xlink:href="#GT180"/> - <use fill="url(#GR180_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT180"/> - <use fill="url(#GR180_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT180"/> - <use fill="url(#GR180_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT180"/> + <path d="M 457.75489,186.404134 L 451.238493,199.637825 461.660538,183.580786 Z" fill="#2be9d0" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 457.75489,186.404134 L 451.238493,199.637825 461.660538,183.580786 Z" fill="url(#GR180_0)" shape-rendering="crispEdges"/> + <path d="M 457.75489,186.404134 L 451.238493,199.637825 461.660538,183.580786 Z" fill="url(#GR180_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 457.75489,186.404134 L 451.238493,199.637825 461.660538,183.580786 Z" fill="url(#GR180_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR181_0" x1="461.660538" x2="459.636015" y1="183.580786" y2="182.583891"> - <stop offset="0" style="stop-color:#5aff9d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5aff9d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR181_0" x1="461.660538" x2="459.636015" y1="183.580786" y2="182.583891"> + <stop offset="1" style="stop-color:#43f6b6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5aff9d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR181_1" x1="464.271287" x2="468.317887" y1="173.170444" y2="178.768264"> - <stop offset="0" style="stop-color:#46ffb1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#46ffb1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR181_1" x1="464.271287" x2="468.317887" y1="173.170444" y2="178.768264"> + <stop offset="1" style="stop-color:#43f6b6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#46ffb1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR181_2" x1="457.75489" x2="460.763281" y1="186.404134" y2="187.158591"> - <stop offset="0" style="stop-color:#28e4d3;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#28e4d3;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR181_2" x1="457.75489" x2="460.763281" y1="186.404134" y2="187.158591"> + <stop offset="1" style="stop-color:#43f6b6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#28e4d3;stop-opacity:0;"/> </linearGradient> - <polygon id="GT181" points="457.75489 186.404134 461.660538 183.580786 464.271287 173.170444"/> </defs> - <use fill="#43f6b6" fill-opacity="1" xlink:href="#GT181"/> - <use fill="url(#GR181_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT181"/> - <use fill="url(#GR181_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT181"/> - <use fill="url(#GR181_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT181"/> + <path d="M 457.75489,186.404134 L 461.660538,183.580786 464.271287,173.170444 Z" fill="#43f6b6" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 457.75489,186.404134 L 461.660538,183.580786 464.271287,173.170444 Z" fill="url(#GR181_0)" shape-rendering="crispEdges"/> + <path d="M 457.75489,186.404134 L 461.660538,183.580786 464.271287,173.170444 Z" fill="url(#GR181_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 457.75489,186.404134 L 461.660538,183.580786 464.271287,173.170444 Z" fill="url(#GR181_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR182_0" x1="464.271287" x2="468.317887" y1="173.170444" y2="178.768264"> - <stop offset="0" style="stop-color:#46ffb1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#46ffb1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR182_0" x1="464.271287" x2="468.317887" y1="173.170444" y2="178.768264"> + <stop offset="1" style="stop-color:#25ded6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#46ffb1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR182_1" x1="453.849243" x2="455.873766" y1="189.227483" y2="190.224377"> - <stop offset="0" style="stop-color:#00b8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00b8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR182_1" x1="453.849243" x2="455.873766" y1="189.227483" y2="190.224377"> + <stop offset="1" style="stop-color:#25ded6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00b8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR182_2" x1="457.75489" x2="456.29627" y1="186.404134" y2="185.457396"> - <stop offset="0" style="stop-color:#28e4d3;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#28e4d3;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR182_2" x1="457.75489" x2="456.29627" y1="186.404134" y2="185.457396"> + <stop offset="1" style="stop-color:#25ded6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#28e4d3;stop-opacity:0;"/> </linearGradient> - <polygon id="GT182" points="457.75489 186.404134 464.271287 173.170444 453.849243 189.227483"/> </defs> - <use fill="#25ded6" fill-opacity="1" xlink:href="#GT182"/> - <use fill="url(#GR182_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT182"/> - <use fill="url(#GR182_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT182"/> - <use fill="url(#GR182_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT182"/> + <path d="M 457.75489,186.404134 L 464.271287,173.170444 453.849243,189.227483 Z" fill="#25ded6" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 457.75489,186.404134 L 464.271287,173.170444 453.849243,189.227483 Z" fill="url(#GR182_0)" shape-rendering="crispEdges"/> + <path d="M 457.75489,186.404134 L 464.271287,173.170444 453.849243,189.227483 Z" fill="url(#GR182_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 457.75489,186.404134 L 464.271287,173.170444 453.849243,189.227483 Z" fill="url(#GR182_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR183_0" x1="453.849243" x2="455.873766" y1="189.227483" y2="190.224377"> - <stop offset="0" style="stop-color:#00b8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00b8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR183_0" x1="453.849243" x2="455.873766" y1="189.227483" y2="190.224377"> + <stop offset="1" style="stop-color:#0dd2f0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00b8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR183_1" x1="451.238493" x2="447.191893" y1="199.637825" y2="194.040005"> - <stop offset="0" style="stop-color:#00d8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00d8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR183_1" x1="451.238493" x2="447.191893" y1="199.637825" y2="194.040005"> + <stop offset="1" style="stop-color:#0dd2f0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00d8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR183_2" x1="457.75489" x2="454.7465" y1="186.404134" y2="185.649677"> - <stop offset="0" style="stop-color:#28e4d3;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#28e4d3;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR183_2" x1="457.75489" x2="454.7465" y1="186.404134" y2="185.649677"> + <stop offset="1" style="stop-color:#0dd2f0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#28e4d3;stop-opacity:0;"/> </linearGradient> - <polygon id="GT183" points="457.75489 186.404134 453.849243 189.227483 451.238493 199.637825"/> </defs> - <use fill="#0dd2f0" fill-opacity="1" xlink:href="#GT183"/> - <use fill="url(#GR183_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT183"/> - <use fill="url(#GR183_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT183"/> - <use fill="url(#GR183_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT183"/> + <path d="M 457.75489,186.404134 L 453.849243,189.227483 451.238493,199.637825 Z" fill="#0dd2f0" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 457.75489,186.404134 L 453.849243,189.227483 451.238493,199.637825 Z" fill="url(#GR183_0)" shape-rendering="crispEdges"/> + <path d="M 457.75489,186.404134 L 453.849243,189.227483 451.238493,199.637825 Z" fill="url(#GR183_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 457.75489,186.404134 L 453.849243,189.227483 451.238493,199.637825 Z" fill="url(#GR183_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR184_0" x1="461.660538" x2="461.216075" y1="183.580786" y2="173.302561"> - <stop offset="0" style="stop-color:#5aff9d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5aff9d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR184_0" x1="461.660538" x2="461.216075" y1="183.580786" y2="173.302561"> + <stop offset="1" style="stop-color:#8cff6b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5aff9d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR184_1" x1="474.326368" x2="471.114276" y1="172.735631" y2="170.427062"> - <stop offset="0" style="stop-color:#c4ff33;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c4ff33;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR184_1" x1="474.326368" x2="471.114276" y1="172.735631" y2="170.427062"> + <stop offset="1" style="stop-color:#8cff6b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c4ff33;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR184_2" x1="469.298828" x2="471.318182" y1="172.953037" y2="175.311399"> - <stop offset="0" style="stop-color:#86ff71;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#86ff71;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR184_2" x1="469.298828" x2="471.318182" y1="172.953037" y2="175.311399"> + <stop offset="1" style="stop-color:#8cff6b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#86ff71;stop-opacity:0;"/> </linearGradient> - <polygon id="GT184" points="469.298828 172.953037 461.660538 183.580786 474.326368 172.735631"/> </defs> - <use fill="#8cff6b" fill-opacity="1" xlink:href="#GT184"/> - <use fill="url(#GR184_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT184"/> - <use fill="url(#GR184_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT184"/> - <use fill="url(#GR184_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT184"/> + <path d="M 469.298828,172.953037 L 461.660538,183.580786 474.326368,172.735631 Z" fill="#8cff6b" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 469.298828,172.953037 L 461.660538,183.580786 474.326368,172.735631 Z" fill="url(#GR184_0)" shape-rendering="crispEdges"/> + <path d="M 469.298828,172.953037 L 461.660538,183.580786 474.326368,172.735631 Z" fill="url(#GR184_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 469.298828,172.953037 L 461.660538,183.580786 474.326368,172.735631 Z" fill="url(#GR184_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR185_0" x1="474.326368" x2="471.114276" y1="172.735631" y2="170.427062"> - <stop offset="0" style="stop-color:#c4ff33;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c4ff33;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR185_0" x1="474.326368" x2="471.114276" y1="172.735631" y2="170.427062"> + <stop offset="1" style="stop-color:#aaff4d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c4ff33;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR185_1" x1="476.937117" x2="477.38158" y1="162.325288" y2="172.603514"> - <stop offset="0" style="stop-color:#b4ff43;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b4ff43;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR185_1" x1="476.937117" x2="477.38158" y1="162.325288" y2="172.603514"> + <stop offset="1" style="stop-color:#aaff4d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b4ff43;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR185_2" x1="469.298828" x2="473.977586" y1="172.953037" y2="174.126396"> - <stop offset="0" style="stop-color:#86ff71;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#86ff71;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR185_2" x1="469.298828" x2="473.977586" y1="172.953037" y2="174.126396"> + <stop offset="1" style="stop-color:#aaff4d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#86ff71;stop-opacity:0;"/> </linearGradient> - <polygon id="GT185" points="469.298828 172.953037 474.326368 172.735631 476.937117 162.325288"/> </defs> - <use fill="#aaff4d" fill-opacity="1" xlink:href="#GT185"/> - <use fill="url(#GR185_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT185"/> - <use fill="url(#GR185_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT185"/> - <use fill="url(#GR185_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT185"/> + <path d="M 469.298828,172.953037 L 474.326368,172.735631 476.937117,162.325288 Z" fill="#aaff4d" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 469.298828,172.953037 L 474.326368,172.735631 476.937117,162.325288 Z" fill="url(#GR185_0)" shape-rendering="crispEdges"/> + <path d="M 469.298828,172.953037 L 474.326368,172.735631 476.937117,162.325288 Z" fill="url(#GR185_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 469.298828,172.953037 L 474.326368,172.735631 476.937117,162.325288 Z" fill="url(#GR185_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR186_0" x1="476.937117" x2="477.38158" y1="162.325288" y2="172.603514"> - <stop offset="0" style="stop-color:#b4ff43;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b4ff43;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR186_0" x1="476.937117" x2="477.38158" y1="162.325288" y2="172.603514"> + <stop offset="1" style="stop-color:#80ff77;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b4ff43;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR186_1" x1="464.271287" x2="467.483379" y1="173.170444" y2="175.479013"> - <stop offset="0" style="stop-color:#46ffb1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#46ffb1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR186_1" x1="464.271287" x2="467.483379" y1="173.170444" y2="175.479013"> + <stop offset="1" style="stop-color:#80ff77;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#46ffb1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR186_2" x1="469.298828" x2="467.279473" y1="172.953037" y2="170.594675"> - <stop offset="0" style="stop-color:#86ff71;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#86ff71;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR186_2" x1="469.298828" x2="467.279473" y1="172.953037" y2="170.594675"> + <stop offset="1" style="stop-color:#80ff77;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#86ff71;stop-opacity:0;"/> </linearGradient> - <polygon id="GT186" points="469.298828 172.953037 476.937117 162.325288 464.271287 173.170444"/> </defs> - <use fill="#80ff77" fill-opacity="1" xlink:href="#GT186"/> - <use fill="url(#GR186_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT186"/> - <use fill="url(#GR186_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT186"/> - <use fill="url(#GR186_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT186"/> + <path d="M 469.298828,172.953037 L 476.937117,162.325288 464.271287,173.170444 Z" fill="#80ff77" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 469.298828,172.953037 L 476.937117,162.325288 464.271287,173.170444 Z" fill="url(#GR186_0)" shape-rendering="crispEdges"/> + <path d="M 469.298828,172.953037 L 476.937117,162.325288 464.271287,173.170444 Z" fill="url(#GR186_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 469.298828,172.953037 L 476.937117,162.325288 464.271287,173.170444 Z" fill="url(#GR186_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR187_0" x1="464.271287" x2="467.483379" y1="173.170444" y2="175.479013"> - <stop offset="0" style="stop-color:#46ffb1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#46ffb1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR187_0" x1="464.271287" x2="467.483379" y1="173.170444" y2="175.479013"> + <stop offset="1" style="stop-color:#62ff95;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#46ffb1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR187_1" x1="461.660538" x2="461.216075" y1="183.580786" y2="173.302561"> - <stop offset="0" style="stop-color:#5aff9d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5aff9d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR187_1" x1="461.660538" x2="461.216075" y1="183.580786" y2="173.302561"> + <stop offset="1" style="stop-color:#62ff95;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5aff9d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR187_2" x1="469.298828" x2="464.620069" y1="172.953037" y2="171.779678"> - <stop offset="0" style="stop-color:#86ff71;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#86ff71;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR187_2" x1="469.298828" x2="464.620069" y1="172.953037" y2="171.779678"> + <stop offset="1" style="stop-color:#62ff95;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#86ff71;stop-opacity:0;"/> </linearGradient> - <polygon id="GT187" points="469.298828 172.953037 464.271287 173.170444 461.660538 183.580786"/> </defs> - <use fill="#62ff95" fill-opacity="1" xlink:href="#GT187"/> - <use fill="url(#GR187_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT187"/> - <use fill="url(#GR187_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT187"/> - <use fill="url(#GR187_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT187"/> + <path d="M 469.298828,172.953037 L 464.271287,173.170444 461.660538,183.580786 Z" fill="#62ff95" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 469.298828,172.953037 L 464.271287,173.170444 461.660538,183.580786 Z" fill="url(#GR187_0)" shape-rendering="crispEdges"/> + <path d="M 469.298828,172.953037 L 464.271287,173.170444 461.660538,183.580786 Z" fill="url(#GR187_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 469.298828,172.953037 L 464.271287,173.170444 461.660538,183.580786 Z" fill="url(#GR187_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR188_0" x1="474.326368" x2="478.951902" y1="172.735631" y2="163.314496"> - <stop offset="0" style="stop-color:#c4ff33;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c4ff33;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR188_0" x1="474.326368" x2="478.951902" y1="172.735631" y2="163.314496"> + <stop offset="1" style="stop-color:#e0da1b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c4ff33;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR188_1" x1="488.299723" x2="484.308503" y1="167.904035" y2="163.561359"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR188_1" x1="488.299723" x2="484.308503" y1="167.904035" y2="163.561359"> + <stop offset="1" style="stop-color:#e0da1b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR188_2" x1="482.61842" x2="484.086619" y1="165.114662" y2="169.360808"> - <stop offset="0" style="stop-color:#dddd1d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dddd1d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR188_2" x1="482.61842" x2="484.086619" y1="165.114662" y2="169.360808"> + <stop offset="1" style="stop-color:#e0da1b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dddd1d;stop-opacity:0;"/> </linearGradient> - <polygon id="GT188" points="482.61842 165.114662 474.326368 172.735631 488.299723 167.904035"/> </defs> - <use fill="#e0da1b" fill-opacity="1" xlink:href="#GT188"/> - <use fill="url(#GR188_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT188"/> - <use fill="url(#GR188_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT188"/> - <use fill="url(#GR188_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT188"/> + <path d="M 482.61842,165.114662 L 474.326368,172.735631 488.299723,167.904035 Z" fill="#e0da1b" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 482.61842,165.114662 L 474.326368,172.735631 488.299723,167.904035 Z" fill="url(#GR188_0)" shape-rendering="crispEdges"/> + <path d="M 482.61842,165.114662 L 474.326368,172.735631 488.299723,167.904035 Z" fill="url(#GR188_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 482.61842,165.114662 L 474.326368,172.735631 488.299723,167.904035 Z" fill="url(#GR188_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR189_0" x1="488.299723" x2="484.308503" y1="167.904035" y2="163.561359"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR189_0" x1="488.299723" x2="484.308503" y1="167.904035" y2="163.561359"> + <stop offset="1" style="stop-color:#f4c70a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR189_1" x1="490.910472" x2="486.284938" y1="157.493693" y2="166.914827"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR189_1" x1="490.910472" x2="486.284938" y1="157.493693" y2="166.914827"> + <stop offset="1" style="stop-color:#f4c70a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR189_2" x1="482.61842" x2="488.621691" y1="165.114662" y2="166.620187"> - <stop offset="0" style="stop-color:#dddd1d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dddd1d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR189_2" x1="482.61842" x2="488.621691" y1="165.114662" y2="166.620187"> + <stop offset="1" style="stop-color:#f4c70a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dddd1d;stop-opacity:0;"/> </linearGradient> - <polygon id="GT189" points="482.61842 165.114662 488.299723 167.904035 490.910472 157.493693"/> </defs> - <use fill="#f4c70a" fill-opacity="1" xlink:href="#GT189"/> - <use fill="url(#GR189_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT189"/> - <use fill="url(#GR189_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT189"/> - <use fill="url(#GR189_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT189"/> + <path d="M 482.61842,165.114662 L 488.299723,167.904035 490.910472,157.493693 Z" fill="#f4c70a" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 482.61842,165.114662 L 488.299723,167.904035 490.910472,157.493693 Z" fill="url(#GR189_0)" shape-rendering="crispEdges"/> + <path d="M 482.61842,165.114662 L 488.299723,167.904035 490.910472,157.493693 Z" fill="url(#GR189_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 482.61842,165.114662 L 488.299723,167.904035 490.910472,157.493693 Z" fill="url(#GR189_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR18a_0" x1="490.910472" x2="486.284938" y1="157.493693" y2="166.914827"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR18a_0" x1="490.910472" x2="486.284938" y1="157.493693" y2="166.914827"> + <stop offset="1" style="stop-color:#dbe020;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR18a_1" x1="476.937117" x2="480.928337" y1="162.325288" y2="166.667965"> - <stop offset="0" style="stop-color:#b4ff43;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b4ff43;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR18a_1" x1="476.937117" x2="480.928337" y1="162.325288" y2="166.667965"> + <stop offset="1" style="stop-color:#dbe020;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b4ff43;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR18a_2" x1="482.61842" x2="481.150221" y1="165.114662" y2="160.868515"> - <stop offset="0" style="stop-color:#dddd1d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dddd1d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR18a_2" x1="482.61842" x2="481.150221" y1="165.114662" y2="160.868515"> + <stop offset="1" style="stop-color:#dbe020;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dddd1d;stop-opacity:0;"/> </linearGradient> - <polygon id="GT18a" points="482.61842 165.114662 490.910472 157.493693 476.937117 162.325288"/> </defs> - <use fill="#dbe020" fill-opacity="1" xlink:href="#GT18a"/> - <use fill="url(#GR18a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT18a"/> - <use fill="url(#GR18a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT18a"/> - <use fill="url(#GR18a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT18a"/> + <path d="M 482.61842,165.114662 L 490.910472,157.493693 476.937117,162.325288 Z" fill="#dbe020" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 482.61842,165.114662 L 490.910472,157.493693 476.937117,162.325288 Z" fill="url(#GR18a_0)" shape-rendering="crispEdges"/> + <path d="M 482.61842,165.114662 L 490.910472,157.493693 476.937117,162.325288 Z" fill="url(#GR18a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 482.61842,165.114662 L 490.910472,157.493693 476.937117,162.325288 Z" fill="url(#GR18a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR18b_0" x1="476.937117" x2="480.928337" y1="162.325288" y2="166.667965"> - <stop offset="0" style="stop-color:#b4ff43;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b4ff43;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR18b_0" x1="476.937117" x2="480.928337" y1="162.325288" y2="166.667965"> + <stop offset="1" style="stop-color:#c7f431;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b4ff43;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR18b_1" x1="474.326368" x2="478.951902" y1="172.735631" y2="163.314496"> - <stop offset="0" style="stop-color:#c4ff33;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c4ff33;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR18b_1" x1="474.326368" x2="478.951902" y1="172.735631" y2="163.314496"> + <stop offset="1" style="stop-color:#c7f431;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c4ff33;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR18b_2" x1="482.61842" x2="476.615149" y1="165.114662" y2="163.609136"> - <stop offset="0" style="stop-color:#dddd1d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dddd1d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR18b_2" x1="482.61842" x2="476.615149" y1="165.114662" y2="163.609136"> + <stop offset="1" style="stop-color:#c7f431;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dddd1d;stop-opacity:0;"/> </linearGradient> - <polygon id="GT18b" points="482.61842 165.114662 476.937117 162.325288 474.326368 172.735631"/> </defs> - <use fill="#c7f431" fill-opacity="1" xlink:href="#GT18b"/> - <use fill="url(#GR18b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT18b"/> - <use fill="url(#GR18b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT18b"/> - <use fill="url(#GR18b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT18b"/> + <path d="M 482.61842,165.114662 L 476.937117,162.325288 474.326368,172.735631 Z" fill="#c7f431" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 482.61842,165.114662 L 476.937117,162.325288 474.326368,172.735631 Z" fill="url(#GR18b_0)" shape-rendering="crispEdges"/> + <path d="M 482.61842,165.114662 L 476.937117,162.325288 474.326368,172.735631 Z" fill="url(#GR18b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 482.61842,165.114662 L 476.937117,162.325288 474.326368,172.735631 Z" fill="url(#GR18b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR18c_0" x1="490.910472" x2="487.494146" y1="329.860826" y2="320.971828"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR18c_0" x1="490.910472" x2="487.494146" y1="329.860826" y2="320.971828"> + <stop offset="1" style="stop-color:#d8e323;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR18c_1" x1="476.937117" x2="483.309576" y1="325.029231" y2="320.078043"> - <stop offset="0" style="stop-color:#b4ff43;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b4ff43;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR18c_1" x1="476.937117" x2="483.309576" y1="325.029231" y2="320.078043"> + <stop offset="1" style="stop-color:#d8e323;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b4ff43;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR18c_2" x1="484.806564" x2="483.03208" y1="322.004751" y2="327.136698"> - <stop offset="0" style="stop-color:#d6e525;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d6e525;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR18c_2" x1="484.806564" x2="483.03208" y1="322.004751" y2="327.136698"> + <stop offset="1" style="stop-color:#d8e323;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d6e525;stop-opacity:0;"/> </linearGradient> - <polygon id="GT18c" points="484.806564 322.004751 490.910472 329.860826 476.937117 325.029231"/> </defs> - <use fill="#d8e323" fill-opacity="1" xlink:href="#GT18c"/> - <use fill="url(#GR18c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT18c"/> - <use fill="url(#GR18c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT18c"/> - <use fill="url(#GR18c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT18c"/> + <path d="M 484.806564,322.004751 L 490.910472,329.860826 476.937117,325.029231 Z" fill="#d8e323" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 484.806564,322.004751 L 490.910472,329.860826 476.937117,325.029231 Z" fill="url(#GR18c_0)" shape-rendering="crispEdges"/> + <path d="M 484.806564,322.004751 L 490.910472,329.860826 476.937117,325.029231 Z" fill="url(#GR18c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 484.806564,322.004751 L 490.910472,329.860826 476.937117,325.029231 Z" fill="url(#GR18c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR18d_0" x1="476.937117" x2="483.309576" y1="325.029231" y2="320.078043"> - <stop offset="0" style="stop-color:#b4ff43;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b4ff43;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR18d_0" x1="476.937117" x2="483.309576" y1="325.029231" y2="320.078043"> + <stop offset="1" style="stop-color:#bbf63d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b4ff43;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR18d_1" x1="478.702656" x2="482.118982" y1="314.148676" y2="323.037675"> - <stop offset="0" style="stop-color:#a7ff50;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a7ff50;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR18d_1" x1="478.702656" x2="482.118982" y1="314.148676" y2="323.037675"> + <stop offset="1" style="stop-color:#bbf63d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a7ff50;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR18d_2" x1="484.806564" x2="477.617183" y1="322.004751" y2="320.838163"> - <stop offset="0" style="stop-color:#d6e525;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d6e525;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR18d_2" x1="484.806564" x2="477.617183" y1="322.004751" y2="320.838163"> + <stop offset="1" style="stop-color:#bbf63d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d6e525;stop-opacity:0;"/> </linearGradient> - <polygon id="GT18d" points="484.806564 322.004751 476.937117 325.029231 478.702656 314.148676"/> </defs> - <use fill="#bbf63d" fill-opacity="1" xlink:href="#GT18d"/> - <use fill="url(#GR18d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT18d"/> - <use fill="url(#GR18d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT18d"/> - <use fill="url(#GR18d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT18d"/> + <path d="M 484.806564,322.004751 L 476.937117,325.029231 478.702656,314.148676 Z" fill="#bbf63d" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 484.806564,322.004751 L 476.937117,325.029231 478.702656,314.148676 Z" fill="url(#GR18d_0)" shape-rendering="crispEdges"/> + <path d="M 484.806564,322.004751 L 476.937117,325.029231 478.702656,314.148676 Z" fill="url(#GR18d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 484.806564,322.004751 L 476.937117,325.029231 478.702656,314.148676 Z" fill="url(#GR18d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR18e_0" x1="478.702656" x2="482.118982" y1="314.148676" y2="323.037675"> - <stop offset="0" style="stop-color:#a7ff50;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a7ff50;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR18e_0" x1="478.702656" x2="482.118982" y1="314.148676" y2="323.037675"> + <stop offset="1" style="stop-color:#d4e627;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a7ff50;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR18e_1" x1="492.67601" x2="486.303552" y1="318.980272" y2="323.931459"> - <stop offset="0" style="stop-color:#ffd000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR18e_1" x1="492.67601" x2="486.303552" y1="318.980272" y2="323.931459"> + <stop offset="1" style="stop-color:#d4e627;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR18e_2" x1="484.806564" x2="486.581048" y1="322.004751" y2="316.872804"> - <stop offset="0" style="stop-color:#d6e525;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d6e525;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR18e_2" x1="484.806564" x2="486.581048" y1="322.004751" y2="316.872804"> + <stop offset="1" style="stop-color:#d4e627;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d6e525;stop-opacity:0;"/> </linearGradient> - <polygon id="GT18e" points="484.806564 322.004751 478.702656 314.148676 492.67601 318.980272"/> </defs> - <use fill="#d4e627" fill-opacity="1" xlink:href="#GT18e"/> - <use fill="url(#GR18e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT18e"/> - <use fill="url(#GR18e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT18e"/> - <use fill="url(#GR18e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT18e"/> + <path d="M 484.806564,322.004751 L 478.702656,314.148676 492.67601,318.980272 Z" fill="#d4e627" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 484.806564,322.004751 L 478.702656,314.148676 492.67601,318.980272 Z" fill="url(#GR18e_0)" shape-rendering="crispEdges"/> + <path d="M 484.806564,322.004751 L 478.702656,314.148676 492.67601,318.980272 Z" fill="url(#GR18e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 484.806564,322.004751 L 478.702656,314.148676 492.67601,318.980272 Z" fill="url(#GR18e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR18f_0" x1="492.67601" x2="486.303552" y1="318.980272" y2="323.931459"> - <stop offset="0" style="stop-color:#ffd000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR18f_0" x1="492.67601" x2="486.303552" y1="318.980272" y2="323.931459"> + <stop offset="1" style="stop-color:#f1d30c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR18f_1" x1="490.910472" x2="487.494146" y1="329.860826" y2="320.971828"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR18f_1" x1="490.910472" x2="487.494146" y1="329.860826" y2="320.971828"> + <stop offset="1" style="stop-color:#f1d30c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR18f_2" x1="484.806564" x2="491.995945" y1="322.004751" y2="323.171339"> - <stop offset="0" style="stop-color:#d6e525;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d6e525;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR18f_2" x1="484.806564" x2="491.995945" y1="322.004751" y2="323.171339"> + <stop offset="1" style="stop-color:#f1d30c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d6e525;stop-opacity:0;"/> </linearGradient> - <polygon id="GT18f" points="484.806564 322.004751 492.67601 318.980272 490.910472 329.860826"/> </defs> - <use fill="#f1d30c" fill-opacity="1" xlink:href="#GT18f"/> - <use fill="url(#GR18f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT18f"/> - <use fill="url(#GR18f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT18f"/> - <use fill="url(#GR18f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT18f"/> + <path d="M 484.806564,322.004751 L 492.67601,318.980272 490.910472,329.860826 Z" fill="#f1d30c" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 484.806564,322.004751 L 492.67601,318.980272 490.910472,329.860826 Z" fill="url(#GR18f_0)" shape-rendering="crispEdges"/> + <path d="M 484.806564,322.004751 L 492.67601,318.980272 490.910472,329.860826 Z" fill="url(#GR18f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 484.806564,322.004751 L 492.67601,318.980272 490.910472,329.860826 Z" fill="url(#GR18f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR190_0" x1="476.937117" x2="476.910439" y1="325.029231" y2="314.153072"> - <stop offset="0" style="stop-color:#b4ff43;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b4ff43;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR190_0" x1="476.937117" x2="476.910439" y1="325.029231" y2="314.153072"> + <stop offset="1" style="stop-color:#7bff7c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b4ff43;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR190_1" x1="464.271287" x2="470.042969" y1="314.184075" y2="311.288289"> - <stop offset="0" style="stop-color:#46ffb1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#46ffb1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR190_1" x1="464.271287" x2="470.042969" y1="314.184075" y2="311.288289"> + <stop offset="1" style="stop-color:#7bff7c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#46ffb1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR190_2" x1="471.486971" x2="468.425832" y1="314.166376" y2="317.741417"> - <stop offset="0" style="stop-color:#76ff81;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#76ff81;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR190_2" x1="471.486971" x2="468.425832" y1="314.166376" y2="317.741417"> + <stop offset="1" style="stop-color:#7bff7c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#76ff81;stop-opacity:0;"/> </linearGradient> - <polygon id="GT190" points="471.486971 314.166376 476.937117 325.029231 464.271287 314.184075"/> </defs> - <use fill="#7bff7c" fill-opacity="1" xlink:href="#GT190"/> - <use fill="url(#GR190_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT190"/> - <use fill="url(#GR190_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT190"/> - <use fill="url(#GR190_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT190"/> + <path d="M 471.486971,314.166376 L 476.937117,325.029231 464.271287,314.184075 Z" fill="#7bff7c" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 471.486971,314.166376 L 476.937117,325.029231 464.271287,314.184075 Z" fill="url(#GR190_0)" shape-rendering="crispEdges"/> + <path d="M 471.486971,314.166376 L 476.937117,325.029231 464.271287,314.184075 Z" fill="url(#GR190_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 471.486971,314.166376 L 476.937117,325.029231 464.271287,314.184075 Z" fill="url(#GR190_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR191_0" x1="464.271287" x2="470.042969" y1="314.184075" y2="311.288289"> - <stop offset="0" style="stop-color:#46ffb1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#46ffb1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR191_0" x1="464.271287" x2="470.042969" y1="314.184075" y2="311.288289"> + <stop offset="1" style="stop-color:#51ffa6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#46ffb1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR191_1" x1="466.036825" x2="466.063504" y1="303.303521" y2="314.179679"> - <stop offset="0" style="stop-color:#36ffc1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#36ffc1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR191_1" x1="466.036825" x2="466.063504" y1="303.303521" y2="314.179679"> + <stop offset="1" style="stop-color:#51ffa6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#36ffc1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR191_2" x1="471.486971" x2="464.459201" y1="314.166376" y2="313.026011"> - <stop offset="0" style="stop-color:#76ff81;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#76ff81;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR191_2" x1="471.486971" x2="464.459201" y1="314.166376" y2="313.026011"> + <stop offset="1" style="stop-color:#51ffa6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#76ff81;stop-opacity:0;"/> </linearGradient> - <polygon id="GT191" points="471.486971 314.166376 464.271287 314.184075 466.036825 303.303521"/> </defs> - <use fill="#51ffa6" fill-opacity="1" xlink:href="#GT191"/> - <use fill="url(#GR191_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT191"/> - <use fill="url(#GR191_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT191"/> - <use fill="url(#GR191_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT191"/> + <path d="M 471.486971,314.166376 L 464.271287,314.184075 466.036825,303.303521 Z" fill="#51ffa6" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 471.486971,314.166376 L 464.271287,314.184075 466.036825,303.303521 Z" fill="url(#GR191_0)" shape-rendering="crispEdges"/> + <path d="M 471.486971,314.166376 L 464.271287,314.184075 466.036825,303.303521 Z" fill="url(#GR191_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 471.486971,314.166376 L 464.271287,314.184075 466.036825,303.303521 Z" fill="url(#GR191_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR192_0" x1="466.036825" x2="466.063504" y1="303.303521" y2="314.179679"> - <stop offset="0" style="stop-color:#36ffc1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#36ffc1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR192_0" x1="466.036825" x2="466.063504" y1="303.303521" y2="314.179679"> + <stop offset="1" style="stop-color:#71ff86;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#36ffc1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR192_1" x1="478.702656" x2="472.930974" y1="314.148676" y2="317.044462"> - <stop offset="0" style="stop-color:#a7ff50;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a7ff50;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR192_1" x1="478.702656" x2="472.930974" y1="314.148676" y2="317.044462"> + <stop offset="1" style="stop-color:#71ff86;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a7ff50;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR192_2" x1="471.486971" x2="474.548111" y1="314.166376" y2="310.591335"> - <stop offset="0" style="stop-color:#76ff81;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#76ff81;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR192_2" x1="471.486971" x2="474.548111" y1="314.166376" y2="310.591335"> + <stop offset="1" style="stop-color:#71ff86;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#76ff81;stop-opacity:0;"/> </linearGradient> - <polygon id="GT192" points="471.486971 314.166376 466.036825 303.303521 478.702656 314.148676"/> </defs> - <use fill="#71ff86" fill-opacity="1" xlink:href="#GT192"/> - <use fill="url(#GR192_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT192"/> - <use fill="url(#GR192_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT192"/> - <use fill="url(#GR192_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT192"/> + <path d="M 471.486971,314.166376 L 466.036825,303.303521 478.702656,314.148676 Z" fill="#71ff86" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 471.486971,314.166376 L 466.036825,303.303521 478.702656,314.148676 Z" fill="url(#GR192_0)" shape-rendering="crispEdges"/> + <path d="M 471.486971,314.166376 L 466.036825,303.303521 478.702656,314.148676 Z" fill="url(#GR192_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 471.486971,314.166376 L 466.036825,303.303521 478.702656,314.148676 Z" fill="url(#GR192_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR193_0" x1="478.702656" x2="472.930974" y1="314.148676" y2="317.044462"> - <stop offset="0" style="stop-color:#a7ff50;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a7ff50;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR193_0" x1="478.702656" x2="472.930974" y1="314.148676" y2="317.044462"> + <stop offset="1" style="stop-color:#9bff5c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a7ff50;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR193_1" x1="476.937117" x2="476.910439" y1="325.029231" y2="314.153072"> - <stop offset="0" style="stop-color:#b4ff43;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b4ff43;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR193_1" x1="476.937117" x2="476.910439" y1="325.029231" y2="314.153072"> + <stop offset="1" style="stop-color:#9bff5c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b4ff43;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR193_2" x1="471.486971" x2="478.514742" y1="314.166376" y2="315.30674"> - <stop offset="0" style="stop-color:#76ff81;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#76ff81;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR193_2" x1="471.486971" x2="478.514742" y1="314.166376" y2="315.30674"> + <stop offset="1" style="stop-color:#9bff5c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#76ff81;stop-opacity:0;"/> </linearGradient> - <polygon id="GT193" points="471.486971 314.166376 478.702656 314.148676 476.937117 325.029231"/> </defs> - <use fill="#9bff5c" fill-opacity="1" xlink:href="#GT193"/> - <use fill="url(#GR193_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT193"/> - <use fill="url(#GR193_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT193"/> - <use fill="url(#GR193_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT193"/> + <path d="M 471.486971,314.166376 L 478.702656,314.148676 476.937117,325.029231 Z" fill="#9bff5c" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 471.486971,314.166376 L 478.702656,314.148676 476.937117,325.029231 Z" fill="url(#GR193_0)" shape-rendering="crispEdges"/> + <path d="M 471.486971,314.166376 L 478.702656,314.148676 476.937117,325.029231 Z" fill="url(#GR193_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 471.486971,314.166376 L 478.702656,314.148676 476.937117,325.029231 Z" fill="url(#GR193_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR194_0" x1="464.271287" x2="468.456182" y1="314.184075" y2="304.331104"> - <stop offset="0" style="stop-color:#46ffb1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#46ffb1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR194_0" x1="464.271287" x2="468.456182" y1="314.184075" y2="304.331104"> + <stop offset="1" style="stop-color:#22dad9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#46ffb1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR194_1" x1="453.849243" x2="458.618752" y1="298.127037" y2="296.594335"> - <stop offset="0" style="stop-color:#00b8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00b8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR194_1" x1="453.849243" x2="458.618752" y1="298.127037" y2="296.594335"> + <stop offset="1" style="stop-color:#22dad9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00b8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR194_2" x1="459.943034" x2="456.837492" y1="300.715279" y2="302.730974"> - <stop offset="0" style="stop-color:#1fd6dc;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#1fd6dc;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR194_2" x1="459.943034" x2="456.837492" y1="300.715279" y2="302.730974"> + <stop offset="1" style="stop-color:#22dad9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#1fd6dc;stop-opacity:0;"/> </linearGradient> - <polygon id="GT194" points="459.943034 300.715279 464.271287 314.184075 453.849243 298.127037"/> </defs> - <use fill="#22dad9" fill-opacity="1" xlink:href="#GT194"/> - <use fill="url(#GR194_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT194"/> - <use fill="url(#GR194_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT194"/> - <use fill="url(#GR194_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT194"/> + <path d="M 459.943034,300.715279 L 464.271287,314.184075 453.849243,298.127037 Z" fill="#22dad9" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 459.943034,300.715279 L 464.271287,314.184075 453.849243,298.127037 Z" fill="url(#GR194_0)" shape-rendering="crispEdges"/> + <path d="M 459.943034,300.715279 L 464.271287,314.184075 453.849243,298.127037 Z" fill="url(#GR194_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 459.943034,300.715279 L 464.271287,314.184075 453.849243,298.127037 Z" fill="url(#GR194_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR195_0" x1="453.849243" x2="458.618752" y1="298.127037" y2="296.594335"> - <stop offset="0" style="stop-color:#00b8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00b8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR195_0" x1="453.849243" x2="458.618752" y1="298.127037" y2="296.594335"> + <stop offset="1" style="stop-color:#0abaf3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00b8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR195_1" x1="455.614781" x2="451.429886" y1="287.246482" y2="297.099453"> - <stop offset="0" style="stop-color:#00a0ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a0ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR195_1" x1="455.614781" x2="451.429886" y1="287.246482" y2="297.099453"> + <stop offset="1" style="stop-color:#0abaf3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a0ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR195_2" x1="459.943034" x2="453.596369" y1="300.715279" y2="299.685434"> - <stop offset="0" style="stop-color:#1fd6dc;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#1fd6dc;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR195_2" x1="459.943034" x2="453.596369" y1="300.715279" y2="299.685434"> + <stop offset="1" style="stop-color:#0abaf3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#1fd6dc;stop-opacity:0;"/> </linearGradient> - <polygon id="GT195" points="459.943034 300.715279 453.849243 298.127037 455.614781 287.246482"/> </defs> - <use fill="#0abaf3" fill-opacity="1" xlink:href="#GT195"/> - <use fill="url(#GR195_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT195"/> - <use fill="url(#GR195_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT195"/> - <use fill="url(#GR195_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT195"/> + <path d="M 459.943034,300.715279 L 453.849243,298.127037 455.614781,287.246482 Z" fill="#0abaf3" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 459.943034,300.715279 L 453.849243,298.127037 455.614781,287.246482 Z" fill="url(#GR195_0)" shape-rendering="crispEdges"/> + <path d="M 459.943034,300.715279 L 453.849243,298.127037 455.614781,287.246482 Z" fill="url(#GR195_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 459.943034,300.715279 L 453.849243,298.127037 455.614781,287.246482 Z" fill="url(#GR195_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR196_0" x1="455.614781" x2="451.429886" y1="287.246482" y2="297.099453"> - <stop offset="0" style="stop-color:#00a0ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a0ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR196_0" x1="455.614781" x2="451.429886" y1="287.246482" y2="297.099453"> + <stop offset="1" style="stop-color:#1cd2df;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a0ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR196_1" x1="466.036825" x2="461.267316" y1="303.303521" y2="304.836222"> - <stop offset="0" style="stop-color:#36ffc1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#36ffc1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR196_1" x1="466.036825" x2="461.267316" y1="303.303521" y2="304.836222"> + <stop offset="1" style="stop-color:#1cd2df;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#36ffc1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR196_2" x1="459.943034" x2="463.048576" y1="300.715279" y2="298.699583"> - <stop offset="0" style="stop-color:#1fd6dc;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#1fd6dc;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR196_2" x1="459.943034" x2="463.048576" y1="300.715279" y2="298.699583"> + <stop offset="1" style="stop-color:#1cd2df;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#1fd6dc;stop-opacity:0;"/> </linearGradient> - <polygon id="GT196" points="459.943034 300.715279 455.614781 287.246482 466.036825 303.303521"/> </defs> - <use fill="#1cd2df" fill-opacity="1" xlink:href="#GT196"/> - <use fill="url(#GR196_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT196"/> - <use fill="url(#GR196_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT196"/> - <use fill="url(#GR196_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT196"/> + <path d="M 459.943034,300.715279 L 455.614781,287.246482 466.036825,303.303521 Z" fill="#1cd2df" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 459.943034,300.715279 L 455.614781,287.246482 466.036825,303.303521 Z" fill="url(#GR196_0)" shape-rendering="crispEdges"/> + <path d="M 459.943034,300.715279 L 455.614781,287.246482 466.036825,303.303521 Z" fill="url(#GR196_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 459.943034,300.715279 L 455.614781,287.246482 466.036825,303.303521 Z" fill="url(#GR196_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR197_0" x1="466.036825" x2="461.267316" y1="303.303521" y2="304.836222"> - <stop offset="0" style="stop-color:#36ffc1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#36ffc1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR197_0" x1="466.036825" x2="461.267316" y1="303.303521" y2="304.836222"> + <stop offset="1" style="stop-color:#34f1c4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#36ffc1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR197_1" x1="464.271287" x2="468.456182" y1="314.184075" y2="304.331104"> - <stop offset="0" style="stop-color:#46ffb1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#46ffb1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR197_1" x1="464.271287" x2="468.456182" y1="314.184075" y2="304.331104"> + <stop offset="1" style="stop-color:#34f1c4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#46ffb1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR197_2" x1="459.943034" x2="466.289699" y1="300.715279" y2="301.745123"> - <stop offset="0" style="stop-color:#1fd6dc;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#1fd6dc;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR197_2" x1="459.943034" x2="466.289699" y1="300.715279" y2="301.745123"> + <stop offset="1" style="stop-color:#34f1c4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#1fd6dc;stop-opacity:0;"/> </linearGradient> - <polygon id="GT197" points="459.943034 300.715279 466.036825 303.303521 464.271287 314.184075"/> </defs> - <use fill="#34f1c4" fill-opacity="1" xlink:href="#GT197"/> - <use fill="url(#GR197_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT197"/> - <use fill="url(#GR197_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT197"/> - <use fill="url(#GR197_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT197"/> + <path d="M 459.943034,300.715279 L 466.036825,303.303521 464.271287,314.184075 Z" fill="#34f1c4" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 459.943034,300.715279 L 466.036825,303.303521 464.271287,314.184075 Z" fill="url(#GR197_0)" shape-rendering="crispEdges"/> + <path d="M 459.943034,300.715279 L 466.036825,303.303521 464.271287,314.184075 Z" fill="url(#GR197_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 459.943034,300.715279 L 466.036825,303.303521 464.271287,314.184075 Z" fill="url(#GR197_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR198_0" x1="453.849243" x2="460.174957" y1="298.127037" y2="291.820592"> - <stop offset="0" style="stop-color:#00b8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00b8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR198_0" x1="453.849243" x2="460.174957" y1="298.127037" y2="291.820592"> + <stop offset="1" style="stop-color:#0077ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00b8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR198_1" x1="446.441385" x2="450.069219" y1="278.045056" y2="277.383953"> - <stop offset="0" style="stop-color:#0040ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0040ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR198_1" x1="446.441385" x2="450.069219" y1="278.045056" y2="277.383953"> + <stop offset="1" style="stop-color:#0077ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0040ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR198_2" x1="451.028083" x2="448.484599" y1="282.645769" y2="283.584011"> - <stop offset="0" style="stop-color:#006eff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#006eff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR198_2" x1="451.028083" x2="448.484599" y1="282.645769" y2="283.584011"> + <stop offset="1" style="stop-color:#0077ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#006eff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT198" points="451.028083 282.645769 453.849243 298.127037 446.441385 278.045056"/> </defs> - <use fill="#0077ff" fill-opacity="1" xlink:href="#GT198"/> - <use fill="url(#GR198_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT198"/> - <use fill="url(#GR198_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT198"/> - <use fill="url(#GR198_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT198"/> + <path d="M 451.028083,282.645769 L 453.849243,298.127037 446.441385,278.045056 Z" fill="#0077ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 451.028083,282.645769 L 453.849243,298.127037 446.441385,278.045056 Z" fill="url(#GR198_0)" shape-rendering="crispEdges"/> + <path d="M 451.028083,282.645769 L 453.849243,298.127037 446.441385,278.045056 Z" fill="url(#GR198_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 451.028083,282.645769 L 453.849243,298.127037 446.441385,278.045056 Z" fill="url(#GR198_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR199_0" x1="446.441385" x2="450.069219" y1="278.045056" y2="277.383953"> - <stop offset="0" style="stop-color:#0040ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0040ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR199_0" x1="446.441385" x2="450.069219" y1="278.045056" y2="277.383953"> + <stop offset="1" style="stop-color:#0044ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0040ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR199_1" x1="448.206923" x2="441.881209" y1="267.164501" y2="273.470945"> - <stop offset="0" style="stop-color:#001cff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#001cff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR199_1" x1="448.206923" x2="441.881209" y1="267.164501" y2="273.470945"> + <stop offset="1" style="stop-color:#0044ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#001cff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR199_2" x1="451.028083" x2="445.83167" y1="282.645769" y2="281.80257"> - <stop offset="0" style="stop-color:#006eff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#006eff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR199_2" x1="451.028083" x2="445.83167" y1="282.645769" y2="281.80257"> + <stop offset="1" style="stop-color:#0044ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#006eff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT199" points="451.028083 282.645769 446.441385 278.045056 448.206923 267.164501"/> </defs> - <use fill="#0044ff" fill-opacity="1" xlink:href="#GT199"/> - <use fill="url(#GR199_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT199"/> - <use fill="url(#GR199_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT199"/> - <use fill="url(#GR199_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT199"/> + <path d="M 451.028083,282.645769 L 446.441385,278.045056 448.206923,267.164501 Z" fill="#0044ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 451.028083,282.645769 L 446.441385,278.045056 448.206923,267.164501 Z" fill="url(#GR199_0)" shape-rendering="crispEdges"/> + <path d="M 451.028083,282.645769 L 446.441385,278.045056 448.206923,267.164501 Z" fill="url(#GR199_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 451.028083,282.645769 L 446.441385,278.045056 448.206923,267.164501 Z" fill="url(#GR199_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR19a_0" x1="448.206923" x2="441.881209" y1="267.164501" y2="273.470945"> - <stop offset="0" style="stop-color:#001cff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#001cff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR19a_0" x1="448.206923" x2="441.881209" y1="267.164501" y2="273.470945"> + <stop offset="1" style="stop-color:#0064ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#001cff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR19a_1" x1="455.614781" x2="451.986946" y1="287.246482" y2="287.907584"> - <stop offset="0" style="stop-color:#00a0ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a0ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR19a_1" x1="455.614781" x2="451.986946" y1="287.246482" y2="287.907584"> + <stop offset="1" style="stop-color:#0064ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a0ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR19a_2" x1="451.028083" x2="453.571566" y1="282.645769" y2="281.707526"> - <stop offset="0" style="stop-color:#006eff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#006eff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR19a_2" x1="451.028083" x2="453.571566" y1="282.645769" y2="281.707526"> + <stop offset="1" style="stop-color:#0064ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#006eff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT19a" points="451.028083 282.645769 448.206923 267.164501 455.614781 287.246482"/> </defs> - <use fill="#0064ff" fill-opacity="1" xlink:href="#GT19a"/> - <use fill="url(#GR19a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT19a"/> - <use fill="url(#GR19a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT19a"/> - <use fill="url(#GR19a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT19a"/> + <path d="M 451.028083,282.645769 L 448.206923,267.164501 455.614781,287.246482 Z" fill="#0064ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 451.028083,282.645769 L 448.206923,267.164501 455.614781,287.246482 Z" fill="url(#GR19a_0)" shape-rendering="crispEdges"/> + <path d="M 451.028083,282.645769 L 448.206923,267.164501 455.614781,287.246482 Z" fill="url(#GR19a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 451.028083,282.645769 L 448.206923,267.164501 455.614781,287.246482 Z" fill="url(#GR19a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR19b_0" x1="455.614781" x2="451.986946" y1="287.246482" y2="287.907584"> - <stop offset="0" style="stop-color:#00a0ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a0ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR19b_0" x1="455.614781" x2="451.986946" y1="287.246482" y2="287.907584"> + <stop offset="1" style="stop-color:#0098ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a0ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR19b_1" x1="453.849243" x2="460.174957" y1="298.127037" y2="291.820592"> - <stop offset="0" style="stop-color:#00b8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00b8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR19b_1" x1="453.849243" x2="460.174957" y1="298.127037" y2="291.820592"> + <stop offset="1" style="stop-color:#0098ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00b8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR19b_2" x1="451.028083" x2="456.224496" y1="282.645769" y2="283.488967"> - <stop offset="0" style="stop-color:#006eff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#006eff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR19b_2" x1="451.028083" x2="456.224496" y1="282.645769" y2="283.488967"> + <stop offset="1" style="stop-color:#0098ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#006eff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT19b" points="451.028083 282.645769 455.614781 287.246482 453.849243 298.127037"/> </defs> - <use fill="#0098ff" fill-opacity="1" xlink:href="#GT19b"/> - <use fill="url(#GR19b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT19b"/> - <use fill="url(#GR19b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT19b"/> - <use fill="url(#GR19b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT19b"/> + <path d="M 451.028083,282.645769 L 455.614781,287.246482 453.849243,298.127037 Z" fill="#0098ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 451.028083,282.645769 L 455.614781,287.246482 453.849243,298.127037 Z" fill="url(#GR19b_0)" shape-rendering="crispEdges"/> + <path d="M 451.028083,282.645769 L 455.614781,287.246482 453.849243,298.127037 Z" fill="url(#GR19b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 451.028083,282.645769 L 455.614781,287.246482 453.849243,298.127037 Z" fill="url(#GR19b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR19c_0" x1="446.441385" x2="452.111767" y1="278.045056" y2="275.335101"> - <stop offset="0" style="stop-color:#0040ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0040ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR19c_0" x1="446.441385" x2="452.111767" y1="278.045056" y2="275.335101"> + <stop offset="1" style="stop-color:#001df5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0040ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR19c_1" x1="442.595304" x2="445.027148" y1="255.422598" y2="255.27158"> - <stop offset="0" style="stop-color:#0000f6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000f6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR19c_1" x1="442.595304" x2="445.027148" y1="255.422598" y2="255.27158"> + <stop offset="1" style="stop-color:#001df5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000f6;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR19c_2" x1="445.401114" x2="443.644216" y1="261.293549" y2="261.592242"> - <stop offset="0" style="stop-color:#0017e9;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0017e9;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR19c_2" x1="445.401114" x2="443.644216" y1="261.293549" y2="261.592242"> + <stop offset="1" style="stop-color:#001df5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0017e9;stop-opacity:0;"/> </linearGradient> - <polygon id="GT19c" points="445.401114 261.293549 446.441385 278.045056 442.595304 255.422598"/> </defs> - <use fill="#001df5" fill-opacity="1" xlink:href="#GT19c"/> - <use fill="url(#GR19c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT19c"/> - <use fill="url(#GR19c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT19c"/> - <use fill="url(#GR19c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT19c"/> + <path d="M 445.401114,261.293549 L 446.441385,278.045056 442.595304,255.422598 Z" fill="#001df5" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 445.401114,261.293549 L 446.441385,278.045056 442.595304,255.422598 Z" fill="url(#GR19c_0)" shape-rendering="crispEdges"/> + <path d="M 445.401114,261.293549 L 446.441385,278.045056 442.595304,255.422598 Z" fill="url(#GR19c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 445.401114,261.293549 L 446.441385,278.045056 442.595304,255.422598 Z" fill="url(#GR19c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR19d_0" x1="442.595304" x2="445.027148" y1="255.422598" y2="255.27158"> - <stop offset="0" style="stop-color:#0000f6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000f6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR19d_0" x1="442.595304" x2="445.027148" y1="255.422598" y2="255.27158"> + <stop offset="1" style="stop-color:#0008db;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000f6;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR19d_1" x1="444.360842" x2="438.690461" y1="244.542043" y2="247.251997"> - <stop offset="0" style="stop-color:#0000b2;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000b2;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR19d_1" x1="444.360842" x2="438.690461" y1="244.542043" y2="247.251997"> + <stop offset="1" style="stop-color:#0008db;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000b2;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR19d_2" x1="445.401114" x2="441.739073" y1="261.293549" y2="260.699327"> - <stop offset="0" style="stop-color:#0017e9;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0017e9;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR19d_2" x1="445.401114" x2="441.739073" y1="261.293549" y2="260.699327"> + <stop offset="1" style="stop-color:#0008db;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0017e9;stop-opacity:0;"/> </linearGradient> - <polygon id="GT19d" points="445.401114 261.293549 442.595304 255.422598 444.360842 244.542043"/> </defs> - <use fill="#0008db" fill-opacity="1" xlink:href="#GT19d"/> - <use fill="url(#GR19d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT19d"/> - <use fill="url(#GR19d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT19d"/> - <use fill="url(#GR19d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT19d"/> + <path d="M 445.401114,261.293549 L 442.595304,255.422598 444.360842,244.542043 Z" fill="#0008db" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 445.401114,261.293549 L 442.595304,255.422598 444.360842,244.542043 Z" fill="url(#GR19d_0)" shape-rendering="crispEdges"/> + <path d="M 445.401114,261.293549 L 442.595304,255.422598 444.360842,244.542043 Z" fill="url(#GR19d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 445.401114,261.293549 L 442.595304,255.422598 444.360842,244.542043 Z" fill="url(#GR19d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR19e_0" x1="444.360842" x2="438.690461" y1="244.542043" y2="247.251997"> - <stop offset="0" style="stop-color:#0000b2;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000b2;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR19e_0" x1="444.360842" x2="438.690461" y1="244.542043" y2="247.251997"> + <stop offset="1" style="stop-color:#0011de;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000b2;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR19e_1" x1="448.206923" x2="445.775079" y1="267.164501" y2="267.315519"> - <stop offset="0" style="stop-color:#001cff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#001cff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR19e_1" x1="448.206923" x2="445.775079" y1="267.164501" y2="267.315519"> + <stop offset="1" style="stop-color:#0011de;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#001cff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR19e_2" x1="445.401114" x2="447.158012" y1="261.293549" y2="260.994856"> - <stop offset="0" style="stop-color:#0017e9;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0017e9;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR19e_2" x1="445.401114" x2="447.158012" y1="261.293549" y2="260.994856"> + <stop offset="1" style="stop-color:#0011de;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0017e9;stop-opacity:0;"/> </linearGradient> - <polygon id="GT19e" points="445.401114 261.293549 444.360842 244.542043 448.206923 267.164501"/> </defs> - <use fill="#0011de" fill-opacity="1" xlink:href="#GT19e"/> - <use fill="url(#GR19e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT19e"/> - <use fill="url(#GR19e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT19e"/> - <use fill="url(#GR19e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT19e"/> + <path d="M 445.401114,261.293549 L 444.360842,244.542043 448.206923,267.164501 Z" fill="#0011de" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 445.401114,261.293549 L 444.360842,244.542043 448.206923,267.164501 Z" fill="url(#GR19e_0)" shape-rendering="crispEdges"/> + <path d="M 445.401114,261.293549 L 444.360842,244.542043 448.206923,267.164501 Z" fill="url(#GR19e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 445.401114,261.293549 L 444.360842,244.542043 448.206923,267.164501 Z" fill="url(#GR19e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR19f_0" x1="448.206923" x2="445.775079" y1="267.164501" y2="267.315519"> - <stop offset="0" style="stop-color:#001cff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#001cff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR19f_0" x1="448.206923" x2="445.775079" y1="267.164501" y2="267.315519"> + <stop offset="1" style="stop-color:#0027f8;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#001cff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR19f_1" x1="446.441385" x2="452.111767" y1="278.045056" y2="275.335101"> - <stop offset="0" style="stop-color:#0040ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0040ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR19f_1" x1="446.441385" x2="452.111767" y1="278.045056" y2="275.335101"> + <stop offset="1" style="stop-color:#0027f8;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0040ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR19f_2" x1="445.401114" x2="449.063154" y1="261.293549" y2="261.887772"> - <stop offset="0" style="stop-color:#0017e9;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0017e9;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR19f_2" x1="445.401114" x2="449.063154" y1="261.293549" y2="261.887772"> + <stop offset="1" style="stop-color:#0027f8;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0017e9;stop-opacity:0;"/> </linearGradient> - <polygon id="GT19f" points="445.401114 261.293549 448.206923 267.164501 446.441385 278.045056"/> </defs> - <use fill="#0027f8" fill-opacity="1" xlink:href="#GT19f"/> - <use fill="url(#GR19f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT19f"/> - <use fill="url(#GR19f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT19f"/> - <use fill="url(#GR19f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT19f"/> + <path d="M 445.401114,261.293549 L 448.206923,267.164501 446.441385,278.045056 Z" fill="#0027f8" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 445.401114,261.293549 L 448.206923,267.164501 446.441385,278.045056 Z" fill="url(#GR19f_0)" shape-rendering="crispEdges"/> + <path d="M 445.401114,261.293549 L 448.206923,267.164501 446.441385,278.045056 Z" fill="url(#GR19f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 445.401114,261.293549 L 448.206923,267.164501 446.441385,278.045056 Z" fill="url(#GR19f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1a0_0" x1="442.595304" x2="445.820992" y1="255.422598" y2="254.97097"> - <stop offset="0" style="stop-color:#0000f6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000f6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1a0_0" x1="442.595304" x2="445.820992" y1="255.422598" y2="254.97097"> + <stop offset="1" style="stop-color:#0000ea;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000f6;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1a0_1" x1="442.595304" x2="443.798768" y1="231.931921" y2="231.993739"> - <stop offset="0" style="stop-color:#0000f6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000f6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1a0_1" x1="442.595304" x2="443.798768" y1="231.931921" y2="231.993739"> + <stop offset="1" style="stop-color:#0000ea;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000f6;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1a0_2" x1="443.478073" x2="442.595304" y1="238.236982" y2="238.236982"> - <stop offset="0" style="stop-color:#0000d4;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000d4;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1a0_2" x1="443.478073" x2="442.595304" y1="238.236982" y2="238.236982"> + <stop offset="1" style="stop-color:#0000ea;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000d4;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1a0" points="443.478073 238.236982 442.595304 255.422598 442.595304 231.931921"/> </defs> - <use fill="#0000ea" fill-opacity="1" xlink:href="#GT1a0"/> - <use fill="url(#GR1a0_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1a0"/> - <use fill="url(#GR1a0_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1a0"/> - <use fill="url(#GR1a0_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1a0"/> + <path d="M 443.478073,238.236982 L 442.595304,255.422598 442.595304,231.931921 Z" fill="#0000ea" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 443.478073,238.236982 L 442.595304,255.422598 442.595304,231.931921 Z" fill="url(#GR1a0_0)" shape-rendering="crispEdges"/> + <path d="M 443.478073,238.236982 L 442.595304,255.422598 442.595304,231.931921 Z" fill="url(#GR1a0_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 443.478073,238.236982 L 442.595304,255.422598 442.595304,231.931921 Z" fill="url(#GR1a0_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1a1_0" x1="442.595304" x2="443.798768" y1="231.931921" y2="231.993739"> - <stop offset="0" style="stop-color:#0000f6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000f6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1a1_0" x1="442.595304" x2="443.798768" y1="231.931921" y2="231.993739"> + <stop offset="1" style="stop-color:#0000d4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000f6;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1a1_1" x1="444.360842" x2="441.135154" y1="221.051367" y2="221.502994"> - <stop offset="0" style="stop-color:#0000b2;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000b2;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1a1_1" x1="444.360842" x2="441.135154" y1="221.051367" y2="221.502994"> + <stop offset="1" style="stop-color:#0000d4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000b2;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1a1_2" x1="443.478073" x2="441.621105" y1="238.236982" y2="237.93566"> - <stop offset="0" style="stop-color:#0000d4;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000d4;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1a1_2" x1="443.478073" x2="441.621105" y1="238.236982" y2="237.93566"> + <stop offset="1" style="stop-color:#0000d4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000d4;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1a1" points="443.478073 238.236982 442.595304 231.931921 444.360842 221.051367"/> </defs> - <use fill="#0000d4" fill-opacity="1" xlink:href="#GT1a1"/> - <use fill="url(#GR1a1_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1a1"/> - <use fill="url(#GR1a1_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1a1"/> - <use fill="url(#GR1a1_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1a1"/> + <path d="M 443.478073,238.236982 L 442.595304,231.931921 444.360842,221.051367 Z" fill="#0000d4" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 443.478073,238.236982 L 442.595304,231.931921 444.360842,221.051367 Z" fill="url(#GR1a1_0)" shape-rendering="crispEdges"/> + <path d="M 443.478073,238.236982 L 442.595304,231.931921 444.360842,221.051367 Z" fill="url(#GR1a1_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 443.478073,238.236982 L 442.595304,231.931921 444.360842,221.051367 Z" fill="url(#GR1a1_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1a2_0" x1="444.360842" x2="441.135154" y1="221.051367" y2="221.502994"> - <stop offset="0" style="stop-color:#0000b2;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000b2;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1a2_0" x1="444.360842" x2="441.135154" y1="221.051367" y2="221.502994"> + <stop offset="1" style="stop-color:#0000bd;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000b2;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1a2_1" x1="444.360842" x2="443.157378" y1="244.542043" y2="244.480225"> - <stop offset="0" style="stop-color:#0000b2;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000b2;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1a2_1" x1="444.360842" x2="443.157378" y1="244.542043" y2="244.480225"> + <stop offset="1" style="stop-color:#0000bd;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000b2;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1a2_2" x1="443.478073" x2="444.360842" y1="238.236982" y2="238.236982"> - <stop offset="0" style="stop-color:#0000d4;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000d4;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1a2_2" x1="443.478073" x2="444.360842" y1="238.236982" y2="238.236982"> + <stop offset="1" style="stop-color:#0000bd;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000d4;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1a2" points="443.478073 238.236982 444.360842 221.051367 444.360842 244.542043"/> </defs> - <use fill="#0000bd" fill-opacity="1" xlink:href="#GT1a2"/> - <use fill="url(#GR1a2_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1a2"/> - <use fill="url(#GR1a2_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1a2"/> - <use fill="url(#GR1a2_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1a2"/> + <path d="M 443.478073,238.236982 L 444.360842,221.051367 444.360842,244.542043 Z" fill="#0000bd" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 443.478073,238.236982 L 444.360842,221.051367 444.360842,244.542043 Z" fill="url(#GR1a2_0)" shape-rendering="crispEdges"/> + <path d="M 443.478073,238.236982 L 444.360842,221.051367 444.360842,244.542043 Z" fill="url(#GR1a2_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 443.478073,238.236982 L 444.360842,221.051367 444.360842,244.542043 Z" fill="url(#GR1a2_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1a3_0" x1="444.360842" x2="443.157378" y1="244.542043" y2="244.480225"> - <stop offset="0" style="stop-color:#0000b2;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000b2;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1a3_0" x1="444.360842" x2="443.157378" y1="244.542043" y2="244.480225"> + <stop offset="1" style="stop-color:#0000d4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000b2;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1a3_1" x1="442.595304" x2="445.820992" y1="255.422598" y2="254.97097"> - <stop offset="0" style="stop-color:#0000f6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000f6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1a3_1" x1="442.595304" x2="445.820992" y1="255.422598" y2="254.97097"> + <stop offset="1" style="stop-color:#0000d4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000f6;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1a3_2" x1="443.478073" x2="445.335042" y1="238.236982" y2="238.538304"> - <stop offset="0" style="stop-color:#0000d4;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000d4;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1a3_2" x1="443.478073" x2="445.335042" y1="238.236982" y2="238.538304"> + <stop offset="1" style="stop-color:#0000d4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000d4;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1a3" points="443.478073 238.236982 444.360842 244.542043 442.595304 255.422598"/> </defs> - <use fill="#0000d4" fill-opacity="1" xlink:href="#GT1a3"/> - <use fill="url(#GR1a3_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1a3"/> - <use fill="url(#GR1a3_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1a3"/> - <use fill="url(#GR1a3_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1a3"/> + <path d="M 443.478073,238.236982 L 444.360842,244.542043 442.595304,255.422598 Z" fill="#0000d4" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 443.478073,238.236982 L 444.360842,244.542043 442.595304,255.422598 Z" fill="url(#GR1a3_0)" shape-rendering="crispEdges"/> + <path d="M 443.478073,238.236982 L 444.360842,244.542043 442.595304,255.422598 Z" fill="url(#GR1a3_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 443.478073,238.236982 L 444.360842,244.542043 442.595304,255.422598 Z" fill="url(#GR1a3_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1a4_0" x1="442.595304" x2="442.437865" y1="231.931921" y2="231.904025"> - <stop offset="0" style="stop-color:#0000f6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000f6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1a4_0" x1="442.595304" x2="442.437865" y1="231.931921" y2="231.904025"> + <stop offset="1" style="stop-color:#001df5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000f6;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1a4_1" x1="446.441385" x2="446.386027" y1="209.309464" y2="209.300191"> - <stop offset="0" style="stop-color:#0040ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0040ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1a4_1" x1="446.441385" x2="446.386027" y1="209.309464" y2="209.300191"> + <stop offset="1" style="stop-color:#001df5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0040ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1a4_2" x1="445.401114" x2="445.442071" y1="215.180415" y2="215.187378"> - <stop offset="0" style="stop-color:#0017e9;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0017e9;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1a4_2" x1="445.401114" x2="445.442071" y1="215.180415" y2="215.187378"> + <stop offset="1" style="stop-color:#001df5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0017e9;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1a4" points="445.401114 215.180415 442.595304 231.931921 446.441385 209.309464"/> </defs> - <use fill="#001df5" fill-opacity="1" xlink:href="#GT1a4"/> - <use fill="url(#GR1a4_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1a4"/> - <use fill="url(#GR1a4_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1a4"/> - <use fill="url(#GR1a4_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1a4"/> + <path d="M 445.401114,215.180415 L 442.595304,231.931921 446.441385,209.309464 Z" fill="#001df5" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 445.401114,215.180415 L 442.595304,231.931921 446.441385,209.309464 Z" fill="url(#GR1a4_0)" shape-rendering="crispEdges"/> + <path d="M 445.401114,215.180415 L 442.595304,231.931921 446.441385,209.309464 Z" fill="url(#GR1a4_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 445.401114,215.180415 L 442.595304,231.931921 446.441385,209.309464 Z" fill="url(#GR1a4_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1a5_0" x1="446.441385" x2="446.386027" y1="209.309464" y2="209.300191"> - <stop offset="0" style="stop-color:#0040ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0040ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1a5_0" x1="446.441385" x2="446.386027" y1="209.309464" y2="209.300191"> + <stop offset="1" style="stop-color:#0027f8;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0040ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1a5_1" x1="448.206923" x2="448.364362" y1="198.428909" y2="198.456805"> - <stop offset="0" style="stop-color:#001cff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#001cff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1a5_1" x1="448.206923" x2="448.364362" y1="198.428909" y2="198.456805"> + <stop offset="1" style="stop-color:#0027f8;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#001cff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1a5_2" x1="445.401114" x2="445.486484" y1="215.180415" y2="215.194268"> - <stop offset="0" style="stop-color:#0017e9;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0017e9;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1a5_2" x1="445.401114" x2="445.486484" y1="215.180415" y2="215.194268"> + <stop offset="1" style="stop-color:#0027f8;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0017e9;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1a5" points="445.401114 215.180415 446.441385 209.309464 448.206923 198.428909"/> </defs> - <use fill="#0027f8" fill-opacity="1" xlink:href="#GT1a5"/> - <use fill="url(#GR1a5_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1a5"/> - <use fill="url(#GR1a5_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1a5"/> - <use fill="url(#GR1a5_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1a5"/> + <path d="M 445.401114,215.180415 L 446.441385,209.309464 448.206923,198.428909 Z" fill="#0027f8" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 445.401114,215.180415 L 446.441385,209.309464 448.206923,198.428909 Z" fill="url(#GR1a5_0)" shape-rendering="crispEdges"/> + <path d="M 445.401114,215.180415 L 446.441385,209.309464 448.206923,198.428909 Z" fill="url(#GR1a5_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 445.401114,215.180415 L 446.441385,209.309464 448.206923,198.428909 Z" fill="url(#GR1a5_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1a6_0" x1="448.206923" x2="448.364362" y1="198.428909" y2="198.456805"> - <stop offset="0" style="stop-color:#001cff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#001cff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1a6_0" x1="448.206923" x2="448.364362" y1="198.428909" y2="198.456805"> + <stop offset="1" style="stop-color:#0011de;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#001cff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1a6_1" x1="444.360842" x2="444.4162" y1="221.051367" y2="221.060639"> - <stop offset="0" style="stop-color:#0000b2;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000b2;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1a6_1" x1="444.360842" x2="444.4162" y1="221.051367" y2="221.060639"> + <stop offset="1" style="stop-color:#0011de;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000b2;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1a6_2" x1="445.401114" x2="445.360156" y1="215.180415" y2="215.173452"> - <stop offset="0" style="stop-color:#0017e9;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0017e9;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1a6_2" x1="445.401114" x2="445.360156" y1="215.180415" y2="215.173452"> + <stop offset="1" style="stop-color:#0011de;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0017e9;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1a6" points="445.401114 215.180415 448.206923 198.428909 444.360842 221.051367"/> </defs> - <use fill="#0011de" fill-opacity="1" xlink:href="#GT1a6"/> - <use fill="url(#GR1a6_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1a6"/> - <use fill="url(#GR1a6_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1a6"/> - <use fill="url(#GR1a6_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1a6"/> + <path d="M 445.401114,215.180415 L 448.206923,198.428909 444.360842,221.051367 Z" fill="#0011de" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 445.401114,215.180415 L 448.206923,198.428909 444.360842,221.051367 Z" fill="url(#GR1a6_0)" shape-rendering="crispEdges"/> + <path d="M 445.401114,215.180415 L 448.206923,198.428909 444.360842,221.051367 Z" fill="url(#GR1a6_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 445.401114,215.180415 L 448.206923,198.428909 444.360842,221.051367 Z" fill="url(#GR1a6_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1a7_0" x1="444.360842" x2="444.4162" y1="221.051367" y2="221.060639"> - <stop offset="0" style="stop-color:#0000b2;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000b2;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1a7_0" x1="444.360842" x2="444.4162" y1="221.051367" y2="221.060639"> + <stop offset="1" style="stop-color:#0008db;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000b2;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1a7_1" x1="442.595304" x2="442.437865" y1="231.931921" y2="231.904025"> - <stop offset="0" style="stop-color:#0000f6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000f6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1a7_1" x1="442.595304" x2="442.437865" y1="231.931921" y2="231.904025"> + <stop offset="1" style="stop-color:#0008db;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000f6;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1a7_2" x1="445.401114" x2="445.315743" y1="215.180415" y2="215.166562"> - <stop offset="0" style="stop-color:#0017e9;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0017e9;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1a7_2" x1="445.401114" x2="445.315743" y1="215.180415" y2="215.166562"> + <stop offset="1" style="stop-color:#0008db;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0017e9;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1a7" points="445.401114 215.180415 444.360842 221.051367 442.595304 231.931921"/> </defs> - <use fill="#0008db" fill-opacity="1" xlink:href="#GT1a7"/> - <use fill="url(#GR1a7_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1a7"/> - <use fill="url(#GR1a7_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1a7"/> - <use fill="url(#GR1a7_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1a7"/> + <path d="M 445.401114,215.180415 L 444.360842,221.051367 442.595304,231.931921 Z" fill="#0008db" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 445.401114,215.180415 L 444.360842,221.051367 442.595304,231.931921 Z" fill="url(#GR1a7_0)" shape-rendering="crispEdges"/> + <path d="M 445.401114,215.180415 L 444.360842,221.051367 442.595304,231.931921 Z" fill="url(#GR1a7_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 445.401114,215.180415 L 444.360842,221.051367 442.595304,231.931921 Z" fill="url(#GR1a7_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1a8_0" x1="446.441385" x2="442.875709" y1="209.309464" y2="207.122989"> - <stop offset="0" style="stop-color:#0040ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0040ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1a8_0" x1="446.441385" x2="442.875709" y1="209.309464" y2="207.122989"> + <stop offset="1" style="stop-color:#0077ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0040ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1a8_1" x1="453.849243" x2="452.508815" y1="189.227483" y2="188.830349"> - <stop offset="0" style="stop-color:#00b8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00b8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1a8_1" x1="453.849243" x2="452.508815" y1="189.227483" y2="188.830349"> + <stop offset="1" style="stop-color:#0077ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00b8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1a8_2" x1="451.028083" x2="452.017495" y1="193.828196" y2="194.193171"> - <stop offset="0" style="stop-color:#006eff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#006eff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1a8_2" x1="451.028083" x2="452.017495" y1="193.828196" y2="194.193171"> + <stop offset="1" style="stop-color:#0077ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#006eff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1a8" points="451.028083 193.828196 446.441385 209.309464 453.849243 189.227483"/> </defs> - <use fill="#0077ff" fill-opacity="1" xlink:href="#GT1a8"/> - <use fill="url(#GR1a8_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1a8"/> - <use fill="url(#GR1a8_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1a8"/> - <use fill="url(#GR1a8_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1a8"/> + <path d="M 451.028083,193.828196 L 446.441385,209.309464 453.849243,189.227483 Z" fill="#0077ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 451.028083,193.828196 L 446.441385,209.309464 453.849243,189.227483 Z" fill="url(#GR1a8_0)" shape-rendering="crispEdges"/> + <path d="M 451.028083,193.828196 L 446.441385,209.309464 453.849243,189.227483 Z" fill="url(#GR1a8_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 451.028083,193.828196 L 446.441385,209.309464 453.849243,189.227483 Z" fill="url(#GR1a8_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1a9_0" x1="453.849243" x2="452.508815" y1="189.227483" y2="188.830349"> - <stop offset="0" style="stop-color:#00b8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00b8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1a9_0" x1="453.849243" x2="452.508815" y1="189.227483" y2="188.830349"> + <stop offset="1" style="stop-color:#0098ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00b8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1a9_1" x1="455.614781" x2="459.180457" y1="178.346928" y2="180.533403"> - <stop offset="0" style="stop-color:#00a0ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a0ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1a9_1" x1="455.614781" x2="459.180457" y1="178.346928" y2="180.533403"> + <stop offset="1" style="stop-color:#0098ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a0ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1a9_2" x1="451.028083" x2="453.049482" y1="193.828196" y2="194.156199"> - <stop offset="0" style="stop-color:#006eff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#006eff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1a9_2" x1="451.028083" x2="453.049482" y1="193.828196" y2="194.156199"> + <stop offset="1" style="stop-color:#0098ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#006eff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1a9" points="451.028083 193.828196 453.849243 189.227483 455.614781 178.346928"/> </defs> - <use fill="#0098ff" fill-opacity="1" xlink:href="#GT1a9"/> - <use fill="url(#GR1a9_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1a9"/> - <use fill="url(#GR1a9_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1a9"/> - <use fill="url(#GR1a9_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1a9"/> + <path d="M 451.028083,193.828196 L 453.849243,189.227483 455.614781,178.346928 Z" fill="#0098ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 451.028083,193.828196 L 453.849243,189.227483 455.614781,178.346928 Z" fill="url(#GR1a9_0)" shape-rendering="crispEdges"/> + <path d="M 451.028083,193.828196 L 453.849243,189.227483 455.614781,178.346928 Z" fill="url(#GR1a9_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 451.028083,193.828196 L 453.849243,189.227483 455.614781,178.346928 Z" fill="url(#GR1a9_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1aa_0" x1="455.614781" x2="459.180457" y1="178.346928" y2="180.533403"> - <stop offset="0" style="stop-color:#00a0ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a0ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1aa_0" x1="455.614781" x2="459.180457" y1="178.346928" y2="180.533403"> + <stop offset="1" style="stop-color:#0064ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a0ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1aa_1" x1="448.206923" x2="449.54735" y1="198.428909" y2="198.826043"> - <stop offset="0" style="stop-color:#001cff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#001cff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1aa_1" x1="448.206923" x2="449.54735" y1="198.428909" y2="198.826043"> + <stop offset="1" style="stop-color:#0064ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#001cff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1aa_2" x1="451.028083" x2="450.03867" y1="193.828196" y2="193.46322"> - <stop offset="0" style="stop-color:#006eff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#006eff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1aa_2" x1="451.028083" x2="450.03867" y1="193.828196" y2="193.46322"> + <stop offset="1" style="stop-color:#0064ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#006eff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1aa" points="451.028083 193.828196 455.614781 178.346928 448.206923 198.428909"/> </defs> - <use fill="#0064ff" fill-opacity="1" xlink:href="#GT1aa"/> - <use fill="url(#GR1aa_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1aa"/> - <use fill="url(#GR1aa_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1aa"/> - <use fill="url(#GR1aa_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1aa"/> + <path d="M 451.028083,193.828196 L 455.614781,178.346928 448.206923,198.428909 Z" fill="#0064ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 451.028083,193.828196 L 455.614781,178.346928 448.206923,198.428909 Z" fill="url(#GR1aa_0)" shape-rendering="crispEdges"/> + <path d="M 451.028083,193.828196 L 455.614781,178.346928 448.206923,198.428909 Z" fill="url(#GR1aa_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 451.028083,193.828196 L 455.614781,178.346928 448.206923,198.428909 Z" fill="url(#GR1aa_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1ab_0" x1="448.206923" x2="449.54735" y1="198.428909" y2="198.826043"> - <stop offset="0" style="stop-color:#001cff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#001cff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ab_0" x1="448.206923" x2="449.54735" y1="198.428909" y2="198.826043"> + <stop offset="1" style="stop-color:#0044ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#001cff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1ab_1" x1="446.441385" x2="442.875709" y1="209.309464" y2="207.122989"> - <stop offset="0" style="stop-color:#0040ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0040ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ab_1" x1="446.441385" x2="442.875709" y1="209.309464" y2="207.122989"> + <stop offset="1" style="stop-color:#0044ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0040ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1ab_2" x1="451.028083" x2="449.006684" y1="193.828196" y2="193.500192"> - <stop offset="0" style="stop-color:#006eff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#006eff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ab_2" x1="451.028083" x2="449.006684" y1="193.828196" y2="193.500192"> + <stop offset="1" style="stop-color:#0044ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#006eff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1ab" points="451.028083 193.828196 448.206923 198.428909 446.441385 209.309464"/> </defs> - <use fill="#0044ff" fill-opacity="1" xlink:href="#GT1ab"/> - <use fill="url(#GR1ab_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ab"/> - <use fill="url(#GR1ab_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ab"/> - <use fill="url(#GR1ab_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ab"/> + <path d="M 451.028083,193.828196 L 448.206923,198.428909 446.441385,209.309464 Z" fill="#0044ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 451.028083,193.828196 L 448.206923,198.428909 446.441385,209.309464 Z" fill="url(#GR1ab_0)" shape-rendering="crispEdges"/> + <path d="M 451.028083,193.828196 L 448.206923,198.428909 446.441385,209.309464 Z" fill="url(#GR1ab_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 451.028083,193.828196 L 448.206923,198.428909 446.441385,209.309464 Z" fill="url(#GR1ab_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1ac_0" x1="453.849243" x2="449.521645" y1="189.227483" y2="181.990548"> - <stop offset="0" style="stop-color:#00b8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00b8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ac_0" x1="453.849243" x2="449.521645" y1="189.227483" y2="181.990548"> + <stop offset="1" style="stop-color:#22dad9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00b8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1ac_1" x1="464.271287" x2="461.650522" y1="173.170444" y2="171.984711"> - <stop offset="0" style="stop-color:#46ffb1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#46ffb1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ac_1" x1="464.271287" x2="461.650522" y1="173.170444" y2="171.984711"> + <stop offset="1" style="stop-color:#22dad9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#46ffb1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1ac_2" x1="459.943034" x2="461.806362" y1="175.758686" y2="176.968105"> - <stop offset="0" style="stop-color:#1fd6dc;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#1fd6dc;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ac_2" x1="459.943034" x2="461.806362" y1="175.758686" y2="176.968105"> + <stop offset="1" style="stop-color:#22dad9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#1fd6dc;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1ac" points="459.943034 175.758686 453.849243 189.227483 464.271287 173.170444"/> </defs> - <use fill="#22dad9" fill-opacity="1" xlink:href="#GT1ac"/> - <use fill="url(#GR1ac_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ac"/> - <use fill="url(#GR1ac_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ac"/> - <use fill="url(#GR1ac_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ac"/> + <path d="M 459.943034,175.758686 L 453.849243,189.227483 464.271287,173.170444 Z" fill="#22dad9" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 459.943034,175.758686 L 453.849243,189.227483 464.271287,173.170444 Z" fill="url(#GR1ac_0)" shape-rendering="crispEdges"/> + <path d="M 459.943034,175.758686 L 453.849243,189.227483 464.271287,173.170444 Z" fill="url(#GR1ac_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 459.943034,175.758686 L 453.849243,189.227483 464.271287,173.170444 Z" fill="url(#GR1ac_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1ad_0" x1="464.271287" x2="461.650522" y1="173.170444" y2="171.984711"> - <stop offset="0" style="stop-color:#46ffb1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#46ffb1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ad_0" x1="464.271287" x2="461.650522" y1="173.170444" y2="171.984711"> + <stop offset="1" style="stop-color:#34f1c4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#46ffb1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1ad_1" x1="466.036825" x2="470.364423" y1="162.289889" y2="169.526824"> - <stop offset="0" style="stop-color:#36ffc1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#36ffc1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ad_1" x1="466.036825" x2="470.364423" y1="162.289889" y2="169.526824"> + <stop offset="1" style="stop-color:#34f1c4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#36ffc1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1ad_2" x1="459.943034" x2="463.75104" y1="175.758686" y2="176.376594"> - <stop offset="0" style="stop-color:#1fd6dc;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#1fd6dc;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ad_2" x1="459.943034" x2="463.75104" y1="175.758686" y2="176.376594"> + <stop offset="1" style="stop-color:#34f1c4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#1fd6dc;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1ad" points="459.943034 175.758686 464.271287 173.170444 466.036825 162.289889"/> </defs> - <use fill="#34f1c4" fill-opacity="1" xlink:href="#GT1ad"/> - <use fill="url(#GR1ad_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ad"/> - <use fill="url(#GR1ad_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ad"/> - <use fill="url(#GR1ad_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ad"/> + <path d="M 459.943034,175.758686 L 464.271287,173.170444 466.036825,162.289889 Z" fill="#34f1c4" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 459.943034,175.758686 L 464.271287,173.170444 466.036825,162.289889 Z" fill="url(#GR1ad_0)" shape-rendering="crispEdges"/> + <path d="M 459.943034,175.758686 L 464.271287,173.170444 466.036825,162.289889 Z" fill="url(#GR1ad_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 459.943034,175.758686 L 464.271287,173.170444 466.036825,162.289889 Z" fill="url(#GR1ad_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1ae_0" x1="466.036825" x2="470.364423" y1="162.289889" y2="169.526824"> - <stop offset="0" style="stop-color:#36ffc1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#36ffc1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ae_0" x1="466.036825" x2="470.364423" y1="162.289889" y2="169.526824"> + <stop offset="1" style="stop-color:#1cd2df;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#36ffc1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1ae_1" x1="455.614781" x2="458.235546" y1="178.346928" y2="179.532661"> - <stop offset="0" style="stop-color:#00a0ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a0ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ae_1" x1="455.614781" x2="458.235546" y1="178.346928" y2="179.532661"> + <stop offset="1" style="stop-color:#1cd2df;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a0ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1ae_2" x1="459.943034" x2="458.079706" y1="175.758686" y2="174.549267"> - <stop offset="0" style="stop-color:#1fd6dc;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#1fd6dc;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ae_2" x1="459.943034" x2="458.079706" y1="175.758686" y2="174.549267"> + <stop offset="1" style="stop-color:#1cd2df;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#1fd6dc;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1ae" points="459.943034 175.758686 466.036825 162.289889 455.614781 178.346928"/> </defs> - <use fill="#1cd2df" fill-opacity="1" xlink:href="#GT1ae"/> - <use fill="url(#GR1ae_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ae"/> - <use fill="url(#GR1ae_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ae"/> - <use fill="url(#GR1ae_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ae"/> + <path d="M 459.943034,175.758686 L 466.036825,162.289889 455.614781,178.346928 Z" fill="#1cd2df" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 459.943034,175.758686 L 466.036825,162.289889 455.614781,178.346928 Z" fill="url(#GR1ae_0)" shape-rendering="crispEdges"/> + <path d="M 459.943034,175.758686 L 466.036825,162.289889 455.614781,178.346928 Z" fill="url(#GR1ae_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 459.943034,175.758686 L 466.036825,162.289889 455.614781,178.346928 Z" fill="url(#GR1ae_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1af_0" x1="455.614781" x2="458.235546" y1="178.346928" y2="179.532661"> - <stop offset="0" style="stop-color:#00a0ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a0ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1af_0" x1="455.614781" x2="458.235546" y1="178.346928" y2="179.532661"> + <stop offset="1" style="stop-color:#0abaf3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a0ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1af_1" x1="453.849243" x2="449.521645" y1="189.227483" y2="181.990548"> - <stop offset="0" style="stop-color:#00b8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00b8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1af_1" x1="453.849243" x2="449.521645" y1="189.227483" y2="181.990548"> + <stop offset="1" style="stop-color:#0abaf3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00b8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1af_2" x1="459.943034" x2="456.135028" y1="175.758686" y2="175.140778"> - <stop offset="0" style="stop-color:#1fd6dc;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#1fd6dc;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1af_2" x1="459.943034" x2="456.135028" y1="175.758686" y2="175.140778"> + <stop offset="1" style="stop-color:#0abaf3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#1fd6dc;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1af" points="459.943034 175.758686 455.614781 178.346928 453.849243 189.227483"/> </defs> - <use fill="#0abaf3" fill-opacity="1" xlink:href="#GT1af"/> - <use fill="url(#GR1af_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1af"/> - <use fill="url(#GR1af_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1af"/> - <use fill="url(#GR1af_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1af"/> + <path d="M 459.943034,175.758686 L 455.614781,178.346928 453.849243,189.227483 Z" fill="#0abaf3" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 459.943034,175.758686 L 455.614781,178.346928 453.849243,189.227483 Z" fill="url(#GR1af_0)" shape-rendering="crispEdges"/> + <path d="M 459.943034,175.758686 L 455.614781,178.346928 453.849243,189.227483 Z" fill="url(#GR1af_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 459.943034,175.758686 L 455.614781,178.346928 453.849243,189.227483 Z" fill="url(#GR1af_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1b0_0" x1="464.271287" x2="464.30664" y1="173.170444" y2="162.284271"> - <stop offset="0" style="stop-color:#46ffb1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#46ffb1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1b0_0" x1="464.271287" x2="464.30664" y1="173.170444" y2="162.284271"> + <stop offset="1" style="stop-color:#7bff7c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#46ffb1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1b0_1" x1="476.937117" x2="473.147372" y1="162.325288" y2="159.807938"> - <stop offset="0" style="stop-color:#b4ff43;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b4ff43;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1b0_1" x1="476.937117" x2="473.147372" y1="162.325288" y2="159.807938"> + <stop offset="1" style="stop-color:#7bff7c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b4ff43;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1b0_2" x1="471.486971" x2="473.801249" y1="162.307589" y2="165.010385"> - <stop offset="0" style="stop-color:#76ff81;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#76ff81;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1b0_2" x1="471.486971" x2="473.801249" y1="162.307589" y2="165.010385"> + <stop offset="1" style="stop-color:#7bff7c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#76ff81;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1b0" points="471.486971 162.307589 464.271287 173.170444 476.937117 162.325288"/> </defs> - <use fill="#7bff7c" fill-opacity="1" xlink:href="#GT1b0"/> - <use fill="url(#GR1b0_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1b0"/> - <use fill="url(#GR1b0_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1b0"/> - <use fill="url(#GR1b0_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1b0"/> + <path d="M 471.486971,162.307589 L 464.271287,173.170444 476.937117,162.325288 Z" fill="#7bff7c" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 471.486971,162.307589 L 464.271287,173.170444 476.937117,162.325288 Z" fill="url(#GR1b0_0)" shape-rendering="crispEdges"/> + <path d="M 471.486971,162.307589 L 464.271287,173.170444 476.937117,162.325288 Z" fill="url(#GR1b0_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 471.486971,162.307589 L 464.271287,173.170444 476.937117,162.325288 Z" fill="url(#GR1b0_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1b1_0" x1="476.937117" x2="473.147372" y1="162.325288" y2="159.807938"> - <stop offset="0" style="stop-color:#b4ff43;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b4ff43;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1b1_0" x1="476.937117" x2="473.147372" y1="162.325288" y2="159.807938"> + <stop offset="1" style="stop-color:#9bff5c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b4ff43;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1b1_1" x1="478.702656" x2="478.667302" y1="151.444734" y2="162.330907"> - <stop offset="0" style="stop-color:#a7ff50;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a7ff50;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1b1_1" x1="478.702656" x2="478.667302" y1="151.444734" y2="162.330907"> + <stop offset="1" style="stop-color:#9bff5c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a7ff50;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1b1_2" x1="471.486971" x2="476.800094" y1="162.307589" y2="163.169725"> - <stop offset="0" style="stop-color:#76ff81;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#76ff81;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1b1_2" x1="471.486971" x2="476.800094" y1="162.307589" y2="163.169725"> + <stop offset="1" style="stop-color:#9bff5c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#76ff81;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1b1" points="471.486971 162.307589 476.937117 162.325288 478.702656 151.444734"/> </defs> - <use fill="#9bff5c" fill-opacity="1" xlink:href="#GT1b1"/> - <use fill="url(#GR1b1_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1b1"/> - <use fill="url(#GR1b1_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1b1"/> - <use fill="url(#GR1b1_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1b1"/> + <path d="M 471.486971,162.307589 L 476.937117,162.325288 478.702656,151.444734 Z" fill="#9bff5c" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 471.486971,162.307589 L 476.937117,162.325288 478.702656,151.444734 Z" fill="url(#GR1b1_0)" shape-rendering="crispEdges"/> + <path d="M 471.486971,162.307589 L 476.937117,162.325288 478.702656,151.444734 Z" fill="url(#GR1b1_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 471.486971,162.307589 L 476.937117,162.325288 478.702656,151.444734 Z" fill="url(#GR1b1_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1b2_0" x1="478.702656" x2="478.667302" y1="151.444734" y2="162.330907"> - <stop offset="0" style="stop-color:#a7ff50;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a7ff50;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1b2_0" x1="478.702656" x2="478.667302" y1="151.444734" y2="162.330907"> + <stop offset="1" style="stop-color:#71ff86;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a7ff50;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1b2_1" x1="466.036825" x2="469.826571" y1="162.289889" y2="164.807239"> - <stop offset="0" style="stop-color:#36ffc1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#36ffc1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1b2_1" x1="466.036825" x2="469.826571" y1="162.289889" y2="164.807239"> + <stop offset="1" style="stop-color:#71ff86;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#36ffc1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1b2_2" x1="471.486971" x2="469.172694" y1="162.307589" y2="159.604792"> - <stop offset="0" style="stop-color:#76ff81;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#76ff81;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1b2_2" x1="471.486971" x2="469.172694" y1="162.307589" y2="159.604792"> + <stop offset="1" style="stop-color:#71ff86;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#76ff81;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1b2" points="471.486971 162.307589 478.702656 151.444734 466.036825 162.289889"/> </defs> - <use fill="#71ff86" fill-opacity="1" xlink:href="#GT1b2"/> - <use fill="url(#GR1b2_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1b2"/> - <use fill="url(#GR1b2_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1b2"/> - <use fill="url(#GR1b2_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1b2"/> + <path d="M 471.486971,162.307589 L 478.702656,151.444734 466.036825,162.289889 Z" fill="#71ff86" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 471.486971,162.307589 L 478.702656,151.444734 466.036825,162.289889 Z" fill="url(#GR1b2_0)" shape-rendering="crispEdges"/> + <path d="M 471.486971,162.307589 L 478.702656,151.444734 466.036825,162.289889 Z" fill="url(#GR1b2_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 471.486971,162.307589 L 478.702656,151.444734 466.036825,162.289889 Z" fill="url(#GR1b2_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1b3_0" x1="466.036825" x2="469.826571" y1="162.289889" y2="164.807239"> - <stop offset="0" style="stop-color:#36ffc1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#36ffc1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1b3_0" x1="466.036825" x2="469.826571" y1="162.289889" y2="164.807239"> + <stop offset="1" style="stop-color:#51ffa6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#36ffc1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1b3_1" x1="464.271287" x2="464.30664" y1="173.170444" y2="162.284271"> - <stop offset="0" style="stop-color:#46ffb1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#46ffb1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1b3_1" x1="464.271287" x2="464.30664" y1="173.170444" y2="162.284271"> + <stop offset="1" style="stop-color:#51ffa6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#46ffb1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1b3_2" x1="471.486971" x2="466.173848" y1="162.307589" y2="161.445452"> - <stop offset="0" style="stop-color:#76ff81;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#76ff81;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1b3_2" x1="471.486971" x2="466.173848" y1="162.307589" y2="161.445452"> + <stop offset="1" style="stop-color:#51ffa6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#76ff81;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1b3" points="471.486971 162.307589 466.036825 162.289889 464.271287 173.170444"/> </defs> - <use fill="#51ffa6" fill-opacity="1" xlink:href="#GT1b3"/> - <use fill="url(#GR1b3_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1b3"/> - <use fill="url(#GR1b3_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1b3"/> - <use fill="url(#GR1b3_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1b3"/> + <path d="M 471.486971,162.307589 L 466.036825,162.289889 464.271287,173.170444 Z" fill="#51ffa6" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 471.486971,162.307589 L 466.036825,162.289889 464.271287,173.170444 Z" fill="url(#GR1b3_0)" shape-rendering="crispEdges"/> + <path d="M 471.486971,162.307589 L 466.036825,162.289889 464.271287,173.170444 Z" fill="url(#GR1b3_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 471.486971,162.307589 L 466.036825,162.289889 464.271287,173.170444 Z" fill="url(#GR1b3_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1b4_0" x1="476.937117" x2="481.613702" y1="162.325288" y2="152.887154"> - <stop offset="0" style="stop-color:#b4ff43;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b4ff43;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1b4_0" x1="476.937117" x2="481.613702" y1="162.325288" y2="152.887154"> + <stop offset="1" style="stop-color:#d8e323;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b4ff43;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1b4_1" x1="490.910472" x2="486.351471" y1="157.493693" y2="152.926932"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1b4_1" x1="490.910472" x2="486.351471" y1="157.493693" y2="152.926932"> + <stop offset="1" style="stop-color:#d8e323;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1b4_2" x1="484.806564" x2="486.392505" y1="154.469213" y2="159.05588"> - <stop offset="0" style="stop-color:#d6e525;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d6e525;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1b4_2" x1="484.806564" x2="486.392505" y1="154.469213" y2="159.05588"> + <stop offset="1" style="stop-color:#d8e323;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d6e525;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1b4" points="484.806564 154.469213 476.937117 162.325288 490.910472 157.493693"/> </defs> - <use fill="#d8e323" fill-opacity="1" xlink:href="#GT1b4"/> - <use fill="url(#GR1b4_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1b4"/> - <use fill="url(#GR1b4_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1b4"/> - <use fill="url(#GR1b4_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1b4"/> + <path d="M 484.806564,154.469213 L 476.937117,162.325288 490.910472,157.493693 Z" fill="#d8e323" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 484.806564,154.469213 L 476.937117,162.325288 490.910472,157.493693 Z" fill="url(#GR1b4_0)" shape-rendering="crispEdges"/> + <path d="M 484.806564,154.469213 L 476.937117,162.325288 490.910472,157.493693 Z" fill="url(#GR1b4_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 484.806564,154.469213 L 476.937117,162.325288 490.910472,157.493693 Z" fill="url(#GR1b4_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1b5_0" x1="490.910472" x2="486.351471" y1="157.493693" y2="152.926932"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1b5_0" x1="490.910472" x2="486.351471" y1="157.493693" y2="152.926932"> + <stop offset="1" style="stop-color:#f1d30c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1b5_1" x1="492.67601" x2="487.999426" y1="146.613138" y2="156.051273"> - <stop offset="0" style="stop-color:#ffd000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1b5_1" x1="492.67601" x2="487.999426" y1="146.613138" y2="156.051273"> + <stop offset="1" style="stop-color:#f1d30c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1b5_2" x1="484.806564" x2="491.232057" y1="154.469213" y2="155.511849"> - <stop offset="0" style="stop-color:#d6e525;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d6e525;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1b5_2" x1="484.806564" x2="491.232057" y1="154.469213" y2="155.511849"> + <stop offset="1" style="stop-color:#f1d30c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d6e525;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1b5" points="484.806564 154.469213 490.910472 157.493693 492.67601 146.613138"/> </defs> - <use fill="#f1d30c" fill-opacity="1" xlink:href="#GT1b5"/> - <use fill="url(#GR1b5_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1b5"/> - <use fill="url(#GR1b5_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1b5"/> - <use fill="url(#GR1b5_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1b5"/> + <path d="M 484.806564,154.469213 L 490.910472,157.493693 492.67601,146.613138 Z" fill="#f1d30c" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 484.806564,154.469213 L 490.910472,157.493693 492.67601,146.613138 Z" fill="url(#GR1b5_0)" shape-rendering="crispEdges"/> + <path d="M 484.806564,154.469213 L 490.910472,157.493693 492.67601,146.613138 Z" fill="url(#GR1b5_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 484.806564,154.469213 L 490.910472,157.493693 492.67601,146.613138 Z" fill="url(#GR1b5_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1b6_0" x1="492.67601" x2="487.999426" y1="146.613138" y2="156.051273"> - <stop offset="0" style="stop-color:#ffd000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1b6_0" x1="492.67601" x2="487.999426" y1="146.613138" y2="156.051273"> + <stop offset="1" style="stop-color:#d4e627;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1b6_1" x1="478.702656" x2="483.261657" y1="151.444734" y2="156.011495"> - <stop offset="0" style="stop-color:#a7ff50;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a7ff50;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1b6_1" x1="478.702656" x2="483.261657" y1="151.444734" y2="156.011495"> + <stop offset="1" style="stop-color:#d4e627;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a7ff50;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1b6_2" x1="484.806564" x2="483.220623" y1="154.469213" y2="149.882547"> - <stop offset="0" style="stop-color:#d6e525;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d6e525;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1b6_2" x1="484.806564" x2="483.220623" y1="154.469213" y2="149.882547"> + <stop offset="1" style="stop-color:#d4e627;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d6e525;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1b6" points="484.806564 154.469213 492.67601 146.613138 478.702656 151.444734"/> </defs> - <use fill="#d4e627" fill-opacity="1" xlink:href="#GT1b6"/> - <use fill="url(#GR1b6_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1b6"/> - <use fill="url(#GR1b6_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1b6"/> - <use fill="url(#GR1b6_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1b6"/> + <path d="M 484.806564,154.469213 L 492.67601,146.613138 478.702656,151.444734 Z" fill="#d4e627" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 484.806564,154.469213 L 492.67601,146.613138 478.702656,151.444734 Z" fill="url(#GR1b6_0)" shape-rendering="crispEdges"/> + <path d="M 484.806564,154.469213 L 492.67601,146.613138 478.702656,151.444734 Z" fill="url(#GR1b6_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 484.806564,154.469213 L 492.67601,146.613138 478.702656,151.444734 Z" fill="url(#GR1b6_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1b7_0" x1="478.702656" x2="483.261657" y1="151.444734" y2="156.011495"> - <stop offset="0" style="stop-color:#a7ff50;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a7ff50;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1b7_0" x1="478.702656" x2="483.261657" y1="151.444734" y2="156.011495"> + <stop offset="1" style="stop-color:#bbf63d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a7ff50;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1b7_1" x1="476.937117" x2="481.613702" y1="162.325288" y2="152.887154"> - <stop offset="0" style="stop-color:#b4ff43;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b4ff43;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1b7_1" x1="476.937117" x2="481.613702" y1="162.325288" y2="152.887154"> + <stop offset="1" style="stop-color:#bbf63d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b4ff43;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1b7_2" x1="484.806564" x2="478.381071" y1="154.469213" y2="153.426578"> - <stop offset="0" style="stop-color:#d6e525;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d6e525;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1b7_2" x1="484.806564" x2="478.381071" y1="154.469213" y2="153.426578"> + <stop offset="1" style="stop-color:#bbf63d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d6e525;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1b7" points="484.806564 154.469213 478.702656 151.444734 476.937117 162.325288"/> </defs> - <use fill="#bbf63d" fill-opacity="1" xlink:href="#GT1b7"/> - <use fill="url(#GR1b7_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1b7"/> - <use fill="url(#GR1b7_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1b7"/> - <use fill="url(#GR1b7_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1b7"/> + <path d="M 484.806564,154.469213 L 478.702656,151.444734 476.937117,162.325288 Z" fill="#bbf63d" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 484.806564,154.469213 L 478.702656,151.444734 476.937117,162.325288 Z" fill="url(#GR1b7_0)" shape-rendering="crispEdges"/> + <path d="M 484.806564,154.469213 L 478.702656,151.444734 476.937117,162.325288 Z" fill="url(#GR1b7_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 484.806564,154.469213 L 478.702656,151.444734 476.937117,162.325288 Z" fill="url(#GR1b7_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1b8_0" x1="492.67601" x2="488.785752" y1="318.980272" y2="309.851656"> - <stop offset="0" style="stop-color:#ffd000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1b8_0" x1="492.67601" x2="488.785752" y1="318.980272" y2="309.851656"> + <stop offset="1" style="stop-color:#d3e828;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1b8_1" x1="478.702656" x2="484.708084" y1="314.148676" y2="309.23734"> - <stop offset="0" style="stop-color:#a7ff50;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a7ff50;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1b8_1" x1="478.702656" x2="484.708084" y1="314.148676" y2="309.23734"> + <stop offset="1" style="stop-color:#d3e828;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a7ff50;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1b8_2" x1="486.134499" x2="484.362681" y1="310.981516" y2="316.105755"> - <stop offset="0" style="stop-color:#d2e829;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d2e829;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1b8_2" x1="486.134499" x2="484.362681" y1="310.981516" y2="316.105755"> + <stop offset="1" style="stop-color:#d3e828;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d2e829;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1b8" points="486.134499 310.981516 492.67601 318.980272 478.702656 314.148676"/> </defs> - <use fill="#d3e828" fill-opacity="1" xlink:href="#GT1b8"/> - <use fill="url(#GR1b8_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1b8"/> - <use fill="url(#GR1b8_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1b8"/> - <use fill="url(#GR1b8_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1b8"/> + <path d="M 486.134499,310.981516 L 492.67601,318.980272 478.702656,314.148676 Z" fill="#d3e828" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 486.134499,310.981516 L 492.67601,318.980272 478.702656,314.148676 Z" fill="url(#GR1b8_0)" shape-rendering="crispEdges"/> + <path d="M 486.134499,310.981516 L 492.67601,318.980272 478.702656,314.148676 Z" fill="url(#GR1b8_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 486.134499,310.981516 L 492.67601,318.980272 478.702656,314.148676 Z" fill="url(#GR1b8_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1b9_0" x1="478.702656" x2="484.708084" y1="314.148676" y2="309.23734"> - <stop offset="0" style="stop-color:#a7ff50;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a7ff50;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1b9_0" x1="478.702656" x2="484.708084" y1="314.148676" y2="309.23734"> + <stop offset="1" style="stop-color:#b4f744;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a7ff50;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1b9_1" x1="479.592988" x2="483.483246" y1="302.98276" y2="312.111376"> - <stop offset="0" style="stop-color:#a4ff53;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a4ff53;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1b9_1" x1="479.592988" x2="483.483246" y1="302.98276" y2="312.111376"> + <stop offset="1" style="stop-color:#b4f744;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a4ff53;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1b9_2" x1="486.134499" x2="479.000551" y1="310.981516" y2="310.412679"> - <stop offset="0" style="stop-color:#d2e829;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d2e829;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1b9_2" x1="486.134499" x2="479.000551" y1="310.981516" y2="310.412679"> + <stop offset="1" style="stop-color:#b4f744;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d2e829;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1b9" points="486.134499 310.981516 478.702656 314.148676 479.592988 302.98276"/> </defs> - <use fill="#b4f744" fill-opacity="1" xlink:href="#GT1b9"/> - <use fill="url(#GR1b9_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1b9"/> - <use fill="url(#GR1b9_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1b9"/> - <use fill="url(#GR1b9_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1b9"/> + <path d="M 486.134499,310.981516 L 478.702656,314.148676 479.592988,302.98276 Z" fill="#b4f744" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 486.134499,310.981516 L 478.702656,314.148676 479.592988,302.98276 Z" fill="url(#GR1b9_0)" shape-rendering="crispEdges"/> + <path d="M 486.134499,310.981516 L 478.702656,314.148676 479.592988,302.98276 Z" fill="url(#GR1b9_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 486.134499,310.981516 L 478.702656,314.148676 479.592988,302.98276 Z" fill="url(#GR1b9_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1ba_0" x1="479.592988" x2="483.483246" y1="302.98276" y2="312.111376"> - <stop offset="0" style="stop-color:#a4ff53;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a4ff53;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ba_0" x1="479.592988" x2="483.483246" y1="302.98276" y2="312.111376"> + <stop offset="1" style="stop-color:#d2e929;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a4ff53;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1ba_1" x1="493.566342" x2="487.560914" y1="307.814356" y2="312.725692"> - <stop offset="0" style="stop-color:#ffd300;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd300;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ba_1" x1="493.566342" x2="487.560914" y1="307.814356" y2="312.725692"> + <stop offset="1" style="stop-color:#d2e929;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd300;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1ba_2" x1="486.134499" x2="487.906318" y1="310.981516" y2="305.857277"> - <stop offset="0" style="stop-color:#d2e829;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d2e829;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ba_2" x1="486.134499" x2="487.906318" y1="310.981516" y2="305.857277"> + <stop offset="1" style="stop-color:#d2e929;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d2e829;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1ba" points="486.134499 310.981516 479.592988 302.98276 493.566342 307.814356"/> </defs> - <use fill="#d2e929" fill-opacity="1" xlink:href="#GT1ba"/> - <use fill="url(#GR1ba_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ba"/> - <use fill="url(#GR1ba_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ba"/> - <use fill="url(#GR1ba_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ba"/> + <path d="M 486.134499,310.981516 L 479.592988,302.98276 493.566342,307.814356 Z" fill="#d2e929" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 486.134499,310.981516 L 479.592988,302.98276 493.566342,307.814356 Z" fill="url(#GR1ba_0)" shape-rendering="crispEdges"/> + <path d="M 486.134499,310.981516 L 479.592988,302.98276 493.566342,307.814356 Z" fill="url(#GR1ba_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 486.134499,310.981516 L 479.592988,302.98276 493.566342,307.814356 Z" fill="url(#GR1ba_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1bb_0" x1="493.566342" x2="487.560914" y1="307.814356" y2="312.725692"> - <stop offset="0" style="stop-color:#ffd300;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd300;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1bb_0" x1="493.566342" x2="487.560914" y1="307.814356" y2="312.725692"> + <stop offset="1" style="stop-color:#f0d90e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd300;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1bb_1" x1="492.67601" x2="488.785752" y1="318.980272" y2="309.851656"> - <stop offset="0" style="stop-color:#ffd000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1bb_1" x1="492.67601" x2="488.785752" y1="318.980272" y2="309.851656"> + <stop offset="1" style="stop-color:#f0d90e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1bb_2" x1="486.134499" x2="493.268447" y1="310.981516" y2="311.550353"> - <stop offset="0" style="stop-color:#d2e829;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d2e829;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1bb_2" x1="486.134499" x2="493.268447" y1="310.981516" y2="311.550353"> + <stop offset="1" style="stop-color:#f0d90e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d2e829;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1bb" points="486.134499 310.981516 493.566342 307.814356 492.67601 318.980272"/> </defs> - <use fill="#f0d90e" fill-opacity="1" xlink:href="#GT1bb"/> - <use fill="url(#GR1bb_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1bb"/> - <use fill="url(#GR1bb_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1bb"/> - <use fill="url(#GR1bb_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1bb"/> + <path d="M 486.134499,310.981516 L 493.566342,307.814356 492.67601,318.980272 Z" fill="#f0d90e" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 486.134499,310.981516 L 493.566342,307.814356 492.67601,318.980272 Z" fill="url(#GR1bb_0)" shape-rendering="crispEdges"/> + <path d="M 486.134499,310.981516 L 493.566342,307.814356 492.67601,318.980272 Z" fill="url(#GR1bb_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 486.134499,310.981516 L 493.566342,307.814356 492.67601,318.980272 Z" fill="url(#GR1bb_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1bc_0" x1="478.702656" x2="478.439098" y1="314.148676" y2="303.010063"> - <stop offset="0" style="stop-color:#a7ff50;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a7ff50;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1bc_0" x1="478.702656" x2="478.439098" y1="314.148676" y2="303.010063"> + <stop offset="1" style="stop-color:#6eff89;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a7ff50;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1bc_1" x1="466.036825" x2="471.373366" y1="303.303521" y2="300.448574"> - <stop offset="0" style="stop-color:#36ffc1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#36ffc1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1bc_1" x1="466.036825" x2="471.373366" y1="303.303521" y2="300.448574"> + <stop offset="1" style="stop-color:#6eff89;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#36ffc1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1bc_2" x1="472.814907" x2="469.868393" y1="303.14314" y2="306.584312"> - <stop offset="0" style="stop-color:#6cff8b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#6cff8b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1bc_2" x1="472.814907" x2="469.868393" y1="303.14314" y2="306.584312"> + <stop offset="1" style="stop-color:#6eff89;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#6cff8b;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1bc" points="472.814907 303.14314 478.702656 314.148676 466.036825 303.303521"/> </defs> - <use fill="#6eff89" fill-opacity="1" xlink:href="#GT1bc"/> - <use fill="url(#GR1bc_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1bc"/> - <use fill="url(#GR1bc_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1bc"/> - <use fill="url(#GR1bc_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1bc"/> + <path d="M 472.814907,303.14314 L 478.702656,314.148676 466.036825,303.303521 Z" fill="#6eff89" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 472.814907,303.14314 L 478.702656,314.148676 466.036825,303.303521 Z" fill="url(#GR1bc_0)" shape-rendering="crispEdges"/> + <path d="M 472.814907,303.14314 L 478.702656,314.148676 466.036825,303.303521 Z" fill="url(#GR1bc_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 472.814907,303.14314 L 478.702656,314.148676 466.036825,303.303521 Z" fill="url(#GR1bc_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1bd_0" x1="466.036825" x2="471.373366" y1="303.303521" y2="300.448574"> - <stop offset="0" style="stop-color:#36ffc1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#36ffc1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1bd_0" x1="466.036825" x2="471.373366" y1="303.303521" y2="300.448574"> + <stop offset="1" style="stop-color:#46ffb1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#36ffc1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1bd_1" x1="466.927157" x2="467.190715" y1="292.137605" y2="303.276218"> - <stop offset="0" style="stop-color:#30ffc7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#30ffc7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1bd_1" x1="466.927157" x2="467.190715" y1="292.137605" y2="303.276218"> + <stop offset="1" style="stop-color:#46ffb1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#30ffc7;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1bd_2" x1="472.814907" x2="466.092355" y1="303.14314" y2="302.607107"> - <stop offset="0" style="stop-color:#6cff8b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#6cff8b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1bd_2" x1="472.814907" x2="466.092355" y1="303.14314" y2="302.607107"> + <stop offset="1" style="stop-color:#46ffb1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#6cff8b;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1bd" points="472.814907 303.14314 466.036825 303.303521 466.927157 292.137605"/> </defs> - <use fill="#46ffb1" fill-opacity="1" xlink:href="#GT1bd"/> - <use fill="url(#GR1bd_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1bd"/> - <use fill="url(#GR1bd_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1bd"/> - <use fill="url(#GR1bd_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1bd"/> + <path d="M 472.814907,303.14314 L 466.036825,303.303521 466.927157,292.137605 Z" fill="#46ffb1" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 472.814907,303.14314 L 466.036825,303.303521 466.927157,292.137605 Z" fill="url(#GR1bd_0)" shape-rendering="crispEdges"/> + <path d="M 472.814907,303.14314 L 466.036825,303.303521 466.927157,292.137605 Z" fill="url(#GR1bd_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 472.814907,303.14314 L 466.036825,303.303521 466.927157,292.137605 Z" fill="url(#GR1bd_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1be_0" x1="466.927157" x2="467.190715" y1="292.137605" y2="303.276218"> - <stop offset="0" style="stop-color:#30ffc7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#30ffc7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1be_0" x1="466.927157" x2="467.190715" y1="292.137605" y2="303.276218"> + <stop offset="1" style="stop-color:#6aff8c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#30ffc7;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1be_1" x1="479.592988" x2="474.256447" y1="302.98276" y2="305.837706"> - <stop offset="0" style="stop-color:#a4ff53;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a4ff53;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1be_1" x1="479.592988" x2="474.256447" y1="302.98276" y2="305.837706"> + <stop offset="1" style="stop-color:#6aff8c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a4ff53;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1be_2" x1="472.814907" x2="475.76142" y1="303.14314" y2="299.701969"> - <stop offset="0" style="stop-color:#6cff8b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#6cff8b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1be_2" x1="472.814907" x2="475.76142" y1="303.14314" y2="299.701969"> + <stop offset="1" style="stop-color:#6aff8c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#6cff8b;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1be" points="472.814907 303.14314 466.927157 292.137605 479.592988 302.98276"/> </defs> - <use fill="#6aff8c" fill-opacity="1" xlink:href="#GT1be"/> - <use fill="url(#GR1be_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1be"/> - <use fill="url(#GR1be_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1be"/> - <use fill="url(#GR1be_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1be"/> + <path d="M 472.814907,303.14314 L 466.927157,292.137605 479.592988,302.98276 Z" fill="#6aff8c" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 472.814907,303.14314 L 466.927157,292.137605 479.592988,302.98276 Z" fill="url(#GR1be_0)" shape-rendering="crispEdges"/> + <path d="M 472.814907,303.14314 L 466.927157,292.137605 479.592988,302.98276 Z" fill="url(#GR1be_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 472.814907,303.14314 L 466.927157,292.137605 479.592988,302.98276 Z" fill="url(#GR1be_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1bf_0" x1="479.592988" x2="474.256447" y1="302.98276" y2="305.837706"> - <stop offset="0" style="stop-color:#a4ff53;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a4ff53;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1bf_0" x1="479.592988" x2="474.256447" y1="302.98276" y2="305.837706"> + <stop offset="1" style="stop-color:#92ff65;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a4ff53;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1bf_1" x1="478.702656" x2="478.439098" y1="314.148676" y2="303.010063"> - <stop offset="0" style="stop-color:#a7ff50;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a7ff50;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1bf_1" x1="478.702656" x2="478.439098" y1="314.148676" y2="303.010063"> + <stop offset="1" style="stop-color:#92ff65;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a7ff50;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1bf_2" x1="472.814907" x2="479.537458" y1="303.14314" y2="303.679174"> - <stop offset="0" style="stop-color:#6cff8b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#6cff8b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1bf_2" x1="472.814907" x2="479.537458" y1="303.14314" y2="303.679174"> + <stop offset="1" style="stop-color:#92ff65;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#6cff8b;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1bf" points="472.814907 303.14314 479.592988 302.98276 478.702656 314.148676"/> </defs> - <use fill="#92ff65" fill-opacity="1" xlink:href="#GT1bf"/> - <use fill="url(#GR1bf_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1bf"/> - <use fill="url(#GR1bf_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1bf"/> - <use fill="url(#GR1bf_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1bf"/> + <path d="M 472.814907,303.14314 L 479.592988,302.98276 478.702656,314.148676 Z" fill="#92ff65" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 472.814907,303.14314 L 479.592988,302.98276 478.702656,314.148676 Z" fill="url(#GR1bf_0)" shape-rendering="crispEdges"/> + <path d="M 472.814907,303.14314 L 479.592988,302.98276 478.702656,314.148676 Z" fill="url(#GR1bf_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 472.814907,303.14314 L 479.592988,302.98276 478.702656,314.148676 Z" fill="url(#GR1bf_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1c0_0" x1="466.036825" x2="470.244474" y1="303.303521" y2="293.57191"> - <stop offset="0" style="stop-color:#36ffc1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#36ffc1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1c0_0" x1="466.036825" x2="470.244474" y1="303.303521" y2="293.57191"> + <stop offset="1" style="stop-color:#1acfe0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#36ffc1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1c0_1" x1="455.614781" x2="459.890511" y1="287.246482" y2="285.749399"> - <stop offset="0" style="stop-color:#00a0ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a0ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1c0_1" x1="455.614781" x2="459.890511" y1="287.246482" y2="285.749399"> + <stop offset="1" style="stop-color:#1acfe0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a0ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1c0_2" x1="461.270969" x2="458.408162" y1="289.692043" y2="291.550188"> - <stop offset="0" style="stop-color:#19cde1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19cde1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1c0_2" x1="461.270969" x2="458.408162" y1="289.692043" y2="291.550188"> + <stop offset="1" style="stop-color:#1acfe0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19cde1;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1c0" points="461.270969 289.692043 466.036825 303.303521 455.614781 287.246482"/> </defs> - <use fill="#1acfe0" fill-opacity="1" xlink:href="#GT1c0"/> - <use fill="url(#GR1c0_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1c0"/> - <use fill="url(#GR1c0_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1c0"/> - <use fill="url(#GR1c0_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1c0"/> + <path d="M 461.270969,289.692043 L 466.036825,303.303521 455.614781,287.246482 Z" fill="#1acfe0" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 461.270969,289.692043 L 466.036825,303.303521 455.614781,287.246482 Z" fill="url(#GR1c0_0)" shape-rendering="crispEdges"/> + <path d="M 461.270969,289.692043 L 466.036825,303.303521 455.614781,287.246482 Z" fill="url(#GR1c0_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 461.270969,289.692043 L 466.036825,303.303521 455.614781,287.246482 Z" fill="url(#GR1c0_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1c1_0" x1="455.614781" x2="459.890511" y1="287.246482" y2="285.749399"> - <stop offset="0" style="stop-color:#00a0ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a0ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1c1_0" x1="455.614781" x2="459.890511" y1="287.246482" y2="285.749399"> + <stop offset="1" style="stop-color:#08abf5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a0ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1c1_1" x1="456.505113" x2="452.297465" y1="276.080566" y2="285.812177"> - <stop offset="0" style="stop-color:#0094ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0094ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1c1_1" x1="456.505113" x2="452.297465" y1="276.080566" y2="285.812177"> + <stop offset="1" style="stop-color:#08abf5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0094ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1c1_2" x1="461.270969" x2="455.456747" y1="289.692043" y2="289.228437"> - <stop offset="0" style="stop-color:#19cde1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19cde1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1c1_2" x1="461.270969" x2="455.456747" y1="289.692043" y2="289.228437"> + <stop offset="1" style="stop-color:#08abf5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19cde1;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1c1" points="461.270969 289.692043 455.614781 287.246482 456.505113 276.080566"/> </defs> - <use fill="#08abf5" fill-opacity="1" xlink:href="#GT1c1"/> - <use fill="url(#GR1c1_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1c1"/> - <use fill="url(#GR1c1_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1c1"/> - <use fill="url(#GR1c1_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1c1"/> + <path d="M 461.270969,289.692043 L 455.614781,287.246482 456.505113,276.080566 Z" fill="#08abf5" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 461.270969,289.692043 L 455.614781,287.246482 456.505113,276.080566 Z" fill="url(#GR1c1_0)" shape-rendering="crispEdges"/> + <path d="M 461.270969,289.692043 L 455.614781,287.246482 456.505113,276.080566 Z" fill="url(#GR1c1_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 461.270969,289.692043 L 455.614781,287.246482 456.505113,276.080566 Z" fill="url(#GR1c1_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1c2_0" x1="456.505113" x2="452.297465" y1="276.080566" y2="285.812177"> - <stop offset="0" style="stop-color:#0094ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0094ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1c2_0" x1="456.505113" x2="452.297465" y1="276.080566" y2="285.812177"> + <stop offset="1" style="stop-color:#18cbe3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0094ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1c2_1" x1="466.927157" x2="462.651427" y1="292.137605" y2="293.634688"> - <stop offset="0" style="stop-color:#30ffc7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#30ffc7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1c2_1" x1="466.927157" x2="462.651427" y1="292.137605" y2="293.634688"> + <stop offset="1" style="stop-color:#18cbe3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#30ffc7;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1c2_2" x1="461.270969" x2="464.133777" y1="289.692043" y2="287.833898"> - <stop offset="0" style="stop-color:#19cde1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19cde1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1c2_2" x1="461.270969" x2="464.133777" y1="289.692043" y2="287.833898"> + <stop offset="1" style="stop-color:#18cbe3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19cde1;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1c2" points="461.270969 289.692043 456.505113 276.080566 466.927157 292.137605"/> </defs> - <use fill="#18cbe3" fill-opacity="1" xlink:href="#GT1c2"/> - <use fill="url(#GR1c2_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1c2"/> - <use fill="url(#GR1c2_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1c2"/> - <use fill="url(#GR1c2_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1c2"/> + <path d="M 461.270969,289.692043 L 456.505113,276.080566 466.927157,292.137605 Z" fill="#18cbe3" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 461.270969,289.692043 L 456.505113,276.080566 466.927157,292.137605 Z" fill="url(#GR1c2_0)" shape-rendering="crispEdges"/> + <path d="M 461.270969,289.692043 L 456.505113,276.080566 466.927157,292.137605 Z" fill="url(#GR1c2_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 461.270969,289.692043 L 456.505113,276.080566 466.927157,292.137605 Z" fill="url(#GR1c2_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1c3_0" x1="466.927157" x2="462.651427" y1="292.137605" y2="293.634688"> - <stop offset="0" style="stop-color:#30ffc7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#30ffc7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1c3_0" x1="466.927157" x2="462.651427" y1="292.137605" y2="293.634688"> + <stop offset="1" style="stop-color:#2aeece;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#30ffc7;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1c3_1" x1="466.036825" x2="470.244474" y1="303.303521" y2="293.57191"> - <stop offset="0" style="stop-color:#36ffc1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#36ffc1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1c3_1" x1="466.036825" x2="470.244474" y1="303.303521" y2="293.57191"> + <stop offset="1" style="stop-color:#2aeece;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#36ffc1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1c3_2" x1="461.270969" x2="467.085192" y1="289.692043" y2="290.15565"> - <stop offset="0" style="stop-color:#19cde1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19cde1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1c3_2" x1="461.270969" x2="467.085192" y1="289.692043" y2="290.15565"> + <stop offset="1" style="stop-color:#2aeece;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19cde1;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1c3" points="461.270969 289.692043 466.927157 292.137605 466.036825 303.303521"/> </defs> - <use fill="#2aeece" fill-opacity="1" xlink:href="#GT1c3"/> - <use fill="url(#GR1c3_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1c3"/> - <use fill="url(#GR1c3_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1c3"/> - <use fill="url(#GR1c3_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1c3"/> + <path d="M 461.270969,289.692043 L 466.927157,292.137605 466.036825,303.303521 Z" fill="#2aeece" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 461.270969,289.692043 L 466.927157,292.137605 466.036825,303.303521 Z" fill="url(#GR1c3_0)" shape-rendering="crispEdges"/> + <path d="M 461.270969,289.692043 L 466.927157,292.137605 466.036825,303.303521 Z" fill="url(#GR1c3_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 461.270969,289.692043 L 466.927157,292.137605 466.036825,303.303521 Z" fill="url(#GR1c3_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1c4_0" x1="455.614781" x2="461.660454" y1="287.246482" y2="281.619769"> - <stop offset="0" style="stop-color:#00a0ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a0ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1c4_0" x1="455.614781" x2="461.660454" y1="287.246482" y2="281.619769"> + <stop offset="1" style="stop-color:#005cff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a0ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1c4_1" x1="448.206923" x2="451.291974" y1="267.164501" y2="266.521037"> - <stop offset="0" style="stop-color:#001cff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#001cff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1c4_1" x1="448.206923" x2="451.291974" y1="267.164501" y2="266.521037"> + <stop offset="1" style="stop-color:#005cff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#001cff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1c4_2" x1="452.356018" x2="450.151396" y1="271.622534" y2="272.435777"> - <stop offset="0" style="stop-color:#0056ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0056ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1c4_2" x1="452.356018" x2="450.151396" y1="271.622534" y2="272.435777"> + <stop offset="1" style="stop-color:#005cff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0056ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1c4" points="452.356018 271.622534 455.614781 287.246482 448.206923 267.164501"/> </defs> - <use fill="#005cff" fill-opacity="1" xlink:href="#GT1c4"/> - <use fill="url(#GR1c4_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1c4"/> - <use fill="url(#GR1c4_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1c4"/> - <use fill="url(#GR1c4_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1c4"/> + <path d="M 452.356018,271.622534 L 455.614781,287.246482 448.206923,267.164501 Z" fill="#005cff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.356018,271.622534 L 455.614781,287.246482 448.206923,267.164501 Z" fill="url(#GR1c4_0)" shape-rendering="crispEdges"/> + <path d="M 452.356018,271.622534 L 455.614781,287.246482 448.206923,267.164501 Z" fill="url(#GR1c4_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.356018,271.622534 L 455.614781,287.246482 448.206923,267.164501 Z" fill="url(#GR1c4_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1c5_0" x1="448.206923" x2="451.291974" y1="267.164501" y2="266.521037"> - <stop offset="0" style="stop-color:#001cff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#001cff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1c5_0" x1="448.206923" x2="451.291974" y1="267.164501" y2="266.521037"> + <stop offset="1" style="stop-color:#0029ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#001cff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1c5_1" x1="449.097255" x2="443.051582" y1="255.998585" y2="261.625299"> - <stop offset="0" style="stop-color:#0008ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0008ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1c5_1" x1="449.097255" x2="443.051582" y1="255.998585" y2="261.625299"> + <stop offset="1" style="stop-color:#0029ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0008ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1c5_2" x1="452.356018" x2="447.879913" y1="271.622534" y2="271.265624"> - <stop offset="0" style="stop-color:#0056ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0056ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1c5_2" x1="452.356018" x2="447.879913" y1="271.622534" y2="271.265624"> + <stop offset="1" style="stop-color:#0029ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0056ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1c5" points="452.356018 271.622534 448.206923 267.164501 449.097255 255.998585"/> </defs> - <use fill="#0029ff" fill-opacity="1" xlink:href="#GT1c5"/> - <use fill="url(#GR1c5_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1c5"/> - <use fill="url(#GR1c5_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1c5"/> - <use fill="url(#GR1c5_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1c5"/> + <path d="M 452.356018,271.622534 L 448.206923,267.164501 449.097255,255.998585 Z" fill="#0029ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.356018,271.622534 L 448.206923,267.164501 449.097255,255.998585 Z" fill="url(#GR1c5_0)" shape-rendering="crispEdges"/> + <path d="M 452.356018,271.622534 L 448.206923,267.164501 449.097255,255.998585 Z" fill="url(#GR1c5_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.356018,271.622534 L 448.206923,267.164501 449.097255,255.998585 Z" fill="url(#GR1c5_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1c6_0" x1="449.097255" x2="443.051582" y1="255.998585" y2="261.625299"> - <stop offset="0" style="stop-color:#0008ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0008ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1c6_0" x1="449.097255" x2="443.051582" y1="255.998585" y2="261.625299"> + <stop offset="1" style="stop-color:#0051ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0008ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1c6_1" x1="456.505113" x2="453.420062" y1="276.080566" y2="276.72403"> - <stop offset="0" style="stop-color:#0094ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0094ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1c6_1" x1="456.505113" x2="453.420062" y1="276.080566" y2="276.72403"> + <stop offset="1" style="stop-color:#0051ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0094ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1c6_2" x1="452.356018" x2="454.560641" y1="271.622534" y2="270.809291"> - <stop offset="0" style="stop-color:#0056ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0056ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1c6_2" x1="452.356018" x2="454.560641" y1="271.622534" y2="270.809291"> + <stop offset="1" style="stop-color:#0051ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0056ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1c6" points="452.356018 271.622534 449.097255 255.998585 456.505113 276.080566"/> </defs> - <use fill="#0051ff" fill-opacity="1" xlink:href="#GT1c6"/> - <use fill="url(#GR1c6_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1c6"/> - <use fill="url(#GR1c6_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1c6"/> - <use fill="url(#GR1c6_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1c6"/> + <path d="M 452.356018,271.622534 L 449.097255,255.998585 456.505113,276.080566 Z" fill="#0051ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.356018,271.622534 L 449.097255,255.998585 456.505113,276.080566 Z" fill="url(#GR1c6_0)" shape-rendering="crispEdges"/> + <path d="M 452.356018,271.622534 L 449.097255,255.998585 456.505113,276.080566 Z" fill="url(#GR1c6_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.356018,271.622534 L 449.097255,255.998585 456.505113,276.080566 Z" fill="url(#GR1c6_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1c7_0" x1="456.505113" x2="453.420062" y1="276.080566" y2="276.72403"> - <stop offset="0" style="stop-color:#0094ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0094ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1c7_0" x1="456.505113" x2="453.420062" y1="276.080566" y2="276.72403"> + <stop offset="1" style="stop-color:#0084ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0094ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1c7_1" x1="455.614781" x2="461.660454" y1="287.246482" y2="281.619769"> - <stop offset="0" style="stop-color:#00a0ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a0ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1c7_1" x1="455.614781" x2="461.660454" y1="287.246482" y2="281.619769"> + <stop offset="1" style="stop-color:#0084ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a0ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1c7_2" x1="452.356018" x2="456.832123" y1="271.622534" y2="271.979443"> - <stop offset="0" style="stop-color:#0056ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0056ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1c7_2" x1="452.356018" x2="456.832123" y1="271.622534" y2="271.979443"> + <stop offset="1" style="stop-color:#0084ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0056ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1c7" points="452.356018 271.622534 456.505113 276.080566 455.614781 287.246482"/> </defs> - <use fill="#0084ff" fill-opacity="1" xlink:href="#GT1c7"/> - <use fill="url(#GR1c7_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1c7"/> - <use fill="url(#GR1c7_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1c7"/> - <use fill="url(#GR1c7_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1c7"/> + <path d="M 452.356018,271.622534 L 456.505113,276.080566 455.614781,287.246482 Z" fill="#0084ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.356018,271.622534 L 456.505113,276.080566 455.614781,287.246482 Z" fill="url(#GR1c7_0)" shape-rendering="crispEdges"/> + <path d="M 452.356018,271.622534 L 456.505113,276.080566 455.614781,287.246482 Z" fill="url(#GR1c7_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.356018,271.622534 L 456.505113,276.080566 455.614781,287.246482 Z" fill="url(#GR1c7_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1c8_0" x1="448.206923" x2="452.909716" y1="267.164501" y2="265.220252"> - <stop offset="0" style="stop-color:#001cff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#001cff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1c8_0" x1="448.206923" x2="452.909716" y1="267.164501" y2="265.220252"> + <stop offset="1" style="stop-color:#000dd4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#001cff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1c8_1" x1="444.360842" x2="446.21377" y1="244.542043" y2="244.379952"> - <stop offset="0" style="stop-color:#0000b2;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000b2;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1c8_1" x1="444.360842" x2="446.21377" y1="244.542043" y2="244.379952"> + <stop offset="1" style="stop-color:#000dd4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000b2;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1c8_2" x1="446.729049" x2="445.373885" y1="250.270314" y2="250.500708"> - <stop offset="0" style="stop-color:#0009cc;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0009cc;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1c8_2" x1="446.729049" x2="445.373885" y1="250.270314" y2="250.500708"> + <stop offset="1" style="stop-color:#000dd4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0009cc;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1c8" points="446.729049 250.270314 448.206923 267.164501 444.360842 244.542043"/> </defs> - <use fill="#000dd4" fill-opacity="1" xlink:href="#GT1c8"/> - <use fill="url(#GR1c8_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1c8"/> - <use fill="url(#GR1c8_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1c8"/> - <use fill="url(#GR1c8_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1c8"/> + <path d="M 446.729049,250.270314 L 448.206923,267.164501 444.360842,244.542043 Z" fill="#000dd4" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 446.729049,250.270314 L 448.206923,267.164501 444.360842,244.542043 Z" fill="url(#GR1c8_0)" shape-rendering="crispEdges"/> + <path d="M 446.729049,250.270314 L 448.206923,267.164501 444.360842,244.542043 Z" fill="url(#GR1c8_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 446.729049,250.270314 L 448.206923,267.164501 444.360842,244.542043 Z" fill="url(#GR1c8_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1c9_0" x1="444.360842" x2="446.21377" y1="244.542043" y2="244.379952"> - <stop offset="0" style="stop-color:#0000b2;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000b2;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1c9_0" x1="444.360842" x2="446.21377" y1="244.542043" y2="244.379952"> + <stop offset="1" style="stop-color:#0003aa;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000b2;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1c9_1" x1="445.251175" x2="440.548381" y1="233.376127" y2="235.320376"> - <stop offset="0" style="stop-color:#000080;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000080;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1c9_1" x1="445.251175" x2="440.548381" y1="233.376127" y2="235.320376"> + <stop offset="1" style="stop-color:#0003aa;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000080;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1c9_2" x1="446.729049" x2="443.921937" y1="250.270314" y2="250.046485"> - <stop offset="0" style="stop-color:#0009cc;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0009cc;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1c9_2" x1="446.729049" x2="443.921937" y1="250.270314" y2="250.046485"> + <stop offset="1" style="stop-color:#0003aa;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0009cc;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1c9" points="446.729049 250.270314 444.360842 244.542043 445.251175 233.376127"/> </defs> - <use fill="#0003aa" fill-opacity="1" xlink:href="#GT1c9"/> - <use fill="url(#GR1c9_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1c9"/> - <use fill="url(#GR1c9_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1c9"/> - <use fill="url(#GR1c9_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1c9"/> + <path d="M 446.729049,250.270314 L 444.360842,244.542043 445.251175,233.376127 Z" fill="#0003aa" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 446.729049,250.270314 L 444.360842,244.542043 445.251175,233.376127 Z" fill="url(#GR1c9_0)" shape-rendering="crispEdges"/> + <path d="M 446.729049,250.270314 L 444.360842,244.542043 445.251175,233.376127 Z" fill="url(#GR1c9_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 446.729049,250.270314 L 444.360842,244.542043 445.251175,233.376127 Z" fill="url(#GR1c9_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1ca_0" x1="445.251175" x2="440.548381" y1="233.376127" y2="235.320376"> - <stop offset="0" style="stop-color:#000080;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000080;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ca_0" x1="445.251175" x2="440.548381" y1="233.376127" y2="235.320376"> + <stop offset="1" style="stop-color:#0006c3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000080;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1ca_1" x1="449.097255" x2="447.244327" y1="255.998585" y2="256.160676"> - <stop offset="0" style="stop-color:#0008ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0008ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ca_1" x1="449.097255" x2="447.244327" y1="255.998585" y2="256.160676"> + <stop offset="1" style="stop-color:#0006c3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0008ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1ca_2" x1="446.729049" x2="448.084213" y1="250.270314" y2="250.03992"> - <stop offset="0" style="stop-color:#0009cc;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0009cc;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ca_2" x1="446.729049" x2="448.084213" y1="250.270314" y2="250.03992"> + <stop offset="1" style="stop-color:#0006c3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0009cc;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1ca" points="446.729049 250.270314 445.251175 233.376127 449.097255 255.998585"/> </defs> - <use fill="#0006c3" fill-opacity="1" xlink:href="#GT1ca"/> - <use fill="url(#GR1ca_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ca"/> - <use fill="url(#GR1ca_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ca"/> - <use fill="url(#GR1ca_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ca"/> + <path d="M 446.729049,250.270314 L 445.251175,233.376127 449.097255,255.998585 Z" fill="#0006c3" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 446.729049,250.270314 L 445.251175,233.376127 449.097255,255.998585 Z" fill="url(#GR1ca_0)" shape-rendering="crispEdges"/> + <path d="M 446.729049,250.270314 L 445.251175,233.376127 449.097255,255.998585 Z" fill="url(#GR1ca_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 446.729049,250.270314 L 445.251175,233.376127 449.097255,255.998585 Z" fill="url(#GR1ca_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1cb_0" x1="449.097255" x2="447.244327" y1="255.998585" y2="256.160676"> - <stop offset="0" style="stop-color:#0008ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0008ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1cb_0" x1="449.097255" x2="447.244327" y1="255.998585" y2="256.160676"> + <stop offset="1" style="stop-color:#000fee;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0008ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1cb_1" x1="448.206923" x2="452.909716" y1="267.164501" y2="265.220252"> - <stop offset="0" style="stop-color:#001cff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#001cff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1cb_1" x1="448.206923" x2="452.909716" y1="267.164501" y2="265.220252"> + <stop offset="1" style="stop-color:#000fee;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#001cff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1cb_2" x1="446.729049" x2="449.536161" y1="250.270314" y2="250.494144"> - <stop offset="0" style="stop-color:#0009cc;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0009cc;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1cb_2" x1="446.729049" x2="449.536161" y1="250.270314" y2="250.494144"> + <stop offset="1" style="stop-color:#000fee;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0009cc;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1cb" points="446.729049 250.270314 449.097255 255.998585 448.206923 267.164501"/> </defs> - <use fill="#000fee" fill-opacity="1" xlink:href="#GT1cb"/> - <use fill="url(#GR1cb_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1cb"/> - <use fill="url(#GR1cb_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1cb"/> - <use fill="url(#GR1cb_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1cb"/> + <path d="M 446.729049,250.270314 L 449.097255,255.998585 448.206923,267.164501 Z" fill="#000fee" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 446.729049,250.270314 L 449.097255,255.998585 448.206923,267.164501 Z" fill="url(#GR1cb_0)" shape-rendering="crispEdges"/> + <path d="M 446.729049,250.270314 L 449.097255,255.998585 448.206923,267.164501 Z" fill="url(#GR1cb_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 446.729049,250.270314 L 449.097255,255.998585 448.206923,267.164501 Z" fill="url(#GR1cb_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1cc_0" x1="444.360842" x2="446.048983" y1="244.542043" y2="244.420093"> - <stop offset="0" style="stop-color:#0000b2;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000b2;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1cc_0" x1="444.360842" x2="446.048983" y1="244.542043" y2="244.420093"> + <stop offset="1" style="stop-color:#0000a9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000b2;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1cc_1" x1="444.360842" x2="444.963923" y1="221.051367" y2="221.06686"> - <stop offset="0" style="stop-color:#0000b2;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000b2;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1cc_1" x1="444.360842" x2="444.963923" y1="221.051367" y2="221.06686"> + <stop offset="1" style="stop-color:#0000a9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000b2;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1cc_2" x1="444.806009" x2="444.360842" y1="227.213747" y2="227.213747"> - <stop offset="0" style="stop-color:#000098;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000098;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1cc_2" x1="444.806009" x2="444.360842" y1="227.213747" y2="227.213747"> + <stop offset="1" style="stop-color:#0000a9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000098;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1cc" points="444.806009 227.213747 444.360842 244.542043 444.360842 221.051367"/> </defs> - <use fill="#0000a9" fill-opacity="1" xlink:href="#GT1cc"/> - <use fill="url(#GR1cc_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1cc"/> - <use fill="url(#GR1cc_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1cc"/> - <use fill="url(#GR1cc_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1cc"/> + <path d="M 444.806009,227.213747 L 444.360842,244.542043 444.360842,221.051367 Z" fill="#0000a9" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 444.806009,227.213747 L 444.360842,244.542043 444.360842,221.051367 Z" fill="url(#GR1cc_0)" shape-rendering="crispEdges"/> + <path d="M 444.806009,227.213747 L 444.360842,244.542043 444.360842,221.051367 Z" fill="url(#GR1cc_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 444.806009,227.213747 L 444.360842,244.542043 444.360842,221.051367 Z" fill="url(#GR1cc_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1cd_0" x1="444.360842" x2="444.963923" y1="221.051367" y2="221.06686"> - <stop offset="0" style="stop-color:#0000b2;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000b2;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1cd_0" x1="444.360842" x2="444.963923" y1="221.051367" y2="221.06686"> + <stop offset="1" style="stop-color:#000098;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000b2;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1cd_1" x1="445.251175" x2="443.563034" y1="209.885451" y2="210.007401"> - <stop offset="0" style="stop-color:#000080;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000080;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1cd_1" x1="445.251175" x2="443.563034" y1="209.885451" y2="210.007401"> + <stop offset="1" style="stop-color:#000098;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000080;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1cd_2" x1="444.806009" x2="443.875392" y1="227.213747" y2="227.139543"> - <stop offset="0" style="stop-color:#000098;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000098;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1cd_2" x1="444.806009" x2="443.875392" y1="227.213747" y2="227.139543"> + <stop offset="1" style="stop-color:#000098;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000098;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1cd" points="444.806009 227.213747 444.360842 221.051367 445.251175 209.885451"/> </defs> - <use fill="#000098" fill-opacity="1" xlink:href="#GT1cd"/> - <use fill="url(#GR1cd_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1cd"/> - <use fill="url(#GR1cd_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1cd"/> - <use fill="url(#GR1cd_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1cd"/> + <path d="M 444.806009,227.213747 L 444.360842,221.051367 445.251175,209.885451 Z" fill="#000098" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 444.806009,227.213747 L 444.360842,221.051367 445.251175,209.885451 Z" fill="url(#GR1cd_0)" shape-rendering="crispEdges"/> + <path d="M 444.806009,227.213747 L 444.360842,221.051367 445.251175,209.885451 Z" fill="url(#GR1cd_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 444.806009,227.213747 L 444.360842,221.051367 445.251175,209.885451 Z" fill="url(#GR1cd_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1ce_0" x1="445.251175" x2="443.563034" y1="209.885451" y2="210.007401"> - <stop offset="0" style="stop-color:#000080;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000080;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ce_0" x1="445.251175" x2="443.563034" y1="209.885451" y2="210.007401"> + <stop offset="1" style="stop-color:#000088;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000080;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1ce_1" x1="445.251175" x2="444.648094" y1="233.376127" y2="233.360634"> - <stop offset="0" style="stop-color:#000080;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000080;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ce_1" x1="445.251175" x2="444.648094" y1="233.376127" y2="233.360634"> + <stop offset="1" style="stop-color:#000088;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000080;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1ce_2" x1="444.806009" x2="445.251175" y1="227.213747" y2="227.213747"> - <stop offset="0" style="stop-color:#000098;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000098;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ce_2" x1="444.806009" x2="445.251175" y1="227.213747" y2="227.213747"> + <stop offset="1" style="stop-color:#000088;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000098;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1ce" points="444.806009 227.213747 445.251175 209.885451 445.251175 233.376127"/> </defs> - <use fill="#000088" fill-opacity="1" xlink:href="#GT1ce"/> - <use fill="url(#GR1ce_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ce"/> - <use fill="url(#GR1ce_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ce"/> - <use fill="url(#GR1ce_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ce"/> + <path d="M 444.806009,227.213747 L 445.251175,209.885451 445.251175,233.376127 Z" fill="#000088" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 444.806009,227.213747 L 445.251175,209.885451 445.251175,233.376127 Z" fill="url(#GR1ce_0)" shape-rendering="crispEdges"/> + <path d="M 444.806009,227.213747 L 445.251175,209.885451 445.251175,233.376127 Z" fill="url(#GR1ce_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 444.806009,227.213747 L 445.251175,209.885451 445.251175,233.376127 Z" fill="url(#GR1ce_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1cf_0" x1="445.251175" x2="444.648094" y1="233.376127" y2="233.360634"> - <stop offset="0" style="stop-color:#000080;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000080;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1cf_0" x1="445.251175" x2="444.648094" y1="233.376127" y2="233.360634"> + <stop offset="1" style="stop-color:#000098;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000080;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1cf_1" x1="444.360842" x2="446.048983" y1="244.542043" y2="244.420093"> - <stop offset="0" style="stop-color:#0000b2;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000b2;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1cf_1" x1="444.360842" x2="446.048983" y1="244.542043" y2="244.420093"> + <stop offset="1" style="stop-color:#000098;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000b2;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1cf_2" x1="444.806009" x2="445.736625" y1="227.213747" y2="227.287951"> - <stop offset="0" style="stop-color:#000098;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000098;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1cf_2" x1="444.806009" x2="445.736625" y1="227.213747" y2="227.287951"> + <stop offset="1" style="stop-color:#000098;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000098;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1cf" points="444.806009 227.213747 445.251175 233.376127 444.360842 244.542043"/> </defs> - <use fill="#000098" fill-opacity="1" xlink:href="#GT1cf"/> - <use fill="url(#GR1cf_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1cf"/> - <use fill="url(#GR1cf_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1cf"/> - <use fill="url(#GR1cf_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1cf"/> + <path d="M 444.806009,227.213747 L 445.251175,233.376127 444.360842,244.542043 Z" fill="#000098" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 444.806009,227.213747 L 445.251175,233.376127 444.360842,244.542043 Z" fill="url(#GR1cf_0)" shape-rendering="crispEdges"/> + <path d="M 444.806009,227.213747 L 445.251175,233.376127 444.360842,244.542043 Z" fill="url(#GR1cf_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 444.806009,227.213747 L 445.251175,233.376127 444.360842,244.542043 Z" fill="url(#GR1cf_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1d0_0" x1="444.360842" x2="442.494626" y1="221.051367" y2="220.569889"> - <stop offset="0" style="stop-color:#0000b2;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000b2;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1d0_0" x1="444.360842" x2="442.494626" y1="221.051367" y2="220.569889"> + <stop offset="1" style="stop-color:#000dd4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000b2;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1d0_1" x1="448.206923" x2="447.545037" y1="198.428909" y2="198.336127"> - <stop offset="0" style="stop-color:#001cff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#001cff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1d0_1" x1="448.206923" x2="447.545037" y1="198.428909" y2="198.336127"> + <stop offset="1" style="stop-color:#000dd4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#001cff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1d0_2" x1="446.729049" x2="447.218892" y1="204.15718" y2="204.240459"> - <stop offset="0" style="stop-color:#0009cc;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0009cc;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1d0_2" x1="446.729049" x2="447.218892" y1="204.15718" y2="204.240459"> + <stop offset="1" style="stop-color:#000dd4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0009cc;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1d0" points="446.729049 204.15718 444.360842 221.051367 448.206923 198.428909"/> </defs> - <use fill="#000dd4" fill-opacity="1" xlink:href="#GT1d0"/> - <use fill="url(#GR1d0_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1d0"/> - <use fill="url(#GR1d0_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1d0"/> - <use fill="url(#GR1d0_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1d0"/> + <path d="M 446.729049,204.15718 L 444.360842,221.051367 448.206923,198.428909 Z" fill="#000dd4" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 446.729049,204.15718 L 444.360842,221.051367 448.206923,198.428909 Z" fill="url(#GR1d0_0)" shape-rendering="crispEdges"/> + <path d="M 446.729049,204.15718 L 444.360842,221.051367 448.206923,198.428909 Z" fill="url(#GR1d0_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 446.729049,204.15718 L 444.360842,221.051367 448.206923,198.428909 Z" fill="url(#GR1d0_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1d1_0" x1="448.206923" x2="447.545037" y1="198.428909" y2="198.336127"> - <stop offset="0" style="stop-color:#001cff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#001cff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1d1_0" x1="448.206923" x2="447.545037" y1="198.428909" y2="198.336127"> + <stop offset="1" style="stop-color:#000fee;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#001cff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1d1_1" x1="449.097255" x2="450.963472" y1="187.262993" y2="187.74447"> - <stop offset="0" style="stop-color:#0008ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0008ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1d1_1" x1="449.097255" x2="450.963472" y1="187.262993" y2="187.74447"> + <stop offset="1" style="stop-color:#000fee;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0008ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1d1_2" x1="446.729049" x2="447.743719" y1="204.15718" y2="204.238086"> - <stop offset="0" style="stop-color:#0009cc;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0009cc;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1d1_2" x1="446.729049" x2="447.743719" y1="204.15718" y2="204.238086"> + <stop offset="1" style="stop-color:#000fee;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0009cc;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1d1" points="446.729049 204.15718 448.206923 198.428909 449.097255 187.262993"/> </defs> - <use fill="#000fee" fill-opacity="1" xlink:href="#GT1d1"/> - <use fill="url(#GR1d1_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1d1"/> - <use fill="url(#GR1d1_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1d1"/> - <use fill="url(#GR1d1_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1d1"/> + <path d="M 446.729049,204.15718 L 448.206923,198.428909 449.097255,187.262993 Z" fill="#000fee" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 446.729049,204.15718 L 448.206923,198.428909 449.097255,187.262993 Z" fill="url(#GR1d1_0)" shape-rendering="crispEdges"/> + <path d="M 446.729049,204.15718 L 448.206923,198.428909 449.097255,187.262993 Z" fill="url(#GR1d1_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 446.729049,204.15718 L 448.206923,198.428909 449.097255,187.262993 Z" fill="url(#GR1d1_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1d2_0" x1="449.097255" x2="450.963472" y1="187.262993" y2="187.74447"> - <stop offset="0" style="stop-color:#0008ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0008ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1d2_0" x1="449.097255" x2="450.963472" y1="187.262993" y2="187.74447"> + <stop offset="1" style="stop-color:#0006c3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0008ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1d2_1" x1="445.251175" x2="445.913061" y1="209.885451" y2="209.978233"> - <stop offset="0" style="stop-color:#000080;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000080;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1d2_1" x1="445.251175" x2="445.913061" y1="209.885451" y2="209.978233"> + <stop offset="1" style="stop-color:#0006c3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000080;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1d2_2" x1="446.729049" x2="446.239206" y1="204.15718" y2="204.073901"> - <stop offset="0" style="stop-color:#0009cc;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0009cc;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1d2_2" x1="446.729049" x2="446.239206" y1="204.15718" y2="204.073901"> + <stop offset="1" style="stop-color:#0006c3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0009cc;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1d2" points="446.729049 204.15718 449.097255 187.262993 445.251175 209.885451"/> </defs> - <use fill="#0006c3" fill-opacity="1" xlink:href="#GT1d2"/> - <use fill="url(#GR1d2_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1d2"/> - <use fill="url(#GR1d2_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1d2"/> - <use fill="url(#GR1d2_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1d2"/> + <path d="M 446.729049,204.15718 L 449.097255,187.262993 445.251175,209.885451 Z" fill="#0006c3" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 446.729049,204.15718 L 449.097255,187.262993 445.251175,209.885451 Z" fill="url(#GR1d2_0)" shape-rendering="crispEdges"/> + <path d="M 446.729049,204.15718 L 449.097255,187.262993 445.251175,209.885451 Z" fill="url(#GR1d2_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 446.729049,204.15718 L 449.097255,187.262993 445.251175,209.885451 Z" fill="url(#GR1d2_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1d3_0" x1="445.251175" x2="445.913061" y1="209.885451" y2="209.978233"> - <stop offset="0" style="stop-color:#000080;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000080;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1d3_0" x1="445.251175" x2="445.913061" y1="209.885451" y2="209.978233"> + <stop offset="1" style="stop-color:#0003aa;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000080;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1d3_1" x1="444.360842" x2="442.494626" y1="221.051367" y2="220.569889"> - <stop offset="0" style="stop-color:#0000b2;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000b2;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1d3_1" x1="444.360842" x2="442.494626" y1="221.051367" y2="220.569889"> + <stop offset="1" style="stop-color:#0003aa;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000b2;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1d3_2" x1="446.729049" x2="445.714379" y1="204.15718" y2="204.076274"> - <stop offset="0" style="stop-color:#0009cc;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0009cc;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1d3_2" x1="446.729049" x2="445.714379" y1="204.15718" y2="204.076274"> + <stop offset="1" style="stop-color:#0003aa;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0009cc;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1d3" points="446.729049 204.15718 445.251175 209.885451 444.360842 221.051367"/> </defs> - <use fill="#0003aa" fill-opacity="1" xlink:href="#GT1d3"/> - <use fill="url(#GR1d3_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1d3"/> - <use fill="url(#GR1d3_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1d3"/> - <use fill="url(#GR1d3_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1d3"/> + <path d="M 446.729049,204.15718 L 445.251175,209.885451 444.360842,221.051367 Z" fill="#0003aa" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 446.729049,204.15718 L 445.251175,209.885451 444.360842,221.051367 Z" fill="url(#GR1d3_0)" shape-rendering="crispEdges"/> + <path d="M 446.729049,204.15718 L 445.251175,209.885451 444.360842,221.051367 Z" fill="url(#GR1d3_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 446.729049,204.15718 L 445.251175,209.885451 444.360842,221.051367 Z" fill="url(#GR1d3_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1d4_0" x1="448.206923" x2="443.467558" y1="198.428909" y2="194.964496"> - <stop offset="0" style="stop-color:#001cff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#001cff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1d4_0" x1="448.206923" x2="443.467558" y1="198.428909" y2="194.964496"> + <stop offset="1" style="stop-color:#005cff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#001cff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1d4_1" x1="455.614781" x2="453.676579" y1="178.346928" y2="177.832219"> - <stop offset="0" style="stop-color:#00a0ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a0ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1d4_1" x1="455.614781" x2="453.676579" y1="178.346928" y2="177.832219"> + <stop offset="1" style="stop-color:#005cff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a0ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1d4_2" x1="452.356018" x2="453.776948" y1="182.80496" y2="183.329114"> - <stop offset="0" style="stop-color:#0057ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0057ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1d4_2" x1="452.356018" x2="453.776948" y1="182.80496" y2="183.329114"> + <stop offset="1" style="stop-color:#005cff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0057ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1d4" points="452.356018 182.80496 448.206923 198.428909 455.614781 178.346928"/> </defs> - <use fill="#005cff" fill-opacity="1" xlink:href="#GT1d4"/> - <use fill="url(#GR1d4_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1d4"/> - <use fill="url(#GR1d4_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1d4"/> - <use fill="url(#GR1d4_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1d4"/> + <path d="M 452.356018,182.80496 L 448.206923,198.428909 455.614781,178.346928 Z" fill="#005cff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.356018,182.80496 L 448.206923,198.428909 455.614781,178.346928 Z" fill="url(#GR1d4_0)" shape-rendering="crispEdges"/> + <path d="M 452.356018,182.80496 L 448.206923,198.428909 455.614781,178.346928 Z" fill="url(#GR1d4_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.356018,182.80496 L 448.206923,198.428909 455.614781,178.346928 Z" fill="url(#GR1d4_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1d5_0" x1="455.614781" x2="453.676579" y1="178.346928" y2="177.832219"> - <stop offset="0" style="stop-color:#00a0ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a0ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1d5_0" x1="455.614781" x2="453.676579" y1="178.346928" y2="177.832219"> + <stop offset="1" style="stop-color:#0084ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a0ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1d5_1" x1="456.505113" x2="461.244478" y1="167.181012" y2="170.645425"> - <stop offset="0" style="stop-color:#0094ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0094ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1d5_1" x1="456.505113" x2="461.244478" y1="167.181012" y2="170.645425"> + <stop offset="1" style="stop-color:#0084ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0094ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1d5_2" x1="452.356018" x2="455.24097" y1="182.80496" y2="183.034997"> - <stop offset="0" style="stop-color:#0057ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0057ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1d5_2" x1="452.356018" x2="455.24097" y1="182.80496" y2="183.034997"> + <stop offset="1" style="stop-color:#0084ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0057ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1d5" points="452.356018 182.80496 455.614781 178.346928 456.505113 167.181012"/> </defs> - <use fill="#0084ff" fill-opacity="1" xlink:href="#GT1d5"/> - <use fill="url(#GR1d5_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1d5"/> - <use fill="url(#GR1d5_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1d5"/> - <use fill="url(#GR1d5_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1d5"/> + <path d="M 452.356018,182.80496 L 455.614781,178.346928 456.505113,167.181012 Z" fill="#0084ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.356018,182.80496 L 455.614781,178.346928 456.505113,167.181012 Z" fill="url(#GR1d5_0)" shape-rendering="crispEdges"/> + <path d="M 452.356018,182.80496 L 455.614781,178.346928 456.505113,167.181012 Z" fill="url(#GR1d5_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.356018,182.80496 L 455.614781,178.346928 456.505113,167.181012 Z" fill="url(#GR1d5_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1d6_0" x1="456.505113" x2="461.244478" y1="167.181012" y2="170.645425"> - <stop offset="0" style="stop-color:#0094ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0094ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1d6_0" x1="456.505113" x2="461.244478" y1="167.181012" y2="170.645425"> + <stop offset="1" style="stop-color:#0051ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0094ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1d6_1" x1="449.097255" x2="451.035457" y1="187.262993" y2="187.777702"> - <stop offset="0" style="stop-color:#0008ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0008ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1d6_1" x1="449.097255" x2="451.035457" y1="187.262993" y2="187.777702"> + <stop offset="1" style="stop-color:#0051ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0008ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1d6_2" x1="452.356018" x2="450.935088" y1="182.80496" y2="182.280807"> - <stop offset="0" style="stop-color:#0057ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0057ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1d6_2" x1="452.356018" x2="450.935088" y1="182.80496" y2="182.280807"> + <stop offset="1" style="stop-color:#0051ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0057ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1d6" points="452.356018 182.80496 456.505113 167.181012 449.097255 187.262993"/> </defs> - <use fill="#0051ff" fill-opacity="1" xlink:href="#GT1d6"/> - <use fill="url(#GR1d6_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1d6"/> - <use fill="url(#GR1d6_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1d6"/> - <use fill="url(#GR1d6_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1d6"/> + <path d="M 452.356018,182.80496 L 456.505113,167.181012 449.097255,187.262993 Z" fill="#0051ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.356018,182.80496 L 456.505113,167.181012 449.097255,187.262993 Z" fill="url(#GR1d6_0)" shape-rendering="crispEdges"/> + <path d="M 452.356018,182.80496 L 456.505113,167.181012 449.097255,187.262993 Z" fill="url(#GR1d6_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.356018,182.80496 L 456.505113,167.181012 449.097255,187.262993 Z" fill="url(#GR1d6_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1d7_0" x1="449.097255" x2="451.035457" y1="187.262993" y2="187.777702"> - <stop offset="0" style="stop-color:#0008ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0008ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1d7_0" x1="449.097255" x2="451.035457" y1="187.262993" y2="187.777702"> + <stop offset="1" style="stop-color:#0029ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0008ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1d7_1" x1="448.206923" x2="443.467558" y1="198.428909" y2="194.964496"> - <stop offset="0" style="stop-color:#001cff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#001cff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1d7_1" x1="448.206923" x2="443.467558" y1="198.428909" y2="194.964496"> + <stop offset="1" style="stop-color:#0029ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#001cff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1d7_2" x1="452.356018" x2="449.471066" y1="182.80496" y2="182.574924"> - <stop offset="0" style="stop-color:#0057ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0057ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1d7_2" x1="452.356018" x2="449.471066" y1="182.80496" y2="182.574924"> + <stop offset="1" style="stop-color:#0029ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0057ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1d7" points="452.356018 182.80496 449.097255 187.262993 448.206923 198.428909"/> </defs> - <use fill="#0029ff" fill-opacity="1" xlink:href="#GT1d7"/> - <use fill="url(#GR1d7_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1d7"/> - <use fill="url(#GR1d7_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1d7"/> - <use fill="url(#GR1d7_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1d7"/> + <path d="M 452.356018,182.80496 L 449.097255,187.262993 448.206923,198.428909 Z" fill="#0029ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.356018,182.80496 L 449.097255,187.262993 448.206923,198.428909 Z" fill="url(#GR1d7_0)" shape-rendering="crispEdges"/> + <path d="M 452.356018,182.80496 L 449.097255,187.262993 448.206923,198.428909 Z" fill="url(#GR1d7_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.356018,182.80496 L 449.097255,187.262993 448.206923,198.428909 Z" fill="url(#GR1d7_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1d8_0" x1="455.614781" x2="451.264904" y1="178.346928" y2="169.869984"> - <stop offset="0" style="stop-color:#00a0ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a0ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1d8_0" x1="455.614781" x2="451.264904" y1="178.346928" y2="169.869984"> + <stop offset="1" style="stop-color:#1acfe0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a0ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1d8_1" x1="466.036825" x2="462.839346" y1="162.289889" y2="160.961191"> - <stop offset="0" style="stop-color:#36ffc1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#36ffc1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1d8_1" x1="466.036825" x2="462.839346" y1="162.289889" y2="160.961191"> + <stop offset="1" style="stop-color:#1acfe0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#36ffc1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1d8_2" x1="461.270969" x2="463.507349" y1="164.735451" y2="166.187004"> - <stop offset="0" style="stop-color:#19cde1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19cde1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1d8_2" x1="461.270969" x2="463.507349" y1="164.735451" y2="166.187004"> + <stop offset="1" style="stop-color:#1acfe0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19cde1;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1d8" points="461.270969 164.735451 455.614781 178.346928 466.036825 162.289889"/> </defs> - <use fill="#1acfe0" fill-opacity="1" xlink:href="#GT1d8"/> - <use fill="url(#GR1d8_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1d8"/> - <use fill="url(#GR1d8_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1d8"/> - <use fill="url(#GR1d8_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1d8"/> + <path d="M 461.270969,164.735451 L 455.614781,178.346928 466.036825,162.289889 Z" fill="#1acfe0" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 461.270969,164.735451 L 455.614781,178.346928 466.036825,162.289889 Z" fill="url(#GR1d8_0)" shape-rendering="crispEdges"/> + <path d="M 461.270969,164.735451 L 455.614781,178.346928 466.036825,162.289889 Z" fill="url(#GR1d8_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 461.270969,164.735451 L 455.614781,178.346928 466.036825,162.289889 Z" fill="url(#GR1d8_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1d9_0" x1="466.036825" x2="462.839346" y1="162.289889" y2="160.961191"> - <stop offset="0" style="stop-color:#36ffc1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#36ffc1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1d9_0" x1="466.036825" x2="462.839346" y1="162.289889" y2="160.961191"> + <stop offset="1" style="stop-color:#2aeece;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#36ffc1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1d9_1" x1="466.927157" x2="471.277034" y1="151.123973" y2="159.600918"> - <stop offset="0" style="stop-color:#30ffc7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#30ffc7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1d9_1" x1="466.927157" x2="471.277034" y1="151.123973" y2="159.600918"> + <stop offset="1" style="stop-color:#2aeece;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#30ffc7;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1d9_2" x1="461.270969" x2="465.812947" y1="164.735451" y2="165.097613"> - <stop offset="0" style="stop-color:#19cde1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19cde1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1d9_2" x1="461.270969" x2="465.812947" y1="164.735451" y2="165.097613"> + <stop offset="1" style="stop-color:#2aeece;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19cde1;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1d9" points="461.270969 164.735451 466.036825 162.289889 466.927157 151.123973"/> </defs> - <use fill="#2aeece" fill-opacity="1" xlink:href="#GT1d9"/> - <use fill="url(#GR1d9_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1d9"/> - <use fill="url(#GR1d9_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1d9"/> - <use fill="url(#GR1d9_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1d9"/> + <path d="M 461.270969,164.735451 L 466.036825,162.289889 466.927157,151.123973 Z" fill="#2aeece" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 461.270969,164.735451 L 466.036825,162.289889 466.927157,151.123973 Z" fill="url(#GR1d9_0)" shape-rendering="crispEdges"/> + <path d="M 461.270969,164.735451 L 466.036825,162.289889 466.927157,151.123973 Z" fill="url(#GR1d9_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 461.270969,164.735451 L 466.036825,162.289889 466.927157,151.123973 Z" fill="url(#GR1d9_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1da_0" x1="466.927157" x2="471.277034" y1="151.123973" y2="159.600918"> - <stop offset="0" style="stop-color:#30ffc7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#30ffc7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1da_0" x1="466.927157" x2="471.277034" y1="151.123973" y2="159.600918"> + <stop offset="1" style="stop-color:#18cbe3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#30ffc7;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1da_1" x1="456.505113" x2="459.702593" y1="167.181012" y2="168.50971"> - <stop offset="0" style="stop-color:#0094ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0094ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1da_1" x1="456.505113" x2="459.702593" y1="167.181012" y2="168.50971"> + <stop offset="1" style="stop-color:#18cbe3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0094ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1da_2" x1="461.270969" x2="459.03459" y1="164.735451" y2="163.283897"> - <stop offset="0" style="stop-color:#19cde1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19cde1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1da_2" x1="461.270969" x2="459.03459" y1="164.735451" y2="163.283897"> + <stop offset="1" style="stop-color:#18cbe3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19cde1;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1da" points="461.270969 164.735451 466.927157 151.123973 456.505113 167.181012"/> </defs> - <use fill="#18cbe3" fill-opacity="1" xlink:href="#GT1da"/> - <use fill="url(#GR1da_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1da"/> - <use fill="url(#GR1da_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1da"/> - <use fill="url(#GR1da_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1da"/> + <path d="M 461.270969,164.735451 L 466.927157,151.123973 456.505113,167.181012 Z" fill="#18cbe3" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 461.270969,164.735451 L 466.927157,151.123973 456.505113,167.181012 Z" fill="url(#GR1da_0)" shape-rendering="crispEdges"/> + <path d="M 461.270969,164.735451 L 466.927157,151.123973 456.505113,167.181012 Z" fill="url(#GR1da_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 461.270969,164.735451 L 466.927157,151.123973 456.505113,167.181012 Z" fill="url(#GR1da_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1db_0" x1="456.505113" x2="459.702593" y1="167.181012" y2="168.50971"> - <stop offset="0" style="stop-color:#0094ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0094ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1db_0" x1="456.505113" x2="459.702593" y1="167.181012" y2="168.50971"> + <stop offset="1" style="stop-color:#08abf5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0094ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1db_1" x1="455.614781" x2="451.264904" y1="178.346928" y2="169.869984"> - <stop offset="0" style="stop-color:#00a0ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a0ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1db_1" x1="455.614781" x2="451.264904" y1="178.346928" y2="169.869984"> + <stop offset="1" style="stop-color:#08abf5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a0ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1db_2" x1="461.270969" x2="456.728991" y1="164.735451" y2="164.373289"> - <stop offset="0" style="stop-color:#19cde1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19cde1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1db_2" x1="461.270969" x2="456.728991" y1="164.735451" y2="164.373289"> + <stop offset="1" style="stop-color:#08abf5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19cde1;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1db" points="461.270969 164.735451 456.505113 167.181012 455.614781 178.346928"/> </defs> - <use fill="#08abf5" fill-opacity="1" xlink:href="#GT1db"/> - <use fill="url(#GR1db_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1db"/> - <use fill="url(#GR1db_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1db"/> - <use fill="url(#GR1db_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1db"/> + <path d="M 461.270969,164.735451 L 456.505113,167.181012 455.614781,178.346928 Z" fill="#08abf5" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 461.270969,164.735451 L 456.505113,167.181012 455.614781,178.346928 Z" fill="url(#GR1db_0)" shape-rendering="crispEdges"/> + <path d="M 461.270969,164.735451 L 456.505113,167.181012 455.614781,178.346928 Z" fill="url(#GR1db_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 461.270969,164.735451 L 456.505113,167.181012 455.614781,178.346928 Z" fill="url(#GR1db_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1dc_0" x1="466.036825" x2="466.341415" y1="162.289889" y2="151.108018"> - <stop offset="0" style="stop-color:#36ffc1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#36ffc1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1dc_0" x1="466.036825" x2="466.341415" y1="162.289889" y2="151.108018"> + <stop offset="1" style="stop-color:#6eff89;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#36ffc1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1dc_1" x1="478.702656" x2="474.362416" y1="151.444734" y2="148.77167"> - <stop offset="0" style="stop-color:#a7ff50;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a7ff50;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1dc_1" x1="478.702656" x2="474.362416" y1="151.444734" y2="148.77167"> + <stop offset="1" style="stop-color:#6eff89;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a7ff50;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1dc_2" x1="472.814907" x2="475.38479" y1="151.284354" y2="154.285666"> - <stop offset="0" style="stop-color:#6cff8b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#6cff8b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1dc_2" x1="472.814907" x2="475.38479" y1="151.284354" y2="154.285666"> + <stop offset="1" style="stop-color:#6eff89;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#6cff8b;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1dc" points="472.814907 151.284354 466.036825 162.289889 478.702656 151.444734"/> </defs> - <use fill="#6eff89" fill-opacity="1" xlink:href="#GT1dc"/> - <use fill="url(#GR1dc_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1dc"/> - <use fill="url(#GR1dc_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1dc"/> - <use fill="url(#GR1dc_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1dc"/> + <path d="M 472.814907,151.284354 L 466.036825,162.289889 478.702656,151.444734 Z" fill="#6eff89" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 472.814907,151.284354 L 466.036825,162.289889 478.702656,151.444734 Z" fill="url(#GR1dc_0)" shape-rendering="crispEdges"/> + <path d="M 472.814907,151.284354 L 466.036825,162.289889 478.702656,151.444734 Z" fill="url(#GR1dc_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 472.814907,151.284354 L 466.036825,162.289889 478.702656,151.444734 Z" fill="url(#GR1dc_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1dd_0" x1="478.702656" x2="474.362416" y1="151.444734" y2="148.77167"> - <stop offset="0" style="stop-color:#a7ff50;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a7ff50;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1dd_0" x1="478.702656" x2="474.362416" y1="151.444734" y2="148.77167"> + <stop offset="1" style="stop-color:#92ff65;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a7ff50;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1dd_1" x1="479.592988" x2="479.288398" y1="140.278818" y2="151.460689"> - <stop offset="0" style="stop-color:#a4ff53;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a4ff53;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1dd_1" x1="479.592988" x2="479.288398" y1="140.278818" y2="151.460689"> + <stop offset="1" style="stop-color:#92ff65;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a4ff53;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1dd_2" x1="472.814907" x2="478.678166" y1="151.284354" y2="151.75187"> - <stop offset="0" style="stop-color:#6cff8b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#6cff8b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1dd_2" x1="472.814907" x2="478.678166" y1="151.284354" y2="151.75187"> + <stop offset="1" style="stop-color:#92ff65;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#6cff8b;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1dd" points="472.814907 151.284354 478.702656 151.444734 479.592988 140.278818"/> </defs> - <use fill="#92ff65" fill-opacity="1" xlink:href="#GT1dd"/> - <use fill="url(#GR1dd_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1dd"/> - <use fill="url(#GR1dd_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1dd"/> - <use fill="url(#GR1dd_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1dd"/> + <path d="M 472.814907,151.284354 L 478.702656,151.444734 479.592988,140.278818 Z" fill="#92ff65" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 472.814907,151.284354 L 478.702656,151.444734 479.592988,140.278818 Z" fill="url(#GR1dd_0)" shape-rendering="crispEdges"/> + <path d="M 472.814907,151.284354 L 478.702656,151.444734 479.592988,140.278818 Z" fill="url(#GR1dd_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 472.814907,151.284354 L 478.702656,151.444734 479.592988,140.278818 Z" fill="url(#GR1dd_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1de_0" x1="479.592988" x2="479.288398" y1="140.278818" y2="151.460689"> - <stop offset="0" style="stop-color:#a4ff53;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a4ff53;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1de_0" x1="479.592988" x2="479.288398" y1="140.278818" y2="151.460689"> + <stop offset="1" style="stop-color:#6aff8c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a4ff53;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1de_1" x1="466.927157" x2="471.267397" y1="151.123973" y2="153.797037"> - <stop offset="0" style="stop-color:#30ffc7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#30ffc7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1de_1" x1="466.927157" x2="471.267397" y1="151.123973" y2="153.797037"> + <stop offset="1" style="stop-color:#6aff8c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#30ffc7;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1de_2" x1="472.814907" x2="470.245023" y1="151.284354" y2="148.283041"> - <stop offset="0" style="stop-color:#6cff8b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#6cff8b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1de_2" x1="472.814907" x2="470.245023" y1="151.284354" y2="148.283041"> + <stop offset="1" style="stop-color:#6aff8c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#6cff8b;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1de" points="472.814907 151.284354 479.592988 140.278818 466.927157 151.123973"/> </defs> - <use fill="#6aff8c" fill-opacity="1" xlink:href="#GT1de"/> - <use fill="url(#GR1de_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1de"/> - <use fill="url(#GR1de_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1de"/> - <use fill="url(#GR1de_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1de"/> + <path d="M 472.814907,151.284354 L 479.592988,140.278818 466.927157,151.123973 Z" fill="#6aff8c" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 472.814907,151.284354 L 479.592988,140.278818 466.927157,151.123973 Z" fill="url(#GR1de_0)" shape-rendering="crispEdges"/> + <path d="M 472.814907,151.284354 L 479.592988,140.278818 466.927157,151.123973 Z" fill="url(#GR1de_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 472.814907,151.284354 L 479.592988,140.278818 466.927157,151.123973 Z" fill="url(#GR1de_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1df_0" x1="466.927157" x2="471.267397" y1="151.123973" y2="153.797037"> - <stop offset="0" style="stop-color:#30ffc7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#30ffc7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1df_0" x1="466.927157" x2="471.267397" y1="151.123973" y2="153.797037"> + <stop offset="1" style="stop-color:#46ffb1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#30ffc7;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1df_1" x1="466.036825" x2="466.341415" y1="162.289889" y2="151.108018"> - <stop offset="0" style="stop-color:#36ffc1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#36ffc1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1df_1" x1="466.036825" x2="466.341415" y1="162.289889" y2="151.108018"> + <stop offset="1" style="stop-color:#46ffb1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#36ffc1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1df_2" x1="472.814907" x2="466.951647" y1="151.284354" y2="150.816837"> - <stop offset="0" style="stop-color:#6cff8b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#6cff8b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1df_2" x1="472.814907" x2="466.951647" y1="151.284354" y2="150.816837"> + <stop offset="1" style="stop-color:#46ffb1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#6cff8b;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1df" points="472.814907 151.284354 466.927157 151.123973 466.036825 162.289889"/> </defs> - <use fill="#46ffb1" fill-opacity="1" xlink:href="#GT1df"/> - <use fill="url(#GR1df_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1df"/> - <use fill="url(#GR1df_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1df"/> - <use fill="url(#GR1df_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1df"/> + <path d="M 472.814907,151.284354 L 466.927157,151.123973 466.036825,162.289889 Z" fill="#46ffb1" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 472.814907,151.284354 L 466.927157,151.123973 466.036825,162.289889 Z" fill="url(#GR1df_0)" shape-rendering="crispEdges"/> + <path d="M 472.814907,151.284354 L 466.927157,151.123973 466.036825,162.289889 Z" fill="url(#GR1df_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 472.814907,151.284354 L 466.927157,151.123973 466.036825,162.289889 Z" fill="url(#GR1df_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1e0_0" x1="478.702656" x2="483.251237" y1="151.444734" y2="142.050008"> - <stop offset="0" style="stop-color:#a7ff50;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a7ff50;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1e0_0" x1="478.702656" x2="483.251237" y1="151.444734" y2="142.050008"> + <stop offset="1" style="stop-color:#d3e828;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a7ff50;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1e0_1" x1="492.67601" x2="487.585936" y1="146.613138" y2="141.883823"> - <stop offset="0" style="stop-color:#ffd000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1e0_1" x1="492.67601" x2="487.585936" y1="146.613138" y2="141.883823"> + <stop offset="1" style="stop-color:#d3e828;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1e0_2" x1="486.134499" x2="487.811238" y1="143.445978" y2="148.29524"> - <stop offset="0" style="stop-color:#d2e829;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d2e829;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1e0_2" x1="486.134499" x2="487.811238" y1="143.445978" y2="148.29524"> + <stop offset="1" style="stop-color:#d3e828;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d2e829;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1e0" points="486.134499 143.445978 478.702656 151.444734 492.67601 146.613138"/> </defs> - <use fill="#d3e828" fill-opacity="1" xlink:href="#GT1e0"/> - <use fill="url(#GR1e0_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1e0"/> - <use fill="url(#GR1e0_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1e0"/> - <use fill="url(#GR1e0_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1e0"/> + <path d="M 486.134499,143.445978 L 478.702656,151.444734 492.67601,146.613138 Z" fill="#d3e828" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 486.134499,143.445978 L 478.702656,151.444734 492.67601,146.613138 Z" fill="url(#GR1e0_0)" shape-rendering="crispEdges"/> + <path d="M 486.134499,143.445978 L 478.702656,151.444734 492.67601,146.613138 Z" fill="url(#GR1e0_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 486.134499,143.445978 L 478.702656,151.444734 492.67601,146.613138 Z" fill="url(#GR1e0_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1e1_0" x1="492.67601" x2="487.585936" y1="146.613138" y2="141.883823"> - <stop offset="0" style="stop-color:#ffd000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1e1_0" x1="492.67601" x2="487.585936" y1="146.613138" y2="141.883823"> + <stop offset="1" style="stop-color:#f0d90e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1e1_1" x1="493.566342" x2="489.017761" y1="135.447222" y2="144.841948"> - <stop offset="0" style="stop-color:#ffd300;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd300;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1e1_1" x1="493.566342" x2="489.017761" y1="135.447222" y2="144.841948"> + <stop offset="1" style="stop-color:#f0d90e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd300;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1e1_2" x1="486.134499" x2="492.885626" y1="143.445978" y2="143.98429"> - <stop offset="0" style="stop-color:#d2e829;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d2e829;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1e1_2" x1="486.134499" x2="492.885626" y1="143.445978" y2="143.98429"> + <stop offset="1" style="stop-color:#f0d90e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d2e829;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1e1" points="486.134499 143.445978 492.67601 146.613138 493.566342 135.447222"/> </defs> - <use fill="#f0d90e" fill-opacity="1" xlink:href="#GT1e1"/> - <use fill="url(#GR1e1_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1e1"/> - <use fill="url(#GR1e1_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1e1"/> - <use fill="url(#GR1e1_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1e1"/> + <path d="M 486.134499,143.445978 L 492.67601,146.613138 493.566342,135.447222 Z" fill="#f0d90e" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 486.134499,143.445978 L 492.67601,146.613138 493.566342,135.447222 Z" fill="url(#GR1e1_0)" shape-rendering="crispEdges"/> + <path d="M 486.134499,143.445978 L 492.67601,146.613138 493.566342,135.447222 Z" fill="url(#GR1e1_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 486.134499,143.445978 L 492.67601,146.613138 493.566342,135.447222 Z" fill="url(#GR1e1_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1e2_0" x1="493.566342" x2="489.017761" y1="135.447222" y2="144.841948"> - <stop offset="0" style="stop-color:#ffd300;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd300;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1e2_0" x1="493.566342" x2="489.017761" y1="135.447222" y2="144.841948"> + <stop offset="1" style="stop-color:#d2e929;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd300;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1e2_1" x1="479.592988" x2="484.683062" y1="140.278818" y2="145.008133"> - <stop offset="0" style="stop-color:#a4ff53;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a4ff53;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1e2_1" x1="479.592988" x2="484.683062" y1="140.278818" y2="145.008133"> + <stop offset="1" style="stop-color:#d2e929;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a4ff53;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1e2_2" x1="486.134499" x2="484.45776" y1="143.445978" y2="138.596716"> - <stop offset="0" style="stop-color:#d2e829;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d2e829;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1e2_2" x1="486.134499" x2="484.45776" y1="143.445978" y2="138.596716"> + <stop offset="1" style="stop-color:#d2e929;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d2e829;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1e2" points="486.134499 143.445978 493.566342 135.447222 479.592988 140.278818"/> </defs> - <use fill="#d2e929" fill-opacity="1" xlink:href="#GT1e2"/> - <use fill="url(#GR1e2_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1e2"/> - <use fill="url(#GR1e2_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1e2"/> - <use fill="url(#GR1e2_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1e2"/> + <path d="M 486.134499,143.445978 L 493.566342,135.447222 479.592988,140.278818 Z" fill="#d2e929" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 486.134499,143.445978 L 493.566342,135.447222 479.592988,140.278818 Z" fill="url(#GR1e2_0)" shape-rendering="crispEdges"/> + <path d="M 486.134499,143.445978 L 493.566342,135.447222 479.592988,140.278818 Z" fill="url(#GR1e2_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 486.134499,143.445978 L 493.566342,135.447222 479.592988,140.278818 Z" fill="url(#GR1e2_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1e3_0" x1="479.592988" x2="484.683062" y1="140.278818" y2="145.008133"> - <stop offset="0" style="stop-color:#a4ff53;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a4ff53;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1e3_0" x1="479.592988" x2="484.683062" y1="140.278818" y2="145.008133"> + <stop offset="1" style="stop-color:#b4f744;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a4ff53;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1e3_1" x1="478.702656" x2="483.251237" y1="151.444734" y2="142.050008"> - <stop offset="0" style="stop-color:#a7ff50;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a7ff50;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1e3_1" x1="478.702656" x2="483.251237" y1="151.444734" y2="142.050008"> + <stop offset="1" style="stop-color:#b4f744;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a7ff50;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1e3_2" x1="486.134499" x2="479.383372" y1="143.445978" y2="142.907666"> - <stop offset="0" style="stop-color:#d2e829;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d2e829;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1e3_2" x1="486.134499" x2="479.383372" y1="143.445978" y2="142.907666"> + <stop offset="1" style="stop-color:#b4f744;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d2e829;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1e3" points="486.134499 143.445978 479.592988 140.278818 478.702656 151.444734"/> </defs> - <use fill="#b4f744" fill-opacity="1" xlink:href="#GT1e3"/> - <use fill="url(#GR1e3_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1e3"/> - <use fill="url(#GR1e3_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1e3"/> - <use fill="url(#GR1e3_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1e3"/> + <path d="M 486.134499,143.445978 L 479.592988,140.278818 478.702656,151.444734 Z" fill="#b4f744" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 486.134499,143.445978 L 479.592988,140.278818 478.702656,151.444734 Z" fill="url(#GR1e3_0)" shape-rendering="crispEdges"/> + <path d="M 486.134499,143.445978 L 479.592988,140.278818 478.702656,151.444734 Z" fill="url(#GR1e3_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 486.134499,143.445978 L 479.592988,140.278818 478.702656,151.444734 Z" fill="url(#GR1e3_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1e4_0" x1="493.566342" x2="489.289766" y1="307.814356" y2="298.520688"> - <stop offset="0" style="stop-color:#ffd300;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd300;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1e4_0" x1="493.566342" x2="489.289766" y1="307.814356" y2="298.520688"> + <stop offset="1" style="stop-color:#d1e92a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd300;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1e4_1" x1="479.592988" x2="485.168074" y1="302.98276" y2="298.142033"> - <stop offset="0" style="stop-color:#a4ff53;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a4ff53;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1e4_1" x1="479.592988" x2="485.168074" y1="302.98276" y2="298.142033"> + <stop offset="1" style="stop-color:#d1e92a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a4ff53;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1e4_2" x1="486.579665" x2="484.840614" y1="299.767769" y2="304.797243"> - <stop offset="0" style="stop-color:#d1e92a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d1e92a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1e4_2" x1="486.579665" x2="484.840614" y1="299.767769" y2="304.797243"> + <stop offset="1" style="stop-color:#d1e92a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d1e92a;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1e4" points="486.579665 299.767769 493.566342 307.814356 479.592988 302.98276"/> </defs> - <use fill="#d1e92a" fill-opacity="1" xlink:href="#GT1e4"/> - <use fill="url(#GR1e4_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1e4"/> - <use fill="url(#GR1e4_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1e4"/> - <use fill="url(#GR1e4_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1e4"/> + <path d="M 486.579665,299.767769 L 493.566342,307.814356 479.592988,302.98276 Z" fill="#d1e92a" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 486.579665,299.767769 L 493.566342,307.814356 479.592988,302.98276 Z" fill="url(#GR1e4_0)" shape-rendering="crispEdges"/> + <path d="M 486.579665,299.767769 L 493.566342,307.814356 479.592988,302.98276 Z" fill="url(#GR1e4_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 486.579665,299.767769 L 493.566342,307.814356 479.592988,302.98276 Z" fill="url(#GR1e4_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1e5_0" x1="479.592988" x2="485.168074" y1="302.98276" y2="298.142033"> - <stop offset="0" style="stop-color:#a4ff53;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a4ff53;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1e5_0" x1="479.592988" x2="485.168074" y1="302.98276" y2="298.142033"> + <stop offset="1" style="stop-color:#b3f845;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a4ff53;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1e5_1" x1="479.592988" x2="483.869564" y1="291.721182" y2="301.01485"> - <stop offset="0" style="stop-color:#a4ff53;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a4ff53;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1e5_1" x1="479.592988" x2="483.869564" y1="291.721182" y2="301.01485"> + <stop offset="1" style="stop-color:#b3f845;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a4ff53;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1e5_2" x1="486.579665" x2="479.592988" y1="299.767769" y2="299.767769"> - <stop offset="0" style="stop-color:#d1e92a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d1e92a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1e5_2" x1="486.579665" x2="479.592988" y1="299.767769" y2="299.767769"> + <stop offset="1" style="stop-color:#b3f845;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d1e92a;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1e5" points="486.579665 299.767769 479.592988 302.98276 479.592988 291.721182"/> </defs> - <use fill="#b3f845" fill-opacity="1" xlink:href="#GT1e5"/> - <use fill="url(#GR1e5_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1e5"/> - <use fill="url(#GR1e5_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1e5"/> - <use fill="url(#GR1e5_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1e5"/> + <path d="M 486.579665,299.767769 L 479.592988,302.98276 479.592988,291.721182 Z" fill="#b3f845" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 486.579665,299.767769 L 479.592988,302.98276 479.592988,291.721182 Z" fill="url(#GR1e5_0)" shape-rendering="crispEdges"/> + <path d="M 486.579665,299.767769 L 479.592988,302.98276 479.592988,291.721182 Z" fill="url(#GR1e5_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 486.579665,299.767769 L 479.592988,302.98276 479.592988,291.721182 Z" fill="url(#GR1e5_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1e6_0" x1="479.592988" x2="483.869564" y1="291.721182" y2="301.01485"> - <stop offset="0" style="stop-color:#a4ff53;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a4ff53;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1e6_0" x1="479.592988" x2="483.869564" y1="291.721182" y2="301.01485"> + <stop offset="1" style="stop-color:#d1e92a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a4ff53;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1e6_1" x1="493.566342" x2="487.991256" y1="296.552778" y2="301.393505"> - <stop offset="0" style="stop-color:#ffd300;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd300;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1e6_1" x1="493.566342" x2="487.991256" y1="296.552778" y2="301.393505"> + <stop offset="1" style="stop-color:#d1e92a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd300;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1e6_2" x1="486.579665" x2="488.318717" y1="299.767769" y2="294.738295"> - <stop offset="0" style="stop-color:#d1e92a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d1e92a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1e6_2" x1="486.579665" x2="488.318717" y1="299.767769" y2="294.738295"> + <stop offset="1" style="stop-color:#d1e92a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d1e92a;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1e6" points="486.579665 299.767769 479.592988 291.721182 493.566342 296.552778"/> </defs> - <use fill="#d1e92a" fill-opacity="1" xlink:href="#GT1e6"/> - <use fill="url(#GR1e6_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1e6"/> - <use fill="url(#GR1e6_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1e6"/> - <use fill="url(#GR1e6_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1e6"/> + <path d="M 486.579665,299.767769 L 479.592988,291.721182 493.566342,296.552778 Z" fill="#d1e92a" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 486.579665,299.767769 L 479.592988,291.721182 493.566342,296.552778 Z" fill="url(#GR1e6_0)" shape-rendering="crispEdges"/> + <path d="M 486.579665,299.767769 L 479.592988,291.721182 493.566342,296.552778 Z" fill="url(#GR1e6_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 486.579665,299.767769 L 479.592988,291.721182 493.566342,296.552778 Z" fill="url(#GR1e6_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1e7_0" x1="493.566342" x2="487.991256" y1="296.552778" y2="301.393505"> - <stop offset="0" style="stop-color:#ffd300;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd300;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1e7_0" x1="493.566342" x2="487.991256" y1="296.552778" y2="301.393505"> + <stop offset="1" style="stop-color:#f0db0e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd300;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1e7_1" x1="493.566342" x2="489.289766" y1="307.814356" y2="298.520688"> - <stop offset="0" style="stop-color:#ffd300;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd300;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1e7_1" x1="493.566342" x2="489.289766" y1="307.814356" y2="298.520688"> + <stop offset="1" style="stop-color:#f0db0e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd300;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1e7_2" x1="486.579665" x2="493.566342" y1="299.767769" y2="299.767769"> - <stop offset="0" style="stop-color:#d1e92a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d1e92a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1e7_2" x1="486.579665" x2="493.566342" y1="299.767769" y2="299.767769"> + <stop offset="1" style="stop-color:#f0db0e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d1e92a;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1e7" points="486.579665 299.767769 493.566342 296.552778 493.566342 307.814356"/> </defs> - <use fill="#f0db0e" fill-opacity="1" xlink:href="#GT1e7"/> - <use fill="url(#GR1e7_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1e7"/> - <use fill="url(#GR1e7_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1e7"/> - <use fill="url(#GR1e7_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1e7"/> + <path d="M 486.579665,299.767769 L 493.566342,296.552778 493.566342,307.814356 Z" fill="#f0db0e" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 486.579665,299.767769 L 493.566342,296.552778 493.566342,307.814356 Z" fill="url(#GR1e7_0)" shape-rendering="crispEdges"/> + <path d="M 486.579665,299.767769 L 493.566342,296.552778 493.566342,307.814356 Z" fill="url(#GR1e7_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 486.579665,299.767769 L 493.566342,296.552778 493.566342,307.814356 Z" fill="url(#GR1e7_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1e8_0" x1="479.592988" x2="479.223133" y1="302.98276" y2="291.733342"> - <stop offset="0" style="stop-color:#a4ff53;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a4ff53;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1e8_0" x1="479.592988" x2="479.223133" y1="302.98276" y2="291.733342"> + <stop offset="1" style="stop-color:#6aff8d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a4ff53;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1e8_1" x1="466.927157" x2="471.784796" y1="292.137605" y2="289.35447"> - <stop offset="0" style="stop-color:#30ffc7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#30ffc7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1e8_1" x1="466.927157" x2="471.784796" y1="292.137605" y2="289.35447"> + <stop offset="1" style="stop-color:#6aff8d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#30ffc7;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1e8_2" x1="473.260073" x2="470.478244" y1="291.929393" y2="295.178233"> - <stop offset="0" style="stop-color:#6aff8d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#6aff8d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1e8_2" x1="473.260073" x2="470.478244" y1="291.929393" y2="295.178233"> + <stop offset="1" style="stop-color:#6aff8d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#6aff8d;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1e8" points="473.260073 291.929393 479.592988 302.98276 466.927157 292.137605"/> </defs> - <use fill="#6aff8d" fill-opacity="1" xlink:href="#GT1e8"/> - <use fill="url(#GR1e8_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1e8"/> - <use fill="url(#GR1e8_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1e8"/> - <use fill="url(#GR1e8_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1e8"/> + <path d="M 473.260073,291.929393 L 479.592988,302.98276 466.927157,292.137605 Z" fill="#6aff8d" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 473.260073,291.929393 L 479.592988,302.98276 466.927157,292.137605 Z" fill="url(#GR1e8_0)" shape-rendering="crispEdges"/> + <path d="M 473.260073,291.929393 L 479.592988,302.98276 466.927157,292.137605 Z" fill="url(#GR1e8_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 473.260073,291.929393 L 479.592988,302.98276 466.927157,292.137605 Z" fill="url(#GR1e8_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1e9_0" x1="466.927157" x2="471.784796" y1="292.137605" y2="289.35447"> - <stop offset="0" style="stop-color:#30ffc7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#30ffc7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1e9_0" x1="466.927157" x2="471.784796" y1="292.137605" y2="289.35447"> + <stop offset="1" style="stop-color:#43ffb4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#30ffc7;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1e9_1" x1="466.927157" x2="467.297012" y1="280.876027" y2="292.125445"> - <stop offset="0" style="stop-color:#30ffc7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#30ffc7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1e9_1" x1="466.927157" x2="467.297012" y1="280.876027" y2="292.125445"> + <stop offset="1" style="stop-color:#43ffb4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#30ffc7;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1e9_2" x1="473.260073" x2="466.927157" y1="291.929393" y2="291.929393"> - <stop offset="0" style="stop-color:#6aff8d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#6aff8d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1e9_2" x1="473.260073" x2="466.927157" y1="291.929393" y2="291.929393"> + <stop offset="1" style="stop-color:#43ffb4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#6aff8d;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1e9" points="473.260073 291.929393 466.927157 292.137605 466.927157 280.876027"/> </defs> - <use fill="#43ffb4" fill-opacity="1" xlink:href="#GT1e9"/> - <use fill="url(#GR1e9_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1e9"/> - <use fill="url(#GR1e9_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1e9"/> - <use fill="url(#GR1e9_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1e9"/> + <path d="M 473.260073,291.929393 L 466.927157,292.137605 466.927157,280.876027 Z" fill="#43ffb4" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 473.260073,291.929393 L 466.927157,292.137605 466.927157,280.876027 Z" fill="url(#GR1e9_0)" shape-rendering="crispEdges"/> + <path d="M 473.260073,291.929393 L 466.927157,292.137605 466.927157,280.876027 Z" fill="url(#GR1e9_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 473.260073,291.929393 L 466.927157,292.137605 466.927157,280.876027 Z" fill="url(#GR1e9_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1ea_0" x1="466.927157" x2="467.297012" y1="280.876027" y2="292.125445"> - <stop offset="0" style="stop-color:#30ffc7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#30ffc7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ea_0" x1="466.927157" x2="467.297012" y1="280.876027" y2="292.125445"> + <stop offset="1" style="stop-color:#6aff8d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#30ffc7;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1ea_1" x1="479.592988" x2="474.735349" y1="291.721182" y2="294.504317"> - <stop offset="0" style="stop-color:#a4ff53;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a4ff53;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ea_1" x1="479.592988" x2="474.735349" y1="291.721182" y2="294.504317"> + <stop offset="1" style="stop-color:#6aff8d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a4ff53;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1ea_2" x1="473.260073" x2="476.041901" y1="291.929393" y2="288.680554"> - <stop offset="0" style="stop-color:#6aff8d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#6aff8d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ea_2" x1="473.260073" x2="476.041901" y1="291.929393" y2="288.680554"> + <stop offset="1" style="stop-color:#6aff8d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#6aff8d;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1ea" points="473.260073 291.929393 466.927157 280.876027 479.592988 291.721182"/> </defs> - <use fill="#6aff8d" fill-opacity="1" xlink:href="#GT1ea"/> - <use fill="url(#GR1ea_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ea"/> - <use fill="url(#GR1ea_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ea"/> - <use fill="url(#GR1ea_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ea"/> + <path d="M 473.260073,291.929393 L 466.927157,280.876027 479.592988,291.721182 Z" fill="#6aff8d" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 473.260073,291.929393 L 466.927157,280.876027 479.592988,291.721182 Z" fill="url(#GR1ea_0)" shape-rendering="crispEdges"/> + <path d="M 473.260073,291.929393 L 466.927157,280.876027 479.592988,291.721182 Z" fill="url(#GR1ea_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 473.260073,291.929393 L 466.927157,280.876027 479.592988,291.721182 Z" fill="url(#GR1ea_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1eb_0" x1="479.592988" x2="474.735349" y1="291.721182" y2="294.504317"> - <stop offset="0" style="stop-color:#a4ff53;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a4ff53;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1eb_0" x1="479.592988" x2="474.735349" y1="291.721182" y2="294.504317"> + <stop offset="1" style="stop-color:#90ff66;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a4ff53;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1eb_1" x1="479.592988" x2="479.223133" y1="302.98276" y2="291.733342"> - <stop offset="0" style="stop-color:#a4ff53;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a4ff53;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1eb_1" x1="479.592988" x2="479.223133" y1="302.98276" y2="291.733342"> + <stop offset="1" style="stop-color:#90ff66;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a4ff53;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1eb_2" x1="473.260073" x2="479.592988" y1="291.929393" y2="291.929393"> - <stop offset="0" style="stop-color:#6aff8d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#6aff8d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1eb_2" x1="473.260073" x2="479.592988" y1="291.929393" y2="291.929393"> + <stop offset="1" style="stop-color:#90ff66;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#6aff8d;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1eb" points="473.260073 291.929393 479.592988 291.721182 479.592988 302.98276"/> </defs> - <use fill="#90ff66" fill-opacity="1" xlink:href="#GT1eb"/> - <use fill="url(#GR1eb_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1eb"/> - <use fill="url(#GR1eb_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1eb"/> - <use fill="url(#GR1eb_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1eb"/> + <path d="M 473.260073,291.929393 L 479.592988,291.721182 479.592988,302.98276 Z" fill="#90ff66" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 473.260073,291.929393 L 479.592988,291.721182 479.592988,302.98276 Z" fill="url(#GR1eb_0)" shape-rendering="crispEdges"/> + <path d="M 473.260073,291.929393 L 479.592988,291.721182 479.592988,302.98276 Z" fill="url(#GR1eb_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 473.260073,291.929393 L 479.592988,291.721182 479.592988,302.98276 Z" fill="url(#GR1eb_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1ec_0" x1="466.927157" x2="471.203531" y1="292.137605" y2="282.8437"> - <stop offset="0" style="stop-color:#30ffc7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#30ffc7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ec_0" x1="466.927157" x2="471.203531" y1="292.137605" y2="282.8437"> + <stop offset="1" style="stop-color:#18cae3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#30ffc7;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1ec_1" x1="456.505113" x2="460.255555" y1="276.080566" y2="274.649774"> - <stop offset="0" style="stop-color:#0094ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0094ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ec_1" x1="456.505113" x2="460.255555" y1="276.080566" y2="274.649774"> + <stop offset="1" style="stop-color:#18cae3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0094ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1ec_2" x1="461.716135" x2="459.144698" y1="278.478296" y2="280.147323"> - <stop offset="0" style="stop-color:#18cae3;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#18cae3;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ec_2" x1="461.716135" x2="459.144698" y1="278.478296" y2="280.147323"> + <stop offset="1" style="stop-color:#18cae3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#18cae3;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1ec" points="461.716135 278.478296 466.927157 292.137605 456.505113 276.080566"/> </defs> - <use fill="#18cae3" fill-opacity="1" xlink:href="#GT1ec"/> - <use fill="url(#GR1ec_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ec"/> - <use fill="url(#GR1ec_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ec"/> - <use fill="url(#GR1ec_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ec"/> + <path d="M 461.716135,278.478296 L 466.927157,292.137605 456.505113,276.080566 Z" fill="#18cae3" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 461.716135,278.478296 L 466.927157,292.137605 456.505113,276.080566 Z" fill="url(#GR1ec_0)" shape-rendering="crispEdges"/> + <path d="M 461.716135,278.478296 L 466.927157,292.137605 456.505113,276.080566 Z" fill="url(#GR1ec_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 461.716135,278.478296 L 466.927157,292.137605 456.505113,276.080566 Z" fill="url(#GR1ec_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1ed_0" x1="456.505113" x2="460.255555" y1="276.080566" y2="274.649774"> - <stop offset="0" style="stop-color:#0094ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0094ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ed_0" x1="456.505113" x2="460.255555" y1="276.080566" y2="274.649774"> + <stop offset="1" style="stop-color:#08a6f6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0094ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1ed_1" x1="456.505113" x2="452.22874" y1="264.818988" y2="274.112893"> - <stop offset="0" style="stop-color:#0094ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0094ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ed_1" x1="456.505113" x2="452.22874" y1="264.818988" y2="274.112893"> + <stop offset="1" style="stop-color:#08a6f6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0094ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1ed_2" x1="461.716135" x2="456.505113" y1="278.478296" y2="278.478296"> - <stop offset="0" style="stop-color:#18cae3;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#18cae3;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ed_2" x1="461.716135" x2="456.505113" y1="278.478296" y2="278.478296"> + <stop offset="1" style="stop-color:#08a6f6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#18cae3;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1ed" points="461.716135 278.478296 456.505113 276.080566 456.505113 264.818988"/> </defs> - <use fill="#08a6f6" fill-opacity="1" xlink:href="#GT1ed"/> - <use fill="url(#GR1ed_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ed"/> - <use fill="url(#GR1ed_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ed"/> - <use fill="url(#GR1ed_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ed"/> + <path d="M 461.716135,278.478296 L 456.505113,276.080566 456.505113,264.818988 Z" fill="#08a6f6" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 461.716135,278.478296 L 456.505113,276.080566 456.505113,264.818988 Z" fill="url(#GR1ed_0)" shape-rendering="crispEdges"/> + <path d="M 461.716135,278.478296 L 456.505113,276.080566 456.505113,264.818988 Z" fill="url(#GR1ed_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 461.716135,278.478296 L 456.505113,276.080566 456.505113,264.818988 Z" fill="url(#GR1ed_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1ee_0" x1="456.505113" x2="452.22874" y1="264.818988" y2="274.112893"> - <stop offset="0" style="stop-color:#0094ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0094ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ee_0" x1="456.505113" x2="452.22874" y1="264.818988" y2="274.112893"> + <stop offset="1" style="stop-color:#18cae3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0094ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1ee_1" x1="466.927157" x2="463.176716" y1="280.876027" y2="282.306819"> - <stop offset="0" style="stop-color:#30ffc7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#30ffc7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ee_1" x1="466.927157" x2="463.176716" y1="280.876027" y2="282.306819"> + <stop offset="1" style="stop-color:#18cae3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#30ffc7;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1ee_2" x1="461.716135" x2="464.287572" y1="278.478296" y2="276.809269"> - <stop offset="0" style="stop-color:#18cae3;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#18cae3;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ee_2" x1="461.716135" x2="464.287572" y1="278.478296" y2="276.809269"> + <stop offset="1" style="stop-color:#18cae3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#18cae3;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1ee" points="461.716135 278.478296 456.505113 264.818988 466.927157 280.876027"/> </defs> - <use fill="#18cae3" fill-opacity="1" xlink:href="#GT1ee"/> - <use fill="url(#GR1ee_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ee"/> - <use fill="url(#GR1ee_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ee"/> - <use fill="url(#GR1ee_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ee"/> + <path d="M 461.716135,278.478296 L 456.505113,264.818988 466.927157,280.876027 Z" fill="#18cae3" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 461.716135,278.478296 L 456.505113,264.818988 466.927157,280.876027 Z" fill="url(#GR1ee_0)" shape-rendering="crispEdges"/> + <path d="M 461.716135,278.478296 L 456.505113,264.818988 466.927157,280.876027 Z" fill="url(#GR1ee_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 461.716135,278.478296 L 456.505113,264.818988 466.927157,280.876027 Z" fill="url(#GR1ee_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1ef_0" x1="466.927157" x2="463.176716" y1="280.876027" y2="282.306819"> - <stop offset="0" style="stop-color:#30ffc7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#30ffc7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ef_0" x1="466.927157" x2="463.176716" y1="280.876027" y2="282.306819"> + <stop offset="1" style="stop-color:#28edd0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#30ffc7;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1ef_1" x1="466.927157" x2="471.203531" y1="292.137605" y2="282.8437"> - <stop offset="0" style="stop-color:#30ffc7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#30ffc7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ef_1" x1="466.927157" x2="471.203531" y1="292.137605" y2="282.8437"> + <stop offset="1" style="stop-color:#28edd0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#30ffc7;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1ef_2" x1="461.716135" x2="466.927157" y1="278.478296" y2="278.478296"> - <stop offset="0" style="stop-color:#18cae3;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#18cae3;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ef_2" x1="461.716135" x2="466.927157" y1="278.478296" y2="278.478296"> + <stop offset="1" style="stop-color:#28edd0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#18cae3;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1ef" points="461.716135 278.478296 466.927157 280.876027 466.927157 292.137605"/> </defs> - <use fill="#28edd0" fill-opacity="1" xlink:href="#GT1ef"/> - <use fill="url(#GR1ef_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ef"/> - <use fill="url(#GR1ef_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ef"/> - <use fill="url(#GR1ef_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ef"/> + <path d="M 461.716135,278.478296 L 466.927157,280.876027 466.927157,292.137605 Z" fill="#28edd0" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 461.716135,278.478296 L 466.927157,280.876027 466.927157,292.137605 Z" fill="url(#GR1ef_0)" shape-rendering="crispEdges"/> + <path d="M 461.716135,278.478296 L 466.927157,280.876027 466.927157,292.137605 Z" fill="url(#GR1ef_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 461.716135,278.478296 L 466.927157,280.876027 466.927157,292.137605 Z" fill="url(#GR1ef_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1f0_0" x1="456.505113" x2="462.051222" y1="276.080566" y2="271.42264"> - <stop offset="0" style="stop-color:#0094ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0094ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1f0_0" x1="456.505113" x2="462.051222" y1="276.080566" y2="271.42264"> + <stop offset="1" style="stop-color:#004eff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0094ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1f0_1" x1="449.097255" x2="451.618052" y1="255.998585" y2="255.40281"> - <stop offset="0" style="stop-color:#0008ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0008ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1f0_1" x1="449.097255" x2="451.618052" y1="255.998585" y2="255.40281"> + <stop offset="1" style="stop-color:#004eff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0008ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1f0_2" x1="452.801184" x2="450.972877" y1="260.408787" y2="261.083214"> - <stop offset="0" style="stop-color:#004eff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#004eff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1f0_2" x1="452.801184" x2="450.972877" y1="260.408787" y2="261.083214"> + <stop offset="1" style="stop-color:#004eff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#004eff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1f0" points="452.801184 260.408787 456.505113 276.080566 449.097255 255.998585"/> </defs> - <use fill="#004eff" fill-opacity="1" xlink:href="#GT1f0"/> - <use fill="url(#GR1f0_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1f0"/> - <use fill="url(#GR1f0_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1f0"/> - <use fill="url(#GR1f0_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1f0"/> + <path d="M 452.801184,260.408787 L 456.505113,276.080566 449.097255,255.998585 Z" fill="#004eff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.801184,260.408787 L 456.505113,276.080566 449.097255,255.998585 Z" fill="url(#GR1f0_0)" shape-rendering="crispEdges"/> + <path d="M 452.801184,260.408787 L 456.505113,276.080566 449.097255,255.998585 Z" fill="url(#GR1f0_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.801184,260.408787 L 456.505113,276.080566 449.097255,255.998585 Z" fill="url(#GR1f0_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1f1_0" x1="449.097255" x2="451.618052" y1="255.998585" y2="255.40281"> - <stop offset="0" style="stop-color:#0008ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0008ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1f1_0" x1="449.097255" x2="451.618052" y1="255.998585" y2="255.40281"> + <stop offset="1" style="stop-color:#0020ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0008ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1f1_1" x1="449.097255" x2="443.551146" y1="244.737007" y2="249.394933"> - <stop offset="0" style="stop-color:#0008ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0008ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1f1_1" x1="449.097255" x2="443.551146" y1="244.737007" y2="249.394933"> + <stop offset="1" style="stop-color:#0020ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0008ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1f1_2" x1="452.801184" x2="449.097255" y1="260.408787" y2="260.408787"> - <stop offset="0" style="stop-color:#004eff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#004eff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1f1_2" x1="452.801184" x2="449.097255" y1="260.408787" y2="260.408787"> + <stop offset="1" style="stop-color:#0020ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#004eff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1f1" points="452.801184 260.408787 449.097255 255.998585 449.097255 244.737007"/> </defs> - <use fill="#0020ff" fill-opacity="1" xlink:href="#GT1f1"/> - <use fill="url(#GR1f1_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1f1"/> - <use fill="url(#GR1f1_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1f1"/> - <use fill="url(#GR1f1_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1f1"/> + <path d="M 452.801184,260.408787 L 449.097255,255.998585 449.097255,244.737007 Z" fill="#0020ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.801184,260.408787 L 449.097255,255.998585 449.097255,244.737007 Z" fill="url(#GR1f1_0)" shape-rendering="crispEdges"/> + <path d="M 452.801184,260.408787 L 449.097255,255.998585 449.097255,244.737007 Z" fill="url(#GR1f1_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.801184,260.408787 L 449.097255,255.998585 449.097255,244.737007 Z" fill="url(#GR1f1_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1f2_0" x1="449.097255" x2="443.551146" y1="244.737007" y2="249.394933"> - <stop offset="0" style="stop-color:#0008ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0008ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1f2_0" x1="449.097255" x2="443.551146" y1="244.737007" y2="249.394933"> + <stop offset="1" style="stop-color:#004eff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0008ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1f2_1" x1="456.505113" x2="453.984316" y1="264.818988" y2="265.414763"> - <stop offset="0" style="stop-color:#0094ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0094ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1f2_1" x1="456.505113" x2="453.984316" y1="264.818988" y2="265.414763"> + <stop offset="1" style="stop-color:#004eff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0094ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1f2_2" x1="452.801184" x2="454.629491" y1="260.408787" y2="259.734359"> - <stop offset="0" style="stop-color:#004eff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#004eff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1f2_2" x1="452.801184" x2="454.629491" y1="260.408787" y2="259.734359"> + <stop offset="1" style="stop-color:#004eff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#004eff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1f2" points="452.801184 260.408787 449.097255 244.737007 456.505113 264.818988"/> </defs> - <use fill="#004eff" fill-opacity="1" xlink:href="#GT1f2"/> - <use fill="url(#GR1f2_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1f2"/> - <use fill="url(#GR1f2_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1f2"/> - <use fill="url(#GR1f2_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1f2"/> + <path d="M 452.801184,260.408787 L 449.097255,244.737007 456.505113,264.818988 Z" fill="#004eff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.801184,260.408787 L 449.097255,244.737007 456.505113,264.818988 Z" fill="url(#GR1f2_0)" shape-rendering="crispEdges"/> + <path d="M 452.801184,260.408787 L 449.097255,244.737007 456.505113,264.818988 Z" fill="url(#GR1f2_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.801184,260.408787 L 449.097255,244.737007 456.505113,264.818988 Z" fill="url(#GR1f2_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1f3_0" x1="456.505113" x2="453.984316" y1="264.818988" y2="265.414763"> - <stop offset="0" style="stop-color:#0094ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0094ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1f3_0" x1="456.505113" x2="453.984316" y1="264.818988" y2="265.414763"> + <stop offset="1" style="stop-color:#007dff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0094ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1f3_1" x1="456.505113" x2="462.051222" y1="276.080566" y2="271.42264"> - <stop offset="0" style="stop-color:#0094ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0094ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1f3_1" x1="456.505113" x2="462.051222" y1="276.080566" y2="271.42264"> + <stop offset="1" style="stop-color:#007dff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0094ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1f3_2" x1="452.801184" x2="456.505113" y1="260.408787" y2="260.408787"> - <stop offset="0" style="stop-color:#004eff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#004eff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1f3_2" x1="452.801184" x2="456.505113" y1="260.408787" y2="260.408787"> + <stop offset="1" style="stop-color:#007dff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#004eff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1f3" points="452.801184 260.408787 456.505113 264.818988 456.505113 276.080566"/> </defs> - <use fill="#007dff" fill-opacity="1" xlink:href="#GT1f3"/> - <use fill="url(#GR1f3_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1f3"/> - <use fill="url(#GR1f3_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1f3"/> - <use fill="url(#GR1f3_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1f3"/> + <path d="M 452.801184,260.408787 L 456.505113,264.818988 456.505113,276.080566 Z" fill="#007dff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.801184,260.408787 L 456.505113,264.818988 456.505113,276.080566 Z" fill="url(#GR1f3_0)" shape-rendering="crispEdges"/> + <path d="M 452.801184,260.408787 L 456.505113,264.818988 456.505113,276.080566 Z" fill="url(#GR1f3_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.801184,260.408787 L 456.505113,264.818988 456.505113,276.080566 Z" fill="url(#GR1f3_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1f4_0" x1="449.097255" x2="452.517709" y1="255.998585" y2="254.840634"> - <stop offset="0" style="stop-color:#0008ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0008ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1f4_0" x1="449.097255" x2="452.517709" y1="255.998585" y2="254.840634"> + <stop offset="1" style="stop-color:#0004bf;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0008ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1f4_1" x1="445.251175" x2="446.513185" y1="233.376127" y2="233.23288"> - <stop offset="0" style="stop-color:#000080;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000080;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1f4_1" x1="445.251175" x2="446.513185" y1="233.376127" y2="233.23288"> + <stop offset="1" style="stop-color:#0004bf;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000080;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1f4_2" x1="447.174215" x2="446.243808" y1="239.056567" y2="239.214747"> - <stop offset="0" style="stop-color:#0004bf;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0004bf;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1f4_2" x1="447.174215" x2="446.243808" y1="239.056567" y2="239.214747"> + <stop offset="1" style="stop-color:#0004bf;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0004bf;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1f4" points="447.174215 239.056567 449.097255 255.998585 445.251175 233.376127"/> </defs> - <use fill="#0004bf" fill-opacity="1" xlink:href="#GT1f4"/> - <use fill="url(#GR1f4_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1f4"/> - <use fill="url(#GR1f4_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1f4"/> - <use fill="url(#GR1f4_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1f4"/> + <path d="M 447.174215,239.056567 L 449.097255,255.998585 445.251175,233.376127 Z" fill="#0004bf" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.174215,239.056567 L 449.097255,255.998585 445.251175,233.376127 Z" fill="url(#GR1f4_0)" shape-rendering="crispEdges"/> + <path d="M 447.174215,239.056567 L 449.097255,255.998585 445.251175,233.376127 Z" fill="url(#GR1f4_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.174215,239.056567 L 449.097255,255.998585 445.251175,233.376127 Z" fill="url(#GR1f4_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1f5_0" x1="445.251175" x2="446.513185" y1="233.376127" y2="233.23288"> - <stop offset="0" style="stop-color:#000080;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000080;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1f5_0" x1="445.251175" x2="446.513185" y1="233.376127" y2="233.23288"> + <stop offset="1" style="stop-color:#000195;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000080;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1f5_1" x1="445.251175" x2="441.830721" y1="222.114549" y2="223.2725"> - <stop offset="0" style="stop-color:#000080;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000080;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1f5_1" x1="445.251175" x2="441.830721" y1="222.114549" y2="223.2725"> + <stop offset="1" style="stop-color:#000195;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000080;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1f5_2" x1="447.174215" x2="445.251175" y1="239.056567" y2="239.056567"> - <stop offset="0" style="stop-color:#0004bf;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0004bf;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1f5_2" x1="447.174215" x2="445.251175" y1="239.056567" y2="239.056567"> + <stop offset="1" style="stop-color:#000195;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0004bf;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1f5" points="447.174215 239.056567 445.251175 233.376127 445.251175 222.114549"/> </defs> - <use fill="#000195" fill-opacity="1" xlink:href="#GT1f5"/> - <use fill="url(#GR1f5_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1f5"/> - <use fill="url(#GR1f5_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1f5"/> - <use fill="url(#GR1f5_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1f5"/> + <path d="M 447.174215,239.056567 L 445.251175,233.376127 445.251175,222.114549 Z" fill="#000195" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.174215,239.056567 L 445.251175,233.376127 445.251175,222.114549 Z" fill="url(#GR1f5_0)" shape-rendering="crispEdges"/> + <path d="M 447.174215,239.056567 L 445.251175,233.376127 445.251175,222.114549 Z" fill="url(#GR1f5_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.174215,239.056567 L 445.251175,233.376127 445.251175,222.114549 Z" fill="url(#GR1f5_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1f6_0" x1="445.251175" x2="441.830721" y1="222.114549" y2="223.2725"> - <stop offset="0" style="stop-color:#000080;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000080;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1f6_0" x1="445.251175" x2="441.830721" y1="222.114549" y2="223.2725"> + <stop offset="1" style="stop-color:#0004bf;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000080;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1f6_1" x1="449.097255" x2="447.835245" y1="244.737007" y2="244.880254"> - <stop offset="0" style="stop-color:#0008ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0008ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1f6_1" x1="449.097255" x2="447.835245" y1="244.737007" y2="244.880254"> + <stop offset="1" style="stop-color:#0004bf;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0008ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1f6_2" x1="447.174215" x2="448.104622" y1="239.056567" y2="238.898387"> - <stop offset="0" style="stop-color:#0004bf;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0004bf;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1f6_2" x1="447.174215" x2="448.104622" y1="239.056567" y2="238.898387"> + <stop offset="1" style="stop-color:#0004bf;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0004bf;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1f6" points="447.174215 239.056567 445.251175 222.114549 449.097255 244.737007"/> </defs> - <use fill="#0004bf" fill-opacity="1" xlink:href="#GT1f6"/> - <use fill="url(#GR1f6_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1f6"/> - <use fill="url(#GR1f6_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1f6"/> - <use fill="url(#GR1f6_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1f6"/> + <path d="M 447.174215,239.056567 L 445.251175,222.114549 449.097255,244.737007 Z" fill="#0004bf" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.174215,239.056567 L 445.251175,222.114549 449.097255,244.737007 Z" fill="url(#GR1f6_0)" shape-rendering="crispEdges"/> + <path d="M 447.174215,239.056567 L 445.251175,222.114549 449.097255,244.737007 Z" fill="url(#GR1f6_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.174215,239.056567 L 445.251175,222.114549 449.097255,244.737007 Z" fill="url(#GR1f6_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1f7_0" x1="449.097255" x2="447.835245" y1="244.737007" y2="244.880254"> - <stop offset="0" style="stop-color:#0008ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0008ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1f7_0" x1="449.097255" x2="447.835245" y1="244.737007" y2="244.880254"> + <stop offset="1" style="stop-color:#0007ea;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0008ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1f7_1" x1="449.097255" x2="452.517709" y1="255.998585" y2="254.840634"> - <stop offset="0" style="stop-color:#0008ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0008ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1f7_1" x1="449.097255" x2="452.517709" y1="255.998585" y2="254.840634"> + <stop offset="1" style="stop-color:#0007ea;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0008ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1f7_2" x1="447.174215" x2="449.097255" y1="239.056567" y2="239.056567"> - <stop offset="0" style="stop-color:#0004bf;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0004bf;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1f7_2" x1="447.174215" x2="449.097255" y1="239.056567" y2="239.056567"> + <stop offset="1" style="stop-color:#0007ea;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0004bf;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1f7" points="447.174215 239.056567 449.097255 244.737007 449.097255 255.998585"/> </defs> - <use fill="#0007ea" fill-opacity="1" xlink:href="#GT1f7"/> - <use fill="url(#GR1f7_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1f7"/> - <use fill="url(#GR1f7_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1f7"/> - <use fill="url(#GR1f7_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1f7"/> + <path d="M 447.174215,239.056567 L 449.097255,244.737007 449.097255,255.998585 Z" fill="#0007ea" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.174215,239.056567 L 449.097255,244.737007 449.097255,255.998585 Z" fill="url(#GR1f7_0)" shape-rendering="crispEdges"/> + <path d="M 447.174215,239.056567 L 449.097255,244.737007 449.097255,255.998585 Z" fill="url(#GR1f7_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.174215,239.056567 L 449.097255,244.737007 449.097255,255.998585 Z" fill="url(#GR1f7_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1f8_0" x1="445.251175" x2="445.251175" y1="233.376127" y2="233.376127"> - <stop offset="0" style="stop-color:#000080;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000080;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1f8_0" x1="445.251175" x2="445.251175" y1="233.376127" y2="233.376127"> + <stop offset="1" style="stop-color:#000080;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000080;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1f8_1" x1="445.251175" x2="445.251175" y1="209.885451" y2="209.885451"> - <stop offset="0" style="stop-color:#000080;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000080;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1f8_1" x1="445.251175" x2="445.251175" y1="209.885451" y2="209.885451"> + <stop offset="1" style="stop-color:#000080;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000080;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1f8_2" x1="445.251175" x2="445.251175" y1="216" y2="216"> - <stop offset="0" style="stop-color:#000080;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000080;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1f8_2" x1="445.251175" x2="445.251175" y1="216" y2="216"> + <stop offset="1" style="stop-color:#000080;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000080;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1f8" points="445.251175 216 445.251175 233.376127 445.251175 209.885451"/> </defs> - <use fill="#000080" fill-opacity="1" xlink:href="#GT1f8"/> - <use fill="url(#GR1f8_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1f8"/> - <use fill="url(#GR1f8_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1f8"/> - <use fill="url(#GR1f8_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1f8"/> + <path d="M 445.251175,216 L 445.251175,233.376127 445.251175,209.885451 Z" fill="#000080" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 445.251175,216 L 445.251175,233.376127 445.251175,209.885451 Z" fill="url(#GR1f8_0)" shape-rendering="crispEdges"/> + <path d="M 445.251175,216 L 445.251175,233.376127 445.251175,209.885451 Z" fill="url(#GR1f8_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 445.251175,216 L 445.251175,233.376127 445.251175,209.885451 Z" fill="url(#GR1f8_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1f9_0" x1="445.251175" x2="445.251175" y1="209.885451" y2="209.885451"> - <stop offset="0" style="stop-color:#000080;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000080;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1f9_0" x1="445.251175" x2="445.251175" y1="209.885451" y2="209.885451"> + <stop offset="1" style="stop-color:#000080;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000080;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1f9_1" x1="445.251175" x2="445.251175" y1="198.623873" y2="198.623873"> - <stop offset="0" style="stop-color:#000080;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000080;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1f9_1" x1="445.251175" x2="445.251175" y1="198.623873" y2="198.623873"> + <stop offset="1" style="stop-color:#000080;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000080;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1f9_2" x1="445.251175" x2="445.251175" y1="216" y2="216"> - <stop offset="0" style="stop-color:#000080;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000080;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1f9_2" x1="445.251175" x2="445.251175" y1="216" y2="216"> + <stop offset="1" style="stop-color:#000080;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000080;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1f9" points="445.251175 216 445.251175 209.885451 445.251175 198.623873"/> </defs> - <use fill="#000080" fill-opacity="1" xlink:href="#GT1f9"/> - <use fill="url(#GR1f9_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1f9"/> - <use fill="url(#GR1f9_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1f9"/> - <use fill="url(#GR1f9_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1f9"/> + <path d="M 445.251175,216 L 445.251175,209.885451 445.251175,198.623873 Z" fill="#000080" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 445.251175,216 L 445.251175,209.885451 445.251175,198.623873 Z" fill="url(#GR1f9_0)" shape-rendering="crispEdges"/> + <path d="M 445.251175,216 L 445.251175,209.885451 445.251175,198.623873 Z" fill="url(#GR1f9_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 445.251175,216 L 445.251175,209.885451 445.251175,198.623873 Z" fill="url(#GR1f9_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1fa_0" x1="445.251175" x2="445.251175" y1="198.623873" y2="198.623873"> - <stop offset="0" style="stop-color:#000080;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000080;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1fa_0" x1="445.251175" x2="445.251175" y1="198.623873" y2="198.623873"> + <stop offset="1" style="stop-color:#000080;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000080;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1fa_1" x1="445.251175" x2="445.251175" y1="222.114549" y2="222.114549"> - <stop offset="0" style="stop-color:#000080;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000080;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1fa_1" x1="445.251175" x2="445.251175" y1="222.114549" y2="222.114549"> + <stop offset="1" style="stop-color:#000080;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000080;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1fa_2" x1="445.251175" x2="445.251175" y1="216" y2="216"> - <stop offset="0" style="stop-color:#000080;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000080;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1fa_2" x1="445.251175" x2="445.251175" y1="216" y2="216"> + <stop offset="1" style="stop-color:#000080;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000080;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1fa" points="445.251175 216 445.251175 198.623873 445.251175 222.114549"/> </defs> - <use fill="#000080" fill-opacity="1" xlink:href="#GT1fa"/> - <use fill="url(#GR1fa_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1fa"/> - <use fill="url(#GR1fa_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1fa"/> - <use fill="url(#GR1fa_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1fa"/> + <path d="M 445.251175,216 L 445.251175,198.623873 445.251175,222.114549 Z" fill="#000080" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 445.251175,216 L 445.251175,198.623873 445.251175,222.114549 Z" fill="url(#GR1fa_0)" shape-rendering="crispEdges"/> + <path d="M 445.251175,216 L 445.251175,198.623873 445.251175,222.114549 Z" fill="url(#GR1fa_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 445.251175,216 L 445.251175,198.623873 445.251175,222.114549 Z" fill="url(#GR1fa_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1fb_0" x1="445.251175" x2="445.251175" y1="222.114549" y2="222.114549"> - <stop offset="0" style="stop-color:#000080;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000080;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1fb_0" x1="445.251175" x2="445.251175" y1="222.114549" y2="222.114549"> + <stop offset="1" style="stop-color:#000080;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000080;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1fb_1" x1="445.251175" x2="445.251175" y1="233.376127" y2="233.376127"> - <stop offset="0" style="stop-color:#000080;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000080;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1fb_1" x1="445.251175" x2="445.251175" y1="233.376127" y2="233.376127"> + <stop offset="1" style="stop-color:#000080;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000080;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1fb_2" x1="445.251175" x2="445.251175" y1="216" y2="216"> - <stop offset="0" style="stop-color:#000080;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000080;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1fb_2" x1="445.251175" x2="445.251175" y1="216" y2="216"> + <stop offset="1" style="stop-color:#000080;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000080;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1fb" points="445.251175 216 445.251175 222.114549 445.251175 233.376127"/> </defs> - <use fill="#000080" fill-opacity="1" xlink:href="#GT1fb"/> - <use fill="url(#GR1fb_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1fb"/> - <use fill="url(#GR1fb_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1fb"/> - <use fill="url(#GR1fb_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1fb"/> + <path d="M 445.251175,216 L 445.251175,222.114549 445.251175,233.376127 Z" fill="#000080" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 445.251175,216 L 445.251175,222.114549 445.251175,233.376127 Z" fill="url(#GR1fb_0)" shape-rendering="crispEdges"/> + <path d="M 445.251175,216 L 445.251175,222.114549 445.251175,233.376127 Z" fill="url(#GR1fb_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 445.251175,216 L 445.251175,222.114549 445.251175,233.376127 Z" fill="url(#GR1fb_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1fc_0" x1="445.251175" x2="441.830721" y1="209.885451" y2="208.7275"> - <stop offset="0" style="stop-color:#000080;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000080;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1fc_0" x1="445.251175" x2="441.830721" y1="209.885451" y2="208.7275"> + <stop offset="1" style="stop-color:#0004bf;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000080;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1fc_1" x1="449.097255" x2="447.835245" y1="187.262993" y2="187.119746"> - <stop offset="0" style="stop-color:#0008ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0008ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1fc_1" x1="449.097255" x2="447.835245" y1="187.262993" y2="187.119746"> + <stop offset="1" style="stop-color:#0004bf;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0008ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1fc_2" x1="447.174215" x2="448.104622" y1="192.943433" y2="193.101613"> - <stop offset="0" style="stop-color:#0004bf;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0004bf;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1fc_2" x1="447.174215" x2="448.104622" y1="192.943433" y2="193.101613"> + <stop offset="1" style="stop-color:#0004bf;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0004bf;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1fc" points="447.174215 192.943433 445.251175 209.885451 449.097255 187.262993"/> </defs> - <use fill="#0004bf" fill-opacity="1" xlink:href="#GT1fc"/> - <use fill="url(#GR1fc_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1fc"/> - <use fill="url(#GR1fc_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1fc"/> - <use fill="url(#GR1fc_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1fc"/> + <path d="M 447.174215,192.943433 L 445.251175,209.885451 449.097255,187.262993 Z" fill="#0004bf" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.174215,192.943433 L 445.251175,209.885451 449.097255,187.262993 Z" fill="url(#GR1fc_0)" shape-rendering="crispEdges"/> + <path d="M 447.174215,192.943433 L 445.251175,209.885451 449.097255,187.262993 Z" fill="url(#GR1fc_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.174215,192.943433 L 445.251175,209.885451 449.097255,187.262993 Z" fill="url(#GR1fc_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1fd_0" x1="449.097255" x2="447.835245" y1="187.262993" y2="187.119746"> - <stop offset="0" style="stop-color:#0008ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0008ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1fd_0" x1="449.097255" x2="447.835245" y1="187.262993" y2="187.119746"> + <stop offset="1" style="stop-color:#0007ea;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0008ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1fd_1" x1="449.097255" x2="452.517709" y1="176.001415" y2="177.159366"> - <stop offset="0" style="stop-color:#0008ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0008ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1fd_1" x1="449.097255" x2="452.517709" y1="176.001415" y2="177.159366"> + <stop offset="1" style="stop-color:#0007ea;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0008ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1fd_2" x1="447.174215" x2="449.097255" y1="192.943433" y2="192.943433"> - <stop offset="0" style="stop-color:#0004bf;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0004bf;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1fd_2" x1="447.174215" x2="449.097255" y1="192.943433" y2="192.943433"> + <stop offset="1" style="stop-color:#0007ea;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0004bf;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1fd" points="447.174215 192.943433 449.097255 187.262993 449.097255 176.001415"/> </defs> - <use fill="#0007ea" fill-opacity="1" xlink:href="#GT1fd"/> - <use fill="url(#GR1fd_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1fd"/> - <use fill="url(#GR1fd_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1fd"/> - <use fill="url(#GR1fd_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1fd"/> + <path d="M 447.174215,192.943433 L 449.097255,187.262993 449.097255,176.001415 Z" fill="#0007ea" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.174215,192.943433 L 449.097255,187.262993 449.097255,176.001415 Z" fill="url(#GR1fd_0)" shape-rendering="crispEdges"/> + <path d="M 447.174215,192.943433 L 449.097255,187.262993 449.097255,176.001415 Z" fill="url(#GR1fd_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.174215,192.943433 L 449.097255,187.262993 449.097255,176.001415 Z" fill="url(#GR1fd_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1fe_0" x1="449.097255" x2="452.517709" y1="176.001415" y2="177.159366"> - <stop offset="0" style="stop-color:#0008ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0008ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1fe_0" x1="449.097255" x2="452.517709" y1="176.001415" y2="177.159366"> + <stop offset="1" style="stop-color:#0004bf;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0008ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1fe_1" x1="445.251175" x2="446.513185" y1="198.623873" y2="198.76712"> - <stop offset="0" style="stop-color:#000080;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000080;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1fe_1" x1="445.251175" x2="446.513185" y1="198.623873" y2="198.76712"> + <stop offset="1" style="stop-color:#0004bf;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000080;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1fe_2" x1="447.174215" x2="446.243808" y1="192.943433" y2="192.785253"> - <stop offset="0" style="stop-color:#0004bf;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0004bf;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1fe_2" x1="447.174215" x2="446.243808" y1="192.943433" y2="192.785253"> + <stop offset="1" style="stop-color:#0004bf;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0004bf;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1fe" points="447.174215 192.943433 449.097255 176.001415 445.251175 198.623873"/> </defs> - <use fill="#0004bf" fill-opacity="1" xlink:href="#GT1fe"/> - <use fill="url(#GR1fe_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1fe"/> - <use fill="url(#GR1fe_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1fe"/> - <use fill="url(#GR1fe_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1fe"/> + <path d="M 447.174215,192.943433 L 449.097255,176.001415 445.251175,198.623873 Z" fill="#0004bf" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.174215,192.943433 L 449.097255,176.001415 445.251175,198.623873 Z" fill="url(#GR1fe_0)" shape-rendering="crispEdges"/> + <path d="M 447.174215,192.943433 L 449.097255,176.001415 445.251175,198.623873 Z" fill="url(#GR1fe_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.174215,192.943433 L 449.097255,176.001415 445.251175,198.623873 Z" fill="url(#GR1fe_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR1ff_0" x1="445.251175" x2="446.513185" y1="198.623873" y2="198.76712"> - <stop offset="0" style="stop-color:#000080;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000080;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ff_0" x1="445.251175" x2="446.513185" y1="198.623873" y2="198.76712"> + <stop offset="1" style="stop-color:#000195;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000080;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1ff_1" x1="445.251175" x2="441.830721" y1="209.885451" y2="208.7275"> - <stop offset="0" style="stop-color:#000080;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000080;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ff_1" x1="445.251175" x2="441.830721" y1="209.885451" y2="208.7275"> + <stop offset="1" style="stop-color:#000195;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000080;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR1ff_2" x1="447.174215" x2="445.251175" y1="192.943433" y2="192.943433"> - <stop offset="0" style="stop-color:#0004bf;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0004bf;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR1ff_2" x1="447.174215" x2="445.251175" y1="192.943433" y2="192.943433"> + <stop offset="1" style="stop-color:#000195;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0004bf;stop-opacity:0;"/> </linearGradient> - <polygon id="GT1ff" points="447.174215 192.943433 445.251175 198.623873 445.251175 209.885451"/> </defs> - <use fill="#000195" fill-opacity="1" xlink:href="#GT1ff"/> - <use fill="url(#GR1ff_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ff"/> - <use fill="url(#GR1ff_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ff"/> - <use fill="url(#GR1ff_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT1ff"/> + <path d="M 447.174215,192.943433 L 445.251175,198.623873 445.251175,209.885451 Z" fill="#000195" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.174215,192.943433 L 445.251175,198.623873 445.251175,209.885451 Z" fill="url(#GR1ff_0)" shape-rendering="crispEdges"/> + <path d="M 447.174215,192.943433 L 445.251175,198.623873 445.251175,209.885451 Z" fill="url(#GR1ff_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.174215,192.943433 L 445.251175,198.623873 445.251175,209.885451 Z" fill="url(#GR1ff_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR200_0" x1="449.097255" x2="443.551146" y1="187.262993" y2="182.605067"> - <stop offset="0" style="stop-color:#0008ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0008ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR200_0" x1="449.097255" x2="443.551146" y1="187.262993" y2="182.605067"> + <stop offset="1" style="stop-color:#004eff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0008ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR200_1" x1="456.505113" x2="453.984316" y1="167.181012" y2="166.585237"> - <stop offset="0" style="stop-color:#0094ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0094ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR200_1" x1="456.505113" x2="453.984316" y1="167.181012" y2="166.585237"> + <stop offset="1" style="stop-color:#004eff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0094ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR200_2" x1="452.801184" x2="454.629491" y1="171.591213" y2="172.265641"> - <stop offset="0" style="stop-color:#004fff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#004fff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR200_2" x1="452.801184" x2="454.629491" y1="171.591213" y2="172.265641"> + <stop offset="1" style="stop-color:#004eff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#004fff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT200" points="452.801184 171.591213 449.097255 187.262993 456.505113 167.181012"/> </defs> - <use fill="#004eff" fill-opacity="1" xlink:href="#GT200"/> - <use fill="url(#GR200_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT200"/> - <use fill="url(#GR200_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT200"/> - <use fill="url(#GR200_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT200"/> + <path d="M 452.801184,171.591213 L 449.097255,187.262993 456.505113,167.181012 Z" fill="#004eff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.801184,171.591213 L 449.097255,187.262993 456.505113,167.181012 Z" fill="url(#GR200_0)" shape-rendering="crispEdges"/> + <path d="M 452.801184,171.591213 L 449.097255,187.262993 456.505113,167.181012 Z" fill="url(#GR200_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.801184,171.591213 L 449.097255,187.262993 456.505113,167.181012 Z" fill="url(#GR200_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR201_0" x1="456.505113" x2="453.984316" y1="167.181012" y2="166.585237"> - <stop offset="0" style="stop-color:#0094ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0094ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR201_0" x1="456.505113" x2="453.984316" y1="167.181012" y2="166.585237"> + <stop offset="1" style="stop-color:#007dff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0094ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR201_1" x1="456.505113" x2="462.051222" y1="155.919434" y2="160.57736"> - <stop offset="0" style="stop-color:#0094ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0094ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR201_1" x1="456.505113" x2="462.051222" y1="155.919434" y2="160.57736"> + <stop offset="1" style="stop-color:#007dff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0094ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR201_2" x1="452.801184" x2="456.505113" y1="171.591213" y2="171.591213"> - <stop offset="0" style="stop-color:#004fff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#004fff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR201_2" x1="452.801184" x2="456.505113" y1="171.591213" y2="171.591213"> + <stop offset="1" style="stop-color:#007dff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#004fff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT201" points="452.801184 171.591213 456.505113 167.181012 456.505113 155.919434"/> </defs> - <use fill="#007dff" fill-opacity="1" xlink:href="#GT201"/> - <use fill="url(#GR201_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT201"/> - <use fill="url(#GR201_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT201"/> - <use fill="url(#GR201_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT201"/> + <path d="M 452.801184,171.591213 L 456.505113,167.181012 456.505113,155.919434 Z" fill="#007dff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.801184,171.591213 L 456.505113,167.181012 456.505113,155.919434 Z" fill="url(#GR201_0)" shape-rendering="crispEdges"/> + <path d="M 452.801184,171.591213 L 456.505113,167.181012 456.505113,155.919434 Z" fill="url(#GR201_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.801184,171.591213 L 456.505113,167.181012 456.505113,155.919434 Z" fill="url(#GR201_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR202_0" x1="456.505113" x2="462.051222" y1="155.919434" y2="160.57736"> - <stop offset="0" style="stop-color:#0094ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0094ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR202_0" x1="456.505113" x2="462.051222" y1="155.919434" y2="160.57736"> + <stop offset="1" style="stop-color:#004eff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0094ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR202_1" x1="449.097255" x2="451.618052" y1="176.001415" y2="176.59719"> - <stop offset="0" style="stop-color:#0008ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0008ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR202_1" x1="449.097255" x2="451.618052" y1="176.001415" y2="176.59719"> + <stop offset="1" style="stop-color:#004eff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0008ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR202_2" x1="452.801184" x2="450.972877" y1="171.591213" y2="170.916786"> - <stop offset="0" style="stop-color:#004fff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#004fff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR202_2" x1="452.801184" x2="450.972877" y1="171.591213" y2="170.916786"> + <stop offset="1" style="stop-color:#004eff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#004fff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT202" points="452.801184 171.591213 456.505113 155.919434 449.097255 176.001415"/> </defs> - <use fill="#004eff" fill-opacity="1" xlink:href="#GT202"/> - <use fill="url(#GR202_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT202"/> - <use fill="url(#GR202_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT202"/> - <use fill="url(#GR202_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT202"/> + <path d="M 452.801184,171.591213 L 456.505113,155.919434 449.097255,176.001415 Z" fill="#004eff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.801184,171.591213 L 456.505113,155.919434 449.097255,176.001415 Z" fill="url(#GR202_0)" shape-rendering="crispEdges"/> + <path d="M 452.801184,171.591213 L 456.505113,155.919434 449.097255,176.001415 Z" fill="url(#GR202_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.801184,171.591213 L 456.505113,155.919434 449.097255,176.001415 Z" fill="url(#GR202_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR203_0" x1="449.097255" x2="451.618052" y1="176.001415" y2="176.59719"> - <stop offset="0" style="stop-color:#0008ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0008ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR203_0" x1="449.097255" x2="451.618052" y1="176.001415" y2="176.59719"> + <stop offset="1" style="stop-color:#0020ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0008ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR203_1" x1="449.097255" x2="443.551146" y1="187.262993" y2="182.605067"> - <stop offset="0" style="stop-color:#0008ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0008ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR203_1" x1="449.097255" x2="443.551146" y1="187.262993" y2="182.605067"> + <stop offset="1" style="stop-color:#0020ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0008ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR203_2" x1="452.801184" x2="449.097255" y1="171.591213" y2="171.591213"> - <stop offset="0" style="stop-color:#004fff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#004fff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR203_2" x1="452.801184" x2="449.097255" y1="171.591213" y2="171.591213"> + <stop offset="1" style="stop-color:#0020ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#004fff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT203" points="452.801184 171.591213 449.097255 176.001415 449.097255 187.262993"/> </defs> - <use fill="#0020ff" fill-opacity="1" xlink:href="#GT203"/> - <use fill="url(#GR203_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT203"/> - <use fill="url(#GR203_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT203"/> - <use fill="url(#GR203_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT203"/> + <path d="M 452.801184,171.591213 L 449.097255,176.001415 449.097255,187.262993 Z" fill="#0020ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.801184,171.591213 L 449.097255,176.001415 449.097255,187.262993 Z" fill="url(#GR203_0)" shape-rendering="crispEdges"/> + <path d="M 452.801184,171.591213 L 449.097255,176.001415 449.097255,187.262993 Z" fill="url(#GR203_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.801184,171.591213 L 449.097255,176.001415 449.097255,187.262993 Z" fill="url(#GR203_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR204_0" x1="456.505113" x2="452.22874" y1="167.181012" y2="157.887107"> - <stop offset="0" style="stop-color:#0094ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0094ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR204_0" x1="456.505113" x2="452.22874" y1="167.181012" y2="157.887107"> + <stop offset="1" style="stop-color:#18cae3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0094ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR204_1" x1="466.927157" x2="463.176716" y1="151.123973" y2="149.693181"> - <stop offset="0" style="stop-color:#30ffc7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#30ffc7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR204_1" x1="466.927157" x2="463.176716" y1="151.123973" y2="149.693181"> + <stop offset="1" style="stop-color:#18cae3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#30ffc7;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR204_2" x1="461.716135" x2="464.287572" y1="153.521704" y2="155.190731"> - <stop offset="0" style="stop-color:#18cae3;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#18cae3;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR204_2" x1="461.716135" x2="464.287572" y1="153.521704" y2="155.190731"> + <stop offset="1" style="stop-color:#18cae3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#18cae3;stop-opacity:0;"/> </linearGradient> - <polygon id="GT204" points="461.716135 153.521704 456.505113 167.181012 466.927157 151.123973"/> </defs> - <use fill="#18cae3" fill-opacity="1" xlink:href="#GT204"/> - <use fill="url(#GR204_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT204"/> - <use fill="url(#GR204_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT204"/> - <use fill="url(#GR204_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT204"/> + <path d="M 461.716135,153.521704 L 456.505113,167.181012 466.927157,151.123973 Z" fill="#18cae3" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 461.716135,153.521704 L 456.505113,167.181012 466.927157,151.123973 Z" fill="url(#GR204_0)" shape-rendering="crispEdges"/> + <path d="M 461.716135,153.521704 L 456.505113,167.181012 466.927157,151.123973 Z" fill="url(#GR204_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 461.716135,153.521704 L 456.505113,167.181012 466.927157,151.123973 Z" fill="url(#GR204_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR205_0" x1="466.927157" x2="463.176716" y1="151.123973" y2="149.693181"> - <stop offset="0" style="stop-color:#30ffc7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#30ffc7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR205_0" x1="466.927157" x2="463.176716" y1="151.123973" y2="149.693181"> + <stop offset="1" style="stop-color:#28edd0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#30ffc7;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR205_1" x1="466.927157" x2="471.203531" y1="139.862395" y2="149.1563"> - <stop offset="0" style="stop-color:#30ffc7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#30ffc7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR205_1" x1="466.927157" x2="471.203531" y1="139.862395" y2="149.1563"> + <stop offset="1" style="stop-color:#28edd0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#30ffc7;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR205_2" x1="461.716135" x2="466.927157" y1="153.521704" y2="153.521704"> - <stop offset="0" style="stop-color:#18cae3;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#18cae3;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR205_2" x1="461.716135" x2="466.927157" y1="153.521704" y2="153.521704"> + <stop offset="1" style="stop-color:#28edd0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#18cae3;stop-opacity:0;"/> </linearGradient> - <polygon id="GT205" points="461.716135 153.521704 466.927157 151.123973 466.927157 139.862395"/> </defs> - <use fill="#28edd0" fill-opacity="1" xlink:href="#GT205"/> - <use fill="url(#GR205_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT205"/> - <use fill="url(#GR205_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT205"/> - <use fill="url(#GR205_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT205"/> + <path d="M 461.716135,153.521704 L 466.927157,151.123973 466.927157,139.862395 Z" fill="#28edd0" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 461.716135,153.521704 L 466.927157,151.123973 466.927157,139.862395 Z" fill="url(#GR205_0)" shape-rendering="crispEdges"/> + <path d="M 461.716135,153.521704 L 466.927157,151.123973 466.927157,139.862395 Z" fill="url(#GR205_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 461.716135,153.521704 L 466.927157,151.123973 466.927157,139.862395 Z" fill="url(#GR205_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR206_0" x1="466.927157" x2="471.203531" y1="139.862395" y2="149.1563"> - <stop offset="0" style="stop-color:#30ffc7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#30ffc7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR206_0" x1="466.927157" x2="471.203531" y1="139.862395" y2="149.1563"> + <stop offset="1" style="stop-color:#18cae3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#30ffc7;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR206_1" x1="456.505113" x2="460.255555" y1="155.919434" y2="157.350226"> - <stop offset="0" style="stop-color:#0094ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0094ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR206_1" x1="456.505113" x2="460.255555" y1="155.919434" y2="157.350226"> + <stop offset="1" style="stop-color:#18cae3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0094ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR206_2" x1="461.716135" x2="459.144698" y1="153.521704" y2="151.852677"> - <stop offset="0" style="stop-color:#18cae3;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#18cae3;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR206_2" x1="461.716135" x2="459.144698" y1="153.521704" y2="151.852677"> + <stop offset="1" style="stop-color:#18cae3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#18cae3;stop-opacity:0;"/> </linearGradient> - <polygon id="GT206" points="461.716135 153.521704 466.927157 139.862395 456.505113 155.919434"/> </defs> - <use fill="#18cae3" fill-opacity="1" xlink:href="#GT206"/> - <use fill="url(#GR206_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT206"/> - <use fill="url(#GR206_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT206"/> - <use fill="url(#GR206_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT206"/> + <path d="M 461.716135,153.521704 L 466.927157,139.862395 456.505113,155.919434 Z" fill="#18cae3" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 461.716135,153.521704 L 466.927157,139.862395 456.505113,155.919434 Z" fill="url(#GR206_0)" shape-rendering="crispEdges"/> + <path d="M 461.716135,153.521704 L 466.927157,139.862395 456.505113,155.919434 Z" fill="url(#GR206_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 461.716135,153.521704 L 466.927157,139.862395 456.505113,155.919434 Z" fill="url(#GR206_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR207_0" x1="456.505113" x2="460.255555" y1="155.919434" y2="157.350226"> - <stop offset="0" style="stop-color:#0094ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0094ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR207_0" x1="456.505113" x2="460.255555" y1="155.919434" y2="157.350226"> + <stop offset="1" style="stop-color:#08a6f6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0094ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR207_1" x1="456.505113" x2="452.22874" y1="167.181012" y2="157.887107"> - <stop offset="0" style="stop-color:#0094ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0094ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR207_1" x1="456.505113" x2="452.22874" y1="167.181012" y2="157.887107"> + <stop offset="1" style="stop-color:#08a6f6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0094ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR207_2" x1="461.716135" x2="456.505113" y1="153.521704" y2="153.521704"> - <stop offset="0" style="stop-color:#18cae3;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#18cae3;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR207_2" x1="461.716135" x2="456.505113" y1="153.521704" y2="153.521704"> + <stop offset="1" style="stop-color:#08a6f6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#18cae3;stop-opacity:0;"/> </linearGradient> - <polygon id="GT207" points="461.716135 153.521704 456.505113 155.919434 456.505113 167.181012"/> </defs> - <use fill="#08a6f6" fill-opacity="1" xlink:href="#GT207"/> - <use fill="url(#GR207_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT207"/> - <use fill="url(#GR207_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT207"/> - <use fill="url(#GR207_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT207"/> + <path d="M 461.716135,153.521704 L 456.505113,155.919434 456.505113,167.181012 Z" fill="#08a6f6" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 461.716135,153.521704 L 456.505113,155.919434 456.505113,167.181012 Z" fill="url(#GR207_0)" shape-rendering="crispEdges"/> + <path d="M 461.716135,153.521704 L 456.505113,155.919434 456.505113,167.181012 Z" fill="url(#GR207_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 461.716135,153.521704 L 456.505113,155.919434 456.505113,167.181012 Z" fill="url(#GR207_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR208_0" x1="466.927157" x2="467.297012" y1="151.123973" y2="139.874555"> - <stop offset="0" style="stop-color:#30ffc7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#30ffc7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR208_0" x1="466.927157" x2="467.297012" y1="151.123973" y2="139.874555"> + <stop offset="1" style="stop-color:#6aff8d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#30ffc7;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR208_1" x1="479.592988" x2="474.735349" y1="140.278818" y2="137.495683"> - <stop offset="0" style="stop-color:#a4ff53;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a4ff53;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR208_1" x1="479.592988" x2="474.735349" y1="140.278818" y2="137.495683"> + <stop offset="1" style="stop-color:#6aff8d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a4ff53;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR208_2" x1="473.260073" x2="476.041901" y1="140.070607" y2="143.319446"> - <stop offset="0" style="stop-color:#6aff8d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#6aff8d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR208_2" x1="473.260073" x2="476.041901" y1="140.070607" y2="143.319446"> + <stop offset="1" style="stop-color:#6aff8d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#6aff8d;stop-opacity:0;"/> </linearGradient> - <polygon id="GT208" points="473.260073 140.070607 466.927157 151.123973 479.592988 140.278818"/> </defs> - <use fill="#6aff8d" fill-opacity="1" xlink:href="#GT208"/> - <use fill="url(#GR208_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT208"/> - <use fill="url(#GR208_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT208"/> - <use fill="url(#GR208_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT208"/> + <path d="M 473.260073,140.070607 L 466.927157,151.123973 479.592988,140.278818 Z" fill="#6aff8d" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 473.260073,140.070607 L 466.927157,151.123973 479.592988,140.278818 Z" fill="url(#GR208_0)" shape-rendering="crispEdges"/> + <path d="M 473.260073,140.070607 L 466.927157,151.123973 479.592988,140.278818 Z" fill="url(#GR208_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 473.260073,140.070607 L 466.927157,151.123973 479.592988,140.278818 Z" fill="url(#GR208_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR209_0" x1="479.592988" x2="474.735349" y1="140.278818" y2="137.495683"> - <stop offset="0" style="stop-color:#a4ff53;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a4ff53;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR209_0" x1="479.592988" x2="474.735349" y1="140.278818" y2="137.495683"> + <stop offset="1" style="stop-color:#90ff66;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a4ff53;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR209_1" x1="479.592988" x2="479.223133" y1="129.01724" y2="140.266658"> - <stop offset="0" style="stop-color:#a4ff53;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a4ff53;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR209_1" x1="479.592988" x2="479.223133" y1="129.01724" y2="140.266658"> + <stop offset="1" style="stop-color:#90ff66;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a4ff53;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR209_2" x1="473.260073" x2="479.592988" y1="140.070607" y2="140.070607"> - <stop offset="0" style="stop-color:#6aff8d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#6aff8d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR209_2" x1="473.260073" x2="479.592988" y1="140.070607" y2="140.070607"> + <stop offset="1" style="stop-color:#90ff66;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#6aff8d;stop-opacity:0;"/> </linearGradient> - <polygon id="GT209" points="473.260073 140.070607 479.592988 140.278818 479.592988 129.01724"/> </defs> - <use fill="#90ff66" fill-opacity="1" xlink:href="#GT209"/> - <use fill="url(#GR209_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT209"/> - <use fill="url(#GR209_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT209"/> - <use fill="url(#GR209_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT209"/> + <path d="M 473.260073,140.070607 L 479.592988,140.278818 479.592988,129.01724 Z" fill="#90ff66" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 473.260073,140.070607 L 479.592988,140.278818 479.592988,129.01724 Z" fill="url(#GR209_0)" shape-rendering="crispEdges"/> + <path d="M 473.260073,140.070607 L 479.592988,140.278818 479.592988,129.01724 Z" fill="url(#GR209_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 473.260073,140.070607 L 479.592988,140.278818 479.592988,129.01724 Z" fill="url(#GR209_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR20a_0" x1="479.592988" x2="479.223133" y1="129.01724" y2="140.266658"> - <stop offset="0" style="stop-color:#a4ff53;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a4ff53;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR20a_0" x1="479.592988" x2="479.223133" y1="129.01724" y2="140.266658"> + <stop offset="1" style="stop-color:#6aff8d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a4ff53;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR20a_1" x1="466.927157" x2="471.784796" y1="139.862395" y2="142.64553"> - <stop offset="0" style="stop-color:#30ffc7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#30ffc7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR20a_1" x1="466.927157" x2="471.784796" y1="139.862395" y2="142.64553"> + <stop offset="1" style="stop-color:#6aff8d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#30ffc7;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR20a_2" x1="473.260073" x2="470.478244" y1="140.070607" y2="136.821767"> - <stop offset="0" style="stop-color:#6aff8d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#6aff8d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR20a_2" x1="473.260073" x2="470.478244" y1="140.070607" y2="136.821767"> + <stop offset="1" style="stop-color:#6aff8d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#6aff8d;stop-opacity:0;"/> </linearGradient> - <polygon id="GT20a" points="473.260073 140.070607 479.592988 129.01724 466.927157 139.862395"/> </defs> - <use fill="#6aff8d" fill-opacity="1" xlink:href="#GT20a"/> - <use fill="url(#GR20a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT20a"/> - <use fill="url(#GR20a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT20a"/> - <use fill="url(#GR20a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT20a"/> + <path d="M 473.260073,140.070607 L 479.592988,129.01724 466.927157,139.862395 Z" fill="#6aff8d" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 473.260073,140.070607 L 479.592988,129.01724 466.927157,139.862395 Z" fill="url(#GR20a_0)" shape-rendering="crispEdges"/> + <path d="M 473.260073,140.070607 L 479.592988,129.01724 466.927157,139.862395 Z" fill="url(#GR20a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 473.260073,140.070607 L 479.592988,129.01724 466.927157,139.862395 Z" fill="url(#GR20a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR20b_0" x1="466.927157" x2="471.784796" y1="139.862395" y2="142.64553"> - <stop offset="0" style="stop-color:#30ffc7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#30ffc7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR20b_0" x1="466.927157" x2="471.784796" y1="139.862395" y2="142.64553"> + <stop offset="1" style="stop-color:#43ffb4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#30ffc7;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR20b_1" x1="466.927157" x2="467.297012" y1="151.123973" y2="139.874555"> - <stop offset="0" style="stop-color:#30ffc7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#30ffc7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR20b_1" x1="466.927157" x2="467.297012" y1="151.123973" y2="139.874555"> + <stop offset="1" style="stop-color:#43ffb4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#30ffc7;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR20b_2" x1="473.260073" x2="466.927157" y1="140.070607" y2="140.070607"> - <stop offset="0" style="stop-color:#6aff8d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#6aff8d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR20b_2" x1="473.260073" x2="466.927157" y1="140.070607" y2="140.070607"> + <stop offset="1" style="stop-color:#43ffb4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#6aff8d;stop-opacity:0;"/> </linearGradient> - <polygon id="GT20b" points="473.260073 140.070607 466.927157 139.862395 466.927157 151.123973"/> </defs> - <use fill="#43ffb4" fill-opacity="1" xlink:href="#GT20b"/> - <use fill="url(#GR20b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT20b"/> - <use fill="url(#GR20b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT20b"/> - <use fill="url(#GR20b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT20b"/> + <path d="M 473.260073,140.070607 L 466.927157,139.862395 466.927157,151.123973 Z" fill="#43ffb4" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 473.260073,140.070607 L 466.927157,139.862395 466.927157,151.123973 Z" fill="url(#GR20b_0)" shape-rendering="crispEdges"/> + <path d="M 473.260073,140.070607 L 466.927157,139.862395 466.927157,151.123973 Z" fill="url(#GR20b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 473.260073,140.070607 L 466.927157,139.862395 466.927157,151.123973 Z" fill="url(#GR20b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR20c_0" x1="479.592988" x2="483.869564" y1="140.278818" y2="130.98515"> - <stop offset="0" style="stop-color:#a4ff53;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a4ff53;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR20c_0" x1="479.592988" x2="483.869564" y1="140.278818" y2="130.98515"> + <stop offset="1" style="stop-color:#d1e92a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a4ff53;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR20c_1" x1="493.566342" x2="487.991256" y1="135.447222" y2="130.606495"> - <stop offset="0" style="stop-color:#ffd300;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd300;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR20c_1" x1="493.566342" x2="487.991256" y1="135.447222" y2="130.606495"> + <stop offset="1" style="stop-color:#d1e92a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd300;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR20c_2" x1="486.579665" x2="488.318717" y1="132.232231" y2="137.261705"> - <stop offset="0" style="stop-color:#d1e92a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d1e92a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR20c_2" x1="486.579665" x2="488.318717" y1="132.232231" y2="137.261705"> + <stop offset="1" style="stop-color:#d1e92a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d1e92a;stop-opacity:0;"/> </linearGradient> - <polygon id="GT20c" points="486.579665 132.232231 479.592988 140.278818 493.566342 135.447222"/> </defs> - <use fill="#d1e92a" fill-opacity="1" xlink:href="#GT20c"/> - <use fill="url(#GR20c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT20c"/> - <use fill="url(#GR20c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT20c"/> - <use fill="url(#GR20c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT20c"/> + <path d="M 486.579665,132.232231 L 479.592988,140.278818 493.566342,135.447222 Z" fill="#d1e92a" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 486.579665,132.232231 L 479.592988,140.278818 493.566342,135.447222 Z" fill="url(#GR20c_0)" shape-rendering="crispEdges"/> + <path d="M 486.579665,132.232231 L 479.592988,140.278818 493.566342,135.447222 Z" fill="url(#GR20c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 486.579665,132.232231 L 479.592988,140.278818 493.566342,135.447222 Z" fill="url(#GR20c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR20d_0" x1="493.566342" x2="487.991256" y1="135.447222" y2="130.606495"> - <stop offset="0" style="stop-color:#ffd300;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd300;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR20d_0" x1="493.566342" x2="487.991256" y1="135.447222" y2="130.606495"> + <stop offset="1" style="stop-color:#f0db0e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd300;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR20d_1" x1="493.566342" x2="489.289766" y1="124.185644" y2="133.479312"> - <stop offset="0" style="stop-color:#ffd300;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd300;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR20d_1" x1="493.566342" x2="489.289766" y1="124.185644" y2="133.479312"> + <stop offset="1" style="stop-color:#f0db0e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd300;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR20d_2" x1="486.579665" x2="493.566342" y1="132.232231" y2="132.232231"> - <stop offset="0" style="stop-color:#d1e92a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d1e92a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR20d_2" x1="486.579665" x2="493.566342" y1="132.232231" y2="132.232231"> + <stop offset="1" style="stop-color:#f0db0e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d1e92a;stop-opacity:0;"/> </linearGradient> - <polygon id="GT20d" points="486.579665 132.232231 493.566342 135.447222 493.566342 124.185644"/> </defs> - <use fill="#f0db0e" fill-opacity="1" xlink:href="#GT20d"/> - <use fill="url(#GR20d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT20d"/> - <use fill="url(#GR20d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT20d"/> - <use fill="url(#GR20d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT20d"/> + <path d="M 486.579665,132.232231 L 493.566342,135.447222 493.566342,124.185644 Z" fill="#f0db0e" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 486.579665,132.232231 L 493.566342,135.447222 493.566342,124.185644 Z" fill="url(#GR20d_0)" shape-rendering="crispEdges"/> + <path d="M 486.579665,132.232231 L 493.566342,135.447222 493.566342,124.185644 Z" fill="url(#GR20d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 486.579665,132.232231 L 493.566342,135.447222 493.566342,124.185644 Z" fill="url(#GR20d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR20e_0" x1="493.566342" x2="489.289766" y1="124.185644" y2="133.479312"> - <stop offset="0" style="stop-color:#ffd300;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd300;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR20e_0" x1="493.566342" x2="489.289766" y1="124.185644" y2="133.479312"> + <stop offset="1" style="stop-color:#d1e92a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd300;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR20e_1" x1="479.592988" x2="485.168074" y1="129.01724" y2="133.857967"> - <stop offset="0" style="stop-color:#a4ff53;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a4ff53;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR20e_1" x1="479.592988" x2="485.168074" y1="129.01724" y2="133.857967"> + <stop offset="1" style="stop-color:#d1e92a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a4ff53;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR20e_2" x1="486.579665" x2="484.840614" y1="132.232231" y2="127.202757"> - <stop offset="0" style="stop-color:#d1e92a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d1e92a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR20e_2" x1="486.579665" x2="484.840614" y1="132.232231" y2="127.202757"> + <stop offset="1" style="stop-color:#d1e92a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d1e92a;stop-opacity:0;"/> </linearGradient> - <polygon id="GT20e" points="486.579665 132.232231 493.566342 124.185644 479.592988 129.01724"/> </defs> - <use fill="#d1e92a" fill-opacity="1" xlink:href="#GT20e"/> - <use fill="url(#GR20e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT20e"/> - <use fill="url(#GR20e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT20e"/> - <use fill="url(#GR20e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT20e"/> + <path d="M 486.579665,132.232231 L 493.566342,124.185644 479.592988,129.01724 Z" fill="#d1e92a" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 486.579665,132.232231 L 493.566342,124.185644 479.592988,129.01724 Z" fill="url(#GR20e_0)" shape-rendering="crispEdges"/> + <path d="M 486.579665,132.232231 L 493.566342,124.185644 479.592988,129.01724 Z" fill="url(#GR20e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 486.579665,132.232231 L 493.566342,124.185644 479.592988,129.01724 Z" fill="url(#GR20e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR20f_0" x1="479.592988" x2="485.168074" y1="129.01724" y2="133.857967"> - <stop offset="0" style="stop-color:#a4ff53;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a4ff53;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR20f_0" x1="479.592988" x2="485.168074" y1="129.01724" y2="133.857967"> + <stop offset="1" style="stop-color:#b3f845;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a4ff53;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR20f_1" x1="479.592988" x2="483.869564" y1="140.278818" y2="130.98515"> - <stop offset="0" style="stop-color:#a4ff53;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a4ff53;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR20f_1" x1="479.592988" x2="483.869564" y1="140.278818" y2="130.98515"> + <stop offset="1" style="stop-color:#b3f845;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a4ff53;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR20f_2" x1="486.579665" x2="479.592988" y1="132.232231" y2="132.232231"> - <stop offset="0" style="stop-color:#d1e92a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d1e92a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR20f_2" x1="486.579665" x2="479.592988" y1="132.232231" y2="132.232231"> + <stop offset="1" style="stop-color:#b3f845;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d1e92a;stop-opacity:0;"/> </linearGradient> - <polygon id="GT20f" points="486.579665 132.232231 479.592988 129.01724 479.592988 140.278818"/> </defs> - <use fill="#b3f845" fill-opacity="1" xlink:href="#GT20f"/> - <use fill="url(#GR20f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT20f"/> - <use fill="url(#GR20f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT20f"/> - <use fill="url(#GR20f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT20f"/> + <path d="M 486.579665,132.232231 L 479.592988,129.01724 479.592988,140.278818 Z" fill="#b3f845" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 486.579665,132.232231 L 479.592988,129.01724 479.592988,140.278818 Z" fill="url(#GR20f_0)" shape-rendering="crispEdges"/> + <path d="M 486.579665,132.232231 L 479.592988,129.01724 479.592988,140.278818 Z" fill="url(#GR20f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 486.579665,132.232231 L 479.592988,129.01724 479.592988,140.278818 Z" fill="url(#GR20f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR210_0" x1="493.566342" x2="489.017761" y1="296.552778" y2="287.158052"> - <stop offset="0" style="stop-color:#ffd300;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd300;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR210_0" x1="493.566342" x2="489.017761" y1="296.552778" y2="287.158052"> + <stop offset="1" style="stop-color:#d2e929;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd300;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR210_1" x1="479.592988" x2="484.683062" y1="291.721182" y2="286.991867"> - <stop offset="0" style="stop-color:#a4ff53;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a4ff53;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR210_1" x1="479.592988" x2="484.683062" y1="291.721182" y2="286.991867"> + <stop offset="1" style="stop-color:#d2e929;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a4ff53;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR210_2" x1="486.134499" x2="484.45776" y1="288.554022" y2="293.403284"> - <stop offset="0" style="stop-color:#d2e829;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d2e829;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR210_2" x1="486.134499" x2="484.45776" y1="288.554022" y2="293.403284"> + <stop offset="1" style="stop-color:#d2e929;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d2e829;stop-opacity:0;"/> </linearGradient> - <polygon id="GT210" points="486.134499 288.554022 493.566342 296.552778 479.592988 291.721182"/> </defs> - <use fill="#d2e929" fill-opacity="1" xlink:href="#GT210"/> - <use fill="url(#GR210_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT210"/> - <use fill="url(#GR210_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT210"/> - <use fill="url(#GR210_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT210"/> + <path d="M 486.134499,288.554022 L 493.566342,296.552778 479.592988,291.721182 Z" fill="#d2e929" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 486.134499,288.554022 L 493.566342,296.552778 479.592988,291.721182 Z" fill="url(#GR210_0)" shape-rendering="crispEdges"/> + <path d="M 486.134499,288.554022 L 493.566342,296.552778 479.592988,291.721182 Z" fill="url(#GR210_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 486.134499,288.554022 L 493.566342,296.552778 479.592988,291.721182 Z" fill="url(#GR210_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR211_0" x1="479.592988" x2="484.683062" y1="291.721182" y2="286.991867"> - <stop offset="0" style="stop-color:#a4ff53;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a4ff53;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR211_0" x1="479.592988" x2="484.683062" y1="291.721182" y2="286.991867"> + <stop offset="1" style="stop-color:#b4f744;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a4ff53;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR211_1" x1="478.702656" x2="483.251237" y1="280.555266" y2="289.949992"> - <stop offset="0" style="stop-color:#a7ff50;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a7ff50;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR211_1" x1="478.702656" x2="483.251237" y1="280.555266" y2="289.949992"> + <stop offset="1" style="stop-color:#b4f744;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a7ff50;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR211_2" x1="486.134499" x2="479.383372" y1="288.554022" y2="289.092334"> - <stop offset="0" style="stop-color:#d2e829;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d2e829;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR211_2" x1="486.134499" x2="479.383372" y1="288.554022" y2="289.092334"> + <stop offset="1" style="stop-color:#b4f744;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d2e829;stop-opacity:0;"/> </linearGradient> - <polygon id="GT211" points="486.134499 288.554022 479.592988 291.721182 478.702656 280.555266"/> </defs> - <use fill="#b4f744" fill-opacity="1" xlink:href="#GT211"/> - <use fill="url(#GR211_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT211"/> - <use fill="url(#GR211_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT211"/> - <use fill="url(#GR211_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT211"/> + <path d="M 486.134499,288.554022 L 479.592988,291.721182 478.702656,280.555266 Z" fill="#b4f744" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 486.134499,288.554022 L 479.592988,291.721182 478.702656,280.555266 Z" fill="url(#GR211_0)" shape-rendering="crispEdges"/> + <path d="M 486.134499,288.554022 L 479.592988,291.721182 478.702656,280.555266 Z" fill="url(#GR211_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 486.134499,288.554022 L 479.592988,291.721182 478.702656,280.555266 Z" fill="url(#GR211_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR212_0" x1="478.702656" x2="483.251237" y1="280.555266" y2="289.949992"> - <stop offset="0" style="stop-color:#a7ff50;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a7ff50;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR212_0" x1="478.702656" x2="483.251237" y1="280.555266" y2="289.949992"> + <stop offset="1" style="stop-color:#d3e828;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a7ff50;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR212_1" x1="492.67601" x2="487.585936" y1="285.386862" y2="290.116177"> - <stop offset="0" style="stop-color:#ffd000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR212_1" x1="492.67601" x2="487.585936" y1="285.386862" y2="290.116177"> + <stop offset="1" style="stop-color:#d3e828;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR212_2" x1="486.134499" x2="487.811238" y1="288.554022" y2="283.70476"> - <stop offset="0" style="stop-color:#d2e829;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d2e829;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR212_2" x1="486.134499" x2="487.811238" y1="288.554022" y2="283.70476"> + <stop offset="1" style="stop-color:#d3e828;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d2e829;stop-opacity:0;"/> </linearGradient> - <polygon id="GT212" points="486.134499 288.554022 478.702656 280.555266 492.67601 285.386862"/> </defs> - <use fill="#d3e828" fill-opacity="1" xlink:href="#GT212"/> - <use fill="url(#GR212_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT212"/> - <use fill="url(#GR212_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT212"/> - <use fill="url(#GR212_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT212"/> + <path d="M 486.134499,288.554022 L 478.702656,280.555266 492.67601,285.386862 Z" fill="#d3e828" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 486.134499,288.554022 L 478.702656,280.555266 492.67601,285.386862 Z" fill="url(#GR212_0)" shape-rendering="crispEdges"/> + <path d="M 486.134499,288.554022 L 478.702656,280.555266 492.67601,285.386862 Z" fill="url(#GR212_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 486.134499,288.554022 L 478.702656,280.555266 492.67601,285.386862 Z" fill="url(#GR212_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR213_0" x1="492.67601" x2="487.585936" y1="285.386862" y2="290.116177"> - <stop offset="0" style="stop-color:#ffd000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR213_0" x1="492.67601" x2="487.585936" y1="285.386862" y2="290.116177"> + <stop offset="1" style="stop-color:#f0d90e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR213_1" x1="493.566342" x2="489.017761" y1="296.552778" y2="287.158052"> - <stop offset="0" style="stop-color:#ffd300;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd300;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR213_1" x1="493.566342" x2="489.017761" y1="296.552778" y2="287.158052"> + <stop offset="1" style="stop-color:#f0d90e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd300;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR213_2" x1="486.134499" x2="492.885626" y1="288.554022" y2="288.01571"> - <stop offset="0" style="stop-color:#d2e829;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d2e829;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR213_2" x1="486.134499" x2="492.885626" y1="288.554022" y2="288.01571"> + <stop offset="1" style="stop-color:#f0d90e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d2e829;stop-opacity:0;"/> </linearGradient> - <polygon id="GT213" points="486.134499 288.554022 492.67601 285.386862 493.566342 296.552778"/> </defs> - <use fill="#f0d90e" fill-opacity="1" xlink:href="#GT213"/> - <use fill="url(#GR213_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT213"/> - <use fill="url(#GR213_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT213"/> - <use fill="url(#GR213_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT213"/> + <path d="M 486.134499,288.554022 L 492.67601,285.386862 493.566342,296.552778 Z" fill="#f0d90e" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 486.134499,288.554022 L 492.67601,285.386862 493.566342,296.552778 Z" fill="url(#GR213_0)" shape-rendering="crispEdges"/> + <path d="M 486.134499,288.554022 L 492.67601,285.386862 493.566342,296.552778 Z" fill="url(#GR213_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 486.134499,288.554022 L 492.67601,285.386862 493.566342,296.552778 Z" fill="url(#GR213_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR214_0" x1="479.592988" x2="479.288398" y1="291.721182" y2="280.539311"> - <stop offset="0" style="stop-color:#a4ff53;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a4ff53;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR214_0" x1="479.592988" x2="479.288398" y1="291.721182" y2="280.539311"> + <stop offset="1" style="stop-color:#6aff8c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a4ff53;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR214_1" x1="466.927157" x2="471.267397" y1="280.876027" y2="278.202963"> - <stop offset="0" style="stop-color:#30ffc7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#30ffc7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR214_1" x1="466.927157" x2="471.267397" y1="280.876027" y2="278.202963"> + <stop offset="1" style="stop-color:#6aff8c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#30ffc7;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR214_2" x1="472.814907" x2="470.245023" y1="280.715646" y2="283.716959"> - <stop offset="0" style="stop-color:#6cff8b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#6cff8b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR214_2" x1="472.814907" x2="470.245023" y1="280.715646" y2="283.716959"> + <stop offset="1" style="stop-color:#6aff8c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#6cff8b;stop-opacity:0;"/> </linearGradient> - <polygon id="GT214" points="472.814907 280.715646 479.592988 291.721182 466.927157 280.876027"/> </defs> - <use fill="#6aff8c" fill-opacity="1" xlink:href="#GT214"/> - <use fill="url(#GR214_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT214"/> - <use fill="url(#GR214_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT214"/> - <use fill="url(#GR214_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT214"/> + <path d="M 472.814907,280.715646 L 479.592988,291.721182 466.927157,280.876027 Z" fill="#6aff8c" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 472.814907,280.715646 L 479.592988,291.721182 466.927157,280.876027 Z" fill="url(#GR214_0)" shape-rendering="crispEdges"/> + <path d="M 472.814907,280.715646 L 479.592988,291.721182 466.927157,280.876027 Z" fill="url(#GR214_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 472.814907,280.715646 L 479.592988,291.721182 466.927157,280.876027 Z" fill="url(#GR214_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR215_0" x1="466.927157" x2="471.267397" y1="280.876027" y2="278.202963"> - <stop offset="0" style="stop-color:#30ffc7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#30ffc7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR215_0" x1="466.927157" x2="471.267397" y1="280.876027" y2="278.202963"> + <stop offset="1" style="stop-color:#46ffb1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#30ffc7;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR215_1" x1="466.036825" x2="466.341415" y1="269.710111" y2="280.891982"> - <stop offset="0" style="stop-color:#36ffc1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#36ffc1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR215_1" x1="466.036825" x2="466.341415" y1="269.710111" y2="280.891982"> + <stop offset="1" style="stop-color:#46ffb1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#36ffc1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR215_2" x1="472.814907" x2="466.951647" y1="280.715646" y2="281.183163"> - <stop offset="0" style="stop-color:#6cff8b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#6cff8b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR215_2" x1="472.814907" x2="466.951647" y1="280.715646" y2="281.183163"> + <stop offset="1" style="stop-color:#46ffb1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#6cff8b;stop-opacity:0;"/> </linearGradient> - <polygon id="GT215" points="472.814907 280.715646 466.927157 280.876027 466.036825 269.710111"/> </defs> - <use fill="#46ffb1" fill-opacity="1" xlink:href="#GT215"/> - <use fill="url(#GR215_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT215"/> - <use fill="url(#GR215_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT215"/> - <use fill="url(#GR215_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT215"/> + <path d="M 472.814907,280.715646 L 466.927157,280.876027 466.036825,269.710111 Z" fill="#46ffb1" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 472.814907,280.715646 L 466.927157,280.876027 466.036825,269.710111 Z" fill="url(#GR215_0)" shape-rendering="crispEdges"/> + <path d="M 472.814907,280.715646 L 466.927157,280.876027 466.036825,269.710111 Z" fill="url(#GR215_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 472.814907,280.715646 L 466.927157,280.876027 466.036825,269.710111 Z" fill="url(#GR215_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR216_0" x1="466.036825" x2="466.341415" y1="269.710111" y2="280.891982"> - <stop offset="0" style="stop-color:#36ffc1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#36ffc1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR216_0" x1="466.036825" x2="466.341415" y1="269.710111" y2="280.891982"> + <stop offset="1" style="stop-color:#6eff89;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#36ffc1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR216_1" x1="478.702656" x2="474.362416" y1="280.555266" y2="283.22833"> - <stop offset="0" style="stop-color:#a7ff50;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a7ff50;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR216_1" x1="478.702656" x2="474.362416" y1="280.555266" y2="283.22833"> + <stop offset="1" style="stop-color:#6eff89;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a7ff50;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR216_2" x1="472.814907" x2="475.38479" y1="280.715646" y2="277.714334"> - <stop offset="0" style="stop-color:#6cff8b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#6cff8b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR216_2" x1="472.814907" x2="475.38479" y1="280.715646" y2="277.714334"> + <stop offset="1" style="stop-color:#6eff89;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#6cff8b;stop-opacity:0;"/> </linearGradient> - <polygon id="GT216" points="472.814907 280.715646 466.036825 269.710111 478.702656 280.555266"/> </defs> - <use fill="#6eff89" fill-opacity="1" xlink:href="#GT216"/> - <use fill="url(#GR216_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT216"/> - <use fill="url(#GR216_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT216"/> - <use fill="url(#GR216_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT216"/> + <path d="M 472.814907,280.715646 L 466.036825,269.710111 478.702656,280.555266 Z" fill="#6eff89" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 472.814907,280.715646 L 466.036825,269.710111 478.702656,280.555266 Z" fill="url(#GR216_0)" shape-rendering="crispEdges"/> + <path d="M 472.814907,280.715646 L 466.036825,269.710111 478.702656,280.555266 Z" fill="url(#GR216_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 472.814907,280.715646 L 466.036825,269.710111 478.702656,280.555266 Z" fill="url(#GR216_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR217_0" x1="478.702656" x2="474.362416" y1="280.555266" y2="283.22833"> - <stop offset="0" style="stop-color:#a7ff50;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a7ff50;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR217_0" x1="478.702656" x2="474.362416" y1="280.555266" y2="283.22833"> + <stop offset="1" style="stop-color:#92ff65;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a7ff50;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR217_1" x1="479.592988" x2="479.288398" y1="291.721182" y2="280.539311"> - <stop offset="0" style="stop-color:#a4ff53;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a4ff53;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR217_1" x1="479.592988" x2="479.288398" y1="291.721182" y2="280.539311"> + <stop offset="1" style="stop-color:#92ff65;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a4ff53;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR217_2" x1="472.814907" x2="478.678166" y1="280.715646" y2="280.24813"> - <stop offset="0" style="stop-color:#6cff8b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#6cff8b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR217_2" x1="472.814907" x2="478.678166" y1="280.715646" y2="280.24813"> + <stop offset="1" style="stop-color:#92ff65;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#6cff8b;stop-opacity:0;"/> </linearGradient> - <polygon id="GT217" points="472.814907 280.715646 478.702656 280.555266 479.592988 291.721182"/> </defs> - <use fill="#92ff65" fill-opacity="1" xlink:href="#GT217"/> - <use fill="url(#GR217_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT217"/> - <use fill="url(#GR217_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT217"/> - <use fill="url(#GR217_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT217"/> + <path d="M 472.814907,280.715646 L 478.702656,280.555266 479.592988,291.721182 Z" fill="#92ff65" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 472.814907,280.715646 L 478.702656,280.555266 479.592988,291.721182 Z" fill="url(#GR217_0)" shape-rendering="crispEdges"/> + <path d="M 472.814907,280.715646 L 478.702656,280.555266 479.592988,291.721182 Z" fill="url(#GR217_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 472.814907,280.715646 L 478.702656,280.555266 479.592988,291.721182 Z" fill="url(#GR217_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR218_0" x1="466.927157" x2="471.277034" y1="280.876027" y2="272.399082"> - <stop offset="0" style="stop-color:#30ffc7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#30ffc7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR218_0" x1="466.927157" x2="471.277034" y1="280.876027" y2="272.399082"> + <stop offset="1" style="stop-color:#18cbe3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#30ffc7;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR218_1" x1="456.505113" x2="459.702593" y1="264.818988" y2="263.49029"> - <stop offset="0" style="stop-color:#0094ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0094ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR218_1" x1="456.505113" x2="459.702593" y1="264.818988" y2="263.49029"> + <stop offset="1" style="stop-color:#18cbe3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0094ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR218_2" x1="461.270969" x2="459.03459" y1="267.264549" y2="268.716103"> - <stop offset="0" style="stop-color:#19cde1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19cde1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR218_2" x1="461.270969" x2="459.03459" y1="267.264549" y2="268.716103"> + <stop offset="1" style="stop-color:#18cbe3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19cde1;stop-opacity:0;"/> </linearGradient> - <polygon id="GT218" points="461.270969 267.264549 466.927157 280.876027 456.505113 264.818988"/> </defs> - <use fill="#18cbe3" fill-opacity="1" xlink:href="#GT218"/> - <use fill="url(#GR218_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT218"/> - <use fill="url(#GR218_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT218"/> - <use fill="url(#GR218_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT218"/> + <path d="M 461.270969,267.264549 L 466.927157,280.876027 456.505113,264.818988 Z" fill="#18cbe3" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 461.270969,267.264549 L 466.927157,280.876027 456.505113,264.818988 Z" fill="url(#GR218_0)" shape-rendering="crispEdges"/> + <path d="M 461.270969,267.264549 L 466.927157,280.876027 456.505113,264.818988 Z" fill="url(#GR218_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 461.270969,267.264549 L 466.927157,280.876027 456.505113,264.818988 Z" fill="url(#GR218_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR219_0" x1="456.505113" x2="459.702593" y1="264.818988" y2="263.49029"> - <stop offset="0" style="stop-color:#0094ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0094ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR219_0" x1="456.505113" x2="459.702593" y1="264.818988" y2="263.49029"> + <stop offset="1" style="stop-color:#08abf5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0094ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR219_1" x1="455.614781" x2="451.264904" y1="253.653072" y2="262.130016"> - <stop offset="0" style="stop-color:#00a0ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a0ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR219_1" x1="455.614781" x2="451.264904" y1="253.653072" y2="262.130016"> + <stop offset="1" style="stop-color:#08abf5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a0ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR219_2" x1="461.270969" x2="456.728991" y1="267.264549" y2="267.626711"> - <stop offset="0" style="stop-color:#19cde1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19cde1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR219_2" x1="461.270969" x2="456.728991" y1="267.264549" y2="267.626711"> + <stop offset="1" style="stop-color:#08abf5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19cde1;stop-opacity:0;"/> </linearGradient> - <polygon id="GT219" points="461.270969 267.264549 456.505113 264.818988 455.614781 253.653072"/> </defs> - <use fill="#08abf5" fill-opacity="1" xlink:href="#GT219"/> - <use fill="url(#GR219_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT219"/> - <use fill="url(#GR219_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT219"/> - <use fill="url(#GR219_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT219"/> + <path d="M 461.270969,267.264549 L 456.505113,264.818988 455.614781,253.653072 Z" fill="#08abf5" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 461.270969,267.264549 L 456.505113,264.818988 455.614781,253.653072 Z" fill="url(#GR219_0)" shape-rendering="crispEdges"/> + <path d="M 461.270969,267.264549 L 456.505113,264.818988 455.614781,253.653072 Z" fill="url(#GR219_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 461.270969,267.264549 L 456.505113,264.818988 455.614781,253.653072 Z" fill="url(#GR219_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR21a_0" x1="455.614781" x2="451.264904" y1="253.653072" y2="262.130016"> - <stop offset="0" style="stop-color:#00a0ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a0ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR21a_0" x1="455.614781" x2="451.264904" y1="253.653072" y2="262.130016"> + <stop offset="1" style="stop-color:#1acfe0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a0ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR21a_1" x1="466.036825" x2="462.839346" y1="269.710111" y2="271.038809"> - <stop offset="0" style="stop-color:#36ffc1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#36ffc1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR21a_1" x1="466.036825" x2="462.839346" y1="269.710111" y2="271.038809"> + <stop offset="1" style="stop-color:#1acfe0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#36ffc1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR21a_2" x1="461.270969" x2="463.507349" y1="267.264549" y2="265.812996"> - <stop offset="0" style="stop-color:#19cde1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19cde1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR21a_2" x1="461.270969" x2="463.507349" y1="267.264549" y2="265.812996"> + <stop offset="1" style="stop-color:#1acfe0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19cde1;stop-opacity:0;"/> </linearGradient> - <polygon id="GT21a" points="461.270969 267.264549 455.614781 253.653072 466.036825 269.710111"/> </defs> - <use fill="#1acfe0" fill-opacity="1" xlink:href="#GT21a"/> - <use fill="url(#GR21a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT21a"/> - <use fill="url(#GR21a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT21a"/> - <use fill="url(#GR21a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT21a"/> + <path d="M 461.270969,267.264549 L 455.614781,253.653072 466.036825,269.710111 Z" fill="#1acfe0" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 461.270969,267.264549 L 455.614781,253.653072 466.036825,269.710111 Z" fill="url(#GR21a_0)" shape-rendering="crispEdges"/> + <path d="M 461.270969,267.264549 L 455.614781,253.653072 466.036825,269.710111 Z" fill="url(#GR21a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 461.270969,267.264549 L 455.614781,253.653072 466.036825,269.710111 Z" fill="url(#GR21a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR21b_0" x1="466.036825" x2="462.839346" y1="269.710111" y2="271.038809"> - <stop offset="0" style="stop-color:#36ffc1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#36ffc1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR21b_0" x1="466.036825" x2="462.839346" y1="269.710111" y2="271.038809"> + <stop offset="1" style="stop-color:#2aeece;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#36ffc1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR21b_1" x1="466.927157" x2="471.277034" y1="280.876027" y2="272.399082"> - <stop offset="0" style="stop-color:#30ffc7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#30ffc7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR21b_1" x1="466.927157" x2="471.277034" y1="280.876027" y2="272.399082"> + <stop offset="1" style="stop-color:#2aeece;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#30ffc7;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR21b_2" x1="461.270969" x2="465.812947" y1="267.264549" y2="266.902387"> - <stop offset="0" style="stop-color:#19cde1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19cde1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR21b_2" x1="461.270969" x2="465.812947" y1="267.264549" y2="266.902387"> + <stop offset="1" style="stop-color:#2aeece;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19cde1;stop-opacity:0;"/> </linearGradient> - <polygon id="GT21b" points="461.270969 267.264549 466.036825 269.710111 466.927157 280.876027"/> </defs> - <use fill="#2aeece" fill-opacity="1" xlink:href="#GT21b"/> - <use fill="url(#GR21b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT21b"/> - <use fill="url(#GR21b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT21b"/> - <use fill="url(#GR21b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT21b"/> + <path d="M 461.270969,267.264549 L 466.036825,269.710111 466.927157,280.876027 Z" fill="#2aeece" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 461.270969,267.264549 L 466.036825,269.710111 466.927157,280.876027 Z" fill="url(#GR21b_0)" shape-rendering="crispEdges"/> + <path d="M 461.270969,267.264549 L 466.036825,269.710111 466.927157,280.876027 Z" fill="url(#GR21b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 461.270969,267.264549 L 466.036825,269.710111 466.927157,280.876027 Z" fill="url(#GR21b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR21c_0" x1="456.505113" x2="461.244478" y1="264.818988" y2="261.354575"> - <stop offset="0" style="stop-color:#0094ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0094ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR21c_0" x1="456.505113" x2="461.244478" y1="264.818988" y2="261.354575"> + <stop offset="1" style="stop-color:#0051ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0094ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR21c_1" x1="449.097255" x2="451.035457" y1="244.737007" y2="244.222298"> - <stop offset="0" style="stop-color:#0008ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0008ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR21c_1" x1="449.097255" x2="451.035457" y1="244.737007" y2="244.222298"> + <stop offset="1" style="stop-color:#0051ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0008ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR21c_2" x1="452.356018" x2="450.935088" y1="249.19504" y2="249.719193"> - <stop offset="0" style="stop-color:#0056ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0056ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR21c_2" x1="452.356018" x2="450.935088" y1="249.19504" y2="249.719193"> + <stop offset="1" style="stop-color:#0051ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0056ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT21c" points="452.356018 249.19504 456.505113 264.818988 449.097255 244.737007"/> </defs> - <use fill="#0051ff" fill-opacity="1" xlink:href="#GT21c"/> - <use fill="url(#GR21c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT21c"/> - <use fill="url(#GR21c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT21c"/> - <use fill="url(#GR21c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT21c"/> + <path d="M 452.356018,249.19504 L 456.505113,264.818988 449.097255,244.737007 Z" fill="#0051ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.356018,249.19504 L 456.505113,264.818988 449.097255,244.737007 Z" fill="url(#GR21c_0)" shape-rendering="crispEdges"/> + <path d="M 452.356018,249.19504 L 456.505113,264.818988 449.097255,244.737007 Z" fill="url(#GR21c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.356018,249.19504 L 456.505113,264.818988 449.097255,244.737007 Z" fill="url(#GR21c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR21d_0" x1="449.097255" x2="451.035457" y1="244.737007" y2="244.222298"> - <stop offset="0" style="stop-color:#0008ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0008ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR21d_0" x1="449.097255" x2="451.035457" y1="244.737007" y2="244.222298"> + <stop offset="1" style="stop-color:#0029ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0008ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR21d_1" x1="448.206923" x2="443.467558" y1="233.571091" y2="237.035504"> - <stop offset="0" style="stop-color:#001cff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#001cff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR21d_1" x1="448.206923" x2="443.467558" y1="233.571091" y2="237.035504"> + <stop offset="1" style="stop-color:#0029ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#001cff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR21d_2" x1="452.356018" x2="449.471066" y1="249.19504" y2="249.425076"> - <stop offset="0" style="stop-color:#0056ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0056ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR21d_2" x1="452.356018" x2="449.471066" y1="249.19504" y2="249.425076"> + <stop offset="1" style="stop-color:#0029ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0056ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT21d" points="452.356018 249.19504 449.097255 244.737007 448.206923 233.571091"/> </defs> - <use fill="#0029ff" fill-opacity="1" xlink:href="#GT21d"/> - <use fill="url(#GR21d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT21d"/> - <use fill="url(#GR21d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT21d"/> - <use fill="url(#GR21d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT21d"/> + <path d="M 452.356018,249.19504 L 449.097255,244.737007 448.206923,233.571091 Z" fill="#0029ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.356018,249.19504 L 449.097255,244.737007 448.206923,233.571091 Z" fill="url(#GR21d_0)" shape-rendering="crispEdges"/> + <path d="M 452.356018,249.19504 L 449.097255,244.737007 448.206923,233.571091 Z" fill="url(#GR21d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.356018,249.19504 L 449.097255,244.737007 448.206923,233.571091 Z" fill="url(#GR21d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR21e_0" x1="448.206923" x2="443.467558" y1="233.571091" y2="237.035504"> - <stop offset="0" style="stop-color:#001cff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#001cff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR21e_0" x1="448.206923" x2="443.467558" y1="233.571091" y2="237.035504"> + <stop offset="1" style="stop-color:#005cff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#001cff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR21e_1" x1="455.614781" x2="453.676579" y1="253.653072" y2="254.167781"> - <stop offset="0" style="stop-color:#00a0ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a0ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR21e_1" x1="455.614781" x2="453.676579" y1="253.653072" y2="254.167781"> + <stop offset="1" style="stop-color:#005cff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a0ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR21e_2" x1="452.356018" x2="453.776948" y1="249.19504" y2="248.670886"> - <stop offset="0" style="stop-color:#0056ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0056ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR21e_2" x1="452.356018" x2="453.776948" y1="249.19504" y2="248.670886"> + <stop offset="1" style="stop-color:#005cff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0056ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT21e" points="452.356018 249.19504 448.206923 233.571091 455.614781 253.653072"/> </defs> - <use fill="#005cff" fill-opacity="1" xlink:href="#GT21e"/> - <use fill="url(#GR21e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT21e"/> - <use fill="url(#GR21e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT21e"/> - <use fill="url(#GR21e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT21e"/> + <path d="M 452.356018,249.19504 L 448.206923,233.571091 455.614781,253.653072 Z" fill="#005cff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.356018,249.19504 L 448.206923,233.571091 455.614781,253.653072 Z" fill="url(#GR21e_0)" shape-rendering="crispEdges"/> + <path d="M 452.356018,249.19504 L 448.206923,233.571091 455.614781,253.653072 Z" fill="url(#GR21e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.356018,249.19504 L 448.206923,233.571091 455.614781,253.653072 Z" fill="url(#GR21e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR21f_0" x1="455.614781" x2="453.676579" y1="253.653072" y2="254.167781"> - <stop offset="0" style="stop-color:#00a0ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a0ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR21f_0" x1="455.614781" x2="453.676579" y1="253.653072" y2="254.167781"> + <stop offset="1" style="stop-color:#0084ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a0ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR21f_1" x1="456.505113" x2="461.244478" y1="264.818988" y2="261.354575"> - <stop offset="0" style="stop-color:#0094ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0094ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR21f_1" x1="456.505113" x2="461.244478" y1="264.818988" y2="261.354575"> + <stop offset="1" style="stop-color:#0084ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0094ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR21f_2" x1="452.356018" x2="455.24097" y1="249.19504" y2="248.965003"> - <stop offset="0" style="stop-color:#0056ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0056ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR21f_2" x1="452.356018" x2="455.24097" y1="249.19504" y2="248.965003"> + <stop offset="1" style="stop-color:#0084ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0056ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT21f" points="452.356018 249.19504 455.614781 253.653072 456.505113 264.818988"/> </defs> - <use fill="#0084ff" fill-opacity="1" xlink:href="#GT21f"/> - <use fill="url(#GR21f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT21f"/> - <use fill="url(#GR21f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT21f"/> - <use fill="url(#GR21f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT21f"/> + <path d="M 452.356018,249.19504 L 455.614781,253.653072 456.505113,264.818988 Z" fill="#0084ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.356018,249.19504 L 455.614781,253.653072 456.505113,264.818988 Z" fill="url(#GR21f_0)" shape-rendering="crispEdges"/> + <path d="M 452.356018,249.19504 L 455.614781,253.653072 456.505113,264.818988 Z" fill="url(#GR21f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.356018,249.19504 L 455.614781,253.653072 456.505113,264.818988 Z" fill="url(#GR21f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR220_0" x1="449.097255" x2="450.963472" y1="244.737007" y2="244.25553"> - <stop offset="0" style="stop-color:#0008ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0008ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR220_0" x1="449.097255" x2="450.963472" y1="244.737007" y2="244.25553"> + <stop offset="1" style="stop-color:#0006c3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0008ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR220_1" x1="445.251175" x2="445.913061" y1="222.114549" y2="222.021767"> - <stop offset="0" style="stop-color:#000080;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000080;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR220_1" x1="445.251175" x2="445.913061" y1="222.114549" y2="222.021767"> + <stop offset="1" style="stop-color:#0006c3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000080;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR220_2" x1="446.729049" x2="446.239206" y1="227.84282" y2="227.926099"> - <stop offset="0" style="stop-color:#0009cc;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0009cc;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR220_2" x1="446.729049" x2="446.239206" y1="227.84282" y2="227.926099"> + <stop offset="1" style="stop-color:#0006c3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0009cc;stop-opacity:0;"/> </linearGradient> - <polygon id="GT220" points="446.729049 227.84282 449.097255 244.737007 445.251175 222.114549"/> </defs> - <use fill="#0006c3" fill-opacity="1" xlink:href="#GT220"/> - <use fill="url(#GR220_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT220"/> - <use fill="url(#GR220_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT220"/> - <use fill="url(#GR220_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT220"/> + <path d="M 446.729049,227.84282 L 449.097255,244.737007 445.251175,222.114549 Z" fill="#0006c3" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 446.729049,227.84282 L 449.097255,244.737007 445.251175,222.114549 Z" fill="url(#GR220_0)" shape-rendering="crispEdges"/> + <path d="M 446.729049,227.84282 L 449.097255,244.737007 445.251175,222.114549 Z" fill="url(#GR220_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 446.729049,227.84282 L 449.097255,244.737007 445.251175,222.114549 Z" fill="url(#GR220_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR221_0" x1="445.251175" x2="445.913061" y1="222.114549" y2="222.021767"> - <stop offset="0" style="stop-color:#000080;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000080;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR221_0" x1="445.251175" x2="445.913061" y1="222.114549" y2="222.021767"> + <stop offset="1" style="stop-color:#0003aa;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000080;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR221_1" x1="444.360842" x2="442.494626" y1="210.948633" y2="211.430111"> - <stop offset="0" style="stop-color:#0000b2;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000b2;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR221_1" x1="444.360842" x2="442.494626" y1="210.948633" y2="211.430111"> + <stop offset="1" style="stop-color:#0003aa;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000b2;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR221_2" x1="446.729049" x2="445.714379" y1="227.84282" y2="227.923726"> - <stop offset="0" style="stop-color:#0009cc;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0009cc;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR221_2" x1="446.729049" x2="445.714379" y1="227.84282" y2="227.923726"> + <stop offset="1" style="stop-color:#0003aa;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0009cc;stop-opacity:0;"/> </linearGradient> - <polygon id="GT221" points="446.729049 227.84282 445.251175 222.114549 444.360842 210.948633"/> </defs> - <use fill="#0003aa" fill-opacity="1" xlink:href="#GT221"/> - <use fill="url(#GR221_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT221"/> - <use fill="url(#GR221_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT221"/> - <use fill="url(#GR221_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT221"/> + <path d="M 446.729049,227.84282 L 445.251175,222.114549 444.360842,210.948633 Z" fill="#0003aa" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 446.729049,227.84282 L 445.251175,222.114549 444.360842,210.948633 Z" fill="url(#GR221_0)" shape-rendering="crispEdges"/> + <path d="M 446.729049,227.84282 L 445.251175,222.114549 444.360842,210.948633 Z" fill="url(#GR221_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 446.729049,227.84282 L 445.251175,222.114549 444.360842,210.948633 Z" fill="url(#GR221_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR222_0" x1="444.360842" x2="442.494626" y1="210.948633" y2="211.430111"> - <stop offset="0" style="stop-color:#0000b2;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000b2;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR222_0" x1="444.360842" x2="442.494626" y1="210.948633" y2="211.430111"> + <stop offset="1" style="stop-color:#000dd4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000b2;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR222_1" x1="448.206923" x2="447.545037" y1="233.571091" y2="233.663873"> - <stop offset="0" style="stop-color:#001cff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#001cff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR222_1" x1="448.206923" x2="447.545037" y1="233.571091" y2="233.663873"> + <stop offset="1" style="stop-color:#000dd4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#001cff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR222_2" x1="446.729049" x2="447.218892" y1="227.84282" y2="227.759541"> - <stop offset="0" style="stop-color:#0009cc;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0009cc;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR222_2" x1="446.729049" x2="447.218892" y1="227.84282" y2="227.759541"> + <stop offset="1" style="stop-color:#000dd4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0009cc;stop-opacity:0;"/> </linearGradient> - <polygon id="GT222" points="446.729049 227.84282 444.360842 210.948633 448.206923 233.571091"/> </defs> - <use fill="#000dd4" fill-opacity="1" xlink:href="#GT222"/> - <use fill="url(#GR222_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT222"/> - <use fill="url(#GR222_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT222"/> - <use fill="url(#GR222_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT222"/> + <path d="M 446.729049,227.84282 L 444.360842,210.948633 448.206923,233.571091 Z" fill="#000dd4" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 446.729049,227.84282 L 444.360842,210.948633 448.206923,233.571091 Z" fill="url(#GR222_0)" shape-rendering="crispEdges"/> + <path d="M 446.729049,227.84282 L 444.360842,210.948633 448.206923,233.571091 Z" fill="url(#GR222_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 446.729049,227.84282 L 444.360842,210.948633 448.206923,233.571091 Z" fill="url(#GR222_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR223_0" x1="448.206923" x2="447.545037" y1="233.571091" y2="233.663873"> - <stop offset="0" style="stop-color:#001cff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#001cff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR223_0" x1="448.206923" x2="447.545037" y1="233.571091" y2="233.663873"> + <stop offset="1" style="stop-color:#000fee;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#001cff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR223_1" x1="449.097255" x2="450.963472" y1="244.737007" y2="244.25553"> - <stop offset="0" style="stop-color:#0008ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0008ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR223_1" x1="449.097255" x2="450.963472" y1="244.737007" y2="244.25553"> + <stop offset="1" style="stop-color:#000fee;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0008ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR223_2" x1="446.729049" x2="447.743719" y1="227.84282" y2="227.761914"> - <stop offset="0" style="stop-color:#0009cc;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0009cc;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR223_2" x1="446.729049" x2="447.743719" y1="227.84282" y2="227.761914"> + <stop offset="1" style="stop-color:#000fee;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0009cc;stop-opacity:0;"/> </linearGradient> - <polygon id="GT223" points="446.729049 227.84282 448.206923 233.571091 449.097255 244.737007"/> </defs> - <use fill="#000fee" fill-opacity="1" xlink:href="#GT223"/> - <use fill="url(#GR223_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT223"/> - <use fill="url(#GR223_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT223"/> - <use fill="url(#GR223_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT223"/> + <path d="M 446.729049,227.84282 L 448.206923,233.571091 449.097255,244.737007 Z" fill="#000fee" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 446.729049,227.84282 L 448.206923,233.571091 449.097255,244.737007 Z" fill="url(#GR223_0)" shape-rendering="crispEdges"/> + <path d="M 446.729049,227.84282 L 448.206923,233.571091 449.097255,244.737007 Z" fill="url(#GR223_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 446.729049,227.84282 L 448.206923,233.571091 449.097255,244.737007 Z" fill="url(#GR223_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR224_0" x1="445.251175" x2="443.563034" y1="222.114549" y2="221.992599"> - <stop offset="0" style="stop-color:#000080;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000080;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR224_0" x1="445.251175" x2="443.563034" y1="222.114549" y2="221.992599"> + <stop offset="1" style="stop-color:#000088;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000080;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR224_1" x1="445.251175" x2="444.648094" y1="198.623873" y2="198.639366"> - <stop offset="0" style="stop-color:#000080;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000080;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR224_1" x1="445.251175" x2="444.648094" y1="198.623873" y2="198.639366"> + <stop offset="1" style="stop-color:#000088;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000080;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR224_2" x1="444.806009" x2="445.251175" y1="204.786253" y2="204.786253"> - <stop offset="0" style="stop-color:#000098;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000098;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR224_2" x1="444.806009" x2="445.251175" y1="204.786253" y2="204.786253"> + <stop offset="1" style="stop-color:#000088;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000098;stop-opacity:0;"/> </linearGradient> - <polygon id="GT224" points="444.806009 204.786253 445.251175 222.114549 445.251175 198.623873"/> </defs> - <use fill="#000088" fill-opacity="1" xlink:href="#GT224"/> - <use fill="url(#GR224_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT224"/> - <use fill="url(#GR224_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT224"/> - <use fill="url(#GR224_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT224"/> + <path d="M 444.806009,204.786253 L 445.251175,222.114549 445.251175,198.623873 Z" fill="#000088" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 444.806009,204.786253 L 445.251175,222.114549 445.251175,198.623873 Z" fill="url(#GR224_0)" shape-rendering="crispEdges"/> + <path d="M 444.806009,204.786253 L 445.251175,222.114549 445.251175,198.623873 Z" fill="url(#GR224_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 444.806009,204.786253 L 445.251175,222.114549 445.251175,198.623873 Z" fill="url(#GR224_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR225_0" x1="445.251175" x2="444.648094" y1="198.623873" y2="198.639366"> - <stop offset="0" style="stop-color:#000080;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000080;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR225_0" x1="445.251175" x2="444.648094" y1="198.623873" y2="198.639366"> + <stop offset="1" style="stop-color:#000098;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000080;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR225_1" x1="444.360842" x2="446.048983" y1="187.457957" y2="187.579907"> - <stop offset="0" style="stop-color:#0000b2;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000b2;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR225_1" x1="444.360842" x2="446.048983" y1="187.457957" y2="187.579907"> + <stop offset="1" style="stop-color:#000098;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000b2;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR225_2" x1="444.806009" x2="445.736625" y1="204.786253" y2="204.712049"> - <stop offset="0" style="stop-color:#000098;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000098;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR225_2" x1="444.806009" x2="445.736625" y1="204.786253" y2="204.712049"> + <stop offset="1" style="stop-color:#000098;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000098;stop-opacity:0;"/> </linearGradient> - <polygon id="GT225" points="444.806009 204.786253 445.251175 198.623873 444.360842 187.457957"/> </defs> - <use fill="#000098" fill-opacity="1" xlink:href="#GT225"/> - <use fill="url(#GR225_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT225"/> - <use fill="url(#GR225_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT225"/> - <use fill="url(#GR225_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT225"/> + <path d="M 444.806009,204.786253 L 445.251175,198.623873 444.360842,187.457957 Z" fill="#000098" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 444.806009,204.786253 L 445.251175,198.623873 444.360842,187.457957 Z" fill="url(#GR225_0)" shape-rendering="crispEdges"/> + <path d="M 444.806009,204.786253 L 445.251175,198.623873 444.360842,187.457957 Z" fill="url(#GR225_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 444.806009,204.786253 L 445.251175,198.623873 444.360842,187.457957 Z" fill="url(#GR225_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR226_0" x1="444.360842" x2="446.048983" y1="187.457957" y2="187.579907"> - <stop offset="0" style="stop-color:#0000b2;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000b2;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR226_0" x1="444.360842" x2="446.048983" y1="187.457957" y2="187.579907"> + <stop offset="1" style="stop-color:#0000a9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000b2;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR226_1" x1="444.360842" x2="444.963923" y1="210.948633" y2="210.93314"> - <stop offset="0" style="stop-color:#0000b2;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000b2;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR226_1" x1="444.360842" x2="444.963923" y1="210.948633" y2="210.93314"> + <stop offset="1" style="stop-color:#0000a9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000b2;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR226_2" x1="444.806009" x2="444.360842" y1="204.786253" y2="204.786253"> - <stop offset="0" style="stop-color:#000098;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000098;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR226_2" x1="444.806009" x2="444.360842" y1="204.786253" y2="204.786253"> + <stop offset="1" style="stop-color:#0000a9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000098;stop-opacity:0;"/> </linearGradient> - <polygon id="GT226" points="444.806009 204.786253 444.360842 187.457957 444.360842 210.948633"/> </defs> - <use fill="#0000a9" fill-opacity="1" xlink:href="#GT226"/> - <use fill="url(#GR226_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT226"/> - <use fill="url(#GR226_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT226"/> - <use fill="url(#GR226_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT226"/> + <path d="M 444.806009,204.786253 L 444.360842,187.457957 444.360842,210.948633 Z" fill="#0000a9" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 444.806009,204.786253 L 444.360842,187.457957 444.360842,210.948633 Z" fill="url(#GR226_0)" shape-rendering="crispEdges"/> + <path d="M 444.806009,204.786253 L 444.360842,187.457957 444.360842,210.948633 Z" fill="url(#GR226_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 444.806009,204.786253 L 444.360842,187.457957 444.360842,210.948633 Z" fill="url(#GR226_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR227_0" x1="444.360842" x2="444.963923" y1="210.948633" y2="210.93314"> - <stop offset="0" style="stop-color:#0000b2;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000b2;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR227_0" x1="444.360842" x2="444.963923" y1="210.948633" y2="210.93314"> + <stop offset="1" style="stop-color:#000098;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000b2;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR227_1" x1="445.251175" x2="443.563034" y1="222.114549" y2="221.992599"> - <stop offset="0" style="stop-color:#000080;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000080;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR227_1" x1="445.251175" x2="443.563034" y1="222.114549" y2="221.992599"> + <stop offset="1" style="stop-color:#000098;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000080;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR227_2" x1="444.806009" x2="443.875392" y1="204.786253" y2="204.860457"> - <stop offset="0" style="stop-color:#000098;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000098;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR227_2" x1="444.806009" x2="443.875392" y1="204.786253" y2="204.860457"> + <stop offset="1" style="stop-color:#000098;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000098;stop-opacity:0;"/> </linearGradient> - <polygon id="GT227" points="444.806009 204.786253 444.360842 210.948633 445.251175 222.114549"/> </defs> - <use fill="#000098" fill-opacity="1" xlink:href="#GT227"/> - <use fill="url(#GR227_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT227"/> - <use fill="url(#GR227_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT227"/> - <use fill="url(#GR227_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT227"/> + <path d="M 444.806009,204.786253 L 444.360842,210.948633 445.251175,222.114549 Z" fill="#000098" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 444.806009,204.786253 L 444.360842,210.948633 445.251175,222.114549 Z" fill="url(#GR227_0)" shape-rendering="crispEdges"/> + <path d="M 444.806009,204.786253 L 444.360842,210.948633 445.251175,222.114549 Z" fill="url(#GR227_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 444.806009,204.786253 L 444.360842,210.948633 445.251175,222.114549 Z" fill="url(#GR227_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR228_0" x1="445.251175" x2="440.548381" y1="198.623873" y2="196.679624"> - <stop offset="0" style="stop-color:#000080;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000080;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR228_0" x1="445.251175" x2="440.548381" y1="198.623873" y2="196.679624"> + <stop offset="1" style="stop-color:#0006c3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000080;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR228_1" x1="449.097255" x2="447.244327" y1="176.001415" y2="175.839324"> - <stop offset="0" style="stop-color:#0008ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0008ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR228_1" x1="449.097255" x2="447.244327" y1="176.001415" y2="175.839324"> + <stop offset="1" style="stop-color:#0006c3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0008ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR228_2" x1="446.729049" x2="448.084213" y1="181.729686" y2="181.96008"> - <stop offset="0" style="stop-color:#0009cc;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0009cc;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR228_2" x1="446.729049" x2="448.084213" y1="181.729686" y2="181.96008"> + <stop offset="1" style="stop-color:#0006c3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0009cc;stop-opacity:0;"/> </linearGradient> - <polygon id="GT228" points="446.729049 181.729686 445.251175 198.623873 449.097255 176.001415"/> </defs> - <use fill="#0006c3" fill-opacity="1" xlink:href="#GT228"/> - <use fill="url(#GR228_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT228"/> - <use fill="url(#GR228_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT228"/> - <use fill="url(#GR228_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT228"/> + <path d="M 446.729049,181.729686 L 445.251175,198.623873 449.097255,176.001415 Z" fill="#0006c3" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 446.729049,181.729686 L 445.251175,198.623873 449.097255,176.001415 Z" fill="url(#GR228_0)" shape-rendering="crispEdges"/> + <path d="M 446.729049,181.729686 L 445.251175,198.623873 449.097255,176.001415 Z" fill="url(#GR228_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 446.729049,181.729686 L 445.251175,198.623873 449.097255,176.001415 Z" fill="url(#GR228_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR229_0" x1="449.097255" x2="447.244327" y1="176.001415" y2="175.839324"> - <stop offset="0" style="stop-color:#0008ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0008ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR229_0" x1="449.097255" x2="447.244327" y1="176.001415" y2="175.839324"> + <stop offset="1" style="stop-color:#000fee;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0008ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR229_1" x1="448.206923" x2="452.909716" y1="164.835499" y2="166.779748"> - <stop offset="0" style="stop-color:#001cff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#001cff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR229_1" x1="448.206923" x2="452.909716" y1="164.835499" y2="166.779748"> + <stop offset="1" style="stop-color:#000fee;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#001cff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR229_2" x1="446.729049" x2="449.536161" y1="181.729686" y2="181.505856"> - <stop offset="0" style="stop-color:#0009cc;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0009cc;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR229_2" x1="446.729049" x2="449.536161" y1="181.729686" y2="181.505856"> + <stop offset="1" style="stop-color:#000fee;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0009cc;stop-opacity:0;"/> </linearGradient> - <polygon id="GT229" points="446.729049 181.729686 449.097255 176.001415 448.206923 164.835499"/> </defs> - <use fill="#000fee" fill-opacity="1" xlink:href="#GT229"/> - <use fill="url(#GR229_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT229"/> - <use fill="url(#GR229_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT229"/> - <use fill="url(#GR229_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT229"/> + <path d="M 446.729049,181.729686 L 449.097255,176.001415 448.206923,164.835499 Z" fill="#000fee" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 446.729049,181.729686 L 449.097255,176.001415 448.206923,164.835499 Z" fill="url(#GR229_0)" shape-rendering="crispEdges"/> + <path d="M 446.729049,181.729686 L 449.097255,176.001415 448.206923,164.835499 Z" fill="url(#GR229_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 446.729049,181.729686 L 449.097255,176.001415 448.206923,164.835499 Z" fill="url(#GR229_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR22a_0" x1="448.206923" x2="452.909716" y1="164.835499" y2="166.779748"> - <stop offset="0" style="stop-color:#001cff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#001cff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR22a_0" x1="448.206923" x2="452.909716" y1="164.835499" y2="166.779748"> + <stop offset="1" style="stop-color:#000dd4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#001cff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR22a_1" x1="444.360842" x2="446.21377" y1="187.457957" y2="187.620048"> - <stop offset="0" style="stop-color:#0000b2;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000b2;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR22a_1" x1="444.360842" x2="446.21377" y1="187.457957" y2="187.620048"> + <stop offset="1" style="stop-color:#000dd4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000b2;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR22a_2" x1="446.729049" x2="445.373885" y1="181.729686" y2="181.499292"> - <stop offset="0" style="stop-color:#0009cc;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0009cc;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR22a_2" x1="446.729049" x2="445.373885" y1="181.729686" y2="181.499292"> + <stop offset="1" style="stop-color:#000dd4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0009cc;stop-opacity:0;"/> </linearGradient> - <polygon id="GT22a" points="446.729049 181.729686 448.206923 164.835499 444.360842 187.457957"/> </defs> - <use fill="#000dd4" fill-opacity="1" xlink:href="#GT22a"/> - <use fill="url(#GR22a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT22a"/> - <use fill="url(#GR22a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT22a"/> - <use fill="url(#GR22a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT22a"/> + <path d="M 446.729049,181.729686 L 448.206923,164.835499 444.360842,187.457957 Z" fill="#000dd4" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 446.729049,181.729686 L 448.206923,164.835499 444.360842,187.457957 Z" fill="url(#GR22a_0)" shape-rendering="crispEdges"/> + <path d="M 446.729049,181.729686 L 448.206923,164.835499 444.360842,187.457957 Z" fill="url(#GR22a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 446.729049,181.729686 L 448.206923,164.835499 444.360842,187.457957 Z" fill="url(#GR22a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR22b_0" x1="444.360842" x2="446.21377" y1="187.457957" y2="187.620048"> - <stop offset="0" style="stop-color:#0000b2;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000b2;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR22b_0" x1="444.360842" x2="446.21377" y1="187.457957" y2="187.620048"> + <stop offset="1" style="stop-color:#0003aa;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000b2;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR22b_1" x1="445.251175" x2="440.548381" y1="198.623873" y2="196.679624"> - <stop offset="0" style="stop-color:#000080;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#000080;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR22b_1" x1="445.251175" x2="440.548381" y1="198.623873" y2="196.679624"> + <stop offset="1" style="stop-color:#0003aa;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#000080;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR22b_2" x1="446.729049" x2="443.921937" y1="181.729686" y2="181.953515"> - <stop offset="0" style="stop-color:#0009cc;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0009cc;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR22b_2" x1="446.729049" x2="443.921937" y1="181.729686" y2="181.953515"> + <stop offset="1" style="stop-color:#0003aa;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0009cc;stop-opacity:0;"/> </linearGradient> - <polygon id="GT22b" points="446.729049 181.729686 444.360842 187.457957 445.251175 198.623873"/> </defs> - <use fill="#0003aa" fill-opacity="1" xlink:href="#GT22b"/> - <use fill="url(#GR22b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT22b"/> - <use fill="url(#GR22b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT22b"/> - <use fill="url(#GR22b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT22b"/> + <path d="M 446.729049,181.729686 L 444.360842,187.457957 445.251175,198.623873 Z" fill="#0003aa" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 446.729049,181.729686 L 444.360842,187.457957 445.251175,198.623873 Z" fill="url(#GR22b_0)" shape-rendering="crispEdges"/> + <path d="M 446.729049,181.729686 L 444.360842,187.457957 445.251175,198.623873 Z" fill="url(#GR22b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 446.729049,181.729686 L 444.360842,187.457957 445.251175,198.623873 Z" fill="url(#GR22b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR22c_0" x1="449.097255" x2="443.051582" y1="176.001415" y2="170.374701"> - <stop offset="0" style="stop-color:#0008ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0008ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR22c_0" x1="449.097255" x2="443.051582" y1="176.001415" y2="170.374701"> + <stop offset="1" style="stop-color:#0051ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0008ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR22c_1" x1="456.505113" x2="453.420062" y1="155.919434" y2="155.27597"> - <stop offset="0" style="stop-color:#0094ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0094ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR22c_1" x1="456.505113" x2="453.420062" y1="155.919434" y2="155.27597"> + <stop offset="1" style="stop-color:#0051ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0094ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR22c_2" x1="452.356018" x2="454.560641" y1="160.377466" y2="161.190709"> - <stop offset="0" style="stop-color:#0056ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0056ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR22c_2" x1="452.356018" x2="454.560641" y1="160.377466" y2="161.190709"> + <stop offset="1" style="stop-color:#0051ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0056ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT22c" points="452.356018 160.377466 449.097255 176.001415 456.505113 155.919434"/> </defs> - <use fill="#0051ff" fill-opacity="1" xlink:href="#GT22c"/> - <use fill="url(#GR22c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT22c"/> - <use fill="url(#GR22c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT22c"/> - <use fill="url(#GR22c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT22c"/> + <path d="M 452.356018,160.377466 L 449.097255,176.001415 456.505113,155.919434 Z" fill="#0051ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.356018,160.377466 L 449.097255,176.001415 456.505113,155.919434 Z" fill="url(#GR22c_0)" shape-rendering="crispEdges"/> + <path d="M 452.356018,160.377466 L 449.097255,176.001415 456.505113,155.919434 Z" fill="url(#GR22c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.356018,160.377466 L 449.097255,176.001415 456.505113,155.919434 Z" fill="url(#GR22c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR22d_0" x1="456.505113" x2="453.420062" y1="155.919434" y2="155.27597"> - <stop offset="0" style="stop-color:#0094ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0094ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR22d_0" x1="456.505113" x2="453.420062" y1="155.919434" y2="155.27597"> + <stop offset="1" style="stop-color:#0084ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0094ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR22d_1" x1="455.614781" x2="461.660454" y1="144.753518" y2="150.380231"> - <stop offset="0" style="stop-color:#00a0ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a0ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR22d_1" x1="455.614781" x2="461.660454" y1="144.753518" y2="150.380231"> + <stop offset="1" style="stop-color:#0084ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a0ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR22d_2" x1="452.356018" x2="456.832123" y1="160.377466" y2="160.020557"> - <stop offset="0" style="stop-color:#0056ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0056ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR22d_2" x1="452.356018" x2="456.832123" y1="160.377466" y2="160.020557"> + <stop offset="1" style="stop-color:#0084ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0056ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT22d" points="452.356018 160.377466 456.505113 155.919434 455.614781 144.753518"/> </defs> - <use fill="#0084ff" fill-opacity="1" xlink:href="#GT22d"/> - <use fill="url(#GR22d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT22d"/> - <use fill="url(#GR22d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT22d"/> - <use fill="url(#GR22d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT22d"/> + <path d="M 452.356018,160.377466 L 456.505113,155.919434 455.614781,144.753518 Z" fill="#0084ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.356018,160.377466 L 456.505113,155.919434 455.614781,144.753518 Z" fill="url(#GR22d_0)" shape-rendering="crispEdges"/> + <path d="M 452.356018,160.377466 L 456.505113,155.919434 455.614781,144.753518 Z" fill="url(#GR22d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.356018,160.377466 L 456.505113,155.919434 455.614781,144.753518 Z" fill="url(#GR22d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR22e_0" x1="455.614781" x2="461.660454" y1="144.753518" y2="150.380231"> - <stop offset="0" style="stop-color:#00a0ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a0ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR22e_0" x1="455.614781" x2="461.660454" y1="144.753518" y2="150.380231"> + <stop offset="1" style="stop-color:#005cff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a0ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR22e_1" x1="448.206923" x2="451.291974" y1="164.835499" y2="165.478963"> - <stop offset="0" style="stop-color:#001cff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#001cff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR22e_1" x1="448.206923" x2="451.291974" y1="164.835499" y2="165.478963"> + <stop offset="1" style="stop-color:#005cff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#001cff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR22e_2" x1="452.356018" x2="450.151396" y1="160.377466" y2="159.564223"> - <stop offset="0" style="stop-color:#0056ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0056ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR22e_2" x1="452.356018" x2="450.151396" y1="160.377466" y2="159.564223"> + <stop offset="1" style="stop-color:#005cff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0056ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT22e" points="452.356018 160.377466 455.614781 144.753518 448.206923 164.835499"/> </defs> - <use fill="#005cff" fill-opacity="1" xlink:href="#GT22e"/> - <use fill="url(#GR22e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT22e"/> - <use fill="url(#GR22e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT22e"/> - <use fill="url(#GR22e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT22e"/> + <path d="M 452.356018,160.377466 L 455.614781,144.753518 448.206923,164.835499 Z" fill="#005cff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.356018,160.377466 L 455.614781,144.753518 448.206923,164.835499 Z" fill="url(#GR22e_0)" shape-rendering="crispEdges"/> + <path d="M 452.356018,160.377466 L 455.614781,144.753518 448.206923,164.835499 Z" fill="url(#GR22e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.356018,160.377466 L 455.614781,144.753518 448.206923,164.835499 Z" fill="url(#GR22e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR22f_0" x1="448.206923" x2="451.291974" y1="164.835499" y2="165.478963"> - <stop offset="0" style="stop-color:#001cff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#001cff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR22f_0" x1="448.206923" x2="451.291974" y1="164.835499" y2="165.478963"> + <stop offset="1" style="stop-color:#0029ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#001cff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR22f_1" x1="449.097255" x2="443.051582" y1="176.001415" y2="170.374701"> - <stop offset="0" style="stop-color:#0008ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0008ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR22f_1" x1="449.097255" x2="443.051582" y1="176.001415" y2="170.374701"> + <stop offset="1" style="stop-color:#0029ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0008ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR22f_2" x1="452.356018" x2="447.879913" y1="160.377466" y2="160.734376"> - <stop offset="0" style="stop-color:#0056ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0056ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR22f_2" x1="452.356018" x2="447.879913" y1="160.377466" y2="160.734376"> + <stop offset="1" style="stop-color:#0029ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0056ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT22f" points="452.356018 160.377466 448.206923 164.835499 449.097255 176.001415"/> </defs> - <use fill="#0029ff" fill-opacity="1" xlink:href="#GT22f"/> - <use fill="url(#GR22f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT22f"/> - <use fill="url(#GR22f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT22f"/> - <use fill="url(#GR22f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT22f"/> + <path d="M 452.356018,160.377466 L 448.206923,164.835499 449.097255,176.001415 Z" fill="#0029ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.356018,160.377466 L 448.206923,164.835499 449.097255,176.001415 Z" fill="url(#GR22f_0)" shape-rendering="crispEdges"/> + <path d="M 452.356018,160.377466 L 448.206923,164.835499 449.097255,176.001415 Z" fill="url(#GR22f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.356018,160.377466 L 448.206923,164.835499 449.097255,176.001415 Z" fill="url(#GR22f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR230_0" x1="456.505113" x2="452.297465" y1="155.919434" y2="146.187823"> - <stop offset="0" style="stop-color:#0094ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0094ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR230_0" x1="456.505113" x2="452.297465" y1="155.919434" y2="146.187823"> + <stop offset="1" style="stop-color:#18cbe3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0094ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR230_1" x1="466.927157" x2="462.651427" y1="139.862395" y2="138.365312"> - <stop offset="0" style="stop-color:#30ffc7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#30ffc7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR230_1" x1="466.927157" x2="462.651427" y1="139.862395" y2="138.365312"> + <stop offset="1" style="stop-color:#18cbe3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#30ffc7;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR230_2" x1="461.270969" x2="464.133777" y1="142.307957" y2="144.166102"> - <stop offset="0" style="stop-color:#19cde1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19cde1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR230_2" x1="461.270969" x2="464.133777" y1="142.307957" y2="144.166102"> + <stop offset="1" style="stop-color:#18cbe3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19cde1;stop-opacity:0;"/> </linearGradient> - <polygon id="GT230" points="461.270969 142.307957 456.505113 155.919434 466.927157 139.862395"/> </defs> - <use fill="#18cbe3" fill-opacity="1" xlink:href="#GT230"/> - <use fill="url(#GR230_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT230"/> - <use fill="url(#GR230_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT230"/> - <use fill="url(#GR230_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT230"/> + <path d="M 461.270969,142.307957 L 456.505113,155.919434 466.927157,139.862395 Z" fill="#18cbe3" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 461.270969,142.307957 L 456.505113,155.919434 466.927157,139.862395 Z" fill="url(#GR230_0)" shape-rendering="crispEdges"/> + <path d="M 461.270969,142.307957 L 456.505113,155.919434 466.927157,139.862395 Z" fill="url(#GR230_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 461.270969,142.307957 L 456.505113,155.919434 466.927157,139.862395 Z" fill="url(#GR230_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR231_0" x1="466.927157" x2="462.651427" y1="139.862395" y2="138.365312"> - <stop offset="0" style="stop-color:#30ffc7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#30ffc7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR231_0" x1="466.927157" x2="462.651427" y1="139.862395" y2="138.365312"> + <stop offset="1" style="stop-color:#2aeece;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#30ffc7;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR231_1" x1="466.036825" x2="470.244474" y1="128.696479" y2="138.42809"> - <stop offset="0" style="stop-color:#36ffc1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#36ffc1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR231_1" x1="466.036825" x2="470.244474" y1="128.696479" y2="138.42809"> + <stop offset="1" style="stop-color:#2aeece;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#36ffc1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR231_2" x1="461.270969" x2="467.085192" y1="142.307957" y2="141.84435"> - <stop offset="0" style="stop-color:#19cde1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19cde1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR231_2" x1="461.270969" x2="467.085192" y1="142.307957" y2="141.84435"> + <stop offset="1" style="stop-color:#2aeece;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19cde1;stop-opacity:0;"/> </linearGradient> - <polygon id="GT231" points="461.270969 142.307957 466.927157 139.862395 466.036825 128.696479"/> </defs> - <use fill="#2aeece" fill-opacity="1" xlink:href="#GT231"/> - <use fill="url(#GR231_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT231"/> - <use fill="url(#GR231_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT231"/> - <use fill="url(#GR231_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT231"/> + <path d="M 461.270969,142.307957 L 466.927157,139.862395 466.036825,128.696479 Z" fill="#2aeece" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 461.270969,142.307957 L 466.927157,139.862395 466.036825,128.696479 Z" fill="url(#GR231_0)" shape-rendering="crispEdges"/> + <path d="M 461.270969,142.307957 L 466.927157,139.862395 466.036825,128.696479 Z" fill="url(#GR231_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 461.270969,142.307957 L 466.927157,139.862395 466.036825,128.696479 Z" fill="url(#GR231_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR232_0" x1="466.036825" x2="470.244474" y1="128.696479" y2="138.42809"> - <stop offset="0" style="stop-color:#36ffc1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#36ffc1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR232_0" x1="466.036825" x2="470.244474" y1="128.696479" y2="138.42809"> + <stop offset="1" style="stop-color:#1acfe0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#36ffc1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR232_1" x1="455.614781" x2="459.890511" y1="144.753518" y2="146.250601"> - <stop offset="0" style="stop-color:#00a0ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a0ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR232_1" x1="455.614781" x2="459.890511" y1="144.753518" y2="146.250601"> + <stop offset="1" style="stop-color:#1acfe0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a0ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR232_2" x1="461.270969" x2="458.408162" y1="142.307957" y2="140.449812"> - <stop offset="0" style="stop-color:#19cde1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19cde1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR232_2" x1="461.270969" x2="458.408162" y1="142.307957" y2="140.449812"> + <stop offset="1" style="stop-color:#1acfe0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19cde1;stop-opacity:0;"/> </linearGradient> - <polygon id="GT232" points="461.270969 142.307957 466.036825 128.696479 455.614781 144.753518"/> </defs> - <use fill="#1acfe0" fill-opacity="1" xlink:href="#GT232"/> - <use fill="url(#GR232_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT232"/> - <use fill="url(#GR232_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT232"/> - <use fill="url(#GR232_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT232"/> + <path d="M 461.270969,142.307957 L 466.036825,128.696479 455.614781,144.753518 Z" fill="#1acfe0" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 461.270969,142.307957 L 466.036825,128.696479 455.614781,144.753518 Z" fill="url(#GR232_0)" shape-rendering="crispEdges"/> + <path d="M 461.270969,142.307957 L 466.036825,128.696479 455.614781,144.753518 Z" fill="url(#GR232_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 461.270969,142.307957 L 466.036825,128.696479 455.614781,144.753518 Z" fill="url(#GR232_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR233_0" x1="455.614781" x2="459.890511" y1="144.753518" y2="146.250601"> - <stop offset="0" style="stop-color:#00a0ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a0ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR233_0" x1="455.614781" x2="459.890511" y1="144.753518" y2="146.250601"> + <stop offset="1" style="stop-color:#08abf5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a0ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR233_1" x1="456.505113" x2="452.297465" y1="155.919434" y2="146.187823"> - <stop offset="0" style="stop-color:#0094ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0094ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR233_1" x1="456.505113" x2="452.297465" y1="155.919434" y2="146.187823"> + <stop offset="1" style="stop-color:#08abf5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0094ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR233_2" x1="461.270969" x2="455.456747" y1="142.307957" y2="142.771563"> - <stop offset="0" style="stop-color:#19cde1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19cde1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR233_2" x1="461.270969" x2="455.456747" y1="142.307957" y2="142.771563"> + <stop offset="1" style="stop-color:#08abf5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19cde1;stop-opacity:0;"/> </linearGradient> - <polygon id="GT233" points="461.270969 142.307957 455.614781 144.753518 456.505113 155.919434"/> </defs> - <use fill="#08abf5" fill-opacity="1" xlink:href="#GT233"/> - <use fill="url(#GR233_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT233"/> - <use fill="url(#GR233_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT233"/> - <use fill="url(#GR233_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT233"/> + <path d="M 461.270969,142.307957 L 455.614781,144.753518 456.505113,155.919434 Z" fill="#08abf5" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 461.270969,142.307957 L 455.614781,144.753518 456.505113,155.919434 Z" fill="url(#GR233_0)" shape-rendering="crispEdges"/> + <path d="M 461.270969,142.307957 L 455.614781,144.753518 456.505113,155.919434 Z" fill="url(#GR233_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 461.270969,142.307957 L 455.614781,144.753518 456.505113,155.919434 Z" fill="url(#GR233_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR234_0" x1="466.927157" x2="467.190715" y1="139.862395" y2="128.723782"> - <stop offset="0" style="stop-color:#30ffc7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#30ffc7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR234_0" x1="466.927157" x2="467.190715" y1="139.862395" y2="128.723782"> + <stop offset="1" style="stop-color:#6aff8c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#30ffc7;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR234_1" x1="479.592988" x2="474.256447" y1="129.01724" y2="126.162294"> - <stop offset="0" style="stop-color:#a4ff53;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a4ff53;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR234_1" x1="479.592988" x2="474.256447" y1="129.01724" y2="126.162294"> + <stop offset="1" style="stop-color:#6aff8c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a4ff53;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR234_2" x1="472.814907" x2="475.76142" y1="128.85686" y2="132.298031"> - <stop offset="0" style="stop-color:#6cff8b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#6cff8b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR234_2" x1="472.814907" x2="475.76142" y1="128.85686" y2="132.298031"> + <stop offset="1" style="stop-color:#6aff8c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#6cff8b;stop-opacity:0;"/> </linearGradient> - <polygon id="GT234" points="472.814907 128.85686 466.927157 139.862395 479.592988 129.01724"/> </defs> - <use fill="#6aff8c" fill-opacity="1" xlink:href="#GT234"/> - <use fill="url(#GR234_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT234"/> - <use fill="url(#GR234_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT234"/> - <use fill="url(#GR234_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT234"/> + <path d="M 472.814907,128.85686 L 466.927157,139.862395 479.592988,129.01724 Z" fill="#6aff8c" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 472.814907,128.85686 L 466.927157,139.862395 479.592988,129.01724 Z" fill="url(#GR234_0)" shape-rendering="crispEdges"/> + <path d="M 472.814907,128.85686 L 466.927157,139.862395 479.592988,129.01724 Z" fill="url(#GR234_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 472.814907,128.85686 L 466.927157,139.862395 479.592988,129.01724 Z" fill="url(#GR234_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR235_0" x1="479.592988" x2="474.256447" y1="129.01724" y2="126.162294"> - <stop offset="0" style="stop-color:#a4ff53;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a4ff53;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR235_0" x1="479.592988" x2="474.256447" y1="129.01724" y2="126.162294"> + <stop offset="1" style="stop-color:#92ff65;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a4ff53;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR235_1" x1="478.702656" x2="478.439098" y1="117.851324" y2="128.989937"> - <stop offset="0" style="stop-color:#a7ff50;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a7ff50;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR235_1" x1="478.702656" x2="478.439098" y1="117.851324" y2="128.989937"> + <stop offset="1" style="stop-color:#92ff65;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a7ff50;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR235_2" x1="472.814907" x2="479.537458" y1="128.85686" y2="128.320826"> - <stop offset="0" style="stop-color:#6cff8b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#6cff8b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR235_2" x1="472.814907" x2="479.537458" y1="128.85686" y2="128.320826"> + <stop offset="1" style="stop-color:#92ff65;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#6cff8b;stop-opacity:0;"/> </linearGradient> - <polygon id="GT235" points="472.814907 128.85686 479.592988 129.01724 478.702656 117.851324"/> </defs> - <use fill="#92ff65" fill-opacity="1" xlink:href="#GT235"/> - <use fill="url(#GR235_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT235"/> - <use fill="url(#GR235_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT235"/> - <use fill="url(#GR235_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT235"/> + <path d="M 472.814907,128.85686 L 479.592988,129.01724 478.702656,117.851324 Z" fill="#92ff65" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 472.814907,128.85686 L 479.592988,129.01724 478.702656,117.851324 Z" fill="url(#GR235_0)" shape-rendering="crispEdges"/> + <path d="M 472.814907,128.85686 L 479.592988,129.01724 478.702656,117.851324 Z" fill="url(#GR235_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 472.814907,128.85686 L 479.592988,129.01724 478.702656,117.851324 Z" fill="url(#GR235_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR236_0" x1="478.702656" x2="478.439098" y1="117.851324" y2="128.989937"> - <stop offset="0" style="stop-color:#a7ff50;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a7ff50;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR236_0" x1="478.702656" x2="478.439098" y1="117.851324" y2="128.989937"> + <stop offset="1" style="stop-color:#6eff89;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a7ff50;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR236_1" x1="466.036825" x2="471.373366" y1="128.696479" y2="131.551426"> - <stop offset="0" style="stop-color:#36ffc1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#36ffc1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR236_1" x1="466.036825" x2="471.373366" y1="128.696479" y2="131.551426"> + <stop offset="1" style="stop-color:#6eff89;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#36ffc1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR236_2" x1="472.814907" x2="469.868393" y1="128.85686" y2="125.415688"> - <stop offset="0" style="stop-color:#6cff8b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#6cff8b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR236_2" x1="472.814907" x2="469.868393" y1="128.85686" y2="125.415688"> + <stop offset="1" style="stop-color:#6eff89;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#6cff8b;stop-opacity:0;"/> </linearGradient> - <polygon id="GT236" points="472.814907 128.85686 478.702656 117.851324 466.036825 128.696479"/> </defs> - <use fill="#6eff89" fill-opacity="1" xlink:href="#GT236"/> - <use fill="url(#GR236_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT236"/> - <use fill="url(#GR236_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT236"/> - <use fill="url(#GR236_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT236"/> + <path d="M 472.814907,128.85686 L 478.702656,117.851324 466.036825,128.696479 Z" fill="#6eff89" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 472.814907,128.85686 L 478.702656,117.851324 466.036825,128.696479 Z" fill="url(#GR236_0)" shape-rendering="crispEdges"/> + <path d="M 472.814907,128.85686 L 478.702656,117.851324 466.036825,128.696479 Z" fill="url(#GR236_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 472.814907,128.85686 L 478.702656,117.851324 466.036825,128.696479 Z" fill="url(#GR236_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR237_0" x1="466.036825" x2="471.373366" y1="128.696479" y2="131.551426"> - <stop offset="0" style="stop-color:#36ffc1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#36ffc1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR237_0" x1="466.036825" x2="471.373366" y1="128.696479" y2="131.551426"> + <stop offset="1" style="stop-color:#46ffb1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#36ffc1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR237_1" x1="466.927157" x2="467.190715" y1="139.862395" y2="128.723782"> - <stop offset="0" style="stop-color:#30ffc7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#30ffc7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR237_1" x1="466.927157" x2="467.190715" y1="139.862395" y2="128.723782"> + <stop offset="1" style="stop-color:#46ffb1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#30ffc7;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR237_2" x1="472.814907" x2="466.092355" y1="128.85686" y2="129.392893"> - <stop offset="0" style="stop-color:#6cff8b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#6cff8b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR237_2" x1="472.814907" x2="466.092355" y1="128.85686" y2="129.392893"> + <stop offset="1" style="stop-color:#46ffb1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#6cff8b;stop-opacity:0;"/> </linearGradient> - <polygon id="GT237" points="472.814907 128.85686 466.036825 128.696479 466.927157 139.862395"/> </defs> - <use fill="#46ffb1" fill-opacity="1" xlink:href="#GT237"/> - <use fill="url(#GR237_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT237"/> - <use fill="url(#GR237_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT237"/> - <use fill="url(#GR237_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT237"/> + <path d="M 472.814907,128.85686 L 466.036825,128.696479 466.927157,139.862395 Z" fill="#46ffb1" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 472.814907,128.85686 L 466.036825,128.696479 466.927157,139.862395 Z" fill="url(#GR237_0)" shape-rendering="crispEdges"/> + <path d="M 472.814907,128.85686 L 466.036825,128.696479 466.927157,139.862395 Z" fill="url(#GR237_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 472.814907,128.85686 L 466.036825,128.696479 466.927157,139.862395 Z" fill="url(#GR237_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR238_0" x1="479.592988" x2="483.483246" y1="129.01724" y2="119.888624"> - <stop offset="0" style="stop-color:#a4ff53;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a4ff53;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR238_0" x1="479.592988" x2="483.483246" y1="129.01724" y2="119.888624"> + <stop offset="1" style="stop-color:#d2e929;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a4ff53;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR238_1" x1="493.566342" x2="487.560914" y1="124.185644" y2="119.274308"> - <stop offset="0" style="stop-color:#ffd300;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd300;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR238_1" x1="493.566342" x2="487.560914" y1="124.185644" y2="119.274308"> + <stop offset="1" style="stop-color:#d2e929;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd300;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR238_2" x1="486.134499" x2="487.906318" y1="121.018484" y2="126.142723"> - <stop offset="0" style="stop-color:#d2e829;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d2e829;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR238_2" x1="486.134499" x2="487.906318" y1="121.018484" y2="126.142723"> + <stop offset="1" style="stop-color:#d2e929;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d2e829;stop-opacity:0;"/> </linearGradient> - <polygon id="GT238" points="486.134499 121.018484 479.592988 129.01724 493.566342 124.185644"/> </defs> - <use fill="#d2e929" fill-opacity="1" xlink:href="#GT238"/> - <use fill="url(#GR238_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT238"/> - <use fill="url(#GR238_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT238"/> - <use fill="url(#GR238_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT238"/> + <path d="M 486.134499,121.018484 L 479.592988,129.01724 493.566342,124.185644 Z" fill="#d2e929" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 486.134499,121.018484 L 479.592988,129.01724 493.566342,124.185644 Z" fill="url(#GR238_0)" shape-rendering="crispEdges"/> + <path d="M 486.134499,121.018484 L 479.592988,129.01724 493.566342,124.185644 Z" fill="url(#GR238_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 486.134499,121.018484 L 479.592988,129.01724 493.566342,124.185644 Z" fill="url(#GR238_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR239_0" x1="493.566342" x2="487.560914" y1="124.185644" y2="119.274308"> - <stop offset="0" style="stop-color:#ffd300;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd300;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR239_0" x1="493.566342" x2="487.560914" y1="124.185644" y2="119.274308"> + <stop offset="1" style="stop-color:#f0d90e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd300;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR239_1" x1="492.67601" x2="488.785752" y1="113.019728" y2="122.148344"> - <stop offset="0" style="stop-color:#ffd000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR239_1" x1="492.67601" x2="488.785752" y1="113.019728" y2="122.148344"> + <stop offset="1" style="stop-color:#f0d90e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR239_2" x1="486.134499" x2="493.268447" y1="121.018484" y2="120.449647"> - <stop offset="0" style="stop-color:#d2e829;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d2e829;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR239_2" x1="486.134499" x2="493.268447" y1="121.018484" y2="120.449647"> + <stop offset="1" style="stop-color:#f0d90e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d2e829;stop-opacity:0;"/> </linearGradient> - <polygon id="GT239" points="486.134499 121.018484 493.566342 124.185644 492.67601 113.019728"/> </defs> - <use fill="#f0d90e" fill-opacity="1" xlink:href="#GT239"/> - <use fill="url(#GR239_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT239"/> - <use fill="url(#GR239_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT239"/> - <use fill="url(#GR239_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT239"/> + <path d="M 486.134499,121.018484 L 493.566342,124.185644 492.67601,113.019728 Z" fill="#f0d90e" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 486.134499,121.018484 L 493.566342,124.185644 492.67601,113.019728 Z" fill="url(#GR239_0)" shape-rendering="crispEdges"/> + <path d="M 486.134499,121.018484 L 493.566342,124.185644 492.67601,113.019728 Z" fill="url(#GR239_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 486.134499,121.018484 L 493.566342,124.185644 492.67601,113.019728 Z" fill="url(#GR239_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR23a_0" x1="492.67601" x2="488.785752" y1="113.019728" y2="122.148344"> - <stop offset="0" style="stop-color:#ffd000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR23a_0" x1="492.67601" x2="488.785752" y1="113.019728" y2="122.148344"> + <stop offset="1" style="stop-color:#d3e828;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR23a_1" x1="478.702656" x2="484.708084" y1="117.851324" y2="122.76266"> - <stop offset="0" style="stop-color:#a7ff50;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a7ff50;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR23a_1" x1="478.702656" x2="484.708084" y1="117.851324" y2="122.76266"> + <stop offset="1" style="stop-color:#d3e828;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a7ff50;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR23a_2" x1="486.134499" x2="484.362681" y1="121.018484" y2="115.894245"> - <stop offset="0" style="stop-color:#d2e829;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d2e829;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR23a_2" x1="486.134499" x2="484.362681" y1="121.018484" y2="115.894245"> + <stop offset="1" style="stop-color:#d3e828;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d2e829;stop-opacity:0;"/> </linearGradient> - <polygon id="GT23a" points="486.134499 121.018484 492.67601 113.019728 478.702656 117.851324"/> </defs> - <use fill="#d3e828" fill-opacity="1" xlink:href="#GT23a"/> - <use fill="url(#GR23a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT23a"/> - <use fill="url(#GR23a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT23a"/> - <use fill="url(#GR23a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT23a"/> + <path d="M 486.134499,121.018484 L 492.67601,113.019728 478.702656,117.851324 Z" fill="#d3e828" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 486.134499,121.018484 L 492.67601,113.019728 478.702656,117.851324 Z" fill="url(#GR23a_0)" shape-rendering="crispEdges"/> + <path d="M 486.134499,121.018484 L 492.67601,113.019728 478.702656,117.851324 Z" fill="url(#GR23a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 486.134499,121.018484 L 492.67601,113.019728 478.702656,117.851324 Z" fill="url(#GR23a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR23b_0" x1="478.702656" x2="484.708084" y1="117.851324" y2="122.76266"> - <stop offset="0" style="stop-color:#a7ff50;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a7ff50;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR23b_0" x1="478.702656" x2="484.708084" y1="117.851324" y2="122.76266"> + <stop offset="1" style="stop-color:#b4f744;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a7ff50;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR23b_1" x1="479.592988" x2="483.483246" y1="129.01724" y2="119.888624"> - <stop offset="0" style="stop-color:#a4ff53;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a4ff53;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR23b_1" x1="479.592988" x2="483.483246" y1="129.01724" y2="119.888624"> + <stop offset="1" style="stop-color:#b4f744;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a4ff53;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR23b_2" x1="486.134499" x2="479.000551" y1="121.018484" y2="121.587321"> - <stop offset="0" style="stop-color:#d2e829;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d2e829;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR23b_2" x1="486.134499" x2="479.000551" y1="121.018484" y2="121.587321"> + <stop offset="1" style="stop-color:#b4f744;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d2e829;stop-opacity:0;"/> </linearGradient> - <polygon id="GT23b" points="486.134499 121.018484 478.702656 117.851324 479.592988 129.01724"/> </defs> - <use fill="#b4f744" fill-opacity="1" xlink:href="#GT23b"/> - <use fill="url(#GR23b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT23b"/> - <use fill="url(#GR23b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT23b"/> - <use fill="url(#GR23b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT23b"/> + <path d="M 486.134499,121.018484 L 478.702656,117.851324 479.592988,129.01724 Z" fill="#b4f744" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 486.134499,121.018484 L 478.702656,117.851324 479.592988,129.01724 Z" fill="url(#GR23b_0)" shape-rendering="crispEdges"/> + <path d="M 486.134499,121.018484 L 478.702656,117.851324 479.592988,129.01724 Z" fill="url(#GR23b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 486.134499,121.018484 L 478.702656,117.851324 479.592988,129.01724 Z" fill="url(#GR23b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR23c_0" x1="492.67601" x2="487.999426" y1="285.386862" y2="275.948727"> - <stop offset="0" style="stop-color:#ffd000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR23c_0" x1="492.67601" x2="487.999426" y1="285.386862" y2="275.948727"> + <stop offset="1" style="stop-color:#d4e627;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR23c_1" x1="478.702656" x2="483.261657" y1="280.555266" y2="275.988505"> - <stop offset="0" style="stop-color:#a7ff50;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a7ff50;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR23c_1" x1="478.702656" x2="483.261657" y1="280.555266" y2="275.988505"> + <stop offset="1" style="stop-color:#d4e627;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a7ff50;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR23c_2" x1="484.806564" x2="483.220623" y1="277.530787" y2="282.117453"> - <stop offset="0" style="stop-color:#d6e525;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d6e525;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR23c_2" x1="484.806564" x2="483.220623" y1="277.530787" y2="282.117453"> + <stop offset="1" style="stop-color:#d4e627;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d6e525;stop-opacity:0;"/> </linearGradient> - <polygon id="GT23c" points="484.806564 277.530787 492.67601 285.386862 478.702656 280.555266"/> </defs> - <use fill="#d4e627" fill-opacity="1" xlink:href="#GT23c"/> - <use fill="url(#GR23c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT23c"/> - <use fill="url(#GR23c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT23c"/> - <use fill="url(#GR23c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT23c"/> + <path d="M 484.806564,277.530787 L 492.67601,285.386862 478.702656,280.555266 Z" fill="#d4e627" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 484.806564,277.530787 L 492.67601,285.386862 478.702656,280.555266 Z" fill="url(#GR23c_0)" shape-rendering="crispEdges"/> + <path d="M 484.806564,277.530787 L 492.67601,285.386862 478.702656,280.555266 Z" fill="url(#GR23c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 484.806564,277.530787 L 492.67601,285.386862 478.702656,280.555266 Z" fill="url(#GR23c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR23d_0" x1="478.702656" x2="483.261657" y1="280.555266" y2="275.988505"> - <stop offset="0" style="stop-color:#a7ff50;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a7ff50;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR23d_0" x1="478.702656" x2="483.261657" y1="280.555266" y2="275.988505"> + <stop offset="1" style="stop-color:#bbf63d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a7ff50;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR23d_1" x1="476.937117" x2="481.613702" y1="269.674712" y2="279.112846"> - <stop offset="0" style="stop-color:#b4ff43;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b4ff43;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR23d_1" x1="476.937117" x2="481.613702" y1="269.674712" y2="279.112846"> + <stop offset="1" style="stop-color:#bbf63d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b4ff43;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR23d_2" x1="484.806564" x2="478.381071" y1="277.530787" y2="278.573422"> - <stop offset="0" style="stop-color:#d6e525;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d6e525;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR23d_2" x1="484.806564" x2="478.381071" y1="277.530787" y2="278.573422"> + <stop offset="1" style="stop-color:#bbf63d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d6e525;stop-opacity:0;"/> </linearGradient> - <polygon id="GT23d" points="484.806564 277.530787 478.702656 280.555266 476.937117 269.674712"/> </defs> - <use fill="#bbf63d" fill-opacity="1" xlink:href="#GT23d"/> - <use fill="url(#GR23d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT23d"/> - <use fill="url(#GR23d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT23d"/> - <use fill="url(#GR23d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT23d"/> + <path d="M 484.806564,277.530787 L 478.702656,280.555266 476.937117,269.674712 Z" fill="#bbf63d" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 484.806564,277.530787 L 478.702656,280.555266 476.937117,269.674712 Z" fill="url(#GR23d_0)" shape-rendering="crispEdges"/> + <path d="M 484.806564,277.530787 L 478.702656,280.555266 476.937117,269.674712 Z" fill="url(#GR23d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 484.806564,277.530787 L 478.702656,280.555266 476.937117,269.674712 Z" fill="url(#GR23d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR23e_0" x1="476.937117" x2="481.613702" y1="269.674712" y2="279.112846"> - <stop offset="0" style="stop-color:#b4ff43;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b4ff43;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR23e_0" x1="476.937117" x2="481.613702" y1="269.674712" y2="279.112846"> + <stop offset="1" style="stop-color:#d8e323;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b4ff43;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR23e_1" x1="490.910472" x2="486.351471" y1="274.506307" y2="279.073068"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR23e_1" x1="490.910472" x2="486.351471" y1="274.506307" y2="279.073068"> + <stop offset="1" style="stop-color:#d8e323;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR23e_2" x1="484.806564" x2="486.392505" y1="277.530787" y2="272.94412"> - <stop offset="0" style="stop-color:#d6e525;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d6e525;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR23e_2" x1="484.806564" x2="486.392505" y1="277.530787" y2="272.94412"> + <stop offset="1" style="stop-color:#d8e323;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d6e525;stop-opacity:0;"/> </linearGradient> - <polygon id="GT23e" points="484.806564 277.530787 476.937117 269.674712 490.910472 274.506307"/> </defs> - <use fill="#d8e323" fill-opacity="1" xlink:href="#GT23e"/> - <use fill="url(#GR23e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT23e"/> - <use fill="url(#GR23e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT23e"/> - <use fill="url(#GR23e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT23e"/> + <path d="M 484.806564,277.530787 L 476.937117,269.674712 490.910472,274.506307 Z" fill="#d8e323" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 484.806564,277.530787 L 476.937117,269.674712 490.910472,274.506307 Z" fill="url(#GR23e_0)" shape-rendering="crispEdges"/> + <path d="M 484.806564,277.530787 L 476.937117,269.674712 490.910472,274.506307 Z" fill="url(#GR23e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 484.806564,277.530787 L 476.937117,269.674712 490.910472,274.506307 Z" fill="url(#GR23e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR23f_0" x1="490.910472" x2="486.351471" y1="274.506307" y2="279.073068"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR23f_0" x1="490.910472" x2="486.351471" y1="274.506307" y2="279.073068"> + <stop offset="1" style="stop-color:#f1d30c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR23f_1" x1="492.67601" x2="487.999426" y1="285.386862" y2="275.948727"> - <stop offset="0" style="stop-color:#ffd000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR23f_1" x1="492.67601" x2="487.999426" y1="285.386862" y2="275.948727"> + <stop offset="1" style="stop-color:#f1d30c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR23f_2" x1="484.806564" x2="491.232057" y1="277.530787" y2="276.488151"> - <stop offset="0" style="stop-color:#d6e525;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d6e525;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR23f_2" x1="484.806564" x2="491.232057" y1="277.530787" y2="276.488151"> + <stop offset="1" style="stop-color:#f1d30c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d6e525;stop-opacity:0;"/> </linearGradient> - <polygon id="GT23f" points="484.806564 277.530787 490.910472 274.506307 492.67601 285.386862"/> </defs> - <use fill="#f1d30c" fill-opacity="1" xlink:href="#GT23f"/> - <use fill="url(#GR23f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT23f"/> - <use fill="url(#GR23f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT23f"/> - <use fill="url(#GR23f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT23f"/> + <path d="M 484.806564,277.530787 L 490.910472,274.506307 492.67601,285.386862 Z" fill="#f1d30c" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 484.806564,277.530787 L 490.910472,274.506307 492.67601,285.386862 Z" fill="url(#GR23f_0)" shape-rendering="crispEdges"/> + <path d="M 484.806564,277.530787 L 490.910472,274.506307 492.67601,285.386862 Z" fill="url(#GR23f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 484.806564,277.530787 L 490.910472,274.506307 492.67601,285.386862 Z" fill="url(#GR23f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR240_0" x1="478.702656" x2="478.667302" y1="280.555266" y2="269.669093"> - <stop offset="0" style="stop-color:#a7ff50;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a7ff50;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR240_0" x1="478.702656" x2="478.667302" y1="280.555266" y2="269.669093"> + <stop offset="1" style="stop-color:#71ff86;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a7ff50;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR240_1" x1="466.036825" x2="469.826571" y1="269.710111" y2="267.192761"> - <stop offset="0" style="stop-color:#36ffc1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#36ffc1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR240_1" x1="466.036825" x2="469.826571" y1="269.710111" y2="267.192761"> + <stop offset="1" style="stop-color:#71ff86;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#36ffc1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR240_2" x1="471.486971" x2="469.172694" y1="269.692411" y2="272.395208"> - <stop offset="0" style="stop-color:#76ff81;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#76ff81;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR240_2" x1="471.486971" x2="469.172694" y1="269.692411" y2="272.395208"> + <stop offset="1" style="stop-color:#71ff86;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#76ff81;stop-opacity:0;"/> </linearGradient> - <polygon id="GT240" points="471.486971 269.692411 478.702656 280.555266 466.036825 269.710111"/> </defs> - <use fill="#71ff86" fill-opacity="1" xlink:href="#GT240"/> - <use fill="url(#GR240_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT240"/> - <use fill="url(#GR240_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT240"/> - <use fill="url(#GR240_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT240"/> + <path d="M 471.486971,269.692411 L 478.702656,280.555266 466.036825,269.710111 Z" fill="#71ff86" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 471.486971,269.692411 L 478.702656,280.555266 466.036825,269.710111 Z" fill="url(#GR240_0)" shape-rendering="crispEdges"/> + <path d="M 471.486971,269.692411 L 478.702656,280.555266 466.036825,269.710111 Z" fill="url(#GR240_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 471.486971,269.692411 L 478.702656,280.555266 466.036825,269.710111 Z" fill="url(#GR240_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR241_0" x1="466.036825" x2="469.826571" y1="269.710111" y2="267.192761"> - <stop offset="0" style="stop-color:#36ffc1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#36ffc1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR241_0" x1="466.036825" x2="469.826571" y1="269.710111" y2="267.192761"> + <stop offset="1" style="stop-color:#51ffa6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#36ffc1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR241_1" x1="464.271287" x2="464.30664" y1="258.829556" y2="269.715729"> - <stop offset="0" style="stop-color:#46ffb1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#46ffb1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR241_1" x1="464.271287" x2="464.30664" y1="258.829556" y2="269.715729"> + <stop offset="1" style="stop-color:#51ffa6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#46ffb1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR241_2" x1="471.486971" x2="466.173848" y1="269.692411" y2="270.554548"> - <stop offset="0" style="stop-color:#76ff81;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#76ff81;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR241_2" x1="471.486971" x2="466.173848" y1="269.692411" y2="270.554548"> + <stop offset="1" style="stop-color:#51ffa6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#76ff81;stop-opacity:0;"/> </linearGradient> - <polygon id="GT241" points="471.486971 269.692411 466.036825 269.710111 464.271287 258.829556"/> </defs> - <use fill="#51ffa6" fill-opacity="1" xlink:href="#GT241"/> - <use fill="url(#GR241_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT241"/> - <use fill="url(#GR241_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT241"/> - <use fill="url(#GR241_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT241"/> + <path d="M 471.486971,269.692411 L 466.036825,269.710111 464.271287,258.829556 Z" fill="#51ffa6" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 471.486971,269.692411 L 466.036825,269.710111 464.271287,258.829556 Z" fill="url(#GR241_0)" shape-rendering="crispEdges"/> + <path d="M 471.486971,269.692411 L 466.036825,269.710111 464.271287,258.829556 Z" fill="url(#GR241_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 471.486971,269.692411 L 466.036825,269.710111 464.271287,258.829556 Z" fill="url(#GR241_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR242_0" x1="464.271287" x2="464.30664" y1="258.829556" y2="269.715729"> - <stop offset="0" style="stop-color:#46ffb1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#46ffb1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR242_0" x1="464.271287" x2="464.30664" y1="258.829556" y2="269.715729"> + <stop offset="1" style="stop-color:#7bff7c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#46ffb1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR242_1" x1="476.937117" x2="473.147372" y1="269.674712" y2="272.192062"> - <stop offset="0" style="stop-color:#b4ff43;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b4ff43;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR242_1" x1="476.937117" x2="473.147372" y1="269.674712" y2="272.192062"> + <stop offset="1" style="stop-color:#7bff7c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b4ff43;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR242_2" x1="471.486971" x2="473.801249" y1="269.692411" y2="266.989615"> - <stop offset="0" style="stop-color:#76ff81;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#76ff81;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR242_2" x1="471.486971" x2="473.801249" y1="269.692411" y2="266.989615"> + <stop offset="1" style="stop-color:#7bff7c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#76ff81;stop-opacity:0;"/> </linearGradient> - <polygon id="GT242" points="471.486971 269.692411 464.271287 258.829556 476.937117 269.674712"/> </defs> - <use fill="#7bff7c" fill-opacity="1" xlink:href="#GT242"/> - <use fill="url(#GR242_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT242"/> - <use fill="url(#GR242_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT242"/> - <use fill="url(#GR242_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT242"/> + <path d="M 471.486971,269.692411 L 464.271287,258.829556 476.937117,269.674712 Z" fill="#7bff7c" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 471.486971,269.692411 L 464.271287,258.829556 476.937117,269.674712 Z" fill="url(#GR242_0)" shape-rendering="crispEdges"/> + <path d="M 471.486971,269.692411 L 464.271287,258.829556 476.937117,269.674712 Z" fill="url(#GR242_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 471.486971,269.692411 L 464.271287,258.829556 476.937117,269.674712 Z" fill="url(#GR242_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR243_0" x1="476.937117" x2="473.147372" y1="269.674712" y2="272.192062"> - <stop offset="0" style="stop-color:#b4ff43;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b4ff43;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR243_0" x1="476.937117" x2="473.147372" y1="269.674712" y2="272.192062"> + <stop offset="1" style="stop-color:#9bff5c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b4ff43;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR243_1" x1="478.702656" x2="478.667302" y1="280.555266" y2="269.669093"> - <stop offset="0" style="stop-color:#a7ff50;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a7ff50;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR243_1" x1="478.702656" x2="478.667302" y1="280.555266" y2="269.669093"> + <stop offset="1" style="stop-color:#9bff5c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a7ff50;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR243_2" x1="471.486971" x2="476.800094" y1="269.692411" y2="268.830275"> - <stop offset="0" style="stop-color:#76ff81;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#76ff81;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR243_2" x1="471.486971" x2="476.800094" y1="269.692411" y2="268.830275"> + <stop offset="1" style="stop-color:#9bff5c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#76ff81;stop-opacity:0;"/> </linearGradient> - <polygon id="GT243" points="471.486971 269.692411 476.937117 269.674712 478.702656 280.555266"/> </defs> - <use fill="#9bff5c" fill-opacity="1" xlink:href="#GT243"/> - <use fill="url(#GR243_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT243"/> - <use fill="url(#GR243_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT243"/> - <use fill="url(#GR243_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT243"/> + <path d="M 471.486971,269.692411 L 476.937117,269.674712 478.702656,280.555266 Z" fill="#9bff5c" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 471.486971,269.692411 L 476.937117,269.674712 478.702656,280.555266 Z" fill="url(#GR243_0)" shape-rendering="crispEdges"/> + <path d="M 471.486971,269.692411 L 476.937117,269.674712 478.702656,280.555266 Z" fill="url(#GR243_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 471.486971,269.692411 L 476.937117,269.674712 478.702656,280.555266 Z" fill="url(#GR243_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR244_0" x1="466.036825" x2="470.364423" y1="269.710111" y2="262.473176"> - <stop offset="0" style="stop-color:#36ffc1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#36ffc1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR244_0" x1="466.036825" x2="470.364423" y1="269.710111" y2="262.473176"> + <stop offset="1" style="stop-color:#1cd2df;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#36ffc1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR244_1" x1="455.614781" x2="458.235546" y1="253.653072" y2="252.467339"> - <stop offset="0" style="stop-color:#00a0ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a0ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR244_1" x1="455.614781" x2="458.235546" y1="253.653072" y2="252.467339"> + <stop offset="1" style="stop-color:#1cd2df;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a0ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR244_2" x1="459.943034" x2="458.079706" y1="256.241314" y2="257.450733"> - <stop offset="0" style="stop-color:#1fd6dc;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#1fd6dc;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR244_2" x1="459.943034" x2="458.079706" y1="256.241314" y2="257.450733"> + <stop offset="1" style="stop-color:#1cd2df;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#1fd6dc;stop-opacity:0;"/> </linearGradient> - <polygon id="GT244" points="459.943034 256.241314 466.036825 269.710111 455.614781 253.653072"/> </defs> - <use fill="#1cd2df" fill-opacity="1" xlink:href="#GT244"/> - <use fill="url(#GR244_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT244"/> - <use fill="url(#GR244_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT244"/> - <use fill="url(#GR244_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT244"/> + <path d="M 459.943034,256.241314 L 466.036825,269.710111 455.614781,253.653072 Z" fill="#1cd2df" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 459.943034,256.241314 L 466.036825,269.710111 455.614781,253.653072 Z" fill="url(#GR244_0)" shape-rendering="crispEdges"/> + <path d="M 459.943034,256.241314 L 466.036825,269.710111 455.614781,253.653072 Z" fill="url(#GR244_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 459.943034,256.241314 L 466.036825,269.710111 455.614781,253.653072 Z" fill="url(#GR244_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR245_0" x1="455.614781" x2="458.235546" y1="253.653072" y2="252.467339"> - <stop offset="0" style="stop-color:#00a0ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a0ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR245_0" x1="455.614781" x2="458.235546" y1="253.653072" y2="252.467339"> + <stop offset="1" style="stop-color:#0abaf3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a0ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR245_1" x1="453.849243" x2="449.521645" y1="242.772517" y2="250.009452"> - <stop offset="0" style="stop-color:#00b8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00b8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR245_1" x1="453.849243" x2="449.521645" y1="242.772517" y2="250.009452"> + <stop offset="1" style="stop-color:#0abaf3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00b8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR245_2" x1="459.943034" x2="456.135028" y1="256.241314" y2="256.859222"> - <stop offset="0" style="stop-color:#1fd6dc;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#1fd6dc;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR245_2" x1="459.943034" x2="456.135028" y1="256.241314" y2="256.859222"> + <stop offset="1" style="stop-color:#0abaf3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#1fd6dc;stop-opacity:0;"/> </linearGradient> - <polygon id="GT245" points="459.943034 256.241314 455.614781 253.653072 453.849243 242.772517"/> </defs> - <use fill="#0abaf3" fill-opacity="1" xlink:href="#GT245"/> - <use fill="url(#GR245_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT245"/> - <use fill="url(#GR245_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT245"/> - <use fill="url(#GR245_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT245"/> + <path d="M 459.943034,256.241314 L 455.614781,253.653072 453.849243,242.772517 Z" fill="#0abaf3" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 459.943034,256.241314 L 455.614781,253.653072 453.849243,242.772517 Z" fill="url(#GR245_0)" shape-rendering="crispEdges"/> + <path d="M 459.943034,256.241314 L 455.614781,253.653072 453.849243,242.772517 Z" fill="url(#GR245_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 459.943034,256.241314 L 455.614781,253.653072 453.849243,242.772517 Z" fill="url(#GR245_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR246_0" x1="453.849243" x2="449.521645" y1="242.772517" y2="250.009452"> - <stop offset="0" style="stop-color:#00b8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00b8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR246_0" x1="453.849243" x2="449.521645" y1="242.772517" y2="250.009452"> + <stop offset="1" style="stop-color:#22dad9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00b8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR246_1" x1="464.271287" x2="461.650522" y1="258.829556" y2="260.015289"> - <stop offset="0" style="stop-color:#46ffb1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#46ffb1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR246_1" x1="464.271287" x2="461.650522" y1="258.829556" y2="260.015289"> + <stop offset="1" style="stop-color:#22dad9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#46ffb1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR246_2" x1="459.943034" x2="461.806362" y1="256.241314" y2="255.031895"> - <stop offset="0" style="stop-color:#1fd6dc;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#1fd6dc;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR246_2" x1="459.943034" x2="461.806362" y1="256.241314" y2="255.031895"> + <stop offset="1" style="stop-color:#22dad9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#1fd6dc;stop-opacity:0;"/> </linearGradient> - <polygon id="GT246" points="459.943034 256.241314 453.849243 242.772517 464.271287 258.829556"/> </defs> - <use fill="#22dad9" fill-opacity="1" xlink:href="#GT246"/> - <use fill="url(#GR246_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT246"/> - <use fill="url(#GR246_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT246"/> - <use fill="url(#GR246_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT246"/> + <path d="M 459.943034,256.241314 L 453.849243,242.772517 464.271287,258.829556 Z" fill="#22dad9" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 459.943034,256.241314 L 453.849243,242.772517 464.271287,258.829556 Z" fill="url(#GR246_0)" shape-rendering="crispEdges"/> + <path d="M 459.943034,256.241314 L 453.849243,242.772517 464.271287,258.829556 Z" fill="url(#GR246_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 459.943034,256.241314 L 453.849243,242.772517 464.271287,258.829556 Z" fill="url(#GR246_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR247_0" x1="464.271287" x2="461.650522" y1="258.829556" y2="260.015289"> - <stop offset="0" style="stop-color:#46ffb1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#46ffb1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR247_0" x1="464.271287" x2="461.650522" y1="258.829556" y2="260.015289"> + <stop offset="1" style="stop-color:#34f1c4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#46ffb1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR247_1" x1="466.036825" x2="470.364423" y1="269.710111" y2="262.473176"> - <stop offset="0" style="stop-color:#36ffc1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#36ffc1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR247_1" x1="466.036825" x2="470.364423" y1="269.710111" y2="262.473176"> + <stop offset="1" style="stop-color:#34f1c4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#36ffc1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR247_2" x1="459.943034" x2="463.75104" y1="256.241314" y2="255.623406"> - <stop offset="0" style="stop-color:#1fd6dc;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#1fd6dc;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR247_2" x1="459.943034" x2="463.75104" y1="256.241314" y2="255.623406"> + <stop offset="1" style="stop-color:#34f1c4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#1fd6dc;stop-opacity:0;"/> </linearGradient> - <polygon id="GT247" points="459.943034 256.241314 464.271287 258.829556 466.036825 269.710111"/> </defs> - <use fill="#34f1c4" fill-opacity="1" xlink:href="#GT247"/> - <use fill="url(#GR247_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT247"/> - <use fill="url(#GR247_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT247"/> - <use fill="url(#GR247_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT247"/> + <path d="M 459.943034,256.241314 L 464.271287,258.829556 466.036825,269.710111 Z" fill="#34f1c4" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 459.943034,256.241314 L 464.271287,258.829556 466.036825,269.710111 Z" fill="url(#GR247_0)" shape-rendering="crispEdges"/> + <path d="M 459.943034,256.241314 L 464.271287,258.829556 466.036825,269.710111 Z" fill="url(#GR247_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 459.943034,256.241314 L 464.271287,258.829556 466.036825,269.710111 Z" fill="url(#GR247_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR248_0" x1="455.614781" x2="459.180457" y1="253.653072" y2="251.466597"> - <stop offset="0" style="stop-color:#00a0ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a0ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR248_0" x1="455.614781" x2="459.180457" y1="253.653072" y2="251.466597"> + <stop offset="1" style="stop-color:#0064ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a0ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR248_1" x1="448.206923" x2="449.54735" y1="233.571091" y2="233.173957"> - <stop offset="0" style="stop-color:#001cff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#001cff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR248_1" x1="448.206923" x2="449.54735" y1="233.571091" y2="233.173957"> + <stop offset="1" style="stop-color:#0064ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#001cff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR248_2" x1="451.028083" x2="450.03867" y1="238.171804" y2="238.53678"> - <stop offset="0" style="stop-color:#006eff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#006eff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR248_2" x1="451.028083" x2="450.03867" y1="238.171804" y2="238.53678"> + <stop offset="1" style="stop-color:#0064ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#006eff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT248" points="451.028083 238.171804 455.614781 253.653072 448.206923 233.571091"/> </defs> - <use fill="#0064ff" fill-opacity="1" xlink:href="#GT248"/> - <use fill="url(#GR248_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT248"/> - <use fill="url(#GR248_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT248"/> - <use fill="url(#GR248_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT248"/> + <path d="M 451.028083,238.171804 L 455.614781,253.653072 448.206923,233.571091 Z" fill="#0064ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 451.028083,238.171804 L 455.614781,253.653072 448.206923,233.571091 Z" fill="url(#GR248_0)" shape-rendering="crispEdges"/> + <path d="M 451.028083,238.171804 L 455.614781,253.653072 448.206923,233.571091 Z" fill="url(#GR248_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 451.028083,238.171804 L 455.614781,253.653072 448.206923,233.571091 Z" fill="url(#GR248_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR249_0" x1="448.206923" x2="449.54735" y1="233.571091" y2="233.173957"> - <stop offset="0" style="stop-color:#001cff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#001cff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR249_0" x1="448.206923" x2="449.54735" y1="233.571091" y2="233.173957"> + <stop offset="1" style="stop-color:#0044ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#001cff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR249_1" x1="446.441385" x2="442.875709" y1="222.690536" y2="224.877011"> - <stop offset="0" style="stop-color:#0040ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0040ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR249_1" x1="446.441385" x2="442.875709" y1="222.690536" y2="224.877011"> + <stop offset="1" style="stop-color:#0044ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0040ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR249_2" x1="451.028083" x2="449.006684" y1="238.171804" y2="238.499808"> - <stop offset="0" style="stop-color:#006eff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#006eff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR249_2" x1="451.028083" x2="449.006684" y1="238.171804" y2="238.499808"> + <stop offset="1" style="stop-color:#0044ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#006eff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT249" points="451.028083 238.171804 448.206923 233.571091 446.441385 222.690536"/> </defs> - <use fill="#0044ff" fill-opacity="1" xlink:href="#GT249"/> - <use fill="url(#GR249_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT249"/> - <use fill="url(#GR249_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT249"/> - <use fill="url(#GR249_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT249"/> + <path d="M 451.028083,238.171804 L 448.206923,233.571091 446.441385,222.690536 Z" fill="#0044ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 451.028083,238.171804 L 448.206923,233.571091 446.441385,222.690536 Z" fill="url(#GR249_0)" shape-rendering="crispEdges"/> + <path d="M 451.028083,238.171804 L 448.206923,233.571091 446.441385,222.690536 Z" fill="url(#GR249_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 451.028083,238.171804 L 448.206923,233.571091 446.441385,222.690536 Z" fill="url(#GR249_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR24a_0" x1="446.441385" x2="442.875709" y1="222.690536" y2="224.877011"> - <stop offset="0" style="stop-color:#0040ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0040ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR24a_0" x1="446.441385" x2="442.875709" y1="222.690536" y2="224.877011"> + <stop offset="1" style="stop-color:#0077ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0040ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR24a_1" x1="453.849243" x2="452.508815" y1="242.772517" y2="243.169651"> - <stop offset="0" style="stop-color:#00b8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00b8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR24a_1" x1="453.849243" x2="452.508815" y1="242.772517" y2="243.169651"> + <stop offset="1" style="stop-color:#0077ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00b8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR24a_2" x1="451.028083" x2="452.017495" y1="238.171804" y2="237.806829"> - <stop offset="0" style="stop-color:#006eff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#006eff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR24a_2" x1="451.028083" x2="452.017495" y1="238.171804" y2="237.806829"> + <stop offset="1" style="stop-color:#0077ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#006eff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT24a" points="451.028083 238.171804 446.441385 222.690536 453.849243 242.772517"/> </defs> - <use fill="#0077ff" fill-opacity="1" xlink:href="#GT24a"/> - <use fill="url(#GR24a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT24a"/> - <use fill="url(#GR24a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT24a"/> - <use fill="url(#GR24a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT24a"/> + <path d="M 451.028083,238.171804 L 446.441385,222.690536 453.849243,242.772517 Z" fill="#0077ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 451.028083,238.171804 L 446.441385,222.690536 453.849243,242.772517 Z" fill="url(#GR24a_0)" shape-rendering="crispEdges"/> + <path d="M 451.028083,238.171804 L 446.441385,222.690536 453.849243,242.772517 Z" fill="url(#GR24a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 451.028083,238.171804 L 446.441385,222.690536 453.849243,242.772517 Z" fill="url(#GR24a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR24b_0" x1="453.849243" x2="452.508815" y1="242.772517" y2="243.169651"> - <stop offset="0" style="stop-color:#00b8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00b8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR24b_0" x1="453.849243" x2="452.508815" y1="242.772517" y2="243.169651"> + <stop offset="1" style="stop-color:#0098ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00b8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR24b_1" x1="455.614781" x2="459.180457" y1="253.653072" y2="251.466597"> - <stop offset="0" style="stop-color:#00a0ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a0ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR24b_1" x1="455.614781" x2="459.180457" y1="253.653072" y2="251.466597"> + <stop offset="1" style="stop-color:#0098ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a0ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR24b_2" x1="451.028083" x2="453.049482" y1="238.171804" y2="237.843801"> - <stop offset="0" style="stop-color:#006eff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#006eff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR24b_2" x1="451.028083" x2="453.049482" y1="238.171804" y2="237.843801"> + <stop offset="1" style="stop-color:#0098ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#006eff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT24b" points="451.028083 238.171804 453.849243 242.772517 455.614781 253.653072"/> </defs> - <use fill="#0098ff" fill-opacity="1" xlink:href="#GT24b"/> - <use fill="url(#GR24b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT24b"/> - <use fill="url(#GR24b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT24b"/> - <use fill="url(#GR24b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT24b"/> + <path d="M 451.028083,238.171804 L 453.849243,242.772517 455.614781,253.653072 Z" fill="#0098ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 451.028083,238.171804 L 453.849243,242.772517 455.614781,253.653072 Z" fill="url(#GR24b_0)" shape-rendering="crispEdges"/> + <path d="M 451.028083,238.171804 L 453.849243,242.772517 455.614781,253.653072 Z" fill="url(#GR24b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 451.028083,238.171804 L 453.849243,242.772517 455.614781,253.653072 Z" fill="url(#GR24b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR24c_0" x1="448.206923" x2="448.364362" y1="233.571091" y2="233.543195"> - <stop offset="0" style="stop-color:#001cff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#001cff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR24c_0" x1="448.206923" x2="448.364362" y1="233.571091" y2="233.543195"> + <stop offset="1" style="stop-color:#0011de;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#001cff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR24c_1" x1="444.360842" x2="444.4162" y1="210.948633" y2="210.939361"> - <stop offset="0" style="stop-color:#0000b2;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000b2;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR24c_1" x1="444.360842" x2="444.4162" y1="210.948633" y2="210.939361"> + <stop offset="1" style="stop-color:#0011de;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000b2;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR24c_2" x1="445.401114" x2="445.360156" y1="216.819585" y2="216.826548"> - <stop offset="0" style="stop-color:#0017e9;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0017e9;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR24c_2" x1="445.401114" x2="445.360156" y1="216.819585" y2="216.826548"> + <stop offset="1" style="stop-color:#0011de;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0017e9;stop-opacity:0;"/> </linearGradient> - <polygon id="GT24c" points="445.401114 216.819585 448.206923 233.571091 444.360842 210.948633"/> </defs> - <use fill="#0011de" fill-opacity="1" xlink:href="#GT24c"/> - <use fill="url(#GR24c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT24c"/> - <use fill="url(#GR24c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT24c"/> - <use fill="url(#GR24c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT24c"/> + <path d="M 445.401114,216.819585 L 448.206923,233.571091 444.360842,210.948633 Z" fill="#0011de" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 445.401114,216.819585 L 448.206923,233.571091 444.360842,210.948633 Z" fill="url(#GR24c_0)" shape-rendering="crispEdges"/> + <path d="M 445.401114,216.819585 L 448.206923,233.571091 444.360842,210.948633 Z" fill="url(#GR24c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 445.401114,216.819585 L 448.206923,233.571091 444.360842,210.948633 Z" fill="url(#GR24c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR24d_0" x1="444.360842" x2="444.4162" y1="210.948633" y2="210.939361"> - <stop offset="0" style="stop-color:#0000b2;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000b2;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR24d_0" x1="444.360842" x2="444.4162" y1="210.948633" y2="210.939361"> + <stop offset="1" style="stop-color:#0008db;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000b2;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR24d_1" x1="442.595304" x2="442.437865" y1="200.068079" y2="200.095975"> - <stop offset="0" style="stop-color:#0000f6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000f6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR24d_1" x1="442.595304" x2="442.437865" y1="200.068079" y2="200.095975"> + <stop offset="1" style="stop-color:#0008db;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000f6;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR24d_2" x1="445.401114" x2="445.315743" y1="216.819585" y2="216.833438"> - <stop offset="0" style="stop-color:#0017e9;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0017e9;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR24d_2" x1="445.401114" x2="445.315743" y1="216.819585" y2="216.833438"> + <stop offset="1" style="stop-color:#0008db;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0017e9;stop-opacity:0;"/> </linearGradient> - <polygon id="GT24d" points="445.401114 216.819585 444.360842 210.948633 442.595304 200.068079"/> </defs> - <use fill="#0008db" fill-opacity="1" xlink:href="#GT24d"/> - <use fill="url(#GR24d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT24d"/> - <use fill="url(#GR24d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT24d"/> - <use fill="url(#GR24d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT24d"/> + <path d="M 445.401114,216.819585 L 444.360842,210.948633 442.595304,200.068079 Z" fill="#0008db" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 445.401114,216.819585 L 444.360842,210.948633 442.595304,200.068079 Z" fill="url(#GR24d_0)" shape-rendering="crispEdges"/> + <path d="M 445.401114,216.819585 L 444.360842,210.948633 442.595304,200.068079 Z" fill="url(#GR24d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 445.401114,216.819585 L 444.360842,210.948633 442.595304,200.068079 Z" fill="url(#GR24d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR24e_0" x1="442.595304" x2="442.437865" y1="200.068079" y2="200.095975"> - <stop offset="0" style="stop-color:#0000f6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000f6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR24e_0" x1="442.595304" x2="442.437865" y1="200.068079" y2="200.095975"> + <stop offset="1" style="stop-color:#001df5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000f6;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR24e_1" x1="446.441385" x2="446.386027" y1="222.690536" y2="222.699809"> - <stop offset="0" style="stop-color:#0040ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0040ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR24e_1" x1="446.441385" x2="446.386027" y1="222.690536" y2="222.699809"> + <stop offset="1" style="stop-color:#001df5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0040ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR24e_2" x1="445.401114" x2="445.442071" y1="216.819585" y2="216.812622"> - <stop offset="0" style="stop-color:#0017e9;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0017e9;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR24e_2" x1="445.401114" x2="445.442071" y1="216.819585" y2="216.812622"> + <stop offset="1" style="stop-color:#001df5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0017e9;stop-opacity:0;"/> </linearGradient> - <polygon id="GT24e" points="445.401114 216.819585 442.595304 200.068079 446.441385 222.690536"/> </defs> - <use fill="#001df5" fill-opacity="1" xlink:href="#GT24e"/> - <use fill="url(#GR24e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT24e"/> - <use fill="url(#GR24e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT24e"/> - <use fill="url(#GR24e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT24e"/> + <path d="M 445.401114,216.819585 L 442.595304,200.068079 446.441385,222.690536 Z" fill="#001df5" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 445.401114,216.819585 L 442.595304,200.068079 446.441385,222.690536 Z" fill="url(#GR24e_0)" shape-rendering="crispEdges"/> + <path d="M 445.401114,216.819585 L 442.595304,200.068079 446.441385,222.690536 Z" fill="url(#GR24e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 445.401114,216.819585 L 442.595304,200.068079 446.441385,222.690536 Z" fill="url(#GR24e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR24f_0" x1="446.441385" x2="446.386027" y1="222.690536" y2="222.699809"> - <stop offset="0" style="stop-color:#0040ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0040ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR24f_0" x1="446.441385" x2="446.386027" y1="222.690536" y2="222.699809"> + <stop offset="1" style="stop-color:#0027f8;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0040ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR24f_1" x1="448.206923" x2="448.364362" y1="233.571091" y2="233.543195"> - <stop offset="0" style="stop-color:#001cff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#001cff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR24f_1" x1="448.206923" x2="448.364362" y1="233.571091" y2="233.543195"> + <stop offset="1" style="stop-color:#0027f8;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#001cff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR24f_2" x1="445.401114" x2="445.486484" y1="216.819585" y2="216.805732"> - <stop offset="0" style="stop-color:#0017e9;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0017e9;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR24f_2" x1="445.401114" x2="445.486484" y1="216.819585" y2="216.805732"> + <stop offset="1" style="stop-color:#0027f8;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0017e9;stop-opacity:0;"/> </linearGradient> - <polygon id="GT24f" points="445.401114 216.819585 446.441385 222.690536 448.206923 233.571091"/> </defs> - <use fill="#0027f8" fill-opacity="1" xlink:href="#GT24f"/> - <use fill="url(#GR24f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT24f"/> - <use fill="url(#GR24f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT24f"/> - <use fill="url(#GR24f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT24f"/> + <path d="M 445.401114,216.819585 L 446.441385,222.690536 448.206923,233.571091 Z" fill="#0027f8" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 445.401114,216.819585 L 446.441385,222.690536 448.206923,233.571091 Z" fill="url(#GR24f_0)" shape-rendering="crispEdges"/> + <path d="M 445.401114,216.819585 L 446.441385,222.690536 448.206923,233.571091 Z" fill="url(#GR24f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 445.401114,216.819585 L 446.441385,222.690536 448.206923,233.571091 Z" fill="url(#GR24f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR250_0" x1="444.360842" x2="441.135154" y1="210.948633" y2="210.497006"> - <stop offset="0" style="stop-color:#0000b2;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000b2;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR250_0" x1="444.360842" x2="441.135154" y1="210.948633" y2="210.497006"> + <stop offset="1" style="stop-color:#0000bd;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000b2;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR250_1" x1="444.360842" x2="443.157378" y1="187.457957" y2="187.519775"> - <stop offset="0" style="stop-color:#0000b2;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000b2;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR250_1" x1="444.360842" x2="443.157378" y1="187.457957" y2="187.519775"> + <stop offset="1" style="stop-color:#0000bd;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000b2;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR250_2" x1="443.478073" x2="444.360842" y1="193.763018" y2="193.763018"> - <stop offset="0" style="stop-color:#0000d4;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000d4;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR250_2" x1="443.478073" x2="444.360842" y1="193.763018" y2="193.763018"> + <stop offset="1" style="stop-color:#0000bd;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000d4;stop-opacity:0;"/> </linearGradient> - <polygon id="GT250" points="443.478073 193.763018 444.360842 210.948633 444.360842 187.457957"/> </defs> - <use fill="#0000bd" fill-opacity="1" xlink:href="#GT250"/> - <use fill="url(#GR250_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT250"/> - <use fill="url(#GR250_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT250"/> - <use fill="url(#GR250_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT250"/> + <path d="M 443.478073,193.763018 L 444.360842,210.948633 444.360842,187.457957 Z" fill="#0000bd" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 443.478073,193.763018 L 444.360842,210.948633 444.360842,187.457957 Z" fill="url(#GR250_0)" shape-rendering="crispEdges"/> + <path d="M 443.478073,193.763018 L 444.360842,210.948633 444.360842,187.457957 Z" fill="url(#GR250_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 443.478073,193.763018 L 444.360842,210.948633 444.360842,187.457957 Z" fill="url(#GR250_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR251_0" x1="444.360842" x2="443.157378" y1="187.457957" y2="187.519775"> - <stop offset="0" style="stop-color:#0000b2;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000b2;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR251_0" x1="444.360842" x2="443.157378" y1="187.457957" y2="187.519775"> + <stop offset="1" style="stop-color:#0000d4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000b2;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR251_1" x1="442.595304" x2="445.820992" y1="176.577402" y2="177.02903"> - <stop offset="0" style="stop-color:#0000f6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000f6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR251_1" x1="442.595304" x2="445.820992" y1="176.577402" y2="177.02903"> + <stop offset="1" style="stop-color:#0000d4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000f6;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR251_2" x1="443.478073" x2="445.335042" y1="193.763018" y2="193.461696"> - <stop offset="0" style="stop-color:#0000d4;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000d4;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR251_2" x1="443.478073" x2="445.335042" y1="193.763018" y2="193.461696"> + <stop offset="1" style="stop-color:#0000d4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000d4;stop-opacity:0;"/> </linearGradient> - <polygon id="GT251" points="443.478073 193.763018 444.360842 187.457957 442.595304 176.577402"/> </defs> - <use fill="#0000d4" fill-opacity="1" xlink:href="#GT251"/> - <use fill="url(#GR251_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT251"/> - <use fill="url(#GR251_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT251"/> - <use fill="url(#GR251_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT251"/> + <path d="M 443.478073,193.763018 L 444.360842,187.457957 442.595304,176.577402 Z" fill="#0000d4" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 443.478073,193.763018 L 444.360842,187.457957 442.595304,176.577402 Z" fill="url(#GR251_0)" shape-rendering="crispEdges"/> + <path d="M 443.478073,193.763018 L 444.360842,187.457957 442.595304,176.577402 Z" fill="url(#GR251_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 443.478073,193.763018 L 444.360842,187.457957 442.595304,176.577402 Z" fill="url(#GR251_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR252_0" x1="442.595304" x2="445.820992" y1="176.577402" y2="177.02903"> - <stop offset="0" style="stop-color:#0000f6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000f6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR252_0" x1="442.595304" x2="445.820992" y1="176.577402" y2="177.02903"> + <stop offset="1" style="stop-color:#0000ea;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000f6;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR252_1" x1="442.595304" x2="443.798768" y1="200.068079" y2="200.006261"> - <stop offset="0" style="stop-color:#0000f6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000f6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR252_1" x1="442.595304" x2="443.798768" y1="200.068079" y2="200.006261"> + <stop offset="1" style="stop-color:#0000ea;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000f6;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR252_2" x1="443.478073" x2="442.595304" y1="193.763018" y2="193.763018"> - <stop offset="0" style="stop-color:#0000d4;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000d4;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR252_2" x1="443.478073" x2="442.595304" y1="193.763018" y2="193.763018"> + <stop offset="1" style="stop-color:#0000ea;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000d4;stop-opacity:0;"/> </linearGradient> - <polygon id="GT252" points="443.478073 193.763018 442.595304 176.577402 442.595304 200.068079"/> </defs> - <use fill="#0000ea" fill-opacity="1" xlink:href="#GT252"/> - <use fill="url(#GR252_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT252"/> - <use fill="url(#GR252_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT252"/> - <use fill="url(#GR252_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT252"/> + <path d="M 443.478073,193.763018 L 442.595304,176.577402 442.595304,200.068079 Z" fill="#0000ea" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 443.478073,193.763018 L 442.595304,176.577402 442.595304,200.068079 Z" fill="url(#GR252_0)" shape-rendering="crispEdges"/> + <path d="M 443.478073,193.763018 L 442.595304,176.577402 442.595304,200.068079 Z" fill="url(#GR252_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 443.478073,193.763018 L 442.595304,176.577402 442.595304,200.068079 Z" fill="url(#GR252_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR253_0" x1="442.595304" x2="443.798768" y1="200.068079" y2="200.006261"> - <stop offset="0" style="stop-color:#0000f6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000f6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR253_0" x1="442.595304" x2="443.798768" y1="200.068079" y2="200.006261"> + <stop offset="1" style="stop-color:#0000d4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000f6;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR253_1" x1="444.360842" x2="441.135154" y1="210.948633" y2="210.497006"> - <stop offset="0" style="stop-color:#0000b2;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000b2;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR253_1" x1="444.360842" x2="441.135154" y1="210.948633" y2="210.497006"> + <stop offset="1" style="stop-color:#0000d4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000b2;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR253_2" x1="443.478073" x2="441.621105" y1="193.763018" y2="194.06434"> - <stop offset="0" style="stop-color:#0000d4;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000d4;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR253_2" x1="443.478073" x2="441.621105" y1="193.763018" y2="194.06434"> + <stop offset="1" style="stop-color:#0000d4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000d4;stop-opacity:0;"/> </linearGradient> - <polygon id="GT253" points="443.478073 193.763018 442.595304 200.068079 444.360842 210.948633"/> </defs> - <use fill="#0000d4" fill-opacity="1" xlink:href="#GT253"/> - <use fill="url(#GR253_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT253"/> - <use fill="url(#GR253_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT253"/> - <use fill="url(#GR253_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT253"/> + <path d="M 443.478073,193.763018 L 442.595304,200.068079 444.360842,210.948633 Z" fill="#0000d4" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 443.478073,193.763018 L 442.595304,200.068079 444.360842,210.948633 Z" fill="url(#GR253_0)" shape-rendering="crispEdges"/> + <path d="M 443.478073,193.763018 L 442.595304,200.068079 444.360842,210.948633 Z" fill="url(#GR253_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 443.478073,193.763018 L 442.595304,200.068079 444.360842,210.948633 Z" fill="url(#GR253_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR254_0" x1="444.360842" x2="438.690461" y1="187.457957" y2="184.748003"> - <stop offset="0" style="stop-color:#0000b2;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000b2;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR254_0" x1="444.360842" x2="438.690461" y1="187.457957" y2="184.748003"> + <stop offset="1" style="stop-color:#0011de;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000b2;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR254_1" x1="448.206923" x2="445.775079" y1="164.835499" y2="164.684481"> - <stop offset="0" style="stop-color:#001cff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#001cff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR254_1" x1="448.206923" x2="445.775079" y1="164.835499" y2="164.684481"> + <stop offset="1" style="stop-color:#0011de;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#001cff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR254_2" x1="445.401114" x2="447.158012" y1="170.706451" y2="171.005144"> - <stop offset="0" style="stop-color:#0017e9;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0017e9;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR254_2" x1="445.401114" x2="447.158012" y1="170.706451" y2="171.005144"> + <stop offset="1" style="stop-color:#0011de;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0017e9;stop-opacity:0;"/> </linearGradient> - <polygon id="GT254" points="445.401114 170.706451 444.360842 187.457957 448.206923 164.835499"/> </defs> - <use fill="#0011de" fill-opacity="1" xlink:href="#GT254"/> - <use fill="url(#GR254_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT254"/> - <use fill="url(#GR254_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT254"/> - <use fill="url(#GR254_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT254"/> + <path d="M 445.401114,170.706451 L 444.360842,187.457957 448.206923,164.835499 Z" fill="#0011de" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 445.401114,170.706451 L 444.360842,187.457957 448.206923,164.835499 Z" fill="url(#GR254_0)" shape-rendering="crispEdges"/> + <path d="M 445.401114,170.706451 L 444.360842,187.457957 448.206923,164.835499 Z" fill="url(#GR254_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 445.401114,170.706451 L 444.360842,187.457957 448.206923,164.835499 Z" fill="url(#GR254_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR255_0" x1="448.206923" x2="445.775079" y1="164.835499" y2="164.684481"> - <stop offset="0" style="stop-color:#001cff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#001cff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR255_0" x1="448.206923" x2="445.775079" y1="164.835499" y2="164.684481"> + <stop offset="1" style="stop-color:#0027f8;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#001cff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR255_1" x1="446.441385" x2="452.111767" y1="153.954944" y2="156.664899"> - <stop offset="0" style="stop-color:#0040ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0040ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR255_1" x1="446.441385" x2="452.111767" y1="153.954944" y2="156.664899"> + <stop offset="1" style="stop-color:#0027f8;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0040ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR255_2" x1="445.401114" x2="449.063154" y1="170.706451" y2="170.112228"> - <stop offset="0" style="stop-color:#0017e9;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0017e9;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR255_2" x1="445.401114" x2="449.063154" y1="170.706451" y2="170.112228"> + <stop offset="1" style="stop-color:#0027f8;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0017e9;stop-opacity:0;"/> </linearGradient> - <polygon id="GT255" points="445.401114 170.706451 448.206923 164.835499 446.441385 153.954944"/> </defs> - <use fill="#0027f8" fill-opacity="1" xlink:href="#GT255"/> - <use fill="url(#GR255_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT255"/> - <use fill="url(#GR255_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT255"/> - <use fill="url(#GR255_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT255"/> + <path d="M 445.401114,170.706451 L 448.206923,164.835499 446.441385,153.954944 Z" fill="#0027f8" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 445.401114,170.706451 L 448.206923,164.835499 446.441385,153.954944 Z" fill="url(#GR255_0)" shape-rendering="crispEdges"/> + <path d="M 445.401114,170.706451 L 448.206923,164.835499 446.441385,153.954944 Z" fill="url(#GR255_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 445.401114,170.706451 L 448.206923,164.835499 446.441385,153.954944 Z" fill="url(#GR255_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR256_0" x1="446.441385" x2="452.111767" y1="153.954944" y2="156.664899"> - <stop offset="0" style="stop-color:#0040ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0040ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR256_0" x1="446.441385" x2="452.111767" y1="153.954944" y2="156.664899"> + <stop offset="1" style="stop-color:#001df5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0040ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR256_1" x1="442.595304" x2="445.027148" y1="176.577402" y2="176.72842"> - <stop offset="0" style="stop-color:#0000f6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000f6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR256_1" x1="442.595304" x2="445.027148" y1="176.577402" y2="176.72842"> + <stop offset="1" style="stop-color:#001df5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000f6;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR256_2" x1="445.401114" x2="443.644216" y1="170.706451" y2="170.407758"> - <stop offset="0" style="stop-color:#0017e9;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0017e9;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR256_2" x1="445.401114" x2="443.644216" y1="170.706451" y2="170.407758"> + <stop offset="1" style="stop-color:#001df5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0017e9;stop-opacity:0;"/> </linearGradient> - <polygon id="GT256" points="445.401114 170.706451 446.441385 153.954944 442.595304 176.577402"/> </defs> - <use fill="#001df5" fill-opacity="1" xlink:href="#GT256"/> - <use fill="url(#GR256_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT256"/> - <use fill="url(#GR256_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT256"/> - <use fill="url(#GR256_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT256"/> + <path d="M 445.401114,170.706451 L 446.441385,153.954944 442.595304,176.577402 Z" fill="#001df5" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 445.401114,170.706451 L 446.441385,153.954944 442.595304,176.577402 Z" fill="url(#GR256_0)" shape-rendering="crispEdges"/> + <path d="M 445.401114,170.706451 L 446.441385,153.954944 442.595304,176.577402 Z" fill="url(#GR256_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 445.401114,170.706451 L 446.441385,153.954944 442.595304,176.577402 Z" fill="url(#GR256_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR257_0" x1="442.595304" x2="445.027148" y1="176.577402" y2="176.72842"> - <stop offset="0" style="stop-color:#0000f6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000f6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR257_0" x1="442.595304" x2="445.027148" y1="176.577402" y2="176.72842"> + <stop offset="1" style="stop-color:#0008db;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000f6;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR257_1" x1="444.360842" x2="438.690461" y1="187.457957" y2="184.748003"> - <stop offset="0" style="stop-color:#0000b2;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000b2;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR257_1" x1="444.360842" x2="438.690461" y1="187.457957" y2="184.748003"> + <stop offset="1" style="stop-color:#0008db;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000b2;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR257_2" x1="445.401114" x2="441.739073" y1="170.706451" y2="171.300673"> - <stop offset="0" style="stop-color:#0017e9;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0017e9;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR257_2" x1="445.401114" x2="441.739073" y1="170.706451" y2="171.300673"> + <stop offset="1" style="stop-color:#0008db;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0017e9;stop-opacity:0;"/> </linearGradient> - <polygon id="GT257" points="445.401114 170.706451 442.595304 176.577402 444.360842 187.457957"/> </defs> - <use fill="#0008db" fill-opacity="1" xlink:href="#GT257"/> - <use fill="url(#GR257_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT257"/> - <use fill="url(#GR257_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT257"/> - <use fill="url(#GR257_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT257"/> + <path d="M 445.401114,170.706451 L 442.595304,176.577402 444.360842,187.457957 Z" fill="#0008db" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 445.401114,170.706451 L 442.595304,176.577402 444.360842,187.457957 Z" fill="url(#GR257_0)" shape-rendering="crispEdges"/> + <path d="M 445.401114,170.706451 L 442.595304,176.577402 444.360842,187.457957 Z" fill="url(#GR257_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 445.401114,170.706451 L 442.595304,176.577402 444.360842,187.457957 Z" fill="url(#GR257_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR258_0" x1="448.206923" x2="441.881209" y1="164.835499" y2="158.529055"> - <stop offset="0" style="stop-color:#001cff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#001cff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR258_0" x1="448.206923" x2="441.881209" y1="164.835499" y2="158.529055"> + <stop offset="1" style="stop-color:#0064ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#001cff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR258_1" x1="455.614781" x2="451.986946" y1="144.753518" y2="144.092416"> - <stop offset="0" style="stop-color:#00a0ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a0ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR258_1" x1="455.614781" x2="451.986946" y1="144.753518" y2="144.092416"> + <stop offset="1" style="stop-color:#0064ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a0ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR258_2" x1="451.028083" x2="453.571566" y1="149.354231" y2="150.292474"> - <stop offset="0" style="stop-color:#006eff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#006eff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR258_2" x1="451.028083" x2="453.571566" y1="149.354231" y2="150.292474"> + <stop offset="1" style="stop-color:#0064ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#006eff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT258" points="451.028083 149.354231 448.206923 164.835499 455.614781 144.753518"/> </defs> - <use fill="#0064ff" fill-opacity="1" xlink:href="#GT258"/> - <use fill="url(#GR258_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT258"/> - <use fill="url(#GR258_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT258"/> - <use fill="url(#GR258_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT258"/> + <path d="M 451.028083,149.354231 L 448.206923,164.835499 455.614781,144.753518 Z" fill="#0064ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 451.028083,149.354231 L 448.206923,164.835499 455.614781,144.753518 Z" fill="url(#GR258_0)" shape-rendering="crispEdges"/> + <path d="M 451.028083,149.354231 L 448.206923,164.835499 455.614781,144.753518 Z" fill="url(#GR258_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 451.028083,149.354231 L 448.206923,164.835499 455.614781,144.753518 Z" fill="url(#GR258_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR259_0" x1="455.614781" x2="451.986946" y1="144.753518" y2="144.092416"> - <stop offset="0" style="stop-color:#00a0ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a0ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR259_0" x1="455.614781" x2="451.986946" y1="144.753518" y2="144.092416"> + <stop offset="1" style="stop-color:#0098ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a0ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR259_1" x1="453.849243" x2="460.174957" y1="133.872963" y2="140.179408"> - <stop offset="0" style="stop-color:#00b8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00b8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR259_1" x1="453.849243" x2="460.174957" y1="133.872963" y2="140.179408"> + <stop offset="1" style="stop-color:#0098ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00b8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR259_2" x1="451.028083" x2="456.224496" y1="149.354231" y2="148.511033"> - <stop offset="0" style="stop-color:#006eff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#006eff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR259_2" x1="451.028083" x2="456.224496" y1="149.354231" y2="148.511033"> + <stop offset="1" style="stop-color:#0098ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#006eff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT259" points="451.028083 149.354231 455.614781 144.753518 453.849243 133.872963"/> </defs> - <use fill="#0098ff" fill-opacity="1" xlink:href="#GT259"/> - <use fill="url(#GR259_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT259"/> - <use fill="url(#GR259_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT259"/> - <use fill="url(#GR259_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT259"/> + <path d="M 451.028083,149.354231 L 455.614781,144.753518 453.849243,133.872963 Z" fill="#0098ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 451.028083,149.354231 L 455.614781,144.753518 453.849243,133.872963 Z" fill="url(#GR259_0)" shape-rendering="crispEdges"/> + <path d="M 451.028083,149.354231 L 455.614781,144.753518 453.849243,133.872963 Z" fill="url(#GR259_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 451.028083,149.354231 L 455.614781,144.753518 453.849243,133.872963 Z" fill="url(#GR259_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR25a_0" x1="453.849243" x2="460.174957" y1="133.872963" y2="140.179408"> - <stop offset="0" style="stop-color:#00b8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00b8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR25a_0" x1="453.849243" x2="460.174957" y1="133.872963" y2="140.179408"> + <stop offset="1" style="stop-color:#0077ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00b8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR25a_1" x1="446.441385" x2="450.069219" y1="153.954944" y2="154.616047"> - <stop offset="0" style="stop-color:#0040ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0040ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR25a_1" x1="446.441385" x2="450.069219" y1="153.954944" y2="154.616047"> + <stop offset="1" style="stop-color:#0077ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0040ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR25a_2" x1="451.028083" x2="448.484599" y1="149.354231" y2="148.415989"> - <stop offset="0" style="stop-color:#006eff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#006eff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR25a_2" x1="451.028083" x2="448.484599" y1="149.354231" y2="148.415989"> + <stop offset="1" style="stop-color:#0077ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#006eff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT25a" points="451.028083 149.354231 453.849243 133.872963 446.441385 153.954944"/> </defs> - <use fill="#0077ff" fill-opacity="1" xlink:href="#GT25a"/> - <use fill="url(#GR25a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT25a"/> - <use fill="url(#GR25a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT25a"/> - <use fill="url(#GR25a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT25a"/> + <path d="M 451.028083,149.354231 L 453.849243,133.872963 446.441385,153.954944 Z" fill="#0077ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 451.028083,149.354231 L 453.849243,133.872963 446.441385,153.954944 Z" fill="url(#GR25a_0)" shape-rendering="crispEdges"/> + <path d="M 451.028083,149.354231 L 453.849243,133.872963 446.441385,153.954944 Z" fill="url(#GR25a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 451.028083,149.354231 L 453.849243,133.872963 446.441385,153.954944 Z" fill="url(#GR25a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR25b_0" x1="446.441385" x2="450.069219" y1="153.954944" y2="154.616047"> - <stop offset="0" style="stop-color:#0040ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0040ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR25b_0" x1="446.441385" x2="450.069219" y1="153.954944" y2="154.616047"> + <stop offset="1" style="stop-color:#0044ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0040ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR25b_1" x1="448.206923" x2="441.881209" y1="164.835499" y2="158.529055"> - <stop offset="0" style="stop-color:#001cff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#001cff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR25b_1" x1="448.206923" x2="441.881209" y1="164.835499" y2="158.529055"> + <stop offset="1" style="stop-color:#0044ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#001cff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR25b_2" x1="451.028083" x2="445.83167" y1="149.354231" y2="150.19743"> - <stop offset="0" style="stop-color:#006eff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#006eff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR25b_2" x1="451.028083" x2="445.83167" y1="149.354231" y2="150.19743"> + <stop offset="1" style="stop-color:#0044ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#006eff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT25b" points="451.028083 149.354231 446.441385 153.954944 448.206923 164.835499"/> </defs> - <use fill="#0044ff" fill-opacity="1" xlink:href="#GT25b"/> - <use fill="url(#GR25b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT25b"/> - <use fill="url(#GR25b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT25b"/> - <use fill="url(#GR25b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT25b"/> + <path d="M 451.028083,149.354231 L 446.441385,153.954944 448.206923,164.835499 Z" fill="#0044ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 451.028083,149.354231 L 446.441385,153.954944 448.206923,164.835499 Z" fill="url(#GR25b_0)" shape-rendering="crispEdges"/> + <path d="M 451.028083,149.354231 L 446.441385,153.954944 448.206923,164.835499 Z" fill="url(#GR25b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 451.028083,149.354231 L 446.441385,153.954944 448.206923,164.835499 Z" fill="url(#GR25b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR25c_0" x1="455.614781" x2="451.429886" y1="144.753518" y2="134.900547"> - <stop offset="0" style="stop-color:#00a0ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a0ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR25c_0" x1="455.614781" x2="451.429886" y1="144.753518" y2="134.900547"> + <stop offset="1" style="stop-color:#1cd2df;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a0ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR25c_1" x1="466.036825" x2="461.267316" y1="128.696479" y2="127.163778"> - <stop offset="0" style="stop-color:#36ffc1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#36ffc1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR25c_1" x1="466.036825" x2="461.267316" y1="128.696479" y2="127.163778"> + <stop offset="1" style="stop-color:#1cd2df;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#36ffc1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR25c_2" x1="459.943034" x2="463.048576" y1="131.284721" y2="133.300417"> - <stop offset="0" style="stop-color:#1fd6dc;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#1fd6dc;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR25c_2" x1="459.943034" x2="463.048576" y1="131.284721" y2="133.300417"> + <stop offset="1" style="stop-color:#1cd2df;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#1fd6dc;stop-opacity:0;"/> </linearGradient> - <polygon id="GT25c" points="459.943034 131.284721 455.614781 144.753518 466.036825 128.696479"/> </defs> - <use fill="#1cd2df" fill-opacity="1" xlink:href="#GT25c"/> - <use fill="url(#GR25c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT25c"/> - <use fill="url(#GR25c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT25c"/> - <use fill="url(#GR25c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT25c"/> + <path d="M 459.943034,131.284721 L 455.614781,144.753518 466.036825,128.696479 Z" fill="#1cd2df" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 459.943034,131.284721 L 455.614781,144.753518 466.036825,128.696479 Z" fill="url(#GR25c_0)" shape-rendering="crispEdges"/> + <path d="M 459.943034,131.284721 L 455.614781,144.753518 466.036825,128.696479 Z" fill="url(#GR25c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 459.943034,131.284721 L 455.614781,144.753518 466.036825,128.696479 Z" fill="url(#GR25c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR25d_0" x1="466.036825" x2="461.267316" y1="128.696479" y2="127.163778"> - <stop offset="0" style="stop-color:#36ffc1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#36ffc1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR25d_0" x1="466.036825" x2="461.267316" y1="128.696479" y2="127.163778"> + <stop offset="1" style="stop-color:#34f1c4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#36ffc1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR25d_1" x1="464.271287" x2="468.456182" y1="117.815925" y2="127.668896"> - <stop offset="0" style="stop-color:#46ffb1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#46ffb1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR25d_1" x1="464.271287" x2="468.456182" y1="117.815925" y2="127.668896"> + <stop offset="1" style="stop-color:#34f1c4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#46ffb1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR25d_2" x1="459.943034" x2="466.289699" y1="131.284721" y2="130.254877"> - <stop offset="0" style="stop-color:#1fd6dc;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#1fd6dc;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR25d_2" x1="459.943034" x2="466.289699" y1="131.284721" y2="130.254877"> + <stop offset="1" style="stop-color:#34f1c4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#1fd6dc;stop-opacity:0;"/> </linearGradient> - <polygon id="GT25d" points="459.943034 131.284721 466.036825 128.696479 464.271287 117.815925"/> </defs> - <use fill="#34f1c4" fill-opacity="1" xlink:href="#GT25d"/> - <use fill="url(#GR25d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT25d"/> - <use fill="url(#GR25d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT25d"/> - <use fill="url(#GR25d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT25d"/> + <path d="M 459.943034,131.284721 L 466.036825,128.696479 464.271287,117.815925 Z" fill="#34f1c4" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 459.943034,131.284721 L 466.036825,128.696479 464.271287,117.815925 Z" fill="url(#GR25d_0)" shape-rendering="crispEdges"/> + <path d="M 459.943034,131.284721 L 466.036825,128.696479 464.271287,117.815925 Z" fill="url(#GR25d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 459.943034,131.284721 L 466.036825,128.696479 464.271287,117.815925 Z" fill="url(#GR25d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR25e_0" x1="464.271287" x2="468.456182" y1="117.815925" y2="127.668896"> - <stop offset="0" style="stop-color:#46ffb1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#46ffb1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR25e_0" x1="464.271287" x2="468.456182" y1="117.815925" y2="127.668896"> + <stop offset="1" style="stop-color:#22dad9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#46ffb1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR25e_1" x1="453.849243" x2="458.618752" y1="133.872963" y2="135.405665"> - <stop offset="0" style="stop-color:#00b8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00b8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR25e_1" x1="453.849243" x2="458.618752" y1="133.872963" y2="135.405665"> + <stop offset="1" style="stop-color:#22dad9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00b8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR25e_2" x1="459.943034" x2="456.837492" y1="131.284721" y2="129.269026"> - <stop offset="0" style="stop-color:#1fd6dc;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#1fd6dc;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR25e_2" x1="459.943034" x2="456.837492" y1="131.284721" y2="129.269026"> + <stop offset="1" style="stop-color:#22dad9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#1fd6dc;stop-opacity:0;"/> </linearGradient> - <polygon id="GT25e" points="459.943034 131.284721 464.271287 117.815925 453.849243 133.872963"/> </defs> - <use fill="#22dad9" fill-opacity="1" xlink:href="#GT25e"/> - <use fill="url(#GR25e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT25e"/> - <use fill="url(#GR25e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT25e"/> - <use fill="url(#GR25e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT25e"/> + <path d="M 459.943034,131.284721 L 464.271287,117.815925 453.849243,133.872963 Z" fill="#22dad9" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 459.943034,131.284721 L 464.271287,117.815925 453.849243,133.872963 Z" fill="url(#GR25e_0)" shape-rendering="crispEdges"/> + <path d="M 459.943034,131.284721 L 464.271287,117.815925 453.849243,133.872963 Z" fill="url(#GR25e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 459.943034,131.284721 L 464.271287,117.815925 453.849243,133.872963 Z" fill="url(#GR25e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR25f_0" x1="453.849243" x2="458.618752" y1="133.872963" y2="135.405665"> - <stop offset="0" style="stop-color:#00b8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00b8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR25f_0" x1="453.849243" x2="458.618752" y1="133.872963" y2="135.405665"> + <stop offset="1" style="stop-color:#0abaf3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00b8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR25f_1" x1="455.614781" x2="451.429886" y1="144.753518" y2="134.900547"> - <stop offset="0" style="stop-color:#00a0ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a0ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR25f_1" x1="455.614781" x2="451.429886" y1="144.753518" y2="134.900547"> + <stop offset="1" style="stop-color:#0abaf3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a0ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR25f_2" x1="459.943034" x2="453.596369" y1="131.284721" y2="132.314566"> - <stop offset="0" style="stop-color:#1fd6dc;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#1fd6dc;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR25f_2" x1="459.943034" x2="453.596369" y1="131.284721" y2="132.314566"> + <stop offset="1" style="stop-color:#0abaf3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#1fd6dc;stop-opacity:0;"/> </linearGradient> - <polygon id="GT25f" points="459.943034 131.284721 453.849243 133.872963 455.614781 144.753518"/> </defs> - <use fill="#0abaf3" fill-opacity="1" xlink:href="#GT25f"/> - <use fill="url(#GR25f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT25f"/> - <use fill="url(#GR25f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT25f"/> - <use fill="url(#GR25f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT25f"/> + <path d="M 459.943034,131.284721 L 453.849243,133.872963 455.614781,144.753518 Z" fill="#0abaf3" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 459.943034,131.284721 L 453.849243,133.872963 455.614781,144.753518 Z" fill="url(#GR25f_0)" shape-rendering="crispEdges"/> + <path d="M 459.943034,131.284721 L 453.849243,133.872963 455.614781,144.753518 Z" fill="url(#GR25f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 459.943034,131.284721 L 453.849243,133.872963 455.614781,144.753518 Z" fill="url(#GR25f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR260_0" x1="466.036825" x2="466.063504" y1="128.696479" y2="117.820321"> - <stop offset="0" style="stop-color:#36ffc1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#36ffc1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR260_0" x1="466.036825" x2="466.063504" y1="128.696479" y2="117.820321"> + <stop offset="1" style="stop-color:#71ff86;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#36ffc1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR260_1" x1="478.702656" x2="472.930974" y1="117.851324" y2="114.955538"> - <stop offset="0" style="stop-color:#a7ff50;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a7ff50;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR260_1" x1="478.702656" x2="472.930974" y1="117.851324" y2="114.955538"> + <stop offset="1" style="stop-color:#71ff86;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a7ff50;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR260_2" x1="471.486971" x2="474.548111" y1="117.833624" y2="121.408665"> - <stop offset="0" style="stop-color:#76ff81;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#76ff81;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR260_2" x1="471.486971" x2="474.548111" y1="117.833624" y2="121.408665"> + <stop offset="1" style="stop-color:#71ff86;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#76ff81;stop-opacity:0;"/> </linearGradient> - <polygon id="GT260" points="471.486971 117.833624 466.036825 128.696479 478.702656 117.851324"/> </defs> - <use fill="#71ff86" fill-opacity="1" xlink:href="#GT260"/> - <use fill="url(#GR260_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT260"/> - <use fill="url(#GR260_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT260"/> - <use fill="url(#GR260_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT260"/> + <path d="M 471.486971,117.833624 L 466.036825,128.696479 478.702656,117.851324 Z" fill="#71ff86" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 471.486971,117.833624 L 466.036825,128.696479 478.702656,117.851324 Z" fill="url(#GR260_0)" shape-rendering="crispEdges"/> + <path d="M 471.486971,117.833624 L 466.036825,128.696479 478.702656,117.851324 Z" fill="url(#GR260_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 471.486971,117.833624 L 466.036825,128.696479 478.702656,117.851324 Z" fill="url(#GR260_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR261_0" x1="478.702656" x2="472.930974" y1="117.851324" y2="114.955538"> - <stop offset="0" style="stop-color:#a7ff50;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a7ff50;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR261_0" x1="478.702656" x2="472.930974" y1="117.851324" y2="114.955538"> + <stop offset="1" style="stop-color:#9bff5c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a7ff50;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR261_1" x1="476.937117" x2="476.910439" y1="106.970769" y2="117.846928"> - <stop offset="0" style="stop-color:#b4ff43;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b4ff43;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR261_1" x1="476.937117" x2="476.910439" y1="106.970769" y2="117.846928"> + <stop offset="1" style="stop-color:#9bff5c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b4ff43;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR261_2" x1="471.486971" x2="478.514742" y1="117.833624" y2="116.69326"> - <stop offset="0" style="stop-color:#76ff81;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#76ff81;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR261_2" x1="471.486971" x2="478.514742" y1="117.833624" y2="116.69326"> + <stop offset="1" style="stop-color:#9bff5c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#76ff81;stop-opacity:0;"/> </linearGradient> - <polygon id="GT261" points="471.486971 117.833624 478.702656 117.851324 476.937117 106.970769"/> </defs> - <use fill="#9bff5c" fill-opacity="1" xlink:href="#GT261"/> - <use fill="url(#GR261_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT261"/> - <use fill="url(#GR261_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT261"/> - <use fill="url(#GR261_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT261"/> + <path d="M 471.486971,117.833624 L 478.702656,117.851324 476.937117,106.970769 Z" fill="#9bff5c" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 471.486971,117.833624 L 478.702656,117.851324 476.937117,106.970769 Z" fill="url(#GR261_0)" shape-rendering="crispEdges"/> + <path d="M 471.486971,117.833624 L 478.702656,117.851324 476.937117,106.970769 Z" fill="url(#GR261_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 471.486971,117.833624 L 478.702656,117.851324 476.937117,106.970769 Z" fill="url(#GR261_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR262_0" x1="476.937117" x2="476.910439" y1="106.970769" y2="117.846928"> - <stop offset="0" style="stop-color:#b4ff43;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b4ff43;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR262_0" x1="476.937117" x2="476.910439" y1="106.970769" y2="117.846928"> + <stop offset="1" style="stop-color:#7bff7c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b4ff43;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR262_1" x1="464.271287" x2="470.042969" y1="117.815925" y2="120.711711"> - <stop offset="0" style="stop-color:#46ffb1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#46ffb1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR262_1" x1="464.271287" x2="470.042969" y1="117.815925" y2="120.711711"> + <stop offset="1" style="stop-color:#7bff7c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#46ffb1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR262_2" x1="471.486971" x2="468.425832" y1="117.833624" y2="114.258583"> - <stop offset="0" style="stop-color:#76ff81;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#76ff81;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR262_2" x1="471.486971" x2="468.425832" y1="117.833624" y2="114.258583"> + <stop offset="1" style="stop-color:#7bff7c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#76ff81;stop-opacity:0;"/> </linearGradient> - <polygon id="GT262" points="471.486971 117.833624 476.937117 106.970769 464.271287 117.815925"/> </defs> - <use fill="#7bff7c" fill-opacity="1" xlink:href="#GT262"/> - <use fill="url(#GR262_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT262"/> - <use fill="url(#GR262_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT262"/> - <use fill="url(#GR262_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT262"/> + <path d="M 471.486971,117.833624 L 476.937117,106.970769 464.271287,117.815925 Z" fill="#7bff7c" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 471.486971,117.833624 L 476.937117,106.970769 464.271287,117.815925 Z" fill="url(#GR262_0)" shape-rendering="crispEdges"/> + <path d="M 471.486971,117.833624 L 476.937117,106.970769 464.271287,117.815925 Z" fill="url(#GR262_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 471.486971,117.833624 L 476.937117,106.970769 464.271287,117.815925 Z" fill="url(#GR262_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR263_0" x1="464.271287" x2="470.042969" y1="117.815925" y2="120.711711"> - <stop offset="0" style="stop-color:#46ffb1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#46ffb1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR263_0" x1="464.271287" x2="470.042969" y1="117.815925" y2="120.711711"> + <stop offset="1" style="stop-color:#51ffa6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#46ffb1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR263_1" x1="466.036825" x2="466.063504" y1="128.696479" y2="117.820321"> - <stop offset="0" style="stop-color:#36ffc1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#36ffc1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR263_1" x1="466.036825" x2="466.063504" y1="128.696479" y2="117.820321"> + <stop offset="1" style="stop-color:#51ffa6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#36ffc1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR263_2" x1="471.486971" x2="464.459201" y1="117.833624" y2="118.973989"> - <stop offset="0" style="stop-color:#76ff81;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#76ff81;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR263_2" x1="471.486971" x2="464.459201" y1="117.833624" y2="118.973989"> + <stop offset="1" style="stop-color:#51ffa6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#76ff81;stop-opacity:0;"/> </linearGradient> - <polygon id="GT263" points="471.486971 117.833624 464.271287 117.815925 466.036825 128.696479"/> </defs> - <use fill="#51ffa6" fill-opacity="1" xlink:href="#GT263"/> - <use fill="url(#GR263_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT263"/> - <use fill="url(#GR263_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT263"/> - <use fill="url(#GR263_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT263"/> + <path d="M 471.486971,117.833624 L 464.271287,117.815925 466.036825,128.696479 Z" fill="#51ffa6" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 471.486971,117.833624 L 464.271287,117.815925 466.036825,128.696479 Z" fill="url(#GR263_0)" shape-rendering="crispEdges"/> + <path d="M 471.486971,117.833624 L 464.271287,117.815925 466.036825,128.696479 Z" fill="url(#GR263_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 471.486971,117.833624 L 464.271287,117.815925 466.036825,128.696479 Z" fill="url(#GR263_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR264_0" x1="478.702656" x2="482.118982" y1="117.851324" y2="108.962325"> - <stop offset="0" style="stop-color:#a7ff50;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a7ff50;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR264_0" x1="478.702656" x2="482.118982" y1="117.851324" y2="108.962325"> + <stop offset="1" style="stop-color:#d4e627;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a7ff50;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR264_1" x1="492.67601" x2="486.303552" y1="113.019728" y2="108.068541"> - <stop offset="0" style="stop-color:#ffd000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR264_1" x1="492.67601" x2="486.303552" y1="113.019728" y2="108.068541"> + <stop offset="1" style="stop-color:#d4e627;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR264_2" x1="484.806564" x2="486.581048" y1="109.995249" y2="115.127196"> - <stop offset="0" style="stop-color:#d6e525;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d6e525;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR264_2" x1="484.806564" x2="486.581048" y1="109.995249" y2="115.127196"> + <stop offset="1" style="stop-color:#d4e627;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d6e525;stop-opacity:0;"/> </linearGradient> - <polygon id="GT264" points="484.806564 109.995249 478.702656 117.851324 492.67601 113.019728"/> </defs> - <use fill="#d4e627" fill-opacity="1" xlink:href="#GT264"/> - <use fill="url(#GR264_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT264"/> - <use fill="url(#GR264_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT264"/> - <use fill="url(#GR264_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT264"/> + <path d="M 484.806564,109.995249 L 478.702656,117.851324 492.67601,113.019728 Z" fill="#d4e627" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 484.806564,109.995249 L 478.702656,117.851324 492.67601,113.019728 Z" fill="url(#GR264_0)" shape-rendering="crispEdges"/> + <path d="M 484.806564,109.995249 L 478.702656,117.851324 492.67601,113.019728 Z" fill="url(#GR264_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 484.806564,109.995249 L 478.702656,117.851324 492.67601,113.019728 Z" fill="url(#GR264_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR265_0" x1="492.67601" x2="486.303552" y1="113.019728" y2="108.068541"> - <stop offset="0" style="stop-color:#ffd000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR265_0" x1="492.67601" x2="486.303552" y1="113.019728" y2="108.068541"> + <stop offset="1" style="stop-color:#f1d30c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR265_1" x1="490.910472" x2="487.494146" y1="102.139174" y2="111.028172"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR265_1" x1="490.910472" x2="487.494146" y1="102.139174" y2="111.028172"> + <stop offset="1" style="stop-color:#f1d30c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR265_2" x1="484.806564" x2="491.995945" y1="109.995249" y2="108.828661"> - <stop offset="0" style="stop-color:#d6e525;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d6e525;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR265_2" x1="484.806564" x2="491.995945" y1="109.995249" y2="108.828661"> + <stop offset="1" style="stop-color:#f1d30c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d6e525;stop-opacity:0;"/> </linearGradient> - <polygon id="GT265" points="484.806564 109.995249 492.67601 113.019728 490.910472 102.139174"/> </defs> - <use fill="#f1d30c" fill-opacity="1" xlink:href="#GT265"/> - <use fill="url(#GR265_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT265"/> - <use fill="url(#GR265_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT265"/> - <use fill="url(#GR265_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT265"/> + <path d="M 484.806564,109.995249 L 492.67601,113.019728 490.910472,102.139174 Z" fill="#f1d30c" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 484.806564,109.995249 L 492.67601,113.019728 490.910472,102.139174 Z" fill="url(#GR265_0)" shape-rendering="crispEdges"/> + <path d="M 484.806564,109.995249 L 492.67601,113.019728 490.910472,102.139174 Z" fill="url(#GR265_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 484.806564,109.995249 L 492.67601,113.019728 490.910472,102.139174 Z" fill="url(#GR265_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR266_0" x1="490.910472" x2="487.494146" y1="102.139174" y2="111.028172"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR266_0" x1="490.910472" x2="487.494146" y1="102.139174" y2="111.028172"> + <stop offset="1" style="stop-color:#d8e323;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR266_1" x1="476.937117" x2="483.309576" y1="106.970769" y2="111.921957"> - <stop offset="0" style="stop-color:#b4ff43;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b4ff43;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR266_1" x1="476.937117" x2="483.309576" y1="106.970769" y2="111.921957"> + <stop offset="1" style="stop-color:#d8e323;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b4ff43;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR266_2" x1="484.806564" x2="483.03208" y1="109.995249" y2="104.863302"> - <stop offset="0" style="stop-color:#d6e525;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d6e525;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR266_2" x1="484.806564" x2="483.03208" y1="109.995249" y2="104.863302"> + <stop offset="1" style="stop-color:#d8e323;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d6e525;stop-opacity:0;"/> </linearGradient> - <polygon id="GT266" points="484.806564 109.995249 490.910472 102.139174 476.937117 106.970769"/> </defs> - <use fill="#d8e323" fill-opacity="1" xlink:href="#GT266"/> - <use fill="url(#GR266_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT266"/> - <use fill="url(#GR266_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT266"/> - <use fill="url(#GR266_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT266"/> + <path d="M 484.806564,109.995249 L 490.910472,102.139174 476.937117,106.970769 Z" fill="#d8e323" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 484.806564,109.995249 L 490.910472,102.139174 476.937117,106.970769 Z" fill="url(#GR266_0)" shape-rendering="crispEdges"/> + <path d="M 484.806564,109.995249 L 490.910472,102.139174 476.937117,106.970769 Z" fill="url(#GR266_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 484.806564,109.995249 L 490.910472,102.139174 476.937117,106.970769 Z" fill="url(#GR266_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR267_0" x1="476.937117" x2="483.309576" y1="106.970769" y2="111.921957"> - <stop offset="0" style="stop-color:#b4ff43;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b4ff43;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR267_0" x1="476.937117" x2="483.309576" y1="106.970769" y2="111.921957"> + <stop offset="1" style="stop-color:#bbf63d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b4ff43;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR267_1" x1="478.702656" x2="482.118982" y1="117.851324" y2="108.962325"> - <stop offset="0" style="stop-color:#a7ff50;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a7ff50;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR267_1" x1="478.702656" x2="482.118982" y1="117.851324" y2="108.962325"> + <stop offset="1" style="stop-color:#bbf63d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a7ff50;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR267_2" x1="484.806564" x2="477.617183" y1="109.995249" y2="111.161837"> - <stop offset="0" style="stop-color:#d6e525;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d6e525;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR267_2" x1="484.806564" x2="477.617183" y1="109.995249" y2="111.161837"> + <stop offset="1" style="stop-color:#bbf63d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d6e525;stop-opacity:0;"/> </linearGradient> - <polygon id="GT267" points="484.806564 109.995249 476.937117 106.970769 478.702656 117.851324"/> </defs> - <use fill="#bbf63d" fill-opacity="1" xlink:href="#GT267"/> - <use fill="url(#GR267_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT267"/> - <use fill="url(#GR267_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT267"/> - <use fill="url(#GR267_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT267"/> + <path d="M 484.806564,109.995249 L 476.937117,106.970769 478.702656,117.851324 Z" fill="#bbf63d" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 484.806564,109.995249 L 476.937117,106.970769 478.702656,117.851324 Z" fill="url(#GR267_0)" shape-rendering="crispEdges"/> + <path d="M 484.806564,109.995249 L 476.937117,106.970769 478.702656,117.851324 Z" fill="url(#GR267_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 484.806564,109.995249 L 476.937117,106.970769 478.702656,117.851324 Z" fill="url(#GR267_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR268_0" x1="490.910472" x2="486.284938" y1="274.506307" y2="265.085173"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR268_0" x1="490.910472" x2="486.284938" y1="274.506307" y2="265.085173"> + <stop offset="1" style="stop-color:#dbe020;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR268_1" x1="476.937117" x2="480.928337" y1="269.674712" y2="265.332035"> - <stop offset="0" style="stop-color:#b4ff43;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b4ff43;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR268_1" x1="476.937117" x2="480.928337" y1="269.674712" y2="265.332035"> + <stop offset="1" style="stop-color:#dbe020;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b4ff43;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR268_2" x1="482.61842" x2="481.150221" y1="266.885338" y2="271.131485"> - <stop offset="0" style="stop-color:#dddd1d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dddd1d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR268_2" x1="482.61842" x2="481.150221" y1="266.885338" y2="271.131485"> + <stop offset="1" style="stop-color:#dbe020;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dddd1d;stop-opacity:0;"/> </linearGradient> - <polygon id="GT268" points="482.61842 266.885338 490.910472 274.506307 476.937117 269.674712"/> </defs> - <use fill="#dbe020" fill-opacity="1" xlink:href="#GT268"/> - <use fill="url(#GR268_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT268"/> - <use fill="url(#GR268_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT268"/> - <use fill="url(#GR268_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT268"/> + <path d="M 482.61842,266.885338 L 490.910472,274.506307 476.937117,269.674712 Z" fill="#dbe020" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 482.61842,266.885338 L 490.910472,274.506307 476.937117,269.674712 Z" fill="url(#GR268_0)" shape-rendering="crispEdges"/> + <path d="M 482.61842,266.885338 L 490.910472,274.506307 476.937117,269.674712 Z" fill="url(#GR268_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 482.61842,266.885338 L 490.910472,274.506307 476.937117,269.674712 Z" fill="url(#GR268_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR269_0" x1="476.937117" x2="480.928337" y1="269.674712" y2="265.332035"> - <stop offset="0" style="stop-color:#b4ff43;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b4ff43;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR269_0" x1="476.937117" x2="480.928337" y1="269.674712" y2="265.332035"> + <stop offset="1" style="stop-color:#c7f431;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b4ff43;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR269_1" x1="474.326368" x2="478.951902" y1="259.264369" y2="268.685504"> - <stop offset="0" style="stop-color:#c4ff33;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c4ff33;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR269_1" x1="474.326368" x2="478.951902" y1="259.264369" y2="268.685504"> + <stop offset="1" style="stop-color:#c7f431;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c4ff33;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR269_2" x1="482.61842" x2="476.615149" y1="266.885338" y2="268.390864"> - <stop offset="0" style="stop-color:#dddd1d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dddd1d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR269_2" x1="482.61842" x2="476.615149" y1="266.885338" y2="268.390864"> + <stop offset="1" style="stop-color:#c7f431;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dddd1d;stop-opacity:0;"/> </linearGradient> - <polygon id="GT269" points="482.61842 266.885338 476.937117 269.674712 474.326368 259.264369"/> </defs> - <use fill="#c7f431" fill-opacity="1" xlink:href="#GT269"/> - <use fill="url(#GR269_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT269"/> - <use fill="url(#GR269_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT269"/> - <use fill="url(#GR269_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT269"/> + <path d="M 482.61842,266.885338 L 476.937117,269.674712 474.326368,259.264369 Z" fill="#c7f431" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 482.61842,266.885338 L 476.937117,269.674712 474.326368,259.264369 Z" fill="url(#GR269_0)" shape-rendering="crispEdges"/> + <path d="M 482.61842,266.885338 L 476.937117,269.674712 474.326368,259.264369 Z" fill="url(#GR269_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 482.61842,266.885338 L 476.937117,269.674712 474.326368,259.264369 Z" fill="url(#GR269_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR26a_0" x1="474.326368" x2="478.951902" y1="259.264369" y2="268.685504"> - <stop offset="0" style="stop-color:#c4ff33;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c4ff33;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR26a_0" x1="474.326368" x2="478.951902" y1="259.264369" y2="268.685504"> + <stop offset="1" style="stop-color:#e0da1b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c4ff33;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR26a_1" x1="488.299723" x2="484.308503" y1="264.095965" y2="268.438641"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR26a_1" x1="488.299723" x2="484.308503" y1="264.095965" y2="268.438641"> + <stop offset="1" style="stop-color:#e0da1b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR26a_2" x1="482.61842" x2="484.086619" y1="266.885338" y2="262.639192"> - <stop offset="0" style="stop-color:#dddd1d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dddd1d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR26a_2" x1="482.61842" x2="484.086619" y1="266.885338" y2="262.639192"> + <stop offset="1" style="stop-color:#e0da1b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dddd1d;stop-opacity:0;"/> </linearGradient> - <polygon id="GT26a" points="482.61842 266.885338 474.326368 259.264369 488.299723 264.095965"/> </defs> - <use fill="#e0da1b" fill-opacity="1" xlink:href="#GT26a"/> - <use fill="url(#GR26a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT26a"/> - <use fill="url(#GR26a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT26a"/> - <use fill="url(#GR26a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT26a"/> + <path d="M 482.61842,266.885338 L 474.326368,259.264369 488.299723,264.095965 Z" fill="#e0da1b" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 482.61842,266.885338 L 474.326368,259.264369 488.299723,264.095965 Z" fill="url(#GR26a_0)" shape-rendering="crispEdges"/> + <path d="M 482.61842,266.885338 L 474.326368,259.264369 488.299723,264.095965 Z" fill="url(#GR26a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 482.61842,266.885338 L 474.326368,259.264369 488.299723,264.095965 Z" fill="url(#GR26a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR26b_0" x1="488.299723" x2="484.308503" y1="264.095965" y2="268.438641"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR26b_0" x1="488.299723" x2="484.308503" y1="264.095965" y2="268.438641"> + <stop offset="1" style="stop-color:#f4c70a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR26b_1" x1="490.910472" x2="486.284938" y1="274.506307" y2="265.085173"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR26b_1" x1="490.910472" x2="486.284938" y1="274.506307" y2="265.085173"> + <stop offset="1" style="stop-color:#f4c70a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR26b_2" x1="482.61842" x2="488.621691" y1="266.885338" y2="265.379813"> - <stop offset="0" style="stop-color:#dddd1d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dddd1d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR26b_2" x1="482.61842" x2="488.621691" y1="266.885338" y2="265.379813"> + <stop offset="1" style="stop-color:#f4c70a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dddd1d;stop-opacity:0;"/> </linearGradient> - <polygon id="GT26b" points="482.61842 266.885338 488.299723 264.095965 490.910472 274.506307"/> </defs> - <use fill="#f4c70a" fill-opacity="1" xlink:href="#GT26b"/> - <use fill="url(#GR26b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT26b"/> - <use fill="url(#GR26b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT26b"/> - <use fill="url(#GR26b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT26b"/> + <path d="M 482.61842,266.885338 L 488.299723,264.095965 490.910472,274.506307 Z" fill="#f4c70a" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 482.61842,266.885338 L 488.299723,264.095965 490.910472,274.506307 Z" fill="url(#GR26b_0)" shape-rendering="crispEdges"/> + <path d="M 482.61842,266.885338 L 488.299723,264.095965 490.910472,274.506307 Z" fill="url(#GR26b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 482.61842,266.885338 L 488.299723,264.095965 490.910472,274.506307 Z" fill="url(#GR26b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR26c_0" x1="476.937117" x2="477.38158" y1="269.674712" y2="259.396486"> - <stop offset="0" style="stop-color:#b4ff43;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b4ff43;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR26c_0" x1="476.937117" x2="477.38158" y1="269.674712" y2="259.396486"> + <stop offset="1" style="stop-color:#80ff77;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b4ff43;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR26c_1" x1="464.271287" x2="467.483379" y1="258.829556" y2="256.520987"> - <stop offset="0" style="stop-color:#46ffb1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#46ffb1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR26c_1" x1="464.271287" x2="467.483379" y1="258.829556" y2="256.520987"> + <stop offset="1" style="stop-color:#80ff77;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#46ffb1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR26c_2" x1="469.298828" x2="467.279473" y1="259.046963" y2="261.405325"> - <stop offset="0" style="stop-color:#86ff71;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#86ff71;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR26c_2" x1="469.298828" x2="467.279473" y1="259.046963" y2="261.405325"> + <stop offset="1" style="stop-color:#80ff77;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#86ff71;stop-opacity:0;"/> </linearGradient> - <polygon id="GT26c" points="469.298828 259.046963 476.937117 269.674712 464.271287 258.829556"/> </defs> - <use fill="#80ff77" fill-opacity="1" xlink:href="#GT26c"/> - <use fill="url(#GR26c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT26c"/> - <use fill="url(#GR26c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT26c"/> - <use fill="url(#GR26c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT26c"/> + <path d="M 469.298828,259.046963 L 476.937117,269.674712 464.271287,258.829556 Z" fill="#80ff77" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 469.298828,259.046963 L 476.937117,269.674712 464.271287,258.829556 Z" fill="url(#GR26c_0)" shape-rendering="crispEdges"/> + <path d="M 469.298828,259.046963 L 476.937117,269.674712 464.271287,258.829556 Z" fill="url(#GR26c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 469.298828,259.046963 L 476.937117,269.674712 464.271287,258.829556 Z" fill="url(#GR26c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR26d_0" x1="464.271287" x2="467.483379" y1="258.829556" y2="256.520987"> - <stop offset="0" style="stop-color:#46ffb1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#46ffb1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR26d_0" x1="464.271287" x2="467.483379" y1="258.829556" y2="256.520987"> + <stop offset="1" style="stop-color:#62ff95;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#46ffb1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR26d_1" x1="461.660538" x2="461.216075" y1="248.419214" y2="258.697439"> - <stop offset="0" style="stop-color:#5aff9d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5aff9d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR26d_1" x1="461.660538" x2="461.216075" y1="248.419214" y2="258.697439"> + <stop offset="1" style="stop-color:#62ff95;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5aff9d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR26d_2" x1="469.298828" x2="464.620069" y1="259.046963" y2="260.220322"> - <stop offset="0" style="stop-color:#86ff71;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#86ff71;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR26d_2" x1="469.298828" x2="464.620069" y1="259.046963" y2="260.220322"> + <stop offset="1" style="stop-color:#62ff95;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#86ff71;stop-opacity:0;"/> </linearGradient> - <polygon id="GT26d" points="469.298828 259.046963 464.271287 258.829556 461.660538 248.419214"/> </defs> - <use fill="#62ff95" fill-opacity="1" xlink:href="#GT26d"/> - <use fill="url(#GR26d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT26d"/> - <use fill="url(#GR26d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT26d"/> - <use fill="url(#GR26d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT26d"/> + <path d="M 469.298828,259.046963 L 464.271287,258.829556 461.660538,248.419214 Z" fill="#62ff95" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 469.298828,259.046963 L 464.271287,258.829556 461.660538,248.419214 Z" fill="url(#GR26d_0)" shape-rendering="crispEdges"/> + <path d="M 469.298828,259.046963 L 464.271287,258.829556 461.660538,248.419214 Z" fill="url(#GR26d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 469.298828,259.046963 L 464.271287,258.829556 461.660538,248.419214 Z" fill="url(#GR26d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR26e_0" x1="461.660538" x2="461.216075" y1="248.419214" y2="258.697439"> - <stop offset="0" style="stop-color:#5aff9d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5aff9d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR26e_0" x1="461.660538" x2="461.216075" y1="248.419214" y2="258.697439"> + <stop offset="1" style="stop-color:#8cff6b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5aff9d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR26e_1" x1="474.326368" x2="471.114276" y1="259.264369" y2="261.572938"> - <stop offset="0" style="stop-color:#c4ff33;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c4ff33;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR26e_1" x1="474.326368" x2="471.114276" y1="259.264369" y2="261.572938"> + <stop offset="1" style="stop-color:#8cff6b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c4ff33;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR26e_2" x1="469.298828" x2="471.318182" y1="259.046963" y2="256.688601"> - <stop offset="0" style="stop-color:#86ff71;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#86ff71;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR26e_2" x1="469.298828" x2="471.318182" y1="259.046963" y2="256.688601"> + <stop offset="1" style="stop-color:#8cff6b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#86ff71;stop-opacity:0;"/> </linearGradient> - <polygon id="GT26e" points="469.298828 259.046963 461.660538 248.419214 474.326368 259.264369"/> </defs> - <use fill="#8cff6b" fill-opacity="1" xlink:href="#GT26e"/> - <use fill="url(#GR26e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT26e"/> - <use fill="url(#GR26e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT26e"/> - <use fill="url(#GR26e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT26e"/> + <path d="M 469.298828,259.046963 L 461.660538,248.419214 474.326368,259.264369 Z" fill="#8cff6b" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 469.298828,259.046963 L 461.660538,248.419214 474.326368,259.264369 Z" fill="url(#GR26e_0)" shape-rendering="crispEdges"/> + <path d="M 469.298828,259.046963 L 461.660538,248.419214 474.326368,259.264369 Z" fill="url(#GR26e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 469.298828,259.046963 L 461.660538,248.419214 474.326368,259.264369 Z" fill="url(#GR26e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR26f_0" x1="474.326368" x2="471.114276" y1="259.264369" y2="261.572938"> - <stop offset="0" style="stop-color:#c4ff33;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c4ff33;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR26f_0" x1="474.326368" x2="471.114276" y1="259.264369" y2="261.572938"> + <stop offset="1" style="stop-color:#aaff4d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c4ff33;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR26f_1" x1="476.937117" x2="477.38158" y1="269.674712" y2="259.396486"> - <stop offset="0" style="stop-color:#b4ff43;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b4ff43;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR26f_1" x1="476.937117" x2="477.38158" y1="269.674712" y2="259.396486"> + <stop offset="1" style="stop-color:#aaff4d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b4ff43;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR26f_2" x1="469.298828" x2="473.977586" y1="259.046963" y2="257.873604"> - <stop offset="0" style="stop-color:#86ff71;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#86ff71;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR26f_2" x1="469.298828" x2="473.977586" y1="259.046963" y2="257.873604"> + <stop offset="1" style="stop-color:#aaff4d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#86ff71;stop-opacity:0;"/> </linearGradient> - <polygon id="GT26f" points="469.298828 259.046963 474.326368 259.264369 476.937117 269.674712"/> </defs> - <use fill="#aaff4d" fill-opacity="1" xlink:href="#GT26f"/> - <use fill="url(#GR26f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT26f"/> - <use fill="url(#GR26f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT26f"/> - <use fill="url(#GR26f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT26f"/> + <path d="M 469.298828,259.046963 L 474.326368,259.264369 476.937117,269.674712 Z" fill="#aaff4d" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 469.298828,259.046963 L 474.326368,259.264369 476.937117,269.674712 Z" fill="url(#GR26f_0)" shape-rendering="crispEdges"/> + <path d="M 469.298828,259.046963 L 474.326368,259.264369 476.937117,269.674712 Z" fill="url(#GR26f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 469.298828,259.046963 L 474.326368,259.264369 476.937117,269.674712 Z" fill="url(#GR26f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR270_0" x1="464.271287" x2="468.317887" y1="258.829556" y2="253.231736"> - <stop offset="0" style="stop-color:#46ffb1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#46ffb1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR270_0" x1="464.271287" x2="468.317887" y1="258.829556" y2="253.231736"> + <stop offset="1" style="stop-color:#25ded6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#46ffb1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR270_1" x1="453.849243" x2="455.873766" y1="242.772517" y2="241.775623"> - <stop offset="0" style="stop-color:#00b8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00b8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR270_1" x1="453.849243" x2="455.873766" y1="242.772517" y2="241.775623"> + <stop offset="1" style="stop-color:#25ded6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00b8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR270_2" x1="457.75489" x2="456.29627" y1="245.595866" y2="246.542604"> - <stop offset="0" style="stop-color:#28e4d3;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#28e4d3;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR270_2" x1="457.75489" x2="456.29627" y1="245.595866" y2="246.542604"> + <stop offset="1" style="stop-color:#25ded6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#28e4d3;stop-opacity:0;"/> </linearGradient> - <polygon id="GT270" points="457.75489 245.595866 464.271287 258.829556 453.849243 242.772517"/> </defs> - <use fill="#25ded6" fill-opacity="1" xlink:href="#GT270"/> - <use fill="url(#GR270_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT270"/> - <use fill="url(#GR270_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT270"/> - <use fill="url(#GR270_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT270"/> + <path d="M 457.75489,245.595866 L 464.271287,258.829556 453.849243,242.772517 Z" fill="#25ded6" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 457.75489,245.595866 L 464.271287,258.829556 453.849243,242.772517 Z" fill="url(#GR270_0)" shape-rendering="crispEdges"/> + <path d="M 457.75489,245.595866 L 464.271287,258.829556 453.849243,242.772517 Z" fill="url(#GR270_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 457.75489,245.595866 L 464.271287,258.829556 453.849243,242.772517 Z" fill="url(#GR270_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR271_0" x1="453.849243" x2="455.873766" y1="242.772517" y2="241.775623"> - <stop offset="0" style="stop-color:#00b8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00b8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR271_0" x1="453.849243" x2="455.873766" y1="242.772517" y2="241.775623"> + <stop offset="1" style="stop-color:#0dd2f0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00b8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR271_1" x1="451.238493" x2="447.191893" y1="232.362175" y2="237.959995"> - <stop offset="0" style="stop-color:#00d8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00d8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR271_1" x1="451.238493" x2="447.191893" y1="232.362175" y2="237.959995"> + <stop offset="1" style="stop-color:#0dd2f0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00d8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR271_2" x1="457.75489" x2="454.7465" y1="245.595866" y2="246.350323"> - <stop offset="0" style="stop-color:#28e4d3;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#28e4d3;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR271_2" x1="457.75489" x2="454.7465" y1="245.595866" y2="246.350323"> + <stop offset="1" style="stop-color:#0dd2f0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#28e4d3;stop-opacity:0;"/> </linearGradient> - <polygon id="GT271" points="457.75489 245.595866 453.849243 242.772517 451.238493 232.362175"/> </defs> - <use fill="#0dd2f0" fill-opacity="1" xlink:href="#GT271"/> - <use fill="url(#GR271_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT271"/> - <use fill="url(#GR271_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT271"/> - <use fill="url(#GR271_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT271"/> + <path d="M 457.75489,245.595866 L 453.849243,242.772517 451.238493,232.362175 Z" fill="#0dd2f0" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 457.75489,245.595866 L 453.849243,242.772517 451.238493,232.362175 Z" fill="url(#GR271_0)" shape-rendering="crispEdges"/> + <path d="M 457.75489,245.595866 L 453.849243,242.772517 451.238493,232.362175 Z" fill="url(#GR271_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 457.75489,245.595866 L 453.849243,242.772517 451.238493,232.362175 Z" fill="url(#GR271_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR272_0" x1="451.238493" x2="447.191893" y1="232.362175" y2="237.959995"> - <stop offset="0" style="stop-color:#00d8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00d8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR272_0" x1="451.238493" x2="447.191893" y1="232.362175" y2="237.959995"> + <stop offset="1" style="stop-color:#2be9d0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00d8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR272_1" x1="461.660538" x2="459.636015" y1="248.419214" y2="249.416109"> - <stop offset="0" style="stop-color:#5aff9d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5aff9d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR272_1" x1="461.660538" x2="459.636015" y1="248.419214" y2="249.416109"> + <stop offset="1" style="stop-color:#2be9d0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5aff9d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR272_2" x1="457.75489" x2="459.213511" y1="245.595866" y2="244.649128"> - <stop offset="0" style="stop-color:#28e4d3;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#28e4d3;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR272_2" x1="457.75489" x2="459.213511" y1="245.595866" y2="244.649128"> + <stop offset="1" style="stop-color:#2be9d0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#28e4d3;stop-opacity:0;"/> </linearGradient> - <polygon id="GT272" points="457.75489 245.595866 451.238493 232.362175 461.660538 248.419214"/> </defs> - <use fill="#2be9d0" fill-opacity="1" xlink:href="#GT272"/> - <use fill="url(#GR272_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT272"/> - <use fill="url(#GR272_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT272"/> - <use fill="url(#GR272_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT272"/> + <path d="M 457.75489,245.595866 L 451.238493,232.362175 461.660538,248.419214 Z" fill="#2be9d0" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 457.75489,245.595866 L 451.238493,232.362175 461.660538,248.419214 Z" fill="url(#GR272_0)" shape-rendering="crispEdges"/> + <path d="M 457.75489,245.595866 L 451.238493,232.362175 461.660538,248.419214 Z" fill="url(#GR272_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 457.75489,245.595866 L 451.238493,232.362175 461.660538,248.419214 Z" fill="url(#GR272_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR273_0" x1="461.660538" x2="459.636015" y1="248.419214" y2="249.416109"> - <stop offset="0" style="stop-color:#5aff9d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5aff9d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR273_0" x1="461.660538" x2="459.636015" y1="248.419214" y2="249.416109"> + <stop offset="1" style="stop-color:#43f6b6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5aff9d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR273_1" x1="464.271287" x2="468.317887" y1="258.829556" y2="253.231736"> - <stop offset="0" style="stop-color:#46ffb1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#46ffb1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR273_1" x1="464.271287" x2="468.317887" y1="258.829556" y2="253.231736"> + <stop offset="1" style="stop-color:#43f6b6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#46ffb1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR273_2" x1="457.75489" x2="460.763281" y1="245.595866" y2="244.841409"> - <stop offset="0" style="stop-color:#28e4d3;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#28e4d3;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR273_2" x1="457.75489" x2="460.763281" y1="245.595866" y2="244.841409"> + <stop offset="1" style="stop-color:#43f6b6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#28e4d3;stop-opacity:0;"/> </linearGradient> - <polygon id="GT273" points="457.75489 245.595866 461.660538 248.419214 464.271287 258.829556"/> </defs> - <use fill="#43f6b6" fill-opacity="1" xlink:href="#GT273"/> - <use fill="url(#GR273_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT273"/> - <use fill="url(#GR273_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT273"/> - <use fill="url(#GR273_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT273"/> + <path d="M 457.75489,245.595866 L 461.660538,248.419214 464.271287,258.829556 Z" fill="#43f6b6" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 457.75489,245.595866 L 461.660538,248.419214 464.271287,258.829556 Z" fill="url(#GR273_0)" shape-rendering="crispEdges"/> + <path d="M 457.75489,245.595866 L 461.660538,248.419214 464.271287,258.829556 Z" fill="url(#GR273_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 457.75489,245.595866 L 461.660538,248.419214 464.271287,258.829556 Z" fill="url(#GR273_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR274_0" x1="453.849243" x2="455.89798" y1="242.772517" y2="241.756349"> - <stop offset="0" style="stop-color:#00b8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00b8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR274_0" x1="453.849243" x2="455.89798" y1="242.772517" y2="241.756349"> + <stop offset="1" style="stop-color:#0083ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00b8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR274_1" x1="446.441385" x2="447.172183" y1="222.690536" y2="222.450424"> - <stop offset="0" style="stop-color:#0040ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0040ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR274_1" x1="446.441385" x2="447.172183" y1="222.690536" y2="222.450424"> + <stop offset="1" style="stop-color:#0083ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0040ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR274_2" x1="448.839939" x2="448.298853" y1="227.526356" y2="227.725952"> - <stop offset="0" style="stop-color:#0090ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0090ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR274_2" x1="448.839939" x2="448.298853" y1="227.526356" y2="227.725952"> + <stop offset="1" style="stop-color:#0083ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0090ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT274" points="448.839939 227.526356 453.849243 242.772517 446.441385 222.690536"/> </defs> - <use fill="#0083ff" fill-opacity="1" xlink:href="#GT274"/> - <use fill="url(#GR274_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT274"/> - <use fill="url(#GR274_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT274"/> - <use fill="url(#GR274_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT274"/> + <path d="M 448.839939,227.526356 L 453.849243,242.772517 446.441385,222.690536 Z" fill="#0083ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 448.839939,227.526356 L 453.849243,242.772517 446.441385,222.690536 Z" fill="url(#GR274_0)" shape-rendering="crispEdges"/> + <path d="M 448.839939,227.526356 L 453.849243,242.772517 446.441385,222.690536 Z" fill="url(#GR274_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 448.839939,227.526356 L 453.849243,242.772517 446.441385,222.690536 Z" fill="url(#GR274_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR275_0" x1="446.441385" x2="447.172183" y1="222.690536" y2="222.450424"> - <stop offset="0" style="stop-color:#0040ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0040ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR275_0" x1="446.441385" x2="447.172183" y1="222.690536" y2="222.450424"> + <stop offset="1" style="stop-color:#006bff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0040ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR275_1" x1="443.830635" x2="441.781898" y1="212.280194" y2="213.296363"> - <stop offset="0" style="stop-color:#0070ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0070ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR275_1" x1="443.830635" x2="441.781898" y1="212.280194" y2="213.296363"> + <stop offset="1" style="stop-color:#006bff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0070ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR275_2" x1="448.839939" x2="447.724298" y1="227.526356" y2="227.806141"> - <stop offset="0" style="stop-color:#0090ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0090ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR275_2" x1="448.839939" x2="447.724298" y1="227.526356" y2="227.806141"> + <stop offset="1" style="stop-color:#006bff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0090ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT275" points="448.839939 227.526356 446.441385 222.690536 443.830635 212.280194"/> </defs> - <use fill="#006bff" fill-opacity="1" xlink:href="#GT275"/> - <use fill="url(#GR275_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT275"/> - <use fill="url(#GR275_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT275"/> - <use fill="url(#GR275_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT275"/> + <path d="M 448.839939,227.526356 L 446.441385,222.690536 443.830635,212.280194 Z" fill="#006bff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 448.839939,227.526356 L 446.441385,222.690536 443.830635,212.280194 Z" fill="url(#GR275_0)" shape-rendering="crispEdges"/> + <path d="M 448.839939,227.526356 L 446.441385,222.690536 443.830635,212.280194 Z" fill="url(#GR275_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 448.839939,227.526356 L 446.441385,222.690536 443.830635,212.280194 Z" fill="url(#GR275_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR276_0" x1="443.830635" x2="441.781898" y1="212.280194" y2="213.296363"> - <stop offset="0" style="stop-color:#0070ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0070ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR276_0" x1="443.830635" x2="441.781898" y1="212.280194" y2="213.296363"> + <stop offset="1" style="stop-color:#009eff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0070ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR276_1" x1="451.238493" x2="450.507695" y1="232.362175" y2="232.602287"> - <stop offset="0" style="stop-color:#00d8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00d8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR276_1" x1="451.238493" x2="450.507695" y1="232.362175" y2="232.602287"> + <stop offset="1" style="stop-color:#009eff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00d8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR276_2" x1="448.839939" x2="449.381025" y1="227.526356" y2="227.32676"> - <stop offset="0" style="stop-color:#0090ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0090ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR276_2" x1="448.839939" x2="449.381025" y1="227.526356" y2="227.32676"> + <stop offset="1" style="stop-color:#009eff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0090ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT276" points="448.839939 227.526356 443.830635 212.280194 451.238493 232.362175"/> </defs> - <use fill="#009eff" fill-opacity="1" xlink:href="#GT276"/> - <use fill="url(#GR276_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT276"/> - <use fill="url(#GR276_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT276"/> - <use fill="url(#GR276_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT276"/> + <path d="M 448.839939,227.526356 L 443.830635,212.280194 451.238493,232.362175 Z" fill="#009eff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 448.839939,227.526356 L 443.830635,212.280194 451.238493,232.362175 Z" fill="url(#GR276_0)" shape-rendering="crispEdges"/> + <path d="M 448.839939,227.526356 L 443.830635,212.280194 451.238493,232.362175 Z" fill="url(#GR276_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 448.839939,227.526356 L 443.830635,212.280194 451.238493,232.362175 Z" fill="url(#GR276_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR277_0" x1="451.238493" x2="450.507695" y1="232.362175" y2="232.602287"> - <stop offset="0" style="stop-color:#00d8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00d8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR277_0" x1="451.238493" x2="450.507695" y1="232.362175" y2="232.602287"> + <stop offset="1" style="stop-color:#00b6ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00d8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR277_1" x1="453.849243" x2="455.89798" y1="242.772517" y2="241.756349"> - <stop offset="0" style="stop-color:#00b8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00b8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR277_1" x1="453.849243" x2="455.89798" y1="242.772517" y2="241.756349"> + <stop offset="1" style="stop-color:#00b6ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00b8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR277_2" x1="448.839939" x2="449.95558" y1="227.526356" y2="227.246571"> - <stop offset="0" style="stop-color:#0090ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0090ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR277_2" x1="448.839939" x2="449.95558" y1="227.526356" y2="227.246571"> + <stop offset="1" style="stop-color:#00b6ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0090ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT277" points="448.839939 227.526356 451.238493 232.362175 453.849243 242.772517"/> </defs> - <use fill="#00b6ff" fill-opacity="1" xlink:href="#GT277"/> - <use fill="url(#GR277_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT277"/> - <use fill="url(#GR277_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT277"/> - <use fill="url(#GR277_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT277"/> + <path d="M 448.839939,227.526356 L 451.238493,232.362175 453.849243,242.772517 Z" fill="#00b6ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 448.839939,227.526356 L 451.238493,232.362175 453.849243,242.772517 Z" fill="url(#GR277_0)" shape-rendering="crispEdges"/> + <path d="M 448.839939,227.526356 L 451.238493,232.362175 453.849243,242.772517 Z" fill="url(#GR277_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 448.839939,227.526356 L 451.238493,232.362175 453.849243,242.772517 Z" fill="url(#GR277_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR278_0" x1="446.441385" x2="444.899484" y1="222.690536" y2="222.846509"> - <stop offset="0" style="stop-color:#0040ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0040ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR278_0" x1="446.441385" x2="444.899484" y1="222.690536" y2="222.846509"> + <stop offset="1" style="stop-color:#0028fb;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0040ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR278_1" x1="442.595304" x2="442.040628" y1="200.068079" y2="200.1765"> - <stop offset="0" style="stop-color:#0000f6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000f6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR278_1" x1="442.595304" x2="442.040628" y1="200.068079" y2="200.1765"> + <stop offset="1" style="stop-color:#0028fb;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000f6;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR278_2" x1="443.21297" x2="443.621594" y1="206.174137" y2="206.104666"> - <stop offset="0" style="stop-color:#0036fd;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0036fd;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR278_2" x1="443.21297" x2="443.621594" y1="206.174137" y2="206.104666"> + <stop offset="1" style="stop-color:#0028fb;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0036fd;stop-opacity:0;"/> </linearGradient> - <polygon id="GT278" points="443.21297 206.174137 446.441385 222.690536 442.595304 200.068079"/> </defs> - <use fill="#0028fb" fill-opacity="1" xlink:href="#GT278"/> - <use fill="url(#GR278_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT278"/> - <use fill="url(#GR278_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT278"/> - <use fill="url(#GR278_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT278"/> + <path d="M 443.21297,206.174137 L 446.441385,222.690536 442.595304,200.068079 Z" fill="#0028fb" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 443.21297,206.174137 L 446.441385,222.690536 442.595304,200.068079 Z" fill="url(#GR278_0)" shape-rendering="crispEdges"/> + <path d="M 443.21297,206.174137 L 446.441385,222.690536 442.595304,200.068079 Z" fill="url(#GR278_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 443.21297,206.174137 L 446.441385,222.690536 442.595304,200.068079 Z" fill="url(#GR278_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR279_0" x1="442.595304" x2="442.040628" y1="200.068079" y2="200.1765"> - <stop offset="0" style="stop-color:#0000f6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000f6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR279_0" x1="442.595304" x2="442.040628" y1="200.068079" y2="200.1765"> + <stop offset="1" style="stop-color:#0020fb;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000f6;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR279_1" x1="439.984555" x2="441.526456" y1="189.657737" y2="189.501764"> - <stop offset="0" style="stop-color:#0028ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0028ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR279_1" x1="439.984555" x2="441.526456" y1="189.657737" y2="189.501764"> + <stop offset="1" style="stop-color:#0020fb;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0028ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR279_2" x1="443.21297" x2="444.072546" y1="206.174137" y2="205.958568"> - <stop offset="0" style="stop-color:#0036fd;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0036fd;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR279_2" x1="443.21297" x2="444.072546" y1="206.174137" y2="205.958568"> + <stop offset="1" style="stop-color:#0020fb;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0036fd;stop-opacity:0;"/> </linearGradient> - <polygon id="GT279" points="443.21297 206.174137 442.595304 200.068079 439.984555 189.657737"/> </defs> - <use fill="#0020fb" fill-opacity="1" xlink:href="#GT279"/> - <use fill="url(#GR279_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT279"/> - <use fill="url(#GR279_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT279"/> - <use fill="url(#GR279_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT279"/> + <path d="M 443.21297,206.174137 L 442.595304,200.068079 439.984555,189.657737 Z" fill="#0020fb" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 443.21297,206.174137 L 442.595304,200.068079 439.984555,189.657737 Z" fill="url(#GR279_0)" shape-rendering="crispEdges"/> + <path d="M 443.21297,206.174137 L 442.595304,200.068079 439.984555,189.657737 Z" fill="url(#GR279_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 443.21297,206.174137 L 442.595304,200.068079 439.984555,189.657737 Z" fill="url(#GR279_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR27a_0" x1="439.984555" x2="441.526456" y1="189.657737" y2="189.501764"> - <stop offset="0" style="stop-color:#0028ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0028ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR27a_0" x1="439.984555" x2="441.526456" y1="189.657737" y2="189.501764"> + <stop offset="1" style="stop-color:#0045fe;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0028ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR27a_1" x1="443.830635" x2="444.385311" y1="212.280194" y2="212.171773"> - <stop offset="0" style="stop-color:#0070ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0070ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR27a_1" x1="443.830635" x2="444.385311" y1="212.280194" y2="212.171773"> + <stop offset="1" style="stop-color:#0045fe;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0070ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR27a_2" x1="443.21297" x2="442.804346" y1="206.174137" y2="206.243607"> - <stop offset="0" style="stop-color:#0036fd;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0036fd;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR27a_2" x1="443.21297" x2="442.804346" y1="206.174137" y2="206.243607"> + <stop offset="1" style="stop-color:#0045fe;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0036fd;stop-opacity:0;"/> </linearGradient> - <polygon id="GT27a" points="443.21297 206.174137 439.984555 189.657737 443.830635 212.280194"/> </defs> - <use fill="#0045fe" fill-opacity="1" xlink:href="#GT27a"/> - <use fill="url(#GR27a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT27a"/> - <use fill="url(#GR27a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT27a"/> - <use fill="url(#GR27a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT27a"/> + <path d="M 443.21297,206.174137 L 439.984555,189.657737 443.830635,212.280194 Z" fill="#0045fe" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 443.21297,206.174137 L 439.984555,189.657737 443.830635,212.280194 Z" fill="url(#GR27a_0)" shape-rendering="crispEdges"/> + <path d="M 443.21297,206.174137 L 439.984555,189.657737 443.830635,212.280194 Z" fill="url(#GR27a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 443.21297,206.174137 L 439.984555,189.657737 443.830635,212.280194 Z" fill="url(#GR27a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR27b_0" x1="443.830635" x2="444.385311" y1="212.280194" y2="212.171773"> - <stop offset="0" style="stop-color:#0070ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0070ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR27b_0" x1="443.830635" x2="444.385311" y1="212.280194" y2="212.171773"> + <stop offset="1" style="stop-color:#004dfe;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0070ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR27b_1" x1="446.441385" x2="444.899484" y1="222.690536" y2="222.846509"> - <stop offset="0" style="stop-color:#0040ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0040ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR27b_1" x1="446.441385" x2="444.899484" y1="222.690536" y2="222.846509"> + <stop offset="1" style="stop-color:#004dfe;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0040ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR27b_2" x1="443.21297" x2="442.353394" y1="206.174137" y2="206.389705"> - <stop offset="0" style="stop-color:#0036fd;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0036fd;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR27b_2" x1="443.21297" x2="442.353394" y1="206.174137" y2="206.389705"> + <stop offset="1" style="stop-color:#004dfe;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0036fd;stop-opacity:0;"/> </linearGradient> - <polygon id="GT27b" points="443.21297 206.174137 443.830635 212.280194 446.441385 222.690536"/> </defs> - <use fill="#004dfe" fill-opacity="1" xlink:href="#GT27b"/> - <use fill="url(#GR27b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT27b"/> - <use fill="url(#GR27b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT27b"/> - <use fill="url(#GR27b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT27b"/> + <path d="M 443.21297,206.174137 L 443.830635,212.280194 446.441385,222.690536 Z" fill="#004dfe" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 443.21297,206.174137 L 443.830635,212.280194 446.441385,222.690536 Z" fill="url(#GR27b_0)" shape-rendering="crispEdges"/> + <path d="M 443.21297,206.174137 L 443.830635,212.280194 446.441385,222.690536 Z" fill="url(#GR27b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 443.21297,206.174137 L 443.830635,212.280194 446.441385,222.690536 Z" fill="url(#GR27b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR27c_0" x1="442.595304" x2="438.086344" y1="200.068079" y2="199.16812"> - <stop offset="0" style="stop-color:#0000f6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000f6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR27c_0" x1="442.595304" x2="438.086344" y1="200.068079" y2="199.16812"> + <stop offset="1" style="stop-color:#0007f7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000f6;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR27c_1" x1="442.595304" x2="440.796931" y1="176.577402" y2="176.715897"> - <stop offset="0" style="stop-color:#0000f6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000f6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR27c_1" x1="442.595304" x2="440.796931" y1="176.577402" y2="176.715897"> + <stop offset="1" style="stop-color:#0007f7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000f6;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR27c_2" x1="441.28993" x2="442.595304" y1="183.117569" y2="183.117569"> - <stop offset="0" style="stop-color:#0014fa;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0014fa;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR27c_2" x1="441.28993" x2="442.595304" y1="183.117569" y2="183.117569"> + <stop offset="1" style="stop-color:#0007f7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0014fa;stop-opacity:0;"/> </linearGradient> - <polygon id="GT27c" points="441.28993 183.117569 442.595304 200.068079 442.595304 176.577402"/> </defs> - <use fill="#0007f7" fill-opacity="1" xlink:href="#GT27c"/> - <use fill="url(#GR27c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT27c"/> - <use fill="url(#GR27c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT27c"/> - <use fill="url(#GR27c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT27c"/> + <path d="M 441.28993,183.117569 L 442.595304,200.068079 442.595304,176.577402 Z" fill="#0007f7" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.28993,183.117569 L 442.595304,200.068079 442.595304,176.577402 Z" fill="url(#GR27c_0)" shape-rendering="crispEdges"/> + <path d="M 441.28993,183.117569 L 442.595304,200.068079 442.595304,176.577402 Z" fill="url(#GR27c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.28993,183.117569 L 442.595304,200.068079 442.595304,176.577402 Z" fill="url(#GR27c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR27d_0" x1="442.595304" x2="440.796931" y1="176.577402" y2="176.715897"> - <stop offset="0" style="stop-color:#0000f6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000f6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR27d_0" x1="442.595304" x2="440.796931" y1="176.577402" y2="176.715897"> + <stop offset="1" style="stop-color:#0014fa;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000f6;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR27d_1" x1="439.984555" x2="444.493515" y1="166.16706" y2="167.067019"> - <stop offset="0" style="stop-color:#0028ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0028ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR27d_1" x1="439.984555" x2="444.493515" y1="166.16706" y2="167.067019"> + <stop offset="1" style="stop-color:#0014fa;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0028ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR27d_2" x1="441.28993" x2="444.061183" y1="183.117569" y2="182.422583"> - <stop offset="0" style="stop-color:#0014fa;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0014fa;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR27d_2" x1="441.28993" x2="444.061183" y1="183.117569" y2="182.422583"> + <stop offset="1" style="stop-color:#0014fa;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0014fa;stop-opacity:0;"/> </linearGradient> - <polygon id="GT27d" points="441.28993 183.117569 442.595304 176.577402 439.984555 166.16706"/> </defs> - <use fill="#0014fa" fill-opacity="1" xlink:href="#GT27d"/> - <use fill="url(#GR27d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT27d"/> - <use fill="url(#GR27d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT27d"/> - <use fill="url(#GR27d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT27d"/> + <path d="M 441.28993,183.117569 L 442.595304,176.577402 439.984555,166.16706 Z" fill="#0014fa" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.28993,183.117569 L 442.595304,176.577402 439.984555,166.16706 Z" fill="url(#GR27d_0)" shape-rendering="crispEdges"/> + <path d="M 441.28993,183.117569 L 442.595304,176.577402 439.984555,166.16706 Z" fill="url(#GR27d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.28993,183.117569 L 442.595304,176.577402 439.984555,166.16706 Z" fill="url(#GR27d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR27e_0" x1="439.984555" x2="444.493515" y1="166.16706" y2="167.067019"> - <stop offset="0" style="stop-color:#0028ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0028ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR27e_0" x1="439.984555" x2="444.493515" y1="166.16706" y2="167.067019"> + <stop offset="1" style="stop-color:#0022fd;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0028ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR27e_1" x1="439.984555" x2="441.782928" y1="189.657737" y2="189.519242"> - <stop offset="0" style="stop-color:#0028ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0028ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR27e_1" x1="439.984555" x2="441.782928" y1="189.657737" y2="189.519242"> + <stop offset="1" style="stop-color:#0022fd;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0028ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR27e_2" x1="441.28993" x2="439.984555" y1="183.117569" y2="183.117569"> - <stop offset="0" style="stop-color:#0014fa;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0014fa;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR27e_2" x1="441.28993" x2="439.984555" y1="183.117569" y2="183.117569"> + <stop offset="1" style="stop-color:#0022fd;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0014fa;stop-opacity:0;"/> </linearGradient> - <polygon id="GT27e" points="441.28993 183.117569 439.984555 166.16706 439.984555 189.657737"/> </defs> - <use fill="#0022fd" fill-opacity="1" xlink:href="#GT27e"/> - <use fill="url(#GR27e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT27e"/> - <use fill="url(#GR27e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT27e"/> - <use fill="url(#GR27e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT27e"/> + <path d="M 441.28993,183.117569 L 439.984555,166.16706 439.984555,189.657737 Z" fill="#0022fd" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.28993,183.117569 L 439.984555,166.16706 439.984555,189.657737 Z" fill="url(#GR27e_0)" shape-rendering="crispEdges"/> + <path d="M 441.28993,183.117569 L 439.984555,166.16706 439.984555,189.657737 Z" fill="url(#GR27e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.28993,183.117569 L 439.984555,166.16706 439.984555,189.657737 Z" fill="url(#GR27e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR27f_0" x1="439.984555" x2="441.782928" y1="189.657737" y2="189.519242"> - <stop offset="0" style="stop-color:#0028ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0028ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR27f_0" x1="439.984555" x2="441.782928" y1="189.657737" y2="189.519242"> + <stop offset="1" style="stop-color:#0014fa;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0028ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR27f_1" x1="442.595304" x2="438.086344" y1="200.068079" y2="199.16812"> - <stop offset="0" style="stop-color:#0000f6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000f6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR27f_1" x1="442.595304" x2="438.086344" y1="200.068079" y2="199.16812"> + <stop offset="1" style="stop-color:#0014fa;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000f6;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR27f_2" x1="441.28993" x2="438.518676" y1="183.117569" y2="183.812556"> - <stop offset="0" style="stop-color:#0014fa;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0014fa;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR27f_2" x1="441.28993" x2="438.518676" y1="183.117569" y2="183.812556"> + <stop offset="1" style="stop-color:#0014fa;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0014fa;stop-opacity:0;"/> </linearGradient> - <polygon id="GT27f" points="441.28993 183.117569 439.984555 189.657737 442.595304 200.068079"/> </defs> - <use fill="#0014fa" fill-opacity="1" xlink:href="#GT27f"/> - <use fill="url(#GR27f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT27f"/> - <use fill="url(#GR27f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT27f"/> - <use fill="url(#GR27f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT27f"/> + <path d="M 441.28993,183.117569 L 439.984555,189.657737 442.595304,200.068079 Z" fill="#0014fa" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.28993,183.117569 L 439.984555,189.657737 442.595304,200.068079 Z" fill="url(#GR27f_0)" shape-rendering="crispEdges"/> + <path d="M 441.28993,183.117569 L 439.984555,189.657737 442.595304,200.068079 Z" fill="url(#GR27f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.28993,183.117569 L 439.984555,189.657737 442.595304,200.068079 Z" fill="url(#GR27f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR280_0" x1="442.595304" x2="436.25327" y1="176.577402" y2="173.224221"> - <stop offset="0" style="stop-color:#0000f6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000f6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR280_0" x1="442.595304" x2="436.25327" y1="176.577402" y2="173.224221"> + <stop offset="1" style="stop-color:#0028fb;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000f6;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR280_1" x1="446.441385" x2="443.445509" y1="153.954944" y2="153.842907"> - <stop offset="0" style="stop-color:#0040ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0040ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR280_1" x1="446.441385" x2="443.445509" y1="153.954944" y2="153.842907"> + <stop offset="1" style="stop-color:#0028fb;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0040ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR280_2" x1="443.21297" x2="445.341754" y1="160.061002" y2="160.42292"> - <stop offset="0" style="stop-color:#0036fd;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0036fd;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR280_2" x1="443.21297" x2="445.341754" y1="160.061002" y2="160.42292"> + <stop offset="1" style="stop-color:#0028fb;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0036fd;stop-opacity:0;"/> </linearGradient> - <polygon id="GT280" points="443.21297 160.061002 442.595304 176.577402 446.441385 153.954944"/> </defs> - <use fill="#0028fb" fill-opacity="1" xlink:href="#GT280"/> - <use fill="url(#GR280_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT280"/> - <use fill="url(#GR280_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT280"/> - <use fill="url(#GR280_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT280"/> + <path d="M 443.21297,160.061002 L 442.595304,176.577402 446.441385,153.954944 Z" fill="#0028fb" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 443.21297,160.061002 L 442.595304,176.577402 446.441385,153.954944 Z" fill="url(#GR280_0)" shape-rendering="crispEdges"/> + <path d="M 443.21297,160.061002 L 442.595304,176.577402 446.441385,153.954944 Z" fill="url(#GR280_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 443.21297,160.061002 L 442.595304,176.577402 446.441385,153.954944 Z" fill="url(#GR280_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR281_0" x1="446.441385" x2="443.445509" y1="153.954944" y2="153.842907"> - <stop offset="0" style="stop-color:#0040ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0040ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR281_0" x1="446.441385" x2="443.445509" y1="153.954944" y2="153.842907"> + <stop offset="1" style="stop-color:#004dfe;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0040ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR281_1" x1="443.830635" x2="450.17267" y1="143.544602" y2="146.897784"> - <stop offset="0" style="stop-color:#0070ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0070ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR281_1" x1="443.830635" x2="450.17267" y1="143.544602" y2="146.897784"> + <stop offset="1" style="stop-color:#004dfe;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0070ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR281_2" x1="443.21297" x2="447.691049" y1="160.061002" y2="158.937971"> - <stop offset="0" style="stop-color:#0036fd;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0036fd;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR281_2" x1="443.21297" x2="447.691049" y1="160.061002" y2="158.937971"> + <stop offset="1" style="stop-color:#004dfe;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0036fd;stop-opacity:0;"/> </linearGradient> - <polygon id="GT281" points="443.21297 160.061002 446.441385 153.954944 443.830635 143.544602"/> </defs> - <use fill="#004dfe" fill-opacity="1" xlink:href="#GT281"/> - <use fill="url(#GR281_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT281"/> - <use fill="url(#GR281_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT281"/> - <use fill="url(#GR281_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT281"/> + <path d="M 443.21297,160.061002 L 446.441385,153.954944 443.830635,143.544602 Z" fill="#004dfe" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 443.21297,160.061002 L 446.441385,153.954944 443.830635,143.544602 Z" fill="url(#GR281_0)" shape-rendering="crispEdges"/> + <path d="M 443.21297,160.061002 L 446.441385,153.954944 443.830635,143.544602 Z" fill="url(#GR281_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 443.21297,160.061002 L 446.441385,153.954944 443.830635,143.544602 Z" fill="url(#GR281_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR282_0" x1="443.830635" x2="450.17267" y1="143.544602" y2="146.897784"> - <stop offset="0" style="stop-color:#0070ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0070ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR282_0" x1="443.830635" x2="450.17267" y1="143.544602" y2="146.897784"> + <stop offset="1" style="stop-color:#0045fe;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0070ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR282_1" x1="439.984555" x2="442.980431" y1="166.16706" y2="166.279097"> - <stop offset="0" style="stop-color:#0028ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0028ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR282_1" x1="439.984555" x2="442.980431" y1="166.16706" y2="166.279097"> + <stop offset="1" style="stop-color:#0045fe;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0028ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR282_2" x1="443.21297" x2="441.084186" y1="160.061002" y2="159.699084"> - <stop offset="0" style="stop-color:#0036fd;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0036fd;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR282_2" x1="443.21297" x2="441.084186" y1="160.061002" y2="159.699084"> + <stop offset="1" style="stop-color:#0045fe;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0036fd;stop-opacity:0;"/> </linearGradient> - <polygon id="GT282" points="443.21297 160.061002 443.830635 143.544602 439.984555 166.16706"/> </defs> - <use fill="#0045fe" fill-opacity="1" xlink:href="#GT282"/> - <use fill="url(#GR282_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT282"/> - <use fill="url(#GR282_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT282"/> - <use fill="url(#GR282_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT282"/> + <path d="M 443.21297,160.061002 L 443.830635,143.544602 439.984555,166.16706 Z" fill="#0045fe" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 443.21297,160.061002 L 443.830635,143.544602 439.984555,166.16706 Z" fill="url(#GR282_0)" shape-rendering="crispEdges"/> + <path d="M 443.21297,160.061002 L 443.830635,143.544602 439.984555,166.16706 Z" fill="url(#GR282_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 443.21297,160.061002 L 443.830635,143.544602 439.984555,166.16706 Z" fill="url(#GR282_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR283_0" x1="439.984555" x2="442.980431" y1="166.16706" y2="166.279097"> - <stop offset="0" style="stop-color:#0028ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0028ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR283_0" x1="439.984555" x2="442.980431" y1="166.16706" y2="166.279097"> + <stop offset="1" style="stop-color:#0020fb;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0028ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR283_1" x1="442.595304" x2="436.25327" y1="176.577402" y2="173.224221"> - <stop offset="0" style="stop-color:#0000f6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0000f6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR283_1" x1="442.595304" x2="436.25327" y1="176.577402" y2="173.224221"> + <stop offset="1" style="stop-color:#0020fb;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0000f6;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR283_2" x1="443.21297" x2="438.734891" y1="160.061002" y2="161.184034"> - <stop offset="0" style="stop-color:#0036fd;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0036fd;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR283_2" x1="443.21297" x2="438.734891" y1="160.061002" y2="161.184034"> + <stop offset="1" style="stop-color:#0020fb;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0036fd;stop-opacity:0;"/> </linearGradient> - <polygon id="GT283" points="443.21297 160.061002 439.984555 166.16706 442.595304 176.577402"/> </defs> - <use fill="#0020fb" fill-opacity="1" xlink:href="#GT283"/> - <use fill="url(#GR283_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT283"/> - <use fill="url(#GR283_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT283"/> - <use fill="url(#GR283_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT283"/> + <path d="M 443.21297,160.061002 L 439.984555,166.16706 442.595304,176.577402 Z" fill="#0020fb" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 443.21297,160.061002 L 439.984555,166.16706 442.595304,176.577402 Z" fill="url(#GR283_0)" shape-rendering="crispEdges"/> + <path d="M 443.21297,160.061002 L 439.984555,166.16706 442.595304,176.577402 Z" fill="url(#GR283_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 443.21297,160.061002 L 439.984555,166.16706 442.595304,176.577402 Z" fill="url(#GR283_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR284_0" x1="446.441385" x2="439.980061" y1="153.954944" y2="147.261822"> - <stop offset="0" style="stop-color:#0040ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0040ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR284_0" x1="446.441385" x2="439.980061" y1="153.954944" y2="147.261822"> + <stop offset="1" style="stop-color:#0083ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0040ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR284_1" x1="453.849243" x2="449.703331" y1="133.872963" y2="133.220721"> - <stop offset="0" style="stop-color:#00b8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00b8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR284_1" x1="453.849243" x2="449.703331" y1="133.872963" y2="133.220721"> + <stop offset="1" style="stop-color:#0083ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00b8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR284_2" x1="448.839939" x2="451.679072" y1="138.708783" y2="139.756085"> - <stop offset="0" style="stop-color:#0090ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0090ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR284_2" x1="448.839939" x2="451.679072" y1="138.708783" y2="139.756085"> + <stop offset="1" style="stop-color:#0083ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0090ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT284" points="448.839939 138.708783 446.441385 153.954944 453.849243 133.872963"/> </defs> - <use fill="#0083ff" fill-opacity="1" xlink:href="#GT284"/> - <use fill="url(#GR284_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT284"/> - <use fill="url(#GR284_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT284"/> - <use fill="url(#GR284_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT284"/> + <path d="M 448.839939,138.708783 L 446.441385,153.954944 453.849243,133.872963 Z" fill="#0083ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 448.839939,138.708783 L 446.441385,153.954944 453.849243,133.872963 Z" fill="url(#GR284_0)" shape-rendering="crispEdges"/> + <path d="M 448.839939,138.708783 L 446.441385,153.954944 453.849243,133.872963 Z" fill="url(#GR284_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 448.839939,138.708783 L 446.441385,153.954944 453.849243,133.872963 Z" fill="url(#GR284_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR285_0" x1="453.849243" x2="449.703331" y1="133.872963" y2="133.220721"> - <stop offset="0" style="stop-color:#00b8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00b8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR285_0" x1="453.849243" x2="449.703331" y1="133.872963" y2="133.220721"> + <stop offset="1" style="stop-color:#00b6ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00b8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR285_1" x1="451.238493" x2="457.699817" y1="123.462621" y2="130.155744"> - <stop offset="0" style="stop-color:#00d8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00d8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR285_1" x1="451.238493" x2="457.699817" y1="123.462621" y2="130.155744"> + <stop offset="1" style="stop-color:#00b6ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00d8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR285_2" x1="448.839939" x2="454.693823" y1="138.708783" y2="137.240721"> - <stop offset="0" style="stop-color:#0090ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0090ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR285_2" x1="448.839939" x2="454.693823" y1="138.708783" y2="137.240721"> + <stop offset="1" style="stop-color:#00b6ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0090ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT285" points="448.839939 138.708783 453.849243 133.872963 451.238493 123.462621"/> </defs> - <use fill="#00b6ff" fill-opacity="1" xlink:href="#GT285"/> - <use fill="url(#GR285_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT285"/> - <use fill="url(#GR285_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT285"/> - <use fill="url(#GR285_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT285"/> + <path d="M 448.839939,138.708783 L 453.849243,133.872963 451.238493,123.462621 Z" fill="#00b6ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 448.839939,138.708783 L 453.849243,133.872963 451.238493,123.462621 Z" fill="url(#GR285_0)" shape-rendering="crispEdges"/> + <path d="M 448.839939,138.708783 L 453.849243,133.872963 451.238493,123.462621 Z" fill="url(#GR285_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 448.839939,138.708783 L 453.849243,133.872963 451.238493,123.462621 Z" fill="url(#GR285_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR286_0" x1="451.238493" x2="457.699817" y1="123.462621" y2="130.155744"> - <stop offset="0" style="stop-color:#00d8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00d8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR286_0" x1="451.238493" x2="457.699817" y1="123.462621" y2="130.155744"> + <stop offset="1" style="stop-color:#009eff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00d8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR286_1" x1="443.830635" x2="447.976547" y1="143.544602" y2="144.196845"> - <stop offset="0" style="stop-color:#0070ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0070ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR286_1" x1="443.830635" x2="447.976547" y1="143.544602" y2="144.196845"> + <stop offset="1" style="stop-color:#009eff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0070ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR286_2" x1="448.839939" x2="446.000806" y1="138.708783" y2="137.661481"> - <stop offset="0" style="stop-color:#0090ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0090ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR286_2" x1="448.839939" x2="446.000806" y1="138.708783" y2="137.661481"> + <stop offset="1" style="stop-color:#009eff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0090ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT286" points="448.839939 138.708783 451.238493 123.462621 443.830635 143.544602"/> </defs> - <use fill="#009eff" fill-opacity="1" xlink:href="#GT286"/> - <use fill="url(#GR286_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT286"/> - <use fill="url(#GR286_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT286"/> - <use fill="url(#GR286_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT286"/> + <path d="M 448.839939,138.708783 L 451.238493,123.462621 443.830635,143.544602 Z" fill="#009eff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 448.839939,138.708783 L 451.238493,123.462621 443.830635,143.544602 Z" fill="url(#GR286_0)" shape-rendering="crispEdges"/> + <path d="M 448.839939,138.708783 L 451.238493,123.462621 443.830635,143.544602 Z" fill="url(#GR286_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 448.839939,138.708783 L 451.238493,123.462621 443.830635,143.544602 Z" fill="url(#GR286_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR287_0" x1="443.830635" x2="447.976547" y1="143.544602" y2="144.196845"> - <stop offset="0" style="stop-color:#0070ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0070ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR287_0" x1="443.830635" x2="447.976547" y1="143.544602" y2="144.196845"> + <stop offset="1" style="stop-color:#006bff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0070ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR287_1" x1="446.441385" x2="439.980061" y1="153.954944" y2="147.261822"> - <stop offset="0" style="stop-color:#0040ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0040ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR287_1" x1="446.441385" x2="439.980061" y1="153.954944" y2="147.261822"> + <stop offset="1" style="stop-color:#006bff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0040ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR287_2" x1="448.839939" x2="442.986055" y1="138.708783" y2="140.176845"> - <stop offset="0" style="stop-color:#0090ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0090ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR287_2" x1="448.839939" x2="442.986055" y1="138.708783" y2="140.176845"> + <stop offset="1" style="stop-color:#006bff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0090ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT287" points="448.839939 138.708783 443.830635 143.544602 446.441385 153.954944"/> </defs> - <use fill="#006bff" fill-opacity="1" xlink:href="#GT287"/> - <use fill="url(#GR287_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT287"/> - <use fill="url(#GR287_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT287"/> - <use fill="url(#GR287_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT287"/> + <path d="M 448.839939,138.708783 L 443.830635,143.544602 446.441385,153.954944 Z" fill="#006bff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 448.839939,138.708783 L 443.830635,143.544602 446.441385,153.954944 Z" fill="url(#GR287_0)" shape-rendering="crispEdges"/> + <path d="M 448.839939,138.708783 L 443.830635,143.544602 446.441385,153.954944 Z" fill="url(#GR287_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 448.839939,138.708783 L 443.830635,143.544602 446.441385,153.954944 Z" fill="url(#GR287_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR288_0" x1="453.849243" x2="449.639026" y1="133.872963" y2="124.15562"> - <stop offset="0" style="stop-color:#00b8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00b8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR288_0" x1="453.849243" x2="449.639026" y1="133.872963" y2="124.15562"> + <stop offset="1" style="stop-color:#25ded6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00b8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR288_1" x1="464.271287" x2="459.04349" y1="117.815925" y2="116.27305"> - <stop offset="0" style="stop-color:#46ffb1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#46ffb1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR288_1" x1="464.271287" x2="459.04349" y1="117.815925" y2="116.27305"> + <stop offset="1" style="stop-color:#25ded6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#46ffb1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR288_2" x1="457.75489" x2="461.050406" y1="120.639273" y2="122.778273"> - <stop offset="0" style="stop-color:#28e4d3;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#28e4d3;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR288_2" x1="457.75489" x2="461.050406" y1="120.639273" y2="122.778273"> + <stop offset="1" style="stop-color:#25ded6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#28e4d3;stop-opacity:0;"/> </linearGradient> - <polygon id="GT288" points="457.75489 120.639273 453.849243 133.872963 464.271287 117.815925"/> </defs> - <use fill="#25ded6" fill-opacity="1" xlink:href="#GT288"/> - <use fill="url(#GR288_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT288"/> - <use fill="url(#GR288_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT288"/> - <use fill="url(#GR288_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT288"/> + <path d="M 457.75489,120.639273 L 453.849243,133.872963 464.271287,117.815925 Z" fill="#25ded6" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 457.75489,120.639273 L 453.849243,133.872963 464.271287,117.815925 Z" fill="url(#GR288_0)" shape-rendering="crispEdges"/> + <path d="M 457.75489,120.639273 L 453.849243,133.872963 464.271287,117.815925 Z" fill="url(#GR288_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 457.75489,120.639273 L 453.849243,133.872963 464.271287,117.815925 Z" fill="url(#GR288_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR289_0" x1="464.271287" x2="459.04349" y1="117.815925" y2="116.27305"> - <stop offset="0" style="stop-color:#46ffb1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#46ffb1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR289_0" x1="464.271287" x2="459.04349" y1="117.815925" y2="116.27305"> + <stop offset="1" style="stop-color:#43f6b6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#46ffb1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR289_1" x1="461.660538" x2="465.870755" y1="107.405583" y2="117.122926"> - <stop offset="0" style="stop-color:#5aff9d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5aff9d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR289_1" x1="461.660538" x2="465.870755" y1="107.405583" y2="117.122926"> + <stop offset="1" style="stop-color:#43f6b6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5aff9d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR289_2" x1="457.75489" x2="464.551858" y1="120.639273" y2="118.934701"> - <stop offset="0" style="stop-color:#28e4d3;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#28e4d3;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR289_2" x1="457.75489" x2="464.551858" y1="120.639273" y2="118.934701"> + <stop offset="1" style="stop-color:#43f6b6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#28e4d3;stop-opacity:0;"/> </linearGradient> - <polygon id="GT289" points="457.75489 120.639273 464.271287 117.815925 461.660538 107.405583"/> </defs> - <use fill="#43f6b6" fill-opacity="1" xlink:href="#GT289"/> - <use fill="url(#GR289_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT289"/> - <use fill="url(#GR289_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT289"/> - <use fill="url(#GR289_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT289"/> + <path d="M 457.75489,120.639273 L 464.271287,117.815925 461.660538,107.405583 Z" fill="#43f6b6" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 457.75489,120.639273 L 464.271287,117.815925 461.660538,107.405583 Z" fill="url(#GR289_0)" shape-rendering="crispEdges"/> + <path d="M 457.75489,120.639273 L 464.271287,117.815925 461.660538,107.405583 Z" fill="url(#GR289_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 457.75489,120.639273 L 464.271287,117.815925 461.660538,107.405583 Z" fill="url(#GR289_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR28a_0" x1="461.660538" x2="465.870755" y1="107.405583" y2="117.122926"> - <stop offset="0" style="stop-color:#5aff9d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5aff9d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR28a_0" x1="461.660538" x2="465.870755" y1="107.405583" y2="117.122926"> + <stop offset="1" style="stop-color:#2be9d0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5aff9d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR28a_1" x1="451.238493" x2="456.46629" y1="123.462621" y2="125.005496"> - <stop offset="0" style="stop-color:#00d8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00d8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR28a_1" x1="451.238493" x2="456.46629" y1="123.462621" y2="125.005496"> + <stop offset="1" style="stop-color:#2be9d0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00d8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR28a_2" x1="457.75489" x2="454.459375" y1="120.639273" y2="118.500273"> - <stop offset="0" style="stop-color:#28e4d3;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#28e4d3;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR28a_2" x1="457.75489" x2="454.459375" y1="120.639273" y2="118.500273"> + <stop offset="1" style="stop-color:#2be9d0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#28e4d3;stop-opacity:0;"/> </linearGradient> - <polygon id="GT28a" points="457.75489 120.639273 461.660538 107.405583 451.238493 123.462621"/> </defs> - <use fill="#2be9d0" fill-opacity="1" xlink:href="#GT28a"/> - <use fill="url(#GR28a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT28a"/> - <use fill="url(#GR28a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT28a"/> - <use fill="url(#GR28a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT28a"/> + <path d="M 457.75489,120.639273 L 461.660538,107.405583 451.238493,123.462621 Z" fill="#2be9d0" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 457.75489,120.639273 L 461.660538,107.405583 451.238493,123.462621 Z" fill="url(#GR28a_0)" shape-rendering="crispEdges"/> + <path d="M 457.75489,120.639273 L 461.660538,107.405583 451.238493,123.462621 Z" fill="url(#GR28a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 457.75489,120.639273 L 461.660538,107.405583 451.238493,123.462621 Z" fill="url(#GR28a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR28b_0" x1="451.238493" x2="456.46629" y1="123.462621" y2="125.005496"> - <stop offset="0" style="stop-color:#00d8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00d8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR28b_0" x1="451.238493" x2="456.46629" y1="123.462621" y2="125.005496"> + <stop offset="1" style="stop-color:#0dd2f0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00d8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR28b_1" x1="453.849243" x2="449.639026" y1="133.872963" y2="124.15562"> - <stop offset="0" style="stop-color:#00b8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00b8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR28b_1" x1="453.849243" x2="449.639026" y1="133.872963" y2="124.15562"> + <stop offset="1" style="stop-color:#0dd2f0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00b8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR28b_2" x1="457.75489" x2="450.957922" y1="120.639273" y2="122.343845"> - <stop offset="0" style="stop-color:#28e4d3;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#28e4d3;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR28b_2" x1="457.75489" x2="450.957922" y1="120.639273" y2="122.343845"> + <stop offset="1" style="stop-color:#0dd2f0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#28e4d3;stop-opacity:0;"/> </linearGradient> - <polygon id="GT28b" points="457.75489 120.639273 451.238493 123.462621 453.849243 133.872963"/> </defs> - <use fill="#0dd2f0" fill-opacity="1" xlink:href="#GT28b"/> - <use fill="url(#GR28b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT28b"/> - <use fill="url(#GR28b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT28b"/> - <use fill="url(#GR28b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT28b"/> + <path d="M 457.75489,120.639273 L 451.238493,123.462621 453.849243,133.872963 Z" fill="#0dd2f0" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 457.75489,120.639273 L 451.238493,123.462621 453.849243,133.872963 Z" fill="url(#GR28b_0)" shape-rendering="crispEdges"/> + <path d="M 457.75489,120.639273 L 451.238493,123.462621 453.849243,133.872963 Z" fill="url(#GR28b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 457.75489,120.639273 L 451.238493,123.462621 453.849243,133.872963 Z" fill="url(#GR28b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR28c_0" x1="464.271287" x2="463.973107" y1="117.815925" y2="107.339761"> - <stop offset="0" style="stop-color:#46ffb1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#46ffb1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR28c_0" x1="464.271287" x2="463.973107" y1="117.815925" y2="107.339761"> + <stop offset="1" style="stop-color:#80ff77;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#46ffb1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR28c_1" x1="476.937117" x2="470.779621" y1="106.970769" y2="104.057917"> - <stop offset="0" style="stop-color:#b4ff43;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b4ff43;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR28c_1" x1="476.937117" x2="470.779621" y1="106.970769" y2="104.057917"> + <stop offset="1" style="stop-color:#80ff77;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b4ff43;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR28c_2" x1="469.298828" x2="472.422587" y1="107.188176" y2="110.836349"> - <stop offset="0" style="stop-color:#86ff71;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#86ff71;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR28c_2" x1="469.298828" x2="472.422587" y1="107.188176" y2="110.836349"> + <stop offset="1" style="stop-color:#80ff77;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#86ff71;stop-opacity:0;"/> </linearGradient> - <polygon id="GT28c" points="469.298828 107.188176 464.271287 117.815925 476.937117 106.970769"/> </defs> - <use fill="#80ff77" fill-opacity="1" xlink:href="#GT28c"/> - <use fill="url(#GR28c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT28c"/> - <use fill="url(#GR28c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT28c"/> - <use fill="url(#GR28c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT28c"/> + <path d="M 469.298828,107.188176 L 464.271287,117.815925 476.937117,106.970769 Z" fill="#80ff77" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 469.298828,107.188176 L 464.271287,117.815925 476.937117,106.970769 Z" fill="url(#GR28c_0)" shape-rendering="crispEdges"/> + <path d="M 469.298828,107.188176 L 464.271287,117.815925 476.937117,106.970769 Z" fill="url(#GR28c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 469.298828,107.188176 L 464.271287,117.815925 476.937117,106.970769 Z" fill="url(#GR28c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR28d_0" x1="476.937117" x2="470.779621" y1="106.970769" y2="104.057917"> - <stop offset="0" style="stop-color:#b4ff43;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b4ff43;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR28d_0" x1="476.937117" x2="470.779621" y1="106.970769" y2="104.057917"> + <stop offset="1" style="stop-color:#aaff4d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b4ff43;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR28d_1" x1="474.326368" x2="474.624548" y1="96.560427" y2="107.036591"> - <stop offset="0" style="stop-color:#c4ff33;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c4ff33;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR28d_1" x1="474.326368" x2="474.624548" y1="96.560427" y2="107.036591"> + <stop offset="1" style="stop-color:#aaff4d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c4ff33;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR28d_2" x1="469.298828" x2="476.536446" y1="107.188176" y2="105.373096"> - <stop offset="0" style="stop-color:#86ff71;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#86ff71;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR28d_2" x1="469.298828" x2="476.536446" y1="107.188176" y2="105.373096"> + <stop offset="1" style="stop-color:#aaff4d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#86ff71;stop-opacity:0;"/> </linearGradient> - <polygon id="GT28d" points="469.298828 107.188176 476.937117 106.970769 474.326368 96.560427"/> </defs> - <use fill="#aaff4d" fill-opacity="1" xlink:href="#GT28d"/> - <use fill="url(#GR28d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT28d"/> - <use fill="url(#GR28d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT28d"/> - <use fill="url(#GR28d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT28d"/> + <path d="M 469.298828,107.188176 L 476.937117,106.970769 474.326368,96.560427 Z" fill="#aaff4d" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 469.298828,107.188176 L 476.937117,106.970769 474.326368,96.560427 Z" fill="url(#GR28d_0)" shape-rendering="crispEdges"/> + <path d="M 469.298828,107.188176 L 476.937117,106.970769 474.326368,96.560427 Z" fill="url(#GR28d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 469.298828,107.188176 L 476.937117,106.970769 474.326368,96.560427 Z" fill="url(#GR28d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR28e_0" x1="474.326368" x2="474.624548" y1="96.560427" y2="107.036591"> - <stop offset="0" style="stop-color:#c4ff33;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c4ff33;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR28e_0" x1="474.326368" x2="474.624548" y1="96.560427" y2="107.036591"> + <stop offset="1" style="stop-color:#8cff6b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c4ff33;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR28e_1" x1="461.660538" x2="467.818034" y1="107.405583" y2="110.318435"> - <stop offset="0" style="stop-color:#5aff9d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5aff9d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR28e_1" x1="461.660538" x2="467.818034" y1="107.405583" y2="110.318435"> + <stop offset="1" style="stop-color:#8cff6b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5aff9d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR28e_2" x1="469.298828" x2="466.175068" y1="107.188176" y2="103.540002"> - <stop offset="0" style="stop-color:#86ff71;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#86ff71;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR28e_2" x1="469.298828" x2="466.175068" y1="107.188176" y2="103.540002"> + <stop offset="1" style="stop-color:#8cff6b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#86ff71;stop-opacity:0;"/> </linearGradient> - <polygon id="GT28e" points="469.298828 107.188176 474.326368 96.560427 461.660538 107.405583"/> </defs> - <use fill="#8cff6b" fill-opacity="1" xlink:href="#GT28e"/> - <use fill="url(#GR28e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT28e"/> - <use fill="url(#GR28e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT28e"/> - <use fill="url(#GR28e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT28e"/> + <path d="M 469.298828,107.188176 L 474.326368,96.560427 461.660538,107.405583 Z" fill="#8cff6b" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 469.298828,107.188176 L 474.326368,96.560427 461.660538,107.405583 Z" fill="url(#GR28e_0)" shape-rendering="crispEdges"/> + <path d="M 469.298828,107.188176 L 474.326368,96.560427 461.660538,107.405583 Z" fill="url(#GR28e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 469.298828,107.188176 L 474.326368,96.560427 461.660538,107.405583 Z" fill="url(#GR28e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR28f_0" x1="461.660538" x2="467.818034" y1="107.405583" y2="110.318435"> - <stop offset="0" style="stop-color:#5aff9d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5aff9d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR28f_0" x1="461.660538" x2="467.818034" y1="107.405583" y2="110.318435"> + <stop offset="1" style="stop-color:#62ff95;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5aff9d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR28f_1" x1="464.271287" x2="463.973107" y1="117.815925" y2="107.339761"> - <stop offset="0" style="stop-color:#46ffb1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#46ffb1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR28f_1" x1="464.271287" x2="463.973107" y1="117.815925" y2="107.339761"> + <stop offset="1" style="stop-color:#62ff95;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#46ffb1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR28f_2" x1="469.298828" x2="462.061209" y1="107.188176" y2="109.003256"> - <stop offset="0" style="stop-color:#86ff71;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#86ff71;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR28f_2" x1="469.298828" x2="462.061209" y1="107.188176" y2="109.003256"> + <stop offset="1" style="stop-color:#62ff95;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#86ff71;stop-opacity:0;"/> </linearGradient> - <polygon id="GT28f" points="469.298828 107.188176 461.660538 107.405583 464.271287 117.815925"/> </defs> - <use fill="#62ff95" fill-opacity="1" xlink:href="#GT28f"/> - <use fill="url(#GR28f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT28f"/> - <use fill="url(#GR28f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT28f"/> - <use fill="url(#GR28f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT28f"/> + <path d="M 469.298828,107.188176 L 461.660538,107.405583 464.271287,117.815925 Z" fill="#62ff95" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 469.298828,107.188176 L 461.660538,107.405583 464.271287,117.815925 Z" fill="url(#GR28f_0)" shape-rendering="crispEdges"/> + <path d="M 469.298828,107.188176 L 461.660538,107.405583 464.271287,117.815925 Z" fill="url(#GR28f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 469.298828,107.188176 L 461.660538,107.405583 464.271287,117.815925 Z" fill="url(#GR28f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR290_0" x1="476.937117" x2="479.817674" y1="106.970769" y2="98.407654"> - <stop offset="0" style="stop-color:#b4ff43;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b4ff43;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR290_0" x1="476.937117" x2="479.817674" y1="106.970769" y2="98.407654"> + <stop offset="1" style="stop-color:#dbe020;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b4ff43;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR290_1" x1="490.910472" x2="484.243902" y1="102.139174" y2="97.169359"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR290_1" x1="490.910472" x2="484.243902" y1="102.139174" y2="97.169359"> + <stop offset="1" style="stop-color:#dbe020;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR290_2" x1="482.61842" x2="484.365423" y1="99.3498" y2="104.402269"> - <stop offset="0" style="stop-color:#dddd1d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dddd1d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR290_2" x1="482.61842" x2="484.365423" y1="99.3498" y2="104.402269"> + <stop offset="1" style="stop-color:#dbe020;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dddd1d;stop-opacity:0;"/> </linearGradient> - <polygon id="GT290" points="482.61842 99.3498 476.937117 106.970769 490.910472 102.139174"/> </defs> - <use fill="#dbe020" fill-opacity="1" xlink:href="#GT290"/> - <use fill="url(#GR290_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT290"/> - <use fill="url(#GR290_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT290"/> - <use fill="url(#GR290_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT290"/> + <path d="M 482.61842,99.3498 L 476.937117,106.970769 490.910472,102.139174 Z" fill="#dbe020" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 482.61842,99.3498 L 476.937117,106.970769 490.910472,102.139174 Z" fill="url(#GR290_0)" shape-rendering="crispEdges"/> + <path d="M 482.61842,99.3498 L 476.937117,106.970769 490.910472,102.139174 Z" fill="url(#GR290_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 482.61842,99.3498 L 476.937117,106.970769 490.910472,102.139174 Z" fill="url(#GR290_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR291_0" x1="490.910472" x2="484.243902" y1="102.139174" y2="97.169359"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR291_0" x1="490.910472" x2="484.243902" y1="102.139174" y2="97.169359"> + <stop offset="1" style="stop-color:#f4c70a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR291_1" x1="488.299723" x2="485.419166" y1="91.728831" y2="100.291947"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR291_1" x1="488.299723" x2="485.419166" y1="91.728831" y2="100.291947"> + <stop offset="1" style="stop-color:#f4c70a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR291_2" x1="482.61842" x2="489.761682" y1="99.3498" y2="97.558383"> - <stop offset="0" style="stop-color:#dddd1d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dddd1d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR291_2" x1="482.61842" x2="489.761682" y1="99.3498" y2="97.558383"> + <stop offset="1" style="stop-color:#f4c70a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dddd1d;stop-opacity:0;"/> </linearGradient> - <polygon id="GT291" points="482.61842 99.3498 490.910472 102.139174 488.299723 91.728831"/> </defs> - <use fill="#f4c70a" fill-opacity="1" xlink:href="#GT291"/> - <use fill="url(#GR291_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT291"/> - <use fill="url(#GR291_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT291"/> - <use fill="url(#GR291_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT291"/> + <path d="M 482.61842,99.3498 L 490.910472,102.139174 488.299723,91.728831 Z" fill="#f4c70a" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 482.61842,99.3498 L 490.910472,102.139174 488.299723,91.728831 Z" fill="url(#GR291_0)" shape-rendering="crispEdges"/> + <path d="M 482.61842,99.3498 L 490.910472,102.139174 488.299723,91.728831 Z" fill="url(#GR291_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 482.61842,99.3498 L 490.910472,102.139174 488.299723,91.728831 Z" fill="url(#GR291_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR292_0" x1="488.299723" x2="485.419166" y1="91.728831" y2="100.291947"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR292_0" x1="488.299723" x2="485.419166" y1="91.728831" y2="100.291947"> + <stop offset="1" style="stop-color:#e0da1b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR292_1" x1="474.326368" x2="480.992938" y1="96.560427" y2="101.530242"> - <stop offset="0" style="stop-color:#c4ff33;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c4ff33;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR292_1" x1="474.326368" x2="480.992938" y1="96.560427" y2="101.530242"> + <stop offset="1" style="stop-color:#e0da1b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c4ff33;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR292_2" x1="482.61842" x2="480.871418" y1="99.3498" y2="94.297332"> - <stop offset="0" style="stop-color:#dddd1d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dddd1d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR292_2" x1="482.61842" x2="480.871418" y1="99.3498" y2="94.297332"> + <stop offset="1" style="stop-color:#e0da1b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dddd1d;stop-opacity:0;"/> </linearGradient> - <polygon id="GT292" points="482.61842 99.3498 488.299723 91.728831 474.326368 96.560427"/> </defs> - <use fill="#e0da1b" fill-opacity="1" xlink:href="#GT292"/> - <use fill="url(#GR292_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT292"/> - <use fill="url(#GR292_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT292"/> - <use fill="url(#GR292_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT292"/> + <path d="M 482.61842,99.3498 L 488.299723,91.728831 474.326368,96.560427 Z" fill="#e0da1b" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 482.61842,99.3498 L 488.299723,91.728831 474.326368,96.560427 Z" fill="url(#GR292_0)" shape-rendering="crispEdges"/> + <path d="M 482.61842,99.3498 L 488.299723,91.728831 474.326368,96.560427 Z" fill="url(#GR292_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 482.61842,99.3498 L 488.299723,91.728831 474.326368,96.560427 Z" fill="url(#GR292_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR293_0" x1="474.326368" x2="480.992938" y1="96.560427" y2="101.530242"> - <stop offset="0" style="stop-color:#c4ff33;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c4ff33;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR293_0" x1="474.326368" x2="480.992938" y1="96.560427" y2="101.530242"> + <stop offset="1" style="stop-color:#c7f431;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c4ff33;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR293_1" x1="476.937117" x2="479.817674" y1="106.970769" y2="98.407654"> - <stop offset="0" style="stop-color:#b4ff43;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b4ff43;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR293_1" x1="476.937117" x2="479.817674" y1="106.970769" y2="98.407654"> + <stop offset="1" style="stop-color:#c7f431;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b4ff43;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR293_2" x1="482.61842" x2="475.475158" y1="99.3498" y2="101.141218"> - <stop offset="0" style="stop-color:#dddd1d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dddd1d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR293_2" x1="482.61842" x2="475.475158" y1="99.3498" y2="101.141218"> + <stop offset="1" style="stop-color:#c7f431;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dddd1d;stop-opacity:0;"/> </linearGradient> - <polygon id="GT293" points="482.61842 99.3498 474.326368 96.560427 476.937117 106.970769"/> </defs> - <use fill="#c7f431" fill-opacity="1" xlink:href="#GT293"/> - <use fill="url(#GR293_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT293"/> - <use fill="url(#GR293_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT293"/> - <use fill="url(#GR293_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT293"/> + <path d="M 482.61842,99.3498 L 474.326368,96.560427 476.937117,106.970769 Z" fill="#c7f431" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 482.61842,99.3498 L 474.326368,96.560427 476.937117,106.970769 Z" fill="url(#GR293_0)" shape-rendering="crispEdges"/> + <path d="M 482.61842,99.3498 L 474.326368,96.560427 476.937117,106.970769 Z" fill="url(#GR293_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 482.61842,99.3498 L 474.326368,96.560427 476.937117,106.970769 Z" fill="url(#GR293_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR294_0" x1="488.299723" x2="483.946248" y1="264.095965" y2="254.772491"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR294_0" x1="488.299723" x2="483.946248" y1="264.095965" y2="254.772491"> + <stop offset="1" style="stop-color:#e3d718;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR294_1" x1="474.326368" x2="477.723843" y1="259.264369" y2="255.2174"> - <stop offset="0" style="stop-color:#c4ff33;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c4ff33;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR294_1" x1="474.326368" x2="477.723843" y1="259.264369" y2="255.2174"> + <stop offset="1" style="stop-color:#e3d718;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c4ff33;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR294_2" x1="479.607242" x2="478.281729" y1="256.798534" y2="260.632023"> - <stop offset="0" style="stop-color:#e7d414;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e7d414;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR294_2" x1="479.607242" x2="478.281729" y1="256.798534" y2="260.632023"> + <stop offset="1" style="stop-color:#e3d718;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e7d414;stop-opacity:0;"/> </linearGradient> - <polygon id="GT294" points="479.607242 256.798534 488.299723 264.095965 474.326368 259.264369"/> </defs> - <use fill="#e3d718" fill-opacity="1" xlink:href="#GT294"/> - <use fill="url(#GR294_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT294"/> - <use fill="url(#GR294_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT294"/> - <use fill="url(#GR294_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT294"/> + <path d="M 479.607242,256.798534 L 488.299723,264.095965 474.326368,259.264369 Z" fill="#e3d718" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 479.607242,256.798534 L 488.299723,264.095965 474.326368,259.264369 Z" fill="url(#GR294_0)" shape-rendering="crispEdges"/> + <path d="M 479.607242,256.798534 L 488.299723,264.095965 474.326368,259.264369 Z" fill="url(#GR294_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 479.607242,256.798534 L 488.299723,264.095965 474.326368,259.264369 Z" fill="url(#GR294_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR295_0" x1="474.326368" x2="477.723843" y1="259.264369" y2="255.2174"> - <stop offset="0" style="stop-color:#c4ff33;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c4ff33;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR295_0" x1="474.326368" x2="477.723843" y1="259.264369" y2="255.2174"> + <stop offset="1" style="stop-color:#d7f121;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c4ff33;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR295_1" x1="470.914762" x2="475.268237" y1="249.501102" y2="258.824576"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR295_1" x1="470.914762" x2="475.268237" y1="249.501102" y2="258.824576"> + <stop offset="1" style="stop-color:#d7f121;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR295_2" x1="479.607242" x2="474.133131" y1="256.798534" y2="258.711368"> - <stop offset="0" style="stop-color:#e7d414;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e7d414;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR295_2" x1="479.607242" x2="474.133131" y1="256.798534" y2="258.711368"> + <stop offset="1" style="stop-color:#d7f121;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e7d414;stop-opacity:0;"/> </linearGradient> - <polygon id="GT295" points="479.607242 256.798534 474.326368 259.264369 470.914762 249.501102"/> </defs> - <use fill="#d7f121" fill-opacity="1" xlink:href="#GT295"/> - <use fill="url(#GR295_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT295"/> - <use fill="url(#GR295_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT295"/> - <use fill="url(#GR295_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT295"/> + <path d="M 479.607242,256.798534 L 474.326368,259.264369 470.914762,249.501102 Z" fill="#d7f121" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 479.607242,256.798534 L 474.326368,259.264369 470.914762,249.501102 Z" fill="url(#GR295_0)" shape-rendering="crispEdges"/> + <path d="M 479.607242,256.798534 L 474.326368,259.264369 470.914762,249.501102 Z" fill="url(#GR295_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 479.607242,256.798534 L 474.326368,259.264369 470.914762,249.501102 Z" fill="url(#GR295_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR296_0" x1="470.914762" x2="475.268237" y1="249.501102" y2="258.824576"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR296_0" x1="470.914762" x2="475.268237" y1="249.501102" y2="258.824576"> + <stop offset="1" style="stop-color:#ebd110;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR296_1" x1="484.888116" x2="481.490642" y1="254.332698" y2="258.379668"> - <stop offset="0" style="stop-color:#ff9f00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff9f00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR296_1" x1="484.888116" x2="481.490642" y1="254.332698" y2="258.379668"> + <stop offset="1" style="stop-color:#ebd110;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff9f00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR296_2" x1="479.607242" x2="480.932756" y1="256.798534" y2="252.965045"> - <stop offset="0" style="stop-color:#e7d414;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e7d414;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR296_2" x1="479.607242" x2="480.932756" y1="256.798534" y2="252.965045"> + <stop offset="1" style="stop-color:#ebd110;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e7d414;stop-opacity:0;"/> </linearGradient> - <polygon id="GT296" points="479.607242 256.798534 470.914762 249.501102 484.888116 254.332698"/> </defs> - <use fill="#ebd110" fill-opacity="1" xlink:href="#GT296"/> - <use fill="url(#GR296_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT296"/> - <use fill="url(#GR296_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT296"/> - <use fill="url(#GR296_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT296"/> + <path d="M 479.607242,256.798534 L 470.914762,249.501102 484.888116,254.332698 Z" fill="#ebd110" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 479.607242,256.798534 L 470.914762,249.501102 484.888116,254.332698 Z" fill="url(#GR296_0)" shape-rendering="crispEdges"/> + <path d="M 479.607242,256.798534 L 470.914762,249.501102 484.888116,254.332698 Z" fill="url(#GR296_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 479.607242,256.798534 L 470.914762,249.501102 484.888116,254.332698 Z" fill="url(#GR296_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR297_0" x1="484.888116" x2="481.490642" y1="254.332698" y2="258.379668"> - <stop offset="0" style="stop-color:#ff9f00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff9f00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR297_0" x1="484.888116" x2="481.490642" y1="254.332698" y2="258.379668"> + <stop offset="1" style="stop-color:#f7b707;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff9f00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR297_1" x1="488.299723" x2="483.946248" y1="264.095965" y2="254.772491"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR297_1" x1="488.299723" x2="483.946248" y1="264.095965" y2="254.772491"> + <stop offset="1" style="stop-color:#f7b707;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR297_2" x1="479.607242" x2="485.081353" y1="256.798534" y2="254.885699"> - <stop offset="0" style="stop-color:#e7d414;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e7d414;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR297_2" x1="479.607242" x2="485.081353" y1="256.798534" y2="254.885699"> + <stop offset="1" style="stop-color:#f7b707;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e7d414;stop-opacity:0;"/> </linearGradient> - <polygon id="GT297" points="479.607242 256.798534 484.888116 254.332698 488.299723 264.095965"/> </defs> - <use fill="#f7b707" fill-opacity="1" xlink:href="#GT297"/> - <use fill="url(#GR297_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT297"/> - <use fill="url(#GR297_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT297"/> - <use fill="url(#GR297_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT297"/> + <path d="M 479.607242,256.798534 L 484.888116,254.332698 488.299723,264.095965 Z" fill="#f7b707" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 479.607242,256.798534 L 484.888116,254.332698 488.299723,264.095965 Z" fill="url(#GR297_0)" shape-rendering="crispEdges"/> + <path d="M 479.607242,256.798534 L 484.888116,254.332698 488.299723,264.095965 Z" fill="url(#GR297_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 479.607242,256.798534 L 484.888116,254.332698 488.299723,264.095965 Z" fill="url(#GR297_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR298_0" x1="474.326368" x2="475.406379" y1="259.264369" y2="250.026206"> - <stop offset="0" style="stop-color:#c4ff33;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c4ff33;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR298_0" x1="474.326368" x2="475.406379" y1="259.264369" y2="250.026206"> + <stop offset="1" style="stop-color:#93ff64;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c4ff33;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR298_1" x1="461.660538" x2="464.274647" y1="248.419214" y2="246.379845"> - <stop offset="0" style="stop-color:#5aff9d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5aff9d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR298_1" x1="461.660538" x2="464.274647" y1="248.419214" y2="246.379845"> + <stop offset="1" style="stop-color:#93ff64;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5aff9d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR298_2" x1="466.28765" x2="464.597526" y1="248.960158" y2="250.934019"> - <stop offset="0" style="stop-color:#9bff5c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#9bff5c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR298_2" x1="466.28765" x2="464.597526" y1="248.960158" y2="250.934019"> + <stop offset="1" style="stop-color:#93ff64;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#9bff5c;stop-opacity:0;"/> </linearGradient> - <polygon id="GT298" points="466.28765 248.960158 474.326368 259.264369 461.660538 248.419214"/> </defs> - <use fill="#93ff64" fill-opacity="1" xlink:href="#GT298"/> - <use fill="url(#GR298_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT298"/> - <use fill="url(#GR298_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT298"/> - <use fill="url(#GR298_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT298"/> + <path d="M 466.28765,248.960158 L 474.326368,259.264369 461.660538,248.419214 Z" fill="#93ff64" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 466.28765,248.960158 L 474.326368,259.264369 461.660538,248.419214 Z" fill="url(#GR298_0)" shape-rendering="crispEdges"/> + <path d="M 466.28765,248.960158 L 474.326368,259.264369 461.660538,248.419214 Z" fill="url(#GR298_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 466.28765,248.960158 L 474.326368,259.264369 461.660538,248.419214 Z" fill="url(#GR298_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR299_0" x1="461.660538" x2="464.274647" y1="248.419214" y2="246.379845"> - <stop offset="0" style="stop-color:#5aff9d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5aff9d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR299_0" x1="461.660538" x2="464.274647" y1="248.419214" y2="246.379845"> + <stop offset="1" style="stop-color:#78ff7f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5aff9d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR299_1" x1="458.248931" x2="457.168921" y1="238.655947" y2="247.89411"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR299_1" x1="458.248931" x2="457.168921" y1="238.655947" y2="247.89411"> + <stop offset="1" style="stop-color:#78ff7f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR299_2" x1="466.28765" x2="462.332498" y1="248.960158" y2="250.342218"> - <stop offset="0" style="stop-color:#9bff5c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#9bff5c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR299_2" x1="466.28765" x2="462.332498" y1="248.960158" y2="250.342218"> + <stop offset="1" style="stop-color:#78ff7f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#9bff5c;stop-opacity:0;"/> </linearGradient> - <polygon id="GT299" points="466.28765 248.960158 461.660538 248.419214 458.248931 238.655947"/> </defs> - <use fill="#78ff7f" fill-opacity="1" xlink:href="#GT299"/> - <use fill="url(#GR299_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT299"/> - <use fill="url(#GR299_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT299"/> - <use fill="url(#GR299_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT299"/> + <path d="M 466.28765,248.960158 L 461.660538,248.419214 458.248931,238.655947 Z" fill="#78ff7f" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 466.28765,248.960158 L 461.660538,248.419214 458.248931,238.655947 Z" fill="url(#GR299_0)" shape-rendering="crispEdges"/> + <path d="M 466.28765,248.960158 L 461.660538,248.419214 458.248931,238.655947 Z" fill="url(#GR299_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 466.28765,248.960158 L 461.660538,248.419214 458.248931,238.655947 Z" fill="url(#GR299_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR29a_0" x1="458.248931" x2="457.168921" y1="238.655947" y2="247.89411"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR29a_0" x1="458.248931" x2="457.168921" y1="238.655947" y2="247.89411"> + <stop offset="1" style="stop-color:#a3ff54;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR29a_1" x1="470.914762" x2="468.300653" y1="249.501102" y2="251.540471"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR29a_1" x1="470.914762" x2="468.300653" y1="249.501102" y2="251.540471"> + <stop offset="1" style="stop-color:#a3ff54;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR29a_2" x1="466.28765" x2="467.977774" y1="248.960158" y2="246.986298"> - <stop offset="0" style="stop-color:#9bff5c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#9bff5c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR29a_2" x1="466.28765" x2="467.977774" y1="248.960158" y2="246.986298"> + <stop offset="1" style="stop-color:#a3ff54;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#9bff5c;stop-opacity:0;"/> </linearGradient> - <polygon id="GT29a" points="466.28765 248.960158 458.248931 238.655947 470.914762 249.501102"/> </defs> - <use fill="#a3ff54" fill-opacity="1" xlink:href="#GT29a"/> - <use fill="url(#GR29a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT29a"/> - <use fill="url(#GR29a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT29a"/> - <use fill="url(#GR29a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT29a"/> + <path d="M 466.28765,248.960158 L 458.248931,238.655947 470.914762,249.501102 Z" fill="#a3ff54" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 466.28765,248.960158 L 458.248931,238.655947 470.914762,249.501102 Z" fill="url(#GR29a_0)" shape-rendering="crispEdges"/> + <path d="M 466.28765,248.960158 L 458.248931,238.655947 470.914762,249.501102 Z" fill="url(#GR29a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 466.28765,248.960158 L 458.248931,238.655947 470.914762,249.501102 Z" fill="url(#GR29a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR29b_0" x1="470.914762" x2="468.300653" y1="249.501102" y2="251.540471"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR29b_0" x1="470.914762" x2="468.300653" y1="249.501102" y2="251.540471"> + <stop offset="1" style="stop-color:#beff39;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR29b_1" x1="474.326368" x2="475.406379" y1="259.264369" y2="250.026206"> - <stop offset="0" style="stop-color:#c4ff33;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c4ff33;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR29b_1" x1="474.326368" x2="475.406379" y1="259.264369" y2="250.026206"> + <stop offset="1" style="stop-color:#beff39;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c4ff33;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR29b_2" x1="466.28765" x2="470.242801" y1="248.960158" y2="247.578098"> - <stop offset="0" style="stop-color:#9bff5c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#9bff5c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR29b_2" x1="466.28765" x2="470.242801" y1="248.960158" y2="247.578098"> + <stop offset="1" style="stop-color:#beff39;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#9bff5c;stop-opacity:0;"/> </linearGradient> - <polygon id="GT29b" points="466.28765 248.960158 470.914762 249.501102 474.326368 259.264369"/> </defs> - <use fill="#beff39" fill-opacity="1" xlink:href="#GT29b"/> - <use fill="url(#GR29b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT29b"/> - <use fill="url(#GR29b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT29b"/> - <use fill="url(#GR29b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT29b"/> + <path d="M 466.28765,248.960158 L 470.914762,249.501102 474.326368,259.264369 Z" fill="#beff39" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 466.28765,248.960158 L 470.914762,249.501102 474.326368,259.264369 Z" fill="url(#GR29b_0)" shape-rendering="crispEdges"/> + <path d="M 466.28765,248.960158 L 470.914762,249.501102 474.326368,259.264369 Z" fill="url(#GR29b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 466.28765,248.960158 L 470.914762,249.501102 474.326368,259.264369 Z" fill="url(#GR29b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR29c_0" x1="461.660538" x2="464.991363" y1="248.419214" y2="244.70911"> - <stop offset="0" style="stop-color:#5aff9d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5aff9d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR29c_0" x1="461.660538" x2="464.991363" y1="248.419214" y2="244.70911"> + <stop offset="1" style="stop-color:#31efc9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5aff9d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR29c_1" x1="451.238493" x2="452.651981" y1="232.362175" y2="231.604876"> - <stop offset="0" style="stop-color:#00d8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00d8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR29c_1" x1="451.238493" x2="452.651981" y1="232.362175" y2="231.604876"> + <stop offset="1" style="stop-color:#31efc9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00d8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR29c_2" x1="454.743712" x2="453.71458" y1="235.509061" y2="236.177034"> - <stop offset="0" style="stop-color:#39f5bf;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#39f5bf;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR29c_2" x1="454.743712" x2="453.71458" y1="235.509061" y2="236.177034"> + <stop offset="1" style="stop-color:#31efc9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#39f5bf;stop-opacity:0;"/> </linearGradient> - <polygon id="GT29c" points="454.743712 235.509061 461.660538 248.419214 451.238493 232.362175"/> </defs> - <use fill="#31efc9" fill-opacity="1" xlink:href="#GT29c"/> - <use fill="url(#GR29c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT29c"/> - <use fill="url(#GR29c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT29c"/> - <use fill="url(#GR29c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT29c"/> + <path d="M 454.743712,235.509061 L 461.660538,248.419214 451.238493,232.362175 Z" fill="#31efc9" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 454.743712,235.509061 L 461.660538,248.419214 451.238493,232.362175 Z" fill="url(#GR29c_0)" shape-rendering="crispEdges"/> + <path d="M 454.743712,235.509061 L 461.660538,248.419214 451.238493,232.362175 Z" fill="url(#GR29c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 454.743712,235.509061 L 461.660538,248.419214 451.238493,232.362175 Z" fill="url(#GR29c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR29d_0" x1="451.238493" x2="452.651981" y1="232.362175" y2="231.604876"> - <stop offset="0" style="stop-color:#00d8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00d8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR29d_0" x1="451.238493" x2="452.651981" y1="232.362175" y2="231.604876"> + <stop offset="1" style="stop-color:#1befdf;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00d8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR29d_1" x1="447.826887" x2="444.496061" y1="222.598908" y2="226.309012"> - <stop offset="0" style="stop-color:#19ffde;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19ffde;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR29d_1" x1="447.826887" x2="444.496061" y1="222.598908" y2="226.309012"> + <stop offset="1" style="stop-color:#1befdf;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19ffde;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR29d_2" x1="454.743712" x2="452.599887" y1="235.509061" y2="236.258184"> - <stop offset="0" style="stop-color:#39f5bf;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#39f5bf;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR29d_2" x1="454.743712" x2="452.599887" y1="235.509061" y2="236.258184"> + <stop offset="1" style="stop-color:#1befdf;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#39f5bf;stop-opacity:0;"/> </linearGradient> - <polygon id="GT29d" points="454.743712 235.509061 451.238493 232.362175 447.826887 222.598908"/> </defs> - <use fill="#1befdf" fill-opacity="1" xlink:href="#GT29d"/> - <use fill="url(#GR29d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT29d"/> - <use fill="url(#GR29d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT29d"/> - <use fill="url(#GR29d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT29d"/> + <path d="M 454.743712,235.509061 L 451.238493,232.362175 447.826887,222.598908 Z" fill="#1befdf" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 454.743712,235.509061 L 451.238493,232.362175 447.826887,222.598908 Z" fill="url(#GR29d_0)" shape-rendering="crispEdges"/> + <path d="M 454.743712,235.509061 L 451.238493,232.362175 447.826887,222.598908 Z" fill="url(#GR29d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 454.743712,235.509061 L 451.238493,232.362175 447.826887,222.598908 Z" fill="url(#GR29d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR29e_0" x1="447.826887" x2="444.496061" y1="222.598908" y2="226.309012"> - <stop offset="0" style="stop-color:#19ffde;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19ffde;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR29e_0" x1="447.826887" x2="444.496061" y1="222.598908" y2="226.309012"> + <stop offset="1" style="stop-color:#42fcb6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19ffde;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR29e_1" x1="458.248931" x2="456.835443" y1="238.655947" y2="239.413246"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR29e_1" x1="458.248931" x2="456.835443" y1="238.655947" y2="239.413246"> + <stop offset="1" style="stop-color:#42fcb6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR29e_2" x1="454.743712" x2="455.772845" y1="235.509061" y2="234.841089"> - <stop offset="0" style="stop-color:#39f5bf;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#39f5bf;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR29e_2" x1="454.743712" x2="455.772845" y1="235.509061" y2="234.841089"> + <stop offset="1" style="stop-color:#42fcb6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#39f5bf;stop-opacity:0;"/> </linearGradient> - <polygon id="GT29e" points="454.743712 235.509061 447.826887 222.598908 458.248931 238.655947"/> </defs> - <use fill="#42fcb6" fill-opacity="1" xlink:href="#GT29e"/> - <use fill="url(#GR29e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT29e"/> - <use fill="url(#GR29e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT29e"/> - <use fill="url(#GR29e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT29e"/> + <path d="M 454.743712,235.509061 L 447.826887,222.598908 458.248931,238.655947 Z" fill="#42fcb6" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 454.743712,235.509061 L 447.826887,222.598908 458.248931,238.655947 Z" fill="url(#GR29e_0)" shape-rendering="crispEdges"/> + <path d="M 454.743712,235.509061 L 447.826887,222.598908 458.248931,238.655947 Z" fill="url(#GR29e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 454.743712,235.509061 L 447.826887,222.598908 458.248931,238.655947 Z" fill="url(#GR29e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR29f_0" x1="458.248931" x2="456.835443" y1="238.655947" y2="239.413246"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR29f_0" x1="458.248931" x2="456.835443" y1="238.655947" y2="239.413246"> + <stop offset="1" style="stop-color:#57fca0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR29f_1" x1="461.660538" x2="464.991363" y1="248.419214" y2="244.70911"> - <stop offset="0" style="stop-color:#5aff9d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5aff9d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR29f_1" x1="461.660538" x2="464.991363" y1="248.419214" y2="244.70911"> + <stop offset="1" style="stop-color:#57fca0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5aff9d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR29f_2" x1="454.743712" x2="456.887538" y1="235.509061" y2="234.759938"> - <stop offset="0" style="stop-color:#39f5bf;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#39f5bf;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR29f_2" x1="454.743712" x2="456.887538" y1="235.509061" y2="234.759938"> + <stop offset="1" style="stop-color:#57fca0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#39f5bf;stop-opacity:0;"/> </linearGradient> - <polygon id="GT29f" points="454.743712 235.509061 458.248931 238.655947 461.660538 248.419214"/> </defs> - <use fill="#57fca0" fill-opacity="1" xlink:href="#GT29f"/> - <use fill="url(#GR29f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT29f"/> - <use fill="url(#GR29f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT29f"/> - <use fill="url(#GR29f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT29f"/> + <path d="M 454.743712,235.509061 L 458.248931,238.655947 461.660538,248.419214 Z" fill="#57fca0" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 454.743712,235.509061 L 458.248931,238.655947 461.660538,248.419214 Z" fill="url(#GR29f_0)" shape-rendering="crispEdges"/> + <path d="M 454.743712,235.509061 L 458.248931,238.655947 461.660538,248.419214 Z" fill="url(#GR29f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 454.743712,235.509061 L 458.248931,238.655947 461.660538,248.419214 Z" fill="url(#GR29f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2a0_0" x1="451.238493" x2="451.559828" y1="232.362175" y2="232.237728"> - <stop offset="0" style="stop-color:#00d8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00d8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2a0_0" x1="451.238493" x2="451.559828" y1="232.362175" y2="232.237728"> + <stop offset="1" style="stop-color:#02acfc;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00d8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2a0_1" x1="443.830635" x2="443.943557" y1="212.280194" y2="212.239258"> - <stop offset="0" style="stop-color:#0070ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0070ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2a0_1" x1="443.830635" x2="443.943557" y1="212.280194" y2="212.239258"> + <stop offset="1" style="stop-color:#02acfc;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0070ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2a0_2" x1="445.828761" x2="445.745194" y1="217.439551" y2="217.470377"> - <stop offset="0" style="stop-color:#06bbf7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06bbf7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2a0_2" x1="445.828761" x2="445.745194" y1="217.439551" y2="217.470377"> + <stop offset="1" style="stop-color:#02acfc;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06bbf7;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2a0" points="445.828761 217.439551 451.238493 232.362175 443.830635 212.280194"/> </defs> - <use fill="#02acfc" fill-opacity="1" xlink:href="#GT2a0"/> - <use fill="url(#GR2a0_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2a0"/> - <use fill="url(#GR2a0_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2a0"/> - <use fill="url(#GR2a0_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2a0"/> + <path d="M 445.828761,217.439551 L 451.238493,232.362175 443.830635,212.280194 Z" fill="#02acfc" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 445.828761,217.439551 L 451.238493,232.362175 443.830635,212.280194 Z" fill="url(#GR2a0_0)" shape-rendering="crispEdges"/> + <path d="M 445.828761,217.439551 L 451.238493,232.362175 443.830635,212.280194 Z" fill="url(#GR2a0_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 445.828761,217.439551 L 451.238493,232.362175 443.830635,212.280194 Z" fill="url(#GR2a0_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2a1_0" x1="443.830635" x2="443.943557" y1="212.280194" y2="212.239258"> - <stop offset="0" style="stop-color:#0070ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0070ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2a1_0" x1="443.830635" x2="443.943557" y1="212.280194" y2="212.239258"> + <stop offset="1" style="stop-color:#029bfc;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0070ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2a1_1" x1="440.419029" x2="440.097694" y1="202.516927" y2="202.641374"> - <stop offset="0" style="stop-color:#00a4ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a4ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2a1_1" x1="440.419029" x2="440.097694" y1="202.516927" y2="202.641374"> + <stop offset="1" style="stop-color:#029bfc;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a4ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2a1_2" x1="445.828761" x2="445.654734" y1="217.439551" y2="217.500362"> - <stop offset="0" style="stop-color:#06bbf7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06bbf7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2a1_2" x1="445.828761" x2="445.654734" y1="217.439551" y2="217.500362"> + <stop offset="1" style="stop-color:#029bfc;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06bbf7;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2a1" points="445.828761 217.439551 443.830635 212.280194 440.419029 202.516927"/> </defs> - <use fill="#029bfc" fill-opacity="1" xlink:href="#GT2a1"/> - <use fill="url(#GR2a1_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2a1"/> - <use fill="url(#GR2a1_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2a1"/> - <use fill="url(#GR2a1_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2a1"/> + <path d="M 445.828761,217.439551 L 443.830635,212.280194 440.419029,202.516927 Z" fill="#029bfc" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 445.828761,217.439551 L 443.830635,212.280194 440.419029,202.516927 Z" fill="url(#GR2a1_0)" shape-rendering="crispEdges"/> + <path d="M 445.828761,217.439551 L 443.830635,212.280194 440.419029,202.516927 Z" fill="url(#GR2a1_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 445.828761,217.439551 L 443.830635,212.280194 440.419029,202.516927 Z" fill="url(#GR2a1_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2a2_0" x1="440.419029" x2="440.097694" y1="202.516927" y2="202.641374"> - <stop offset="0" style="stop-color:#00a4ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a4ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2a2_0" x1="440.419029" x2="440.097694" y1="202.516927" y2="202.641374"> + <stop offset="1" style="stop-color:#0acaf1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a4ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2a2_1" x1="447.826887" x2="447.713965" y1="222.598908" y2="222.639844"> - <stop offset="0" style="stop-color:#19ffde;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19ffde;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2a2_1" x1="447.826887" x2="447.713965" y1="222.598908" y2="222.639844"> + <stop offset="1" style="stop-color:#0acaf1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19ffde;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2a2_2" x1="445.828761" x2="445.912328" y1="217.439551" y2="217.408725"> - <stop offset="0" style="stop-color:#06bbf7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06bbf7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2a2_2" x1="445.828761" x2="445.912328" y1="217.439551" y2="217.408725"> + <stop offset="1" style="stop-color:#0acaf1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06bbf7;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2a2" points="445.828761 217.439551 440.419029 202.516927 447.826887 222.598908"/> </defs> - <use fill="#0acaf1" fill-opacity="1" xlink:href="#GT2a2"/> - <use fill="url(#GR2a2_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2a2"/> - <use fill="url(#GR2a2_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2a2"/> - <use fill="url(#GR2a2_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2a2"/> + <path d="M 445.828761,217.439551 L 440.419029,202.516927 447.826887,222.598908 Z" fill="#0acaf1" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 445.828761,217.439551 L 440.419029,202.516927 447.826887,222.598908 Z" fill="url(#GR2a2_0)" shape-rendering="crispEdges"/> + <path d="M 445.828761,217.439551 L 440.419029,202.516927 447.826887,222.598908 Z" fill="url(#GR2a2_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 445.828761,217.439551 L 440.419029,202.516927 447.826887,222.598908 Z" fill="url(#GR2a2_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2a3_0" x1="447.826887" x2="447.713965" y1="222.598908" y2="222.639844"> - <stop offset="0" style="stop-color:#19ffde;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19ffde;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2a3_0" x1="447.826887" x2="447.713965" y1="222.598908" y2="222.639844"> + <stop offset="1" style="stop-color:#0adcf1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19ffde;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2a3_1" x1="451.238493" x2="451.559828" y1="232.362175" y2="232.237728"> - <stop offset="0" style="stop-color:#00d8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00d8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2a3_1" x1="451.238493" x2="451.559828" y1="232.362175" y2="232.237728"> + <stop offset="1" style="stop-color:#0adcf1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00d8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2a3_2" x1="445.828761" x2="446.002789" y1="217.439551" y2="217.37874"> - <stop offset="0" style="stop-color:#06bbf7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06bbf7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2a3_2" x1="445.828761" x2="446.002789" y1="217.439551" y2="217.37874"> + <stop offset="1" style="stop-color:#0adcf1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06bbf7;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2a3" points="445.828761 217.439551 447.826887 222.598908 451.238493 232.362175"/> </defs> - <use fill="#0adcf1" fill-opacity="1" xlink:href="#GT2a3"/> - <use fill="url(#GR2a3_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2a3"/> - <use fill="url(#GR2a3_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2a3"/> - <use fill="url(#GR2a3_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2a3"/> + <path d="M 445.828761,217.439551 L 447.826887,222.598908 451.238493,232.362175 Z" fill="#0adcf1" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 445.828761,217.439551 L 447.826887,222.598908 451.238493,232.362175 Z" fill="url(#GR2a3_0)" shape-rendering="crispEdges"/> + <path d="M 445.828761,217.439551 L 447.826887,222.598908 451.238493,232.362175 Z" fill="url(#GR2a3_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 445.828761,217.439551 L 447.826887,222.598908 451.238493,232.362175 Z" fill="url(#GR2a3_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2a4_0" x1="443.830635" x2="440.752415" y1="212.280194" y2="212.384198"> - <stop offset="0" style="stop-color:#0070ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0070ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2a4_0" x1="443.830635" x2="440.752415" y1="212.280194" y2="212.384198"> + <stop offset="1" style="stop-color:#0056ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0070ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2a4_1" x1="439.984555" x2="438.819425" y1="189.657737" y2="189.918844"> - <stop offset="0" style="stop-color:#0028ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0028ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2a4_1" x1="439.984555" x2="438.819425" y1="189.657737" y2="189.918844"> + <stop offset="1" style="stop-color:#0056ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0028ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2a4_2" x1="440.201792" x2="441.053056" y1="196.087332" y2="195.942607"> - <stop offset="0" style="stop-color:#006aff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#006aff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2a4_2" x1="440.201792" x2="441.053056" y1="196.087332" y2="195.942607"> + <stop offset="1" style="stop-color:#0056ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#006aff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2a4" points="440.201792 196.087332 443.830635 212.280194 439.984555 189.657737"/> </defs> - <use fill="#0056ff" fill-opacity="1" xlink:href="#GT2a4"/> - <use fill="url(#GR2a4_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2a4"/> - <use fill="url(#GR2a4_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2a4"/> - <use fill="url(#GR2a4_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2a4"/> + <path d="M 440.201792,196.087332 L 443.830635,212.280194 439.984555,189.657737 Z" fill="#0056ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 440.201792,196.087332 L 443.830635,212.280194 439.984555,189.657737 Z" fill="url(#GR2a4_0)" shape-rendering="crispEdges"/> + <path d="M 440.201792,196.087332 L 443.830635,212.280194 439.984555,189.657737 Z" fill="url(#GR2a4_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 440.201792,196.087332 L 443.830635,212.280194 439.984555,189.657737 Z" fill="url(#GR2a4_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2a5_0" x1="439.984555" x2="438.819425" y1="189.657737" y2="189.918844"> - <stop offset="0" style="stop-color:#0028ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0028ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2a5_0" x1="439.984555" x2="438.819425" y1="189.657737" y2="189.918844"> + <stop offset="1" style="stop-color:#0054ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0028ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2a5_1" x1="436.572949" x2="439.651169" y1="179.894469" y2="179.790465"> - <stop offset="0" style="stop-color:#0068ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0068ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2a5_1" x1="436.572949" x2="439.651169" y1="179.894469" y2="179.790465"> + <stop offset="1" style="stop-color:#0054ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0068ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2a5_2" x1="440.201792" x2="442.010426" y1="196.087332" y2="195.455336"> - <stop offset="0" style="stop-color:#006aff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#006aff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2a5_2" x1="440.201792" x2="442.010426" y1="196.087332" y2="195.455336"> + <stop offset="1" style="stop-color:#0054ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#006aff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2a5" points="440.201792 196.087332 439.984555 189.657737 436.572949 179.894469"/> </defs> - <use fill="#0054ff" fill-opacity="1" xlink:href="#GT2a5"/> - <use fill="url(#GR2a5_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2a5"/> - <use fill="url(#GR2a5_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2a5"/> - <use fill="url(#GR2a5_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2a5"/> + <path d="M 440.201792,196.087332 L 439.984555,189.657737 436.572949,179.894469 Z" fill="#0054ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 440.201792,196.087332 L 439.984555,189.657737 436.572949,179.894469 Z" fill="url(#GR2a5_0)" shape-rendering="crispEdges"/> + <path d="M 440.201792,196.087332 L 439.984555,189.657737 436.572949,179.894469 Z" fill="url(#GR2a5_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 440.201792,196.087332 L 439.984555,189.657737 436.572949,179.894469 Z" fill="url(#GR2a5_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2a6_0" x1="436.572949" x2="439.651169" y1="179.894469" y2="179.790465"> - <stop offset="0" style="stop-color:#0068ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0068ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2a6_0" x1="436.572949" x2="439.651169" y1="179.894469" y2="179.790465"> + <stop offset="1" style="stop-color:#007dff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0068ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2a6_1" x1="440.419029" x2="441.584159" y1="202.516927" y2="202.25582"> - <stop offset="0" style="stop-color:#00a4ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a4ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2a6_1" x1="440.419029" x2="441.584159" y1="202.516927" y2="202.25582"> + <stop offset="1" style="stop-color:#007dff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a4ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2a6_2" x1="440.201792" x2="439.350528" y1="196.087332" y2="196.232057"> - <stop offset="0" style="stop-color:#006aff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#006aff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2a6_2" x1="440.201792" x2="439.350528" y1="196.087332" y2="196.232057"> + <stop offset="1" style="stop-color:#007dff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#006aff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2a6" points="440.201792 196.087332 436.572949 179.894469 440.419029 202.516927"/> </defs> - <use fill="#007dff" fill-opacity="1" xlink:href="#GT2a6"/> - <use fill="url(#GR2a6_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2a6"/> - <use fill="url(#GR2a6_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2a6"/> - <use fill="url(#GR2a6_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2a6"/> + <path d="M 440.201792,196.087332 L 436.572949,179.894469 440.419029,202.516927 Z" fill="#007dff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 440.201792,196.087332 L 436.572949,179.894469 440.419029,202.516927 Z" fill="url(#GR2a6_0)" shape-rendering="crispEdges"/> + <path d="M 440.201792,196.087332 L 436.572949,179.894469 440.419029,202.516927 Z" fill="url(#GR2a6_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 440.201792,196.087332 L 436.572949,179.894469 440.419029,202.516927 Z" fill="url(#GR2a6_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2a7_0" x1="440.419029" x2="441.584159" y1="202.516927" y2="202.25582"> - <stop offset="0" style="stop-color:#00a4ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a4ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2a7_0" x1="440.419029" x2="441.584159" y1="202.516927" y2="202.25582"> + <stop offset="1" style="stop-color:#0080ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a4ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2a7_1" x1="443.830635" x2="440.752415" y1="212.280194" y2="212.384198"> - <stop offset="0" style="stop-color:#0070ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0070ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2a7_1" x1="443.830635" x2="440.752415" y1="212.280194" y2="212.384198"> + <stop offset="1" style="stop-color:#0080ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0070ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2a7_2" x1="440.201792" x2="438.393158" y1="196.087332" y2="196.719328"> - <stop offset="0" style="stop-color:#006aff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#006aff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2a7_2" x1="440.201792" x2="438.393158" y1="196.087332" y2="196.719328"> + <stop offset="1" style="stop-color:#0080ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#006aff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2a7" points="440.201792 196.087332 440.419029 202.516927 443.830635 212.280194"/> </defs> - <use fill="#0080ff" fill-opacity="1" xlink:href="#GT2a7"/> - <use fill="url(#GR2a7_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2a7"/> - <use fill="url(#GR2a7_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2a7"/> - <use fill="url(#GR2a7_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2a7"/> + <path d="M 440.201792,196.087332 L 440.419029,202.516927 443.830635,212.280194 Z" fill="#0080ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 440.201792,196.087332 L 440.419029,202.516927 443.830635,212.280194 Z" fill="url(#GR2a7_0)" shape-rendering="crispEdges"/> + <path d="M 440.201792,196.087332 L 440.419029,202.516927 443.830635,212.280194 Z" fill="url(#GR2a7_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 440.201792,196.087332 L 440.419029,202.516927 443.830635,212.280194 Z" fill="url(#GR2a7_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2a8_0" x1="439.984555" x2="434.486139" y1="189.657737" y2="188.291242"> - <stop offset="0" style="stop-color:#0028ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0028ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2a8_0" x1="439.984555" x2="434.486139" y1="189.657737" y2="188.291242"> + <stop offset="1" style="stop-color:#0033ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0028ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2a8_1" x1="439.984555" x2="437.599688" y1="166.16706" y2="166.41173"> - <stop offset="0" style="stop-color:#0028ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0028ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2a8_1" x1="439.984555" x2="437.599688" y1="166.16706" y2="166.41173"> + <stop offset="1" style="stop-color:#0033ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0028ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2a8_2" x1="438.278752" x2="439.984555" y1="173.030765" y2="173.030765"> - <stop offset="0" style="stop-color:#0048ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0048ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2a8_2" x1="438.278752" x2="439.984555" y1="173.030765" y2="173.030765"> + <stop offset="1" style="stop-color:#0033ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0048ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2a8" points="438.278752 173.030765 439.984555 189.657737 439.984555 166.16706"/> </defs> - <use fill="#0033ff" fill-opacity="1" xlink:href="#GT2a8"/> - <use fill="url(#GR2a8_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2a8"/> - <use fill="url(#GR2a8_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2a8"/> - <use fill="url(#GR2a8_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2a8"/> + <path d="M 438.278752,173.030765 L 439.984555,189.657737 439.984555,166.16706 Z" fill="#0033ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 438.278752,173.030765 L 439.984555,189.657737 439.984555,166.16706 Z" fill="url(#GR2a8_0)" shape-rendering="crispEdges"/> + <path d="M 438.278752,173.030765 L 439.984555,189.657737 439.984555,166.16706 Z" fill="url(#GR2a8_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 438.278752,173.030765 L 439.984555,189.657737 439.984555,166.16706 Z" fill="url(#GR2a8_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2a9_0" x1="439.984555" x2="437.599688" y1="166.16706" y2="166.41173"> - <stop offset="0" style="stop-color:#0028ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0028ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2a9_0" x1="439.984555" x2="437.599688" y1="166.16706" y2="166.41173"> + <stop offset="1" style="stop-color:#0048ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0028ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2a9_1" x1="436.572949" x2="442.071364" y1="156.403793" y2="157.770287"> - <stop offset="0" style="stop-color:#0068ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0068ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2a9_1" x1="436.572949" x2="442.071364" y1="156.403793" y2="157.770287"> + <stop offset="1" style="stop-color:#0048ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0068ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2a9_2" x1="438.278752" x2="441.936353" y1="173.030765" y2="171.752679"> - <stop offset="0" style="stop-color:#0048ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0048ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2a9_2" x1="438.278752" x2="441.936353" y1="173.030765" y2="171.752679"> + <stop offset="1" style="stop-color:#0048ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0048ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2a9" points="438.278752 173.030765 439.984555 166.16706 436.572949 156.403793"/> </defs> - <use fill="#0048ff" fill-opacity="1" xlink:href="#GT2a9"/> - <use fill="url(#GR2a9_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2a9"/> - <use fill="url(#GR2a9_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2a9"/> - <use fill="url(#GR2a9_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2a9"/> + <path d="M 438.278752,173.030765 L 439.984555,166.16706 436.572949,156.403793 Z" fill="#0048ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 438.278752,173.030765 L 439.984555,166.16706 436.572949,156.403793 Z" fill="url(#GR2a9_0)" shape-rendering="crispEdges"/> + <path d="M 438.278752,173.030765 L 439.984555,166.16706 436.572949,156.403793 Z" fill="url(#GR2a9_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 438.278752,173.030765 L 439.984555,166.16706 436.572949,156.403793 Z" fill="url(#GR2a9_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2aa_0" x1="436.572949" x2="442.071364" y1="156.403793" y2="157.770287"> - <stop offset="0" style="stop-color:#0068ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0068ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2aa_0" x1="436.572949" x2="442.071364" y1="156.403793" y2="157.770287"> + <stop offset="1" style="stop-color:#005eff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0068ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2aa_1" x1="436.572949" x2="438.957815" y1="179.894469" y2="179.6498"> - <stop offset="0" style="stop-color:#0068ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0068ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2aa_1" x1="436.572949" x2="438.957815" y1="179.894469" y2="179.6498"> + <stop offset="1" style="stop-color:#005eff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0068ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2aa_2" x1="438.278752" x2="436.572949" y1="173.030765" y2="173.030765"> - <stop offset="0" style="stop-color:#0048ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0048ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2aa_2" x1="438.278752" x2="436.572949" y1="173.030765" y2="173.030765"> + <stop offset="1" style="stop-color:#005eff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0048ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2aa" points="438.278752 173.030765 436.572949 156.403793 436.572949 179.894469"/> </defs> - <use fill="#005eff" fill-opacity="1" xlink:href="#GT2aa"/> - <use fill="url(#GR2aa_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2aa"/> - <use fill="url(#GR2aa_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2aa"/> - <use fill="url(#GR2aa_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2aa"/> + <path d="M 438.278752,173.030765 L 436.572949,156.403793 436.572949,179.894469 Z" fill="#005eff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 438.278752,173.030765 L 436.572949,156.403793 436.572949,179.894469 Z" fill="url(#GR2aa_0)" shape-rendering="crispEdges"/> + <path d="M 438.278752,173.030765 L 436.572949,156.403793 436.572949,179.894469 Z" fill="url(#GR2aa_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 438.278752,173.030765 L 436.572949,156.403793 436.572949,179.894469 Z" fill="url(#GR2aa_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2ab_0" x1="436.572949" x2="438.957815" y1="179.894469" y2="179.6498"> - <stop offset="0" style="stop-color:#0068ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0068ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ab_0" x1="436.572949" x2="438.957815" y1="179.894469" y2="179.6498"> + <stop offset="1" style="stop-color:#0048ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0068ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2ab_1" x1="439.984555" x2="434.486139" y1="189.657737" y2="188.291242"> - <stop offset="0" style="stop-color:#0028ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0028ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ab_1" x1="439.984555" x2="434.486139" y1="189.657737" y2="188.291242"> + <stop offset="1" style="stop-color:#0048ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0028ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2ab_2" x1="438.278752" x2="434.62115" y1="173.030765" y2="174.308851"> - <stop offset="0" style="stop-color:#0048ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0048ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ab_2" x1="438.278752" x2="434.62115" y1="173.030765" y2="174.308851"> + <stop offset="1" style="stop-color:#0048ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0048ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2ab" points="438.278752 173.030765 436.572949 179.894469 439.984555 189.657737"/> </defs> - <use fill="#0048ff" fill-opacity="1" xlink:href="#GT2ab"/> - <use fill="url(#GR2ab_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ab"/> - <use fill="url(#GR2ab_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ab"/> - <use fill="url(#GR2ab_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ab"/> + <path d="M 438.278752,173.030765 L 436.572949,179.894469 439.984555,189.657737 Z" fill="#0048ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 438.278752,173.030765 L 436.572949,179.894469 439.984555,189.657737 Z" fill="url(#GR2ab_0)" shape-rendering="crispEdges"/> + <path d="M 438.278752,173.030765 L 436.572949,179.894469 439.984555,189.657737 Z" fill="url(#GR2ab_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 438.278752,173.030765 L 436.572949,179.894469 439.984555,189.657737 Z" fill="url(#GR2ab_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2ac_0" x1="439.984555" x2="433.218027" y1="166.16706" y2="162.348053"> - <stop offset="0" style="stop-color:#0028ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0028ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ac_0" x1="439.984555" x2="433.218027" y1="166.16706" y2="162.348053"> + <stop offset="1" style="stop-color:#0056ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0028ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2ac_1" x1="443.830635" x2="440.288686" y1="143.544602" y2="143.497085"> - <stop offset="0" style="stop-color:#0070ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0070ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ac_1" x1="443.830635" x2="440.288686" y1="143.544602" y2="143.497085"> + <stop offset="1" style="stop-color:#0056ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0070ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2ac_2" x1="440.201792" x2="442.666296" y1="149.974198" y2="150.393192"> - <stop offset="0" style="stop-color:#006aff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#006aff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ac_2" x1="440.201792" x2="442.666296" y1="149.974198" y2="150.393192"> + <stop offset="1" style="stop-color:#0056ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#006aff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2ac" points="440.201792 149.974198 439.984555 166.16706 443.830635 143.544602"/> </defs> - <use fill="#0056ff" fill-opacity="1" xlink:href="#GT2ac"/> - <use fill="url(#GR2ac_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ac"/> - <use fill="url(#GR2ac_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ac"/> - <use fill="url(#GR2ac_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ac"/> + <path d="M 440.201792,149.974198 L 439.984555,166.16706 443.830635,143.544602 Z" fill="#0056ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 440.201792,149.974198 L 439.984555,166.16706 443.830635,143.544602 Z" fill="url(#GR2ac_0)" shape-rendering="crispEdges"/> + <path d="M 440.201792,149.974198 L 439.984555,166.16706 443.830635,143.544602 Z" fill="url(#GR2ac_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 440.201792,149.974198 L 439.984555,166.16706 443.830635,143.544602 Z" fill="url(#GR2ac_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2ad_0" x1="443.830635" x2="440.288686" y1="143.544602" y2="143.497085"> - <stop offset="0" style="stop-color:#0070ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0070ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ad_0" x1="443.830635" x2="440.288686" y1="143.544602" y2="143.497085"> + <stop offset="1" style="stop-color:#0080ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0070ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2ad_1" x1="440.419029" x2="447.185557" y1="133.781335" y2="137.600342"> - <stop offset="0" style="stop-color:#00a4ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a4ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ad_1" x1="440.419029" x2="447.185557" y1="133.781335" y2="137.600342"> + <stop offset="1" style="stop-color:#0080ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a4ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2ad_2" x1="440.201792" x2="445.43799" y1="149.974198" y2="148.144498"> - <stop offset="0" style="stop-color:#006aff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#006aff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ad_2" x1="440.201792" x2="445.43799" y1="149.974198" y2="148.144498"> + <stop offset="1" style="stop-color:#0080ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#006aff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2ad" points="440.201792 149.974198 443.830635 143.544602 440.419029 133.781335"/> </defs> - <use fill="#0080ff" fill-opacity="1" xlink:href="#GT2ad"/> - <use fill="url(#GR2ad_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ad"/> - <use fill="url(#GR2ad_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ad"/> - <use fill="url(#GR2ad_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ad"/> + <path d="M 440.201792,149.974198 L 443.830635,143.544602 440.419029,133.781335 Z" fill="#0080ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 440.201792,149.974198 L 443.830635,143.544602 440.419029,133.781335 Z" fill="url(#GR2ad_0)" shape-rendering="crispEdges"/> + <path d="M 440.201792,149.974198 L 443.830635,143.544602 440.419029,133.781335 Z" fill="url(#GR2ad_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 440.201792,149.974198 L 443.830635,143.544602 440.419029,133.781335 Z" fill="url(#GR2ad_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2ae_0" x1="440.419029" x2="447.185557" y1="133.781335" y2="137.600342"> - <stop offset="0" style="stop-color:#00a4ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a4ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ae_0" x1="440.419029" x2="447.185557" y1="133.781335" y2="137.600342"> + <stop offset="1" style="stop-color:#007dff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a4ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2ae_1" x1="436.572949" x2="440.114898" y1="156.403793" y2="156.45131"> - <stop offset="0" style="stop-color:#0068ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0068ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ae_1" x1="436.572949" x2="440.114898" y1="156.403793" y2="156.45131"> + <stop offset="1" style="stop-color:#007dff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0068ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2ae_2" x1="440.201792" x2="437.737288" y1="149.974198" y2="149.555203"> - <stop offset="0" style="stop-color:#006aff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#006aff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ae_2" x1="440.201792" x2="437.737288" y1="149.974198" y2="149.555203"> + <stop offset="1" style="stop-color:#007dff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#006aff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2ae" points="440.201792 149.974198 440.419029 133.781335 436.572949 156.403793"/> </defs> - <use fill="#007dff" fill-opacity="1" xlink:href="#GT2ae"/> - <use fill="url(#GR2ae_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ae"/> - <use fill="url(#GR2ae_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ae"/> - <use fill="url(#GR2ae_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ae"/> + <path d="M 440.201792,149.974198 L 440.419029,133.781335 436.572949,156.403793 Z" fill="#007dff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 440.201792,149.974198 L 440.419029,133.781335 436.572949,156.403793 Z" fill="url(#GR2ae_0)" shape-rendering="crispEdges"/> + <path d="M 440.201792,149.974198 L 440.419029,133.781335 436.572949,156.403793 Z" fill="url(#GR2ae_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 440.201792,149.974198 L 440.419029,133.781335 436.572949,156.403793 Z" fill="url(#GR2ae_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2af_0" x1="436.572949" x2="440.114898" y1="156.403793" y2="156.45131"> - <stop offset="0" style="stop-color:#0068ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0068ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2af_0" x1="436.572949" x2="440.114898" y1="156.403793" y2="156.45131"> + <stop offset="1" style="stop-color:#0054ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0068ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2af_1" x1="439.984555" x2="433.218027" y1="166.16706" y2="162.348053"> - <stop offset="0" style="stop-color:#0028ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0028ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2af_1" x1="439.984555" x2="433.218027" y1="166.16706" y2="162.348053"> + <stop offset="1" style="stop-color:#0054ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0028ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2af_2" x1="440.201792" x2="434.965594" y1="149.974198" y2="151.803897"> - <stop offset="0" style="stop-color:#006aff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#006aff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2af_2" x1="440.201792" x2="434.965594" y1="149.974198" y2="151.803897"> + <stop offset="1" style="stop-color:#0054ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#006aff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2af" points="440.201792 149.974198 436.572949 156.403793 439.984555 166.16706"/> </defs> - <use fill="#0054ff" fill-opacity="1" xlink:href="#GT2af"/> - <use fill="url(#GR2af_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2af"/> - <use fill="url(#GR2af_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2af"/> - <use fill="url(#GR2af_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2af"/> + <path d="M 440.201792,149.974198 L 436.572949,156.403793 439.984555,166.16706 Z" fill="#0054ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 440.201792,149.974198 L 436.572949,156.403793 439.984555,166.16706 Z" fill="url(#GR2af_0)" shape-rendering="crispEdges"/> + <path d="M 440.201792,149.974198 L 436.572949,156.403793 439.984555,166.16706 Z" fill="url(#GR2af_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 440.201792,149.974198 L 436.572949,156.403793 439.984555,166.16706 Z" fill="url(#GR2af_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2b0_0" x1="443.830635" x2="437.329448" y1="143.544602" y2="136.727923"> - <stop offset="0" style="stop-color:#0070ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0070ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2b0_0" x1="443.830635" x2="437.329448" y1="143.544602" y2="136.727923"> + <stop offset="1" style="stop-color:#02acfc;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0070ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2b0_1" x1="451.238493" x2="446.602709" y1="123.462621" y2="122.841894"> - <stop offset="0" style="stop-color:#00d8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00d8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2b0_1" x1="451.238493" x2="446.602709" y1="123.462621" y2="122.841894"> + <stop offset="1" style="stop-color:#02acfc;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00d8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2b0_2" x1="445.828761" x2="448.915309" y1="128.621978" y2="129.760547"> - <stop offset="0" style="stop-color:#06bbf7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06bbf7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2b0_2" x1="445.828761" x2="448.915309" y1="128.621978" y2="129.760547"> + <stop offset="1" style="stop-color:#02acfc;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06bbf7;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2b0" points="445.828761 128.621978 443.830635 143.544602 451.238493 123.462621"/> </defs> - <use fill="#02acfc" fill-opacity="1" xlink:href="#GT2b0"/> - <use fill="url(#GR2b0_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2b0"/> - <use fill="url(#GR2b0_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2b0"/> - <use fill="url(#GR2b0_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2b0"/> + <path d="M 445.828761,128.621978 L 443.830635,143.544602 451.238493,123.462621 Z" fill="#02acfc" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 445.828761,128.621978 L 443.830635,143.544602 451.238493,123.462621 Z" fill="url(#GR2b0_0)" shape-rendering="crispEdges"/> + <path d="M 445.828761,128.621978 L 443.830635,143.544602 451.238493,123.462621 Z" fill="url(#GR2b0_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 445.828761,128.621978 L 443.830635,143.544602 451.238493,123.462621 Z" fill="url(#GR2b0_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2b1_0" x1="451.238493" x2="446.602709" y1="123.462621" y2="122.841894"> - <stop offset="0" style="stop-color:#00d8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00d8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2b1_0" x1="451.238493" x2="446.602709" y1="123.462621" y2="122.841894"> + <stop offset="1" style="stop-color:#0adcf1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00d8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2b1_1" x1="447.826887" x2="454.328074" y1="113.699354" y2="120.516033"> - <stop offset="0" style="stop-color:#19ffde;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19ffde;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2b1_1" x1="447.826887" x2="454.328074" y1="113.699354" y2="120.516033"> + <stop offset="1" style="stop-color:#0adcf1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19ffde;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2b1_2" x1="445.828761" x2="452.256495" y1="128.621978" y2="126.375917"> - <stop offset="0" style="stop-color:#06bbf7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06bbf7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2b1_2" x1="445.828761" x2="452.256495" y1="128.621978" y2="126.375917"> + <stop offset="1" style="stop-color:#0adcf1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06bbf7;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2b1" points="445.828761 128.621978 451.238493 123.462621 447.826887 113.699354"/> </defs> - <use fill="#0adcf1" fill-opacity="1" xlink:href="#GT2b1"/> - <use fill="url(#GR2b1_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2b1"/> - <use fill="url(#GR2b1_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2b1"/> - <use fill="url(#GR2b1_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2b1"/> + <path d="M 445.828761,128.621978 L 451.238493,123.462621 447.826887,113.699354 Z" fill="#0adcf1" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 445.828761,128.621978 L 451.238493,123.462621 447.826887,113.699354 Z" fill="url(#GR2b1_0)" shape-rendering="crispEdges"/> + <path d="M 445.828761,128.621978 L 451.238493,123.462621 447.826887,113.699354 Z" fill="url(#GR2b1_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 445.828761,128.621978 L 451.238493,123.462621 447.826887,113.699354 Z" fill="url(#GR2b1_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2b2_0" x1="447.826887" x2="454.328074" y1="113.699354" y2="120.516033"> - <stop offset="0" style="stop-color:#19ffde;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19ffde;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2b2_0" x1="447.826887" x2="454.328074" y1="113.699354" y2="120.516033"> + <stop offset="1" style="stop-color:#0acaf1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19ffde;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2b2_1" x1="440.419029" x2="445.054813" y1="133.781335" y2="134.402062"> - <stop offset="0" style="stop-color:#00a4ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a4ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2b2_1" x1="440.419029" x2="445.054813" y1="133.781335" y2="134.402062"> + <stop offset="1" style="stop-color:#0acaf1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a4ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2b2_2" x1="445.828761" x2="442.742213" y1="128.621978" y2="127.48341"> - <stop offset="0" style="stop-color:#06bbf7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06bbf7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2b2_2" x1="445.828761" x2="442.742213" y1="128.621978" y2="127.48341"> + <stop offset="1" style="stop-color:#0acaf1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06bbf7;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2b2" points="445.828761 128.621978 447.826887 113.699354 440.419029 133.781335"/> </defs> - <use fill="#0acaf1" fill-opacity="1" xlink:href="#GT2b2"/> - <use fill="url(#GR2b2_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2b2"/> - <use fill="url(#GR2b2_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2b2"/> - <use fill="url(#GR2b2_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2b2"/> + <path d="M 445.828761,128.621978 L 447.826887,113.699354 440.419029,133.781335 Z" fill="#0acaf1" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 445.828761,128.621978 L 447.826887,113.699354 440.419029,133.781335 Z" fill="url(#GR2b2_0)" shape-rendering="crispEdges"/> + <path d="M 445.828761,128.621978 L 447.826887,113.699354 440.419029,133.781335 Z" fill="url(#GR2b2_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 445.828761,128.621978 L 447.826887,113.699354 440.419029,133.781335 Z" fill="url(#GR2b2_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2b3_0" x1="440.419029" x2="445.054813" y1="133.781335" y2="134.402062"> - <stop offset="0" style="stop-color:#00a4ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a4ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2b3_0" x1="440.419029" x2="445.054813" y1="133.781335" y2="134.402062"> + <stop offset="1" style="stop-color:#029bfc;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a4ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2b3_1" x1="443.830635" x2="437.329448" y1="143.544602" y2="136.727923"> - <stop offset="0" style="stop-color:#0070ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0070ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2b3_1" x1="443.830635" x2="437.329448" y1="143.544602" y2="136.727923"> + <stop offset="1" style="stop-color:#029bfc;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0070ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2b3_2" x1="445.828761" x2="439.401028" y1="128.621978" y2="130.868039"> - <stop offset="0" style="stop-color:#06bbf7;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06bbf7;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2b3_2" x1="445.828761" x2="439.401028" y1="128.621978" y2="130.868039"> + <stop offset="1" style="stop-color:#029bfc;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06bbf7;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2b3" points="445.828761 128.621978 440.419029 133.781335 443.830635 143.544602"/> </defs> - <use fill="#029bfc" fill-opacity="1" xlink:href="#GT2b3"/> - <use fill="url(#GR2b3_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2b3"/> - <use fill="url(#GR2b3_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2b3"/> - <use fill="url(#GR2b3_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2b3"/> + <path d="M 445.828761,128.621978 L 440.419029,133.781335 443.830635,143.544602 Z" fill="#029bfc" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 445.828761,128.621978 L 440.419029,133.781335 443.830635,143.544602 Z" fill="url(#GR2b3_0)" shape-rendering="crispEdges"/> + <path d="M 445.828761,128.621978 L 440.419029,133.781335 443.830635,143.544602 Z" fill="url(#GR2b3_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 445.828761,128.621978 L 440.419029,133.781335 443.830635,143.544602 Z" fill="url(#GR2b3_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2b4_0" x1="451.238493" x2="446.973276" y1="123.462621" y2="114.087714"> - <stop offset="0" style="stop-color:#00d8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00d8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2b4_0" x1="451.238493" x2="446.973276" y1="123.462621" y2="114.087714"> + <stop offset="1" style="stop-color:#31efc9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00d8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2b4_1" x1="461.660538" x2="456.01434" y1="107.405583" y2="105.872591"> - <stop offset="0" style="stop-color:#5aff9d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5aff9d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2b4_1" x1="461.660538" x2="456.01434" y1="107.405583" y2="105.872591"> + <stop offset="1" style="stop-color:#31efc9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5aff9d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2b4_2" x1="454.743712" x2="458.173214" y1="110.552468" y2="112.778434"> - <stop offset="0" style="stop-color:#39f5bf;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#39f5bf;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2b4_2" x1="454.743712" x2="458.173214" y1="110.552468" y2="112.778434"> + <stop offset="1" style="stop-color:#31efc9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#39f5bf;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2b4" points="454.743712 110.552468 451.238493 123.462621 461.660538 107.405583"/> </defs> - <use fill="#31efc9" fill-opacity="1" xlink:href="#GT2b4"/> - <use fill="url(#GR2b4_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2b4"/> - <use fill="url(#GR2b4_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2b4"/> - <use fill="url(#GR2b4_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2b4"/> + <path d="M 454.743712,110.552468 L 451.238493,123.462621 461.660538,107.405583 Z" fill="#31efc9" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 454.743712,110.552468 L 451.238493,123.462621 461.660538,107.405583 Z" fill="url(#GR2b4_0)" shape-rendering="crispEdges"/> + <path d="M 454.743712,110.552468 L 451.238493,123.462621 461.660538,107.405583 Z" fill="url(#GR2b4_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 454.743712,110.552468 L 451.238493,123.462621 461.660538,107.405583 Z" fill="url(#GR2b4_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2b5_0" x1="461.660538" x2="456.01434" y1="107.405583" y2="105.872591"> - <stop offset="0" style="stop-color:#5aff9d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5aff9d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2b5_0" x1="461.660538" x2="456.01434" y1="107.405583" y2="105.872591"> + <stop offset="1" style="stop-color:#57fca0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5aff9d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2b5_1" x1="458.248931" x2="462.514149" y1="97.642316" y2="107.017223"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2b5_1" x1="458.248931" x2="462.514149" y1="97.642316" y2="107.017223"> + <stop offset="1" style="stop-color:#57fca0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2b5_2" x1="454.743712" x2="461.887841" y1="110.552468" y2="108.056075"> - <stop offset="0" style="stop-color:#39f5bf;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#39f5bf;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2b5_2" x1="454.743712" x2="461.887841" y1="110.552468" y2="108.056075"> + <stop offset="1" style="stop-color:#57fca0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#39f5bf;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2b5" points="454.743712 110.552468 461.660538 107.405583 458.248931 97.642316"/> </defs> - <use fill="#57fca0" fill-opacity="1" xlink:href="#GT2b5"/> - <use fill="url(#GR2b5_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2b5"/> - <use fill="url(#GR2b5_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2b5"/> - <use fill="url(#GR2b5_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2b5"/> + <path d="M 454.743712,110.552468 L 461.660538,107.405583 458.248931,97.642316 Z" fill="#57fca0" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 454.743712,110.552468 L 461.660538,107.405583 458.248931,97.642316 Z" fill="url(#GR2b5_0)" shape-rendering="crispEdges"/> + <path d="M 454.743712,110.552468 L 461.660538,107.405583 458.248931,97.642316 Z" fill="url(#GR2b5_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 454.743712,110.552468 L 461.660538,107.405583 458.248931,97.642316 Z" fill="url(#GR2b5_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2b6_0" x1="458.248931" x2="462.514149" y1="97.642316" y2="107.017223"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2b6_0" x1="458.248931" x2="462.514149" y1="97.642316" y2="107.017223"> + <stop offset="1" style="stop-color:#42fcb6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2b6_1" x1="447.826887" x2="453.473085" y1="113.699354" y2="115.232346"> - <stop offset="0" style="stop-color:#19ffde;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19ffde;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2b6_1" x1="447.826887" x2="453.473085" y1="113.699354" y2="115.232346"> + <stop offset="1" style="stop-color:#42fcb6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19ffde;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2b6_2" x1="454.743712" x2="451.314211" y1="110.552468" y2="108.326503"> - <stop offset="0" style="stop-color:#39f5bf;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#39f5bf;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2b6_2" x1="454.743712" x2="451.314211" y1="110.552468" y2="108.326503"> + <stop offset="1" style="stop-color:#42fcb6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#39f5bf;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2b6" points="454.743712 110.552468 458.248931 97.642316 447.826887 113.699354"/> </defs> - <use fill="#42fcb6" fill-opacity="1" xlink:href="#GT2b6"/> - <use fill="url(#GR2b6_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2b6"/> - <use fill="url(#GR2b6_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2b6"/> - <use fill="url(#GR2b6_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2b6"/> + <path d="M 454.743712,110.552468 L 458.248931,97.642316 447.826887,113.699354 Z" fill="#42fcb6" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 454.743712,110.552468 L 458.248931,97.642316 447.826887,113.699354 Z" fill="url(#GR2b6_0)" shape-rendering="crispEdges"/> + <path d="M 454.743712,110.552468 L 458.248931,97.642316 447.826887,113.699354 Z" fill="url(#GR2b6_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 454.743712,110.552468 L 458.248931,97.642316 447.826887,113.699354 Z" fill="url(#GR2b6_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2b7_0" x1="447.826887" x2="453.473085" y1="113.699354" y2="115.232346"> - <stop offset="0" style="stop-color:#19ffde;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19ffde;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2b7_0" x1="447.826887" x2="453.473085" y1="113.699354" y2="115.232346"> + <stop offset="1" style="stop-color:#1befdf;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19ffde;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2b7_1" x1="451.238493" x2="446.973276" y1="123.462621" y2="114.087714"> - <stop offset="0" style="stop-color:#00d8ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00d8ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2b7_1" x1="451.238493" x2="446.973276" y1="123.462621" y2="114.087714"> + <stop offset="1" style="stop-color:#1befdf;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00d8ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2b7_2" x1="454.743712" x2="447.599584" y1="110.552468" y2="113.048862"> - <stop offset="0" style="stop-color:#39f5bf;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#39f5bf;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2b7_2" x1="454.743712" x2="447.599584" y1="110.552468" y2="113.048862"> + <stop offset="1" style="stop-color:#1befdf;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#39f5bf;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2b7" points="454.743712 110.552468 447.826887 113.699354 451.238493 123.462621"/> </defs> - <use fill="#1befdf" fill-opacity="1" xlink:href="#GT2b7"/> - <use fill="url(#GR2b7_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2b7"/> - <use fill="url(#GR2b7_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2b7"/> - <use fill="url(#GR2b7_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2b7"/> + <path d="M 454.743712,110.552468 L 447.826887,113.699354 451.238493,123.462621 Z" fill="#1befdf" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 454.743712,110.552468 L 447.826887,113.699354 451.238493,123.462621 Z" fill="url(#GR2b7_0)" shape-rendering="crispEdges"/> + <path d="M 454.743712,110.552468 L 447.826887,113.699354 451.238493,123.462621 Z" fill="url(#GR2b7_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 454.743712,110.552468 L 447.826887,113.699354 451.238493,123.462621 Z" fill="url(#GR2b7_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2b8_0" x1="461.660538" x2="460.991127" y1="107.405583" y2="97.457787"> - <stop offset="0" style="stop-color:#5aff9d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5aff9d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2b8_0" x1="461.660538" x2="460.991127" y1="107.405583" y2="97.457787"> + <stop offset="1" style="stop-color:#93ff64;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5aff9d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2b8_1" x1="474.326368" x2="467.838763" y1="96.560427" y2="93.647164"> - <stop offset="0" style="stop-color:#c4ff33;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c4ff33;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2b8_1" x1="474.326368" x2="467.838763" y1="96.560427" y2="93.647164"> + <stop offset="1" style="stop-color:#93ff64;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c4ff33;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2b8_2" x1="466.28765" x2="469.420959" y1="97.101371" y2="100.760698"> - <stop offset="0" style="stop-color:#9bff5c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#9bff5c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2b8_2" x1="466.28765" x2="469.420959" y1="97.101371" y2="100.760698"> + <stop offset="1" style="stop-color:#93ff64;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#9bff5c;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2b8" points="466.28765 97.101371 461.660538 107.405583 474.326368 96.560427"/> </defs> - <use fill="#93ff64" fill-opacity="1" xlink:href="#GT2b8"/> - <use fill="url(#GR2b8_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2b8"/> - <use fill="url(#GR2b8_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2b8"/> - <use fill="url(#GR2b8_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2b8"/> + <path d="M 466.28765,97.101371 L 461.660538,107.405583 474.326368,96.560427 Z" fill="#93ff64" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 466.28765,97.101371 L 461.660538,107.405583 474.326368,96.560427 Z" fill="url(#GR2b8_0)" shape-rendering="crispEdges"/> + <path d="M 466.28765,97.101371 L 461.660538,107.405583 474.326368,96.560427 Z" fill="url(#GR2b8_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 466.28765,97.101371 L 461.660538,107.405583 474.326368,96.560427 Z" fill="url(#GR2b8_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2b9_0" x1="474.326368" x2="467.838763" y1="96.560427" y2="93.647164"> - <stop offset="0" style="stop-color:#c4ff33;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c4ff33;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2b9_0" x1="474.326368" x2="467.838763" y1="96.560427" y2="93.647164"> + <stop offset="1" style="stop-color:#beff39;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c4ff33;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2b9_1" x1="470.914762" x2="471.584172" y1="86.79716" y2="96.744956"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2b9_1" x1="470.914762" x2="471.584172" y1="86.79716" y2="96.744956"> + <stop offset="1" style="stop-color:#beff39;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2b9_2" x1="466.28765" x2="473.620078" y1="97.101371" y2="94.53918"> - <stop offset="0" style="stop-color:#9bff5c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#9bff5c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2b9_2" x1="466.28765" x2="473.620078" y1="97.101371" y2="94.53918"> + <stop offset="1" style="stop-color:#beff39;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#9bff5c;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2b9" points="466.28765 97.101371 474.326368 96.560427 470.914762 86.79716"/> </defs> - <use fill="#beff39" fill-opacity="1" xlink:href="#GT2b9"/> - <use fill="url(#GR2b9_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2b9"/> - <use fill="url(#GR2b9_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2b9"/> - <use fill="url(#GR2b9_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2b9"/> + <path d="M 466.28765,97.101371 L 474.326368,96.560427 470.914762,86.79716 Z" fill="#beff39" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 466.28765,97.101371 L 474.326368,96.560427 470.914762,86.79716 Z" fill="url(#GR2b9_0)" shape-rendering="crispEdges"/> + <path d="M 466.28765,97.101371 L 474.326368,96.560427 470.914762,86.79716 Z" fill="url(#GR2b9_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 466.28765,97.101371 L 474.326368,96.560427 470.914762,86.79716 Z" fill="url(#GR2b9_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2ba_0" x1="470.914762" x2="471.584172" y1="86.79716" y2="96.744956"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ba_0" x1="470.914762" x2="471.584172" y1="86.79716" y2="96.744956"> + <stop offset="1" style="stop-color:#a3ff54;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2ba_1" x1="458.248931" x2="464.736536" y1="97.642316" y2="100.555578"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ba_1" x1="458.248931" x2="464.736536" y1="97.642316" y2="100.555578"> + <stop offset="1" style="stop-color:#a3ff54;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2ba_2" x1="466.28765" x2="463.15434" y1="97.101371" y2="93.442045"> - <stop offset="0" style="stop-color:#9bff5c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#9bff5c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ba_2" x1="466.28765" x2="463.15434" y1="97.101371" y2="93.442045"> + <stop offset="1" style="stop-color:#a3ff54;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#9bff5c;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2ba" points="466.28765 97.101371 470.914762 86.79716 458.248931 97.642316"/> </defs> - <use fill="#a3ff54" fill-opacity="1" xlink:href="#GT2ba"/> - <use fill="url(#GR2ba_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ba"/> - <use fill="url(#GR2ba_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ba"/> - <use fill="url(#GR2ba_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ba"/> + <path d="M 466.28765,97.101371 L 470.914762,86.79716 458.248931,97.642316 Z" fill="#a3ff54" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 466.28765,97.101371 L 470.914762,86.79716 458.248931,97.642316 Z" fill="url(#GR2ba_0)" shape-rendering="crispEdges"/> + <path d="M 466.28765,97.101371 L 470.914762,86.79716 458.248931,97.642316 Z" fill="url(#GR2ba_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 466.28765,97.101371 L 470.914762,86.79716 458.248931,97.642316 Z" fill="url(#GR2ba_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2bb_0" x1="458.248931" x2="464.736536" y1="97.642316" y2="100.555578"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2bb_0" x1="458.248931" x2="464.736536" y1="97.642316" y2="100.555578"> + <stop offset="1" style="stop-color:#78ff7f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2bb_1" x1="461.660538" x2="460.991127" y1="107.405583" y2="97.457787"> - <stop offset="0" style="stop-color:#5aff9d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5aff9d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2bb_1" x1="461.660538" x2="460.991127" y1="107.405583" y2="97.457787"> + <stop offset="1" style="stop-color:#78ff7f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5aff9d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2bb_2" x1="466.28765" x2="458.955221" y1="97.101371" y2="99.663563"> - <stop offset="0" style="stop-color:#9bff5c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#9bff5c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2bb_2" x1="466.28765" x2="458.955221" y1="97.101371" y2="99.663563"> + <stop offset="1" style="stop-color:#78ff7f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#9bff5c;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2bb" points="466.28765 97.101371 458.248931 97.642316 461.660538 107.405583"/> </defs> - <use fill="#78ff7f" fill-opacity="1" xlink:href="#GT2bb"/> - <use fill="url(#GR2bb_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2bb"/> - <use fill="url(#GR2bb_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2bb"/> - <use fill="url(#GR2bb_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2bb"/> + <path d="M 466.28765,97.101371 L 458.248931,97.642316 461.660538,107.405583 Z" fill="#78ff7f" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 466.28765,97.101371 L 458.248931,97.642316 461.660538,107.405583 Z" fill="url(#GR2bb_0)" shape-rendering="crispEdges"/> + <path d="M 466.28765,97.101371 L 458.248931,97.642316 461.660538,107.405583 Z" fill="url(#GR2bb_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 466.28765,97.101371 L 458.248931,97.642316 461.660538,107.405583 Z" fill="url(#GR2bb_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2bc_0" x1="474.326368" x2="476.635596" y1="96.560427" y2="88.420015"> - <stop offset="0" style="stop-color:#c4ff33;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c4ff33;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2bc_0" x1="474.326368" x2="476.635596" y1="96.560427" y2="88.420015"> + <stop offset="1" style="stop-color:#e3d718;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c4ff33;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2bc_1" x1="488.299723" x2="481.423695" y1="91.728831" y2="86.752911"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2bc_1" x1="488.299723" x2="481.423695" y1="91.728831" y2="86.752911"> + <stop offset="1" style="stop-color:#e3d718;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2bc_2" x1="479.607242" x2="481.297083" y1="89.262996" y2="94.150149"> - <stop offset="0" style="stop-color:#e7d414;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e7d414;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2bc_2" x1="479.607242" x2="481.297083" y1="89.262996" y2="94.150149"> + <stop offset="1" style="stop-color:#e3d718;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e7d414;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2bc" points="479.607242 89.262996 474.326368 96.560427 488.299723 91.728831"/> </defs> - <use fill="#e3d718" fill-opacity="1" xlink:href="#GT2bc"/> - <use fill="url(#GR2bc_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2bc"/> - <use fill="url(#GR2bc_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2bc"/> - <use fill="url(#GR2bc_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2bc"/> + <path d="M 479.607242,89.262996 L 474.326368,96.560427 488.299723,91.728831 Z" fill="#e3d718" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 479.607242,89.262996 L 474.326368,96.560427 488.299723,91.728831 Z" fill="url(#GR2bc_0)" shape-rendering="crispEdges"/> + <path d="M 479.607242,89.262996 L 474.326368,96.560427 488.299723,91.728831 Z" fill="url(#GR2bc_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 479.607242,89.262996 L 474.326368,96.560427 488.299723,91.728831 Z" fill="url(#GR2bc_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2bd_0" x1="488.299723" x2="481.423695" y1="91.728831" y2="86.752911"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2bd_0" x1="488.299723" x2="481.423695" y1="91.728831" y2="86.752911"> + <stop offset="1" style="stop-color:#f7b707;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2bd_1" x1="484.888116" x2="482.578889" y1="81.965564" y2="90.105976"> - <stop offset="0" style="stop-color:#ff9f00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff9f00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2bd_1" x1="484.888116" x2="482.578889" y1="81.965564" y2="90.105976"> + <stop offset="1" style="stop-color:#f7b707;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff9f00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2bd_2" x1="479.607242" x2="486.585955" y1="89.262996" y2="86.824404"> - <stop offset="0" style="stop-color:#e7d414;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e7d414;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2bd_2" x1="479.607242" x2="486.585955" y1="89.262996" y2="86.824404"> + <stop offset="1" style="stop-color:#f7b707;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e7d414;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2bd" points="479.607242 89.262996 488.299723 91.728831 484.888116 81.965564"/> </defs> - <use fill="#f7b707" fill-opacity="1" xlink:href="#GT2bd"/> - <use fill="url(#GR2bd_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2bd"/> - <use fill="url(#GR2bd_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2bd"/> - <use fill="url(#GR2bd_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2bd"/> + <path d="M 479.607242,89.262996 L 488.299723,91.728831 484.888116,81.965564 Z" fill="#f7b707" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 479.607242,89.262996 L 488.299723,91.728831 484.888116,81.965564 Z" fill="url(#GR2bd_0)" shape-rendering="crispEdges"/> + <path d="M 479.607242,89.262996 L 488.299723,91.728831 484.888116,81.965564 Z" fill="url(#GR2bd_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 479.607242,89.262996 L 488.299723,91.728831 484.888116,81.965564 Z" fill="url(#GR2bd_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2be_0" x1="484.888116" x2="482.578889" y1="81.965564" y2="90.105976"> - <stop offset="0" style="stop-color:#ff9f00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff9f00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2be_0" x1="484.888116" x2="482.578889" y1="81.965564" y2="90.105976"> + <stop offset="1" style="stop-color:#ebd110;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff9f00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2be_1" x1="470.914762" x2="477.790789" y1="86.79716" y2="91.77308"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2be_1" x1="470.914762" x2="477.790789" y1="86.79716" y2="91.77308"> + <stop offset="1" style="stop-color:#ebd110;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2be_2" x1="479.607242" x2="477.917401" y1="89.262996" y2="84.375843"> - <stop offset="0" style="stop-color:#e7d414;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e7d414;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2be_2" x1="479.607242" x2="477.917401" y1="89.262996" y2="84.375843"> + <stop offset="1" style="stop-color:#ebd110;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e7d414;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2be" points="479.607242 89.262996 484.888116 81.965564 470.914762 86.79716"/> </defs> - <use fill="#ebd110" fill-opacity="1" xlink:href="#GT2be"/> - <use fill="url(#GR2be_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2be"/> - <use fill="url(#GR2be_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2be"/> - <use fill="url(#GR2be_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2be"/> + <path d="M 479.607242,89.262996 L 484.888116,81.965564 470.914762,86.79716 Z" fill="#ebd110" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 479.607242,89.262996 L 484.888116,81.965564 470.914762,86.79716 Z" fill="url(#GR2be_0)" shape-rendering="crispEdges"/> + <path d="M 479.607242,89.262996 L 484.888116,81.965564 470.914762,86.79716 Z" fill="url(#GR2be_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 479.607242,89.262996 L 484.888116,81.965564 470.914762,86.79716 Z" fill="url(#GR2be_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2bf_0" x1="470.914762" x2="477.790789" y1="86.79716" y2="91.77308"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2bf_0" x1="470.914762" x2="477.790789" y1="86.79716" y2="91.77308"> + <stop offset="1" style="stop-color:#d7f121;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2bf_1" x1="474.326368" x2="476.635596" y1="96.560427" y2="88.420015"> - <stop offset="0" style="stop-color:#c4ff33;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c4ff33;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2bf_1" x1="474.326368" x2="476.635596" y1="96.560427" y2="88.420015"> + <stop offset="1" style="stop-color:#d7f121;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c4ff33;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2bf_2" x1="479.607242" x2="472.62853" y1="89.262996" y2="91.701587"> - <stop offset="0" style="stop-color:#e7d414;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e7d414;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2bf_2" x1="479.607242" x2="472.62853" y1="89.262996" y2="91.701587"> + <stop offset="1" style="stop-color:#d7f121;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e7d414;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2bf" points="479.607242 89.262996 470.914762 86.79716 474.326368 96.560427"/> </defs> - <use fill="#d7f121" fill-opacity="1" xlink:href="#GT2bf"/> - <use fill="url(#GR2bf_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2bf"/> - <use fill="url(#GR2bf_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2bf"/> - <use fill="url(#GR2bf_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2bf"/> + <path d="M 479.607242,89.262996 L 470.914762,86.79716 474.326368,96.560427 Z" fill="#d7f121" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 479.607242,89.262996 L 470.914762,86.79716 474.326368,96.560427 Z" fill="url(#GR2bf_0)" shape-rendering="crispEdges"/> + <path d="M 479.607242,89.262996 L 470.914762,86.79716 474.326368,96.560427 Z" fill="url(#GR2bf_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 479.607242,89.262996 L 470.914762,86.79716 474.326368,96.560427 Z" fill="url(#GR2bf_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2c0_0" x1="484.888116" x2="481.073846" y1="254.332698" y2="245.239657"> - <stop offset="0" style="stop-color:#ff9f00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff9f00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2c0_0" x1="484.888116" x2="481.073846" y1="254.332698" y2="245.239657"> + <stop offset="1" style="stop-color:#efcd0c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff9f00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2c0_1" x1="470.914762" x2="473.705192" y1="249.501102" y2="245.830748"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2c0_1" x1="470.914762" x2="473.705192" y1="249.501102" y2="245.830748"> + <stop offset="1" style="stop-color:#efcd0c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2c0_2" x1="475.824188" x2="474.663879" y1="247.441739" y2="250.797442"> - <stop offset="0" style="stop-color:#f3c708;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f3c708;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2c0_2" x1="475.824188" x2="474.663879" y1="247.441739" y2="250.797442"> + <stop offset="1" style="stop-color:#efcd0c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f3c708;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2c0" points="475.824188 247.441739 484.888116 254.332698 470.914762 249.501102"/> </defs> - <use fill="#efcd0c" fill-opacity="1" xlink:href="#GT2c0"/> - <use fill="url(#GR2c0_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2c0"/> - <use fill="url(#GR2c0_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2c0"/> - <use fill="url(#GR2c0_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2c0"/> + <path d="M 475.824188,247.441739 L 484.888116,254.332698 470.914762,249.501102 Z" fill="#efcd0c" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 475.824188,247.441739 L 484.888116,254.332698 470.914762,249.501102 Z" fill="url(#GR2c0_0)" shape-rendering="crispEdges"/> + <path d="M 475.824188,247.441739 L 484.888116,254.332698 470.914762,249.501102 Z" fill="url(#GR2c0_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 475.824188,247.441739 L 484.888116,254.332698 470.914762,249.501102 Z" fill="url(#GR2c0_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2c1_0" x1="470.914762" x2="473.705192" y1="249.501102" y2="245.830748"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2c1_0" x1="470.914762" x2="473.705192" y1="249.501102" y2="245.830748"> + <stop offset="1" style="stop-color:#ebea0d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2c1_1" x1="466.760259" x2="470.574529" y1="240.55078" y2="249.64382"> - <stop offset="0" style="stop-color:#f4f802;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f4f802;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2c1_1" x1="466.760259" x2="470.574529" y1="240.55078" y2="249.64382"> + <stop offset="1" style="stop-color:#ebea0d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f4f802;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2c1_2" x1="475.824188" x2="470.998573" y1="247.441739" y2="249.681662"> - <stop offset="0" style="stop-color:#f3c708;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f3c708;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2c1_2" x1="475.824188" x2="470.998573" y1="247.441739" y2="249.681662"> + <stop offset="1" style="stop-color:#ebea0d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f3c708;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2c1" points="475.824188 247.441739 470.914762 249.501102 466.760259 240.55078"/> </defs> - <use fill="#ebea0d" fill-opacity="1" xlink:href="#GT2c1"/> - <use fill="url(#GR2c1_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2c1"/> - <use fill="url(#GR2c1_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2c1"/> - <use fill="url(#GR2c1_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2c1"/> + <path d="M 475.824188,247.441739 L 470.914762,249.501102 466.760259,240.55078 Z" fill="#ebea0d" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 475.824188,247.441739 L 470.914762,249.501102 466.760259,240.55078 Z" fill="url(#GR2c1_0)" shape-rendering="crispEdges"/> + <path d="M 475.824188,247.441739 L 470.914762,249.501102 466.760259,240.55078 Z" fill="url(#GR2c1_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 475.824188,247.441739 L 470.914762,249.501102 466.760259,240.55078 Z" fill="url(#GR2c1_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2c2_0" x1="466.760259" x2="470.574529" y1="240.55078" y2="249.64382"> - <stop offset="0" style="stop-color:#f4f802;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f4f802;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2c2_0" x1="466.760259" x2="470.574529" y1="240.55078" y2="249.64382"> + <stop offset="1" style="stop-color:#f8c203;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f4f802;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2c2_1" x1="480.733614" x2="477.943183" y1="245.382375" y2="249.05273"> - <stop offset="0" style="stop-color:#ff8600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2c2_1" x1="480.733614" x2="477.943183" y1="245.382375" y2="249.05273"> + <stop offset="1" style="stop-color:#f8c203;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2c2_2" x1="475.824188" x2="476.984496" y1="247.441739" y2="244.086035"> - <stop offset="0" style="stop-color:#f3c708;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f3c708;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2c2_2" x1="475.824188" x2="476.984496" y1="247.441739" y2="244.086035"> + <stop offset="1" style="stop-color:#f8c203;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f3c708;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2c2" points="475.824188 247.441739 466.760259 240.55078 480.733614 245.382375"/> </defs> - <use fill="#f8c203" fill-opacity="1" xlink:href="#GT2c2"/> - <use fill="url(#GR2c2_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2c2"/> - <use fill="url(#GR2c2_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2c2"/> - <use fill="url(#GR2c2_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2c2"/> + <path d="M 475.824188,247.441739 L 466.760259,240.55078 480.733614,245.382375 Z" fill="#f8c203" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 475.824188,247.441739 L 466.760259,240.55078 480.733614,245.382375 Z" fill="url(#GR2c2_0)" shape-rendering="crispEdges"/> + <path d="M 475.824188,247.441739 L 466.760259,240.55078 480.733614,245.382375 Z" fill="url(#GR2c2_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 475.824188,247.441739 L 466.760259,240.55078 480.733614,245.382375 Z" fill="url(#GR2c2_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2c3_0" x1="480.733614" x2="477.943183" y1="245.382375" y2="249.05273"> - <stop offset="0" style="stop-color:#ff8600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2c3_0" x1="480.733614" x2="477.943183" y1="245.382375" y2="249.05273"> + <stop offset="1" style="stop-color:#fba403;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2c3_1" x1="484.888116" x2="481.073846" y1="254.332698" y2="245.239657"> - <stop offset="0" style="stop-color:#ff9f00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff9f00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2c3_1" x1="484.888116" x2="481.073846" y1="254.332698" y2="245.239657"> + <stop offset="1" style="stop-color:#fba403;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff9f00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2c3_2" x1="475.824188" x2="480.649803" y1="247.441739" y2="245.201816"> - <stop offset="0" style="stop-color:#f3c708;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f3c708;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2c3_2" x1="475.824188" x2="480.649803" y1="247.441739" y2="245.201816"> + <stop offset="1" style="stop-color:#fba403;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f3c708;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2c3" points="475.824188 247.441739 480.733614 245.382375 484.888116 254.332698"/> </defs> - <use fill="#fba403" fill-opacity="1" xlink:href="#GT2c3"/> - <use fill="url(#GR2c3_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2c3"/> - <use fill="url(#GR2c3_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2c3"/> - <use fill="url(#GR2c3_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2c3"/> + <path d="M 475.824188,247.441739 L 480.733614,245.382375 484.888116,254.332698 Z" fill="#fba403" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 475.824188,247.441739 L 480.733614,245.382375 484.888116,254.332698 Z" fill="url(#GR2c3_0)" shape-rendering="crispEdges"/> + <path d="M 475.824188,247.441739 L 480.733614,245.382375 484.888116,254.332698 Z" fill="url(#GR2c3_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 475.824188,247.441739 L 480.733614,245.382375 484.888116,254.332698 Z" fill="url(#GR2c3_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2c4_0" x1="470.914762" x2="472.617052" y1="249.501102" y2="241.854647"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2c4_0" x1="470.914762" x2="472.617052" y1="249.501102" y2="241.854647"> + <stop offset="1" style="stop-color:#acfe4b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2c4_1" x1="458.248931" x2="460.252786" y1="238.655947" y2="236.953259"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2c4_1" x1="458.248931" x2="460.252786" y1="238.655947" y2="236.953259"> + <stop offset="1" style="stop-color:#acfe4b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2c4_2" x1="462.504595" x2="461.172415" y1="239.603363" y2="241.159189"> - <stop offset="0" style="stop-color:#b5fd41;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b5fd41;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2c4_2" x1="462.504595" x2="461.172415" y1="239.603363" y2="241.159189"> + <stop offset="1" style="stop-color:#acfe4b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b5fd41;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2c4" points="462.504595 239.603363 470.914762 249.501102 458.248931 238.655947"/> </defs> - <use fill="#acfe4b" fill-opacity="1" xlink:href="#GT2c4"/> - <use fill="url(#GR2c4_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2c4"/> - <use fill="url(#GR2c4_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2c4"/> - <use fill="url(#GR2c4_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2c4"/> + <path d="M 462.504595,239.603363 L 470.914762,249.501102 458.248931,238.655947 Z" fill="#acfe4b" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 462.504595,239.603363 L 470.914762,249.501102 458.248931,238.655947 Z" fill="url(#GR2c4_0)" shape-rendering="crispEdges"/> + <path d="M 462.504595,239.603363 L 470.914762,249.501102 458.248931,238.655947 Z" fill="url(#GR2c4_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 462.504595,239.603363 L 470.914762,249.501102 458.248931,238.655947 Z" fill="url(#GR2c4_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2c5_0" x1="458.248931" x2="460.252786" y1="238.655947" y2="236.953259"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2c5_0" x1="458.248931" x2="460.252786" y1="238.655947" y2="236.953259"> + <stop offset="1" style="stop-color:#94fe63;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2c5_1" x1="454.094428" x2="452.392138" y1="229.705624" y2="237.352079"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2c5_1" x1="454.094428" x2="452.392138" y1="229.705624" y2="237.352079"> + <stop offset="1" style="stop-color:#94fe63;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2c5_2" x1="462.504595" x2="459.365119" y1="239.603363" y2="241.060625"> - <stop offset="0" style="stop-color:#b5fd41;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b5fd41;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2c5_2" x1="462.504595" x2="459.365119" y1="239.603363" y2="241.060625"> + <stop offset="1" style="stop-color:#94fe63;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b5fd41;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2c5" points="462.504595 239.603363 458.248931 238.655947 454.094428 229.705624"/> </defs> - <use fill="#94fe63" fill-opacity="1" xlink:href="#GT2c5"/> - <use fill="url(#GR2c5_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2c5"/> - <use fill="url(#GR2c5_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2c5"/> - <use fill="url(#GR2c5_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2c5"/> + <path d="M 462.504595,239.603363 L 458.248931,238.655947 454.094428,229.705624 Z" fill="#94fe63" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 462.504595,239.603363 L 458.248931,238.655947 454.094428,229.705624 Z" fill="url(#GR2c5_0)" shape-rendering="crispEdges"/> + <path d="M 462.504595,239.603363 L 458.248931,238.655947 454.094428,229.705624 Z" fill="url(#GR2c5_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 462.504595,239.603363 L 458.248931,238.655947 454.094428,229.705624 Z" fill="url(#GR2c5_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2c6_0" x1="454.094428" x2="452.392138" y1="229.705624" y2="237.352079"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2c6_0" x1="454.094428" x2="452.392138" y1="229.705624" y2="237.352079"> + <stop offset="1" style="stop-color:#bffc38;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2c6_1" x1="466.760259" x2="464.756404" y1="240.55078" y2="242.253467"> - <stop offset="0" style="stop-color:#f4f802;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f4f802;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2c6_1" x1="466.760259" x2="464.756404" y1="240.55078" y2="242.253467"> + <stop offset="1" style="stop-color:#bffc38;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f4f802;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2c6_2" x1="462.504595" x2="463.836775" y1="239.603363" y2="238.047538"> - <stop offset="0" style="stop-color:#b5fd41;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b5fd41;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2c6_2" x1="462.504595" x2="463.836775" y1="239.603363" y2="238.047538"> + <stop offset="1" style="stop-color:#bffc38;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b5fd41;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2c6" points="462.504595 239.603363 454.094428 229.705624 466.760259 240.55078"/> </defs> - <use fill="#bffc38" fill-opacity="1" xlink:href="#GT2c6"/> - <use fill="url(#GR2c6_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2c6"/> - <use fill="url(#GR2c6_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2c6"/> - <use fill="url(#GR2c6_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2c6"/> + <path d="M 462.504595,239.603363 L 454.094428,229.705624 466.760259,240.55078 Z" fill="#bffc38" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 462.504595,239.603363 L 454.094428,229.705624 466.760259,240.55078 Z" fill="url(#GR2c6_0)" shape-rendering="crispEdges"/> + <path d="M 462.504595,239.603363 L 454.094428,229.705624 466.760259,240.55078 Z" fill="url(#GR2c6_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 462.504595,239.603363 L 454.094428,229.705624 466.760259,240.55078 Z" fill="url(#GR2c6_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2c7_0" x1="466.760259" x2="464.756404" y1="240.55078" y2="242.253467"> - <stop offset="0" style="stop-color:#f4f802;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f4f802;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2c7_0" x1="466.760259" x2="464.756404" y1="240.55078" y2="242.253467"> + <stop offset="1" style="stop-color:#d7fc20;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f4f802;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2c7_1" x1="470.914762" x2="472.617052" y1="249.501102" y2="241.854647"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2c7_1" x1="470.914762" x2="472.617052" y1="249.501102" y2="241.854647"> + <stop offset="1" style="stop-color:#d7fc20;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2c7_2" x1="462.504595" x2="465.644071" y1="239.603363" y2="238.146102"> - <stop offset="0" style="stop-color:#b5fd41;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b5fd41;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2c7_2" x1="462.504595" x2="465.644071" y1="239.603363" y2="238.146102"> + <stop offset="1" style="stop-color:#d7fc20;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b5fd41;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2c7" points="462.504595 239.603363 466.760259 240.55078 470.914762 249.501102"/> </defs> - <use fill="#d7fc20" fill-opacity="1" xlink:href="#GT2c7"/> - <use fill="url(#GR2c7_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2c7"/> - <use fill="url(#GR2c7_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2c7"/> - <use fill="url(#GR2c7_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2c7"/> + <path d="M 462.504595,239.603363 L 466.760259,240.55078 470.914762,249.501102 Z" fill="#d7fc20" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 462.504595,239.603363 L 466.760259,240.55078 470.914762,249.501102 Z" fill="url(#GR2c7_0)" shape-rendering="crispEdges"/> + <path d="M 462.504595,239.603363 L 466.760259,240.55078 470.914762,249.501102 Z" fill="url(#GR2c7_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 462.504595,239.603363 L 466.760259,240.55078 470.914762,249.501102 Z" fill="url(#GR2c7_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2c8_0" x1="458.248931" x2="460.352088" y1="238.655947" y2="236.801135"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2c8_0" x1="458.248931" x2="460.352088" y1="238.655947" y2="236.801135"> + <stop offset="1" style="stop-color:#4cffab;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2c8_1" x1="447.826887" x2="448.619978" y1="222.598908" y2="222.136623"> - <stop offset="0" style="stop-color:#19ffde;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19ffde;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2c8_1" x1="447.826887" x2="448.619978" y1="222.598908" y2="222.136623"> + <stop offset="1" style="stop-color:#4cffab;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19ffde;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2c8_2" x1="450.960658" x2="450.378498" y1="226.152266" y2="226.530125"> - <stop offset="0" style="stop-color:#57ffa0;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#57ffa0;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2c8_2" x1="450.960658" x2="450.378498" y1="226.152266" y2="226.530125"> + <stop offset="1" style="stop-color:#4cffab;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#57ffa0;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2c8" points="450.960658 226.152266 458.248931 238.655947 447.826887 222.598908"/> </defs> - <use fill="#4cffab" fill-opacity="1" xlink:href="#GT2c8"/> - <use fill="url(#GR2c8_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2c8"/> - <use fill="url(#GR2c8_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2c8"/> - <use fill="url(#GR2c8_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2c8"/> + <path d="M 450.960658,226.152266 L 458.248931,238.655947 447.826887,222.598908 Z" fill="#4cffab" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 450.960658,226.152266 L 458.248931,238.655947 447.826887,222.598908 Z" fill="url(#GR2c8_0)" shape-rendering="crispEdges"/> + <path d="M 450.960658,226.152266 L 458.248931,238.655947 447.826887,222.598908 Z" fill="url(#GR2c8_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 450.960658,226.152266 L 458.248931,238.655947 447.826887,222.598908 Z" fill="url(#GR2c8_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2c9_0" x1="447.826887" x2="448.619978" y1="222.598908" y2="222.136623"> - <stop offset="0" style="stop-color:#19ffde;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19ffde;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2c9_0" x1="447.826887" x2="448.619978" y1="222.598908" y2="222.136623"> + <stop offset="1" style="stop-color:#3affbd;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19ffde;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2c9_1" x1="443.672384" x2="441.569228" y1="213.648585" y2="215.503397"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2c9_1" x1="443.672384" x2="441.569228" y1="213.648585" y2="215.503397"> + <stop offset="1" style="stop-color:#3affbd;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2c9_2" x1="450.960658" x2="449.739392" y1="226.152266" y2="226.719145"> - <stop offset="0" style="stop-color:#57ffa0;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#57ffa0;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2c9_2" x1="450.960658" x2="449.739392" y1="226.152266" y2="226.719145"> + <stop offset="1" style="stop-color:#3affbd;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#57ffa0;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2c9" points="450.960658 226.152266 447.826887 222.598908 443.672384 213.648585"/> </defs> - <use fill="#3affbd" fill-opacity="1" xlink:href="#GT2c9"/> - <use fill="url(#GR2c9_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2c9"/> - <use fill="url(#GR2c9_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2c9"/> - <use fill="url(#GR2c9_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2c9"/> + <path d="M 450.960658,226.152266 L 447.826887,222.598908 443.672384,213.648585 Z" fill="#3affbd" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 450.960658,226.152266 L 447.826887,222.598908 443.672384,213.648585 Z" fill="url(#GR2c9_0)" shape-rendering="crispEdges"/> + <path d="M 450.960658,226.152266 L 447.826887,222.598908 443.672384,213.648585 Z" fill="url(#GR2c9_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 450.960658,226.152266 L 447.826887,222.598908 443.672384,213.648585 Z" fill="url(#GR2c9_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2ca_0" x1="443.672384" x2="441.569228" y1="213.648585" y2="215.503397"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ca_0" x1="443.672384" x2="441.569228" y1="213.648585" y2="215.503397"> + <stop offset="1" style="stop-color:#62ff94;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2ca_1" x1="454.094428" x2="453.301337" y1="229.705624" y2="230.167909"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ca_1" x1="454.094428" x2="453.301337" y1="229.705624" y2="230.167909"> + <stop offset="1" style="stop-color:#62ff94;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2ca_2" x1="450.960658" x2="451.542818" y1="226.152266" y2="225.774407"> - <stop offset="0" style="stop-color:#57ffa0;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#57ffa0;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ca_2" x1="450.960658" x2="451.542818" y1="226.152266" y2="225.774407"> + <stop offset="1" style="stop-color:#62ff94;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#57ffa0;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2ca" points="450.960658 226.152266 443.672384 213.648585 454.094428 229.705624"/> </defs> - <use fill="#62ff94" fill-opacity="1" xlink:href="#GT2ca"/> - <use fill="url(#GR2ca_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ca"/> - <use fill="url(#GR2ca_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ca"/> - <use fill="url(#GR2ca_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ca"/> + <path d="M 450.960658,226.152266 L 443.672384,213.648585 454.094428,229.705624 Z" fill="#62ff94" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 450.960658,226.152266 L 443.672384,213.648585 454.094428,229.705624 Z" fill="url(#GR2ca_0)" shape-rendering="crispEdges"/> + <path d="M 450.960658,226.152266 L 443.672384,213.648585 454.094428,229.705624 Z" fill="url(#GR2ca_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 450.960658,226.152266 L 443.672384,213.648585 454.094428,229.705624 Z" fill="url(#GR2ca_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2cb_0" x1="454.094428" x2="453.301337" y1="229.705624" y2="230.167909"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2cb_0" x1="454.094428" x2="453.301337" y1="229.705624" y2="230.167909"> + <stop offset="1" style="stop-color:#75ff82;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2cb_1" x1="458.248931" x2="460.352088" y1="238.655947" y2="236.801135"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2cb_1" x1="458.248931" x2="460.352088" y1="238.655947" y2="236.801135"> + <stop offset="1" style="stop-color:#75ff82;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2cb_2" x1="450.960658" x2="452.181923" y1="226.152266" y2="225.585387"> - <stop offset="0" style="stop-color:#57ffa0;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#57ffa0;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2cb_2" x1="450.960658" x2="452.181923" y1="226.152266" y2="225.585387"> + <stop offset="1" style="stop-color:#75ff82;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#57ffa0;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2cb" points="450.960658 226.152266 454.094428 229.705624 458.248931 238.655947"/> </defs> - <use fill="#75ff82" fill-opacity="1" xlink:href="#GT2cb"/> - <use fill="url(#GR2cb_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2cb"/> - <use fill="url(#GR2cb_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2cb"/> - <use fill="url(#GR2cb_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2cb"/> + <path d="M 450.960658,226.152266 L 454.094428,229.705624 458.248931,238.655947 Z" fill="#75ff82" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 450.960658,226.152266 L 454.094428,229.705624 458.248931,238.655947 Z" fill="url(#GR2cb_0)" shape-rendering="crispEdges"/> + <path d="M 450.960658,226.152266 L 454.094428,229.705624 458.248931,238.655947 Z" fill="url(#GR2cb_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 450.960658,226.152266 L 454.094428,229.705624 458.248931,238.655947 Z" fill="url(#GR2cb_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2cc_0" x1="447.826887" x2="446.409304" y1="222.598908" y2="223.013213"> - <stop offset="0" style="stop-color:#19ffde;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19ffde;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2cc_0" x1="447.826887" x2="446.409304" y1="222.598908" y2="223.013213"> + <stop offset="1" style="stop-color:#0fd6eb;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19ffde;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2cc_1" x1="440.419029" x2="439.909832" y1="202.516927" y2="202.719719"> - <stop offset="0" style="stop-color:#00a4ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a4ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2cc_1" x1="440.419029" x2="439.909832" y1="202.516927" y2="202.719719"> + <stop offset="1" style="stop-color:#0fd6eb;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a4ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2cc_2" x1="442.045707" x2="442.421079" y1="208.082756" y2="207.944289"> - <stop offset="0" style="stop-color:#15e0e5;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#15e0e5;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2cc_2" x1="442.045707" x2="442.421079" y1="208.082756" y2="207.944289"> + <stop offset="1" style="stop-color:#0fd6eb;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#15e0e5;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2cc" points="442.045707 208.082756 447.826887 222.598908 440.419029 202.516927"/> </defs> - <use fill="#0fd6eb" fill-opacity="1" xlink:href="#GT2cc"/> - <use fill="url(#GR2cc_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2cc"/> - <use fill="url(#GR2cc_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2cc"/> - <use fill="url(#GR2cc_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2cc"/> + <path d="M 442.045707,208.082756 L 447.826887,222.598908 440.419029,202.516927 Z" fill="#0fd6eb" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 442.045707,208.082756 L 447.826887,222.598908 440.419029,202.516927 Z" fill="url(#GR2cc_0)" shape-rendering="crispEdges"/> + <path d="M 442.045707,208.082756 L 447.826887,222.598908 440.419029,202.516927 Z" fill="url(#GR2cc_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 442.045707,208.082756 L 447.826887,222.598908 440.419029,202.516927 Z" fill="url(#GR2cc_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2cd_0" x1="440.419029" x2="439.909832" y1="202.516927" y2="202.719719"> - <stop offset="0" style="stop-color:#00a4ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a4ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2cd_0" x1="440.419029" x2="439.909832" y1="202.516927" y2="202.719719"> + <stop offset="1" style="stop-color:#07cbf6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a4ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2cd_1" x1="436.264526" x2="437.682109" y1="193.566605" y2="193.1523"> - <stop offset="0" style="stop-color:#00dcfe;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00dcfe;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2cd_1" x1="436.264526" x2="437.682109" y1="193.566605" y2="193.1523"> + <stop offset="1" style="stop-color:#07cbf6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00dcfe;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2cd_2" x1="442.045707" x2="442.832927" y1="208.082756" y2="207.717349"> - <stop offset="0" style="stop-color:#15e0e5;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#15e0e5;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2cd_2" x1="442.045707" x2="442.832927" y1="208.082756" y2="207.717349"> + <stop offset="1" style="stop-color:#07cbf6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#15e0e5;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2cd" points="442.045707 208.082756 440.419029 202.516927 436.264526 193.566605"/> </defs> - <use fill="#07cbf6" fill-opacity="1" xlink:href="#GT2cd"/> - <use fill="url(#GR2cd_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2cd"/> - <use fill="url(#GR2cd_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2cd"/> - <use fill="url(#GR2cd_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2cd"/> + <path d="M 442.045707,208.082756 L 440.419029,202.516927 436.264526,193.566605 Z" fill="#07cbf6" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 442.045707,208.082756 L 440.419029,202.516927 436.264526,193.566605 Z" fill="url(#GR2cd_0)" shape-rendering="crispEdges"/> + <path d="M 442.045707,208.082756 L 440.419029,202.516927 436.264526,193.566605 Z" fill="url(#GR2cd_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 442.045707,208.082756 L 440.419029,202.516927 436.264526,193.566605 Z" fill="url(#GR2cd_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2ce_0" x1="436.264526" x2="437.682109" y1="193.566605" y2="193.1523"> - <stop offset="0" style="stop-color:#00dcfe;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00dcfe;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ce_0" x1="436.264526" x2="437.682109" y1="193.566605" y2="193.1523"> + <stop offset="1" style="stop-color:#1be9df;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00dcfe;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2ce_1" x1="443.672384" x2="444.181582" y1="213.648585" y2="213.445793"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ce_1" x1="443.672384" x2="444.181582" y1="213.648585" y2="213.445793"> + <stop offset="1" style="stop-color:#1be9df;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2ce_2" x1="442.045707" x2="441.670335" y1="208.082756" y2="208.221224"> - <stop offset="0" style="stop-color:#15e0e5;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#15e0e5;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ce_2" x1="442.045707" x2="441.670335" y1="208.082756" y2="208.221224"> + <stop offset="1" style="stop-color:#1be9df;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#15e0e5;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2ce" points="442.045707 208.082756 436.264526 193.566605 443.672384 213.648585"/> </defs> - <use fill="#1be9df" fill-opacity="1" xlink:href="#GT2ce"/> - <use fill="url(#GR2ce_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ce"/> - <use fill="url(#GR2ce_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ce"/> - <use fill="url(#GR2ce_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ce"/> + <path d="M 442.045707,208.082756 L 436.264526,193.566605 443.672384,213.648585 Z" fill="#1be9df" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 442.045707,208.082756 L 436.264526,193.566605 443.672384,213.648585 Z" fill="url(#GR2ce_0)" shape-rendering="crispEdges"/> + <path d="M 442.045707,208.082756 L 436.264526,193.566605 443.672384,213.648585 Z" fill="url(#GR2ce_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 442.045707,208.082756 L 436.264526,193.566605 443.672384,213.648585 Z" fill="url(#GR2ce_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2cf_0" x1="443.672384" x2="444.181582" y1="213.648585" y2="213.445793"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2cf_0" x1="443.672384" x2="444.181582" y1="213.648585" y2="213.445793"> + <stop offset="1" style="stop-color:#24f5d4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2cf_1" x1="447.826887" x2="446.409304" y1="222.598908" y2="223.013213"> - <stop offset="0" style="stop-color:#19ffde;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19ffde;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2cf_1" x1="447.826887" x2="446.409304" y1="222.598908" y2="223.013213"> + <stop offset="1" style="stop-color:#24f5d4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19ffde;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2cf_2" x1="442.045707" x2="441.258486" y1="208.082756" y2="208.448163"> - <stop offset="0" style="stop-color:#15e0e5;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#15e0e5;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2cf_2" x1="442.045707" x2="441.258486" y1="208.082756" y2="208.448163"> + <stop offset="1" style="stop-color:#24f5d4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#15e0e5;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2cf" points="442.045707 208.082756 443.672384 213.648585 447.826887 222.598908"/> </defs> - <use fill="#24f5d4" fill-opacity="1" xlink:href="#GT2cf"/> - <use fill="url(#GR2cf_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2cf"/> - <use fill="url(#GR2cf_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2cf"/> - <use fill="url(#GR2cf_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2cf"/> + <path d="M 442.045707,208.082756 L 443.672384,213.648585 447.826887,222.598908 Z" fill="#24f5d4" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 442.045707,208.082756 L 443.672384,213.648585 447.826887,222.598908 Z" fill="url(#GR2cf_0)" shape-rendering="crispEdges"/> + <path d="M 442.045707,208.082756 L 443.672384,213.648585 447.826887,222.598908 Z" fill="url(#GR2cf_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 442.045707,208.082756 L 443.672384,213.648585 447.826887,222.598908 Z" fill="url(#GR2cf_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2d0_0" x1="440.419029" x2="436.064837" y1="202.516927" y2="202.418703"> - <stop offset="0" style="stop-color:#00a4ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a4ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2d0_0" x1="440.419029" x2="436.064837" y1="202.516927" y2="202.418703"> + <stop offset="1" style="stop-color:#0091ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a4ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2d0_1" x1="436.572949" x2="434.800295" y1="179.894469" y2="180.343662"> - <stop offset="0" style="stop-color:#0068ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0068ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2d0_1" x1="436.572949" x2="434.800295" y1="179.894469" y2="180.343662"> + <stop offset="1" style="stop-color:#0091ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0068ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2d0_2" x1="436.418737" x2="437.698179" y1="186.730537" y2="186.513017"> - <stop offset="0" style="stop-color:#00a6ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a6ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2d0_2" x1="436.418737" x2="437.698179" y1="186.730537" y2="186.513017"> + <stop offset="1" style="stop-color:#0091ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a6ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2d0" points="436.418737 186.730537 440.419029 202.516927 436.572949 179.894469"/> </defs> - <use fill="#0091ff" fill-opacity="1" xlink:href="#GT2d0"/> - <use fill="url(#GR2d0_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2d0"/> - <use fill="url(#GR2d0_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2d0"/> - <use fill="url(#GR2d0_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2d0"/> + <path d="M 436.418737,186.730537 L 440.419029,202.516927 436.572949,179.894469 Z" fill="#0091ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 436.418737,186.730537 L 440.419029,202.516927 436.572949,179.894469 Z" fill="url(#GR2d0_0)" shape-rendering="crispEdges"/> + <path d="M 436.418737,186.730537 L 440.419029,202.516927 436.572949,179.894469 Z" fill="url(#GR2d0_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 436.418737,186.730537 L 440.419029,202.516927 436.572949,179.894469 Z" fill="url(#GR2d0_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2d1_0" x1="436.572949" x2="434.800295" y1="179.894469" y2="180.343662"> - <stop offset="0" style="stop-color:#0068ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0068ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2d1_0" x1="436.572949" x2="434.800295" y1="179.894469" y2="180.343662"> + <stop offset="1" style="stop-color:#0094ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0068ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2d1_1" x1="432.418446" x2="436.772638" y1="170.944147" y2="171.042371"> - <stop offset="0" style="stop-color:#00acff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00acff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2d1_1" x1="432.418446" x2="436.772638" y1="170.944147" y2="171.042371"> + <stop offset="1" style="stop-color:#0094ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00acff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2d1_2" x1="436.418737" x2="439.156253" y1="186.730537" y2="185.459855"> - <stop offset="0" style="stop-color:#00a6ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a6ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2d1_2" x1="436.418737" x2="439.156253" y1="186.730537" y2="185.459855"> + <stop offset="1" style="stop-color:#0094ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a6ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2d1" points="436.418737 186.730537 436.572949 179.894469 432.418446 170.944147"/> </defs> - <use fill="#0094ff" fill-opacity="1" xlink:href="#GT2d1"/> - <use fill="url(#GR2d1_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2d1"/> - <use fill="url(#GR2d1_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2d1"/> - <use fill="url(#GR2d1_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2d1"/> + <path d="M 436.418737,186.730537 L 436.572949,179.894469 432.418446,170.944147 Z" fill="#0094ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 436.418737,186.730537 L 436.572949,179.894469 432.418446,170.944147 Z" fill="url(#GR2d1_0)" shape-rendering="crispEdges"/> + <path d="M 436.418737,186.730537 L 436.572949,179.894469 432.418446,170.944147 Z" fill="url(#GR2d1_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 436.418737,186.730537 L 436.572949,179.894469 432.418446,170.944147 Z" fill="url(#GR2d1_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2d2_0" x1="432.418446" x2="436.772638" y1="170.944147" y2="171.042371"> - <stop offset="0" style="stop-color:#00acff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00acff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2d2_0" x1="432.418446" x2="436.772638" y1="170.944147" y2="171.042371"> + <stop offset="1" style="stop-color:#00baff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00acff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2d2_1" x1="436.264526" x2="438.03718" y1="193.566605" y2="193.117412"> - <stop offset="0" style="stop-color:#00dcfe;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00dcfe;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2d2_1" x1="436.264526" x2="438.03718" y1="193.566605" y2="193.117412"> + <stop offset="1" style="stop-color:#00baff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00dcfe;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2d2_2" x1="436.418737" x2="435.139296" y1="186.730537" y2="186.948057"> - <stop offset="0" style="stop-color:#00a6ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a6ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2d2_2" x1="436.418737" x2="435.139296" y1="186.730537" y2="186.948057"> + <stop offset="1" style="stop-color:#00baff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a6ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2d2" points="436.418737 186.730537 432.418446 170.944147 436.264526 193.566605"/> </defs> - <use fill="#00baff" fill-opacity="1" xlink:href="#GT2d2"/> - <use fill="url(#GR2d2_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2d2"/> - <use fill="url(#GR2d2_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2d2"/> - <use fill="url(#GR2d2_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2d2"/> + <path d="M 436.418737,186.730537 L 432.418446,170.944147 436.264526,193.566605 Z" fill="#00baff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 436.418737,186.730537 L 432.418446,170.944147 436.264526,193.566605 Z" fill="url(#GR2d2_0)" shape-rendering="crispEdges"/> + <path d="M 436.418737,186.730537 L 432.418446,170.944147 436.264526,193.566605 Z" fill="url(#GR2d2_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 436.418737,186.730537 L 432.418446,170.944147 436.264526,193.566605 Z" fill="url(#GR2d2_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2d3_0" x1="436.264526" x2="438.03718" y1="193.566605" y2="193.117412"> - <stop offset="0" style="stop-color:#00dcfe;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00dcfe;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2d3_0" x1="436.264526" x2="438.03718" y1="193.566605" y2="193.117412"> + <stop offset="1" style="stop-color:#00b8ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00dcfe;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2d3_1" x1="440.419029" x2="436.064837" y1="202.516927" y2="202.418703"> - <stop offset="0" style="stop-color:#00a4ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a4ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2d3_1" x1="440.419029" x2="436.064837" y1="202.516927" y2="202.418703"> + <stop offset="1" style="stop-color:#00b8ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a4ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2d3_2" x1="436.418737" x2="433.681222" y1="186.730537" y2="188.001219"> - <stop offset="0" style="stop-color:#00a6ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a6ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2d3_2" x1="436.418737" x2="433.681222" y1="186.730537" y2="188.001219"> + <stop offset="1" style="stop-color:#00b8ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a6ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2d3" points="436.418737 186.730537 436.264526 193.566605 440.419029 202.516927"/> </defs> - <use fill="#00b8ff" fill-opacity="1" xlink:href="#GT2d3"/> - <use fill="url(#GR2d3_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2d3"/> - <use fill="url(#GR2d3_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2d3"/> - <use fill="url(#GR2d3_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2d3"/> + <path d="M 436.418737,186.730537 L 436.264526,193.566605 440.419029,202.516927 Z" fill="#00b8ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 436.418737,186.730537 L 436.264526,193.566605 440.419029,202.516927 Z" fill="url(#GR2d3_0)" shape-rendering="crispEdges"/> + <path d="M 436.418737,186.730537 L 436.264526,193.566605 440.419029,202.516927 Z" fill="url(#GR2d3_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 436.418737,186.730537 L 436.264526,193.566605 440.419029,202.516927 Z" fill="url(#GR2d3_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2d4_0" x1="436.572949" x2="430.367717" y1="179.894469" y2="178.121497"> - <stop offset="0" style="stop-color:#0068ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0068ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2d4_0" x1="436.572949" x2="430.367717" y1="179.894469" y2="178.121497"> + <stop offset="1" style="stop-color:#0074ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0068ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2d4_1" x1="436.572949" x2="433.613195" y1="156.403793" y2="156.782829"> - <stop offset="0" style="stop-color:#0068ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0068ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2d4_1" x1="436.572949" x2="433.613195" y1="156.403793" y2="156.782829"> + <stop offset="1" style="stop-color:#0074ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0068ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2d4_2" x1="434.495697" x2="436.572949" y1="163.67397" y2="163.67397"> - <stop offset="0" style="stop-color:#008bff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#008bff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2d4_2" x1="434.495697" x2="436.572949" y1="163.67397" y2="163.67397"> + <stop offset="1" style="stop-color:#0074ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#008bff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2d4" points="434.495697 163.67397 436.572949 179.894469 436.572949 156.403793"/> </defs> - <use fill="#0074ff" fill-opacity="1" xlink:href="#GT2d4"/> - <use fill="url(#GR2d4_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2d4"/> - <use fill="url(#GR2d4_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2d4"/> - <use fill="url(#GR2d4_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2d4"/> + <path d="M 434.495697,163.67397 L 436.572949,179.894469 436.572949,156.403793 Z" fill="#0074ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 434.495697,163.67397 L 436.572949,179.894469 436.572949,156.403793 Z" fill="url(#GR2d4_0)" shape-rendering="crispEdges"/> + <path d="M 434.495697,163.67397 L 436.572949,179.894469 436.572949,156.403793 Z" fill="url(#GR2d4_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 434.495697,163.67397 L 436.572949,179.894469 436.572949,156.403793 Z" fill="url(#GR2d4_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2d5_0" x1="436.572949" x2="433.613195" y1="156.403793" y2="156.782829"> - <stop offset="0" style="stop-color:#0068ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0068ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2d5_0" x1="436.572949" x2="433.613195" y1="156.403793" y2="156.782829"> + <stop offset="1" style="stop-color:#008bff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0068ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2d5_1" x1="432.418446" x2="438.623677" y1="147.45347" y2="149.226443"> - <stop offset="0" style="stop-color:#00acff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00acff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2d5_1" x1="432.418446" x2="438.623677" y1="147.45347" y2="149.226443"> + <stop offset="1" style="stop-color:#008bff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00acff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2d5_2" x1="434.495697" x2="438.98115" y1="163.67397" y2="161.591941"> - <stop offset="0" style="stop-color:#008bff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#008bff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2d5_2" x1="434.495697" x2="438.98115" y1="163.67397" y2="161.591941"> + <stop offset="1" style="stop-color:#008bff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#008bff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2d5" points="434.495697 163.67397 436.572949 156.403793 432.418446 147.45347"/> </defs> - <use fill="#008bff" fill-opacity="1" xlink:href="#GT2d5"/> - <use fill="url(#GR2d5_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2d5"/> - <use fill="url(#GR2d5_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2d5"/> - <use fill="url(#GR2d5_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2d5"/> + <path d="M 434.495697,163.67397 L 436.572949,156.403793 432.418446,147.45347 Z" fill="#008bff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 434.495697,163.67397 L 436.572949,156.403793 432.418446,147.45347 Z" fill="url(#GR2d5_0)" shape-rendering="crispEdges"/> + <path d="M 434.495697,163.67397 L 436.572949,156.403793 432.418446,147.45347 Z" fill="url(#GR2d5_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 434.495697,163.67397 L 436.572949,156.403793 432.418446,147.45347 Z" fill="url(#GR2d5_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2d6_0" x1="432.418446" x2="438.623677" y1="147.45347" y2="149.226443"> - <stop offset="0" style="stop-color:#00acff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00acff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2d6_0" x1="432.418446" x2="438.623677" y1="147.45347" y2="149.226443"> + <stop offset="1" style="stop-color:#00a1ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00acff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2d6_1" x1="432.418446" x2="435.3782" y1="170.944147" y2="170.565111"> - <stop offset="0" style="stop-color:#00acff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00acff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2d6_1" x1="432.418446" x2="435.3782" y1="170.944147" y2="170.565111"> + <stop offset="1" style="stop-color:#00a1ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00acff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2d6_2" x1="434.495697" x2="432.418446" y1="163.67397" y2="163.67397"> - <stop offset="0" style="stop-color:#008bff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#008bff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2d6_2" x1="434.495697" x2="432.418446" y1="163.67397" y2="163.67397"> + <stop offset="1" style="stop-color:#00a1ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#008bff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2d6" points="434.495697 163.67397 432.418446 147.45347 432.418446 170.944147"/> </defs> - <use fill="#00a1ff" fill-opacity="1" xlink:href="#GT2d6"/> - <use fill="url(#GR2d6_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2d6"/> - <use fill="url(#GR2d6_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2d6"/> - <use fill="url(#GR2d6_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2d6"/> + <path d="M 434.495697,163.67397 L 432.418446,147.45347 432.418446,170.944147 Z" fill="#00a1ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 434.495697,163.67397 L 432.418446,147.45347 432.418446,170.944147 Z" fill="url(#GR2d6_0)" shape-rendering="crispEdges"/> + <path d="M 434.495697,163.67397 L 432.418446,147.45347 432.418446,170.944147 Z" fill="url(#GR2d6_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 434.495697,163.67397 L 432.418446,147.45347 432.418446,170.944147 Z" fill="url(#GR2d6_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2d7_0" x1="432.418446" x2="435.3782" y1="170.944147" y2="170.565111"> - <stop offset="0" style="stop-color:#00acff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00acff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2d7_0" x1="432.418446" x2="435.3782" y1="170.944147" y2="170.565111"> + <stop offset="1" style="stop-color:#008bff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00acff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2d7_1" x1="436.572949" x2="430.367717" y1="179.894469" y2="178.121497"> - <stop offset="0" style="stop-color:#0068ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0068ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2d7_1" x1="436.572949" x2="430.367717" y1="179.894469" y2="178.121497"> + <stop offset="1" style="stop-color:#008bff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0068ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2d7_2" x1="434.495697" x2="430.010244" y1="163.67397" y2="165.755998"> - <stop offset="0" style="stop-color:#008bff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#008bff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2d7_2" x1="434.495697" x2="430.010244" y1="163.67397" y2="165.755998"> + <stop offset="1" style="stop-color:#008bff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#008bff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2d7" points="434.495697 163.67397 432.418446 170.944147 436.572949 179.894469"/> </defs> - <use fill="#008bff" fill-opacity="1" xlink:href="#GT2d7"/> - <use fill="url(#GR2d7_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2d7"/> - <use fill="url(#GR2d7_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2d7"/> - <use fill="url(#GR2d7_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2d7"/> + <path d="M 434.495697,163.67397 L 432.418446,170.944147 436.572949,179.894469 Z" fill="#008bff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 434.495697,163.67397 L 432.418446,170.944147 436.572949,179.894469 Z" fill="url(#GR2d7_0)" shape-rendering="crispEdges"/> + <path d="M 434.495697,163.67397 L 432.418446,170.944147 436.572949,179.894469 Z" fill="url(#GR2d7_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 434.495697,163.67397 L 432.418446,170.944147 436.572949,179.894469 Z" fill="url(#GR2d7_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2d8_0" x1="436.572949" x2="429.576674" y1="156.403793" y2="152.309752"> - <stop offset="0" style="stop-color:#0068ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0068ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2d8_0" x1="436.572949" x2="429.576674" y1="156.403793" y2="152.309752"> + <stop offset="1" style="stop-color:#0091ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0068ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2d8_1" x1="440.419029" x2="436.352347" y1="133.781335" y2="133.821061"> - <stop offset="0" style="stop-color:#00a4ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a4ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2d8_1" x1="440.419029" x2="436.352347" y1="133.781335" y2="133.821061"> + <stop offset="1" style="stop-color:#0091ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a4ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2d8_2" x1="436.418737" x2="439.177091" y1="140.617403" y2="141.086355"> - <stop offset="0" style="stop-color:#00a6ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a6ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2d8_2" x1="436.418737" x2="439.177091" y1="140.617403" y2="141.086355"> + <stop offset="1" style="stop-color:#0091ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a6ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2d8" points="436.418737 140.617403 436.572949 156.403793 440.419029 133.781335"/> </defs> - <use fill="#0091ff" fill-opacity="1" xlink:href="#GT2d8"/> - <use fill="url(#GR2d8_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2d8"/> - <use fill="url(#GR2d8_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2d8"/> - <use fill="url(#GR2d8_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2d8"/> + <path d="M 436.418737,140.617403 L 436.572949,156.403793 440.419029,133.781335 Z" fill="#0091ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 436.418737,140.617403 L 436.572949,156.403793 440.419029,133.781335 Z" fill="url(#GR2d8_0)" shape-rendering="crispEdges"/> + <path d="M 436.418737,140.617403 L 436.572949,156.403793 440.419029,133.781335 Z" fill="url(#GR2d8_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 436.418737,140.617403 L 436.572949,156.403793 440.419029,133.781335 Z" fill="url(#GR2d8_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2d9_0" x1="440.419029" x2="436.352347" y1="133.781335" y2="133.821061"> - <stop offset="0" style="stop-color:#00a4ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a4ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2d9_0" x1="440.419029" x2="436.352347" y1="133.781335" y2="133.821061"> + <stop offset="1" style="stop-color:#00b8ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a4ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2d9_1" x1="436.264526" x2="443.260801" y1="124.831012" y2="128.925053"> - <stop offset="0" style="stop-color:#00dcfe;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00dcfe;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2d9_1" x1="436.264526" x2="443.260801" y1="124.831012" y2="128.925053"> + <stop offset="1" style="stop-color:#00b8ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00dcfe;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2d9_2" x1="436.418737" x2="442.320561" y1="140.617403" y2="137.877932"> - <stop offset="0" style="stop-color:#00a6ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a6ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2d9_2" x1="436.418737" x2="442.320561" y1="140.617403" y2="137.877932"> + <stop offset="1" style="stop-color:#00b8ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a6ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2d9" points="436.418737 140.617403 440.419029 133.781335 436.264526 124.831012"/> </defs> - <use fill="#00b8ff" fill-opacity="1" xlink:href="#GT2d9"/> - <use fill="url(#GR2d9_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2d9"/> - <use fill="url(#GR2d9_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2d9"/> - <use fill="url(#GR2d9_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2d9"/> + <path d="M 436.418737,140.617403 L 440.419029,133.781335 436.264526,124.831012 Z" fill="#00b8ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 436.418737,140.617403 L 440.419029,133.781335 436.264526,124.831012 Z" fill="url(#GR2d9_0)" shape-rendering="crispEdges"/> + <path d="M 436.418737,140.617403 L 440.419029,133.781335 436.264526,124.831012 Z" fill="url(#GR2d9_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 436.418737,140.617403 L 440.419029,133.781335 436.264526,124.831012 Z" fill="url(#GR2d9_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2da_0" x1="436.264526" x2="443.260801" y1="124.831012" y2="128.925053"> - <stop offset="0" style="stop-color:#00dcfe;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00dcfe;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2da_0" x1="436.264526" x2="443.260801" y1="124.831012" y2="128.925053"> + <stop offset="1" style="stop-color:#00baff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00dcfe;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2da_1" x1="432.418446" x2="436.485128" y1="147.45347" y2="147.413744"> - <stop offset="0" style="stop-color:#00acff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00acff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2da_1" x1="432.418446" x2="436.485128" y1="147.45347" y2="147.413744"> + <stop offset="1" style="stop-color:#00baff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00acff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2da_2" x1="436.418737" x2="433.660384" y1="140.617403" y2="140.148451"> - <stop offset="0" style="stop-color:#00a6ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a6ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2da_2" x1="436.418737" x2="433.660384" y1="140.617403" y2="140.148451"> + <stop offset="1" style="stop-color:#00baff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a6ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2da" points="436.418737 140.617403 436.264526 124.831012 432.418446 147.45347"/> </defs> - <use fill="#00baff" fill-opacity="1" xlink:href="#GT2da"/> - <use fill="url(#GR2da_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2da"/> - <use fill="url(#GR2da_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2da"/> - <use fill="url(#GR2da_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2da"/> + <path d="M 436.418737,140.617403 L 436.264526,124.831012 432.418446,147.45347 Z" fill="#00baff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 436.418737,140.617403 L 436.264526,124.831012 432.418446,147.45347 Z" fill="url(#GR2da_0)" shape-rendering="crispEdges"/> + <path d="M 436.418737,140.617403 L 436.264526,124.831012 432.418446,147.45347 Z" fill="url(#GR2da_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 436.418737,140.617403 L 436.264526,124.831012 432.418446,147.45347 Z" fill="url(#GR2da_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2db_0" x1="432.418446" x2="436.485128" y1="147.45347" y2="147.413744"> - <stop offset="0" style="stop-color:#00acff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00acff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2db_0" x1="432.418446" x2="436.485128" y1="147.45347" y2="147.413744"> + <stop offset="1" style="stop-color:#0094ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00acff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2db_1" x1="436.572949" x2="429.576674" y1="156.403793" y2="152.309752"> - <stop offset="0" style="stop-color:#0068ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0068ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2db_1" x1="436.572949" x2="429.576674" y1="156.403793" y2="152.309752"> + <stop offset="1" style="stop-color:#0094ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0068ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2db_2" x1="436.418737" x2="430.516914" y1="140.617403" y2="143.356873"> - <stop offset="0" style="stop-color:#00a6ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a6ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2db_2" x1="436.418737" x2="430.516914" y1="140.617403" y2="143.356873"> + <stop offset="1" style="stop-color:#0094ff;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a6ff;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2db" points="436.418737 140.617403 432.418446 147.45347 436.572949 156.403793"/> </defs> - <use fill="#0094ff" fill-opacity="1" xlink:href="#GT2db"/> - <use fill="url(#GR2db_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2db"/> - <use fill="url(#GR2db_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2db"/> - <use fill="url(#GR2db_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2db"/> + <path d="M 436.418737,140.617403 L 432.418446,147.45347 436.572949,156.403793 Z" fill="#0094ff" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 436.418737,140.617403 L 432.418446,147.45347 436.572949,156.403793 Z" fill="url(#GR2db_0)" shape-rendering="crispEdges"/> + <path d="M 436.418737,140.617403 L 432.418446,147.45347 436.572949,156.403793 Z" fill="url(#GR2db_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 436.418737,140.617403 L 432.418446,147.45347 436.572949,156.403793 Z" fill="url(#GR2db_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2dc_0" x1="440.419029" x2="433.948658" y1="133.781335" y2="127.060614"> - <stop offset="0" style="stop-color:#00a4ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a4ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2dc_0" x1="440.419029" x2="433.948658" y1="133.781335" y2="127.060614"> + <stop offset="1" style="stop-color:#0fd6eb;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a4ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2dc_1" x1="447.826887" x2="442.733374" y1="113.699354" y2="113.128576"> - <stop offset="0" style="stop-color:#19ffde;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19ffde;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2dc_1" x1="447.826887" x2="442.733374" y1="113.699354" y2="113.128576"> + <stop offset="1" style="stop-color:#0fd6eb;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19ffde;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2dc_2" x1="442.045707" x2="445.327232" y1="119.265183" y2="120.475675"> - <stop offset="0" style="stop-color:#15e0e5;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#15e0e5;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2dc_2" x1="442.045707" x2="445.327232" y1="119.265183" y2="120.475675"> + <stop offset="1" style="stop-color:#0fd6eb;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#15e0e5;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2dc" points="442.045707 119.265183 440.419029 133.781335 447.826887 113.699354"/> </defs> - <use fill="#0fd6eb" fill-opacity="1" xlink:href="#GT2dc"/> - <use fill="url(#GR2dc_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2dc"/> - <use fill="url(#GR2dc_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2dc"/> - <use fill="url(#GR2dc_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2dc"/> + <path d="M 442.045707,119.265183 L 440.419029,133.781335 447.826887,113.699354 Z" fill="#0fd6eb" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 442.045707,119.265183 L 440.419029,133.781335 447.826887,113.699354 Z" fill="url(#GR2dc_0)" shape-rendering="crispEdges"/> + <path d="M 442.045707,119.265183 L 440.419029,133.781335 447.826887,113.699354 Z" fill="url(#GR2dc_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 442.045707,119.265183 L 440.419029,133.781335 447.826887,113.699354 Z" fill="url(#GR2dc_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2dd_0" x1="447.826887" x2="442.733374" y1="113.699354" y2="113.128576"> - <stop offset="0" style="stop-color:#19ffde;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19ffde;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2dd_0" x1="447.826887" x2="442.733374" y1="113.699354" y2="113.128576"> + <stop offset="1" style="stop-color:#24f5d4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19ffde;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2dd_1" x1="443.672384" x2="450.142756" y1="104.749031" y2="111.469753"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2dd_1" x1="443.672384" x2="450.142756" y1="104.749031" y2="111.469753"> + <stop offset="1" style="stop-color:#24f5d4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2dd_2" x1="442.045707" x2="448.927637" y1="119.265183" y2="116.070773"> - <stop offset="0" style="stop-color:#15e0e5;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#15e0e5;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2dd_2" x1="442.045707" x2="448.927637" y1="119.265183" y2="116.070773"> + <stop offset="1" style="stop-color:#24f5d4;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#15e0e5;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2dd" points="442.045707 119.265183 447.826887 113.699354 443.672384 104.749031"/> </defs> - <use fill="#24f5d4" fill-opacity="1" xlink:href="#GT2dd"/> - <use fill="url(#GR2dd_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2dd"/> - <use fill="url(#GR2dd_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2dd"/> - <use fill="url(#GR2dd_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2dd"/> + <path d="M 442.045707,119.265183 L 447.826887,113.699354 443.672384,104.749031 Z" fill="#24f5d4" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 442.045707,119.265183 L 447.826887,113.699354 443.672384,104.749031 Z" fill="url(#GR2dd_0)" shape-rendering="crispEdges"/> + <path d="M 442.045707,119.265183 L 447.826887,113.699354 443.672384,104.749031 Z" fill="url(#GR2dd_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 442.045707,119.265183 L 447.826887,113.699354 443.672384,104.749031 Z" fill="url(#GR2dd_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2de_0" x1="443.672384" x2="450.142756" y1="104.749031" y2="111.469753"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2de_0" x1="443.672384" x2="450.142756" y1="104.749031" y2="111.469753"> + <stop offset="1" style="stop-color:#1be9df;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2de_1" x1="436.264526" x2="441.35804" y1="124.831012" y2="125.401791"> - <stop offset="0" style="stop-color:#00dcfe;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00dcfe;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2de_1" x1="436.264526" x2="441.35804" y1="124.831012" y2="125.401791"> + <stop offset="1" style="stop-color:#1be9df;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00dcfe;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2de_2" x1="442.045707" x2="438.764181" y1="119.265183" y2="118.054691"> - <stop offset="0" style="stop-color:#15e0e5;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#15e0e5;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2de_2" x1="442.045707" x2="438.764181" y1="119.265183" y2="118.054691"> + <stop offset="1" style="stop-color:#1be9df;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#15e0e5;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2de" points="442.045707 119.265183 443.672384 104.749031 436.264526 124.831012"/> </defs> - <use fill="#1be9df" fill-opacity="1" xlink:href="#GT2de"/> - <use fill="url(#GR2de_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2de"/> - <use fill="url(#GR2de_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2de"/> - <use fill="url(#GR2de_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2de"/> + <path d="M 442.045707,119.265183 L 443.672384,104.749031 436.264526,124.831012 Z" fill="#1be9df" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 442.045707,119.265183 L 443.672384,104.749031 436.264526,124.831012 Z" fill="url(#GR2de_0)" shape-rendering="crispEdges"/> + <path d="M 442.045707,119.265183 L 443.672384,104.749031 436.264526,124.831012 Z" fill="url(#GR2de_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 442.045707,119.265183 L 443.672384,104.749031 436.264526,124.831012 Z" fill="url(#GR2de_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2df_0" x1="436.264526" x2="441.35804" y1="124.831012" y2="125.401791"> - <stop offset="0" style="stop-color:#00dcfe;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00dcfe;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2df_0" x1="436.264526" x2="441.35804" y1="124.831012" y2="125.401791"> + <stop offset="1" style="stop-color:#07cbf6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00dcfe;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2df_1" x1="440.419029" x2="433.948658" y1="133.781335" y2="127.060614"> - <stop offset="0" style="stop-color:#00a4ff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00a4ff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2df_1" x1="440.419029" x2="433.948658" y1="133.781335" y2="127.060614"> + <stop offset="1" style="stop-color:#07cbf6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00a4ff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2df_2" x1="442.045707" x2="435.163776" y1="119.265183" y2="122.459593"> - <stop offset="0" style="stop-color:#15e0e5;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#15e0e5;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2df_2" x1="442.045707" x2="435.163776" y1="119.265183" y2="122.459593"> + <stop offset="1" style="stop-color:#07cbf6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#15e0e5;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2df" points="442.045707 119.265183 436.264526 124.831012 440.419029 133.781335"/> </defs> - <use fill="#07cbf6" fill-opacity="1" xlink:href="#GT2df"/> - <use fill="url(#GR2df_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2df"/> - <use fill="url(#GR2df_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2df"/> - <use fill="url(#GR2df_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2df"/> + <path d="M 442.045707,119.265183 L 436.264526,124.831012 440.419029,133.781335 Z" fill="#07cbf6" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 442.045707,119.265183 L 436.264526,124.831012 440.419029,133.781335 Z" fill="url(#GR2df_0)" shape-rendering="crispEdges"/> + <path d="M 442.045707,119.265183 L 436.264526,124.831012 440.419029,133.781335 Z" fill="url(#GR2df_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 442.045707,119.265183 L 436.264526,124.831012 440.419029,133.781335 Z" fill="url(#GR2df_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2e0_0" x1="447.826887" x2="443.503379" y1="113.699354" y2="104.831429"> - <stop offset="0" style="stop-color:#19ffde;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19ffde;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2e0_0" x1="447.826887" x2="443.503379" y1="113.699354" y2="104.831429"> + <stop offset="1" style="stop-color:#4cffab;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19ffde;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2e0_1" x1="458.248931" x2="452.229345" y1="97.642316" y2="96.133639"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2e0_1" x1="458.248931" x2="452.229345" y1="97.642316" y2="96.133639"> + <stop offset="1" style="stop-color:#4cffab;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2e0_2" x1="450.960658" x2="454.465881" y1="101.195674" y2="103.470787"> - <stop offset="0" style="stop-color:#57ffa0;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#57ffa0;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2e0_2" x1="450.960658" x2="454.465881" y1="101.195674" y2="103.470787"> + <stop offset="1" style="stop-color:#4cffab;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#57ffa0;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2e0" points="450.960658 101.195674 447.826887 113.699354 458.248931 97.642316"/> </defs> - <use fill="#4cffab" fill-opacity="1" xlink:href="#GT2e0"/> - <use fill="url(#GR2e0_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2e0"/> - <use fill="url(#GR2e0_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2e0"/> - <use fill="url(#GR2e0_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2e0"/> + <path d="M 450.960658,101.195674 L 447.826887,113.699354 458.248931,97.642316 Z" fill="#4cffab" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 450.960658,101.195674 L 447.826887,113.699354 458.248931,97.642316 Z" fill="url(#GR2e0_0)" shape-rendering="crispEdges"/> + <path d="M 450.960658,101.195674 L 447.826887,113.699354 458.248931,97.642316 Z" fill="url(#GR2e0_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 450.960658,101.195674 L 447.826887,113.699354 458.248931,97.642316 Z" fill="url(#GR2e0_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2e1_0" x1="458.248931" x2="452.229345" y1="97.642316" y2="96.133639"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2e1_0" x1="458.248931" x2="452.229345" y1="97.642316" y2="96.133639"> + <stop offset="1" style="stop-color:#75ff82;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2e1_1" x1="454.094428" x2="458.417937" y1="88.691993" y2="97.559918"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2e1_1" x1="454.094428" x2="458.417937" y1="88.691993" y2="97.559918"> + <stop offset="1" style="stop-color:#75ff82;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2e1_2" x1="450.960658" x2="458.313981" y1="101.195674" y2="97.782456"> - <stop offset="0" style="stop-color:#57ffa0;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#57ffa0;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2e1_2" x1="450.960658" x2="458.313981" y1="101.195674" y2="97.782456"> + <stop offset="1" style="stop-color:#75ff82;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#57ffa0;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2e1" points="450.960658 101.195674 458.248931 97.642316 454.094428 88.691993"/> </defs> - <use fill="#75ff82" fill-opacity="1" xlink:href="#GT2e1"/> - <use fill="url(#GR2e1_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2e1"/> - <use fill="url(#GR2e1_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2e1"/> - <use fill="url(#GR2e1_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2e1"/> + <path d="M 450.960658,101.195674 L 458.248931,97.642316 454.094428,88.691993 Z" fill="#75ff82" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 450.960658,101.195674 L 458.248931,97.642316 454.094428,88.691993 Z" fill="url(#GR2e1_0)" shape-rendering="crispEdges"/> + <path d="M 450.960658,101.195674 L 458.248931,97.642316 454.094428,88.691993 Z" fill="url(#GR2e1_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 450.960658,101.195674 L 458.248931,97.642316 454.094428,88.691993 Z" fill="url(#GR2e1_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2e2_0" x1="454.094428" x2="458.417937" y1="88.691993" y2="97.559918"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2e2_0" x1="454.094428" x2="458.417937" y1="88.691993" y2="97.559918"> + <stop offset="1" style="stop-color:#62ff94;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2e2_1" x1="443.672384" x2="449.691971" y1="104.749031" y2="106.257708"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2e2_1" x1="443.672384" x2="449.691971" y1="104.749031" y2="106.257708"> + <stop offset="1" style="stop-color:#62ff94;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2e2_2" x1="450.960658" x2="447.455435" y1="101.195674" y2="98.92056"> - <stop offset="0" style="stop-color:#57ffa0;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#57ffa0;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2e2_2" x1="450.960658" x2="447.455435" y1="101.195674" y2="98.92056"> + <stop offset="1" style="stop-color:#62ff94;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#57ffa0;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2e2" points="450.960658 101.195674 454.094428 88.691993 443.672384 104.749031"/> </defs> - <use fill="#62ff94" fill-opacity="1" xlink:href="#GT2e2"/> - <use fill="url(#GR2e2_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2e2"/> - <use fill="url(#GR2e2_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2e2"/> - <use fill="url(#GR2e2_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2e2"/> + <path d="M 450.960658,101.195674 L 454.094428,88.691993 443.672384,104.749031 Z" fill="#62ff94" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 450.960658,101.195674 L 454.094428,88.691993 443.672384,104.749031 Z" fill="url(#GR2e2_0)" shape-rendering="crispEdges"/> + <path d="M 450.960658,101.195674 L 454.094428,88.691993 443.672384,104.749031 Z" fill="url(#GR2e2_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 450.960658,101.195674 L 454.094428,88.691993 443.672384,104.749031 Z" fill="url(#GR2e2_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2e3_0" x1="443.672384" x2="449.691971" y1="104.749031" y2="106.257708"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2e3_0" x1="443.672384" x2="449.691971" y1="104.749031" y2="106.257708"> + <stop offset="1" style="stop-color:#3affbd;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2e3_1" x1="447.826887" x2="443.503379" y1="113.699354" y2="104.831429"> - <stop offset="0" style="stop-color:#19ffde;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#19ffde;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2e3_1" x1="447.826887" x2="443.503379" y1="113.699354" y2="104.831429"> + <stop offset="1" style="stop-color:#3affbd;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#19ffde;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2e3_2" x1="450.960658" x2="443.607335" y1="101.195674" y2="104.608891"> - <stop offset="0" style="stop-color:#57ffa0;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#57ffa0;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2e3_2" x1="450.960658" x2="443.607335" y1="101.195674" y2="104.608891"> + <stop offset="1" style="stop-color:#3affbd;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#57ffa0;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2e3" points="450.960658 101.195674 443.672384 104.749031 447.826887 113.699354"/> </defs> - <use fill="#3affbd" fill-opacity="1" xlink:href="#GT2e3"/> - <use fill="url(#GR2e3_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2e3"/> - <use fill="url(#GR2e3_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2e3"/> - <use fill="url(#GR2e3_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2e3"/> + <path d="M 450.960658,101.195674 L 443.672384,104.749031 447.826887,113.699354 Z" fill="#3affbd" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 450.960658,101.195674 L 443.672384,104.749031 447.826887,113.699354 Z" fill="url(#GR2e3_0)" shape-rendering="crispEdges"/> + <path d="M 450.960658,101.195674 L 443.672384,104.749031 447.826887,113.699354 Z" fill="url(#GR2e3_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 450.960658,101.195674 L 443.672384,104.749031 447.826887,113.699354 Z" fill="url(#GR2e3_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2e4_0" x1="458.248931" x2="457.201239" y1="97.642316" y2="88.342007"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2e4_0" x1="458.248931" x2="457.201239" y1="97.642316" y2="88.342007"> + <stop offset="1" style="stop-color:#acfe4b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2e4_1" x1="470.914762" x2="464.160583" y1="86.79716" y2="83.893112"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2e4_1" x1="470.914762" x2="464.160583" y1="86.79716" y2="83.893112"> + <stop offset="1" style="stop-color:#acfe4b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2e4_2" x1="462.504595" x2="465.594223" y1="87.744576" y2="91.352888"> - <stop offset="0" style="stop-color:#b5fd41;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b5fd41;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2e4_2" x1="462.504595" x2="465.594223" y1="87.744576" y2="91.352888"> + <stop offset="1" style="stop-color:#acfe4b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b5fd41;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2e4" points="462.504595 87.744576 458.248931 97.642316 470.914762 86.79716"/> </defs> - <use fill="#acfe4b" fill-opacity="1" xlink:href="#GT2e4"/> - <use fill="url(#GR2e4_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2e4"/> - <use fill="url(#GR2e4_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2e4"/> - <use fill="url(#GR2e4_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2e4"/> + <path d="M 462.504595,87.744576 L 458.248931,97.642316 470.914762,86.79716 Z" fill="#acfe4b" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 462.504595,87.744576 L 458.248931,97.642316 470.914762,86.79716 Z" fill="url(#GR2e4_0)" shape-rendering="crispEdges"/> + <path d="M 462.504595,87.744576 L 458.248931,97.642316 470.914762,86.79716 Z" fill="url(#GR2e4_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 462.504595,87.744576 L 458.248931,97.642316 470.914762,86.79716 Z" fill="url(#GR2e4_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2e5_0" x1="470.914762" x2="464.160583" y1="86.79716" y2="83.893112"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2e5_0" x1="470.914762" x2="464.160583" y1="86.79716" y2="83.893112"> + <stop offset="1" style="stop-color:#d7fc20;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2e5_1" x1="466.760259" x2="467.807951" y1="77.846837" y2="87.147146"> - <stop offset="0" style="stop-color:#f4f802;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f4f802;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2e5_1" x1="466.760259" x2="467.807951" y1="77.846837" y2="87.147146"> + <stop offset="1" style="stop-color:#d7fc20;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f4f802;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2e5_2" x1="462.504595" x2="469.785751" y1="87.744576" y2="84.364857"> - <stop offset="0" style="stop-color:#b5fd41;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b5fd41;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2e5_2" x1="462.504595" x2="469.785751" y1="87.744576" y2="84.364857"> + <stop offset="1" style="stop-color:#d7fc20;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b5fd41;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2e5" points="462.504595 87.744576 470.914762 86.79716 466.760259 77.846837"/> </defs> - <use fill="#d7fc20" fill-opacity="1" xlink:href="#GT2e5"/> - <use fill="url(#GR2e5_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2e5"/> - <use fill="url(#GR2e5_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2e5"/> - <use fill="url(#GR2e5_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2e5"/> + <path d="M 462.504595,87.744576 L 470.914762,86.79716 466.760259,77.846837 Z" fill="#d7fc20" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 462.504595,87.744576 L 470.914762,86.79716 466.760259,77.846837 Z" fill="url(#GR2e5_0)" shape-rendering="crispEdges"/> + <path d="M 462.504595,87.744576 L 470.914762,86.79716 466.760259,77.846837 Z" fill="url(#GR2e5_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 462.504595,87.744576 L 470.914762,86.79716 466.760259,77.846837 Z" fill="url(#GR2e5_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2e6_0" x1="466.760259" x2="467.807951" y1="77.846837" y2="87.147146"> - <stop offset="0" style="stop-color:#f4f802;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f4f802;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2e6_0" x1="466.760259" x2="467.807951" y1="77.846837" y2="87.147146"> + <stop offset="1" style="stop-color:#bffc38;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f4f802;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2e6_1" x1="454.094428" x2="460.848607" y1="88.691993" y2="91.596041"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2e6_1" x1="454.094428" x2="460.848607" y1="88.691993" y2="91.596041"> + <stop offset="1" style="stop-color:#bffc38;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2e6_2" x1="462.504595" x2="459.414968" y1="87.744576" y2="84.136265"> - <stop offset="0" style="stop-color:#b5fd41;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b5fd41;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2e6_2" x1="462.504595" x2="459.414968" y1="87.744576" y2="84.136265"> + <stop offset="1" style="stop-color:#bffc38;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b5fd41;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2e6" points="462.504595 87.744576 466.760259 77.846837 454.094428 88.691993"/> </defs> - <use fill="#bffc38" fill-opacity="1" xlink:href="#GT2e6"/> - <use fill="url(#GR2e6_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2e6"/> - <use fill="url(#GR2e6_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2e6"/> - <use fill="url(#GR2e6_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2e6"/> + <path d="M 462.504595,87.744576 L 466.760259,77.846837 454.094428,88.691993 Z" fill="#bffc38" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 462.504595,87.744576 L 466.760259,77.846837 454.094428,88.691993 Z" fill="url(#GR2e6_0)" shape-rendering="crispEdges"/> + <path d="M 462.504595,87.744576 L 466.760259,77.846837 454.094428,88.691993 Z" fill="url(#GR2e6_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 462.504595,87.744576 L 466.760259,77.846837 454.094428,88.691993 Z" fill="url(#GR2e6_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2e7_0" x1="454.094428" x2="460.848607" y1="88.691993" y2="91.596041"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2e7_0" x1="454.094428" x2="460.848607" y1="88.691993" y2="91.596041"> + <stop offset="1" style="stop-color:#94fe63;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2e7_1" x1="458.248931" x2="457.201239" y1="97.642316" y2="88.342007"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2e7_1" x1="458.248931" x2="457.201239" y1="97.642316" y2="88.342007"> + <stop offset="1" style="stop-color:#94fe63;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2e7_2" x1="462.504595" x2="455.223439" y1="87.744576" y2="91.124296"> - <stop offset="0" style="stop-color:#b5fd41;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b5fd41;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2e7_2" x1="462.504595" x2="455.223439" y1="87.744576" y2="91.124296"> + <stop offset="1" style="stop-color:#94fe63;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b5fd41;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2e7" points="462.504595 87.744576 454.094428 88.691993 458.248931 97.642316"/> </defs> - <use fill="#94fe63" fill-opacity="1" xlink:href="#GT2e7"/> - <use fill="url(#GR2e7_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2e7"/> - <use fill="url(#GR2e7_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2e7"/> - <use fill="url(#GR2e7_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2e7"/> + <path d="M 462.504595,87.744576 L 454.094428,88.691993 458.248931,97.642316 Z" fill="#94fe63" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 462.504595,87.744576 L 454.094428,88.691993 458.248931,97.642316 Z" fill="url(#GR2e7_0)" shape-rendering="crispEdges"/> + <path d="M 462.504595,87.744576 L 454.094428,88.691993 458.248931,97.642316 Z" fill="url(#GR2e7_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 462.504595,87.744576 L 454.094428,88.691993 458.248931,97.642316 Z" fill="url(#GR2e7_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2e8_0" x1="470.914762" x2="472.644556" y1="86.79716" y2="79.183775"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2e8_0" x1="470.914762" x2="472.644556" y1="86.79716" y2="79.183775"> + <stop offset="1" style="stop-color:#efcd0c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2e8_1" x1="484.888116" x2="477.902662" y1="81.965564" y2="76.988816"> - <stop offset="0" style="stop-color:#ff9f00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff9f00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2e8_1" x1="484.888116" x2="477.902662" y1="81.965564" y2="76.988816"> + <stop offset="1" style="stop-color:#efcd0c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff9f00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2e8_2" x1="475.824188" x2="477.428158" y1="79.906201" y2="84.54501"> - <stop offset="0" style="stop-color:#f3c708;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f3c708;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2e8_2" x1="475.824188" x2="477.428158" y1="79.906201" y2="84.54501"> + <stop offset="1" style="stop-color:#efcd0c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f3c708;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2e8" points="475.824188 79.906201 470.914762 86.79716 484.888116 81.965564"/> </defs> - <use fill="#efcd0c" fill-opacity="1" xlink:href="#GT2e8"/> - <use fill="url(#GR2e8_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2e8"/> - <use fill="url(#GR2e8_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2e8"/> - <use fill="url(#GR2e8_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2e8"/> + <path d="M 475.824188,79.906201 L 470.914762,86.79716 484.888116,81.965564 Z" fill="#efcd0c" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 475.824188,79.906201 L 470.914762,86.79716 484.888116,81.965564 Z" fill="url(#GR2e8_0)" shape-rendering="crispEdges"/> + <path d="M 475.824188,79.906201 L 470.914762,86.79716 484.888116,81.965564 Z" fill="url(#GR2e8_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 475.824188,79.906201 L 470.914762,86.79716 484.888116,81.965564 Z" fill="url(#GR2e8_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2e9_0" x1="484.888116" x2="477.902662" y1="81.965564" y2="76.988816"> - <stop offset="0" style="stop-color:#ff9f00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff9f00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2e9_0" x1="484.888116" x2="477.902662" y1="81.965564" y2="76.988816"> + <stop offset="1" style="stop-color:#fba403;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff9f00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2e9_1" x1="480.733614" x2="479.00382" y1="73.015242" y2="80.628627"> - <stop offset="0" style="stop-color:#ff8600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2e9_1" x1="480.733614" x2="479.00382" y1="73.015242" y2="80.628627"> + <stop offset="1" style="stop-color:#fba403;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2e9_2" x1="475.824188" x2="482.494951" y1="79.906201" y2="76.809809"> - <stop offset="0" style="stop-color:#f3c708;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f3c708;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2e9_2" x1="475.824188" x2="482.494951" y1="79.906201" y2="76.809809"> + <stop offset="1" style="stop-color:#fba403;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f3c708;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2e9" points="475.824188 79.906201 484.888116 81.965564 480.733614 73.015242"/> </defs> - <use fill="#fba403" fill-opacity="1" xlink:href="#GT2e9"/> - <use fill="url(#GR2e9_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2e9"/> - <use fill="url(#GR2e9_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2e9"/> - <use fill="url(#GR2e9_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2e9"/> + <path d="M 475.824188,79.906201 L 484.888116,81.965564 480.733614,73.015242 Z" fill="#fba403" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 475.824188,79.906201 L 484.888116,81.965564 480.733614,73.015242 Z" fill="url(#GR2e9_0)" shape-rendering="crispEdges"/> + <path d="M 475.824188,79.906201 L 484.888116,81.965564 480.733614,73.015242 Z" fill="url(#GR2e9_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 475.824188,79.906201 L 484.888116,81.965564 480.733614,73.015242 Z" fill="url(#GR2e9_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2ea_0" x1="480.733614" x2="479.00382" y1="73.015242" y2="80.628627"> - <stop offset="0" style="stop-color:#ff8600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ea_0" x1="480.733614" x2="479.00382" y1="73.015242" y2="80.628627"> + <stop offset="1" style="stop-color:#f8c203;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2ea_1" x1="466.760259" x2="473.745713" y1="77.846837" y2="82.823586"> - <stop offset="0" style="stop-color:#f4f802;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f4f802;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ea_1" x1="466.760259" x2="473.745713" y1="77.846837" y2="82.823586"> + <stop offset="1" style="stop-color:#f8c203;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f4f802;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2ea_2" x1="475.824188" x2="474.220217" y1="79.906201" y2="75.267392"> - <stop offset="0" style="stop-color:#f3c708;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f3c708;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ea_2" x1="475.824188" x2="474.220217" y1="79.906201" y2="75.267392"> + <stop offset="1" style="stop-color:#f8c203;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f3c708;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2ea" points="475.824188 79.906201 480.733614 73.015242 466.760259 77.846837"/> </defs> - <use fill="#f8c203" fill-opacity="1" xlink:href="#GT2ea"/> - <use fill="url(#GR2ea_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ea"/> - <use fill="url(#GR2ea_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ea"/> - <use fill="url(#GR2ea_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ea"/> + <path d="M 475.824188,79.906201 L 480.733614,73.015242 466.760259,77.846837 Z" fill="#f8c203" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 475.824188,79.906201 L 480.733614,73.015242 466.760259,77.846837 Z" fill="url(#GR2ea_0)" shape-rendering="crispEdges"/> + <path d="M 475.824188,79.906201 L 480.733614,73.015242 466.760259,77.846837 Z" fill="url(#GR2ea_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 475.824188,79.906201 L 480.733614,73.015242 466.760259,77.846837 Z" fill="url(#GR2ea_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2eb_0" x1="466.760259" x2="473.745713" y1="77.846837" y2="82.823586"> - <stop offset="0" style="stop-color:#f4f802;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f4f802;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2eb_0" x1="466.760259" x2="473.745713" y1="77.846837" y2="82.823586"> + <stop offset="1" style="stop-color:#ebea0d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f4f802;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2eb_1" x1="470.914762" x2="472.644556" y1="86.79716" y2="79.183775"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2eb_1" x1="470.914762" x2="472.644556" y1="86.79716" y2="79.183775"> + <stop offset="1" style="stop-color:#ebea0d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2eb_2" x1="475.824188" x2="469.153424" y1="79.906201" y2="83.002593"> - <stop offset="0" style="stop-color:#f3c708;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f3c708;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2eb_2" x1="475.824188" x2="469.153424" y1="79.906201" y2="83.002593"> + <stop offset="1" style="stop-color:#ebea0d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f3c708;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2eb" points="475.824188 79.906201 466.760259 77.846837 470.914762 86.79716"/> </defs> - <use fill="#ebea0d" fill-opacity="1" xlink:href="#GT2eb"/> - <use fill="url(#GR2eb_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2eb"/> - <use fill="url(#GR2eb_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2eb"/> - <use fill="url(#GR2eb_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2eb"/> + <path d="M 475.824188,79.906201 L 466.760259,77.846837 470.914762,86.79716 Z" fill="#ebea0d" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 475.824188,79.906201 L 466.760259,77.846837 470.914762,86.79716 Z" fill="url(#GR2eb_0)" shape-rendering="crispEdges"/> + <path d="M 475.824188,79.906201 L 466.760259,77.846837 470.914762,86.79716 Z" fill="url(#GR2eb_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 475.824188,79.906201 L 466.760259,77.846837 470.914762,86.79716 Z" fill="url(#GR2eb_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2ec_0" x1="480.733614" x2="477.759959" y1="245.382375" y2="236.758085"> - <stop offset="0" style="stop-color:#ff8600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ec_0" x1="480.733614" x2="477.759959" y1="245.382375" y2="236.758085"> + <stop offset="1" style="stop-color:#fbba01;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2ec_1" x1="466.760259" x2="468.945277" y1="240.55078" y2="237.345741"> - <stop offset="0" style="stop-color:#f4f802;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f4f802;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ec_1" x1="466.760259" x2="468.945277" y1="240.55078" y2="237.345741"> + <stop offset="1" style="stop-color:#fbba01;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f4f802;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2ec_2" x1="471.333527" x2="470.358136" y1="238.973917" y2="241.794825"> - <stop offset="0" style="stop-color:#fcaf01;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fcaf01;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ec_2" x1="471.333527" x2="470.358136" y1="238.973917" y2="241.794825"> + <stop offset="1" style="stop-color:#fbba01;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fcaf01;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2ec" points="471.333527 238.973917 480.733614 245.382375 466.760259 240.55078"/> </defs> - <use fill="#fbba01" fill-opacity="1" xlink:href="#GT2ec"/> - <use fill="url(#GR2ec_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ec"/> - <use fill="url(#GR2ec_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ec"/> - <use fill="url(#GR2ec_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ec"/> + <path d="M 471.333527,238.973917 L 480.733614,245.382375 466.760259,240.55078 Z" fill="#fbba01" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 471.333527,238.973917 L 480.733614,245.382375 466.760259,240.55078 Z" fill="url(#GR2ec_0)" shape-rendering="crispEdges"/> + <path d="M 471.333527,238.973917 L 480.733614,245.382375 466.760259,240.55078 Z" fill="url(#GR2ec_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 471.333527,238.973917 L 480.733614,245.382375 466.760259,240.55078 Z" fill="url(#GR2ec_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2ed_0" x1="466.760259" x2="468.945277" y1="240.55078" y2="237.345741"> - <stop offset="0" style="stop-color:#f4f802;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f4f802;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ed_0" x1="466.760259" x2="468.945277" y1="240.55078" y2="237.345741"> + <stop offset="1" style="stop-color:#fbd501;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f4f802;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2ed_1" x1="461.933441" x2="464.907095" y1="232.56546" y2="241.18975"> - <stop offset="0" style="stop-color:#ffd700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ed_1" x1="461.933441" x2="464.907095" y1="232.56546" y2="241.18975"> + <stop offset="1" style="stop-color:#fbd501;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2ed_2" x1="471.333527" x2="467.285975" y1="238.973917" y2="241.420507"> - <stop offset="0" style="stop-color:#fcaf01;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fcaf01;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ed_2" x1="471.333527" x2="467.285975" y1="238.973917" y2="241.420507"> + <stop offset="1" style="stop-color:#fbd501;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fcaf01;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2ed" points="471.333527 238.973917 466.760259 240.55078 461.933441 232.56546"/> </defs> - <use fill="#fbd501" fill-opacity="1" xlink:href="#GT2ed"/> - <use fill="url(#GR2ed_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ed"/> - <use fill="url(#GR2ed_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ed"/> - <use fill="url(#GR2ed_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ed"/> + <path d="M 471.333527,238.973917 L 466.760259,240.55078 461.933441,232.56546 Z" fill="#fbd501" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 471.333527,238.973917 L 466.760259,240.55078 461.933441,232.56546 Z" fill="url(#GR2ed_0)" shape-rendering="crispEdges"/> + <path d="M 471.333527,238.973917 L 466.760259,240.55078 461.933441,232.56546 Z" fill="url(#GR2ed_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 471.333527,238.973917 L 466.760259,240.55078 461.933441,232.56546 Z" fill="url(#GR2ed_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2ee_0" x1="461.933441" x2="464.907095" y1="232.56546" y2="241.18975"> - <stop offset="0" style="stop-color:#ffd700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ee_0" x1="461.933441" x2="464.907095" y1="232.56546" y2="241.18975"> + <stop offset="1" style="stop-color:#fea500;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2ee_1" x1="475.906795" x2="473.721778" y1="237.397055" y2="240.602094"> - <stop offset="0" style="stop-color:#ff6800;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6800;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ee_1" x1="475.906795" x2="473.721778" y1="237.397055" y2="240.602094"> + <stop offset="1" style="stop-color:#fea500;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6800;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2ee_2" x1="471.333527" x2="472.308918" y1="238.973917" y2="236.15301"> - <stop offset="0" style="stop-color:#fcaf01;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fcaf01;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ee_2" x1="471.333527" x2="472.308918" y1="238.973917" y2="236.15301"> + <stop offset="1" style="stop-color:#fea500;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fcaf01;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2ee" points="471.333527 238.973917 461.933441 232.56546 475.906795 237.397055"/> </defs> - <use fill="#fea500" fill-opacity="1" xlink:href="#GT2ee"/> - <use fill="url(#GR2ee_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ee"/> - <use fill="url(#GR2ee_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ee"/> - <use fill="url(#GR2ee_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ee"/> + <path d="M 471.333527,238.973917 L 461.933441,232.56546 475.906795,237.397055 Z" fill="#fea500" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 471.333527,238.973917 L 461.933441,232.56546 475.906795,237.397055 Z" fill="url(#GR2ee_0)" shape-rendering="crispEdges"/> + <path d="M 471.333527,238.973917 L 461.933441,232.56546 475.906795,237.397055 Z" fill="url(#GR2ee_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 471.333527,238.973917 L 461.933441,232.56546 475.906795,237.397055 Z" fill="url(#GR2ee_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2ef_0" x1="475.906795" x2="473.721778" y1="237.397055" y2="240.602094"> - <stop offset="0" style="stop-color:#ff6800;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6800;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ef_0" x1="475.906795" x2="473.721778" y1="237.397055" y2="240.602094"> + <stop offset="1" style="stop-color:#fe8a00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6800;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2ef_1" x1="480.733614" x2="477.759959" y1="245.382375" y2="236.758085"> - <stop offset="0" style="stop-color:#ff8600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ef_1" x1="480.733614" x2="477.759959" y1="245.382375" y2="236.758085"> + <stop offset="1" style="stop-color:#fe8a00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2ef_2" x1="471.333527" x2="475.381079" y1="238.973917" y2="236.527328"> - <stop offset="0" style="stop-color:#fcaf01;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fcaf01;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ef_2" x1="471.333527" x2="475.381079" y1="238.973917" y2="236.527328"> + <stop offset="1" style="stop-color:#fe8a00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fcaf01;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2ef" points="471.333527 238.973917 475.906795 237.397055 480.733614 245.382375"/> </defs> - <use fill="#fe8a00" fill-opacity="1" xlink:href="#GT2ef"/> - <use fill="url(#GR2ef_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ef"/> - <use fill="url(#GR2ef_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ef"/> - <use fill="url(#GR2ef_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ef"/> + <path d="M 471.333527,238.973917 L 475.906795,237.397055 480.733614,245.382375 Z" fill="#fe8a00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 471.333527,238.973917 L 475.906795,237.397055 480.733614,245.382375 Z" fill="url(#GR2ef_0)" shape-rendering="crispEdges"/> + <path d="M 471.333527,238.973917 L 475.906795,237.397055 480.733614,245.382375 Z" fill="url(#GR2ef_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 471.333527,238.973917 L 475.906795,237.397055 480.733614,245.382375 Z" fill="url(#GR2ef_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2f0_0" x1="466.760259" x2="468.76432" y1="240.55078" y2="235.057507"> - <stop offset="0" style="stop-color:#f4f802;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f4f802;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2f0_0" x1="466.760259" x2="468.76432" y1="240.55078" y2="235.057507"> + <stop offset="1" style="stop-color:#c8f930;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f4f802;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2f0_1" x1="454.094428" x2="455.485325" y1="229.705624" y2="228.413545"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2f0_1" x1="454.094428" x2="455.485325" y1="229.705624" y2="228.413545"> + <stop offset="1" style="stop-color:#c8f930;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2f0_2" x1="458.013935" x2="457.062331" y1="231.135542" y2="232.2469"> - <stop offset="0" style="stop-color:#cff329;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#cff329;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2f0_2" x1="458.013935" x2="457.062331" y1="231.135542" y2="232.2469"> + <stop offset="1" style="stop-color:#c8f930;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#cff329;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2f0" points="458.013935 231.135542 466.760259 240.55078 454.094428 229.705624"/> </defs> - <use fill="#c8f930" fill-opacity="1" xlink:href="#GT2f0"/> - <use fill="url(#GR2f0_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2f0"/> - <use fill="url(#GR2f0_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2f0"/> - <use fill="url(#GR2f0_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2f0"/> + <path d="M 458.013935,231.135542 L 466.760259,240.55078 454.094428,229.705624 Z" fill="#c8f930" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 458.013935,231.135542 L 466.760259,240.55078 454.094428,229.705624 Z" fill="url(#GR2f0_0)" shape-rendering="crispEdges"/> + <path d="M 458.013935,231.135542 L 466.760259,240.55078 454.094428,229.705624 Z" fill="url(#GR2f0_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 458.013935,231.135542 L 466.760259,240.55078 454.094428,229.705624 Z" fill="url(#GR2f0_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2f1_0" x1="454.094428" x2="455.485325" y1="229.705624" y2="228.413545"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2f1_0" x1="454.094428" x2="455.485325" y1="229.705624" y2="228.413545"> + <stop offset="1" style="stop-color:#b3fb44;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2f1_1" x1="449.26761" x2="447.26355" y1="221.720304" y2="227.213577"> - <stop offset="0" style="stop-color:#b7ff40;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b7ff40;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2f1_1" x1="449.26761" x2="447.26355" y1="221.720304" y2="227.213577"> + <stop offset="1" style="stop-color:#b3fb44;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b7ff40;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2f1_2" x1="458.013935" x2="455.776323" y1="231.135542" y2="232.488092"> - <stop offset="0" style="stop-color:#cff329;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#cff329;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2f1_2" x1="458.013935" x2="455.776323" y1="231.135542" y2="232.488092"> + <stop offset="1" style="stop-color:#b3fb44;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#cff329;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2f1" points="458.013935 231.135542 454.094428 229.705624 449.26761 221.720304"/> </defs> - <use fill="#b3fb44" fill-opacity="1" xlink:href="#GT2f1"/> - <use fill="url(#GR2f1_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2f1"/> - <use fill="url(#GR2f1_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2f1"/> - <use fill="url(#GR2f1_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2f1"/> + <path d="M 458.013935,231.135542 L 454.094428,229.705624 449.26761,221.720304 Z" fill="#b3fb44" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 458.013935,231.135542 L 454.094428,229.705624 449.26761,221.720304 Z" fill="url(#GR2f1_0)" shape-rendering="crispEdges"/> + <path d="M 458.013935,231.135542 L 454.094428,229.705624 449.26761,221.720304 Z" fill="url(#GR2f1_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 458.013935,231.135542 L 454.094428,229.705624 449.26761,221.720304 Z" fill="url(#GR2f1_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2f2_0" x1="449.26761" x2="447.26355" y1="221.720304" y2="227.213577"> - <stop offset="0" style="stop-color:#b7ff40;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b7ff40;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2f2_0" x1="449.26761" x2="447.26355" y1="221.720304" y2="227.213577"> + <stop offset="1" style="stop-color:#d7ee23;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b7ff40;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2f2_1" x1="461.933441" x2="460.542545" y1="232.56546" y2="233.857538"> - <stop offset="0" style="stop-color:#ffd700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2f2_1" x1="461.933441" x2="460.542545" y1="232.56546" y2="233.857538"> + <stop offset="1" style="stop-color:#d7ee23;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2f2_2" x1="458.013935" x2="458.965538" y1="231.135542" y2="230.024184"> - <stop offset="0" style="stop-color:#cff329;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#cff329;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2f2_2" x1="458.013935" x2="458.965538" y1="231.135542" y2="230.024184"> + <stop offset="1" style="stop-color:#d7ee23;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#cff329;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2f2" points="458.013935 231.135542 449.26761 221.720304 461.933441 232.56546"/> </defs> - <use fill="#d7ee23" fill-opacity="1" xlink:href="#GT2f2"/> - <use fill="url(#GR2f2_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2f2"/> - <use fill="url(#GR2f2_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2f2"/> - <use fill="url(#GR2f2_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2f2"/> + <path d="M 458.013935,231.135542 L 449.26761,221.720304 461.933441,232.56546 Z" fill="#d7ee23" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 458.013935,231.135542 L 449.26761,221.720304 461.933441,232.56546 Z" fill="url(#GR2f2_0)" shape-rendering="crispEdges"/> + <path d="M 458.013935,231.135542 L 449.26761,221.720304 461.933441,232.56546 Z" fill="url(#GR2f2_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 458.013935,231.135542 L 449.26761,221.720304 461.933441,232.56546 Z" fill="url(#GR2f2_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2f3_0" x1="461.933441" x2="460.542545" y1="232.56546" y2="233.857538"> - <stop offset="0" style="stop-color:#ffd700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2f3_0" x1="461.933441" x2="460.542545" y1="232.56546" y2="233.857538"> + <stop offset="1" style="stop-color:#ecec0f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2f3_1" x1="466.760259" x2="468.76432" y1="240.55078" y2="235.057507"> - <stop offset="0" style="stop-color:#f4f802;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f4f802;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2f3_1" x1="466.760259" x2="468.76432" y1="240.55078" y2="235.057507"> + <stop offset="1" style="stop-color:#ecec0f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f4f802;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2f3_2" x1="458.013935" x2="460.251546" y1="231.135542" y2="229.782992"> - <stop offset="0" style="stop-color:#cff329;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#cff329;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2f3_2" x1="458.013935" x2="460.251546" y1="231.135542" y2="229.782992"> + <stop offset="1" style="stop-color:#ecec0f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#cff329;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2f3" points="458.013935 231.135542 461.933441 232.56546 466.760259 240.55078"/> </defs> - <use fill="#ecec0f" fill-opacity="1" xlink:href="#GT2f3"/> - <use fill="url(#GR2f3_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2f3"/> - <use fill="url(#GR2f3_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2f3"/> - <use fill="url(#GR2f3_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2f3"/> + <path d="M 458.013935,231.135542 L 461.933441,232.56546 466.760259,240.55078 Z" fill="#ecec0f" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 458.013935,231.135542 L 461.933441,232.56546 466.760259,240.55078 Z" fill="url(#GR2f3_0)" shape-rendering="crispEdges"/> + <path d="M 458.013935,231.135542 L 461.933441,232.56546 466.760259,240.55078 Z" fill="url(#GR2f3_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 458.013935,231.135542 L 461.933441,232.56546 466.760259,240.55078 Z" fill="url(#GR2f3_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2f4_0" x1="454.094428" x2="454.572991" y1="229.705624" y2="229.37389"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2f4_0" x1="454.094428" x2="454.572991" y1="229.705624" y2="229.37389"> + <stop offset="1" style="stop-color:#6eff88;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2f4_1" x1="443.672384" x2="443.842016" y1="213.648585" y2="213.540997"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2f4_1" x1="443.672384" x2="443.842016" y1="213.648585" y2="213.540997"> + <stop offset="1" style="stop-color:#6eff88;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2f4_2" x1="446.469997" x2="446.3447" y1="217.684445" y2="217.76577"> - <stop offset="0" style="stop-color:#7bff7b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#7bff7b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2f4_2" x1="446.469997" x2="446.3447" y1="217.684445" y2="217.76577"> + <stop offset="1" style="stop-color:#6eff88;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#7bff7b;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2f4" points="446.469997 217.684445 454.094428 229.705624 443.672384 213.648585"/> </defs> - <use fill="#6eff88" fill-opacity="1" xlink:href="#GT2f4"/> - <use fill="url(#GR2f4_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2f4"/> - <use fill="url(#GR2f4_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2f4"/> - <use fill="url(#GR2f4_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2f4"/> + <path d="M 446.469997,217.684445 L 454.094428,229.705624 443.672384,213.648585 Z" fill="#6eff88" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 446.469997,217.684445 L 454.094428,229.705624 443.672384,213.648585 Z" fill="url(#GR2f4_0)" shape-rendering="crispEdges"/> + <path d="M 446.469997,217.684445 L 454.094428,229.705624 443.672384,213.648585 Z" fill="url(#GR2f4_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 446.469997,217.684445 L 454.094428,229.705624 443.672384,213.648585 Z" fill="url(#GR2f4_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2f5_0" x1="443.672384" x2="443.842016" y1="213.648585" y2="213.540997"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2f5_0" x1="443.672384" x2="443.842016" y1="213.648585" y2="213.540997"> + <stop offset="1" style="stop-color:#5fff97;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2f5_1" x1="438.845566" x2="438.367003" y1="205.663265" y2="205.995"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2f5_1" x1="438.845566" x2="438.367003" y1="205.663265" y2="205.995"> + <stop offset="1" style="stop-color:#5fff97;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2f5_2" x1="446.469997" x2="446.207731" y1="217.684445" y2="217.842975"> - <stop offset="0" style="stop-color:#7bff7b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#7bff7b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2f5_2" x1="446.469997" x2="446.207731" y1="217.684445" y2="217.842975"> + <stop offset="1" style="stop-color:#5fff97;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#7bff7b;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2f5" points="446.469997 217.684445 443.672384 213.648585 438.845566 205.663265"/> </defs> - <use fill="#5fff97" fill-opacity="1" xlink:href="#GT2f5"/> - <use fill="url(#GR2f5_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2f5"/> - <use fill="url(#GR2f5_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2f5"/> - <use fill="url(#GR2f5_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2f5"/> + <path d="M 446.469997,217.684445 L 443.672384,213.648585 438.845566,205.663265 Z" fill="#5fff97" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 446.469997,217.684445 L 443.672384,213.648585 438.845566,205.663265 Z" fill="url(#GR2f5_0)" shape-rendering="crispEdges"/> + <path d="M 446.469997,217.684445 L 443.672384,213.648585 438.845566,205.663265 Z" fill="url(#GR2f5_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 446.469997,217.684445 L 443.672384,213.648585 438.845566,205.663265 Z" fill="url(#GR2f5_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2f6_0" x1="438.845566" x2="438.367003" y1="205.663265" y2="205.995"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2f6_0" x1="438.845566" x2="438.367003" y1="205.663265" y2="205.995"> + <stop offset="1" style="stop-color:#88ff6e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2f6_1" x1="449.26761" x2="449.097979" y1="221.720304" y2="221.827893"> - <stop offset="0" style="stop-color:#b7ff40;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b7ff40;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2f6_1" x1="449.26761" x2="449.097979" y1="221.720304" y2="221.827893"> + <stop offset="1" style="stop-color:#88ff6e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b7ff40;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2f6_2" x1="446.469997" x2="446.595294" y1="217.684445" y2="217.603119"> - <stop offset="0" style="stop-color:#7bff7b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#7bff7b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2f6_2" x1="446.469997" x2="446.595294" y1="217.684445" y2="217.603119"> + <stop offset="1" style="stop-color:#88ff6e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#7bff7b;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2f6" points="446.469997 217.684445 438.845566 205.663265 449.26761 221.720304"/> </defs> - <use fill="#88ff6e" fill-opacity="1" xlink:href="#GT2f6"/> - <use fill="url(#GR2f6_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2f6"/> - <use fill="url(#GR2f6_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2f6"/> - <use fill="url(#GR2f6_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2f6"/> + <path d="M 446.469997,217.684445 L 438.845566,205.663265 449.26761,221.720304 Z" fill="#88ff6e" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 446.469997,217.684445 L 438.845566,205.663265 449.26761,221.720304 Z" fill="url(#GR2f6_0)" shape-rendering="crispEdges"/> + <path d="M 446.469997,217.684445 L 438.845566,205.663265 449.26761,221.720304 Z" fill="url(#GR2f6_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 446.469997,217.684445 L 438.845566,205.663265 449.26761,221.720304 Z" fill="url(#GR2f6_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2f7_0" x1="449.26761" x2="449.097979" y1="221.720304" y2="221.827893"> - <stop offset="0" style="stop-color:#b7ff40;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b7ff40;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2f7_0" x1="449.26761" x2="449.097979" y1="221.720304" y2="221.827893"> + <stop offset="1" style="stop-color:#97ff5f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b7ff40;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2f7_1" x1="454.094428" x2="454.572991" y1="229.705624" y2="229.37389"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2f7_1" x1="454.094428" x2="454.572991" y1="229.705624" y2="229.37389"> + <stop offset="1" style="stop-color:#97ff5f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2f7_2" x1="446.469997" x2="446.732264" y1="217.684445" y2="217.525915"> - <stop offset="0" style="stop-color:#7bff7b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#7bff7b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2f7_2" x1="446.469997" x2="446.732264" y1="217.684445" y2="217.525915"> + <stop offset="1" style="stop-color:#97ff5f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#7bff7b;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2f7" points="446.469997 217.684445 449.26761 221.720304 454.094428 229.705624"/> </defs> - <use fill="#97ff5f" fill-opacity="1" xlink:href="#GT2f7"/> - <use fill="url(#GR2f7_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2f7"/> - <use fill="url(#GR2f7_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2f7"/> - <use fill="url(#GR2f7_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2f7"/> + <path d="M 446.469997,217.684445 L 449.26761,221.720304 454.094428,229.705624 Z" fill="#97ff5f" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 446.469997,217.684445 L 449.26761,221.720304 454.094428,229.705624 Z" fill="url(#GR2f7_0)" shape-rendering="crispEdges"/> + <path d="M 446.469997,217.684445 L 449.26761,221.720304 454.094428,229.705624 Z" fill="url(#GR2f7_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 446.469997,217.684445 L 449.26761,221.720304 454.094428,229.705624 Z" fill="url(#GR2f7_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2f8_0" x1="443.672384" x2="440.685364" y1="213.648585" y2="214.28592"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2f8_0" x1="443.672384" x2="440.685364" y1="213.648585" y2="214.28592"> + <stop offset="1" style="stop-color:#25f1d5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2f8_1" x1="436.264526" x2="435.133465" y1="193.566605" y2="194.05964"> - <stop offset="0" style="stop-color:#00dcfe;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00dcfe;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2f8_1" x1="436.264526" x2="435.133465" y1="193.566605" y2="194.05964"> + <stop offset="1" style="stop-color:#25f1d5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00dcfe;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2f8_2" x1="437.555046" x2="438.38298" y1="199.614935" y2="199.309526"> - <stop offset="0" style="stop-color:#33f6c6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#33f6c6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2f8_2" x1="437.555046" x2="438.38298" y1="199.614935" y2="199.309526"> + <stop offset="1" style="stop-color:#25f1d5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#33f6c6;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2f8" points="437.555046 199.614935 443.672384 213.648585 436.264526 193.566605"/> </defs> - <use fill="#25f1d5" fill-opacity="1" xlink:href="#GT2f8"/> - <use fill="url(#GR2f8_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2f8"/> - <use fill="url(#GR2f8_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2f8"/> - <use fill="url(#GR2f8_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2f8"/> + <path d="M 437.555046,199.614935 L 443.672384,213.648585 436.264526,193.566605 Z" fill="#25f1d5" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 437.555046,199.614935 L 443.672384,213.648585 436.264526,193.566605 Z" fill="url(#GR2f8_0)" shape-rendering="crispEdges"/> + <path d="M 437.555046,199.614935 L 443.672384,213.648585 436.264526,193.566605 Z" fill="url(#GR2f8_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 437.555046,199.614935 L 443.672384,213.648585 436.264526,193.566605 Z" fill="url(#GR2f8_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2f9_0" x1="436.264526" x2="435.133465" y1="193.566605" y2="194.05964"> - <stop offset="0" style="stop-color:#00dcfe;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00dcfe;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2f9_0" x1="436.264526" x2="435.133465" y1="193.566605" y2="194.05964"> + <stop offset="1" style="stop-color:#1ff1db;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00dcfe;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2f9_1" x1="431.437708" x2="434.424728" y1="185.581284" y2="184.94395"> - <stop offset="0" style="stop-color:#29ffce;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#29ffce;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2f9_1" x1="431.437708" x2="434.424728" y1="185.581284" y2="184.94395"> + <stop offset="1" style="stop-color:#1ff1db;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#29ffce;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2f9_2" x1="437.555046" x2="439.287512" y1="199.614935" y2="198.567726"> - <stop offset="0" style="stop-color:#33f6c6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#33f6c6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2f9_2" x1="437.555046" x2="439.287512" y1="199.614935" y2="198.567726"> + <stop offset="1" style="stop-color:#1ff1db;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#33f6c6;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2f9" points="437.555046 199.614935 436.264526 193.566605 431.437708 185.581284"/> </defs> - <use fill="#1ff1db" fill-opacity="1" xlink:href="#GT2f9"/> - <use fill="url(#GR2f9_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2f9"/> - <use fill="url(#GR2f9_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2f9"/> - <use fill="url(#GR2f9_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2f9"/> + <path d="M 437.555046,199.614935 L 436.264526,193.566605 431.437708,185.581284 Z" fill="#1ff1db" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 437.555046,199.614935 L 436.264526,193.566605 431.437708,185.581284 Z" fill="url(#GR2f9_0)" shape-rendering="crispEdges"/> + <path d="M 437.555046,199.614935 L 436.264526,193.566605 431.437708,185.581284 Z" fill="url(#GR2f9_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 437.555046,199.614935 L 436.264526,193.566605 431.437708,185.581284 Z" fill="url(#GR2f9_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2fa_0" x1="431.437708" x2="434.424728" y1="185.581284" y2="184.94395"> - <stop offset="0" style="stop-color:#29ffce;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#29ffce;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2fa_0" x1="431.437708" x2="434.424728" y1="185.581284" y2="184.94395"> + <stop offset="1" style="stop-color:#41fcb7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#29ffce;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2fa_1" x1="438.845566" x2="439.976627" y1="205.663265" y2="205.17023"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2fa_1" x1="438.845566" x2="439.976627" y1="205.663265" y2="205.17023"> + <stop offset="1" style="stop-color:#41fcb7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2fa_2" x1="437.555046" x2="436.727112" y1="199.614935" y2="199.920344"> - <stop offset="0" style="stop-color:#33f6c6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#33f6c6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2fa_2" x1="437.555046" x2="436.727112" y1="199.614935" y2="199.920344"> + <stop offset="1" style="stop-color:#41fcb7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#33f6c6;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2fa" points="437.555046 199.614935 431.437708 185.581284 438.845566 205.663265"/> </defs> - <use fill="#41fcb7" fill-opacity="1" xlink:href="#GT2fa"/> - <use fill="url(#GR2fa_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2fa"/> - <use fill="url(#GR2fa_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2fa"/> - <use fill="url(#GR2fa_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2fa"/> + <path d="M 437.555046,199.614935 L 431.437708,185.581284 438.845566,205.663265 Z" fill="#41fcb7" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 437.555046,199.614935 L 431.437708,185.581284 438.845566,205.663265 Z" fill="url(#GR2fa_0)" shape-rendering="crispEdges"/> + <path d="M 437.555046,199.614935 L 431.437708,185.581284 438.845566,205.663265 Z" fill="url(#GR2fa_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 437.555046,199.614935 L 431.437708,185.581284 438.845566,205.663265 Z" fill="url(#GR2fa_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2fb_0" x1="438.845566" x2="439.976627" y1="205.663265" y2="205.17023"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2fb_0" x1="438.845566" x2="439.976627" y1="205.663265" y2="205.17023"> + <stop offset="1" style="stop-color:#47fcb0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2fb_1" x1="443.672384" x2="440.685364" y1="213.648585" y2="214.28592"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2fb_1" x1="443.672384" x2="440.685364" y1="213.648585" y2="214.28592"> + <stop offset="1" style="stop-color:#47fcb0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2fb_2" x1="437.555046" x2="435.822581" y1="199.614935" y2="200.662144"> - <stop offset="0" style="stop-color:#33f6c6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#33f6c6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2fb_2" x1="437.555046" x2="435.822581" y1="199.614935" y2="200.662144"> + <stop offset="1" style="stop-color:#47fcb0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#33f6c6;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2fb" points="437.555046 199.614935 438.845566 205.663265 443.672384 213.648585"/> </defs> - <use fill="#47fcb0" fill-opacity="1" xlink:href="#GT2fb"/> - <use fill="url(#GR2fb_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2fb"/> - <use fill="url(#GR2fb_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2fb"/> - <use fill="url(#GR2fb_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2fb"/> + <path d="M 437.555046,199.614935 L 438.845566,205.663265 443.672384,213.648585 Z" fill="#47fcb0" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 437.555046,199.614935 L 438.845566,205.663265 443.672384,213.648585 Z" fill="url(#GR2fb_0)" shape-rendering="crispEdges"/> + <path d="M 437.555046,199.614935 L 438.845566,205.663265 443.672384,213.648585 Z" fill="url(#GR2fb_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 437.555046,199.614935 L 438.845566,205.663265 443.672384,213.648585 Z" fill="url(#GR2fb_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2fc_0" x1="436.264526" x2="430.926629" y1="193.566605" y2="193.208947"> - <stop offset="0" style="stop-color:#00dcfe;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00dcfe;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2fc_0" x1="436.264526" x2="430.926629" y1="193.566605" y2="193.208947"> + <stop offset="1" style="stop-color:#04cdf9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00dcfe;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2fc_1" x1="432.418446" x2="430.044891" y1="170.944147" y2="171.616708"> - <stop offset="0" style="stop-color:#00acff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00acff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2fc_1" x1="432.418446" x2="430.044891" y1="170.944147" y2="171.616708"> + <stop offset="1" style="stop-color:#04cdf9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00acff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2fc_2" x1="431.928077" x2="433.613959" y1="178.262716" y2="177.976096"> - <stop offset="0" style="stop-color:#0cddef;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0cddef;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2fc_2" x1="431.928077" x2="433.613959" y1="178.262716" y2="177.976096"> + <stop offset="1" style="stop-color:#04cdf9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0cddef;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2fc" points="431.928077 178.262716 436.264526 193.566605 432.418446 170.944147"/> </defs> - <use fill="#04cdf9" fill-opacity="1" xlink:href="#GT2fc"/> - <use fill="url(#GR2fc_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2fc"/> - <use fill="url(#GR2fc_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2fc"/> - <use fill="url(#GR2fc_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2fc"/> + <path d="M 431.928077,178.262716 L 436.264526,193.566605 432.418446,170.944147 Z" fill="#04cdf9" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 431.928077,178.262716 L 436.264526,193.566605 432.418446,170.944147 Z" fill="url(#GR2fc_0)" shape-rendering="crispEdges"/> + <path d="M 431.928077,178.262716 L 436.264526,193.566605 432.418446,170.944147 Z" fill="url(#GR2fc_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 431.928077,178.262716 L 436.264526,193.566605 432.418446,170.944147 Z" fill="url(#GR2fc_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2fd_0" x1="432.418446" x2="430.044891" y1="170.944147" y2="171.616708"> - <stop offset="0" style="stop-color:#00acff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00acff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2fd_0" x1="432.418446" x2="430.044891" y1="170.944147" y2="171.616708"> + <stop offset="1" style="stop-color:#06d2f5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00acff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2fd_1" x1="427.591628" x2="432.929525" y1="162.958827" y2="163.316484"> - <stop offset="0" style="stop-color:#06ecf1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06ecf1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2fd_1" x1="427.591628" x2="432.929525" y1="162.958827" y2="163.316484"> + <stop offset="1" style="stop-color:#06d2f5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06ecf1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2fd_2" x1="431.928077" x2="435.52721" y1="178.262716" y2="176.087178"> - <stop offset="0" style="stop-color:#0cddef;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0cddef;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2fd_2" x1="431.928077" x2="435.52721" y1="178.262716" y2="176.087178"> + <stop offset="1" style="stop-color:#06d2f5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0cddef;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2fd" points="431.928077 178.262716 432.418446 170.944147 427.591628 162.958827"/> </defs> - <use fill="#06d2f5" fill-opacity="1" xlink:href="#GT2fd"/> - <use fill="url(#GR2fd_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2fd"/> - <use fill="url(#GR2fd_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2fd"/> - <use fill="url(#GR2fd_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2fd"/> + <path d="M 431.928077,178.262716 L 432.418446,170.944147 427.591628,162.958827 Z" fill="#06d2f5" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 431.928077,178.262716 L 432.418446,170.944147 427.591628,162.958827 Z" fill="url(#GR2fd_0)" shape-rendering="crispEdges"/> + <path d="M 431.928077,178.262716 L 432.418446,170.944147 427.591628,162.958827 Z" fill="url(#GR2fd_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 431.928077,178.262716 L 432.418446,170.944147 427.591628,162.958827 Z" fill="url(#GR2fd_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2fe_0" x1="427.591628" x2="432.929525" y1="162.958827" y2="163.316484"> - <stop offset="0" style="stop-color:#06ecf1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06ecf1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2fe_0" x1="427.591628" x2="432.929525" y1="162.958827" y2="163.316484"> + <stop offset="1" style="stop-color:#13eee5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06ecf1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2fe_1" x1="431.437708" x2="433.811263" y1="185.581284" y2="184.908723"> - <stop offset="0" style="stop-color:#29ffce;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#29ffce;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2fe_1" x1="431.437708" x2="433.811263" y1="185.581284" y2="184.908723"> + <stop offset="1" style="stop-color:#13eee5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#29ffce;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2fe_2" x1="431.928077" x2="430.242195" y1="178.262716" y2="178.549335"> - <stop offset="0" style="stop-color:#0cddef;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0cddef;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2fe_2" x1="431.928077" x2="430.242195" y1="178.262716" y2="178.549335"> + <stop offset="1" style="stop-color:#13eee5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0cddef;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2fe" points="431.928077 178.262716 427.591628 162.958827 431.437708 185.581284"/> </defs> - <use fill="#13eee5" fill-opacity="1" xlink:href="#GT2fe"/> - <use fill="url(#GR2fe_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2fe"/> - <use fill="url(#GR2fe_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2fe"/> - <use fill="url(#GR2fe_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2fe"/> + <path d="M 431.928077,178.262716 L 427.591628,162.958827 431.437708,185.581284 Z" fill="#13eee5" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 431.928077,178.262716 L 427.591628,162.958827 431.437708,185.581284 Z" fill="url(#GR2fe_0)" shape-rendering="crispEdges"/> + <path d="M 431.928077,178.262716 L 427.591628,162.958827 431.437708,185.581284 Z" fill="url(#GR2fe_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 431.928077,178.262716 L 427.591628,162.958827 431.437708,185.581284 Z" fill="url(#GR2fe_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR2ff_0" x1="431.437708" x2="433.811263" y1="185.581284" y2="184.908723"> - <stop offset="0" style="stop-color:#29ffce;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#29ffce;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ff_0" x1="431.437708" x2="433.811263" y1="185.581284" y2="184.908723"> + <stop offset="1" style="stop-color:#12e8e9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#29ffce;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2ff_1" x1="436.264526" x2="430.926629" y1="193.566605" y2="193.208947"> - <stop offset="0" style="stop-color:#00dcfe;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00dcfe;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ff_1" x1="436.264526" x2="430.926629" y1="193.566605" y2="193.208947"> + <stop offset="1" style="stop-color:#12e8e9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00dcfe;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR2ff_2" x1="431.928077" x2="428.328944" y1="178.262716" y2="180.438253"> - <stop offset="0" style="stop-color:#0cddef;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0cddef;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR2ff_2" x1="431.928077" x2="428.328944" y1="178.262716" y2="180.438253"> + <stop offset="1" style="stop-color:#12e8e9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0cddef;stop-opacity:0;"/> </linearGradient> - <polygon id="GT2ff" points="431.928077 178.262716 431.437708 185.581284 436.264526 193.566605"/> </defs> - <use fill="#12e8e9" fill-opacity="1" xlink:href="#GT2ff"/> - <use fill="url(#GR2ff_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ff"/> - <use fill="url(#GR2ff_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ff"/> - <use fill="url(#GR2ff_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT2ff"/> + <path d="M 431.928077,178.262716 L 431.437708,185.581284 436.264526,193.566605 Z" fill="#12e8e9" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 431.928077,178.262716 L 431.437708,185.581284 436.264526,193.566605 Z" fill="url(#GR2ff_0)" shape-rendering="crispEdges"/> + <path d="M 431.928077,178.262716 L 431.437708,185.581284 436.264526,193.566605 Z" fill="url(#GR2ff_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 431.928077,178.262716 L 431.437708,185.581284 436.264526,193.566605 Z" fill="url(#GR2ff_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR300_0" x1="432.418446" x2="425.751842" y1="170.944147" y2="168.868833"> - <stop offset="0" style="stop-color:#00acff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00acff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR300_0" x1="432.418446" x2="425.751842" y1="170.944147" y2="168.868833"> + <stop offset="1" style="stop-color:#01b7fd;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00acff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR300_1" x1="432.418446" x2="428.898935" y1="147.45347" y2="147.993184"> - <stop offset="0" style="stop-color:#00acff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00acff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR300_1" x1="432.418446" x2="428.898935" y1="147.45347" y2="147.993184"> + <stop offset="1" style="stop-color:#01b7fd;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00acff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR300_2" x1="430.005037" x2="432.418446" y1="155.206148" y2="155.206148"> - <stop offset="0" style="stop-color:#03ccf8;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#03ccf8;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR300_2" x1="430.005037" x2="432.418446" y1="155.206148" y2="155.206148"> + <stop offset="1" style="stop-color:#01b7fd;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#03ccf8;stop-opacity:0;"/> </linearGradient> - <polygon id="GT300" points="430.005037 155.206148 432.418446 170.944147 432.418446 147.45347"/> </defs> - <use fill="#01b7fd" fill-opacity="1" xlink:href="#GT300"/> - <use fill="url(#GR300_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT300"/> - <use fill="url(#GR300_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT300"/> - <use fill="url(#GR300_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT300"/> + <path d="M 430.005037,155.206148 L 432.418446,170.944147 432.418446,147.45347 Z" fill="#01b7fd" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 430.005037,155.206148 L 432.418446,170.944147 432.418446,147.45347 Z" fill="url(#GR300_0)" shape-rendering="crispEdges"/> + <path d="M 430.005037,155.206148 L 432.418446,170.944147 432.418446,147.45347 Z" fill="url(#GR300_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 430.005037,155.206148 L 432.418446,170.944147 432.418446,147.45347 Z" fill="url(#GR300_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR301_0" x1="432.418446" x2="428.898935" y1="147.45347" y2="147.993184"> - <stop offset="0" style="stop-color:#00acff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00acff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR301_0" x1="432.418446" x2="428.898935" y1="147.45347" y2="147.993184"> + <stop offset="1" style="stop-color:#03cdf8;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00acff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR301_1" x1="427.591628" x2="434.258231" y1="139.46815" y2="141.543464"> - <stop offset="0" style="stop-color:#06ecf1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06ecf1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR301_1" x1="427.591628" x2="434.258231" y1="139.46815" y2="141.543464"> + <stop offset="1" style="stop-color:#03cdf8;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06ecf1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR301_2" x1="430.005037" x2="435.204788" y1="155.206148" y2="152.063099"> - <stop offset="0" style="stop-color:#03ccf8;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#03ccf8;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR301_2" x1="430.005037" x2="435.204788" y1="155.206148" y2="152.063099"> + <stop offset="1" style="stop-color:#03cdf8;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#03ccf8;stop-opacity:0;"/> </linearGradient> - <polygon id="GT301" points="430.005037 155.206148 432.418446 147.45347 427.591628 139.46815"/> </defs> - <use fill="#03cdf8" fill-opacity="1" xlink:href="#GT301"/> - <use fill="url(#GR301_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT301"/> - <use fill="url(#GR301_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT301"/> - <use fill="url(#GR301_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT301"/> + <path d="M 430.005037,155.206148 L 432.418446,147.45347 427.591628,139.46815 Z" fill="#03cdf8" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 430.005037,155.206148 L 432.418446,147.45347 427.591628,139.46815 Z" fill="url(#GR301_0)" shape-rendering="crispEdges"/> + <path d="M 430.005037,155.206148 L 432.418446,147.45347 427.591628,139.46815 Z" fill="url(#GR301_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 430.005037,155.206148 L 432.418446,147.45347 427.591628,139.46815 Z" fill="url(#GR301_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR302_0" x1="427.591628" x2="434.258231" y1="139.46815" y2="141.543464"> - <stop offset="0" style="stop-color:#06ecf1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06ecf1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR302_0" x1="427.591628" x2="434.258231" y1="139.46815" y2="141.543464"> + <stop offset="1" style="stop-color:#05e2f3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06ecf1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR302_1" x1="427.591628" x2="431.111139" y1="162.958827" y2="162.419112"> - <stop offset="0" style="stop-color:#06ecf1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06ecf1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR302_1" x1="427.591628" x2="431.111139" y1="162.958827" y2="162.419112"> + <stop offset="1" style="stop-color:#05e2f3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06ecf1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR302_2" x1="430.005037" x2="427.591628" y1="155.206148" y2="155.206148"> - <stop offset="0" style="stop-color:#03ccf8;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#03ccf8;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR302_2" x1="430.005037" x2="427.591628" y1="155.206148" y2="155.206148"> + <stop offset="1" style="stop-color:#05e2f3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#03ccf8;stop-opacity:0;"/> </linearGradient> - <polygon id="GT302" points="430.005037 155.206148 427.591628 139.46815 427.591628 162.958827"/> </defs> - <use fill="#05e2f3" fill-opacity="1" xlink:href="#GT302"/> - <use fill="url(#GR302_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT302"/> - <use fill="url(#GR302_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT302"/> - <use fill="url(#GR302_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT302"/> + <path d="M 430.005037,155.206148 L 427.591628,139.46815 427.591628,162.958827 Z" fill="#05e2f3" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 430.005037,155.206148 L 427.591628,139.46815 427.591628,162.958827 Z" fill="url(#GR302_0)" shape-rendering="crispEdges"/> + <path d="M 430.005037,155.206148 L 427.591628,139.46815 427.591628,162.958827 Z" fill="url(#GR302_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 430.005037,155.206148 L 427.591628,139.46815 427.591628,162.958827 Z" fill="url(#GR302_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR303_0" x1="427.591628" x2="431.111139" y1="162.958827" y2="162.419112"> - <stop offset="0" style="stop-color:#06ecf1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06ecf1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR303_0" x1="427.591628" x2="431.111139" y1="162.958827" y2="162.419112"> + <stop offset="1" style="stop-color:#03cdf8;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06ecf1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR303_1" x1="432.418446" x2="425.751842" y1="170.944147" y2="168.868833"> - <stop offset="0" style="stop-color:#00acff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00acff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR303_1" x1="432.418446" x2="425.751842" y1="170.944147" y2="168.868833"> + <stop offset="1" style="stop-color:#03cdf8;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00acff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR303_2" x1="430.005037" x2="424.805285" y1="155.206148" y2="158.349198"> - <stop offset="0" style="stop-color:#03ccf8;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#03ccf8;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR303_2" x1="430.005037" x2="424.805285" y1="155.206148" y2="158.349198"> + <stop offset="1" style="stop-color:#03cdf8;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#03ccf8;stop-opacity:0;"/> </linearGradient> - <polygon id="GT303" points="430.005037 155.206148 427.591628 162.958827 432.418446 170.944147"/> </defs> - <use fill="#03cdf8" fill-opacity="1" xlink:href="#GT303"/> - <use fill="url(#GR303_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT303"/> - <use fill="url(#GR303_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT303"/> - <use fill="url(#GR303_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT303"/> + <path d="M 430.005037,155.206148 L 427.591628,162.958827 432.418446,170.944147 Z" fill="#03cdf8" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 430.005037,155.206148 L 427.591628,162.958827 432.418446,170.944147 Z" fill="url(#GR303_0)" shape-rendering="crispEdges"/> + <path d="M 430.005037,155.206148 L 427.591628,162.958827 432.418446,170.944147 Z" fill="url(#GR303_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 430.005037,155.206148 L 427.591628,162.958827 432.418446,170.944147 Z" fill="url(#GR303_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR304_0" x1="432.418446" x2="425.3439" y1="147.45347" y2="143.261611"> - <stop offset="0" style="stop-color:#00acff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00acff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR304_0" x1="432.418446" x2="425.3439" y1="147.45347" y2="143.261611"> + <stop offset="1" style="stop-color:#04cdf9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00acff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR304_1" x1="436.264526" x2="431.698263" y1="124.831012" y2="124.977325"> - <stop offset="0" style="stop-color:#00dcfe;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00dcfe;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR304_1" x1="436.264526" x2="431.698263" y1="124.831012" y2="124.977325"> + <stop offset="1" style="stop-color:#04cdf9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00dcfe;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR304_2" x1="431.928077" x2="434.933418" y1="132.149581" y2="132.660524"> - <stop offset="0" style="stop-color:#0cddef;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0cddef;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR304_2" x1="431.928077" x2="434.933418" y1="132.149581" y2="132.660524"> + <stop offset="1" style="stop-color:#04cdf9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0cddef;stop-opacity:0;"/> </linearGradient> - <polygon id="GT304" points="431.928077 132.149581 432.418446 147.45347 436.264526 124.831012"/> </defs> - <use fill="#04cdf9" fill-opacity="1" xlink:href="#GT304"/> - <use fill="url(#GR304_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT304"/> - <use fill="url(#GR304_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT304"/> - <use fill="url(#GR304_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT304"/> + <path d="M 431.928077,132.149581 L 432.418446,147.45347 436.264526,124.831012 Z" fill="#04cdf9" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 431.928077,132.149581 L 432.418446,147.45347 436.264526,124.831012 Z" fill="url(#GR304_0)" shape-rendering="crispEdges"/> + <path d="M 431.928077,132.149581 L 432.418446,147.45347 436.264526,124.831012 Z" fill="url(#GR304_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 431.928077,132.149581 L 432.418446,147.45347 436.264526,124.831012 Z" fill="url(#GR304_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR305_0" x1="436.264526" x2="431.698263" y1="124.831012" y2="124.977325"> - <stop offset="0" style="stop-color:#00dcfe;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00dcfe;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR305_0" x1="436.264526" x2="431.698263" y1="124.831012" y2="124.977325"> + <stop offset="1" style="stop-color:#12e8e9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00dcfe;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR305_1" x1="431.437708" x2="438.512254" y1="116.845692" y2="121.037552"> - <stop offset="0" style="stop-color:#29ffce;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#29ffce;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR305_1" x1="431.437708" x2="438.512254" y1="116.845692" y2="121.037552"> + <stop offset="1" style="stop-color:#12e8e9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#29ffce;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR305_2" x1="431.928077" x2="438.34408" y1="132.149581" y2="128.271355"> - <stop offset="0" style="stop-color:#0cddef;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0cddef;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR305_2" x1="431.928077" x2="438.34408" y1="132.149581" y2="128.271355"> + <stop offset="1" style="stop-color:#12e8e9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0cddef;stop-opacity:0;"/> </linearGradient> - <polygon id="GT305" points="431.928077 132.149581 436.264526 124.831012 431.437708 116.845692"/> </defs> - <use fill="#12e8e9" fill-opacity="1" xlink:href="#GT305"/> - <use fill="url(#GR305_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT305"/> - <use fill="url(#GR305_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT305"/> - <use fill="url(#GR305_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT305"/> + <path d="M 431.928077,132.149581 L 436.264526,124.831012 431.437708,116.845692 Z" fill="#12e8e9" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 431.928077,132.149581 L 436.264526,124.831012 431.437708,116.845692 Z" fill="url(#GR305_0)" shape-rendering="crispEdges"/> + <path d="M 431.928077,132.149581 L 436.264526,124.831012 431.437708,116.845692 Z" fill="url(#GR305_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 431.928077,132.149581 L 436.264526,124.831012 431.437708,116.845692 Z" fill="url(#GR305_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR306_0" x1="431.437708" x2="438.512254" y1="116.845692" y2="121.037552"> - <stop offset="0" style="stop-color:#29ffce;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#29ffce;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR306_0" x1="431.437708" x2="438.512254" y1="116.845692" y2="121.037552"> + <stop offset="1" style="stop-color:#13eee5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#29ffce;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR306_1" x1="427.591628" x2="432.157891" y1="139.46815" y2="139.321837"> - <stop offset="0" style="stop-color:#06ecf1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06ecf1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR306_1" x1="427.591628" x2="432.157891" y1="139.46815" y2="139.321837"> + <stop offset="1" style="stop-color:#13eee5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06ecf1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR306_2" x1="431.928077" x2="428.922735" y1="132.149581" y2="131.638638"> - <stop offset="0" style="stop-color:#0cddef;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0cddef;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR306_2" x1="431.928077" x2="428.922735" y1="132.149581" y2="131.638638"> + <stop offset="1" style="stop-color:#13eee5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0cddef;stop-opacity:0;"/> </linearGradient> - <polygon id="GT306" points="431.928077 132.149581 431.437708 116.845692 427.591628 139.46815"/> </defs> - <use fill="#13eee5" fill-opacity="1" xlink:href="#GT306"/> - <use fill="url(#GR306_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT306"/> - <use fill="url(#GR306_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT306"/> - <use fill="url(#GR306_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT306"/> + <path d="M 431.928077,132.149581 L 431.437708,116.845692 427.591628,139.46815 Z" fill="#13eee5" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 431.928077,132.149581 L 431.437708,116.845692 427.591628,139.46815 Z" fill="url(#GR306_0)" shape-rendering="crispEdges"/> + <path d="M 431.928077,132.149581 L 431.437708,116.845692 427.591628,139.46815 Z" fill="url(#GR306_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 431.928077,132.149581 L 431.437708,116.845692 427.591628,139.46815 Z" fill="url(#GR306_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR307_0" x1="427.591628" x2="432.157891" y1="139.46815" y2="139.321837"> - <stop offset="0" style="stop-color:#06ecf1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06ecf1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR307_0" x1="427.591628" x2="432.157891" y1="139.46815" y2="139.321837"> + <stop offset="1" style="stop-color:#06d2f5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06ecf1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR307_1" x1="432.418446" x2="425.3439" y1="147.45347" y2="143.261611"> - <stop offset="0" style="stop-color:#00acff;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00acff;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR307_1" x1="432.418446" x2="425.3439" y1="147.45347" y2="143.261611"> + <stop offset="1" style="stop-color:#06d2f5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00acff;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR307_2" x1="431.928077" x2="425.512073" y1="132.149581" y2="136.027808"> - <stop offset="0" style="stop-color:#0cddef;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#0cddef;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR307_2" x1="431.928077" x2="425.512073" y1="132.149581" y2="136.027808"> + <stop offset="1" style="stop-color:#06d2f5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#0cddef;stop-opacity:0;"/> </linearGradient> - <polygon id="GT307" points="431.928077 132.149581 427.591628 139.46815 432.418446 147.45347"/> </defs> - <use fill="#06d2f5" fill-opacity="1" xlink:href="#GT307"/> - <use fill="url(#GR307_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT307"/> - <use fill="url(#GR307_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT307"/> - <use fill="url(#GR307_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT307"/> + <path d="M 431.928077,132.149581 L 427.591628,139.46815 432.418446,147.45347 Z" fill="#06d2f5" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 431.928077,132.149581 L 427.591628,139.46815 432.418446,147.45347 Z" fill="url(#GR307_0)" shape-rendering="crispEdges"/> + <path d="M 431.928077,132.149581 L 427.591628,139.46815 432.418446,147.45347 Z" fill="url(#GR307_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 431.928077,132.149581 L 427.591628,139.46815 432.418446,147.45347 Z" fill="url(#GR307_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR308_0" x1="436.264526" x2="429.886092" y1="124.831012" y2="118.379805"> - <stop offset="0" style="stop-color:#00dcfe;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00dcfe;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR308_0" x1="436.264526" x2="429.886092" y1="124.831012" y2="118.379805"> + <stop offset="1" style="stop-color:#25f1d5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00dcfe;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR308_1" x1="443.672384" x2="438.157877" y1="104.749031" y2="104.241923"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR308_1" x1="443.672384" x2="438.157877" y1="104.749031" y2="104.241923"> + <stop offset="1" style="stop-color:#25f1d5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR308_2" x1="437.555046" x2="440.975799" y1="110.797362" y2="112.059212"> - <stop offset="0" style="stop-color:#33f6c6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#33f6c6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR308_2" x1="437.555046" x2="440.975799" y1="110.797362" y2="112.059212"> + <stop offset="1" style="stop-color:#25f1d5;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#33f6c6;stop-opacity:0;"/> </linearGradient> - <polygon id="GT308" points="437.555046 110.797362 436.264526 124.831012 443.672384 104.749031"/> </defs> - <use fill="#25f1d5" fill-opacity="1" xlink:href="#GT308"/> - <use fill="url(#GR308_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT308"/> - <use fill="url(#GR308_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT308"/> - <use fill="url(#GR308_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT308"/> + <path d="M 437.555046,110.797362 L 436.264526,124.831012 443.672384,104.749031 Z" fill="#25f1d5" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 437.555046,110.797362 L 436.264526,124.831012 443.672384,104.749031 Z" fill="url(#GR308_0)" shape-rendering="crispEdges"/> + <path d="M 437.555046,110.797362 L 436.264526,124.831012 443.672384,104.749031 Z" fill="url(#GR308_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 437.555046,110.797362 L 436.264526,124.831012 443.672384,104.749031 Z" fill="url(#GR308_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR309_0" x1="443.672384" x2="438.157877" y1="104.749031" y2="104.241923"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR309_0" x1="443.672384" x2="438.157877" y1="104.749031" y2="104.241923"> + <stop offset="1" style="stop-color:#47fcb0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR309_1" x1="438.845566" x2="445.224" y1="96.763711" y2="103.214919"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR309_1" x1="438.845566" x2="445.224" y1="96.763711" y2="103.214919"> + <stop offset="1" style="stop-color:#47fcb0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR309_2" x1="437.555046" x2="444.713029" y1="110.797362" y2="106.470637"> - <stop offset="0" style="stop-color:#33f6c6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#33f6c6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR309_2" x1="437.555046" x2="444.713029" y1="110.797362" y2="106.470637"> + <stop offset="1" style="stop-color:#47fcb0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#33f6c6;stop-opacity:0;"/> </linearGradient> - <polygon id="GT309" points="437.555046 110.797362 443.672384 104.749031 438.845566 96.763711"/> </defs> - <use fill="#47fcb0" fill-opacity="1" xlink:href="#GT309"/> - <use fill="url(#GR309_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT309"/> - <use fill="url(#GR309_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT309"/> - <use fill="url(#GR309_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT309"/> + <path d="M 437.555046,110.797362 L 443.672384,104.749031 438.845566,96.763711 Z" fill="#47fcb0" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 437.555046,110.797362 L 443.672384,104.749031 438.845566,96.763711 Z" fill="url(#GR309_0)" shape-rendering="crispEdges"/> + <path d="M 437.555046,110.797362 L 443.672384,104.749031 438.845566,96.763711 Z" fill="url(#GR309_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 437.555046,110.797362 L 443.672384,104.749031 438.845566,96.763711 Z" fill="url(#GR309_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR30a_0" x1="438.845566" x2="445.224" y1="96.763711" y2="103.214919"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR30a_0" x1="438.845566" x2="445.224" y1="96.763711" y2="103.214919"> + <stop offset="1" style="stop-color:#41fcb7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR30a_1" x1="431.437708" x2="436.952215" y1="116.845692" y2="117.352801"> - <stop offset="0" style="stop-color:#29ffce;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#29ffce;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR30a_1" x1="431.437708" x2="436.952215" y1="116.845692" y2="117.352801"> + <stop offset="1" style="stop-color:#41fcb7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#29ffce;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR30a_2" x1="437.555046" x2="434.134294" y1="110.797362" y2="109.535512"> - <stop offset="0" style="stop-color:#33f6c6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#33f6c6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR30a_2" x1="437.555046" x2="434.134294" y1="110.797362" y2="109.535512"> + <stop offset="1" style="stop-color:#41fcb7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#33f6c6;stop-opacity:0;"/> </linearGradient> - <polygon id="GT30a" points="437.555046 110.797362 438.845566 96.763711 431.437708 116.845692"/> </defs> - <use fill="#41fcb7" fill-opacity="1" xlink:href="#GT30a"/> - <use fill="url(#GR30a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT30a"/> - <use fill="url(#GR30a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT30a"/> - <use fill="url(#GR30a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT30a"/> + <path d="M 437.555046,110.797362 L 438.845566,96.763711 431.437708,116.845692 Z" fill="#41fcb7" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 437.555046,110.797362 L 438.845566,96.763711 431.437708,116.845692 Z" fill="url(#GR30a_0)" shape-rendering="crispEdges"/> + <path d="M 437.555046,110.797362 L 438.845566,96.763711 431.437708,116.845692 Z" fill="url(#GR30a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 437.555046,110.797362 L 438.845566,96.763711 431.437708,116.845692 Z" fill="url(#GR30a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR30b_0" x1="431.437708" x2="436.952215" y1="116.845692" y2="117.352801"> - <stop offset="0" style="stop-color:#29ffce;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#29ffce;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR30b_0" x1="431.437708" x2="436.952215" y1="116.845692" y2="117.352801"> + <stop offset="1" style="stop-color:#1ff1db;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#29ffce;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR30b_1" x1="436.264526" x2="429.886092" y1="124.831012" y2="118.379805"> - <stop offset="0" style="stop-color:#00dcfe;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#00dcfe;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR30b_1" x1="436.264526" x2="429.886092" y1="124.831012" y2="118.379805"> + <stop offset="1" style="stop-color:#1ff1db;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#00dcfe;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR30b_2" x1="437.555046" x2="430.397064" y1="110.797362" y2="115.124086"> - <stop offset="0" style="stop-color:#33f6c6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#33f6c6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR30b_2" x1="437.555046" x2="430.397064" y1="110.797362" y2="115.124086"> + <stop offset="1" style="stop-color:#1ff1db;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#33f6c6;stop-opacity:0;"/> </linearGradient> - <polygon id="GT30b" points="437.555046 110.797362 431.437708 116.845692 436.264526 124.831012"/> </defs> - <use fill="#1ff1db" fill-opacity="1" xlink:href="#GT30b"/> - <use fill="url(#GR30b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT30b"/> - <use fill="url(#GR30b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT30b"/> - <use fill="url(#GR30b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT30b"/> + <path d="M 437.555046,110.797362 L 431.437708,116.845692 436.264526,124.831012 Z" fill="#1ff1db" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 437.555046,110.797362 L 431.437708,116.845692 436.264526,124.831012 Z" fill="url(#GR30b_0)" shape-rendering="crispEdges"/> + <path d="M 437.555046,110.797362 L 431.437708,116.845692 436.264526,124.831012 Z" fill="url(#GR30b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 437.555046,110.797362 L 431.437708,116.845692 436.264526,124.831012 Z" fill="url(#GR30b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR30c_0" x1="443.672384" x2="439.31419" y1="104.749031" y2="96.515654"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR30c_0" x1="443.672384" x2="439.31419" y1="104.749031" y2="96.515654"> + <stop offset="1" style="stop-color:#6eff88;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR30c_1" x1="454.094428" x2="447.752707" y1="88.691993" y2="87.216124"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR30c_1" x1="454.094428" x2="447.752707" y1="88.691993" y2="87.216124"> + <stop offset="1" style="stop-color:#6eff88;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR30c_2" x1="446.469997" x2="449.991391" y1="92.727852" y2="95.013462"> - <stop offset="0" style="stop-color:#7bff7b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#7bff7b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR30c_2" x1="446.469997" x2="449.991391" y1="92.727852" y2="95.013462"> + <stop offset="1" style="stop-color:#6eff88;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#7bff7b;stop-opacity:0;"/> </linearGradient> - <polygon id="GT30c" points="446.469997 92.727852 443.672384 104.749031 454.094428 88.691993"/> </defs> - <use fill="#6eff88" fill-opacity="1" xlink:href="#GT30c"/> - <use fill="url(#GR30c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT30c"/> - <use fill="url(#GR30c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT30c"/> - <use fill="url(#GR30c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT30c"/> + <path d="M 446.469997,92.727852 L 443.672384,104.749031 454.094428,88.691993 Z" fill="#6eff88" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 446.469997,92.727852 L 443.672384,104.749031 454.094428,88.691993 Z" fill="url(#GR30c_0)" shape-rendering="crispEdges"/> + <path d="M 446.469997,92.727852 L 443.672384,104.749031 454.094428,88.691993 Z" fill="url(#GR30c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 446.469997,92.727852 L 443.672384,104.749031 454.094428,88.691993 Z" fill="url(#GR30c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR30d_0" x1="454.094428" x2="447.752707" y1="88.691993" y2="87.216124"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR30d_0" x1="454.094428" x2="447.752707" y1="88.691993" y2="87.216124"> + <stop offset="1" style="stop-color:#97ff5f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR30d_1" x1="449.26761" x2="453.625805" y1="80.706673" y2="88.940051"> - <stop offset="0" style="stop-color:#b7ff40;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b7ff40;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR30d_1" x1="449.26761" x2="453.625805" y1="80.706673" y2="88.940051"> + <stop offset="1" style="stop-color:#97ff5f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b7ff40;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR30d_2" x1="446.469997" x2="453.840839" y1="92.727852" y2="88.272463"> - <stop offset="0" style="stop-color:#7bff7b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#7bff7b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR30d_2" x1="446.469997" x2="453.840839" y1="92.727852" y2="88.272463"> + <stop offset="1" style="stop-color:#97ff5f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#7bff7b;stop-opacity:0;"/> </linearGradient> - <polygon id="GT30d" points="446.469997 92.727852 454.094428 88.691993 449.26761 80.706673"/> </defs> - <use fill="#97ff5f" fill-opacity="1" xlink:href="#GT30d"/> - <use fill="url(#GR30d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT30d"/> - <use fill="url(#GR30d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT30d"/> - <use fill="url(#GR30d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT30d"/> + <path d="M 446.469997,92.727852 L 454.094428,88.691993 449.26761,80.706673 Z" fill="#97ff5f" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 446.469997,92.727852 L 454.094428,88.691993 449.26761,80.706673 Z" fill="url(#GR30d_0)" shape-rendering="crispEdges"/> + <path d="M 446.469997,92.727852 L 454.094428,88.691993 449.26761,80.706673 Z" fill="url(#GR30d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 446.469997,92.727852 L 454.094428,88.691993 449.26761,80.706673 Z" fill="url(#GR30d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR30e_0" x1="449.26761" x2="453.625805" y1="80.706673" y2="88.940051"> - <stop offset="0" style="stop-color:#b7ff40;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b7ff40;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR30e_0" x1="449.26761" x2="453.625805" y1="80.706673" y2="88.940051"> + <stop offset="1" style="stop-color:#88ff6e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b7ff40;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR30e_1" x1="438.845566" x2="445.187288" y1="96.763711" y2="98.23958"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR30e_1" x1="438.845566" x2="445.187288" y1="96.763711" y2="98.23958"> + <stop offset="1" style="stop-color:#88ff6e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR30e_2" x1="446.469997" x2="442.948603" y1="92.727852" y2="90.442242"> - <stop offset="0" style="stop-color:#7bff7b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#7bff7b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR30e_2" x1="446.469997" x2="442.948603" y1="92.727852" y2="90.442242"> + <stop offset="1" style="stop-color:#88ff6e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#7bff7b;stop-opacity:0;"/> </linearGradient> - <polygon id="GT30e" points="446.469997 92.727852 449.26761 80.706673 438.845566 96.763711"/> </defs> - <use fill="#88ff6e" fill-opacity="1" xlink:href="#GT30e"/> - <use fill="url(#GR30e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT30e"/> - <use fill="url(#GR30e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT30e"/> - <use fill="url(#GR30e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT30e"/> + <path d="M 446.469997,92.727852 L 449.26761,80.706673 438.845566,96.763711 Z" fill="#88ff6e" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 446.469997,92.727852 L 449.26761,80.706673 438.845566,96.763711 Z" fill="url(#GR30e_0)" shape-rendering="crispEdges"/> + <path d="M 446.469997,92.727852 L 449.26761,80.706673 438.845566,96.763711 Z" fill="url(#GR30e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 446.469997,92.727852 L 449.26761,80.706673 438.845566,96.763711 Z" fill="url(#GR30e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR30f_0" x1="438.845566" x2="445.187288" y1="96.763711" y2="98.23958"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR30f_0" x1="438.845566" x2="445.187288" y1="96.763711" y2="98.23958"> + <stop offset="1" style="stop-color:#5fff97;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR30f_1" x1="443.672384" x2="439.31419" y1="104.749031" y2="96.515654"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR30f_1" x1="443.672384" x2="439.31419" y1="104.749031" y2="96.515654"> + <stop offset="1" style="stop-color:#5fff97;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR30f_2" x1="446.469997" x2="439.099156" y1="92.727852" y2="97.183242"> - <stop offset="0" style="stop-color:#7bff7b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#7bff7b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR30f_2" x1="446.469997" x2="439.099156" y1="92.727852" y2="97.183242"> + <stop offset="1" style="stop-color:#5fff97;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#7bff7b;stop-opacity:0;"/> </linearGradient> - <polygon id="GT30f" points="446.469997 92.727852 438.845566 96.763711 443.672384 104.749031"/> </defs> - <use fill="#5fff97" fill-opacity="1" xlink:href="#GT30f"/> - <use fill="url(#GR30f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT30f"/> - <use fill="url(#GR30f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT30f"/> - <use fill="url(#GR30f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT30f"/> + <path d="M 446.469997,92.727852 L 438.845566,96.763711 443.672384,104.749031 Z" fill="#5fff97" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 446.469997,92.727852 L 438.845566,96.763711 443.672384,104.749031 Z" fill="url(#GR30f_0)" shape-rendering="crispEdges"/> + <path d="M 446.469997,92.727852 L 438.845566,96.763711 443.672384,104.749031 Z" fill="url(#GR30f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 446.469997,92.727852 L 438.845566,96.763711 443.672384,104.749031 Z" fill="url(#GR30f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR310_0" x1="454.094428" x2="452.697257" y1="88.691993" y2="80.145967"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR310_0" x1="454.094428" x2="452.697257" y1="88.691993" y2="80.145967"> + <stop offset="1" style="stop-color:#c8f930;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR310_1" x1="466.760259" x2="459.81314" y1="77.846837" y2="74.954794"> - <stop offset="0" style="stop-color:#f4f802;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f4f802;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR310_1" x1="466.760259" x2="459.81314" y1="77.846837" y2="74.954794"> + <stop offset="1" style="stop-color:#c8f930;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f4f802;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR310_2" x1="458.013935" x2="461.00739" y1="79.276755" y2="82.772749"> - <stop offset="0" style="stop-color:#cff329;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#cff329;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR310_2" x1="458.013935" x2="461.00739" y1="79.276755" y2="82.772749"> + <stop offset="1" style="stop-color:#c8f930;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#cff329;stop-opacity:0;"/> </linearGradient> - <polygon id="GT310" points="458.013935 79.276755 454.094428 88.691993 466.760259 77.846837"/> </defs> - <use fill="#c8f930" fill-opacity="1" xlink:href="#GT310"/> - <use fill="url(#GR310_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT310"/> - <use fill="url(#GR310_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT310"/> - <use fill="url(#GR310_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT310"/> + <path d="M 458.013935,79.276755 L 454.094428,88.691993 466.760259,77.846837 Z" fill="#c8f930" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 458.013935,79.276755 L 454.094428,88.691993 466.760259,77.846837 Z" fill="url(#GR310_0)" shape-rendering="crispEdges"/> + <path d="M 458.013935,79.276755 L 454.094428,88.691993 466.760259,77.846837 Z" fill="url(#GR310_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 458.013935,79.276755 L 454.094428,88.691993 466.760259,77.846837 Z" fill="url(#GR310_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR311_0" x1="466.760259" x2="459.81314" y1="77.846837" y2="74.954794"> - <stop offset="0" style="stop-color:#f4f802;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f4f802;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR311_0" x1="466.760259" x2="459.81314" y1="77.846837" y2="74.954794"> + <stop offset="1" style="stop-color:#ecec0f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f4f802;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR311_1" x1="461.933441" x2="463.330612" y1="69.861517" y2="78.407543"> - <stop offset="0" style="stop-color:#ffd700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR311_1" x1="461.933441" x2="463.330612" y1="69.861517" y2="78.407543"> + <stop offset="1" style="stop-color:#ecec0f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR311_2" x1="458.013935" x2="465.05278" y1="79.276755" y2="75.022044"> - <stop offset="0" style="stop-color:#cff329;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#cff329;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR311_2" x1="458.013935" x2="465.05278" y1="79.276755" y2="75.022044"> + <stop offset="1" style="stop-color:#ecec0f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#cff329;stop-opacity:0;"/> </linearGradient> - <polygon id="GT311" points="458.013935 79.276755 466.760259 77.846837 461.933441 69.861517"/> </defs> - <use fill="#ecec0f" fill-opacity="1" xlink:href="#GT311"/> - <use fill="url(#GR311_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT311"/> - <use fill="url(#GR311_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT311"/> - <use fill="url(#GR311_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT311"/> + <path d="M 458.013935,79.276755 L 466.760259,77.846837 461.933441,69.861517 Z" fill="#ecec0f" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 458.013935,79.276755 L 466.760259,77.846837 461.933441,69.861517 Z" fill="url(#GR311_0)" shape-rendering="crispEdges"/> + <path d="M 458.013935,79.276755 L 466.760259,77.846837 461.933441,69.861517 Z" fill="url(#GR311_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 458.013935,79.276755 L 466.760259,77.846837 461.933441,69.861517 Z" fill="url(#GR311_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR312_0" x1="461.933441" x2="463.330612" y1="69.861517" y2="78.407543"> - <stop offset="0" style="stop-color:#ffd700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR312_0" x1="461.933441" x2="463.330612" y1="69.861517" y2="78.407543"> + <stop offset="1" style="stop-color:#d7ee23;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR312_1" x1="449.26761" x2="456.214729" y1="80.706673" y2="83.598716"> - <stop offset="0" style="stop-color:#b7ff40;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b7ff40;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR312_1" x1="449.26761" x2="456.214729" y1="80.706673" y2="83.598716"> + <stop offset="1" style="stop-color:#d7ee23;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b7ff40;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR312_2" x1="458.013935" x2="455.020479" y1="79.276755" y2="75.780761"> - <stop offset="0" style="stop-color:#cff329;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#cff329;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR312_2" x1="458.013935" x2="455.020479" y1="79.276755" y2="75.780761"> + <stop offset="1" style="stop-color:#d7ee23;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#cff329;stop-opacity:0;"/> </linearGradient> - <polygon id="GT312" points="458.013935 79.276755 461.933441 69.861517 449.26761 80.706673"/> </defs> - <use fill="#d7ee23" fill-opacity="1" xlink:href="#GT312"/> - <use fill="url(#GR312_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT312"/> - <use fill="url(#GR312_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT312"/> - <use fill="url(#GR312_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT312"/> + <path d="M 458.013935,79.276755 L 461.933441,69.861517 449.26761,80.706673 Z" fill="#d7ee23" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 458.013935,79.276755 L 461.933441,69.861517 449.26761,80.706673 Z" fill="url(#GR312_0)" shape-rendering="crispEdges"/> + <path d="M 458.013935,79.276755 L 461.933441,69.861517 449.26761,80.706673 Z" fill="url(#GR312_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 458.013935,79.276755 L 461.933441,69.861517 449.26761,80.706673 Z" fill="url(#GR312_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR313_0" x1="449.26761" x2="456.214729" y1="80.706673" y2="83.598716"> - <stop offset="0" style="stop-color:#b7ff40;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b7ff40;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR313_0" x1="449.26761" x2="456.214729" y1="80.706673" y2="83.598716"> + <stop offset="1" style="stop-color:#b3fb44;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b7ff40;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR313_1" x1="454.094428" x2="452.697257" y1="88.691993" y2="80.145967"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR313_1" x1="454.094428" x2="452.697257" y1="88.691993" y2="80.145967"> + <stop offset="1" style="stop-color:#b3fb44;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR313_2" x1="458.013935" x2="450.975089" y1="79.276755" y2="83.531466"> - <stop offset="0" style="stop-color:#cff329;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#cff329;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR313_2" x1="458.013935" x2="450.975089" y1="79.276755" y2="83.531466"> + <stop offset="1" style="stop-color:#b3fb44;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#cff329;stop-opacity:0;"/> </linearGradient> - <polygon id="GT313" points="458.013935 79.276755 449.26761 80.706673 454.094428 88.691993"/> </defs> - <use fill="#b3fb44" fill-opacity="1" xlink:href="#GT313"/> - <use fill="url(#GR313_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT313"/> - <use fill="url(#GR313_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT313"/> - <use fill="url(#GR313_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT313"/> + <path d="M 458.013935,79.276755 L 449.26761,80.706673 454.094428,88.691993 Z" fill="#b3fb44" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 458.013935,79.276755 L 449.26761,80.706673 454.094428,88.691993 Z" fill="url(#GR313_0)" shape-rendering="crispEdges"/> + <path d="M 458.013935,79.276755 L 449.26761,80.706673 454.094428,88.691993 Z" fill="url(#GR313_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 458.013935,79.276755 L 449.26761,80.706673 454.094428,88.691993 Z" fill="url(#GR313_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR314_0" x1="466.760259" x2="467.931023" y1="77.846837" y2="70.86761"> - <stop offset="0" style="stop-color:#f4f802;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f4f802;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR314_0" x1="466.760259" x2="467.931023" y1="77.846837" y2="70.86761"> + <stop offset="1" style="stop-color:#fbba01;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f4f802;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR314_1" x1="480.733614" x2="473.75978" y1="73.015242" y2="68.038504"> - <stop offset="0" style="stop-color:#ff8600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR314_1" x1="480.733614" x2="473.75978" y1="73.015242" y2="68.038504"> + <stop offset="1" style="stop-color:#fbba01;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR314_2" x1="471.333527" x2="472.824377" y1="71.438379" y2="75.750035"> - <stop offset="0" style="stop-color:#fcaf01;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fcaf01;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR314_2" x1="471.333527" x2="472.824377" y1="71.438379" y2="75.750035"> + <stop offset="1" style="stop-color:#fbba01;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fcaf01;stop-opacity:0;"/> </linearGradient> - <polygon id="GT314" points="471.333527 71.438379 466.760259 77.846837 480.733614 73.015242"/> </defs> - <use fill="#fbba01" fill-opacity="1" xlink:href="#GT314"/> - <use fill="url(#GR314_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT314"/> - <use fill="url(#GR314_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT314"/> - <use fill="url(#GR314_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT314"/> + <path d="M 471.333527,71.438379 L 466.760259,77.846837 480.733614,73.015242 Z" fill="#fbba01" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 471.333527,71.438379 L 466.760259,77.846837 480.733614,73.015242 Z" fill="url(#GR314_0)" shape-rendering="crispEdges"/> + <path d="M 471.333527,71.438379 L 466.760259,77.846837 480.733614,73.015242 Z" fill="url(#GR314_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 471.333527,71.438379 L 466.760259,77.846837 480.733614,73.015242 Z" fill="url(#GR314_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR315_0" x1="480.733614" x2="473.75978" y1="73.015242" y2="68.038504"> - <stop offset="0" style="stop-color:#ff8600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR315_0" x1="480.733614" x2="473.75978" y1="73.015242" y2="68.038504"> + <stop offset="1" style="stop-color:#fe8a00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR315_1" x1="475.906795" x2="474.736032" y1="65.029921" y2="72.009149"> - <stop offset="0" style="stop-color:#ff6800;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6800;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR315_1" x1="475.906795" x2="474.736032" y1="65.029921" y2="72.009149"> + <stop offset="1" style="stop-color:#fe8a00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6800;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR315_2" x1="471.333527" x2="477.520064" y1="71.438379" y2="67.698857"> - <stop offset="0" style="stop-color:#fcaf01;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fcaf01;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR315_2" x1="471.333527" x2="477.520064" y1="71.438379" y2="67.698857"> + <stop offset="1" style="stop-color:#fe8a00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fcaf01;stop-opacity:0;"/> </linearGradient> - <polygon id="GT315" points="471.333527 71.438379 480.733614 73.015242 475.906795 65.029921"/> </defs> - <use fill="#fe8a00" fill-opacity="1" xlink:href="#GT315"/> - <use fill="url(#GR315_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT315"/> - <use fill="url(#GR315_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT315"/> - <use fill="url(#GR315_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT315"/> + <path d="M 471.333527,71.438379 L 480.733614,73.015242 475.906795,65.029921 Z" fill="#fe8a00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 471.333527,71.438379 L 480.733614,73.015242 475.906795,65.029921 Z" fill="url(#GR315_0)" shape-rendering="crispEdges"/> + <path d="M 471.333527,71.438379 L 480.733614,73.015242 475.906795,65.029921 Z" fill="url(#GR315_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 471.333527,71.438379 L 480.733614,73.015242 475.906795,65.029921 Z" fill="url(#GR315_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR316_0" x1="475.906795" x2="474.736032" y1="65.029921" y2="72.009149"> - <stop offset="0" style="stop-color:#ff6800;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6800;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR316_0" x1="475.906795" x2="474.736032" y1="65.029921" y2="72.009149"> + <stop offset="1" style="stop-color:#fea500;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6800;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR316_1" x1="461.933441" x2="468.907274" y1="69.861517" y2="74.838254"> - <stop offset="0" style="stop-color:#ffd700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR316_1" x1="461.933441" x2="468.907274" y1="69.861517" y2="74.838254"> + <stop offset="1" style="stop-color:#fea500;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR316_2" x1="471.333527" x2="469.842677" y1="71.438379" y2="67.126724"> - <stop offset="0" style="stop-color:#fcaf01;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fcaf01;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR316_2" x1="471.333527" x2="469.842677" y1="71.438379" y2="67.126724"> + <stop offset="1" style="stop-color:#fea500;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fcaf01;stop-opacity:0;"/> </linearGradient> - <polygon id="GT316" points="471.333527 71.438379 475.906795 65.029921 461.933441 69.861517"/> </defs> - <use fill="#fea500" fill-opacity="1" xlink:href="#GT316"/> - <use fill="url(#GR316_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT316"/> - <use fill="url(#GR316_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT316"/> - <use fill="url(#GR316_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT316"/> + <path d="M 471.333527,71.438379 L 475.906795,65.029921 461.933441,69.861517 Z" fill="#fea500" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 471.333527,71.438379 L 475.906795,65.029921 461.933441,69.861517 Z" fill="url(#GR316_0)" shape-rendering="crispEdges"/> + <path d="M 471.333527,71.438379 L 475.906795,65.029921 461.933441,69.861517 Z" fill="url(#GR316_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 471.333527,71.438379 L 475.906795,65.029921 461.933441,69.861517 Z" fill="url(#GR316_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR317_0" x1="461.933441" x2="468.907274" y1="69.861517" y2="74.838254"> - <stop offset="0" style="stop-color:#ffd700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR317_0" x1="461.933441" x2="468.907274" y1="69.861517" y2="74.838254"> + <stop offset="1" style="stop-color:#fbd501;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR317_1" x1="466.760259" x2="467.931023" y1="77.846837" y2="70.86761"> - <stop offset="0" style="stop-color:#f4f802;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f4f802;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR317_1" x1="466.760259" x2="467.931023" y1="77.846837" y2="70.86761"> + <stop offset="1" style="stop-color:#fbd501;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f4f802;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR317_2" x1="471.333527" x2="465.146991" y1="71.438379" y2="75.177902"> - <stop offset="0" style="stop-color:#fcaf01;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fcaf01;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR317_2" x1="471.333527" x2="465.146991" y1="71.438379" y2="75.177902"> + <stop offset="1" style="stop-color:#fbd501;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fcaf01;stop-opacity:0;"/> </linearGradient> - <polygon id="GT317" points="471.333527 71.438379 461.933441 69.861517 466.760259 77.846837"/> </defs> - <use fill="#fbd501" fill-opacity="1" xlink:href="#GT317"/> - <use fill="url(#GR317_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT317"/> - <use fill="url(#GR317_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT317"/> - <use fill="url(#GR317_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT317"/> + <path d="M 471.333527,71.438379 L 461.933441,69.861517 466.760259,77.846837 Z" fill="#fbd501" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 471.333527,71.438379 L 461.933441,69.861517 466.760259,77.846837 Z" fill="url(#GR317_0)" shape-rendering="crispEdges"/> + <path d="M 471.333527,71.438379 L 461.933441,69.861517 466.760259,77.846837 Z" fill="url(#GR317_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 471.333527,71.438379 L 461.933441,69.861517 466.760259,77.846837 Z" fill="url(#GR317_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR318_0" x1="475.906795" x2="474.049849" y1="237.397055" y2="229.658138"> - <stop offset="0" style="stop-color:#ff6800;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6800;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR318_0" x1="475.906795" x2="474.049849" y1="237.397055" y2="229.658138"> + <stop offset="1" style="stop-color:#ff9a00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6800;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR318_1" x1="461.933441" x2="463.531982" y1="232.56546" y2="229.919862"> - <stop offset="0" style="stop-color:#ffd700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR318_1" x1="461.933441" x2="463.531982" y1="232.56546" y2="229.919862"> + <stop offset="1" style="stop-color:#ff9a00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR318_2" x1="466.211553" x2="465.437651" y1="231.53893" y2="233.777117"> - <stop offset="0" style="stop-color:#ff8e00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8e00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR318_2" x1="466.211553" x2="465.437651" y1="231.53893" y2="233.777117"> + <stop offset="1" style="stop-color:#ff9a00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8e00;stop-opacity:0;"/> </linearGradient> - <polygon id="GT318" points="466.211553 231.53893 475.906795 237.397055 461.933441 232.56546"/> </defs> - <use fill="#ff9a00" fill-opacity="1" xlink:href="#GT318"/> - <use fill="url(#GR318_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT318"/> - <use fill="url(#GR318_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT318"/> - <use fill="url(#GR318_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT318"/> + <path d="M 466.211553,231.53893 L 475.906795,237.397055 461.933441,232.56546 Z" fill="#ff9a00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 466.211553,231.53893 L 475.906795,237.397055 461.933441,232.56546 Z" fill="url(#GR318_0)" shape-rendering="crispEdges"/> + <path d="M 466.211553,231.53893 L 475.906795,237.397055 461.933441,232.56546 Z" fill="url(#GR318_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 466.211553,231.53893 L 475.906795,237.397055 461.933441,232.56546 Z" fill="url(#GR318_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR319_0" x1="461.933441" x2="463.531982" y1="232.56546" y2="229.919862"> - <stop offset="0" style="stop-color:#ffd700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR319_0" x1="461.933441" x2="463.531982" y1="232.56546" y2="229.919862"> + <stop offset="1" style="stop-color:#ffb200;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR319_1" x1="456.516311" x2="458.373257" y1="225.680806" y2="233.419722"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR319_1" x1="456.516311" x2="458.373257" y1="225.680806" y2="233.419722"> + <stop offset="1" style="stop-color:#ffb200;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR319_2" x1="466.211553" x2="463.070445" y1="231.53893" y2="234.010484"> - <stop offset="0" style="stop-color:#ff8e00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8e00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR319_2" x1="466.211553" x2="463.070445" y1="231.53893" y2="234.010484"> + <stop offset="1" style="stop-color:#ffb200;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8e00;stop-opacity:0;"/> </linearGradient> - <polygon id="GT319" points="466.211553 231.53893 461.933441 232.56546 456.516311 225.680806"/> </defs> - <use fill="#ffb200" fill-opacity="1" xlink:href="#GT319"/> - <use fill="url(#GR319_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT319"/> - <use fill="url(#GR319_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT319"/> - <use fill="url(#GR319_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT319"/> + <path d="M 466.211553,231.53893 L 461.933441,232.56546 456.516311,225.680806 Z" fill="#ffb200" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 466.211553,231.53893 L 461.933441,232.56546 456.516311,225.680806 Z" fill="url(#GR319_0)" shape-rendering="crispEdges"/> + <path d="M 466.211553,231.53893 L 461.933441,232.56546 456.516311,225.680806 Z" fill="url(#GR319_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 466.211553,231.53893 L 461.933441,232.56546 456.516311,225.680806 Z" fill="url(#GR319_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR31a_0" x1="456.516311" x2="458.373257" y1="225.680806" y2="233.419722"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR31a_0" x1="456.516311" x2="458.373257" y1="225.680806" y2="233.419722"> + <stop offset="1" style="stop-color:#ff8200;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR31a_1" x1="470.489665" x2="468.891124" y1="230.512401" y2="233.157999"> - <stop offset="0" style="stop-color:#ff4700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff4700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR31a_1" x1="470.489665" x2="468.891124" y1="230.512401" y2="233.157999"> + <stop offset="1" style="stop-color:#ff8200;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff4700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR31a_2" x1="466.211553" x2="466.985456" y1="231.53893" y2="229.300743"> - <stop offset="0" style="stop-color:#ff8e00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8e00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR31a_2" x1="466.211553" x2="466.985456" y1="231.53893" y2="229.300743"> + <stop offset="1" style="stop-color:#ff8200;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8e00;stop-opacity:0;"/> </linearGradient> - <polygon id="GT31a" points="466.211553 231.53893 456.516311 225.680806 470.489665 230.512401"/> </defs> - <use fill="#ff8200" fill-opacity="1" xlink:href="#GT31a"/> - <use fill="url(#GR31a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT31a"/> - <use fill="url(#GR31a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT31a"/> - <use fill="url(#GR31a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT31a"/> + <path d="M 466.211553,231.53893 L 456.516311,225.680806 470.489665,230.512401 Z" fill="#ff8200" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 466.211553,231.53893 L 456.516311,225.680806 470.489665,230.512401 Z" fill="url(#GR31a_0)" shape-rendering="crispEdges"/> + <path d="M 466.211553,231.53893 L 456.516311,225.680806 470.489665,230.512401 Z" fill="url(#GR31a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 466.211553,231.53893 L 456.516311,225.680806 470.489665,230.512401 Z" fill="url(#GR31a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR31b_0" x1="470.489665" x2="468.891124" y1="230.512401" y2="233.157999"> - <stop offset="0" style="stop-color:#ff4700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff4700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR31b_0" x1="470.489665" x2="468.891124" y1="230.512401" y2="233.157999"> + <stop offset="1" style="stop-color:#ff6900;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff4700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR31b_1" x1="475.906795" x2="474.049849" y1="237.397055" y2="229.658138"> - <stop offset="0" style="stop-color:#ff6800;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6800;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR31b_1" x1="475.906795" x2="474.049849" y1="237.397055" y2="229.658138"> + <stop offset="1" style="stop-color:#ff6900;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6800;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR31b_2" x1="466.211553" x2="469.352661" y1="231.53893" y2="229.067377"> - <stop offset="0" style="stop-color:#ff8e00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8e00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR31b_2" x1="466.211553" x2="469.352661" y1="231.53893" y2="229.067377"> + <stop offset="1" style="stop-color:#ff6900;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8e00;stop-opacity:0;"/> </linearGradient> - <polygon id="GT31b" points="466.211553 231.53893 470.489665 230.512401 475.906795 237.397055"/> </defs> - <use fill="#ff6900" fill-opacity="1" xlink:href="#GT31b"/> - <use fill="url(#GR31b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT31b"/> - <use fill="url(#GR31b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT31b"/> - <use fill="url(#GR31b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT31b"/> + <path d="M 466.211553,231.53893 L 470.489665,230.512401 475.906795,237.397055 Z" fill="#ff6900" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 466.211553,231.53893 L 470.489665,230.512401 475.906795,237.397055 Z" fill="url(#GR31b_0)" shape-rendering="crispEdges"/> + <path d="M 466.211553,231.53893 L 470.489665,230.512401 475.906795,237.397055 Z" fill="url(#GR31b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 466.211553,231.53893 L 470.489665,230.512401 475.906795,237.397055 Z" fill="url(#GR31b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR31c_0" x1="461.933441" x2="463.584892" y1="232.56546" y2="229.542895"> - <stop offset="0" style="stop-color:#ffd700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR31c_0" x1="461.933441" x2="463.584892" y1="232.56546" y2="229.542895"> + <stop offset="1" style="stop-color:#dee81d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR31c_1" x1="449.26761" x2="450.054116" y1="221.720304" y2="220.918132"> - <stop offset="0" style="stop-color:#b7ff40;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b7ff40;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR31c_1" x1="449.26761" x2="450.054116" y1="221.720304" y2="220.918132"> + <stop offset="1" style="stop-color:#dee81d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b7ff40;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR31c_2" x1="452.891961" x2="452.3371" y1="223.700555" y2="224.348564"> - <stop offset="0" style="stop-color:#e4e217;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e4e217;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR31c_2" x1="452.891961" x2="452.3371" y1="223.700555" y2="224.348564"> + <stop offset="1" style="stop-color:#dee81d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e4e217;stop-opacity:0;"/> </linearGradient> - <polygon id="GT31c" points="452.891961 223.700555 461.933441 232.56546 449.26761 221.720304"/> </defs> - <use fill="#dee81d" fill-opacity="1" xlink:href="#GT31c"/> - <use fill="url(#GR31c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT31c"/> - <use fill="url(#GR31c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT31c"/> - <use fill="url(#GR31c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT31c"/> + <path d="M 452.891961,223.700555 L 461.933441,232.56546 449.26761,221.720304 Z" fill="#dee81d" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.891961,223.700555 L 461.933441,232.56546 449.26761,221.720304 Z" fill="url(#GR31c_0)" shape-rendering="crispEdges"/> + <path d="M 452.891961,223.700555 L 461.933441,232.56546 449.26761,221.720304 Z" fill="url(#GR31c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.891961,223.700555 L 461.933441,232.56546 449.26761,221.720304 Z" fill="url(#GR31c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR31d_0" x1="449.26761" x2="450.054116" y1="221.720304" y2="220.918132"> - <stop offset="0" style="stop-color:#b7ff40;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b7ff40;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR31d_0" x1="449.26761" x2="450.054116" y1="221.720304" y2="220.918132"> + <stop offset="1" style="stop-color:#d2f526;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b7ff40;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR31d_1" x1="443.85048" x2="442.199029" y1="214.83565" y2="217.858215"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR31d_1" x1="443.85048" x2="442.199029" y1="214.83565" y2="217.858215"> + <stop offset="1" style="stop-color:#d2f526;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR31d_2" x1="452.891961" x2="451.61583" y1="223.700555" y2="224.704667"> - <stop offset="0" style="stop-color:#e4e217;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e4e217;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR31d_2" x1="452.891961" x2="451.61583" y1="223.700555" y2="224.704667"> + <stop offset="1" style="stop-color:#d2f526;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e4e217;stop-opacity:0;"/> </linearGradient> - <polygon id="GT31d" points="452.891961 223.700555 449.26761 221.720304 443.85048 214.83565"/> </defs> - <use fill="#d2f526" fill-opacity="1" xlink:href="#GT31d"/> - <use fill="url(#GR31d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT31d"/> - <use fill="url(#GR31d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT31d"/> - <use fill="url(#GR31d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT31d"/> + <path d="M 452.891961,223.700555 L 449.26761,221.720304 443.85048,214.83565 Z" fill="#d2f526" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.891961,223.700555 L 449.26761,221.720304 443.85048,214.83565 Z" fill="url(#GR31d_0)" shape-rendering="crispEdges"/> + <path d="M 452.891961,223.700555 L 449.26761,221.720304 443.85048,214.83565 Z" fill="url(#GR31d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.891961,223.700555 L 449.26761,221.720304 443.85048,214.83565 Z" fill="url(#GR31d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR31e_0" x1="443.85048" x2="442.199029" y1="214.83565" y2="217.858215"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR31e_0" x1="443.85048" x2="442.199029" y1="214.83565" y2="217.858215"> + <stop offset="1" style="stop-color:#eadc11;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR31e_1" x1="456.516311" x2="455.729805" y1="225.680806" y2="226.482977"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR31e_1" x1="456.516311" x2="455.729805" y1="225.680806" y2="226.482977"> + <stop offset="1" style="stop-color:#eadc11;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR31e_2" x1="452.891961" x2="453.446821" y1="223.700555" y2="223.052545"> - <stop offset="0" style="stop-color:#e4e217;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e4e217;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR31e_2" x1="452.891961" x2="453.446821" y1="223.700555" y2="223.052545"> + <stop offset="1" style="stop-color:#eadc11;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e4e217;stop-opacity:0;"/> </linearGradient> - <polygon id="GT31e" points="452.891961 223.700555 443.85048 214.83565 456.516311 225.680806"/> </defs> - <use fill="#eadc11" fill-opacity="1" xlink:href="#GT31e"/> - <use fill="url(#GR31e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT31e"/> - <use fill="url(#GR31e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT31e"/> - <use fill="url(#GR31e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT31e"/> + <path d="M 452.891961,223.700555 L 443.85048,214.83565 456.516311,225.680806 Z" fill="#eadc11" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.891961,223.700555 L 443.85048,214.83565 456.516311,225.680806 Z" fill="url(#GR31e_0)" shape-rendering="crispEdges"/> + <path d="M 452.891961,223.700555 L 443.85048,214.83565 456.516311,225.680806 Z" fill="url(#GR31e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.891961,223.700555 L 443.85048,214.83565 456.516311,225.680806 Z" fill="url(#GR31e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR31f_0" x1="456.516311" x2="455.729805" y1="225.680806" y2="226.482977"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR31f_0" x1="456.516311" x2="455.729805" y1="225.680806" y2="226.482977"> + <stop offset="1" style="stop-color:#f6ce08;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR31f_1" x1="461.933441" x2="463.584892" y1="232.56546" y2="229.542895"> - <stop offset="0" style="stop-color:#ffd700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR31f_1" x1="461.933441" x2="463.584892" y1="232.56546" y2="229.542895"> + <stop offset="1" style="stop-color:#f6ce08;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR31f_2" x1="452.891961" x2="454.168091" y1="223.700555" y2="222.696443"> - <stop offset="0" style="stop-color:#e4e217;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e4e217;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR31f_2" x1="452.891961" x2="454.168091" y1="223.700555" y2="222.696443"> + <stop offset="1" style="stop-color:#f6ce08;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e4e217;stop-opacity:0;"/> </linearGradient> - <polygon id="GT31f" points="452.891961 223.700555 456.516311 225.680806 461.933441 232.56546"/> </defs> - <use fill="#f6ce08" fill-opacity="1" xlink:href="#GT31f"/> - <use fill="url(#GR31f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT31f"/> - <use fill="url(#GR31f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT31f"/> - <use fill="url(#GR31f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT31f"/> + <path d="M 452.891961,223.700555 L 456.516311,225.680806 461.933441,232.56546 Z" fill="#f6ce08" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.891961,223.700555 L 456.516311,225.680806 461.933441,232.56546 Z" fill="url(#GR31f_0)" shape-rendering="crispEdges"/> + <path d="M 452.891961,223.700555 L 456.516311,225.680806 461.933441,232.56546 Z" fill="url(#GR31f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.891961,223.700555 L 456.516311,225.680806 461.933441,232.56546 Z" fill="url(#GR31f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR320_0" x1="449.26761" x2="447.98806" y1="221.720304" y2="222.418491"> - <stop offset="0" style="stop-color:#b7ff40;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b7ff40;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR320_0" x1="449.26761" x2="447.98806" y1="221.720304" y2="222.418491"> + <stop offset="1" style="stop-color:#95ff61;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b7ff40;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR320_1" x1="438.845566" x2="438.395975" y1="205.663265" y2="205.973668"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR320_1" x1="438.845566" x2="438.395975" y1="205.663265" y2="205.973668"> + <stop offset="1" style="stop-color:#95ff61;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR320_2" x1="441.348023" x2="441.681718" y1="210.249458" y2="210.032869"> - <stop offset="0" style="stop-color:#a3ff54;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a3ff54;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR320_2" x1="441.348023" x2="441.681718" y1="210.249458" y2="210.032869"> + <stop offset="1" style="stop-color:#95ff61;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a3ff54;stop-opacity:0;"/> </linearGradient> - <polygon id="GT320" points="441.348023 210.249458 449.26761 221.720304 438.845566 205.663265"/> </defs> - <use fill="#95ff61" fill-opacity="1" xlink:href="#GT320"/> - <use fill="url(#GR320_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT320"/> - <use fill="url(#GR320_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT320"/> - <use fill="url(#GR320_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT320"/> + <path d="M 441.348023,210.249458 L 449.26761,221.720304 438.845566,205.663265 Z" fill="#95ff61" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.348023,210.249458 L 449.26761,221.720304 438.845566,205.663265 Z" fill="url(#GR320_0)" shape-rendering="crispEdges"/> + <path d="M 441.348023,210.249458 L 449.26761,221.720304 438.845566,205.663265 Z" fill="url(#GR320_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.348023,210.249458 L 449.26761,221.720304 438.845566,205.663265 Z" fill="url(#GR320_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR321_0" x1="438.845566" x2="438.395975" y1="205.663265" y2="205.973668"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR321_0" x1="438.845566" x2="438.395975" y1="205.663265" y2="205.973668"> + <stop offset="1" style="stop-color:#8aff6d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR321_1" x1="433.428436" x2="434.707987" y1="198.778611" y2="198.080424"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR321_1" x1="433.428436" x2="434.707987" y1="198.778611" y2="198.080424"> + <stop offset="1" style="stop-color:#8aff6d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR321_2" x1="441.348023" x2="442.031202" y1="210.249458" y2="209.711904"> - <stop offset="0" style="stop-color:#a3ff54;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a3ff54;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR321_2" x1="441.348023" x2="442.031202" y1="210.249458" y2="209.711904"> + <stop offset="1" style="stop-color:#8aff6d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a3ff54;stop-opacity:0;"/> </linearGradient> - <polygon id="GT321" points="441.348023 210.249458 438.845566 205.663265 433.428436 198.778611"/> </defs> - <use fill="#8aff6d" fill-opacity="1" xlink:href="#GT321"/> - <use fill="url(#GR321_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT321"/> - <use fill="url(#GR321_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT321"/> - <use fill="url(#GR321_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT321"/> + <path d="M 441.348023,210.249458 L 438.845566,205.663265 433.428436,198.778611 Z" fill="#8aff6d" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.348023,210.249458 L 438.845566,205.663265 433.428436,198.778611 Z" fill="url(#GR321_0)" shape-rendering="crispEdges"/> + <path d="M 441.348023,210.249458 L 438.845566,205.663265 433.428436,198.778611 Z" fill="url(#GR321_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.348023,210.249458 L 438.845566,205.663265 433.428436,198.778611 Z" fill="url(#GR321_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR322_0" x1="433.428436" x2="434.707987" y1="198.778611" y2="198.080424"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR322_0" x1="433.428436" x2="434.707987" y1="198.778611" y2="198.080424"> + <stop offset="1" style="stop-color:#b0ff46;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR322_1" x1="443.85048" x2="444.300071" y1="214.83565" y2="214.525248"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR322_1" x1="443.85048" x2="444.300071" y1="214.83565" y2="214.525248"> + <stop offset="1" style="stop-color:#b0ff46;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR322_2" x1="441.348023" x2="441.014329" y1="210.249458" y2="210.466047"> - <stop offset="0" style="stop-color:#a3ff54;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a3ff54;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR322_2" x1="441.348023" x2="441.014329" y1="210.249458" y2="210.466047"> + <stop offset="1" style="stop-color:#b0ff46;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a3ff54;stop-opacity:0;"/> </linearGradient> - <polygon id="GT322" points="441.348023 210.249458 433.428436 198.778611 443.85048 214.83565"/> </defs> - <use fill="#b0ff46" fill-opacity="1" xlink:href="#GT322"/> - <use fill="url(#GR322_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT322"/> - <use fill="url(#GR322_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT322"/> - <use fill="url(#GR322_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT322"/> + <path d="M 441.348023,210.249458 L 433.428436,198.778611 443.85048,214.83565 Z" fill="#b0ff46" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.348023,210.249458 L 433.428436,198.778611 443.85048,214.83565 Z" fill="url(#GR322_0)" shape-rendering="crispEdges"/> + <path d="M 441.348023,210.249458 L 433.428436,198.778611 443.85048,214.83565 Z" fill="url(#GR322_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.348023,210.249458 L 433.428436,198.778611 443.85048,214.83565 Z" fill="url(#GR322_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR323_0" x1="443.85048" x2="444.300071" y1="214.83565" y2="214.525248"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR323_0" x1="443.85048" x2="444.300071" y1="214.83565" y2="214.525248"> + <stop offset="1" style="stop-color:#bcff3b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR323_1" x1="449.26761" x2="447.98806" y1="221.720304" y2="222.418491"> - <stop offset="0" style="stop-color:#b7ff40;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b7ff40;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR323_1" x1="449.26761" x2="447.98806" y1="221.720304" y2="222.418491"> + <stop offset="1" style="stop-color:#bcff3b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b7ff40;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR323_2" x1="441.348023" x2="440.664844" y1="210.249458" y2="210.787011"> - <stop offset="0" style="stop-color:#a3ff54;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a3ff54;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR323_2" x1="441.348023" x2="440.664844" y1="210.249458" y2="210.787011"> + <stop offset="1" style="stop-color:#bcff3b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a3ff54;stop-opacity:0;"/> </linearGradient> - <polygon id="GT323" points="441.348023 210.249458 443.85048 214.83565 449.26761 221.720304"/> </defs> - <use fill="#bcff3b" fill-opacity="1" xlink:href="#GT323"/> - <use fill="url(#GR323_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT323"/> - <use fill="url(#GR323_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT323"/> - <use fill="url(#GR323_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT323"/> + <path d="M 441.348023,210.249458 L 443.85048,214.83565 449.26761,221.720304 Z" fill="#bcff3b" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.348023,210.249458 L 443.85048,214.83565 449.26761,221.720304 Z" fill="url(#GR323_0)" shape-rendering="crispEdges"/> + <path d="M 441.348023,210.249458 L 443.85048,214.83565 449.26761,221.720304 Z" fill="url(#GR323_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.348023,210.249458 L 443.85048,214.83565 449.26761,221.720304 Z" fill="url(#GR323_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR324_0" x1="438.845566" x2="434.564353" y1="205.663265" y2="206.309057"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR324_0" x1="438.845566" x2="434.564353" y1="205.663265" y2="206.309057"> + <stop offset="1" style="stop-color:#50ffa7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR324_1" x1="431.437708" x2="429.690109" y1="185.581284" y2="186.41242"> - <stop offset="0" style="stop-color:#29ffce;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#29ffce;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR324_1" x1="431.437708" x2="429.690109" y1="185.581284" y2="186.41242"> + <stop offset="1" style="stop-color:#50ffa7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#29ffce;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR324_2" x1="432.433072" x2="433.699502" y1="192.179948" y2="191.712786"> - <stop offset="0" style="stop-color:#60ff97;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#60ff97;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR324_2" x1="432.433072" x2="433.699502" y1="192.179948" y2="191.712786"> + <stop offset="1" style="stop-color:#50ffa7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#60ff97;stop-opacity:0;"/> </linearGradient> - <polygon id="GT324" points="432.433072 192.179948 438.845566 205.663265 431.437708 185.581284"/> </defs> - <use fill="#50ffa7" fill-opacity="1" xlink:href="#GT324"/> - <use fill="url(#GR324_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT324"/> - <use fill="url(#GR324_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT324"/> - <use fill="url(#GR324_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT324"/> + <path d="M 432.433072,192.179948 L 438.845566,205.663265 431.437708,185.581284 Z" fill="#50ffa7" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 432.433072,192.179948 L 438.845566,205.663265 431.437708,185.581284 Z" fill="url(#GR324_0)" shape-rendering="crispEdges"/> + <path d="M 432.433072,192.179948 L 438.845566,205.663265 431.437708,185.581284 Z" fill="url(#GR324_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 432.433072,192.179948 L 438.845566,205.663265 431.437708,185.581284 Z" fill="url(#GR324_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR325_0" x1="431.437708" x2="429.690109" y1="185.581284" y2="186.41242"> - <stop offset="0" style="stop-color:#29ffce;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#29ffce;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR325_0" x1="431.437708" x2="429.690109" y1="185.581284" y2="186.41242"> + <stop offset="1" style="stop-color:#4dffaa;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#29ffce;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR325_1" x1="426.020578" x2="430.301791" y1="178.69663" y2="178.050838"> - <stop offset="0" style="stop-color:#5dff9a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5dff9a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR325_1" x1="426.020578" x2="430.301791" y1="178.69663" y2="178.050838"> + <stop offset="1" style="stop-color:#4dffaa;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5dff9a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR325_2" x1="432.433072" x2="435.02506" y1="192.179948" y2="190.140465"> - <stop offset="0" style="stop-color:#60ff97;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#60ff97;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR325_2" x1="432.433072" x2="435.02506" y1="192.179948" y2="190.140465"> + <stop offset="1" style="stop-color:#4dffaa;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#60ff97;stop-opacity:0;"/> </linearGradient> - <polygon id="GT325" points="432.433072 192.179948 431.437708 185.581284 426.020578 178.69663"/> </defs> - <use fill="#4dffaa" fill-opacity="1" xlink:href="#GT325"/> - <use fill="url(#GR325_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT325"/> - <use fill="url(#GR325_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT325"/> - <use fill="url(#GR325_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT325"/> + <path d="M 432.433072,192.179948 L 431.437708,185.581284 426.020578,178.69663 Z" fill="#4dffaa" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 432.433072,192.179948 L 431.437708,185.581284 426.020578,178.69663 Z" fill="url(#GR325_0)" shape-rendering="crispEdges"/> + <path d="M 432.433072,192.179948 L 431.437708,185.581284 426.020578,178.69663 Z" fill="url(#GR325_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 432.433072,192.179948 L 431.437708,185.581284 426.020578,178.69663 Z" fill="url(#GR325_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR326_0" x1="426.020578" x2="430.301791" y1="178.69663" y2="178.050838"> - <stop offset="0" style="stop-color:#5dff9a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5dff9a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR326_0" x1="426.020578" x2="430.301791" y1="178.69663" y2="178.050838"> + <stop offset="1" style="stop-color:#70ff87;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5dff9a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR326_1" x1="433.428436" x2="435.176035" y1="198.778611" y2="197.947476"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR326_1" x1="433.428436" x2="435.176035" y1="198.778611" y2="197.947476"> + <stop offset="1" style="stop-color:#70ff87;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR326_2" x1="432.433072" x2="431.166643" y1="192.179948" y2="192.647109"> - <stop offset="0" style="stop-color:#60ff97;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#60ff97;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR326_2" x1="432.433072" x2="431.166643" y1="192.179948" y2="192.647109"> + <stop offset="1" style="stop-color:#70ff87;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#60ff97;stop-opacity:0;"/> </linearGradient> - <polygon id="GT326" points="432.433072 192.179948 426.020578 178.69663 433.428436 198.778611"/> </defs> - <use fill="#70ff87" fill-opacity="1" xlink:href="#GT326"/> - <use fill="url(#GR326_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT326"/> - <use fill="url(#GR326_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT326"/> - <use fill="url(#GR326_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT326"/> + <path d="M 432.433072,192.179948 L 426.020578,178.69663 433.428436,198.778611 Z" fill="#70ff87" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 432.433072,192.179948 L 426.020578,178.69663 433.428436,198.778611 Z" fill="url(#GR326_0)" shape-rendering="crispEdges"/> + <path d="M 432.433072,192.179948 L 426.020578,178.69663 433.428436,198.778611 Z" fill="url(#GR326_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 432.433072,192.179948 L 426.020578,178.69663 433.428436,198.778611 Z" fill="url(#GR326_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR327_0" x1="433.428436" x2="435.176035" y1="198.778611" y2="197.947476"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR327_0" x1="433.428436" x2="435.176035" y1="198.778611" y2="197.947476"> + <stop offset="1" style="stop-color:#73ff83;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR327_1" x1="438.845566" x2="434.564353" y1="205.663265" y2="206.309057"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR327_1" x1="438.845566" x2="434.564353" y1="205.663265" y2="206.309057"> + <stop offset="1" style="stop-color:#73ff83;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR327_2" x1="432.433072" x2="429.841084" y1="192.179948" y2="194.219431"> - <stop offset="0" style="stop-color:#60ff97;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#60ff97;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR327_2" x1="432.433072" x2="429.841084" y1="192.179948" y2="194.219431"> + <stop offset="1" style="stop-color:#73ff83;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#60ff97;stop-opacity:0;"/> </linearGradient> - <polygon id="GT327" points="432.433072 192.179948 433.428436 198.778611 438.845566 205.663265"/> </defs> - <use fill="#73ff83" fill-opacity="1" xlink:href="#GT327"/> - <use fill="url(#GR327_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT327"/> - <use fill="url(#GR327_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT327"/> - <use fill="url(#GR327_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT327"/> + <path d="M 432.433072,192.179948 L 433.428436,198.778611 438.845566,205.663265 Z" fill="#73ff83" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 432.433072,192.179948 L 433.428436,198.778611 438.845566,205.663265 Z" fill="url(#GR327_0)" shape-rendering="crispEdges"/> + <path d="M 432.433072,192.179948 L 433.428436,198.778611 438.845566,205.663265 Z" fill="url(#GR327_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 432.433072,192.179948 L 433.428436,198.778611 438.845566,205.663265 Z" fill="url(#GR327_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR328_0" x1="431.437708" x2="425.39354" y1="185.581284" y2="184.977916"> - <stop offset="0" style="stop-color:#29ffce;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#29ffce;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR328_0" x1="431.437708" x2="425.39354" y1="185.581284" y2="184.977916"> + <stop offset="1" style="stop-color:#20f7d7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#29ffce;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR328_1" x1="427.591628" x2="424.627892" y1="162.958827" y2="163.889236"> - <stop offset="0" style="stop-color:#06ecf1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06ecf1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR328_1" x1="427.591628" x2="424.627892" y1="162.958827" y2="163.889236"> + <stop offset="1" style="stop-color:#20f7d7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06ecf1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR328_2" x1="426.806103" x2="428.869784" y1="170.827728" y2="170.476879"> - <stop offset="0" style="stop-color:#32fac5;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#32fac5;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR328_2" x1="426.806103" x2="428.869784" y1="170.827728" y2="170.476879"> + <stop offset="1" style="stop-color:#20f7d7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#32fac5;stop-opacity:0;"/> </linearGradient> - <polygon id="GT328" points="426.806103 170.827728 431.437708 185.581284 427.591628 162.958827"/> </defs> - <use fill="#20f7d7" fill-opacity="1" xlink:href="#GT328"/> - <use fill="url(#GR328_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT328"/> - <use fill="url(#GR328_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT328"/> - <use fill="url(#GR328_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT328"/> + <path d="M 426.806103,170.827728 L 431.437708,185.581284 427.591628,162.958827 Z" fill="#20f7d7" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 426.806103,170.827728 L 431.437708,185.581284 427.591628,162.958827 Z" fill="url(#GR328_0)" shape-rendering="crispEdges"/> + <path d="M 426.806103,170.827728 L 431.437708,185.581284 427.591628,162.958827 Z" fill="url(#GR328_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 426.806103,170.827728 L 431.437708,185.581284 427.591628,162.958827 Z" fill="url(#GR328_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR329_0" x1="427.591628" x2="424.627892" y1="162.958827" y2="163.889236"> - <stop offset="0" style="stop-color:#06ecf1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06ecf1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR329_0" x1="427.591628" x2="424.627892" y1="162.958827" y2="163.889236"> + <stop offset="1" style="stop-color:#27f7d0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06ecf1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR329_1" x1="422.174498" x2="428.218666" y1="156.074173" y2="156.677541"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR329_1" x1="422.174498" x2="428.218666" y1="156.074173" y2="156.677541"> + <stop offset="1" style="stop-color:#27f7d0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR329_2" x1="426.806103" x2="431.115299" y1="170.827728" y2="167.437075"> - <stop offset="0" style="stop-color:#32fac5;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#32fac5;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR329_2" x1="426.806103" x2="431.115299" y1="170.827728" y2="167.437075"> + <stop offset="1" style="stop-color:#27f7d0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#32fac5;stop-opacity:0;"/> </linearGradient> - <polygon id="GT329" points="426.806103 170.827728 427.591628 162.958827 422.174498 156.074173"/> </defs> - <use fill="#27f7d0" fill-opacity="1" xlink:href="#GT329"/> - <use fill="url(#GR329_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT329"/> - <use fill="url(#GR329_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT329"/> - <use fill="url(#GR329_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT329"/> + <path d="M 426.806103,170.827728 L 427.591628,162.958827 422.174498,156.074173 Z" fill="#27f7d0" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 426.806103,170.827728 L 427.591628,162.958827 422.174498,156.074173 Z" fill="url(#GR329_0)" shape-rendering="crispEdges"/> + <path d="M 426.806103,170.827728 L 427.591628,162.958827 422.174498,156.074173 Z" fill="url(#GR329_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 426.806103,170.827728 L 427.591628,162.958827 422.174498,156.074173 Z" fill="url(#GR329_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR32a_0" x1="422.174498" x2="428.218666" y1="156.074173" y2="156.677541"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR32a_0" x1="422.174498" x2="428.218666" y1="156.074173" y2="156.677541"> + <stop offset="1" style="stop-color:#44fdb3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR32a_1" x1="426.020578" x2="428.984314" y1="178.69663" y2="177.766221"> - <stop offset="0" style="stop-color:#5dff9a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5dff9a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR32a_1" x1="426.020578" x2="428.984314" y1="178.69663" y2="177.766221"> + <stop offset="1" style="stop-color:#44fdb3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5dff9a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR32a_2" x1="426.806103" x2="424.742422" y1="170.827728" y2="171.178578"> - <stop offset="0" style="stop-color:#32fac5;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#32fac5;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR32a_2" x1="426.806103" x2="424.742422" y1="170.827728" y2="171.178578"> + <stop offset="1" style="stop-color:#44fdb3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#32fac5;stop-opacity:0;"/> </linearGradient> - <polygon id="GT32a" points="426.806103 170.827728 422.174498 156.074173 426.020578 178.69663"/> </defs> - <use fill="#44fdb3" fill-opacity="1" xlink:href="#GT32a"/> - <use fill="url(#GR32a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT32a"/> - <use fill="url(#GR32a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT32a"/> - <use fill="url(#GR32a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT32a"/> + <path d="M 426.806103,170.827728 L 422.174498,156.074173 426.020578,178.69663 Z" fill="#44fdb3" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 426.806103,170.827728 L 422.174498,156.074173 426.020578,178.69663 Z" fill="url(#GR32a_0)" shape-rendering="crispEdges"/> + <path d="M 426.806103,170.827728 L 422.174498,156.074173 426.020578,178.69663 Z" fill="url(#GR32a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 426.806103,170.827728 L 422.174498,156.074173 426.020578,178.69663 Z" fill="url(#GR32a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR32b_0" x1="426.020578" x2="428.984314" y1="178.69663" y2="177.766221"> - <stop offset="0" style="stop-color:#5dff9a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5dff9a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR32b_0" x1="426.020578" x2="428.984314" y1="178.69663" y2="177.766221"> + <stop offset="1" style="stop-color:#3dfdb9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5dff9a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR32b_1" x1="431.437708" x2="425.39354" y1="185.581284" y2="184.977916"> - <stop offset="0" style="stop-color:#29ffce;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#29ffce;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR32b_1" x1="431.437708" x2="425.39354" y1="185.581284" y2="184.977916"> + <stop offset="1" style="stop-color:#3dfdb9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#29ffce;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR32b_2" x1="426.806103" x2="422.496907" y1="170.827728" y2="174.218382"> - <stop offset="0" style="stop-color:#32fac5;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#32fac5;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR32b_2" x1="426.806103" x2="422.496907" y1="170.827728" y2="174.218382"> + <stop offset="1" style="stop-color:#3dfdb9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#32fac5;stop-opacity:0;"/> </linearGradient> - <polygon id="GT32b" points="426.806103 170.827728 426.020578 178.69663 431.437708 185.581284"/> </defs> - <use fill="#3dfdb9" fill-opacity="1" xlink:href="#GT32b"/> - <use fill="url(#GR32b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT32b"/> - <use fill="url(#GR32b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT32b"/> - <use fill="url(#GR32b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT32b"/> + <path d="M 426.806103,170.827728 L 426.020578,178.69663 431.437708,185.581284 Z" fill="#3dfdb9" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 426.806103,170.827728 L 426.020578,178.69663 431.437708,185.581284 Z" fill="url(#GR32b_0)" shape-rendering="crispEdges"/> + <path d="M 426.806103,170.827728 L 426.020578,178.69663 431.437708,185.581284 Z" fill="url(#GR32b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 426.806103,170.827728 L 426.020578,178.69663 431.437708,185.581284 Z" fill="url(#GR32b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR32c_0" x1="427.591628" x2="420.665656" y1="162.958827" y2="160.699472"> - <stop offset="0" style="stop-color:#06ecf1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06ecf1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR32c_0" x1="427.591628" x2="420.665656" y1="162.958827" y2="160.699472"> + <stop offset="1" style="stop-color:#0ff0e8;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06ecf1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR32c_1" x1="427.591628" x2="423.53144" y1="139.46815" y2="140.192243"> - <stop offset="0" style="stop-color:#06ecf1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06ecf1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR32c_1" x1="427.591628" x2="423.53144" y1="139.46815" y2="140.192243"> + <stop offset="1" style="stop-color:#0ff0e8;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06ecf1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR32c_2" x1="424.883063" x2="427.591628" y1="147.771161" y2="147.771161"> - <stop offset="0" style="stop-color:#21f6d6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#21f6d6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR32c_2" x1="424.883063" x2="427.591628" y1="147.771161" y2="147.771161"> + <stop offset="1" style="stop-color:#0ff0e8;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#21f6d6;stop-opacity:0;"/> </linearGradient> - <polygon id="GT32c" points="424.883063 147.771161 427.591628 162.958827 427.591628 139.46815"/> </defs> - <use fill="#0ff0e8" fill-opacity="1" xlink:href="#GT32c"/> - <use fill="url(#GR32c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT32c"/> - <use fill="url(#GR32c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT32c"/> - <use fill="url(#GR32c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT32c"/> + <path d="M 424.883063,147.771161 L 427.591628,162.958827 427.591628,139.46815 Z" fill="#0ff0e8" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 424.883063,147.771161 L 427.591628,162.958827 427.591628,139.46815 Z" fill="url(#GR32c_0)" shape-rendering="crispEdges"/> + <path d="M 424.883063,147.771161 L 427.591628,162.958827 427.591628,139.46815 Z" fill="url(#GR32c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 424.883063,147.771161 L 427.591628,162.958827 427.591628,139.46815 Z" fill="url(#GR32c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR32d_0" x1="427.591628" x2="423.53144" y1="139.46815" y2="140.192243"> - <stop offset="0" style="stop-color:#06ecf1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06ecf1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR32d_0" x1="427.591628" x2="423.53144" y1="139.46815" y2="140.192243"> + <stop offset="1" style="stop-color:#21f6d6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06ecf1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR32d_1" x1="422.174498" x2="429.100469" y1="132.583496" y2="134.84285"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR32d_1" x1="422.174498" x2="429.100469" y1="132.583496" y2="134.84285"> + <stop offset="1" style="stop-color:#21f6d6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR32d_2" x1="424.883063" x2="430.590929" y1="147.771161" y2="143.279976"> - <stop offset="0" style="stop-color:#21f6d6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#21f6d6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR32d_2" x1="424.883063" x2="430.590929" y1="147.771161" y2="143.279976"> + <stop offset="1" style="stop-color:#21f6d6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#21f6d6;stop-opacity:0;"/> </linearGradient> - <polygon id="GT32d" points="424.883063 147.771161 427.591628 139.46815 422.174498 132.583496"/> </defs> - <use fill="#21f6d6" fill-opacity="1" xlink:href="#GT32d"/> - <use fill="url(#GR32d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT32d"/> - <use fill="url(#GR32d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT32d"/> - <use fill="url(#GR32d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT32d"/> + <path d="M 424.883063,147.771161 L 427.591628,139.46815 422.174498,132.583496 Z" fill="#21f6d6" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 424.883063,147.771161 L 427.591628,139.46815 422.174498,132.583496 Z" fill="url(#GR32d_0)" shape-rendering="crispEdges"/> + <path d="M 424.883063,147.771161 L 427.591628,139.46815 422.174498,132.583496 Z" fill="url(#GR32d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 424.883063,147.771161 L 427.591628,139.46815 422.174498,132.583496 Z" fill="url(#GR32d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR32e_0" x1="422.174498" x2="429.100469" y1="132.583496" y2="134.84285"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR32e_0" x1="422.174498" x2="429.100469" y1="132.583496" y2="134.84285"> + <stop offset="1" style="stop-color:#33fcc3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR32e_1" x1="422.174498" x2="426.234685" y1="156.074173" y2="155.35008"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR32e_1" x1="422.174498" x2="426.234685" y1="156.074173" y2="155.35008"> + <stop offset="1" style="stop-color:#33fcc3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR32e_2" x1="424.883063" x2="422.174498" y1="147.771161" y2="147.771161"> - <stop offset="0" style="stop-color:#21f6d6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#21f6d6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR32e_2" x1="424.883063" x2="422.174498" y1="147.771161" y2="147.771161"> + <stop offset="1" style="stop-color:#33fcc3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#21f6d6;stop-opacity:0;"/> </linearGradient> - <polygon id="GT32e" points="424.883063 147.771161 422.174498 132.583496 422.174498 156.074173"/> </defs> - <use fill="#33fcc3" fill-opacity="1" xlink:href="#GT32e"/> - <use fill="url(#GR32e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT32e"/> - <use fill="url(#GR32e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT32e"/> - <use fill="url(#GR32e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT32e"/> + <path d="M 424.883063,147.771161 L 422.174498,132.583496 422.174498,156.074173 Z" fill="#33fcc3" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 424.883063,147.771161 L 422.174498,132.583496 422.174498,156.074173 Z" fill="url(#GR32e_0)" shape-rendering="crispEdges"/> + <path d="M 424.883063,147.771161 L 422.174498,132.583496 422.174498,156.074173 Z" fill="url(#GR32e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 424.883063,147.771161 L 422.174498,132.583496 422.174498,156.074173 Z" fill="url(#GR32e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR32f_0" x1="422.174498" x2="426.234685" y1="156.074173" y2="155.35008"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR32f_0" x1="422.174498" x2="426.234685" y1="156.074173" y2="155.35008"> + <stop offset="1" style="stop-color:#21f6d6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR32f_1" x1="427.591628" x2="420.665656" y1="162.958827" y2="160.699472"> - <stop offset="0" style="stop-color:#06ecf1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06ecf1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR32f_1" x1="427.591628" x2="420.665656" y1="162.958827" y2="160.699472"> + <stop offset="1" style="stop-color:#21f6d6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06ecf1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR32f_2" x1="424.883063" x2="419.175196" y1="147.771161" y2="152.262347"> - <stop offset="0" style="stop-color:#21f6d6;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#21f6d6;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR32f_2" x1="424.883063" x2="419.175196" y1="147.771161" y2="152.262347"> + <stop offset="1" style="stop-color:#21f6d6;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#21f6d6;stop-opacity:0;"/> </linearGradient> - <polygon id="GT32f" points="424.883063 147.771161 422.174498 156.074173 427.591628 162.958827"/> </defs> - <use fill="#21f6d6" fill-opacity="1" xlink:href="#GT32f"/> - <use fill="url(#GR32f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT32f"/> - <use fill="url(#GR32f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT32f"/> - <use fill="url(#GR32f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT32f"/> + <path d="M 424.883063,147.771161 L 422.174498,156.074173 427.591628,162.958827 Z" fill="#21f6d6" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 424.883063,147.771161 L 422.174498,156.074173 427.591628,162.958827 Z" fill="url(#GR32f_0)" shape-rendering="crispEdges"/> + <path d="M 424.883063,147.771161 L 422.174498,156.074173 427.591628,162.958827 Z" fill="url(#GR32f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 424.883063,147.771161 L 422.174498,156.074173 427.591628,162.958827 Z" fill="url(#GR32f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR330_0" x1="427.591628" x2="420.558731" y1="139.46815" y2="135.328615"> - <stop offset="0" style="stop-color:#06ecf1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06ecf1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR330_0" x1="427.591628" x2="420.558731" y1="139.46815" y2="135.328615"> + <stop offset="1" style="stop-color:#20f7d7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06ecf1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR330_1" x1="431.437708" x2="426.401415" y1="116.845692" y2="117.11384"> - <stop offset="0" style="stop-color:#29ffce;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#29ffce;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR330_1" x1="431.437708" x2="426.401415" y1="116.845692" y2="117.11384"> + <stop offset="1" style="stop-color:#20f7d7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#29ffce;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR330_2" x1="426.806103" x2="430.007374" y1="124.714594" y2="125.258847"> - <stop offset="0" style="stop-color:#32fac5;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#32fac5;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR330_2" x1="426.806103" x2="430.007374" y1="124.714594" y2="125.258847"> + <stop offset="1" style="stop-color:#20f7d7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#32fac5;stop-opacity:0;"/> </linearGradient> - <polygon id="GT330" points="426.806103 124.714594 427.591628 139.46815 431.437708 116.845692"/> </defs> - <use fill="#20f7d7" fill-opacity="1" xlink:href="#GT330"/> - <use fill="url(#GR330_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT330"/> - <use fill="url(#GR330_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT330"/> - <use fill="url(#GR330_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT330"/> + <path d="M 426.806103,124.714594 L 427.591628,139.46815 431.437708,116.845692 Z" fill="#20f7d7" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 426.806103,124.714594 L 427.591628,139.46815 431.437708,116.845692 Z" fill="url(#GR330_0)" shape-rendering="crispEdges"/> + <path d="M 426.806103,124.714594 L 427.591628,139.46815 431.437708,116.845692 Z" fill="url(#GR330_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 426.806103,124.714594 L 427.591628,139.46815 431.437708,116.845692 Z" fill="url(#GR330_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR331_0" x1="431.437708" x2="426.401415" y1="116.845692" y2="117.11384"> - <stop offset="0" style="stop-color:#29ffce;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#29ffce;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR331_0" x1="431.437708" x2="426.401415" y1="116.845692" y2="117.11384"> + <stop offset="1" style="stop-color:#3dfdb9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#29ffce;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR331_1" x1="426.020578" x2="433.053474" y1="109.961038" y2="114.100574"> - <stop offset="0" style="stop-color:#5dff9a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5dff9a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR331_1" x1="426.020578" x2="433.053474" y1="109.961038" y2="114.100574"> + <stop offset="1" style="stop-color:#3dfdb9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5dff9a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR331_2" x1="426.806103" x2="433.490714" y1="124.714594" y2="119.454866"> - <stop offset="0" style="stop-color:#32fac5;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#32fac5;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR331_2" x1="426.806103" x2="433.490714" y1="124.714594" y2="119.454866"> + <stop offset="1" style="stop-color:#3dfdb9;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#32fac5;stop-opacity:0;"/> </linearGradient> - <polygon id="GT331" points="426.806103 124.714594 431.437708 116.845692 426.020578 109.961038"/> </defs> - <use fill="#3dfdb9" fill-opacity="1" xlink:href="#GT331"/> - <use fill="url(#GR331_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT331"/> - <use fill="url(#GR331_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT331"/> - <use fill="url(#GR331_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT331"/> + <path d="M 426.806103,124.714594 L 431.437708,116.845692 426.020578,109.961038 Z" fill="#3dfdb9" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 426.806103,124.714594 L 431.437708,116.845692 426.020578,109.961038 Z" fill="url(#GR331_0)" shape-rendering="crispEdges"/> + <path d="M 426.806103,124.714594 L 431.437708,116.845692 426.020578,109.961038 Z" fill="url(#GR331_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 426.806103,124.714594 L 431.437708,116.845692 426.020578,109.961038 Z" fill="url(#GR331_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR332_0" x1="426.020578" x2="433.053474" y1="109.961038" y2="114.100574"> - <stop offset="0" style="stop-color:#5dff9a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5dff9a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR332_0" x1="426.020578" x2="433.053474" y1="109.961038" y2="114.100574"> + <stop offset="1" style="stop-color:#44fdb3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5dff9a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR332_1" x1="422.174498" x2="427.21079" y1="132.583496" y2="132.315348"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR332_1" x1="422.174498" x2="427.21079" y1="132.583496" y2="132.315348"> + <stop offset="1" style="stop-color:#44fdb3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR332_2" x1="426.806103" x2="423.604832" y1="124.714594" y2="124.170341"> - <stop offset="0" style="stop-color:#32fac5;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#32fac5;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR332_2" x1="426.806103" x2="423.604832" y1="124.714594" y2="124.170341"> + <stop offset="1" style="stop-color:#44fdb3;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#32fac5;stop-opacity:0;"/> </linearGradient> - <polygon id="GT332" points="426.806103 124.714594 426.020578 109.961038 422.174498 132.583496"/> </defs> - <use fill="#44fdb3" fill-opacity="1" xlink:href="#GT332"/> - <use fill="url(#GR332_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT332"/> - <use fill="url(#GR332_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT332"/> - <use fill="url(#GR332_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT332"/> + <path d="M 426.806103,124.714594 L 426.020578,109.961038 422.174498,132.583496 Z" fill="#44fdb3" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 426.806103,124.714594 L 426.020578,109.961038 422.174498,132.583496 Z" fill="url(#GR332_0)" shape-rendering="crispEdges"/> + <path d="M 426.806103,124.714594 L 426.020578,109.961038 422.174498,132.583496 Z" fill="url(#GR332_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 426.806103,124.714594 L 426.020578,109.961038 422.174498,132.583496 Z" fill="url(#GR332_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR333_0" x1="422.174498" x2="427.21079" y1="132.583496" y2="132.315348"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR333_0" x1="422.174498" x2="427.21079" y1="132.583496" y2="132.315348"> + <stop offset="1" style="stop-color:#27f7d0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR333_1" x1="427.591628" x2="420.558731" y1="139.46815" y2="135.328615"> - <stop offset="0" style="stop-color:#06ecf1;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#06ecf1;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR333_1" x1="427.591628" x2="420.558731" y1="139.46815" y2="135.328615"> + <stop offset="1" style="stop-color:#27f7d0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#06ecf1;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR333_2" x1="426.806103" x2="420.121492" y1="124.714594" y2="129.974322"> - <stop offset="0" style="stop-color:#32fac5;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#32fac5;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR333_2" x1="426.806103" x2="420.121492" y1="124.714594" y2="129.974322"> + <stop offset="1" style="stop-color:#27f7d0;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#32fac5;stop-opacity:0;"/> </linearGradient> - <polygon id="GT333" points="426.806103 124.714594 422.174498 132.583496 427.591628 139.46815"/> </defs> - <use fill="#27f7d0" fill-opacity="1" xlink:href="#GT333"/> - <use fill="url(#GR333_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT333"/> - <use fill="url(#GR333_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT333"/> - <use fill="url(#GR333_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT333"/> + <path d="M 426.806103,124.714594 L 422.174498,132.583496 427.591628,139.46815 Z" fill="#27f7d0" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 426.806103,124.714594 L 422.174498,132.583496 427.591628,139.46815 Z" fill="url(#GR333_0)" shape-rendering="crispEdges"/> + <path d="M 426.806103,124.714594 L 422.174498,132.583496 427.591628,139.46815 Z" fill="url(#GR333_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 426.806103,124.714594 L 422.174498,132.583496 427.591628,139.46815 Z" fill="url(#GR333_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR334_0" x1="431.437708" x2="425.21073" y1="116.845692" y2="110.794398"> - <stop offset="0" style="stop-color:#29ffce;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#29ffce;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR334_0" x1="431.437708" x2="425.21073" y1="116.845692" y2="110.794398"> + <stop offset="1" style="stop-color:#50ffa7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#29ffce;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR334_1" x1="438.845566" x2="432.952314" y1="96.763711" y2="96.32866"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR334_1" x1="438.845566" x2="432.952314" y1="96.763711" y2="96.32866"> + <stop offset="1" style="stop-color:#50ffa7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR334_2" x1="432.433072" x2="435.934936" y1="103.362375" y2="104.654145"> - <stop offset="0" style="stop-color:#60ff97;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#60ff97;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR334_2" x1="432.433072" x2="435.934936" y1="103.362375" y2="104.654145"> + <stop offset="1" style="stop-color:#50ffa7;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#60ff97;stop-opacity:0;"/> </linearGradient> - <polygon id="GT334" points="432.433072 103.362375 431.437708 116.845692 438.845566 96.763711"/> </defs> - <use fill="#50ffa7" fill-opacity="1" xlink:href="#GT334"/> - <use fill="url(#GR334_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT334"/> - <use fill="url(#GR334_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT334"/> - <use fill="url(#GR334_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT334"/> + <path d="M 432.433072,103.362375 L 431.437708,116.845692 438.845566,96.763711 Z" fill="#50ffa7" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 432.433072,103.362375 L 431.437708,116.845692 438.845566,96.763711 Z" fill="url(#GR334_0)" shape-rendering="crispEdges"/> + <path d="M 432.433072,103.362375 L 431.437708,116.845692 438.845566,96.763711 Z" fill="url(#GR334_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 432.433072,103.362375 L 431.437708,116.845692 438.845566,96.763711 Z" fill="url(#GR334_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR335_0" x1="438.845566" x2="432.952314" y1="96.763711" y2="96.32866"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR335_0" x1="438.845566" x2="432.952314" y1="96.763711" y2="96.32866"> + <stop offset="1" style="stop-color:#73ff83;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR335_1" x1="433.428436" x2="439.655414" y1="89.879057" y2="95.930352"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR335_1" x1="433.428436" x2="439.655414" y1="89.879057" y2="95.930352"> + <stop offset="1" style="stop-color:#73ff83;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR335_2" x1="432.433072" x2="439.600299" y1="103.362375" y2="97.722905"> - <stop offset="0" style="stop-color:#60ff97;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#60ff97;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR335_2" x1="432.433072" x2="439.600299" y1="103.362375" y2="97.722905"> + <stop offset="1" style="stop-color:#73ff83;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#60ff97;stop-opacity:0;"/> </linearGradient> - <polygon id="GT335" points="432.433072 103.362375 438.845566 96.763711 433.428436 89.879057"/> </defs> - <use fill="#73ff83" fill-opacity="1" xlink:href="#GT335"/> - <use fill="url(#GR335_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT335"/> - <use fill="url(#GR335_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT335"/> - <use fill="url(#GR335_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT335"/> + <path d="M 432.433072,103.362375 L 438.845566,96.763711 433.428436,89.879057 Z" fill="#73ff83" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 432.433072,103.362375 L 438.845566,96.763711 433.428436,89.879057 Z" fill="url(#GR335_0)" shape-rendering="crispEdges"/> + <path d="M 432.433072,103.362375 L 438.845566,96.763711 433.428436,89.879057 Z" fill="url(#GR335_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 432.433072,103.362375 L 438.845566,96.763711 433.428436,89.879057 Z" fill="url(#GR335_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR336_0" x1="433.428436" x2="439.655414" y1="89.879057" y2="95.930352"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR336_0" x1="433.428436" x2="439.655414" y1="89.879057" y2="95.930352"> + <stop offset="1" style="stop-color:#70ff87;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR336_1" x1="426.020578" x2="431.91383" y1="109.961038" y2="110.396089"> - <stop offset="0" style="stop-color:#5dff9a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5dff9a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR336_1" x1="426.020578" x2="431.91383" y1="109.961038" y2="110.396089"> + <stop offset="1" style="stop-color:#70ff87;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5dff9a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR336_2" x1="432.433072" x2="428.931208" y1="103.362375" y2="102.070604"> - <stop offset="0" style="stop-color:#60ff97;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#60ff97;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR336_2" x1="432.433072" x2="428.931208" y1="103.362375" y2="102.070604"> + <stop offset="1" style="stop-color:#70ff87;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#60ff97;stop-opacity:0;"/> </linearGradient> - <polygon id="GT336" points="432.433072 103.362375 433.428436 89.879057 426.020578 109.961038"/> </defs> - <use fill="#70ff87" fill-opacity="1" xlink:href="#GT336"/> - <use fill="url(#GR336_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT336"/> - <use fill="url(#GR336_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT336"/> - <use fill="url(#GR336_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT336"/> + <path d="M 432.433072,103.362375 L 433.428436,89.879057 426.020578,109.961038 Z" fill="#70ff87" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 432.433072,103.362375 L 433.428436,89.879057 426.020578,109.961038 Z" fill="url(#GR336_0)" shape-rendering="crispEdges"/> + <path d="M 432.433072,103.362375 L 433.428436,89.879057 426.020578,109.961038 Z" fill="url(#GR336_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 432.433072,103.362375 L 433.428436,89.879057 426.020578,109.961038 Z" fill="url(#GR336_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR337_0" x1="426.020578" x2="431.91383" y1="109.961038" y2="110.396089"> - <stop offset="0" style="stop-color:#5dff9a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5dff9a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR337_0" x1="426.020578" x2="431.91383" y1="109.961038" y2="110.396089"> + <stop offset="1" style="stop-color:#4dffaa;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5dff9a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR337_1" x1="431.437708" x2="425.21073" y1="116.845692" y2="110.794398"> - <stop offset="0" style="stop-color:#29ffce;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#29ffce;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR337_1" x1="431.437708" x2="425.21073" y1="116.845692" y2="110.794398"> + <stop offset="1" style="stop-color:#4dffaa;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#29ffce;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR337_2" x1="432.433072" x2="425.265845" y1="103.362375" y2="109.001845"> - <stop offset="0" style="stop-color:#60ff97;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#60ff97;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR337_2" x1="432.433072" x2="425.265845" y1="103.362375" y2="109.001845"> + <stop offset="1" style="stop-color:#4dffaa;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#60ff97;stop-opacity:0;"/> </linearGradient> - <polygon id="GT337" points="432.433072 103.362375 426.020578 109.961038 431.437708 116.845692"/> </defs> - <use fill="#4dffaa" fill-opacity="1" xlink:href="#GT337"/> - <use fill="url(#GR337_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT337"/> - <use fill="url(#GR337_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT337"/> - <use fill="url(#GR337_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT337"/> + <path d="M 432.433072,103.362375 L 426.020578,109.961038 431.437708,116.845692 Z" fill="#4dffaa" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 432.433072,103.362375 L 426.020578,109.961038 431.437708,116.845692 Z" fill="url(#GR337_0)" shape-rendering="crispEdges"/> + <path d="M 432.433072,103.362375 L 426.020578,109.961038 431.437708,116.845692 Z" fill="url(#GR337_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 432.433072,103.362375 L 426.020578,109.961038 431.437708,116.845692 Z" fill="url(#GR337_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR338_0" x1="438.845566" x2="434.499512" y1="96.763711" y2="89.258803"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR338_0" x1="438.845566" x2="434.499512" y1="96.763711" y2="89.258803"> + <stop offset="1" style="stop-color:#95ff61;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR338_1" x1="449.26761" x2="442.662876" y1="80.706673" y2="79.265797"> - <stop offset="0" style="stop-color:#b7ff40;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b7ff40;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR338_1" x1="449.26761" x2="442.662876" y1="80.706673" y2="79.265797"> + <stop offset="1" style="stop-color:#95ff61;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b7ff40;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR338_2" x1="441.348023" x2="444.825763" y1="85.292865" y2="87.55014"> - <stop offset="0" style="stop-color:#a3ff54;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a3ff54;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR338_2" x1="441.348023" x2="444.825763" y1="85.292865" y2="87.55014"> + <stop offset="1" style="stop-color:#95ff61;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a3ff54;stop-opacity:0;"/> </linearGradient> - <polygon id="GT338" points="441.348023 85.292865 438.845566 96.763711 449.26761 80.706673"/> </defs> - <use fill="#95ff61" fill-opacity="1" xlink:href="#GT338"/> - <use fill="url(#GR338_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT338"/> - <use fill="url(#GR338_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT338"/> - <use fill="url(#GR338_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT338"/> + <path d="M 441.348023,85.292865 L 438.845566,96.763711 449.26761,80.706673 Z" fill="#95ff61" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.348023,85.292865 L 438.845566,96.763711 449.26761,80.706673 Z" fill="url(#GR338_0)" shape-rendering="crispEdges"/> + <path d="M 441.348023,85.292865 L 438.845566,96.763711 449.26761,80.706673 Z" fill="url(#GR338_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.348023,85.292865 L 438.845566,96.763711 449.26761,80.706673 Z" fill="url(#GR338_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR339_0" x1="449.26761" x2="442.662876" y1="80.706673" y2="79.265797"> - <stop offset="0" style="stop-color:#b7ff40;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b7ff40;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR339_0" x1="449.26761" x2="442.662876" y1="80.706673" y2="79.265797"> + <stop offset="1" style="stop-color:#bcff3b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b7ff40;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR339_1" x1="443.85048" x2="448.196534" y1="73.822019" y2="81.326927"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR339_1" x1="443.85048" x2="448.196534" y1="73.822019" y2="81.326927"> + <stop offset="1" style="stop-color:#bcff3b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR339_2" x1="441.348023" x2="448.468063" y1="85.292865" y2="79.690524"> - <stop offset="0" style="stop-color:#a3ff54;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a3ff54;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR339_2" x1="441.348023" x2="448.468063" y1="85.292865" y2="79.690524"> + <stop offset="1" style="stop-color:#bcff3b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a3ff54;stop-opacity:0;"/> </linearGradient> - <polygon id="GT339" points="441.348023 85.292865 449.26761 80.706673 443.85048 73.822019"/> </defs> - <use fill="#bcff3b" fill-opacity="1" xlink:href="#GT339"/> - <use fill="url(#GR339_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT339"/> - <use fill="url(#GR339_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT339"/> - <use fill="url(#GR339_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT339"/> + <path d="M 441.348023,85.292865 L 449.26761,80.706673 443.85048,73.822019 Z" fill="#bcff3b" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.348023,85.292865 L 449.26761,80.706673 443.85048,73.822019 Z" fill="url(#GR339_0)" shape-rendering="crispEdges"/> + <path d="M 441.348023,85.292865 L 449.26761,80.706673 443.85048,73.822019 Z" fill="url(#GR339_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.348023,85.292865 L 449.26761,80.706673 443.85048,73.822019 Z" fill="url(#GR339_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR33a_0" x1="443.85048" x2="448.196534" y1="73.822019" y2="81.326927"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR33a_0" x1="443.85048" x2="448.196534" y1="73.822019" y2="81.326927"> + <stop offset="1" style="stop-color:#b0ff46;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR33a_1" x1="433.428436" x2="440.03317" y1="89.879057" y2="91.319933"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR33a_1" x1="433.428436" x2="440.03317" y1="89.879057" y2="91.319933"> + <stop offset="1" style="stop-color:#b0ff46;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR33a_2" x1="441.348023" x2="437.870284" y1="85.292865" y2="83.03559"> - <stop offset="0" style="stop-color:#a3ff54;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a3ff54;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR33a_2" x1="441.348023" x2="437.870284" y1="85.292865" y2="83.03559"> + <stop offset="1" style="stop-color:#b0ff46;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a3ff54;stop-opacity:0;"/> </linearGradient> - <polygon id="GT33a" points="441.348023 85.292865 443.85048 73.822019 433.428436 89.879057"/> </defs> - <use fill="#b0ff46" fill-opacity="1" xlink:href="#GT33a"/> - <use fill="url(#GR33a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT33a"/> - <use fill="url(#GR33a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT33a"/> - <use fill="url(#GR33a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT33a"/> + <path d="M 441.348023,85.292865 L 443.85048,73.822019 433.428436,89.879057 Z" fill="#b0ff46" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.348023,85.292865 L 443.85048,73.822019 433.428436,89.879057 Z" fill="url(#GR33a_0)" shape-rendering="crispEdges"/> + <path d="M 441.348023,85.292865 L 443.85048,73.822019 433.428436,89.879057 Z" fill="url(#GR33a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.348023,85.292865 L 443.85048,73.822019 433.428436,89.879057 Z" fill="url(#GR33a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR33b_0" x1="433.428436" x2="440.03317" y1="89.879057" y2="91.319933"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR33b_0" x1="433.428436" x2="440.03317" y1="89.879057" y2="91.319933"> + <stop offset="1" style="stop-color:#8aff6d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR33b_1" x1="438.845566" x2="434.499512" y1="96.763711" y2="89.258803"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR33b_1" x1="438.845566" x2="434.499512" y1="96.763711" y2="89.258803"> + <stop offset="1" style="stop-color:#8aff6d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR33b_2" x1="441.348023" x2="434.227984" y1="85.292865" y2="90.895206"> - <stop offset="0" style="stop-color:#a3ff54;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#a3ff54;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR33b_2" x1="441.348023" x2="434.227984" y1="85.292865" y2="90.895206"> + <stop offset="1" style="stop-color:#8aff6d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#a3ff54;stop-opacity:0;"/> </linearGradient> - <polygon id="GT33b" points="441.348023 85.292865 433.428436 89.879057 438.845566 96.763711"/> </defs> - <use fill="#8aff6d" fill-opacity="1" xlink:href="#GT33b"/> - <use fill="url(#GR33b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT33b"/> - <use fill="url(#GR33b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT33b"/> - <use fill="url(#GR33b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT33b"/> + <path d="M 441.348023,85.292865 L 433.428436,89.879057 438.845566,96.763711 Z" fill="#8aff6d" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.348023,85.292865 L 433.428436,89.879057 438.845566,96.763711 Z" fill="url(#GR33b_0)" shape-rendering="crispEdges"/> + <path d="M 441.348023,85.292865 L 433.428436,89.879057 438.845566,96.763711 Z" fill="url(#GR33b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.348023,85.292865 L 433.428436,89.879057 438.845566,96.763711 Z" fill="url(#GR33b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR33c_0" x1="449.26761" x2="447.580804" y1="80.706673" y2="73.005009"> - <stop offset="0" style="stop-color:#b7ff40;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b7ff40;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR33c_0" x1="449.26761" x2="447.580804" y1="80.706673" y2="73.005009"> + <stop offset="1" style="stop-color:#dee81d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b7ff40;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR33c_1" x1="461.933441" x2="454.880488" y1="69.861517" y2="66.97797"> - <stop offset="0" style="stop-color:#ffd700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR33c_1" x1="461.933441" x2="454.880488" y1="69.861517" y2="66.97797"> + <stop offset="1" style="stop-color:#dee81d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR33c_2" x1="452.891961" x2="455.738387" y1="71.841768" y2="75.16605"> - <stop offset="0" style="stop-color:#e4e217;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e4e217;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR33c_2" x1="452.891961" x2="455.738387" y1="71.841768" y2="75.16605"> + <stop offset="1" style="stop-color:#dee81d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e4e217;stop-opacity:0;"/> </linearGradient> - <polygon id="GT33c" points="452.891961 71.841768 449.26761 80.706673 461.933441 69.861517"/> </defs> - <use fill="#dee81d" fill-opacity="1" xlink:href="#GT33c"/> - <use fill="url(#GR33c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT33c"/> - <use fill="url(#GR33c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT33c"/> - <use fill="url(#GR33c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT33c"/> + <path d="M 452.891961,71.841768 L 449.26761,80.706673 461.933441,69.861517 Z" fill="#dee81d" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.891961,71.841768 L 449.26761,80.706673 461.933441,69.861517 Z" fill="url(#GR33c_0)" shape-rendering="crispEdges"/> + <path d="M 452.891961,71.841768 L 449.26761,80.706673 461.933441,69.861517 Z" fill="url(#GR33c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.891961,71.841768 L 449.26761,80.706673 461.933441,69.861517 Z" fill="url(#GR33c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR33d_0" x1="461.933441" x2="454.880488" y1="69.861517" y2="66.97797"> - <stop offset="0" style="stop-color:#ffd700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR33d_0" x1="461.933441" x2="454.880488" y1="69.861517" y2="66.97797"> + <stop offset="1" style="stop-color:#f6ce08;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR33d_1" x1="456.516311" x2="458.203117" y1="62.976863" y2="70.678527"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR33d_1" x1="456.516311" x2="458.203117" y1="62.976863" y2="70.678527"> + <stop offset="1" style="stop-color:#f6ce08;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR33d_2" x1="452.891961" x2="459.438497" y1="71.841768" y2="66.690683"> - <stop offset="0" style="stop-color:#e4e217;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e4e217;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR33d_2" x1="452.891961" x2="459.438497" y1="71.841768" y2="66.690683"> + <stop offset="1" style="stop-color:#f6ce08;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e4e217;stop-opacity:0;"/> </linearGradient> - <polygon id="GT33d" points="452.891961 71.841768 461.933441 69.861517 456.516311 62.976863"/> </defs> - <use fill="#f6ce08" fill-opacity="1" xlink:href="#GT33d"/> - <use fill="url(#GR33d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT33d"/> - <use fill="url(#GR33d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT33d"/> - <use fill="url(#GR33d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT33d"/> + <path d="M 452.891961,71.841768 L 461.933441,69.861517 456.516311,62.976863 Z" fill="#f6ce08" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.891961,71.841768 L 461.933441,69.861517 456.516311,62.976863 Z" fill="url(#GR33d_0)" shape-rendering="crispEdges"/> + <path d="M 452.891961,71.841768 L 461.933441,69.861517 456.516311,62.976863 Z" fill="url(#GR33d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.891961,71.841768 L 461.933441,69.861517 456.516311,62.976863 Z" fill="url(#GR33d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR33e_0" x1="456.516311" x2="458.203117" y1="62.976863" y2="70.678527"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR33e_0" x1="456.516311" x2="458.203117" y1="62.976863" y2="70.678527"> + <stop offset="1" style="stop-color:#eadc11;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR33e_1" x1="443.85048" x2="450.903433" y1="73.822019" y2="76.705566"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR33e_1" x1="443.85048" x2="450.903433" y1="73.822019" y2="76.705566"> + <stop offset="1" style="stop-color:#eadc11;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR33e_2" x1="452.891961" x2="450.045534" y1="71.841768" y2="68.517486"> - <stop offset="0" style="stop-color:#e4e217;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e4e217;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR33e_2" x1="452.891961" x2="450.045534" y1="71.841768" y2="68.517486"> + <stop offset="1" style="stop-color:#eadc11;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e4e217;stop-opacity:0;"/> </linearGradient> - <polygon id="GT33e" points="452.891961 71.841768 456.516311 62.976863 443.85048 73.822019"/> </defs> - <use fill="#eadc11" fill-opacity="1" xlink:href="#GT33e"/> - <use fill="url(#GR33e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT33e"/> - <use fill="url(#GR33e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT33e"/> - <use fill="url(#GR33e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT33e"/> + <path d="M 452.891961,71.841768 L 456.516311,62.976863 443.85048,73.822019 Z" fill="#eadc11" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.891961,71.841768 L 456.516311,62.976863 443.85048,73.822019 Z" fill="url(#GR33e_0)" shape-rendering="crispEdges"/> + <path d="M 452.891961,71.841768 L 456.516311,62.976863 443.85048,73.822019 Z" fill="url(#GR33e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.891961,71.841768 L 456.516311,62.976863 443.85048,73.822019 Z" fill="url(#GR33e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR33f_0" x1="443.85048" x2="450.903433" y1="73.822019" y2="76.705566"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR33f_0" x1="443.85048" x2="450.903433" y1="73.822019" y2="76.705566"> + <stop offset="1" style="stop-color:#d2f526;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR33f_1" x1="449.26761" x2="447.580804" y1="80.706673" y2="73.005009"> - <stop offset="0" style="stop-color:#b7ff40;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b7ff40;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR33f_1" x1="449.26761" x2="447.580804" y1="80.706673" y2="73.005009"> + <stop offset="1" style="stop-color:#d2f526;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b7ff40;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR33f_2" x1="452.891961" x2="446.345424" y1="71.841768" y2="76.992853"> - <stop offset="0" style="stop-color:#e4e217;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e4e217;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR33f_2" x1="452.891961" x2="446.345424" y1="71.841768" y2="76.992853"> + <stop offset="1" style="stop-color:#d2f526;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e4e217;stop-opacity:0;"/> </linearGradient> - <polygon id="GT33f" points="452.891961 71.841768 443.85048 73.822019 449.26761 80.706673"/> </defs> - <use fill="#d2f526" fill-opacity="1" xlink:href="#GT33f"/> - <use fill="url(#GR33f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT33f"/> - <use fill="url(#GR33f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT33f"/> - <use fill="url(#GR33f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT33f"/> + <path d="M 452.891961,71.841768 L 443.85048,73.822019 449.26761,80.706673 Z" fill="#d2f526" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 452.891961,71.841768 L 443.85048,73.822019 449.26761,80.706673 Z" fill="url(#GR33f_0)" shape-rendering="crispEdges"/> + <path d="M 452.891961,71.841768 L 443.85048,73.822019 449.26761,80.706673 Z" fill="url(#GR33f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 452.891961,71.841768 L 443.85048,73.822019 449.26761,80.706673 Z" fill="url(#GR33f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR340_0" x1="461.933441" x2="462.594249" y1="69.861517" y2="63.620393"> - <stop offset="0" style="stop-color:#ffd700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR340_0" x1="461.933441" x2="462.594249" y1="69.861517" y2="63.620393"> + <stop offset="1" style="stop-color:#ff9a00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR340_1" x1="475.906795" x2="469.094839" y1="65.029921" y2="60.055238"> - <stop offset="0" style="stop-color:#ff6800;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6800;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR340_1" x1="475.906795" x2="469.094839" y1="65.029921" y2="60.055238"> + <stop offset="1" style="stop-color:#ff9a00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6800;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR340_2" x1="466.211553" x2="467.563954" y1="64.003392" y2="67.914643"> - <stop offset="0" style="stop-color:#ff8e00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8e00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR340_2" x1="466.211553" x2="467.563954" y1="64.003392" y2="67.914643"> + <stop offset="1" style="stop-color:#ff9a00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8e00;stop-opacity:0;"/> </linearGradient> - <polygon id="GT340" points="466.211553 64.003392 461.933441 69.861517 475.906795 65.029921"/> </defs> - <use fill="#ff9a00" fill-opacity="1" xlink:href="#GT340"/> - <use fill="url(#GR340_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT340"/> - <use fill="url(#GR340_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT340"/> - <use fill="url(#GR340_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT340"/> + <path d="M 466.211553,64.003392 L 461.933441,69.861517 475.906795,65.029921 Z" fill="#ff9a00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 466.211553,64.003392 L 461.933441,69.861517 475.906795,65.029921 Z" fill="url(#GR340_0)" shape-rendering="crispEdges"/> + <path d="M 466.211553,64.003392 L 461.933441,69.861517 475.906795,65.029921 Z" fill="url(#GR340_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 466.211553,64.003392 L 461.933441,69.861517 475.906795,65.029921 Z" fill="url(#GR340_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR341_0" x1="475.906795" x2="469.094839" y1="65.029921" y2="60.055238"> - <stop offset="0" style="stop-color:#ff6800;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6800;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR341_0" x1="475.906795" x2="469.094839" y1="65.029921" y2="60.055238"> + <stop offset="1" style="stop-color:#ff6900;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6800;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR341_1" x1="470.489665" x2="469.828857" y1="58.145268" y2="64.386391"> - <stop offset="0" style="stop-color:#ff4700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff4700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR341_1" x1="470.489665" x2="469.828857" y1="58.145268" y2="64.386391"> + <stop offset="1" style="stop-color:#ff6900;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff4700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR341_2" x1="466.211553" x2="471.700665" y1="64.003392" y2="59.684332"> - <stop offset="0" style="stop-color:#ff8e00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8e00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR341_2" x1="466.211553" x2="471.700665" y1="64.003392" y2="59.684332"> + <stop offset="1" style="stop-color:#ff6900;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8e00;stop-opacity:0;"/> </linearGradient> - <polygon id="GT341" points="466.211553 64.003392 475.906795 65.029921 470.489665 58.145268"/> </defs> - <use fill="#ff6900" fill-opacity="1" xlink:href="#GT341"/> - <use fill="url(#GR341_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT341"/> - <use fill="url(#GR341_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT341"/> - <use fill="url(#GR341_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT341"/> + <path d="M 466.211553,64.003392 L 475.906795,65.029921 470.489665,58.145268 Z" fill="#ff6900" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 466.211553,64.003392 L 475.906795,65.029921 470.489665,58.145268 Z" fill="url(#GR341_0)" shape-rendering="crispEdges"/> + <path d="M 466.211553,64.003392 L 475.906795,65.029921 470.489665,58.145268 Z" fill="url(#GR341_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 466.211553,64.003392 L 475.906795,65.029921 470.489665,58.145268 Z" fill="url(#GR341_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR342_0" x1="470.489665" x2="469.828857" y1="58.145268" y2="64.386391"> - <stop offset="0" style="stop-color:#ff4700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff4700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR342_0" x1="470.489665" x2="469.828857" y1="58.145268" y2="64.386391"> + <stop offset="1" style="stop-color:#ff8200;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff4700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR342_1" x1="456.516311" x2="463.328267" y1="62.976863" y2="67.951547"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR342_1" x1="456.516311" x2="463.328267" y1="62.976863" y2="67.951547"> + <stop offset="1" style="stop-color:#ff8200;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR342_2" x1="466.211553" x2="464.859152" y1="64.003392" y2="60.092142"> - <stop offset="0" style="stop-color:#ff8e00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8e00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR342_2" x1="466.211553" x2="464.859152" y1="64.003392" y2="60.092142"> + <stop offset="1" style="stop-color:#ff8200;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8e00;stop-opacity:0;"/> </linearGradient> - <polygon id="GT342" points="466.211553 64.003392 470.489665 58.145268 456.516311 62.976863"/> </defs> - <use fill="#ff8200" fill-opacity="1" xlink:href="#GT342"/> - <use fill="url(#GR342_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT342"/> - <use fill="url(#GR342_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT342"/> - <use fill="url(#GR342_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT342"/> + <path d="M 466.211553,64.003392 L 470.489665,58.145268 456.516311,62.976863 Z" fill="#ff8200" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 466.211553,64.003392 L 470.489665,58.145268 456.516311,62.976863 Z" fill="url(#GR342_0)" shape-rendering="crispEdges"/> + <path d="M 466.211553,64.003392 L 470.489665,58.145268 456.516311,62.976863 Z" fill="url(#GR342_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 466.211553,64.003392 L 470.489665,58.145268 456.516311,62.976863 Z" fill="url(#GR342_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR343_0" x1="456.516311" x2="463.328267" y1="62.976863" y2="67.951547"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR343_0" x1="456.516311" x2="463.328267" y1="62.976863" y2="67.951547"> + <stop offset="1" style="stop-color:#ffb200;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR343_1" x1="461.933441" x2="462.594249" y1="69.861517" y2="63.620393"> - <stop offset="0" style="stop-color:#ffd700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR343_1" x1="461.933441" x2="462.594249" y1="69.861517" y2="63.620393"> + <stop offset="1" style="stop-color:#ffb200;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR343_2" x1="466.211553" x2="460.722441" y1="64.003392" y2="68.322452"> - <stop offset="0" style="stop-color:#ff8e00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8e00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR343_2" x1="466.211553" x2="460.722441" y1="64.003392" y2="68.322452"> + <stop offset="1" style="stop-color:#ffb200;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8e00;stop-opacity:0;"/> </linearGradient> - <polygon id="GT343" points="466.211553 64.003392 456.516311 62.976863 461.933441 69.861517"/> </defs> - <use fill="#ffb200" fill-opacity="1" xlink:href="#GT343"/> - <use fill="url(#GR343_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT343"/> - <use fill="url(#GR343_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT343"/> - <use fill="url(#GR343_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT343"/> + <path d="M 466.211553,64.003392 L 456.516311,62.976863 461.933441,69.861517 Z" fill="#ffb200" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 466.211553,64.003392 L 456.516311,62.976863 461.933441,69.861517 Z" fill="url(#GR343_0)" shape-rendering="crispEdges"/> + <path d="M 466.211553,64.003392 L 456.516311,62.976863 461.933441,69.861517 Z" fill="url(#GR343_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 466.211553,64.003392 L 456.516311,62.976863 461.933441,69.861517 Z" fill="url(#GR343_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR344_0" x1="470.489665" x2="469.845462" y1="230.512401" y2="224.298872"> - <stop offset="0" style="stop-color:#ff4700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff4700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR344_0" x1="470.489665" x2="469.845462" y1="230.512401" y2="224.298872"> + <stop offset="1" style="stop-color:#ff7600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff4700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR344_1" x1="456.516311" x2="457.566755" y1="225.680806" y2="223.690825"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR344_1" x1="456.516311" x2="457.566755" y1="225.680806" y2="223.690825"> + <stop offset="1" style="stop-color:#ff7600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR344_2" x1="460.545283" x2="459.986017" y1="225.263092" y2="226.880533"> - <stop offset="0" style="stop-color:#ff6a00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6a00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR344_2" x1="460.545283" x2="459.986017" y1="225.263092" y2="226.880533"> + <stop offset="1" style="stop-color:#ff7600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6a00;stop-opacity:0;"/> </linearGradient> - <polygon id="GT344" points="460.545283 225.263092 470.489665 230.512401 456.516311 225.680806"/> </defs> - <use fill="#ff7600" fill-opacity="1" xlink:href="#GT344"/> - <use fill="url(#GR344_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT344"/> - <use fill="url(#GR344_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT344"/> - <use fill="url(#GR344_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT344"/> + <path d="M 460.545283,225.263092 L 470.489665,230.512401 456.516311,225.680806 Z" fill="#ff7600" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 460.545283,225.263092 L 470.489665,230.512401 456.516311,225.680806 Z" fill="url(#GR344_0)" shape-rendering="crispEdges"/> + <path d="M 460.545283,225.263092 L 470.489665,230.512401 456.516311,225.680806 Z" fill="url(#GR344_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 460.545283,225.263092 L 470.489665,230.512401 456.516311,225.680806 Z" fill="url(#GR344_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR345_0" x1="456.516311" x2="457.566755" y1="225.680806" y2="223.690825"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR345_0" x1="456.516311" x2="457.566755" y1="225.680806" y2="223.690825"> + <stop offset="1" style="stop-color:#ff8c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR345_1" x1="450.600901" x2="451.245105" y1="220.013782" y2="226.227311"> - <stop offset="0" style="stop-color:#ff8900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR345_1" x1="450.600901" x2="451.245105" y1="220.013782" y2="226.227311"> + <stop offset="1" style="stop-color:#ff8c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR345_2" x1="460.545283" x2="458.408494" y1="225.263092" y2="227.493537"> - <stop offset="0" style="stop-color:#ff6a00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6a00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR345_2" x1="460.545283" x2="458.408494" y1="225.263092" y2="227.493537"> + <stop offset="1" style="stop-color:#ff8c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6a00;stop-opacity:0;"/> </linearGradient> - <polygon id="GT345" points="460.545283 225.263092 456.516311 225.680806 450.600901 220.013782"/> </defs> - <use fill="#ff8c00" fill-opacity="1" xlink:href="#GT345"/> - <use fill="url(#GR345_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT345"/> - <use fill="url(#GR345_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT345"/> - <use fill="url(#GR345_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT345"/> + <path d="M 460.545283,225.263092 L 456.516311,225.680806 450.600901,220.013782 Z" fill="#ff8c00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 460.545283,225.263092 L 456.516311,225.680806 450.600901,220.013782 Z" fill="url(#GR345_0)" shape-rendering="crispEdges"/> + <path d="M 460.545283,225.263092 L 456.516311,225.680806 450.600901,220.013782 Z" fill="url(#GR345_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 460.545283,225.263092 L 456.516311,225.680806 450.600901,220.013782 Z" fill="url(#GR345_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR346_0" x1="450.600901" x2="451.245105" y1="220.013782" y2="226.227311"> - <stop offset="0" style="stop-color:#ff8900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR346_0" x1="450.600901" x2="451.245105" y1="220.013782" y2="226.227311"> + <stop offset="1" style="stop-color:#ff5d00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR346_1" x1="464.574256" x2="463.523811" y1="224.845378" y2="226.835358"> - <stop offset="0" style="stop-color:#ff2500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff2500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR346_1" x1="464.574256" x2="463.523811" y1="224.845378" y2="226.835358"> + <stop offset="1" style="stop-color:#ff5d00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff2500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR346_2" x1="460.545283" x2="461.104549" y1="225.263092" y2="223.64565"> - <stop offset="0" style="stop-color:#ff6a00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6a00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR346_2" x1="460.545283" x2="461.104549" y1="225.263092" y2="223.64565"> + <stop offset="1" style="stop-color:#ff5d00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6a00;stop-opacity:0;"/> </linearGradient> - <polygon id="GT346" points="460.545283 225.263092 450.600901 220.013782 464.574256 224.845378"/> </defs> - <use fill="#ff5d00" fill-opacity="1" xlink:href="#GT346"/> - <use fill="url(#GR346_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT346"/> - <use fill="url(#GR346_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT346"/> - <use fill="url(#GR346_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT346"/> + <path d="M 460.545283,225.263092 L 450.600901,220.013782 464.574256,224.845378 Z" fill="#ff5d00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 460.545283,225.263092 L 450.600901,220.013782 464.574256,224.845378 Z" fill="url(#GR346_0)" shape-rendering="crispEdges"/> + <path d="M 460.545283,225.263092 L 450.600901,220.013782 464.574256,224.845378 Z" fill="url(#GR346_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 460.545283,225.263092 L 450.600901,220.013782 464.574256,224.845378 Z" fill="url(#GR346_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR347_0" x1="464.574256" x2="463.523811" y1="224.845378" y2="226.835358"> - <stop offset="0" style="stop-color:#ff2500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff2500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR347_0" x1="464.574256" x2="463.523811" y1="224.845378" y2="226.835358"> + <stop offset="1" style="stop-color:#ff4700;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff2500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR347_1" x1="470.489665" x2="469.845462" y1="230.512401" y2="224.298872"> - <stop offset="0" style="stop-color:#ff4700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff4700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR347_1" x1="470.489665" x2="469.845462" y1="230.512401" y2="224.298872"> + <stop offset="1" style="stop-color:#ff4700;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff4700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR347_2" x1="460.545283" x2="462.682073" y1="225.263092" y2="223.032647"> - <stop offset="0" style="stop-color:#ff6a00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6a00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR347_2" x1="460.545283" x2="462.682073" y1="225.263092" y2="223.032647"> + <stop offset="1" style="stop-color:#ff4700;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6a00;stop-opacity:0;"/> </linearGradient> - <polygon id="GT347" points="460.545283 225.263092 464.574256 224.845378 470.489665 230.512401"/> </defs> - <use fill="#ff4700" fill-opacity="1" xlink:href="#GT347"/> - <use fill="url(#GR347_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT347"/> - <use fill="url(#GR347_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT347"/> - <use fill="url(#GR347_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT347"/> + <path d="M 460.545283,225.263092 L 464.574256,224.845378 470.489665,230.512401 Z" fill="#ff4700" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 460.545283,225.263092 L 464.574256,224.845378 470.489665,230.512401 Z" fill="url(#GR347_0)" shape-rendering="crispEdges"/> + <path d="M 460.545283,225.263092 L 464.574256,224.845378 470.489665,230.512401 Z" fill="url(#GR347_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 460.545283,225.263092 L 464.574256,224.845378 470.489665,230.512401 Z" fill="url(#GR347_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR348_0" x1="456.516311" x2="457.061731" y1="225.680806" y2="224.969774"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR348_0" x1="456.516311" x2="457.061731" y1="225.680806" y2="224.969774"> + <stop offset="1" style="stop-color:#f0d30c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR348_1" x1="443.85048" x2="444.054213" y1="214.83565" y2="214.606389"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR348_1" x1="443.85048" x2="444.054213" y1="214.83565" y2="214.606389"> + <stop offset="1" style="stop-color:#f0d30c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR348_2" x1="447.225691" x2="447.077001" y1="217.424716" y2="217.598368"> - <stop offset="0" style="stop-color:#f6c807;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f6c807;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR348_2" x1="447.225691" x2="447.077001" y1="217.424716" y2="217.598368"> + <stop offset="1" style="stop-color:#f0d30c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f6c807;stop-opacity:0;"/> </linearGradient> - <polygon id="GT348" points="447.225691 217.424716 456.516311 225.680806 443.85048 214.83565"/> </defs> - <use fill="#f0d30c" fill-opacity="1" xlink:href="#GT348"/> - <use fill="url(#GR348_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT348"/> - <use fill="url(#GR348_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT348"/> - <use fill="url(#GR348_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT348"/> + <path d="M 447.225691,217.424716 L 456.516311,225.680806 443.85048,214.83565 Z" fill="#f0d30c" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.225691,217.424716 L 456.516311,225.680806 443.85048,214.83565 Z" fill="url(#GR348_0)" shape-rendering="crispEdges"/> + <path d="M 447.225691,217.424716 L 456.516311,225.680806 443.85048,214.83565 Z" fill="url(#GR348_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.225691,217.424716 L 456.516311,225.680806 443.85048,214.83565 Z" fill="url(#GR348_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR349_0" x1="443.85048" x2="444.054213" y1="214.83565" y2="214.606389"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR349_0" x1="443.85048" x2="444.054213" y1="214.83565" y2="214.606389"> + <stop offset="1" style="stop-color:#f0e40c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR349_1" x1="437.935071" x2="437.389651" y1="209.168626" y2="209.879658"> - <stop offset="0" style="stop-color:#ffe600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffe600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR349_1" x1="437.935071" x2="437.389651" y1="209.168626" y2="209.879658"> + <stop offset="1" style="stop-color:#f0e40c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffe600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR349_2" x1="447.225691" x2="446.903777" y1="217.424716" y2="217.76074"> - <stop offset="0" style="stop-color:#f6c807;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f6c807;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR349_2" x1="447.225691" x2="446.903777" y1="217.424716" y2="217.76074"> + <stop offset="1" style="stop-color:#f0e40c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f6c807;stop-opacity:0;"/> </linearGradient> - <polygon id="GT349" points="447.225691 217.424716 443.85048 214.83565 437.935071 209.168626"/> </defs> - <use fill="#f0e40c" fill-opacity="1" xlink:href="#GT349"/> - <use fill="url(#GR349_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT349"/> - <use fill="url(#GR349_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT349"/> - <use fill="url(#GR349_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT349"/> + <path d="M 447.225691,217.424716 L 443.85048,214.83565 437.935071,209.168626 Z" fill="#f0e40c" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.225691,217.424716 L 443.85048,214.83565 437.935071,209.168626 Z" fill="url(#GR349_0)" shape-rendering="crispEdges"/> + <path d="M 447.225691,217.424716 L 443.85048,214.83565 437.935071,209.168626 Z" fill="url(#GR349_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.225691,217.424716 L 443.85048,214.83565 437.935071,209.168626 Z" fill="url(#GR349_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR34a_0" x1="437.935071" x2="437.389651" y1="209.168626" y2="209.879658"> - <stop offset="0" style="stop-color:#ffe600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffe600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR34a_0" x1="437.935071" x2="437.389651" y1="209.168626" y2="209.879658"> + <stop offset="1" style="stop-color:#fcbd02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffe600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR34a_1" x1="450.600901" x2="450.397169" y1="220.013782" y2="220.243043"> - <stop offset="0" style="stop-color:#ff8900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR34a_1" x1="450.600901" x2="450.397169" y1="220.013782" y2="220.243043"> + <stop offset="1" style="stop-color:#fcbd02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR34a_2" x1="447.225691" x2="447.374381" y1="217.424716" y2="217.251064"> - <stop offset="0" style="stop-color:#f6c807;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f6c807;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR34a_2" x1="447.225691" x2="447.374381" y1="217.424716" y2="217.251064"> + <stop offset="1" style="stop-color:#fcbd02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f6c807;stop-opacity:0;"/> </linearGradient> - <polygon id="GT34a" points="447.225691 217.424716 437.935071 209.168626 450.600901 220.013782"/> </defs> - <use fill="#fcbd02" fill-opacity="1" xlink:href="#GT34a"/> - <use fill="url(#GR34a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT34a"/> - <use fill="url(#GR34a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT34a"/> - <use fill="url(#GR34a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT34a"/> + <path d="M 447.225691,217.424716 L 437.935071,209.168626 450.600901,220.013782 Z" fill="#fcbd02" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.225691,217.424716 L 437.935071,209.168626 450.600901,220.013782 Z" fill="url(#GR34a_0)" shape-rendering="crispEdges"/> + <path d="M 447.225691,217.424716 L 437.935071,209.168626 450.600901,220.013782 Z" fill="url(#GR34a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.225691,217.424716 L 437.935071,209.168626 450.600901,220.013782 Z" fill="url(#GR34a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR34b_0" x1="450.600901" x2="450.397169" y1="220.013782" y2="220.243043"> - <stop offset="0" style="stop-color:#ff8900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR34b_0" x1="450.600901" x2="450.397169" y1="220.013782" y2="220.243043"> + <stop offset="1" style="stop-color:#fcac02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR34b_1" x1="456.516311" x2="457.061731" y1="225.680806" y2="224.969774"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR34b_1" x1="456.516311" x2="457.061731" y1="225.680806" y2="224.969774"> + <stop offset="1" style="stop-color:#fcac02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR34b_2" x1="447.225691" x2="447.547605" y1="217.424716" y2="217.088692"> - <stop offset="0" style="stop-color:#f6c807;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f6c807;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR34b_2" x1="447.225691" x2="447.547605" y1="217.424716" y2="217.088692"> + <stop offset="1" style="stop-color:#fcac02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f6c807;stop-opacity:0;"/> </linearGradient> - <polygon id="GT34b" points="447.225691 217.424716 450.600901 220.013782 456.516311 225.680806"/> </defs> - <use fill="#fcac02" fill-opacity="1" xlink:href="#GT34b"/> - <use fill="url(#GR34b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT34b"/> - <use fill="url(#GR34b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT34b"/> - <use fill="url(#GR34b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT34b"/> + <path d="M 447.225691,217.424716 L 450.600901,220.013782 456.516311,225.680806 Z" fill="#fcac02" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.225691,217.424716 L 450.600901,220.013782 456.516311,225.680806 Z" fill="url(#GR34b_0)" shape-rendering="crispEdges"/> + <path d="M 447.225691,217.424716 L 450.600901,220.013782 456.516311,225.680806 Z" fill="url(#GR34b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.225691,217.424716 L 450.600901,220.013782 456.516311,225.680806 Z" fill="url(#GR34b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR34c_0" x1="443.85048" x2="440.940581" y1="214.83565" y2="216.097809"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR34c_0" x1="443.85048" x2="440.940581" y1="214.83565" y2="216.097809"> + <stop offset="1" style="stop-color:#befd3a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR34c_1" x1="433.428436" x2="432.372235" y1="198.778611" y2="199.572921"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR34c_1" x1="433.428436" x2="432.372235" y1="198.778611" y2="199.572921"> + <stop offset="1" style="stop-color:#befd3a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR34c_2" x1="435.681753" x2="436.46877" y1="203.973619" y2="203.462795"> - <stop offset="0" style="stop-color:#cbf92d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#cbf92d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR34c_2" x1="435.681753" x2="436.46877" y1="203.973619" y2="203.462795"> + <stop offset="1" style="stop-color:#befd3a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#cbf92d;stop-opacity:0;"/> </linearGradient> - <polygon id="GT34c" points="435.681753 203.973619 443.85048 214.83565 433.428436 198.778611"/> </defs> - <use fill="#befd3a" fill-opacity="1" xlink:href="#GT34c"/> - <use fill="url(#GR34c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT34c"/> - <use fill="url(#GR34c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT34c"/> - <use fill="url(#GR34c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT34c"/> + <path d="M 435.681753,203.973619 L 443.85048,214.83565 433.428436,198.778611 Z" fill="#befd3a" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 435.681753,203.973619 L 443.85048,214.83565 433.428436,198.778611 Z" fill="url(#GR34c_0)" shape-rendering="crispEdges"/> + <path d="M 435.681753,203.973619 L 443.85048,214.83565 433.428436,198.778611 Z" fill="url(#GR34c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 435.681753,203.973619 L 443.85048,214.83565 433.428436,198.778611 Z" fill="url(#GR34c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR34d_0" x1="433.428436" x2="432.372235" y1="198.778611" y2="199.572921"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR34d_0" x1="433.428436" x2="432.372235" y1="198.778611" y2="199.572921"> + <stop offset="1" style="stop-color:#b5fd42;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR34d_1" x1="427.513027" x2="430.422926" y1="193.111588" y2="191.849429"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR34d_1" x1="427.513027" x2="430.422926" y1="193.111588" y2="191.849429"> + <stop offset="1" style="stop-color:#b5fd42;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR34d_2" x1="435.681753" x2="437.198511" y1="203.973619" y2="202.390382"> - <stop offset="0" style="stop-color:#cbf92d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#cbf92d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR34d_2" x1="435.681753" x2="437.198511" y1="203.973619" y2="202.390382"> + <stop offset="1" style="stop-color:#b5fd42;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#cbf92d;stop-opacity:0;"/> </linearGradient> - <polygon id="GT34d" points="435.681753 203.973619 433.428436 198.778611 427.513027 193.111588"/> </defs> - <use fill="#b5fd42" fill-opacity="1" xlink:href="#GT34d"/> - <use fill="url(#GR34d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT34d"/> - <use fill="url(#GR34d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT34d"/> - <use fill="url(#GR34d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT34d"/> + <path d="M 435.681753,203.973619 L 433.428436,198.778611 427.513027,193.111588 Z" fill="#b5fd42" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 435.681753,203.973619 L 433.428436,198.778611 427.513027,193.111588 Z" fill="url(#GR34d_0)" shape-rendering="crispEdges"/> + <path d="M 435.681753,203.973619 L 433.428436,198.778611 427.513027,193.111588 Z" fill="url(#GR34d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 435.681753,203.973619 L 433.428436,198.778611 427.513027,193.111588 Z" fill="url(#GR34d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR34e_0" x1="427.513027" x2="430.422926" y1="193.111588" y2="191.849429"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR34e_0" x1="427.513027" x2="430.422926" y1="193.111588" y2="191.849429"> + <stop offset="1" style="stop-color:#d9f521;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR34e_1" x1="437.935071" x2="438.991272" y1="209.168626" y2="208.374316"> - <stop offset="0" style="stop-color:#ffe600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffe600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR34e_1" x1="437.935071" x2="438.991272" y1="209.168626" y2="208.374316"> + <stop offset="1" style="stop-color:#d9f521;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffe600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR34e_2" x1="435.681753" x2="434.894737" y1="203.973619" y2="204.484443"> - <stop offset="0" style="stop-color:#cbf92d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#cbf92d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR34e_2" x1="435.681753" x2="434.894737" y1="203.973619" y2="204.484443"> + <stop offset="1" style="stop-color:#d9f521;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#cbf92d;stop-opacity:0;"/> </linearGradient> - <polygon id="GT34e" points="435.681753 203.973619 427.513027 193.111588 437.935071 209.168626"/> </defs> - <use fill="#d9f521" fill-opacity="1" xlink:href="#GT34e"/> - <use fill="url(#GR34e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT34e"/> - <use fill="url(#GR34e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT34e"/> - <use fill="url(#GR34e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT34e"/> + <path d="M 435.681753,203.973619 L 427.513027,193.111588 437.935071,209.168626 Z" fill="#d9f521" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 435.681753,203.973619 L 427.513027,193.111588 437.935071,209.168626 Z" fill="url(#GR34e_0)" shape-rendering="crispEdges"/> + <path d="M 435.681753,203.973619 L 427.513027,193.111588 437.935071,209.168626 Z" fill="url(#GR34e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 435.681753,203.973619 L 427.513027,193.111588 437.935071,209.168626 Z" fill="url(#GR34e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR34f_0" x1="437.935071" x2="438.991272" y1="209.168626" y2="208.374316"> - <stop offset="0" style="stop-color:#ffe600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffe600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR34f_0" x1="437.935071" x2="438.991272" y1="209.168626" y2="208.374316"> + <stop offset="1" style="stop-color:#e2f519;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffe600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR34f_1" x1="443.85048" x2="440.940581" y1="214.83565" y2="216.097809"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR34f_1" x1="443.85048" x2="440.940581" y1="214.83565" y2="216.097809"> + <stop offset="1" style="stop-color:#e2f519;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR34f_2" x1="435.681753" x2="434.164996" y1="203.973619" y2="205.556856"> - <stop offset="0" style="stop-color:#cbf92d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#cbf92d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR34f_2" x1="435.681753" x2="434.164996" y1="203.973619" y2="205.556856"> + <stop offset="1" style="stop-color:#e2f519;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#cbf92d;stop-opacity:0;"/> </linearGradient> - <polygon id="GT34f" points="435.681753 203.973619 437.935071 209.168626 443.85048 214.83565"/> </defs> - <use fill="#e2f519" fill-opacity="1" xlink:href="#GT34f"/> - <use fill="url(#GR34f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT34f"/> - <use fill="url(#GR34f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT34f"/> - <use fill="url(#GR34f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT34f"/> + <path d="M 435.681753,203.973619 L 437.935071,209.168626 443.85048,214.83565 Z" fill="#e2f519" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 435.681753,203.973619 L 437.935071,209.168626 443.85048,214.83565 Z" fill="url(#GR34f_0)" shape-rendering="crispEdges"/> + <path d="M 435.681753,203.973619 L 437.935071,209.168626 443.85048,214.83565 Z" fill="url(#GR34f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 435.681753,203.973619 L 437.935071,209.168626 443.85048,214.83565 Z" fill="url(#GR34f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR350_0" x1="433.428436" x2="428.156275" y1="198.778611" y2="199.324463"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR350_0" x1="433.428436" x2="428.156275" y1="198.778611" y2="199.324463"> + <stop offset="1" style="stop-color:#80ff77;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR350_1" x1="426.020578" x2="423.667455" y1="178.69663" y2="179.914203"> - <stop offset="0" style="stop-color:#5dff9a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5dff9a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR350_1" x1="426.020578" x2="423.667455" y1="178.69663" y2="179.914203"> + <stop offset="1" style="stop-color:#80ff77;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5dff9a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR350_2" x1="426.766802" x2="428.450212" y1="185.904109" y2="185.283131"> - <stop offset="0" style="stop-color:#90ff67;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#90ff67;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR350_2" x1="426.766802" x2="428.450212" y1="185.904109" y2="185.283131"> + <stop offset="1" style="stop-color:#80ff77;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#90ff67;stop-opacity:0;"/> </linearGradient> - <polygon id="GT350" points="426.766802 185.904109 433.428436 198.778611 426.020578 178.69663"/> </defs> - <use fill="#80ff77" fill-opacity="1" xlink:href="#GT350"/> - <use fill="url(#GR350_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT350"/> - <use fill="url(#GR350_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT350"/> - <use fill="url(#GR350_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT350"/> + <path d="M 426.766802,185.904109 L 433.428436,198.778611 426.020578,178.69663 Z" fill="#80ff77" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 426.766802,185.904109 L 433.428436,198.778611 426.020578,178.69663 Z" fill="url(#GR350_0)" shape-rendering="crispEdges"/> + <path d="M 426.766802,185.904109 L 433.428436,198.778611 426.020578,178.69663 Z" fill="url(#GR350_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 426.766802,185.904109 L 433.428436,198.778611 426.020578,178.69663 Z" fill="url(#GR350_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR351_0" x1="426.020578" x2="423.667455" y1="178.69663" y2="179.914203"> - <stop offset="0" style="stop-color:#5dff9a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5dff9a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR351_0" x1="426.020578" x2="423.667455" y1="178.69663" y2="179.914203"> + <stop offset="1" style="stop-color:#7eff79;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5dff9a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR351_1" x1="420.105169" x2="425.37733" y1="173.029607" y2="172.483755"> - <stop offset="0" style="stop-color:#8dff6a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8dff6a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR351_1" x1="420.105169" x2="425.37733" y1="173.029607" y2="172.483755"> + <stop offset="1" style="stop-color:#7eff79;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8dff6a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR351_2" x1="426.766802" x2="430.010112" y1="185.904109" y2="182.518645"> - <stop offset="0" style="stop-color:#90ff67;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#90ff67;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR351_2" x1="426.766802" x2="430.010112" y1="185.904109" y2="182.518645"> + <stop offset="1" style="stop-color:#7eff79;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#90ff67;stop-opacity:0;"/> </linearGradient> - <polygon id="GT351" points="426.766802 185.904109 426.020578 178.69663 420.105169 173.029607"/> </defs> - <use fill="#7eff79" fill-opacity="1" xlink:href="#GT351"/> - <use fill="url(#GR351_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT351"/> - <use fill="url(#GR351_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT351"/> - <use fill="url(#GR351_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT351"/> + <path d="M 426.766802,185.904109 L 426.020578,178.69663 420.105169,173.029607 Z" fill="#7eff79" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 426.766802,185.904109 L 426.020578,178.69663 420.105169,173.029607 Z" fill="url(#GR351_0)" shape-rendering="crispEdges"/> + <path d="M 426.766802,185.904109 L 426.020578,178.69663 420.105169,173.029607 Z" fill="url(#GR351_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 426.766802,185.904109 L 426.020578,178.69663 420.105169,173.029607 Z" fill="url(#GR351_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR352_0" x1="420.105169" x2="425.37733" y1="173.029607" y2="172.483755"> - <stop offset="0" style="stop-color:#8dff6a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8dff6a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR352_0" x1="420.105169" x2="425.37733" y1="173.029607" y2="172.483755"> + <stop offset="1" style="stop-color:#9fff58;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8dff6a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR352_1" x1="427.513027" x2="429.86615" y1="193.111588" y2="191.894015"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR352_1" x1="427.513027" x2="429.86615" y1="193.111588" y2="191.894015"> + <stop offset="1" style="stop-color:#9fff58;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR352_2" x1="426.766802" x2="425.083393" y1="185.904109" y2="186.525087"> - <stop offset="0" style="stop-color:#90ff67;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#90ff67;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR352_2" x1="426.766802" x2="425.083393" y1="185.904109" y2="186.525087"> + <stop offset="1" style="stop-color:#9fff58;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#90ff67;stop-opacity:0;"/> </linearGradient> - <polygon id="GT352" points="426.766802 185.904109 420.105169 173.029607 427.513027 193.111588"/> </defs> - <use fill="#9fff58" fill-opacity="1" xlink:href="#GT352"/> - <use fill="url(#GR352_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT352"/> - <use fill="url(#GR352_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT352"/> - <use fill="url(#GR352_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT352"/> + <path d="M 426.766802,185.904109 L 420.105169,173.029607 427.513027,193.111588 Z" fill="#9fff58" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 426.766802,185.904109 L 420.105169,173.029607 427.513027,193.111588 Z" fill="url(#GR352_0)" shape-rendering="crispEdges"/> + <path d="M 426.766802,185.904109 L 420.105169,173.029607 427.513027,193.111588 Z" fill="url(#GR352_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 426.766802,185.904109 L 420.105169,173.029607 427.513027,193.111588 Z" fill="url(#GR352_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR353_0" x1="427.513027" x2="429.86615" y1="193.111588" y2="191.894015"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR353_0" x1="427.513027" x2="429.86615" y1="193.111588" y2="191.894015"> + <stop offset="1" style="stop-color:#a1ff55;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR353_1" x1="433.428436" x2="428.156275" y1="198.778611" y2="199.324463"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR353_1" x1="433.428436" x2="428.156275" y1="198.778611" y2="199.324463"> + <stop offset="1" style="stop-color:#a1ff55;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR353_2" x1="426.766802" x2="423.523493" y1="185.904109" y2="189.289573"> - <stop offset="0" style="stop-color:#90ff67;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#90ff67;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR353_2" x1="426.766802" x2="423.523493" y1="185.904109" y2="189.289573"> + <stop offset="1" style="stop-color:#a1ff55;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#90ff67;stop-opacity:0;"/> </linearGradient> - <polygon id="GT353" points="426.766802 185.904109 427.513027 193.111588 433.428436 198.778611"/> </defs> - <use fill="#a1ff55" fill-opacity="1" xlink:href="#GT353"/> - <use fill="url(#GR353_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT353"/> - <use fill="url(#GR353_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT353"/> - <use fill="url(#GR353_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT353"/> + <path d="M 426.766802,185.904109 L 427.513027,193.111588 433.428436,198.778611 Z" fill="#a1ff55" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 426.766802,185.904109 L 427.513027,193.111588 433.428436,198.778611 Z" fill="url(#GR353_0)" shape-rendering="crispEdges"/> + <path d="M 426.766802,185.904109 L 427.513027,193.111588 433.428436,198.778611 Z" fill="url(#GR353_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 426.766802,185.904109 L 427.513027,193.111588 433.428436,198.778611 Z" fill="url(#GR353_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR354_0" x1="426.020578" x2="419.510503" y1="178.69663" y2="177.902107"> - <stop offset="0" style="stop-color:#5dff9a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5dff9a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR354_0" x1="426.020578" x2="419.510503" y1="178.69663" y2="177.902107"> + <stop offset="1" style="stop-color:#55ffa2;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5dff9a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR354_1" x1="422.174498" x2="418.635861" y1="156.074173" y2="157.295205"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR354_1" x1="422.174498" x2="418.635861" y1="156.074173" y2="157.295205"> + <stop offset="1" style="stop-color:#55ffa2;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR354_2" x1="421.139833" x2="423.546253" y1="164.55189" y2="164.14277"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR354_2" x1="421.139833" x2="423.546253" y1="164.55189" y2="164.14277"> + <stop offset="1" style="stop-color:#55ffa2;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <polygon id="GT354" points="421.139833 164.55189 426.020578 178.69663 422.174498 156.074173"/> </defs> - <use fill="#55ffa2" fill-opacity="1" xlink:href="#GT354"/> - <use fill="url(#GR354_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT354"/> - <use fill="url(#GR354_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT354"/> - <use fill="url(#GR354_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT354"/> + <path d="M 421.139833,164.55189 L 426.020578,178.69663 422.174498,156.074173 Z" fill="#55ffa2" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 421.139833,164.55189 L 426.020578,178.69663 422.174498,156.074173 Z" fill="url(#GR354_0)" shape-rendering="crispEdges"/> + <path d="M 421.139833,164.55189 L 426.020578,178.69663 422.174498,156.074173 Z" fill="url(#GR354_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 421.139833,164.55189 L 426.020578,178.69663 422.174498,156.074173 Z" fill="url(#GR354_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR355_0" x1="422.174498" x2="418.635861" y1="156.074173" y2="157.295205"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR355_0" x1="422.174498" x2="418.635861" y1="156.074173" y2="157.295205"> + <stop offset="1" style="stop-color:#5dff9a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR355_1" x1="416.259088" x2="422.769163" y1="150.407149" y2="151.201672"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR355_1" x1="416.259088" x2="422.769163" y1="150.407149" y2="151.201672"> + <stop offset="1" style="stop-color:#5dff9a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR355_2" x1="421.139833" x2="425.869949" y1="164.55189" y2="159.614453"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR355_2" x1="421.139833" x2="425.869949" y1="164.55189" y2="159.614453"> + <stop offset="1" style="stop-color:#5dff9a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <polygon id="GT355" points="421.139833 164.55189 422.174498 156.074173 416.259088 150.407149"/> </defs> - <use fill="#5dff9a" fill-opacity="1" xlink:href="#GT355"/> - <use fill="url(#GR355_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT355"/> - <use fill="url(#GR355_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT355"/> - <use fill="url(#GR355_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT355"/> + <path d="M 421.139833,164.55189 L 422.174498,156.074173 416.259088,150.407149 Z" fill="#5dff9a" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 421.139833,164.55189 L 422.174498,156.074173 416.259088,150.407149 Z" fill="url(#GR355_0)" shape-rendering="crispEdges"/> + <path d="M 421.139833,164.55189 L 422.174498,156.074173 416.259088,150.407149 Z" fill="url(#GR355_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 421.139833,164.55189 L 422.174498,156.074173 416.259088,150.407149 Z" fill="url(#GR355_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR356_0" x1="416.259088" x2="422.769163" y1="150.407149" y2="151.201672"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR356_0" x1="416.259088" x2="422.769163" y1="150.407149" y2="151.201672"> + <stop offset="1" style="stop-color:#78ff7f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR356_1" x1="420.105169" x2="423.643805" y1="173.029607" y2="171.808575"> - <stop offset="0" style="stop-color:#8dff6a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8dff6a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR356_1" x1="420.105169" x2="423.643805" y1="173.029607" y2="171.808575"> + <stop offset="1" style="stop-color:#78ff7f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8dff6a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR356_2" x1="421.139833" x2="418.733413" y1="164.55189" y2="164.961009"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR356_2" x1="421.139833" x2="418.733413" y1="164.55189" y2="164.961009"> + <stop offset="1" style="stop-color:#78ff7f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <polygon id="GT356" points="421.139833 164.55189 416.259088 150.407149 420.105169 173.029607"/> </defs> - <use fill="#78ff7f" fill-opacity="1" xlink:href="#GT356"/> - <use fill="url(#GR356_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT356"/> - <use fill="url(#GR356_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT356"/> - <use fill="url(#GR356_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT356"/> + <path d="M 421.139833,164.55189 L 416.259088,150.407149 420.105169,173.029607 Z" fill="#78ff7f" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 421.139833,164.55189 L 416.259088,150.407149 420.105169,173.029607 Z" fill="url(#GR356_0)" shape-rendering="crispEdges"/> + <path d="M 421.139833,164.55189 L 416.259088,150.407149 420.105169,173.029607 Z" fill="url(#GR356_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 421.139833,164.55189 L 416.259088,150.407149 420.105169,173.029607 Z" fill="url(#GR356_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR357_0" x1="420.105169" x2="423.643805" y1="173.029607" y2="171.808575"> - <stop offset="0" style="stop-color:#8dff6a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8dff6a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR357_0" x1="420.105169" x2="423.643805" y1="173.029607" y2="171.808575"> + <stop offset="1" style="stop-color:#70ff87;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8dff6a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR357_1" x1="426.020578" x2="419.510503" y1="178.69663" y2="177.902107"> - <stop offset="0" style="stop-color:#5dff9a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5dff9a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR357_1" x1="426.020578" x2="419.510503" y1="178.69663" y2="177.902107"> + <stop offset="1" style="stop-color:#70ff87;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5dff9a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR357_2" x1="421.139833" x2="416.409718" y1="164.55189" y2="169.489326"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR357_2" x1="421.139833" x2="416.409718" y1="164.55189" y2="169.489326"> + <stop offset="1" style="stop-color:#70ff87;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <polygon id="GT357" points="421.139833 164.55189 420.105169 173.029607 426.020578 178.69663"/> </defs> - <use fill="#70ff87" fill-opacity="1" xlink:href="#GT357"/> - <use fill="url(#GR357_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT357"/> - <use fill="url(#GR357_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT357"/> - <use fill="url(#GR357_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT357"/> + <path d="M 421.139833,164.55189 L 420.105169,173.029607 426.020578,178.69663 Z" fill="#70ff87" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 421.139833,164.55189 L 420.105169,173.029607 426.020578,178.69663 Z" fill="url(#GR357_0)" shape-rendering="crispEdges"/> + <path d="M 421.139833,164.55189 L 420.105169,173.029607 426.020578,178.69663 Z" fill="url(#GR357_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 421.139833,164.55189 L 420.105169,173.029607 426.020578,178.69663 Z" fill="url(#GR357_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR358_0" x1="422.174498" x2="415.151819" y1="156.074173" y2="153.743448"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR358_0" x1="422.174498" x2="415.151819" y1="156.074173" y2="153.743448"> + <stop offset="1" style="stop-color:#46ffb1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR358_1" x1="422.174498" x2="417.59719" y1="132.583496" y2="133.512124"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR358_1" x1="422.174498" x2="417.59719" y1="132.583496" y2="133.512124"> + <stop offset="1" style="stop-color:#46ffb1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR358_2" x1="419.216793" x2="422.174498" y1="141.495323" y2="141.495323"> - <stop offset="0" style="stop-color:#58ff9f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#58ff9f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR358_2" x1="419.216793" x2="422.174498" y1="141.495323" y2="141.495323"> + <stop offset="1" style="stop-color:#46ffb1;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#58ff9f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT358" points="419.216793 141.495323 422.174498 156.074173 422.174498 132.583496"/> </defs> - <use fill="#46ffb1" fill-opacity="1" xlink:href="#GT358"/> - <use fill="url(#GR358_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT358"/> - <use fill="url(#GR358_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT358"/> - <use fill="url(#GR358_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT358"/> + <path d="M 419.216793,141.495323 L 422.174498,156.074173 422.174498,132.583496 Z" fill="#46ffb1" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 419.216793,141.495323 L 422.174498,156.074173 422.174498,132.583496 Z" fill="url(#GR358_0)" shape-rendering="crispEdges"/> + <path d="M 419.216793,141.495323 L 422.174498,156.074173 422.174498,132.583496 Z" fill="url(#GR358_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 419.216793,141.495323 L 422.174498,156.074173 422.174498,132.583496 Z" fill="url(#GR358_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR359_0" x1="422.174498" x2="417.59719" y1="132.583496" y2="133.512124"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR359_0" x1="422.174498" x2="417.59719" y1="132.583496" y2="133.512124"> + <stop offset="1" style="stop-color:#58ff9f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR359_1" x1="416.259088" x2="423.281766" y1="126.916473" y2="129.247197"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR359_1" x1="416.259088" x2="423.281766" y1="126.916473" y2="129.247197"> + <stop offset="1" style="stop-color:#58ff9f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR359_2" x1="419.216793" x2="425.084063" y1="141.495323" y2="135.37089"> - <stop offset="0" style="stop-color:#58ff9f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#58ff9f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR359_2" x1="419.216793" x2="425.084063" y1="141.495323" y2="135.37089"> + <stop offset="1" style="stop-color:#58ff9f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#58ff9f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT359" points="419.216793 141.495323 422.174498 132.583496 416.259088 126.916473"/> </defs> - <use fill="#58ff9f" fill-opacity="1" xlink:href="#GT359"/> - <use fill="url(#GR359_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT359"/> - <use fill="url(#GR359_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT359"/> - <use fill="url(#GR359_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT359"/> + <path d="M 419.216793,141.495323 L 422.174498,132.583496 416.259088,126.916473 Z" fill="#58ff9f" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 419.216793,141.495323 L 422.174498,132.583496 416.259088,126.916473 Z" fill="url(#GR359_0)" shape-rendering="crispEdges"/> + <path d="M 419.216793,141.495323 L 422.174498,132.583496 416.259088,126.916473 Z" fill="url(#GR359_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 419.216793,141.495323 L 422.174498,132.583496 416.259088,126.916473 Z" fill="url(#GR359_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR35a_0" x1="416.259088" x2="423.281766" y1="126.916473" y2="129.247197"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR35a_0" x1="416.259088" x2="423.281766" y1="126.916473" y2="129.247197"> + <stop offset="1" style="stop-color:#6aff8d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR35a_1" x1="416.259088" x2="420.836395" y1="150.407149" y2="149.478521"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR35a_1" x1="416.259088" x2="420.836395" y1="150.407149" y2="149.478521"> + <stop offset="1" style="stop-color:#6aff8d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR35a_2" x1="419.216793" x2="416.259088" y1="141.495323" y2="141.495323"> - <stop offset="0" style="stop-color:#58ff9f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#58ff9f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR35a_2" x1="419.216793" x2="416.259088" y1="141.495323" y2="141.495323"> + <stop offset="1" style="stop-color:#6aff8d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#58ff9f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT35a" points="419.216793 141.495323 416.259088 126.916473 416.259088 150.407149"/> </defs> - <use fill="#6aff8d" fill-opacity="1" xlink:href="#GT35a"/> - <use fill="url(#GR35a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT35a"/> - <use fill="url(#GR35a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT35a"/> - <use fill="url(#GR35a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT35a"/> + <path d="M 419.216793,141.495323 L 416.259088,126.916473 416.259088,150.407149 Z" fill="#6aff8d" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 419.216793,141.495323 L 416.259088,126.916473 416.259088,150.407149 Z" fill="url(#GR35a_0)" shape-rendering="crispEdges"/> + <path d="M 419.216793,141.495323 L 416.259088,126.916473 416.259088,150.407149 Z" fill="url(#GR35a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 419.216793,141.495323 L 416.259088,126.916473 416.259088,150.407149 Z" fill="url(#GR35a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR35b_0" x1="416.259088" x2="420.836395" y1="150.407149" y2="149.478521"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR35b_0" x1="416.259088" x2="420.836395" y1="150.407149" y2="149.478521"> + <stop offset="1" style="stop-color:#58ff9f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR35b_1" x1="422.174498" x2="415.151819" y1="156.074173" y2="153.743448"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR35b_1" x1="422.174498" x2="415.151819" y1="156.074173" y2="153.743448"> + <stop offset="1" style="stop-color:#58ff9f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR35b_2" x1="419.216793" x2="413.349523" y1="141.495323" y2="147.619755"> - <stop offset="0" style="stop-color:#58ff9f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#58ff9f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR35b_2" x1="419.216793" x2="413.349523" y1="141.495323" y2="147.619755"> + <stop offset="1" style="stop-color:#58ff9f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#58ff9f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT35b" points="419.216793 141.495323 416.259088 150.407149 422.174498 156.074173"/> </defs> - <use fill="#58ff9f" fill-opacity="1" xlink:href="#GT35b"/> - <use fill="url(#GR35b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT35b"/> - <use fill="url(#GR35b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT35b"/> - <use fill="url(#GR35b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT35b"/> + <path d="M 419.216793,141.495323 L 416.259088,150.407149 422.174498,156.074173 Z" fill="#58ff9f" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 419.216793,141.495323 L 416.259088,150.407149 422.174498,156.074173 Z" fill="url(#GR35b_0)" shape-rendering="crispEdges"/> + <path d="M 419.216793,141.495323 L 416.259088,150.407149 422.174498,156.074173 Z" fill="url(#GR35b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 419.216793,141.495323 L 416.259088,150.407149 422.174498,156.074173 Z" fill="url(#GR35b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR35c_0" x1="422.174498" x2="415.281248" y1="132.583496" y2="128.614952"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR35c_0" x1="422.174498" x2="415.281248" y1="132.583496" y2="128.614952"> + <stop offset="1" style="stop-color:#55ffa2;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR35c_1" x1="426.020578" x2="420.548979" y1="109.961038" y2="110.361277"> - <stop offset="0" style="stop-color:#5dff9a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5dff9a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR35c_1" x1="426.020578" x2="420.548979" y1="109.961038" y2="110.361277"> + <stop offset="1" style="stop-color:#55ffa2;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5dff9a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR35c_2" x1="421.139833" x2="424.482647" y1="118.438755" y2="119.007073"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR35c_2" x1="421.139833" x2="424.482647" y1="118.438755" y2="119.007073"> + <stop offset="1" style="stop-color:#55ffa2;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <polygon id="GT35c" points="421.139833 118.438755 422.174498 132.583496 426.020578 109.961038"/> </defs> - <use fill="#55ffa2" fill-opacity="1" xlink:href="#GT35c"/> - <use fill="url(#GR35c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT35c"/> - <use fill="url(#GR35c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT35c"/> - <use fill="url(#GR35c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT35c"/> + <path d="M 421.139833,118.438755 L 422.174498,132.583496 426.020578,109.961038 Z" fill="#55ffa2" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 421.139833,118.438755 L 422.174498,132.583496 426.020578,109.961038 Z" fill="url(#GR35c_0)" shape-rendering="crispEdges"/> + <path d="M 421.139833,118.438755 L 422.174498,132.583496 426.020578,109.961038 Z" fill="url(#GR35c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 421.139833,118.438755 L 422.174498,132.583496 426.020578,109.961038 Z" fill="url(#GR35c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR35d_0" x1="426.020578" x2="420.548979" y1="109.961038" y2="110.361277"> - <stop offset="0" style="stop-color:#5dff9a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5dff9a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR35d_0" x1="426.020578" x2="420.548979" y1="109.961038" y2="110.361277"> + <stop offset="1" style="stop-color:#70ff87;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5dff9a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR35d_1" x1="420.105169" x2="426.998418" y1="104.294015" y2="108.262558"> - <stop offset="0" style="stop-color:#8dff6a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8dff6a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR35d_1" x1="420.105169" x2="426.998418" y1="104.294015" y2="108.262558"> + <stop offset="1" style="stop-color:#70ff87;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8dff6a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR35d_2" x1="421.139833" x2="427.710547" y1="118.438755" y2="111.580046"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR35d_2" x1="421.139833" x2="427.710547" y1="118.438755" y2="111.580046"> + <stop offset="1" style="stop-color:#70ff87;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <polygon id="GT35d" points="421.139833 118.438755 426.020578 109.961038 420.105169 104.294015"/> </defs> - <use fill="#70ff87" fill-opacity="1" xlink:href="#GT35d"/> - <use fill="url(#GR35d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT35d"/> - <use fill="url(#GR35d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT35d"/> - <use fill="url(#GR35d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT35d"/> + <path d="M 421.139833,118.438755 L 426.020578,109.961038 420.105169,104.294015 Z" fill="#70ff87" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 421.139833,118.438755 L 426.020578,109.961038 420.105169,104.294015 Z" fill="url(#GR35d_0)" shape-rendering="crispEdges"/> + <path d="M 421.139833,118.438755 L 426.020578,109.961038 420.105169,104.294015 Z" fill="url(#GR35d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 421.139833,118.438755 L 426.020578,109.961038 420.105169,104.294015 Z" fill="url(#GR35d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR35e_0" x1="420.105169" x2="426.998418" y1="104.294015" y2="108.262558"> - <stop offset="0" style="stop-color:#8dff6a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8dff6a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR35e_0" x1="420.105169" x2="426.998418" y1="104.294015" y2="108.262558"> + <stop offset="1" style="stop-color:#78ff7f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8dff6a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR35e_1" x1="416.259088" x2="421.730687" y1="126.916473" y2="126.516234"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR35e_1" x1="416.259088" x2="421.730687" y1="126.916473" y2="126.516234"> + <stop offset="1" style="stop-color:#78ff7f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR35e_2" x1="421.139833" x2="417.797019" y1="118.438755" y2="117.870438"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR35e_2" x1="421.139833" x2="417.797019" y1="118.438755" y2="117.870438"> + <stop offset="1" style="stop-color:#78ff7f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <polygon id="GT35e" points="421.139833 118.438755 420.105169 104.294015 416.259088 126.916473"/> </defs> - <use fill="#78ff7f" fill-opacity="1" xlink:href="#GT35e"/> - <use fill="url(#GR35e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT35e"/> - <use fill="url(#GR35e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT35e"/> - <use fill="url(#GR35e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT35e"/> + <path d="M 421.139833,118.438755 L 420.105169,104.294015 416.259088,126.916473 Z" fill="#78ff7f" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 421.139833,118.438755 L 420.105169,104.294015 416.259088,126.916473 Z" fill="url(#GR35e_0)" shape-rendering="crispEdges"/> + <path d="M 421.139833,118.438755 L 420.105169,104.294015 416.259088,126.916473 Z" fill="url(#GR35e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 421.139833,118.438755 L 420.105169,104.294015 416.259088,126.916473 Z" fill="url(#GR35e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR35f_0" x1="416.259088" x2="421.730687" y1="126.916473" y2="126.516234"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR35f_0" x1="416.259088" x2="421.730687" y1="126.916473" y2="126.516234"> + <stop offset="1" style="stop-color:#5dff9a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR35f_1" x1="422.174498" x2="415.281248" y1="132.583496" y2="128.614952"> - <stop offset="0" style="stop-color:#3cffba;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#3cffba;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR35f_1" x1="422.174498" x2="415.281248" y1="132.583496" y2="128.614952"> + <stop offset="1" style="stop-color:#5dff9a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#3cffba;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR35f_2" x1="421.139833" x2="414.569119" y1="118.438755" y2="125.297465"> - <stop offset="0" style="stop-color:#66ff90;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#66ff90;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR35f_2" x1="421.139833" x2="414.569119" y1="118.438755" y2="125.297465"> + <stop offset="1" style="stop-color:#5dff9a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#66ff90;stop-opacity:0;"/> </linearGradient> - <polygon id="GT35f" points="421.139833 118.438755 416.259088 126.916473 422.174498 132.583496"/> </defs> - <use fill="#5dff9a" fill-opacity="1" xlink:href="#GT35f"/> - <use fill="url(#GR35f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT35f"/> - <use fill="url(#GR35f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT35f"/> - <use fill="url(#GR35f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT35f"/> + <path d="M 421.139833,118.438755 L 416.259088,126.916473 422.174498,132.583496 Z" fill="#5dff9a" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 421.139833,118.438755 L 416.259088,126.916473 422.174498,132.583496 Z" fill="url(#GR35f_0)" shape-rendering="crispEdges"/> + <path d="M 421.139833,118.438755 L 416.259088,126.916473 422.174498,132.583496 Z" fill="url(#GR35f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 421.139833,118.438755 L 416.259088,126.916473 422.174498,132.583496 Z" fill="url(#GR35f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR360_0" x1="426.020578" x2="420.005674" y1="109.961038" y2="104.401662"> - <stop offset="0" style="stop-color:#5dff9a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5dff9a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR360_0" x1="426.020578" x2="420.005674" y1="109.961038" y2="104.401662"> + <stop offset="1" style="stop-color:#80ff77;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5dff9a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR360_1" x1="433.428436" x2="427.205464" y1="89.879057" y2="89.518365"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR360_1" x1="433.428436" x2="427.205464" y1="89.879057" y2="89.518365"> + <stop offset="1" style="stop-color:#80ff77;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR360_2" x1="426.766802" x2="430.290284" y1="97.086536" y2="98.386281"> - <stop offset="0" style="stop-color:#90ff67;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#90ff67;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR360_2" x1="426.766802" x2="430.290284" y1="97.086536" y2="98.386281"> + <stop offset="1" style="stop-color:#80ff77;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#90ff67;stop-opacity:0;"/> </linearGradient> - <polygon id="GT360" points="426.766802 97.086536 426.020578 109.961038 433.428436 89.879057"/> </defs> - <use fill="#80ff77" fill-opacity="1" xlink:href="#GT360"/> - <use fill="url(#GR360_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT360"/> - <use fill="url(#GR360_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT360"/> - <use fill="url(#GR360_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT360"/> + <path d="M 426.766802,97.086536 L 426.020578,109.961038 433.428436,89.879057 Z" fill="#80ff77" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 426.766802,97.086536 L 426.020578,109.961038 433.428436,89.879057 Z" fill="url(#GR360_0)" shape-rendering="crispEdges"/> + <path d="M 426.766802,97.086536 L 426.020578,109.961038 433.428436,89.879057 Z" fill="url(#GR360_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 426.766802,97.086536 L 426.020578,109.961038 433.428436,89.879057 Z" fill="url(#GR360_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR361_0" x1="433.428436" x2="427.205464" y1="89.879057" y2="89.518365"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR361_0" x1="433.428436" x2="427.205464" y1="89.879057" y2="89.518365"> + <stop offset="1" style="stop-color:#a1ff55;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR361_1" x1="427.513027" x2="433.527931" y1="84.212034" y2="89.77141"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR361_1" x1="427.513027" x2="433.527931" y1="84.212034" y2="89.77141"> + <stop offset="1" style="stop-color:#a1ff55;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR361_2" x1="426.766802" x2="433.555252" y1="97.086536" y2="90.000548"> - <stop offset="0" style="stop-color:#90ff67;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#90ff67;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR361_2" x1="426.766802" x2="433.555252" y1="97.086536" y2="90.000548"> + <stop offset="1" style="stop-color:#a1ff55;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#90ff67;stop-opacity:0;"/> </linearGradient> - <polygon id="GT361" points="426.766802 97.086536 433.428436 89.879057 427.513027 84.212034"/> </defs> - <use fill="#a1ff55" fill-opacity="1" xlink:href="#GT361"/> - <use fill="url(#GR361_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT361"/> - <use fill="url(#GR361_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT361"/> - <use fill="url(#GR361_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT361"/> + <path d="M 426.766802,97.086536 L 433.428436,89.879057 427.513027,84.212034 Z" fill="#a1ff55" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 426.766802,97.086536 L 433.428436,89.879057 427.513027,84.212034 Z" fill="url(#GR361_0)" shape-rendering="crispEdges"/> + <path d="M 426.766802,97.086536 L 433.428436,89.879057 427.513027,84.212034 Z" fill="url(#GR361_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 426.766802,97.086536 L 433.428436,89.879057 427.513027,84.212034 Z" fill="url(#GR361_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR362_0" x1="427.513027" x2="433.527931" y1="84.212034" y2="89.77141"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR362_0" x1="427.513027" x2="433.527931" y1="84.212034" y2="89.77141"> + <stop offset="1" style="stop-color:#9fff58;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR362_1" x1="420.105169" x2="426.328141" y1="104.294015" y2="104.654707"> - <stop offset="0" style="stop-color:#8dff6a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8dff6a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR362_1" x1="420.105169" x2="426.328141" y1="104.294015" y2="104.654707"> + <stop offset="1" style="stop-color:#9fff58;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8dff6a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR362_2" x1="426.766802" x2="423.24332" y1="97.086536" y2="95.786791"> - <stop offset="0" style="stop-color:#90ff67;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#90ff67;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR362_2" x1="426.766802" x2="423.24332" y1="97.086536" y2="95.786791"> + <stop offset="1" style="stop-color:#9fff58;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#90ff67;stop-opacity:0;"/> </linearGradient> - <polygon id="GT362" points="426.766802 97.086536 427.513027 84.212034 420.105169 104.294015"/> </defs> - <use fill="#9fff58" fill-opacity="1" xlink:href="#GT362"/> - <use fill="url(#GR362_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT362"/> - <use fill="url(#GR362_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT362"/> - <use fill="url(#GR362_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT362"/> + <path d="M 426.766802,97.086536 L 427.513027,84.212034 420.105169,104.294015 Z" fill="#9fff58" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 426.766802,97.086536 L 427.513027,84.212034 420.105169,104.294015 Z" fill="url(#GR362_0)" shape-rendering="crispEdges"/> + <path d="M 426.766802,97.086536 L 427.513027,84.212034 420.105169,104.294015 Z" fill="url(#GR362_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 426.766802,97.086536 L 427.513027,84.212034 420.105169,104.294015 Z" fill="url(#GR362_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR363_0" x1="420.105169" x2="426.328141" y1="104.294015" y2="104.654707"> - <stop offset="0" style="stop-color:#8dff6a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8dff6a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR363_0" x1="420.105169" x2="426.328141" y1="104.294015" y2="104.654707"> + <stop offset="1" style="stop-color:#7eff79;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8dff6a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR363_1" x1="426.020578" x2="420.005674" y1="109.961038" y2="104.401662"> - <stop offset="0" style="stop-color:#5dff9a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#5dff9a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR363_1" x1="426.020578" x2="420.005674" y1="109.961038" y2="104.401662"> + <stop offset="1" style="stop-color:#7eff79;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#5dff9a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR363_2" x1="426.766802" x2="419.978353" y1="97.086536" y2="104.172524"> - <stop offset="0" style="stop-color:#90ff67;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#90ff67;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR363_2" x1="426.766802" x2="419.978353" y1="97.086536" y2="104.172524"> + <stop offset="1" style="stop-color:#7eff79;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#90ff67;stop-opacity:0;"/> </linearGradient> - <polygon id="GT363" points="426.766802 97.086536 420.105169 104.294015 426.020578 109.961038"/> </defs> - <use fill="#7eff79" fill-opacity="1" xlink:href="#GT363"/> - <use fill="url(#GR363_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT363"/> - <use fill="url(#GR363_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT363"/> - <use fill="url(#GR363_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT363"/> + <path d="M 426.766802,97.086536 L 420.105169,104.294015 426.020578,109.961038 Z" fill="#7eff79" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 426.766802,97.086536 L 420.105169,104.294015 426.020578,109.961038 Z" fill="url(#GR363_0)" shape-rendering="crispEdges"/> + <path d="M 426.766802,97.086536 L 420.105169,104.294015 426.020578,109.961038 Z" fill="url(#GR363_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 426.766802,97.086536 L 420.105169,104.294015 426.020578,109.961038 Z" fill="url(#GR363_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR364_0" x1="433.428436" x2="429.158791" y1="89.879057" y2="83.165388"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR364_0" x1="433.428436" x2="429.158791" y1="89.879057" y2="83.165388"> + <stop offset="1" style="stop-color:#befd3a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR364_1" x1="443.85048" x2="437.052025" y1="73.822019" y2="72.411686"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR364_1" x1="443.85048" x2="437.052025" y1="73.822019" y2="72.411686"> + <stop offset="1" style="stop-color:#befd3a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR364_2" x1="435.681753" x2="439.056755" y1="79.017026" y2="81.207618"> - <stop offset="0" style="stop-color:#cbf92d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#cbf92d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR364_2" x1="435.681753" x2="439.056755" y1="79.017026" y2="81.207618"> + <stop offset="1" style="stop-color:#befd3a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#cbf92d;stop-opacity:0;"/> </linearGradient> - <polygon id="GT364" points="435.681753 79.017026 433.428436 89.879057 443.85048 73.822019"/> </defs> - <use fill="#befd3a" fill-opacity="1" xlink:href="#GT364"/> - <use fill="url(#GR364_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT364"/> - <use fill="url(#GR364_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT364"/> - <use fill="url(#GR364_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT364"/> + <path d="M 435.681753,79.017026 L 433.428436,89.879057 443.85048,73.822019 Z" fill="#befd3a" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 435.681753,79.017026 L 433.428436,89.879057 443.85048,73.822019 Z" fill="url(#GR364_0)" shape-rendering="crispEdges"/> + <path d="M 435.681753,79.017026 L 433.428436,89.879057 443.85048,73.822019 Z" fill="url(#GR364_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 435.681753,79.017026 L 433.428436,89.879057 443.85048,73.822019 Z" fill="url(#GR364_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR365_0" x1="443.85048" x2="437.052025" y1="73.822019" y2="72.411686"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR365_0" x1="443.85048" x2="437.052025" y1="73.822019" y2="72.411686"> + <stop offset="1" style="stop-color:#e2f519;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR365_1" x1="437.935071" x2="442.204715" y1="68.154995" y2="74.868664"> - <stop offset="0" style="stop-color:#ffe600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffe600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR365_1" x1="437.935071" x2="442.204715" y1="68.154995" y2="74.868664"> + <stop offset="1" style="stop-color:#e2f519;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffe600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR365_2" x1="435.681753" x2="442.186134" y1="79.017026" y2="72.227558"> - <stop offset="0" style="stop-color:#cbf92d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#cbf92d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR365_2" x1="435.681753" x2="442.186134" y1="79.017026" y2="72.227558"> + <stop offset="1" style="stop-color:#e2f519;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#cbf92d;stop-opacity:0;"/> </linearGradient> - <polygon id="GT365" points="435.681753 79.017026 443.85048 73.822019 437.935071 68.154995"/> </defs> - <use fill="#e2f519" fill-opacity="1" xlink:href="#GT365"/> - <use fill="url(#GR365_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT365"/> - <use fill="url(#GR365_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT365"/> - <use fill="url(#GR365_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT365"/> + <path d="M 435.681753,79.017026 L 443.85048,73.822019 437.935071,68.154995 Z" fill="#e2f519" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 435.681753,79.017026 L 443.85048,73.822019 437.935071,68.154995 Z" fill="url(#GR365_0)" shape-rendering="crispEdges"/> + <path d="M 435.681753,79.017026 L 443.85048,73.822019 437.935071,68.154995 Z" fill="url(#GR365_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 435.681753,79.017026 L 443.85048,73.822019 437.935071,68.154995 Z" fill="url(#GR365_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR366_0" x1="437.935071" x2="442.204715" y1="68.154995" y2="74.868664"> - <stop offset="0" style="stop-color:#ffe600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffe600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR366_0" x1="437.935071" x2="442.204715" y1="68.154995" y2="74.868664"> + <stop offset="1" style="stop-color:#d9f521;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffe600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR366_1" x1="427.513027" x2="434.311482" y1="84.212034" y2="85.622367"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR366_1" x1="427.513027" x2="434.311482" y1="84.212034" y2="85.622367"> + <stop offset="1" style="stop-color:#d9f521;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR366_2" x1="435.681753" x2="432.306752" y1="79.017026" y2="76.826435"> - <stop offset="0" style="stop-color:#cbf92d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#cbf92d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR366_2" x1="435.681753" x2="432.306752" y1="79.017026" y2="76.826435"> + <stop offset="1" style="stop-color:#d9f521;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#cbf92d;stop-opacity:0;"/> </linearGradient> - <polygon id="GT366" points="435.681753 79.017026 437.935071 68.154995 427.513027 84.212034"/> </defs> - <use fill="#d9f521" fill-opacity="1" xlink:href="#GT366"/> - <use fill="url(#GR366_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT366"/> - <use fill="url(#GR366_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT366"/> - <use fill="url(#GR366_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT366"/> + <path d="M 435.681753,79.017026 L 437.935071,68.154995 427.513027,84.212034 Z" fill="#d9f521" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 435.681753,79.017026 L 437.935071,68.154995 427.513027,84.212034 Z" fill="url(#GR366_0)" shape-rendering="crispEdges"/> + <path d="M 435.681753,79.017026 L 437.935071,68.154995 427.513027,84.212034 Z" fill="url(#GR366_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 435.681753,79.017026 L 437.935071,68.154995 427.513027,84.212034 Z" fill="url(#GR366_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR367_0" x1="427.513027" x2="434.311482" y1="84.212034" y2="85.622367"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR367_0" x1="427.513027" x2="434.311482" y1="84.212034" y2="85.622367"> + <stop offset="1" style="stop-color:#b5fd42;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR367_1" x1="433.428436" x2="429.158791" y1="89.879057" y2="83.165388"> - <stop offset="0" style="stop-color:#94ff63;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#94ff63;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR367_1" x1="433.428436" x2="429.158791" y1="89.879057" y2="83.165388"> + <stop offset="1" style="stop-color:#b5fd42;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#94ff63;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR367_2" x1="435.681753" x2="429.177373" y1="79.017026" y2="85.806495"> - <stop offset="0" style="stop-color:#cbf92d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#cbf92d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR367_2" x1="435.681753" x2="429.177373" y1="79.017026" y2="85.806495"> + <stop offset="1" style="stop-color:#b5fd42;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#cbf92d;stop-opacity:0;"/> </linearGradient> - <polygon id="GT367" points="435.681753 79.017026 427.513027 84.212034 433.428436 89.879057"/> </defs> - <use fill="#b5fd42" fill-opacity="1" xlink:href="#GT367"/> - <use fill="url(#GR367_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT367"/> - <use fill="url(#GR367_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT367"/> - <use fill="url(#GR367_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT367"/> + <path d="M 435.681753,79.017026 L 427.513027,84.212034 433.428436,89.879057 Z" fill="#b5fd42" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 435.681753,79.017026 L 427.513027,84.212034 433.428436,89.879057 Z" fill="url(#GR367_0)" shape-rendering="crispEdges"/> + <path d="M 435.681753,79.017026 L 427.513027,84.212034 433.428436,89.879057 Z" fill="url(#GR367_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 435.681753,79.017026 L 427.513027,84.212034 433.428436,89.879057 Z" fill="url(#GR367_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR368_0" x1="443.85048" x2="441.958743" y1="73.822019" y2="67.033697"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR368_0" x1="443.85048" x2="441.958743" y1="73.822019" y2="67.033697"> + <stop offset="1" style="stop-color:#f0d30c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR368_1" x1="456.516311" x2="449.462961" y1="62.976863" y2="60.09335"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR368_1" x1="456.516311" x2="449.462961" y1="62.976863" y2="60.09335"> + <stop offset="1" style="stop-color:#f0d30c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR368_2" x1="447.225691" x2="449.876731" y1="65.565929" y2="68.662023"> - <stop offset="0" style="stop-color:#f6c807;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f6c807;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR368_2" x1="447.225691" x2="449.876731" y1="65.565929" y2="68.662023"> + <stop offset="1" style="stop-color:#f0d30c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f6c807;stop-opacity:0;"/> </linearGradient> - <polygon id="GT368" points="447.225691 65.565929 443.85048 73.822019 456.516311 62.976863"/> </defs> - <use fill="#f0d30c" fill-opacity="1" xlink:href="#GT368"/> - <use fill="url(#GR368_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT368"/> - <use fill="url(#GR368_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT368"/> - <use fill="url(#GR368_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT368"/> + <path d="M 447.225691,65.565929 L 443.85048,73.822019 456.516311,62.976863 Z" fill="#f0d30c" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.225691,65.565929 L 443.85048,73.822019 456.516311,62.976863 Z" fill="url(#GR368_0)" shape-rendering="crispEdges"/> + <path d="M 447.225691,65.565929 L 443.85048,73.822019 456.516311,62.976863 Z" fill="url(#GR368_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.225691,65.565929 L 443.85048,73.822019 456.516311,62.976863 Z" fill="url(#GR368_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR369_0" x1="456.516311" x2="449.462961" y1="62.976863" y2="60.09335"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR369_0" x1="456.516311" x2="449.462961" y1="62.976863" y2="60.09335"> + <stop offset="1" style="stop-color:#fcac02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR369_1" x1="450.600901" x2="452.492638" y1="57.30984" y2="64.098161"> - <stop offset="0" style="stop-color:#ff8900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR369_1" x1="450.600901" x2="452.492638" y1="57.30984" y2="64.098161"> + <stop offset="1" style="stop-color:#fcac02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR369_2" x1="447.225691" x2="452.965197" y1="65.565929" y2="59.57486"> - <stop offset="0" style="stop-color:#f6c807;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f6c807;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR369_2" x1="447.225691" x2="452.965197" y1="65.565929" y2="59.57486"> + <stop offset="1" style="stop-color:#fcac02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f6c807;stop-opacity:0;"/> </linearGradient> - <polygon id="GT369" points="447.225691 65.565929 456.516311 62.976863 450.600901 57.30984"/> </defs> - <use fill="#fcac02" fill-opacity="1" xlink:href="#GT369"/> - <use fill="url(#GR369_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT369"/> - <use fill="url(#GR369_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT369"/> - <use fill="url(#GR369_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT369"/> + <path d="M 447.225691,65.565929 L 456.516311,62.976863 450.600901,57.30984 Z" fill="#fcac02" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.225691,65.565929 L 456.516311,62.976863 450.600901,57.30984 Z" fill="url(#GR369_0)" shape-rendering="crispEdges"/> + <path d="M 447.225691,65.565929 L 456.516311,62.976863 450.600901,57.30984 Z" fill="url(#GR369_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.225691,65.565929 L 456.516311,62.976863 450.600901,57.30984 Z" fill="url(#GR369_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR36a_0" x1="450.600901" x2="452.492638" y1="57.30984" y2="64.098161"> - <stop offset="0" style="stop-color:#ff8900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR36a_0" x1="450.600901" x2="452.492638" y1="57.30984" y2="64.098161"> + <stop offset="1" style="stop-color:#fcbd02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR36a_1" x1="437.935071" x2="444.98842" y1="68.154995" y2="71.038508"> - <stop offset="0" style="stop-color:#ffe600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffe600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR36a_1" x1="437.935071" x2="444.98842" y1="68.154995" y2="71.038508"> + <stop offset="1" style="stop-color:#fcbd02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffe600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR36a_2" x1="447.225691" x2="444.574651" y1="65.565929" y2="62.469835"> - <stop offset="0" style="stop-color:#f6c807;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f6c807;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR36a_2" x1="447.225691" x2="444.574651" y1="65.565929" y2="62.469835"> + <stop offset="1" style="stop-color:#fcbd02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f6c807;stop-opacity:0;"/> </linearGradient> - <polygon id="GT36a" points="447.225691 65.565929 450.600901 57.30984 437.935071 68.154995"/> </defs> - <use fill="#fcbd02" fill-opacity="1" xlink:href="#GT36a"/> - <use fill="url(#GR36a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT36a"/> - <use fill="url(#GR36a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT36a"/> - <use fill="url(#GR36a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT36a"/> + <path d="M 447.225691,65.565929 L 450.600901,57.30984 437.935071,68.154995 Z" fill="#fcbd02" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.225691,65.565929 L 450.600901,57.30984 437.935071,68.154995 Z" fill="url(#GR36a_0)" shape-rendering="crispEdges"/> + <path d="M 447.225691,65.565929 L 450.600901,57.30984 437.935071,68.154995 Z" fill="url(#GR36a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.225691,65.565929 L 450.600901,57.30984 437.935071,68.154995 Z" fill="url(#GR36a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR36b_0" x1="437.935071" x2="444.98842" y1="68.154995" y2="71.038508"> - <stop offset="0" style="stop-color:#ffe600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffe600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR36b_0" x1="437.935071" x2="444.98842" y1="68.154995" y2="71.038508"> + <stop offset="1" style="stop-color:#f0e40c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffe600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR36b_1" x1="443.85048" x2="441.958743" y1="73.822019" y2="67.033697"> - <stop offset="0" style="stop-color:#dbff1c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#dbff1c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR36b_1" x1="443.85048" x2="441.958743" y1="73.822019" y2="67.033697"> + <stop offset="1" style="stop-color:#f0e40c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#dbff1c;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR36b_2" x1="447.225691" x2="441.486184" y1="65.565929" y2="71.556999"> - <stop offset="0" style="stop-color:#f6c807;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f6c807;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR36b_2" x1="447.225691" x2="441.486184" y1="65.565929" y2="71.556999"> + <stop offset="1" style="stop-color:#f0e40c;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f6c807;stop-opacity:0;"/> </linearGradient> - <polygon id="GT36b" points="447.225691 65.565929 437.935071 68.154995 443.85048 73.822019"/> </defs> - <use fill="#f0e40c" fill-opacity="1" xlink:href="#GT36b"/> - <use fill="url(#GR36b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT36b"/> - <use fill="url(#GR36b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT36b"/> - <use fill="url(#GR36b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT36b"/> + <path d="M 447.225691,65.565929 L 437.935071,68.154995 443.85048,73.822019 Z" fill="#f0e40c" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.225691,65.565929 L 437.935071,68.154995 443.85048,73.822019 Z" fill="url(#GR36b_0)" shape-rendering="crispEdges"/> + <path d="M 447.225691,65.565929 L 437.935071,68.154995 443.85048,73.822019 Z" fill="url(#GR36b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.225691,65.565929 L 437.935071,68.154995 443.85048,73.822019 Z" fill="url(#GR36b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR36c_0" x1="456.516311" x2="456.743516" y1="62.976863" y2="57.56786"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR36c_0" x1="456.516311" x2="456.743516" y1="62.976863" y2="57.56786"> + <stop offset="1" style="stop-color:#ff7600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR36c_1" x1="470.489665" x2="464.030016" y1="58.145268" y2="53.187329"> - <stop offset="0" style="stop-color:#ff4700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff4700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR36c_1" x1="470.489665" x2="464.030016" y1="58.145268" y2="53.187329"> + <stop offset="1" style="stop-color:#ff7600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff4700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR36c_2" x1="460.545283" x2="461.73626" y1="57.727554" y2="61.171951"> - <stop offset="0" style="stop-color:#ff6a00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6a00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR36c_2" x1="460.545283" x2="461.73626" y1="57.727554" y2="61.171951"> + <stop offset="1" style="stop-color:#ff7600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6a00;stop-opacity:0;"/> </linearGradient> - <polygon id="GT36c" points="460.545283 57.727554 456.516311 62.976863 470.489665 58.145268"/> </defs> - <use fill="#ff7600" fill-opacity="1" xlink:href="#GT36c"/> - <use fill="url(#GR36c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT36c"/> - <use fill="url(#GR36c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT36c"/> - <use fill="url(#GR36c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT36c"/> + <path d="M 460.545283,57.727554 L 456.516311,62.976863 470.489665,58.145268 Z" fill="#ff7600" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 460.545283,57.727554 L 456.516311,62.976863 470.489665,58.145268 Z" fill="url(#GR36c_0)" shape-rendering="crispEdges"/> + <path d="M 460.545283,57.727554 L 456.516311,62.976863 470.489665,58.145268 Z" fill="url(#GR36c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 460.545283,57.727554 L 456.516311,62.976863 470.489665,58.145268 Z" fill="url(#GR36c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR36d_0" x1="470.489665" x2="464.030016" y1="58.145268" y2="53.187329"> - <stop offset="0" style="stop-color:#ff4700;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff4700;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR36d_0" x1="470.489665" x2="464.030016" y1="58.145268" y2="53.187329"> + <stop offset="1" style="stop-color:#ff4700;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff4700;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR36d_1" x1="464.574256" x2="464.347051" y1="52.478244" y2="57.887247"> - <stop offset="0" style="stop-color:#ff2500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff2500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR36d_1" x1="464.574256" x2="464.347051" y1="52.478244" y2="57.887247"> + <stop offset="1" style="stop-color:#ff4700;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff2500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR36d_2" x1="460.545283" x2="465.09565" y1="57.727554" y2="52.977744"> - <stop offset="0" style="stop-color:#ff6a00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6a00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR36d_2" x1="460.545283" x2="465.09565" y1="57.727554" y2="52.977744"> + <stop offset="1" style="stop-color:#ff4700;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6a00;stop-opacity:0;"/> </linearGradient> - <polygon id="GT36d" points="460.545283 57.727554 470.489665 58.145268 464.574256 52.478244"/> </defs> - <use fill="#ff4700" fill-opacity="1" xlink:href="#GT36d"/> - <use fill="url(#GR36d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT36d"/> - <use fill="url(#GR36d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT36d"/> - <use fill="url(#GR36d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT36d"/> + <path d="M 460.545283,57.727554 L 470.489665,58.145268 464.574256,52.478244 Z" fill="#ff4700" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 460.545283,57.727554 L 470.489665,58.145268 464.574256,52.478244 Z" fill="url(#GR36d_0)" shape-rendering="crispEdges"/> + <path d="M 460.545283,57.727554 L 470.489665,58.145268 464.574256,52.478244 Z" fill="url(#GR36d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 460.545283,57.727554 L 470.489665,58.145268 464.574256,52.478244 Z" fill="url(#GR36d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR36e_0" x1="464.574256" x2="464.347051" y1="52.478244" y2="57.887247"> - <stop offset="0" style="stop-color:#ff2500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff2500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR36e_0" x1="464.574256" x2="464.347051" y1="52.478244" y2="57.887247"> + <stop offset="1" style="stop-color:#ff5d00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff2500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR36e_1" x1="450.600901" x2="457.060551" y1="57.30984" y2="62.267778"> - <stop offset="0" style="stop-color:#ff8900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR36e_1" x1="450.600901" x2="457.060551" y1="57.30984" y2="62.267778"> + <stop offset="1" style="stop-color:#ff5d00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR36e_2" x1="460.545283" x2="459.354307" y1="57.727554" y2="54.283156"> - <stop offset="0" style="stop-color:#ff6a00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6a00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR36e_2" x1="460.545283" x2="459.354307" y1="57.727554" y2="54.283156"> + <stop offset="1" style="stop-color:#ff5d00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6a00;stop-opacity:0;"/> </linearGradient> - <polygon id="GT36e" points="460.545283 57.727554 464.574256 52.478244 450.600901 57.30984"/> </defs> - <use fill="#ff5d00" fill-opacity="1" xlink:href="#GT36e"/> - <use fill="url(#GR36e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT36e"/> - <use fill="url(#GR36e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT36e"/> - <use fill="url(#GR36e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT36e"/> + <path d="M 460.545283,57.727554 L 464.574256,52.478244 450.600901,57.30984 Z" fill="#ff5d00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 460.545283,57.727554 L 464.574256,52.478244 450.600901,57.30984 Z" fill="url(#GR36e_0)" shape-rendering="crispEdges"/> + <path d="M 460.545283,57.727554 L 464.574256,52.478244 450.600901,57.30984 Z" fill="url(#GR36e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 460.545283,57.727554 L 464.574256,52.478244 450.600901,57.30984 Z" fill="url(#GR36e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR36f_0" x1="450.600901" x2="457.060551" y1="57.30984" y2="62.267778"> - <stop offset="0" style="stop-color:#ff8900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR36f_0" x1="450.600901" x2="457.060551" y1="57.30984" y2="62.267778"> + <stop offset="1" style="stop-color:#ff8c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR36f_1" x1="456.516311" x2="456.743516" y1="62.976863" y2="57.56786"> - <stop offset="0" style="stop-color:#ffb200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR36f_1" x1="456.516311" x2="456.743516" y1="62.976863" y2="57.56786"> + <stop offset="1" style="stop-color:#ff8c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR36f_2" x1="460.545283" x2="455.994917" y1="57.727554" y2="62.477363"> - <stop offset="0" style="stop-color:#ff6a00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6a00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR36f_2" x1="460.545283" x2="455.994917" y1="57.727554" y2="62.477363"> + <stop offset="1" style="stop-color:#ff8c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6a00;stop-opacity:0;"/> </linearGradient> - <polygon id="GT36f" points="460.545283 57.727554 450.600901 57.30984 456.516311 62.976863"/> </defs> - <use fill="#ff8c00" fill-opacity="1" xlink:href="#GT36f"/> - <use fill="url(#GR36f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT36f"/> - <use fill="url(#GR36f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT36f"/> - <use fill="url(#GR36f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT36f"/> + <path d="M 460.545283,57.727554 L 450.600901,57.30984 456.516311,62.976863 Z" fill="#ff8c00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 460.545283,57.727554 L 450.600901,57.30984 456.516311,62.976863 Z" fill="url(#GR36f_0)" shape-rendering="crispEdges"/> + <path d="M 460.545283,57.727554 L 450.600901,57.30984 456.516311,62.976863 Z" fill="url(#GR36f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 460.545283,57.727554 L 450.600901,57.30984 456.516311,62.976863 Z" fill="url(#GR36f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR370_0" x1="464.574256" x2="464.820573" y1="224.845378" y2="220.901992"> - <stop offset="0" style="stop-color:#ff2500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff2500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR370_0" x1="464.574256" x2="464.820573" y1="224.845378" y2="220.901992"> + <stop offset="1" style="stop-color:#fd5100;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff2500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR370_1" x1="450.600901" x2="451.162553" y1="220.013782" y2="218.773244"> - <stop offset="0" style="stop-color:#ff8900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR370_1" x1="450.600901" x2="451.162553" y1="220.013782" y2="218.773244"> + <stop offset="1" style="stop-color:#fd5100;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR370_2" x1="454.430983" x2="454.095855" y1="220.253022" y2="221.222239"> - <stop offset="0" style="stop-color:#f84400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f84400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR370_2" x1="454.430983" x2="454.095855" y1="220.253022" y2="221.222239"> + <stop offset="1" style="stop-color:#fd5100;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f84400;stop-opacity:0;"/> </linearGradient> - <polygon id="GT370" points="454.430983 220.253022 464.574256 224.845378 450.600901 220.013782"/> </defs> - <use fill="#fd5100" fill-opacity="1" xlink:href="#GT370"/> - <use fill="url(#GR370_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT370"/> - <use fill="url(#GR370_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT370"/> - <use fill="url(#GR370_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT370"/> + <path d="M 454.430983,220.253022 L 464.574256,224.845378 450.600901,220.013782 Z" fill="#fd5100" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 454.430983,220.253022 L 464.574256,224.845378 450.600901,220.013782 Z" fill="url(#GR370_0)" shape-rendering="crispEdges"/> + <path d="M 454.430983,220.253022 L 464.574256,224.845378 450.600901,220.013782 Z" fill="url(#GR370_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 454.430983,220.253022 L 464.574256,224.845378 450.600901,220.013782 Z" fill="url(#GR370_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR371_0" x1="450.600901" x2="451.162553" y1="220.013782" y2="218.773244"> - <stop offset="0" style="stop-color:#ff8900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR371_0" x1="450.600901" x2="451.162553" y1="220.013782" y2="218.773244"> + <stop offset="1" style="stop-color:#fd6400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR371_1" x1="444.28771" x2="444.041392" y1="215.660667" y2="219.604052"> - <stop offset="0" style="stop-color:#ff6000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR371_1" x1="444.28771" x2="444.041392" y1="215.660667" y2="219.604052"> + <stop offset="1" style="stop-color:#fd6400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR371_2" x1="454.430983" x2="453.308584" y1="220.253022" y2="221.880802"> - <stop offset="0" style="stop-color:#f84400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f84400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR371_2" x1="454.430983" x2="453.308584" y1="220.253022" y2="221.880802"> + <stop offset="1" style="stop-color:#fd6400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f84400;stop-opacity:0;"/> </linearGradient> - <polygon id="GT371" points="454.430983 220.253022 450.600901 220.013782 444.28771 215.660667"/> </defs> - <use fill="#fd6400" fill-opacity="1" xlink:href="#GT371"/> - <use fill="url(#GR371_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT371"/> - <use fill="url(#GR371_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT371"/> - <use fill="url(#GR371_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT371"/> + <path d="M 454.430983,220.253022 L 450.600901,220.013782 444.28771,215.660667 Z" fill="#fd6400" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 454.430983,220.253022 L 450.600901,220.013782 444.28771,215.660667 Z" fill="url(#GR371_0)" shape-rendering="crispEdges"/> + <path d="M 454.430983,220.253022 L 450.600901,220.013782 444.28771,215.660667 Z" fill="url(#GR371_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 454.430983,220.253022 L 450.600901,220.013782 444.28771,215.660667 Z" fill="url(#GR371_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR372_0" x1="444.28771" x2="444.041392" y1="215.660667" y2="219.604052"> - <stop offset="0" style="stop-color:#ff6000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR372_0" x1="444.28771" x2="444.041392" y1="215.660667" y2="219.604052"> + <stop offset="1" style="stop-color:#f43700;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR372_1" x1="458.261065" x2="457.699412" y1="220.492262" y2="221.7328"> - <stop offset="0" style="stop-color:#e40000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e40000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR372_1" x1="458.261065" x2="457.699412" y1="220.492262" y2="221.7328"> + <stop offset="1" style="stop-color:#f43700;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e40000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR372_2" x1="454.430983" x2="454.766111" y1="220.253022" y2="219.283805"> - <stop offset="0" style="stop-color:#f84400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f84400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR372_2" x1="454.430983" x2="454.766111" y1="220.253022" y2="219.283805"> + <stop offset="1" style="stop-color:#f43700;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f84400;stop-opacity:0;"/> </linearGradient> - <polygon id="GT372" points="454.430983 220.253022 444.28771 215.660667 458.261065 220.492262"/> </defs> - <use fill="#f43700" fill-opacity="1" xlink:href="#GT372"/> - <use fill="url(#GR372_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT372"/> - <use fill="url(#GR372_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT372"/> - <use fill="url(#GR372_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT372"/> + <path d="M 454.430983,220.253022 L 444.28771,215.660667 458.261065,220.492262 Z" fill="#f43700" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 454.430983,220.253022 L 444.28771,215.660667 458.261065,220.492262 Z" fill="url(#GR372_0)" shape-rendering="crispEdges"/> + <path d="M 454.430983,220.253022 L 444.28771,215.660667 458.261065,220.492262 Z" fill="url(#GR372_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 454.430983,220.253022 L 444.28771,215.660667 458.261065,220.492262 Z" fill="url(#GR372_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR373_0" x1="458.261065" x2="457.699412" y1="220.492262" y2="221.7328"> - <stop offset="0" style="stop-color:#e40000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e40000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR373_0" x1="458.261065" x2="457.699412" y1="220.492262" y2="221.7328"> + <stop offset="1" style="stop-color:#f42300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e40000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR373_1" x1="464.574256" x2="464.820573" y1="224.845378" y2="220.901992"> - <stop offset="0" style="stop-color:#ff2500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff2500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR373_1" x1="464.574256" x2="464.820573" y1="224.845378" y2="220.901992"> + <stop offset="1" style="stop-color:#f42300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff2500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR373_2" x1="454.430983" x2="455.553381" y1="220.253022" y2="218.625242"> - <stop offset="0" style="stop-color:#f84400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f84400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR373_2" x1="454.430983" x2="455.553381" y1="220.253022" y2="218.625242"> + <stop offset="1" style="stop-color:#f42300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f84400;stop-opacity:0;"/> </linearGradient> - <polygon id="GT373" points="454.430983 220.253022 458.261065 220.492262 464.574256 224.845378"/> </defs> - <use fill="#f42300" fill-opacity="1" xlink:href="#GT373"/> - <use fill="url(#GR373_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT373"/> - <use fill="url(#GR373_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT373"/> - <use fill="url(#GR373_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT373"/> + <path d="M 454.430983,220.253022 L 458.261065,220.492262 464.574256,224.845378 Z" fill="#f42300" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 454.430983,220.253022 L 458.261065,220.492262 464.574256,224.845378 Z" fill="url(#GR373_0)" shape-rendering="crispEdges"/> + <path d="M 454.430983,220.253022 L 458.261065,220.492262 464.574256,224.845378 Z" fill="url(#GR373_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 454.430983,220.253022 L 458.261065,220.492262 464.574256,224.845378 Z" fill="url(#GR373_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR374_0" x1="450.600901" x2="449.551842" y1="220.013782" y2="221.040315"> - <stop offset="0" style="stop-color:#ff8900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR374_0" x1="450.600901" x2="449.551842" y1="220.013782" y2="221.040315"> + <stop offset="1" style="stop-color:#ffb000;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR374_1" x1="437.935071" x2="437.59234" y1="209.168626" y2="209.596615"> - <stop offset="0" style="stop-color:#ffe600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffe600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR374_1" x1="437.935071" x2="437.59234" y1="209.168626" y2="209.596615"> + <stop offset="1" style="stop-color:#ffb000;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffe600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR374_2" x1="441.11139" x2="441.371397" y1="212.414647" y2="212.110991"> - <stop offset="0" style="stop-color:#ffa100;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffa100;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR374_2" x1="441.11139" x2="441.371397" y1="212.414647" y2="212.110991"> + <stop offset="1" style="stop-color:#ffb000;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffa100;stop-opacity:0;"/> </linearGradient> - <polygon id="GT374" points="441.11139 212.414647 450.600901 220.013782 437.935071 209.168626"/> </defs> - <use fill="#ffb000" fill-opacity="1" xlink:href="#GT374"/> - <use fill="url(#GR374_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT374"/> - <use fill="url(#GR374_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT374"/> - <use fill="url(#GR374_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT374"/> + <path d="M 441.11139,212.414647 L 450.600901,220.013782 437.935071,209.168626 Z" fill="#ffb000" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.11139,212.414647 L 450.600901,220.013782 437.935071,209.168626 Z" fill="url(#GR374_0)" shape-rendering="crispEdges"/> + <path d="M 441.11139,212.414647 L 450.600901,220.013782 437.935071,209.168626 Z" fill="url(#GR374_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.11139,212.414647 L 450.600901,220.013782 437.935071,209.168626 Z" fill="url(#GR374_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR375_0" x1="437.935071" x2="437.59234" y1="209.168626" y2="209.596615"> - <stop offset="0" style="stop-color:#ffe600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffe600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR375_0" x1="437.935071" x2="437.59234" y1="209.168626" y2="209.596615"> + <stop offset="1" style="stop-color:#ffbf00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffe600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR375_1" x1="431.621879" x2="432.670938" y1="204.815511" y2="203.788978"> - <stop offset="0" style="stop-color:#ffb600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR375_1" x1="431.621879" x2="432.670938" y1="204.815511" y2="203.788978"> + <stop offset="1" style="stop-color:#ffbf00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR375_2" x1="441.11139" x2="441.604831" y1="212.414647" y2="211.699025"> - <stop offset="0" style="stop-color:#ffa100;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffa100;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR375_2" x1="441.11139" x2="441.604831" y1="212.414647" y2="211.699025"> + <stop offset="1" style="stop-color:#ffbf00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffa100;stop-opacity:0;"/> </linearGradient> - <polygon id="GT375" points="441.11139 212.414647 437.935071 209.168626 431.621879 204.815511"/> </defs> - <use fill="#ffbf00" fill-opacity="1" xlink:href="#GT375"/> - <use fill="url(#GR375_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT375"/> - <use fill="url(#GR375_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT375"/> - <use fill="url(#GR375_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT375"/> + <path d="M 441.11139,212.414647 L 437.935071,209.168626 431.621879,204.815511 Z" fill="#ffbf00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.11139,212.414647 L 437.935071,209.168626 431.621879,204.815511 Z" fill="url(#GR375_0)" shape-rendering="crispEdges"/> + <path d="M 441.11139,212.414647 L 437.935071,209.168626 431.621879,204.815511 Z" fill="url(#GR375_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.11139,212.414647 L 437.935071,209.168626 431.621879,204.815511 Z" fill="url(#GR375_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR376_0" x1="431.621879" x2="432.670938" y1="204.815511" y2="203.788978"> - <stop offset="0" style="stop-color:#ffb600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR376_0" x1="431.621879" x2="432.670938" y1="204.815511" y2="203.788978"> + <stop offset="1" style="stop-color:#ff9200;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR376_1" x1="444.28771" x2="444.63044" y1="215.660667" y2="215.232678"> - <stop offset="0" style="stop-color:#ff6000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR376_1" x1="444.28771" x2="444.63044" y1="215.660667" y2="215.232678"> + <stop offset="1" style="stop-color:#ff9200;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR376_2" x1="441.11139" x2="440.851384" y1="212.414647" y2="212.718302"> - <stop offset="0" style="stop-color:#ffa100;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffa100;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR376_2" x1="441.11139" x2="440.851384" y1="212.414647" y2="212.718302"> + <stop offset="1" style="stop-color:#ff9200;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffa100;stop-opacity:0;"/> </linearGradient> - <polygon id="GT376" points="441.11139 212.414647 431.621879 204.815511 444.28771 215.660667"/> </defs> - <use fill="#ff9200" fill-opacity="1" xlink:href="#GT376"/> - <use fill="url(#GR376_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT376"/> - <use fill="url(#GR376_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT376"/> - <use fill="url(#GR376_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT376"/> + <path d="M 441.11139,212.414647 L 431.621879,204.815511 444.28771,215.660667 Z" fill="#ff9200" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.11139,212.414647 L 431.621879,204.815511 444.28771,215.660667 Z" fill="url(#GR376_0)" shape-rendering="crispEdges"/> + <path d="M 441.11139,212.414647 L 431.621879,204.815511 444.28771,215.660667 Z" fill="url(#GR376_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.11139,212.414647 L 431.621879,204.815511 444.28771,215.660667 Z" fill="url(#GR376_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR377_0" x1="444.28771" x2="444.63044" y1="215.660667" y2="215.232678"> - <stop offset="0" style="stop-color:#ff6000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR377_0" x1="444.28771" x2="444.63044" y1="215.660667" y2="215.232678"> + <stop offset="1" style="stop-color:#ff8400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR377_1" x1="450.600901" x2="449.551842" y1="220.013782" y2="221.040315"> - <stop offset="0" style="stop-color:#ff8900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR377_1" x1="450.600901" x2="449.551842" y1="220.013782" y2="221.040315"> + <stop offset="1" style="stop-color:#ff8400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR377_2" x1="441.11139" x2="440.61795" y1="212.414647" y2="213.130268"> - <stop offset="0" style="stop-color:#ffa100;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffa100;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR377_2" x1="441.11139" x2="440.61795" y1="212.414647" y2="213.130268"> + <stop offset="1" style="stop-color:#ff8400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffa100;stop-opacity:0;"/> </linearGradient> - <polygon id="GT377" points="441.11139 212.414647 444.28771 215.660667 450.600901 220.013782"/> </defs> - <use fill="#ff8400" fill-opacity="1" xlink:href="#GT377"/> - <use fill="url(#GR377_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT377"/> - <use fill="url(#GR377_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT377"/> - <use fill="url(#GR377_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT377"/> + <path d="M 441.11139,212.414647 L 444.28771,215.660667 450.600901,220.013782 Z" fill="#ff8400" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.11139,212.414647 L 444.28771,215.660667 450.600901,220.013782 Z" fill="url(#GR377_0)" shape-rendering="crispEdges"/> + <path d="M 441.11139,212.414647 L 444.28771,215.660667 450.600901,220.013782 Z" fill="url(#GR377_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.11139,212.414647 L 444.28771,215.660667 450.600901,220.013782 Z" fill="url(#GR377_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR378_0" x1="437.935071" x2="433.675138" y1="209.168626" y2="210.664145"> - <stop offset="0" style="stop-color:#ffe600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffe600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR378_0" x1="437.935071" x2="433.675138" y1="209.168626" y2="210.664145"> + <stop offset="1" style="stop-color:#e4ee17;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffe600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR378_1" x1="427.513027" x2="425.872263" y1="193.111588" y2="194.456926"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR378_1" x1="427.513027" x2="425.872263" y1="193.111588" y2="194.456926"> + <stop offset="1" style="stop-color:#e4ee17;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR378_2" x1="429.567453" x2="430.794421" y1="198.963549" y2="198.167168"> - <stop offset="0" style="stop-color:#ece60f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ece60f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR378_2" x1="429.567453" x2="430.794421" y1="198.963549" y2="198.167168"> + <stop offset="1" style="stop-color:#e4ee17;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ece60f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT378" points="429.567453 198.963549 437.935071 209.168626 427.513027 193.111588"/> </defs> - <use fill="#e4ee17" fill-opacity="1" xlink:href="#GT378"/> - <use fill="url(#GR378_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT378"/> - <use fill="url(#GR378_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT378"/> - <use fill="url(#GR378_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT378"/> + <path d="M 429.567453,198.963549 L 437.935071,209.168626 427.513027,193.111588 Z" fill="#e4ee17" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 429.567453,198.963549 L 437.935071,209.168626 427.513027,193.111588 Z" fill="url(#GR378_0)" shape-rendering="crispEdges"/> + <path d="M 429.567453,198.963549 L 437.935071,209.168626 427.513027,193.111588 Z" fill="url(#GR378_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 429.567453,198.963549 L 437.935071,209.168626 427.513027,193.111588 Z" fill="url(#GR378_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR379_0" x1="427.513027" x2="425.872263" y1="193.111588" y2="194.456926"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR379_0" x1="427.513027" x2="425.872263" y1="193.111588" y2="194.456926"> + <stop offset="1" style="stop-color:#dff619;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR379_1" x1="421.199835" x2="425.459768" y1="188.758472" y2="187.262954"> - <stop offset="0" style="stop-color:#f1fc06;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f1fc06;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR379_1" x1="421.199835" x2="425.459768" y1="188.758472" y2="187.262954"> + <stop offset="1" style="stop-color:#dff619;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f1fc06;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR379_2" x1="429.567453" x2="431.640257" y1="198.963549" y2="195.957424"> - <stop offset="0" style="stop-color:#ece60f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ece60f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR379_2" x1="429.567453" x2="431.640257" y1="198.963549" y2="195.957424"> + <stop offset="1" style="stop-color:#dff619;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ece60f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT379" points="429.567453 198.963549 427.513027 193.111588 421.199835 188.758472"/> </defs> - <use fill="#dff619" fill-opacity="1" xlink:href="#GT379"/> - <use fill="url(#GR379_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT379"/> - <use fill="url(#GR379_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT379"/> - <use fill="url(#GR379_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT379"/> + <path d="M 429.567453,198.963549 L 427.513027,193.111588 421.199835,188.758472 Z" fill="#dff619" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 429.567453,198.963549 L 427.513027,193.111588 421.199835,188.758472 Z" fill="url(#GR379_0)" shape-rendering="crispEdges"/> + <path d="M 429.567453,198.963549 L 427.513027,193.111588 421.199835,188.758472 Z" fill="url(#GR379_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 429.567453,198.963549 L 427.513027,193.111588 421.199835,188.758472 Z" fill="url(#GR379_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR37a_0" x1="421.199835" x2="425.459768" y1="188.758472" y2="187.262954"> - <stop offset="0" style="stop-color:#f1fc06;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f1fc06;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR37a_0" x1="421.199835" x2="425.459768" y1="188.758472" y2="187.262954"> + <stop offset="1" style="stop-color:#f4dd07;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f1fc06;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR37a_1" x1="431.621879" x2="433.262643" y1="204.815511" y2="203.470172"> - <stop offset="0" style="stop-color:#ffb600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR37a_1" x1="431.621879" x2="433.262643" y1="204.815511" y2="203.470172"> + <stop offset="1" style="stop-color:#f4dd07;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR37a_2" x1="429.567453" x2="428.340484" y1="198.963549" y2="199.75993"> - <stop offset="0" style="stop-color:#ece60f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ece60f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR37a_2" x1="429.567453" x2="428.340484" y1="198.963549" y2="199.75993"> + <stop offset="1" style="stop-color:#f4dd07;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ece60f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT37a" points="429.567453 198.963549 421.199835 188.758472 431.621879 204.815511"/> </defs> - <use fill="#f4dd07" fill-opacity="1" xlink:href="#GT37a"/> - <use fill="url(#GR37a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT37a"/> - <use fill="url(#GR37a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT37a"/> - <use fill="url(#GR37a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT37a"/> + <path d="M 429.567453,198.963549 L 421.199835,188.758472 431.621879,204.815511 Z" fill="#f4dd07" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 429.567453,198.963549 L 421.199835,188.758472 431.621879,204.815511 Z" fill="url(#GR37a_0)" shape-rendering="crispEdges"/> + <path d="M 429.567453,198.963549 L 421.199835,188.758472 431.621879,204.815511 Z" fill="url(#GR37a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 429.567453,198.963549 L 421.199835,188.758472 431.621879,204.815511 Z" fill="url(#GR37a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR37b_0" x1="431.621879" x2="433.262643" y1="204.815511" y2="203.470172"> - <stop offset="0" style="stop-color:#ffb600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR37b_0" x1="431.621879" x2="433.262643" y1="204.815511" y2="203.470172"> + <stop offset="1" style="stop-color:#f9d605;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR37b_1" x1="437.935071" x2="433.675138" y1="209.168626" y2="210.664145"> - <stop offset="0" style="stop-color:#ffe600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffe600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR37b_1" x1="437.935071" x2="433.675138" y1="209.168626" y2="210.664145"> + <stop offset="1" style="stop-color:#f9d605;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffe600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR37b_2" x1="429.567453" x2="427.494649" y1="198.963549" y2="201.969675"> - <stop offset="0" style="stop-color:#ece60f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ece60f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR37b_2" x1="429.567453" x2="427.494649" y1="198.963549" y2="201.969675"> + <stop offset="1" style="stop-color:#f9d605;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ece60f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT37b" points="429.567453 198.963549 431.621879 204.815511 437.935071 209.168626"/> </defs> - <use fill="#f9d605" fill-opacity="1" xlink:href="#GT37b"/> - <use fill="url(#GR37b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT37b"/> - <use fill="url(#GR37b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT37b"/> - <use fill="url(#GR37b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT37b"/> + <path d="M 429.567453,198.963549 L 431.621879,204.815511 437.935071,209.168626 Z" fill="#f9d605" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 429.567453,198.963549 L 431.621879,204.815511 437.935071,209.168626 Z" fill="url(#GR37b_0)" shape-rendering="crispEdges"/> + <path d="M 429.567453,198.963549 L 431.621879,204.815511 437.935071,209.168626 Z" fill="url(#GR37b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 429.567453,198.963549 L 431.621879,204.815511 437.935071,209.168626 Z" fill="url(#GR37b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR37c_0" x1="427.513027" x2="421.531765" y1="193.111588" y2="193.52786"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR37c_0" x1="427.513027" x2="421.531765" y1="193.111588" y2="193.52786"> + <stop offset="1" style="stop-color:#afff48;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR37c_1" x1="420.105169" x2="417.163835" y1="173.029607" y2="174.681255"> - <stop offset="0" style="stop-color:#8dff6a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8dff6a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR37c_1" x1="420.105169" x2="417.163835" y1="173.029607" y2="174.681255"> + <stop offset="1" style="stop-color:#afff48;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8dff6a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR37c_2" x1="420.652502" x2="422.724292" y1="180.89404" y2="180.129796"> - <stop offset="0" style="stop-color:#c0fe37;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c0fe37;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR37c_2" x1="420.652502" x2="422.724292" y1="180.89404" y2="180.129796"> + <stop offset="1" style="stop-color:#afff48;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c0fe37;stop-opacity:0;"/> </linearGradient> - <polygon id="GT37c" points="420.652502 180.89404 427.513027 193.111588 420.105169 173.029607"/> </defs> - <use fill="#afff48" fill-opacity="1" xlink:href="#GT37c"/> - <use fill="url(#GR37c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT37c"/> - <use fill="url(#GR37c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT37c"/> - <use fill="url(#GR37c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT37c"/> + <path d="M 420.652502,180.89404 L 427.513027,193.111588 420.105169,173.029607 Z" fill="#afff48" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 420.652502,180.89404 L 427.513027,193.111588 420.105169,173.029607 Z" fill="url(#GR37c_0)" shape-rendering="crispEdges"/> + <path d="M 420.652502,180.89404 L 427.513027,193.111588 420.105169,173.029607 Z" fill="url(#GR37c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 420.652502,180.89404 L 427.513027,193.111588 420.105169,173.029607 Z" fill="url(#GR37c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR37d_0" x1="420.105169" x2="417.163835" y1="173.029607" y2="174.681255"> - <stop offset="0" style="stop-color:#8dff6a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8dff6a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR37d_0" x1="420.105169" x2="417.163835" y1="173.029607" y2="174.681255"> + <stop offset="1" style="stop-color:#afff48;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8dff6a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR37d_1" x1="413.791977" x2="419.773238" y1="168.676491" y2="168.260219"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR37d_1" x1="413.791977" x2="419.773238" y1="168.676491" y2="168.260219"> + <stop offset="1" style="stop-color:#afff48;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR37d_2" x1="420.652502" x2="424.151447" y1="180.89404" y2="175.819625"> - <stop offset="0" style="stop-color:#c0fe37;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c0fe37;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR37d_2" x1="420.652502" x2="424.151447" y1="180.89404" y2="175.819625"> + <stop offset="1" style="stop-color:#afff48;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c0fe37;stop-opacity:0;"/> </linearGradient> - <polygon id="GT37d" points="420.652502 180.89404 420.105169 173.029607 413.791977 168.676491"/> </defs> - <use fill="#afff48" fill-opacity="1" xlink:href="#GT37d"/> - <use fill="url(#GR37d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT37d"/> - <use fill="url(#GR37d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT37d"/> - <use fill="url(#GR37d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT37d"/> + <path d="M 420.652502,180.89404 L 420.105169,173.029607 413.791977,168.676491 Z" fill="#afff48" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 420.652502,180.89404 L 420.105169,173.029607 413.791977,168.676491 Z" fill="url(#GR37d_0)" shape-rendering="crispEdges"/> + <path d="M 420.652502,180.89404 L 420.105169,173.029607 413.791977,168.676491 Z" fill="url(#GR37d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 420.652502,180.89404 L 420.105169,173.029607 413.791977,168.676491 Z" fill="url(#GR37d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR37e_0" x1="413.791977" x2="419.773238" y1="168.676491" y2="168.260219"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR37e_0" x1="413.791977" x2="419.773238" y1="168.676491" y2="168.260219"> + <stop offset="1" style="stop-color:#d1fe26;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR37e_1" x1="421.199835" x2="424.141169" y1="188.758472" y2="187.106824"> - <stop offset="0" style="stop-color:#f1fc06;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f1fc06;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR37e_1" x1="421.199835" x2="424.141169" y1="188.758472" y2="187.106824"> + <stop offset="1" style="stop-color:#d1fe26;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f1fc06;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR37e_2" x1="420.652502" x2="418.580711" y1="180.89404" y2="181.658283"> - <stop offset="0" style="stop-color:#c0fe37;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c0fe37;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR37e_2" x1="420.652502" x2="418.580711" y1="180.89404" y2="181.658283"> + <stop offset="1" style="stop-color:#d1fe26;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c0fe37;stop-opacity:0;"/> </linearGradient> - <polygon id="GT37e" points="420.652502 180.89404 413.791977 168.676491 421.199835 188.758472"/> </defs> - <use fill="#d1fe26" fill-opacity="1" xlink:href="#GT37e"/> - <use fill="url(#GR37e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT37e"/> - <use fill="url(#GR37e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT37e"/> - <use fill="url(#GR37e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT37e"/> + <path d="M 420.652502,180.89404 L 413.791977,168.676491 421.199835,188.758472 Z" fill="#d1fe26" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 420.652502,180.89404 L 413.791977,168.676491 421.199835,188.758472 Z" fill="url(#GR37e_0)" shape-rendering="crispEdges"/> + <path d="M 420.652502,180.89404 L 413.791977,168.676491 421.199835,188.758472 Z" fill="url(#GR37e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 420.652502,180.89404 L 413.791977,168.676491 421.199835,188.758472 Z" fill="url(#GR37e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR37f_0" x1="421.199835" x2="424.141169" y1="188.758472" y2="187.106824"> - <stop offset="0" style="stop-color:#f1fc06;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f1fc06;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR37f_0" x1="421.199835" x2="424.141169" y1="188.758472" y2="187.106824"> + <stop offset="1" style="stop-color:#d1fe26;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f1fc06;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR37f_1" x1="427.513027" x2="421.531765" y1="193.111588" y2="193.52786"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR37f_1" x1="427.513027" x2="421.531765" y1="193.111588" y2="193.52786"> + <stop offset="1" style="stop-color:#d1fe26;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR37f_2" x1="420.652502" x2="417.153556" y1="180.89404" y2="185.968454"> - <stop offset="0" style="stop-color:#c0fe37;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c0fe37;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR37f_2" x1="420.652502" x2="417.153556" y1="180.89404" y2="185.968454"> + <stop offset="1" style="stop-color:#d1fe26;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c0fe37;stop-opacity:0;"/> </linearGradient> - <polygon id="GT37f" points="420.652502 180.89404 421.199835 188.758472 427.513027 193.111588"/> </defs> - <use fill="#d1fe26" fill-opacity="1" xlink:href="#GT37f"/> - <use fill="url(#GR37f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT37f"/> - <use fill="url(#GR37f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT37f"/> - <use fill="url(#GR37f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT37f"/> + <path d="M 420.652502,180.89404 L 421.199835,188.758472 427.513027,193.111588 Z" fill="#d1fe26" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 420.652502,180.89404 L 421.199835,188.758472 427.513027,193.111588 Z" fill="url(#GR37f_0)" shape-rendering="crispEdges"/> + <path d="M 420.652502,180.89404 L 421.199835,188.758472 427.513027,193.111588 Z" fill="url(#GR37f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 420.652502,180.89404 L 421.199835,188.758472 427.513027,193.111588 Z" fill="url(#GR37f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR380_0" x1="420.105169" x2="413.327722" y1="173.029607" y2="172.114373"> - <stop offset="0" style="stop-color:#8dff6a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8dff6a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR380_0" x1="420.105169" x2="413.327722" y1="173.029607" y2="172.114373"> + <stop offset="1" style="stop-color:#89ff6e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8dff6a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR380_1" x1="416.259088" x2="412.165884" y1="150.407149" y2="151.948691"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR380_1" x1="416.259088" x2="412.165884" y1="150.407149" y2="151.948691"> + <stop offset="1" style="stop-color:#89ff6e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR380_2" x1="415.025533" x2="417.733808" y1="159.54182" y2="159.081382"> - <stop offset="0" style="stop-color:#9bff5c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#9bff5c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR380_2" x1="415.025533" x2="417.733808" y1="159.54182" y2="159.081382"> + <stop offset="1" style="stop-color:#89ff6e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#9bff5c;stop-opacity:0;"/> </linearGradient> - <polygon id="GT380" points="415.025533 159.54182 420.105169 173.029607 416.259088 150.407149"/> </defs> - <use fill="#89ff6e" fill-opacity="1" xlink:href="#GT380"/> - <use fill="url(#GR380_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT380"/> - <use fill="url(#GR380_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT380"/> - <use fill="url(#GR380_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT380"/> + <path d="M 415.025533,159.54182 L 420.105169,173.029607 416.259088,150.407149 Z" fill="#89ff6e" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 415.025533,159.54182 L 420.105169,173.029607 416.259088,150.407149 Z" fill="url(#GR380_0)" shape-rendering="crispEdges"/> + <path d="M 415.025533,159.54182 L 420.105169,173.029607 416.259088,150.407149 Z" fill="url(#GR380_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 415.025533,159.54182 L 420.105169,173.029607 416.259088,150.407149 Z" fill="url(#GR380_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR381_0" x1="416.259088" x2="412.165884" y1="150.407149" y2="151.948691"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR381_0" x1="416.259088" x2="412.165884" y1="150.407149" y2="151.948691"> + <stop offset="1" style="stop-color:#93ff64;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR381_1" x1="409.945897" x2="416.723343" y1="146.054034" y2="146.969267"> - <stop offset="0" style="stop-color:#aaff4d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#aaff4d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR381_1" x1="409.945897" x2="416.723343" y1="146.054034" y2="146.969267"> + <stop offset="1" style="stop-color:#93ff64;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#aaff4d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR381_2" x1="415.025533" x2="419.691976" y1="159.54182" y2="152.774218"> - <stop offset="0" style="stop-color:#9bff5c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#9bff5c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR381_2" x1="415.025533" x2="419.691976" y1="159.54182" y2="152.774218"> + <stop offset="1" style="stop-color:#93ff64;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#9bff5c;stop-opacity:0;"/> </linearGradient> - <polygon id="GT381" points="415.025533 159.54182 416.259088 150.407149 409.945897 146.054034"/> </defs> - <use fill="#93ff64" fill-opacity="1" xlink:href="#GT381"/> - <use fill="url(#GR381_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT381"/> - <use fill="url(#GR381_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT381"/> - <use fill="url(#GR381_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT381"/> + <path d="M 415.025533,159.54182 L 416.259088,150.407149 409.945897,146.054034 Z" fill="#93ff64" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 415.025533,159.54182 L 416.259088,150.407149 409.945897,146.054034 Z" fill="url(#GR381_0)" shape-rendering="crispEdges"/> + <path d="M 415.025533,159.54182 L 416.259088,150.407149 409.945897,146.054034 Z" fill="url(#GR381_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 415.025533,159.54182 L 416.259088,150.407149 409.945897,146.054034 Z" fill="url(#GR381_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR382_0" x1="409.945897" x2="416.723343" y1="146.054034" y2="146.969267"> - <stop offset="0" style="stop-color:#aaff4d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#aaff4d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR382_0" x1="409.945897" x2="416.723343" y1="146.054034" y2="146.969267"> + <stop offset="1" style="stop-color:#adff4a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#aaff4d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR382_1" x1="413.791977" x2="417.885181" y1="168.676491" y2="167.13495"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR382_1" x1="413.791977" x2="417.885181" y1="168.676491" y2="167.13495"> + <stop offset="1" style="stop-color:#adff4a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR382_2" x1="415.025533" x2="412.317257" y1="159.54182" y2="160.002259"> - <stop offset="0" style="stop-color:#9bff5c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#9bff5c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR382_2" x1="415.025533" x2="412.317257" y1="159.54182" y2="160.002259"> + <stop offset="1" style="stop-color:#adff4a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#9bff5c;stop-opacity:0;"/> </linearGradient> - <polygon id="GT382" points="415.025533 159.54182 409.945897 146.054034 413.791977 168.676491"/> </defs> - <use fill="#adff4a" fill-opacity="1" xlink:href="#GT382"/> - <use fill="url(#GR382_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT382"/> - <use fill="url(#GR382_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT382"/> - <use fill="url(#GR382_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT382"/> + <path d="M 415.025533,159.54182 L 409.945897,146.054034 413.791977,168.676491 Z" fill="#adff4a" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 415.025533,159.54182 L 409.945897,146.054034 413.791977,168.676491 Z" fill="url(#GR382_0)" shape-rendering="crispEdges"/> + <path d="M 415.025533,159.54182 L 409.945897,146.054034 413.791977,168.676491 Z" fill="url(#GR382_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 415.025533,159.54182 L 409.945897,146.054034 413.791977,168.676491 Z" fill="url(#GR382_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR383_0" x1="413.791977" x2="417.885181" y1="168.676491" y2="167.13495"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR383_0" x1="413.791977" x2="417.885181" y1="168.676491" y2="167.13495"> + <stop offset="1" style="stop-color:#a3ff54;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR383_1" x1="420.105169" x2="413.327722" y1="173.029607" y2="172.114373"> - <stop offset="0" style="stop-color:#8dff6a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8dff6a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR383_1" x1="420.105169" x2="413.327722" y1="173.029607" y2="172.114373"> + <stop offset="1" style="stop-color:#a3ff54;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8dff6a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR383_2" x1="415.025533" x2="410.359089" y1="159.54182" y2="166.309423"> - <stop offset="0" style="stop-color:#9bff5c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#9bff5c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR383_2" x1="415.025533" x2="410.359089" y1="159.54182" y2="166.309423"> + <stop offset="1" style="stop-color:#a3ff54;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#9bff5c;stop-opacity:0;"/> </linearGradient> - <polygon id="GT383" points="415.025533 159.54182 413.791977 168.676491 420.105169 173.029607"/> </defs> - <use fill="#a3ff54" fill-opacity="1" xlink:href="#GT383"/> - <use fill="url(#GR383_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT383"/> - <use fill="url(#GR383_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT383"/> - <use fill="url(#GR383_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT383"/> + <path d="M 415.025533,159.54182 L 413.791977,168.676491 420.105169,173.029607 Z" fill="#a3ff54" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 415.025533,159.54182 L 413.791977,168.676491 420.105169,173.029607 Z" fill="url(#GR383_0)" shape-rendering="crispEdges"/> + <path d="M 415.025533,159.54182 L 413.791977,168.676491 420.105169,173.029607 Z" fill="url(#GR383_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 415.025533,159.54182 L 413.791977,168.676491 420.105169,173.029607 Z" fill="url(#GR383_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR384_0" x1="416.259088" x2="409.270406" y1="150.407149" y2="148.101689"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR384_0" x1="416.259088" x2="409.270406" y1="150.407149" y2="148.101689"> + <stop offset="1" style="stop-color:#7cff7a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR384_1" x1="416.259088" x2="411.193331" y1="126.916473" y2="128.065062"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR384_1" x1="416.259088" x2="411.193331" y1="126.916473" y2="128.065062"> + <stop offset="1" style="stop-color:#7cff7a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR384_2" x1="413.102492" x2="416.259088" y1="136.485253" y2="136.485253"> - <stop offset="0" style="stop-color:#8fff68;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8fff68;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR384_2" x1="413.102492" x2="416.259088" y1="136.485253" y2="136.485253"> + <stop offset="1" style="stop-color:#7cff7a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8fff68;stop-opacity:0;"/> </linearGradient> - <polygon id="GT384" points="413.102492 136.485253 416.259088 150.407149 416.259088 126.916473"/> </defs> - <use fill="#7cff7a" fill-opacity="1" xlink:href="#GT384"/> - <use fill="url(#GR384_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT384"/> - <use fill="url(#GR384_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT384"/> - <use fill="url(#GR384_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT384"/> + <path d="M 413.102492,136.485253 L 416.259088,150.407149 416.259088,126.916473 Z" fill="#7cff7a" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 413.102492,136.485253 L 416.259088,150.407149 416.259088,126.916473 Z" fill="url(#GR384_0)" shape-rendering="crispEdges"/> + <path d="M 413.102492,136.485253 L 416.259088,150.407149 416.259088,126.916473 Z" fill="url(#GR384_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 413.102492,136.485253 L 416.259088,150.407149 416.259088,126.916473 Z" fill="url(#GR384_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR385_0" x1="416.259088" x2="411.193331" y1="126.916473" y2="128.065062"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR385_0" x1="416.259088" x2="411.193331" y1="126.916473" y2="128.065062"> + <stop offset="1" style="stop-color:#8fff68;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR385_1" x1="409.945897" x2="416.934578" y1="122.563357" y2="124.868817"> - <stop offset="0" style="stop-color:#aaff4d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#aaff4d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR385_1" x1="409.945897" x2="416.934578" y1="122.563357" y2="124.868817"> + <stop offset="1" style="stop-color:#8fff68;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#aaff4d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR385_2" x1="413.102492" x2="418.59149" y1="136.485253" y2="128.524726"> - <stop offset="0" style="stop-color:#8fff68;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8fff68;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR385_2" x1="413.102492" x2="418.59149" y1="136.485253" y2="128.524726"> + <stop offset="1" style="stop-color:#8fff68;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8fff68;stop-opacity:0;"/> </linearGradient> - <polygon id="GT385" points="413.102492 136.485253 416.259088 126.916473 409.945897 122.563357"/> </defs> - <use fill="#8fff68" fill-opacity="1" xlink:href="#GT385"/> - <use fill="url(#GR385_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT385"/> - <use fill="url(#GR385_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT385"/> - <use fill="url(#GR385_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT385"/> + <path d="M 413.102492,136.485253 L 416.259088,126.916473 409.945897,122.563357 Z" fill="#8fff68" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 413.102492,136.485253 L 416.259088,126.916473 409.945897,122.563357 Z" fill="url(#GR385_0)" shape-rendering="crispEdges"/> + <path d="M 413.102492,136.485253 L 416.259088,126.916473 409.945897,122.563357 Z" fill="url(#GR385_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 413.102492,136.485253 L 416.259088,126.916473 409.945897,122.563357 Z" fill="url(#GR385_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR386_0" x1="409.945897" x2="416.934578" y1="122.563357" y2="124.868817"> - <stop offset="0" style="stop-color:#aaff4d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#aaff4d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR386_0" x1="409.945897" x2="416.934578" y1="122.563357" y2="124.868817"> + <stop offset="1" style="stop-color:#a1ff56;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#aaff4d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR386_1" x1="409.945897" x2="415.011653" y1="146.054034" y2="144.905444"> - <stop offset="0" style="stop-color:#aaff4d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#aaff4d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR386_1" x1="409.945897" x2="415.011653" y1="146.054034" y2="144.905444"> + <stop offset="1" style="stop-color:#a1ff56;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#aaff4d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR386_2" x1="413.102492" x2="409.945897" y1="136.485253" y2="136.485253"> - <stop offset="0" style="stop-color:#8fff68;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8fff68;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR386_2" x1="413.102492" x2="409.945897" y1="136.485253" y2="136.485253"> + <stop offset="1" style="stop-color:#a1ff56;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8fff68;stop-opacity:0;"/> </linearGradient> - <polygon id="GT386" points="413.102492 136.485253 409.945897 122.563357 409.945897 146.054034"/> </defs> - <use fill="#a1ff56" fill-opacity="1" xlink:href="#GT386"/> - <use fill="url(#GR386_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT386"/> - <use fill="url(#GR386_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT386"/> - <use fill="url(#GR386_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT386"/> + <path d="M 413.102492,136.485253 L 409.945897,122.563357 409.945897,146.054034 Z" fill="#a1ff56" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 413.102492,136.485253 L 409.945897,122.563357 409.945897,146.054034 Z" fill="url(#GR386_0)" shape-rendering="crispEdges"/> + <path d="M 413.102492,136.485253 L 409.945897,122.563357 409.945897,146.054034 Z" fill="url(#GR386_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 413.102492,136.485253 L 409.945897,122.563357 409.945897,146.054034 Z" fill="url(#GR386_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR387_0" x1="409.945897" x2="415.011653" y1="146.054034" y2="144.905444"> - <stop offset="0" style="stop-color:#aaff4d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#aaff4d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR387_0" x1="409.945897" x2="415.011653" y1="146.054034" y2="144.905444"> + <stop offset="1" style="stop-color:#8fff68;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#aaff4d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR387_1" x1="416.259088" x2="409.270406" y1="150.407149" y2="148.101689"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR387_1" x1="416.259088" x2="409.270406" y1="150.407149" y2="148.101689"> + <stop offset="1" style="stop-color:#8fff68;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR387_2" x1="413.102492" x2="407.613495" y1="136.485253" y2="144.44578"> - <stop offset="0" style="stop-color:#8fff68;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8fff68;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR387_2" x1="413.102492" x2="407.613495" y1="136.485253" y2="144.44578"> + <stop offset="1" style="stop-color:#8fff68;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8fff68;stop-opacity:0;"/> </linearGradient> - <polygon id="GT387" points="413.102492 136.485253 409.945897 146.054034 416.259088 150.407149"/> </defs> - <use fill="#8fff68" fill-opacity="1" xlink:href="#GT387"/> - <use fill="url(#GR387_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT387"/> - <use fill="url(#GR387_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT387"/> - <use fill="url(#GR387_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT387"/> + <path d="M 413.102492,136.485253 L 409.945897,146.054034 416.259088,150.407149 Z" fill="#8fff68" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 413.102492,136.485253 L 409.945897,146.054034 416.259088,150.407149 Z" fill="url(#GR387_0)" shape-rendering="crispEdges"/> + <path d="M 413.102492,136.485253 L 409.945897,146.054034 416.259088,150.407149 Z" fill="url(#GR387_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 413.102492,136.485253 L 409.945897,146.054034 416.259088,150.407149 Z" fill="url(#GR387_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR388_0" x1="416.259088" x2="409.588071" y1="126.916473" y2="123.206833"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR388_0" x1="416.259088" x2="409.588071" y1="126.916473" y2="123.206833"> + <stop offset="1" style="stop-color:#89ff6e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR388_1" x1="420.105169" x2="414.239167" y1="104.294015" y2="104.830503"> - <stop offset="0" style="stop-color:#8dff6a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8dff6a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR388_1" x1="420.105169" x2="414.239167" y1="104.294015" y2="104.830503"> + <stop offset="1" style="stop-color:#89ff6e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8dff6a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR388_2" x1="415.025533" x2="418.453098" y1="113.428686" y2="114.011412"> - <stop offset="0" style="stop-color:#9bff5c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#9bff5c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR388_2" x1="415.025533" x2="418.453098" y1="113.428686" y2="114.011412"> + <stop offset="1" style="stop-color:#89ff6e;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#9bff5c;stop-opacity:0;"/> </linearGradient> - <polygon id="GT388" points="415.025533 113.428686 416.259088 126.916473 420.105169 104.294015"/> </defs> - <use fill="#89ff6e" fill-opacity="1" xlink:href="#GT388"/> - <use fill="url(#GR388_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT388"/> - <use fill="url(#GR388_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT388"/> - <use fill="url(#GR388_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT388"/> + <path d="M 415.025533,113.428686 L 416.259088,126.916473 420.105169,104.294015 Z" fill="#89ff6e" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 415.025533,113.428686 L 416.259088,126.916473 420.105169,104.294015 Z" fill="url(#GR388_0)" shape-rendering="crispEdges"/> + <path d="M 415.025533,113.428686 L 416.259088,126.916473 420.105169,104.294015 Z" fill="url(#GR388_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 415.025533,113.428686 L 416.259088,126.916473 420.105169,104.294015 Z" fill="url(#GR388_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR389_0" x1="420.105169" x2="414.239167" y1="104.294015" y2="104.830503"> - <stop offset="0" style="stop-color:#8dff6a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8dff6a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR389_0" x1="420.105169" x2="414.239167" y1="104.294015" y2="104.830503"> + <stop offset="1" style="stop-color:#a3ff54;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8dff6a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR389_1" x1="413.791977" x2="420.462995" y1="99.940899" y2="103.650539"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR389_1" x1="413.791977" x2="420.462995" y1="99.940899" y2="103.650539"> + <stop offset="1" style="stop-color:#a3ff54;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR389_2" x1="415.025533" x2="420.931335" y1="113.428686" y2="104.863679"> - <stop offset="0" style="stop-color:#9bff5c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#9bff5c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR389_2" x1="415.025533" x2="420.931335" y1="113.428686" y2="104.863679"> + <stop offset="1" style="stop-color:#a3ff54;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#9bff5c;stop-opacity:0;"/> </linearGradient> - <polygon id="GT389" points="415.025533 113.428686 420.105169 104.294015 413.791977 99.940899"/> </defs> - <use fill="#a3ff54" fill-opacity="1" xlink:href="#GT389"/> - <use fill="url(#GR389_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT389"/> - <use fill="url(#GR389_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT389"/> - <use fill="url(#GR389_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT389"/> + <path d="M 415.025533,113.428686 L 420.105169,104.294015 413.791977,99.940899 Z" fill="#a3ff54" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 415.025533,113.428686 L 420.105169,104.294015 413.791977,99.940899 Z" fill="url(#GR389_0)" shape-rendering="crispEdges"/> + <path d="M 415.025533,113.428686 L 420.105169,104.294015 413.791977,99.940899 Z" fill="url(#GR389_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 415.025533,113.428686 L 420.105169,104.294015 413.791977,99.940899 Z" fill="url(#GR389_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR38a_0" x1="413.791977" x2="420.462995" y1="99.940899" y2="103.650539"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR38a_0" x1="413.791977" x2="420.462995" y1="99.940899" y2="103.650539"> + <stop offset="1" style="stop-color:#adff4a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR38a_1" x1="409.945897" x2="415.811898" y1="122.563357" y2="122.026869"> - <stop offset="0" style="stop-color:#aaff4d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#aaff4d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR38a_1" x1="409.945897" x2="415.811898" y1="122.563357" y2="122.026869"> + <stop offset="1" style="stop-color:#adff4a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#aaff4d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR38a_2" x1="415.025533" x2="411.597967" y1="113.428686" y2="112.84596"> - <stop offset="0" style="stop-color:#9bff5c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#9bff5c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR38a_2" x1="415.025533" x2="411.597967" y1="113.428686" y2="112.84596"> + <stop offset="1" style="stop-color:#adff4a;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#9bff5c;stop-opacity:0;"/> </linearGradient> - <polygon id="GT38a" points="415.025533 113.428686 413.791977 99.940899 409.945897 122.563357"/> </defs> - <use fill="#adff4a" fill-opacity="1" xlink:href="#GT38a"/> - <use fill="url(#GR38a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT38a"/> - <use fill="url(#GR38a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT38a"/> - <use fill="url(#GR38a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT38a"/> + <path d="M 415.025533,113.428686 L 413.791977,99.940899 409.945897,122.563357 Z" fill="#adff4a" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 415.025533,113.428686 L 413.791977,99.940899 409.945897,122.563357 Z" fill="url(#GR38a_0)" shape-rendering="crispEdges"/> + <path d="M 415.025533,113.428686 L 413.791977,99.940899 409.945897,122.563357 Z" fill="url(#GR38a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 415.025533,113.428686 L 413.791977,99.940899 409.945897,122.563357 Z" fill="url(#GR38a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR38b_0" x1="409.945897" x2="415.811898" y1="122.563357" y2="122.026869"> - <stop offset="0" style="stop-color:#aaff4d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#aaff4d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR38b_0" x1="409.945897" x2="415.811898" y1="122.563357" y2="122.026869"> + <stop offset="1" style="stop-color:#93ff64;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#aaff4d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR38b_1" x1="416.259088" x2="409.588071" y1="126.916473" y2="123.206833"> - <stop offset="0" style="stop-color:#73ff83;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#73ff83;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR38b_1" x1="416.259088" x2="409.588071" y1="126.916473" y2="123.206833"> + <stop offset="1" style="stop-color:#93ff64;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#73ff83;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR38b_2" x1="415.025533" x2="409.11973" y1="113.428686" y2="121.993693"> - <stop offset="0" style="stop-color:#9bff5c;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#9bff5c;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR38b_2" x1="415.025533" x2="409.11973" y1="113.428686" y2="121.993693"> + <stop offset="1" style="stop-color:#93ff64;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#9bff5c;stop-opacity:0;"/> </linearGradient> - <polygon id="GT38b" points="415.025533 113.428686 409.945897 122.563357 416.259088 126.916473"/> </defs> - <use fill="#93ff64" fill-opacity="1" xlink:href="#GT38b"/> - <use fill="url(#GR38b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT38b"/> - <use fill="url(#GR38b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT38b"/> - <use fill="url(#GR38b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT38b"/> + <path d="M 415.025533,113.428686 L 409.945897,122.563357 416.259088,126.916473 Z" fill="#93ff64" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 415.025533,113.428686 L 409.945897,122.563357 416.259088,126.916473 Z" fill="url(#GR38b_0)" shape-rendering="crispEdges"/> + <path d="M 415.025533,113.428686 L 409.945897,122.563357 416.259088,126.916473 Z" fill="url(#GR38b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 415.025533,113.428686 L 409.945897,122.563357 416.259088,126.916473 Z" fill="url(#GR38b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR38c_0" x1="420.105169" x2="414.36373" y1="104.294015" y2="99.285481"> - <stop offset="0" style="stop-color:#8dff6a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8dff6a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR38c_0" x1="420.105169" x2="414.36373" y1="104.294015" y2="99.285481"> + <stop offset="1" style="stop-color:#afff48;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8dff6a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR38c_1" x1="427.513027" x2="421.017856" y1="84.212034" y2="83.921057"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR38c_1" x1="427.513027" x2="421.017856" y1="84.212034" y2="83.921057"> + <stop offset="1" style="stop-color:#afff48;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR38c_2" x1="420.652502" x2="424.137741" y1="92.076467" y2="93.362104"> - <stop offset="0" style="stop-color:#c0fe37;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c0fe37;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR38c_2" x1="420.652502" x2="424.137741" y1="92.076467" y2="93.362104"> + <stop offset="1" style="stop-color:#afff48;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c0fe37;stop-opacity:0;"/> </linearGradient> - <polygon id="GT38c" points="420.652502 92.076467 420.105169 104.294015 427.513027 84.212034"/> </defs> - <use fill="#afff48" fill-opacity="1" xlink:href="#GT38c"/> - <use fill="url(#GR38c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT38c"/> - <use fill="url(#GR38c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT38c"/> - <use fill="url(#GR38c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT38c"/> + <path d="M 420.652502,92.076467 L 420.105169,104.294015 427.513027,84.212034 Z" fill="#afff48" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 420.652502,92.076467 L 420.105169,104.294015 427.513027,84.212034 Z" fill="url(#GR38c_0)" shape-rendering="crispEdges"/> + <path d="M 420.652502,92.076467 L 420.105169,104.294015 427.513027,84.212034 Z" fill="url(#GR38c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 420.652502,92.076467 L 420.105169,104.294015 427.513027,84.212034 Z" fill="url(#GR38c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR38d_0" x1="427.513027" x2="421.017856" y1="84.212034" y2="83.921057"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR38d_0" x1="427.513027" x2="421.017856" y1="84.212034" y2="83.921057"> + <stop offset="1" style="stop-color:#d1fe26;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR38d_1" x1="421.199835" x2="426.941273" y1="79.858918" y2="84.867452"> - <stop offset="0" style="stop-color:#f1fc06;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f1fc06;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR38d_1" x1="421.199835" x2="426.941273" y1="79.858918" y2="84.867452"> + <stop offset="1" style="stop-color:#d1fe26;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f1fc06;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR38d_2" x1="420.652502" x2="426.538551" y1="92.076467" y2="83.540107"> - <stop offset="0" style="stop-color:#c0fe37;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c0fe37;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR38d_2" x1="420.652502" x2="426.538551" y1="92.076467" y2="83.540107"> + <stop offset="1" style="stop-color:#d1fe26;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c0fe37;stop-opacity:0;"/> </linearGradient> - <polygon id="GT38d" points="420.652502 92.076467 427.513027 84.212034 421.199835 79.858918"/> </defs> - <use fill="#d1fe26" fill-opacity="1" xlink:href="#GT38d"/> - <use fill="url(#GR38d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT38d"/> - <use fill="url(#GR38d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT38d"/> - <use fill="url(#GR38d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT38d"/> + <path d="M 420.652502,92.076467 L 427.513027,84.212034 421.199835,79.858918 Z" fill="#d1fe26" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 420.652502,92.076467 L 427.513027,84.212034 421.199835,79.858918 Z" fill="url(#GR38d_0)" shape-rendering="crispEdges"/> + <path d="M 420.652502,92.076467 L 427.513027,84.212034 421.199835,79.858918 Z" fill="url(#GR38d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 420.652502,92.076467 L 427.513027,84.212034 421.199835,79.858918 Z" fill="url(#GR38d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR38e_0" x1="421.199835" x2="426.941273" y1="79.858918" y2="84.867452"> - <stop offset="0" style="stop-color:#f1fc06;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f1fc06;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR38e_0" x1="421.199835" x2="426.941273" y1="79.858918" y2="84.867452"> + <stop offset="1" style="stop-color:#d1fe26;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f1fc06;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR38e_1" x1="413.791977" x2="420.287148" y1="99.940899" y2="100.231876"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR38e_1" x1="413.791977" x2="420.287148" y1="99.940899" y2="100.231876"> + <stop offset="1" style="stop-color:#d1fe26;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR38e_2" x1="420.652502" x2="417.167263" y1="92.076467" y2="90.790829"> - <stop offset="0" style="stop-color:#c0fe37;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c0fe37;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR38e_2" x1="420.652502" x2="417.167263" y1="92.076467" y2="90.790829"> + <stop offset="1" style="stop-color:#d1fe26;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c0fe37;stop-opacity:0;"/> </linearGradient> - <polygon id="GT38e" points="420.652502 92.076467 421.199835 79.858918 413.791977 99.940899"/> </defs> - <use fill="#d1fe26" fill-opacity="1" xlink:href="#GT38e"/> - <use fill="url(#GR38e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT38e"/> - <use fill="url(#GR38e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT38e"/> - <use fill="url(#GR38e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT38e"/> + <path d="M 420.652502,92.076467 L 421.199835,79.858918 413.791977,99.940899 Z" fill="#d1fe26" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 420.652502,92.076467 L 421.199835,79.858918 413.791977,99.940899 Z" fill="url(#GR38e_0)" shape-rendering="crispEdges"/> + <path d="M 420.652502,92.076467 L 421.199835,79.858918 413.791977,99.940899 Z" fill="url(#GR38e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 420.652502,92.076467 L 421.199835,79.858918 413.791977,99.940899 Z" fill="url(#GR38e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR38f_0" x1="413.791977" x2="420.287148" y1="99.940899" y2="100.231876"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR38f_0" x1="413.791977" x2="420.287148" y1="99.940899" y2="100.231876"> + <stop offset="1" style="stop-color:#afff48;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR38f_1" x1="420.105169" x2="414.36373" y1="104.294015" y2="99.285481"> - <stop offset="0" style="stop-color:#8dff6a;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#8dff6a;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR38f_1" x1="420.105169" x2="414.36373" y1="104.294015" y2="99.285481"> + <stop offset="1" style="stop-color:#afff48;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#8dff6a;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR38f_2" x1="420.652502" x2="414.766452" y1="92.076467" y2="100.612826"> - <stop offset="0" style="stop-color:#c0fe37;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c0fe37;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR38f_2" x1="420.652502" x2="414.766452" y1="92.076467" y2="100.612826"> + <stop offset="1" style="stop-color:#afff48;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c0fe37;stop-opacity:0;"/> </linearGradient> - <polygon id="GT38f" points="420.652502 92.076467 413.791977 99.940899 420.105169 104.294015"/> </defs> - <use fill="#afff48" fill-opacity="1" xlink:href="#GT38f"/> - <use fill="url(#GR38f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT38f"/> - <use fill="url(#GR38f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT38f"/> - <use fill="url(#GR38f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT38f"/> + <path d="M 420.652502,92.076467 L 413.791977,99.940899 420.105169,104.294015 Z" fill="#afff48" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 420.652502,92.076467 L 413.791977,99.940899 420.105169,104.294015 Z" fill="url(#GR38f_0)" shape-rendering="crispEdges"/> + <path d="M 420.652502,92.076467 L 413.791977,99.940899 420.105169,104.294015 Z" fill="url(#GR38f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 420.652502,92.076467 L 413.791977,99.940899 420.105169,104.294015 Z" fill="url(#GR38f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR390_0" x1="427.513027" x2="423.394987" y1="84.212034" y2="78.323721"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR390_0" x1="427.513027" x2="423.394987" y1="84.212034" y2="78.323721"> + <stop offset="1" style="stop-color:#e4ee17;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR390_1" x1="437.935071" x2="431.02556" y1="68.154995" y2="66.764013"> - <stop offset="0" style="stop-color:#ffe600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffe600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR390_1" x1="437.935071" x2="431.02556" y1="68.154995" y2="66.764013"> + <stop offset="1" style="stop-color:#e4ee17;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffe600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR390_2" x1="429.567453" x2="432.782378" y1="74.006957" y2="76.093648"> - <stop offset="0" style="stop-color:#ece60f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ece60f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR390_2" x1="429.567453" x2="432.782378" y1="74.006957" y2="76.093648"> + <stop offset="1" style="stop-color:#e4ee17;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ece60f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT390" points="429.567453 74.006957 427.513027 84.212034 437.935071 68.154995"/> </defs> - <use fill="#e4ee17" fill-opacity="1" xlink:href="#GT390"/> - <use fill="url(#GR390_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT390"/> - <use fill="url(#GR390_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT390"/> - <use fill="url(#GR390_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT390"/> + <path d="M 429.567453,74.006957 L 427.513027,84.212034 437.935071,68.154995 Z" fill="#e4ee17" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 429.567453,74.006957 L 427.513027,84.212034 437.935071,68.154995 Z" fill="url(#GR390_0)" shape-rendering="crispEdges"/> + <path d="M 429.567453,74.006957 L 427.513027,84.212034 437.935071,68.154995 Z" fill="url(#GR390_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 429.567453,74.006957 L 427.513027,84.212034 437.935071,68.154995 Z" fill="url(#GR390_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR391_0" x1="437.935071" x2="431.02556" y1="68.154995" y2="66.764013"> - <stop offset="0" style="stop-color:#ffe600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffe600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR391_0" x1="437.935071" x2="431.02556" y1="68.154995" y2="66.764013"> + <stop offset="1" style="stop-color:#f9d605;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffe600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR391_1" x1="431.621879" x2="435.739919" y1="63.80188" y2="69.690193"> - <stop offset="0" style="stop-color:#ffb600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR391_1" x1="431.621879" x2="435.739919" y1="63.80188" y2="69.690193"> + <stop offset="1" style="stop-color:#f9d605;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR391_2" x1="429.567453" x2="434.998651" y1="74.006957" y2="66.130255"> - <stop offset="0" style="stop-color:#ece60f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ece60f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR391_2" x1="429.567453" x2="434.998651" y1="74.006957" y2="66.130255"> + <stop offset="1" style="stop-color:#f9d605;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ece60f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT391" points="429.567453 74.006957 437.935071 68.154995 431.621879 63.80188"/> </defs> - <use fill="#f9d605" fill-opacity="1" xlink:href="#GT391"/> - <use fill="url(#GR391_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT391"/> - <use fill="url(#GR391_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT391"/> - <use fill="url(#GR391_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT391"/> + <path d="M 429.567453,74.006957 L 437.935071,68.154995 431.621879,63.80188 Z" fill="#f9d605" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 429.567453,74.006957 L 437.935071,68.154995 431.621879,63.80188 Z" fill="url(#GR391_0)" shape-rendering="crispEdges"/> + <path d="M 429.567453,74.006957 L 437.935071,68.154995 431.621879,63.80188 Z" fill="url(#GR391_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 429.567453,74.006957 L 437.935071,68.154995 431.621879,63.80188 Z" fill="url(#GR391_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR392_0" x1="431.621879" x2="435.739919" y1="63.80188" y2="69.690193"> - <stop offset="0" style="stop-color:#ffb600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR392_0" x1="431.621879" x2="435.739919" y1="63.80188" y2="69.690193"> + <stop offset="1" style="stop-color:#f4dd07;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR392_1" x1="421.199835" x2="428.109346" y1="79.858918" y2="81.249901"> - <stop offset="0" style="stop-color:#f1fc06;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f1fc06;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR392_1" x1="421.199835" x2="428.109346" y1="79.858918" y2="81.249901"> + <stop offset="1" style="stop-color:#f4dd07;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f1fc06;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR392_2" x1="429.567453" x2="426.352528" y1="74.006957" y2="71.920265"> - <stop offset="0" style="stop-color:#ece60f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ece60f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR392_2" x1="429.567453" x2="426.352528" y1="74.006957" y2="71.920265"> + <stop offset="1" style="stop-color:#f4dd07;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ece60f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT392" points="429.567453 74.006957 431.621879 63.80188 421.199835 79.858918"/> </defs> - <use fill="#f4dd07" fill-opacity="1" xlink:href="#GT392"/> - <use fill="url(#GR392_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT392"/> - <use fill="url(#GR392_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT392"/> - <use fill="url(#GR392_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT392"/> + <path d="M 429.567453,74.006957 L 431.621879,63.80188 421.199835,79.858918 Z" fill="#f4dd07" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 429.567453,74.006957 L 431.621879,63.80188 421.199835,79.858918 Z" fill="url(#GR392_0)" shape-rendering="crispEdges"/> + <path d="M 429.567453,74.006957 L 431.621879,63.80188 421.199835,79.858918 Z" fill="url(#GR392_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 429.567453,74.006957 L 431.621879,63.80188 421.199835,79.858918 Z" fill="url(#GR392_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR393_0" x1="421.199835" x2="428.109346" y1="79.858918" y2="81.249901"> - <stop offset="0" style="stop-color:#f1fc06;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f1fc06;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR393_0" x1="421.199835" x2="428.109346" y1="79.858918" y2="81.249901"> + <stop offset="1" style="stop-color:#dff619;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f1fc06;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR393_1" x1="427.513027" x2="423.394987" y1="84.212034" y2="78.323721"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR393_1" x1="427.513027" x2="423.394987" y1="84.212034" y2="78.323721"> + <stop offset="1" style="stop-color:#dff619;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR393_2" x1="429.567453" x2="424.136255" y1="74.006957" y2="81.883659"> - <stop offset="0" style="stop-color:#ece60f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ece60f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR393_2" x1="429.567453" x2="424.136255" y1="74.006957" y2="81.883659"> + <stop offset="1" style="stop-color:#dff619;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ece60f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT393" points="429.567453 74.006957 421.199835 79.858918 427.513027 84.212034"/> </defs> - <use fill="#dff619" fill-opacity="1" xlink:href="#GT393"/> - <use fill="url(#GR393_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT393"/> - <use fill="url(#GR393_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT393"/> - <use fill="url(#GR393_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT393"/> + <path d="M 429.567453,74.006957 L 421.199835,79.858918 427.513027,84.212034 Z" fill="#dff619" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 429.567453,74.006957 L 421.199835,79.858918 427.513027,84.212034 Z" fill="url(#GR393_0)" shape-rendering="crispEdges"/> + <path d="M 429.567453,74.006957 L 421.199835,79.858918 427.513027,84.212034 Z" fill="url(#GR393_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 429.567453,74.006957 L 421.199835,79.858918 427.513027,84.212034 Z" fill="url(#GR393_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR394_0" x1="437.935071" x2="435.940692" y1="68.154995" y2="62.324569"> - <stop offset="0" style="stop-color:#ffe600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffe600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR394_0" x1="437.935071" x2="435.940692" y1="68.154995" y2="62.324569"> + <stop offset="1" style="stop-color:#ffb000;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffe600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR394_1" x1="450.600901" x2="443.677729" y1="57.30984" y2="54.416062"> - <stop offset="0" style="stop-color:#ff8900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR394_1" x1="450.600901" x2="443.677729" y1="57.30984" y2="54.416062"> + <stop offset="1" style="stop-color:#ffb000;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR394_2" x1="441.11139" x2="443.522005" y1="60.55586" y2="63.371166"> - <stop offset="0" style="stop-color:#ffa100;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffa100;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR394_2" x1="441.11139" x2="443.522005" y1="60.55586" y2="63.371166"> + <stop offset="1" style="stop-color:#ffb000;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffa100;stop-opacity:0;"/> </linearGradient> - <polygon id="GT394" points="441.11139 60.55586 437.935071 68.154995 450.600901 57.30984"/> </defs> - <use fill="#ffb000" fill-opacity="1" xlink:href="#GT394"/> - <use fill="url(#GR394_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT394"/> - <use fill="url(#GR394_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT394"/> - <use fill="url(#GR394_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT394"/> + <path d="M 441.11139,60.55586 L 437.935071,68.154995 450.600901,57.30984 Z" fill="#ffb000" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.11139,60.55586 L 437.935071,68.154995 450.600901,57.30984 Z" fill="url(#GR394_0)" shape-rendering="crispEdges"/> + <path d="M 441.11139,60.55586 L 437.935071,68.154995 450.600901,57.30984 Z" fill="url(#GR394_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.11139,60.55586 L 437.935071,68.154995 450.600901,57.30984 Z" fill="url(#GR394_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR395_0" x1="450.600901" x2="443.677729" y1="57.30984" y2="54.416062"> - <stop offset="0" style="stop-color:#ff8900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR395_0" x1="450.600901" x2="443.677729" y1="57.30984" y2="54.416062"> + <stop offset="1" style="stop-color:#ff8400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR395_1" x1="444.28771" x2="446.282089" y1="52.956724" y2="58.78715"> - <stop offset="0" style="stop-color:#ff6000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR395_1" x1="444.28771" x2="446.282089" y1="52.956724" y2="58.78715"> + <stop offset="1" style="stop-color:#ff8400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR395_2" x1="441.11139" x2="445.686261" y1="60.55586" y2="53.921063"> - <stop offset="0" style="stop-color:#ffa100;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffa100;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR395_2" x1="441.11139" x2="445.686261" y1="60.55586" y2="53.921063"> + <stop offset="1" style="stop-color:#ff8400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffa100;stop-opacity:0;"/> </linearGradient> - <polygon id="GT395" points="441.11139 60.55586 450.600901 57.30984 444.28771 52.956724"/> </defs> - <use fill="#ff8400" fill-opacity="1" xlink:href="#GT395"/> - <use fill="url(#GR395_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT395"/> - <use fill="url(#GR395_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT395"/> - <use fill="url(#GR395_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT395"/> + <path d="M 441.11139,60.55586 L 450.600901,57.30984 444.28771,52.956724 Z" fill="#ff8400" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.11139,60.55586 L 450.600901,57.30984 444.28771,52.956724 Z" fill="url(#GR395_0)" shape-rendering="crispEdges"/> + <path d="M 441.11139,60.55586 L 450.600901,57.30984 444.28771,52.956724 Z" fill="url(#GR395_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.11139,60.55586 L 450.600901,57.30984 444.28771,52.956724 Z" fill="url(#GR395_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR396_0" x1="444.28771" x2="446.282089" y1="52.956724" y2="58.78715"> - <stop offset="0" style="stop-color:#ff6000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR396_0" x1="444.28771" x2="446.282089" y1="52.956724" y2="58.78715"> + <stop offset="1" style="stop-color:#ff9200;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR396_1" x1="431.621879" x2="438.545051" y1="63.80188" y2="66.695657"> - <stop offset="0" style="stop-color:#ffb600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR396_1" x1="431.621879" x2="438.545051" y1="63.80188" y2="66.695657"> + <stop offset="1" style="stop-color:#ff9200;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR396_2" x1="441.11139" x2="438.700776" y1="60.55586" y2="57.740553"> - <stop offset="0" style="stop-color:#ffa100;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffa100;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR396_2" x1="441.11139" x2="438.700776" y1="60.55586" y2="57.740553"> + <stop offset="1" style="stop-color:#ff9200;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffa100;stop-opacity:0;"/> </linearGradient> - <polygon id="GT396" points="441.11139 60.55586 444.28771 52.956724 431.621879 63.80188"/> </defs> - <use fill="#ff9200" fill-opacity="1" xlink:href="#GT396"/> - <use fill="url(#GR396_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT396"/> - <use fill="url(#GR396_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT396"/> - <use fill="url(#GR396_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT396"/> + <path d="M 441.11139,60.55586 L 444.28771,52.956724 431.621879,63.80188 Z" fill="#ff9200" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.11139,60.55586 L 444.28771,52.956724 431.621879,63.80188 Z" fill="url(#GR396_0)" shape-rendering="crispEdges"/> + <path d="M 441.11139,60.55586 L 444.28771,52.956724 431.621879,63.80188 Z" fill="url(#GR396_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.11139,60.55586 L 444.28771,52.956724 431.621879,63.80188 Z" fill="url(#GR396_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR397_0" x1="431.621879" x2="438.545051" y1="63.80188" y2="66.695657"> - <stop offset="0" style="stop-color:#ffb600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR397_0" x1="431.621879" x2="438.545051" y1="63.80188" y2="66.695657"> + <stop offset="1" style="stop-color:#ffbf00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR397_1" x1="437.935071" x2="435.940692" y1="68.154995" y2="62.324569"> - <stop offset="0" style="stop-color:#ffe600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffe600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR397_1" x1="437.935071" x2="435.940692" y1="68.154995" y2="62.324569"> + <stop offset="1" style="stop-color:#ffbf00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffe600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR397_2" x1="441.11139" x2="436.536519" y1="60.55586" y2="67.190656"> - <stop offset="0" style="stop-color:#ffa100;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffa100;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR397_2" x1="441.11139" x2="436.536519" y1="60.55586" y2="67.190656"> + <stop offset="1" style="stop-color:#ffbf00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffa100;stop-opacity:0;"/> </linearGradient> - <polygon id="GT397" points="441.11139 60.55586 431.621879 63.80188 437.935071 68.154995"/> </defs> - <use fill="#ffbf00" fill-opacity="1" xlink:href="#GT397"/> - <use fill="url(#GR397_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT397"/> - <use fill="url(#GR397_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT397"/> - <use fill="url(#GR397_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT397"/> + <path d="M 441.11139,60.55586 L 431.621879,63.80188 437.935071,68.154995 Z" fill="#ffbf00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.11139,60.55586 L 431.621879,63.80188 437.935071,68.154995 Z" fill="url(#GR397_0)" shape-rendering="crispEdges"/> + <path d="M 441.11139,60.55586 L 431.621879,63.80188 437.935071,68.154995 Z" fill="url(#GR397_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.11139,60.55586 L 431.621879,63.80188 437.935071,68.154995 Z" fill="url(#GR397_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR398_0" x1="450.600901" x2="450.494775" y1="57.30984" y2="52.810324"> - <stop offset="0" style="stop-color:#ff8900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR398_0" x1="450.600901" x2="450.494775" y1="57.30984" y2="52.810324"> + <stop offset="1" style="stop-color:#fd5100;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR398_1" x1="464.574256" x2="458.709736" y1="52.478244" y2="47.587161"> - <stop offset="0" style="stop-color:#ff2500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff2500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR398_1" x1="464.574256" x2="458.709736" y1="52.478244" y2="47.587161"> + <stop offset="1" style="stop-color:#fd5100;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff2500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR398_2" x1="454.430983" x2="455.440301" y1="52.717484" y2="55.636511"> - <stop offset="0" style="stop-color:#f84400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f84400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR398_2" x1="454.430983" x2="455.440301" y1="52.717484" y2="55.636511"> + <stop offset="1" style="stop-color:#fd5100;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f84400;stop-opacity:0;"/> </linearGradient> - <polygon id="GT398" points="454.430983 52.717484 450.600901 57.30984 464.574256 52.478244"/> </defs> - <use fill="#fd5100" fill-opacity="1" xlink:href="#GT398"/> - <use fill="url(#GR398_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT398"/> - <use fill="url(#GR398_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT398"/> - <use fill="url(#GR398_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT398"/> + <path d="M 454.430983,52.717484 L 450.600901,57.30984 464.574256,52.478244 Z" fill="#fd5100" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 454.430983,52.717484 L 450.600901,57.30984 464.574256,52.478244 Z" fill="url(#GR398_0)" shape-rendering="crispEdges"/> + <path d="M 454.430983,52.717484 L 450.600901,57.30984 464.574256,52.478244 Z" fill="url(#GR398_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 454.430983,52.717484 L 450.600901,57.30984 464.574256,52.478244 Z" fill="url(#GR398_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR399_0" x1="464.574256" x2="458.709736" y1="52.478244" y2="47.587161"> - <stop offset="0" style="stop-color:#ff2500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff2500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR399_0" x1="464.574256" x2="458.709736" y1="52.478244" y2="47.587161"> + <stop offset="1" style="stop-color:#f42300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff2500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR399_1" x1="458.261065" x2="458.36719" y1="48.125129" y2="52.624644"> - <stop offset="0" style="stop-color:#e40000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e40000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR399_1" x1="458.261065" x2="458.36719" y1="48.125129" y2="52.624644"> + <stop offset="1" style="stop-color:#f42300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e40000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR399_2" x1="454.430983" x2="457.811351" y1="52.717484" y2="47.815039"> - <stop offset="0" style="stop-color:#f84400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f84400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR399_2" x1="454.430983" x2="457.811351" y1="52.717484" y2="47.815039"> + <stop offset="1" style="stop-color:#f42300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f84400;stop-opacity:0;"/> </linearGradient> - <polygon id="GT399" points="454.430983 52.717484 464.574256 52.478244 458.261065 48.125129"/> </defs> - <use fill="#f42300" fill-opacity="1" xlink:href="#GT399"/> - <use fill="url(#GR399_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT399"/> - <use fill="url(#GR399_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT399"/> - <use fill="url(#GR399_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT399"/> + <path d="M 454.430983,52.717484 L 464.574256,52.478244 458.261065,48.125129 Z" fill="#f42300" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 454.430983,52.717484 L 464.574256,52.478244 458.261065,48.125129 Z" fill="url(#GR399_0)" shape-rendering="crispEdges"/> + <path d="M 454.430983,52.717484 L 464.574256,52.478244 458.261065,48.125129 Z" fill="url(#GR399_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 454.430983,52.717484 L 464.574256,52.478244 458.261065,48.125129 Z" fill="url(#GR399_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR39a_0" x1="458.261065" x2="458.36719" y1="48.125129" y2="52.624644"> - <stop offset="0" style="stop-color:#e40000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e40000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR39a_0" x1="458.261065" x2="458.36719" y1="48.125129" y2="52.624644"> + <stop offset="1" style="stop-color:#f43700;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e40000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR39a_1" x1="444.28771" x2="450.15223" y1="52.956724" y2="57.847807"> - <stop offset="0" style="stop-color:#ff6000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR39a_1" x1="444.28771" x2="450.15223" y1="52.956724" y2="57.847807"> + <stop offset="1" style="stop-color:#f43700;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR39a_2" x1="454.430983" x2="453.421665" y1="52.717484" y2="49.798458"> - <stop offset="0" style="stop-color:#f84400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f84400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR39a_2" x1="454.430983" x2="453.421665" y1="52.717484" y2="49.798458"> + <stop offset="1" style="stop-color:#f43700;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f84400;stop-opacity:0;"/> </linearGradient> - <polygon id="GT39a" points="454.430983 52.717484 458.261065 48.125129 444.28771 52.956724"/> </defs> - <use fill="#f43700" fill-opacity="1" xlink:href="#GT39a"/> - <use fill="url(#GR39a_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT39a"/> - <use fill="url(#GR39a_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT39a"/> - <use fill="url(#GR39a_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT39a"/> + <path d="M 454.430983,52.717484 L 458.261065,48.125129 444.28771,52.956724 Z" fill="#f43700" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 454.430983,52.717484 L 458.261065,48.125129 444.28771,52.956724 Z" fill="url(#GR39a_0)" shape-rendering="crispEdges"/> + <path d="M 454.430983,52.717484 L 458.261065,48.125129 444.28771,52.956724 Z" fill="url(#GR39a_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 454.430983,52.717484 L 458.261065,48.125129 444.28771,52.956724 Z" fill="url(#GR39a_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR39b_0" x1="444.28771" x2="450.15223" y1="52.956724" y2="57.847807"> - <stop offset="0" style="stop-color:#ff6000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR39b_0" x1="444.28771" x2="450.15223" y1="52.956724" y2="57.847807"> + <stop offset="1" style="stop-color:#fd6400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR39b_1" x1="450.600901" x2="450.494775" y1="57.30984" y2="52.810324"> - <stop offset="0" style="stop-color:#ff8900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR39b_1" x1="450.600901" x2="450.494775" y1="57.30984" y2="52.810324"> + <stop offset="1" style="stop-color:#fd6400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR39b_2" x1="454.430983" x2="451.050615" y1="52.717484" y2="57.619929"> - <stop offset="0" style="stop-color:#f84400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f84400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR39b_2" x1="454.430983" x2="451.050615" y1="52.717484" y2="57.619929"> + <stop offset="1" style="stop-color:#fd6400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f84400;stop-opacity:0;"/> </linearGradient> - <polygon id="GT39b" points="454.430983 52.717484 444.28771 52.956724 450.600901 57.30984"/> </defs> - <use fill="#fd6400" fill-opacity="1" xlink:href="#GT39b"/> - <use fill="url(#GR39b_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT39b"/> - <use fill="url(#GR39b_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT39b"/> - <use fill="url(#GR39b_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT39b"/> + <path d="M 454.430983,52.717484 L 444.28771,52.956724 450.600901,57.30984 Z" fill="#fd6400" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 454.430983,52.717484 L 444.28771,52.956724 450.600901,57.30984 Z" fill="url(#GR39b_0)" shape-rendering="crispEdges"/> + <path d="M 454.430983,52.717484 L 444.28771,52.956724 450.600901,57.30984 Z" fill="url(#GR39b_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 454.430983,52.717484 L 444.28771,52.956724 450.600901,57.30984 Z" fill="url(#GR39b_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR39c_0" x1="458.261065" x2="458.568749" y1="220.492262" y2="219.277308"> - <stop offset="0" style="stop-color:#e40000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e40000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR39c_0" x1="458.261065" x2="458.568749" y1="220.492262" y2="219.277308"> + <stop offset="1" style="stop-color:#ed2c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e40000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR39c_1" x1="444.28771" x2="444.441133" y1="215.660667" y2="215.25576"> - <stop offset="0" style="stop-color:#ff6000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR39c_1" x1="444.28771" x2="444.441133" y1="215.660667" y2="215.25576"> + <stop offset="1" style="stop-color:#ed2c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR39c_2" x1="447.972528" x2="447.867231" y1="216.593839" y2="216.898365"> - <stop offset="0" style="stop-color:#e52400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e52400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR39c_2" x1="447.972528" x2="447.867231" y1="216.593839" y2="216.898365"> + <stop offset="1" style="stop-color:#ed2c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e52400;stop-opacity:0;"/> </linearGradient> - <polygon id="GT39c" points="447.972528 216.593839 458.261065 220.492262 444.28771 215.660667"/> </defs> - <use fill="#ed2c00" fill-opacity="1" xlink:href="#GT39c"/> - <use fill="url(#GR39c_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT39c"/> - <use fill="url(#GR39c_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT39c"/> - <use fill="url(#GR39c_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT39c"/> + <path d="M 447.972528,216.593839 L 458.261065,220.492262 444.28771,215.660667 Z" fill="#ed2c00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.972528,216.593839 L 458.261065,220.492262 444.28771,215.660667 Z" fill="url(#GR39c_0)" shape-rendering="crispEdges"/> + <path d="M 447.972528,216.593839 L 458.261065,220.492262 444.28771,215.660667 Z" fill="url(#GR39c_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.972528,216.593839 L 458.261065,220.492262 444.28771,215.660667 Z" fill="url(#GR39c_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR39d_0" x1="444.28771" x2="444.441133" y1="215.660667" y2="215.25576"> - <stop offset="0" style="stop-color:#ff6000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR39d_0" x1="444.28771" x2="444.441133" y1="215.660667" y2="215.25576"> + <stop offset="1" style="stop-color:#f63c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR39d_1" x1="437.683992" x2="437.376308" y1="212.695415" y2="213.910369"> - <stop offset="0" style="stop-color:#ff3000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff3000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR39d_1" x1="437.683992" x2="437.376308" y1="212.695415" y2="213.910369"> + <stop offset="1" style="stop-color:#f63c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff3000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR39d_2" x1="447.972528" x2="447.702948" y1="216.593839" y2="217.194203"> - <stop offset="0" style="stop-color:#e52400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e52400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR39d_2" x1="447.972528" x2="447.702948" y1="216.593839" y2="217.194203"> + <stop offset="1" style="stop-color:#f63c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e52400;stop-opacity:0;"/> </linearGradient> - <polygon id="GT39d" points="447.972528 216.593839 444.28771 215.660667 437.683992 212.695415"/> </defs> - <use fill="#f63c00" fill-opacity="1" xlink:href="#GT39d"/> - <use fill="url(#GR39d_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT39d"/> - <use fill="url(#GR39d_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT39d"/> - <use fill="url(#GR39d_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT39d"/> + <path d="M 447.972528,216.593839 L 444.28771,215.660667 437.683992,212.695415 Z" fill="#f63c00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.972528,216.593839 L 444.28771,215.660667 437.683992,212.695415 Z" fill="url(#GR39d_0)" shape-rendering="crispEdges"/> + <path d="M 447.972528,216.593839 L 444.28771,215.660667 437.683992,212.695415 Z" fill="url(#GR39d_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.972528,216.593839 L 444.28771,215.660667 437.683992,212.695415 Z" fill="url(#GR39d_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR39e_0" x1="437.683992" x2="437.376308" y1="212.695415" y2="213.910369"> - <stop offset="0" style="stop-color:#ff3000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff3000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR39e_0" x1="437.683992" x2="437.376308" y1="212.695415" y2="213.910369"> + <stop offset="1" style="stop-color:#dc1c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff3000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR39e_1" x1="451.657347" x2="451.503924" y1="217.527011" y2="217.931918"> - <stop offset="0" style="stop-color:#b20000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b20000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR39e_1" x1="451.657347" x2="451.503924" y1="217.527011" y2="217.931918"> + <stop offset="1" style="stop-color:#dc1c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b20000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR39e_2" x1="447.972528" x2="448.077825" y1="216.593839" y2="216.289312"> - <stop offset="0" style="stop-color:#e52400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e52400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR39e_2" x1="447.972528" x2="448.077825" y1="216.593839" y2="216.289312"> + <stop offset="1" style="stop-color:#dc1c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e52400;stop-opacity:0;"/> </linearGradient> - <polygon id="GT39e" points="447.972528 216.593839 437.683992 212.695415 451.657347 217.527011"/> </defs> - <use fill="#dc1c00" fill-opacity="1" xlink:href="#GT39e"/> - <use fill="url(#GR39e_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT39e"/> - <use fill="url(#GR39e_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT39e"/> - <use fill="url(#GR39e_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT39e"/> + <path d="M 447.972528,216.593839 L 437.683992,212.695415 451.657347,217.527011 Z" fill="#dc1c00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.972528,216.593839 L 437.683992,212.695415 451.657347,217.527011 Z" fill="url(#GR39e_0)" shape-rendering="crispEdges"/> + <path d="M 447.972528,216.593839 L 437.683992,212.695415 451.657347,217.527011 Z" fill="url(#GR39e_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.972528,216.593839 L 437.683992,212.695415 451.657347,217.527011 Z" fill="url(#GR39e_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR39f_0" x1="451.657347" x2="451.503924" y1="217.527011" y2="217.931918"> - <stop offset="0" style="stop-color:#b20000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b20000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR39f_0" x1="451.657347" x2="451.503924" y1="217.527011" y2="217.931918"> + <stop offset="1" style="stop-color:#d30c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b20000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR39f_1" x1="458.261065" x2="458.568749" y1="220.492262" y2="219.277308"> - <stop offset="0" style="stop-color:#e40000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e40000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR39f_1" x1="458.261065" x2="458.568749" y1="220.492262" y2="219.277308"> + <stop offset="1" style="stop-color:#d30c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e40000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR39f_2" x1="447.972528" x2="448.242108" y1="216.593839" y2="215.993474"> - <stop offset="0" style="stop-color:#e52400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e52400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR39f_2" x1="447.972528" x2="448.242108" y1="216.593839" y2="215.993474"> + <stop offset="1" style="stop-color:#d30c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e52400;stop-opacity:0;"/> </linearGradient> - <polygon id="GT39f" points="447.972528 216.593839 451.657347 217.527011 458.261065 220.492262"/> </defs> - <use fill="#d30c00" fill-opacity="1" xlink:href="#GT39f"/> - <use fill="url(#GR39f_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT39f"/> - <use fill="url(#GR39f_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT39f"/> - <use fill="url(#GR39f_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT39f"/> + <path d="M 447.972528,216.593839 L 451.657347,217.527011 458.261065,220.492262 Z" fill="#d30c00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.972528,216.593839 L 451.657347,217.527011 458.261065,220.492262 Z" fill="url(#GR39f_0)" shape-rendering="crispEdges"/> + <path d="M 447.972528,216.593839 L 451.657347,217.527011 458.261065,220.492262 Z" fill="url(#GR39f_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.972528,216.593839 L 451.657347,217.527011 458.261065,220.492262 Z" fill="url(#GR39f_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3a0_0" x1="444.28771" x2="441.572296" y1="215.660667" y2="217.74967"> - <stop offset="0" style="stop-color:#ff6000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3a0_0" x1="444.28771" x2="441.572296" y1="215.660667" y2="217.74967"> + <stop offset="1" style="stop-color:#ff8300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3a0_1" x1="431.621879" x2="430.78494" y1="204.815511" y2="205.983286"> - <stop offset="0" style="stop-color:#ffb600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3a0_1" x1="431.621879" x2="430.78494" y1="204.815511" y2="205.983286"> + <stop offset="1" style="stop-color:#ff8300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3a0_2" x1="434.652936" x2="435.317221" y1="208.755463" y2="207.979658"> - <stop offset="0" style="stop-color:#ff7200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff7200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3a0_2" x1="434.652936" x2="435.317221" y1="208.755463" y2="207.979658"> + <stop offset="1" style="stop-color:#ff8300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff7200;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3a0" points="434.652936 208.755463 444.28771 215.660667 431.621879 204.815511"/> </defs> - <use fill="#ff8300" fill-opacity="1" xlink:href="#GT3a0"/> - <use fill="url(#GR3a0_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3a0"/> - <use fill="url(#GR3a0_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3a0"/> - <use fill="url(#GR3a0_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3a0"/> + <path d="M 434.652936,208.755463 L 444.28771,215.660667 431.621879,204.815511 Z" fill="#ff8300" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 434.652936,208.755463 L 444.28771,215.660667 431.621879,204.815511 Z" fill="url(#GR3a0_0)" shape-rendering="crispEdges"/> + <path d="M 434.652936,208.755463 L 444.28771,215.660667 431.621879,204.815511 Z" fill="url(#GR3a0_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 434.652936,208.755463 L 444.28771,215.660667 431.621879,204.815511 Z" fill="url(#GR3a0_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3a1_0" x1="431.621879" x2="430.78494" y1="204.815511" y2="205.983286"> - <stop offset="0" style="stop-color:#ffb600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3a1_0" x1="431.621879" x2="430.78494" y1="204.815511" y2="205.983286"> + <stop offset="1" style="stop-color:#ff8e00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3a1_1" x1="425.018162" x2="427.733576" y1="201.850259" y2="199.761256"> - <stop offset="0" style="stop-color:#ff8200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3a1_1" x1="425.018162" x2="427.733576" y1="201.850259" y2="199.761256"> + <stop offset="1" style="stop-color:#ff8e00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3a1_2" x1="434.652936" x2="435.616637" y1="208.755463" y2="206.609267"> - <stop offset="0" style="stop-color:#ff7200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff7200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3a1_2" x1="434.652936" x2="435.616637" y1="208.755463" y2="206.609267"> + <stop offset="1" style="stop-color:#ff8e00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff7200;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3a1" points="434.652936 208.755463 431.621879 204.815511 425.018162 201.850259"/> </defs> - <use fill="#ff8e00" fill-opacity="1" xlink:href="#GT3a1"/> - <use fill="url(#GR3a1_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3a1"/> - <use fill="url(#GR3a1_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3a1"/> - <use fill="url(#GR3a1_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3a1"/> + <path d="M 434.652936,208.755463 L 431.621879,204.815511 425.018162,201.850259 Z" fill="#ff8e00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 434.652936,208.755463 L 431.621879,204.815511 425.018162,201.850259 Z" fill="url(#GR3a1_0)" shape-rendering="crispEdges"/> + <path d="M 434.652936,208.755463 L 431.621879,204.815511 425.018162,201.850259 Z" fill="url(#GR3a1_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 434.652936,208.755463 L 431.621879,204.815511 425.018162,201.850259 Z" fill="url(#GR3a1_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3a2_0" x1="425.018162" x2="427.733576" y1="201.850259" y2="199.761256"> - <stop offset="0" style="stop-color:#ff8200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3a2_0" x1="425.018162" x2="427.733576" y1="201.850259" y2="199.761256"> + <stop offset="1" style="stop-color:#ff6100;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3a2_1" x1="437.683992" x2="438.520932" y1="212.695415" y2="211.52764"> - <stop offset="0" style="stop-color:#ff3000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff3000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3a2_1" x1="437.683992" x2="438.520932" y1="212.695415" y2="211.52764"> + <stop offset="1" style="stop-color:#ff6100;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff3000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3a2_2" x1="434.652936" x2="433.988651" y1="208.755463" y2="209.531268"> - <stop offset="0" style="stop-color:#ff7200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff7200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3a2_2" x1="434.652936" x2="433.988651" y1="208.755463" y2="209.531268"> + <stop offset="1" style="stop-color:#ff6100;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff7200;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3a2" points="434.652936 208.755463 425.018162 201.850259 437.683992 212.695415"/> </defs> - <use fill="#ff6100" fill-opacity="1" xlink:href="#GT3a2"/> - <use fill="url(#GR3a2_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3a2"/> - <use fill="url(#GR3a2_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3a2"/> - <use fill="url(#GR3a2_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3a2"/> + <path d="M 434.652936,208.755463 L 425.018162,201.850259 437.683992,212.695415 Z" fill="#ff6100" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 434.652936,208.755463 L 425.018162,201.850259 437.683992,212.695415 Z" fill="url(#GR3a2_0)" shape-rendering="crispEdges"/> + <path d="M 434.652936,208.755463 L 425.018162,201.850259 437.683992,212.695415 Z" fill="url(#GR3a2_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 434.652936,208.755463 L 425.018162,201.850259 437.683992,212.695415 Z" fill="url(#GR3a2_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3a3_0" x1="437.683992" x2="438.520932" y1="212.695415" y2="211.52764"> - <stop offset="0" style="stop-color:#ff3000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff3000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3a3_0" x1="437.683992" x2="438.520932" y1="212.695415" y2="211.52764"> + <stop offset="1" style="stop-color:#ff5600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff3000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3a3_1" x1="444.28771" x2="441.572296" y1="215.660667" y2="217.74967"> - <stop offset="0" style="stop-color:#ff6000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3a3_1" x1="444.28771" x2="441.572296" y1="215.660667" y2="217.74967"> + <stop offset="1" style="stop-color:#ff5600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3a3_2" x1="434.652936" x2="433.689235" y1="208.755463" y2="210.901659"> - <stop offset="0" style="stop-color:#ff7200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff7200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3a3_2" x1="434.652936" x2="433.689235" y1="208.755463" y2="210.901659"> + <stop offset="1" style="stop-color:#ff5600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff7200;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3a3" points="434.652936 208.755463 437.683992 212.695415 444.28771 215.660667"/> </defs> - <use fill="#ff5600" fill-opacity="1" xlink:href="#GT3a3"/> - <use fill="url(#GR3a3_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3a3"/> - <use fill="url(#GR3a3_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3a3"/> - <use fill="url(#GR3a3_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3a3"/> + <path d="M 434.652936,208.755463 L 437.683992,212.695415 444.28771,215.660667 Z" fill="#ff5600" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 434.652936,208.755463 L 437.683992,212.695415 444.28771,215.660667 Z" fill="url(#GR3a3_0)" shape-rendering="crispEdges"/> + <path d="M 434.652936,208.755463 L 437.683992,212.695415 444.28771,215.660667 Z" fill="url(#GR3a3_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 434.652936,208.755463 L 437.683992,212.695415 444.28771,215.660667 Z" fill="url(#GR3a3_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3a4_0" x1="431.621879" x2="426.332905" y1="204.815511" y2="206.358084"> - <stop offset="0" style="stop-color:#ffb600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3a4_0" x1="431.621879" x2="426.332905" y1="204.815511" y2="206.358084"> + <stop offset="1" style="stop-color:#f9d002;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3a4_1" x1="421.199835" x2="419.006904" y1="188.758472" y2="190.721239"> - <stop offset="0" style="stop-color:#f1fc06;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f1fc06;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3a4_1" x1="421.199835" x2="419.006904" y1="188.758472" y2="190.721239"> + <stop offset="1" style="stop-color:#f9d002;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f1fc06;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3a4_2" x1="423.108998" x2="424.755073" y1="195.304366" y2="194.235958"> - <stop offset="0" style="stop-color:#fcbe01;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fcbe01;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3a4_2" x1="423.108998" x2="424.755073" y1="195.304366" y2="194.235958"> + <stop offset="1" style="stop-color:#f9d002;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fcbe01;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3a4" points="423.108998 195.304366 431.621879 204.815511 421.199835 188.758472"/> </defs> - <use fill="#f9d002" fill-opacity="1" xlink:href="#GT3a4"/> - <use fill="url(#GR3a4_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3a4"/> - <use fill="url(#GR3a4_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3a4"/> - <use fill="url(#GR3a4_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3a4"/> + <path d="M 423.108998,195.304366 L 431.621879,204.815511 421.199835,188.758472 Z" fill="#f9d002" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 423.108998,195.304366 L 431.621879,204.815511 421.199835,188.758472 Z" fill="url(#GR3a4_0)" shape-rendering="crispEdges"/> + <path d="M 423.108998,195.304366 L 431.621879,204.815511 421.199835,188.758472 Z" fill="url(#GR3a4_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 423.108998,195.304366 L 431.621879,204.815511 421.199835,188.758472 Z" fill="url(#GR3a4_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3a5_0" x1="421.199835" x2="419.006904" y1="188.758472" y2="190.721239"> - <stop offset="0" style="stop-color:#f1fc06;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f1fc06;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3a5_0" x1="421.199835" x2="419.006904" y1="188.758472" y2="190.721239"> + <stop offset="1" style="stop-color:#f9d502;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f1fc06;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3a5_1" x1="414.596117" x2="419.885091" y1="185.793221" y2="184.250648"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3a5_1" x1="414.596117" x2="419.885091" y1="185.793221" y2="184.250648"> + <stop offset="1" style="stop-color:#f9d502;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3a5_2" x1="423.108998" x2="425.234744" y1="195.304366" y2="190.570258"> - <stop offset="0" style="stop-color:#fcbe01;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fcbe01;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3a5_2" x1="423.108998" x2="425.234744" y1="195.304366" y2="190.570258"> + <stop offset="1" style="stop-color:#f9d502;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fcbe01;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3a5" points="423.108998 195.304366 421.199835 188.758472 414.596117 185.793221"/> </defs> - <use fill="#f9d502" fill-opacity="1" xlink:href="#GT3a5"/> - <use fill="url(#GR3a5_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3a5"/> - <use fill="url(#GR3a5_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3a5"/> - <use fill="url(#GR3a5_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3a5"/> + <path d="M 423.108998,195.304366 L 421.199835,188.758472 414.596117,185.793221 Z" fill="#f9d502" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 423.108998,195.304366 L 421.199835,188.758472 414.596117,185.793221 Z" fill="url(#GR3a5_0)" shape-rendering="crispEdges"/> + <path d="M 423.108998,195.304366 L 421.199835,188.758472 414.596117,185.793221 Z" fill="url(#GR3a5_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 423.108998,195.304366 L 421.199835,188.758472 414.596117,185.793221 Z" fill="url(#GR3a5_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3a6_0" x1="414.596117" x2="419.885091" y1="185.793221" y2="184.250648"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3a6_0" x1="414.596117" x2="419.885091" y1="185.793221" y2="184.250648"> + <stop offset="1" style="stop-color:#feac00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3a6_1" x1="425.018162" x2="427.211093" y1="201.850259" y2="199.887493"> - <stop offset="0" style="stop-color:#ff8200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3a6_1" x1="425.018162" x2="427.211093" y1="201.850259" y2="199.887493"> + <stop offset="1" style="stop-color:#feac00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3a6_2" x1="423.108998" x2="421.462923" y1="195.304366" y2="196.372774"> - <stop offset="0" style="stop-color:#fcbe01;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fcbe01;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3a6_2" x1="423.108998" x2="421.462923" y1="195.304366" y2="196.372774"> + <stop offset="1" style="stop-color:#feac00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fcbe01;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3a6" points="423.108998 195.304366 414.596117 185.793221 425.018162 201.850259"/> </defs> - <use fill="#feac00" fill-opacity="1" xlink:href="#GT3a6"/> - <use fill="url(#GR3a6_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3a6"/> - <use fill="url(#GR3a6_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3a6"/> - <use fill="url(#GR3a6_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3a6"/> + <path d="M 423.108998,195.304366 L 414.596117,185.793221 425.018162,201.850259 Z" fill="#feac00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 423.108998,195.304366 L 414.596117,185.793221 425.018162,201.850259 Z" fill="url(#GR3a6_0)" shape-rendering="crispEdges"/> + <path d="M 423.108998,195.304366 L 414.596117,185.793221 425.018162,201.850259 Z" fill="url(#GR3a6_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 423.108998,195.304366 L 414.596117,185.793221 425.018162,201.850259 Z" fill="url(#GR3a6_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3a7_0" x1="425.018162" x2="427.211093" y1="201.850259" y2="199.887493"> - <stop offset="0" style="stop-color:#ff8200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3a7_0" x1="425.018162" x2="427.211093" y1="201.850259" y2="199.887493"> + <stop offset="1" style="stop-color:#fea700;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3a7_1" x1="431.621879" x2="426.332905" y1="204.815511" y2="206.358084"> - <stop offset="0" style="stop-color:#ffb600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3a7_1" x1="431.621879" x2="426.332905" y1="204.815511" y2="206.358084"> + <stop offset="1" style="stop-color:#fea700;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3a7_2" x1="423.108998" x2="420.983253" y1="195.304366" y2="200.038474"> - <stop offset="0" style="stop-color:#fcbe01;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fcbe01;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3a7_2" x1="423.108998" x2="420.983253" y1="195.304366" y2="200.038474"> + <stop offset="1" style="stop-color:#fea700;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fcbe01;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3a7" points="423.108998 195.304366 425.018162 201.850259 431.621879 204.815511"/> </defs> - <use fill="#fea700" fill-opacity="1" xlink:href="#GT3a7"/> - <use fill="url(#GR3a7_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3a7"/> - <use fill="url(#GR3a7_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3a7"/> - <use fill="url(#GR3a7_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3a7"/> + <path d="M 423.108998,195.304366 L 425.018162,201.850259 431.621879,204.815511 Z" fill="#fea700" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 423.108998,195.304366 L 425.018162,201.850259 431.621879,204.815511 Z" fill="url(#GR3a7_0)" shape-rendering="crispEdges"/> + <path d="M 423.108998,195.304366 L 425.018162,201.850259 431.621879,204.815511 Z" fill="url(#GR3a7_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 423.108998,195.304366 L 425.018162,201.850259 431.621879,204.815511 Z" fill="url(#GR3a7_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3a8_0" x1="421.199835" x2="414.74966" y1="188.758472" y2="189.0615"> - <stop offset="0" style="stop-color:#f1fc06;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f1fc06;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3a8_0" x1="421.199835" x2="414.74966" y1="188.758472" y2="189.0615"> + <stop offset="1" style="stop-color:#dff819;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f1fc06;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3a8_1" x1="413.791977" x2="410.28659" y1="168.676491" y2="170.807593"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3a8_1" x1="413.791977" x2="410.28659" y1="168.676491" y2="170.807593"> + <stop offset="1" style="stop-color:#dff819;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3a8_2" x1="414.194047" x2="416.61902" y1="177.234856" y2="176.34033"> - <stop offset="0" style="stop-color:#eaed0f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#eaed0f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3a8_2" x1="414.194047" x2="416.61902" y1="177.234856" y2="176.34033"> + <stop offset="1" style="stop-color:#dff819;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#eaed0f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3a8" points="414.194047 177.234856 421.199835 188.758472 413.791977 168.676491"/> </defs> - <use fill="#dff819" fill-opacity="1" xlink:href="#GT3a8"/> - <use fill="url(#GR3a8_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3a8"/> - <use fill="url(#GR3a8_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3a8"/> - <use fill="url(#GR3a8_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3a8"/> + <path d="M 414.194047,177.234856 L 421.199835,188.758472 413.791977,168.676491 Z" fill="#dff819" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 414.194047,177.234856 L 421.199835,188.758472 413.791977,168.676491 Z" fill="url(#GR3a8_0)" shape-rendering="crispEdges"/> + <path d="M 414.194047,177.234856 L 421.199835,188.758472 413.791977,168.676491 Z" fill="url(#GR3a8_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 414.194047,177.234856 L 421.199835,188.758472 413.791977,168.676491 Z" fill="url(#GR3a8_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3a9_0" x1="413.791977" x2="410.28659" y1="168.676491" y2="170.807593"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3a9_0" x1="413.791977" x2="410.28659" y1="168.676491" y2="170.807593"> + <stop offset="1" style="stop-color:#e1f617;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3a9_1" x1="407.188259" x2="413.638434" y1="165.71124" y2="165.408212"> - <stop offset="0" style="stop-color:#f8f500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f8f500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3a9_1" x1="407.188259" x2="413.638434" y1="165.71124" y2="165.408212"> + <stop offset="1" style="stop-color:#e1f617;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f8f500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3a9_2" x1="414.194047" x2="417.324701" y1="177.234856" y2="170.262782"> - <stop offset="0" style="stop-color:#eaed0f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#eaed0f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3a9_2" x1="414.194047" x2="417.324701" y1="177.234856" y2="170.262782"> + <stop offset="1" style="stop-color:#e1f617;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#eaed0f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3a9" points="414.194047 177.234856 413.791977 168.676491 407.188259 165.71124"/> </defs> - <use fill="#e1f617" fill-opacity="1" xlink:href="#GT3a9"/> - <use fill="url(#GR3a9_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3a9"/> - <use fill="url(#GR3a9_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3a9"/> - <use fill="url(#GR3a9_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3a9"/> + <path d="M 414.194047,177.234856 L 413.791977,168.676491 407.188259,165.71124 Z" fill="#e1f617" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 414.194047,177.234856 L 413.791977,168.676491 407.188259,165.71124 Z" fill="url(#GR3a9_0)" shape-rendering="crispEdges"/> + <path d="M 414.194047,177.234856 L 413.791977,168.676491 407.188259,165.71124 Z" fill="url(#GR3a9_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 414.194047,177.234856 L 413.791977,168.676491 407.188259,165.71124 Z" fill="url(#GR3a9_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3aa_0" x1="407.188259" x2="413.638434" y1="165.71124" y2="165.408212"> - <stop offset="0" style="stop-color:#f8f500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f8f500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3aa_0" x1="407.188259" x2="413.638434" y1="165.71124" y2="165.408212"> + <stop offset="1" style="stop-color:#f6e205;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f8f500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3aa_1" x1="414.596117" x2="418.101505" y1="185.793221" y2="183.662119"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3aa_1" x1="414.596117" x2="418.101505" y1="185.793221" y2="183.662119"> + <stop offset="1" style="stop-color:#f6e205;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3aa_2" x1="414.194047" x2="411.769074" y1="177.234856" y2="178.129382"> - <stop offset="0" style="stop-color:#eaed0f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#eaed0f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3aa_2" x1="414.194047" x2="411.769074" y1="177.234856" y2="178.129382"> + <stop offset="1" style="stop-color:#f6e205;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#eaed0f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3aa" points="414.194047 177.234856 407.188259 165.71124 414.596117 185.793221"/> </defs> - <use fill="#f6e205" fill-opacity="1" xlink:href="#GT3aa"/> - <use fill="url(#GR3aa_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3aa"/> - <use fill="url(#GR3aa_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3aa"/> - <use fill="url(#GR3aa_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3aa"/> + <path d="M 414.194047,177.234856 L 407.188259,165.71124 414.596117,185.793221 Z" fill="#f6e205" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 414.194047,177.234856 L 407.188259,165.71124 414.596117,185.793221 Z" fill="url(#GR3aa_0)" shape-rendering="crispEdges"/> + <path d="M 414.194047,177.234856 L 407.188259,165.71124 414.596117,185.793221 Z" fill="url(#GR3aa_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 414.194047,177.234856 L 407.188259,165.71124 414.596117,185.793221 Z" fill="url(#GR3aa_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3ab_0" x1="414.596117" x2="418.101505" y1="185.793221" y2="183.662119"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3ab_0" x1="414.596117" x2="418.101505" y1="185.793221" y2="183.662119"> + <stop offset="1" style="stop-color:#f3e507;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3ab_1" x1="421.199835" x2="414.74966" y1="188.758472" y2="189.0615"> - <stop offset="0" style="stop-color:#f1fc06;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f1fc06;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3ab_1" x1="421.199835" x2="414.74966" y1="188.758472" y2="189.0615"> + <stop offset="1" style="stop-color:#f3e507;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f1fc06;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3ab_2" x1="414.194047" x2="411.063394" y1="177.234856" y2="184.20693"> - <stop offset="0" style="stop-color:#eaed0f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#eaed0f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3ab_2" x1="414.194047" x2="411.063394" y1="177.234856" y2="184.20693"> + <stop offset="1" style="stop-color:#f3e507;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#eaed0f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3ab" points="414.194047 177.234856 414.596117 185.793221 421.199835 188.758472"/> </defs> - <use fill="#f3e507" fill-opacity="1" xlink:href="#GT3ab"/> - <use fill="url(#GR3ab_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3ab"/> - <use fill="url(#GR3ab_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3ab"/> - <use fill="url(#GR3ab_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3ab"/> + <path d="M 414.194047,177.234856 L 414.596117,185.793221 421.199835,188.758472 Z" fill="#f3e507" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 414.194047,177.234856 L 414.596117,185.793221 421.199835,188.758472 Z" fill="url(#GR3ab_0)" shape-rendering="crispEdges"/> + <path d="M 414.194047,177.234856 L 414.596117,185.793221 421.199835,188.758472 Z" fill="url(#GR3ab_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 414.194047,177.234856 L 414.596117,185.793221 421.199835,188.758472 Z" fill="url(#GR3ab_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3ac_0" x1="413.791977" x2="406.907758" y1="168.676491" y2="167.71073"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3ac_0" x1="413.791977" x2="406.907758" y1="168.676491" y2="167.71073"> + <stop offset="1" style="stop-color:#bffe38;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3ac_1" x1="409.945897" x2="405.324015" y1="146.054034" y2="147.94157"> - <stop offset="0" style="stop-color:#aaff4d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#aaff4d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3ac_1" x1="409.945897" x2="405.324015" y1="146.054034" y2="147.94157"> + <stop offset="1" style="stop-color:#bffe38;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#aaff4d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3ac_2" x1="408.567078" x2="411.531198" y1="155.882637" y2="155.378702"> - <stop offset="0" style="stop-color:#d1fc26;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d1fc26;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3ac_2" x1="408.567078" x2="411.531198" y1="155.882637" y2="155.378702"> + <stop offset="1" style="stop-color:#bffe38;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d1fc26;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3ac" points="408.567078 155.882637 413.791977 168.676491 409.945897 146.054034"/> </defs> - <use fill="#bffe38" fill-opacity="1" xlink:href="#GT3ac"/> - <use fill="url(#GR3ac_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3ac"/> - <use fill="url(#GR3ac_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3ac"/> - <use fill="url(#GR3ac_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3ac"/> + <path d="M 408.567078,155.882637 L 413.791977,168.676491 409.945897,146.054034 Z" fill="#bffe38" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 408.567078,155.882637 L 413.791977,168.676491 409.945897,146.054034 Z" fill="url(#GR3ac_0)" shape-rendering="crispEdges"/> + <path d="M 408.567078,155.882637 L 413.791977,168.676491 409.945897,146.054034 Z" fill="url(#GR3ac_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 408.567078,155.882637 L 413.791977,168.676491 409.945897,146.054034 Z" fill="url(#GR3ac_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3ad_0" x1="409.945897" x2="405.324015" y1="146.054034" y2="147.94157"> - <stop offset="0" style="stop-color:#aaff4d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#aaff4d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3ad_0" x1="409.945897" x2="405.324015" y1="146.054034" y2="147.94157"> + <stop offset="1" style="stop-color:#c9fe2d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#aaff4d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3ad_1" x1="403.342179" x2="410.226398" y1="143.088782" y2="144.054544"> - <stop offset="0" style="stop-color:#e1ff16;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e1ff16;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3ad_1" x1="403.342179" x2="410.226398" y1="143.088782" y2="144.054544"> + <stop offset="1" style="stop-color:#c9fe2d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e1ff16;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3ad_2" x1="408.567078" x2="412.471222" y1="155.882637" y2="147.187974"> - <stop offset="0" style="stop-color:#d1fc26;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d1fc26;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3ad_2" x1="408.567078" x2="412.471222" y1="155.882637" y2="147.187974"> + <stop offset="1" style="stop-color:#c9fe2d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d1fc26;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3ad" points="408.567078 155.882637 409.945897 146.054034 403.342179 143.088782"/> </defs> - <use fill="#c9fe2d" fill-opacity="1" xlink:href="#GT3ad"/> - <use fill="url(#GR3ad_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3ad"/> - <use fill="url(#GR3ad_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3ad"/> - <use fill="url(#GR3ad_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3ad"/> + <path d="M 408.567078,155.882637 L 409.945897,146.054034 403.342179,143.088782 Z" fill="#c9fe2d" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 408.567078,155.882637 L 409.945897,146.054034 403.342179,143.088782 Z" fill="url(#GR3ad_0)" shape-rendering="crispEdges"/> + <path d="M 408.567078,155.882637 L 409.945897,146.054034 403.342179,143.088782 Z" fill="url(#GR3ad_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 408.567078,155.882637 L 409.945897,146.054034 403.342179,143.088782 Z" fill="url(#GR3ad_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3ae_0" x1="403.342179" x2="410.226398" y1="143.088782" y2="144.054544"> - <stop offset="0" style="stop-color:#e1ff16;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e1ff16;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3ae_0" x1="403.342179" x2="410.226398" y1="143.088782" y2="144.054544"> + <stop offset="1" style="stop-color:#e3fb14;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e1ff16;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3ae_1" x1="407.188259" x2="411.810141" y1="165.71124" y2="163.823704"> - <stop offset="0" style="stop-color:#f8f500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f8f500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3ae_1" x1="407.188259" x2="411.810141" y1="165.71124" y2="163.823704"> + <stop offset="1" style="stop-color:#e3fb14;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f8f500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3ae_2" x1="408.567078" x2="405.602958" y1="155.882637" y2="156.386572"> - <stop offset="0" style="stop-color:#d1fc26;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d1fc26;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3ae_2" x1="408.567078" x2="405.602958" y1="155.882637" y2="156.386572"> + <stop offset="1" style="stop-color:#e3fb14;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d1fc26;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3ae" points="408.567078 155.882637 403.342179 143.088782 407.188259 165.71124"/> </defs> - <use fill="#e3fb14" fill-opacity="1" xlink:href="#GT3ae"/> - <use fill="url(#GR3ae_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3ae"/> - <use fill="url(#GR3ae_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3ae"/> - <use fill="url(#GR3ae_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3ae"/> + <path d="M 408.567078,155.882637 L 403.342179,143.088782 407.188259,165.71124 Z" fill="#e3fb14" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 408.567078,155.882637 L 403.342179,143.088782 407.188259,165.71124 Z" fill="url(#GR3ae_0)" shape-rendering="crispEdges"/> + <path d="M 408.567078,155.882637 L 403.342179,143.088782 407.188259,165.71124 Z" fill="url(#GR3ae_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 408.567078,155.882637 L 403.342179,143.088782 407.188259,165.71124 Z" fill="url(#GR3ae_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3af_0" x1="407.188259" x2="411.810141" y1="165.71124" y2="163.823704"> - <stop offset="0" style="stop-color:#f8f500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f8f500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3af_0" x1="407.188259" x2="411.810141" y1="165.71124" y2="163.823704"> + <stop offset="1" style="stop-color:#d8fb1f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f8f500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3af_1" x1="413.791977" x2="406.907758" y1="168.676491" y2="167.71073"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3af_1" x1="413.791977" x2="406.907758" y1="168.676491" y2="167.71073"> + <stop offset="1" style="stop-color:#d8fb1f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3af_2" x1="408.567078" x2="404.662935" y1="155.882637" y2="164.577299"> - <stop offset="0" style="stop-color:#d1fc26;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d1fc26;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3af_2" x1="408.567078" x2="404.662935" y1="155.882637" y2="164.577299"> + <stop offset="1" style="stop-color:#d8fb1f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d1fc26;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3af" points="408.567078 155.882637 407.188259 165.71124 413.791977 168.676491"/> </defs> - <use fill="#d8fb1f" fill-opacity="1" xlink:href="#GT3af"/> - <use fill="url(#GR3af_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3af"/> - <use fill="url(#GR3af_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3af"/> - <use fill="url(#GR3af_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3af"/> + <path d="M 408.567078,155.882637 L 407.188259,165.71124 413.791977,168.676491 Z" fill="#d8fb1f" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 408.567078,155.882637 L 407.188259,165.71124 413.791977,168.676491 Z" fill="url(#GR3af_0)" shape-rendering="crispEdges"/> + <path d="M 408.567078,155.882637 L 407.188259,165.71124 413.791977,168.676491 Z" fill="url(#GR3af_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 408.567078,155.882637 L 407.188259,165.71124 413.791977,168.676491 Z" fill="url(#GR3af_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3b0_0" x1="409.945897" x2="403.097094" y1="146.054034" y2="143.850544"> - <stop offset="0" style="stop-color:#aaff4d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#aaff4d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3b0_0" x1="409.945897" x2="403.097094" y1="146.054034" y2="143.850544"> + <stop offset="1" style="stop-color:#b3ff43;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#aaff4d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3b0_1" x1="409.945897" x2="404.426249" y1="122.563357" y2="123.941128"> - <stop offset="0" style="stop-color:#aaff4d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#aaff4d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3b0_1" x1="409.945897" x2="404.426249" y1="122.563357" y2="123.941128"> + <stop offset="1" style="stop-color:#b3ff43;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#aaff4d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3b0_2" x1="406.644038" x2="409.945897" y1="132.82607" y2="132.82607"> - <stop offset="0" style="stop-color:#c6ff31;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c6ff31;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3b0_2" x1="406.644038" x2="409.945897" y1="132.82607" y2="132.82607"> + <stop offset="1" style="stop-color:#b3ff43;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c6ff31;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3b0" points="406.644038 132.82607 409.945897 146.054034 409.945897 122.563357"/> </defs> - <use fill="#b3ff43" fill-opacity="1" xlink:href="#GT3b0"/> - <use fill="url(#GR3b0_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3b0"/> - <use fill="url(#GR3b0_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3b0"/> - <use fill="url(#GR3b0_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3b0"/> + <path d="M 406.644038,132.82607 L 409.945897,146.054034 409.945897,122.563357 Z" fill="#b3ff43" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 406.644038,132.82607 L 409.945897,146.054034 409.945897,122.563357 Z" fill="url(#GR3b0_0)" shape-rendering="crispEdges"/> + <path d="M 406.644038,132.82607 L 409.945897,146.054034 409.945897,122.563357 Z" fill="url(#GR3b0_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 406.644038,132.82607 L 409.945897,146.054034 409.945897,122.563357 Z" fill="url(#GR3b0_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3b1_0" x1="409.945897" x2="404.426249" y1="122.563357" y2="123.941128"> - <stop offset="0" style="stop-color:#aaff4d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#aaff4d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3b1_0" x1="409.945897" x2="404.426249" y1="122.563357" y2="123.941128"> + <stop offset="1" style="stop-color:#c6ff31;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#aaff4d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3b1_1" x1="403.342179" x2="410.190981" y1="119.598106" y2="121.801595"> - <stop offset="0" style="stop-color:#e1ff16;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e1ff16;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3b1_1" x1="403.342179" x2="410.190981" y1="119.598106" y2="121.801595"> + <stop offset="1" style="stop-color:#c6ff31;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e1ff16;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3b1_2" x1="406.644038" x2="411.033076" y1="132.82607" y2="123.051531"> - <stop offset="0" style="stop-color:#c6ff31;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c6ff31;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3b1_2" x1="406.644038" x2="411.033076" y1="132.82607" y2="123.051531"> + <stop offset="1" style="stop-color:#c6ff31;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c6ff31;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3b1" points="406.644038 132.82607 409.945897 122.563357 403.342179 119.598106"/> </defs> - <use fill="#c6ff31" fill-opacity="1" xlink:href="#GT3b1"/> - <use fill="url(#GR3b1_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3b1"/> - <use fill="url(#GR3b1_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3b1"/> - <use fill="url(#GR3b1_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3b1"/> + <path d="M 406.644038,132.82607 L 409.945897,122.563357 403.342179,119.598106 Z" fill="#c6ff31" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 406.644038,132.82607 L 409.945897,122.563357 403.342179,119.598106 Z" fill="url(#GR3b1_0)" shape-rendering="crispEdges"/> + <path d="M 406.644038,132.82607 L 409.945897,122.563357 403.342179,119.598106 Z" fill="url(#GR3b1_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 406.644038,132.82607 L 409.945897,122.563357 403.342179,119.598106 Z" fill="url(#GR3b1_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3b2_0" x1="403.342179" x2="410.190981" y1="119.598106" y2="121.801595"> - <stop offset="0" style="stop-color:#e1ff16;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e1ff16;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3b2_0" x1="403.342179" x2="410.190981" y1="119.598106" y2="121.801595"> + <stop offset="1" style="stop-color:#d8ff1f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e1ff16;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3b2_1" x1="403.342179" x2="408.861826" y1="143.088782" y2="141.711012"> - <stop offset="0" style="stop-color:#e1ff16;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e1ff16;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3b2_1" x1="403.342179" x2="408.861826" y1="143.088782" y2="141.711012"> + <stop offset="1" style="stop-color:#d8ff1f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e1ff16;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3b2_2" x1="406.644038" x2="403.342179" y1="132.82607" y2="132.82607"> - <stop offset="0" style="stop-color:#c6ff31;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c6ff31;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3b2_2" x1="406.644038" x2="403.342179" y1="132.82607" y2="132.82607"> + <stop offset="1" style="stop-color:#d8ff1f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c6ff31;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3b2" points="406.644038 132.82607 403.342179 119.598106 403.342179 143.088782"/> </defs> - <use fill="#d8ff1f" fill-opacity="1" xlink:href="#GT3b2"/> - <use fill="url(#GR3b2_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3b2"/> - <use fill="url(#GR3b2_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3b2"/> - <use fill="url(#GR3b2_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3b2"/> + <path d="M 406.644038,132.82607 L 403.342179,119.598106 403.342179,143.088782 Z" fill="#d8ff1f" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 406.644038,132.82607 L 403.342179,119.598106 403.342179,143.088782 Z" fill="url(#GR3b2_0)" shape-rendering="crispEdges"/> + <path d="M 406.644038,132.82607 L 403.342179,119.598106 403.342179,143.088782 Z" fill="url(#GR3b2_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 406.644038,132.82607 L 403.342179,119.598106 403.342179,143.088782 Z" fill="url(#GR3b2_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3b3_0" x1="403.342179" x2="408.861826" y1="143.088782" y2="141.711012"> - <stop offset="0" style="stop-color:#e1ff16;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e1ff16;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3b3_0" x1="403.342179" x2="408.861826" y1="143.088782" y2="141.711012"> + <stop offset="1" style="stop-color:#c6ff31;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e1ff16;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3b3_1" x1="409.945897" x2="403.097094" y1="146.054034" y2="143.850544"> - <stop offset="0" style="stop-color:#aaff4d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#aaff4d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3b3_1" x1="409.945897" x2="403.097094" y1="146.054034" y2="143.850544"> + <stop offset="1" style="stop-color:#c6ff31;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#aaff4d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3b3_2" x1="406.644038" x2="402.255" y1="132.82607" y2="142.600609"> - <stop offset="0" style="stop-color:#c6ff31;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c6ff31;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3b3_2" x1="406.644038" x2="402.255" y1="132.82607" y2="142.600609"> + <stop offset="1" style="stop-color:#c6ff31;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c6ff31;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3b3" points="406.644038 132.82607 403.342179 143.088782 409.945897 146.054034"/> </defs> - <use fill="#c6ff31" fill-opacity="1" xlink:href="#GT3b3"/> - <use fill="url(#GR3b3_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3b3"/> - <use fill="url(#GR3b3_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3b3"/> - <use fill="url(#GR3b3_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3b3"/> + <path d="M 406.644038,132.82607 L 403.342179,143.088782 409.945897,146.054034 Z" fill="#c6ff31" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 406.644038,132.82607 L 403.342179,143.088782 409.945897,146.054034 Z" fill="url(#GR3b3_0)" shape-rendering="crispEdges"/> + <path d="M 406.644038,132.82607 L 403.342179,143.088782 409.945897,146.054034 Z" fill="url(#GR3b3_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 406.644038,132.82607 L 403.342179,143.088782 409.945897,146.054034 Z" fill="url(#GR3b3_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3b4_0" x1="409.945897" x2="403.568188" y1="122.563357" y2="119.172958"> - <stop offset="0" style="stop-color:#aaff4d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#aaff4d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3b4_0" x1="409.945897" x2="403.568188" y1="122.563357" y2="119.172958"> + <stop offset="1" style="stop-color:#bffe38;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#aaff4d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3b4_1" x1="413.791977" x2="407.579981" y1="99.940899" y2="100.610378"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3b4_1" x1="413.791977" x2="407.579981" y1="99.940899" y2="100.610378"> + <stop offset="1" style="stop-color:#bffe38;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3b4_2" x1="408.567078" x2="412.021164" y1="109.769503" y2="110.356737"> - <stop offset="0" style="stop-color:#d1fc26;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d1fc26;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3b4_2" x1="408.567078" x2="412.021164" y1="109.769503" y2="110.356737"> + <stop offset="1" style="stop-color:#bffe38;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d1fc26;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3b4" points="408.567078 109.769503 409.945897 122.563357 413.791977 99.940899"/> </defs> - <use fill="#bffe38" fill-opacity="1" xlink:href="#GT3b4"/> - <use fill="url(#GR3b4_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3b4"/> - <use fill="url(#GR3b4_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3b4"/> - <use fill="url(#GR3b4_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3b4"/> + <path d="M 408.567078,109.769503 L 409.945897,122.563357 413.791977,99.940899 Z" fill="#bffe38" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 408.567078,109.769503 L 409.945897,122.563357 413.791977,99.940899 Z" fill="url(#GR3b4_0)" shape-rendering="crispEdges"/> + <path d="M 408.567078,109.769503 L 409.945897,122.563357 413.791977,99.940899 Z" fill="url(#GR3b4_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 408.567078,109.769503 L 409.945897,122.563357 413.791977,99.940899 Z" fill="url(#GR3b4_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3b5_0" x1="413.791977" x2="407.579981" y1="99.940899" y2="100.610378"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3b5_0" x1="413.791977" x2="407.579981" y1="99.940899" y2="100.610378"> + <stop offset="1" style="stop-color:#d8fb1f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3b5_1" x1="407.188259" x2="413.565968" y1="96.975648" y2="100.366047"> - <stop offset="0" style="stop-color:#f8f500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f8f500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3b5_1" x1="407.188259" x2="413.565968" y1="96.975648" y2="100.366047"> + <stop offset="1" style="stop-color:#d8fb1f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f8f500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3b5_2" x1="408.567078" x2="413.116571" y1="109.769503" y2="99.637624"> - <stop offset="0" style="stop-color:#d1fc26;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d1fc26;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3b5_2" x1="408.567078" x2="413.116571" y1="109.769503" y2="99.637624"> + <stop offset="1" style="stop-color:#d8fb1f;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d1fc26;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3b5" points="408.567078 109.769503 413.791977 99.940899 407.188259 96.975648"/> </defs> - <use fill="#d8fb1f" fill-opacity="1" xlink:href="#GT3b5"/> - <use fill="url(#GR3b5_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3b5"/> - <use fill="url(#GR3b5_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3b5"/> - <use fill="url(#GR3b5_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3b5"/> + <path d="M 408.567078,109.769503 L 413.791977,99.940899 407.188259,96.975648 Z" fill="#d8fb1f" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 408.567078,109.769503 L 413.791977,99.940899 407.188259,96.975648 Z" fill="url(#GR3b5_0)" shape-rendering="crispEdges"/> + <path d="M 408.567078,109.769503 L 413.791977,99.940899 407.188259,96.975648 Z" fill="url(#GR3b5_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 408.567078,109.769503 L 413.791977,99.940899 407.188259,96.975648 Z" fill="url(#GR3b5_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3b6_0" x1="407.188259" x2="413.565968" y1="96.975648" y2="100.366047"> - <stop offset="0" style="stop-color:#f8f500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f8f500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3b6_0" x1="407.188259" x2="413.565968" y1="96.975648" y2="100.366047"> + <stop offset="1" style="stop-color:#e3fb14;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f8f500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3b6_1" x1="403.342179" x2="409.554175" y1="119.598106" y2="118.928627"> - <stop offset="0" style="stop-color:#e1ff16;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e1ff16;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3b6_1" x1="403.342179" x2="409.554175" y1="119.598106" y2="118.928627"> + <stop offset="1" style="stop-color:#e3fb14;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e1ff16;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3b6_2" x1="408.567078" x2="405.112992" y1="109.769503" y2="109.182268"> - <stop offset="0" style="stop-color:#d1fc26;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d1fc26;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3b6_2" x1="408.567078" x2="405.112992" y1="109.769503" y2="109.182268"> + <stop offset="1" style="stop-color:#e3fb14;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d1fc26;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3b6" points="408.567078 109.769503 407.188259 96.975648 403.342179 119.598106"/> </defs> - <use fill="#e3fb14" fill-opacity="1" xlink:href="#GT3b6"/> - <use fill="url(#GR3b6_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3b6"/> - <use fill="url(#GR3b6_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3b6"/> - <use fill="url(#GR3b6_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3b6"/> + <path d="M 408.567078,109.769503 L 407.188259,96.975648 403.342179,119.598106 Z" fill="#e3fb14" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 408.567078,109.769503 L 407.188259,96.975648 403.342179,119.598106 Z" fill="url(#GR3b6_0)" shape-rendering="crispEdges"/> + <path d="M 408.567078,109.769503 L 407.188259,96.975648 403.342179,119.598106 Z" fill="url(#GR3b6_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 408.567078,109.769503 L 407.188259,96.975648 403.342179,119.598106 Z" fill="url(#GR3b6_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3b7_0" x1="403.342179" x2="409.554175" y1="119.598106" y2="118.928627"> - <stop offset="0" style="stop-color:#e1ff16;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e1ff16;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3b7_0" x1="403.342179" x2="409.554175" y1="119.598106" y2="118.928627"> + <stop offset="1" style="stop-color:#c9fe2d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e1ff16;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3b7_1" x1="409.945897" x2="403.568188" y1="122.563357" y2="119.172958"> - <stop offset="0" style="stop-color:#aaff4d;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#aaff4d;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3b7_1" x1="409.945897" x2="403.568188" y1="122.563357" y2="119.172958"> + <stop offset="1" style="stop-color:#c9fe2d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#aaff4d;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3b7_2" x1="408.567078" x2="404.017585" y1="109.769503" y2="119.901382"> - <stop offset="0" style="stop-color:#d1fc26;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#d1fc26;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3b7_2" x1="408.567078" x2="404.017585" y1="109.769503" y2="119.901382"> + <stop offset="1" style="stop-color:#c9fe2d;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#d1fc26;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3b7" points="408.567078 109.769503 403.342179 119.598106 409.945897 122.563357"/> </defs> - <use fill="#c9fe2d" fill-opacity="1" xlink:href="#GT3b7"/> - <use fill="url(#GR3b7_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3b7"/> - <use fill="url(#GR3b7_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3b7"/> - <use fill="url(#GR3b7_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3b7"/> + <path d="M 408.567078,109.769503 L 403.342179,119.598106 409.945897,122.563357 Z" fill="#c9fe2d" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 408.567078,109.769503 L 403.342179,119.598106 409.945897,122.563357 Z" fill="url(#GR3b7_0)" shape-rendering="crispEdges"/> + <path d="M 408.567078,109.769503 L 403.342179,119.598106 409.945897,122.563357 Z" fill="url(#GR3b7_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 408.567078,109.769503 L 403.342179,119.598106 409.945897,122.563357 Z" fill="url(#GR3b7_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3b8_0" x1="413.791977" x2="408.384455" y1="99.940899" y2="95.514359"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3b8_0" x1="413.791977" x2="408.384455" y1="99.940899" y2="95.514359"> + <stop offset="1" style="stop-color:#dff819;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3b8_1" x1="421.199835" x2="414.500812" y1="79.858918" y2="79.625183"> - <stop offset="0" style="stop-color:#f1fc06;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f1fc06;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3b8_1" x1="421.199835" x2="414.500812" y1="79.858918" y2="79.625183"> + <stop offset="1" style="stop-color:#dff819;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f1fc06;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3b8_2" x1="414.194047" x2="417.581832" y1="88.417283" y2="89.666972"> - <stop offset="0" style="stop-color:#eaed0f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#eaed0f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3b8_2" x1="414.194047" x2="417.581832" y1="88.417283" y2="89.666972"> + <stop offset="1" style="stop-color:#dff819;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#eaed0f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3b8" points="414.194047 88.417283 413.791977 99.940899 421.199835 79.858918"/> </defs> - <use fill="#dff819" fill-opacity="1" xlink:href="#GT3b8"/> - <use fill="url(#GR3b8_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3b8"/> - <use fill="url(#GR3b8_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3b8"/> - <use fill="url(#GR3b8_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3b8"/> + <path d="M 414.194047,88.417283 L 413.791977,99.940899 421.199835,79.858918 Z" fill="#dff819" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 414.194047,88.417283 L 413.791977,99.940899 421.199835,79.858918 Z" fill="url(#GR3b8_0)" shape-rendering="crispEdges"/> + <path d="M 414.194047,88.417283 L 413.791977,99.940899 421.199835,79.858918 Z" fill="url(#GR3b8_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 414.194047,88.417283 L 413.791977,99.940899 421.199835,79.858918 Z" fill="url(#GR3b8_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3b9_0" x1="421.199835" x2="414.500812" y1="79.858918" y2="79.625183"> - <stop offset="0" style="stop-color:#f1fc06;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f1fc06;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3b9_0" x1="421.199835" x2="414.500812" y1="79.858918" y2="79.625183"> + <stop offset="1" style="stop-color:#f3e507;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f1fc06;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3b9_1" x1="414.596117" x2="420.003639" y1="76.893667" y2="81.320208"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3b9_1" x1="414.596117" x2="420.003639" y1="76.893667" y2="81.320208"> + <stop offset="1" style="stop-color:#f3e507;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3b9_2" x1="414.194047" x2="418.567696" y1="88.417283" y2="78.677015"> - <stop offset="0" style="stop-color:#eaed0f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#eaed0f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3b9_2" x1="414.194047" x2="418.567696" y1="88.417283" y2="78.677015"> + <stop offset="1" style="stop-color:#f3e507;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#eaed0f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3b9" points="414.194047 88.417283 421.199835 79.858918 414.596117 76.893667"/> </defs> - <use fill="#f3e507" fill-opacity="1" xlink:href="#GT3b9"/> - <use fill="url(#GR3b9_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3b9"/> - <use fill="url(#GR3b9_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3b9"/> - <use fill="url(#GR3b9_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3b9"/> + <path d="M 414.194047,88.417283 L 421.199835,79.858918 414.596117,76.893667 Z" fill="#f3e507" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 414.194047,88.417283 L 421.199835,79.858918 414.596117,76.893667 Z" fill="url(#GR3b9_0)" shape-rendering="crispEdges"/> + <path d="M 414.194047,88.417283 L 421.199835,79.858918 414.596117,76.893667 Z" fill="url(#GR3b9_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 414.194047,88.417283 L 421.199835,79.858918 414.596117,76.893667 Z" fill="url(#GR3b9_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3ba_0" x1="414.596117" x2="420.003639" y1="76.893667" y2="81.320208"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3ba_0" x1="414.596117" x2="420.003639" y1="76.893667" y2="81.320208"> + <stop offset="1" style="stop-color:#f6e205;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3ba_1" x1="407.188259" x2="413.887282" y1="96.975648" y2="97.209383"> - <stop offset="0" style="stop-color:#f8f500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f8f500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3ba_1" x1="407.188259" x2="413.887282" y1="96.975648" y2="97.209383"> + <stop offset="1" style="stop-color:#f6e205;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f8f500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3ba_2" x1="414.194047" x2="410.806262" y1="88.417283" y2="87.167594"> - <stop offset="0" style="stop-color:#eaed0f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#eaed0f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3ba_2" x1="414.194047" x2="410.806262" y1="88.417283" y2="87.167594"> + <stop offset="1" style="stop-color:#f6e205;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#eaed0f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3ba" points="414.194047 88.417283 414.596117 76.893667 407.188259 96.975648"/> </defs> - <use fill="#f6e205" fill-opacity="1" xlink:href="#GT3ba"/> - <use fill="url(#GR3ba_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3ba"/> - <use fill="url(#GR3ba_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3ba"/> - <use fill="url(#GR3ba_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3ba"/> + <path d="M 414.194047,88.417283 L 414.596117,76.893667 407.188259,96.975648 Z" fill="#f6e205" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 414.194047,88.417283 L 414.596117,76.893667 407.188259,96.975648 Z" fill="url(#GR3ba_0)" shape-rendering="crispEdges"/> + <path d="M 414.194047,88.417283 L 414.596117,76.893667 407.188259,96.975648 Z" fill="url(#GR3ba_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 414.194047,88.417283 L 414.596117,76.893667 407.188259,96.975648 Z" fill="url(#GR3ba_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3bb_0" x1="407.188259" x2="413.887282" y1="96.975648" y2="97.209383"> - <stop offset="0" style="stop-color:#f8f500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f8f500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3bb_0" x1="407.188259" x2="413.887282" y1="96.975648" y2="97.209383"> + <stop offset="1" style="stop-color:#e1f617;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f8f500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3bb_1" x1="413.791977" x2="408.384455" y1="99.940899" y2="95.514359"> - <stop offset="0" style="stop-color:#c1ff36;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c1ff36;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3bb_1" x1="413.791977" x2="408.384455" y1="99.940899" y2="95.514359"> + <stop offset="1" style="stop-color:#e1f617;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c1ff36;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3bb_2" x1="414.194047" x2="409.820398" y1="88.417283" y2="98.157551"> - <stop offset="0" style="stop-color:#eaed0f;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#eaed0f;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3bb_2" x1="414.194047" x2="409.820398" y1="88.417283" y2="98.157551"> + <stop offset="1" style="stop-color:#e1f617;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#eaed0f;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3bb" points="414.194047 88.417283 407.188259 96.975648 413.791977 99.940899"/> </defs> - <use fill="#e1f617" fill-opacity="1" xlink:href="#GT3bb"/> - <use fill="url(#GR3bb_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3bb"/> - <use fill="url(#GR3bb_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3bb"/> - <use fill="url(#GR3bb_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3bb"/> + <path d="M 414.194047,88.417283 L 407.188259,96.975648 413.791977,99.940899 Z" fill="#e1f617" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 414.194047,88.417283 L 407.188259,96.975648 413.791977,99.940899 Z" fill="url(#GR3bb_0)" shape-rendering="crispEdges"/> + <path d="M 414.194047,88.417283 L 407.188259,96.975648 413.791977,99.940899 Z" fill="url(#GR3bb_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 414.194047,88.417283 L 407.188259,96.975648 413.791977,99.940899 Z" fill="url(#GR3bb_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3bc_0" x1="421.199835" x2="417.313206" y1="79.858918" y2="74.804389"> - <stop offset="0" style="stop-color:#f1fc06;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f1fc06;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3bc_0" x1="421.199835" x2="417.313206" y1="79.858918" y2="74.804389"> + <stop offset="1" style="stop-color:#f9d002;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f1fc06;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3bc_1" x1="431.621879" x2="424.701775" y1="63.80188" y2="62.412814"> - <stop offset="0" style="stop-color:#ffb600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3bc_1" x1="431.621879" x2="424.701775" y1="63.80188" y2="62.412814"> + <stop offset="1" style="stop-color:#f9d002;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3bc_2" x1="423.108998" x2="426.109228" y1="70.347773" y2="72.295114"> - <stop offset="0" style="stop-color:#fcbe01;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fcbe01;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3bc_2" x1="423.108998" x2="426.109228" y1="70.347773" y2="72.295114"> + <stop offset="1" style="stop-color:#f9d002;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fcbe01;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3bc" points="423.108998 70.347773 421.199835 79.858918 431.621879 63.80188"/> </defs> - <use fill="#f9d002" fill-opacity="1" xlink:href="#GT3bc"/> - <use fill="url(#GR3bc_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3bc"/> - <use fill="url(#GR3bc_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3bc"/> - <use fill="url(#GR3bc_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3bc"/> + <path d="M 423.108998,70.347773 L 421.199835,79.858918 431.621879,63.80188 Z" fill="#f9d002" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 423.108998,70.347773 L 421.199835,79.858918 431.621879,63.80188 Z" fill="url(#GR3bc_0)" shape-rendering="crispEdges"/> + <path d="M 423.108998,70.347773 L 421.199835,79.858918 431.621879,63.80188 Z" fill="url(#GR3bc_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 423.108998,70.347773 L 421.199835,79.858918 431.621879,63.80188 Z" fill="url(#GR3bc_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3bd_0" x1="431.621879" x2="424.701775" y1="63.80188" y2="62.412814"> - <stop offset="0" style="stop-color:#ffb600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3bd_0" x1="431.621879" x2="424.701775" y1="63.80188" y2="62.412814"> + <stop offset="1" style="stop-color:#fea700;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3bd_1" x1="425.018162" x2="428.904791" y1="60.836628" y2="65.891158"> - <stop offset="0" style="stop-color:#ff8200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3bd_1" x1="425.018162" x2="428.904791" y1="60.836628" y2="65.891158"> + <stop offset="1" style="stop-color:#fea700;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3bd_2" x1="423.108998" x2="426.983502" y1="70.347773" y2="61.71912"> - <stop offset="0" style="stop-color:#fcbe01;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fcbe01;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3bd_2" x1="423.108998" x2="426.983502" y1="70.347773" y2="61.71912"> + <stop offset="1" style="stop-color:#fea700;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fcbe01;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3bd" points="423.108998 70.347773 431.621879 63.80188 425.018162 60.836628"/> </defs> - <use fill="#fea700" fill-opacity="1" xlink:href="#GT3bd"/> - <use fill="url(#GR3bd_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3bd"/> - <use fill="url(#GR3bd_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3bd"/> - <use fill="url(#GR3bd_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3bd"/> + <path d="M 423.108998,70.347773 L 431.621879,63.80188 425.018162,60.836628 Z" fill="#fea700" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 423.108998,70.347773 L 431.621879,63.80188 425.018162,60.836628 Z" fill="url(#GR3bd_0)" shape-rendering="crispEdges"/> + <path d="M 423.108998,70.347773 L 431.621879,63.80188 425.018162,60.836628 Z" fill="url(#GR3bd_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 423.108998,70.347773 L 431.621879,63.80188 425.018162,60.836628 Z" fill="url(#GR3bd_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3be_0" x1="425.018162" x2="428.904791" y1="60.836628" y2="65.891158"> - <stop offset="0" style="stop-color:#ff8200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3be_0" x1="425.018162" x2="428.904791" y1="60.836628" y2="65.891158"> + <stop offset="1" style="stop-color:#feac00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3be_1" x1="414.596117" x2="421.516221" y1="76.893667" y2="78.282733"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3be_1" x1="414.596117" x2="421.516221" y1="76.893667" y2="78.282733"> + <stop offset="1" style="stop-color:#feac00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3be_2" x1="423.108998" x2="420.108769" y1="70.347773" y2="68.400433"> - <stop offset="0" style="stop-color:#fcbe01;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fcbe01;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3be_2" x1="423.108998" x2="420.108769" y1="70.347773" y2="68.400433"> + <stop offset="1" style="stop-color:#feac00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fcbe01;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3be" points="423.108998 70.347773 425.018162 60.836628 414.596117 76.893667"/> </defs> - <use fill="#feac00" fill-opacity="1" xlink:href="#GT3be"/> - <use fill="url(#GR3be_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3be"/> - <use fill="url(#GR3be_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3be"/> - <use fill="url(#GR3be_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3be"/> + <path d="M 423.108998,70.347773 L 425.018162,60.836628 414.596117,76.893667 Z" fill="#feac00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 423.108998,70.347773 L 425.018162,60.836628 414.596117,76.893667 Z" fill="url(#GR3be_0)" shape-rendering="crispEdges"/> + <path d="M 423.108998,70.347773 L 425.018162,60.836628 414.596117,76.893667 Z" fill="url(#GR3be_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 423.108998,70.347773 L 425.018162,60.836628 414.596117,76.893667 Z" fill="url(#GR3be_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3bf_0" x1="414.596117" x2="421.516221" y1="76.893667" y2="78.282733"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3bf_0" x1="414.596117" x2="421.516221" y1="76.893667" y2="78.282733"> + <stop offset="1" style="stop-color:#f9d502;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3bf_1" x1="421.199835" x2="417.313206" y1="79.858918" y2="74.804389"> - <stop offset="0" style="stop-color:#f1fc06;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f1fc06;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3bf_1" x1="421.199835" x2="417.313206" y1="79.858918" y2="74.804389"> + <stop offset="1" style="stop-color:#f9d502;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f1fc06;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3bf_2" x1="423.108998" x2="419.234495" y1="70.347773" y2="78.976426"> - <stop offset="0" style="stop-color:#fcbe01;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fcbe01;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3bf_2" x1="423.108998" x2="419.234495" y1="70.347773" y2="78.976426"> + <stop offset="1" style="stop-color:#f9d502;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fcbe01;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3bf" points="423.108998 70.347773 414.596117 76.893667 421.199835 79.858918"/> </defs> - <use fill="#f9d502" fill-opacity="1" xlink:href="#GT3bf"/> - <use fill="url(#GR3bf_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3bf"/> - <use fill="url(#GR3bf_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3bf"/> - <use fill="url(#GR3bf_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3bf"/> + <path d="M 423.108998,70.347773 L 414.596117,76.893667 421.199835,79.858918 Z" fill="#f9d502" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 423.108998,70.347773 L 414.596117,76.893667 421.199835,79.858918 Z" fill="url(#GR3bf_0)" shape-rendering="crispEdges"/> + <path d="M 423.108998,70.347773 L 414.596117,76.893667 421.199835,79.858918 Z" fill="url(#GR3bf_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 423.108998,70.347773 L 414.596117,76.893667 421.199835,79.858918 Z" fill="url(#GR3bf_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3c0_0" x1="431.621879" x2="429.636929" y1="63.80188" y2="58.947874"> - <stop offset="0" style="stop-color:#ffb600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3c0_0" x1="431.621879" x2="429.636929" y1="63.80188" y2="58.947874"> + <stop offset="1" style="stop-color:#ff8300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3c0_1" x1="444.28771" x2="437.659505" y1="52.956724" y2="50.047257"> - <stop offset="0" style="stop-color:#ff6000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3c0_1" x1="444.28771" x2="437.659505" y1="52.956724" y2="50.047257"> + <stop offset="1" style="stop-color:#ff8300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3c0_2" x1="434.652936" x2="436.78217" y1="56.896676" y2="59.383365"> - <stop offset="0" style="stop-color:#ff7200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff7200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3c0_2" x1="434.652936" x2="436.78217" y1="56.896676" y2="59.383365"> + <stop offset="1" style="stop-color:#ff8300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff7200;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3c0" points="434.652936 56.896676 431.621879 63.80188 444.28771 52.956724"/> </defs> - <use fill="#ff8300" fill-opacity="1" xlink:href="#GT3c0"/> - <use fill="url(#GR3c0_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3c0"/> - <use fill="url(#GR3c0_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3c0"/> - <use fill="url(#GR3c0_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3c0"/> + <path d="M 434.652936,56.896676 L 431.621879,63.80188 444.28771,52.956724 Z" fill="#ff8300" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 434.652936,56.896676 L 431.621879,63.80188 444.28771,52.956724 Z" fill="url(#GR3c0_0)" shape-rendering="crispEdges"/> + <path d="M 434.652936,56.896676 L 431.621879,63.80188 444.28771,52.956724 Z" fill="url(#GR3c0_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 434.652936,56.896676 L 431.621879,63.80188 444.28771,52.956724 Z" fill="url(#GR3c0_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3c1_0" x1="444.28771" x2="437.659505" y1="52.956724" y2="50.047257"> - <stop offset="0" style="stop-color:#ff6000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3c1_0" x1="444.28771" x2="437.659505" y1="52.956724" y2="50.047257"> + <stop offset="1" style="stop-color:#ff5600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3c1_1" x1="437.683992" x2="439.668943" y1="49.991473" y2="54.845479"> - <stop offset="0" style="stop-color:#ff3000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff3000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3c1_1" x1="437.683992" x2="439.668943" y1="49.991473" y2="54.845479"> + <stop offset="1" style="stop-color:#ff5600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff3000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3c1_2" x1="434.652936" x2="437.741889" y1="56.896676" y2="50.01747"> - <stop offset="0" style="stop-color:#ff7200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff7200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3c1_2" x1="434.652936" x2="437.741889" y1="56.896676" y2="50.01747"> + <stop offset="1" style="stop-color:#ff5600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff7200;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3c1" points="434.652936 56.896676 444.28771 52.956724 437.683992 49.991473"/> </defs> - <use fill="#ff5600" fill-opacity="1" xlink:href="#GT3c1"/> - <use fill="url(#GR3c1_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3c1"/> - <use fill="url(#GR3c1_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3c1"/> - <use fill="url(#GR3c1_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3c1"/> + <path d="M 434.652936,56.896676 L 444.28771,52.956724 437.683992,49.991473 Z" fill="#ff5600" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 434.652936,56.896676 L 444.28771,52.956724 437.683992,49.991473 Z" fill="url(#GR3c1_0)" shape-rendering="crispEdges"/> + <path d="M 434.652936,56.896676 L 444.28771,52.956724 437.683992,49.991473 Z" fill="url(#GR3c1_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 434.652936,56.896676 L 444.28771,52.956724 437.683992,49.991473 Z" fill="url(#GR3c1_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3c2_0" x1="437.683992" x2="439.668943" y1="49.991473" y2="54.845479"> - <stop offset="0" style="stop-color:#ff3000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff3000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3c2_0" x1="437.683992" x2="439.668943" y1="49.991473" y2="54.845479"> + <stop offset="1" style="stop-color:#ff6100;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff3000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3c2_1" x1="425.018162" x2="431.646366" y1="60.836628" y2="63.746095"> - <stop offset="0" style="stop-color:#ff8200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3c2_1" x1="425.018162" x2="431.646366" y1="60.836628" y2="63.746095"> + <stop offset="1" style="stop-color:#ff6100;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3c2_2" x1="434.652936" x2="432.523701" y1="56.896676" y2="54.409988"> - <stop offset="0" style="stop-color:#ff7200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff7200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3c2_2" x1="434.652936" x2="432.523701" y1="56.896676" y2="54.409988"> + <stop offset="1" style="stop-color:#ff6100;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff7200;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3c2" points="434.652936 56.896676 437.683992 49.991473 425.018162 60.836628"/> </defs> - <use fill="#ff6100" fill-opacity="1" xlink:href="#GT3c2"/> - <use fill="url(#GR3c2_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3c2"/> - <use fill="url(#GR3c2_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3c2"/> - <use fill="url(#GR3c2_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3c2"/> + <path d="M 434.652936,56.896676 L 437.683992,49.991473 425.018162,60.836628 Z" fill="#ff6100" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 434.652936,56.896676 L 437.683992,49.991473 425.018162,60.836628 Z" fill="url(#GR3c2_0)" shape-rendering="crispEdges"/> + <path d="M 434.652936,56.896676 L 437.683992,49.991473 425.018162,60.836628 Z" fill="url(#GR3c2_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 434.652936,56.896676 L 437.683992,49.991473 425.018162,60.836628 Z" fill="url(#GR3c2_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3c3_0" x1="425.018162" x2="431.646366" y1="60.836628" y2="63.746095"> - <stop offset="0" style="stop-color:#ff8200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3c3_0" x1="425.018162" x2="431.646366" y1="60.836628" y2="63.746095"> + <stop offset="1" style="stop-color:#ff8e00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3c3_1" x1="431.621879" x2="429.636929" y1="63.80188" y2="58.947874"> - <stop offset="0" style="stop-color:#ffb600;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb600;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3c3_1" x1="431.621879" x2="429.636929" y1="63.80188" y2="58.947874"> + <stop offset="1" style="stop-color:#ff8e00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb600;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3c3_2" x1="434.652936" x2="431.563982" y1="56.896676" y2="63.775882"> - <stop offset="0" style="stop-color:#ff7200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff7200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3c3_2" x1="434.652936" x2="431.563982" y1="56.896676" y2="63.775882"> + <stop offset="1" style="stop-color:#ff8e00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff7200;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3c3" points="434.652936 56.896676 425.018162 60.836628 431.621879 63.80188"/> </defs> - <use fill="#ff8e00" fill-opacity="1" xlink:href="#GT3c3"/> - <use fill="url(#GR3c3_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3c3"/> - <use fill="url(#GR3c3_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3c3"/> - <use fill="url(#GR3c3_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3c3"/> + <path d="M 434.652936,56.896676 L 425.018162,60.836628 431.621879,63.80188 Z" fill="#ff8e00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 434.652936,56.896676 L 425.018162,60.836628 431.621879,63.80188 Z" fill="url(#GR3c3_0)" shape-rendering="crispEdges"/> + <path d="M 434.652936,56.896676 L 425.018162,60.836628 431.621879,63.80188 Z" fill="url(#GR3c3_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 434.652936,56.896676 L 425.018162,60.836628 431.621879,63.80188 Z" fill="url(#GR3c3_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3c4_0" x1="444.28771" x2="443.967073" y1="52.956724" y2="49.421596"> - <stop offset="0" style="stop-color:#ff6000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3c4_0" x1="444.28771" x2="443.967073" y1="52.956724" y2="49.421596"> + <stop offset="1" style="stop-color:#ed2c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3c4_1" x1="458.261065" x2="453.293064" y1="48.125129" y2="43.429339"> - <stop offset="0" style="stop-color:#e40000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e40000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3c4_1" x1="458.261065" x2="453.293064" y1="48.125129" y2="43.429339"> + <stop offset="1" style="stop-color:#ed2c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e40000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3c4_2" x1="447.972528" x2="448.78304" y1="49.058301" y2="51.402365"> - <stop offset="0" style="stop-color:#e52400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e52400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3c4_2" x1="447.972528" x2="448.78304" y1="49.058301" y2="51.402365"> + <stop offset="1" style="stop-color:#ed2c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e52400;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3c4" points="447.972528 49.058301 444.28771 52.956724 458.261065 48.125129"/> </defs> - <use fill="#ed2c00" fill-opacity="1" xlink:href="#GT3c4"/> - <use fill="url(#GR3c4_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3c4"/> - <use fill="url(#GR3c4_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3c4"/> - <use fill="url(#GR3c4_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3c4"/> + <path d="M 447.972528,49.058301 L 444.28771,52.956724 458.261065,48.125129 Z" fill="#ed2c00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.972528,49.058301 L 444.28771,52.956724 458.261065,48.125129 Z" fill="url(#GR3c4_0)" shape-rendering="crispEdges"/> + <path d="M 447.972528,49.058301 L 444.28771,52.956724 458.261065,48.125129 Z" fill="url(#GR3c4_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.972528,49.058301 L 444.28771,52.956724 458.261065,48.125129 Z" fill="url(#GR3c4_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3c5_0" x1="458.261065" x2="453.293064" y1="48.125129" y2="43.429339"> - <stop offset="0" style="stop-color:#e40000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e40000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3c5_0" x1="458.261065" x2="453.293064" y1="48.125129" y2="43.429339"> + <stop offset="1" style="stop-color:#d30c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e40000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3c5_1" x1="451.657347" x2="451.977984" y1="45.159877" y2="48.695005"> - <stop offset="0" style="stop-color:#b20000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b20000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3c5_1" x1="451.657347" x2="451.977984" y1="45.159877" y2="48.695005"> + <stop offset="1" style="stop-color:#d30c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b20000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3c5_2" x1="447.972528" x2="450.047595" y1="49.058301" y2="44.437054"> - <stop offset="0" style="stop-color:#e52400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e52400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3c5_2" x1="447.972528" x2="450.047595" y1="49.058301" y2="44.437054"> + <stop offset="1" style="stop-color:#d30c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e52400;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3c5" points="447.972528 49.058301 458.261065 48.125129 451.657347 45.159877"/> </defs> - <use fill="#d30c00" fill-opacity="1" xlink:href="#GT3c5"/> - <use fill="url(#GR3c5_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3c5"/> - <use fill="url(#GR3c5_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3c5"/> - <use fill="url(#GR3c5_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3c5"/> + <path d="M 447.972528,49.058301 L 458.261065,48.125129 451.657347,45.159877 Z" fill="#d30c00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.972528,49.058301 L 458.261065,48.125129 451.657347,45.159877 Z" fill="url(#GR3c5_0)" shape-rendering="crispEdges"/> + <path d="M 447.972528,49.058301 L 458.261065,48.125129 451.657347,45.159877 Z" fill="url(#GR3c5_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.972528,49.058301 L 458.261065,48.125129 451.657347,45.159877 Z" fill="url(#GR3c5_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3c6_0" x1="451.657347" x2="451.977984" y1="45.159877" y2="48.695005"> - <stop offset="0" style="stop-color:#b20000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b20000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3c6_0" x1="451.657347" x2="451.977984" y1="45.159877" y2="48.695005"> + <stop offset="1" style="stop-color:#dc1c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b20000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3c6_1" x1="437.683992" x2="442.651992" y1="49.991473" y2="54.687263"> - <stop offset="0" style="stop-color:#ff3000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff3000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3c6_1" x1="437.683992" x2="442.651992" y1="49.991473" y2="54.687263"> + <stop offset="1" style="stop-color:#dc1c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff3000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3c6_2" x1="447.972528" x2="447.162016" y1="49.058301" y2="46.714237"> - <stop offset="0" style="stop-color:#e52400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e52400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3c6_2" x1="447.972528" x2="447.162016" y1="49.058301" y2="46.714237"> + <stop offset="1" style="stop-color:#dc1c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e52400;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3c6" points="447.972528 49.058301 451.657347 45.159877 437.683992 49.991473"/> </defs> - <use fill="#dc1c00" fill-opacity="1" xlink:href="#GT3c6"/> - <use fill="url(#GR3c6_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3c6"/> - <use fill="url(#GR3c6_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3c6"/> - <use fill="url(#GR3c6_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3c6"/> + <path d="M 447.972528,49.058301 L 451.657347,45.159877 437.683992,49.991473 Z" fill="#dc1c00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.972528,49.058301 L 451.657347,45.159877 437.683992,49.991473 Z" fill="url(#GR3c6_0)" shape-rendering="crispEdges"/> + <path d="M 447.972528,49.058301 L 451.657347,45.159877 437.683992,49.991473 Z" fill="url(#GR3c6_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.972528,49.058301 L 451.657347,45.159877 437.683992,49.991473 Z" fill="url(#GR3c6_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3c7_0" x1="437.683992" x2="442.651992" y1="49.991473" y2="54.687263"> - <stop offset="0" style="stop-color:#ff3000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff3000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3c7_0" x1="437.683992" x2="442.651992" y1="49.991473" y2="54.687263"> + <stop offset="1" style="stop-color:#f63c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff3000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3c7_1" x1="444.28771" x2="443.967073" y1="52.956724" y2="49.421596"> - <stop offset="0" style="stop-color:#ff6000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff6000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3c7_1" x1="444.28771" x2="443.967073" y1="52.956724" y2="49.421596"> + <stop offset="1" style="stop-color:#f63c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff6000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3c7_2" x1="447.972528" x2="445.897461" y1="49.058301" y2="53.679547"> - <stop offset="0" style="stop-color:#e52400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e52400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3c7_2" x1="447.972528" x2="445.897461" y1="49.058301" y2="53.679547"> + <stop offset="1" style="stop-color:#f63c00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e52400;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3c7" points="447.972528 49.058301 437.683992 49.991473 444.28771 52.956724"/> </defs> - <use fill="#f63c00" fill-opacity="1" xlink:href="#GT3c7"/> - <use fill="url(#GR3c7_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3c7"/> - <use fill="url(#GR3c7_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3c7"/> - <use fill="url(#GR3c7_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3c7"/> + <path d="M 447.972528,49.058301 L 437.683992,49.991473 444.28771,52.956724 Z" fill="#f63c00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 447.972528,49.058301 L 437.683992,49.991473 444.28771,52.956724 Z" fill="url(#GR3c7_0)" shape-rendering="crispEdges"/> + <path d="M 447.972528,49.058301 L 437.683992,49.991473 444.28771,52.956724 Z" fill="url(#GR3c7_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 447.972528,49.058301 L 437.683992,49.991473 444.28771,52.956724 Z" fill="url(#GR3c7_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3c8_0" x1="451.657347" x2="451.054272" y1="217.527011" y2="218.839397"> - <stop offset="0" style="stop-color:#b20000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b20000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3c8_0" x1="451.657347" x2="451.054272" y1="217.527011" y2="218.839397"> + <stop offset="1" style="stop-color:#d21400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b20000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3c8_1" x1="437.683992" x2="437.529747" y1="212.695415" y2="213.198893"> - <stop offset="0" style="stop-color:#ff3000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff3000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3c8_1" x1="437.683992" x2="437.529747" y1="212.695415" y2="213.198893"> + <stop offset="1" style="stop-color:#d21400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff3000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3c8_2" x1="441.279643" x2="441.405967" y1="214.347708" y2="213.98237"> - <stop offset="0" style="stop-color:#c60c00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c60c00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3c8_2" x1="441.279643" x2="441.405967" y1="214.347708" y2="213.98237"> + <stop offset="1" style="stop-color:#d21400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c60c00;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3c8" points="441.279643 214.347708 451.657347 217.527011 437.683992 212.695415"/> </defs> - <use fill="#d21400" fill-opacity="1" xlink:href="#GT3c8"/> - <use fill="url(#GR3c8_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3c8"/> - <use fill="url(#GR3c8_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3c8"/> - <use fill="url(#GR3c8_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3c8"/> + <path d="M 441.279643,214.347708 L 451.657347,217.527011 437.683992,212.695415 Z" fill="#d21400" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.279643,214.347708 L 451.657347,217.527011 437.683992,212.695415 Z" fill="url(#GR3c8_0)" shape-rendering="crispEdges"/> + <path d="M 441.279643,214.347708 L 451.657347,217.527011 437.683992,212.695415 Z" fill="url(#GR3c8_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.279643,214.347708 L 451.657347,217.527011 437.683992,212.695415 Z" fill="url(#GR3c8_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3c9_0" x1="437.683992" x2="437.529747" y1="212.695415" y2="213.198893"> - <stop offset="0" style="stop-color:#ff3000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff3000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3c9_0" x1="437.683992" x2="437.529747" y1="212.695415" y2="213.198893"> + <stop offset="1" style="stop-color:#e41400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff3000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3c9_1" x1="430.901939" x2="431.505014" y1="211.168404" y2="209.856018"> - <stop offset="0" style="stop-color:#e80000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e80000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3c9_1" x1="430.901939" x2="431.505014" y1="211.168404" y2="209.856018"> + <stop offset="1" style="stop-color:#e41400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e80000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3c9_2" x1="441.279643" x2="441.460229" y1="214.347708" y2="213.545652"> - <stop offset="0" style="stop-color:#c60c00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c60c00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3c9_2" x1="441.279643" x2="441.460229" y1="214.347708" y2="213.545652"> + <stop offset="1" style="stop-color:#e41400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c60c00;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3c9" points="441.279643 214.347708 437.683992 212.695415 430.901939 211.168404"/> </defs> - <use fill="#e41400" fill-opacity="1" xlink:href="#GT3c9"/> - <use fill="url(#GR3c9_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3c9"/> - <use fill="url(#GR3c9_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3c9"/> - <use fill="url(#GR3c9_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3c9"/> + <path d="M 441.279643,214.347708 L 437.683992,212.695415 430.901939,211.168404 Z" fill="#e41400" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.279643,214.347708 L 437.683992,212.695415 430.901939,211.168404 Z" fill="url(#GR3c9_0)" shape-rendering="crispEdges"/> + <path d="M 441.279643,214.347708 L 437.683992,212.695415 430.901939,211.168404 Z" fill="url(#GR3c9_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.279643,214.347708 L 437.683992,212.695415 430.901939,211.168404 Z" fill="url(#GR3c9_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3ca_0" x1="430.901939" x2="431.505014" y1="211.168404" y2="209.856018"> - <stop offset="0" style="stop-color:#e80000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e80000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3ca_0" x1="430.901939" x2="431.505014" y1="211.168404" y2="209.856018"> + <stop offset="1" style="stop-color:#ba0400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e80000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3ca_1" x1="444.875294" x2="445.029539" y1="216" y2="215.496522"> - <stop offset="0" style="stop-color:#800000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#800000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3ca_1" x1="444.875294" x2="445.029539" y1="216" y2="215.496522"> + <stop offset="1" style="stop-color:#ba0400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#800000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3ca_2" x1="441.279643" x2="441.15332" y1="214.347708" y2="214.713045"> - <stop offset="0" style="stop-color:#c60c00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c60c00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3ca_2" x1="441.279643" x2="441.15332" y1="214.347708" y2="214.713045"> + <stop offset="1" style="stop-color:#ba0400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c60c00;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3ca" points="441.279643 214.347708 430.901939 211.168404 444.875294 216"/> </defs> - <use fill="#ba0400" fill-opacity="1" xlink:href="#GT3ca"/> - <use fill="url(#GR3ca_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3ca"/> - <use fill="url(#GR3ca_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3ca"/> - <use fill="url(#GR3ca_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3ca"/> + <path d="M 441.279643,214.347708 L 430.901939,211.168404 444.875294,216 Z" fill="#ba0400" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.279643,214.347708 L 430.901939,211.168404 444.875294,216 Z" fill="url(#GR3ca_0)" shape-rendering="crispEdges"/> + <path d="M 441.279643,214.347708 L 430.901939,211.168404 444.875294,216 Z" fill="url(#GR3ca_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.279643,214.347708 L 430.901939,211.168404 444.875294,216 Z" fill="url(#GR3ca_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3cb_0" x1="444.875294" x2="445.029539" y1="216" y2="215.496522"> - <stop offset="0" style="stop-color:#800000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#800000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3cb_0" x1="444.875294" x2="445.029539" y1="216" y2="215.496522"> + <stop offset="1" style="stop-color:#a80400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#800000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3cb_1" x1="451.657347" x2="451.054272" y1="217.527011" y2="218.839397"> - <stop offset="0" style="stop-color:#b20000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b20000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3cb_1" x1="451.657347" x2="451.054272" y1="217.527011" y2="218.839397"> + <stop offset="1" style="stop-color:#a80400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b20000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3cb_2" x1="441.279643" x2="441.099057" y1="214.347708" y2="215.149763"> - <stop offset="0" style="stop-color:#c60c00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c60c00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3cb_2" x1="441.279643" x2="441.099057" y1="214.347708" y2="215.149763"> + <stop offset="1" style="stop-color:#a80400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c60c00;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3cb" points="441.279643 214.347708 444.875294 216 451.657347 217.527011"/> </defs> - <use fill="#a80400" fill-opacity="1" xlink:href="#GT3cb"/> - <use fill="url(#GR3cb_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3cb"/> - <use fill="url(#GR3cb_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3cb"/> - <use fill="url(#GR3cb_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3cb"/> + <path d="M 441.279643,214.347708 L 444.875294,216 451.657347,217.527011 Z" fill="#a80400" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.279643,214.347708 L 444.875294,216 451.657347,217.527011 Z" fill="url(#GR3cb_0)" shape-rendering="crispEdges"/> + <path d="M 441.279643,214.347708 L 444.875294,216 451.657347,217.527011 Z" fill="url(#GR3cb_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.279643,214.347708 L 444.875294,216 451.657347,217.527011 Z" fill="url(#GR3cb_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3cc_0" x1="437.683992" x2="433.524543" y1="212.695415" y2="215.321825"> - <stop offset="0" style="stop-color:#ff3000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff3000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3cc_0" x1="437.683992" x2="433.524543" y1="212.695415" y2="215.321825"> + <stop offset="1" style="stop-color:#fd5100;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff3000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3cc_1" x1="425.018162" x2="423.755737" y1="201.850259" y2="203.834672"> - <stop offset="0" style="stop-color:#ff8200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3cc_1" x1="425.018162" x2="423.755737" y1="201.850259" y2="203.834672"> + <stop offset="1" style="stop-color:#fd5100;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3cc_2" x1="427.960051" x2="429.017329" y1="206.509332" y2="205.274559"> - <stop offset="0" style="stop-color:#f94000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f94000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3cc_2" x1="427.960051" x2="429.017329" y1="206.509332" y2="205.274559"> + <stop offset="1" style="stop-color:#fd5100;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f94000;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3cc" points="427.960051 206.509332 437.683992 212.695415 425.018162 201.850259"/> </defs> - <use fill="#fd5100" fill-opacity="1" xlink:href="#GT3cc"/> - <use fill="url(#GR3cc_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3cc"/> - <use fill="url(#GR3cc_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3cc"/> - <use fill="url(#GR3cc_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3cc"/> + <path d="M 427.960051,206.509332 L 437.683992,212.695415 425.018162,201.850259 Z" fill="#fd5100" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 427.960051,206.509332 L 437.683992,212.695415 425.018162,201.850259 Z" fill="url(#GR3cc_0)" shape-rendering="crispEdges"/> + <path d="M 427.960051,206.509332 L 437.683992,212.695415 425.018162,201.850259 Z" fill="url(#GR3cc_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 427.960051,206.509332 L 437.683992,212.695415 425.018162,201.850259 Z" fill="url(#GR3cc_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3cd_0" x1="425.018162" x2="423.755737" y1="201.850259" y2="203.834672"> - <stop offset="0" style="stop-color:#ff8200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3cd_0" x1="425.018162" x2="423.755737" y1="201.850259" y2="203.834672"> + <stop offset="1" style="stop-color:#fd5b00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3cd_1" x1="418.236109" x2="422.395558" y1="200.323249" y2="197.696839"> - <stop offset="0" style="stop-color:#ff4e00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff4e00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3cd_1" x1="418.236109" x2="422.395558" y1="200.323249" y2="197.696839"> + <stop offset="1" style="stop-color:#fd5b00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff4e00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3cd_2" x1="427.960051" x2="428.816507" y1="206.509332" y2="202.705475"> - <stop offset="0" style="stop-color:#f94000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f94000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3cd_2" x1="427.960051" x2="428.816507" y1="206.509332" y2="202.705475"> + <stop offset="1" style="stop-color:#fd5b00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f94000;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3cd" points="427.960051 206.509332 425.018162 201.850259 418.236109 200.323249"/> </defs> - <use fill="#fd5b00" fill-opacity="1" xlink:href="#GT3cd"/> - <use fill="url(#GR3cd_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3cd"/> - <use fill="url(#GR3cd_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3cd"/> - <use fill="url(#GR3cd_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3cd"/> + <path d="M 427.960051,206.509332 L 425.018162,201.850259 418.236109,200.323249 Z" fill="#fd5b00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 427.960051,206.509332 L 425.018162,201.850259 418.236109,200.323249 Z" fill="url(#GR3cd_0)" shape-rendering="crispEdges"/> + <path d="M 427.960051,206.509332 L 425.018162,201.850259 418.236109,200.323249 Z" fill="url(#GR3cd_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 427.960051,206.509332 L 425.018162,201.850259 418.236109,200.323249 Z" fill="url(#GR3cd_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3ce_0" x1="418.236109" x2="422.395558" y1="200.323249" y2="197.696839"> - <stop offset="0" style="stop-color:#ff4e00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff4e00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3ce_0" x1="418.236109" x2="422.395558" y1="200.323249" y2="197.696839"> + <stop offset="1" style="stop-color:#f52f00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff4e00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3ce_1" x1="430.901939" x2="432.164364" y1="211.168404" y2="209.183991"> - <stop offset="0" style="stop-color:#e80000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e80000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3ce_1" x1="430.901939" x2="432.164364" y1="211.168404" y2="209.183991"> + <stop offset="1" style="stop-color:#f52f00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e80000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3ce_2" x1="427.960051" x2="426.902772" y1="206.509332" y2="207.744105"> - <stop offset="0" style="stop-color:#f94000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f94000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3ce_2" x1="427.960051" x2="426.902772" y1="206.509332" y2="207.744105"> + <stop offset="1" style="stop-color:#f52f00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f94000;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3ce" points="427.960051 206.509332 418.236109 200.323249 430.901939 211.168404"/> </defs> - <use fill="#f52f00" fill-opacity="1" xlink:href="#GT3ce"/> - <use fill="url(#GR3ce_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3ce"/> - <use fill="url(#GR3ce_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3ce"/> - <use fill="url(#GR3ce_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3ce"/> + <path d="M 427.960051,206.509332 L 418.236109,200.323249 430.901939,211.168404 Z" fill="#f52f00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 427.960051,206.509332 L 418.236109,200.323249 430.901939,211.168404 Z" fill="url(#GR3ce_0)" shape-rendering="crispEdges"/> + <path d="M 427.960051,206.509332 L 418.236109,200.323249 430.901939,211.168404 Z" fill="url(#GR3ce_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 427.960051,206.509332 L 418.236109,200.323249 430.901939,211.168404 Z" fill="url(#GR3ce_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3cf_0" x1="430.901939" x2="432.164364" y1="211.168404" y2="209.183991"> - <stop offset="0" style="stop-color:#e80000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e80000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3cf_0" x1="430.901939" x2="432.164364" y1="211.168404" y2="209.183991"> + <stop offset="1" style="stop-color:#f52600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e80000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3cf_1" x1="437.683992" x2="433.524543" y1="212.695415" y2="215.321825"> - <stop offset="0" style="stop-color:#ff3000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff3000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3cf_1" x1="437.683992" x2="433.524543" y1="212.695415" y2="215.321825"> + <stop offset="1" style="stop-color:#f52600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff3000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3cf_2" x1="427.960051" x2="427.103594" y1="206.509332" y2="210.313189"> - <stop offset="0" style="stop-color:#f94000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f94000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3cf_2" x1="427.960051" x2="427.103594" y1="206.509332" y2="210.313189"> + <stop offset="1" style="stop-color:#f52600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f94000;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3cf" points="427.960051 206.509332 430.901939 211.168404 437.683992 212.695415"/> </defs> - <use fill="#f52600" fill-opacity="1" xlink:href="#GT3cf"/> - <use fill="url(#GR3cf_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3cf"/> - <use fill="url(#GR3cf_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3cf"/> - <use fill="url(#GR3cf_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3cf"/> + <path d="M 427.960051,206.509332 L 430.901939,211.168404 437.683992,212.695415 Z" fill="#f52600" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 427.960051,206.509332 L 430.901939,211.168404 437.683992,212.695415 Z" fill="url(#GR3cf_0)" shape-rendering="crispEdges"/> + <path d="M 427.960051,206.509332 L 430.901939,211.168404 437.683992,212.695415 Z" fill="url(#GR3cf_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 427.960051,206.509332 L 430.901939,211.168404 437.683992,212.695415 Z" fill="url(#GR3cf_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3d0_0" x1="425.018162" x2="418.996551" y1="201.850259" y2="203.358764"> - <stop offset="0" style="stop-color:#ff8200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3d0_0" x1="425.018162" x2="418.996551" y1="201.850259" y2="203.358764"> + <stop offset="1" style="stop-color:#ff9a00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3d0_1" x1="414.596117" x2="411.89435" y1="185.793221" y2="188.436609"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3d0_1" x1="414.596117" x2="411.89435" y1="185.793221" y2="188.436609"> + <stop offset="1" style="stop-color:#ff9a00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3d0_2" x1="416.416113" x2="418.453329" y1="193.058235" y2="191.735951"> - <stop offset="0" style="stop-color:#ff8800;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8800;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3d0_2" x1="416.416113" x2="418.453329" y1="193.058235" y2="191.735951"> + <stop offset="1" style="stop-color:#ff9a00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8800;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3d0" points="416.416113 193.058235 425.018162 201.850259 414.596117 185.793221"/> </defs> - <use fill="#ff9a00" fill-opacity="1" xlink:href="#GT3d0"/> - <use fill="url(#GR3d0_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3d0"/> - <use fill="url(#GR3d0_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3d0"/> - <use fill="url(#GR3d0_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3d0"/> + <path d="M 416.416113,193.058235 L 425.018162,201.850259 414.596117,185.793221 Z" fill="#ff9a00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 416.416113,193.058235 L 425.018162,201.850259 414.596117,185.793221 Z" fill="url(#GR3d0_0)" shape-rendering="crispEdges"/> + <path d="M 416.416113,193.058235 L 425.018162,201.850259 414.596117,185.793221 Z" fill="url(#GR3d0_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 416.416113,193.058235 L 425.018162,201.850259 414.596117,185.793221 Z" fill="url(#GR3d0_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3d1_0" x1="414.596117" x2="411.89435" y1="185.793221" y2="188.436609"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3d1_0" x1="414.596117" x2="411.89435" y1="185.793221" y2="188.436609"> + <stop offset="1" style="stop-color:#ff9e00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3d1_1" x1="407.814065" x2="413.835675" y1="184.26621" y2="182.757706"> - <stop offset="0" style="stop-color:#ff8d00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8d00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3d1_1" x1="407.814065" x2="413.835675" y1="184.26621" y2="182.757706"> + <stop offset="1" style="stop-color:#ff9e00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8d00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3d1_2" x1="416.416113" x2="417.88513" y1="193.058235" y2="186.533757"> - <stop offset="0" style="stop-color:#ff8800;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8800;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3d1_2" x1="416.416113" x2="417.88513" y1="193.058235" y2="186.533757"> + <stop offset="1" style="stop-color:#ff9e00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8800;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3d1" points="416.416113 193.058235 414.596117 185.793221 407.814065 184.26621"/> </defs> - <use fill="#ff9e00" fill-opacity="1" xlink:href="#GT3d1"/> - <use fill="url(#GR3d1_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3d1"/> - <use fill="url(#GR3d1_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3d1"/> - <use fill="url(#GR3d1_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3d1"/> + <path d="M 416.416113,193.058235 L 414.596117,185.793221 407.814065,184.26621 Z" fill="#ff9e00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 416.416113,193.058235 L 414.596117,185.793221 407.814065,184.26621 Z" fill="url(#GR3d1_0)" shape-rendering="crispEdges"/> + <path d="M 416.416113,193.058235 L 414.596117,185.793221 407.814065,184.26621 Z" fill="url(#GR3d1_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 416.416113,193.058235 L 414.596117,185.793221 407.814065,184.26621 Z" fill="url(#GR3d1_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3d2_0" x1="407.814065" x2="413.835675" y1="184.26621" y2="182.757706"> - <stop offset="0" style="stop-color:#ff8d00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8d00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3d2_0" x1="407.814065" x2="413.835675" y1="184.26621" y2="182.757706"> + <stop offset="1" style="stop-color:#ff7600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8d00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3d2_1" x1="418.236109" x2="420.937876" y1="200.323249" y2="197.679861"> - <stop offset="0" style="stop-color:#ff4e00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff4e00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3d2_1" x1="418.236109" x2="420.937876" y1="200.323249" y2="197.679861"> + <stop offset="1" style="stop-color:#ff7600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff4e00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3d2_2" x1="416.416113" x2="414.378897" y1="193.058235" y2="194.380518"> - <stop offset="0" style="stop-color:#ff8800;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8800;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3d2_2" x1="416.416113" x2="414.378897" y1="193.058235" y2="194.380518"> + <stop offset="1" style="stop-color:#ff7600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8800;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3d2" points="416.416113 193.058235 407.814065 184.26621 418.236109 200.323249"/> </defs> - <use fill="#ff7600" fill-opacity="1" xlink:href="#GT3d2"/> - <use fill="url(#GR3d2_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3d2"/> - <use fill="url(#GR3d2_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3d2"/> - <use fill="url(#GR3d2_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3d2"/> + <path d="M 416.416113,193.058235 L 407.814065,184.26621 418.236109,200.323249 Z" fill="#ff7600" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 416.416113,193.058235 L 407.814065,184.26621 418.236109,200.323249 Z" fill="url(#GR3d2_0)" shape-rendering="crispEdges"/> + <path d="M 416.416113,193.058235 L 407.814065,184.26621 418.236109,200.323249 Z" fill="url(#GR3d2_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 416.416113,193.058235 L 407.814065,184.26621 418.236109,200.323249 Z" fill="url(#GR3d2_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3d3_0" x1="418.236109" x2="420.937876" y1="200.323249" y2="197.679861"> - <stop offset="0" style="stop-color:#ff4e00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff4e00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3d3_0" x1="418.236109" x2="420.937876" y1="200.323249" y2="197.679861"> + <stop offset="1" style="stop-color:#ff7300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff4e00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3d3_1" x1="425.018162" x2="418.996551" y1="201.850259" y2="203.358764"> - <stop offset="0" style="stop-color:#ff8200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3d3_1" x1="425.018162" x2="418.996551" y1="201.850259" y2="203.358764"> + <stop offset="1" style="stop-color:#ff7300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3d3_2" x1="416.416113" x2="414.947097" y1="193.058235" y2="199.582712"> - <stop offset="0" style="stop-color:#ff8800;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8800;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3d3_2" x1="416.416113" x2="414.947097" y1="193.058235" y2="199.582712"> + <stop offset="1" style="stop-color:#ff7300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8800;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3d3" points="416.416113 193.058235 418.236109 200.323249 425.018162 201.850259"/> </defs> - <use fill="#ff7300" fill-opacity="1" xlink:href="#GT3d3"/> - <use fill="url(#GR3d3_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3d3"/> - <use fill="url(#GR3d3_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3d3"/> - <use fill="url(#GR3d3_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3d3"/> + <path d="M 416.416113,193.058235 L 418.236109,200.323249 425.018162,201.850259 Z" fill="#ff7300" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 416.416113,193.058235 L 418.236109,200.323249 425.018162,201.850259 Z" fill="url(#GR3d3_0)" shape-rendering="crispEdges"/> + <path d="M 416.416113,193.058235 L 418.236109,200.323249 425.018162,201.850259 Z" fill="url(#GR3d3_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 416.416113,193.058235 L 418.236109,200.323249 425.018162,201.850259 Z" fill="url(#GR3d3_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3d4_0" x1="414.596117" x2="407.873214" y1="185.793221" y2="186.019965"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3d4_0" x1="414.596117" x2="407.873214" y1="185.793221" y2="186.019965"> + <stop offset="1" style="stop-color:#fcd300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3d4_1" x1="407.188259" x2="403.150201" y1="165.71124" y2="168.362899"> - <stop offset="0" style="stop-color:#f8f500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f8f500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3d4_1" x1="407.188259" x2="403.150201" y1="165.71124" y2="168.362899"> + <stop offset="1" style="stop-color:#fcd300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f8f500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3d4_2" x1="407.501162" x2="410.23812" y1="174.988725" y2="173.979114"> - <stop offset="0" style="stop-color:#fdc000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fdc000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3d4_2" x1="407.501162" x2="410.23812" y1="174.988725" y2="173.979114"> + <stop offset="1" style="stop-color:#fcd300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fdc000;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3d4" points="407.501162 174.988725 414.596117 185.793221 407.188259 165.71124"/> </defs> - <use fill="#fcd300" fill-opacity="1" xlink:href="#GT3d4"/> - <use fill="url(#GR3d4_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3d4"/> - <use fill="url(#GR3d4_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3d4"/> - <use fill="url(#GR3d4_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3d4"/> + <path d="M 407.501162,174.988725 L 414.596117,185.793221 407.188259,165.71124 Z" fill="#fcd300" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 407.501162,174.988725 L 414.596117,185.793221 407.188259,165.71124 Z" fill="url(#GR3d4_0)" shape-rendering="crispEdges"/> + <path d="M 407.501162,174.988725 L 414.596117,185.793221 407.188259,165.71124 Z" fill="url(#GR3d4_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 407.501162,174.988725 L 414.596117,185.793221 407.188259,165.71124 Z" fill="url(#GR3d4_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3d5_0" x1="407.188259" x2="403.150201" y1="165.71124" y2="168.362899"> - <stop offset="0" style="stop-color:#f8f500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f8f500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3d5_0" x1="407.188259" x2="403.150201" y1="165.71124" y2="168.362899"> + <stop offset="1" style="stop-color:#fccf00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f8f500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3d5_1" x1="400.406207" x2="407.12911" y1="164.184229" y2="163.957485"> - <stop offset="0" style="stop-color:#ffb900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3d5_1" x1="400.406207" x2="407.12911" y1="164.184229" y2="163.957485"> + <stop offset="1" style="stop-color:#fccf00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3d5_2" x1="407.501162" x2="409.474149" y1="174.988725" y2="166.225919"> - <stop offset="0" style="stop-color:#fdc000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fdc000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3d5_2" x1="407.501162" x2="409.474149" y1="174.988725" y2="166.225919"> + <stop offset="1" style="stop-color:#fccf00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fdc000;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3d5" points="407.501162 174.988725 407.188259 165.71124 400.406207 164.184229"/> </defs> - <use fill="#fccf00" fill-opacity="1" xlink:href="#GT3d5"/> - <use fill="url(#GR3d5_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3d5"/> - <use fill="url(#GR3d5_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3d5"/> - <use fill="url(#GR3d5_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3d5"/> + <path d="M 407.501162,174.988725 L 407.188259,165.71124 400.406207,164.184229 Z" fill="#fccf00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 407.501162,174.988725 L 407.188259,165.71124 400.406207,164.184229 Z" fill="url(#GR3d5_0)" shape-rendering="crispEdges"/> + <path d="M 407.501162,174.988725 L 407.188259,165.71124 400.406207,164.184229 Z" fill="url(#GR3d5_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 407.501162,174.988725 L 407.188259,165.71124 400.406207,164.184229 Z" fill="url(#GR3d5_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3d6_0" x1="400.406207" x2="407.12911" y1="164.184229" y2="163.957485"> - <stop offset="0" style="stop-color:#ffb900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3d6_0" x1="400.406207" x2="407.12911" y1="164.184229" y2="163.957485"> + <stop offset="1" style="stop-color:#fead00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3d6_1" x1="407.814065" x2="411.852123" y1="184.26621" y2="181.614551"> - <stop offset="0" style="stop-color:#ff8d00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8d00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3d6_1" x1="407.814065" x2="411.852123" y1="184.26621" y2="181.614551"> + <stop offset="1" style="stop-color:#fead00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8d00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3d6_2" x1="407.501162" x2="404.764204" y1="174.988725" y2="175.998336"> - <stop offset="0" style="stop-color:#fdc000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fdc000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3d6_2" x1="407.501162" x2="404.764204" y1="174.988725" y2="175.998336"> + <stop offset="1" style="stop-color:#fead00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fdc000;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3d6" points="407.501162 174.988725 400.406207 164.184229 407.814065 184.26621"/> </defs> - <use fill="#fead00" fill-opacity="1" xlink:href="#GT3d6"/> - <use fill="url(#GR3d6_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3d6"/> - <use fill="url(#GR3d6_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3d6"/> - <use fill="url(#GR3d6_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3d6"/> + <path d="M 407.501162,174.988725 L 400.406207,164.184229 407.814065,184.26621 Z" fill="#fead00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 407.501162,174.988725 L 400.406207,164.184229 407.814065,184.26621 Z" fill="url(#GR3d6_0)" shape-rendering="crispEdges"/> + <path d="M 407.501162,174.988725 L 400.406207,164.184229 407.814065,184.26621 Z" fill="url(#GR3d6_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 407.501162,174.988725 L 400.406207,164.184229 407.814065,184.26621 Z" fill="url(#GR3d6_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3d7_0" x1="407.814065" x2="411.852123" y1="184.26621" y2="181.614551"> - <stop offset="0" style="stop-color:#ff8d00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8d00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3d7_0" x1="407.814065" x2="411.852123" y1="184.26621" y2="181.614551"> + <stop offset="1" style="stop-color:#feb000;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8d00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3d7_1" x1="414.596117" x2="407.873214" y1="185.793221" y2="186.019965"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3d7_1" x1="414.596117" x2="407.873214" y1="185.793221" y2="186.019965"> + <stop offset="1" style="stop-color:#feb000;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3d7_2" x1="407.501162" x2="405.528175" y1="174.988725" y2="183.751532"> - <stop offset="0" style="stop-color:#fdc000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fdc000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3d7_2" x1="407.501162" x2="405.528175" y1="174.988725" y2="183.751532"> + <stop offset="1" style="stop-color:#feb000;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fdc000;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3d7" points="407.501162 174.988725 407.814065 184.26621 414.596117 185.793221"/> </defs> - <use fill="#feb000" fill-opacity="1" xlink:href="#GT3d7"/> - <use fill="url(#GR3d7_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3d7"/> - <use fill="url(#GR3d7_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3d7"/> - <use fill="url(#GR3d7_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3d7"/> + <path d="M 407.501162,174.988725 L 407.814065,184.26621 414.596117,185.793221 Z" fill="#feb000" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 407.501162,174.988725 L 407.814065,184.26621 414.596117,185.793221 Z" fill="url(#GR3d7_0)" shape-rendering="crispEdges"/> + <path d="M 407.501162,174.988725 L 407.814065,184.26621 414.596117,185.793221 Z" fill="url(#GR3d7_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 407.501162,174.988725 L 407.814065,184.26621 414.596117,185.793221 Z" fill="url(#GR3d7_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3d8_0" x1="407.188259" x2="400.326594" y1="165.71124" y2="164.756263"> - <stop offset="0" style="stop-color:#f8f500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f8f500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3d8_0" x1="407.188259" x2="400.326594" y1="165.71124" y2="164.756263"> + <stop offset="1" style="stop-color:#eff109;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f8f500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3d8_1" x1="403.342179" x2="398.223566" y1="143.088782" y2="145.341474"> - <stop offset="0" style="stop-color:#e1ff16;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e1ff16;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3d8_1" x1="403.342179" x2="398.223566" y1="143.088782" y2="145.341474"> + <stop offset="1" style="stop-color:#eff109;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e1ff16;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3d8_2" x1="401.874193" x2="405.0438" y1="153.636506" y2="153.097636"> - <stop offset="0" style="stop-color:#f6df05;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f6df05;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3d8_2" x1="401.874193" x2="405.0438" y1="153.636506" y2="153.097636"> + <stop offset="1" style="stop-color:#eff109;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f6df05;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3d8" points="401.874193 153.636506 407.188259 165.71124 403.342179 143.088782"/> </defs> - <use fill="#eff109" fill-opacity="1" xlink:href="#GT3d8"/> - <use fill="url(#GR3d8_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3d8"/> - <use fill="url(#GR3d8_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3d8"/> - <use fill="url(#GR3d8_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3d8"/> + <path d="M 401.874193,153.636506 L 407.188259,165.71124 403.342179,143.088782 Z" fill="#eff109" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 401.874193,153.636506 L 407.188259,165.71124 403.342179,143.088782 Z" fill="url(#GR3d8_0)" shape-rendering="crispEdges"/> + <path d="M 401.874193,153.636506 L 407.188259,165.71124 403.342179,143.088782 Z" fill="url(#GR3d8_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 401.874193,153.636506 L 407.188259,165.71124 403.342179,143.088782 Z" fill="url(#GR3d8_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3d9_0" x1="403.342179" x2="398.223566" y1="143.088782" y2="145.341474"> - <stop offset="0" style="stop-color:#e1ff16;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e1ff16;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3d9_0" x1="403.342179" x2="398.223566" y1="143.088782" y2="145.341474"> + <stop offset="1" style="stop-color:#f2e509;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e1ff16;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3d9_1" x1="396.560126" x2="403.421792" y1="141.561771" y2="142.516748"> - <stop offset="0" style="stop-color:#ffd000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3d9_1" x1="396.560126" x2="403.421792" y1="141.561771" y2="142.516748"> + <stop offset="1" style="stop-color:#f2e509;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3d9_2" x1="401.874193" x2="404.205306" y1="153.636506" y2="143.283119"> - <stop offset="0" style="stop-color:#f6df05;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f6df05;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3d9_2" x1="401.874193" x2="404.205306" y1="153.636506" y2="143.283119"> + <stop offset="1" style="stop-color:#f2e509;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f6df05;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3d9" points="401.874193 153.636506 403.342179 143.088782 396.560126 141.561771"/> </defs> - <use fill="#f2e509" fill-opacity="1" xlink:href="#GT3d9"/> - <use fill="url(#GR3d9_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3d9"/> - <use fill="url(#GR3d9_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3d9"/> - <use fill="url(#GR3d9_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3d9"/> + <path d="M 401.874193,153.636506 L 403.342179,143.088782 396.560126,141.561771 Z" fill="#f2e509" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 401.874193,153.636506 L 403.342179,143.088782 396.560126,141.561771 Z" fill="url(#GR3d9_0)" shape-rendering="crispEdges"/> + <path d="M 401.874193,153.636506 L 403.342179,143.088782 396.560126,141.561771 Z" fill="url(#GR3d9_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 401.874193,153.636506 L 403.342179,143.088782 396.560126,141.561771 Z" fill="url(#GR3d9_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3da_0" x1="396.560126" x2="403.421792" y1="141.561771" y2="142.516748"> - <stop offset="0" style="stop-color:#ffd000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3da_0" x1="396.560126" x2="403.421792" y1="141.561771" y2="142.516748"> + <stop offset="1" style="stop-color:#fccd02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3da_1" x1="400.406207" x2="405.52482" y1="164.184229" y2="161.931538"> - <stop offset="0" style="stop-color:#ffb900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3da_1" x1="400.406207" x2="405.52482" y1="164.184229" y2="161.931538"> + <stop offset="1" style="stop-color:#fccd02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3da_2" x1="401.874193" x2="398.704585" y1="153.636506" y2="154.175376"> - <stop offset="0" style="stop-color:#f6df05;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f6df05;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3da_2" x1="401.874193" x2="398.704585" y1="153.636506" y2="154.175376"> + <stop offset="1" style="stop-color:#fccd02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f6df05;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3da" points="401.874193 153.636506 396.560126 141.561771 400.406207 164.184229"/> </defs> - <use fill="#fccd02" fill-opacity="1" xlink:href="#GT3da"/> - <use fill="url(#GR3da_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3da"/> - <use fill="url(#GR3da_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3da"/> - <use fill="url(#GR3da_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3da"/> + <path d="M 401.874193,153.636506 L 396.560126,141.561771 400.406207,164.184229 Z" fill="#fccd02" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 401.874193,153.636506 L 396.560126,141.561771 400.406207,164.184229 Z" fill="url(#GR3da_0)" shape-rendering="crispEdges"/> + <path d="M 401.874193,153.636506 L 396.560126,141.561771 400.406207,164.184229 Z" fill="url(#GR3da_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 401.874193,153.636506 L 396.560126,141.561771 400.406207,164.184229 Z" fill="url(#GR3da_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3db_0" x1="400.406207" x2="405.52482" y1="164.184229" y2="161.931538"> - <stop offset="0" style="stop-color:#ffb900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3db_0" x1="400.406207" x2="405.52482" y1="164.184229" y2="161.931538"> + <stop offset="1" style="stop-color:#f9da02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3db_1" x1="407.188259" x2="400.326594" y1="165.71124" y2="164.756263"> - <stop offset="0" style="stop-color:#f8f500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f8f500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3db_1" x1="407.188259" x2="400.326594" y1="165.71124" y2="164.756263"> + <stop offset="1" style="stop-color:#f9da02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f8f500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3db_2" x1="401.874193" x2="399.54308" y1="153.636506" y2="163.989892"> - <stop offset="0" style="stop-color:#f6df05;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f6df05;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3db_2" x1="401.874193" x2="399.54308" y1="153.636506" y2="163.989892"> + <stop offset="1" style="stop-color:#f9da02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f6df05;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3db" points="401.874193 153.636506 400.406207 164.184229 407.188259 165.71124"/> </defs> - <use fill="#f9da02" fill-opacity="1" xlink:href="#GT3db"/> - <use fill="url(#GR3db_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3db"/> - <use fill="url(#GR3db_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3db"/> - <use fill="url(#GR3db_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3db"/> + <path d="M 401.874193,153.636506 L 400.406207,164.184229 407.188259,165.71124 Z" fill="#f9da02" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 401.874193,153.636506 L 400.406207,164.184229 407.188259,165.71124 Z" fill="url(#GR3db_0)" shape-rendering="crispEdges"/> + <path d="M 401.874193,153.636506 L 400.406207,164.184229 407.188259,165.71124 Z" fill="url(#GR3db_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 401.874193,153.636506 L 400.406207,164.184229 407.188259,165.71124 Z" fill="url(#GR3db_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3dc_0" x1="403.342179" x2="396.720019" y1="143.088782" y2="141.043958"> - <stop offset="0" style="stop-color:#e1ff16;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e1ff16;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3dc_0" x1="403.342179" x2="396.720019" y1="143.088782" y2="141.043958"> + <stop offset="1" style="stop-color:#e6f712;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e1ff16;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3dc_1" x1="403.342179" x2="397.410037" y1="119.598106" y2="121.206252"> - <stop offset="0" style="stop-color:#e1ff16;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e1ff16;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3dc_1" x1="403.342179" x2="397.410037" y1="119.598106" y2="121.206252"> + <stop offset="1" style="stop-color:#e6f712;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e1ff16;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3dc_2" x1="399.951153" x2="403.342179" y1="130.579939" y2="130.579939"> - <stop offset="0" style="stop-color:#f0e70b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f0e70b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3dc_2" x1="399.951153" x2="403.342179" y1="130.579939" y2="130.579939"> + <stop offset="1" style="stop-color:#e6f712;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f0e70b;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3dc" points="399.951153 130.579939 403.342179 143.088782 403.342179 119.598106"/> </defs> - <use fill="#e6f712" fill-opacity="1" xlink:href="#GT3dc"/> - <use fill="url(#GR3dc_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3dc"/> - <use fill="url(#GR3dc_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3dc"/> - <use fill="url(#GR3dc_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3dc"/> + <path d="M 399.951153,130.579939 L 403.342179,143.088782 403.342179,119.598106 Z" fill="#e6f712" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 399.951153,130.579939 L 403.342179,143.088782 403.342179,119.598106 Z" fill="url(#GR3dc_0)" shape-rendering="crispEdges"/> + <path d="M 399.951153,130.579939 L 403.342179,143.088782 403.342179,119.598106 Z" fill="url(#GR3dc_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 399.951153,130.579939 L 403.342179,143.088782 403.342179,119.598106 Z" fill="url(#GR3dc_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3dd_0" x1="403.342179" x2="397.410037" y1="119.598106" y2="121.206252"> - <stop offset="0" style="stop-color:#e1ff16;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e1ff16;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3dd_0" x1="403.342179" x2="397.410037" y1="119.598106" y2="121.206252"> + <stop offset="1" style="stop-color:#f0e70b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e1ff16;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3dd_1" x1="396.560126" x2="403.182286" y1="118.071095" y2="120.115919"> - <stop offset="0" style="stop-color:#ffd000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3dd_1" x1="396.560126" x2="403.182286" y1="118.071095" y2="120.115919"> + <stop offset="1" style="stop-color:#f0e70b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3dd_2" x1="399.951153" x2="402.468076" y1="130.579939" y2="119.401297"> - <stop offset="0" style="stop-color:#f0e70b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f0e70b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3dd_2" x1="399.951153" x2="402.468076" y1="130.579939" y2="119.401297"> + <stop offset="1" style="stop-color:#f0e70b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f0e70b;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3dd" points="399.951153 130.579939 403.342179 119.598106 396.560126 118.071095"/> </defs> - <use fill="#f0e70b" fill-opacity="1" xlink:href="#GT3dd"/> - <use fill="url(#GR3dd_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3dd"/> - <use fill="url(#GR3dd_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3dd"/> - <use fill="url(#GR3dd_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3dd"/> + <path d="M 399.951153,130.579939 L 403.342179,119.598106 396.560126,118.071095 Z" fill="#f0e70b" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 399.951153,130.579939 L 403.342179,119.598106 396.560126,118.071095 Z" fill="url(#GR3dd_0)" shape-rendering="crispEdges"/> + <path d="M 399.951153,130.579939 L 403.342179,119.598106 396.560126,118.071095 Z" fill="url(#GR3dd_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 399.951153,130.579939 L 403.342179,119.598106 396.560126,118.071095 Z" fill="url(#GR3dd_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3de_0" x1="396.560126" x2="403.182286" y1="118.071095" y2="120.115919"> - <stop offset="0" style="stop-color:#ffd000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3de_0" x1="396.560126" x2="403.182286" y1="118.071095" y2="120.115919"> + <stop offset="1" style="stop-color:#fad704;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3de_1" x1="396.560126" x2="402.492268" y1="141.561771" y2="139.953625"> - <stop offset="0" style="stop-color:#ffd000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3de_1" x1="396.560126" x2="402.492268" y1="141.561771" y2="139.953625"> + <stop offset="1" style="stop-color:#fad704;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3de_2" x1="399.951153" x2="396.560126" y1="130.579939" y2="130.579939"> - <stop offset="0" style="stop-color:#f0e70b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f0e70b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3de_2" x1="399.951153" x2="396.560126" y1="130.579939" y2="130.579939"> + <stop offset="1" style="stop-color:#fad704;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f0e70b;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3de" points="399.951153 130.579939 396.560126 118.071095 396.560126 141.561771"/> </defs> - <use fill="#fad704" fill-opacity="1" xlink:href="#GT3de"/> - <use fill="url(#GR3de_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3de"/> - <use fill="url(#GR3de_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3de"/> - <use fill="url(#GR3de_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3de"/> + <path d="M 399.951153,130.579939 L 396.560126,118.071095 396.560126,141.561771 Z" fill="#fad704" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 399.951153,130.579939 L 396.560126,118.071095 396.560126,141.561771 Z" fill="url(#GR3de_0)" shape-rendering="crispEdges"/> + <path d="M 399.951153,130.579939 L 396.560126,118.071095 396.560126,141.561771 Z" fill="url(#GR3de_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 399.951153,130.579939 L 396.560126,118.071095 396.560126,141.561771 Z" fill="url(#GR3de_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3df_0" x1="396.560126" x2="402.492268" y1="141.561771" y2="139.953625"> - <stop offset="0" style="stop-color:#ffd000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3df_0" x1="396.560126" x2="402.492268" y1="141.561771" y2="139.953625"> + <stop offset="1" style="stop-color:#f0e70b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3df_1" x1="403.342179" x2="396.720019" y1="143.088782" y2="141.043958"> - <stop offset="0" style="stop-color:#e1ff16;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e1ff16;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3df_1" x1="403.342179" x2="396.720019" y1="143.088782" y2="141.043958"> + <stop offset="1" style="stop-color:#f0e70b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e1ff16;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3df_2" x1="399.951153" x2="397.434229" y1="130.579939" y2="141.75858"> - <stop offset="0" style="stop-color:#f0e70b;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f0e70b;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3df_2" x1="399.951153" x2="397.434229" y1="130.579939" y2="141.75858"> + <stop offset="1" style="stop-color:#f0e70b;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f0e70b;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3df" points="399.951153 130.579939 396.560126 141.561771 403.342179 143.088782"/> </defs> - <use fill="#f0e70b" fill-opacity="1" xlink:href="#GT3df"/> - <use fill="url(#GR3df_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3df"/> - <use fill="url(#GR3df_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3df"/> - <use fill="url(#GR3df_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3df"/> + <path d="M 399.951153,130.579939 L 396.560126,141.561771 403.342179,143.088782 Z" fill="#f0e70b" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 399.951153,130.579939 L 396.560126,141.561771 403.342179,143.088782 Z" fill="url(#GR3df_0)" shape-rendering="crispEdges"/> + <path d="M 399.951153,130.579939 L 396.560126,141.561771 403.342179,143.088782 Z" fill="url(#GR3df_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 399.951153,130.579939 L 396.560126,141.561771 403.342179,143.088782 Z" fill="url(#GR3df_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3e0_0" x1="403.342179" x2="397.319511" y1="119.598106" y2="116.563815"> - <stop offset="0" style="stop-color:#e1ff16;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e1ff16;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3e0_0" x1="403.342179" x2="397.319511" y1="119.598106" y2="116.563815"> + <stop offset="1" style="stop-color:#eff109;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e1ff16;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3e0_1" x1="407.188259" x2="400.687931" y1="96.975648" y2="97.765925"> - <stop offset="0" style="stop-color:#f8f500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f8f500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3e0_1" x1="407.188259" x2="400.687931" y1="96.975648" y2="97.765925"> + <stop offset="1" style="stop-color:#eff109;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f8f500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3e0_2" x1="401.874193" x2="405.296117" y1="107.523371" y2="108.105138"> - <stop offset="0" style="stop-color:#f6df05;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f6df05;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3e0_2" x1="401.874193" x2="405.296117" y1="107.523371" y2="108.105138"> + <stop offset="1" style="stop-color:#eff109;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f6df05;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3e0" points="401.874193 107.523371 403.342179 119.598106 407.188259 96.975648"/> </defs> - <use fill="#eff109" fill-opacity="1" xlink:href="#GT3e0"/> - <use fill="url(#GR3e0_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3e0"/> - <use fill="url(#GR3e0_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3e0"/> - <use fill="url(#GR3e0_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3e0"/> + <path d="M 401.874193,107.523371 L 403.342179,119.598106 407.188259,96.975648 Z" fill="#eff109" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 401.874193,107.523371 L 403.342179,119.598106 407.188259,96.975648 Z" fill="url(#GR3e0_0)" shape-rendering="crispEdges"/> + <path d="M 401.874193,107.523371 L 403.342179,119.598106 407.188259,96.975648 Z" fill="url(#GR3e0_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 401.874193,107.523371 L 403.342179,119.598106 407.188259,96.975648 Z" fill="url(#GR3e0_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3e1_0" x1="407.188259" x2="400.687931" y1="96.975648" y2="97.765925"> - <stop offset="0" style="stop-color:#f8f500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f8f500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3e1_0" x1="407.188259" x2="400.687931" y1="96.975648" y2="97.765925"> + <stop offset="1" style="stop-color:#f9da02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f8f500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3e1_1" x1="400.406207" x2="406.428874" y1="95.448637" y2="98.482928"> - <stop offset="0" style="stop-color:#ffb900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3e1_1" x1="400.406207" x2="406.428874" y1="95.448637" y2="98.482928"> + <stop offset="1" style="stop-color:#f9da02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3e1_2" x1="401.874193" x2="404.390874" y1="107.523371" y2="96.345804"> - <stop offset="0" style="stop-color:#f6df05;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f6df05;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3e1_2" x1="401.874193" x2="404.390874" y1="107.523371" y2="96.345804"> + <stop offset="1" style="stop-color:#f9da02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f6df05;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3e1" points="401.874193 107.523371 407.188259 96.975648 400.406207 95.448637"/> </defs> - <use fill="#f9da02" fill-opacity="1" xlink:href="#GT3e1"/> - <use fill="url(#GR3e1_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3e1"/> - <use fill="url(#GR3e1_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3e1"/> - <use fill="url(#GR3e1_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3e1"/> + <path d="M 401.874193,107.523371 L 407.188259,96.975648 400.406207,95.448637 Z" fill="#f9da02" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 401.874193,107.523371 L 407.188259,96.975648 400.406207,95.448637 Z" fill="url(#GR3e1_0)" shape-rendering="crispEdges"/> + <path d="M 401.874193,107.523371 L 407.188259,96.975648 400.406207,95.448637 Z" fill="url(#GR3e1_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 401.874193,107.523371 L 407.188259,96.975648 400.406207,95.448637 Z" fill="url(#GR3e1_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3e2_0" x1="400.406207" x2="406.428874" y1="95.448637" y2="98.482928"> - <stop offset="0" style="stop-color:#ffb900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3e2_0" x1="400.406207" x2="406.428874" y1="95.448637" y2="98.482928"> + <stop offset="1" style="stop-color:#fccd02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3e2_1" x1="396.560126" x2="403.060454" y1="118.071095" y2="117.280817"> - <stop offset="0" style="stop-color:#ffd000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3e2_1" x1="396.560126" x2="403.060454" y1="118.071095" y2="117.280817"> + <stop offset="1" style="stop-color:#fccd02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3e2_2" x1="401.874193" x2="398.452269" y1="107.523371" y2="106.941605"> - <stop offset="0" style="stop-color:#f6df05;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f6df05;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3e2_2" x1="401.874193" x2="398.452269" y1="107.523371" y2="106.941605"> + <stop offset="1" style="stop-color:#fccd02;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f6df05;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3e2" points="401.874193 107.523371 400.406207 95.448637 396.560126 118.071095"/> </defs> - <use fill="#fccd02" fill-opacity="1" xlink:href="#GT3e2"/> - <use fill="url(#GR3e2_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3e2"/> - <use fill="url(#GR3e2_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3e2"/> - <use fill="url(#GR3e2_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3e2"/> + <path d="M 401.874193,107.523371 L 400.406207,95.448637 396.560126,118.071095 Z" fill="#fccd02" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 401.874193,107.523371 L 400.406207,95.448637 396.560126,118.071095 Z" fill="url(#GR3e2_0)" shape-rendering="crispEdges"/> + <path d="M 401.874193,107.523371 L 400.406207,95.448637 396.560126,118.071095 Z" fill="url(#GR3e2_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 401.874193,107.523371 L 400.406207,95.448637 396.560126,118.071095 Z" fill="url(#GR3e2_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3e3_0" x1="396.560126" x2="403.060454" y1="118.071095" y2="117.280817"> - <stop offset="0" style="stop-color:#ffd000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffd000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3e3_0" x1="396.560126" x2="403.060454" y1="118.071095" y2="117.280817"> + <stop offset="1" style="stop-color:#f2e509;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffd000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3e3_1" x1="403.342179" x2="397.319511" y1="119.598106" y2="116.563815"> - <stop offset="0" style="stop-color:#e1ff16;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e1ff16;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3e3_1" x1="403.342179" x2="397.319511" y1="119.598106" y2="116.563815"> + <stop offset="1" style="stop-color:#f2e509;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e1ff16;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3e3_2" x1="401.874193" x2="399.357511" y1="107.523371" y2="118.700939"> - <stop offset="0" style="stop-color:#f6df05;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f6df05;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3e3_2" x1="401.874193" x2="399.357511" y1="107.523371" y2="118.700939"> + <stop offset="1" style="stop-color:#f2e509;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f6df05;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3e3" points="401.874193 107.523371 396.560126 118.071095 403.342179 119.598106"/> </defs> - <use fill="#f2e509" fill-opacity="1" xlink:href="#GT3e3"/> - <use fill="url(#GR3e3_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3e3"/> - <use fill="url(#GR3e3_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3e3"/> - <use fill="url(#GR3e3_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3e3"/> + <path d="M 401.874193,107.523371 L 396.560126,118.071095 403.342179,119.598106 Z" fill="#f2e509" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 401.874193,107.523371 L 396.560126,118.071095 403.342179,119.598106 Z" fill="url(#GR3e3_0)" shape-rendering="crispEdges"/> + <path d="M 401.874193,107.523371 L 396.560126,118.071095 403.342179,119.598106 Z" fill="url(#GR3e3_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 401.874193,107.523371 L 396.560126,118.071095 403.342179,119.598106 Z" fill="url(#GR3e3_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3e4_0" x1="407.188259" x2="402.172092" y1="96.975648" y2="93.139535"> - <stop offset="0" style="stop-color:#f8f500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f8f500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3e4_0" x1="407.188259" x2="402.172092" y1="96.975648" y2="93.139535"> + <stop offset="1" style="stop-color:#fcd300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f8f500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3e4_1" x1="414.596117" x2="407.775562" y1="76.893667" y2="76.696141"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3e4_1" x1="414.596117" x2="407.775562" y1="76.893667" y2="76.696141"> + <stop offset="1" style="stop-color:#fcd300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3e4_2" x1="407.501162" x2="410.733937" y1="86.171152" y2="87.363661"> - <stop offset="0" style="stop-color:#fdc000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fdc000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3e4_2" x1="407.501162" x2="410.733937" y1="86.171152" y2="87.363661"> + <stop offset="1" style="stop-color:#fcd300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fdc000;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3e4" points="407.501162 86.171152 407.188259 96.975648 414.596117 76.893667"/> </defs> - <use fill="#fcd300" fill-opacity="1" xlink:href="#GT3e4"/> - <use fill="url(#GR3e4_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3e4"/> - <use fill="url(#GR3e4_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3e4"/> - <use fill="url(#GR3e4_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3e4"/> + <path d="M 407.501162,86.171152 L 407.188259,96.975648 414.596117,76.893667 Z" fill="#fcd300" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 407.501162,86.171152 L 407.188259,96.975648 414.596117,76.893667 Z" fill="url(#GR3e4_0)" shape-rendering="crispEdges"/> + <path d="M 407.501162,86.171152 L 407.188259,96.975648 414.596117,76.893667 Z" fill="url(#GR3e4_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 407.501162,86.171152 L 407.188259,96.975648 414.596117,76.893667 Z" fill="url(#GR3e4_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3e5_0" x1="414.596117" x2="407.775562" y1="76.893667" y2="76.696141"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3e5_0" x1="414.596117" x2="407.775562" y1="76.893667" y2="76.696141"> + <stop offset="1" style="stop-color:#feb000;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3e5_1" x1="407.814065" x2="412.830232" y1="75.366656" y2="79.202769"> - <stop offset="0" style="stop-color:#ff8d00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8d00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3e5_1" x1="407.814065" x2="412.830232" y1="75.366656" y2="79.202769"> + <stop offset="1" style="stop-color:#feb000;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8d00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3e5_2" x1="407.501162" x2="409.831568" y1="86.171152" y2="75.820906"> - <stop offset="0" style="stop-color:#fdc000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fdc000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3e5_2" x1="407.501162" x2="409.831568" y1="86.171152" y2="75.820906"> + <stop offset="1" style="stop-color:#feb000;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fdc000;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3e5" points="407.501162 86.171152 414.596117 76.893667 407.814065 75.366656"/> </defs> - <use fill="#feb000" fill-opacity="1" xlink:href="#GT3e5"/> - <use fill="url(#GR3e5_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3e5"/> - <use fill="url(#GR3e5_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3e5"/> - <use fill="url(#GR3e5_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3e5"/> + <path d="M 407.501162,86.171152 L 414.596117,76.893667 407.814065,75.366656 Z" fill="#feb000" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 407.501162,86.171152 L 414.596117,76.893667 407.814065,75.366656 Z" fill="url(#GR3e5_0)" shape-rendering="crispEdges"/> + <path d="M 407.501162,86.171152 L 414.596117,76.893667 407.814065,75.366656 Z" fill="url(#GR3e5_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 407.501162,86.171152 L 414.596117,76.893667 407.814065,75.366656 Z" fill="url(#GR3e5_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3e6_0" x1="407.814065" x2="412.830232" y1="75.366656" y2="79.202769"> - <stop offset="0" style="stop-color:#ff8d00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8d00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3e6_0" x1="407.814065" x2="412.830232" y1="75.366656" y2="79.202769"> + <stop offset="1" style="stop-color:#fead00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8d00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3e6_1" x1="400.406207" x2="407.226762" y1="95.448637" y2="95.646163"> - <stop offset="0" style="stop-color:#ffb900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3e6_1" x1="400.406207" x2="407.226762" y1="95.448637" y2="95.646163"> + <stop offset="1" style="stop-color:#fead00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3e6_2" x1="407.501162" x2="404.268387" y1="86.171152" y2="84.978643"> - <stop offset="0" style="stop-color:#fdc000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fdc000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3e6_2" x1="407.501162" x2="404.268387" y1="86.171152" y2="84.978643"> + <stop offset="1" style="stop-color:#fead00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fdc000;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3e6" points="407.501162 86.171152 407.814065 75.366656 400.406207 95.448637"/> </defs> - <use fill="#fead00" fill-opacity="1" xlink:href="#GT3e6"/> - <use fill="url(#GR3e6_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3e6"/> - <use fill="url(#GR3e6_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3e6"/> - <use fill="url(#GR3e6_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3e6"/> + <path d="M 407.501162,86.171152 L 407.814065,75.366656 400.406207,95.448637 Z" fill="#fead00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 407.501162,86.171152 L 407.814065,75.366656 400.406207,95.448637 Z" fill="url(#GR3e6_0)" shape-rendering="crispEdges"/> + <path d="M 407.501162,86.171152 L 407.814065,75.366656 400.406207,95.448637 Z" fill="url(#GR3e6_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 407.501162,86.171152 L 407.814065,75.366656 400.406207,95.448637 Z" fill="url(#GR3e6_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3e7_0" x1="400.406207" x2="407.226762" y1="95.448637" y2="95.646163"> - <stop offset="0" style="stop-color:#ffb900;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffb900;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3e7_0" x1="400.406207" x2="407.226762" y1="95.448637" y2="95.646163"> + <stop offset="1" style="stop-color:#fccf00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffb900;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3e7_1" x1="407.188259" x2="402.172092" y1="96.975648" y2="93.139535"> - <stop offset="0" style="stop-color:#f8f500;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f8f500;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3e7_1" x1="407.188259" x2="402.172092" y1="96.975648" y2="93.139535"> + <stop offset="1" style="stop-color:#fccf00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f8f500;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3e7_2" x1="407.501162" x2="405.170756" y1="86.171152" y2="96.521398"> - <stop offset="0" style="stop-color:#fdc000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#fdc000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3e7_2" x1="407.501162" x2="405.170756" y1="86.171152" y2="96.521398"> + <stop offset="1" style="stop-color:#fccf00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#fdc000;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3e7" points="407.501162 86.171152 400.406207 95.448637 407.188259 96.975648"/> </defs> - <use fill="#fccf00" fill-opacity="1" xlink:href="#GT3e7"/> - <use fill="url(#GR3e7_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3e7"/> - <use fill="url(#GR3e7_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3e7"/> - <use fill="url(#GR3e7_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3e7"/> + <path d="M 407.501162,86.171152 L 400.406207,95.448637 407.188259,96.975648 Z" fill="#fccf00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 407.501162,86.171152 L 400.406207,95.448637 407.188259,96.975648 Z" fill="url(#GR3e7_0)" shape-rendering="crispEdges"/> + <path d="M 407.501162,86.171152 L 400.406207,95.448637 407.188259,96.975648 Z" fill="url(#GR3e7_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 407.501162,86.171152 L 400.406207,95.448637 407.188259,96.975648 Z" fill="url(#GR3e7_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3e8_0" x1="414.596117" x2="411.019811" y1="76.893667" y2="72.659186"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3e8_0" x1="414.596117" x2="411.019811" y1="76.893667" y2="72.659186"> + <stop offset="1" style="stop-color:#ff9a00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3e8_1" x1="425.018162" x2="418.211676" y1="60.836628" y2="59.42765"> - <stop offset="0" style="stop-color:#ff8200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3e8_1" x1="425.018162" x2="418.211676" y1="60.836628" y2="59.42765"> + <stop offset="1" style="stop-color:#ff9a00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3e8_2" x1="416.416113" x2="419.150676" y1="68.101642" y2="69.876548"> - <stop offset="0" style="stop-color:#ff8800;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8800;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3e8_2" x1="416.416113" x2="419.150676" y1="68.101642" y2="69.876548"> + <stop offset="1" style="stop-color:#ff9a00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8800;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3e8" points="416.416113 68.101642 414.596117 76.893667 425.018162 60.836628"/> </defs> - <use fill="#ff9a00" fill-opacity="1" xlink:href="#GT3e8"/> - <use fill="url(#GR3e8_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3e8"/> - <use fill="url(#GR3e8_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3e8"/> - <use fill="url(#GR3e8_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3e8"/> + <path d="M 416.416113,68.101642 L 414.596117,76.893667 425.018162,60.836628 Z" fill="#ff9a00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 416.416113,68.101642 L 414.596117,76.893667 425.018162,60.836628 Z" fill="url(#GR3e8_0)" shape-rendering="crispEdges"/> + <path d="M 416.416113,68.101642 L 414.596117,76.893667 425.018162,60.836628 Z" fill="url(#GR3e8_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 416.416113,68.101642 L 414.596117,76.893667 425.018162,60.836628 Z" fill="url(#GR3e8_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3e9_0" x1="425.018162" x2="418.211676" y1="60.836628" y2="59.42765"> - <stop offset="0" style="stop-color:#ff8200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3e9_0" x1="425.018162" x2="418.211676" y1="60.836628" y2="59.42765"> + <stop offset="1" style="stop-color:#ff7300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3e9_1" x1="418.236109" x2="421.812416" y1="59.309618" y2="63.544098"> - <stop offset="0" style="stop-color:#ff4e00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff4e00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3e9_1" x1="418.236109" x2="421.812416" y1="59.309618" y2="63.544098"> + <stop offset="1" style="stop-color:#ff7300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff4e00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3e9_2" x1="416.416113" x2="418.387979" y1="68.101642" y2="59.343812"> - <stop offset="0" style="stop-color:#ff8800;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8800;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3e9_2" x1="416.416113" x2="418.387979" y1="68.101642" y2="59.343812"> + <stop offset="1" style="stop-color:#ff7300;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8800;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3e9" points="416.416113 68.101642 425.018162 60.836628 418.236109 59.309618"/> </defs> - <use fill="#ff7300" fill-opacity="1" xlink:href="#GT3e9"/> - <use fill="url(#GR3e9_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3e9"/> - <use fill="url(#GR3e9_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3e9"/> - <use fill="url(#GR3e9_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3e9"/> + <path d="M 416.416113,68.101642 L 425.018162,60.836628 418.236109,59.309618 Z" fill="#ff7300" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 416.416113,68.101642 L 425.018162,60.836628 418.236109,59.309618 Z" fill="url(#GR3e9_0)" shape-rendering="crispEdges"/> + <path d="M 416.416113,68.101642 L 425.018162,60.836628 418.236109,59.309618 Z" fill="url(#GR3e9_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 416.416113,68.101642 L 425.018162,60.836628 418.236109,59.309618 Z" fill="url(#GR3e9_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3ea_0" x1="418.236109" x2="421.812416" y1="59.309618" y2="63.544098"> - <stop offset="0" style="stop-color:#ff4e00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff4e00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3ea_0" x1="418.236109" x2="421.812416" y1="59.309618" y2="63.544098"> + <stop offset="1" style="stop-color:#ff7600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff4e00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3ea_1" x1="407.814065" x2="414.620551" y1="75.366656" y2="76.775635"> - <stop offset="0" style="stop-color:#ff8d00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8d00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3ea_1" x1="407.814065" x2="414.620551" y1="75.366656" y2="76.775635"> + <stop offset="1" style="stop-color:#ff7600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8d00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3ea_2" x1="416.416113" x2="413.68155" y1="68.101642" y2="66.326736"> - <stop offset="0" style="stop-color:#ff8800;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8800;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3ea_2" x1="416.416113" x2="413.68155" y1="68.101642" y2="66.326736"> + <stop offset="1" style="stop-color:#ff7600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8800;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3ea" points="416.416113 68.101642 418.236109 59.309618 407.814065 75.366656"/> </defs> - <use fill="#ff7600" fill-opacity="1" xlink:href="#GT3ea"/> - <use fill="url(#GR3ea_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3ea"/> - <use fill="url(#GR3ea_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3ea"/> - <use fill="url(#GR3ea_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3ea"/> + <path d="M 416.416113,68.101642 L 418.236109,59.309618 407.814065,75.366656 Z" fill="#ff7600" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 416.416113,68.101642 L 418.236109,59.309618 407.814065,75.366656 Z" fill="url(#GR3ea_0)" shape-rendering="crispEdges"/> + <path d="M 416.416113,68.101642 L 418.236109,59.309618 407.814065,75.366656 Z" fill="url(#GR3ea_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 416.416113,68.101642 L 418.236109,59.309618 407.814065,75.366656 Z" fill="url(#GR3ea_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3eb_0" x1="407.814065" x2="414.620551" y1="75.366656" y2="76.775635"> - <stop offset="0" style="stop-color:#ff8d00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8d00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3eb_0" x1="407.814065" x2="414.620551" y1="75.366656" y2="76.775635"> + <stop offset="1" style="stop-color:#ff9e00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8d00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3eb_1" x1="414.596117" x2="411.019811" y1="76.893667" y2="72.659186"> - <stop offset="0" style="stop-color:#ffc400;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ffc400;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3eb_1" x1="414.596117" x2="411.019811" y1="76.893667" y2="72.659186"> + <stop offset="1" style="stop-color:#ff9e00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ffc400;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3eb_2" x1="416.416113" x2="414.444247" y1="68.101642" y2="76.859473"> - <stop offset="0" style="stop-color:#ff8800;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8800;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3eb_2" x1="416.416113" x2="414.444247" y1="68.101642" y2="76.859473"> + <stop offset="1" style="stop-color:#ff9e00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8800;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3eb" points="416.416113 68.101642 407.814065 75.366656 414.596117 76.893667"/> </defs> - <use fill="#ff9e00" fill-opacity="1" xlink:href="#GT3eb"/> - <use fill="url(#GR3eb_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3eb"/> - <use fill="url(#GR3eb_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3eb"/> - <use fill="url(#GR3eb_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3eb"/> + <path d="M 416.416113,68.101642 L 407.814065,75.366656 414.596117,76.893667 Z" fill="#ff9e00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 416.416113,68.101642 L 407.814065,75.366656 414.596117,76.893667 Z" fill="url(#GR3eb_0)" shape-rendering="crispEdges"/> + <path d="M 416.416113,68.101642 L 407.814065,75.366656 414.596117,76.893667 Z" fill="url(#GR3eb_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 416.416113,68.101642 L 407.814065,75.366656 414.596117,76.893667 Z" fill="url(#GR3eb_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3ec_0" x1="425.018162" x2="423.156863" y1="60.836628" y2="56.951916"> - <stop offset="0" style="stop-color:#ff8200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3ec_0" x1="425.018162" x2="423.156863" y1="60.836628" y2="56.951916"> + <stop offset="1" style="stop-color:#fd5100;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3ec_1" x1="437.683992" x2="431.560623" y1="49.991473" y2="47.079409"> - <stop offset="0" style="stop-color:#ff3000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff3000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3ec_1" x1="437.683992" x2="431.560623" y1="49.991473" y2="47.079409"> + <stop offset="1" style="stop-color:#fd5100;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff3000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3ec_2" x1="427.960051" x2="429.771732" y1="54.650545" y2="56.76637"> - <stop offset="0" style="stop-color:#f94000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f94000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3ec_2" x1="427.960051" x2="429.771732" y1="54.650545" y2="56.76637"> + <stop offset="1" style="stop-color:#fd5100;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f94000;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3ec" points="427.960051 54.650545 425.018162 60.836628 437.683992 49.991473"/> </defs> - <use fill="#fd5100" fill-opacity="1" xlink:href="#GT3ec"/> - <use fill="url(#GR3ec_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3ec"/> - <use fill="url(#GR3ec_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3ec"/> - <use fill="url(#GR3ec_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3ec"/> + <path d="M 427.960051,54.650545 L 425.018162,60.836628 437.683992,49.991473 Z" fill="#fd5100" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 427.960051,54.650545 L 425.018162,60.836628 437.683992,49.991473 Z" fill="url(#GR3ec_0)" shape-rendering="crispEdges"/> + <path d="M 427.960051,54.650545 L 425.018162,60.836628 437.683992,49.991473 Z" fill="url(#GR3ec_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 427.960051,54.650545 L 425.018162,60.836628 437.683992,49.991473 Z" fill="url(#GR3ec_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3ed_0" x1="437.683992" x2="431.560623" y1="49.991473" y2="47.079409"> - <stop offset="0" style="stop-color:#ff3000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff3000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3ed_0" x1="437.683992" x2="431.560623" y1="49.991473" y2="47.079409"> + <stop offset="1" style="stop-color:#f52600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff3000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3ed_1" x1="430.901939" x2="432.763238" y1="48.464462" y2="52.349174"> - <stop offset="0" style="stop-color:#e80000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e80000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3ed_1" x1="430.901939" x2="432.763238" y1="48.464462" y2="52.349174"> + <stop offset="1" style="stop-color:#f52600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e80000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3ed_2" x1="427.960051" x2="429.427616" y1="54.650545" y2="48.132511"> - <stop offset="0" style="stop-color:#f94000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f94000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3ed_2" x1="427.960051" x2="429.427616" y1="54.650545" y2="48.132511"> + <stop offset="1" style="stop-color:#f52600;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f94000;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3ed" points="427.960051 54.650545 437.683992 49.991473 430.901939 48.464462"/> </defs> - <use fill="#f52600" fill-opacity="1" xlink:href="#GT3ed"/> - <use fill="url(#GR3ed_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3ed"/> - <use fill="url(#GR3ed_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3ed"/> - <use fill="url(#GR3ed_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3ed"/> + <path d="M 427.960051,54.650545 L 437.683992,49.991473 430.901939,48.464462 Z" fill="#f52600" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 427.960051,54.650545 L 437.683992,49.991473 430.901939,48.464462 Z" fill="url(#GR3ed_0)" shape-rendering="crispEdges"/> + <path d="M 427.960051,54.650545 L 437.683992,49.991473 430.901939,48.464462 Z" fill="url(#GR3ed_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 427.960051,54.650545 L 437.683992,49.991473 430.901939,48.464462 Z" fill="url(#GR3ed_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3ee_0" x1="430.901939" x2="432.763238" y1="48.464462" y2="52.349174"> - <stop offset="0" style="stop-color:#e80000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e80000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3ee_0" x1="430.901939" x2="432.763238" y1="48.464462" y2="52.349174"> + <stop offset="1" style="stop-color:#f52f00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e80000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3ee_1" x1="418.236109" x2="424.359478" y1="59.309618" y2="62.221682"> - <stop offset="0" style="stop-color:#ff4e00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff4e00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3ee_1" x1="418.236109" x2="424.359478" y1="59.309618" y2="62.221682"> + <stop offset="1" style="stop-color:#f52f00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff4e00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3ee_2" x1="427.960051" x2="426.148369" y1="54.650545" y2="52.534721"> - <stop offset="0" style="stop-color:#f94000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f94000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3ee_2" x1="427.960051" x2="426.148369" y1="54.650545" y2="52.534721"> + <stop offset="1" style="stop-color:#f52f00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f94000;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3ee" points="427.960051 54.650545 430.901939 48.464462 418.236109 59.309618"/> </defs> - <use fill="#f52f00" fill-opacity="1" xlink:href="#GT3ee"/> - <use fill="url(#GR3ee_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3ee"/> - <use fill="url(#GR3ee_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3ee"/> - <use fill="url(#GR3ee_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3ee"/> + <path d="M 427.960051,54.650545 L 430.901939,48.464462 418.236109,59.309618 Z" fill="#f52f00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 427.960051,54.650545 L 430.901939,48.464462 418.236109,59.309618 Z" fill="url(#GR3ee_0)" shape-rendering="crispEdges"/> + <path d="M 427.960051,54.650545 L 430.901939,48.464462 418.236109,59.309618 Z" fill="url(#GR3ee_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 427.960051,54.650545 L 430.901939,48.464462 418.236109,59.309618 Z" fill="url(#GR3ee_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3ef_0" x1="418.236109" x2="424.359478" y1="59.309618" y2="62.221682"> - <stop offset="0" style="stop-color:#ff4e00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff4e00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3ef_0" x1="418.236109" x2="424.359478" y1="59.309618" y2="62.221682"> + <stop offset="1" style="stop-color:#fd5b00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff4e00;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3ef_1" x1="425.018162" x2="423.156863" y1="60.836628" y2="56.951916"> - <stop offset="0" style="stop-color:#ff8200;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff8200;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3ef_1" x1="425.018162" x2="423.156863" y1="60.836628" y2="56.951916"> + <stop offset="1" style="stop-color:#fd5b00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff8200;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3ef_2" x1="427.960051" x2="426.492485" y1="54.650545" y2="61.168579"> - <stop offset="0" style="stop-color:#f94000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#f94000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3ef_2" x1="427.960051" x2="426.492485" y1="54.650545" y2="61.168579"> + <stop offset="1" style="stop-color:#fd5b00;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#f94000;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3ef" points="427.960051 54.650545 418.236109 59.309618 425.018162 60.836628"/> </defs> - <use fill="#fd5b00" fill-opacity="1" xlink:href="#GT3ef"/> - <use fill="url(#GR3ef_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3ef"/> - <use fill="url(#GR3ef_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3ef"/> - <use fill="url(#GR3ef_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3ef"/> + <path d="M 427.960051,54.650545 L 418.236109,59.309618 425.018162,60.836628 Z" fill="#fd5b00" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 427.960051,54.650545 L 418.236109,59.309618 425.018162,60.836628 Z" fill="url(#GR3ef_0)" shape-rendering="crispEdges"/> + <path d="M 427.960051,54.650545 L 418.236109,59.309618 425.018162,60.836628 Z" fill="url(#GR3ef_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 427.960051,54.650545 L 418.236109,59.309618 425.018162,60.836628 Z" fill="url(#GR3ef_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3f0_0" x1="437.683992" x2="437.279207" y1="49.991473" y2="47.449101"> - <stop offset="0" style="stop-color:#ff3000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff3000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3f0_0" x1="437.683992" x2="437.279207" y1="49.991473" y2="47.449101"> + <stop offset="1" style="stop-color:#d21400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff3000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3f0_1" x1="451.657347" x2="447.923776" y1="45.159877" y2="40.937374"> - <stop offset="0" style="stop-color:#b20000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b20000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3f0_1" x1="451.657347" x2="447.923776" y1="45.159877" y2="40.937374"> + <stop offset="1" style="stop-color:#d21400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b20000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3f0_2" x1="441.279643" x2="441.877579" y1="46.81217" y2="48.541447"> - <stop offset="0" style="stop-color:#c60c00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c60c00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3f0_2" x1="441.279643" x2="441.877579" y1="46.81217" y2="48.541447"> + <stop offset="1" style="stop-color:#d21400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c60c00;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3f0" points="441.279643 46.81217 437.683992 49.991473 451.657347 45.159877"/> </defs> - <use fill="#d21400" fill-opacity="1" xlink:href="#GT3f0"/> - <use fill="url(#GR3f0_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3f0"/> - <use fill="url(#GR3f0_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3f0"/> - <use fill="url(#GR3f0_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3f0"/> + <path d="M 441.279643,46.81217 L 437.683992,49.991473 451.657347,45.159877 Z" fill="#d21400" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.279643,46.81217 L 437.683992,49.991473 451.657347,45.159877 Z" fill="url(#GR3f0_0)" shape-rendering="crispEdges"/> + <path d="M 441.279643,46.81217 L 437.683992,49.991473 451.657347,45.159877 Z" fill="url(#GR3f0_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.279643,46.81217 L 437.683992,49.991473 451.657347,45.159877 Z" fill="url(#GR3f0_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3f1_0" x1="451.657347" x2="447.923776" y1="45.159877" y2="40.937374"> - <stop offset="0" style="stop-color:#b20000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#b20000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3f1_0" x1="451.657347" x2="447.923776" y1="45.159877" y2="40.937374"> + <stop offset="1" style="stop-color:#a80400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#b20000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3f1_1" x1="444.875294" x2="445.280079" y1="43.632866" y2="46.175238"> - <stop offset="0" style="stop-color:#800000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#800000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3f1_1" x1="444.875294" x2="445.280079" y1="43.632866" y2="46.175238"> + <stop offset="1" style="stop-color:#a80400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#800000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3f1_2" x1="441.279643" x2="442.134425" y1="46.81217" y2="43.015747"> - <stop offset="0" style="stop-color:#c60c00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c60c00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3f1_2" x1="441.279643" x2="442.134425" y1="46.81217" y2="43.015747"> + <stop offset="1" style="stop-color:#a80400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c60c00;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3f1" points="441.279643 46.81217 451.657347 45.159877 444.875294 43.632866"/> </defs> - <use fill="#a80400" fill-opacity="1" xlink:href="#GT3f1"/> - <use fill="url(#GR3f1_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3f1"/> - <use fill="url(#GR3f1_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3f1"/> - <use fill="url(#GR3f1_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3f1"/> + <path d="M 441.279643,46.81217 L 451.657347,45.159877 444.875294,43.632866 Z" fill="#a80400" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.279643,46.81217 L 451.657347,45.159877 444.875294,43.632866 Z" fill="url(#GR3f1_0)" shape-rendering="crispEdges"/> + <path d="M 441.279643,46.81217 L 451.657347,45.159877 444.875294,43.632866 Z" fill="url(#GR3f1_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.279643,46.81217 L 451.657347,45.159877 444.875294,43.632866 Z" fill="url(#GR3f1_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3f2_0" x1="444.875294" x2="445.280079" y1="43.632866" y2="46.175238"> - <stop offset="0" style="stop-color:#800000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#800000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3f2_0" x1="444.875294" x2="445.280079" y1="43.632866" y2="46.175238"> + <stop offset="1" style="stop-color:#ba0400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#800000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3f2_1" x1="430.901939" x2="434.63551" y1="48.464462" y2="52.686965"> - <stop offset="0" style="stop-color:#e80000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e80000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3f2_1" x1="430.901939" x2="434.63551" y1="48.464462" y2="52.686965"> + <stop offset="1" style="stop-color:#ba0400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e80000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3f2_2" x1="441.279643" x2="440.681707" y1="46.81217" y2="45.082892"> - <stop offset="0" style="stop-color:#c60c00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c60c00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3f2_2" x1="441.279643" x2="440.681707" y1="46.81217" y2="45.082892"> + <stop offset="1" style="stop-color:#ba0400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c60c00;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3f2" points="441.279643 46.81217 444.875294 43.632866 430.901939 48.464462"/> </defs> - <use fill="#ba0400" fill-opacity="1" xlink:href="#GT3f2"/> - <use fill="url(#GR3f2_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3f2"/> - <use fill="url(#GR3f2_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3f2"/> - <use fill="url(#GR3f2_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3f2"/> + <path d="M 441.279643,46.81217 L 444.875294,43.632866 430.901939,48.464462 Z" fill="#ba0400" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.279643,46.81217 L 444.875294,43.632866 430.901939,48.464462 Z" fill="url(#GR3f2_0)" shape-rendering="crispEdges"/> + <path d="M 441.279643,46.81217 L 444.875294,43.632866 430.901939,48.464462 Z" fill="url(#GR3f2_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.279643,46.81217 L 444.875294,43.632866 430.901939,48.464462 Z" fill="url(#GR3f2_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> <defs> - <linearGradient id="GR3f3_0" x1="430.901939" x2="434.63551" y1="48.464462" y2="52.686965"> - <stop offset="0" style="stop-color:#e80000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#e80000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3f3_0" x1="430.901939" x2="434.63551" y1="48.464462" y2="52.686965"> + <stop offset="1" style="stop-color:#e41400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#e80000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3f3_1" x1="437.683992" x2="437.279207" y1="49.991473" y2="47.449101"> - <stop offset="0" style="stop-color:#ff3000;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#ff3000;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3f3_1" x1="437.683992" x2="437.279207" y1="49.991473" y2="47.449101"> + <stop offset="1" style="stop-color:#e41400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#ff3000;stop-opacity:0;"/> </linearGradient> - <linearGradient id="GR3f3_2" x1="441.279643" x2="440.424861" y1="46.81217" y2="50.608592"> - <stop offset="0" style="stop-color:#c60c00;stop-opacity:1;"/> - <stop offset="1" style="stop-color:#c60c00;stop-opacity:0;"/> + <linearGradient gradientUnits="userSpaceOnUse" id="GR3f3_2" x1="441.279643" x2="440.424861" y1="46.81217" y2="50.608592"> + <stop offset="1" style="stop-color:#e41400;stop-opacity:1;"/> + <stop offset="0" style="stop-color:#c60c00;stop-opacity:0;"/> </linearGradient> - <polygon id="GT3f3" points="441.279643 46.81217 430.901939 48.464462 437.683992 49.991473"/> </defs> - <use fill="#e41400" fill-opacity="1" xlink:href="#GT3f3"/> - <use fill="url(#GR3f3_0)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3f3"/> - <use fill="url(#GR3f3_1)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3f3"/> - <use fill="url(#GR3f3_2)" fill-opacity="1" filter="url(#colorAdd)" xlink:href="#GT3f3"/> + <path d="M 441.279643,46.81217 L 430.901939,48.464462 437.683992,49.991473 Z" fill="#e41400" fill-opacity="1" shape-rendering="crispEdges"/> + <g filter="url(#colorMat)" shape-rendering="crispEdges" stroke="none" stroke-width="0"> + <path d="M 441.279643,46.81217 L 430.901939,48.464462 437.683992,49.991473 Z" fill="url(#GR3f3_0)" shape-rendering="crispEdges"/> + <path d="M 441.279643,46.81217 L 430.901939,48.464462 437.683992,49.991473 Z" fill="url(#GR3f3_1)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + <path d="M 441.279643,46.81217 L 430.901939,48.464462 437.683992,49.991473 Z" fill="url(#GR3f3_2)" filter="url(#colorAdd)" shape-rendering="crispEdges"/> + </g> </g> </g> <g id="patch_13"> @@ -22956,13 +23975,13 @@ L 518.4 43.2 </g> </g> <defs> - <clipPath id="p5e7a54fa6f"> + <clipPath id="pbe138f2136"> <rect height="345.6" width="131.294118" x="72" y="43.2"/> </clipPath> - <clipPath id="p5f11f07486"> + <clipPath id="p7bc635573d"> <rect height="345.6" width="131.294118" x="229.552941" y="43.2"/> </clipPath> - <clipPath id="pe29b2f9dcc"> + <clipPath id="pea2653665e"> <rect height="345.6" width="131.294118" x="387.105882" y="43.2"/> </clipPath> </defs> From 6d8c9c185f82817398a7de3356cddf60070c705f Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Sat, 14 Jul 2018 15:06:59 -0700 Subject: [PATCH 0986/1161] FIX: CL avoid fully collapsed axes --- lib/matplotlib/_constrained_layout.py | 47 ++++++++++++++++++++------- 1 file changed, 36 insertions(+), 11 deletions(-) diff --git a/lib/matplotlib/_constrained_layout.py b/lib/matplotlib/_constrained_layout.py index 3dc604c51afa..f949fc1beadf 100644 --- a/lib/matplotlib/_constrained_layout.py +++ b/lib/matplotlib/_constrained_layout.py @@ -66,6 +66,19 @@ def _in_same_row(rownum0min, rownum0max, rownumCmin, rownumCmax): or rownumCmin <= rownum0max <= rownumCmax) +def _axes_all_finite_sized(fig): + """ + helper function to make sure all axes in the + figure have a finite width and height. If not, return False + """ + for ax in fig.axes: + if ax._layoutbox is not None: + newpos = ax._poslayoutbox.get_rect() + if newpos[2] <= 0 or newpos[3] <= 0: + return False + return True + + ###################################################### def do_constrained_layout(fig, renderer, h_pad, w_pad, hspace=None, wspace=None): @@ -132,6 +145,14 @@ def do_constrained_layout(fig, renderer, h_pad, w_pad, ''' + try: + if fig.canvas.toolbar._active in ('PAN', 'ZOOM'): + # don't do constrained layout during zoom and pan. + return + except AttributeError: + # not toolbar, or no _active attribute.. + pass + invTransFig = fig.transFigure.inverted().transform_bbox # list of unique gridspecs that contain child axes: @@ -187,8 +208,6 @@ def do_constrained_layout(fig, renderer, h_pad, w_pad, figlb = fig._layoutbox for child in figlb.children: if child._is_gridspec_layoutbox(): - # farm the gridspec layout out. - # # This routine makes all the subplot spec containers # have the correct arrangement. It just stacks the # subplot layoutboxes in the correct order... @@ -199,15 +218,21 @@ def do_constrained_layout(fig, renderer, h_pad, w_pad, fig._layoutbox.constrained_layout_called += 1 fig._layoutbox.update_variables() - # Now set the position of the axes... - for ax in fig.axes: - if ax._layoutbox is not None: - newpos = ax._poslayoutbox.get_rect() - # Now set the new position. - # ax.set_position will zero out the layout for - # this axis, allowing users to hard-code the position, - # so this does the same w/o zeroing layout. - ax._set_position(newpos, which='original') + + # check if any axes collapsed to zero. If not, don't change positions: + if _axes_all_finite_sized(fig): + # Now set the position of the axes... + for ax in fig.axes: + if ax._layoutbox is not None: + newpos = ax._poslayoutbox.get_rect() + # Now set the new position. + # ax.set_position will zero out the layout for + # this axis, allowing users to hard-code the position, + # so this does the same w/o zeroing layout. + ax._set_position(newpos, which='original') + else: + warnings.warn('constrained_layout not applied. At least ' + 'one axes collapsed to zero width or height.') def _make_ghost_gridspec_slots(fig, gs): From 99b2957bcfbebfc8ebe708e893eab4ba223fc645 Mon Sep 17 00:00:00 2001 From: joelostblom <joel.ostblom@gmail.com> Date: Sat, 14 Jul 2018 18:45:12 -0400 Subject: [PATCH 0987/1161] Sort named colors vertically for easier comparison of similar colors --- examples/color/named_colors.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/examples/color/named_colors.py b/examples/color/named_colors.py index 80ea924eb425..c7348bfba8ea 100644 --- a/examples/color/named_colors.py +++ b/examples/color/named_colors.py @@ -25,9 +25,9 @@ n = len(sorted_names) ncols = 4 -nrows = n // ncols + 1 +nrows = n // ncols -fig, ax = plt.subplots(figsize=(8, 5)) +fig, ax = plt.subplots(figsize=(12, 10)) # Get height and width X, Y = fig.get_dpi() * fig.get_size_inches() @@ -35,8 +35,8 @@ w = X / ncols for i, name in enumerate(sorted_names): - col = i % ncols - row = i // ncols + row = i % nrows + col = i // nrows y = Y - (row * h) - h xi_line = w * (col + 0.05) @@ -48,7 +48,7 @@ verticalalignment='center') ax.hlines(y + h * 0.1, xi_line, xf_line, - color=colors[name], linewidth=(h * 0.6)) + color=colors[name], linewidth=(h * 0.8)) ax.set_xlim(0, X) ax.set_ylim(0, Y) From de0af533ef5ddada23aeda1ed382a2402eefc65f Mon Sep 17 00:00:00 2001 From: joelostblom <joel.ostblom@gmail.com> Date: Sat, 14 Jul 2018 19:43:02 -0400 Subject: [PATCH 0988/1161] Shrink figure size --- examples/color/named_colors.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/color/named_colors.py b/examples/color/named_colors.py index c7348bfba8ea..a0f6d1cb7dc3 100644 --- a/examples/color/named_colors.py +++ b/examples/color/named_colors.py @@ -27,7 +27,7 @@ ncols = 4 nrows = n // ncols -fig, ax = plt.subplots(figsize=(12, 10)) +fig, ax = plt.subplots(figsize=(9, 7.5)) # Get height and width X, Y = fig.get_dpi() * fig.get_size_inches() From cc0df1fd54e3234195868408f4b4c72fc7c20e33 Mon Sep 17 00:00:00 2001 From: joelostblom <joel.ostblom@gmail.com> Date: Sat, 14 Jul 2018 19:58:10 -0400 Subject: [PATCH 0989/1161] Adjust formatting to look good outside the jupyter notebook --- examples/color/named_colors.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/color/named_colors.py b/examples/color/named_colors.py index a0f6d1cb7dc3..5a16c2d813f1 100644 --- a/examples/color/named_colors.py +++ b/examples/color/named_colors.py @@ -27,7 +27,7 @@ ncols = 4 nrows = n // ncols -fig, ax = plt.subplots(figsize=(9, 7.5)) +fig, ax = plt.subplots(figsize=(9, 8)) # Get height and width X, Y = fig.get_dpi() * fig.get_size_inches() @@ -43,12 +43,12 @@ xf_line = w * (col + 0.25) xi_text = w * (col + 0.3) - ax.text(xi_text, y, name, fontsize=(h * 0.8), + ax.text(xi_text, y, name, fontsize=(h * 0.5), horizontalalignment='left', verticalalignment='center') ax.hlines(y + h * 0.1, xi_line, xf_line, - color=colors[name], linewidth=(h * 0.8)) + color=colors[name], linewidth=(h * 0.6)) ax.set_xlim(0, X) ax.set_ylim(0, Y) From 668f260d31002c19752c9617da1b7786c6fab991 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Sun, 15 Jul 2018 01:32:11 -0500 Subject: [PATCH 0990/1161] DOC: tweak reviewer guidelines. - include link to Brett Cannon talk - re-order bullet points --- doc/devel/coding_guide.rst | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/doc/devel/coding_guide.rst b/doc/devel/coding_guide.rst index 1e47b9511416..0dfee3837b13 100644 --- a/doc/devel/coding_guide.rst +++ b/doc/devel/coding_guide.rst @@ -41,34 +41,39 @@ Documentation PR Review guidelines ==================== +* Be patient and `kind <https://youtu.be/tzFWz5fiVKU?t=49m30s>`__ with + contributors. + * If you have commit rights, then you are trusted to use them. Please help review and merge PRs! -* For code changes (anything in ``src`` or ``lib``) two developers - (those with commit rights) should review all pull requests. If you - are the first to review a PR and approve of the changes use the - github `'approve review' +* Documentation and examples may be merged by the first reviewer. Use + the threshold "is this better than it was?" as the review criteria. + +* For code changes (anything in ``src`` or ``lib``) at least two + developers (those with commit rights) should review all pull + requests. If you are the first to review a PR and approve of the + changes use the github `'approve review' <https://help.github.com/articles/reviewing-changes-in-pull-requests/>`__ tool to mark it as such. If you are a subsequent reviewer and you approve, either merge (and backport if needed) or select ``'approve - review'``. + review'`` if you think further review is required. Ensure that all API changes are documented in :file:`doc/api/api_changes` and significant new features have and entry in :file:`doc/user/whats_new`. -* Documentation and examples may be merged by the first reviewer. Use - the threshold "is this better than it was?" as the review criteria. - -* Make sure the Travis, Appvyor, and codecov tests are passing before - merging. +* Make sure the Travis, Appvyor, circle, and codecov tests are passing + before merging. - Whenever a pull request is created or updated, Travis and Appveyor automatically runs the test suite on all versions of Python supported by Matplotlib. The `tox` support in Matplotlib may be useful for testing locally. -* Do not self merge, except for 'small' patches to un-break the CI. +* Do not self merge, except for 'small' patches to un-break the CI or + when another reviewer explicitly allows it (ex, "Approve modulo CI + passing, may self merge when green") * Squashing is case-by-case. The balance is between burden on the contributor, keeping a relatively clean history, and keeping a @@ -76,12 +81,13 @@ PR Review guidelines about it is to eliminate binary files (ex multiple test image re-generations) and to remove upstream merges. -* Be patient with contributors. - * Do not let perfect be the enemy of the good, particularly for documentation or example PRs. If you find yourself making many - small suggestions, either open a PR against the original branch or - merge the PR and then open a new PR against upstream. + small suggestions, either open a PR against the original branch, + push changes to the contributor branch, or merge the PR and then + open a new PR against upstream. + + Branches and Backports From 3466a47c94730f9a1869b345d64b5acacb9d7a05 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Sun, 15 Jul 2018 09:26:51 -0500 Subject: [PATCH 0991/1161] DOC: tweak reviewer guide a bit more - encourage second review (even if followed by an immediate merge) - add note about etiquette for pushing to contributor branches --- doc/devel/coding_guide.rst | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/doc/devel/coding_guide.rst b/doc/devel/coding_guide.rst index 0dfee3837b13..d6e79a8741ff 100644 --- a/doc/devel/coding_guide.rst +++ b/doc/devel/coding_guide.rst @@ -55,9 +55,9 @@ PR Review guidelines requests. If you are the first to review a PR and approve of the changes use the github `'approve review' <https://help.github.com/articles/reviewing-changes-in-pull-requests/>`__ - tool to mark it as such. If you are a subsequent reviewer and you - approve, either merge (and backport if needed) or select ``'approve - review'`` if you think further review is required. + tool to mark it as such. If you are a subsequent reviewer please + approve the review and if you think no more review is needed, merge + the PR. Ensure that all API changes are documented in :file:`doc/api/api_changes` and significant new features have and @@ -87,6 +87,12 @@ PR Review guidelines push changes to the contributor branch, or merge the PR and then open a new PR against upstream. +* If you push to a contributor branch leave a comment explaining what + you did, ex "I took the liberty of pushing a small clean-up PR to + your branch, thanks for your work.". If you are going to make + substantial changes to the code or intent of the PR please check + with the contributor first. + From c9ef9c409f5a2aac754b0d01e777e402f28b171b Mon Sep 17 00:00:00 2001 From: Kyle Sunden <sunden@wisc.edu> Date: Sun, 15 Jul 2018 12:43:03 -0500 Subject: [PATCH 0992/1161] Increase tolerance for aarch64 tests --- lib/matplotlib/tests/test_arrow_patches.py | 3 +++ lib/matplotlib/tests/test_axes.py | 7 +++++-- lib/matplotlib/tests/test_collections.py | 2 ++ lib/matplotlib/tests/test_cycles.py | 4 ++++ lib/matplotlib/tests/test_figure.py | 4 +++- lib/matplotlib/tests/test_image.py | 2 ++ lib/matplotlib/tests/test_legend.py | 6 +++++- lib/matplotlib/tests/test_pickle.py | 2 ++ lib/matplotlib/tests/test_scale.py | 2 ++ lib/matplotlib/tests/test_streamplot.py | 2 ++ lib/matplotlib/tests/test_units.py | 4 +++- lib/mpl_toolkits/tests/test_axes_grid1.py | 2 ++ .../tests/test_axisartist_grid_helper_curvelinear.py | 4 +++- 13 files changed, 38 insertions(+), 6 deletions(-) diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py index b1ef1e298ef7..b190b0805a24 100644 --- a/lib/matplotlib/tests/test_arrow_patches.py +++ b/lib/matplotlib/tests/test_arrow_patches.py @@ -1,4 +1,5 @@ import pytest +import platform import matplotlib.pyplot as plt from matplotlib.testing.decorators import image_comparison import matplotlib.patches as mpatches @@ -68,6 +69,7 @@ def __prepare_fancyarrow_dpi_cor_test(): @image_comparison(baseline_images=['fancyarrow_dpi_cor_100dpi'], remove_text=True, extensions=['png'], + tol={'aarch64':0.02}.get(platform.machine(), 0.0), savefig_kwarg=dict(dpi=100)) def test_fancyarrow_dpi_cor_100dpi(): """ @@ -83,6 +85,7 @@ def test_fancyarrow_dpi_cor_100dpi(): @image_comparison(baseline_images=['fancyarrow_dpi_cor_200dpi'], remove_text=True, extensions=['png'], + tol={'aarch64':0.02}.get(platform.machine(), 0.0), savefig_kwarg=dict(dpi=200)) def test_fancyarrow_dpi_cor_200dpi(): """ diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index 22ad9eb89292..aff7c95a5aa3 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -1,6 +1,7 @@ from itertools import product from distutils.version import LooseVersion import io +import platform import datetime @@ -3349,7 +3350,8 @@ def test_vertex_markers(): @image_comparison(baseline_images=['vline_hline_zorder', - 'errorbar_zorder']) + 'errorbar_zorder'], + tol={'aarch64':0.02}.get(platform.machine(), 0.0)) def test_eb_line_zorder(): x = list(range(10)) @@ -5120,7 +5122,8 @@ def test_title_location_roundtrip(): @image_comparison(baseline_images=["loglog"], remove_text=True, - extensions=['png']) + extensions=['png'], + tol={'aarch64':0.02}.get(platform.machine(), 0.0)) def test_loglog(): fig, ax = plt.subplots() x = np.arange(1, 11) diff --git a/lib/matplotlib/tests/test_collections.py b/lib/matplotlib/tests/test_collections.py index 659158f7c4cf..fb9373411fe1 100644 --- a/lib/matplotlib/tests/test_collections.py +++ b/lib/matplotlib/tests/test_collections.py @@ -2,6 +2,7 @@ Tests specific to the collections module. """ import io +import platform import numpy as np from numpy.testing import assert_array_equal, assert_array_almost_equal @@ -441,6 +442,7 @@ def test_barb_limits(): @image_comparison(baseline_images=['EllipseCollection_test_image'], extensions=['png'], + tol={'aarch64':0.02}.get(platform.machine(), 0.0), remove_text=True) def test_EllipseCollection(): # Test basic functionality diff --git a/lib/matplotlib/tests/test_cycles.py b/lib/matplotlib/tests/test_cycles.py index f5ae512971ff..636f6dd8b928 100644 --- a/lib/matplotlib/tests/test_cycles.py +++ b/lib/matplotlib/tests/test_cycles.py @@ -1,4 +1,5 @@ import warnings +import platform from matplotlib.testing.decorators import image_comparison import matplotlib.pyplot as plt @@ -9,6 +10,7 @@ @image_comparison(baseline_images=['color_cycle_basic'], remove_text=True, + tol={'aarch64':0.02}.get(platform.machine(), 0.0), extensions=['png']) def test_colorcycle_basic(): fig, ax = plt.subplots() @@ -26,6 +28,7 @@ def test_colorcycle_basic(): @image_comparison(baseline_images=['marker_cycle', 'marker_cycle'], + tol={'aarch64':0.02}.get(platform.machine(), 0.0), remove_text=True, extensions=['png']) def test_marker_cycle(): fig, ax = plt.subplots() @@ -59,6 +62,7 @@ def test_marker_cycle(): @image_comparison(baseline_images=['lineprop_cycle_basic'], remove_text=True, + tol={'aarch64':0.02}.get(platform.machine(), 0.0), extensions=['png']) def test_linestylecycle_basic(): fig, ax = plt.subplots() diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py index 3e07838da984..e706179a2f42 100644 --- a/lib/matplotlib/tests/test_figure.py +++ b/lib/matplotlib/tests/test_figure.py @@ -1,5 +1,6 @@ import sys import warnings +import platform from matplotlib import rcParams from matplotlib.testing.decorators import image_comparison @@ -12,7 +13,8 @@ import pytest -@image_comparison(baseline_images=['figure_align_labels']) +@image_comparison(baseline_images=['figure_align_labels'], + tol={'aarch64':0.02}.get(platform.machine(), 0.0)) def test_align_labels(): # Check the figure.align_labels() command fig = plt.figure(tight_layout=True) diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py index d47e2c9b7748..705b29d54668 100644 --- a/lib/matplotlib/tests/test_image.py +++ b/lib/matplotlib/tests/test_image.py @@ -2,6 +2,7 @@ import io import os import sys +import platform import urllib.request import warnings @@ -759,6 +760,7 @@ def test_imshow_endianess(): @image_comparison(baseline_images=['imshow_masked_interpolation'], + tol={'aarch64':0.02}.get(platform.machine(), 0.0), remove_text=True, style='mpl20') def test_imshow_masked_interpolation(): diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py index 8b3ab373366c..dac3eed34604 100644 --- a/lib/matplotlib/tests/test_legend.py +++ b/lib/matplotlib/tests/test_legend.py @@ -1,5 +1,6 @@ import collections import inspect +import platform from unittest import mock import numpy as np @@ -107,6 +108,7 @@ def test_multiple_keys(): @image_comparison(baseline_images=['rgba_alpha'], + tol={'aarch64':0.02}.get(platform.machine(), 0.0), extensions=['png'], remove_text=True) def test_alpha_rgba(): import matplotlib.pyplot as plt @@ -118,6 +120,7 @@ def test_alpha_rgba(): @image_comparison(baseline_images=['rcparam_alpha'], + tol={'aarch64':0.02}.get(platform.machine(), 0.0), extensions=['png'], remove_text=True) def test_alpha_rcparam(): import matplotlib.pyplot as plt @@ -145,7 +148,8 @@ def test_fancy(): ncol=2, shadow=True, title="My legend", numpoints=1) -@image_comparison(baseline_images=['framealpha'], remove_text=True) +@image_comparison(baseline_images=['framealpha'], remove_text=True, + tol={'aarch64':0.02}.get(platform.machine(), 0.0)) def test_framealpha(): x = np.linspace(1, 100, 100) y = x diff --git a/lib/matplotlib/tests/test_pickle.py b/lib/matplotlib/tests/test_pickle.py index 029fd8bd37e6..fbe31b56d495 100644 --- a/lib/matplotlib/tests/test_pickle.py +++ b/lib/matplotlib/tests/test_pickle.py @@ -1,4 +1,5 @@ import pickle +import platform from io import BytesIO import numpy as np @@ -43,6 +44,7 @@ def test_simple(): @image_comparison(baseline_images=['multi_pickle'], extensions=['png'], remove_text=True, + tol={'aarch64':0.02}.get(platform.machine(), 0.0), style='mpl20') def test_complete(): fig = plt.figure('Figure with a label?', figsize=(10, 6)) diff --git a/lib/matplotlib/tests/test_scale.py b/lib/matplotlib/tests/test_scale.py index aeab44e026dd..dd5a47a893c2 100644 --- a/lib/matplotlib/tests/test_scale.py +++ b/lib/matplotlib/tests/test_scale.py @@ -3,6 +3,7 @@ from matplotlib.scale import Log10Transform, InvertedLog10Transform import numpy as np import io +import platform import pytest @@ -98,6 +99,7 @@ def test_logscale_transform_repr(): @image_comparison(baseline_images=['logscale_nonpos_values'], remove_text=True, + tol={'aarch64':0.02}.get(platform.machine(), 0.0), extensions=['png'], style='mpl20') def test_logscale_nonpos_values(): np.random.seed(19680801) diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py index c235e98fc99a..af8269ad1e15 100644 --- a/lib/matplotlib/tests/test_streamplot.py +++ b/lib/matplotlib/tests/test_streamplot.py @@ -1,4 +1,5 @@ import sys +import platform import numpy as np from numpy.testing import assert_array_almost_equal @@ -48,6 +49,7 @@ def test_colormap(): @image_comparison(baseline_images=['streamplot_linewidth'], + tol={'aarch64':0.02}.get(platform.machine(), 0.0), remove_text=True, style='mpl20') def test_linewidth(): X, Y, U, V = velocity_field() diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py index 3f8e9cefaaa5..a028cedf55a3 100644 --- a/lib/matplotlib/tests/test_units.py +++ b/lib/matplotlib/tests/test_units.py @@ -1,4 +1,3 @@ -import datetime from unittest.mock import MagicMock from matplotlib.cbook import iterable @@ -7,6 +6,7 @@ import matplotlib.units as munits import numpy as np import datetime +import platform # Basic class that wraps numpy array and has units @@ -41,6 +41,7 @@ def __array__(self): # Tests that the conversion machinery works properly for classes that # work as a facade over numpy arrays (like pint) @image_comparison(baseline_images=['plot_pint'], + tol={'aarch64':0.02}.get(platform.machine(), 0.0), extensions=['png'], remove_text=False, style='mpl20') def test_numpy_facade(): # Create an instance of the conversion interface and @@ -85,6 +86,7 @@ def convert(value, unit, axis): # Tests gh-8908 @image_comparison(baseline_images=['plot_masked_units'], + tol={'aarch64':0.02}.get(platform.machine(), 0.0), extensions=['png'], remove_text=True, style='mpl20') def test_plot_masked_units(): data = np.linspace(-5, 5) diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py index fe6c4bbb7adb..932a3becc009 100644 --- a/lib/mpl_toolkits/tests/test_axes_grid1.py +++ b/lib/mpl_toolkits/tests/test_axes_grid1.py @@ -21,6 +21,7 @@ from itertools import product import pytest +import platform import numpy as np from numpy.testing import assert_array_equal, assert_array_almost_equal @@ -358,6 +359,7 @@ def test_zooming_with_inverted_axes(): @image_comparison(baseline_images=['anchored_direction_arrows'], + tol={'aarch64':0.02}.get(platform.machine(), 0.0), extensions=['png']) def test_anchored_direction_arrows(): fig, ax = plt.subplots() diff --git a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py index e3339c2185d2..2acc60a40fe7 100644 --- a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py +++ b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py @@ -1,4 +1,5 @@ import numpy as np +import platform import matplotlib.pyplot as plt from matplotlib.path import Path @@ -84,7 +85,8 @@ def inverted(self): @image_comparison(baseline_images=['polar_box'], - extensions=['png'], style='default', tol=0.03) + tol={'aarch64':0.04}.get(platform.machine(), 0.03), + extensions=['png'], style='default') def test_polar_box(): fig = plt.figure(figsize=(5, 5)) From 6f301685e9c06d2edede18f18d2b5f3144b4bf6a Mon Sep 17 00:00:00 2001 From: Kyle Sunden <sunden@wisc.edu> Date: Sun, 15 Jul 2018 14:36:40 -0500 Subject: [PATCH 0993/1161] Space after : --- lib/matplotlib/tests/test_arrow_patches.py | 4 ++-- lib/matplotlib/tests/test_axes.py | 4 ++-- lib/matplotlib/tests/test_collections.py | 2 +- lib/matplotlib/tests/test_cycles.py | 6 +++--- lib/matplotlib/tests/test_figure.py | 2 +- lib/matplotlib/tests/test_image.py | 2 +- lib/matplotlib/tests/test_legend.py | 6 +++--- lib/matplotlib/tests/test_pickle.py | 2 +- lib/matplotlib/tests/test_scale.py | 2 +- lib/matplotlib/tests/test_streamplot.py | 2 +- lib/matplotlib/tests/test_units.py | 4 ++-- lib/mpl_toolkits/tests/test_axes_grid1.py | 2 +- .../tests/test_axisartist_grid_helper_curvelinear.py | 2 +- 13 files changed, 20 insertions(+), 20 deletions(-) diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py index b190b0805a24..f678fbed36b9 100644 --- a/lib/matplotlib/tests/test_arrow_patches.py +++ b/lib/matplotlib/tests/test_arrow_patches.py @@ -69,7 +69,7 @@ def __prepare_fancyarrow_dpi_cor_test(): @image_comparison(baseline_images=['fancyarrow_dpi_cor_100dpi'], remove_text=True, extensions=['png'], - tol={'aarch64':0.02}.get(platform.machine(), 0.0), + tol={'aarch64': 0.02}.get(platform.machine(), 0.0), savefig_kwarg=dict(dpi=100)) def test_fancyarrow_dpi_cor_100dpi(): """ @@ -85,7 +85,7 @@ def test_fancyarrow_dpi_cor_100dpi(): @image_comparison(baseline_images=['fancyarrow_dpi_cor_200dpi'], remove_text=True, extensions=['png'], - tol={'aarch64':0.02}.get(platform.machine(), 0.0), + tol={'aarch64': 0.02}.get(platform.machine(), 0.0), savefig_kwarg=dict(dpi=200)) def test_fancyarrow_dpi_cor_200dpi(): """ diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index aff7c95a5aa3..b952914c86f2 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -3351,7 +3351,7 @@ def test_vertex_markers(): @image_comparison(baseline_images=['vline_hline_zorder', 'errorbar_zorder'], - tol={'aarch64':0.02}.get(platform.machine(), 0.0)) + tol={'aarch64': 0.02}.get(platform.machine(), 0.0)) def test_eb_line_zorder(): x = list(range(10)) @@ -5123,7 +5123,7 @@ def test_title_location_roundtrip(): @image_comparison(baseline_images=["loglog"], remove_text=True, extensions=['png'], - tol={'aarch64':0.02}.get(platform.machine(), 0.0)) + tol={'aarch64': 0.02}.get(platform.machine(), 0.0)) def test_loglog(): fig, ax = plt.subplots() x = np.arange(1, 11) diff --git a/lib/matplotlib/tests/test_collections.py b/lib/matplotlib/tests/test_collections.py index fb9373411fe1..6812ee1ad427 100644 --- a/lib/matplotlib/tests/test_collections.py +++ b/lib/matplotlib/tests/test_collections.py @@ -442,7 +442,7 @@ def test_barb_limits(): @image_comparison(baseline_images=['EllipseCollection_test_image'], extensions=['png'], - tol={'aarch64':0.02}.get(platform.machine(), 0.0), + tol={'aarch64': 0.02}.get(platform.machine(), 0.0), remove_text=True) def test_EllipseCollection(): # Test basic functionality diff --git a/lib/matplotlib/tests/test_cycles.py b/lib/matplotlib/tests/test_cycles.py index 636f6dd8b928..8184d3eeeb0c 100644 --- a/lib/matplotlib/tests/test_cycles.py +++ b/lib/matplotlib/tests/test_cycles.py @@ -10,7 +10,7 @@ @image_comparison(baseline_images=['color_cycle_basic'], remove_text=True, - tol={'aarch64':0.02}.get(platform.machine(), 0.0), + tol={'aarch64': 0.02}.get(platform.machine(), 0.0), extensions=['png']) def test_colorcycle_basic(): fig, ax = plt.subplots() @@ -28,7 +28,7 @@ def test_colorcycle_basic(): @image_comparison(baseline_images=['marker_cycle', 'marker_cycle'], - tol={'aarch64':0.02}.get(platform.machine(), 0.0), + tol={'aarch64': 0.02}.get(platform.machine(), 0.0), remove_text=True, extensions=['png']) def test_marker_cycle(): fig, ax = plt.subplots() @@ -62,7 +62,7 @@ def test_marker_cycle(): @image_comparison(baseline_images=['lineprop_cycle_basic'], remove_text=True, - tol={'aarch64':0.02}.get(platform.machine(), 0.0), + tol={'aarch64': 0.02}.get(platform.machine(), 0.0), extensions=['png']) def test_linestylecycle_basic(): fig, ax = plt.subplots() diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py index e706179a2f42..fd06675e9dad 100644 --- a/lib/matplotlib/tests/test_figure.py +++ b/lib/matplotlib/tests/test_figure.py @@ -14,7 +14,7 @@ @image_comparison(baseline_images=['figure_align_labels'], - tol={'aarch64':0.02}.get(platform.machine(), 0.0)) + tol={'aarch64': 0.02}.get(platform.machine(), 0.0)) def test_align_labels(): # Check the figure.align_labels() command fig = plt.figure(tight_layout=True) diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py index 705b29d54668..8baa2f0ae94f 100644 --- a/lib/matplotlib/tests/test_image.py +++ b/lib/matplotlib/tests/test_image.py @@ -760,7 +760,7 @@ def test_imshow_endianess(): @image_comparison(baseline_images=['imshow_masked_interpolation'], - tol={'aarch64':0.02}.get(platform.machine(), 0.0), + tol={'aarch64': 0.02}.get(platform.machine(), 0.0), remove_text=True, style='mpl20') def test_imshow_masked_interpolation(): diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py index dac3eed34604..1562e14a34c3 100644 --- a/lib/matplotlib/tests/test_legend.py +++ b/lib/matplotlib/tests/test_legend.py @@ -108,7 +108,7 @@ def test_multiple_keys(): @image_comparison(baseline_images=['rgba_alpha'], - tol={'aarch64':0.02}.get(platform.machine(), 0.0), + tol={'aarch64': 0.02}.get(platform.machine(), 0.0), extensions=['png'], remove_text=True) def test_alpha_rgba(): import matplotlib.pyplot as plt @@ -120,7 +120,7 @@ def test_alpha_rgba(): @image_comparison(baseline_images=['rcparam_alpha'], - tol={'aarch64':0.02}.get(platform.machine(), 0.0), + tol={'aarch64': 0.02}.get(platform.machine(), 0.0), extensions=['png'], remove_text=True) def test_alpha_rcparam(): import matplotlib.pyplot as plt @@ -149,7 +149,7 @@ def test_fancy(): @image_comparison(baseline_images=['framealpha'], remove_text=True, - tol={'aarch64':0.02}.get(platform.machine(), 0.0)) + tol={'aarch64': 0.02}.get(platform.machine(), 0.0)) def test_framealpha(): x = np.linspace(1, 100, 100) y = x diff --git a/lib/matplotlib/tests/test_pickle.py b/lib/matplotlib/tests/test_pickle.py index fbe31b56d495..9cb806c6f1a9 100644 --- a/lib/matplotlib/tests/test_pickle.py +++ b/lib/matplotlib/tests/test_pickle.py @@ -44,7 +44,7 @@ def test_simple(): @image_comparison(baseline_images=['multi_pickle'], extensions=['png'], remove_text=True, - tol={'aarch64':0.02}.get(platform.machine(), 0.0), + tol={'aarch64': 0.02}.get(platform.machine(), 0.0), style='mpl20') def test_complete(): fig = plt.figure('Figure with a label?', figsize=(10, 6)) diff --git a/lib/matplotlib/tests/test_scale.py b/lib/matplotlib/tests/test_scale.py index dd5a47a893c2..ebe5c4de9ed7 100644 --- a/lib/matplotlib/tests/test_scale.py +++ b/lib/matplotlib/tests/test_scale.py @@ -99,7 +99,7 @@ def test_logscale_transform_repr(): @image_comparison(baseline_images=['logscale_nonpos_values'], remove_text=True, - tol={'aarch64':0.02}.get(platform.machine(), 0.0), + tol={'aarch64': 0.02}.get(platform.machine(), 0.0), extensions=['png'], style='mpl20') def test_logscale_nonpos_values(): np.random.seed(19680801) diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py index af8269ad1e15..17c0d1967dc8 100644 --- a/lib/matplotlib/tests/test_streamplot.py +++ b/lib/matplotlib/tests/test_streamplot.py @@ -49,7 +49,7 @@ def test_colormap(): @image_comparison(baseline_images=['streamplot_linewidth'], - tol={'aarch64':0.02}.get(platform.machine(), 0.0), + tol={'aarch64': 0.02}.get(platform.machine(), 0.0), remove_text=True, style='mpl20') def test_linewidth(): X, Y, U, V = velocity_field() diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py index a028cedf55a3..20840d7b8702 100644 --- a/lib/matplotlib/tests/test_units.py +++ b/lib/matplotlib/tests/test_units.py @@ -41,7 +41,7 @@ def __array__(self): # Tests that the conversion machinery works properly for classes that # work as a facade over numpy arrays (like pint) @image_comparison(baseline_images=['plot_pint'], - tol={'aarch64':0.02}.get(platform.machine(), 0.0), + tol={'aarch64': 0.02}.get(platform.machine(), 0.0), extensions=['png'], remove_text=False, style='mpl20') def test_numpy_facade(): # Create an instance of the conversion interface and @@ -86,7 +86,7 @@ def convert(value, unit, axis): # Tests gh-8908 @image_comparison(baseline_images=['plot_masked_units'], - tol={'aarch64':0.02}.get(platform.machine(), 0.0), + tol={'aarch64': 0.02}.get(platform.machine(), 0.0), extensions=['png'], remove_text=True, style='mpl20') def test_plot_masked_units(): data = np.linspace(-5, 5) diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py index 932a3becc009..896ba503f91f 100644 --- a/lib/mpl_toolkits/tests/test_axes_grid1.py +++ b/lib/mpl_toolkits/tests/test_axes_grid1.py @@ -359,7 +359,7 @@ def test_zooming_with_inverted_axes(): @image_comparison(baseline_images=['anchored_direction_arrows'], - tol={'aarch64':0.02}.get(platform.machine(), 0.0), + tol={'aarch64': 0.02}.get(platform.machine(), 0.0), extensions=['png']) def test_anchored_direction_arrows(): fig, ax = plt.subplots() diff --git a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py index 2acc60a40fe7..0f5e86322538 100644 --- a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py +++ b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py @@ -85,7 +85,7 @@ def inverted(self): @image_comparison(baseline_images=['polar_box'], - tol={'aarch64':0.04}.get(platform.machine(), 0.03), + tol={'aarch64': 0.04}.get(platform.machine(), 0.03), extensions=['png'], style='default') def test_polar_box(): fig = plt.figure(figsize=(5, 5)) From 408235524cd9c3af296523d154c7f0df28fec26a Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Mon, 16 Jul 2018 10:32:59 +0200 Subject: [PATCH 0994/1161] Add comment re: use of lru_cache in PsfontsMap. --- lib/matplotlib/dviread.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/matplotlib/dviread.py b/lib/matplotlib/dviread.py index 43d9094248a7..e99790d3433a 100644 --- a/lib/matplotlib/dviread.py +++ b/lib/matplotlib/dviread.py @@ -812,6 +812,9 @@ class PsfontsMap(object): """ __slots__ = ('_font', '_filename') + # Create a filename -> PsfontsMap cache, so that calling + # `PsfontsMap(filename)` with the same filename a second time immediately + # returns the same object. @lru_cache() def __new__(cls, filename): self = object.__new__(cls) From 252f4135799027f9ae887e8fd87e3af906187a22 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Thu, 27 Jul 2017 22:32:35 -0700 Subject: [PATCH 0995/1161] Let QPaintEvent tell us what region to repaint. --- lib/matplotlib/backends/backend_qt5.py | 2 + lib/matplotlib/backends/backend_qt5agg.py | 54 ++++++++++----------- lib/matplotlib/backends/backend_qt5cairo.py | 3 ++ 3 files changed, 30 insertions(+), 29 deletions(-) diff --git a/lib/matplotlib/backends/backend_qt5.py b/lib/matplotlib/backends/backend_qt5.py index 0fe2070af3e7..c8f7aaf9434f 100644 --- a/lib/matplotlib/backends/backend_qt5.py +++ b/lib/matplotlib/backends/backend_qt5.py @@ -241,6 +241,7 @@ def __init__(self, figure): self._dpi_ratio_prev = None self._draw_pending = False + self._erase_before_paint = False self._is_drawing = False self._draw_rect_callback = lambda painter: None @@ -494,6 +495,7 @@ def draw(self): return with cbook._setattr_cm(self, _is_drawing=True): super().draw() + self._erase_before_paint = True self.update() def draw_idle(self): diff --git a/lib/matplotlib/backends/backend_qt5agg.py b/lib/matplotlib/backends/backend_qt5agg.py index ab8cbe4994b3..ca2603bca52c 100644 --- a/lib/matplotlib/backends/backend_qt5agg.py +++ b/lib/matplotlib/backends/backend_qt5agg.py @@ -15,11 +15,7 @@ class FigureCanvasQTAgg(FigureCanvasAgg, FigureCanvasQT): - def __init__(self, figure): - super().__init__(figure=figure) - self._bbox_queue = [] - - def paintEvent(self, e): + def paintEvent(self, event): """Copy the image from the Agg canvas to the qt.drawable. In Qt, all drawing should be done inside of here when a widget is @@ -37,29 +33,31 @@ def paintEvent(self, e): painter = QtGui.QPainter(self) - if self._bbox_queue: - bbox_queue = self._bbox_queue - else: + if self._erase_before_paint: painter.eraseRect(self.rect()) - bbox_queue = [ - Bbox([[0, 0], [self.renderer.width, self.renderer.height]])] - self._bbox_queue = [] - for bbox in bbox_queue: - l, b, r, t = map(int, bbox.extents) - w = r - l - h = t - b - reg = self.copy_from_bbox(bbox) - buf = reg.to_string_argb() - qimage = QtGui.QImage(buf, w, h, QtGui.QImage.Format_ARGB32) - # Adjust the buf reference count to work around a memory leak bug - # in QImage under PySide on Python 3. - if QT_API == 'PySide': - ctypes.c_long.from_address(id(buf)).value = 1 - if hasattr(qimage, 'setDevicePixelRatio'): - # Not available on Qt4 or some older Qt5. - qimage.setDevicePixelRatio(self._dpi_ratio) - origin = QtCore.QPoint(l, self.renderer.height - t) - painter.drawImage(origin / self._dpi_ratio, qimage) + self._erase_before_paint = False + + rect = event.rect() + left = rect.left() + top = rect.top() + width = rect.width() + height = rect.height() + # See documentation of QRect: bottom() and right() are off by 1, so use + # left() + width() and top() + height(). + bbox = Bbox([[left, self.renderer.height - (top + height)], + [left + width, self.renderer.height - top]]) + reg = self.copy_from_bbox(bbox) + buf = reg.to_string_argb() + qimage = QtGui.QImage(buf, width, height, QtGui.QImage.Format_ARGB32) + if hasattr(qimage, 'setDevicePixelRatio'): + # Not available on Qt4 or some older Qt5. + qimage.setDevicePixelRatio(self._dpi_ratio) + origin = QtCore.QPoint(left, top) + painter.drawImage(origin / self._dpi_ratio, qimage) + # Adjust the buf reference count to work around a memory + # leak bug in QImage under PySide on Python 3. + if QT_API == 'PySide': + ctypes.c_long.from_address(id(buf)).value = 1 self._draw_rect_callback(painter) @@ -73,8 +71,6 @@ def blit(self, bbox=None): if bbox is None and self.figure: bbox = self.figure.bbox - self._bbox_queue.append(bbox) - # repaint uses logical pixels, not physical pixels like the renderer. l, b, w, h = [pt / self._dpi_ratio for pt in bbox.bounds] t = b + h diff --git a/lib/matplotlib/backends/backend_qt5cairo.py b/lib/matplotlib/backends/backend_qt5cairo.py index 2544fb203e55..bea4f6069c33 100644 --- a/lib/matplotlib/backends/backend_qt5cairo.py +++ b/lib/matplotlib/backends/backend_qt5cairo.py @@ -37,6 +37,9 @@ def paintEvent(self, event): # Not available on Qt4 or some older Qt5. qimage.setDevicePixelRatio(dpi_ratio) painter = QtGui.QPainter(self) + if self._erase_before_paint: + painter.eraseRect(self.rect()) + self._erase_before_paint = False painter.drawImage(0, 0, qimage) self._draw_rect_callback(painter) painter.end() From baef0673cba827f59f7105a199d7a17f51a146b3 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Mon, 16 Jul 2018 11:53:42 +0200 Subject: [PATCH 0996/1161] Boring style fixes. (Only cases that allow removing entries from the .flake8 excludes.) --- .flake8 | 5 +-- lib/matplotlib/tests/test_image.py | 53 ++++++++++++++------------- lib/matplotlib/tests/test_lines.py | 6 +-- lib/matplotlib/tests/test_mathtext.py | 20 +++++----- 4 files changed, 43 insertions(+), 41 deletions(-) diff --git a/.flake8 b/.flake8 index 34c37efdc081..c2034704a535 100644 --- a/.flake8 +++ b/.flake8 @@ -54,9 +54,8 @@ per-file-ignores = matplotlib/sphinxext/mathmpl.py: E302 matplotlib/sphinxext/only_directives.py: E302 matplotlib/sphinxext/plot_directive.py: E261, E302, E402 - matplotlib/tests/test_image.py: E225, E231, E251, E302, E501 - matplotlib/tests/test_lines.py: E231, E261 - matplotlib/tests/test_mathtext.py: E261, E501 + matplotlib/tests/test_image.py: E231 + matplotlib/tests/test_mathtext.py: E501 matplotlib/transforms.py: E201, E202, E203, E501 matplotlib/tri/triinterpolate.py: E201, E221 matplotlib/type1font.py: E731 diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py index d47e2c9b7748..0e18838a44e5 100644 --- a/lib/matplotlib/tests/test_image.py +++ b/lib/matplotlib/tests/test_image.py @@ -205,6 +205,7 @@ def test_image_alpha(): plt.subplot(133) plt.imshow(Z, alpha=0.5, interpolation='nearest') + def test_cursor_data(): from matplotlib.backend_bases import MouseEvent @@ -286,7 +287,8 @@ def test_image_cliprect(): im = ax.imshow(d, extent=(0,5,0,5)) - rect = patches.Rectangle(xy=(1,1), width=2, height=2, transform=im.axes.transData) + rect = patches.Rectangle( + xy=(1,1), width=2, height=2, transform=im.axes.transData) im.set_clip_path(rect) @@ -302,13 +304,10 @@ def test_imshow(): @image_comparison(baseline_images=['no_interpolation_origin'], remove_text=True) def test_no_interpolation_origin(): - fig = plt.figure() - ax = fig.add_subplot(211) - ax.imshow(np.arange(100).reshape((2, 50)), origin="lower", - interpolation='none') - - ax = fig.add_subplot(212) - ax.imshow(np.arange(100).reshape((2, 50)), interpolation='none') + fig, axs = plt.subplots(2) + axs[0].imshow(np.arange(100).reshape((2, 50)), origin="lower", + interpolation='none') + axs[1].imshow(np.arange(100).reshape((2, 50)), interpolation='none') @image_comparison(baseline_images=['image_shift'], remove_text=True, @@ -316,9 +315,9 @@ def test_no_interpolation_origin(): def test_image_shift(): from matplotlib.colors import LogNorm - imgData = [[1.0/(x) + 1.0/(y) for x in range(1,100)] for y in range(1,100)] - tMin=734717.945208 - tMax=734717.946366 + imgData = [[1 / x + 1 / y for x in range(1, 100)] for y in range(1, 100)] + tMin = 734717.945208 + tMax = 734717.946366 fig, ax = plt.subplots() ax.imshow(imgData, norm=LogNorm(), interpolation='none', @@ -376,11 +375,13 @@ def test_image_composite_alpha(): fig, ax = plt.subplots() arr = np.zeros((11, 21, 4)) arr[:, :, 0] = 1 - arr[:, :, 3] = np.concatenate((np.arange(0, 1.1, 0.1), np.arange(0, 1, 0.1)[::-1])) + arr[:, :, 3] = np.concatenate( + (np.arange(0, 1.1, 0.1), np.arange(0, 1, 0.1)[::-1])) arr2 = np.zeros((21, 11, 4)) arr2[:, :, 0] = 1 arr2[:, :, 1] = 1 - arr2[:, :, 3] = np.concatenate((np.arange(0, 1.1, 0.1), np.arange(0, 1, 0.1)[::-1]))[:, np.newaxis] + arr2[:, :, 3] = np.concatenate( + (np.arange(0, 1.1, 0.1), np.arange(0, 1, 0.1)[::-1]))[:, np.newaxis] ax.imshow(arr, extent=[1, 2, 5, 0], alpha=0.3) ax.imshow(arr, extent=[2, 3, 5, 0], alpha=0.6) ax.imshow(arr, extent=[3, 4, 5, 0]) @@ -397,21 +398,22 @@ def test_image_composite_alpha(): remove_text=True, style='mpl20') def test_rasterize_dpi(): # This test should check rasterized rendering with high output resolution. - # It plots a rasterized line and a normal image with implot. So it will catch - # when images end up in the wrong place in case of non-standard dpi setting. - # Instead of high-res rasterization i use low-res. Therefore the fact that the - # resolution is non-standard is easily checked by image_comparison. + # It plots a rasterized line and a normal image with implot. So it will + # catch when images end up in the wrong place in case of non-standard dpi + # setting. Instead of high-res rasterization I use low-res. Therefore + # the fact that the resolution is non-standard is easily checked by + # image_comparison. img = np.asarray([[1, 2], [3, 4]]) - fig, axes = plt.subplots(1, 3, figsize = (3, 1)) + fig, axes = plt.subplots(1, 3, figsize=(3, 1)) axes[0].imshow(img) - axes[1].plot([0,1],[0,1], linewidth=20., rasterized=True) - axes[1].set(xlim = (0,1), ylim = (-1, 2)) + axes[1].plot([0,1], [0,1], linewidth=20., rasterized=True) + axes[1].set(xlim=(0, 1), ylim=(-1, 2)) - axes[2].plot([0,1],[0,1], linewidth=20.) - axes[2].set(xlim = (0,1), ylim = (-1, 2)) + axes[2].plot([0,1], [0,1], linewidth=20.) + axes[2].set(xlim=(0, 1), ylim=(-1, 2)) # Low-dpi PDF rasterization errors prevent proper image comparison tests. # Hide detailed structures like the axes spines. @@ -441,8 +443,8 @@ def test_bbox_image_inverted(): image = np.identity(10) - bbox_im = BboxImage( - TransformedBbox(Bbox([[0.1, 0.2], [0.3, 0.25]]), ax.figure.transFigure)) + bbox_im = BboxImage(TransformedBbox(Bbox([[0.1, 0.2], [0.3, 0.25]]), + ax.figure.transFigure)) bbox_im.set_data(image) bbox_im.set_clip_on(False) ax.add_artist(bbox_im) @@ -459,7 +461,8 @@ def test_get_window_extent_for_AxisImage(): ax.set_position([0, 0, 1, 1]) ax.set_xlim(0, 1) ax.set_ylim(0, 1) - im_obj = ax.imshow(im, extent=[0.4, 0.7, 0.2, 0.9], interpolation='nearest') + im_obj = ax.imshow( + im, extent=[0.4, 0.7, 0.2, 0.9], interpolation='nearest') fig.canvas.draw() renderer = fig.canvas.renderer diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py index 85e0405c18b8..f933942d9532 100644 --- a/lib/matplotlib/tests/test_lines.py +++ b/lib/matplotlib/tests/test_lines.py @@ -32,7 +32,7 @@ def test_invisible_Line_rendering(): """ # Creates big x and y data: N = 10**7 - x = np.linspace(0,1,N) + x = np.linspace(0, 1, N) y = np.random.normal(size=N) # Create a plot figure: @@ -40,7 +40,7 @@ def test_invisible_Line_rendering(): ax = plt.subplot(111) # Create a "big" Line instance: - l = mlines.Line2D(x,y) + l = mlines.Line2D(x, y) l.set_visible(False) # but don't add it to the Axis instance `ax` @@ -58,7 +58,7 @@ def test_invisible_Line_rendering(): # gives about 290 ms for N = 10**7 pts slowdown_factor = (t_unvisible_line/t_no_line) - slowdown_threshold = 2 # trying to avoid false positive failures + slowdown_threshold = 2 # trying to avoid false positive failures assert slowdown_factor < slowdown_threshold diff --git a/lib/matplotlib/tests/test_mathtext.py b/lib/matplotlib/tests/test_mathtext.py index e4feb8e17d3c..a05c8b3c8977 100644 --- a/lib/matplotlib/tests/test_mathtext.py +++ b/lib/matplotlib/tests/test_mathtext.py @@ -55,7 +55,7 @@ '$\\alpha \\beta \\gamma \\delta \\epsilon \\zeta \\eta \\theta \\iota \\lambda \\mu \\nu \\xi \\pi \\kappa \\rho \\sigma \\tau \\upsilon \\phi \\chi \\psi$', # The examples prefixed by 'mmltt' are from the MathML torture test here: - # http://www.mozilla.org/projects/mathml/demo/texvsmml.xhtml + # http://www.mozilla.org/projects/mathml/demo/texvsmml.xhtml r'${x}^{2}{y}^{2}$', r'${}_{2}F_{3}$', r'$\frac{x+{y}^{2}}{k+1}$', @@ -87,26 +87,26 @@ r'${x}_{92}^{31415}+\pi $', r'${x}_{{y}_{b}^{a}}^{{z}_{c}^{d}}$', r'${y}_{3}^{\prime \prime \prime }$', - r"$\left( \xi \left( 1 - \xi \right) \right)$", # Bug 2969451 - r"$\left(2 \, a=b\right)$", # Sage bug #8125 - r"$? ! &$", # github issue #466 - r'$\operatorname{cos} x$', # github issue #553 + r"$\left( \xi \left( 1 - \xi \right) \right)$", # Bug 2969451 + r"$\left(2 \, a=b\right)$", # Sage bug #8125 + r"$? ! &$", # github issue #466 + r'$\operatorname{cos} x$', # github issue #553 r'$\sum _{\genfrac{}{}{0}{}{0\leq i\leq m}{0<j<n}}P\left(i,j\right)$', r"$\left\Vert a \right\Vert \left\vert b \right\vert \left| a \right| \left\| b\right\| \Vert a \Vert \vert b \vert$", r'$\mathring{A} \stackrel{\circ}{A} \AA$', r'$M \, M \thinspace M \/ M \> M \: M \; M \ M \enspace M \quad M \qquad M \! M$', r'$\Cup$ $\Cap$ $\leftharpoonup$ $\barwedge$ $\rightharpoonup$', r'$\dotplus$ $\doteq$ $\doteqdot$ $\ddots$', - r'$xyz^kx_kx^py^{p-2} d_i^jb_jc_kd x^j_i E^0 E^0_u$', # github issue #4873 + r'$xyz^kx_kx^py^{p-2} d_i^jb_jc_kd x^j_i E^0 E^0_u$', # github issue #4873 r'${xyz}^k{x}_{k}{x}^{p}{y}^{p-2} {d}_{i}^{j}{b}_{j}{c}_{k}{d} {x}^{j}_{i}{E}^{0}{E}^0_u$', r'${\int}_x^x x\oint_x^x x\int_{X}^{X}x\int_x x \int^x x \int_{x} x\int^{x}{\int}_{x} x{\int}^{x}_{x}x$', r'testing$^{123}$', ' '.join('$\\' + p + '$' for p in sorted(mathtext.Parser._snowflake)), r'$6-2$; $-2$; $ -2$; ${-2}$; ${ -2}$; $20^{+3}_{-2}$', - r'$\overline{\omega}^x \frac{1}{2}_0^x$', # github issue #5444 - r'$,$ $.$ $1{,}234{, }567{ , }890$ and $1,234,567,890$', # github issue 5799 - r'$\left(X\right)_{a}^{b}$', # github issue 7615 - r'$\dfrac{\$100.00}{y}$', # github issue #1888 + r'$\overline{\omega}^x \frac{1}{2}_0^x$', # github issue #5444 + r'$,$ $.$ $1{,}234{, }567{ , }890$ and $1,234,567,890$', # github issue 5799 + r'$\left(X\right)_{a}^{b}$', # github issue 7615 + r'$\dfrac{\$100.00}{y}$', # github issue #1888 ] digits = "0123456789" From 2977f37d46bf5db2756279e6691b517714de3632 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Tue, 10 Jul 2018 13:52:51 -0700 Subject: [PATCH 0997/1161] ENH: Add gridspec method to figure, and subplotspecs --- doc/users/whats_new.rst | 20 ++- lib/matplotlib/figure.py | 47 ++++++ lib/matplotlib/gridspec.py | 41 +++++ .../tests/test_constrainedlayout.py | 6 +- .../intermediate/constrainedlayout_guide.py | 45 +++--- tutorials/intermediate/gridspec.py | 144 +++++++++++------- 6 files changed, 227 insertions(+), 76 deletions(-) diff --git a/doc/users/whats_new.rst b/doc/users/whats_new.rst index 967b82a7a8c2..dcd0c899b6dd 100644 --- a/doc/users/whats_new.rst +++ b/doc/users/whats_new.rst @@ -15,7 +15,7 @@ revision, see the :ref:`github-stats`. For a release, add a new section after this, then comment out the include and toctree below by indenting them. Uncomment them after the release. - .. include:: next_whats_new/README.rst + .. include:: next_whats_new/README.rst .. toctree:: :glob: :maxdepth: 1 @@ -190,6 +190,24 @@ specify a number that is close (i.e. ``ax.title.set_position(0.5, 1.01)``) and the title will not be moved via this algorithm. +New convenience methods for GridSpec +------------------------------------ + +There are new convenience methods for `.gridspec.GridSpec` and +`.gridspec.GridSpecFromSubplotSpec`. Instead of the former we can +now call `.Figure.add_gridspec` and for the latter `.SubplotSpec.subgridspec`. + +.. code-block:: python + + import matplotlib.pyplot as plt + + fig = plt.figure() + gs0 = fig.add_gridspec(3, 1) + ax1 = fig.add_subplot(gs0[0]) + ax2 = fig.add_subplot(gs0[1]) + gssub = gs0[2].subgridspec(1, 3) + for i in range(3): + fig.add_subplot(gssub[0, i]) diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index 481dc9c5e32f..ef400898d802 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -394,6 +394,9 @@ def __init__(self, self._align_xlabel_grp = cbook.Grouper() self._align_ylabel_grp = cbook.Grouper() + # list of child gridspecs for this figure + self._gridspecs = [] + # TODO: I'd like to dynamically add the _repr_html_ method # to the figure in the right context, but then IPython doesn't # use it, for some reason. @@ -1480,6 +1483,7 @@ def subplots(self, nrows=1, ncols=1, sharex=False, sharey=False, else: # this should turn constrained_layout off if we don't want it gs = GridSpec(nrows, ncols, figure=None, **gridspec_kw) + self._gridspecs.append(gs) # Create array to hold all axes. axarr = np.empty((nrows, ncols), dtype=object) @@ -2474,6 +2478,49 @@ def align_labels(self, axs=None): self.align_xlabels(axs=axs) self.align_ylabels(axs=axs) + def add_gridspec(self, nrows, ncols, **kwargs): + """ + Return a `.GridSpec` that has this figure as a parent. This allows + complex layout of axes in the figure. + + Parameters + ---------- + nrows : int + Number of rows in grid. + + ncols : int + Number or columns in grid. + + Returns + ------- + gridspec : `.GridSpec` + + Other Parameters + ---------------- + *kwargs* are passed to `.GridSpec`. + + See Also + -------- + matplotlib.pyplot.subplots + + Examples + -------- + Adding a subplot that spans two rows:: + + fig = plt.figure() + gs = fig.add_gridspec(2, 2) + ax1 = fig.add_subplot(gs[0, 0]) + ax2 = fig.add_subplot(gs[1, 0]) + # spans two rows: + ax3 = fig.add_subplot(gs[:, 1]) + + """ + + _ = kwargs.pop('figure', None) # pop in case user has added this... + gs = GridSpec(nrows=nrows, ncols=ncols, figure=self, **kwargs) + self._gridspecs.append(gs) + return gs + def figaspect(arg): """ diff --git a/lib/matplotlib/gridspec.py b/lib/matplotlib/gridspec.py index f85f061f0528..a9cfc5e9ffbc 100644 --- a/lib/matplotlib/gridspec.py +++ b/lib/matplotlib/gridspec.py @@ -498,3 +498,44 @@ def __eq__(self, other): def __hash__(self): return hash((self._gridspec, self.num1, self.num2)) + + def subgridspec(self, nrows, ncols, **kwargs): + """ + Return a `.GridSpecFromSubplotSpec` that has this subplotspec as + a parent. + + Parameters + ---------- + nrows : int + Number of rows in grid. + + ncols : int + Number or columns in grid. + + Returns + ------- + gridspec : `.GridSpec` + + Other Parameters + ---------------- + **kwargs + All other parameters are passed to `.GridSpec`. + + See Also + -------- + matplotlib.pyplot.subplots + + Examples + -------- + Adding three subplots in the space occupied by a single subplot:: + + fig = plt.figure() + gs0 = fig.add_gridspec(3, 1) + ax1 = fig.add_subplot(gs0[0]) + ax2 = fig.add_subplot(gs0[1]) + gssub = gs0[2].subgridspec(1, 3) + for i in range(3): + fig.add_subplot(gssub[0, i]) + """ + + return GridSpecFromSubplotSpec(nrows, ncols, self, **kwargs) diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py index c1ad1050c374..0803504cea94 100644 --- a/lib/matplotlib/tests/test_constrainedlayout.py +++ b/lib/matplotlib/tests/test_constrainedlayout.py @@ -94,9 +94,9 @@ def test_constrained_layout5(): def test_constrained_layout6(): 'Test constrained_layout for nested gridspecs' fig = plt.figure(constrained_layout=True) - gs = gridspec.GridSpec(1, 2, figure=fig) - gsl = gridspec.GridSpecFromSubplotSpec(2, 2, gs[0]) - gsr = gridspec.GridSpecFromSubplotSpec(1, 2, gs[1]) + gs = fig.add_gridspec(1, 2, figure=fig) + gsl = gs[0].subgridspec(2, 2) + gsr = gs[1].subgridspec(1, 2) axsl = [] for gs in gsl: ax = fig.add_subplot(gs) diff --git a/tutorials/intermediate/constrainedlayout_guide.py b/tutorials/intermediate/constrainedlayout_guide.py index 144f4685c605..df3bcdf9517d 100644 --- a/tutorials/intermediate/constrainedlayout_guide.py +++ b/tutorials/intermediate/constrainedlayout_guide.py @@ -78,7 +78,7 @@ def example_plot(ax, fontsize=12, nodec=False): ax.set_yticklabels('') -fig, ax = plt.subplots() +fig, ax = plt.subplots(constrained_layout=False) example_plot(ax, fontsize=24) ############################################################################### @@ -334,8 +334,10 @@ def example_plot(ax, fontsize=12, nodec=False): # with :func:`~matplotlib.figure.Figure.subplots` or # :func:`~matplotlib.gridspec.GridSpec` and # :func:`~matplotlib.figure.Figure.add_subplot`. +# +# Note that in what follows ``constrained_layout=True`` -fig = plt.figure(constrained_layout=True) +fig = plt.figure() gs1 = gridspec.GridSpec(2, 1, figure=fig) ax1 = fig.add_subplot(gs1[0]) @@ -345,20 +347,21 @@ def example_plot(ax, fontsize=12, nodec=False): example_plot(ax2) ############################################################################### -# More complicated gridspec layouts are possible. +# More complicated gridspec layouts are possible. Note here we use the +# convenenience functions ``add_gridspec`` and ``subgridspec`` -fig = plt.figure(constrained_layout=True) +fig = plt.figure() -gs0 = gridspec.GridSpec(1, 2, figure=fig) +gs0 = fig.add_gridspec(1, 2) -gs1 = gridspec.GridSpecFromSubplotSpec(2, 1, gs0[0]) +gs1 = gs0[0].subgridspec(2, 1) ax1 = fig.add_subplot(gs1[0]) ax2 = fig.add_subplot(gs1[1]) example_plot(ax1) example_plot(ax2) -gs2 = gridspec.GridSpecFromSubplotSpec(3, 1, gs0[1]) +gs2 = gs0[1].subgridspec(3, 1) for ss in gs2: ax = fig.add_subplot(ss) @@ -373,9 +376,9 @@ def example_plot(ax, fontsize=12, nodec=False): # extent. If we want the top and bottom of the two grids to line up then # they need to be in the same gridspec: -fig = plt.figure(constrained_layout=True) +fig = plt.figure() -gs0 = gridspec.GridSpec(6, 2, figure=fig) +gs0 = fig.add_gridspec(6, 2) ax1 = fig.add_subplot(gs0[:3, 0]) ax2 = fig.add_subplot(gs0[3:, 0]) @@ -398,10 +401,10 @@ def example_plot(ax, fontsize=12, nodec=False): def docomplicated(suptitle=None): - fig = plt.figure(constrained_layout=True) - gs0 = gridspec.GridSpec(1, 2, figure=fig, width_ratios=[1., 2.]) - gsl = gridspec.GridSpecFromSubplotSpec(2, 1, gs0[0]) - gsr = gridspec.GridSpecFromSubplotSpec(2, 2, gs0[1]) + fig = plt.figure() + gs0 = fig.add_gridspec(1, 2, figure=fig, width_ratios=[1., 2.]) + gsl = gs0[0].subgridspec(2, 1) + gsr = gs0[1].subgridspec(2, 2) for gs in gsl: ax = fig.add_subplot(gs) @@ -430,7 +433,7 @@ def docomplicated(suptitle=None): # no effect on it anymore. (Note that constrained_layout still leaves the # space for the axes that is moved). -fig, axs = plt.subplots(1, 2, constrained_layout=True) +fig, axs = plt.subplots(1, 2) example_plot(axs[0], fontsize=12) axs[1].set_position([0.2, 0.2, 0.4, 0.4]) @@ -444,7 +447,7 @@ def docomplicated(suptitle=None): from matplotlib.transforms import Bbox -fig, axs = plt.subplots(1, 2, constrained_layout=True) +fig, axs = plt.subplots(1, 2) example_plot(axs[0], fontsize=12) fig.execute_constrained_layout() # put into data-space: @@ -468,7 +471,7 @@ def docomplicated(suptitle=None): # to yield a nice layout: -fig = plt.figure(constrained_layout=True) +fig = plt.figure() ax1 = plt.subplot(221) ax2 = plt.subplot(223) @@ -481,8 +484,8 @@ def docomplicated(suptitle=None): ############################################################################### # Of course that layout is possible using a gridspec: -fig = plt.figure(constrained_layout=True) -gs = gridspec.GridSpec(2, 2, figure=fig) +fig = plt.figure() +gs = fig.add_gridspec(2, 2) ax1 = fig.add_subplot(gs[0, 0]) ax2 = fig.add_subplot(gs[1, 0]) @@ -497,7 +500,7 @@ def docomplicated(suptitle=None): # :func:`~matplotlib.pyplot.subplot2grid` doesn't work for the same reason: # each call creates a different parent gridspec. -fig = plt.figure(constrained_layout=True) +fig = plt.figure() ax1 = plt.subplot2grid((3, 3), (0, 0)) ax2 = plt.subplot2grid((3, 3), (0, 1), colspan=2) @@ -513,8 +516,8 @@ def docomplicated(suptitle=None): # The way to make this plot compatible with ``constrained_layout`` is again # to use ``gridspec`` directly -fig = plt.figure(constrained_layout=True) -gs = gridspec.GridSpec(3, 3, figure=fig) +fig = plt.figure() +gs = fig.add_gridspec(3, 3) ax1 = fig.add_subplot(gs[0, 0]) ax2 = fig.add_subplot(gs[0, 1:]) diff --git a/tutorials/intermediate/gridspec.py b/tutorials/intermediate/gridspec.py index 64f444e4c73a..301bf8d21b08 100644 --- a/tutorials/intermediate/gridspec.py +++ b/tutorials/intermediate/gridspec.py @@ -7,8 +7,9 @@ :func:`~matplotlib.pyplot.subplots` Perhaps the primary function used to create figures and axes. - It's also similar to :func:`~matplotlib.pyplot.subplot`, - but creates and places all axes on the figure at once. + It's also similar to :func:`.matplotlib.pyplot.subplot`, + but creates and places all axes on the figure at once. See also + `.matplotlib.Figure.subplots`. :class:`~matplotlib.gridspec.GridSpec` Specifies the geometry of the grid that a subplot will be @@ -20,12 +21,14 @@ Specifies the location of the subplot in the given *GridSpec*. :func:`~matplotlib.pyplot.subplot2grid` - A helper function that is similar to :func:`~matplotlib.pyplot.subplot`, + A helper function that is similar to + :func:`~matplotlib.pyplot.subplot`, but uses 0-based indexing and let subplot to occupy multiple cells. This function is not covered in this tutorial. """ +import matplotlib import matplotlib.pyplot as plt import matplotlib.gridspec as gridspec @@ -33,15 +36,14 @@ # Basic Quickstart Guide # ====================== # -# These first two examples show how to create a basic 4-by-4 grid using +# These first two examples show how to create a basic 2-by-2 grid using # both :func:`~matplotlib.pyplot.subplots` and :mod:`~matplotlib.gridspec`. # # Using :func:`~matplotlib.pyplot.subplots` is quite simple. # It returns a :class:`~matplotlib.figure.Figure` instance and an array of # :class:`~matplotlib.axes.Axes` objects. -fig1, f1_axes = plt.subplots(ncols=2, nrows=2) -fig1.tight_layout() +fig1, f1_axes = plt.subplots(ncols=2, nrows=2, constrained_layout=True) ############################################################################ # For a simple use case such as this, :mod:`~matplotlib.gridspec` is @@ -53,36 +55,58 @@ # The elements of the gridspec are accessed in generally the same manner as # numpy arrays. -fig2 = plt.figure() +fig2 = plt.figure(constrained_layout=True) spec2 = gridspec.GridSpec(ncols=2, nrows=2) f2_ax1 = fig2.add_subplot(spec2[0, 0]) f2_ax2 = fig2.add_subplot(spec2[0, 1]) f2_ax3 = fig2.add_subplot(spec2[1, 0]) f2_ax4 = fig2.add_subplot(spec2[1, 1]) -fig2.tight_layout() ############################################################################# -# When you want to have subplots of different sizes, however, -# :mod:`~matplotlib.gridspec` becomes indispensable and provides a couple -# of options. -# The method shown here initializes a uniform grid specification, -# and then uses typical numpy indexing and slices to allocate multiple +# The power of gridspec comes in being able to create subplots that span +# rows and columns. Note the +# `Numpy slice <https://docs.scipy.org/doc/numpy/reference/arrays.indexing.html>`_ +# syntax for selecing the part of the gridspec each subplot will occupy. +# +# Note that we have also used the convenience method `.Figure.add_grisdpec` +# instead of `.gridspec.GridSpec`, potentially saving the user an import, +# and keeping the namespace cleaner. + +fig = plt.figure(constrained_layout=True) +gs = fig.add_gridspec(3, 3) +ax1 = fig.add_subplot(gs[0, :]) +ax1.set_title('gs[0, :]') +ax2 = fig.add_subplot(gs[1, :-1]) +ax2.set_title('gs[1, :-1]') +ax3 = fig.add_subplot(gs[1:, -1]) +ax3.set_title('gs[1:, -1]') +ax4 = fig.add_subplot(gs[-1, 0]) +ax4.set_title('gs[-1, 0]') +ax5 = fig.add_subplot(gs[-1, -2]) +ax5.set_title('gs[-1, -2]') + +############################################################################# +# :mod:`~matplotlib.gridspec` is also indispensable for creating subplots +# of different widths via a couple of methods. +# +# The method shown here is similar to the one above and initializes a +# uniform grid specification, +# and then uses numpy indexing and slices to allocate multiple # "cells" for a given subplot. -fig3 = plt.figure() -spec3 = gridspec.GridSpec(ncols=3, nrows=3) +fig3 = plt.figure(constrained_layout=True) +spec3 = fig3.add_gridspec(ncols=3, nrows=3) anno_opts = dict(xy=(0.5, 0.5), xycoords='axes fraction', va='center', ha='center') -fig3.add_subplot(spec3[0, 0]).annotate('GridSpec[0, 0]', **anno_opts) +ax1 = fig3.add_subplot(spec3[0, 0]) +ax1.annotate('GridSpec[0, 0]', **anno_opts) fig3.add_subplot(spec3[0, 1:]).annotate('GridSpec[0, 1:]', **anno_opts) fig3.add_subplot(spec3[1:, 0]).annotate('GridSpec[1:, 0]', **anno_opts) fig3.add_subplot(spec3[1:, 1:]).annotate('GridSpec[1:, 1:]', **anno_opts) -fig3.tight_layout() - ############################################################################ -# Other option is to use the ``width_ratios`` and ``height_ratios`` +# Another option is to use the ``width_ratios`` and ``height_ratios`` # parameters. These keyword arguments are lists of numbers. # Note that absolute values are meaningless, only their relative ratios # matter. That means that ``width_ratios=[2, 4, 8]`` is equivalent to @@ -90,10 +114,10 @@ # For the sake of demonstration, we'll blindly create the axes within # ``for`` loops since we won't need them later. -fig4 = plt.figure() +fig4 = plt.figure(constrained_layout=True) widths = [2, 3, 1.5] heights = [1, 3, 2] -spec4 = gridspec.GridSpec(ncols=3, nrows=3, width_ratios=widths, +spec4 = fig4.add_gridspec(ncols=3, nrows=3, width_ratios=widths, height_ratios=heights) for row in range(3): for col in range(3): @@ -101,8 +125,6 @@ label = 'Width: {}\nHeight: {}'.format(widths[col], heights[row]) ax.annotate(label, (0.1, 0.5), xycoords='axes fraction', va='center') -fig4.tight_layout() - ############################################################################ # Learning to use ``width_ratios`` and ``height_ratios`` is particularly # useful since the top-level function :func:`~matplotlib.pyplot.subplots` @@ -114,7 +136,8 @@ # gridspec instance. gs_kw = dict(width_ratios=widths, height_ratios=heights) -fig5, f5_axes = plt.subplots(ncols=3, nrows=3, gridspec_kw=gs_kw) +fig5, f5_axes = plt.subplots(ncols=3, nrows=3, constrained_layout=True, + gridspec_kw=gs_kw) for r, row in enumerate(f5_axes): for c, ax in enumerate(row): label = 'Width: {}\nHeight: {}'.format(widths[c], heights[r]) @@ -144,14 +167,16 @@ # ===================================== # # When a GridSpec is explicitly used, you can adjust the layout -# parameters of subplots that are created from the GridSpec. - -fig = plt.figure() -gs1 = gridspec.GridSpec(nrows=3, ncols=3, left=0.05, right=0.48, wspace=0.05) -ax1 = fig.add_subplot(gs1[:-1, :]) -ax2 = fig.add_subplot(gs1[-1, :-1]) -ax3 = fig.add_subplot(gs1[-1, -1]) +# parameters of subplots that are created from the GridSpec. Note this +# option is not compatible with ``constrained_layout`` or +# `.Figure.tight_layout` which both adjust subplot sizes to fill the +# figure. +fig6 = plt.figure(constrained_layout=False) +gs1 = fig6.add_gridspec(nrows=3, ncols=3, left=0.05, right=0.48, wspace=0.05) +ax1 = fig6.add_subplot(gs1[:-1, :]) +ax2 = fig6.add_subplot(gs1[-1, :-1]) +ax3 = fig6.add_subplot(gs1[-1, -1]) ############################################################################### # This is similar to :func:`~matplotlib.pyplot.subplots_adjust`, but it only @@ -159,19 +184,19 @@ # # For example, compare the left and right sides of this figure: -fig = plt.figure() -gs1 = gridspec.GridSpec(nrows=3, ncols=3, left=0.05, right=0.48, +fig7 = plt.figure(constrained_layout=False) +gs1 = fig7.add_gridspec(nrows=3, ncols=3, left=0.05, right=0.48, wspace=0.05) -ax1 = fig.add_subplot(gs1[:-1, :]) -ax2 = fig.add_subplot(gs1[-1, :-1]) -ax3 = fig.add_subplot(gs1[-1, -1]) +ax1 = fig7.add_subplot(gs1[:-1, :]) +ax2 = fig7.add_subplot(gs1[-1, :-1]) +ax3 = fig7.add_subplot(gs1[-1, -1]) - -gs2 = gridspec.GridSpec(nrows=3, ncols=3, left=0.55, right=0.98, +gs2 = fig7.add_gridspec(nrows=3, ncols=3, left=0.55, right=0.98, hspace=0.05) -ax4 = fig.add_subplot(gs2[:, :-1]) -ax5 = fig.add_subplot(gs2[:-1, -1]) -ax6 = fig.add_subplot(gs2[-1, -1]) +ax4 = fig7.add_subplot(gs2[:, :-1]) +ax5 = fig7.add_subplot(gs2[:-1, -1]) +ax6 = fig7.add_subplot(gs2[-1, -1]) + ############################################################################### # GridSpec using SubplotSpec @@ -180,20 +205,21 @@ # You can create GridSpec from the :class:`~matplotlib.gridspec.SubplotSpec`, # in which case its layout parameters are set to that of the location of # the given SubplotSpec. +# +# Note this is also available from the more verbose +# `.gridspec.GridSpecFromSubplotSpec`. -fig = plt.figure() -gs0 = gridspec.GridSpec(1, 2) +fig = plt.figure(constrained_layout=True) +gs0 = fig.add_gridspec(1, 2) -gs00 = gridspec.GridSpecFromSubplotSpec(2, 3, subplot_spec=gs0[0]) -gs01 = gridspec.GridSpecFromSubplotSpec(3, 2, subplot_spec=gs0[1]) +gs00 = gs0[0].subgridspec(2, 3) +gs01 = gs0[1].subgridspec(3, 2) for a in range(2): for b in range(3): fig.add_subplot(gs00[a, b]) fig.add_subplot(gs01[b, a]) -fig.tight_layout() - ############################################################################### # A Complex Nested GridSpec using SubplotSpec # =========================================== @@ -209,14 +235,14 @@ def squiggle_xy(a, b, c, d, i=np.arange(0.0, 2*np.pi, 0.05)): return np.sin(i*a)*np.cos(i*b), np.sin(i*c)*np.cos(i*d) -fig = plt.figure(figsize=(8, 8)) + +fig = plt.figure(figsize=(8, 8), constrained_layout=False) # gridspec inside gridspec -outer_grid = gridspec.GridSpec(4, 4, wspace=0.0, hspace=0.0) +outer_grid = fig.add_gridspec(4, 4, wspace=0.0, hspace=0.0) for i in range(16): - inner_grid = gridspec.GridSpecFromSubplotSpec( - 3, 3, subplot_spec=outer_grid[i], wspace=0.0, hspace=0.0) + inner_grid = outer_grid[i].subgridspec(3, 3, wspace=0.0, hspace=0.0) a, b = int(i/4)+1, i % 4+1 for j, (c, d) in enumerate(product(range(1, 4), repeat=2)): ax = plt.Subplot(fig, inner_grid[j]) @@ -241,3 +267,19 @@ def squiggle_xy(a, b, c, d, i=np.arange(0.0, 2*np.pi, 0.05)): ax.spines['right'].set_visible(True) plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The usage of the following functions and methods is shown in this example: + +matplotlib.pyplot.subplots +matplotlib.figure.Figure.add_gridspec +matplotlib.figure.Figure.add_subplot +matplotlib.gridspec.GridSpec +matplotlib.gridspec.SubplotSpec.subgridspec +matplotlib.gridspec.GridSpecFromSubplotSpec From b6326cc47a05ad68b1ae26996b0c30edc984b0af Mon Sep 17 00:00:00 2001 From: ImportanceOfBeingErnest <elch.rz@ruetz-online.de> Date: Sat, 12 May 2018 00:33:46 +0200 Subject: [PATCH 0998/1161] Add fig.add_artist method --- doc/users/whats_new.rst | 18 +++++++++++++++ lib/matplotlib/figure.py | 36 +++++++++++++++++++++++++++++ lib/matplotlib/tests/test_figure.py | 28 +++++++++++++++++++++- 3 files changed, 81 insertions(+), 1 deletion(-) diff --git a/doc/users/whats_new.rst b/doc/users/whats_new.rst index dcd0c899b6dd..9a9731faedea 100644 --- a/doc/users/whats_new.rst +++ b/doc/users/whats_new.rst @@ -190,6 +190,7 @@ specify a number that is close (i.e. ``ax.title.set_position(0.5, 1.01)``) and the title will not be moved via this algorithm. + New convenience methods for GridSpec ------------------------------------ @@ -210,6 +211,23 @@ now call `.Figure.add_gridspec` and for the latter `.SubplotSpec.subgridspec`. fig.add_subplot(gssub[0, i]) +Figure has an `~.figure.Figure.add_artist` method +------------------------------------------------- + +A method `~.figure.Figure.add_artist` has been added to the +:class:`~.figure.Figure` class, which allows artists to be added directly +to a figure. E.g. + +:: + + circ = plt.Circle((.7, .5), .05) + fig.add_artist(circ) + +In case the added artist has no transform set previously, it will be set to +the figure transform (``fig.transFigure``). +This new method may be useful for adding artists to figures without axes or to +easily position static elements in figure coordinates. + diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index ef400898d802..1bfb3c02d71b 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -1048,6 +1048,42 @@ def fixlist(args): key = fixlist(args), fixitems(kwargs.items()) return key + def add_artist(self, artist, clip=False): + """ + Add any :class:`~matplotlib.artist.Artist` to the figure. + + Usually artists are added to axes objects using + :meth:`matplotlib.axes.Axes.add_artist`, but use this method in the + rare cases that adding directly to the figure is necessary. + + Parameters + ---------- + artist : `~matplotlib.artist.Artist` + The artist to add to the figure. If the added artist has no + transform previously set, its transform will be set to + ``figure.transFigure``. + clip : bool, optional, default ``False`` + An optional parameter ``clip`` determines whether the added artist + should be clipped by the figure patch. Default is *False*, + i.e. no clipping. + + Returns + ------- + artist : The added `~matplotlib.artist.Artist` + """ + artist.set_figure(self) + self.artists.append(artist) + artist._remove_method = self.artists.remove + + if not artist.is_transform_set(): + artist.set_transform(self.transFigure) + + if clip: + artist.set_clip_path(self.patch) + + self.stale = True + return artist + @docstring.dedent_interpd def add_axes(self, *args, **kwargs): """ diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py index 3e07838da984..16db9c3ca3ca 100644 --- a/lib/matplotlib/tests/test_figure.py +++ b/lib/matplotlib/tests/test_figure.py @@ -2,7 +2,7 @@ import warnings from matplotlib import rcParams -from matplotlib.testing.decorators import image_comparison +from matplotlib.testing.decorators import image_comparison, check_figures_equal from matplotlib.axes import Axes from matplotlib.ticker import AutoMinorLocator, FixedFormatter import matplotlib.pyplot as plt @@ -381,6 +381,32 @@ def test_warn_cl_plus_tl(): assert not(fig.get_constrained_layout()) +@check_figures_equal(extensions=["png", "pdf", "svg"]) +def test_add_artist(fig_test, fig_ref): + fig_test.set_dpi(100) + fig_ref.set_dpi(100) + + ax = fig_test.subplots() + l1 = plt.Line2D([.2, .7], [.7, .7]) + l2 = plt.Line2D([.2, .7], [.8, .8]) + r1 = plt.Circle((20, 20), 100, transform=None) + r2 = plt.Circle((.7, .5), .05) + r3 = plt.Circle((4.5, .8), .55, transform=fig_test.dpi_scale_trans, + facecolor='crimson') + for a in [l1, l2, r1, r2, r3]: + fig_test.add_artist(a) + l2.remove() + + ax2 = fig_ref.subplots() + l1 = plt.Line2D([.2, .7], [.7, .7], transform=fig_ref.transFigure) + r1 = plt.Circle((20, 20), 100, transform=None, clip_on=False, zorder=20) + r2 = plt.Circle((.7, .5), .05, transform=fig_ref.transFigure) + r3 = plt.Circle((4.5, .8), .55, transform=fig_ref.dpi_scale_trans, + facecolor='crimson', clip_on=False, zorder=20) + for a in [l1, r1, r2, r3]: + ax2.add_artist(a) + + @pytest.mark.skipif(sys.version_info < (3, 6), reason="requires Python 3.6+") @pytest.mark.parametrize("fmt", ["png", "pdf", "ps", "eps", "svg"]) def test_fspath(fmt, tmpdir): From ebc2d66e4189e555767c45341427ee2f43099137 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade <quantum.analyst@gmail.com> Date: Mon, 16 Jul 2018 19:40:30 -0400 Subject: [PATCH 0999/1161] Remove unused code. --- src/_image.cpp | 57 ---------------------- src/_image.h | 2 - src/ft2font.cpp | 1 - src/path_cleanup.cpp | 113 ------------------------------------------- src/path_cleanup.h | 27 ----------- 5 files changed, 200 deletions(-) delete mode 100644 src/path_cleanup.cpp delete mode 100644 src/path_cleanup.h diff --git a/src/_image.cpp b/src/_image.cpp index 2ba9adca2887..28e509a4a445 100644 --- a/src/_image.cpp +++ b/src/_image.cpp @@ -116,60 +116,3 @@ void _bin_indices(int *irows, int nrows, const double *y, unsigned long ny, doub } } } - -void _bin_indices_linear( - float *arows, int *irows, int nrows, double *y, unsigned long ny, double sc, double offs) -{ - int i; - if (sc * (y[ny - 1] - y[0]) > 0) { - int ii = 0; - int iilast = (int)ny - 1; - int iy0 = (int)floor(sc * (y[ii] - offs)); - int iy1 = (int)floor(sc * (y[ii + 1] - offs)); - float invgap = 1.0f / (iy1 - iy0); - for (i = 0; i < nrows && i < iy0; i++) { - irows[i] = -1; - } - for (; i < nrows; i++) { - while (i > iy1 && ii < iilast) { - ii++; - iy0 = iy1; - iy1 = (int)floor(sc * (y[ii + 1] - offs)); - invgap = 1.0f / (iy1 - iy0); - } - if (i >= iy0 && i <= iy1) { - irows[i] = ii; - arows[i] = (iy1 - i) * invgap; - } else - break; - } - for (; i < nrows; i++) { - irows[i] = -1; - } - } else { - int iilast = (int)ny - 1; - int ii = iilast; - int iy0 = (int)floor(sc * (y[ii] - offs)); - int iy1 = (int)floor(sc * (y[ii - 1] - offs)); - float invgap = 1.0f / (iy1 - iy0); - for (i = 0; i < nrows && i < iy0; i++) { - irows[i] = -1; - } - for (; i < nrows; i++) { - while (i > iy1 && ii > 1) { - ii--; - iy0 = iy1; - iy1 = (int)floor(sc * (y[ii - 1] - offs)); - invgap = 1.0f / (iy1 - iy0); - } - if (i >= iy0 && i <= iy1) { - irows[i] = ii - 1; - arows[i] = (i - iy0) * invgap; - } else - break; - } - for (; i < nrows; i++) { - irows[i] = -1; - } - } -} diff --git a/src/_image.h b/src/_image.h index 08b697b9b10a..37a080fff1d4 100644 --- a/src/_image.h +++ b/src/_image.h @@ -21,8 +21,6 @@ void _bin_indices_middle_linear(float *arows, float dy, float y_min); void _bin_indices(int *irows, int nrows, const double *y, unsigned long ny, double sc, double offs); -void _bin_indices_linear( - float *arows, int *irows, int nrows, double *y, unsigned long ny, double sc, double offs); template <class CoordinateArray, class ColorArray, class OutputArray> void pcolor(CoordinateArray &x, diff --git a/src/ft2font.cpp b/src/ft2font.cpp index ef622b2e9cac..e2fc3b818193 100644 --- a/src/ft2font.cpp +++ b/src/ft2font.cpp @@ -606,7 +606,6 @@ void FT2Font::set_text( bbox.xMax = bbox.yMax = -32000; for (unsigned int n = 0; n < N; n++) { - std::string thischar("?"); FT_UInt glyph_index; FT_BBox glyph_bbox; FT_Pos last_advance; diff --git a/src/path_cleanup.cpp b/src/path_cleanup.cpp deleted file mode 100644 index f9f2213b3d7f..000000000000 --- a/src/path_cleanup.cpp +++ /dev/null @@ -1,113 +0,0 @@ -/* -*- mode: c++; c-basic-offset: 4 -*- */ - -#include <Python.h> -#define NO_IMPORT_ARRAY -#include "numpy/arrayobject.h" - -#include "py_converters.h" - -#include "py_adaptors.h" -#include "agg_conv_transform.h" -#include "path_converters.h" - -class PathCleanupIterator -{ - typedef agg::conv_transform<py::PathIterator> transformed_path_t; - typedef PathNanRemover<transformed_path_t> nan_removal_t; - typedef PathClipper<nan_removal_t> clipped_t; - typedef PathSnapper<clipped_t> snapped_t; - typedef PathSimplifier<snapped_t> simplify_t; - typedef Sketch<simplify_t> sketch_t; - - py::PathIterator m_path_iter; - agg::trans_affine m_transform; - transformed_path_t m_transformed; - nan_removal_t m_nan_removed; - clipped_t m_clipped; - snapped_t m_snapped; - simplify_t m_simplify; - sketch_t m_sketch; - - public: - PathCleanupIterator(PyObject *path, - agg::trans_affine trans, - bool remove_nans, - bool do_clip, - const agg::rect_base<double> &rect, - e_snap_mode snap_mode, - double stroke_width, - bool do_simplify, - double sketch_scale, - double sketch_length, - double sketch_randomness) - : m_transform(trans), - m_transformed(m_path_iter, m_transform), - m_nan_removed(m_transformed, remove_nans, m_path_iter.has_curves()), - m_clipped(m_nan_removed, do_clip && !m_path_iter.has_curves(), rect), - m_snapped(m_clipped, snap_mode, m_path_iter.total_vertices(), stroke_width), - m_simplify(m_snapped, - do_simplify && m_path_iter.should_simplify(), - m_path_iter.simplify_threshold()), - m_sketch(m_simplify, sketch_scale, sketch_length, sketch_randomness) - { - convert_path(path, &m_path_iter); - - Py_INCREF(path); - m_path_iter.rewind(0); - } - - unsigned vertex(double *x, double *y) - { - return m_simplify.vertex(x, y); - } -}; - -extern "C" { -void *get_path_iterator(PyObject *path, - PyObject *trans, - int remove_nans, - int do_clip, - double rect[4], - e_snap_mode snap_mode, - double stroke_width, - int do_simplify, - double sketch_scale, - double sketch_length, - double sketch_randomness) -{ - agg::trans_affine agg_trans; - if (!convert_trans_affine(trans, &agg_trans)) { - return NULL; - } - agg::rect_base<double> clip_rect(rect[0], rect[1], rect[2], rect[3]); - - PathCleanupIterator *pipeline = new PathCleanupIterator(path, - agg_trans, - remove_nans != 0, - do_clip != 0, - clip_rect, - snap_mode, - stroke_width, - do_simplify != 0, - sketch_scale, - sketch_length, - sketch_randomness); - - return (void *)pipeline; -} - -unsigned get_vertex(void *pipeline, double *x, double *y) -{ - PathCleanupIterator *pipeline_iter = (PathCleanupIterator *)pipeline; - - unsigned code = pipeline_iter->vertex(x, y); - return code; -} - -void free_path_iterator(void *pipeline) -{ - PathCleanupIterator *pipeline_iter = (PathCleanupIterator *)pipeline; - - delete pipeline_iter; -} -} diff --git a/src/path_cleanup.h b/src/path_cleanup.h deleted file mode 100644 index bf69afd35dba..000000000000 --- a/src/path_cleanup.h +++ /dev/null @@ -1,27 +0,0 @@ -/* -*- mode: c++; c-basic-offset: 4 -*- */ - -#ifndef MPL_PATH_CLEANUP_H -#define MPL_PATH_CLEANUP_H - -#include <Python.h> - -enum e_snap_mode { - SNAP_AUTO, - SNAP_FALSE, - SNAP_TRUE -}; - -void *get_path_iterator(PyObject *path, - PyObject *trans, - int remove_nans, - int do_clip, - double rect[4], - enum e_snap_mode snap_mode, - double stroke_width, - int do_simplify); - -unsigned get_vertex(void *pipeline, double *x, double *y); - -void free_path_iterator(void *pipeline); - -#endif /* MPL_PATH_CLEANUP_H */ From cd500c79ac8303f6a12aef79d2edca1587800468 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Tue, 17 Jul 2018 11:52:19 +0200 Subject: [PATCH 1000/1161] Use super() instead of manually fetching supermethods for parasite axes. (This manual fetching was previously done in _get_base_axes_attr.) --- lib/mpl_toolkits/axes_grid1/parasite_axes.py | 74 +++++++------------- 1 file changed, 24 insertions(+), 50 deletions(-) diff --git a/lib/mpl_toolkits/axes_grid1/parasite_axes.py b/lib/mpl_toolkits/axes_grid1/parasite_axes.py index bd8dd58a4e57..840b86a7de74 100644 --- a/lib/mpl_toolkits/axes_grid1/parasite_axes.py +++ b/lib/mpl_toolkits/axes_grid1/parasite_axes.py @@ -10,7 +10,7 @@ import numpy as np -class ParasiteAxesBase(object): +class ParasiteAxesBase: def get_images_artists(self): artists = {a for a in self.get_children() if a.get_visible()} @@ -21,11 +21,10 @@ def get_images_artists(self): def __init__(self, parent_axes, **kwargs): self._parent_axes = parent_axes kwargs["frameon"] = False - self._get_base_axes_attr("__init__")( - self, parent_axes.figure, parent_axes._position, **kwargs) + super().__init__(parent_axes.figure, parent_axes._position, **kwargs) def cla(self): - self._get_base_axes_attr("cla")(self) + super().cla() martist.setp(self.get_children(), visible=False) self._get_lines = self._parent_axes._get_lines @@ -45,18 +44,14 @@ def parasite_axes_class_factory(axes_class=None): if axes_class is None: axes_class = Axes - def _get_base_axes_attr(self, attrname): - return getattr(axes_class, attrname) - return type("%sParasite" % axes_class.__name__, - (ParasiteAxesBase, axes_class), - {'_get_base_axes_attr': _get_base_axes_attr}) + (ParasiteAxesBase, axes_class), {}) ParasiteAxes = parasite_axes_class_factory() -class ParasiteAxesAuxTransBase(object): +class ParasiteAxesAuxTransBase: def __init__(self, parent_axes, aux_transform, viewlim_mode=None, **kwargs): @@ -87,7 +82,6 @@ def set_viewlim_mode(self, mode): def get_viewlim_mode(self): return self._viewlim_mode - def update_viewlim(self): viewlim = self._parent_axes.viewLim.frozen() mode = self.get_viewlim_mode() @@ -100,8 +94,7 @@ def update_viewlim(self): else: raise ValueError("Unknown mode : %s" % (self._viewlim_mode,)) - - def _pcolor(self, method_name, *XYC, **kwargs): + def _pcolor(self, super_pcolor, *XYC, **kwargs): if len(XYC) == 1: C = XYC[0] ny, nx = C.shape @@ -113,29 +106,26 @@ def _pcolor(self, method_name, *XYC, **kwargs): else: X, Y, C = XYC - pcolor_routine = self._get_base_axes_attr(method_name) - if "transform" in kwargs: - mesh = pcolor_routine(self, X, Y, C, **kwargs) + mesh = super_pcolor(self, X, Y, C, **kwargs) else: orig_shape = X.shape xy = np.vstack([X.flat, Y.flat]) xyt=xy.transpose() wxy = self.transAux.transform(xyt) gx, gy = wxy[:,0].reshape(orig_shape), wxy[:,1].reshape(orig_shape) - mesh = pcolor_routine(self, gx, gy, C, **kwargs) + mesh = super_pcolor(self, gx, gy, C, **kwargs) mesh.set_transform(self._parent_axes.transData) return mesh def pcolormesh(self, *XYC, **kwargs): - return self._pcolor("pcolormesh", *XYC, **kwargs) + return self._pcolor(super().pcolormesh, *XYC, **kwargs) def pcolor(self, *XYC, **kwargs): - return self._pcolor("pcolor", *XYC, **kwargs) - + return self._pcolor(super().pcolor, *XYC, **kwargs) - def _contour(self, method_name, *XYCL, **kwargs): + def _contour(self, super_contour, *XYCL, **kwargs): if len(XYCL) <= 2: C = XYCL[0] @@ -150,32 +140,29 @@ def _contour(self, method_name, *XYCL, **kwargs): X, Y = XYCL[:2] CL = XYCL[2:] - contour_routine = self._get_base_axes_attr(method_name) - if "transform" in kwargs: - cont = contour_routine(self, X, Y, *CL, **kwargs) + cont = super_contour(self, X, Y, *CL, **kwargs) else: orig_shape = X.shape xy = np.vstack([X.flat, Y.flat]) xyt=xy.transpose() wxy = self.transAux.transform(xyt) gx, gy = wxy[:,0].reshape(orig_shape), wxy[:,1].reshape(orig_shape) - cont = contour_routine(self, gx, gy, *CL, **kwargs) + cont = super_contour(self, gx, gy, *CL, **kwargs) for c in cont.collections: c.set_transform(self._parent_axes.transData) return cont def contour(self, *XYCL, **kwargs): - return self._contour("contour", *XYCL, **kwargs) + return self._contour(super().contour, *XYCL, **kwargs) def contourf(self, *XYCL, **kwargs): - return self._contour("contourf", *XYCL, **kwargs) + return self._contour(super().contourf, *XYCL, **kwargs) def apply_aspect(self, position=None): self.update_viewlim() - self._get_base_axes_attr("apply_aspect")(self) - #ParasiteAxes.apply_aspect() + super().apply_aspect() @functools.lru_cache(None) @@ -209,10 +196,10 @@ def _get_handles(ax): return handles -class HostAxesBase(object): +class HostAxesBase: def __init__(self, *args, **kwargs): self.parasites = [] - self._get_base_axes_attr("__init__")(self, *args, **kwargs) + super().__init__(*args, **kwargs) def get_aux_axes(self, tr, viewlim_mode="equal", axes_class=None): parasite_axes_class = parasite_axes_auxtrans_class_factory(axes_class) @@ -224,13 +211,9 @@ def get_aux_axes(self, tr, viewlim_mode="equal", axes_class=None): return ax2 def _get_legend_handles(self, legend_handler_map=None): - # don't use this! - Axes_get_legend_handles = self._get_base_axes_attr("_get_legend_handles") - all_handles = list(Axes_get_legend_handles(self, legend_handler_map)) - + all_handles = super()._get_legend_handles() for ax in self.parasites: all_handles.extend(ax._get_legend_handles(legend_handler_map)) - return all_handles def draw(self, renderer): @@ -257,14 +240,14 @@ def draw(self, renderer): self.images.extend(images) self.artists.extend(artists) - self._get_base_axes_attr("draw")(self, renderer) + super().draw(renderer) self.artists = orig_artists self.images = orig_images def cla(self): for ax in self.parasites: ax.cla() - self._get_base_axes_attr("cla")(self) + super().cla() def twinx(self, axes_class=None): """ @@ -361,15 +344,10 @@ def _remove_method(h): return ax2 def get_tightbbox(self, renderer, call_axes_locator=True): - bbs = [ax.get_tightbbox(renderer, call_axes_locator) for ax in self.parasites] - get_tightbbox = self._get_base_axes_attr("get_tightbbox") - bbs.append(get_tightbbox(self, renderer, call_axes_locator)) - - _bbox = Bbox.union([b for b in bbs if b.width!=0 or b.height!=0]) - - return _bbox + bbs.append(super().get_tightbbox(renderer, call_axes_locator)) + return Bbox.union([b for b in bbs if b.width!=0 or b.height!=0]) @functools.lru_cache(None) @@ -380,13 +358,9 @@ def host_axes_class_factory(axes_class=None): def _get_base_axes(self): return axes_class - def _get_base_axes_attr(self, attrname): - return getattr(axes_class, attrname) - return type("%sHostAxes" % axes_class.__name__, (HostAxesBase, axes_class), - {'_get_base_axes_attr': _get_base_axes_attr, - '_get_base_axes': _get_base_axes}) + {'_get_base_axes': _get_base_axes}) def host_subplot_class_factory(axes_class): From 33545848d410972a2c993cfef4ee0deae5ebdafa Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Tue, 17 Jul 2018 11:59:39 +0200 Subject: [PATCH 1001/1161] Style-clean parasite axes. --- .flake8 | 1 - lib/mpl_toolkits/axes_grid1/parasite_axes.py | 45 ++++++++------------ 2 files changed, 17 insertions(+), 29 deletions(-) diff --git a/.flake8 b/.flake8 index c2034704a535..0884c4406392 100644 --- a/.flake8 +++ b/.flake8 @@ -70,7 +70,6 @@ per-file-ignores = mpl_toolkits/axes_grid1/colorbar.py: E225, E231, E261, E262, E302, E303, E501, E701 mpl_toolkits/axes_grid1/inset_locator.py: E501 mpl_toolkits/axes_grid1/mpl_axes.py: E303, E501 - mpl_toolkits/axes_grid1/parasite_axes.py: E225, E231, E302, E303, E501 mpl_toolkits/axisartist/angle_helper.py: E201, E203, E221, E222, E225, E231, E251, E261, E262, E302, E303, E501 mpl_toolkits/axisartist/axis_artist.py: E201, E202, E221, E225, E228, E231, E251, E261, E262, E302, E303, E402, E501, E701, E711 mpl_toolkits/axisartist/axisline_style.py: E231, E261, E262, E302, E303 diff --git a/lib/mpl_toolkits/axes_grid1/parasite_axes.py b/lib/mpl_toolkits/axes_grid1/parasite_axes.py index 840b86a7de74..051d661a800e 100644 --- a/lib/mpl_toolkits/axes_grid1/parasite_axes.py +++ b/lib/mpl_toolkits/axes_grid1/parasite_axes.py @@ -75,7 +75,7 @@ def _set_lim_and_transforms(self): def set_viewlim_mode(self, mode): if mode not in [None, "equal", "transform"]: - raise ValueError("Unknown mode : %s" % (mode,)) + raise ValueError("Unknown mode: %s" % (mode,)) else: self._viewlim_mode = mode @@ -90,17 +90,18 @@ def update_viewlim(self): elif mode == "equal": self.axes.viewLim.set(viewlim) elif mode == "transform": - self.axes.viewLim.set(viewlim.transformed(self.transAux.inverted())) + self.axes.viewLim.set( + viewlim.transformed(self.transAux.inverted())) else: - raise ValueError("Unknown mode : %s" % (self._viewlim_mode,)) + raise ValueError("Unknown mode: %s" % (self._viewlim_mode,)) def _pcolor(self, super_pcolor, *XYC, **kwargs): if len(XYC) == 1: C = XYC[0] ny, nx = C.shape - gx = np.arange(-0.5, nx, 1.) - gy = np.arange(-0.5, ny, 1.) + gx = np.arange(-0.5, nx) + gy = np.arange(-0.5, ny) X, Y = np.meshgrid(gx, gy) else: @@ -110,10 +111,10 @@ def _pcolor(self, super_pcolor, *XYC, **kwargs): mesh = super_pcolor(self, X, Y, C, **kwargs) else: orig_shape = X.shape - xy = np.vstack([X.flat, Y.flat]) - xyt=xy.transpose() + xyt = np.column_stack([X.flat, Y.flat]) wxy = self.transAux.transform(xyt) - gx, gy = wxy[:,0].reshape(orig_shape), wxy[:,1].reshape(orig_shape) + gx = wxy[:, 0].reshape(orig_shape) + gy = wxy[:, 1].reshape(orig_shape) mesh = super_pcolor(self, gx, gy, C, **kwargs) mesh.set_transform(self._parent_axes.transData) @@ -131,10 +132,10 @@ def _contour(self, super_contour, *XYCL, **kwargs): C = XYCL[0] ny, nx = C.shape - gx = np.arange(0., nx, 1.) - gy = np.arange(0., ny, 1.) + gx = np.arange(0., nx) + gy = np.arange(0., ny) - X,Y = np.meshgrid(gx, gy) + X, Y = np.meshgrid(gx, gy) CL = XYCL else: X, Y = XYCL[:2] @@ -144,10 +145,10 @@ def _contour(self, super_contour, *XYCL, **kwargs): cont = super_contour(self, X, Y, *CL, **kwargs) else: orig_shape = X.shape - xy = np.vstack([X.flat, Y.flat]) - xyt=xy.transpose() + xyt = np.column_stack([X.flat, Y.flat]) wxy = self.transAux.transform(xyt) - gx, gy = wxy[:,0].reshape(orig_shape), wxy[:,1].reshape(orig_shape) + gx = wxy[:, 0].reshape(orig_shape) + gy = wxy[:, 1].reshape(orig_shape) cont = super_contour(self, gx, gy, *CL, **kwargs) for c in cont.collections: c.set_transform(self._parent_axes.transData) @@ -183,19 +184,6 @@ def parasite_axes_auxtrans_class_factory(axes_class=None): axes_class=ParasiteAxes) -def _get_handles(ax): - handles = ax.lines[:] - handles.extend(ax.patches) - handles.extend([c for c in ax.collections - if isinstance(c, mcoll.LineCollection)]) - handles.extend([c for c in ax.collections - if isinstance(c, mcoll.RegularPolyCollection)]) - handles.extend([c for c in ax.collections - if isinstance(c, mcoll.CircleCollection)]) - - return handles - - class HostAxesBase: def __init__(self, *args, **kwargs): self.parasites = [] @@ -347,7 +335,7 @@ def get_tightbbox(self, renderer, call_axes_locator=True): bbs = [ax.get_tightbbox(renderer, call_axes_locator) for ax in self.parasites] bbs.append(super().get_tightbbox(renderer, call_axes_locator)) - return Bbox.union([b for b in bbs if b.width!=0 or b.height!=0]) + return Bbox.union([b for b in bbs if b.width != 0 or b.height != 0]) @functools.lru_cache(None) @@ -395,6 +383,7 @@ def host_axes(*args, axes_class=None, figure=None, **kwargs): plt.draw_if_interactive() return ax + def host_subplot(*args, axes_class=None, figure=None, **kwargs): """ Create a subplot that can act as a host to parasitic axes. From ca8a3d5722dfdc2b0766eb4e00b923a8f2adc610 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Tue, 17 Jul 2018 12:18:39 +0200 Subject: [PATCH 1002/1161] Remove pointless draw() at the end of static examples. draw() is completely unnecessary in these examples and only serves to (mildly) confuse the reader. --- examples/axes_grid1/demo_axes_divider.py | 1 - examples/axes_grid1/demo_axes_grid.py | 1 - examples/axes_grid1/demo_axes_grid2.py | 1 - examples/axes_grid1/demo_colorbar_with_inset_locator.py | 1 - examples/axes_grid1/demo_edge_colorbar.py | 1 - examples/axes_grid1/parasite_simple2.py | 1 - examples/axes_grid1/scatter_hist_locatable_axes.py | 1 - examples/axes_grid1/simple_axesgrid2.py | 1 - examples/axes_grid1/simple_axisline4.py | 1 - examples/axisartist/demo_curvelinear_grid.py | 1 - examples/axisartist/demo_parasite_axes2.py | 1 - examples/pyplots/whats_new_99_axes_grid.py | 2 -- examples/scales/aspect_loglog.py | 1 - examples/shapes_and_collections/fancybox_demo.py | 1 - examples/text_labels_and_annotations/arrow_demo.py | 2 -- examples/text_labels_and_annotations/demo_text_path.py | 1 - examples/text_labels_and_annotations/fancyarrow_demo.py | 2 -- examples/text_labels_and_annotations/fancytextbox_demo.py | 2 -- examples/text_labels_and_annotations/multiline.py | 1 - examples/text_labels_and_annotations/usetex_baseline_test.py | 1 - 20 files changed, 24 deletions(-) diff --git a/examples/axes_grid1/demo_axes_divider.py b/examples/axes_grid1/demo_axes_divider.py index 92df89ca198a..73eac91ecc2d 100644 --- a/examples/axes_grid1/demo_axes_divider.py +++ b/examples/axes_grid1/demo_axes_divider.py @@ -126,7 +126,6 @@ def demo(): ax = fig1.add_subplot(2, 2, 4) demo_images_side_by_side(ax) - plt.draw() plt.show() diff --git a/examples/axes_grid1/demo_axes_grid.py b/examples/axes_grid1/demo_axes_grid.py index 44a70a90c931..fafac4f1ea49 100644 --- a/examples/axes_grid1/demo_axes_grid.py +++ b/examples/axes_grid1/demo_axes_grid.py @@ -135,5 +135,4 @@ def demo_grid_with_each_cbar_labelled(fig): demo_grid_with_each_cbar(F) demo_grid_with_each_cbar_labelled(F) - plt.draw() plt.show() diff --git a/examples/axes_grid1/demo_axes_grid2.py b/examples/axes_grid1/demo_axes_grid2.py index 6de119132df7..ed1af8529b98 100644 --- a/examples/axes_grid1/demo_axes_grid2.py +++ b/examples/axes_grid1/demo_axes_grid2.py @@ -116,5 +116,4 @@ def add_inner_title(ax, title, loc, size=None, **kwargs): grid2[0].set_xticks([-2, 0]) grid2[0].set_yticks([-2, 0, 2]) - plt.draw() plt.show() diff --git a/examples/axes_grid1/demo_colorbar_with_inset_locator.py b/examples/axes_grid1/demo_colorbar_with_inset_locator.py index 40bf7c54c2de..79d2001c1ea6 100644 --- a/examples/axes_grid1/demo_colorbar_with_inset_locator.py +++ b/examples/axes_grid1/demo_colorbar_with_inset_locator.py @@ -35,5 +35,4 @@ im = ax2.imshow([[1, 2], [2, 3]]) plt.colorbar(im, cax=axins, ticks=[1, 2, 3]) -plt.draw() plt.show() diff --git a/examples/axes_grid1/demo_edge_colorbar.py b/examples/axes_grid1/demo_edge_colorbar.py index 3e2b9d98b2e7..b7540b261226 100644 --- a/examples/axes_grid1/demo_edge_colorbar.py +++ b/examples/axes_grid1/demo_edge_colorbar.py @@ -90,5 +90,4 @@ def demo_right_cbar(fig): demo_bottom_cbar(F) demo_right_cbar(F) - plt.draw() plt.show() diff --git a/examples/axes_grid1/parasite_simple2.py b/examples/axes_grid1/parasite_simple2.py index 4b10b84e7bfa..cbf768e892c7 100644 --- a/examples/axes_grid1/parasite_simple2.py +++ b/examples/axes_grid1/parasite_simple2.py @@ -44,5 +44,4 @@ ax_kms.set_ylim(950, 3100) # xlim and ylim of ax_pms will be automatically adjusted. -plt.draw() plt.show() diff --git a/examples/axes_grid1/scatter_hist_locatable_axes.py b/examples/axes_grid1/scatter_hist_locatable_axes.py index 0a2621460f57..5786a382e31a 100644 --- a/examples/axes_grid1/scatter_hist_locatable_axes.py +++ b/examples/axes_grid1/scatter_hist_locatable_axes.py @@ -51,5 +51,4 @@ axHisty.set_xticks([0, 50, 100]) -plt.draw() plt.show() diff --git a/examples/axes_grid1/simple_axesgrid2.py b/examples/axes_grid1/simple_axesgrid2.py index 8cd11953cfd1..51783b58dc3c 100644 --- a/examples/axes_grid1/simple_axesgrid2.py +++ b/examples/axes_grid1/simple_axesgrid2.py @@ -35,5 +35,4 @@ def get_demo_image(): ax.imshow(im, origin="lower", vmin=vmin, vmax=vmax, interpolation="nearest") -plt.draw() plt.show() diff --git a/examples/axes_grid1/simple_axisline4.py b/examples/axes_grid1/simple_axisline4.py index afdecccfc057..91b76cf3e956 100644 --- a/examples/axes_grid1/simple_axisline4.py +++ b/examples/axes_grid1/simple_axisline4.py @@ -20,5 +20,4 @@ ax2.axis["right"].major_ticklabels.set_visible(False) ax2.axis["top"].major_ticklabels.set_visible(True) -plt.draw() plt.show() diff --git a/examples/axisartist/demo_curvelinear_grid.py b/examples/axisartist/demo_curvelinear_grid.py index 30a3705a7c62..4dd02b85ce0d 100644 --- a/examples/axisartist/demo_curvelinear_grid.py +++ b/examples/axisartist/demo_curvelinear_grid.py @@ -137,5 +137,4 @@ def curvelinear_test2(fig): curvelinear_test1(fig) curvelinear_test2(fig) - plt.draw() plt.show() diff --git a/examples/axisartist/demo_parasite_axes2.py b/examples/axisartist/demo_parasite_axes2.py index b2bf3b4b66da..77bb674c272a 100644 --- a/examples/axisartist/demo_parasite_axes2.py +++ b/examples/axisartist/demo_parasite_axes2.py @@ -62,5 +62,4 @@ par1.axis["right"].label.set_color(p2.get_color()) par2.axis["right"].label.set_color(p3.get_color()) -plt.draw() plt.show() diff --git a/examples/pyplots/whats_new_99_axes_grid.py b/examples/pyplots/whats_new_99_axes_grid.py index a13bcce2e2f5..c77f23f1213f 100644 --- a/examples/pyplots/whats_new_99_axes_grid.py +++ b/examples/pyplots/whats_new_99_axes_grid.py @@ -48,8 +48,6 @@ def get_rgb(): ax.RGB.set_xlim(0., 9.5) ax.RGB.set_ylim(0.9, 10.6) - -plt.draw() plt.show() ############################################################################# diff --git a/examples/scales/aspect_loglog.py b/examples/scales/aspect_loglog.py index c0d4f3ccc73d..90c0422ca389 100644 --- a/examples/scales/aspect_loglog.py +++ b/examples/scales/aspect_loglog.py @@ -23,5 +23,4 @@ ax2.set_aspect(1) ax2.set_title("adjustable = datalim") -plt.draw() plt.show() diff --git a/examples/shapes_and_collections/fancybox_demo.py b/examples/shapes_and_collections/fancybox_demo.py index 60415ef8db58..9b58c1a43442 100644 --- a/examples/shapes_and_collections/fancybox_demo.py +++ b/examples/shapes_and_collections/fancybox_demo.py @@ -189,7 +189,6 @@ def test_all(): ax.set_ylim(0., 1.) ax.set_aspect(2.) - plt.draw() plt.show() diff --git a/examples/text_labels_and_annotations/arrow_demo.py b/examples/text_labels_and_annotations/arrow_demo.py index 49b07205d0c8..2232579e529a 100644 --- a/examples/text_labels_and_annotations/arrow_demo.py +++ b/examples/text_labels_and_annotations/arrow_demo.py @@ -311,6 +311,4 @@ def draw_arrow(pair, alpha=alpha, ec=ec, labelcolor=labelcolor): make_arrow_plot(d, display=display, linewidth=0.001, edgecolor=None, normalize_data=scaled, head_starts_at_zero=True, size=size) - plt.draw() - plt.show() diff --git a/examples/text_labels_and_annotations/demo_text_path.py b/examples/text_labels_and_annotations/demo_text_path.py index f3119cb07957..69330ceaabb2 100644 --- a/examples/text_labels_and_annotations/demo_text_path.py +++ b/examples/text_labels_and_annotations/demo_text_path.py @@ -155,5 +155,4 @@ def draw(self, renderer=None): ax.set_xlim(0, 1) ax.set_ylim(0, 1) - plt.draw() plt.show() diff --git a/examples/text_labels_and_annotations/fancyarrow_demo.py b/examples/text_labels_and_annotations/fancyarrow_demo.py index 6eb904433b67..75e988264650 100644 --- a/examples/text_labels_and_annotations/fancyarrow_demo.py +++ b/examples/text_labels_and_annotations/fancyarrow_demo.py @@ -51,6 +51,4 @@ def to_texstring(s): ax.xaxis.set_visible(False) ax.yaxis.set_visible(False) - -plt.draw() plt.show() diff --git a/examples/text_labels_and_annotations/fancytextbox_demo.py b/examples/text_labels_and_annotations/fancytextbox_demo.py index 4ad00bc846fa..cca4f6d50f92 100644 --- a/examples/text_labels_and_annotations/fancytextbox_demo.py +++ b/examples/text_labels_and_annotations/fancytextbox_demo.py @@ -22,6 +22,4 @@ ) ) - -plt.draw() plt.show() diff --git a/examples/text_labels_and_annotations/multiline.py b/examples/text_labels_and_annotations/multiline.py index e1227207c4d5..ce2cb158af85 100644 --- a/examples/text_labels_and_annotations/multiline.py +++ b/examples/text_labels_and_annotations/multiline.py @@ -42,5 +42,4 @@ plt.title("test line spacing for multiline text") plt.subplots_adjust(bottom=0.25, top=0.75) -plt.draw() plt.show() diff --git a/examples/text_labels_and_annotations/usetex_baseline_test.py b/examples/text_labels_and_annotations/usetex_baseline_test.py index 3aa08103bbb5..349fa5915b06 100644 --- a/examples/text_labels_and_annotations/usetex_baseline_test.py +++ b/examples/text_labels_and_annotations/usetex_baseline_test.py @@ -70,5 +70,4 @@ def test_window_extent(ax, usetex, preview): test_window_extent(ax, usetex=usetex, preview=preview) -plt.draw() plt.show() From a87445ca84f6d51c8e84a11059d0b621eab3be4a Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Tue, 27 Feb 2018 21:20:20 -0800 Subject: [PATCH 1003/1161] Boring style fixes. --- examples/statistics/barchart_demo.py | 8 ++++---- examples/units/basic_units.py | 6 +++--- lib/matplotlib/backends/backend_ps.py | 11 ++++++----- lib/matplotlib/cbook/__init__.py | 2 +- lib/matplotlib/collections.py | 2 +- lib/matplotlib/figure.py | 4 ++-- lib/matplotlib/gridspec.py | 2 +- lib/matplotlib/legend.py | 2 +- lib/matplotlib/lines.py | 5 +---- lib/matplotlib/patches.py | 4 ++-- lib/matplotlib/path.py | 2 +- lib/matplotlib/tests/test_patches.py | 2 +- lib/matplotlib/tests/test_text.py | 2 +- lib/matplotlib/ticker.py | 8 ++++---- lib/matplotlib/tri/triinterpolate.py | 2 +- lib/matplotlib/widgets.py | 4 ++-- lib/mpl_toolkits/axes_grid1/axes_grid.py | 2 +- lib/mpl_toolkits/axisartist/axis_artist.py | 10 +++++----- lib/mpl_toolkits/axisartist/floating_axes.py | 3 +-- .../axisartist/grid_helper_curvelinear.py | 3 +-- setupext.py | 2 +- 21 files changed, 41 insertions(+), 45 deletions(-) diff --git a/examples/statistics/barchart_demo.py b/examples/statistics/barchart_demo.py index e4ea9022806c..c8642a3ec745 100644 --- a/examples/statistics/barchart_demo.py +++ b/examples/statistics/barchart_demo.py @@ -77,9 +77,9 @@ def attach_ordinal(num): 1 -> 1st 56 -> 56th """ - suffixes = dict((str(i), v) for i, v in - enumerate(['th', 'st', 'nd', 'rd', 'th', - 'th', 'th', 'th', 'th', 'th'])) + suffixes = {str(i): v + for i, v in enumerate(['th', 'st', 'nd', 'rd', 'th', + 'th', 'th', 'th', 'th', 'th'])} v = str(num) # special case early teens @@ -170,7 +170,7 @@ def plot_student_results(student, scores, cohort_size): rankStr = attach_ordinal(width) # The bars aren't wide enough to print the ranking inside - if (width < 5): + if width < 5: # Shift the text to the right side of the right edge xloc = width + 1 # Black against white background diff --git a/examples/units/basic_units.py b/examples/units/basic_units.py index 67ffa36f6fac..0af2e1dd576d 100644 --- a/examples/units/basic_units.py +++ b/examples/units/basic_units.py @@ -249,13 +249,13 @@ def get_unit(self): class UnitResolver(object): def addition_rule(self, units): for unit_1, unit_2 in zip(units[:-1], units[1:]): - if (unit_1 != unit_2): + if unit_1 != unit_2: return NotImplemented return units[0] def multiplication_rule(self, units): non_null = [u for u in units if u] - if (len(non_null) > 1): + if len(non_null) > 1: return NotImplemented return non_null[0] @@ -268,7 +268,7 @@ def multiplication_rule(self, units): '__rsub__': addition_rule} def __call__(self, operation, units): - if (operation not in self.op_dict): + if operation not in self.op_dict: return NotImplemented return self.op_dict[operation](self, units) diff --git a/lib/matplotlib/backends/backend_ps.py b/lib/matplotlib/backends/backend_ps.py index d72a1d69d398..b705fc867ad8 100644 --- a/lib/matplotlib/backends/backend_ps.py +++ b/lib/matplotlib/backends/backend_ps.py @@ -266,15 +266,16 @@ def set_linedash(self, offset, seq, store=1): self.linedash = (offset, seq) def set_font(self, fontname, fontsize, store=1): - if rcParams['ps.useafm']: return - if (fontname,fontsize) != (self.fontname,self.fontsize): + if rcParams['ps.useafm']: + return + if (fontname, fontsize) != (self.fontname,self.fontsize): out = ("/%s findfont\n" "%1.3f scalefont\n" "setfont\n" % (fontname, fontsize)) - self._pswriter.write(out) - if store: self.fontname = fontname - if store: self.fontsize = fontsize + if store: + self.fontname = fontname + self.fontsize = fontsize def create_hatch(self, hatch): sidelen = 72 diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index 35bed7f46f3c..13e8d66d82db 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -1095,7 +1095,7 @@ def delete_masked_points(*args): """ if not len(args): return () - if isinstance(args[0], str) or not iterable(args[0]): + if is_scalar_or_string(args[0]): raise ValueError("First argument must be a sequence") nrecs = len(args[0]) margs = [] diff --git a/lib/matplotlib/collections.py b/lib/matplotlib/collections.py index d2f7c11ba305..674167c3057f 100644 --- a/lib/matplotlib/collections.py +++ b/lib/matplotlib/collections.py @@ -964,7 +964,7 @@ def set_verts(self, verts, closed=True): def set_verts_and_codes(self, verts, codes): '''This allows one to initialize vertices with path codes.''' - if (len(verts) != len(codes)): + if len(verts) != len(codes): raise ValueError("'codes' must be a 1D list or array " "with the same length of 'verts'") self._paths = [] diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index ef400898d802..30827ce49a46 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -737,9 +737,9 @@ def suptitle(self, t, **kwargs): x = kwargs.pop('x', 0.5) y = kwargs.pop('y', 0.98) - if ('horizontalalignment' not in kwargs) and ('ha' not in kwargs): + if 'horizontalalignment' not in kwargs and 'ha' not in kwargs: kwargs['horizontalalignment'] = 'center' - if ('verticalalignment' not in kwargs) and ('va' not in kwargs): + if 'verticalalignment' not in kwargs and 'va' not in kwargs: kwargs['verticalalignment'] = 'top' if 'fontproperties' not in kwargs: diff --git a/lib/matplotlib/gridspec.py b/lib/matplotlib/gridspec.py index a9cfc5e9ffbc..9e4faa2b98a9 100644 --- a/lib/matplotlib/gridspec.py +++ b/lib/matplotlib/gridspec.py @@ -212,7 +212,7 @@ def __init__(self, nrows, ncols, figure=None, width_ratios=width_ratios, height_ratios=height_ratios) - if (self.figure is None) or not self.figure.get_constrained_layout(): + if self.figure is None or not self.figure.get_constrained_layout(): self._layoutbox = None else: self.figure.init_layoutbox() diff --git a/lib/matplotlib/legend.py b/lib/matplotlib/legend.py index 00e63951cd18..22801e6c2641 100644 --- a/lib/matplotlib/legend.py +++ b/lib/matplotlib/legend.py @@ -1242,7 +1242,7 @@ def _get_legend_handles_labels(axs, legend_handler_map=None): for handle in _get_legend_handles(axs, legend_handler_map): label = handle.get_label() - if (label and not label.startswith('_')): + if label and not label.startswith('_'): handles.append(handle) labels.append(label) return handles, labels diff --git a/lib/matplotlib/lines.py b/lib/matplotlib/lines.py index 3f30770767d3..dc0c4cdcc0e7 100644 --- a/lib/matplotlib/lines.py +++ b/lib/matplotlib/lines.py @@ -882,10 +882,7 @@ def get_markeredgewidth(self): return self._markeredgewidth def _get_markerfacecolor(self, alt=False): - if alt: - fc = self._markerfacecoloralt - else: - fc = self._markerfacecolor + fc = self._markerfacecoloralt if alt else self._markerfacecolor if cbook._str_lower_equal(fc, 'auto'): if self.get_fillstyle() == 'none': return 'none' diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index 1b037751c19b..932bf594275f 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -71,9 +71,9 @@ def __init__(self, self._hatch_color = colors.to_rgba(mpl.rcParams['hatch.color']) self._fill = True # needed for set_facecolor call if color is not None: - if (edgecolor is not None or facecolor is not None): + if edgecolor is not None or facecolor is not None: warnings.warn("Setting the 'color' property will override" - "the edgecolor or facecolor properties. ") + "the edgecolor or facecolor properties.") self.set_color(color) else: self.set_edgecolor(edgecolor) diff --git a/lib/matplotlib/path.py b/lib/matplotlib/path.py index e2cee67974bf..3fb70ed8d3ac 100644 --- a/lib/matplotlib/path.py +++ b/lib/matplotlib/path.py @@ -131,7 +131,7 @@ def __init__(self, vertices, codes=None, _interpolation_steps=1, if codes is not None: codes = np.asarray(codes, self.code_type) - if (codes.ndim != 1) or len(codes) != len(vertices): + if codes.ndim != 1 or len(codes) != len(vertices): raise ValueError("'codes' must be a 1D list or array with the " "same length of 'vertices'") if len(codes) and codes[0] != self.MOVETO: diff --git a/lib/matplotlib/tests/test_patches.py b/lib/matplotlib/tests/test_patches.py index f81e066046d4..1d0319b138ba 100644 --- a/lib/matplotlib/tests/test_patches.py +++ b/lib/matplotlib/tests/test_patches.py @@ -250,7 +250,7 @@ def test_wedge_movement(): 'theta1': (0, 30, 'set_theta1'), 'theta2': (45, 50, 'set_theta2')} - init_args = dict((k, v[0]) for (k, v) in param_dict.items()) + init_args = {k: v[0] for k, v in param_dict.items()} w = mpatches.Wedge(**init_args) for attr, (old_v, new_v, func) in param_dict.items(): diff --git a/lib/matplotlib/tests/test_text.py b/lib/matplotlib/tests/test_text.py index 4474099738c5..b9228523abef 100644 --- a/lib/matplotlib/tests/test_text.py +++ b/lib/matplotlib/tests/test_text.py @@ -435,7 +435,7 @@ def test_two_2line_texts(spacing1, spacing2): # line spacing only affects height assert box1.width == box2.width - if (spacing1 == spacing2): + if spacing1 == spacing2: assert box1.height == box2.height else: assert box1.height != box2.height diff --git a/lib/matplotlib/ticker.py b/lib/matplotlib/ticker.py index abac4392dca6..a967f8e8bc4a 100644 --- a/lib/matplotlib/ticker.py +++ b/lib/matplotlib/ticker.py @@ -2410,12 +2410,12 @@ def tick_values(self, vmin, vmax): ticklocs = [] if decade_min <= -1: expo = np.arange(decade_min, min(0, decade_max + 1)) - ticklocs.extend(list(10**expo)) + ticklocs.extend(10**expo) if decade_min <= 0 <= decade_max: ticklocs.append(0.5) if decade_max >= 1: expo = -np.arange(max(1, decade_min), decade_max + 1) - ticklocs.extend(list(1 - 10**expo)) + ticklocs.extend(1 - 10**expo) # minor ticks else: @@ -2423,13 +2423,13 @@ def tick_values(self, vmin, vmax): if decade_min <= -2: expo = np.arange(decade_min, min(-1, decade_max)) newticks = np.outer(np.arange(2, 10), 10**expo).ravel() - ticklocs.extend(list(newticks)) + ticklocs.extend(newticks) if decade_min <= 0 <= decade_max: ticklocs.extend([0.2, 0.3, 0.4, 0.6, 0.7, 0.8]) if decade_max >= 2: expo = -np.arange(max(2, decade_min), decade_max + 1) newticks = 1 - np.outer(np.arange(2, 10), 10**expo).ravel() - ticklocs.extend(list(newticks)) + ticklocs.extend(newticks) return self.raise_if_exceeds(np.array(ticklocs)) diff --git a/lib/matplotlib/tri/triinterpolate.py b/lib/matplotlib/tri/triinterpolate.py index 1aefc77e64a6..48d9d5c82681 100644 --- a/lib/matplotlib/tri/triinterpolate.py +++ b/lib/matplotlib/tri/triinterpolate.py @@ -175,7 +175,7 @@ def _interpolate_multikeys(self, x, y, tri_index=None, if tri_index is None: tri_index = self._trifinder(x, y) else: - if (tri_index.shape != sh_ret): + if tri_index.shape != sh_ret: raise ValueError( "tri_index array is provided and shall" " have same shape as x and y. Given: " diff --git a/lib/matplotlib/widgets.py b/lib/matplotlib/widgets.py index c8f6411914bf..65e11e10a232 100644 --- a/lib/matplotlib/widgets.py +++ b/lib/matplotlib/widgets.py @@ -413,7 +413,7 @@ def _update(self, event): event.canvas.release_mouse(self.ax) return val = self._value_in_bounds(event.xdata) - if (val is not None) and (val != self.val): + if val not in [None, self.val]: self.set_val(val) def set_val(self, val): @@ -474,7 +474,7 @@ def disconnect(self, cid): def reset(self): """Reset the slider to the initial value""" - if (self.val != self.valinit): + if self.val != self.valinit: self.set_val(self.valinit) diff --git a/lib/mpl_toolkits/axes_grid1/axes_grid.py b/lib/mpl_toolkits/axes_grid1/axes_grid.py index d640c8870e67..5a7f9057f16e 100644 --- a/lib/mpl_toolkits/axes_grid1/axes_grid.py +++ b/lib/mpl_toolkits/axes_grid1/axes_grid.py @@ -169,7 +169,7 @@ def __init__(self, fig, if ngrids is None: ngrids = self._nrows * self._ncols else: - if (ngrids > self._nrows * self._ncols) or (ngrids <= 0): + if not 0 < ngrids <= self._nrows * self._ncols: raise Exception("") self.ngrids = ngrids diff --git a/lib/mpl_toolkits/axisartist/axis_artist.py b/lib/mpl_toolkits/axisartist/axis_artist.py index 1ae2f7dbea01..be51bd57db88 100644 --- a/lib/mpl_toolkits/axisartist/axis_artist.py +++ b/lib/mpl_toolkits/axisartist/axis_artist.py @@ -216,7 +216,7 @@ def __init__(self, ticksize, tick_out=False, *, axis=None, **kwargs): if self._axis is not None: if "color" not in kwargs: kwargs["color"] = "auto" - if ("mew" not in kwargs) and ("markeredgewidth" not in kwargs): + if "mew" not in kwargs and "markeredgewidth" not in kwargs: kwargs["markeredgewidth"] = "auto" Line2D.__init__(self, [0.], [0.], **kwargs) @@ -1125,8 +1125,8 @@ def _draw_ticks(self, renderer): self.minor_ticks.draw(renderer) self.minor_ticklabels.draw(renderer) - - if (self.major_ticklabels.get_visible() or self.minor_ticklabels.get_visible()): + if (self.major_ticklabels.get_visible() + or self.minor_ticklabels.get_visible()): self._draw_offsetText(renderer) return extents @@ -1169,8 +1169,8 @@ def _draw_ticks2(self, renderer): self.minor_ticks.draw(renderer) self.minor_ticklabels.draw(renderer) - - if (self.major_ticklabels.get_visible() or self.minor_ticklabels.get_visible()): + if (self.major_ticklabels.get_visible() + or self.minor_ticklabels.get_visible()): self._draw_offsetText(renderer) return self.major_ticklabels.get_window_extents(renderer) diff --git a/lib/mpl_toolkits/axisartist/floating_axes.py b/lib/mpl_toolkits/axisartist/floating_axes.py index a1070558d6a5..917ef31fc225 100644 --- a/lib/mpl_toolkits/axisartist/floating_axes.py +++ b/lib/mpl_toolkits/axisartist/floating_axes.py @@ -66,8 +66,7 @@ def get_axislabel_pos_angle(self, axes): trans_passingthrough_point = axes.transData + axes.transAxes.inverted() p = trans_passingthrough_point.transform_point([xx1[0], yy1[0]]) - - if (0. <= p[0] <= 1.) and (0. <= p[1] <= 1.): + if 0 <= p[0] <= 1 and 0 <= p[1] <= 1: xx1c, yy1c = axes.transData.transform_point([xx1[0], yy1[0]]) xx2, yy2 = grid_finder.transform_xy([xx0+dxx], [yy0+dyy]) xx2c, yy2c = axes.transData.transform_point([xx2[0], yy2[0]]) diff --git a/lib/mpl_toolkits/axisartist/grid_helper_curvelinear.py b/lib/mpl_toolkits/axisartist/grid_helper_curvelinear.py index 01dbd1eae1aa..856d6c177a8a 100644 --- a/lib/mpl_toolkits/axisartist/grid_helper_curvelinear.py +++ b/lib/mpl_toolkits/axisartist/grid_helper_curvelinear.py @@ -175,8 +175,7 @@ def get_axislabel_pos_angle(self, axes): trans_passingthrough_point = axes.transData + axes.transAxes.inverted() p = trans_passingthrough_point.transform_point([xx1[0], yy1[0]]) - - if (0. <= p[0] <= 1.) and (0. <= p[1] <= 1.): + if 0 <= p[0] <= 1 and 0 <= p[1] <= 1: xx1c, yy1c = axes.transData.transform_point([xx1[0], yy1[0]]) xx2, yy2 = grid_finder.transform_xy([xx0+dxx], [yy0+dyy]) xx2c, yy2c = axes.transData.transform_point([xx2[0], yy2[0]]) diff --git a/setupext.py b/setupext.py index b42dbca58406..27c315fff1d7 100644 --- a/setupext.py +++ b/setupext.py @@ -478,7 +478,7 @@ def _check_for_pkg_config(self, package, include_file, min_version=None, "Requires patches that have not been merged upstream.") if min_version and version != 'unknown': - if (not is_min_version(version, min_version)): + if not is_min_version(version, min_version): raise CheckFailed( "Requires %s %s or later. Found %s." % (package, min_version, version)) From c66a2a6ebe653f951d8d720a12ccd25616e06ed6 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Tue, 17 Jul 2018 19:23:36 +0200 Subject: [PATCH 1004/1161] Remove some unnecessary calls to list(). --- examples/color/colormap_reference.py | 2 +- lib/matplotlib/backend_tools.py | 2 +- lib/matplotlib/backends/qt_editor/formlayout.py | 4 +--- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/examples/color/colormap_reference.py b/examples/color/colormap_reference.py index e99dd25e678b..759e12609e9b 100644 --- a/examples/color/colormap_reference.py +++ b/examples/color/colormap_reference.py @@ -52,7 +52,7 @@ def plot_color_gradients(cmap_category, cmap_list, nrows): for ax, name in zip(axes, cmap_list): ax.imshow(gradient, aspect='auto', cmap=plt.get_cmap(name)) - pos = list(ax.get_position().bounds) + pos = ax.get_position().bounds x_text = pos[0] - 0.01 y_text = pos[1] + pos[3]/2. fig.text(x_text, y_text, name, va='center', ha='right', fontsize=10) diff --git a/lib/matplotlib/backend_tools.py b/lib/matplotlib/backend_tools.py index 50b021679694..a913dbaf6dc7 100644 --- a/lib/matplotlib/backend_tools.py +++ b/lib/matplotlib/backend_tools.py @@ -25,7 +25,7 @@ class Cursors(object): """Simple namespace for cursor reference""" - HAND, POINTER, SELECT_REGION, MOVE, WAIT = list(range(5)) + HAND, POINTER, SELECT_REGION, MOVE, WAIT = range(5) cursors = Cursors() # Views positions tool diff --git a/lib/matplotlib/backends/qt_editor/formlayout.py b/lib/matplotlib/backends/qt_editor/formlayout.py index ee2eb6beae10..1389cda1e309 100644 --- a/lib/matplotlib/backends/qt_editor/formlayout.py +++ b/lib/matplotlib/backends/qt_editor/formlayout.py @@ -243,10 +243,8 @@ def setup(self): elif isinstance(value, str): field = QtWidgets.QLineEdit(value, self) elif isinstance(value, (list, tuple)): - if isinstance(value, tuple): - value = list(value) - selindex = value.pop(0) field = QtWidgets.QComboBox(self) + selindex, *value = value if isinstance(value[0], (list, tuple)): keys = [key for key, _val in value] value = [val for _key, val in value] From 6138aa59a6935ebabb7ec7a12c3a271a99258d84 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Tue, 17 Jul 2018 23:29:06 +0200 Subject: [PATCH 1005/1161] Another super()-ification. --- lib/mpl_toolkits/axes_grid1/parasite_axes.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/lib/mpl_toolkits/axes_grid1/parasite_axes.py b/lib/mpl_toolkits/axes_grid1/parasite_axes.py index bd8dd58a4e57..b7532c428ccc 100644 --- a/lib/mpl_toolkits/axes_grid1/parasite_axes.py +++ b/lib/mpl_toolkits/axes_grid1/parasite_axes.py @@ -59,11 +59,9 @@ def _get_base_axes_attr(self, attrname): class ParasiteAxesAuxTransBase(object): def __init__(self, parent_axes, aux_transform, viewlim_mode=None, **kwargs): - self.transAux = aux_transform self.set_viewlim_mode(viewlim_mode) - - self._parasite_axes_class.__init__(self, parent_axes, **kwargs) + super().__init__(parent_axes, **kwargs) def _set_lim_and_transforms(self): @@ -188,8 +186,7 @@ def parasite_axes_auxtrans_class_factory(axes_class=None): parasite_axes_class = axes_class return type("%sParasiteAuxTrans" % parasite_axes_class.__name__, (ParasiteAxesAuxTransBase, parasite_axes_class), - {'_parasite_axes_class': parasite_axes_class, - 'name': 'parasite_axes'}) + {'name': 'parasite_axes'}) ParasiteAxesAuxTrans = parasite_axes_auxtrans_class_factory( From 4de192b2f03883e1541f9034ccddca46b464388c Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Tue, 17 Jul 2018 15:39:14 -0700 Subject: [PATCH 1006/1161] DOC: link brokenaxes package in third part --- doc/_static/brokenaxes.png | Bin 0 -> 17438 bytes doc/thirdpartypackages/index.rst | 8 ++++++++ 2 files changed, 8 insertions(+) create mode 100644 doc/_static/brokenaxes.png diff --git a/doc/_static/brokenaxes.png b/doc/_static/brokenaxes.png new file mode 100644 index 0000000000000000000000000000000000000000..c1e1a3888177cdf1fe9d35acabd504d28b6dcc0b GIT binary patch literal 17438 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 aM9wQ?AjZ`xp#cu~K#~?$0GE9-2>M?vtiK2V literal 0 HcmV?d00001 diff --git a/doc/thirdpartypackages/index.rst b/doc/thirdpartypackages/index.rst index ad92d91a9b2f..8ae7cef899b7 100644 --- a/doc/thirdpartypackages/index.rst +++ b/doc/thirdpartypackages/index.rst @@ -71,6 +71,13 @@ make up the plot. Specialty plots *************** +Broken Axes +=========== +`brokenaxes <https://github.com/bendichter/brokenaxes>`_ supplies an axes +class that can have a visual break to indicate a discontinuous range. + +.. image:: /_static/brokenaxes.png + DeCiDa ====== @@ -153,6 +160,7 @@ Windrose Numpy library to manage wind data, draw windroses (also known as polar rose plots), draw probability density functions and fit Weibull distributions. + Interactivity ************* From 541503004d528b74004a5bf4e2081cdd773130fe Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Wed, 18 Jul 2018 11:13:13 +0200 Subject: [PATCH 1007/1161] Update venv docs. - PySide2 is now available on PyPI. - --system-site-packages has always worked with stdlib's venv as well. - uniformize usage of "venv" instead of "virtualenv" as a name. --- doc/faq/virtualenv_faq.rst | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/doc/faq/virtualenv_faq.rst b/doc/faq/virtualenv_faq.rst index a0336d9c4791..3406f4f75763 100644 --- a/doc/faq/virtualenv_faq.rst +++ b/doc/faq/virtualenv_faq.rst @@ -25,15 +25,13 @@ Otherwise, the situation (at the time of writing) is as follows: framework bindings pip-installable? conda or conda-forge-installable? ========= ========= ================ ================================= Qt5 PyQt5 yes yes -Qt5 PySide2 yes [#]_ yes +Qt5 PySide2 yes yes Qt4 PyQt4 no yes Qt4 PySide OSX and Windows yes GTK3 PyGObject yes [#]_ Linux and OSX wxWidgets wxPython yes [#]_ yes ========= ========= ================ ================================= -.. [#] See http://lists.qt-project.org/pipermail/pyside/2018-March/002537.html. - .. [#] No wheels available, see https://pygobject.readthedocs.io/en/latest/devguide/dev_environ.html for build instructions. @@ -48,20 +46,19 @@ all cases, the system-wide Python and the venv Python must be of the same version): - `vext <https://pypi.python.org/pypi/vext>`_ allows controlled access - from within the virtualenv to specific system-wide packages without the - overall shadowing issue. A specific package needs to be installed for each - framework, e.g. `vext.pyqt5 <https://pypi.python.org/pypi/vext.pyqt5>`_, etc. - It is recommended to use ``vext>=0.7.0`` as earlier versions misconfigure the - logging system. + from within the venv to specific system-wide packages. A specific + package needs to be installed for each framework, e.g. `vext.pyqt5 + <https://pypi.python.org/pypi/vext.pyqt5>`_, etc. It is recommended to use + ``vext>=0.7.0`` as earlier versions misconfigure the logging system. -- When using `virtualenv <https://virtualenv.pypa.io/>` (rather than the - stdlib's ``venv``), using the ``--system-site-packages`` option when creating - an environment adds all system-wide packages to the virtual environment. - However, this breaks the isolation between the virtual environment and the - system install. Among other issues it results in hard to debug problems - with system packages shadowing the environment packages. If you use - `virtualenvwrapper <https://virtualenvwrapper.readthedocs.io/>`_, this can be - toggled with the ``toggleglobalsitepackages`` command. +- Using the ``--system-site-packages`` option when creating an environment + adds all system-wide packages to the virtual environment. However, this + breaks the isolation between the virtual environment and the system + install. Among other issues it results in hard to debug problems with + system packages shadowing the environment packages. If you use `virtualenv + <https://virtualenv.pypa.io/>` (rather than the stdlib's ``venv``) together + with `virtualenvwrapper <https://virtualenvwrapper.readthedocs.io/>`_, this + can be toggled with the ``toggleglobalsitepackages`` command. If you are using Matplotlib on OSX, you may also want to consider the :ref:`OSX framework FAQ <osxframework-faq>`. From efafd31f252c01592c2ecbe761b5a9e5c6885a74 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Wed, 18 Jul 2018 13:48:53 +0200 Subject: [PATCH 1008/1161] Avoid using private APIs in examples. Most fixes are trivial, except the removal of the call to _update_patch_transform() in widgets/menu.py: this is OK because calling Rectangle.draw() will itself call _update_patch_transform() via get_patch_transform(). --- examples/specialty_plots/radar_chart.py | 2 +- examples/text_labels_and_annotations/demo_text_path.py | 4 +--- examples/text_labels_and_annotations/rainbow_text.py | 6 ++++-- examples/widgets/menu.py | 1 - 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/examples/specialty_plots/radar_chart.py b/examples/specialty_plots/radar_chart.py index 9a68474cfa82..6df32b3f1a8f 100644 --- a/examples/specialty_plots/radar_chart.py +++ b/examples/specialty_plots/radar_chart.py @@ -90,7 +90,7 @@ def _gen_axes_patch(self): def _gen_axes_spines(self): if frame == 'circle': - return PolarAxes._gen_axes_spines(self) + return super()._gen_axes_spines() # The following is a hack to get the spines (i.e. the axes frame) # to draw correctly for a polygon frame. diff --git a/examples/text_labels_and_annotations/demo_text_path.py b/examples/text_labels_and_annotations/demo_text_path.py index 69330ceaabb2..d1e2d421b07c 100644 --- a/examples/text_labels_and_annotations/demo_text_path.py +++ b/examples/text_labels_and_annotations/demo_text_path.py @@ -66,9 +66,7 @@ def draw(self, renderer=None): ax = plt.subplot(211) - from matplotlib._png import read_png - fn = get_sample_data("grace_hopper.png", asfileobj=False) - arr = read_png(fn) + arr = plt.imread(get_sample_data("grace_hopper.png")) text_path = TextPath((0, 0), "!?", size=150) p = PathClippedImagePatch(text_path, arr, ec="k", diff --git a/examples/text_labels_and_annotations/rainbow_text.py b/examples/text_labels_and_annotations/rainbow_text.py index 5dce48a46431..bcfd9a38d750 100644 --- a/examples/text_labels_and_annotations/rainbow_text.py +++ b/examples/text_labels_and_annotations/rainbow_text.py @@ -48,7 +48,8 @@ def rainbow_text(x, y, strings, colors, ax=None, **kw): text = ax.text(x, y, s + " ", color=c, transform=t, **kw) text.draw(canvas.get_renderer()) ex = text.get_window_extent() - t = transforms.offset_copy(text._transform, x=ex.width, units='dots') + t = transforms.offset_copy( + text.get_transform(), x=ex.width, units='dots') # vertical version for s, c in zip(strings, colors): @@ -56,7 +57,8 @@ def rainbow_text(x, y, strings, colors, ax=None, **kw): rotation=90, va='bottom', ha='center', **kw) text.draw(canvas.get_renderer()) ex = text.get_window_extent() - t = transforms.offset_copy(text._transform, y=ex.height, units='dots') + t = transforms.offset_copy( + text.get_transform(), y=ex.height, units='dots') rainbow_text(0, 0, "all unicorns poop rainbows ! ! !".split(), diff --git a/examples/widgets/menu.py b/examples/widgets/menu.py index fa5e3a54ace0..326e28fd81a1 100644 --- a/examples/widgets/menu.py +++ b/examples/widgets/menu.py @@ -89,7 +89,6 @@ def set_extent(self, x, y, w, h): self.label.ox = x + self.padx self.label.oy = y - self.depth + self.pady/2. - self.rect._update_patch_transform() self.hover = False def draw(self, renderer): From 5a110ea81db68adf45e9cbd1c75de49b9d2b61f4 Mon Sep 17 00:00:00 2001 From: Federico Ariza <federico.ariza@algolux.com> Date: Wed, 18 Jul 2018 09:58:28 -0400 Subject: [PATCH 1009/1161] moving toolmanager initialization up before toolbar --- lib/matplotlib/backends/_backend_tk.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/backends/_backend_tk.py b/lib/matplotlib/backends/_backend_tk.py index 03b5007d37f2..e361baecb3df 100644 --- a/lib/matplotlib/backends/_backend_tk.py +++ b/lib/matplotlib/backends/_backend_tk.py @@ -511,12 +511,13 @@ def __init__(self, canvas, num, window): self.window.withdraw() self.set_window_title("Figure %d" % num) self.canvas = canvas + # If using toolmanager it has to be present when initializing the toolbar + self.toolmanager = self._get_toolmanager() # packing toolbar first, because if space is getting low, last packed widget is getting shrunk first (-> the canvas) self.toolbar = self._get_toolbar() self.canvas._tkcanvas.pack(side=Tk.TOP, fill=Tk.BOTH, expand=1) self._num = num - self.toolmanager = self._get_toolmanager() self.statusbar = None if self.toolmanager: From 0367572abc2c7dc0a8d91b36eed7db2629a92f23 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Wed, 18 Jul 2018 17:19:22 +0200 Subject: [PATCH 1010/1161] Don't force backend in toolmanager example. This allows one to set the backend from the matplotlibrc or the MPLBACKEND environment variable. --- examples/user_interfaces/toolmanager_sgskip.py | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/examples/user_interfaces/toolmanager_sgskip.py b/examples/user_interfaces/toolmanager_sgskip.py index 9820e12744c5..f1fd7c6146bc 100644 --- a/examples/user_interfaces/toolmanager_sgskip.py +++ b/examples/user_interfaces/toolmanager_sgskip.py @@ -13,15 +13,8 @@ Using `matplotlib.backend_managers.ToolManager` """ - -import matplotlib -# Change to the desired backend -matplotlib.use('GTK3Cairo') -# matplotlib.use('TkAgg') -# matplotlib.use('QT5Agg') -# matplotlib.use('WxAgg') -matplotlib.rcParams['toolbar'] = 'toolmanager' import matplotlib.pyplot as plt +plt.rcParams['toolbar'] = 'toolmanager' from matplotlib.backend_tools import ToolBase, ToolToggleBase From 1966f97216b01d9cb66ef5df10e61e17767bc86b Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Wed, 18 Jul 2018 21:44:21 +0200 Subject: [PATCH 1011/1161] Dedent overindented rst bullet lists. --- doc/devel/add_new_projection.rst | 86 +++++++++++++++----------------- doc/devel/testing.rst | 30 ++++++----- doc/users/dflt_style_changes.rst | 34 ++++++------- 3 files changed, 72 insertions(+), 78 deletions(-) diff --git a/doc/devel/add_new_projection.rst b/doc/devel/add_new_projection.rst index 3370a0997112..7cf766267e44 100644 --- a/doc/devel/add_new_projection.rst +++ b/doc/devel/add_new_projection.rst @@ -39,24 +39,23 @@ Adding a new scale consists of defining a subclass of :class:`matplotlib.scale.ScaleBase`, that includes the following elements: - - A transformation from data coordinates into display coordinates. +- A transformation from data coordinates into display coordinates. - - An inverse of that transformation. This is used, for example, to - convert mouse positions from screen space back into data space. +- An inverse of that transformation. This is used, for example, to + convert mouse positions from screen space back into data space. - - A function to limit the range of the axis to acceptable values - (``limit_range_for_scale()``). A log scale, for instance, would - prevent the range from including values less than or equal to - zero. +- A function to limit the range of the axis to acceptable values + (``limit_range_for_scale()``). A log scale, for instance, would + prevent the range from including values less than or equal to zero. - - Locators (major and minor) that determine where to place ticks in - the plot, and optionally, how to adjust the limits of the plot to - some "good" values. Unlike ``limit_range_for_scale()``, which is - always enforced, the range setting here is only used when - automatically setting the range of the plot. +- Locators (major and minor) that determine where to place ticks in + the plot, and optionally, how to adjust the limits of the plot to + some "good" values. Unlike ``limit_range_for_scale()``, which is + always enforced, the range setting here is only used when + automatically setting the range of the plot. - - Formatters (major and minor) that specify how the tick labels - should be drawn. +- Formatters (major and minor) that specify how the tick labels + should be drawn. Once the class is defined, it must be registered with matplotlib so that the user can select it. @@ -75,51 +74,48 @@ Adding a new projection consists of defining a projection axes which subclasses :class:`matplotlib.axes.Axes` and includes the following elements: - - A transformation from data coordinates into display coordinates. +- A transformation from data coordinates into display coordinates. - - An inverse of that transformation. This is used, for example, to - convert mouse positions from screen space back into data space. +- An inverse of that transformation. This is used, for example, to + convert mouse positions from screen space back into data space. - - Transformations for the gridlines, ticks and ticklabels. Custom - projections will often need to place these elements in special - locations, and matplotlib has a facility to help with doing so. +- Transformations for the gridlines, ticks and ticklabels. Custom + projections will often need to place these elements in special + locations, and matplotlib has a facility to help with doing so. - - Setting up default values (overriding - :meth:`~matplotlib.axes.Axes.cla`), since the defaults for a - rectilinear axes may not be appropriate. +- Setting up default values (overriding :meth:`~matplotlib.axes.Axes.cla`), + since the defaults for a rectilinear axes may not be appropriate. - - Defining the shape of the axes, for example, an elliptical axes, - that will be used to draw the background of the plot and for - clipping any data elements. +- Defining the shape of the axes, for example, an elliptical axes, that will be + used to draw the background of the plot and for clipping any data elements. - - Defining custom locators and formatters for the projection. For - example, in a geographic projection, it may be more convenient to - display the grid in degrees, even if the data is in radians. +- Defining custom locators and formatters for the projection. For + example, in a geographic projection, it may be more convenient to + display the grid in degrees, even if the data is in radians. - - Set up interactive panning and zooming. This is left as an - "advanced" feature left to the reader, but there is an example of - this for polar plots in :mod:`matplotlib.projections.polar`. +- Set up interactive panning and zooming. This is left as an + "advanced" feature left to the reader, but there is an example of + this for polar plots in :mod:`matplotlib.projections.polar`. - - Any additional methods for additional convenience or features. +- Any additional methods for additional convenience or features. Once the projection axes is defined, it can be used in one of two ways: - - By defining the class attribute ``name``, the projection axes can be - registered with :func:`matplotlib.projections.register_projection` - and subsequently simply invoked by name:: +- By defining the class attribute ``name``, the projection axes can be + registered with :func:`matplotlib.projections.register_projection` + and subsequently simply invoked by name:: - plt.axes(projection='my_proj_name') + plt.axes(projection='my_proj_name') - - For more complex, parameterisable projections, a generic "projection" - object may be defined which includes the method ``_as_mpl_axes``. - ``_as_mpl_axes`` should take no arguments and return the projection's - axes subclass and a dictionary of additional arguments to pass to the - subclass' ``__init__`` method. Subsequently a parameterised projection - can be initialised with:: +- For more complex, parameterisable projections, a generic "projection" object + may be defined which includes the method ``_as_mpl_axes``. ``_as_mpl_axes`` + should take no arguments and return the projection's axes subclass and a + dictionary of additional arguments to pass to the subclass' ``__init__`` + method. Subsequently a parameterised projection can be initialised with:: - plt.axes(projection=MyProjection(param1=param1_value)) + plt.axes(projection=MyProjection(param1=param1_value)) - where MyProjection is an object which implements a ``_as_mpl_axes`` method. + where MyProjection is an object which implements a ``_as_mpl_axes`` method. A full-fledged and heavily annotated example is in diff --git a/doc/devel/testing.rst b/doc/devel/testing.rst index 7797c7ce580e..b3a191be1fa1 100644 --- a/doc/devel/testing.rst +++ b/doc/devel/testing.rst @@ -25,16 +25,16 @@ local FreeType build The following software is required to run the tests: - - pytest_ (>=3.4) - - Ghostscript_ (to render PDF files) - - Inkscape_ (to render SVG files) +- pytest_ (>=3.4) +- Ghostscript_ (to render PDF files) +- Inkscape_ (to render SVG files) Optionally you can install: - - pytest-cov_ (>=2.3.1) to collect coverage information - - pytest-pep8_ to test coding standards - - pytest-timeout_ to limit runtime in case of stuck tests - - pytest-xdist_ to run tests in parallel +- pytest-cov_ (>=2.3.1) to collect coverage information +- pytest-pep8_ to test coding standards +- pytest-timeout_ to limit runtime in case of stuck tests +- pytest-xdist_ to run tests in parallel Running the tests @@ -188,16 +188,14 @@ a feature dependent on that backend. There are two optional keyword arguments to the `image_comparison` decorator: - - `extensions`: If you only wish to test additional image formats - (rather than just `png`), pass any additional file types in the - list of the extensions to test. When copying the new - baseline files be sure to only copy the output files, not their - conversions to ``png``. For example only copy the files - ending in ``pdf``, not in ``_pdf.png``. +- `extensions`: If you only wish to test additional image formats (rather than + just `png`), pass any additional file types in the list of the extensions to + test. When copying the new baseline files be sure to only copy the output + files, not their conversions to ``png``. For example only copy the files + ending in ``pdf``, not in ``_pdf.png``. - - `tol`: This is the image matching tolerance, the default `1e-3`. - If some variation is expected in the image between runs, this - value may be adjusted. +- `tol`: This is the image matching tolerance, the default `1e-3`. If some + variation is expected in the image between runs, this value may be adjusted. Known failing tests ------------------- diff --git a/doc/users/dflt_style_changes.rst b/doc/users/dflt_style_changes.rst index 22624683892b..a2a687ae7620 100644 --- a/doc/users/dflt_style_changes.rst +++ b/doc/users/dflt_style_changes.rst @@ -275,12 +275,12 @@ Plotting functions The following changes were made to the default behavior of `~matplotlib.axes.Axes.scatter` - - The default size of the elements in a scatter plot is now based on - the rcParam ``lines.markersize`` so it is consistent with ``plot(X, - Y, 'o')``. The old value was 20, and the new value is 36 (6^2). - - scatter markers no longer have a black edge. - - if the color of the markers is not specified it will follow the - property cycle, pulling from the 'patches' cycle on the ``Axes``. +- The default size of the elements in a scatter plot is now based on + the rcParam ``lines.markersize`` so it is consistent with ``plot(X, + Y, 'o')``. The old value was 20, and the new value is 36 (6^2). +- Scatter markers no longer have a black edge. +- If the color of the markers is not specified it will follow the + property cycle, pulling from the 'patches' cycle on the ``Axes``. .. plot:: @@ -323,10 +323,10 @@ a per-call basis pass the following kwargs:: The following changes were made to the default behavior of `~matplotlib.axes.Axes.plot` - - the default linewidth increased from 1 to 1.5 - - the dash patterns associated with ``'--'``, ``':'``, and ``'-.'`` have - changed - - the dash patterns now scale with line width +- the default linewidth increased from 1 to 1.5 +- the dash patterns associated with ``'--'``, ``':'``, and ``'-.'`` have + changed +- the dash patterns now scale with line width .. plot:: @@ -642,18 +642,18 @@ Hatching The color of the lines in the hatch is now determined by - - If an edge color is explicitly set, use that for the hatch color - - If the edge color is not explicitly set, use ``rcParam['hatch.color']`` which - is looked up at artist creation time. +- If an edge color is explicitly set, use that for the hatch color +- If the edge color is not explicitly set, use ``rcParam['hatch.color']`` which + is looked up at artist creation time. The width of the lines in a hatch pattern is now configurable by the rcParams `hatch.linewidth`, which defaults to 1 point. The old behavior for the line width was different depending on backend: - - PDF: 0.1 pt - - SVG: 1.0 pt - - PS: 1 px - - Agg: 1 px +- PDF: 0.1 pt +- SVG: 1.0 pt +- PS: 1 px +- Agg: 1 px The old line width behavior can not be restored across all backends simultaneously, but can be restored for a single backend by setting:: From 209a6907d474b7580231fcbee4fb3e5ccabdb999 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Wed, 18 Jul 2018 21:47:25 +0200 Subject: [PATCH 1012/1161] Don't use pytest -rw now that pytest-warnings is builtin. The `-rw` (included in `-rawR`) option to pytest was added to display warnings back when we used pytest-warnings, but has now become unnecessary as pytest now displays warnings by default. Remove it (i.e. use `-raR`) instead to avoid some head-scratching. --- .appveyor.yml | 2 +- .travis.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index b6d1dea4fe45..195df7266014 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -12,7 +12,7 @@ environment: global: PYTHONIOENCODING: UTF-8 - PYTEST_ARGS: -rawR --numprocesses=auto --timeout=300 --durations=25 + PYTEST_ARGS: -raR --numprocesses=auto --timeout=300 --durations=25 --cov-report= --cov=lib -m "not network" matrix: diff --git a/.travis.yml b/.travis.yml index bcaa3de6c1ab..45b3e13c07a1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -63,7 +63,7 @@ env: - NPROC=2 - OPENBLAS_NUM_THREADS=1 - PYTHONFAULTHANDLER=1 - - PYTEST_ADDOPTS="-rawR --maxfail=50 --timeout=300 --durations=25 --cov-report= --cov=lib -n $NPROC" + - PYTEST_ADDOPTS="-raR --maxfail=50 --timeout=300 --durations=25 --cov-report= --cov=lib -n $NPROC" - RUN_FLAKE8= matrix: From eee91122d956c258b74f76559f72b1514f30d52c Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade <quantum.analyst@gmail.com> Date: Fri, 24 Mar 2017 01:10:29 -0400 Subject: [PATCH 1013/1161] Remove old ChangeLog from axes_grid. --- lib/mpl_toolkits/axes_grid/ChangeLog | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 lib/mpl_toolkits/axes_grid/ChangeLog diff --git a/lib/mpl_toolkits/axes_grid/ChangeLog b/lib/mpl_toolkits/axes_grid/ChangeLog deleted file mode 100644 index 79cc01cfdf40..000000000000 --- a/lib/mpl_toolkits/axes_grid/ChangeLog +++ /dev/null @@ -1,13 +0,0 @@ -2009-06-01 Jae-Joon Lee <lee.j.joon@gmail.com> - - * axislines.py (Axes.toggle_axisline): fix broken spine support. - (AxisArtistHelper): Initial support for curvelinear grid and ticks. - -2009-05-04 Jae-Joon Lee <lee.j.joon@gmail.com> - - * inset_locator.py (inset_axes, zoomed_inset_axes): axes_class support - - * axislines.py : Better support for tick (tick label) color - handling - (Axes.get_children): fix typo - From fa8f1aa4a5fda44eab2fef3ab5ddb5a14e31d213 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Wed, 18 Jul 2018 22:40:41 +0200 Subject: [PATCH 1014/1161] Use skipif instead of xfail when test dependencies are missing. In such cases, there's no need to even try running the test and get an exception out of it. --- lib/matplotlib/tests/test_backend_pdf.py | 2 +- lib/matplotlib/tests/test_backend_ps.py | 6 ++---- lib/matplotlib/tests/test_backend_qt4.py | 2 +- lib/matplotlib/tests/test_backend_svg.py | 2 +- lib/matplotlib/tests/test_image.py | 17 +++++------------ lib/matplotlib/tests/test_text.py | 2 +- 6 files changed, 11 insertions(+), 20 deletions(-) diff --git a/lib/matplotlib/tests/test_backend_pdf.py b/lib/matplotlib/tests/test_backend_pdf.py index b1407243e525..d895a282e7fa 100644 --- a/lib/matplotlib/tests/test_backend_pdf.py +++ b/lib/matplotlib/tests/test_backend_pdf.py @@ -14,7 +14,7 @@ _determinism_check) -needs_usetex = pytest.mark.xfail( +needs_usetex = pytest.mark.skipif( not checkdep_usetex(True), reason="This test needs a TeX installation") diff --git a/lib/matplotlib/tests/test_backend_ps.py b/lib/matplotlib/tests/test_backend_ps.py index ca6b53346308..ad5febf0c420 100644 --- a/lib/matplotlib/tests/test_backend_ps.py +++ b/lib/matplotlib/tests/test_backend_ps.py @@ -15,12 +15,10 @@ _determinism_check) -needs_ghostscript = pytest.mark.xfail( +needs_ghostscript = pytest.mark.skipif( matplotlib.checkdep_ghostscript()[0] is None, reason="This test needs a ghostscript installation") - - -needs_usetex = pytest.mark.xfail( +needs_usetex = pytest.mark.skipif( not matplotlib.checkdep_usetex(True), reason="This test needs a TeX installation") diff --git a/lib/matplotlib/tests/test_backend_qt4.py b/lib/matplotlib/tests/test_backend_qt4.py index 18c94dc2033b..6f7ad8ccff54 100644 --- a/lib/matplotlib/tests/test_backend_qt4.py +++ b/lib/matplotlib/tests/test_backend_qt4.py @@ -24,7 +24,7 @@ py_qt_ver = QtCore.__version_info__[0] if py_qt_ver != 4: - pytestmark = pytest.mark.xfail(reason='Qt4 is not available') + pytestmark = pytest.mark.skipif(reason='Qt4 is not available') @pytest.mark.backend('Qt4Agg') diff --git a/lib/matplotlib/tests/test_backend_svg.py b/lib/matplotlib/tests/test_backend_svg.py index 861c8922a8c6..ea4070cc3cbe 100644 --- a/lib/matplotlib/tests/test_backend_svg.py +++ b/lib/matplotlib/tests/test_backend_svg.py @@ -12,7 +12,7 @@ from matplotlib import dviread -needs_usetex = pytest.mark.xfail( +needs_usetex = pytest.mark.skipif( not matplotlib.checkdep_usetex(True), reason="This test needs a TeX installation") diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py index f3eb407f051e..098705bea2b0 100644 --- a/lib/matplotlib/tests/test_image.py +++ b/lib/matplotlib/tests/test_image.py @@ -21,14 +21,6 @@ import pytest -try: - from PIL import Image - HAS_PIL = True -except ImportError: - HAS_PIL = False -needs_pillow = pytest.mark.xfail(not HAS_PIL, reason='Test requires Pillow') - - @image_comparison(baseline_images=['image_interps'], style='mpl20') def test_image_interps(): 'make the basic nearest, bilinear and bicubic interps' @@ -111,8 +103,8 @@ def test_image_python_io(): plt.imread(buffer) -@needs_pillow def test_imread_pil_uint16(): + pytest.importorskip("PIL") img = plt.imread(os.path.join(os.path.dirname(__file__), 'baseline_images', 'test_image', 'uint16.tif')) assert img.dtype == np.uint16 @@ -120,8 +112,8 @@ def test_imread_pil_uint16(): @pytest.mark.skipif(sys.version_info < (3, 6), reason="requires Python 3.6+") -@needs_pillow def test_imread_fspath(): + pytest.importorskip("PIL") from pathlib import Path img = plt.imread( Path(__file__).parent / 'baseline_images/test_image/uint16.tif') @@ -498,8 +490,8 @@ def test_nonuniformimage_setnorm(): im.set_norm(plt.Normalize()) -@needs_pillow def test_jpeg_2d(): + Image = pytest.importorskip('PIL.Image') # smoke test that mode-L pillow images work. imd = np.ones((10, 10), dtype='uint8') for i in range(10): @@ -510,8 +502,9 @@ def test_jpeg_2d(): ax.imshow(im) -@needs_pillow def test_jpeg_alpha(): + Image = pytest.importorskip('PIL.Image') + plt.figure(figsize=(1, 1), dpi=300) # Create an image that is all black, with a gradient from 0-1 in # the alpha channel from left to right. diff --git a/lib/matplotlib/tests/test_text.py b/lib/matplotlib/tests/test_text.py index b9228523abef..47589a342a35 100644 --- a/lib/matplotlib/tests/test_text.py +++ b/lib/matplotlib/tests/test_text.py @@ -10,7 +10,7 @@ from matplotlib.testing.decorators import image_comparison -needs_usetex = pytest.mark.xfail( +needs_usetex = pytest.mark.skipif( not matplotlib.checkdep_usetex(True), reason="This test needs a TeX installation") From ff6139c84bbba5b9cb6ed035b94f1390364fca3d Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade <quantum.analyst@gmail.com> Date: Fri, 24 Mar 2017 03:15:50 -0400 Subject: [PATCH 1015/1161] Remove cross-references to axes_grid. This is provided for backwards-compatibility, so point directly to the implementations instead of the compatibility location. --- .flake8 | 3 +-- lib/mpl_toolkits/axes_grid/axes_divider.py | 10 +++---- lib/mpl_toolkits/axes_grid/axes_grid.py | 29 +++------------------ lib/mpl_toolkits/axes_grid/axes_rgb.py | 3 ++- lib/mpl_toolkits/axes_grid/parasite_axes.py | 3 +-- lib/mpl_toolkits/axisartist/axes_divider.py | 2 +- 6 files changed, 13 insertions(+), 37 deletions(-) diff --git a/.flake8 b/.flake8 index 0884c4406392..3974ac55ea19 100644 --- a/.flake8 +++ b/.flake8 @@ -61,8 +61,7 @@ per-file-ignores = matplotlib/type1font.py: E731 mpl_toolkits/__init__.py: E261 - mpl_toolkits/axes_grid/axes_divider.py: E501 - mpl_toolkits/axes_grid/axes_rgb.py: E302, E501 + mpl_toolkits/axes_grid/axes_rgb.py: E501 mpl_toolkits/axes_grid1/axes_divider.py: E402, E501 mpl_toolkits/axes_grid1/axes_grid.py: E225 mpl_toolkits/axes_grid1/axes_rgb.py: E231 diff --git a/lib/mpl_toolkits/axes_grid/axes_divider.py b/lib/mpl_toolkits/axes_grid/axes_divider.py index 134902bdcb9e..87760bbb0dc4 100644 --- a/lib/mpl_toolkits/axes_grid/axes_divider.py +++ b/lib/mpl_toolkits/axes_grid/axes_divider.py @@ -1,5 +1,5 @@ -from mpl_toolkits.axes_grid1.axes_divider import Divider, AxesLocator, SubplotDivider, \ - AxesDivider, locatable_axes_factory, make_axes_locatable - -from mpl_toolkits.axes_grid.axislines import Axes -LocatableAxes = locatable_axes_factory(Axes) +from mpl_toolkits.axes_grid1.axes_divider import ( + AxesDivider, AxesLocator, Divider, SubplotDivider, locatable_axes_factory, + make_axes_locatable) +from mpl_toolkits.axisartist.axes_divider import LocatableAxes +from mpl_toolkits.axisartist.axislines import Axes diff --git a/lib/mpl_toolkits/axes_grid/axes_grid.py b/lib/mpl_toolkits/axes_grid/axes_grid.py index 49a77a1fb2e9..db7507bb8254 100644 --- a/lib/mpl_toolkits/axes_grid/axes_grid.py +++ b/lib/mpl_toolkits/axes_grid/axes_grid.py @@ -1,26 +1,3 @@ -import mpl_toolkits.axes_grid1.axes_grid as axes_grid_orig -from .axes_divider import LocatableAxes - - -class CbarAxes(axes_grid_orig.CbarAxesBase, LocatableAxes): - def __init__(self, *args, orientation, **kwargs): - self.orientation = orientation - self._default_label_on = False - self.locator = None - super().__init__(*args, **kwargs) - - def cla(self): - super().cla() - self._config_axes() - - -class Grid(axes_grid_orig.Grid): - _defaultLocatableAxesClass = LocatableAxes - - -class ImageGrid(axes_grid_orig.ImageGrid): - _defaultLocatableAxesClass = LocatableAxes - _defaultCbarAxesClass = CbarAxes - - -AxesGrid = ImageGrid +from mpl_toolkits.axisartist.axes_divider import LocatableAxes +from mpl_toolkits.axisartist.axes_grid import ( + AxesGrid, CbarAxes, Grid, ImageGrid) diff --git a/lib/mpl_toolkits/axes_grid/axes_rgb.py b/lib/mpl_toolkits/axes_grid/axes_rgb.py index 4112b0c82bae..8ec680ec9db7 100644 --- a/lib/mpl_toolkits/axes_grid/axes_rgb.py +++ b/lib/mpl_toolkits/axes_grid/axes_rgb.py @@ -2,7 +2,8 @@ from mpl_toolkits.axes_grid1.axes_rgb import make_rgb_axes, imshow_rgb, RGBAxesBase #import mpl_toolkits.axes_grid1.axes_rgb as axes_rgb_orig -from .axislines import Axes +from mpl_toolkits.axisartist.axislines import Axes + class RGBAxes(RGBAxesBase): _defaultAxesClass = Axes diff --git a/lib/mpl_toolkits/axes_grid/parasite_axes.py b/lib/mpl_toolkits/axes_grid/parasite_axes.py index 91fcd1f21de1..50d36677dd3a 100644 --- a/lib/mpl_toolkits/axes_grid/parasite_axes.py +++ b/lib/mpl_toolkits/axes_grid/parasite_axes.py @@ -1,8 +1,7 @@ from mpl_toolkits.axes_grid1.parasite_axes import ( host_axes_class_factory, parasite_axes_class_factory, parasite_axes_auxtrans_class_factory, subplot_class_factory) - -from .axislines import Axes +from mpl_toolkits.axisartist.axislines import Axes ParasiteAxes = parasite_axes_class_factory(Axes) diff --git a/lib/mpl_toolkits/axisartist/axes_divider.py b/lib/mpl_toolkits/axisartist/axes_divider.py index abc6556336fc..c1c18aae843f 100644 --- a/lib/mpl_toolkits/axisartist/axes_divider.py +++ b/lib/mpl_toolkits/axisartist/axes_divider.py @@ -2,5 +2,5 @@ Divider, AxesLocator, SubplotDivider, AxesDivider, locatable_axes_factory, make_axes_locatable) -from mpl_toolkits.axes_grid.axislines import Axes +from mpl_toolkits.axisartist.axislines import Axes LocatableAxes = locatable_axes_factory(Axes) From 15d9b8eecf2d39f185c3338d23dcacca6abf6c2c Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade <quantum.analyst@gmail.com> Date: Fri, 24 Mar 2017 23:23:06 -0400 Subject: [PATCH 1016/1161] Deprecate LocatableAxesBase and make it a no-op. All its functionality is provided by the matplotlib.axes.Axes class now so it does not need to exist as all alternative Axes classes derive from the main one. --- lib/mpl_toolkits/axes_grid1/axes_divider.py | 49 +++------------------ 1 file changed, 7 insertions(+), 42 deletions(-) diff --git a/lib/mpl_toolkits/axes_grid1/axes_divider.py b/lib/mpl_toolkits/axes_grid1/axes_divider.py index 80c157e61188..dc3e502a5c1f 100644 --- a/lib/mpl_toolkits/axes_grid1/axes_divider.py +++ b/lib/mpl_toolkits/axes_grid1/axes_divider.py @@ -13,6 +13,7 @@ import functools import matplotlib.transforms as mtransforms +from matplotlib import cbook from matplotlib.axes import SubplotBase from . import axes_size as Size @@ -863,54 +864,18 @@ def locate(self, nx, ny, nx1=None, ny1=None, axes=None, renderer=None): return mtransforms.Bbox.from_bounds(x1, y1, w1, h1) +@cbook.deprecated('3.0', + addendum=' There is no alternative. Deriving from ' + 'matplotlib.axes.Axes provides this functionality ' + 'already.') class LocatableAxesBase(object): - def __init__(self, *kl, **kw): - - self._axes_class.__init__(self, *kl, **kw) - - self._locator = None - self._locator_renderer = None - - def set_axes_locator(self, locator): - self._locator = locator - - def get_axes_locator(self): - return self._locator - - def apply_aspect(self, position=None): - - if self.get_axes_locator() is None: - self._axes_class.apply_aspect(self, position) - else: - pos = self.get_axes_locator()(self, self._locator_renderer) - self._axes_class.apply_aspect(self, position=pos) - - def draw(self, renderer=None, inframe=False): - - self._locator_renderer = renderer - - self._axes_class.draw(self, renderer, inframe) - - def _make_twin_axes(self, *kl, **kwargs): - """ - Need to overload so that twinx/twiny will work with - these axes. - """ - if 'sharex' in kwargs and 'sharey' in kwargs: - raise ValueError("Twinned Axes may share only one axis.") - ax2 = type(self)(self.figure, self.get_position(True), *kl, **kwargs) - ax2.set_axes_locator(self.get_axes_locator()) - self.figure.add_axes(ax2) - self.set_adjustable('datalim') - ax2.set_adjustable('datalim') - self._twinned_axes.join(self, ax2) - return ax2 + pass @functools.lru_cache(None) def locatable_axes_factory(axes_class): return type("Locatable%s" % axes_class.__name__, - (LocatableAxesBase, axes_class), + (axes_class, ), {'_axes_class': axes_class}) From 947ebe9750314d186e02aaaf7c76c42fd8c6cebf Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade <quantum.analyst@gmail.com> Date: Mon, 5 Feb 2018 21:46:47 -0500 Subject: [PATCH 1017/1161] Deprecate locatable_axes_factory and make it a no-op. It's similar to LocatableAxesBase and provided in base Axes classes. --- lib/mpl_toolkits/axes_grid1/axes_divider.py | 15 ++++++--------- lib/mpl_toolkits/axes_grid1/axes_rgb.py | 7 ++++--- lib/mpl_toolkits/axisartist/axes_divider.py | 2 +- 3 files changed, 11 insertions(+), 13 deletions(-) diff --git a/lib/mpl_toolkits/axes_grid1/axes_divider.py b/lib/mpl_toolkits/axes_grid1/axes_divider.py index dc3e502a5c1f..f1a1dba5c70f 100644 --- a/lib/mpl_toolkits/axes_grid1/axes_divider.py +++ b/lib/mpl_toolkits/axes_grid1/axes_divider.py @@ -872,18 +872,15 @@ class LocatableAxesBase(object): pass -@functools.lru_cache(None) +@cbook.deprecated('3.0', + addendum=' There is no alternative. Classes derived from ' + 'matplotlib.axes.Axes provide this functionality ' + 'already.') def locatable_axes_factory(axes_class): - return type("Locatable%s" % axes_class.__name__, - (axes_class, ), - {'_axes_class': axes_class}) + return axes_class def make_axes_locatable(axes): - if not hasattr(axes, "set_axes_locator"): - new_class = locatable_axes_factory(type(axes)) - axes.__class__ = new_class - divider = AxesDivider(axes) locator = divider.new_locator(nx=0, ny=0) axes.set_axes_locator(locator) @@ -906,4 +903,4 @@ def make_axes_area_auto_adjustable(ax, #from matplotlib.axes import Axes from .mpl_axes import Axes -LocatableAxes = locatable_axes_factory(Axes) +LocatableAxes = Axes diff --git a/lib/mpl_toolkits/axes_grid1/axes_rgb.py b/lib/mpl_toolkits/axes_grid1/axes_rgb.py index 909a73ec8c4e..258acd48f1c5 100644 --- a/lib/mpl_toolkits/axes_grid1/axes_rgb.py +++ b/lib/mpl_toolkits/axes_grid1/axes_rgb.py @@ -1,5 +1,6 @@ import numpy as np -from .axes_divider import make_axes_locatable, Size, locatable_axes_factory + +from .axes_divider import make_axes_locatable, Size from .mpl_axes import Axes @@ -23,9 +24,9 @@ def make_rgb_axes(ax, pad=0.01, axes_class=None, add_all=True): ax_rgb = [] if axes_class is None: try: - axes_class = locatable_axes_factory(ax._axes_class) + axes_class = ax._axes_class except AttributeError: - axes_class = locatable_axes_factory(type(ax)) + axes_class = type(ax) for ny in [4, 2, 0]: ax1 = axes_class(ax.get_figure(), diff --git a/lib/mpl_toolkits/axisartist/axes_divider.py b/lib/mpl_toolkits/axisartist/axes_divider.py index c1c18aae843f..e712e3ea5560 100644 --- a/lib/mpl_toolkits/axisartist/axes_divider.py +++ b/lib/mpl_toolkits/axisartist/axes_divider.py @@ -3,4 +3,4 @@ make_axes_locatable) from mpl_toolkits.axisartist.axislines import Axes -LocatableAxes = locatable_axes_factory(Axes) +LocatableAxes = Axes From e041adcb4a3e65e87799386048e5dc3b45df132a Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade <quantum.analyst@gmail.com> Date: Mon, 5 Feb 2018 22:51:18 -0500 Subject: [PATCH 1018/1161] Deprecate any LocatableAxes in toolkits. It's now no longer used for anything, since maxes.Axes is locatable already. --- lib/mpl_toolkits/axes_grid1/axes_divider.py | 17 ++++++++++++++--- lib/mpl_toolkits/axes_grid1/axes_grid.py | 13 +++++++------ lib/mpl_toolkits/axisartist/axes_divider.py | 17 +++++++++++++++-- lib/mpl_toolkits/axisartist/axes_grid.py | 8 ++++---- 4 files changed, 40 insertions(+), 15 deletions(-) diff --git a/lib/mpl_toolkits/axes_grid1/axes_divider.py b/lib/mpl_toolkits/axes_grid1/axes_divider.py index f1a1dba5c70f..48d0f792672a 100644 --- a/lib/mpl_toolkits/axes_grid1/axes_divider.py +++ b/lib/mpl_toolkits/axes_grid1/axes_divider.py @@ -901,6 +901,17 @@ def make_axes_area_auto_adjustable(ax, divider.add_auto_adjustable_area(use_axes=use_axes, pad=pad, adjust_dirs=adjust_dirs) -#from matplotlib.axes import Axes -from .mpl_axes import Axes -LocatableAxes = Axes + +from .mpl_axes import Axes as _Axes + + +@cbook.deprecated('3.0', + alternative='mpl_toolkits.axes_grid1.mpl_axes.Axes') +class Axes(_Axes): + pass + + +@cbook.deprecated('3.0', + alternative='mpl_toolkits.axes_grid1.mpl_axes.Axes') +class LocatableAxes(_Axes): + pass diff --git a/lib/mpl_toolkits/axes_grid1/axes_grid.py b/lib/mpl_toolkits/axes_grid1/axes_grid.py index 5a7f9057f16e..773ef257f66e 100644 --- a/lib/mpl_toolkits/axes_grid1/axes_grid.py +++ b/lib/mpl_toolkits/axes_grid1/axes_grid.py @@ -4,8 +4,9 @@ import matplotlib.ticker as ticker from matplotlib.gridspec import SubplotSpec -from .axes_divider import Size, SubplotDivider, LocatableAxes, Divider +from .axes_divider import Size, SubplotDivider, Divider from .colorbar import Colorbar +from .mpl_axes import Axes def _extend_axes_pad(value): @@ -100,7 +101,7 @@ def toggle_label(self, b): #axis.label.set_visible(b) -class CbarAxes(CbarAxesBase, LocatableAxes): +class CbarAxes(CbarAxesBase, Axes): def __init__(self, *args, orientation, **kwargs): self.orientation = orientation self._default_label_on = True @@ -122,7 +123,7 @@ class Grid(object): be easily done in matplotlib. AxesGrid is used in such case. """ - _defaultLocatableAxesClass = LocatableAxes + _defaultAxesClass = Axes def __init__(self, fig, rect, @@ -182,12 +183,12 @@ def __init__(self, fig, self._direction = direction if axes_class is None: - axes_class = self._defaultLocatableAxesClass + axes_class = self._defaultAxesClass axes_class_args = {} else: if (isinstance(axes_class, type) and issubclass(axes_class, - self._defaultLocatableAxesClass.Axes)): + self._defaultAxesClass.Axes)): axes_class_args = {} else: axes_class, axes_class_args = axes_class @@ -503,7 +504,7 @@ def __init__(self, fig, self._direction = direction if axes_class is None: - axes_class = self._defaultLocatableAxesClass + axes_class = self._defaultAxesClass axes_class_args = {} else: if isinstance(axes_class, maxes.Axes): diff --git a/lib/mpl_toolkits/axisartist/axes_divider.py b/lib/mpl_toolkits/axisartist/axes_divider.py index e712e3ea5560..9287adb8b7f7 100644 --- a/lib/mpl_toolkits/axisartist/axes_divider.py +++ b/lib/mpl_toolkits/axisartist/axes_divider.py @@ -1,6 +1,19 @@ +from matplotlib import cbook + from mpl_toolkits.axes_grid1.axes_divider import ( Divider, AxesLocator, SubplotDivider, AxesDivider, locatable_axes_factory, make_axes_locatable) -from mpl_toolkits.axisartist.axislines import Axes -LocatableAxes = Axes +from mpl_toolkits.axisartist.axislines import Axes as _Axes + + +@cbook.deprecated('3.0', + alternative='mpl_toolkits.axisartist.axislines.Axes') +class Axes(_Axes): + pass + + +@cbook.deprecated('3.0', + alternative='mpl_toolkits.axisartist.axislines.Axes') +class LocatableAxes(_Axes): + pass diff --git a/lib/mpl_toolkits/axisartist/axes_grid.py b/lib/mpl_toolkits/axisartist/axes_grid.py index 49a77a1fb2e9..fe3bd43ce7d8 100644 --- a/lib/mpl_toolkits/axisartist/axes_grid.py +++ b/lib/mpl_toolkits/axisartist/axes_grid.py @@ -1,8 +1,8 @@ import mpl_toolkits.axes_grid1.axes_grid as axes_grid_orig -from .axes_divider import LocatableAxes +from .axislines import Axes -class CbarAxes(axes_grid_orig.CbarAxesBase, LocatableAxes): +class CbarAxes(axes_grid_orig.CbarAxesBase, Axes): def __init__(self, *args, orientation, **kwargs): self.orientation = orientation self._default_label_on = False @@ -15,11 +15,11 @@ def cla(self): class Grid(axes_grid_orig.Grid): - _defaultLocatableAxesClass = LocatableAxes + _defaultAxesClass = Axes class ImageGrid(axes_grid_orig.ImageGrid): - _defaultLocatableAxesClass = LocatableAxes + _defaultAxesClass = Axes _defaultCbarAxesClass = CbarAxes From 7421b0e3944e8f52bac764c3f8484112725384b2 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade <quantum.analyst@gmail.com> Date: Fri, 9 Feb 2018 00:42:44 -0500 Subject: [PATCH 1019/1161] DOC: Add deprecation changelog for LocatableAxes stuff. --- doc/api/next_api_changes/2018-02-09-ES.rst | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 doc/api/next_api_changes/2018-02-09-ES.rst diff --git a/doc/api/next_api_changes/2018-02-09-ES.rst b/doc/api/next_api_changes/2018-02-09-ES.rst new file mode 100644 index 000000000000..c4c7ccd40da4 --- /dev/null +++ b/doc/api/next_api_changes/2018-02-09-ES.rst @@ -0,0 +1,19 @@ +Deprecation of ``LocatableAxes`` in toolkits +-------------------------------------------- + +The ``LocatableAxes`` classes in toolkits have been deprecated. The base `Axes` +classes provide the same functionality to all subclasses, thus these mixins are +no longer necessary. Related functions have also been deprecated. Specifically: + +* ``mpl_toolkits.axes_grid1.axes_divider.LocatableAxesBase``: no specific + replacement; use any other ``Axes``-derived class directly instead. +* ``mpl_toolkits.axes_grid1.axes_divider.locatable_axes_factory``: no specific + replacement; use any other ``Axes``-derived class directly instead. +* ``mpl_toolkits.axes_grid1.axes_divider.Axes``: use + `mpl_toolkits.axes_grid1.mpl_axes.Axes` directly. +* ``mpl_toolkits.axes_grid1.axes_divider.LocatableAxes``: use + `mpl_toolkits.axes_grid1.mpl_axes.Axes` directly. +* ``mpl_toolkits.axisartist.axes_divider.Axes``: use + `mpl_toolkits.axisartist.axislines.Axes` directly. +* ``mpl_toolkits.axisartist.axes_divider.LocatableAxes``: use + `mpl_toolkits.axisartist.axislines.Axes` directly. From c28818a887e8e4fdd9b0ec504cd3ad412c63139c Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Wed, 18 Jul 2018 19:28:16 -0700 Subject: [PATCH 1020/1161] FIX: make update-from also set the original face/edgecoloe --- lib/matplotlib/patches.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index 932bf594275f..1544c48d43b4 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -168,6 +168,8 @@ def update_from(self, other): # getters/setters, so we just copy them directly. self._edgecolor = other._edgecolor self._facecolor = other._facecolor + self._original_edgecolor = other._original_edgecolor + self._original_facecolor = other._original_facecolor self._fill = other._fill self._hatch = other._hatch self._hatch_color = other._hatch_color From af43dae448d5938403ef4bb699cc74e22d051ca0 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Wed, 18 Jul 2018 21:31:01 -0700 Subject: [PATCH 1021/1161] TST: test that setting alpha keeps rest of color ok --- lib/matplotlib/tests/test_legend.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py index 1562e14a34c3..4f92f044fd6b 100644 --- a/lib/matplotlib/tests/test_legend.py +++ b/lib/matplotlib/tests/test_legend.py @@ -543,3 +543,12 @@ def test_draggable(): with pytest.warns(MatplotlibDeprecationWarning): legend.draggable() assert not legend.get_draggable() + + +def test_alpha_handles(): + x, n, hh = plt.hist([1, 2, 3], alpha=0.25, label='data', color='red') + legend = plt.legend() + for lh in legend.legendHandles: + lh.set_alpha(1.0) + assert lh.get_facecolor()[:-1] == hh[1].get_facecolor()[:-1] + assert lh.get_edgecolor()[:-1] == hh[1].get_edgecolor()[:-1] From 16fee16ebf0f7517484e85a01f27e0d3af2ba44b Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Wed, 18 Jul 2018 21:40:05 -0700 Subject: [PATCH 1022/1161] Removed extra 2.2.0 Header --- doc/api/api_changes.rst | 3 --- 1 file changed, 3 deletions(-) diff --git a/doc/api/api_changes.rst b/doc/api/api_changes.rst index 246ee6b7bdd7..d904db786a01 100644 --- a/doc/api/api_changes.rst +++ b/doc/api/api_changes.rst @@ -471,6 +471,3 @@ Colorbar for log-scaled hexbin When using `hexbin` and plotting with a logarithmic color scale, the colorbar ticks are now correctly log scaled. Previously the tick values were linear scaled log(number of counts). - -API Changes in 2.2.0 -==================== From 62af1060ad286261da2d3ff0ef285f006080648c Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Thu, 19 Jul 2018 18:55:51 +0200 Subject: [PATCH 1023/1161] Remove unused private method. --- lib/matplotlib/lines.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/lib/matplotlib/lines.py b/lib/matplotlib/lines.py index dc0c4cdcc0e7..1dbfc19e7dc7 100644 --- a/lib/matplotlib/lines.py +++ b/lib/matplotlib/lines.py @@ -1249,9 +1249,6 @@ def update_from(self, other): other._marker.get_fillstyle()) self._drawstyle = other._drawstyle - def _get_rgba_face(self, alt=False): - return mcolors.to_rgba(self._get_markerfacecolor(alt=alt), self._alpha) - def set_dash_joinstyle(self, s): """ Set the join style for dashed linestyles. From b9e647f20355a7c8b1d0c2175ec190609556619a Mon Sep 17 00:00:00 2001 From: Manish Devgan <manish.nsit8@gmail.com> Date: Tue, 17 Jul 2018 13:18:22 +0530 Subject: [PATCH 1024/1161] Improves Documentation for stem_plot.py --- examples/lines_bars_and_markers/stem_plot.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/examples/lines_bars_and_markers/stem_plot.py b/examples/lines_bars_and_markers/stem_plot.py index 3585902a1425..2a5ad4d401b7 100644 --- a/examples/lines_bars_and_markers/stem_plot.py +++ b/examples/lines_bars_and_markers/stem_plot.py @@ -3,13 +3,23 @@ Stem Plot ========= -Example stem plot. +Stem plot plots vertical lines from baseline to the y-coordinate +Plotting cosine(x) w.r.t x, using '-.' as the pattern +for plotting vertical lines """ import matplotlib.pyplot as plt import numpy as np +# returns 10 evenly spaced samples from 0.1 to 2*PI x = np.linspace(0.1, 2 * np.pi, 10) + markerline, stemlines, baseline = plt.stem(x, np.cos(x), '-.') + +# setting property of baseline with color red and linewidth 2 plt.setp(baseline, color='r', linewidth=2) plt.show() + +############################# +# This example makes use of: +# * :meth:`matplotlib.axes.Axes.stem` From a5b27e99f9d5aae47e9b62da4061e33cc93080d9 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Thu, 19 Jul 2018 22:13:06 -0700 Subject: [PATCH 1025/1161] ENH: add an inset_axes to the axes class --- .flake8 | 1 + doc/api/axes_api.rst | 3 + examples/axes_grid1/inset_locator_demo.py | 6 +- .../zoom_inset_axes.py | 60 +++++ lib/matplotlib/axes/_axes.py | 249 ++++++++++++++++++ lib/matplotlib/axes/_base.py | 25 ++ lib/matplotlib/tests/test_axes.py | 32 +++ 7 files changed, 373 insertions(+), 3 deletions(-) create mode 100644 examples/subplots_axes_and_figures/zoom_inset_axes.py diff --git a/.flake8 b/.flake8 index 0884c4406392..4f3d7ce58700 100644 --- a/.flake8 +++ b/.flake8 @@ -252,6 +252,7 @@ per-file-ignores = examples/subplots_axes_and_figures/demo_constrained_layout.py: E402 examples/subplots_axes_and_figures/demo_tight_layout.py: E402 examples/subplots_axes_and_figures/two_scales.py: E402 + examples/subplots_axes_and_figures/zoom_inset_axes.py: E402 examples/tests/backend_driver_sgskip.py: E402, E501 examples/text_labels_and_annotations/annotation_demo.py: E501 examples/text_labels_and_annotations/custom_legends.py: E402 diff --git a/doc/api/axes_api.rst b/doc/api/axes_api.rst index 0cee178cd623..9e89f808441c 100644 --- a/doc/api/axes_api.rst +++ b/doc/api/axes_api.rst @@ -181,6 +181,9 @@ Text and Annotations Axes.text Axes.table Axes.arrow + Axes.inset_axes + Axes.indicate_inset + Axes.indicate_inset_zoom Fields diff --git a/examples/axes_grid1/inset_locator_demo.py b/examples/axes_grid1/inset_locator_demo.py index 878d3a5b1b04..a51c8d789bd7 100644 --- a/examples/axes_grid1/inset_locator_demo.py +++ b/examples/axes_grid1/inset_locator_demo.py @@ -6,9 +6,9 @@ """ ############################################################################### -# The `.inset_locator`'s `~.inset_axes` allows to easily place insets in the -# corners of the axes by specifying a width and height and optionally -# a location (loc) which accepts locations as codes, similar to +# The `.inset_locator`'s `~.axes_grid1.inset_axes` allows to easily place +# insets in the corners of the axes by specifying a width and height and +# optionally a location (loc) which accepts locations as codes, similar to # `~matplotlib.axes.Axes.legend`. # By default, the inset is offset by some points from the axes - this is # controlled via the `borderpad` parameter. diff --git a/examples/subplots_axes_and_figures/zoom_inset_axes.py b/examples/subplots_axes_and_figures/zoom_inset_axes.py new file mode 100644 index 000000000000..f75200d87af2 --- /dev/null +++ b/examples/subplots_axes_and_figures/zoom_inset_axes.py @@ -0,0 +1,60 @@ +""" +====================== +Zoom region inset axes +====================== + +Example of an inset axes and a rectangle showing where the zoom is located. + +""" + +import matplotlib.pyplot as plt +import numpy as np + + +def get_demo_image(): + from matplotlib.cbook import get_sample_data + import numpy as np + f = get_sample_data("axes_grid/bivariate_normal.npy", asfileobj=False) + z = np.load(f) + # z is a numpy array of 15x15 + return z, (-3, 4, -4, 3) + +fig, ax = plt.subplots(figsize=[5, 4]) + +# make data +Z, extent = get_demo_image() +Z2 = np.zeros([150, 150], dtype="d") +ny, nx = Z.shape +Z2[30:30 + ny, 30:30 + nx] = Z + +ax.imshow(Z2, extent=extent, interpolation="nearest", + origin="lower") + +# inset axes.... +axins = ax.inset_axes([0.5, 0.5, 0.47, 0.47]) +axins.imshow(Z2, extent=extent, interpolation="nearest", + origin="lower") +# sub region of the original image +x1, x2, y1, y2 = -1.5, -0.9, -2.5, -1.9 +axins.set_xlim(x1, x2) +axins.set_ylim(y1, y2) +axins.set_xticklabels('') +axins.set_yticklabels('') + +ax.indicate_inset_zoom(axins) + +plt.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions and methods is shown in this example: + +import matplotlib +matplotlib.axes.Axes.inset_axes +matplotlib.axes.Axes.indicate_inset_zoom +matplotlib.axes.Axes.imshow diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 4fea47e6f057..ccccae9db634 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -84,9 +84,37 @@ def _plot_args_replacer(args, data): "multiple plotting calls instead.") +def _make_inset_locator(bounds, trans, parent): + """ + Helper function to locate inset axes, used in + `.Axes.inset_axes`. + + A locator gets used in `Axes.set_aspect` to override the default + locations... It is a function that takes an axes object and + a renderer and tells `set_aspect` where it is to be placed. + + Here *rect* is a rectangle [l, b, w, h] that specifies the + location for the axes in the transform given by *trans* on the + *parent*. + """ + _bounds = mtransforms.Bbox.from_bounds(*bounds) + _trans = trans + _parent = parent + + def inset_locator(ax, renderer): + bbox = _bounds + bb = mtransforms.TransformedBbox(bbox, _trans) + tr = _parent.figure.transFigure.inverted() + bb = mtransforms.TransformedBbox(bb, tr) + return bb + + return inset_locator + + # The axes module contains all the wrappers to plotting functions. # All the other methods should go in the _AxesBase class. + class Axes(_AxesBase): """ The :class:`Axes` contains most of the figure elements: @@ -390,6 +418,227 @@ def legend(self, *args, **kwargs): def _remove_legend(self, legend): self.legend_ = None + def inset_axes(self, bounds, *, transform=None, zorder=5, + **kwargs): + """ + Add a child inset axes to this existing axes. + + Warnings + -------- + + This method is experimental as of 3.0, and the API may change. + + Parameters + ---------- + + bounds : [x0, y0, width, height] + Lower-left corner of inset axes, and its width and height. + + transform : `.Transform` + Defaults to `ax.transAxes`, i.e. the units of *rect* are in + axes-relative coordinates. + + zorder : number + Defaults to 5 (same as `.Axes.legend`). Adjust higher or lower + to change whether it is above or below data plotted on the + parent axes. + + **kwargs + + Other *kwargs* are passed on to the `axes.Axes` child axes. + + Returns + ------- + + Axes + The created `.axes.Axes` instance. + + Examples + -------- + + This example makes two inset axes, the first is in axes-relative + coordinates, and the second in data-coordinates:: + + fig, ax = plt.suplots() + ax.plot(range(10)) + axin1 = ax.inset_axes([0.8, 0.1, 0.15, 0.15]) + axin2 = ax.inset_axes( + [5, 7, 2.3, 2.3], transform=ax.transData) + + """ + if transform is None: + transform = self.transAxes + label = kwargs.pop('label', 'inset_axes') + + # This puts the rectangle into figure-relative coordinates. + inset_locator = _make_inset_locator(bounds, transform, self) + bb = inset_locator(None, None) + + inset_ax = Axes(self.figure, bb.bounds, zorder=zorder, + label=label, **kwargs) + + # this locator lets the axes move if in data coordinates. + # it gets called in `ax.apply_aspect() (of all places) + inset_ax.set_axes_locator(inset_locator) + + self.add_child_axes(inset_ax) + + return inset_ax + + def indicate_inset(self, bounds, inset_ax=None, *, transform=None, + facecolor='none', edgecolor='0.5', alpha=0.5, + zorder=4.99, **kwargs): + """ + Add an inset indicator to the axes. This is a rectangle on the plot + at the position indicated by *bounds* that optionally has lines that + connect the rectangle to an inset axes + (`.Axes.inset_axes`). + + Warnings + -------- + + This method is experimental as of 3.0, and the API may change. + + + Parameters + ---------- + + bounds : [x0, y0, width, height] + Lower-left corner of rectangle to be marked, and its width + and height. + + inset_ax : `.Axes` + An optional inset axes to draw connecting lines to. Two lines are + drawn connecting the indicator box to the inset axes on corners + chosen so as to not overlap with the indicator box. + + transform : `.Transform` + Transform for the rectangle co-ordinates. Defaults to + `ax.transAxes`, i.e. the units of *rect* are in axes-relative + coordinates. + + facecolor : Matplotlib color + Facecolor of the rectangle (default 'none'). + + edgecolor : Matplotlib color + Color of the rectangle and color of the connecting lines. Default + is '0.5'. + + alpha : number + Transparency of the rectangle and connector lines. Default is 0.5. + + zorder : number + Drawing order of the rectangle and connector lines. Default is 4.99 + (just below the default level of inset axes). + + **kwargs + Other *kwargs* are passed on to the rectangle patch. + + Returns + ------- + + rectangle_patch: `.Patches.Rectangle` + Rectangle artist. + + connector_lines: 4-tuple of `.Patches.ConnectionPatch` + One for each of four connector lines. Two are set with visibility + to *False*, but the user can set the visibility to True if the + automatic choice is not deemed correct. + + """ + + # to make the axes connectors work, we need to apply the aspect to + # the parent axes. + self.apply_aspect() + + if transform is None: + transform = self.transData + label = kwargs.pop('label', 'indicate_inset') + + xy = (bounds[0], bounds[1]) + rectpatch = mpatches.Rectangle(xy, bounds[2], bounds[3], + facecolor=facecolor, edgecolor=edgecolor, alpha=alpha, + zorder=zorder, label=label, transform=transform, **kwargs) + self.add_patch(rectpatch) + + if inset_ax is not None: + # want to connect the indicator to the rect.... + + pos = inset_ax.get_position() # this is in fig-fraction. + coordsA = 'axes fraction' + connects = [] + xr = [bounds[0], bounds[0]+bounds[2]] + yr = [bounds[1], bounds[1]+bounds[3]] + for xc in range(2): + for yc in range(2): + xyA = (xc, yc) + xyB = (xr[xc], yr[yc]) + connects += [mpatches.ConnectionPatch(xyA, xyB, + 'axes fraction', 'data', + axesA=inset_ax, axesB=self, arrowstyle="-", + zorder=zorder, edgecolor=edgecolor, alpha=alpha)] + self.add_patch(connects[-1]) + # decide which two of the lines to keep visible.... + pos = inset_ax.get_position() + bboxins = pos.transformed(self.figure.transFigure) + rectbbox = mtransforms.Bbox.from_bounds( + *bounds).transformed(transform) + if rectbbox.x0 < bboxins.x0: + sig = 1 + else: + sig = -1 + if sig*rectbbox.y0 < sig*bboxins.y0: + connects[0].set_visible(False) + connects[3].set_visible(False) + else: + connects[1].set_visible(False) + connects[2].set_visible(False) + + return rectpatch, connects + + def indicate_inset_zoom(self, inset_ax, **kwargs): + """ + Add an inset indicator rectangle to the axes based on the axis + limits for an *inset_ax* and draw connectors between *inset_ax* + and the rectangle. + + Warnings + -------- + + This method is experimental as of 3.0, and the API may change. + + Parameters + ---------- + + inset_ax : `.Axes` + Inset axes to draw connecting lines to. Two lines are + drawn connecting the indicator box to the inset axes on corners + chosen so as to not overlap with the indicator box. + + **kwargs + Other *kwargs* are passed on to `.Axes.inset_rectangle` + + Returns + ------- + + rectangle_patch: `.Patches.Rectangle` + Rectangle artist. + + connector_lines: 4-tuple of `.Patches.ConnectionPatch` + One for each of four connector lines. Two are set with visibility + to *False*, but the user can set the visibility to True if the + automatic choice is not deemed correct. + + """ + + xlim = inset_ax.get_xlim() + ylim = inset_ax.get_ylim() + rect = [xlim[0], ylim[0], xlim[1] - xlim[0], ylim[1] - ylim[0]] + rectpatch, connects = self.indicate_inset( + rect, inset_ax, **kwargs) + + return rectpatch, connects + def text(self, x, y, s, fontdict=None, withdash=False, **kwargs): """ Add text to the axes. diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index e03ead41791c..d5229e1e8a74 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -1031,6 +1031,7 @@ def cla(self): self.artists = [] self.images = [] self._mouseover_set = _OrderedSet() + self.child_axes = [] self._current_image = None # strictly for pyplot via _sci, _gci self.legend_ = None self.collections = [] # collection.Collection instances @@ -1807,6 +1808,27 @@ def add_artist(self, a): self.stale = True return a + def add_child_axes(self, ax): + """ + Add a :class:`~matplotlib.axes.Axesbase` instance + as a child to the axes. + + Returns the added axes. + + This is the lowlevel version. See `.axes.Axes.inset_axes` + """ + + # normally axes have themselves as the axes, but these need to have + # their parent... + # Need to bypass the getter... + ax._axes = self + ax.stale_callback = martist._stale_axes_callback + + self.child_axes.append(ax) + ax._remove_method = self.child_axes.remove + self.stale = True + return ax + def add_collection(self, collection, autolim=True): """ Add a :class:`~matplotlib.collections.Collection` instance @@ -4073,9 +4095,12 @@ def get_children(self): children.append(self._right_title) children.extend(self.tables) children.extend(self.images) + children.extend(self.child_axes) + if self.legend_ is not None: children.append(self.legend_) children.append(self.patch) + return children def contains(self, mouseevent): diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index b952914c86f2..7e7f6a1bd25f 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -5750,3 +5750,35 @@ def test_tick_padding_tightbbox(): bb2 = ax.get_window_extent(fig.canvas.get_renderer()) assert bb.x0 < bb2.x0 assert bb.y0 < bb2.y0 + + +def test_zoom_inset(): + dx, dy = 0.05, 0.05 + # generate 2 2d grids for the x & y bounds + y, x = np.mgrid[slice(1, 5 + dy, dy), + slice(1, 5 + dx, dx)] + z = np.sin(x)**10 + np.cos(10 + y*x) * np.cos(x) + + fig, ax = plt.subplots() + ax.pcolormesh(x, y, z) + ax.set_aspect(1.) + ax.apply_aspect() + # we need to apply_aspect to make the drawing below work. + + # Make the inset_axes... Position axes co-ordinates... + axin1 = ax.inset_axes([0.7, 0.7, 0.35, 0.35]) + # redraw the data in the inset axes... + axin1.pcolormesh(x, y, z) + axin1.set_xlim([1.5, 2.15]) + axin1.set_ylim([2, 2.5]) + axin1.set_aspect(ax.get_aspect()) + + rec, connectors = ax.indicate_inset_zoom(axin1) + fig.canvas.draw() + xx = np.array([[1.5, 2.], + [2.15, 2.5]]) + assert(np.all(rec.get_bbox().get_points() == xx)) + xx = np.array([[0.6325, 0.692308], + [0.8425, 0.907692]]) + np.testing.assert_allclose(axin1.get_position().get_points(), + xx, rtol=1e-4) From 3e3b538ea2af34a8852746942f8db632a392200d Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Fri, 20 Jul 2018 11:16:38 +0200 Subject: [PATCH 1026/1161] Fix drawing on qt+retina. --- lib/matplotlib/backends/backend_qt5agg.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/backends/backend_qt5agg.py b/lib/matplotlib/backends/backend_qt5agg.py index ca2603bca52c..6e0e964a8ef2 100644 --- a/lib/matplotlib/backends/backend_qt5agg.py +++ b/lib/matplotlib/backends/backend_qt5agg.py @@ -44,11 +44,14 @@ def paintEvent(self, event): height = rect.height() # See documentation of QRect: bottom() and right() are off by 1, so use # left() + width() and top() + height(). - bbox = Bbox([[left, self.renderer.height - (top + height)], - [left + width, self.renderer.height - top]]) + bbox = Bbox( + [[left, self.renderer.height - (top + height * self._dpi_ratio)], + [left + width * self._dpi_ratio, self.renderer.height - top]]) reg = self.copy_from_bbox(bbox) buf = reg.to_string_argb() - qimage = QtGui.QImage(buf, width, height, QtGui.QImage.Format_ARGB32) + qimage = QtGui.QImage( + buf, width * self._dpi_ratio, height * self._dpi_ratio, + QtGui.QImage.Format_ARGB32) if hasattr(qimage, 'setDevicePixelRatio'): # Not available on Qt4 or some older Qt5. qimage.setDevicePixelRatio(self._dpi_ratio) From b650c6715135d93a683715d06e47bb448d0b9390 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Fri, 20 Jul 2018 12:29:13 +0200 Subject: [PATCH 1027/1161] Don't assume cwd in test_ipynb. The Matplotlib test suite can be run from outside of the root git directory, e.g. with pytest --pyargs matplotlib.tests.test_backend_nbagg (mplcairo explicitly relies on that to reuse the Matplotlib test suite). To ensure this, find the example notebook relative to the path of the test module, rather than relative to the current working directory. --- lib/matplotlib/tests/test_backend_nbagg.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/tests/test_backend_nbagg.py b/lib/matplotlib/tests/test_backend_nbagg.py index 513a11da64cb..f08460b892cc 100644 --- a/lib/matplotlib/tests/test_backend_nbagg.py +++ b/lib/matplotlib/tests/test_backend_nbagg.py @@ -1,7 +1,7 @@ - -import os +from pathlib import Path import subprocess import tempfile + import pytest nbformat = pytest.importorskip('nbformat') @@ -29,5 +29,6 @@ def _notebook_run(nb_file): def test_ipynb(): - nb, errors = _notebook_run('lib/matplotlib/tests/test_nbagg_01.ipynb') + nb, errors = _notebook_run( + str(Path(__file__).parent / 'test_nbagg_01.ipynb')) assert errors == [] From d14f3d1297661244cbb9f3c0c8ece74186c220a6 Mon Sep 17 00:00:00 2001 From: fredrik-1 <sandquist.fredrik@gmail.com> Date: Fri, 20 Jul 2018 14:07:49 +0200 Subject: [PATCH 1028/1161] doc_Figure_tight_layout --- lib/matplotlib/figure.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index 30827ce49a46..f1eb110e2194 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -2288,7 +2288,10 @@ def tight_layout(self, renderer=None, pad=1.08, h_pad=None, w_pad=None, Parameters ---------- - pad : float + renderer : subclass of `~.backend_bases.RendererBase`, optional + Defaults to the renderer for the figure. + + pad : float, optional Padding between the figure edge and the edges of subplots, as a fraction of the font size. h_pad, w_pad : float, optional @@ -2298,6 +2301,11 @@ def tight_layout(self, renderer=None, pad=1.08, h_pad=None, w_pad=None, A rectangle (left, bottom, right, top) in the normalized figure coordinate that the whole subplots area (including labels) will fit into. Default is (0, 0, 1, 1). + + See Also + -------- + .Figure.set_tight_layout + .pyplot.tight_layout """ from .tight_layout import ( From 1ec9c91370a2200f6af05aa685189d69a3fb6095 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Fri, 20 Jul 2018 19:04:25 +0200 Subject: [PATCH 1029/1161] Remove unnecessary hacks from setup.py. - There are no symlinks in the mpl source tree anymore. - MANIFEST was removed from the root directory in 365a0a2f (11 years ago). --- setup.py | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/setup.py b/setup.py index 03ca28762231..aa676f5e19e9 100644 --- a/setup.py +++ b/setup.py @@ -7,12 +7,11 @@ # to ensure that we error out properly for people with outdated setuptools # and/or pip. from string import Template +import sys from setuptools import setup from setuptools.command.test import test as TestCommand from setuptools.command.build_ext import build_ext as BuildExtCommand -import sys - if sys.version_info < (3, 5): error = """ Matplotlib 3.0+ does not support Python 2.x, 3.0, 3.1, 3.2, 3.3, or 3.4. @@ -24,23 +23,6 @@ """ sys.exit(error) -# distutils is breaking our sdists for files in symlinked dirs. -# distutils will copy if os.link is not available, so this is a hack -# to force copying -import os -try: - del os.link -except AttributeError: - pass - -# This 'if' statement is needed to prevent spawning infinite processes -# on Windows -if __name__ == '__main__': - # BEFORE importing distutils, remove MANIFEST. distutils doesn't properly - # update it when the contents of directories change. - if os.path.exists('MANIFEST'): - os.remove('MANIFEST') - # The setuptools version of sdist adds a setup.cfg file to the tree. # We don't want that, so we simply remove it, and it will fall back to # vanilla distutils. From dec1c0e23e6d8f0b58330c8d7149dfe2ac652837 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Fri, 20 Jul 2018 21:57:29 -0700 Subject: [PATCH 1030/1161] DOC: fix broken link in inset-locator example --- examples/axes_grid1/inset_locator_demo.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/examples/axes_grid1/inset_locator_demo.py b/examples/axes_grid1/inset_locator_demo.py index a51c8d789bd7..c2772dfa8606 100644 --- a/examples/axes_grid1/inset_locator_demo.py +++ b/examples/axes_grid1/inset_locator_demo.py @@ -6,11 +6,11 @@ """ ############################################################################### -# The `.inset_locator`'s `~.axes_grid1.inset_axes` allows to easily place -# insets in the corners of the axes by specifying a width and height and -# optionally a location (loc) which accepts locations as codes, similar to -# `~matplotlib.axes.Axes.legend`. -# By default, the inset is offset by some points from the axes - this is +# The `.inset_locator`'s `~.inset_locator.inset_axes` allows +# easily placing insets in the corners of the axes by specifying a width and +# height and optionally a location (loc) that accepts locations as codes, +# similar to `~matplotlib.axes.Axes.legend`. +# By default, the inset is offset by some points from the axes, # controlled via the `borderpad` parameter. import matplotlib.pyplot as plt From b741534dd397b352adfbfe6a2b76ce62fec36ea8 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sat, 21 Jul 2018 15:39:59 +0200 Subject: [PATCH 1031/1161] Remove some references to colorConverter. Its (static)methods are available as freestanding functions now. --- lib/matplotlib/colors.py | 11 +++++------ lib/matplotlib/tests/test_axes.py | 4 ++-- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/lib/matplotlib/colors.py b/lib/matplotlib/colors.py index f7cfb0786539..003070e14415 100644 --- a/lib/matplotlib/colors.py +++ b/lib/matplotlib/colors.py @@ -546,7 +546,7 @@ def __copy__(self): def set_bad(self, color='k', alpha=None): """Set color to be used for masked values. """ - self._rgba_bad = colorConverter.to_rgba(color, alpha) + self._rgba_bad = to_rgba(color, alpha) if self._isinit: self._set_extremes() @@ -554,7 +554,7 @@ def set_under(self, color='k', alpha=None): """Set color to be used for low out-of-range values. Requires norm.clip = False """ - self._rgba_under = colorConverter.to_rgba(color, alpha) + self._rgba_under = to_rgba(color, alpha) if self._isinit: self._set_extremes() @@ -562,7 +562,7 @@ def set_over(self, color='k', alpha=None): """Set color to be used for high out-of-range values. Requires norm.clip = False """ - self._rgba_over = colorConverter.to_rgba(color, alpha) + self._rgba_over = to_rgba(color, alpha) if self._isinit: self._set_extremes() @@ -717,7 +717,7 @@ def from_list(name, colors, N=256, gamma=1.0): cdict = dict(red=[], green=[], blue=[], alpha=[]) for val, color in zip(vals, colors): - r, g, b, a = colorConverter.to_rgba(color) + r, g, b, a = to_rgba(color) cdict['red'].append((val, r, r)) cdict['green'].append((val, g, g)) cdict['blue'].append((val, b, b)) @@ -817,9 +817,8 @@ def __init__(self, colors, name='from_list', N=None): Colormap.__init__(self, name, N) def _init(self): - rgba = colorConverter.to_rgba_array(self.colors) self._lut = np.zeros((self.N + 3, 4), float) - self._lut[:-3] = rgba + self._lut[:-3] = to_rgba_array(self.colors) self._isinit = True self._set_extremes() diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index b952914c86f2..0965bb48d41b 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -5549,13 +5549,13 @@ def test_quiver_units(): def test_bar_color_cycle(): - ccov = mcolors.colorConverter.to_rgb + to_rgb = mcolors.to_rgb fig, ax = plt.subplots() for j in range(5): ln, = ax.plot(range(3)) brs = ax.bar(range(3), range(3)) for br in brs: - assert ccov(ln.get_color()) == ccov(br.get_facecolor()) + assert to_rgb(ln.get_color()) == to_rgb(br.get_facecolor()) def test_tick_param_label_rotation(): From fde8971aa04b4fc41ee5775a1b4573473350a0e3 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sat, 21 Jul 2018 17:36:07 +0200 Subject: [PATCH 1032/1161] Fix cairo's image inversion and alpha misapplication. --- lib/matplotlib/backends/backend_cairo.py | 37 +++++++++++++++------- lib/matplotlib/backends/backend_gtk3agg.py | 18 ++--------- 2 files changed, 28 insertions(+), 27 deletions(-) diff --git a/lib/matplotlib/backends/backend_cairo.py b/lib/matplotlib/backends/backend_cairo.py index 7631c5d2b89b..18205218300a 100644 --- a/lib/matplotlib/backends/backend_cairo.py +++ b/lib/matplotlib/backends/backend_cairo.py @@ -42,11 +42,13 @@ from matplotlib.transforms import Affine2D +# Cairo's image buffers are premultiplied ARGB32, +# Matplotlib's are unmultiplied RGBA8888. + + def _premultiplied_argb32_to_unmultiplied_rgba8888(buf): """ Convert a premultiplied ARGB32 buffer to an unmultiplied RGBA8888 buffer. - - Cairo uses the former format, Matplotlib the latter. """ rgba = np.take( # .take() ensures C-contiguity of the result. buf, @@ -62,6 +64,26 @@ def _premultiplied_argb32_to_unmultiplied_rgba8888(buf): return rgba +def _unmultipled_rgba8888_to_premultiplied_argb32(rgba8888): + """ + Convert an unmultiplied RGBA8888 buffer to a premultiplied ARGB32 buffer. + """ + if sys.byteorder == "little": + argb32 = np.take(rgba8888, [2, 1, 0, 3], axis=2) + rgb24 = argb32[..., :-1] + alpha8 = argb32[..., -1:] + else: + argb32 = np.take(rgba8888, [3, 0, 1, 2], axis=2) + alpha8 = argb32[..., :1] + rgb24 = argb32[..., 1:] + # Only bother premultiplying when the alpha channel is not fully opaque, + # as the cost is not negligible. The unsafe cast is needed to do the + # multiplication in-place in an integer buffer. + if alpha8.min() != 0xff: + np.multiply(rgb24, alpha8 / 0xff, out=rgb24, casting="unsafe") + return argb32 + + if cairo.__name__ == "cairocffi": # Convert a pycairo context to a cairocffi one. def _to_context(ctx): @@ -358,11 +380,7 @@ def _draw_paths(): _draw_paths() def draw_image(self, gc, x, y, im): - # bbox - not currently used - if sys.byteorder == 'little': - im = im[:, :, (2, 1, 0, 3)] - else: - im = im[:, :, (3, 0, 1, 2)] + im = _unmultipled_rgba8888_to_premultiplied_argb32(im[::-1]) surface = cairo.ImageSurface.create_for_data( im.ravel().data, cairo.FORMAT_ARGB32, im.shape[1], im.shape[0], im.shape[1] * 4) @@ -371,10 +389,7 @@ def draw_image(self, gc, x, y, im): ctx.save() ctx.set_source_surface(surface, float(x), float(y)) - if gc.get_alpha() != 1: - ctx.paint_with_alpha(gc.get_alpha()) - else: - ctx.paint() + ctx.paint() ctx.restore() def draw_text(self, gc, x, y, s, prop, angle, ismath=False, mtext=None): diff --git a/lib/matplotlib/backends/backend_gtk3agg.py b/lib/matplotlib/backends/backend_gtk3agg.py index 66f7e151a48a..0a4884f7abef 100644 --- a/lib/matplotlib/backends/backend_gtk3agg.py +++ b/lib/matplotlib/backends/backend_gtk3agg.py @@ -45,22 +45,8 @@ def on_draw_event(self, widget, ctx): width = int(bbox.x1) - int(bbox.x0) height = int(bbox.y1) - int(bbox.y0) - buf = (np.fromstring(self.copy_from_bbox(bbox).to_string_argb(), - dtype='uint8') - .reshape((width, height, 4))) - # cairo wants premultiplied alpha. Only bother doing the - # conversion when the alpha channel is not fully opaque, as the - # cost is not negligible. (The unsafe cast is needed to do the - # multiplication in-place in an integer buffer.) - if sys.byteorder == "little": - rgb24 = buf[..., :-1] - alpha8 = buf[..., -1:] - else: - alpha8 = buf[..., :1] - rgb24 = buf[..., 1:] - if alpha8.min() != 0xff: - np.multiply(rgb24, alpha8 / 0xff, out=rgb24, casting="unsafe") - + buf = backend_cairo._unmultipled_rgba8888_to_premultiplied_argb32( + np.asarray(self.copy_from_bbox(bbox))) image = cairo.ImageSurface.create_for_data( buf.ravel().data, cairo.FORMAT_ARGB32, width, height) ctx.set_source_surface(image, x, y) From 870f8515821268df33e442a4ebd75565de322de2 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sat, 21 Jul 2018 18:39:41 +0200 Subject: [PATCH 1033/1161] Consolidate agg-buffer examples. agg_oo_sgskip, webapp_demo_sgskip, and histogram_demo_canvasagg_sgskip were all demonstrating the same thing (how to create a Figure outside of pyplot, attach a canvas, and get the data out either saved to a file or as a string. Consolidate them into a single example, with the minimal amount of plotting. (PIL.Image.frombytes exists since Pillow 2.0 which is the first version to support Py3.) agg_buffer is very similar but uses another (worse?) technique to attach an agg buffer; make data extraction simpler but otherwise keep it separate for now. Other related examples include: - agg_buffer_to_array which directly does `np.asarray(canvas.renderer._renderer)`, which is on the one side bad as it uses a private API, but on the other hand the only way (AFAIK) to access the underlying buffer without copy; - print_stdout_sgskip, which does use pyplot to set up the agg buffer. Let's defer the discussion for these two examples to later. --- .flake8 | 3 +- doc/faq/howto_faq.rst | 2 +- examples/misc/agg_buffer.py | 27 +++----- examples/misc/agg_oo_sgskip.py | 45 ------------ examples/misc/webapp_demo_sgskip.py | 64 ----------------- examples/user_interfaces/canvasagg.py | 69 +++++++++++++++++++ .../histogram_demo_canvasagg_sgskip.py | 60 ---------------- 7 files changed, 80 insertions(+), 190 deletions(-) delete mode 100644 examples/misc/agg_oo_sgskip.py delete mode 100644 examples/misc/webapp_demo_sgskip.py create mode 100644 examples/user_interfaces/canvasagg.py delete mode 100644 examples/user_interfaces/histogram_demo_canvasagg_sgskip.py diff --git a/.flake8 b/.flake8 index 44ab9b8701f8..da79a558d075 100644 --- a/.flake8 +++ b/.flake8 @@ -170,7 +170,7 @@ per-file-ignores = examples/lines_bars_and_markers/joinstyle.py: E402 examples/lines_bars_and_markers/scatter_piecharts.py: E402 examples/lines_bars_and_markers/span_regions.py: E402 - examples/misc/agg_oo_sgskip.py: E402 + examples/misc/agg_buffer.py: E402 examples/misc/anchored_artists.py: E501 examples/misc/contour_manual.py: E501 examples/misc/font_indexing.py: E501 @@ -263,6 +263,7 @@ per-file-ignores = examples/text_labels_and_annotations/tex_demo.py: E402 examples/text_labels_and_annotations/watermark_text.py: E402 examples/ticks_and_spines/auto_ticks.py: E501 + examples/user_interfaces/canvasagg.py: E402 examples/user_interfaces/embedding_in_gtk3_panzoom_sgskip.py: E402 examples/user_interfaces/embedding_in_gtk3_sgskip.py: E402 examples/user_interfaces/embedding_in_qt_sgskip.py: E402 diff --git a/doc/faq/howto_faq.rst b/doc/faq/howto_faq.rst index 12633e8b2d91..dd48905e27f8 100644 --- a/doc/faq/howto_faq.rst +++ b/doc/faq/howto_faq.rst @@ -662,7 +662,7 @@ For more on configuring your backend, see Alternatively, you can avoid pylab/pyplot altogether, which will give you a little more control, by calling the API directly as shown in -:doc:`/gallery/misc/agg_oo_sgskip`. +:doc:`/gallery/user_interfaces/canvasagg`. You can either generate hardcopy on the filesystem by calling savefig:: diff --git a/examples/misc/agg_buffer.py b/examples/misc/agg_buffer.py index aa76efe291dc..096c7e856115 100644 --- a/examples/misc/agg_buffer.py +++ b/examples/misc/agg_buffer.py @@ -9,14 +9,8 @@ import numpy as np -import matplotlib.pyplot as plt from matplotlib.backends.backend_agg import FigureCanvasAgg - - -try: - from PIL import Image -except ImportError: - raise SystemExit("Pillow must be installed to run this example") +import matplotlib.pyplot as plt plt.plot([1, 2, 3]) @@ -24,19 +18,14 @@ agg = canvas.switch_backends(FigureCanvasAgg) agg.draw() -s = agg.tostring_rgb() - -# get the width and the height to resize the matrix -l, b, w, h = agg.figure.bbox.bounds -w, h = int(w), int(h) +s, (width, height) = agg.print_to_buffer() -X = np.fromstring(s, np.uint8).reshape((h, w, 3)) +# Convert to a NumPy array. +X = np.fromstring(s, np.uint8).reshape((height, width, 4)) -try: - im = Image.fromstring("RGB", (w, h), s) -except Exception: - im = Image.frombytes("RGB", (w, h), s) +# Pass off to PIL. +from PIL import Image +im = Image.frombytes("RGBA", (width, height), s) -# Uncomment this line to display the image using ImageMagick's -# `display` tool. +# Uncomment this line to display the image using ImageMagick's `display` tool. # im.show() diff --git a/examples/misc/agg_oo_sgskip.py b/examples/misc/agg_oo_sgskip.py deleted file mode 100644 index 9f51c22815d5..000000000000 --- a/examples/misc/agg_oo_sgskip.py +++ /dev/null @@ -1,45 +0,0 @@ -""" -============================= -The object-oriented interface -============================= - -A pure object-oriented example using the agg backend. Notice that there is no -``pyplot`` used here. -""" - -from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas -from matplotlib.figure import Figure - -fig = Figure() -# A canvas must be manually attached to the figure (pyplot would automatically -# do it). This is done by instantiating the canvas with the figure as -# argument. -FigureCanvas(fig) -ax = fig.add_subplot(111) -ax.plot([1, 2, 3]) -ax.set_title('hi mom') -ax.grid(True) -ax.set_xlabel('time') -ax.set_ylabel('volts') -fig.savefig('test') - -############################################################################# -# -# ------------ -# -# References -# """""""""" -# -# The use of the following functions, methods, classes and modules is shown -# in this example: - -import matplotlib -matplotlib.backends.backend_agg.FigureCanvasAgg -matplotlib.figure.Figure -matplotlib.figure.Figure.add_subplot -matplotlib.figure.Figure.savefig -matplotlib.axes.Axes.plot -matplotlib.axes.Axes.set_title -matplotlib.axes.Axes.grid -matplotlib.axes.Axes.set_xlabel -matplotlib.axes.Axes.set_ylabel diff --git a/examples/misc/webapp_demo_sgskip.py b/examples/misc/webapp_demo_sgskip.py deleted file mode 100644 index 8a67dfb2af93..000000000000 --- a/examples/misc/webapp_demo_sgskip.py +++ /dev/null @@ -1,64 +0,0 @@ -""" -=========== -Webapp Demo -=========== - -This example shows how to use the agg backend directly to create -images, which may be of use to web application developers who want -full control over their code without using the pyplot interface to -manage figures, figure closing etc. - -.. note:: - - It is not necessary to avoid using the pyplot interface in order to - create figures without a graphical front-end - simply setting - the backend to "Agg" would be sufficient. - -It is also worth noting that, because matplotlib can save figures to file-like -object, matplotlib can also be used inside a cgi-script *without* needing to -write a figure to disk. - -""" - -from matplotlib.backends.backend_agg import FigureCanvasAgg -from matplotlib.figure import Figure -import numpy as np - -# Fixing random state for reproducibility -np.random.seed(19680801) - - -def make_fig(): - """ - Make a figure and save it to "webagg.png". - - """ - fig = Figure() - ax = fig.add_subplot(1, 1, 1) - - ax.plot([1, 2, 3], 'ro--', markersize=12, markerfacecolor='g') - - # make a translucent scatter collection - x = np.random.rand(100) - y = np.random.rand(100) - area = np.pi * (10 * np.random.rand(100)) ** 2 # 0 to 10 point radii - c = ax.scatter(x, y, area) - c.set_alpha(0.5) - - # add some text decoration - ax.set_title('My first image') - ax.set_ylabel('Some numbers') - ax.set_xticks((.2, .4, .6, .8)) - labels = ax.set_xticklabels(('Bill', 'Fred', 'Ted', 'Ed')) - - # To set object properties, you can either iterate over the - # objects manually, or define you own set command, as in setapi - # above. - for label in labels: - label.set_rotation(45) - label.set_fontsize(12) - - FigureCanvasAgg(fig).print_png('webapp.png', dpi=150) - - -make_fig() diff --git a/examples/user_interfaces/canvasagg.py b/examples/user_interfaces/canvasagg.py new file mode 100644 index 000000000000..81999d4856c3 --- /dev/null +++ b/examples/user_interfaces/canvasagg.py @@ -0,0 +1,69 @@ +""" +============== +CanvasAgg demo +============== + +This example shows how to use the agg backend directly to create images, which +may be of use to web application developers who want full control over their +code without using the pyplot interface to manage figures, figure closing etc. + +.. note:: + + It is not necessary to avoid using the pyplot interface in order to + create figures without a graphical front-end - simply setting + the backend to "Agg" would be sufficient. + +In this example, we show how to save the contents of the agg canvas to a file, +and how to extract them to a string, which can in turn be passed off to PIL or +put in a numpy array. The latter functionality allows e.g. to use Matplotlib +inside a cgi-script *without* needing to write a figure to disk. +""" + +from matplotlib.backends.backend_agg import FigureCanvasAgg +from matplotlib.figure import Figure +import numpy as np + +fig = Figure(figsize=(5, 4), dpi=100) +# A canvas must be manually attached to the figure (pyplot would automatically +# do it). This is done by instantiating the canvas with the figure as +# argument. +canvas = FigureCanvasAgg(fig) + +# Do some plotting. +ax = fig.add_subplot(111) +ax.plot([1, 2, 3]) + +# Option 1: Save the figure to a file; can also be a file-like object (BytesIO, +# etc.). +fig.savefig("test.png") + +# Option 2: Save the figure to a string. +canvas.draw() +s, (width, height) = canvas.print_to_buffer() + +# Option 2a: Convert to a NumPy array. +X = np.fromstring(s, np.uint8).reshape((height, width, 4)) + +# Option 2b: Pass off to PIL. +from PIL import Image +im = Image.frombytes("RGBA", (width, height), s) + +# Uncomment this line to display the image using ImageMagick's `display` tool. +# im.show() + +############################################################################# +# +# ------------ +# +# References +# """""""""" +# +# The use of the following functions, methods, classes and modules is shown +# in this example: + +import matplotlib +matplotlib.backends.backend_agg.FigureCanvasAgg +matplotlib.figure.Figure +matplotlib.figure.Figure.add_subplot +matplotlib.figure.Figure.savefig +matplotlib.axes.Axes.plot diff --git a/examples/user_interfaces/histogram_demo_canvasagg_sgskip.py b/examples/user_interfaces/histogram_demo_canvasagg_sgskip.py deleted file mode 100644 index 1757a1245b5f..000000000000 --- a/examples/user_interfaces/histogram_demo_canvasagg_sgskip.py +++ /dev/null @@ -1,60 +0,0 @@ -""" -======================== -Histogram Demo CanvasAgg -======================== - -This is an example that shows you how to work directly with the agg -figure canvas to create a figure using the pythonic API. - -In this example, the contents of the agg canvas are extracted to a -string, which can in turn be passed off to PIL or put in a numeric -array - - -""" -from matplotlib.backends.backend_agg import FigureCanvasAgg -from matplotlib.figure import Figure -import numpy as np - -fig = Figure(figsize=(5, 4), dpi=100) -ax = fig.add_subplot(111) - -canvas = FigureCanvasAgg(fig) - -mu, sigma = 100, 15 -x = mu + sigma * np.random.randn(10000) - -# the histogram of the data -n, bins, patches = ax.hist(x, 50, density=True) - -# add a 'best fit' line -y = ((1 / (np.sqrt(2 * np.pi) * sigma)) * - np.exp(-0.5 * (1 / sigma * (bins - mu))**2)) -line, = ax.plot(bins, y, 'r--') -line.set_linewidth(1) - -ax.set_xlabel('Smarts') -ax.set_ylabel('Probability') -ax.set_title(r'$\mathrm{Histogram of IQ: }\mu=100, \sigma=15$') - -ax.set_xlim((40, 160)) -ax.set_ylim((0, 0.03)) - -canvas.draw() - -s = canvas.tostring_rgb() # save this and convert to bitmap as needed - -# Get the figure dimensions for creating bitmaps or NumPy arrays, -# etc. -l, b, w, h = fig.bbox.bounds -w, h = int(w), int(h) - -if 0: - # Convert to a NumPy array - X = np.fromstring(s, np.uint8).reshape((h, w, 3)) - -if 0: - # pass off to PIL - from PIL import Image - im = Image.fromstring("RGB", (w, h), s) - im.show() From 564e478087955f2a421d43fedf98302ef0922dd6 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sat, 21 Jul 2018 15:54:28 +0200 Subject: [PATCH 1034/1161] Start work on making colormaps picklable. --- .flake8 | 2 +- lib/matplotlib/_cm.py | 20 ++++++++++---------- lib/matplotlib/cm.py | 12 ++++++++---- 3 files changed, 19 insertions(+), 15 deletions(-) diff --git a/.flake8 b/.flake8 index 3974ac55ea19..aabc280901c5 100644 --- a/.flake8 +++ b/.flake8 @@ -28,7 +28,7 @@ per-file-ignores = tools/compare_backend_driver_results.py: E501 tools/subset.py: E221, E231, E251, E261, E302, E501, E701 - matplotlib/_cm.py: E202, E203 + matplotlib/_cm.py: E202, E203, E302 matplotlib/_mathtext_data.py: E203, E261 matplotlib/backend_bases.py: E225 matplotlib/backends/_backend_tk.py: E203, E222, E225, E231, E271, E301, E303, E401, E501, E701 diff --git a/lib/matplotlib/_cm.py b/lib/matplotlib/_cm.py index 6ee8914dc085..203f7fa104f0 100644 --- a/lib/matplotlib/_cm.py +++ b/lib/matplotlib/_cm.py @@ -41,17 +41,17 @@ 'blue': ((0., 0., 0.), (1.0, 0.4975, 0.4975))} -_flag_data = { - 'red': lambda x: 0.75 * np.sin((x * 31.5 + 0.25) * np.pi) + 0.5, - 'green': lambda x: np.sin(x * 31.5 * np.pi), - 'blue': lambda x: 0.75 * np.sin((x * 31.5 - 0.25) * np.pi) + 0.5, -} -_prism_data = { - 'red': lambda x: 0.75 * np.sin((x * 20.9 + 0.25) * np.pi) + 0.67, - 'green': lambda x: 0.75 * np.sin((x * 20.9 - 0.25) * np.pi) + 0.33, - 'blue': lambda x: -1.1 * np.sin((x * 20.9) * np.pi), -} +def _flag_red(x): return 0.75 * np.sin((x * 31.5 + 0.25) * np.pi) + 0.5 +def _flag_green(x): return np.sin(x * 31.5 * np.pi) +def _flag_blue(x): return 0.75 * np.sin((x * 31.5 - 0.25) * np.pi) + 0.5 +def _prism_red(x): return 0.75 * np.sin((x * 20.9 + 0.25) * np.pi) + 0.67 +def _prism_green(x): return 0.75 * np.sin((x * 20.9 - 0.25) * np.pi) + 0.33 +def _prism_blue(x): return -1.1 * np.sin((x * 20.9) * np.pi) + + +_flag_data = {'red': _flag_red, 'green': _flag_green, 'blue': _flag_blue} +_prism_data = {'red': _prism_red, 'green': _prism_green, 'blue': _prism_blue} def cubehelix(gamma=1.0, s=0.5, r=-1.5, h=1.0): diff --git a/lib/matplotlib/cm.py b/lib/matplotlib/cm.py index 3eb4860c98ce..20dbbcbcc84b 100644 --- a/lib/matplotlib/cm.py +++ b/lib/matplotlib/cm.py @@ -5,6 +5,8 @@ See :doc:`/tutorials/colors/colormaps` for an in-depth discussion of colormaps. """ +import functools + import numpy as np from numpy import ma @@ -22,10 +24,12 @@ # reversed colormaps have '_r' appended to the name. -def _reverser(f): - def freversed(x): - return f(1 - x) - return freversed +def _reverser(f, x=None): + """Helper such that ``_reverser(f)(x) == f(1 - x)``.""" + if x is None: + # Returning a partial object keeps it picklable. + return functools.partial(_reverser, f) + return f(1 - x) def revcmap(data): From 0e487fdeb514efa4d50412d0070cf00c0335c816 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sun, 22 Jul 2018 01:01:38 +0200 Subject: [PATCH 1035/1161] Pass 'figure' as kwarg to FigureCanvasQt5Agg super __init__. Otherwise, creating FigureCanvas fails using PyQt4, PySide and PySide2 (because the super-class on Qt's side doesn't recognize the positional argument, but will happily forward keyword arguments). --- lib/matplotlib/backends/backend_qt5agg.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/matplotlib/backends/backend_qt5agg.py b/lib/matplotlib/backends/backend_qt5agg.py index 6e0e964a8ef2..f6884db62160 100644 --- a/lib/matplotlib/backends/backend_qt5agg.py +++ b/lib/matplotlib/backends/backend_qt5agg.py @@ -15,6 +15,10 @@ class FigureCanvasQTAgg(FigureCanvasAgg, FigureCanvasQT): + def __init__(self, figure): + # Must pass 'figure' as kwarg to Qt base class. + super().__init__(figure=figure) + def paintEvent(self, event): """Copy the image from the Agg canvas to the qt.drawable. From c624d57611c214d90c4bffa06e4fe7e41a7c937b Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sun, 22 Jul 2018 01:32:36 +0200 Subject: [PATCH 1036/1161] Directly get the size of the renderer buffer from the renderer. ... rather than trying to compute it outselves, which can lead to off-by-one errors due to the use of floats in the initial buffer request. --- lib/matplotlib/backends/backend_qt5agg.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/backends/backend_qt5agg.py b/lib/matplotlib/backends/backend_qt5agg.py index 6e0e964a8ef2..b009187a49fa 100644 --- a/lib/matplotlib/backends/backend_qt5agg.py +++ b/lib/matplotlib/backends/backend_qt5agg.py @@ -48,10 +48,9 @@ def paintEvent(self, event): [[left, self.renderer.height - (top + height * self._dpi_ratio)], [left + width * self._dpi_ratio, self.renderer.height - top]]) reg = self.copy_from_bbox(bbox) - buf = reg.to_string_argb() + buf = memoryview(reg) qimage = QtGui.QImage( - buf, width * self._dpi_ratio, height * self._dpi_ratio, - QtGui.QImage.Format_ARGB32) + buf, buf.shape[1], buf.shape[0], QtGui.QImage.Format_RGBA8888) if hasattr(qimage, 'setDevicePixelRatio'): # Not available on Qt4 or some older Qt5. qimage.setDevicePixelRatio(self._dpi_ratio) From e3e7ed64f23f29e239adb1aa1d2e1a85642d746f Mon Sep 17 00:00:00 2001 From: Andrew Nelson <andyfaff@gmail.com> Date: Sun, 22 Jul 2018 19:25:23 +1000 Subject: [PATCH 1037/1161] MAINT: use collections.abc for 3.7 --- lib/matplotlib/cbook/__init__.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index 13e8d66d82db..95e5ea739d2a 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -1697,7 +1697,7 @@ def index_of(y): def safe_first_element(obj): - if isinstance(obj, collections.Iterator): + if isinstance(obj, collections.abc.Iterator): # needed to accept `array.flat` as input. # np.flatiter reports as an instance of collections.Iterator # but can still be indexed via []. @@ -1714,7 +1714,7 @@ def safe_first_element(obj): def sanitize_sequence(data): """Converts dictview object to list""" - return list(data) if isinstance(data, collections.MappingView) else data + return list(data) if isinstance(data, collections.abc.MappingView) else data def normalize_kwargs(kw, alias_mapping=None, required=(), forbidden=(), @@ -2088,9 +2088,9 @@ def _warn_external(message, category=None): warnings.warn(message, category, stacklevel) -class _OrderedSet(collections.MutableSet): +class _OrderedSet(collections.abc.MutableSet): def __init__(self): - self._od = collections.OrderedDict() + self._od = collections.abc.OrderedDict() def __contains__(self, key): return key in self._od From 944c36870984aaf5914eb703500199f4fcc43e71 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sun, 22 Jul 2018 15:06:45 +0200 Subject: [PATCH 1038/1161] Small cleanups to backend_agg. - The private _get_hinting_flag is unused. - Despite what the comment says, draw_markers and draw_path_collection can certainly be defined in update_methods (the comment came in at the same time as demo_agg_filter.py in b5f348d, which still runs fine after this patch). - Remove the unused tostring_bgra (which is not publically exposed in the wrapper Python-level RendererAgg class -- the C-level class is not publically accessible). - Small style fixes. --- .flake8 | 2 +- lib/matplotlib/backends/backend_agg.py | 33 ++++++-------------------- src/_backend_agg.cpp | 12 ---------- src/_backend_agg.h | 1 - src/_backend_agg_wrapper.cpp | 19 +-------------- 5 files changed, 9 insertions(+), 58 deletions(-) diff --git a/.flake8 b/.flake8 index d56c6c1858dd..eb05e4a81d8c 100644 --- a/.flake8 +++ b/.flake8 @@ -32,7 +32,7 @@ per-file-ignores = matplotlib/_mathtext_data.py: E203, E261 matplotlib/backend_bases.py: E225 matplotlib/backends/_backend_tk.py: E203, E222, E225, E231, E271, E301, E303, E401, E501, E701 - matplotlib/backends/backend_agg.py: E261, E302, E303, E701 + matplotlib/backends/backend_agg.py: E261, E302, E701 matplotlib/backends/backend_cairo.py: E203, E221, E261, E303, E402, E711 matplotlib/backends/backend_gtk3.py: E203, E221, E222, E225, E251, E261, E501 matplotlib/backends/backend_macosx.py: E231, E261 diff --git a/lib/matplotlib/backends/backend_agg.py b/lib/matplotlib/backends/backend_agg.py index ca7a44700bcd..df142228b842 100644 --- a/lib/matplotlib/backends/backend_agg.py +++ b/lib/matplotlib/backends/backend_agg.py @@ -100,25 +100,13 @@ def __getstate__(self): def __setstate__(self, state): self.__init__(state['width'], state['height'], state['dpi']) - def _get_hinting_flag(self): - if rcParams['text.hinting']: - return LOAD_FORCE_AUTOHINT - else: - return LOAD_NO_HINTING - - # for filtering to work with rasterization, methods needs to be wrapped. - # maybe there is better way to do it. - def draw_markers(self, *kl, **kw): - return self._renderer.draw_markers(*kl, **kw) - - def draw_path_collection(self, *kl, **kw): - return self._renderer.draw_path_collection(*kl, **kw) - def _update_methods(self): - self.draw_quad_mesh = self._renderer.draw_quad_mesh self.draw_gouraud_triangle = self._renderer.draw_gouraud_triangle self.draw_gouraud_triangles = self._renderer.draw_gouraud_triangles self.draw_image = self._renderer.draw_image + self.draw_markers = self._renderer.draw_markers + self.draw_path_collection = self._renderer.draw_path_collection + self.draw_quad_mesh = self._renderer.draw_quad_mesh self.copy_from_bbox = self._renderer.copy_from_bbox self.get_content_extents = self._renderer.get_content_extents @@ -163,7 +151,6 @@ def draw_path(self, gc, path, transform, rgbFace=None): raise OverflowError("Exceeded cell block limit (set " "'agg.path.chunksize' rcparam)") - def draw_mathtext(self, gc, x, y, s, prop, angle): """ Draw the math text using matplotlib.mathtext @@ -260,7 +247,7 @@ def get_canvas_width_height(self): def _get_agg_font(self, prop): """ - Get the font for text instance t, cacheing for efficiency + Get the font for text instance t, caching for efficiency """ fname = findfont(prop) font = get_font(fname) @@ -276,7 +263,7 @@ def points_to_pixels(self, points): convert point measures to pixes using dpi and the pixels per inch of the display """ - return points*self.dpi/72.0 + return points * self.dpi / 72 def tostring_rgb(self): return self._renderer.tostring_rgb() @@ -364,14 +351,9 @@ def post_processing(image, dpi): post_processing is plotted (using draw_image) on it. """ - # WARNING: For agg_filter to work, the renderer's method need to - # overridden in the class. See draw_markers and draw_path_collections. - width, height = int(self.width), int(self.height) - buffer, bounds = self.tostring_rgba_minimized() - - l, b, w, h = bounds + buffer, (l, b, w, h) = self.tostring_rgba_minimized() self._renderer = self._filter_renderers.pop() self._update_methods() @@ -384,8 +366,7 @@ def post_processing(image, dpi): if img.dtype.kind == 'f': img = np.asarray(img * 255., np.uint8) img = img[::-1] - self._renderer.draw_image( - gc, l + ox, height - b - h + oy, img) + self._renderer.draw_image(gc, l + ox, height - b - h + oy, img) class FigureCanvasAgg(FigureCanvasBase): diff --git a/src/_backend_agg.cpp b/src/_backend_agg.cpp index 9cb34dca235b..6d0f90400913 100644 --- a/src/_backend_agg.cpp +++ b/src/_backend_agg.cpp @@ -179,18 +179,6 @@ void RendererAgg::tostring_argb(uint8_t *buf) agg::color_conv(&renderingBufferTmp, &renderingBuffer, agg::color_conv_rgba32_to_argb32()); } -void RendererAgg::tostring_bgra(uint8_t *buf) -{ - //"Return the rendered buffer as an RGB string"; - - int row_len = width * 4; - - agg::rendering_buffer renderingBufferTmp; - renderingBufferTmp.attach(buf, width, height, row_len); - - agg::color_conv(&renderingBufferTmp, &renderingBuffer, agg::color_conv_rgba32_to_bgra32()); -} - agg::rect_i RendererAgg::get_content_extents() { agg::rect_i r(width, height, 0, 0); diff --git a/src/_backend_agg.h b/src/_backend_agg.h index d4b85633e0fe..835302ca5719 100644 --- a/src/_backend_agg.h +++ b/src/_backend_agg.h @@ -205,7 +205,6 @@ class RendererAgg void tostring_rgb(uint8_t *buf); void tostring_argb(uint8_t *buf); - void tostring_bgra(uint8_t *buf); agg::rect_i get_content_extents(); void clear(); diff --git a/src/_backend_agg_wrapper.cpp b/src/_backend_agg_wrapper.cpp index 8bd3cea9a037..3c26a8b67cde 100644 --- a/src/_backend_agg_wrapper.cpp +++ b/src/_backend_agg_wrapper.cpp @@ -557,22 +557,6 @@ static PyObject *PyRendererAgg_tostring_argb(PyRendererAgg *self, PyObject *args return buffobj; } -static PyObject *PyRendererAgg_tostring_bgra(PyRendererAgg *self, PyObject *args, PyObject *kwds) -{ - PyObject *buffobj = NULL; - - buffobj = PyBytes_FromStringAndSize(NULL, self->x->get_width() * self->x->get_height() * 4); - if (buffobj == NULL) { - return NULL; - } - - CALL_CPP_CLEANUP("to_string_bgra", - (self->x->tostring_bgra((uint8_t *)PyBytes_AS_STRING(buffobj))), - Py_DECREF(buffobj)); - - return buffobj; -} - static PyObject * PyRendererAgg_get_content_extents(PyRendererAgg *self, PyObject *args, PyObject *kwds) { @@ -658,7 +642,7 @@ static PyObject *PyRendererAgg_restore_region(PyRendererAgg *self, PyObject *arg } if (PySequence_Size(args) == 1) { - CALL_CPP("restore_region", (self->x->restore_region(*(regobj->x)))); + CALL_CPP("restore_region", self->x->restore_region(*(regobj->x))); } else { CALL_CPP("restore_region", self->x->restore_region(*(regobj->x), xx1, yy1, xx2, yy2, x, y)); } @@ -682,7 +666,6 @@ static PyTypeObject *PyRendererAgg_init_type(PyObject *m, PyTypeObject *type) {"tostring_rgb", (PyCFunction)PyRendererAgg_tostring_rgb, METH_NOARGS, NULL}, {"tostring_argb", (PyCFunction)PyRendererAgg_tostring_argb, METH_NOARGS, NULL}, - {"tostring_bgra", (PyCFunction)PyRendererAgg_tostring_bgra, METH_NOARGS, NULL}, {"get_content_extents", (PyCFunction)PyRendererAgg_get_content_extents, METH_NOARGS, NULL}, {"buffer_rgba", (PyCFunction)PyRendererAgg_buffer_rgba, METH_NOARGS, NULL}, {"clear", (PyCFunction)PyRendererAgg_clear, METH_NOARGS, NULL}, From f84e88d67500d157346597d00b6ee90caa19972d Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sun, 22 Jul 2018 17:33:47 +0200 Subject: [PATCH 1039/1161] Remove unused needs_sphinx marker; move importorskip to toplevel. --- lib/matplotlib/sphinxext/tests/test_tinypages.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/lib/matplotlib/sphinxext/tests/test_tinypages.py b/lib/matplotlib/sphinxext/tests/test_tinypages.py index 7a149059ce10..6377dc0347ef 100644 --- a/lib/matplotlib/sphinxext/tests/test_tinypages.py +++ b/lib/matplotlib/sphinxext/tests/test_tinypages.py @@ -1,4 +1,4 @@ -""" Tests for tinypages build using sphinx extensions """ +"""Tests for tinypages build using sphinx extensions.""" import filecmp from os.path import join as pjoin, dirname, isdir @@ -10,13 +10,10 @@ from matplotlib import cbook -needs_sphinx = pytest.mark.skipif( - call([sys.executable, '-msphinx', '--help'], stdout=PIPE, stderr=PIPE), - reason="'{} -msphinx' does not return 0".format(sys.executable)) +pytest.importorskip('sphinx') def test_tinypages(tmpdir): - pytest.importorskip('sphinx') html_dir = pjoin(str(tmpdir), 'html') doctree_dir = pjoin(str(tmpdir), 'doctrees') # Build the pages with warnings turned into errors From 3fad061220e5d1dc14e280f87dc93d154eeba0cd Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Thu, 28 Jun 2018 16:24:44 -0400 Subject: [PATCH 1040/1161] CI: re-jigger test matrix to include 3.7 - run 3.7 with pep8 - only run 1 3.5 build - bump ubuntu version, sudo seems to be required for 3.7 --- .travis.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 45b3e13c07a1..20283d195c29 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ language: python -dist: trusty +dist: xenial sudo: false branches: @@ -69,17 +69,17 @@ env: matrix: include: - python: 3.5 + dist: trusty # pytest-cov>=2.3.1 due to https://github.com/pytest-dev/pytest-cov/issues/124. env: - PINNEDVERS='-c requirements/testing/travis35.txt' - - python: 3.5 - env: - # - PYTHONOPTIMIZE=2 # This currently doesn't work. - python: 3.6 env: - DELETE_FONT_CACHE=1 - EXTRAREQS='-r requirements/testing/travis36.txt' - RUN_FLAKE8=1 + - python: 3.7 + sudo: true - python: "nightly" env: PRE=--pre - os: osx From 7a5af736bd0502e5e1ca816a94c79f8497816f8d Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Thu, 28 Jun 2018 16:26:08 -0400 Subject: [PATCH 1041/1161] BLD: add 3.7 to classifiers --- setup.py | 1 + 1 file changed, 1 insertion(+) diff --git a/setup.py b/setup.py index 03ca28762231..52e98aa66e97 100644 --- a/setup.py +++ b/setup.py @@ -114,6 +114,7 @@ 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', 'Topic :: Scientific/Engineering :: Visualization', ] From 8df717657e8e61dbc7e9a6cbd7d89373e43c5f82 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Thu, 28 Jun 2018 16:52:51 -0400 Subject: [PATCH 1042/1161] DOC: tweak a few references to python versions --- INSTALL.rst | 2 +- doc/devel/testing.rst | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/INSTALL.rst b/INSTALL.rst index 755e7e59e17a..12afe4f469df 100644 --- a/INSTALL.rst +++ b/INSTALL.rst @@ -251,7 +251,7 @@ Building on Windows ------------------- The Python shipped from https://www.python.org is compiled with Visual Studio -2015 for 3.5 and 3.6. Python extensions should be compiled with the same +2015 for 3.5+. Python extensions should be compiled with the same compiler, see e.g. https://packaging.python.org/guides/packaging-binary-extensions/#setting-up-a-build-environment-on-windows for how to set up a build environment. diff --git a/doc/devel/testing.rst b/doc/devel/testing.rst index b3a191be1fa1..7259d9f5c8fc 100644 --- a/doc/devel/testing.rst +++ b/doc/devel/testing.rst @@ -260,10 +260,10 @@ Using tox `Tox <https://tox.readthedocs.io/en/latest/>`_ is a tool for running tests against multiple Python environments, including multiple versions of Python -(e.g., 2.7, 3.4, 3.5) and even different Python implementations +(e.g., 3.5, 3.6) and even different Python implementations altogether (e.g., CPython, PyPy, Jython, etc.) -Testing all versions of Python (2.6, 2.7, 3.*) requires +Testing all versions of Python (3.5, 3.6, ...) requires having multiple versions of Python installed on your system and on the PATH. Depending on your operating system, you may want to use your package manager (such as apt-get, yum or MacPorts) to do this. @@ -280,7 +280,7 @@ You can also run tox on a subset of environments: .. code-block:: bash - $ tox -e py26,py27 + $ tox -e py36,py37 Tox processes everything serially so it can take a long time to test several environments. To speed it up, you might try using a new, From 885e634aacd669414c24068381ae0ae7cb42004e Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Wed, 18 Jul 2018 22:15:02 -0400 Subject: [PATCH 1043/1161] TST: regenerate a svg image It seems that the paths output for glyphs in svg have changed (we are outputting the text as paths not a strings) to now include a z (move back to start to close the path) that the base line does not. The glyphs are closed paths so this should not matter, but the version of inkscape on travis seems to be sensitive to it. --- .../test_tightlayout/tight_layout4.svg | 456 +++++++++--------- 1 file changed, 231 insertions(+), 225 deletions(-) diff --git a/lib/matplotlib/tests/baseline_images/test_tightlayout/tight_layout4.svg b/lib/matplotlib/tests/baseline_images/test_tightlayout/tight_layout4.svg index e19b6b53d590..de5e5efd5a1a 100644 --- a/lib/matplotlib/tests/baseline_images/test_tightlayout/tight_layout4.svg +++ b/lib/matplotlib/tests/baseline_images/test_tightlayout/tight_layout4.svg @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<!-- Created with matplotlib (http://matplotlib.org/) --> +<!-- Created with matplotlib (https://matplotlib.org/) --> <svg height="432pt" version="1.1" viewBox="0 0 576 432" width="576pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <defs> <style type="text/css"> @@ -27,7 +27,7 @@ z " style="fill:#ffffff;"/> </g> <g id="line2d_1"> - <path clip-path="url(#p99e48d4819)" d="M 52.433438 108.039375 + <path clip-path="url(#pfd3e60f538)" d="M 52.433438 108.039375 L 178.103437 26.8475 " style="fill:none;stroke:#0000ff;stroke-linecap:square;"/> </g> @@ -57,20 +57,20 @@ L 178.103437 26.8475 <defs> <path d="M 0 0 L 0 -4 -" id="md8a9734600" style="stroke:#000000;stroke-width:0.5;"/> +" id="m368fc901b1" style="stroke:#000000;stroke-width:0.5;"/> </defs> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="52.433438" xlink:href="#md8a9734600" y="108.039375"/> + <use style="stroke:#000000;stroke-width:0.5;" x="52.433438" xlink:href="#m368fc901b1" y="108.039375"/> </g> </g> <g id="line2d_3"> <defs> <path d="M 0 0 L 0 4 -" id="md314be265a" style="stroke:#000000;stroke-width:0.5;"/> +" id="mc63e59a608" style="stroke:#000000;stroke-width:0.5;"/> </defs> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="52.433438" xlink:href="#md314be265a" y="26.8475"/> + <use style="stroke:#000000;stroke-width:0.5;" x="52.433438" xlink:href="#mc63e59a608" y="26.8475"/> </g> </g> <g id="text_1"> @@ -85,6 +85,7 @@ Q 39.453125 6.390625 43.28125 13.890625 Q 47.125 21.390625 47.125 36.375 Q 47.125 51.421875 43.28125 58.90625 Q 39.453125 66.40625 31.78125 66.40625 +z M 31.78125 74.21875 Q 44.046875 74.21875 50.515625 64.515625 Q 56.984375 54.828125 56.984375 36.375 @@ -94,30 +95,31 @@ Q 19.53125 -1.421875 13.0625 8.265625 Q 6.59375 17.96875 6.59375 36.375 Q 6.59375 54.828125 13.0625 64.515625 Q 19.53125 74.21875 31.78125 74.21875 -" id="DejaVuSans-30"/> +z +" id="DejaVuSans-48"/> <path d="M 10.6875 12.40625 L 21 12.40625 L 21 0 L 10.6875 0 z -" id="DejaVuSans-2e"/> +" id="DejaVuSans-46"/> </defs> <g transform="translate(42.891563 121.1575)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-30"/> + <use xlink:href="#DejaVuSans-48"/> + <use x="63.623047" xlink:href="#DejaVuSans-46"/> + <use x="95.410156" xlink:href="#DejaVuSans-48"/> </g> </g> </g> <g id="xtick_2"> <g id="line2d_4"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="115.268437" xlink:href="#md8a9734600" y="108.039375"/> + <use style="stroke:#000000;stroke-width:0.5;" x="115.268438" xlink:href="#m368fc901b1" y="108.039375"/> </g> </g> <g id="line2d_5"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="115.268437" xlink:href="#md314be265a" y="26.8475"/> + <use style="stroke:#000000;stroke-width:0.5;" x="115.268438" xlink:href="#mc63e59a608" y="26.8475"/> </g> </g> <g id="text_2"> @@ -146,24 +148,24 @@ Q 35.15625 39.890625 26.703125 39.890625 Q 22.75 39.890625 18.8125 39.015625 Q 14.890625 38.140625 10.796875 36.28125 z -" id="DejaVuSans-35"/> +" id="DejaVuSans-53"/> </defs> <g transform="translate(105.726562 121.1575)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-35"/> + <use xlink:href="#DejaVuSans-48"/> + <use x="63.623047" xlink:href="#DejaVuSans-46"/> + <use x="95.410156" xlink:href="#DejaVuSans-53"/> </g> </g> </g> <g id="xtick_3"> <g id="line2d_6"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="178.103437" xlink:href="#md8a9734600" y="108.039375"/> + <use style="stroke:#000000;stroke-width:0.5;" x="178.103437" xlink:href="#m368fc901b1" y="108.039375"/> </g> </g> <g id="line2d_7"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="178.103437" xlink:href="#md314be265a" y="26.8475"/> + <use style="stroke:#000000;stroke-width:0.5;" x="178.103437" xlink:href="#mc63e59a608" y="26.8475"/> </g> </g> <g id="text_3"> @@ -181,12 +183,12 @@ L 54.390625 8.296875 L 54.390625 0 L 12.40625 0 z -" id="DejaVuSans-31"/> +" id="DejaVuSans-49"/> </defs> <g transform="translate(168.561562 121.1575)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-31"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-30"/> + <use xlink:href="#DejaVuSans-49"/> + <use x="63.623047" xlink:href="#DejaVuSans-46"/> + <use x="95.410156" xlink:href="#DejaVuSans-48"/> </g> </g> </g> @@ -206,19 +208,19 @@ L 15.28125 54.6875 L 29.78125 35.203125 L 44.28125 54.6875 z -" id="DejaVuSans-78"/> +" id="DejaVuSans-120"/> <path d="M 4.890625 31.390625 L 31.203125 31.390625 L 31.203125 23.390625 L 4.890625 23.390625 z -" id="DejaVuSans-2d"/> +" id="DejaVuSans-45"/> <path d="M 9.421875 75.984375 L 18.40625 75.984375 L 18.40625 0 L 9.421875 0 z -" id="DejaVuSans-6c"/> +" id="DejaVuSans-108"/> <path d="M 34.28125 27.484375 Q 23.390625 27.484375 19.1875 25 Q 14.984375 22.515625 14.984375 16.5 @@ -249,7 +251,8 @@ Q 14.9375 54.109375 19.578125 55.046875 Q 24.21875 56 28.609375 56 Q 40.484375 56 46.34375 49.84375 Q 52.203125 43.703125 52.203125 31.203125 -" id="DejaVuSans-61"/> +z +" id="DejaVuSans-97"/> <path d="M 48.6875 27.296875 Q 48.6875 37.203125 44.609375 42.84375 Q 40.53125 48.484375 33.40625 48.484375 @@ -259,6 +262,7 @@ Q 18.109375 17.390625 22.1875 11.75 Q 26.265625 6.109375 33.40625 6.109375 Q 40.53125 6.109375 44.609375 11.75 Q 48.6875 17.390625 48.6875 27.296875 +z M 18.109375 46.390625 Q 20.953125 51.265625 25.265625 53.625 Q 29.59375 56 35.59375 56 @@ -273,7 +277,7 @@ L 9.078125 0 L 9.078125 75.984375 L 18.109375 75.984375 z -" id="DejaVuSans-62"/> +" id="DejaVuSans-98"/> <path d="M 56.203125 29.59375 L 56.203125 25.203125 L 14.890625 25.203125 @@ -290,22 +294,23 @@ Q 5.515625 40.234375 12.765625 48.109375 Q 20.015625 56 32.328125 56 Q 43.359375 56 49.78125 48.890625 Q 56.203125 41.796875 56.203125 29.59375 +z M 47.21875 32.234375 Q 47.125 39.59375 43.09375 43.984375 Q 39.0625 48.390625 32.421875 48.390625 Q 24.90625 48.390625 20.390625 44.140625 Q 15.875 39.890625 15.1875 32.171875 z -" id="DejaVuSans-65"/> +" id="DejaVuSans-101"/> </defs> - <g transform="translate(95.040937 137.77125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-78"/> - <use x="59.179688" xlink:href="#DejaVuSans-2d"/> - <use x="95.263672" xlink:href="#DejaVuSans-6c"/> - <use x="123.046875" xlink:href="#DejaVuSans-61"/> - <use x="184.326172" xlink:href="#DejaVuSans-62"/> - <use x="247.802734" xlink:href="#DejaVuSans-65"/> - <use x="309.326172" xlink:href="#DejaVuSans-6c"/> + <g transform="translate(95.040938 137.77125)scale(0.12 -0.12)"> + <use xlink:href="#DejaVuSans-120"/> + <use x="59.179688" xlink:href="#DejaVuSans-45"/> + <use x="95.263672" xlink:href="#DejaVuSans-108"/> + <use x="123.046875" xlink:href="#DejaVuSans-97"/> + <use x="184.326172" xlink:href="#DejaVuSans-98"/> + <use x="247.802734" xlink:href="#DejaVuSans-101"/> + <use x="309.326172" xlink:href="#DejaVuSans-108"/> </g> </g> </g> @@ -315,60 +320,60 @@ z <defs> <path d="M 0 0 L 4 0 -" id="m59dd5cee0a" style="stroke:#000000;stroke-width:0.5;"/> +" id="m556f96d829" style="stroke:#000000;stroke-width:0.5;"/> </defs> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="52.433438" xlink:href="#m59dd5cee0a" y="108.039375"/> + <use style="stroke:#000000;stroke-width:0.5;" x="52.433438" xlink:href="#m556f96d829" y="108.039375"/> </g> </g> <g id="line2d_9"> <defs> <path d="M 0 0 L -4 0 -" id="md997a602e8" style="stroke:#000000;stroke-width:0.5;"/> +" id="m27e32ca04a" style="stroke:#000000;stroke-width:0.5;"/> </defs> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="178.103437" xlink:href="#md997a602e8" y="108.039375"/> + <use style="stroke:#000000;stroke-width:0.5;" x="178.103437" xlink:href="#m27e32ca04a" y="108.039375"/> </g> </g> <g id="text_5"> <!-- 1.0 --> <g transform="translate(29.349688 112.598437)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-31"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-30"/> + <use xlink:href="#DejaVuSans-49"/> + <use x="63.623047" xlink:href="#DejaVuSans-46"/> + <use x="95.410156" xlink:href="#DejaVuSans-48"/> </g> </g> </g> <g id="ytick_2"> <g id="line2d_10"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="52.433438" xlink:href="#m59dd5cee0a" y="67.443437"/> + <use style="stroke:#000000;stroke-width:0.5;" x="52.433438" xlink:href="#m556f96d829" y="67.443437"/> </g> </g> <g id="line2d_11"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="178.103437" xlink:href="#md997a602e8" y="67.443437"/> + <use style="stroke:#000000;stroke-width:0.5;" x="178.103437" xlink:href="#m27e32ca04a" y="67.443437"/> </g> </g> <g id="text_6"> <!-- 1.5 --> <g transform="translate(29.349688 72.0025)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-31"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-35"/> + <use xlink:href="#DejaVuSans-49"/> + <use x="63.623047" xlink:href="#DejaVuSans-46"/> + <use x="95.410156" xlink:href="#DejaVuSans-53"/> </g> </g> </g> <g id="ytick_3"> <g id="line2d_12"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="52.433438" xlink:href="#m59dd5cee0a" y="26.8475"/> + <use style="stroke:#000000;stroke-width:0.5;" x="52.433438" xlink:href="#m556f96d829" y="26.8475"/> </g> </g> <g id="line2d_13"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="178.103437" xlink:href="#md997a602e8" y="26.8475"/> + <use style="stroke:#000000;stroke-width:0.5;" x="178.103437" xlink:href="#m27e32ca04a" y="26.8475"/> </g> </g> <g id="text_7"> @@ -396,12 +401,13 @@ Q 53.21875 48.921875 51.53125 44.890625 Q 49.859375 40.875 45.40625 35.40625 Q 44.1875 33.984375 37.640625 27.21875 Q 31.109375 20.453125 19.1875 8.296875 -" id="DejaVuSans-32"/> +z +" id="DejaVuSans-50"/> </defs> <g transform="translate(29.349688 31.406562)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-32"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-30"/> + <use xlink:href="#DejaVuSans-50"/> + <use x="63.623047" xlink:href="#DejaVuSans-46"/> + <use x="95.410156" xlink:href="#DejaVuSans-48"/> </g> </g> </g> @@ -423,16 +429,16 @@ L 29.59375 11.921875 L 46.6875 54.6875 L 56.203125 54.6875 z -" id="DejaVuSans-79"/> +" id="DejaVuSans-121"/> </defs> <g transform="translate(21.854063 87.67)rotate(-90)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-79"/> - <use x="59.164062" xlink:href="#DejaVuSans-2d"/> - <use x="95.248047" xlink:href="#DejaVuSans-6c"/> - <use x="123.03125" xlink:href="#DejaVuSans-61"/> - <use x="184.310547" xlink:href="#DejaVuSans-62"/> - <use x="247.787109" xlink:href="#DejaVuSans-65"/> - <use x="309.310547" xlink:href="#DejaVuSans-6c"/> + <use xlink:href="#DejaVuSans-121"/> + <use x="59.164062" xlink:href="#DejaVuSans-45"/> + <use x="95.248047" xlink:href="#DejaVuSans-108"/> + <use x="123.03125" xlink:href="#DejaVuSans-97"/> + <use x="184.310547" xlink:href="#DejaVuSans-98"/> + <use x="247.787109" xlink:href="#DejaVuSans-101"/> + <use x="309.310547" xlink:href="#DejaVuSans-108"/> </g> </g> </g> @@ -448,7 +454,7 @@ L 25.59375 0 L 25.59375 64.59375 L -0.296875 64.59375 z -" id="DejaVuSans-54"/> +" id="DejaVuSans-84"/> <path d="M 9.421875 54.6875 L 18.40625 54.6875 L 18.40625 0 @@ -459,7 +465,7 @@ L 18.40625 75.984375 L 18.40625 64.59375 L 9.421875 64.59375 z -" id="DejaVuSans-69"/> +" id="DejaVuSans-105"/> <path d="M 18.3125 70.21875 L 18.3125 54.6875 L 36.8125 54.6875 @@ -479,14 +485,14 @@ L 2.6875 54.6875 L 9.28125 54.6875 L 9.28125 70.21875 z -" id="DejaVuSans-74"/> +" id="DejaVuSans-116"/> </defs> <g transform="translate(102.22875 21.8475)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-54"/> - <use x="61.037109" xlink:href="#DejaVuSans-69"/> - <use x="88.820312" xlink:href="#DejaVuSans-74"/> - <use x="128.029297" xlink:href="#DejaVuSans-6c"/> - <use x="155.8125" xlink:href="#DejaVuSans-65"/> + <use xlink:href="#DejaVuSans-84"/> + <use x="61.037109" xlink:href="#DejaVuSans-105"/> + <use x="88.820312" xlink:href="#DejaVuSans-116"/> + <use x="128.029297" xlink:href="#DejaVuSans-108"/> + <use x="155.8125" xlink:href="#DejaVuSans-101"/> </g> </g> </g> @@ -500,7 +506,7 @@ z " style="fill:#ffffff;"/> </g> <g id="line2d_14"> - <path clip-path="url(#pe14cea8c7a)" d="M 240.113438 108.039375 + <path clip-path="url(#p43f7f3c6e4)" d="M 240.113438 108.039375 L 553.463437 26.8475 " style="fill:none;stroke:#0000ff;stroke-linecap:square;"/> </g> @@ -528,73 +534,73 @@ L 553.463437 26.8475 <g id="xtick_4"> <g id="line2d_15"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="240.113438" xlink:href="#md8a9734600" y="108.039375"/> + <use style="stroke:#000000;stroke-width:0.5;" x="240.113438" xlink:href="#m368fc901b1" y="108.039375"/> </g> </g> <g id="line2d_16"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="240.113438" xlink:href="#md314be265a" y="26.8475"/> + <use style="stroke:#000000;stroke-width:0.5;" x="240.113438" xlink:href="#mc63e59a608" y="26.8475"/> </g> </g> <g id="text_10"> <!-- 0.0 --> <g transform="translate(230.571562 121.1575)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-30"/> + <use xlink:href="#DejaVuSans-48"/> + <use x="63.623047" xlink:href="#DejaVuSans-46"/> + <use x="95.410156" xlink:href="#DejaVuSans-48"/> </g> </g> </g> <g id="xtick_5"> <g id="line2d_17"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="396.788437" xlink:href="#md8a9734600" y="108.039375"/> + <use style="stroke:#000000;stroke-width:0.5;" x="396.788437" xlink:href="#m368fc901b1" y="108.039375"/> </g> </g> <g id="line2d_18"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="396.788437" xlink:href="#md314be265a" y="26.8475"/> + <use style="stroke:#000000;stroke-width:0.5;" x="396.788437" xlink:href="#mc63e59a608" y="26.8475"/> </g> </g> <g id="text_11"> <!-- 0.5 --> <g transform="translate(387.246562 121.1575)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-35"/> + <use xlink:href="#DejaVuSans-48"/> + <use x="63.623047" xlink:href="#DejaVuSans-46"/> + <use x="95.410156" xlink:href="#DejaVuSans-53"/> </g> </g> </g> <g id="xtick_6"> <g id="line2d_19"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="553.463437" xlink:href="#md8a9734600" y="108.039375"/> + <use style="stroke:#000000;stroke-width:0.5;" x="553.463437" xlink:href="#m368fc901b1" y="108.039375"/> </g> </g> <g id="line2d_20"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="553.463437" xlink:href="#md314be265a" y="26.8475"/> + <use style="stroke:#000000;stroke-width:0.5;" x="553.463437" xlink:href="#mc63e59a608" y="26.8475"/> </g> </g> <g id="text_12"> <!-- 1.0 --> <g transform="translate(543.921562 121.1575)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-31"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-30"/> + <use xlink:href="#DejaVuSans-49"/> + <use x="63.623047" xlink:href="#DejaVuSans-46"/> + <use x="95.410156" xlink:href="#DejaVuSans-48"/> </g> </g> </g> <g id="text_13"> <!-- x-label --> <g transform="translate(376.560937 137.77125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-78"/> - <use x="59.179688" xlink:href="#DejaVuSans-2d"/> - <use x="95.263672" xlink:href="#DejaVuSans-6c"/> - <use x="123.046875" xlink:href="#DejaVuSans-61"/> - <use x="184.326172" xlink:href="#DejaVuSans-62"/> - <use x="247.802734" xlink:href="#DejaVuSans-65"/> - <use x="309.326172" xlink:href="#DejaVuSans-6c"/> + <use xlink:href="#DejaVuSans-120"/> + <use x="59.179688" xlink:href="#DejaVuSans-45"/> + <use x="95.263672" xlink:href="#DejaVuSans-108"/> + <use x="123.046875" xlink:href="#DejaVuSans-97"/> + <use x="184.326172" xlink:href="#DejaVuSans-98"/> + <use x="247.802734" xlink:href="#DejaVuSans-101"/> + <use x="309.326172" xlink:href="#DejaVuSans-108"/> </g> </g> </g> @@ -602,84 +608,84 @@ L 553.463437 26.8475 <g id="ytick_4"> <g id="line2d_21"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="240.113438" xlink:href="#m59dd5cee0a" y="108.039375"/> + <use style="stroke:#000000;stroke-width:0.5;" x="240.113438" xlink:href="#m556f96d829" y="108.039375"/> </g> </g> <g id="line2d_22"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="553.463437" xlink:href="#md997a602e8" y="108.039375"/> + <use style="stroke:#000000;stroke-width:0.5;" x="553.463437" xlink:href="#m27e32ca04a" y="108.039375"/> </g> </g> <g id="text_14"> <!-- 1.0 --> <g transform="translate(217.029687 112.598437)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-31"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-30"/> + <use xlink:href="#DejaVuSans-49"/> + <use x="63.623047" xlink:href="#DejaVuSans-46"/> + <use x="95.410156" xlink:href="#DejaVuSans-48"/> </g> </g> </g> <g id="ytick_5"> <g id="line2d_23"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="240.113438" xlink:href="#m59dd5cee0a" y="67.443437"/> + <use style="stroke:#000000;stroke-width:0.5;" x="240.113438" xlink:href="#m556f96d829" y="67.443437"/> </g> </g> <g id="line2d_24"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="553.463437" xlink:href="#md997a602e8" y="67.443437"/> + <use style="stroke:#000000;stroke-width:0.5;" x="553.463437" xlink:href="#m27e32ca04a" y="67.443437"/> </g> </g> <g id="text_15"> <!-- 1.5 --> <g transform="translate(217.029687 72.0025)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-31"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-35"/> + <use xlink:href="#DejaVuSans-49"/> + <use x="63.623047" xlink:href="#DejaVuSans-46"/> + <use x="95.410156" xlink:href="#DejaVuSans-53"/> </g> </g> </g> <g id="ytick_6"> <g id="line2d_25"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="240.113438" xlink:href="#m59dd5cee0a" y="26.8475"/> + <use style="stroke:#000000;stroke-width:0.5;" x="240.113438" xlink:href="#m556f96d829" y="26.8475"/> </g> </g> <g id="line2d_26"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="553.463437" xlink:href="#md997a602e8" y="26.8475"/> + <use style="stroke:#000000;stroke-width:0.5;" x="553.463437" xlink:href="#m27e32ca04a" y="26.8475"/> </g> </g> <g id="text_16"> <!-- 2.0 --> <g transform="translate(217.029687 31.406562)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-32"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-30"/> + <use xlink:href="#DejaVuSans-50"/> + <use x="63.623047" xlink:href="#DejaVuSans-46"/> + <use x="95.410156" xlink:href="#DejaVuSans-48"/> </g> </g> </g> <g id="text_17"> <!-- y-label --> <g transform="translate(209.534063 87.67)rotate(-90)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-79"/> - <use x="59.164062" xlink:href="#DejaVuSans-2d"/> - <use x="95.248047" xlink:href="#DejaVuSans-6c"/> - <use x="123.03125" xlink:href="#DejaVuSans-61"/> - <use x="184.310547" xlink:href="#DejaVuSans-62"/> - <use x="247.787109" xlink:href="#DejaVuSans-65"/> - <use x="309.310547" xlink:href="#DejaVuSans-6c"/> + <use xlink:href="#DejaVuSans-121"/> + <use x="59.164062" xlink:href="#DejaVuSans-45"/> + <use x="95.248047" xlink:href="#DejaVuSans-108"/> + <use x="123.03125" xlink:href="#DejaVuSans-97"/> + <use x="184.310547" xlink:href="#DejaVuSans-98"/> + <use x="247.787109" xlink:href="#DejaVuSans-101"/> + <use x="309.310547" xlink:href="#DejaVuSans-108"/> </g> </g> </g> <g id="text_18"> <!-- Title --> <g transform="translate(383.74875 21.8475)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-54"/> - <use x="61.037109" xlink:href="#DejaVuSans-69"/> - <use x="88.820312" xlink:href="#DejaVuSans-74"/> - <use x="128.029297" xlink:href="#DejaVuSans-6c"/> - <use x="155.8125" xlink:href="#DejaVuSans-65"/> + <use xlink:href="#DejaVuSans-84"/> + <use x="61.037109" xlink:href="#DejaVuSans-105"/> + <use x="88.820312" xlink:href="#DejaVuSans-116"/> + <use x="128.029297" xlink:href="#DejaVuSans-108"/> + <use x="155.8125" xlink:href="#DejaVuSans-101"/> </g> </g> </g> @@ -693,7 +699,7 @@ z " style="fill:#ffffff;"/> </g> <g id="line2d_27"> - <path clip-path="url(#p03b8456dee)" d="M 52.433438 387.399375 + <path clip-path="url(#p4e3235753d)" d="M 52.433438 387.399375 L 365.783437 166.5275 " style="fill:none;stroke:#0000ff;stroke-linecap:square;"/> </g> @@ -721,73 +727,73 @@ L 365.783437 166.5275 <g id="xtick_7"> <g id="line2d_28"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="52.433438" xlink:href="#md8a9734600" y="387.399375"/> + <use style="stroke:#000000;stroke-width:0.5;" x="52.433438" xlink:href="#m368fc901b1" y="387.399375"/> </g> </g> <g id="line2d_29"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="52.433438" xlink:href="#md314be265a" y="166.5275"/> + <use style="stroke:#000000;stroke-width:0.5;" x="52.433438" xlink:href="#mc63e59a608" y="166.5275"/> </g> </g> <g id="text_19"> <!-- 0.0 --> <g transform="translate(42.891563 400.5175)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-30"/> + <use xlink:href="#DejaVuSans-48"/> + <use x="63.623047" xlink:href="#DejaVuSans-46"/> + <use x="95.410156" xlink:href="#DejaVuSans-48"/> </g> </g> </g> <g id="xtick_8"> <g id="line2d_30"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="209.108437" xlink:href="#md8a9734600" y="387.399375"/> + <use style="stroke:#000000;stroke-width:0.5;" x="209.108437" xlink:href="#m368fc901b1" y="387.399375"/> </g> </g> <g id="line2d_31"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="209.108437" xlink:href="#md314be265a" y="166.5275"/> + <use style="stroke:#000000;stroke-width:0.5;" x="209.108437" xlink:href="#mc63e59a608" y="166.5275"/> </g> </g> <g id="text_20"> <!-- 0.5 --> <g transform="translate(199.566562 400.5175)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-35"/> + <use xlink:href="#DejaVuSans-48"/> + <use x="63.623047" xlink:href="#DejaVuSans-46"/> + <use x="95.410156" xlink:href="#DejaVuSans-53"/> </g> </g> </g> <g id="xtick_9"> <g id="line2d_32"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="365.783437" xlink:href="#md8a9734600" y="387.399375"/> + <use style="stroke:#000000;stroke-width:0.5;" x="365.783437" xlink:href="#m368fc901b1" y="387.399375"/> </g> </g> <g id="line2d_33"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="365.783437" xlink:href="#md314be265a" y="166.5275"/> + <use style="stroke:#000000;stroke-width:0.5;" x="365.783437" xlink:href="#mc63e59a608" y="166.5275"/> </g> </g> <g id="text_21"> <!-- 1.0 --> <g transform="translate(356.241562 400.5175)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-31"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-30"/> + <use xlink:href="#DejaVuSans-49"/> + <use x="63.623047" xlink:href="#DejaVuSans-46"/> + <use x="95.410156" xlink:href="#DejaVuSans-48"/> </g> </g> </g> <g id="text_22"> <!-- x-label --> <g transform="translate(188.880937 417.13125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-78"/> - <use x="59.179688" xlink:href="#DejaVuSans-2d"/> - <use x="95.263672" xlink:href="#DejaVuSans-6c"/> - <use x="123.046875" xlink:href="#DejaVuSans-61"/> - <use x="184.326172" xlink:href="#DejaVuSans-62"/> - <use x="247.802734" xlink:href="#DejaVuSans-65"/> - <use x="309.326172" xlink:href="#DejaVuSans-6c"/> + <use xlink:href="#DejaVuSans-120"/> + <use x="59.179688" xlink:href="#DejaVuSans-45"/> + <use x="95.263672" xlink:href="#DejaVuSans-108"/> + <use x="123.046875" xlink:href="#DejaVuSans-97"/> + <use x="184.326172" xlink:href="#DejaVuSans-98"/> + <use x="247.802734" xlink:href="#DejaVuSans-101"/> + <use x="309.326172" xlink:href="#DejaVuSans-108"/> </g> </g> </g> @@ -795,84 +801,84 @@ L 365.783437 166.5275 <g id="ytick_7"> <g id="line2d_34"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="52.433438" xlink:href="#m59dd5cee0a" y="387.399375"/> + <use style="stroke:#000000;stroke-width:0.5;" x="52.433438" xlink:href="#m556f96d829" y="387.399375"/> </g> </g> <g id="line2d_35"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="365.783437" xlink:href="#md997a602e8" y="387.399375"/> + <use style="stroke:#000000;stroke-width:0.5;" x="365.783437" xlink:href="#m27e32ca04a" y="387.399375"/> </g> </g> <g id="text_23"> <!-- 1.0 --> <g transform="translate(29.349688 391.958438)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-31"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-30"/> + <use xlink:href="#DejaVuSans-49"/> + <use x="63.623047" xlink:href="#DejaVuSans-46"/> + <use x="95.410156" xlink:href="#DejaVuSans-48"/> </g> </g> </g> <g id="ytick_8"> <g id="line2d_36"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="52.433438" xlink:href="#m59dd5cee0a" y="276.963437"/> + <use style="stroke:#000000;stroke-width:0.5;" x="52.433438" xlink:href="#m556f96d829" y="276.963437"/> </g> </g> <g id="line2d_37"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="365.783437" xlink:href="#md997a602e8" y="276.963437"/> + <use style="stroke:#000000;stroke-width:0.5;" x="365.783437" xlink:href="#m27e32ca04a" y="276.963437"/> </g> </g> <g id="text_24"> <!-- 1.5 --> <g transform="translate(29.349688 281.5225)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-31"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-35"/> + <use xlink:href="#DejaVuSans-49"/> + <use x="63.623047" xlink:href="#DejaVuSans-46"/> + <use x="95.410156" xlink:href="#DejaVuSans-53"/> </g> </g> </g> <g id="ytick_9"> <g id="line2d_38"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="52.433438" xlink:href="#m59dd5cee0a" y="166.5275"/> + <use style="stroke:#000000;stroke-width:0.5;" x="52.433438" xlink:href="#m556f96d829" y="166.5275"/> </g> </g> <g id="line2d_39"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="365.783437" xlink:href="#md997a602e8" y="166.5275"/> + <use style="stroke:#000000;stroke-width:0.5;" x="365.783437" xlink:href="#m27e32ca04a" y="166.5275"/> </g> </g> <g id="text_25"> <!-- 2.0 --> <g transform="translate(29.349688 171.086562)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-32"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-30"/> + <use xlink:href="#DejaVuSans-50"/> + <use x="63.623047" xlink:href="#DejaVuSans-46"/> + <use x="95.410156" xlink:href="#DejaVuSans-48"/> </g> </g> </g> <g id="text_26"> <!-- y-label --> <g transform="translate(21.854063 297.19)rotate(-90)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-79"/> - <use x="59.164062" xlink:href="#DejaVuSans-2d"/> - <use x="95.248047" xlink:href="#DejaVuSans-6c"/> - <use x="123.03125" xlink:href="#DejaVuSans-61"/> - <use x="184.310547" xlink:href="#DejaVuSans-62"/> - <use x="247.787109" xlink:href="#DejaVuSans-65"/> - <use x="309.310547" xlink:href="#DejaVuSans-6c"/> + <use xlink:href="#DejaVuSans-121"/> + <use x="59.164062" xlink:href="#DejaVuSans-45"/> + <use x="95.248047" xlink:href="#DejaVuSans-108"/> + <use x="123.03125" xlink:href="#DejaVuSans-97"/> + <use x="184.310547" xlink:href="#DejaVuSans-98"/> + <use x="247.787109" xlink:href="#DejaVuSans-101"/> + <use x="309.310547" xlink:href="#DejaVuSans-108"/> </g> </g> </g> <g id="text_27"> <!-- Title --> <g transform="translate(196.06875 161.5275)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-54"/> - <use x="61.037109" xlink:href="#DejaVuSans-69"/> - <use x="88.820312" xlink:href="#DejaVuSans-74"/> - <use x="128.029297" xlink:href="#DejaVuSans-6c"/> - <use x="155.8125" xlink:href="#DejaVuSans-65"/> + <use xlink:href="#DejaVuSans-84"/> + <use x="61.037109" xlink:href="#DejaVuSans-105"/> + <use x="88.820312" xlink:href="#DejaVuSans-116"/> + <use x="128.029297" xlink:href="#DejaVuSans-108"/> + <use x="155.8125" xlink:href="#DejaVuSans-101"/> </g> </g> </g> @@ -886,7 +892,7 @@ z " style="fill:#ffffff;"/> </g> <g id="line2d_40"> - <path clip-path="url(#pce0df4a298)" d="M 427.793437 387.399375 + <path clip-path="url(#paa173b0ece)" d="M 427.793437 387.399375 L 553.463437 166.5275 " style="fill:none;stroke:#0000ff;stroke-linecap:square;"/> </g> @@ -914,73 +920,73 @@ L 553.463437 166.5275 <g id="xtick_10"> <g id="line2d_41"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="427.793437" xlink:href="#md8a9734600" y="387.399375"/> + <use style="stroke:#000000;stroke-width:0.5;" x="427.793437" xlink:href="#m368fc901b1" y="387.399375"/> </g> </g> <g id="line2d_42"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="427.793437" xlink:href="#md314be265a" y="166.5275"/> + <use style="stroke:#000000;stroke-width:0.5;" x="427.793437" xlink:href="#mc63e59a608" y="166.5275"/> </g> </g> <g id="text_28"> <!-- 0.0 --> <g transform="translate(418.251562 400.5175)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-30"/> + <use xlink:href="#DejaVuSans-48"/> + <use x="63.623047" xlink:href="#DejaVuSans-46"/> + <use x="95.410156" xlink:href="#DejaVuSans-48"/> </g> </g> </g> <g id="xtick_11"> <g id="line2d_43"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="490.628437" xlink:href="#md8a9734600" y="387.399375"/> + <use style="stroke:#000000;stroke-width:0.5;" x="490.628437" xlink:href="#m368fc901b1" y="387.399375"/> </g> </g> <g id="line2d_44"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="490.628437" xlink:href="#md314be265a" y="166.5275"/> + <use style="stroke:#000000;stroke-width:0.5;" x="490.628437" xlink:href="#mc63e59a608" y="166.5275"/> </g> </g> <g id="text_29"> <!-- 0.5 --> <g transform="translate(481.086562 400.5175)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-35"/> + <use xlink:href="#DejaVuSans-48"/> + <use x="63.623047" xlink:href="#DejaVuSans-46"/> + <use x="95.410156" xlink:href="#DejaVuSans-53"/> </g> </g> </g> <g id="xtick_12"> <g id="line2d_45"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="553.463437" xlink:href="#md8a9734600" y="387.399375"/> + <use style="stroke:#000000;stroke-width:0.5;" x="553.463437" xlink:href="#m368fc901b1" y="387.399375"/> </g> </g> <g id="line2d_46"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="553.463437" xlink:href="#md314be265a" y="166.5275"/> + <use style="stroke:#000000;stroke-width:0.5;" x="553.463437" xlink:href="#mc63e59a608" y="166.5275"/> </g> </g> <g id="text_30"> <!-- 1.0 --> <g transform="translate(543.921562 400.5175)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-31"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-30"/> + <use xlink:href="#DejaVuSans-49"/> + <use x="63.623047" xlink:href="#DejaVuSans-46"/> + <use x="95.410156" xlink:href="#DejaVuSans-48"/> </g> </g> </g> <g id="text_31"> <!-- x-label --> <g transform="translate(470.400937 417.13125)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-78"/> - <use x="59.179688" xlink:href="#DejaVuSans-2d"/> - <use x="95.263672" xlink:href="#DejaVuSans-6c"/> - <use x="123.046875" xlink:href="#DejaVuSans-61"/> - <use x="184.326172" xlink:href="#DejaVuSans-62"/> - <use x="247.802734" xlink:href="#DejaVuSans-65"/> - <use x="309.326172" xlink:href="#DejaVuSans-6c"/> + <use xlink:href="#DejaVuSans-120"/> + <use x="59.179688" xlink:href="#DejaVuSans-45"/> + <use x="95.263672" xlink:href="#DejaVuSans-108"/> + <use x="123.046875" xlink:href="#DejaVuSans-97"/> + <use x="184.326172" xlink:href="#DejaVuSans-98"/> + <use x="247.802734" xlink:href="#DejaVuSans-101"/> + <use x="309.326172" xlink:href="#DejaVuSans-108"/> </g> </g> </g> @@ -988,99 +994,99 @@ L 553.463437 166.5275 <g id="ytick_10"> <g id="line2d_47"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="427.793437" xlink:href="#m59dd5cee0a" y="387.399375"/> + <use style="stroke:#000000;stroke-width:0.5;" x="427.793437" xlink:href="#m556f96d829" y="387.399375"/> </g> </g> <g id="line2d_48"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="553.463437" xlink:href="#md997a602e8" y="387.399375"/> + <use style="stroke:#000000;stroke-width:0.5;" x="553.463437" xlink:href="#m27e32ca04a" y="387.399375"/> </g> </g> <g id="text_32"> <!-- 1.0 --> <g transform="translate(404.709687 391.958438)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-31"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-30"/> + <use xlink:href="#DejaVuSans-49"/> + <use x="63.623047" xlink:href="#DejaVuSans-46"/> + <use x="95.410156" xlink:href="#DejaVuSans-48"/> </g> </g> </g> <g id="ytick_11"> <g id="line2d_49"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="427.793437" xlink:href="#m59dd5cee0a" y="276.963437"/> + <use style="stroke:#000000;stroke-width:0.5;" x="427.793437" xlink:href="#m556f96d829" y="276.963437"/> </g> </g> <g id="line2d_50"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="553.463437" xlink:href="#md997a602e8" y="276.963437"/> + <use style="stroke:#000000;stroke-width:0.5;" x="553.463437" xlink:href="#m27e32ca04a" y="276.963437"/> </g> </g> <g id="text_33"> <!-- 1.5 --> <g transform="translate(404.709687 281.5225)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-31"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-35"/> + <use xlink:href="#DejaVuSans-49"/> + <use x="63.623047" xlink:href="#DejaVuSans-46"/> + <use x="95.410156" xlink:href="#DejaVuSans-53"/> </g> </g> </g> <g id="ytick_12"> <g id="line2d_51"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="427.793437" xlink:href="#m59dd5cee0a" y="166.5275"/> + <use style="stroke:#000000;stroke-width:0.5;" x="427.793437" xlink:href="#m556f96d829" y="166.5275"/> </g> </g> <g id="line2d_52"> <g> - <use style="stroke:#000000;stroke-width:0.5;" x="553.463437" xlink:href="#md997a602e8" y="166.5275"/> + <use style="stroke:#000000;stroke-width:0.5;" x="553.463437" xlink:href="#m27e32ca04a" y="166.5275"/> </g> </g> <g id="text_34"> <!-- 2.0 --> <g transform="translate(404.709687 171.086562)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-32"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-30"/> + <use xlink:href="#DejaVuSans-50"/> + <use x="63.623047" xlink:href="#DejaVuSans-46"/> + <use x="95.410156" xlink:href="#DejaVuSans-48"/> </g> </g> </g> <g id="text_35"> <!-- y-label --> <g transform="translate(397.214062 297.19)rotate(-90)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-79"/> - <use x="59.164062" xlink:href="#DejaVuSans-2d"/> - <use x="95.248047" xlink:href="#DejaVuSans-6c"/> - <use x="123.03125" xlink:href="#DejaVuSans-61"/> - <use x="184.310547" xlink:href="#DejaVuSans-62"/> - <use x="247.787109" xlink:href="#DejaVuSans-65"/> - <use x="309.310547" xlink:href="#DejaVuSans-6c"/> + <use xlink:href="#DejaVuSans-121"/> + <use x="59.164062" xlink:href="#DejaVuSans-45"/> + <use x="95.248047" xlink:href="#DejaVuSans-108"/> + <use x="123.03125" xlink:href="#DejaVuSans-97"/> + <use x="184.310547" xlink:href="#DejaVuSans-98"/> + <use x="247.787109" xlink:href="#DejaVuSans-101"/> + <use x="309.310547" xlink:href="#DejaVuSans-108"/> </g> </g> </g> <g id="text_36"> <!-- Title --> <g transform="translate(477.58875 161.5275)scale(0.12 -0.12)"> - <use xlink:href="#DejaVuSans-54"/> - <use x="61.037109" xlink:href="#DejaVuSans-69"/> - <use x="88.820312" xlink:href="#DejaVuSans-74"/> - <use x="128.029297" xlink:href="#DejaVuSans-6c"/> - <use x="155.8125" xlink:href="#DejaVuSans-65"/> + <use xlink:href="#DejaVuSans-84"/> + <use x="61.037109" xlink:href="#DejaVuSans-105"/> + <use x="88.820312" xlink:href="#DejaVuSans-116"/> + <use x="128.029297" xlink:href="#DejaVuSans-108"/> + <use x="155.8125" xlink:href="#DejaVuSans-101"/> </g> </g> </g> </g> <defs> - <clipPath id="p99e48d4819"> + <clipPath id="pfd3e60f538"> <rect height="81.191875" width="125.67" x="52.433438" y="26.8475"/> </clipPath> - <clipPath id="pe14cea8c7a"> + <clipPath id="p43f7f3c6e4"> <rect height="81.191875" width="313.35" x="240.113438" y="26.8475"/> </clipPath> - <clipPath id="p03b8456dee"> + <clipPath id="p4e3235753d"> <rect height="220.871875" width="313.35" x="52.433438" y="166.5275"/> </clipPath> - <clipPath id="pce0df4a298"> + <clipPath id="paa173b0ece"> <rect height="220.871875" width="125.67" x="427.793437" y="166.5275"/> </clipPath> </defs> From e981876a1291f990a9f5170966a5c0adc91edb41 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sat, 17 Feb 2018 00:13:58 -0800 Subject: [PATCH 1044/1161] Replace most uses of getfilesystemencoding by os.fs{en,de}code. --- lib/matplotlib/__init__.py | 53 +++++++++----------------- lib/matplotlib/backends/backend_pdf.py | 2 +- lib/matplotlib/backends/backend_ps.py | 6 +-- lib/matplotlib/dviread.py | 1 - 4 files changed, 20 insertions(+), 42 deletions(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 56a8de8532e0..4923fb9b37f8 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -653,13 +653,6 @@ def get_cachedir(): return _get_config_or_cache_dir(_get_xdg_cache_dir()) -def _decode_filesystem_path(path): - if not isinstance(path, str): - return path.decode(sys.getfilesystemencoding()) - else: - return path - - def _get_data_path(): 'get the path to matplotlib data' @@ -670,35 +663,23 @@ def _get_data_path(): 'directory') return path - _file = _decode_filesystem_path(__file__) - path = os.sep.join([os.path.dirname(_file), 'mpl-data']) - if os.path.isdir(path): - return path - - # setuptools' namespace_packages may highjack this init file - # so need to try something known to be in matplotlib, not basemap - import matplotlib.afm - _file = _decode_filesystem_path(matplotlib.afm.__file__) - path = os.sep.join([os.path.dirname(_file), 'mpl-data']) - if os.path.isdir(path): - return path - - # py2exe zips pure python, so still need special check - if getattr(sys, 'frozen', None): - exe_path = os.path.dirname(_decode_filesystem_path(sys.executable)) - path = os.path.join(exe_path, 'mpl-data') - if os.path.isdir(path): - return path - - # Try again assuming we need to step up one more directory - path = os.path.join(os.path.split(exe_path)[0], 'mpl-data') - if os.path.isdir(path): - return path - - # Try again assuming sys.path[0] is a dir not a exe - path = os.path.join(sys.path[0], 'mpl-data') - if os.path.isdir(path): - return path + def get_candidate_paths(): + yield Path(__file__).with_name('mpl-data') + # setuptools' namespace_packages may highjack this init file + # so need to try something known to be in Matplotlib, not basemap. + import matplotlib.afm + yield Path(matplotlib.afm.__file__).with_name('mpl-data') + # py2exe zips pure python, so still need special check. + if getattr(sys, 'frozen', None): + yield Path(sys.executable).with_name('mpl-data') + # Try again assuming we need to step up one more directory. + yield Path(sys.executable).parent.with_name('mpl-data') + # Try again assuming sys.path[0] is a dir not a exe. + yield Path(sys.path[0]) / 'mpl-data' + + for path in get_candidate_paths(): + if path.is_dir(): + return str(path) raise RuntimeError('Could not find the matplotlib data files') diff --git a/lib/matplotlib/backends/backend_pdf.py b/lib/matplotlib/backends/backend_pdf.py index a8b6a7e8250b..a840f9742f75 100644 --- a/lib/matplotlib/backends/backend_pdf.py +++ b/lib/matplotlib/backends/backend_pdf.py @@ -970,7 +970,7 @@ def get_char_width(charcode): # Make the charprocs array (using ttconv to generate the # actual outlines) rawcharprocs = ttconv.get_pdf_charprocs( - filename.encode(sys.getfilesystemencoding()), glyph_ids) + os.fsencode(filename), glyph_ids) charprocs = {} for charname in sorted(rawcharprocs): stream = rawcharprocs[charname] diff --git a/lib/matplotlib/backends/backend_ps.py b/lib/matplotlib/backends/backend_ps.py index b705fc867ad8..14f549b331e2 100644 --- a/lib/matplotlib/backends/backend_ps.py +++ b/lib/matplotlib/backends/backend_ps.py @@ -1118,10 +1118,8 @@ def print_figure_impl(fh): "time; consider using the Cairo backend") else: fh.flush() - convert_ttf_to_ps( - font_filename.encode( - sys.getfilesystemencoding()), - fh, fonttype, glyph_ids) + convert_ttf_to_ps(os.fsencode(font_filename), + fh, fonttype, glyph_ids) print("end", file=fh) print("%%EndProlog", file=fh) diff --git a/lib/matplotlib/dviread.py b/lib/matplotlib/dviread.py index e99790d3433a..f738fb591d3e 100644 --- a/lib/matplotlib/dviread.py +++ b/lib/matplotlib/dviread.py @@ -25,7 +25,6 @@ import re import struct import subprocess -import sys import textwrap import numpy as np From 0029e1f7f0078765ffa1a48fa3c2c08e63b4ab96 Mon Sep 17 00:00:00 2001 From: Jae-Joon Lee <lee.j.joon@gmail.com> Date: Mon, 23 Jul 2018 15:01:50 +0900 Subject: [PATCH 1045/1161] minor doc update on axes_grid1's inset_axes --- lib/mpl_toolkits/axes_grid1/inset_locator.py | 46 ++++++++++++++------ 1 file changed, 33 insertions(+), 13 deletions(-) diff --git a/lib/mpl_toolkits/axes_grid1/inset_locator.py b/lib/mpl_toolkits/axes_grid1/inset_locator.py index 5feacb303b9b..91ec3aa63f2e 100644 --- a/lib/mpl_toolkits/axes_grid1/inset_locator.py +++ b/lib/mpl_toolkits/axes_grid1/inset_locator.py @@ -403,6 +403,25 @@ def inset_axes(parent_axes, width, height, loc='upper right', cases, it is recommended to read :ref:`the examples <sphx_glr_gallery_axes_grid1_inset_locator_demo.py>`. + Notes + ----- + The meaning of *bbox_to_anchor* and *bbox_to_transform* is interpreted + differently from that of legend. The value of bbox_to_anchor + (or the return value of its get_points method; the default is + *parent_axes.bbox*) is transformed by the bbox_transform (the default + is Identity transform) and then interpreted as points in the pixel + coordinate (which is dpi dependent). + + Thus, following three calls are identical and creates an inset axes + with respect to the *parent_axes*:: + + axins = inset_axes(parent_axes, "30%%", "40%%") + axins = inset_axes(parent_axes, "30%%", "40%%", + bbox_to_anchor=parent_axes.bbox) + axins = inset_axes(parent_axes, "30%%", "40%%", + bbox_to_anchor=(0, 0, 1, 1), + bbox_transform=parent_axes.transAxes) + Parameters ---------- parent_axes : `matplotlib.axes.Axes` @@ -432,25 +451,26 @@ def inset_axes(parent_axes, width, height, loc='upper right', bbox_to_anchor : tuple or `matplotlib.transforms.BboxBase`, optional Bbox that the inset axes will be anchored to. If None, - *parent_axes.bbox* is used. If a tuple, can be either + a tuple of (0, 0, 1, 1) is used if *bbox_transform* is set + to *parent_axes.transAxes* or *parent_axes.figure.transFigure*. + Otherwise, *parent_axes.bbox* is used. If a tuple, can be either [left, bottom, width, height], or [left, bottom]. If the kwargs *width* and/or *height* are specified in relative units, - the 2-tuple [left, bottom] cannot be used. Note that - the units of the bounding box are determined through the transform - in use. When using *bbox_to_anchor* it almost always makes sense to - also specify a *bbox_transform*. This might often be the axes transform + the 2-tuple [left, bottom] cannot be used. Note that, + unless *bbox_transform* is set, the units of the bounding box + are interpreted in the pixel coordinate. When using *bbox_to_anchor* + with tuple, it almost always makes sense to also specify + a *bbox_transform*. This might often be the axes transform *parent_axes.transAxes*. bbox_transform : `matplotlib.transforms.Transform`, optional Transformation for the bbox that contains the inset axes. - If None, a `.transforms.IdentityTransform` is used (i.e. pixel - coordinates). This is useful when not providing any argument to - *bbox_to_anchor*. When using *bbox_to_anchor* it almost always makes - sense to also specify a *bbox_transform*. This might often be the - axes transform *parent_axes.transAxes*. Inversely, when specifying - the axes- or figure-transform here, be aware that not specifying - *bbox_to_anchor* will use *parent_axes.bbox*, the units of which are - in display (pixel) coordinates. + If None, a `.transforms.IdentityTransform` is used. The value + of *bbox_to_anchor* (or the return value of its get_points method) + is transformed by the *bbox_transform* and then interpreted + as points in the pixel coordinate (which is dpi dependent). + You may provide *bbox_to_anchor* in some normalized coordinate, + and give an appropriate transform (e.g., *parent_axes.transAxes*). axes_class : `matplotlib.axes.Axes` type, optional If specified, the inset axes created will be created with this class's From 81df9c34198b16ed9796e2b7f1ec74dbf027374a Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Mon, 23 Jul 2018 11:35:50 +0200 Subject: [PATCH 1046/1161] Fix section level of Previous Whats New --- doc/users/whats_new.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/doc/users/whats_new.rst b/doc/users/whats_new.rst index 9a9731faedea..00dade9beb59 100644 --- a/doc/users/whats_new.rst +++ b/doc/users/whats_new.rst @@ -219,7 +219,6 @@ A method `~.figure.Figure.add_artist` has been added to the to a figure. E.g. :: - circ = plt.Circle((.7, .5), .05) fig.add_artist(circ) @@ -230,7 +229,7 @@ easily position static elements in figure coordinates. - +================== Previous Whats New ================== From 08b95d7b5581d8ceba6f4eb6c932664a8320d589 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Mon, 23 Jul 2018 17:55:34 +0200 Subject: [PATCH 1047/1161] Remove the unused 'verbose' option from setupext. It only sets a compilation symbol which has become unused since the removal of PyCXX (ba40160). ... Not to be confused with the 'display_status'/'status.suppress' option, which is still used. --- setup.py | 5 ----- setupext.py | 1 - 2 files changed, 6 deletions(-) diff --git a/setup.py b/setup.py index 03ca28762231..c7b8d6fa6b82 100644 --- a/setup.py +++ b/setup.py @@ -231,11 +231,6 @@ def run(self): fd.write( template.safe_substitute(TEMPLATE_BACKEND=default_backend)) - # Build in verbose mode if requested - if setupext.options['verbose']: - for mod in ext_modules: - mod.extra_compile_args.append('-DVERBOSE') - # Finalize the extension modules so they can get the Numpy include # dirs for mod in ext_modules: diff --git a/setupext.py b/setupext.py index 27c315fff1d7..5644bae9dab5 100644 --- a/setupext.py +++ b/setupext.py @@ -60,7 +60,6 @@ def _get_xdg_cache_dir(): # matplotlib build options, which can be altered using setup.cfg options = { 'display_status': True, - 'verbose': False, 'backend': None, 'basedirlist': None } From 27e9a4cb8d555eaaaaa636b0584064554f9912aa Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Mon, 23 Jul 2018 10:43:30 -0700 Subject: [PATCH 1048/1161] FIX: update spine positions before gett extents --- lib/matplotlib/spines.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/matplotlib/spines.py b/lib/matplotlib/spines.py index 5747c40bba69..ee1f6f29af61 100644 --- a/lib/matplotlib/spines.py +++ b/lib/matplotlib/spines.py @@ -146,6 +146,12 @@ def get_patch_transform(self): else: return super().get_patch_transform() + def get_window_extent(self, renderer=None): + # make sure the location is updated so that transforms etc are + # correct: + self._adjust_location() + return self.get_path().get_extents(self.get_transform()) + def get_path(self): return self._path From 58b24e00351dea4c9d813ce6cc86aa9ecc5d918e Mon Sep 17 00:00:00 2001 From: Steven Tilley <stilley2@jhmi.edu> Date: Mon, 23 Jul 2018 16:05:10 -0400 Subject: [PATCH 1049/1161] PGF backend output text color even if black --- lib/matplotlib/backends/backend_pgf.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/lib/matplotlib/backends/backend_pgf.py b/lib/matplotlib/backends/backend_pgf.py index a093bd6a99d0..d26cd94547b5 100644 --- a/lib/matplotlib/backends/backend_pgf.py +++ b/lib/matplotlib/backends/backend_pgf.py @@ -673,11 +673,10 @@ def draw_text(self, gc, x, y, s, prop, angle, ismath=False, mtext=None): writeln(self.fh, r"\pgfsetfillopacity{%f}" % alpha) writeln(self.fh, r"\pgfsetstrokeopacity{%f}" % alpha) rgb = tuple(gc.get_rgb())[:3] - if rgb != (0, 0, 0): - writeln(self.fh, r"\definecolor{textcolor}{rgb}{%f,%f,%f}" % rgb) - writeln(self.fh, r"\pgfsetstrokecolor{textcolor}") - writeln(self.fh, r"\pgfsetfillcolor{textcolor}") - s = r"\color{textcolor}" + s + writeln(self.fh, r"\definecolor{textcolor}{rgb}{%f,%f,%f}" % rgb) + writeln(self.fh, r"\pgfsetstrokecolor{textcolor}") + writeln(self.fh, r"\pgfsetfillcolor{textcolor}") + s = r"\color{textcolor}" + s f = 1.0 / self.figure.dpi text_args = [] From 8f86799025fbcc0dd8fd4f4067f7cb0202164e4d Mon Sep 17 00:00:00 2001 From: Steven Tilley <stilley2@jhmi.edu> Date: Mon, 23 Jul 2018 16:16:10 -0400 Subject: [PATCH 1050/1161] Document pgf black text change --- doc/api/api_changes.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/doc/api/api_changes.rst b/doc/api/api_changes.rst index 4f06c3376392..0c6be0858fa2 100644 --- a/doc/api/api_changes.rst +++ b/doc/api/api_changes.rst @@ -470,3 +470,11 @@ Colorbar for log-scaled hexbin When using `hexbin` and plotting with a logarithmic color scale, the colorbar ticks are now correctly log scaled. Previously the tick values were linear scaled log(number of counts). + +PGF backend now explicitly makes black text black +------------------------------------------------- + +Previous behavior with the pgf backend was for text specified as black to +actually be the default color of whatever was rendering the pgf file (which was +of course usually black). The new behavior is that black text is black, +regardless of the default color. From c9a8edb31bfabb4a98e2bacb4ee828395201b0d7 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Thu, 19 Jul 2018 11:23:40 +0200 Subject: [PATCH 1051/1161] Suppress/fix some test warnings. The only remaining test that throws a warning is test_image.py::test_full_invalid ("converting a masked element to nan"), which I didn't suppress in the test because I think that should indeed not throw (we don't throw warnings when passing partially-nan data either). --- lib/matplotlib/colors.py | 3 ++- lib/matplotlib/tests/test_axes.py | 2 +- lib/matplotlib/tests/test_font_manager.py | 10 +++++----- lib/matplotlib/tests/test_image.py | 7 +++++-- lib/matplotlib/tests/test_patches.py | 6 ++++-- lib/matplotlib/tests/test_rcparams.py | 4 ++-- 6 files changed, 19 insertions(+), 13 deletions(-) diff --git a/lib/matplotlib/colors.py b/lib/matplotlib/colors.py index f7cfb0786539..2b42a988f735 100644 --- a/lib/matplotlib/colors.py +++ b/lib/matplotlib/colors.py @@ -1112,7 +1112,8 @@ def _transform(self, a): """ Inplace transformation. """ - masked = np.abs(a) > self.linthresh + with np.errstate(invalid="ignore"): + masked = np.abs(a) > self.linthresh sign = np.sign(a[masked]) log = (self._linscale_adj + np.log(np.abs(a[masked]) / self.linthresh)) log *= sign * self.linthresh diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index b952914c86f2..b6dd9298cf22 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -1714,7 +1714,7 @@ def test_scatter_marker(self): c=[(1, 0, 0), 'y', 'b', 'lime'], s=[60, 50, 40, 30], edgecolors=['k', 'r', 'g', 'b'], - verts=verts) + marker=verts) @image_comparison(baseline_images=['scatter_2D'], remove_text=True, extensions=['png']) diff --git a/lib/matplotlib/tests/test_font_manager.py b/lib/matplotlib/tests/test_font_manager.py index 703a4e6e3359..4e75aa5199c3 100644 --- a/lib/matplotlib/tests/test_font_manager.py +++ b/lib/matplotlib/tests/test_font_manager.py @@ -67,11 +67,11 @@ def test_otf(): if os.path.exists(fname): assert is_opentype_cff_font(fname) - otf_files = [f for f in fontManager.ttffiles if 'otf' in f] - for f in otf_files: - with open(f, 'rb') as fd: - res = fd.read(4) == b'OTTO' - assert res == is_opentype_cff_font(f) + for f in fontManager.ttflist: + if 'otf' in f.fname: + with open(f.fname, 'rb') as fd: + res = fd.read(4) == b'OTTO' + assert res == is_opentype_cff_font(f.fname) @pytest.mark.skipif(not has_fclist, reason='no fontconfig installed') diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py index 098705bea2b0..893108258b65 100644 --- a/lib/matplotlib/tests/test_image.py +++ b/lib/matplotlib/tests/test_image.py @@ -1,3 +1,4 @@ +from contextlib import ExitStack from copy import copy import io import os @@ -875,8 +876,10 @@ def test_empty_imshow(make_norm): def test_imshow_float128(): fig, ax = plt.subplots() ax.imshow(np.zeros((3, 3), dtype=np.longdouble)) - # Ensure that drawing doesn't cause crash - fig.canvas.draw() + with (ExitStack() if np.can_cast(np.longdouble, np.float64, "equiv") + else pytest.warns(UserWarning)): + # Ensure that drawing doesn't cause crash. + fig.canvas.draw() def test_imshow_bool(): diff --git a/lib/matplotlib/tests/test_patches.py b/lib/matplotlib/tests/test_patches.py index 1d0319b138ba..89a77e258010 100644 --- a/lib/matplotlib/tests/test_patches.py +++ b/lib/matplotlib/tests/test_patches.py @@ -5,6 +5,7 @@ from numpy.testing import assert_almost_equal, assert_array_equal import pytest +from matplotlib.cbook import MatplotlibDeprecationWarning from matplotlib.patches import Polygon, Rectangle from matplotlib.testing.decorators import image_comparison, check_figures_equal import matplotlib.pyplot as plt @@ -344,8 +345,9 @@ def test_patch_str(): s = mpatches.Shadow(p, 1, 1) assert str(s) == "Shadow(ConnectionPatch((1, 2), (3, 4)))" - p = mpatches.YAArrow(plt.gcf(), (1, 0), (2, 1), width=0.1) - assert str(p) == "YAArrow()" + with pytest.warns(MatplotlibDeprecationWarning): + p = mpatches.YAArrow(plt.gcf(), (1, 0), (2, 1), width=0.1) + assert str(p) == "YAArrow()" # Not testing Arrow, FancyArrow here # because they seem to exist only for historical reasons. diff --git a/lib/matplotlib/tests/test_rcparams.py b/lib/matplotlib/tests/test_rcparams.py index 020a8b1a6f84..7eec4d421105 100644 --- a/lib/matplotlib/tests/test_rcparams.py +++ b/lib/matplotlib/tests/test_rcparams.py @@ -10,6 +10,7 @@ import pytest import matplotlib as mpl +from matplotlib.cbook import MatplotlibDeprecationWarning import matplotlib.pyplot as plt import matplotlib.colors as mcolors import numpy as np @@ -120,8 +121,7 @@ def test_Bug_2543(): # printed in the test suite. with warnings.catch_warnings(): warnings.filterwarnings('ignore', - message='.*(deprecated|obsolete)', - category=UserWarning) + category=MatplotlibDeprecationWarning) with mpl.rc_context(): _copy = mpl.rcParams.copy() for key in _copy: From 27cf3a072cab15e2cec05a51809b50d68015a3d3 Mon Sep 17 00:00:00 2001 From: Steven Tilley <stilley2@jhmi.edu> Date: Mon, 23 Jul 2018 17:11:46 -0400 Subject: [PATCH 1052/1161] clarify potential pitfall to pgf black text fix --- doc/api/api_changes.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/api/api_changes.rst b/doc/api/api_changes.rst index 0c6be0858fa2..47dae62ee5a3 100644 --- a/doc/api/api_changes.rst +++ b/doc/api/api_changes.rst @@ -477,4 +477,5 @@ PGF backend now explicitly makes black text black Previous behavior with the pgf backend was for text specified as black to actually be the default color of whatever was rendering the pgf file (which was of course usually black). The new behavior is that black text is black, -regardless of the default color. +regardless of the default color. However, this means that there is no way to +fall back on the default color of the renderer. From 3d290803ee373ecd8da92948209e6e6ac7c8384e Mon Sep 17 00:00:00 2001 From: Andrew Nelson <andyfaff@gmail.com> Date: Tue, 24 Jul 2018 08:11:38 +1000 Subject: [PATCH 1053/1161] MAINT: collections.abc imports --- lib/matplotlib/cbook/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index 95e5ea739d2a..f3c8db576b5e 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -7,6 +7,7 @@ """ import collections +import collections.abc import contextlib import datetime import errno @@ -2090,7 +2091,7 @@ def _warn_external(message, category=None): class _OrderedSet(collections.abc.MutableSet): def __init__(self): - self._od = collections.abc.OrderedDict() + self._od = collections.OrderedDict() def __contains__(self, key): return key in self._od From eccfed258704d33ccc81ff6f7a91b6f9368dacad Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Tue, 24 Jul 2018 00:43:53 +0200 Subject: [PATCH 1054/1161] Switch grid documentation to numpydoc style --- lib/matplotlib/axes/_base.py | 35 ++++++++++++++++++++--------------- lib/matplotlib/axis.py | 23 ++++++++++++++++------- 2 files changed, 36 insertions(+), 22 deletions(-) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index d5229e1e8a74..4b9bdf9c7245 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -2681,30 +2681,35 @@ def set_axisbelow(self, b): @docstring.dedent_interpd def grid(self, b=None, which='major', axis='both', **kwargs): """ - Turn the axes grids on or off. + Configure the grid lines. - Set the axes grids on or off; *b* is a boolean. + Parameters + ---------- + b : bool or None + Whether to show the grid lines. If any *kwargs* are supplied, + it is assumed you want the grid on and *b* will be set to True. - If *b* is *None* and ``len(kwargs)==0``, toggle the grid state. If - *kwargs* are supplied, it is assumed that you want a grid and *b* - is thus set to *True*. + If *b* is *None* and there are no *kwargs*, this toggles the + visibility of the lines. - *which* can be 'major' (default), 'minor', or 'both' to control - whether major tick grids, minor tick grids, or both are affected. + which : {'major', 'minor', 'both'} + The grid lines to apply the changes on. - *axis* can be 'both' (default), 'x', or 'y' to control which - set of gridlines are drawn. + axis : {'both', 'x', 'y'} + The axis to apply the changes on. - *kwargs* are used to set the grid line properties, e.g.,:: + **kwargs : `.Line2D` properties + Define the line properties of the grid, e.g.:: - ax.grid(color='r', linestyle='-', linewidth=2) + grid(color='r', linestyle='-', linewidth=2) - Valid :class:`~matplotlib.lines.Line2D` kwargs are + Valid *kwargs* are - %(Line2D)s + %(Line2D)s - Note that the grid will be drawn according to the axes' zorder and not - its own. + Notes + ----- + The grid will be drawn according to the axes' zorder and not its own. """ if len(kwargs): b = True diff --git a/lib/matplotlib/axis.py b/lib/matplotlib/axis.py index 54e697a2e481..fdebfb2156ca 100644 --- a/lib/matplotlib/axis.py +++ b/lib/matplotlib/axis.py @@ -1417,16 +1417,25 @@ def get_minor_ticks(self, numticks=None): def grid(self, b=None, which='major', **kwargs): """ - Set the axis grid on or off; b is a boolean. Use *which* = - 'major' | 'minor' | 'both' to set the grid for major or minor ticks. + Configure the grid lines. - If *b* is *None* and len(kwargs)==0, toggle the grid state. If - *kwargs* are supplied, it is assumed you want the grid on and *b* - will be set to True. + Parameters + ---------- + b : bool or None + Whether to show the grid lines. If any *kwargs* are supplied, + it is assumed you want the grid on and *b* will be set to True. + + If *b* is *None* and there are no *kwargs*, this toggles the + visibility of the lines. + + which : {'major', 'minor', 'both'} + The grid lines to apply the changes on. + + **kwargs : `.Line2D` properties + Define the line properties of the grid, e.g.:: - *kwargs* are used to set the line properties of the grids, e.g., + grid(color='r', linestyle='-', linewidth=2) - xax.grid(color='r', linestyle='-', linewidth=2) """ if len(kwargs): b = True From 4fdb061238c2bcbad2a3de496a90f020dafee444 Mon Sep 17 00:00:00 2001 From: Andrew Nelson <andyfaff@gmail.com> Date: Tue, 24 Jul 2018 18:12:22 +1000 Subject: [PATCH 1055/1161] PEP8 --- lib/matplotlib/cbook/__init__.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index f3c8db576b5e..f5eb164a8ff8 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -1639,7 +1639,8 @@ def pts_to_midstep(x, *args): The x location of the steps. May be empty. y1, ..., yp : array - y arrays to be turned into steps; all must be the same length as ``x``. + y arrays to be turned into steps; all must be the same length as + ``x``. Returns ------- @@ -1715,7 +1716,8 @@ def safe_first_element(obj): def sanitize_sequence(data): """Converts dictview object to list""" - return list(data) if isinstance(data, collections.abc.MappingView) else data + return (list(data) if isinstance(data, collections.abc.MappingView) + else data) def normalize_kwargs(kw, alias_mapping=None, required=(), forbidden=(), From ae9f8e5a88676799e8e4c392c5be70541661adff Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Mon, 23 Jul 2018 12:19:18 -0700 Subject: [PATCH 1056/1161] fix-update-spine-positions-before-getting-extents --- lib/matplotlib/spines.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/spines.py b/lib/matplotlib/spines.py index ee1f6f29af61..677dd4edc48d 100644 --- a/lib/matplotlib/spines.py +++ b/lib/matplotlib/spines.py @@ -150,7 +150,7 @@ def get_window_extent(self, renderer=None): # make sure the location is updated so that transforms etc are # correct: self._adjust_location() - return self.get_path().get_extents(self.get_transform()) + return super().get_window_extent(renderer=renderer) def get_path(self): return self._path From bf989934aa40b5643918a3c86fd8fd1b12adb6bd Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Mon, 23 Jul 2018 15:08:29 -0700 Subject: [PATCH 1057/1161] Rollback constrained_layout not working under ZOOM/PAN --- lib/matplotlib/_constrained_layout.py | 8 -------- 1 file changed, 8 deletions(-) diff --git a/lib/matplotlib/_constrained_layout.py b/lib/matplotlib/_constrained_layout.py index f949fc1beadf..7f740b9980a5 100644 --- a/lib/matplotlib/_constrained_layout.py +++ b/lib/matplotlib/_constrained_layout.py @@ -145,14 +145,6 @@ def do_constrained_layout(fig, renderer, h_pad, w_pad, ''' - try: - if fig.canvas.toolbar._active in ('PAN', 'ZOOM'): - # don't do constrained layout during zoom and pan. - return - except AttributeError: - # not toolbar, or no _active attribute.. - pass - invTransFig = fig.transFigure.inverted().transform_bbox # list of unique gridspecs that contain child axes: From 5545050ff6ceb1b59d7e46401a9fc56ddf044704 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Mon, 23 Jul 2018 13:00:51 -0700 Subject: [PATCH 1058/1161] TST: add test for spine positions behaving after a zoom --- lib/matplotlib/tests/test_axes.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index 7e7f6a1bd25f..ded1f231c5b0 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -5782,3 +5782,13 @@ def test_zoom_inset(): [0.8425, 0.907692]]) np.testing.assert_allclose(axin1.get_position().get_points(), xx, rtol=1e-4) + + +def test_spines_properbbox_after_zoom(): + fig, ax = plt.subplots() + bb = ax.spines['bottom'].get_window_extent(fig.canvas.get_renderer()) + # this is what zoom calls: + ax._set_view_from_bbox((320, 320, 500, 500), 'in', + None, False, False) + bb2 = ax.spines['bottom'].get_window_extent(fig.canvas.get_renderer()) + np.testing.assert_allclose(bb.get_points(), bb2.get_points(), rtol=1e-6) From c0c9df1bf06b32e466a0ef61e3d8d6fccd5e735c Mon Sep 17 00:00:00 2001 From: David Stansby <dstansby@gmail.com> Date: Tue, 24 Jul 2018 11:15:57 -0700 Subject: [PATCH 1059/1161] Add tolerance to csd frequency test --- lib/matplotlib/tests/test_axes.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index 4ad5ad4cc1ce..140cec93b854 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -4031,7 +4031,7 @@ def test_psd_noise(): @image_comparison(baseline_images=['csd_freqs'], remove_text=True, - extensions=['png']) + extensions=['png'], tol=0.002) def test_csd_freqs(): '''test axes.csd with sinusoidal stimuli''' n = 10000 From 641441c06a07aa80adc4908a109a51fbc31e2254 Mon Sep 17 00:00:00 2001 From: Thomas Levine <tlevine@poklop.tom> Date: Wed, 25 Jul 2018 05:58:46 +0000 Subject: [PATCH 1060/1161] correct typos in documentation --- doc/api/animation_api.rst | 2 +- doc/api/api_changes.rst | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/api/animation_api.rst b/doc/api/animation_api.rst index 8d35cd11e342..9bf29ebbf233 100644 --- a/doc/api/animation_api.rst +++ b/doc/api/animation_api.rst @@ -61,7 +61,7 @@ rasterized figure) and then 'blit' one more artist on top. Thus, by managing a saved 'clean' bitmap, we can only re-draw the few artists that are changing at each frame and possibly save significant amounts of time. When using blitting (by passing ``blit=True``) the core loop of -`FuncAnimation` gets a bit more complicated :: +`FuncAnimation` gets a bit more complicated. :: ax = fig.gca() diff --git a/doc/api/api_changes.rst b/doc/api/api_changes.rst index 47dae62ee5a3..96675ef5d718 100644 --- a/doc/api/api_changes.rst +++ b/doc/api/api_changes.rst @@ -4,7 +4,7 @@ ============= A log of changes to the most recent version Matplotlib that affect the -utward-facing API. If updating Matplotlib breaks your scripts, this list may +outward-facing API. If updating Matplotlib breaks your scripts, this list may help you figure out what caused the breakage and how to fix it by updating your code. For API changes in older versions see :doc:`api_changes_old`. @@ -39,7 +39,7 @@ API Changes for 3.0.0 Drop support for python 2 ------------------------- -Matplotlib 3 only supports python 3.5 and higher +Matplotlib 3 only supports python 3.5 and higher. Hold machinery removed From cc5c1bc14df88e49584f888c9f7b25cd273b5d40 Mon Sep 17 00:00:00 2001 From: Allen Downey <downey@allendowney.com> Date: Wed, 25 Jul 2018 10:18:59 -0400 Subject: [PATCH 1061/1161] Clarifying an error message --- lib/matplotlib/axes/_base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 4b9bdf9c7245..f1e1116a5a58 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -350,7 +350,7 @@ def _plot_args(self, tup, kwargs): # to one element array of None which causes problems # downstream. if any(v is None for v in tup): - raise ValueError("x and y must not be None") + raise ValueError("x, y, and format string must not be None") kw = {} for k, v in zip(('linestyle', 'marker', 'color'), From 5b8a5211b21aedaa0be795f246de044e49bbe6a8 Mon Sep 17 00:00:00 2001 From: hannah <story645@gmail.com> Date: Wed, 25 Jul 2018 10:44:08 -0400 Subject: [PATCH 1062/1161] Update animation_api.rst --- doc/api/animation_api.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/api/animation_api.rst b/doc/api/animation_api.rst index 9bf29ebbf233..3da83619223c 100644 --- a/doc/api/animation_api.rst +++ b/doc/api/animation_api.rst @@ -60,7 +60,7 @@ general gist is to take an existing bit map (in our case a mostly rasterized figure) and then 'blit' one more artist on top. Thus, by managing a saved 'clean' bitmap, we can only re-draw the few artists that are changing at each frame and possibly save significant amounts of -time. When using blitting (by passing ``blit=True``) the core loop of +time. When using blitting (by passing ``blit=True``), the core loop of `FuncAnimation` gets a bit more complicated. :: ax = fig.gca() From 17b9ee278aa029f06e365c5409437a2cac358a8c Mon Sep 17 00:00:00 2001 From: hannah <story645@gmail.com> Date: Wed, 25 Jul 2018 10:46:11 -0400 Subject: [PATCH 1063/1161] Update api_changes.rst --- doc/api/api_changes.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/api/api_changes.rst b/doc/api/api_changes.rst index 96675ef5d718..29db4a983270 100644 --- a/doc/api/api_changes.rst +++ b/doc/api/api_changes.rst @@ -3,7 +3,7 @@ API Changes ============= -A log of changes to the most recent version Matplotlib that affect the +A log of changes to the most recent version of Matplotlib that affect the outward-facing API. If updating Matplotlib breaks your scripts, this list may help you figure out what caused the breakage and how to fix it by updating your code. For API changes in older versions see :doc:`api_changes_old`. From e9dcf5be74773f6018b653a5b03d4744d68ff5e6 Mon Sep 17 00:00:00 2001 From: Thomas Levine <tlevine@poklop.tom> Date: Wed, 25 Jul 2018 22:27:37 +0000 Subject: [PATCH 1064/1161] use a colon --- doc/api/animation_api.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/api/animation_api.rst b/doc/api/animation_api.rst index 3da83619223c..a56ac2333284 100644 --- a/doc/api/animation_api.rst +++ b/doc/api/animation_api.rst @@ -61,7 +61,7 @@ rasterized figure) and then 'blit' one more artist on top. Thus, by managing a saved 'clean' bitmap, we can only re-draw the few artists that are changing at each frame and possibly save significant amounts of time. When using blitting (by passing ``blit=True``), the core loop of -`FuncAnimation` gets a bit more complicated. :: +`FuncAnimation` gets a bit more complicated:: ax = fig.gca() From 1920dcff9d0295e38da65ffb298a1cfd2a4df5ad Mon Sep 17 00:00:00 2001 From: Thomas Levine <tlevine@poklop.tom> Date: Wed, 25 Jul 2018 22:28:11 +0000 Subject: [PATCH 1065/1161] active phrasing --- doc/api/animation_api.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/api/animation_api.rst b/doc/api/animation_api.rst index a56ac2333284..8fd09486c064 100644 --- a/doc/api/animation_api.rst +++ b/doc/api/animation_api.rst @@ -60,7 +60,7 @@ general gist is to take an existing bit map (in our case a mostly rasterized figure) and then 'blit' one more artist on top. Thus, by managing a saved 'clean' bitmap, we can only re-draw the few artists that are changing at each frame and possibly save significant amounts of -time. When using blitting (by passing ``blit=True``), the core loop of +time. When we use blitting (by passing ``blit=True``), the core loop of `FuncAnimation` gets a bit more complicated:: ax = fig.gca() From 824ac7490c5944c99b3fb1091bb2b63853cac086 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Thu, 26 Jul 2018 00:36:00 +0200 Subject: [PATCH 1066/1161] Unpin pandas in the CI. --- requirements/testing/travis36.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements/testing/travis36.txt b/requirements/testing/travis36.txt index 31ea599d7e82..3278f407969c 100644 --- a/requirements/testing/travis36.txt +++ b/requirements/testing/travis36.txt @@ -3,5 +3,5 @@ flake8 flake8-per-file-ignores jupyter -pandas<0.21.0 +pandas pytz From e40a9efb2dba3af63f3ac36e289a7c8d3072be69 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Thu, 26 Jul 2018 01:43:52 +0200 Subject: [PATCH 1067/1161] Remove unused attribute in tests. Should have been removed as part of 0c11fd7; there is no other mention of this attribute in the codebase. --- lib/matplotlib/tests/test_animation.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib/matplotlib/tests/test_animation.py b/lib/matplotlib/tests/test_animation.py index 7b9fc1e4a69f..93d30a692be9 100644 --- a/lib/matplotlib/tests/test_animation.py +++ b/lib/matplotlib/tests/test_animation.py @@ -22,8 +22,6 @@ class NullMovieWriter(animation.AbstractMovieWriter): it cannot be added to the 'writers' registry. """ - frame_size_can_vary = True - def setup(self, fig, outfile, dpi, *args): self.fig = fig self.outfile = outfile From ad7cedaea7f7157fa53a452b2e73dbf9166041ec Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Thu, 26 Jul 2018 11:54:21 -0700 Subject: [PATCH 1068/1161] DOC: re-roder examples and set heading levels --- doc/sphinxext/gallery_order.py | 13 ++++++------- examples/README.txt | 1 + 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/doc/sphinxext/gallery_order.py b/doc/sphinxext/gallery_order.py index 40c9b82be61c..9229ea7ef97e 100644 --- a/doc/sphinxext/gallery_order.py +++ b/doc/sphinxext/gallery_order.py @@ -9,16 +9,15 @@ # Gallery sections shall be diplayed in the following order. # Non-matching sections are appended. explicit_order_folders = [ - '../examples/api', - '../examples/pyplots', - '../examples/subplots_axes_and_figures', - '../examples/color', - '../examples/statistics', '../examples/lines_bars_and_markers', '../examples/images_contours_and_fields', - '../examples/shapes_and_collections', - '../examples/text_labels_and_annotations', + '../examples/subplots_axes_and_figures', + '../examples/statistics', '../examples/pie_and_polar_charts', + '../examples/text_labels_and_annotations', + '../examples/pyplots', + '../examples/color', + '../examples/shapes_and_collections', '../examples/style_sheets', '../examples/axes_grid1', '../examples/axisartist', diff --git a/examples/README.txt b/examples/README.txt index 72ae0134857e..f2331df7246a 100644 --- a/examples/README.txt +++ b/examples/README.txt @@ -2,6 +2,7 @@ .. _gallery: +======= Gallery ======= From b0f190a1092a25d796ce3d6f6a762617e8fa23fd Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sat, 28 Jul 2018 01:19:32 +0200 Subject: [PATCH 1069/1161] Add missing API changes --- doc/api/api_changes.rst | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/doc/api/api_changes.rst b/doc/api/api_changes.rst index 29db4a983270..5cde8c5b5fbf 100644 --- a/doc/api/api_changes.rst +++ b/doc/api/api_changes.rst @@ -226,8 +226,14 @@ The following deprecated API elements have been removed: - ``FigureCanvasBase.stop_event_loop_default``; - ``Figure.figurePatch``, - ``FigureCanvasBase.dynamic_update``, ``FigureCanvasBase.idle_event``, - ``FigureCanvasBase.get_linestyle``, ``FigureCanvasBase.set_linestyle``, + ``FigureCanvasBase.get_linestyle``, ``FigureCanvasBase.set_linestyle`` +- ``FigureCanvasQTAggBase`` - ``FigureCanvasQTAgg.blitbox``, +- ``FigureCanvasTk.show`` (alternative: ``FigureCanvasTk.draw``) +- ``FigureManagerTkAgg`` (alternative: ``FigureManagerTk``) +- ``NavigationToolbar2TkAgg`` (alternative: ``NavigationToolbar2Tk``) +- ``backend_wxagg.Toolbar`` (alternative: ``backend_wxagg.NavigationToolbar2WxAgg``) +- ``RendererAgg.debug()`` - passing non-numbers to ``EngFormatter.format_eng``, - passing ``frac`` to ``PolarAxes.set_theta_grids``, - any mention of idle events, From d6c3885c9eb06d79613da0a055639d222fdfe65e Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Mon, 23 Jul 2018 12:37:03 +0200 Subject: [PATCH 1070/1161] Add description for metadata argument of savefig --- lib/matplotlib/backends/backend_agg.py | 54 ++++++++++++++++++++++++-- lib/matplotlib/figure.py | 12 +++++- src/_png.cpp | 3 ++ 3 files changed, 65 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/backends/backend_agg.py b/lib/matplotlib/backends/backend_agg.py index ca7a44700bcd..42e946ac892e 100644 --- a/lib/matplotlib/backends/backend_agg.py +++ b/lib/matplotlib/backends/backend_agg.py @@ -410,7 +410,7 @@ def restore_region(self, region, bbox=None, xy=None): def draw(self): """ - Draw the figure using the renderer + Draw the figure using the renderer. """ self.renderer = self.get_renderer(cleared=True) # acquire a lock on the shared font cache @@ -440,7 +440,7 @@ def get_renderer(self, cleared=False): return self.renderer def tostring_rgb(self): - '''Get the image as an RGB byte string + '''Get the image as an RGB byte string. `draw` must be called at least once before this function will work and to update the renderer for any subsequent changes to the Figure. @@ -465,7 +465,7 @@ def tostring_argb(self): return self.renderer.tostring_argb() def buffer_rgba(self): - '''Get the image as an RGBA byte string + '''Get the image as an RGBA byte string. `draw` must be called at least once before this function will work and to update the renderer for any subsequent changes to the Figure. @@ -485,6 +485,47 @@ def print_raw(self, filename_or_obj, *args, **kwargs): print_rgba = print_raw def print_png(self, filename_or_obj, *args, **kwargs): + """ + Write the figure to a PNG file. + + Parameters + ---------- + filename_or_obj : str or PathLike or file-like object + The file to write to. + + metadata : dict, optional + Metadata in the PNG file as key-value pairs of bytes or latin-1 + encodable strings. + According to the PNG specification, keys must be shorter than 79 + chars. + + The `PNG specification`_ defines some common keywords that may be + used as appropriate: + + - Title: Short (one line) title or caption for image. + - Author: Name of image's creator. + - Description: Description of image (possibly long). + - Copyright: Copyright notice. + - Creation Time: Time of original image creation + (usually RFC 1123 format). + - Software: Software used to create the image. + - Disclaimer: Legal disclaimer. + - Warning: Warning of nature of content. + - Source: Device used to create the image. + - Comment: Miscellaneous comment; + conversion from other image format. + + Other keywords may be invented for other purposes. + + If 'Software' is not given, an autogenerated value for matplotlib + will be used. + + For more details see the `PNG specification`_. + + .. _PNG specification: \ + https://www.w3.org/TR/2003/REC-PNG-20031110/#11keywords + + """ FigureCanvasAgg.draw(self) renderer = self.get_renderer() @@ -511,6 +552,13 @@ def print_to_buffer(self): # add JPEG support def print_jpg(self, filename_or_obj, *args, dryrun=False, **kwargs): """ + Write the figure to a JPEG file. + + Parameters + ---------- + filename_or_obj : str or PathLike or file-like object + The file to write to. + Other Parameters ---------------- quality : int diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index cd21216a3956..1f41fa4b755a 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -1979,7 +1979,7 @@ def savefig(self, fname, *, frameon=None, transparent=None, **kwargs): savefig(fname, dpi=None, facecolor='w', edgecolor='w', orientation='portrait', papertype=None, format=None, transparent=False, bbox_inches=None, pad_inches=0.1, - frameon=None) + frameon=None, metadata=None) The output formats available depend on the backend being used. @@ -2059,6 +2059,16 @@ def savefig(self, fname, *, frameon=None, transparent=None, **kwargs): A list of extra artists that will be considered when the tight bbox is calculated. + metadata : dict, optional + Key/value pairs to store in the image metadata. The supported keys + and defaults depend on the image format and backend: + + - 'png' with Agg backend: See the parameter ``metadata`` of + `~.FigureCanvasAgg.print_png`. + - 'pdf' with pdf backend: See the parameter ``metadata`` of + `~.backend_pdf.PdfPages`. + - 'eps' and 'ps' with PS backend: Only 'Creator' is supported. + """ kwargs.setdefault('dpi', rcParams['savefig.dpi']) if frameon is None: diff --git a/src/_png.cpp b/src/_png.cpp index 043c42f77923..574e1f645ef4 100644 --- a/src/_png.cpp +++ b/src/_png.cpp @@ -128,6 +128,9 @@ const char *Py_write_png__doc__ = " - Comment: Miscellaneous comment; conversion\n" " from other image format\n" "\n" + " For more details see the PNG specification:\n" + " https://www.w3.org/TR/2003/REC-PNG-20031110/#11keywords\n" + "\n" "Returns\n" "-------\n" "buffer : bytes or None\n" From 8810b5e93e1b8323268e4b4cfdc7479cdda273fe Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sat, 28 Jul 2018 02:13:31 +0200 Subject: [PATCH 1071/1161] Fix collections import warnings for Python 3.7 --- lib/matplotlib/__init__.py | 2 +- lib/matplotlib/colors.py | 2 +- lib/matplotlib/markers.py | 2 +- lib/matplotlib/rcsetup.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 4923fb9b37f8..3eee3e0116f6 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -115,7 +115,7 @@ """) import atexit -from collections import MutableMapping +from collections.abc import MutableMapping import contextlib import distutils.version import functools diff --git a/lib/matplotlib/colors.py b/lib/matplotlib/colors.py index 03bdd1c1325e..82969ed18cb7 100644 --- a/lib/matplotlib/colors.py +++ b/lib/matplotlib/colors.py @@ -44,7 +44,7 @@ All string specifications of color, other than "CN", are case-insensitive. """ -from collections import Sized +from collections.abc import Sized import itertools import re diff --git a/lib/matplotlib/markers.py b/lib/matplotlib/markers.py index 493a9e932b82..a2088c81de9c 100644 --- a/lib/matplotlib/markers.py +++ b/lib/matplotlib/markers.py @@ -150,7 +150,7 @@ .. |m37| image:: /_static/markers/m37.png """ -from collections import Sized +from collections.abc import Sized from numbers import Number import numpy as np diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index 215b5665ee78..e3c58f48026a 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -13,7 +13,7 @@ parameter set listed here should also be visited to the :file:`matplotlibrc.template` in matplotlib's root source directory. """ -from collections import Iterable, Mapping +from collections.abc import Iterable, Mapping from functools import reduce import operator import os From 149fdc4b3bdf0ea9023cfa917c7eb3372ab27271 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sat, 28 Jul 2018 02:21:15 +0200 Subject: [PATCH 1072/1161] Fix DeprecationWarning on LocatableAxes --- examples/axes_grid1/demo_axes_divider.py | 8 ++++---- examples/axes_grid1/demo_fixed_size_axes.py | 7 ++++--- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/examples/axes_grid1/demo_axes_divider.py b/examples/axes_grid1/demo_axes_divider.py index 73eac91ecc2d..5f8f440af562 100644 --- a/examples/axes_grid1/demo_axes_divider.py +++ b/examples/axes_grid1/demo_axes_divider.py @@ -28,16 +28,16 @@ def demo_simple_image(ax): def demo_locatable_axes_hard(fig1): - from mpl_toolkits.axes_grid1 \ - import SubplotDivider, LocatableAxes, Size + from mpl_toolkits.axes_grid1 import SubplotDivider, Size + from mpl_toolkits.axes_grid1.mpl_axes import Axes divider = SubplotDivider(fig1, 2, 2, 2, aspect=True) # axes for image - ax = LocatableAxes(fig1, divider.get_position()) + ax = Axes(fig1, divider.get_position()) # axes for colorbar - ax_cb = LocatableAxes(fig1, divider.get_position()) + ax_cb = Axes(fig1, divider.get_position()) h = [Size.AxesX(ax), # main axes Size.Fixed(0.05), # padding, 0.1 inch diff --git a/examples/axes_grid1/demo_fixed_size_axes.py b/examples/axes_grid1/demo_fixed_size_axes.py index a96df03f858f..b9153b521e2e 100644 --- a/examples/axes_grid1/demo_fixed_size_axes.py +++ b/examples/axes_grid1/demo_fixed_size_axes.py @@ -6,7 +6,8 @@ """ import matplotlib.pyplot as plt -from mpl_toolkits.axes_grid1 import Divider, LocatableAxes, Size +from mpl_toolkits.axes_grid1 import Divider, Size +from mpl_toolkits.axes_grid1.mpl_axes import Axes def demo_fixed_size_axes(): @@ -20,7 +21,7 @@ def demo_fixed_size_axes(): divider = Divider(fig1, (0.0, 0.0, 1., 1.), h, v, aspect=False) # the width and height of the rectangle is ignored. - ax = LocatableAxes(fig1, divider.get_position()) + ax = Axes(fig1, divider.get_position()) ax.set_axes_locator(divider.new_locator(nx=1, ny=1)) fig1.add_axes(ax) @@ -39,7 +40,7 @@ def demo_fixed_pad_axes(): divider = Divider(fig, (0.0, 0.0, 1., 1.), h, v, aspect=False) # the width and height of the rectangle is ignored. - ax = LocatableAxes(fig, divider.get_position()) + ax = Axes(fig, divider.get_position()) ax.set_axes_locator(divider.new_locator(nx=1, ny=1)) fig.add_axes(ax) From b8071e032d0e87b6200c12ed2c803b6bee5733af Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Tue, 12 Dec 2017 22:55:10 -0800 Subject: [PATCH 1073/1161] Rewrite and greatly simplify qt_compat.py. The selection logic is now described in the module's docstring. The only changes is that the QT_ENV_MAJOR_VERSION global, which would sometimes be defined (depending on the state of the import cache, the QT_API environment variable, and the requested backend) is never defined anymore. --- INSTALL.rst | 5 +- doc/api/backend_qt4agg_api.rst | 10 +- doc/api/backend_qt4cairo_api.rst | 10 +- doc/api/backend_qt5agg_api.rst | 10 +- doc/api/backend_qt5cairo_api.rst | 10 +- doc/sphinxext/mock_gui_toolkits.py | 104 --------- lib/matplotlib/backends/qt_compat.py | 333 +++++++++++---------------- 7 files changed, 163 insertions(+), 319 deletions(-) diff --git a/INSTALL.rst b/INSTALL.rst index 755e7e59e17a..d212b2b1fb7d 100644 --- a/INSTALL.rst +++ b/INSTALL.rst @@ -150,8 +150,9 @@ interface toolkits. See :ref:`what-is-a-backend` for more details on the optional Matplotlib backends and the capabilities they provide. * :term:`tk` (>= 8.3, != 8.6.0 or 8.6.1): for the Tk-based backends; -* `PyQt4 <https://pypi.python.org/pypi/PyQt4>`_ (>= 4.4) or - `PySide <https://pypi.python.org/pypi/PySide>`_: for the Qt4-based backends; +* `PyQt4 <https://pypi.python.org/pypi/PyQt4>`_ (>= 4.6) or + `PySide <https://pypi.python.org/pypi/PySide>`_ (>= 1.0.3): for the Qt4-based + backends; * `PyQt5 <https://pypi.python.org/pypi/PyQt5>`_: for the Qt5-based backends; * `PyGObject <https://pypi.org/project/PyGObject/>`_ or `pgi <https://pypi.org/project/pgi/>`_ (>= 0.0.11.2): for the GTK3-based diff --git a/doc/api/backend_qt4agg_api.rst b/doc/api/backend_qt4agg_api.rst index 8bf490aa8cb9..8b787512a44c 100644 --- a/doc/api/backend_qt4agg_api.rst +++ b/doc/api/backend_qt4agg_api.rst @@ -2,7 +2,9 @@ :mod:`matplotlib.backends.backend_qt4agg` ========================================= -.. automodule:: matplotlib.backends.backend_qt4agg - :members: - :undoc-members: - :show-inheritance: +**NOTE** Not included, to avoid adding a dependency to building the docs. + +.. .. automodule:: matplotlib.backends.backend_qt4agg +.. :members: +.. :undoc-members: +.. :show-inheritance: diff --git a/doc/api/backend_qt4cairo_api.rst b/doc/api/backend_qt4cairo_api.rst index 590465d7fbc0..1e6cb526de96 100644 --- a/doc/api/backend_qt4cairo_api.rst +++ b/doc/api/backend_qt4cairo_api.rst @@ -2,7 +2,9 @@ :mod:`matplotlib.backends.backend_qt4cairo` =========================================== -.. automodule:: matplotlib.backends.backend_qt4cairo - :members: - :undoc-members: - :show-inheritance: +**NOTE** Not included, to avoid adding a dependency to building the docs. + +.. .. automodule:: matplotlib.backends.backend_qt4cairo +.. :members: +.. :undoc-members: +.. :show-inheritance: diff --git a/doc/api/backend_qt5agg_api.rst b/doc/api/backend_qt5agg_api.rst index 8d1ad2aba0f0..f8400aefa1a2 100644 --- a/doc/api/backend_qt5agg_api.rst +++ b/doc/api/backend_qt5agg_api.rst @@ -2,7 +2,9 @@ :mod:`matplotlib.backends.backend_qt5agg` ========================================= -.. automodule:: matplotlib.backends.backend_qt5agg - :members: - :undoc-members: - :show-inheritance: +**NOTE** Not included, to avoid adding a dependency to building the docs. + +.. .. automodule:: matplotlib.backends.backend_qt5agg +.. :members: +.. :undoc-members: +.. :show-inheritance: diff --git a/doc/api/backend_qt5cairo_api.rst b/doc/api/backend_qt5cairo_api.rst index 73df7ac128a1..7ff3e1233b43 100644 --- a/doc/api/backend_qt5cairo_api.rst +++ b/doc/api/backend_qt5cairo_api.rst @@ -2,7 +2,9 @@ :mod:`matplotlib.backends.backend_qt5cairo` =========================================== -.. automodule:: matplotlib.backends.backend_qt5cairo - :members: - :undoc-members: - :show-inheritance: +**NOTE** Not included, to avoid adding a dependency to building the docs. + +.. .. automodule:: matplotlib.backends.backend_qt5cairo +.. :members: +.. :undoc-members: +.. :show-inheritance: diff --git a/doc/sphinxext/mock_gui_toolkits.py b/doc/sphinxext/mock_gui_toolkits.py index 8e8cc071ff70..a7be59a940c5 100644 --- a/doc/sphinxext/mock_gui_toolkits.py +++ b/doc/sphinxext/mock_gui_toolkits.py @@ -6,108 +6,6 @@ class MyCairoCffi(MagicMock): __name__ = "cairocffi" -class MyPyQt4(MagicMock): - class QtGui(object): - # PyQt4.QtGui public classes. - # Generated with - # textwrap.fill([name for name in dir(PyQt4.QtGui) - # if isinstance(getattr(PyQt4.QtGui, name), type)]) - _QtGui_public_classes = """\ - Display QAbstractButton QAbstractGraphicsShapeItem - QAbstractItemDelegate QAbstractItemView QAbstractPrintDialog - QAbstractProxyModel QAbstractScrollArea QAbstractSlider - QAbstractSpinBox QAbstractTextDocumentLayout QAction QActionEvent - QActionGroup QApplication QBitmap QBoxLayout QBrush QButtonGroup - QCalendarWidget QCheckBox QClipboard QCloseEvent QColor QColorDialog - QColumnView QComboBox QCommandLinkButton QCommonStyle QCompleter - QConicalGradient QContextMenuEvent QCursor QDataWidgetMapper QDateEdit - QDateTimeEdit QDesktopServices QDesktopWidget QDial QDialog - QDialogButtonBox QDirModel QDockWidget QDoubleSpinBox QDoubleValidator - QDrag QDragEnterEvent QDragLeaveEvent QDragMoveEvent QDropEvent - QErrorMessage QFileDialog QFileIconProvider QFileOpenEvent - QFileSystemModel QFocusEvent QFocusFrame QFont QFontComboBox - QFontDatabase QFontDialog QFontInfo QFontMetrics QFontMetricsF - QFormLayout QFrame QGesture QGestureEvent QGestureRecognizer QGlyphRun - QGradient QGraphicsAnchor QGraphicsAnchorLayout QGraphicsBlurEffect - QGraphicsColorizeEffect QGraphicsDropShadowEffect QGraphicsEffect - QGraphicsEllipseItem QGraphicsGridLayout QGraphicsItem - QGraphicsItemAnimation QGraphicsItemGroup QGraphicsLayout - QGraphicsLayoutItem QGraphicsLineItem QGraphicsLinearLayout - QGraphicsObject QGraphicsOpacityEffect QGraphicsPathItem - QGraphicsPixmapItem QGraphicsPolygonItem QGraphicsProxyWidget - QGraphicsRectItem QGraphicsRotation QGraphicsScale QGraphicsScene - QGraphicsSceneContextMenuEvent QGraphicsSceneDragDropEvent - QGraphicsSceneEvent QGraphicsSceneHelpEvent QGraphicsSceneHoverEvent - QGraphicsSceneMouseEvent QGraphicsSceneMoveEvent - QGraphicsSceneResizeEvent QGraphicsSceneWheelEvent - QGraphicsSimpleTextItem QGraphicsTextItem QGraphicsTransform - QGraphicsView QGraphicsWidget QGridLayout QGroupBox QHBoxLayout - QHeaderView QHelpEvent QHideEvent QHoverEvent QIcon QIconDragEvent - QIconEngine QIconEngineV2 QIdentityProxyModel QImage QImageIOHandler - QImageReader QImageWriter QInputContext QInputContextFactory - QInputDialog QInputEvent QInputMethodEvent QIntValidator QItemDelegate - QItemEditorCreatorBase QItemEditorFactory QItemSelection - QItemSelectionModel QItemSelectionRange QKeyEvent QKeyEventTransition - QKeySequence QLCDNumber QLabel QLayout QLayoutItem QLineEdit - QLinearGradient QListView QListWidget QListWidgetItem QMainWindow - QMatrix QMatrix2x2 QMatrix2x3 QMatrix2x4 QMatrix3x2 QMatrix3x3 - QMatrix3x4 QMatrix4x2 QMatrix4x3 QMatrix4x4 QMdiArea QMdiSubWindow - QMenu QMenuBar QMessageBox QMimeSource QMouseEvent - QMouseEventTransition QMoveEvent QMovie QPageSetupDialog QPaintDevice - QPaintEngine QPaintEngineState QPaintEvent QPainter QPainterPath - QPainterPathStroker QPalette QPanGesture QPen QPicture QPictureIO - QPinchGesture QPixmap QPixmapCache QPlainTextDocumentLayout - QPlainTextEdit QPolygon QPolygonF QPrintDialog QPrintEngine - QPrintPreviewDialog QPrintPreviewWidget QPrinter QPrinterInfo - QProgressBar QProgressDialog QProxyModel QPushButton QPyTextObject - QQuaternion QRadialGradient QRadioButton QRawFont QRegExpValidator - QRegion QResizeEvent QRubberBand QScrollArea QScrollBar - QSessionManager QShortcut QShortcutEvent QShowEvent QSizeGrip - QSizePolicy QSlider QSortFilterProxyModel QSound QSpacerItem QSpinBox - QSplashScreen QSplitter QSplitterHandle QStackedLayout QStackedWidget - QStandardItem QStandardItemModel QStaticText QStatusBar - QStatusTipEvent QStringListModel QStyle QStyleFactory QStyleHintReturn - QStyleHintReturnMask QStyleHintReturnVariant QStyleOption - QStyleOptionButton QStyleOptionComboBox QStyleOptionComplex - QStyleOptionDockWidget QStyleOptionDockWidgetV2 QStyleOptionFocusRect - QStyleOptionFrame QStyleOptionFrameV2 QStyleOptionFrameV3 - QStyleOptionGraphicsItem QStyleOptionGroupBox QStyleOptionHeader - QStyleOptionMenuItem QStyleOptionProgressBar QStyleOptionProgressBarV2 - QStyleOptionRubberBand QStyleOptionSizeGrip QStyleOptionSlider - QStyleOptionSpinBox QStyleOptionTab QStyleOptionTabBarBase - QStyleOptionTabBarBaseV2 QStyleOptionTabV2 QStyleOptionTabV3 - QStyleOptionTabWidgetFrame QStyleOptionTabWidgetFrameV2 - QStyleOptionTitleBar QStyleOptionToolBar QStyleOptionToolBox - QStyleOptionToolBoxV2 QStyleOptionToolButton QStyleOptionViewItem - QStyleOptionViewItemV2 QStyleOptionViewItemV3 QStyleOptionViewItemV4 - QStylePainter QStyledItemDelegate QSwipeGesture QSyntaxHighlighter - QSystemTrayIcon QTabBar QTabWidget QTableView QTableWidget - QTableWidgetItem QTableWidgetSelectionRange QTabletEvent - QTapAndHoldGesture QTapGesture QTextBlock QTextBlockFormat - QTextBlockGroup QTextBlockUserData QTextBrowser QTextCharFormat - QTextCursor QTextDocument QTextDocumentFragment QTextDocumentWriter - QTextEdit QTextFormat QTextFragment QTextFrame QTextFrameFormat - QTextImageFormat QTextInlineObject QTextItem QTextLayout QTextLength - QTextLine QTextList QTextListFormat QTextObject QTextObjectInterface - QTextOption QTextTable QTextTableCell QTextTableCellFormat - QTextTableFormat QTimeEdit QToolBar QToolBox QToolButton QToolTip - QTouchEvent QTransform QTreeView QTreeWidget QTreeWidgetItem - QTreeWidgetItemIterator QUndoCommand QUndoGroup QUndoStack QUndoView - QVBoxLayout QValidator QVector2D QVector3D QVector4D QWhatsThis - QWhatsThisClickedEvent QWheelEvent QWidget QWidgetAction QWidgetItem - QWindowStateChangeEvent QWizard QWizardPage QWorkspace - QX11EmbedContainer QX11EmbedWidget QX11Info - """ - for _name in _QtGui_public_classes.split(): - locals()[_name] = type(_name, (), {}) - del _name - - -class MySip(MagicMock): - def getapi(*args): - return 1 - - class MyWX(MagicMock): class Panel(object): pass @@ -125,8 +23,6 @@ class StatusBar(object): def setup(app): sys.modules.update( cairocffi=MyCairoCffi(), - PyQt4=MyPyQt4(), - sip=MySip(), wx=MyWX(), ) return {'parallel_read_safe': True, 'parallel_write_safe': True} diff --git a/lib/matplotlib/backends/qt_compat.py b/lib/matplotlib/backends/qt_compat.py index 759fe24a7a66..d9db99ab0378 100644 --- a/lib/matplotlib/backends/qt_compat.py +++ b/lib/matplotlib/backends/qt_compat.py @@ -1,220 +1,159 @@ -""" A Qt API selector that can be used to switch between PyQt and PySide. +""" +Qt binding and backend selector. + +The selection logic is as follows: +- if any of PyQt5, PySide2, PyQt4 or PySide have already been imported + (checked in that order), use it; +- otherwise, if the QT_API environment variable (used by Enthought) is + set, use it to determine which binding to use (but do not change the + backend based on it; i.e. if the Qt4Agg backend is requested but QT_API + is set to "pyqt5", then actually use Qt4 with the binding specified by + ``rcParams["backend.qt4"]``; +- otherwise, use whatever the rcParams indicate. """ +from distutils.version import LooseVersion import os -import logging import sys -from matplotlib import rcParams - -_log = logging.getLogger(__name__) -# Available APIs. -QT_API_PYQT = 'PyQt4' # API is not set here; Python 2.x default is V 1 -QT_API_PYQTv2 = 'PyQt4v2' # forced to Version 2 API -QT_API_PYSIDE = 'PySide' # only supports Version 2 API -QT_API_PYQT5 = 'PyQt5' # use PyQt5 API; Version 2 with module shim -QT_API_PYSIDE2 = 'PySide2' # Version 2 API with module shim +from matplotlib import rcParams -ETS = dict(pyqt=(QT_API_PYQTv2, 4), pyside=(QT_API_PYSIDE, 4), - pyqt5=(QT_API_PYQT5, 5), pyside2=(QT_API_PYSIDE2, 5)) -# ETS is a dict of env variable to (QT_API, QT_MAJOR_VERSION) -# If the ETS QT_API environment variable is set, use it, but only -# if the variable is of the same major QT version. Note that -# ETS requires the version 2 of PyQt4, which is not the platform -# default for Python 2.x. +QT_API_PYQT5 = "PyQt5" +QT_API_PYSIDE2 = "PySide2" +QT_API_PYQTv2 = "PyQt4v2" +QT_API_PYSIDE = "PySide" +QT_API_PYQT = "PyQt4" # Use the old sip v1 API (Py3 defaults to v2). QT_API_ENV = os.environ.get('QT_API') - -if rcParams['backend'] == 'Qt5Agg': - QT_RC_MAJOR_VERSION = 5 -elif rcParams['backend'] == 'Qt4Agg': - QT_RC_MAJOR_VERSION = 4 -else: - # A different backend was specified, but we still got here because a Qt - # related file was imported. This is allowed, so lets try and guess - # what we should be using. - if "PyQt4" in sys.modules or "PySide" in sys.modules: - # PyQt4 or PySide is actually used. - QT_RC_MAJOR_VERSION = 4 - else: - # This is a fallback: PyQt5 - QT_RC_MAJOR_VERSION = 5 - -QT_API = None - -# check if any binding is already imported, if so silently ignore the -# rcparams/ENV settings and use what ever is already imported. -if 'PySide' in sys.modules: - # user has imported PySide before importing mpl - QT_API = QT_API_PYSIDE - -if 'PySide2' in sys.modules: - # user has imported PySide before importing mpl +# First, check if anything is already imported. +if "PyQt5" in sys.modules: + QT_API = QT_API_PYQT5 + dict.__setitem__(rcParams, "backend.qt5", QT_API) +elif "PySide2" in sys.modules: QT_API = QT_API_PYSIDE2 + dict.__setitem__(rcParams, "backend.qt5", QT_API) +elif "PyQt4" in sys.modules: + QT_API = QT_API_PYQTv2 + dict.__setitem__(rcParams, "backend.qt4", QT_API) +elif "PySide" in sys.modules: + QT_API = QT_API_PYSIDE + dict.__setitem__(rcParams, "backend.qt4", QT_API) +# Otherwise, check the QT_API environment variable (from Enthought). This can +# only override the binding, not the backend (in other words, we check that the +# requested backend actually matches). +elif rcParams["backend"] == "Qt5Agg": + if QT_API_ENV == "pyqt5": + dict.__setitem__(rcParams, "backend.qt5", QT_API_PYQT5) + elif QT_API_ENV == "pyside2": + dict.__setitem__(rcParams, "backend.qt5", QT_API_PYSIDE2) + QT_API = dict.__getitem__(rcParams, "backend.qt5") +elif rcParams["backend"] == "Qt4Agg": + if QT_API_ENV == "pyqt4": + dict.__setitem__(rcParams, "backend.qt4", QT_API_PYQTv2) + elif QT_API_ENV == "pyside": + dict.__setitem__(rcParams, "backend.qt4", QT_API_PYSIDE) + QT_API = dict.__getitem__(rcParams, "backend.qt4") +# A non-Qt backend was selected but we still got there (possible, e.g., when +# fully manually embedding Matplotlib in a Qt app without using pyplot). +else: + QT_API = None -if 'PyQt4' in sys.modules: - # user has imported PyQt4 before importing mpl - # this case also handles the PyQt4v2 case as once sip is imported - # the API versions can not be changed so do not try - QT_API = QT_API_PYQT - -if 'PyQt5' in sys.modules: - # the user has imported PyQt5 before importing mpl - QT_API = QT_API_PYQT5 -if (QT_API_ENV is not None) and QT_API is None: - try: - QT_ENV_MAJOR_VERSION = ETS[QT_API_ENV][1] - except KeyError: - raise RuntimeError( - ('Unrecognized environment variable %r, valid values are:' - ' %r, %r, %r or %r' - % (QT_API_ENV, 'pyqt', 'pyside', 'pyqt5', 'pyside2'))) - if QT_ENV_MAJOR_VERSION == QT_RC_MAJOR_VERSION: - # Only if backend and env qt major version are - # compatible use the env variable. - QT_API = ETS[QT_API_ENV][0] - -_fallback_to_qt4 = False -if QT_API is None: - # No ETS environment or incompatible so use rcParams. - if rcParams['backend'] == 'Qt5Agg': - QT_API = QT_API_PYQT5 - elif rcParams['backend'] == 'Qt4Agg': - QT_API = QT_API_PYQT - else: - # A non-Qt backend was specified, no version of the Qt - # bindings is imported, but we still got here because a Qt - # related file was imported. This is allowed, fall back to Qt5 - # using which ever binding the rparams ask for. - _fallback_to_qt4 = True - QT_API = QT_API_PYQT5 - -# We will define an appropriate wrapper for the differing versions -# of file dialog. -_getSaveFileName = None - -# Flag to check if sip could be imported -_sip_imported = False - -# Now perform the imports. -if QT_API in (QT_API_PYQT, QT_API_PYQTv2): - try: - import sip - _sip_imported = True - except ImportError: - # Try using PySide - if QT_RC_MAJOR_VERSION == 5: - QT_API = QT_API_PYSIDE2 - else: - QT_API = QT_API_PYSIDE - cond = ("Could not import sip; falling back on PySide\n" - "in place of PyQt4 or PyQt5.\n") - _log.info(cond) - -if _sip_imported: - if QT_API == QT_API_PYQTv2: - if QT_API_ENV == 'pyqt': - cond = ("Found 'QT_API=pyqt' environment variable. " - "Setting PyQt4 API accordingly.\n") - else: - cond = "PyQt API v2 specified." - try: - sip.setapi('QString', 2) - except: - res = 'QString API v2 specification failed. Defaulting to v1.' - _log.info(cond + res) - # condition has now been reported, no need to repeat it: - cond = "" - try: - sip.setapi('QVariant', 2) - except: - res = 'QVariant API v2 specification failed. Defaulting to v1.' - _log.info(cond + res) +def _setup_pyqt5(): + global QtCore, QtGui, QtWidgets, __version__, is_pyqt5, _getSaveFileName -if QT_API == QT_API_PYQT5: - try: + if QT_API == QT_API_PYQT5: from PyQt5 import QtCore, QtGui, QtWidgets - _getSaveFileName = QtWidgets.QFileDialog.getSaveFileName - except ImportError: - if _fallback_to_qt4: - # fell through, tried PyQt5, failed fall back to PyQt4 - QT_API = QT_API_PYQT - QT_RC_MAJOR_VERSION = 4 - else: - raise - -if _sip_imported: - # needs to be if so we can re-test the value of QT_API which may - # have been changed in the above if block - if QT_API in [QT_API_PYQT, QT_API_PYQTv2]: # PyQt4 API - from PyQt4 import QtCore, QtGui - - try: - if sip.getapi("QString") > 1: - # Use new getSaveFileNameAndFilter() - _getSaveFileName = QtGui.QFileDialog.getSaveFileNameAndFilter - else: - - # Use old getSaveFileName() - def _getSaveFileName(*args, **kwargs): - return (QtGui.QFileDialog.getSaveFileName(*args, **kwargs), - None) - - except (AttributeError, KeyError): - - # call to getapi() can fail in older versions of sip - def _getSaveFileName(*args, **kwargs): - return QtGui.QFileDialog.getSaveFileName(*args, **kwargs), None - - -if QT_API == QT_API_PYSIDE2: - try: + __version__ = QtCore.PYQT_VERSION_STR + QtCore.Signal = QtCore.pyqtSignal + QtCore.Slot = QtCore.pyqtSlot + QtCore.Property = QtCore.pyqtProperty + elif QT_API == QT_API_PYSIDE2: from PySide2 import QtCore, QtGui, QtWidgets, __version__ - _getSaveFileName = QtWidgets.QFileDialog.getSaveFileName - except ImportError: - # tried PySide2, failed, fall back to PySide - QT_RC_MAJOR_VERSION = 4 - QT_API = QT_API_PYSIDE - -if QT_API == QT_API_PYSIDE: # try importing pyside - try: - from PySide import QtCore, QtGui, __version__, __version_info__ - except ImportError: - raise ImportError( - "Matplotlib qt-based backends require an external PyQt4, PyQt5,\n" - "PySide or PySide2 package to be installed, but it was not found.") + else: + raise ValueError("Unexpected value for the 'backend.qt5' rcparam") + _getSaveFileName = QtWidgets.QFileDialog.getSaveFileName - if __version_info__ < (1, 0, 3): - raise ImportError( - "Matplotlib backend_qt4 and backend_qt4agg require PySide >=1.0.3") + def is_pyqt5(): + return True - _getSaveFileName = QtGui.QFileDialog.getSaveFileName +def _setup_pyqt4(): + global QtCore, QtGui, QtWidgets, __version__, is_pyqt5, _getSaveFileName -if QT_API in (QT_API_PYQT, QT_API_PYQTv2, QT_API_PYQT5): - # Alias PyQt-specific functions for PySide compatibility. - QtCore.Signal = QtCore.pyqtSignal - try: + def _setup_pyqt4_internal(api): + global QtCore, QtGui, QtWidgets, \ + __version__, is_pyqt5, _getSaveFileName + # List of incompatible APIs: + # http://pyqt.sourceforge.net/Docs/PyQt4/incompatible_apis.html + _sip_apis = ["QDate", "QDateTime", "QString", "QTextStream", "QTime", + "QUrl", "QVariant"] + import sip + for _sip_api in _sip_apis: + try: + sip.setapi(_sip_api, api) + except ValueError: + pass + from PyQt4 import QtCore, QtGui + __version__ = QtCore.PYQT_VERSION_STR + # PyQt 4.6 introduced getSaveFileNameAndFilter: + # https://riverbankcomputing.com/news/pyqt-46 + if __version__ < LooseVersion("4.6"): + raise ImportError("PyQt<4.6 is not supported") + QtCore.Signal = QtCore.pyqtSignal QtCore.Slot = QtCore.pyqtSlot - except AttributeError: - # Not a perfect match but works in simple cases - QtCore.Slot = QtCore.pyqtSignature + QtCore.Property = QtCore.pyqtProperty + _getSaveFileName = QtGui.QFileDialog.getSaveFileNameAndFilter - QtCore.Property = QtCore.pyqtProperty - __version__ = QtCore.PYQT_VERSION_STR - -# Apply shim to Qt4 APIs to make them look like Qt5 -if QT_API in (QT_API_PYQT, QT_API_PYQTv2, QT_API_PYSIDE): - '''Import all used QtGui objects into QtWidgets - - Here I've opted to simple copy QtGui into QtWidgets as that - achieves the same result as copying over the objects, and will - continue to work if other objects are used. - - ''' + if QT_API == QT_API_PYQTv2: + _setup_pyqt4_internal(api=2) + elif QT_API == QT_API_PYSIDE: + from PySide import QtCore, QtGui, __version__, __version_info__ + # PySide 1.0.3 fixed the following: + # https://srinikom.github.io/pyside-bz-archive/809.html + if __version_info__ < (1, 0, 3): + raise ImportError("PySide<1.0.3 is not supported") + _getSaveFileName = QtGui.QFileDialog.getSaveFileName + elif QT_API == QT_API_PYQT: + _setup_pyqt4_internal(api=1) + else: + raise ValueError("Unexpected value for the 'backend.qt4' rcparam") QtWidgets = QtGui + def is_pyqt5(): + return False + + +if QT_API in [QT_API_PYQT5, QT_API_PYSIDE2]: + _setup_pyqt5() +elif QT_API in [QT_API_PYQTv2, QT_API_PYSIDE, QT_API_PYQT]: + _setup_pyqt4() +elif QT_API is None: + if rcParams["backend"] == "Qt4Agg": + _candidates = [(_setup_pyqt4, QT_API_PYQTv2), + (_setup_pyqt4, QT_API_PYSIDE), + (_setup_pyqt4, QT_API_PYQT), + (_setup_pyqt5, QT_API_PYQT5), + (_setup_pyqt5, QT_API_PYSIDE2)] + else: + _candidates = [(_setup_pyqt5, QT_API_PYQT5), + (_setup_pyqt5, QT_API_PYSIDE2), + (_setup_pyqt4, QT_API_PYQTv2), + (_setup_pyqt4, QT_API_PYSIDE), + (_setup_pyqt4, QT_API_PYQT)] + for _setup, QT_API in _candidates: + try: + _setup() + except ImportError: + continue + break + else: + raise ImportError("Failed to import any qt binding") +else: # We should not get there. + raise AssertionError("Unexpected QT_API: {}".format(QT_API)) -def is_pyqt5(): - return QT_API == QT_API_PYQT5 + +# These globals are only defined for backcompatibilty purposes. +ETS = dict(pyqt=(QT_API_PYQTv2, 4), pyside=(QT_API_PYSIDE, 4), + pyqt5=(QT_API_PYQT5, 5), pyside2=(QT_API_PYSIDE2, 5)) +QT_RC_MAJOR_VERSION = 5 if is_pyqt5() else 4 From 07f5682168a90e65f8b4279ea728dd7899c96b38 Mon Sep 17 00:00:00 2001 From: ImportanceOfBeingErnest <elch.rz@ruetz-online.de> Date: Tue, 24 Jul 2018 02:39:00 +0200 Subject: [PATCH 1074/1161] fix minor grid overlapping --- lib/matplotlib/tests/test_ticker.py | 49 ++++++++++++++++++++++++++++- lib/matplotlib/ticker.py | 6 ++-- 2 files changed, 52 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/tests/test_ticker.py b/lib/matplotlib/tests/test_ticker.py index 423891b3e972..3619aeb0249a 100644 --- a/lib/matplotlib/tests/test_ticker.py +++ b/lib/matplotlib/tests/test_ticker.py @@ -74,7 +74,7 @@ def test_basic(self): ax.minorticks_on() test_value = np.array([0.05, 0.1, 0.15, 0.25, 0.3, 0.35, 0.45, 0.5, 0.55, 0.65, 0.7, 0.75, 0.85, 0.9, - 0.95, 1, 1.05, 1.1, 1.15, 1.25, 1.3, 1.35]) + 0.95, 1.05, 1.1, 1.15, 1.25, 1.3, 1.35]) assert_almost_equal(ax.xaxis.get_ticklocs(minor=True), test_value) # NB: the following values are assuming that *xlim* is [0, 5] @@ -97,6 +97,53 @@ def test_low_number_of_majorticks( ax.xaxis.set_minor_locator(mticker.AutoMinorLocator()) assert len(ax.xaxis.get_minorticklocs()) == expected_nb_minorticks + limits = [(0, 1.39), (0, 0.139), + (0, 0.11e-19), (0, 0.112e-12), + (-2.0e-07, -3.3e-08), (1.20e-06, 1.42e-06), + (-1.34e-06, -1.44e-06), (-8.76e-07, -1.51e-06)] + + reference = [ + [0.05, 0.1, 0.15, 0.25, 0.3, 0.35, 0.45, 0.5, 0.55, 0.65, 0.7, + 0.75, 0.85, 0.9, 0.95, 1.05, 1.1, 1.15, 1.25, 1.3, 1.35], + [0.005, 0.01, 0.015, 0.025, 0.03, 0.035, 0.045, 0.05, 0.055, 0.065, + 0.07, 0.075, 0.085, 0.09, 0.095, 0.105, 0.11, 0.115, 0.125, 0.13, + 0.135], + [5.00e-22, 1.00e-21, 1.50e-21, 2.50e-21, 3.00e-21, 3.50e-21, 4.50e-21, + 5.00e-21, 5.50e-21, 6.50e-21, 7.00e-21, 7.50e-21, 8.50e-21, 9.00e-21, + 9.50e-21, 1.05e-20, 1.10e-20], + [5.00e-15, 1.00e-14, 1.50e-14, 2.50e-14, 3.00e-14, 3.50e-14, 4.50e-14, + 5.00e-14, 5.50e-14, 6.50e-14, 7.00e-14, 7.50e-14, 8.50e-14, 9.00e-14, + 9.50e-14, 1.05e-13, 1.10e-13], + [-1.95e-07, -1.90e-07, -1.85e-07, -1.75e-07, -1.70e-07, -1.65e-07, + -1.55e-07, -1.50e-07, -1.45e-07, -1.35e-07, -1.30e-07, -1.25e-07, + -1.15e-07, -1.10e-07, -1.05e-07, -9.50e-08, -9.00e-08, -8.50e-08, + -7.50e-08, -7.00e-08, -6.50e-08, -5.50e-08, -5.00e-08, -4.50e-08, + -3.50e-08], + [1.21e-06, 1.22e-06, 1.23e-06, 1.24e-06, 1.26e-06, 1.27e-06, 1.28e-06, + 1.29e-06, 1.31e-06, 1.32e-06, 1.33e-06, 1.34e-06, 1.36e-06, 1.37e-06, + 1.38e-06, 1.39e-06, 1.41e-06, 1.42e-06], + [-1.435e-06, -1.430e-06, -1.425e-06, -1.415e-06, -1.410e-06, + -1.405e-06, -1.395e-06, -1.390e-06, -1.385e-06, -1.375e-06, + -1.370e-06, -1.365e-06, -1.355e-06, -1.350e-06, -1.345e-06], + [-1.48e-06, -1.46e-06, -1.44e-06, -1.42e-06, -1.38e-06, -1.36e-06, + -1.34e-06, -1.32e-06, -1.28e-06, -1.26e-06, -1.24e-06, -1.22e-06, + -1.18e-06, -1.16e-06, -1.14e-06, -1.12e-06, -1.08e-06, -1.06e-06, + -1.04e-06, -1.02e-06, -9.80e-07, -9.60e-07, -9.40e-07, -9.20e-07, + -8.80e-07]] + + additional_data = list(zip(limits, reference)) + + @pytest.mark.parametrize('lim, ref', additional_data) + def test_additional(self, lim, ref): + fig, ax = plt.subplots() + + ax.minorticks_on() + ax.grid(True, 'minor', 'y', linewidth=1) + ax.grid(True, 'major', color='k', linewidth=1) + ax.set_ylim(lim) + + assert_almost_equal(ax.yaxis.get_ticklocs(minor=True), ref) + class TestLogLocator(object): def test_basic(self): diff --git a/lib/matplotlib/ticker.py b/lib/matplotlib/ticker.py index abac4392dca6..cc3b227bb293 100644 --- a/lib/matplotlib/ticker.py +++ b/lib/matplotlib/ticker.py @@ -2535,8 +2535,10 @@ def __call__(self): tmin = ((vmin - t0) // minorstep + 1) * minorstep tmax = ((vmax - t0) // minorstep + 1) * minorstep locs = np.arange(tmin, tmax, minorstep) + t0 - cond = np.abs((locs - t0) % majorstep) > minorstep / 10.0 - locs = locs.compress(cond) + mod = np.abs((locs - t0) % majorstep) + cond1 = mod > minorstep / 10.0 + cond2 = ~np.isclose(mod, majorstep, atol=0) + locs = locs.compress(cond1 & cond2) return self.raise_if_exceeds(np.array(locs)) From 31a8093a69fae98dc70d90df609bb6cbe62ced06 Mon Sep 17 00:00:00 2001 From: Taras <kuzyo.taras@gmail.com> Date: Sun, 29 Jul 2018 19:13:51 +0300 Subject: [PATCH 1075/1161] Added xkcd Style for Markers (plot only) (#11558) * added xkcd style for markers * added a test case and baseline images for xkcd plot with markers * updated baseline images for test_xkcd --- lib/matplotlib/lines.py | 4 +- .../tests/baseline_images/test_path/xkcd.pdf | Bin 44023 -> 0 bytes .../tests/baseline_images/test_path/xkcd.png | Bin 30064 -> 31607 bytes .../tests/baseline_images/test_path/xkcd.svg | 12164 ---------------- .../baseline_images/test_path/xkcd_marker.png | Bin 0 -> 22078 bytes lib/matplotlib/tests/test_path.py | 20 +- 6 files changed, 22 insertions(+), 12166 deletions(-) delete mode 100644 lib/matplotlib/tests/baseline_images/test_path/xkcd.pdf delete mode 100644 lib/matplotlib/tests/baseline_images/test_path/xkcd.svg create mode 100644 lib/matplotlib/tests/baseline_images/test_path/xkcd_marker.png diff --git a/lib/matplotlib/lines.py b/lib/matplotlib/lines.py index 1dbfc19e7dc7..cbd7a8224294 100644 --- a/lib/matplotlib/lines.py +++ b/lib/matplotlib/lines.py @@ -790,6 +790,9 @@ def draw(self, renderer): self.get_markerfacecolor(), "none")): ec_rgba = ec_rgba[:3] + (fc_rgba[3],) gc.set_foreground(ec_rgba, isRGBA=True) + if self.get_sketch_params() is not None: + scale, length, randomness = self.get_sketch_params() + gc.set_sketch_params(scale/2, length/2, 2*randomness) marker = self._marker @@ -830,7 +833,6 @@ def draw(self, renderer): else: # Don't scale for pixels, and don't stroke them marker_trans = marker_trans.scale(w) - renderer.draw_markers(gc, marker_path, marker_trans, subsampled, affine.frozen(), fc_rgba) diff --git a/lib/matplotlib/tests/baseline_images/test_path/xkcd.pdf b/lib/matplotlib/tests/baseline_images/test_path/xkcd.pdf deleted file mode 100644 index 290886947443e0d8997758b38ab28b54c2b33353..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44023 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%0D)Zvo$ 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 TrBF~nSX6+JlT%4snehJrXA{+S diff --git a/lib/matplotlib/tests/baseline_images/test_path/xkcd.png b/lib/matplotlib/tests/baseline_images/test_path/xkcd.png index 2900e407b0382f1df902de00b78bb8b17f71d52c..fd486c42305f3e044da837f92a6e1882ec6a73e9 100644 GIT binary patch literal 31607 zcmeFZcRba9{5SkTQA#Q_$fzU|DkNKzV?<`ip{(q(HzkR(ju1lQAjC<s9aOfEV;ox% zGLOB-_4>&7zJHJVzW%=cy871lP@nOBzhC?LdcFjz-IQmbXQf9FgaM;)O&vjKxDbT; z_AXlZn^@<^58z{m!xfC?F8JlS%j6k+zx#oLt^<NF-bMdVeUMGDfWK68ynfqJ!_Lgn z<*vOcVsqE=fwi5ZwZ%OyXH$Cz3p-n`3xeo>59}Nq&kKu*3!0cZpW`<d5xXmVNkr@{ z*L_FF2NFU;|L=W*cJ}5%yC$P{BM29QxprC8_4Rm<izi;IV{@9qEo>2?ykf@o#&IW0 zk~G)FATAqIT|WB!xijk5cY08<;Qd5&-J47wj+nBP(+A~qt#MrAXq)J0!SKXzNBp3K zW-oSUe>zq3(!p$K)|)sp6Kim>K+1#i!>MPudw2(~#stm*LBi-vbD7XD)Fkf9p`U*k z7<R#jZ}D3yD)<Z&6XAjnWacUD4)~Dk{ppK-Tg}G0AN_Q@N<$4FTz3EW=Km81#`Gl~ zX>0B1NS&FnZ*6NkbL4D%X@bdx)TX9erw;B84hc#2mfpWh0asgB$3pL~sePmIHKVby zu_E_DRyH<`3o$M2?YBo4YinyYZ{2ze&v<_HP%_;9`}f^b2LoFOJE^I5`d#+F^0s9@ zWSWhQt$Au{$|JMM=-damwo*h1SA#zo_~gco8!wf4PQ@&mR=U|&R#u8gNTfA2H7(vL z>dn89+%aHK+B+O;Qd#)%qjh{|fB$o#C~hqs9sYxXAJWnk->ND6esDWn;Ti)2L+p9u zr&r#Fb#`_xN!H47jSwTs(qJ|BMbe_84#9q4Eh;e=uIJ?B1YJ8p?|&uj<3~*cgZOX1 zKf(S)?RursRTMA8Xi9PDh_J#NqP0KXe%qR^lm7nw)u#KJS+|v?rKLwlN7dn<R#sL- zL`3kg(cl*^?z_6)rlFw;s<;<aH857Z+wR$-*>4tWSemG)sHL^Frk58H?rZt^Gt52v zK76mG6`7Wn#=I|pylkhZrw3oK><iG+)zwwA<34%v<mlL#Qm~<+VWM`1UQ$TNzKVNU zErj{SMXLu7)TUkU`1$#bQYfnH;uI@*@ztwWSy@?0)z#G!J1Z-9_<eP%%>DdXorQ%Z z_2EJZyjIiDkf6Z*j!z@`Lq>*5Mn*>L1=FC|xHzp_x55Js#JvVt=j7$3r>85$$H(hs z-SaOjD$+3S?&~8wdPFrpKc7_D#Wqk<B2zK&5cbN;5o&e+{{0BDD=)LUlT!}7fI0A* z`sM~3D=T~fFG~!9FI!q#@GC3spi^m?nK$93a13XkS&1Kdo(iWqF)^W6;#m+Spr1TB zY3t<doJJ%Xz!9T|ST&G3=6V0V0vtDNl=bLQ-IQ?sL^-ZEYP|TMAbKrLP2MAW(+Ugq zK#cSO-{JAvaGY>tt?lg}V4v_iIhjW#UP4qfxA!&~768AvD#Z*yTdS*|Nk~Yv^z>wW z{d#$RVIjFU#W?F#+eh8^TIt#r^|7L<gx=oX7AIm>*1jFoX&*kQ!6t2NY%IIc=fjp_ zV_E&b-vz0rzI}Tc)i`m7WIcU-EjZ$#A+uI8`EWTyGCbSK$tks{NS|N(<IkDFy4K#_ z%-&us!`{94UUNEH+Lo@a^vul6mLpXlSaZXb;9LeiAt4=8Q`6D09tvY`ySBFW8Bp(x z3<1%oUXLqEO3zVw>Feu1NOXAr{=HtdS#Xq~L0UsYgOd!of7*4laAJI1)5oXuUe@i= zbyp)JInavK(g+o=Ot+kChK7ClmIp9;pNt;uyYvgu($X>=+qB2LrFtj_+75S}2(Ny! z(VauarVkAbwa}$5@@RosoY_Sb6CgA%nz0s(eGLx}*KGRZRn53>Uo!oN+h=nd0)CFR zrlUKH<kv|{Pq&KL>C1oS%o%l;d2$L!2SlEhk)Z|7BJI-6(y`wxEg-K{F$aP##_k!I zn-&(E!0LcWExOa2Up4R$l#79pk^j*1q#!}UtuYEk$K2d}RE4~%Ha0SH%g&BKOGh^= z?iu$bb-E`ElmQGHeI6(@SU(8D($-en*!Vpdllsm)va-AXO^_Vu#TkBnjRE#uJD7Lv zP$w@>O?`srXpp~%MPX+LS$1NxeuD2qW#5{ng{nTNf^eqUS<Xty%CAP}M7>e_wXxB% zvP%E<`$5{<Y1U{Ev#5y32T(Ds4<0US#W(umMrJ14cn$_?ewVm(=|e(7f)oAYjScVX z@0&EU#)y++V;Ul?DlDc=_eD6rU$h-y?@LQN18YwTvLfu7!+MAX7E?=su#=N-fMil> zD~p~s6Lc|SKQ6gvGhk`PdK8}Bcpn76s|G*`^-~bGW5+aIT=EJF3)RW4a5C;59`UY( z-u5GO;NB8t3^bCJZ>gxLjMf$1JQ@BB4gmEn;IhsXH?t{HW;5TtyBFUmW9La++(|eW zTyZaz?S8N5sMnB_i%W_OMVo-l5VdN<+rBHX)F3~wvB^lj86R7?kJxyD;?U^P_yPQc z=pU@~Z=w*mvDCssiPoPfp%jP%mS(5J74R}+#qRG21Xb`Qsf+$#3Lu;$Zz32ykw{Es zi_Rp<e^iC#gU_-~xfOO_?${^G)-x(`7wer_BMyO}0<VeKbc(=6q_tXHD~cA6vx9qa zIYAVnG~8Zc>nuu{C4Q^o=Or?lQml-OxU}*Y=jT)N@^rvo^z`(MPE2S?agcS*<C8*t z)&^23NB7c-`fPZDZP!(XnFhO%D~nbq>SNuE6TPF!t8W%$imfay)dwb7X0S~oUT!{z zdjnqR90Ny(r+?=vl{q?UX+xZEOD%r<^$pg0*;L?8{yC=<@Ru&}jB^bQH_d}qgZcRR zmAo#g!qE!|2&9hX=H^}$-9SCS^!z=_RmpWT-#pKHtDD5fU*jGrmQwu^jR#lfF<Foz zv(glrJVQ_G=RQ+&+Nn*~Jju)eq-n#@jMvoGPD@I<E^OY=^5UqlI)%M=+)pRpV_<^i z4aF8$Y?brz<5{g8Zac%sa~=<+I8=KC<}-hTFZCMLNF-IsEM#fgel=1HmEFj{DYI+> zqCI@={1?97oN)o6=~z`e=X)!2BdJe84Yfc%sa72xJ_|uBbEerN1980%oLyYfQ&LWA zjdOZVeeJZ#>rr3c;dfbj?&nnr_#+TfTOJu5os!ucBWw;fE+CrOyK1eX5_}?DVf04S zVx-K;VT0`6O?Tti4L30nk(aTT=QI0CN=jPldF`S;rKHF^4E<>0@E8xT%~q=tGtkwI zK~-$UdY0AGZirY=Anr7K?%2MR-cTZK>+0*--T-1Uh9p5@fp7qJ(D|^6y(%(#(e21y z+8j_FQ8BS$`y)XI8J^LgKCxb`@6K1F2i-2IXiT?i``BW?pK|lDiw;RY^HUaOSX$?I z4;99aw)jLXzX@@W3;a~7m>&d3e9#?oN(1ryO>%Sdd+_t%t?#1|;l%f%*}>op9XS^# zrzCpf#>Pg=ZI3!@NLngIoyG(VW}?obQ7$zV1BQnYwd`f*qXf4W=?@ARKD%}TJfj9L zb8TywO7+vqypj@cKOZw|Yh_qh6S&VD`$0t~M@M`thQhxda$AJ8_1CXo5)}=uQKD{~ zS4Qe=i)nxG)03Y2gG!+mF<)9=Uw>07R5amy2)Kj4e-#801Hpo=I`|7c+}&H6n<EM} zdg1?ito<yPAd_ILuUI{|IH~4AzQ1x-$-%+FawNcom@IU1Hg>O$wWX)Lyu1d5rFY5Q z#eo<TF!ykQ_1j#MNw0E~YgC`Y22R5+)fk+T<?htQgrA+AXc~p?6^vfg@0E<78U*`T z@lS37cK2VTr=_((Ffgr)N{Tw0)cDI0wq?dyoHZZS?wb9**F0gd_fzWmg~@S`?DSsy zTNL;CUY``yvlI*jn{pp~XwTRDv{DQe`<~9Ou0CPo4l+3ff~4kErr;ao7_HeTOiE*A zuuF`syYwyaW`)N`3<$j>d&>GZeVd;Unky@BfVUo;h*jY}D6z3L5UIeeu2j%JoqsT} zT!NAkc<sttHQsrdg49NdkBRH5TKAV{25~<E>IXt)Ge3X60I~a@&bx0;5mQ|-E58|i z@@ps)JsCHBgas?;3W?_zzz87v@AUiH5}<eyuX@>|j*oluZr)sxPzO#~G3(VA_na># zfpdwQ3O=iGExm&C^B6xrbt&7D+>RS7wK{m>V$|p5<$|}<J+D50{@g-JXY^V69<fp| z;&PYR5p%C6-$=^%j+Ryu*p=nbkC>yIQg*x5R%qgSt^J-?=p<hhEg2jfOg&*)Cy@8! zuelqgZiI3mL5?fTeOJNlOoPVC-T<*KYhjz*4l~_V-Cp&9x$_H^xvzQ;lY)mGY`bjo z>X(LH868Vk9U9mSDa3a_dryN`n=Bm54Bilfl+1l3DOyBI>SIT?dFWX7zA<^4e&2)y z4h#vx=02$@x%yY<uhvBg)YUEuLR5upMY}}j_-ti+b6Z<fMA4a%;2VWsFON**C9&}1 zf8Q-VeuN`xbQC|*oRpCl#UuQjZI?n$&X84lhO)zSg^*(DMvmifJSlP0I+hvZzV0+4 zRvNz0esyIbFKK<T@#aY!VcJW~j*joJ8Lz!SpYfeD1EV#=OHre%_A*uN9)}1o|5$kv z>)G$bJZemdHuTn|<Mezm>Qo{#7IbU6hniQ8g4I_Ri}%W{bRAS2d8wfsG5v^9VRihZ z*Q5h!x=P88cxs}E;MjhbG+CsYx!fN1;P%Q)bkg<bc+)yOn{62B^wEtq^N6a=wa~eC z<CsmU%-`L{FC3mv*GpGk$~)2r-(&~SmQ!WjwvH!5mb`QNf$eeKz9Yk(R~a#qle|6l z&;MljT3O<}r)WmvUGPeR=Y=^7E_xL@u8fdmH;zj$z4`Ke-v))a^v-eWE9rMYTt`gJ z=kp~=PtP|9REjMg8R)*}=@9BJ-~l0WYLZUI@9VF8PWAGok9IE{l1dFFrmtzVxH!ca zKEI|skYy5RA!Y3;_%ae>xb*moYnE;Tc;T6!SIwRd6^^Z$S)7;=FG&je-#q!3wB}@L zS{m!(<x58r=Yt;#uB}r@^0H^vXQDR<^)bdAdrSWuoPGV&#?&-f+<lN`q}L;<O?!5% z>4Tfxy3a<HRJqK7W!66R$|J*v2I4$kJhVMuQXo%^k{03G=eijC4O~U?+-GYq<JT%R zc*ptHq2H5vy%$Qg_4#|ei*y%SNVrzcXqHF5j&n^UHoI3x*&6#ccqVe=9Dn<hc$|$@ zYUY<7pKlQT{~w4(2E^_BH`(Z;1p=Qqk}xFk;ia9cnMJYYf<q1Ulg@bsKfBNNxTnv3 z+p{ry9NxY>NWywxHa8ZNOXUTt4$~UH)_-9)dA_osVrhtDUT@*2@1+x7MP*mIWsCL~ zd%Va#&LO7skraK$!1e81m29ky)1DfvM@;g_Y1#1N9u`B-rn7uSloFNA<vTBg+A97( z2f+UN$z&KLgDt6vP4{2U$BF-9*N#@^5%zYN923_6E2w9J)zMUN={d#z@Y<n+Ipayu zKXgy@+F!s(ESrp^rQ?HpH0y?z?yYa@!9US`AYTBZ41<y|C)4Z1rErCp-NzOE@!8F< z-%pd2hMa6N=BB<6y$-$C)F%}06y;dOzCoDy<R{`&@}<XlVTKwh;~CBQk+q}lIMfF? z#n~O?E1%tS=0;Rk>*bB#&;1atX!TS`PK_07lv1G7yRVHInniz1N%$PgiXd%j1k(`O z^5fsXf5+j&@(|93kx`t??9q`N@{ci#W_;gfFY{o9<>Z}g;#7!aELmEbbeS%O<`5Oa zE81ce^PcMAGnX=z>(~7Ul|RW`y*d;VD%N|BAlCImgcExg`y;mxyV9J9zse{|ke5%= zxEWrutP&{jlL|?C;x6C-+BBU!2f3_(`C}J0wulhfUXf$CmNp*g#XG+z93uk@B`m&D zj}*_Y85Yf{kGwKgcA!P%_}*aajxjvDdN1o0H{Y>+`VBiM3q6z-{U&W4rBJC8HU&wo zFF*3~M`Y$-DO}KFQZl=<Po`b!%RWRd>;1nwSIF8AAW4c6zFeqp7YU}!L`O|pUySpk zRqD_+kLd^-wVYk)Ft5)v^73+?rAD~O|3tK(@}%C9kml#4Dt#*6Id*epSavbdkJl-H z!;&@hDedeEqt7|XM;W@tVnPUFANX&FcU9i%Z!D`i)Gq)1;N~@101Dk+UnA-<X|eB~ zwY3Pr&>hq1VQ0~LrpS#73FH5FsMTd<zTBy1#_}pBg$fIQgy{4-Fl3u6MH||Ro!0Rh zHzv(CDmACXkqJZ|ueAY^&&I!3KKl2{5&a_HlFZBod!8hL7!my+8-1HG<f6$lJzja6 zKSg`Tu5w;bsUC`pBiohQn8_a!%8fgWARRY|QR0ec0zRcbW&`ILE8ACIU(aI}Gn{Ng z%mGVLlpHt0=H)3Ru78}P_;l6pL42*>{X5Uw8u$CU><Ftrml?!f(a@cj5jIy8D(0Ff zDRLva=eV8o8d2ZcoWQ@$DTuH}mcL98c>kW%U9h43*>DBtSbjiT<BURZFlit(&Qup? zA+zt2+~`Ek*23gqVXXTD9G#sNaZn1LHCK<#EUfJ&M&ku?!)%M2Y-RjErefTOj&9<Y z$cAF|cTU_z1#sc|zx(DgiP!HK8rq3RkY-oLNT;G-UD_WuS*+1tdBd!;6Ms5Uq_IhX z)T|np@dC8k<lh>1brp7;zsM8s`i?m?j%=PN;58HB>~Q9gzK!WkWk&xWV`G^SnZ!2R zn+Rg^_}{7jew;gy9EUGmt0?cX<u`Co?ePq%KP_{&vfW{_!0h4<#P`aze=Bl5EYejt z*cik@B9~5<mW=S^cGvq4gf3ROIclzaJN)Cb7=q9<%<Bz7kRbK;3SulREkD1;SSau$ zMW{x#*_yp&x)~<3ZjsK%lEb;K07Xzacy3;=36Dz%veR#CIUz>?m<wXz=f*&_@#VFO z#VfH!>%;sQjTA-M_0(3!AgpeTW25xOLh<HGv}3QEvja6^bm9Z~^T{w}o`~ECU%*r1 zNAUyGmjb%}wEJxGPvpP%8LIl`PdXmZUZ1L2JpJ@bo#4iJ6$Hirb~CZl2vP}emV8C^ z@JU{Zqm7NgVTTa6BCK0|Rd<01=kgrHX&u9fQkm&%Hx=m+X4=u5@i+gjy?WJeP&uei zMGVs@W7U6D7|&1m5~s=svCyL77?X>OQWb|4$4xq<%(TU-<1$VEGbjKQZ~#>bn5%b3 z2}B4MR{MCZP8_5hUp~A`L9FkrO-X^<`r0gsMW?-fH{z@E7F)NEb-(;s{aodPj3R@b z{)bnT2sb4#op!QC%P&7y-WbU&QWicD6Y=*j*aG0(Y*&d<>>^wte@8~bxuF!%Z@{|> z=yCV>lm^Ddb<Ef9OkBe|e%;B#aWp(c{01xQ=dGKr{JUvN@GoFwbur8-Z;y|>5MCok z8<<U&eJ|l$E9;A0Y}H9hT>oJ!gCN$s=JlK*I=zG1`yjhh=GsyfDb6m|wNbkMt>1&I zrb&=Usk^~W1~`={#m1tiz*|3u69%O?@VtT>^ZP-&Jx_)C^gWFhMfG#M>-~p^)THu_ zQ{wRi&x&$CKT?NzS3Mo#JCAO^_MH6QkJ6DD$;p*)lc~uyi49l2@N)#A!fL}wnmkX6 z2Wf7E$NSHLktX?xAsVEt=oZ10j^WwKVm|4G$c9WMp-8NEN4exUm)DrS^X%8B*H4fJ zqgM%y5_Pfy><Drg;>gzJem3no5*}EOdZ}M$V}|z()eASWl^MvhpPC@%1xBB}n{om1 z)dw~6qb)zMzP^sbLoNYl6_9m)WUhHVNyl)r5cJB~;al=fYSKJ8&fJN++4ro0C8}Uj z|Kz`m@IK_)i6~*deR(}R>%SR!dd=7zs@dtkFLcEX>fqeC)~yV);}{WyV_V0_w*WBI zYrszl=nrw)p2moEb7^UH)X_05##0mo1b9j|y&ax$BS`M{o}mil#=KRlw&(E|h<Vu{ zr4e+aeyqSD$!jqu_8`yOw_mNfeu*#Mv2bj`f*ciKRaYRX{)dob)X`vQP2aV)O#0@} zV`~-Rz2Q)_Y&3K8(&bJk9j4NiG^n<nXQ_~v7h!n-*OmSK`vD+xZo$9GjxMW>`xHny zWJPQBTluxMc+QQVKI=V{3wx-MPXYh3#;~beOC0lD?&jAgkOxC?5@=qJ8~TwI$9N&H z&zqFs5xX=`uAk*XkalpKXvTI#r6@xmi?ux;@ooN>AF0PBF24j@I4O~x#80o!^(%4k z#QFd6e5N;+37;069fksi3&-#=!V`mj<10VRe?)T==MObLMv!rcqI;n(CkgduWu1Q> z!<_8U7+F}TEM*=tmn76tPuIb+>y;n3wCvhj@%sl6Ur&e<9IX54@OFbkHk7B+ZcBF| z-&E=TSw>2~mjg?-EsAlSzBf{`Iu44*D-Fka6^?U`E{4SU;9I4Wv!eOy-=!rhmf7=y zL8@F_>q}J|V-%l6^UDab3_c#+;;tRksn0vR3|ZrxzwRW}M)Jr^$&IudPYn5WLvS6@ zNW3r|XSX732#qV6e>vg1++1y3OJ5&^g>O^c4y0l?o=iftZAna$PKDt9u##E!&H2Sr zp@%f|NSNxj-vL#{s6%x;sN79%KFRL#dUK^pHp=YBr)b8RVd2E{!pCtP2gbtXxAp<S zZp&GLFTkj)s)oW%i>(AjrRdltjYQl{$$DFvYQi3&xq-yZZY&4lOWO81_ibz<xifUL z!A@;g=Lt!Y6p@Dp@qu;uK}xmevix4ZXm~chbN+ycy$teYe`y=?>v8Xw)^u{u{OD6Q ze7#s+G~+m=KU-dLFmk~jH0{toL)dY6E;-&K^AAJgN8MwWZr6s$=*3F3mhU;F05PD) z6G4(7fk6Gsc_$muoO>1Ybuszi57xgA$HunLr?qHlDhwyu^_$rD2w#Eb9?Sn@UI3!# zHk3<ewHGQ8Anl61P=S?s@O>mj2{H)psmmj!n>k>QZ<e<03tBVWe21Q+w?tz{DekBe zM3-8NapoUCc2VV-NdwJtN8{EZdjC7bU6jWhM~-}Y9jM>ysj)Jms&b4TLpG=)@h_FE zXf;1mAPM9t)J3D-POW>}w?Oac;HqMZ5|7Fw@eB8`hOTeFOyoK{Jl5CKThk2#&nz$d z8C_HUe}2x-=3UbV5K@-Wqq#p3JPGHou2hP_BE$?F!!`A-`n&9+B_vVT$cx>UETD)O z(yw1{;HLf0F~hG1P$ey`-a*RwqHsFiq~G<<N`=tYHvYQ<&<u<^z@*R~8?+uT>ZjlQ zI@{>29V^{sEAybM!#s|L{?zPiXegn=sDK0#6-E<@bOM7m=1|SE9@i@%`AiiT-zgko z<&dhXByO&ghGp&gwbJpDlb_HXUE1Ce^vnPV;LdekZOi*{@GM4RLd2qIVtmN&TiC{n zpDa2G#>S{}FrWS>#%o;r6{OptiD4zq<^dU_FylcbbuZ#v4@FOfZl_7K0lv|*vfQqO zPkQas*7Cp~q09TWQ^0GrYa@P);8ibWwD$!WqU&_1w@I!&Ey5MIUE2WihDq|suYV2* z!AfLcit>4LUxevl85N+KX8qBIQ3<Z!ASU|uYmCn8U4)>BZxQ-CC%V?Rk?ZqK^c)sS z$(mDO^_~H``w=<kNOxis1DL&qr6rErDe4!-vQhf<`a&L0uO&aA0w0t8s4rSY&4q`) zTC($r;P61>t#7}2?Yv$tJiEM0zc3}G%ARL=kw{sdb}2dOe`Ue`@?Cy@eV5tCc0O_F zI~HEr6Qcy+9el0LqK2+tfA}hpE_Nx%bJ~cqGe6SJ#)o>hly5H4Wpg3E<9w~|0&#E_ z>iYWp80g~Vy~cQZZLWHI)|?`BPUJko?Ag&4zjOI3<Ex!ih>3h^n^ng(sQ94kfKiv1 z4;WOQ85Z&hPw;9h*SF>Knttv)dwKfOpZz1>IWJDbk*Uhsh;brv4|yxx1-jrh<~y=Z z{Ko|#b#|V?psgeHA@Z^_19qN%9gHU6Ck;HaHdl)JOb_iq!V1(sl0OGSod*CmPSIS^ z4*YGCyh?G08R=maxa<n^hGP~1?8<A=r3$Ljrs&&#^XIq=97Z>#rF9AeeTpdIn$S9- z#eqG7VQ0>a4?gbK)HZY0ntdR+3*pj8(k2X2Ls51j{289q-e$9G5B^-ayM;U65!d6X zR=iL4&dSdK<+c9jq?4iTsG+tiref<@Ag^~l?6~Dq?I{p%u6-*{NfgYG)?}_O{QP-w z^2^1GW<s!<yZlM+0y^kw&S<#P(2(lI;w~}c8l;+SWq7@_%`in1X8k&bk&~r;sHneb zotf7YYyweBwkNj>{VkfrL4fl76HfYKfu1dhqvzqom|=9#TH;ZJOI|SvTXzbU^74v& zyt3j}nmT;Uqu|Y#@$68?GAbTyp=ROWp`v9-%Qg5~tO{;`@YHy@G0?}%dX1TsT6{fM z$;Q)bC1f!ipONf$@Zc^5aBQU|bLwUgq?mN*=k+qt)fBy{f=0MDUKJpR49?kcx)~ct z*E+IQitUpe2ZGV8fH^_^1KD06O!+f^2|x5~p+5=lVP#dn9?t$E%R1&u#UV4gcTkz1 zQu=ZAubj;KY+~|(a6II&8F@dne<H{W`7E;4a@pQzS8Hq6N<*Lz{5<AQr9j?NS7L%a zeLdayQnftZI8^kZOWxc7=a$dB9Yn;|(V58|I~aTenw~-!=y|8{z59Ot=~IX&(VbmM zGxjLj6(ek8?ysH$i>SXibTlmO48VdN!3@YbnTk7v!9BuU`!JLb&+7@^rm>7QAHSw7 z`>F_=uQYO142;RV-iMS`GCL5XgkEsX^v7DQEsbYS3{trY7OTzJ>h-w3pBsup_y0x{ zwf@^W-vL6KBPsFpTAUsk;LM9-<ign4B<~K#U%Rq0>5`EQet3U{9$}CPl#V3ySB}f* ze8hO+#6?+|v9k^wG`}9tHb(2|DSK|NZyXhcWLqJt&1xAnx;Y~LxvAG(pHfE(ktZ`F zGDM1GD<cP?edO^T<=4uJeJfF@dz<91bQkD5A{u~C{BZOPPTG=E+9z@x2Z&bkZmK)> zZMtUSQQY;36rsaA5F@XkENq<^D9~O;MkSP1@jUr`f>>jys(6JSYZ<NocalrVK<P&B z;`ksn^1$#sET!^;I5$VA5)RtfXU%c!bx|0fm54yurOTi~5M`{Z15d{~SaOeKRiPCn zS}(Y;=o8IoV7n{iOszBloRi}0P>j<&T02X5?sI|Q+_#pzx$^G$)=TuWTCKJm=_`rR ztn)sL>2h+hl4MJXGPI`svcABxu}(=kj71|xnM#Ew0Zn1UfEs{N4|b8zqw-j>0EsIX zZ*Gtd>EBkNYsVX@K|EX|!|}-aK~<6RYE)Do>=9Jv6ee7u+@2>!Np^LhMFWJYT;3$F z)MahlKb#ny;L%_yfgp4&8bq@_uz2W%ox%XJ3f@FnK431c@0DvU^T-=Nh?6gLc)v^r z{*_&Nl%t6tA!nl8>v>TBz$n_<+N#^YExg#v@1}3U>G6?o)c4B6@&g-Zt0~^*33OCQ zna0`qSQYTr&^N*1A6&8)kNDC3Fo2WOr<f?^TeFKc>ABE?VWLYyhbGXKQe8(yQFl!u zlTW99%5(An1avT3rMOOzv`-S8)2kQ8A>lG>cbPT;Hl<-i-PNy<dmqTw0Cy=smx4Pr zE33(#Cn9=dN<5pBS95TX)aX4_TJq<h#l+V<#P^`i-uYM?Sj{wt<(ZZ}?yl`po5wL) zTBO6J_r*B5m{uoFPh^J%_Ic|Uj_{yfrCaUqeC!@rQU3(Lfq{XIctp+egk4gO*iL}5 z)vx;Xc={^upeCvMfKM5}U~#`1tvke+-HAiga6rr}FMH!%R;FKzFU%mH2aP!+WH#NH z2)B>-IBjKh3oP3gf~R$G$R1SY5oC=#boSgs4JLD+H?H`^5bq9C^%Hl64kNx^{&xrk zC+<s9ErFnNjJ{Ial&&uTF^Haa&oE(Frxe%!kcrdli>9sxY((F=t6pl)=lkJkbA(aa zq=6p%SM+o8<X5bLK?YDZpeOEs<v4U#uAevn{q_5mFOC-W2k|@pyiE6S|6N+@8j}ka zlDidvWCl$hcuVS#aqUY!lwrVq@D{ZCO-++fCJJ=AvDi$v*&*>}{ILhVb1fP?8+C^G z9v5&6VJgoLVOA%t`g@#($*x>RP$xou5FKr0{hCe|KF6SS*b=308#C}R2z<p!U<zny zXb8WRjZom$1h&Ha7nOwfS7Rl#SlJ^l_T6zGW)Bi(jy6&6v^Z@seQ$Op)aT_wcQfET zzT+64h%@|g?Gd{H`fdJsI?x<)v%Wsr-?G9@KD-4pWi-jlVfd4w_+`22-8+5+{!K{F z{2aXp;aa^xykd5Y+G<aHVDF`;p-1=2uTeHP2+rLP<xf>EKe2LiTh8C?y5qhW|GVOO z5~EkO?M*qsy$mr&OP~x>`;9wAdT}&2n;J2J==yWIij#2d#M^%)9zKpx{&0m4|N7+V zIt1+#;V8ESg8Zn|e&yF}jQiz)+ynq?vv8x-`-$AHo4{RBg9H?aPEh+0!ov>$MdSMW zTNT6<BKuVTbMM)#)kzUfUTkC}i7!O~O1PNmqQOHWMSVH(EC?4H+F9x>$BseYjbA6T zrEg<FEFOB^ZnYmTod;m%`tw5;eO`;L`y|KTkO2d5mKboJsUc<L#V+M`;hAoNw+T}M zSEp}%JUBR}Bh;lg{8$GaHP8$F^#}!(!2!F%Vk@7cwf)i3`<jIm876XTmMC9P-;Ws5 zSGqV?$SP`1qd9mr;mSwy9dPH*faZb00XOWd`2}xADXxlpJR78Fe5W3m)$)Ux8gI|p zdaw%QkKyq)E5UaFIJu;m0rO^1xss9`x3+|j7$2ni(@aJ8DrP^%ef+#I6E(ui;D4J? z@C*P7=;-6<hcxR;H+wuWqz1`2p*PGs{5G<08XJ?O7g4_uChM<FC<uaUdv_Y}(sg#b zzUNG|4<bq-Y$4KZp_KgZ*76JpulIjf0hs|u|Ni~tC~lHSE)Rb;S0U6{Pgk7>%`};f zhfJj#g|ckB5MEn<O+vv7^r@Nj!NI{%!X00_Y$IstRMrNCW~amzo4X6V$0um%{^ymy zA45|YuFP+`HS&~gjclG^A#}Jbxg)zi@GlOU1#TQWpgf{a!aA^{c0j(#r>Uc(-(WJp z;ni}iga@-q5wgjPZ*@ehVq@`Mi=xw@c$^zXXf8O(qDUN)00^zTjpM_CeE|aIpC9UA zN2<&dZG;%hc8)N<&t^M>Fqd9QCEtNo#xo$wVAM0dGinyk1kJ6@^7PtDI&e^{)q-D2 zO|C2lR}sZajRff&Z?W?CMR)l!q0Wk)P*@w<D5DQ8!OMYr0@iO7zrU*Yr5erWy3agu z&)BbaMFPkO3OFci29?|FmhFAUdY;l|ud?_$<-JXi?L({RZU-WkpBbRLBODw+DAd%v z-C(kwS&C&ndVcz-`76m%<i}nG)1<&e*T+|PQ@wdrfF-cd!^ZMGFIU~$$|{eTj2Unl zTsjM!3pDRr88h5cIQHnVoGaTfPk2uA9>JR<(1mL0u;@P-`Z8G+JkhV%_aQR_hMS#R z>v#z3;C^I++ewp)k|zDTo0{H2zF&8A`Nj>rP2POt#_i(UkP?4P-f<}<T?tC&@y9t8 zhe(_2iOjp&8vu1s5hPprKRvpi&XrLFqkitlmsd3&JsyNU&tngedb&?CDk>zI)mN@H z2b(|8AVJUT=Jnp9XcBOC&Imf(x9b8#?X>K)p`m9M@eV>}w|~aDB_vKA*hu+b@yet< z?!T{$1dAybld(g4%2w(VCWMOIe^EJqr}n)!q)ya+c0{@g??S$KDq;)jD_vIcC_wy; zRvbqn5=8({Q4~UJcF>M|bpp#76yb4c0v_8T;c381*QY~yHh$5qHz!b8-(Gq9WU<Fw zh!M)Fg4^5I+6_i+_(rJottN09+V7TJK?cs7hx}Q0D51z?^B;mTHh=rdm%vK7cUbW6 zVQkpO6djY#FPfooMkKDSg&Uf_JlL#niPv`^%rfNBoGXx*@3NB=qxiDL2^RebEuCfv z9RBD#z54C&n(J3;4>tt)+?eE^5q3*Y;#*u>w%6s&c>>yTaLul7lm30QEScRg?2iqj ztWQZt11q9->`p3~9yJ!=dz`{dyLMZ0$Zi&J`i$vsxH}^Q&F#Ei3)!fWxNo?jVf=Gd zq<h9sNc2w}+oyzs{#4GfD8YF~wYUq{B_=Ofr6M~g+Kty=^?X9!xaO-7SZF};fD)vL zd;0Y0$H51KksF!PDe*iRD!a>eu)BZI)G+Q}o=y6Fck9{T{oON;KyLiaS-z*~IH0{e znQ6F&OWze)<!*gQJ+JbN+sO&DUAsBAXOe?<!on@vdIi}5IhmQYE55~gOk_GWMbXAa zn}h^aMwk4la_P0$63Ty<Lo&+U;r7A8NDj~irs!y;;nxw1%)alkH#gL+(gQi&t_9uL zvWD07?isJp#hA%^E%uo0j^bv2_++kRaZq~ao4-%44E05DGcaKG90uQpgo&HUZNa?& z$>0EAh$AP)DX(O6;v6@Y-PWh&ZYjyi4`&vEA4aP8>CfwBffkp)<kR5Bq-$r?jx_@Q ziT7ErEB6>bK2hv|^^sC*S?Jbq-&|E$8_x!;53L$ZDz%B)){sCob$6e|jE;=dj5QMH z)MaH>$BQ@azxf*(iK#kf+z%#^;DI7C)h{yKGumMT@3OLP;aWO6V)7D~8+~GnKI6W$ zYLi}zyRA0K)hNim3<EwpeOxdcJ&5%l&^K`S!Mf<-33Kd2f6hdYOy<2q6Y?~tjN@$Z zkbq3{6BGy~mS7ZRe>y&pgARZQ%znH&j?v4t*2Q}FLK_7vI4~|2U*Ir1WBdsBQf7~R z6+0TBOnCZW>u7*lRMQB^<FpMi@W>F6u<Xxnz_oFV@8+Tlk*Kw<<B#e2bmIoPg;%dV z$yOC;<N<yf4*&M;+t+pzZCzG3Wuo!5iqLqlUm5Vlkx3`&V@>-PoVRg(xU0>o0*x%c zA6&}GbIi<hE?Rfy1DowG0QBOf&oKmZI^l0sUauu+M%kaiY%IUoHq!F4E29U8@maWf z4?LvdLYHc%rvsDh^b=smpcPX@L@1mo9235z1gmbVN?rrOiS>z0o6DT^n(`B0y@ilo zMz3ab)!^rz8=}GUocJ;v5*XOkVm{)1k=X3SaO~V`cgqIvy}t98mQ6PA>8R)6#Bj zH{Y|xsse3QqYwtXqU5#bCV*Z$_b5x520@xEzI-0JXw)e(QhidTyTih{oEl+{x<j@~ zf&g>8VDf`qk%}U>vgfzm0MOrr7X)7#J|<hzPwyjX4e){yEjQYZ2I^@fH*m7e*F8c* z6vg_i`{jHGb$kURDQCS_nt3)BOOvWNvSarlMvv`v36T&v0z@ueRK!V0N@i~m6TLfM zdkbO`S6_oEn6AqsM^g3(P7OdiE1C{5>i_Q!SLmqqKQ0+OBrCK0=cA7Y!ZcOTi0QJm z>K{&sz`9jHz2v*Q+LWk$1{4~XF6y6-Hn#8eL(%WY*f5$$ckZ&O=~%*7hxt|%z*FAa z=xc%=Oo5(;E7@S<`>^50XXd?T^IbHro<P?kN55ta_#Kh_XwiJ+bOKck+CAUKU`;1H zcp^v>d8>p_SsAN7Ryo>lcSpW7D@#e8HE@bV#X1o2+&!ZOEy{tHk7Ew4%3hG(+;AD0 zC#$SYhpvt_P_+ZDz0!5p(1+O4bQjhA<iU4Xeo;8inu?db>@G{7Te_>c$Y+p_kH)jx z%FvcaUE0OqQ@2qDfdVuDxq<8{#@}aWa;<RFn@L9t7%x|}O9Xt+7XG5%Eclq7iTga) z$ccoV?8qc5f>~YNa>>9f*Io8*lo}8kxiqJ?`A7$ubnRRHF|;4Y9ITkvV<yTD+z68* zEdO;>wjV#f1h2$kI=Jcv-UoUWri1#_)sN=<b`wfEe_*MR?w1qp8O;BH8u_j91>qI! z_wQ&QC*&F)_)8*^NWtgz1=1tB*rn3VNDkLBG&^CaGb3uJfvgTHOTIbzo4xxyMpb5n za7uPg&0?aI1qmtqdqQ@jqw&X~P6Syr0gKXt<p4KawIT-lbFq7%N}fHkDUUjgE^+C} zm(@ugZ1HWqPg{?k|L@T_@5`aV!73}ObMwn}1U)@`qxZ$;AIKj)F0>)HF;*vN3^?DN zm*Cc3Hu*BY4d9F_&VE=jwUdt-U~b=O@hLfrlz8PelG1ighuA*?m4R@bn*Y&y#z&M< z=5LieXFTQxGQ+n&tU<ETXFWTyqi!ei$-5(stf<RXGqBq57x?IqJacDfUs<_&b3pVG zuc%nuX1s)!Udf&QK3cU)klSSB;-Uma8EW+HF#5I@lKhD8X|{R2)b}Dz)e4<Mn-RoU zhXpRw2XM1H?ysj)yMN_4^!-!-cM<C`L3O9_^DRQ8M6Cu23-bB}T;%X>4>hl^6*-Aq zeEs0D=B>N^;1VubA4a;v!7I0bu((SWYNjD_Vb+%c8>+WczN2w+B3m{00!^5zjSVSW zJ~qEdA8H9y<ve5Btf1>$3*0w+jY|uV6r3DiExqwmW}<#`&TEk0+jB7TprkalFWZF- zvK&qSOXZX~fR95NCC{=QrTSz_Hb|0Q6qzpFI3+#(1ho!YrB7Srokux)h~Ixt;WySI zRAV;<_#+njWc78aJ`GwK&JK(b^1uO<MOzSQS@);R&CNmgnw6Dj&0Htrf(zypAU;XS z$<}7HWl#MWqjKB7m8(h}U#Dzt1y5ZfEwoCH1MwP%PsTVhj?@ukRy(Xsca$XqDEBdY zjci@B2U##xCwzsCDFAaEMJFD9^SS7?+H;k$Ui$`OE%|##>St29OZV}N9?zYK5r$`; zbuYLsN5~jrmtJBG6M-belOSWzX&P;9PFoh0%(K;bcftUj4|e&cMI{&O7YfUOf{0Wu z^cVcp)2GT(R)<m&X)1<VG}f1*^wIeJ%9BXTnUr>QWp(wGil>f$O5%cX!X^^b2n?+* zJG=hAP3%ge59-d7tUu4QdV(2j0X9&-?OqqRTh=<qJ3(}TTGvRQi;LX{s0j;Q69Abd z*=}F03qUtMP`YJqp=+b<b<qUR^%Divdwp$yA>dqr!@JGmn{K6#AaXUa%EYHm|17zy zv$JyDoW!Xh{U^-Yd`B5eb25gG<9`2O-Fl2FBIm7=jQw5+)_Wl)LiDiU+`xCnM&}#I z9bC!Yu?9&%vyh}05kG}dh88ffG3s7k>-ih25P4+RYsxv7d;tqBsNL(kXP<<ErR~M( z?~HK*`BccVXp=hw<vP?tCKqBPbhC4EobLFTeWm7$5t$zEKyQGt3jE2CbJM@xxIwG> zPov4GXz^jl7Xb4Gk}Ed`qWZv!aOrX|XZ9LBFGJO_fhw0iD7O&a>k+BsDJ;}DQyllx z2m~E1tyZ4R)l5N)rV~tdxiMdwZx;O6=gSYYOEgI;z8~JwYYV2udx|N8{K*@oHRu<; zD$2~Xy|cLve2z}qJ3ucK2iyd3alkJ`rrTdZxroaBrScc-_Z2wCZ<1OL#Q~jCOK&(E zV<MivK=Ny?<hVy3(V<dLGJ7}A+6L-z0EPi@m3i;4*b(N&vw0H4H9EZ(?|@#5axOoE z_8W>h))zp-q&rT5_>=)$|206<@YC^W%jHa@>SuxGjZw8r`a2XALHb@_0wXX0pK}@V zs1xpf=QUt&YHmJh;d$86J!^Woarn$hL{M^+S9VBzKT;hU*kaXw4$|ps?{8t$xes>y z^??qp^hSPQ%FRfb<(fO7)z?7-_i;tyWj8yHDbpj>8Pjc6?U&#lSN8ejHfF)wTnvnH zOVuZnW@gaKwR-p7zcAAG3S`sZIwoojLGxsBK<q`)B$q~M@7E<eXyiu3|Lm9bUb+i~ zg<R?pJL1z|*iyM`@*I#-yjS&^>~dI&45^ZA7kiQ{nw8gDG|U2d5H6S7k0ViX$yD;( zMd!<XPSLuS$1znLb-(@OQu+CX>B1GwEQa2PqShbO14yMcEBfY;!nbel5=#@66-(EW zHdpcoX2MwzGSqBUkn^Kju`@1>d`<?Q+ul+W+bAnUoR11z?9~Sqn2kJ&L{DS|{2|&% z&A$}6Xof0-+3P0>TdR;5g_)E2jSUsC<>{K!!zWK7{%_u0=``nLBIuq35FXWoS2k(b z?@MU93^O346`{Wi&YN$tq7IFG`aTnL6d@;3p5_=m0?^}4yUj<q5;W!>Ots-)4sSi7 zuV~rK!lb<X^lL6H?IB@dBr{I5PAUxAGl-nvf0uK`C|jD?1RS9EZ(Ak;fDxsyd`Fun z-rKz-o90&`yoo9C+;r)tO$iXya<beRn1CXHQ0_(HYh6_Aq-I~t^=-y3`O@GQi9(@) zRJ=#%j{T|{f4URt$lJcy_u7f@AYj`{lmcqIj5$5X4;vjSqgj7tdK(GzVoN8VJO9Xp zB-yzyw;blToNa-e0)uEce3DZAi>mfl;uBD52OgD0#v+sz_3Z?R>$#d(!TAM6t3E{p z(f#xm)>O6k+4s!S-oEC|mm2qF5bN7qT);*Sl$WpXfHqJ*AWG+rtt3NAWJW64>Iwc= zNU14$%Jg!V6@2zRL02JZ{CXw!09r^BP99@tkL0e8JDnjtb_2Xylo3@~<#=f+S`+Tv zvo=vgg~aF^5}($f^Iq4lUq8da!J&PD&%hygb9Feu>Np>=GbQ<k#F7z{i?d?sCUHxO z#YNcfe?T@|`*(e?p5VKO4kc2ed)@2SdSzA>Bq#5m7e{suPJLf@-S9+pI?K%k-T*rN zBrkCey3#AF>xQxvDW%<1yb5$2yl!31vTL78!*?QF4kPodJg5f%2nzRO=Y-9R;#Tc3 z8BKa5PF;Ttw8K7Wu9hDvHQ#$UEaC19xZ4AIMOBk9x>s!e`lh7HnE|_9Wjm5M6~O?Z z9P+&vfnLUI$Nt-?1%@MATZfP=Ce<&mnSCES{(bBH!+{G4liqr%!yk5-95{_ZXT?r5 zy&p~_Xc?dMkw$oIhm<YA@=7<f+~>8>_SGV>(ODb$mHS+%<Tk3B|2u@bx7ZC@ozVY^ z$`-KJ%nzAj4V%d8!vfw3gE#057K~0oj}ss$KviM>D&@hYk1+LGA17uPFP%zN=J5Az zGF3RfiX&pHH;Dw*MW`xv*_?(peXej#LY-idbvNDK26K1ulbVDOm<5dFM&Y5&%-dP_ zfL|9PIa%$7Md+I!(J5Nl4UN1FfQf07#;H$^-498zqQJd{qWaK=aC(i2{gsrs#S}Z; zpxyjabxE$S4As|OvaFOkBjU5r_l}?A9$6kv3fTu)4==}_!?8nGFGx~Yu8Lm>kEo}4 z<V#CSYyV1R+89Iz^%M*%r5+7aLB|!j_E$gDM(DM;jP{*c8&ORHTNEq3YrF^Pc-XAs z?McEc%v9$Z1M3Zr1k!I9UekcdTELwl^8myH2F>F2c>2g>bIG2^0LMIo##&@#<Os!Q zvj|2iQBnzvEv17S0sDgX>8-7?T+`v5$Uwg+7tV2W9R|rSELO6SvKwPv>jaXBi@9;C zxiF*A<3u)KTek!1#33Q<$5TpCe>pdo<P$FN-vpocAvLuLa=J<4BG$lrd9c$uyWTow z$D6W=!gRj<z25pO&`oJgPs+X6rAx(Y5^XqHWuBmWtd3C0e`N1y$?9bDV6<W8Y@=+S zv&7DfCxUEwZjHWEYD~V?yZ?)by5LMAay$$Es2sd@q9SL_vUr<l0+Wikb{$qZ?fRI3 zDn=<I@WuX=!=+)xG-W`J6FHvr^dC>+x53ZxG+;!?tlaVu`v@77cIKDZeZJJ9B7bB( zIraj{32LYRm~nvl;_&+xYIlTP-(u18aIi&87Bxb(LElX9nXn^zEd7SAfb(pYg7r}t z#Q*nm0sObwJ6<b}n9e`H{g89Fw$g?zl*gYh=4EC{r;kBeHs`^AM2L3<1-dxkdD@6G zAr)pt6I&35>?WT87RB}a2mKG@qp=sJZ%SgIFzN9`>AonBQbbe~bK&ruE91!>zS96~ z$(9W419!nIHKI?!K6s?tshjpcc%<muHw^g#I}V`w)ZqFRDwA6}(IPgnB2s5_a$_e% zt{w-WJm^U$C~|Im3N&vJ8K#e%@t^~8<T=nEFs_{3T*Z3^$9>0P?qaL6rF&9(<pX#$ z=BNCbQv<V&LK8z*VQq&XrFCVzn1LmB+VdbmO}kGoP21#k)X~V@y$ucgVGbs-i;AZc zVQ)IytalB_4z9^FaEUGS=yX~OqhJP~AYydYHvjSrhr^{=Ws8XeM^3@G28s<#3*MKo zL<-cfg3v(?tg6Jv+2um_)TQFy##g_$Y8H0HRoiV!d|r;exp~T<GQyl5aq~j(GZWS@ z*KQDAH*oiHdClWZ@^LC>jkXs7%}^ZvzKA6%1k1|3Xyy$xYepGp6(W;I*$ozd&pI^b zL_dH2Ke#j`;D@7+&jzYzDB$L=?e`)H{(I`3i*R51yoaVPFKu5u)tOQRX1R5(^x{kB zjtU^H1k82yL3-h<pIJ-_jahdUg7E<e3s3g2%E>^R5ePg4=*D0Lk?zl~Sukk9vr$He zr`h)@E_8bh`;+I8KXv0BLz>1l#}xCo@SptOFq5+MLih*6o{vCNMNjPaW7;sGuWuY{ z`9OaMjIJQ+c7(02dwN94nrYE;e$c<`QZqB7xEc2C(`(ov$9L)X4j-jn;N?FJ0I0Dn zvxstW*hhhMzUmdv4$3yA`&06MIhp!b$5Ci2l7C$?5m8iy;O9f!T$yX080?q$w;{ak zM8;F-MbyP0yez|slqz68>xS%nGbgqF1tn~3l%K|<?KT;~?ZE&byS6b?S4YE1Ep*nE z+Z7*|o_`67*8XrJ$J?_3`m4M<wngl6nUR6P;zd^&GQ;h4=+Ce$TH;AYoek&k=`N46 zn-r=qUjZT(ip!uw`>rM?<@b0H#hT**3Q!jJn<qxXPyjgRYC@dtg+?G3)tp|9(=b}! zmfOr1pXn_uok~rywk~P5Vb(Au@$ud_`N1y~^7?H1jnpJYxQmvVssHViyUaosIU6IX zV`(ii-Q%JJ#D2g&+-BO1NoiU<GJp14jB5Umt4Hd6O89Ag@9YUkB6zo!0}-Fm2UWM_ z={m!e^VysOz(p*O!-YHCfFGFvKjr`m{>O`9Ovs<BklB|kVx*<jO_RPjrnYoiLV;fZ z(<b7K_Z?f-D7aHno98*;h#;^WACcrcN2KHG8y!nxQWcs08Rl3g04YG2KGZR>j2Q47 zv7yu3BLpN)69__wgsIfhZps?W$fy!Zv5MSKDRPP7Fc!U1oAccTxfl3=0gNI>)sT#E z1D<0Y&wdCBgxt<rsb^;}{MrftlfgC$rbB%c2t>1f>4mV|o;H{d*q$~CtQx@KYikuj zeQ!Hd9`*M8&H%|qn50YZNELu)L@D|M|5*3^>}E{#{%6gp-@Kg2OZ+n5#^b%9I})jb zE~x0>Zj{?}N0$#U?;g+pi2D5oKSxemQ_Gb^MlS2mD3VmY??FSoV{trN-J>XwQKns% zW*2&{=qLk96X}0UYt)B1y{tdAF{(qF8AMM;8U=#@s1^#nvaRW^R`eaJtiCot9!O1z zb#>JI#~7#%c|--HF-&423V=4kBDU8}>gf@{z>mR*5~e}`##?isvMsE6%|QL;6L?JK z=P|Ag$7c8L;(?Ha+GpU6_c;91r?g-nzT!uhKYds3?iG}t@&%1Infyw(zVzY!_~5PT zZIwia2BG>Tf-fmUu~Rc8?3+*Xi%Ox=X8mp2z_I-tr}}nVobdA)wklY39mb8)Nui$Q z<v#1_;>COA?z;EywwM^$BeC`%@M`gCU=eOP*EZ&hqN2JDJCGN0Wm0?k3x-&s*;K8( za-p^ZctW@SZZ86cvoUvmBHi}mS-3pXuSazFoODKnIc#oFM<ZDwarp(D#nEjUX7K%a zO#2J>pk0>V=z&_{m>`(jtNiQF*9LX6&9m3eF#S^|1?!0tSKuGOT78|8guWLpoAJeb ziQeNI=&|-tR^~64hZ{4^KQl9#A8p0Ce%S5n;oRK>B@71UZ-{e1a6?}7{rv#EZXWPt z=wQYOv(&#kfbx~15@!a!-Ic&}b85hC_G1#2(PQYFTTE1{Nc=)lb5Z>a**XQZX?fFT ztgWrhOq>mFI2jUF%tE)=M<JZ1`*o4>+W{jnCHHSN=<LKbh%rDMr+(xMnUzfn4MMr4 zGi=w>(IX&m2esyb+3J(t$~3s6+XPP!k0S0=2>GU_YdOdRw1w<h#ok6j&fVNx4u$lb zr`JixV#N{s1o+Q!qd&*8hBotDh9BB%nQl~-0tZKnsO93Wq<~yExu$!qV=m>{x!PTR zb-eo2^tVp19=T?sai~L6^O*L5j=j9;yw7~!H9XtpSMGIv2fOl>sNNz#Yzxy1#}=z< zQuS4?{Keb07HG}8m15ndyOj?nii@YZCwMeUn;Xd;44p-GbU~^M6G#2>9N`ze57X@W z(4WG2Oy;)4sHo3R-yKi9-lh@=jSqQ{DH1E|7M*RnK>~R^@|BLbBu#l3EuZlQJ4?r) zAlEMM?%0Anp8W8>cqy}}dyvYg?!wWLz|+db10f_U!?BBrdUC`eM%FN21@415JPhGg z#UN!-6FJdyLYw#cA(3y(Z~z3g-eU%1msjYsuEWP{AEzp?{rDHb!5AEjBM&GeMs-(? zQ}`5QgkVgh%M-EgRrT(#pkx0d7^-(=`wcu1xW6B$Gz0phbs?YJp)sx9LGer}lCs=A zA1ixbj{2K(3ry^WfFefck+CG0dR!WojmEluwUI&0P)e4n4-naVxdm?jf^}d1_tZ~J zh1uE7=uymIi}#L|tacC4808jG7W&_ZI>SM{-9Cuj^(Uo~)_xk!seX^ihtYJtDl9^! z5;F=eZY`|;PW9TENE|n0TM}S~LuR4Ucye(iibXOo7D2X<Wg8E9L+lcRUDzQ3^a!>e ztgNDf!NtbL9y6y#9GK`~6qCY}5Oe<YdzuFnI@ziI@B190<ptjTTZQt?n~FFfTBGMR zX-#tiv)DT($cQBLyL=AX41VX>Vzu#xYWFUV5vmV2>^$OH$mab49Jm|uJwr4tMd1f1 z7JmS-+E^{BPl3tBWj|VOt_y6TXM!v4p@&vrW&JWlys|tZg5<|oSWoxCrEfj+Wqs_@ z-}gzhXQT~p!5tPy_bcB=TGN))zEM1@3^)*=O;7b#JntF2mHvUecA$26){Ts5DY_$= zqQDKj>wiC%W8eiW*IwLWbs~v@4S)N`_|w+zaS8r68z1$}Hv}4fC_sZqdi7(+S?Uc? z3`SKsYA&n9NJalZ2Bh^})-CXLOy(Cz??WY2=sx@le>GC;Z<ePH&&T?J+>I)|^%N|P zvUq&YKy`~<d(T-=NAtlP!cxWA(iu*;=m^nw_roG;ITne(Toh9>9Y@&h?me1q4viRo zomf`_5l<#I*vRCBxMzrna8Z5d7e~?{%Z3?bo{cJ5JdhG>WaNki>&`;h&*cUj^N;^s zr?z&4ur$qqXhxh2nd%SVbdIJ|vokZp>)VMw<Sm~`w+9h3GAJO-vX$@O)2d|z_0cT< zX6zZHYKfEQjNG7XDz7!T#KwR6B|9p*31%txP#*Y36X%$ac4wHDCNAXgc#rZ~7?q)K z&!4^_1k+!jZeYY)SHq8yIo>d6zYj!5Djt>|Diszc5f=;VcYdIQQPMdF%;@C82E#WW zP>Q!yyM3Wc{>@mLN5t3C`Nw(e+Js#Z9MWNk`WhNMGBD1>>J)oZ<^9%*<=Sa%Uj0PU zI>rozCO$t8<n(HJ9kTC@6zpw`u$U>ka?7QlWzV)RiT_!V0)abcw?B%0KHN57U%iFC zO`C?zupbxO32wn%o}*O%jPyj|bj-+~KX_2#HzE|D(!;<9n4Cc@dql~u(^ayQf}!r) z_Wp@UBBJIJ7?a{`rI>rsUBDw@UZ=~`S8omy6v*)VC-S0u7iIF6|69xdYVXV6q2AyB zM~dWKI*}=oPHAjK%916dQ`t$D?2!`2F2mSLIZi3EWb8|sXrr>lSW1?%X6%L$8XDUe zTXx_3l{xS4=P&sD^trCC&biK+nb-66T<+(6Kkmo<xc|C*Iab7}zCw!wWg@|sw03g2 zA4h7~mSfUo?FiMG;3gQga_EU2VVzeb7bBjkuZ%pxEO5^$k{#Q+HZjZ6O~zBUzDM}U zU;kPNyuE!DSO~*XYu{*~vsFu)X+uDcjKquLiXg91iWkNvZzUU?VIArdnQZMz*P`a_ z<KZV0(&BSJRFPCCWntF-eKvBNh$reIwqn(@{gO=}#g&S`g`!Nso$Qz{#{~NwFiDe7 z$Di9A#7!5MSdm9jQOICdne}Gc2nO$%79Bh*m`z8SNT(Aj=8iI!U+4GHjPl?lo@L*& z8+0*Z{9bUWyPChRj&LvUus*1M+;7#Bj;=hxoFeIj9~gq)XT9V<!2Cqwa971KF{k0W zWVcG|p(DGxeQlQ>pwn-~x2x|p^Ms9bb&O-HklbyH_8!E2yB{7-T$uv<Zukat0q6k( zr<hOAlUpx>eX&8T1=yE~q$*<x+G$?Yv>9{%HiiBlQal++z&x=Dgp&W-*=a*Nmdzr) z(l{LLk-~*q9Cvk(wOMoK-DuhHz-)h8i2O8E820ra2R1xxr2U&4=_%;6?18cLg3)Y< z_wQ2K##YqqKk84plI|T@@Xp~jJL{K~GkZFBsvlQ^G|s!$>f*k`dU}drNCXU2#gUT4 zVv0VLm%}DfW^D_oHWGPJSvdeJ{=E{=#x;h5=Wo8V+brA58b`J98nlg=YapjUB+G{K zAG>l$OJLtVWb|=$Gc=pP$wJuDFKY}!B%s_16Ws9%a8R(pV{(<hZ{HWJm9HO$S4B1y z3}tQ141PcKSURCuZGcqqeT(=WPXf<>SclB|@@W~FL6}CdC__yp8Xsf%<*Pp0maY9q zqBIRu?1s83Od%jBUi!$oSPKdYG-KZPyoNu+SX72e<Qdbkv6Dz_Gu~O!#JT-xVDJJ- z7;P;Q_IYaNPB^|v80?;%FkMTfliiR62~wm!qvy5H+B`C-pUgT)fa{fwrja>Szsn2z zu{Ib`Qkn#di@tjZq6)D~UJSP>r1mbGr_q=8#3rzIzY%+f1;pt~cg2Mc2?+_sWC5KX z`~&r+iMMw_kO8(2lFxWJnw}msRo8k^S&uXMY`LkDz+)7BVj`~k9*5xyP;??HSFei` zyb0X9MF`fIrp5#yGQN26)m62dZ{C6q_CE_0ul8iSY{?1A3n>RK1IDI2=`I(WmIcWa zNY{v04prW6v!6yFHyX(yq7Hjf7c-1ZW~D(;eT3SEKO<M#FfX^lA}Q%4p!hod{r~gR zR5G|gW1rweu1q=(sjXiEmRIo-O6uqyYOY80KR#nG;L|$KY$SztYTov7FYAywapL>$ zUpM@cGKIAcE+GMf%&o#)K=2eZT-Cuw{o;v#M{@7r{{5b?ZH#N}!hcs`h^9SG!`Hj2 z-sbL^n0SLzThhXne5bKKjvVH4uCN<uOSJ8T6#C;6sLU{ZbJElEa^zLu3?R?%Zj)2& z=1@Pg^qrF^gp-AYnoi|PDwrzm`cWd_J-KRYPPme*ZaH1r7uok50=jezBG`wl3Qbl{ z%Q1~^jjlv*X)lEv3Q58+@}uVBi%;uudaJWmW_&yr;dmg1NMgL27t}#?K_3Iy>xsxy z#HoRUb8SuU|Jn*^Yh-b%E7}1g%Ai);lh335yGB#4#Xm<CPLzx`zCZW%*g2IM&Elp1 z4rfAgXGU78M<|lUU$2qQN?&hxQc~}+#-*aAZKdSoOB=R%U)&tW@8TuBo@<6|8Ikus zlS@YNT?DHkDRf3(Z5{Eq36}`^aRgST51Bk0Wp%)DrbrA`pzG4S6y>}mx2mTq4sD;^ zvkXuv!5bKj1g}eA_WG6mJihLEkzMDi`nb8@k24Eget^(HNegy62qPhqV-pkYPtQlR zcXmEURQ2@rm6|``!)E+VdpK&6<Xj+wsJu5R3e*8XB>~|W@3}7~@CZ@!gRetU1T@vQ z>Fv0kly4sfAi(_r<}P}jns3ss@1#H*{IFp8@$8T_7w?_Lz%jXT<HpFU%el<Q?|ZO` z`7eQ@&qfB~@zU&Q%Tm{<mtxrG!IL+(qMi_%v_YT%N}WgWG;QDz_m6B{bb^1|Sko(G zRE!9?(PsVSWU*_>Ty1S_l)05Lp(Ff<EGfDt2HD!5YW}6Pf@LJNwO(?8^h<==f(*|8 z<0<e&Mr{QpdL<PJ4Ns1wCe`siM(y9XPi*4&npf4}iP(ecO-U(nzEpGk;5P5IAF<?Q z>JNF*k37Kb^`&Uh3))-%d}A$HSn#2FM~Rib4nfL9iqKYFeGfvelZg+#N>V`7GESRV zVE35=*5mx)=qmCnAEh@}j*XmN8T-t=m2FQ%4G4GeNb>D?k)MAV&>U?{tbnkvnS8Pd zCiW6Q=9pN|R0&j^iL3;OkrZGPOV(FMiJS*LlJ<O$a1Wu#0!6ORQ&#wFD`+6P2hS#3 zuFAnkUKnd9>R#aHKlV6FvGP=CkKdL(hlYoTo!#9DB19wc!s!=VGa}0u#lJ`g557s} zeA%(S62J(Y4!(Q~IbqU&Y}NEcTbEVrMvYyPbuRi*cpAO6V=B?HYy=6^gBCoKd5S=L z;I~=w)0hoaL?yJf;`&;Fwfn=>a)<Gefaweo$j$#XX^{$Nur6ntCUe(+uzB1lqsy^A zBZ<`cQPok{#e5|x4z@Bkv2m)4XW@WQSQg-csH~72Y9Azo9ilXsn{h~Wi>vC#BELmD zr+y{g%9VZq2`PbZCpUllpMLV2%*;DnJ5hpi3Oaz14+W-qpEXQ<K(GZAmZV|`p(<I% znay6*2jr%}4sC6yQyuA-sTe&-&kMPg%=1>R^L6yWz;D&uXl=w_5RUsB|HcQlp*;`3 zg9iIYEKo#1^W$_n0T`n&kj};BuA?O9(Idh#jN2Lbf6W}*-IN?IR5E~W07mf+1d}!$ zxsoq5fPv*bPh-<YGD}$>CJRPgaCLL@MMh%~K=PUSifN`HMfvdaR;$zD)P_-pf0TJ> z*w}?lOOTk75+?%38nIy~Qt>bS#jRrif)+U7lgu;i<wk0XAV}RJaIT)){P=!hVS)&p zOhqtYp)ZQfEQ%Vd=>?lNU6BJwNKk+2_E99u$F1FF@2Iitq_0MCaWP`@LdOf*L_qwk z!%T;l7w$%z`k-H0;6dBG|7$3f*2^-I`$3KctRBkpeVaZ)q45JsDDwhb8qzftfl^u# zXz;z)|Fzg${T&^MhqS%OyJda|Y6PcFvY%znwUK!Z68wt$v(^^C!}{;&k;Eoc9Uw3J z7P8Vkmo!g?mw|2&7+*AL-c;JANOwmVxCSAt>4c1r2*`_m25)9}AXM4b08%G=Y8bZI z6)Dl6*<{SF@TL{v9HDj>;xjg`$Ho#zwLsnR7Bc$-$pgpA=igw0A$0!43I59!C@w1S zeRH2jt#9IXSTF0Y-Y*~!Bhr+Aacv8#=;uU!`C@}D5(!N_PcB=m=Iy85naS9^o92G~ z(uo;qNoT;z=Ija=!jw<l!UV5+f~A6~d1dNvFwB2^Xd=quFV;%!-ye<4qIbu)L#e@~ zxFFh-DK9pW*_o0cVfr)SCjx>nrj391*e7{N5TU$_9qzZcU4s}s+BDBMnP<!l0utY3 zTu>EPv(ef8n;$+jvs4BtJdxH*>>oRCy2Zy!D=_B@d?pLsX3wtSXSC=gqq?B-M~+m6 zFnAqeA_NM7*jpl1Und6NBgKv?s)tzOa_oKg4`-7SJm4{Hj}-7sW*w|6jpebwwJg=b zj&q<aUDg8;@f{VV`cL<A${fhY*y6GxchUbj(l>G!re+go;Szduq2r673+io$zG6+p z#(3rFgxybWG0Lg2#ZcA~&tJThp~7;zK=Uu=iotdi#d#oz$iC|Y({@8*?dL@pe9+Qz zS9t=>tT1BJqmxlmlF))0ATPwl$TJ8gM*vsP`e2T9$l_h34k&nS9E8Pi$vpKe7cd$$ zhqYKB%GmrAPAAVV?0(2J`>e=Tv0|58<`4*h8Gf;r5|iF^Osl)Q6GXs1BLIqFxqu+? zvcY_APYjwSe{#qb{|!8^pXXp){{Kb;I(o;;3OP_m%}d(@*pRB0r+O}^f&Re!0#7qj zxcHqk3`wlF1S=iG7g2-YA|0+&6?Yw~gHh?MKFou!p1!u3mE90{!ieLZvC8@eAQRIq zV83d*Y$R#3Q(k8$OXp3UCM|d?f0dJ6Y=*&l0T_TFMfMI3K&EbOMLg=9;FT#!fT{0? zYy{9lHo9C@bIz2cKxGNO3jk4)m7(Hh909_Gf8GxwvVD}UX|T&BHN!OO0VfPDT}<$( zvR+$6??qO;C@sfAft)`_U)1(}wf^sBbgr8#m@8=kFDRWMg*N7A!Bz*cp8;E%zUZC* zi%*0Q3+g;D1|g8aTAOtLEyZw~9kxn6E4K7_yA!p@h`XG1v%MPBS{_9Ky42y0w<!Iw zhq0WWev7~@5ykT7d5Y{b*l&j{FGIO2>_2DU<6E>rDUy7uC1LR+JMr!=uVfwx)>g5@ znf!du9nXfUI6WyVT`{BW%_-Q;Uy|a(tf9`IN0&5gb7O@&7z{?l^F0Q&=n6O9T^@NR zz$j5Fa5os|?Uigi5YreN#m?iCwCezCZ#(3hBcvkadTCEH2&{^5FZ~LWXA>KnKd>ei zc?oRn?{F2CPb~fOu2`t8W3uyTwx}^=g^V*nb`D%zW@fmyyMF{F@H+<!Mj$k3*=w+? zE6U1i3$G;H&(7A9;cD#o@(+llQRNKO#sC{aRys6N098Mp6{~yXuofbY;wi2${T`}j z1rEwH-_>acFeYV%PH)D*sD!k%&c?=vA}=7i@RUaxCWDiJ0Aj#lO~rvF=oqAD|IYX{ zHIdO35C?sLqb>~5%G;<}L`zG#aVyH1@**401bKj^GT1soKx3ekF14k{`*s5g=>exq z4KB|U)&=5ccwu0U13~44@C^uXFRH;>gie0qB!(Y6iA2%asx)}O`QHz?4a=zR4<-<8 zd+P~FWjB_W7euSFace|rtpjT)U>GB?)nmt<D3ozy0QE@u&|b{?C!Q>|Re0$3=Mhpf zMJ}p~SD_*=n|=rd(~Stq=SV(!l%F1I<xeD8?bZ!heFj=^7&qsbT#`OqAR}Ab_W-J! zN#eLYvoakHR0v)GYJfxmr`hAjEK=SksGv+<8r4D2os`{>S|TDS)6lJZHPWZqQ1#E= z=vh?sK@4d=z@tgF#%Upmj#OMc1avT_U4UWTn<?-B{Hmntjy$5?JvHT<@&~HD;tm`A zNuI2<;KgU;feklbC5<(04AC0*q%&8pi%0DkRCd7Q4#1fl<kCdl`)n5`FC~?ll;oAN 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 literal 30064 zcmeGE_dnJD{|AmgP?VmiH0^Rigfc@`1II`i*`vtFEPHE8WgXco8Cj7%4-GS`j&Y1o z3LP_hAD`O;ulM)+7kqyDJTK2@=NXT2zu)e+dA(h4C-BB~MLJq0S_DDpuu4}o5QK^Y zK`3?iQNvGST^~8Z#~!E4Sgn2VkM}<F=kWLaj!Jq?2*Pk1{f{C;_MJ6?a3I*L@>=fk zlLKz?hIf0nW@l_?@R(B^ghSSZBR5G;1Wt)qpIYG6?xZ=w%tOdN7;3zi^5Hkt*ID~` zPaO1Rpk#=y#<xz}CJeE=wZ-cx^$th~FG~w2El(5+=3#sBm*QItiRA`7OhF2JVFk$9 zP%|kC^nZFEQ}2Nfxv$^+(Z4F4WIBj`p1ndv2_GDHt>n<Zrv68_4?g@~CsUwzg$jvq zzz3r7?Eky@{|$k8lrVm@YHe*bBNr|%E@E3S#c#i7JPQaA6%k4O_3KwpUclv3SPgso z+`0Mri0~`z@wA+roJ>qigvQ3_aHWER!kwC^@bHvJk0?h*NA+9IOJ7U5N%!A>R#sL# zOE$?jlsr5<zP7iA49uLU3=2C1zw!RX*4o^xX>Tt;6yf-8rFG@X6($xIEfJ;&^TDX{ zHb!9~p|`(&-KJw;@cT8mn9D~Lxj48v;ggFU)gSxw=T#PeK{0jVsUwSnSW|5gCT$&^ zsI084`b9U}7YZpauAUwrAJ;H2h>H|3$~ww-D<duKnvszaZNQiDzkhGQ&-?oNItK>c zlgYm5A{`xXP*G8hPfclGWVwYod~%ViN^&snsm_Oyv9avb)T>=xU0FFfS{@$d@D43~ z{j3)+XyJ|785v5~u3h8h=Vx8CgcqW}ArLf<9y^xa6}S2G=bMVkN;6_!Wu-xLl%S4^ z%FEBc94CpMo}QgV;yWeG+v;kW#f61ha^kY+`SWjJEsM*`Hja*tS`YKNKwc@icDHXQ z)6&x3A@;8G3JU7ny_?3%%iH<w+nf4&g)Sm7J2_dtxVV^?hezqt(YR=kmZ+#`=KJ?* z@87@IuW-)n>+d%smc4tYh{xl{r>BFB9A=o@+}!vM2ckO;Q@XmjxoLxMn4h25HZ;tc zn|q+GrInGBqk8n{QP`)(wQEm#`S{H4Yimc`yLV4ZPcO5eKqw+AD!aPc7$jnSUohay z?c$=MjLb}|O60lk!*wsa1_yJyyKkY($j(-Q*TPBUuUFO7nEZ0o_3`n66K3gZe6P%N zM8ns&8n&i&<Hnn+s!K<YAJ2vtr=_Lw3JBb~c{2=NtZiiU9+fk!DLq{woJ;M6k-?09 zR76B(Mg|Xmu0xfTNY<xM^5_Eacq4fD_~hg(ygIB&R9xI<b#COIy?wBci>qt>^n|F< z#0{QQR5{^5b8^nP4xlg4)J(zQ4o5^rX2A=zwY6c>gw9M&Z4;BcuV0nBy1TPr!~AUL z!6HzpPEAdrQjI*P_clG93m%+RS}MLI)8F5p-PU#;4x%pi{zaBxpQSokD}#g|KMX+; z>Z@h8$UlwxKYzZAZX`edf-66M`AJ2EB>H$*$&}0(m|544A34`v9?L8)cIh0`#~cnE zD1|c|Cy{Q#1M%$3OG{ZbHL^=X=5|Ro#{A!VdnHCUM%xmy@k@Owpn>umL#>h`9KnBQ zX4se2ygSsyGhu~G^5b|cNVb9Y@{C&Z!~#BydPWV@>-;Sd5B50_SUx2$3w_AiLH+zY zPh(?ai)?#^U>EO;5vAjGb#+;Jc{+M}F<IH!W_9_*MlEgaI@<Aqf`Xp7a-EO0;#bSd z%fGg^1{pbF^WPZ`x`bRk4TsHi;=~PD@=+t>l<tm>l<w~Cp19oQ<nHg^lR-uxNWJPi zpY}by3{TZGGfQD&X4VFy$;#qI#ZghA@8aT;|ES-F3xAngR@MYHu5;&J8O^}q-QYP= z*-k@E4YqT<@*UoWBx+)O^XJh6sIFIgmq!Yk<ff@aWtErrdZx%4gZbo7=xAuXU0d@+ zEv2YPr2CtDkcyq%d(?zAG!FB1zI^fG4w2|p!GCtC$QArl_lG4o=#&&QE%|S-_T1cD z-TVps^z`&C9UYw<o{91C0`D}gbTIm$prHKWK0Zo3ab#p9-)2g5@XVPrV45#P&ksto z__ZrDi4Ok_5_6}^S>{LvLjc!<x}@o8Hf?`YnLuCd?CkQrstOA=6A}{IYIMd%My$WS zK6}r~>IN2zooudD=i}wo($&oXe*z}gKs&SYjIdtC$HQ}Cv3JbKWX9(cpXwKICls-6 zA)ZMdpqu&am8hpHFPB(4$Zr%85n)Y8#pbVnTR%51vs|_OYHn^$_sVn^<KX&bFt8Ud zUz*YRY%H>#JQ)}?`5zr!oy<g)=UebqAkh5fr>JjQUT*NkgXe@L=F>!x{;_=@9F)nW zY54cu|KgkSay>dax{{9Q4{$hOr)r6p^fc2|1CNRt&rbU&>1b)yCSLV484S-~5ie?I z81s4>qI1KO{p+BPgM&kk;|z$^((>KsUmw6rb@ldUf<G*5mobo<shZEIO7dCKn<^dh z&8#+jIG5Pxu3p2;#B_(f9z0V@;+!XY=U{*vDyIssr&T)6@D{%VGgs>Qf~jd}%=X^I z9KLC7ohjC1`uJu!eto*qb3F6i9d&&vDJeytH>D*d>DTTjg@-e)J0=R<eF1*^&a$1J zp5EkI6bL#u@3<Fx-z)=F70JffY5Zv1;6AMlDkP6IIX+GhsGNNJzI4!2%U%$_fV(a= zRn(Kw?4CGS{^rAn8=$(ek}g@@dX@=2UIF53KaWliE-ul2YZu23;$z``e2=Oq8*SF` z7Y_&4CPsQLJ9>Flx(>ML*i}xIq|6z7Fnwsz8k@GXv{c0Nth>H4>LnZz!>wUO?sV0d z!#27T6BFR0j#ftDmo4)$LXyOo{d|5iw=FHXx;Q)6zSyK<xO78m^23*m_(VUlhgzIi zE8%EN^p77udVC~Z#<fJn#Oiaimt_pVC|<mH(ewD+44?1Swn|I<)?%*p#+Z?xpP%iX zu1dd32wDs&RX0Be2h+2<_S{}uBi6|95}m86XCFLxAOc#|V;M*M>BTt%<e`0GxLI zvRR(|qRd#;^6flpoX9x-v)B3JUW>ROsRr;v>1JvO-E%6gK7Z9D8EG-rS})vB>4=4N zz8q3!RB7&KFUrG1|G8g#t<&h)AwNDbVdg*$nw5W=xR^YzZS)(S0Q=4?E!BbiB>(gm zuelK;gFJtG8=IF$J*B0k!T!_=PeNen5D{`1$BEy~gh&Dr2yE%O=)FP4vok?mUiu?y zCK(wSHz0&V1{3bmRDain=%(iI719`p6WuS4@@>1nqN3VZ><k|{P!|%4wY4>cqf%xu z-G6-c)u~s`GM&%kc`kSioR;X_udjQyz`OAZwv!)}=NtY8^^J^->{*C$yvPDa^tLi3 z<q9h+Yd-e~`e)`T<A=f*FP7CCRxvou>@Ri;sShdW?C!2l_jO;k*$@%RYjUjX%bof6 z&v6p}xw3k&!_eW+DYB#&-R%u6A%|3}a~%#Czpt6%UHK6F#GZC~sb_$DHZn^1`t_@p zp&<*i{3~{Oh~2M(SbD0Wblif#eROtqrq;bY-jIH-F63ts>`Z~Z%4R|>e^wy?-+pNZ zf7_1O<5e&dl<V1X4Zq&ywUr=Ztugs4*o_}<j*tIZR54*-WW?$vXm#)2+UMtY-P}qc zZMs9JrlUj5xGCxo>%3w0L-!r2p2�K^olPrapKq@H0K@PsRJ+Ku|>!C&&&+(o$ht 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 diff --git a/lib/matplotlib/tests/baseline_images/test_path/xkcd.svg b/lib/matplotlib/tests/baseline_images/test_path/xkcd.svg deleted file mode 100644 index 2fa9277fbb30..000000000000 --- a/lib/matplotlib/tests/baseline_images/test_path/xkcd.svg +++ /dev/null @@ -1,12164 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" - "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<!-- Created with matplotlib (http://matplotlib.org/) --> -<svg height="432pt" version="1.1" viewBox="0 0 576 432" width="576pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> - <defs> - <style type="text/css"> -*{stroke-linecap:butt;stroke-linejoin:round;} - </style> - </defs> - <g id="figure_1"> - <g id="patch_1"> - <path d="M 0 432 -L 1 432.031436 -L 2 432.068377 -L 3 432.166123 -L 4 432.198645 -L 5 432.27227 -L 6 432.310835 -L 7 432.346248 -L 8 432.403888 -L 9 432.474274 -L 10 432.526239 -L 11 432.585328 -L 12 432.673649 -L 13 432.719794 -L 14 432.762205 -L 15 432.792697 -L 16 432.818742 -L 17 432.839942 -L 18 432.894243 -L 19 432.922181 -L 20 432.951905 -L 21 432.9773 -L 22 432.9885 -L 23 432.998624 -L 24 432.99842 -L 25 432.98891 -L 26 432.977256 -L 27 432.946227 -L 28 432.935059 -L 29 432.904942 -L 30 432.845165 -L 31 432.807973 -L 32 432.768877 -L 33 432.726437 -L 34 432.693672 -L 35 432.626246 -L 36 432.58712 -L 37 432.544445 -L 38 432.473865 -L 39 432.437474 -L 40 432.379071 -L 41 432.268118 -L 42 432.19746 -L 43 432.08452 -L 44 432.038747 -L 45 431.977464 -L 46 431.928965 -L 47 431.848142 -L 48 431.729623 -L 49 431.659412 -L 50 431.57615 -L 51 431.543008 -L 52 431.491771 -L 53 431.423372 -L 54 431.357157 -L 55 431.28024 -L 56 431.252924 -L 57 431.226447 -L 58 431.203796 -L 59 431.184265 -L 60 431.157871 -L 61 431.1081 -L 62 431.073027 -L 63 431.037161 -L 64 431.021794 -L 65 431.006025 -L 66 431.002612 -L 67 431.000195 -L 68 431.000681 -L 69 431.00261 -L 70 431.015867 -L 71 431.024258 -L 72 431.045794 -L 73 431.068827 -L 74 431.08606 -L 75 431.104523 -L 76 431.124975 -L 77 431.141575 -L 78 431.204354 -L 79 431.279619 -L 80 431.312258 -L 81 431.379822 -L 82 431.433869 -L 83 431.467573 -L 84 431.557699 -L 85 431.586234 -L 86 431.61772 -L 87 431.648731 -L 88 431.703539 -L 89 431.768126 -L 90 431.806322 -L 91 431.902256 -L 92 431.951514 -L 93 431.995583 -L 94 432.035707 -L 95 432.144074 -L 96 432.185702 -L 97 432.247844 -L 98 432.317806 -L 99 432.42231 -L 100 432.459298 -L 101 432.505175 -L 102 432.57367 -L 103 432.622416 -L 104 432.700013 -L 105 432.730554 -L 106 432.800068 -L 107 432.824041 -L 108 432.852663 -L 109 432.894456 -L 110 432.916032 -L 111 432.92998 -L 112 432.956702 -L 113 432.966012 -L 114 432.978459 -L 115 432.989514 -L 116 432.995178 -L 117 432.999942 -L 118 432.994394 -L 119 432.981106 -L 120 432.973589 -L 121 432.948804 -L 122 432.925235 -L 123 432.889055 -L 124 432.863093 -L 125 432.840771 -L 126 432.772011 -L 127 432.697476 -L 128 432.603497 -L 129 432.552445 -L 130 432.498511 -L 131 432.46326 -L 132 432.357172 -L 133 432.304908 -L 134 432.268001 -L 135 432.23697 -L 136 432.175815 -L 137 432.108395 -L 138 432.059489 -L 139 431.994297 -L 140 431.956109 -L 141 431.914113 -L 142 431.872096 -L 143 431.81258 -L 144 431.69942 -L 145 431.647169 -L 146 431.607751 -L 147 431.56065 -L 148 431.50387 -L 149 431.471207 -L 150 431.435029 -L 151 431.402939 -L 152 431.368659 -L 153 431.310281 -L 154 431.265096 -L 155 431.235472 -L 156 431.185086 -L 157 431.159889 -L 158 431.138838 -L 159 431.10387 -L 160 431.07958 -L 161 431.065513 -L 162 431.046571 -L 163 431.03091 -L 164 431.018358 -L 165 431.012522 -L 166 431.00564 -L 167 431.000466 -L 168 431.002249 -L 169 431.004974 -L 170 431.016128 -L 171 431.044363 -L 172 431.088151 -L 173 431.10884 -L 174 431.149813 -L 175 431.189888 -L 176 431.208998 -L 177 431.231507 -L 178 431.298158 -L 179 431.347868 -L 180 431.421574 -L 181 431.452888 -L 182 431.52951 -L 183 431.567808 -L 184 431.641925 -L 185 431.745983 -L 186 431.815814 -L 187 431.921048 -L 188 431.976063 -L 189 432.099538 -L 190 432.170097 -L 191 432.285936 -L 192 432.336117 -L 193 432.371721 -L 194 432.463128 -L 195 432.516636 -L 196 432.604544 -L 197 432.673729 -L 198 432.720493 -L 199 432.792537 -L 200 432.842679 -L 201 432.860069 -L 202 432.887072 -L 203 432.906499 -L 204 432.925837 -L 205 432.964086 -L 206 432.980519 -L 207 432.988888 -L 208 432.993207 -L 209 432.999762 -L 210 432.997216 -L 211 432.991757 -L 212 432.975329 -L 213 432.943394 -L 214 432.905414 -L 215 432.87061 -L 216 432.807538 -L 217 432.786111 -L 218 432.735493 -L 219 432.710536 -L 220 432.654902 -L 221 432.623673 -L 222 432.573529 -L 223 432.541036 -L 224 432.460624 -L 225 432.391698 -L 226 432.276001 -L 227 432.200522 -L 228 432.084997 -L 229 432.005513 -L 230 431.897072 -L 231 431.857704 -L 232 431.754836 -L 233 431.655038 -L 234 431.609541 -L 235 431.575219 -L 236 431.523263 -L 237 431.483616 -L 238 431.448102 -L 239 431.380457 -L 240 431.341375 -L 241 431.290894 -L 242 431.241588 -L 243 431.190518 -L 244 431.146279 -L 245 431.124259 -L 246 431.108703 -L 247 431.066256 -L 248 431.051388 -L 249 431.02866 -L 250 431.008344 -L 251 431.002547 -L 252 431.000065 -L 253 431.003122 -L 254 431.014718 -L 255 431.031638 -L 256 431.063299 -L 257 431.077382 -L 258 431.130054 -L 259 431.179143 -L 260 431.233844 -L 261 431.278192 -L 262 431.348184 -L 263 431.398567 -L 264 431.452474 -L 265 431.521913 -L 266 431.579301 -L 267 431.629466 -L 268 431.706628 -L 269 431.764818 -L 270 431.825456 -L 271 431.862657 -L 272 431.927749 -L 273 432.032879 -L 274 432.093181 -L 275 432.189503 -L 276 432.221506 -L 277 432.272523 -L 278 432.389315 -L 279 432.424762 -L 280 432.480642 -L 281 432.511018 -L 282 432.599404 -L 283 432.644168 -L 284 432.725056 -L 285 432.785202 -L 286 432.848288 -L 287 432.871236 -L 288 432.887406 -L 289 432.916335 -L 290 432.946687 -L 291 432.959261 -L 292 432.98414 -L 293 432.996224 -L 294 432.999986 -L 295 432.99555 -L 296 432.983211 -L 297 432.968798 -L 298 432.952725 -L 299 432.917204 -L 300 432.89727 -L 301 432.840681 -L 302 432.773487 -L 303 432.746117 -L 304 432.711969 -L 305 432.663289 -L 306 432.615004 -L 307 432.555927 -L 308 432.460322 -L 309 432.417182 -L 310 432.367334 -L 311 432.3088 -L 312 432.261214 -L 313 432.200086 -L 314 432.144001 -L 315 432.06983 -L 316 431.952592 -L 317 431.896868 -L 318 431.788642 -L 319 431.682492 -L 320 431.57492 -L 321 431.540412 -L 322 431.437105 -L 323 431.361381 -L 324 431.321946 -L 325 431.282562 -L 326 431.26008 -L 327 431.204267 -L 328 431.178215 -L 329 431.14798 -L 330 431.097209 -L 331 431.078558 -L 332 431.056849 -L 333 431.044203 -L 334 431.02521 -L 335 431.00782 -L 336 431.000782 -L 337 431.001806 -L 338 431.00881 -L 339 431.01818 -L 340 431.041578 -L 341 431.066661 -L 342 431.07906 -L 343 431.112153 -L 344 431.12852 -L 345 431.146925 -L 346 431.196062 -L 347 431.239875 -L 348 431.28296 -L 349 431.305901 -L 350 431.346164 -L 351 431.431024 -L 352 431.473416 -L 353 431.537802 -L 354 431.582091 -L 355 431.689937 -L 356 431.766877 -L 357 431.803319 -L 358 431.858206 -L 359 431.933307 -L 360 431.991902 -L 361 432.028477 -L 362 432.140524 -L 363 432.202209 -L 364 432.252729 -L 365 432.351514 -L 366 432.389536 -L 367 432.424984 -L 368 432.516618 -L 369 432.55989 -L 370 432.613219 -L 371 432.646084 -L 372 432.708978 -L 373 432.762832 -L 374 432.819958 -L 375 432.842048 -L 376 432.885787 -L 377 432.932881 -L 378 432.949728 -L 379 432.977802 -L 380 432.988798 -L 381 432.993367 -L 382 432.999015 -L 383 432.999066 -L 384 432.995976 -L 385 432.992463 -L 386 432.986641 -L 387 432.973789 -L 388 432.950164 -L 389 432.93528 -L 390 432.911708 -L 391 432.875389 -L 392 432.843806 -L 393 432.813913 -L 394 432.735221 -L 395 432.69867 -L 396 432.672947 -L 397 432.602274 -L 398 432.511172 -L 399 432.449215 -L 400 432.415602 -L 401 432.381102 -L 402 432.283662 -L 403 432.236072 -L 404 432.204566 -L 405 432.160881 -L 406 432.090712 -L 407 432.040845 -L 408 432.006168 -L 409 431.89652 -L 410 431.863049 -L 411 431.825707 -L 412 431.745462 -L 413 431.706968 -L 414 431.665191 -L 415 431.622766 -L 416 431.513038 -L 417 431.424753 -L 418 431.350107 -L 419 431.26165 -L 420 431.187588 -L 421 431.138423 -L 422 431.082806 -L 423 431.048106 -L 424 431.036235 -L 425 431.014012 -L 426 431.002033 -L 427 431.000281 -L 428 431.005698 -L 429 431.021896 -L 430 431.038396 -L 431 431.069579 -L 432 431.082944 -L 433 431.112587 -L 434 431.17561 -L 435 431.224931 -L 436 431.27102 -L 437 431.353247 -L 438 431.39915 -L 439 431.433475 -L 440 431.487014 -L 441 431.575901 -L 442 431.607039 -L 443 431.715088 -L 444 431.82716 -L 445 431.862598 -L 446 431.947384 -L 447 432.012991 -L 448 432.115045 -L 449 432.23126 -L 450 432.271951 -L 451 432.31304 -L 452 432.349681 -L 453 432.390677 -L 454 432.466746 -L 455 432.542812 -L 456 432.5735 -L 457 432.599991 -L 458 432.656572 -L 459 432.701088 -L 460 432.731106 -L 461 432.758162 -L 462 432.800727 -L 463 432.853592 -L 464 432.884513 -L 465 432.910788 -L 466 432.925721 -L 467 432.95601 -L 468 432.977339 -L 469 432.994228 -L 470 432.998943 -L 471 432.999553 -L 472 432.997507 -L 473 432.991646 -L 474 432.972999 -L 475 432.940942 -L 476 432.894502 -L 477 432.852556 -L 478 432.785851 -L 479 432.716785 -L 480 432.66941 -L 481 432.617891 -L 482 432.578191 -L 483 432.508771 -L 484 432.44224 -L 485 432.333331 -L 486 432.268083 -L 487 432.159875 -L 488 432.098871 -L 489 432.050186 -L 490 431.973952 -L 491 431.914421 -L 492 431.839793 -L 493 431.720966 -L 494 431.623021 -L 495 431.543973 -L 496 431.498226 -L 497 431.470954 -L 498 431.427292 -L 499 431.378708 -L 500 431.346974 -L 501 431.266744 -L 502 431.200251 -L 503 431.176226 -L 504 431.115727 -L 505 431.093495 -L 506 431.074895 -L 507 431.045569 -L 508 431.029868 -L 509 431.021569 -L 510 431.011333 -L 511 431.00099 -L 512 431.001668 -L 513 431.005448 -L 514 431.021889 -L 515 431.034023 -L 516 431.044618 -L 517 431.075995 -L 518 431.101768 -L 519 431.133177 -L 520 431.155986 -L 521 431.17358 -L 522 431.223392 -L 523 431.271052 -L 524 431.342761 -L 525 431.398524 -L 526 431.424722 -L 527 431.45549 -L 528 431.545248 -L 529 431.630042 -L 530 431.695636 -L 531 431.741461 -L 532 431.784458 -L 533 431.845971 -L 534 431.945796 -L 535 431.990226 -L 536 432.040276 -L 537 432.162117 -L 538 432.22181 -L 539 432.253376 -L 540 432.285719 -L 541 432.340279 -L 542 432.382779 -L 543 432.434251 -L 544 432.522636 -L 545 432.556833 -L 546 432.600767 -L 547 432.66448 -L 548 432.739677 -L 549 432.768491 -L 550 432.810695 -L 551 432.85328 -L 552 432.870172 -L 553 432.892653 -L 554 432.93499 -L 555 432.96495 -L 556 432.983583 -L 557 432.993375 -L 558 432.997138 -L 559 432.999976 -L 560 432.998227 -L 561 432.988871 -L 562 432.978174 -L 563 432.968304 -L 564 432.949446 -L 565 432.919107 -L 566 432.880716 -L 567 432.82123 -L 568 432.777941 -L 569 432.717203 -L 570 432.633129 -L 571 432.584836 -L 572 432.541259 -L 573 432.514378 -L 574 432.482448 -L 576 432.415256 -L 576.334435 431 -L 576.25889 430 -L 576.21516 429 -L 576.135265 428 -L 576.073786 427 -L 576.010161 426 -L 575.902912 425 -L 575.784202 424 -L 575.742296 423 -L 575.699342 422 -L 575.637143 421 -L 575.607006 420 -L 575.574488 419 -L 575.522553 418 -L 575.417003 417 -L 575.368557 416 -L 575.322233 415 -L 575.288417 414 -L 575.24054 413 -L 575.185662 412 -L 575.161751 411 -L 575.135714 410 -L 575.079597 409 -L 575.065723 408 -L 575.039689 407 -L 575.012943 406 -L 575.005197 405 -L 575.000044 404 -L 575.006242 403 -L 575.012549 402 -L 575.02013 401 -L 575.047636 400 -L 575.091869 399 -L 575.121407 398 -L 575.163254 397 -L 575.222428 396 -L 575.245138 395 -L 575.28177 394 -L 575.338558 393 -L 575.363728 392 -L 575.446424 391 -L 575.533356 390 -L 575.58404 389 -L 575.621434 388 -L 575.705814 387 -L 575.740325 386 -L 575.832316 385 -L 575.919341 384 -L 576.042481 383 -L 576.08035 382 -L 576.127825 381 -L 576.233351 380 -L 576.330812 379 -L 576.407449 378 -L 576.439376 377 -L 576.493616 376 -L 576.532467 375 -L 576.606172 374 -L 576.638168 373 -L 576.694707 372 -L 576.730823 371 -L 576.799425 370 -L 576.830841 369 -L 576.885508 368 -L 576.904279 367 -L 576.949908 366 -L 576.972811 365 -L 576.981352 364 -L 576.988693 363 -L 576.994988 362 -L 576.998165 361 -L 576.999751 360 -L 576.998288 359 -L 576.985334 358 -L 576.970712 357 -L 576.958856 356 -L 576.940831 355 -L 576.920453 354 -L 576.897054 353 -L 576.882145 352 -L 576.827431 351 -L 576.793834 350 -L 576.731138 349 -L 576.703763 348 -L 576.659783 347 -L 576.580836 346 -L 576.523308 345 -L 576.473329 344 -L 576.401345 343 -L 576.364813 342 -L 576.2965 341 -L 576.208294 340 -L 576.086947 339 -L 576.021266 338 -L 575.987648 337 -L 575.923371 336 -L 575.8774 335 -L 575.805243 334 -L 575.765417 333 -L 575.722787 332 -L 575.616828 331 -L 575.564043 330 -L 575.484766 329 -L 575.442362 328 -L 575.410096 327 -L 575.37523 326 -L 575.332572 325 -L 575.300999 324 -L 575.23342 323 -L 575.196535 322 -L 575.168579 321 -L 575.147731 320 -L 575.122118 319 -L 575.0845 318 -L 575.069658 317 -L 575.044928 316 -L 575.026698 315 -L 575.015291 314 -L 575.009656 313 -L 575.004902 312 -L 575.000293 311 -L 575.001966 310 -L 575.007748 309 -L 575.027744 308 -L 575.039396 307 -L 575.050385 306 -L 575.063352 305 -L 575.113766 304 -L 575.134588 303 -L 575.162535 302 -L 575.21928 301 -L 575.241924 300 -L 575.293327 299 -L 575.334463 298 -L 575.417232 297 -L 575.465692 296 -L 575.517119 295 -L 575.568279 294 -L 575.635578 293 -L 575.668732 292 -L 575.73479 291 -L 575.790975 290 -L 575.852254 289 -L 575.892237 288 -L 575.98866 287 -L 576.10042 286 -L 576.139339 285 -L 576.237188 284 -L 576.271842 283 -L 576.355524 282 -L 576.40603 281 -L 576.475073 280 -L 576.576176 279 -L 576.628622 278 -L 576.71793 277 -L 576.782938 276 -L 576.824483 275 -L 576.866823 274 -L 576.888843 273 -L 576.92633 272 -L 576.943582 271 -L 576.96699 270 -L 576.975557 269 -L 576.984646 268 -L 576.991714 267 -L 576.998741 266 -L 576.999849 265 -L 576.999863 264 -L 576.997189 263 -L 576.994163 262 -L 576.988696 261 -L 576.968701 260 -L 576.95673 259 -L 576.929611 258 -L 576.902599 257 -L 576.875433 256 -L 576.820958 255 -L 576.791342 254 -L 576.749586 253 -L 576.676477 252 -L 576.633039 251 -L 576.562348 250 -L 576.523941 249 -L 576.463602 248 -L 576.432847 247 -L 576.402349 246 -L 576.343439 245 -L 576.300262 244 -L 576.25865 243 -L 576.209535 242 -L 576.144448 241 -L 576.078053 240 -L 575.95329 239 -L 575.909475 238 -L 575.855147 237 -L 575.748443 236 -L 575.705943 235 -L 575.668449 234 -L 575.578953 233 -L 575.52173 232 -L 575.452087 231 -L 575.403068 230 -L 575.347123 229 -L 575.299998 228 -L 575.26111 227 -L 575.207418 226 -L 575.161847 225 -L 575.12491 224 -L 575.102834 223 -L 575.069951 222 -L 575.040231 221 -L 575.027681 220 -L 575.015782 219 -L 575.010664 218 -L 575.002775 217 -L 575.000144 216 -L 575.000942 215 -L 575.004183 214 -L 575.019321 213 -L 575.026258 212 -L 575.042635 211 -L 575.061048 210 -L 575.09064 209 -L 575.112722 208 -L 575.170416 207 -L 575.195607 206 -L 575.26392 205 -L 575.311046 204 -L 575.348394 203 -L 575.403603 202 -L 575.493034 201 -L 575.596144 200 -L 575.650118 199 -L 575.680838 198 -L 575.736379 197 -L 575.774114 196 -L 575.842368 195 -L 575.878197 194 -L 575.947981 193 -L 576.007275 192 -L 576.045882 191 -L 576.079878 190 -L 576.122458 189 -L 576.169107 188 -L 576.223673 187 -L 576.309574 186 -L 576.35625 185 -L 576.413565 184 -L 576.443979 183 -L 576.52903 182 -L 576.562705 181 -L 576.650629 180 -L 576.705614 179 -L 576.744303 178 -L 576.814334 177 -L 576.84478 176 -L 576.902505 175 -L 576.919649 174 -L 576.944384 173 -L 576.959884 172 -L 576.983336 171 -L 576.99015 170 -L 576.994083 169 -L 576.997815 168 -L 576.999848 167 -L 576.991462 166 -L 576.975076 165 -L 576.948806 164 -L 576.935477 163 -L 576.905523 162 -L 576.871272 161 -L 576.850602 160 -L 576.80959 159 -L 576.736272 158 -L 576.713054 157 -L 576.672688 156 -L 576.645437 155 -L 576.564899 154 -L 576.511421 153 -L 576.43285 152 -L 576.384382 151 -L 576.270352 150 -L 576.169667 149 -L 576.085243 148 -L 575.993703 147 -L 575.89129 146 -L 575.850482 145 -L 575.807339 144 -L 575.768038 143 -L 575.734615 142 -L 575.691507 141 -L 575.585928 140 -L 575.530227 139 -L 575.4249 138 -L 575.327903 137 -L 575.304883 136 -L 575.277896 135 -L 575.247795 134 -L 575.174553 133 -L 575.137161 132 -L 575.102202 131 -L 575.083626 130 -L 575.05312 129 -L 575.040908 128 -L 575.031132 127 -L 575.021563 126 -L 575.013354 125 -L 575.002078 124 -L 575.000216 123 -L 575.006518 122 -L 575.012531 121 -L 575.017988 120 -L 575.03818 119 -L 575.048069 118 -L 575.075822 117 -L 575.094829 116 -L 575.110228 115 -L 575.139493 114 -L 575.203297 113 -L 575.25235 112 -L 575.322539 111 -L 575.351648 110 -L 575.411218 109 -L 575.458167 108 -L 575.509289 107 -L 575.563342 106 -L 575.645029 105 -L 575.723686 104 -L 575.760346 103 -L 575.882 102 -L 575.960942 101 -L 576.025433 100 -L 576.071061 99 -L 576.18671 98 -L 576.234985 97 -L 576.270508 96 -L 576.314086 95 -L 576.349862 94 -L 576.420687 93 -L 576.457091 92 -L 576.554567 91 -L 576.623631 90 -L 576.689597 89 -L 576.754127 88 -L 576.777549 87 -L 576.804954 86 -L 576.853448 85 -L 576.883441 84 -L 576.915979 83 -L 576.930722 82 -L 576.944262 81 -L 576.967697 80 -L 576.980177 79 -L 576.987315 78 -L 576.992913 77 -L 576.998519 76 -L 577 75 -L 576.994007 74 -L 576.988042 73 -L 576.97653 72 -L 576.952723 71 -L 576.94259 70 -L 576.900632 69 -L 576.85856 68 -L 576.827344 67 -L 576.757486 66 -L 576.71323 65 -L 576.63076 64 -L 576.542573 63 -L 576.497653 62 -L 576.401923 61 -L 576.329819 60 -L 576.234829 59 -L 576.178455 58 -L 576.134258 57 -L 576.078442 56 -L 576.038504 55 -L 575.963053 54 -L 575.905058 53 -L 575.867871 52 -L 575.809344 51 -L 575.706567 50 -L 575.64984 49 -L 575.578835 48 -L 575.517066 47 -L 575.479603 46 -L 575.444317 45 -L 575.400899 44 -L 575.35904 43 -L 575.331417 42 -L 575.280302 41 -L 575.246766 40 -L 575.184703 39 -L 575.165061 38 -L 575.103288 37 -L 575.080809 36 -L 575.060586 35 -L 575.039897 34 -L 575.01347 33 -L 575.002513 32 -L 575.000731 31 -L 575.003359 30 -L 575.009909 29 -L 575.031872 28 -L 575.070872 27 -L 575.091155 26 -L 575.107804 25 -L 575.169427 24 -L 575.198011 23 -L 575.221519 22 -L 575.265967 21 -L 575.29193 20 -L 575.34229 19 -L 575.418682 18 -L 575.446203 17 -L 575.478061 16 -L 575.513685 15 -L 575.601458 14 -L 575.698469 13 -L 575.778422 12 -L 575.896097 11 -L 575.968091 10 -L 576.072257 9 -L 576.183566 8 -L 576.278988 7 -L 576.373885 6 -L 576.440904 5 -L 576.501789 4 -L 576.54625 3 -L 576.581921 2 -L 576.661217 1 -L 576.691472 0 -L 575 -0.765116 -L 574 -0.797561 -L 573 -0.842088 -L 572 -0.863344 -L 571 -0.891696 -L 570 -0.920022 -L 569 -0.954355 -L 568 -0.967671 -L 567 -0.984463 -L 566 -0.995007 -L 565 -0.998126 -L 564 -0.999962 -L 563 -0.994973 -L 562 -0.989525 -L 561 -0.97538 -L 560 -0.940746 -L 559 -0.921719 -L 558 -0.879119 -L 557 -0.861014 -L 556 -0.816611 -L 555 -0.794181 -L 554 -0.753913 -L 553 -0.721408 -L 552 -0.658097 -L 551 -0.569587 -L 550 -0.483117 -L 549 -0.403482 -L 548 -0.349696 -L 547 -0.289585 -L 546 -0.218544 -L 545 -0.098423 -L 544 0.006039 -L 543 0.116842 -L 542 0.170115 -L 541 0.243365 -L 540 0.281948 -L 539 0.357711 -L 538 0.435272 -L 537 0.521412 -L 536 0.548855 -L 535 0.644831 -L 534 0.720941 -L 533 0.771105 -L 532 0.825458 -L 531 0.853129 -L 530 0.889151 -L 529 0.920712 -L 528 0.938819 -L 527 0.955558 -L 526 0.972565 -L 525 0.989619 -L 524 0.99403 -L 523 0.998289 -L 522 0.999886 -L 521 0.998359 -L 520 0.995935 -L 519 0.992476 -L 518 0.982211 -L 517 0.962483 -L 516 0.950784 -L 515 0.90804 -L 514 0.88236 -L 513 0.838178 -L 512 0.782063 -L 511 0.725365 -L 510 0.693505 -L 509 0.656796 -L 508 0.628663 -L 507 0.572864 -L 506 0.538147 -L 505 0.46646 -L 504 0.410402 -L 503 0.328747 -L 502 0.273173 -L 501 0.188865 -L 500 0.14624 -L 499 0.055234 -L 498 -0.005051 -L 497 -0.110128 -L 496 -0.174313 -L 495 -0.253509 -L 494 -0.319736 -L 493 -0.374012 -L 492 -0.407139 -L 491 -0.463853 -L 490 -0.50741 -L 489 -0.604653 -L 488 -0.678599 -L 487 -0.740393 -L 486 -0.768808 -L 485 -0.794142 -L 484 -0.860397 -L 483 -0.903414 -L 482 -0.931921 -L 481 -0.943915 -L 480 -0.957989 -L 479 -0.968817 -L 478 -0.984115 -L 477 -0.993971 -L 476 -0.999784 -L 475 -0.998949 -L 474 -0.996987 -L 473 -0.993379 -L 472 -0.976068 -L 471 -0.966337 -L 470 -0.932307 -L 469 -0.907236 -L 468 -0.868539 -L 467 -0.802605 -L 466 -0.761617 -L 465 -0.686776 -L 464 -0.654849 -L 463 -0.630635 -L 462 -0.604815 -L 461 -0.545775 -L 460 -0.491063 -L 459 -0.384861 -L 458 -0.304585 -L 457 -0.187843 -L 456 -0.08788 -L 455 -0.035566 -L 454 0.003007 -L 453 0.039368 -L 452 0.160354 -L 451 0.191539 -L 450 0.227915 -L 449 0.290066 -L 448 0.378077 -L 447 0.42247 -L 446 0.470988 -L 445 0.569778 -L 444 0.611246 -L 443 0.653898 -L 442 0.718748 -L 441 0.785183 -L 440 0.805272 -L 439 0.829751 -L 438 0.870359 -L 437 0.894905 -L 436 0.911852 -L 435 0.942871 -L 434 0.965923 -L 433 0.985366 -L 432 0.992773 -L 431 0.996995 -L 430 0.999656 -L 429 0.999239 -L 428 0.993894 -L 427 0.984738 -L 426 0.972213 -L 425 0.945446 -L 424 0.91655 -L 423 0.86624 -L 422 0.837897 -L 421 0.782994 -L 420 0.745187 -L 419 0.692498 -L 418 0.662794 -L 417 0.631793 -L 416 0.601321 -L 415 0.559084 -L 414 0.531062 -L 413 0.433515 -L 412 0.35707 -L 411 0.301773 -L 410 0.220903 -L 409 0.143522 -L 408 0.062112 -L 407 0.005147 -L 406 -0.117966 -L 405 -0.149535 -L 404 -0.216766 -L 403 -0.295058 -L 402 -0.387611 -L 401 -0.421765 -L 400 -0.452679 -L 399 -0.503004 -L 398 -0.547822 -L 397 -0.588823 -L 396 -0.618678 -L 395 -0.663526 -L 394 -0.74679 -L 393 -0.76885 -L 392 -0.812967 -L 391 -0.833129 -L 390 -0.893251 -L 389 -0.93548 -L 388 -0.958737 -L 387 -0.976732 -L 386 -0.983734 -L 385 -0.995973 -L 384 -0.999442 -L 383 -0.998259 -L 382 -0.994084 -L 381 -0.980354 -L 380 -0.972703 -L 379 -0.958263 -L 378 -0.927611 -L 377 -0.902922 -L 376 -0.882675 -L 375 -0.864202 -L 374 -0.845248 -L 373 -0.810642 -L 372 -0.743359 -L 371 -0.695131 -L 370 -0.665749 -L 369 -0.633906 -L 368 -0.555682 -L 367 -0.45647 -L 366 -0.412576 -L 365 -0.301816 -L 364 -0.248043 -L 363 -0.189835 -L 362 -0.153658 -L 361 -0.098867 -L 360 -0.015916 -L 359 0.031754 -L 358 0.120599 -L 357 0.168247 -L 356 0.248469 -L 355 0.337896 -L 354 0.382122 -L 353 0.441179 -L 352 0.539628 -L 351 0.57467 -L 350 0.620434 -L 349 0.673635 -L 348 0.709483 -L 347 0.751738 -L 346 0.793097 -L 345 0.820445 -L 344 0.88147 -L 343 0.904483 -L 342 0.919261 -L 341 0.934284 -L 340 0.947208 -L 339 0.979534 -L 338 0.996802 -L 337 0.999844 -L 336 0.997823 -L 335 0.99401 -L 334 0.978994 -L 333 0.970072 -L 332 0.95778 -L 331 0.929404 -L 330 0.901094 -L 329 0.866107 -L 328 0.813717 -L 327 0.765101 -L 326 0.721134 -L 325 0.682742 -L 324 0.590438 -L 323 0.563187 -L 322 0.517238 -L 321 0.475854 -L 320 0.436431 -L 319 0.377515 -L 318 0.273593 -L 317 0.227262 -L 316 0.140289 -L 315 0.091558 -L 314 0.053928 -L 313 0.017733 -L 312 -0.06793 -L 311 -0.161753 -L 310 -0.273189 -L 309 -0.360274 -L 308 -0.40709 -L 307 -0.463838 -L 306 -0.531601 -L 305 -0.573508 -L 304 -0.625352 -L 303 -0.650645 -L 302 -0.724163 -L 301 -0.770317 -L 300 -0.791479 -L 299 -0.851149 -L 298 -0.887991 -L 297 -0.917061 -L 296 -0.941292 -L 295 -0.951546 -L 294 -0.981839 -L 293 -0.994579 -L 292 -0.999784 -L 291 -0.999825 -L 290 -0.998417 -L 289 -0.992654 -L 288 -0.986301 -L 287 -0.967662 -L 286 -0.943214 -L 285 -0.912437 -L 284 -0.895086 -L 283 -0.880479 -L 282 -0.851999 -L 281 -0.833049 -L 280 -0.804776 -L 279 -0.736949 -L 278 -0.694852 -L 277 -0.659088 -L 276 -0.608192 -L 275 -0.546144 -L 274 -0.469078 -L 273 -0.390646 -L 272 -0.314256 -L 271 -0.272519 -L 270 -0.174586 -L 269 -0.104796 -L 268 -0.033939 -L 267 0.084549 -L 266 0.122597 -L 265 0.158643 -L 264 0.20132 -L 263 0.299241 -L 262 0.371531 -L 261 0.414118 -L 260 0.451421 -L 259 0.546295 -L 258 0.588994 -L 257 0.621715 -L 256 0.647784 -L 255 0.677809 -L 254 0.707013 -L 253 0.742447 -L 252 0.763133 -L 251 0.785911 -L 250 0.848282 -L 249 0.876933 -L 248 0.89743 -L 247 0.932584 -L 246 0.952705 -L 245 0.963835 -L 244 0.983785 -L 243 0.997162 -L 242 0.998974 -L 241 0.993744 -L 240 0.987133 -L 239 0.961107 -L 238 0.93948 -L 237 0.917584 -L 236 0.899066 -L 235 0.868853 -L 234 0.826455 -L 233 0.799415 -L 232 0.778893 -L 231 0.743514 -L 230 0.655618 -L 229 0.618638 -L 228 0.545793 -L 227 0.443104 -L 226 0.409892 -L 225 0.309442 -L 224 0.277702 -L 223 0.234758 -L 222 0.200953 -L 221 0.120665 -L 220 0.086322 -L 219 0.0144 -L 218 -0.061467 -L 217 -0.117562 -L 216 -0.207304 -L 215 -0.24726 -L 214 -0.314957 -L 213 -0.42911 -L 212 -0.460269 -L 211 -0.525752 -L 210 -0.557786 -L 209 -0.642979 -L 208 -0.673037 -L 207 -0.719408 -L 206 -0.749116 -L 205 -0.778759 -L 204 -0.843855 -L 203 -0.877651 -L 202 -0.902804 -L 201 -0.918897 -L 200 -0.955058 -L 199 -0.973964 -L 198 -0.984187 -L 197 -0.992492 -L 196 -0.999215 -L 195 -0.996501 -L 194 -0.988797 -L 193 -0.971166 -L 192 -0.940938 -L 191 -0.912341 -L 190 -0.885031 -L 189 -0.825603 -L 188 -0.77009 -L 187 -0.688452 -L 186 -0.647196 -L 185 -0.60259 -L 184 -0.511042 -L 183 -0.430427 -L 182 -0.384469 -L 181 -0.292923 -L 180 -0.225967 -L 179 -0.179248 -L 178 -0.136118 -L 177 -0.077875 -L 176 -0.030604 -L 175 0.026452 -L 174 0.080989 -L 173 0.196427 -L 172 0.315576 -L 171 0.370627 -L 170 0.40698 -L 169 0.502034 -L 168 0.546466 -L 167 0.575573 -L 166 0.667237 -L 165 0.714029 -L 164 0.749742 -L 163 0.795559 -L 162 0.859505 -L 161 0.892455 -L 160 0.917515 -L 159 0.933607 -L 158 0.970088 -L 157 0.979122 -L 156 0.985274 -L 155 0.990848 -L 154 0.99806 -L 153 0.99889 -L 152 0.994277 -L 151 0.981883 -L 150 0.973583 -L 149 0.937803 -L 148 0.919049 -L 147 0.901448 -L 146 0.87707 -L 145 0.844234 -L 144 0.771924 -L 143 0.735339 -L 142 0.713128 -L 141 0.683072 -L 140 0.643552 -L 139 0.614091 -L 138 0.569454 -L 137 0.500184 -L 136 0.392301 -L 135 0.355195 -L 134 0.247165 -L 133 0.140245 -L 132 0.103559 -L 131 0.051805 -L 130 -0.035129 -L 129 -0.106027 -L 128 -0.227181 -L 127 -0.260107 -L 126 -0.313632 -L 125 -0.359984 -L 124 -0.401339 -L 123 -0.450067 -L 122 -0.490327 -L 121 -0.533979 -L 120 -0.560575 -L 119 -0.651745 -L 118 -0.691652 -L 117 -0.720319 -L 116 -0.762616 -L 115 -0.811738 -L 114 -0.865675 -L 113 -0.918013 -L 112 -0.952001 -L 111 -0.967156 -L 110 -0.980387 -L 109 -0.992416 -L 108 -0.998222 -L 107 -0.99846 -L 106 -0.995029 -L 105 -0.978361 -L 104 -0.950969 -L 103 -0.910428 -L 102 -0.890133 -L 101 -0.872536 -L 100 -0.847806 -L 99 -0.794595 -L 98 -0.753623 -L 97 -0.693228 -L 96 -0.609661 -L 95 -0.563669 -L 94 -0.532753 -L 93 -0.502298 -L 92 -0.455614 -L 91 -0.387673 -L 90 -0.355756 -L 89 -0.30615 -L 88 -0.205734 -L 87 -0.170513 -L 86 -0.129026 -L 85 -0.0754 -L 84 -0.035334 -L 83 0.07453 -L 82 0.195709 -L 81 0.233871 -L 80 0.303602 -L 79 0.362359 -L 78 0.415477 -L 77 0.479944 -L 76 0.522985 -L 75 0.587131 -L 74 0.631929 -L 73 0.71055 -L 72 0.733761 -L 71 0.756219 -L 70 0.826066 -L 69 0.846169 -L 68 0.872053 -L 67 0.895656 -L 66 0.909427 -L 65 0.933238 -L 64 0.968289 -L 63 0.987905 -L 62 0.997925 -L 61 0.999511 -L 60 0.997397 -L 59 0.994191 -L 58 0.987806 -L 57 0.972822 -L 56 0.963505 -L 55 0.943913 -L 54 0.912031 -L 53 0.858743 -L 52 0.824485 -L 51 0.803278 -L 50 0.770858 -L 49 0.745139 -L 48 0.704247 -L 47 0.679944 -L 46 0.652386 -L 45 0.613312 -L 44 0.574818 -L 43 0.521172 -L 42 0.478431 -L 41 0.446006 -L 40 0.408082 -L 39 0.378531 -L 38 0.304491 -L 37 0.26975 -L 36 0.198648 -L 35 0.140692 -L 34 0.106477 -L 33 0.001931 -L 32 -0.031948 -L 31 -0.139586 -L 30 -0.197401 -L 29 -0.263521 -L 28 -0.338446 -L 27 -0.397233 -L 26 -0.504686 -L 25 -0.600611 -L 24 -0.660743 -L 23 -0.694963 -L 22 -0.772666 -L 21 -0.810252 -L 20 -0.853431 -L 19 -0.881952 -L 18 -0.917155 -L 17 -0.941985 -L 16 -0.967909 -L 15 -0.983386 -L 14 -0.988682 -L 13 -0.999195 -L 12 -0.999894 -L 11 -0.998307 -L 10 -0.983759 -L 9 -0.976299 -L 8 -0.949036 -L 7 -0.904736 -L 6 -0.887316 -L 5 -0.847912 -L 4 -0.811558 -L 3 -0.773772 -L 2 -0.719976 -L 0 -0.6736 -L -0.625248 1 -L -0.57127 2 -L -0.507815 3 -L -0.41649 4 -L -0.374633 5 -L -0.343546 6 -L -0.27172 7 -L -0.238363 8 -L -0.204546 9 -L -0.16887 10 -L -0.085534 11 -L -0.053624 12 -L 0.040791 13 -L 0.163353 14 -L 0.248217 15 -L 0.307634 16 -L 0.341295 17 -L 0.436499 18 -L 0.466063 19 -L 0.500969 20 -L 0.532344 21 -L 0.629809 22 -L 0.655764 23 -L 0.706154 24 -L 0.736458 25 -L 0.792812 26 -L 0.811609 27 -L 0.857562 28 -L 0.889309 29 -L 0.928102 30 -L 0.939367 31 -L 0.962917 32 -L 0.984478 33 -L 0.997526 34 -L 0.999538 35 -L 0.995753 36 -L 0.985115 37 -L 0.975318 38 -L 0.958534 39 -L 0.918546 40 -L 0.878403 41 -L 0.849158 42 -L 0.79297 43 -L 0.728315 44 -L 0.702635 45 -L 0.630177 46 -L 0.581336 47 -L 0.510439 48 -L 0.463434 49 -L 0.378435 50 -L 0.319363 51 -L 0.222007 52 -L 0.164991 53 -L 0.117272 54 -L 0.014472 55 -L -0.02234 56 -L -0.076322 57 -L -0.184562 58 -L -0.2602 59 -L -0.31553 60 -L -0.347777 61 -L -0.416353 62 -L -0.459389 63 -L -0.487952 64 -L -0.562466 65 -L -0.594614 66 -L -0.633657 67 -L -0.704582 68 -L -0.742738 69 -L -0.781239 70 -L -0.822464 71 -L -0.860217 72 -L -0.911822 73 -L -0.934482 74 -L -0.969474 75 -L -0.98441 76 -L -0.996883 77 -L -0.999377 78 -L -0.997667 79 -L -0.990768 80 -L -0.973342 81 -L -0.956407 82 -L -0.945227 83 -L -0.924291 84 -L -0.875606 85 -L -0.850806 86 -L -0.823432 87 -L -0.783114 88 -L -0.760187 89 -L -0.704025 90 -L -0.659989 91 -L -0.616491 92 -L -0.559006 93 -L -0.522812 94 -L -0.495364 95 -L -0.467239 96 -L -0.422296 97 -L -0.320379 98 -L -0.236637 99 -L -0.205303 100 -L -0.144729 101 -L -0.026538 102 -L 0.017226 103 -L 0.04926 104 -L 0.105515 105 -L 0.22903 106 -L 0.300206 107 -L 0.341773 108 -L 0.37704 109 -L 0.420393 110 -L 0.487558 111 -L 0.580358 112 -L 0.650854 113 -L 0.691959 114 -L 0.768831 115 -L 0.801376 116 -L 0.841236 117 -L 0.874431 118 -L 0.890969 119 -L 0.927446 120 -L 0.963483 121 -L 0.972432 122 -L 0.988429 123 -L 0.996319 124 -L 0.999895 125 -L 0.996799 126 -L 0.987033 127 -L 0.97377 128 -L 0.942355 129 -L 0.906664 130 -L 0.881038 131 -L 0.862092 132 -L 0.830678 133 -L 0.772571 134 -L 0.716419 135 -L 0.676783 136 -L 0.582157 137 -L 0.519227 138 -L 0.478763 139 -L 0.447139 140 -L 0.40453 141 -L 0.313182 142 -L 0.238514 143 -L 0.195632 144 -L 0.080774 145 -L -0.044337 146 -L -0.102267 147 -L -0.193938 148 -L -0.310477 149 -L -0.408029 150 -L -0.452502 151 -L -0.516962 152 -L -0.550534 153 -L -0.622316 154 -L -0.669351 155 -L -0.757146 156 -L -0.800149 157 -L -0.834509 158 -L -0.85207 159 -L -0.872354 160 -L -0.888212 161 -L -0.92473 162 -L -0.958305 163 -L -0.975528 164 -L -0.985845 165 -L -0.994201 166 -L -0.999896 167 -L -0.994187 168 -L -0.990069 169 -L -0.976917 170 -L -0.96587 171 -L -0.938511 172 -L -0.913218 173 -L -0.890446 174 -L -0.854054 175 -L -0.812807 176 -L -0.783319 177 -L -0.762338 178 -L -0.7181 179 -L -0.657794 180 -L -0.627516 181 -L -0.552709 182 -L -0.45367 183 -L -0.417209 184 -L -0.309864 185 -L -0.278564 186 -L -0.178908 187 -L -0.1292 188 -L -0.09734 189 -L -0.048052 190 -L 0.059125 191 -L 0.176294 192 -L 0.243923 193 -L 0.33879 194 -L 0.423477 195 -L 0.473971 196 -L 0.559699 197 -L 0.639038 198 -L 0.719441 199 -L 0.741948 200 -L 0.804237 201 -L 0.866676 202 -L 0.912554 203 -L 0.928877 204 -L 0.942867 205 -L 0.969584 206 -L 0.978976 207 -L 0.992336 208 -L 0.996199 209 -L 0.999669 210 -L 0.999452 211 -L 0.987873 212 -L 0.970207 213 -L 0.960378 214 -L 0.943126 215 -L 0.919047 216 -L 0.904695 217 -L 0.890761 218 -L 0.848831 219 -L 0.817457 220 -L 0.78119 221 -L 0.744194 222 -L 0.714233 223 -L 0.663958 224 -L 0.608774 225 -L 0.565306 226 -L 0.517094 227 -L 0.438295 228 -L 0.335053 229 -L 0.294185 230 -L 0.257329 231 -L 0.142324 232 -L 0.093922 233 -L 0.050679 234 -L 0.016176 235 -L -0.067266 236 -L -0.124899 237 -L -0.219326 238 -L -0.259961 239 -L -0.332909 240 -L -0.421783 241 -L -0.477713 242 -L -0.56476 243 -L -0.603306 244 -L -0.678593 245 -L -0.710352 246 -L -0.786973 247 -L -0.845684 248 -L -0.867242 249 -L -0.894782 250 -L -0.938136 251 -L -0.956954 252 -L -0.97281 253 -L -0.990081 254 -L -0.995143 255 -L -0.998625 256 -L -0.999954 257 -L -0.992646 258 -L -0.984258 259 -L -0.973159 260 -L -0.962317 261 -L -0.944201 262 -L -0.929045 263 -L -0.913208 264 -L -0.893663 265 -L -0.839374 266 -L -0.767989 267 -L -0.697232 268 -L -0.638825 269 -L -0.607223 270 -L -0.550885 271 -L -0.511916 272 -L -0.47796 273 -L -0.426496 274 -L -0.342586 275 -L -0.305985 276 -L -0.184442 277 -L -0.076239 278 -L -0.029753 279 -L 0.02223 280 -L 0.105604 281 -L 0.203258 282 -L 0.237991 283 -L 0.349841 284 -L 0.415061 285 -L 0.459371 286 -L 0.490208 287 -L 0.582577 288 -L 0.667386 289 -L 0.694872 290 -L 0.753492 291 -L 0.774135 292 -L 0.838396 293 -L 0.887048 294 -L 0.915368 295 -L 0.933019 296 -L 0.947087 297 -L 0.9568 298 -L 0.972045 299 -L 0.986823 300 -L 0.992309 301 -L 0.998588 302 -L 1 303 -L 0.992975 304 -L 0.98734 305 -L 0.965226 306 -L 0.942711 307 -L 0.902528 308 -L 0.877219 309 -L 0.852599 310 -L 0.792071 311 -L 0.757212 312 -L 0.698306 313 -L 0.66212 314 -L 0.578131 315 -L 0.502674 316 -L 0.456648 317 -L 0.346302 318 -L 0.305176 319 -L 0.206583 320 -L 0.123268 321 -L 0.007578 322 -L -0.075767 323 -L -0.111574 324 -L -0.17911 325 -L -0.293931 326 -L -0.325567 327 -L -0.419239 328 -L -0.467148 329 -L -0.510844 330 -L -0.549756 331 -L -0.586028 332 -L -0.620184 333 -L -0.679459 334 -L -0.751758 335 -L -0.799686 336 -L -0.8232 337 -L -0.860243 338 -L -0.882725 339 -L -0.91509 340 -L -0.945591 341 -L -0.958255 342 -L -0.981387 343 -L -0.990218 344 -L -0.995053 345 -L -1 346 -L -0.995963 347 -L -0.992324 348 -L -0.983784 349 -L -0.968845 350 -L -0.957236 351 -L -0.946025 352 -L -0.933497 353 -L -0.910001 354 -L -0.893416 355 -L -0.832449 356 -L -0.802141 357 -L -0.781052 358 -L -0.745224 359 -L -0.697439 360 -L -0.618068 361 -L -0.57605 362 -L -0.544429 363 -L -0.502615 364 -L -0.464104 365 -L -0.353647 366 -L -0.303057 367 -L -0.206166 368 -L -0.12605 369 -L -0.064537 370 -L 0.044428 371 -L 0.097656 372 -L 0.130989 373 -L 0.209118 374 -L 0.299266 375 -L 0.384939 376 -L 0.465853 377 -L 0.560424 378 -L 0.590155 379 -L 0.631208 380 -L 0.669588 381 -L 0.752768 382 -L 0.808393 383 -L 0.833494 384 -L 0.867663 385 -L 0.88394 386 -L 0.902499 387 -L 0.939217 388 -L 0.949606 389 -L 0.973933 390 -L 0.993261 391 -L 0.997329 392 -L 0.999931 393 -L 0.99938 394 -L 0.994114 395 -L 0.979911 396 -L 0.963888 397 -L 0.953969 398 -L 0.934574 399 -L 0.903867 400 -L 0.874188 401 -L 0.822829 402 -L 0.801492 403 -L 0.723052 404 -L 0.697214 405 -L 0.661441 406 -L 0.631598 407 -L 0.601977 408 -L 0.512661 409 -L 0.421503 410 -L 0.385314 411 -L 0.326621 412 -L 0.240956 413 -L 0.136659 414 -L 0.061918 415 -L 0.007837 416 -L -0.069824 417 -L -0.110815 418 -L -0.165853 419 -L -0.231153 420 -L -0.305046 421 -L -0.339018 422 -L -0.397415 423 -L -0.468981 424 -L -0.549572 425 -L -0.648504 426 -L -0.677243 427 -L -0.749456 428 -L -0.793339 429 -L -0.828271 430 -L -0.873186 431 -L -0.914779 432 -z -" style="fill:#ffffff;stroke:#ffffff;stroke-linejoin:miter;stroke-width:4;"/> - <path d="M 0 432 -L 1 432.031436 -L 2 432.068377 -L 3 432.166123 -L 4 432.198645 -L 5 432.27227 -L 6 432.310835 -L 7 432.346248 -L 8 432.403888 -L 9 432.474274 -L 10 432.526239 -L 11 432.585328 -L 12 432.673649 -L 13 432.719794 -L 14 432.762205 -L 15 432.792697 -L 16 432.818742 -L 17 432.839942 -L 18 432.894243 -L 19 432.922181 -L 20 432.951905 -L 21 432.9773 -L 22 432.9885 -L 23 432.998624 -L 24 432.99842 -L 25 432.98891 -L 26 432.977256 -L 27 432.946227 -L 28 432.935059 -L 29 432.904942 -L 30 432.845165 -L 31 432.807973 -L 32 432.768877 -L 33 432.726437 -L 34 432.693672 -L 35 432.626246 -L 36 432.58712 -L 37 432.544445 -L 38 432.473865 -L 39 432.437474 -L 40 432.379071 -L 41 432.268118 -L 42 432.19746 -L 43 432.08452 -L 44 432.038747 -L 45 431.977464 -L 46 431.928965 -L 47 431.848142 -L 48 431.729623 -L 49 431.659412 -L 50 431.57615 -L 51 431.543008 -L 52 431.491771 -L 53 431.423372 -L 54 431.357157 -L 55 431.28024 -L 56 431.252924 -L 57 431.226447 -L 58 431.203796 -L 59 431.184265 -L 60 431.157871 -L 61 431.1081 -L 62 431.073027 -L 63 431.037161 -L 64 431.021794 -L 65 431.006025 -L 66 431.002612 -L 67 431.000195 -L 68 431.000681 -L 69 431.00261 -L 70 431.015867 -L 71 431.024258 -L 72 431.045794 -L 73 431.068827 -L 74 431.08606 -L 75 431.104523 -L 76 431.124975 -L 77 431.141575 -L 78 431.204354 -L 79 431.279619 -L 80 431.312258 -L 81 431.379822 -L 82 431.433869 -L 83 431.467573 -L 84 431.557699 -L 85 431.586234 -L 86 431.61772 -L 87 431.648731 -L 88 431.703539 -L 89 431.768126 -L 90 431.806322 -L 91 431.902256 -L 92 431.951514 -L 93 431.995583 -L 94 432.035707 -L 95 432.144074 -L 96 432.185702 -L 97 432.247844 -L 98 432.317806 -L 99 432.42231 -L 100 432.459298 -L 101 432.505175 -L 102 432.57367 -L 103 432.622416 -L 104 432.700013 -L 105 432.730554 -L 106 432.800068 -L 107 432.824041 -L 108 432.852663 -L 109 432.894456 -L 110 432.916032 -L 111 432.92998 -L 112 432.956702 -L 113 432.966012 -L 114 432.978459 -L 115 432.989514 -L 116 432.995178 -L 117 432.999942 -L 118 432.994394 -L 119 432.981106 -L 120 432.973589 -L 121 432.948804 -L 122 432.925235 -L 123 432.889055 -L 124 432.863093 -L 125 432.840771 -L 126 432.772011 -L 127 432.697476 -L 128 432.603497 -L 129 432.552445 -L 130 432.498511 -L 131 432.46326 -L 132 432.357172 -L 133 432.304908 -L 134 432.268001 -L 135 432.23697 -L 136 432.175815 -L 137 432.108395 -L 138 432.059489 -L 139 431.994297 -L 140 431.956109 -L 141 431.914113 -L 142 431.872096 -L 143 431.81258 -L 144 431.69942 -L 145 431.647169 -L 146 431.607751 -L 147 431.56065 -L 148 431.50387 -L 149 431.471207 -L 150 431.435029 -L 151 431.402939 -L 152 431.368659 -L 153 431.310281 -L 154 431.265096 -L 155 431.235472 -L 156 431.185086 -L 157 431.159889 -L 158 431.138838 -L 159 431.10387 -L 160 431.07958 -L 161 431.065513 -L 162 431.046571 -L 163 431.03091 -L 164 431.018358 -L 165 431.012522 -L 166 431.00564 -L 167 431.000466 -L 168 431.002249 -L 169 431.004974 -L 170 431.016128 -L 171 431.044363 -L 172 431.088151 -L 173 431.10884 -L 174 431.149813 -L 175 431.189888 -L 176 431.208998 -L 177 431.231507 -L 178 431.298158 -L 179 431.347868 -L 180 431.421574 -L 181 431.452888 -L 182 431.52951 -L 183 431.567808 -L 184 431.641925 -L 185 431.745983 -L 186 431.815814 -L 187 431.921048 -L 188 431.976063 -L 189 432.099538 -L 190 432.170097 -L 191 432.285936 -L 192 432.336117 -L 193 432.371721 -L 194 432.463128 -L 195 432.516636 -L 196 432.604544 -L 197 432.673729 -L 198 432.720493 -L 199 432.792537 -L 200 432.842679 -L 201 432.860069 -L 202 432.887072 -L 203 432.906499 -L 204 432.925837 -L 205 432.964086 -L 206 432.980519 -L 207 432.988888 -L 208 432.993207 -L 209 432.999762 -L 210 432.997216 -L 211 432.991757 -L 212 432.975329 -L 213 432.943394 -L 214 432.905414 -L 215 432.87061 -L 216 432.807538 -L 217 432.786111 -L 218 432.735493 -L 219 432.710536 -L 220 432.654902 -L 221 432.623673 -L 222 432.573529 -L 223 432.541036 -L 224 432.460624 -L 225 432.391698 -L 226 432.276001 -L 227 432.200522 -L 228 432.084997 -L 229 432.005513 -L 230 431.897072 -L 231 431.857704 -L 232 431.754836 -L 233 431.655038 -L 234 431.609541 -L 235 431.575219 -L 236 431.523263 -L 237 431.483616 -L 238 431.448102 -L 239 431.380457 -L 240 431.341375 -L 241 431.290894 -L 242 431.241588 -L 243 431.190518 -L 244 431.146279 -L 245 431.124259 -L 246 431.108703 -L 247 431.066256 -L 248 431.051388 -L 249 431.02866 -L 250 431.008344 -L 251 431.002547 -L 252 431.000065 -L 253 431.003122 -L 254 431.014718 -L 255 431.031638 -L 256 431.063299 -L 257 431.077382 -L 258 431.130054 -L 259 431.179143 -L 260 431.233844 -L 261 431.278192 -L 262 431.348184 -L 263 431.398567 -L 264 431.452474 -L 265 431.521913 -L 266 431.579301 -L 267 431.629466 -L 268 431.706628 -L 269 431.764818 -L 270 431.825456 -L 271 431.862657 -L 272 431.927749 -L 273 432.032879 -L 274 432.093181 -L 275 432.189503 -L 276 432.221506 -L 277 432.272523 -L 278 432.389315 -L 279 432.424762 -L 280 432.480642 -L 281 432.511018 -L 282 432.599404 -L 283 432.644168 -L 284 432.725056 -L 285 432.785202 -L 286 432.848288 -L 287 432.871236 -L 288 432.887406 -L 289 432.916335 -L 290 432.946687 -L 291 432.959261 -L 292 432.98414 -L 293 432.996224 -L 294 432.999986 -L 295 432.99555 -L 296 432.983211 -L 297 432.968798 -L 298 432.952725 -L 299 432.917204 -L 300 432.89727 -L 301 432.840681 -L 302 432.773487 -L 303 432.746117 -L 304 432.711969 -L 305 432.663289 -L 306 432.615004 -L 307 432.555927 -L 308 432.460322 -L 309 432.417182 -L 310 432.367334 -L 311 432.3088 -L 312 432.261214 -L 313 432.200086 -L 314 432.144001 -L 315 432.06983 -L 316 431.952592 -L 317 431.896868 -L 318 431.788642 -L 319 431.682492 -L 320 431.57492 -L 321 431.540412 -L 322 431.437105 -L 323 431.361381 -L 324 431.321946 -L 325 431.282562 -L 326 431.26008 -L 327 431.204267 -L 328 431.178215 -L 329 431.14798 -L 330 431.097209 -L 331 431.078558 -L 332 431.056849 -L 333 431.044203 -L 334 431.02521 -L 335 431.00782 -L 336 431.000782 -L 337 431.001806 -L 338 431.00881 -L 339 431.01818 -L 340 431.041578 -L 341 431.066661 -L 342 431.07906 -L 343 431.112153 -L 344 431.12852 -L 345 431.146925 -L 346 431.196062 -L 347 431.239875 -L 348 431.28296 -L 349 431.305901 -L 350 431.346164 -L 351 431.431024 -L 352 431.473416 -L 353 431.537802 -L 354 431.582091 -L 355 431.689937 -L 356 431.766877 -L 357 431.803319 -L 358 431.858206 -L 359 431.933307 -L 360 431.991902 -L 361 432.028477 -L 362 432.140524 -L 363 432.202209 -L 364 432.252729 -L 365 432.351514 -L 366 432.389536 -L 367 432.424984 -L 368 432.516618 -L 369 432.55989 -L 370 432.613219 -L 371 432.646084 -L 372 432.708978 -L 373 432.762832 -L 374 432.819958 -L 375 432.842048 -L 376 432.885787 -L 377 432.932881 -L 378 432.949728 -L 379 432.977802 -L 380 432.988798 -L 381 432.993367 -L 382 432.999015 -L 383 432.999066 -L 384 432.995976 -L 385 432.992463 -L 386 432.986641 -L 387 432.973789 -L 388 432.950164 -L 389 432.93528 -L 390 432.911708 -L 391 432.875389 -L 392 432.843806 -L 393 432.813913 -L 394 432.735221 -L 395 432.69867 -L 396 432.672947 -L 397 432.602274 -L 398 432.511172 -L 399 432.449215 -L 400 432.415602 -L 401 432.381102 -L 402 432.283662 -L 403 432.236072 -L 404 432.204566 -L 405 432.160881 -L 406 432.090712 -L 407 432.040845 -L 408 432.006168 -L 409 431.89652 -L 410 431.863049 -L 411 431.825707 -L 412 431.745462 -L 413 431.706968 -L 414 431.665191 -L 415 431.622766 -L 416 431.513038 -L 417 431.424753 -L 418 431.350107 -L 419 431.26165 -L 420 431.187588 -L 421 431.138423 -L 422 431.082806 -L 423 431.048106 -L 424 431.036235 -L 425 431.014012 -L 426 431.002033 -L 427 431.000281 -L 428 431.005698 -L 429 431.021896 -L 430 431.038396 -L 431 431.069579 -L 432 431.082944 -L 433 431.112587 -L 434 431.17561 -L 435 431.224931 -L 436 431.27102 -L 437 431.353247 -L 438 431.39915 -L 439 431.433475 -L 440 431.487014 -L 441 431.575901 -L 442 431.607039 -L 443 431.715088 -L 444 431.82716 -L 445 431.862598 -L 446 431.947384 -L 447 432.012991 -L 448 432.115045 -L 449 432.23126 -L 450 432.271951 -L 451 432.31304 -L 452 432.349681 -L 453 432.390677 -L 454 432.466746 -L 455 432.542812 -L 456 432.5735 -L 457 432.599991 -L 458 432.656572 -L 459 432.701088 -L 460 432.731106 -L 461 432.758162 -L 462 432.800727 -L 463 432.853592 -L 464 432.884513 -L 465 432.910788 -L 466 432.925721 -L 467 432.95601 -L 468 432.977339 -L 469 432.994228 -L 470 432.998943 -L 471 432.999553 -L 472 432.997507 -L 473 432.991646 -L 474 432.972999 -L 475 432.940942 -L 476 432.894502 -L 477 432.852556 -L 478 432.785851 -L 479 432.716785 -L 480 432.66941 -L 481 432.617891 -L 482 432.578191 -L 483 432.508771 -L 484 432.44224 -L 485 432.333331 -L 486 432.268083 -L 487 432.159875 -L 488 432.098871 -L 489 432.050186 -L 490 431.973952 -L 491 431.914421 -L 492 431.839793 -L 493 431.720966 -L 494 431.623021 -L 495 431.543973 -L 496 431.498226 -L 497 431.470954 -L 498 431.427292 -L 499 431.378708 -L 500 431.346974 -L 501 431.266744 -L 502 431.200251 -L 503 431.176226 -L 504 431.115727 -L 505 431.093495 -L 506 431.074895 -L 507 431.045569 -L 508 431.029868 -L 509 431.021569 -L 510 431.011333 -L 511 431.00099 -L 512 431.001668 -L 513 431.005448 -L 514 431.021889 -L 515 431.034023 -L 516 431.044618 -L 517 431.075995 -L 518 431.101768 -L 519 431.133177 -L 520 431.155986 -L 521 431.17358 -L 522 431.223392 -L 523 431.271052 -L 524 431.342761 -L 525 431.398524 -L 526 431.424722 -L 527 431.45549 -L 528 431.545248 -L 529 431.630042 -L 530 431.695636 -L 531 431.741461 -L 532 431.784458 -L 533 431.845971 -L 534 431.945796 -L 535 431.990226 -L 536 432.040276 -L 537 432.162117 -L 538 432.22181 -L 539 432.253376 -L 540 432.285719 -L 541 432.340279 -L 542 432.382779 -L 543 432.434251 -L 544 432.522636 -L 545 432.556833 -L 546 432.600767 -L 547 432.66448 -L 548 432.739677 -L 549 432.768491 -L 550 432.810695 -L 551 432.85328 -L 552 432.870172 -L 553 432.892653 -L 554 432.93499 -L 555 432.96495 -L 556 432.983583 -L 557 432.993375 -L 558 432.997138 -L 559 432.999976 -L 560 432.998227 -L 561 432.988871 -L 562 432.978174 -L 563 432.968304 -L 564 432.949446 -L 565 432.919107 -L 566 432.880716 -L 567 432.82123 -L 568 432.777941 -L 569 432.717203 -L 570 432.633129 -L 571 432.584836 -L 572 432.541259 -L 573 432.514378 -L 574 432.482448 -L 576 432.415256 -L 576.334435 431 -L 576.25889 430 -L 576.21516 429 -L 576.135265 428 -L 576.073786 427 -L 576.010161 426 -L 575.902912 425 -L 575.784202 424 -L 575.742296 423 -L 575.699342 422 -L 575.637143 421 -L 575.607006 420 -L 575.574488 419 -L 575.522553 418 -L 575.417003 417 -L 575.368557 416 -L 575.322233 415 -L 575.288417 414 -L 575.24054 413 -L 575.185662 412 -L 575.161751 411 -L 575.135714 410 -L 575.079597 409 -L 575.065723 408 -L 575.039689 407 -L 575.012943 406 -L 575.005197 405 -L 575.000044 404 -L 575.006242 403 -L 575.012549 402 -L 575.02013 401 -L 575.047636 400 -L 575.091869 399 -L 575.121407 398 -L 575.163254 397 -L 575.222428 396 -L 575.245138 395 -L 575.28177 394 -L 575.338558 393 -L 575.363728 392 -L 575.446424 391 -L 575.533356 390 -L 575.58404 389 -L 575.621434 388 -L 575.705814 387 -L 575.740325 386 -L 575.832316 385 -L 575.919341 384 -L 576.042481 383 -L 576.08035 382 -L 576.127825 381 -L 576.233351 380 -L 576.330812 379 -L 576.407449 378 -L 576.439376 377 -L 576.493616 376 -L 576.532467 375 -L 576.606172 374 -L 576.638168 373 -L 576.694707 372 -L 576.730823 371 -L 576.799425 370 -L 576.830841 369 -L 576.885508 368 -L 576.904279 367 -L 576.949908 366 -L 576.972811 365 -L 576.981352 364 -L 576.988693 363 -L 576.994988 362 -L 576.998165 361 -L 576.999751 360 -L 576.998288 359 -L 576.985334 358 -L 576.970712 357 -L 576.958856 356 -L 576.940831 355 -L 576.920453 354 -L 576.897054 353 -L 576.882145 352 -L 576.827431 351 -L 576.793834 350 -L 576.731138 349 -L 576.703763 348 -L 576.659783 347 -L 576.580836 346 -L 576.523308 345 -L 576.473329 344 -L 576.401345 343 -L 576.364813 342 -L 576.2965 341 -L 576.208294 340 -L 576.086947 339 -L 576.021266 338 -L 575.987648 337 -L 575.923371 336 -L 575.8774 335 -L 575.805243 334 -L 575.765417 333 -L 575.722787 332 -L 575.616828 331 -L 575.564043 330 -L 575.484766 329 -L 575.442362 328 -L 575.410096 327 -L 575.37523 326 -L 575.332572 325 -L 575.300999 324 -L 575.23342 323 -L 575.196535 322 -L 575.168579 321 -L 575.147731 320 -L 575.122118 319 -L 575.0845 318 -L 575.069658 317 -L 575.044928 316 -L 575.026698 315 -L 575.015291 314 -L 575.009656 313 -L 575.004902 312 -L 575.000293 311 -L 575.001966 310 -L 575.007748 309 -L 575.027744 308 -L 575.039396 307 -L 575.050385 306 -L 575.063352 305 -L 575.113766 304 -L 575.134588 303 -L 575.162535 302 -L 575.21928 301 -L 575.241924 300 -L 575.293327 299 -L 575.334463 298 -L 575.417232 297 -L 575.465692 296 -L 575.517119 295 -L 575.568279 294 -L 575.635578 293 -L 575.668732 292 -L 575.73479 291 -L 575.790975 290 -L 575.852254 289 -L 575.892237 288 -L 575.98866 287 -L 576.10042 286 -L 576.139339 285 -L 576.237188 284 -L 576.271842 283 -L 576.355524 282 -L 576.40603 281 -L 576.475073 280 -L 576.576176 279 -L 576.628622 278 -L 576.71793 277 -L 576.782938 276 -L 576.824483 275 -L 576.866823 274 -L 576.888843 273 -L 576.92633 272 -L 576.943582 271 -L 576.96699 270 -L 576.975557 269 -L 576.984646 268 -L 576.991714 267 -L 576.998741 266 -L 576.999849 265 -L 576.999863 264 -L 576.997189 263 -L 576.994163 262 -L 576.988696 261 -L 576.968701 260 -L 576.95673 259 -L 576.929611 258 -L 576.902599 257 -L 576.875433 256 -L 576.820958 255 -L 576.791342 254 -L 576.749586 253 -L 576.676477 252 -L 576.633039 251 -L 576.562348 250 -L 576.523941 249 -L 576.463602 248 -L 576.432847 247 -L 576.402349 246 -L 576.343439 245 -L 576.300262 244 -L 576.25865 243 -L 576.209535 242 -L 576.144448 241 -L 576.078053 240 -L 575.95329 239 -L 575.909475 238 -L 575.855147 237 -L 575.748443 236 -L 575.705943 235 -L 575.668449 234 -L 575.578953 233 -L 575.52173 232 -L 575.452087 231 -L 575.403068 230 -L 575.347123 229 -L 575.299998 228 -L 575.26111 227 -L 575.207418 226 -L 575.161847 225 -L 575.12491 224 -L 575.102834 223 -L 575.069951 222 -L 575.040231 221 -L 575.027681 220 -L 575.015782 219 -L 575.010664 218 -L 575.002775 217 -L 575.000144 216 -L 575.000942 215 -L 575.004183 214 -L 575.019321 213 -L 575.026258 212 -L 575.042635 211 -L 575.061048 210 -L 575.09064 209 -L 575.112722 208 -L 575.170416 207 -L 575.195607 206 -L 575.26392 205 -L 575.311046 204 -L 575.348394 203 -L 575.403603 202 -L 575.493034 201 -L 575.596144 200 -L 575.650118 199 -L 575.680838 198 -L 575.736379 197 -L 575.774114 196 -L 575.842368 195 -L 575.878197 194 -L 575.947981 193 -L 576.007275 192 -L 576.045882 191 -L 576.079878 190 -L 576.122458 189 -L 576.169107 188 -L 576.223673 187 -L 576.309574 186 -L 576.35625 185 -L 576.413565 184 -L 576.443979 183 -L 576.52903 182 -L 576.562705 181 -L 576.650629 180 -L 576.705614 179 -L 576.744303 178 -L 576.814334 177 -L 576.84478 176 -L 576.902505 175 -L 576.919649 174 -L 576.944384 173 -L 576.959884 172 -L 576.983336 171 -L 576.99015 170 -L 576.994083 169 -L 576.997815 168 -L 576.999848 167 -L 576.991462 166 -L 576.975076 165 -L 576.948806 164 -L 576.935477 163 -L 576.905523 162 -L 576.871272 161 -L 576.850602 160 -L 576.80959 159 -L 576.736272 158 -L 576.713054 157 -L 576.672688 156 -L 576.645437 155 -L 576.564899 154 -L 576.511421 153 -L 576.43285 152 -L 576.384382 151 -L 576.270352 150 -L 576.169667 149 -L 576.085243 148 -L 575.993703 147 -L 575.89129 146 -L 575.850482 145 -L 575.807339 144 -L 575.768038 143 -L 575.734615 142 -L 575.691507 141 -L 575.585928 140 -L 575.530227 139 -L 575.4249 138 -L 575.327903 137 -L 575.304883 136 -L 575.277896 135 -L 575.247795 134 -L 575.174553 133 -L 575.137161 132 -L 575.102202 131 -L 575.083626 130 -L 575.05312 129 -L 575.040908 128 -L 575.031132 127 -L 575.021563 126 -L 575.013354 125 -L 575.002078 124 -L 575.000216 123 -L 575.006518 122 -L 575.012531 121 -L 575.017988 120 -L 575.03818 119 -L 575.048069 118 -L 575.075822 117 -L 575.094829 116 -L 575.110228 115 -L 575.139493 114 -L 575.203297 113 -L 575.25235 112 -L 575.322539 111 -L 575.351648 110 -L 575.411218 109 -L 575.458167 108 -L 575.509289 107 -L 575.563342 106 -L 575.645029 105 -L 575.723686 104 -L 575.760346 103 -L 575.882 102 -L 575.960942 101 -L 576.025433 100 -L 576.071061 99 -L 576.18671 98 -L 576.234985 97 -L 576.270508 96 -L 576.314086 95 -L 576.349862 94 -L 576.420687 93 -L 576.457091 92 -L 576.554567 91 -L 576.623631 90 -L 576.689597 89 -L 576.754127 88 -L 576.777549 87 -L 576.804954 86 -L 576.853448 85 -L 576.883441 84 -L 576.915979 83 -L 576.930722 82 -L 576.944262 81 -L 576.967697 80 -L 576.980177 79 -L 576.987315 78 -L 576.992913 77 -L 576.998519 76 -L 577 75 -L 576.994007 74 -L 576.988042 73 -L 576.97653 72 -L 576.952723 71 -L 576.94259 70 -L 576.900632 69 -L 576.85856 68 -L 576.827344 67 -L 576.757486 66 -L 576.71323 65 -L 576.63076 64 -L 576.542573 63 -L 576.497653 62 -L 576.401923 61 -L 576.329819 60 -L 576.234829 59 -L 576.178455 58 -L 576.134258 57 -L 576.078442 56 -L 576.038504 55 -L 575.963053 54 -L 575.905058 53 -L 575.867871 52 -L 575.809344 51 -L 575.706567 50 -L 575.64984 49 -L 575.578835 48 -L 575.517066 47 -L 575.479603 46 -L 575.444317 45 -L 575.400899 44 -L 575.35904 43 -L 575.331417 42 -L 575.280302 41 -L 575.246766 40 -L 575.184703 39 -L 575.165061 38 -L 575.103288 37 -L 575.080809 36 -L 575.060586 35 -L 575.039897 34 -L 575.01347 33 -L 575.002513 32 -L 575.000731 31 -L 575.003359 30 -L 575.009909 29 -L 575.031872 28 -L 575.070872 27 -L 575.091155 26 -L 575.107804 25 -L 575.169427 24 -L 575.198011 23 -L 575.221519 22 -L 575.265967 21 -L 575.29193 20 -L 575.34229 19 -L 575.418682 18 -L 575.446203 17 -L 575.478061 16 -L 575.513685 15 -L 575.601458 14 -L 575.698469 13 -L 575.778422 12 -L 575.896097 11 -L 575.968091 10 -L 576.072257 9 -L 576.183566 8 -L 576.278988 7 -L 576.373885 6 -L 576.440904 5 -L 576.501789 4 -L 576.54625 3 -L 576.581921 2 -L 576.661217 1 -L 576.691472 0 -L 575 -0.765116 -L 574 -0.797561 -L 573 -0.842088 -L 572 -0.863344 -L 571 -0.891696 -L 570 -0.920022 -L 569 -0.954355 -L 568 -0.967671 -L 567 -0.984463 -L 566 -0.995007 -L 565 -0.998126 -L 564 -0.999962 -L 563 -0.994973 -L 562 -0.989525 -L 561 -0.97538 -L 560 -0.940746 -L 559 -0.921719 -L 558 -0.879119 -L 557 -0.861014 -L 556 -0.816611 -L 555 -0.794181 -L 554 -0.753913 -L 553 -0.721408 -L 552 -0.658097 -L 551 -0.569587 -L 550 -0.483117 -L 549 -0.403482 -L 548 -0.349696 -L 547 -0.289585 -L 546 -0.218544 -L 545 -0.098423 -L 544 0.006039 -L 543 0.116842 -L 542 0.170115 -L 541 0.243365 -L 540 0.281948 -L 539 0.357711 -L 538 0.435272 -L 537 0.521412 -L 536 0.548855 -L 535 0.644831 -L 534 0.720941 -L 533 0.771105 -L 532 0.825458 -L 531 0.853129 -L 530 0.889151 -L 529 0.920712 -L 528 0.938819 -L 527 0.955558 -L 526 0.972565 -L 525 0.989619 -L 524 0.99403 -L 523 0.998289 -L 522 0.999886 -L 521 0.998359 -L 520 0.995935 -L 519 0.992476 -L 518 0.982211 -L 517 0.962483 -L 516 0.950784 -L 515 0.90804 -L 514 0.88236 -L 513 0.838178 -L 512 0.782063 -L 511 0.725365 -L 510 0.693505 -L 509 0.656796 -L 508 0.628663 -L 507 0.572864 -L 506 0.538147 -L 505 0.46646 -L 504 0.410402 -L 503 0.328747 -L 502 0.273173 -L 501 0.188865 -L 500 0.14624 -L 499 0.055234 -L 498 -0.005051 -L 497 -0.110128 -L 496 -0.174313 -L 495 -0.253509 -L 494 -0.319736 -L 493 -0.374012 -L 492 -0.407139 -L 491 -0.463853 -L 490 -0.50741 -L 489 -0.604653 -L 488 -0.678599 -L 487 -0.740393 -L 486 -0.768808 -L 485 -0.794142 -L 484 -0.860397 -L 483 -0.903414 -L 482 -0.931921 -L 481 -0.943915 -L 480 -0.957989 -L 479 -0.968817 -L 478 -0.984115 -L 477 -0.993971 -L 476 -0.999784 -L 475 -0.998949 -L 474 -0.996987 -L 473 -0.993379 -L 472 -0.976068 -L 471 -0.966337 -L 470 -0.932307 -L 469 -0.907236 -L 468 -0.868539 -L 467 -0.802605 -L 466 -0.761617 -L 465 -0.686776 -L 464 -0.654849 -L 463 -0.630635 -L 462 -0.604815 -L 461 -0.545775 -L 460 -0.491063 -L 459 -0.384861 -L 458 -0.304585 -L 457 -0.187843 -L 456 -0.08788 -L 455 -0.035566 -L 454 0.003007 -L 453 0.039368 -L 452 0.160354 -L 451 0.191539 -L 450 0.227915 -L 449 0.290066 -L 448 0.378077 -L 447 0.42247 -L 446 0.470988 -L 445 0.569778 -L 444 0.611246 -L 443 0.653898 -L 442 0.718748 -L 441 0.785183 -L 440 0.805272 -L 439 0.829751 -L 438 0.870359 -L 437 0.894905 -L 436 0.911852 -L 435 0.942871 -L 434 0.965923 -L 433 0.985366 -L 432 0.992773 -L 431 0.996995 -L 430 0.999656 -L 429 0.999239 -L 428 0.993894 -L 427 0.984738 -L 426 0.972213 -L 425 0.945446 -L 424 0.91655 -L 423 0.86624 -L 422 0.837897 -L 421 0.782994 -L 420 0.745187 -L 419 0.692498 -L 418 0.662794 -L 417 0.631793 -L 416 0.601321 -L 415 0.559084 -L 414 0.531062 -L 413 0.433515 -L 412 0.35707 -L 411 0.301773 -L 410 0.220903 -L 409 0.143522 -L 408 0.062112 -L 407 0.005147 -L 406 -0.117966 -L 405 -0.149535 -L 404 -0.216766 -L 403 -0.295058 -L 402 -0.387611 -L 401 -0.421765 -L 400 -0.452679 -L 399 -0.503004 -L 398 -0.547822 -L 397 -0.588823 -L 396 -0.618678 -L 395 -0.663526 -L 394 -0.74679 -L 393 -0.76885 -L 392 -0.812967 -L 391 -0.833129 -L 390 -0.893251 -L 389 -0.93548 -L 388 -0.958737 -L 387 -0.976732 -L 386 -0.983734 -L 385 -0.995973 -L 384 -0.999442 -L 383 -0.998259 -L 382 -0.994084 -L 381 -0.980354 -L 380 -0.972703 -L 379 -0.958263 -L 378 -0.927611 -L 377 -0.902922 -L 376 -0.882675 -L 375 -0.864202 -L 374 -0.845248 -L 373 -0.810642 -L 372 -0.743359 -L 371 -0.695131 -L 370 -0.665749 -L 369 -0.633906 -L 368 -0.555682 -L 367 -0.45647 -L 366 -0.412576 -L 365 -0.301816 -L 364 -0.248043 -L 363 -0.189835 -L 362 -0.153658 -L 361 -0.098867 -L 360 -0.015916 -L 359 0.031754 -L 358 0.120599 -L 357 0.168247 -L 356 0.248469 -L 355 0.337896 -L 354 0.382122 -L 353 0.441179 -L 352 0.539628 -L 351 0.57467 -L 350 0.620434 -L 349 0.673635 -L 348 0.709483 -L 347 0.751738 -L 346 0.793097 -L 345 0.820445 -L 344 0.88147 -L 343 0.904483 -L 342 0.919261 -L 341 0.934284 -L 340 0.947208 -L 339 0.979534 -L 338 0.996802 -L 337 0.999844 -L 336 0.997823 -L 335 0.99401 -L 334 0.978994 -L 333 0.970072 -L 332 0.95778 -L 331 0.929404 -L 330 0.901094 -L 329 0.866107 -L 328 0.813717 -L 327 0.765101 -L 326 0.721134 -L 325 0.682742 -L 324 0.590438 -L 323 0.563187 -L 322 0.517238 -L 321 0.475854 -L 320 0.436431 -L 319 0.377515 -L 318 0.273593 -L 317 0.227262 -L 316 0.140289 -L 315 0.091558 -L 314 0.053928 -L 313 0.017733 -L 312 -0.06793 -L 311 -0.161753 -L 310 -0.273189 -L 309 -0.360274 -L 308 -0.40709 -L 307 -0.463838 -L 306 -0.531601 -L 305 -0.573508 -L 304 -0.625352 -L 303 -0.650645 -L 302 -0.724163 -L 301 -0.770317 -L 300 -0.791479 -L 299 -0.851149 -L 298 -0.887991 -L 297 -0.917061 -L 296 -0.941292 -L 295 -0.951546 -L 294 -0.981839 -L 293 -0.994579 -L 292 -0.999784 -L 291 -0.999825 -L 290 -0.998417 -L 289 -0.992654 -L 288 -0.986301 -L 287 -0.967662 -L 286 -0.943214 -L 285 -0.912437 -L 284 -0.895086 -L 283 -0.880479 -L 282 -0.851999 -L 281 -0.833049 -L 280 -0.804776 -L 279 -0.736949 -L 278 -0.694852 -L 277 -0.659088 -L 276 -0.608192 -L 275 -0.546144 -L 274 -0.469078 -L 273 -0.390646 -L 272 -0.314256 -L 271 -0.272519 -L 270 -0.174586 -L 269 -0.104796 -L 268 -0.033939 -L 267 0.084549 -L 266 0.122597 -L 265 0.158643 -L 264 0.20132 -L 263 0.299241 -L 262 0.371531 -L 261 0.414118 -L 260 0.451421 -L 259 0.546295 -L 258 0.588994 -L 257 0.621715 -L 256 0.647784 -L 255 0.677809 -L 254 0.707013 -L 253 0.742447 -L 252 0.763133 -L 251 0.785911 -L 250 0.848282 -L 249 0.876933 -L 248 0.89743 -L 247 0.932584 -L 246 0.952705 -L 245 0.963835 -L 244 0.983785 -L 243 0.997162 -L 242 0.998974 -L 241 0.993744 -L 240 0.987133 -L 239 0.961107 -L 238 0.93948 -L 237 0.917584 -L 236 0.899066 -L 235 0.868853 -L 234 0.826455 -L 233 0.799415 -L 232 0.778893 -L 231 0.743514 -L 230 0.655618 -L 229 0.618638 -L 228 0.545793 -L 227 0.443104 -L 226 0.409892 -L 225 0.309442 -L 224 0.277702 -L 223 0.234758 -L 222 0.200953 -L 221 0.120665 -L 220 0.086322 -L 219 0.0144 -L 218 -0.061467 -L 217 -0.117562 -L 216 -0.207304 -L 215 -0.24726 -L 214 -0.314957 -L 213 -0.42911 -L 212 -0.460269 -L 211 -0.525752 -L 210 -0.557786 -L 209 -0.642979 -L 208 -0.673037 -L 207 -0.719408 -L 206 -0.749116 -L 205 -0.778759 -L 204 -0.843855 -L 203 -0.877651 -L 202 -0.902804 -L 201 -0.918897 -L 200 -0.955058 -L 199 -0.973964 -L 198 -0.984187 -L 197 -0.992492 -L 196 -0.999215 -L 195 -0.996501 -L 194 -0.988797 -L 193 -0.971166 -L 192 -0.940938 -L 191 -0.912341 -L 190 -0.885031 -L 189 -0.825603 -L 188 -0.77009 -L 187 -0.688452 -L 186 -0.647196 -L 185 -0.60259 -L 184 -0.511042 -L 183 -0.430427 -L 182 -0.384469 -L 181 -0.292923 -L 180 -0.225967 -L 179 -0.179248 -L 178 -0.136118 -L 177 -0.077875 -L 176 -0.030604 -L 175 0.026452 -L 174 0.080989 -L 173 0.196427 -L 172 0.315576 -L 171 0.370627 -L 170 0.40698 -L 169 0.502034 -L 168 0.546466 -L 167 0.575573 -L 166 0.667237 -L 165 0.714029 -L 164 0.749742 -L 163 0.795559 -L 162 0.859505 -L 161 0.892455 -L 160 0.917515 -L 159 0.933607 -L 158 0.970088 -L 157 0.979122 -L 156 0.985274 -L 155 0.990848 -L 154 0.99806 -L 153 0.99889 -L 152 0.994277 -L 151 0.981883 -L 150 0.973583 -L 149 0.937803 -L 148 0.919049 -L 147 0.901448 -L 146 0.87707 -L 145 0.844234 -L 144 0.771924 -L 143 0.735339 -L 142 0.713128 -L 141 0.683072 -L 140 0.643552 -L 139 0.614091 -L 138 0.569454 -L 137 0.500184 -L 136 0.392301 -L 135 0.355195 -L 134 0.247165 -L 133 0.140245 -L 132 0.103559 -L 131 0.051805 -L 130 -0.035129 -L 129 -0.106027 -L 128 -0.227181 -L 127 -0.260107 -L 126 -0.313632 -L 125 -0.359984 -L 124 -0.401339 -L 123 -0.450067 -L 122 -0.490327 -L 121 -0.533979 -L 120 -0.560575 -L 119 -0.651745 -L 118 -0.691652 -L 117 -0.720319 -L 116 -0.762616 -L 115 -0.811738 -L 114 -0.865675 -L 113 -0.918013 -L 112 -0.952001 -L 111 -0.967156 -L 110 -0.980387 -L 109 -0.992416 -L 108 -0.998222 -L 107 -0.99846 -L 106 -0.995029 -L 105 -0.978361 -L 104 -0.950969 -L 103 -0.910428 -L 102 -0.890133 -L 101 -0.872536 -L 100 -0.847806 -L 99 -0.794595 -L 98 -0.753623 -L 97 -0.693228 -L 96 -0.609661 -L 95 -0.563669 -L 94 -0.532753 -L 93 -0.502298 -L 92 -0.455614 -L 91 -0.387673 -L 90 -0.355756 -L 89 -0.30615 -L 88 -0.205734 -L 87 -0.170513 -L 86 -0.129026 -L 85 -0.0754 -L 84 -0.035334 -L 83 0.07453 -L 82 0.195709 -L 81 0.233871 -L 80 0.303602 -L 79 0.362359 -L 78 0.415477 -L 77 0.479944 -L 76 0.522985 -L 75 0.587131 -L 74 0.631929 -L 73 0.71055 -L 72 0.733761 -L 71 0.756219 -L 70 0.826066 -L 69 0.846169 -L 68 0.872053 -L 67 0.895656 -L 66 0.909427 -L 65 0.933238 -L 64 0.968289 -L 63 0.987905 -L 62 0.997925 -L 61 0.999511 -L 60 0.997397 -L 59 0.994191 -L 58 0.987806 -L 57 0.972822 -L 56 0.963505 -L 55 0.943913 -L 54 0.912031 -L 53 0.858743 -L 52 0.824485 -L 51 0.803278 -L 50 0.770858 -L 49 0.745139 -L 48 0.704247 -L 47 0.679944 -L 46 0.652386 -L 45 0.613312 -L 44 0.574818 -L 43 0.521172 -L 42 0.478431 -L 41 0.446006 -L 40 0.408082 -L 39 0.378531 -L 38 0.304491 -L 37 0.26975 -L 36 0.198648 -L 35 0.140692 -L 34 0.106477 -L 33 0.001931 -L 32 -0.031948 -L 31 -0.139586 -L 30 -0.197401 -L 29 -0.263521 -L 28 -0.338446 -L 27 -0.397233 -L 26 -0.504686 -L 25 -0.600611 -L 24 -0.660743 -L 23 -0.694963 -L 22 -0.772666 -L 21 -0.810252 -L 20 -0.853431 -L 19 -0.881952 -L 18 -0.917155 -L 17 -0.941985 -L 16 -0.967909 -L 15 -0.983386 -L 14 -0.988682 -L 13 -0.999195 -L 12 -0.999894 -L 11 -0.998307 -L 10 -0.983759 -L 9 -0.976299 -L 8 -0.949036 -L 7 -0.904736 -L 6 -0.887316 -L 5 -0.847912 -L 4 -0.811558 -L 3 -0.773772 -L 2 -0.719976 -L 0 -0.6736 -L -0.625248 1 -L -0.57127 2 -L -0.507815 3 -L -0.41649 4 -L -0.374633 5 -L -0.343546 6 -L -0.27172 7 -L -0.238363 8 -L -0.204546 9 -L -0.16887 10 -L -0.085534 11 -L -0.053624 12 -L 0.040791 13 -L 0.163353 14 -L 0.248217 15 -L 0.307634 16 -L 0.341295 17 -L 0.436499 18 -L 0.466063 19 -L 0.500969 20 -L 0.532344 21 -L 0.629809 22 -L 0.655764 23 -L 0.706154 24 -L 0.736458 25 -L 0.792812 26 -L 0.811609 27 -L 0.857562 28 -L 0.889309 29 -L 0.928102 30 -L 0.939367 31 -L 0.962917 32 -L 0.984478 33 -L 0.997526 34 -L 0.999538 35 -L 0.995753 36 -L 0.985115 37 -L 0.975318 38 -L 0.958534 39 -L 0.918546 40 -L 0.878403 41 -L 0.849158 42 -L 0.79297 43 -L 0.728315 44 -L 0.702635 45 -L 0.630177 46 -L 0.581336 47 -L 0.510439 48 -L 0.463434 49 -L 0.378435 50 -L 0.319363 51 -L 0.222007 52 -L 0.164991 53 -L 0.117272 54 -L 0.014472 55 -L -0.02234 56 -L -0.076322 57 -L -0.184562 58 -L -0.2602 59 -L -0.31553 60 -L -0.347777 61 -L -0.416353 62 -L -0.459389 63 -L -0.487952 64 -L -0.562466 65 -L -0.594614 66 -L -0.633657 67 -L -0.704582 68 -L -0.742738 69 -L -0.781239 70 -L -0.822464 71 -L -0.860217 72 -L -0.911822 73 -L -0.934482 74 -L -0.969474 75 -L -0.98441 76 -L -0.996883 77 -L -0.999377 78 -L -0.997667 79 -L -0.990768 80 -L -0.973342 81 -L -0.956407 82 -L -0.945227 83 -L -0.924291 84 -L -0.875606 85 -L -0.850806 86 -L -0.823432 87 -L -0.783114 88 -L -0.760187 89 -L -0.704025 90 -L -0.659989 91 -L -0.616491 92 -L -0.559006 93 -L -0.522812 94 -L -0.495364 95 -L -0.467239 96 -L -0.422296 97 -L -0.320379 98 -L -0.236637 99 -L -0.205303 100 -L -0.144729 101 -L -0.026538 102 -L 0.017226 103 -L 0.04926 104 -L 0.105515 105 -L 0.22903 106 -L 0.300206 107 -L 0.341773 108 -L 0.37704 109 -L 0.420393 110 -L 0.487558 111 -L 0.580358 112 -L 0.650854 113 -L 0.691959 114 -L 0.768831 115 -L 0.801376 116 -L 0.841236 117 -L 0.874431 118 -L 0.890969 119 -L 0.927446 120 -L 0.963483 121 -L 0.972432 122 -L 0.988429 123 -L 0.996319 124 -L 0.999895 125 -L 0.996799 126 -L 0.987033 127 -L 0.97377 128 -L 0.942355 129 -L 0.906664 130 -L 0.881038 131 -L 0.862092 132 -L 0.830678 133 -L 0.772571 134 -L 0.716419 135 -L 0.676783 136 -L 0.582157 137 -L 0.519227 138 -L 0.478763 139 -L 0.447139 140 -L 0.40453 141 -L 0.313182 142 -L 0.238514 143 -L 0.195632 144 -L 0.080774 145 -L -0.044337 146 -L -0.102267 147 -L -0.193938 148 -L -0.310477 149 -L -0.408029 150 -L -0.452502 151 -L -0.516962 152 -L -0.550534 153 -L -0.622316 154 -L -0.669351 155 -L -0.757146 156 -L -0.800149 157 -L -0.834509 158 -L -0.85207 159 -L -0.872354 160 -L -0.888212 161 -L -0.92473 162 -L -0.958305 163 -L -0.975528 164 -L -0.985845 165 -L -0.994201 166 -L -0.999896 167 -L -0.994187 168 -L -0.990069 169 -L -0.976917 170 -L -0.96587 171 -L -0.938511 172 -L -0.913218 173 -L -0.890446 174 -L -0.854054 175 -L -0.812807 176 -L -0.783319 177 -L -0.762338 178 -L -0.7181 179 -L -0.657794 180 -L -0.627516 181 -L -0.552709 182 -L -0.45367 183 -L -0.417209 184 -L -0.309864 185 -L -0.278564 186 -L -0.178908 187 -L -0.1292 188 -L -0.09734 189 -L -0.048052 190 -L 0.059125 191 -L 0.176294 192 -L 0.243923 193 -L 0.33879 194 -L 0.423477 195 -L 0.473971 196 -L 0.559699 197 -L 0.639038 198 -L 0.719441 199 -L 0.741948 200 -L 0.804237 201 -L 0.866676 202 -L 0.912554 203 -L 0.928877 204 -L 0.942867 205 -L 0.969584 206 -L 0.978976 207 -L 0.992336 208 -L 0.996199 209 -L 0.999669 210 -L 0.999452 211 -L 0.987873 212 -L 0.970207 213 -L 0.960378 214 -L 0.943126 215 -L 0.919047 216 -L 0.904695 217 -L 0.890761 218 -L 0.848831 219 -L 0.817457 220 -L 0.78119 221 -L 0.744194 222 -L 0.714233 223 -L 0.663958 224 -L 0.608774 225 -L 0.565306 226 -L 0.517094 227 -L 0.438295 228 -L 0.335053 229 -L 0.294185 230 -L 0.257329 231 -L 0.142324 232 -L 0.093922 233 -L 0.050679 234 -L 0.016176 235 -L -0.067266 236 -L -0.124899 237 -L -0.219326 238 -L -0.259961 239 -L -0.332909 240 -L -0.421783 241 -L -0.477713 242 -L -0.56476 243 -L -0.603306 244 -L -0.678593 245 -L -0.710352 246 -L -0.786973 247 -L -0.845684 248 -L -0.867242 249 -L -0.894782 250 -L -0.938136 251 -L -0.956954 252 -L -0.97281 253 -L -0.990081 254 -L -0.995143 255 -L -0.998625 256 -L -0.999954 257 -L -0.992646 258 -L -0.984258 259 -L -0.973159 260 -L -0.962317 261 -L -0.944201 262 -L -0.929045 263 -L -0.913208 264 -L -0.893663 265 -L -0.839374 266 -L -0.767989 267 -L -0.697232 268 -L -0.638825 269 -L -0.607223 270 -L -0.550885 271 -L -0.511916 272 -L -0.47796 273 -L -0.426496 274 -L -0.342586 275 -L -0.305985 276 -L -0.184442 277 -L -0.076239 278 -L -0.029753 279 -L 0.02223 280 -L 0.105604 281 -L 0.203258 282 -L 0.237991 283 -L 0.349841 284 -L 0.415061 285 -L 0.459371 286 -L 0.490208 287 -L 0.582577 288 -L 0.667386 289 -L 0.694872 290 -L 0.753492 291 -L 0.774135 292 -L 0.838396 293 -L 0.887048 294 -L 0.915368 295 -L 0.933019 296 -L 0.947087 297 -L 0.9568 298 -L 0.972045 299 -L 0.986823 300 -L 0.992309 301 -L 0.998588 302 -L 1 303 -L 0.992975 304 -L 0.98734 305 -L 0.965226 306 -L 0.942711 307 -L 0.902528 308 -L 0.877219 309 -L 0.852599 310 -L 0.792071 311 -L 0.757212 312 -L 0.698306 313 -L 0.66212 314 -L 0.578131 315 -L 0.502674 316 -L 0.456648 317 -L 0.346302 318 -L 0.305176 319 -L 0.206583 320 -L 0.123268 321 -L 0.007578 322 -L -0.075767 323 -L -0.111574 324 -L -0.17911 325 -L -0.293931 326 -L -0.325567 327 -L -0.419239 328 -L -0.467148 329 -L -0.510844 330 -L -0.549756 331 -L -0.586028 332 -L -0.620184 333 -L -0.679459 334 -L -0.751758 335 -L -0.799686 336 -L -0.8232 337 -L -0.860243 338 -L -0.882725 339 -L -0.91509 340 -L -0.945591 341 -L -0.958255 342 -L -0.981387 343 -L -0.990218 344 -L -0.995053 345 -L -1 346 -L -0.995963 347 -L -0.992324 348 -L -0.983784 349 -L -0.968845 350 -L -0.957236 351 -L -0.946025 352 -L -0.933497 353 -L -0.910001 354 -L -0.893416 355 -L -0.832449 356 -L -0.802141 357 -L -0.781052 358 -L -0.745224 359 -L -0.697439 360 -L -0.618068 361 -L -0.57605 362 -L -0.544429 363 -L -0.502615 364 -L -0.464104 365 -L -0.353647 366 -L -0.303057 367 -L -0.206166 368 -L -0.12605 369 -L -0.064537 370 -L 0.044428 371 -L 0.097656 372 -L 0.130989 373 -L 0.209118 374 -L 0.299266 375 -L 0.384939 376 -L 0.465853 377 -L 0.560424 378 -L 0.590155 379 -L 0.631208 380 -L 0.669588 381 -L 0.752768 382 -L 0.808393 383 -L 0.833494 384 -L 0.867663 385 -L 0.88394 386 -L 0.902499 387 -L 0.939217 388 -L 0.949606 389 -L 0.973933 390 -L 0.993261 391 -L 0.997329 392 -L 0.999931 393 -L 0.99938 394 -L 0.994114 395 -L 0.979911 396 -L 0.963888 397 -L 0.953969 398 -L 0.934574 399 -L 0.903867 400 -L 0.874188 401 -L 0.822829 402 -L 0.801492 403 -L 0.723052 404 -L 0.697214 405 -L 0.661441 406 -L 0.631598 407 -L 0.601977 408 -L 0.512661 409 -L 0.421503 410 -L 0.385314 411 -L 0.326621 412 -L 0.240956 413 -L 0.136659 414 -L 0.061918 415 -L 0.007837 416 -L -0.069824 417 -L -0.110815 418 -L -0.165853 419 -L -0.231153 420 -L -0.305046 421 -L -0.339018 422 -L -0.397415 423 -L -0.468981 424 -L -0.549572 425 -L -0.648504 426 -L -0.677243 427 -L -0.749456 428 -L -0.793339 429 -L -0.828271 430 -L -0.873186 431 -L -0.914779 432 -z -" style="fill:#ffffff;"/> - <g id="axes_1"> - <g id="patch_2"> - <path d="M 72 388.8 -L 73 388.831436 -L 74 388.868377 -L 75 388.966123 -L 76 388.998645 -L 77 389.07227 -L 78 389.110835 -L 79 389.146248 -L 80 389.203888 -L 81 389.274274 -L 82 389.326239 -L 83 389.385328 -L 84 389.473649 -L 85 389.519794 -L 86 389.562205 -L 87 389.592697 -L 88 389.618742 -L 89 389.639942 -L 90 389.694243 -L 91 389.722181 -L 92 389.751905 -L 93 389.7773 -L 94 389.7885 -L 95 389.798624 -L 96 389.79842 -L 97 389.78891 -L 98 389.777256 -L 99 389.746227 -L 100 389.735059 -L 101 389.704942 -L 102 389.645165 -L 103 389.607973 -L 104 389.568877 -L 105 389.526437 -L 106 389.493672 -L 107 389.426246 -L 108 389.38712 -L 109 389.344445 -L 110 389.273865 -L 111 389.237474 -L 112 389.179071 -L 113 389.068118 -L 114 388.99746 -L 115 388.88452 -L 116 388.838747 -L 117 388.777464 -L 118 388.728965 -L 119 388.648142 -L 120 388.529623 -L 121 388.459412 -L 122 388.37615 -L 123 388.343008 -L 124 388.291771 -L 125 388.223372 -L 126 388.157157 -L 127 388.08024 -L 128 388.052924 -L 129 388.026447 -L 130 388.003796 -L 131 387.984265 -L 132 387.957871 -L 133 387.9081 -L 134 387.873027 -L 135 387.837161 -L 136 387.821794 -L 137 387.806025 -L 138 387.802612 -L 139 387.800195 -L 140 387.800681 -L 141 387.80261 -L 142 387.815867 -L 143 387.824258 -L 144 387.845794 -L 145 387.868827 -L 146 387.88606 -L 147 387.904523 -L 148 387.924975 -L 149 387.941575 -L 150 388.004354 -L 151 388.079619 -L 152 388.112258 -L 153 388.179822 -L 154 388.233869 -L 155 388.267573 -L 156 388.357699 -L 157 388.386234 -L 158 388.41772 -L 159 388.448731 -L 160 388.503539 -L 161 388.568126 -L 162 388.606322 -L 163 388.702256 -L 164 388.751514 -L 165 388.795583 -L 166 388.835707 -L 167 388.944074 -L 168 388.985702 -L 169 389.047844 -L 170 389.117806 -L 171 389.22231 -L 172 389.259298 -L 173 389.305175 -L 174 389.37367 -L 175 389.422416 -L 176 389.500013 -L 177 389.530554 -L 178 389.600068 -L 179 389.624041 -L 180 389.652663 -L 181 389.694456 -L 182 389.716032 -L 183 389.72998 -L 184 389.756702 -L 185 389.766012 -L 186 389.778459 -L 187 389.789514 -L 188 389.795178 -L 189 389.799942 -L 190 389.794394 -L 191 389.781106 -L 192 389.773589 -L 193 389.748804 -L 194 389.725235 -L 195 389.689055 -L 196 389.663093 -L 197 389.640771 -L 198 389.572011 -L 199 389.497476 -L 200 389.403497 -L 201 389.352445 -L 202 389.298511 -L 203 389.26326 -L 204 389.157172 -L 205 389.104908 -L 206 389.068001 -L 207 389.03697 -L 208 388.975815 -L 209 388.908395 -L 210 388.859489 -L 211 388.794297 -L 212 388.756109 -L 213 388.714113 -L 214 388.672096 -L 215 388.61258 -L 216 388.49942 -L 217 388.447169 -L 218 388.407751 -L 219 388.36065 -L 220 388.30387 -L 221 388.271207 -L 222 388.235029 -L 223 388.202939 -L 224 388.168659 -L 225 388.110281 -L 226 388.065096 -L 227 388.035472 -L 228 387.985086 -L 229 387.959889 -L 230 387.938838 -L 231 387.90387 -L 232 387.87958 -L 233 387.865513 -L 234 387.846571 -L 235 387.83091 -L 236 387.818358 -L 237 387.812522 -L 238 387.80564 -L 239 387.800466 -L 240 387.802249 -L 241 387.804974 -L 242 387.816128 -L 243 387.844363 -L 244 387.888151 -L 245 387.90884 -L 246 387.949813 -L 247 387.989888 -L 248 388.008998 -L 249 388.031507 -L 250 388.098158 -L 251 388.147868 -L 252 388.221574 -L 253 388.252888 -L 254 388.32951 -L 255 388.367808 -L 256 388.441925 -L 257 388.545983 -L 258 388.615814 -L 259 388.721048 -L 260 388.776063 -L 261 388.899538 -L 262 388.970097 -L 263 389.085936 -L 264 389.136117 -L 265 389.171721 -L 266 389.263128 -L 267 389.316636 -L 268 389.404544 -L 269 389.473729 -L 270 389.520493 -L 271 389.592537 -L 272 389.642679 -L 273 389.660069 -L 274 389.687072 -L 275 389.706499 -L 276 389.725837 -L 277 389.764086 -L 278 389.780519 -L 279 389.788888 -L 280 389.793207 -L 281 389.799762 -L 282 389.797216 -L 283 389.791757 -L 284 389.775329 -L 285 389.743394 -L 286 389.705414 -L 287 389.67061 -L 288 389.607538 -L 289 389.586111 -L 290 389.535493 -L 291 389.510536 -L 292 389.454902 -L 293 389.423673 -L 294 389.373529 -L 295 389.341036 -L 296 389.260624 -L 297 389.191698 -L 298 389.076001 -L 299 389.000522 -L 300 388.884997 -L 301 388.805513 -L 302 388.697072 -L 303 388.657704 -L 304 388.554836 -L 305 388.455038 -L 306 388.409541 -L 307 388.375219 -L 308 388.323263 -L 309 388.283616 -L 310 388.248102 -L 311 388.180457 -L 312 388.141375 -L 313 388.090894 -L 314 388.041588 -L 315 387.990518 -L 316 387.946279 -L 317 387.924259 -L 318 387.908703 -L 319 387.866256 -L 320 387.851388 -L 321 387.82866 -L 322 387.808344 -L 323 387.802547 -L 324 387.800065 -L 325 387.803122 -L 326 387.814718 -L 327 387.831638 -L 328 387.863299 -L 329 387.877382 -L 330 387.930054 -L 331 387.979143 -L 332 388.033844 -L 333 388.078192 -L 334 388.148184 -L 335 388.198567 -L 336 388.252474 -L 337 388.321913 -L 338 388.379301 -L 339 388.429466 -L 340 388.506628 -L 341 388.564818 -L 342 388.625456 -L 343 388.662657 -L 344 388.727749 -L 345 388.832879 -L 346 388.893181 -L 347 388.989503 -L 348 389.021506 -L 349 389.072523 -L 350 389.189315 -L 351 389.224762 -L 352 389.280642 -L 353 389.311018 -L 354 389.399404 -L 355 389.444168 -L 356 389.525056 -L 357 389.585202 -L 358 389.648288 -L 359 389.671236 -L 360 389.687406 -L 361 389.716335 -L 362 389.746687 -L 363 389.759261 -L 364 389.78414 -L 365 389.796224 -L 366 389.799986 -L 367 389.79555 -L 368 389.783211 -L 369 389.768798 -L 370 389.752725 -L 371 389.717204 -L 372 389.69727 -L 373 389.640681 -L 374 389.573487 -L 375 389.546117 -L 376 389.511969 -L 377 389.463289 -L 378 389.415004 -L 379 389.355927 -L 380 389.260322 -L 381 389.217182 -L 382 389.167334 -L 383 389.1088 -L 384 389.061214 -L 385 389.000086 -L 386 388.944001 -L 387 388.86983 -L 388 388.752592 -L 389 388.696868 -L 390 388.588642 -L 391 388.482492 -L 392 388.37492 -L 393 388.340412 -L 394 388.237105 -L 395 388.161381 -L 396 388.121946 -L 397 388.082562 -L 398 388.06008 -L 399 388.004267 -L 400 387.978215 -L 401 387.94798 -L 402 387.897209 -L 403 387.878558 -L 404 387.856849 -L 405 387.844203 -L 406 387.82521 -L 407 387.80782 -L 408 387.800782 -L 409 387.801806 -L 410 387.80881 -L 411 387.81818 -L 412 387.841578 -L 413 387.866661 -L 414 387.87906 -L 415 387.912153 -L 416 387.92852 -L 417 387.946925 -L 418 387.996062 -L 419 388.039875 -L 420 388.08296 -L 421 388.105901 -L 422 388.146164 -L 423 388.231024 -L 424 388.273416 -L 425 388.337802 -L 426 388.382091 -L 427 388.489937 -L 428 388.566877 -L 429 388.603319 -L 430 388.658206 -L 431 388.733307 -L 432 388.791902 -L 433 388.828477 -L 434 388.940524 -L 435 389.002209 -L 436 389.052729 -L 437 389.151514 -L 438 389.189536 -L 439 389.224984 -L 440 389.316618 -L 441 389.35989 -L 442 389.413219 -L 443 389.446084 -L 444 389.508978 -L 445 389.562832 -L 446 389.619958 -L 447 389.642048 -L 448 389.685787 -L 449 389.732881 -L 450 389.749728 -L 451 389.777802 -L 452 389.788798 -L 453 389.793367 -L 454 389.799015 -L 455 389.799066 -L 456 389.795976 -L 457 389.792463 -L 458 389.786641 -L 459 389.773789 -L 460 389.750164 -L 461 389.73528 -L 462 389.711708 -L 463 389.675389 -L 464 389.643806 -L 465 389.613913 -L 466 389.535221 -L 467 389.49867 -L 468 389.472947 -L 469 389.402274 -L 470 389.311172 -L 471 389.249215 -L 472 389.215602 -L 473 389.181102 -L 474 389.083662 -L 475 389.036072 -L 476 389.004566 -L 477 388.960881 -L 478 388.890712 -L 479 388.840845 -L 480 388.806168 -L 481 388.69652 -L 482 388.663049 -L 483 388.625707 -L 484 388.545462 -L 485 388.506968 -L 486 388.465191 -L 487 388.422766 -L 488 388.313038 -L 489 388.224753 -L 490 388.150107 -L 491 388.06165 -L 492 387.987588 -L 493 387.938423 -L 494 387.882806 -L 495 387.848106 -L 496 387.836235 -L 497 387.814012 -L 498 387.802033 -L 499 387.800281 -L 500 387.805698 -L 501 387.821896 -L 502 387.838396 -L 503 387.869579 -L 504 387.882944 -L 505 387.912587 -L 506 387.97561 -L 507 388.024931 -L 508 388.07102 -L 509 388.153247 -L 510 388.19915 -L 511 388.233475 -L 512 388.287014 -L 513 388.375901 -L 514 388.407039 -L 515 388.515088 -L 516 388.62716 -L 517 388.662598 -L 518.4 388.747384 -L 518.412991 387.8 -L 518.515045 386.8 -L 518.63126 385.8 -L 518.671951 384.8 -L 518.71304 383.8 -L 518.749681 382.8 -L 518.790677 381.8 -L 518.866746 380.8 -L 518.942812 379.8 -L 518.9735 378.8 -L 518.999991 377.8 -L 519.056572 376.8 -L 519.101088 375.8 -L 519.131106 374.8 -L 519.158162 373.8 -L 519.200727 372.8 -L 519.253592 371.8 -L 519.284513 370.8 -L 519.310788 369.8 -L 519.325721 368.8 -L 519.35601 367.8 -L 519.377339 366.8 -L 519.394228 365.8 -L 519.398943 364.8 -L 519.399553 363.8 -L 519.397507 362.8 -L 519.391646 361.8 -L 519.372999 360.8 -L 519.340942 359.8 -L 519.294502 358.8 -L 519.252556 357.8 -L 519.185851 356.8 -L 519.116785 355.8 -L 519.06941 354.8 -L 519.017891 353.8 -L 518.978191 352.8 -L 518.908771 351.8 -L 518.84224 350.8 -L 518.733331 349.8 -L 518.668083 348.8 -L 518.559875 347.8 -L 518.498871 346.8 -L 518.450186 345.8 -L 518.373952 344.8 -L 518.314421 343.8 -L 518.239793 342.8 -L 518.120966 341.8 -L 518.023021 340.8 -L 517.943973 339.8 -L 517.898226 338.8 -L 517.870954 337.8 -L 517.827292 336.8 -L 517.778708 335.8 -L 517.746974 334.8 -L 517.666744 333.8 -L 517.600251 332.8 -L 517.576226 331.8 -L 517.515727 330.8 -L 517.493495 329.8 -L 517.474895 328.8 -L 517.445569 327.8 -L 517.429868 326.8 -L 517.421569 325.8 -L 517.411333 324.8 -L 517.40099 323.8 -L 517.401668 322.8 -L 517.405448 321.8 -L 517.421889 320.8 -L 517.434023 319.8 -L 517.444618 318.8 -L 517.475995 317.8 -L 517.501768 316.8 -L 517.533177 315.8 -L 517.555986 314.8 -L 517.57358 313.8 -L 517.623392 312.8 -L 517.671052 311.8 -L 517.742761 310.8 -L 517.798524 309.8 -L 517.824722 308.8 -L 517.85549 307.8 -L 517.945248 306.8 -L 518.030042 305.8 -L 518.095636 304.8 -L 518.141461 303.8 -L 518.184458 302.8 -L 518.245971 301.8 -L 518.345796 300.8 -L 518.390226 299.8 -L 518.440276 298.8 -L 518.562117 297.8 -L 518.62181 296.8 -L 518.653376 295.8 -L 518.685719 294.8 -L 518.740279 293.8 -L 518.782779 292.8 -L 518.834251 291.8 -L 518.922636 290.8 -L 518.956833 289.8 -L 519.000767 288.8 -L 519.06448 287.8 -L 519.139677 286.8 -L 519.168491 285.8 -L 519.210695 284.8 -L 519.25328 283.8 -L 519.270172 282.8 -L 519.292653 281.8 -L 519.33499 280.8 -L 519.36495 279.8 -L 519.383583 278.8 -L 519.393375 277.8 -L 519.397138 276.8 -L 519.399976 275.8 -L 519.398227 274.8 -L 519.388871 273.8 -L 519.378174 272.8 -L 519.368304 271.8 -L 519.349446 270.8 -L 519.319107 269.8 -L 519.280716 268.8 -L 519.22123 267.8 -L 519.177941 266.8 -L 519.117203 265.8 -L 519.033129 264.8 -L 518.984836 263.8 -L 518.941259 262.8 -L 518.914378 261.8 -L 518.882448 260.8 -L 518.815256 259.8 -L 518.734435 258.8 -L 518.65889 257.8 -L 518.61516 256.8 -L 518.535265 255.8 -L 518.473786 254.8 -L 518.410161 253.8 -L 518.302912 252.8 -L 518.184202 251.8 -L 518.142296 250.8 -L 518.099342 249.8 -L 518.037143 248.8 -L 518.007006 247.8 -L 517.974488 246.8 -L 517.922553 245.8 -L 517.817003 244.8 -L 517.768557 243.8 -L 517.722233 242.8 -L 517.688417 241.8 -L 517.64054 240.8 -L 517.585662 239.8 -L 517.561751 238.8 -L 517.535714 237.8 -L 517.479597 236.8 -L 517.465723 235.8 -L 517.439689 234.8 -L 517.412943 233.8 -L 517.405197 232.8 -L 517.400044 231.8 -L 517.406242 230.8 -L 517.412549 229.8 -L 517.42013 228.8 -L 517.447636 227.8 -L 517.491869 226.8 -L 517.521407 225.8 -L 517.563254 224.8 -L 517.622428 223.8 -L 517.645138 222.8 -L 517.68177 221.8 -L 517.738558 220.8 -L 517.763728 219.8 -L 517.846424 218.8 -L 517.933356 217.8 -L 517.98404 216.8 -L 518.021434 215.8 -L 518.105814 214.8 -L 518.140325 213.8 -L 518.232316 212.8 -L 518.319341 211.8 -L 518.442481 210.8 -L 518.48035 209.8 -L 518.527825 208.8 -L 518.633351 207.8 -L 518.730812 206.8 -L 518.807449 205.8 -L 518.839376 204.8 -L 518.893616 203.8 -L 518.932467 202.8 -L 519.006172 201.8 -L 519.038168 200.8 -L 519.094707 199.8 -L 519.130823 198.8 -L 519.199425 197.8 -L 519.230841 196.8 -L 519.285508 195.8 -L 519.304279 194.8 -L 519.349908 193.8 -L 519.372811 192.8 -L 519.381352 191.8 -L 519.388693 190.8 -L 519.394988 189.8 -L 519.398165 188.8 -L 519.399751 187.8 -L 519.398288 186.8 -L 519.385334 185.8 -L 519.370712 184.8 -L 519.358856 183.8 -L 519.340831 182.8 -L 519.320453 181.8 -L 519.297054 180.8 -L 519.282145 179.8 -L 519.227431 178.8 -L 519.193834 177.8 -L 519.131138 176.8 -L 519.103763 175.8 -L 519.059783 174.8 -L 518.980836 173.8 -L 518.923308 172.8 -L 518.873329 171.8 -L 518.801345 170.8 -L 518.764813 169.8 -L 518.6965 168.8 -L 518.608294 167.8 -L 518.486947 166.8 -L 518.421266 165.8 -L 518.387648 164.8 -L 518.323371 163.8 -L 518.2774 162.8 -L 518.205243 161.8 -L 518.165417 160.8 -L 518.122787 159.8 -L 518.016828 158.8 -L 517.964043 157.8 -L 517.884766 156.8 -L 517.842362 155.8 -L 517.810096 154.8 -L 517.77523 153.8 -L 517.732572 152.8 -L 517.700999 151.8 -L 517.63342 150.8 -L 517.596535 149.8 -L 517.568579 148.8 -L 517.547731 147.8 -L 517.522118 146.8 -L 517.4845 145.8 -L 517.469658 144.8 -L 517.444928 143.8 -L 517.426698 142.8 -L 517.415291 141.8 -L 517.409656 140.8 -L 517.404902 139.8 -L 517.400293 138.8 -L 517.401966 137.8 -L 517.407748 136.8 -L 517.427744 135.8 -L 517.439396 134.8 -L 517.450385 133.8 -L 517.463352 132.8 -L 517.513766 131.8 -L 517.534588 130.8 -L 517.562535 129.8 -L 517.61928 128.8 -L 517.641924 127.8 -L 517.693327 126.8 -L 517.734463 125.8 -L 517.817232 124.8 -L 517.865692 123.8 -L 517.917119 122.8 -L 517.968279 121.8 -L 518.035578 120.8 -L 518.068732 119.8 -L 518.13479 118.8 -L 518.190975 117.8 -L 518.252254 116.8 -L 518.292237 115.8 -L 518.38866 114.8 -L 518.50042 113.8 -L 518.539339 112.8 -L 518.637188 111.8 -L 518.671842 110.8 -L 518.755524 109.8 -L 518.80603 108.8 -L 518.875073 107.8 -L 518.976176 106.8 -L 519.028622 105.8 -L 519.11793 104.8 -L 519.182938 103.8 -L 519.224483 102.8 -L 519.266823 101.8 -L 519.288843 100.8 -L 519.32633 99.8 -L 519.343582 98.8 -L 519.36699 97.8 -L 519.375557 96.8 -L 519.384646 95.8 -L 519.391714 94.8 -L 519.398741 93.8 -L 519.399849 92.8 -L 519.399863 91.8 -L 519.397189 90.8 -L 519.394163 89.8 -L 519.388696 88.8 -L 519.368701 87.8 -L 519.35673 86.8 -L 519.329611 85.8 -L 519.302599 84.8 -L 519.275433 83.8 -L 519.220958 82.8 -L 519.191342 81.8 -L 519.149586 80.8 -L 519.076477 79.8 -L 519.033039 78.8 -L 518.962348 77.8 -L 518.923941 76.8 -L 518.863602 75.8 -L 518.832847 74.8 -L 518.802349 73.8 -L 518.743439 72.8 -L 518.700262 71.8 -L 518.65865 70.8 -L 518.609535 69.8 -L 518.544448 68.8 -L 518.478053 67.8 -L 518.35329 66.8 -L 518.309475 65.8 -L 518.255147 64.8 -L 518.148443 63.8 -L 518.105943 62.8 -L 518.068449 61.8 -L 517.978953 60.8 -L 517.92173 59.8 -L 517.852087 58.8 -L 517.803068 57.8 -L 517.747123 56.8 -L 517.699998 55.8 -L 517.66111 54.8 -L 517.607418 53.8 -L 517.561847 52.8 -L 517.52491 51.8 -L 517.502834 50.8 -L 517.469951 49.8 -L 517.440231 48.8 -L 517.427681 47.8 -L 517.415782 46.8 -L 517.410664 45.8 -L 517.402775 44.8 -L 517.400144 43.2 -L 517.4 44.199058 -L 516.4 44.195817 -L 515.4 44.180679 -L 514.4 44.173742 -L 513.4 44.157365 -L 512.4 44.138952 -L 511.4 44.10936 -L 510.4 44.087278 -L 509.4 44.029584 -L 508.4 44.004393 -L 507.4 43.93608 -L 506.4 43.888954 -L 505.4 43.851606 -L 504.4 43.796397 -L 503.4 43.706966 -L 502.4 43.603856 -L 501.4 43.549882 -L 500.4 43.519162 -L 499.4 43.463621 -L 498.4 43.425886 -L 497.4 43.357632 -L 496.4 43.321803 -L 495.4 43.252019 -L 494.4 43.192725 -L 493.4 43.154118 -L 492.4 43.120122 -L 491.4 43.077542 -L 490.4 43.030893 -L 489.4 42.976327 -L 488.4 42.890426 -L 487.4 42.84375 -L 486.4 42.786435 -L 485.4 42.756021 -L 484.4 42.67097 -L 483.4 42.637295 -L 482.4 42.549371 -L 481.4 42.494386 -L 480.4 42.455697 -L 479.4 42.385666 -L 478.4 42.35522 -L 477.4 42.297495 -L 476.4 42.280351 -L 475.4 42.255616 -L 474.4 42.240116 -L 473.4 42.216664 -L 472.4 42.20985 -L 471.4 42.205917 -L 470.4 42.202185 -L 469.4 42.200152 -L 468.4 42.208538 -L 467.4 42.224924 -L 466.4 42.251194 -L 465.4 42.264523 -L 464.4 42.294477 -L 463.4 42.328728 -L 462.4 42.349398 -L 461.4 42.39041 -L 460.4 42.463728 -L 459.4 42.486946 -L 458.4 42.527312 -L 457.4 42.554563 -L 456.4 42.635101 -L 455.4 42.688579 -L 454.4 42.76715 -L 453.4 42.815618 -L 452.4 42.929648 -L 451.4 43.030333 -L 450.4 43.114757 -L 449.4 43.206297 -L 448.4 43.30871 -L 447.4 43.349518 -L 446.4 43.392661 -L 445.4 43.431962 -L 444.4 43.465385 -L 443.4 43.508493 -L 442.4 43.614072 -L 441.4 43.669773 -L 440.4 43.7751 -L 439.4 43.872097 -L 438.4 43.895117 -L 437.4 43.922104 -L 436.4 43.952205 -L 435.4 44.025447 -L 434.4 44.062839 -L 433.4 44.097798 -L 432.4 44.116374 -L 431.4 44.14688 -L 430.4 44.159092 -L 429.4 44.168868 -L 428.4 44.178437 -L 427.4 44.186646 -L 426.4 44.197922 -L 425.4 44.199784 -L 424.4 44.193482 -L 423.4 44.187469 -L 422.4 44.182012 -L 421.4 44.16182 -L 420.4 44.151931 -L 419.4 44.124178 -L 418.4 44.105171 -L 417.4 44.089772 -L 416.4 44.060507 -L 415.4 43.996703 -L 414.4 43.94765 -L 413.4 43.877461 -L 412.4 43.848352 -L 411.4 43.788782 -L 410.4 43.741833 -L 409.4 43.690711 -L 408.4 43.636658 -L 407.4 43.554971 -L 406.4 43.476314 -L 405.4 43.439654 -L 404.4 43.318 -L 403.4 43.239058 -L 402.4 43.174567 -L 401.4 43.128939 -L 400.4 43.01329 -L 399.4 42.965015 -L 398.4 42.929492 -L 397.4 42.885914 -L 396.4 42.850138 -L 395.4 42.779313 -L 394.4 42.742909 -L 393.4 42.645433 -L 392.4 42.576369 -L 391.4 42.510403 -L 390.4 42.445873 -L 389.4 42.422451 -L 388.4 42.395046 -L 387.4 42.346552 -L 386.4 42.316559 -L 385.4 42.284021 -L 384.4 42.269278 -L 383.4 42.255738 -L 382.4 42.232303 -L 381.4 42.219823 -L 380.4 42.212685 -L 379.4 42.207087 -L 378.4 42.201481 -L 377.4 42.2 -L 376.4 42.205993 -L 375.4 42.211958 -L 374.4 42.22347 -L 373.4 42.247277 -L 372.4 42.25741 -L 371.4 42.299368 -L 370.4 42.34144 -L 369.4 42.372656 -L 368.4 42.442514 -L 367.4 42.48677 -L 366.4 42.56924 -L 365.4 42.657427 -L 364.4 42.702347 -L 363.4 42.798077 -L 362.4 42.870181 -L 361.4 42.965171 -L 360.4 43.021545 -L 359.4 43.065742 -L 358.4 43.121558 -L 357.4 43.161496 -L 356.4 43.236947 -L 355.4 43.294942 -L 354.4 43.332129 -L 353.4 43.390656 -L 352.4 43.493433 -L 351.4 43.55016 -L 350.4 43.621165 -L 349.4 43.682934 -L 348.4 43.720397 -L 347.4 43.755683 -L 346.4 43.799101 -L 345.4 43.84096 -L 344.4 43.868583 -L 343.4 43.919698 -L 342.4 43.953234 -L 341.4 44.015297 -L 340.4 44.034939 -L 339.4 44.096712 -L 338.4 44.119191 -L 337.4 44.139414 -L 336.4 44.160103 -L 335.4 44.18653 -L 334.4 44.197487 -L 333.4 44.199269 -L 332.4 44.196641 -L 331.4 44.190091 -L 330.4 44.168128 -L 329.4 44.129128 -L 328.4 44.108845 -L 327.4 44.092196 -L 326.4 44.030573 -L 325.4 44.001989 -L 324.4 43.978481 -L 323.4 43.934033 -L 322.4 43.90807 -L 321.4 43.85771 -L 320.4 43.781318 -L 319.4 43.753797 -L 318.4 43.721939 -L 317.4 43.686315 -L 316.4 43.598542 -L 315.4 43.501531 -L 314.4 43.421578 -L 313.4 43.303903 -L 312.4 43.231909 -L 311.4 43.127743 -L 310.4 43.016434 -L 309.4 42.921012 -L 308.4 42.826115 -L 307.4 42.759096 -L 306.4 42.698211 -L 305.4 42.65375 -L 304.4 42.618079 -L 303.4 42.538783 -L 302.4 42.508528 -L 301.4 42.434884 -L 300.4 42.402439 -L 299.4 42.357912 -L 298.4 42.336656 -L 297.4 42.308304 -L 296.4 42.279978 -L 295.4 42.245645 -L 294.4 42.232329 -L 293.4 42.215537 -L 292.4 42.204993 -L 291.4 42.201874 -L 290.4 42.200038 -L 289.4 42.205027 -L 288.4 42.210475 -L 287.4 42.22462 -L 286.4 42.259254 -L 285.4 42.278281 -L 284.4 42.320881 -L 283.4 42.338986 -L 282.4 42.383389 -L 281.4 42.405819 -L 280.4 42.446087 -L 279.4 42.478592 -L 278.4 42.541903 -L 277.4 42.630413 -L 276.4 42.716883 -L 275.4 42.796518 -L 274.4 42.850304 -L 273.4 42.910415 -L 272.4 42.981456 -L 271.4 43.101577 -L 270.4 43.206039 -L 269.4 43.316842 -L 268.4 43.370115 -L 267.4 43.443365 -L 266.4 43.481948 -L 265.4 43.557711 -L 264.4 43.635272 -L 263.4 43.721412 -L 262.4 43.748855 -L 261.4 43.844831 -L 260.4 43.920941 -L 259.4 43.971105 -L 258.4 44.025458 -L 257.4 44.053129 -L 256.4 44.089151 -L 255.4 44.120712 -L 254.4 44.138819 -L 253.4 44.155558 -L 252.4 44.172565 -L 251.4 44.189619 -L 250.4 44.19403 -L 249.4 44.198289 -L 248.4 44.199886 -L 247.4 44.198359 -L 246.4 44.195935 -L 245.4 44.192476 -L 244.4 44.182211 -L 243.4 44.162483 -L 242.4 44.150784 -L 241.4 44.10804 -L 240.4 44.08236 -L 239.4 44.038178 -L 238.4 43.982063 -L 237.4 43.925365 -L 236.4 43.893505 -L 235.4 43.856796 -L 234.4 43.828663 -L 233.4 43.772864 -L 232.4 43.738147 -L 231.4 43.66646 -L 230.4 43.610402 -L 229.4 43.528747 -L 228.4 43.473173 -L 227.4 43.388865 -L 226.4 43.34624 -L 225.4 43.255234 -L 224.4 43.194949 -L 223.4 43.089872 -L 222.4 43.025687 -L 221.4 42.946491 -L 220.4 42.880264 -L 219.4 42.825988 -L 218.4 42.792861 -L 217.4 42.736147 -L 216.4 42.69259 -L 215.4 42.595347 -L 214.4 42.521401 -L 213.4 42.459607 -L 212.4 42.431192 -L 211.4 42.405858 -L 210.4 42.339603 -L 209.4 42.296586 -L 208.4 42.268079 -L 207.4 42.256085 -L 206.4 42.242011 -L 205.4 42.231183 -L 204.4 42.215885 -L 203.4 42.206029 -L 202.4 42.200216 -L 201.4 42.201051 -L 200.4 42.203013 -L 199.4 42.206621 -L 198.4 42.223932 -L 197.4 42.233663 -L 196.4 42.267693 -L 195.4 42.292764 -L 194.4 42.331461 -L 193.4 42.397395 -L 192.4 42.438383 -L 191.4 42.513224 -L 190.4 42.545151 -L 189.4 42.569365 -L 188.4 42.595185 -L 187.4 42.654225 -L 186.4 42.708937 -L 185.4 42.815139 -L 184.4 42.895415 -L 183.4 43.012157 -L 182.4 43.11212 -L 181.4 43.164434 -L 180.4 43.203007 -L 179.4 43.239368 -L 178.4 43.360354 -L 177.4 43.391539 -L 176.4 43.427915 -L 175.4 43.490066 -L 174.4 43.578077 -L 173.4 43.62247 -L 172.4 43.670988 -L 171.4 43.769778 -L 170.4 43.811246 -L 169.4 43.853898 -L 168.4 43.918748 -L 167.4 43.985183 -L 166.4 44.005272 -L 165.4 44.029751 -L 164.4 44.070359 -L 163.4 44.094905 -L 162.4 44.111852 -L 161.4 44.142871 -L 160.4 44.165923 -L 159.4 44.185366 -L 158.4 44.192773 -L 157.4 44.196995 -L 156.4 44.199656 -L 155.4 44.199239 -L 154.4 44.193894 -L 153.4 44.184738 -L 152.4 44.172213 -L 151.4 44.145446 -L 150.4 44.11655 -L 149.4 44.06624 -L 148.4 44.037897 -L 147.4 43.982994 -L 146.4 43.945187 -L 145.4 43.892498 -L 144.4 43.862794 -L 143.4 43.831793 -L 142.4 43.801321 -L 141.4 43.759084 -L 140.4 43.731062 -L 139.4 43.633515 -L 138.4 43.55707 -L 137.4 43.501773 -L 136.4 43.420903 -L 135.4 43.343522 -L 134.4 43.262112 -L 133.4 43.205147 -L 132.4 43.082034 -L 131.4 43.050465 -L 130.4 42.983234 -L 129.4 42.904942 -L 128.4 42.812389 -L 127.4 42.778235 -L 126.4 42.747321 -L 125.4 42.696996 -L 124.4 42.652178 -L 123.4 42.611177 -L 122.4 42.581322 -L 121.4 42.536474 -L 120.4 42.45321 -L 119.4 42.43115 -L 118.4 42.387033 -L 117.4 42.366871 -L 116.4 42.306749 -L 115.4 42.26452 -L 114.4 42.241263 -L 113.4 42.223268 -L 112.4 42.216266 -L 111.4 42.204027 -L 110.4 42.200558 -L 109.4 42.201741 -L 108.4 42.205916 -L 107.4 42.219646 -L 106.4 42.227297 -L 105.4 42.241737 -L 104.4 42.272389 -L 103.4 42.297078 -L 102.4 42.317325 -L 101.4 42.335798 -L 100.4 42.354752 -L 99.4 42.389358 -L 98.4 42.456641 -L 97.4 42.504869 -L 96.4 42.534251 -L 95.4 42.566094 -L 94.4 42.644318 -L 93.4 42.74353 -L 92.4 42.787424 -L 91.4 42.898184 -L 90.4 42.951957 -L 89.4 43.010165 -L 88.4 43.046342 -L 87.4 43.101133 -L 86.4 43.184084 -L 85.4 43.231754 -L 84.4 43.320599 -L 83.4 43.368247 -L 82.4 43.448469 -L 81.4 43.537896 -L 80.4 43.582122 -L 79.4 43.641179 -L 78.4 43.739628 -L 77.4 43.77467 -L 76.4 43.820434 -L 75.4 43.873635 -L 74.4 43.909483 -L 73.4 43.951738 -L 72 43.993097 -L 72.820445 44.2 -L 72.88147 45.2 -L 72.904483 46.2 -L 72.919261 47.2 -L 72.934284 48.2 -L 72.947208 49.2 -L 72.979534 50.2 -L 72.996802 51.2 -L 72.999844 52.2 -L 72.997823 53.2 -L 72.99401 54.2 -L 72.978994 55.2 -L 72.970072 56.2 -L 72.95778 57.2 -L 72.929404 58.2 -L 72.901094 59.2 -L 72.866107 60.2 -L 72.813717 61.2 -L 72.765101 62.2 -L 72.721134 63.2 -L 72.682742 64.2 -L 72.590438 65.2 -L 72.563187 66.2 -L 72.517238 67.2 -L 72.475854 68.2 -L 72.436431 69.2 -L 72.377515 70.2 -L 72.273593 71.2 -L 72.227262 72.2 -L 72.140289 73.2 -L 72.091558 74.2 -L 72.053928 75.2 -L 72.017733 76.2 -L 71.93207 77.2 -L 71.838247 78.2 -L 71.726811 79.2 -L 71.639726 80.2 -L 71.59291 81.2 -L 71.536162 82.2 -L 71.468399 83.2 -L 71.426492 84.2 -L 71.374648 85.2 -L 71.349355 86.2 -L 71.275837 87.2 -L 71.229683 88.2 -L 71.208521 89.2 -L 71.148851 90.2 -L 71.112009 91.2 -L 71.082939 92.2 -L 71.058708 93.2 -L 71.048454 94.2 -L 71.018161 95.2 -L 71.005421 96.2 -L 71.000216 97.2 -L 71.000175 98.2 -L 71.001583 99.2 -L 71.007346 100.2 -L 71.013699 101.2 -L 71.032338 102.2 -L 71.056786 103.2 -L 71.087563 104.2 -L 71.104914 105.2 -L 71.119521 106.2 -L 71.148001 107.2 -L 71.166951 108.2 -L 71.195224 109.2 -L 71.263051 110.2 -L 71.305148 111.2 -L 71.340912 112.2 -L 71.391808 113.2 -L 71.453856 114.2 -L 71.530922 115.2 -L 71.609354 116.2 -L 71.685744 117.2 -L 71.727481 118.2 -L 71.825414 119.2 -L 71.895204 120.2 -L 71.966061 121.2 -L 72.084549 122.2 -L 72.122597 123.2 -L 72.158643 124.2 -L 72.20132 125.2 -L 72.299241 126.2 -L 72.371531 127.2 -L 72.414118 128.2 -L 72.451421 129.2 -L 72.546295 130.2 -L 72.588994 131.2 -L 72.621715 132.2 -L 72.647784 133.2 -L 72.677809 134.2 -L 72.707013 135.2 -L 72.742447 136.2 -L 72.763133 137.2 -L 72.785911 138.2 -L 72.848282 139.2 -L 72.876933 140.2 -L 72.89743 141.2 -L 72.932584 142.2 -L 72.952705 143.2 -L 72.963835 144.2 -L 72.983785 145.2 -L 72.997162 146.2 -L 72.998974 147.2 -L 72.993744 148.2 -L 72.987133 149.2 -L 72.961107 150.2 -L 72.93948 151.2 -L 72.917584 152.2 -L 72.899066 153.2 -L 72.868853 154.2 -L 72.826455 155.2 -L 72.799415 156.2 -L 72.778893 157.2 -L 72.743514 158.2 -L 72.655618 159.2 -L 72.618638 160.2 -L 72.545793 161.2 -L 72.443104 162.2 -L 72.409892 163.2 -L 72.309442 164.2 -L 72.277702 165.2 -L 72.234758 166.2 -L 72.200953 167.2 -L 72.120665 168.2 -L 72.086322 169.2 -L 72.0144 170.2 -L 71.938533 171.2 -L 71.882438 172.2 -L 71.792696 173.2 -L 71.75274 174.2 -L 71.685043 175.2 -L 71.57089 176.2 -L 71.539731 177.2 -L 71.474248 178.2 -L 71.442214 179.2 -L 71.357021 180.2 -L 71.326963 181.2 -L 71.280592 182.2 -L 71.250884 183.2 -L 71.221241 184.2 -L 71.156145 185.2 -L 71.122349 186.2 -L 71.097196 187.2 -L 71.081103 188.2 -L 71.044942 189.2 -L 71.026036 190.2 -L 71.015813 191.2 -L 71.007508 192.2 -L 71.000785 193.2 -L 71.003499 194.2 -L 71.011203 195.2 -L 71.028834 196.2 -L 71.059062 197.2 -L 71.087659 198.2 -L 71.114969 199.2 -L 71.174397 200.2 -L 71.22991 201.2 -L 71.311548 202.2 -L 71.352804 203.2 -L 71.39741 204.2 -L 71.488958 205.2 -L 71.569573 206.2 -L 71.615531 207.2 -L 71.707077 208.2 -L 71.774033 209.2 -L 71.820752 210.2 -L 71.863882 211.2 -L 71.922125 212.2 -L 71.969396 213.2 -L 72.026452 214.2 -L 72.080989 215.2 -L 72.196427 216.2 -L 72.315576 217.2 -L 72.370627 218.2 -L 72.40698 219.2 -L 72.502034 220.2 -L 72.546466 221.2 -L 72.575573 222.2 -L 72.667237 223.2 -L 72.714029 224.2 -L 72.749742 225.2 -L 72.795559 226.2 -L 72.859505 227.2 -L 72.892455 228.2 -L 72.917515 229.2 -L 72.933607 230.2 -L 72.970088 231.2 -L 72.979122 232.2 -L 72.985274 233.2 -L 72.990848 234.2 -L 72.99806 235.2 -L 72.99889 236.2 -L 72.994277 237.2 -L 72.981883 238.2 -L 72.973583 239.2 -L 72.937803 240.2 -L 72.919049 241.2 -L 72.901448 242.2 -L 72.87707 243.2 -L 72.844234 244.2 -L 72.771924 245.2 -L 72.735339 246.2 -L 72.713128 247.2 -L 72.683072 248.2 -L 72.643552 249.2 -L 72.614091 250.2 -L 72.569454 251.2 -L 72.500184 252.2 -L 72.392301 253.2 -L 72.355195 254.2 -L 72.247165 255.2 -L 72.140245 256.2 -L 72.103559 257.2 -L 72.051805 258.2 -L 71.964871 259.2 -L 71.893973 260.2 -L 71.772819 261.2 -L 71.739893 262.2 -L 71.686368 263.2 -L 71.640016 264.2 -L 71.598661 265.2 -L 71.549933 266.2 -L 71.509673 267.2 -L 71.466021 268.2 -L 71.439425 269.2 -L 71.348255 270.2 -L 71.308348 271.2 -L 71.279681 272.2 -L 71.237384 273.2 -L 71.188262 274.2 -L 71.134325 275.2 -L 71.081987 276.2 -L 71.047999 277.2 -L 71.032844 278.2 -L 71.019613 279.2 -L 71.007584 280.2 -L 71.001778 281.2 -L 71.00154 282.2 -L 71.004971 283.2 -L 71.021639 284.2 -L 71.049031 285.2 -L 71.089572 286.2 -L 71.109867 287.2 -L 71.127464 288.2 -L 71.152194 289.2 -L 71.205405 290.2 -L 71.246377 291.2 -L 71.306772 292.2 -L 71.390339 293.2 -L 71.436331 294.2 -L 71.467247 295.2 -L 71.497702 296.2 -L 71.544386 297.2 -L 71.612327 298.2 -L 71.644244 299.2 -L 71.69385 300.2 -L 71.794266 301.2 -L 71.829487 302.2 -L 71.870974 303.2 -L 71.9246 304.2 -L 71.964666 305.2 -L 72.07453 306.2 -L 72.195709 307.2 -L 72.233871 308.2 -L 72.303602 309.2 -L 72.362359 310.2 -L 72.415477 311.2 -L 72.479944 312.2 -L 72.522985 313.2 -L 72.587131 314.2 -L 72.631929 315.2 -L 72.71055 316.2 -L 72.733761 317.2 -L 72.756219 318.2 -L 72.826066 319.2 -L 72.846169 320.2 -L 72.872053 321.2 -L 72.895656 322.2 -L 72.909427 323.2 -L 72.933238 324.2 -L 72.968289 325.2 -L 72.987905 326.2 -L 72.997925 327.2 -L 72.999511 328.2 -L 72.997397 329.2 -L 72.994191 330.2 -L 72.987806 331.2 -L 72.972822 332.2 -L 72.963505 333.2 -L 72.943913 334.2 -L 72.912031 335.2 -L 72.858743 336.2 -L 72.824485 337.2 -L 72.803278 338.2 -L 72.770858 339.2 -L 72.745139 340.2 -L 72.704247 341.2 -L 72.679944 342.2 -L 72.652386 343.2 -L 72.613312 344.2 -L 72.574818 345.2 -L 72.521172 346.2 -L 72.478431 347.2 -L 72.446006 348.2 -L 72.408082 349.2 -L 72.378531 350.2 -L 72.304491 351.2 -L 72.26975 352.2 -L 72.198648 353.2 -L 72.140692 354.2 -L 72.106477 355.2 -L 72.001931 356.2 -L 71.968052 357.2 -L 71.860414 358.2 -L 71.802599 359.2 -L 71.736479 360.2 -L 71.661554 361.2 -L 71.602767 362.2 -L 71.495314 363.2 -L 71.399389 364.2 -L 71.339257 365.2 -L 71.305037 366.2 -L 71.227334 367.2 -L 71.189748 368.2 -L 71.146569 369.2 -L 71.118048 370.2 -L 71.082845 371.2 -L 71.058015 372.2 -L 71.032091 373.2 -L 71.016614 374.2 -L 71.011318 375.2 -L 71.000805 376.2 -L 71.000106 377.2 -L 71.001693 378.2 -L 71.016241 379.2 -L 71.023701 380.2 -L 71.050964 381.2 -L 71.095264 382.2 -L 71.112684 383.2 -L 71.152088 384.2 -L 71.188442 385.2 -L 71.226228 386.2 -L 71.280024 387.2 -L 71.3264 388.8 -z -" style="fill:#ffffff;stroke:#ffffff;stroke-linejoin:miter;stroke-width:4;"/> - <path d="M 72 388.8 -L 73 388.831436 -L 74 388.868377 -L 75 388.966123 -L 76 388.998645 -L 77 389.07227 -L 78 389.110835 -L 79 389.146248 -L 80 389.203888 -L 81 389.274274 -L 82 389.326239 -L 83 389.385328 -L 84 389.473649 -L 85 389.519794 -L 86 389.562205 -L 87 389.592697 -L 88 389.618742 -L 89 389.639942 -L 90 389.694243 -L 91 389.722181 -L 92 389.751905 -L 93 389.7773 -L 94 389.7885 -L 95 389.798624 -L 96 389.79842 -L 97 389.78891 -L 98 389.777256 -L 99 389.746227 -L 100 389.735059 -L 101 389.704942 -L 102 389.645165 -L 103 389.607973 -L 104 389.568877 -L 105 389.526437 -L 106 389.493672 -L 107 389.426246 -L 108 389.38712 -L 109 389.344445 -L 110 389.273865 -L 111 389.237474 -L 112 389.179071 -L 113 389.068118 -L 114 388.99746 -L 115 388.88452 -L 116 388.838747 -L 117 388.777464 -L 118 388.728965 -L 119 388.648142 -L 120 388.529623 -L 121 388.459412 -L 122 388.37615 -L 123 388.343008 -L 124 388.291771 -L 125 388.223372 -L 126 388.157157 -L 127 388.08024 -L 128 388.052924 -L 129 388.026447 -L 130 388.003796 -L 131 387.984265 -L 132 387.957871 -L 133 387.9081 -L 134 387.873027 -L 135 387.837161 -L 136 387.821794 -L 137 387.806025 -L 138 387.802612 -L 139 387.800195 -L 140 387.800681 -L 141 387.80261 -L 142 387.815867 -L 143 387.824258 -L 144 387.845794 -L 145 387.868827 -L 146 387.88606 -L 147 387.904523 -L 148 387.924975 -L 149 387.941575 -L 150 388.004354 -L 151 388.079619 -L 152 388.112258 -L 153 388.179822 -L 154 388.233869 -L 155 388.267573 -L 156 388.357699 -L 157 388.386234 -L 158 388.41772 -L 159 388.448731 -L 160 388.503539 -L 161 388.568126 -L 162 388.606322 -L 163 388.702256 -L 164 388.751514 -L 165 388.795583 -L 166 388.835707 -L 167 388.944074 -L 168 388.985702 -L 169 389.047844 -L 170 389.117806 -L 171 389.22231 -L 172 389.259298 -L 173 389.305175 -L 174 389.37367 -L 175 389.422416 -L 176 389.500013 -L 177 389.530554 -L 178 389.600068 -L 179 389.624041 -L 180 389.652663 -L 181 389.694456 -L 182 389.716032 -L 183 389.72998 -L 184 389.756702 -L 185 389.766012 -L 186 389.778459 -L 187 389.789514 -L 188 389.795178 -L 189 389.799942 -L 190 389.794394 -L 191 389.781106 -L 192 389.773589 -L 193 389.748804 -L 194 389.725235 -L 195 389.689055 -L 196 389.663093 -L 197 389.640771 -L 198 389.572011 -L 199 389.497476 -L 200 389.403497 -L 201 389.352445 -L 202 389.298511 -L 203 389.26326 -L 204 389.157172 -L 205 389.104908 -L 206 389.068001 -L 207 389.03697 -L 208 388.975815 -L 209 388.908395 -L 210 388.859489 -L 211 388.794297 -L 212 388.756109 -L 213 388.714113 -L 214 388.672096 -L 215 388.61258 -L 216 388.49942 -L 217 388.447169 -L 218 388.407751 -L 219 388.36065 -L 220 388.30387 -L 221 388.271207 -L 222 388.235029 -L 223 388.202939 -L 224 388.168659 -L 225 388.110281 -L 226 388.065096 -L 227 388.035472 -L 228 387.985086 -L 229 387.959889 -L 230 387.938838 -L 231 387.90387 -L 232 387.87958 -L 233 387.865513 -L 234 387.846571 -L 235 387.83091 -L 236 387.818358 -L 237 387.812522 -L 238 387.80564 -L 239 387.800466 -L 240 387.802249 -L 241 387.804974 -L 242 387.816128 -L 243 387.844363 -L 244 387.888151 -L 245 387.90884 -L 246 387.949813 -L 247 387.989888 -L 248 388.008998 -L 249 388.031507 -L 250 388.098158 -L 251 388.147868 -L 252 388.221574 -L 253 388.252888 -L 254 388.32951 -L 255 388.367808 -L 256 388.441925 -L 257 388.545983 -L 258 388.615814 -L 259 388.721048 -L 260 388.776063 -L 261 388.899538 -L 262 388.970097 -L 263 389.085936 -L 264 389.136117 -L 265 389.171721 -L 266 389.263128 -L 267 389.316636 -L 268 389.404544 -L 269 389.473729 -L 270 389.520493 -L 271 389.592537 -L 272 389.642679 -L 273 389.660069 -L 274 389.687072 -L 275 389.706499 -L 276 389.725837 -L 277 389.764086 -L 278 389.780519 -L 279 389.788888 -L 280 389.793207 -L 281 389.799762 -L 282 389.797216 -L 283 389.791757 -L 284 389.775329 -L 285 389.743394 -L 286 389.705414 -L 287 389.67061 -L 288 389.607538 -L 289 389.586111 -L 290 389.535493 -L 291 389.510536 -L 292 389.454902 -L 293 389.423673 -L 294 389.373529 -L 295 389.341036 -L 296 389.260624 -L 297 389.191698 -L 298 389.076001 -L 299 389.000522 -L 300 388.884997 -L 301 388.805513 -L 302 388.697072 -L 303 388.657704 -L 304 388.554836 -L 305 388.455038 -L 306 388.409541 -L 307 388.375219 -L 308 388.323263 -L 309 388.283616 -L 310 388.248102 -L 311 388.180457 -L 312 388.141375 -L 313 388.090894 -L 314 388.041588 -L 315 387.990518 -L 316 387.946279 -L 317 387.924259 -L 318 387.908703 -L 319 387.866256 -L 320 387.851388 -L 321 387.82866 -L 322 387.808344 -L 323 387.802547 -L 324 387.800065 -L 325 387.803122 -L 326 387.814718 -L 327 387.831638 -L 328 387.863299 -L 329 387.877382 -L 330 387.930054 -L 331 387.979143 -L 332 388.033844 -L 333 388.078192 -L 334 388.148184 -L 335 388.198567 -L 336 388.252474 -L 337 388.321913 -L 338 388.379301 -L 339 388.429466 -L 340 388.506628 -L 341 388.564818 -L 342 388.625456 -L 343 388.662657 -L 344 388.727749 -L 345 388.832879 -L 346 388.893181 -L 347 388.989503 -L 348 389.021506 -L 349 389.072523 -L 350 389.189315 -L 351 389.224762 -L 352 389.280642 -L 353 389.311018 -L 354 389.399404 -L 355 389.444168 -L 356 389.525056 -L 357 389.585202 -L 358 389.648288 -L 359 389.671236 -L 360 389.687406 -L 361 389.716335 -L 362 389.746687 -L 363 389.759261 -L 364 389.78414 -L 365 389.796224 -L 366 389.799986 -L 367 389.79555 -L 368 389.783211 -L 369 389.768798 -L 370 389.752725 -L 371 389.717204 -L 372 389.69727 -L 373 389.640681 -L 374 389.573487 -L 375 389.546117 -L 376 389.511969 -L 377 389.463289 -L 378 389.415004 -L 379 389.355927 -L 380 389.260322 -L 381 389.217182 -L 382 389.167334 -L 383 389.1088 -L 384 389.061214 -L 385 389.000086 -L 386 388.944001 -L 387 388.86983 -L 388 388.752592 -L 389 388.696868 -L 390 388.588642 -L 391 388.482492 -L 392 388.37492 -L 393 388.340412 -L 394 388.237105 -L 395 388.161381 -L 396 388.121946 -L 397 388.082562 -L 398 388.06008 -L 399 388.004267 -L 400 387.978215 -L 401 387.94798 -L 402 387.897209 -L 403 387.878558 -L 404 387.856849 -L 405 387.844203 -L 406 387.82521 -L 407 387.80782 -L 408 387.800782 -L 409 387.801806 -L 410 387.80881 -L 411 387.81818 -L 412 387.841578 -L 413 387.866661 -L 414 387.87906 -L 415 387.912153 -L 416 387.92852 -L 417 387.946925 -L 418 387.996062 -L 419 388.039875 -L 420 388.08296 -L 421 388.105901 -L 422 388.146164 -L 423 388.231024 -L 424 388.273416 -L 425 388.337802 -L 426 388.382091 -L 427 388.489937 -L 428 388.566877 -L 429 388.603319 -L 430 388.658206 -L 431 388.733307 -L 432 388.791902 -L 433 388.828477 -L 434 388.940524 -L 435 389.002209 -L 436 389.052729 -L 437 389.151514 -L 438 389.189536 -L 439 389.224984 -L 440 389.316618 -L 441 389.35989 -L 442 389.413219 -L 443 389.446084 -L 444 389.508978 -L 445 389.562832 -L 446 389.619958 -L 447 389.642048 -L 448 389.685787 -L 449 389.732881 -L 450 389.749728 -L 451 389.777802 -L 452 389.788798 -L 453 389.793367 -L 454 389.799015 -L 455 389.799066 -L 456 389.795976 -L 457 389.792463 -L 458 389.786641 -L 459 389.773789 -L 460 389.750164 -L 461 389.73528 -L 462 389.711708 -L 463 389.675389 -L 464 389.643806 -L 465 389.613913 -L 466 389.535221 -L 467 389.49867 -L 468 389.472947 -L 469 389.402274 -L 470 389.311172 -L 471 389.249215 -L 472 389.215602 -L 473 389.181102 -L 474 389.083662 -L 475 389.036072 -L 476 389.004566 -L 477 388.960881 -L 478 388.890712 -L 479 388.840845 -L 480 388.806168 -L 481 388.69652 -L 482 388.663049 -L 483 388.625707 -L 484 388.545462 -L 485 388.506968 -L 486 388.465191 -L 487 388.422766 -L 488 388.313038 -L 489 388.224753 -L 490 388.150107 -L 491 388.06165 -L 492 387.987588 -L 493 387.938423 -L 494 387.882806 -L 495 387.848106 -L 496 387.836235 -L 497 387.814012 -L 498 387.802033 -L 499 387.800281 -L 500 387.805698 -L 501 387.821896 -L 502 387.838396 -L 503 387.869579 -L 504 387.882944 -L 505 387.912587 -L 506 387.97561 -L 507 388.024931 -L 508 388.07102 -L 509 388.153247 -L 510 388.19915 -L 511 388.233475 -L 512 388.287014 -L 513 388.375901 -L 514 388.407039 -L 515 388.515088 -L 516 388.62716 -L 517 388.662598 -L 518.4 388.747384 -L 518.412991 387.8 -L 518.515045 386.8 -L 518.63126 385.8 -L 518.671951 384.8 -L 518.71304 383.8 -L 518.749681 382.8 -L 518.790677 381.8 -L 518.866746 380.8 -L 518.942812 379.8 -L 518.9735 378.8 -L 518.999991 377.8 -L 519.056572 376.8 -L 519.101088 375.8 -L 519.131106 374.8 -L 519.158162 373.8 -L 519.200727 372.8 -L 519.253592 371.8 -L 519.284513 370.8 -L 519.310788 369.8 -L 519.325721 368.8 -L 519.35601 367.8 -L 519.377339 366.8 -L 519.394228 365.8 -L 519.398943 364.8 -L 519.399553 363.8 -L 519.397507 362.8 -L 519.391646 361.8 -L 519.372999 360.8 -L 519.340942 359.8 -L 519.294502 358.8 -L 519.252556 357.8 -L 519.185851 356.8 -L 519.116785 355.8 -L 519.06941 354.8 -L 519.017891 353.8 -L 518.978191 352.8 -L 518.908771 351.8 -L 518.84224 350.8 -L 518.733331 349.8 -L 518.668083 348.8 -L 518.559875 347.8 -L 518.498871 346.8 -L 518.450186 345.8 -L 518.373952 344.8 -L 518.314421 343.8 -L 518.239793 342.8 -L 518.120966 341.8 -L 518.023021 340.8 -L 517.943973 339.8 -L 517.898226 338.8 -L 517.870954 337.8 -L 517.827292 336.8 -L 517.778708 335.8 -L 517.746974 334.8 -L 517.666744 333.8 -L 517.600251 332.8 -L 517.576226 331.8 -L 517.515727 330.8 -L 517.493495 329.8 -L 517.474895 328.8 -L 517.445569 327.8 -L 517.429868 326.8 -L 517.421569 325.8 -L 517.411333 324.8 -L 517.40099 323.8 -L 517.401668 322.8 -L 517.405448 321.8 -L 517.421889 320.8 -L 517.434023 319.8 -L 517.444618 318.8 -L 517.475995 317.8 -L 517.501768 316.8 -L 517.533177 315.8 -L 517.555986 314.8 -L 517.57358 313.8 -L 517.623392 312.8 -L 517.671052 311.8 -L 517.742761 310.8 -L 517.798524 309.8 -L 517.824722 308.8 -L 517.85549 307.8 -L 517.945248 306.8 -L 518.030042 305.8 -L 518.095636 304.8 -L 518.141461 303.8 -L 518.184458 302.8 -L 518.245971 301.8 -L 518.345796 300.8 -L 518.390226 299.8 -L 518.440276 298.8 -L 518.562117 297.8 -L 518.62181 296.8 -L 518.653376 295.8 -L 518.685719 294.8 -L 518.740279 293.8 -L 518.782779 292.8 -L 518.834251 291.8 -L 518.922636 290.8 -L 518.956833 289.8 -L 519.000767 288.8 -L 519.06448 287.8 -L 519.139677 286.8 -L 519.168491 285.8 -L 519.210695 284.8 -L 519.25328 283.8 -L 519.270172 282.8 -L 519.292653 281.8 -L 519.33499 280.8 -L 519.36495 279.8 -L 519.383583 278.8 -L 519.393375 277.8 -L 519.397138 276.8 -L 519.399976 275.8 -L 519.398227 274.8 -L 519.388871 273.8 -L 519.378174 272.8 -L 519.368304 271.8 -L 519.349446 270.8 -L 519.319107 269.8 -L 519.280716 268.8 -L 519.22123 267.8 -L 519.177941 266.8 -L 519.117203 265.8 -L 519.033129 264.8 -L 518.984836 263.8 -L 518.941259 262.8 -L 518.914378 261.8 -L 518.882448 260.8 -L 518.815256 259.8 -L 518.734435 258.8 -L 518.65889 257.8 -L 518.61516 256.8 -L 518.535265 255.8 -L 518.473786 254.8 -L 518.410161 253.8 -L 518.302912 252.8 -L 518.184202 251.8 -L 518.142296 250.8 -L 518.099342 249.8 -L 518.037143 248.8 -L 518.007006 247.8 -L 517.974488 246.8 -L 517.922553 245.8 -L 517.817003 244.8 -L 517.768557 243.8 -L 517.722233 242.8 -L 517.688417 241.8 -L 517.64054 240.8 -L 517.585662 239.8 -L 517.561751 238.8 -L 517.535714 237.8 -L 517.479597 236.8 -L 517.465723 235.8 -L 517.439689 234.8 -L 517.412943 233.8 -L 517.405197 232.8 -L 517.400044 231.8 -L 517.406242 230.8 -L 517.412549 229.8 -L 517.42013 228.8 -L 517.447636 227.8 -L 517.491869 226.8 -L 517.521407 225.8 -L 517.563254 224.8 -L 517.622428 223.8 -L 517.645138 222.8 -L 517.68177 221.8 -L 517.738558 220.8 -L 517.763728 219.8 -L 517.846424 218.8 -L 517.933356 217.8 -L 517.98404 216.8 -L 518.021434 215.8 -L 518.105814 214.8 -L 518.140325 213.8 -L 518.232316 212.8 -L 518.319341 211.8 -L 518.442481 210.8 -L 518.48035 209.8 -L 518.527825 208.8 -L 518.633351 207.8 -L 518.730812 206.8 -L 518.807449 205.8 -L 518.839376 204.8 -L 518.893616 203.8 -L 518.932467 202.8 -L 519.006172 201.8 -L 519.038168 200.8 -L 519.094707 199.8 -L 519.130823 198.8 -L 519.199425 197.8 -L 519.230841 196.8 -L 519.285508 195.8 -L 519.304279 194.8 -L 519.349908 193.8 -L 519.372811 192.8 -L 519.381352 191.8 -L 519.388693 190.8 -L 519.394988 189.8 -L 519.398165 188.8 -L 519.399751 187.8 -L 519.398288 186.8 -L 519.385334 185.8 -L 519.370712 184.8 -L 519.358856 183.8 -L 519.340831 182.8 -L 519.320453 181.8 -L 519.297054 180.8 -L 519.282145 179.8 -L 519.227431 178.8 -L 519.193834 177.8 -L 519.131138 176.8 -L 519.103763 175.8 -L 519.059783 174.8 -L 518.980836 173.8 -L 518.923308 172.8 -L 518.873329 171.8 -L 518.801345 170.8 -L 518.764813 169.8 -L 518.6965 168.8 -L 518.608294 167.8 -L 518.486947 166.8 -L 518.421266 165.8 -L 518.387648 164.8 -L 518.323371 163.8 -L 518.2774 162.8 -L 518.205243 161.8 -L 518.165417 160.8 -L 518.122787 159.8 -L 518.016828 158.8 -L 517.964043 157.8 -L 517.884766 156.8 -L 517.842362 155.8 -L 517.810096 154.8 -L 517.77523 153.8 -L 517.732572 152.8 -L 517.700999 151.8 -L 517.63342 150.8 -L 517.596535 149.8 -L 517.568579 148.8 -L 517.547731 147.8 -L 517.522118 146.8 -L 517.4845 145.8 -L 517.469658 144.8 -L 517.444928 143.8 -L 517.426698 142.8 -L 517.415291 141.8 -L 517.409656 140.8 -L 517.404902 139.8 -L 517.400293 138.8 -L 517.401966 137.8 -L 517.407748 136.8 -L 517.427744 135.8 -L 517.439396 134.8 -L 517.450385 133.8 -L 517.463352 132.8 -L 517.513766 131.8 -L 517.534588 130.8 -L 517.562535 129.8 -L 517.61928 128.8 -L 517.641924 127.8 -L 517.693327 126.8 -L 517.734463 125.8 -L 517.817232 124.8 -L 517.865692 123.8 -L 517.917119 122.8 -L 517.968279 121.8 -L 518.035578 120.8 -L 518.068732 119.8 -L 518.13479 118.8 -L 518.190975 117.8 -L 518.252254 116.8 -L 518.292237 115.8 -L 518.38866 114.8 -L 518.50042 113.8 -L 518.539339 112.8 -L 518.637188 111.8 -L 518.671842 110.8 -L 518.755524 109.8 -L 518.80603 108.8 -L 518.875073 107.8 -L 518.976176 106.8 -L 519.028622 105.8 -L 519.11793 104.8 -L 519.182938 103.8 -L 519.224483 102.8 -L 519.266823 101.8 -L 519.288843 100.8 -L 519.32633 99.8 -L 519.343582 98.8 -L 519.36699 97.8 -L 519.375557 96.8 -L 519.384646 95.8 -L 519.391714 94.8 -L 519.398741 93.8 -L 519.399849 92.8 -L 519.399863 91.8 -L 519.397189 90.8 -L 519.394163 89.8 -L 519.388696 88.8 -L 519.368701 87.8 -L 519.35673 86.8 -L 519.329611 85.8 -L 519.302599 84.8 -L 519.275433 83.8 -L 519.220958 82.8 -L 519.191342 81.8 -L 519.149586 80.8 -L 519.076477 79.8 -L 519.033039 78.8 -L 518.962348 77.8 -L 518.923941 76.8 -L 518.863602 75.8 -L 518.832847 74.8 -L 518.802349 73.8 -L 518.743439 72.8 -L 518.700262 71.8 -L 518.65865 70.8 -L 518.609535 69.8 -L 518.544448 68.8 -L 518.478053 67.8 -L 518.35329 66.8 -L 518.309475 65.8 -L 518.255147 64.8 -L 518.148443 63.8 -L 518.105943 62.8 -L 518.068449 61.8 -L 517.978953 60.8 -L 517.92173 59.8 -L 517.852087 58.8 -L 517.803068 57.8 -L 517.747123 56.8 -L 517.699998 55.8 -L 517.66111 54.8 -L 517.607418 53.8 -L 517.561847 52.8 -L 517.52491 51.8 -L 517.502834 50.8 -L 517.469951 49.8 -L 517.440231 48.8 -L 517.427681 47.8 -L 517.415782 46.8 -L 517.410664 45.8 -L 517.402775 44.8 -L 517.400144 43.2 -L 517.4 44.199058 -L 516.4 44.195817 -L 515.4 44.180679 -L 514.4 44.173742 -L 513.4 44.157365 -L 512.4 44.138952 -L 511.4 44.10936 -L 510.4 44.087278 -L 509.4 44.029584 -L 508.4 44.004393 -L 507.4 43.93608 -L 506.4 43.888954 -L 505.4 43.851606 -L 504.4 43.796397 -L 503.4 43.706966 -L 502.4 43.603856 -L 501.4 43.549882 -L 500.4 43.519162 -L 499.4 43.463621 -L 498.4 43.425886 -L 497.4 43.357632 -L 496.4 43.321803 -L 495.4 43.252019 -L 494.4 43.192725 -L 493.4 43.154118 -L 492.4 43.120122 -L 491.4 43.077542 -L 490.4 43.030893 -L 489.4 42.976327 -L 488.4 42.890426 -L 487.4 42.84375 -L 486.4 42.786435 -L 485.4 42.756021 -L 484.4 42.67097 -L 483.4 42.637295 -L 482.4 42.549371 -L 481.4 42.494386 -L 480.4 42.455697 -L 479.4 42.385666 -L 478.4 42.35522 -L 477.4 42.297495 -L 476.4 42.280351 -L 475.4 42.255616 -L 474.4 42.240116 -L 473.4 42.216664 -L 472.4 42.20985 -L 471.4 42.205917 -L 470.4 42.202185 -L 469.4 42.200152 -L 468.4 42.208538 -L 467.4 42.224924 -L 466.4 42.251194 -L 465.4 42.264523 -L 464.4 42.294477 -L 463.4 42.328728 -L 462.4 42.349398 -L 461.4 42.39041 -L 460.4 42.463728 -L 459.4 42.486946 -L 458.4 42.527312 -L 457.4 42.554563 -L 456.4 42.635101 -L 455.4 42.688579 -L 454.4 42.76715 -L 453.4 42.815618 -L 452.4 42.929648 -L 451.4 43.030333 -L 450.4 43.114757 -L 449.4 43.206297 -L 448.4 43.30871 -L 447.4 43.349518 -L 446.4 43.392661 -L 445.4 43.431962 -L 444.4 43.465385 -L 443.4 43.508493 -L 442.4 43.614072 -L 441.4 43.669773 -L 440.4 43.7751 -L 439.4 43.872097 -L 438.4 43.895117 -L 437.4 43.922104 -L 436.4 43.952205 -L 435.4 44.025447 -L 434.4 44.062839 -L 433.4 44.097798 -L 432.4 44.116374 -L 431.4 44.14688 -L 430.4 44.159092 -L 429.4 44.168868 -L 428.4 44.178437 -L 427.4 44.186646 -L 426.4 44.197922 -L 425.4 44.199784 -L 424.4 44.193482 -L 423.4 44.187469 -L 422.4 44.182012 -L 421.4 44.16182 -L 420.4 44.151931 -L 419.4 44.124178 -L 418.4 44.105171 -L 417.4 44.089772 -L 416.4 44.060507 -L 415.4 43.996703 -L 414.4 43.94765 -L 413.4 43.877461 -L 412.4 43.848352 -L 411.4 43.788782 -L 410.4 43.741833 -L 409.4 43.690711 -L 408.4 43.636658 -L 407.4 43.554971 -L 406.4 43.476314 -L 405.4 43.439654 -L 404.4 43.318 -L 403.4 43.239058 -L 402.4 43.174567 -L 401.4 43.128939 -L 400.4 43.01329 -L 399.4 42.965015 -L 398.4 42.929492 -L 397.4 42.885914 -L 396.4 42.850138 -L 395.4 42.779313 -L 394.4 42.742909 -L 393.4 42.645433 -L 392.4 42.576369 -L 391.4 42.510403 -L 390.4 42.445873 -L 389.4 42.422451 -L 388.4 42.395046 -L 387.4 42.346552 -L 386.4 42.316559 -L 385.4 42.284021 -L 384.4 42.269278 -L 383.4 42.255738 -L 382.4 42.232303 -L 381.4 42.219823 -L 380.4 42.212685 -L 379.4 42.207087 -L 378.4 42.201481 -L 377.4 42.2 -L 376.4 42.205993 -L 375.4 42.211958 -L 374.4 42.22347 -L 373.4 42.247277 -L 372.4 42.25741 -L 371.4 42.299368 -L 370.4 42.34144 -L 369.4 42.372656 -L 368.4 42.442514 -L 367.4 42.48677 -L 366.4 42.56924 -L 365.4 42.657427 -L 364.4 42.702347 -L 363.4 42.798077 -L 362.4 42.870181 -L 361.4 42.965171 -L 360.4 43.021545 -L 359.4 43.065742 -L 358.4 43.121558 -L 357.4 43.161496 -L 356.4 43.236947 -L 355.4 43.294942 -L 354.4 43.332129 -L 353.4 43.390656 -L 352.4 43.493433 -L 351.4 43.55016 -L 350.4 43.621165 -L 349.4 43.682934 -L 348.4 43.720397 -L 347.4 43.755683 -L 346.4 43.799101 -L 345.4 43.84096 -L 344.4 43.868583 -L 343.4 43.919698 -L 342.4 43.953234 -L 341.4 44.015297 -L 340.4 44.034939 -L 339.4 44.096712 -L 338.4 44.119191 -L 337.4 44.139414 -L 336.4 44.160103 -L 335.4 44.18653 -L 334.4 44.197487 -L 333.4 44.199269 -L 332.4 44.196641 -L 331.4 44.190091 -L 330.4 44.168128 -L 329.4 44.129128 -L 328.4 44.108845 -L 327.4 44.092196 -L 326.4 44.030573 -L 325.4 44.001989 -L 324.4 43.978481 -L 323.4 43.934033 -L 322.4 43.90807 -L 321.4 43.85771 -L 320.4 43.781318 -L 319.4 43.753797 -L 318.4 43.721939 -L 317.4 43.686315 -L 316.4 43.598542 -L 315.4 43.501531 -L 314.4 43.421578 -L 313.4 43.303903 -L 312.4 43.231909 -L 311.4 43.127743 -L 310.4 43.016434 -L 309.4 42.921012 -L 308.4 42.826115 -L 307.4 42.759096 -L 306.4 42.698211 -L 305.4 42.65375 -L 304.4 42.618079 -L 303.4 42.538783 -L 302.4 42.508528 -L 301.4 42.434884 -L 300.4 42.402439 -L 299.4 42.357912 -L 298.4 42.336656 -L 297.4 42.308304 -L 296.4 42.279978 -L 295.4 42.245645 -L 294.4 42.232329 -L 293.4 42.215537 -L 292.4 42.204993 -L 291.4 42.201874 -L 290.4 42.200038 -L 289.4 42.205027 -L 288.4 42.210475 -L 287.4 42.22462 -L 286.4 42.259254 -L 285.4 42.278281 -L 284.4 42.320881 -L 283.4 42.338986 -L 282.4 42.383389 -L 281.4 42.405819 -L 280.4 42.446087 -L 279.4 42.478592 -L 278.4 42.541903 -L 277.4 42.630413 -L 276.4 42.716883 -L 275.4 42.796518 -L 274.4 42.850304 -L 273.4 42.910415 -L 272.4 42.981456 -L 271.4 43.101577 -L 270.4 43.206039 -L 269.4 43.316842 -L 268.4 43.370115 -L 267.4 43.443365 -L 266.4 43.481948 -L 265.4 43.557711 -L 264.4 43.635272 -L 263.4 43.721412 -L 262.4 43.748855 -L 261.4 43.844831 -L 260.4 43.920941 -L 259.4 43.971105 -L 258.4 44.025458 -L 257.4 44.053129 -L 256.4 44.089151 -L 255.4 44.120712 -L 254.4 44.138819 -L 253.4 44.155558 -L 252.4 44.172565 -L 251.4 44.189619 -L 250.4 44.19403 -L 249.4 44.198289 -L 248.4 44.199886 -L 247.4 44.198359 -L 246.4 44.195935 -L 245.4 44.192476 -L 244.4 44.182211 -L 243.4 44.162483 -L 242.4 44.150784 -L 241.4 44.10804 -L 240.4 44.08236 -L 239.4 44.038178 -L 238.4 43.982063 -L 237.4 43.925365 -L 236.4 43.893505 -L 235.4 43.856796 -L 234.4 43.828663 -L 233.4 43.772864 -L 232.4 43.738147 -L 231.4 43.66646 -L 230.4 43.610402 -L 229.4 43.528747 -L 228.4 43.473173 -L 227.4 43.388865 -L 226.4 43.34624 -L 225.4 43.255234 -L 224.4 43.194949 -L 223.4 43.089872 -L 222.4 43.025687 -L 221.4 42.946491 -L 220.4 42.880264 -L 219.4 42.825988 -L 218.4 42.792861 -L 217.4 42.736147 -L 216.4 42.69259 -L 215.4 42.595347 -L 214.4 42.521401 -L 213.4 42.459607 -L 212.4 42.431192 -L 211.4 42.405858 -L 210.4 42.339603 -L 209.4 42.296586 -L 208.4 42.268079 -L 207.4 42.256085 -L 206.4 42.242011 -L 205.4 42.231183 -L 204.4 42.215885 -L 203.4 42.206029 -L 202.4 42.200216 -L 201.4 42.201051 -L 200.4 42.203013 -L 199.4 42.206621 -L 198.4 42.223932 -L 197.4 42.233663 -L 196.4 42.267693 -L 195.4 42.292764 -L 194.4 42.331461 -L 193.4 42.397395 -L 192.4 42.438383 -L 191.4 42.513224 -L 190.4 42.545151 -L 189.4 42.569365 -L 188.4 42.595185 -L 187.4 42.654225 -L 186.4 42.708937 -L 185.4 42.815139 -L 184.4 42.895415 -L 183.4 43.012157 -L 182.4 43.11212 -L 181.4 43.164434 -L 180.4 43.203007 -L 179.4 43.239368 -L 178.4 43.360354 -L 177.4 43.391539 -L 176.4 43.427915 -L 175.4 43.490066 -L 174.4 43.578077 -L 173.4 43.62247 -L 172.4 43.670988 -L 171.4 43.769778 -L 170.4 43.811246 -L 169.4 43.853898 -L 168.4 43.918748 -L 167.4 43.985183 -L 166.4 44.005272 -L 165.4 44.029751 -L 164.4 44.070359 -L 163.4 44.094905 -L 162.4 44.111852 -L 161.4 44.142871 -L 160.4 44.165923 -L 159.4 44.185366 -L 158.4 44.192773 -L 157.4 44.196995 -L 156.4 44.199656 -L 155.4 44.199239 -L 154.4 44.193894 -L 153.4 44.184738 -L 152.4 44.172213 -L 151.4 44.145446 -L 150.4 44.11655 -L 149.4 44.06624 -L 148.4 44.037897 -L 147.4 43.982994 -L 146.4 43.945187 -L 145.4 43.892498 -L 144.4 43.862794 -L 143.4 43.831793 -L 142.4 43.801321 -L 141.4 43.759084 -L 140.4 43.731062 -L 139.4 43.633515 -L 138.4 43.55707 -L 137.4 43.501773 -L 136.4 43.420903 -L 135.4 43.343522 -L 134.4 43.262112 -L 133.4 43.205147 -L 132.4 43.082034 -L 131.4 43.050465 -L 130.4 42.983234 -L 129.4 42.904942 -L 128.4 42.812389 -L 127.4 42.778235 -L 126.4 42.747321 -L 125.4 42.696996 -L 124.4 42.652178 -L 123.4 42.611177 -L 122.4 42.581322 -L 121.4 42.536474 -L 120.4 42.45321 -L 119.4 42.43115 -L 118.4 42.387033 -L 117.4 42.366871 -L 116.4 42.306749 -L 115.4 42.26452 -L 114.4 42.241263 -L 113.4 42.223268 -L 112.4 42.216266 -L 111.4 42.204027 -L 110.4 42.200558 -L 109.4 42.201741 -L 108.4 42.205916 -L 107.4 42.219646 -L 106.4 42.227297 -L 105.4 42.241737 -L 104.4 42.272389 -L 103.4 42.297078 -L 102.4 42.317325 -L 101.4 42.335798 -L 100.4 42.354752 -L 99.4 42.389358 -L 98.4 42.456641 -L 97.4 42.504869 -L 96.4 42.534251 -L 95.4 42.566094 -L 94.4 42.644318 -L 93.4 42.74353 -L 92.4 42.787424 -L 91.4 42.898184 -L 90.4 42.951957 -L 89.4 43.010165 -L 88.4 43.046342 -L 87.4 43.101133 -L 86.4 43.184084 -L 85.4 43.231754 -L 84.4 43.320599 -L 83.4 43.368247 -L 82.4 43.448469 -L 81.4 43.537896 -L 80.4 43.582122 -L 79.4 43.641179 -L 78.4 43.739628 -L 77.4 43.77467 -L 76.4 43.820434 -L 75.4 43.873635 -L 74.4 43.909483 -L 73.4 43.951738 -L 72 43.993097 -L 72.820445 44.2 -L 72.88147 45.2 -L 72.904483 46.2 -L 72.919261 47.2 -L 72.934284 48.2 -L 72.947208 49.2 -L 72.979534 50.2 -L 72.996802 51.2 -L 72.999844 52.2 -L 72.997823 53.2 -L 72.99401 54.2 -L 72.978994 55.2 -L 72.970072 56.2 -L 72.95778 57.2 -L 72.929404 58.2 -L 72.901094 59.2 -L 72.866107 60.2 -L 72.813717 61.2 -L 72.765101 62.2 -L 72.721134 63.2 -L 72.682742 64.2 -L 72.590438 65.2 -L 72.563187 66.2 -L 72.517238 67.2 -L 72.475854 68.2 -L 72.436431 69.2 -L 72.377515 70.2 -L 72.273593 71.2 -L 72.227262 72.2 -L 72.140289 73.2 -L 72.091558 74.2 -L 72.053928 75.2 -L 72.017733 76.2 -L 71.93207 77.2 -L 71.838247 78.2 -L 71.726811 79.2 -L 71.639726 80.2 -L 71.59291 81.2 -L 71.536162 82.2 -L 71.468399 83.2 -L 71.426492 84.2 -L 71.374648 85.2 -L 71.349355 86.2 -L 71.275837 87.2 -L 71.229683 88.2 -L 71.208521 89.2 -L 71.148851 90.2 -L 71.112009 91.2 -L 71.082939 92.2 -L 71.058708 93.2 -L 71.048454 94.2 -L 71.018161 95.2 -L 71.005421 96.2 -L 71.000216 97.2 -L 71.000175 98.2 -L 71.001583 99.2 -L 71.007346 100.2 -L 71.013699 101.2 -L 71.032338 102.2 -L 71.056786 103.2 -L 71.087563 104.2 -L 71.104914 105.2 -L 71.119521 106.2 -L 71.148001 107.2 -L 71.166951 108.2 -L 71.195224 109.2 -L 71.263051 110.2 -L 71.305148 111.2 -L 71.340912 112.2 -L 71.391808 113.2 -L 71.453856 114.2 -L 71.530922 115.2 -L 71.609354 116.2 -L 71.685744 117.2 -L 71.727481 118.2 -L 71.825414 119.2 -L 71.895204 120.2 -L 71.966061 121.2 -L 72.084549 122.2 -L 72.122597 123.2 -L 72.158643 124.2 -L 72.20132 125.2 -L 72.299241 126.2 -L 72.371531 127.2 -L 72.414118 128.2 -L 72.451421 129.2 -L 72.546295 130.2 -L 72.588994 131.2 -L 72.621715 132.2 -L 72.647784 133.2 -L 72.677809 134.2 -L 72.707013 135.2 -L 72.742447 136.2 -L 72.763133 137.2 -L 72.785911 138.2 -L 72.848282 139.2 -L 72.876933 140.2 -L 72.89743 141.2 -L 72.932584 142.2 -L 72.952705 143.2 -L 72.963835 144.2 -L 72.983785 145.2 -L 72.997162 146.2 -L 72.998974 147.2 -L 72.993744 148.2 -L 72.987133 149.2 -L 72.961107 150.2 -L 72.93948 151.2 -L 72.917584 152.2 -L 72.899066 153.2 -L 72.868853 154.2 -L 72.826455 155.2 -L 72.799415 156.2 -L 72.778893 157.2 -L 72.743514 158.2 -L 72.655618 159.2 -L 72.618638 160.2 -L 72.545793 161.2 -L 72.443104 162.2 -L 72.409892 163.2 -L 72.309442 164.2 -L 72.277702 165.2 -L 72.234758 166.2 -L 72.200953 167.2 -L 72.120665 168.2 -L 72.086322 169.2 -L 72.0144 170.2 -L 71.938533 171.2 -L 71.882438 172.2 -L 71.792696 173.2 -L 71.75274 174.2 -L 71.685043 175.2 -L 71.57089 176.2 -L 71.539731 177.2 -L 71.474248 178.2 -L 71.442214 179.2 -L 71.357021 180.2 -L 71.326963 181.2 -L 71.280592 182.2 -L 71.250884 183.2 -L 71.221241 184.2 -L 71.156145 185.2 -L 71.122349 186.2 -L 71.097196 187.2 -L 71.081103 188.2 -L 71.044942 189.2 -L 71.026036 190.2 -L 71.015813 191.2 -L 71.007508 192.2 -L 71.000785 193.2 -L 71.003499 194.2 -L 71.011203 195.2 -L 71.028834 196.2 -L 71.059062 197.2 -L 71.087659 198.2 -L 71.114969 199.2 -L 71.174397 200.2 -L 71.22991 201.2 -L 71.311548 202.2 -L 71.352804 203.2 -L 71.39741 204.2 -L 71.488958 205.2 -L 71.569573 206.2 -L 71.615531 207.2 -L 71.707077 208.2 -L 71.774033 209.2 -L 71.820752 210.2 -L 71.863882 211.2 -L 71.922125 212.2 -L 71.969396 213.2 -L 72.026452 214.2 -L 72.080989 215.2 -L 72.196427 216.2 -L 72.315576 217.2 -L 72.370627 218.2 -L 72.40698 219.2 -L 72.502034 220.2 -L 72.546466 221.2 -L 72.575573 222.2 -L 72.667237 223.2 -L 72.714029 224.2 -L 72.749742 225.2 -L 72.795559 226.2 -L 72.859505 227.2 -L 72.892455 228.2 -L 72.917515 229.2 -L 72.933607 230.2 -L 72.970088 231.2 -L 72.979122 232.2 -L 72.985274 233.2 -L 72.990848 234.2 -L 72.99806 235.2 -L 72.99889 236.2 -L 72.994277 237.2 -L 72.981883 238.2 -L 72.973583 239.2 -L 72.937803 240.2 -L 72.919049 241.2 -L 72.901448 242.2 -L 72.87707 243.2 -L 72.844234 244.2 -L 72.771924 245.2 -L 72.735339 246.2 -L 72.713128 247.2 -L 72.683072 248.2 -L 72.643552 249.2 -L 72.614091 250.2 -L 72.569454 251.2 -L 72.500184 252.2 -L 72.392301 253.2 -L 72.355195 254.2 -L 72.247165 255.2 -L 72.140245 256.2 -L 72.103559 257.2 -L 72.051805 258.2 -L 71.964871 259.2 -L 71.893973 260.2 -L 71.772819 261.2 -L 71.739893 262.2 -L 71.686368 263.2 -L 71.640016 264.2 -L 71.598661 265.2 -L 71.549933 266.2 -L 71.509673 267.2 -L 71.466021 268.2 -L 71.439425 269.2 -L 71.348255 270.2 -L 71.308348 271.2 -L 71.279681 272.2 -L 71.237384 273.2 -L 71.188262 274.2 -L 71.134325 275.2 -L 71.081987 276.2 -L 71.047999 277.2 -L 71.032844 278.2 -L 71.019613 279.2 -L 71.007584 280.2 -L 71.001778 281.2 -L 71.00154 282.2 -L 71.004971 283.2 -L 71.021639 284.2 -L 71.049031 285.2 -L 71.089572 286.2 -L 71.109867 287.2 -L 71.127464 288.2 -L 71.152194 289.2 -L 71.205405 290.2 -L 71.246377 291.2 -L 71.306772 292.2 -L 71.390339 293.2 -L 71.436331 294.2 -L 71.467247 295.2 -L 71.497702 296.2 -L 71.544386 297.2 -L 71.612327 298.2 -L 71.644244 299.2 -L 71.69385 300.2 -L 71.794266 301.2 -L 71.829487 302.2 -L 71.870974 303.2 -L 71.9246 304.2 -L 71.964666 305.2 -L 72.07453 306.2 -L 72.195709 307.2 -L 72.233871 308.2 -L 72.303602 309.2 -L 72.362359 310.2 -L 72.415477 311.2 -L 72.479944 312.2 -L 72.522985 313.2 -L 72.587131 314.2 -L 72.631929 315.2 -L 72.71055 316.2 -L 72.733761 317.2 -L 72.756219 318.2 -L 72.826066 319.2 -L 72.846169 320.2 -L 72.872053 321.2 -L 72.895656 322.2 -L 72.909427 323.2 -L 72.933238 324.2 -L 72.968289 325.2 -L 72.987905 326.2 -L 72.997925 327.2 -L 72.999511 328.2 -L 72.997397 329.2 -L 72.994191 330.2 -L 72.987806 331.2 -L 72.972822 332.2 -L 72.963505 333.2 -L 72.943913 334.2 -L 72.912031 335.2 -L 72.858743 336.2 -L 72.824485 337.2 -L 72.803278 338.2 -L 72.770858 339.2 -L 72.745139 340.2 -L 72.704247 341.2 -L 72.679944 342.2 -L 72.652386 343.2 -L 72.613312 344.2 -L 72.574818 345.2 -L 72.521172 346.2 -L 72.478431 347.2 -L 72.446006 348.2 -L 72.408082 349.2 -L 72.378531 350.2 -L 72.304491 351.2 -L 72.26975 352.2 -L 72.198648 353.2 -L 72.140692 354.2 -L 72.106477 355.2 -L 72.001931 356.2 -L 71.968052 357.2 -L 71.860414 358.2 -L 71.802599 359.2 -L 71.736479 360.2 -L 71.661554 361.2 -L 71.602767 362.2 -L 71.495314 363.2 -L 71.399389 364.2 -L 71.339257 365.2 -L 71.305037 366.2 -L 71.227334 367.2 -L 71.189748 368.2 -L 71.146569 369.2 -L 71.118048 370.2 -L 71.082845 371.2 -L 71.058015 372.2 -L 71.032091 373.2 -L 71.016614 374.2 -L 71.011318 375.2 -L 71.000805 376.2 -L 71.000106 377.2 -L 71.001693 378.2 -L 71.016241 379.2 -L 71.023701 380.2 -L 71.050964 381.2 -L 71.095264 382.2 -L 71.112684 383.2 -L 71.152088 384.2 -L 71.188442 385.2 -L 71.226228 386.2 -L 71.280024 387.2 -L 71.3264 388.8 -z -" style="fill:#ffffff;"/> - <path clip-path="url(#pf26c5e5a93)" d="M 72 216 -L 72.375917 215.072814 -L 72.756998 214.147534 -L 73.195119 213.243319 -L 73.572054 212.316509 -L 73.987547 211.403938 -L 74.370152 210.479221 -L 74.7498 209.553413 -L 75.150298 208.635304 -L 75.562753 207.721611 -L 75.957927 206.801536 -L 76.596434 205.243121 -L 77.026638 204.336926 -L 77.417562 203.415348 -L 77.804987 202.492471 -L 78.181237 201.565451 -L 78.553316 200.636885 -L 78.920853 199.706634 -L 79.319426 198.787892 -L 79.69328 197.859983 -L 80.068809 196.932696 -L 80.440278 196.003904 -L 81.02154 194.468485 -L 81.380251 193.537787 -L 81.730201 192.601019 -L 82.071435 191.660993 -L 82.410661 190.720216 -L 82.731738 189.772654 -L 83.071419 188.832047 -L 83.39335 187.884805 -L 83.687499 186.927178 -L 84.002804 185.977459 -L 84.316324 185.027073 -L 84.822503 183.551741 -L 85.144743 182.607609 -L 85.435596 181.648468 -L 85.752918 180.699344 -L 86.066922 179.748963 -L 86.354825 178.788706 -L 86.674705 177.84055 -L 86.973997 176.884602 -L 87.224141 175.910057 -L 87.511972 174.949773 -L 87.760257 173.974524 -L 88.225642 172.615341 -L 88.52741 171.660215 -L 88.841186 170.70948 -L 89.124795 169.74714 -L 89.37322 168.771265 -L 89.666733 167.812735 -L 89.948063 166.849519 -L 90.276173 165.904298 -L 90.587394 164.95258 -L 90.882598 163.994701 -L 91.179839 163.037605 -L 91.564985 161.822197 -L 91.907002 160.876716 -L 92.247962 159.936266 -L 92.592485 158.997214 -L 92.93991 158.059303 -L 93.280948 157.118883 -L 93.600228 156.169917 -L 93.933188 155.226324 -L 94.26541 154.282441 -L 94.616711 153.346052 -L 94.967639 152.409517 -L 95.355765 151.412078 -L 95.730457 150.475541 -L 96.104625 149.54818 -L 96.480131 148.621358 -L 96.866144 147.698769 -L 97.247643 146.774362 -L 97.641336 145.854868 -L 98.036416 144.935932 -L 98.426118 144.01483 -L 98.816959 143.094187 -L 99.519831 141.404428 -L 99.922189 140.478684 -L 100.363685 139.579228 -L 100.816714 138.68456 -L 101.230376 137.773545 -L 101.676291 136.875923 -L 102.109724 135.973118 -L 102.52437 135.062511 -L 102.991123 134.173543 -L 103.400994 133.260954 -L 104.025756 131.838593 -L 104.451316 130.927786 -L 104.89685 130.030845 -L 105.351367 129.137769 -L 105.781641 128.234263 -L 106.264953 127.353574 -L 106.705389 126.45444 -L 107.141059 125.553255 -L 107.573104 124.650511 -L 108.067837 123.774736 -L 108.596741 122.650654 -L 109.061268 121.766059 -L 109.534054 120.882109 -L 110.038361 120.012284 -L 110.481055 119.114849 -L 110.931862 118.221049 -L 111.403308 117.336498 -L 111.856733 116.443871 -L 112.336486 115.563043 -L 113.14018 113.844263 -L 113.62275 112.980402 -L 114.069494 112.08542 -L 114.520446 111.192413 -L 114.983321 110.305004 -L 115.427896 109.409003 -L 115.865566 108.509759 -L 116.314799 107.615945 -L 116.748271 106.71473 -L 117.40653 105.34219 -L 117.851396 104.469354 -L 118.300294 103.575753 -L 118.748384 102.681752 -L 119.187235 101.783175 -L 119.619149 100.881162 -L 120.056234 99.981711 -L 120.477846 99.074596 -L 120.900548 98.16802 -L 121.364902 97.148929 -L 121.797672 96.271291 -L 122.243578 95.375933 -L 122.648388 94.45895 -L 123.048087 93.539278 -L 123.430578 92.610552 -L 123.851059 91.701815 -L 124.268989 90.791736 -L 125.025526 89.278274 -L 125.417726 88.366783 -L 125.863216 87.469971 -L 126.322084 86.580701 -L 126.786071 85.694315 -L 127.223815 84.793138 -L 127.656101 83.888885 -L 128.104516 82.993722 -L 128.657939 81.879091 -L 129.145867 81.005149 -L 129.630445 80.129394 -L 130.115005 79.253627 -L 130.584622 78.368753 -L 131.008433 77.455961 -L 131.484255 76.574868 -L 132.375317 75.037134 -L 132.899167 74.165477 -L 133.40644 73.301823 -L 133.933782 72.451542 -L 134.458199 71.599312 -L 134.986017 70.749349 -L 135.512013 69.898172 -L 136.183646 68.784981 -L 136.760276 67.926447 -L 137.330359 67.104327 -L 137.88374 66.269875 -L 138.457384 65.450384 -L 139.034365 64.633355 -L 140.083999 63.152632 -L 140.736349 62.327484 -L 141.364748 61.549466 -L 141.989399 60.768332 -L 142.616571 59.989294 -L 143.246136 59.212245 -L 144.092913 58.184379 -L 144.824131 57.405641 -L 145.511185 56.679016 -L 146.203268 55.957197 -L 146.896033 55.236028 -L 148.18827 53.899596 -L 149.01433 53.200811 -L 149.791814 52.570387 -L 150.55398 51.922675 -L 151.329599 51.290144 -L 152.409747 50.386569 -L 153.294796 49.766219 -L 154.11876 49.19913 -L 154.968563 48.667832 -L 156.612643 47.542219 -L 157.588132 47.079996 -L 158.477738 46.622194 -L 159.389326 46.204011 -L 160.83202 45.447306 -L 161.845944 45.13137 -L 162.816428 44.868713 -L 163.774599 44.574119 -L 165.060659 44.191047 -L 166.061756 44.031388 -L 167.065394 43.94219 -L 168.057924 43.801255 -L 169.196437 43.675289 -L 170.149925 43.688586 -L 171.150531 43.681213 -L 172.153534 43.72959 -L 173.20595 43.73791 -L 174.098264 43.949185 -L 175.081212 44.145655 -L 176.067027 44.319887 -L 177.129786 44.529528 -L 177.946512 44.83817 -L 178.899261 45.142424 -L 179.849246 45.455885 -L 181.017756 45.827056 -L 181.789206 46.22231 -L 182.67779 46.682615 -L 183.575661 47.123181 -L 184.904849 47.757749 -L 185.633941 48.238262 -L 186.473172 48.782077 -L 187.317302 49.318221 -L 188.839312 50.283888 -L 189.54102 50.834831 -L 190.340221 51.436742 -L 191.143211 52.033943 -L 191.944211 52.633618 -L 192.914356 53.33308 -L 193.592998 53.964105 -L 194.347093 54.622818 -L 195.083351 55.299979 -L 195.840932 55.955086 -L 197.034349 57.065543 -L 197.703344 57.745666 -L 198.391849 58.471626 -L 199.116176 59.165756 -L 199.831915 59.867517 -L 200.582619 60.538211 -L 201.365319 61.305465 -L 202.064045 62.012522 -L 202.742468 62.75148 -L 203.443706 63.472607 -L 204.090521 64.236269 -L 204.787368 64.960828 -L 205.834365 66.138384 -L 206.455945 66.94607 -L 207.057579 67.745579 -L 207.673657 68.534976 -L 208.279651 69.331432 -L 208.882261 70.130258 -L 209.511192 70.910657 -L 210.14946 71.754197 -L 210.745029 72.594913 -L 211.323485 73.412116 -L 211.903428 74.228372 -L 212.477609 75.048295 -L 213.033044 75.880147 -L 213.583026 76.715468 -L 214.445043 77.991067 -L 214.981116 78.876141 -L 215.505915 79.72767 -L 216.028634 80.580418 -L 216.538821 81.4405 -L 217.046148 82.302258 -L 217.548695 83.166813 -L 218.043872 84.035682 -L 218.540326 84.917272 -L 219.005315 85.837286 -L 219.470811 86.722448 -L 219.90241 87.62605 -L 220.337156 88.52794 -L 220.766973 89.432512 -L 221.205884 90.332136 -L 221.622268 91.244015 -L 222.280288 92.559042 -L 222.694055 93.488522 -L 223.086528 94.410903 -L 223.489736 95.327809 -L 223.899378 96.241433 -L 224.284971 97.167323 -L 224.687465 98.084594 -L 225.087777 99.002977 -L 225.92167 100.719918 -L 226.298486 101.65183 -L 226.637854 102.598341 -L 227.017606 103.525392 -L 227.364908 104.468079 -L 227.770154 105.382847 -L 228.15827 106.305868 -L 228.487132 107.257441 -L 228.889275 108.173704 -L 229.413672 109.390763 -L 229.798809 110.304111 -L 230.135141 111.249993 -L 230.511128 112.177699 -L 230.854277 113.120456 -L 231.216282 114.054571 -L 231.575614 114.989911 -L 231.971432 115.908526 -L 232.373413 116.824317 -L 233.061024 118.393874 -L 233.428898 119.308156 -L 233.819171 120.228941 -L 234.198176 121.154669 -L 234.588899 122.075257 -L 234.987242 122.992501 -L 235.393093 123.906452 -L 235.80618 124.817227 -L 236.221166 125.727168 -L 236.637673 126.636443 -L 237.101458 127.605068 -L 237.503921 128.506873 -L 237.945157 129.406047 -L 238.396163 130.301094 -L 238.810483 131.211636 -L 239.231046 132.119542 -L 239.664998 133.021792 -L 240.098584 133.924197 -L 240.542113 134.822402 -L 241.01929 135.706394 -L 241.604418 136.980785 -L 242.027098 137.883099 -L 242.459677 138.786593 -L 242.88212 139.694231 -L 243.317099 140.596744 -L 243.74741 141.501165 -L 244.194462 142.398743 -L 244.681379 143.280024 -L 245.111355 144.184582 -L 245.58993 145.069274 -L 246.329972 146.59906 -L 246.800537 147.491401 -L 247.202062 148.407899 -L 247.667519 149.298978 -L 248.107344 150.200248 -L 248.513448 151.114925 -L 248.919504 152.029622 -L 249.309855 152.950562 -L 249.731179 153.859189 -L 250.124846 154.778811 -L 250.875161 156.584133 -L 251.287075 157.50411 -L 251.666597 158.42948 -L 252.04897 159.353744 -L 252.422895 160.281289 -L 252.802736 161.206535 -L 253.181083 162.132363 -L 253.549781 163.061938 -L 253.910963 163.994434 -L 254.266572 164.929095 -L 254.619975 165.864613 -L 255.024143 166.969534 -L 255.359163 167.918431 -L 255.703883 168.857218 -L 256.029266 169.803379 -L 256.370278 170.743581 -L 256.709386 171.684508 -L 257.019778 172.636386 -L 257.335146 173.586366 -L 257.651193 174.536088 -L 257.986063 175.478631 -L 258.304747 176.427347 -L 258.709759 177.727611 -L 259.022898 178.681105 -L 259.314494 179.639811 -L 259.624901 180.591446 -L 259.875815 181.565444 -L 260.15566 182.528568 -L 260.473413 183.477442 -L 260.773899 184.432806 -L 261.055466 185.395282 -L 261.352481 186.351951 -L 261.670109 187.300871 -L 262.093937 188.746804 -L 262.384703 189.705096 -L 262.686097 190.659933 -L 262.942256 191.631603 -L 263.255363 192.582081 -L 263.570883 193.531662 -L 263.833744 194.500838 -L 264.14193 195.453147 -L 264.440692 196.408964 -L 264.758632 197.357644 -L 265.048429 198.316796 -L 265.557885 199.840347 -L 265.850671 200.796656 -L 266.176841 201.742225 -L 266.482706 202.695304 -L 266.785425 203.649547 -L 267.116513 204.593297 -L 267.437071 205.540942 -L 267.773646 206.482663 -L 268.116249 207.422154 -L 268.457841 208.36202 -L 268.804681 209.299944 -L 269.386044 210.862906 -L 269.735387 211.799211 -L 270.087123 212.735328 -L 270.445454 213.669011 -L 270.813891 214.598964 -L 271.174129 215.531943 -L 271.542517 216.461914 -L 271.922862 217.387472 -L 272.298766 218.314668 -L 272.673083 219.242451 -L 273.093181 220.153335 -L 273.712081 221.724518 -L 274.083254 222.653931 -L 274.496427 223.567322 -L 274.928761 224.473626 -L 275.33376 225.39004 -L 275.712174 226.316286 -L 276.091421 227.242225 -L 276.529698 228.14633 -L 276.921222 229.067728 -L 277.29766 229.994706 -L 277.685521 230.917458 -L 278.329798 232.457151 -L 278.725338 233.377147 -L 279.10658 234.302273 -L 279.558087 235.201253 -L 279.938199 236.126799 -L 280.321939 237.050995 -L 280.745887 237.960229 -L 281.130707 238.884023 -L 281.518603 239.806672 -L 281.907107 240.729096 -L 282.358688 241.628048 -L 283.00136 243.102028 -L 283.422425 244.010018 -L 283.85709 244.914944 -L 284.278279 245.824936 -L 284.676165 246.743688 -L 285.080089 247.660169 -L 285.464433 248.584011 -L 285.82741 249.515885 -L 286.200076 250.444116 -L 286.563153 251.375952 -L 286.916656 252.311387 -L 287.440296 253.719801 -L 287.779794 254.655527 -L 288.120682 255.595775 -L 288.44785 256.541256 -L 288.791667 257.480388 -L 289.120275 258.425319 -L 289.417692 259.382145 -L 289.727913 260.334088 -L 290.041154 261.284879 -L 290.320628 262.248547 -L 290.634043 263.199272 -L 291.086273 264.48153 -L 291.397233 265.429739 -L 291.676517 266.394053 -L 292.009629 267.337454 -L 292.271052 268.308708 -L 292.528724 269.281418 -L 292.857829 270.226376 -L 293.140934 271.189205 -L 293.441918 272.145089 -L 293.708928 273.114171 -L 293.962739 274.088381 -L 294.350787 275.199564 -L 294.682847 276.145983 -L 295.018258 277.088767 -L 295.349621 278.033161 -L 295.648393 278.990512 -L 295.947168 279.947863 -L 296.288111 280.888448 -L 296.632953 281.827482 -L 296.949835 282.777633 -L 297.277927 283.723327 -L 297.972252 285.55091 -L 298.328239 286.493326 -L 298.667234 287.435076 -L 298.996696 288.380724 -L 299.34647 289.318068 -L 299.700545 290.253654 -L 300.065119 291.184948 -L 300.415479 292.122053 -L 300.774132 293.055768 -L 301.136895 293.987802 -L 301.774315 295.559539 -L 302.167307 296.491669 -L 302.558299 297.412065 -L 302.952805 298.330977 -L 303.35909 299.244914 -L 303.777727 300.153633 -L 304.209614 301.056755 -L 304.637362 301.961626 -L 305.087917 302.856864 -L 305.540647 303.751182 -L 306.129676 305.023925 -L 306.582296 305.927447 -L 307.020439 306.827229 -L 307.485797 307.71507 -L 307.94851 308.604071 -L 308.45003 309.476045 -L 308.911567 310.365562 -L 309.412445 311.237818 -L 309.870097 312.12904 -L 310.316467 313.025211 -L 310.817534 313.977479 -L 311.288158 314.861338 -L 311.772679 315.739295 -L 312.297379 316.598836 -L 312.803096 317.467077 -L 313.291636 318.343192 -L 313.749902 319.233184 -L 314.191374 320.130873 -L 314.647746 321.021733 -L 315.40582 322.558993 -L 315.863404 323.435285 -L 316.369758 324.301336 -L 316.863737 325.173348 -L 317.319457 326.063796 -L 317.808035 326.938411 -L 318.26214 327.829636 -L 318.712973 328.722438 -L 319.173469 329.610585 -L 319.762351 330.796572 -L 320.214333 331.663984 -L 320.677782 332.550167 -L 321.141327 333.4363 -L 321.595054 334.327442 -L 322.046018 335.219992 -L 322.485703 336.118294 -L 322.929225 337.01464 -L 323.786819 338.719493 -L 324.225276 339.590433 -L 324.680504 340.481181 -L 325.130781 341.374622 -L 325.588612 342.263954 -L 326.051025 343.150793 -L 326.485135 344.053029 -L 326.921137 344.954236 -L 327.560424 346.279453 -L 328.007349 347.152681 -L 328.489925 348.028927 -L 328.968556 348.907482 -L 329.39628 349.815837 -L 329.828286 350.721685 -L 330.276862 351.617833 -L 330.7425 352.503994 -L 331.216449 353.398758 -L 331.697242 354.268628 -L 332.149879 355.165893 -L 332.649252 356.033418 -L 333.143884 356.90396 -L 333.577947 357.813045 -L 334.064443 358.688764 -L 334.864019 360.004097 -L 335.417242 360.85113 -L 335.946063 361.701615 -L 336.484764 362.545183 -L 337.016114 363.393898 -L 337.517226 364.263782 -L 338.062728 365.102589 -L 338.632991 365.993739 -L 339.217386 366.846279 -L 339.773935 367.68049 -L 340.367029 368.486139 -L 340.949574 369.300032 -L 341.531818 370.114161 -L 342.486873 371.363573 -L 343.169405 372.168179 -L 343.801971 372.943842 -L 344.44379 373.711284 -L 345.094076 374.471202 -L 345.750971 375.225247 -L 346.474434 376.045136 -L 347.243661 376.796818 -L 347.963786 377.490664 -L 348.6892 378.17904 -L 349.415545 378.866453 -L 350.594116 379.992265 -L 351.451264 380.66273 -L 352.249465 381.265885 -L 353.052713 381.862765 -L 353.869183 382.443209 -L 354.826928 383.158085 -L 355.771233 383.694645 -L 356.659249 384.162081 -L 357.528005 384.659672 -L 359.070533 385.593214 -L 360.047786 386.028202 -L 360.966244 386.425006 -L 361.899714 386.789901 -L 363.266871 387.343765 -L 364.292533 387.576696 -L 365.262861 387.822412 -L 366.24359 388.033492 -L 367.435368 388.327174 -L 368.447083 388.394435 -L 369.452588 388.415918 -L 370.459559 388.426035 -L 371.536888 388.522661 -L 372.490105 388.434923 -L 373.486512 388.329838 -L 374.484295 388.256784 -L 375.533017 388.179157 -L 376.428782 387.927546 -L 377.384343 387.614426 -L 378.351891 387.357138 -L 379.456363 387.072622 -L 380.275699 386.711596 -L 381.191524 386.307175 -L 382.104831 385.896222 -L 383.344432 385.392652 -L 384.101067 384.933854 -L 384.948253 384.399602 -L 385.815934 383.902288 -L 387.227416 383.089331 -L 387.926368 382.543405 -L 388.732623 381.951787 -L 389.540396 381.36227 -L 391.159008 380.20138 -L 391.834263 379.604858 -L 392.587735 378.947335 -L 393.354422 378.304725 -L 394.132202 377.674634 -L 395.205363 376.763172 -L 395.873827 376.119679 -L 396.607408 375.437506 -L 397.314622 374.730142 -L 398.031904 374.032397 -L 399.357137 372.727488 -L 399.985301 372.008667 -L 400.688113 371.292501 -L 401.394183 370.579043 -L 402.072378 369.842415 -L 402.740351 369.097291 -L 403.656507 368.127092 -L 404.267745 367.356389 -L 404.935671 366.606498 -L 405.599602 365.853657 -L 406.292589 365.122266 -L 406.916972 364.34023 -L 408.032933 362.908472 -L 408.678805 362.129784 -L 409.314431 361.35166 -L 409.93273 360.561989 -L 410.51382 359.747524 -L 411.113481 358.945433 -L 411.700334 358.134809 -L 412.481882 357.094861 -L 413.042815 356.236952 -L 413.611531 355.412478 -L 414.162808 354.577374 -L 414.741826 353.759178 -L 415.289091 352.921629 -L 415.856209 352.09618 -L 416.796959 350.58873 -L 417.343326 349.713384 -L 417.854297 348.853481 -L 418.352757 347.986526 -L 418.850172 347.118982 -L 419.346675 346.250924 -L 419.840462 345.381336 -L 420.332863 344.510966 -L 420.941803 343.427626 -L 421.409791 342.511314 -L 421.86251 341.619541 -L 422.317678 340.729056 -L 422.767386 339.835699 -L 423.215012 338.941246 -L 423.659965 338.045386 -L 424.112431 337.15348 -L 424.851743 335.630954 -L 425.274685 334.701859 -L 425.662324 333.777918 -L 426.081615 332.869653 -L 426.486026 331.954019 -L 426.859101 331.022866 -L 427.251372 330.101219 -L 427.650407 329.182922 -L 428.029723 328.254859 -L 428.493761 327.235611 -L 428.860276 326.294553 -L 429.205479 325.351889 -L 429.520684 324.395139 -L 429.886276 323.462049 -L 430.28089 322.542587 -L 430.647754 321.610094 -L 431.031186 320.685382 -L 431.390916 319.74954 -L 432.00186 318.354782 -L 432.370164 317.428565 -L 432.682411 316.472674 -L 433.043182 315.538527 -L 433.379779 314.593546 -L 433.750023 313.663645 -L 434.129519 312.737889 -L 434.506643 311.81107 -L 434.876656 310.881064 -L 435.623667 309.136883 -L 435.952555 308.20119 -L 436.31386 307.268013 -L 436.683367 306.338365 -L 437.059403 305.411525 -L 437.431063 304.482803 -L 437.791693 303.549336 -L 438.173248 302.62487 -L 438.545718 301.696497 -L 438.924159 300.770692 -L 439.404344 299.625651 -L 439.777802 298.711447 -L 440.15693 297.786091 -L 440.536192 296.86079 -L 440.921256 295.937899 -L 441.310114 295.016583 -L 441.712099 294.100719 -L 442.106379 293.181654 -L 442.500047 292.262336 -L 442.895541 291.343776 -L 443.537783 289.928674 -L 443.927259 289.017599 -L 444.326898 288.1005 -L 444.753248 287.194164 -L 445.147967 286.275083 -L 445.569363 285.366751 -L 445.981235 284.454581 -L 446.431723 283.55797 -L 446.850389 282.648538 -L 447.271807 281.740214 -L 448.00316 280.061931 -L 448.430012 279.159268 -L 448.826475 278.240619 -L 449.253564 277.334 -L 449.671465 276.423771 -L 450.094107 275.515405 -L 450.496926 274.599253 -L 450.952278 273.703735 -L 451.421906 272.813825 -L 451.823736 271.897284 -L 452.280416 271.002288 -L 452.703973 270.018766 -L 453.14181 269.113706 -L 453.54799 268.198518 -L 453.971471 267.289986 -L 454.424875 266.392965 -L 454.832865 265.478473 -L 455.27526 264.577217 -L 455.694974 263.667236 -L 456.092791 262.748831 -L 456.49135 261.830711 -L 456.870943 260.905296 -L 457.362865 259.730963 -L 457.734727 258.797043 -L 458.110536 257.87005 -L 458.472464 256.937805 -L 458.83488 256.005744 -L 459.195407 255.072968 -L 459.555894 254.140178 -L 459.910846 253.205293 -L 460.264775 252.270021 -L 460.61619 251.333797 -L 460.967275 250.397448 -L 461.470356 249.05253 -L 461.803172 248.105101 -L 462.142101 247.164213 -L 462.466841 246.218021 -L 462.79168 245.271866 -L 463.116376 244.325657 -L 463.415491 243.369887 -L 463.737892 242.42282 -L 464.048921 241.471503 -L 464.330582 240.509208 -L 464.640036 239.557302 -L 465.119751 238.072077 -L 465.431919 237.119708 -L 465.723003 236.16111 -L 466.041826 235.212796 -L 466.360889 234.264572 -L 466.653313 233.306471 -L 466.960488 232.353839 -L 467.269132 231.401751 -L 467.570739 230.447055 -L 467.857372 229.486806 -L 468.142777 228.526102 -L 468.596556 226.943414 -L 468.901861 225.990216 -L 469.197325 225.033319 -L 469.443655 224.058277 -L 469.750215 223.105477 -L 470.061469 222.154411 -L 470.323943 221.185331 -L 470.616691 220.22743 -L 470.897788 219.265227 -L 471.198232 218.310169 -L 471.492179 217.352711 -L 472.031047 215.7575 -" style="fill:none;stroke:#ffffff;stroke-linecap:square;stroke-width:4;"/> - <path clip-path="url(#pf26c5e5a93)" d="M 72 216 -L 72.375917 215.072814 -L 72.756998 214.147534 -L 73.195119 213.243319 -L 73.572054 212.316509 -L 73.987547 211.403938 -L 74.370152 210.479221 -L 74.7498 209.553413 -L 75.150298 208.635304 -L 75.562753 207.721611 -L 75.957927 206.801536 -L 76.596434 205.243121 -L 77.026638 204.336926 -L 77.417562 203.415348 -L 77.804987 202.492471 -L 78.181237 201.565451 -L 78.553316 200.636885 -L 78.920853 199.706634 -L 79.319426 198.787892 -L 79.69328 197.859983 -L 80.068809 196.932696 -L 80.440278 196.003904 -L 81.02154 194.468485 -L 81.380251 193.537787 -L 81.730201 192.601019 -L 82.071435 191.660993 -L 82.410661 190.720216 -L 82.731738 189.772654 -L 83.071419 188.832047 -L 83.39335 187.884805 -L 83.687499 186.927178 -L 84.002804 185.977459 -L 84.316324 185.027073 -L 84.822503 183.551741 -L 85.144743 182.607609 -L 85.435596 181.648468 -L 85.752918 180.699344 -L 86.066922 179.748963 -L 86.354825 178.788706 -L 86.674705 177.84055 -L 86.973997 176.884602 -L 87.224141 175.910057 -L 87.511972 174.949773 -L 87.760257 173.974524 -L 88.225642 172.615341 -L 88.52741 171.660215 -L 88.841186 170.70948 -L 89.124795 169.74714 -L 89.37322 168.771265 -L 89.666733 167.812735 -L 89.948063 166.849519 -L 90.276173 165.904298 -L 90.587394 164.95258 -L 90.882598 163.994701 -L 91.179839 163.037605 -L 91.564985 161.822197 -L 91.907002 160.876716 -L 92.247962 159.936266 -L 92.592485 158.997214 -L 92.93991 158.059303 -L 93.280948 157.118883 -L 93.600228 156.169917 -L 93.933188 155.226324 -L 94.26541 154.282441 -L 94.616711 153.346052 -L 94.967639 152.409517 -L 95.355765 151.412078 -L 95.730457 150.475541 -L 96.104625 149.54818 -L 96.480131 148.621358 -L 96.866144 147.698769 -L 97.247643 146.774362 -L 97.641336 145.854868 -L 98.036416 144.935932 -L 98.426118 144.01483 -L 98.816959 143.094187 -L 99.519831 141.404428 -L 99.922189 140.478684 -L 100.363685 139.579228 -L 100.816714 138.68456 -L 101.230376 137.773545 -L 101.676291 136.875923 -L 102.109724 135.973118 -L 102.52437 135.062511 -L 102.991123 134.173543 -L 103.400994 133.260954 -L 104.025756 131.838593 -L 104.451316 130.927786 -L 104.89685 130.030845 -L 105.351367 129.137769 -L 105.781641 128.234263 -L 106.264953 127.353574 -L 106.705389 126.45444 -L 107.141059 125.553255 -L 107.573104 124.650511 -L 108.067837 123.774736 -L 108.596741 122.650654 -L 109.061268 121.766059 -L 109.534054 120.882109 -L 110.038361 120.012284 -L 110.481055 119.114849 -L 110.931862 118.221049 -L 111.403308 117.336498 -L 111.856733 116.443871 -L 112.336486 115.563043 -L 113.14018 113.844263 -L 113.62275 112.980402 -L 114.069494 112.08542 -L 114.520446 111.192413 -L 114.983321 110.305004 -L 115.427896 109.409003 -L 115.865566 108.509759 -L 116.314799 107.615945 -L 116.748271 106.71473 -L 117.40653 105.34219 -L 117.851396 104.469354 -L 118.300294 103.575753 -L 118.748384 102.681752 -L 119.187235 101.783175 -L 119.619149 100.881162 -L 120.056234 99.981711 -L 120.477846 99.074596 -L 120.900548 98.16802 -L 121.364902 97.148929 -L 121.797672 96.271291 -L 122.243578 95.375933 -L 122.648388 94.45895 -L 123.048087 93.539278 -L 123.430578 92.610552 -L 123.851059 91.701815 -L 124.268989 90.791736 -L 125.025526 89.278274 -L 125.417726 88.366783 -L 125.863216 87.469971 -L 126.322084 86.580701 -L 126.786071 85.694315 -L 127.223815 84.793138 -L 127.656101 83.888885 -L 128.104516 82.993722 -L 128.657939 81.879091 -L 129.145867 81.005149 -L 129.630445 80.129394 -L 130.115005 79.253627 -L 130.584622 78.368753 -L 131.008433 77.455961 -L 131.484255 76.574868 -L 132.375317 75.037134 -L 132.899167 74.165477 -L 133.40644 73.301823 -L 133.933782 72.451542 -L 134.458199 71.599312 -L 134.986017 70.749349 -L 135.512013 69.898172 -L 136.183646 68.784981 -L 136.760276 67.926447 -L 137.330359 67.104327 -L 137.88374 66.269875 -L 138.457384 65.450384 -L 139.034365 64.633355 -L 140.083999 63.152632 -L 140.736349 62.327484 -L 141.364748 61.549466 -L 141.989399 60.768332 -L 142.616571 59.989294 -L 143.246136 59.212245 -L 144.092913 58.184379 -L 144.824131 57.405641 -L 145.511185 56.679016 -L 146.203268 55.957197 -L 146.896033 55.236028 -L 148.18827 53.899596 -L 149.01433 53.200811 -L 149.791814 52.570387 -L 150.55398 51.922675 -L 151.329599 51.290144 -L 152.409747 50.386569 -L 153.294796 49.766219 -L 154.11876 49.19913 -L 154.968563 48.667832 -L 156.612643 47.542219 -L 157.588132 47.079996 -L 158.477738 46.622194 -L 159.389326 46.204011 -L 160.83202 45.447306 -L 161.845944 45.13137 -L 162.816428 44.868713 -L 163.774599 44.574119 -L 165.060659 44.191047 -L 166.061756 44.031388 -L 167.065394 43.94219 -L 168.057924 43.801255 -L 169.196437 43.675289 -L 170.149925 43.688586 -L 171.150531 43.681213 -L 172.153534 43.72959 -L 173.20595 43.73791 -L 174.098264 43.949185 -L 175.081212 44.145655 -L 176.067027 44.319887 -L 177.129786 44.529528 -L 177.946512 44.83817 -L 178.899261 45.142424 -L 179.849246 45.455885 -L 181.017756 45.827056 -L 181.789206 46.22231 -L 182.67779 46.682615 -L 183.575661 47.123181 -L 184.904849 47.757749 -L 185.633941 48.238262 -L 186.473172 48.782077 -L 187.317302 49.318221 -L 188.839312 50.283888 -L 189.54102 50.834831 -L 190.340221 51.436742 -L 191.143211 52.033943 -L 191.944211 52.633618 -L 192.914356 53.33308 -L 193.592998 53.964105 -L 194.347093 54.622818 -L 195.083351 55.299979 -L 195.840932 55.955086 -L 197.034349 57.065543 -L 197.703344 57.745666 -L 198.391849 58.471626 -L 199.116176 59.165756 -L 199.831915 59.867517 -L 200.582619 60.538211 -L 201.365319 61.305465 -L 202.064045 62.012522 -L 202.742468 62.75148 -L 203.443706 63.472607 -L 204.090521 64.236269 -L 204.787368 64.960828 -L 205.834365 66.138384 -L 206.455945 66.94607 -L 207.057579 67.745579 -L 207.673657 68.534976 -L 208.279651 69.331432 -L 208.882261 70.130258 -L 209.511192 70.910657 -L 210.14946 71.754197 -L 210.745029 72.594913 -L 211.323485 73.412116 -L 211.903428 74.228372 -L 212.477609 75.048295 -L 213.033044 75.880147 -L 213.583026 76.715468 -L 214.445043 77.991067 -L 214.981116 78.876141 -L 215.505915 79.72767 -L 216.028634 80.580418 -L 216.538821 81.4405 -L 217.046148 82.302258 -L 217.548695 83.166813 -L 218.043872 84.035682 -L 218.540326 84.917272 -L 219.005315 85.837286 -L 219.470811 86.722448 -L 219.90241 87.62605 -L 220.337156 88.52794 -L 220.766973 89.432512 -L 221.205884 90.332136 -L 221.622268 91.244015 -L 222.280288 92.559042 -L 222.694055 93.488522 -L 223.086528 94.410903 -L 223.489736 95.327809 -L 223.899378 96.241433 -L 224.284971 97.167323 -L 224.687465 98.084594 -L 225.087777 99.002977 -L 225.92167 100.719918 -L 226.298486 101.65183 -L 226.637854 102.598341 -L 227.017606 103.525392 -L 227.364908 104.468079 -L 227.770154 105.382847 -L 228.15827 106.305868 -L 228.487132 107.257441 -L 228.889275 108.173704 -L 229.413672 109.390763 -L 229.798809 110.304111 -L 230.135141 111.249993 -L 230.511128 112.177699 -L 230.854277 113.120456 -L 231.216282 114.054571 -L 231.575614 114.989911 -L 231.971432 115.908526 -L 232.373413 116.824317 -L 233.061024 118.393874 -L 233.428898 119.308156 -L 233.819171 120.228941 -L 234.198176 121.154669 -L 234.588899 122.075257 -L 234.987242 122.992501 -L 235.393093 123.906452 -L 235.80618 124.817227 -L 236.221166 125.727168 -L 236.637673 126.636443 -L 237.101458 127.605068 -L 237.503921 128.506873 -L 237.945157 129.406047 -L 238.396163 130.301094 -L 238.810483 131.211636 -L 239.231046 132.119542 -L 239.664998 133.021792 -L 240.098584 133.924197 -L 240.542113 134.822402 -L 241.01929 135.706394 -L 241.604418 136.980785 -L 242.027098 137.883099 -L 242.459677 138.786593 -L 242.88212 139.694231 -L 243.317099 140.596744 -L 243.74741 141.501165 -L 244.194462 142.398743 -L 244.681379 143.280024 -L 245.111355 144.184582 -L 245.58993 145.069274 -L 246.329972 146.59906 -L 246.800537 147.491401 -L 247.202062 148.407899 -L 247.667519 149.298978 -L 248.107344 150.200248 -L 248.513448 151.114925 -L 248.919504 152.029622 -L 249.309855 152.950562 -L 249.731179 153.859189 -L 250.124846 154.778811 -L 250.875161 156.584133 -L 251.287075 157.50411 -L 251.666597 158.42948 -L 252.04897 159.353744 -L 252.422895 160.281289 -L 252.802736 161.206535 -L 253.181083 162.132363 -L 253.549781 163.061938 -L 253.910963 163.994434 -L 254.266572 164.929095 -L 254.619975 165.864613 -L 255.024143 166.969534 -L 255.359163 167.918431 -L 255.703883 168.857218 -L 256.029266 169.803379 -L 256.370278 170.743581 -L 256.709386 171.684508 -L 257.019778 172.636386 -L 257.335146 173.586366 -L 257.651193 174.536088 -L 257.986063 175.478631 -L 258.304747 176.427347 -L 258.709759 177.727611 -L 259.022898 178.681105 -L 259.314494 179.639811 -L 259.624901 180.591446 -L 259.875815 181.565444 -L 260.15566 182.528568 -L 260.473413 183.477442 -L 260.773899 184.432806 -L 261.055466 185.395282 -L 261.352481 186.351951 -L 261.670109 187.300871 -L 262.093937 188.746804 -L 262.384703 189.705096 -L 262.686097 190.659933 -L 262.942256 191.631603 -L 263.255363 192.582081 -L 263.570883 193.531662 -L 263.833744 194.500838 -L 264.14193 195.453147 -L 264.440692 196.408964 -L 264.758632 197.357644 -L 265.048429 198.316796 -L 265.557885 199.840347 -L 265.850671 200.796656 -L 266.176841 201.742225 -L 266.482706 202.695304 -L 266.785425 203.649547 -L 267.116513 204.593297 -L 267.437071 205.540942 -L 267.773646 206.482663 -L 268.116249 207.422154 -L 268.457841 208.36202 -L 268.804681 209.299944 -L 269.386044 210.862906 -L 269.735387 211.799211 -L 270.087123 212.735328 -L 270.445454 213.669011 -L 270.813891 214.598964 -L 271.174129 215.531943 -L 271.542517 216.461914 -L 271.922862 217.387472 -L 272.298766 218.314668 -L 272.673083 219.242451 -L 273.093181 220.153335 -L 273.712081 221.724518 -L 274.083254 222.653931 -L 274.496427 223.567322 -L 274.928761 224.473626 -L 275.33376 225.39004 -L 275.712174 226.316286 -L 276.091421 227.242225 -L 276.529698 228.14633 -L 276.921222 229.067728 -L 277.29766 229.994706 -L 277.685521 230.917458 -L 278.329798 232.457151 -L 278.725338 233.377147 -L 279.10658 234.302273 -L 279.558087 235.201253 -L 279.938199 236.126799 -L 280.321939 237.050995 -L 280.745887 237.960229 -L 281.130707 238.884023 -L 281.518603 239.806672 -L 281.907107 240.729096 -L 282.358688 241.628048 -L 283.00136 243.102028 -L 283.422425 244.010018 -L 283.85709 244.914944 -L 284.278279 245.824936 -L 284.676165 246.743688 -L 285.080089 247.660169 -L 285.464433 248.584011 -L 285.82741 249.515885 -L 286.200076 250.444116 -L 286.563153 251.375952 -L 286.916656 252.311387 -L 287.440296 253.719801 -L 287.779794 254.655527 -L 288.120682 255.595775 -L 288.44785 256.541256 -L 288.791667 257.480388 -L 289.120275 258.425319 -L 289.417692 259.382145 -L 289.727913 260.334088 -L 290.041154 261.284879 -L 290.320628 262.248547 -L 290.634043 263.199272 -L 291.086273 264.48153 -L 291.397233 265.429739 -L 291.676517 266.394053 -L 292.009629 267.337454 -L 292.271052 268.308708 -L 292.528724 269.281418 -L 292.857829 270.226376 -L 293.140934 271.189205 -L 293.441918 272.145089 -L 293.708928 273.114171 -L 293.962739 274.088381 -L 294.350787 275.199564 -L 294.682847 276.145983 -L 295.018258 277.088767 -L 295.349621 278.033161 -L 295.648393 278.990512 -L 295.947168 279.947863 -L 296.288111 280.888448 -L 296.632953 281.827482 -L 296.949835 282.777633 -L 297.277927 283.723327 -L 297.972252 285.55091 -L 298.328239 286.493326 -L 298.667234 287.435076 -L 298.996696 288.380724 -L 299.34647 289.318068 -L 299.700545 290.253654 -L 300.065119 291.184948 -L 300.415479 292.122053 -L 300.774132 293.055768 -L 301.136895 293.987802 -L 301.774315 295.559539 -L 302.167307 296.491669 -L 302.558299 297.412065 -L 302.952805 298.330977 -L 303.35909 299.244914 -L 303.777727 300.153633 -L 304.209614 301.056755 -L 304.637362 301.961626 -L 305.087917 302.856864 -L 305.540647 303.751182 -L 306.129676 305.023925 -L 306.582296 305.927447 -L 307.020439 306.827229 -L 307.485797 307.71507 -L 307.94851 308.604071 -L 308.45003 309.476045 -L 308.911567 310.365562 -L 309.412445 311.237818 -L 309.870097 312.12904 -L 310.316467 313.025211 -L 310.817534 313.977479 -L 311.288158 314.861338 -L 311.772679 315.739295 -L 312.297379 316.598836 -L 312.803096 317.467077 -L 313.291636 318.343192 -L 313.749902 319.233184 -L 314.191374 320.130873 -L 314.647746 321.021733 -L 315.40582 322.558993 -L 315.863404 323.435285 -L 316.369758 324.301336 -L 316.863737 325.173348 -L 317.319457 326.063796 -L 317.808035 326.938411 -L 318.26214 327.829636 -L 318.712973 328.722438 -L 319.173469 329.610585 -L 319.762351 330.796572 -L 320.214333 331.663984 -L 320.677782 332.550167 -L 321.141327 333.4363 -L 321.595054 334.327442 -L 322.046018 335.219992 -L 322.485703 336.118294 -L 322.929225 337.01464 -L 323.786819 338.719493 -L 324.225276 339.590433 -L 324.680504 340.481181 -L 325.130781 341.374622 -L 325.588612 342.263954 -L 326.051025 343.150793 -L 326.485135 344.053029 -L 326.921137 344.954236 -L 327.560424 346.279453 -L 328.007349 347.152681 -L 328.489925 348.028927 -L 328.968556 348.907482 -L 329.39628 349.815837 -L 329.828286 350.721685 -L 330.276862 351.617833 -L 330.7425 352.503994 -L 331.216449 353.398758 -L 331.697242 354.268628 -L 332.149879 355.165893 -L 332.649252 356.033418 -L 333.143884 356.90396 -L 333.577947 357.813045 -L 334.064443 358.688764 -L 334.864019 360.004097 -L 335.417242 360.85113 -L 335.946063 361.701615 -L 336.484764 362.545183 -L 337.016114 363.393898 -L 337.517226 364.263782 -L 338.062728 365.102589 -L 338.632991 365.993739 -L 339.217386 366.846279 -L 339.773935 367.68049 -L 340.367029 368.486139 -L 340.949574 369.300032 -L 341.531818 370.114161 -L 342.486873 371.363573 -L 343.169405 372.168179 -L 343.801971 372.943842 -L 344.44379 373.711284 -L 345.094076 374.471202 -L 345.750971 375.225247 -L 346.474434 376.045136 -L 347.243661 376.796818 -L 347.963786 377.490664 -L 348.6892 378.17904 -L 349.415545 378.866453 -L 350.594116 379.992265 -L 351.451264 380.66273 -L 352.249465 381.265885 -L 353.052713 381.862765 -L 353.869183 382.443209 -L 354.826928 383.158085 -L 355.771233 383.694645 -L 356.659249 384.162081 -L 357.528005 384.659672 -L 359.070533 385.593214 -L 360.047786 386.028202 -L 360.966244 386.425006 -L 361.899714 386.789901 -L 363.266871 387.343765 -L 364.292533 387.576696 -L 365.262861 387.822412 -L 366.24359 388.033492 -L 367.435368 388.327174 -L 368.447083 388.394435 -L 369.452588 388.415918 -L 370.459559 388.426035 -L 371.536888 388.522661 -L 372.490105 388.434923 -L 373.486512 388.329838 -L 374.484295 388.256784 -L 375.533017 388.179157 -L 376.428782 387.927546 -L 377.384343 387.614426 -L 378.351891 387.357138 -L 379.456363 387.072622 -L 380.275699 386.711596 -L 381.191524 386.307175 -L 382.104831 385.896222 -L 383.344432 385.392652 -L 384.101067 384.933854 -L 384.948253 384.399602 -L 385.815934 383.902288 -L 387.227416 383.089331 -L 387.926368 382.543405 -L 388.732623 381.951787 -L 389.540396 381.36227 -L 391.159008 380.20138 -L 391.834263 379.604858 -L 392.587735 378.947335 -L 393.354422 378.304725 -L 394.132202 377.674634 -L 395.205363 376.763172 -L 395.873827 376.119679 -L 396.607408 375.437506 -L 397.314622 374.730142 -L 398.031904 374.032397 -L 399.357137 372.727488 -L 399.985301 372.008667 -L 400.688113 371.292501 -L 401.394183 370.579043 -L 402.072378 369.842415 -L 402.740351 369.097291 -L 403.656507 368.127092 -L 404.267745 367.356389 -L 404.935671 366.606498 -L 405.599602 365.853657 -L 406.292589 365.122266 -L 406.916972 364.34023 -L 408.032933 362.908472 -L 408.678805 362.129784 -L 409.314431 361.35166 -L 409.93273 360.561989 -L 410.51382 359.747524 -L 411.113481 358.945433 -L 411.700334 358.134809 -L 412.481882 357.094861 -L 413.042815 356.236952 -L 413.611531 355.412478 -L 414.162808 354.577374 -L 414.741826 353.759178 -L 415.289091 352.921629 -L 415.856209 352.09618 -L 416.796959 350.58873 -L 417.343326 349.713384 -L 417.854297 348.853481 -L 418.352757 347.986526 -L 418.850172 347.118982 -L 419.346675 346.250924 -L 419.840462 345.381336 -L 420.332863 344.510966 -L 420.941803 343.427626 -L 421.409791 342.511314 -L 421.86251 341.619541 -L 422.317678 340.729056 -L 422.767386 339.835699 -L 423.215012 338.941246 -L 423.659965 338.045386 -L 424.112431 337.15348 -L 424.851743 335.630954 -L 425.274685 334.701859 -L 425.662324 333.777918 -L 426.081615 332.869653 -L 426.486026 331.954019 -L 426.859101 331.022866 -L 427.251372 330.101219 -L 427.650407 329.182922 -L 428.029723 328.254859 -L 428.493761 327.235611 -L 428.860276 326.294553 -L 429.205479 325.351889 -L 429.520684 324.395139 -L 429.886276 323.462049 -L 430.28089 322.542587 -L 430.647754 321.610094 -L 431.031186 320.685382 -L 431.390916 319.74954 -L 432.00186 318.354782 -L 432.370164 317.428565 -L 432.682411 316.472674 -L 433.043182 315.538527 -L 433.379779 314.593546 -L 433.750023 313.663645 -L 434.129519 312.737889 -L 434.506643 311.81107 -L 434.876656 310.881064 -L 435.623667 309.136883 -L 435.952555 308.20119 -L 436.31386 307.268013 -L 436.683367 306.338365 -L 437.059403 305.411525 -L 437.431063 304.482803 -L 437.791693 303.549336 -L 438.173248 302.62487 -L 438.545718 301.696497 -L 438.924159 300.770692 -L 439.404344 299.625651 -L 439.777802 298.711447 -L 440.15693 297.786091 -L 440.536192 296.86079 -L 440.921256 295.937899 -L 441.310114 295.016583 -L 441.712099 294.100719 -L 442.106379 293.181654 -L 442.500047 292.262336 -L 442.895541 291.343776 -L 443.537783 289.928674 -L 443.927259 289.017599 -L 444.326898 288.1005 -L 444.753248 287.194164 -L 445.147967 286.275083 -L 445.569363 285.366751 -L 445.981235 284.454581 -L 446.431723 283.55797 -L 446.850389 282.648538 -L 447.271807 281.740214 -L 448.00316 280.061931 -L 448.430012 279.159268 -L 448.826475 278.240619 -L 449.253564 277.334 -L 449.671465 276.423771 -L 450.094107 275.515405 -L 450.496926 274.599253 -L 450.952278 273.703735 -L 451.421906 272.813825 -L 451.823736 271.897284 -L 452.280416 271.002288 -L 452.703973 270.018766 -L 453.14181 269.113706 -L 453.54799 268.198518 -L 453.971471 267.289986 -L 454.424875 266.392965 -L 454.832865 265.478473 -L 455.27526 264.577217 -L 455.694974 263.667236 -L 456.092791 262.748831 -L 456.49135 261.830711 -L 456.870943 260.905296 -L 457.362865 259.730963 -L 457.734727 258.797043 -L 458.110536 257.87005 -L 458.472464 256.937805 -L 458.83488 256.005744 -L 459.195407 255.072968 -L 459.555894 254.140178 -L 459.910846 253.205293 -L 460.264775 252.270021 -L 460.61619 251.333797 -L 460.967275 250.397448 -L 461.470356 249.05253 -L 461.803172 248.105101 -L 462.142101 247.164213 -L 462.466841 246.218021 -L 462.79168 245.271866 -L 463.116376 244.325657 -L 463.415491 243.369887 -L 463.737892 242.42282 -L 464.048921 241.471503 -L 464.330582 240.509208 -L 464.640036 239.557302 -L 465.119751 238.072077 -L 465.431919 237.119708 -L 465.723003 236.16111 -L 466.041826 235.212796 -L 466.360889 234.264572 -L 466.653313 233.306471 -L 466.960488 232.353839 -L 467.269132 231.401751 -L 467.570739 230.447055 -L 467.857372 229.486806 -L 468.142777 228.526102 -L 468.596556 226.943414 -L 468.901861 225.990216 -L 469.197325 225.033319 -L 469.443655 224.058277 -L 469.750215 223.105477 -L 470.061469 222.154411 -L 470.323943 221.185331 -L 470.616691 220.22743 -L 470.897788 219.265227 -L 471.198232 218.310169 -L 471.492179 217.352711 -L 472.031047 215.7575 -" style="fill:none;stroke:#0000ff;stroke-linecap:square;stroke-width:2;"/> - <g id="patch_3"> - <path d="M 72 388.8 -L 72.031436 387.8 -L 72.068377 386.8 -L 72.166123 385.8 -L 72.198645 384.8 -L 72.27227 383.8 -L 72.310835 382.8 -L 72.346248 381.8 -L 72.403888 380.8 -L 72.474274 379.8 -L 72.526239 378.8 -L 72.585328 377.8 -L 72.673649 376.8 -L 72.719794 375.8 -L 72.762205 374.8 -L 72.792697 373.8 -L 72.818742 372.8 -L 72.839942 371.8 -L 72.894243 370.8 -L 72.922181 369.8 -L 72.951905 368.8 -L 72.9773 367.8 -L 72.9885 366.8 -L 72.998624 365.8 -L 72.99842 364.8 -L 72.98891 363.8 -L 72.977256 362.8 -L 72.946227 361.8 -L 72.935059 360.8 -L 72.904942 359.8 -L 72.845165 358.8 -L 72.807973 357.8 -L 72.768877 356.8 -L 72.726437 355.8 -L 72.693672 354.8 -L 72.626246 353.8 -L 72.58712 352.8 -L 72.544445 351.8 -L 72.473865 350.8 -L 72.437474 349.8 -L 72.379071 348.8 -L 72.268118 347.8 -L 72.19746 346.8 -L 72.08452 345.8 -L 72.038747 344.8 -L 71.977464 343.8 -L 71.928965 342.8 -L 71.848142 341.8 -L 71.729623 340.8 -L 71.659412 339.8 -L 71.57615 338.8 -L 71.543008 337.8 -L 71.491771 336.8 -L 71.423372 335.8 -L 71.357157 334.8 -L 71.28024 333.8 -L 71.252924 332.8 -L 71.226447 331.8 -L 71.203796 330.8 -L 71.184265 329.8 -L 71.157871 328.8 -L 71.1081 327.8 -L 71.073027 326.8 -L 71.037161 325.8 -L 71.021794 324.8 -L 71.006025 323.8 -L 71.002612 322.8 -L 71.000195 321.8 -L 71.000681 320.8 -L 71.00261 319.8 -L 71.015867 318.8 -L 71.024258 317.8 -L 71.045794 316.8 -L 71.068827 315.8 -L 71.08606 314.8 -L 71.104523 313.8 -L 71.124975 312.8 -L 71.141575 311.8 -L 71.204354 310.8 -L 71.279619 309.8 -L 71.312258 308.8 -L 71.379822 307.8 -L 71.433869 306.8 -L 71.467573 305.8 -L 71.557699 304.8 -L 71.586234 303.8 -L 71.61772 302.8 -L 71.648731 301.8 -L 71.703539 300.8 -L 71.768126 299.8 -L 71.806322 298.8 -L 71.902256 297.8 -L 71.951514 296.8 -L 71.995583 295.8 -L 72.035707 294.8 -L 72.144074 293.8 -L 72.185702 292.8 -L 72.247844 291.8 -L 72.317806 290.8 -L 72.42231 289.8 -L 72.459298 288.8 -L 72.505175 287.8 -L 72.57367 286.8 -L 72.622416 285.8 -L 72.700013 284.8 -L 72.730554 283.8 -L 72.800068 282.8 -L 72.824041 281.8 -L 72.852663 280.8 -L 72.894456 279.8 -L 72.916032 278.8 -L 72.92998 277.8 -L 72.956702 276.8 -L 72.966012 275.8 -L 72.978459 274.8 -L 72.989514 273.8 -L 72.995178 272.8 -L 72.999942 271.8 -L 72.994394 270.8 -L 72.981106 269.8 -L 72.973589 268.8 -L 72.948804 267.8 -L 72.925235 266.8 -L 72.889055 265.8 -L 72.863093 264.8 -L 72.840771 263.8 -L 72.772011 262.8 -L 72.697476 261.8 -L 72.603497 260.8 -L 72.552445 259.8 -L 72.498511 258.8 -L 72.46326 257.8 -L 72.357172 256.8 -L 72.304908 255.8 -L 72.268001 254.8 -L 72.23697 253.8 -L 72.175815 252.8 -L 72.108395 251.8 -L 72.059489 250.8 -L 71.994297 249.8 -L 71.956109 248.8 -L 71.914113 247.8 -L 71.872096 246.8 -L 71.81258 245.8 -L 71.69942 244.8 -L 71.647169 243.8 -L 71.607751 242.8 -L 71.56065 241.8 -L 71.50387 240.8 -L 71.471207 239.8 -L 71.435029 238.8 -L 71.402939 237.8 -L 71.368659 236.8 -L 71.310281 235.8 -L 71.265096 234.8 -L 71.235472 233.8 -L 71.185086 232.8 -L 71.159889 231.8 -L 71.138838 230.8 -L 71.10387 229.8 -L 71.07958 228.8 -L 71.065513 227.8 -L 71.046571 226.8 -L 71.03091 225.8 -L 71.018358 224.8 -L 71.012522 223.8 -L 71.00564 222.8 -L 71.000466 221.8 -L 71.002249 220.8 -L 71.004974 219.8 -L 71.016128 218.8 -L 71.044363 217.8 -L 71.088151 216.8 -L 71.10884 215.8 -L 71.149813 214.8 -L 71.189888 213.8 -L 71.208998 212.8 -L 71.231507 211.8 -L 71.298158 210.8 -L 71.347868 209.8 -L 71.421574 208.8 -L 71.452888 207.8 -L 71.52951 206.8 -L 71.567808 205.8 -L 71.641925 204.8 -L 71.745983 203.8 -L 71.815814 202.8 -L 71.921048 201.8 -L 71.976063 200.8 -L 72.099538 199.8 -L 72.170097 198.8 -L 72.285936 197.8 -L 72.336117 196.8 -L 72.371721 195.8 -L 72.463128 194.8 -L 72.516636 193.8 -L 72.604544 192.8 -L 72.673729 191.8 -L 72.720493 190.8 -L 72.792537 189.8 -L 72.842679 188.8 -L 72.860069 187.8 -L 72.887072 186.8 -L 72.906499 185.8 -L 72.925837 184.8 -L 72.964086 183.8 -L 72.980519 182.8 -L 72.988888 181.8 -L 72.993207 180.8 -L 72.999762 179.8 -L 72.997216 178.8 -L 72.991757 177.8 -L 72.975329 176.8 -L 72.943394 175.8 -L 72.905414 174.8 -L 72.87061 173.8 -L 72.807538 172.8 -L 72.786111 171.8 -L 72.735493 170.8 -L 72.710536 169.8 -L 72.654902 168.8 -L 72.623673 167.8 -L 72.573529 166.8 -L 72.541036 165.8 -L 72.460624 164.8 -L 72.391698 163.8 -L 72.276001 162.8 -L 72.200522 161.8 -L 72.084997 160.8 -L 72.005513 159.8 -L 71.897072 158.8 -L 71.857704 157.8 -L 71.754836 156.8 -L 71.655038 155.8 -L 71.609541 154.8 -L 71.575219 153.8 -L 71.523263 152.8 -L 71.483616 151.8 -L 71.448102 150.8 -L 71.380457 149.8 -L 71.341375 148.8 -L 71.290894 147.8 -L 71.241588 146.8 -L 71.190518 145.8 -L 71.146279 144.8 -L 71.124259 143.8 -L 71.108703 142.8 -L 71.066256 141.8 -L 71.051388 140.8 -L 71.02866 139.8 -L 71.008344 138.8 -L 71.002547 137.8 -L 71.000065 136.8 -L 71.003122 135.8 -L 71.014718 134.8 -L 71.031638 133.8 -L 71.063299 132.8 -L 71.077382 131.8 -L 71.130054 130.8 -L 71.179143 129.8 -L 71.233844 128.8 -L 71.278192 127.8 -L 71.348184 126.8 -L 71.398567 125.8 -L 71.452474 124.8 -L 71.521913 123.8 -L 71.579301 122.8 -L 71.629466 121.8 -L 71.706628 120.8 -L 71.764818 119.8 -L 71.825456 118.8 -L 71.862657 117.8 -L 71.927749 116.8 -L 72.032879 115.8 -L 72.093181 114.8 -L 72.189503 113.8 -L 72.221506 112.8 -L 72.272523 111.8 -L 72.389315 110.8 -L 72.424762 109.8 -L 72.480642 108.8 -L 72.511018 107.8 -L 72.599404 106.8 -L 72.644168 105.8 -L 72.725056 104.8 -L 72.785202 103.8 -L 72.848288 102.8 -L 72.871236 101.8 -L 72.887406 100.8 -L 72.916335 99.8 -L 72.946687 98.8 -L 72.959261 97.8 -L 72.98414 96.8 -L 72.996224 95.8 -L 72.999986 94.8 -L 72.99555 93.8 -L 72.983211 92.8 -L 72.968798 91.8 -L 72.952725 90.8 -L 72.917204 89.8 -L 72.89727 88.8 -L 72.840681 87.8 -L 72.773487 86.8 -L 72.746117 85.8 -L 72.711969 84.8 -L 72.663289 83.8 -L 72.615004 82.8 -L 72.555927 81.8 -L 72.460322 80.8 -L 72.417182 79.8 -L 72.367334 78.8 -L 72.3088 77.8 -L 72.261214 76.8 -L 72.200086 75.8 -L 72.144001 74.8 -L 72.06983 73.8 -L 71.952592 72.8 -L 71.896868 71.8 -L 71.788642 70.8 -L 71.682492 69.8 -L 71.57492 68.8 -L 71.540412 67.8 -L 71.437105 66.8 -L 71.361381 65.8 -L 71.321946 64.8 -L 71.282562 63.8 -L 71.26008 62.8 -L 71.204267 61.8 -L 71.178215 60.8 -L 71.14798 59.8 -L 71.097209 58.8 -L 71.078558 57.8 -L 71.056849 56.8 -L 71.044203 55.8 -L 71.02521 54.8 -L 71.00782 53.8 -L 71.000782 52.8 -L 71.001806 51.8 -L 71.00881 50.8 -L 71.01818 49.8 -L 71.041578 48.8 -L 71.066661 47.8 -L 71.07906 46.8 -L 71.112153 45.8 -L 71.12852 44.8 -L 71.146925 43.2 -" style="fill:none;stroke:#ffffff;stroke-linecap:square;stroke-linejoin:miter;stroke-width:4;"/> - <path d="M 72 388.8 -L 72.031436 387.8 -L 72.068377 386.8 -L 72.166123 385.8 -L 72.198645 384.8 -L 72.27227 383.8 -L 72.310835 382.8 -L 72.346248 381.8 -L 72.403888 380.8 -L 72.474274 379.8 -L 72.526239 378.8 -L 72.585328 377.8 -L 72.673649 376.8 -L 72.719794 375.8 -L 72.762205 374.8 -L 72.792697 373.8 -L 72.818742 372.8 -L 72.839942 371.8 -L 72.894243 370.8 -L 72.922181 369.8 -L 72.951905 368.8 -L 72.9773 367.8 -L 72.9885 366.8 -L 72.998624 365.8 -L 72.99842 364.8 -L 72.98891 363.8 -L 72.977256 362.8 -L 72.946227 361.8 -L 72.935059 360.8 -L 72.904942 359.8 -L 72.845165 358.8 -L 72.807973 357.8 -L 72.768877 356.8 -L 72.726437 355.8 -L 72.693672 354.8 -L 72.626246 353.8 -L 72.58712 352.8 -L 72.544445 351.8 -L 72.473865 350.8 -L 72.437474 349.8 -L 72.379071 348.8 -L 72.268118 347.8 -L 72.19746 346.8 -L 72.08452 345.8 -L 72.038747 344.8 -L 71.977464 343.8 -L 71.928965 342.8 -L 71.848142 341.8 -L 71.729623 340.8 -L 71.659412 339.8 -L 71.57615 338.8 -L 71.543008 337.8 -L 71.491771 336.8 -L 71.423372 335.8 -L 71.357157 334.8 -L 71.28024 333.8 -L 71.252924 332.8 -L 71.226447 331.8 -L 71.203796 330.8 -L 71.184265 329.8 -L 71.157871 328.8 -L 71.1081 327.8 -L 71.073027 326.8 -L 71.037161 325.8 -L 71.021794 324.8 -L 71.006025 323.8 -L 71.002612 322.8 -L 71.000195 321.8 -L 71.000681 320.8 -L 71.00261 319.8 -L 71.015867 318.8 -L 71.024258 317.8 -L 71.045794 316.8 -L 71.068827 315.8 -L 71.08606 314.8 -L 71.104523 313.8 -L 71.124975 312.8 -L 71.141575 311.8 -L 71.204354 310.8 -L 71.279619 309.8 -L 71.312258 308.8 -L 71.379822 307.8 -L 71.433869 306.8 -L 71.467573 305.8 -L 71.557699 304.8 -L 71.586234 303.8 -L 71.61772 302.8 -L 71.648731 301.8 -L 71.703539 300.8 -L 71.768126 299.8 -L 71.806322 298.8 -L 71.902256 297.8 -L 71.951514 296.8 -L 71.995583 295.8 -L 72.035707 294.8 -L 72.144074 293.8 -L 72.185702 292.8 -L 72.247844 291.8 -L 72.317806 290.8 -L 72.42231 289.8 -L 72.459298 288.8 -L 72.505175 287.8 -L 72.57367 286.8 -L 72.622416 285.8 -L 72.700013 284.8 -L 72.730554 283.8 -L 72.800068 282.8 -L 72.824041 281.8 -L 72.852663 280.8 -L 72.894456 279.8 -L 72.916032 278.8 -L 72.92998 277.8 -L 72.956702 276.8 -L 72.966012 275.8 -L 72.978459 274.8 -L 72.989514 273.8 -L 72.995178 272.8 -L 72.999942 271.8 -L 72.994394 270.8 -L 72.981106 269.8 -L 72.973589 268.8 -L 72.948804 267.8 -L 72.925235 266.8 -L 72.889055 265.8 -L 72.863093 264.8 -L 72.840771 263.8 -L 72.772011 262.8 -L 72.697476 261.8 -L 72.603497 260.8 -L 72.552445 259.8 -L 72.498511 258.8 -L 72.46326 257.8 -L 72.357172 256.8 -L 72.304908 255.8 -L 72.268001 254.8 -L 72.23697 253.8 -L 72.175815 252.8 -L 72.108395 251.8 -L 72.059489 250.8 -L 71.994297 249.8 -L 71.956109 248.8 -L 71.914113 247.8 -L 71.872096 246.8 -L 71.81258 245.8 -L 71.69942 244.8 -L 71.647169 243.8 -L 71.607751 242.8 -L 71.56065 241.8 -L 71.50387 240.8 -L 71.471207 239.8 -L 71.435029 238.8 -L 71.402939 237.8 -L 71.368659 236.8 -L 71.310281 235.8 -L 71.265096 234.8 -L 71.235472 233.8 -L 71.185086 232.8 -L 71.159889 231.8 -L 71.138838 230.8 -L 71.10387 229.8 -L 71.07958 228.8 -L 71.065513 227.8 -L 71.046571 226.8 -L 71.03091 225.8 -L 71.018358 224.8 -L 71.012522 223.8 -L 71.00564 222.8 -L 71.000466 221.8 -L 71.002249 220.8 -L 71.004974 219.8 -L 71.016128 218.8 -L 71.044363 217.8 -L 71.088151 216.8 -L 71.10884 215.8 -L 71.149813 214.8 -L 71.189888 213.8 -L 71.208998 212.8 -L 71.231507 211.8 -L 71.298158 210.8 -L 71.347868 209.8 -L 71.421574 208.8 -L 71.452888 207.8 -L 71.52951 206.8 -L 71.567808 205.8 -L 71.641925 204.8 -L 71.745983 203.8 -L 71.815814 202.8 -L 71.921048 201.8 -L 71.976063 200.8 -L 72.099538 199.8 -L 72.170097 198.8 -L 72.285936 197.8 -L 72.336117 196.8 -L 72.371721 195.8 -L 72.463128 194.8 -L 72.516636 193.8 -L 72.604544 192.8 -L 72.673729 191.8 -L 72.720493 190.8 -L 72.792537 189.8 -L 72.842679 188.8 -L 72.860069 187.8 -L 72.887072 186.8 -L 72.906499 185.8 -L 72.925837 184.8 -L 72.964086 183.8 -L 72.980519 182.8 -L 72.988888 181.8 -L 72.993207 180.8 -L 72.999762 179.8 -L 72.997216 178.8 -L 72.991757 177.8 -L 72.975329 176.8 -L 72.943394 175.8 -L 72.905414 174.8 -L 72.87061 173.8 -L 72.807538 172.8 -L 72.786111 171.8 -L 72.735493 170.8 -L 72.710536 169.8 -L 72.654902 168.8 -L 72.623673 167.8 -L 72.573529 166.8 -L 72.541036 165.8 -L 72.460624 164.8 -L 72.391698 163.8 -L 72.276001 162.8 -L 72.200522 161.8 -L 72.084997 160.8 -L 72.005513 159.8 -L 71.897072 158.8 -L 71.857704 157.8 -L 71.754836 156.8 -L 71.655038 155.8 -L 71.609541 154.8 -L 71.575219 153.8 -L 71.523263 152.8 -L 71.483616 151.8 -L 71.448102 150.8 -L 71.380457 149.8 -L 71.341375 148.8 -L 71.290894 147.8 -L 71.241588 146.8 -L 71.190518 145.8 -L 71.146279 144.8 -L 71.124259 143.8 -L 71.108703 142.8 -L 71.066256 141.8 -L 71.051388 140.8 -L 71.02866 139.8 -L 71.008344 138.8 -L 71.002547 137.8 -L 71.000065 136.8 -L 71.003122 135.8 -L 71.014718 134.8 -L 71.031638 133.8 -L 71.063299 132.8 -L 71.077382 131.8 -L 71.130054 130.8 -L 71.179143 129.8 -L 71.233844 128.8 -L 71.278192 127.8 -L 71.348184 126.8 -L 71.398567 125.8 -L 71.452474 124.8 -L 71.521913 123.8 -L 71.579301 122.8 -L 71.629466 121.8 -L 71.706628 120.8 -L 71.764818 119.8 -L 71.825456 118.8 -L 71.862657 117.8 -L 71.927749 116.8 -L 72.032879 115.8 -L 72.093181 114.8 -L 72.189503 113.8 -L 72.221506 112.8 -L 72.272523 111.8 -L 72.389315 110.8 -L 72.424762 109.8 -L 72.480642 108.8 -L 72.511018 107.8 -L 72.599404 106.8 -L 72.644168 105.8 -L 72.725056 104.8 -L 72.785202 103.8 -L 72.848288 102.8 -L 72.871236 101.8 -L 72.887406 100.8 -L 72.916335 99.8 -L 72.946687 98.8 -L 72.959261 97.8 -L 72.98414 96.8 -L 72.996224 95.8 -L 72.999986 94.8 -L 72.99555 93.8 -L 72.983211 92.8 -L 72.968798 91.8 -L 72.952725 90.8 -L 72.917204 89.8 -L 72.89727 88.8 -L 72.840681 87.8 -L 72.773487 86.8 -L 72.746117 85.8 -L 72.711969 84.8 -L 72.663289 83.8 -L 72.615004 82.8 -L 72.555927 81.8 -L 72.460322 80.8 -L 72.417182 79.8 -L 72.367334 78.8 -L 72.3088 77.8 -L 72.261214 76.8 -L 72.200086 75.8 -L 72.144001 74.8 -L 72.06983 73.8 -L 71.952592 72.8 -L 71.896868 71.8 -L 71.788642 70.8 -L 71.682492 69.8 -L 71.57492 68.8 -L 71.540412 67.8 -L 71.437105 66.8 -L 71.361381 65.8 -L 71.321946 64.8 -L 71.282562 63.8 -L 71.26008 62.8 -L 71.204267 61.8 -L 71.178215 60.8 -L 71.14798 59.8 -L 71.097209 58.8 -L 71.078558 57.8 -L 71.056849 56.8 -L 71.044203 55.8 -L 71.02521 54.8 -L 71.00782 53.8 -L 71.000782 52.8 -L 71.001806 51.8 -L 71.00881 50.8 -L 71.01818 49.8 -L 71.041578 48.8 -L 71.066661 47.8 -L 71.07906 46.8 -L 71.112153 45.8 -L 71.12852 44.8 -L 71.146925 43.2 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:1.5;"/> - <g id="patch_4"> - <path d="M 518.4 388.8 -L 518.431436 387.8 -L 518.468377 386.8 -L 518.566123 385.8 -L 518.598645 384.8 -L 518.67227 383.8 -L 518.710835 382.8 -L 518.746248 381.8 -L 518.803888 380.8 -L 518.874274 379.8 -L 518.926239 378.8 -L 518.985328 377.8 -L 519.073649 376.8 -L 519.119794 375.8 -L 519.162205 374.8 -L 519.192697 373.8 -L 519.218742 372.8 -L 519.239942 371.8 -L 519.294243 370.8 -L 519.322181 369.8 -L 519.351905 368.8 -L 519.3773 367.8 -L 519.3885 366.8 -L 519.398624 365.8 -L 519.39842 364.8 -L 519.38891 363.8 -L 519.377256 362.8 -L 519.346227 361.8 -L 519.335059 360.8 -L 519.304942 359.8 -L 519.245165 358.8 -L 519.207973 357.8 -L 519.168877 356.8 -L 519.126437 355.8 -L 519.093672 354.8 -L 519.026246 353.8 -L 518.98712 352.8 -L 518.944445 351.8 -L 518.873865 350.8 -L 518.837474 349.8 -L 518.779071 348.8 -L 518.668118 347.8 -L 518.59746 346.8 -L 518.48452 345.8 -L 518.438747 344.8 -L 518.377464 343.8 -L 518.328965 342.8 -L 518.248142 341.8 -L 518.129623 340.8 -L 518.059412 339.8 -L 517.97615 338.8 -L 517.943008 337.8 -L 517.891771 336.8 -L 517.823372 335.8 -L 517.757157 334.8 -L 517.68024 333.8 -L 517.652924 332.8 -L 517.626447 331.8 -L 517.603796 330.8 -L 517.584265 329.8 -L 517.557871 328.8 -L 517.5081 327.8 -L 517.473027 326.8 -L 517.437161 325.8 -L 517.421794 324.8 -L 517.406025 323.8 -L 517.402612 322.8 -L 517.400195 321.8 -L 517.400681 320.8 -L 517.40261 319.8 -L 517.415867 318.8 -L 517.424258 317.8 -L 517.445794 316.8 -L 517.468827 315.8 -L 517.48606 314.8 -L 517.504523 313.8 -L 517.524975 312.8 -L 517.541575 311.8 -L 517.604354 310.8 -L 517.679619 309.8 -L 517.712258 308.8 -L 517.779822 307.8 -L 517.833869 306.8 -L 517.867573 305.8 -L 517.957699 304.8 -L 517.986234 303.8 -L 518.01772 302.8 -L 518.048731 301.8 -L 518.103539 300.8 -L 518.168126 299.8 -L 518.206322 298.8 -L 518.302256 297.8 -L 518.351514 296.8 -L 518.395583 295.8 -L 518.435707 294.8 -L 518.544074 293.8 -L 518.585702 292.8 -L 518.647844 291.8 -L 518.717806 290.8 -L 518.82231 289.8 -L 518.859298 288.8 -L 518.905175 287.8 -L 518.97367 286.8 -L 519.022416 285.8 -L 519.100013 284.8 -L 519.130554 283.8 -L 519.200068 282.8 -L 519.224041 281.8 -L 519.252663 280.8 -L 519.294456 279.8 -L 519.316032 278.8 -L 519.32998 277.8 -L 519.356702 276.8 -L 519.366012 275.8 -L 519.378459 274.8 -L 519.389514 273.8 -L 519.395178 272.8 -L 519.399942 271.8 -L 519.394394 270.8 -L 519.381106 269.8 -L 519.373589 268.8 -L 519.348804 267.8 -L 519.325235 266.8 -L 519.289055 265.8 -L 519.263093 264.8 -L 519.240771 263.8 -L 519.172011 262.8 -L 519.097476 261.8 -L 519.003497 260.8 -L 518.952445 259.8 -L 518.898511 258.8 -L 518.86326 257.8 -L 518.757172 256.8 -L 518.704908 255.8 -L 518.668001 254.8 -L 518.63697 253.8 -L 518.575815 252.8 -L 518.508395 251.8 -L 518.459489 250.8 -L 518.394297 249.8 -L 518.356109 248.8 -L 518.314113 247.8 -L 518.272096 246.8 -L 518.21258 245.8 -L 518.09942 244.8 -L 518.047169 243.8 -L 518.007751 242.8 -L 517.96065 241.8 -L 517.90387 240.8 -L 517.871207 239.8 -L 517.835029 238.8 -L 517.802939 237.8 -L 517.768659 236.8 -L 517.710281 235.8 -L 517.665096 234.8 -L 517.635472 233.8 -L 517.585086 232.8 -L 517.559889 231.8 -L 517.538838 230.8 -L 517.50387 229.8 -L 517.47958 228.8 -L 517.465513 227.8 -L 517.446571 226.8 -L 517.43091 225.8 -L 517.418358 224.8 -L 517.412522 223.8 -L 517.40564 222.8 -L 517.400466 221.8 -L 517.402249 220.8 -L 517.404974 219.8 -L 517.416128 218.8 -L 517.444363 217.8 -L 517.488151 216.8 -L 517.50884 215.8 -L 517.549813 214.8 -L 517.589888 213.8 -L 517.608998 212.8 -L 517.631507 211.8 -L 517.698158 210.8 -L 517.747868 209.8 -L 517.821574 208.8 -L 517.852888 207.8 -L 517.92951 206.8 -L 517.967808 205.8 -L 518.041925 204.8 -L 518.145983 203.8 -L 518.215814 202.8 -L 518.321048 201.8 -L 518.376063 200.8 -L 518.499538 199.8 -L 518.570097 198.8 -L 518.685936 197.8 -L 518.736117 196.8 -L 518.771721 195.8 -L 518.863128 194.8 -L 518.916636 193.8 -L 519.004544 192.8 -L 519.073729 191.8 -L 519.120493 190.8 -L 519.192537 189.8 -L 519.242679 188.8 -L 519.260069 187.8 -L 519.287072 186.8 -L 519.306499 185.8 -L 519.325837 184.8 -L 519.364086 183.8 -L 519.380519 182.8 -L 519.388888 181.8 -L 519.393207 180.8 -L 519.399762 179.8 -L 519.397216 178.8 -L 519.391757 177.8 -L 519.375329 176.8 -L 519.343394 175.8 -L 519.305414 174.8 -L 519.27061 173.8 -L 519.207538 172.8 -L 519.186111 171.8 -L 519.135493 170.8 -L 519.110536 169.8 -L 519.054902 168.8 -L 519.023673 167.8 -L 518.973529 166.8 -L 518.941036 165.8 -L 518.860624 164.8 -L 518.791698 163.8 -L 518.676001 162.8 -L 518.600522 161.8 -L 518.484997 160.8 -L 518.405513 159.8 -L 518.297072 158.8 -L 518.257704 157.8 -L 518.154836 156.8 -L 518.055038 155.8 -L 518.009541 154.8 -L 517.975219 153.8 -L 517.923263 152.8 -L 517.883616 151.8 -L 517.848102 150.8 -L 517.780457 149.8 -L 517.741375 148.8 -L 517.690894 147.8 -L 517.641588 146.8 -L 517.590518 145.8 -L 517.546279 144.8 -L 517.524259 143.8 -L 517.508703 142.8 -L 517.466256 141.8 -L 517.451388 140.8 -L 517.42866 139.8 -L 517.408344 138.8 -L 517.402547 137.8 -L 517.400065 136.8 -L 517.403122 135.8 -L 517.414718 134.8 -L 517.431638 133.8 -L 517.463299 132.8 -L 517.477382 131.8 -L 517.530054 130.8 -L 517.579143 129.8 -L 517.633844 128.8 -L 517.678192 127.8 -L 517.748184 126.8 -L 517.798567 125.8 -L 517.852474 124.8 -L 517.921913 123.8 -L 517.979301 122.8 -L 518.029466 121.8 -L 518.106628 120.8 -L 518.164818 119.8 -L 518.225456 118.8 -L 518.262657 117.8 -L 518.327749 116.8 -L 518.432879 115.8 -L 518.493181 114.8 -L 518.589503 113.8 -L 518.621506 112.8 -L 518.672523 111.8 -L 518.789315 110.8 -L 518.824762 109.8 -L 518.880642 108.8 -L 518.911018 107.8 -L 518.999404 106.8 -L 519.044168 105.8 -L 519.125056 104.8 -L 519.185202 103.8 -L 519.248288 102.8 -L 519.271236 101.8 -L 519.287406 100.8 -L 519.316335 99.8 -L 519.346687 98.8 -L 519.359261 97.8 -L 519.38414 96.8 -L 519.396224 95.8 -L 519.399986 94.8 -L 519.39555 93.8 -L 519.383211 92.8 -L 519.368798 91.8 -L 519.352725 90.8 -L 519.317204 89.8 -L 519.29727 88.8 -L 519.240681 87.8 -L 519.173487 86.8 -L 519.146117 85.8 -L 519.111969 84.8 -L 519.063289 83.8 -L 519.015004 82.8 -L 518.955927 81.8 -L 518.860322 80.8 -L 518.817182 79.8 -L 518.767334 78.8 -L 518.7088 77.8 -L 518.661214 76.8 -L 518.600086 75.8 -L 518.544001 74.8 -L 518.46983 73.8 -L 518.352592 72.8 -L 518.296868 71.8 -L 518.188642 70.8 -L 518.082492 69.8 -L 517.97492 68.8 -L 517.940412 67.8 -L 517.837105 66.8 -L 517.761381 65.8 -L 517.721946 64.8 -L 517.682562 63.8 -L 517.66008 62.8 -L 517.604267 61.8 -L 517.578215 60.8 -L 517.54798 59.8 -L 517.497209 58.8 -L 517.478558 57.8 -L 517.456849 56.8 -L 517.444203 55.8 -L 517.42521 54.8 -L 517.40782 53.8 -L 517.400782 52.8 -L 517.401806 51.8 -L 517.40881 50.8 -L 517.41818 49.8 -L 517.441578 48.8 -L 517.466661 47.8 -L 517.47906 46.8 -L 517.512153 45.8 -L 517.52852 44.8 -L 517.546925 43.2 -" style="fill:none;stroke:#ffffff;stroke-linecap:square;stroke-linejoin:miter;stroke-width:4;"/> - <path d="M 518.4 388.8 -L 518.431436 387.8 -L 518.468377 386.8 -L 518.566123 385.8 -L 518.598645 384.8 -L 518.67227 383.8 -L 518.710835 382.8 -L 518.746248 381.8 -L 518.803888 380.8 -L 518.874274 379.8 -L 518.926239 378.8 -L 518.985328 377.8 -L 519.073649 376.8 -L 519.119794 375.8 -L 519.162205 374.8 -L 519.192697 373.8 -L 519.218742 372.8 -L 519.239942 371.8 -L 519.294243 370.8 -L 519.322181 369.8 -L 519.351905 368.8 -L 519.3773 367.8 -L 519.3885 366.8 -L 519.398624 365.8 -L 519.39842 364.8 -L 519.38891 363.8 -L 519.377256 362.8 -L 519.346227 361.8 -L 519.335059 360.8 -L 519.304942 359.8 -L 519.245165 358.8 -L 519.207973 357.8 -L 519.168877 356.8 -L 519.126437 355.8 -L 519.093672 354.8 -L 519.026246 353.8 -L 518.98712 352.8 -L 518.944445 351.8 -L 518.873865 350.8 -L 518.837474 349.8 -L 518.779071 348.8 -L 518.668118 347.8 -L 518.59746 346.8 -L 518.48452 345.8 -L 518.438747 344.8 -L 518.377464 343.8 -L 518.328965 342.8 -L 518.248142 341.8 -L 518.129623 340.8 -L 518.059412 339.8 -L 517.97615 338.8 -L 517.943008 337.8 -L 517.891771 336.8 -L 517.823372 335.8 -L 517.757157 334.8 -L 517.68024 333.8 -L 517.652924 332.8 -L 517.626447 331.8 -L 517.603796 330.8 -L 517.584265 329.8 -L 517.557871 328.8 -L 517.5081 327.8 -L 517.473027 326.8 -L 517.437161 325.8 -L 517.421794 324.8 -L 517.406025 323.8 -L 517.402612 322.8 -L 517.400195 321.8 -L 517.400681 320.8 -L 517.40261 319.8 -L 517.415867 318.8 -L 517.424258 317.8 -L 517.445794 316.8 -L 517.468827 315.8 -L 517.48606 314.8 -L 517.504523 313.8 -L 517.524975 312.8 -L 517.541575 311.8 -L 517.604354 310.8 -L 517.679619 309.8 -L 517.712258 308.8 -L 517.779822 307.8 -L 517.833869 306.8 -L 517.867573 305.8 -L 517.957699 304.8 -L 517.986234 303.8 -L 518.01772 302.8 -L 518.048731 301.8 -L 518.103539 300.8 -L 518.168126 299.8 -L 518.206322 298.8 -L 518.302256 297.8 -L 518.351514 296.8 -L 518.395583 295.8 -L 518.435707 294.8 -L 518.544074 293.8 -L 518.585702 292.8 -L 518.647844 291.8 -L 518.717806 290.8 -L 518.82231 289.8 -L 518.859298 288.8 -L 518.905175 287.8 -L 518.97367 286.8 -L 519.022416 285.8 -L 519.100013 284.8 -L 519.130554 283.8 -L 519.200068 282.8 -L 519.224041 281.8 -L 519.252663 280.8 -L 519.294456 279.8 -L 519.316032 278.8 -L 519.32998 277.8 -L 519.356702 276.8 -L 519.366012 275.8 -L 519.378459 274.8 -L 519.389514 273.8 -L 519.395178 272.8 -L 519.399942 271.8 -L 519.394394 270.8 -L 519.381106 269.8 -L 519.373589 268.8 -L 519.348804 267.8 -L 519.325235 266.8 -L 519.289055 265.8 -L 519.263093 264.8 -L 519.240771 263.8 -L 519.172011 262.8 -L 519.097476 261.8 -L 519.003497 260.8 -L 518.952445 259.8 -L 518.898511 258.8 -L 518.86326 257.8 -L 518.757172 256.8 -L 518.704908 255.8 -L 518.668001 254.8 -L 518.63697 253.8 -L 518.575815 252.8 -L 518.508395 251.8 -L 518.459489 250.8 -L 518.394297 249.8 -L 518.356109 248.8 -L 518.314113 247.8 -L 518.272096 246.8 -L 518.21258 245.8 -L 518.09942 244.8 -L 518.047169 243.8 -L 518.007751 242.8 -L 517.96065 241.8 -L 517.90387 240.8 -L 517.871207 239.8 -L 517.835029 238.8 -L 517.802939 237.8 -L 517.768659 236.8 -L 517.710281 235.8 -L 517.665096 234.8 -L 517.635472 233.8 -L 517.585086 232.8 -L 517.559889 231.8 -L 517.538838 230.8 -L 517.50387 229.8 -L 517.47958 228.8 -L 517.465513 227.8 -L 517.446571 226.8 -L 517.43091 225.8 -L 517.418358 224.8 -L 517.412522 223.8 -L 517.40564 222.8 -L 517.400466 221.8 -L 517.402249 220.8 -L 517.404974 219.8 -L 517.416128 218.8 -L 517.444363 217.8 -L 517.488151 216.8 -L 517.50884 215.8 -L 517.549813 214.8 -L 517.589888 213.8 -L 517.608998 212.8 -L 517.631507 211.8 -L 517.698158 210.8 -L 517.747868 209.8 -L 517.821574 208.8 -L 517.852888 207.8 -L 517.92951 206.8 -L 517.967808 205.8 -L 518.041925 204.8 -L 518.145983 203.8 -L 518.215814 202.8 -L 518.321048 201.8 -L 518.376063 200.8 -L 518.499538 199.8 -L 518.570097 198.8 -L 518.685936 197.8 -L 518.736117 196.8 -L 518.771721 195.8 -L 518.863128 194.8 -L 518.916636 193.8 -L 519.004544 192.8 -L 519.073729 191.8 -L 519.120493 190.8 -L 519.192537 189.8 -L 519.242679 188.8 -L 519.260069 187.8 -L 519.287072 186.8 -L 519.306499 185.8 -L 519.325837 184.8 -L 519.364086 183.8 -L 519.380519 182.8 -L 519.388888 181.8 -L 519.393207 180.8 -L 519.399762 179.8 -L 519.397216 178.8 -L 519.391757 177.8 -L 519.375329 176.8 -L 519.343394 175.8 -L 519.305414 174.8 -L 519.27061 173.8 -L 519.207538 172.8 -L 519.186111 171.8 -L 519.135493 170.8 -L 519.110536 169.8 -L 519.054902 168.8 -L 519.023673 167.8 -L 518.973529 166.8 -L 518.941036 165.8 -L 518.860624 164.8 -L 518.791698 163.8 -L 518.676001 162.8 -L 518.600522 161.8 -L 518.484997 160.8 -L 518.405513 159.8 -L 518.297072 158.8 -L 518.257704 157.8 -L 518.154836 156.8 -L 518.055038 155.8 -L 518.009541 154.8 -L 517.975219 153.8 -L 517.923263 152.8 -L 517.883616 151.8 -L 517.848102 150.8 -L 517.780457 149.8 -L 517.741375 148.8 -L 517.690894 147.8 -L 517.641588 146.8 -L 517.590518 145.8 -L 517.546279 144.8 -L 517.524259 143.8 -L 517.508703 142.8 -L 517.466256 141.8 -L 517.451388 140.8 -L 517.42866 139.8 -L 517.408344 138.8 -L 517.402547 137.8 -L 517.400065 136.8 -L 517.403122 135.8 -L 517.414718 134.8 -L 517.431638 133.8 -L 517.463299 132.8 -L 517.477382 131.8 -L 517.530054 130.8 -L 517.579143 129.8 -L 517.633844 128.8 -L 517.678192 127.8 -L 517.748184 126.8 -L 517.798567 125.8 -L 517.852474 124.8 -L 517.921913 123.8 -L 517.979301 122.8 -L 518.029466 121.8 -L 518.106628 120.8 -L 518.164818 119.8 -L 518.225456 118.8 -L 518.262657 117.8 -L 518.327749 116.8 -L 518.432879 115.8 -L 518.493181 114.8 -L 518.589503 113.8 -L 518.621506 112.8 -L 518.672523 111.8 -L 518.789315 110.8 -L 518.824762 109.8 -L 518.880642 108.8 -L 518.911018 107.8 -L 518.999404 106.8 -L 519.044168 105.8 -L 519.125056 104.8 -L 519.185202 103.8 -L 519.248288 102.8 -L 519.271236 101.8 -L 519.287406 100.8 -L 519.316335 99.8 -L 519.346687 98.8 -L 519.359261 97.8 -L 519.38414 96.8 -L 519.396224 95.8 -L 519.399986 94.8 -L 519.39555 93.8 -L 519.383211 92.8 -L 519.368798 91.8 -L 519.352725 90.8 -L 519.317204 89.8 -L 519.29727 88.8 -L 519.240681 87.8 -L 519.173487 86.8 -L 519.146117 85.8 -L 519.111969 84.8 -L 519.063289 83.8 -L 519.015004 82.8 -L 518.955927 81.8 -L 518.860322 80.8 -L 518.817182 79.8 -L 518.767334 78.8 -L 518.7088 77.8 -L 518.661214 76.8 -L 518.600086 75.8 -L 518.544001 74.8 -L 518.46983 73.8 -L 518.352592 72.8 -L 518.296868 71.8 -L 518.188642 70.8 -L 518.082492 69.8 -L 517.97492 68.8 -L 517.940412 67.8 -L 517.837105 66.8 -L 517.761381 65.8 -L 517.721946 64.8 -L 517.682562 63.8 -L 517.66008 62.8 -L 517.604267 61.8 -L 517.578215 60.8 -L 517.54798 59.8 -L 517.497209 58.8 -L 517.478558 57.8 -L 517.456849 56.8 -L 517.444203 55.8 -L 517.42521 54.8 -L 517.40782 53.8 -L 517.400782 52.8 -L 517.401806 51.8 -L 517.40881 50.8 -L 517.41818 49.8 -L 517.441578 48.8 -L 517.466661 47.8 -L 517.47906 46.8 -L 517.512153 45.8 -L 517.52852 44.8 -L 517.546925 43.2 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:1.5;"/> - <g id="patch_5"> - <path d="M 72 388.8 -L 73 388.831436 -L 74 388.868377 -L 75 388.966123 -L 76 388.998645 -L 77 389.07227 -L 78 389.110835 -L 79 389.146248 -L 80 389.203888 -L 81 389.274274 -L 82 389.326239 -L 83 389.385328 -L 84 389.473649 -L 85 389.519794 -L 86 389.562205 -L 87 389.592697 -L 88 389.618742 -L 89 389.639942 -L 90 389.694243 -L 91 389.722181 -L 92 389.751905 -L 93 389.7773 -L 94 389.7885 -L 95 389.798624 -L 96 389.79842 -L 97 389.78891 -L 98 389.777256 -L 99 389.746227 -L 100 389.735059 -L 101 389.704942 -L 102 389.645165 -L 103 389.607973 -L 104 389.568877 -L 105 389.526437 -L 106 389.493672 -L 107 389.426246 -L 108 389.38712 -L 109 389.344445 -L 110 389.273865 -L 111 389.237474 -L 112 389.179071 -L 113 389.068118 -L 114 388.99746 -L 115 388.88452 -L 116 388.838747 -L 117 388.777464 -L 118 388.728965 -L 119 388.648142 -L 120 388.529623 -L 121 388.459412 -L 122 388.37615 -L 123 388.343008 -L 124 388.291771 -L 125 388.223372 -L 126 388.157157 -L 127 388.08024 -L 128 388.052924 -L 129 388.026447 -L 130 388.003796 -L 131 387.984265 -L 132 387.957871 -L 133 387.9081 -L 134 387.873027 -L 135 387.837161 -L 136 387.821794 -L 137 387.806025 -L 138 387.802612 -L 139 387.800195 -L 140 387.800681 -L 141 387.80261 -L 142 387.815867 -L 143 387.824258 -L 144 387.845794 -L 145 387.868827 -L 146 387.88606 -L 147 387.904523 -L 148 387.924975 -L 149 387.941575 -L 150 388.004354 -L 151 388.079619 -L 152 388.112258 -L 153 388.179822 -L 154 388.233869 -L 155 388.267573 -L 156 388.357699 -L 157 388.386234 -L 158 388.41772 -L 159 388.448731 -L 160 388.503539 -L 161 388.568126 -L 162 388.606322 -L 163 388.702256 -L 164 388.751514 -L 165 388.795583 -L 166 388.835707 -L 167 388.944074 -L 168 388.985702 -L 169 389.047844 -L 170 389.117806 -L 171 389.22231 -L 172 389.259298 -L 173 389.305175 -L 174 389.37367 -L 175 389.422416 -L 176 389.500013 -L 177 389.530554 -L 178 389.600068 -L 179 389.624041 -L 180 389.652663 -L 181 389.694456 -L 182 389.716032 -L 183 389.72998 -L 184 389.756702 -L 185 389.766012 -L 186 389.778459 -L 187 389.789514 -L 188 389.795178 -L 189 389.799942 -L 190 389.794394 -L 191 389.781106 -L 192 389.773589 -L 193 389.748804 -L 194 389.725235 -L 195 389.689055 -L 196 389.663093 -L 197 389.640771 -L 198 389.572011 -L 199 389.497476 -L 200 389.403497 -L 201 389.352445 -L 202 389.298511 -L 203 389.26326 -L 204 389.157172 -L 205 389.104908 -L 206 389.068001 -L 207 389.03697 -L 208 388.975815 -L 209 388.908395 -L 210 388.859489 -L 211 388.794297 -L 212 388.756109 -L 213 388.714113 -L 214 388.672096 -L 215 388.61258 -L 216 388.49942 -L 217 388.447169 -L 218 388.407751 -L 219 388.36065 -L 220 388.30387 -L 221 388.271207 -L 222 388.235029 -L 223 388.202939 -L 224 388.168659 -L 225 388.110281 -L 226 388.065096 -L 227 388.035472 -L 228 387.985086 -L 229 387.959889 -L 230 387.938838 -L 231 387.90387 -L 232 387.87958 -L 233 387.865513 -L 234 387.846571 -L 235 387.83091 -L 236 387.818358 -L 237 387.812522 -L 238 387.80564 -L 239 387.800466 -L 240 387.802249 -L 241 387.804974 -L 242 387.816128 -L 243 387.844363 -L 244 387.888151 -L 245 387.90884 -L 246 387.949813 -L 247 387.989888 -L 248 388.008998 -L 249 388.031507 -L 250 388.098158 -L 251 388.147868 -L 252 388.221574 -L 253 388.252888 -L 254 388.32951 -L 255 388.367808 -L 256 388.441925 -L 257 388.545983 -L 258 388.615814 -L 259 388.721048 -L 260 388.776063 -L 261 388.899538 -L 262 388.970097 -L 263 389.085936 -L 264 389.136117 -L 265 389.171721 -L 266 389.263128 -L 267 389.316636 -L 268 389.404544 -L 269 389.473729 -L 270 389.520493 -L 271 389.592537 -L 272 389.642679 -L 273 389.660069 -L 274 389.687072 -L 275 389.706499 -L 276 389.725837 -L 277 389.764086 -L 278 389.780519 -L 279 389.788888 -L 280 389.793207 -L 281 389.799762 -L 282 389.797216 -L 283 389.791757 -L 284 389.775329 -L 285 389.743394 -L 286 389.705414 -L 287 389.67061 -L 288 389.607538 -L 289 389.586111 -L 290 389.535493 -L 291 389.510536 -L 292 389.454902 -L 293 389.423673 -L 294 389.373529 -L 295 389.341036 -L 296 389.260624 -L 297 389.191698 -L 298 389.076001 -L 299 389.000522 -L 300 388.884997 -L 301 388.805513 -L 302 388.697072 -L 303 388.657704 -L 304 388.554836 -L 305 388.455038 -L 306 388.409541 -L 307 388.375219 -L 308 388.323263 -L 309 388.283616 -L 310 388.248102 -L 311 388.180457 -L 312 388.141375 -L 313 388.090894 -L 314 388.041588 -L 315 387.990518 -L 316 387.946279 -L 317 387.924259 -L 318 387.908703 -L 319 387.866256 -L 320 387.851388 -L 321 387.82866 -L 322 387.808344 -L 323 387.802547 -L 324 387.800065 -L 325 387.803122 -L 326 387.814718 -L 327 387.831638 -L 328 387.863299 -L 329 387.877382 -L 330 387.930054 -L 331 387.979143 -L 332 388.033844 -L 333 388.078192 -L 334 388.148184 -L 335 388.198567 -L 336 388.252474 -L 337 388.321913 -L 338 388.379301 -L 339 388.429466 -L 340 388.506628 -L 341 388.564818 -L 342 388.625456 -L 343 388.662657 -L 344 388.727749 -L 345 388.832879 -L 346 388.893181 -L 347 388.989503 -L 348 389.021506 -L 349 389.072523 -L 350 389.189315 -L 351 389.224762 -L 352 389.280642 -L 353 389.311018 -L 354 389.399404 -L 355 389.444168 -L 356 389.525056 -L 357 389.585202 -L 358 389.648288 -L 359 389.671236 -L 360 389.687406 -L 361 389.716335 -L 362 389.746687 -L 363 389.759261 -L 364 389.78414 -L 365 389.796224 -L 366 389.799986 -L 367 389.79555 -L 368 389.783211 -L 369 389.768798 -L 370 389.752725 -L 371 389.717204 -L 372 389.69727 -L 373 389.640681 -L 374 389.573487 -L 375 389.546117 -L 376 389.511969 -L 377 389.463289 -L 378 389.415004 -L 379 389.355927 -L 380 389.260322 -L 381 389.217182 -L 382 389.167334 -L 383 389.1088 -L 384 389.061214 -L 385 389.000086 -L 386 388.944001 -L 387 388.86983 -L 388 388.752592 -L 389 388.696868 -L 390 388.588642 -L 391 388.482492 -L 392 388.37492 -L 393 388.340412 -L 394 388.237105 -L 395 388.161381 -L 396 388.121946 -L 397 388.082562 -L 398 388.06008 -L 399 388.004267 -L 400 387.978215 -L 401 387.94798 -L 402 387.897209 -L 403 387.878558 -L 404 387.856849 -L 405 387.844203 -L 406 387.82521 -L 407 387.80782 -L 408 387.800782 -L 409 387.801806 -L 410 387.80881 -L 411 387.81818 -L 412 387.841578 -L 413 387.866661 -L 414 387.87906 -L 415 387.912153 -L 416 387.92852 -L 417 387.946925 -L 418 387.996062 -L 419 388.039875 -L 420 388.08296 -L 421 388.105901 -L 422 388.146164 -L 423 388.231024 -L 424 388.273416 -L 425 388.337802 -L 426 388.382091 -L 427 388.489937 -L 428 388.566877 -L 429 388.603319 -L 430 388.658206 -L 431 388.733307 -L 432 388.791902 -L 433 388.828477 -L 434 388.940524 -L 435 389.002209 -L 436 389.052729 -L 437 389.151514 -L 438 389.189536 -L 439 389.224984 -L 440 389.316618 -L 441 389.35989 -L 442 389.413219 -L 443 389.446084 -L 444 389.508978 -L 445 389.562832 -L 446 389.619958 -L 447 389.642048 -L 448 389.685787 -L 449 389.732881 -L 450 389.749728 -L 451 389.777802 -L 452 389.788798 -L 453 389.793367 -L 454 389.799015 -L 455 389.799066 -L 456 389.795976 -L 457 389.792463 -L 458 389.786641 -L 459 389.773789 -L 460 389.750164 -L 461 389.73528 -L 462 389.711708 -L 463 389.675389 -L 464 389.643806 -L 465 389.613913 -L 466 389.535221 -L 467 389.49867 -L 468 389.472947 -L 469 389.402274 -L 470 389.311172 -L 471 389.249215 -L 472 389.215602 -L 473 389.181102 -L 474 389.083662 -L 475 389.036072 -L 476 389.004566 -L 477 388.960881 -L 478 388.890712 -L 479 388.840845 -L 480 388.806168 -L 481 388.69652 -L 482 388.663049 -L 483 388.625707 -L 484 388.545462 -L 485 388.506968 -L 486 388.465191 -L 487 388.422766 -L 488 388.313038 -L 489 388.224753 -L 490 388.150107 -L 491 388.06165 -L 492 387.987588 -L 493 387.938423 -L 494 387.882806 -L 495 387.848106 -L 496 387.836235 -L 497 387.814012 -L 498 387.802033 -L 499 387.800281 -L 500 387.805698 -L 501 387.821896 -L 502 387.838396 -L 503 387.869579 -L 504 387.882944 -L 505 387.912587 -L 506 387.97561 -L 507 388.024931 -L 508 388.07102 -L 509 388.153247 -L 510 388.19915 -L 511 388.233475 -L 512 388.287014 -L 513 388.375901 -L 514 388.407039 -L 515 388.515088 -L 516 388.62716 -L 517 388.662598 -L 518.4 388.747384 -" style="fill:none;stroke:#ffffff;stroke-linecap:square;stroke-linejoin:miter;stroke-width:4;"/> - <path d="M 72 388.8 -L 73 388.831436 -L 74 388.868377 -L 75 388.966123 -L 76 388.998645 -L 77 389.07227 -L 78 389.110835 -L 79 389.146248 -L 80 389.203888 -L 81 389.274274 -L 82 389.326239 -L 83 389.385328 -L 84 389.473649 -L 85 389.519794 -L 86 389.562205 -L 87 389.592697 -L 88 389.618742 -L 89 389.639942 -L 90 389.694243 -L 91 389.722181 -L 92 389.751905 -L 93 389.7773 -L 94 389.7885 -L 95 389.798624 -L 96 389.79842 -L 97 389.78891 -L 98 389.777256 -L 99 389.746227 -L 100 389.735059 -L 101 389.704942 -L 102 389.645165 -L 103 389.607973 -L 104 389.568877 -L 105 389.526437 -L 106 389.493672 -L 107 389.426246 -L 108 389.38712 -L 109 389.344445 -L 110 389.273865 -L 111 389.237474 -L 112 389.179071 -L 113 389.068118 -L 114 388.99746 -L 115 388.88452 -L 116 388.838747 -L 117 388.777464 -L 118 388.728965 -L 119 388.648142 -L 120 388.529623 -L 121 388.459412 -L 122 388.37615 -L 123 388.343008 -L 124 388.291771 -L 125 388.223372 -L 126 388.157157 -L 127 388.08024 -L 128 388.052924 -L 129 388.026447 -L 130 388.003796 -L 131 387.984265 -L 132 387.957871 -L 133 387.9081 -L 134 387.873027 -L 135 387.837161 -L 136 387.821794 -L 137 387.806025 -L 138 387.802612 -L 139 387.800195 -L 140 387.800681 -L 141 387.80261 -L 142 387.815867 -L 143 387.824258 -L 144 387.845794 -L 145 387.868827 -L 146 387.88606 -L 147 387.904523 -L 148 387.924975 -L 149 387.941575 -L 150 388.004354 -L 151 388.079619 -L 152 388.112258 -L 153 388.179822 -L 154 388.233869 -L 155 388.267573 -L 156 388.357699 -L 157 388.386234 -L 158 388.41772 -L 159 388.448731 -L 160 388.503539 -L 161 388.568126 -L 162 388.606322 -L 163 388.702256 -L 164 388.751514 -L 165 388.795583 -L 166 388.835707 -L 167 388.944074 -L 168 388.985702 -L 169 389.047844 -L 170 389.117806 -L 171 389.22231 -L 172 389.259298 -L 173 389.305175 -L 174 389.37367 -L 175 389.422416 -L 176 389.500013 -L 177 389.530554 -L 178 389.600068 -L 179 389.624041 -L 180 389.652663 -L 181 389.694456 -L 182 389.716032 -L 183 389.72998 -L 184 389.756702 -L 185 389.766012 -L 186 389.778459 -L 187 389.789514 -L 188 389.795178 -L 189 389.799942 -L 190 389.794394 -L 191 389.781106 -L 192 389.773589 -L 193 389.748804 -L 194 389.725235 -L 195 389.689055 -L 196 389.663093 -L 197 389.640771 -L 198 389.572011 -L 199 389.497476 -L 200 389.403497 -L 201 389.352445 -L 202 389.298511 -L 203 389.26326 -L 204 389.157172 -L 205 389.104908 -L 206 389.068001 -L 207 389.03697 -L 208 388.975815 -L 209 388.908395 -L 210 388.859489 -L 211 388.794297 -L 212 388.756109 -L 213 388.714113 -L 214 388.672096 -L 215 388.61258 -L 216 388.49942 -L 217 388.447169 -L 218 388.407751 -L 219 388.36065 -L 220 388.30387 -L 221 388.271207 -L 222 388.235029 -L 223 388.202939 -L 224 388.168659 -L 225 388.110281 -L 226 388.065096 -L 227 388.035472 -L 228 387.985086 -L 229 387.959889 -L 230 387.938838 -L 231 387.90387 -L 232 387.87958 -L 233 387.865513 -L 234 387.846571 -L 235 387.83091 -L 236 387.818358 -L 237 387.812522 -L 238 387.80564 -L 239 387.800466 -L 240 387.802249 -L 241 387.804974 -L 242 387.816128 -L 243 387.844363 -L 244 387.888151 -L 245 387.90884 -L 246 387.949813 -L 247 387.989888 -L 248 388.008998 -L 249 388.031507 -L 250 388.098158 -L 251 388.147868 -L 252 388.221574 -L 253 388.252888 -L 254 388.32951 -L 255 388.367808 -L 256 388.441925 -L 257 388.545983 -L 258 388.615814 -L 259 388.721048 -L 260 388.776063 -L 261 388.899538 -L 262 388.970097 -L 263 389.085936 -L 264 389.136117 -L 265 389.171721 -L 266 389.263128 -L 267 389.316636 -L 268 389.404544 -L 269 389.473729 -L 270 389.520493 -L 271 389.592537 -L 272 389.642679 -L 273 389.660069 -L 274 389.687072 -L 275 389.706499 -L 276 389.725837 -L 277 389.764086 -L 278 389.780519 -L 279 389.788888 -L 280 389.793207 -L 281 389.799762 -L 282 389.797216 -L 283 389.791757 -L 284 389.775329 -L 285 389.743394 -L 286 389.705414 -L 287 389.67061 -L 288 389.607538 -L 289 389.586111 -L 290 389.535493 -L 291 389.510536 -L 292 389.454902 -L 293 389.423673 -L 294 389.373529 -L 295 389.341036 -L 296 389.260624 -L 297 389.191698 -L 298 389.076001 -L 299 389.000522 -L 300 388.884997 -L 301 388.805513 -L 302 388.697072 -L 303 388.657704 -L 304 388.554836 -L 305 388.455038 -L 306 388.409541 -L 307 388.375219 -L 308 388.323263 -L 309 388.283616 -L 310 388.248102 -L 311 388.180457 -L 312 388.141375 -L 313 388.090894 -L 314 388.041588 -L 315 387.990518 -L 316 387.946279 -L 317 387.924259 -L 318 387.908703 -L 319 387.866256 -L 320 387.851388 -L 321 387.82866 -L 322 387.808344 -L 323 387.802547 -L 324 387.800065 -L 325 387.803122 -L 326 387.814718 -L 327 387.831638 -L 328 387.863299 -L 329 387.877382 -L 330 387.930054 -L 331 387.979143 -L 332 388.033844 -L 333 388.078192 -L 334 388.148184 -L 335 388.198567 -L 336 388.252474 -L 337 388.321913 -L 338 388.379301 -L 339 388.429466 -L 340 388.506628 -L 341 388.564818 -L 342 388.625456 -L 343 388.662657 -L 344 388.727749 -L 345 388.832879 -L 346 388.893181 -L 347 388.989503 -L 348 389.021506 -L 349 389.072523 -L 350 389.189315 -L 351 389.224762 -L 352 389.280642 -L 353 389.311018 -L 354 389.399404 -L 355 389.444168 -L 356 389.525056 -L 357 389.585202 -L 358 389.648288 -L 359 389.671236 -L 360 389.687406 -L 361 389.716335 -L 362 389.746687 -L 363 389.759261 -L 364 389.78414 -L 365 389.796224 -L 366 389.799986 -L 367 389.79555 -L 368 389.783211 -L 369 389.768798 -L 370 389.752725 -L 371 389.717204 -L 372 389.69727 -L 373 389.640681 -L 374 389.573487 -L 375 389.546117 -L 376 389.511969 -L 377 389.463289 -L 378 389.415004 -L 379 389.355927 -L 380 389.260322 -L 381 389.217182 -L 382 389.167334 -L 383 389.1088 -L 384 389.061214 -L 385 389.000086 -L 386 388.944001 -L 387 388.86983 -L 388 388.752592 -L 389 388.696868 -L 390 388.588642 -L 391 388.482492 -L 392 388.37492 -L 393 388.340412 -L 394 388.237105 -L 395 388.161381 -L 396 388.121946 -L 397 388.082562 -L 398 388.06008 -L 399 388.004267 -L 400 387.978215 -L 401 387.94798 -L 402 387.897209 -L 403 387.878558 -L 404 387.856849 -L 405 387.844203 -L 406 387.82521 -L 407 387.80782 -L 408 387.800782 -L 409 387.801806 -L 410 387.80881 -L 411 387.81818 -L 412 387.841578 -L 413 387.866661 -L 414 387.87906 -L 415 387.912153 -L 416 387.92852 -L 417 387.946925 -L 418 387.996062 -L 419 388.039875 -L 420 388.08296 -L 421 388.105901 -L 422 388.146164 -L 423 388.231024 -L 424 388.273416 -L 425 388.337802 -L 426 388.382091 -L 427 388.489937 -L 428 388.566877 -L 429 388.603319 -L 430 388.658206 -L 431 388.733307 -L 432 388.791902 -L 433 388.828477 -L 434 388.940524 -L 435 389.002209 -L 436 389.052729 -L 437 389.151514 -L 438 389.189536 -L 439 389.224984 -L 440 389.316618 -L 441 389.35989 -L 442 389.413219 -L 443 389.446084 -L 444 389.508978 -L 445 389.562832 -L 446 389.619958 -L 447 389.642048 -L 448 389.685787 -L 449 389.732881 -L 450 389.749728 -L 451 389.777802 -L 452 389.788798 -L 453 389.793367 -L 454 389.799015 -L 455 389.799066 -L 456 389.795976 -L 457 389.792463 -L 458 389.786641 -L 459 389.773789 -L 460 389.750164 -L 461 389.73528 -L 462 389.711708 -L 463 389.675389 -L 464 389.643806 -L 465 389.613913 -L 466 389.535221 -L 467 389.49867 -L 468 389.472947 -L 469 389.402274 -L 470 389.311172 -L 471 389.249215 -L 472 389.215602 -L 473 389.181102 -L 474 389.083662 -L 475 389.036072 -L 476 389.004566 -L 477 388.960881 -L 478 388.890712 -L 479 388.840845 -L 480 388.806168 -L 481 388.69652 -L 482 388.663049 -L 483 388.625707 -L 484 388.545462 -L 485 388.506968 -L 486 388.465191 -L 487 388.422766 -L 488 388.313038 -L 489 388.224753 -L 490 388.150107 -L 491 388.06165 -L 492 387.987588 -L 493 387.938423 -L 494 387.882806 -L 495 387.848106 -L 496 387.836235 -L 497 387.814012 -L 498 387.802033 -L 499 387.800281 -L 500 387.805698 -L 501 387.821896 -L 502 387.838396 -L 503 387.869579 -L 504 387.882944 -L 505 387.912587 -L 506 387.97561 -L 507 388.024931 -L 508 388.07102 -L 509 388.153247 -L 510 388.19915 -L 511 388.233475 -L 512 388.287014 -L 513 388.375901 -L 514 388.407039 -L 515 388.515088 -L 516 388.62716 -L 517 388.662598 -L 518.4 388.747384 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:1.5;"/> - <g id="patch_6"> - <path d="M 72 43.2 -L 73 43.231436 -L 74 43.268377 -L 75 43.366123 -L 76 43.398645 -L 77 43.47227 -L 78 43.510835 -L 79 43.546248 -L 80 43.603888 -L 81 43.674274 -L 82 43.726239 -L 83 43.785328 -L 84 43.873649 -L 85 43.919794 -L 86 43.962205 -L 87 43.992697 -L 88 44.018742 -L 89 44.039942 -L 90 44.094243 -L 91 44.122181 -L 92 44.151905 -L 93 44.1773 -L 94 44.1885 -L 95 44.198624 -L 96 44.19842 -L 97 44.18891 -L 98 44.177256 -L 99 44.146227 -L 100 44.135059 -L 101 44.104942 -L 102 44.045165 -L 103 44.007973 -L 104 43.968877 -L 105 43.926437 -L 106 43.893672 -L 107 43.826246 -L 108 43.78712 -L 109 43.744445 -L 110 43.673865 -L 111 43.637474 -L 112 43.579071 -L 113 43.468118 -L 114 43.39746 -L 115 43.28452 -L 116 43.238747 -L 117 43.177464 -L 118 43.128965 -L 119 43.048142 -L 120 42.929623 -L 121 42.859412 -L 122 42.77615 -L 123 42.743008 -L 124 42.691771 -L 125 42.623372 -L 126 42.557157 -L 127 42.48024 -L 128 42.452924 -L 129 42.426447 -L 130 42.403796 -L 131 42.384265 -L 132 42.357871 -L 133 42.3081 -L 134 42.273027 -L 135 42.237161 -L 136 42.221794 -L 137 42.206025 -L 138 42.202612 -L 139 42.200195 -L 140 42.200681 -L 141 42.20261 -L 142 42.215867 -L 143 42.224258 -L 144 42.245794 -L 145 42.268827 -L 146 42.28606 -L 147 42.304523 -L 148 42.324975 -L 149 42.341575 -L 150 42.404354 -L 151 42.479619 -L 152 42.512258 -L 153 42.579822 -L 154 42.633869 -L 155 42.667573 -L 156 42.757699 -L 157 42.786234 -L 158 42.81772 -L 159 42.848731 -L 160 42.903539 -L 161 42.968126 -L 162 43.006322 -L 163 43.102256 -L 164 43.151514 -L 165 43.195583 -L 166 43.235707 -L 167 43.344074 -L 168 43.385702 -L 169 43.447844 -L 170 43.517806 -L 171 43.62231 -L 172 43.659298 -L 173 43.705175 -L 174 43.77367 -L 175 43.822416 -L 176 43.900013 -L 177 43.930554 -L 178 44.000068 -L 179 44.024041 -L 180 44.052663 -L 181 44.094456 -L 182 44.116032 -L 183 44.12998 -L 184 44.156702 -L 185 44.166012 -L 186 44.178459 -L 187 44.189514 -L 188 44.195178 -L 189 44.199942 -L 190 44.194394 -L 191 44.181106 -L 192 44.173589 -L 193 44.148804 -L 194 44.125235 -L 195 44.089055 -L 196 44.063093 -L 197 44.040771 -L 198 43.972011 -L 199 43.897476 -L 200 43.803497 -L 201 43.752445 -L 202 43.698511 -L 203 43.66326 -L 204 43.557172 -L 205 43.504908 -L 206 43.468001 -L 207 43.43697 -L 208 43.375815 -L 209 43.308395 -L 210 43.259489 -L 211 43.194297 -L 212 43.156109 -L 213 43.114113 -L 214 43.072096 -L 215 43.01258 -L 216 42.89942 -L 217 42.847169 -L 218 42.807751 -L 219 42.76065 -L 220 42.70387 -L 221 42.671207 -L 222 42.635029 -L 223 42.602939 -L 224 42.568659 -L 225 42.510281 -L 226 42.465096 -L 227 42.435472 -L 228 42.385086 -L 229 42.359889 -L 230 42.338838 -L 231 42.30387 -L 232 42.27958 -L 233 42.265513 -L 234 42.246571 -L 235 42.23091 -L 236 42.218358 -L 237 42.212522 -L 238 42.20564 -L 239 42.200466 -L 240 42.202249 -L 241 42.204974 -L 242 42.216128 -L 243 42.244363 -L 244 42.288151 -L 245 42.30884 -L 246 42.349813 -L 247 42.389888 -L 248 42.408998 -L 249 42.431507 -L 250 42.498158 -L 251 42.547868 -L 252 42.621574 -L 253 42.652888 -L 254 42.72951 -L 255 42.767808 -L 256 42.841925 -L 257 42.945983 -L 258 43.015814 -L 259 43.121048 -L 260 43.176063 -L 261 43.299538 -L 262 43.370097 -L 263 43.485936 -L 264 43.536117 -L 265 43.571721 -L 266 43.663128 -L 267 43.716636 -L 268 43.804544 -L 269 43.873729 -L 270 43.920493 -L 271 43.992537 -L 272 44.042679 -L 273 44.060069 -L 274 44.087072 -L 275 44.106499 -L 276 44.125837 -L 277 44.164086 -L 278 44.180519 -L 279 44.188888 -L 280 44.193207 -L 281 44.199762 -L 282 44.197216 -L 283 44.191757 -L 284 44.175329 -L 285 44.143394 -L 286 44.105414 -L 287 44.07061 -L 288 44.007538 -L 289 43.986111 -L 290 43.935493 -L 291 43.910536 -L 292 43.854902 -L 293 43.823673 -L 294 43.773529 -L 295 43.741036 -L 296 43.660624 -L 297 43.591698 -L 298 43.476001 -L 299 43.400522 -L 300 43.284997 -L 301 43.205513 -L 302 43.097072 -L 303 43.057704 -L 304 42.954836 -L 305 42.855038 -L 306 42.809541 -L 307 42.775219 -L 308 42.723263 -L 309 42.683616 -L 310 42.648102 -L 311 42.580457 -L 312 42.541375 -L 313 42.490894 -L 314 42.441588 -L 315 42.390518 -L 316 42.346279 -L 317 42.324259 -L 318 42.308703 -L 319 42.266256 -L 320 42.251388 -L 321 42.22866 -L 322 42.208344 -L 323 42.202547 -L 324 42.200065 -L 325 42.203122 -L 326 42.214718 -L 327 42.231638 -L 328 42.263299 -L 329 42.277382 -L 330 42.330054 -L 331 42.379143 -L 332 42.433844 -L 333 42.478192 -L 334 42.548184 -L 335 42.598567 -L 336 42.652474 -L 337 42.721913 -L 338 42.779301 -L 339 42.829466 -L 340 42.906628 -L 341 42.964818 -L 342 43.025456 -L 343 43.062657 -L 344 43.127749 -L 345 43.232879 -L 346 43.293181 -L 347 43.389503 -L 348 43.421506 -L 349 43.472523 -L 350 43.589315 -L 351 43.624762 -L 352 43.680642 -L 353 43.711018 -L 354 43.799404 -L 355 43.844168 -L 356 43.925056 -L 357 43.985202 -L 358 44.048288 -L 359 44.071236 -L 360 44.087406 -L 361 44.116335 -L 362 44.146687 -L 363 44.159261 -L 364 44.18414 -L 365 44.196224 -L 366 44.199986 -L 367 44.19555 -L 368 44.183211 -L 369 44.168798 -L 370 44.152725 -L 371 44.117204 -L 372 44.09727 -L 373 44.040681 -L 374 43.973487 -L 375 43.946117 -L 376 43.911969 -L 377 43.863289 -L 378 43.815004 -L 379 43.755927 -L 380 43.660322 -L 381 43.617182 -L 382 43.567334 -L 383 43.5088 -L 384 43.461214 -L 385 43.400086 -L 386 43.344001 -L 387 43.26983 -L 388 43.152592 -L 389 43.096868 -L 390 42.988642 -L 391 42.882492 -L 392 42.77492 -L 393 42.740412 -L 394 42.637105 -L 395 42.561381 -L 396 42.521946 -L 397 42.482562 -L 398 42.46008 -L 399 42.404267 -L 400 42.378215 -L 401 42.34798 -L 402 42.297209 -L 403 42.278558 -L 404 42.256849 -L 405 42.244203 -L 406 42.22521 -L 407 42.20782 -L 408 42.200782 -L 409 42.201806 -L 410 42.20881 -L 411 42.21818 -L 412 42.241578 -L 413 42.266661 -L 414 42.27906 -L 415 42.312153 -L 416 42.32852 -L 417 42.346925 -L 418 42.396062 -L 419 42.439875 -L 420 42.48296 -L 421 42.505901 -L 422 42.546164 -L 423 42.631024 -L 424 42.673416 -L 425 42.737802 -L 426 42.782091 -L 427 42.889937 -L 428 42.966877 -L 429 43.003319 -L 430 43.058206 -L 431 43.133307 -L 432 43.191902 -L 433 43.228477 -L 434 43.340524 -L 435 43.402209 -L 436 43.452729 -L 437 43.551514 -L 438 43.589536 -L 439 43.624984 -L 440 43.716618 -L 441 43.75989 -L 442 43.813219 -L 443 43.846084 -L 444 43.908978 -L 445 43.962832 -L 446 44.019958 -L 447 44.042048 -L 448 44.085787 -L 449 44.132881 -L 450 44.149728 -L 451 44.177802 -L 452 44.188798 -L 453 44.193367 -L 454 44.199015 -L 455 44.199066 -L 456 44.195976 -L 457 44.192463 -L 458 44.186641 -L 459 44.173789 -L 460 44.150164 -L 461 44.13528 -L 462 44.111708 -L 463 44.075389 -L 464 44.043806 -L 465 44.013913 -L 466 43.935221 -L 467 43.89867 -L 468 43.872947 -L 469 43.802274 -L 470 43.711172 -L 471 43.649215 -L 472 43.615602 -L 473 43.581102 -L 474 43.483662 -L 475 43.436072 -L 476 43.404566 -L 477 43.360881 -L 478 43.290712 -L 479 43.240845 -L 480 43.206168 -L 481 43.09652 -L 482 43.063049 -L 483 43.025707 -L 484 42.945462 -L 485 42.906968 -L 486 42.865191 -L 487 42.822766 -L 488 42.713038 -L 489 42.624753 -L 490 42.550107 -L 491 42.46165 -L 492 42.387588 -L 493 42.338423 -L 494 42.282806 -L 495 42.248106 -L 496 42.236235 -L 497 42.214012 -L 498 42.202033 -L 499 42.200281 -L 500 42.205698 -L 501 42.221896 -L 502 42.238396 -L 503 42.269579 -L 504 42.282944 -L 505 42.312587 -L 506 42.37561 -L 507 42.424931 -L 508 42.47102 -L 509 42.553247 -L 510 42.59915 -L 511 42.633475 -L 512 42.687014 -L 513 42.775901 -L 514 42.807039 -L 515 42.915088 -L 516 43.02716 -L 517 43.062598 -L 518.4 43.147384 -" style="fill:none;stroke:#ffffff;stroke-linecap:square;stroke-linejoin:miter;stroke-width:4;"/> - <path d="M 72 43.2 -L 73 43.231436 -L 74 43.268377 -L 75 43.366123 -L 76 43.398645 -L 77 43.47227 -L 78 43.510835 -L 79 43.546248 -L 80 43.603888 -L 81 43.674274 -L 82 43.726239 -L 83 43.785328 -L 84 43.873649 -L 85 43.919794 -L 86 43.962205 -L 87 43.992697 -L 88 44.018742 -L 89 44.039942 -L 90 44.094243 -L 91 44.122181 -L 92 44.151905 -L 93 44.1773 -L 94 44.1885 -L 95 44.198624 -L 96 44.19842 -L 97 44.18891 -L 98 44.177256 -L 99 44.146227 -L 100 44.135059 -L 101 44.104942 -L 102 44.045165 -L 103 44.007973 -L 104 43.968877 -L 105 43.926437 -L 106 43.893672 -L 107 43.826246 -L 108 43.78712 -L 109 43.744445 -L 110 43.673865 -L 111 43.637474 -L 112 43.579071 -L 113 43.468118 -L 114 43.39746 -L 115 43.28452 -L 116 43.238747 -L 117 43.177464 -L 118 43.128965 -L 119 43.048142 -L 120 42.929623 -L 121 42.859412 -L 122 42.77615 -L 123 42.743008 -L 124 42.691771 -L 125 42.623372 -L 126 42.557157 -L 127 42.48024 -L 128 42.452924 -L 129 42.426447 -L 130 42.403796 -L 131 42.384265 -L 132 42.357871 -L 133 42.3081 -L 134 42.273027 -L 135 42.237161 -L 136 42.221794 -L 137 42.206025 -L 138 42.202612 -L 139 42.200195 -L 140 42.200681 -L 141 42.20261 -L 142 42.215867 -L 143 42.224258 -L 144 42.245794 -L 145 42.268827 -L 146 42.28606 -L 147 42.304523 -L 148 42.324975 -L 149 42.341575 -L 150 42.404354 -L 151 42.479619 -L 152 42.512258 -L 153 42.579822 -L 154 42.633869 -L 155 42.667573 -L 156 42.757699 -L 157 42.786234 -L 158 42.81772 -L 159 42.848731 -L 160 42.903539 -L 161 42.968126 -L 162 43.006322 -L 163 43.102256 -L 164 43.151514 -L 165 43.195583 -L 166 43.235707 -L 167 43.344074 -L 168 43.385702 -L 169 43.447844 -L 170 43.517806 -L 171 43.62231 -L 172 43.659298 -L 173 43.705175 -L 174 43.77367 -L 175 43.822416 -L 176 43.900013 -L 177 43.930554 -L 178 44.000068 -L 179 44.024041 -L 180 44.052663 -L 181 44.094456 -L 182 44.116032 -L 183 44.12998 -L 184 44.156702 -L 185 44.166012 -L 186 44.178459 -L 187 44.189514 -L 188 44.195178 -L 189 44.199942 -L 190 44.194394 -L 191 44.181106 -L 192 44.173589 -L 193 44.148804 -L 194 44.125235 -L 195 44.089055 -L 196 44.063093 -L 197 44.040771 -L 198 43.972011 -L 199 43.897476 -L 200 43.803497 -L 201 43.752445 -L 202 43.698511 -L 203 43.66326 -L 204 43.557172 -L 205 43.504908 -L 206 43.468001 -L 207 43.43697 -L 208 43.375815 -L 209 43.308395 -L 210 43.259489 -L 211 43.194297 -L 212 43.156109 -L 213 43.114113 -L 214 43.072096 -L 215 43.01258 -L 216 42.89942 -L 217 42.847169 -L 218 42.807751 -L 219 42.76065 -L 220 42.70387 -L 221 42.671207 -L 222 42.635029 -L 223 42.602939 -L 224 42.568659 -L 225 42.510281 -L 226 42.465096 -L 227 42.435472 -L 228 42.385086 -L 229 42.359889 -L 230 42.338838 -L 231 42.30387 -L 232 42.27958 -L 233 42.265513 -L 234 42.246571 -L 235 42.23091 -L 236 42.218358 -L 237 42.212522 -L 238 42.20564 -L 239 42.200466 -L 240 42.202249 -L 241 42.204974 -L 242 42.216128 -L 243 42.244363 -L 244 42.288151 -L 245 42.30884 -L 246 42.349813 -L 247 42.389888 -L 248 42.408998 -L 249 42.431507 -L 250 42.498158 -L 251 42.547868 -L 252 42.621574 -L 253 42.652888 -L 254 42.72951 -L 255 42.767808 -L 256 42.841925 -L 257 42.945983 -L 258 43.015814 -L 259 43.121048 -L 260 43.176063 -L 261 43.299538 -L 262 43.370097 -L 263 43.485936 -L 264 43.536117 -L 265 43.571721 -L 266 43.663128 -L 267 43.716636 -L 268 43.804544 -L 269 43.873729 -L 270 43.920493 -L 271 43.992537 -L 272 44.042679 -L 273 44.060069 -L 274 44.087072 -L 275 44.106499 -L 276 44.125837 -L 277 44.164086 -L 278 44.180519 -L 279 44.188888 -L 280 44.193207 -L 281 44.199762 -L 282 44.197216 -L 283 44.191757 -L 284 44.175329 -L 285 44.143394 -L 286 44.105414 -L 287 44.07061 -L 288 44.007538 -L 289 43.986111 -L 290 43.935493 -L 291 43.910536 -L 292 43.854902 -L 293 43.823673 -L 294 43.773529 -L 295 43.741036 -L 296 43.660624 -L 297 43.591698 -L 298 43.476001 -L 299 43.400522 -L 300 43.284997 -L 301 43.205513 -L 302 43.097072 -L 303 43.057704 -L 304 42.954836 -L 305 42.855038 -L 306 42.809541 -L 307 42.775219 -L 308 42.723263 -L 309 42.683616 -L 310 42.648102 -L 311 42.580457 -L 312 42.541375 -L 313 42.490894 -L 314 42.441588 -L 315 42.390518 -L 316 42.346279 -L 317 42.324259 -L 318 42.308703 -L 319 42.266256 -L 320 42.251388 -L 321 42.22866 -L 322 42.208344 -L 323 42.202547 -L 324 42.200065 -L 325 42.203122 -L 326 42.214718 -L 327 42.231638 -L 328 42.263299 -L 329 42.277382 -L 330 42.330054 -L 331 42.379143 -L 332 42.433844 -L 333 42.478192 -L 334 42.548184 -L 335 42.598567 -L 336 42.652474 -L 337 42.721913 -L 338 42.779301 -L 339 42.829466 -L 340 42.906628 -L 341 42.964818 -L 342 43.025456 -L 343 43.062657 -L 344 43.127749 -L 345 43.232879 -L 346 43.293181 -L 347 43.389503 -L 348 43.421506 -L 349 43.472523 -L 350 43.589315 -L 351 43.624762 -L 352 43.680642 -L 353 43.711018 -L 354 43.799404 -L 355 43.844168 -L 356 43.925056 -L 357 43.985202 -L 358 44.048288 -L 359 44.071236 -L 360 44.087406 -L 361 44.116335 -L 362 44.146687 -L 363 44.159261 -L 364 44.18414 -L 365 44.196224 -L 366 44.199986 -L 367 44.19555 -L 368 44.183211 -L 369 44.168798 -L 370 44.152725 -L 371 44.117204 -L 372 44.09727 -L 373 44.040681 -L 374 43.973487 -L 375 43.946117 -L 376 43.911969 -L 377 43.863289 -L 378 43.815004 -L 379 43.755927 -L 380 43.660322 -L 381 43.617182 -L 382 43.567334 -L 383 43.5088 -L 384 43.461214 -L 385 43.400086 -L 386 43.344001 -L 387 43.26983 -L 388 43.152592 -L 389 43.096868 -L 390 42.988642 -L 391 42.882492 -L 392 42.77492 -L 393 42.740412 -L 394 42.637105 -L 395 42.561381 -L 396 42.521946 -L 397 42.482562 -L 398 42.46008 -L 399 42.404267 -L 400 42.378215 -L 401 42.34798 -L 402 42.297209 -L 403 42.278558 -L 404 42.256849 -L 405 42.244203 -L 406 42.22521 -L 407 42.20782 -L 408 42.200782 -L 409 42.201806 -L 410 42.20881 -L 411 42.21818 -L 412 42.241578 -L 413 42.266661 -L 414 42.27906 -L 415 42.312153 -L 416 42.32852 -L 417 42.346925 -L 418 42.396062 -L 419 42.439875 -L 420 42.48296 -L 421 42.505901 -L 422 42.546164 -L 423 42.631024 -L 424 42.673416 -L 425 42.737802 -L 426 42.782091 -L 427 42.889937 -L 428 42.966877 -L 429 43.003319 -L 430 43.058206 -L 431 43.133307 -L 432 43.191902 -L 433 43.228477 -L 434 43.340524 -L 435 43.402209 -L 436 43.452729 -L 437 43.551514 -L 438 43.589536 -L 439 43.624984 -L 440 43.716618 -L 441 43.75989 -L 442 43.813219 -L 443 43.846084 -L 444 43.908978 -L 445 43.962832 -L 446 44.019958 -L 447 44.042048 -L 448 44.085787 -L 449 44.132881 -L 450 44.149728 -L 451 44.177802 -L 452 44.188798 -L 453 44.193367 -L 454 44.199015 -L 455 44.199066 -L 456 44.195976 -L 457 44.192463 -L 458 44.186641 -L 459 44.173789 -L 460 44.150164 -L 461 44.13528 -L 462 44.111708 -L 463 44.075389 -L 464 44.043806 -L 465 44.013913 -L 466 43.935221 -L 467 43.89867 -L 468 43.872947 -L 469 43.802274 -L 470 43.711172 -L 471 43.649215 -L 472 43.615602 -L 473 43.581102 -L 474 43.483662 -L 475 43.436072 -L 476 43.404566 -L 477 43.360881 -L 478 43.290712 -L 479 43.240845 -L 480 43.206168 -L 481 43.09652 -L 482 43.063049 -L 483 43.025707 -L 484 42.945462 -L 485 42.906968 -L 486 42.865191 -L 487 42.822766 -L 488 42.713038 -L 489 42.624753 -L 490 42.550107 -L 491 42.46165 -L 492 42.387588 -L 493 42.338423 -L 494 42.282806 -L 495 42.248106 -L 496 42.236235 -L 497 42.214012 -L 498 42.202033 -L 499 42.200281 -L 500 42.205698 -L 501 42.221896 -L 502 42.238396 -L 503 42.269579 -L 504 42.282944 -L 505 42.312587 -L 506 42.37561 -L 507 42.424931 -L 508 42.47102 -L 509 42.553247 -L 510 42.59915 -L 511 42.633475 -L 512 42.687014 -L 513 42.775901 -L 514 42.807039 -L 515 42.915088 -L 516 43.02716 -L 517 43.062598 -L 518.4 43.147384 -" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:1.5;"/> - <g id="matplotlib.axis_1"> - <g id="xtick_1"> - <path d="M 72 388.8 -L 72 380.8 -" style="stroke:#ffffff;stroke-width:4;"/> - <path d="M 72 388.8 -L 72 380.8 -" style="stroke:#000000;stroke-width:3;"/> - <path d="M 72 43.2 -L 72 51.2 -" style="stroke:#ffffff;stroke-width:4;"/> - <path d="M 72 43.2 -L 72 51.2 -" style="stroke:#000000;stroke-width:3;"/> - </g> - <g id="xtick_2"> - <path d="M 135.771429 388.8 -L 135.771429 380.8 -" style="stroke:#ffffff;stroke-width:4;"/> - <path d="M 135.771429 388.8 -L 135.771429 380.8 -" style="stroke:#000000;stroke-width:3;"/> - <path d="M 135.771429 43.2 -L 135.771429 51.2 -" style="stroke:#ffffff;stroke-width:4;"/> - <path d="M 135.771429 43.2 -L 135.771429 51.2 -" style="stroke:#000000;stroke-width:3;"/> - </g> - <g id="xtick_3"> - <path d="M 199.542857 388.8 -L 199.542857 380.8 -" style="stroke:#ffffff;stroke-width:4;"/> - <path d="M 199.542857 388.8 -L 199.542857 380.8 -" style="stroke:#000000;stroke-width:3;"/> - <path d="M 199.542857 43.2 -L 199.542857 51.2 -" style="stroke:#ffffff;stroke-width:4;"/> - <path d="M 199.542857 43.2 -L 199.542857 51.2 -" style="stroke:#000000;stroke-width:3;"/> - </g> - <g id="xtick_4"> - <path d="M 263.314286 388.8 -L 263.314286 380.8 -" style="stroke:#ffffff;stroke-width:4;"/> - <path d="M 263.314286 388.8 -L 263.314286 380.8 -" style="stroke:#000000;stroke-width:3;"/> - <path d="M 263.314286 43.2 -L 263.314286 51.2 -" style="stroke:#ffffff;stroke-width:4;"/> - <path d="M 263.314286 43.2 -L 263.314286 51.2 -" style="stroke:#000000;stroke-width:3;"/> - </g> - <g id="xtick_5"> - <path d="M 327.085714 388.8 -L 327.085714 380.8 -" style="stroke:#ffffff;stroke-width:4;"/> - <path d="M 327.085714 388.8 -L 327.085714 380.8 -" style="stroke:#000000;stroke-width:3;"/> - <path d="M 327.085714 43.2 -L 327.085714 51.2 -" style="stroke:#ffffff;stroke-width:4;"/> - <path d="M 327.085714 43.2 -L 327.085714 51.2 -" style="stroke:#000000;stroke-width:3;"/> - </g> - <g id="xtick_6"> - <path d="M 390.857143 388.8 -L 390.857143 380.8 -" style="stroke:#ffffff;stroke-width:4;"/> - <path d="M 390.857143 388.8 -L 390.857143 380.8 -" style="stroke:#000000;stroke-width:3;"/> - <path d="M 390.857143 43.2 -L 390.857143 51.2 -" style="stroke:#ffffff;stroke-width:4;"/> - <path d="M 390.857143 43.2 -L 390.857143 51.2 -" style="stroke:#000000;stroke-width:3;"/> - </g> - <g id="xtick_7"> - <path d="M 454.628571 388.8 -L 454.628571 380.8 -" style="stroke:#ffffff;stroke-width:4;"/> - <path d="M 454.628571 388.8 -L 454.628571 380.8 -" style="stroke:#000000;stroke-width:3;"/> - <path d="M 454.628571 43.2 -L 454.628571 51.2 -" style="stroke:#ffffff;stroke-width:4;"/> - <path d="M 454.628571 43.2 -L 454.628571 51.2 -" style="stroke:#000000;stroke-width:3;"/> - </g> - <g id="xtick_8"> - <path d="M 518.4 388.8 -L 518.4 380.8 -" style="stroke:#ffffff;stroke-width:4;"/> - <path d="M 518.4 388.8 -L 518.4 380.8 -" style="stroke:#000000;stroke-width:3;"/> - <path d="M 518.4 43.2 -L 518.4 51.2 -" style="stroke:#ffffff;stroke-width:4;"/> - <path d="M 518.4 43.2 -L 518.4 51.2 -" style="stroke:#000000;stroke-width:3;"/> - </g> - </g> - <g id="matplotlib.axis_2"> - <g id="ytick_1"> - <path d="M 72 388.8 -L 80 388.8 -" style="stroke:#ffffff;stroke-width:4;"/> - <path d="M 72 388.8 -L 80 388.8 -" style="stroke:#000000;stroke-width:3;"/> - <path d="M 518.4 388.8 -L 510.4 388.8 -" style="stroke:#ffffff;stroke-width:4;"/> - <path d="M 518.4 388.8 -L 510.4 388.8 -" style="stroke:#000000;stroke-width:3;"/> - </g> - <g id="ytick_2"> - <path d="M 72 302.4 -L 80 302.4 -" style="stroke:#ffffff;stroke-width:4;"/> - <path d="M 72 302.4 -L 80 302.4 -" style="stroke:#000000;stroke-width:3;"/> - <path d="M 518.4 302.4 -L 510.4 302.4 -" style="stroke:#ffffff;stroke-width:4;"/> - <path d="M 518.4 302.4 -L 510.4 302.4 -" style="stroke:#000000;stroke-width:3;"/> - </g> - <g id="ytick_3"> - <path d="M 72 216 -L 80 216 -" style="stroke:#ffffff;stroke-width:4;"/> - <path d="M 72 216 -L 80 216 -" style="stroke:#000000;stroke-width:3;"/> - <path d="M 518.4 216 -L 510.4 216 -" style="stroke:#ffffff;stroke-width:4;"/> - <path d="M 518.4 216 -L 510.4 216 -" style="stroke:#000000;stroke-width:3;"/> - </g> - <g id="ytick_4"> - <path d="M 72 129.6 -L 80 129.6 -" style="stroke:#ffffff;stroke-width:4;"/> - <path d="M 72 129.6 -L 80 129.6 -" style="stroke:#000000;stroke-width:3;"/> - <path d="M 518.4 129.6 -L 510.4 129.6 -" style="stroke:#ffffff;stroke-width:4;"/> - <path d="M 518.4 129.6 -L 510.4 129.6 -" style="stroke:#000000;stroke-width:3;"/> - </g> - <g id="ytick_5"> - <path d="M 72 43.2 -L 80 43.2 -" style="stroke:#ffffff;stroke-width:4;"/> - <path d="M 72 43.2 -L 80 43.2 -" style="stroke:#000000;stroke-width:3;"/> - <path d="M 518.4 43.2 -L 510.4 43.2 -" style="stroke:#ffffff;stroke-width:4;"/> - <path d="M 518.4 43.2 -L 510.4 43.2 -" style="stroke:#000000;stroke-width:3;"/> - </g> - </g> - </g> - </g> - <defs> - <clipPath id="pf26c5e5a93"> - <rect height="345.6" width="446.4" x="72" y="43.2"/> - </clipPath> - </defs> - </g> - </g> - </g> - </g> - </g> - </g> -</svg> diff --git a/lib/matplotlib/tests/baseline_images/test_path/xkcd_marker.png b/lib/matplotlib/tests/baseline_images/test_path/xkcd_marker.png new file mode 100644 index 0000000000000000000000000000000000000000..c4224f74c1ecca629bab4157638cd2d68830f3b9 GIT binary patch literal 22078 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 DzNM5h@E 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 literal 0 HcmV?d00001 diff --git a/lib/matplotlib/tests/test_path.py b/lib/matplotlib/tests/test_path.py index fe9067b635c7..cc988caf3f9d 100644 --- a/lib/matplotlib/tests/test_path.py +++ b/lib/matplotlib/tests/test_path.py @@ -110,7 +110,8 @@ def test_make_compound_path_empty(): assert r.vertices.shape == (0, 2) -@image_comparison(baseline_images=['xkcd'], remove_text=True) +@image_comparison(baseline_images=['xkcd'], extensions=['png'], + remove_text=True) def test_xkcd(): np.random.seed(0) @@ -122,6 +123,23 @@ def test_xkcd(): ax.plot(x, y) +@image_comparison(baseline_images=['xkcd_marker'], extensions=['png'], + remove_text=True) +def test_xkcd_marker(): + np.random.seed(0) + + x = np.linspace(0, 5, 8) + y1 = x + y2 = 5 - x + y3 = 2.5 * np.ones(8) + + with plt.xkcd(): + fig, ax = plt.subplots() + ax.plot(x, y1, '+', ms=10) + ax.plot(x, y2, 'o', ms=10) + ax.plot(x, y3, '^', ms=10) + + @image_comparison(baseline_images=['marker_paths'], extensions=['pdf'], remove_text=True) def test_marker_paths_pdf(): From 5f3449d74419798a02e86f320944e087cdab1c6e Mon Sep 17 00:00:00 2001 From: fredrik-1 <sandquist.fredrik@gmail.com> Date: Mon, 30 Jul 2018 12:48:48 +0200 Subject: [PATCH 1076/1161] typos in gridspec tutorial --- tutorials/intermediate/gridspec.py | 115 ++++++++++++++--------------- 1 file changed, 56 insertions(+), 59 deletions(-) diff --git a/tutorials/intermediate/gridspec.py b/tutorials/intermediate/gridspec.py index 301bf8d21b08..b5ddde848478 100644 --- a/tutorials/intermediate/gridspec.py +++ b/tutorials/intermediate/gridspec.py @@ -9,7 +9,7 @@ Perhaps the primary function used to create figures and axes. It's also similar to :func:`.matplotlib.pyplot.subplot`, but creates and places all axes on the figure at once. See also - `.matplotlib.Figure.subplots`. + `matplotlib.Figure.subplots`. :class:`~matplotlib.gridspec.GridSpec` Specifies the geometry of the grid that a subplot will be @@ -56,7 +56,7 @@ # numpy arrays. fig2 = plt.figure(constrained_layout=True) -spec2 = gridspec.GridSpec(ncols=2, nrows=2) +spec2 = gridspec.GridSpec(ncols=2, nrows=2, figure=fig2) f2_ax1 = fig2.add_subplot(spec2[0, 0]) f2_ax2 = fig2.add_subplot(spec2[0, 1]) f2_ax3 = fig2.add_subplot(spec2[1, 0]) @@ -68,22 +68,22 @@ # `Numpy slice <https://docs.scipy.org/doc/numpy/reference/arrays.indexing.html>`_ # syntax for selecing the part of the gridspec each subplot will occupy. # -# Note that we have also used the convenience method `.Figure.add_grisdpec` +# Note that we have also used the convenience method `.Figure.add_gridspec` # instead of `.gridspec.GridSpec`, potentially saving the user an import, # and keeping the namespace cleaner. -fig = plt.figure(constrained_layout=True) -gs = fig.add_gridspec(3, 3) -ax1 = fig.add_subplot(gs[0, :]) -ax1.set_title('gs[0, :]') -ax2 = fig.add_subplot(gs[1, :-1]) -ax2.set_title('gs[1, :-1]') -ax3 = fig.add_subplot(gs[1:, -1]) -ax3.set_title('gs[1:, -1]') -ax4 = fig.add_subplot(gs[-1, 0]) -ax4.set_title('gs[-1, 0]') -ax5 = fig.add_subplot(gs[-1, -2]) -ax5.set_title('gs[-1, -2]') +fig3 = plt.figure(constrained_layout=True) +gs = fig3.add_gridspec(3, 3) +f3_ax1 = fig3.add_subplot(gs[0, :]) +f3_ax1.set_title('gs[0, :]') +f3_ax2 = fig3.add_subplot(gs[1, :-1]) +f3_ax2.set_title('gs[1, :-1]') +f3_ax3 = fig3.add_subplot(gs[1:, -1]) +f3_ax3.set_title('gs[1:, -1]') +f3_ax4 = fig3.add_subplot(gs[-1, 0]) +f3_ax4.set_title('gs[-1, 0]') +f3_ax5 = fig3.add_subplot(gs[-1, -2]) +f3_ax5.set_title('gs[-1, -2]') ############################################################################# # :mod:`~matplotlib.gridspec` is also indispensable for creating subplots @@ -94,16 +94,16 @@ # and then uses numpy indexing and slices to allocate multiple # "cells" for a given subplot. -fig3 = plt.figure(constrained_layout=True) -spec3 = fig3.add_gridspec(ncols=3, nrows=3) +fig4 = plt.figure(constrained_layout=True) +spec4 = fig4.add_gridspec(ncols=2, nrows=2) anno_opts = dict(xy=(0.5, 0.5), xycoords='axes fraction', va='center', ha='center') -ax1 = fig3.add_subplot(spec3[0, 0]) -ax1.annotate('GridSpec[0, 0]', **anno_opts) -fig3.add_subplot(spec3[0, 1:]).annotate('GridSpec[0, 1:]', **anno_opts) -fig3.add_subplot(spec3[1:, 0]).annotate('GridSpec[1:, 0]', **anno_opts) -fig3.add_subplot(spec3[1:, 1:]).annotate('GridSpec[1:, 1:]', **anno_opts) +f4_ax1 = fig4.add_subplot(spec4[0, 0]) +f4_ax1.annotate('GridSpec[0, 0]', **anno_opts) +fig4.add_subplot(spec4[0, 1]).annotate('GridSpec[0, 1:]', **anno_opts) +fig4.add_subplot(spec4[1, 0]).annotate('GridSpec[1:, 0]', **anno_opts) +fig4.add_subplot(spec4[1, 1]).annotate('GridSpec[1:, 1:]', **anno_opts) ############################################################################ # Another option is to use the ``width_ratios`` and ``height_ratios`` @@ -114,14 +114,14 @@ # For the sake of demonstration, we'll blindly create the axes within # ``for`` loops since we won't need them later. -fig4 = plt.figure(constrained_layout=True) +fig5 = plt.figure(constrained_layout=True) widths = [2, 3, 1.5] heights = [1, 3, 2] -spec4 = fig4.add_gridspec(ncols=3, nrows=3, width_ratios=widths, +spec5 = fig5.add_gridspec(ncols=3, nrows=3, width_ratios=widths, height_ratios=heights) for row in range(3): for col in range(3): - ax = fig4.add_subplot(spec4[row, col]) + ax = fig5.add_subplot(spec5[row, col]) label = 'Width: {}\nHeight: {}'.format(widths[col], heights[row]) ax.annotate(label, (0.1, 0.5), xycoords='axes fraction', va='center') @@ -136,31 +136,29 @@ # gridspec instance. gs_kw = dict(width_ratios=widths, height_ratios=heights) -fig5, f5_axes = plt.subplots(ncols=3, nrows=3, constrained_layout=True, +fig6, f6_axes = plt.subplots(ncols=3, nrows=3, constrained_layout=True, gridspec_kw=gs_kw) -for r, row in enumerate(f5_axes): +for r, row in enumerate(f6_axes): for c, ax in enumerate(row): label = 'Width: {}\nHeight: {}'.format(widths[c], heights[r]) ax.annotate(label, (0.1, 0.5), xycoords='axes fraction', va='center') -fig5.tight_layout() - ############################################################################ # The ``subplots`` and ``gridspec`` methods can be combined since it is # sometimes more convenient to make most of the subplots using ``subplots`` # and then remove some and combine them. Here we create a layout with # the bottom two axes in the last column combined. -fig, axs = plt.subplots(ncols=3, nrows=3) -gs = axs[1, 2].get_gridspec() +fig7, f7_axs = plt.subplots(ncols=3, nrows=3) +gs = f7_axs[1, 2].get_gridspec() # remove the underlying axes -for ax in axs[1:, -1]: +for ax in f7_axs[1:, -1]: ax.remove() -axbig = fig.add_subplot(gs[1:, -1]) +axbig = fig7.add_subplot(gs[1:, -1]) axbig.annotate('Big Axes \nGridSpec[1:, -1]', (0.1, 0.5), xycoords='axes fraction', va='center') -fig.tight_layout() +fig7.tight_layout() ############################################################################### # Fine Adjustments to a Gridspec Layout @@ -172,11 +170,11 @@ # `.Figure.tight_layout` which both adjust subplot sizes to fill the # figure. -fig6 = plt.figure(constrained_layout=False) -gs1 = fig6.add_gridspec(nrows=3, ncols=3, left=0.05, right=0.48, wspace=0.05) -ax1 = fig6.add_subplot(gs1[:-1, :]) -ax2 = fig6.add_subplot(gs1[-1, :-1]) -ax3 = fig6.add_subplot(gs1[-1, -1]) +fig8 = plt.figure(constrained_layout=False) +gs1 = fig8.add_gridspec(nrows=3, ncols=3, left=0.05, right=0.48, wspace=0.05) +f8_ax1 = fig8.add_subplot(gs1[:-1, :]) +f8_ax2 = fig8.add_subplot(gs1[-1, :-1]) +f8_ax3 = fig8.add_subplot(gs1[-1, -1]) ############################################################################### # This is similar to :func:`~matplotlib.pyplot.subplots_adjust`, but it only @@ -184,19 +182,18 @@ # # For example, compare the left and right sides of this figure: -fig7 = plt.figure(constrained_layout=False) -gs1 = fig7.add_gridspec(nrows=3, ncols=3, left=0.05, right=0.48, +fig9 = plt.figure(constrained_layout=False) +gs1 = fig9.add_gridspec(nrows=3, ncols=3, left=0.05, right=0.48, wspace=0.05) -ax1 = fig7.add_subplot(gs1[:-1, :]) -ax2 = fig7.add_subplot(gs1[-1, :-1]) -ax3 = fig7.add_subplot(gs1[-1, -1]) +f9_ax1 = fig9.add_subplot(gs1[:-1, :]) +f9_ax2 = fig9.add_subplot(gs1[-1, :-1]) +f9_ax3 = fig9.add_subplot(gs1[-1, -1]) -gs2 = fig7.add_gridspec(nrows=3, ncols=3, left=0.55, right=0.98, +gs2 = fig9.add_gridspec(nrows=3, ncols=3, left=0.55, right=0.98, hspace=0.05) -ax4 = fig7.add_subplot(gs2[:, :-1]) -ax5 = fig7.add_subplot(gs2[:-1, -1]) -ax6 = fig7.add_subplot(gs2[-1, -1]) - +f9_ax4 = fig9.add_subplot(gs2[:, :-1]) +f9_ax5 = fig9.add_subplot(gs2[:-1, -1]) +f9_ax6 = fig9.add_subplot(gs2[-1, -1]) ############################################################################### # GridSpec using SubplotSpec @@ -209,16 +206,16 @@ # Note this is also available from the more verbose # `.gridspec.GridSpecFromSubplotSpec`. -fig = plt.figure(constrained_layout=True) -gs0 = fig.add_gridspec(1, 2) +fig10 = plt.figure(constrained_layout=True) +gs0 = fig10.add_gridspec(1, 2) gs00 = gs0[0].subgridspec(2, 3) gs01 = gs0[1].subgridspec(3, 2) for a in range(2): for b in range(3): - fig.add_subplot(gs00[a, b]) - fig.add_subplot(gs01[b, a]) + fig10.add_subplot(gs00[a, b]) + fig10.add_subplot(gs01[b, a]) ############################################################################### # A Complex Nested GridSpec using SubplotSpec @@ -235,23 +232,23 @@ def squiggle_xy(a, b, c, d, i=np.arange(0.0, 2*np.pi, 0.05)): return np.sin(i*a)*np.cos(i*b), np.sin(i*c)*np.cos(i*d) - -fig = plt.figure(figsize=(8, 8), constrained_layout=False) +10 +fig11 = plt.figure(figsize=(8, 8), constrained_layout=False) # gridspec inside gridspec -outer_grid = fig.add_gridspec(4, 4, wspace=0.0, hspace=0.0) +outer_grid = fig11.add_gridspec(4, 4, wspace=0.0, hspace=0.0) for i in range(16): inner_grid = outer_grid[i].subgridspec(3, 3, wspace=0.0, hspace=0.0) a, b = int(i/4)+1, i % 4+1 for j, (c, d) in enumerate(product(range(1, 4), repeat=2)): - ax = plt.Subplot(fig, inner_grid[j]) + ax = plt.Subplot(fig11, inner_grid[j]) ax.plot(*squiggle_xy(a, b, c, d)) ax.set_xticks([]) ax.set_yticks([]) - fig.add_subplot(ax) + fig11.add_subplot(ax) -all_axes = fig.get_axes() +all_axes = fig11.get_axes() # show only the outside spines for ax in all_axes: From 1a7d56df0312c33704be703e7ea4070e5d54cd91 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Mon, 30 Jul 2018 15:47:34 -0400 Subject: [PATCH 1077/1161] MNT: be more paranoid about importing sip --- lib/matplotlib/backends/qt_compat.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/lib/matplotlib/backends/qt_compat.py b/lib/matplotlib/backends/qt_compat.py index d9db99ab0378..6a0b0db480b9 100644 --- a/lib/matplotlib/backends/qt_compat.py +++ b/lib/matplotlib/backends/qt_compat.py @@ -88,12 +88,16 @@ def _setup_pyqt4_internal(api): # http://pyqt.sourceforge.net/Docs/PyQt4/incompatible_apis.html _sip_apis = ["QDate", "QDateTime", "QString", "QTextStream", "QTime", "QUrl", "QVariant"] - import sip - for _sip_api in _sip_apis: - try: - sip.setapi(_sip_api, api) - except ValueError: - pass + try: + import sip + except ImportError: + pass + else: + for _sip_api in _sip_apis: + try: + sip.setapi(_sip_api, api) + except ValueError: + pass from PyQt4 import QtCore, QtGui __version__ = QtCore.PYQT_VERSION_STR # PyQt 4.6 introduced getSaveFileNameAndFilter: From 8bbc6dd9441d03f63ea5bd1effe8e0832130298f Mon Sep 17 00:00:00 2001 From: Elizabeth Seiver <elizabeth.seiver@gmail.com> Date: Thu, 2 Aug 2018 13:54:37 -0700 Subject: [PATCH 1078/1161] updates error messages to run pytest instead of tests.py standalone --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index c7b8d6fa6b82..ee38eb7bbed8 100644 --- a/setup.py +++ b/setup.py @@ -121,7 +121,7 @@ class NoopTestCommand(TestCommand): def __init__(self, dist): print("Matplotlib does not support running tests with " - "'python setup.py test'. Please run 'python tests.py'.") + "'python setup.py test'. Please run 'pytest'.") class BuildExtraLibraries(BuildExtCommand): From 50442c818d2a0e87279ce620ae5b841db0d692c7 Mon Sep 17 00:00:00 2001 From: fredrik-1 <sandquist.fredrik@gmail.com> Date: Mon, 30 Jul 2018 14:38:12 +0200 Subject: [PATCH 1079/1161] update annotations --- lib/matplotlib/tests/test_text.py | 12 ++++++++++++ lib/matplotlib/text.py | 1 + 2 files changed, 13 insertions(+) diff --git a/lib/matplotlib/tests/test_text.py b/lib/matplotlib/tests/test_text.py index 47589a342a35..44407d70b3fc 100644 --- a/lib/matplotlib/tests/test_text.py +++ b/lib/matplotlib/tests/test_text.py @@ -499,3 +499,15 @@ def test_text_repr(): plt.plot(['A', 'B'], [1, 2]) txt = plt.text(['A'], 0.5, 'Boo') print(txt) + + +def test_annotation_update(): + fig, ax = plt.subplots(1, 1) + an = ax.annotate('annotation', xy=(0.5, 0.5)) + extent1 = an.get_window_extent(fig.canvas.get_renderer()) + fig.tight_layout() + extent2 = an.get_window_extent(fig.canvas.get_renderer()) + + np.testing.assert_raises(AssertionError, np.testing.assert_allclose, + extent1.get_points(), extent2.get_points(), + rtol=1e-6) diff --git a/lib/matplotlib/text.py b/lib/matplotlib/text.py index e9aca8b91da8..b49bac53a893 100644 --- a/lib/matplotlib/text.py +++ b/lib/matplotlib/text.py @@ -2354,6 +2354,7 @@ def get_window_extent(self, renderer=None): *dpi* used defaults to self.figure.dpi; the renderer dpi is irrelevant. ''' + self.update_positions(renderer) if not self.get_visible(): return Bbox.unit() From 9f0325e10f72a9262ecf9eaf9609bbc54813fb20 Mon Sep 17 00:00:00 2001 From: Nelle Varoquaux <nelle.varoquaux@gmail.com> Date: Sat, 4 Aug 2018 15:08:01 -0700 Subject: [PATCH 1080/1161] DOC removed all mentions of tests.py --- .appveyor.yml | 2 +- doc/devel/contributing.rst | 2 +- doc/devel/release_guide.rst | 3 ++- doc/devel/testing.rst | 3 ++- tools/triage_tests.py | 2 +- 5 files changed, 7 insertions(+), 5 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 195df7266014..5cdd09539f7e 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -106,7 +106,7 @@ test_script: - python -c "import matplotlib as m; m.use('tkagg'); import matplotlib.pyplot as plt; print(plt.get_backend())" # tests - echo The following args are passed to pytest %PYTEST_ARGS% - - python tests.py %PYTEST_ARGS% + - pytest %PYTEST_ARGS% after_test: # After the tests were a success, build wheels with the static libs diff --git a/doc/devel/contributing.rst b/doc/devel/contributing.rst index 9063529e0e57..b40a46a6fa92 100644 --- a/doc/devel/contributing.rst +++ b/doc/devel/contributing.rst @@ -265,7 +265,7 @@ tools: * Code with a good unittest coverage (at least 70%, better 100%), check with:: python -mpip install coverage - python tests.py --with-coverage + pytest --cov=matplotlib --showlocals -v * No pyflakes warnings, check with:: diff --git a/doc/devel/release_guide.rst b/doc/devel/release_guide.rst index 73d7eb8bea39..48350c79d02b 100644 --- a/doc/devel/release_guide.rst +++ b/doc/devel/release_guide.rst @@ -20,7 +20,8 @@ We use `travis-ci <https://travis-ci.org/matplotlib/matplotlib>`__ for continuous integration. When preparing for a release, the final tagged commit should be tested locally before it is uploaded:: - python tests.py --processes=8 --process-timeout=300 + pytest -n 8 . + In addition the following two tests should be run and manually inspected:: diff --git a/doc/devel/testing.rst b/doc/devel/testing.rst index b3a191be1fa1..b96eb2f71fe0 100644 --- a/doc/devel/testing.rst +++ b/doc/devel/testing.rst @@ -46,7 +46,8 @@ Running the tests is simple. Make sure you have pytest installed and run:: or:: - python tests.py + pytest . + in the root directory of the distribution. The script takes a set of commands, such as: diff --git a/tools/triage_tests.py b/tools/triage_tests.py index cac1bc38b660..42234632d8f6 100644 --- a/tools/triage_tests.py +++ b/tools/triage_tests.py @@ -376,7 +376,7 @@ def launch(result_images, source): Triage image comparison test failures. If no arguments are provided, it assumes you ran the tests at the -top-level of a source checkout as `python tests.py`. +top-level of a source checkout as `pytest .`. Keys: left/right: Move between test, expected and diff images From 9b61044d38fb243462c3fcb1f89b502bd6c46d6d Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Sat, 4 Aug 2018 21:30:56 -0400 Subject: [PATCH 1081/1161] MNT: remove extraneous 10 --- tutorials/intermediate/gridspec.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/intermediate/gridspec.py b/tutorials/intermediate/gridspec.py index b5ddde848478..76d94b61f2a9 100644 --- a/tutorials/intermediate/gridspec.py +++ b/tutorials/intermediate/gridspec.py @@ -232,7 +232,7 @@ def squiggle_xy(a, b, c, d, i=np.arange(0.0, 2*np.pi, 0.05)): return np.sin(i*a)*np.cos(i*b), np.sin(i*c)*np.cos(i*d) -10 + fig11 = plt.figure(figsize=(8, 8), constrained_layout=False) # gridspec inside gridspec From 697c51920451e03facbd77197ff2d7a9b0ae0334 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Sun, 5 Aug 2018 00:00:08 -0400 Subject: [PATCH 1082/1161] TST: tweak add_artist_test to make svgs output clearer - add gid to artists to make SVG more readable - make sure zorder is identical This makes the diff between the expected and produced svgs readable. The svg tests passes locally (inkscape 0.92) and on other travis runs (inkscape 0.48). Fails on travis with inkscape 0.91 --- lib/matplotlib/tests/test_figure.py | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py index 683d24441db4..ff75cdb5a7f2 100644 --- a/lib/matplotlib/tests/test_figure.py +++ b/lib/matplotlib/tests/test_figure.py @@ -389,22 +389,25 @@ def test_add_artist(fig_test, fig_ref): fig_ref.set_dpi(100) ax = fig_test.subplots() - l1 = plt.Line2D([.2, .7], [.7, .7]) - l2 = plt.Line2D([.2, .7], [.8, .8]) - r1 = plt.Circle((20, 20), 100, transform=None) - r2 = plt.Circle((.7, .5), .05) + l1 = plt.Line2D([.2, .7], [.7, .7], gid='l1') + l2 = plt.Line2D([.2, .7], [.8, .8], gid='l2') + r1 = plt.Circle((20, 20), 100, transform=None, gid='C1') + r2 = plt.Circle((.7, .5), .05, gid='C2') r3 = plt.Circle((4.5, .8), .55, transform=fig_test.dpi_scale_trans, - facecolor='crimson') + facecolor='crimson', gid='C3') for a in [l1, l2, r1, r2, r3]: fig_test.add_artist(a) l2.remove() ax2 = fig_ref.subplots() - l1 = plt.Line2D([.2, .7], [.7, .7], transform=fig_ref.transFigure) - r1 = plt.Circle((20, 20), 100, transform=None, clip_on=False, zorder=20) - r2 = plt.Circle((.7, .5), .05, transform=fig_ref.transFigure) + l1 = plt.Line2D([.2, .7], [.7, .7], transform=fig_ref.transFigure, + gid='l1', zorder=21) + r1 = plt.Circle((20, 20), 100, transform=None, clip_on=False, zorder=20, + gid='C1') + r2 = plt.Circle((.7, .5), .05, transform=fig_ref.transFigure, gid='C2', + zorder=20) r3 = plt.Circle((4.5, .8), .55, transform=fig_ref.dpi_scale_trans, - facecolor='crimson', clip_on=False, zorder=20) + facecolor='crimson', clip_on=False, zorder=20, gid='C3') for a in [l1, r1, r2, r3]: ax2.add_artist(a) From a95ddd6e864113455d7b6400e54639ff048bc8f0 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Mon, 6 Aug 2018 11:30:07 -0400 Subject: [PATCH 1083/1161] TST: skip svg tests for now These seem to fail on the new travis ubuntu image, may be inkscape version related. --- lib/matplotlib/tests/test_figure.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py index ff75cdb5a7f2..7cb5af621450 100644 --- a/lib/matplotlib/tests/test_figure.py +++ b/lib/matplotlib/tests/test_figure.py @@ -383,7 +383,7 @@ def test_warn_cl_plus_tl(): assert not(fig.get_constrained_layout()) -@check_figures_equal(extensions=["png", "pdf", "svg"]) +@check_figures_equal(extensions=["png", "pdf"]) def test_add_artist(fig_test, fig_ref): fig_test.set_dpi(100) fig_ref.set_dpi(100) From 56acb0f691f3447f7f15b257b164e0bc431760eb Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Wed, 4 Jul 2018 23:04:19 +0200 Subject: [PATCH 1084/1161] ENH: backend switching. See changes documented in the API changes file. I inlined pylab_setup into switch_backend (and deprecated the old version of pylab_setup) because otherwise the typical call stack would be `use()` -> `switch_backend()` -> `pylab_setup()`, which is a bit of a mess; at least we can get rid of one of the layers. --- .../2018-02-15-AL-deprecations.rst | 1 + lib/matplotlib/__init__.py | 99 +++++++++---------- lib/matplotlib/backend_bases.py | 7 +- lib/matplotlib/backends/__init__.py | 3 + lib/matplotlib/pyplot.py | 75 +++++++++++--- lib/matplotlib/rcsetup.py | 15 +-- .../tests/test_backends_interactive.py | 49 ++++++++- matplotlibrc.template | 5 +- setup.py | 4 +- 9 files changed, 169 insertions(+), 89 deletions(-) diff --git a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst index 654a017e2303..e2c9e3fb693c 100644 --- a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst +++ b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst @@ -22,6 +22,7 @@ The following classes, methods, functions, and attributes are deprecated: handle autorepeated key presses). - ``backend_qt5.error_msg_qt``, ``backend_qt5.exception_handler``, - ``backend_wx.FigureCanvasWx.macros``, +- ``backends.pylab_setup``, - ``cbook.GetRealpathAndStat``, ``cbook.Locked``, - ``cbook.is_numlike`` (use ``isinstance(..., numbers.Number)`` instead), ``cbook.listFiles``, ``cbook.unicode_safe``, diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 3eee3e0116f6..3f2a6a300e30 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -1301,74 +1301,63 @@ def __exit__(self, exc_type, exc_value, exc_tb): dict.update(rcParams, self._orig) -_use_error_msg = """ -This call to matplotlib.use() has no effect because the backend has already -been chosen; matplotlib.use() must be called *before* pylab, matplotlib.pyplot, -or matplotlib.backends is imported for the first time. - -The backend was *originally* set to {backend!r} by the following code: -{tb} -""" - - def use(arg, warn=True, force=False): """ Set the matplotlib backend to one of the known backends. - The argument is case-insensitive. *warn* specifies whether a - warning should be issued if a backend has already been set up. - *force* is an **experimental** flag that tells matplotlib to - attempt to initialize a new backend by reloading the backend - module. + To find out which backend is currently set, see + :func:`matplotlib.get_backend`. + + + Parameters + ---------- + arg : str + The backend to switch to. This can either be one of the + 'standard' backend names or a string of the form + ``module://my.module.name``. This value is case-insensitive. - .. note:: + warn : bool, optional + If True, warn if this is called after pyplot has been imported + and a backend is set up. - This function must be called *before* importing pyplot for - the first time; or, if you are not using pyplot, it must be called - before importing matplotlib.backends. If warn is True, a warning - is issued if you try and call this after pylab or pyplot have been - loaded. In certain black magic use cases, e.g. - :func:`pyplot.switch_backend`, we are doing the reloading necessary to - make the backend switch work (in some cases, e.g., pure image - backends) so one can set warn=False to suppress the warnings. + defaults to True + + force : bool, optional + If True, attempt to switch the backend. This defaults to + false and using `.pyplot.switch_backend` is preferred. - To find out which backend is currently set, see - :func:`matplotlib.get_backend`. """ - # Lets determine the proper backend name first - if arg.startswith('module://'): - name = arg - else: - # Lowercase only non-module backend names (modules are case-sensitive) - arg = arg.lower() - name = validate_backend(arg) - - # Check if we've already set up a backend - if 'matplotlib.backends' in sys.modules: - # Warn only if called with a different name - if (rcParams['backend'] != name) and warn: - import matplotlib.backends + name = validate_backend(arg) + + # if setting back to the same thing, do nothing + if (rcParams['backend'] == name): + pass + + # Check if we have already imported pyplot and triggered + # backend selection, do a bit more work + elif 'matplotlib.pyplot' in sys.modules: + # If we are here then the requested is different than the current. + # If we are going to force the switch, never warn, else, if warn + # is True, then direct users to `plt.switch_backend` + if (not force) and warn: warnings.warn( - _use_error_msg.format( - backend=rcParams['backend'], - tb=matplotlib.backends._backend_loading_tb), + ("matplotlib.pyplot as already been imported, " + "this call will have no effect."), stacklevel=2) - # Unless we've been told to force it, just return - if not force: - return - need_reload = True + # if we are going to force switching the backend, pull in + # `switch_backend` from pyplot. This will only happen if + # pyplot is already imported. + if force: + from matplotlib.pyplot import switch_backend + switch_backend(name) + # Finally if pyplot is not imported update both rcParams and + # rcDefaults so restoring the defaults later with rcdefaults + # won't change the backend. This is a bit of overkill as 'backend' + # is already in style.core.STYLE_BLACKLIST, but better to be safe. else: - need_reload = False - - # Store the backend name - rcParams['backend'] = name - - # If needed we reload here because a lot of setup code is triggered on - # module import. See backends/__init__.py for more detail. - if need_reload: - importlib.reload(sys.modules['matplotlib.backends']) + rcParams['backend'] = rcParamsDefault['backend'] = name if os.environ.get('MPLBACKEND'): diff --git a/lib/matplotlib/backend_bases.py b/lib/matplotlib/backend_bases.py index ce15d9295fac..9810178ee38b 100644 --- a/lib/matplotlib/backend_bases.py +++ b/lib/matplotlib/backend_bases.py @@ -3183,6 +3183,10 @@ class _Backend(object): # class FooBackend(_Backend): # # override the attributes and methods documented below. + # Set to one of {"qt5", "qt4", "gtk3", "wx", "tk", "macosx"} if an + # interactive framework is required, or None otherwise. + required_interactive_framework = None + # `backend_version` may be overridden by the subclass. backend_version = "unknown" @@ -3265,7 +3269,8 @@ def show(cls, block=None): @staticmethod def export(cls): - for name in ["backend_version", + for name in ["required_interactive_framework", + "backend_version", "FigureCanvas", "FigureManager", "new_figure_manager", diff --git a/lib/matplotlib/backends/__init__.py b/lib/matplotlib/backends/__init__.py index 2467a4235373..9be23abe518b 100644 --- a/lib/matplotlib/backends/__init__.py +++ b/lib/matplotlib/backends/__init__.py @@ -5,11 +5,13 @@ import traceback import matplotlib +from matplotlib import cbook from matplotlib.backend_bases import _Backend _log = logging.getLogger(__name__) backend = matplotlib.get_backend() +# FIXME: Remove. _backend_loading_tb = "".join( line for line in traceback.format_stack() # Filter out line noise from importlib line. @@ -64,6 +66,7 @@ def _get_running_interactive_framework(): return None +@cbook.deprecated("3.0") def pylab_setup(name=None): """ Return new_figure_manager, draw_if_interactive and show for pyplot. diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index 3096473ca63a..7fd08c29b27d 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -18,7 +18,9 @@ The object-oriented API is recommended for more complex plots. """ +import importlib import inspect +import logging from numbers import Number import re import sys @@ -29,7 +31,7 @@ import matplotlib import matplotlib.colorbar import matplotlib.image -from matplotlib import style +from matplotlib import rcsetup, style from matplotlib import _pylab_helpers, interactive from matplotlib.cbook import ( dedent, deprecated, silent_list, warn_deprecated, _string_to_bool) @@ -67,10 +69,13 @@ MaxNLocator from matplotlib.backends import pylab_setup +_log = logging.getLogger(__name__) + ## Backend detection ## +# FIXME: Deprecate. def _backend_selection(): """ If rcParams['backend_fallback'] is true, check to see if the @@ -110,8 +115,6 @@ def _backend_selection(): ## Global ## -_backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup() - _IP_REGISTERED = None _INSTALL_FIG_OBSERVER = False @@ -213,21 +216,60 @@ def findobj(o=None, match=None, include_self=True): def switch_backend(newbackend): """ - Switch the default backend. This feature is **experimental**, and - is only expected to work switching to an image backend. e.g., if - you have a bunch of PostScript scripts that you want to run from - an interactive ipython session, you may want to switch to the PS - backend before running them to avoid having a bunch of GUI windows - popup. If you try to interactively switch from one GUI backend to - another, you will explode. + Close all open figures and set the Matplotlib backend. - Calling this command will close all open windows. + The argument is case-insensitive. Switching to an interactive backend is + possible only if no event loop for another interactive backend has started. + Switching to and from non-interactive backends is always possible. + + Parameters + ---------- + newbackend : str + The name of the backend to use. """ - close('all') + close("all") + + if newbackend is rcsetup._auto_backend_sentinel: + for candidate in ["macosx", "qt5agg", "qt4agg", "gtk3agg", "gtk3cairo", + "tkagg", "wxagg", "agg", "cairo"]: + try: + switch_backend(candidate) + except ImportError: + continue + else: + return + + backend_name = ( + newbackend[9:] if newbackend.startswith("module://") + else "matplotlib.backends.backend_{}".format(newbackend.lower())) + + backend_mod = importlib.import_module(backend_name) + Backend = type( + "Backend", (matplotlib.backends._Backend,), vars(backend_mod)) + _log.info("Loaded backend %s version %s.", + newbackend, Backend.backend_version) + + required_framework = Backend.required_interactive_framework + current_framework = \ + matplotlib.backends._get_running_interactive_framework() + if (current_framework and required_framework + and current_framework != required_framework): + raise ImportError( + "Cannot load backend {!r} which requires the {!r} interactive " + "framework, as {!r} is currently running".format( + newbackend, required_framework, current_framework)) + + rcParams['backend'] = rcParamsDefault['backend'] = newbackend + global _backend_mod, new_figure_manager, draw_if_interactive, _show - matplotlib.use(newbackend, warn=False, force=True) - from matplotlib.backends import pylab_setup - _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup() + _backend_mod = backend_mod + new_figure_manager = Backend.new_figure_manager + draw_if_interactive = Backend.draw_if_interactive + _show = Backend.show + + # Need to keep a global reference to the backend for compatibility reasons. + # See https://github.com/matplotlib/matplotlib/issues/6092 + matplotlib.backends.backend = newbackend def show(*args, **kw): @@ -2364,6 +2406,9 @@ def _autogen_docstring(base): # to determine if they should trigger a draw. install_repl_displayhook() +# Set up the backend. +switch_backend(rcParams["backend"]) + ################# REMAINING CONTENT GENERATED BY boilerplate.py ############## diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index e3c58f48026a..3b532b91d732 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -18,6 +18,7 @@ import operator import os import re +import sys from matplotlib import cbook from matplotlib.cbook import ls_mapper @@ -242,13 +243,14 @@ def validate_fonttype(s): _validate_standard_backends = ValidateInStrings( 'backend', all_backends, ignorecase=True) +_auto_backend_sentinel = object() def validate_backend(s): - if s.startswith('module://'): - return s - else: - return _validate_standard_backends(s) + backend = ( + s if s is _auto_backend_sentinel or s.startswith("module://") + else _validate_standard_backends(s)) + return backend def validate_qt4(s): @@ -965,9 +967,8 @@ def _validate_linestyle(ls): # a map from key -> value, converter defaultParams = { - 'backend': ['Agg', validate_backend], # agg is certainly - # present - 'backend_fallback': [True, validate_bool], # agg is certainly present + 'backend': [_auto_backend_sentinel, validate_backend], + 'backend_fallback': [True, validate_bool], 'backend.qt4': [None, validate_qt4], 'backend.qt5': [None, validate_qt5], 'webagg.port': [8988, validate_int], diff --git a/lib/matplotlib/tests/test_backends_interactive.py b/lib/matplotlib/tests/test_backends_interactive.py index ccc2c31b3133..5652e18a525c 100644 --- a/lib/matplotlib/tests/test_backends_interactive.py +++ b/lib/matplotlib/tests/test_backends_interactive.py @@ -21,7 +21,6 @@ def _get_testable_interactive_backends(): for deps, backend in [ # (["cairocffi", "pgi"], "gtk3agg"), (["cairocffi", "pgi"], "gtk3cairo"), (["PyQt5"], "qt5agg"), - (["cairocffi", "PyQt5"], "qt5cairo"), (["tkinter"], "tkagg"), (["wx"], "wx"), (["wx"], "wxagg")]: @@ -43,15 +42,55 @@ def _get_testable_interactive_backends(): # early. Also, gtk3 redefines key_press_event with a different signature, so # we directly invoke it from the superclass instead. _test_script = """\ +import importlib import sys +from unittest import TestCase + +import matplotlib as mpl from matplotlib import pyplot as plt, rcParams from matplotlib.backend_bases import FigureCanvasBase rcParams.update({ "webagg.open_in_browser": False, "webagg.port_retries": 1, }) +backend = plt.rcParams["backend"].lower() +assert_equal = TestCase().assertEqual +assert_raises = TestCase().assertRaises + +if backend.endswith("agg") and not backend.startswith(("gtk3", "web")): + # Force interactive framework setup. + plt.figure() + + # Check that we cannot switch to a backend using another interactive + # framework, but can switch to a backend using cairo instead of agg, or a + # non-interactive backend. In the first case, we use tkagg as the "other" + # interactive backend as it is (essentially) guaranteed to be present. + # Moreover, don't test switching away from gtk3 as Gtk.main_level() is + # not set up at this point yet, and webagg, which uses no interactive + # framework. + + if backend != "tkagg": + with assert_raises(ImportError): + mpl.use("tkagg") + + def check_alt_backend(alt_backend): + mpl.use(alt_backend) + fig = plt.figure() + assert_equal( + type(fig.canvas).__module__, + "matplotlib.backends.backend_{}".format(alt_backend)) + + if importlib.util.find_spec("cairocffi"): + check_alt_backend(backend[:-3] + "cairo") + check_alt_backend("svg") + +mpl.use(backend) fig, ax = plt.subplots() +assert_equal( + type(fig.canvas).__module__, + "matplotlib.backends.backend_{}".format(backend)) + ax.plot([0, 1], [2, 3]) timer = fig.canvas.new_timer(1) @@ -67,10 +106,10 @@ def _get_testable_interactive_backends(): @pytest.mark.parametrize("backend", _get_testable_interactive_backends()) @pytest.mark.flaky(reruns=3) def test_interactive_backend(backend): - subprocess.run([sys.executable, "-c", _test_script], - env={**os.environ, "MPLBACKEND": backend}, - check=True, # Throw on failure. - timeout=_test_timeout) + if subprocess.run([sys.executable, "-c", _test_script], + env={**os.environ, "MPLBACKEND": backend}, + timeout=_test_timeout).returncode: + pytest.fail("The subprocess returned an error.") @pytest.mark.skipif(os.name == "nt", reason="Cannot send SIGINT on Windows.") diff --git a/matplotlibrc.template b/matplotlibrc.template index aa864b872998..889f42937ffb 100644 --- a/matplotlibrc.template +++ b/matplotlibrc.template @@ -35,9 +35,8 @@ ## referring to the module name (which must be in the PYTHONPATH) as ## 'module://my_backend'. ## -## If you omit this parameter, it will always default to "Agg", which is a -## non-interactive backend. -backend : $TEMPLATE_BACKEND +## If you omit this parameter, the backend will be determined by fallback. +#backend : Agg ## Note that this can be overridden by the environment variable ## QT_API used by Enthought Tool Suite (ETS); valid values are diff --git a/setup.py b/setup.py index 6323a0fe111b..d13406c992e5 100644 --- a/setup.py +++ b/setup.py @@ -208,10 +208,8 @@ def run(self): default_backend = setupext.options['backend'] with open('matplotlibrc.template') as fd: template = fd.read() - template = Template(template) with open('lib/matplotlib/mpl-data/matplotlibrc', 'w') as fd: - fd.write( - template.safe_substitute(TEMPLATE_BACKEND=default_backend)) + fd.write(template) # Finalize the extension modules so they can get the Numpy include # dirs From ec77ca215b2f306a9fa38e58b57587d7803015cf Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Mon, 9 Jul 2018 10:05:11 +0200 Subject: [PATCH 1085/1161] Lazy-init the OSX event loop. --- lib/matplotlib/backends/__init__.py | 3 -- src/_macosx.m | 65 ++++++++++++++++++----------- 2 files changed, 40 insertions(+), 28 deletions(-) diff --git a/lib/matplotlib/backends/__init__.py b/lib/matplotlib/backends/__init__.py index 9be23abe518b..e4e6082e7d79 100644 --- a/lib/matplotlib/backends/__init__.py +++ b/lib/matplotlib/backends/__init__.py @@ -56,9 +56,6 @@ def _get_running_interactive_framework(): except ImportError: pass else: - # Note that the NSApp event loop is also running when a non-native - # toolkit (e.g. Qt5) is active, but in that case we want to report the - # other toolkit; thus, this check comes after the other toolkits. if _macosx.event_loop_is_running(): return "macosx" if sys.platform.startswith("linux") and not os.environ.get("DISPLAY"): diff --git a/src/_macosx.m b/src/_macosx.m index 8d23fdcd43ff..416cf6a583e3 100644 --- a/src/_macosx.m +++ b/src/_macosx.m @@ -267,6 +267,39 @@ - (int)index; /* ---------------------------- Python classes ---------------------------- */ +static bool backend_inited = false; + +static void lazy_init(void) { + if (backend_inited) { + return; + } + backend_inited = true; + + NSApp = [NSApplication sharedApplication]; + + PyOS_InputHook = wait_for_stdin; + + NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init]; + WindowServerConnectionManager* connectionManager = [WindowServerConnectionManager sharedManager]; + NSWorkspace* workspace = [NSWorkspace sharedWorkspace]; + NSNotificationCenter* notificationCenter = [workspace notificationCenter]; + [notificationCenter addObserver: connectionManager + selector: @selector(launch:) + name: NSWorkspaceDidLaunchApplicationNotification + object: nil]; + [pool release]; +} + +static PyObject* +event_loop_is_running(PyObject* self) +{ + if (backend_inited) { + Py_RETURN_TRUE; + } else { + Py_RETURN_FALSE; + } +} + static CGFloat _get_device_scale(CGContextRef cr) { CGSize pixelSize = CGContextConvertSizeToDeviceSpace(cr, CGSizeMake(1, 1)); @@ -281,6 +314,7 @@ static CGFloat _get_device_scale(CGContextRef cr) static PyObject* FigureCanvas_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { + lazy_init(); FigureCanvas *self = (FigureCanvas*)type->tp_alloc(type, 0); if (!self) return NULL; self->view = [View alloc]; @@ -641,6 +675,7 @@ static CGFloat _get_device_scale(CGContextRef cr) static PyObject* FigureManager_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { + lazy_init(); Window* window = [Window alloc]; if (!window) return NULL; FigureManager *self = (FigureManager*)type->tp_alloc(type, 0); @@ -1076,6 +1111,7 @@ -(void)save_figure:(id)sender static PyObject* NavigationToolbar2_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { + lazy_init(); NavigationToolbar2Handler* handler = [NavigationToolbar2Handler alloc]; if (!handler) return NULL; NavigationToolbar2 *self = (NavigationToolbar2*)type->tp_alloc(type, 0); @@ -2310,16 +2346,6 @@ - (int)index } @end -static PyObject* -event_loop_is_running(PyObject* self) -{ - if ([NSApp isRunning]) { - Py_RETURN_TRUE; - } else { - Py_RETURN_FALSE; - } -} - static PyObject* show(PyObject* self) { @@ -2346,6 +2372,7 @@ - (int)index static PyObject* Timer_new(PyTypeObject* type, PyObject *args, PyObject *kwds) { + lazy_init(); Timer* self = (Timer*)type->tp_alloc(type, 0); if (!self) return NULL; self->timer = NULL; @@ -2572,7 +2599,7 @@ static bool verify_framework(void) {"event_loop_is_running", (PyCFunction)event_loop_is_running, METH_NOARGS, - "Return whether the NSApp main event loop is currently running." + "Return whether the OSX backend has set up the NSApp main event loop." }, {"show", (PyCFunction)show, @@ -2617,13 +2644,12 @@ static bool verify_framework(void) || PyType_Ready(&TimerType) < 0) return NULL; - NSApp = [NSApplication sharedApplication]; - if (!verify_framework()) return NULL; module = PyModule_Create(&moduledef); - if (module==NULL) return NULL; + if (!module) + return NULL; Py_INCREF(&FigureCanvasType); Py_INCREF(&FigureManagerType); @@ -2634,16 +2660,5 @@ static bool verify_framework(void) PyModule_AddObject(module, "NavigationToolbar2", (PyObject*) &NavigationToolbar2Type); PyModule_AddObject(module, "Timer", (PyObject*) &TimerType); - PyOS_InputHook = wait_for_stdin; - - NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init]; - WindowServerConnectionManager* connectionManager = [WindowServerConnectionManager sharedManager]; - NSWorkspace* workspace = [NSWorkspace sharedWorkspace]; - NSNotificationCenter* notificationCenter = [workspace notificationCenter]; - [notificationCenter addObserver: connectionManager - selector: @selector(launch:) - name: NSWorkspaceDidLaunchApplicationNotification - object: nil]; - [pool release]; return module; } From d5576e22a8e5702706313dbd707659a3de3f4b5a Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Mon, 9 Jul 2018 11:14:57 +0200 Subject: [PATCH 1086/1161] Don't fail Qt tests if bindings not installed. --- lib/matplotlib/tests/test_backend_qt4.py | 20 ++++++++++++++------ lib/matplotlib/tests/test_backend_qt5.py | 15 +++++++++++---- 2 files changed, 25 insertions(+), 10 deletions(-) diff --git a/lib/matplotlib/tests/test_backend_qt4.py b/lib/matplotlib/tests/test_backend_qt4.py index 6f7ad8ccff54..253c7768b250 100644 --- a/lib/matplotlib/tests/test_backend_qt4.py +++ b/lib/matplotlib/tests/test_backend_qt4.py @@ -1,18 +1,26 @@ import copy -from unittest.mock import Mock +from unittest import mock +import matplotlib from matplotlib import pyplot as plt from matplotlib._pylab_helpers import Gcf -import matplotlib import pytest -with matplotlib.rc_context(rc={'backend': 'Qt4Agg'}): - qt_compat = pytest.importorskip('matplotlib.backends.qt_compat') +try: + import PyQt4 +except (ImportError, RuntimeError): # RuntimeError if PyQt5 already imported. + try: + import PySide + except ImportError: + pytestmark = pytest.mark.skip("Failed to import a Qt4 binding.") + +qt_compat = pytest.importorskip('matplotlib.backends.qt_compat') +QtCore = qt_compat.QtCore + from matplotlib.backends.backend_qt4 import ( MODIFIER_KEYS, SUPER, ALT, CTRL, SHIFT) # noqa -QtCore = qt_compat.QtCore _, ControlModifier, ControlKey = MODIFIER_KEYS[CTRL] _, AltModifier, AltKey = MODIFIER_KEYS[ALT] _, SuperModifier, SuperKey = MODIFIER_KEYS[SUPER] @@ -86,7 +94,7 @@ def test_correct_key(qt_key, qt_mods, answer): """ qt_canvas = plt.figure().canvas - event = Mock() + event = mock.Mock() event.isAutoRepeat.return_value = False event.key.return_value = qt_key event.modifiers.return_value = qt_mods diff --git a/lib/matplotlib/tests/test_backend_qt5.py b/lib/matplotlib/tests/test_backend_qt5.py index df56b69a8791..478e2f2bbdde 100644 --- a/lib/matplotlib/tests/test_backend_qt5.py +++ b/lib/matplotlib/tests/test_backend_qt5.py @@ -7,13 +7,20 @@ import pytest -with matplotlib.rc_context(rc={'backend': 'Qt5Agg'}): - qt_compat = pytest.importorskip('matplotlib.backends.qt_compat', - minversion='5') +try: + import PyQt5 +except (ImportError, RuntimeError): # RuntimeError if PyQt4 already imported. + try: + import PySide2 + except ImportError: + pytestmark = pytest.mark.skip("Failed to import a Qt5 binding.") + +qt_compat = pytest.importorskip('matplotlib.backends.qt_compat') +QtCore = qt_compat.QtCore + from matplotlib.backends.backend_qt5 import ( MODIFIER_KEYS, SUPER, ALT, CTRL, SHIFT) # noqa -QtCore = qt_compat.QtCore _, ControlModifier, ControlKey = MODIFIER_KEYS[CTRL] _, AltModifier, AltKey = MODIFIER_KEYS[ALT] _, SuperModifier, SuperKey = MODIFIER_KEYS[SUPER] From d5087b2990f9f70b8889f049a998b88fe743edbd Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Mon, 6 Aug 2018 23:08:12 -0400 Subject: [PATCH 1087/1161] DOC: fix minor typo in figure example --- lib/matplotlib/figure.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index 1f41fa4b755a..487cc812d2f8 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -1165,7 +1165,7 @@ def add_axes(self, *args, **kwargs): Some simple examples:: rect = l, b, w, h - fig.plt.figure(1) + fig = plt.figure(1) fig.add_axes(rect,label=label1) fig.add_axes(rect,label=label2) fig.add_axes(rect, frameon=False, facecolor='g') From e7dab18f7aa181b4271f3b416276e6f2ac23a219 Mon Sep 17 00:00:00 2001 From: ImportanceOfBeingErnest <elch.rz@ruetz-online.de> Date: Tue, 7 Aug 2018 02:07:38 +0200 Subject: [PATCH 1088/1161] remove multicolumns from examples --- doc/_static/mpl.css | 4 ++++ examples/color/colormap_reference.py | 19 ++++++++++--------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/doc/_static/mpl.css b/doc/_static/mpl.css index 93a7f84518f9..e649b83342f0 100644 --- a/doc/_static/mpl.css +++ b/doc/_static/mpl.css @@ -1059,6 +1059,10 @@ div#gallery.section, div#tutorials.section { overflow: hidden; } +.sphx-glr-multi-img{ + max-width: 99% !important; +} + .sphx-glr-thumbcontainer { border: solid #d6d6d6 1px !important; text-align: center !important; diff --git a/examples/color/colormap_reference.py b/examples/color/colormap_reference.py index 759e12609e9b..afb578ffad1b 100644 --- a/examples/color/colormap_reference.py +++ b/examples/color/colormap_reference.py @@ -40,22 +40,23 @@ 'gist_rainbow', 'rainbow', 'jet', 'nipy_spectral', 'gist_ncar'])] -nrows = max(len(cmap_list) for cmap_category, cmap_list in cmaps) gradient = np.linspace(0, 1, 256) gradient = np.vstack((gradient, gradient)) -def plot_color_gradients(cmap_category, cmap_list, nrows): - fig, axes = plt.subplots(nrows=nrows) - fig.subplots_adjust(top=0.95, bottom=0.01, left=0.2, right=0.99) +def plot_color_gradients(cmap_category, cmap_list): + # Create figure and adjust figure height to number of colormaps + nrows = len(cmap_list) + figh = 0.35 + 0.15 + (nrows + (nrows-1)*0.1)*0.22 + fig, axes = plt.subplots(nrows=nrows, figsize=(6.4, figh)) + fig.subplots_adjust(top=1-.35/figh, bottom=.15/figh, left=0.2, right=0.99) + axes[0].set_title(cmap_category + ' colormaps', fontsize=14) for ax, name in zip(axes, cmap_list): ax.imshow(gradient, aspect='auto', cmap=plt.get_cmap(name)) - pos = ax.get_position().bounds - x_text = pos[0] - 0.01 - y_text = pos[1] + pos[3]/2. - fig.text(x_text, y_text, name, va='center', ha='right', fontsize=10) + ax.text(-.01, .5, name, va='center', ha='right', fontsize=10, + transform=ax.transAxes) # Turn off *all* ticks & spines, not just the ones with colormaps. for ax in axes: @@ -63,7 +64,7 @@ def plot_color_gradients(cmap_category, cmap_list, nrows): for cmap_category, cmap_list in cmaps: - plot_color_gradients(cmap_category, cmap_list, nrows) + plot_color_gradients(cmap_category, cmap_list) plt.show() From 7ccf9c7f8ef5d723a9bb108c64e6e42dcbf171b0 Mon Sep 17 00:00:00 2001 From: fredrik-1 <sandquist.fredrik@gmail.com> Date: Wed, 13 Jun 2018 21:37:57 +0200 Subject: [PATCH 1089/1161] added stale to axes facecolor --- lib/matplotlib/axes/_base.py | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index f1e1116a5a58..01d6add25184 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -1121,6 +1121,7 @@ def set_facecolor(self, color): color : color """ self._facecolor = color + self.stale = True return self.patch.set_facecolor(color) set_fc = set_facecolor From 22508d8a455d48307665e4023acff5bb20b95485 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Mon, 6 Aug 2018 23:45:01 -0400 Subject: [PATCH 1090/1161] TST: pass force to `mpl.use` To actually make it change backends. This change is required because I reverted some of the more aggressive changes to `mpl.use` (to effectively default to force=True). --- lib/matplotlib/tests/test_backends_interactive.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/tests/test_backends_interactive.py b/lib/matplotlib/tests/test_backends_interactive.py index 5652e18a525c..f7f520fd895b 100644 --- a/lib/matplotlib/tests/test_backends_interactive.py +++ b/lib/matplotlib/tests/test_backends_interactive.py @@ -71,10 +71,10 @@ def _get_testable_interactive_backends(): if backend != "tkagg": with assert_raises(ImportError): - mpl.use("tkagg") + mpl.use("tkagg", force=True) def check_alt_backend(alt_backend): - mpl.use(alt_backend) + mpl.use(alt_backend, force=True) fig = plt.figure() assert_equal( type(fig.canvas).__module__, @@ -84,7 +84,7 @@ def check_alt_backend(alt_backend): check_alt_backend(backend[:-3] + "cairo") check_alt_backend("svg") -mpl.use(backend) +mpl.use(backend, force=True) fig, ax = plt.subplots() assert_equal( From 0ccc19e5a1ec900a06ae2193a47bc68584317a0b Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Tue, 7 Aug 2018 22:08:22 -0400 Subject: [PATCH 1091/1161] TST: skip wx backend It seems to have a bug where `plt.show` hangs when the window is closed. --- lib/matplotlib/tests/test_backends_interactive.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/tests/test_backends_interactive.py b/lib/matplotlib/tests/test_backends_interactive.py index f7f520fd895b..d50bed1d3642 100644 --- a/lib/matplotlib/tests/test_backends_interactive.py +++ b/lib/matplotlib/tests/test_backends_interactive.py @@ -22,8 +22,9 @@ def _get_testable_interactive_backends(): (["cairocffi", "pgi"], "gtk3cairo"), (["PyQt5"], "qt5agg"), (["tkinter"], "tkagg"), - (["wx"], "wx"), - (["wx"], "wxagg")]: + # (["wx"], "wx"), + (["wx"], "wxagg") + ]: reason = None if not os.environ.get("DISPLAY"): reason = "No $DISPLAY" From b4529af2e7cd107563c6b016445b8a8436442259 Mon Sep 17 00:00:00 2001 From: Nelle Varoquaux <nelle.varoquaux@gmail.com> Date: Wed, 8 Aug 2018 09:52:49 -0700 Subject: [PATCH 1092/1161] DOC documented more of the gridspec options --- lib/matplotlib/gridspec.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/lib/matplotlib/gridspec.py b/lib/matplotlib/gridspec.py index 9e4faa2b98a9..cd5bf292e1f9 100644 --- a/lib/matplotlib/gridspec.py +++ b/lib/matplotlib/gridspec.py @@ -196,6 +196,28 @@ def __init__(self, nrows, ncols, figure=None, ncols : int Number or columns in grid. + figure : ~.figure.Figure + + left : float + The left side of the subplots of the figure. + + right : float + The right side of the subplots of the figure. + + bottom : float + The bottom of the subplots of the figure. + + top : float + The top of the subplots of the figure. + + wspace : float + The amount of width reserved for space between subplots, + expressed as a fraction of the average axis width. + + hspace : float + The amount of height reserved for space between subplots, + expressed as a fraction of the average axis height. + Notes ----- See `~.figure.SubplotParams` for descriptions of the layout parameters. From b924709cadd6dfe56a11dd64b4d574843a926874 Mon Sep 17 00:00:00 2001 From: Nelle Varoquaux <nelle.varoquaux@gmail.com> Date: Wed, 8 Aug 2018 10:35:50 -0700 Subject: [PATCH 1093/1161] DOC Better description of left, right, top, bottom --- lib/matplotlib/gridspec.py | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/lib/matplotlib/gridspec.py b/lib/matplotlib/gridspec.py index cd5bf292e1f9..374ea6f76e17 100644 --- a/lib/matplotlib/gridspec.py +++ b/lib/matplotlib/gridspec.py @@ -196,19 +196,12 @@ def __init__(self, nrows, ncols, figure=None, ncols : int Number or columns in grid. - figure : ~.figure.Figure + figure : ~.figure.Figure, optional - left : float - The left side of the subplots of the figure. - - right : float - The right side of the subplots of the figure. - - bottom : float - The bottom of the subplots of the figure. - - top : float - The top of the subplots of the figure. + left, right, top, bottom : float + Extent of the subplots as a fraction of figure width. + Left cannot be larger than right, and bottom cannot be larger than + top. wspace : float The amount of width reserved for space between subplots, From 1cd174e3a44d878baf5f0111b4dc1eac31571ca3 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Wed, 8 Aug 2018 12:26:23 -0700 Subject: [PATCH 1094/1161] Small edit to take into account height as well --- lib/matplotlib/gridspec.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/gridspec.py b/lib/matplotlib/gridspec.py index 374ea6f76e17..9afe44acd5d1 100644 --- a/lib/matplotlib/gridspec.py +++ b/lib/matplotlib/gridspec.py @@ -199,7 +199,7 @@ def __init__(self, nrows, ncols, figure=None, figure : ~.figure.Figure, optional left, right, top, bottom : float - Extent of the subplots as a fraction of figure width. + Extent of the subplots as a fraction of figure width or height. Left cannot be larger than right, and bottom cannot be larger than top. From 29dd9d42b330bfdd3eaf355d7402715c623d3aef Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Wed, 8 Aug 2018 16:21:00 -0400 Subject: [PATCH 1095/1161] TST: put back wx and qt5cairo tests --- lib/matplotlib/tests/test_backends_interactive.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/tests/test_backends_interactive.py b/lib/matplotlib/tests/test_backends_interactive.py index d50bed1d3642..10458dddf9cd 100644 --- a/lib/matplotlib/tests/test_backends_interactive.py +++ b/lib/matplotlib/tests/test_backends_interactive.py @@ -21,8 +21,9 @@ def _get_testable_interactive_backends(): for deps, backend in [ # (["cairocffi", "pgi"], "gtk3agg"), (["cairocffi", "pgi"], "gtk3cairo"), (["PyQt5"], "qt5agg"), + (["PyQt5", "cariocffi"], "qt5cairo"), (["tkinter"], "tkagg"), - # (["wx"], "wx"), + (["wx"], "wx"), (["wx"], "wxagg") ]: reason = None From b693532b863898c76b09419a26f72a5352ed3a41 Mon Sep 17 00:00:00 2001 From: fredrik-1 <sandquist.fredrik@gmail.com> Date: Thu, 9 Aug 2018 11:06:54 +0200 Subject: [PATCH 1096/1161] func animation warning changes --- lib/matplotlib/animation.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/animation.py b/lib/matplotlib/animation.py index 84d3b6d14db0..9e64e9de4c35 100644 --- a/lib/matplotlib/animation.py +++ b/lib/matplotlib/animation.py @@ -1725,11 +1725,13 @@ def _draw_frame(self, framedata): # Call the func with framedata and args. If blitting is desired, # func needs to return a sequence of any artists that were modified. - self._drawn_artists = sorted(self._func(framedata, *self._args), - key=lambda x: x.get_zorder()) + self._drawn_artists = self._func(framedata, *self._args) if self._blit: if self._drawn_artists is None: raise RuntimeError('The animation function must return a ' 'sequence of Artist objects.') + self._drawn_artists = sorted(self._drawn_artists, + key=lambda x: x.get_zorder()) + for a in self._drawn_artists: a.set_animated(self._blit) From 68fe66d02c2ad78f69eed99b75b541bc228b38cc Mon Sep 17 00:00:00 2001 From: fredrik-1 <sandquist.fredrik@gmail.com> Date: Thu, 9 Aug 2018 11:48:31 +0200 Subject: [PATCH 1097/1161] animation api changes --- doc/_templates/autosummary_inher.rst | 24 ++++++++++++++++++++++++ doc/api/animation_api.rst | 14 ++++++++++++-- 2 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 doc/_templates/autosummary_inher.rst diff --git a/doc/_templates/autosummary_inher.rst b/doc/_templates/autosummary_inher.rst new file mode 100644 index 000000000000..2c54bc6a0d02 --- /dev/null +++ b/doc/_templates/autosummary_inher.rst @@ -0,0 +1,24 @@ +{{ fullname | escape | underline}} + + +.. currentmodule:: {{ module }} + +.. auto{{ objtype }}:: {{ objname }} + :inherited-members: + :show-inheritance: + +{% if objtype in ['class', 'method', 'function'] %} +{% if objname in ['AxesGrid', 'Scalable', 'HostAxes', 'FloatingAxes', + 'ParasiteAxesAuxTrans', 'ParasiteAxes'] %} +.. Filter out the above aliases to other classes, as sphinx gallery + creates no example file for those (sphinx-gallery/sphinx-gallery#365) + +{% else %} +.. include:: {{module}}.{{objname}}.examples + +.. raw:: html + + <div class="clearer"></div> + +{% endif %} +{% endif %} \ No newline at end of file diff --git a/doc/api/animation_api.rst b/doc/api/animation_api.rst index 8fd09486c064..02c4f3e64999 100644 --- a/doc/api/animation_api.rst +++ b/doc/api/animation_api.rst @@ -19,6 +19,7 @@ The easiest way to make a live animation in matplotlib is to use one of the .. autosummary:: :toctree: _as_gen + :template: autosummary_inher.rst :nosignatures: FuncAnimation @@ -163,6 +164,7 @@ all data in memory. .. autosummary:: :toctree: _as_gen + :template: autosummary_inher.rst :nosignatures: PillowWriter @@ -173,10 +175,11 @@ on all systems. .. autosummary:: :toctree: _as_gen + :template: autosummary_inher.rst :nosignatures: FFMpegWriter - ImageMagickFileWriter + ImageMagickWriter AVConvWriter The file-based writers save temporary files for each frame which are stitched @@ -185,10 +188,11 @@ debug. .. autosummary:: :toctree: _as_gen + :template: autosummary_inher.rst :nosignatures: FFMpegFileWriter - ImageMagickWriter + ImageMagickFileWriter AVConvFileWriter Fundamentally, a `MovieWriter` provides a way to grab sequential frames @@ -237,6 +241,7 @@ Animation Base Classes .. autosummary:: :toctree: _as_gen + :template: autosummary_inher.rst :nosignatures: Animation @@ -251,6 +256,7 @@ writer and the class to allow a string to be passed to .. autosummary:: :toctree: _as_gen + :template: autosummary_inher.rst :nosignatures: MovieWriterRegistry @@ -262,6 +268,7 @@ To reduce code duplication base classes .. autosummary:: :toctree: _as_gen + :template: autosummary_inher.rst :nosignatures: AbstractMovieWriter @@ -272,6 +279,7 @@ and mixins .. autosummary:: :toctree: _as_gen + :template: autosummary_inher.rst :nosignatures: AVConvBase @@ -287,6 +295,8 @@ Inheritance Diagrams .. inheritance-diagram:: matplotlib.animation.FuncAnimation matplotlib.animation.ArtistAnimation :private-bases: + :parts: 1 .. inheritance-diagram:: matplotlib.animation.AVConvFileWriter matplotlib.animation.AVConvWriter matplotlib.animation.FFMpegFileWriter matplotlib.animation.FFMpegWriter matplotlib.animation.ImageMagickFileWriter matplotlib.animation.ImageMagickWriter :private-bases: + :parts: 1 From 97683a58a3b0e94604ccc6380770f07e15c9c27f Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Fri, 10 Aug 2018 00:09:16 -0400 Subject: [PATCH 1098/1161] DOC: add whats new --- doc/users/whats_new.rst | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/doc/users/whats_new.rst b/doc/users/whats_new.rst index 00dade9beb59..4f89851070b5 100644 --- a/doc/users/whats_new.rst +++ b/doc/users/whats_new.rst @@ -228,6 +228,17 @@ This new method may be useful for adding artists to figures without axes or to easily position static elements in figure coordinates. +Improved default backend selection +---------------------------------- + +The default backend no longer must be set as part of the build +process. Instead, at run time, the builtin backends are tried in +sequence until one of them imports. + +Headless linux servers (identified by the DISPLAY env not being defined) +will not select a GUI backend. + + ================== Previous Whats New From 2ce33dda13fd434f86575f00a0e90a6c264c638e Mon Sep 17 00:00:00 2001 From: fredrik-1 <sandquist.fredrik@gmail.com> Date: Thu, 9 Aug 2018 15:02:38 +0200 Subject: [PATCH 1099/1161] adding show inheritance to autosummary template --- doc/_templates/autosummary.rst | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/doc/_templates/autosummary.rst b/doc/_templates/autosummary.rst index 8991f3c9ebc4..7d8860edd311 100644 --- a/doc/_templates/autosummary.rst +++ b/doc/_templates/autosummary.rst @@ -3,14 +3,22 @@ .. currentmodule:: {{ module }} + +{% if objtype in ['class'] %} +.. auto{{ objtype }}:: {{ objname }} + :show-inheritance: + +{% else %} .. auto{{ objtype }}:: {{ objname }} +{% endif %} + {% if objtype in ['class', 'method', 'function'] %} {% if objname in ['AxesGrid', 'Scalable', 'HostAxes', 'FloatingAxes', 'ParasiteAxesAuxTrans', 'ParasiteAxes'] %} .. Filter out the above aliases to other classes, as sphinx gallery creates no example file for those (sphinx-gallery/sphinx-gallery#365) - + {% else %} .. include:: {{module}}.{{objname}}.examples From 1e0065583635bcc87402cc0e83d2081fd14c2af2 Mon Sep 17 00:00:00 2001 From: fredrik-1 <sandquist.fredrik@gmail.com> Date: Thu, 9 Aug 2018 09:26:40 +0200 Subject: [PATCH 1100/1161] changed warning in animation --- lib/matplotlib/animation.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/animation.py b/lib/matplotlib/animation.py index 84d3b6d14db0..3c6ee9ae07d5 100644 --- a/lib/matplotlib/animation.py +++ b/lib/matplotlib/animation.py @@ -1124,7 +1124,8 @@ class to use, such as 'ffmpeg'. If ``None``, defaults to extra_args=extra_args, metadata=metadata) else: - _log.warning("MovieWriter %s unavailable.", writer) + _log.warning("MovieWriter {} unavailable. Trying to use {} " + "instead.".format(writer, writers.list()[0])) try: writer = writers[writers.list()[0]](fps, codec, bitrate, From 812427043932244ff9829c927ed958b535efbaa7 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade <quantum.analyst@gmail.com> Date: Sat, 11 Aug 2018 12:18:32 -0400 Subject: [PATCH 1101/1161] Remove unnecessary use of nose. Fixes #11842. --- lib/matplotlib/tests/test_text.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/tests/test_text.py b/lib/matplotlib/tests/test_text.py index 44407d70b3fc..a001aadd39a3 100644 --- a/lib/matplotlib/tests/test_text.py +++ b/lib/matplotlib/tests/test_text.py @@ -508,6 +508,5 @@ def test_annotation_update(): fig.tight_layout() extent2 = an.get_window_extent(fig.canvas.get_renderer()) - np.testing.assert_raises(AssertionError, np.testing.assert_allclose, - extent1.get_points(), extent2.get_points(), - rtol=1e-6) + assert not np.allclose(extent1.get_points(), extent2.get_points(), + rtol=1e-6) From 296516cebad1dc0902a567875ec88da531fc5b53 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Sat, 11 Aug 2018 16:49:37 -0400 Subject: [PATCH 1102/1161] DOC: update github stats --- doc/users/github_stats.rst | 847 +++++++++++++++++++++++++++++++------ 1 file changed, 711 insertions(+), 136 deletions(-) diff --git a/doc/users/github_stats.rst b/doc/users/github_stats.rst index 04ef8df2d36b..fefb7f621445 100644 --- a/doc/users/github_stats.rst +++ b/doc/users/github_stats.rst @@ -3,176 +3,751 @@ GitHub Stats ============ -GitHub stats for 2018/03/05 - 2018/08/09 (tag: v2.2.0) +GitHub stats for 2018/03/05 - 2018/08/11 (tag: v2.2.0) These lists are automatically generated, and may be incomplete or contain duplicates. -We closed 27 issues and merged 101 pull requests. -The full list can be seen `on GitHub <https://github.com/matplotlib/matplotlib/milestone/v2.2.3>`__ +We closed 91 issues and merged 511 pull requests. +The full list can be seen `on GitHub <https://github.com/matplotlib/matplotlib/milestone/v3.0>`__ -The following 28 authors contributed 347 commits. +The following 129 authors contributed 2673 commits. * 816-8055 +* Adrien F. Vincent +* akrherz +* Akshay Nair +* Alexander Harnisch +* AlexCav +* Allen Downey * Andreas Gustafsson * Andrew Nelson * Antony Lee +* aparamon +* Avinash Sharma +* Bastian Bechtold +* Ben * Ben Root +* Boaz Mohar +* Brendan Zhang +* cclauss +* ch3rn0v * Charles Ruan +* Chris Holdgraf +* cldssty +* Cody Scot * dahlbaek +* daronjp +* David Brooks * David Stansby -* DietmarSchwertberger +* Derek Tropf +* Dietmar Schwertberger +* Elijah Schutz * Elizabeth Seiver * Elliott Sales de Andrade * Eric Firing +* Eric Galloway +* Eric Wang (Mac) +* Eric Wieser +* Ethan Ligon * Federico Ariza +* Franco Vaccari * fredrik-1 +* Gauravjeet +* Graeme Smecher +* gregorybchris +* Hajoon Choi * hannah -* Importance of Being Ernest +* Harnesser +* Harshal Prakash Patankar +* Helder +* HHest +* Hubert Holin +* Ida Hjorth * ImportanceOfBeingErnest +* Jae-Joon Lee +* Jan Koehler +* Jason Neal +* jdollichon +* JelsB * Jens Hedegaard Nielsen +* Jerry Lui +* jerrylui803 * Jody Klymak * joelostblom +* Johnny Gill +* Joseph Fox-Rabinovitz +* Joseph Martinot-Lagarde * Jouni K. Seppänen +* Katrin Leinweber +* Kevin Davies +* Kieran Ramos +* Kjell Le +* Kyle Sunden +* lboogaard +* Leo Singer +* Lionel Miller +* luz.paz +* Manish Devgan +* Martin Spacek +* Matthew Bell +* Matti Picus +* Maximilian Maahn +* Maximilian Nöthe * Michael Droettboom +* Mitar +* Nathan Goldbaum +* Nathaniel M. Beaver * Nelle Varoquaux +* Nick Forrington +* Nick Garvey +* Nik Quibin +* ob +* Olivier +* Osarumwense +* Paramonov Andrey +* Pastafarianist +* Paul Ganssle * Paul Hobson * Paul Ivanov +* Paul Seyfert +* pdubcali +* Peter Mackenzie-Helnwein +* Peter Würtz +* pharshalp +* Pranav Garg * Ryan May +* Salinder Sidhu +* Sam Vaughan +* Sourav Singh +* Steven Tilley +* stone +* stonebig +* Taehoon Lee +* Tanuj +* Taras +* Taras Kuzyo +* TD22057 +* terranjp * Thomas A Caswell +* Thomas Levine +* Thomas Spura +* thuvejan * Tim Hoffmann +* Trish Gillett-Kawamoto +* WANG Aiyong +* y1thof +* Zac Hatfield-Dodds +* zhangeugenia +* ZhaoZhonglun1991 +* zhoubecky +* Андрей Парамонов GitHub issues and pull requests: -Pull Requests (101): +Pull Requests (511): -* :ghpull:`11835`: Backport PR #11831 on branch v2.2.x -* :ghpull:`11831`: animation api documentation changes -* :ghpull:`11834`: Backport PR #11824 on branch v2.2.x -* :ghpull:`11824`: facecolor stale missing -* :ghpull:`11827`: FIX: correct macro logic in file_compat.h -* :ghpull:`11817`: Merge pull request #11533 from tacaswell/update_for_py37 -* :ghpull:`11533`: MNT: updates for python 3.7 -* :ghpull:`11813`: Backport axes grid work -* :ghpull:`11808`: updates error message to run pytest instead of tests.py standalone -* :ghpull:`11812`: Final backports -* :ghpull:`11811`: Backport: resolve conflict to get this into v2.2.3 -* :ghpull:`9993`: Rewrite and greatly simplify qt_compat.py. -* :ghpull:`11786`: Fix collections import warnings for Python 3.7 -* :ghpull:`11733`: MAINT: use collections.abc for 3.7 -* :ghpull:`11697`: Backport PR #11694 on branch v2.2.x -* :ghpull:`11694`: moving toolmanager initialization up before toolbar -* :ghpull:`11671`: refresh the github stats -* :ghpull:`11669`: Fix invalid escape sequences on branch v2.2.x -* :ghpull:`11638`: Backport PR #11636 on branch v2.2.x -* :ghpull:`11634`: Backport #11624 -* :ghpull:`11636`: Don't flush file object opened for reading -* :ghpull:`11624`: Don't use Popen(..., shell=True). -* :ghpull:`11599`: Backport PR #11559 on branch v2.2.x -* :ghpull:`11598`: Backport PR #10915 on branch v2.2.x -* :ghpull:`11588`: DOC: warn if user is using constrained layout and use subplots_adjust -* :ghpull:`11580`: Use plt.subplots() -* :ghpull:`11574`: Backport PR #11565 on branch v2.2.x -* :ghpull:`11565`: Update docstring of pyplot.matshow() -* :ghpull:`11559`: FIX: Toolbar disappears in TkAgg if window if resized -* :ghpull:`11567`: Backport PR #11500 on branch v2.2.x -* :ghpull:`11500`: Fix shims with PyQt5 5.11 -* :ghpull:`11060`: Fix inset_axes + doc -* :ghpull:`11535`: Backport PR #11517 on branch v2.2.x -* :ghpull:`11517`: Update legend loc default value in docstring -* :ghpull:`11489`: Backport PR #11485 on branch v2.2.x -* :ghpull:`11485`: Use null character instead of recasting NULL to char -* :ghpull:`11419`: Backport PR #11409: plt.box_bug_fix -* :ghpull:`11379`: Backport PR #11363 on branch v2.2.x -* :ghpull:`11409`: plt.box_bug_fix -* :ghpull:`11407`: Properly position markers in step plots. -* :ghpull:`11330`: FIX: Don't let constrained_layout counter overflow -* :ghpull:`11363`: Improve docstring of Axes.pcolorfast -* :ghpull:`11354`: Backport PR #11344 on branch v2.2.x -* :ghpull:`11344`: Improve docstring of Axes.pcolormesh -* :ghpull:`11336`: Use raw string literals for docstrings with escapes -* :ghpull:`11334`: Backport pull request #10858 -* :ghpull:`11333`: Backport #10806 to v2.2.x -* :ghpull:`11312`: Replace :ref:``sphx_glr_...`` by :doc:``/...``. -* :ghpull:`11327`: Backport PR #11317 on branch v2.2.x -* :ghpull:`11317`: Improve docstring of Axes.pcolor -* :ghpull:`11262`: Use dummy_threading if threading not available -* :ghpull:`11260`: Backport PR #11189 on branch v2.2.x -* :ghpull:`11047`: FIX: image respect norm limits w/ None -* :ghpull:`11173`: Define ``__repr__``, not ``__str__`` for transforms. -* :ghpull:`11189`: FIX: remove recursive call to str in transform repr -* :ghpull:`11184`: Manual backport #11035 -* :ghpull:`11035`: FIX: constrained_layout and repeated calls to suptitle -* :ghpull:`11171`: FIX: str method for SymmetricalLogTransform -* :ghpull:`11162`: Backport PR #11161 on branch v2.2.x -* :ghpull:`11161`: DOC: small-doc-improvements1 -* :ghpull:`11079`: Resurrecting axes_grid1 documentation -* :ghpull:`11105`: When drawing markers, don't set the GraphicsContext alpha. -* :ghpull:`10881`: FIX: make un-used ticks not be visible -* :ghpull:`10968`: Improve docstring of contour -* :ghpull:`11120`: Backport PR #10981 on branch v2.2.x -* :ghpull:`10981`: Document change of label visibility on shared axes -* :ghpull:`11114`: Backport PR #10792 on branch v2.2.x -* :ghpull:`10792`: Fixed not being able to set vertical/horizontal alignments in polar graphs -* :ghpull:`11111`: Pin sphinx!=1.7.3 on v2.2.x -* :ghpull:`11107`: Pin sphinx to 1.7.2 to unbreak the doc build. -* :ghpull:`11090`: Clean docstring of CountourSet -* :ghpull:`11084`: Backport PR #10899: Update cycler docstrings and favor kwarg over two… -* :ghpull:`10899`: Update cycler docstrings and favor kwarg over two-args form -* :ghpull:`11071`: Add note about hist2d resetting axis limits -* :ghpull:`11067`: Remove unnecessary shebang. -* :ghpull:`11054`: Backport PR #11052 on branch v2.2.x -* :ghpull:`11052`: Fix CircleCI build. -* :ghpull:`11023`: Backport PR #11022 on branch v2.2.x -* :ghpull:`11022`: MNT: remove distutils.sysconfig import from toplevel module -* :ghpull:`11011`: Backport PR #11002 on branch v2.2.x -* :ghpull:`11002`: Fix logic error in ScalarMappable.to_rgba -* :ghpull:`10952`: Backport PR #10951 on branch v2.2.x -* :ghpull:`10979`: Backport PR #10978 on branch v2.2.x -* :ghpull:`10978`: Remove to-be-deprecated NumPy imports. -* :ghpull:`10951`: fix wx rubberband: correctly ensure x0<=x1 -* :ghpull:`10937`: Backport PR #10935 on branch v2.2.x -* :ghpull:`10935`: FIX: Postscript allow empty markers -* :ghpull:`10858`: FIX: ioerror font cache, second try -* :ghpull:`10929`: Fix rctemplate tests when user config file exists. -* :ghpull:`10927`: Backport PR #10919 on branch v2.2.x -* :ghpull:`10919`: Fix overflow when resizing path-to-string buffer. -* :ghpull:`10877`: Fix invalid escape sequence in docstring. -* :ghpull:`10868`: Backport PR #10867 on branch v2.2.x -* :ghpull:`10867`: MNT: move bz2 back to function level -* :ghpull:`10860`: Backport PR #10856 on branch v2.2.x -* :ghpull:`10856`: Fix xkcd style garbage collection. -* :ghpull:`10853`: Backport PR #10662 on branch v2.2.x -* :ghpull:`10662`: Update docs on Axes.set_prop_cycle -* :ghpull:`10833`: Propagate marker antialias setting to GraphicsContext. -* :ghpull:`10806`: MNT: catch more illegal '\' -* :ghpull:`10595`: Improve Figure docstrings +* :ghpull:`11843`: Remove unnecessary use of nose. +* :ghpull:`11600`: backend switching -- don't create a public fallback API +* :ghpull:`11833`: adding show inheritance to autosummary template +* :ghpull:`11828`: changed warning in animation +* :ghpull:`11829`: func animation warning changes +* :ghpull:`11826`: DOC documented more of the gridspec options +* :ghpull:`11818`: Merge v2.2.x +* :ghpull:`11821`: DOC: remove multicolumns from examples +* :ghpull:`11819`: DOC: fix minor typo in figure example +* :ghpull:`11722`: Remove unnecessary hacks from setup.py. +* :ghpull:`11802`: gridspec tutorial edits +* :ghpull:`11801`: update annotations +* :ghpull:`11734`: Small cleanups to backend_agg. +* :ghpull:`11785`: Add missing API changes +* :ghpull:`11788`: Fix DeprecationWarning on LocatableAxes +* :ghpull:`11558`: Added xkcd Style for Markers (plot only) +* :ghpull:`11755`: Add description for metadata argument of savefig +* :ghpull:`11703`: FIX: make update-from also set the original face/edgecolor +* :ghpull:`11765`: DOC: reorder examples and fix top level heading +* :ghpull:`11724`: Fix cairo's image inversion and alpha misapplication. +* :ghpull:`11726`: Consolidate agg-buffer examples. +* :ghpull:`11754`: FIX: update spine positions before get extents +* :ghpull:`11779`: Remove unused attribute in tests. +* :ghpull:`11770`: Correct errors in documentation +* :ghpull:`11778`: Unpin pandas in the CI. +* :ghpull:`11772`: Clarifying an error message +* :ghpull:`11760`: Switch grid documentation to numpydoc style +* :ghpull:`11705`: Suppress/fix some test warnings. +* :ghpull:`11763`: Pin OSX CI to numpy<1.15 to unbreak the build. +* :ghpull:`11767`: Add tolerance to csd frequency test +* :ghpull:`11757`: PGF backend output text color even if black +* :ghpull:`11751`: Remove the unused 'verbose' option from setupext. +* :ghpull:`9084`: Require calling a _BoundMethodProxy to get the underlying callable. +* :ghpull:`11752`: Fix section level of Previous Whats New +* :ghpull:`10513`: Replace most uses of getfilesystemencoding by os.fs{en,de}code. +* :ghpull:`11739`: fix tight_layout bug #11737 +* :ghpull:`11744`: minor doc update on axes_grid1's inset_axes +* :ghpull:`11729`: Pass 'figure' as kwarg to FigureCanvasQt5Agg super __init__. +* :ghpull:`11736`: Remove unused needs_sphinx marker; move importorskip to toplevel. +* :ghpull:`11731`: Directly get the size of the renderer buffer from the renderer. +* :ghpull:`11717`: DOC: fix broken link in inset-locator example +* :ghpull:`11723`: Start work on making colormaps picklable. +* :ghpull:`11721`: Remove some references to colorConverter. +* :ghpull:`11713`: Don't assume cwd in test_ipynb. +* :ghpull:`11026`: ENH add an inset_axes to the axes class +* :ghpull:`11712`: Fix drawing on qt+retina. +* :ghpull:`11714`: docstring for Figure.tight_layout don't include renderer parameter +* :ghpull:`8951`: Let QPaintEvent tell us what region to repaint. +* :ghpull:`11234`: Add fig.add_artist method +* :ghpull:`11706`: Remove unused private method. +* :ghpull:`11637`: Split API changes into individual pages +* :ghpull:`10403`: Deprecate LocatableAxes from toolkits +* :ghpull:`11699`: Dedent overindented rst bullet lists. +* :ghpull:`11701`: Use skipif instead of xfail when test dependencies are missing. +* :ghpull:`11700`: Don't use pytest -rw now that pytest-warnings is builtin. +* :ghpull:`11696`: Don't force backend in toolmanager example. +* :ghpull:`11690`: Avoid using private APIs in examples. +* :ghpull:`11684`: Style +* :ghpull:`11666`: TESTS: Increase tolerance for aarch64 tests +* :ghpull:`11680`: Boring style fixes. +* :ghpull:`11678`: Use super() instead of manually fetching supermethods for parasite axes. +* :ghpull:`11676`: Remove unused C++ code. +* :ghpull:`11010`: ENH: Add gridspec method to figure, and subplotspecs +* :ghpull:`11672`: Add comment re: use of lru_cache in PsfontsMap. +* :ghpull:`11674`: Boring style fixes. +* :ghpull:`10954`: Cache various dviread constructs globally. +* :ghpull:`9150`: Don't update style-blacklisted rcparams in rc_* functions +* :ghpull:`10936`: Simplify tkagg C extension. +* :ghpull:`11378`: SVG Backend gouraud_triangle Correction +* :ghpull:`11383`: FIX: Improve *c* (color) kwarg checking in scatter and the related exceptions +* :ghpull:`11627`: FIX: CL avoid fully collapsed axes +* :ghpull:`11504`: Bump pgi requirement to 0.0.11.2. +* :ghpull:`11640`: Fix barplot color if none and alpha is set +* :ghpull:`11443`: changed paths in kwdocs +* :ghpull:`11626`: Minor docstring fixes +* :ghpull:`11631`: DOC: better tight_layout error handling +* :ghpull:`11651`: Remove unused imports in examples +* :ghpull:`11633`: Clean up next api_changes +* :ghpull:`11643`: Fix deprecation messages. +* :ghpull:`9223`: Set norm to log if bins=='log' in hexbin +* :ghpull:`11622`: FIX: be forgiving about the event for enterEvent not having a pos +* :ghpull:`11581`: backend switching. +* :ghpull:`11616`: Fix some doctest issues +* :ghpull:`10872`: Cleanup _plot_args_replacer logic +* :ghpull:`11617`: Clean up what's new +* :ghpull:`11610`: FIX: let colorbar extends work for PowerNorm +* :ghpull:`11615`: Revert glyph warnings +* :ghpull:`11614`: CI: don't run tox to test pytz +* :ghpull:`11603`: Doc merge up +* :ghpull:`11613`: Make flake8 exceptions explicit +* :ghpull:`11611`: Fix css for parameter types +* :ghpull:`10001`: MAINT/BUG: Don't use 5-sided quadrilaterals in Axes3D.plot_surface +* :ghpull:`10234`: PowerNorm: do not clip negative values +* :ghpull:`11398`: Simplify retrieval of cache and config directories +* :ghpull:`10682`: ENH have ax.get_tightbbox have a bbox around all artists attached to axes. +* :ghpull:`11590`: Don't associate Wx timers with the parent frame. +* :ghpull:`10245`: Cache paths of fonts shipped with mpl relative to the mpl data path. +* :ghpull:`11381`: Deprecate text.latex.unicode. +* :ghpull:`11601`: FIX: subplots don't mutate kwargs passed by user. +* :ghpull:`11609`: Remove _macosx.NavigationToolbar. +* :ghpull:`11608`: Remove some conditional branches in examples for wx<4. +* :ghpull:`11604`: TST: Place animation files in a temp dir. +* :ghpull:`11605`: Suppress a spurious missing-glyph warning with ft2font. +* :ghpull:`11360`: Pytzectomy +* :ghpull:`10885`: Move GTK3 setupext checks to within the process. +* :ghpull:`11081`: Help tool for Wx backends +* :ghpull:`10851`: Wx Toolbar for ToolManager +* :ghpull:`11247`: Remove mplDeprecation +* :ghpull:`9795`: Backend switching +* :ghpull:`9426`: Don't mark a patch transform as set if the parent transform is not set. +* :ghpull:`9175`: Warn on freetype missing glyphs. +* :ghpull:`11412`: Make contour and contourf color assignments consistent. +* :ghpull:`11477`: Enable flake8 and re-enable it everywhere +* :ghpull:`11165`: Fix figure window icon +* :ghpull:`11584`: ENH: fix colorbar bad minor ticks +* :ghpull:`11438`: ENH: add get_gridspec convenience method to subplots +* :ghpull:`11451`: Cleanup Matplotlib API docs +* :ghpull:`11579`: DOC update some examples to use constrained_layout=True +* :ghpull:`11593`: Skip wx interactive tests on OSX. +* :ghpull:`11592`: Remove some extra spaces in docstrings/comments. +* :ghpull:`11585`: Some doc cleanup of Triangulation +* :ghpull:`10474`: Use TemporaryDirectory instead of mkdtemp in a few places. +* :ghpull:`11240`: Deprecate the examples.directory rcParam. +* :ghpull:`11370`: Sorting drawn artists by their zorder when blitting using FuncAnimation +* :ghpull:`11576`: Add parameter doc to save_diff_image +* :ghpull:`11573`: Inline setup_external_compile into setupext. +* :ghpull:`11571`: Cleanup stix_fonts_demo example. +* :ghpull:`11563`: Use explicit signature in pyplot.close() +* :ghpull:`9801`: ENH: Change default Autodatelocator *interval_multiples* +* :ghpull:`11570`: More simplifications to FreeType setup on Windows. +* :ghpull:`11401`: Some py3fications. +* :ghpull:`11566`: Cleanups. +* :ghpull:`11520`: Add private API retrieving the current event loop and backend GUI info. +* :ghpull:`11544`: Restore axes sharedness when unpickling. +* :ghpull:`11568`: Figure.text changes +* :ghpull:`11248`: Simplify FreeType Windows build. +* :ghpull:`11556`: Fix colorbar bad ticks +* :ghpull:`11494`: Fix CI install of wxpython. +* :ghpull:`11564`: triinterpolate cleanups. +* :ghpull:`11548`: Use numpydoc-style parameter lists for choices +* :ghpull:`9583`: Add edgecolors kwarg to contourf +* :ghpull:`10275`: Update contour.py and widget.py +* :ghpull:`11547`: Fix example links +* :ghpull:`11555`: Fix spelling in title +* :ghpull:`11404`: FIX: don't include text at -inf in bbox +* :ghpull:`11455`: Fixing the issue where right column and top row generate wrong stream… +* :ghpull:`11297`: Prefer warn_deprecated instead of warnings.warn. +* :ghpull:`11495`: Update the documentation guidelines +* :ghpull:`11545`: Doc: fix x(filled) marker image +* :ghpull:`11287`: Maintain artist addition order in Axes.mouseover_set. +* :ghpull:`11530`: FIX: Ensuring both x and y attrs of LocationEvent are int +* :ghpull:`10336`: Use Integral and Real in typechecks rather than explicit types. +* :ghpull:`10298`: Apply gtk3 background. +* :ghpull:`10297`: Fix gtk3agg alpha channel. +* :ghpull:`9094`: axisbelow should just set zorder. +* :ghpull:`11459`: Doc changes in add_subplot and add_axes +* :ghpull:`10908`: Make draggable callbacks check that artist has not been removed. +* :ghpull:`11522`: Small cleanups. +* :ghpull:`11539`: DOC: talk about sticky edges in Axes.margins +* :ghpull:`11540`: adding axes to module list +* :ghpull:`11537`: Fix invalid value warning when autoscaling with no data limits +* :ghpull:`11512`: Skip 3D rotation example in sphinx gallery +* :ghpull:`11538`: Re-enable pep8 on examples folder +* :ghpull:`11136`: Move remaining examples from api/ +* :ghpull:`11519`: Raise ImportError on failure to import backends. +* :ghpull:`11529`: add documentation for quality in savefig +* :ghpull:`11528`: Replace an unnecessary zip() in mplot3d by numpy ops. +* :ghpull:`11492`: add __repr__ to GridSpecBase +* :ghpull:`11521`: Add missing ``.`` to rcParam +* :ghpull:`11491`: Fixed the source path on windows in rcparam_role +* :ghpull:`11514`: Remove embedding_in_tk_canvas, which demonstrated a private API. +* :ghpull:`11507`: Fix embedding_in_tk_canvas example. +* :ghpull:`11513`: Changed docstrings in Text +* :ghpull:`11503`: Remove various mentions of the now removed GTK(2) backend. +* :ghpull:`11493`: Update a test to a figure-equality test. +* :ghpull:`11501`: Treat empty $MPLBACKEND as an unset value. +* :ghpull:`11395`: Various fixes to deprecated and warn_deprecated. +* :ghpull:`11408`: Figure equality-based tests. +* :ghpull:`11461`: Fixed bug in rendering font property kwargs list +* :ghpull:`11397`: Replace ACCEPTS by standard numpydoc params table. +* :ghpull:`11483`: Use pip requirements files for travis build +* :ghpull:`11481`: remove more pylab references +* :ghpull:`10940`: Run flake8 instead of pep8 on Python 3.6 +* :ghpull:`11476`: Remove pylab references +* :ghpull:`11424`: DOC: point align-ylabel demo to new align-label functions +* :ghpull:`11454`: add subplots to axes documentation +* :ghpull:`11470`: Hyperlink DOIs against preferred resolver +* :ghpull:`11457`: Search $CPATH for include directories +* :ghpull:`11293`: Lim parameter naming +* :ghpull:`11447`: Do not use class attributes as defaults for instance attributes +* :ghpull:`11224`: Add deprecation messages for unused kwargs in FancyArrowPatch +* :ghpull:`11437`: Doc markersupdate +* :ghpull:`11417`: FIX: better default spine path (for logit) +* :ghpull:`11406`: Backport PR #11403 on branch v2.2.2-doc +* :ghpull:`11427`: FIX: pathlib in nbagg +* :ghpull:`11428`: Doc: Remove huge note box from examples. +* :ghpull:`11392`: Deprecate the ``verts`` kwarg to ``scatter``. +* :ghpull:`8834`: WIP: Contour log extension +* :ghpull:`11402`: Remove unnecessary str calls. +* :ghpull:`11399`: Autogenerate credits.rst +* :ghpull:`11382`: plt.subplots and plt.figure docstring changes +* :ghpull:`11396`: Remove some (minor) comments regarding Py2. +* :ghpull:`11210`: FIX: don't pad axes for ticks if they aren't visible or axis off +* :ghpull:`11362`: Fix tox configuration +* :ghpull:`11366`: Improve docstring of Axes.spy +* :ghpull:`11289`: io.open and codecs.open are redundant with open on Py3. +* :ghpull:`11213`: MNT: deprecate patches.YAArrow +* :ghpull:`11352`: Catch a couple of test warnings +* :ghpull:`11292`: Simplify cleanup decorator implementation. +* :ghpull:`11349`: Remove non-existent files from MANIFEST.IN +* :ghpull:`8774`: Git issue #7216 - Add a "ruler" tool to the plot UI +* :ghpull:`11348`: Make OSX's blit() have a consistent signature with other backends. +* :ghpull:`11345`: Revert "Deprecate text.latex.unicode." +* :ghpull:`11250`: [WIP] Add tutorial for LogScale +* :ghpull:`11223`: Add an arrow tutorial +* :ghpull:`10212`: Categorical refactor +* :ghpull:`11339`: Convert Ellipse docstring to numpydoc +* :ghpull:`11255`: Deprecate text.latex.unicode. +* :ghpull:`11338`: Fix typos +* :ghpull:`11332`: Let plt.rc = matplotlib.rc, instead of being a trivial wrapper. +* :ghpull:`11331`: multiprocessing.set_start_method() --> mp.set_start_method() +* :ghpull:`9948`: Add ``ealpha`` option to ``errorbar`` +* :ghpull:`11329`: Minor docstring update of thumbnail +* :ghpull:`9551`: Refactor backend loading +* :ghpull:`11328`: Undeprecate Polygon.xy from #11299 +* :ghpull:`11318`: Improve docstring of imread() and imsave() +* :ghpull:`11311`: Simplify image.thumbnail. +* :ghpull:`11225`: Add stacklevel=2 to some more warnings.warn() calls +* :ghpull:`11313`: Add changelog entry for removal of proprietary sphinx directives. +* :ghpull:`11323`: Fix infinite loop for connectionstyle + add some tests +* :ghpull:`11314`: API changes: use the heading format defined in README.txt +* :ghpull:`11320`: Py3fy multiprocess example. +* :ghpull:`6254`: adds two new cyclic color schemes +* :ghpull:`11268`: DOC: Sanitize some internal documentation links +* :ghpull:`11300`: Start replacing ACCEPTS table by parsing numpydoc. +* :ghpull:`11298`: Automagically set the stacklevel on warnings. +* :ghpull:`11277`: Avoid using MacRoman encoding. +* :ghpull:`11295`: Use sphinx builtin only directive instead of custom one. +* :ghpull:`11305`: Reuse the noninteractivity warning from Figure.show in _Backend.show. +* :ghpull:`11304`: Re-remove six from INSTALL.rst. +* :ghpull:`11301`: Undefined name: cbook --> matplotlib.cbook +* :ghpull:`11267`: FIX: allow nan values in data for plt.hist +* :ghpull:`11271`: Better argspecs for Axes.stem +* :ghpull:`11280`: Trivial cleanups +* :ghpull:`10514`: Cleanup/update cairo + gtk compatibility matrix. +* :ghpull:`11282`: Reduce the use of C++ exceptions +* :ghpull:`11263`: Fail gracefully if can't decode font names +* :ghpull:`11278`: Remove conditional path for sphinx <1.3 in plot_directive. +* :ghpull:`11273`: Include template matplotlibrc in package_data. +* :ghpull:`11249`: Simplify FreeType build. +* :ghpull:`11158`: Remove dependency on six - we're Py3 only now! +* :ghpull:`10050`: Update Legend draggable API +* :ghpull:`11206`: More cleanups +* :ghpull:`11001`: DOC: improve legend bbox_to_anchor description +* :ghpull:`11258`: Removed comment in AGG backend that is no longer applicable +* :ghpull:`11062`: FIX: call constrained_layout twice +* :ghpull:`11251`: Re-run boilerplate.py. +* :ghpull:`11228`: Don't bother checking luatex's version. +* :ghpull:`11207`: Update venv gui docs wrt availability of PySide2. +* :ghpull:`11236`: Minor cleanups to setupext. +* :ghpull:`11239`: Reword the timeout error message in cbook._lock_path. +* :ghpull:`11204`: Test that boilerplate.py is correctly run. +* :ghpull:`11172`: ENH add rcparam to legend_title +* :ghpull:`11229`: Simplify lookup of animation external commands. +* :ghpull:`9086`: Add SVG animation. +* :ghpull:`11212`: Fix CirclePolygon __str__ + adding tests +* :ghpull:`6737`: Ternary +* :ghpull:`11216`: Yet another set of simplifications. +* :ghpull:`11056`: Simplify travis setup a bit. +* :ghpull:`11205`: Minor cleanups to pyplot. +* :ghpull:`11174`: Replace numeric loc by position string +* :ghpull:`11208`: Don't crash qt figure options on unknown marker styles. +* :ghpull:`11195`: Some unrelated cleanups. +* :ghpull:`11192`: Don't use deprecated get_texcommand in backend_pgf. +* :ghpull:`11197`: Simplify demo_ribbon_box.py. +* :ghpull:`11137`: Convert \*\*kwargs to named arguments for a clearer API +* :ghpull:`10982`: Improve docstring of Axes.imshow +* :ghpull:`11182`: Use GLib.MainLoop() instead of deprecated GObject.MainLoop() +* :ghpull:`11185`: Fix undefined name error in backend_pgf. +* :ghpull:`10321`: Ability to scale axis by a fixed factor +* :ghpull:`8787`: Faster path drawing for the cairo backend (cairocffi only) +* :ghpull:`4559`: tight_layout: Use a different default gridspec +* :ghpull:`11179`: Convert internal tk focus helper to a context manager +* :ghpull:`11176`: Allow creating empty closed paths +* :ghpull:`10339`: Pass explicit font paths to fontspec in backend_pgf. +* :ghpull:`9832`: Minor cleanup to Text class. +* :ghpull:`11141`: Remove mpl_examples symlink. +* :ghpull:`10715`: ENH: add title_fontsize to legend +* :ghpull:`11166`: Set stacklevel to 2 for backend_wx +* :ghpull:`10934`: Autogenerate (via boilerplate) more of pyplot. +* :ghpull:`9298`: Cleanup blocking_input. +* :ghpull:`6329`: Set _text to '' if Text.set_text argument is None +* :ghpull:`11146`: Explicit args and refactor Axes.margins +* :ghpull:`11145`: Use kwonlyargs instead of popping from kwargs +* :ghpull:`11119`: PGF: Get unitless positions from Text elements (fix #11116) +* :ghpull:`9078`: New anchored direction arrows +* :ghpull:`11144`: Remove toplevel unit/ directory. +* :ghpull:`11148`: remove use of subprocess compatibility shim +* :ghpull:`11143`: Use debug level for debugging messages +* :ghpull:`11142`: Finish removing future imports. +* :ghpull:`11130`: Don't include the postscript title if it is not latin-1 encodable. +* :ghpull:`11093`: DOC: Fixup to AnchoredArtist examples in the gallery +* :ghpull:`11132`: pillow-dependency update +* :ghpull:`10446`: implementation of the copy canvas tool +* :ghpull:`9131`: FIX: prevent the canvas from jump sizes due to DPI changes +* :ghpull:`9454`: Batch ghostscript converter. +* :ghpull:`10545`: Change manual kwargs popping to kwonly arguments. +* :ghpull:`10950`: Actually ignore invalid log-axis limit setting +* :ghpull:`11096`: Remove support for bar(left=...) (as opposed to bar(x=...)). +* :ghpull:`11106`: py3fy art3d. +* :ghpull:`11085`: Use GtkShortcutsWindow for Help tool. +* :ghpull:`11099`: Deprecate certain marker styles that have simpler synonyms. +* :ghpull:`11100`: Some more deprecations of old, old stuff. +* :ghpull:`11098`: Make Marker.get_snap_threshold() always return a scalar. +* :ghpull:`11097`: Schedule a removal date for passing normed (instead of density) to hist. +* :ghpull:`9706`: Masking invalid x and/or weights in hist +* :ghpull:`11080`: Py3fy backend_qt5 + other cleanups to the backend. +* :ghpull:`10967`: updated the pyplot fill_between example to elucidate the premise;maki… +* :ghpull:`11075`: Drop alpha channel when saving comparison failure diff image. +* :ghpull:`9022`: Help tool +* :ghpull:`11076`: Don't create texput.{aux,log} in rootdir everytime tests are run. +* :ghpull:`11073`: py3fication of some tests. +* :ghpull:`11074`: bytes % args is back since py3.5 +* :ghpull:`11066`: Use chained comparisons where reasonable. +* :ghpull:`11061`: Changed tight_layout doc strings +* :ghpull:`11064`: Minor docstring format cleanup +* :ghpull:`11055`: Remove setup_tests_only.py. +* :ghpull:`11057`: Update Ellipse position with ellipse.center +* :ghpull:`10435`: Pathlibify font_manager (only internally, doesn't change the API). +* :ghpull:`10442`: Make the filternorm prop of Images a boolean rather than a {0,1} scalar. +* :ghpull:`9855`: ENH: make ax.get_position apply aspect +* :ghpull:`9987`: MNT: hist2d now uses pcolormesh instead of pcolorfast +* :ghpull:`11014`: Merge v2.2.x into master +* :ghpull:`11000`: FIX: improve Text repr to not error if non-float x and y. +* :ghpull:`10910`: FIX: return proper legend window extent +* :ghpull:`10915`: FIX: tight_layout having negative width axes +* :ghpull:`10408`: Factor out common code in _process_unit_info +* :ghpull:`10960`: Added share_tickers parameter to axes._AxesBase.twinx/y +* :ghpull:`10971`: Skip pillow animation test if pillow not importable +* :ghpull:`10970`: Simplify/fix some manual manipulation of len(args). +* :ghpull:`10958`: Simplify the grouper implementation. +* :ghpull:`10508`: Deprecate FigureCanvasQT.keyAutoRepeat. +* :ghpull:`10607`: Move notify_axes_change to FigureManagerBase class. +* :ghpull:`10215`: Test timers and (a bit) key_press_event for interactive backends. +* :ghpull:`10955`: Py3fy cbook, compare_backend_driver_results +* :ghpull:`10680`: Rewrite the tk C blitting code +* :ghpull:`9498`: Move title up if x-axis is on the top of the figure +* :ghpull:`10942`: Make active param in CheckBottons optional, default false +* :ghpull:`10943`: Allow pie textprops to take alignment and rotation arguments +* :ghpull:`10780`: Fix scaling of RadioButtons +* :ghpull:`10938`: Fix two undefined names +* :ghpull:`10685`: fix plt.show doesn't warn if a non-GUI backend +* :ghpull:`10689`: Declare global variables that are created elsewhere +* :ghpull:`10845`: WIP: first draft at replacing linkcheker +* :ghpull:`10898`: Replace "matplotlibrc" by "rcParams" in the docs where applicable. +* :ghpull:`10926`: Some more removals of deprecated APIs. +* :ghpull:`9173`: dynamically generate pyplot functions +* :ghpull:`10918`: Use function signatures in boilerplate.py. +* :ghpull:`10914`: Changed pie charts default shape to circle and added tests +* :ghpull:`10864`: ENH: Stop mangling default figure file name if file exists +* :ghpull:`10562`: Remove deprecated code in image.py +* :ghpull:`10798`: FIX: axes limits reverting to automatic when sharing +* :ghpull:`10485`: Remove the 'hold' kwarg from codebase +* :ghpull:`10571`: Use np.full{,_like} where appropriate. [requires numpy>=1.12] +* :ghpull:`10913`: Rely a bit more on rc_context. +* :ghpull:`10299`: Invalidate texmanager cache when any text.latex.* rc changes. +* :ghpull:`10906`: Deprecate ImageComparisonTest. +* :ghpull:`10904`: Improve docstring of clabel() +* :ghpull:`10912`: remove unused matplotlib.testing import +* :ghpull:`10876`: [wip] Replace _remove_method by _on_remove list of callbacks +* :ghpull:`10692`: Update afm docs and internal data structures +* :ghpull:`10896`: Update INSTALL.rst. +* :ghpull:`10905`: Inline knownfailureif. +* :ghpull:`10907`: No need to mark (unicode) strings as u"foo" anymore. +* :ghpull:`10903`: Py3fy testing machinery. +* :ghpull:`10901`: Remove Py2/3 portable code guide. +* :ghpull:`10900`: Remove some APIs deprecated in mpl2.1. +* :ghpull:`10902`: Kill some Py2 docs. +* :ghpull:`10887`: Added feature (Make pie charts circular by default #10789) +* :ghpull:`10884`: Style fixes to setupext.py. +* :ghpull:`10879`: Deprecate two-args for cycler() and set_prop_cycle() +* :ghpull:`10865`: DOC: use OO-ish interface in image, contour, field examples +* :ghpull:`8479`: FIX markerfacecolor / mfc not in rcparams +* :ghpull:`10314`: setattr context manager. +* :ghpull:`10013`: Allow rasterization for 3D plots +* :ghpull:`10158`: Allow mplot3d rasterization; adjacent cleanups. +* :ghpull:`10871`: Rely on rglob support rather than os.walk. +* :ghpull:`10708`: Py3fy webagg/nbagg. +* :ghpull:`10862`: py3ify table.py and correct some docstrings +* :ghpull:`10810`: Fix for plt.plot() does not support structured arrays as data= kwarg +* :ghpull:`10861`: More python3 cleanup +* :ghpull:`9903`: ENH: adjustable colorbar ticks +* :ghpull:`10831`: Minor docstring updates on binning related plot functions +* :ghpull:`9571`: Remove LaTeX checking in setup.py. +* :ghpull:`10097`: Reset extents in RectangleSelector when not interactive on press. +* :ghpull:`10686`: fix BboxConnectorPatch does not show facecolor +* :ghpull:`10801`: Fix undefined name. Add animation tests. +* :ghpull:`10857`: FIX: ioerror font cache, second try +* :ghpull:`10796`: Added descriptions for line bars and markers examples +* :ghpull:`10846`: Unsixification +* :ghpull:`10852`: Update docs re: pygobject in venv. +* :ghpull:`10847`: Py3fy axis.py. +* :ghpull:`10834`: Minor docstring updates on spectral plot functions +* :ghpull:`10778`: wx_compat is no more. +* :ghpull:`10609`: More wx cleanup. +* :ghpull:`10826`: Py3fy dates.py. +* :ghpull:`10837`: Correctly display error when running setup.py test. +* :ghpull:`10838`: Don't use private attribute in tk example. Fix Toolbar class rename. +* :ghpull:`10823`: Add some basic smoketesting for webagg (and wx). +* :ghpull:`10828`: Add print_rgba to backend_cairo. +* :ghpull:`10830`: Make function signatures more explicit +* :ghpull:`10829`: Use long color names for default rcParams +* :ghpull:`9776`: WIP: Lockout new converters Part 2 +* :ghpull:`10799`: DOC: make legend docstring interpolated +* :ghpull:`10818`: Deprecate vestigial Annotation.arrow. +* :ghpull:`10817`: Add test to imread from url. +* :ghpull:`10696`: Simplify venv docs. +* :ghpull:`10724`: Py3fication of unicode. +* :ghpull:`10815`: API: shift deprecation of TempCache class to 3.0 +* :ghpull:`10725`: FIX/TST constrained_layout remove test8 duplication +* :ghpull:`10705`: FIX: enable extend kwargs with log scale colorbar +* :ghpull:`10400`: numpydoc-ify art3d docstrings +* :ghpull:`10723`: repr style fixes. +* :ghpull:`10592`: Rely on generalized * and ** unpackings where possible. +* :ghpull:`9475`: Declare property aliases in a single place +* :ghpull:`10794`: fixed comment typo +* :ghpull:`10768`: Fix crash when imshow encounters longdouble data +* :ghpull:`10774`: Remove dead wx testing code. +* :ghpull:`10756`: Fixes png showing inconsistent inset_axes position +* :ghpull:`10773`: Consider alpha channel from RGBA color of text for SVG backend text opacity rendering +* :ghpull:`10772`: API: check locator and formatter args when passed +* :ghpull:`10713`: Implemented support for 'markevery' in prop_cycle +* :ghpull:`10751`: make centre_baseline legal for Text.set_verticalalignment +* :ghpull:`10771`: FIX/TST OS X builds +* :ghpull:`10742`: FIX: reorder linewidth setting before linestyle +* :ghpull:`10714`: sys.platform is normalized to "linux" on Py3. +* :ghpull:`10542`: Minor cleanup: PEP8, PEP257 +* :ghpull:`10636`: Remove some wx version checks. +* :ghpull:`9731`: Make legend title fontsize obey fontsize kwarg by default +* :ghpull:`10697`: Remove special-casing of _remove_method when pickling. +* :ghpull:`10701`: Autoadd removal version to deprecation message. +* :ghpull:`10699`: Remove incorrect warning in gca(). +* :ghpull:`10674`: Fix getting polar axes in plt.polar() +* :ghpull:`10564`: Nested classes and instancemethods are directly picklable on Py3.5+. +* :ghpull:`10107`: Fix stay_span to reset onclick in SpanSelector. +* :ghpull:`10693`: Make markerfacecolor work for 3d scatterplots +* :ghpull:`10596`: Switch to per-file locking. +* :ghpull:`10532`: Py3fy backend_pgf. +* :ghpull:`10618`: Fixes #10501. python3 support and pep8 in jpl_units +* :ghpull:`10652`: Some py3fication for matplotlib/__init__, setupext. +* :ghpull:`10522`: Py3fy font_manager. +* :ghpull:`10666`: More figure-related doc updates +* :ghpull:`10507`: Remove Python 2 code from C extensions +* :ghpull:`10679`: Small fixes to gtk3 examples. +* :ghpull:`10426`: Delete deprecated backends +* :ghpull:`10488`: Bug Fix - Polar plot rectangle patch not transformed correctly (#8521) +* :ghpull:`9814`: figure_enter_event uses now LocationEvent instead of Event. Fix issue #9812. +* :ghpull:`9918`: Remove old nose testing code +* :ghpull:`10672`: Deprecation fixes. +* :ghpull:`10608`: Remove most APIs deprecated in 2.1. +* :ghpull:`10653`: Mock is in stdlib in Py3. +* :ghpull:`10603`: Remove workarounds for numpy<1.10. +* :ghpull:`10660`: Work towards removing reuse-of-axes-on-collision. +* :ghpull:`10661`: Homebrew python is now python 3 +* :ghpull:`10656`: Minor fixes to event handling docs. +* :ghpull:`10635`: Simplify setupext by using globs. +* :ghpull:`10632`: Support markers from Paths that consist of one line segment +* :ghpull:`10558`: Remove if six.PY2 code paths from boilerplate.py +* :ghpull:`10640`: Fix extra and missing spaces in constrainedlayout warning. +* :ghpull:`10624`: Some trivial py3fications. +* :ghpull:`10548`: Implement PdfPages for backend pgf +* :ghpull:`10614`: Use np.stack instead of list(zip()) in colorbar.py. +* :ghpull:`10621`: Cleanup and py3fy backend_gtk3. +* :ghpull:`10615`: More style fixes. +* :ghpull:`10604`: Minor style fixes. +* :ghpull:`10565`: Strip python 2 code from subprocess.py +* :ghpull:`10605`: Bump a tolerance in test_axisartist_floating_axes. +* :ghpull:`7853`: Use exact types for Py_BuildValue. +* :ghpull:`10591`: Switch to @-matrix multiplication. +* :ghpull:`10570`: Fix check_shared in test_subplots. +* :ghpull:`10569`: Various style fixes. +* :ghpull:`10593`: Use 'yield from' where appropriate. +* :ghpull:`10577`: Minor simplification to Figure.__getstate__ logic. +* :ghpull:`10549`: Source typos +* :ghpull:`10525`: Convert six.moves.xrange() to range() for Python 3 +* :ghpull:`10541`: More argumentless (py3) super() +* :ghpull:`10539`: TST: Replace assert_equal with plain asserts. +* :ghpull:`10534`: Modernize cbook.get_realpath_and_stat. +* :ghpull:`10524`: Remove unused private _StringFuncParser. +* :ghpull:`10470`: Remove Python 2 code from setup +* :ghpull:`10528`: py3fy examples +* :ghpull:`10520`: Py3fy mathtext.py. +* :ghpull:`10527`: Switch to argumentless (py3) super(). +* :ghpull:`10523`: The current master branch is now python 3 only. +* :ghpull:`10515`: Use feature detection instead of version detection +* :ghpull:`10432`: Use some new Python3 types +* :ghpull:`10475`: Use HTTP Secure for matplotlib.org +* :ghpull:`10383`: Fix some C++ warnings +* :ghpull:`10498`: Tell the lgtm checker that the project is Python 3 only +* :ghpull:`10505`: Remove backport of which() +* :ghpull:`10483`: Remove backports.functools_lru_cache +* :ghpull:`10492`: Avoid UnboundLocalError in drag_pan. +* :ghpull:`10491`: Simplify Mac builds on Travis +* :ghpull:`10481`: Remove python 2 compatibility code from dviread +* :ghpull:`10447`: Remove Python 2 compatibility code from backend_pdf.py +* :ghpull:`10468`: Replace is_numlike by isinstance(..., numbers.Number). +* :ghpull:`10439`: mkdir is in the stdlib in Py3. +* :ghpull:`10392`: FIX: make set_text(None) keep string empty instead of "None" +* :ghpull:`10425`: API: only support python 3.5+ +* :ghpull:`10316`: TST FIX pyqt5 5.9 +* :ghpull:`4625`: hist2d() is now using pcolormesh instead of pcolorfast -Issues (27): +Issues (91): -* :ghissue:`11822`: matplotlib.pyplot import gives error on MacOSX -* :ghissue:`11832`: Marker disappears with markerfacecolor='None' when saving as eps file -* :ghissue:`11810`: Figure gets collapsed after nth iteration using constrained_layout -* :ghissue:`11389`: Incorrect processing of plot_args when using data argument -* :ghissue:`11635`: "import matplotlib.pyplot" fails on NetBSD with version 2.2.2 -* :ghissue:`6781`: Toolbar disappears in TkAgg if window if resized -* :ghissue:`10890`: Bug causes to_rgba to fail inside cm.py -* :ghissue:`9582`: axes_grid1 docs do not appear on mpl.org anymore. -* :ghissue:`11484`: Matplotlib does not build on OpenBSD using clang -* :ghissue:`11302`: [DOC] Build of documentation fails -* :ghissue:`11031`: wrong x-position of marker with drawstyle='steps-xxx' -* :ghissue:`11372`: Symbols not showing in eps format -* :ghissue:`10814`: manually backport #10806 -* :ghissue:`10072`: imshow doesn't properly display some images -* :ghissue:`11163`: RecursionError when calling get_yaxis_transform() on a Symlog-scaled axis. -* :ghissue:`11156`: Error in documentation of pyplot.errorbar() -* :ghissue:`11104`: pyplot.plot conflict: markerfacecolor ='none' and alpha -* :ghissue:`11126`: Legend positioning behavior change from matplotlib {2.1.0 -> 2.2.2} -* :ghissue:`10633`: Type Error when saving jpg image (Pillow 3) -* :ghissue:`10911`: Get ticklabels back on shared axis -* :ghissue:`5609`: Segfaults with wxpython 3.0.2.0 backend -* :ghissue:`11021`: remove ``import distutils.sysconfig`` from ``lib/matplotlib/__init__.py`` -* :ghissue:`10949`: Qt5Agg blitting issue with matplotlib 2.2.2 -* :ghissue:`10966`: pillow animation writer failing macOS tests -* :ghissue:`10921`: No markers in EPS if fillstyle='none' -* :ghissue:`10889`: memory error using savefig with ylim to create pdf of box plots -* :ghissue:`10866`: bz2 mistakenly made a hard requirement of matplotlib 2.2.2 +* :ghissue:`11252`: Some API removals not documented +* :ghissue:`9404`: Drop support for python 2 +* :ghissue:`2625`: Markers in XKCD style +* :ghissue:`11749`: metadata kwarg to savefig is not documented +* :ghissue:`11702`: Setting alpha on legend handle changes patch color +* :ghissue:`8798`: gtk3cairo draw_image does not respect origin and mishandles alpha +* :ghissue:`11737`: Bug in tight_layout +* :ghissue:`11373`: Passing an incorrectly sized colour list to scatter should raise a relevant error +* :ghissue:`11756`: pgf backend doesn't set color of text when the color is black +* :ghissue:`11766`: test_axes.py::test_csd_freqs failing with numpy 1.15.0 on macOS +* :ghissue:`11750`: previous whats new is overindented on "what's new in mpl3.0 page" +* :ghissue:`11728`: Qt5 Segfaults on window resize +* :ghissue:`11709`: Repaint region is wrong on Retina display with Qt5 +* :ghissue:`11578`: wx segfaulting on OSX travis tests +* :ghissue:`11628`: edgecolor argument not working in matplotlib.pyplot.bar +* :ghissue:`11625`: plt.tight_layout() does not work with plt.subplot2grid +* :ghissue:`4993`: Version ~/.cache/matplotlib +* :ghissue:`7842`: If hexbin has logarithmic bins, use log formatter for colorbar +* :ghissue:`11607`: AttributeError: 'QEvent' object has no attribute 'pos' +* :ghissue:`11486`: Colorbar does not render with PowerNorm and min extend when using imshow +* :ghissue:`11582`: wx segfault +* :ghissue:`11515`: using 'sharex' once in 'subplots' function can affect subsequent calles to 'subplots' +* :ghissue:`10269`: input() blocks any rendering and event handling +* :ghissue:`10345`: Python 3.4 with Matplotlib 1.5 vs Python 3.6 with Matplotlib 2.1 +* :ghissue:`10443`: Drop use of pytz dependency in next major release +* :ghissue:`10572`: contour and contourf treat levels differently +* :ghissue:`11123`: Crash when interactively adding a number of subplots +* :ghissue:`11550`: Undefined names: 'obj_type' and 'cbook' +* :ghissue:`11138`: Only the first figure window has mpl icon, all other figures have default tk icon. +* :ghissue:`11510`: extra minor-ticks on the colorbar when used with the extend option +* :ghissue:`11369`: zorder of Artists not being respected when blitting with FuncAnimation +* :ghissue:`11452`: Streamplot ignores rightmost column and topmost row of velocity data +* :ghissue:`11284`: imshow of multiple images produces old pixel values printed in status bar +* :ghissue:`11496`: MouseEvent.x and .y have different types +* :ghissue:`11534`: Cross-reference margins and sticky edges +* :ghissue:`8556`: Add images of markers to the list of markers +* :ghissue:`11386`: Logit scale doesn't position x/ylabel correctly first draw +* :ghissue:`11384`: Undefined name 'Path' in backend_nbagg.py +* :ghissue:`11426`: nbagg broken on master. 'Path' is not defined... +* :ghissue:`11390`: Internal use of deprecated code +* :ghissue:`11203`: tight_layout reserves tick space even if disabled +* :ghissue:`11361`: Tox.ini does not work out of the box +* :ghissue:`11253`: Problem while changing current figure size in Jupyter notebook +* :ghissue:`11219`: Write an arrow tutorial +* :ghissue:`11322`: Really deprecate Patches.xy? +* :ghissue:`11294`: ConnectionStyle Angle3 hangs with specific parameters +* :ghissue:`9518`: Some ConnectionStyle not working +* :ghissue:`11077`: Font "DejaVu Sans" can only be used through fallback +* :ghissue:`10717`: Failure to find matplotlibrc when testing installed distribution +* :ghissue:`9912`: Cleaning up variable argument signatures +* :ghissue:`3701`: unit tests should compare pyplot.py with output from boilerplate.py +* :ghissue:`11183`: Undefined name 'system_fonts' in backend_pgf.py +* :ghissue:`11101`: Crash on empty patches +* :ghissue:`11124`: [Bug] savefig cannot save file with a Unicode name +* :ghissue:`11070`: Add a "density" kwarg to hist2d +* :ghissue:`7733`: Trying to set_ylim(bottom=0) on a log scaled axis changes plot +* :ghissue:`10319`: TST: pyqt 5.10 breaks pyqt5 interactive tests +* :ghissue:`10676`: Add source code to documentation +* :ghissue:`9207`: axes has no method to return new position after box is adjusted due to aspect ratio... +* :ghissue:`4615`: hist2d with log xy axis +* :ghissue:`10996`: Plotting text with datetime axis causes warning +* :ghissue:`7582`: Report date and time of cursor position on a plot_date plot +* :ghissue:`10114`: Remove mlab from examples +* :ghissue:`10342`: imshow longdouble not truly supported +* :ghissue:`8062`: tight_layout + lots of subplots + long ylabels inverts yaxis +* :ghissue:`4413`: Long axis title alters xaxis length and direction with ``plt.tight_layout()`` +* :ghissue:`1415`: Plot title should be shifted up when xticks are set to the top of the plot +* :ghissue:`10789`: Make pie charts circular by default +* :ghissue:`10941`: Cannot set text alignment in pie chart +* :ghissue:`7908`: plt.show doesn't warn if a non-GUI backend is being used +* :ghissue:`10502`: 'FigureManager' is an undefined name in backend_wx.py +* :ghissue:`10062`: axes limits revert to automatic on sharing axes? +* :ghissue:`9246`: ENH: make default colorbar ticks adjust as nicely as axes ticks +* :ghissue:`8818`: plt.plot() does not support structured arrays as data= kwarg +* :ghissue:`10533`: Recognize pandas Timestamp objects for DateConverter? +* :ghissue:`8358`: Minor ticks on log-scale colorbar are not cleared +* :ghissue:`10075`: RectangleSelector does not work if start and end points are identical +* :ghissue:`8576`: support 'markevery' in prop_cycle +* :ghissue:`8874`: Crash in python setup.py test +* :ghissue:`3871`: replace use of _tkcanvas with get_tk_widget() +* :ghissue:`10550`: Use long color names for rc defaultParams +* :ghissue:`10722`: Duplicated test name in test_constrainedlayout +* :ghissue:`10419`: svg backend does not respect alpha channel of text *when passed as rgba* +* :ghissue:`10769`: DOC: set_major_locator could check that its getting a Locator (was EngFormatter broken?) +* :ghissue:`10719`: Need better type error checking for linewidth in ax.grid +* :ghissue:`7776`: tex cache lockfile retries should be configurable +* :ghissue:`10556`: Special conversions of xrange() +* :ghissue:`10501`: cmp() is an undefined name in Python 3 +* :ghissue:`9812`: figure_enter_event generates base Event and not LocationEvent +* :ghissue:`10602`: Random image failures with test_curvelinear4 +* :ghissue:`7795`: Incorrect uses of is_numlike From df545a043386557f01fa75a1cd231b57688fa727 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Sat, 11 Aug 2018 16:55:52 -0400 Subject: [PATCH 1103/1161] REL: v3.0.0rc1 This is the first release candidate for Matplotlib 3.0 From 7dc526e5ed196bcf35eb65474de7f48660bebf13 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Sat, 11 Aug 2018 17:02:36 -0400 Subject: [PATCH 1104/1161] BLD: bump branch away from tag github tarballs are stable From 1acad5c42b5f6fce04d31847157078964905e914 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Sun, 12 Aug 2018 17:23:20 +0200 Subject: [PATCH 1105/1161] Use Format_ARGB32_Premultiplied instead of RGBA8888 for Qt backends. I missed the fact that support for the latter was only added in Qt5.2 and is thus unavailable in Qt4. Move the supporting helper functions from backend_cairo to cbook. --- lib/matplotlib/backends/backend_cairo.py | 46 +---------------------- lib/matplotlib/backends/backend_qt5agg.py | 8 ++-- lib/matplotlib/cbook/__init__.py | 42 +++++++++++++++++++++ 3 files changed, 49 insertions(+), 47 deletions(-) diff --git a/lib/matplotlib/backends/backend_cairo.py b/lib/matplotlib/backends/backend_cairo.py index 18205218300a..42517ea837ff 100644 --- a/lib/matplotlib/backends/backend_cairo.py +++ b/lib/matplotlib/backends/backend_cairo.py @@ -42,48 +42,6 @@ from matplotlib.transforms import Affine2D -# Cairo's image buffers are premultiplied ARGB32, -# Matplotlib's are unmultiplied RGBA8888. - - -def _premultiplied_argb32_to_unmultiplied_rgba8888(buf): - """ - Convert a premultiplied ARGB32 buffer to an unmultiplied RGBA8888 buffer. - """ - rgba = np.take( # .take() ensures C-contiguity of the result. - buf, - [2, 1, 0, 3] if sys.byteorder == "little" else [1, 2, 3, 0], axis=2) - rgb = rgba[..., :-1] - alpha = rgba[..., -1] - # Un-premultiply alpha. The formula is the same as in cairo-png.c. - mask = alpha != 0 - for channel in np.rollaxis(rgb, -1): - channel[mask] = ( - (channel[mask].astype(int) * 255 + alpha[mask] // 2) - // alpha[mask]) - return rgba - - -def _unmultipled_rgba8888_to_premultiplied_argb32(rgba8888): - """ - Convert an unmultiplied RGBA8888 buffer to a premultiplied ARGB32 buffer. - """ - if sys.byteorder == "little": - argb32 = np.take(rgba8888, [2, 1, 0, 3], axis=2) - rgb24 = argb32[..., :-1] - alpha8 = argb32[..., -1:] - else: - argb32 = np.take(rgba8888, [3, 0, 1, 2], axis=2) - alpha8 = argb32[..., :1] - rgb24 = argb32[..., 1:] - # Only bother premultiplying when the alpha channel is not fully opaque, - # as the cost is not negligible. The unsafe cast is needed to do the - # multiplication in-place in an integer buffer. - if alpha8.min() != 0xff: - np.multiply(rgb24, alpha8 / 0xff, out=rgb24, casting="unsafe") - return argb32 - - if cairo.__name__ == "cairocffi": # Convert a pycairo context to a cairocffi one. def _to_context(ctx): @@ -380,7 +338,7 @@ def _draw_paths(): _draw_paths() def draw_image(self, gc, x, y, im): - im = _unmultipled_rgba8888_to_premultiplied_argb32(im[::-1]) + im = cbook._unmultipled_rgba8888_to_premultiplied_argb32(im[::-1]) surface = cairo.ImageSurface.create_for_data( im.ravel().data, cairo.FORMAT_ARGB32, im.shape[1], im.shape[0], im.shape[1] * 4) @@ -586,7 +544,7 @@ def print_png(self, fobj, *args, **kwargs): def print_rgba(self, fobj, *args, **kwargs): width, height = self.get_width_height() buf = self._get_printed_image_surface().get_data() - fobj.write(_premultiplied_argb32_to_unmultiplied_rgba8888( + fobj.write(cbook._premultiplied_argb32_to_unmultiplied_rgba8888( np.asarray(buf).reshape((width, height, 4)))) print_raw = print_rgba diff --git a/lib/matplotlib/backends/backend_qt5agg.py b/lib/matplotlib/backends/backend_qt5agg.py index c39e61082378..9275d5673059 100644 --- a/lib/matplotlib/backends/backend_qt5agg.py +++ b/lib/matplotlib/backends/backend_qt5agg.py @@ -6,6 +6,7 @@ from matplotlib.transforms import Bbox +from .. import cbook from .backend_agg import FigureCanvasAgg from .backend_qt5 import ( QtCore, QtGui, QtWidgets, _BackendQT5, FigureCanvasQT, FigureManagerQT, @@ -52,9 +53,10 @@ def paintEvent(self, event): [[left, self.renderer.height - (top + height * self._dpi_ratio)], [left + width * self._dpi_ratio, self.renderer.height - top]]) reg = self.copy_from_bbox(bbox) - buf = memoryview(reg) - qimage = QtGui.QImage( - buf, buf.shape[1], buf.shape[0], QtGui.QImage.Format_RGBA8888) + buf = cbook._unmultipled_rgba8888_to_premultiplied_argb32( + memoryview(reg)) + qimage = QtGui.QImage(buf, buf.shape[1], buf.shape[0], + QtGui.QImage.Format_ARGB32_Premultiplied) if hasattr(qimage, 'setDevicePixelRatio'): # Not available on Qt4 or some older Qt5. qimage.setDevicePixelRatio(self._dpi_ratio) diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index a7a8884fd13e..2c5661253873 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -2033,3 +2033,45 @@ def add(self, key): def discard(self, key): self._od.pop(key, None) + + +# Agg's buffers are unmultiplied RGBA8888, which neither PyQt4 nor cairo +# support; however, both do support premultiplied ARGB32. + + +def _premultiplied_argb32_to_unmultiplied_rgba8888(buf): + """ + Convert a premultiplied ARGB32 buffer to an unmultiplied RGBA8888 buffer. + """ + rgba = np.take( # .take() ensures C-contiguity of the result. + buf, + [2, 1, 0, 3] if sys.byteorder == "little" else [1, 2, 3, 0], axis=2) + rgb = rgba[..., :-1] + alpha = rgba[..., -1] + # Un-premultiply alpha. The formula is the same as in cairo-png.c. + mask = alpha != 0 + for channel in np.rollaxis(rgb, -1): + channel[mask] = ( + (channel[mask].astype(int) * 255 + alpha[mask] // 2) + // alpha[mask]) + return rgba + + +def _unmultipled_rgba8888_to_premultiplied_argb32(rgba8888): + """ + Convert an unmultiplied RGBA8888 buffer to a premultiplied ARGB32 buffer. + """ + if sys.byteorder == "little": + argb32 = np.take(rgba8888, [2, 1, 0, 3], axis=2) + rgb24 = argb32[..., :-1] + alpha8 = argb32[..., -1:] + else: + argb32 = np.take(rgba8888, [3, 0, 1, 2], axis=2) + alpha8 = argb32[..., :1] + rgb24 = argb32[..., 1:] + # Only bother premultiplying when the alpha channel is not fully opaque, + # as the cost is not negligible. The unsafe cast is needed to do the + # multiplication in-place in an integer buffer. + if alpha8.min() != 0xff: + np.multiply(rgb24, alpha8 / 0xff, out=rgb24, casting="unsafe") + return argb32 From 19e3cc14f781e21b39aef6adc3cc7c3bc91a4cfa Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Sat, 18 Aug 2018 12:56:45 -0700 Subject: [PATCH 1106/1161] =?UTF-8?q?Backport=20PR=20#11876:=20MAINT=20Bet?= =?UTF-8?q?ter=20error=20message=20for=20number=20of=20colors=20versus=20n?= =?UTF-8?q?umber=20of=20data=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/matplotlib/axes/_axes.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index ccccae9db634..ed7552418ae7 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -6537,7 +6537,10 @@ def hist(self, x, bins=None, range=None, density=None, weights=None, else: color = mcolors.to_rgba_array(color) if len(color) != nx: - raise ValueError("color kwarg must have one color per dataset") + error_message = ( + "color kwarg must have one color per data set. %d data " + "sets and %d colors were provided" % (len(color), nx)) + raise ValueError(error_message) # If bins are not specified either explicitly or via range, # we need to figure out the range required for all datasets, From 42a6a049d4d099de169e2f15c0b545634f38a001 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Fri, 17 Aug 2018 10:41:15 -0700 Subject: [PATCH 1107/1161] Backport PR #11862: Fix NumPy FutureWarning for non-tuple indexing. --- lib/matplotlib/mlab.py | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/lib/matplotlib/mlab.py b/lib/matplotlib/mlab.py index daa32d28951a..4ba3f3215a14 100644 --- a/lib/matplotlib/mlab.py +++ b/lib/matplotlib/mlab.py @@ -382,17 +382,7 @@ def detrend_mean(x, axis=None): if axis is not None and axis+1 > x.ndim: raise ValueError('axis(=%s) out of bounds' % axis) - # short-circuit 0-D array. - if not x.ndim: - return np.array(0., dtype=x.dtype) - - # short-circuit simple operations - if axis == 0 or axis is None or x.ndim <= 1: - return x - x.mean(axis) - - ind = [slice(None)] * x.ndim - ind[axis] = np.newaxis - return x - x.mean(axis)[ind] + return x - x.mean(axis, keepdims=True) def detrend_none(x, axis=None): From 53a070eff04c0b518f6d1590ef902a7e3d9341c2 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Sun, 19 Aug 2018 14:57:55 -0400 Subject: [PATCH 1108/1161] Backport PR #11847: Use ImageMagick's magick.exe if convert.exe is not installed --- lib/matplotlib/animation.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/animation.py b/lib/matplotlib/animation.py index 9dd3f68f0a8c..afe466e0af06 100644 --- a/lib/matplotlib/animation.py +++ b/lib/matplotlib/animation.py @@ -735,10 +735,17 @@ def _init_from_registry(cls): 0, winreg.KEY_QUERY_VALUE | flag) binpath = winreg.QueryValueEx(hkey, 'BinPath')[0] winreg.CloseKey(hkey) - binpath += r'\convert.exe' break except Exception: binpath = '' + if binpath: + for exe in ('convert.exe', 'magick.exe'): + path = os.path.join(binpath, exe) + if os.path.exists(path): + binpath = path + break + else: + binpath = '' rcParams[cls.exec_key] = rcParamsDefault[cls.exec_key] = binpath @classmethod From db12e2f4be6e1b310399abc7d8f171b1314487d7 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Sun, 19 Aug 2018 15:05:44 -0400 Subject: [PATCH 1109/1161] Backport PR #11850: FIX: macosx framework check --- src/_macosx.m | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/src/_macosx.m b/src/_macosx.m index 416cf6a583e3..119fc1b8d622 100644 --- a/src/_macosx.m +++ b/src/_macosx.m @@ -2565,24 +2565,12 @@ static void context_cleanup(const void* info) static bool verify_framework(void) { -#ifdef COMPILING_FOR_10_6 - NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init]; - NSRunningApplication* app = [NSRunningApplication currentApplication]; - NSApplicationActivationPolicy activationPolicy = [app activationPolicy]; - [pool release]; - switch (activationPolicy) { - case NSApplicationActivationPolicyRegular: - case NSApplicationActivationPolicyAccessory: - return true; - case NSApplicationActivationPolicyProhibited: - break; - } -#else ProcessSerialNumber psn; + /* These methods are deprecated, but they don't require the app to + have started */ if (CGMainDisplayID()!=0 && GetCurrentProcess(&psn)==noErr && SetFrontProcess(&psn)==noErr) return true; -#endif PyErr_SetString(PyExc_ImportError, "Python is not installed as a framework. The Mac OS X backend will " "not be able to function correctly if Python is not installed as a " From 951613f7dc726bb5f3feffc768d74a16c34981ca Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Mon, 20 Aug 2018 17:10:13 -0700 Subject: [PATCH 1110/1161] Backport PR #11900: Allow args to pass through _allow_super_init --- lib/matplotlib/backends/backend_qt5.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/backends/backend_qt5.py b/lib/matplotlib/backends/backend_qt5.py index c8f7aaf9434f..0df0f764dc1e 100644 --- a/lib/matplotlib/backends/backend_qt5.py +++ b/lib/matplotlib/backends/backend_qt5.py @@ -163,10 +163,10 @@ def cooperative_qwidget_init(self, *args, **kwargs): next_coop_init.__init__(self, *args, **kwargs) @functools.wraps(__init__) - def wrapper(self, **kwargs): + def wrapper(self, *args, **kwargs): with cbook._setattr_cm(QtWidgets.QWidget, __init__=cooperative_qwidget_init): - __init__(self, **kwargs) + __init__(self, *args, **kwargs) return wrapper From 6bd06412a4edc2979bbb5da3668cf22c59b85cfb Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Tue, 21 Aug 2018 22:50:23 -0400 Subject: [PATCH 1111/1161] Backport PR #11907: Move TOC back to top in axes documentation --- doc/api/axes_api.rst | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/doc/api/axes_api.rst b/doc/api/axes_api.rst index 9e89f808441c..f83da33767f7 100644 --- a/doc/api/axes_api.rst +++ b/doc/api/axes_api.rst @@ -4,20 +4,24 @@ axes .. currentmodule:: matplotlib.axes +.. contents:: Table of Contents + :depth: 2 + :local: + :backlinks: entry + :class: multicol-toc + .. automodule:: matplotlib.axes :no-members: :no-undoc-members: +The Axes class +============== + .. autoclass:: Axes :no-members: :no-undoc-members: :show-inheritance: -.. contents:: Table of Contents - :depth: 2 - :local: - :backlinks: entry - :class: multicol-toc Subplots ======== From 1ecc985ad3cd2631b60bd3d7d9a08d50e330117e Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Wed, 22 Aug 2018 19:39:32 -0400 Subject: [PATCH 1112/1161] Backport PR #11591: BUG: correct the scaling in the floating-point slop test. --- lib/matplotlib/dates.py | 8 +-- lib/matplotlib/tests/test_ticker.py | 4 +- lib/matplotlib/ticker.py | 100 +++++++++++++++++++++------- 3 files changed, 84 insertions(+), 28 deletions(-) diff --git a/lib/matplotlib/dates.py b/lib/matplotlib/dates.py index 80d790ded87c..2f2362332c1b 100644 --- a/lib/matplotlib/dates.py +++ b/lib/matplotlib/dates.py @@ -1384,7 +1384,7 @@ def __init__(self, base=1, month=1, day=1, tz=None): (default jan 1). """ DateLocator.__init__(self, tz) - self.base = ticker.Base(base) + self.base = ticker._Edge_integer(base, 0) self.replaced = {'month': month, 'day': day, 'hour': 0, @@ -1403,15 +1403,15 @@ def __call__(self): return self.tick_values(dmin, dmax) def tick_values(self, vmin, vmax): - ymin = self.base.le(vmin.year) - ymax = self.base.ge(vmax.year) + ymin = self.base.le(vmin.year) * self.base.step + ymax = self.base.ge(vmax.year) * self.base.step ticks = [vmin.replace(year=ymin, **self.replaced)] while True: dt = ticks[-1] if dt.year >= ymax: return date2num(ticks) - year = dt.year + self.base.get_base() + year = dt.year + self.base.step ticks.append(dt.replace(year=year, **self.replaced)) def autoscale(self): diff --git a/lib/matplotlib/tests/test_ticker.py b/lib/matplotlib/tests/test_ticker.py index 3619aeb0249a..15f0881af176 100644 --- a/lib/matplotlib/tests/test_ticker.py +++ b/lib/matplotlib/tests/test_ticker.py @@ -14,6 +14,8 @@ class TestMaxNLocator(object): (20, 100, np.array([20., 40., 60., 80., 100.])), (0.001, 0.0001, np.array([0., 0.0002, 0.0004, 0.0006, 0.0008, 0.001])), (-1e15, 1e15, np.array([-1.0e+15, -5.0e+14, 0e+00, 5e+14, 1.0e+15])), + (0, 0.85e-50, np.arange(6) * 2e-51), + (-0.85e-50, 0, np.arange(-5, 1) * 2e-51), ] integer_data = [ @@ -64,7 +66,7 @@ def test_set_params(self): """ mult = mticker.MultipleLocator(base=0.7) mult.set_params(base=1.7) - assert mult._base == 1.7 + assert mult._edge.step == 1.7 class TestAutoMinorLocator(object): diff --git a/lib/matplotlib/ticker.py b/lib/matplotlib/ticker.py index 6cd13a290e10..71f798a20afa 100644 --- a/lib/matplotlib/ticker.py +++ b/lib/matplotlib/ticker.py @@ -1661,13 +1661,12 @@ def view_limits(self, vmin, vmax): return mtransforms.nonsingular(vmin, vmax) +@cbook.deprecated("3.0") def closeto(x, y): - if abs(x - y) < 1e-10: - return True - else: - return False + return abs(x - y) < 1e-10 +@cbook.deprecated("3.0") class Base(object): 'this solution has some hacks to deal with floating point inaccuracies' def __init__(self, base): @@ -1711,17 +1710,16 @@ def get_base(self): class MultipleLocator(Locator): """ - Set a tick on every integer that is multiple of base in the - view interval + Set a tick on each integer multiple of a base within the view interval. """ def __init__(self, base=1.0): - self._base = Base(base) + self._edge = _Edge_integer(base, 0) def set_params(self, base): """Set parameters within this locator.""" if base is not None: - self._base = base + self._edge = _Edge_integer(base, 0) def __call__(self): 'Return the locations of the ticks' @@ -1731,20 +1729,20 @@ def __call__(self): def tick_values(self, vmin, vmax): if vmax < vmin: vmin, vmax = vmax, vmin - vmin = self._base.ge(vmin) - base = self._base.get_base() - n = (vmax - vmin + 0.001 * base) // base - locs = vmin - base + np.arange(n + 3) * base + step = self._edge.step + vmin = self._edge.ge(vmin) * step + n = (vmax - vmin + 0.001 * step) // step + locs = vmin - step + np.arange(n + 3) * step return self.raise_if_exceeds(locs) def view_limits(self, dmin, dmax): """ Set the view limits to the nearest multiples of base that - contain the data + contain the data. """ if rcParams['axes.autolimit_mode'] == 'round_numbers': - vmin = self._base.le(dmin) - vmax = self._base.ge(dmax) + vmin = self._edge.le(dmin) * self._edge.step + vmax = self._base.ge(dmax) * self._edge.step if vmin == vmax: vmin -= 1 vmax += 1 @@ -1766,6 +1764,49 @@ def scale_range(vmin, vmax, n=1, threshold=100): return scale, offset +class _Edge_integer: + """ + Helper for MaxNLocator, MultipleLocator, etc. + + Take floating point precision limitations into account when calculating + tick locations as integer multiples of a step. + """ + def __init__(self, step, offset): + """ + *step* is a positive floating-point interval between ticks. + *offset* is the offset subtracted from the data limits + prior to calculating tick locations. + """ + if step <= 0: + raise ValueError("'step' must be positive") + self.step = step + self._offset = abs(offset) + + def closeto(self, ms, edge): + # Allow more slop when the offset is large compared to the step. + if self._offset > 0: + digits = np.log10(self._offset / self.step) + tol = max(1e-10, 10 ** (digits - 12)) + tol = min(0.4999, tol) + else: + tol = 1e-10 + return abs(ms - edge) < tol + + def le(self, x): + 'Return the largest n: n*step <= x.' + d, m = _divmod(x, self.step) + if self.closeto(m / self.step, 1): + return (d + 1) + return d + + def ge(self, x): + 'Return the smallest n: n*step >= x.' + d, m = _divmod(x, self.step) + if self.closeto(m / self.step, 0): + return d + return (d + 1) + + class MaxNLocator(Locator): """ Select no more than N intervals at nice locations. @@ -1880,6 +1921,12 @@ def set_params(self, **kwargs): self._integer = kwargs['integer'] def _raw_ticks(self, vmin, vmax): + """ + Generate a list of tick locations including the range *vmin* to + *vmax*. In some applications, one or both of the end locations + will not be needed, in which case they are trimmed off + elsewhere. + """ if self._nbins == 'auto': if self.axis is not None: nbins = np.clip(self.axis.get_tick_space(), @@ -1892,7 +1939,7 @@ def _raw_ticks(self, vmin, vmax): scale, offset = scale_range(vmin, vmax, nbins) _vmin = vmin - offset _vmax = vmax - offset - raw_step = (vmax - vmin) / nbins + raw_step = (_vmax - _vmin) / nbins steps = self._extended_steps * scale if self._integer: # For steps > 1, keep only integer values. @@ -1911,20 +1958,27 @@ def _raw_ticks(self, vmin, vmax): break # This is an upper limit; move to smaller steps if necessary. - for i in range(istep): - step = steps[istep - i] + for istep in reversed(range(istep + 1)): + step = steps[istep] + if (self._integer and np.floor(_vmax) - np.ceil(_vmin) >= self._min_n_ticks - 1): step = max(1, step) best_vmin = (_vmin // step) * step - low = np.round(Base(step).le(_vmin - best_vmin) / step) - high = np.round(Base(step).ge(_vmax - best_vmin) / step) - ticks = np.arange(low, high + 1) * step + best_vmin + offset - nticks = ((ticks <= vmax) & (ticks >= vmin)).sum() + # Find tick locations spanning the vmin-vmax range, taking into + # account degradation of precision when there is a large offset. + # The edge ticks beyond vmin and/or vmax are needed for the + # "round_numbers" autolimit mode. + edge = _Edge_integer(step, offset) + low = edge.le(_vmin - best_vmin) + high = edge.ge(_vmax - best_vmin) + ticks = np.arange(low, high + 1) * step + best_vmin + # Count only the ticks that will be displayed. + nticks = ((ticks <= _vmax) & (ticks >= _vmin)).sum() if nticks >= self._min_n_ticks: break - return ticks + return ticks + offset def __call__(self): vmin, vmax = self.axis.get_view_interval() From 529a45013fedc1c1292feadfeb8d2ae93d3fb104 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Wed, 22 Aug 2018 19:40:44 -0400 Subject: [PATCH 1113/1161] Backport PR #11897: HTMLWriter, put initialisation of frames in setup --- lib/matplotlib/animation.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/matplotlib/animation.py b/lib/matplotlib/animation.py index afe466e0af06..2a85d23bb724 100644 --- a/lib/matplotlib/animation.py +++ b/lib/matplotlib/animation.py @@ -849,9 +849,6 @@ def __init__(self, fps=30, codec=None, bitrate=None, extra_args=None, self.default_mode = 'loop' _log.warning("unrecognized default_mode: using 'loop'") - self._saved_frames = [] - self._total_bytes = 0 - self._hit_limit = False super().__init__(fps, codec, bitrate, extra_args, metadata) def setup(self, fig, outfile, dpi, frame_dir=None): @@ -859,6 +856,10 @@ def setup(self, fig, outfile, dpi, frame_dir=None): if ext not in ['.html', '.htm']: raise ValueError("outfile must be *.htm or *.html") + self._saved_frames = [] + self._total_bytes = 0 + self._hit_limit = False + if not self.embed_frames: if frame_dir is None: frame_dir = root + '_frames' @@ -875,7 +876,6 @@ def grab_frame(self, **savefig_kwargs): # Just stop processing if we hit the limit if self._hit_limit: return - suffix = '.' + self.frame_format f = BytesIO() self.fig.savefig(f, format=self.frame_format, dpi=self.dpi, **savefig_kwargs) @@ -909,11 +909,12 @@ def communicate(self): if self.embed_frames: fill_frames = _embedded_frames(self._saved_frames, self.frame_format) + Nframes = len(self._saved_frames) else: # temp names is filled by FileMovieWriter fill_frames = _included_frames(self._temp_names, self.frame_format) - + Nframes = len(self._temp_names) mode_dict = dict(once_checked='', loop_checked='', reflect_checked='') @@ -924,7 +925,7 @@ def communicate(self): with open(self.outfile, 'w') as of: of.write(JS_INCLUDE) of.write(DISPLAY_TEMPLATE.format(id=uuid.uuid4().hex, - Nframes=len(self._temp_names), + Nframes=Nframes, fill_frames=fill_frames, interval=interval, **mode_dict)) From 818b24c3c512978abe40727cd7ce305beb5fa783 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Wed, 22 Aug 2018 19:41:45 -0700 Subject: [PATCH 1114/1161] Backport PR #11917: BUG: make arg 'N' and kwarg 'levels' behave the same when scalar --- lib/matplotlib/contour.py | 20 +++++++------------- lib/matplotlib/tests/test_contour.py | 11 +++++++++++ 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/lib/matplotlib/contour.py b/lib/matplotlib/contour.py index 3eede0126d4e..a93207a1557a 100644 --- a/lib/matplotlib/contour.py +++ b/lib/matplotlib/contour.py @@ -1225,21 +1225,15 @@ def _contour_level_args(self, z, args): self._auto = False if self.levels is None: if len(args) == 0: - lev = self._autolev(7) + levels_arg = 7 # Default, hard-wired. else: - level_arg = args[0] - try: - if isinstance(level_arg, Integral): - lev = self._autolev(level_arg) - else: - lev = np.asarray(level_arg).astype(np.float64) - except: - raise TypeError( - "Last {0} arg must give levels; see help({0})" - .format(fn)) - self.levels = lev + levels_arg = args[0] + else: + levels_arg = self.levels + if isinstance(levels_arg, Integral): + self.levels = self._autolev(levels_arg) else: - self.levels = np.asarray(self.levels).astype(np.float64) + self.levels = np.asarray(levels_arg).astype(np.float64) if not self.filled: inside = (self.levels > self.zmin) & (self.levels < self.zmax) diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py index 0acaf6580006..9868f4023cd7 100644 --- a/lib/matplotlib/tests/test_contour.py +++ b/lib/matplotlib/tests/test_contour.py @@ -130,6 +130,17 @@ def test_contour_empty_levels(): assert len(record) == 1 +def test_contour_Nlevels(): + # A scalar levels arg or kwarg should trigger auto level generation. + # https://github.com/matplotlib/matplotlib/issues/11913 + z = np.arange(12).reshape((3, 4)) + fig, ax = plt.subplots() + cs1 = ax.contour(z, 5) + assert len(cs1.levels) > 1 + cs2 = ax.contour(z, levels=5) + assert (cs1.levels == cs2.levels).all() + + def test_contour_badlevel_fmt(): # test funny edge case from # https://github.com/matplotlib/matplotlib/issues/9742 From 19351e665e47d4555c13266b7f92099d0e36a5ee Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Mon, 27 Aug 2018 15:11:59 -0400 Subject: [PATCH 1115/1161] Backport PR #11934: Suppress the "non-GUI backend" warning from the .. plot:: directive... --- lib/matplotlib/sphinxext/plot_directive.py | 11 ++++++++--- lib/matplotlib/sphinxext/tests/test_tinypages.py | 8 +++++--- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/lib/matplotlib/sphinxext/plot_directive.py b/lib/matplotlib/sphinxext/plot_directive.py index 92d094d0410a..c7b0749a0715 100644 --- a/lib/matplotlib/sphinxext/plot_directive.py +++ b/lib/matplotlib/sphinxext/plot_directive.py @@ -156,6 +156,7 @@ import jinja2 # Sphinx dependency. import matplotlib +from matplotlib.backend_bases import FigureManagerBase try: with warnings.catch_warnings(record=True): warnings.simplefilter("error", UserWarning) @@ -492,9 +493,13 @@ def run_code(code, code_path, ns=None, function_name=None): exec(str(setup.config.plot_pre_code), ns) if "__main__" in code: ns['__name__'] = '__main__' - exec(code, ns) - if function_name is not None: - exec(function_name + "()", ns) + + # Patch out non-interactive show() to avoid triggering a warning. + with cbook._setattr_cm(FigureManagerBase, show=lambda self: None): + exec(code, ns) + if function_name is not None: + exec(function_name + "()", ns) + except (Exception, SystemExit) as err: raise PlotError(traceback.format_exc()) finally: diff --git a/lib/matplotlib/sphinxext/tests/test_tinypages.py b/lib/matplotlib/sphinxext/tests/test_tinypages.py index 6377dc0347ef..50d94ee30311 100644 --- a/lib/matplotlib/sphinxext/tests/test_tinypages.py +++ b/lib/matplotlib/sphinxext/tests/test_tinypages.py @@ -19,11 +19,13 @@ def test_tinypages(tmpdir): # Build the pages with warnings turned into errors cmd = [sys.executable, '-msphinx', '-W', '-b', 'html', '-d', doctree_dir, pjoin(dirname(__file__), 'tinypages'), html_dir] - proc = Popen(cmd, stdout=PIPE, stderr=PIPE) + proc = Popen(cmd, stdout=PIPE, stderr=PIPE, universal_newlines=True) out, err = proc.communicate() assert proc.returncode == 0, \ - "'{} -msphinx' failed with stdout:\n{}\nstderr:\n{}\n".format( - sys.executable, out, err) + "sphinx build failed with stdout:\n{}\nstderr:\n{}\n".format(out, err) + if err: + pytest.fail("sphinx build emitted the following warnings:\n{}" + .format(err)) assert isdir(html_dir) From b4d1c6a094374680d458838cca62a2a7640c87ca Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Mon, 27 Aug 2018 22:24:05 +0200 Subject: [PATCH 1116/1161] Backport PR #11949: Remove test2.png from examples. --- examples/test2.png | Bin 1199 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 examples/test2.png diff --git a/examples/test2.png b/examples/test2.png deleted file mode 100644 index 68c75e2ad2adfab5346dd7ed6be62ac49bc0a617..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1199 zcmV;g1W@~lP)<h;3K|Lk000e1NJLTq002Y)001cn1^@s6jCqeX00004b3#c}2nYxW zd<bNS000DLNkl<ZXo2n8X{c3I6bJC%%j!8~Xp@18Mw1cPtQBP_CWWDWsA#SaS_Bb= z5tTtoAJPWvLqSEQA0nkF$gpUnur#yD=2<JX;h7CqYG(Ffo!7fw?t6Ei`|def_=nBD zcb~QP+V_9=UVE**Pm5`GpaMJ9Xgdxo@itz|%7kv%n1(G?<&AFi*9;t~<F_ppzxN#2 zxrT5n2I68o-${o((GP9doG^f8IHltIrUacva5A1tkb4WqW}k;*Ir>n0hNR$he2c+} z@_*sGit=NFcI#mXCU>WUMhVG_Lj-}JV>b3J$j<#3gHerkPzE7O#PS=5%W)`P6ic%R zOcBKF(};2{AJS|*UGe!nyos-I8Xhaa-fGOjZMZP6a#>5J5^Y$4{R*^kHzwl5yo%d` zkp9B?ttimOFJhKV%d1!hA-4)AHxwt}39Q0Xb@Zl+nB}}qo?nzbzpj(#4+#f5GS6Vk zAY?G+;Zw{N{$niusH3+yt4Gv$))zDI1!i@kzf{B*lkyC<45xZ_gL<!vps&_He52U9 zCt_n4eY}7(#O~IW+`rfsJ|q>tiCyV%>{`)&Fs{I}m|v%lmqbLJ>|D2JLST`IR}QOa zyAv(AGC_Y?R-cq=@V`I^9m{5d$cgU4M+y3$h`j0eRD(tMkS$H<qa~{=9c!y_plz6* z*v}@BG8~v{xCla8>Wd`fOMEY8$Q104OYn1!K33}>w60?<YRT-5Co8@$!8>?gM>g6Q z3ljQTEdJrC;*92joMTxderHl{QxqYSMeNazv0}FvAp)s>SSMnVdh2_Un039y?(%oe zv24id-BN^$BIGPvN22Spx;3-eZg+wDamw<no{Lu+7|Z&s?vo;11R<^113y)?^$=U& zN|A-G&DtwZu4<tLSBa?hng++y?kAH@>53p^Pmx?zVzY=PhKR^<K-S)->%*eU#FCmW z$ZQ0?vikQF;UadK4dTqT7S`Zhk?cL1$*r%F8HDq35H1kQ<o0fir+qBHrU(}?L)Hoh z*xq-4v4jZ6HcA9cZ~#88(jSMLMV>M*t5XiLJHr66<bFsIE-JZu6-S8EvAyt!@FQ@K zm?cDx@l2KOgIQ@728ygW2}KcdAI=qod?v`Lh4C8ChEvcBdyA|$2}KdIP(+nop)c;W z^={N`3>Q1q!c>JKle;-}p0C5>1==TqL3lY;VSCSZyNl7nX@8iiPy`{>_qcgVGtoor zSP$n>DuR%fPD*clg_&K*G!tXQHa|O$QkhHUT5<4O7AA?4_goQf8Hdb7$Ua<LK@2Ow z-XNSRUVF%evS!Fk+)$D&Vm96(F4uFRj2SXoy#DY3jw!+3a2zei!Ez<aAY`P-N5%^$ zw~NSfyOXeWhMwXA>r9FFFx4o7kQrGaUW*u}7&72`T#auU?VuJR8^zu0Ec}_Z-6R}h zHRe~yz@;L8*;cqkTyWLHQ6g<1;+0jh^OBYwZy|1t|9j}38#@T8!aty7-3{!nb?pEE N002ovPDHLkV1hk%JTU+O From 46614d326cfac8dc0ac6e1a6d5cad25a30d3bae9 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Mon, 27 Aug 2018 20:55:26 -0400 Subject: [PATCH 1117/1161] Backport PR #11896: Resolve backend in rcParams.__getitem__("backend"). --- lib/matplotlib/__init__.py | 40 ++++++++++++++++------ lib/matplotlib/backends/__init__.py | 9 ++--- lib/matplotlib/pyplot.py | 43 +++++++----------------- lib/matplotlib/testing/__init__.py | 2 +- lib/matplotlib/testing/conftest.py | 4 ++- lib/matplotlib/tests/test_backend_svg.py | 2 +- 6 files changed, 49 insertions(+), 51 deletions(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 3f2a6a300e30..f7b37ee3b612 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -138,7 +138,7 @@ # cbook must import matplotlib only within function # definitions, so it is safe to import from it here. -from . import cbook +from . import cbook, rcsetup from matplotlib.cbook import ( MatplotlibDeprecationWarning, dedent, get_label, sanitize_sequence) from matplotlib.cbook import mplDeprecation # deprecated @@ -853,6 +853,10 @@ def __setitem__(self, key, val): cbook.warn_deprecated( "3.0", "{} is deprecated; in the future, examples will be " "found relative to the 'datapath' directory.".format(key)) + elif key == 'backend': + if val is rcsetup._auto_backend_sentinel: + if 'backend' in self: + return try: cval = self.validate[key](val) except ValueError as ve: @@ -881,6 +885,12 @@ def __getitem__(self, key): "3.0", "{} is deprecated; in the future, examples will be " "found relative to the 'datapath' directory.".format(key)) + elif key == "backend": + val = dict.__getitem__(self, key) + if val is rcsetup._auto_backend_sentinel: + from matplotlib import pyplot as plt + plt.switch_backend(rcsetup._auto_backend_sentinel) + return dict.__getitem__(self, key) def __repr__(self): @@ -1095,10 +1105,10 @@ def rc_params_from_file(fname, fail_on_error=False, use_default_template=True): _fullpath = os.path.join(_basedir, rcParams['examples.directory']) rcParams['examples.directory'] = _fullpath -rcParamsOrig = rcParams.copy() with warnings.catch_warnings(): warnings.simplefilter("ignore", MatplotlibDeprecationWarning) + rcParamsOrig = RcParams(rcParams.copy()) rcParamsDefault = RcParams([(key, default) for key, (default, converter) in defaultParams.items() if key not in _all_deprecated]) @@ -1222,7 +1232,7 @@ def rc_file_defaults(): with warnings.catch_warnings(): warnings.simplefilter("ignore", mplDeprecation) from .style.core import STYLE_BLACKLIST - rcParams.update({k: v for k, v in rcParamsOrig.items() + rcParams.update({k: rcParamsOrig[k] for k in rcParamsOrig if k not in STYLE_BLACKLIST}) @@ -1238,7 +1248,8 @@ def rc_file(fname): with warnings.catch_warnings(): warnings.simplefilter("ignore", mplDeprecation) from .style.core import STYLE_BLACKLIST - rcParams.update({k: v for k, v in rc_params_from_file(fname).items() + rc_from_file = rc_params_from_file(fname) + rcParams.update({k: rc_from_file[k] for k in rc_from_file if k not in STYLE_BLACKLIST}) @@ -1289,16 +1300,23 @@ def __init__(self, rc=None, fname=None): if rc: rcParams.update(rc) except Exception: - # If anything goes wrong, revert to the original rcs. - dict.update(rcParams, self._orig) + self.__fallback() raise + def __fallback(self): + # If anything goes wrong, revert to the original rcs. + updated_backend = self._orig['backend'] + dict.update(rcParams, self._orig) + # except for the backend. If the context block triggered resloving + # the auto backend resolution keep that value around + if self._orig['backend'] is rcsetup._auto_backend_sentinel: + rcParams['backend'] = updated_backend + def __enter__(self): return self def __exit__(self, exc_type, exc_value, exc_tb): - # No need to revalidate the original values. - dict.update(rcParams, self._orig) + self.__fallback() def use(arg, warn=True, force=False): @@ -1324,14 +1342,14 @@ def use(arg, warn=True, force=False): force : bool, optional If True, attempt to switch the backend. This defaults to - false and using `.pyplot.switch_backend` is preferred. + False. """ name = validate_backend(arg) # if setting back to the same thing, do nothing - if (rcParams['backend'] == name): + if (dict.__getitem__(rcParams, 'backend') == name): pass # Check if we have already imported pyplot and triggered @@ -1361,7 +1379,7 @@ def use(arg, warn=True, force=False): if os.environ.get('MPLBACKEND'): - use(os.environ['MPLBACKEND']) + rcParams['backend'] = os.environ.get('MPLBACKEND') def get_backend(): diff --git a/lib/matplotlib/backends/__init__.py b/lib/matplotlib/backends/__init__.py index e4e6082e7d79..01e230df6804 100644 --- a/lib/matplotlib/backends/__init__.py +++ b/lib/matplotlib/backends/__init__.py @@ -10,12 +10,9 @@ _log = logging.getLogger(__name__) -backend = matplotlib.get_backend() -# FIXME: Remove. -_backend_loading_tb = "".join( - line for line in traceback.format_stack() - # Filter out line noise from importlib line. - if not line.startswith(' File "<frozen importlib._bootstrap')) + +# NOTE: plt.switch_backend() (called at import time) will add a "backend" +# attribute here for backcompat. def _get_running_interactive_framework(): diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index 7fd08c29b27d..900c52bd149b 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -39,7 +39,7 @@ from matplotlib.backend_bases import FigureCanvasBase from matplotlib.figure import Figure, figaspect from matplotlib.gridspec import GridSpec -from matplotlib import rcParams, rcParamsDefault, get_backend +from matplotlib import rcParams, rcParamsDefault, get_backend, rcParamsOrig from matplotlib import rc_context from matplotlib.rcsetup import interactive_bk as _interactive_bk from matplotlib.artist import getp, get, Artist @@ -67,7 +67,7 @@ Locator, IndexLocator, FixedLocator, NullLocator,\ LinearLocator, LogLocator, AutoLocator, MultipleLocator,\ MaxNLocator -from matplotlib.backends import pylab_setup +from matplotlib.backends import pylab_setup, _get_running_interactive_framework _log = logging.getLogger(__name__) @@ -78,35 +78,15 @@ # FIXME: Deprecate. def _backend_selection(): """ - If rcParams['backend_fallback'] is true, check to see if the - current backend is compatible with the current running event loop, - and if not switches to a compatible one. - """ - backend = rcParams['backend'] - if not rcParams['backend_fallback'] or backend not in _interactive_bk: - return - is_agg_backend = rcParams['backend'].endswith('Agg') - if 'wx' in sys.modules and backend not in ('WX', 'WXAgg'): - import wx - if wx.App.IsMainLoopRunning(): - rcParams['backend'] = 'wx' + 'Agg' * is_agg_backend - elif 'PyQt4.QtCore' in sys.modules and not backend == 'Qt4Agg': - import PyQt4.QtGui - if not PyQt4.QtGui.qApp.startingUp(): - # The mainloop is running. - rcParams['backend'] = 'qt4Agg' - elif 'PyQt5.QtCore' in sys.modules and not backend == 'Qt5Agg': - import PyQt5.QtWidgets - if not PyQt5.QtWidgets.qApp.startingUp(): - # The mainloop is running. - rcParams['backend'] = 'qt5Agg' - elif 'gtk' in sys.modules and 'gi' in sys.modules: - from gi.repository import GLib - if GLib.MainLoop().is_running(): - rcParams['backend'] = 'GTK3Agg' - elif 'Tkinter' in sys.modules and not backend == 'TkAgg': - # import Tkinter - pass # what if anything do we need to do for tkinter? + If rcParams['backend_fallback'] is true, we will check (at backend + load-time) to see if the current backend is compatible with the current + running event loop, and if not switches to a compatible one. + """ + if rcParams["backend_fallback"]: + if (dict.__getitem__(rcParams, "backend") in _interactive_bk + and _get_running_interactive_framework()): + dict.__setitem__( + rcParams, "backend", rcsetup._auto_backend_sentinel) _backend_selection() @@ -237,6 +217,7 @@ def switch_backend(newbackend): except ImportError: continue else: + rcParamsOrig['backend'] = candidate return backend_name = ( diff --git a/lib/matplotlib/testing/__init__.py b/lib/matplotlib/testing/__init__.py index 759ea5ca9f65..2e19bd6d1563 100644 --- a/lib/matplotlib/testing/__init__.py +++ b/lib/matplotlib/testing/__init__.py @@ -36,7 +36,7 @@ def setup(): "Could not set locale to English/United States. " "Some date-related tests may fail.") - mpl.use('Agg', warn=False) # use Agg backend for these tests + mpl.use('Agg', force=True, warn=False) # use Agg backend for these tests with warnings.catch_warnings(): warnings.simplefilter("ignore", MatplotlibDeprecationWarning) diff --git a/lib/matplotlib/testing/conftest.py b/lib/matplotlib/testing/conftest.py index 5f2b2ca5a63b..8aaebb22e2df 100644 --- a/lib/matplotlib/testing/conftest.py +++ b/lib/matplotlib/testing/conftest.py @@ -8,7 +8,7 @@ def pytest_configure(config): - matplotlib.use('agg') + matplotlib.use('agg', force=True) matplotlib._called_from_pytest = True matplotlib._init_tests() @@ -53,6 +53,8 @@ def mpl_test_settings(request): if backend is not None: plt.switch_backend(prev_backend) + assert matplotlib.get_backend() == 'agg' + @pytest.fixture def mpl_image_comparison_parameters(request, extension): diff --git a/lib/matplotlib/tests/test_backend_svg.py b/lib/matplotlib/tests/test_backend_svg.py index ea4070cc3cbe..835ff01bb5bd 100644 --- a/lib/matplotlib/tests/test_backend_svg.py +++ b/lib/matplotlib/tests/test_backend_svg.py @@ -139,7 +139,7 @@ def test_determinism(filename, usetex): [sys.executable, '-R', '-c', 'import matplotlib; ' 'matplotlib._called_from_pytest = True; ' - 'matplotlib.use("svg"); ' + 'matplotlib.use("svg", force=True); ' 'from matplotlib.tests.test_backend_svg ' 'import _test_determinism_save;' '_test_determinism_save(%r, %r)' % (filename, usetex)], From b6563c09ce8c22d013179a101fde8f9229d7f1fd Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Mon, 27 Aug 2018 21:27:18 -0400 Subject: [PATCH 1118/1161] REL: v3.0.0rc2 This is the second release candidate for Matplotlib 3.0. From 97c43998c0aa75cff160599dd4e05259e0412203 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Mon, 27 Aug 2018 21:29:17 -0400 Subject: [PATCH 1119/1161] MNT: bump branch away from tag From b51b742ca39d9f594b297d54fe938743b74e1b41 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Tue, 28 Aug 2018 22:57:55 +0200 Subject: [PATCH 1120/1161] Backport PR #11961: Downgrade backend_version log to DEBUG level. --- lib/matplotlib/pyplot.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index 900c52bd149b..265ca857ef88 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -227,8 +227,8 @@ def switch_backend(newbackend): backend_mod = importlib.import_module(backend_name) Backend = type( "Backend", (matplotlib.backends._Backend,), vars(backend_mod)) - _log.info("Loaded backend %s version %s.", - newbackend, Backend.backend_version) + _log.debug("Loaded backend %s version %s.", + newbackend, Backend.backend_version) required_framework = Backend.required_interactive_framework current_framework = \ From feffa1c3cfa8a790bf38a0ab6138df966d39e2e7 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Tue, 28 Aug 2018 18:17:11 -0400 Subject: [PATCH 1121/1161] Backport PR #11963: Fix some lgtm convention alerts --- .flake8 | 4 ++-- lib/matplotlib/backends/backend_cairo.py | 2 +- lib/matplotlib/font_manager.py | 4 ++-- lib/matplotlib/rcsetup.py | 2 +- lib/mpl_toolkits/axisartist/axis_artist.py | 2 +- lib/mpl_toolkits/mplot3d/art3d.py | 3 +-- 6 files changed, 8 insertions(+), 9 deletions(-) diff --git a/.flake8 b/.flake8 index 969b277ffd99..b139c87d0490 100644 --- a/.flake8 +++ b/.flake8 @@ -33,7 +33,7 @@ per-file-ignores = matplotlib/backend_bases.py: E225 matplotlib/backends/_backend_tk.py: E203, E222, E225, E231, E271, E301, E303, E401, E501, E701 matplotlib/backends/backend_agg.py: E261, E302, E701 - matplotlib/backends/backend_cairo.py: E203, E221, E261, E303, E402, E711 + matplotlib/backends/backend_cairo.py: E203, E221, E261, E303, E402 matplotlib/backends/backend_gtk3.py: E203, E221, E222, E225, E251, E261, E501 matplotlib/backends/backend_macosx.py: E231, E261 matplotlib/backends/backend_pgf.py: E303, E731 @@ -70,7 +70,7 @@ per-file-ignores = mpl_toolkits/axes_grid1/inset_locator.py: E501 mpl_toolkits/axes_grid1/mpl_axes.py: E303, E501 mpl_toolkits/axisartist/angle_helper.py: E201, E203, E221, E222, E225, E231, E251, E261, E262, E302, E303, E501 - mpl_toolkits/axisartist/axis_artist.py: E201, E202, E221, E225, E228, E231, E251, E261, E262, E302, E303, E402, E501, E701, E711 + mpl_toolkits/axisartist/axis_artist.py: E201, E202, E221, E225, E228, E231, E251, E261, E262, E302, E303, E402, E501, E701 mpl_toolkits/axisartist/axisline_style.py: E231, E261, E262, E302, E303 mpl_toolkits/axisartist/axislines.py: E225, E231, E261, E303, E501 mpl_toolkits/axisartist/clip_path.py: E225, E302, E303, E501 diff --git a/lib/matplotlib/backends/backend_cairo.py b/lib/matplotlib/backends/backend_cairo.py index 42517ea837ff..3727c270456d 100644 --- a/lib/matplotlib/backends/backend_cairo.py +++ b/lib/matplotlib/backends/backend_cairo.py @@ -506,7 +506,7 @@ def set_clip_path(self, path): def set_dashes(self, offset, dashes): self._dashes = offset, dashes - if dashes == None: + if dashes is None: self.ctx.set_dash([], 0) # switch dashes off else: self.ctx.set_dash( diff --git a/lib/matplotlib/font_manager.py b/lib/matplotlib/font_manager.py index e451dfdb281f..42542b101096 100644 --- a/lib/matplotlib/font_manager.py +++ b/lib/matplotlib/font_manager.py @@ -128,8 +128,8 @@ "/Network/Library/Fonts/", "/System/Library/Fonts/", # fonts installed via MacPorts - "/opt/local/share/fonts" - "" + "/opt/local/share/fonts", + "", ] if not USE_FONTCONFIG and sys.platform != 'win32': diff --git a/lib/matplotlib/rcsetup.py b/lib/matplotlib/rcsetup.py index 3b532b91d732..4e57b29205b9 100644 --- a/lib/matplotlib/rcsetup.py +++ b/lib/matplotlib/rcsetup.py @@ -1089,7 +1089,7 @@ def _validate_linestyle(ls): 'font.cursive': [['Apple Chancery', 'Textile', 'Zapf Chancery', 'Sand', 'Script MT', 'Felipa', 'cursive'], validate_stringlist], - 'font.fantasy': [['Comic Sans MS', 'Chicago', 'Charcoal', 'Impact' + 'font.fantasy': [['Comic Sans MS', 'Chicago', 'Charcoal', 'Impact', 'Western', 'Humor Sans', 'xkcd', 'fantasy'], validate_stringlist], 'font.monospace': [['DejaVu Sans Mono', 'Bitstream Vera Sans Mono', diff --git a/lib/mpl_toolkits/axisartist/axis_artist.py b/lib/mpl_toolkits/axisartist/axis_artist.py index be51bd57db88..9b45952aba71 100644 --- a/lib/mpl_toolkits/axisartist/axis_artist.py +++ b/lib/mpl_toolkits/axisartist/axis_artist.py @@ -972,7 +972,7 @@ def set_axisline_style(self, axisline_style=None, **kw): available styles as a list of strings. """ - if axisline_style==None: + if axisline_style is None: return AxislineStyle.pprint_styles() if isinstance(axisline_style, AxislineStyle._Base): diff --git a/lib/mpl_toolkits/mplot3d/art3d.py b/lib/mpl_toolkits/mplot3d/art3d.py index 796cb8dff4d4..862d04788bc3 100644 --- a/lib/mpl_toolkits/mplot3d/art3d.py +++ b/lib/mpl_toolkits/mplot3d/art3d.py @@ -144,8 +144,7 @@ def set_3d_properties(self, zs=0, zdir='z'): try: # If *zs* is a list or array, then this will fail and # just proceed to juggle_axes(). - zs = float(zs) - zs = [zs for x in xs] + zs = np.full_like(xs, fill_value=float(zs)) except TypeError: pass self._verts3d = juggle_axes(xs, ys, zs, zdir) From 7ecca63c1c9a531ff6f3b74e094839ea1841199e Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade <quantum.analyst@gmail.com> Date: Tue, 28 Aug 2018 20:59:26 -0400 Subject: [PATCH 1122/1161] Fix an invalid escape sequence. --- lib/matplotlib/artist.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/artist.py b/lib/matplotlib/artist.py index 7244989eb0ad..75a602d04844 100644 --- a/lib/matplotlib/artist.py +++ b/lib/matplotlib/artist.py @@ -1510,7 +1510,7 @@ def setp(obj, *args, **kwargs): def kwdoc(artist): - """ + r""" Inspect an `~matplotlib.artist.Artist` class and return information about its settable properties and their current values. From edc537ef106cd88c968a2c8d54fe8852dcd86ef2 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Wed, 29 Aug 2018 18:14:43 -0400 Subject: [PATCH 1123/1161] Backport PR #11973: TST: Fix duplicate file usage when running in parallel. --- lib/matplotlib/tests/test_axes.py | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index a5b7331d3777..6c1f7a2c4019 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -2996,24 +2996,21 @@ def test_hist_stacked_step(): ax.hist((d1, d2), histtype="step", stacked=True) -@image_comparison(baseline_images=['hist_stacked_normed']) -def test_hist_stacked_normed(): - # make some data - d1 = np.linspace(1, 3, 20) - d2 = np.linspace(0, 10, 50) - fig, ax = plt.subplots() - with pytest.warns(UserWarning): - ax.hist((d1, d2), stacked=True, normed=True) - - -@image_comparison(baseline_images=['hist_stacked_normed'], extensions=['png']) +@image_comparison(baseline_images=['hist_stacked_normed', + 'hist_stacked_normed']) def test_hist_stacked_density(): # make some data d1 = np.linspace(1, 3, 20) d2 = np.linspace(0, 10, 50) + fig, ax = plt.subplots() ax.hist((d1, d2), stacked=True, density=True) + # Also check that the old keyword works. + fig, ax = plt.subplots() + with pytest.warns(UserWarning): + ax.hist((d1, d2), stacked=True, normed=True) + @pytest.mark.parametrize('normed', [False, True]) @pytest.mark.parametrize('density', [False, True]) From 32658ca477cb0ab1dc3d3e43a185b7a9f96429e3 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Fri, 31 Aug 2018 21:42:06 +0200 Subject: [PATCH 1124/1161] Backport PR #11988: Updated typo in fill_between docstring --- lib/matplotlib/axes/_axes.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index ed7552418ae7..bb749e1c9e85 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -4969,11 +4969,11 @@ def fill_between(self, x, y1, y2=0, where=None, interpolate=False, By default, the nodes of the polygon defining the filled region will only be placed at the positions in the *x* array. Such a polygon cannot describe the above semantics close to the - intersection. The x-sections containing the intersecion are + intersection. The x-sections containing the intersection are simply clipped. Setting *interpolate* to *True* will calculate the actual - interscection point and extend the filled region up to this point. + intersection point and extend the filled region up to this point. step : {'pre', 'post', 'mid'}, optional Define *step* if the filling should be a step function, From b7aa1946ab815d92a5e318dccc31ee2983ac0ab3 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Wed, 5 Sep 2018 07:39:00 +0200 Subject: [PATCH 1125/1161] Backport PR #12016: Fix AttributeError in GTK3Agg backend --- lib/matplotlib/backends/backend_gtk3agg.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/backends/backend_gtk3agg.py b/lib/matplotlib/backends/backend_gtk3agg.py index 0a4884f7abef..a9342a36869c 100644 --- a/lib/matplotlib/backends/backend_gtk3agg.py +++ b/lib/matplotlib/backends/backend_gtk3agg.py @@ -2,6 +2,7 @@ import numpy as np +from .. import cbook from . import backend_agg, backend_cairo, backend_gtk3 from ._gtk3_compat import gi from .backend_cairo import cairo @@ -45,7 +46,7 @@ def on_draw_event(self, widget, ctx): width = int(bbox.x1) - int(bbox.x0) height = int(bbox.y1) - int(bbox.y0) - buf = backend_cairo._unmultipled_rgba8888_to_premultiplied_argb32( + buf = cbook._unmultipled_rgba8888_to_premultiplied_argb32( np.asarray(self.copy_from_bbox(bbox))) image = cairo.ImageSurface.create_for_data( buf.ravel().data, cairo.FORMAT_ARGB32, width, height) From 98c3dd47150f1a172c338dbdca726be154181a91 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Wed, 5 Sep 2018 10:43:31 +0200 Subject: [PATCH 1126/1161] Backport PR #12019: typo: s/unmultipled/unmultiplied --- lib/matplotlib/backends/backend_cairo.py | 2 +- lib/matplotlib/backends/backend_gtk3agg.py | 2 +- lib/matplotlib/backends/backend_qt5agg.py | 2 +- lib/matplotlib/cbook/__init__.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/backends/backend_cairo.py b/lib/matplotlib/backends/backend_cairo.py index 3727c270456d..80103fb50498 100644 --- a/lib/matplotlib/backends/backend_cairo.py +++ b/lib/matplotlib/backends/backend_cairo.py @@ -338,7 +338,7 @@ def _draw_paths(): _draw_paths() def draw_image(self, gc, x, y, im): - im = cbook._unmultipled_rgba8888_to_premultiplied_argb32(im[::-1]) + im = cbook._unmultiplied_rgba8888_to_premultiplied_argb32(im[::-1]) surface = cairo.ImageSurface.create_for_data( im.ravel().data, cairo.FORMAT_ARGB32, im.shape[1], im.shape[0], im.shape[1] * 4) diff --git a/lib/matplotlib/backends/backend_gtk3agg.py b/lib/matplotlib/backends/backend_gtk3agg.py index a9342a36869c..34c1d113d3a6 100644 --- a/lib/matplotlib/backends/backend_gtk3agg.py +++ b/lib/matplotlib/backends/backend_gtk3agg.py @@ -46,7 +46,7 @@ def on_draw_event(self, widget, ctx): width = int(bbox.x1) - int(bbox.x0) height = int(bbox.y1) - int(bbox.y0) - buf = cbook._unmultipled_rgba8888_to_premultiplied_argb32( + buf = cbook._unmultiplied_rgba8888_to_premultiplied_argb32( np.asarray(self.copy_from_bbox(bbox))) image = cairo.ImageSurface.create_for_data( buf.ravel().data, cairo.FORMAT_ARGB32, width, height) diff --git a/lib/matplotlib/backends/backend_qt5agg.py b/lib/matplotlib/backends/backend_qt5agg.py index 9275d5673059..a4fba25a55ee 100644 --- a/lib/matplotlib/backends/backend_qt5agg.py +++ b/lib/matplotlib/backends/backend_qt5agg.py @@ -53,7 +53,7 @@ def paintEvent(self, event): [[left, self.renderer.height - (top + height * self._dpi_ratio)], [left + width * self._dpi_ratio, self.renderer.height - top]]) reg = self.copy_from_bbox(bbox) - buf = cbook._unmultipled_rgba8888_to_premultiplied_argb32( + buf = cbook._unmultiplied_rgba8888_to_premultiplied_argb32( memoryview(reg)) qimage = QtGui.QImage(buf, buf.shape[1], buf.shape[0], QtGui.QImage.Format_ARGB32_Premultiplied) diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index 2c5661253873..825c3328e3af 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -2057,7 +2057,7 @@ def _premultiplied_argb32_to_unmultiplied_rgba8888(buf): return rgba -def _unmultipled_rgba8888_to_premultiplied_argb32(rgba8888): +def _unmultiplied_rgba8888_to_premultiplied_argb32(rgba8888): """ Convert an unmultiplied RGBA8888 buffer to a premultiplied ARGB32 buffer. """ From 5735261ab6646d4d54d96de61fdd4ed2662f65b5 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade <quantum.analyst@gmail.com> Date: Wed, 5 Sep 2018 15:56:48 -0400 Subject: [PATCH 1127/1161] Backport PR #12023: Fix deprecation check in wx Timer. --- lib/matplotlib/backends/backend_wx.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/backends/backend_wx.py b/lib/matplotlib/backends/backend_wx.py index 514038633637..6f836db94a1f 100644 --- a/lib/matplotlib/backends/backend_wx.py +++ b/lib/matplotlib/backends/backend_wx.py @@ -121,7 +121,7 @@ class TimerWx(TimerBase): ''' def __init__(self, *args, **kwargs): - if isinstance(args[0], wx.EvtHandler): + if args and isinstance(args[0], wx.EvtHandler): cbook.warn_deprecated( "3.0", "Passing a wx.EvtHandler as first argument to the " "TimerWx constructor is deprecated since %(version)s.") From 106b34180b4a276c6f2ce9fd071d408205da478d Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Wed, 5 Sep 2018 23:51:56 +0200 Subject: [PATCH 1128/1161] Backport PR #12022: Remove intent to deprecate rcParams["backend_fallback"]. --- lib/matplotlib/pyplot.py | 35 +++++++++++------------------------ 1 file changed, 11 insertions(+), 24 deletions(-) diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index 265ca857ef88..3ab2a6549e7a 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -72,26 +72,6 @@ _log = logging.getLogger(__name__) -## Backend detection ## - - -# FIXME: Deprecate. -def _backend_selection(): - """ - If rcParams['backend_fallback'] is true, we will check (at backend - load-time) to see if the current backend is compatible with the current - running event loop, and if not switches to a compatible one. - """ - if rcParams["backend_fallback"]: - if (dict.__getitem__(rcParams, "backend") in _interactive_bk - and _get_running_interactive_framework()): - dict.__setitem__( - rcParams, "backend", rcsetup._auto_backend_sentinel) - - -_backend_selection() - - ## Global ## @@ -2380,16 +2360,23 @@ def _autogen_docstring(base): return lambda func: addendum(docstring.copy_dedent(base)(func)) -# just to be safe. Interactive mode can be turned on without +# If rcParams['backend_fallback'] is true, and an interactive backend is +# requested, ignore rcParams['backend'] and force selection of a backend that +# is compatible with the current running interactive framework. +if (rcParams["backend_fallback"] + and dict.__getitem__(rcParams, "backend") in _interactive_bk + and _get_running_interactive_framework()): + dict.__setitem__(rcParams, "backend", rcsetup._auto_backend_sentinel) +# Set up the backend. +switch_backend(rcParams["backend"]) + +# Just to be safe. Interactive mode can be turned on without # calling `plt.ion()` so register it again here. # This is safe because multiple calls to `install_repl_displayhook` # are no-ops and the registered function respect `mpl.is_interactive()` # to determine if they should trigger a draw. install_repl_displayhook() -# Set up the backend. -switch_backend(rcParams["backend"]) - ################# REMAINING CONTENT GENERATED BY boilerplate.py ############## From 5c788936a972fbba385a29d8dccede78da191ad4 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Thu, 6 Sep 2018 14:31:32 -0700 Subject: [PATCH 1129/1161] Backport PR #12047: Remove asserting about current backend at the end of mpl_test_settings. --- lib/matplotlib/testing/conftest.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib/matplotlib/testing/conftest.py b/lib/matplotlib/testing/conftest.py index 8aaebb22e2df..40ce56c4895a 100644 --- a/lib/matplotlib/testing/conftest.py +++ b/lib/matplotlib/testing/conftest.py @@ -53,8 +53,6 @@ def mpl_test_settings(request): if backend is not None: plt.switch_backend(prev_backend) - assert matplotlib.get_backend() == 'agg' - @pytest.fixture def mpl_image_comparison_parameters(request, extension): From 10c7cdc11a164c68789b71929101c282c1fa4064 Mon Sep 17 00:00:00 2001 From: Nelle Varoquaux <nelle.varoquaux@gmail.com> Date: Fri, 7 Sep 2018 11:30:48 -0700 Subject: [PATCH 1130/1161] Backport PR #12036: Interactive tests update --- .../tests/test_backends_interactive.py | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/lib/matplotlib/tests/test_backends_interactive.py b/lib/matplotlib/tests/test_backends_interactive.py index 10458dddf9cd..7ba47be93efd 100644 --- a/lib/matplotlib/tests/test_backends_interactive.py +++ b/lib/matplotlib/tests/test_backends_interactive.py @@ -17,22 +17,21 @@ def _get_testable_interactive_backends(): backends = [] - # gtk3agg fails on Travis, needs to be investigated. - for deps, backend in [ # (["cairocffi", "pgi"], "gtk3agg"), - (["cairocffi", "pgi"], "gtk3cairo"), - (["PyQt5"], "qt5agg"), - (["PyQt5", "cariocffi"], "qt5cairo"), - (["tkinter"], "tkagg"), - (["wx"], "wx"), - (["wx"], "wxagg") + for deps, backend in [ + # gtk3agg fails on Travis, needs to be investigated. + # (["cairocffi", "pgi"], "gtk3agg"), + (["cairocffi", "pgi"], "gtk3cairo"), + (["PyQt5"], "qt5agg"), + (["PyQt5", "cairocffi"], "qt5cairo"), + (["tkinter"], "tkagg"), + (["wx"], "wx"), + (["wx"], "wxagg"), ]: reason = None if not os.environ.get("DISPLAY"): reason = "No $DISPLAY" elif any(importlib.util.find_spec(dep) is None for dep in deps): reason = "Missing dependency" - elif "wx" in deps and sys.platform == "darwin": - reason = "wx backends known not to work on OSX" backends.append(pytest.mark.skip(reason=reason)(backend) if reason else backend) return backends @@ -67,9 +66,9 @@ def _get_testable_interactive_backends(): # framework, but can switch to a backend using cairo instead of agg, or a # non-interactive backend. In the first case, we use tkagg as the "other" # interactive backend as it is (essentially) guaranteed to be present. - # Moreover, don't test switching away from gtk3 as Gtk.main_level() is - # not set up at this point yet, and webagg, which uses no interactive - # framework. + # Moreover, don't test switching away from gtk3 (as Gtk.main_level() is + # not set up at this point yet) and webagg (which uses no interactive + # framework). if backend != "tkagg": with assert_raises(ImportError): From 7818577121285c5f1de16a788508df5c3acd43f8 Mon Sep 17 00:00:00 2001 From: Nelle Varoquaux <nelle.varoquaux@gmail.com> Date: Fri, 7 Sep 2018 11:48:54 -0700 Subject: [PATCH 1131/1161] Backport PR #11971: FIX: use cached renderer on Legend.get_window_extent --- lib/matplotlib/legend.py | 6 ++++-- lib/matplotlib/tests/test_legend.py | 11 +++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/legend.py b/lib/matplotlib/legend.py index 22801e6c2641..c186bbc32c57 100644 --- a/lib/matplotlib/legend.py +++ b/lib/matplotlib/legend.py @@ -977,9 +977,11 @@ def get_title(self): 'Return the `.Text` instance for the legend title.' return self._legend_title_box._text - def get_window_extent(self, *args, **kwargs): + def get_window_extent(self, renderer=None): 'Return extent of the legend.' - return self._legend_box.get_window_extent(*args, **kwargs) + if renderer is None: + renderer = self.figure._cachedRenderer + return self._legend_box.get_window_extent(renderer=renderer) def get_tightbbox(self, renderer): """ diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py index 4f92f044fd6b..d508d6f41fc2 100644 --- a/lib/matplotlib/tests/test_legend.py +++ b/lib/matplotlib/tests/test_legend.py @@ -510,6 +510,17 @@ def test_legend_proper_window_extent(): assert pytest.approx(x01*2, 0.1) == x02 +def test_window_extent_cached_renderer(): + fig, ax = plt.subplots(dpi=100) + ax.plot(range(10), label='Aardvark') + leg = ax.legend() + leg2 = fig.legend() + fig.canvas.draw() + # check that get_window_extent will use the cached renderer + leg.get_window_extent() + leg2.get_window_extent() + + def test_legend_title_fontsize(): # test the title_fontsize kwarg fig, ax = plt.subplots() From 480fd8a750b410077bd4147bf98ffbf255acc1de Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Mon, 10 Sep 2018 09:50:36 -0700 Subject: [PATCH 1132/1161] Backport PR #12053: Fix up some OSX backend issues --- src/_macosx.m | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/_macosx.m b/src/_macosx.m index 119fc1b8d622..ce791d1f9d21 100644 --- a/src/_macosx.m +++ b/src/_macosx.m @@ -1804,8 +1804,16 @@ - (void)mouseEntered:(NSEvent *)event NSWindow* window = [self window]; if ([window isKeyWindow]==false) return; + int x, y; + NSPoint location = [event locationInWindow]; + location = [self convertPoint: location fromView: nil]; + x = location.x * device_scale; + y = location.y * device_scale; + gstate = PyGILState_Ensure(); - result = PyObject_CallMethod(canvas, "enter_notify_event", ""); + result = PyObject_CallMethod(canvas, "enter_notify_event", "O(ii)", + Py_None, x, y); + if(result) Py_DECREF(result); else @@ -2414,6 +2422,7 @@ static void context_cleanup(const void* info) CFRunLoopTimerRef timer; CFRunLoopTimerContext context; double milliseconds; + CFAbsoluteTime firstFire; CFTimeInterval interval; PyObject* attribute; PyObject* failure; @@ -2438,12 +2447,15 @@ static void context_cleanup(const void* info) PyErr_SetString(PyExc_AttributeError, "Timer has no attribute '_single'"); return NULL; } + // Need to tell when to first fire this timer, so get the current time + // and add an interval. + interval = milliseconds / 1000.0; + firstFire = CFAbsoluteTimeGetCurrent() + interval; switch (PyObject_IsTrue(attribute)) { case 1: interval = 0; break; - case 0: - interval = milliseconds / 1000.0; + case 0: // Set by default above break; case -1: default: @@ -2467,7 +2479,7 @@ static void context_cleanup(const void* info) context.copyDescription = NULL; context.info = attribute; timer = CFRunLoopTimerCreate(kCFAllocatorDefault, - 0, + firstFire, interval, 0, 0, From 56fb1c6e2be3e8238c72efe558c34aacfcd39b52 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Mon, 10 Sep 2018 10:27:53 -0700 Subject: [PATCH 1133/1161] Backport PR #12037: Fix ArtistInspector.get_aliases. --- doc/users/next_whats_new/2018-09-06-AL.rst | 12 ++++++++++++ lib/matplotlib/artist.py | 15 +++++++-------- lib/matplotlib/axis.py | 2 +- 3 files changed, 20 insertions(+), 9 deletions(-) create mode 100644 doc/users/next_whats_new/2018-09-06-AL.rst diff --git a/doc/users/next_whats_new/2018-09-06-AL.rst b/doc/users/next_whats_new/2018-09-06-AL.rst new file mode 100644 index 000000000000..dc0ca84f3252 --- /dev/null +++ b/doc/users/next_whats_new/2018-09-06-AL.rst @@ -0,0 +1,12 @@ +:orphan: + +Return type of ArtistInspector.get_aliases changed +`````````````````````````````````````````````````` + +`ArtistInspector.get_aliases` previously returned the set of aliases as +``{fullname: {alias1: None, alias2: None, ...}}``. The dict-to-None mapping +was used to simulate a set in earlier versions of Python. It has now been +replaced by a set, i.e. ``{fullname: {alias1, alias2, ...}}``. + +This value is also stored in `ArtistInspector.aliasd`, which has likewise +changed. diff --git a/lib/matplotlib/artist.py b/lib/matplotlib/artist.py index 75a602d04844..d68334a0c31f 100644 --- a/lib/matplotlib/artist.py +++ b/lib/matplotlib/artist.py @@ -1113,15 +1113,14 @@ def __init__(self, o): def get_aliases(self): """ - Get a dict mapping *fullname* -> *alias* for each *alias* in - the :class:`~matplotlib.artist.ArtistInspector`. + Get a dict mapping property fullnames to sets of aliases for each alias + in the :class:`~matplotlib.artist.ArtistInspector`. e.g., for lines:: - {'markerfacecolor': 'mfc', - 'linewidth' : 'lw', + {'markerfacecolor': {'mfc'}, + 'linewidth' : {'lw'}, } - """ names = [name for name in dir(self.o) if name.startswith(('set_', 'get_')) @@ -1131,9 +1130,9 @@ def get_aliases(self): func = getattr(self.o, name) if not self.is_alias(func): continue - docstring = func.__doc__ - fullname = docstring.replace('`', '')[10:] - aliases.setdefault(fullname[4:], {})[name[4:]] = None + propname = re.search("`({}.*)`".format(name[:4]), # get_.*/set_.* + func.__doc__).group(1) + aliases.setdefault(propname, set()).add(name[4:]) return aliases _get_valid_values_regex = re.compile( diff --git a/lib/matplotlib/axis.py b/lib/matplotlib/axis.py index fdebfb2156ca..06a3925dd35a 100644 --- a/lib/matplotlib/axis.py +++ b/lib/matplotlib/axis.py @@ -30,7 +30,7 @@ # allows all Line2D kwargs. _line_AI = artist.ArtistInspector(mlines.Line2D) _line_param_names = _line_AI.get_setters() -_line_param_aliases = [list(d.keys())[0] for d in _line_AI.aliasd.values()] +_line_param_aliases = [list(d)[0] for d in _line_AI.aliasd.values()] _gridline_param_names = ['grid_' + name for name in _line_param_names + _line_param_aliases] From 4ca4a21ea3f310fc822a4f1eb7ead224aada96f1 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Mon, 10 Sep 2018 15:32:18 -0400 Subject: [PATCH 1134/1161] Backport PR #12012: FIX: fallback text renderer to fig._cachedRenderer, if none found --- lib/matplotlib/text.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/matplotlib/text.py b/lib/matplotlib/text.py index b49bac53a893..5108351e0af7 100644 --- a/lib/matplotlib/text.py +++ b/lib/matplotlib/text.py @@ -921,6 +921,8 @@ def get_window_extent(self, renderer=None, dpi=None): if renderer is not None: self._renderer = renderer + if self._renderer is None: + self._renderer = self.figure._cachedRenderer if self._renderer is None: raise RuntimeError('Cannot get window extent w/o renderer') From 6b150e29e3a02c9aaf27e1405d2f5859c13dd152 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Tue, 11 Sep 2018 12:00:56 -0700 Subject: [PATCH 1135/1161] Backport PR #12092: Update backend_qt5agg to fix PySide2 mem issues --- lib/matplotlib/backends/backend_qt5agg.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/backends/backend_qt5agg.py b/lib/matplotlib/backends/backend_qt5agg.py index a4fba25a55ee..ae37afe0bdbb 100644 --- a/lib/matplotlib/backends/backend_qt5agg.py +++ b/lib/matplotlib/backends/backend_qt5agg.py @@ -64,7 +64,7 @@ def paintEvent(self, event): painter.drawImage(origin / self._dpi_ratio, qimage) # Adjust the buf reference count to work around a memory # leak bug in QImage under PySide on Python 3. - if QT_API == 'PySide': + if QT_API in ('PySide', 'PySide2'): ctypes.c_long.from_address(id(buf)).value = 1 self._draw_rect_callback(painter) From d266600b21bd581d400cbddf6e7603c1093f4e73 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Tue, 11 Sep 2018 22:07:58 -0400 Subject: [PATCH 1136/1161] Backport PR #12091: Respect QT_API even when the backend is not Qt{4,5}{Agg,Cairo}. --- lib/matplotlib/backends/qt_compat.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/backends/qt_compat.py b/lib/matplotlib/backends/qt_compat.py index 6a0b0db480b9..b0fa0a907371 100644 --- a/lib/matplotlib/backends/qt_compat.py +++ b/lib/matplotlib/backends/qt_compat.py @@ -24,7 +24,12 @@ QT_API_PYQTv2 = "PyQt4v2" QT_API_PYSIDE = "PySide" QT_API_PYQT = "PyQt4" # Use the old sip v1 API (Py3 defaults to v2). -QT_API_ENV = os.environ.get('QT_API') +QT_API_ENV = os.environ.get("QT_API") +# Mapping of QT_API_ENV to requested binding. ETS does not support PyQt4v1. +# (https://github.com/enthought/pyface/blob/master/pyface/qt/__init__.py) +_ETS = {"pyqt5": QT_API_PYQT5, "pyside2": QT_API_PYSIDE2, + "pyqt": QT_API_PYQTv2, "pyside": QT_API_PYSIDE, + None: None} # First, check if anything is already imported. if "PyQt5" in sys.modules: QT_API = QT_API_PYQT5 @@ -41,13 +46,13 @@ # Otherwise, check the QT_API environment variable (from Enthought). This can # only override the binding, not the backend (in other words, we check that the # requested backend actually matches). -elif rcParams["backend"] == "Qt5Agg": +elif rcParams["backend"] in ["Qt5Agg", "Qt5Cairo"]: if QT_API_ENV == "pyqt5": dict.__setitem__(rcParams, "backend.qt5", QT_API_PYQT5) elif QT_API_ENV == "pyside2": dict.__setitem__(rcParams, "backend.qt5", QT_API_PYSIDE2) QT_API = dict.__getitem__(rcParams, "backend.qt5") -elif rcParams["backend"] == "Qt4Agg": +elif rcParams["backend"] in ["Qt4Agg", "Qt4Cairo"]: if QT_API_ENV == "pyqt4": dict.__setitem__(rcParams, "backend.qt4", QT_API_PYQTv2) elif QT_API_ENV == "pyside": @@ -56,7 +61,12 @@ # A non-Qt backend was selected but we still got there (possible, e.g., when # fully manually embedding Matplotlib in a Qt app without using pyplot). else: - QT_API = None + try: + QT_API = _ETS[QT_API_ENV] + except KeyError: + raise RuntimeError( + "The environment variable QT_API has the unrecognized value {!r};" + "valid values are 'pyqt5', 'pyside2', 'pyqt', and 'pyside'") def _setup_pyqt5(): From 2ba839955cd663126aff5fe123c426e711d673b7 Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Thu, 13 Sep 2018 23:43:55 +0200 Subject: [PATCH 1137/1161] Backport PR #12109: Pin to sphinx<1.8; unremove sphinxext.mathmpl. --- doc-requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc-requirements.txt b/doc-requirements.txt index c0ee2014cf64..58a5c698043b 100644 --- a/doc-requirements.txt +++ b/doc-requirements.txt @@ -6,7 +6,7 @@ # Install the documentation requirements with: # pip install -r doc-requirements.txt # -sphinx>=1.3,!=1.5.0,!=1.6.4,!=1.7.3 +sphinx>=1.3,!=1.5.0,!=1.6.4,!=1.7.3,<1.8 colorspacious ipython ipywidgets From f195c64e58fb93895db3283464c01d0d1030fd4d Mon Sep 17 00:00:00 2001 From: Antony Lee <anntzer.lee@gmail.com> Date: Fri, 14 Sep 2018 07:42:36 +0200 Subject: [PATCH 1138/1161] Backport PR #12112: Reword the LockDraw docstring. --- lib/matplotlib/widgets.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/lib/matplotlib/widgets.py b/lib/matplotlib/widgets.py index 65e11e10a232..f26fb484b74d 100644 --- a/lib/matplotlib/widgets.py +++ b/lib/matplotlib/widgets.py @@ -23,38 +23,38 @@ class LockDraw(object): """ Some widgets, like the cursor, draw onto the canvas, and this is not - desirable under all circumstances, like when the toolbar is in - zoom-to-rect mode and drawing a rectangle. The module level "lock" - allows someone to grab the lock and prevent other widgets from - drawing. Use ``matplotlib.widgets.lock(someobj)`` to prevent - other widgets from drawing while you're interacting with the canvas. + desirable under all circumstances, like when the toolbar is in zoom-to-rect + mode and drawing a rectangle. To avoid this, a widget can acquire a + canvas' lock with ``canvas.widgetlock(widget)`` before drawing on the + canvas; this will prevent other widgets from doing so at the same time (if + they also try to acquire the lock first). """ def __init__(self): self._owner = None def __call__(self, o): - """reserve the lock for *o*""" + """Reserve the lock for *o*.""" if not self.available(o): raise ValueError('already locked') self._owner = o def release(self, o): - """release the lock""" + """Release the lock from *o*.""" if not self.available(o): raise ValueError('you do not own this lock') self._owner = None def available(self, o): - """drawing is available to *o*""" + """Return whether drawing is available to *o*.""" return not self.locked() or self.isowner(o) def isowner(self, o): - """Return True if *o* owns this lock""" + """Return whether *o* owns this lock.""" return self._owner is o def locked(self): - """Return True if the lock is currently held by an owner""" + """Return whether the lock is currently held by an owner.""" return self._owner is not None From ce2cb92541996ef6f286c950e0ab3bcbf203982a Mon Sep 17 00:00:00 2001 From: Nelle Varoquaux <nelle.varoquaux@gmail.com> Date: Sat, 15 Sep 2018 04:27:26 -0700 Subject: [PATCH 1139/1161] Backport PR #12117: Fix Agg extent calculations for empty draws --- lib/matplotlib/tests/test_backend_pdf.py | 8 ++++++++ src/_backend_agg.cpp | 13 +++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/tests/test_backend_pdf.py b/lib/matplotlib/tests/test_backend_pdf.py index d895a282e7fa..773c6021be3d 100644 --- a/lib/matplotlib/tests/test_backend_pdf.py +++ b/lib/matplotlib/tests/test_backend_pdf.py @@ -232,3 +232,11 @@ def test_failing_latex(tmpdir): plt.xlabel("$22_2_2$") with pytest.raises(RuntimeError): plt.savefig(path) + + +def test_empty_rasterised(): + # Check that emtpy figures that are rasterised save to pdf files fine + with PdfPages(io.BytesIO()) as pdf: + fig, ax = plt.subplots() + ax.plot([], [], rasterized=True) + fig.savefig(pdf, format="pdf") diff --git a/src/_backend_agg.cpp b/src/_backend_agg.cpp index 6d0f90400913..04375466d064 100644 --- a/src/_backend_agg.cpp +++ b/src/_backend_agg.cpp @@ -201,10 +201,15 @@ agg::rect_i RendererAgg::get_content_extents() } } - r.x1 = std::max(0, r.x1); - r.y1 = std::max(0, r.y1); - r.x2 = std::min(r.x2 + 1, (int)width); - r.y2 = std::min(r.y2 + 1, (int)height); + if (r.x1 == width && r.x2 == 0) { + // The buffer is completely empty. + r.x1 = r.y1 = r.x2 = r.y2 = 0; + } else { + r.x1 = std::max(0, r.x1); + r.y1 = std::max(0, r.y1); + r.x2 = std::min(r.x2 + 1, (int)width); + r.y2 = std::min(r.y2 + 1, (int)height); + } return r; } From a0088e54d60b85f75614951a9356f03f30b045b8 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Sat, 15 Sep 2018 14:26:25 -0400 Subject: [PATCH 1140/1161] Merge pull request #12128 from anntzer/sphinx18math FIX: Unbreak the Sphinx 1.8 build by renaming :math: to :mathmpl:. --- doc-requirements.txt | 2 +- doc/users/next_whats_new/2018-09-15-AL.rst | 12 +++++++ lib/matplotlib/sphinxext/mathmpl.py | 15 +++++--- tutorials/text/mathtext.py | 42 +++++++++++----------- 4 files changed, 44 insertions(+), 27 deletions(-) create mode 100644 doc/users/next_whats_new/2018-09-15-AL.rst diff --git a/doc-requirements.txt b/doc-requirements.txt index 58a5c698043b..c0ee2014cf64 100644 --- a/doc-requirements.txt +++ b/doc-requirements.txt @@ -6,7 +6,7 @@ # Install the documentation requirements with: # pip install -r doc-requirements.txt # -sphinx>=1.3,!=1.5.0,!=1.6.4,!=1.7.3,<1.8 +sphinx>=1.3,!=1.5.0,!=1.6.4,!=1.7.3 colorspacious ipython ipywidgets diff --git a/doc/users/next_whats_new/2018-09-15-AL.rst b/doc/users/next_whats_new/2018-09-15-AL.rst new file mode 100644 index 000000000000..863d2f2b005b --- /dev/null +++ b/doc/users/next_whats_new/2018-09-15-AL.rst @@ -0,0 +1,12 @@ +:orphan: + +``:math:`` directive renamed to ``:mathmpl:`` +````````````````````````````````````````````` + +The ``:math:`` rst role provided by `matplotlib.sphinxext.mathmpl` has been +renamed to ``:mathmpl:`` to avoid conflicting with the ``:math:`` role that +Sphinx 1.8 provides by default. (``:mathmpl:`` uses Matplotlib to render math +expressions to images embedded in html, whereas Sphinx uses MathJax.) + +When using Sphinx<1.8, both names (``:math:`` and ``:mathmpl:``) remain +available for backcompatibility. diff --git a/lib/matplotlib/sphinxext/mathmpl.py b/lib/matplotlib/sphinxext/mathmpl.py index aef2fb877bb9..b1b934304a76 100644 --- a/lib/matplotlib/sphinxext/mathmpl.py +++ b/lib/matplotlib/sphinxext/mathmpl.py @@ -1,10 +1,11 @@ +import hashlib import os import sys -from hashlib import md5 +import warnings from docutils import nodes from docutils.parsers.rst import directives -import warnings +import sphinx from matplotlib import rcParams from matplotlib.mathtext import MathTextParser @@ -61,7 +62,7 @@ def latex2png(latex, filename, fontset='cm'): def latex2html(node, source): inline = isinstance(node.parent, nodes.TextElement) latex = node['latex'] - name = 'math-%s' % md5(latex.encode()).hexdigest()[-10:] + name = 'math-%s' % hashlib.md5(latex.encode()).hexdigest()[-10:] destdir = os.path.join(setup.app.builder.outdir, '_images', 'mathmpl') if not os.path.exists(destdir): @@ -110,9 +111,13 @@ def depart_latex_math_latex(self, node): app.add_node(latex_math, html=(visit_latex_math_html, depart_latex_math_html), latex=(visit_latex_math_latex, depart_latex_math_latex)) - app.add_role('math', math_role) - app.add_directive('math', math_directive, + app.add_role('mathmpl', math_role) + app.add_directive('mathmpl', math_directive, True, (0, 0, 0), **options_spec) + if sphinx.version_info < (1, 8): + app.add_role('math', math_role) + app.add_directive('math', math_directive, + True, (0, 0, 0), **options_spec) metadata = {'parallel_read_safe': True, 'parallel_write_safe': True} return metadata diff --git a/tutorials/text/mathtext.py b/tutorials/text/mathtext.py index 9fafdcf1ed64..4ed6e297c73e 100644 --- a/tutorials/text/mathtext.py +++ b/tutorials/text/mathtext.py @@ -44,7 +44,7 @@ # # math text # plt.title(r'$\alpha > \beta$') # -# produces ":math:`\alpha > \beta`". +# produces ":mathmpl:`\alpha > \beta`". # # .. note:: # Mathtext should be placed between a pair of dollar signs ($). To @@ -77,9 +77,9 @@ # # \alpha_i > \beta_i # -# Some symbols automatically put their sub/superscripts under and over -# the operator. For example, to write the sum of :math:`x_i` from :math:`0` to -# :math:`\infty`, you could do:: +# Some symbols automatically put their sub/superscripts under and over the +# operator. For example, to write the sum of :mathmpl:`x_i` from :mathmpl:`0` +# to :mathmpl:`\infty`, you could do:: # # r'$\sum_{i=0}^\infty x_i$' # @@ -200,13 +200,13 @@ # ============================ ================================== # Command Result # ============================ ================================== -# ``\mathrm{Roman}`` :math:`\mathrm{Roman}` -# ``\mathit{Italic}`` :math:`\mathit{Italic}` -# ``\mathtt{Typewriter}`` :math:`\mathtt{Typewriter}` -# ``\mathcal{CALLIGRAPHY}`` :math:`\mathcal{CALLIGRAPHY}` +# ``\mathrm{Roman}`` :mathmpl:`\mathrm{Roman}` +# ``\mathit{Italic}`` :mathmpl:`\mathit{Italic}` +# ``\mathtt{Typewriter}`` :mathmpl:`\mathtt{Typewriter}` +# ``\mathcal{CALLIGRAPHY}`` :mathmpl:`\mathcal{CALLIGRAPHY}` # ============================ ================================== # -# .. role:: math-stix(math) +# .. role:: math-stix(mathmpl) # :fontset: stix # # When using the `STIX <http://www.stixfonts.org/>`_ fonts, you also have the choice of: @@ -294,16 +294,16 @@ # ============================== ================================= # Command Result # ============================== ================================= -# ``\acute a`` or ``\'a`` :math:`\acute a` -# ``\bar a`` :math:`\bar a` -# ``\breve a`` :math:`\breve a` -# ``\ddot a`` or ``\''a`` :math:`\ddot a` -# ``\dot a`` or ``\.a`` :math:`\dot a` -# ``\grave a`` or ``\`a`` :math:`\grave a` -# ``\hat a`` or ``\^a`` :math:`\hat a` -# ``\tilde a`` or ``\~a`` :math:`\tilde a` -# ``\vec a`` :math:`\vec a` -# ``\overline{abc}`` :math:`\overline{abc}` +# ``\acute a`` or ``\'a`` :mathmpl:`\acute a` +# ``\bar a`` :mathmpl:`\bar a` +# ``\breve a`` :mathmpl:`\breve a` +# ``\ddot a`` or ``\''a`` :mathmpl:`\ddot a` +# ``\dot a`` or ``\.a`` :mathmpl:`\dot a` +# ``\grave a`` or ``\`a`` :mathmpl:`\grave a` +# ``\hat a`` or ``\^a`` :mathmpl:`\hat a` +# ``\tilde a`` or ``\~a`` :mathmpl:`\tilde a` +# ``\vec a`` :mathmpl:`\vec a` +# ``\overline{abc}`` :mathmpl:`\overline{abc}` # ============================== ================================= # # In addition, there are two special accents that automatically adjust @@ -312,8 +312,8 @@ # ============================== ================================= # Command Result # ============================== ================================= -# ``\widehat{xyz}`` :math:`\widehat{xyz}` -# ``\widetilde{xyz}`` :math:`\widetilde{xyz}` +# ``\widehat{xyz}`` :mathmpl:`\widehat{xyz}` +# ``\widetilde{xyz}`` :mathmpl:`\widetilde{xyz}` # ============================== ================================= # # Care should be taken when putting accents on lower-case i's and j's. From 2fd279fda0eac30613111c349f2d3d3c369bbc46 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Sat, 15 Sep 2018 15:32:31 -0400 Subject: [PATCH 1141/1161] DOC: move last few whats_new entries into main rst --- doc/users/next_whats_new/2018-09-06-AL.rst | 12 ----------- doc/users/next_whats_new/2018-09-15-AL.rst | 12 ----------- doc/users/whats_new.rst | 23 ++++++++++++++++++++++ 3 files changed, 23 insertions(+), 24 deletions(-) delete mode 100644 doc/users/next_whats_new/2018-09-06-AL.rst delete mode 100644 doc/users/next_whats_new/2018-09-15-AL.rst diff --git a/doc/users/next_whats_new/2018-09-06-AL.rst b/doc/users/next_whats_new/2018-09-06-AL.rst deleted file mode 100644 index dc0ca84f3252..000000000000 --- a/doc/users/next_whats_new/2018-09-06-AL.rst +++ /dev/null @@ -1,12 +0,0 @@ -:orphan: - -Return type of ArtistInspector.get_aliases changed -`````````````````````````````````````````````````` - -`ArtistInspector.get_aliases` previously returned the set of aliases as -``{fullname: {alias1: None, alias2: None, ...}}``. The dict-to-None mapping -was used to simulate a set in earlier versions of Python. It has now been -replaced by a set, i.e. ``{fullname: {alias1, alias2, ...}}``. - -This value is also stored in `ArtistInspector.aliasd`, which has likewise -changed. diff --git a/doc/users/next_whats_new/2018-09-15-AL.rst b/doc/users/next_whats_new/2018-09-15-AL.rst deleted file mode 100644 index 863d2f2b005b..000000000000 --- a/doc/users/next_whats_new/2018-09-15-AL.rst +++ /dev/null @@ -1,12 +0,0 @@ -:orphan: - -``:math:`` directive renamed to ``:mathmpl:`` -````````````````````````````````````````````` - -The ``:math:`` rst role provided by `matplotlib.sphinxext.mathmpl` has been -renamed to ``:mathmpl:`` to avoid conflicting with the ``:math:`` role that -Sphinx 1.8 provides by default. (``:mathmpl:`` uses Matplotlib to render math -expressions to images embedded in html, whereas Sphinx uses MathJax.) - -When using Sphinx<1.8, both names (``:math:`` and ``:mathmpl:``) remain -available for backcompatibility. diff --git a/doc/users/whats_new.rst b/doc/users/whats_new.rst index 4f89851070b5..2c130030dded 100644 --- a/doc/users/whats_new.rst +++ b/doc/users/whats_new.rst @@ -239,6 +239,29 @@ Headless linux servers (identified by the DISPLAY env not being defined) will not select a GUI backend. +Return type of ArtistInspector.get_aliases changed +`````````````````````````````````````````````````` + +`ArtistInspector.get_aliases` previously returned the set of aliases as +``{fullname: {alias1: None, alias2: None, ...}}``. The dict-to-None mapping +was used to simulate a set in earlier versions of Python. It has now been +replaced by a set, i.e. ``{fullname: {alias1, alias2, ...}}``. + +This value is also stored in `ArtistInspector.aliasd`, which has likewise +changed. + + +``:math:`` directive renamed to ``:mathmpl:`` +````````````````````````````````````````````` + +The ``:math:`` rst role provided by `matplotlib.sphinxext.mathmpl` has been +renamed to ``:mathmpl:`` to avoid conflicting with the ``:math:`` role that +Sphinx 1.8 provides by default. (``:mathmpl:`` uses Matplotlib to render math +expressions to images embedded in html, whereas Sphinx uses MathJax.) + +When using Sphinx<1.8, both names (``:math:`` and ``:mathmpl:``) remain +available for backcompatibility. + ================== Previous Whats New From ba9cebbfa52e20d94762b1df138de248574fbf0d Mon Sep 17 00:00:00 2001 From: Nelle Varoquaux <nelle.varoquaux@gmail.com> Date: Fri, 7 Sep 2018 14:27:24 -0700 Subject: [PATCH 1142/1161] Merge pull request #11928 from anntzer/sphinx18 Update doc/conf.py to avoid warnings with (future) sphinx 1.8. --- doc/conf.py | 8 ++++++-- doc/sphinxext/github.py | 4 ---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/doc/conf.py b/doc/conf.py index 5b2395702e62..45fd6620e373 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -37,7 +37,6 @@ 'IPython.sphinxext.ipython_directive', 'numpydoc', # Needs to be loaded *after* autodoc. 'sphinx_gallery.gen_gallery', - 'matplotlib.sphinxext.mathmpl', 'matplotlib.sphinxext.plot_directive', 'sphinxext.custom_roles', 'sphinxext.github', @@ -45,6 +44,8 @@ 'sphinxext.mock_gui_toolkits', 'sphinxext.skip_deprecated', ] +if sphinx.version_info < (1, 8): + extensions.append('matplotlib.sphinxext.mathmpl') exclude_patterns = ['api/api_changes/*', 'users/whats_new/*'] @@ -84,7 +85,10 @@ def _check_deps(): autosummary_generate = True autodoc_docstring_signature = True -autodoc_default_flags = ['members', 'undoc-members'] +if sphinx.version_info < (1, 8): + autodoc_default_flags = ['members', 'undoc-members'] +else: + autodoc_default_options = {'members': None, 'undoc-members': None} intersphinx_mapping = { 'python': ('https://docs.python.org/3', None), diff --git a/doc/sphinxext/github.py b/doc/sphinxext/github.py index 8f0ffc0d9782..75c5ce10ae9d 100644 --- a/doc/sphinxext/github.py +++ b/doc/sphinxext/github.py @@ -75,7 +75,6 @@ def ghissue_role(name, rawtext, text, lineno, inliner, options={}, content=[]): prb = inliner.problematic(rawtext, rawtext, msg) return [prb], [msg] app = inliner.document.settings.env.app - #app.info('issue %r' % text) if 'pull' in name.lower(): category = 'pull' elif 'issue' in name.lower(): @@ -105,7 +104,6 @@ def ghuser_role(name, rawtext, text, lineno, inliner, options={}, content=[]): :param content: The directive content for customization. """ app = inliner.document.settings.env.app - #app.info('user link %r' % text) ref = 'https://www.github.com/' + text node = nodes.reference(rawtext, text, refuri=ref, **options) return [node], [] @@ -126,7 +124,6 @@ def ghcommit_role(name, rawtext, text, lineno, inliner, options={}, content=[]): :param content: The directive content for customization. """ app = inliner.document.settings.env.app - #app.info('user link %r' % text) try: base = app.config.github_project_url if not base: @@ -146,7 +143,6 @@ def setup(app): :param app: Sphinx application context. """ - app.info('Initializing GitHub plugin') app.add_role('ghissue', ghissue_role) app.add_role('ghpull', ghissue_role) app.add_role('ghuser', ghuser_role) From 9b1c4bed4b3a18d3b4f6dc1afd3292389b93d73b Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Sat, 15 Sep 2018 16:14:35 -0400 Subject: [PATCH 1143/1161] Merge pull request #11962 from anntzer/setupextbackend BLD: Propagate changes to backend loading to setup/setupext. --- .flake8 | 2 +- setup.cfg.template | 9 +- setup.py | 32 ++----- setupext.py | 230 --------------------------------------------- 4 files changed, 12 insertions(+), 261 deletions(-) diff --git a/.flake8 b/.flake8 index b139c87d0490..630d7dfda16e 100644 --- a/.flake8 +++ b/.flake8 @@ -23,7 +23,7 @@ exclude = per-file-ignores = setup.py: E402 - setupext.py: E302, E501 + setupext.py: E501 tools/compare_backend_driver_results.py: E501 tools/subset.py: E221, E231, E251, E261, E302, E501, E701 diff --git a/setup.cfg.template b/setup.cfg.template index 7ccfb7edcbe4..4fed27d31302 100644 --- a/setup.cfg.template +++ b/setup.cfg.template @@ -63,15 +63,9 @@ # behavior # #agg = auto -#cairo = auto -#gtk3agg = auto -#gtk3cairo = auto #macosx = auto -#pyside = auto -#qt4agg = auto #tkagg = auto #windowing = auto -#wxagg = auto [rc_options] # User-configurable options @@ -81,10 +75,9 @@ # # The Agg, Ps, Pdf and SVG backends do not require external dependencies. Do # not choose MacOSX, or TkAgg if you have disabled the relevant extension -# modules. Agg will be used by default. +# modules. The default is determined by fallback. # #backend = Agg -# [package_data] # Package additional files found in the lib/matplotlib directories. diff --git a/setup.py b/setup.py index 6eab9b6b88fd..7e82e94c29c8 100644 --- a/setup.py +++ b/setup.py @@ -70,18 +70,9 @@ setupext.Tests(), setupext.Toolkits_Tests(), 'Optional backend extensions', - # These backends are listed in order of preference, the first - # being the most preferred. The first one that looks like it will - # work will be selected as the default backend. - setupext.BackendMacOSX(), - setupext.BackendQt5(), - setupext.BackendQt4(), - setupext.BackendGtk3Agg(), - setupext.BackendGtk3Cairo(), - setupext.BackendTkAgg(), - setupext.BackendWxAgg(), setupext.BackendAgg(), - setupext.BackendCairo(), + setupext.BackendTkAgg(), + setupext.BackendMacOSX(), setupext.Windowing(), 'Optional package data', setupext.Dlls(), @@ -133,7 +124,6 @@ def run(self): package_dir = {'': 'lib'} install_requires = [] setup_requires = [] - default_backend = None # If the user just queries for information, don't bother figuring out which # packages to build or install. @@ -169,10 +159,6 @@ def run(self): required_failed.append(package) else: good_packages.append(package) - if (isinstance(package, setupext.OptionalBackendPackage) - and package.runtime_check() - and default_backend is None): - default_backend = package.name print_raw('') # Abort if any of the required packages can not be built. @@ -203,14 +189,16 @@ def run(self): setup_requires.extend(package.get_setup_requires()) # Write the default matplotlibrc file - if default_backend is None: - default_backend = 'svg' - if setupext.options['backend']: - default_backend = setupext.options['backend'] with open('matplotlibrc.template') as fd: - template = fd.read() + template_lines = fd.read().splitlines(True) + backend_line_idx, = [ # Also asserts that there is a single such line. + idx for idx, line in enumerate(template_lines) + if line.startswith('#backend ')] + if setupext.options['backend']: + template_lines[backend_line_idx] = ( + 'backend: {}'.format(setupext.options['backend'])) with open('lib/matplotlib/mpl-data/matplotlibrc', 'w') as fd: - fd.write(template) + fd.write(''.join(template_lines)) # Finalize the extension modules so they can get the Numpy include # dirs diff --git a/setupext.py b/setupext.py index 5644bae9dab5..582c7d89c9da 100644 --- a/setupext.py +++ b/setupext.py @@ -384,13 +384,6 @@ def check(self): """ pass - def runtime_check(self): - """ - True if the runtime dependencies of the backend are met. Assumes that - the build-time dependencies are met. - """ - return True - def get_packages(self): """ Get a list of package names to add to the configuration. @@ -1368,10 +1361,6 @@ class BackendTkAgg(OptionalBackendPackage): def check(self): return "installing; run-time loading from Python Tcl / Tk" - def runtime_check(self): - """Checks whether TkAgg runtime dependencies are met.""" - return importlib.util.find_spec("tkinter") is not None - def get_extension(self): sources = [ 'src/_tkagg.cpp' @@ -1391,57 +1380,6 @@ def add_flags(self, ext): ext.libraries.extend(['dl']) -class BackendGtk3Agg(OptionalBackendPackage): - name = "gtk3agg" - - def check_requirements(self): - if not any(map(importlib.util.find_spec, ["cairocffi", "cairo"])): - raise CheckFailed("Requires cairocffi or pycairo to be installed.") - - try: - import gi - except ImportError: - raise CheckFailed("Requires pygobject to be installed.") - - try: - gi.require_version("Gtk", "3.0") - except ValueError: - raise CheckFailed( - "Requires gtk3 development files to be installed.") - except AttributeError: - raise CheckFailed("pygobject version too old.") - - try: - from gi.repository import Gtk, Gdk, GObject - except (ImportError, RuntimeError): - raise CheckFailed("Requires pygobject to be installed.") - - return "version {}.{}.{}".format( - Gtk.get_major_version(), - Gtk.get_minor_version(), - Gtk.get_micro_version()) - - def get_package_data(self): - return {'matplotlib': ['mpl-data/*.glade']} - - -class BackendGtk3Cairo(BackendGtk3Agg): - name = "gtk3cairo" - - -class BackendWxAgg(OptionalBackendPackage): - name = "wxagg" - - def check_requirements(self): - try: - import wx - backend_version = wx.VERSION_STRING - except ImportError: - raise CheckFailed("requires wxPython") - - return "version %s" % backend_version - - class BackendMacOSX(OptionalBackendPackage): name = 'macosx' @@ -1487,174 +1425,6 @@ def get_extension(self): return ext -class BackendQtBase(OptionalBackendPackage): - - def convert_qt_version(self, version): - version = '%x' % version - temp = [] - while len(version) > 0: - version, chunk = version[:-2], version[-2:] - temp.insert(0, str(int(chunk, 16))) - return '.'.join(temp) - - def check_requirements(self): - """ - If PyQt4/PyQt5 is already imported, importing PyQt5/PyQt4 will fail - so we need to test in a subprocess (as for Gtk3). - """ - try: - p = multiprocessing.Pool() - - except: - # Can't do multiprocessing, fall back to normal approach - # (this will fail if importing both PyQt4 and PyQt5). - try: - # Try in-process - msg = self.callback(self) - except RuntimeError: - raise CheckFailed( - "Could not import: are PyQt4 & PyQt5 both installed?") - - else: - # Multiprocessing OK - try: - res = p.map_async(self.callback, [self]) - msg = res.get(timeout=10)[0] - except multiprocessing.TimeoutError: - p.terminate() - # No result returned. Probably hanging, terminate the process. - raise CheckFailed("Check timed out") - except: - # Some other error. - p.close() - raise - else: - # Clean exit - p.close() - finally: - # Tidy up multiprocessing - p.join() - - return msg - - -def backend_pyside_internal_check(self): - try: - from PySide import __version__ - from PySide import QtCore - except ImportError: - raise CheckFailed("PySide not found") - else: - return ("Qt: %s, PySide: %s" % - (QtCore.__version__, __version__)) - - -def backend_pyqt4_internal_check(self): - try: - from PyQt4 import QtCore - except ImportError: - raise CheckFailed("PyQt4 not found") - - try: - qt_version = QtCore.QT_VERSION - pyqt_version_str = QtCore.PYQT_VERSION_STR - except AttributeError: - raise CheckFailed('PyQt4 not correctly imported') - else: - return ("Qt: %s, PyQt: %s" % (self.convert_qt_version(qt_version), pyqt_version_str)) - - -def backend_qt4_internal_check(self): - successes = [] - failures = [] - try: - successes.append(backend_pyside_internal_check(self)) - except CheckFailed as e: - failures.append(str(e)) - - try: - successes.append(backend_pyqt4_internal_check(self)) - except CheckFailed as e: - failures.append(str(e)) - - if len(successes) == 0: - raise CheckFailed('; '.join(failures)) - return '; '.join(successes + failures) - - -class BackendQt4(BackendQtBase): - name = "qt4agg" - - def __init__(self, *args, **kwargs): - BackendQtBase.__init__(self, *args, **kwargs) - self.callback = backend_qt4_internal_check - -def backend_pyside2_internal_check(self): - try: - from PySide2 import __version__ - from PySide2 import QtCore - except ImportError: - raise CheckFailed("PySide2 not found") - else: - return ("Qt: %s, PySide2: %s" % - (QtCore.__version__, __version__)) - -def backend_pyqt5_internal_check(self): - try: - from PyQt5 import QtCore - except ImportError: - raise CheckFailed("PyQt5 not found") - - try: - qt_version = QtCore.QT_VERSION - pyqt_version_str = QtCore.PYQT_VERSION_STR - except AttributeError: - raise CheckFailed('PyQt5 not correctly imported') - else: - return ("Qt: %s, PyQt: %s" % (self.convert_qt_version(qt_version), pyqt_version_str)) - -def backend_qt5_internal_check(self): - successes = [] - failures = [] - try: - successes.append(backend_pyside2_internal_check(self)) - except CheckFailed as e: - failures.append(str(e)) - - try: - successes.append(backend_pyqt5_internal_check(self)) - except CheckFailed as e: - failures.append(str(e)) - - if len(successes) == 0: - raise CheckFailed('; '.join(failures)) - return '; '.join(successes + failures) - -class BackendQt5(BackendQtBase): - name = "qt5agg" - - def __init__(self, *args, **kwargs): - BackendQtBase.__init__(self, *args, **kwargs) - self.callback = backend_qt5_internal_check - - -class BackendCairo(OptionalBackendPackage): - name = "cairo" - - def check_requirements(self): - try: - import cairocffi - except ImportError: - try: - import cairo - except ImportError: - raise CheckFailed("cairocffi or pycairo not found") - else: - return "pycairo version %s" % cairo.version - else: - return "cairocffi version %s" % cairocffi.version - - class OptionalPackageData(OptionalPackage): config_category = "package_data" From 53f24c2f8904c7429c2a4251a45bf05c223ab11e Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Sat, 15 Sep 2018 16:34:03 -0400 Subject: [PATCH 1144/1161] Merge pull request #12099 from jklymak/fix-all-cbar-ticks FIX: make sure all ticks show up for colorbar minor tick --- lib/matplotlib/colorbar.py | 3 ++- lib/matplotlib/tests/test_colorbar.py | 9 +++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/colorbar.py b/lib/matplotlib/colorbar.py index a198cb5fe66c..3df090452a02 100644 --- a/lib/matplotlib/colorbar.py +++ b/lib/matplotlib/colorbar.py @@ -267,7 +267,8 @@ def __call__(self): vmin = self._colorbar.norm.vmin vmax = self._colorbar.norm.vmax ticks = ticker.AutoMinorLocator.__call__(self) - return ticks[(ticks >= vmin) & (ticks <= vmax)] + rtol = (vmax - vmin) * 1e-10 + return ticks[(ticks >= vmin - rtol) & (ticks <= vmax + rtol)] class _ColorbarLogLocator(ticker.LogLocator): diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py index 2230c20e7d2f..56a829418910 100644 --- a/lib/matplotlib/tests/test_colorbar.py +++ b/lib/matplotlib/tests/test_colorbar.py @@ -294,6 +294,15 @@ def test_colorbar_minorticks_on_off(): np.testing.assert_almost_equal(cbar.ax.yaxis.get_minorticklocs(), np.array([])) + im.set_clim(vmin=-1.2, vmax=1.2) + cbar.minorticks_on() + correct_minorticklocs = np.array([-1.2, -1.1, -0.9, -0.8, -0.7, -0.6, + -0.4, -0.3, -0.2, -0.1, 0.1, 0.2, + 0.3, 0.4, 0.6, 0.7, 0.8, 0.9, + 1.1, 1.2]) + np.testing.assert_almost_equal(cbar.ax.yaxis.get_minorticklocs(), + correct_minorticklocs) + def test_colorbar_autoticks(): # Test new autotick modes. Needs to be classic because From 1c56f2b8dfb73476924fd1222cd84bbf5fbfccf9 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Sat, 15 Sep 2018 18:31:45 -0400 Subject: [PATCH 1145/1161] Backport PR #12130: Mention colorbar.minorticks_on/off in references --- examples/color/colorbar_basics.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/examples/color/colorbar_basics.py b/examples/color/colorbar_basics.py index adc9733f6a67..df88c02dd51e 100644 --- a/examples/color/colorbar_basics.py +++ b/examples/color/colorbar_basics.py @@ -55,7 +55,10 @@ # in this example: import matplotlib +import matplotlib.colorbar matplotlib.axes.Axes.imshow matplotlib.pyplot.imshow matplotlib.figure.Figure.colorbar matplotlib.pyplot.colorbar +matplotlib.colorbar.Colorbar.minorticks_on +matplotlib.colorbar.Colorbar.minorticks_off From 9fb90d412f7b25e94aca316cd95288af27663028 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Sat, 15 Sep 2018 19:01:31 -0400 Subject: [PATCH 1146/1161] DOC: backport all of #12109 In #12110 only the pinning got backported, not adding mathmpl back into conf.py --- doc/conf.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/doc/conf.py b/doc/conf.py index 45fd6620e373..c67b3f335ee5 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -37,6 +37,7 @@ 'IPython.sphinxext.ipython_directive', 'numpydoc', # Needs to be loaded *after* autodoc. 'sphinx_gallery.gen_gallery', + 'matplotlib.sphinxext.mathmpl', 'matplotlib.sphinxext.plot_directive', 'sphinxext.custom_roles', 'sphinxext.github', @@ -44,8 +45,6 @@ 'sphinxext.mock_gui_toolkits', 'sphinxext.skip_deprecated', ] -if sphinx.version_info < (1, 8): - extensions.append('matplotlib.sphinxext.mathmpl') exclude_patterns = ['api/api_changes/*', 'users/whats_new/*'] From 9c82c34217fb06dd3797f0899df906e31f7a69b1 Mon Sep 17 00:00:00 2001 From: Jody Klymak <jklymak@gmail.com> Date: Sun, 16 Sep 2018 08:42:31 -0700 Subject: [PATCH 1147/1161] Backport PR #12131: Fixes currently release version of cartopy --- lib/matplotlib/axes/_subplots.py | 25 ++++++++++++++++++++++--- lib/matplotlib/tests/test_axes.py | 18 ++++++++++++++++++ 2 files changed, 40 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/axes/_subplots.py b/lib/matplotlib/axes/_subplots.py index d3498a0a7a11..c229ec9d3514 100644 --- a/lib/matplotlib/axes/_subplots.py +++ b/lib/matplotlib/axes/_subplots.py @@ -188,6 +188,18 @@ def _make_twin_axes(self, *kl, **kwargs): return ax2 +# this here to support cartopy which was using a private part of the +# API to register their Axes subclasses. + +# In 3.1 this should be changed to a dict subclass that warns on use +# In 3.3 to a dict subclass that raises a useful exception on use +# In 3.4 should be removed + +# The slow timeline is to give cartopy enough time to get several +# release out before we break them. +_subplot_classes = {} + + @functools.lru_cache(None) def subplot_class_factory(axes_class=None): """ @@ -199,9 +211,16 @@ def subplot_class_factory(axes_class=None): """ if axes_class is None: axes_class = Axes - return type("%sSubplot" % axes_class.__name__, - (SubplotBase, axes_class), - {'_axes_class': axes_class}) + try: + # Avoid creating two different instances of GeoAxesSubplot... + # Only a temporary backcompat fix. This should be removed in + # 3.4 + return next(cls for cls in SubplotBase.__subclasses__() + if cls.__bases__ == (SubplotBase, axes_class)) + except StopIteration: + return type("%sSubplot" % axes_class.__name__, + (SubplotBase, axes_class), + {'_axes_class': axes_class}) # This is provided for backward compatibility diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index 6c1f7a2c4019..6afed91f34ff 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -5789,3 +5789,21 @@ def test_spines_properbbox_after_zoom(): None, False, False) bb2 = ax.spines['bottom'].get_window_extent(fig.canvas.get_renderer()) np.testing.assert_allclose(bb.get_points(), bb2.get_points(), rtol=1e-6) + + +def test_cartopy_backcompat(): + import matplotlib + import matplotlib.axes + import matplotlib.axes._subplots + + class Dummy(matplotlib.axes.Axes): + ... + + class DummySubplot(matplotlib.axes.SubplotBase, Dummy): + _axes_class = Dummy + + matplotlib.axes._subplots._subplot_classes[Dummy] = DummySubplot + + FactoryDummySubplot = matplotlib.axes.subplot_class_factory(Dummy) + + assert DummySubplot is FactoryDummySubplot From e9f956167382e71d8d14e084defc9bec12ea06d3 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Mon, 17 Sep 2018 08:42:20 -0400 Subject: [PATCH 1148/1161] DOC: re-order whats_new --- doc/users/whats_new.rst | 40 +++++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/doc/users/whats_new.rst b/doc/users/whats_new.rst index 2c130030dded..8d7f2f1e72cd 100644 --- a/doc/users/whats_new.rst +++ b/doc/users/whats_new.rst @@ -22,6 +22,27 @@ revision, see the :ref:`github-stats`. next_whats_new/* +Improved default backend selection +---------------------------------- + +The default backend no longer must be set as part of the build +process. Instead, at run time, the builtin backends are tried in +sequence until one of them imports. + +Headless linux servers (identified by the DISPLAY env not being defined) +will not select a GUI backend. + +Cyclic colormaps +---------------- + +Two new colormaps named 'twilight' and 'twilight_shifted' have been added. +These colormaps start and end on the same color, and have two +symmetric halves with equal lightness, but diverging color. Since they +wrap around, they are a good choice for cyclic data such as phase +angles, compass directions, or time of day. Like *viridis*, *twilight* is +perceptually uniform and colorblind friendly. + + Ability to scale axis by a fixed order of magnitude --------------------------------------------------- @@ -76,16 +97,6 @@ This has been changed so that the number of ticks is now responsive to how large the colorbar is. -Cyclic colormaps ----------------- - -Two new colormaps named 'twilight' and 'twilight_shifted' have been added. -These colormaps start and end on the same color, and have two -symmetric halves with equal lightness, but diverging color. Since they -wrap around, they are a good choice for cyclic data such as phase -angles, compass directions, or time of day. Like *viridis*, *twilight* is -perceptually uniform and colorblind friendly. - Don't automatically rename duplicate file names ----------------------------------------------- @@ -228,15 +239,6 @@ This new method may be useful for adding artists to figures without axes or to easily position static elements in figure coordinates. -Improved default backend selection ----------------------------------- - -The default backend no longer must be set as part of the build -process. Instead, at run time, the builtin backends are tried in -sequence until one of them imports. - -Headless linux servers (identified by the DISPLAY env not being defined) -will not select a GUI backend. Return type of ArtistInspector.get_aliases changed From 6400ea15c93b90a2b66a22c37fc56a4be0e07943 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Mon, 17 Sep 2018 08:52:10 -0400 Subject: [PATCH 1149/1161] DOC: merge up API change files into main --- doc/api/api_changes.rst | 164 +++++++++++++++++- doc/api/next_api_changes/2018-02-09-ES.rst | 19 -- .../2018-02-15-AL-deprecations.rst | 59 ------- doc/api/next_api_changes/2018-04-29-JMK.rst | 20 --- .../2018-05-06-AL-callbackregistry.rst | 6 - doc/api/next_api_changes/2018-05-15-AL.rst | 8 - .../2018-06-01-PG-pytz-ectomy.rst | 4 - 7 files changed, 156 insertions(+), 124 deletions(-) delete mode 100644 doc/api/next_api_changes/2018-02-09-ES.rst delete mode 100644 doc/api/next_api_changes/2018-02-15-AL-deprecations.rst delete mode 100644 doc/api/next_api_changes/2018-04-29-JMK.rst delete mode 100644 doc/api/next_api_changes/2018-05-06-AL-callbackregistry.rst delete mode 100644 doc/api/next_api_changes/2018-05-15-AL.rst delete mode 100644 doc/api/next_api_changes/2018-06-01-PG-pytz-ectomy.rst diff --git a/doc/api/api_changes.rst b/doc/api/api_changes.rst index 5cde8c5b5fbf..2ae239ba193b 100644 --- a/doc/api/api_changes.rst +++ b/doc/api/api_changes.rst @@ -26,12 +26,14 @@ This pages lists API changes for the most recent version of Matplotlib. - All the files in 'next_api_changes' should be moved to the bottom of this page - This note, and the toctree below should be commented out +.. -.. toctree:: - :glob: - :maxdepth: 1 + .. toctree:: + :glob: + :maxdepth: 1 + + next_api_changes/* - next_api_changes/* API Changes for 3.0.0 ===================== @@ -68,7 +70,7 @@ string to ``"None"``, so subsequent calls to `Text.get_text` would return the ambiguous ``"None"`` string. This change sets text objects passed ``None`` to have empty strings, so that -`Text.get_text` returns and an empty string. +`Text.get_text` returns an empty string. Deprecations ------------ @@ -130,6 +132,7 @@ The following keyword arguments are deprecated: The following call signatures are deprecated: - passing a ``wx.EvtHandler`` as first argument to ``backend_wx.TimerWx`` + Deprecated methods removed from `matplotlib.testing` ---------------------------------------------------- @@ -250,10 +253,10 @@ The following API elements have been removed: i.e., it behaves case-insensitively on Windows only. -``bar``/``barh`` no longer accepts ``left``/``bottom`` as first named argument ------------------------------------------------------------------------------- +``bar`` / ``barh`` no longer accepts ``left`` / ``bottom`` as first named argument +---------------------------------------------------------------------------------- -These arguments were renamed in 2.0 to ``x``/``y`` following the change of the +These arguments were renamed in 2.0 to ``x`` / ``y`` following the change of the default alignment from ``edge`` to ``center``. @@ -485,3 +488,148 @@ actually be the default color of whatever was rendering the pgf file (which was of course usually black). The new behavior is that black text is black, regardless of the default color. However, this means that there is no way to fall back on the default color of the renderer. + + +Blacklisted rcparams no longer updated by `rcdefaults`, `rc_file_defaults`, `rc_file` +------------------------------------------------------------------------------------- + +The rc modifier functions `rcdefaults`, `rc_file_defaults` and `rc_file` +now ignore rcParams in the `matplotlib.style.core.STYLE_BLACKLIST` set. In +particular, this prevents the ``backend`` and ``interactive`` rcParams from +being incorrectly modified by these functions. + + +Deprecation of ``LocatableAxes`` in toolkits +-------------------------------------------- + +The ``LocatableAxes`` classes in toolkits have been deprecated. The base `Axes` +classes provide the same functionality to all subclasses, thus these mixins are +no longer necessary. Related functions have also been deprecated. Specifically: + +* ``mpl_toolkits.axes_grid1.axes_divider.LocatableAxesBase``: no specific + replacement; use any other ``Axes``-derived class directly instead. +* ``mpl_toolkits.axes_grid1.axes_divider.locatable_axes_factory``: no specific + replacement; use any other ``Axes``-derived class directly instead. +* ``mpl_toolkits.axes_grid1.axes_divider.Axes``: use + `mpl_toolkits.axes_grid1.mpl_axes.Axes` directly. +* ``mpl_toolkits.axes_grid1.axes_divider.LocatableAxes``: use + `mpl_toolkits.axes_grid1.mpl_axes.Axes` directly. +* ``mpl_toolkits.axisartist.axes_divider.Axes``: use + `mpl_toolkits.axisartist.axislines.Axes` directly. +* ``mpl_toolkits.axisartist.axes_divider.LocatableAxes``: use + `mpl_toolkits.axisartist.axislines.Axes` directly. + + +Deprecations +------------ +The following modules are deprecated: + +- :mod:`matplotlib.compat.subprocess`. This was a python 2 workaround, but all + the functionality can now be found in the python 3 standard library + :mod:`subprocess`. +- :mod:`matplotlib.backends.wx_compat`. Python 3 is only compatible with + wxPython 4, so support for wxPython 3 or earlier can be dropped. + +The following classes, methods, functions, and attributes are deprecated: + +- ``RcParams.msg_depr``, ``RcParams.msg_depr_ignore``, + ``RcParams.msg_depr_set``, ``RcParams.msg_obsolete``, + ``RcParams.msg_backend_obsolete``, +- ``afm.parse_afm``, +- ``backend_pdf.PdfFile.texFontMap``, +- ``backend_pgf.get_texcommand``, +- ``backend_ps.get_bbox``, +- ``backend_qt5.FigureCanvasQT.keyAutoRepeat`` (directly check + ``event.guiEvent.isAutoRepeat()`` in the event handler to decide whether to + handle autorepeated key presses). +- ``backend_qt5.error_msg_qt``, ``backend_qt5.exception_handler``, +- ``backend_wx.FigureCanvasWx.macros``, +- ``backends.pylab_setup``, +- ``cbook.GetRealpathAndStat``, ``cbook.Locked``, +- ``cbook.is_numlike`` (use ``isinstance(..., numbers.Number)`` instead), + ``cbook.listFiles``, ``cbook.unicode_safe``, +- ``container.Container.set_remove_method``, +- ``contour.ContourLabeler.cl``, ``.cl_xy``, and ``.cl_cvalues``, +- ``dates.DateFormatter.strftime_pre_1900``, ``dates.DateFormatter.strftime``, +- ``font_manager.TempCache``, +- ``image._ImageBase.iterpnames``, use the ``interpolation_names`` property + instead. (this affects classes that inherit from ``_ImageBase`` including + :class:`FigureImage`, :class:`BboxImage`, and :class:`AxesImage`), +- ``mathtext.unichr_safe`` (use ``chr`` instead), +- ``patches.Polygon.xy``, +- ``table.Table.get_child_artists`` (use ``get_children`` instead), +- ``testing.compare.ImageComparisonTest``, ``testing.compare.compare_float``, +- ``testing.decorators.CleanupTest``, + ``testing.decorators.skip_if_command_unavailable``, +- ``FigureCanvasQT.keyAutoRepeat`` (directly check + ``event.guiEvent.isAutoRepeat()`` in the event handler to decide whether to + handle autorepeated key presses). +- ``texmanager.dvipng_hack_alpha``, +- ``text.Annotation.arrow``, +- ``textpath.TextToPath.tex_font_map``, + +The following rcParams are deprecated: + +- ``examples.directory`` (use ``datapath`` instead), +- ``pgf.debug`` (the pgf backend relies on logging), +- ``text.latex.unicode``, + +The following keyword arguments are deprecated: + +- passing ``verts`` to ``Axes.scatter`` (use ``marker`` instead), +- passing ``obj_type`` to ``cbook.deprecated``, + +The following call signatures are deprecated: + +- passing a ``wx.EvtHandler`` as first argument to ``backend_wx.TimerWx``, + + +`.matplotlib.Axes.get_tightbbox` now includes all artists +--------------------------------------------------------- + +Layout tools like `.Figure.tight_layout`, ``constrained_layout``, +and ``fig.savefig('fname.png', bbox_inches="tight")`` use +`.matplotlib.Axes.get_tightbbox` to determine the bounds of each axes on +a figure and adjust spacing between axes. + +In Matplotlib 2.2 ``get_tightbbox`` started to include legends made on the +axes, but still excluded some other artists, like text that may overspill an +axes. For Matplotlib 3.0, *all* artists are now included in the bounding box. + +This new default may be overridden in either of two ways: + +1. Make the artist to be excluded a child of the figure, not the axes. E.g., + call ``fig.legend()`` instead of ``ax.legend()`` (perhaps using + `~.matplotlib.Axes.get_legend_handles_labels` to gather handles and labels + from the parent axes). +2. If the artist is a child of the axes, set the artist property + ``artist.set_in_layout(False)``. + + +`CallbackRegistry` now stores callbacks using stdlib's `WeakMethod`\s +--------------------------------------------------------------------- + +In particular, this implies that ``CallbackRegistry.callbacks[signal]`` is now +a mapping of callback ids to `WeakMethod`\s (i.e., they need to be first called +with no arguments to retrieve the method itself). + + +Changes regarding the text.latex.unicode rcParam +------------------------------------------------ + +The rcParam now defaults to True and is deprecated (i.e., in future versions +of Maplotlib, unicode input will always be supported). + +Moreover, the underlying implementation now uses ``\usepackage[utf8]{inputenc}`` +instead of ``\usepackage{ucs}\usepackage[utf8x]{inputenc}``. + + +Removed ``pytz`` as a dependency +-------------------------------- + +Since ``dateutil`` and ``pytz`` both provide time zones, and +matplotlib already depends on ``dateutil``, matplotlib will now use +``dateutil`` time zones internally and drop the redundant dependency +on ``pytz``. While ``dateutil`` time zones are preferred (and +currently recommended in the Python documentation), the explicit use +of ``pytz`` zones is still supported. diff --git a/doc/api/next_api_changes/2018-02-09-ES.rst b/doc/api/next_api_changes/2018-02-09-ES.rst deleted file mode 100644 index c4c7ccd40da4..000000000000 --- a/doc/api/next_api_changes/2018-02-09-ES.rst +++ /dev/null @@ -1,19 +0,0 @@ -Deprecation of ``LocatableAxes`` in toolkits --------------------------------------------- - -The ``LocatableAxes`` classes in toolkits have been deprecated. The base `Axes` -classes provide the same functionality to all subclasses, thus these mixins are -no longer necessary. Related functions have also been deprecated. Specifically: - -* ``mpl_toolkits.axes_grid1.axes_divider.LocatableAxesBase``: no specific - replacement; use any other ``Axes``-derived class directly instead. -* ``mpl_toolkits.axes_grid1.axes_divider.locatable_axes_factory``: no specific - replacement; use any other ``Axes``-derived class directly instead. -* ``mpl_toolkits.axes_grid1.axes_divider.Axes``: use - `mpl_toolkits.axes_grid1.mpl_axes.Axes` directly. -* ``mpl_toolkits.axes_grid1.axes_divider.LocatableAxes``: use - `mpl_toolkits.axes_grid1.mpl_axes.Axes` directly. -* ``mpl_toolkits.axisartist.axes_divider.Axes``: use - `mpl_toolkits.axisartist.axislines.Axes` directly. -* ``mpl_toolkits.axisartist.axes_divider.LocatableAxes``: use - `mpl_toolkits.axisartist.axislines.Axes` directly. diff --git a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst b/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst deleted file mode 100644 index e2c9e3fb693c..000000000000 --- a/doc/api/next_api_changes/2018-02-15-AL-deprecations.rst +++ /dev/null @@ -1,59 +0,0 @@ -Deprecations ------------- -The following modules are deprecated: - -- :mod:`matplotlib.compat.subprocess`. This was a python 2 workaround, but all - the functionality can now be found in the python 3 standard library - :mod:`subprocess`. -- :mod:`matplotlib.backends.wx_compat`. Python 3 is only compatible with - wxPython 4, so support for wxPython 3 or earlier can be dropped. - -The following classes, methods, functions, and attributes are deprecated: - -- ``RcParams.msg_depr``, ``RcParams.msg_depr_ignore``, - ``RcParams.msg_depr_set``, ``RcParams.msg_obsolete``, - ``RcParams.msg_backend_obsolete``, -- ``afm.parse_afm``, -- ``backend_pdf.PdfFile.texFontMap``, -- ``backend_pgf.get_texcommand``, -- ``backend_ps.get_bbox``, -- ``backend_qt5.FigureCanvasQT.keyAutoRepeat`` (directly check - ``event.guiEvent.isAutoRepeat()`` in the event handler to decide whether to - handle autorepeated key presses). -- ``backend_qt5.error_msg_qt``, ``backend_qt5.exception_handler``, -- ``backend_wx.FigureCanvasWx.macros``, -- ``backends.pylab_setup``, -- ``cbook.GetRealpathAndStat``, ``cbook.Locked``, -- ``cbook.is_numlike`` (use ``isinstance(..., numbers.Number)`` instead), - ``cbook.listFiles``, ``cbook.unicode_safe``, -- ``container.Container.set_remove_method``, -- ``contour.ContourLabeler.cl``, ``.cl_xy``, and ``.cl_cvalues``, -- ``dates.DateFormatter.strftime_pre_1900``, ``dates.DateFormatter.strftime``, -- ``font_manager.TempCache``, -- ``image._ImageBase.iterpnames``, use the ``interpolation_names`` property - instead. (this affects classes that inherit from ``_ImageBase`` including - :class:`FigureImage`, :class:`BboxImage`, and :class:`AxesImage`), -- ``mathtext.unichr_safe`` (use ``chr`` instead), -- ``patches.Polygon.xy``, -- ``table.Table.get_child_artists`` (use ``get_children`` instead), -- ``testing.compare.ImageComparisonTest``, ``testing.compare.compare_float``, -- ``testing.decorators.CleanupTest``, - ``testing.decorators.skip_if_command_unavailable``, -- ``FigureCanvasQT.keyAutoRepeat`` (directly check - ``event.guiEvent.isAutoRepeat()`` in the event handler to decide whether to - handle autorepeated key presses). -- ``texmanager.dvipng_hack_alpha``, -- ``text.Annotation.arrow``, -- ``textpath.TextToPath.tex_font_map``, - -The following rcParams are deprecated: -- ``examples.directory`` (use ``datapath`` instead), -- ``pgf.debug`` (the pgf backend relies on logging), -- ``text.latex.unicode``, - -The following keyword arguments are deprecated: -- passing ``verts`` to ``Axes.scatter`` (use ``marker`` instead), -- passing ``obj_type`` to ``cbook.deprecated``, - -The following call signatures are deprecated: -- passing a ``wx.EvtHandler`` as first argument to ``backend_wx.TimerWx``, diff --git a/doc/api/next_api_changes/2018-04-29-JMK.rst b/doc/api/next_api_changes/2018-04-29-JMK.rst deleted file mode 100644 index d25c74062c16..000000000000 --- a/doc/api/next_api_changes/2018-04-29-JMK.rst +++ /dev/null @@ -1,20 +0,0 @@ -`.matplotlib.Axes.get_tightbbox` now includes all artists ---------------------------------------------------------- - -Layout tools like `.Figure.tight_layout`, ``constrained_layout``, -and ``fig.savefig('fname.png', bbox_inches="tight")`` use -`.matplotlib.Axes.get_tightbbox` to determine the bounds of each axes on -a figure and adjust spacing between axes. - -In Matplotlib 2.2 ``get_tightbbox`` started to include legends made on the -axes, but still excluded some other artists, like text that may overspill an -axes. For Matplotlib 3.0, *all* artists are now included in the bounding box. - -This new default may be overridden in either of two ways: - -1. Make the artist to be excluded a child of the figure, not the axes. E.g., - call ``fig.legend()`` instead of ``ax.legend()`` (perhaps using - `~.matplotlib.Axes.get_legend_handles_labels` to gather handles and labels - from the parent axes). -2. If the artist is a child of the axes, set the artist property - ``artist.set_in_layout(False)``. diff --git a/doc/api/next_api_changes/2018-05-06-AL-callbackregistry.rst b/doc/api/next_api_changes/2018-05-06-AL-callbackregistry.rst deleted file mode 100644 index afbbb76b309f..000000000000 --- a/doc/api/next_api_changes/2018-05-06-AL-callbackregistry.rst +++ /dev/null @@ -1,6 +0,0 @@ -`CallbackRegistry` now stores callbacks using stdlib's `WeakMethod`\s -````````````````````````````````````````````````````````````````````` - -In particular, this implies that ``CallbackRegistry.callbacks[signal]`` is now -a mapping of callback ids to `WeakMethod`\s (i.e., they need to be first called -with no arguments to retrieve the method itself). diff --git a/doc/api/next_api_changes/2018-05-15-AL.rst b/doc/api/next_api_changes/2018-05-15-AL.rst deleted file mode 100644 index 82422ec5500e..000000000000 --- a/doc/api/next_api_changes/2018-05-15-AL.rst +++ /dev/null @@ -1,8 +0,0 @@ -Changes regarding the text.latex.unicode rcParam -```````````````````````````````````````````````` - -The rcParam now defaults to True and is deprecated (i.e., in future versions -of Maplotlib, unicode input will always be supported). - -Moreover, the underlying implementation now uses ``\usepackage[utf8]{inputenc}`` -instead of ``\usepackage{ucs}\usepackage[utf8x]{inputenc}``. diff --git a/doc/api/next_api_changes/2018-06-01-PG-pytz-ectomy.rst b/doc/api/next_api_changes/2018-06-01-PG-pytz-ectomy.rst deleted file mode 100644 index ebaa2f620648..000000000000 --- a/doc/api/next_api_changes/2018-06-01-PG-pytz-ectomy.rst +++ /dev/null @@ -1,4 +0,0 @@ -Removed ``pytz`` as a dependency --------------------------------- - -Since ``dateutil`` and ``pytz`` both provide time zones, and matplotlib already depends on ``dateutil``, matplotlib will now use ``dateutil`` time zones internally and drop the redundant dependency on ``pytz``. While ``dateutil`` time zones are preferred (and currently recommended in the Python documentation), the explicit use of ``pytz`` zones is still supported. From 2fdf5d11bc5bf183627c16fef126a548755f218a Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Mon, 17 Sep 2018 12:11:31 -0400 Subject: [PATCH 1150/1161] Backport PR #12142: Unbreak formlayout for image edits. --- lib/matplotlib/backends/qt_editor/formlayout.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/backends/qt_editor/formlayout.py b/lib/matplotlib/backends/qt_editor/formlayout.py index 1389cda1e309..d4cf62601303 100644 --- a/lib/matplotlib/backends/qt_editor/formlayout.py +++ b/lib/matplotlib/backends/qt_editor/formlayout.py @@ -243,8 +243,14 @@ def setup(self): elif isinstance(value, str): field = QtWidgets.QLineEdit(value, self) elif isinstance(value, (list, tuple)): + if isinstance(value, tuple): + value = list(value) + # Note: get() below checks the type of value[0] in self.data so + # it is essential that value gets modified in-place. + # This means that the code is actually broken in the case where + # value is a tuple, but fortunately we always pass a list... + selindex = value.pop(0) field = QtWidgets.QComboBox(self) - selindex, *value = value if isinstance(value[0], (list, tuple)): keys = [key for key, _val in value] value = [val for _key, val in value] From aef9bfedd6a998f40603f99c58e68f6705105949 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Mon, 17 Sep 2018 14:50:22 -0400 Subject: [PATCH 1151/1161] DOC: merge deprecation tables --- doc/api/api_changes.rst | 79 +++++++---------------------------------- 1 file changed, 13 insertions(+), 66 deletions(-) diff --git a/doc/api/api_changes.rst b/doc/api/api_changes.rst index 2ae239ba193b..0d1e1558492b 100644 --- a/doc/api/api_changes.rst +++ b/doc/api/api_changes.rst @@ -88,20 +88,29 @@ The following classes, methods, functions, and attributes are deprecated: ``RcParams.msg_depr_set``, ``RcParams.msg_obsolete``, ``RcParams.msg_backend_obsolete`` - ``afm.parse_afm`` +- ``backend_pdf.PdfFile.texFontMap`` - ``backend_pgf.get_texcommand`` - ``backend_ps.get_bbox`` +- ``backend_qt5.FigureCanvasQT.keyAutoRepeat`` (directly check + ``event.guiEvent.isAutoRepeat()`` in the event handler to decide whether to + handle autorepeated key presses). - ``backend_qt5.error_msg_qt``, ``backend_qt5.exception_handler`` - ``backend_wx.FigureCanvasWx.macros`` +- ``backends.pylab_setup`` - ``cbook.GetRealpathAndStat``, ``cbook.Locked`` - ``cbook.is_numlike`` (use ``isinstance(..., numbers.Number)`` instead), ``cbook.listFiles``, ``cbook.unicode_safe`` -- ``container.Container.set_remove_method`` +- ``container.Container.set_remove_method``, - ``contour.ContourLabeler.cl``, ``.cl_xy``, and ``.cl_cvalues`` - ``dates.DateFormatter.strftime_pre_1900``, ``dates.DateFormatter.strftime`` - ``font_manager.TempCache`` +- ``image._ImageBase.iterpnames``, use the ``interpolation_names`` property + instead. (this affects classes that inherit from ``_ImageBase`` including + :class:`FigureImage`, :class:`BboxImage`, and :class:`AxesImage`) - ``mathtext.unichr_safe`` (use ``chr`` instead) +- ``patches.Polygon.xy`` - ``table.Table.get_child_artists`` (use ``get_children`` instead) -- ``testing.compare.ImageComparisonTest``, ``testing.compare.compare_float``, +- ``testing.compare.ImageComparisonTest``, ``testing.compare.compare_float`` - ``testing.decorators.CleanupTest`` ``testing.decorators.skip_if_command_unavailable`` - ``FigureCanvasQT.keyAutoRepeat`` (directly check @@ -116,7 +125,7 @@ The following classes, methods, functions, and attributes are deprecated: - ``text.Annotation.arrow`` - `.Legend.draggable()`, in favor of `.Legend.set_draggable()` (``Legend.draggable`` may be reintroduced as a property in future releases) - +- ``textpath.TextToPath.tex_font_map`` The following rcParams are deprecated: @@ -130,6 +139,7 @@ The following keyword arguments are deprecated: - passing ``obj_type`` to ``cbook.deprecated`` The following call signatures are deprecated: + - passing a ``wx.EvtHandler`` as first argument to ``backend_wx.TimerWx`` @@ -520,69 +530,6 @@ no longer necessary. Related functions have also been deprecated. Specifically: `mpl_toolkits.axisartist.axislines.Axes` directly. -Deprecations ------------- -The following modules are deprecated: - -- :mod:`matplotlib.compat.subprocess`. This was a python 2 workaround, but all - the functionality can now be found in the python 3 standard library - :mod:`subprocess`. -- :mod:`matplotlib.backends.wx_compat`. Python 3 is only compatible with - wxPython 4, so support for wxPython 3 or earlier can be dropped. - -The following classes, methods, functions, and attributes are deprecated: - -- ``RcParams.msg_depr``, ``RcParams.msg_depr_ignore``, - ``RcParams.msg_depr_set``, ``RcParams.msg_obsolete``, - ``RcParams.msg_backend_obsolete``, -- ``afm.parse_afm``, -- ``backend_pdf.PdfFile.texFontMap``, -- ``backend_pgf.get_texcommand``, -- ``backend_ps.get_bbox``, -- ``backend_qt5.FigureCanvasQT.keyAutoRepeat`` (directly check - ``event.guiEvent.isAutoRepeat()`` in the event handler to decide whether to - handle autorepeated key presses). -- ``backend_qt5.error_msg_qt``, ``backend_qt5.exception_handler``, -- ``backend_wx.FigureCanvasWx.macros``, -- ``backends.pylab_setup``, -- ``cbook.GetRealpathAndStat``, ``cbook.Locked``, -- ``cbook.is_numlike`` (use ``isinstance(..., numbers.Number)`` instead), - ``cbook.listFiles``, ``cbook.unicode_safe``, -- ``container.Container.set_remove_method``, -- ``contour.ContourLabeler.cl``, ``.cl_xy``, and ``.cl_cvalues``, -- ``dates.DateFormatter.strftime_pre_1900``, ``dates.DateFormatter.strftime``, -- ``font_manager.TempCache``, -- ``image._ImageBase.iterpnames``, use the ``interpolation_names`` property - instead. (this affects classes that inherit from ``_ImageBase`` including - :class:`FigureImage`, :class:`BboxImage`, and :class:`AxesImage`), -- ``mathtext.unichr_safe`` (use ``chr`` instead), -- ``patches.Polygon.xy``, -- ``table.Table.get_child_artists`` (use ``get_children`` instead), -- ``testing.compare.ImageComparisonTest``, ``testing.compare.compare_float``, -- ``testing.decorators.CleanupTest``, - ``testing.decorators.skip_if_command_unavailable``, -- ``FigureCanvasQT.keyAutoRepeat`` (directly check - ``event.guiEvent.isAutoRepeat()`` in the event handler to decide whether to - handle autorepeated key presses). -- ``texmanager.dvipng_hack_alpha``, -- ``text.Annotation.arrow``, -- ``textpath.TextToPath.tex_font_map``, - -The following rcParams are deprecated: - -- ``examples.directory`` (use ``datapath`` instead), -- ``pgf.debug`` (the pgf backend relies on logging), -- ``text.latex.unicode``, - -The following keyword arguments are deprecated: - -- passing ``verts`` to ``Axes.scatter`` (use ``marker`` instead), -- passing ``obj_type`` to ``cbook.deprecated``, - -The following call signatures are deprecated: - -- passing a ``wx.EvtHandler`` as first argument to ``backend_wx.TimerWx``, - `.matplotlib.Axes.get_tightbbox` now includes all artists --------------------------------------------------------- From fafb013634f357f8ea5bd8a1cff8a3755c26819f Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Mon, 17 Sep 2018 17:33:36 -0400 Subject: [PATCH 1152/1161] DOC: consolidate deprecation and removal docs --- doc/api/api_changes.rst | 150 +++++++++++++++++++--------------------- 1 file changed, 72 insertions(+), 78 deletions(-) diff --git a/doc/api/api_changes.rst b/doc/api/api_changes.rst index 0d1e1558492b..a2bcaba08eb0 100644 --- a/doc/api/api_changes.rst +++ b/doc/api/api_changes.rst @@ -44,13 +44,6 @@ Drop support for python 2 Matplotlib 3 only supports python 3.5 and higher. -Hold machinery removed ----------------------- - -Setting or unsetting ``hold`` (deprecated in version 2.1) has now -been completely removed. Matplotlib now always behaves as if ``hold=True``. -To clear an axes you can manually use :meth:`~.axes.Axes.cla()`, -or to clear an entire figure use :meth:`~.figure.Figure.clf()`. `.Axes.hist2d` now uses `~.Axes.pcolormesh` instead of `~.Axes.pcolorfast` @@ -74,6 +67,9 @@ This change sets text objects passed ``None`` to have empty strings, so that Deprecations ------------ + +Modules +``````` The following modules are deprecated: - :mod:`matplotlib.compat.subprocess`. This was a python 2 workaround, but all @@ -82,6 +78,9 @@ The following modules are deprecated: - :mod:`matplotlib.backends.wx_compat`. Python 3 is only compatible with wxPython 4, so support for wxPython 3 or earlier can be dropped. +Classes, methods, functions, and attributes +``````````````````````````````````````````` + The following classes, methods, functions, and attributes are deprecated: - ``RcParams.msg_depr``, ``RcParams.msg_depr_ignore``, @@ -126,12 +125,16 @@ The following classes, methods, functions, and attributes are deprecated: - `.Legend.draggable()`, in favor of `.Legend.set_draggable()` (``Legend.draggable`` may be reintroduced as a property in future releases) - ``textpath.TextToPath.tex_font_map`` - -The following rcParams are deprecated: - -- ``examples.directory`` (use ``datapath`` instead) -- ``pgf.debug`` (the pgf backend relies on logging) -- ``text.latex.unicode`` +- :class:`matplotlib.cbook.deprecation.mplDeprecation` will be removed in + future versions. It is just an alias for + :class:`matplotlib.cbook.deprecation.MatplotlibDeprecationWarning`. + Please use the :class:`~.MatplotlibDeprecationWarning` directly if neccessary. +- The ``matplotlib.cbook.Bunch`` class has been deprecated. Instead, use + `types.SimpleNamespace` from the standard library which provides the same + functionality. +- ``Axes.mouseover_set`` is now a frozenset, and deprecated. Directly + manipulate the artist's ``.mouseover`` attribute to change their mouseover + status. The following keyword arguments are deprecated: @@ -142,75 +145,86 @@ The following call signatures are deprecated: - passing a ``wx.EvtHandler`` as first argument to ``backend_wx.TimerWx`` +rcParams +```````` -Deprecated methods removed from `matplotlib.testing` ----------------------------------------------------- - -The deprecated methods `knownfailureif` and `remove_text` have been removed -from :mod:`matplotlib.testing.decorators`. - -The entire contents of `testing.noseclasses` have also been removed. - +The following rcParams are deprecated: -``matplotlib.cbook.deprecation.mplDeprecation`` is deprecated -------------------------------------------------------------- +- ``examples.directory`` (use ``datapath`` instead) +- ``pgf.debug`` (the pgf backend relies on logging) +- ``text.latex.unicode`` -:class:`matplotlib.cbook.deprecation.mplDeprecation` will be removed in -future versions. It is just an alias for -:class:`matplotlib.cbook.deprecation.MatplotlibDeprecationWarning`. -Please use the :class:`~.MatplotlibDeprecationWarning` directly if neccessary. +marker styles +````````````` +- Using ``(n, 3)`` as marker style to specify a circle marker is deprecated. Use + ``"o"`` instead. +- Using ``([(x0, y0), (x1, y1), ...], 0)`` as marker style to specify a custom + marker path is deprecated. Use ``[(x0, y0), (x1, y1), ...]`` instead. -matplotlib.cbook.Bunch deprecated ---------------------------------- -The ``matplotlib.cbook.Bunch`` class has been deprecated. Instead, use -`types.SimpleNamespace` from the standard library which provides the same -functionality. +Deprecation of ``LocatableAxes`` in toolkits +```````````````````````````````````````````` +The ``LocatableAxes`` classes in toolkits have been deprecated. The base `Axes` +classes provide the same functionality to all subclasses, thus these mixins are +no longer necessary. Related functions have also been deprecated. Specifically: -Deprecation of certain marker styles ------------------------------------- +* ``mpl_toolkits.axes_grid1.axes_divider.LocatableAxesBase``: no specific + replacement; use any other ``Axes``-derived class directly instead. +* ``mpl_toolkits.axes_grid1.axes_divider.locatable_axes_factory``: no specific + replacement; use any other ``Axes``-derived class directly instead. +* ``mpl_toolkits.axes_grid1.axes_divider.Axes``: use + `mpl_toolkits.axes_grid1.mpl_axes.Axes` directly. +* ``mpl_toolkits.axes_grid1.axes_divider.LocatableAxes``: use + `mpl_toolkits.axes_grid1.mpl_axes.Axes` directly. +* ``mpl_toolkits.axisartist.axes_divider.Axes``: use + `mpl_toolkits.axisartist.axislines.Axes` directly. +* ``mpl_toolkits.axisartist.axes_divider.LocatableAxes``: use + `mpl_toolkits.axisartist.axislines.Axes` directly. -Using ``(n, 3)`` as marker style to specify a circle marker is deprecated. Use -``"o"`` instead. -Using ``([(x0, y0), (x1, y1), ...], 0)`` as marker style to specify a custom -marker path is deprecated. Use ``[(x0, y0), (x1, y1), ...]`` instead. +``Axes3D.get_xlim``, ``get_ylim`` and ``get_zlim`` now return a tuple +--------------------------------------------------------------------- -Removal of deprecated backends ------------------------------- +They previously returned an array. Returning a tuple is consistent with the +behavior for 2D axes. -Deprecated backends have been removed: - * GTKAgg - * GTKCairo - * GTK - * GDK +Removals +-------- +Hold machinery +`````````````` -``Axes3D.get_xlim``, ``get_ylim`` and ``get_zlim`` now return a tuple ---------------------------------------------------------------------- +Setting or unsetting ``hold`` (deprecated in version 2.1) has now +been completely removed. Matplotlib now always behaves as if ``hold=True``. +To clear an axes you can manually use :meth:`~.axes.Axes.cla()`, +or to clear an entire figure use :meth:`~.figure.Figure.clf()`. -They previously returned an array. Returning a tuple is consistent with the -behavior for 2D axes. +Removal of deprecated backends +`````````````````````````````` -Modified APIs -------------- +Deprecated backends have been removed: -The following APIs have been modified: +* GTKAgg +* GTKCairo +* GTK +* GDK -- ``Axes.mouseover_set`` is now a frozenset, and deprecated. Directly - manipulate the artist's ``.mouseover`` attribute to change their mouseover - status. Removal of deprecated APIs --------------------------- +`````````````````````````` The following deprecated API elements have been removed: +Deprecated methods removed from `` + +- The deprecated methods ``knownfailureif`` and ``remove_text`` have been removed + from :mod:`matplotlib.testing.decorators`. +- The entire contents of ``testing.noseclasses`` have also been removed. - ``matplotlib.checkdep_tex``, ``matplotlib.checkdep_xmllint``, - ``backend_bases.IdleEvent``, - ``cbook.converter``, ``cbook.tostr``, ``cbook.todatetime``, ``cbook.todate``, @@ -301,8 +315,8 @@ warning if only two positional arguments are passed. To supply only ``x`` and ``y`` margins, use keyword arguments. -lib/mpl_examples removed ------------------------- +lib/mpl_examples symlink removed +-------------------------------- The symlink from lib/mpl_examples to ../examples has been removed. This is not installed as an importable package and should not affect @@ -509,26 +523,6 @@ particular, this prevents the ``backend`` and ``interactive`` rcParams from being incorrectly modified by these functions. -Deprecation of ``LocatableAxes`` in toolkits --------------------------------------------- - -The ``LocatableAxes`` classes in toolkits have been deprecated. The base `Axes` -classes provide the same functionality to all subclasses, thus these mixins are -no longer necessary. Related functions have also been deprecated. Specifically: - -* ``mpl_toolkits.axes_grid1.axes_divider.LocatableAxesBase``: no specific - replacement; use any other ``Axes``-derived class directly instead. -* ``mpl_toolkits.axes_grid1.axes_divider.locatable_axes_factory``: no specific - replacement; use any other ``Axes``-derived class directly instead. -* ``mpl_toolkits.axes_grid1.axes_divider.Axes``: use - `mpl_toolkits.axes_grid1.mpl_axes.Axes` directly. -* ``mpl_toolkits.axes_grid1.axes_divider.LocatableAxes``: use - `mpl_toolkits.axes_grid1.mpl_axes.Axes` directly. -* ``mpl_toolkits.axisartist.axes_divider.Axes``: use - `mpl_toolkits.axisartist.axislines.Axes` directly. -* ``mpl_toolkits.axisartist.axes_divider.LocatableAxes``: use - `mpl_toolkits.axisartist.axislines.Axes` directly. - `.matplotlib.Axes.get_tightbbox` now includes all artists From 23194ae6c68e09b3201e84c87e5d99097d90302d Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Mon, 17 Sep 2018 18:49:55 -0400 Subject: [PATCH 1153/1161] DOC: apply opinions about API changes order Also spelling and markup fixes --- doc/api/api_changes.rst | 525 ++++++++++++++++++++-------------------- 1 file changed, 263 insertions(+), 262 deletions(-) diff --git a/doc/api/api_changes.rst b/doc/api/api_changes.rst index a2bcaba08eb0..f7f8b2986c64 100644 --- a/doc/api/api_changes.rst +++ b/doc/api/api_changes.rst @@ -44,6 +44,20 @@ Drop support for python 2 Matplotlib 3 only supports python 3.5 and higher. +Changes to backend loading +-------------------------- + +Failure to load backend modules (``macosx`` on non-framework builds and +``gtk3`` when running headless) now raises `ImportError` (instead of +`RuntimeError` and `TypeError`, respectively). + +Third-party backends that integrate with an interactive framework are now +encouraged to define the ``required_interactive_framework`` global value to one +of the following values: "qt5", "qt4", "gtk3", "wx", "tk", or "macosx". This +information will be used to determine whether it is possible to switch from a +backend to another (specifically, whether they use the same interactive +framework). + `.Axes.hist2d` now uses `~.Axes.pcolormesh` instead of `~.Axes.pcolorfast` @@ -55,6 +69,28 @@ returned *image* now is of type `~.matplotlib.collections.QuadMesh` instead of `~.matplotlib.image.AxesImage`. +`.matplotlib.Axes.get_tightbbox` now includes all artists +--------------------------------------------------------- + +Layout tools like `.Figure.tight_layout`, ``constrained_layout``, +and ``fig.savefig('fname.png', bbox_inches="tight")`` use +`.matplotlib.Axes.get_tightbbox` to determine the bounds of each axes on +a figure and adjust spacing between axes. + +In Matplotlib 2.2 ``get_tightbbox`` started to include legends made on the +axes, but still excluded some other artists, like text that may overspill an +axes. For Matplotlib 3.0, *all* artists are now included in the bounding box. + +This new default may be overridden in either of two ways: + +1. Make the artist to be excluded a child of the figure, not the axes. E.g., + call ``fig.legend()`` instead of ``ax.legend()`` (perhaps using + `~.matplotlib.Axes.get_legend_handles_labels` to gather handles and labels + from the parent axes). +2. If the artist is a child of the axes, set the artist property + ``artist.set_in_layout(False)``. + + `Text.set_text` with string argument ``None`` sets string to empty ------------------------------------------------------------------ @@ -65,123 +101,6 @@ the ambiguous ``"None"`` string. This change sets text objects passed ``None`` to have empty strings, so that `Text.get_text` returns an empty string. -Deprecations ------------- - -Modules -``````` -The following modules are deprecated: - -- :mod:`matplotlib.compat.subprocess`. This was a python 2 workaround, but all - the functionality can now be found in the python 3 standard library - :mod:`subprocess`. -- :mod:`matplotlib.backends.wx_compat`. Python 3 is only compatible with - wxPython 4, so support for wxPython 3 or earlier can be dropped. - -Classes, methods, functions, and attributes -``````````````````````````````````````````` - -The following classes, methods, functions, and attributes are deprecated: - -- ``RcParams.msg_depr``, ``RcParams.msg_depr_ignore``, - ``RcParams.msg_depr_set``, ``RcParams.msg_obsolete``, - ``RcParams.msg_backend_obsolete`` -- ``afm.parse_afm`` -- ``backend_pdf.PdfFile.texFontMap`` -- ``backend_pgf.get_texcommand`` -- ``backend_ps.get_bbox`` -- ``backend_qt5.FigureCanvasQT.keyAutoRepeat`` (directly check - ``event.guiEvent.isAutoRepeat()`` in the event handler to decide whether to - handle autorepeated key presses). -- ``backend_qt5.error_msg_qt``, ``backend_qt5.exception_handler`` -- ``backend_wx.FigureCanvasWx.macros`` -- ``backends.pylab_setup`` -- ``cbook.GetRealpathAndStat``, ``cbook.Locked`` -- ``cbook.is_numlike`` (use ``isinstance(..., numbers.Number)`` instead), - ``cbook.listFiles``, ``cbook.unicode_safe`` -- ``container.Container.set_remove_method``, -- ``contour.ContourLabeler.cl``, ``.cl_xy``, and ``.cl_cvalues`` -- ``dates.DateFormatter.strftime_pre_1900``, ``dates.DateFormatter.strftime`` -- ``font_manager.TempCache`` -- ``image._ImageBase.iterpnames``, use the ``interpolation_names`` property - instead. (this affects classes that inherit from ``_ImageBase`` including - :class:`FigureImage`, :class:`BboxImage`, and :class:`AxesImage`) -- ``mathtext.unichr_safe`` (use ``chr`` instead) -- ``patches.Polygon.xy`` -- ``table.Table.get_child_artists`` (use ``get_children`` instead) -- ``testing.compare.ImageComparisonTest``, ``testing.compare.compare_float`` -- ``testing.decorators.CleanupTest`` - ``testing.decorators.skip_if_command_unavailable`` -- ``FigureCanvasQT.keyAutoRepeat`` (directly check - ``event.guiEvent.isAutoRepeat()`` in the event handler to decide whether to - handle autorepeated key presses) -- ``FigureCanvasWx.macros`` -- ``_ImageBase.iterpnames``, use the ``interpolation_names`` property instead. - (this affects classes that inherit from ``_ImageBase`` including - :class:`FigureImage`, :class:`BboxImage`, and :class:`AxesImage`) -- ``patches.Polygon.xy`` -- ``texmanager.dvipng_hack_alpha`` -- ``text.Annotation.arrow`` -- `.Legend.draggable()`, in favor of `.Legend.set_draggable()` - (``Legend.draggable`` may be reintroduced as a property in future releases) -- ``textpath.TextToPath.tex_font_map`` -- :class:`matplotlib.cbook.deprecation.mplDeprecation` will be removed in - future versions. It is just an alias for - :class:`matplotlib.cbook.deprecation.MatplotlibDeprecationWarning`. - Please use the :class:`~.MatplotlibDeprecationWarning` directly if neccessary. -- The ``matplotlib.cbook.Bunch`` class has been deprecated. Instead, use - `types.SimpleNamespace` from the standard library which provides the same - functionality. -- ``Axes.mouseover_set`` is now a frozenset, and deprecated. Directly - manipulate the artist's ``.mouseover`` attribute to change their mouseover - status. - -The following keyword arguments are deprecated: - -- passing ``verts`` to ``Axes.scatter`` (use ``marker`` instead) -- passing ``obj_type`` to ``cbook.deprecated`` - -The following call signatures are deprecated: - -- passing a ``wx.EvtHandler`` as first argument to ``backend_wx.TimerWx`` - -rcParams -```````` - -The following rcParams are deprecated: - -- ``examples.directory`` (use ``datapath`` instead) -- ``pgf.debug`` (the pgf backend relies on logging) -- ``text.latex.unicode`` - - -marker styles -````````````` -- Using ``(n, 3)`` as marker style to specify a circle marker is deprecated. Use - ``"o"`` instead. -- Using ``([(x0, y0), (x1, y1), ...], 0)`` as marker style to specify a custom - marker path is deprecated. Use ``[(x0, y0), (x1, y1), ...]`` instead. - - -Deprecation of ``LocatableAxes`` in toolkits -```````````````````````````````````````````` - -The ``LocatableAxes`` classes in toolkits have been deprecated. The base `Axes` -classes provide the same functionality to all subclasses, thus these mixins are -no longer necessary. Related functions have also been deprecated. Specifically: - -* ``mpl_toolkits.axes_grid1.axes_divider.LocatableAxesBase``: no specific - replacement; use any other ``Axes``-derived class directly instead. -* ``mpl_toolkits.axes_grid1.axes_divider.locatable_axes_factory``: no specific - replacement; use any other ``Axes``-derived class directly instead. -* ``mpl_toolkits.axes_grid1.axes_divider.Axes``: use - `mpl_toolkits.axes_grid1.mpl_axes.Axes` directly. -* ``mpl_toolkits.axes_grid1.axes_divider.LocatableAxes``: use - `mpl_toolkits.axes_grid1.mpl_axes.Axes` directly. -* ``mpl_toolkits.axisartist.axes_divider.Axes``: use - `mpl_toolkits.axisartist.axislines.Axes` directly. -* ``mpl_toolkits.axisartist.axes_divider.LocatableAxes``: use - `mpl_toolkits.axisartist.axislines.Axes` directly. @@ -192,83 +111,6 @@ They previously returned an array. Returning a tuple is consistent with the behavior for 2D axes. -Removals --------- - -Hold machinery -`````````````` - -Setting or unsetting ``hold`` (deprecated in version 2.1) has now -been completely removed. Matplotlib now always behaves as if ``hold=True``. -To clear an axes you can manually use :meth:`~.axes.Axes.cla()`, -or to clear an entire figure use :meth:`~.figure.Figure.clf()`. - - -Removal of deprecated backends -`````````````````````````````` - -Deprecated backends have been removed: - -* GTKAgg -* GTKCairo -* GTK -* GDK - - -Removal of deprecated APIs -`````````````````````````` - -The following deprecated API elements have been removed: -Deprecated methods removed from `` - - -- The deprecated methods ``knownfailureif`` and ``remove_text`` have been removed - from :mod:`matplotlib.testing.decorators`. -- The entire contents of ``testing.noseclasses`` have also been removed. -- ``matplotlib.checkdep_tex``, ``matplotlib.checkdep_xmllint``, -- ``backend_bases.IdleEvent``, -- ``cbook.converter``, ``cbook.tostr``, ``cbook.todatetime``, ``cbook.todate``, - ``cbook.tofloat``, ``cbook.toint``, ``cbook.unique``, - ``cbook.is_string_like``, ``cbook.is_sequence_of_strings``, - ``cbook.is_scalar``, ``cbook.soundex``, ``cbook.dict_delall``, - ``cbook.get_split_ind``, ``cbook.wrap``, ``cbook.get_recursive_filelist``, - ``cbook.pieces``, ``cbook.exception_to_str``, ``cbook.allequal``, - ``cbook.alltrue``, ``cbook.onetrue``, ``cbook.allpairs``, ``cbook.finddir``, - ``cbook.reverse_dict``, ``cbook.restrict_dict``, ``cbook.issubclass_safe``, - ``cbook.recursive_remove``, ``cbook.unmasked_index_ranges``, - ``cbook.Null``, ``cbook.RingBuffer``, ``cbook.Sorter``, ``cbook.Xlator``, -- ``font_manager.weight_as_number``, ``font_manager.ttfdict_to_fnames``, -- ``pyplot.colors``, ``pyplot.spectral``, -- ``rcsetup.validate_negative_linestyle``, - ``rcsetup.validate_negative_linestyle_legacy``, -- ``testing.compare.verifiers``, ``testing.compare.verify``, -- ``testing.decorators.knownfailureif``, - ``testing.decorators.ImageComparisonTest.remove_text``, -- ``tests.assert_str_equal``, ``tests.test_tinypages.file_same``, -- ``texmanager.dvipng_hack_alpha``, -- ``_AxesBase.axesPatch``, ``_AxesBase.set_color_cycle``, - ``_AxesBase.get_cursor_props``, ``_AxesBase.set_cursor_props``, -- ``_ImageBase.iterpnames``, -- ``FigureCanvasBase.start_event_loop_default``; -- ``FigureCanvasBase.stop_event_loop_default``; -- ``Figure.figurePatch``, -- ``FigureCanvasBase.dynamic_update``, ``FigureCanvasBase.idle_event``, - ``FigureCanvasBase.get_linestyle``, ``FigureCanvasBase.set_linestyle`` -- ``FigureCanvasQTAggBase`` -- ``FigureCanvasQTAgg.blitbox``, -- ``FigureCanvasTk.show`` (alternative: ``FigureCanvasTk.draw``) -- ``FigureManagerTkAgg`` (alternative: ``FigureManagerTk``) -- ``NavigationToolbar2TkAgg`` (alternative: ``NavigationToolbar2Tk``) -- ``backend_wxagg.Toolbar`` (alternative: ``backend_wxagg.NavigationToolbar2WxAgg``) -- ``RendererAgg.debug()`` -- passing non-numbers to ``EngFormatter.format_eng``, -- passing ``frac`` to ``PolarAxes.set_theta_grids``, -- any mention of idle events, - -The following API elements have been removed: - -- ``backend_cairo.HAS_CAIRO_CFFI``, -- ``sphinxext.sphinx_version``, ``font_manager.list_fonts`` now follows the platform's casefolding semantics @@ -300,8 +142,8 @@ Different exception types for undocumented options will be raised if they would override the earlier limit arguments. -Improved call signature for Axes.margins() ------------------------------------------- +Improved call signature for ``Axes.margins`` +-------------------------------------------- :meth:`matplotlib.axes.Axes.margins` and :meth:`mpl_toolkits.mplot3d.Axes3D.margins` no longer accept arbitrary keywords. ``TypeError`` will therefore be raised @@ -315,14 +157,6 @@ warning if only two positional arguments are passed. To supply only ``x`` and ``y`` margins, use keyword arguments. -lib/mpl_examples symlink removed --------------------------------- - -The symlink from lib/mpl_examples to ../examples has been removed. -This is not installed as an importable package and should not affect -end users, however this may require down-stream packagers to adjust. -The content is still available top-level examples directory. - Explicit arguments instead of \*args, \*\*kwargs ------------------------------------------------ @@ -335,18 +169,14 @@ now raise ``TypeError`` because ``**kwargs`` has been removed. - :meth:`matplotlib.axes.Axes.stem` no longer accepts unknown keywords, and raises ``TypeError`` instead of emitting a deprecation. +- :meth:`matplotlib.axex.Axes.stem` now raises TypeError when passed + unhandled positional arguments. If two or more arguments are passed + (ie X, Y, [linefmt], ...) and Y cannot be cast to an array, an error + will be raised instead of treating X as Y and Y as linefmt. - :meth:`mpl_toolkits.axes_grid1.axes_divider.SubPlotDivider` raises ``TypeError`` instead of ``Exception`` when passed unknown kwargs. -Consistent handling of \*args in Axes.stem ------------------------------------------- - -:meth:`matplotlib.axex.Axes.stem` now raises TypeError when passed -unhandled positional arguments. If two or more arguments are passed -(ie X, Y, [linefmt], ...) and Y cannot be cast to an array, an error -will be raised instead of treating X as Y and Y as linefmt. - Cleanup decorators and test classes no longer destroy warnings filter on exit ----------------------------------------------------------------------------- @@ -378,16 +208,6 @@ As a side effect of this change, `.image.thumbnail` now also supports .ps, .eps, and .svgz output. -Removed proprietary sphinx directives -------------------------------------- - -The matplotlib documentation used the proprietary sphinx directives -`.. htmlonly::`, and `.. latexonly::`. These have been replaced with the -standard sphinx directives `.. only:: html` and `.. only:: latex`. This -change will not affect any users. Only downstream package maintainers, who -have used the proprietary directives in their docs, will have to switch to the -sphinx directives. - `.FuncAnimation` now draws artists according to their zorder when blitting -------------------------------------------------------------------------- @@ -399,6 +219,7 @@ However, note that only zorder of passed artists will be respected, as they are drawn on top of any existing artists (see `#11369 <https://github.com/matplotlib/matplotlib/issues/11369>`_). + Contour color autoscaling improvements -------------------------------------- @@ -424,21 +245,6 @@ A bug was fixed where the last row and column of data in `~.Axes.axes.streamplot` were being dropped. -Changes to backend loading --------------------------- - -Failure to load backend modules (``macosx`` on non-framework builds and -``gtk3`` when running headless) now raises `ImportError` (instead of -`RuntimeError` and `TypeError`, respectively). - -Third-party backends that integrate with an interactive framework are now -encouraged to define the ``required_interactive_framework`` global value to one -of the following values: "qt5", "qt4", "gtk3", "wx", "tk", or "macosx". This -information will be used to determine whether it is possible to switch from a -backend to another (specifically, whether they use the same interactive -framework). - - Changed default `AutoDateLocator` kwarg *interval_multiples* to ``True`` ------------------------------------------------------------------------ @@ -485,7 +291,7 @@ old behavior back: draw had been triggered or `.Axes.apply_aspect` had been called, even if the kwarg *original* was set to ``False``. Now `.Axes.apply_aspect` is called so ``ax.get_position()`` will return the new modified position. -To get the old behaviour use ``ax.get_position(original=True)``. +To get the old behavior use ``ax.get_position(original=True)``. The ticks for colorbar now adjust for the size of the colorbar @@ -495,7 +301,8 @@ Colorbar ticks now adjust for the size of the colorbar if the colorbar is made from a mappable that is not a contour or doesn't have a BoundaryNorm, or boundaries are not specified. If boundaries, etc are specified, the colorbar maintains the -original behaviour. +original behavior. + Colorbar for log-scaled hexbin ------------------------------ @@ -524,29 +331,6 @@ being incorrectly modified by these functions. - -`.matplotlib.Axes.get_tightbbox` now includes all artists ---------------------------------------------------------- - -Layout tools like `.Figure.tight_layout`, ``constrained_layout``, -and ``fig.savefig('fname.png', bbox_inches="tight")`` use -`.matplotlib.Axes.get_tightbbox` to determine the bounds of each axes on -a figure and adjust spacing between axes. - -In Matplotlib 2.2 ``get_tightbbox`` started to include legends made on the -axes, but still excluded some other artists, like text that may overspill an -axes. For Matplotlib 3.0, *all* artists are now included in the bounding box. - -This new default may be overridden in either of two ways: - -1. Make the artist to be excluded a child of the figure, not the axes. E.g., - call ``fig.legend()`` instead of ``ax.legend()`` (perhaps using - `~.matplotlib.Axes.get_legend_handles_labels` to gather handles and labels - from the parent axes). -2. If the artist is a child of the axes, set the artist property - ``artist.set_in_layout(False)``. - - `CallbackRegistry` now stores callbacks using stdlib's `WeakMethod`\s --------------------------------------------------------------------- @@ -574,3 +358,220 @@ matplotlib already depends on ``dateutil``, matplotlib will now use on ``pytz``. While ``dateutil`` time zones are preferred (and currently recommended in the Python documentation), the explicit use of ``pytz`` zones is still supported. + +Deprecations +------------ + +Modules +``````` +The following modules are deprecated: + +- :mod:`matplotlib.compat.subprocess`. This was a python 2 workaround, but all + the functionality can now be found in the python 3 standard library + :mod:`subprocess`. +- :mod:`matplotlib.backends.wx_compat`. Python 3 is only compatible with + wxPython 4, so support for wxPython 3 or earlier can be dropped. + +Classes, methods, functions, and attributes +``````````````````````````````````````````` + +The following classes, methods, functions, and attributes are deprecated: + +- ``RcParams.msg_depr``, ``RcParams.msg_depr_ignore``, + ``RcParams.msg_depr_set``, ``RcParams.msg_obsolete``, + ``RcParams.msg_backend_obsolete`` +- ``afm.parse_afm`` +- ``backend_pdf.PdfFile.texFontMap`` +- ``backend_pgf.get_texcommand`` +- ``backend_ps.get_bbox`` +- ``backend_qt5.FigureCanvasQT.keyAutoRepeat`` (directly check + ``event.guiEvent.isAutoRepeat()`` in the event handler to decide whether to + handle autorepeated key presses). +- ``backend_qt5.error_msg_qt``, ``backend_qt5.exception_handler`` +- ``backend_wx.FigureCanvasWx.macros`` +- ``backends.pylab_setup`` +- ``cbook.GetRealpathAndStat``, ``cbook.Locked`` +- ``cbook.is_numlike`` (use ``isinstance(..., numbers.Number)`` instead), + ``cbook.listFiles``, ``cbook.unicode_safe`` +- ``container.Container.set_remove_method``, +- ``contour.ContourLabeler.cl``, ``.cl_xy``, and ``.cl_cvalues`` +- ``dates.DateFormatter.strftime_pre_1900``, ``dates.DateFormatter.strftime`` +- ``font_manager.TempCache`` +- ``image._ImageBase.iterpnames``, use the ``interpolation_names`` property + instead. (this affects classes that inherit from ``_ImageBase`` including + :class:`FigureImage`, :class:`BboxImage`, and :class:`AxesImage`) +- ``mathtext.unichr_safe`` (use ``chr`` instead) +- ``patches.Polygon.xy`` +- ``table.Table.get_child_artists`` (use ``get_children`` instead) +- ``testing.compare.ImageComparisonTest``, ``testing.compare.compare_float`` +- ``testing.decorators.CleanupTest``, + ``testing.decorators.skip_if_command_unavailable`` +- ``FigureCanvasQT.keyAutoRepeat`` (directly check + ``event.guiEvent.isAutoRepeat()`` in the event handler to decide whether to + handle autorepeated key presses) +- ``FigureCanvasWx.macros`` +- ``_ImageBase.iterpnames``, use the ``interpolation_names`` property instead. + (this affects classes that inherit from ``_ImageBase`` including + :class:`FigureImage`, :class:`BboxImage`, and :class:`AxesImage`) +- ``patches.Polygon.xy`` +- ``texmanager.dvipng_hack_alpha`` +- ``text.Annotation.arrow`` +- `.Legend.draggable()`, in favor of `.Legend.set_draggable()` + (``Legend.draggable`` may be reintroduced as a property in future releases) +- ``textpath.TextToPath.tex_font_map`` +- :class:`matplotlib.cbook.deprecation.mplDeprecation` will be removed + in future versions. It is just an alias for + :class:`matplotlib.cbook.deprecation.MatplotlibDeprecationWarning`. + Please use the + :class:`~matplotlib.cbook.MatplotlibDeprecationWarning` directly if + neccessary. +- The ``matplotlib.cbook.Bunch`` class has been deprecated. Instead, use + `types.SimpleNamespace` from the standard library which provides the same + functionality. +- ``Axes.mouseover_set`` is now a frozenset, and deprecated. Directly + manipulate the artist's ``.mouseover`` attribute to change their mouseover + status. + +The following keyword arguments are deprecated: + +- passing ``verts`` to ``Axes.scatter`` (use ``marker`` instead) +- passing ``obj_type`` to ``cbook.deprecated`` + +The following call signatures are deprecated: + +- passing a ``wx.EvtHandler`` as first argument to ``backend_wx.TimerWx`` + + +rcParams +```````` + +The following rcParams are deprecated: + +- ``examples.directory`` (use ``datapath`` instead) +- ``pgf.debug`` (the pgf backend relies on logging) +- ``text.latex.unicode`` (always True now) + + +marker styles +````````````` +- Using ``(n, 3)`` as marker style to specify a circle marker is deprecated. Use + ``"o"`` instead. +- Using ``([(x0, y0), (x1, y1), ...], 0)`` as marker style to specify a custom + marker path is deprecated. Use ``[(x0, y0), (x1, y1), ...]`` instead. + + +Deprecation of ``LocatableAxes`` in toolkits +```````````````````````````````````````````` + +The ``LocatableAxes`` classes in toolkits have been deprecated. The base `Axes` +classes provide the same functionality to all subclasses, thus these mixins are +no longer necessary. Related functions have also been deprecated. Specifically: + +* ``mpl_toolkits.axes_grid1.axes_divider.LocatableAxesBase``: no specific + replacement; use any other ``Axes``-derived class directly instead. +* ``mpl_toolkits.axes_grid1.axes_divider.locatable_axes_factory``: no specific + replacement; use any other ``Axes``-derived class directly instead. +* ``mpl_toolkits.axes_grid1.axes_divider.Axes``: use + `mpl_toolkits.axes_grid1.mpl_axes.Axes` directly. +* ``mpl_toolkits.axes_grid1.axes_divider.LocatableAxes``: use + `mpl_toolkits.axes_grid1.mpl_axes.Axes` directly. +* ``mpl_toolkits.axisartist.axes_divider.Axes``: use + `mpl_toolkits.axisartist.axislines.Axes` directly. +* ``mpl_toolkits.axisartist.axes_divider.LocatableAxes``: use + `mpl_toolkits.axisartist.axislines.Axes` directly. + +Removals +-------- + +Hold machinery +`````````````` + +Setting or unsetting ``hold`` (deprecated in version 2.1) has now +been completely removed. Matplotlib now always behaves as if ``hold=True``. +To clear an axes you can manually use :meth:`~.axes.Axes.cla()`, +or to clear an entire figure use :meth:`~.figure.Figure.clf()`. + + +Removal of deprecated backends +`````````````````````````````` + +Deprecated backends have been removed: + +- GTKAgg +- GTKCairo +- GTK +- GDK + + +Deprecated APIs +``````````````` + +The following deprecated API elements have been removed: + +- The deprecated methods ``knownfailureif`` and ``remove_text`` have been removed + from :mod:`matplotlib.testing.decorators`. +- The entire contents of ``testing.noseclasses`` have also been removed. +- ``matplotlib.checkdep_tex``, ``matplotlib.checkdep_xmllint`` +- ``backend_bases.IdleEvent`` +- ``cbook.converter``, ``cbook.tostr``, ``cbook.todatetime``, ``cbook.todate``, + ``cbook.tofloat``, ``cbook.toint``, ``cbook.unique``, + ``cbook.is_string_like``, ``cbook.is_sequence_of_strings``, + ``cbook.is_scalar``, ``cbook.soundex``, ``cbook.dict_delall``, + ``cbook.get_split_ind``, ``cbook.wrap``, ``cbook.get_recursive_filelist``, + ``cbook.pieces``, ``cbook.exception_to_str``, ``cbook.allequal``, + ``cbook.alltrue``, ``cbook.onetrue``, ``cbook.allpairs``, ``cbook.finddir``, + ``cbook.reverse_dict``, ``cbook.restrict_dict``, ``cbook.issubclass_safe``, + ``cbook.recursive_remove``, ``cbook.unmasked_index_ranges``, + ``cbook.Null``, ``cbook.RingBuffer``, ``cbook.Sorter``, ``cbook.Xlator``, +- ``font_manager.weight_as_number``, ``font_manager.ttfdict_to_fnames`` +- ``pyplot.colors``, ``pyplot.spectral`` +- ``rcsetup.validate_negative_linestyle``, + ``rcsetup.validate_negative_linestyle_legacy``, +- ``testing.compare.verifiers``, ``testing.compare.verify`` +- ``testing.decorators.knownfailureif``, + ``testing.decorators.ImageComparisonTest.remove_text`` +- ``tests.assert_str_equal``, ``tests.test_tinypages.file_same`` +- ``texmanager.dvipng_hack_alpha``, +- ``_AxesBase.axesPatch``, ``_AxesBase.set_color_cycle``, + ``_AxesBase.get_cursor_props``, ``_AxesBase.set_cursor_props`` +- ``_ImageBase.iterpnames`` +- ``FigureCanvasBase.start_event_loop_default``; +- ``FigureCanvasBase.stop_event_loop_default``; +- ``Figure.figurePatch``, +- ``FigureCanvasBase.dynamic_update``, ``FigureCanvasBase.idle_event``, + ``FigureCanvasBase.get_linestyle``, ``FigureCanvasBase.set_linestyle`` +- ``FigureCanvasQTAggBase`` +- ``FigureCanvasQTAgg.blitbox`` +- ``FigureCanvasTk.show`` (alternative: ``FigureCanvasTk.draw``) +- ``FigureManagerTkAgg`` (alternative: ``FigureManagerTk``) +- ``NavigationToolbar2TkAgg`` (alternative: ``NavigationToolbar2Tk``) +- ``backend_wxagg.Toolbar`` (alternative: ``backend_wxagg.NavigationToolbar2WxAgg``) +- ``RendererAgg.debug()`` +- passing non-numbers to ``EngFormatter.format_eng`` +- passing ``frac`` to ``PolarAxes.set_theta_grids`` +- any mention of idle events + +The following API elements have been removed: + +- ``backend_cairo.HAS_CAIRO_CFFI`` +- ``sphinxext.sphinx_version`` + + +Proprietary sphinx directives +````````````````````````````` + +The matplotlib documentation used the proprietary sphinx directives +`.. htmlonly::`, and `.. latexonly::`. These have been replaced with the +standard sphinx directives `.. only:: html` and `.. only:: latex`. This +change will not affect any users. Only downstream package maintainers, who +have used the proprietary directives in their docs, will have to switch to the +sphinx directives. + + +lib/mpl_examples symlink +```````````````````````` + +The symlink from lib/mpl_examples to ../examples has been removed. +This is not installed as an importable package and should not affect +end users, however this may require down-stream packagers to adjust. +The content is still available top-level examples directory. From 70b6c864b60d1250d9ba6cbcafe17d94bd09a07b Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Mon, 17 Sep 2018 22:04:42 -0400 Subject: [PATCH 1154/1161] DOC: add cividis to twilight description --- doc/users/whats_new.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/users/whats_new.rst b/doc/users/whats_new.rst index 8d7f2f1e72cd..b94db9de442c 100644 --- a/doc/users/whats_new.rst +++ b/doc/users/whats_new.rst @@ -35,12 +35,12 @@ will not select a GUI backend. Cyclic colormaps ---------------- -Two new colormaps named 'twilight' and 'twilight_shifted' have been added. -These colormaps start and end on the same color, and have two +Two new colormaps named 'twilight' and 'twilight_shifted' have been +added. These colormaps start and end on the same color, and have two symmetric halves with equal lightness, but diverging color. Since they wrap around, they are a good choice for cyclic data such as phase -angles, compass directions, or time of day. Like *viridis*, *twilight* is -perceptually uniform and colorblind friendly. +angles, compass directions, or time of day. Like *viridis* and +*cividis*, *twilight* is perceptually uniform and colorblind friendly. Ability to scale axis by a fixed order of magnitude From 9f174873988a8a44551e886a8b487fee15d21a5b Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Mon, 17 Sep 2018 22:31:25 -0400 Subject: [PATCH 1155/1161] DOC: remove merged up API changes stub --- doc/api/api_changes/2017-09-02-AL-rc-blacklist.rst | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 doc/api/api_changes/2017-09-02-AL-rc-blacklist.rst diff --git a/doc/api/api_changes/2017-09-02-AL-rc-blacklist.rst b/doc/api/api_changes/2017-09-02-AL-rc-blacklist.rst deleted file mode 100644 index bf93734bffc8..000000000000 --- a/doc/api/api_changes/2017-09-02-AL-rc-blacklist.rst +++ /dev/null @@ -1,7 +0,0 @@ -Blacklisted rcparams no longer updated by `rcdefaults`, `rc_file_defaults`, `rc_file` -------------------------------------------------------------------------------------- - -The rc modifier functions `rcdefaults`, `rc_file_defaults` and `rc_file` -now ignore rcParams in the `matplotlib.style.core.STYLE_BLACKLIST` set. In -particular, this prevents the ``backend`` and ``interactive`` rcParams from -being incorrectly modified by these functions. From 9c97043b951731c593fbb53ebedcf07fccc409e7 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Mon, 17 Sep 2018 22:51:15 -0400 Subject: [PATCH 1156/1161] DOC: update github stats --- doc/users/github_stats.rst | 108 +++++++++++++++++++++++++++++++++---- 1 file changed, 99 insertions(+), 9 deletions(-) diff --git a/doc/users/github_stats.rst b/doc/users/github_stats.rst index fefb7f621445..45488c6168b8 100644 --- a/doc/users/github_stats.rst +++ b/doc/users/github_stats.rst @@ -3,14 +3,14 @@ GitHub Stats ============ -GitHub stats for 2018/03/05 - 2018/08/11 (tag: v2.2.0) +GitHub stats for 2018/03/05 - 2018/09/17 (tag: v2.2.0) These lists are automatically generated, and may be incomplete or contain duplicates. -We closed 91 issues and merged 511 pull requests. -The full list can be seen `on GitHub <https://github.com/matplotlib/matplotlib/milestone/v3.0>`__ +We closed 110 issues and merged 580 pull requests. +The full list can be seen `on GitHub <https://github.com/matplotlib/matplotlib/milestone/23>`__ -The following 129 authors contributed 2673 commits. +The following 131 authors contributed 2794 commits. * 816-8055 * Adrien F. Vincent @@ -33,6 +33,7 @@ The following 129 authors contributed 2673 commits. * ch3rn0v * Charles Ruan * Chris Holdgraf +* Christoph Gohlke * cldssty * Cody Scot * dahlbaek @@ -63,6 +64,7 @@ The following 129 authors contributed 2673 commits. * HHest * Hubert Holin * Ida Hjorth +* Ildar Akhmetgaleev * ImportanceOfBeingErnest * Jae-Joon Lee * Jan Koehler @@ -144,8 +146,77 @@ The following 129 authors contributed 2673 commits. GitHub issues and pull requests: -Pull Requests (511): +Pull Requests (580): +* :ghpull:`12145`: Doc final 3.0 docs +* :ghpull:`12143`: Backport PR #12142 on branch v3.0.x (Unbreak formlayout for image edits.) +* :ghpull:`12142`: Unbreak formlayout for image edits. +* :ghpull:`12135`: Backport PR #12131 on branch v3.0.x (Fixes currently release version of cartopy) +* :ghpull:`12131`: Fixes currently release version of cartopy +* :ghpull:`12129`: Backports for 3.0 +* :ghpull:`12132`: Backport PR #12130 on branch v3.0.x (Mention colorbar.minorticks_on/off in references) +* :ghpull:`12130`: Mention colorbar.minorticks_on/off in references +* :ghpull:`12099`: FIX: make sure all ticks show up for colorbar minor tick +* :ghpull:`11962`: Propagate changes to backend loading to setup/setupext. +* :ghpull:`12128`: Unbreak the Sphinx 1.8 build by renaming :math: to :mathmpl:. +* :ghpull:`12126`: Backport PR #12117 on branch v3.0.x (Fix Agg extent calculations for empty draws) +* :ghpull:`12113`: Backport PR #12112 on branch v3.0.x (Reword the LockDraw docstring.) +* :ghpull:`12112`: Reword the LockDraw docstring. +* :ghpull:`12110`: Backport PR #12109 on branch v3.0.x (Pin to sphinx<1.8; unremove sphinxext.mathmpl.) +* :ghpull:`12109`: Pin to sphinx<1.8; unremove sphinxext.mathmpl. +* :ghpull:`12084`: DOC: link palettable +* :ghpull:`12096`: Backport PR #12092 on branch v3.0.x (Update backend_qt5agg to fix PySide2 mem issues) +* :ghpull:`12083`: Backport PR #12012 on branch v3.0.x (FIX: fallback text renderer to fig._cachedRenderer, if none found) +* :ghpull:`12081`: Backport PR #12037 on branch v3.0.x (Fix ArtistInspector.get_aliases.) +* :ghpull:`12080`: Backport PR #12053 on branch v3.0.x (Fix up some OSX backend issues) +* :ghpull:`12037`: Fix ArtistInspector.get_aliases. +* :ghpull:`12053`: Fix up some OSX backend issues +* :ghpull:`12064`: Backport PR #11971 on branch v3.0.x (FIX: use cached renderer on Legend.get_window_extent) +* :ghpull:`12063`: Backport PR #12036 on branch v3.0.x (Interactive tests update) +* :ghpull:`11928`: Update doc/conf.py to avoid warnings with (future) sphinx 1.8. +* :ghpull:`12048`: Backport PR #12047 on branch v3.0.x (Remove asserting about current backend at the end of mpl_test_settings.) +* :ghpull:`11971`: FIX: use cached renderer on Legend.get_window_extent +* :ghpull:`12036`: Interactive tests update +* :ghpull:`12029`: Backport PR #12022 on branch v3.0.x (Remove intent to deprecate rcParams["backend_fallback"].) +* :ghpull:`12047`: Remove asserting about current backend at the end of mpl_test_settings. +* :ghpull:`12020`: Backport PR #12019 on branch v3.0.x (typo: s/unmultipled/unmultiplied) +* :ghpull:`12022`: Remove intent to deprecate rcParams["backend_fallback"]. +* :ghpull:`12028`: Backport PR #12023 on branch v3.0.x (Fix deprecation check in wx Timer.) +* :ghpull:`12023`: Fix deprecation check in wx Timer. +* :ghpull:`12019`: typo: s/unmultipled/unmultiplied +* :ghpull:`12017`: Backport PR #12016 on branch v3.0.x (Fix AttributeError in GTK3Agg backend) +* :ghpull:`12016`: Fix AttributeError in GTK3Agg backend +* :ghpull:`11991`: Backport PR #11988 on branch v3.0.x +* :ghpull:`11978`: Backport PR #11973 on branch v3.0.x +* :ghpull:`11968`: Backport PR #11963 on branch v3.0.x +* :ghpull:`11967`: Backport PR #11961 on branch v3.0.x +* :ghpull:`11969`: Fix an invalid escape sequence. +* :ghpull:`11963`: Fix some lgtm convention alerts +* :ghpull:`11961`: Downgrade backend_version log to DEBUG level. +* :ghpull:`11953`: Backport PR #11896 on branch v3.0.x +* :ghpull:`11896`: Resolve backend in rcParams.__getitem__("backend"). +* :ghpull:`11950`: Backport PR #11934 on branch v3.0.x +* :ghpull:`11952`: Backport PR #11949 on branch v3.0.x +* :ghpull:`11949`: Remove test2.png from examples. +* :ghpull:`11934`: Suppress the "non-GUI backend" warning from the .. plot:: directive... +* :ghpull:`11918`: Backport PR #11917 on branch v3.0.x +* :ghpull:`11917`: BUG: make arg 'N' and kwarg 'levels' behave the same when scalar +* :ghpull:`11916`: Backport PR #11897 on branch v3.0.x +* :ghpull:`11915`: Backport PR #11591 on branch v3.0.x +* :ghpull:`11897`: HTMLWriter, put initialisation of frames in setup +* :ghpull:`11591`: BUG: correct the scaling in the floating-point slop test. +* :ghpull:`11910`: Backport PR #11907 on branch v3.0.x +* :ghpull:`11907`: Move TOC back to top in axes documentation +* :ghpull:`11904`: Backport PR #11900 on branch v3.0.x +* :ghpull:`11889`: Backport PR #11847 on branch v3.0.x +* :ghpull:`11890`: Backport PR #11850 on branch v3.0.x +* :ghpull:`11850`: FIX: macosx framework check +* :ghpull:`11883`: Backport PR #11862 on branch v3.0.x +* :ghpull:`11847`: Use ImageMagick's magick.exe if convert.exe is not installed +* :ghpull:`11882`: Backport PR #11876 on branch v3.0.x +* :ghpull:`11876`: MAINT Better error message for number of colors versus number of data… +* :ghpull:`11862`: Fix NumPy FutureWarning for non-tuple indexing. +* :ghpull:`11845`: Use Format_ARGB32_Premultiplied instead of RGBA8888 for Qt backends. * :ghpull:`11843`: Remove unnecessary use of nose. * :ghpull:`11600`: backend switching -- don't create a public fallback API * :ghpull:`11833`: adding show inheritance to autosummary template @@ -212,7 +283,7 @@ Pull Requests (511): * :ghpull:`11672`: Add comment re: use of lru_cache in PsfontsMap. * :ghpull:`11674`: Boring style fixes. * :ghpull:`10954`: Cache various dviread constructs globally. -* :ghpull:`9150`: Don't update style-blacklisted rcparams in rc_* functions +* :ghpull:`9150`: Don't update style-blacklisted rcparams in rc\_\* functions * :ghpull:`10936`: Simplify tkagg C extension. * :ghpull:`11378`: SVG Backend gouraud_triangle Correction * :ghpull:`11383`: FIX: Improve *c* (color) kwarg checking in scatter and the related exceptions @@ -511,7 +582,7 @@ Pull Requests (511): * :ghpull:`10485`: Remove the 'hold' kwarg from codebase * :ghpull:`10571`: Use np.full{,_like} where appropriate. [requires numpy>=1.12] * :ghpull:`10913`: Rely a bit more on rc_context. -* :ghpull:`10299`: Invalidate texmanager cache when any text.latex.* rc changes. +* :ghpull:`10299`: Invalidate texmanager cache when any text.latex.\* rc changes. * :ghpull:`10906`: Deprecate ImageComparisonTest. * :ghpull:`10904`: Improve docstring of clabel() * :ghpull:`10912`: remove unused matplotlib.testing import @@ -569,7 +640,7 @@ Pull Requests (511): * :ghpull:`10705`: FIX: enable extend kwargs with log scale colorbar * :ghpull:`10400`: numpydoc-ify art3d docstrings * :ghpull:`10723`: repr style fixes. -* :ghpull:`10592`: Rely on generalized * and ** unpackings where possible. +* :ghpull:`10592`: Rely on generalized \* and \*\* unpackings where possible. * :ghpull:`9475`: Declare property aliases in a single place * :ghpull:`10794`: fixed comment typo * :ghpull:`10768`: Fix crash when imshow encounters longdouble data @@ -658,8 +729,27 @@ Pull Requests (511): * :ghpull:`10316`: TST FIX pyqt5 5.9 * :ghpull:`4625`: hist2d() is now using pcolormesh instead of pcolorfast -Issues (91): +Issues (110): +* :ghissue:`11966`: CartoPy code gives attribute error +* :ghissue:`11844`: Backend related issues with matplotlib 3.0.0rc1 +* :ghissue:`12095`: colorbar minorticks (possibly release critical for 3.0) +* :ghissue:`12108`: Broken doc build with sphinx 1.8 +* :ghissue:`7366`: handle repaint requests better it qtAgg +* :ghissue:`11985`: Single shot timer not working correctly with MacOSX backend +* :ghissue:`10948`: OSX backend raises deprecation warning for enter_notify_event +* :ghissue:`11970`: Legend.get_window_extent now requires a renderer +* :ghissue:`8293`: investigate whether using a single instance of ghostscript for ps->png conversion can speed up the Windows build +* :ghissue:`7707`: Replace pep8 by pycodestyle for style checking +* :ghissue:`9135`: rcdefaults, rc_file_defaults, rc_file should not update backend if it has already been selected +* :ghissue:`12015`: AttributeError with GTK3Agg backend +* :ghissue:`11913`: plt.contour levels parameter don't work as intended if receive a single int +* :ghissue:`11846`: macosx backend won't load +* :ghissue:`11792`: Newer versions of ImageMagickWriter not found on windows +* :ghissue:`11858`: Adding "pie of pie" and "bar of pie" functionality +* :ghissue:`11852`: get_backend() backward compatibility +* :ghissue:`11629`: Importing qt_compat when no Qt binding is installed fails with NameError instead of ImportError +* :ghissue:`11842`: Failed nose import in test_annotation_update * :ghissue:`11252`: Some API removals not documented * :ghissue:`9404`: Drop support for python 2 * :ghissue:`2625`: Markers in XKCD style From 0e5f9efdac9e47adccef0e1a817a3361d08b4a94 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Mon, 17 Sep 2018 22:52:24 -0400 Subject: [PATCH 1157/1161] DOC: fix markup in whats_new --- doc/users/whats_new.rst | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/doc/users/whats_new.rst b/doc/users/whats_new.rst index b94db9de442c..96be9d11c0ae 100644 --- a/doc/users/whats_new.rst +++ b/doc/users/whats_new.rst @@ -227,11 +227,10 @@ Figure has an `~.figure.Figure.add_artist` method A method `~.figure.Figure.add_artist` has been added to the :class:`~.figure.Figure` class, which allows artists to be added directly -to a figure. E.g. +to a figure. E.g. :: -:: - circ = plt.Circle((.7, .5), .05) - fig.add_artist(circ) + circ = plt.Circle((.7, .5), .05) + fig.add_artist(circ) In case the added artist has no transform set previously, it will be set to the figure transform (``fig.transFigure``). @@ -242,7 +241,7 @@ easily position static elements in figure coordinates. Return type of ArtistInspector.get_aliases changed -`````````````````````````````````````````````````` +-------------------------------------------------- `ArtistInspector.get_aliases` previously returned the set of aliases as ``{fullname: {alias1: None, alias2: None, ...}}``. The dict-to-None mapping @@ -254,7 +253,7 @@ changed. ``:math:`` directive renamed to ``:mathmpl:`` -````````````````````````````````````````````` +--------------------------------------------- The ``:math:`` rst role provided by `matplotlib.sphinxext.mathmpl` has been renamed to ``:mathmpl:`` to avoid conflicting with the ``:math:`` role that From af102661c3c7f0462a6fec4d4d736bc58d93a483 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Mon, 17 Sep 2018 22:56:37 -0400 Subject: [PATCH 1158/1161] DOC: latex does not support nested tables --- lib/matplotlib/markers.py | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/lib/matplotlib/markers.py b/lib/matplotlib/markers.py index a2088c81de9c..747cfc766b45 100644 --- a/lib/matplotlib/markers.py +++ b/lib/matplotlib/markers.py @@ -65,17 +65,12 @@ ``style``: the style of the regular symbol: - +---+-----------------------------+ - | 0 | a regular polygon | - +---+-----------------------------+ - | 1 | a star-like symbol | - +---+-----------------------------+ - | 2 | an asterisk | - +---+-----------------------------+ - | 3 | a circle (``numsides`` and | - | | ``angle`` is ignored); | - | | deprecated. | - +---+-----------------------------+ + - 0: a regular polygon + - 1: a star-like symbol + - 2: an asterisk + - 3: a circle (``numsides`` and + ``angle`` is ignored); + deprecated. ``angle``: the angle of rotation of the symbol From 05491f45c148a75565f4224571c6ca70f233d96d Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Mon, 17 Sep 2018 23:16:03 -0400 Subject: [PATCH 1159/1161] DOC: correctly comment out the api_changes globber --- doc/api/api_changes.rst | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/doc/api/api_changes.rst b/doc/api/api_changes.rst index f7f8b2986c64..9148b4407930 100644 --- a/doc/api/api_changes.rst +++ b/doc/api/api_changes.rst @@ -17,16 +17,17 @@ This pages lists API changes for the most recent version of Matplotlib. api_changes_old -.. note:: +.. - The list below is a table of contents of individual files from the 'next_api_changes' folder. - When a release is made + .. note:: - - The full text list below should be moved into its own file in 'prev_api_changes' - - All the files in 'next_api_changes' should be moved to the bottom of this page - - This note, and the toctree below should be commented out + The list below is a table of contents of individual files from the 'next_api_changes' folder. + When a release is made + + - The full text list below should be moved into its own file in 'prev_api_changes' + - All the files in 'next_api_changes' should be moved to the bottom of this page + - This note, and the toctree below should be commented out -.. .. toctree:: :glob: From b60a1063aad5aaeea22b10ddbdbda6727191d0e3 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Mon, 17 Sep 2018 23:16:22 -0400 Subject: [PATCH 1160/1161] DOC: move an entry from whats_new -> api_changes --- doc/api/api_changes.rst | 12 ++++++++++++ doc/users/whats_new.rst | 13 ------------- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/doc/api/api_changes.rst b/doc/api/api_changes.rst index 9148b4407930..7473c1e79d66 100644 --- a/doc/api/api_changes.rst +++ b/doc/api/api_changes.rst @@ -350,6 +350,18 @@ Moreover, the underlying implementation now uses ``\usepackage[utf8]{inputenc}`` instead of ``\usepackage{ucs}\usepackage[utf8x]{inputenc}``. +Return type of ArtistInspector.get_aliases changed +-------------------------------------------------- + +`ArtistInspector.get_aliases` previously returned the set of aliases as +``{fullname: {alias1: None, alias2: None, ...}}``. The dict-to-None mapping +was used to simulate a set in earlier versions of Python. It has now been +replaced by a set, i.e. ``{fullname: {alias1, alias2, ...}}``. + +This value is also stored in `ArtistInspector.aliasd`, which has likewise +changed. + + Removed ``pytz`` as a dependency -------------------------------- diff --git a/doc/users/whats_new.rst b/doc/users/whats_new.rst index 96be9d11c0ae..2106f1cb3028 100644 --- a/doc/users/whats_new.rst +++ b/doc/users/whats_new.rst @@ -239,19 +239,6 @@ easily position static elements in figure coordinates. - -Return type of ArtistInspector.get_aliases changed --------------------------------------------------- - -`ArtistInspector.get_aliases` previously returned the set of aliases as -``{fullname: {alias1: None, alias2: None, ...}}``. The dict-to-None mapping -was used to simulate a set in earlier versions of Python. It has now been -replaced by a set, i.e. ``{fullname: {alias1, alias2, ...}}``. - -This value is also stored in `ArtistInspector.aliasd`, which has likewise -changed. - - ``:math:`` directive renamed to ``:mathmpl:`` --------------------------------------------- From 0881b9c94f50cf2e81280d61e28bdf252c0f463d Mon Sep 17 00:00:00 2001 From: Thomas A Caswell <tcaswell@gmail.com> Date: Mon, 17 Sep 2018 23:17:52 -0400 Subject: [PATCH 1161/1161] REL: v3.0.0 The first release of the Matplotlib 3.0 series This is the first version of Matplotlib to only support Python 3. Highlights of this release include: - GUI backend is selected at run-time based on what toolkits are installed. A GUI toolkit will not be selected on a headless server. - New cyclic color map *twilight* - Improvements to automatic layout of titles, ticks, and GridSpec - Many bug fixes!

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 N{;auik)dnk{{ez7^6mft diff --git a/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_colormap.pdf b/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_colormap.pdf index c45f9f78a8f0def534b1bb4303e7ce206035312d..33e660759683321cc19f4dca6b539133f309611e 100644 GIT binary patch delta 15255 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 literal 21387 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 diff --git a/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_colormap.png b/lib/matplotlib/tests/baseline_images/test_streamplot/streamplot_colormap.png index 00d0b177c7ae9e8096797c9c2e429e16f6b610da..ef19f1a7b6bc6dafd9ea7554ed3f89048c9de9e2 100644 GIT binary patch literal 87187 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 DeTqn$ literal 94413 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